(o$o o{"files":{"app.css":{"size":555234,"offset":"0","integrity":{"algorithm":"SHA256","hash":"5bd4432934bc90c08e34719031fc76334f14405ccae9f46e08e9b6c910e180d1","blockSize":4194304,"blocks":["5bd4432934bc90c08e34719031fc76334f14405ccae9f46e08e9b6c910e180d1"]}},"app.js":{"size":3500495,"offset":"555234","integrity":{"algorithm":"SHA256","hash":"dc8b55c0e6b6d2bdce68c156f2a9d7c6c97d2eb296019ca718abacb94ef64efc","blockSize":4194304,"blocks":["dc8b55c0e6b6d2bdce68c156f2a9d7c6c97d2eb296019ca718abacb94ef64efc"]}},"enhance.js":{"size":13346,"offset":"4055729","integrity":{"algorithm":"SHA256","hash":"411eea247ac08b5b5fc62b85cc2744079ee398a2d318c5cead08be981049b732","blockSize":4194304,"blocks":["411eea247ac08b5b5fc62b85cc2744079ee398a2d318c5cead08be981049b732"]}},"help.html":{"size":565,"offset":"4069075","integrity":{"algorithm":"SHA256","hash":"f6d22540c9bf1c1f7b1bfe6c839c76c625c4fc6f9aca8547d802249993a4d4e7","blockSize":4194304,"blocks":["f6d22540c9bf1c1f7b1bfe6c839c76c625c4fc6f9aca8547d802249993a4d4e7"]}},"help.js":{"size":310714,"offset":"4069640","integrity":{"algorithm":"SHA256","hash":"07d99e9cb98efa020eb2e8586950d1e565540f721d333b9228055ef5aeef5467","blockSize":4194304,"blocks":["07d99e9cb98efa020eb2e8586950d1e565540f721d333b9228055ef5aeef5467"]}},"i18n":{"files":{"am.json":{"size":176973,"offset":"4506254","integrity":{"algorithm":"SHA256","hash":"65171b82b0b12456e197368754b428b51fe94916aff789d89b34dd07aee3ddaf","blockSize":4194304,"blocks":["65171b82b0b12456e197368754b428b51fe94916aff789d89b34dd07aee3ddaf"]}},"ar.json":{"size":181241,"offset":"4683227","integrity":{"algorithm":"SHA256","hash":"301b0a6b56811288b9cc3512752837afae21ee9984ddea41f0f0fd6b4f79090a","blockSize":4194304,"blocks":["301b0a6b56811288b9cc3512752837afae21ee9984ddea41f0f0fd6b4f79090a"]}},"be.json":{"size":195915,"offset":"4864468","integrity":{"algorithm":"SHA256","hash":"9a30c93a1b0b3485e96ebd98ca414fb3e40dce503fc59c1706b0feecc0c54303","blockSize":4194304,"blocks":["9a30c93a1b0b3485e96ebd98ca414fb3e40dce503fc59c1706b0feecc0c54303"]}},"ca.json":{"size":154541,"offset":"5060383","integrity":{"algorithm":"SHA256","hash":"6577d695b7ddd5918f7df20544ff0c32a928c680e92b894a4b1b13107be97deb","blockSize":4194304,"blocks":["6577d695b7ddd5918f7df20544ff0c32a928c680e92b894a4b1b13107be97deb"]}},"cs.json":{"size":148713,"offset":"5214924","integrity":{"algorithm":"SHA256","hash":"aaed3c532c2bd9c3758fa11e5c192a0cf7b022b88f3264c7876145d02925ba95","blockSize":4194304,"blocks":["aaed3c532c2bd9c3758fa11e5c192a0cf7b022b88f3264c7876145d02925ba95"]}},"da.json":{"size":146342,"offset":"5363637","integrity":{"algorithm":"SHA256","hash":"41b7e8579c857bc763c9d21d904b9207c7f49091f5ec9854d68747a939a4958c","blockSize":4194304,"blocks":["41b7e8579c857bc763c9d21d904b9207c7f49091f5ec9854d68747a939a4958c"]}},"de.json":{"size":157466,"offset":"5509979","integrity":{"algorithm":"SHA256","hash":"a517519af01181fe7d980e3973dfa00493780e61315ce6ebd7879c38a38573c3","blockSize":4194304,"blocks":["a517519af01181fe7d980e3973dfa00493780e61315ce6ebd7879c38a38573c3"]}},"en-GB.json":{"size":140073,"offset":"5667445","integrity":{"algorithm":"SHA256","hash":"4d76c592f8723d4ca12ceec984606d111a03c827ff262999e859abf8a332d1b0","blockSize":4194304,"blocks":["4d76c592f8723d4ca12ceec984606d111a03c827ff262999e859abf8a332d1b0"]}},"en.json":{"size":140089,"offset":"5807518","integrity":{"algorithm":"SHA256","hash":"23404e7247f387c6596884b9884e8e0ba89837f131f8b2af20cb0dacf2cf0988","blockSize":4194304,"blocks":["23404e7247f387c6596884b9884e8e0ba89837f131f8b2af20cb0dacf2cf0988"]}},"es.json":{"size":156705,"offset":"5947607","integrity":{"algorithm":"SHA256","hash":"f56905458c3745c17e0e0c77f3f20d1d8edd0b8021a3a23ef035265f271634eb","blockSize":4194304,"blocks":["f56905458c3745c17e0e0c77f3f20d1d8edd0b8021a3a23ef035265f271634eb"]}},"fa.json":{"size":195741,"offset":"6104312","integrity":{"algorithm":"SHA256","hash":"2516b121ab2c695b61900375992b837b466f1de8d66e4eb2befa7e44be4610f4","blockSize":4194304,"blocks":["2516b121ab2c695b61900375992b837b466f1de8d66e4eb2befa7e44be4610f4"]}},"fr.json":{"size":160024,"offset":"6300053","integrity":{"algorithm":"SHA256","hash":"8a799956067108231a114db9c8a00be57d367353a86fdca732647d77a8cdd614","blockSize":4194304,"blocks":["8a799956067108231a114db9c8a00be57d367353a86fdca732647d77a8cdd614"]}},"ga.json":{"size":164847,"offset":"6460077","integrity":{"algorithm":"SHA256","hash":"bff7caffb5e12bb11eecabee07cc0ac3db832a9189664b9c045c3dd6ad8ea515","blockSize":4194304,"blocks":["bff7caffb5e12bb11eecabee07cc0ac3db832a9189664b9c045c3dd6ad8ea515"]}},"he.json":{"size":165446,"offset":"6624924","integrity":{"algorithm":"SHA256","hash":"967f0d65c848b181e1bdb229f9fa262b01a6638fa76bec2cc2c9de9e23602095","blockSize":4194304,"blocks":["967f0d65c848b181e1bdb229f9fa262b01a6638fa76bec2cc2c9de9e23602095"]}},"hu.json":{"size":162279,"offset":"6790370","integrity":{"algorithm":"SHA256","hash":"4a5cf4f840017ca2430eec33556199d35b717971ed98a9c6b858468153dcc457","blockSize":4194304,"blocks":["4a5cf4f840017ca2430eec33556199d35b717971ed98a9c6b858468153dcc457"]}},"id.json":{"size":145825,"offset":"6952649","integrity":{"algorithm":"SHA256","hash":"af0dc6ff7bcc69f11b2652448397ccfbd15b3465765d769bec7dd962e0204926","blockSize":4194304,"blocks":["af0dc6ff7bcc69f11b2652448397ccfbd15b3465765d769bec7dd962e0204926"]}},"it.json":{"size":152013,"offset":"7098474","integrity":{"algorithm":"SHA256","hash":"4bf8ab3342fa3a6e835d866ca998edc2cf8b665c2d8a196b8110d9d2889017f0","blockSize":4194304,"blocks":["4bf8ab3342fa3a6e835d866ca998edc2cf8b665c2d8a196b8110d9d2889017f0"]}},"ja.json":{"size":171823,"offset":"7250487","integrity":{"algorithm":"SHA256","hash":"f3d362df10902dcb93d7a71f70e055959e0497a954fca2e5c1f76e30dd04c8aa","blockSize":4194304,"blocks":["f3d362df10902dcb93d7a71f70e055959e0497a954fca2e5c1f76e30dd04c8aa"]}},"kh.json":{"size":230370,"offset":"7422310","integrity":{"algorithm":"SHA256","hash":"a49b96db8e43005b88ccfa643276af6893787a9c78dcaf8b7b211978692b609e","blockSize":4194304,"blocks":["a49b96db8e43005b88ccfa643276af6893787a9c78dcaf8b7b211978692b609e"]}},"ko.json":{"size":163044,"offset":"7652680","integrity":{"algorithm":"SHA256","hash":"ad9403d8aaac538f7d454d25640e6d94a491db348abc207f2070040f6013cf35","blockSize":4194304,"blocks":["ad9403d8aaac538f7d454d25640e6d94a491db348abc207f2070040f6013cf35"]}},"lv.json":{"size":152972,"offset":"7815724","integrity":{"algorithm":"SHA256","hash":"1429caed1b1a857b261f1f0769639ade5a29ccf38c8aaae1b7447eb3d3c82dd9","blockSize":4194304,"blocks":["1429caed1b1a857b261f1f0769639ade5a29ccf38c8aaae1b7447eb3d3c82dd9"]}},"ms.json":{"size":144231,"offset":"7968696","integrity":{"algorithm":"SHA256","hash":"a729e5da57d7b67116e597712fc18a0c9dfd803413fa0c999a9692853b2c3063","blockSize":4194304,"blocks":["a729e5da57d7b67116e597712fc18a0c9dfd803413fa0c999a9692853b2c3063"]}},"ne.json":{"size":243435,"offset":"8112927","integrity":{"algorithm":"SHA256","hash":"b191b0f78839337a3341b38160311fb6f02183e3e3f6001490c72136dd547b17","blockSize":4194304,"blocks":["b191b0f78839337a3341b38160311fb6f02183e3e3f6001490c72136dd547b17"]}},"nl.json":{"size":149802,"offset":"8356362","integrity":{"algorithm":"SHA256","hash":"fd5a7b6d1633744ebfaff53a223e655ffb43878d3b6786d7abc66b5dec8a94b3","blockSize":4194304,"blocks":["fd5a7b6d1633744ebfaff53a223e655ffb43878d3b6786d7abc66b5dec8a94b3"]}},"no.json":{"size":140868,"offset":"8506164","integrity":{"algorithm":"SHA256","hash":"ccf113abec1b4f9d7baf915bb7c7d213f13d700a63503f81c80d03db076878e8","blockSize":4194304,"blocks":["ccf113abec1b4f9d7baf915bb7c7d213f13d700a63503f81c80d03db076878e8"]}},"pl.json":{"size":153916,"offset":"8647032","integrity":{"algorithm":"SHA256","hash":"18e0cb272de6e7c3e63a6a583d8cf79499c3d3abbf67746a199a332270a15d86","blockSize":4194304,"blocks":["18e0cb272de6e7c3e63a6a583d8cf79499c3d3abbf67746a199a332270a15d86"]}},"pt-BR.json":{"size":152220,"offset":"8800948","integrity":{"algorithm":"SHA256","hash":"bcbd6909b87ef5abb500161f24ea2a5736e154a5f68886e4d1cb3af4f23f8aa3","blockSize":4194304,"blocks":["bcbd6909b87ef5abb500161f24ea2a5736e154a5f68886e4d1cb3af4f23f8aa3"]}},"pt.json":{"size":148388,"offset":"8953168","integrity":{"algorithm":"SHA256","hash":"cc1fc65774cea2b04a678bb39005c0f3289ae713311ffb2e5f95e478c153ff8c","blockSize":4194304,"blocks":["cc1fc65774cea2b04a678bb39005c0f3289ae713311ffb2e5f95e478c153ff8c"]}},"ro.json":{"size":151133,"offset":"9101556","integrity":{"algorithm":"SHA256","hash":"7b95844474b7e44385557f8446acd8deea1594bdf80b8e4b91faa40a5409e5cd","blockSize":4194304,"blocks":["7b95844474b7e44385557f8446acd8deea1594bdf80b8e4b91faa40a5409e5cd"]}},"ru.json":{"size":210565,"offset":"9252689","integrity":{"algorithm":"SHA256","hash":"de74005dedf102c10df6174aa6174d2a7ad779863ada84559868c158c98092db","blockSize":4194304,"blocks":["de74005dedf102c10df6174aa6174d2a7ad779863ada84559868c158c98092db"]}},"sk.json":{"size":146042,"offset":"9463254","integrity":{"algorithm":"SHA256","hash":"12044c1210f193e42b15e9bf78616a9b7b7029c4a72eec3e852fdd73813dba05","blockSize":4194304,"blocks":["12044c1210f193e42b15e9bf78616a9b7b7029c4a72eec3e852fdd73813dba05"]}},"sq.json":{"size":150242,"offset":"9609296","integrity":{"algorithm":"SHA256","hash":"19fd0d5482b5956193125b5466d73716043bc4f0173197745ef7671b38a40306","blockSize":4194304,"blocks":["19fd0d5482b5956193125b5466d73716043bc4f0173197745ef7671b38a40306"]}},"th.json":{"size":192656,"offset":"9759538","integrity":{"algorithm":"SHA256","hash":"3dbc0f4df9596368ec8304e49459b67a1377c382d7f35cff10e38119b2472391","blockSize":4194304,"blocks":["3dbc0f4df9596368ec8304e49459b67a1377c382d7f35cff10e38119b2472391"]}},"tr.json":{"size":152012,"offset":"9952194","integrity":{"algorithm":"SHA256","hash":"22c425f1b1c2687fe6d6021aec0822e06e7f6b888e4a37ddda4f58e8af1cc9ed","blockSize":4194304,"blocks":["22c425f1b1c2687fe6d6021aec0822e06e7f6b888e4a37ddda4f58e8af1cc9ed"]}},"uk.json":{"size":197917,"offset":"10104206","integrity":{"algorithm":"SHA256","hash":"07d88f52b6c2539a57425afe355059b69f1076b81ab2f00c12d1e859dee30345","blockSize":4194304,"blocks":["07d88f52b6c2539a57425afe355059b69f1076b81ab2f00c12d1e859dee30345"]}},"uz.json":{"size":152908,"offset":"10302123","integrity":{"algorithm":"SHA256","hash":"ee654426898f823e6963a85cf85a422554388d88f8d97f63666c2892c503c03e","blockSize":4194304,"blocks":["ee654426898f823e6963a85cf85a422554388d88f8d97f63666c2892c503c03e"]}},"vi.json":{"size":165159,"offset":"10455031","integrity":{"algorithm":"SHA256","hash":"531ec6b2e14059911a929b148f4110f9cca2c1bcc6acda55c93591d57e137c1a","blockSize":4194304,"blocks":["531ec6b2e14059911a929b148f4110f9cca2c1bcc6acda55c93591d57e137c1a"]}},"zh-TW.json":{"size":139466,"offset":"10620190","integrity":{"algorithm":"SHA256","hash":"e1274c3c54b713dbda63054afce45a33d4903971c3e9046869de62bd012e3d8a","blockSize":4194304,"blocks":["e1274c3c54b713dbda63054afce45a33d4903971c3e9046869de62bd012e3d8a"]}},"zh.json":{"size":140786,"offset":"10759656","integrity":{"algorithm":"SHA256","hash":"7a5721d918cd2c4162c674d4d53dc3e7fba36053c0303f53bfc207751ffdc11c","blockSize":4194304,"blocks":["7a5721d918cd2c4162c674d4d53dc3e7fba36053c0303f53bfc207751ffdc11c"]}}}},"i18n.js":{"size":125900,"offset":"4380354","integrity":{"algorithm":"SHA256","hash":"c6ca788cc89692a41439e74f2647d8fe0b0f3da5bdaaffb8087bce241d779c11","blockSize":4194304,"blocks":["c6ca788cc89692a41439e74f2647d8fe0b0f3da5bdaaffb8087bce241d779c11"]}},"icon-dev.png":{"size":114148,"offset":"10900442","integrity":{"algorithm":"SHA256","hash":"2b1c4250ab4f57785ef6bf7e0fdfd469ce3622e6081e54c05c59fe340cc06ad9","blockSize":4194304,"blocks":["2b1c4250ab4f57785ef6bf7e0fdfd469ce3622e6081e54c05c59fe340cc06ad9"]}},"icon.png":{"size":29937,"offset":"11014590","integrity":{"algorithm":"SHA256","hash":"eb979906d8258fc9ea69548a8f743f2480e99790354e0de39aa18720675b39d8","blockSize":4194304,"blocks":["eb979906d8258fc9ea69548a8f743f2480e99790354e0de39aa18720675b39d8"]}},"index.html":{"size":1445,"offset":"11044527","integrity":{"algorithm":"SHA256","hash":"48b72d620f92677a3dbbc3e91786fc939bbe54d572162eedd3ee938a4f40024f","blockSize":4194304,"blocks":["48b72d620f92677a3dbbc3e91786fc939bbe54d572162eedd3ee938a4f40024f"]}},"index.js":{"size":756,"offset":"11045972","integrity":{"algorithm":"SHA256","hash":"7db9b09a17d7ee85667ceb0e268246b677ba6b7c7b1f297693951c85e2eb03b0","blockSize":4194304,"blocks":["7db9b09a17d7ee85667ceb0e268246b677ba6b7c7b1f297693951c85e2eb03b0"]}},"lib":{"files":{"codemirror":{"files":{"cm-addons.js":{"size":58679,"offset":"11046728","integrity":{"algorithm":"SHA256","hash":"fa370184a49e72482751cbdd253ad7821ec11ce1e92da39f0a232568504334b1","blockSize":4194304,"blocks":["fa370184a49e72482751cbdd253ad7821ec11ce1e92da39f0a232568504334b1"]}},"codemirror.js":{"size":400161,"offset":"11105407","integrity":{"algorithm":"SHA256","hash":"2150c2e30dcc28427b0cacb31c8073e2f8cdbeb1b03d61214a7200809bf21a43","blockSize":4194304,"blocks":["2150c2e30dcc28427b0cacb31c8073e2f8cdbeb1b03d61214a7200809bf21a43"]}},"markdown.js":{"size":42940,"offset":"11505568","integrity":{"algorithm":"SHA256","hash":"3d30911bc6ebaa5989dca64c05853ffb8be55cc72853991ed24c3b2fa39e27dc","blockSize":4194304,"blocks":["3d30911bc6ebaa5989dca64c05853ffb8be55cc72853991ed24c3b2fa39e27dc"]}},"meta.min.js":{"size":12792,"offset":"11548508","integrity":{"algorithm":"SHA256","hash":"97f787318cca86f26348148ed84ed2510b190a868b86363adb24cdd78a33fcfb","blockSize":4194304,"blocks":["97f787318cca86f26348148ed84ed2510b190a868b86363adb24cdd78a33fcfb"]}},"modes.min.js":{"size":562656,"offset":"11561300","integrity":{"algorithm":"SHA256","hash":"016713740d2428f9686a173cb4614c3a611ace8a9a25db8dab4ed30e9c77a745","blockSize":4194304,"blocks":["016713740d2428f9686a173cb4614c3a611ace8a9a25db8dab4ed30e9c77a745"]}},"overlay.js":{"size":3099,"offset":"12123956","integrity":{"algorithm":"SHA256","hash":"4f158e3ba838c18621c62a8f42524db718f75974c6ad042bf9e9b828e35e0155","blockSize":4194304,"blocks":["4f158e3ba838c18621c62a8f42524db718f75974c6ad042bf9e9b828e35e0155"]}},"vim.js":{"size":248977,"offset":"12127055","integrity":{"algorithm":"SHA256","hash":"2e1c8efa02fd4e4794e91567955e9c8821a311e18bb7798923d9b8ecece73636","blockSize":4194304,"blocks":["2e1c8efa02fd4e4794e91567955e9c8821a311e18bb7798923d9b8ecece73636"]}}}},"i18next.min.js":{"size":41340,"offset":"12376032","integrity":{"algorithm":"SHA256","hash":"7980f21b960a94e89dd35cbc429be1f25eaf4a76220d96252d83b0c70301de4f","blockSize":4194304,"blocks":["7980f21b960a94e89dd35cbc429be1f25eaf4a76220d96252d83b0c70301de4f"]}},"mathjax":{"files":{"output":{"files":{"chtml":{"files":{"fonts":{"files":{"tex.js":{"size":104800,"offset":"12417372","integrity":{"algorithm":"SHA256","hash":"181b8491a1d494654399b9987cf1521f7567e8fdae6161b2d382a81251cc546c","blockSize":4194304,"blocks":["181b8491a1d494654399b9987cf1521f7567e8fdae6161b2d382a81251cc546c"]}},"woff-v2":{"files":{"MathJax_AMS-Regular.woff":{"size":40808,"offset":"12522172","integrity":{"algorithm":"SHA256","hash":"3de784d07b9fa8f104c10928a878ee879cf3305cae5195cba663c9c2bb0195eb","blockSize":4194304,"blocks":["3de784d07b9fa8f104c10928a878ee879cf3305cae5195cba663c9c2bb0195eb"]}},"MathJax_Calligraphic-Bold.woff":{"size":9908,"offset":"12562980","integrity":{"algorithm":"SHA256","hash":"af04542b29eaac04550a140c5f1760a649783989426f2540855bf4157819367d","blockSize":4194304,"blocks":["af04542b29eaac04550a140c5f1760a649783989426f2540855bf4157819367d"]}},"MathJax_Calligraphic-Regular.woff":{"size":9600,"offset":"12572888","integrity":{"algorithm":"SHA256","hash":"26683bf201fb258a2237d9754616de9d4ecf4cc1cd39dd1902476df7d75f1d16","blockSize":4194304,"blocks":["26683bf201fb258a2237d9754616de9d4ecf4cc1cd39dd1902476df7d75f1d16"]}},"MathJax_Fraktur-Bold.woff":{"size":22340,"offset":"12582488","integrity":{"algorithm":"SHA256","hash":"721921bab0d001ebff0206c24cb5de6ca136467bf1843a7aa32030ba061d1e92","blockSize":4194304,"blocks":["721921bab0d001ebff0206c24cb5de6ca136467bf1843a7aa32030ba061d1e92"]}},"MathJax_Fraktur-Regular.woff":{"size":21480,"offset":"12604828","integrity":{"algorithm":"SHA256","hash":"870673df72e70f87c91a5a317d558c2c3b54392264ad79bbadc6d424ae8765fe","blockSize":4194304,"blocks":["870673df72e70f87c91a5a317d558c2c3b54392264ad79bbadc6d424ae8765fe"]}},"MathJax_Main-Bold.woff":{"size":34464,"offset":"12626308","integrity":{"algorithm":"SHA256","hash":"88b98cad3688915e50da55553ff6ad185e0dce134b47f176e91b100f8a9b175c","blockSize":4194304,"blocks":["88b98cad3688915e50da55553ff6ad185e0dce134b47f176e91b100f8a9b175c"]}},"MathJax_Main-Italic.woff":{"size":20832,"offset":"12660772","integrity":{"algorithm":"SHA256","hash":"355254db9ca10a09a3b5f0929d74eb4670f44fbe864c07526a06213e0a0caf6c","blockSize":4194304,"blocks":["355254db9ca10a09a3b5f0929d74eb4670f44fbe864c07526a06213e0a0caf6c"]}},"MathJax_Main-Regular.woff":{"size":34160,"offset":"12681604","integrity":{"algorithm":"SHA256","hash":"1cb1c39ea642f26a4dfed230b4aea1c3c218689421f6e9c0a7c1811693c4fa07","blockSize":4194304,"blocks":["1cb1c39ea642f26a4dfed230b4aea1c3c218689421f6e9c0a7c1811693c4fa07"]}},"MathJax_Math-BoldItalic.woff":{"size":19776,"offset":"12715764","integrity":{"algorithm":"SHA256","hash":"8ea8dbb1b02e6f730f55b4cb5d413b785b9f5c39807d0a0fa7da206a0824a457","blockSize":4194304,"blocks":["8ea8dbb1b02e6f730f55b4cb5d413b785b9f5c39807d0a0fa7da206a0824a457"]}},"MathJax_Math-Italic.woff":{"size":19360,"offset":"12735540","integrity":{"algorithm":"SHA256","hash":"a009bea404f7a500ded48f8b9ad9cf16e12504b3195dd9e25975289b8256b0f0","blockSize":4194304,"blocks":["a009bea404f7a500ded48f8b9ad9cf16e12504b3195dd9e25975289b8256b0f0"]}},"MathJax_Math-Regular.woff":{"size":19288,"offset":"12754900","integrity":{"algorithm":"SHA256","hash":"c01d3321e89b403c4b811aa153c4e618eda3421f92d8a072a02c8d190782a191","blockSize":4194304,"blocks":["c01d3321e89b403c4b811aa153c4e618eda3421f92d8a072a02c8d190782a191"]}},"MathJax_SansSerif-Bold.woff":{"size":15944,"offset":"12774188","integrity":{"algorithm":"SHA256","hash":"32792104b5ef69eded905b6d1598ed05d8087684d38e7a94d52e3c38ba16f47e","blockSize":4194304,"blocks":["32792104b5ef69eded905b6d1598ed05d8087684d38e7a94d52e3c38ba16f47e"]}},"MathJax_SansSerif-Italic.woff":{"size":14628,"offset":"12790132","integrity":{"algorithm":"SHA256","hash":"fc6ddf5df402b263cfb158aed8e89972542c34b719cd87b1db30461985f7bd5b","blockSize":4194304,"blocks":["fc6ddf5df402b263cfb158aed8e89972542c34b719cd87b1db30461985f7bd5b"]}},"MathJax_SansSerif-Regular.woff":{"size":12660,"offset":"12804760","integrity":{"algorithm":"SHA256","hash":"b418136e3b384baaadecb70bd3c48a8da9825210130b2897db808c44efc883cb","blockSize":4194304,"blocks":["b418136e3b384baaadecb70bd3c48a8da9825210130b2897db808c44efc883cb"]}},"MathJax_Script-Regular.woff":{"size":11852,"offset":"12817420","integrity":{"algorithm":"SHA256","hash":"af96f67d7accf5fd2a4a682d0b9f8b339f8ea6fe34c310c1694c8ba7f6ddc96f","blockSize":4194304,"blocks":["af96f67d7accf5fd2a4a682d0b9f8b339f8ea6fe34c310c1694c8ba7f6ddc96f"]}},"MathJax_Size1-Regular.woff":{"size":5792,"offset":"12829272","integrity":{"algorithm":"SHA256","hash":"c49810b53ecc0d87d8028762c518924197dd9d3f905b08f99ea241301085b9cb","blockSize":4194304,"blocks":["c49810b53ecc0d87d8028762c518924197dd9d3f905b08f99ea241301085b9cb"]}},"MathJax_Size2-Regular.woff":{"size":5464,"offset":"12835064","integrity":{"algorithm":"SHA256","hash":"30e889b58cbc51adfbb038ab1a96dc4025aa3542a3cff7712fc55ece510675e2","blockSize":4194304,"blocks":["30e889b58cbc51adfbb038ab1a96dc4025aa3542a3cff7712fc55ece510675e2"]}},"MathJax_Size3-Regular.woff":{"size":3244,"offset":"12840528","integrity":{"algorithm":"SHA256","hash":"5cda41563a095bd70c78e2dda13d0f8cb922c71c90fffd0a0044c65173a66e83","blockSize":4194304,"blocks":["5cda41563a095bd70c78e2dda13d0f8cb922c71c90fffd0a0044c65173a66e83"]}},"MathJax_Size4-Regular.woff":{"size":5148,"offset":"12843772","integrity":{"algorithm":"SHA256","hash":"3bc6ecaae7ecf6f8d7f8ea07bddbaca8601e2cb6e89d6aef58e78d9f6d8a398f","blockSize":4194304,"blocks":["3bc6ecaae7ecf6f8d7f8ea07bddbaca8601e2cb6e89d6aef58e78d9f6d8a398f"]}},"MathJax_Typewriter-Regular.woff":{"size":17604,"offset":"12848920","integrity":{"algorithm":"SHA256","hash":"c56da8d69f1a0208b8e0703656c3264b6dd748bd452524c82b0385b60f6a68c1","blockSize":4194304,"blocks":["c56da8d69f1a0208b8e0703656c3264b6dd748bd452524c82b0385b60f6a68c1"]}},"MathJax_Vector-Bold.woff":{"size":1116,"offset":"12866524","integrity":{"algorithm":"SHA256","hash":"36e0d72d8a7afc696a3e7a5c7369807634640de9b02257bca447bdf126221a27","blockSize":4194304,"blocks":["36e0d72d8a7afc696a3e7a5c7369807634640de9b02257bca447bdf126221a27"]}},"MathJax_Vector-Regular.woff":{"size":1136,"offset":"12867640","integrity":{"algorithm":"SHA256","hash":"72bc573386dd1d48c5bbd286302ca9e3400c5eb0f298e7cfbf945b9d08fc688f","blockSize":4194304,"blocks":["72bc573386dd1d48c5bbd286302ca9e3400c5eb0f298e7cfbf945b9d08fc688f"]}},"MathJax_Zero.woff":{"size":1368,"offset":"12868776","integrity":{"algorithm":"SHA256","hash":"481e39042508ae313a60618af1e37146ab93e9324c98e4c78b8f17fe55d41e0b","blockSize":4194304,"blocks":["481e39042508ae313a60618af1e37146ab93e9324c98e4c78b8f17fe55d41e0b"]}}}}}}}}}},"tex-chtml-full.js":{"size":1338727,"offset":"12870144","integrity":{"algorithm":"SHA256","hash":"440dde1db4eb1fd2c0be99fb5f8bf946f339a9e5dade55bcb069a1937a7fb803","blockSize":4194304,"blocks":["440dde1db4eb1fd2c0be99fb5f8bf946f339a9e5dade55bcb069a1937a7fb803"]}}}},"mermaid.min.js":{"size":2572132,"offset":"14208871","integrity":{"algorithm":"SHA256","hash":"0192fad8f0d1765519c4a27ac33975d86bea2d618a7ade1dc59e7384d8f65d05","blockSize":4194304,"blocks":["0192fad8f0d1765519c4a27ac33975d86bea2d618a7ade1dc59e7384d8f65d05"]}},"moment.min.js":{"size":369007,"offset":"16781003","integrity":{"algorithm":"SHA256","hash":"e7f08bbd166d96518728efde269f4ab17cb771abc4fa343dd445b92696e60894","blockSize":4194304,"blocks":["e7f08bbd166d96518728efde269f4ab17cb771abc4fa343dd445b92696e60894"]}},"pdfjs":{"files":{"cmaps":{"files":{"78-EUC-H.bcmap":{"size":2404,"offset":"17150010","integrity":{"algorithm":"SHA256","hash":"d92a261336dc18b8c03a46eb4d462382d33f4338fa195d303256b2031434c874","blockSize":4194304,"blocks":["d92a261336dc18b8c03a46eb4d462382d33f4338fa195d303256b2031434c874"]}},"78-EUC-V.bcmap":{"size":173,"offset":"17152414","integrity":{"algorithm":"SHA256","hash":"61670bebc4e4827b67230c054fd0d820d6e30c3584d02e386804e62bbedc032a","blockSize":4194304,"blocks":["61670bebc4e4827b67230c054fd0d820d6e30c3584d02e386804e62bbedc032a"]}},"78-H.bcmap":{"size":2379,"offset":"17152587","integrity":{"algorithm":"SHA256","hash":"ece6415b853d61e1b2560165151407d35cf16e6556932b85a13ea75276b77402","blockSize":4194304,"blocks":["ece6415b853d61e1b2560165151407d35cf16e6556932b85a13ea75276b77402"]}},"78-RKSJ-H.bcmap":{"size":2398,"offset":"17154966","integrity":{"algorithm":"SHA256","hash":"696b1f973c97623496703809eaaa5f9b40696c77540057413f4b826a08edfa7b","blockSize":4194304,"blocks":["696b1f973c97623496703809eaaa5f9b40696c77540057413f4b826a08edfa7b"]}},"78-RKSJ-V.bcmap":{"size":173,"offset":"17157364","integrity":{"algorithm":"SHA256","hash":"53cb6d560ab377da48cf65d6dcacb0bdb31f13fab7066c580de38c12a73a7ff9","blockSize":4194304,"blocks":["53cb6d560ab377da48cf65d6dcacb0bdb31f13fab7066c580de38c12a73a7ff9"]}},"78-V.bcmap":{"size":169,"offset":"17157537","integrity":{"algorithm":"SHA256","hash":"289000f02fd34872b6975503217f33abae6bee676e7d28f640473a67c8db1712","blockSize":4194304,"blocks":["289000f02fd34872b6975503217f33abae6bee676e7d28f640473a67c8db1712"]}},"78ms-RKSJ-H.bcmap":{"size":2651,"offset":"17157706","integrity":{"algorithm":"SHA256","hash":"a2442595218f5f8bd8e1b42188e368587d876cfe0cc4cd87196f077c878f72e2","blockSize":4194304,"blocks":["a2442595218f5f8bd8e1b42188e368587d876cfe0cc4cd87196f077c878f72e2"]}},"78ms-RKSJ-V.bcmap":{"size":290,"offset":"17160357","integrity":{"algorithm":"SHA256","hash":"f8ddceba96bfd9d3740bd1789ee30d1f47c78371520a8084f71f7df58f19be0b","blockSize":4194304,"blocks":["f8ddceba96bfd9d3740bd1789ee30d1f47c78371520a8084f71f7df58f19be0b"]}},"83pv-RKSJ-H.bcmap":{"size":905,"offset":"17160647","integrity":{"algorithm":"SHA256","hash":"44040051ec818fe09b9703472bea72efd2759d5eeb5ff0d77c718d6bb5e6d1df","blockSize":4194304,"blocks":["44040051ec818fe09b9703472bea72efd2759d5eeb5ff0d77c718d6bb5e6d1df"]}},"90ms-RKSJ-H.bcmap":{"size":721,"offset":"17161552","integrity":{"algorithm":"SHA256","hash":"c13e043e85ff715b75bb03801e8fd0fb8f3a75e4a48496faa6baaf92b5b48ba1","blockSize":4194304,"blocks":["c13e043e85ff715b75bb03801e8fd0fb8f3a75e4a48496faa6baaf92b5b48ba1"]}},"90ms-RKSJ-V.bcmap":{"size":290,"offset":"17162273","integrity":{"algorithm":"SHA256","hash":"499bb916ce1adbe4289b6e5811f4dc20eb238cdc2ffad20cf26ae56716885bab","blockSize":4194304,"blocks":["499bb916ce1adbe4289b6e5811f4dc20eb238cdc2ffad20cf26ae56716885bab"]}},"90msp-RKSJ-H.bcmap":{"size":715,"offset":"17162563","integrity":{"algorithm":"SHA256","hash":"7b8b3b8bbf821702e9a4df9f3596ce292380c8c1b0925dedadbb4e4b2d80498b","blockSize":4194304,"blocks":["7b8b3b8bbf821702e9a4df9f3596ce292380c8c1b0925dedadbb4e4b2d80498b"]}},"90msp-RKSJ-V.bcmap":{"size":291,"offset":"17163278","integrity":{"algorithm":"SHA256","hash":"6296c2b5c07dca8128e96d5296d621a3268803d4fa0e5812a21e52fe2802aacb","blockSize":4194304,"blocks":["6296c2b5c07dca8128e96d5296d621a3268803d4fa0e5812a21e52fe2802aacb"]}},"90pv-RKSJ-H.bcmap":{"size":982,"offset":"17163569","integrity":{"algorithm":"SHA256","hash":"fb5103f03d3a34547e18d316e52b6d9b26e485c662999222f84d2ba54c2e4fa8","blockSize":4194304,"blocks":["fb5103f03d3a34547e18d316e52b6d9b26e485c662999222f84d2ba54c2e4fa8"]}},"90pv-RKSJ-V.bcmap":{"size":260,"offset":"17164551","integrity":{"algorithm":"SHA256","hash":"7bcb5ad2ba55b9662ce379e16c2d9cc2b82d621a579807353741172e4af615c2","blockSize":4194304,"blocks":["7bcb5ad2ba55b9662ce379e16c2d9cc2b82d621a579807353741172e4af615c2"]}},"Add-H.bcmap":{"size":2419,"offset":"17164811","integrity":{"algorithm":"SHA256","hash":"a2ffab28b990998181bcca9b0e914bb2207820f100ae31d5c469444892e5ad8e","blockSize":4194304,"blocks":["a2ffab28b990998181bcca9b0e914bb2207820f100ae31d5c469444892e5ad8e"]}},"Add-RKSJ-H.bcmap":{"size":2413,"offset":"17167230","integrity":{"algorithm":"SHA256","hash":"b29f4b52e2465d0485856d5e69f1ba69927deb2848d8fd328c8035583b35bb7e","blockSize":4194304,"blocks":["b29f4b52e2465d0485856d5e69f1ba69927deb2848d8fd328c8035583b35bb7e"]}},"Add-RKSJ-V.bcmap":{"size":287,"offset":"17169643","integrity":{"algorithm":"SHA256","hash":"2aa2232c283a3f5d0997c2834a36cead0b79ce2657944cfeed08140c293460ff","blockSize":4194304,"blocks":["2aa2232c283a3f5d0997c2834a36cead0b79ce2657944cfeed08140c293460ff"]}},"Add-V.bcmap":{"size":282,"offset":"17169930","integrity":{"algorithm":"SHA256","hash":"25125d3b1be64e86b2df5b3344170b45a42bcaa0b46e43a34314ef73c166e542","blockSize":4194304,"blocks":["25125d3b1be64e86b2df5b3344170b45a42bcaa0b46e43a34314ef73c166e542"]}},"Adobe-CNS1-0.bcmap":{"size":317,"offset":"17170212","integrity":{"algorithm":"SHA256","hash":"8c65be9d51a9f269a547dc12460707aaf4031ab67ebe8a2900f4b4cc6b3e450e","blockSize":4194304,"blocks":["8c65be9d51a9f269a547dc12460707aaf4031ab67ebe8a2900f4b4cc6b3e450e"]}},"Adobe-CNS1-1.bcmap":{"size":371,"offset":"17170529","integrity":{"algorithm":"SHA256","hash":"73152bc1a59cc594b414ac6068be48e5512b96ae85920c40e32a99269fdb0c04","blockSize":4194304,"blocks":["73152bc1a59cc594b414ac6068be48e5512b96ae85920c40e32a99269fdb0c04"]}},"Adobe-CNS1-2.bcmap":{"size":376,"offset":"17170900","integrity":{"algorithm":"SHA256","hash":"a1b8d353bdef9584c820464e8f1c9e2013d64ebf433cba0aa831dddf515818c2","blockSize":4194304,"blocks":["a1b8d353bdef9584c820464e8f1c9e2013d64ebf433cba0aa831dddf515818c2"]}},"Adobe-CNS1-3.bcmap":{"size":401,"offset":"17171276","integrity":{"algorithm":"SHA256","hash":"2ffc0c75c79fafde506163d3c08c390d183251009f3fbf6ae50d1167d14b9570","blockSize":4194304,"blocks":["2ffc0c75c79fafde506163d3c08c390d183251009f3fbf6ae50d1167d14b9570"]}},"Adobe-CNS1-4.bcmap":{"size":405,"offset":"17171677","integrity":{"algorithm":"SHA256","hash":"98a1f470c878c6b9691a4d7aef776af8ac9b55f5587c9fafa00547f3bf655716","blockSize":4194304,"blocks":["98a1f470c878c6b9691a4d7aef776af8ac9b55f5587c9fafa00547f3bf655716"]}},"Adobe-CNS1-5.bcmap":{"size":406,"offset":"17172082","integrity":{"algorithm":"SHA256","hash":"ddd6e29955eb8cb545f2ebd09c628c3bbda5023256eda1b728f743c75fb77829","blockSize":4194304,"blocks":["ddd6e29955eb8cb545f2ebd09c628c3bbda5023256eda1b728f743c75fb77829"]}},"Adobe-CNS1-6.bcmap":{"size":406,"offset":"17172488","integrity":{"algorithm":"SHA256","hash":"317bb2db71e0e5b7b0c47b75de1da915c2e22f65f0c0861507f9ca7ba238f8a2","blockSize":4194304,"blocks":["317bb2db71e0e5b7b0c47b75de1da915c2e22f65f0c0861507f9ca7ba238f8a2"]}},"Adobe-CNS1-UCS2.bcmap":{"size":41193,"offset":"17172894","integrity":{"algorithm":"SHA256","hash":"e665837f2197c6bd08cd8955ad4d6932cee2398e2e328b25b00e6bfb3bd72af9","blockSize":4194304,"blocks":["e665837f2197c6bd08cd8955ad4d6932cee2398e2e328b25b00e6bfb3bd72af9"]}},"Adobe-GB1-0.bcmap":{"size":217,"offset":"17214087","integrity":{"algorithm":"SHA256","hash":"8b81cce8a11d510e505704953cfa4e4ab080c1a0cab991145a3512ee433946b9","blockSize":4194304,"blocks":["8b81cce8a11d510e505704953cfa4e4ab080c1a0cab991145a3512ee433946b9"]}},"Adobe-GB1-1.bcmap":{"size":250,"offset":"17214304","integrity":{"algorithm":"SHA256","hash":"0426983081788ec7202703e71f1efa4b860f75b936994236010b39d89251a81e","blockSize":4194304,"blocks":["0426983081788ec7202703e71f1efa4b860f75b936994236010b39d89251a81e"]}},"Adobe-GB1-2.bcmap":{"size":465,"offset":"17214554","integrity":{"algorithm":"SHA256","hash":"e67b37a83b160ab3831306a71a605893b24454ee81ac9b6123bf2d3984d268d5","blockSize":4194304,"blocks":["e67b37a83b160ab3831306a71a605893b24454ee81ac9b6123bf2d3984d268d5"]}},"Adobe-GB1-3.bcmap":{"size":470,"offset":"17215019","integrity":{"algorithm":"SHA256","hash":"aa299afc3e12a28726147305f191be28c7498078c8b182ece7886ac79cd99078","blockSize":4194304,"blocks":["aa299afc3e12a28726147305f191be28c7498078c8b182ece7886ac79cd99078"]}},"Adobe-GB1-4.bcmap":{"size":601,"offset":"17215489","integrity":{"algorithm":"SHA256","hash":"8fbd7d74c2ddb1350c1cecce54a73fde3f5453093d4bed445283ec0033d2097f","blockSize":4194304,"blocks":["8fbd7d74c2ddb1350c1cecce54a73fde3f5453093d4bed445283ec0033d2097f"]}},"Adobe-GB1-5.bcmap":{"size":625,"offset":"17216090","integrity":{"algorithm":"SHA256","hash":"c22cb2fcff24112fa31dab2111bdc51957006576d31aad5a25e67793ac01428c","blockSize":4194304,"blocks":["c22cb2fcff24112fa31dab2111bdc51957006576d31aad5a25e67793ac01428c"]}},"Adobe-GB1-UCS2.bcmap":{"size":33974,"offset":"17216715","integrity":{"algorithm":"SHA256","hash":"20507620260c0c935c35afc1e70e5888aa7125d5ec7ffc03cef1959feb2c1641","blockSize":4194304,"blocks":["20507620260c0c935c35afc1e70e5888aa7125d5ec7ffc03cef1959feb2c1641"]}},"Adobe-Japan1-0.bcmap":{"size":225,"offset":"17250689","integrity":{"algorithm":"SHA256","hash":"464f08905236f5703b1f5cf8358767c8b18e6bcc808840d081f1de2c7ab38134","blockSize":4194304,"blocks":["464f08905236f5703b1f5cf8358767c8b18e6bcc808840d081f1de2c7ab38134"]}},"Adobe-Japan1-1.bcmap":{"size":226,"offset":"17250914","integrity":{"algorithm":"SHA256","hash":"4c823848722187d1ffe75ae3f5f9126ccd2d7895a05fad14c919fb119e037008","blockSize":4194304,"blocks":["4c823848722187d1ffe75ae3f5f9126ccd2d7895a05fad14c919fb119e037008"]}},"Adobe-Japan1-2.bcmap":{"size":233,"offset":"17251140","integrity":{"algorithm":"SHA256","hash":"7810fb808e367e70429e90a9478fe6a3fdc3e214f25c7582ce9c2da6a242315c","blockSize":4194304,"blocks":["7810fb808e367e70429e90a9478fe6a3fdc3e214f25c7582ce9c2da6a242315c"]}},"Adobe-Japan1-3.bcmap":{"size":242,"offset":"17251373","integrity":{"algorithm":"SHA256","hash":"84deb1828711ad3d390c9899c38abce1bf619d65ff7bf1a326ec95acc45f08f8","blockSize":4194304,"blocks":["84deb1828711ad3d390c9899c38abce1bf619d65ff7bf1a326ec95acc45f08f8"]}},"Adobe-Japan1-4.bcmap":{"size":337,"offset":"17251615","integrity":{"algorithm":"SHA256","hash":"3f8a4f974919c2b8bae5d10175ffa2673be140481e00840542c85d48ef184067","blockSize":4194304,"blocks":["3f8a4f974919c2b8bae5d10175ffa2673be140481e00840542c85d48ef184067"]}},"Adobe-Japan1-5.bcmap":{"size":430,"offset":"17251952","integrity":{"algorithm":"SHA256","hash":"1d3ce4ff28d977f8cf37a912ae4ec811f4175c3167b1ec0b2567feec3e79e1db","blockSize":4194304,"blocks":["1d3ce4ff28d977f8cf37a912ae4ec811f4175c3167b1ec0b2567feec3e79e1db"]}},"Adobe-Japan1-6.bcmap":{"size":485,"offset":"17252382","integrity":{"algorithm":"SHA256","hash":"5609797b9401b30be72ef9645da62a87829f058c3be4b5c623383119f584b1d9","blockSize":4194304,"blocks":["5609797b9401b30be72ef9645da62a87829f058c3be4b5c623383119f584b1d9"]}},"Adobe-Japan1-UCS2.bcmap":{"size":40951,"offset":"17252867","integrity":{"algorithm":"SHA256","hash":"66c5d0dc4964f4093e77b194023f3a0f689324028ec8330e1e1d0570bcba7c2f","blockSize":4194304,"blocks":["66c5d0dc4964f4093e77b194023f3a0f689324028ec8330e1e1d0570bcba7c2f"]}},"Adobe-Korea1-0.bcmap":{"size":241,"offset":"17293818","integrity":{"algorithm":"SHA256","hash":"dfb8c3874f0e5a8c3acf597d2c12d2b63e90bc5e4f0fce990ec4c56077d80b32","blockSize":4194304,"blocks":["dfb8c3874f0e5a8c3acf597d2c12d2b63e90bc5e4f0fce990ec4c56077d80b32"]}},"Adobe-Korea1-1.bcmap":{"size":386,"offset":"17294059","integrity":{"algorithm":"SHA256","hash":"62f277b7b1c441c007797ae707d5c37258d029ce4661a2b911e2e1ee35e6adc1","blockSize":4194304,"blocks":["62f277b7b1c441c007797ae707d5c37258d029ce4661a2b911e2e1ee35e6adc1"]}},"Adobe-Korea1-2.bcmap":{"size":391,"offset":"17294445","integrity":{"algorithm":"SHA256","hash":"1d77068af462f96d7ad28ad7e7d43eef6423c685b479d7dc25ff5df38db0380d","blockSize":4194304,"blocks":["1d77068af462f96d7ad28ad7e7d43eef6423c685b479d7dc25ff5df38db0380d"]}},"Adobe-Korea1-UCS2.bcmap":{"size":23293,"offset":"17294836","integrity":{"algorithm":"SHA256","hash":"857b723088be97255053562bfa41bd1075a7f7910d3bab59a0645c8bbc7060ff","blockSize":4194304,"blocks":["857b723088be97255053562bfa41bd1075a7f7910d3bab59a0645c8bbc7060ff"]}},"B5-H.bcmap":{"size":1086,"offset":"17318129","integrity":{"algorithm":"SHA256","hash":"718ad0ffbef4c34f8f3f31292c462e519cd567a5511fc8b346c60010d64f4ef9","blockSize":4194304,"blocks":["718ad0ffbef4c34f8f3f31292c462e519cd567a5511fc8b346c60010d64f4ef9"]}},"B5-V.bcmap":{"size":142,"offset":"17319215","integrity":{"algorithm":"SHA256","hash":"b5c37383517477620ced927b6b4ffd4f4cc6230d8051b5b46a21d6768e07f7d8","blockSize":4194304,"blocks":["b5c37383517477620ced927b6b4ffd4f4cc6230d8051b5b46a21d6768e07f7d8"]}},"B5pc-H.bcmap":{"size":1099,"offset":"17319357","integrity":{"algorithm":"SHA256","hash":"bab6028aead1d6149400e904ab10cfd319082d826473ed4c582c8eeed920f17e","blockSize":4194304,"blocks":["bab6028aead1d6149400e904ab10cfd319082d826473ed4c582c8eeed920f17e"]}},"B5pc-V.bcmap":{"size":144,"offset":"17320456","integrity":{"algorithm":"SHA256","hash":"41543142b9767f3b76133899fc8453282b01ad3c653acaeea42d78c5a7d08c63","blockSize":4194304,"blocks":["41543142b9767f3b76133899fc8453282b01ad3c653acaeea42d78c5a7d08c63"]}},"CNS-EUC-H.bcmap":{"size":1780,"offset":"17320600","integrity":{"algorithm":"SHA256","hash":"e8f89cd61e6486b948205da46499d659ed0aed949b7095fd3c8e95ffe2b0e7a9","blockSize":4194304,"blocks":["e8f89cd61e6486b948205da46499d659ed0aed949b7095fd3c8e95ffe2b0e7a9"]}},"CNS-EUC-V.bcmap":{"size":1920,"offset":"17322380","integrity":{"algorithm":"SHA256","hash":"cae422bec2ac6dbe86bf921cec942bacd2d0b733ffcca5f91b3ba14e917025a0","blockSize":4194304,"blocks":["cae422bec2ac6dbe86bf921cec942bacd2d0b733ffcca5f91b3ba14e917025a0"]}},"CNS1-H.bcmap":{"size":706,"offset":"17324300","integrity":{"algorithm":"SHA256","hash":"e8487971ab20cd16f3de3e8ac56ec994b72b658ad113f2818239dfd5108f501a","blockSize":4194304,"blocks":["e8487971ab20cd16f3de3e8ac56ec994b72b658ad113f2818239dfd5108f501a"]}},"CNS1-V.bcmap":{"size":143,"offset":"17325006","integrity":{"algorithm":"SHA256","hash":"42df8076aaa7574505e7304af83a3323ec032c4177d64b1309db8c043d594a8a","blockSize":4194304,"blocks":["42df8076aaa7574505e7304af83a3323ec032c4177d64b1309db8c043d594a8a"]}},"CNS2-H.bcmap":{"size":504,"offset":"17325149","integrity":{"algorithm":"SHA256","hash":"bc6024d274d440f0625c69e25f37036ef6cb6689432ceaa160d3432a2a716ca7","blockSize":4194304,"blocks":["bc6024d274d440f0625c69e25f37036ef6cb6689432ceaa160d3432a2a716ca7"]}},"CNS2-V.bcmap":{"size":93,"offset":"17325653","integrity":{"algorithm":"SHA256","hash":"2e4f70a8afd23a121030fc2e5b5f3816e903b11e7ba8b8c09654b31c80399c38","blockSize":4194304,"blocks":["2e4f70a8afd23a121030fc2e5b5f3816e903b11e7ba8b8c09654b31c80399c38"]}},"ETHK-B5-H.bcmap":{"size":4426,"offset":"17325746","integrity":{"algorithm":"SHA256","hash":"d2f10fa519336bc4efcc7b6deb9604b75429946b40d82e311cb3a97a1994c89a","blockSize":4194304,"blocks":["d2f10fa519336bc4efcc7b6deb9604b75429946b40d82e311cb3a97a1994c89a"]}},"ETHK-B5-V.bcmap":{"size":158,"offset":"17330172","integrity":{"algorithm":"SHA256","hash":"1fea3fd0d9f0f679f80505800851ef2e4131d81127e18c006938ffa2f4c8b247","blockSize":4194304,"blocks":["1fea3fd0d9f0f679f80505800851ef2e4131d81127e18c006938ffa2f4c8b247"]}},"ETen-B5-H.bcmap":{"size":1125,"offset":"17330330","integrity":{"algorithm":"SHA256","hash":"87ee6b3f5bfda5fe26fa35431264c7d73070d10dbbf398a75185d63ae322c18d","blockSize":4194304,"blocks":["87ee6b3f5bfda5fe26fa35431264c7d73070d10dbbf398a75185d63ae322c18d"]}},"ETen-B5-V.bcmap":{"size":158,"offset":"17331455","integrity":{"algorithm":"SHA256","hash":"47dc0d2c21e3bde317947aec1675ceabc1d5460a60bf9c24334b8c407a17172c","blockSize":4194304,"blocks":["47dc0d2c21e3bde317947aec1675ceabc1d5460a60bf9c24334b8c407a17172c"]}},"ETenms-B5-H.bcmap":{"size":101,"offset":"17331613","integrity":{"algorithm":"SHA256","hash":"d5f5a73da4173b7da9a3a20e16f26f9cd5d12deb1553409919e0cec6fd37fdee","blockSize":4194304,"blocks":["d5f5a73da4173b7da9a3a20e16f26f9cd5d12deb1553409919e0cec6fd37fdee"]}},"ETenms-B5-V.bcmap":{"size":172,"offset":"17331714","integrity":{"algorithm":"SHA256","hash":"18252fca90f472f479af1bddd60d6ab51c8e1b55dcf6845951426504934543e0","blockSize":4194304,"blocks":["18252fca90f472f479af1bddd60d6ab51c8e1b55dcf6845951426504934543e0"]}},"EUC-H.bcmap":{"size":578,"offset":"17331886","integrity":{"algorithm":"SHA256","hash":"f9939cd57fccdc65c5d9f4c205fd497ebdbd283643308da5663801a8c1d9c595","blockSize":4194304,"blocks":["f9939cd57fccdc65c5d9f4c205fd497ebdbd283643308da5663801a8c1d9c595"]}},"EUC-V.bcmap":{"size":170,"offset":"17332464","integrity":{"algorithm":"SHA256","hash":"1283a50a706507c4436da83ede9ad7a4440be25378f2e96f6c81a430081426a3","blockSize":4194304,"blocks":["1283a50a706507c4436da83ede9ad7a4440be25378f2e96f6c81a430081426a3"]}},"Ext-H.bcmap":{"size":2536,"offset":"17332634","integrity":{"algorithm":"SHA256","hash":"4000ed4e61a1c668ef453bbd0603cfa383defa793abd46a57ed870d7f527350b","blockSize":4194304,"blocks":["4000ed4e61a1c668ef453bbd0603cfa383defa793abd46a57ed870d7f527350b"]}},"Ext-RKSJ-H.bcmap":{"size":2542,"offset":"17335170","integrity":{"algorithm":"SHA256","hash":"e0d2f0df337660e73813238dd4a725f11f0621b90f3273857db253d0e7694caa","blockSize":4194304,"blocks":["e0d2f0df337660e73813238dd4a725f11f0621b90f3273857db253d0e7694caa"]}},"Ext-RKSJ-V.bcmap":{"size":218,"offset":"17337712","integrity":{"algorithm":"SHA256","hash":"f617a22b6d67febb187990952006c91a9f5a4db21155d268c656252d0c21985d","blockSize":4194304,"blocks":["f617a22b6d67febb187990952006c91a9f5a4db21155d268c656252d0c21985d"]}},"Ext-V.bcmap":{"size":215,"offset":"17337930","integrity":{"algorithm":"SHA256","hash":"c2087fb845a9e3acea0c2922cd40e6af67e11957bec74dcd597f1285edd490ce","blockSize":4194304,"blocks":["c2087fb845a9e3acea0c2922cd40e6af67e11957bec74dcd597f1285edd490ce"]}},"GB-EUC-H.bcmap":{"size":549,"offset":"17338145","integrity":{"algorithm":"SHA256","hash":"928bad06fd84a48f5ba7150d7716609119fb660f2aaa73eccad81ddab9b9d203","blockSize":4194304,"blocks":["928bad06fd84a48f5ba7150d7716609119fb660f2aaa73eccad81ddab9b9d203"]}},"GB-EUC-V.bcmap":{"size":179,"offset":"17338694","integrity":{"algorithm":"SHA256","hash":"a9ad88ac2479da529b16dc48abc5952332e27bc355335f91df5729a587533324","blockSize":4194304,"blocks":["a9ad88ac2479da529b16dc48abc5952332e27bc355335f91df5729a587533324"]}},"GB-H.bcmap":{"size":528,"offset":"17338873","integrity":{"algorithm":"SHA256","hash":"1018c777a8910b5bb46d7d54a4aee9d51ca5cff8addb2b41c969d9101cb3fd1c","blockSize":4194304,"blocks":["1018c777a8910b5bb46d7d54a4aee9d51ca5cff8addb2b41c969d9101cb3fd1c"]}},"GB-V.bcmap":{"size":175,"offset":"17339401","integrity":{"algorithm":"SHA256","hash":"0b96789143c0bbf9f1641ae7165b3456dccd14dabffcbb0bd654d5bf6f94f863","blockSize":4194304,"blocks":["0b96789143c0bbf9f1641ae7165b3456dccd14dabffcbb0bd654d5bf6f94f863"]}},"GBK-EUC-H.bcmap":{"size":14692,"offset":"17339576","integrity":{"algorithm":"SHA256","hash":"2103fed28650ede096a2281104a1a8a4304dae0db414342c636867522307123b","blockSize":4194304,"blocks":["2103fed28650ede096a2281104a1a8a4304dae0db414342c636867522307123b"]}},"GBK-EUC-V.bcmap":{"size":180,"offset":"17354268","integrity":{"algorithm":"SHA256","hash":"a7fd35dd14d9dbdb955f34e6c0630618b6620dfd09d4283b2f65a65ce77fcaea","blockSize":4194304,"blocks":["a7fd35dd14d9dbdb955f34e6c0630618b6620dfd09d4283b2f65a65ce77fcaea"]}},"GBK2K-H.bcmap":{"size":19662,"offset":"17354448","integrity":{"algorithm":"SHA256","hash":"3d919ae72af16c5cc6846ec87a4326a9f125e493c59d3628429d35c2c95fe8c4","blockSize":4194304,"blocks":["3d919ae72af16c5cc6846ec87a4326a9f125e493c59d3628429d35c2c95fe8c4"]}},"GBK2K-V.bcmap":{"size":219,"offset":"17374110","integrity":{"algorithm":"SHA256","hash":"b927fdfd595c07ce9158bf2ec13f4641b2e83b01c70989dadfabd6ed7c6ac2dc","blockSize":4194304,"blocks":["b927fdfd595c07ce9158bf2ec13f4641b2e83b01c70989dadfabd6ed7c6ac2dc"]}},"GBKp-EUC-H.bcmap":{"size":14686,"offset":"17374329","integrity":{"algorithm":"SHA256","hash":"d15ebd8e81fb4fe8a244f1b1e877922e03500ac69eddf5001093e502430451d2","blockSize":4194304,"blocks":["d15ebd8e81fb4fe8a244f1b1e877922e03500ac69eddf5001093e502430451d2"]}},"GBKp-EUC-V.bcmap":{"size":181,"offset":"17389015","integrity":{"algorithm":"SHA256","hash":"fdc736d46e642625dccc8ad8c59f2c69fc7db7a13f2e799c6c6b779e707bb97a","blockSize":4194304,"blocks":["fdc736d46e642625dccc8ad8c59f2c69fc7db7a13f2e799c6c6b779e707bb97a"]}},"GBT-EUC-H.bcmap":{"size":7290,"offset":"17389196","integrity":{"algorithm":"SHA256","hash":"dc5f44e48a39f3367ae28665027d8ab1d8cedb5a9dcc5068a900acd6709f60f9","blockSize":4194304,"blocks":["dc5f44e48a39f3367ae28665027d8ab1d8cedb5a9dcc5068a900acd6709f60f9"]}},"GBT-EUC-V.bcmap":{"size":180,"offset":"17396486","integrity":{"algorithm":"SHA256","hash":"a1ad24e63653b8aa388c18fa5e498f007564e43dde699a9f91ccb4645c999be8","blockSize":4194304,"blocks":["a1ad24e63653b8aa388c18fa5e498f007564e43dde699a9f91ccb4645c999be8"]}},"GBT-H.bcmap":{"size":7269,"offset":"17396666","integrity":{"algorithm":"SHA256","hash":"8afda745a505763f3ff54c8126eeb48ef376ea9ed07d9f42ff9a22c5c547ec57","blockSize":4194304,"blocks":["8afda745a505763f3ff54c8126eeb48ef376ea9ed07d9f42ff9a22c5c547ec57"]}},"GBT-V.bcmap":{"size":176,"offset":"17403935","integrity":{"algorithm":"SHA256","hash":"cdc2ec5c3c7c7033290c9a8894878202f08674eb9b1ae7d36218430326768771","blockSize":4194304,"blocks":["cdc2ec5c3c7c7033290c9a8894878202f08674eb9b1ae7d36218430326768771"]}},"GBTpc-EUC-H.bcmap":{"size":7298,"offset":"17404111","integrity":{"algorithm":"SHA256","hash":"7b23e2f7bfdb6c918f567b7324bf858f398bd8cd5f268d74ece19a3c91bf4f32","blockSize":4194304,"blocks":["7b23e2f7bfdb6c918f567b7324bf858f398bd8cd5f268d74ece19a3c91bf4f32"]}},"GBTpc-EUC-V.bcmap":{"size":182,"offset":"17411409","integrity":{"algorithm":"SHA256","hash":"d7a1b13ead9ab511cf2cd01de6ce8b02aa8e8767e84895337d7a3b67f039f93b","blockSize":4194304,"blocks":["d7a1b13ead9ab511cf2cd01de6ce8b02aa8e8767e84895337d7a3b67f039f93b"]}},"GBpc-EUC-H.bcmap":{"size":557,"offset":"17411591","integrity":{"algorithm":"SHA256","hash":"3c4a4eb82f05abe51f6650985c630e180438bfdd491318f5d20d2ec29236e1c3","blockSize":4194304,"blocks":["3c4a4eb82f05abe51f6650985c630e180438bfdd491318f5d20d2ec29236e1c3"]}},"GBpc-EUC-V.bcmap":{"size":181,"offset":"17412148","integrity":{"algorithm":"SHA256","hash":"215bdfa2842705624b4cf4cd29b8e3c720f1e192365e0305c11030a424c84d7c","blockSize":4194304,"blocks":["215bdfa2842705624b4cf4cd29b8e3c720f1e192365e0305c11030a424c84d7c"]}},"H.bcmap":{"size":553,"offset":"17412329","integrity":{"algorithm":"SHA256","hash":"a0233e21047ec00b852125b243cbcf30abee511155b6d8159c24f944384bc9ee","blockSize":4194304,"blocks":["a0233e21047ec00b852125b243cbcf30abee511155b6d8159c24f944384bc9ee"]}},"HKdla-B5-H.bcmap":{"size":2654,"offset":"17412882","integrity":{"algorithm":"SHA256","hash":"5242bce18fb13ab4cc59b146a03eba36e4ce42667eeff09e10981a9d2aa4996b","blockSize":4194304,"blocks":["5242bce18fb13ab4cc59b146a03eba36e4ce42667eeff09e10981a9d2aa4996b"]}},"HKdla-B5-V.bcmap":{"size":148,"offset":"17415536","integrity":{"algorithm":"SHA256","hash":"2e0537f786c0791d41a925f72bad2d4e7268aa6cbf15a1400a722672cec38e2c","blockSize":4194304,"blocks":["2e0537f786c0791d41a925f72bad2d4e7268aa6cbf15a1400a722672cec38e2c"]}},"HKdlb-B5-H.bcmap":{"size":2414,"offset":"17415684","integrity":{"algorithm":"SHA256","hash":"fdc8159984bf5dbe475c0d5dfcb621ecee4dea07c38c668bd77f4c679e23b9b3","blockSize":4194304,"blocks":["fdc8159984bf5dbe475c0d5dfcb621ecee4dea07c38c668bd77f4c679e23b9b3"]}},"HKdlb-B5-V.bcmap":{"size":148,"offset":"17418098","integrity":{"algorithm":"SHA256","hash":"b249eb9dcb915ab45057c5d4d7aa55ef88d0efbb092af6bae0b2d4705d139abf","blockSize":4194304,"blocks":["b249eb9dcb915ab45057c5d4d7aa55ef88d0efbb092af6bae0b2d4705d139abf"]}},"HKgccs-B5-H.bcmap":{"size":2292,"offset":"17418246","integrity":{"algorithm":"SHA256","hash":"ab64c7fc5e9b2e97750cc4f269b0da14fd8649e49151b7598c8df86599bac591","blockSize":4194304,"blocks":["ab64c7fc5e9b2e97750cc4f269b0da14fd8649e49151b7598c8df86599bac591"]}},"HKgccs-B5-V.bcmap":{"size":149,"offset":"17420538","integrity":{"algorithm":"SHA256","hash":"02ebdf7cdffb5395fb21091cd58a013a18ae5388922822f9dc6292ef16b98956","blockSize":4194304,"blocks":["02ebdf7cdffb5395fb21091cd58a013a18ae5388922822f9dc6292ef16b98956"]}},"HKm314-B5-H.bcmap":{"size":1772,"offset":"17420687","integrity":{"algorithm":"SHA256","hash":"bfd8bbde6b36a9da4c1c902c74121a30d9807a7079a00eeea218be6adc223cef","blockSize":4194304,"blocks":["bfd8bbde6b36a9da4c1c902c74121a30d9807a7079a00eeea218be6adc223cef"]}},"HKm314-B5-V.bcmap":{"size":149,"offset":"17422459","integrity":{"algorithm":"SHA256","hash":"2a64a815cfb6fdd480674a868762e3d161fda17543b20c9209978559f0667164","blockSize":4194304,"blocks":["2a64a815cfb6fdd480674a868762e3d161fda17543b20c9209978559f0667164"]}},"HKm471-B5-H.bcmap":{"size":2171,"offset":"17422608","integrity":{"algorithm":"SHA256","hash":"49d7c037758826b5b6c0fa329c35bbf25d3943197754e72ecd30c6fb04d745e6","blockSize":4194304,"blocks":["49d7c037758826b5b6c0fa329c35bbf25d3943197754e72ecd30c6fb04d745e6"]}},"HKm471-B5-V.bcmap":{"size":149,"offset":"17424779","integrity":{"algorithm":"SHA256","hash":"be24c109e78aa4fe3c1f27d30aab3ed0741e783fa1b6b6c2719741072b54b132","blockSize":4194304,"blocks":["be24c109e78aa4fe3c1f27d30aab3ed0741e783fa1b6b6c2719741072b54b132"]}},"HKscs-B5-H.bcmap":{"size":4437,"offset":"17424928","integrity":{"algorithm":"SHA256","hash":"08599378f41d96b40537adef6e6edcc4a787bc63f5accf47c026df4905a13914","blockSize":4194304,"blocks":["08599378f41d96b40537adef6e6edcc4a787bc63f5accf47c026df4905a13914"]}},"HKscs-B5-V.bcmap":{"size":159,"offset":"17429365","integrity":{"algorithm":"SHA256","hash":"d073542b7dad1c4cbf01c1af5f0cd13218d1281a491956e310c55702fc8705c4","blockSize":4194304,"blocks":["d073542b7dad1c4cbf01c1af5f0cd13218d1281a491956e310c55702fc8705c4"]}},"Hankaku.bcmap":{"size":132,"offset":"17429524","integrity":{"algorithm":"SHA256","hash":"b454701f7aecd7856769016dfd04ca64280a060f2c67a2466d50b4395d24974e","blockSize":4194304,"blocks":["b454701f7aecd7856769016dfd04ca64280a060f2c67a2466d50b4395d24974e"]}},"Hiragana.bcmap":{"size":124,"offset":"17429656","integrity":{"algorithm":"SHA256","hash":"2ed669394756dd9458651cd9995ab29ab691ecb7686659003306cdf22767a414","blockSize":4194304,"blocks":["2ed669394756dd9458651cd9995ab29ab691ecb7686659003306cdf22767a414"]}},"KSC-EUC-H.bcmap":{"size":1848,"offset":"17429780","integrity":{"algorithm":"SHA256","hash":"6784e16dbc5861c036c23d3e55f0d4ba0975a3e464da0ee8e49bcfff0be070c4","blockSize":4194304,"blocks":["6784e16dbc5861c036c23d3e55f0d4ba0975a3e464da0ee8e49bcfff0be070c4"]}},"KSC-EUC-V.bcmap":{"size":164,"offset":"17431628","integrity":{"algorithm":"SHA256","hash":"fdb36bad85e9924823d49db374067988e024cf80fc894711f2c9178951cbbe95","blockSize":4194304,"blocks":["fdb36bad85e9924823d49db374067988e024cf80fc894711f2c9178951cbbe95"]}},"KSC-H.bcmap":{"size":1831,"offset":"17431792","integrity":{"algorithm":"SHA256","hash":"c1f6d61f1d3304fd539a65ae72624fa567ecc3853bf52e283958a7a2515b3eee","blockSize":4194304,"blocks":["c1f6d61f1d3304fd539a65ae72624fa567ecc3853bf52e283958a7a2515b3eee"]}},"KSC-Johab-H.bcmap":{"size":16791,"offset":"17433623","integrity":{"algorithm":"SHA256","hash":"939993d213f68db763bf156217c217ae23af082b91a0eacecf3d11eb4ff8ef8c","blockSize":4194304,"blocks":["939993d213f68db763bf156217c217ae23af082b91a0eacecf3d11eb4ff8ef8c"]}},"KSC-Johab-V.bcmap":{"size":166,"offset":"17450414","integrity":{"algorithm":"SHA256","hash":"5d61967aac0e666def721e8b8d0fed8f95a879a14f2e76ce516c3d11c621e519","blockSize":4194304,"blocks":["5d61967aac0e666def721e8b8d0fed8f95a879a14f2e76ce516c3d11c621e519"]}},"KSC-V.bcmap":{"size":160,"offset":"17450580","integrity":{"algorithm":"SHA256","hash":"d7da5afd9f1fe74816d79c9325f0139a4efb6438664ebfdf9a7aa92f3034360f","blockSize":4194304,"blocks":["d7da5afd9f1fe74816d79c9325f0139a4efb6438664ebfdf9a7aa92f3034360f"]}},"KSCms-UHC-H.bcmap":{"size":2787,"offset":"17450740","integrity":{"algorithm":"SHA256","hash":"5b70d8f6a4fa9e2283dc649f0ff95d906d56efbee50a20e8d2faec3a8fed078e","blockSize":4194304,"blocks":["5b70d8f6a4fa9e2283dc649f0ff95d906d56efbee50a20e8d2faec3a8fed078e"]}},"KSCms-UHC-HW-H.bcmap":{"size":2789,"offset":"17453527","integrity":{"algorithm":"SHA256","hash":"a5e6ba22aceb02fdedee11bfb9ed138463d89e85b87810b9f075b469d936f8ec","blockSize":4194304,"blocks":["a5e6ba22aceb02fdedee11bfb9ed138463d89e85b87810b9f075b469d936f8ec"]}},"KSCms-UHC-HW-V.bcmap":{"size":169,"offset":"17456316","integrity":{"algorithm":"SHA256","hash":"890332a6a26880d463a12f2a6ff048bf9cf7e45077cfb1ca8815b89baa7bf411","blockSize":4194304,"blocks":["890332a6a26880d463a12f2a6ff048bf9cf7e45077cfb1ca8815b89baa7bf411"]}},"KSCms-UHC-V.bcmap":{"size":166,"offset":"17456485","integrity":{"algorithm":"SHA256","hash":"1631b531c9a40c8cbe24c2317dba107362e49fa6e18af620414d627c111d570c","blockSize":4194304,"blocks":["1631b531c9a40c8cbe24c2317dba107362e49fa6e18af620414d627c111d570c"]}},"KSCpc-EUC-H.bcmap":{"size":2024,"offset":"17456651","integrity":{"algorithm":"SHA256","hash":"709480682c55cedbb0124b9960d78e28febeee0df2e34607d61aac6601647ec7","blockSize":4194304,"blocks":["709480682c55cedbb0124b9960d78e28febeee0df2e34607d61aac6601647ec7"]}},"KSCpc-EUC-V.bcmap":{"size":166,"offset":"17458675","integrity":{"algorithm":"SHA256","hash":"031707887d6fc2378a36cdb6775334fd7a236c3f95048d8436abf43fe26fc49d","blockSize":4194304,"blocks":["031707887d6fc2378a36cdb6775334fd7a236c3f95048d8436abf43fe26fc49d"]}},"Katakana.bcmap":{"size":100,"offset":"17458841","integrity":{"algorithm":"SHA256","hash":"3b6ca6642fbf8822da00d5e58a8aa275216d5c32dbf2bd73e934197fc9fc5c53","blockSize":4194304,"blocks":["3b6ca6642fbf8822da00d5e58a8aa275216d5c32dbf2bd73e934197fc9fc5c53"]}},"LICENSE":{"size":2080,"offset":"17458941","integrity":{"algorithm":"SHA256","hash":"aa92ab5a472974865a96fd4a4e9c13bb41bf6fe1b309cb6b8da48bc9e19839a2","blockSize":4194304,"blocks":["aa92ab5a472974865a96fd4a4e9c13bb41bf6fe1b309cb6b8da48bc9e19839a2"]}},"NWP-H.bcmap":{"size":2765,"offset":"17461021","integrity":{"algorithm":"SHA256","hash":"286c6c9e335da330928a01edc3c97a3a623f1f7f3c42762b0a7dc2f651b1a78f","blockSize":4194304,"blocks":["286c6c9e335da330928a01edc3c97a3a623f1f7f3c42762b0a7dc2f651b1a78f"]}},"NWP-V.bcmap":{"size":252,"offset":"17463786","integrity":{"algorithm":"SHA256","hash":"3a75fb7b59adfb172710758c425d8ac6c93fd5360a64dd4afd5dd04e60ab4b4d","blockSize":4194304,"blocks":["3a75fb7b59adfb172710758c425d8ac6c93fd5360a64dd4afd5dd04e60ab4b4d"]}},"RKSJ-H.bcmap":{"size":534,"offset":"17464038","integrity":{"algorithm":"SHA256","hash":"a70de61a22a898f693f02cc011c3e3cff2e10aaa7cddb4661e456a21ae859f78","blockSize":4194304,"blocks":["a70de61a22a898f693f02cc011c3e3cff2e10aaa7cddb4661e456a21ae859f78"]}},"RKSJ-V.bcmap":{"size":170,"offset":"17464572","integrity":{"algorithm":"SHA256","hash":"68c1a64506471a524ea5cfc3b3a9f8f70031989a6bd95427b1351f33ccf50b06","blockSize":4194304,"blocks":["68c1a64506471a524ea5cfc3b3a9f8f70031989a6bd95427b1351f33ccf50b06"]}},"Roman.bcmap":{"size":96,"offset":"17464742","integrity":{"algorithm":"SHA256","hash":"1c6b3ef9d9e5cb1aa329142ce9414b90f9b6d7f9182a2a9e927378dab8f0d43f","blockSize":4194304,"blocks":["1c6b3ef9d9e5cb1aa329142ce9414b90f9b6d7f9182a2a9e927378dab8f0d43f"]}},"UniCNS-UCS2-H.bcmap":{"size":48280,"offset":"17464838","integrity":{"algorithm":"SHA256","hash":"779428116752f34e2490a1941d24e4634c71e3c22d053b811d2090ae2fb3c704","blockSize":4194304,"blocks":["779428116752f34e2490a1941d24e4634c71e3c22d053b811d2090ae2fb3c704"]}},"UniCNS-UCS2-V.bcmap":{"size":156,"offset":"17513118","integrity":{"algorithm":"SHA256","hash":"1e5cc184b850ea44abc2df8ae5674279df668e8edf5e2a1a2ea2bd77adbd280f","blockSize":4194304,"blocks":["1e5cc184b850ea44abc2df8ae5674279df668e8edf5e2a1a2ea2bd77adbd280f"]}},"UniCNS-UTF16-H.bcmap":{"size":50419,"offset":"17513274","integrity":{"algorithm":"SHA256","hash":"32ff139b3c7b91d6ad25f994701f3ce7b242906022c418fd73e6493fc228bfe5","blockSize":4194304,"blocks":["32ff139b3c7b91d6ad25f994701f3ce7b242906022c418fd73e6493fc228bfe5"]}},"UniCNS-UTF16-V.bcmap":{"size":156,"offset":"17563693","integrity":{"algorithm":"SHA256","hash":"278eb1e68d1a236c60ef59472cf0176ee0d45f364285e76ca12419a08d46fb9a","blockSize":4194304,"blocks":["278eb1e68d1a236c60ef59472cf0176ee0d45f364285e76ca12419a08d46fb9a"]}},"UniCNS-UTF32-H.bcmap":{"size":52679,"offset":"17563849","integrity":{"algorithm":"SHA256","hash":"bf26eb67fe19ee5ba915799e80ca72408400aa8342fdf6a244a4f44de8f97336","blockSize":4194304,"blocks":["bf26eb67fe19ee5ba915799e80ca72408400aa8342fdf6a244a4f44de8f97336"]}},"UniCNS-UTF32-V.bcmap":{"size":160,"offset":"17616528","integrity":{"algorithm":"SHA256","hash":"f7da3caf83ceb1cb37936fa10700d9ba6e9c3f72c5bc9724e3ac79bff0c0179e","blockSize":4194304,"blocks":["f7da3caf83ceb1cb37936fa10700d9ba6e9c3f72c5bc9724e3ac79bff0c0179e"]}},"UniCNS-UTF8-H.bcmap":{"size":53629,"offset":"17616688","integrity":{"algorithm":"SHA256","hash":"2f2a742bcd1a84a148a4a518b9eed51a8f9c6ca5ed3bc5e2e41fff97de5dc2d8","blockSize":4194304,"blocks":["2f2a742bcd1a84a148a4a518b9eed51a8f9c6ca5ed3bc5e2e41fff97de5dc2d8"]}},"UniCNS-UTF8-V.bcmap":{"size":157,"offset":"17670317","integrity":{"algorithm":"SHA256","hash":"b7c3f10780a8c62dd1c8ff6c30dc1e4e23b6cdc87c3a96fcd514cc98ffd3af9d","blockSize":4194304,"blocks":["b7c3f10780a8c62dd1c8ff6c30dc1e4e23b6cdc87c3a96fcd514cc98ffd3af9d"]}},"UniGB-UCS2-H.bcmap":{"size":43366,"offset":"17670474","integrity":{"algorithm":"SHA256","hash":"9201569b402e81ad8860650bd86350c4fa28e5dd5971f05fcacaf40f51de18ed","blockSize":4194304,"blocks":["9201569b402e81ad8860650bd86350c4fa28e5dd5971f05fcacaf40f51de18ed"]}},"UniGB-UCS2-V.bcmap":{"size":193,"offset":"17713840","integrity":{"algorithm":"SHA256","hash":"f10282335e4d64203bc2a653a3a47d745ec76c8ae04549f4d50180c1899be216","blockSize":4194304,"blocks":["f10282335e4d64203bc2a653a3a47d745ec76c8ae04549f4d50180c1899be216"]}},"UniGB-UTF16-H.bcmap":{"size":44086,"offset":"17714033","integrity":{"algorithm":"SHA256","hash":"386fd39581245c034da016a92d23f3df1117d169f996100050b264fc09a84e35","blockSize":4194304,"blocks":["386fd39581245c034da016a92d23f3df1117d169f996100050b264fc09a84e35"]}},"UniGB-UTF16-V.bcmap":{"size":178,"offset":"17758119","integrity":{"algorithm":"SHA256","hash":"0473cfbba612b92dd9918f0ff8aee9112897c48e0ffdc0eb82da3144ed8ea84a","blockSize":4194304,"blocks":["0473cfbba612b92dd9918f0ff8aee9112897c48e0ffdc0eb82da3144ed8ea84a"]}},"UniGB-UTF32-H.bcmap":{"size":45738,"offset":"17758297","integrity":{"algorithm":"SHA256","hash":"f48a145dc4e3ed1dca1dde7111716a72306a2a4191ab05c6bae3a5c3a961cd2f","blockSize":4194304,"blocks":["f48a145dc4e3ed1dca1dde7111716a72306a2a4191ab05c6bae3a5c3a961cd2f"]}},"UniGB-UTF32-V.bcmap":{"size":182,"offset":"17804035","integrity":{"algorithm":"SHA256","hash":"106acc49b7118bdef944e32107b4f348238f3929a0a15d3b7aab7b9101535993","blockSize":4194304,"blocks":["106acc49b7118bdef944e32107b4f348238f3929a0a15d3b7aab7b9101535993"]}},"UniGB-UTF8-H.bcmap":{"size":46837,"offset":"17804217","integrity":{"algorithm":"SHA256","hash":"f217b439c80ee5fa1bc2cf6d1defcc319f8d84483d166a00ee199e05a68588df","blockSize":4194304,"blocks":["f217b439c80ee5fa1bc2cf6d1defcc319f8d84483d166a00ee199e05a68588df"]}},"UniGB-UTF8-V.bcmap":{"size":181,"offset":"17851054","integrity":{"algorithm":"SHA256","hash":"a64df947632878eacc532fa193c735c92a383b7d66e6f8374ac193af7c64fc63","blockSize":4194304,"blocks":["a64df947632878eacc532fa193c735c92a383b7d66e6f8374ac193af7c64fc63"]}},"UniJIS-UCS2-H.bcmap":{"size":25439,"offset":"17851235","integrity":{"algorithm":"SHA256","hash":"ad2352f40870880fbf7f8ee5abadff743fbd025fbf9830b8ada472d1c5e4da0b","blockSize":4194304,"blocks":["ad2352f40870880fbf7f8ee5abadff743fbd025fbf9830b8ada472d1c5e4da0b"]}},"UniJIS-UCS2-HW-H.bcmap":{"size":119,"offset":"17876674","integrity":{"algorithm":"SHA256","hash":"16e87edca954177c0881c874859d6783220925d821b5cdfb8755b61ebd93f9ce","blockSize":4194304,"blocks":["16e87edca954177c0881c874859d6783220925d821b5cdfb8755b61ebd93f9ce"]}},"UniJIS-UCS2-HW-V.bcmap":{"size":680,"offset":"17876793","integrity":{"algorithm":"SHA256","hash":"1973457e2c0192819947e56068625b34fb9a72ecc8a476ce6d7eaae5f73e2e5c","blockSize":4194304,"blocks":["1973457e2c0192819947e56068625b34fb9a72ecc8a476ce6d7eaae5f73e2e5c"]}},"UniJIS-UCS2-V.bcmap":{"size":664,"offset":"17877473","integrity":{"algorithm":"SHA256","hash":"42a133d8e2ce9dd6d2288018e01592d2bf2435b326d39b94ea0b6e6a44ac33d3","blockSize":4194304,"blocks":["42a133d8e2ce9dd6d2288018e01592d2bf2435b326d39b94ea0b6e6a44ac33d3"]}},"UniJIS-UTF16-H.bcmap":{"size":39443,"offset":"17878137","integrity":{"algorithm":"SHA256","hash":"f6a89c5688978548c83fcee990e205bc63c74274d5c69b49032a3bd4c49a05ee","blockSize":4194304,"blocks":["f6a89c5688978548c83fcee990e205bc63c74274d5c69b49032a3bd4c49a05ee"]}},"UniJIS-UTF16-V.bcmap":{"size":643,"offset":"17917580","integrity":{"algorithm":"SHA256","hash":"c67126fc7c73850855186bb0d6482ac0a365057e0b58778c4ab9f234683fef53","blockSize":4194304,"blocks":["c67126fc7c73850855186bb0d6482ac0a365057e0b58778c4ab9f234683fef53"]}},"UniJIS-UTF32-H.bcmap":{"size":40539,"offset":"17918223","integrity":{"algorithm":"SHA256","hash":"96195950ce0fe24443d8eb426fa6b88534ec421d7bef9046f0b2362809cfba73","blockSize":4194304,"blocks":["96195950ce0fe24443d8eb426fa6b88534ec421d7bef9046f0b2362809cfba73"]}},"UniJIS-UTF32-V.bcmap":{"size":677,"offset":"17958762","integrity":{"algorithm":"SHA256","hash":"ed4dafda402bdd19c4d5d8bf2ab41473c0f86f384552b4c7b963d6627daedeb1","blockSize":4194304,"blocks":["ed4dafda402bdd19c4d5d8bf2ab41473c0f86f384552b4c7b963d6627daedeb1"]}},"UniJIS-UTF8-H.bcmap":{"size":41695,"offset":"17959439","integrity":{"algorithm":"SHA256","hash":"798fb0bf06ab0788d1f6a91c2db7de581612eef03c628f10e8f7ecd8f70ab448","blockSize":4194304,"blocks":["798fb0bf06ab0788d1f6a91c2db7de581612eef03c628f10e8f7ecd8f70ab448"]}},"UniJIS-UTF8-V.bcmap":{"size":678,"offset":"18001134","integrity":{"algorithm":"SHA256","hash":"1021611424f913b2df0bfdbe94bd327c04e224ec89d8e821c6501ea3d21f4265","blockSize":4194304,"blocks":["1021611424f913b2df0bfdbe94bd327c04e224ec89d8e821c6501ea3d21f4265"]}},"UniJIS2004-UTF16-H.bcmap":{"size":39534,"offset":"18001812","integrity":{"algorithm":"SHA256","hash":"710a32d7cb43fd6bd9dbf30da5971f8c941590f74441e208d852c2be0e74cc97","blockSize":4194304,"blocks":["710a32d7cb43fd6bd9dbf30da5971f8c941590f74441e208d852c2be0e74cc97"]}},"UniJIS2004-UTF16-V.bcmap":{"size":647,"offset":"18041346","integrity":{"algorithm":"SHA256","hash":"3b149aff5c5707b57fb3215d1775852c8b1f413ec0f679ea628f25cf87fe098d","blockSize":4194304,"blocks":["3b149aff5c5707b57fb3215d1775852c8b1f413ec0f679ea628f25cf87fe098d"]}},"UniJIS2004-UTF32-H.bcmap":{"size":40630,"offset":"18041993","integrity":{"algorithm":"SHA256","hash":"8d2658e18741af7937d586a57c89729a6fec0d86121197c1f8518aa58b29cdfb","blockSize":4194304,"blocks":["8d2658e18741af7937d586a57c89729a6fec0d86121197c1f8518aa58b29cdfb"]}},"UniJIS2004-UTF32-V.bcmap":{"size":681,"offset":"18082623","integrity":{"algorithm":"SHA256","hash":"6dd475782f2897648a683c48b2fa015a15b8f06856760bddc8a17a63f418bacb","blockSize":4194304,"blocks":["6dd475782f2897648a683c48b2fa015a15b8f06856760bddc8a17a63f418bacb"]}},"UniJIS2004-UTF8-H.bcmap":{"size":41779,"offset":"18083304","integrity":{"algorithm":"SHA256","hash":"691c614ce432b3e62486efb54e5c84c6da5afe9b51b21253bde4758feb484183","blockSize":4194304,"blocks":["691c614ce432b3e62486efb54e5c84c6da5afe9b51b21253bde4758feb484183"]}},"UniJIS2004-UTF8-V.bcmap":{"size":682,"offset":"18125083","integrity":{"algorithm":"SHA256","hash":"40a8c7ea2d46711c5f78fc9a878a7db68b1543ba5cd60ecf14f519a2deb829b7","blockSize":4194304,"blocks":["40a8c7ea2d46711c5f78fc9a878a7db68b1543ba5cd60ecf14f519a2deb829b7"]}},"UniJISPro-UCS2-HW-V.bcmap":{"size":705,"offset":"18125765","integrity":{"algorithm":"SHA256","hash":"6826f94d789d7bf1960668c1c5819c34c9585c1b23152fbc19ee81c7df08524b","blockSize":4194304,"blocks":["6826f94d789d7bf1960668c1c5819c34c9585c1b23152fbc19ee81c7df08524b"]}},"UniJISPro-UCS2-V.bcmap":{"size":689,"offset":"18126470","integrity":{"algorithm":"SHA256","hash":"493de9fd1a08f7946065d8ab58f0c3c9fe489f5a0f109f2d05a3169b4bd5789f","blockSize":4194304,"blocks":["493de9fd1a08f7946065d8ab58f0c3c9fe489f5a0f109f2d05a3169b4bd5789f"]}},"UniJISPro-UTF8-V.bcmap":{"size":726,"offset":"18127159","integrity":{"algorithm":"SHA256","hash":"6181d382cf736c5e09492e8be9f26f31fa25b7462253f23ab16646af432cad81","blockSize":4194304,"blocks":["6181d382cf736c5e09492e8be9f26f31fa25b7462253f23ab16646af432cad81"]}},"UniJISX0213-UTF32-H.bcmap":{"size":40517,"offset":"18127885","integrity":{"algorithm":"SHA256","hash":"692044e1fb33445668632bc9fe7386805c624864be1ddeb29d65bb0c99fc630c","blockSize":4194304,"blocks":["692044e1fb33445668632bc9fe7386805c624864be1ddeb29d65bb0c99fc630c"]}},"UniJISX0213-UTF32-V.bcmap":{"size":684,"offset":"18168402","integrity":{"algorithm":"SHA256","hash":"dd54e16ca7bffb3a886242549b2bf7d78a277087f7c60d2636f118c21a5b0646","blockSize":4194304,"blocks":["dd54e16ca7bffb3a886242549b2bf7d78a277087f7c60d2636f118c21a5b0646"]}},"UniJISX02132004-UTF32-H.bcmap":{"size":40608,"offset":"18169086","integrity":{"algorithm":"SHA256","hash":"f80ea5a989be30ccda5a8804baef6d3b4b044d2b339bf8b31c671b2466171cf6","blockSize":4194304,"blocks":["f80ea5a989be30ccda5a8804baef6d3b4b044d2b339bf8b31c671b2466171cf6"]}},"UniJISX02132004-UTF32-V.bcmap":{"size":688,"offset":"18209694","integrity":{"algorithm":"SHA256","hash":"94c22bd99e771c5fbe0dd8dc39850570d4db0075074aca13e272813edd7cc57f","blockSize":4194304,"blocks":["94c22bd99e771c5fbe0dd8dc39850570d4db0075074aca13e272813edd7cc57f"]}},"UniKS-UCS2-H.bcmap":{"size":25783,"offset":"18210382","integrity":{"algorithm":"SHA256","hash":"a1081396ab4adb6f4a5b6c15f896963c244c1c9bcb65ce5616d06096a1b9811c","blockSize":4194304,"blocks":["a1081396ab4adb6f4a5b6c15f896963c244c1c9bcb65ce5616d06096a1b9811c"]}},"UniKS-UCS2-V.bcmap":{"size":178,"offset":"18236165","integrity":{"algorithm":"SHA256","hash":"6cab547431958fbdc1d401d06ebd4dd61a73f5509a10f974df32bcbca11a2e43","blockSize":4194304,"blocks":["6cab547431958fbdc1d401d06ebd4dd61a73f5509a10f974df32bcbca11a2e43"]}},"UniKS-UTF16-H.bcmap":{"size":26327,"offset":"18236343","integrity":{"algorithm":"SHA256","hash":"42d35b396286499dfae1737a07adb3a64500df37b426580bfb1d3ea872938519","blockSize":4194304,"blocks":["42d35b396286499dfae1737a07adb3a64500df37b426580bfb1d3ea872938519"]}},"UniKS-UTF16-V.bcmap":{"size":164,"offset":"18262670","integrity":{"algorithm":"SHA256","hash":"5bdb7390c80dcc136cb47d41dc7460082560969c17322ee739fe3020fb642410","blockSize":4194304,"blocks":["5bdb7390c80dcc136cb47d41dc7460082560969c17322ee739fe3020fb642410"]}},"UniKS-UTF32-H.bcmap":{"size":26451,"offset":"18262834","integrity":{"algorithm":"SHA256","hash":"3a01ec51ed1b828101351e337ffb8250abe11880032e5210f881170fed2588de","blockSize":4194304,"blocks":["3a01ec51ed1b828101351e337ffb8250abe11880032e5210f881170fed2588de"]}},"UniKS-UTF32-V.bcmap":{"size":168,"offset":"18289285","integrity":{"algorithm":"SHA256","hash":"dfda895eceaed081af030dbbb962b49629eea817fc3c02bae15db93d0c68acd7","blockSize":4194304,"blocks":["dfda895eceaed081af030dbbb962b49629eea817fc3c02bae15db93d0c68acd7"]}},"UniKS-UTF8-H.bcmap":{"size":27790,"offset":"18289453","integrity":{"algorithm":"SHA256","hash":"3fac9c65145f72d7d42157a3b9c5ed6904632184e6a0888f2b828699afd2002f","blockSize":4194304,"blocks":["3fac9c65145f72d7d42157a3b9c5ed6904632184e6a0888f2b828699afd2002f"]}},"UniKS-UTF8-V.bcmap":{"size":169,"offset":"18317243","integrity":{"algorithm":"SHA256","hash":"9ecc6cf30dd354b9778ddba163b6cc7302b087ce9f39d1ba73472d2b75ed13ca","blockSize":4194304,"blocks":["9ecc6cf30dd354b9778ddba163b6cc7302b087ce9f39d1ba73472d2b75ed13ca"]}},"V.bcmap":{"size":166,"offset":"18317412","integrity":{"algorithm":"SHA256","hash":"b9ad1c0c09ff14bca52f9a28a9767eb857ad0e8946e64ba14c7387a7eb69866a","blockSize":4194304,"blocks":["b9ad1c0c09ff14bca52f9a28a9767eb857ad0e8946e64ba14c7387a7eb69866a"]}},"WP-Symbol.bcmap":{"size":179,"offset":"18317578","integrity":{"algorithm":"SHA256","hash":"543923bead225732aba30976690ee89095a19628277b5863efecc2c728d5d7bf","blockSize":4194304,"blocks":["543923bead225732aba30976690ee89095a19628277b5863efecc2c728d5d7bf"]}}}},"iccs":{"files":{"CGATS001Compat-v2-micro.icc":{"size":8464,"offset":"18317757","integrity":{"algorithm":"SHA256","hash":"73e1ba37d2bad5bab2a964f40a9eed96209666efc067c3322626214bbef234a0","blockSize":4194304,"blocks":["73e1ba37d2bad5bab2a964f40a9eed96209666efc067c3322626214bbef234a0"]}},"LICENSE":{"size":6553,"offset":"18326221","integrity":{"algorithm":"SHA256","hash":"286e4fd7b447330b2c88e23890e3cd0a9d38cb398d4a59cb247f578ccbda3213","blockSize":4194304,"blocks":["286e4fd7b447330b2c88e23890e3cd0a9d38cb398d4a59cb247f578ccbda3213"]}}}},"images":{"files":{"annotation-check.svg":{"size":415,"offset":"18332774","integrity":{"algorithm":"SHA256","hash":"9a680f1212888ede7dcae6bfc8cafc447babf4ce531271c8d07277b0aedade96","blockSize":4194304,"blocks":["9a680f1212888ede7dcae6bfc8cafc447babf4ce531271c8d07277b0aedade96"]}},"annotation-comment.svg":{"size":883,"offset":"18333189","integrity":{"algorithm":"SHA256","hash":"c58b385b4a0be6de822a3262b8191073d1730f6420368bd9c6d80db7312327ff","blockSize":4194304,"blocks":["c58b385b4a0be6de822a3262b8191073d1730f6420368bd9c6d80db7312327ff"]}},"annotation-help.svg":{"size":2168,"offset":"18334072","integrity":{"algorithm":"SHA256","hash":"74d9bba0814d12f5ae2715189e1747b7edf5ff6d82c4ca75bae86d717319b6eb","blockSize":4194304,"blocks":["74d9bba0814d12f5ae2715189e1747b7edf5ff6d82c4ca75bae86d717319b6eb"]}},"annotation-insert.svg":{"size":408,"offset":"18336240","integrity":{"algorithm":"SHA256","hash":"b2153e2c88c62179029ea9876d463216529ecf581b77d52c971a2cdf3d3166c6","blockSize":4194304,"blocks":["b2153e2c88c62179029ea9876d463216529ecf581b77d52c971a2cdf3d3166c6"]}},"annotation-key.svg":{"size":1452,"offset":"18336648","integrity":{"algorithm":"SHA256","hash":"5772b8dd158b0f02bb2be689bb680f4903d84e202cb29a3dc0560af53134c6ba","blockSize":4194304,"blocks":["5772b8dd158b0f02bb2be689bb680f4903d84e202cb29a3dc0560af53134c6ba"]}},"annotation-newparagraph.svg":{"size":426,"offset":"18338100","integrity":{"algorithm":"SHA256","hash":"a583cca122263d94c3eebfefe83c965a1b305b9c84e5aa3c5ba10527941db7db","blockSize":4194304,"blocks":["a583cca122263d94c3eebfefe83c965a1b305b9c84e5aa3c5ba10527941db7db"]}},"annotation-noicon.svg":{"size":158,"offset":"18338526","integrity":{"algorithm":"SHA256","hash":"76399e70d311834d11ab2d6239118b36847d79a78d7655b1f839d51c811304cf","blockSize":4194304,"blocks":["76399e70d311834d11ab2d6239118b36847d79a78d7655b1f839d51c811304cf"]}},"annotation-note.svg":{"size":1041,"offset":"18338684","integrity":{"algorithm":"SHA256","hash":"11a75c9f233dd3e5e3500edcdd733358394f28395337616e8b0430694bf0dba1","blockSize":4194304,"blocks":["11a75c9f233dd3e5e3500edcdd733358394f28395337616e8b0430694bf0dba1"]}},"annotation-paperclip.svg":{"size":552,"offset":"18339725","integrity":{"algorithm":"SHA256","hash":"0213c8baed4f8c497881ffed0e49abb309291d51725aaf1a0a757174b4999368","blockSize":4194304,"blocks":["0213c8baed4f8c497881ffed0e49abb309291d51725aaf1a0a757174b4999368"]}},"annotation-paragraph.svg":{"size":1143,"offset":"18340277","integrity":{"algorithm":"SHA256","hash":"efbcd2a6cfb4581dad74a1c09ad43cf2b8245611e5b19c966317da948f2bcb7c","blockSize":4194304,"blocks":["efbcd2a6cfb4581dad74a1c09ad43cf2b8245611e5b19c966317da948f2bcb7c"]}},"annotation-pushpin.svg":{"size":1375,"offset":"18341420","integrity":{"algorithm":"SHA256","hash":"22197186d18445959e5fe5577d8e34440b31d87c811daf47318078310c0c5530","blockSize":4194304,"blocks":["22197186d18445959e5fe5577d8e34440b31d87c811daf47318078310c0c5530"]}}}},"pdf.min.mjs":{"size":566729,"offset":"18342795","integrity":{"algorithm":"SHA256","hash":"f298004f6e2f4e67faab473513f322edc506295968e96b50041cb1a69ea90279","blockSize":4194304,"blocks":["f298004f6e2f4e67faab473513f322edc506295968e96b50041cb1a69ea90279"]}},"pdf.viewer.min.mjs":{"size":488821,"offset":"18909524","integrity":{"algorithm":"SHA256","hash":"7060308a7ffa11ab3112458ec58f740eb90643849beeaa6d9c9ff4441e9d35af","blockSize":4194304,"blocks":["7060308a7ffa11ab3112458ec58f740eb90643849beeaa6d9c9ff4441e9d35af"]}},"pdf.worker.min.mjs":{"size":1130698,"offset":"19398345","integrity":{"algorithm":"SHA256","hash":"0235bc7b0c7822334edb2f82eb2ffc7954b971e4c7e57acca4703f6c2555efe4","blockSize":4194304,"blocks":["0235bc7b0c7822334edb2f82eb2ffc7954b971e4c7e57acca4703f6c2555efe4"]}},"standard_fonts":{"files":{"FoxitDingbats.pfb":{"size":29513,"offset":"20529043","integrity":{"algorithm":"SHA256","hash":"845c752392b6c914fb989c75a08b7792b88f542d2499042ef2889f8c814a16ed","blockSize":4194304,"blocks":["845c752392b6c914fb989c75a08b7792b88f542d2499042ef2889f8c814a16ed"]}},"FoxitFixed.pfb":{"size":17597,"offset":"20558556","integrity":{"algorithm":"SHA256","hash":"b6c8fe53f134b8b6d4578cd2d544df4cee9624c4efa8d51a560fb40ea296101b","blockSize":4194304,"blocks":["b6c8fe53f134b8b6d4578cd2d544df4cee9624c4efa8d51a560fb40ea296101b"]}},"FoxitFixedBold.pfb":{"size":18055,"offset":"20576153","integrity":{"algorithm":"SHA256","hash":"f1b7159702973f54fc86254ea38bcf3712b2a736eb3a0995751e9f4bb45ad603","blockSize":4194304,"blocks":["f1b7159702973f54fc86254ea38bcf3712b2a736eb3a0995751e9f4bb45ad603"]}},"FoxitFixedBoldItalic.pfb":{"size":19151,"offset":"20594208","integrity":{"algorithm":"SHA256","hash":"8a000945843bd31add06aee63bf9fd41b7578b4f3242a4b7cd46349ad9d24d4d","blockSize":4194304,"blocks":["8a000945843bd31add06aee63bf9fd41b7578b4f3242a4b7cd46349ad9d24d4d"]}},"FoxitFixedItalic.pfb":{"size":18746,"offset":"20613359","integrity":{"algorithm":"SHA256","hash":"5007faf8320fa1fcc08b8894b356ad976f60b992ba29ee5272578bbdebaf3876","blockSize":4194304,"blocks":["5007faf8320fa1fcc08b8894b356ad976f60b992ba29ee5272578bbdebaf3876"]}},"FoxitSerif.pfb":{"size":19469,"offset":"20632105","integrity":{"algorithm":"SHA256","hash":"4f57d2b9d884af8f907bf22df6019b52d86cbf6214fdbd02b1ae05472a543f35","blockSize":4194304,"blocks":["4f57d2b9d884af8f907bf22df6019b52d86cbf6214fdbd02b1ae05472a543f35"]}},"FoxitSerifBold.pfb":{"size":19395,"offset":"20651574","integrity":{"algorithm":"SHA256","hash":"0bdf4b04e964139818d51eda03d566ba999fc3ba2421b1c6c51f9dc969022e80","blockSize":4194304,"blocks":["0bdf4b04e964139818d51eda03d566ba999fc3ba2421b1c6c51f9dc969022e80"]}},"FoxitSerifBoldItalic.pfb":{"size":20733,"offset":"20670969","integrity":{"algorithm":"SHA256","hash":"a406cac82583bf98175cb62c87ed5e95c45fbb34eece63a10b0a13e793cb2e10","blockSize":4194304,"blocks":["a406cac82583bf98175cb62c87ed5e95c45fbb34eece63a10b0a13e793cb2e10"]}},"FoxitSerifItalic.pfb":{"size":21227,"offset":"20691702","integrity":{"algorithm":"SHA256","hash":"610ae0687198045c4db5d1a6650fd5e92536631706382eb8b72e38df578d0ae9","blockSize":4194304,"blocks":["610ae0687198045c4db5d1a6650fd5e92536631706382eb8b72e38df578d0ae9"]}},"FoxitSymbol.pfb":{"size":16729,"offset":"20712929","integrity":{"algorithm":"SHA256","hash":"47967d055530e7357088a08403115425643ec2cdfd6201ba8af0fbd7116c1539","blockSize":4194304,"blocks":["47967d055530e7357088a08403115425643ec2cdfd6201ba8af0fbd7116c1539"]}},"LICENSE_FOXIT":{"size":1553,"offset":"20729658","integrity":{"algorithm":"SHA256","hash":"b578cdd2345840ada550bd12519533812320d5f1d21cf4c1c7e1b1b0a31c98b7","blockSize":4194304,"blocks":["b578cdd2345840ada550bd12519533812320d5f1d21cf4c1c7e1b1b0a31c98b7"]}},"LICENSE_LIBERATION":{"size":4414,"offset":"20731211","integrity":{"algorithm":"SHA256","hash":"93fed46019c38bbe566b479d22148e2e8a1e85ada614accb0211c37b2c61c19b","blockSize":4194304,"blocks":["93fed46019c38bbe566b479d22148e2e8a1e85ada614accb0211c37b2c61c19b"]}},"LiberationSans-Bold.ttf":{"size":137052,"offset":"20735625","integrity":{"algorithm":"SHA256","hash":"361c61b82d575c5c35fd9157fda8b0194bcfcd0d88ea8521a4fb5dd53d33dddc","blockSize":4194304,"blocks":["361c61b82d575c5c35fd9157fda8b0194bcfcd0d88ea8521a4fb5dd53d33dddc"]}},"LiberationSans-BoldItalic.ttf":{"size":135124,"offset":"20872677","integrity":{"algorithm":"SHA256","hash":"a224075ac17495ad0a3af3bc0a419ac0704a8b3fd1095456201fb9b095fc281d","blockSize":4194304,"blocks":["a224075ac17495ad0a3af3bc0a419ac0704a8b3fd1095456201fb9b095fc281d"]}},"LiberationSans-Italic.ttf":{"size":162036,"offset":"21007801","integrity":{"algorithm":"SHA256","hash":"832b4406dbef23628800d3aaad21048534ac84d7e3ad955be83b8172ed8ef512","blockSize":4194304,"blocks":["832b4406dbef23628800d3aaad21048534ac84d7e3ad955be83b8172ed8ef512"]}},"LiberationSans-Regular.ttf":{"size":139512,"offset":"21169837","integrity":{"algorithm":"SHA256","hash":"f8ace1f892b2bd9dc1792ba7f097fa7588f84fed48321480e04de5390828221f","blockSize":4194304,"blocks":["f8ace1f892b2bd9dc1792ba7f097fa7588f84fed48321480e04de5390828221f"]}}}},"version.json":{"size":65,"offset":"21309349","integrity":{"algorithm":"SHA256","hash":"0a8ac68bb7f1845ad8eb795e7147abf66f75c79b5e585c5985dbad4d42ad1eec","blockSize":4194304,"blocks":["0a8ac68bb7f1845ad8eb795e7147abf66f75c79b5e585c5985dbad4d42ad1eec"]}},"wasm":{"files":{"LICENSE_OPENJPEG":{"size":2112,"offset":"21309414","integrity":{"algorithm":"SHA256","hash":"a6af136f3e15038a666b61f376612a07d9a4e48cb7c01adbf3e33b3f14ab49b6","blockSize":4194304,"blocks":["a6af136f3e15038a666b61f376612a07d9a4e48cb7c01adbf3e33b3f14ab49b6"]}},"LICENSE_PDFJS_OPENJPEG":{"size":1285,"offset":"21311526","integrity":{"algorithm":"SHA256","hash":"717fc62da03292dbb4dd0c8280bd4ce7bb8550dcf31d772bc93455fb50313425","blockSize":4194304,"blocks":["717fc62da03292dbb4dd0c8280bd4ce7bb8550dcf31d772bc93455fb50313425"]}},"LICENSE_PDFJS_QCMS":{"size":1285,"offset":"21312811","integrity":{"algorithm":"SHA256","hash":"eb5104ca33552be007857a28351bc408f379ddd4bfacab1226b09c6d1e9fd7c4","blockSize":4194304,"blocks":["eb5104ca33552be007857a28351bc408f379ddd4bfacab1226b09c6d1e9fd7c4"]}},"LICENSE_QCMS":{"size":1121,"offset":"21314096","integrity":{"algorithm":"SHA256","hash":"36d847ae882f6574ebc72f56a4f354e4f104fde4a584373496482e97d52d31bc","blockSize":4194304,"blocks":["36d847ae882f6574ebc72f56a4f354e4f104fde4a584373496482e97d52d31bc"]}},"openjpeg.wasm":{"size":257382,"offset":"21315217","integrity":{"algorithm":"SHA256","hash":"cb031f36245b389e1f5bffc59d10eed35bb0f85d7368b46c3f0b462042ec8e9e","blockSize":4194304,"blocks":["cb031f36245b389e1f5bffc59d10eed35bb0f85d7368b46c3f0b462042ec8e9e"]}},"openjpeg_nowasm_fallback.js":{"size":462316,"offset":"21572599","integrity":{"algorithm":"SHA256","hash":"53c228428a8861035a34738966af263fc9d4cee6df25a0ad942af947469a0bd9","blockSize":4194304,"blocks":["53c228428a8861035a34738966af263fc9d4cee6df25a0ad942af947469a0bd9"]}},"qcms_bg.wasm":{"size":94519,"offset":"22034915","integrity":{"algorithm":"SHA256","hash":"6017eca5939cde1836e88e6d8cd27ae039246f206515ea4487bdfd0e3fb16e26","blockSize":4194304,"blocks":["6017eca5939cde1836e88e6d8cd27ae039246f206515ea4487bdfd0e3fb16e26"]}}}}}},"pixi.min.js":{"size":487134,"offset":"22129434","integrity":{"algorithm":"SHA256","hash":"842814b22c348dcdab381ffb79da3763ff0672271f60f09dababa52656fd31b8","blockSize":4194304,"blocks":["842814b22c348dcdab381ffb79da3763ff0672271f60f09dababa52656fd31b8"]}},"prism.min.js":{"size":576531,"offset":"22616568","integrity":{"algorithm":"SHA256","hash":"9389ca2110991b037228c190018c94abcf25d1af0ad32fc51b78263660acbddb","blockSize":4194304,"blocks":["9389ca2110991b037228c190018c94abcf25d1af0ad32fc51b78263660acbddb"]}},"readability.d.ts":{"size":1621,"offset":"23193099","integrity":{"algorithm":"SHA256","hash":"128e1d29cfcd436e5949a7c67dd3dd4f6412b0f45095fd02a175f1deed213638","blockSize":4194304,"blocks":["128e1d29cfcd436e5949a7c67dd3dd4f6412b0f45095fd02a175f1deed213638"]}},"readability.js":{"size":32556,"offset":"23194720","integrity":{"algorithm":"SHA256","hash":"b17dea4bd122b5f0c32b6d55801607ea1492292f14aba9d97448f1fde395a2ef","blockSize":4194304,"blocks":["b17dea4bd122b5f0c32b6d55801607ea1492292f14aba9d97448f1fde395a2ef"]}},"reveal":{"files":{"black.css":{"size":6980,"offset":"23227276","integrity":{"algorithm":"SHA256","hash":"67439d656fa1c04ebaef2f252729b954524a55de79afb4a399749eae063b1d74","blockSize":4194304,"blocks":["67439d656fa1c04ebaef2f252729b954524a55de79afb4a399749eae063b1d74"]}},"reveal.css":{"size":46725,"offset":"23234256","integrity":{"algorithm":"SHA256","hash":"cb3c0deb593f2f6527a5955f47a3f6e2c192b2bed35fb52231c95966e2d2d727","blockSize":4194304,"blocks":["cb3c0deb593f2f6527a5955f47a3f6e2c192b2bed35fb52231c95966e2d2d727"]}},"reveal.js":{"size":89690,"offset":"23280981","integrity":{"algorithm":"SHA256","hash":"b82b9b79b9052fb447f74c2b6f63b1d2d906b419a8a7f648d70418418bd7daf2","blockSize":4194304,"blocks":["b82b9b79b9052fb447f74c2b6f63b1d2d906b419a8a7f648d70418418bd7daf2"]}},"white.css":{"size":6967,"offset":"23370671","integrity":{"algorithm":"SHA256","hash":"2dae508dd0677cc750605df1a62d8cf90754a5ea80f1d00f446d4f5e49af5e72","blockSize":4194304,"blocks":["2dae508dd0677cc750605df1a62d8cf90754a5ea80f1d00f446d4f5e49af5e72"]}}}},"scrypt.js":{"size":17877,"offset":"23377638","integrity":{"algorithm":"SHA256","hash":"437b12082063e4d09d2e3704a9fcb398feaef4978e9c4969bfb1d00cfd433676","blockSize":4194304,"blocks":["437b12082063e4d09d2e3704a9fcb398feaef4978e9c4969bfb1d00cfd433676"]}},"turndown.js":{"size":10697,"offset":"23395515","integrity":{"algorithm":"SHA256","hash":"f552fd2818a9d3c0ad6fa9f47524c52b4966a9d9a31e68cfaf05196c6cd773f2","blockSize":4194304,"blocks":["f552fd2818a9d3c0ad6fa9f47524c52b4966a9d9a31e68cfaf05196c6cd773f2"]}}}},"main.js":{"size":33689,"offset":"23406212","integrity":{"algorithm":"SHA256","hash":"83b8c57fd6611f50f4387d365fc38d9998535186259fb2aaf6ba7cda4eb501c4","blockSize":4194304,"blocks":["83b8c57fd6611f50f4387d365fc38d9998535186259fb2aaf6ba7cda4eb501c4"]}},"node_modules":{"files":{".pnpm":{"files":{"lock.yaml":{"size":432,"offset":"23439901","integrity":{"algorithm":"SHA256","hash":"11b7c68ed849e371baae02d70edec03756cbbcdb28cd4fdf18c668f225046bb0","blockSize":4194304,"blocks":["11b7c68ed849e371baae02d70edec03756cbbcdb28cd4fdf18c668f225046bb0"]}}}},"btime":{"link":"node_modules\\D:\\Projects\\obsidian-stage\\electron\\btime"},"get-fonts":{"link":"node_modules\\D:\\Projects\\obsidian-stage\\electron\\get-fonts"},"vibrancy-win":{"link":"node_modules\\D:\\Projects\\obsidian-stage\\electron\\vibrancy-win"}}},"package.json":{"size":260,"offset":"23440333","integrity":{"algorithm":"SHA256","hash":"2b8ec5d0b5d052e03dab0734f97fa4b5d564118a15220479e6a69e9bb1291b26","blockSize":4194304,"blocks":["2b8ec5d0b5d052e03dab0734f97fa4b5d564118a15220479e6a69e9bb1291b26"]}},"public":{"files":{"fonts":{"files":{"05b618077343fbbd92b7.ttf":{"size":155288,"offset":"23440593","integrity":{"algorithm":"SHA256","hash":"a0cfec834df50e21cdb3d15bf93e87ed033d8c26693f9ede6efe24325ae22c9e","blockSize":4194304,"blocks":["a0cfec834df50e21cdb3d15bf93e87ed033d8c26693f9ede6efe24325ae22c9e"]}},"085cb93e613ba3d40d2b.woff2":{"size":112184,"offset":"23595881","integrity":{"algorithm":"SHA256","hash":"816008586a180c0037b4ec1b5f45e08fe8fdbedec770f5d715339cd70accf118","blockSize":4194304,"blocks":["816008586a180c0037b4ec1b5f45e08fe8fdbedec770f5d715339cd70accf118"]}},"293fd13dbca5a3e450ef.woff2":{"size":105924,"offset":"23708065","integrity":{"algorithm":"SHA256","hash":"1b498b959e5b7decbf9185803591d25bc1fbf83e798372ed30d32d5c79d82ff6","blockSize":4194304,"blocks":["1b498b959e5b7decbf9185803591d25bc1fbf83e798372ed30d32d5c79d82ff6"]}},"2d5198822ab091ce4305.woff2":{"size":104332,"offset":"23813989","integrity":{"algorithm":"SHA256","hash":"36b86832422c8b2f8eb7a0de635369c10fcebbeb8d3a0f80edeacf8252bfd6da","blockSize":4194304,"blocks":["36b86832422c8b2f8eb7a0de635369c10fcebbeb8d3a0f80edeacf8252bfd6da"]}},"454577c22304619db035.ttf":{"size":161376,"offset":"23918321","integrity":{"algorithm":"SHA256","hash":"ba51b929995b3088ff1932d9d6835c90ccf304b296a3b8e103d2e95b958109ee","blockSize":4194304,"blocks":["ba51b929995b3088ff1932d9d6835c90ccf304b296a3b8e103d2e95b958109ee"]}},"4bb6ac751d1c5478ff3a.woff2":{"size":7876,"offset":"24079697","integrity":{"algorithm":"SHA256","hash":"81d33d08a96d99034c41b49ac980f63b353175f919db817d74e0405749af03db","blockSize":4194304,"blocks":["81d33d08a96d99034c41b49ac980f63b353175f919db817d74e0405749af03db"]}},"52ac8f3034507f1d9e53.ttf":{"size":191568,"offset":"24087573","integrity":{"algorithm":"SHA256","hash":"839f42df29a5a83470888b9a3aa4064fc1bc35e6616bb542226d89086f019ec5","blockSize":4194304,"blocks":["839f42df29a5a83470888b9a3aa4064fc1bc35e6616bb542226d89086f019ec5"]}},"535a6cf662596b3bd6a6.woff2":{"size":111708,"offset":"24279141","integrity":{"algorithm":"SHA256","hash":"cf6b1d6cc9a72c12e8276c2544bbd1c81fb337b80c760d9482a5ccfbc8203b66","blockSize":4194304,"blocks":["cf6b1d6cc9a72c12e8276c2544bbd1c81fb337b80c760d9482a5ccfbc8203b66"]}},"70cc7ff27245e82ad414.ttf":{"size":192740,"offset":"24390849","integrity":{"algorithm":"SHA256","hash":"6e5dd0494f63d85970156cd54b6ac568b82a392d135db08bbf5cc3048d489aa9","blockSize":4194304,"blocks":["6e5dd0494f63d85970156cd54b6ac568b82a392d135db08bbf5cc3048d489aa9"]}},"72505e6a122c6acd5471.woff2":{"size":104232,"offset":"24583589","integrity":{"algorithm":"SHA256","hash":"b6cd094ac0266d57a2ad005d1e2e2125cfd2475cd816b33e4774795d14242afc","blockSize":4194304,"blocks":["b6cd094ac0266d57a2ad005d1e2e2125cfd2475cd816b33e4774795d14242afc"]}},"94f2f163d4b698242fef.otf":{"size":66800,"offset":"24687821","integrity":{"algorithm":"SHA256","hash":"21d7fc503db5e58915ced447c70c1743ae04ba01b5114c67bef1ea89d082653a","blockSize":4194304,"blocks":["21d7fc503db5e58915ced447c70c1743ae04ba01b5114c67bef1ea89d082653a"]}},"b5f0f109bc88052d4000.woff2":{"size":105804,"offset":"24754621","integrity":{"algorithm":"SHA256","hash":"152261291c938aa5aad6a56d52b47ffcb893d1c0387e76d7f270a7382ff786d5","blockSize":4194304,"blocks":["152261291c938aa5aad6a56d52b47ffcb893d1c0387e76d7f270a7382ff786d5"]}},"c8ba52b05a9ef10f4758.woff2":{"size":98868,"offset":"24860425","integrity":{"algorithm":"SHA256","hash":"d612f1212b452af07f1a5defb2b672e76a91f7139e7499fa48bb9b2b985c22d6","blockSize":4194304,"blocks":["d612f1212b452af07f1a5defb2b672e76a91f7139e7499fa48bb9b2b985c22d6"]}},"cb10ffd7684cd9836a05.woff2":{"size":106876,"offset":"24959293","integrity":{"algorithm":"SHA256","hash":"900058dffaf216c9a853e2d7e4109bfa2a58994237b2d4e5793734e4c2ecb4ac","blockSize":4194304,"blocks":["900058dffaf216c9a853e2d7e4109bfa2a58994237b2d4e5793734e4c2ecb4ac"]}},"cbe0ae49c52c920fd563.woff2":{"size":106108,"offset":"25066169","integrity":{"algorithm":"SHA256","hash":"307d980962214ffa01b106339edcb5d2e6ef3a9607b9b815bb7287d2c735c68f","blockSize":4194304,"blocks":["307d980962214ffa01b106339edcb5d2e6ef3a9607b9b815bb7287d2c735c68f"]}}}},"images":{"files":{"2308ab1944a6bfa5c5b8.svg":{"size":278,"offset":"25172277","integrity":{"algorithm":"SHA256","hash":"a44ac4cbf79c6765f4bdc3a0dc3fb51b56ed5eb4679177f0a40f04b63b3e3a3c","blockSize":4194304,"blocks":["a44ac4cbf79c6765f4bdc3a0dc3fb51b56ed5eb4679177f0a40f04b63b3e3a3c"]}},"6155340132a851f6089e.svg":{"size":315,"offset":"25172555","integrity":{"algorithm":"SHA256","hash":"a7c6a118d17f6a296037b519e9891e08951de59c289fe41ec2596a63c3b28516","blockSize":4194304,"blocks":["a7c6a118d17f6a296037b519e9891e08951de59c289fe41ec2596a63c3b28516"]}}}}}},"sandbox":{"files":{"Adventurer":{"files":{"From plain-text note-taking.md":{"size":539,"offset":"25172870","integrity":{"algorithm":"SHA256","hash":"9b12dec82ce5221eb00bd35da14de85b29ba23ee13447211c54249ff133377f0","blockSize":4194304,"blocks":["9b12dec82ce5221eb00bd35da14de85b29ba23ee13447211c54249ff133377f0"]}},"From standard note-taking.md":{"size":629,"offset":"25173409","integrity":{"algorithm":"SHA256","hash":"ba238890dce675fe849de8b2a66b2ea7b38f538f88db4c75239b85bf6ea84d91","blockSize":4194304,"blocks":["ba238890dce675fe849de8b2a66b2ea7b38f538f88db4c75239b85bf6ea84d91"]}},"No prior experience.md":{"size":725,"offset":"25174038","integrity":{"algorithm":"SHA256","hash":"1dca8398bb52c47bf051e3f2de63678439bfc4e281b7ecc09e926ccb3a7269d2","blockSize":4194304,"blocks":["1dca8398bb52c47bf051e3f2de63678439bfc4e281b7ecc09e926ccb3a7269d2"]}}}},"Formatting":{"files":{"Blockquote.md":{"size":450,"offset":"25174763","integrity":{"algorithm":"SHA256","hash":"a14331ae13f3fe85f31a8c7b19ece8e561f47041160fb11813614129825fc1af","blockSize":4194304,"blocks":["a14331ae13f3fe85f31a8c7b19ece8e561f47041160fb11813614129825fc1af"]}},"Callout.md":{"size":2410,"offset":"25175213","integrity":{"algorithm":"SHA256","hash":"58ea2f7cb85be1ef1fed7752816643f420035dc60226126f993947dff9812372","blockSize":4194304,"blocks":["58ea2f7cb85be1ef1fed7752816643f420035dc60226126f993947dff9812372"]}},"Code block.md":{"size":648,"offset":"25177623","integrity":{"algorithm":"SHA256","hash":"140d6d6a4b3cae8ff1d490c965f6ccae7ad64720790516b960ce4a6c10b3542b","blockSize":4194304,"blocks":["140d6d6a4b3cae8ff1d490c965f6ccae7ad64720790516b960ce4a6c10b3542b"]}},"Comment.md":{"size":543,"offset":"25178271","integrity":{"algorithm":"SHA256","hash":"b6675d30946bfbf16b5bb2519fb7ca87030119d3964e62ee7653c768637d2cd3","blockSize":4194304,"blocks":["b6675d30946bfbf16b5bb2519fb7ca87030119d3964e62ee7653c768637d2cd3"]}},"Diagram.md":{"size":1349,"offset":"25178814","integrity":{"algorithm":"SHA256","hash":"ae63d3debf5b8b853cd3520e9a331d202a784ef46ad60ad7e543623a995f870b","blockSize":4194304,"blocks":["ae63d3debf5b8b853cd3520e9a331d202a784ef46ad60ad7e543623a995f870b"]}},"Embeds.md":{"size":175,"offset":"25180163","integrity":{"algorithm":"SHA256","hash":"dcf078d86ca61f8e14a3744c4022868fe99561ae85b1165a4ae6f8c1c0c3fccb","blockSize":4194304,"blocks":["dcf078d86ca61f8e14a3744c4022868fe99561ae85b1165a4ae6f8c1c0c3fccb"]}},"Emphasis.md":{"size":304,"offset":"25180338","integrity":{"algorithm":"SHA256","hash":"b3d4c77faaddc35be7928422aebcd38d8ecdbb5e4b0a267f67d689a120788b65","blockSize":4194304,"blocks":["b3d4c77faaddc35be7928422aebcd38d8ecdbb5e4b0a267f67d689a120788b65"]}},"Footnote.md":{"size":745,"offset":"25180642","integrity":{"algorithm":"SHA256","hash":"b3d31043c50db127dd8101e24480276927f49c2a6d13669f456ba247d0b177e2","blockSize":4194304,"blocks":["b3d31043c50db127dd8101e24480276927f49c2a6d13669f456ba247d0b177e2"]}},"Format your notes.md":{"size":414,"offset":"25181387","integrity":{"algorithm":"SHA256","hash":"8582f2b25a11a7be36910ff8461fdf668c72cb7d3bd0e28ddca29126b7596b23","blockSize":4194304,"blocks":["8582f2b25a11a7be36910ff8461fdf668c72cb7d3bd0e28ddca29126b7596b23"]}},"Heading.md":{"size":306,"offset":"25181801","integrity":{"algorithm":"SHA256","hash":"13eda6c9c67bdd759a13021c2a80c7ba0c4c06e6be809330a69858aef93debff","blockSize":4194304,"blocks":["13eda6c9c67bdd759a13021c2a80c7ba0c4c06e6be809330a69858aef93debff"]}},"Highlighting.md":{"size":96,"offset":"25182107","integrity":{"algorithm":"SHA256","hash":"4008ec65e19f548cd0a03db474ee48f9be634393d5884a0b4ce781f8287908cd","blockSize":4194304,"blocks":["4008ec65e19f548cd0a03db474ee48f9be634393d5884a0b4ce781f8287908cd"]}},"Horizontal divider.md":{"size":111,"offset":"25182203","integrity":{"algorithm":"SHA256","hash":"4ad04c4aaf10b575e7397aaba308e4714d6a72757aad7cb4435963fa56f14452","blockSize":4194304,"blocks":["4ad04c4aaf10b575e7397aaba308e4714d6a72757aad7cb4435963fa56f14452"]}},"Images.md":{"size":314,"offset":"25182314","integrity":{"algorithm":"SHA256","hash":"e639ef2fd5830d733c1c2992cb78466cce8e16627ea25d06cc7add8a40f61d43","blockSize":4194304,"blocks":["e639ef2fd5830d733c1c2992cb78466cce8e16627ea25d06cc7add8a40f61d43"]}},"Inline code.md":{"size":137,"offset":"25182628","integrity":{"algorithm":"SHA256","hash":"09386f42d5d1af162ab965e7af81f9e8fa7b1ce19ba47ac63e7db22b26ea04bd","blockSize":4194304,"blocks":["09386f42d5d1af162ab965e7af81f9e8fa7b1ce19ba47ac63e7db22b26ea04bd"]}},"Internal link.md":{"size":66,"offset":"25182765","integrity":{"algorithm":"SHA256","hash":"10022bda6a144ba086d3583fdbc904d8f866a115d3497773dd32b77904d94220","blockSize":4194304,"blocks":["10022bda6a144ba086d3583fdbc904d8f866a115d3497773dd32b77904d94220"]}},"Links.md":{"size":1215,"offset":"25182831","integrity":{"algorithm":"SHA256","hash":"be33241dbb20babf0419351e9f55b5e6a25ae19a5988358a50f7c539d82b98d7","blockSize":4194304,"blocks":["be33241dbb20babf0419351e9f55b5e6a25ae19a5988358a50f7c539d82b98d7"]}},"Lists.md":{"size":212,"offset":"25184046","integrity":{"algorithm":"SHA256","hash":"cbb5f1f177b899ba3d3b6e1fb8a0a1ad865bab1b0b1884f57e42b61720b94236","blockSize":4194304,"blocks":["cbb5f1f177b899ba3d3b6e1fb8a0a1ad865bab1b0b1884f57e42b61720b94236"]}},"Math.md":{"size":377,"offset":"25184258","integrity":{"algorithm":"SHA256","hash":"5439cf3ab8cd987afa3660e9009b35aa6c7e49d870667a7524cbd8d10a2d8130","blockSize":4194304,"blocks":["5439cf3ab8cd987afa3660e9009b35aa6c7e49d870667a7524cbd8d10a2d8130"]}},"Strikethrough.md":{"size":158,"offset":"25184635","integrity":{"algorithm":"SHA256","hash":"8cd3e4ef711824c0090de96686eb38380f524208fb1484b19c172065ee3ac7d2","blockSize":4194304,"blocks":["8cd3e4ef711824c0090de96686eb38380f524208fb1484b19c172065ee3ac7d2"]}},"Table.md":{"size":1203,"offset":"25184793","integrity":{"algorithm":"SHA256","hash":"7e5a8ad59b29610842272e3a530cf05acd5b835bd4c8d3241ce0d4242b3e0e00","blockSize":4194304,"blocks":["7e5a8ad59b29610842272e3a530cf05acd5b835bd4c8d3241ce0d4242b3e0e00"]}},"Task.md":{"size":612,"offset":"25185996","integrity":{"algorithm":"SHA256","hash":"e86302b1b7c8e7d47ec980aae99bdd4792bdee88d5bbf9378c8cc8101ab737dc","blockSize":4194304,"blocks":["e86302b1b7c8e7d47ec980aae99bdd4792bdee88d5bbf9378c8cc8101ab737dc"]}}}},"Guides":{"files":{"Create a vault.md":{"size":809,"offset":"25186608","integrity":{"algorithm":"SHA256","hash":"4db48e0dcec725d61b9c2bf15e79830166471b8dc1c2fcf587bafa4f23e2b669","blockSize":4194304,"blocks":["4db48e0dcec725d61b9c2bf15e79830166471b8dc1c2fcf587bafa4f23e2b669"]}},"Create your first note.md":{"size":1177,"offset":"25187417","integrity":{"algorithm":"SHA256","hash":"bf351af6a87bfee71d1330102822f35c9438fada630c4bdd88dcd89133412221","blockSize":4194304,"blocks":["bf351af6a87bfee71d1330102822f35c9438fada630c4bdd88dcd89133412221"]}},"Get started with Obsidian.md":{"size":598,"offset":"25188594","integrity":{"algorithm":"SHA256","hash":"9870cb1fe6ba0b705a54650249aab07dedf702bf0aa3df6902594c0e8dabf13c","blockSize":4194304,"blocks":["9870cb1fe6ba0b705a54650249aab07dedf702bf0aa3df6902594c0e8dabf13c"]}},"Link notes.md":{"size":2674,"offset":"25189192","integrity":{"algorithm":"SHA256","hash":"d0d6e12e5eca2f19343efdc1c67f0545918929aadc1056f6b1ae29e1c958e05e","blockSize":4194304,"blocks":["d0d6e12e5eca2f19343efdc1c67f0545918929aadc1056f6b1ae29e1c958e05e"]}}}},"Plugins make Obsidian special for you.md":{"size":1138,"offset":"25191866","integrity":{"algorithm":"SHA256","hash":"d9877be748e310a7dd52dc32bc0637d29ceab6bf307b85104adc5076aa239243","blockSize":4194304,"blocks":["d9877be748e310a7dd52dc32bc0637d29ceab6bf307b85104adc5076aa239243"]}},"Start here.md":{"size":952,"offset":"25193004","integrity":{"algorithm":"SHA256","hash":"c417c2bb34d2e1ae198eb3a022be70fcf8028c2e05a312b0a60148feea929996","blockSize":4194304,"blocks":["c417c2bb34d2e1ae198eb3a022be70fcf8028c2e05a312b0a60148feea929996"]}},"Vault is just a local folder.md":{"size":1645,"offset":"25193956","integrity":{"algorithm":"SHA256","hash":"b499dd3e0001f33f9356f74ccf0283d0f0e5d84bfb576a02ce37bd7c01153107","blockSize":4194304,"blocks":["b499dd3e0001f33f9356f74ccf0283d0f0e5d84bfb576a02ce37bd7c01153107"]}}}},"sim.js":{"size":17693,"offset":"25195601","integrity":{"algorithm":"SHA256","hash":"549be2f69710af360d521c92b80c83718f673594d3dc2255a65e251199eee25d","blockSize":4194304,"blocks":["549be2f69710af360d521c92b80c83718f673594d3dc2255a65e251199eee25d"]}},"starter.html":{"size":568,"offset":"25213294","integrity":{"algorithm":"SHA256","hash":"e2e114b2d705fa9bb77d135199ce5fd0eeb7e51a2aaa9dbeac952978034a5eac","blockSize":4194304,"blocks":["e2e114b2d705fa9bb77d135199ce5fd0eeb7e51a2aaa9dbeac952978034a5eac"]}},"starter.js":{"size":367703,"offset":"25213862","integrity":{"algorithm":"SHA256","hash":"c586a2e2e0c7b71f1a386213a7692ae7f583a1175f9e567faa2f924dce206257","blockSize":4194304,"blocks":["c586a2e2e0c7b71f1a386213a7692ae7f583a1175f9e567faa2f924dce206257"]}},"worker.js":{"size":239044,"offset":"25581565","integrity":{"algorithm":"SHA256","hash":"e3ac8de49a38202bbb4a747f8abe703ed18e3a643f306996bb9f8bf554ed9049","blockSize":4194304,"blocks":["e3ac8de49a38202bbb4a747f8abe703ed18e3a643f306996bb9f8bf554ed9049"]}}}}/* @obsidian Do not edit this file directly, it is generated from the pdf.js repo * Either edit the CSS there, or override in pdf-view.less */ /* Copyright 2014 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ .messageBar{ --message-bar-close-button-color:var(--text-primary-color); --message-bar-close-button-color-hover:var(--text-primary-color); --message-bar-close-button-border-radius:4px; --message-bar-close-button-border:none; --csstools-light-dark-toggle--24:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.14); --message-bar-close-button-hover-bg-color:var(--csstools-light-dark-toggle--24, rgba(251, 251, 254, 0.14)); --csstools-light-dark-toggle--25:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.21); --message-bar-close-button-active-bg-color:var(--csstools-light-dark-toggle--25, rgba(251, 251, 254, 0.21)); --csstools-light-dark-toggle--26:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.07); --message-bar-close-button-focus-bg-color:var(--csstools-light-dark-toggle--26, rgba(251, 251, 254, 0.07)); display:flex; position:relative; padding:8px 8px 8px 16px; flex-direction:column; justify-content:center; align-items:center; gap:8px; -webkit-user-select:none; -moz-user-select:none; user-select:none; border-radius:4px; border:1px solid var(--message-bar-border-color); background:var(--message-bar-bg-color); color:var(--message-bar-fg-color); } @supports (color: light-dark(red, red)) { .messageBar{ --message-bar-close-button-hover-bg-color:light-dark( rgba(21, 20, 26, 0.14), rgba(251, 251, 254, 0.14) ); --message-bar-close-button-active-bg-color:light-dark( rgba(21, 20, 26, 0.21), rgba(251, 251, 254, 0.21) ); --message-bar-close-button-focus-bg-color:light-dark( rgba(21, 20, 26, 0.07), rgba(251, 251, 254, 0.07) ); } } .messageBar * { --csstools-light-dark-toggle--24:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.14); --message-bar-close-button-hover-bg-color:var(--csstools-light-dark-toggle--24, rgba(251, 251, 254, 0.14)); } .messageBar * { --csstools-light-dark-toggle--25:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.21); --message-bar-close-button-active-bg-color:var(--csstools-light-dark-toggle--25, rgba(251, 251, 254, 0.21)); } .messageBar * { --csstools-light-dark-toggle--26:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.07); --message-bar-close-button-focus-bg-color:var(--csstools-light-dark-toggle--26, rgba(251, 251, 254, 0.07)); } @media screen and (forced-colors: active){ .messageBar{ --message-bar-close-button-color:ButtonText; --message-bar-close-button-border:1px solid ButtonText; --message-bar-close-button-hover-bg-color:ButtonText; --message-bar-close-button-active-bg-color:ButtonText; --message-bar-close-button-focus-bg-color:ButtonText; --message-bar-close-button-color-hover:HighlightText; } } .messageBar > div{ display:flex; align-items:flex-start; gap:8px; align-self:stretch; } .messageBar > div::before{ content:""; display:inline-block; width:16px; height:16px; -webkit-mask-image:var(--message-bar-icon); mask-image:var(--message-bar-icon); -webkit-mask-size:cover; mask-size:cover; background-color:var(--message-bar-icon-color); flex-shrink:0; } .messageBar button{ cursor:pointer; } .messageBar button:focus-visible{ --csstools-light-dark-toggle--27:var(--csstools-color-scheme--dark) #0060df; outline:2px solid #0df; outline:2px solid var(--csstools-light-dark-toggle--27, #0df); outline:2px solid light-dark(#0060df, #0df); outline:var(--focus-ring-outline); outline-offset:2px; } .messageBar .closeButton{ width:32px; height:32px; background:none; border-radius:var(--message-bar-close-button-border-radius); border:var(--message-bar-close-button-border); display:flex; align-items:center; justify-content:center; } .messageBar .closeButton::before{ content:""; display:inline-block; width:16px; height:16px; -webkit-mask-image:var(--closing-button-icon); mask-image:var(--closing-button-icon); -webkit-mask-size:cover; mask-size:cover; background-color:var(--message-bar-close-button-color); } .messageBar .closeButton:hover::before{ background-color:var(--message-bar-close-button-color-hover); } .messageBar .closeButton:active::before{ background-color:var(--message-bar-close-button-color-hover); } .messageBar .closeButton:focus::before{ background-color:var(--message-bar-close-button-color-hover); } .messageBar .closeButton:hover{ background-color:var(--message-bar-close-button-hover-bg-color); } .messageBar .closeButton:active{ background-color:var(--message-bar-close-button-active-bg-color); } .messageBar .closeButton:focus{ background-color:var(--message-bar-close-button-focus-bg-color); } .messageBar .closeButton > span{ display:inline-block; width:0; height:0; overflow:hidden; } #editorUndoBar{ --csstools-light-dark-toggle--0:var(--csstools-color-scheme--dark) #15141a; --text-primary-color:var(--csstools-light-dark-toggle--0, #fbfbfe); --csstools-light-dark-toggle--1:var(--csstools-color-scheme--dark) #0060df; --message-bar-icon-color:var(--csstools-light-dark-toggle--1, #73a7f3); --csstools-light-dark-toggle--2:var(--csstools-color-scheme--dark) #deeafc; --message-bar-bg-color:var(--csstools-light-dark-toggle--2, #003070); --message-bar-fg-color:var(--text-primary-color); --csstools-light-dark-toggle--29:var(--csstools-color-scheme--dark) rgba(0, 0, 0, 0.08); --message-bar-border-color:var(--csstools-light-dark-toggle--29, rgba(255, 255, 255, 0.08)); --csstools-light-dark-toggle--30:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.07); --undo-button-bg-color:var(--csstools-light-dark-toggle--30, rgba(255, 255, 255, 0.08)); --csstools-light-dark-toggle--31:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.14); --undo-button-bg-color-hover:var(--csstools-light-dark-toggle--31, rgba(255, 255, 255, 0.14)); --csstools-light-dark-toggle--32:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.21); --undo-button-bg-color-active:var(--csstools-light-dark-toggle--32, rgba(255, 255, 255, 0.21)); --csstools-light-dark-toggle--3:var(--csstools-color-scheme--dark) #0060df; --undo-button-border:1px solid var(--csstools-light-dark-toggle--3, #0df); --undo-button-fg-color:var(--message-bar-fg-color); --undo-button-fg-color-hover:var(--undo-button-fg-color); --undo-button-fg-color-active:var(--undo-button-fg-color); position:fixed; top:50px; left:50%; transform:translateX(-50%); z-index:10; padding-top:8px; padding-bottom:8px; padding-left:16px; padding-right:8px; font:menu; font-size:15px; cursor:default; } @supports (color: light-dark(red, red)) { #editorUndoBar{ --text-primary-color:light-dark(#15141a, #fbfbfe); --message-bar-icon-color:light-dark(#0060df, #73a7f3); --message-bar-bg-color:light-dark(#deeafc, #003070); --message-bar-border-color:light-dark( rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08) ); --undo-button-bg-color:light-dark( rgba(21, 20, 26, 0.07), rgba(255, 255, 255, 0.08) ); --undo-button-bg-color-hover:light-dark( rgba(21, 20, 26, 0.14), rgba(255, 255, 255, 0.14) ); --undo-button-bg-color-active:light-dark( rgba(21, 20, 26, 0.21), rgba(255, 255, 255, 0.21) ); --undo-button-border:1px solid light-dark(#0060df, #0df); } } #editorUndoBar * { --csstools-light-dark-toggle--29:var(--csstools-color-scheme--dark) rgba(0, 0, 0, 0.08); --message-bar-border-color:var(--csstools-light-dark-toggle--29, rgba(255, 255, 255, 0.08)); } #editorUndoBar * { --csstools-light-dark-toggle--30:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.07); --undo-button-bg-color:var(--csstools-light-dark-toggle--30, rgba(255, 255, 255, 0.08)); } #editorUndoBar * { --csstools-light-dark-toggle--31:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.14); --undo-button-bg-color-hover:var(--csstools-light-dark-toggle--31, rgba(255, 255, 255, 0.14)); } #editorUndoBar * { --csstools-light-dark-toggle--32:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.21); --undo-button-bg-color-active:var(--csstools-light-dark-toggle--32, rgba(255, 255, 255, 0.21)); } #editorUndoBar * { --csstools-light-dark-toggle--0:var(--csstools-color-scheme--dark) #15141a; --text-primary-color:var(--csstools-light-dark-toggle--0, #fbfbfe); } #editorUndoBar * { --csstools-light-dark-toggle--1:var(--csstools-color-scheme--dark) #0060df; --message-bar-icon-color:var(--csstools-light-dark-toggle--1, #73a7f3); } #editorUndoBar * { --csstools-light-dark-toggle--2:var(--csstools-color-scheme--dark) #deeafc; --message-bar-bg-color:var(--csstools-light-dark-toggle--2, #003070); } #editorUndoBar * { --csstools-light-dark-toggle--3:var(--csstools-color-scheme--dark) #0060df; --undo-button-border:1px solid var(--csstools-light-dark-toggle--3, #0df); } @media screen and (forced-colors: active){ #editorUndoBar{ --text-primary-color:CanvasText; --message-bar-icon-color:CanvasText; --message-bar-bg-color:Canvas; --message-bar-border-color:CanvasText; --undo-button-bg-color:ButtonText; --undo-button-bg-color-hover:SelectedItem; --undo-button-bg-color-active:SelectedItem; --undo-button-fg-color:ButtonFace; --undo-button-fg-color-hover:SelectedItemText; --undo-button-fg-color-active:SelectedItemText; --undo-button-border:none; } } #editorUndoBar button{ cursor:pointer; } #editorUndoBar #editorUndoBarUndoButton{ border-radius:4px; font-weight:590; line-height:19.5px; color:var(--undo-button-fg-color); border:var(--undo-button-border); padding:4px 16px; margin-left:8px; height:32px; background-color:var(--undo-button-bg-color); } #editorUndoBar #editorUndoBarUndoButton:hover{ background-color:var(--undo-button-bg-color-hover); color:var(--undo-button-fg-color-hover); } #editorUndoBar #editorUndoBarUndoButton:active{ background-color:var(--undo-button-bg-color-active); color:var(--undo-button-fg-color-active); } #editorUndoBar > div{ align-items:center; } .dialog{ --csstools-light-dark-toggle--4:var(--csstools-color-scheme--dark) white; --dialog-bg-color:var(--csstools-light-dark-toggle--4, #1c1b22); --csstools-light-dark-toggle--5:var(--csstools-color-scheme--dark) white; --dialog-border-color:var(--csstools-light-dark-toggle--5, #1c1b22); --csstools-light-dark-toggle--33:var(--csstools-color-scheme--dark) rgba(58, 57, 68, 0.2); --dialog-shadow:0 2px 14px 0 var(--csstools-light-dark-toggle--33, #15141a); --csstools-light-dark-toggle--6:var(--csstools-color-scheme--dark) #15141a; --text-primary-color:var(--csstools-light-dark-toggle--6, #fbfbfe); --csstools-light-dark-toggle--7:var(--csstools-color-scheme--dark) #5b5b66; --text-secondary-color:var(--csstools-light-dark-toggle--7, #cfcfd8); --hover-filter:brightness(0.9); --csstools-light-dark-toggle--8:var(--csstools-color-scheme--dark) #0060df; --link-fg-color:var(--csstools-light-dark-toggle--8, #0df); --csstools-light-dark-toggle--9:var(--csstools-color-scheme--dark) #0250bb; --link-hover-fg-color:var(--csstools-light-dark-toggle--9, #80ebff); --csstools-light-dark-toggle--10:var(--csstools-color-scheme--dark) #f0f0f4; --separator-color:var(--csstools-light-dark-toggle--10, #52525e); --textarea-border-color:#8f8f9d; --csstools-light-dark-toggle--11:var(--csstools-color-scheme--dark) white; --textarea-bg-color:var(--csstools-light-dark-toggle--11, #42414d); --textarea-fg-color:var(--text-secondary-color); --csstools-light-dark-toggle--12:var(--csstools-color-scheme--dark) #f0f0f4; --radio-bg-color:var(--csstools-light-dark-toggle--12, #2b2a33); --csstools-light-dark-toggle--13:var(--csstools-color-scheme--dark) #fbfbfe; --radio-checked-bg-color:var(--csstools-light-dark-toggle--13, #15141a); --radio-border-color:#8f8f9d; --csstools-light-dark-toggle--14:var(--csstools-color-scheme--dark) #0060df; --radio-checked-border-color:var(--csstools-light-dark-toggle--14, #0df); --csstools-light-dark-toggle--34:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.07); --button-secondary-bg-color:var(--csstools-light-dark-toggle--34, rgba(251, 251, 254, 0.07)); --button-secondary-fg-color:var(--text-primary-color); --button-secondary-border-color:var(--button-secondary-bg-color); --csstools-light-dark-toggle--35:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.21); --button-secondary-active-bg-color:var(--csstools-light-dark-toggle--35, rgba(251, 251, 254, 0.21)); --button-secondary-active-fg-color:var(--button-secondary-fg-color); --button-secondary-active-border-color:var(--button-secondary-bg-color); --csstools-light-dark-toggle--36:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.14); --button-secondary-hover-bg-color:var(--csstools-light-dark-toggle--36, rgba(251, 251, 254, 0.14)); --button-secondary-hover-fg-color:var(--button-secondary-fg-color); --button-secondary-hover-border-color:var(--button-secondary-hover-bg-color); --button-secondary-disabled-bg-color:var(--button-secondary-bg-color); --button-secondary-disabled-border-color:var( --button-secondary-border-color ); --button-secondary-disabled-fg-color:var(--button-secondary-fg-color); --csstools-light-dark-toggle--15:var(--csstools-color-scheme--dark) #0060df; --button-primary-bg-color:var(--csstools-light-dark-toggle--15, #0df); --csstools-light-dark-toggle--16:var(--csstools-color-scheme--dark) #fbfbfe; --button-primary-fg-color:var(--csstools-light-dark-toggle--16, #15141a); --button-primary-border-color:var(--button-primary-bg-color); --csstools-light-dark-toggle--17:var(--csstools-color-scheme--dark) #054096; --button-primary-active-bg-color:var(--csstools-light-dark-toggle--17, #aaf2ff); --button-primary-active-fg-color:var(--button-primary-fg-color); --button-primary-active-border-color:var(--button-primary-active-bg-color); --csstools-light-dark-toggle--18:var(--csstools-color-scheme--dark) #0250bb; --button-primary-hover-bg-color:var(--csstools-light-dark-toggle--18, #80ebff); --button-primary-hover-fg-color:var(--button-primary-fg-color); --button-primary-hover-border-color:var(--button-primary-hover-bg-color); --button-primary-disabled-bg-color:var(--button-primary-bg-color); --button-primary-disabled-border-color:var(--button-primary-border-color); --button-primary-disabled-fg-color:var(--button-primary-fg-color); --button-disabled-opacity:0.4; --csstools-light-dark-toggle--19:var(--csstools-color-scheme--dark) white; --input-text-bg-color:var(--csstools-light-dark-toggle--19, #42414d); --input-text-fg-color:var(--text-primary-color); font:message-box; font-size:13px; font-weight:400; line-height:150%; border-radius:4px; padding:12px 16px; --csstools-light-dark-toggle--37:var(--csstools-color-scheme--dark) white; border:1px solid #1c1b22; border:1px solid var(--csstools-light-dark-toggle--37, #1c1b22); border:1px solid light-dark(white, #1c1b22); border:1px solid var(--dialog-border-color); --csstools-light-dark-toggle--38:var(--csstools-color-scheme--dark) white; background:#1c1b22; background:var(--csstools-light-dark-toggle--38, #1c1b22); background:light-dark(white, #1c1b22); background:var(--dialog-bg-color); --csstools-light-dark-toggle--39:var(--csstools-color-scheme--dark) #15141a; color:#fbfbfe; color:var(--csstools-light-dark-toggle--39, #fbfbfe); color:light-dark(#15141a, #fbfbfe); color:var(--text-primary-color); --csstools-light-dark-toggle--40:var(--csstools-color-scheme--dark) rgba(58, 57, 68, 0.2); box-shadow:0 2px 14px 0 #15141a; box-shadow:0 2px 14px 0 var(--csstools-light-dark-toggle--40, #15141a); box-shadow:0 2px 14px 0 light-dark(rgba(58, 57, 68, 0.2), #15141a); box-shadow:var(--dialog-shadow); } @supports (color: light-dark(red, red)) { .dialog{ --dialog-bg-color:light-dark(white, #1c1b22); --dialog-border-color:light-dark(white, #1c1b22); --dialog-shadow:0 2px 14px 0 light-dark(rgba(58, 57, 68, 0.2), #15141a); --text-primary-color:light-dark(#15141a, #fbfbfe); --text-secondary-color:light-dark(#5b5b66, #cfcfd8); --link-fg-color:light-dark(#0060df, #0df); --link-hover-fg-color:light-dark(#0250bb, #80ebff); --separator-color:light-dark(#f0f0f4, #52525e); --textarea-bg-color:light-dark(white, #42414d); --radio-bg-color:light-dark(#f0f0f4, #2b2a33); --radio-checked-bg-color:light-dark(#fbfbfe, #15141a); --radio-checked-border-color:light-dark(#0060df, #0df); --button-secondary-bg-color:light-dark( rgba(21, 20, 26, 0.07), rgba(251, 251, 254, 0.07) ); --button-secondary-active-bg-color:light-dark( rgba(21, 20, 26, 0.21), rgba(251, 251, 254, 0.21) ); --button-secondary-hover-bg-color:light-dark( rgba(21, 20, 26, 0.14), rgba(251, 251, 254, 0.14) ); --button-primary-bg-color:light-dark(#0060df, #0df); --button-primary-fg-color:light-dark(#fbfbfe, #15141a); --button-primary-active-bg-color:light-dark(#054096, #aaf2ff); --button-primary-hover-bg-color:light-dark(#0250bb, #80ebff); --input-text-bg-color:light-dark(white, #42414d); } } .dialog * { --csstools-light-dark-toggle--33:var(--csstools-color-scheme--dark) rgba(58, 57, 68, 0.2); --dialog-shadow:0 2px 14px 0 var(--csstools-light-dark-toggle--33, #15141a); } .dialog * { --csstools-light-dark-toggle--34:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.07); --button-secondary-bg-color:var(--csstools-light-dark-toggle--34, rgba(251, 251, 254, 0.07)); } .dialog * { --csstools-light-dark-toggle--35:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.21); --button-secondary-active-bg-color:var(--csstools-light-dark-toggle--35, rgba(251, 251, 254, 0.21)); } .dialog * { --csstools-light-dark-toggle--36:var(--csstools-color-scheme--dark) rgba(21, 20, 26, 0.14); --button-secondary-hover-bg-color:var(--csstools-light-dark-toggle--36, rgba(251, 251, 254, 0.14)); } .dialog * { --csstools-light-dark-toggle--4:var(--csstools-color-scheme--dark) white; --dialog-bg-color:var(--csstools-light-dark-toggle--4, #1c1b22); } .dialog * { --csstools-light-dark-toggle--5:var(--csstools-color-scheme--dark) white; --dialog-border-color:var(--csstools-light-dark-toggle--5, #1c1b22); } .dialog * { --csstools-light-dark-toggle--6:var(--csstools-color-scheme--dark) #15141a; --text-primary-color:var(--csstools-light-dark-toggle--6, #fbfbfe); } .dialog * { --csstools-light-dark-toggle--7:var(--csstools-color-scheme--dark) #5b5b66; --text-secondary-color:var(--csstools-light-dark-toggle--7, #cfcfd8); } .dialog * { --csstools-light-dark-toggle--8:var(--csstools-color-scheme--dark) #0060df; --link-fg-color:var(--csstools-light-dark-toggle--8, #0df); } .dialog * { --csstools-light-dark-toggle--9:var(--csstools-color-scheme--dark) #0250bb; --link-hover-fg-color:var(--csstools-light-dark-toggle--9, #80ebff); } .dialog * { --csstools-light-dark-toggle--10:var(--csstools-color-scheme--dark) #f0f0f4; --separator-color:var(--csstools-light-dark-toggle--10, #52525e); } .dialog * { --csstools-light-dark-toggle--11:var(--csstools-color-scheme--dark) white; --textarea-bg-color:var(--csstools-light-dark-toggle--11, #42414d); } .dialog * { --csstools-light-dark-toggle--12:var(--csstools-color-scheme--dark) #f0f0f4; --radio-bg-color:var(--csstools-light-dark-toggle--12, #2b2a33); } .dialog * { --csstools-light-dark-toggle--13:var(--csstools-color-scheme--dark) #fbfbfe; --radio-checked-bg-color:var(--csstools-light-dark-toggle--13, #15141a); } .dialog * { --csstools-light-dark-toggle--14:var(--csstools-color-scheme--dark) #0060df; --radio-checked-border-color:var(--csstools-light-dark-toggle--14, #0df); } .dialog * { --csstools-light-dark-toggle--15:var(--csstools-color-scheme--dark) #0060df; --button-primary-bg-color:var(--csstools-light-dark-toggle--15, #0df); } .dialog * { --csstools-light-dark-toggle--16:var(--csstools-color-scheme--dark) #fbfbfe; --button-primary-fg-color:var(--csstools-light-dark-toggle--16, #15141a); } .dialog * { --csstools-light-dark-toggle--17:var(--csstools-color-scheme--dark) #054096; --button-primary-active-bg-color:var(--csstools-light-dark-toggle--17, #aaf2ff); } .dialog * { --csstools-light-dark-toggle--18:var(--csstools-color-scheme--dark) #0250bb; --button-primary-hover-bg-color:var(--csstools-light-dark-toggle--18, #80ebff); } .dialog * { --csstools-light-dark-toggle--19:var(--csstools-color-scheme--dark) white; --input-text-bg-color:var(--csstools-light-dark-toggle--19, #42414d); } @media (prefers-color-scheme: dark){ .dialog{ --hover-filter:brightness(1.4); --button-disabled-opacity:0.6; } } @media screen and (forced-colors: active){ .dialog{ --dialog-bg-color:Canvas; --dialog-border-color:CanvasText; --dialog-shadow:none; --text-primary-color:CanvasText; --text-secondary-color:CanvasText; --hover-filter:none; --link-fg-color:LinkText; --link-hover-fg-color:LinkText; --separator-color:CanvasText; --textarea-border-color:ButtonBorder; --textarea-bg-color:Field; --textarea-fg-color:ButtonText; --radio-bg-color:ButtonFace; --radio-checked-bg-color:ButtonFace; --radio-border-color:ButtonText; --radio-checked-border-color:ButtonText; --button-secondary-bg-color:HighlightText; --button-secondary-fg-color:ButtonText; --button-secondary-border-color:ButtonText; --button-secondary-active-bg-color:HighlightText; --button-secondary-active-fg-color:SelectedItem; --button-secondary-active-border-color:ButtonText; --button-secondary-hover-bg-color:HighlightText; --button-secondary-hover-fg-color:SelectedItem; --button-secondary-hover-border-color:SelectedItem; --button-secondary-disabled-fg-color:GrayText; --button-secondary-disabled-border-color:GrayText; --button-primary-bg-color:ButtonText; --button-primary-fg-color:HighlightText; --button-primary-border-color:ButtonText; --button-primary-active-bg-color:SelectedItem; --button-primary-active-fg-color:HighlightText; --button-primary-active-border-color:ButtonText; --button-primary-hover-bg-color:SelectedItem; --button-primary-hover-fg-color:HighlightText; --button-primary-hover-border-color:SelectedItem; --button-primary-disabled-bg-color:GrayText; --button-primary-disabled-fg-color:ButtonFace; --button-primary-disabled-border-color:GrayText; --button-disabled-opacity:1; --input-text-bg-color:HighlightText; --input-text-fg-color:FieldText; } } .dialog .mainContainer *:focus-visible{ --csstools-light-dark-toggle--28:var(--csstools-color-scheme--dark) #0060df; outline:2px solid #0df; outline:2px solid var(--csstools-light-dark-toggle--28, #0df); outline:2px solid light-dark(#0060df, #0df); outline:var(--focus-ring-outline); outline-offset:2px; } .dialog .mainContainer .title{ display:flex; width:auto; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:12px; } .dialog .mainContainer .title > span{ font-size:13px; font-style:normal; font-weight:590; line-height:150%; } .dialog .mainContainer .dialogSeparator{ width:100%; height:0; margin-top:4px; margin-bottom:4px; border-top:1px solid var(--separator-color); border-bottom:none; } .dialog .mainContainer .dialogButtonsGroup{ display:flex; gap:12px; align-self:flex-end; } .dialog .mainContainer .radio{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; } .dialog .mainContainer .radio > .radioButton{ display:flex; gap:8px; align-self:stretch; align-items:center; } .dialog .mainContainer .radio > .radioButton input{ -webkit-appearance:none; -moz-appearance:none; appearance:none; box-sizing:border-box; width:16px; height:16px; border-radius:50%; background-color:var(--radio-bg-color); border:1px solid var(--radio-border-color); } .dialog .mainContainer .radio > .radioButton input:hover{ filter:var(--hover-filter); } .dialog .mainContainer .radio > .radioButton input:checked{ background-color:var(--radio-checked-bg-color); border:4px solid var(--radio-checked-border-color); } .dialog .mainContainer .radio > .radioLabel{ display:flex; padding-left:24px; align-items:flex-start; gap:10px; align-self:stretch; } .dialog .mainContainer .radio > .radioLabel > span{ flex:1 0 0; font-size:11px; color:var(--text-secondary-color); } .dialog .mainContainer button:not(.toggle-button):not(.closeButton):not(.clearInputButton){ border-radius:4px; border:1px solid; font:menu; font-weight:590; font-size:13px; padding:4px 16px; width:auto; height:32px; } .dialog .mainContainer button:not(.toggle-button):not(.closeButton):not(.clearInputButton):hover{ cursor:pointer; filter:var(--hover-filter); } .dialog .mainContainer button:not(.toggle-button):not(.closeButton):not(.clearInputButton) > span{ color:inherit; font:inherit; } .dialog .mainContainer button.secondaryButton:not(.toggle-button):not(.closeButton):not(.clearInputButton){ color:var(--button-secondary-fg-color); background-color:var(--button-secondary-bg-color); border-color:var(--button-secondary-border-color); } .dialog .mainContainer button.secondaryButton:not(.toggle-button):not(.closeButton):not(.clearInputButton):hover{ color:var(--button-secondary-hover-fg-color); background-color:var(--button-secondary-hover-bg-color); border-color:var(--button-secondary-hover-border-color); } .dialog .mainContainer button.secondaryButton:not(.toggle-button):not(.closeButton):not(.clearInputButton):active{ color:var(--button-secondary-active-fg-color); background-color:var(--button-secondary-active-bg-color); border-color:var(--button-secondary-active-border-color); } .dialog .mainContainer button.secondaryButton:not(.toggle-button):not(.closeButton):not(.clearInputButton):disabled{ background-color:var(--button-secondary-disabled-bg-color); border-color:var(--button-secondary-disabled-border-color); color:var(--button-secondary-disabled-fg-color); opacity:var(--button-disabled-opacity); } .dialog .mainContainer button.primaryButton:not(.toggle-button):not(.closeButton):not(.clearInputButton){ color:var(--button-primary-fg-color); background-color:var(--button-primary-bg-color); border-color:var(--button-primary-border-color); opacity:1; } .dialog .mainContainer button.primaryButton:not(.toggle-button):not(.closeButton):not(.clearInputButton):hover{ color:var(--button-primary-hover-fg-color); background-color:var(--button-primary-hover-bg-color); border-color:var(--button-primary-hover-border-color); } .dialog .mainContainer button.primaryButton:not(.toggle-button):not(.closeButton):not(.clearInputButton):active{ color:var(--button-primary-active-fg-color); background-color:var(--button-primary-active-bg-color); border-color:var(--button-primary-active-border-color); } .dialog .mainContainer button.primaryButton:not(.toggle-button):not(.closeButton):not(.clearInputButton):disabled{ background-color:var(--button-primary-disabled-bg-color); border-color:var(--button-primary-disabled-border-color); color:var(--button-primary-disabled-fg-color); opacity:var(--button-disabled-opacity); } .dialog .mainContainer button:not(.toggle-button):not(.closeButton):not(.clearInputButton):disabled{ pointer-events:none; } .dialog .mainContainer a{ color:var(--link-fg-color); } .dialog .mainContainer a:hover{ color:var(--link-hover-fg-color); } .dialog .mainContainer textarea{ font:inherit; padding:8px; resize:none; margin:0; box-sizing:border-box; border-radius:4px; border:1px solid var(--textarea-border-color); background:var(--textarea-bg-color); color:var(--textarea-fg-color); } .dialog .mainContainer textarea:focus{ outline-offset:0; border-color:transparent; } .dialog .mainContainer textarea:disabled{ pointer-events:none; opacity:0.4; } .dialog .mainContainer input[type="text"]{ background-color:var(--input-text-bg-color); color:var(--input-text-fg-color); } .dialog .mainContainer .messageBar{ --csstools-light-dark-toggle--20:var(--csstools-color-scheme--dark) #ffebcd; --message-bar-bg-color:var(--csstools-light-dark-toggle--20, #5a3100); --csstools-light-dark-toggle--21:var(--csstools-color-scheme--dark) #15141a; --message-bar-fg-color:var(--csstools-light-dark-toggle--21, #fbfbfe); --csstools-light-dark-toggle--41:var(--csstools-color-scheme--dark) rgba(0, 0, 0, 0.08); --message-bar-border-color:var(--csstools-light-dark-toggle--41, rgba(255, 255, 255, 0.08)); --csstools-light-dark-toggle--22:var(--csstools-color-scheme--dark) #cd411e; --message-bar-icon-color:var(--csstools-light-dark-toggle--22, #e49c49); align-self:stretch; } @supports (color: light-dark(red, red)) { .dialog .mainContainer .messageBar{ --message-bar-bg-color:light-dark(#ffebcd, #5a3100); --message-bar-fg-color:light-dark(#15141a, #fbfbfe); --message-bar-border-color:light-dark( rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.08) ); --message-bar-icon-color:light-dark(#cd411e, #e49c49); } } .dialog .mainContainer .messageBar * { --csstools-light-dark-toggle--41:var(--csstools-color-scheme--dark) rgba(0, 0, 0, 0.08); --message-bar-border-color:var(--csstools-light-dark-toggle--41, rgba(255, 255, 255, 0.08)); } .dialog .mainContainer .messageBar * { --csstools-light-dark-toggle--20:var(--csstools-color-scheme--dark) #ffebcd; --message-bar-bg-color:var(--csstools-light-dark-toggle--20, #5a3100); } .dialog .mainContainer .messageBar * { --csstools-light-dark-toggle--21:var(--csstools-color-scheme--dark) #15141a; --message-bar-fg-color:var(--csstools-light-dark-toggle--21, #fbfbfe); } .dialog .mainContainer .messageBar * { --csstools-light-dark-toggle--22:var(--csstools-color-scheme--dark) #cd411e; --message-bar-icon-color:var(--csstools-light-dark-toggle--22, #e49c49); } @media screen and (forced-colors: active){ .dialog .mainContainer .messageBar{ --message-bar-bg-color:HighlightText; --message-bar-fg-color:CanvasText; --message-bar-border-color:CanvasText; --message-bar-icon-color:CanvasText; } } .dialog .mainContainer .messageBar > div::before, .dialog .mainContainer .messageBar > div > div{ margin-top:4px; margin-bottom:4px; } .dialog .mainContainer .messageBar > div > div{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; flex:1 0 0; } .dialog .mainContainer .messageBar > div > div .title{ font-size:13px; font-weight:590; } .dialog .mainContainer .messageBar > div > div .description{ font-size:13px; } .dialog .mainContainer .toggler{ display:flex; align-items:center; gap:8px; align-self:stretch; } .dialog .mainContainer .toggler > .togglerLabel{ -webkit-user-select:none; -moz-user-select:none; user-select:none; } .textLayer{ position:absolute; text-align:left; text-align:initial; top:0; right:0; bottom:0; left:0; overflow:clip; opacity:1; line-height:1; -webkit-text-size-adjust:none; -moz-text-size-adjust:none; text-size-adjust:none; forced-color-adjust:none; transform-origin:0 0; caret-color:CanvasText; z-index:0; } .textLayer.highlighting{ touch-action:none; } .textLayer span, .textLayer br{ color:transparent; position:absolute; white-space:pre; cursor:text; transform-origin:0% 0%; } .textLayer > :not(.markedContent), .textLayer .markedContent span:not(.markedContent){ z-index:1; } .textLayer span.markedContent{ top:0; height:0; } .textLayer span[role="img"]{ -webkit-user-select:none; -moz-user-select:none; user-select:none; cursor:default; } .textLayer .highlight{ --highlight-bg-color:rgba(180, 0, 170, 0.25); --highlight-selected-bg-color:rgba(0, 100, 0, 0.25); --highlight-backdrop-filter:none; --highlight-selected-backdrop-filter:none; margin:-1px; padding:1px; background-color:rgba(180, 0, 170, 0.25); background-color:var(--highlight-bg-color); -webkit-backdrop-filter:none; backdrop-filter:none; -webkit-backdrop-filter:var(--highlight-backdrop-filter); backdrop-filter:var(--highlight-backdrop-filter); border-radius:4px; } @media screen and (forced-colors: active){ .textLayer .highlight{ --highlight-bg-color:transparent; --highlight-selected-bg-color:transparent; --highlight-backdrop-filter:var(--hcm-highlight-filter); --highlight-selected-backdrop-filter:var( --hcm-highlight-selected-filter ); } } .textLayer .highlight.appended{ position:static; position:initial; } .textLayer .highlight.begin{ border-radius:4px 0 0 4px; } .textLayer .highlight.end{ border-radius:0 4px 4px 0; } .textLayer .highlight.middle{ border-radius:0; } .textLayer .highlight.selected{ background-color:var(--highlight-selected-bg-color); -webkit-backdrop-filter:var(--highlight-selected-backdrop-filter); backdrop-filter:var(--highlight-selected-backdrop-filter); } .textLayer ::-moz-selection{ background:rgba(0, 0, 255, 0.25); } .textLayer ::selection{ background:rgba(0, 0, 255, 0.25); } .textLayer br::-moz-selection{ background:transparent; } .textLayer br::selection{ background:transparent; } .textLayer .endOfContent{ display:block; position:absolute; top:100%; right:0; bottom:0; left:0; z-index:0; cursor:default; -webkit-user-select:none; -moz-user-select:none; user-select:none; } .textLayer.selecting .endOfContent{ top:0; } .annotationLayer{ --csstools-color-scheme--dark:; color-scheme:only light; --annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,"); --input-focus-border-color:Highlight; --input-focus-outline:1px solid Canvas; --input-unfocused-border-color:transparent; --input-disabled-border-color:transparent; --input-hover-border-color:black; --link-outline:none; position:absolute; top:0; left:0; pointer-events:none; transform-origin:0 0; } @media screen and (forced-colors: active){ .annotationLayer{ --input-focus-border-color:CanvasText; --input-unfocused-border-color:ActiveText; --input-disabled-border-color:GrayText; --input-hover-border-color:Highlight; --link-outline:1.5px solid LinkText; } .annotationLayer .textWidgetAnnotation input:required{ outline:1.5px solid selectedItem; } .annotationLayer .textWidgetAnnotation textarea:required{ outline:1.5px solid selectedItem; } .annotationLayer .buttonWidgetAnnotation.checkBox input:required{ outline:1.5px solid selectedItem; } .annotationLayer .buttonWidgetAnnotation.radioButton input:required{ outline:1.5px solid selectedItem; } .annotationLayer .choiceWidgetAnnotation select:required{ outline:1.5px solid selectedItem; } .annotationLayer .linkAnnotation{ outline:var(--link-outline); } .annotationLayer .linkAnnotation:hover{ -webkit-backdrop-filter:var(--hcm-highlight-filter); backdrop-filter:var(--hcm-highlight-filter); } .annotationLayer .linkAnnotation > a:hover{ opacity:0 !important; background:none !important; box-shadow:none; } .annotationLayer .popupAnnotation .popup{ outline:calc(1.5px * var(--total-scale-factor)) solid CanvasText !important; background-color:ButtonFace !important; color:ButtonText !important; } .annotationLayer .highlightArea:hover::after{ position:absolute; top:0; left:0; width:100%; height:100%; -webkit-backdrop-filter:var(--hcm-highlight-filter); backdrop-filter:var(--hcm-highlight-filter); content:""; pointer-events:none; } .annotationLayer .popupAnnotation.focused .popup{ outline:calc(3px * var(--total-scale-factor)) solid Highlight !important; } } .annotationLayer[data-main-rotation="90"] .norotate{ transform:rotate(270deg) translateX(-100%); } .annotationLayer[data-main-rotation="180"] .norotate{ transform:rotate(180deg) translate(-100%, -100%); } .annotationLayer[data-main-rotation="270"] .norotate{ transform:rotate(90deg) translateY(-100%); } .annotationLayer.disabled section, .annotationLayer.disabled .popup{ pointer-events:none; } .annotationLayer .annotationContent{ position:absolute; width:100%; height:100%; pointer-events:none; } .annotationLayer .annotationContent.freetext{ background:transparent; border:none; top:0; right:0; bottom:0; left:0; overflow:visible; white-space:nowrap; font:10px sans-serif; line-height:1.35; } .annotationLayer section{ position:absolute; text-align:left; text-align:initial; pointer-events:auto; box-sizing:border-box; transform-origin:0 0; -webkit-user-select:none; -moz-user-select:none; user-select:none; } .annotationLayer section:has(div.annotationContent) canvas.annotationContent{ display:none; } .textLayer.selecting ~ .annotationLayer section{ pointer-events:none; } .annotationLayer .linkAnnotation:not(.does-not-exist) > a, .annotationLayer .buttonWidgetAnnotation.pushButton > a{ position:absolute; font-size:1em; top:0; left:0; width:100%; height:100%; } .annotationLayer .linkAnnotation:not(.does-not-exist):not(.hasBorder) > a:hover, .annotationLayer .buttonWidgetAnnotation.pushButton:not(.hasBorder) > a:hover{ opacity:0.2; background-color:rgb(255, 255, 0); box-shadow:0 2px 10px rgb(255, 255, 0); } .annotationLayer .linkAnnotation.hasBorder:hover{ background-color:rgba(255, 255, 0, 0.2); } .annotationLayer .hasBorder{ background-size:100% 100%; } .annotationLayer .textAnnotation img{ position:absolute; cursor:pointer; width:100%; height:100%; top:0; left:0; } .annotationLayer .textWidgetAnnotation input, .annotationLayer .textWidgetAnnotation textarea, .annotationLayer .choiceWidgetAnnotation select, .annotationLayer .buttonWidgetAnnotation.checkBox input, .annotationLayer .buttonWidgetAnnotation.radioButton input{ background-image:var(--annotation-unfocused-field-background); border:2px solid var(--input-unfocused-border-color); box-sizing:border-box; font:calc(9px * var(--total-scale-factor)) sans-serif; height:100%; margin:0; vertical-align:top; width:100%; } .annotationLayer .textWidgetAnnotation input:required{ outline:1.5px solid red; } .annotationLayer .textWidgetAnnotation textarea:required{ outline:1.5px solid red; } .annotationLayer .buttonWidgetAnnotation.checkBox input:required{ outline:1.5px solid red; } .annotationLayer .buttonWidgetAnnotation.radioButton input:required{ outline:1.5px solid red; } .annotationLayer .choiceWidgetAnnotation select:required{ outline:1.5px solid red; } .annotationLayer .choiceWidgetAnnotation select option{ padding:0; } .annotationLayer .buttonWidgetAnnotation.radioButton input{ border-radius:50%; } .annotationLayer .textWidgetAnnotation textarea{ resize:none; } .annotationLayer .textWidgetAnnotation input[disabled], .annotationLayer .textWidgetAnnotation textarea[disabled], .annotationLayer .choiceWidgetAnnotation select[disabled], .annotationLayer .buttonWidgetAnnotation.checkBox input[disabled], .annotationLayer .buttonWidgetAnnotation.radioButton input[disabled]{ background:none; border:2px solid var(--input-disabled-border-color); cursor:not-allowed; } .annotationLayer .textWidgetAnnotation input:hover, .annotationLayer .textWidgetAnnotation textarea:hover, .annotationLayer .choiceWidgetAnnotation select:hover, .annotationLayer .buttonWidgetAnnotation.checkBox input:hover, .annotationLayer .buttonWidgetAnnotation.radioButton input:hover{ border:2px solid var(--input-hover-border-color); } .annotationLayer .textWidgetAnnotation input:hover, .annotationLayer .textWidgetAnnotation textarea:hover, .annotationLayer .choiceWidgetAnnotation select:hover, .annotationLayer .buttonWidgetAnnotation.checkBox input:hover{ border-radius:2px; } .annotationLayer .textWidgetAnnotation input:focus, .annotationLayer .textWidgetAnnotation textarea:focus, .annotationLayer .choiceWidgetAnnotation select:focus{ background:none; border:2px solid var(--input-focus-border-color); border-radius:2px; outline:var(--input-focus-outline); } .annotationLayer .buttonWidgetAnnotation.checkBox :focus, .annotationLayer .buttonWidgetAnnotation.radioButton :focus{ background-image:none; background-color:transparent; } .annotationLayer .buttonWidgetAnnotation.checkBox :focus{ border:2px solid var(--input-focus-border-color); border-radius:2px; outline:var(--input-focus-outline); } .annotationLayer .buttonWidgetAnnotation.radioButton :focus{ border:2px solid var(--input-focus-border-color); outline:var(--input-focus-outline); } .annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before, .annotationLayer .buttonWidgetAnnotation.checkBox input:checked::after, .annotationLayer .buttonWidgetAnnotation.radioButton input:checked::before{ background-color:CanvasText; content:""; display:block; position:absolute; } .annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before, .annotationLayer .buttonWidgetAnnotation.checkBox input:checked::after{ height:80%; left:45%; width:1px; } .annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before{ transform:rotate(45deg); } .annotationLayer .buttonWidgetAnnotation.checkBox input:checked::after{ transform:rotate(-45deg); } .annotationLayer .buttonWidgetAnnotation.radioButton input:checked::before{ border-radius:50%; height:50%; left:25%; top:25%; width:50%; } .annotationLayer .textWidgetAnnotation input.comb{ font-family:monospace; padding-left:2px; padding-right:0; } .annotationLayer .textWidgetAnnotation input.comb:focus{ width:103%; } .annotationLayer .buttonWidgetAnnotation.checkBox input, .annotationLayer .buttonWidgetAnnotation.radioButton input{ -webkit-appearance:none; -moz-appearance:none; appearance:none; } .annotationLayer .fileAttachmentAnnotation .popupTriggerArea{ height:100%; width:100%; } /* @obsidian */ .annotationLayer .richText > *{ white-space:pre-wrap; /* @obsidian */ } .annotationLayer .popupTriggerArea{ cursor:pointer; } .annotationLayer section svg{ position:absolute; width:100%; height:100%; top:0; left:0; } .annotationLayer .annotationTextContent{ position:absolute; width:100%; height:100%; opacity:0; color:transparent; -webkit-user-select:none; -moz-user-select:none; user-select:none; pointer-events:none; } .annotationLayer .annotationTextContent span{ width:100%; display:inline-block; } .annotationLayer svg.quadrilateralsContainer{ contain:strict; width:0; height:0; position:absolute; top:0; left:0; z-index:-1; } :root{ --xfa-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,"); --xfa-focus-outline:auto; } @media screen and (forced-colors: active){ :root{ --xfa-focus-outline:2px solid CanvasText; } .xfaLayer *:required{ outline:1.5px solid selectedItem; } } .xfaLayer{ --csstools-color-scheme--dark:; color-scheme:only light; background-color:transparent; } .xfaLayer .highlight{ margin:-1px; padding:1px; background-color:rgb(239, 203, 237); border-radius:4px; } .xfaLayer .highlight.appended{ position:static; position:initial; } .xfaLayer .highlight.begin{ border-radius:4px 0 0 4px; } .xfaLayer .highlight.end{ border-radius:0 4px 4px 0; } .xfaLayer .highlight.middle{ border-radius:0; } .xfaLayer .highlight.selected{ background-color:rgb(203, 223, 203); } .xfaPage{ overflow:hidden; position:relative; } .xfaContentarea{ position:absolute; } .xfaPrintOnly{ display:none; } .xfaLayer{ position:absolute; text-align:left; text-align:initial; top:0; left:0; transform-origin:0 0; line-height:1.2; } .xfaLayer *{ color:inherit; font:inherit; font-style:inherit; font-weight:inherit; font-feature-settings:inherit; font-kerning:inherit; letter-spacing:-0.01px; text-align:inherit; text-decoration:inherit; box-sizing:border-box; background-color:transparent; padding:0; margin:0; pointer-events:auto; line-height:inherit; } .xfaLayer *:required{ outline:1.5px solid red; } .xfaLayer div, .xfaLayer svg, .xfaLayer svg *{ pointer-events:none; } .xfaLayer a{ color:blue; } .xfaRich li{ margin-left:3em; } .xfaFont{ color:black; font-weight:normal; font-feature-settings:"kern" off; font-kerning:none; font-size:10px; font-style:normal; letter-spacing:0; -webkit-text-decoration:none; text-decoration:none; vertical-align:0; } .xfaCaption{ overflow:hidden; flex:0 0 auto; } .xfaCaptionForCheckButton{ overflow:hidden; flex:1 1 auto; } .xfaLabel{ height:100%; width:100%; } .xfaLeft{ display:flex; flex-direction:row; align-items:center; } .xfaRight{ display:flex; flex-direction:row-reverse; align-items:center; } .xfaLeft > .xfaCaption, .xfaLeft > .xfaCaptionForCheckButton, .xfaRight > .xfaCaption, .xfaRight > .xfaCaptionForCheckButton{ max-height:100%; } .xfaTop{ display:flex; flex-direction:column; align-items:flex-start; } .xfaBottom{ display:flex; flex-direction:column-reverse; align-items:flex-start; } .xfaTop > .xfaCaption, .xfaTop > .xfaCaptionForCheckButton, .xfaBottom > .xfaCaption, .xfaBottom > .xfaCaptionForCheckButton{ width:100%; } .xfaBorder{ background-color:transparent; position:absolute; pointer-events:none; } .xfaWrapped{ width:100%; height:100%; } .xfaTextfield:focus, .xfaSelect:focus{ background-image:none; background-color:transparent; outline:auto; outline:var(--xfa-focus-outline); outline-offset:-1px; } .xfaCheckbox:focus, .xfaRadio:focus{ outline:auto; outline:var(--xfa-focus-outline); } .xfaTextfield, .xfaSelect{ height:100%; width:100%; flex:1 1 auto; border:none; resize:none; background-image:url("data:image/svg+xml;charset=UTF-8,"); background-image:var(--xfa-unfocused-field-background); } .xfaSelect{ padding-left:2px; padding-right:2px; } .xfaTop > .xfaTextfield, .xfaTop > .xfaSelect, .xfaBottom > .xfaTextfield, .xfaBottom > .xfaSelect{ flex:0 1 auto; } .xfaButton{ cursor:pointer; width:100%; height:100%; border:none; text-align:center; } .xfaLink{ width:100%; height:100%; position:absolute; top:0; left:0; } .xfaCheckbox, .xfaRadio{ width:100%; height:100%; flex:0 0 auto; border:none; } .xfaRich{ white-space:pre-wrap; width:100%; height:100%; } .xfaImage{ -o-object-position:left top; object-position:left top; -o-object-fit:contain; object-fit:contain; width:100%; height:100%; } .xfaLrTb, .xfaRlTb, .xfaTb{ display:flex; flex-direction:column; align-items:stretch; } .xfaLr{ display:flex; flex-direction:row; align-items:stretch; } .xfaRl{ display:flex; flex-direction:row-reverse; align-items:stretch; } .xfaTb > div{ justify-content:left; } .xfaPosition{ position:relative; } .xfaArea{ position:relative; } .xfaValignMiddle{ display:flex; align-items:center; } .xfaTable{ display:flex; flex-direction:column; align-items:stretch; } .xfaTable .xfaRow{ display:flex; flex-direction:row; align-items:stretch; } .xfaTable .xfaRlRow{ display:flex; flex-direction:row-reverse; align-items:stretch; flex:1; } .xfaTable .xfaRlRow > div{ flex:1; } .xfaNonInteractive input, .xfaNonInteractive textarea, .xfaDisabled input, .xfaDisabled textarea, .xfaReadOnly input, .xfaReadOnly textarea{ background:transparent none repeat 0 0 / auto auto padding-box border-box scroll; background:initial; } @media print{ .xfaTextfield, .xfaSelect{ background:transparent; } .xfaSelect{ -webkit-appearance:none; -moz-appearance:none; appearance:none; text-indent:1px; text-overflow:""; } } /* @obsidian TODO: bring this in when we enable annotation editing */ :root{ --csstools-color-scheme--dark:; color-scheme:light dark; --viewer-container-height:0; --pdfViewer-padding-bottom:0; --page-margin:1px auto -8px; --page-border:9px solid transparent; --spreadHorizontalWrapped-margin-LR:-3.5px; --loading-icon-delay:400ms; --csstools-light-dark-toggle--23:var(--csstools-color-scheme--dark) #0060df; --focus-ring-color:var(--csstools-light-dark-toggle--23, #0df); --focus-ring-outline:2px solid var(--focus-ring-color); } @supports (color: light-dark(red, red)) { :root{ --focus-ring-color:light-dark(#0060df, #0df); } } :root * { --csstools-light-dark-toggle--23:var(--csstools-color-scheme--dark) #0060df; --focus-ring-color:var(--csstools-light-dark-toggle--23, #0df); } @media (prefers-color-scheme: dark) { :root{ --csstools-color-scheme--dark:initial; } } @media screen and (forced-colors: active){ :root{ --pdfViewer-padding-bottom:9px; --page-margin:8px auto -1px; --page-border:1px solid CanvasText; --spreadHorizontalWrapped-margin-LR:3.5px; --focus-ring-color:CanvasText; } } [data-main-rotation="90"]{ transform:rotate(90deg) translateY(-100%); } [data-main-rotation="180"]{ transform:rotate(180deg) translate(-100%, -100%); } [data-main-rotation="270"]{ transform:rotate(270deg) translateX(-100%); } /* @obsidian this was changed from an id to a class to support multiple instances */ .hiddenCopyElement, .hiddenCanvasElement{ position:absolute; top:0; left:0; width:0; height:0; display:none; } .pdfViewer{ --scale-factor:1; --page-bg-color:unset; padding-bottom:0; padding-bottom:var(--pdfViewer-padding-bottom); --hcm-highlight-filter:none; --hcm-highlight-selected-filter:none; } @media screen and (forced-colors: active){ .pdfViewer{ --hcm-highlight-filter:invert(100%); } } .pdfViewer.copyAll{ cursor:wait; } .pdfViewer .canvasWrapper{ overflow:hidden; width:100%; height:100%; } .pdfViewer .canvasWrapper canvas{ position:absolute; top:0; left:0; margin:0; display:block; width:100%; height:100%; contain:content; } .pdfViewer .canvasWrapper canvas .structTree{ contain:strict; } .pdfViewer .page{ --user-unit:1; --total-scale-factor:calc(var(--scale-factor) * var(--user-unit)); --scale-round-x:1px; --scale-round-y:1px; direction:ltr; width:816px; height:1056px; margin:1px auto -8px; margin:var(--page-margin); position:relative; overflow:visible; border:9px solid transparent; border:var(--page-border); background-clip:content-box; background-color:rgb(255, 255, 255); background-color:var(--page-bg-color, rgb(255, 255, 255)); } .pdfViewer .dummyPage{ position:relative; width:0; height:0; height:var(--viewer-container-height); } .pdfViewer.noUserSelect{ -webkit-user-select:none; -moz-user-select:none; user-select:none; } .pdfViewer.removePageBorders .page{ margin:0 auto 10px; border:none; } .pdfViewer.scrollHorizontal, .pdfViewer.scrollWrapped, .spread{ margin-left:3.5px; margin-right:3.5px; text-align:center; } .pdfViewer.scrollHorizontal, .spread{ white-space:nowrap; } .pdfViewer.removePageBorders, .pdfViewer.scrollHorizontal .spread, .pdfViewer.scrollWrapped .spread{ margin-left:0; margin-right:0; } .spread .page, .spread .dummyPage, .pdfViewer.scrollHorizontal .page, .pdfViewer.scrollHorizontal .spread, .pdfViewer.scrollWrapped .page, .pdfViewer.scrollWrapped .spread{ display:inline-block; vertical-align:middle; } .spread .page, .pdfViewer.scrollHorizontal .page, .pdfViewer.scrollWrapped .page{ margin-left:-3.5px; margin-right:-3.5px; margin-left:var(--spreadHorizontalWrapped-margin-LR); margin-right:var(--spreadHorizontalWrapped-margin-LR); } .pdfViewer.removePageBorders .spread .page, .pdfViewer.removePageBorders.scrollHorizontal .page, .pdfViewer.removePageBorders.scrollWrapped .page{ margin-left:5px; margin-right:5px; } .pdfViewer .page.loadingIcon::after{ position:absolute; top:0; left:0; content:""; width:100%; height:100%; display:none; transition-property:display; transition-delay:400ms; transition-delay:var(--loading-icon-delay); z-index:5; contain:strict; } .pdfViewer .page.loading::after{ display:block; } .pdfViewer .page:not(.loading)::after{ transition-property:none; display:none; } .pdfPresentationMode .pdfViewer{ padding-bottom:0; } .pdfPresentationMode .spread{ margin:0; } .pdfPresentationMode .pdfViewer .page{ margin:0 auto; border:2px solid transparent; } /* Obsidian theme variables */ /* ------------------------ */ body { /* Animations */ --anim-duration-none: 0; --anim-duration-superfast: 70ms; --anim-duration-fast: 140ms; --anim-duration-moderate: 300ms; --anim-duration-slow: 560ms; --anim-motion-smooth: cubic-bezier(0.45, 0.05, 0.55, 0.95); --anim-motion-delay: cubic-bezier(0.65, 0.05, 0.36, 1); --anim-motion-jumpy: cubic-bezier(0.68, -0.55, 0.27, 1.55); --anim-motion-swing: cubic-bezier(0, 0.55, 0.45, 1); /* Bases */ --bases-header-border-width: 0 0 1px 0; --bases-header-height: 40px; --bases-header-padding-start: 2px; --bases-header-padding-end: 2px; --bases-toolbar-label-display: block; --bases-toolbar-badge-display: none; --bases-embed-border-width: 0px; --bases-embed-border-color: var(--background-modifier-border); --bases-embed-border-radius: var(--radius-s); --bases-filter-menu-width: 520px; --bases-group-heading-property-size: var(--font-ui-smaller); --bases-group-heading-property-weight: var(--font-normal); --bases-group-heading-property-color: var(--text-muted); --bases-group-heading-value-size: var(--font-smaller); --bases-group-heading-value-weight: var(--font-semibold); --bases-group-heading-property-display: block; --bases-table-container-border-width: 1px; --bases-table-container-border-radius: var(--radius-s); --bases-table-group-background: var(--background-primary-alt); --bases-table-header-weight: var(--font-weight); --bases-table-header-color: var(--text-muted); --bases-table-header-icon-display: flex; --bases-table-header-background: var(--background-primary); --bases-table-header-background-hover: var(--background-modifier-hover); --bases-table-header-sort-mask: linear-gradient(to left, transparent var(--size-4-6), black var(--size-4-6)); --bases-table-summary-background: var(--background-primary); --bases-table-summary-background-hover: var(--background-modifier-hover); --bases-table-border-color: var(--table-border-color); --bases-table-column-border-width: 1px; --bases-table-group-gap: 10px; --bases-table-row-border-width: 1px; --bases-table-row-background-hover: var(--table-row-background-hover); --bases-table-row-height: 30px; --bases-table-font-size: var(--font-smaller); --bases-table-column-max-width: 300; --bases-table-column-min-width: 40; --bases-table-cell-radius-active: 2px; --bases-table-cell-shadow-active: 0 0 0 2px var(--background-modifier-border-focus); --bases-table-cell-radius-focus: 2px; --bases-table-cell-shadow-focus: 0 0 0 2px var(--interactive-accent); --bases-table-cell-background-active: var(--background-primary); --bases-table-cell-background-disabled: var(--background-primary-alt); --bases-table-cell-background-selected: var(--table-selection); --bases-cards-container-background: transparent; --bases-cards-background: var(--background-primary); --bases-cards-cover-background: var(--background-primary-alt); --bases-cards-scale: 1; --bases-cards-line-height: 24px; --bases-cards-border-width: 1px; --bases-cards-shadow: 0 0 0 1px var(--background-modifier-border); --bases-cards-shadow-hover: 0 0 0 1px var(--background-modifier-border-hover); --bases-cards-font-size: var(--font-smaller); /* Blockquotes */ --blockquote-border-thickness: 2px; --blockquote-border-color: var(--interactive-accent); --blockquote-font-style: normal; --blockquote-color: inherit; --blockquote-background-color: transparent; /* Bold */ --bold-modifier: 200; --bold-color: inherit; --bold-weight: calc(var(--font-weight) + var(--bold-modifier)); /* Borders */ --border-width: 1px; /* Buttons */ --button-radius: var(--input-radius); --corner-smoothing: 0; /* Callouts */ --callout-border-width: 0px; --callout-border-opacity: 0.25; --callout-padding: var(--size-4-3) var(--size-4-3) var(--size-4-3) var(--size-4-6); --callout-radius: var(--radius-s); --callout-blend-mode: var(--highlight-mix-blend-mode); --callout-title-color: inherit; --callout-title-padding: 0; --callout-title-size: inherit; --callout-title-weight: calc(var(--font-weight) + var(--bold-modifier)); --callout-content-padding: 0; --callout-content-background: transparent; --callout-bug: var(--color-red-rgb); --callout-default: var(--color-blue-rgb); --callout-error: var(--color-red-rgb); --callout-example: var(--color-purple-rgb); --callout-fail: var(--color-red-rgb); --callout-important: var(--color-cyan-rgb); --callout-info: var(--color-blue-rgb); --callout-question: var(--color-orange-rgb); --callout-success: var(--color-green-rgb); --callout-summary: var(--color-cyan-rgb); --callout-tip: var(--color-cyan-rgb); --callout-todo: var(--color-blue-rgb); --callout-warning: var(--color-orange-rgb); --callout-quote: 158, 158, 158; /* Canvas */ --canvas-background: var(--background-primary); --canvas-card-label-color: var(--text-faint); --canvas-color-1: var(--color-red-rgb); --canvas-color-2: var(--color-orange-rgb); --canvas-color-3: var(--color-yellow-rgb); --canvas-color-4: var(--color-green-rgb); --canvas-color-5: var(--color-cyan-rgb); --canvas-color-6: var(--color-purple-rgb); --canvas-dot-pattern: var(--color-base-30); /* Caret (text entry cursor) */ --caret-color: var(--text-normal); /* Checkboxes */ --checkbox-radius: var(--radius-s); --checkbox-size: var(--font-text-size); --checkbox-marker-color: var(--background-primary); --checkbox-color: var(--interactive-accent); --checkbox-color-hover: var(--interactive-accent-hover); --checkbox-border-color: var(--text-faint); --checkbox-border-color-hover: var(--text-muted); --checkbox-margin-inline-start: 0.85em; --checklist-done-decoration: line-through; --checklist-done-color: var(--text-muted); /* Code */ --code-white-space: pre-wrap; --code-border-width: 0px; --code-border-color: var(--background-modifier-border); --code-bracket-background: var(--background-modifier-hover); --code-radius: var(--radius-s); --code-size: var(--font-smaller); --code-background: var(--background-primary-alt); --code-normal: var(--text-normal); --code-comment: var(--text-faint); --code-function: var(--color-yellow); --code-important: var(--color-orange); --code-keyword: var(--color-pink); --code-operator: var(--color-red); --code-property: var(--color-cyan); --code-punctuation: var(--text-muted); --code-string: var(--color-green); --code-tag: var(--color-red); --code-value: var(--color-purple); /* Collapse icons */ --collapse-icon-color: var(--text-faint); --collapse-icon-color-collapsed: var(--text-accent); /* Cursor */ --cursor: default; --cursor-link: pointer; /* Dialogs - e.g. small modals, confirmations */ --dialog-width: 560px; --dialog-max-width: 80vw; --dialog-max-height: 85vh; /* Dividers — between panes */ --divider-color: var(--background-modifier-border); --divider-color-hover: var(--interactive-accent); --divider-width: 1px; --divider-width-hover: 3px; --divider-vertical-height: calc(100% - var(--header-height)); /* Dragging */ --drag-ghost-background: rgba(0, 0, 0, 0.85); --drag-ghost-text-color: #fff; /* Dropdowns */ --dropdown-background-blend-mode: hard-light; --dropdown-background-position: right 0.5em top 50%, 0 0; --dropdown-background-size: 1em auto, 100%; --dropdown-padding: 0 1.9em 0 0.8em; /* Embeds */ --embed-max-height: 4000px; --embed-canvas-max-height: 400px; --embed-background: inherit; --embed-border-start: 2px solid var(--interactive-accent); --embed-border-end: none; --embed-border-top: none; --embed-border-bottom: none; --embed-padding: 0 0 0 var(--size-4-6); --embed-font-style: inherit; /* Blocks */ --embed-block-shadow-hover: 0 0 0 1px var(--background-modifier-border), inset 0 0 0 1px var(--background-modifier-border); /* File layout */ --file-line-width: 700px; --file-folding-offset: 24px; --file-margins: var(--size-4-8); --file-header-font: var(--font-interface); --file-header-font-size: var(--font-ui-small); --file-header-font-weight: 400; --file-header-border: var(--border-width) solid transparent; --file-header-justify: center; /* Relative font sizes */ --font-smallest: 0.8em; --font-smaller: 0.875em; --font-small: 0.933em; /* Flair */ --flair-background: var(--interactive-normal); --flair-color: var(--text-normal); /* UI font sizes */ --font-ui-smaller: 12px; --font-ui-small: 13px; --font-ui-medium: 15px; --font-ui-large: 20px; /* Font weights */ --font-weight: var(--font-normal); --font-thin: 100; --font-extralight: 200; --font-light: 300; --font-normal: 400; --font-medium: 500; --font-semibold: 600; --font-bold: 700; --font-extrabold: 800; --font-black: 900; /* Footnotes */ --footnote-divider-color-active: var(--metadata-divider-color-focus); --footnote-divider-color: var(--metadata-divider-color); --footnote-divider-width: 1px; --footnote-gap: var(--size-4-1); --footnote-id-color-no-occurrences: var(--text-faint); --footnote-id-color: var(--text-muted); --footnote-id-delimiter: "."; --footnote-input-background-active: var(--metadata-input-background-active); --footnote-input-background: var(--metadata-input-background); --footnote-line-height: var(--line-height-normal); --footnote-padding-block: var(--size-2-3); --footnote-padding-inline: var(--size-2-3); --footnote-radius: var(--radius-s); --footnote-size: var(--font-smaller); /* Graphs */ --graph-controls-width: 240px; --graph-text: var(--text-normal); --graph-line: var(--color-base-35, var(--background-modifier-border-focus)); --graph-node: var(--text-muted); --graph-node-unresolved: var(--text-faint); --graph-node-focused: var(--text-accent); --graph-node-tag: var(--color-green); --graph-node-attachment: var(--color-yellow); /* Headings */ --heading-formatting: var(--text-faint); --heading-spacing: calc(var(--p-spacing) * 2.5); --h1-color: inherit; --h2-color: inherit; --h3-color: inherit; --h4-color: inherit; --h5-color: inherit; --h6-color: inherit; --h1-font: inherit; --h2-font: inherit; --h3-font: inherit; --h4-font: inherit; --h5-font: inherit; --h6-font: inherit; --h1-letter-spacing: -0.015em; --h2-letter-spacing: -0.011em; --h3-letter-spacing: -0.008em; --h4-letter-spacing: -0.005em; --h5-letter-spacing: -0.002em; --h6-letter-spacing: 0em; --h1-line-height: 1.2; --h2-line-height: 1.2; --h3-line-height: 1.3; --h4-line-height: 1.4; --h5-line-height: var(--line-height-normal); --h6-line-height: var(--line-height-normal); --h1-size: 1.618em; --h2-size: 1.462em; --h3-size: 1.318em; --h4-size: 1.188em; --h5-size: 1.076em; --h6-size: 1em; --h1-style: normal; --h2-style: normal; --h3-style: normal; --h4-style: normal; --h5-style: normal; --h6-style: normal; --h1-variant: normal; --h2-variant: normal; --h3-variant: normal; --h4-variant: normal; --h5-variant: normal; --h6-variant: normal; --h1-weight: 700; --h2-weight: 600; --h3-weight: 600; --h4-weight: 600; --h5-weight: 600; --h6-weight: 600; /* View header */ --header-height: 40px; /* Horizontal rules */ --hr-color: var(--background-modifier-border); --hr-thickness: 2px; /* Icons */ --icon-size: var(--icon-m); --icon-stroke: var(--icon-m-stroke-width); --icon-xs: 14px; --icon-s: 16px; --icon-m: 18px; --icon-l: 18px; --icon-xl: 32px; --icon-xs-stroke-width: 2px; --icon-s-stroke-width: 2px; --icon-m-stroke-width: 1.75px; --icon-l-stroke-width: 1.75px; --icon-xl-stroke-width: 1.25px; --icon-color: var(--text-muted); --icon-color-hover: var(--text-muted); --icon-color-active: var(--text-accent); --icon-color-focused: var(--text-normal); --icon-opacity: 0.85; --icon-opacity-hover: 1; --icon-opacity-active: 1; --clickable-icon-radius: var(--radius-s); /* Indent size */ --indent-size: 4; --indent-unit: 0.5625em; /* Indentation guide */ --indentation-guide-width: 1px; --indentation-guide-width-active: 1px; --indentation-guide-color: rgba(var(--mono-rgb-100), 0.12); --indentation-guide-color-active: rgba(var(--mono-rgb-100), 0.3); --indentation-guide-editing-indent: 0.85em; --indentation-guide-reading-indent: -0.85em; --indentation-guide-source-indent: 0.25em; /* Inline title */ --inline-title-color: var(--h1-color); --inline-title-font: var(--h1-font); --inline-title-line-height: var(--h1-line-height); --inline-title-size: var(--h1-size); --inline-title-style: var(--h1-style); --inline-title-variant: var(--h1-variant); --inline-title-weight: var(--h1-weight); --inline-title-margin-bottom: 0.5em; /* Inputs */ --input-height: 30px; --input-padding: var(--size-4-1) var(--size-4-2); --input-radius: 5px; --input-font-weight: var(--font-normal); --input-border-width: 1px; --input-border-width-focus: 2px; --input-placeholder-color: var(--text-faint); --input-date-separator: var(--text-faint); /* Italic */ --italic-color: inherit; --italic-weight: inherit; /* Z-index */ --layer-cover: 5; --layer-sidedock: 10; --layer-status-bar: 15; --layer-popover: 30; --layer-slides: 45; --layer-modal: 50; --layer-notice: 60; --layer-menu: 65; --layer-tooltip: 70; --layer-dragged-item: 80; /* Line heights */ --line-height-normal: 1.5; --line-height-tight: 1.3; /* Links */ --link-color: var(--text-accent); --link-color-hover: var(--text-accent-hover); --link-decoration: underline; --link-decoration-hover: underline; --link-decoration-thickness: auto; --link-weight: var(--font-weight); --link-external-color: var(--text-accent); --link-external-color-hover: var(--text-accent-hover); --link-external-decoration: underline; --link-external-decoration-hover: underline; --link-external-filter: none; --link-unresolved-color: var(--text-accent); --link-unresolved-opacity: 0.7; --link-unresolved-filter: none; --link-unresolved-decoration-style: solid; --link-unresolved-decoration-color: hsla(var(--interactive-accent-hsl), 0.3); /* Lists */ --list-indent: calc(var(--indent-unit) * var(--indent-size)); --list-indent-editing: 0.75em; --list-indent-source: 0; --list-spacing: 0.075em; --list-marker-color: var(--text-faint); --list-marker-color-hover: var(--text-muted); --list-marker-color-collapsed: var(--text-accent); --list-bullet-border: none; --list-bullet-radius: 50%; --list-bullet-size: 0.3em; --list-bullet-transform: none; --list-numbered-style: decimal; --list-bullet-end-padding: 1.3rem; /* File navigator */ --nav-item-size: var(--font-ui-small); --nav-item-color: var(--text-muted); --nav-item-color-hover: var(--text-normal); --nav-item-color-active: var(--text-normal); --nav-item-color-selected: var(--text-normal); --nav-item-color-highlighted: var(--text-accent); --nav-item-background-hover: var(--background-modifier-hover); --nav-item-background-active: var(--background-modifier-hover); --nav-item-background-selected: hsla(var(--color-accent-hsl), 0.15); --nav-item-padding: var(--size-4-1) var(--size-4-2) var(--size-4-1) var(--size-4-6); --nav-item-parent-padding: var(--nav-item-padding); --nav-item-children-padding-start: var(--size-2-2); --nav-item-children-margin-start: var(--size-4-3); --nav-item-weight: inherit; --nav-item-weight-hover: inherit; --nav-item-weight-active: inherit; --nav-item-white-space: pre; --nav-indentation-guide-width: var(--indentation-guide-width); --nav-indentation-guide-color: var(--indentation-guide-color); --nav-collapse-icon-color: var(--collapse-icon-color); --nav-collapse-icon-color-collapsed: var(--text-faint); --nav-heading-color: var(--text-normal); --nav-heading-color-hover: var(--text-normal); --nav-heading-color-collapsed: var(--text-faint); --nav-heading-color-collapsed-hover: var(--text-muted); --nav-heading-weight: var(--font-medium); --nav-heading-weight-hover: var(--font-medium); --nav-tag-background: transparent; --nav-tag-radius: var(--radius-s); --nav-tag-color: var(--text-faint); --nav-tag-color-hover: var(--text-muted); --nav-tag-color-active: var(--text-muted); --nav-tag-weight: var(--font-semibold); /* Menus */ --menu-padding: var(--size-2-3); --menu-shadow: var(--shadow-s); --menu-radius: var(--radius-m); --menu-background: var(--background-secondary); --menu-border-color: var(--background-modifier-border-hover); --menu-border-width: 1px; --menu-backdrop-filter: none; /* Metadata */ --metadata-background: transparent; --metadata-display-reading: block; --metadata-display-editing: block; --metadata-max-width: none; --metadata-padding: var(--size-4-2) 0; --metadata-border-color: var(--background-modifier-border); --metadata-border-radius: 0; --metadata-border-width: 0; --metadata-divider-color: var(--background-modifier-border); --metadata-divider-color-hover: transparent; --metadata-divider-color-focus: transparent; --metadata-divider-width: 0; --metadata-gap: 3px; --metadata-property-padding: 0; --metadata-property-radius: 6px; --metadata-property-radius-hover: 6px; --metadata-property-radius-focus: 6px; --metadata-property-background: transparent; --metadata-property-background-hover: transparent; --metadata-property-background-active: var(--background-modifier-hover); --metadata-property-box-shadow-hover: 0 0 0 1px var(--background-modifier-border-hover); --metadata-property-box-shadow-focus: 0 0 0 2px var(--background-modifier-border-focus); --metadata-label-background: transparent; --metadata-label-background-hover: transparent; --metadata-label-background-active: var(--background-modifier-hover); --metadata-label-font: var(--font-interface); --metadata-label-font-size: var(--font-smaller); --metadata-label-font-weight: inherit; --metadata-label-text-color: var(--text-muted); --metadata-label-text-color-hover: var(--text-muted); --metadata-label-width: 9em; --metadata-input-height: calc(var(--font-text-size) * 1.75); --metadata-input-text-color: var(--text-normal); --metadata-input-font: var(--font-interface); --metadata-input-font-size: var(--font-smaller); --metadata-input-background: transparent; --metadata-input-background-hover: transparent; --metadata-input-background-active: var(--background-modifier-hover); --metadata-input-longtext-lines: 3; --metadata-sidebar-label-font-size: var(--font-ui-small); --metadata-sidebar-input-font-size: var(--font-ui-small); /* Modals - e.g. settings, community themes, community plugins */ --modal-background: var(--background-primary); --modal-width: 90vw; --modal-height: 85vh; --modal-max-width: 1100px; --modal-max-height: 1000px; --modal-max-width-narrow: 800px; --modal-border-width: var(--border-width); --modal-border-color: var(--color-base-40, var(--background-modifier-border-focus)); --modal-radius: var(--radius-l); --modal-community-sidebar-width: 280px; /* Multi-select pills */ --pill-color: var(--text-muted); --pill-color-hover: var(--text-normal); --pill-color-remove: var(--text-faint); --pill-color-remove-hover: var(--text-accent); --pill-decoration: none; --pill-decoration-hover: none; --pill-background: transparent; --pill-background-hover: transparent; --pill-border-color: var(--background-modifier-border); --pill-border-color-hover: var(--background-modifier-border-hover); --pill-border-width: var(--border-width); --pill-padding-x: 0.65em; --pill-padding-y: 0.25em; --pill-radius: 2em; --pill-weight: inherit; /* Paragraphs */ --p-spacing: 1rem; --p-spacing-empty: 0rem; /* PDF view */ --pdf-background: var(--background-primary); --pdf-page-background: var(--background-primary); --pdf-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 2px 8px rgba(0, 0, 0, 0.1); --pdf-spread-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05); --pdf-sidebar-background: var(--background-primary); --pdf-thumbnail-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.2); /* Popovers - file previews */ --popover-width: 450px; --popover-height: 400px; --popover-max-height: 95vh; --popover-pdf-width: 450px; --popover-pdf-height: 400px; --popover-font-size: var(--font-text-size); /* Prompts - e.g. quick switcher, command palette */ --prompt-input-height: 40px; --prompt-width: 700px; --prompt-max-width: 80vw; --prompt-max-height: 70vh; --prompt-border-width: var(--border-width); --prompt-border-color: var(--color-base-40, var(--background-modifier-border-focus)); /* Radiuses */ --radius-s: 4px; --radius-m: 8px; --radius-l: 12px; --radius-xl: 16px; /* Ribbon */ --ribbon-background: var(--background-secondary); --ribbon-background-collapsed: var(--background-primary); --ribbon-width: 44px; --ribbon-padding: var(--size-4-2) var(--size-4-1) var(--size-4-3); /* Scrollbars */ --scrollbar-width: 12px; --scrollbar-height: 12px; --scrollbar-border-width: 3px 3px 3px 2px; --scrollbar-radius: var(--radius-l); --scrollbar-active-thumb-bg: rgba(var(--mono-rgb-100), 0.2); --scrollbar-bg: rgba(var(--mono-rgb-100), 0.05); --scrollbar-thumb-bg: rgba(var(--mono-rgb-100), 0.1); /* Search */ --search-clear-button-color: var(--text-muted); --search-clear-button-size: 13px; --search-icon-color: var(--text-muted); --search-icon-size: 18px; --search-result-background: var(--background-primary); /* Layout sizing - for padding and margins */ --size-2-1: 2px; --size-2-2: 4px; --size-2-3: 6px; --size-4-1: 4px; --size-4-2: 8px; --size-4-3: 12px; --size-4-4: 16px; --size-4-5: 20px; --size-4-6: 24px; --size-4-8: 32px; --size-4-9: 36px; --size-4-10: 40px; --size-4-12: 48px; --size-4-16: 64px; --size-4-18: 72px; /* Sidebar */ --sidebar-markdown-font-size: calc(var(--font-text-size) * 0.9); --sidebar-tab-text-display: none; --sidebar-left-toggle-inner-width: 8.33%; --sidebar-right-toggle-inner-width: 8.33%; --sidebar-left-toggle-inner-width-open: 24%; --sidebar-right-toggle-inner-width-open: 24%; /* Sliders */ --slider-thumb-border-width: 1px; --slider-thumb-border-color: var(--background-modifier-border-hover); --slider-thumb-height: 18px; --slider-thumb-width: 18px; --slider-thumb-y: -6px; --slider-thumb-radius: 50%; --slider-s-thumb-size: 15px; --slider-s-thumb-position: -5px; --slider-track-background: var(--background-modifier-border); --slider-track-height: 3px; /* Status bar */ --status-bar-background: var(--background-secondary); --status-bar-border-color: var(--divider-color); --status-bar-border-width: 1px 0 0 1px; --status-bar-font-size: var(--font-ui-smaller); --status-bar-text-color: var(--text-muted); --status-bar-position: fixed; --status-bar-radius: var(--radius-m) 0 0 0; /* Sync */ --sync-avatar-color-current-user: transparent; --sync-avatar-color-1: var(--color-red); --sync-avatar-color-2: var(--color-orange); --sync-avatar-color-3: var(--color-yellow); --sync-avatar-color-4: var(--color-green); --sync-avatar-color-5: var(--color-cyan); --sync-avatar-color-6: var(--color-blue); --sync-avatar-color-7: var(--color-purple); --sync-avatar-color-8: var(--color-pink); /* Swatch for color inputs */ --swatch-radius: 14px; --swatch-height: 22px; --swatch-width: 22px; --swatch-shadow: inset 0 0 0 1px rgba(var(--mono-rgb-100), 0.15); /* Tabs */ --tab-background-active: var(--background-primary); --tab-text-color: var(--text-faint); --tab-text-color-active: var(--text-muted); --tab-text-color-focused: var(--text-muted); --tab-text-color-focused-active: var(--text-muted); --tab-text-color-focused-highlighted: var(--text-accent); --tab-text-color-focused-active-current: var(--text-normal); --tab-font-size: var(--font-ui-small); --tab-font-weight: inherit; --tab-container-background: var(--background-secondary); --tab-divider-color: var(--background-modifier-border-hover); --tab-outline-color: var(--divider-color); --tab-outline-width: 1px; --tab-curve: 6px; --tab-radius: var(--radius-s); --tab-radius-active: 6px 6px 0 0; --tab-width: 200px; --tab-max-width: 320px; /* Mobile tab switcher */ --tab-switcher-menubar-background: var(--mobile-sidebar-background); --tab-switcher-background: var(--background-secondary); --tab-switcher-preview-radius: var(--radius-xl); --tab-switcher-preview-background-shadow: 0 4px 30px 2px rgba(0, 0, 0, 0.2); --tab-switcher-preview-shadow: 0 0 0 1px rgba(var(--mono-rgb-100), 0.05); --tab-switcher-preview-shadow-active: 0 0 0 2px var(--color-accent); /* Stacked tabs */ --tab-stacked-pane-width: 700px; --tab-stacked-header-width: var(--header-height); --tab-stacked-font-size: var(--font-ui-small); --tab-stacked-font-weight: 400; --tab-stacked-text-align: start; --tab-stacked-text-transform: rotate(0deg); --tab-stacked-text-writing-mode: vertical-lr; --tab-stacked-shadow: -8px 0 8px 0 rgba(0, 0, 0, 0.05); /* Tables */ --table-background: transparent; --table-border-width: 1px; --table-border-color: var(--background-modifier-border); --table-white-space: break-spaces; --table-header-background: var(--table-background); --table-header-background-hover: inherit; --table-header-border-width: var(--table-border-width); --table-header-border-color: var(--table-border-color); --table-header-font: inherit; --table-header-size: var(--table-text-size); --table-header-weight: calc(var(--font-weight) + var(--bold-modifier)); --table-header-color: var(--text-normal); --table-line-height: var(--line-height-tight); --table-text-size: var(--font-text-size); --table-text-color: inherit; --table-column-min-width: 6ch; --table-column-max-width: none; --table-column-alt-background: var(--table-background); --table-column-first-border-width: var(--table-border-width); --table-column-last-border-width: var(--table-border-width); --table-row-background-hover: var(--table-background); --table-row-alt-background: var(--table-background); --table-row-alt-background-hover: var(--table-background); --table-row-last-border-width: var(--table-border-width); --table-selection: hsla(var(--color-accent-hsl), 0.1); --table-selection-blend-mode: var(--highlight-mix-blend-mode); --table-selection-border-color: var(--interactive-accent); --table-selection-border-width: 2px; --table-selection-border-radius: 4px; --table-cell-vertical-alignment: top; --table-drag-handle-background: transparent; --table-drag-handle-background-active: var(--table-selection-border-color); --table-drag-handle-color: var(--text-faint); --table-drag-handle-color-active: var(--text-on-accent); --table-drop-indicator-half-width: 2px; --table-add-button-background: transparent; --table-add-button-border-width: var(--table-border-width); --table-add-button-border-color: var(--background-modifier-border); /* Tags */ --tag-size: var(--font-smaller); --tag-color: var(--text-accent); --tag-color-hover: var(--text-accent); --tag-decoration: none; --tag-decoration-hover: none; --tag-background: hsla(var(--interactive-accent-hsl), 0.1); --tag-background-hover: hsla(var(--interactive-accent-hsl), 0.2); --tag-border-color: hsla(var(--interactive-accent-hsl), 0.15); --tag-border-color-hover: hsla(var(--interactive-accent-hsl), 0.15); --tag-border-width: 0px; --tag-padding-x: 0.65em; --tag-padding-y: 0.25em; --tag-radius: 2em; --tag-weight: inherit; /* Window frame */ --titlebar-background: var(--background-secondary); --titlebar-background-focused: var(--background-secondary-alt); --titlebar-border-width: 0px; --titlebar-border-color: var(--background-modifier-border); --titlebar-text-color: var(--text-muted); --titlebar-text-color-focused: var(--text-normal); --titlebar-text-weight: var(--font-bold); /* Toggles */ --toggle-border-width: 2px; --toggle-width: 40px; --toggle-radius: 18px; --toggle-thumb-color: white; --toggle-thumb-radius: 18px; --toggle-thumb-height: 18px; --toggle-thumb-width: 18px; --toggle-s-border-width: 2px; --toggle-s-width: 34px; --toggle-s-thumb-height: 15px; --toggle-s-thumb-width: 15px; /* Vault profile */ --vault-profile-display: flex; --vault-profile-actions-display: flex; --vault-profile-font-size: var(--font-ui-small); --vault-profile-font-weight: var(--font-medium); --vault-profile-color: var(--text-normal); --vault-profile-color-hover: var(--vault-profile-color); /* Workspace */ --workspace-background-translucent: rgba(var(--mono-rgb-0), 0.6); /* Color mappings ------------------------ */ /* Accent HSL values */ --accent-h: 258; --accent-s: 88%; --accent-l: 66%; /* Backgrounds */ --background-primary: var(--color-base-00); --background-primary-alt: var(--color-base-10); --background-secondary: var(--color-base-20); --background-modifier-hover: rgba(var(--mono-rgb-100), 0.067); --background-modifier-active-hover: hsla(var(--interactive-accent-hsl), 0.1); --background-modifier-border: var(--color-base-30); --background-modifier-border-hover: var(--color-base-35); --background-modifier-border-focus: var(--color-base-40); --background-modifier-error-rgb: var(--color-red-rgb); --background-modifier-error: var(--color-red); --background-modifier-error-hover: var(--color-red); --background-modifier-success-rgb: var(--color-green-rgb); --background-modifier-success: var(--color-green); --background-modifier-message: rgba(0, 0, 0, 0.9); /* Inputs */ --background-modifier-form-field: var(--color-base-00); --background-modifier-form-field-hover: var(--background-modifier-form-field); /* Text */ --text-normal: var(--color-base-100); --text-muted: var(--color-base-70); --text-faint: var(--color-base-50); --text-on-accent: white; --text-on-accent-inverted: black; --text-error: var(--color-red); --text-warning: var(--color-orange); --text-success: var(--color-green); --text-selection: hsla(var(--color-accent-hsl), 0.2); --text-highlight-bg-rgb: 255, 208, 0; --text-highlight-bg: rgba(var(--text-highlight-bg-rgb), 0.4); --text-accent: var(--color-accent); --text-accent-hover: var(--color-accent-2); --interactive-normal: var(--color-base-00); --interactive-hover: var(--color-base-10); --interactive-accent-hsl: var(--color-accent-hsl); --interactive-accent: var(--color-accent-1); --interactive-accent-hover: var(--color-accent-2); } .theme-light, .theme-dark { --dropdown-background: var(--interactive-normal); --dropdown-background-hover: var(--interactive-hover); } .theme-light { color-scheme: light; --highlight-mix-blend-mode: darken; --mono-rgb-0: 255, 255, 255; --mono-rgb-100: 0, 0, 0; --color-red-rgb: 233, 49, 71; --color-red: #e93147; --color-orange-rgb: 236, 117, 0; --color-orange: #ec7500; --color-yellow-rgb: 224, 172, 0; --color-yellow: #e0ac00; --color-green-rgb: 8, 185, 78; --color-green: #08b94e; --color-cyan-rgb: 0, 191, 188; --color-cyan: #00bfbc; --color-blue-rgb: 8, 109, 221; --color-blue: #086ddd; --color-purple-rgb: 120, 82, 238; --color-purple: #7852ee; --color-pink-rgb: 213, 57, 132; --color-pink: #d53984; --color-base-00: #ffffff; --color-base-05: #fcfcfc; --color-base-10: #fafafa; --color-base-20: #f6f6f6; --color-base-25: #e3e3e3; --color-base-30: #e0e0e0; --color-base-35: #d4d4d4; --color-base-40: #bdbdbd; --color-base-50: #ababab; --color-base-60: #707070; --color-base-70: #5c5c5c; --color-base-100: #222222; --color-accent-hsl: var(--accent-h), var(--accent-s), var(--accent-l); --color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l)); --color-accent-1: hsl(calc(var(--accent-h) - 1), calc(var(--accent-s) * 1.01), calc(var(--accent-l) * 1.075)); --color-accent-2: hsl(calc(var(--accent-h) - 3), calc(var(--accent-s) * 1.02), calc(var(--accent-l) * 1.15)); --background-secondary-alt: var(--color-base-05); --background-modifier-box-shadow: rgba(0, 0, 0, 0.1); --background-modifier-cover: rgba(220, 220, 220, 0.4); --input-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12), 0 2px 3px 0 rgba(0, 0, 0, 0.05), 0 1px 1.5px 0 rgba(0, 0, 0, 0.03), 0 1px 2px 0 rgba(0, 0, 0, 0.04), 0 0 0 0 transparent; --input-shadow-hover: inset 0 0 0 1px rgba(0, 0, 0, 0.17), 0 2px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 1.5px 0 rgba(0, 0, 0, 0.03), 0 1px 2px 0 rgba(0, 0, 0, 0.04), 0 0 0 0 transparent; --shadow-s: 0px 1px 2px rgba(0, 0, 0, 0.028), 0px 3.4px 6.7px rgba(0, 0, 0, 0.042), 0px 15px 30px rgba(0, 0, 0, 0.07); --shadow-l: 0px 1.8px 7.3px rgba(0, 0, 0, 0.071), 0px 6.3px 24.7px rgba(0, 0, 0, 0.112), 0px 15px 30px rgba(0, 0, 0, 0.1); } .theme-dark { color-scheme: dark; --highlight-mix-blend-mode: lighten; --mono-rgb-0: 0, 0, 0; --mono-rgb-100: 255, 255, 255; --color-red-rgb: 251, 70, 76; --color-red: #fb464c; --color-orange-rgb: 233, 151, 63; --color-orange: #e9973f; --color-yellow-rgb: 224, 222, 113; --color-yellow: #e0de71; --color-green-rgb: 68, 207, 110; --color-green: #44cf6e; --color-cyan-rgb: 83, 223, 221; --color-cyan: #53dfdd; --color-blue-rgb: 2, 122, 255; --color-blue: #027aff; --color-purple-rgb: 168, 130, 255; --color-purple: #a882ff; --color-pink-rgb: 250, 153, 205; --color-pink: #fa99cd; --color-base-00: #1e1e1e; --color-base-05: #212121; --color-base-10: #242424; --color-base-20: #262626; --color-base-25: #2a2a2a; --color-base-30: #363636; --color-base-35: #3f3f3f; --color-base-40: #555555; --color-base-50: #666666; --color-base-60: #999999; --color-base-70: #b3b3b3; --color-base-100: #dadada; --color-accent-hsl: var(--accent-h), var(--accent-s), var(--accent-l); --color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l)); --color-accent-1: hsl(calc(var(--accent-h) - 3), calc(var(--accent-s) * 1.02), calc(var(--accent-l) * 1.15)); --color-accent-2: hsl(calc(var(--accent-h) - 5), calc(var(--accent-s) * 1.05), calc(var(--accent-l) * 1.29)); --background-modifier-form-field: var(--color-base-25); --background-secondary-alt: var(--color-base-30); --interactive-normal: var(--color-base-30); --interactive-hover: var(--color-base-35); --text-accent: var(--color-accent-1); --interactive-accent: var(--color-accent); --interactive-accent-hover: var(--color-accent-1); --background-modifier-box-shadow: rgba(0, 0, 0, 0.3); --background-modifier-cover: rgba(10, 10, 10, 0.4); --text-selection: hsla(var(--interactive-accent-hsl), 0.33); --input-shadow: inset 0 0.5px 0.5px 0.5px rgba(255, 255, 255, 0.09), 0 2px 4px 0 rgba(0, 0, 0, 0.15), 0 1px 1.5px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.2), 0 0 0 0 transparent; --input-shadow-hover: inset 0 0.5px 1px 0.5px rgba(255, 255, 255, 0.16), 0 2px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 1.5px 0 rgba(0, 0, 0, 0.2), 0 1px 2px 0 rgba(0, 0, 0, 0.4), 0 0 0 0 transparent; --shadow-s: 0px 1px 2px rgba(0, 0, 0, 0.121), 0px 3.4px 6.7px rgba(0, 0, 0, 0.179), 0px 15px 30px rgba(0, 0, 0, 0.3); --shadow-l: 0px 1.8px 7.3px rgba(0, 0, 0, 0.071), 0px 6.3px 24.7px rgba(0, 0, 0, 0.112), 0px 30px 90px rgba(0, 0, 0, 0.2); --pdf-shadow: 0 0 0 1px var(--background-modifier-border); --pdf-thumbnail-shadow: 0 0 0 1px var(--background-modifier-border); } iframe { color-scheme: normal; } @media print { .theme-dark { --highlight-mix-blend-mode: darken; } } @font-face { font-family: 'Avenir Next'; font-weight: normal; font-style: normal; font-display: swap; src: url(public/fonts/94f2f163d4b698242fef.otf); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 200; font-display: swap; src: url(public/fonts/72505e6a122c6acd5471.woff2) format('woff2'); } @font-face { font-family: 'Inter'; font-style: normal; font-weight: 300; font-display: swap; src: url(public/fonts/2d5198822ab091ce4305.woff2) format('woff2'); } @font-face { font-family: 'Inter'; font-weight: 400; font-style: normal; font-display: swap; src: url(public/fonts/c8ba52b05a9ef10f4758.woff2); } @font-face { font-family: 'Inter'; font-weight: 400; font-style: italic; font-display: swap; src: url(public/fonts/cb10ffd7684cd9836a05.woff2); } @font-face { font-family: 'Inter'; font-weight: 500; font-style: normal; font-display: swap; src: url(public/fonts/293fd13dbca5a3e450ef.woff2); } @font-face { font-family: 'Inter'; font-weight: 500; font-style: italic; font-display: swap; src: url(public/fonts/085cb93e613ba3d40d2b.woff2); } @font-face { font-family: 'Inter'; font-weight: 600; font-style: normal; font-display: swap; src: url(public/fonts/b5f0f109bc88052d4000.woff2); } @font-face { font-family: 'Inter'; font-weight: 800; font-style: normal; font-display: swap; src: url(public/fonts/cbe0ae49c52c920fd563.woff2); } @font-face { font-family: 'Inter'; font-weight: 800; font-style: italic; font-display: swap; src: url(public/fonts/535a6cf662596b3bd6a6.woff2); } @font-face { font-family: 'Source Code Pro'; font-weight: normal; font-style: normal; font-display: swap; src: url(public/fonts/70cc7ff27245e82ad414.ttf); } @font-face { font-family: 'Source Code Pro'; font-weight: normal; font-style: italic; font-display: swap; src: url(public/fonts/454577c22304619db035.ttf); } @font-face { font-family: 'Source Code Pro'; font-weight: bold; font-style: normal; font-display: swap; src: url(public/fonts/52ac8f3034507f1d9e53.ttf); } @font-face { font-family: 'Source Code Pro'; font-weight: bold; font-style: italic; font-display: swap; src: url(public/fonts/05b618077343fbbd92b7.ttf); } @font-face { font-family: 'Flow Circular'; font-display: swap; src: url(public/fonts/4bb6ac751d1c5478ff3a.woff2); } @font-face { font-family: '??'; unicode-range: U+0; } body { --font-default: ui-sans-serif, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, "Inter", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; --font-monospace-default: ui-monospace, SFMono-Regular, "Cascadia Mono", "Roboto Mono", "DejaVu Sans Mono", "Liberation Mono", Menlo, Monaco, "Consolas", "Source Code Pro", monospace; --font-interface-override: '??'; --font-interface-theme: '??'; --font-interface: var(--font-interface-override), var(--font-interface-theme), var(--default-font, '??'), var(--font-default); --font-text-override: '??'; --font-text-theme: '??'; --font-text: var(--font-text-override), var(--font-text-theme), var(--font-default); --font-print-override: '??'; --font-print: var(--font-print-override), var(--font-text-override), var(--font-text-theme), 'Arial'; --font-monospace-override: '??'; --font-monospace-theme: '??'; --font-monospace: var(--font-monospace-override), var(--font-monospace-theme), var(--font-monospace-default); --font-text-size: 16px; --font-mermaid: var(--font-text); } @media print { html, body { padding-top: 0 !important; overflow: auto !important; height: auto !important; contain: initial !important; } iframe, .titlebar, .app-container, .progress-bar, .popover, .markdown-embed-link, .suggestion-container, .cm-tooltip.cm-tooltip-autocomplete { display: none !important; } body > :not(.print) { display: none !important; } .print .markdown-preview-view { -webkit-print-color-adjust: exact; color: initial; height: unset !important; } .print .markdown-preview-view mark { color: initial; } .print .markdown-preview-view .metadata-container { display: none; } .print .markdown-preview-view .markdown-embed-content { max-height: none; overflow: visible; } .print .markdown-preview-view .callout-content { display: inherit !important; } .print .external-link { background: none; padding-right: 0; } * { text-shadow: none !important; } webview { display: none; } ::-webkit-scrollbar { display: none; } body { --font-text: var(--font-print) !important; } } * { box-sizing: border-box; } html, body { margin: 0; padding: 0; height: 100%; width: 100%; overscroll-behavior: none; } body { text-rendering: optimizeLegibility; font-family: var(--font-interface); line-height: var(--line-height-tight); font-size: var(--font-ui-medium); background-color: var(--background-primary); color: var(--text-normal); -webkit-tap-highlight-color: rgba(255, 255, 255, 0); overflow: hidden; overflow: clip; contain: strict; } body.is-translucent { background-color: transparent; } @keyframes node-inserted { from { outline-color: #fff; } to { outline-color: #000; } } .node-insert-event { animation-duration: 0.01s; animation-name: node-inserted; } .is-flashing { transition: color 0.25s ease, background-color 0.25s ease; background-color: var(--text-highlight-bg) !important; color: var(--text-normal); mix-blend-mode: var(--highlight-mix-blend-mode); border-radius: var(--radius-s); } body { user-select: none; -webkit-user-select: none; caret-color: var(--caret-color); } body [contenteditable="true"], body [contenteditable=""] { user-select: text; -webkit-user-select: text; } body.is-grabbing, body.is-grabbing *:not(.workspace-leaf-resize-handle) { cursor: -moz-grabbing !important; cursor: -webkit-grabbing !important; cursor: grabbing !important; } body.is-grabbing iframe:not(.is-controlled), body.is-grabbing webview { pointer-events: none; } .app-container { display: flex; height: 100%; width: 100%; flex-direction: column; } .app-container.no-transition * { transition: none !important; } .app-container.mod-loading .clickable-icon { pointer-events: none; touch-action: none; } .app-container.mod-loading .view-header .loader-spinner { --icon-size: var(--icon-l); --icon-stroke: var(--icon-l-stroke-width); margin: var(--size-4-3) var(--size-4-2); } .app-container.mod-loading .view-header .loader-spinner svg { animation: spin 0.9s ease infinite; } body:not(.is-mobile) .app-container { position: relative; } .horizontal-main-container { width: 100%; display: flex; overflow: hidden; flex: 1 0 0; } :focus { outline: none; } .is-text-garbled * { font-family: 'Flow Circular', sans-serif !important; line-height: 1.45em !important; } .download-attachments { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--size-4-1); margin-top: var(--size-4-2); } .download-attachments .download-attachment-item { --checkbox-marker-color: var(--text-on-accent); --checkbox-size: 1.15rem; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; aspect-ratio: 1/1; background-color: var(--background-secondary); overflow: hidden; border-radius: var(--radius-s); } .download-attachments .download-attachment-item:before { content: ''; position: absolute; box-shadow: inset 0 0 0 1px rgba(var(--mono-rgb-100), 0.2); border-radius: var(--radius-s); height: 100%; width: 100%; top: 0; left: 0; z-index: 1; pointer-events: none; opacity: 0.5; transition: box-shadow var(--anim-duration-superfast) ease-in-out; background: linear-gradient(to top, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0) 50%); } .download-attachments .download-attachment-item:hover:before { box-shadow: inset 0 0 0 1px rgba(var(--mono-rgb-100), 0.3); } .download-attachments .download-attachment-item input[type=checkbox] { position: absolute; bottom: var(--size-4-2); inset-inline-end: var(--size-4-2); margin-inline: 0; z-index: 2; } .download-attachments .download-attachment-item input[type=checkbox]:not(:checked) { background-color: var(--background-primary); } .download-attachments .download-attachment-item img { object-fit: cover; width: 100%; height: 100%; max-width: 100%; max-height: 100%; pointer-events: none; border-radius: var(--radius-s); } /* CURSOR */ .cm-s-obsidian .cm-cursor, .cm-s-obsidian .cm-dropCursor { border-left-color: var(--caret-color); } .cm-fat-cursor-mark { background-color: rgba(20, 255, 20, 0.5); -webkit-animation: blink 1.06s steps(1) infinite; -moz-animation: blink 1.06s steps(1) infinite; animation: blink 1.06s steps(1) infinite; } .cm-animate-fat-cursor { width: auto; border: 0; -webkit-animation: blink 1.06s steps(1) infinite; -moz-animation: blink 1.06s steps(1) infinite; animation: blink 1.06s steps(1) infinite; background: var(--interactive-accent); color: var(--text-on-accent); } @-moz-keyframes blink { 50% { background-color: transparent; } } @-webkit-keyframes blink { 50% { background-color: transparent; } } @keyframes blink { 50% { background-color: transparent; } } .cm-tab { display: inline-block; text-decoration: inherit; } .cm-negative { color: var(--text-error); } .cm-positive { color: var(--text-success); } .cm-strikethrough { text-decoration: line-through; } .cm-invalidchar { color: var(--text-error); } .cm-searching { background-color: #ffa; background-color: rgba(255, 255, 0, 0.4); } /* Used to force a border model for a node */ .cm-force-border { padding-right: 0.1px; } /* See issue #2901 */ .cm-tab-wrap-hack:after { content: ''; } .markdown-source-view { font-size: var(--font-text-size); font-family: var(--font-text); } .workspace-leaf-content.is-read-mode .markdown-source-view { z-index: 0; } .drag-ghost { position: fixed; font-size: var(--font-ui-small); color: var(--drag-ghost-text-color); padding: var(--size-2-3) var(--size-4-2); border-radius: var(--radius-s); background-color: var(--drag-ghost-background); box-shadow: 0 2px 8px var(--background-modifier-box-shadow); z-index: var(--layer-dragged-item); max-width: 300px; font-weight: var(--font-medium); pointer-events: none; } .drag-ghost.mod-leaf { display: flex; z-index: var(--layer-tooltip); } .drag-ghost-icon { margin-right: var(--size-2-3); position: relative; } .drag-reorder-ghost { position: fixed; border-radius: var(--radius-s); background-color: var(--background-primary); box-shadow: 0 2px 8px var(--background-modifier-box-shadow); z-index: var(--layer-dragged-item); pointer-events: none; } .drag-ghost-self { display: flex; } .drag-ghost-self > .svg-icon { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); opacity: 0.7; vertical-align: middle; align-self: center; margin-right: var(--size-2-2); flex-shrink: 0; } .drag-ghost-self span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .drag-ghost-action { padding: var(--size-2-1) 0 0 0; font-size: var(--font-ui-smaller); opacity: 0.7; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .drag-ghost-hidden { visibility: hidden; position: relative; } .drag-ghost-hidden:before { content: ' '; position: absolute; top: 0; left: 0; right: 0; bottom: 0; visibility: visible; border-radius: 5px; background-color: hsla(var(--interactive-accent-hsl), 0.3); } .markdown-source-view:not(.is-live-preview) { --p-spacing: 0rem; } .markdown-source-view.mod-cm6 { height: 100%; display: flex; flex-direction: column; } .markdown-source-view.mod-cm6 ::selection { background-color: var(--text-selection); } .markdown-source-view.mod-cm6 .cm-line .cm-selection, .markdown-source-view.mod-cm6 .cm-line .cm-inline-code .cm-selection { background-color: var(--text-selection); } .markdown-source-view.mod-cm6 .cm-selectionBackground, .markdown-source-view.mod-cm6 .cm-editor > .cm-scroller > .cm-selectionLayer > .cm-selectionBackground { background-color: var(--text-selection); } .markdown-source-view.mod-cm6.is-readable-line-width .cm-sizer { max-width: var(--file-line-width); margin-left: auto; margin-right: auto; } .markdown-source-view.mod-cm6.is-readable-line-width .cm-content { max-width: var(--file-line-width); } .markdown-source-view.mod-cm6.is-readable-line-width .cm-line { max-width: var(--file-line-width); } .markdown-source-view.mod-cm6.is-readable-line-width .cm-line.HyperMD-table-row { max-width: 100%; } .markdown-source-view.mod-cm6 .cm-editor { flex: 1 1; min-height: 0; } .markdown-source-view.mod-cm6 .cm-editor.cm-focused { outline: none; } .markdown-source-view.mod-cm6 .cm-scroller { font-family: var(--font-text); line-height: var(--line-height-normal); scrollbar-gutter: stable; } .markdown-source-view.mod-cm6 .cm-sizer { display: flex; flex-direction: column; align-items: stretch; width: 100%; min-height: 100%; } .markdown-source-view.mod-cm6 .cm-contentContainer { flex: 1 1 auto; display: flex; align-items: stretch; overflow-x: visible; } .markdown-source-view.mod-cm6 .cm-content { flex-basis: unset !important; width: 0; caret-color: var(--caret-color); min-height: unset; padding: 0; } .is-mobile.is-ios .markdown-source-view.mod-cm6 .cm-content { -webkit-user-modify: read-write; } .markdown-source-view.mod-cm6 .cm-content > * { margin: 0 !important; display: block; } .markdown-source-view.mod-cm6 .cm-content > [contenteditable=false] { contain: paint !important; } .markdown-source-view.mod-cm6 .cm-gutters { flex: 0 0 auto; background-color: transparent; color: var(--text-faint) !important; border-right: none !important; margin-inline-end: var(--file-folding-offset); font-size: var(--font-ui-smaller); z-index: 1; font-variant: tabular-nums; } .markdown-source-view.mod-cm6 .cm-line > * { text-indent: 0; } .markdown-source-view.mod-cm6 .cm-transparent { color: transparent; } .markdown-source-view.mod-cm6 .cm-html-embed, .markdown-source-view.mod-cm6 .cm-callout, .markdown-source-view.mod-cm6 .cm-table-widget { white-space: normal; overflow-wrap: normal; word-break: normal; } .markdown-source-view.mod-cm6 .cm-table-widget { --table-drag-handle-size: var(--size-4-4); padding: var(--table-drag-handle-size); margin: 0 calc(-1 * var(--size-4-4)) !important; overflow-x: auto; overflow-y: hidden; } .is-mobile .markdown-source-view.mod-cm6 .cm-table-widget { --table-drag-handle-size: var(--size-4-6); } .markdown-source-view.mod-cm6 .cm-table-widget.is-loading { padding: 0; margin: 0 !important; } .markdown-source-view.mod-cm6 .cm-table-widget .table-wrapper { position: relative; width: fit-content; } .markdown-source-view.mod-cm6 .cm-table-widget tr { height: 1px; } .markdown-source-view.mod-cm6 .cm-table-widget th, .markdown-source-view.mod-cm6 .cm-table-widget td { height: inherit; min-width: var(--table-column-min-width); cursor: text; overflow: visible; padding: 0; position: relative; } .markdown-source-view.mod-cm6 .cm-table-widget th.is-selected .table-cell-wrapper, .markdown-source-view.mod-cm6 .cm-table-widget td.is-selected .table-cell-wrapper { -webkit-user-select: none; user-select: none; } .markdown-source-view.mod-cm6 .cm-table-widget th.is-selected::after, .markdown-source-view.mod-cm6 .cm-table-widget td.is-selected::after { pointer-events: none; content: ""; display: block; position: absolute; top: calc(-1 * var(--table-border-width)); inset-inline-end: calc(-1 * var(--table-border-width)); bottom: calc(-1 * var(--table-border-width)); inset-inline-start: calc(-1 * var(--table-border-width)); background-color: var(--table-selection); border: 0px solid var(--table-selection-border-color); mix-blend-mode: var(--table-selection-blend-mode); z-index: 1; } .markdown-source-view.mod-cm6 .cm-table-widget th.top::after, .markdown-source-view.mod-cm6 .cm-table-widget td.top::after { border-top-width: var(--table-selection-border-width); top: calc(-1 * var(--table-selection-border-width)); } .markdown-source-view.mod-cm6 .cm-table-widget th.bottom::after, .markdown-source-view.mod-cm6 .cm-table-widget td.bottom::after { border-bottom-width: var(--table-selection-border-width); bottom: calc(-1 * var(--table-selection-border-width)); } .markdown-source-view.mod-cm6 .cm-table-widget.has-selection { --text-selection: transparent; } .markdown-source-view.mod-cm6 .cm-table-widget.has-selection .cm-content { caret-color: transparent; } .markdown-source-view.mod-cm6 .cm-table-widget.has-selection .cm-selectionLayer, .markdown-source-view.mod-cm6 .cm-table-widget.has-selection .cm-cursorLayer { display: none; } .markdown-source-view.mod-cm6 .cm-table-widget.is-selected { --text-selection: transparent; } .markdown-source-view.mod-cm6 .cm-table-widget.is-selected table { position: relative; } .markdown-source-view.mod-cm6 .cm-table-widget.is-selected table::after { pointer-events: none; content: ""; display: block; position: absolute; top: calc(-1 * var(--table-border-width)); inset-inline-end: calc(-1 * var(--table-border-width)); bottom: calc(-1 * var(--table-border-width)); inset-inline-start: calc(-1 * var(--table-border-width)); background-color: var(--table-selection); } .markdown-source-view.mod-cm6 .cm-table-widget .table-cell-wrapper { height: 100%; padding: var(--size-2-2) var(--size-4-2); } .markdown-source-view.mod-cm6 .cm-table-widget .table-row-drag-handle, .markdown-source-view.mod-cm6 .cm-table-widget .table-col-drag-handle { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); position: absolute; display: flex; align-items: center; justify-content: center; cursor: grab; background-color: var(--table-drag-handle-background); color: var(--table-drag-handle-color); touch-action: none; opacity: 0; } .markdown-source-view.mod-cm6 .cm-table-widget .table-row-drag-handle:active, .markdown-source-view.mod-cm6 .cm-table-widget .table-col-drag-handle:active, .markdown-source-view.mod-cm6 .cm-table-widget .table-row-drag-handle:hover, .markdown-source-view.mod-cm6 .cm-table-widget .table-col-drag-handle:hover { opacity: 1; } .markdown-source-view.mod-cm6 .cm-table-widget .table-row-drag-handle:active, .markdown-source-view.mod-cm6 .cm-table-widget .table-col-drag-handle:active { cursor: grabbing; background-color: var(--table-drag-handle-background-active); color: var(--table-drag-handle-color-active); box-shadow: 0 0 0 var(--table-selection-border-width) var(--table-selection-border-color); } .markdown-source-view.mod-cm6 .cm-table-widget .table-row-drag-handle *, .markdown-source-view.mod-cm6 .cm-table-widget .table-col-drag-handle * { pointer-events: none; } .markdown-source-view.mod-cm6 .cm-table-widget .table-row-drag-handle { top: 0; inset-inline-end: 100%; width: calc(var(--table-drag-handle-size) - var(--table-selection-border-width)); height: 100%; border-start-start-radius: var(--radius-s); border-end-start-radius: var(--radius-s); } .markdown-source-view.mod-cm6 .cm-table-widget .table-col-drag-handle { inset-block-end: 100%; width: 100%; height: calc(var(--table-drag-handle-size) - var(--table-selection-border-width)); border-start-start-radius: var(--radius-s); border-start-end-radius: var(--radius-s); } .markdown-source-view.mod-cm6 .cm-table-widget.is-dragging .table-row-drag-handle, .markdown-source-view.mod-cm6 .cm-table-widget.is-dragging .table-col-drag-handle { display: none; } .markdown-source-view.mod-cm6 .cm-table-widget.is-dragging .table-row-drag-handle:active, .markdown-source-view.mod-cm6 .cm-table-widget.is-dragging .table-col-drag-handle:active { display: flex; } .markdown-source-view.mod-cm6 .cm-table-widget .table-row-btn, .markdown-source-view.mod-cm6 .cm-table-widget .table-col-btn { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); position: absolute; display: flex; align-items: center; justify-content: center; height: var(--table-drag-handle-size); width: var(--table-drag-handle-size); background-color: var(--table-add-button-background); border: var(--table-add-button-border-width) solid var(--table-add-button-border-color); color: var(--text-faint); transition: opacity 0s 0.1s; opacity: 0; user-select: none; -webkit-user-select: none; } @media (hover: hover) { .markdown-source-view.mod-cm6 .cm-table-widget .table-row-btn:hover, .markdown-source-view.mod-cm6 .cm-table-widget .table-col-btn:hover { opacity: 1; } } .is-mobile .markdown-source-view.mod-cm6 .cm-table-widget .table-row-drag-handle, .is-mobile .markdown-source-view.mod-cm6 .cm-table-widget .table-col-drag-handle { display: none; } .is-mobile .markdown-source-view.mod-cm6 .cm-table-widget .mod-active-row-handle > .table-row-drag-handle, .is-mobile .markdown-source-view.mod-cm6 .cm-table-widget .mod-active-col-handle > .table-col-drag-handle { opacity: 1; display: flex; } .is-mobile .markdown-source-view.mod-cm6 .cm-table-widget:not(.has-focus) .table-row-btn, .is-mobile .markdown-source-view.mod-cm6 .cm-table-widget:not(.has-focus) .table-col-btn { pointer-events: none; } .is-mobile .markdown-source-view.mod-cm6 .cm-table-widget.has-focus .table-row-btn, .is-mobile .markdown-source-view.mod-cm6 .cm-table-widget.has-focus .table-col-btn { opacity: 1; } .markdown-source-view.mod-cm6 .cm-table-widget .table-row-btn { top: 100%; inset-inline-start: 0; width: 100%; border-top: none; cursor: s-resize; } .markdown-source-view.mod-cm6 .cm-table-widget .table-col-btn { top: 0; height: 100%; } .markdown-source-view.mod-cm6 .cm-table-widget .cm-content, .markdown-source-view.mod-cm6 .cm-table-widget .cm-line { max-width: none; } .markdown-source-view.mod-cm6 .cm-table-widget .cm-content { width: auto; } .markdown-source-view.mod-cm6 .cm-table-widget .cm-content.cm-lineWrapping { overflow-wrap: normal; white-space: var(--table-white-space); word-break: normal; } .markdown-source-view.mod-cm6 .cm-table-widget .cm-scroller { overflow-y: hidden; scrollbar-gutter: auto; line-height: var(--table-line-height); } .markdown-source-view.mod-cm6 .cm-table-widget .table-col-btn { inset-inline-start: 100%; border-inline-start: none; cursor: e-resize; } .markdown-source-view.mod-cm6 .cm-table-widget th.is-selected.start::after, .markdown-source-view.mod-cm6 .cm-table-widget td.is-selected.start::after { border-inline-start-width: var(--table-selection-border-width); inset-inline-start: calc(-1 * var(--table-selection-border-width)); } .markdown-source-view.mod-cm6 .cm-table-widget th.is-selected.end::after, .markdown-source-view.mod-cm6 .cm-table-widget td.is-selected.end::after { border-inline-end-width: var(--table-selection-border-width); inset-inline-end: calc(-1 * var(--table-selection-border-width)); } .markdown-source-view.mod-cm6 .cm-table-widget th.is-selected.top.end::after, .markdown-source-view.mod-cm6 .cm-table-widget td.is-selected.top.end::after { border-start-end-radius: var(--table-selection-border-radius); } .markdown-source-view.mod-cm6 .cm-table-widget th.is-selected.bottom.end::after, .markdown-source-view.mod-cm6 .cm-table-widget td.is-selected.bottom.end::after { border-end-end-radius: var(--table-selection-border-radius); } .markdown-source-view.mod-cm6 .cm-table-widget th.is-selected.top.start::after, .markdown-source-view.mod-cm6 .cm-table-widget td.is-selected.top.start::after { border-start-start-radius: var(--table-selection-border-radius); } .markdown-source-view.mod-cm6 .cm-table-widget th.is-selected.bottom.start::after, .markdown-source-view.mod-cm6 .cm-table-widget td.is-selected.bottom.start::after { border-end-start-radius: var(--table-selection-border-radius); } .markdown-source-view.mod-cm6.is-rtl .cm-table-widget .table-col-btn, .markdown-source-view.mod-cm6 .cm-table-widget:dir(rtl) .table-col-btn { cursor: w-resize; } .markdown-source-view.mod-cm6 .cm-line { position: relative; padding: 0; } .markdown-source-view.mod-cm6 .edit-block-button { padding: var(--size-2-2) var(--size-2-3); position: absolute; top: var(--size-2-2); inset-inline-end: var(--size-2-2); display: flex; opacity: 0; color: var(--text-muted); border-radius: var(--radius-s); cursor: var(--cursor); } @media (hover: hover) { .markdown-source-view.mod-cm6 .edit-block-button:hover { background-color: var(--background-modifier-hover); } } .markdown-source-view.mod-cm6 .cm-panels { background-color: inherit; color: inherit; } .markdown-source-view.mod-cm6 .cm-panels.cm-panels-bottom { margin-bottom: var(--safe-area-inset-bottom); border-top: 1px solid var(--background-modifier-border); z-index: 1; } .markdown-source-view.mod-cm6 .cm-panels.cm-panels-bottom input[type="text"]:focus { background-color: transparent; box-shadow: none; } .markdown-source-view.mod-cm6 img.cm-widgetBuffer { display: inline !important; width: 0 !important; border: 0 !important; margin: 0 !important; padding: 0 !important; } .view-content > .markdown-source-view.mod-cm6 > .cm-editor > .cm-scroller { padding: var(--file-margins); } .empty-state { position: absolute; height: 100%; width: 100%; top: 0; inset-inline-start: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; } .empty-state-container { max-width: 480px; max-height: 280px; margin: 20px; text-align: center; } .empty-state-title { margin: 20px 0; font-weight: var(--h2-weight); font-size: var(--h2-size); line-height: var(--line-height-tight); position: relative; } .empty-state-action-list { font-size: var(--font-text-size); line-height: var(--line-height-tight); color: var(--text-muted); margin-top: 20px; } .empty-state-action { cursor: var(--cursor); line-height: 36px; color: var(--text-accent); } @media (hover: hover) { .empty-state-action:hover { color: var(--text-accent-hover); } } .empty-state-action.mobile-tap { color: var(--text-accent-hover); } .feedback-banner-container { display: none; border-bottom: var(--border-width) solid var(--background-modifier-border); padding-top: var(--size-4-4); padding-bottom: var(--size-4-5); padding-right: max(var(--size-4-5), var(--safe-area-inset-right)); padding-left: max(var(--size-4-5), var(--safe-area-inset-left)); } body.is-phone .feedback-banner-container { display: block; } .feedback-banner { position: relative; padding-top: var(--size-4-1); } .feedback-banner-title { font-weight: var(--font-bold); font-size: var(--font-ui-large); margin-bottom: var(--size-4-2); } .feedback-banner-content { font-size: var(--font-ui-small); display: flex; flex-direction: column; row-gap: var(--size-4-4); } .feedback-banner-dismiss-button { position: absolute; font-weight: var(--font-semibold); top: 0; right: 0; padding: var(--size-4-2) var(--size-4-1); color: var(--interactive-accent); font-size: var(--font-ui-smaller); } /* OS-dependent rules to make space for traffic lights buttons, window buttons and sidebar toggles. --- Scenarios to account for: Window frame styles - Hidden - Custom - Native - Full screen Sidebar states - Left sidebar open - Left sidebar closed - Right sidebar open - Right sidebar closed - Pop-out (no sidebars) Ribbon states - Ribbon visible - Ribbon hidden */ body { --zoom-factor: 1; --titlebar-height: 30px; } .mod-macos { --frame-left-space: calc(80px - var(--ribbon-width)); --frame-right-space: 0px; } .mod-macos.is-popout-window { --frame-left-space: 80px; } .mod-windows, .mod-linux { --frame-left-space: 0px; --frame-right-space: 126px; } body.is-frameless.in-progress, body.is-frameless:not(.is-hidden-frameless, .is-fullscreen) { padding-top: calc(var(--titlebar-height) / var(--zoom-factor)); } body.is-frameless.in-progress .titlebar, body.is-frameless:not(.is-hidden-frameless, .is-fullscreen) .titlebar { height: var(--titlebar-height); zoom: calc(1 / var(--zoom-factor)); } body.is-frameless.in-progress:not(.is-maximized) .titlebar, body.is-frameless:not(.is-hidden-frameless, .is-fullscreen):not(.is-maximized) .titlebar { padding-top: 2px; } body.is-frameless.is-hidden-frameless .titlebar { height: calc(var(--header-height) - 1px); } body.is-frameless.is-hidden-frameless.starter .titlebar { height: var(--titlebar-height); } .is-fullscreen .titlebar { display: none; } .sidebar-toggle-button, .workspace-tabs.mod-top { --tab-container-background: var(--titlebar-background); } body.is-focused .titlebar, body.is-focused .workspace-ribbon.mod-left { --titlebar-background: var(--titlebar-background-focused); } body.is-focused .sidebar-toggle-button, body.is-focused .workspace-tabs.mod-top { --tab-container-background: var(--titlebar-background-focused); } .is-hidden-frameless { --divider-vertical-height: 100%; } .workspace-ribbon .sidebar-toggle-button { position: absolute; top: 0; left: 0; width: var(--ribbon-width); justify-content: center; } .titlebar-button.mod-logo { width: var(--ribbon-width); justify-content: center; } .is-hidden-frameless:not(.starter) .titlebar { -webkit-app-region: no-drag; } .is-hidden-frameless .titlebar-button.mod-logo { display: none; } body.is-frameless.in-progress { --titlebar-background: var(--background-primary); --titlebar-background-focused: var(--background-primary); } body.is-frameless.in-progress .titlebar { display: block; -webkit-app-region: drag; z-index: 10001; } .is-hidden-frameless:not(.is-fullscreen) .workspace-tabs.mod-top-left-space .workspace-tab-header-container { padding-left: calc(var(--size-4-2) + var(--frame-left-space)); } .is-hidden-frameless:not(.is-fullscreen) .workspace-tabs.mod-top-right-space .workspace-tab-header-container { padding-right: calc(var(--size-4-2) + var(--frame-right-space)); } .is-hidden-frameless:not(.is-fullscreen):not(.mod-macos) .workspace-tabs.mod-top-left-space .workspace-tab-header-container:before { -webkit-app-region: no-drag; content: ''; height: 100%; left: 0; top: 0; position: absolute; width: var(--frame-left-space); } .is-hidden-frameless:not(.is-fullscreen):not(.mod-macos) .workspace-tabs.mod-top-right-space .workspace-tab-header-container:after { -webkit-app-region: no-drag; content: ''; height: 100%; right: 0; top: 0; position: absolute; width: var(--frame-right-space); } .is-hidden-frameless:not(.is-fullscreen) .titlebar-button-container.mod-right { background-color: var(--titlebar-background); } .is-hidden-frameless:not(.is-fullscreen).is-focused .titlebar-button-container.mod-right { background-color: var(--titlebar-background-focused); } .titlebar-button.mod-logo:hover .logo-wireframe, .titlebar-button.mod-logo:not(:hover) .logo-full { display: none; } body.is-frameless > .app-container ~ * { -webkit-app-region: no-drag; } body.is-frameless .modal-container, body.is-frameless .suggestion-bg { -webkit-app-region: initial; } body.is-frameless .modal { -webkit-app-region: no-drag; } .loader-spinner { --icon-size: var(--icon-xl); --icon-stroke: var(--icon-l-stroke-width); width: var(--size-4-8); height: var(--size-4-8); margin: 100px auto; color: var(--interactive-accent); } .loader-spinner svg { animation: spin 1s ease infinite; } .loader-cube { width: 40px; height: 40px; margin: 100px auto; } .loader-cube .sk-cube { width: 33%; height: 33%; background-color: var(--interactive-accent); float: left; float: inline-start; -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; } .loader-cube .sk-cube1 { -webkit-animation-delay: 0.2s; animation-delay: 0.2s; } .loader-cube .sk-cube2 { -webkit-animation-delay: 0.3s; animation-delay: 0.3s; } .loader-cube .sk-cube3 { -webkit-animation-delay: 0.4s; animation-delay: 0.4s; } .loader-cube .sk-cube4 { -webkit-animation-delay: 0.1s; animation-delay: 0.1s; } .loader-cube .sk-cube5 { -webkit-animation-delay: 0.2s; animation-delay: 0.2s; } .loader-cube .sk-cube6 { -webkit-animation-delay: 0.3s; animation-delay: 0.3s; } .loader-cube .sk-cube7 { -webkit-animation-delay: 0s; animation-delay: 0s; } .loader-cube .sk-cube8 { -webkit-animation-delay: 0.1s; animation-delay: 0.1s; } .loader-cube .sk-cube9 { -webkit-animation-delay: 0.2s; animation-delay: 0.2s; } @-webkit-keyframes sk-cubeGridScaleDelay { 0%, 70%, 100% { -webkit-transform: scale3D(1, 1, 1); transform: scale3D(1, 1, 1); } 35% { -webkit-transform: scale3D(0, 0, 1); transform: scale3D(0, 0, 1); } } @keyframes sk-cubeGridScaleDelay { 0%, 70%, 100% { -webkit-transform: scale3D(1, 1, 1); transform: scale3D(1, 1, 1); } 35% { -webkit-transform: scale3D(0, 0, 1); transform: scale3D(0, 0, 1); } } .is-loading { position: relative; } .is-loading:before { content: ' '; position: absolute; top: 0; width: 0; height: 3px; background-color: var(--interactive-accent); animation: 1000ms ease-in-out 300ms infinite progress-bar; } .pane-empty { color: var(--text-faint); font-size: var(--font-ui-small); margin: var(--size-4-2) auto; padding: var(--size-4-6) var(--size-4-4); text-align: center; } .pane-empty .pane-empty-actions { margin-top: var(--size-4-4); } .view-header { height: var(--header-height); display: flex; border-bottom: var(--file-header-border); background-color: var(--background-primary); z-index: 1; position: relative; gap: var(--size-4-2); padding: 0 var(--size-4-3); } body:not(.show-view-header):not(.is-phone) .view-header { display: none; } .is-focused .workspace-leaf.mod-active .view-header { background-color: var(--background-primary); } .workspace-split.mod-left-split .view-header, .workspace-split.mod-right-split .view-header, .workspace-fake-target-overlay.is-in-sidebar .view-header { display: none; } .view-header.is-highlighted:after { content: ' '; position: absolute; width: 100%; height: 100%; top: 0; inset-inline-start: 0; background-color: hsla(var(--interactive-accent-hsl), 0.5); } .view-header-left { display: flex; align-items: center; justify-content: flex-start; } .view-header-title-container { font-family: var(--file-header-font); font-size: var(--file-header-font-size); font-weight: var(--file-header-font-weight); flex: 1 1 auto; overflow: hidden; position: relative; justify-content: var(--file-header-justify); display: flex; align-items: center; gap: var(--size-4-1); min-width: 0; } .view-header-title-parent { color: var(--text-muted); flex: 0 100 auto; display: flex; gap: 0; overflow: hidden; white-space: nowrap; } .view-header-title-parent:empty { display: none; } .view-header-title-parent .view-header-breadcrumb { padding: 2px 4px; border-radius: var(--radius-s); overflow: hidden; text-overflow: ellipsis; } .view-header-title-parent .view-header-breadcrumb.has-active-menu { background-color: var(--background-modifier-hover); color: var(--text-normal); } @media (hover: hover) { .view-header-title-parent .view-header-breadcrumb:hover { background-color: var(--background-modifier-hover); color: var(--text-normal); } } .view-header-title-parent .view-header-breadcrumb-separator { padding: 2px 1px; color: var(--text-faint); } .view-header-title { flex: 0 0 auto; max-width: 100%; word-wrap: normal; color: var(--text-muted); overflow: hidden; scroll-padding-inline-end: 20px; text-overflow: ellipsis; white-space: pre; } .view-header-title:focus-within { max-width: 100%; overflow: auto; text-overflow: unset; } .is-focused .workspace-leaf.mod-active .view-header-title { color: var(--text-normal); } .view-header-title::-webkit-scrollbar { display: none; } .view-content { width: 100%; height: calc(100% - var(--header-height)); } .workspace-split.mod-root .view-content { background-color: var(--background-primary); } .workspace-split.mod-root .workspace-fake-target-overlay .view-content { background-color: transparent; } .workspace-split.mod-left-split .view-content, .workspace-split.mod-right-split .view-content { height: 100%; overflow: auto; } .inline-title { color: var(--inline-title-color); white-space: pre-wrap; margin-block-end: var(--inline-title-margin-bottom); } .inline-title:not([data-level]) { font-size: var(--inline-title-size); font-weight: var(--inline-title-weight); line-height: var(--inline-title-line-height); font-style: var(--inline-title-style); font-variant: var(--inline-title-variant); font-family: var(--inline-title-font); letter-spacing: -0.015em; } .inline-title h1, .inline-title h2, .inline-title h3, .inline-title h4, .inline-title h5, .inline-title h6 { margin-block-start: 0; margin-block-end: 0; } .hover-popover .inline-title, .inline-embed .inline-title { display: none; } .hover-popover.bases-new-item-popover .inline-title, .hover-popover .markdown-embed[data-type="heading"] .inline-title { display: block; } body:not(.show-inline-title) .inline-title:not([data-level]) { display: none; } body:not(.show-inline-title) .bases-new-item-popover .inline-title { display: block; } ::selection { background-color: var(--text-selection); } .markdown-reading-view { display: flex; flex-direction: column; } .markdown-preview-view { font-size: var(--font-text-size); font-family: var(--font-text); line-height: var(--line-height-normal); width: 100%; height: 100%; padding: var(--file-margins); position: relative; overflow-y: auto; overflow-wrap: break-word; color: var(--text-normal); user-select: text; -webkit-user-select: text; scrollbar-gutter: stable; } .workspace-leaf-content.is-read-mode .markdown-preview-view { width: 100%; inset-inline-start: 0; background-color: var(--background-primary); } .markdown-preview-view.is-readable-line-width .markdown-preview-sizer { max-width: var(--file-line-width); margin-left: auto; margin-right: auto; } .markdown-rendered { tab-size: var(--indent-size); } .markdown-rendered.rtl { direction: rtl; } .markdown-rendered > .markdown-preview-section > .markdown-preview-pusher + div:not(.mod-ui) > :first-child, .markdown-rendered > .markdown-preview-section > .mod-ui + div:not(.mod-ui) > :first-child { margin-top: 0; } .markdown-rendered > .markdown-preview-section > div:last-child > :last-child { margin-bottom: 0; } /* Ribbon */ /* Add background to top left corner space above ribbon */ .workspace-ribbon.mod-left { margin-top: var(--header-height); /* Add the tab background in the top left corner */ } .workspace-ribbon.mod-left:before { -webkit-app-region: drag; position: absolute; left: 0; top: 0; background-color: var(--titlebar-background); content: " "; border-bottom: var(--tab-outline-width) solid var(--tab-outline-color); height: var(--header-height); width: var(--ribbon-width); box-sizing: border-box; } body:not(.show-ribbon) { --ribbon-width: 0px; } body:not(.show-ribbon) .workspace-ribbon { display: none; } .workspace-ribbon { width: var(--ribbon-width); flex: 0 0 var(--ribbon-width); display: flex; flex-direction: column; overflow: hidden; background-color: var(--ribbon-background); z-index: var(--layer-sidedock); color: var(--text-muted); padding: var(--ribbon-padding); gap: var(--size-4-1); border-right: var(--divider-width) solid var(--divider-color); } .workspace-ribbon.mod-left.is-collapsed { transition: background-color 250ms 95ms ease-in-out; background-color: var(--ribbon-background-collapsed); border-right-color: var(--divider-color); } .workspace-ribbon.mod-right { display: none; } .workspace-ribbon.is-hidden { display: none; } .workspace-ribbon.is-collapsed { background-color: var(--background-secondary); } .side-dock-settings, .side-dock-actions { flex-direction: column; } .side-dock-settings .side-dock-ribbon-action, .side-dock-actions .side-dock-ribbon-action { margin: 0 auto; } .side-dock-settings { margin-top: auto; } .release-notes-view { padding: var(--file-margins); } .release-notes-view .markdown-preview-view { overflow: visible; } .release-notes-view .is-readable-line-width { max-width: var(--file-line-width); margin-left: auto; margin-right: auto; } /* Todo: remove this once the sidebars are flipped in RTL mode otherwise the top right sidebar button opens the left sidebar */ .is-phone .view-header { direction: ltr; } /* Use a different bidi algorithm to account for mixed content in single line content both in LTR or RTL mode. This is important for mixed-language users and also to properly display untranslated strings. */ .bases-toolbar-result-count, .community-item-desc, .community-modal-info-desc, .community-modal-search-summary, .inline-title, .inline-title h1, .metadata-property-key-input, .metadata-input-longtext, .multi-select-pill-content, .nav-file-title-content, .nav-folder-title-content, .search-result-file-match, .setting-item-description, .setting-item-name, .suggestion-title, .bases-table-header-name, .table-cell-wrapper, .titlebar-text, .tooltip, .tree-item-inner, .view-header-breadcrumb, .view-header-title, .workspace-tab-header-inner-title, input { unicode-bidi: plaintext; } /* Calculate horizontal positions where text direction matters but start/end values are not available, e.g. transforms used for folding indicators */ body, [dir='ltr'] { --direction: 1; } .mod-rtl, [dir='rtl'] { --direction: -1; } @supports selector(:dir(rtl)) { .is-collapsed:dir(ltr), .cm-line:dir(ltr) { --direction: 1; } .is-collapsed:dir(rtl), .cm-line:dir(rtl) { --direction: -1; } } .mod-rtl, .is-rtl, .rtl { --callout-padding: var(--size-4-3) var(--size-4-6) var(--size-4-3) var(--size-4-3); --embed-padding: 0 var(--size-4-6) 0 0; --nav-item-padding: var(--size-4-1) var(--size-4-6) var(--size-4-1) var(--size-4-2); } .mod-rtl .metadata-container, .is-rtl .metadata-container, .rtl .metadata-container { --direction: -1; } .mod-rtl .metadata-container, .is-rtl .metadata-container, .rtl .metadata-container, .mod-rtl input.metadata-input-number, .is-rtl input.metadata-input-number, .rtl input.metadata-input-number, .mod-rtl input.metadata-property-key-input, .is-rtl input.metadata-property-key-input, .rtl input.metadata-property-key-input { text-align: right; } @supports selector(:has(*)) { .mod-rtl .cm-line:has(.cm-hmd-frontmatter), .is-rtl .cm-line:has(.cm-hmd-frontmatter), .rtl .cm-line:has(.cm-hmd-frontmatter) { direction: rtl; } } .mod-rtl input[type='date'], .is-rtl input[type='date'], .rtl input[type='date'], .mod-rtl input[type='datetime-local'], .is-rtl input[type='datetime-local'], .rtl input[type='datetime-local'] { direction: rtl; } .mod-rtl input[type='date']::-webkit-calendar-picker-indicator, .is-rtl input[type='date']::-webkit-calendar-picker-indicator, .rtl input[type='date']::-webkit-calendar-picker-indicator, .mod-rtl input[type='datetime-local']::-webkit-calendar-picker-indicator, .is-rtl input[type='datetime-local']::-webkit-calendar-picker-indicator, .rtl input[type='datetime-local']::-webkit-calendar-picker-indicator { right: var(--size-4-1); left: auto; } /* Callouts Remember that callouts can be nested, so text direction can change within a nested set of callouts */ @supports selector(:has(*)) { .cm-callout:has(.callout .callout-title .callout-title-inner:dir(rtl)), .callout:has( > .callout-title .callout-title-inner:dir(rtl)) { direction: rtl; } .cm-callout:has(.callout .callout-title .callout-title-inner:dir(rtl)) > .callout-title, .callout:has( > .callout-title .callout-title-inner:dir(rtl)) > .callout-title { direction: rtl; --direction: -1; } .cm-callout:has(.callout .callout-title .callout-title-inner:dir(rtl)) > .callout-title .callout-icon svg.svg-icon, .callout:has( > .callout-title .callout-title-inner:dir(rtl)) > .callout-title .callout-icon svg.svg-icon { transform: scale(-1, 1); } } /* When Obsidian interface language is set to RTL language, mirror the UI */ .mod-rtl { --dropdown-background-position: left 0.5em top 50%, 0 0; --dropdown-padding: 0 0.8em 0 1.9em; --tab-stacked-text-transform: rotate(180deg); /* Not RTL: - Code blocks - Canvas wrapper - Community directory */ /* Set text direction on interface elements */ /* Force right-align on UI elements that respond to content direction to improve readability and avoid text bouncing between LTR/RTL */ /* Since sidebars are not (yet) reversed but the tab header icons are we need to reverse the position of the sidebar toggles*/ /* Stacked tabs */ /* Mirror directional UI components, e.g. toggles */ /* Mirror icons */ } .mod-rtl.is-mobile { --nav-item-padding: var(--size-2-3) var(--size-4-6) var(--size-2-3) var(--size-4-2); } .mod-rtl .community-modal-readme, .mod-rtl .canvas-wrapper { direction: ltr; } .mod-rtl .workspace-sidedock-vault-profile, .mod-rtl .modal, .mod-rtl .notice, .mod-rtl .prompt, .mod-rtl .titlebar, .mod-rtl .tooltip, .mod-rtl .workspace-tab-container, .mod-rtl .workspace-tab-header-container, .mod-rtl .workspace-drawer, .mod-rtl .mobile-navbar-actions, .mod-rtl .status-bar, .mod-rtl .suggestion-container, .mod-rtl .menu, .mod-rtl .bases-toolbar-menu, .mod-rtl .popover { direction: rtl; } .mod-rtl .workspace-tab-header-inner-title, .mod-rtl .setting-item-description, .mod-rtl .setting-item-name, .mod-rtl input { text-align: right; } .mod-rtl .sidebar-toggle-button { order: 2; } .mod-rtl .sidebar-toggle-button.mod-right { order: -1; } .mod-rtl .canvas-card-menu { flex-direction: row-reverse; } .mod-rtl .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container { flex-direction: row-reverse; } .mod-rtl .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner { flex-direction: row-reverse; } .mod-rtl .search-input-container:before, .mod-rtl .checkbox-container { transform: scale(-1, 1); } .mod-rtl svg.svg-icon:not( .lucide-binary, .lucide-check, .lucide-check-square, .lucide-clock, .lucide-code-2, .lucide-timer, .sidebar-toggle-button-icon ) { transform: scale(-1, 1); } [lang="he"] svg.svg-icon:is( .lucide-help-circle, .help ) { transform: scale(1, 1); } .setting { display: flex; align-items: center; } .setting-text { flex-grow: 1; } .setting-title { font-size: var(--font-ui-large); line-height: var(--line-height-normal); } .setting-explanation { color: var(--text-muted); } .modal.mod-new-editor { max-width: 600px; } .modal.mod-trust-folder { max-width: 700px; } .modal.mod-plugin-debug { max-width: 500px; } .modal.mod-plugin-debug .startup-stat-list, .modal.mod-plugin-debug .startup-timing-list { display: flex; flex-direction: column; margin: var(--size-4-4) 0; } .modal.mod-plugin-debug .startup-stat { display: flex; flex-direction: row; font-size: var(--font-ui-medium); padding: var(--size-4-1) 0; gap: var(--size-4-2); } .modal.mod-plugin-debug .startup-stat:not(:last-child) { border-bottom: var(--border-width) solid var(--background-modifier-border); } .modal.mod-plugin-debug .startup-stat.mod-heading .startup-label, .modal.mod-plugin-debug .startup-stat.mod-heading .startup-value { font-weight: var(--font-semibold); } .modal.mod-plugin-debug .startup-info { flex-grow: 1; white-space: nowrap; } .modal.mod-plugin-debug .startup-desc { margin-inline: var(--size-4-2); color: var(--text-faint); font-size: var(--font-ui-smaller); } .modal.mod-plugin-debug .startup-value { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; font-variant-numeric: tabular-nums; text-align: end; width: 50%; } .modal.mod-settings .vertical-tab-header { flex: 0 0 25%; min-width: 180px; max-width: 250px; overflow: auto; border-inline-end: 1px solid var(--divider-color); } .modal.mod-settings .modal-content { margin-top: 0; overflow: hidden; } .modal.mod-plugin-options .modal-content { margin: var(--size-4-6) 0; } .modal.mod-form { max-width: 400px; } .form-field { display: flex; flex-direction: column; gap: var(--size-4-2); } .setting-item { display: flex; align-items: center; padding: 0.75em 0; border-top: 1px solid var(--background-modifier-border); row-gap: var(--size-4-3); /* Add extra space for setting heading if it starts a new section */ } .setting-item + div > .setting-item-heading, .setting-item + .setting-item-heading { margin-top: 0.75em; } .setting-item:first-child { padding-top: 0; border-top: none; } .setting-item > *:first-child { margin-inline-end: var(--size-4-4); } .setting-item > *:last-child { margin-inline-end: 0; } @container (max-width: 340px) { .setting-item:not(.mod-toggle):not(.mod-list-item) { flex-direction: column; } .setting-item:not(.mod-toggle):not(.mod-list-item) .setting-item-info { margin-inline-end: 0; align-self: flex-start; } .setting-item:not(.mod-toggle):not(.mod-list-item) .setting-item-control { width: 100%; justify-content: flex-start; } .setting-item:not(.mod-toggle):not(.mod-list-item) .setting-item-control button:not(.clickable-icon), .setting-item:not(.mod-toggle):not(.mod-list-item) .setting-item-control input, .setting-item:not(.mod-toggle):not(.mod-list-item) .setting-item-control select { width: 100%; max-width: 100%; } } .setting-item.mod-cta { justify-content: center; } .setting-item-heading { font-weight: var(--font-semibold); border-top: none; } .setting-item-heading .setting-item-info { flex-grow: 0; margin-inline-end: 0; } .setting-item-heading .setting-item-description { font-weight: var(--font-normal); } .setting-item-info { flex: 1 1 auto; min-width: 0; } .setting-item-description { color: var(--text-muted); font-size: var(--font-ui-smaller); padding-top: var(--size-4-1); line-height: var(--line-height-tight); } .setting-item-description:empty { display: none; } .setting-item-description code { font-family: var(--font-monospace); font-size: var(--font-smaller); border-radius: var(--radius-s); padding: 0 3px 2px 3px; position: relative; bottom: 1px; } .setting-item-description ul { margin: var(--size-4-1) 0; padding-inline-start: var(--size-4-6); } .setting-item-name { color: var(--text-normal); font-size: var(--font-ui-medium); line-height: var(--line-height-tight); text-overflow: ellipsis; overflow: hidden; } .setting-item-control { flex: 1 1 auto; text-align: end; display: flex; justify-content: flex-end; align-items: center; gap: var(--size-4-2); } .setting-item-control.mod-vertical { flex-direction: column; } .setting-item-control.mod-vertical > *:not(:last-child) { margin-bottom: 10px; margin-inline-end: 0; } .setting-item-control.mod-hotkey { padding-top: 0; cursor: default; } .setting-item-control.mod-hotkey input { font-family: var(--font-monospace); font-size: var(--font-smaller); } .setting-item-control.mod-hotkey input:focus { background-color: var(--interactive-accent); color: var(--text-on-accent); } .setting-item-control select { width: inherit; max-width: 400px; } .setting-command-hotkeys { display: flex; flex-wrap: wrap; gap: var(--size-4-1); } .setting-hotkey { font-family: -apple-system, BlinkMacSystemFont, var(--font-monospace); font-size: var(--font-ui-small); background-color: var(--background-modifier-hover); border-radius: var(--radius-s); padding: 2px 4px 2px 8px; align-self: flex-end; white-space: nowrap; display: flex; align-items: center; gap: var(--size-4-1); } .setting-hotkey.has-conflict { background-color: var(--background-modifier-error); color: var(--text-on-accent); } @media (hover: hover) { .setting-hotkey.has-conflict:hover { background-color: var(--background-modifier-error-hover); } } .setting-hotkey.mod-active { background-color: var(--interactive-accent); color: var(--text-on-accent); } .setting-hotkey.mod-empty { padding-inline-end: var(--size-4-2); } .setting-hotkey-icon { display: flex; align-items: center; cursor: var(--cursor); border-radius: 50%; line-height: 1; text-align: center; } .setting-hotkey-icon .svg-icon { width: 16px; height: 16px; stroke-width: 2px; opacity: 0.6; } @media (hover: hover) { .setting-hotkey-icon:hover .svg-icon { opacity: 1; } } @media (hover: hover) { .setting-delete-hotkey:hover { background-color: var(--background-modifier-error); color: var(--text-on-accent); } } .setting-add-hotkey-button, .setting-restore-hotkey-button { padding: var(--size-2-2); border-radius: var(--radius-s); color: var(--text-faint); cursor: var(--cursor); height: calc(var(--icon-l) + var(--size-2-2) + var(--size-2-2)); } .setting-add-hotkey-button.mod-active, .setting-restore-hotkey-button.mod-active { color: var(--text-accent); } @media (hover: hover) { .setting-add-hotkey-button:hover, .setting-restore-hotkey-button:hover { background-color: var(--background-modifier-hover); color: var(--text-normal); } } .extra-setting-button { line-height: 0; } .setting-message { font-size: var(--font-ui-small); } .setting-font-list { margin: 1.5em 0 0.75em 0; } .hotkey-settings-container { display: flex; flex-direction: column; } .hotkey-settings-container .setting-item-description { padding-top: 0; } .hotkey-settings-container hr { margin: 20px 0 10px 0; } .hotkey-list-container { overflow: auto; } .hotkey-header-container { justify-content: space-between; padding-bottom: var(--size-4-8); display: flex; flex-wrap: wrap; } .hotkey-filter { align-items: center; background-color: var(--background-secondary); border-radius: var(--radius-s); display: flex; font-size: var(--font-ui-small); padding: var(--size-4-1) var(--size-4-1) var(--size-4-1) var(--size-4-2); gap: var(--size-2-1); } .setting-filter-container { display: flex; gap: var(--size-4-2); margin-bottom: var(--size-4-8); } .input-right-decorator { position: absolute; transform: translateY(-50%); top: 50%; inset-inline-end: var(--size-4-1); } .search-input-container.mod-hotkey .clickable-icon { padding: var(--size-2-1); } .hotkey-filter-remove-button { cursor: var(--cursor); color: var(--text-muted); padding: var(--size-2-1); border-radius: var(--radius-s); display: flex; align-items: center; --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); } @media (hover: hover) { .hotkey-filter-remove-button:hover { background-color: var(--background-modifier-hover); } } .modal.mod-image-lightbox { max-width: 90vw; max-height: 90vh; padding: 0; } .modal.mod-image-lightbox .modal-content { padding: var(--size-4-12) var(--size-4-3) var(--size-4-2) var(--size-4-3); text-align: center; } .spellchecker-dictionary-container { max-height: 60vh; overflow: auto; } .spellchecker-dictionary-item { display: flex; margin-bottom: 10px; } .spellchecker-dictionary-word { flex-grow: 1; } .spellchecker-dictionary-remove-button { cursor: var(--cursor); color: var(--text-muted); margin-inline-end: 10px; } @media (hover: hover) { .spellchecker-dictionary-remove-button:hover { color: var(--text-normal); } } .modal.mod-new-editor .card, .modal.mod-restricted-mode .card { flex: 1 0 0; } .input-right-decorator { position: absolute; transform: translateY(-50%); top: 50%; inset-inline-end: var(--size-4-1); } .input-right-decorator.clickable-icon { padding: var(--size-2-1) var(--size-2-2); } .input-right-decorator.clickable-icon.is-active { background-color: transparent; } .search-input-container input:placeholder-shown ~ .search-input-clear-button { display: none; } .search-input-container input:not(:placeholder-shown) { padding-inline-end: 28px; } .global-search-input-container.search-input-container input:not(:placeholder-shown) { padding-inline-end: 56px; } .search-input-container input:not(:placeholder-shown) ~ .input-right-decorator { inset-inline-end: calc(var(--size-4-1) + 28px); } .setting-progress-bar { width: 100%; height: var(--size-4-2); border-radius: var(--radius-s); background-color: var(--background-secondary); box-shadow: inset 0 0 0 1px var(--background-modifier-border); } .setting-progress-bar-inner { width: 0; height: 100%; border-radius: var(--radius-s); background-color: var(--interactive-accent); } .mod-community-modal .modal-sidebar .setting-item { max-width: var(--modal-community-sidebar-width); padding: 0 var(--size-4-3) var(--size-4-1); border: none; gap: var(--size-4-2); } .mod-community-modal .modal-sidebar .setting-item:first-child { max-width: 500px; gap: 0; margin-bottom: var(--size-4-2); } .mod-community-modal .modal-sidebar .setting-item-name { font-size: var(--font-ui-small); padding-inline-start: var(--size-4-1); } .mod-community-modal .modal-sidebar .setting-item-info { margin: 0; flex-grow: 0; } .mod-community-modal .modal-sidebar .search-input-container { width: 100%; } .mod-community-modal .modal-sidebar button.clickable-icon { padding: 6px 10px; display: flex; align-items: center; color: var(--text-normal); } .community-modal-details-empty-state { padding: 0; text-align: center; } .community-modal-search-summary { font-size: var(--font-ui-small); padding: var(--size-4-1) var(--size-4-3) var(--size-4-3) var(--size-4-4); } .community-modal-search-results-wrapper { flex: 1 0 auto; overflow: auto; border-top: var(--border-width) solid var(--divider-color); scroll-padding: var(--size-4-3); /* This helps with performance of the app */ contain: strict; } .community-modal-search-results { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--size-4-3); padding: var(--size-4-3); } .community-modal-empty-state { color: var(--text-muted); display: flex; align-items: center; justify-content: center; height: 100%; flex-direction: column; } body:not(.is-phone) .community-item.is-selected, body:not(.is-phone) .community-item.is-selected:hover { border-color: var(--interactive-accent); background-color: var(--interactive-accent); color: var(--text-on-accent); } body:not(.is-phone) .community-item.is-selected .community-item-author, body:not(.is-phone) .community-item.is-selected:hover .community-item-author, body:not(.is-phone) .community-item.is-selected .community-item-repo, body:not(.is-phone) .community-item.is-selected:hover .community-item-repo, body:not(.is-phone) .community-item.is-selected .community-item-downloads, body:not(.is-phone) .community-item.is-selected:hover .community-item-downloads, body:not(.is-phone) .community-item.is-selected .community-item-updated, body:not(.is-phone) .community-item.is-selected:hover .community-item-updated { color: var(--text-on-accent); opacity: 0.8; } body:not(.is-phone) .community-item.is-selected .flair, body:not(.is-phone) .community-item.is-selected:hover .flair { --flair-color: var(--text-on-accent); --flair-background: transparent; } .community-item { position: relative; background-color: var(--background-primary); padding: var(--size-4-3); cursor: var(--cursor); border-radius: var(--radius-m); border: 1px solid var(--background-modifier-border); display: flex; flex-direction: column; gap: var(--size-2-1); } .community-item:last-child { margin-bottom: 0; } .community-item .suggestion-highlight { background-color: var(--text-highlight-bg); } @media (hover: hover) { .community-item:hover { border-color: var(--background-modifier-border-hover); } } .community-item.mobile-tap { background-color: var(--background-modifier-hover); } .is-mobile .community-item { max-width: 500px; } .community-item .flair { --flair-background: var(--background-modifier-active-hover); --flair-color: var(--text-accent); margin-inline-start: var(--size-4-1); vertical-align: middle; top: -1px; } .community-item-name { font-size: var(--font-ui-medium); line-height: var(--line-height-tight); font-weight: var(--font-medium); } .community-item-author { font-size: var(--font-ui-smaller); line-height: var(--line-height-tight); color: var(--text-muted); } .community-item-downloads { font-size: var(--font-ui-smaller); color: var(--text-muted); --icon-color: var(--text-faint); --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); } .community-item-downloads svg { vertical-align: text-bottom; } .community-item-updated { font-size: var(--font-ui-smaller); color: var(--text-muted); margin-bottom: var(--size-4-2); } .community-item-downloads-text { margin-inline-start: var(--size-2-2); } .community-item-desc { font-size: var(--font-ui-small); line-height: var(--line-height-tight); margin-top: 4px; overflow: hidden; } .community-item-badge.mod-update { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); color: var(--interactive-accent); position: absolute; top: var(--size-4-3); inset-inline-end: var(--size-4-3); } .community-item-screenshot { max-width: 100%; margin-top: auto; object-fit: cover; border-radius: var(--radius-s); aspect-ratio: 16/9; image-rendering: -webkit-optimize-contrast; margin-top: var(--size-4-1); } .community-item-screenshot.mod-unavailable { text-align: center; color: var(--text-muted); } .community-item-screenshot .placeholder-icon { display: flex; align-items: center; justify-content: center; height: 100%; } .community-item-screenshot .placeholder-icon .svg-icon { color: var(--text-faint); width: var(--size-4-8); height: var(--size-4-8); } .community-modal-info-name { font-size: var(--h2-size); font-weight: var(--font-semibold); line-height: var(--line-height-tight); margin-bottom: var(--size-4-6); } .community-modal-info-author, .community-modal-info-repo, .community-modal-info-version { font-size: var(--font-ui-small); line-height: var(--line-height-tight); color: var(--text-muted); } .community-modal-info-desc { font-size: var(--font-ui-small); line-height: var(--line-height-tight); margin-top: 4px; } .community-modal-details { flex: 1 1 calc(var(--modal-max-width) - var(--modal-community-sidebar-width)); overflow: auto; display: flex; flex-direction: column; border-inline-start: 1px solid var(--divider-color); } .community-modal-info { flex: 1 1 0; overflow-y: auto; padding: var(--size-4-8) var(--size-4-16); scroll-padding: var(--size-4-4); } .community-readme { overflow-y: visible; height: auto; padding: var(--size-4-4) 0; } .community-readme video, .community-readme img { max-width: 100%; } .community-modal-info-desc { font-size: var(--font-ui-medium); line-height: var(--line-height-tight); margin-top: var(--size-4-2); } .community-modal-button-container { display: flex; flex-wrap: wrap; gap: var(--size-4-2); margin: 1.5em 0; } .community-modal-info-downloads { color: var(--text-muted); margin-top: var(--size-4-1); display: inline-block; --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); } .community-modal-info-downloads-text { margin-inline-start: var(--size-4-1); position: relative; top: -1px; } .community-modal-readme { font-size: var(--font-text-size); font-family: var(--font-text); line-height: var(--line-height-normal); overflow-wrap: break-word; color: var(--text-normal); user-select: text; -webkit-user-select: text; } .installed-plugins-container { padding-top: var(--size-4-4); border-top: 1px solid var(--background-modifier-border); } .is-mobile .community-modal-button-container { margin-bottom: var(--safe-area-inset-bottom); width: 100%; } .community-modal-grid-button-container { position: absolute; top: var(--size-4-4); inset-inline-end: var(--size-4-12); display: flex; gap: var(--size-4-2); } .status-bar { position: var(--status-bar-position); width: auto; bottom: 0; right: 0; border-radius: var(--status-bar-radius); border-style: solid; border-width: var(--status-bar-border-width); border-color: var(--status-bar-border-color); background-color: var(--status-bar-background); color: var(--status-bar-text-color); display: flex; font-size: var(--status-bar-font-size); justify-content: flex-end; min-height: 18px; padding: var(--size-4-1); gap: var(--size-4-1); user-select: none; z-index: var(--layer-status-bar); font-variant-numeric: tabular-nums; } body:not(.is-fullscreen) .status-bar { padding-right: var(--size-4-2); } .status-bar-item { border-radius: var(--radius-s); display: inline-flex; align-items: center; padding: 3px var(--size-2-2); line-height: 1; } .status-bar-item.mod-clickable { cursor: var(--cursor); } @media (hover: hover) { .status-bar-item.mod-clickable:hover { background-color: var(--background-modifier-hover); color: var(--text-normal); } } .status-bar-item.plugin-editor-status, .status-bar-item.plugin-sync { padding: 0 var(--size-2-2); } @media (hover: hover) { .status-bar-item.plugin-editor-status:hover, .status-bar-item.plugin-sync:hover { background-color: var(--background-modifier-hover); } } .status-bar-item:empty { display: none; } .status-bar-item-icon { vertical-align: middle; display: flex; align-items: center; } .status-bar-item-segment { margin-inline-end: var(--size-4-2); } .status-bar-item-segment:last-child { margin-inline-end: 0; } .is-screenshotting .status-bar { display: none; } .titlebar { -webkit-app-region: drag; position: fixed; top: 0; left: 0; right: 0; display: flex; background-color: var(--titlebar-background); border-bottom: var(--titlebar-border-width) solid var(--titlebar-border-color); } .titlebar-inner { color: var(--titlebar-text-color); font-weight: var(--titlebar-text-weight); width: 100%; display: flex; } .is-focused .titlebar-inner { color: var(--titlebar-text-color-focused); } .titlebar-text { opacity: 0.85; position: absolute; width: 100%; height: 100%; top: 0; inset-inline-start: 0; flex-grow: 1; gap: 0.15em; font-size: var(--font-ui-small); text-align: center; display: flex; justify-content: center; align-items: center; padding: 0 125px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .titlebar-button-container { display: flex; position: absolute; top: 0; } .mod-macos .titlebar-button-container { top: 8px; } .titlebar-button-container.mod-left { left: 0; } .mod-macos .titlebar-button-container.mod-left { left: calc(80px / var(--zoom-factor)); } .titlebar-button-container .mod-back, .titlebar-button-container .mod-forward { color: var(--icon-color); } .titlebar-button-container .mod-back .svg-icon, .titlebar-button-container .mod-forward .svg-icon { width: 14px; height: 14px; stroke-width: 2.25px; } @media (hover: hover) { .titlebar-button-container .mod-back:hover, .titlebar-button-container .mod-forward:hover { color: var(--icon-color-hover); } } .titlebar-button-container.mod-right { right: 0; } .titlebar-button { -webkit-app-region: no-drag; padding: var(--size-2-2) var(--size-2-3); cursor: var(--cursor); display: inline-flex; align-items: center; } @media (hover: hover) { .titlebar-button:hover { opacity: 1; background-color: var(--background-modifier-hover); } .titlebar-button.mod-close:hover { background-color: var(--background-modifier-error); } } .mod-macos .titlebar-button { border-radius: var(--radius-s); } /* Hidden titlebar interferes with mouse */ body.is-frameless.is-hidden-frameless:not(.in-progress) { padding-top: 0 !important; } .is-hidden-frameless.mod-macos .titlebar { display: none; } .is-hidden-frameless.mod-windows .titlebar, .is-hidden-frameless.mod-linux .titlebar { background: transparent; border: none; z-index: var(--layer-popover); pointer-events: none; } .is-hidden-frameless.mod-windows .titlebar-button.mod-back, .is-hidden-frameless.mod-linux .titlebar-button.mod-back, .is-hidden-frameless.mod-windows .titlebar-button.mod-forward, .is-hidden-frameless.mod-linux .titlebar-button.mod-forward, .is-hidden-frameless.mod-windows .titlebar-text, .is-hidden-frameless.mod-linux .titlebar-text { display: none; } .is-hidden-frameless.mod-windows .titlebar-button-container, .is-hidden-frameless.mod-linux .titlebar-button-container { pointer-events: auto; } .mod-linux .titlebar-button-container, .mod-windows .titlebar-button-container { height: 100%; } .mod-linux .titlebar-button, .mod-windows .titlebar-button { padding: 0 16px; display: flex; align-items: center; } .mod-linux .titlebar-button.mod-logo, .mod-windows .titlebar-button.mod-logo { padding: 4px 8px; } @media (hover: hover) { .mod-linux .titlebar-button.mod-close:hover, .mod-windows .titlebar-button.mod-close:hover { background-color: var(--background-modifier-error); } .mod-linux .titlebar-button.mod-close:hover .svg-icon, .mod-windows .titlebar-button.mod-close:hover .svg-icon { fill: white; stroke: white; } } @media screen and (max-width: 300px) { .titlebar-text { display: none; } } .is-translucent:not(.is-fullscreen) { --nav-collapse-icon-color: rgba(var(--mono-rgb-100), 0.3); --nav-collapse-icon-color-collapsed: rgba(var(--mono-rgb-100), 0.3); --divider-color: rgba(0, 0, 0, 0.15); } .is-translucent:not(.is-fullscreen) .titlebar, .is-translucent:not(.is-fullscreen) .app-container { background-color: var(--workspace-background-translucent); } .is-translucent:not(.is-fullscreen) .workspace-ribbon.mod-left, .is-translucent:not(.is-fullscreen) .workspace-tabs, .is-translucent:not(.is-fullscreen) .workspace-split, .is-translucent:not(.is-fullscreen) .sidebar-toggle-button, .is-translucent:not(.is-fullscreen) .mod-left-split .workspace-tab-header-container, .is-translucent:not(.is-fullscreen) .mod-right-split .workspace-tab-header-container, .is-translucent:not(.is-fullscreen) .mod-top .workspace-tab-header-container, .is-translucent:not(.is-fullscreen) .workspace-tabs .workspace-leaf, .is-translucent:not(.is-fullscreen) .workspace-sidedock-vault-profile, .is-translucent:not(.is-fullscreen) .workspace-ribbon.mod-left:before { background-color: transparent !important; } /* Rendering property values */ .value-list-element { align-items: center; } body:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile { background-color: var(--background-secondary); border-top: var(--tab-outline-width) solid var(--tab-outline-color); display: var(--vault-profile-display); align-items: center; height: unset; flex: 0 0 auto; gap: var(--size-4-1); justify-content: space-between; padding: var(--size-4-2) var(--size-4-2); order: 1; } body:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile .workspace-drawer-vault-switcher { color: var(--vault-profile-color); border-radius: var(--radius-s); display: flex; flex-grow: 1; align-items: center; gap: var(--size-4-2); overflow: hidden; padding: var(--size-4-1) var(--size-4-2); -electron-corner-smoothing: var(--corner-smoothing); } body:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile .workspace-drawer-vault-switcher.has-active-menu { background-color: var(--background-modifier-hover); } body:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile .workspace-drawer-vault-switcher.has-active-menu .workspace-drawer-vault-switcher-icon { color: var(--text-muted); } @media (hover: hover) { body:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile .workspace-drawer-vault-switcher:hover { color: var(--vault-profile-color-hover); background-color: var(--background-modifier-hover); } body:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile .workspace-drawer-vault-switcher:hover .workspace-drawer-vault-switcher-icon { color: var(--text-muted); } } body:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile .workspace-drawer-vault-name { font-size: var(--vault-profile-font-size); font-weight: var(--vault-profile-font-weight); text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } body:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile .workspace-drawer-vault-switcher-icon { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); display: flex; align-items: center; color: var(--text-faint); } body:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile .workspace-drawer-vault-actions { display: var(--vault-profile-actions-display); align-items: center; } .workspace { display: flex; flex: 1 0 0; transition: padding-left 100ms ease-in; overflow: hidden; height: 100%; } .is-translucent .workspace { background-color: transparent; } .workspace-split { display: flex; background-color: var(--tab-container-background); position: relative; } .workspace-split.mod-vertical > .workspace-split:last-child { padding-inline-end: 0; } .workspace-split:last-child:not(.mod-right-split) > .workspace-leaf-resize-handle { display: none; } .workspace-split.mod-vertical { flex-direction: row; } .workspace-split.mod-horizontal { flex-direction: column; } .workspace-split.mod-root { background-color: var(--background-primary); } .workspace-leaf { display: flex; flex-direction: column; position: relative; contain: strict !important; overflow: hidden; isolation: isolate; } .workspace-split.mod-root .workspace-leaf:last-child .workspace-leaf-resize-handle { display: none; } .workspace-leaf.is-highlighted:before { content: ' '; position: absolute; height: 100%; width: 100%; top: 0; inset-inline-start: 0; background-color: hsla(var(--interactive-accent-hsl), 0.25); z-index: var(--layer-popover); pointer-events: none; } .workspace > .workspace-leaf, .workspace > .workspace-split { height: 100%; width: 100%; } /* Resize handles */ .workspace-split.mod-root > .workspace-leaf-resize-handle { display: none; } .workspace-leaf-resize-handle { -webkit-app-region: no-drag; position: absolute; z-index: var(--layer-cover); background-color: transparent; transition: background-color 200ms ease-in-out, border-color 200ms ease-in-out, opacity 200ms ease-in-out; border-color: var(--divider-color); border-top: 0; border-width: var(--divider-width); margin: 0; } @media (hover: hover) { .workspace-leaf-resize-handle:hover { background-color: var(--divider-color-hover); border-color: var(--divider-color-hover); } .is-translucent .workspace-leaf-resize-handle:hover { background-color: var(--divider-color-hover); border-color: var(--divider-color-hover); } } .workspace-split.mod-horizontal > * > .workspace-leaf-resize-handle { bottom: 0; inset-inline-start: 0; border-bottom-style: solid; border-bottom-width: var(--divider-width); height: var(--divider-width-hover); width: 100%; cursor: row-resize; } .workspace-split.mod-vertical > * > .workspace-leaf-resize-handle, .workspace-split.mod-left-split > .workspace-leaf-resize-handle, .workspace-split.mod-right-split > .workspace-leaf-resize-handle { inset-inline-end: 0; bottom: 0; width: var(--divider-width-hover); height: var(--divider-vertical-height); cursor: col-resize; } .workspace-split.mod-right-split > .workspace-leaf-resize-handle { border-inline-start-style: solid; border-inline-start-width: var(--divider-width); } .workspace-split.mod-vertical > * > .workspace-leaf-resize-handle, .workspace-split.mod-left-split > .workspace-leaf-resize-handle { border-inline-end-style: solid; border-inline-end-width: var(--divider-width); } .workspace-split.mod-right-split > .workspace-leaf-resize-handle { inset-inline-end: unset; inset-inline-start: 0; } .workspace-split.mod-vertical > * { height: 100%; flex: 1 0 0; width: 0; } .workspace-split.mod-horizontal > * { width: 100%; flex: 1 0 0; height: 0; } .workspace-split.mod-left-split, .workspace-split.mod-right-split { flex: 0 0 auto; } .is-translucent .workspace-split.mod-left-split.is-sidedock-collapsed .workspace-tabs, .is-translucent .workspace-split.mod-right-split.is-sidedock-collapsed .workspace-tabs { visibility: hidden; } .workspace-split.mod-left-split > .workspace-leaf-resize-handle, .workspace-split.mod-right-split > .workspace-leaf-resize-handle { z-index: var(--layer-status-bar); height: var(--divider-vertical-height); top: unset; bottom: 0; } .view-header-nav-buttons { --icon-size: var(--icon-s); align-items: center; display: flex; } body.is-phone .view-header-nav-buttons { display: none; } .workspace-leaf-content { width: 100%; height: 100%; overflow: hidden; position: relative; display: flex; flex-direction: column; } .workspace-leaf-content .view-content { padding: var(--size-4-3) var(--size-4-3) var(--size-4-8); padding-bottom: max(var(--safe-area-inset-bottom), var(--size-4-8)); overflow: auto; } .workspace-leaf-content[data-type='markdown'] .view-content { padding: 0; overflow: hidden; } .workspace-leaf-content[data-type='backlink'] .view-content, .workspace-leaf-content[data-type='outgoing-link'] .view-content { padding: 0; overflow: hidden; display: flex; flex-direction: column; } .workspace-leaf-content .image-container, .workspace-leaf-content .audio-container, .workspace-leaf-content .video-container { text-align: center; } .workspace-leaf-content img:not([width]), .workspace-leaf-content audio, .workspace-leaf-content video { max-width: 100%; } .workspace-fake-target-overlay, .workspace-drop-overlay { will-change: transform, width, height; position: fixed; inset-inline-start: 0; top: 0; width: 0; height: 0; transform: translate(0, 0); transition: all 100ms ease-in-out; z-index: var(--layer-cover); pointer-events: none; } .workspace-drop-overlay:before { content: ' '; position: absolute; width: calc(100% - 6px); height: calc(100% - 6px); top: 0; left: 0; bottom: 0; right: 0; margin: auto; background-color: var(--interactive-accent); border-radius: var(--radius-m); opacity: 0.5; } .workspace-fake-target-container { visibility: hidden; position: absolute; pointer-events: none; top: 0; inset-inline-start: 0; } .workspace-fake-target-overlay { visibility: visible; overflow: hidden; background-color: var(--background-primary); /* &.is-in-sidebar { background-color: var(--background-secondary); .workspace-leaf { background-color: var(--background-secondary); } }*/ } .workspace-fake-target-overlay > * { width: 100%; height: 100%; } .workspace-tabs { overflow: hidden; display: flex; flex-direction: column; position: relative; } .workspace-tabs > * { flex: 1 0 0; } .workspace-tabs .workspace-leaf { height: 100%; } .workspace-split.mod-right-split .workspace-tabs { padding-inline-end: 0; } .workspace-tabs:last-child .workspace-leaf-resize-handle { display: none; } .workspace-fake-target-overlay:not(.is-in-sidebar) .workspace-tabs .workspace-leaf, .mod-root .workspace-tabs .workspace-leaf { background-color: var(--background-primary); } .workspace-tabs .workspace-leaf { background-color: var(--background-secondary); } .workspace-tabs .workspace-leaf .view-content { height: 100%; } .workspace-tab-header-container { display: flex; background-color: var(--tab-container-background); height: var(--header-height); border-bottom: var(--tab-outline-width) solid var(--tab-outline-color); flex: 0 0 auto; padding-left: var(--size-4-2); padding-right: var(--size-4-2); position: relative; } .is-phone .workspace-tab-header-container { display: none; } .workspace-tab-header-container-inner { -webkit-app-region: drag; display: flex; flex: 0 1 auto; overflow: auto; margin: 6px -5px calc(var(--tab-outline-width) * -1); padding: 1px 15px 0; } .mod-root .workspace-tab-header-container-inner { padding: 1px 15px 0; } .workspace-tab-header-container-inner::-webkit-scrollbar, .workspace-tab-header-container-inner::-webkit-scrollbar-thumb { display: none; } .workspace-tab-header-inner-icon { flex: 0 0 auto; display: flex; } /* Hide tab icon if it's a note */ .mod-root .workspace-tab-header[data-type="markdown"] .workspace-tab-header-inner-icon, .mod-root .workspace-tab-header[data-type="empty"] .workspace-tab-header-inner-icon { display: none; } .mod-root .workspace-tab-header.mod-unknown { font-style: italic; } .is-focused .workspace-tab-header { color: var(--tab-text-color-focused); } .is-focused .workspace-tab-header.is-active { color: var(--tab-text-color-focused-active); } .is-focused .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-icon, .is-focused .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-title { color: var(--tab-text-color-focused-active-current); } .is-focused .mod-active .workspace-tab-header.is-active.is-highlighted .workspace-tab-header-inner-icon, .is-focused .mod-active .workspace-tab-header.is-active.is-highlighted .workspace-tab-header-inner-title { color: var(--tab-text-color-focused-highlighted); } .is-focused .workspace-tab-header.active.is-highlighted .workspace-tab-header-inner-icon, .is-focused .workspace-tab-header.is-highlighted .workspace-tab-header-inner-icon, .is-focused .workspace-tab-header.active.is-highlighted .workspace-tab-header-inner-title, .is-focused .workspace-tab-header.is-highlighted .workspace-tab-header-inner-title { color: var(--tab-text-color-focused-highlighted); } .workspace-tab-header { -webkit-app-region: no-drag; color: var(--tab-text-color); display: flex; position: relative; padding: 1px 4px 3.5px; scroll-margin-inline-start: var(--size-2-3); scroll-margin-inline-end: var(--size-4-1); text-align: center; border-radius: var(--tab-radius-active); /* Decorative curves */ } @media (hover: hover) { .workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner { background-color: var(--background-modifier-hover); } } .workspace-tab-header:not(.is-active).mobile-tap .workspace-tab-header-inner { background-color: var(--background-modifier-hover); } .workspace-tab-header::before, .workspace-tab-header::after { position: absolute; bottom: 0; content: ''; width: calc(var(--tab-curve) * 2); height: calc(var(--tab-curve) * 2); border-radius: 100%; box-shadow: 0 0 0 calc(var(--tab-curve) * 3) transparent; } .workspace-tab-header::before { left: calc(var(--tab-curve) * -2); clip-path: inset(50% calc(var(--tab-curve) * -1) 0 50%); } .workspace-tab-header::after { right: calc(var(--tab-curve) * -2); clip-path: inset(50% 50% 0 calc(var(--tab-curve) * -1)); } .workspace-tab-header.is-active { box-shadow: 0 0 0 var(--tab-outline-width) var(--tab-outline-color); color: var(--tab-text-color-active); background-color: var(--tab-background-active); } .workspace-split.mod-root .workspace-tab-header.is-active::before, .workspace-split.mod-root .workspace-tab-header.is-active::after { box-shadow: inset 0 0 0 var(--tab-outline-width) var(--tab-outline-color), 0 0 0 calc(var(--tab-curve) * 4) var(--tab-background-active); } .workspace-tab-header.is-active .workspace-tab-header-inner::after { opacity: 0; } .workspace-tab-container { display: flex; overflow: hidden; } .workspace-tab-container > * { flex: 1 0 0; } .workspace-tab-header-inner { align-items: center; display: flex; gap: var(--size-2-1); height: 100%; border-radius: var(--tab-radius); -electron-corner-smoothing: var(--corner-smoothing); overflow: hidden; padding: 0 8px; width: 100%; } .workspace-tab-header-inner .workspace-tab-header-inner-icon { color: var(--icon-color); opacity: var(--icon-opacity); } @media (hover: hover) { .workspace-tab-header-inner:hover .workspace-tab-header-inner-icon { color: var(--icon-color-hover); opacity: var(--icon-opacity-hover); } } .mod-root .workspace-tab-header-inner { padding-top: 0; padding-inline-end: 3px; padding-inline-start: 6px; padding-bottom: 0; } .workspace-tab-header-inner-title { flex: 1 1 auto; font-size: var(--tab-font-size); font-weight: var(--tab-font-weight); overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; width: 100%; } .workspace-tab-header-status-container { display: flex; flex-shrink: 0; gap: var(--size-2-1); justify-content: center; } .workspace-tab-header-status-container:empty { display: none; } .workspace-tab-header-status-icon, .workspace-tab-header-inner-close-button { cursor: var(--cursor); padding: var(--size-2-1); border-radius: var(--radius-s); display: flex; align-items: center; --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); } @media (hover: hover) { .workspace-tab-header.is-active .workspace-tab-header-status-icon:hover, .workspace-tab-header.is-active .workspace-tab-header-inner-close-button:hover { background-color: var(--background-modifier-hover); } .mod-root .workspace-tab-header.is-active .workspace-tab-header-status-icon.mod-linked:hover, .mod-root .workspace-tab-header.is-active .workspace-tab-header-inner-close-button.mod-linked:hover, .mod-root .workspace-tab-header.is-active .workspace-tab-header-status-icon.mod-pinned:hover, .mod-root .workspace-tab-header.is-active .workspace-tab-header-inner-close-button.mod-pinned:hover { background-color: var(--background-modifier-active-hover); } } .workspace-tab-header.is-active .workspace-tab-header-status-icon::after, .workspace-tab-header.is-active .workspace-tab-header-inner-close-button::after { background-color: transparent; } @media (hover: hover) { .workspace-tab-header-inner-close-button:hover { color: var(--tab-text-color-focused-active-current); } } .workspace-tab-header:hover .workspace-tab-header-inner-close-button { color: var(--tab-text-color-focused); } @media (hover: hover) { .workspace-tab-header:hover .workspace-tab-header-inner-close-button:hover { color: var(--tab-text-color-focused-active-current); } } .workspace-tab-header.is-active .workspace-tab-header-inner-close-button { color: var(--tab-text-color-focused-active); } @media (hover: hover) { .workspace-tab-header.is-active .workspace-tab-header-inner-close-button:hover { color: var(--tab-text-color-focused-active-current); } } .workspace-sidedock-empty-state { font-size: var(--font-ui-small); padding: 20px 30px; } .workspace-tab-header.is-before-active .workspace-tab-header-inner { border-bottom-right-radius: 10px; } .workspace-tab-header-spacer { display: flex; flex-grow: 1; } body:not(.is-grabbing):not(.is-fullscreen) .workspace-tabs.mod-top .workspace-tab-header-spacer { -webkit-app-region: drag; } body:not(.is-grabbing):not(.is-fullscreen).is-hidden-frameless .mod-top .workspace-tab-header-container { -webkit-app-region: drag; } .workspace-tab-header-tab-list, .workspace-tab-header-new-tab { -webkit-app-region: no-drag; display: none; z-index: 1; align-items: center; } .titlebar .workspace-tab-header-tab-list, .titlebar .workspace-tab-header-new-tab, .mod-root .workspace-tab-header-tab-list, .mod-root .workspace-tab-header-new-tab { display: flex; } .workspace-tab-header-tab-list .clickable-icon, .workspace-tab-header-new-tab .clickable-icon { color: var(--icon-color); padding: var(--size-2-2); --icon-size: var(--icon-m); --icon-stroke: var(--icon-m-stroke-width); align-items: center; } .workspace-tab-header-new-tab { padding: var(--size-4-2) 0 var(--size-2-3); margin-inline-end: var(--size-4-3); margin-inline-start: -4px; } .workspace-tab-header-tab-list { margin-inline-end: var(--size-4-1); padding: var(--size-4-2) 0 var(--size-2-3); } /* Remove tab titles in sidebar */ .workspace-fake-target-overlay.is-in-sidebar .workspace-tab-header-inner-title, .mod-left-split .workspace-tab-header-inner-title, .mod-right-split .workspace-tab-header-inner-title { display: var(--sidebar-tab-text-display); } .workspace-fake-target-overlay.is-in-sidebar .workspace-tab-header-inner-close-button, .mod-left-split .workspace-tab-header-inner-close-button, .mod-right-split .workspace-tab-header-inner-close-button { display: none; } body > .workspace-split { height: 100%; } .mod-root .workspace-tabs > .workspace-leaf .view-header-title { white-space: normal; } .mod-root .workspace-tab-header-status-icon { color: var(--text-accent); } .mod-root .workspace-tab-header-status-icon, .mod-root .workspace-tab-header-inner-icon { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); } .mod-root .mod-pinned, .mod-root .workspace-tab-header-inner-close-button { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); } .mod-right-split .markdown-preview-view, .mod-left-split .markdown-preview-view, .mod-right-split .markdown-source-view.mod-cm6 .cm-scroller, .mod-left-split .markdown-source-view.mod-cm6 .cm-scroller { --file-margins: var(--size-4-5); } .mod-right-split .markdown-preview-view, .mod-left-split .markdown-preview-view, .mod-right-split .markdown-source-view, .mod-left-split .markdown-source-view { font-size: var(--sidebar-markdown-font-size); } /* Sidebar tabs */ .mod-left-split .workspace-tab-header-container-inner, .mod-right-split .workspace-tab-header-container-inner { padding: 1px 0 7px; margin: 6px 0 0 0; gap: 3px; } .mod-left-split .workspace-tab-header, .mod-right-split .workspace-tab-header { box-shadow: none; background-color: transparent; padding: 0; margin: 0; border-radius: var(--radius-s); } .mod-left-split .workspace-tab-header:before, .mod-right-split .workspace-tab-header:before, .mod-left-split .workspace-tab-header:after, .mod-right-split .workspace-tab-header:after { display: none; } .mod-left-split .workspace-tab-header:active .workspace-tab-header-inner-icon, .mod-right-split .workspace-tab-header:active .workspace-tab-header-inner-icon { color: var(--icon-color-focused); } .mod-left-split .workspace-tab-header.has-active-menu, .mod-right-split .workspace-tab-header.has-active-menu, .mod-left-split .workspace-tab-header.is-active, .mod-right-split .workspace-tab-header.is-active { background-color: var(--background-modifier-hover); } @media (hover: hover) { .mod-left-split .workspace-tab-header.has-active-menu:hover, .mod-right-split .workspace-tab-header.has-active-menu:hover, .mod-left-split .workspace-tab-header.is-active:hover, .mod-right-split .workspace-tab-header.is-active:hover { background-color: var(--background-modifier-hover); } } .mod-left-split .workspace-tab-header.has-active-menu .workspace-tab-header-inner-icon, .mod-right-split .workspace-tab-header.has-active-menu .workspace-tab-header-inner-icon, .mod-left-split .workspace-tab-header.is-active .workspace-tab-header-inner-icon, .mod-right-split .workspace-tab-header.is-active .workspace-tab-header-inner-icon { opacity: var(--icon-opacity-active); color: var(--icon-color-focused); } .workspace .mod-root .workspace-tab-header { -webkit-app-region: no-drag; container-type: inline-size; container-name: tab-header; flex: 1 1 0; width: var(--tab-width); min-width: 0; max-width: var(--tab-max-width); padding: 1px 3px 3.5px; } .workspace .mod-root .workspace-tab-header .workspace-tab-header-status-container { position: sticky; inset-inline-end: 0; } .workspace .mod-root .workspace-tab-header .workspace-tab-header-inner-close-button { position: sticky; inset-inline-end: 0; } .workspace .mod-root .workspace-tab-header.is-active .workspace-tab-header-inner-close-button { pointer-events: all; opacity: 1; } .workspace .mod-root .workspace-tab-header.is-active .workspace-tab-header-inner-close-button svg { opacity: 1; } .workspace .mod-root .workspace-tab-header.is-active .workspace-tab-header-inner-close-button::after { background-color: transparent; } .workspace .mod-root .workspace-tab-header-inner::after { position: absolute; inset-inline-end: -0.5px; width: 1px; background-color: var(--tab-divider-color); content: ''; height: 20px; } .workspace .mod-root .workspace-tab-header-inner-icon { display: flex; padding-inline-end: 4px; } .workspace .mod-root .workspace-tab-header[data-type="markdown"] .workspace-tab-header-inner-icon, .workspace .mod-root .workspace-tab-header[data-type="empty"] .workspace-tab-header-inner-icon { display: none; } .workspace .mod-root .workspace-tab-header-inner-title { text-overflow: ellipsis; width: 100%; } .workspace .mod-root .workspace-tab-header-status-container.mod-linked { display: none; } .workspace .mod-root .workspace-tab-header-spacer { flex-shrink: 1; } .workspace .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header:not(.is-active) .workspace-tab-header-inner-close-button { display: none; } @media (hover: hover) { .workspace .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header:hover .workspace-tab-header-inner-close-button { display: flex; } } @container tab-header (width < 3rem) { .workspace .workspace-split.mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-container .workspace-tab-header:not(.is-active) .workspace-tab-header-inner-close-button { display: none; } } /* Stacked tabs */ .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-header-container-inner { padding: 0 0 0 var(--size-4-3); margin: 0; } .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container { overflow-x: auto; overflow-y: hidden; position: relative; display: flex; flex-direction: row; } .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container > * { flex: 0 0 auto; position: sticky; } .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header { width: var(--tab-stacked-header-width); writing-mode: var(--tab-stacked-text-writing-mode); text-orientation: sideways; background-color: var(--background-primary); padding: 0; border-radius: 0; box-shadow: -1px 0 0 0 var(--tab-outline-color), var(--tab-stacked-shadow); --no-tooltip: true; } .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header:before, .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header:after { display: none; } @media (hover: hover) { .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header:hover .workspace-tab-header-inner { background-color: transparent; } } .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner { padding: var(--size-4-2) var(--size-4-2) var(--size-4-4); border-radius: 0; } .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner:after { display: none; } .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner-title { order: 3; width: auto; -webkit-mask-image: unset; padding: var(--size-4-1) 0; transform: var(--tab-stacked-text-transform); text-align: var(--tab-stacked-text-align); font-weight: var(--tab-stacked-font-weight); font-size: var(--tab-stacked-font-size); text-orientation: mixed; } .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner-icon { order: 2; cursor: grab; display: flex; padding: var(--size-2-2); border-radius: var(--radius-s); } @media (hover: hover) { .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner-icon:hover { background-color: var(--background-modifier-hover); } } .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner-icon:active { cursor: grabbing; } .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner-close-button { color: var(--tab-text-color-focused); } @media (hover: hover) { .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner-close-button:hover { background-color: var(--background-modifier-hover); } } .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-leaf { width: var(--tab-stacked-pane-width); /* This is here for performance reasons - it helps the engine know what's out of view and avoid rendering them */ contain: strict; } .workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-leaf.is-hidden > * { display: none; } .sidebar-toggle-button { position: relative; -webkit-app-region: inherit; height: calc(var(--header-height) - 1px); display: flex; justify-content: center; padding: var(--size-4-2) 0 7px 0; -webkit-app-region: no-drag; --icon-size: var(--icon-l); --icon-stroke: var(--icon-l-stroke-width); } .sidebar-toggle-button .sidebar-toggle-icon-inner { stroke: none; } .sidebar-toggle-button.mod-left .sidebar-toggle-icon-inner { width: var(--sidebar-left-toggle-inner-width); } .workspace.is-left-sidedock-open .sidebar-toggle-button.mod-left .sidebar-toggle-icon-inner { --sidebar-left-toggle-inner-width: var(--sidebar-left-toggle-inner-width-open); } .sidebar-toggle-button.mod-right .clickable-icon { transform: scale(-1, 1); } .sidebar-toggle-button.mod-right .clickable-icon .sidebar-toggle-icon-inner { width: var(--sidebar-right-toggle-inner-width); } .workspace.is-right-sidedock-open .sidebar-toggle-button.mod-right .clickable-icon .sidebar-toggle-icon-inner { --sidebar-right-toggle-inner-width: var(--sidebar-right-toggle-inner-width-open); } /* Smoother animation for right sidebar button positioning during close */ .mod-macos.is-hidden-frameless:not(.is-popout-window) .sidebar-toggle-button.mod-right { background-color: var(--tab-container-background); position: fixed; top: 0; right: 0; padding-right: var(--size-4-2); z-index: var(--layer-cover); } .mod-macos.is-hidden-frameless:not(.is-popout-window) .workspace .workspace-tabs.mod-top-right-space .workspace-tab-header-container { padding-right: 38px; } @media (forced-colors: active) { .workspace-tab-header.is-active { outline: 1px ButtonBorder solid; } } .button-container { margin-top: 20px; } button { --text-color: var(--text-normal); -webkit-app-region: no-drag; display: inline-flex; align-items: center; justify-content: center; color: var(--text-color); font-size: var(--font-ui-small); border-radius: var(--button-radius); border: 0; padding: var(--size-4-1) var(--size-4-3); height: var(--input-height); font-weight: var(--input-font-weight); cursor: var(--cursor); font-family: inherit; outline: none; user-select: none; white-space: nowrap; -electron-corner-smoothing: var(--corner-smoothing); } button:not(.clickable-icon) { color: var(--text-color); background-color: var(--interactive-normal); box-shadow: var(--input-shadow); } button:not(.clickable-icon).mobile-tap { background-color: var(--interactive-hover); box-shadow: var(--input-shadow-hover); } @media (hover: hover) { button:hover { background-color: var(--interactive-hover); box-shadow: var(--input-shadow-hover); } } button:focus-visible { box-shadow: 0 0 0 3px var(--background-modifier-border-focus); } button[disabled], button[aria-disabled="true"], button[disabled="true"] { cursor: not-allowed; opacity: 0.7; } button.mod-loading { color: transparent; position: relative; white-space: nowrap; overflow: hidden; pointer-events: none; } button.mod-loading::after { content: ''; position: absolute; width: 12px; height: 12px; top: 0; left: 0; right: 0; bottom: 0; margin: auto; border: 2px solid transparent; border-top-color: var(--text-color); border-radius: 50%; animation: spin 1s ease infinite; } @media (forced-colors: active) { button { border: 1px ButtonBorder solid; } } button.mod-cta { background-color: var(--interactive-accent); --text-color: var(--text-on-accent); } button.mod-cta.mobile-tap { background-color: var(--interactive-accent-hover); } @media (hover: hover) { button.mod-cta:hover { background-color: var(--interactive-accent-hover); } } button.mod-cta:focus-visible { box-shadow: 0 0 0 3px var(--background-modifier-border-focus); } button.mod-muted { background-color: var(--background-secondary); --text-color: var(--text-muted); } @media (hover: hover) { button.mod-muted:hover { background-color: var(--background-secondary); } } button.mod-warning { background-color: var(--background-modifier-error); --text-color: var(--text-on-accent); } @media (hover: hover) { button.mod-warning:hover { background-color: var(--background-modifier-error-hover); } } button.mod-destructive { --text-color: var(--text-error); } .card-container { display: flex; } .card-container.mod-horizontal { flex-direction: column; } .card { background-color: var(--background-secondary-alt); border-radius: 4px; border: 1px solid var(--background-modifier-border); margin: 0 10px; padding: 15px 30px; display: flex; flex-direction: column; flex-grow: 1; } .card ul { padding: 0; } .card .button-container { margin: 10px 0; } .card-container.mod-horizontal .card { margin: 10px 0; } .card-container.mod-horizontal .card ul { padding-left: 24px; } .card li { margin: 5px 0; } .card.u-clickable { cursor: var(--cursor); } @media (hover: hover) { .card.u-clickable:hover { border: 1px solid var(--interactive-accent); background-color: hsla(var(--interactive-accent-hsl), 0.1); } } .card.is-selected { border: 1px solid var(--interactive-accent); background-color: hsla(var(--interactive-accent-hsl), 0.2); } .card-title { text-align: center; font-size: 20px; line-height: 30px; color: var(--text-muted); margin-bottom: 8px; } .card-description { color: var(--text-muted); font-size: var(--font-ui-small); line-height: 20px; flex-grow: 1; } /* Only used in Format Converter so far */ .changelog-item { margin: var(--size-4-2) 0; font-size: var(--font-ui-medium); line-height: var(--line-height); } .changelog-item:before { content: attr(data-label); width: 50px; border-radius: var(--radius-m); font-size: var(--font-ui-small); display: inline-block; text-align: center; margin-right: 14px; text-transform: uppercase; letter-spacing: 1px; line-height: 22px; } .changelog-item.mod-success:before { background-color: var(--background-modifier-success); color: var(--text-on-accent); } .changelog-item.mod-failed:before { background-color: var(--background-modifier-error); color: var(--text-on-accent); } .changelog-item.mod-highlighted:before { background-color: var(--interactive-accent); } [contenteditable] { outline: none; } .list-container { display: flex; flex-direction: column; gap: var(--size-4-1); } .list-container.has-row-lines .list-item { margin: 0 calc(var(--size-4-4) * -1); padding: var(--size-4-2) var(--size-4-4); } .list-item { border-radius: var(--radius-m); display: flex; margin: var(--size-4-2) 0; gap: var(--size-4-2); align-items: center; } .list-item.mod-selectable { cursor: var(--cursor); } .list-item.mod-selectable.mobile-tap { background-color: var(--background-modifier-hover); } @media (hover: hover) { .list-item.mod-selectable:hover { background-color: var(--background-modifier-hover); } } .list-item.mod-empty { color: var(--text-faint); font-size: var(--font-ui-small); padding: var(--size-4-4); text-align: center; margin: 0 auto; } .list-item-separator { width: 100%; border-bottom: var(--border-width) solid var(--background-modifier-border); } .list-item-actions { display: flex; gap: var(--size-4-2); } .list-item-part.mod-extended { flex-grow: 1; overflow-wrap: anywhere; } .list-item-part.clickable-icon { display: flex; align-items: center; justify-content: center; padding: var(--size-2-2); cursor: var(--cursor); border-radius: var(--radius-s); color: var(--icon-color); } .list-item-part.clickable-icon:hover, .list-item-part.clickable-icon:active { color: var(--icon-color-hover); background-color: var(--background-modifier-hover); } .list-item-desc { display: flex; flex-wrap: wrap; gap: var(--size-4-2); color: var(--text-faint); font-size: var(--font-ui-smaller); width: 100%; } .u-center-text { text-align: center; } .u-faded-text { color: var(--text-muted); } .u-pop { color: var(--text-accent); font-weight: var(--font-semibold); } .u-break-word { overflow-wrap: break-word; } .u-muted { color: var(--text-muted); } .u-small { font-size: 0.8em; } .u-clickable { cursor: var(--cursor); } /* In file recovery, sync version history, and publish diff */ .diff-view { user-select: text; } .diff-line { padding: 0 var(--size-4-2); white-space: pre-wrap; word-break: break-word; } .diff-line.mod-left { background-color: rgba(var(--background-modifier-error-rgb), 0.2); } .diff-line.mod-left .diff-changed { background-color: rgba(var(--background-modifier-error-rgb), 0.4); } .diff-line.mod-right { background-color: rgba(var(--background-modifier-success-rgb), 0.2); } .diff-line.mod-right .diff-changed { background-color: rgba(var(--background-modifier-success-rgb), 0.4); } .diff-collapsed { text-align: center; color: var(--text-muted); cursor: pointer; font-size: var(--font-ui-small); margin: var(--size-4-2) 0; } @media (hover: hover) { .diff-collapsed:hover { color: var(--text-accent); } } /* Document search and replace */ /* Moves search to the top #todo move this into DOM */ .markdown-reading-view.is-searching, .markdown-source-view.is-replacing, .markdown-source-view.is-searching { flex-direction: column-reverse; } /* Container for dcoument search/replace UI */ .mod-active .document-search-container { background-color: var(--background-primary); } .document-search-container { display: flex; flex-direction: column; padding: var(--size-4-2) 0; margin: 0 var(--size-4-4); gap: var(--size-4-2); z-index: var(--layer-popover); } .document-search, .document-replace { width: 100%; max-width: var(--file-line-width); margin: 0 auto; display: flex; padding: 0 var(--size-4-2); gap: var(--size-4-2); } .document-replace { display: none; } .document-search-container.mod-replace-mode .document-replace { display: flex; } .document-search-input, .document-replace-input { flex-grow: 1; } .document-search-input.mod-no-match, .document-replace-input.mod-no-match { background-color: rgba(var(--background-modifier-error-rgb), 0.2); } @media (hover: hover) { .document-search-input.mod-no-match:hover, .document-replace-input.mod-no-match:hover { background-color: rgba(var(--background-modifier-error-rgb), 0.2); } } .document-search-count { color: var(--text-muted); font-size: var(--font-ui-smaller); font-variant-numeric: tabular-nums; position: absolute; transform: translateY(-50%); top: 50%; inset-inline-end: var(--size-4-2); } .document-replace-buttons, .document-search-buttons { display: flex; gap: var(--size-4-1); align-items: center; } .document-search-button { font-size: var(--font-ui-small); color: var(--text-muted); } /* Read */ .markdown-rendered .search-highlight > div { position: absolute; pointer-events: none; box-shadow: 0 0 0px 2px var(--text-normal); opacity: 0.3; mix-blend-mode: var(--highlight-mix-blend-mode); border-radius: 2px; } .markdown-rendered .search-highlight > div.is-active { box-shadow: 0 0 0px 3px var(--text-accent); opacity: 1; } .cm-s-obsidian span.obsidian-search-match-highlight { box-shadow: 0 0 0px 3px var(--text-accent); mix-blend-mode: var(--highlight-mix-blend-mode); border-radius: 2px; } /* Edit */ .markdown-source-view.mod-cm6 .document-search-container { flex: 0 0 auto; } .cm-s-obsidian span.cm-highlight.obsidian-search-match-highlight { background-color: var(--text-selection); } /* class applies to select element itself, not a wrapper element */ select, .combobox-button, .dropdown { -webkit-app-region: no-drag; height: var(--input-height); font-size: var(--font-ui-small); font-family: inherit; font-weight: var(--input-font-weight); color: var(--text-normal); line-height: var(--line-height-tight); max-width: 100%; /* useful when width is set to anything other than 100% */ box-sizing: border-box; margin: 0; border: 0; box-shadow: var(--input-shadow); border-radius: var(--input-radius); -webkit-appearance: none; appearance: none; background-color: var(--dropdown-background); padding: var(--dropdown-padding); background-repeat: no-repeat, repeat; /* arrow icon position (1em from the right, 50% vertical) , then gradient position*/ background-position: var(--dropdown-background-position); /* icon size, then gradient */ background-size: var(--dropdown-background-size); background-blend-mode: hard-light; -electron-corner-smoothing: var(--corner-smoothing); } @media (hover: hover) { select:hover, .combobox-button:hover, .dropdown:hover { box-shadow: var(--input-shadow-hover); background-color: var(--dropdown-background-hover); } } select.mobile-tap, .combobox-button.mobile-tap, .dropdown.mobile-tap { box-shadow: var(--input-shadow-hover); background-color: var(--dropdown-background-hover); } select:focus, .combobox-button:focus, .dropdown:focus { box-shadow: 0 0 0px 3px var(--background-modifier-border-focus); outline: none; } @media (forced-colors: active) { select, .dropdown { border: 1px ButtonBorder solid; } } .dropdown { background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23000%27 opacity=%270.9%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 %3E%3Cpath d=%27m7 15 5 5 5-5%27/%3E%3Cpath d=%27m7 9 5-5 5 5%27/%3E%3C/svg%3E"); } .theme-dark .dropdown { background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23FFF%27 opacity=%270.6%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 %3E%3Cpath d=%27m7 15 5 5 5-5%27/%3E%3Cpath d=%27m7 9 5-5 5 5%27/%3E%3C/svg%3E"); } /* Set options to normal weight */ .dropdown option { font-weight: normal; background-color: var(--background-primary); } .combobox:not(.has-input-focus) .suggestion-item.is-selected { background-color: transparent; } .combobox .search-input-container { --search-icon-color: var(--text-faint); margin-top: 2px; } .combobox .search-input-container input[type=search] { border: 0; box-shadow: none; background-color: transparent; } .combobox .suggestion-item { font-size: var(--font-ui-small); padding: var(--size-2-3) var(--size-4-2) var(--size-2-3) var(--size-4-2); } .combobox-button { display: flex; align-items: center; gap: var(--size-2-2); min-height: var(--input-height); padding-inline-start: var(--size-4-2); padding-inline-end: var(--size-2-3); overflow: hidden; white-space: nowrap; border-style: solid; border-color: var(--background-modifier-border); } .combobox-button .combobox-button-icon { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); color: var(--text-muted); display: flex; align-items: center; } .combobox-button .combobox-button-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-inline-end: auto; } .combobox-button .combobox-button-label:empty:before { content: attr(placeholder); color: var(--input-placeholder-color); pointer-events: none; } .combobox-button .combobox-clear-button { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); color: var(--text-muted); display: flex; align-items: center; } .combobox-button:not(.mod-clearable) .combobox-clear-button { display: none; } .combobox-button .combobox-button-chevron { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); align-items: center; display: flex; } .combobox-button:last-child { border-inline-end-width: 0; } .combobox-button.has-focus, .combobox-button:focus { background-color: var(--metadata-label-background-active); box-shadow: 0 0 0px 3px var(--background-modifier-border-focus); } .combobox-button.mod-error { box-shadow: inset 0 0 0 var(--border-width) var(--background-modifier-error); } .is-mobile .combobox-button { gap: var(--size-4-2); } .is-mobile .combobox-clear-button { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); } .is-phone .combobox.suggestion-container { max-height: calc(100vh - var(--view-header-height) - var(--safe-area-inset-top)); } .is-phone .combobox .search-input-container { margin: var(--size-4-1) var(--size-4-3); } .is-phone .combobox .search-input-container input[type=search] { border-radius: var(--radius-l); background-color: var(--background-modifier-form-field); } .flair { background-color: var(--flair-background); border-radius: var(--radius-s); color: var(--flair-color); font-size: 10px; letter-spacing: 0.05em; margin-inline-start: var(--size-4-2); padding: var(--size-2-1) var(--size-2-2); position: relative; text-transform: uppercase; white-space: nowrap; vertical-align: middle; } .flair.mod-flat { vertical-align: top; } .flair.mod-pop { --flair-background: var(--interactive-accent); --flair-color: var(--text-on-accent); } .markdown-preview-view:not(.allow-fold-lists) .list-collapse-indicator, .markdown-preview-view:not(.allow-fold-headings) .heading-collapse-indicator { display: none; } /* #todo Reduce specificity here */ .cm-fold-indicator .collapse-indicator, .cm-gutterElement .collapse-indicator, .collapse-indicator, .fold-gutter { opacity: 0; } /* .is-mobile & .cm-fold-indicator .collapse-indicator { opacity: 1; }*/ h1:hover .collapse-indicator, h2:hover .collapse-indicator, h3:hover .collapse-indicator, h4:hover .collapse-indicator, h5:hover .collapse-indicator, h6:hover .collapse-indicator, .collapse-indicator:hover, .is-collapsed .collapse-indicator, .cm-fold-indicator.is-collapsed .collapse-indicator, .cm-gutterElement:hover .collapse-indicator, .cm-gutterElement .is-collapsed .collapse-indicator, .cm-line:hover .cm-fold-indicator .collapse-indicator, .fold-gutter.is-collapsed, .fold-gutter:hover, .metadata-properties-heading:hover .collapse-indicator { opacity: 1; } .collapse-icon { display: flex; align-items: center; } .collapse-icon:before { content: "\200B"; } .collapse-icon svg.svg-icon { color: var(--nav-collapse-icon-color); stroke-width: 4px; width: 10px; height: 10px; transition: transform 100ms ease-in-out; } .collapse-icon.is-collapsed svg.svg-icon { transform: rotate(calc(var(--direction) * -1 * 90deg)); } .view-content .list-collapse-indicator svg.svg-icon, .view-content .collapse-indicator svg.svg-icon { color: var(--collapse-icon-color); } .view-content .is-collapsed .list-collapse-indicator svg.svg-icon, .view-content .is-collapsed .collapse-indicator svg.svg-icon { color: var(--collapse-icon-color-collapsed); } .markdown-preview-view .collapse-indicator { display: inline-flex; position: absolute; cursor: var(--cursor); user-select: none; } .markdown-preview-view .collapse-indicator .svg-icon { vertical-align: middle; } .markdown-preview-view li.is-collapsed > ul, .markdown-preview-view li.is-collapsed > ol { display: none; } .markdown-preview-view .heading-collapse-indicator { margin-inline-start: -22px; padding: 0 6px; } .markdown-source-view.mod-cm6 .cm-fold-indicator .collapse-indicator { opacity: 0; } .markdown-source-view.mod-cm6 .cm-line:hover .cm-fold-indicator .collapse-indicator, .markdown-source-view.mod-cm6 .cm-fold-indicator.is-collapsed .collapse-indicator { opacity: 1; } .markdown-source-view.mod-cm6 .cm-foldPlaceholder { color: var(--text-faint); background-color: transparent; border: none; margin-inline-start: 8px; user-select: none; } .markdown-source-view.mod-cm6 .cm-fold-indicator { display: inline-block; position: relative; z-index: 1; } .markdown-source-view.mod-cm6 .cm-fold-indicator:before { content: '\200B'; } .markdown-source-view.mod-cm6 .cm-fold-indicator .collapse-indicator { position: absolute; top: 0; inset-inline-end: 0; height: 100%; cursor: var(--cursor); padding-inline-end: 5px; } /* Consistency for hover states across all icon buttons */ svg.svg-icon { height: var(--icon-size); width: var(--icon-size); stroke-width: var(--icon-stroke); } /* Parent container of button rows */ .nav-buttons-container, .view-actions, .workspace-tab-header-inner, .side-dock-settings, .side-dock-actions { display: flex; justify-content: center; } .side-dock-settings, .side-dock-actions { gap: var(--size-2-3); } .view-actions { gap: 0; align-items: center; --icon-size: var(--icon-s); } .nav-file-icon .svg-icon, .suggestion-flair .svg-icon, .menu-item-icon .svg-icon, .status-bar-item .svg-icon { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); } .clickable-icon.side-dock-ribbon-action .svg-icon, .mod-left-split .workspace-tab-header-inner-icon .svg-icon, .mod-right-split .workspace-tab-header-inner-icon .svg-icon { --icon-size: var(--icon-l); --icon-stroke: var(--icon-l-stroke-width); } .clickable-icon.side-dock-ribbon-action:active, .mod-left-split .workspace-tab-header-inner-icon:active, .mod-right-split .workspace-tab-header-inner-icon:active { color: var(--icon-color-focused); } /* Use horizontal more actions "..." on macOS/iOS per OS guidelines */ .is-ios .lucide-more-vertical, .mod-macos .lucide-more-vertical { transform: rotate(90deg); } /* Parent button containers for SVG button icons */ .clickable-icon { -webkit-app-region: no-drag; background-color: transparent; display: flex; align-items: center; justify-content: center; padding: var(--size-2-2) var(--size-2-3); cursor: var(--cursor); border-radius: var(--clickable-icon-radius); color: var(--icon-color); opacity: var(--icon-opacity); transition: opacity var(--anim-duration-fast) ease-in-out; height: auto; -electron-corner-smoothing: var(--corner-smoothing); } @media (hover: hover) { .clickable-icon:hover { box-shadow: none; opacity: var(--icon-opacity-hover); color: var(--icon-color-hover); background-color: var(--background-modifier-hover); } .clickable-icon.has-active-menu, .clickable-icon:active { opacity: var(--icon-opacity-hover); color: var(--icon-color-focused); background-color: var(--background-modifier-hover); } } .clickable-icon.is-active { opacity: var(--icon-opacity-hover); color: var(--icon-color-active); background-color: var(--background-modifier-active-hover); } @media (hover: hover) { .clickable-icon.is-active:hover { background-color: var(--background-modifier-active-hover); } } .is-mobile .clickable-icon { transition: opacity 0.1s ease-in-out; } .clickable-icon.mobile-tap { opacity: var(--icon-opacity-hover); } .clickable-icon[aria-disabled='true'] { background-color: unset; color: var(--text-muted); opacity: 0.4; } @media (hover: hover) { .clickable-icon[aria-disabled='true']:hover { background-color: unset; } } .clickable-icon.mod-warning { color: var(--text-error); } .clickable-icon.mod-filled svg { fill: var(--icon-color); } .setting-item-control .clickable-icon { padding: var(--size-2-2); } .text-icon-button { -webkit-app-region: no-drag; display: inline-flex; overflow: hidden; align-items: center; color: var(--text-muted); font-size: var(--font-ui-small); border-radius: var(--button-radius); padding: var(--size-2-2); font-weight: var(--input-font-weight); cursor: var(--cursor); font-family: inherit; gap: var(--size-2-2); user-select: none; white-space: nowrap; -electron-corner-smoothing: var(--corner-smoothing); } .text-icon-button .flair { margin: 0; } .text-icon-button.is-active { color: var(--icon-color-active); } .text-icon-button .text-button-icon { display: flex; align-items: center; justify-content: center; } .text-icon-button .text-button-label { overflow: hidden; text-overflow: ellipsis; padding-inline-end: var(--size-2-1); } .text-icon-button .mod-aux { --icon-size: var(--icon-xs); color: var(--text-muted); } .text-icon-button:focus-visible { box-shadow: 0 0 0 var(--input-border-width-focus) var(--background-modifier-border-focus); outline: none; } .text-icon-button.mobile-tap { box-shadow: none; opacity: var(--icon-opacity-hover); color: var(--text-normal); } .text-icon-button.mobile-tap .text-button-icon { color: var(--icon-color-hover); } .text-icon-button.is-disabled { cursor: not-allowed; opacity: 0.7; } @media (hover: hover) { .text-icon-button.has-active-menu, .text-icon-button:hover { box-shadow: none; opacity: var(--icon-opacity-hover); background-color: var(--background-modifier-hover); color: var(--text-normal); } .text-icon-button.has-active-menu .text-button-icon, .text-icon-button:hover .text-button-icon { color: var(--icon-color-hover); } } .text-icon-button.is-active.has-active-menu, .text-icon-button.is-active:active { color: var(--icon-color-active); background-color: var(--background-modifier-active-hover); } .text-icon-button.is-active.has-active-menu .text-button-icon, .text-icon-button.is-active:active .text-button-icon { color: var(--icon-color-active); } @media (hover: hover) { .text-icon-button.is-active:hover { color: var(--icon-color-active); background-color: var(--background-modifier-active-hover); } .text-icon-button.is-active:hover .text-button-icon { color: var(--icon-color-active); } } .markdown-rendered.show-indentation-guide li > ul, .markdown-rendered.show-indentation-guide li > ol { position: relative; } .markdown-rendered.show-indentation-guide li > ul::before, .markdown-rendered.show-indentation-guide li > ol::before { content: "\200B"; position: absolute; display: block; inset-inline-start: var(--indentation-guide-reading-indent); top: 0; bottom: 0; border-inline-end: var(--indentation-guide-width) solid var(--indentation-guide-color); } .markdown-source-view.mod-cm6 .cm-indent { min-width: var(--list-indent); display: inline-block; } .markdown-source-view.mod-cm6 .cm-indent::before { content: "\200B"; display: block; width: 1px; border-inline-end: var(--indentation-guide-width) solid var(--indentation-guide-color); color: transparent; position: absolute; top: 0; bottom: 0; margin-inline-start: var(--indentation-guide-source-indent); } .markdown-source-view.mod-cm6.is-live-preview .cm-indent::before { margin-inline-start: var(--indentation-guide-editing-indent); } .markdown-source-view.mod-cm6 .cm-active-indent::before { border-inline-end: var(--indentation-guide-width-active) solid var(--indentation-guide-color-active); } .input-button { padding: 6px 14px; margin-inline-start: 14px; color: var(--text-muted); font-size: var(--font-ui-medium); position: relative; top: -1px; } @media (hover: hover) { .input-button:hover { color: var(--text-normal); } } textarea, .multi-select-container, input.metadata-input-text, input[type='date'], input[type='datetime-local'], input[type='text'], input[type='search'], input[type='email'], input[type='password'], input[type='number'] { -webkit-app-region: no-drag; background: var(--background-modifier-form-field); border: var(--input-border-width) solid var(--background-modifier-border); color: var(--text-normal); font-family: inherit; padding: var(--input-padding); font-size: var(--font-ui-small); border-radius: var(--input-radius); outline: none; } @media (hover: hover) { textarea:hover, .multi-select-container:hover, input.metadata-input-text:hover, input[type='date']:hover, input[type='datetime-local']:hover, input[type='text']:hover, input[type='search']:hover, input[type='email']:hover, input[type='password']:hover, input[type='number']:hover { background-color: var(--background-modifier-form-field-hover); border-color: var(--background-modifier-border-hover); transition: box-shadow var(--anim-duration-fast) ease-in-out, border var(--anim-duration-fast) ease-in-out; } } textarea:active, .multi-select-container:active, input.metadata-input-text:active, input[type='date']:active, input[type='datetime-local']:active, input[type='text']:active, input[type='search']:active, input[type='email']:active, input[type='password']:active, input[type='number']:active, textarea:focus, .multi-select-container:focus, input.metadata-input-text:focus, input[type='date']:focus, input[type='datetime-local']:focus, input[type='text']:focus, input[type='search']:focus, input[type='email']:focus, input[type='password']:focus, input[type='number']:focus { border-color: var(--background-modifier-border-focus); transition: box-shadow 0.15s ease-in-out, border 0.15s ease-in-out; } textarea:active, .multi-select-container:active, input.metadata-input-text:active, input[type='date']:active, input[type='datetime-local']:active, input[type='text']:active, input[type='search']:active, input[type='email']:active, input[type='password']:active, input[type='number']:active, textarea:focus, .multi-select-container:focus, input.metadata-input-text:focus, input[type='date']:focus, input[type='datetime-local']:focus, input[type='text']:focus, input[type='search']:focus, input[type='email']:focus, input[type='password']:focus, input[type='number']:focus, textarea:focus-visible, .multi-select-container:focus-visible, input.metadata-input-text:focus-visible, input[type='date']:focus-visible, input[type='datetime-local']:focus-visible, input[type='text']:focus-visible, input[type='search']:focus-visible, input[type='email']:focus-visible, input[type='password']:focus-visible, input[type='number']:focus-visible { box-shadow: 0 0 0 var(--input-border-width-focus) var(--background-modifier-border-focus); } textarea::placeholder, .multi-select-container::placeholder, input.metadata-input-text::placeholder, input[type='date']::placeholder, input[type='datetime-local']::placeholder, input[type='text']::placeholder, input[type='search']::placeholder, input[type='email']::placeholder, input[type='password']::placeholder, input[type='number']::placeholder { color: var(--input-placeholder-color); } input[type='text'], input[type='search'], input[type='email'], input[type='password'], input[type='number'] { height: var(--input-height); } /* Textarea */ textarea { line-height: var(--line-height-tight); } input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { display: none; pointer-events: none; } input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; } /* Date input */ input[type='date'], input[type='datetime-local'] { font-variant-numeric: tabular-nums; position: relative; } input[type='date']::-webkit-datetime-edit-text, input[type='datetime-local']::-webkit-datetime-edit-text { color: var(--input-date-separator); padding-inline-end: 0; } input[type='date']:not([disabled="true"])::-webkit-calendar-picker-indicator, input[type='datetime-local']:not([disabled="true"])::-webkit-calendar-picker-indicator { position: absolute; left: var(--size-4-1); right: auto; opacity: 0.5; } input[type='date'].is-empty::-webkit-datetime-edit-month-field, input[type='datetime-local'].is-empty::-webkit-datetime-edit-month-field, input[type='date'].is-empty::-webkit-datetime-edit-day-field, input[type='datetime-local'].is-empty::-webkit-datetime-edit-day-field, input[type='date'].is-empty::-webkit-datetime-edit-year-field, input[type='datetime-local'].is-empty::-webkit-datetime-edit-year-field { color: var(--input-placeholder-color); } input[type='date'].is-empty:focus-within::-webkit-datetime-edit-month-field, input[type='datetime-local'].is-empty:focus-within::-webkit-datetime-edit-month-field, input[type='date'].is-empty:focus-within::-webkit-datetime-edit-day-field, input[type='datetime-local'].is-empty:focus-within::-webkit-datetime-edit-day-field, input[type='date'].is-empty:focus-within::-webkit-datetime-edit-year-field, input[type='datetime-local'].is-empty:focus-within::-webkit-datetime-edit-year-field { color: var(--text-normal); } input[type='date']::-webkit-datetime-edit-month-field:active, input[type='datetime-local']::-webkit-datetime-edit-month-field:active, input[type='date']::-webkit-datetime-edit-month-field:focus, input[type='datetime-local']::-webkit-datetime-edit-month-field:focus, input[type='date']::-webkit-datetime-edit-day-field:active, input[type='datetime-local']::-webkit-datetime-edit-day-field:active, input[type='date']::-webkit-datetime-edit-day-field:focus, input[type='datetime-local']::-webkit-datetime-edit-day-field:focus, input[type='date']::-webkit-datetime-edit-year-field:active, input[type='datetime-local']::-webkit-datetime-edit-year-field:active, input[type='date']::-webkit-datetime-edit-year-field:focus, input[type='datetime-local']::-webkit-datetime-edit-year-field:focus { background-color: var(--text-selection); color: var(--text-normal); cursor: text; } body:not(.is-ios):not(.is-android) input[type='date']:not([disabled="true"]), body:not(.is-ios):not(.is-android) input[type='datetime-local']:not([disabled="true"]) { padding-left: var(--size-4-6); } /* Range slider */ input[type='range'] { width: 100px; -webkit-appearance: none; background-color: var(--slider-track-background); border-radius: var(--slider-track-height); height: var(--slider-track-height); padding: 0; outline: none; } input[type='range']::-webkit-slider-runnable-track { height: 6px; -webkit-appearance: none; } input[type='range']::-webkit-slider-thumb { -webkit-appearance: none; height: var(--slider-thumb-height); width: var(--slider-thumb-width); border-radius: var(--slider-thumb-radius); cursor: default; background: #FFF; border: var(--slider-thumb-border-width) solid var(--slider-thumb-border-color); position: relative; top: var(--slider-thumb-y); transition: all 0.1s linear; box-shadow: 0 1px 1px 0px rgba(0, 0, 0, 0.05), 0 2px 2px 0px rgba(0, 0, 0, 0.1); } input[type='range']::-webkit-slider-thumb:hover, input[type='range']::-webkit-slider-thumb:active { background: white; border-color: var(--background-modifier-border-focus); box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.1), 0 2px 3px 0px rgba(0, 0, 0, 0.2); transition: all 0.1s linear; } body:not(.is-mobile) input[type=range]:focus { box-shadow: none; } body:not(.is-mobile) input[type=range]:focus::-webkit-slider-thumb { box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.05), 0 2px 3px 0px rgba(0, 0, 0, 0.2); } body:not(.is-mobile) input[type=range]:focus-visible::-webkit-slider-thumb { border-color: var(--background-modifier-border-focus); box-shadow: 0 1px 2px 0px rgba(0, 0, 0, 0.05), 0 2px 3px 0px rgba(0, 0, 0, 0.2), 0 0 0px 2px var(--background-modifier-border-focus); } /* Color inputs */ input[type="color"] { -webkit-appearance: none; width: calc(var(--swatch-width) + 4px); background-color: transparent; border: none; cursor: var(--cursor); padding: 0; } input[type="color"]::-webkit-color-swatch-wrapper { padding: 2px; } input[type="color"]::-webkit-color-swatch { border: 0px; box-shadow: var(--swatch-shadow); border-radius: var(--swatch-radius); height: var(--swatch-height); width: var(--swatch-width); align-self: center; } @media (hover: hover) { input[type="color"]::-webkit-color-swatch:hover { box-shadow: inset 0 0 0 1px rgba(var(--mono-rgb-100), 0.25), 0 0 0 var(--input-border-width-focus) var(--background-modifier-border-hover); } } input[type="color"]:focus-visible::-webkit-color-swatch, input[type="color"]:focus::-webkit-color-swatch { box-shadow: var(--swatch-shadow), 0 0 0 var(--input-border-width-focus) var(--background-modifier-border-focus); } select.mod-hidden { display: none; } .formula-editor-container { width: 100%; } .formula-editor { padding: 0; border-radius: var(--input-radius); background-color: var(--interactive-normal); border: var(--input-border-width) solid var(--background-modifier-border); display: flex; align-items: center; min-height: var(--input-height); width: 100%; } @media (hover: hover) { .formula-editor:hover { border-color: var(--background-modifier-border-hover); transition: box-shadow var(--anim-duration-fast) ease-in-out, border var(--anim-duration-fast) ease-in-out; } } .formula-editor:active, .formula-editor:focus, .formula-editor:focus-within { border-color: var(--background-modifier-border-focus); transition: box-shadow 0.15s ease-in-out, border 0.15s ease-in-out; } .formula-editor:active, .formula-editor:focus, .formula-editor:focus-visible, .formula-editor:focus-within { box-shadow: 0 0 0 var(--input-border-width-focus) var(--background-modifier-border-focus); } .formula-editor::placeholder { color: var(--input-placeholder-color); } .formula-editor .cm-editor { flex: 1 1 auto; } .formula-editor .cm-content { caret-color: var(--caret-color); } .formula-editor .cm-placeholder { font-family: var(--font-interface); font-size: var(--font-ui-small); color: var(--text-faint); } .formula-editor .cm-line { padding-inline-start: var(--size-4-2); padding-inline-end: var(--size-4-2); } .formula-editor .cm-scroller { color: var(--code-normal); font-family: var(--font-monospace); font-size: var(--font-small); } .formula-editor .cm-focused { outline: none; } .formula-editor .cm-tooltip { font-family: var(--font-interface); } .cm-tooltip.cm-tooltip-docstring { border-radius: var(--radius-s); padding: var(--size-4-1) var(--size-4-2); background-color: var(--background-modifier-message); box-shadow: 0 2px 8px var(--background-modifier-box-shadow); font-size: 11px; font-weight: var(--font-medium); line-height: var(--line-height-tight); color: #FAFAFA; font-family: var(--font-monospace); border: none; } .cm-tooltip.cm-tooltip-docstring .active { font-weight: var(--font-semibold); } .cm-tooltip.cm-tooltip-docstring .cm-tooltip-arrow:before, .cm-tooltip.cm-tooltip-docstring .cm-tooltip-arrow:after { border-top: 7px solid var(--background-modifier-message); } .notice-container { z-index: var(--layer-notice); position: fixed; top: 22px; inset-inline-end: 0; padding: 10px; overflow: hidden; pointer-events: none; } .notice { display: flex; flex-direction: column; gap: var(--size-4-2); background-color: var(--background-modifier-message); border-radius: var(--radius-m); box-shadow: 0 2px 8px var(--background-modifier-box-shadow); color: #FAFAFA; font-size: var(--font-ui-small); line-height: var(--line-height-tight); padding: 0.75em 1em 0.75em 1em; max-width: 300px; margin-bottom: 14px; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; cursor: var(--cursor); pointer-events: auto; } .notice progress { width: 100%; } .theme-light .notice progress[value]::-webkit-progress-bar { background-color: #262626; box-shadow: inset 0px 0px 0px 1px #363636; } .notice-cta { display: flex; align-items: center; color: var(--text-accent); white-space: nowrap; } .notice-cta:hover, .notice-cta.mobile-tap { color: var(--text-accent-hover); } .menu { -webkit-app-region: no-drag; display: flex; flex-direction: column; border: var(--menu-border-width) solid var(--menu-border-color); background-color: var(--menu-background); backdrop-filter: var(--menu-backdrop-filter); padding: 0; border-radius: var(--menu-radius); box-shadow: var(--menu-shadow); max-height: 100%; position: fixed; z-index: var(--layer-menu); user-select: none; } .menu.mod-no-icon .menu-item-icon:first-child { display: none; } .menu-scroll { display: flex; flex-direction: column; overflow: hidden; padding: var(--menu-padding); } .menu-grabber { display: none; } .menu-separator { height: 0; margin: var(--size-2-3) calc(var(--size-2-3) * -1); border-bottom: 1px solid var(--background-modifier-border); } .menu-separator:last-child, .menu-separator:first-child { display: none; } .menu-separator + .menu-separator { display: none; } .menu-separator + .menu-item.is-label { padding-bottom: var(--size-4-1); } .menu-item-desc { padding-top: var(--size-4-1); color: var(--text-faint); font-size: 0.8em; } .menu-item { display: flex; align-items: center; gap: var(--size-4-2); padding: var(--size-4-1) var(--size-4-2); cursor: var(--cursor); font-size: var(--font-ui-small); border-radius: var(--radius-s); white-space: nowrap; } .menu-item.is-warning:not(.is-disabled) { color: var(--text-error); } .menu-item.is-warning:not(.is-disabled).selected { color: var(--text-error); } .menu-item.is-label { cursor: default; font-size: var(--font-ui-medium); color: var(--text-muted); white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; } .menu-item.is-disabled { cursor: default; color: var(--text-faint); } .menu-item.selected:not(.is-label):not(.is-disabled) { background-color: var(--background-modifier-hover); } .menu-item-icon { flex: 0 1 auto; display: flex; color: var(--text-muted); } .menu-item.is-warning .menu-item-icon { color: var(--text-error); } .menu-item.is-disabled .menu-item-icon { color: var(--text-faint); } .menu-item-icon .mod-submenu { color: var(--text-faint); } .menu-item-title { flex: 1 0 0; } .menu.mod-tab-list .menu-item-title { max-width: 300px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; } .debug-textarea { width: 100%; min-height: 50vh; height: 100%; max-height: 80vh; font-family: var(--font-monospace); tab-size: 4; resize: none; } .modal-container { display: flex; align-items: center; justify-content: center; position: absolute; top: 0; bottom: 0; inset-inline-start: 0; width: 100%; z-index: var(--layer-modal); } .modal-container.mod-dim .modal { box-shadow: var(--shadow-l); } .modal-confirmation-state { align-items: center; display: flex; flex-direction: column; flex-grow: 1; justify-content: center; text-align: center; } .modal-status-icon { --icon-size: 72px; --icon-stroke: 1.5px; } .modal-bg { position: absolute; top: 0; inset-inline-start: 0; width: 100%; height: 100%; background-color: var(--background-modifier-cover); } .modal { --checkbox-size: var(--font-ui-medium); background-color: var(--modal-background); border-radius: var(--modal-radius); border: var(--modal-border-width) solid var(--modal-border-color); padding: var(--size-4-4); position: relative; min-height: 100px; width: var(--dialog-width); max-width: var(--dialog-max-width); max-height: var(--dialog-max-height); display: flex; flex-direction: column; overflow: auto; } .modal.mod-sidebar-layout { padding: 0; width: var(--modal-width); height: var(--modal-height); max-width: var(--modal-max-width); max-height: var(--modal-max-height); overflow: hidden; display: flex; flex-direction: column; } .modal.mod-sidebar-layout .modal-content { display: flex; } .modal.mod-scrollable-content { padding: 0; overflow: hidden; } .modal.mod-scrollable-content .modal-title { padding: var(--size-4-4) var(--size-4-4) 0 var(--size-4-4); } .modal.mod-scrollable-content .modal-content { padding: 0 var(--size-4-4) var(--size-4-4) var(--size-4-4); overflow: auto; } .modal.mod-scrollable-content .modal-button-container { margin-top: 0; border-top: var(--border-width) solid var(--background-modifier-border); padding: var(--size-4-4); } .modal.mod-narrow { max-width: var(--modal-max-width-narrow); } .modal-sidebar { --background-modifier-form-field: var(--background-primary); background-color: var(--background-secondary); flex: 1 1 var(--modal-community-sidebar-width); min-width: var(--modal-community-sidebar-width); padding: var(--size-4-3) 0 0 0; display: flex; flex-direction: column; } body.styled-scrollbars .modal-close-button { inset-inline-end: 12px; } .modal-close-button { position: absolute; top: var(--size-2-3); inset-inline-end: var(--size-2-3); padding: var(--size-2-2); } .modal-header { margin-bottom: 0.75em; } .mod-sidebar-layout .modal-header { display: none; } .modal-title { font-size: var(--font-ui-large); margin-left: auto; margin-right: auto; font-weight: var(--font-semibold); text-align: start; line-height: var(--line-height-tight); } .modal-title:empty { display: none; } .modal-content { flex: 1 1 auto; font-size: var(--font-ui-medium); } .modal-button-container { margin-top: 1.5em; display: flex; justify-content: flex-end; gap: var(--size-4-2); flex-wrap: wrap; font-size: var(--font-ui-medium); } .modal-button-container .mod-checkbox { flex-grow: 1; display: flex; align-items: center; gap: var(--size-4-1); } body:not(.is-mobile) .modal-button-container .mod-secondary { margin-inline-end: auto; } .modal-checkbox-label { cursor: var(--cursor); margin-inline-start: 10px; user-select: none; } .error-container { align-items: center; display: flex; flex-direction: column; padding: var(--size-4-4); gap: var(--size-4-6); text-align: center; } .message-container { margin: var(--size-4-4) 0; } .message { display: inline-block; padding: 6px 12px 6px 12px; border-radius: var(--radius-s); } .message.mod-success { background-color: var(--background-modifier-success); color: var(--text-on-accent); } .message.mod-success a { color: var(--text-normal); } .message.mod-info { background-color: var(--background-modifier-info); } .message.mod-error { background-color: var(--background-modifier-error); color: var(--text-on-accent); } .message.mod-error a { color: var(--text-normal); } .mod-warning { color: var(--text-error); } .mod-success { color: var(--text-success); } .mod-file-rename .rename-textarea { overflow: hidden; padding: var(--size-2-3) var(--size-4-2); resize: none; width: 100%; } .modal-setting-back-button { position: absolute; top: var(--safe-area-inset-top); inset-inline-start: 0; padding: var(--size-4-3) var(--size-4-3); height: var(--modal-header-height); color: var(--text-normal); font-weight: var(--font-semibold); } .modal-setting-back-button-icon { display: flex; align-items: center; margin-inline-end: 6px; } .modal-setting-nav-bar { display: flex; flex: 0 1 auto; padding: var(--size-4-3); border-bottom: 1px solid var(--background-modifier-border); } .modal .modal-nav-action { background-color: unset; margin-top: var(--size-4-1); position: absolute; top: 0; width: unset; } .modal .modal-nav-action.mod-secondary { inset-inline-start: 0; } .modal .modal-nav-action.mod-cta { color: var(--color-accent); font-weight: var(--font-semibold); inset-inline-end: 0; } .modal.mod-scrollable { height: var(--modal-height); width: var(--modal-width); max-width: var(--modal-max-width-narrow); padding: var(--size-4-4) 0 0 0; position: relative; overflow: hidden; } .modal.mod-scrollable .modal-title { padding: 0 var(--size-4-4); } .modal.mod-scrollable .modal-content { overflow: auto; padding: 0 var(--size-4-4) var(--size-4-4); margin-bottom: calc(var(--input-height) + var(--size-4-8)); border-top: var(--border-width) solid var(--background-modifier-border); } .modal.mod-scrollable .modal-button-container { margin: 0 0 0 calc(var(--size-4-4) * -1); padding: var(--size-4-4); gap: var(--size-4-2); position: absolute; bottom: 0; background-color: var(--background-primary); border-top: var(--border-width) solid var(--background-modifier-border); width: 100%; } .nav-header { padding: var(--size-4-2); } .nav-header .search-input-container { margin: 4px auto; padding: 0; } .nav-buttons-container { flex-wrap: wrap; gap: var(--size-2-1); } .nav-buttons-container.has-separator { border-bottom: 1px solid var(--background-modifier-border); padding-bottom: var(--size-2-3); margin-bottom: var(--size-4-2); } body { --pill-focus-width: calc(100% + 6px); --pill-focus-left-adjust: -4px; } .multi-select-container { cursor: text; display: inline-flex; vertical-align: top; flex-wrap: wrap; flex: 1 1 auto; gap: var(--size-2-3); min-height: var(--input-height); } .multi-select-pill { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); display: flex; align-items: center; background-color: var(--pill-background); border: var(--pill-border-width) solid var(--pill-border-color); border-radius: var(--pill-radius); color: var(--pill-color); cursor: var(--cursor); font-weight: var(--pill-weight); padding: var(--pill-padding-y) 0; line-height: 1; max-width: calc(100% - var(--size-2-3) - 1ch); gap: var(--size-2-1); position: relative; } .multi-select-pill:focus:after { content: ''; display: block; position: absolute; pointer-events: none; border-radius: var(--pill-radius); inset-inline-end: var(--pill-focus-left-adjust); width: var(--pill-focus-width); height: 100%; box-shadow: 0 0 0 1px var(--background-modifier-border-focus), inset 0 0 0 1px var(--background-modifier-border-focus); } @media (hover: hover) { .multi-select-pill:hover { background-color: var(--pill-background-hover); border: var(--pill-border-width) solid var(--pill-border-color-hover); color: var(--pill-color-hover); text-decoration: var(--pill-decoration-hover); } } .multi-select-pill-content { word-break: break-word; margin-inline-start: var(--pill-padding-x); } .multi-select-pill-remove-button { margin-inline-end: min(var(--size-2-3),var(--pill-padding-x)); cursor: var(--cursor); color: var(--pill-color-remove); border-radius: var(--radius-s); display: flex; align-items: center; --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); } @media (hover: hover) { .multi-select-pill-remove-button:hover { color: var(--pill-color-remove-hover); } } .multi-select-input { cursor: text; font-family: var(--font-interface); min-width: 1ch; max-width: max-content; color: var(--text-normal); background-color: inherit; border: none; word-break: break-word; } .multi-select-input::-webkit-scrollbar { display: none; } .multi-select-input:empty:before { content: attr(placeholder, '\200B'); color: var(--input-placeholder-color); pointer-events: none; } @keyframes multi-select-highlight { from { color: var(--text-warning); --link-color: var(--text-warning); } } .multi-select-duplicate { animation: multi-select-highlight 2000ms ease-in; } .popover, .suggestion-container, .cm-tooltip.cm-tooltip-autocomplete { display: flex; position: absolute; z-index: var(--layer-popover); background-color: var(--background-primary); border: 1px solid var(--background-modifier-border); box-shadow: var(--shadow-s); border-radius: var(--radius-m); max-height: var(--popover-max-height); } .popover.hover-popover { --callout-blend-mode: normal; justify-content: stretch; overflow: hidden; max-width: 80vw; max-height: inherit; min-height: 30px; width: fit-content; } .popover.hover-popover.is-editing { outline: 2px var(--background-modifier-border-focus) solid; border-color: var(--background-modifier-border-focus); } .popover.hover-popover > * { width: var(--popover-width); } .popover.hover-popover .markdown-preview-view { font-size: var(--popover-font-size); } .popover.hover-popover > .mod-empty { display: flex; justify-content: center; align-items: center; padding: 20px; font-size: var(--popover-font-size); color: var(--text-muted); } .popover.hover-popover > .image-embed, .popover.hover-popover > .video-embed { width: auto; max-height: inherit; max-width: var(--popover-width); width: fit-content; height: fit-content; display: flex; justify-content: center; align-items: center; } .popover.hover-popover > .image-embed img, .popover.hover-popover > .video-embed img, .popover.hover-popover > .image-embed video, .popover.hover-popover > .video-embed video { width: 100%; max-width: inherit; max-height: inherit; } .popover.hover-popover > .audio-embed { display: flex; } .popover.hover-popover > .pdf-embed { width: var(--popover-pdf-width); height: var(--popover-pdf-height) !important; max-height: inherit; } .popover.hover-popover > .markdown-embed { max-height: var(--popover-height); overflow: auto; border: 0; padding: 0; margin: 0; } .popover.hover-popover > .markdown-embed > .markdown-embed-content { width: 100%; } .popover.hover-popover > .markdown-embed > .markdown-embed-content > .markdown-source-view.mod-cm6 > .cm-editor > .cm-scroller, .popover.hover-popover > .markdown-embed > .markdown-embed-content .markdown-preview-view { padding: var(--file-margins); } .popover.hover-popover > .markdown-embed .markdown-source-view { font-size: var(--popover-font-size); } .popover.hover-popover > .markdown-embed[data-type="footnote"].mod-empty { cursor: var(--cursor-link); text-align: center; background-color: var(--background-secondary-alt); } .popover.hover-popover > .markdown-embed[data-type="footnote"].mod-empty .markdown-preview-view { color: var(--text-muted); } .popover.hover-popover > .markdown-embed[data-type="footnote"]:not(.mod-empty) { --popover-font-size: var(--footnote-size); } .popover.hover-popover > .markdown-embed[data-type="footnote"] > .markdown-embed-content .cm-scroller, .popover.hover-popover > .markdown-embed[data-type="footnote"] > .markdown-embed-content .markdown-preview-view { --file-margins: var(--size-4-3) var(--size-4-4); } .follow-link-popover { transition: opacity var(--anim-duration-fast) ease-in-out, transform var(--anim-duration-fast) ease-in-out; box-shadow: 0 2px 8px var(--background-modifier-box-shadow); background-color: rgba(0, 0, 0, 0.9); border-radius: var(--radius-m); color: #ccc; font-size: var(--font-ui-small); line-height: 20px; max-width: 300px; padding: 5px 12px; text-align: center; z-index: var(--layer-tooltip); white-space: pre-wrap; top: calc(100%); } @media (hover: hover) { .follow-link-popover:hover { background-color: #000000; } } .follow-link-popover.mobile-tap { opacity: 0.9; transform: scale(0.9, 0.9); } .follow-link-popover .popover-arrow { position: absolute; top: calc(100%); inset-inline-start: 50%; width: 0; margin-inline-start: -5px; border-inline-end: 5px solid transparent; border-inline-start: 5px solid transparent; content: " "; font-size: 0; line-height: 0; border-top: 5px solid rgba(0, 0, 0, 0.9); border-bottom: 5px solid transparent; } .notice progress, .markdown-preview-view progress, .markdown-rendered progress, .markdown-source-view.is-live-preview progress { -webkit-writing-mode: horizontal-tb; writing-mode: horizontal-tb; appearance: none; box-sizing: border-box; display: inline-block; height: 6px; margin-bottom: 4px; max-width: 100%; overflow: hidden; border-radius: 0px; border: 0; vertical-align: -0.2rem; } .notice progress[value]::-webkit-progress-bar, .markdown-preview-view progress[value]::-webkit-progress-bar, .markdown-rendered progress[value]::-webkit-progress-bar, .markdown-source-view.is-live-preview progress[value]::-webkit-progress-bar { background-color: var(--background-secondary); box-shadow: inset 0px 0px 0px 1px var(--background-modifier-border); border-radius: 6px; overflow: hidden; } .notice progress[value]::-webkit-progress-value, .markdown-preview-view progress[value]::-webkit-progress-value, .markdown-rendered progress[value]::-webkit-progress-value, .markdown-source-view.is-live-preview progress[value]::-webkit-progress-value { background-color: var(--interactive-accent); overflow: hidden; } .progress-bar-container { position: absolute; height: 100vh; width: 100vw; top: 0; inset-inline-start: 0; background-color: var(--background-primary); display: flex; flex-direction: column; justify-content: center; align-items: center; padding-left: var(--safe-area-inset-left); padding-right: var(--safe-area-inset-right); z-index: 10000; } .progress-bar { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: var(--size-4-2); width: 100%; } .progress-bar-context { position: absolute; top: 100%; font-size: var(--font-ui-small); border-radius: 50px; padding: var(--size-4-2) var(--size-4-6); } .progress-bar-button-container { display: flex; flex-direction: column; gap: var(--size-4-2); } .progress-bar-message { margin-bottom: var(--size-4-8); opacity: 1; color: var(--text-muted); } .progress-bar-indicator { position: relative; height: 8px; margin: 0 10vw; width: 90vw; overflow-x: hidden; border-radius: 3px; } .progress-bar-line { position: absolute; opacity: 0.4; background-color: var(--interactive-accent); width: 150%; height: 8px; } .progress-bar-subline { position: absolute; background-color: var(--interactive-accent); height: 8px; width: 100%; transform-origin: left center; } .progress-bar-subline.mod-increase { animation: increase 2s infinite; } .progress-bar-subline.mod-decrease { animation: decrease 2s 0.5s infinite; } .progress-bar .progress-bar-subline { transition: transform 150ms ease-in-out; } @keyframes increase { from { transform: translateX(-5%) scaleX(0.05); } to { transform: translateX(130%) scaleX(1); } } @keyframes decrease { from { transform: translateX(-80%) scaleX(0.8); } to { transform: translateX(110%) scaleX(0.1); } } .progress-bar-context-button { margin-top: var(--size-4-3); text-align: center; } .prompt { display: flex; flex-direction: column; border-radius: var(--radius-l); background-color: var(--background-primary); box-shadow: var(--shadow-l); border: var(--prompt-border-width) solid var(--prompt-border-color); z-index: 1; position: absolute; top: 80px; width: var(--prompt-width); max-width: var(--prompt-max-width); max-height: var(--prompt-max-height); overflow: hidden; } .prompt-input-container { --search-clear-button-size: 17px; display: flex; position: relative; } .prompt-input-container .search-input-clear-button { inset-inline-end: var(--size-4-4); } input.prompt-input { width: 100%; padding: var(--size-4-6); padding-inline-end: var(--size-4-12); background-color: var(--background-primary); font-size: var(--font-ui-medium); border: none; height: var(--prompt-input-height); border-radius: 0; border-bottom: 1px solid var(--background-secondary); } input.prompt-input:hover, input.prompt-input:focus, input.prompt-input:focus-visible { border-bottom: 1px solid var(--background-secondary); box-shadow: none; } .prompt-results { list-style: none; margin: 0; padding: var(--size-4-3); overflow-y: auto; } .prompt-instructions { border-top: 1px solid var(--background-secondary); user-select: none; font-size: var(--font-ui-smaller); color: var(--text-muted); padding: var(--size-4-2); text-align: center; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--size-4-3); } .prompt-instruction { display: inline-block; } .prompt-instruction-command { font-weight: var(--bold-weight); margin-inline-end: var(--size-2-2); } .is-android { --scrollbar-border-width: 0px; --scrollbar-width: 5px; --scrollbar-radius: 0; } body.styled-scrollbars ::-webkit-scrollbar { background-color: var(--scrollbar-bg); width: var(--scrollbar-width); height: var(--scrollbar-height); -webkit-border-radius: var(--scrollbar-radius); background-color: transparent; } body.styled-scrollbars ::-webkit-scrollbar-track { background-color: transparent; } body.styled-scrollbars ::-webkit-scrollbar-thumb { background-color: var(--scrollbar-thumb-bg); -webkit-border-radius: var(--scrollbar-radius); background-clip: padding-box; border: 2px solid transparent; border-width: var(--scrollbar-border-width); min-height: 45px; } body.styled-scrollbars ::-webkit-scrollbar-thumb:active { -webkit-border-radius: var(--scrollbar-radius); } body.styled-scrollbars ::-webkit-scrollbar-thumb:hover, body.styled-scrollbars ::-webkit-scrollbar-thumb:active { background-color: var(--scrollbar-active-thumb-bg); } body.styled-scrollbars ::-webkit-scrollbar-corner { background: transparent; } @supports not selector(::-webkit-scrollbar) { body.styled-scrollbars { scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb-bg) var(--scrollbar-bg); } } /* Scroll indicator for sidebar containers body:not(.is-translucent):not(.is-mobile) .workspace-tabs { .item-list, .nav-files-container, .search-result-container, .tag-container, .outgoing-link-pane, .backlink-pane { background: linear-gradient( var(--background-secondary) 10%, rgba(0, 0, 0, 0) ) center top, linear-gradient( var(--background-modifier-border) 100%, rgba(0, 0, 0, 0) ) center top; background-repeat: no-repeat; background-size: 100% 40px, 91% 1px; background-attachment: local, scroll; } } */ .suggestion-container { align-self: stretch; overflow: hidden; flex-direction: column; max-width: 500px; max-height: 300px; z-index: var(--layer-notice); } .is-mobile .suggestion-container { max-width: calc(100vw - 20px - var(--safe-area-inset-left) - var(--safe-area-inset-right)); max-height: 240px; } .cm-tooltip.cm-completionInfo { box-shadow: 0 2px 8px var(--background-modifier-box-shadow); background-color: var(--background-modifier-message); border-radius: var(--radius-s); font-size: 11px; font-weight: var(--font-medium); line-height: var(--line-height-tight); color: #FAFAFA; padding: var(--size-2-3) var(--size-4-2); border: none; max-width: 200px; } .cm-tooltip.cm-tooltip-autocomplete { align-self: stretch; overflow: hidden; flex-direction: column; max-width: 500px; max-height: 300px; z-index: var(--layer-notice); --no-tooltip: true; overflow: unset; } .is-mobile .cm-tooltip.cm-tooltip-autocomplete { max-width: calc(100vw - 20px - var(--safe-area-inset-left) - var(--safe-area-inset-right)); max-height: 240px; } .cm-tooltip.cm-tooltip-autocomplete .cm-completionLabel { flex-grow: 1; } .cm-tooltip.cm-tooltip-autocomplete .cm-completionLabel .cm-completionMatchedText { font-weight: bold; text-decoration: none; } .cm-tooltip.cm-tooltip-autocomplete .cm-completionDetail { display: none; } .cm-tooltip.cm-tooltip-autocomplete > ul[role="listbox"] { padding: var(--size-2-3); } .cm-tooltip.cm-tooltip-autocomplete > ul > li[role="option"] { font-size: var(--font-ui-medium); margin-bottom: 1px; cursor: var(--cursor); padding: var(--size-2-3) var(--size-4-3); white-space: pre-wrap; border-radius: var(--radius-s); color: var(--text-normal); font-family: var(--font-interface); font-size: var(--font-ui-small); padding-inline-start: var(--size-4-2); } .cm-tooltip.cm-tooltip-autocomplete > ul > li[role="option"].is-selected, .cm-tooltip.cm-tooltip-autocomplete > ul > li[role="option"].mobile-tap { background-color: var(--background-modifier-hover); } .cm-tooltip.cm-tooltip-autocomplete > ul > li[role="option"].mod-downranked { color: var(--text-muted); } .cm-tooltip.cm-tooltip-autocomplete > ul > li[role="option"].mod-complex .suggestion-icon .suggestion-flair { margin: 0; margin-inline-end: var(--size-4-2); } .cm-tooltip.cm-tooltip-autocomplete > ul > li[role="option"][aria-selected] { background-color: var(--background-modifier-hover); } .suggestion-container.mod-property-value .suggestion-item { font-size: var(--font-ui-small); padding: var(--size-2-3) var(--size-4-2); } .suggestion-container.mod-property-key .suggestion-item { font-size: var(--font-ui-small); padding: var(--size-2-3) var(--size-4-2) var(--size-2-3) var(--size-4-1); } .suggestion { overflow-y: auto; padding: var(--size-2-3); } .suggestion-item, .suggestion-empty { font-size: var(--font-ui-medium); margin-bottom: 1px; } .suggestion-empty-suggestion { color: var(--text-faint); } .suggestion-empty { color: var(--text-muted); padding: var(--size-4-2); padding-top: var(--size-4-3); text-align: center; } .suggestion-item { cursor: var(--cursor); padding: var(--size-2-3) var(--size-4-3); white-space: pre-wrap; border-radius: var(--radius-s); } .suggestion-item.is-selected, .suggestion-item.mobile-tap { background-color: var(--background-modifier-hover); } .suggestion-item.mod-downranked { color: var(--text-muted); } .suggestion-item.mod-nowrap { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .is-phone .suggestion-item.mod-toggle { --icon-size: var(--icon-l); --icon-stroke: var(--icon-l-stroke-width); } .suggestion-item.mod-toggle .mod-checked { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); order: 2; } .suggestion-item.mod-complex { align-items: baseline; display: flex; justify-content: space-between; } .suggestion-item.mod-complex .suggestion-title { overflow-wrap: break-word; } .suggestion-item.mod-complex .suggestion-content { display: flex; flex-direction: column; overflow: hidden; text-overflow: ellipsis; margin-inline-end: auto; } .suggestion-item.mod-complex .suggestion-prefix:after { content: ': '; } .suggestion-item.mod-complex .suggestion-highlight { font-weight: bold; } .suggestion-item.mod-complex .suggestion-note { font-size: 0.8em; color: var(--text-muted); width: 100%; flex-basis: 100%; overflow-wrap: break-word; } .suggestion-item.mod-complex .suggestion-icon, .suggestion-item.mod-complex .suggestion-aux { display: flex; align-items: center; align-self: center; flex-shrink: 0; } .suggestion-item.mod-complex .suggestion-hotkey { font-size: var(--font-ui-smaller); font-family: var(--font-interface); padding: 2px 6px; } .suggestion-item.mod-complex .suggestion-hotkey:not(:last-child) { margin-inline-start: 10px; } .suggestion-item.mod-complex .suggestion-action { font-size: var(--font-ui-smaller); font-family: var(--font-interface); color: var(--interactive-accent); } .suggestion-item.mod-complex .suggestion-flair { color: var(--text-muted); opacity: var(--icon-opacity); display: flex; align-items: center; } .suggestion-item.mod-complex .suggestion-flair:not(:last-child) { margin-inline-start: 6px; } .suggestion-item.mod-complex .suggestion-icon .suggestion-flair { margin-top: 0; margin-inline-start: var(--size-4-1); margin-bottom: 0; margin-inline-end: var(--size-4-3); } .suggestion-item.mod-complex .suggestion-aux .suggestion-flair { margin-top: 0; margin-inline-start: var(--size-4-3); margin-bottom: 0; margin-inline-end: var(--size-4-1); } .suggestion-highlight { font-weight: bold; } .suggestion-bg { position: fixed; top: 0; inset-inline-start: 0; width: 100%; height: 100%; background-color: var(--background-modifier-cover); z-index: var(--layer-popover); } .horizontal-tab-header { display: flex; } .horizontal-tab-nav-item, .vertical-tab-nav-item { padding: var(--size-4-1) var(--size-4-2); margin-bottom: 0; user-select: none; cursor: var(--cursor); font-size: calc(var(--font-ui-small) + 1px); border-radius: var(--radius-s); } body:not(.is-phone) .horizontal-tab-nav-item.is-active, body:not(.is-phone) .vertical-tab-nav-item.is-active { --background-modifier-hover: var(--interactive-accent); --icon-color: var(--text-on-accent); background-color: var(--interactive-accent); color: var(--text-on-accent); -electron-corner-smoothing: var(--corner-smoothing); } .horizontal-tab-nav-item.mobile-tap, .vertical-tab-nav-item.mobile-tap { --icon-color: var(--text-normal); background-color: var(--background-modifier-hover); color: var(--text-normal); } @media (hover: hover) { .horizontal-tab-nav-item:hover, .vertical-tab-nav-item:hover { background-color: var(--background-modifier-hover); } } .vertical-tab-nav-item-chevron { display: none; } .horizontal-tab-content, .vertical-tab-content { background-color: var(--background-primary); padding-inline-start: var(--size-4-12); padding-inline-end: var(--size-4-12); container-type: inline-size; } .vertical-tabs-container { display: flex; } .vertical-tab-header { padding: var(--size-4-3); background-color: var(--background-secondary); } .vertical-tab-header-group-items { display: flex; flex-direction: column; } body:not(.is-phone) .vertical-tab-header-group-items { gap: var(--size-2-1); } .vertical-tab-header-group-title { font-size: var(--font-ui-smaller); color: var(--text-faint); font-weight: var(--font-semibold); padding: var(--size-4-2); user-select: none; } .vertical-tab-header-group { padding: var(--size-4-3) 0; } .vertical-tab-content-container { overflow: hidden; flex-grow: 1; } .vertical-tab-content { overflow-y: auto; height: 100%; padding-top: var(--size-4-8); padding-bottom: var(--size-4-16); } .vertical-tab-content h2 { font-size: var(--font-ui-medium); font-weight: var(--font-semibold); } @media (forced-colors: active) { .horizontal-tab-nav-item, .vertical-tab-nav-item { --interactive-accent: SelectedItem; } } .checkbox-container { -webkit-app-region: no-drag; cursor: var(--cursor); background-color: var(--background-modifier-border-hover); border-radius: var(--toggle-radius); display: inline-block; flex-shrink: 0; height: calc(var(--toggle-thumb-height) + var(--toggle-border-width) * 2); position: relative; user-select: none; width: var(--toggle-width); box-shadow: inset 0 4px 10px rgba(0, 0, 0, 0.07), inset 0 0 1px rgba(0, 0, 0, 0.21); transition: box-shadow 0.15s ease-in-out, outline 0.15s ease-in-out, border 0.15s ease-in-out, opacity 0.15s ease-in-out; outline: 0 solid var(--background-modifier-border-focus); } .checkbox-container input[type='checkbox'] { position: absolute; opacity: 0; left: 0; } .checkbox-container:focus-within { outline: var(--toggle-border-width) solid var(--background-modifier-border-focus); } @media (hover: hover) { .checkbox-container:hover { box-shadow: inset 0 6px 20px rgba(0, 0, 0, 0.14), inset 0 0 1px rgba(0, 0, 0, 0.28); } } .checkbox-container.is-enabled { background-color: var(--interactive-accent); } .checkbox-container.is-enabled:after { transform: translate3d(calc(var(--toggle-width) - var(--toggle-thumb-width) - var(--toggle-border-width)), 0, 0); } .checkbox-container.is-enabled:active:after { left: -4px; } .checkbox-container:before { content: ''; display: block; position: absolute; top: 0; left: 0; bottom: 0; right: 0; opacity: 0; } .checkbox-container:after { pointer-events: none; content: ''; display: block; position: absolute; background-color: var(--toggle-thumb-color); width: var(--toggle-thumb-width); height: var(--toggle-thumb-height); margin: var(--toggle-border-width) 0 0 0; border-radius: var(--toggle-thumb-radius); transition: transform 0.15s ease-in-out, width 0.1s ease-in-out, left 0.1s ease-in-out; left: 0; transform: translate3d(var(--toggle-border-width), 0, 0); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15); } .checkbox-container:active:after { width: calc(var(--toggle-thumb-width) + var(--toggle-border-width)); } .checkbox-container.mod-small { width: var(--toggle-s-width); height: calc(var(--toggle-s-thumb-height) + var(--toggle-s-border-width) * 2); } .checkbox-container.mod-small:focus-within { outline: var(--toggle-s-border-width) solid var(--background-modifier-border-focus); } .checkbox-container.mod-small:after { width: var(--toggle-s-thumb-width); height: var(--toggle-s-thumb-height); margin: var(--toggle-s-border-width) 0 0 0; transform: translate3d(var(--toggle-s-border-width), 0, 0); } .checkbox-container.mod-small.is-enabled:after { transform: translate3d(calc(var(--toggle-s-width) - var(--toggle-s-thumb-width) - var(--toggle-s-border-width)), 0, 0); } .checkbox-container.mod-small:active:after { width: calc(var(--toggle-s-thumb-width) + var(--toggle-s-border-width)); } @media (forced-colors: active) { .checkbox-container { outline: 1px ButtonBorder solid; } .checkbox-container:after { outline: 1px ButtonBorder solid; } .checkbox-container.is-enabled { background-color: SelectedItem; } } /* Add this attribute to the element that needs a tooltip */ .tooltip { animation: pop-down 200ms forwards ease-in-out; box-shadow: 0 2px 8px var(--background-modifier-box-shadow); background-color: var(--background-modifier-message); border-radius: var(--radius-s); color: #FAFAFA; font-size: var(--font-ui-smaller); font-weight: var(--font-medium); left: 50%; line-height: var(--line-height-tight); max-width: 300px; padding: var(--size-4-1) var(--size-4-2); position: fixed; text-align: center; transform: translateX(-50%); z-index: var(--layer-tooltip); pointer-events: none; white-space: pre-wrap; word-break: normal; overflow-wrap: anywhere; } .tooltip.mod-right { animation: pop-right 200ms forwards ease-in-out; transform: translateY(-50%); } .tooltip.mod-left { animation: pop-right 200ms forwards ease-in-out; transform: translateY(-50%); } .tooltip.mod-error { width: 200px; background-color: var(--background-modifier-error); color: var(--text-on-accent); } .tooltip.mod-wide { max-width: 450px; width: 400px; } /* Triangle hack to make tooltip look like a speech bubble */ .tooltip .tooltip-arrow { position: absolute; top: -5px; left: 50%; width: 0; margin-left: -5px; border-bottom: 5px solid var(--background-modifier-message); border-right: 5px solid transparent; border-left: 5px solid transparent; content: " "; font-size: 0; line-height: 0; } .tooltip.mod-right .tooltip-arrow { top: calc(50% - 5px); left: -5px; border-right: 5px solid var(--background-modifier-message); border-top: 5px solid transparent; border-bottom: 5px solid transparent; } .tooltip.mod-left .tooltip-arrow { top: calc(50% - 5px); left: calc(100% + 5px); border-left: 5px solid var(--background-modifier-message); border-top: 5px solid transparent; border-bottom: 5px solid transparent; } .tooltip.mod-top .tooltip-arrow { top: calc(100%); border-top: 5px solid var(--background-modifier-message); border-bottom: 5px solid transparent; } .tooltip.mod-error .tooltip-arrow { border-bottom-color: var(--background-modifier-error); } .tooltip.mod-error.mod-right .tooltip-arrow { border-right-color: var(--background-modifier-error); border-bottom: 5px solid transparent; } .tooltip.mod-error.mod-left .tooltip-arrow { border-left-color: var(--background-modifier-error); border-bottom: 5px solid transparent; } [aria-label] .svg-icon { pointer-events: none; } @keyframes pop-down { 0% { opacity: 0; transform: translateX(-50%) scale(1); } 20% { opacity: 0.7; transform: translateX(-50%) scale(1.02); } 40% { opacity: 1; transform: translateX(-50%) scale(1.05); } 100% { opacity: 1; transform: translateX(-50%) scale(1); } } @keyframes pop-right { 0% { opacity: 0; transform: translateY(-50%) scale(1); } 20% { opacity: 0.7; transform: translateY(-50%) scale(1.02); } 40% { opacity: 1; transform: translateY(-50%) scale(1.05); } 100% { opacity: 1; transform: translateY(-50%) scale(1); } } .tree-item-self { align-items: baseline; display: flex; border-radius: var(--radius-s); color: var(--nav-item-color); font-size: var(--nav-item-size); line-height: var(--line-height-tight); font-weight: var(--nav-item-weight); margin-bottom: var(--size-2-1); padding: var(--nav-item-padding); position: relative; } .tree-item-self:before { content: '\200B'; } .tree-item-self.mod-collapsible { padding: var(--nav-item-parent-padding); } .tree-item-self.is-cut { opacity: 0.5; } .tree-item-self.is-being-dragged-over { color: var(--nav-item-color-highlighted); background: hsla(var(--interactive-accent-hsl), 0.1); } .tree-item-self.is-being-dragged-over .collapse-icon { color: var(--nav-item-color-highlighted); } .tree-item-self.has-active-menu { box-shadow: 0 0 0 2px var(--background-modifier-border-focus); } .tree-item-self.is-being-renamed { flex-grow: 1; white-space: normal; box-shadow: 0 0 0 2px var(--background-modifier-border-focus); } .tree-item-self.is-being-renamed [contenteditable="true"], .tree-item-self.is-being-renamed .tree-item-inner { cursor: text; flex-grow: 1; } .tree-item-self.is-being-renamed:focus-within { color: var(--nav-item-color-active); box-shadow: 0 0 0 2px var(--interactive-accent); } .tree-item-self.is-clickable { cursor: var(--cursor); } @media (hover: hover) { body:not(.is-grabbing) .tree-item-self.is-clickable:hover { color: var(--nav-item-color-hover); background-color: var(--nav-item-background-hover); font-weight: var(--nav-item-weight-hover); } } .is-mobile .tree-item-self.is-clickable { transition: background-color 0.1s ease-in-out, color 0.1s ease-in-out; } .tree-item-self.is-clickable.mobile-tap { background-color: var(--nav-item-background-hover); color: var(--nav-item-color-hover); font-weight: var(--nav-item-weight-hover); } body:not(.is-grabbing) .tree-item-self.is-active:hover, .tree-item-self.is-active { color: var(--nav-item-color-active); background-color: var(--nav-item-background-active); font-weight: var(--nav-item-weight-active); } body:not(.is-grabbing) .tree-item-self.is-selected:hover, .tree-item-self.is-selected { color: var(--nav-item-color-selected); background-color: var(--nav-item-background-selected); } body:not(.is-grabbing) .tree-item-self.is-being-dragged:hover, .tree-item-self.is-being-dragged { color: var(--text-on-accent); background-color: var(--interactive-accent); } body:not(.is-grabbing) .tree-item-self.is-being-dragged:hover .tree-item-icon, .tree-item-self.is-being-dragged .tree-item-icon { color: var(--text-on-accent); } body:not(.is-phone) .workspace-leaf.mod-active .tree-item-self.has-focus { box-shadow: 0 0 0 2px var(--background-modifier-border-focus); } body:not(.is-phone) .workspace-leaf.mod-active .tree-item-self.has-focus:focus-within { box-shadow: 0 0 0 2px var(--interactive-accent); } .tree-item-self .tree-item-icon { position: absolute; margin-inline-start: calc(-1 * var(--size-4-5)); width: var(--size-4-4); display: flex; align-items: center; justify-content: center; opacity: var(--icon-opacity); color: var(--icon-color); flex: 0 0 auto; } .tree-item-self .tree-item-icon:before { content: "\200b"; } .tree-item-self .tree-item-icon .svg-icon:not(.right-triangle) { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-s-stroke-width); } .tree-item-flair-outer { padding-inline-start: var(--size-4-1); margin-inline-start: auto; display: flex; flex-shrink: 0; align-items: center; } .tree-item-flair { font-size: var(--font-ui-smaller); color: var(--text-faint); line-height: 1; border-radius: var(--radius-s); } @media (hover: hover) { .tree-item-self:hover .tree-item-flair { color: var(--text-muted); } } .tree-item-inner { overflow: hidden; white-space: pre-wrap; } .tree-item-inner-text { overflow: hidden; text-overflow: ellipsis; } .tree-item-inner-subtext { color: var(--text-faint); font-size: 85%; } .tree-item-children { padding-inline-start: var(--nav-item-children-padding-start, var(--nav-item-children-padding-left)); margin-inline-start: var(--nav-item-children-margin-start, var(--nav-item-children-margin-left)); margin-bottom: 1px; border-inline-start: var(--nav-indentation-guide-width) solid var(--nav-indentation-guide-color); } .drop-indicator { position: absolute; left: 0; width: 100%; height: 0; border: 2px solid var(--interactive-accent); pointer-events: none; } .drop-indicator:not(.is-active) { display: none; } audio { outline: none; } .markdown-rendered audio { max-width: 100%; outline: none; } audio { width: 100%; height: 42px; } audio::-webkit-media-controls-enclosure { border-radius: calc(var(--radius-m) - 1px); border: 1px solid var(--background-modifier-border); background-color: var(--background-primary-alt); } audio::-webkit-media-controls-current-time-display, audio::-webkit-media-controls-time-remaining-display { font-family: var(--font-interface); } iframe { border: 0; } kbd { color: var(--code-normal); font-family: var(--font-monospace); background-color: var(--code-background); border-radius: var(--radius-s); font-size: var(--code-size); padding: 0.1em 0.25em; } .workspace-leaf-content[data-type="pdf"] .view-content { display: flex; flex-direction: column; overflow: hidden; padding: 0; } .pdf-container { background-color: var(--pdf-background); flex-grow: 1; min-width: 350px; overflow: hidden; position: relative; } .theme-dark .pdf-container.mod-themed .annotationLayer .textWidgetAnnotation input, .theme-dark .pdf-container.mod-themed .annotationLayer .textWidgetAnnotation textarea { filter: invert(100%) hue-rotate(180deg); } .theme-dark .pdf-container.mod-themed .popupWrapper > div { background-color: var(--background-secondary-alt); filter: drop-shadow(0px 0px 1px var(--color-base-60)) drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.4)) drop-shadow(0px 4px 6px rgba(0, 0, 0, 0.4)); } .theme-dark .pdf-container.mod-themed .popupWrapper > div::after { background-color: var(--background-secondary-alt); } .theme-dark .pdf-container.mod-themed .popupContent:empty + .popupMeta { background-color: var(--background-secondary-alt); } .pdf-viewer-container { outline: none; overflow: auto; position: absolute; top: 0; inset-inline-end: 0; bottom: 0; inset-inline-start: 0; scroll-padding: var(--size-4-3); z-index: 0; } .findbarOpen .pdf-viewer-container { margin-top: var(--findbar-height); } .pdf-content-container { --sidebar-width: 140px; } .pdf-content-container.sidebarMoving .pdf-sidebar-container, .pdf-content-container.sidebarOpen .pdf-sidebar-container { visibility: visible; } .pdf-content-container.sidebarOpen .pdf-sidebar-container { inset-inline-start: 0; } .pdf-content-container.sidebarOpen .pdf-viewer-container { inset-inline-start: var(--sidebar-width); transition-property: inset-inline-start; } .pdf-embed .pdf-content-container.sidebarOpen .pdf-sidebar-container, .is-mobile .pdf-content-container.sidebarOpen .pdf-sidebar-container { inset-inline-start: 0; } .pdf-embed .pdf-content-container.sidebarOpen .pdf-viewer-container, .is-mobile .pdf-content-container.sidebarOpen .pdf-viewer-container { inset-inline-start: 0; } .pdf-content-container .pdf-sidebar-container, .pdf-content-container .pdf-viewer-container { transition-duration: 275ms; transition-timing-function: var(--anim-motion-swing); } .pdf-content-container.sidebarResizing .pdf-sidebar-container, .pdf-content-container.sidebarResizing .pdf-viewer-container { /* Improve responsiveness and avoid visual glitches when the sidebar is resized. */ transition-duration: 0s; } .pdf-content-container { min-width: 350px; position: absolute; bottom: 0; inset-inline-start: 0; inset-inline-end: 0; top: 0; } .pdf-content-container.is-loading:before { z-index: 1; } .pdf-sidebar-container { background-color: var(--pdf-sidebar-background); border-inline-end: var(--divider-width) solid var(--divider-color); bottom: 0; display: flex; flex-direction: column; inset-inline-start: calc(-1 * var(--sidebar-width)); position: absolute; top: 0; transition-property: inset-inline-start; visibility: hidden; width: var(--sidebar-width); z-index: 100; } .findbarOpen .pdf-sidebar-container { top: var(--findbar-height); } .is-mobile .pdf-sidebar-container[data-view="1"], .pdf-embed .pdf-sidebar-container[data-view="1"] { inset-inline-start: -140px; width: 140px; } .is-mobile .pdf-sidebar-container[data-view="2"], .pdf-embed .pdf-sidebar-container[data-view="2"] { inset-inline-start: -275px; width: 275px; } .pdf-sidebar-container .pdf-thumbnail-view, .pdf-sidebar-container .pdf-outline-view { bottom: 0; overflow: auto; padding: var(--size-4-2) var(--size-4-2); position: absolute; top: 0; -webkit-user-select: none; user-select: none; width: 100%; } .pdf-sidebar-container .pdf-thumbnail-view { display: flex; flex-wrap: wrap; gap: var(--size-4-1); justify-content: center; align-content: flex-start; padding: var(--size-4-3); width: 100%; } .pdf-sidebar-container .pdf-thumbnail-view a { display: block; cursor: var(--cursor); } .pdf-sidebar-container .pdf-thumbnail-view a:active, .pdf-sidebar-container .pdf-thumbnail-view a:focus { outline: 0; } .pdf-sidebar-container .thumbnail { --thumbnail-width: 0; --thumbnail-height: 0; position: relative; width: var(--thumbnail-width); height: var(--thumbnail-height); border: var(--size-4-2) solid transparent; border-radius: var(--radius-s); box-sizing: content-box; } .pdf-sidebar-container .thumbnail::before { content: " "; position: absolute; top: 0; inset-inline-end: 0; bottom: 0; inset-inline-start: 0; box-shadow: var(--pdf-thumbnail-shadow); } .pdf-sidebar-container .thumbnail::after { background-color: var(--background-secondary); border-radius: 3px; bottom: var(--size-4-1); content: attr(data-page-label); color: var(--text-muted); display: block; font-size: var(--font-ui-smaller); line-height: 1; padding: var(--size-2-1) var(--size-4-1); position: absolute; inset-inline-end: var(--size-4-1); } .pdf-sidebar-container .thumbnail:not([data-loaded]) { border: 1px dashed var(--background-modifier-border); margin: calc(var(--size-4-2) - 1px); } .pdf-sidebar-container .thumbnail:hover, .pdf-sidebar-container .thumbnail.selected { border-color: var(--background-modifier-hover); } .pdf-sidebar-container img.thumbnailImage { border: 1px solid transparent; max-width: unset; width: var(--thumbnail-width); height: var(--thumbnail-height); } .pdf-outline-view .tree-item-self:not(.mod-collapsible) { padding-inline-start: calc(10px + var(--size-4-2) + var(--size-2-3)); } .pdf-outline-view .tree-item-self.mod-active { color: var(--nav-item-color-active); background-color: var(--nav-item-background-active); font-weight: var(--nav-item-weight-active); } .pdf-outline-view .tree-item-flair { white-space: nowrap; } .pdf-sidebar-content-wrapper { position: relative; flex-grow: 1; } .pdf-sidebar-content { bottom: 0; inset-inline-start: 0; overflow: auto; position: absolute; top: 0; width: 100%; } .pdf-sidebar-content > .hidden { display: none; } .pdf-sidebar-resizer { background-color: transparent; bottom: 0; cursor: col-resize; inset-inline-end: calc(var(--divider-width-hover) * -1); position: absolute; top: 0; transition: background-color 200ms ease-in-out; width: var(--divider-width-hover); z-index: var(--layer-cover); } .is-mobile .pdf-sidebar-resizer, .pdf-embed .pdf-sidebar-resizer { display: none; } @media (hover: hover) { .pdf-sidebar-resizer:hover { background-color: var(--divider-color-hover); } .is-translucent .pdf-sidebar-resizer:hover { background-color: var(--divider-color-hover); } } .pdf-toolbar { align-items: stretch; background-color: var(--background-primary); border-bottom: 1px solid var(--background-modifier-border); display: flex; justify-content: space-between; overflow: auto; padding: var(--size-4-1) var(--size-4-3); position: relative; } .hover-popover .pdf-toolbar { display: none; } .pdf-page-numbers { white-space: nowrap; margin-inline-end: var(--size-4-1); font-size: var(--font-ui-small); font-variant-numeric: tabular-nums; } .pdf-toolbar-left, .pdf-toolbar-center, .pdf-toolbar-right { display: flex; align-items: center; gap: var(--size-4-1); } .pdf-toolbar-left.hidden, .pdf-toolbar-center.hidden, .pdf-toolbar-right.hidden { display: none; } .pdf-toolbar-center { position: absolute; top: var(--size-4-1); height: calc(100% - var(--size-4-2)); inset-inline-start: 50%; transform: translateX(calc(var(--direction) * -50%)); } .pdf-toolbar-spacer { width: var(--size-4-3); } .pdf-toolbar-divider { width: var(--border-width); height: var(--icon-size); background-color: var(--background-modifier-border); } .pdf-page-input { width: 7ch; text-align: right; font-variant-numeric: tabular-nums; } .pdf-page-input.mod-page-loading { background-color: var(--background-secondary); opacity: 0.5; } .pdf-findbar { background-color: var(--background-primary); flex-direction: row-reverse; font-size: var(--font-ui-small); gap: var(--size-4-1); line-height: 1; padding: var(--size-2-3); position: absolute; inset-inline-start: 0; inset-inline-end: 0; top: 0; z-index: 101; } .pdf-findbar input { min-width: 300px; } .pdf-findbar.mod-hidden { display: none; } .pdf-findbar input[type="checkbox"] { display: none; pointer-events: none; } .pdf-findbar label { -webkit-user-select: none; user-select: none; } .pdf-findbar label:hover, .pdf-findbar input:focus-visible + label { color: var(--toggled-btn-color); background-color: var(--button-hover-color); } .pdf-findbar .pdf-toolbar-field[type="checkbox"]:checked + .pdf-toolbar-label { background-color: var(--toggled-btn-bg-color) !important; color: var(--toggled-btn-color); } .pdf-findbar .pdf-search-wrapper { display: flex; gap: var(--size-4-1); align-items: center; } .pdf-findbar .mod-not-found { --background-modifier-form-field: rgba(var(--background-modifier-error-rgb), 0.1); --background-modifier-border-focus: rgba(var(--background-modifier-error-rgb), 0.6); } .pdf-findbar .mod-pending::before { -webkit-mask-image: url("data:image/svg+xml,"); animation: rotation 1s infinite linear; } .is-phone .pdf-findbar { overflow: none; } .is-phone .pdf-findbar .pdf-toolbar-button { height: auto; width: auto; padding: 6px 0; background-color: transparent; color: var(--text-accent); flex-grow: 0; flex-shrink: 0; } .is-phone .pdf-findbar .pdf-toolbar-divider, .is-phone .pdf-findbar .pdf-findbar-settings-btn, .is-phone .pdf-findbar .pdf-findbar-message { display: none; } .is-phone .pdf-findbar input { min-width: 0; } .is-phone .pdf-findbar .search-input-container { flex-grow: 1; } .is-phone .pdf-findbar .pdf-search-wrapper { gap: var(--size-4-2); } @keyframes rotation { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .pdf-find-results-count { color: var(--text-muted); margin: 0 var(--size-4-2); font-style: italic; white-space: nowrap; } .pdf-find-results-count:empty { display: none; } .pdf-findbar-settings { background-color: var(--background-primary); border-radius: var(--radius-m); border: 1px solid var(--background-modifier-border); box-shadow: var(--shadow-s); padding: var(--size-4-1) var(--size-4-2); position: absolute; transform: translateX(-100%); width: 200px; z-index: 200; } .pdf-findbar-settings .setting-item { padding: var(--size-4-1) 0; border: none; } .pdf-findbar-settings .setting-item-name { font-size: var(--font-ui-small); } .pdf-password-dialog { align-items: center; display: flex; flex-direction: column; font-size: var(--font-ui-medium); gap: var(--size-4-1); justify-content: center; inset-inline-start: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); } .pdf-password-dialog .mod-small { font-size: var(--font-ui-small); } .pdf-password-dialog input { margin-top: var(--size-4-2); } .pdf-lock-icon .svg-icon { --icon-size: var(--icon-xl); --icon-stroke: var(--icon-xl-stroke-width); } .textLayer .mod-focused { background-color: rgb(var(--text-highlight-bg-rgb)); border-radius: var(--radius-s); box-sizing: content-box; padding: var(--size-4-1); margin: calc(var(--size-4-1) * -1); } .textLayer .mod-focused.appended { position: static; } .annotationLayer .mod-focused { background-color: rgba(var(--text-highlight-bg-rgb), 0.1); border-radius: var(--radius-s); box-shadow: var(--shadow-s); box-sizing: content-box; margin: calc(var(--size-4-2) * -1); border: var(--size-4-1) solid rgba(var(--text-highlight-bg-rgb), 0.8); padding: var(--size-4-1); } .annotationLayer .boundingRect { z-index: 2000; position: absolute; pointer-events: none; } .annotationLayer .boundingRect > * { pointer-events: initial; } .pdf-container .pdfViewer .canvasWrapper { box-shadow: var(--pdf-shadow); } .pdf-container .pdfViewer .page { --page-border: calc(var(--size-4-1) * var(--scale-factor)) solid transparent; --page-margin: 0 auto; --page-bg-color: transparent; box-sizing: content-box; flex-shrink: 0; } .pdf-container .pdfViewer .page.loadingIcon::after { background: none; } .pdf-container .pdfViewer.removePageBorders.spread .page, .pdf-container .pdfViewer.removePageBorders:is(.scrollHorizontal, .scrollWrapped) .page { --spreadHorizontalWrapped-margin-LR: 0; margin-inline: 0; border: var(--size-4-1) solid transparent; } .pdf-container .pdfViewer.removePageBorders .page + .page { border-top: var(--size-4-1) solid transparent; } .pdf-container .pdfViewer.removePageBorders .spread .page + .page { border-top: none; } .pdf-container .pdfViewer.removePageBorders .spread .canvasWrapper { box-shadow: var(--pdf-spread-shadow); } .pdf-container .pdfViewer.removePageBorders .spread + .spread { border-top: var(--size-4-1) solid transparent; } .pdf-container .textLayer { -webkit-user-select: text; user-select: text; opacity: 0.2; background-color: transparent; } .pdf-container .textLayer ::selection, .markdown-source-view.mod-cm6 .pdf-container .textLayer ::selection { background-color: hsl(var(--color-accent-hsl)); } .pdf-container .textLayer br::selection, .markdown-source-view.mod-cm6 .pdf-container .textLayer br::selection { background-color: transparent; } .pdf-container .textLayer .highlight { --highlight-bg-color: transparent; --highlight-selected-bg-color: transparent; --highlight-backdrop-filter: none; --highlight-selected-backdrop-filter: none; margin: -1px; padding: 1px; border-radius: var(--radius-s); } .pdf-container .textLayer .highlight.appended { position: static; display: inline-block; } .pdf-container .textLayer .highlight.begin { border-radius: var(--radius-s) 0 0 var(--radius-s); } .pdf-container .textLayer .highlight.end { border-radius: 0 var(--radius-s) var(--radius-s) 0; } .pdf-container .textLayer .highlight.selected { box-shadow: 0 0 0 2px hsl(var(--interactive-accent-hsl)); background-color: hsl(var(--interactive-accent-hsl)); } .pdf-container .textLayer .highlight:not(.selected) { box-shadow: 0 0 0 2px rgb(var(--color-yellow-rgb)); background-color: rgb(var(--color-yellow-rgb)); } .pdf-container .annotationLayer > section.hasPopup:not(.textAnnotation) { pointer-events: none; } .pdf-container .annotationLayer :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton):not(.hasBorder) > a:hover { opacity: 1; background-color: hsla(var(--color-accent-hsl), 0.1); box-shadow: none; } .pdf-container .annotationLayer .linkAnnotation.hasBorder:hover { background-color: hsla(var(--color-accent-hsl), 0.1); } .popupWrapper { --pdf-popup-width: 280px; font-size: var(--font-ui-medium); pointer-events: none; position: absolute; transform: translate(-50%, 0); z-index: 10000; } .popupWrapper > div { margin: var(--size-4-3); background-color: var(--background-primary); border-radius: var(--radius-s); filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.2)) drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3)) drop-shadow(0px 4px 6px rgba(0, 0, 0, 0.3)); position: relative; } .popupWrapper > div:after { background: var(--background-primary); border-start-start-radius: 2px; content: ""; height: var(--size-4-3); inset-inline-start: calc(50% - 2px); position: absolute; top: -5px; transform: rotate(45deg); width: var(--size-4-3); z-index: -1; } .is-phone .pdf-annotation-modal { align-items: flex-end; } .is-phone .pdf-annotation-modal .modal { height: auto; max-height: 40vh; min-height: 0; top: unset; padding-bottom: var(--safe-area-inset-bottom); } .is-phone .pdf-annotation-modal .modal .modal-close-button, .is-phone .pdf-annotation-modal .modal .modal-header { display: none; } .is-phone .pdf-annotation-modal .modal-content { overflow: hidden; padding: 0; } .is-phone .pdf-annotation-modal .popup { flex-direction: column-reverse; height: 100%; overflow: hidden; } .is-phone .pdf-annotation-modal .popupContent { height: 100%; max-height: none; padding-bottom: calc(var(--safe-area-inset-bottom) + var(--size-4-4)); padding-top: 0; } .is-phone .pdf-annotation-modal .popupContent:empty + .popupMeta, .is-phone .pdf-annotation-modal .popupMeta { --icon-size: var(--font-ui-medium); --icon-stroke: var(--icon-m-stroke-width); background-color: transparent; padding: var(--size-4-2) var(--size-4-4); border-top: none; } .popup { cursor: initial; display: flex; flex-direction: column; pointer-events: auto; -webkit-user-select: text; user-select: text; white-space: normal; width: var(--pdf-popup-width); word-wrap: break-word; } .popupContent { font-size: var(--font-ui-small); line-height: var(--line-height-tight); max-height: 200px; overflow: auto; padding: var(--size-4-4); text-align: start; } .popupContent:empty { display: none; } .popupMeta { --icon-size: var(--font-ui-small); --icon-stroke: 2.5px; align-items: center; background-color: var(--background-secondary); border-top: 1px solid var(--background-modifier-border); color: var(--text-muted); display: flex; font-size: var(--font-ui-smaller); gap: var(--size-4-1); justify-content: space-between; padding: var(--size-4-1) var(--size-4-2); border-bottom-left-radius: var(--radius-s); border-bottom-right-radius: var(--radius-s); } .popupContent:empty + .popupMeta { border-top: none; background-color: var(--background-primary); border-top-left-radius: var(--radius-s); border-top-right-radius: var(--radius-s); } .popupMeta .clickable-icon { margin-inline-end: calc(var(--size-4-1) * -1); margin-inline-start: calc(var(--size-2-1) * -1); } .popupDate { white-space: nowrap; } .markdown-rendered video { max-width: 100%; outline: none; } .markdown-rendered blockquote { color: var(--blockquote-color); font-style: var(--blockquote-font-style); background-color: var(--blockquote-background-color); border-inline-start: var(--blockquote-border-thickness) solid var(--blockquote-border-color); padding-top: 0; padding-bottom: 0; padding-inline-start: var(--size-4-6); margin-inline-start: 0; margin-inline-end: 0; } .markdown-rendered blockquote > :first-child { margin-top: 0; } .markdown-rendered blockquote > :last-child { margin-bottom: 0; } .cm-s-obsidian span.cm-quote { color: var(--blockquote-color); } .cm-s-obsidian span.cm-formatting-quote { color: var(--text-faint); } .cm-s-obsidian .hmd-inactive-line span.cm-formatting-quote { color: transparent; } .markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote:before, .markdown-source-view.mod-cm6 .cm-blockquote-border:before { content: "\200b"; display: block; width: 1px; border-inline-start: var(--blockquote-border-thickness) solid var(--blockquote-border-color); color: transparent; position: absolute; top: 0; bottom: 0; pointer-events: none; } .markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote { font-style: var(--blockquote-style); background-color: var(--blockquote-background-color); } .markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote:before { inset-inline-start: 0; } .markdown-source-view.mod-cm6 .cm-blockquote-border { display: inline-block; } .callout { --callout-color: var(--callout-default); --callout-icon: lucide-pencil; } @supports (color: color-mix(in srgb, white 50%, black)) { .callout { --bases-table-header-background: transparent; --bases-table-header-background-hover: rgba(var(--callout-color), 0.1); --bases-embed-border-color: color-mix(in srgb, rgb(var(--callout-color)) 25%, var(--background-primary) 50%); --bases-table-border-color: color-mix(in srgb, rgb(var(--callout-color)) 25%, var(--background-primary) 50%); --table-border-color: color-mix(in srgb, rgb(var(--callout-color)) 25%, var(--background-primary) 50%); } } .callout[data-callout="abstract"], .callout[data-callout="summary"], .callout[data-callout="tldr"] { --callout-color: var(--callout-summary); --callout-icon: lucide-clipboard-list; } .callout[data-callout="info"] { --callout-color: var(--callout-info); --callout-icon: lucide-info; } .callout[data-callout="todo"] { --callout-color: var(--callout-todo); --callout-icon: lucide-check-circle-2; } .callout[data-callout="important"] { --callout-color: var(--callout-important); --callout-icon: lucide-flame; } .callout[data-callout="tip"], .callout[data-callout="hint"] { --callout-color: var(--callout-tip); --callout-icon: lucide-flame; } .callout[data-callout="success"], .callout[data-callout="check"], .callout[data-callout="done"] { --callout-color: var(--callout-success); --callout-icon: lucide-check; } .callout[data-callout="question"], .callout[data-callout="help"], .callout[data-callout="faq"] { --callout-color: var(--callout-question); --callout-icon: help-circle; } .callout[data-callout="warning"], .callout[data-callout="caution"], .callout[data-callout="attention"] { --callout-color: var(--callout-warning); --callout-icon: lucide-alert-triangle; } .callout[data-callout="failure"], .callout[data-callout="fail"], .callout[data-callout="missing"] { --callout-color: var(--callout-fail); --callout-icon: lucide-x; } .callout[data-callout="danger"], .callout[data-callout="error"] { --callout-color: var(--callout-error); --callout-icon: lucide-zap; } .callout[data-callout="bug"] { --callout-color: var(--callout-bug); --callout-icon: lucide-bug; } .callout[data-callout="example"] { --callout-color: var(--callout-example); --callout-icon: lucide-list; } .callout[data-callout="quote"], .callout[data-callout="cite"] { --callout-color: var(--callout-quote); --callout-icon: quote-glyph; } .callout { overflow: hidden; border-style: solid; border-color: rgba(var(--callout-color), var(--callout-border-opacity)); border-width: var(--callout-border-width); border-radius: var(--callout-radius); margin: 1em 0; mix-blend-mode: var(--callout-blend-mode); background-color: rgba(var(--callout-color), 0.1); padding: var(--callout-padding); } .callout.is-collapsible .callout-title { cursor: var(--cursor); } .callout-title { padding: var(--callout-title-padding); display: flex; gap: var(--size-4-1); font-size: var(--callout-title-size); color: rgb(var(--callout-color)); line-height: var(--line-height-tight); align-items: flex-start; } .callout-content { overflow-x: auto; padding: var(--callout-content-padding); background-color: var(--callout-content-background); } .callout-content .callout { margin-top: 20px; } .callout-icon { flex: 0 0 auto; display: flex; align-items: center; } .callout-icon .svg-icon { color: rgb(var(--callout-color)); } .callout-icon::after { content: "\200B"; } .callout-title-inner { --font-weight: var(--callout-title-weight); font-weight: var(--font-weight); color: var(--callout-title-color); } .callout-fold { display: flex; align-items: center; padding-inline-end: var(--size-4-2); } .callout-fold::after { content: "\200B"; } .callout-fold .svg-icon { transition: transform 100ms ease-in-out; } .callout-fold.is-collapsed .svg-icon { transform: rotate(calc(var(--direction) * -1 * 90deg)); } .markdown-source-view.mod-cm6 .callout { margin: 0; } .markdown-source-view.mod-cm6 .callout-content .callout { margin: 1em 0; } .markdown-rendered code { color: var(--code-normal); font-family: var(--font-monospace); background-color: var(--code-background); border-radius: var(--code-radius); font-size: var(--code-size); padding: 0.15em 0.3em; border: var(--code-border-width) solid var(--code-border-color); -webkit-box-decoration-break: clone; } .cm-s-obsidian span.cm-inline-code { color: var(--code-normal); font-size: var(--code-size); background-color: var(--code-background); vertical-align: baseline; -webkit-box-decoration-break: clone; } .cm-s-obsidian span.cm-inline-code span.cm-inline-code.cm-hmd-indented-code { background-color: transparent; } .cm-s-obsidian span.cm-inline-code span.cm-inline-code:not(.cm-formatting):not(.cm-hmd-indented-code):not(.obsidian-search-match-highlight) { background-color: var(--code-background); vertical-align: baseline; } .cm-s-obsidian span.cm-inline-code span.cm-inline-code.hmd-hidden-token { font-size: 0; } .cm-s-obsidian .cm-inline-code { border-color: var(--code-border-color); border-style: solid; } .cm-s-obsidian .cm-inline-code:not(.cm-formatting) { border-radius: var(--code-radius); padding: 0.15em 0.3em; border-width: var(--code-border-width); } .cm-s-obsidian .cm-inline-code.cm-formatting { border-start-start-radius: var(--code-radius); border-start-end-radius: 0; border-end-start-radius: var(--code-radius); border-end-end-radius: 0; padding: 0.15em 0; border-width: var(--code-border-width) 0 var(--code-border-width) var(--code-border-width); } .cm-s-obsidian .cm-inline-code:not(.cm-formatting) + .cm-formatting.cm-inline-code { border-start-start-radius: 0; border-start-end-radius: var(--code-radius); border-end-start-radius: 0; border-end-end-radius: var(--code-radius); padding-inline-end: 0; border-width: var(--code-border-width) var(--code-border-width) var(--code-border-width) 0; } .cm-s-obsidian .cm-inline-code.cm-formatting ~ .cm-inline-code:not(.cm-formatting) { border-radius: 0; padding: 0.15em 0; border-left: none; border-right: none; } .markdown-rendered pre { position: relative; padding: var(--size-4-3) var(--size-4-4); min-height: 38px; background-color: var(--code-background); border-radius: var(--code-radius); white-space: var(--code-white-space); border: var(--code-border-width) solid var(--code-border-color); overflow-x: auto; } .markdown-rendered pre code { border: none; padding: 0; background-color: transparent; } .markdown-rendered li > pre { margin: 0; } .markdown-rendered pre:not(:hover) > button.copy-code-button { display: none; } .markdown-rendered button.copy-code-button { margin: 6px; padding: 6px 8px; height: auto; background-color: transparent; box-shadow: none; color: var(--text-muted); font-size: var(--font-ui-smaller); font-family: var(--font-interface); position: absolute; top: 0; inset-inline-end: 0; } @media (hover: hover) { .markdown-rendered button.copy-code-button:hover { background-color: var(--background-modifier-hover); } } .theme-dark .mermaid > svg { filter: invert(100%) hue-rotate(180deg) saturate(1.25); } .markdown-source-view.mod-cm6 .cm-hmd-codeblock { --indentation-guide-editing-indent: 0; } .markdown-source-view.mod-cm6 .cm-preview-code-block pre { margin: 0; } .markdown-source-view.mod-cm6 .code-block-flair { position: absolute; right: 6px; top: 6px; z-index: 1; display: inline-block; padding: var(--size-4-1) var(--size-4-2); border-radius: var(--code-radius); font-family: var(--font-interface); font-size: var(--font-ui-smaller); color: var(--text-muted); cursor: var(--cursor); } @media (hover: hover) { .markdown-source-view.mod-cm6 .code-block-flair:hover { background-color: var(--background-modifier-hover); } } .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock { color: var(--code-normal); } .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock:not(.HyperMD-list-line) { padding-inline-start: var(--size-4-4); } .markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock .cm-formatting.cm-formatting-list { font-family: var(--font-text); font-size: var(--font-text-size); } .cm-s-obsidian .HyperMD-codeblock { font-family: var(--font-monospace); font-size: var(--code-size); direction: ltr; } .cm-s-obsidian .HyperMD-codeblock-begin, .cm-s-obsidian .HyperMD-codeblock-end { color: var(--code-normal); } .cm-s-obsidian .HyperMD-codeblock span.cm-inline-code { background-color: inherit; border: inherit; padding: inherit; font-size: inherit; } .cm-s-obsidian div.HyperMD-codeblock-bg { left: 0; right: 0; background-color: var(--code-background); border-width: 0px var(--code-border-width) 0px var(--code-border-width); border-color: var(--code-border-color); border-style: solid; } .cm-s-obsidian div.HyperMD-codeblock-begin-bg { border-top-left-radius: var(--code-radius); border-top-right-radius: var(--code-radius); border-width: var(--code-border-width) var(--code-border-width) 0px var(--code-border-width); } .cm-s-obsidian div.HyperMD-codeblock-end-bg { border-bottom-left-radius: var(--code-radius); border-bottom-right-radius: var(--code-radius); border-width: 0 var(--code-border-width) var(--code-border-width) var(--code-border-width); } .cm-s-obsidian div.HyperMD-codeblock-begin-bg, .cm-s-obsidian div.HyperMD-codeblock-end-bg { background-color: var(--code-background); border-color: var(--code-border-color); border-style: solid; } code[class*="language-"] { color: var(--code-normal); background: none; word-wrap: break-word; white-space: pre-wrap; word-break: normal; direction: ltr; font-family: var(--font-monospace); text-align: left; word-spacing: normal; line-height: var(--line-height-normal); -webkit-hyphens: none; -moz-hyphens: none; -ms-hyphens: none; hyphens: none; } @media print { code[class*="language-"] { text-shadow: none; } } .token.important, .token.bold { font-weight: bold; } .token.italic { font-style: italic; } .token.entity { cursor: help; } /* Syntax highlighting */ .token.comment, .token.prolog, .token.doctype, .token.cdata { color: var(--code-comment); } .token.namespace { opacity: 0.7; } .token.tag, .token.constant, .token.symbol, .token.deleted { color: var(--code-tag); } .token.punctuation { color: var(--code-punctuation); } .token.boolean, .token.number { color: var(--code-value); } .token.selector, .token.attr-name, .token.string, .token.char, .token.inserted { color: var(--code-string); } .token.operator { color: var(--code-operator); } .token.entity, .token.parameter, .token.property, .token.url, .language-css .token.string, .style .token.string, .token.variable { color: var(--code-property); } .token.atrule, .token.attr-value, .token.builtin, .token.function, .token.class-name, .token.property-access { color: var(--code-function); } .token.keyword { color: var(--code-keyword); } .token.regex, .token.important { color: var(--code-important); } .cm-inline-code, .cm-math { color: var(--code-normal); } .cm-comment, .cm-meta { color: var(--code-comment); } .cm-tag { color: var(--code-tag); } .cm-punctuation, .cm-bracket, .cm-hr { color: var(--code-punctuation); } .cm-number { color: var(--code-value); } .cm-qualifier, .cm-string, .cm-string-2 { color: var(--code-string); } .cm-operator { color: var(--code-operator); } .cm-link, .cm-variable, .cm-variable-2, .cm-variable-3 { color: var(--code-property); } .cm-builtin, .cm-property, .cm-attribute, .cm-type { color: var(--code-function); } .cm-keyword { color: var(--code-keyword); } .cm-editor.cm-focused .cm-matchingBracket { background-color: var(--code-bracket-background); box-shadow: inset 0 0 0 1px var(--background-modifier-hover); } .cm-editor.cm-focused .cm-matchingBracket .punctuation { color: var(--text-normal); } .markdown-preview-view .markdown-embed .markdown-preview-view { --file-folding-offset: 0px; height: 100%; padding: 0; } .markdown-preview-view .markdown-embed .markdown-preview-view .markdown-preview-pusher h1, .markdown-preview-view .markdown-embed .markdown-preview-view .markdown-preview-pusher h2, .markdown-preview-view .markdown-embed .markdown-preview-view .markdown-preview-pusher h3, .markdown-preview-view .markdown-embed .markdown-preview-view .markdown-preview-pusher h4, .markdown-preview-view .markdown-embed .markdown-preview-view .markdown-preview-pusher h5, .markdown-preview-view .markdown-embed .markdown-preview-view .markdown-preview-pusher h6 { margin-top: 0; } .pdf-embed, .markdown-source-view .pdf-embed, .markdown-source-view.mod-cm6 .cm-content > .pdf-embed, .internal-embed.pdf-embed:not(.image-embed) { width: 100%; height: 800px; display: flex; flex-direction: column; } .pdf-embed { overflow: hidden; position: relative; } .pdf-embed:not(.canvas-node-content) { border: 1px solid var(--background-modifier-border); border-radius: var(--radius-s); } .pdf-embed:not(.canvas-node-content) .edit-block-button + .pdf-toolbar { padding-inline-end: var(--size-4-9); } .markdown-source-view.mod-cm6 .pdf-embed .edit-block-button { background-color: var(--background-primary); opacity: 1; top: 6px; z-index: 1; } @media (hover: hover) { .markdown-source-view.mod-cm6 .pdf-embed .edit-block-button:hover { color: var(--icon-color-hover); background-color: var(--background-modifier-hover); } } @media print { .pdf-embed:not(.canvas-node-content) { align-items: center; border: none; justify-content: center; max-height: 80vh; } .pdf-embed:not(.canvas-node-content) .pdf-container, .pdf-embed:not(.canvas-node-content) .pdf-toolbar { display: none; } .pdf-embed:not(.canvas-node-content) .canvasWrapper { border-radius: var(--radius-s); border: 1px solid var(--background-modifier-border); max-height: 100%; overflow: hidden; width: fit-content; } .pdf-embed:not(.canvas-node-content) canvas { height: auto; width: 100%; } } .markdown-embed, .file-embed { position: relative; } .markdown-embed-link, .file-embed-link { position: absolute; top: 4px; inset-inline-end: 4px; color: var(--icon-color); opacity: var(--icon-opacity); cursor: var(--cursor-link); padding: var(--size-2-2); border-radius: var(--radius-s); display: flex; align-items: center; --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); } @media (hover: hover) { .markdown-embed-link:hover, .file-embed-link:hover { color: var(--icon-color-hover); opacity: var(--icon-opacity-hover); background: var(--background-modifier-hover); } } .file-embed-title { display: flex; align-items: center; justify-content: center; gap: var(--size-4-2); } .file-embed-icon { color: var(--text-muted); display: flex; } .file-embed { display: flex; justify-content: center; border-radius: var(--radius-m); background-color: var(--background-primary-alt); } .file-embed.mod-generic, .file-embed.mod-empty { cursor: var(--cursor-link); padding: var(--size-4-2); color: var(--text-muted); text-align: center; font-size: var(--font-smaller); } @media (hover: hover) { .file-embed.mod-generic:hover, .file-embed.mod-empty:hover { color: var(--text-normal); background-color: var(--background-secondary); } } .file-embed.mod-empty-attachment { padding: var(--size-4-2); color: var(--text-muted); text-align: center; font-size: var(--font-smaller); } .markdown-embed-content { height: 100%; } .embed-title { align-items: center; display: flex; gap: var(--size-4-1); font-size: var(--font-text-size); font-weight: calc(var(--font-weight) + var(--bold-modifier)); text-align: start; text-overflow: ellipsis; white-space: nowrap; padding: 0 0 var(--size-4-2) 0; } .markdown-embed { font-style: var(--embed-font-style); background-color: var(--embed-background); border-top: var(--embed-border-top); border-inline-end: var(--embed-border-end, var(--embed-border-right)); border-bottom: var(--embed-border-bottom); border-inline-start: var(--embed-border-start, var(--embed-border-left)); margin: 0; } .markdown-embed .markdown-preview-view { padding: 0; } .internal-embed:not(.image-embed) { display: block; } .internal-embed img:not([width]), .internal-embed audio, .internal-embed video { max-width: 100%; } .internal-embed.query-embed .edit-block-button { opacity: 1; } .inline-embed > .markdown-embed-title { padding: var(--embed-padding); } .inline-embed > .markdown-embed-content { height: fit-content; max-height: var(--embed-max-height); overflow: auto; } .inline-embed > .markdown-embed-content > .markdown-source-view, .inline-embed > .markdown-embed-content > .markdown-preview-view { padding: var(--embed-padding); } .inline-embed .markdown-source-view.mod-cm6 .cm-editor { min-height: unset; } .embed-iframe { width: 100%; height: 100%; } iframe.external-embed { width: 600px; max-width: 100%; height: 350px; } .markdown-source-view.mod-cm6 .internal-embed { white-space: normal; } .markdown-source-view.mod-cm6 .cm-embed-block { position: relative; white-space: normal; overflow-wrap: normal; word-break: normal; } @media (hover: hover) { .markdown-source-view.mod-cm6 .cm-embed-block:not(.cm-table-widget, .cm-lang-base):hover { box-shadow: var(--embed-block-shadow-hover); border-radius: var(--radius-s); overflow: hidden; cursor: text; } .markdown-source-view.mod-cm6 .cm-embed-block:not(.cm-table-widget, .cm-lang-base):hover .edit-block-button { opacity: 1; } .markdown-source-view.mod-cm6 .cm-embed-block:not(.cm-table-widget, .cm-lang-base):hover .edit-block-button:hover { background-color: var(--background-modifier-hover); } } .markdown-source-view.mod-cm6 .cm-embed-block > .mermaid { overflow-x: auto; } .markdown-source-view.mod-inside-iframe > .cm-editor > .cm-scroller { flex-direction: column; padding: 0 var(--size-4-4); } .markdown-source-view.mod-inside-iframe > .cm-editor > .cm-scroller::before, .markdown-source-view.mod-inside-iframe > .cm-editor > .cm-scroller::after { content: " "; display: block; min-height: min(calc(10vh - 3px), var(--size-4-4)); max-height: var(--size-4-4); flex: 1 1 0; } .markdown-source-view.mod-inside-iframe > .cm-editor > .cm-scroller > .cm-sizer { min-height: unset; flex: 1 0 0; } .footnote-link { text-decoration: none; } .footnotes { font-size: var(--footnote-size); } .footnote-ref { vertical-align: super; } .footnote-backref { display: inline-block; margin-inline-start: var(--size-4-1); color: var(--text-faint); text-decoration: none; } @media (hover: hover) { .footnote-backref:hover { color: var(--text-accent); text-decoration: none; } } .cm-s-obsidian .cm-line.HyperMD-footnote { font-size: var(--footnote-size); } .cm-s-obsidian .cm-line.HyperMD-footnote span.cm-hmd-footnote { cursor: text; display: inline-block; font-size: var(--font-smallest); position: relative; top: -0.3em; color: var(--text-muted); } .cm-s-obsidian .cm-line.HyperMD-footnote span.cm-hmd-footnote.cm-formatting { color: var(--text-faint); } .cm-s-obsidian .cm-line.HyperMD-footnote span.cm-hmd-footnote:hover { text-decoration: none; } .cm-s-obsidian .cm-line.HyperMD-footnote span.cm-hmd-footnote .cm-underline { color: var(--text-muted); text-decoration: none; } @media (hover: hover) { .cm-s-obsidian .cm-line.HyperMD-footnote span.cm-hmd-footnote .cm-underline:hover { cursor: text; color: var(--text-muted); text-decoration: none; } } .cm-s-obsidian .cm-line.HyperMD-footnote .cm-hmd-footnote-url-title { color: var(--text-muted); } .markdown-rendered .frontmatter.mod-failed { position: relative; } .markdown-rendered .frontmatter.mod-failed .mod-error { color: var(--text-error); font-size: var(--font-smaller); } .markdown-rendered .frontmatter.mod-failed:after { content: ''; position: absolute; top: 0; inset-inline-end: 0; width: 100%; height: 100%; background-color: var(--background-modifier-error); opacity: 0.3; mix-blend-mode: var(--highlight-mix-blend-mode); } .metadata-container { --input-height: var(--metadata-input-height); border-radius: var(--metadata-border-radius); background-color: var(--metadata-background); border-color: var(--metadata-border-color); border-style: solid; border-width: var(--metadata-border-width); padding: var(--metadata-padding); color: var(--text-muted); position: relative; max-width: var(--metadata-max-width); margin-block-end: var(--p-spacing); } .markdown-source-view .metadata-container, .markdown-preview-view .metadata-container { transform: translateX(calc(var(--size-4-1) * -1 * var(--direction))); } .is-mobile .metadata-container { transform: none; } .metadata-container .metadata-show-source-button, .metadata-container .metadata-add-button { padding-inline-start: var(--size-2-3); margin-top: 0.5em; font-size: var(--metadata-label-font-size); font-family: var(--metadata-label-font); } .metadata-container.is-collapsed .metadata-property { display: none; } .metadata-container:focus-within .metadata-property.is-selected { color: var(--nav-item-color-selected); background-color: var(--nav-item-background-selected); } .metadata-properties { display: flex; flex-direction: column; gap: var(--metadata-gap); } .metadata-properties .metadata-input-longtext { -webkit-box-orient: vertical; -webkit-line-clamp: var(--metadata-input-longtext-lines); } .metadata-properties .metadata-input-longtext:not(:empty) { display: -webkit-box; } .metadata-properties .metadata-input-longtext:focus { -webkit-line-clamp: unset; } .metadata-properties-heading { display: inline-block; padding: var(--size-4-1); margin-bottom: var(--size-4-2); position: relative; line-height: 1.2; } .is-mobile .metadata-properties-heading { padding: var(--size-4-1) 0; } .metadata-properties-heading:before { content: ''; border-radius: var(--metadata-property-radius); position: absolute; display: inline-block; left: 0; right: 0; top: 0; bottom: 0; } .metadata-properties-heading:focus:before { box-shadow: 0 0 0 2px var(--background-modifier-border-focus); } .metadata-properties-heading .collapse-indicator { position: absolute; inset-inline-start: -22px; padding: 0 6px; } .metadata-properties-title { user-select: none; font-size: max(var(--font-ui-small), 1em); color: var(--text-normal); font-weight: var(--font-medium); font-family: var(--font-interface); } .metadata-error-container { border-radius: var(--callout-radius); padding: var(--size-4-1) var(--size-4-2); background-color: rgba(var(--callout-error), 0.1); } .metadata-error-title { color: var(--text-error); font-size: max(var(--font-ui-small), 1em); font-weight: var(--font-medium); } .metadata-error-cta { cursor: var(--cursor); color: var(--text-accent); font-size: var(--font-ui-small); font-weight: var(--font-medium); margin-left: auto; } .metadata-error-cta.mobile-tap, .metadata-error-cta:hover { color: var(--text-accent-hover); } input[type=checkbox].metadata-input-checkbox { margin: var(--input-padding); } .metadata-input-text { background-color: transparent; width: 100%; min-height: var(--input-height); border-width: 0px; resize: none; overflow-y: hidden; } .metadata-input-text::-webkit-date-and-time-value { text-align: start; } .metadata-input-text.mod-date { padding-inline-end: 0; width: auto; } .is-mobile.is-ios .metadata-input-text.mod-datetime.is-empty::before, .is-mobile.is-ios .metadata-input-text.mod-date.is-empty::before { content: attr(placeholder); color: var(--text-faint); } .metadata-property { --input-border-width: 0; --input-border-width-focus: 0; --input-radius: 0; position: relative; display: flex; align-items: start; padding: var(--metadata-property-padding); border-radius: var(--metadata-property-radius); overflow: hidden; background-color: var(--metadata-property-background); box-shadow: var(--metadata-property-box-shadow); } @media (hover: hover) { .metadata-property:hover { --metadata-divider-color: var(--metadata-divider-color-hover); background-color: var(--metadata-property-background-hover); box-shadow: var(--metadata-property-box-shadow-hover); border-radius: var(--metadata-property-radius-hover); } } .metadata-property.has-focus, .metadata-property:focus-within { --metadata-divider-color: var(--metadata-divider-color-focus); background-color: var(--metadata-property-background-hover); box-shadow: var(--metadata-property-box-shadow-focus); border-radius: var(--metadata-property-radius-focus); } .metadata-property-icon { cursor: var(--cursor); color: var(--icon-color); display: flex; align-items: center; padding: var(--size-4-1) 0; height: var(--input-height); -webkit-user-select: none; } .metadata-property-icon:before { content: "\200B"; width: var(--size-4-1); } @media (hover: hover) { .metadata-property-icon:hover .svg-icon { color: var(--icon-color-focused); } } .metadata-property-icon[aria-disabled='true'] { color: var(--text-muted); opacity: 0.4; } .metadata-input-number { background-color: transparent; width: 100%; border-width: 0px; } .metadata-property-key { display: flex; align-self: stretch; align-items: flex-start; flex-direction: row; flex-shrink: 0; font-family: var(--metadata-label-font); border-bottom: var(--metadata-divider-width) solid var(--metadata-divider-color); background-color: var(--metadata-label-background); width: var(--metadata-label-width); min-width: var(--metadata-label-width); } @media (hover: hover) { .metadata-property-key:hover { background-color: var(--metadata-label-background-hover); } } .metadata-property-key:focus-within { background-color: var(--metadata-label-background-active); } input.metadata-property-key-input { border: none; flex-grow: 1; color: var(--metadata-label-text-color); font-size: var(--metadata-label-font-size); font-weight: var(--metadata-label-font-weight); height: var(--input-height); background-color: transparent; display: flex; align-items: center; text-overflow: ellipsis; overflow: hidden; width: 100%; text-align: left; } @media (hover: hover) { input.metadata-property-key-input:hover { background-color: transparent; } } input.metadata-property-key-input:active, input.metadata-property-key-input:focus { background-color: transparent; } .metadata-property-warning-icon { --icon-size: var(--icon-s); position: absolute; inset-inline-end: var(--size-2-1); top: var(--size-2-1); bottom: var(--size-2-1); align-items: center; display: flex; color: var(--text-warning); } @media (hover: hover) { .metadata-property-warning-icon:hover { color: var(--text-warning); background-color: rgba(var(--color-orange-rgb), 0.15); } } .metadata-property[data-property-key="tags"] .multi-select-pill { --pill-color: var(--tag-color); --pill-color-hover: var(--tag-color-hover); --pill-color-remove: var(--tag-color); --pill-color-remove-hover: var(--tag-color-hover); --pill-decoration: var(--tag-decoration); --pill-decoration-hover: var(--tag-decoration-hover); --pill-background: var(--tag-background); --pill-background-hover: var(--tag-background-hover); --pill-border-color: var(--tag-border-color); --pill-border-color-hover: var(--tag-border-color-hover); --pill-border-width: var(--tag-border-width); --pill-padding-x: var(--tag-padding-x); --pill-padding-y: var(--tag-padding-y); --pill-radius: var(--tag-radius); --pill-weight: var(--tag-weight); --pill-focus-width: 100%; --pill-focus-left-adjust: 0; cursor: var(--cursor-link); line-height: 1; } .metadata-property-value { display: flex; flex: 1 1 auto; gap: var(--size-2-2); align-items: center; align-self: stretch; overflow: hidden; font-family: var(--metadata-input-font); min-height: var(--input-height); background-color: var(--metadata-input-background); border-bottom: var(--metadata-divider-width) solid var(--metadata-divider-color); } .metadata-property-value .metadata-input-text, .metadata-property-value .metadata-input-number, .metadata-property-value .multi-select-container { background-color: transparent; } .metadata-property-value .metadata-input-text:hover, .metadata-property-value .metadata-input-number:hover, .metadata-property-value .multi-select-container:hover { background-color: transparent; } .metadata-property-value .metadata-input-text:active, .metadata-property-value .metadata-input-number:active, .metadata-property-value .multi-select-container:active, .metadata-property-value .metadata-input-text:focus, .metadata-property-value .metadata-input-number:focus, .metadata-property-value .multi-select-container:focus, .metadata-property-value .metadata-input-text:focus-within, .metadata-property-value .metadata-input-number:focus-within, .metadata-property-value .multi-select-container:focus-within { background-color: transparent; } .metadata-property-value .multi-select-pill { --pill-border-width: 0; --pill-padding-x: 0; --pill-padding-y: 0; --pill-color: var(--metadata-input-text-color); line-height: var(--line-height-tight); } .metadata-property-value .metadata-input-text { text-overflow: ellipsis; overflow: hidden; } .metadata-property-value.mod-external-link:not(:placeholder-shown) { text-decoration-line: var(--link-decoration); text-decoration-thickness: var(--link-decoration-thickness); text-decoration-color: var(--text-faint); } @media (hover: hover) { .metadata-property-value.mod-external-link:not(:placeholder-shown) .metadata-link-inner:hover { text-decoration-line: var(--link-decoration-hover); } } .metadata-property-value .mod-unknown { color: var(--text-warning); padding: var(--input-padding); font-size: var(--metadata-input-font-size); text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } .metadata-property-value .multi-select-input { font-size: inherit; } .metadata-property-value .multi-select-container, .metadata-property-value .metadata-link-inner, .metadata-property-value input { font-size: var(--metadata-input-font-size); } .metadata-property-value .multi-select-container { --background-modifier-form-field: transparent; --background-modifier-border: transparent; align-items: center; overflow: hidden; } .metadata-property-value .multi-select-container input { background-color: transparent; } .metadata-property-value .multi-select-container .multi-select-pill.is-invalid { --pill-background: transparent; --pill-color: var(--text-error); --pill-color-remove: var(--text-error); text-decoration-line: line-through; } .metadata-property-value .external-link .multi-select-pill-content, .metadata-property-value .internal-link .multi-select-pill-content { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .metadata-property-value .clickable-icon { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); margin-inline-end: 2px; margin-inline-start: -4px; padding: 4px; } .metadata-property-value .clickable-icon:hover { background: transparent; color: var(--text-normal); cursor: var(--cursor-link); } @media (hover: hover) { .metadata-property-value:hover { background-color: var(--metadata-input-background-hover); } } .metadata-property-value:focus-within { background-color: var(--metadata-input-background-active); } /* Edit mode */ .cm-hmd-frontmatter { font-size: var(--font-smaller); color: var(--text-muted); } .cm-hmd-frontmatter.cm-hmd-frontmatter.cm-def { color: var(--text-muted); } .cm-hmd-frontmatter .is-invalid { color: var(--text-error); } .cm-hmd-frontmatter .error-marker { background-color: var(--text-error); color: var(--text-on-accent); } .metadata-input-longtext { flex-grow: 1; cursor: text; white-space: pre-wrap; color: var(--metadata-input-text-color); font-size: var(--metadata-input-font-size); max-height: 300px; padding: var(--input-padding); } .metadata-input-longtext:focus { overflow-y: auto; } .metadata-input-longtext:empty:before { content: attr(placeholder); color: var(--input-placeholder-color); } .metadata-link { cursor: text; align-items: center; padding: var(--input-padding); display: flex; flex: 1 1 auto; gap: var(--size-4-2); } @media (hover: hover) { .metadata-link:hover .metadata-link-flair { opacity: var(--icon-opacity); transition: 0.1s opacity 0.25s ease-in-out; } } .metadata-link-inner { cursor: var(--cursor-link); color: var(--link-color); text-decoration-line: var(--link-decoration); text-decoration-thickness: var(--link-decoration-thickness); text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } @media (hover: hover) { .metadata-link-inner:hover { text-decoration-line: var(--link-decoration-hover); color: var(--link-color-hover); } .metadata-link-inner:hover ~ .metadata-link-flair { opacity: 0; } } .metadata-link-flair { --icon-size: var(--icon-xs); background-color: transparent; cursor: text; margin-inline-start: auto; display: flex; align-items: center; justify-content: center; padding: var(--size-2-1); border-radius: var(--clickable-icon-radius); color: var(--icon-color); opacity: 0; transition: opacity var(--anim-duration-fast) ease-in-out; height: auto; } .markdown-source-view .metadata-container, .markdown-preview-view .metadata-container:not(.mod-error) { display: none; } .markdown-source-view.is-live-preview.show-properties .metadata-container:not(.mod-error) { display: var(--metadata-display-editing); } .markdown-preview-view.show-properties .metadata-container { display: var(--metadata-display-reading); } .markdown-source-view.is-live-preview.show-properties .metadata-container[data-property-count="0"]:not(.mod-error), .markdown-preview-view.show-properties .metadata-container[data-property-count="0"]:not(.mod-error) { display: none; } .inline-embed .markdown-source-view.is-live-preview.show-properties .metadata-container:not(.mod-error), .inline-embed .markdown-preview-view.show-properties .metadata-container:not(.mod-error) { display: none; } .markdown-rendered li h1, .markdown-rendered li h2, .markdown-rendered li h3, .markdown-rendered li h4, .markdown-rendered li h5 { margin-top: 0; margin-bottom: 0; } .markdown-rendered :is(p,pre,table,ul,ol) + :is(h1,h2,h3,h4,h5,h6), .markdown-rendered div:is(.el-p,.el-pre,.el-table,.el-ul,.el-ol) + div > :is(h1,h2,h3,h4,h5,h6) { margin-top: var(--heading-spacing); } h1, h2, h3, h4, h5, h6 { margin-block-start: var(--p-spacing); margin-block-end: var(--p-spacing); } h1, .markdown-rendered h1 { --font-weight: var(--h1-weight); font-variant: var(--h1-variant); letter-spacing: var(--h1-letter-spacing); line-height: var(--h1-line-height); font-size: var(--h1-size); color: var(--h1-color); font-weight: var(--font-weight); font-style: var(--h1-style); font-family: var(--h1-font); } h1 a, .markdown-rendered h1 a { --link-weight: var(--h1-weight); } h2, .markdown-rendered h2 { --font-weight: var(--h2-weight); font-variant: var(--h2-variant); letter-spacing: var(--h2-letter-spacing); line-height: var(--h2-line-height); font-size: var(--h2-size); color: var(--h2-color); font-weight: var(--font-weight); font-style: var(--h2-style); font-family: var(--h2-font); } h2 a, .markdown-rendered h2 a { --link-weight: var(--h2-weight); } h3, .markdown-rendered h3 { --font-weight: var(--h3-weight); font-variant: var(--h3-variant); letter-spacing: var(--h3-letter-spacing); line-height: var(--h3-line-height); font-size: var(--h3-size); color: var(--h3-color); font-weight: var(--font-weight); font-style: var(--h3-style); font-family: var(--h3-font); } h3 a, .markdown-rendered h3 a { --link-weight: var(--h3-weight); } h4, .markdown-rendered h4 { --font-weight: var(--h4-weight); font-variant: var(--h4-variant); letter-spacing: var(--h4-letter-spacing); line-height: var(--h4-line-height); font-size: var(--h4-size); color: var(--h4-color); font-weight: var(--font-weight); font-style: var(--h4-style); font-family: var(--h4-font); } h4 a, .markdown-rendered h4 a { --link-weight: var(--h4-weight); } h5, .markdown-rendered h5 { --font-weight: var(--h5-weight); font-variant: var(--h5-variant); letter-spacing: var(--h5-letter-spacing); font-size: var(--h5-size); line-height: var(--h5-line-height); color: var(--h5-color); font-weight: var(--font-weight); font-style: var(--h5-style); font-family: var(--h5-font); } h5 a, .markdown-rendered h5 a { --link-weight: var(--h5-weight); } h6, .markdown-rendered h6 { --font-weight: var(--h6-weight); font-variant: var(--h6-variant); letter-spacing: var(--h6-letter-spacing); font-size: var(--h6-size); line-height: var(--h6-line-height); color: var(--h6-color); font-weight: var(--font-weight); font-style: var(--h6-style); font-family: var(--h6-font); } h6 a, .markdown-rendered h6 a { --link-weight: var(--h6-weight); } .cm-formatting-header { color: var(--text-faint); } .cm-s-obsidian .cm-line.HyperMD-header { padding-top: var(--p-spacing); } .cm-s-obsidian .cm-line.HyperMD-header + .cm-line:not(.HyperMD-header):not(:has(>br:only-child)) { padding-top: var(--p-spacing-empty); } .cm-s-obsidian .cm-line.HyperMD-header + .cm-line:not(.HyperMD-header):has(>br:only-child) + .cm-line.HyperMD-header { padding-top: 0; } .HyperMD-header-1, .inline-title h1, .HyperMD-list-line .cm-header-1 { --font-weight: var(--h1-weight); font-variant: var(--h1-variant); letter-spacing: var(--h1-letter-spacing); line-height: var(--h1-line-height); font-size: var(--h1-size); color: var(--h1-color); font-weight: var(--font-weight); font-style: var(--h1-style); font-family: var(--h1-font); } .HyperMD-header-1 a, .inline-title h1 a, .HyperMD-list-line .cm-header-1 a, .HyperMD-header-1 .cm-hmd-internal-link, .inline-title h1 .cm-hmd-internal-link, .HyperMD-list-line .cm-header-1 .cm-hmd-internal-link { --link-weight: var(--h1-weight); } .HyperMD-header-2, .inline-title h2, .HyperMD-list-line .cm-header-2 { --font-weight: var(--h2-weight); font-variant: var(--h2-variant); letter-spacing: var(--h2-letter-spacing); line-height: var(--h2-line-height); font-size: var(--h2-size); color: var(--h2-color); font-weight: var(--font-weight); font-style: var(--h2-style); font-family: var(--h2-font); } .HyperMD-header-2 a, .inline-title h2 a, .HyperMD-list-line .cm-header-2 a, .HyperMD-header-2 .cm-hmd-internal-link, .inline-title h2 .cm-hmd-internal-link, .HyperMD-list-line .cm-header-2 .cm-hmd-internal-link { --link-weight: var(--h2-weight); } .HyperMD-header-3, .inline-title h3, .HyperMD-list-line .cm-header-3 { --font-weight: var(--h3-weight); font-variant: var(--h3-variant); letter-spacing: var(--h3-letter-spacing); line-height: var(--h3-line-height); font-size: var(--h3-size); color: var(--h3-color); font-weight: var(--font-weight); font-style: var(--h3-style); font-family: var(--h3-font); } .HyperMD-header-3 a, .inline-title h3 a, .HyperMD-list-line .cm-header-3 a, .HyperMD-header-3 .cm-hmd-internal-link, .inline-title h3 .cm-hmd-internal-link, .HyperMD-list-line .cm-header-3 .cm-hmd-internal-link { --link-weight: var(--h3-weight); } .HyperMD-header-4, .inline-title h4, .HyperMD-list-line .cm-header-4 { --font-weight: var(--h4-weight); font-variant: var(--h4-variant); letter-spacing: var(--h4-letter-spacing); line-height: var(--h4-line-height); font-size: var(--h4-size); color: var(--h4-color); font-weight: var(--font-weight); font-style: var(--h4-style); font-family: var(--h4-font); } .HyperMD-header-4 a, .inline-title h4 a, .HyperMD-list-line .cm-header-4 a, .HyperMD-header-4 .cm-hmd-internal-link, .inline-title h4 .cm-hmd-internal-link, .HyperMD-list-line .cm-header-4 .cm-hmd-internal-link { --link-weight: var(--h4-weight); } .HyperMD-header-5, .inline-title h5, .HyperMD-list-line .cm-header-5 { --font-weight: var(--h5-weight); font-variant: var(--h5-variant); font-size: var(--h5-size); letter-spacing: var(--h5-letter-spacing); line-height: var(--h5-line-height); color: var(--h5-color); font-weight: var(--font-weight); font-style: var(--h5-style); font-family: var(--h5-font); } .HyperMD-header-5 a, .inline-title h5 a, .HyperMD-list-line .cm-header-5 a, .HyperMD-header-5 .cm-hmd-internal-link, .inline-title h5 .cm-hmd-internal-link, .HyperMD-list-line .cm-header-5 .cm-hmd-internal-link { --link-weight: var(--h5-weight); } .HyperMD-header-6, .inline-title h6, .HyperMD-list-line .cm-header-6 { --font-weight: var(--h6-weight); font-variant: var(--h6-variant); letter-spacing: var(--h6-letter-spacing); font-size: var(--h6-size); line-height: var(--h6-line-height); color: var(--h6-color); font-weight: var(--font-weight); font-style: var(--h6-style); font-family: var(--h6-font); } .HyperMD-header-6 a, .inline-title h6 a, .HyperMD-list-line .cm-header-6 a, .HyperMD-header-6 .cm-hmd-internal-link, .inline-title h6 .cm-hmd-internal-link, .HyperMD-list-line .cm-header-6 .cm-hmd-internal-link { --link-weight: var(--h6-weight); } .HyperMD-header .cm-header-1, .HyperMD-header .cm-header-2, .HyperMD-header .cm-header-3, .HyperMD-header .cm-header-4, .HyperMD-header .cm-header-5, .HyperMD-header .cm-header-6 { font-size: inherit !important; } hr { border: none; border-top: var(--hr-thickness) solid; border-color: var(--hr-color); margin: 2rem 0; } .markdown-rendered hr { border: none; border-top: var(--hr-thickness) solid; border-color: var(--hr-color); } .cm-s-obsidian .hmd-inactive-line.HyperMD-hr { color: transparent; background-color: transparent; } .markdown-source-view.mod-cm6 .hr { display: flex; align-items: center; } .markdown-source-view.mod-cm6 hr { margin: 0; flex: 1 0 0; } .cm-s-obsidian .hmd-fold-html-stub, .cm-s-obsidian .hmd-fold-code-stub { display: inline-block; font-size: 67%; color: #999; vertical-align: middle; border: 1px solid #999; padding: 0 0.2em; border-radius: 5px; margin: 0 0.5em; background-color: var(--background-primary-alt); cursor: var(--cursor); } .cm-s-obsidian .hmd-fold-html-stub.omittable, .cm-s-obsidian .omittable.hmd-fold-code-stub { display: none; } .cm-s-obsidian .hmd-fold-html-stub:hover, .cm-s-obsidian .hmd-fold-code-stub:hover, .cm-s-obsidian .hmd-fold-html-stub.highlight, .cm-s-obsidian .highlight.hmd-fold-code-stub { color: #FFF; border-color: #C30; background: #F40; } .cm-s-obsidian .hmd-fold-html { position: relative; border: 1px solid #FFF; } @media (hover: hover) { .cm-s-obsidian .hmd-fold-html:hover { border: 1px dashed #999; } } .cm-s-obsidian .hmd-fold-html:hover .hmd-fold-html-stub.omittable, .cm-s-obsidian .hmd-fold-html:hover .omittable.hmd-fold-code-stub { display: block; right: 0; bottom: 100%; margin: 0; position: absolute; z-index: 100; } .markdown-preview-view img, .markdown-rendered img { -webkit-touch-callout: default; image-rendering: -webkit-optimize-contrast; } .markdown-preview-view img:not([width]), .markdown-rendered img:not([width]) { max-width: 100%; outline: none; } .cm-s-obsidian .hmd-fold-html a > img { border: 0; } .cm-s-obsidian img.hmd-image { vertical-align: middle; width: auto; max-width: 100%; height: auto; } .cm-s-obsidian img.hmd-image.hmd-image-loading, .cm-s-obsidian img.hmd-image.hmd-image-error { min-width: 24px; min-height: 24px; } .markdown-source-view.mod-cm6 .cm-line .internal-embed.image-embed { display: inline; } .internal-query { margin: 0; border-top: 1px solid var(--background-modifier-border); } .internal-query .search-result-container { padding: var(--size-4-2); max-height: 800px; overflow: auto; border: 1px solid var(--background-modifier-border); background-color: var(--background-secondary); border-radius: var(--radius-m); } .internal-query .internal-query-header { text-align: center; padding: var(--size-4-3) 0 var(--size-4-3) var(--size-4-1); color: var(--text-normal); display: flex; justify-content: flex-start; align-items: center; } .internal-query .internal-query-header-icon { color: var(--text-faint); margin-inline-end: var(--size-4-1); display: flex; } .internal-query .internal-query-header-title { font-weight: var(--font-medium); } .internal-query .internal-query-header-title:before, .internal-query .internal-query-header-title:after { content: '"'; } /* Default markers */ ul ul, ol ul, ol ol ul, ol ul ul, ul ol ul, ul ul ul { list-style-type: disc; } ol { list-style-type: var(--list-numbered-style); } ul > li, ol > li { text-align: start; } ol > li::marker, ul > li::marker { color: var(--list-marker-color); } ol > li.is-collapsed::marker, ul > li.is-collapsed::marker { color: var(--list-marker-color-collapsed); } /* Indent depth Consistency in horizontal positioning of lists */ .markdown-rendered ul, .markdown-rendered ol { padding-inline-start: 0; margin-block-start: var(--p-spacing); margin-block-end: var(--p-spacing); /* Space between list items */ } .markdown-rendered ul ul, .markdown-rendered ol ul, .markdown-rendered ul ol, .markdown-rendered ol ol { margin-block-start: 0; margin-block-end: 0; } .markdown-rendered ul li p:first-of-type, .markdown-rendered ol li p:first-of-type { margin-block-start: 0; } .markdown-rendered ul li p:last-of-type, .markdown-rendered ol li p:last-of-type { margin-block-end: 0; } .markdown-rendered ul > li, .markdown-rendered ol > li { padding-top: var(--list-spacing); padding-bottom: var(--list-spacing); position: relative; } .markdown-rendered ul > li { margin-inline-start: 3ch; } .markdown-rendered ol > li { margin-inline-start: 3ch; } .markdown-rendered ol ol > li, .markdown-rendered ul ul > li { margin-inline-start: var(--list-indent); } .markdown-source-view { --list-padding-inline-start: var(--list-indent-source); --list-marker-space: 0; } .markdown-source-view.is-live-preview { --list-padding-inline-start: var(--list-indent-editing); --list-marker-space: 0.25em; } .cm-formatting-list-ul, .cm-formatting-list-ol { font-variant-numeric: tabular-nums; padding-inline-start: var(--list-padding-inline-start); } .markdown-source-view.mod-cm6 .HyperMD-list-line-nobullet .cm-indent { min-width: var(--list-indent); } .cm-s-obsidian .cm-formatting-list { color: var(--list-marker-color); } .cm-s-obsidian .is-collapsed ~ .cm-formatting-list { color: var(--list-marker-color-collapsed); } /* Indent depth Consistency in horizontal positioning of lists */ .cm-line.HyperMD-list-line { tab-size: var(--list-indent); } /* Space between list items */ .markdown-source-view ol > li, .markdown-source-view ul > li, .markdown-preview-view ol > li, .markdown-preview-view ul > li, .mod-cm6 .HyperMD-list-line.cm-line { padding-top: var(--list-spacing); padding-bottom: var(--list-spacing); } /* Allow clicking on the bullet to collapse */ /* #todo move this into folding.less */ .markdown-rendered .list-collapse-indicator { margin-inline-start: -2.65em; padding-inline-end: 2em; } .markdown-rendered .list-bullet { float: left; float: inline-start; margin-inline-start: -0.8em; } .markdown-rendered .task-list-item > .list-bullet { display: none; } /* Remove default bullets so we can replace them */ .markdown-rendered ul.has-list-bullet { list-style-type: '\200B'; } .markdown-rendered ul.has-list-bullet > li::marker { color: transparent; } .list-bullet { /* hide bullet when editing the marker */ color: transparent; position: relative; display: inline-flex; justify-content: center; align-items: center; } .list-bullet:before { content: '\200B'; } .list-bullet:after { position: absolute; content: '\200B'; pointer-events: none; color: var(--list-marker-color); border-radius: var(--list-bullet-radius); width: var(--list-bullet-size); height: var(--list-bullet-size); border: var(--list-bullet-border); transform: var(--list-bullet-transform); background-color: var(--list-marker-color); transition: transform 0.15s, box-shadow 0.15s; } .list-bullet::selection { background-color: transparent !important; } li.is-collapsed .list-bullet:after, .is-collapsed ~ .cm-formatting-list .list-bullet:after { background-color: var(--list-marker-color-collapsed); box-shadow: 0 0 0 4px var(--background-modifier-active-hover); } /* Allow clicking on the bullet to collapse */ /* #todo move this into folding.less */ .markdown-source-view.mod-cm6.is-live-preview { /* only allow this if line is not active, so that it's still editable */ } .markdown-source-view.mod-cm6.is-live-preview .cm-line.HyperMD-list-line .cm-fold-indicator .collapse-indicator { padding-inline-end: 0; } .markdown-source-view.mod-cm6.is-live-preview .cm-line.HyperMD-list-line:not(.cm-active):not(.HyperMD-task-line) .cm-fold-indicator .collapse-indicator { padding-inline-end: var(--list-bullet-end-padding); inset-inline-end: calc(var(--list-bullet-end-padding) * -1); } @media (hover: hover) { .list-collapse-indicator:hover ~ .list-bullet:after, .cm-fold-indicator:hover ~ .list-bullet:after, .list-collapse-indicator:hover ~ .cm-formatting-list .list-bullet:after, .cm-fold-indicator:hover ~ .cm-formatting-list .list-bullet:after { background-color: var(--list-marker-color-hover); box-shadow: 0 0 0 4px var(--background-modifier-hover); } li.is-collapsed .list-collapse-indicator:hover ~ .list-bullet:after, li.is-collapsed .cm-fold-indicator:hover ~ .list-bullet:after, .list-collapse-indicator:hover.is-collapsed ~ .list-bullet:after, .cm-fold-indicator:hover.is-collapsed ~ .list-bullet:after, li.is-collapsed .list-collapse-indicator:hover ~ .cm-formatting-list .list-bullet:after, li.is-collapsed .cm-fold-indicator:hover ~ .cm-formatting-list .list-bullet:after, .list-collapse-indicator:hover.is-collapsed ~ .cm-formatting-list .list-bullet:after, .cm-fold-indicator:hover.is-collapsed ~ .cm-formatting-list .list-bullet:after { background-color: var(--list-marker-color-collapsed); box-shadow: 0 0 0 4px var(--background-modifier-active-hover); } } .cm-s-obsidian .HyperMD-list-line.HyperMD-list-line-nobullet { padding-top: initial; } .cm-s-obsidian .HyperMD-list-line.HyperMD-list-line-nobullet > .cm-hmd-list-indent > .cm-indent-spacing:last-child { padding-inline-start: calc(var(--list-indent-editing) + var(--list-marker-space)); } .markdown-source-view.mod-cm6 .cm-hmd-list-indent { display: inline-block; white-space: pre; } .markdown-source-view.mod-cm6 .cm-formatting-list-ul, .markdown-source-view.mod-cm6 .cm-formatting-list-ol { white-space: pre; } a { --font-weight: var(--link-weight); color: var(--link-color); font-weight: var(--link-weight); outline: none; text-decoration-line: var(--link-decoration); text-decoration-thickness: var(--link-decoration-thickness); cursor: var(--cursor-link); transition: opacity var(--anim-duration-fast) ease-in-out; } @media (hover: hover) { a:hover { color: var(--link-color-hover); text-decoration-line: var(--link-decoration-hover); } } a.mobile-tap { opacity: 0.5; } .external-link { color: var(--link-external-color); text-decoration-line: var(--link-external-decoration); background-position: center right; background-repeat: no-repeat; background-image: linear-gradient(transparent, transparent), url(public/images/6155340132a851f6089e.svg); background-size: 0.825em; padding-inline-end: 0.9em; background-position-y: 0.25em; cursor: var(--cursor-link); filter: var(--link-external-filter); transition: opacity var(--anim-duration-fast) ease-in-out; } @media (hover: hover) { .external-link:hover { color: var(--link-external-color-hover); text-decoration-line: var(--link-external-decoration-hover); } } .external-link.mobile-tap { opacity: 0.5; } @supports selector(:dir(rtl)) { :dir(rtl) .external-link { background-position: center left; background-image: linear-gradient(transparent, transparent), url(public/images/2308ab1944a6bfa5c5b8.svg); background-repeat: no-repeat; } } .metadata-property-value .internal-link, .markdown-rendered .internal-link { cursor: var(--cursor-link); text-decoration-line: var(--link-decoration); color: var(--link-color); transition: opacity var(--anim-duration-fast) ease-in-out; } @media (hover: hover) { .metadata-property-value .internal-link:hover, .markdown-rendered .internal-link:hover { color: var(--link-color-hover); text-decoration-line: var(--link-decoration-hover); } } .metadata-property-value .internal-link.mobile-tap, .markdown-rendered .internal-link.mobile-tap { opacity: 0.5; } .metadata-property-value .internal-link.is-unresolved, .markdown-rendered .internal-link.is-unresolved { color: var(--link-unresolved-color); opacity: var(--link-unresolved-opacity); filter: var(--link-unresolved-filter); text-decoration-style: var(--link-unresolved-decoration-style); text-decoration-color: var(--link-unresolved-decoration-color); } @media (hover: hover) { .metadata-property-value .internal-link.is-unresolved:hover, .markdown-rendered .internal-link.is-unresolved:hover { opacity: 1; color: var(--link-color-hover); text-decoration-color: var(--link-color-hover); text-decoration-line: var(--link-decoration-hover); } } .cm-s-obsidian span.cm-hmd-internal-link { --font-weight: var(--link-weight); color: var(--link-color); font-weight: var(--link-weight); } @media (hover: hover) { .cm-s-obsidian span.cm-hmd-internal-link:hover { text-decoration-line: var(--link-decoration-hover); color: var(--link-color-hover); } } .cm-s-obsidian span.cm-link { color: var(--link-external-color); word-break: break-word; } .cm-s-obsidian span.cm-link a { color: var(--link-external-color); } @media (hover: hover) { .cm-s-obsidian span.cm-link:hover { color: var(--link-external-color-hover); text-decoration-line: var(--link-external-decoration-hover); } } .cm-s-obsidian span.cm-formatting-link.cm-url, .cm-s-obsidian span.cm-url { color: var(--link-external-color); font-weight: var(--link-weight); text-decoration-line: var(--link-external-decoration); filter: var(--link-external-filter); word-break: break-all; } @media (hover: hover) { .cm-s-obsidian span.cm-formatting-link.cm-url:hover, .cm-s-obsidian span.cm-url:hover { color: var(--link-external-color-hover); text-decoration-line: var(--link-external-decoration-hover); } } .cm-s-obsidian span.cm-footref.cm-inline-footnote.cm-formatting-inline-footnote, .cm-s-obsidian span.cm-footref.cm-hmd-barelink.cm-formatting, .cm-s-obsidian span.cm-formatting-image, .cm-s-obsidian span.cm-formatting-link-string, .cm-s-obsidian span.cm-formatting-link { color: var(--text-faint); } .cm-s-obsidian span.hmd-link-icon { width: 20px; height: 16px; display: inline-block; vertical-align: middle; opacity: 0.4; } @media (hover: hover) { .cm-s-obsidian span.hmd-link-icon:hover { opacity: 1; } } .cm-s-obsidian span.hmd-link-icon:after { content: ""; } .markdown-source-view.mod-cm6 .is-unresolved { color: var(--link-unresolved-color); opacity: var(--link-unresolved-opacity); filter: var(--link-unresolved-filter); } @media (hover: hover) { .markdown-source-view.mod-cm6 .is-unresolved:hover { opacity: 1; color: var(--link-color-hover); text-decoration-color: var(--link-color-hover); } } .markdown-source-view.mod-cm6 .is-unresolved .cm-underline { text-decoration-line: var(--link-decoration); text-decoration-style: var(--link-unresolved-decoration-style); text-decoration-color: var(--link-unresolved-decoration-color); color: var(--link-unresolved-color); } .markdown-source-view.mod-cm6 .cm-underline { text-decoration-line: var(--link-decoration); text-decoration-thickness: var(--link-decoration-thickness); } body.is-mobile .markdown-source-view.mod-cm6 .cm-underline { -webkit-user-select: text; } .markdown-source-view.mod-cm6.is-live-preview .cm-hashtag.cm-meta, .markdown-source-view.mod-cm6 .cm-hmd-internal-link .cm-underline, .markdown-source-view.mod-cm6 .cm-link .cm-underline, .markdown-source-view.mod-cm6 .cm-url .cm-underline { cursor: var(--cursor-link); } @media (hover: hover) { .markdown-source-view.mod-cm6 .cm-hmd-internal-link .cm-underline:hover { text-decoration-line: var(--link-decoration-hover); } } .markdown-source-view.mod-cm6 .cm-link .cm-underline, .markdown-source-view.mod-cm6 .cm-url .cm-underline { color: var(--link-external-color); text-decoration-line: var(--link-external-decoration); } @media (hover: hover) { .markdown-source-view.mod-cm6 .cm-link .cm-underline:hover, .markdown-source-view.mod-cm6 .cm-url .cm-underline:hover { color: var(--link-external-color-hover); text-decoration-line: var(--link-external-decoration-hover); } } .cm-s-obsidian.HyperMD-with-alt span.cm-url, .cm-s-obsidian.HyperMD-with-alt span.cm-link, .cm-s-obsidian.HyperMD-with-alt span.cm-hashtag, .cm-s-obsidian.HyperMD-with-ctrl span.cm-url, .cm-s-obsidian.HyperMD-with-ctrl span.cm-link, .cm-s-obsidian.HyperMD-with-ctrl span.cm-hashtag { cursor: var(--cursor-link); } .inline-block { display: inline-block; vertical-align: middle; } .hidden-token { display: inline; font-size: 1px !important; letter-spacing: -1ch; font-family: monospace; color: transparent; } .cm-s-obsidian { /* tooltip for addon/hover */ /* gutter for addon/click */ /* addon/fold */ /* addon/fold-emoji */ } .cm-s-obsidian span.hmd-hidden-token.cm-formatting-em, .cm-s-obsidian span.hmd-hidden-token.cm-formatting-strong, .cm-s-obsidian span.hmd-hidden-token.cm-formatting-strikethrough, .cm-s-obsidian span.hmd-hidden-token.cm-formatting-code, .cm-s-obsidian span.hmd-hidden-token.cm-formatting-link { display: inline; font-size: 1px !important; letter-spacing: -1ch; font-family: monospace; color: transparent; } .cm-s-obsidian div.HyperMD-hover > .HyperMD-hover-content { background-color: #fff; color: #000; border: 1px solid #000; padding: 0.5em; } .cm-s-obsidian div.HyperMD-hover > .HyperMD-hover-content p { margin: 0.2em 0; } .cm-s-obsidian .HyperMD-goback { width: 1px; } .cm-s-obsidian div.HyperMD-goback-button { background-color: #ddd; color: #333; text-align: center; cursor: var(--cursor); } .cm-s-obsidian .hmd-link-icon:after { content: "🔗»"; color: #009; text-shadow: 0 0 2px #69F; } .cm-s-obsidian img.hmd-emoji { height: 1.2em; vertical-align: middle; } .cm-s-obsidian { line-height: var(--line-height-normal); } .cm-s-obsidian .hmd-fold-html-stub, .cm-s-obsidian .hmd-fold-code-stub, .cm-s-obsidian .cm-inline-code, .cm-s-obsidian .HyperMD-codeblock, .cm-s-obsidian .HyperMD-hr, .cm-s-obsidian .cm-hmd-frontmatter, .cm-s-obsidian .cm-hmd-orgmode-markup, .cm-s-obsidian .cm-formatting-code, .cm-s-obsidian .cm-math, .cm-s-obsidian span.hmd-fold-math-placeholder, .cm-s-obsidian .hmd-fold-html kbd { font-family: var(--font-monospace); } .cm-s-obsidian span.cm-hmd-toc { font-size: 24pt; color: #999; } .cm-s-obsidian .HyperMD-header-line { color: var(--text-muted); } .cm-s-obsidian span.cm-hmd-escape-backslash { color: var(--text-faint); } .cm-s-obsidian span.cm-footref, .cm-s-obsidian span.cm-blockid { position: relative; font-size: var(--font-smallest); vertical-align: text-top; top: -0.2em; } .cm-s-obsidian span.cm-footref.cm-hmd-barelink, .cm-s-obsidian span.cm-blockid { color: var(--text-muted); } .cm-s-obsidian .hmd-file-uploading { outline: 2px dashed #CCC; outline-offset: -2px; animation: hmd-file-uploading-ani 1.5s linear infinite; } .cm-s-obsidian .hmd-file-uploaded { outline: 2px solid #6C3; outline-offset: -2px; } .cm-s-obsidian .HyperMD-goback { width: 1px; } .cm-s-obsidian div.HyperMD-goback-button { padding-right: 15px; border-radius: 0 10px 10px 0; display: inline-block; text-align: center; background-color: #8daed9; color: #f7f7f7; cursor: var(--cursor); } .cm-s-obsidian .hmd-fold-code-image { text-align: center; } .cm-s-obsidian .HyperMD-header, .cm-s-obsidian .HyperMD-footnote, .cm-s-obsidian .HyperMD-codeblock, .cm-s-obsidian .HyperMD-hr { clear: left; } .cm-s-obsidian .cm-s-obsidian span.hmd-hidden-token.cm-formatting-task { color: transparent !important; } .cm-s-obsidian .hmd-inactive-line span.cm-hmd-escape-backslash, .cm-s-obsidian .hmd-inactive-line span.cm-formatting-header { font-size: 0 !important; display: inline; } .cm-s-obsidian .hmd-inactive-line span.cm-hmd-list-indent { border-right: 0; } @keyframes hmd-file-uploading-ani { 0%, 100% { opacity: 0.4; } 50% { opacity: 0.7; } } @media (hover: hover) { .cm-s-obsidian div.HyperMD-goback-button:hover { color: transparent; text-align: left; } .cm-s-obsidian div.HyperMD-goback-button:hover:before { position: absolute; padding-left: 5px; content: "Back"; color: #f7f7f7; } } mjx-container { outline: none; } .cm-s-obsidian { /* addon/fold-math */ } .cm-s-obsidian .hmd-fold-math { display: inline-block; vertical-align: middle; } .cm-s-obsidian .hmd-fold-math.hmd-fold-math.math-2 { width: 100%; } .cm-s-obsidian span.cm-math, .cm-s-obsidian span.hmd-fold-math-placeholder { font-size: var(--code-size); font-style: italic; } .cm-s-obsidian span.cm-formatting-math { color: var(--text-accent); font-weight: inherit; } .cm-s-obsidian span.cm-math-2 { font-size: 13.2pt; } .markdown-source-view.mod-cm6 .math-block > mjx-container { margin: 0; padding: 1em 0; overflow-x: auto; } /* Tables */ .markdown-rendered table { margin-block-start: var(--p-spacing); margin-block-end: var(--p-spacing); word-break: normal; } .cm-html-embed table, .markdown-rendered table { border-collapse: collapse; line-height: var(--table-line-height); } .cm-html-embed td, .markdown-rendered td, .cm-html-embed th, .markdown-rendered th { padding: var(--size-2-2) var(--size-4-2); border: var(--table-border-width) solid var(--table-border-color); max-width: var(--table-column-max-width); min-width: var(--table-column-min-width); vertical-align: var(--table-cell-vertical-alignment); } .cm-html-embed td, .markdown-rendered td { font-size: var(--table-text-size); color: var(--table-text-color); } .cm-html-embed th, .markdown-rendered th { font-size: var(--table-header-size); font-weight: var(--table-header-weight); color: var(--table-header-color); font-family: var(--table-header-font); line-height: var(--line-height-tight); } .cm-html-embed th, .markdown-rendered th, .cm-html-embed td, .markdown-rendered td { text-align: start; } .cm-html-embed th[align="left"], .markdown-rendered th[align="left"], .cm-html-embed td[align="left"], .markdown-rendered td[align="left"] { text-align: start; } .cm-html-embed th[align="center"], .markdown-rendered th[align="center"], .cm-html-embed td[align="center"], .markdown-rendered td[align="center"] { text-align: center; } .cm-html-embed th[align="right"], .markdown-rendered th[align="right"], .cm-html-embed td[align="right"], .markdown-rendered td[align="right"] { text-align: end; } .cm-html-embed thead > tr > th, .markdown-rendered thead > tr > th, .cm-html-embed tbody > tr > td, .markdown-rendered tbody > tr > td { white-space: var(--table-white-space); text-overflow: ellipsis; overflow: hidden; } .cm-html-embed thead > tr > th > .markdown-embed, .markdown-rendered thead > tr > th > .markdown-embed, .cm-html-embed tbody > tr > td > .markdown-embed, .markdown-rendered tbody > tr > td > .markdown-embed { white-space: normal; } .cm-html-embed tbody tr, .markdown-rendered tbody tr { background-color: var(--table-background); } @media (hover: hover) { .cm-html-embed tbody tr:hover, .markdown-rendered tbody tr:hover { background-color: var(--table-row-background-hover); } } .cm-html-embed tbody tr:nth-child(odd), .markdown-rendered tbody tr:nth-child(odd) { background-color: var(--table-row-alt-background); } @media (hover: hover) { .cm-html-embed tbody tr:nth-child(odd):hover, .markdown-rendered tbody tr:nth-child(odd):hover { background-color: var(--table-row-alt-background-hover); } } .cm-html-embed tbody tr > td:nth-child(2n+2), .markdown-rendered tbody tr > td:nth-child(2n+2) { background-color: var(--table-column-alt-background); } .cm-html-embed tbody tr:last-child > td, .markdown-rendered tbody tr:last-child > td { border-bottom-width: var(--table-row-last-border-width); } .cm-html-embed tbody tr > td:first-child, .markdown-rendered tbody tr > td:first-child { border-left-width: var(--table-column-first-border-width); } .cm-html-embed tbody tr > td:last-child, .markdown-rendered tbody tr > td:last-child { border-right-width: var(--table-column-last-border-width); } .cm-html-embed thead tr, .markdown-rendered thead tr { background-color: var(--table-header-background); } @media (hover: hover) { .cm-html-embed thead tr:hover, .markdown-rendered thead tr:hover { background-color: var(--table-header-background-hover); } } .cm-html-embed thead tr > th, .markdown-rendered thead tr > th { border-top-width: var(--table-header-border-width); border-color: var(--table-header-border-color); } .cm-html-embed thead tr > th:nth-child(2n+2), .markdown-rendered thead tr > th:nth-child(2n+2) { background-color: var(--table-column-alt-background); } .cm-html-embed thead tr > th:first-child, .markdown-rendered thead tr > th:first-child { border-left-width: var(--table-column-first-border-width); } .cm-html-embed thead tr > th:last-child, .markdown-rendered thead tr > th:last-child { border-right-width: var(--table-column-last-border-width); } .cm-s-obsidian .HyperMD-table-row { white-space: pre; word-break: normal; overflow-wrap: normal; font-size: var(--code-size); font-family: var(--font-monospace); } .cm-s-obsidian .HyperMD-table-row span.cm-inline-code { --code-size: 1em; } .cm-s-obsidian .HyperMD-table-rtl { direction: rtl; } .cm-s-obsidian .hmd-table-column, .cm-s-obsidian .hmd-table-column-content { display: inline-block; } .cm-s-obsidian .hmd-table-column-left { text-align: left; } .cm-s-obsidian .hmd-table-column-center { text-align: center; } .cm-s-obsidian .hmd-table-column-right { text-align: right; } .cm-s-obsidian .HyperMD-table-row span.cm-hmd-table-sep, .cm-s-obsidian .HyperMD-table-row-1 { color: var(--text-faint); } .cm-s-obsidian .HyperMD-table-row-0 { color: var(--table-header-color); } .cm-s-obsidian .hmd-fold-html table { border-collapse: collapse; } .cm-s-obsidian .hmd-fold-html table td, .cm-s-obsidian .hmd-fold-html table th { padding: 10px; border: 1px solid #ccc; } .cm-s-obsidian .hmd-inactive-line.HyperMD-table-row-1 { color: transparent; text-shadow: none; } .cm-s-obsidian .hmd-inactive-line.HyperMD-table-row-1 > span { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAQAAAAziH6sAAAADklEQVR42mOc+Z9x5n8ACTkDM4ikM1IAAAAASUVORK5CYII=) repeat-x 0px center; } .cm-s-obsidian .hmd-inactive-line.HyperMD-table-row span.cm-hmd-table-sep { color: transparent; } .markdown-source-view.mod-cm6 .cm-line.HyperMD-table-row { min-width: max-content; } .markdown-source-view.mod-cm6 .cm-table-widget table { margin-top: 0; margin-bottom: 0; } .table-drag-target { position: absolute; z-index: 2; } .table-drag-target::after { content: ""; position: absolute; inset: 0; border-radius: 2px; background-color: var(--interactive-accent); } .table-drag-target.mod-row::after { inset-block: calc(-1 * var(--table-drop-indicator-half-width)); } .table-drag-target.mod-col::after { inset-inline: calc(-1 * var(--table-drop-indicator-half-width)); } a.tag { background-color: var(--tag-background); border: var(--tag-border-width) solid var(--tag-border-color); border-radius: var(--tag-radius); color: var(--tag-color); font-size: var(--tag-size); font-weight: var(--tag-weight); text-decoration: var(--tag-decoration); padding: var(--tag-padding-y) var(--tag-padding-x); line-height: 1; } @media (hover: hover) { a.tag:hover { background-color: var(--tag-background-hover); border: var(--tag-border-width) solid var(--tag-border-color-hover); color: var(--tag-color-hover); text-decoration: var(--tag-decoration-hover); } } a.tag { background-color: var(--tag-background); border: var(--tag-border-width) solid var(--tag-border-color); border-radius: var(--tag-radius); color: var(--tag-color); font-size: var(--tag-size); font-weight: var(--tag-weight); text-decoration: var(--tag-decoration); padding: var(--tag-padding-y) var(--tag-padding-x); line-height: 1; } @media (hover: hover) { a.tag:hover { background-color: var(--tag-background-hover); border: var(--tag-border-width) solid var(--tag-border-color-hover); color: var(--tag-color-hover); text-decoration: var(--tag-decoration-hover); } } .cm-hashtag { color: var(--tag-color); background-color: var(--tag-background); border: var(--tag-border-width) solid var(--tag-border-color); font-size: var(--tag-size); font-weight: var(--tag-weight); vertical-align: baseline; border-inline-start: none; border-inline-end: none; padding-top: var(--tag-padding-y); padding-bottom: var(--tag-padding-y); } .cm-hashtag.cm-hashtag-begin { border-start-start-radius: var(--tag-radius); border-end-start-radius: var(--tag-radius); border-inline-end: none; border-inline-start: var(--tag-border-width) solid var(--tag-border-color); padding-inline-start: var(--tag-padding-x); } .cm-hashtag.cm-hashtag-end { border-start-end-radius: var(--tag-radius); border-end-end-radius: var(--tag-radius); border-inline-start: none; border-inline-end: var(--tag-border-width) solid var(--tag-border-color); padding-inline-end: var(--tag-padding-x); } .cm-s-obsidian span.cm-hashtag.cm-hmd-escape-backslash { color: #FCC; } input[type=checkbox] { -webkit-appearance: none; appearance: none; border-radius: var(--checkbox-radius); border: 1px solid var(--checkbox-border-color); flex-shrink: 0; padding: 0; margin: 0; margin-inline-end: 6px; width: var(--checkbox-size); height: var(--checkbox-size); position: relative; transition: box-shadow 0.15s ease-in-out; } input[type=checkbox][disabled=true] { pointer-events: none; } input[type=checkbox]:hover, input[type=checkbox]:active, input[type=checkbox]:focus { outline: 0; border-color: var(--checkbox-border-color-hover); } input[type=checkbox]:focus-visible { box-shadow: 0 0 0 2px var(--background-modifier-border-focus); } input[type=checkbox]:checked:after { content: ""; top: -1px; inset-inline-start: -1px; position: absolute; width: var(--checkbox-size); height: var(--checkbox-size); display: block; background-color: var(--checkbox-marker-color); -webkit-mask-position: 52% 52%; -webkit-mask-size: 65%; -webkit-mask-repeat: no-repeat; -webkit-mask-image: url("data:image/svg+xml; utf8, "); } input[type=checkbox]:checked { background-color: var(--checkbox-color); border-color: var(--checkbox-color); } @media (hover: hover) { input[type=checkbox]:checked:hover { background-color: var(--checkbox-color-hover); border-color: var(--checkbox-color-hover); } } input[type=checkbox][data-indeterminate="true"]:not(:checked):after { content: ""; position: absolute; top: calc(var(--checkbox-size) / 2 - 2px); width: calc(var(--checkbox-size) - 6px); left: 0; right: 0; margin: 0 auto; height: 2px; display: block; border-radius: 2px; background-color: var(--text-normal); } .task-list-item-checkbox { width: var(--checkbox-size); height: var(--checkbox-size); } .markdown-preview-view .task-list-item-checkbox { position: relative; top: 0.2em; margin-inline-end: 0.6em; } ul > li.task-list-item { list-style: none; } ul > li.task-list-item > p > .task-list-item-checkbox, ul > li.task-list-item > .task-list-item-checkbox { margin-inline-start: calc(var(--checkbox-size) * -1.5); } ul > li.task-list-item[data-task="x"], ul > li.task-list-item[data-task="X"] { text-decoration: var(--checklist-done-decoration); color: var(--checklist-done-color); } .cm-s-obsidian span.cm-formatting-task { white-space: pre; height: 1em; line-height: 1em; min-width: 1em; text-align: center; color: var(--text-muted); background-size: 1em; font-family: var(--font-monospace); } .cm-s-obsidian span.hmd-hidden-token.cm-formatting-task { color: transparent !important; } .markdown-source-view.mod-cm6 .task-list-label { padding: 0; margin-inline-start: -0.25em; } .markdown-source-view.mod-cm6 .task-list-label .task-list-item-checkbox { top: -0.1em; vertical-align: middle; margin-inline-start: var(--checkbox-margin-inline-start); margin-inline-end: 0.25em; } .markdown-source-view.mod-cm6 .cm-formatting-list-ol > .task-list-label .task-list-item-checkbox { margin-inline-start: 2px; } .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="x"], .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task="X"] { text-decoration: var(--checklist-done-decoration); color: var(--checklist-done-color); } b, strong { font-weight: calc(var(--font-weight) + var(--bold-modifier)); color: var(--bold-color); } b a, strong a { font-weight: calc(var(--link-weight) + var(--bold-modifier)); } i, em { font-style: italic; color: var(--italic-color); } .markdown-rendered { /* Highlights */ } .markdown-rendered p { margin-block-start: var(--p-spacing); margin-block-end: var(--p-spacing); unicode-bidi: plaintext; } .markdown-rendered mark { background-color: var(--text-highlight-bg); color: var(--text-normal); } .markdown-rendered mark .internal-link { color: var(--text-normal); } .cm-s-obsidian span.cm-formatting-highlight, .cm-s-obsidian span.cm-highlight { background-color: var(--text-highlight-bg); color: var(--text-normal); } .cm-strong { font-weight: calc(var(--font-weight) + var(--bold-modifier)); color: var(--bold-color); } .cm-strong a { font-weight: calc(var(--link-weight) + var(--bold-modifier)); } .cm-em { font-style: italic; color: var(--italic-color); font-weight: var(--italic-weight); } .cm-strong.cm-em { font-weight: calc(var(--font-weight) + var(--bold-modifier)); } .cm-s-obsidian span.cm-error { color: var(--text-error); } .outgoing-link-pane { padding-top: var(--size-4-3); } .backlink-pane { padding-top: var(--size-4-1); } .backlink-pane, .outgoing-link-pane { overflow-y: auto; flex: 1 0 0; padding-inline-start: var(--size-4-3); padding-inline-end: var(--size-4-3); padding-bottom: max(var(--safe-area-inset-bottom), var(--size-4-8)); /* #todo This should be removed and make the DOM changes instead Section headers for linked/unlinked mentions */ } .backlink-pane .search-result-container, .outgoing-link-pane .search-result-container { padding: var(--size-4-1) 1px var(--size-4-4); } .backlink-pane > .tree-item-self, .outgoing-link-pane > .tree-item-self { color: var(--nav-heading-color); padding-inline-start: var(--size-4-2); } .backlink-pane > .tree-item-self .tree-item-inner, .outgoing-link-pane > .tree-item-self .tree-item-inner { font-weight: var(--nav-heading-weight); } .backlink-pane > .tree-item-self.is-clickable.is-collapsed, .outgoing-link-pane > .tree-item-self.is-clickable.is-collapsed { color: var(--nav-heading-color-collapsed); } @media (hover: hover) { .backlink-pane > .tree-item-self.is-clickable.is-collapsed:hover, .outgoing-link-pane > .tree-item-self.is-clickable.is-collapsed:hover { color: var(--nav-heading-color-collapsed-hover); } } .backlink-pane > .tree-item-self .collapse-icon, .outgoing-link-pane > .tree-item-self .collapse-icon { display: none; } @media (hover: hover) { .backlink-pane > .tree-item-self:hover, .outgoing-link-pane > .tree-item-self:hover { color: var(--nav-heading-color-hover); font-weight: var(--nav-heading-weight-hover); } } /* Backlinks in Preview */ .embedded-backlinks { border-top: 1px solid var(--background-modifier-border); } .markdown-preview-view .embedded-backlinks { margin-top: 3em; } .embedded-backlinks .backlink-pane { padding: 0; } .embedded-backlinks .backlink-pane .search-empty-state, .embedded-backlinks .backlink-pane .tree-item-self { /* Use quotes because Less overrides CSS math */ font-size: max(var(--font-ui-small),var(--font-smaller)); align-items: center; } .embedded-backlinks .backlink-pane > .tree-item-self { font-size: max(var(--font-ui-small),1em); width: fit-content; } .embedded-backlinks .backlink-pane > .tree-item-self .tree-item-inner { margin-inline-end: var(--size-2-3); } .embedded-backlinks .backlink-pane .tree-item-flair { font-size: max(var(--font-ui-small),var(--font-smallest)); } .embedded-backlinks .nav-header { padding: var(--size-4-3) 0 0 0; position: relative; } .embedded-backlinks .nav-header > .search-input-container { width: calc(100% - 150px); margin: 0 0 var(--size-4-3) 0; } .embedded-backlinks .nav-buttons-container { position: absolute; inset-inline-end: 0; top: var(--size-4-3); z-index: 1; } /* .base files */ .workspace-leaf-content[data-type="bases"] { --bases-table-container-border-width: 0; --bases-table-container-border-radius: 0; --bases-table-cell-edge-padding: var(--size-4-1); --bases-view-padding: 0 0 60px; } .workspace-leaf-content[data-type="bases"] .bases-header { --bases-header-padding-start: var(--size-4-2); --bases-header-padding-end: var(--size-4-2); } .workspace-leaf-content[data-type="bases"] .view-content { padding: 0; display: flex; flex-direction: column; overflow: hidden; } .bases-view { overflow: auto; flex-grow: 1; padding: var(--bases-view-padding); scrollbar-gutter: stable; } .bases-error { padding: 0 var(--size-4-2); color: var(--text-warning); font-size: var(--font-ui-small); text-align: center; } .bases-error .formula-preview { background-color: var(--background-secondary); padding: var(--size-4-2); } .bases-formula-error { display: flex; align-items: center; font-size: var(--font-ui-smaller); color: var(--text-error); text-decoration: underline; text-underline-offset: 2px; text-decoration-style: dotted; overflow: hidden; } .bases-formula-error .warning-icon { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); color: rgba(var(--background-modifier-error-rgb), 0.6); display: flex; align-items: center; margin-inline-end: var(--size-4-1); } .bases-formula-error .bases-formula-error-message { overflow: hidden; text-overflow: ellipsis; } /* Embedded bases */ .block-language-base, .bases-embed { cursor: var(--cursor); } .app-container .block-language-base, .app-container .bases-embed { --bases-header-border-width: 0; } .workspace-leaf-content[data-type="markdown"] .block-language-base .bases-view, .workspace-leaf-content[data-type="markdown"] .bases-embed .bases-view { border: var(--bases-embed-border-width) solid var(--bases-embed-border-color); border-radius: var(--bases-embed-border-radius); padding: var(--bases-embed-padding); overflow-x: auto; } .workspace-leaf-content[data-type="markdown"] .block-language-base .bases-view:empty, .workspace-leaf-content[data-type="markdown"] .bases-embed .bases-view:empty { display: none; } /* Bases in Live Preview */ .markdown-source-view.mod-cm6 .cm-content > .bases-embed, .markdown-source-view.mod-cm6 .cm-content > .cm-lang-base { --bases-header-padding-end: calc(var(--icon-m) + var(--size-4-4)); } .markdown-source-view.mod-cm6 .cm-content > .bases-embed .edit-block-button, .markdown-source-view.mod-cm6 .cm-content > .cm-lang-base .edit-block-button { opacity: 1; top: calc(var(--bases-header-height) / 2 - var(--icon-m) / 2 - var(--size-2-2)); } /* Bases in popovers */ .hover-popover > .bases-embed { --bases-table-cell-edge-padding: var(--size-4-1); --bases-embed-border-width: 0; --bases-embed-border-radius: 0; max-height: var(--popover-height); } .hover-popover > .bases-embed .bases-view { overflow: auto; max-height: calc(var(--popover-height) - var(--bases-header-height)); } .hover-popover > .bases-embed .bases-header { --bases-header-padding-start: var(--size-4-2); --bases-header-padding-end: var(--size-4-2); } /* Bases embedded in Canvas */ .canvas-node .bases-embed { --bases-embed-border-width: 0; --bases-embed-border-radius: 0; --bases-header-border-width: 0 0 1px 0; } .canvas-node-content.bases-embed { width: 100%; height: 100%; padding: 0; display: flex; flex-direction: column; overflow: hidden; } /* Rendered values */ .bases-rendered-value { --input-border-width: 0; padding: var(--input-padding); font-size: var(--bases-table-font-size); text-overflow: ellipsis; overflow: hidden; } .bases-rendered-value input { background: transparent; padding: 0; } .bases-rendered-value input[disabled=true] { pointer-events: none; min-height: 0; } .bases-rendered-value input[disabled=true][type=date], .bases-rendered-value input[disabled=true][type=datetime-local] { width: auto; } .bases-rendered-value img { width: auto; max-height: 100%; } .bases-group-heading { --link-color: var(--bases-group-heading-value-color); --link-unresolved-color: var(--bases-group-heading-value-color); --link-unresolved-opacity: 1; --link-decoration: none; --link-weight: var(--bases-group-heading-value-weight); --link-color-hover: var(--bases-group-heading-value-color); display: flex; align-items: baseline; line-height: var(--bases-table-row-height); gap: var(--size-4-1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; } .bases-group-heading .bases-group-property { font-size: var(--bases-group-heading-property-size); font-weight: var(--bases-group-heading-property-weight); color: var(--bases-group-heading-property-color); display: var(--bases-group-heading-property-display); } .bases-group-heading .bases-group-value { font-size: var(--bases-group-heading-value-size); font-weight: var(--bases-group-heading-value-weight); overflow: hidden; text-overflow: ellipsis; } /* Bases header and toolbar */ .bases-header { container-type: inline-size; container-name: bases-header; display: flex; align-items: center; padding-top: 0; padding-bottom: 0; padding-inline-start: var(--bases-header-padding-start); padding-inline-end: var(--bases-header-padding-end); border-width: var(--bases-header-border-width); border-color: var(--bases-table-border-color); height: var(--bases-header-height); min-height: var(--bases-header-height); border-style: solid; } .bases-header .title { color: var(--h2-color); font-size: var(--h2-size); } @container (width < 460px) { .bases-header .bases-toolbar-item:not(.bases-toolbar-result-count) { --bases-toolbar-label-display: none; --bases-toolbar-badge-display: none; } } .bases-toolbar-menu-container-header { display: flex; padding: var(--size-4-1); } .bases-toolbar-menu-container-header .menu-title, .bases-toolbar-menu-container-header .back-button { display: flex; flex-grow: 1; align-items: center; font-weight: var(--font-medium); font-size: var(--font-ui-small); padding: var(--size-2-2) var(--size-2-2); gap: var(--size-4-1); border-radius: var(--radius-s); overflow: hidden; } .bases-toolbar-menu-container-header .menu-title-inner { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } @media (hover: hover) { .bases-toolbar-menu-container-header .back-button:hover { background-color: var(--background-modifier-hover); } } .bases-toolbar-menu-container-header .back-button .back-label { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .bases-toolbar-menu-container-header .back-icon, .bases-toolbar-menu-container-header .close-icon { display: flex; align-items: center; justify-content: center; color: var(--text-muted); } .bases-toolbar-menu-container-header .close-icon { padding: var(--size-2-2); } .bases-toolbar-menu-container-header .close-icon:hover { color: var(--text-normal); } body:not(.is-phone) .base-toolbar-sort-item, body:not(.is-phone) .base-toolbar-groupby-item { --metadata-property-box-shadow: 0 0 0 1px var(--background-modifier-border-hover); } /* Toolbar */ .bases-toolbar { align-items: center; position: relative; display: flex; column-gap: var(--size-2-2); width: 100%; } .bases-toolbar .text-icon-button { margin: 2px; } .bases-toolbar .bases-toolbar-item { margin: 0 -2px; display: flex; } .bases-toolbar .bases-toolbar-item:not(.bases-toolbar-views-menu,.bases-toolbar-result-count) .text-button-label { display: var(--bases-toolbar-label-display); } .bases-toolbar .bases-toolbar-result-count { color: var(--text-muted); user-select: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-inline-end: auto; } .bases-toolbar .bases-toolbar-result-count .text-button-icon { display: none; } .bases-toolbar .bases-toolbar-result-count .text-button-label { font-size: var(--font-ui-smaller); unicode-bidi: plaintext; } .bases-toolbar .bases-toolbar-result-count .text-icon-button.is-active { color: var(--icon-color-active); } .bases-toolbar .bases-toolbar-item.bases-toolbar-views-menu { overflow: hidden; display: flex; } .bases-toolbar .bases-toolbar-item.bases-toolbar-views-menu .text-icon-button { --icon-color-hover: var(--text-normal); color: var(--text-normal); } .bases-toolbar .bases-toolbar-item.bases-toolbar-views-menu .text-icon-button .mod-aux { margin-inline-start: auto; } .bases-toolbar .toolbar-badge { --flair-background: transparent; padding: 0; color: inherit; opacity: 0.61; display: var(--bases-toolbar-badge-display); padding-inline-end: var(--size-2-1); font-size: var(--font-ui-smaller); } .bases-toolbar .mod-error { --flair-background: var(--text-error); --flair-color: var(--text-on-accent); color: var(--text-error); } .bases-toolbar-menu-container { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); --bases-property-menu-item-radius: var(--radius-m); display: flex; flex-direction: column; min-height: 0; width: 100%; max-width: 300px; } .bases-toolbar-menu-container .search-input-container { --search-icon-color: var(--text-faint); margin-top: var(--size-4-1); padding-bottom: var(--size-2-1); border-bottom: var(--border-width) solid var(--background-modifier-border); } .bases-toolbar-menu-container .search-input-container input[type=search] { border: 0; box-shadow: none; background-color: transparent; } .bases-toolbar-items { display: flex; flex-direction: column; min-height: 0; } .bases-toolbar-items:empty { display: none; } .bases-toolbar-items .suggestion-group { display: flex; flex-direction: column; padding: var(--menu-padding); } .bases-toolbar-items .grip-handle { display: flex; align-items: center; align-self: center; color: var(--text-faint); cursor: grab; } .bases-toolbar-items .grip-handle:active { cursor: grabbing; } .bases-toolbar-items .grip-handle circle { fill: var(--text-faint); } .bases-toolbar-items .grip-handle:hover { color: var(--text-muted); } .bases-toolbar-items .grip-handle:hover circle { fill: var(--text-muted); } .bases-toolbar-items .suggestion-group[data-group="views"], .bases-toolbar-items .suggestion-group[data-group="properties"] { flex-shrink: 1; overflow-y: auto; padding-bottom: var(--size-2-3); } .bases-toolbar-items .suggestion-group[data-group="views"]:not(.mod-hidden) .bases-toolbar-menu-item-info-icon, .bases-toolbar-items .suggestion-group[data-group="properties"]:not(.mod-hidden) .bases-toolbar-menu-item-info-icon { cursor: grab; } .bases-toolbar-items .suggestion-group[data-group="views"]:not(.mod-hidden) .bases-toolbar-menu-item-info-icon:active, .bases-toolbar-items .suggestion-group[data-group="properties"]:not(.mod-hidden) .bases-toolbar-menu-item-info-icon:active { cursor: grabbing; } .bases-toolbar-items .suggestion-group[data-group="properties"] .bases-toolbar-menu-item { border-start-start-radius: var(--bases-property-menu-item-radius); border-end-start-radius: var(--bases-property-menu-item-radius); } .bases-toolbar-items .suggestion-group[data-group="actions"] { border-top: var(--border-width) solid var(--background-modifier-border); padding: var(--size-4-1); } .bases-toolbar-menu { --input-height: 28px; z-index: var(--layer-modal); min-width: 220px; max-width: 100vw; } .bases-toolbar-menu .modal-header { display: none; } .bases-toolbar-menu .menu-scroll { overflow-y: auto; padding: 0; } .bases-toolbar-menu.bases-toolbar-filter-menu { width: var(--bases-filter-menu-width); } .bases-toolbar-menu .bases-toolbar-section { padding: var(--size-2-1); } .bases-toolbar-menu .bases-toolbar-section:not(:last-child) { border-bottom: var(--border-width) solid var(--background-modifier-border); } .bases-toolbar-menu .bases-toolbar-section-header { --flair-background: var(--background-modifier-hover); --flair-color: var(--text-muted); display: flex; align-items: center; padding: var(--size-4-2) var(--size-4-3) var(--size-4-2) var(--size-4-3); color: var(--text-normal); font-weight: var(--font-medium); font-size: var(--font-ui-small); gap: var(--size-4-1); } .bases-toolbar-menu .bases-toolbar-section-header:hover { color: var(--text-normal); } .bases-toolbar-menu .bases-toolbar-section-header .flair { margin-inline-start: var(--size-4-1); } .bases-toolbar-menu .bases-sort-container .bases-toolbar-items, .bases-toolbar-menu .bases-groupby-container .bases-toolbar-items { gap: var(--size-2-3); padding: var(--size-4-1) 0 var(--size-4-2); } .bases-toolbar-menu .bases-sort-container .bases-toolbar-section-content, .bases-toolbar-menu .bases-groupby-container .bases-toolbar-section-content { padding: 0 var(--size-4-2); } .bases-toolbar-menu .bases-sort-container .bases-sort-property-container.mod-error, .bases-toolbar-menu .bases-groupby-container .bases-sort-property-container.mod-error, .bases-toolbar-menu .bases-sort-container .bases-groupby-property-container.mod-error, .bases-toolbar-menu .bases-groupby-container .bases-groupby-property-container.mod-error { box-shadow: 0 0 0 var(--border-width) var(--background-modifier-error); } .bases-toolbar-menu .bases-sort-container .bases-sort-property-container .bases-sort-property, .bases-toolbar-menu .bases-groupby-container .bases-sort-property-container .bases-sort-property, .bases-toolbar-menu .bases-sort-container .bases-groupby-property-container .bases-sort-property, .bases-toolbar-menu .bases-groupby-container .bases-groupby-property-container .bases-sort-property, .bases-toolbar-menu .bases-sort-container .bases-sort-property-container .bases-groupby-property, .bases-toolbar-menu .bases-groupby-container .bases-sort-property-container .bases-groupby-property, .bases-toolbar-menu .bases-sort-container .bases-groupby-property-container .bases-groupby-property, .bases-toolbar-menu .bases-groupby-container .bases-groupby-property-container .bases-groupby-property { flex-grow: 1; } .bases-toolbar-menu .bases-sort-container .bases-sort-property-container .bases-sort-direction, .bases-toolbar-menu .bases-groupby-container .bases-sort-property-container .bases-sort-direction, .bases-toolbar-menu .bases-sort-container .bases-groupby-property-container .bases-sort-direction, .bases-toolbar-menu .bases-groupby-container .bases-groupby-property-container .bases-sort-direction { min-width: 5.25em; border-left: 1px solid var(--background-modifier-border); padding-inline-start: var(--size-2-3); } .bases-toolbar-menu .bases-sort-container .bases-sort-property-container .bases-sort-direction .combobox-button-label, .bases-toolbar-menu .bases-groupby-container .bases-sort-property-container .bases-sort-direction .combobox-button-label, .bases-toolbar-menu .bases-sort-container .bases-groupby-property-container .bases-sort-direction .combobox-button-label, .bases-toolbar-menu .bases-groupby-container .bases-groupby-property-container .bases-sort-direction .combobox-button-label { margin-inline-end: 0; margin-inline-start: auto; } .bases-toolbar-menu .bases-sort-container .text-icon-button, .bases-toolbar-menu .bases-groupby-container .text-icon-button { width: 100%; margin-bottom: var(--size-4-2); } .base-toolbar-sort-item, .base-toolbar-groupby-item { --input-shadow: none; --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); --metadata-divider-width: 0px; --metadata-label-width: 7em; --metadata-property-background: var(--interactive-normal); display: flex; align-items: center; gap: var(--size-4-1); border-radius: var(--radius-s); background-color: var(--menu-background); } .base-toolbar-sort-item .combobox-button, .base-toolbar-groupby-item .combobox-button { box-shadow: none; border-radius: 0; } .base-toolbar-sort-item .combobox-button.has-focus, .base-toolbar-groupby-item .combobox-button.has-focus, .base-toolbar-sort-item .combobox-button:focus, .base-toolbar-groupby-item .combobox-button:focus, .base-toolbar-sort-item .combobox-button:hover, .base-toolbar-groupby-item .combobox-button:hover { box-shadow: none; } .base-toolbar-sort-item .metadata-property, .base-toolbar-groupby-item .metadata-property { flex: 1 1 auto; } .base-toolbar-sort-item .bases-sort-property, .base-toolbar-groupby-item .bases-sort-property, .base-toolbar-sort-item .filter-property-select, .base-toolbar-groupby-item .filter-property-select { max-width: 14em; } .bases-toolbar-menu-form { display: flex; flex-direction: column; gap: var(--size-4-2); padding: var(--size-4-1) var(--size-4-2) var(--size-4-2); font-size: var(--font-ui-small); overflow-y: auto; min-height: 0; } .bases-toolbar-menu-form.view-config-menu .formula-editor .cm-content { min-height: var(--input-height); } .bases-toolbar-menu-form .formula-editor { resize: both; overflow: auto; min-width: 100%; max-width: 260px; } .bases-toolbar-menu-form .formula-editor .cm-editor { height: 100%; } .bases-toolbar-menu-form .formula-editor .cm-content { min-height: calc(var(--input-height) * 3); } .bases-toolbar-menu-form .input-group-container { display: flex; flex-direction: column; gap: var(--size-4-2); } .bases-toolbar-menu-form .input-group-divider { margin-left: calc(var(--size-4-2) * -1); margin-right: calc(var(--size-4-2) * -1); border-top: 1px solid var(--background-modifier-border); width: calc(100% + var(--size-4-4)); } .bases-toolbar-menu-form .input-row + .input-group-divider { margin-top: var(--size-4-1); } .bases-toolbar-menu-form .input-group-header { align-items: center; display: flex; font-size: var(--font-ui-small); font-weight: var(--font-semibold); gap: var(--size-4-2); } .bases-toolbar-menu-form .input-group-content { display: flex; flex-direction: column; gap: var(--size-2-3); } .bases-toolbar-menu-form .input-row .input-row-label { color: var(--text-normal); padding: var(--size-2-2) var(--size-2-1); display: flex; align-items: center; gap: var(--size-2-1); } .bases-toolbar-menu-form .input-row .help-icon { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); color: var(--text-faint); padding: var(--size-2-1) var(--size-2-2); } .bases-toolbar-menu-form .input-row .input-row-content { width: 100%; display: flex; align-items: center; min-height: var(--input-height); } .bases-toolbar-menu-form .input-row .input-row-content .combobox-button, .bases-toolbar-menu-form .input-row .input-row-content button, .bases-toolbar-menu-form .input-row .input-row-content select, .bases-toolbar-menu-form .input-row .input-row-content textarea, .bases-toolbar-menu-form .input-row .input-row-content input { flex-grow: 1; } .bases-toolbar-menu-form .input-row .input-row-content .combobox-button.mod-error, .bases-toolbar-menu-form .input-row .input-row-content button.mod-error, .bases-toolbar-menu-form .input-row .input-row-content select.mod-error, .bases-toolbar-menu-form .input-row .input-row-content textarea.mod-error, .bases-toolbar-menu-form .input-row .input-row-content input.mod-error { box-shadow: 0 0 0 var(--border-width) var(--background-modifier-error); } .bases-toolbar-menu-form .input-row .formula-editor-status { display: flex; align-items: center; font-size: var(--font-ui-smaller); margin-top: var(--size-4-1); color: var(--text-success); } .bases-toolbar-menu-form .input-row .formula-editor-status .status-icon { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); display: flex; align-items: center; margin-right: var(--size-4-1); } .bases-toolbar-menu-form .input-row .formula-editor-status.mod-empty { color: var(--text-faint); } .bases-toolbar-menu-form .input-row .formula-editor-status.mod-error { color: var(--text-error); } .view-config-menu .formula-editor-status:not(.mod-error) { display: none; } .bases-toolbar-menu-actions { padding: 0 var(--size-4-1) var(--size-4-1); } .bases-toolbar-menu-item { display: flex; align-items: center; padding: var(--size-2-2) var(--size-2-2); padding-inline-start: var(--size-2-3); border-radius: var(--radius-s); gap: var(--size-4-2); width: 100%; } @media (hover: hover) { .bases-toolbar-menu-item:hover { background-color: var(--background-modifier-hover); } } .bases-toolbar-menu-item.mod-destructive { color: var(--text-error); } .bases-toolbar-menu-item.mod-hidden { --icon-color: var(--text-faint); color: var(--text-faint); } .bases-toolbar-menu-item.mod-hidden .bases-property-visibility-button { opacity: 1; } .bases-toolbar-menu-item .bases-property-visibility-button { --icon-size: var(--icon-s); opacity: 0; display: flex; align-items: center; } .bases-toolbar-menu-item.is-selected input[type=checkbox] { box-shadow: 0 0 0 2px var(--background-modifier-border-focus); } .bases-toolbar-menu-item.is-selected .bases-property-visibility-button { opacity: 1; color: var(--text-muted); } .bases-toolbar-menu-item .clickable-icon { margin: calc(var(--size-2-2) * -1); padding: var(--size-2-2); } .bases-toolbar-menu-item .clickable-icon:hover { color: var(--text-normal); } .bases-toolbar-menu-item.mod-active { --icon-color: var(--text-normal); font-weight: var(--font-medium); } .bases-toolbar-menu-item .bases-toolbar-menu-item-info { display: flex; align-items: center; gap: var(--size-4-2); font-size: var(--font-ui-small); flex-grow: 1; overflow: hidden; } .bases-toolbar-menu-item .bases-toolbar-menu-item-name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .bases-toolbar-menu-item:not(.mod-destructive) .bases-toolbar-menu-item-info-icon { color: var(--icon-color); } .bases-toolbar-menu-item:not(.mod-destructive) .bases-toolbar-menu-item-info-icon.mod-error { color: var(--text-error); } .bases-toolbar-menu-item .bases-toolbar-menu-item-info-icon { cursor: var(--cursor); display: flex; align-items: center; user-select: none; -webkit-user-select: none; } .bases-toolbar-menu-item .bases-toolbar-menu-item-info-icon:before { content: "\200B"; width: 0; } .bases-toolbar-menu-item .bases-toolbar-menu-action-icon { color: var(--text-muted); display: flex; align-items: center; justify-content: center; } /* Menu: Filter */ .bases-query-container { padding: var(--size-4-2); } .bases-query-container .filter-group { gap: var(--size-2-3); display: flex; flex-direction: column; width: 100%; } .bases-query-container .filter-group .filter-group-statements { width: 100%; gap: var(--size-2-3); display: flex; flex-direction: column; } .bases-query-container .filter-group .filter-group { background-color: var(--background-primary-alt); border: var(--table-border-width) solid var(--table-border-color); padding: var(--size-2-3); border-radius: var(--radius-m); } .bases-query-container .filter-group .filter-group-actions { padding-top: var(--size-2-2); display: flex; } .bases-query-container .filter-group .filter-group-header-actions { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); display: flex; } .bases-query-container .filter-group .filter-group-header { display: flex; align-items: center; justify-content: space-between; padding-bottom: var(--size-2-1); } .bases-query-container .filter-group .filter-group-header .conjunction.dropdown { padding-top: 0; background-color: transparent; font-size: var(--font-ui-small); box-shadow: none; text-align: start; } .bases-query-container .filter-group .filter-group-header .conjunction.dropdown:hover { background-color: var(--background-modifier-hover); } .bases-query-container .filter-group .filter-group-header .filter-group-label { color: var(--text-muted); font-size: var(--font-ui-small); } .bases-query-container .filter-row { display: flex; align-items: center; gap: var(--size-4-2); } .bases-query-container .filter-row .filter-statement { display: flex; row-gap: var(--size-4-1); flex-grow: 1; flex-direction: column; } .bases-query-container .filter-row .filter-row-error { color: var(--text-error); font-size: var(--font-ui-smaller); } .bases-query-container .filter-row .conjunction { min-width: 4.5rem; font-size: var(--font-ui-small); text-align: end; } .bases-query-container .filter-row .formula-editor-container { font-size: var(--font-ui-small); } .bases-query-container .filter-row.mod-group > .conjunction { display: none; } .bases-query-container .filter-row .filter-property-select { width: 100%; } .bases-query-container .filter-row .filter-operator { border-width: 0 1px; max-width: 33%; align-self: stretch; height: auto; } .bases-query-container .filter-row .combobox-button { box-shadow: none; border-radius: 0; } .bases-query-container .filter-row .combobox-button.has-focus, .bases-query-container .filter-row .combobox-button:focus, .bases-query-container .filter-row .combobox-button:hover { box-shadow: none; } .bases-query-container .filter-expression { --input-shadow: none; --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); --metadata-divider-width: 0px; --metadata-label-width: 7em; --metadata-input-font-size: var(--font-ui-small); --metadata-property-box-shadow: 0 0 0 1px var(--background-modifier-border-hover); background-color: var(--interactive-normal); width: 100%; align-items: center; display: flex; } .bases-query-container .filter-expression.mod-error { box-shadow: 0 0 0 var(--border-width) var(--background-modifier-error); } .bases-query-container .filter-expression.mod-error .filer-expression-mode-toggle { --icon-color: var(--text-error); } .bases-query-container .filter-expression .filter-row-actions { display: flex; padding: var(--size-2-1); margin-inline-start: auto; height: var(--input-height); } .bases-query-container .filter-lhs-container { position: relative; } .bases-query-container .filter-lhs-container .metadata-property-warning-icon { top: var(--size-2-2); bottom: unset; } .bases-query-container .filter-rhs-container { display: flex; align-items: center; } .bases-query-container .filter-rhs-container .combobox-button { flex-grow: 1; } .bases-query-container .filter-rhs-container .metadata-input-longtext { font-family: inherit; outline: none; display: flex; align-items: center; word-break: break-word; } .bases-query-container .filter-rhs-container .metadata-link-inner { width: auto; } .bases-query-container .filter-rhs-container .metadata-link-flair { display: none; } .tooltip.bases-filter-query-message { animation: none; z-index: var(--layer-popover); } .hover-popover.bases-new-item-popover .metadata-container { display: var(--metadata-display-editing); } .bases-view[data-view-type="cards"] { --bases-view-padding: var(--size-4-3); --bases-embed-padding: var(--size-4-1) 1px; } .bases-cards-container { background-color: var(--bases-cards-container-background); position: relative; width: 100%; gap: var(--size-4-2); } .is-grouped .bases-cards-container .bases-group-heading { position: absolute; padding: var(--size-4-1) 0 var(--size-4-2); } .is-grouped .bases-cards-container .bases-cards-group { padding: 0 0 var(--size-4-4) 0; border-color: var(--background-modifier-border); border-width: 0 0 1px 0; border-style: solid; } .bases-cards-group { position: absolute; gap: var(--size-4-3); } .bases-cards-item { position: absolute; cursor: var(--cursor-link); user-select: none; border-radius: var(--radius-m); background-color: var(--bases-cards-background); box-shadow: var(--bases-cards-shadow); overflow: hidden; transition: box-shadow var(--anim-duration-fast) ease-in-out; contain: strict; padding: var(--size-4-2) 0 var(--size-2-1); gap: var(--size-4-2); --input-height: var(--bases-cards-line-height); } @media (hover: hover) { .bases-cards-item:hover { transition: box-shadow var(--anim-duration-fast) ease-in-out; box-shadow: var(--bases-cards-shadow-hover); } } .bases-cards-cover { position: absolute; overflow: hidden; height: 100px; background-color: var(--bases-cards-cover-background); background-repeat: no-repeat; background-position: center center; } .bases-cards-property { position: absolute; overflow: hidden; } .bases-cards-property.mod-title { --link-color: var(--text-normal); --link-unresolved-color: var(--text-normal); --link-unresolved-opacity: 1; --link-decoration: none; --link-weight: calc(var(--font-weight) + var(--bold-modifier)); font-weight: calc(var(--font-weight) + var(--bold-modifier)); pointer-events: none; } .bases-cards-property.mod-title .bases-cards-label { display: none; } .bases-cards-property.mod-title .bases-cards-line { font-size: var(--font-ui-medium); } .bases-cards-label, .bases-cards-line { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .bases-cards-label { font-size: var(--font-ui-smaller); color: var(--text-muted); padding: 0 var(--size-4-2); } .bases-cards-line { height: var(--bases-cards-line-height); display: block; line-height: 1; align-items: center; position: relative; } .bases-cards-line:empty:before { content: "\2014"; color: var(--text-faint); } .bases-cards-line .metadata-input-text { position: absolute; top: 0; } .bases-cards-line .multi-select-container { flex-wrap: nowrap; } .bases-cards-line .value-list-container { flex-wrap: nowrap; } .bases-cards-line .value-list-container:empty:before { content: "—"; color: var(--text-faint); } .bases-view[data-view-type="list"] { --bases-view-padding: var(--size-4-2) var(--size-4-4) 60px var(--size-4-2); --bases-embed-padding: 0; } .bases-view[data-view-type="list"].is-grouped { --bases-view-padding: 0 var(--size-4-4) 60px var(--size-4-4); } .bases-list-container { position: relative; user-select: text; cursor: text; } .bases-list-group { position: absolute; width: 100%; } .bases-list-group-list { position: relative; } .bases-list-item { position: absolute; gap: var(--size-2-2); padding-inline-start: var(--list-indent-editing); margin-inline-start: 2ch; padding-top: var(--list-spacing); padding-bottom: var(--list-spacing); } .bases-list-item .list-number { font-size: var(--bases-table-font-size); color: var(--list-marker-color); text-align: end; display: inline-block; padding-inline-end: 0.25em; width: 3em; margin-inline-start: -3em; font-variant: tabular-nums; } .bases-list-item .list-bullet { font-size: var(--bases-table-font-size); padding-inline-end: 0.25em; margin-inline-start: -0.8em; width: 0.8em; float: none; } .bases-list-item .list-bullet + .bases-rendered-value { overflow: visible; } .bases-list-item .bases-rendered-value { padding: 0; word-break: break-word; } .bases-list-item .bases-rendered-value .value-list-container { display: inline; } .bases-list-item .bases-list-item-properties { position: relative; } .bases-list-item .bases-list-item-properties.nested { padding-inline-start: var(--list-indent); } .bases-list-item .bases-list-item-properties.nested .bases-list-property { display: block; } .bases-list-item .bases-list-property { padding: 0; cursor: text; } .bases-list-item .bases-list-property p { margin-block-start: 0; margin-block-end: 0; } .bases-list-item .bases-list-property a { user-select: text; } .bases-list-item .bases-list-separator { font-size: var(--bases-table-font-size); color: var(--text-muted); } .show-indentation-guide .bases-list-item-properties.nested:before { content: "\200b"; position: absolute; display: block; inset-inline-start: -0.5em; top: 0; bottom: 0; border-inline-end: var(--indentation-guide-width) solid var(--indentation-guide-color); } .bases-view[data-view-type="table"] { --bases-view-padding: 0; --bases-embed-border-width: 1px; position: relative; } .mod-sidedock { --bases-table-header-background: var(--background-secondary); } .bases-table-container { position: relative; min-width: 100%; background: var(--bases-table-group-background); --metadata-input-font-size: var(--bases-table-font-size); --metadata-input-background-active: transparent; --metadata-input-longtext-lines: 1; --metadata-divider-width: 0px; --input-placeholder-color: transparent; } .bases-table-container input[type='text'], .bases-table-container input[type='date'], .bases-table-container input[type='datetime-local'], .bases-table-container input[type='number'], .bases-table-container .multi-select-container { border-radius: 0; border: none; } .bases-table-container input[type='text']:hover, .bases-table-container input[type='date']:hover, .bases-table-container input[type='datetime-local']:hover, .bases-table-container input[type='number']:hover, .bases-table-container .multi-select-container:hover, .bases-table-container input[type='text']:active, .bases-table-container input[type='date']:active, .bases-table-container input[type='datetime-local']:active, .bases-table-container input[type='number']:active, .bases-table-container .multi-select-container:active, .bases-table-container input[type='text']:focus, .bases-table-container input[type='date']:focus, .bases-table-container input[type='datetime-local']:focus, .bases-table-container input[type='number']:focus, .bases-table-container .multi-select-container:focus { box-shadow: none; border: none; } .bases-table-container .add-column-button { border: none; border-radius: 0; opacity: 1; } .bases-table { position: absolute; flex: 1; min-width: 100%; } .bases-table .bases-group-heading { width: 100%; height: var(--bases-table-row-height); padding-inline-start: var(--size-4-2); } .bases-thead { position: sticky; width: 100%; height: var(--bases-table-row-height); top: 0; z-index: var(--layer-cover); justify-content: space-between; background-color: var(--bases-table-header-background); box-shadow: inset 0 calc(var(--bases-table-row-border-width) * -1) 0 var(--bases-table-border-color); /* Bottom border */ } .bases-thead .bases-table-header { display: flex; width: 100%; align-items: center; height: var(--bases-table-row-height); } .bases-thead .bases-td { white-space: nowrap; align-items: center; } @media (hover: hover) { .bases-thead .bases-td:hover { background-color: var(--bases-table-header-background-hover); } } .bases-thead .bases-td.has-active-menu { background-color: var(--bases-table-header-background-hover); } .bases-thead .bases-td[data-sort] .bases-table-header { mask-image: var(--bases-table-header-sort-mask); } .bases-thead .bases-td[data-sort] .bases-table-header-name { padding-inline-end: var(--size-4-4); } [dir='rtl'], .mod-rtl { --bases-table-header-sort-mask: linear-gradient(to right, transparent var(--size-4-6), black var(--size-4-6)); } .bases-table-header-sort { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); color: var(--text-muted); position: absolute; inset-inline-end: 0; top: -1px; height: 100%; padding-top: var(--size-2-1); padding-inline-end: var(--size-2-3); display: flex; align-items: center; margin-inline-start: auto; } .bases-table-header-label { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); display: flex; gap: var(--size-4-1); align-items: stretch; cursor: var(--cursor); user-select: none; text-align: start; font-size: var(--bases-table-font-size); color: var(--bases-table-header-color); font-weight: var(--bases-table-header-weight); padding-inline-start: var(--size-4-2); padding-inline-end: var(--size-4-2); } .bases-table-header-icon { align-items: center; display: var(--bases-table-header-icon-display); } .bases-table-header-resizer { position: absolute; right: -1px; top: 0; bottom: 0; width: 6px; cursor: col-resize; z-index: var(--layer-cover); } body.mod-rtl .bases-table-header-resizer { right: unset; left: -1px; } .bases-table-header-resizer.is-active { background-color: var(--divider-color-hover); } .bases-table-header-resizer:hover { background-color: var(--divider-color-hover); } .bases-tbody { position: relative; width: 100%; background: var(--background-primary); box-shadow: 0 var(--bases-table-row-border-width) 0 var(--table-border-color); } .bases-tbody .bases-tr:hover { background-color: var(--bases-table-row-background-hover); } .bases-table-footer { position: sticky !important; bottom: 0; background-color: var(--bases-table-summary-background); width: 100%; z-index: var(--layer-sidedock); } .bases-table-footer .bases-td { box-shadow: none; } .bases-table-group-summary-row.bases-tr { position: relative !important; background-color: var(--bases-table-group-background); } .bases-table-group-summary-row.bases-tr .summary-function-value { color: var(--text-muted); } .bases-table-summary-cell { display: flex; min-width: 100%; height: 100%; padding-inline-end: var(--size-4-2); padding-inline-start: var(--size-2-1); justify-content: flex-end; --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); } @media (hover: hover) { .bases-table-summary-cell:hover { background-color: var(--bases-table-summary-background-hover); } .bases-table-summary-cell:hover .summary-expand-button { opacity: 1; display: flex; } .bases-table-summary-cell:hover .placeholder { opacity: 1; color: var(--text-faint); } } .bases-table-summary-cell.has-active-menu { background-color: var(--bases-table-summary-background-hover); } .bases-table-summary-cell.has-active-menu .summary-expand-button { opacity: 1; display: flex; } .bases-table-summary-cell.has-active-menu .placeholder { opacity: 1; color: var(--text-faint); } .bases-table-summary-cell .placeholder { opacity: 0; font-size: var(--font-ui-smaller); overflow: hidden; text-overflow: ellipsis; unicode-bidi: plaintext; padding-inline-start: var(--size-2-1); } .bases-table-summary-cell .summary-content { --input-placeholder-color: var(--text-faint); cursor: var(--cursor); color: var(--text-muted); flex-grow: 0; display: flex; align-items: center; justify-content: flex-end; font-size: var(--font-ui-small); line-height: var(--line-height-tight); gap: var(--size-2-3); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .bases-table-summary-cell .summary-function-name { color: var(--text-muted); font-size: var(--font-smaller); padding-inline-start: var(--size-2-2); overflow: hidden; text-overflow: ellipsis; unicode-bidi: plaintext; } .bases-table-summary-cell .summary-expand-button { display: none; opacity: 0; align-items: center; color: var(--text-faint); margin-inline-start: auto; } .bases-summary-menu-item .bases-toolbar-menu-item-name { flex-grow: 1; } .bases-summary-menu-item .bases-toolbar-menu-item-value { color: var(--text-muted); font-variant-numeric: tabular-nums; } .bases-footer-suggestion-item { display: flex; justify-content: space-between; } .bases-footer-suggestion-item .value { color: var(--text-muted); } .bases-tr { position: absolute; height: var(--bases-table-row-height); display: flex; flex-direction: row; min-width: 100%; box-shadow: 0 calc(var(--bases-table-row-border-width) * -1) 0 var(--table-border-color); } .bases-table-cell[disabled="true"] { background-color: var(--bases-table-cell-background-disabled); } .bases-td { box-shadow: calc(var(--bases-table-column-border-width) * -1) 0 0 var(--table-border-color); display: flex; position: absolute; height: var(--bases-table-row-height); overflow: hidden; text-overflow: ellipsis; flex: 1 0 auto; } .bases-td:focus-within { background-color: var(--bases-table-cell-background-active); border-radius: var(--bases-table-cell-radius-focus); box-shadow: var(--bases-table-cell-shadow-focus); z-index: 1; height: fit-content; min-height: var(--bases-table-row-height); } .bases-td .metadata-input-longtext:not(:empty) { display: block; } .bases-td .metadata-input.mod-date, .bases-td .metadata-input.mod-datetime { --input-placeholder-color: var(--text-faint); } .bases-td .metadata-input.mod-date.is-empty, .bases-td .metadata-input.mod-datetime.is-empty { opacity: 0; } .bases-td .metadata-input.mod-date.is-empty:focus-within, .bases-td .metadata-input.mod-datetime.is-empty:focus-within, .bases-td .metadata-input.mod-date.is-empty:hover, .bases-td .metadata-input.mod-datetime.is-empty:hover { opacity: 1; } .bases-td .bases-metadata-value .clickable-icon { opacity: 0; } .bases-td:focus-within .clickable-icon, .bases-td:hover .clickable-icon { opacity: 1; } .bases-table-cell { display: flex; height: 100%; width: 100%; } .bases-table-cell[data-property-type="checkbox"] { justify-content: center; } .bases-table-cell .metadata-input-number, .bases-table-cell[data-property-type="number"] { justify-content: flex-end; text-align: right; font-variant-numeric: tabular-nums; } .bases-table-container:not(.mod-multiline) .bases-tr { --input-height: var(--bases-table-row-height); } .bases-table-container:not(.mod-multiline) .bases-td { white-space: nowrap; align-items: center; } .bases-table-container:not(.mod-multiline) .bases-table-cell { align-items: center; } .bases-table-container:not(.mod-multiline) .metadata-input-longtext:not(:focus-within) { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } .bases-table-container:not(.mod-multiline) .multi-select-container:not(:focus-within) { flex-wrap: nowrap; } .bases-table-active-cell, .bases-table-selection { position: absolute; display: flex; pointer-events: none; } .bases-table-container.is-selecting .bases-table-cell { pointer-events: none; } .bases-table-container:focus .bases-table-active-cell { box-shadow: var(--bases-table-cell-shadow-active); border-radius: var(--bases-table-cell-radius-active); } .bases-table-container:focus .bases-table-active-cell.mod-selection { box-shadow: var(--bases-table-cell-shadow-focus); } .bases-table-container:focus .bases-table-selection { background-color: var(--bases-table-cell-background-selected); mix-blend-mode: var(--table-selection-blend-mode); } .bases-table-container.mod-multiline .bases-table-cell { align-items: start; } .bases-table-container.mod-multiline .metadata-input-longtext { overflow-y: auto; } .table-col-drag-ghost { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); position: absolute; pointer-events: none; touch-action: none; top: 0; width: 100%; height: 100%; background-color: var(--table-drag-handle-background-active); color: var(--table-drag-handle-color-active); box-shadow: 0 0 0 var(--table-selection-border-width) var(--table-selection-border-color); } .view-action.mod-bookmarked { --icon-color: var(--icon-color-active); --icon-color-hover: var(--icon-color-active); } /* Only browser shows the bookmark icon if not bookmarked */ .workspace-leaf-content:not([data-type="browser"]) .view-action.mod-bookmark { display: none; } .workspace-leaf-content:not([data-type="browser"]) .view-action.mod-bookmarked { display: flex; } .workspace-leaf-content[data-type=bookmarks] .view-content { padding: var(--size-4-1) var(--size-4-3) var(--size-4-8); } .modal.mod-bookmark .setting-item-control input { width: 100%; } .nav-files-container { flex-grow: 1; overflow-y: auto; overflow-x: hidden; padding: var(--size-4-1) var(--size-4-3) var(--size-4-6) var(--size-4-3); padding-bottom: max(var(--safe-area-inset-bottom), var(--size-4-6)); scroll-padding-block: var(--size-4-2); } .nav-file-tag { background-color: var(--nav-tag-background); border-radius: var(--nav-tag-radius); color: var(--nav-tag-color); font-size: 9px; font-weight: var(--nav-tag-weight); letter-spacing: 0.05em; line-height: var(--line-height-normal); margin-inline-start: auto; padding: 0 var(--size-4-1); text-transform: uppercase; align-self: center; } .nav-file-icon { display: inline-flex; align-items: center; margin-inline-end: var(--size-2-3); position: relative; color: var(--icon-color); opacity: var(--icon-opacity); } .nav-files-container:not(.show-unsupported) .is-unsupported { display: none; } .nav-file-title-content, .nav-folder-title-content { display: inline-block; overflow-wrap: anywhere; overflow: hidden; white-space: var(--nav-item-white-space); } .nav-file-title-content:not([contenteditable="true"]), .nav-folder-title-content:not([contenteditable="true"]) { text-overflow: ellipsis; } .nav-folder.is-being-dragged-over { border-radius: var(--radius-s); background: hsla(var(--interactive-accent-hsl), 0.1); } .nav-folder.is-being-dragged-over > .nav-folder-title { color: var(--nav-item-color-highlighted); } .nav-folder.is-being-dragged-over > .nav-folder-title .collapse-icon { color: var(--nav-item-color-highlighted); } /* Folders and files */ .nav-folder-title { padding: var(--nav-item-parent-padding); } .nav-file-title { padding: var(--nav-item-padding); } .nav-file-title, .nav-folder-title { margin-bottom: var(--size-2-1); display: flex; border-radius: var(--radius-s); cursor: var(--cursor); color: var(--nav-item-color); font-size: var(--nav-item-size); font-weight: var(--nav-item-weight); line-height: var(--line-height-tight); } @media (hover: hover) { body:not(.is-grabbing) .nav-file-title:hover, body:not(.is-grabbing) .nav-folder-title:hover { background-color: var(--nav-item-background-hover); color: var(--nav-item-color-hover); font-weight: var(--nav-item-weight-hover); } body:not(.is-grabbing) .nav-file-title:hover .nav-file-tag, body:not(.is-grabbing) .nav-folder-title:hover .nav-file-tag { color: var(--nav-tag-color-hover); } } body:not(.is-grabbing) .nav-file-title.is-active:hover, body:not(.is-grabbing) .nav-folder-title.is-active:hover, .nav-file-title.is-active, .nav-folder-title.is-active { color: var(--nav-item-color-active); background-color: var(--nav-item-background-active); font-weight: var(--nav-item-weight-active); } body:not(.is-grabbing) .nav-file-title.is-active:hover .nav-file-tag, body:not(.is-grabbing) .nav-folder-title.is-active:hover .nav-file-tag, .nav-file-title.is-active .nav-file-tag, .nav-folder-title.is-active .nav-file-tag { color: var(--nav-tag-color-active); } body:not(.is-grabbing) .nav-file-title.is-selected:hover, body:not(.is-grabbing) .nav-folder-title.is-selected:hover, .nav-file-title.is-selected, .nav-folder-title.is-selected { color: var(--nav-item-color-selected); background-color: var(--nav-item-background-selected); } body:not(.is-grabbing) .nav-file-title.is-being-dragged, body:not(.is-grabbing) .nav-folder-title.is-being-dragged, .nav-file-title.is-being-dragged, .nav-folder-title.is-being-dragged { background-color: var(--interactive-accent); color: var(--text-on-accent); } body:not(.is-grabbing) .nav-file-title.is-being-dragged .tree-item-icon.collapse-icon, body:not(.is-grabbing) .nav-folder-title.is-being-dragged .tree-item-icon.collapse-icon, .nav-file-title.is-being-dragged .tree-item-icon.collapse-icon, .nav-folder-title.is-being-dragged .tree-item-icon.collapse-icon { color: var(--text-on-accent); } body:not(.is-grabbing) .nav-file-title.is-being-dragged .nav-file-tag, body:not(.is-grabbing) .nav-folder-title.is-being-dragged .nav-file-tag, .nav-file-title.is-being-dragged .nav-file-tag, .nav-folder-title.is-being-dragged .nav-file-tag { color: var(--text-normal); } /* 2022-07 Only used for Publish AFAIK */ .file-tree-item-checkbox, .file-tree-item-icon { flex-shrink: 0; } .file-tree-item-title { flex-grow: 1; word-break: break-word; } .file-tree-item-icon { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); margin-right: var(--size-4-1); color: var(--icon-color); position: relative; top: var(--size-2-1); } .file-tree .tree-item-inner { display: flex; align-items: center; position: relative; width: 100%; } .file-tree .tree-item-flair { line-height: 1; padding: var(--size-2-1) var(--size-2-3); color: var(--text-on-accent); } .file-tree .is-selected { color: var(--text-normal); } .file-tree .mod-changed.is-selected { background-color: hsla(var(--interactive-accent-hsl), 0.2); } .file-tree .mod-changed .tree-item-flair { color: var(--text-accent-hover); } .file-tree .mod-new.is-selected { background-color: rgba(var(--background-modifier-success-rgb), 0.2); } .file-tree .mod-new .tree-item-flair { color: var(--text-success); } .file-tree .mod-deleted.is-selected, .file-tree .mod-to-delete.is-selected { background-color: rgba(var(--background-modifier-error-rgb), 0.2); } .file-tree .mod-deleted .tree-item-flair, .file-tree .mod-to-delete .tree-item-flair { color: var(--text-error); } .file-tree .mod-to-delete .tree-item-flair { display: none; } .file-tree .mod-to-delete.is-selected .tree-item-flair { display: block; } .file-tree .clickable-icon { display: flex; --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); } .file-recovery-list-item-container { overflow: auto; flex: 1 1 0; } .file-recovery-list { overflow: auto; padding: var(--size-4-3) var(--size-4-2); flex-grow: 1; display: flex; flex-direction: column; } .file-recovery-list .search-input-container { width: 100%; } .file-recovery-list-container { display: flex; flex-direction: column; flex-basis: 250px; flex-shrink: 0; border-inline-end: 1px solid var(--background-modifier-border); } .file-recovery-list-item-header { display: flex; padding: var(--size-4-2); border-radius: var(--radius-s); transition: background-color 200ms ease-in-out, color 200ms ease-in-out; } .file-recovery-list-item-header:not(:last-child) { margin-bottom: var(--size-4-2); } .file-recovery-list-item-header.is-active, .file-recovery-list-item-header.is-active:hover { background-color: var(--interactive-accent); color: var(--text-on-accent); } .file-recovery-list-item-header.is-active .u-muted, .file-recovery-list-item-header.is-active:hover .u-muted { color: var(--text-on-accent); opacity: 0.8; } @media (hover: hover) { .file-recovery-list-item-header:hover { background-color: var(--background-modifier-hover); } } .file-recovery-list-item-header .file-recovery-list-item-details { flex-grow: 1; cursor: var(--cursor); font-size: var(--font-ui-small); } .file-recovery-list-item-header .collapse-indicator { min-width: var(--size-4-6); padding-inline-start: var(--size-4-2); opacity: 1; } .file-recovery-text { font-size: var(--code-size); font-family: var(--font-monospace); tab-size: 4; resize: none; flex: 1 0 0; padding: var(--size-4-6); font-size: var(--font-ui-medium); background-color: var(--background-primary); } .file-recovery-text[data-ext="md"] { font-family: var(--font-text); font-size: var(--font-text-size); } .graph-view.color-fill { color: var(--graph-node); } .graph-view.color-fill-focused { color: var(--graph-node-focused); } .graph-view.color-fill-tag { color: var(--graph-node-tag); } .graph-view.color-fill-attachment { color: var(--graph-node-attachment); } .graph-view.color-fill-unresolved { color: var(--graph-node-unresolved); opacity: 0.5; } .graph-view.color-fill-1 { color: var(--text-muted); } .graph-view.color-fill-2 { color: var(--text-muted); } .graph-view.color-fill-3 { color: var(--text-muted); } .graph-view.color-fill-4 { color: var(--text-muted); } .graph-view.color-fill-5 { color: var(--text-muted); } .graph-view.color-fill-6 { color: var(--text-muted); } .graph-view.color-arrow { color: var(--text-normal); opacity: 0.5; } .graph-view.color-circle { color: var(--graph-node-focused); } .graph-view.color-line { color: var(--graph-line); } .graph-view.color-text { color: var(--graph-text); } .graph-view.color-fill-highlight { color: var(--interactive-accent); } .graph-view.color-line-highlight { color: var(--interactive-accent); } .graph-controls { border-radius: var(--radius-m); position: absolute; inset-inline-end: var(--size-4-3); top: var(--size-4-3); padding: 0; background-color: var(--menu-background); width: var(--graph-controls-width); overflow: auto; } .graph-controls:not(.is-close) { max-height: calc(100% - var(--size-4-4)); border: var(--menu-border-width) solid var(--menu-border-color); box-shadow: var(--shadow-s); } .graph-controls.is-close { min-width: inherit; width: auto; background-color: var(--background-primary); border: var(--menu-border-width) solid transparent; padding: var(--size-2-3); } .graph-controls.is-close > .graph-control-section { display: none; } .workspace-split:not(.mod-root) .graph-controls.is-close { background-color: var(--background-secondary); } .graph-controls input[type='text'], .graph-controls input[type='range'] { width: 100%; font-size: var(--font-ui-small); } .graph-controls .mod-cta { margin-top: var(--size-2-3); width: 100%; } .graph-controls .setting-item { padding: var(--size-2-3) 0; border: none; } .graph-controls .setting-item .setting-item-info { display: flex; align-items: center; } .graph-controls .setting-item:first-of-type { border-top: none; } .graph-controls .setting-item.mod-slider { flex-direction: column; } .graph-controls .setting-item.mod-slider > * { width: 100%; } .graph-controls .setting-item.mod-slider .setting-item-info { margin-inline-end: 0; } .graph-controls .setting-item.mod-slider .setting-item-control { padding-top: var(--size-4-3); } .graph-controls .setting-item.mod-toggle .setting-item-control { padding-top: 0; } .graph-controls .setting-item.mod-search-setting .setting-item-info { margin-inline-end: 0; } .graph-controls .setting-item-name { font-size: var(--font-ui-small); } .graph-controls::-webkit-scrollbar, .graph-controls::-webkit-scrollbar-thumb { display: none; } .graph-color-group { --swatch-height: 18px; --swatch-width: 18px; position: relative; display: flex; align-items: center; padding: 0 0 6px 0; transition: top 200ms ease-in-out; } .graph-color-group input[type="color"] { margin: 0 2px 0 6px; } .graph-color-group .clickable-icon { padding: var(--size-2-2); } .graph-color-button-container { text-align: center; margin-bottom: 10px; } .graph-color-button-container button { margin: 0; width: 100%; } .graph-color-group.drag-ghost { position: fixed; display: flex; max-width: unset; border: none; box-shadow: none; background-color: var(--background-primary-alt); padding: 0; transition: none; pointer-events: none; } .graph-color-group.drag-ghost input[type='text'] { width: 100%; } .graph-color-group.drag-ghost input[type='color'] { margin-inline-start: 6px; } .graph-control-section.mod-color-groups .tree-item-children.is-grabbing .graph-color-groups-container { padding-bottom: 40px; } .graph-controls-button { display: none; z-index: 1; } .graph-controls-button.mod-close, .graph-controls-button.mod-reset { position: absolute; top: var(--size-2-3); inset-inline-end: var(--size-4-2); padding: var(--size-2-2); } .graph-controls:not(.is-close) .graph-controls-button.mod-close, .graph-controls:not(.is-close) .graph-controls-button.mod-reset { display: flex; } .graph-controls-button.mod-reset { inset-inline-end: 36px; } .graph-controls.is-close .graph-controls-button.mod-open { display: flex; } .graph-controls-button.mod-animate { margin-top: var(--size-4-2); } .graph-controls.is-close .graph-controls-button.mod-animate { display: flex; } .setting-item.mod-search-setting .setting-item-info { display: none; } .setting-item.mod-search-setting .setting-item-control .search-input-container { position: relative; flex-grow: 1; margin: 0; } .setting-item.mod-search-setting.is-loading .setting-item-control:before { background-color: var(--interactive-accent); animation: 1000ms ease-in-out 300ms infinite progress-bar; } .graph-control-section-header { font-weight: var(--font-medium); font-size: var(--font-ui-small); color: var(--text-normal); } .graph-control-section { padding: var(--size-2-3) var(--size-4-3); border-bottom: 1px solid var(--background-modifier-border); } .graph-control-section:last-child { border-bottom: none; } .graph-control-section:last-child .tree-item-children { padding-bottom: var(--size-4-4); } .graph-control-section > .tree-item-self { padding-inline-start: var(--size-4-4); } .graph-control-section .tree-item-children { margin: 0; padding: var(--size-4-1) 0; border-inline-start: none; } .graph-control-section.mod-display .setting-item:not(.mod-slider):last-child .setting-item-info { display: none; } .workspace-leaf-content[data-type='outline'] .view-content { padding-top: var(--size-4-1); } .workspace-leaf-content[data-type=all-properties] .view-content, .workspace-leaf-content[data-type=properties] .view-content { padding-top: var(--size-4-1); } .is-phone .metadata-container, .workspace-drawer .metadata-container { --metadata-input-height: calc(var(--font-text-size) * 2.25); --metadata-padding: 0; --metadata-divider-width: 1px; --metadata-divider-color-hover: var(--metadata-divider-color); --metadata-property-radius: 0px; --metadata-property-radius-hover: 0px; } .is-phone .metadata-properties, .workspace-drawer .metadata-properties { --metadata-gap: 0; } .is-phone .metadata-property:hover:not(:focus-within), .workspace-drawer .metadata-property:hover:not(:focus-within) { box-shadow: none; } .workspace > .workspace-split:not(.mod-root) .metadata-container { --metadata-label-font-size: var(--metadata-sidebar-label-font-size); --metadata-input-font-size: var(--metadata-sidebar-label-font-size); --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); --metadata-padding: 0; --metadata-divider-width: 1px; --metadata-divider-color-hover: var(--metadata-divider-color); --metadata-property-radius: 0px; } .workspace > .workspace-split:not(.mod-root) .metadata-container .metadata-properties { --metadata-gap: 0; } .workspace > .workspace-split:not(.mod-root) .metadata-container .metadata-property:hover:not(:focus-within) { box-shadow: none; } .workspace > .workspace-split:not(.mod-root) .metadata-container .metadata-property-value .clickable-icon { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); } .workspace-leaf-content[data-type=file-properties] .metadata-properties-heading { display: none; } .metadata-container { container-type: inline-size; container-name: metadata; } @container (width < 250px) { .metadata-property { flex-wrap: wrap; } .metadata-property .metadata-property-key { width: 100%; border-bottom: 0; } .metadata-property .metadata-property-value { margin-top: -2px; padding-inline-start: calc(var(--icon-size) + var(--size-4-1)); } } .modal.mod-publish { height: var(--modal-height); width: var(--modal-width); max-width: var(--modal-max-width-narrow); position: relative; overflow: hidden; } .modal.mod-publish .modal-content { margin-bottom: calc(var(--input-height) + var(--size-4-8)); border-top: var(--border-width) solid var(--background-modifier-border); } .modal.mod-publish .modal-button-container { margin: 0 0 0 calc(var(--size-4-4) * -1); gap: var(--size-4-2); position: absolute; bottom: 0; width: 100%; } .publish-section { margin-bottom: var(--size-4-1); } .publish-change-list { padding: var(--size-4-2) 0 var(--size-4-2) 0; } .site-list-site-id-setting { margin-top: var(--size-4-4); } .publish-section-header-text, .publish-section-header-toggle-collapsed-button, .publish-section-header-action { cursor: var(--cursor); } @media (hover: hover) { .publish-section-header-text:hover, .publish-section-header-toggle-collapsed-button:hover, .publish-section-header-action:hover { color: var(--text-accent-hover); } } .publish-section-header { border-bottom: 1px solid var(--background-modifier-border); font-size: var(--font-ui-small); line-height: 1.1; color: var(--text-muted); display: flex; padding: var(--size-4-2) 0; align-items: center; } .publish-section-header-text { flex-grow: 1; font-size: var(--font-ui-medium); color: var(--text-normal); line-height: var(--line-height-tight); font-weight: var(--font-medium); } .publish-changes-switch-site { margin-inline-start: var(--size-4-2); display: flex; flex-direction: row; flex-grow: 1; font-size: var(--font-ui-small); position: relative; gap: var(--size-2-1); top: 2px; } .publish-changes-switch-site .clickable-icon { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); padding: var(--size-2-2); } .upload-progress-container { max-height: 60vh; overflow: auto; } .upload-progress-container.is-finished { max-height: calc(60vh - 200px); } .publish-changes-current-site-name { margin-inline-start: var(--size-2-3); text-decoration: underline; } .publish-changes-info { display: flex; align-items: center; margin-bottom: 20px; } .publish-changes-info button { margin-inline-end: 0; margin-inline-start: var(--size-4-2); } .publish-changes-info .search-input-container { margin: 0; width: 0; flex: 1 0 auto; } .publish-section-header-toggle-collapsed-button { margin-inline-end: var(--size-4-1); color: var(--text-faint); width: 9px; height: 9px; } .publish-section-header-action { color: var(--text-faint); margin-inline-start: var(--size-4-3); } .publish-upload-item-title { word-break: break-word; font-size: var(--nav-item-size); line-height: var(--line-height-tight); } .publish-changes-buttons { text-align: right; padding-bottom: var(--size-4-4); } .publish-upload-item { position: relative; padding: var(--size-4-1) var(--size-4-2); } .publish-upload-item .flair { background-color: transparent; text-transform: unset; letter-spacing: normal; font-size: var(--font-ui-smaller); } .publish-upload-item .list-item-part { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); display: flex; align-items: center; } .publish-upload-item:before { content: ' '; position: absolute; top: 0; left: 0; width: 0; height: 100%; transition: width 150ms ease-in-out; background-color: rgba(var(--background-modifier-success-rgb), 0.2); z-index: 0; border-radius: var(--radius-s); } .publish-upload-item.mod-failed { color: var(--text-error); } .publish-upload-item.mod-failed:before { background-color: rgba(var(--background-modifier-error-rgb), 0.2); } .publish-upload-item.mod-completed { color: var(--text-success); } .publish-upload-item.mod-completed > * { position: relative; } .publish-upload-item.mod-completed:before { width: 100%; } .site-list-container { border-top: 1px solid var(--background-modifier-border); margin-bottom: var(--size-4-4); } .site-list-container .list-item:last-child { padding-top: var(--size-4-4); } .site-list-item-name { flex-grow: 1; } .slug-input { text-transform: lowercase; } .passwords-container { margin-bottom: var(--size-4-4); } .password-item { border-radius: var(--radius-s); padding: var(--size-4-2) var(--size-4-4); margin: var(--size-4-1) 0; } @media (hover: hover) { .password-item:hover { background-color: var(--background-primary); } } .tree-item.mod-custom-nav.hidden .tree-item-self { color: var(--text-faint); } .tree-item.mod-custom-nav .tree-item-inner { display: flex; align-items: center; position: relative; } .tree-list { padding: var(--size-4-4) 0; } .tree-list-header { border-bottom: 1px solid var(--background-modifier-border); padding: var(--size-4-2) 0; line-height: 1.1; display: flex; align-items: center; justify-content: space-between; } .tree-list-title { font-size: var(--font-ui-medium); font-weight: var(--font-semibold); } .tree-list-action { align-items: center; display: flex; color: var(--text-muted); font-size: var(--font-ui-small); } .search-input-container { position: relative; } .search-input-container:before { top: calc((var(--input-height) - var(--search-icon-size)) / 2); inset-inline-start: var(--size-4-2); position: absolute; content: ''; height: var(--search-icon-size); width: var(--search-icon-size); display: block; background-color: var(--search-icon-color); -webkit-mask-image: url("data:image/svg+xml,"); -webkit-mask-repeat: no-repeat; } .search-input-container input { display: block; width: 100%; padding-inline-start: 36px; } .search-input-clear-button { position: absolute; background: transparent; border-radius: 50%; color: var(--search-clear-button-color); cursor: var(--cursor); top: 0px; inset-inline-end: 2px; bottom: 0px; line-height: 0; height: var(--input-height); width: 28px; margin: auto; padding: 0 0; text-align: center; display: flex; justify-content: center; align-items: center; transition: color var(--anim-duration-fast) ease-in-out; } .search-input-clear-button:after { content: ''; height: var(--search-clear-button-size); width: var(--search-clear-button-size); display: block; background-color: currentColor; -webkit-mask-image: url("data:image/svg+xml,"); -webkit-mask-repeat: no-repeat; } .search-input-clear-button:hover, .search-input-clear-button:active { color: var(--text-normal); transition: color var(--anim-duration-fast) ease-in-out; } .search-input-suggest-button { position: absolute; left: 0; top: 0; color: var(--text-faint); cursor: var(--cursor); padding: var(--size-4-1) var(--size-4-2); opacity: 0; z-index: 10; } @media (hover: hover) { .search-input-suggest-button:hover { color: var(--text-muted); } } .search-result-container { padding: var(--size-4-3) var(--size-4-3) var(--size-4-4); position: relative; flex: 1 0 0; } .search-result-container.mod-global-search { overflow-y: auto; padding-bottom: max(var(--safe-area-inset-bottom), var(--size-4-3)); } .search-result-container:before { content: ' '; position: absolute; top: 0; width: 0; height: 3px; } .search-result-container.is-loading:before { background-color: var(--interactive-accent); animation: 1000ms ease-in-out 300ms infinite progress-bar; } .search-suggest-info-text { color: var(--text-muted); margin-inline-start: 4px; } .search-suggest-icon { padding: 4px; border-radius: var(--radius-s); } @media (hover: hover) { .search-suggest-icon:hover { background-color: var(--background-modifier-hover); } } .suggestion-container.mod-search-suggestion { max-width: unset; background-color: var(--background-secondary); border-color: var(--prompt-border-color); max-height: 600px; } .suggestion-container.mod-search-suggestion .suggestion { padding: var(--size-2-3); background-color: var(--background-secondary); border-radius: var(--radius-m); } .search-suggest-icon { align-items: center; display: flex; } .search-suggest-item { padding: var(--size-4-1) var(--size-4-2); border-radius: var(--radius-s); } .search-suggest-item.suggestion-item { font-size: var(--font-ui-small); } .search-suggest-item.mod-group { align-items: center; margin: 0; color: var(--text-muted); padding: 0 0 0 var(--size-4-2); cursor: default; font-weight: var(--font-semibold); font-size: var(--font-ui-smaller); border-radius: 0; } .search-suggest-item.mod-group:not(:first-child) { border-top: 1px solid var(--background-modifier-border); margin-top: 6px; padding-top: 6px; padding-inline-end: 6px; padding-bottom: 0px; padding-inline-start: 14px; margin-inline-end: -6px; } .search-suggest-item.mod-group:hover, .search-suggest-item.mod-group.is-selected { background-color: initial; } @keyframes progress-bar { 0% { width: 0; left: 0; } 5% { width: 0; left: 0; } 50% { width: 100%; right: 0; } 95% { width: 0; right: 0; } 100% { width: 0; right: 0; } } .search-empty-state { color: var(--text-faint); font-size: var(--font-ui-small); margin: 0 0 var(--size-4-3); padding-inline-start: var(--size-4-2); } .search-result { word-break: break-word; } .search-result:not(.is-collapsed) .search-result-file-title { color: var(--nav-item-color-active); } .search-result-file-matches { font-size: var(--font-ui-smaller); line-height: var(--line-height-tight); background-color: var(--search-result-background); border-radius: var(--radius-s); overflow: hidden; margin: var(--size-4-1) 0 var(--size-4-2); color: var(--text-muted); box-shadow: 0 0 0 1px var(--background-modifier-border); } .search-result-file-matches:empty { display: none; } .search-info-more-matches { color: var(--text-faint); } .search-result-file-match { cursor: var(--cursor); position: relative; padding: var(--size-4-2) var(--size-4-5) var(--size-4-2) var(--size-4-3); white-space: pre-wrap; width: 100%; border-bottom: 1px solid var(--background-modifier-border); } .search-result-file-match:last-child { border-bottom: none; } @media (hover: hover) { .search-result-file-match:hover { color: var(--text-normal); background-color: var(--text-selection); } .search-result-file-match:hover .search-result-file-match-replace-button { display: block; } } .search-result-file-match.mobile-tap { color: var(--text-normal); background-color: var(--text-selection); } .search-result-file-match-replace-button { display: none; position: absolute; height: auto; bottom: 5px; inset-inline-end: 24px; padding: var(--size-4-1) var(--size-4-2); color: var(--text-muted); font-size: var(--font-ui-smaller); } @media (hover: hover) { .search-result-file-match-replace-button:hover { color: var(--text-normal); } } .search-result-hover-button { position: absolute; display: flex; inset-inline-end: 2px; border-radius: var(--radius-s); color: var(--text-faint); padding: 1px 3px; } @media (hover: hover) { .search-result-hover-button:hover { opacity: 1; background-color: var(--background-modifier-hover); } } .search-result-hover-button.mod-top { top: 2px; } .search-result-hover-button.mod-bottom { bottom: 2px; } .search-result-file-matched-text { color: var(--text-normal); background-color: var(--text-highlight-bg); } .search-info-container { color: var(--text-muted); padding: var(--size-4-1) var(--size-4-4) var(--size-4-2); font-size: var(--font-ui-smaller); } .search-info-children { padding-inline-start: 20px; border-inline-start: 1px solid var(--background-modifier-border); margin: 1px 0; } .copy-search-result-container { display: flex; flex-direction: column; } .copy-search-result-textarea { height: 300px; max-height: 20vh; resize: none; } .copy-search-result-textarea + .setting-item { border-top: none; } .search-result-file-match-destination-file-container { display: flex; flex-wrap: wrap; margin-top: var(--size-2-3); gap: var(--size-2-1); } .search-result-file-match-destination-file { display: inline-flex; background-color: var(--interactive-normal); border-radius: var(--radius-s); box-shadow: var(--input-shadow); color: var(--text-muted); padding: var(--size-2-2) var(--size-2-3); } @media (hover: hover) { .search-result-file-match:hover .search-result-file-match-destination-file { background-color: var(--background-secondary); } .search-result-file-match:hover .search-result-file-match-destination-file:hover { background-color: var(--interactive-hover); box-shadow: var(--input-shadow-hover); color: var(--text-normal); } } .search-result-file-match-destination-file-icon { --icon-size: var(--icon-xs); --icon-stroke: var(--icon-xs-stroke-width); margin-inline-end: var(--size-4-1); display: flex; color: var(--text-faint); } .search-result-file-match-destination-file-icon .svg-icon { align-self: center; } .search-result-file-match-destination-file-name { white-space: pre-wrap; word-break: break-all; } body:not(.is-phone) .workspace-leaf.mod-active .search-result.has-focus .tree-item-self, body:not(.is-phone) .workspace-leaf.mod-active .search-result-file-match.has-focus { border-radius: var(--radius-s); box-shadow: inset 0 0 0 var(--input-border-width-focus) var(--background-modifier-border-focus); } .search-results-info { color: var(--text-muted); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--background-modifier-border); margin: 0; min-width: 0; padding: 0 var(--size-4-3) var(--size-4-2); white-space: nowrap; } .search-results-info .dropdown { height: 24px; box-shadow: none; background-color: transparent; font-size: var(--font-ui-smaller); color: var(--text-muted); text-align-last: end; max-width: 60%; text-overflow: ellipsis; white-space: nowrap; } @media (hover: hover) { .search-results-info .dropdown:hover { color: var(--interactive-accent); } } .search-results-info .dropdown option { color: initial; text-align: start; } .search-results-result-count { font-size: var(--font-ui-smaller); font-variant-numeric: tabular-nums; } .search-row { display: flex; margin: var(--size-4-3) var(--size-4-3) var(--size-4-2); gap: var(--size-4-1); } .search-params { margin: var(--size-4-1) var(--size-4-4); } .search-params input[type='text'], .search-params input[type='range'] { width: 100%; font-size: var(--font-ui-small); } .search-params .mod-cta { margin-top: var(--size-2-3); width: 100%; } .search-params .setting-item { padding: var(--size-2-3) 0; border: none; } .search-params .setting-item .setting-item-info { display: flex; align-items: center; } .search-params .setting-item:first-of-type { border-top: none; } .search-params .setting-item.mod-slider { flex-direction: column; } .search-params .setting-item.mod-slider > * { width: 100%; } .search-params .setting-item.mod-slider .setting-item-info { margin-inline-end: 0; } .search-params .setting-item.mod-slider .setting-item-control { padding-top: var(--size-4-3); } .search-params .setting-item.mod-toggle .setting-item-control { padding-top: 0; } .search-params .setting-item.mod-search-setting .setting-item-info { margin-inline-end: 0; } .search-params .setting-item-name { font-size: var(--font-ui-small); } .search-params::-webkit-scrollbar, .search-params::-webkit-scrollbar-thumb { display: none; } .global-search-input-container { flex-grow: 1; } .more-options-icon { --icon-size: 10px; background-color: var(--icon-color); border-radius: 50%; color: var(--background-secondary); display: flex; margin-inline-start: var(--size-2-3); opacity: var(--icon-opacity); padding: 0.5px; } .clickable-icon:hover .more-options-icon { background-color: var(--icon-color-hover); opacity: var(--icon-opacity-hover); } .slides-container { position: fixed; top: 0; inset-inline-start: 0; height: 100vh; width: 100vw; transition: -webkit-transform 0.8s ease 0s; background-color: #191919; z-index: var(--layer-slides); border: none; } .slides-container li .collapse-indicator { display: none; } .slides-close-btn { display: inline-block; position: absolute; top: var(--size-4-2); inset-inline-end: var(--size-4-2); color: var(--text-faint); cursor: var(--cursor); z-index: 1; } @media (hover: hover) { .slides-close-btn:hover { color: var(--text-muted); } } .reveal input[type='checkbox'] { width: 24px; height: 24px; } .reveal .task-list-item, .reveal .footnote-item { list-style: none; } .reveal .task-list-item { margin-inline-start: -1.5em; } .mod-sync-history .modal-content { height: 100%; } .modal-setting-titlebar { display: flex; align-items: center; padding: var(--size-4-2) var(--size-4-4); border-bottom: 1px solid var(--background-modifier-border); padding-inline-end: var(--size-4-10); } .modal-setting-titlebar .modal-setting-title { font-size: var(--font-ui-medium); font-weight: var(--file-header-font-weight); flex-grow: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .modal-setting-titlebar .modal-setting-titlebar-toggle { display: flex; align-items: center; margin: 0 var(--size-4-3); gap: var(--size-4-2); } .modal-setting-titlebar .modal-setting-titlebar-actions { display: flex; align-items: center; gap: var(--size-4-1); } .vault-list-item-desc { color: var(--text-faint); } .vault-list-item-icon { color: var(--text-muted); display: flex; } .vault-list-item-title { align-items: center; display: flex; gap: var(--size-4-2); color: var(--text-muted); user-select: none; white-space: nowrap; text-overflow: ellipsis; margin-bottom: var(--size-4-1); min-width: 0; overflow: hidden; } .vault-list-item-title.is-connected { color: var(--text-normal); } .sync-status-icon { display: flex; align-items: center; cursor: var(--cursor); } .sync-status-icon.mod-success { color: var(--text-success); } .sync-status-icon.mod-working { color: var(--interactive-accent); } .sync-status-icon.mod-error { color: var(--text-error); } .sync-status-icon.mod-spin svg { animation-name: spin; animation-duration: 5000ms; animation-iteration-count: infinite; animation-timing-function: linear; } @media (prefers-reduced-motion: reduce) { .sync-status-icon.mod-spin svg { animation: none; } } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .sync-history-list-container { display: flex; flex-direction: column; flex-basis: 250px; flex-shrink: 0; border-inline-end: 1px solid var(--background-modifier-border); background-color: var(--background-secondary); } .sync-history-list { overflow: auto; padding: var(--size-4-2) var(--size-4-2) 0; display: flex; flex: 0 1 auto; flex-direction: column; } .sync-history-list .search-input-container { width: 100%; } .sync-history-list-item-container { overflow: auto; flex: 1 1 0; } .sync-history-list-item-header { display: flex; align-items: center; padding: var(--size-4-2); margin-bottom: var(--size-4-1); border-radius: var(--radius-s); } .sync-history-list-item-header:last-child { margin-bottom: 0; } .sync-history-list-item-header.is-active, .sync-history-list-item-header.is-active:hover { background-color: var(--interactive-accent); color: var(--text-on-accent); } .sync-history-list-item-header.is-active .u-muted, .sync-history-list-item-header.is-active:hover .u-muted { color: var(--text-on-accent); opacity: 0.8; } .sync-history-list-item-header.is-active { --nav-collapse-icon-color: var(--text-on-accent); } @media (hover: hover) { .sync-history-list-item-header.is-active:hover { --nav-collapse-icon-color: var(--text-on-accent); } } @media (hover: hover) { .sync-history-list-item-header.is-active .tree-item-flair:hover { --nav-collapse-icon-color: var(--text-on-accent); } } @media (hover: hover) { .sync-history-list-item-header:hover { background-color: var(--background-modifier-hover); } } .sync-history-list-item-header .mod-avatar-current-user { background-color: var(--sync-avatar-color-current-user); } .sync-history-list-item-header .mod-avatar-color-1 { background-color: var(--sync-avatar-color-1); } .sync-history-list-item-header .mod-avatar-color-2 { background-color: var(--sync-avatar-color-2); } .sync-history-list-item-header .mod-avatar-color-3 { background-color: var(--sync-avatar-color-3); } .sync-history-list-item-header .mod-avatar-color-4 { background-color: var(--sync-avatar-color-4); } .sync-history-list-item-header .mod-avatar-color-5 { background-color: var(--sync-avatar-color-5); } .sync-history-list-item-header .mod-avatar-color-6 { background-color: var(--sync-avatar-color-6); } .sync-history-list-item-header .mod-avatar-color-7 { background-color: var(--sync-avatar-color-7); } .sync-history-list-item-header .mod-avatar-color-8 { background-color: var(--sync-avatar-color-8); } .sync-history-list-item-header .sync-history-list-item-avatar { border-radius: 50%; height: var(--size-4-8); width: var(--size-4-8); min-width: var(--size-4-8); margin-inline-end: var(--size-4-2); display: flex; justify-content: center; align-items: center; text-transform: uppercase; color: var(--text-on-accent); border: 1px solid rgba(var(--mono-rgb-100), 0.2); } .sync-history-list-item-header.is-active .sync-history-list-item-avatar { border: 1px solid rgba(255, 255, 255, 0.25); } .sync-history-list-item-header:not(.is-active) .sync-history-list-item-avatar.mod-avatar-current-user { color: var(--text-normal); } .sync-history-list-item-header .sync-history-list-item-details { flex-grow: 1; cursor: var(--cursor); font-size: var(--font-ui-small); } .sync-history-list-item-header .tree-item-flair { padding: var(--size-4-1); } @media (hover: hover) { .sync-history-list-item-header .tree-item-flair:hover { opacity: 1; background-color: var(--background-modifier-hover); --nav-collapse-icon-color: var(--text-normal); } } .sync-history-list-item .version-group-container { position: relative; margin-bottom: var(--size-4-2); } .sync-history-list-item .version-group-container .connecting-line { position: absolute; top: 0; inset-inline-start: var(--size-4-6); height: 100%; width: var(--indentation-guide-width); background-color: var(--indentation-guide-color); } .sync-history-list-item .version-group-container .version-group-item { padding: var(--size-4-1) var(--size-2-2) var(--size-4-1) var(--size-4-12); margin-bottom: var(--size-2-1); border-radius: var(--radius-s); font-size: var(--nav-item-size); line-height: var(--line-height-tight); color: var(--nav-item-color); font-variant: tabular-nums; } .sync-history-list-item .version-group-container .version-group-item:hover { background-color: var(--nav-item-background-hover); color: var(--nav-item-color-hover); } .sync-history-list-item .version-group-container .version-group-item.is-active, .sync-history-list-item .version-group-container .version-group-item.is-active:hover { background-color: var(--nav-item-background-active); color: var(--nav-item-color-active); } .sync-history-list-item .version-group-container .version-group-item.is-active .u-muted, .sync-history-list-item .version-group-container .version-group-item.is-active:hover .u-muted { color: var(--text-on-accent); opacity: 0.8; } @media (hover: hover) { .sync-history-list-item .version-group-container .version-group-item:hover { background-color: var(--background-modifier-hover); } } .sync-history-content-container { background-color: var(--background-primary); padding: 0; height: auto; display: flex; flex-direction: column; width: 0; flex: 1 1 auto; } .sync-history-content-container .modal-button-container { border-top: 1px solid var(--background-modifier-border); margin: 0; padding: 12px; justify-content: center; } .sync-history-content-container textarea { resize: none; border: none; box-shadow: none; } .sync-history-content-container textarea:hover, .sync-history-content-container textarea:active, .sync-history-content-container textarea:focus { border: none; box-shadow: none; } .sync-history-content-empty { display: none; } .sync-history-content-container.mod-empty .sync-history-content-empty { display: block; text-align: center; padding: 24px; } .sync-history-content { display: flex; flex-direction: column; flex-grow: 1; overflow: hidden; padding: 0; } .sync-history-content .setting-item:first-child { padding: var(--size-4-4) var(--size-4-6) var(--size-4-4); border-bottom: 1px solid var(--background-modifier-border); } .sync-history-content .setting-item-info { flex-grow: 1; font-weight: var(--bold-weight); overflow: hidden; } .sync-history-content .setting-item-info .setting-item-name { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .sync-history-content .setting-item-control { justify-content: flex-end; padding-inline-end: var(--size-4-8); white-space: nowrap; } .sync-history-content .setting-item-control .checkbox-container { margin-inline-end: var(--size-4-3); } .sync-history-preview, .file-recovery-diff, .sync-history-diff { flex: 1 0 0; padding: var(--size-4-6); font-size: var(--font-ui-medium); background-color: var(--background-primary); } .sync-history-preview, .file-recovery-diff, .sync-history-diff { overflow: auto; user-select: text; } .sync-history-preview { --cursor-link: default; font-family: var(--font-text); font-size: var(--font-text-size); } .sync-history-preview img { max-width: 100%; } .sync-history-desc { flex-grow: 1; padding: var(--size-4-6); overflow-wrap: break-word; text-align: center; } .sync-history-content-container.mod-empty .sync-history-content, .sync-history-content-container.mod-empty .sync-history-content-buttons { display: none; } .sync-history-content-buttons { border-top: 1px solid var(--background-modifier-border); margin: 0; padding: var(--size-4-3); } button.sync-history-button { background-color: var(--background-secondary); box-shadow: none; margin: var(--size-4-1) 0 var(--size-4-2); min-height: var(--input-height); } @media (hover: hover) { button.sync-history-button:hover { background-color: var(--background-modifier-hover); box-shadow: none; } } /* Sync log */ .modal.mod-sync-log { height: var(--modal-height); width: var(--modal-width); max-width: var(--modal-max-width-narrow); } .modal.mod-sync-log .modal-content { display: flex; flex-direction: column; overflow: hidden; margin: calc(var(--size-4-1) * -1); padding: var(--size-4-1); } .modal.mod-sync-log .sync-log-container { overflow: auto; flex-grow: 1; font-family: var(--font-monospace); font-size: var(--font-ui-smaller); color: var(--text-muted); background-color: var(--background-secondary); border-radius: var(--radius-s); border: 1px solid var(--background-modifier-border); padding: var(--size-4-4); overflow-y: auto; } .modal.mod-sync-log .sync-log-container .list-item { line-height: var(--line-height-normal); gap: 0; margin: 0; white-space: pre-wrap; } .modal.mod-sync-log .sync-log-container .list-item.mod-error { color: var(--text-error); } .sync-file-tree-container { max-height: calc(min(90vh, var(--modal-max-height)) - 250px); overflow: auto; } .sync-exclude-folder { display: flex; margin: var(--size-4-3) 0; } .sync-exclude-folder > * { align-self: center; display: flex; } .sync-exclude-folder-name { flex-grow: 1; } .sync-exclude-folder-remove { visibility: hidden; margin-inline-end: 6px; } .sync-exclude-folder:hover .sync-exclude-folder-remove { visibility: visible; } .sync-modal-header { display: flex; flex-direction: row-reverse; justify-content: space-between; } .sync-modal-buttons > *:not(:last-child) { margin-inline-end: var(--size-4-2); } .workspace-leaf-content[data-type=sync] .view-content { padding: 0; overflow: hidden; display: flex; flex-direction: column; } .recent-changes-container { padding: var(--size-4-3) var(--size-4-3) var(--size-4-8); overflow-y: auto; overflow-x: hidden; /* Remove indentation for the collapse indicator normally used in Tree views */ /* Remove indentation of child elements in Tree views */ } .recent-changes-container .nav-folder-title { font-weight: var(--nav-heading-weight); color: var(--nav-heading-color); } .recent-changes-container .nav-folder-title:hover { font-weight: var(--nav-heading-weight) !important; } .recent-changes-container .nav-folder-title .collapse-icon { display: none; } .recent-changes-container .tree-item.nav-folder.is-collapsed .nav-folder-title { color: var(--nav-heading-color-collapsed); } @media (hover: hover) { .recent-changes-container .tree-item.nav-folder.is-collapsed .nav-folder-title:hover { color: var(--nav-heading-color-collapsed-hover); } } .recent-changes-container .nav-folder-children { margin-bottom: var(--size-4-4); } .recent-changes-container .nav-file-title, .recent-changes-container .nav-folder-title { padding-inline-start: var(--size-4-2); } .recent-changes-container .tree-item-children { border-inline-start: unset; padding-inline-start: 0; margin-inline-start: 0; } .recent-changes-container .more-button { justify-content: center; color: var(--text-faint); } .sync-vault-share-container { overflow: hidden; display: flex; flex-direction: column; } .sync-vault-shares-list-item-container { overflow: auto; } .tag-pane-tag.is-active { background-color: var(--interactive-accent); color: var(--text-on-accent); } .tag-pane-tag.is-active .tag-pane-tag-count { background-color: var(--background-modifier-hover); color: var(--text-normal); } @media (hover: hover) { .tag-pane-tag.is-active:hover { background-color: var(--interactive-accent); color: var(--text-on-accent); } } .tag-container { font-size: var(--font-ui-small); padding: var(--size-4-3) var(--size-4-3) var(--size-4-8); padding-bottom: max(var(--safe-area-inset-bottom), var(--size-4-8)); overflow: auto; } .tree-item-children .tag-pane-tag .tag-pane-tag-parent { display: none; } body:not(.is-phone) .workspace-leaf.mod-active .tree-item.has-focus > .tag-pane-tag { border-radius: var(--radius-s); box-shadow: 0 0 0 2px var(--background-modifier-border-focus); } .mod-canvas-color-1 { --canvas-color: var(--canvas-color-1); } .mod-canvas-color-2 { --canvas-color: var(--canvas-color-2); } .mod-canvas-color-3 { --canvas-color: var(--canvas-color-3); } .mod-canvas-color-4 { --canvas-color: var(--canvas-color-4); } .mod-canvas-color-5 { --canvas-color: var(--canvas-color-5); } .mod-canvas-color-6 { --canvas-color: var(--canvas-color-6); } .workspace-leaf-content[data-type='canvas'] .view-content { padding: 0; position: relative; } body { --canvas-color: 192, 192, 192; } body.theme-dark { --canvas-color: 126, 126, 126; } .canvas-wrapper { position: absolute; width: 100%; height: 100%; left: 0; top: 0; --resizer-size: 20px; --shadow-stationary: 0px 0.5px 1px 0.5px rgba(0, 0, 0, 0.1); --shadow-drag: 0px 2px 10px rgba(0, 0, 0, 0.1); --shadow-border-accent: 0 0 0 2px var(--color-accent); --zoom-multiplier: 1; background-color: var(--canvas-background); overflow: hidden; contain: strict; touch-action: none; user-select: none; } .canvas-wrapper.is-dragging { cursor: grabbing; } .canvas-wrapper.is-dragging iframe:not(.is-controlled), .canvas-wrapper.is-dragging webview { pointer-events: none; } .canvas-wrapper.is-screenshotting { z-index: 999999; } .canvas-wrapper.is-screenshotting .canvas-card-menu, .canvas-wrapper.is-screenshotting .canvas-controls { display: none !important; } .canvas-wrapper.is-screenshotting * { pointer-events: none !important; } .canvas-mover { position: absolute; width: 100%; height: 100%; left: 0; top: 0; cursor: grab; } .canvas-mover:active { cursor: grabbing; } .canvas-background { position: absolute; width: 100%; height: 100%; left: 0; top: 0; pointer-events: none; } .canvas-background circle { fill: var(--canvas-dot-pattern); } .canvas { position: absolute; width: 100%; height: 100%; left: 0; top: 0; transform-origin: 0 0; pointer-events: none; } .canvas > * { pointer-events: initial; } .canvas-selection { pointer-events: none; position: absolute; background-color: hsla(var(--color-accent-hsl), 0.1); border: 2px solid var(--color-accent); z-index: -1; } .canvas-selection.mod-group-selection { border-width: 3px; border-radius: 3px; background-color: hsla(var(--color-accent-hsl), 0.03); border-color: hsla(var(--color-accent-hsl), 0.3); pointer-events: initial; } .canvas-wrapper:not(.mod-readonly) .canvas-selection.mod-group-selection { cursor: grab; } .canvas-wrapper:not(.mod-readonly) .canvas-selection.mod-group-selection:active { cursor: grabbing; } .canvas-selection.mod-node-highlight { border-radius: var(--radius-m); } .canvas-controls, .canvas-card-menu { display: flex; position: absolute; z-index: var(--layer-cover); font-size: var(--font-ui-medium); } .canvas-card-menu { background-color: var(--background-primary); border-radius: var(--radius-s); box-shadow: var(--input-shadow); bottom: var(--size-4-4); left: 50%; transform: translatex(-50%); align-items: stretch; } .is-phone .canvas-card-menu, .mod-toolbar-open .canvas-card-menu { display: none; } .theme-dark .canvas-card-menu { background-color: var(--background-secondary); } .canvas-card-menu .canvas-card-menu-divider { width: 1px; background-color: var(--background-modifier-border); } .canvas-card-menu .canvas-card-menu-button { color: var(--text-muted); height: auto; display: flex; line-height: 1; align-items: center; justify-content: center; padding: var(--size-4-2); --icon-size: var(--icon-xl); --icon-stroke: var(--icon-xl-stroke-width); } @media (hover: hover) { .canvas-card-menu .canvas-card-menu-button:hover { color: var(--color-accent); } } .canvas-card-menu .canvas-card-menu-button svg { fill: var(--background-primary); } .theme-dark .canvas-card-menu .canvas-card-menu-button svg { fill: var(--background-secondary); } .canvas-card-menu .canvas-card-menu-button.mod-draggable { cursor: grab; } .canvas-card-menu .canvas-card-menu-button.mod-draggable:active { cursor: grabbing; } .canvas-card-menu .canvas-card-menu-button.mod-draggable svg { transition: 90ms transform ease-out; } @media (hover: hover) { .canvas-card-menu .canvas-card-menu-button.mod-draggable:hover svg { transform: translateY(-6px) scale(var(--direction), 1); filter: drop-shadow(0px 6px 2px rgba(0, 0, 0, 0.1)); } } .canvas-controls { right: var(--size-4-2); top: var(--size-4-2); gap: var(--size-4-2); display: flex; flex-direction: column; } .canvas-control-group { border-radius: var(--radius-s); background-color: var(--background-primary); border: 1px solid var(--background-modifier-border); box-shadow: var(--input-shadow); display: flex; flex-direction: column; overflow: hidden; } .canvas-control-item { border-radius: 0; box-shadow: none; height: auto; display: flex; line-height: 1; font-size: inherit; align-items: center; justify-content: center; cursor: var(--cursor); padding: var(--size-4-2); border-bottom: 1px solid var(--background-modifier-border); color: var(--text-muted); background-color: var(--interactive-normal); --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); } .canvas-control-item:last-child { border-bottom: none; } @media (hover: hover) { .canvas-control-item:hover { color: var(--text-normal); background-color: var(--interactive-hover); } } .canvas-control-item.is-active { color: var(--color-accent); } .canvas-control-item.is-disabled svg { color: var(--text-faint); } .canvas-control-item svg { pointer-events: none; } .canvas-node-container { background-color: var(--background-primary); border-radius: var(--radius-m); border: 1px solid rgb(var(--canvas-color)); contain: strict; display: flex; flex-direction: column; overflow: hidden; position: absolute; left: 0; top: 0; width: 100%; height: 100%; box-shadow: var(--shadow-stationary); } .canvas-wrapper:not(.mod-readonly) .canvas-node:not(.is-editing) .canvas-node-container { cursor: grab; } .canvas-wrapper:not(.mod-readonly) .canvas-node:not(.is-editing) .canvas-node-container:active { cursor: grabbing; } .canvas-node-label { position: absolute; left: 0; top: calc(-1 * var(--size-4-1) * var(--zoom-multiplier)); transform: translate(0, -100%) scale(var(--zoom-multiplier)); transform-origin: bottom left; max-width: calc(100% / var(--zoom-multiplier)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--canvas-card-label-color); --icon-size: 1em; } body:not(.is-ios) .canvas-wrapper.mod-animating .canvas-node-label { transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1); } .canvas-node-label svg { position: relative; top: 2px; margin-right: var(--size-4-1); } .canvas-node-label.mod-hover-label { opacity: 0; } @media (hover: hover) { .canvas-node-label:hover { color: var(--text-muted); } .canvas-node:hover .canvas-node-label.mod-hover-label { opacity: 1; } } @media (hover: none) { .canvas-node.is-focused .canvas-node-label.mod-hover-label { opacity: 1; } } .canvas-wrapper.mod-zoomed-out .canvas-node-label { display: none; } .canvas-node-placeholder { display: flex; align-items: center; justify-content: center; text-align: center; width: 100%; height: 100%; overflow: hidden; overflow-wrap: anywhere; padding: var(--size-4-6); font-size: 32px; font-weight: var(--font-semibold); } .canvas-node-placeholder::after { border-radius: var(--radius-s); content: ' '; display: block; position: absolute; top: var(--size-4-4); right: var(--size-4-4); bottom: var(--size-4-4); left: var(--size-4-4); background-color: rgba(var(--canvas-color), 0.1); } .canvas-icon-placeholder { display: flex; width: 40%; height: 40%; } .canvas-icon-placeholder svg { opacity: 0.3; color: rgb(var(--canvas-color)); width: 100%; height: 100%; } .canvas-node-interaction-layer { position: absolute; width: 0; height: 0; pointer-events: none; } .canvas-node-interaction-layer > * { pointer-events: initial; } .canvas-node { --shadow-border-themed-inset: inset 0 0 0 1px rgb(var(--canvas-color)); --shadow-border-themed: 0 0 0 2px rgb(var(--canvas-color)); position: absolute; width: 0; height: 0; } .canvas-node.is-dragging { pointer-events: none; } .canvas-node.is-dragging .canvas-node-container { box-shadow: var(--shadow-drag); } .canvas-node.is-selected, .canvas-node.is-focused { touch-action: initial; } .canvas-node.is-selected .canvas-node-label, .canvas-node.is-focused .canvas-node-label { color: var(--text-muted); } .canvas-node.is-selected .canvas-node-container, .canvas-node.is-focused .canvas-node-container { border-color: var(--color-accent); box-shadow: var(--shadow-stationary), var(--shadow-border-accent); } .canvas-node.is-selected.is-dragging .canvas-node-container, .canvas-node.is-focused.is-dragging .canvas-node-container { box-shadow: var(--shadow-drag), var(--shadow-border-accent); } .canvas-node.is-themed .canvas-node-container { border-color: rgba(var(--canvas-color), 0.7); box-shadow: inset 0 0 0 1px rgba(var(--canvas-color), 0.7), var(--shadow-stationary); } .canvas-node.is-selected.is-themed .canvas-node-container, .canvas-node.is-focused.is-themed .canvas-node-container { border-color: rgb(var(--canvas-color)); box-shadow: var(--shadow-border-themed-inset), var(--shadow-border-themed); } .canvas-node.is-selected.is-themed.is-dragging .canvas-node-container, .canvas-node.is-focused.is-themed.is-dragging .canvas-node-container { box-shadow: var(--shadow-border-themed-inset), var(--shadow-border-themed); } .canvas-node.is-dummy { cursor: grabbing; } .canvas-node.is-dummy .canvas-node-container { border: 4px solid var(--color-accent); box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15); background-color: hsla(var(--color-accent-hsl), 0.2); } .canvas-node.is-focused:not(.is-dragging) .canvas-node-content-blocker { display: none; } .canvas-node-content-blocker { position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: var(--layer-cover); } .canvas-node-group:not(.is-focused):not(.is-selected) { pointer-events: none; } .canvas-node-group .canvas-node-resizer { pointer-events: initial; } .canvas-node-group .canvas-node-container { background-color: transparent; } .canvas-node-group .canvas-node-content { background-color: rgba(var(--canvas-color), 0.07); } .canvas-group-label { position: absolute; left: 0; top: calc(-1 * var(--size-4-1) * var(--zoom-multiplier)); transform: translate(0, -100%) scale(var(--zoom-multiplier)); transform-origin: bottom left; max-width: calc(100% / var(--zoom-multiplier)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; pointer-events: initial; font-size: 1.5em; padding: var(--size-4-1) var(--size-4-2); border-radius: var(--radius-s); color: var(--text-muted); background-color: rgba(var(--canvas-color), 0.1); line-height: 1; } body:not(.is-ios) .canvas-wrapper.mod-animating .canvas-group-label { transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1); } .canvas-wrapper:not(.mod-readonly) .canvas-group-label { cursor: grab; } .canvas-wrapper:not(.mod-readonly) .canvas-group-label:active { cursor: grabbing; } .canvas-group-label[contenteditable="true"] { cursor: text; background-color: var(--background-primary); box-shadow: 0 0 0 2px rgb(var(--canvas-color)); color: var(--text-normal); text-overflow: initial; } .canvas-node-group.is-themed .canvas-group-label:not([contenteditable="true"]) { background-color: rgb(var(--canvas-color)); } .canvas-node-group.is-themed .canvas-group-label:not([contenteditable="true"]).mod-foreground-light { color: var(--text-on-accent); } .canvas-node-group.is-themed .canvas-group-label:not([contenteditable="true"]).mod-foreground-dark { color: var(--text-on-accent-inverted); } .canvas-node-content { width: 100%; height: 100%; overflow: hidden; position: relative; } .canvas-node-content.markdown-embed { border: none; padding: 0; } .canvas-node-content.markdown-embed .inline-title { cursor: text; } .canvas-node-content.markdown-embed > .markdown-embed-link { display: none; } .canvas-node-content.markdown-embed > .markdown-embed-content > .markdown-preview-view { padding: 0 var(--size-4-4); display: flex; flex-direction: column; } .canvas-wrapper:not(.mod-readonly) .canvas-node-content.markdown-embed > .markdown-embed-content > .markdown-preview-view { user-select: none; -webkit-user-select: none; } .canvas-node-content.markdown-embed > .markdown-embed-content > .markdown-preview-view::before, .canvas-node-content.markdown-embed > .markdown-embed-content > .markdown-preview-view::after { content: " "; display: block; min-height: min(calc(var(--canvas-node-height) * 0.1 - 3px), var(--size-4-4)); max-height: var(--size-4-4); flex: 1 1 0; } .canvas-node-content.markdown-embed > .markdown-embed-content > .markdown-preview-view > .markdown-preview-sizer { flex: 1 0 0; } .canvas-node-content.markdown-embed > .markdown-embed-content > .markdown-preview-view .callout { mix-blend-mode: normal; } .is-focused .canvas-node-content.markdown-embed > .markdown-embed-content > .markdown-preview-view { transform: translateZ(0); } .canvas-node.is-themed .canvas-node-content { background-color: rgba(var(--canvas-color), 0.07); } .canvas-node-content.media-embed { justify-content: center; align-items: center; display: flex; } .canvas-node-content.media-embed img, .canvas-node-content.media-embed video, .canvas-node-content.media-embed audio { flex-shrink: 0; flex-grow: 1; } .canvas-node-content.media-embed img:not([width]), .canvas-node-content.media-embed video, .canvas-node-content.media-embed audio { max-width: 100%; } .canvas-node-resizer { position: absolute; height: calc(var(--resizer-size) * var(--zoom-multiplier)); width: calc(var(--resizer-size) * var(--zoom-multiplier)); } .is-selected .canvas-node-resizer { pointer-events: none; } body.is-mobile .canvas-node-resizer { --zoom-multiplier: 1; } .canvas-wrapper.mod-readonly .canvas-node-resizer { display: none; } .canvas-node-resizer[data-resize='top'] { left: 0; right: 0; width: auto; top: calc(var(--resizer-size) * var(--zoom-multiplier) * -0.5); cursor: ns-resize; } .canvas-node-resizer[data-resize='bottom'] { left: 0; right: 0; width: auto; bottom: calc(var(--resizer-size) * var(--zoom-multiplier) * -0.5); cursor: ns-resize; } .canvas-node-resizer[data-resize='left'] { top: 0; bottom: 0; height: auto; left: calc(var(--resizer-size) * var(--zoom-multiplier) * -0.5); cursor: ew-resize; } .canvas-node-resizer[data-resize='right'] { top: 0; bottom: 0; height: auto; right: calc(var(--resizer-size) * var(--zoom-multiplier) * -0.5); cursor: ew-resize; } .canvas-node-resizer[data-resize='topright'] { right: calc(var(--resizer-size) * var(--zoom-multiplier) * -0.5); top: calc(var(--resizer-size) * var(--zoom-multiplier) * -0.5); cursor: nesw-resize; } .canvas-node-resizer[data-resize='bottomright'] { right: calc(var(--resizer-size) * var(--zoom-multiplier) * -0.5); bottom: calc(var(--resizer-size) * var(--zoom-multiplier) * -0.5); cursor: nwse-resize; } .canvas-node-resizer[data-resize='topleft'] { left: calc(var(--resizer-size) * var(--zoom-multiplier) * -0.5); top: calc(var(--resizer-size) * var(--zoom-multiplier) * -0.5); cursor: nwse-resize; } .canvas-node-resizer[data-resize='bottomleft'] { left: calc(var(--resizer-size) * var(--zoom-multiplier) * -0.5); bottom: calc(var(--resizer-size) * var(--zoom-multiplier) * -0.5); cursor: nesw-resize; } .is-mobile .canvas-node-resizer { pointer-events: none; } .is-mobile .canvas-wrapper:not(.mod-readonly) .canvas-node-interaction-layer .canvas-node-resizer[data-resize='topright'], .is-mobile .canvas-wrapper:not(.mod-readonly) .canvas-node-interaction-layer .canvas-node-resizer[data-resize='bottomright'], .is-mobile .canvas-wrapper:not(.mod-readonly) .canvas-node-interaction-layer .canvas-node-resizer[data-resize='topleft'], .is-mobile .canvas-wrapper:not(.mod-readonly) .canvas-node-interaction-layer .canvas-node-resizer[data-resize='bottomleft'] { pointer-events: all; width: 20px; height: 20px; display: block; background-color: var(--background-primary); border: 2px solid var(--color-accent); border-radius: 3px; } .canvas-node-connection-point { width: calc(var(--resizer-size) * var(--zoom-multiplier)); height: calc(var(--resizer-size) * var(--zoom-multiplier)); position: absolute; pointer-events: all; cursor: pointer; } .canvas-node-connection-point[data-side='top'] { top: 1px; left: calc(50% - var(--resizer-size) * var(--zoom-multiplier) / 2); } .canvas-node-connection-point[data-side='right'] { right: 1px; top: calc(50% - var(--resizer-size) * var(--zoom-multiplier) / 2); } .canvas-node-connection-point[data-side='bottom'] { bottom: 1px; left: calc(50% - var(--resizer-size) * var(--zoom-multiplier) / 2); } .canvas-node-connection-point[data-side='left'] { left: 1px; top: calc(50% - var(--resizer-size) * var(--zoom-multiplier) / 2); } .canvas-node-connection-point::after { content: ' '; background-color: var(--color-accent); border-radius: 50%; border: 3px solid var(--background-modifier-border); box-sizing: border-box; display: block; height: calc(var(--resizer-size) * var(--zoom-multiplier)); opacity: 0; position: relative; width: calc(var(--resizer-size) * var(--zoom-multiplier)); left: 0; top: 0; } .is-mobile .canvas-node-interaction-layer .canvas-node-connection-point::after, .canvas-node-resizer:hover .canvas-node-connection-point::after { opacity: 1; } .canvas-snaps { position: absolute; width: 100%; height: 100%; left: 0; top: 0; overflow: visible; pointer-events: none; opacity: 0.6; } .canvas-snaps line { stroke-width: 1px; stroke: var(--color-accent); } .canvas-snaps circle { fill: var(--color-accent); } .canvas-edges { position: absolute; width: 100%; height: 100%; left: 0; top: 0; overflow: visible; pointer-events: none; } .canvas-edges > * { pointer-events: initial; } .canvas-edges path.canvas-display-path { pointer-events: none; stroke-width: calc(2px * var(--zoom-multiplier)); stroke: rgb(var(--canvas-color)); fill: none; transition: stroke-width 100ms ease-out; } .canvas-edges path.canvas-interaction-path { pointer-events: stroke; stroke-width: calc(24px * var(--zoom-multiplier)); stroke-linecap: round; stroke: transparent; fill: none; transition: stroke 100ms ease-out; } .canvas-wrapper:not(.mod-readonly) .canvas-edges path.canvas-interaction-path { cursor: grab; } .canvas-wrapper:not(.mod-readonly) .canvas-edges path.canvas-interaction-path:active { cursor: grabbing; } .canvas-edges polygon.canvas-path-end { pointer-events: none; stroke: rgb(var(--canvas-color)); fill: rgb(var(--canvas-color)); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1px; transform-box: fill-box; transform: scale(var(--zoom-multiplier)); transform-origin: center top; } .canvas-edges g.is-focused path.canvas-display-path, .canvas:not(.is-connecting) .canvas-edges g:hover path.canvas-display-path { stroke-width: calc(5.5px * var(--zoom-multiplier)); } .canvas-edges g.is-focused path.canvas-interaction-path, .canvas:not(.is-connecting) .canvas-edges g:hover path.canvas-interaction-path { stroke: rgba(var(--canvas-color), 0.1); } .canvas-path-label-wrapper { position: absolute; width: fit-content; height: fit-content; } .canvas-path-label { font-size: calc(var(--font-ui-large) * var(--zoom-multiplier)); background-color: var(--background-primary); border-radius: var(--radius-s); padding: calc(var(--size-2-3) * var(--zoom-multiplier)); line-height: var(--line-height-tight); white-space: pre-wrap; transform: translate(-50%, -50%); text-align: center; max-width: calc(17em * var(--zoom-multiplier)); } .canvas-path-label.is-editing { border-color: rgb(var(--canvas-color)); box-shadow: var(--shadow-stationary), 0 0 0 calc(3px * var(--zoom-multiplier)) rgb(var(--canvas-color)); } .canvas-menu-container { position: absolute; width: 0; height: 0; top: 0; left: 0; } .canvas-menu { position: relative; width: fit-content; height: fit-content; line-height: 1; background-color: var(--background-primary); border: 1px solid var(--background-modifier-border); border-radius: var(--radius-s); box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.07); display: flex; padding: var(--size-2-1); gap: 1px; } .canvas-menu .clickable-icon { padding: var(--size-2-3) var(--size-4-2); } .canvas-submenu { display: flex; position: absolute; top: calc(100% + 5px); left: 50%; transform: translateX(-50%); padding: var(--size-4-2); border: 1px solid var(--background-modifier-border); background-color: var(--background-primary); border-radius: var(--radius-s); box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.07); overflow: hidden; gap: 1px; } .canvas-submenu .clickable-icon { padding: var(--size-2-2) var(--size-2-3); } .canvas-color-picker-item { cursor: var(--cursor); width: 24px; height: 24px; margin: 2px; border-radius: 12px; border: 2px solid var(--background-primary); background-color: rgb(var(--canvas-color)); } .canvas-color-picker-item.is-active { box-shadow: 0 0 0 2px rgb(var(--canvas-color)); } @media (hover: hover) { .canvas-color-picker-item:hover { box-shadow: 0 0 0 2px rgb(var(--canvas-color)); } } .canvas-color-picker-item input[type="color"] { margin: -4px 0 0 -2px; --swatch-width: 20px; --swatch-height: 20px; opacity: 0; } .canvas-color-picker-item.canvas-color-picker-custom:not(.is-active) { background: conic-gradient(var(--color-red), var(--color-yellow), var(--color-green), var(--color-blue), var(--color-purple), var(--color-red)); } @media (hover: hover) { .canvas-color-picker-item.canvas-color-picker-custom:not(.is-active):hover { box-shadow: 0 0 0 2px var(--background-modifier-border-hover); } } .canvas-empty-embed-container { align-items: center; display: flex; flex-direction: column; gap: var(--size-4-6); justify-content: center; height: 100%; padding: var(--size-4-3); text-align: center; } .canvas-empty-embed-action-list { display: flex; flex-direction: column; gap: var(--size-4-3); } .canvas-empty-embed-action-list button { font-size: var(--font-text-size); padding: var(--size-4-5) var(--size-4-9); } .canvas-help { display: flex; flex-direction: column; gap: var(--size-4-3); } .canvas-instruction { display: flex; justify-content: space-between; } .canvas-instruction-desc { display: flex; gap: var(--size-4-1); } .canvas-instruction-desc .setting-hotkey { display: inline; align-self: unset; padding: var(--size-4-1); margin: 0; line-height: 1; } .canvas-placeholder-message { max-width: 70vw; background: hsla(var(--color-accent-hsl), 0.1); border-radius: var(--radius-m); color: var(--color-accent); font-size: var(--font-ui-large); line-height: var(--line-height-normal); padding: var(--size-4-4) var(--size-4-6); pointer-events: none; position: absolute; text-align: center; transform: translate(-50%, -50%); } .canvas-minimap { width: 100%; height: 100%; padding: var(--size-4-1); } .inline-embed > .canvas-minimap { max-height: var(--embed-canvas-max-height); } .canvas-minimap rect { stroke-width: 5px; stroke: var(--background-modifier-border); fill: var(--background-modifier-border); fill-opacity: 0.65; } .canvas-minimap rect.is-themed { stroke: rgb(var(--canvas-color)); fill: rgb(var(--canvas-color)); fill-opacity: 0.5; } .canvas-minimap path { stroke: #c0c0c0; fill: none; } .canvas-minimap path.is-themed { stroke: rgb(var(--canvas-color)); } .canvas-cursor { position: absolute; width: 1px; height: 1px; border: 5px solid var(--color-accent); border-radius: 5px; pointer-events: none; } .canvas-watermark * { font-family: var(--font-default) !important; } .webviewer-favicon-container { display: flex; align-items: center; } .webviewer-favicon-container > * { height: var(--icon-size); max-width: var(--icon-size); } .view-action.mod-webviewer { --icon-color: var(--icon-color-active); --icon-color-hover: var(--icon-color-active); } .webviewer-container { height: 100%; display: flex; flex-direction: column; } .workspace-leaf-content[data-type="browser"] .view-header { gap: 0; } .view-header-always-show { display: flex !important; } .view-header-reload-button { display: flex; align-items: center; --icon-size: var(--icon-s); } .webviewer-address { width: 100%; display: flex; margin: 0 2px; } .webviewer-address input { flex-grow: 1; min-width: 50px; } .webviewer-address-container { padding: 0 var(--size-4-2); } .webviewer-address-container::after { /* Remove the gradient normally at the end of the titleContainerEl */ background: transparent !important; } .webviewer-addressbar-suggestion.suggestion-item { gap: var(--size-4-2); align-items: center; } .webviewer-addressbar-suggestion.suggestion-item .suggestion-flair-left, .webviewer-addressbar-suggestion.suggestion-item .suggestion-icon:first-child { color: var(--text-muted); --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); display: flex; min-width: var(--icon-s); } .webviewer-addressbar-suggestion.suggestion-item .suggestion-flair-left img, .webviewer-addressbar-suggestion.suggestion-item .suggestion-icon:first-child img { height: var(--icon-size); max-width: var(--icon-size); } .webviewer-addressbar-suggestion.suggestion-item .suggestion-icon:last-child:empty { display: none; } .webviewer-addressbar-suggestion.suggestion-item > .suggestion-content { align-items: baseline; flex-direction: row; flex-grow: 1; } .webviewer-addressbar-suggestion.suggestion-item > .suggestion-content > .suggestion-title { max-width: 75%; flex-shrink: 0; overflow: hidden; text-overflow: ellipsis; text-wrap: nowrap; font-size: var(--font-ui-medium); } .webviewer-addressbar-suggestion.suggestion-item > .suggestion-content > .suggestion-url { overflow: hidden; text-overflow: ellipsis; text-wrap: nowrap; font-size: var(--font-ui-small); color: var(--text-muted); } .webviewer-addressbar-suggestion.suggestion-item > .suggestion-content .suggestion-title + .suggestion-url { margin-left: var(--size-4-2); } .webviewer-addressbar-suggestion.suggestion-item > .suggestion-content .suggestion-title:empty + .suggestion-url { margin-left: 0; } .view-content.webviewer-content { padding: 0; } .webviewer-content { border-top: 1px solid var(--divider-color); height: 100%; display: flex; flex-direction: column; } .webviewer-content webview { flex-grow: 1; width: 100%; } .webviewer-content .reader-mode-content { overflow-y: auto; } .webviewer-content .reader-mode-content.is-readable-line-width .markdown-preview-sizer { max-width: var(--file-line-width); margin-left: auto; margin-right: auto; } .webviewer-content .markdown-preview-view .external-link { /* Hide the external link icon */ background-image: none; padding-right: 0; } .webviewer-content .error-notice { max-width: var(--file-line-width); margin: 25% auto 0; padding: var(--file-margins); } /* History View */ .webviewer-history-view-item { text-wrap: nowrap; overflow: hidden; } /* Settings */ textarea.webviewer-adblock-lists { flex-grow: 1; } .list-container.mod-manage-workspaces { margin-top: var(--size-4-4); padding-top: var(--size-4-1); border-top: var(--border-width) solid var(--divider-color); } .list-container.mod-manage-workspaces:empty { display: none; } .footnotes-view .footnote { background-color: var(--footnote-input-background); border-radius: var(--footnote-radius); display: flex; gap: var(--footnote-gap); padding-inline: var(--footnote-padding-inline); padding-block: var(--footnote-padding-block); } .footnotes-view .footnote-list-item { border-bottom: var(--footnote-divider-width) solid var(--footnote-divider-color); } .footnotes-view .footnote-list-item.is-editing { border-color: var(--footnote-divider-color-active); } .footnotes-view .footnote-list-item.is-editing > .footnote { background-color: var(--footnote-input-background-active); box-shadow: 0 0 0 var(--input-border-width-focus) var(--background-modifier-border-focus); } .footnotes-view .footnote-list-item:last-child { border-bottom-width: 0; } .footnotes-view .footnote-id { color: var(--footnote-id-color); font-size: var(--footnote-size); font-variant-numeric: tabular-nums; line-height: var(--footnote-line-height); } .footnotes-view .footnote-id::after { content: var(--footnote-id-delimiter); } .footnotes-view .footnote-id.mod-no-occurrences { color: var(--footnote-id-color-no-occurrences); } .footnotes-view .footnote-content { width: 100%; cursor: text; } .footnotes-view .footnote-content .markdown-preview-view, .footnotes-view .footnote-content .markdown-source-view { padding: 0; font-size: var(--footnote-size); line-height: var(--footnote-line-height); } .footnotes-view .markdown-embed { padding: 0; border: none; } .footnotes-view .inline-title { display: none; } .starter.is-hidden-frameless .titlebar { display: block; } .starter { -webkit-user-select: none; padding-top: 0! important; } .starter .titlebar { background-color: transparent; border: none; } .starter .titlebar-inner .titlebar-text { display: none; } .starter-screen { display: flex; flex-direction: column; background-color: var(--background-primary); width: 100%; height: 100%; } .starter-screen-inner { flex-grow: 1; display: flex; height: calc(100% - 24px); } .splash { align-items: center; background-color: var(--background-primary); display: flex; flex-direction: column; justify-content: center; flex: 1 1 auto; text-align: center; padding: 36px 0 0; } .splash-brand { flex: 0 0 content; padding: 20px 0; } .splash-brand-logo-text { margin-top: 20px; color: white; } .splash-brand-version { color: var(--text-muted); margin-top: 8px; font-size: var(--font-ui-small); } .help-options-container { flex: 1 0 0; overflow: auto; width: 100%; max-width: 82%; text-align: start; padding: var(--size-4-6) 0; } .help-options-container::-webkit-scrollbar { display: none; } .help-options-container .setting-item-description { max-width: 30em; padding-inline-end: 12px; } .help-options-container .setting-icon .svg-icon { stroke-width: 1px; --icon-size: 48px; color: var(--text-faint); } .open-vault-options-container { flex: 1 0 0; overflow: auto; width: 100%; position: relative; } .open-vault-options-container::-webkit-scrollbar { display: none; } .open-vault-options { background-color: var(--background-primary); position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 12px 36px; text-align: start; overflow-y: auto; display: flex; flex-direction: column; } .open-vault-options input[type='text'] { width: 150px; } .open-vault-options .setting-item-control button { width: 100px; } .open-vault-options .back-button { display: flex; align-items: center; -webkit-app-region: no-drag; color: var(--text-muted); user-select: none; cursor: var(--cursor); } @media (hover: hover) { .open-vault-options .back-button:hover { color: var(--text-normal); } } .open-vault-options .setting-item-description { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } .open-vault-options.mod-login { justify-content: flex-start; } .open-vault-options.mod-login input[type='text'] { width: 250px; } .open-vault-options .button-container { margin-top: var(--size-4-3); text-align: center; } .quick-start-container { margin-bottom: 10px; } .quick-start-container button { font-size: var(--font-ui-medium); padding: 8px 60px; } .quick-start-container + .setting-item { border-top: none; } .open-folder-input[type='text'] { font-size: var(--font-ui-small); width: 200px; height: 28px; } .browse-folder-button { margin-left: 10px; } .open-folder-button { margin-top: 14px; padding: 6px 36px; } .starter .notice { top: 38px; } .setting-item.mod-change-language { -webkit-app-region: no-drag; } .setting-item.mod-change-language .setting-item-info { flex-grow: 0; } .setting-item.mod-change-language .setting-item-control { flex-grow: 1; justify-content: flex-start; } .setting-item.mod-change-language select { width: 100%; max-width: 100%; } .setting-item.mod-change-language .setting-item-name { color: var(--text-faint); position: relative; top: 3px; cursor: var(--cursor); } @media (hover: hover) { .setting-item.mod-change-language .setting-item-name:hover { color: var(--text-muted); } } .setting-icon { display: flex; color: var(--text-muted); margin-right: 24px; } .recent-vaults { background-color: var(--background-secondary); border-right: 1px solid var(--background-modifier-border); padding: var(--size-4-8) 0 0 0; flex-shrink: 0; width: 280px; overflow-y: hidden; height: 100%; } .recent-vaults-list { overflow-y: auto; height: 100%; padding: var(--size-4-2); display: flex; flex-direction: column; } .recent-vaults-list:after { -webkit-app-region: drag; display: block; content: ' '; width: 100%; height: 100px; flex-grow: 1; } .recent-vaults-list-item { -webkit-app-region: no-drag; border-radius: var(--radius-s); margin-bottom: var(--size-4-1); padding: var(--size-4-2) var(--size-4-6) var(--size-4-2) var(--size-4-3); cursor: var(--cursor); position: relative; } @media (hover: hover) { .recent-vaults-list-item:hover { background-color: var(--background-modifier-hover); color: var(--text-on-accent); } } .recent-vaults-list-item-name, .recent-vaults-list-item-path { word-break: break-all; } .recent-vaults-list-item-name { border-radius: 2px; border: 1px solid transparent; } .recent-vaults-list-item-name[contenteditable] { cursor: text; border-color: var(--interactive-accent); background-color: var(--background-modifier-hover); font-size: 0.9em; padding: 0 var(--size-4-1); } .recent-vaults-list-item-path { font-size: var(--font-ui-smaller); color: var(--text-muted); line-height: 16px; } .recent-vaults-list-item-option-button { position: absolute; top: var(--size-4-3); right: var(--size-4-1); color: var(--text-faint); width: 30px; height: 30px; line-height: 36px; text-align: center; transition: background-color 200ms ease-in-out; } .recent-vaults-list-item-option-button:hover { color: var(--text-normal); } :root { --safe-area-inset-top: env(safe-area-inset-top); --safe-area-inset-bottom: env(safe-area-inset-bottom); --safe-area-inset-left: env(safe-area-inset-left); --safe-area-inset-right: env(safe-area-inset-right); --keyboard-height: 0px; } body.emulate-mobile { --safe-area-inset-top: 59px; --safe-area-inset-bottom: 34px; --safe-area-inset-left: 0px; --safe-area-inset-right: 0px; } body.emulate-mobile button, body.emulate-mobile input, body.emulate-mobile .suggestion-bg, body.emulate-mobile .text-icon-button, body.emulate-mobile .clickable-icon { touch-action: manipulation; } body.hide-cursor { caret-color: transparent !important; } body.is-screenshotting *::-webkit-scrollbar { display: none; } @media (max-width: 380px) { .is-phone.is-mobile { --mobile-sidebar-min-width: 200px; --mobile-sidebar-width: 100vw; --mobile-sidebar-radius: 0; } } .is-mobile { --ribbon-width: 58px; --view-header-height: 50px; --bases-header-height: 50px; --mobile-toolbar-height: 40px; --system-status-background: var(--background-primary); --caret-color: var(--text-accent); --font-ui-smaller: calc(var(--font-text-size) * 0.8); --font-ui-small: calc(var(--font-text-size) * 0.937); --font-ui-medium: var(--font-text-size); --font-ui-large: calc(var(--font-text-size) * 1.2); --icon-s: 18px; --icon-m: 20px; --icon-l: 24px; --icon-opacity: 1; --icon-opacity-hover: 0.65; --input-height: 40px; --input-shadow: none; --input-shadow-hover: none; --input-font-weight: var(--font-medium); --input-border-width: 0px; --interactive-normal: var(--background-secondary); --interactive-hover: var(--background-modifier-border); --mobile-sidebar-width: 88vw; --mobile-sidebar-width-pinned: 320px; --mobile-sidebar-min-width: 320px; --mobile-sidebar-max-width: 500px; --mobile-sidebar-background: var(--background-primary); --mobile-sidebar-radius: var(--radius-xl); --nav-item-padding: var(--size-2-3) var(--size-4-2) var(--size-2-3) var(--size-4-6); --nav-item-color: var(--text-normal); --prompt-input-height: 48px; --search-clear-button-size: 16px; --search-icon-size: 20px; --settings-home-background: var(--background-secondary); --slider-thumb-border-width: 0.5px; --slider-thumb-height: 24px; --slider-thumb-width: 24px; --slider-thumb-y: -9px; --slider-track-height: 6px; --swatch-shadow: none; --swatch-height: 40px; --swatch-width: 40px; --swatch-radius: 40px; --toggle-width: 48px; --toggle-radius: 26px; --toggle-thumb-radius: 26px; --toggle-thumb-height: 26px; --toggle-thumb-width: 26px; --file-margins: var(--size-4-2) var(--size-4-6); --background-modifier-cover: rgba(0, 0, 0, 0.25); --background-modifier-form-field: var(--interactive-normal); --background-modifier-form-field-hover: var(--interactive-hover); --keyboard-background: var(--background-primary); --checkbox-size: 17px; --cursor: pointer; } .is-mobile.theme-dark { --color-base-00: #000; --color-base-10: #111; --color-base-20: #1e1e1e; --tag-background: hsla(var(--interactive-accent-hsl), 0.2); --search-result-background: var(--background-secondary); --background-modifier-form-field: var(--background-modifier-border); --background-modifier-cover: rgba(0, 0, 0, 0.5); --background-modifier-hover: rgba(var(--mono-rgb-100), 0.15); --settings-home-background: var(--background-primary); --mobile-sidebar-background: var(--background-secondary); --background-modifier-message: var(--background-secondary); --interactive-normal: var(--background-modifier-border); --interactive-hover: var(--background-modifier-border-hover); } .is-tablet { --nav-item-padding: var(--size-2-3) var(--size-4-2) var(--size-2-3) var(--size-4-6); --tab-font-size: var(--font-ui-smaller); --system-status-background: var(--titlebar-background); } .is-tablet.theme-dark { --titlebar-background: var(--background-primary); --titlebar-background-focused: var(--background-primary); --modal-background: var(--background-secondary); } .is-phone { --border-width: 0.5pt; --divider-width: 0.5pt; --tab-outline-width: 0.5pt; --modal-header-height: 44px; --modal-community-sidebar-width: 100%; --metadata-label-width: 7.5em; --nav-item-size: var(--font-ui-medium); } body.is-mobile { position: relative; height: 100vh; width: 100vw; -webkit-text-size-adjust: 100%; } body.is-mobile .app-container { max-height: calc(100vh - var(--keyboard-height)); } body.is-mobile.keyboard-animating .app-container { max-height: 100vh; } .is-mobile .markdown-source-view.mod-cm6 .cm-gutters { margin-inline-start: -18px; } .is-mobile .workspace > .mod-root { background-color: var(--system-status-background); padding-top: var(--safe-area-inset-top); padding-left: var(--safe-area-inset-left); } .is-mobile .workspace-split.mod-left-split, .is-mobile .workspace-split.mod-right-split { display: none; } .is-mobile .tree-item .tree-item-self { padding-inline-end: var(--size-4-2); } .is-mobile input[type='text'] { width: 100%; } .is-mobile .markdown-rendered pre:not(:hover) > button.copy-code-button { display: block; } .is-mobile .markdown-rendered button.copy-code-button { width: auto; } .is-mobile .empty-state-action-list { margin-top: 40px; } .is-mobile .empty-state-action { background-color: var(--background-primary-alt); margin: 12px 0; padding: 6px 30px; border-radius: var(--button-radius); text-align: center; } .is-mobile .form-field { width: 100%; margin: 1em 0; } .is-mobile .form-field label { font-weight: var(--font-bold); } .is-mobile .form-field input { width: 100%; } .is-mobile .markdown-rendered .heading-collapse-indicator { margin-inline-start: -20px; } .is-mobile .message-container { text-align: center; margin: 0 auto; } .is-mobile .search-result-file-match-replace-button { display: block; position: relative; padding: 6px 10px; inset-inline-end: 0; margin-top: var(--size-4-3); background-color: var(--settings-home-background); } .is-mobile .suggestion-flair { position: relative; margin-inline-end: 6px; inset-inline-start: 0; top: 0; } .is-tablet button:not(.clickable-icon) { padding: var(--size-4-1) var(--size-4-5); } .suggestion-bg { display: none; } body.is-phone .suggestion-bg { display: block; z-index: var(--layer-modal); } .mobile-image-viewer { position: absolute; height: 100%; width: 100%; top: 0; left: 0; background-color: var(--background-modifier-cover); display: flex; justify-content: center; overflow: hidden; z-index: var(--layer-modal); } .mobile-image-viewer img { align-self: center; max-height: 100%; max-width: 100%; } .mod-fade { --scroll-fade-offset-right: 0; --scroll-fade-offset-left: 0; } .mod-fade:not(.mod-at-start):before { content: ' '; pointer-events: none; position: absolute; top: 0; z-index: 1; left: var(--scroll-fade-offset-left); width: 30px; height: 100%; background: linear-gradient(to right, var(--background-primary), transparent); } .mod-fade:not(.mod-at-end):after { content: ' '; position: absolute; pointer-events: none; top: 0; right: var(--scroll-fade-offset-right); width: 30px; height: 100%; background: linear-gradient(to right, transparent, var(--background-primary)); } .is-phone { --metadata-property-box-shadow: none; } .is-phone .bases-header .bases-toolbar-item { --bases-toolbar-label-display: none; } .is-phone .bases-toolbar-views-menu, .is-phone .bases-toolbar-properties-menu { --menu-padding: var(--size-4-2) 0; } .is-phone .bases-toolbar-views-menu .suggestion-group, .is-phone .bases-toolbar-properties-menu .suggestion-group, .is-phone .bases-toolbar-views-menu .bases-toolbar-menu-container-header, .is-phone .bases-toolbar-properties-menu .bases-toolbar-menu-container-header, .is-phone .bases-toolbar-views-menu .bases-toolbar-menu-form, .is-phone .bases-toolbar-properties-menu .bases-toolbar-menu-form { padding-left: var(--size-4-3); padding-right: var(--size-4-3); } .is-phone .bases-toolbar-views-menu .search-input-container, .is-phone .bases-toolbar-properties-menu .search-input-container { width: calc(100% - var(--size-4-6)); margin-left: auto; margin-right: auto; border: none; } .is-phone .bases-toolbar-menu { background-color: var(--background-secondary); border: none; width: calc(100% - var(--safe-area-inset-left) - var(--safe-area-inset-right)); min-width: unset; position: fixed; margin-left: var(--safe-area-inset-left); margin-right: var(--safe-area-inset-right); border-radius: var(--radius-l) var(--radius-l) 0 0; bottom: 0; left: 0; right: 0; margin: 0 auto; } .is-phone .bases-toolbar-menu.bases-toolbar-filter-menu { height: calc(100vh - var(--safe-area-inset-top)); } .is-phone .bases-toolbar-menu.bases-toolbar-filter-menu .modal-header { display: block; } .is-phone .bases-toolbar-menu .menu-scroll { max-height: calc(100vh - var(--view-header-height) - var(--safe-area-inset-top)); } .is-phone .bases-toolbar-menu-container { --bases-property-menu-item-radius: 0; max-width: 100%; } .is-phone .bases-toolbar-menu-container .bases-toolbar-menu-container-header { --icon-size: var(--icon-l); --icon-stroke: var(--icon-l-stroke-width); } .is-phone .bases-toolbar-menu-container input[type=search] { border: 0; box-shadow: none; border-radius: var(--radius-l); background-color: var(--background-modifier-form-field); } .is-phone .bases-toolbar-menu-container .close-icon { display: none; } .is-phone .filter-row > .conjunction { display: none; } .is-phone .bases-query-container .conjunction.dropdown { width: 100%; } .is-phone .bases-query-container .filter-lhs-container { width: 100%; border-bottom: 1px solid var(--menu-background); } .is-phone .bases-query-container .filter-rhs-container { border-width: 0; } .is-phone .bases-query-container .filter-rhs-container:empty { display: none; } .is-phone .bases-query-container .filter-expression { background-color: var(--interactive-normal); flex-wrap: wrap; box-shadow: none; } .is-phone .bases-query-container .combobox-button { padding-inline-start: var(--size-4-2); border-width: 0; } .is-phone .bases-query-container .filter-group .filter-row .filter-operator { border-width: 0; } .is-mobile { --bases-cards-scale: 0.85; } .is-mobile .bases-toolbar-section { padding: var(--size-4-1); } .is-mobile .view-content > .bases-view { overscroll-behavior: none; } .is-mobile .workspace-leaf-content[data-type=bases-query] .bases-header { --bases-header-padding-start: var(--size-4-4); --bases-header-padding-end: var(--size-4-4); } .is-mobile .bases-header { --icon-size: var(--icon-l); --icon-stroke: var(--icon-l-stroke-width); } .is-mobile .bases-header .bases-toolbar { column-gap: var(--size-4-2); } .is-mobile .action-row { padding: var(--size-4-2) var(--size-4-3); } .is-mobile .document-search-container { margin-inline-end: 0; margin-inline-start: 0; padding: var(--size-4-4) var(--size-4-2); border-bottom: var(--border-width) solid var(--background-modifier-border); } .is-mobile .document-search-container.mod-replace-mode { height: auto; } .is-mobile .document-search, .is-mobile .document-replace { height: auto; padding: 0; } .is-mobile .document-search input, .is-mobile .document-replace input { flex-grow: 1; } .is-mobile .document-search .document-search-buttons, .is-mobile .document-replace .document-search-buttons, .is-mobile .document-search .document-replace-buttons, .is-mobile .document-replace .document-replace-buttons { display: flex; flex-grow: 1; align-items: stretch; } .is-phone .document-replace-buttons, .is-phone .document-search-buttons { gap: var(--size-2-1); padding-inline-start: var(--size-4-1); } .is-phone .document-search, .is-phone .document-replace { gap: var(--size-4-1); } .mobile-onboarding { --nav-height: 80px; --content-height: calc(100vh - var(--safe-area-inset-top)); --input-border-width: 1px; max-height: var(--content-height); margin-top: var(--safe-area-inset-top); overflow-x: hidden; overflow-y: auto; scrollbar-gutter: stable; } .mobile-onboarding .logo { color: var(--interactive-accent); } .mobile-onboarding h1 { font-size: var(--h1-size); } .mobile-onboarding .list-heading { color: var(--text-normal); font-size: var(--font-ui-medium); font-weight: var(--font-semibold); line-height: var(--line-height-normal); margin-top: 1.5em; margin-bottom: var(--size-4-2); } .mobile-onboarding p { font-size: var(--font-ui-medium); margin-block: 0.8em; } .mobile-onboarding input { background-color: transparent; } .mobile-onboarding .form-field-help { color: var(--text-faint); font-size: var(--font-ui-small); margin: var(--size-2-3) 0; } .mobile-onboarding .button-container { display: flex; flex-direction: column; gap: var(--size-4-4); width: 100%; } .mobile-onboarding .back-button.mobile-tap { opacity: 0.5; } .mobile-onboarding .status-text { font-size: var(--font-ui-small); padding: 0 var(--size-4-6); } .mobile-onboarding .mod-version { opacity: 0.3; order: 1; text-align: center; font-size: var(--font-ui-smaller); margin: var(--size-4-2); } .mobile-onboarding-feature-table { display: flex; flex-direction: column; font-size: var(--font-ui-small); margin-top: var(--size-4-4); } .mobile-onboarding-feature-table .feature-row { display: flex; flex-direction: row; justify-content: space-between; } .mobile-onboarding-feature-table .feature-row:not(:last-child) { border-bottom: var(--input-border-width) solid var(--background-modifier-border); } .mobile-onboarding-feature-table .feature-cell { display: flex; align-items: center; gap: var(--size-4-1); padding: var(--size-4-1) 0; } .mobile-onboarding-feature-table .feature-cell.mod-value { color: var(--text-muted); font-size: var(--font-ui-smaller); } .mobile-onboarding-feature-table .feature-cell.is-enabled { color: var(--text-success); font-size: var(--font-ui-smaller); } .mobile-onboarding-screen { display: flex; flex-direction: column; background-color: var(--background-primary); margin: 0 auto; max-width: 540px; min-height: var(--content-height); padding: var(--size-4-8); padding-top: var(--nav-height); } .mobile-onboarding-screen footer { order: 1; margin-top: var(--size-4-2); flex-grow: 1; display: flex; flex-direction: column; justify-content: flex-end; } .mobile-onboarding-radio-group { display: flex; flex-direction: column; gap: var(--size-4-4); margin: var(--size-4-2) 0; } .mobile-onboarding-radio-option { display: flex; padding: var(--size-4-3); gap: var(--size-4-2); border-radius: var(--radius-m); border: 2px solid var(--background-modifier-border); } .mobile-onboarding-radio-option:focus { border-color: var(--background-modifier-border-focus); } .mobile-onboarding-radio-option.is-selected { border-color: var(--interactive-accent); } .mobile-onboarding-radio-option-title { display: flex; font-size: var(--font-ui-medium); font-weight: var(--font-semibold); } .mobile-onboarding-radio-option-title .flair { align-self: baseline; color: var(--text-success); display: inline-block; padding: var(--size-4-1) var(--size-4-2); margin-left: auto; border-radius: var(--radius-l); background-color: rgba(var(--color-green-rgb), 0.3); } .mobile-onboarding-radio-option-desc { font-size: var(--font-ui-small); margin-top: var(--size-4-5); padding-inline-start: 0; } .mobile-onboarding-radio-button { flex-shrink: 0; width: 20px; height: 20px; position: relative; border: 2px solid var(--background-modifier-border); border-radius: 50%; } .mobile-onboarding-radio-button::after { top: 5px; left: 5px; position: absolute; content: ' '; height: 6px; width: 6px; border-radius: 50%; } .mobile-onboarding-radio-option.is-selected .mobile-onboarding-radio-button { background-color: var(--interactive-accent); } .mobile-onboarding-radio-option.is-selected .mobile-onboarding-radio-button::after { background-color: white; } .mobile-onboarding-navbar { display: flex; align-items: center; background-color: var(--background-primary); padding-left: var(--size-4-10); height: var(--nav-height); position: fixed; top: var(--safe-area-inset-top); z-index: var(--layer-cover); width: 100%; } .mobile-onboarding-navbar .back-button { padding: var(--size-4-2) 0; } .is-mobile .view-header { border-top: none; height: var(--view-header-height); } .is-mobile .workspace-split.mod-root > .workspace-leaf:first-of-type .workspace-leaf-content, .is-mobile .workspace-split.mod-root > .workspace-leaf:last-of-type .workspace-leaf-content { border-radius: 0; } .is-mobile .view-header-title { padding-inline-end: 0px; } .is-mobile .inline-title { padding-top: 0.25em; } .is-mobile .view-header-title-container { height: 50px; } .is-mobile .view-header-title-container:after { display: none; } .is-mobile .view-header-left { flex: 1 0 0; align-items: center; display: flex; } .is-mobile .view-actions { flex: 1 0 0; justify-content: flex-end; padding: var(--size-4-2) 0; gap: var(--size-2-1); } .is-mobile .view-header-nav-buttons, .is-mobile .view-header .view-action { --icon-color: var(--interactive-accent); --icon-color-hover: var(--interactive-accent); --icon-color-active: var(--interactive-accent-hover); --icon-color-focus: var(--interactive-accent-hover); --icon-size: var(--icon-l); --icon-stroke: var(--icon-l-stroke-width); } .is-mobile .view-action { margin: auto 0; width: auto; } .is-tablet .mod-left-split-toggle { display: none; } .is-phone .view-header { padding: 0 var(--size-4-4); } .is-phone .view-header-title-parent:not(:empty), .is-phone .view-header-title { display: block; text-overflow: ellipsis; opacity: 0.7; } .is-phone .view-header-title-parent:not(:empty):focus-within, .is-phone .view-header-title:focus-within { text-overflow: unset; opacity: 1; } .is-mobile .hotkey-list-container .setting-item { flex-direction: column; align-items: stretch; } .is-mobile .hotkey-list-container .setting-item-control { margin-top: 10px; align-items: flex-start; } .is-mobile .hotkey-list-container .setting-command-hotkeys { flex: 1 0 auto; } .is-mobile .hotkey-list-container .setting-hotkey { align-self: flex-start; } .is-tablet .horizontal-tab-nav-item, .is-tablet .vertical-tab-nav-item { padding: var(--size-4-2) var(--size-4-3); } .is-tablet .modal.mod-settings .vertical-tab-header { max-width: none; } .is-tablet.theme-dark .community-item, .is-tablet.theme-dark .vertical-tab-content { background-color: var(--background-secondary); } .is-phone .extra-setting-button.mod-hotkeys { display: none; } .is-phone .setting-item-heading { margin-top: 1.5em; } .is-phone .setting-item-heading .setting-item-info { width: 100%; } .is-phone .vertical-tab-header-group-title { padding: 0.5em 0 1em; } .is-phone .vertical-tab-header-group-title, .is-phone .setting-item-heading .setting-item-name { color: var(--text-normal); font-weight: var(--font-bold); font-size: var(--font-ui-large); } .is-phone .vertical-tab-content-container > .vertical-tab-content .setting-item-heading:first-child { padding-top: 0.5em; margin-top: 0; } .is-phone .setting-item { padding: 1em 0; border-width: var(--border-width) 0 0 0; gap: var(--size-4-1); } .is-phone .setting-item-name { font-weight: var(--font-medium); } .is-phone .setting-item-info { min-width: 0; } .is-phone .setting-item:not(.mod-toggle):not(.setting-item-heading):not(.mod-list-item) { flex-direction: column; align-items: flex-start; } .is-phone .setting-item:not(.mod-toggle):not(.setting-item-heading):not(.mod-list-item) .setting-item-control { margin-top: 12px; width: 100%; } .is-phone .setting-icon { margin-right: 10px; display: inline-flex; vertical-align: middle; } .is-phone .setting-item-control select, .is-phone .setting-item-control input, .is-phone .setting-item-control button:not(.clickable-icon) { width: 100%; margin: 0; } .is-phone .setting-item-control button { padding: 10px; } .is-phone .setting-item-control select { max-width: 100%; } .is-phone .modal.mod-settings .modal-header { border-bottom: var(--border-width) solid var(--background-modifier-border); } .is-phone .modal.mod-settings .vertical-tabs-container { display: block; overflow-y: auto; } .is-phone .modal.mod-settings .vertical-tab-header-group-title { padding-top: var(--size-4-2); padding-bottom: var(--size-4-2); padding-right: max(var(--size-4-5), var(--safe-area-inset-right)); padding-left: max(var(--size-4-5), var(--safe-area-inset-left)); } .is-phone .modal.mod-settings .vertical-tab-header { background-color: var(--background-primary); border-right: none; flex-grow: 1; height: 100%; min-width: 100%; padding: var(--size-4-4); width: 100%; } .is-phone .modal.mod-settings .vertical-tab-content { box-shadow: var(--shadow-s); will-change: transform; background-color: var(--background-primary); padding-top: var(--size-4-5); padding-right: max(var(--size-4-5), var(--safe-area-inset-right)); padding-left: max(var(--size-4-5), var(--safe-area-inset-left)); padding-bottom: max(100px, var(--safe-area-inset-bottom)); } .is-phone .modal.mod-settings .vertical-tab-header > .vertical-tab-header-group:last-child { padding-bottom: 100px; } .is-phone .modal.mod-settings .vertical-tab-nav-item { display: flex; align-items: center; height: 44px; padding-right: max(var(--size-4-5), var(--safe-area-inset-right)); padding-left: max(var(--size-4-5), var(--safe-area-inset-left)); border-radius: 0; border-bottom: var(--border-width) solid var(--background-modifier-border); transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out; } .is-phone .modal.mod-settings .vertical-tab-nav-item:last-child { border-bottom: none; } .is-phone .modal.mod-settings .vertical-tab-nav-item-chevron { display: flex; margin-inline-start: auto; color: var(--icon-color); } .is-phone .vertical-tab-header-title { font-weight: var(--font-semibold); } .is-phone .installed-plugins-container .setting-item { flex-direction: column; align-items: stretch; gap: var(--size-4-3); } .is-phone .installed-plugins-container .setting-item > *:first-child { margin-inline-end: 0; } .is-phone .installed-plugins-container .setting-item .setting-item-description div:first-child:after { content: ' • '; } .is-phone .installed-plugins-container .setting-item .setting-item-description div:first-child, .is-phone .installed-plugins-container .setting-item .setting-item-description div:nth-child(2) { display: inline; } .is-phone .installed-plugins-container .setting-item .setting-item-control { flex-wrap: wrap; } .is-phone .installed-plugins-container .setting-item .checkbox-container { margin-inline-start: auto; } .is-phone .community-modal-sidebar { background-color: var(--background-primary); } .is-phone .community-modal-controls { background-color: transparent; } .is-phone .community-modal-controls .setting-item { flex: 0 0 auto; padding: 0.25em 0; } .is-phone .community-modal-controls .setting-item-control { flex-direction: column; align-items: flex-end; } .is-phone .community-modal-controls .search-input-container { width: 100%; } .is-phone .community-modal-search-results { gap: 0; padding: 0; } .is-phone .community-modal-info { padding: var(--size-4-4); } .is-phone .community-item { border-width: 0 0 var(--border-width) 0; border-radius: 0; padding: var(--size-4-4); } .is-phone .community-item-info { padding: 20px; } .is-phone .community-modal-details { background-color: var(--background-primary); border: none; } .is-phone .community-modal-readme { padding: 20px 0; } .is-phone .community-modal-controls { padding: 0 var(--size-4-4); } .is-phone .community-modal-search-summary { padding: var(--size-4-1) var(--size-4-1) var(--size-4-4); } .is-phone .mod-community-theme .community-item { display: grid; grid-template-columns: 1fr 160px; grid-auto-flow: column dense; } .is-phone .mod-community-theme .community-item .community-item-name { grid-column: 1 / 2; } .is-phone .mod-community-theme .community-item .community-item-author { grid-column: 1 / 2; } .is-phone .mod-community-theme .community-item .community-item-badge.mod-update { position: static; grid-row: 4; } .is-phone .mod-community-theme .community-item .community-item-downloads { grid-column: 1 / 2; } .is-phone .mod-community-theme .community-item .community-item-screenshot { grid-row: 1 / span 4; height: 90px; } .is-phone .mod-community-plugin .community-item { display: grid; grid-template-columns: 3fr 1fr; grid-auto-flow: column dense; } .is-phone .mod-community-plugin .community-item .community-item-name { grid-column: 1 / 2; } .is-phone .mod-community-plugin .community-item .community-item-author { grid-column: 1 / 2; } .is-phone .mod-community-plugin .community-item .community-item-badge.mod-update { position: static; grid-row: 4; } .is-phone .mod-community-plugin .community-item .community-item-updated { grid-column: 1 / 2; color: var(--text-faint); display: none; } .is-phone .mod-community-plugin .community-item .community-item-downloads { grid-column: 2 / 2; text-align: end; color: var(--text-faint); } .is-phone .mod-community-plugin .community-item .community-item-desc { grid-column: 1 / span 2; } .is-phone .community-modal-button-container { flex-direction: column; } .mobile-option-setting-item { font-size: var(--font-ui-medium); display: flex; align-items: center; margin: 8px 0; gap: var(--size-4-1); transition: transform 1000ms ease-in-out; color: var(--text-muted); } .mobile-option-setting-item:first-of-type:last-of-type .mobile-option-setting-drag-icon { display: none; } .mobile-option-setting-item-name { flex: 1 0 0; color: var(--text-normal); } .mobile-option-setting-item-option-icon { display: flex; align-items: center; justify-content: center; padding: 4px 4px; cursor: var(--cursor); border-radius: var(--radius-s); } :not(.is-mobile) .mobile-option-setting-item-option-icon:hover, :not(.is-mobile) .mobile-option-setting-item-option-icon:active { background-color: var(--background-modifier-hover); } .mobile-option-setting-item-option-icon.mobile-option-setting-drag-icon { cursor: grab; } .mobile-option-setting-item-option-icon.mobile-option-setting-drag-icon:active { cursor: grabbing; } .mobile-option-setting-item-remove-icon { color: var(--text-error); display: flex; } .mobile-option-setting-item-add-icon { color: var(--text-success); display: flex; } .is-mobile .status-bar { display: none; } .workspace-drawer { position: fixed; top: 0; bottom: 0; display: flex; overflow: hidden; font-size: var(--font-ui-small); min-width: var(--mobile-sidebar-min-width); max-width: var(--mobile-sidebar-max-width); width: var(--mobile-sidebar-width); z-index: var(--layer-popover); margin: 0; border-radius: 0; padding-top: var(--safe-area-inset-top); background-color: var(--mobile-sidebar-background); } .workspace-drawer .nav-folder.mod-root > .nav-folder-title { display: none; } .workspace-drawer .nav-header { border-bottom: var(--border-width) solid var(--background-modifier-border); } .workspace-drawer .nav-header ~ .search-input-container { width: calc(100% - var(--size-4-9)); } .workspace-drawer .workspace-leaf { background-color: transparent; } .workspace-drawer.is-pinned { height: 100%; position: relative; max-width: var(--mobile-sidebar-width); padding-bottom: 0; width: var(--mobile-sidebar-width-pinned); z-index: var(--layer-cover); margin: 0; box-shadow: none; } .workspace-drawer.mod-left { left: 0; padding-left: var(--safe-area-inset-left); border-top-right-radius: var(--mobile-sidebar-radius); border-bottom-right-radius: var(--mobile-sidebar-radius); } .workspace-drawer.mod-left.is-pinned { --mobile-sidebar-radius: 0; border-right: var(--divider-width) solid var(--divider-color); } body.is-tablet .workspace-drawer.mod-left .workspace-drawer-inner { padding-left: var(--ribbon-width); } .workspace-drawer.mod-right { right: 0; padding-right: var(--safe-area-inset-right); border-top-left-radius: var(--mobile-sidebar-radius); border-bottom-left-radius: var(--mobile-sidebar-radius); } .workspace-drawer.mod-right.is-pinned { --mobile-sidebar-radius: 0; border-left: var(--divider-width) solid var(--divider-color); } .workspace-drawer.is-collapsed { overflow: hidden; } .workspace-drawer .nav-buttons-container { padding-inline-start: var(--size-4-3); padding-inline-end: var(--size-4-3); --icon-size: var(--icon-l); --icon-stroke: var(--icon-l-stroke-width); --icon-color: var(--interactive-accent); --icon-color-hover: var(--interactive-accent); --icon-color-active: var(--interactive-accent); --icon-color-focus: var(--interactive-accent-hover); } .workspace-drawer .nav-buttons-container .nav-action-button { flex-grow: 1; } .workspace-drawer .workspace-drawer-actions, .workspace-drawer .nav-buttons-container { overflow: auto; flex-wrap: nowrap; } .workspace-drawer .workspace-drawer-actions::-webkit-scrollbar, .workspace-drawer .nav-buttons-container::-webkit-scrollbar, .workspace-drawer .workspace-drawer-actions::-webkit-scrollbar-thumb, .workspace-drawer .nav-buttons-container::-webkit-scrollbar-thumb { visibility: hidden; } .workspace-drawer .side-dock-settings { margin-bottom: 0; } .workspace-drawer-inner { flex: 1 1 auto; overflow: hidden; display: flex; flex-direction: column; background-color: var(--background-primary); position: relative; transition: width ease-out 150ms; } .theme-dark .workspace-drawer-inner { background-color: var(--background-secondary); } .workspace-drawer.is-collapsed .workspace-drawer-inner { padding: 0; width: 0; } .workspace-drawer-backdrop { display: block; position: fixed; z-index: var(--layer-cover); width: 100%; height: 100%; background-color: var(--background-modifier-cover); top: 0; left: 0; opacity: 1; transition: opacity ease-out 150ms; } .workspace-drawer.is-collapsed .workspace-drawer-backdrop { display: none; opacity: 0; } .workspace-drawer-ribbon { position: absolute; left: 0; top: 0; height: 100%; overflow: auto; width: var(--ribbon-width); padding: var(--size-4-1) 0 var(--safe-area-inset-bottom); } .workspace-drawer-ribbon::-webkit-scrollbar, .workspace-drawer-ribbon::-webkit-scrollbar-thumb { visibility: hidden; width: 0; } .workspace-drawer-ribbon .side-dock-actions { padding: var(--size-4-2) 0; } .workspace-drawer-ribbon .side-dock-actions, .workspace-drawer-ribbon .side-dock-settings { gap: var(--size-4-2); } .workspace-drawer-ribbon .side-dock-ribbon-action { padding: var(--size-4-2); } .workspace-drawer-header { padding: var(--size-4-2) var(--size-4-5) 0 var(--size-4-5); display: flex; align-items: flex-start; } .workspace-drawer.is-pinned .workspace-drawer-header { padding-top: 0; } .workspace-drawer-header-left { display: flex; flex-direction: column; flex: 1 1 auto; overflow: hidden; } .workspace-drawer-header-name { display: flex; } .workspace-drawer-header-switcher { display: flex; flex: 0 1 auto; position: relative; } .workspace-drawer-header-switcher select { opacity: 0; position: absolute; } .workspace-drawer-header-name-text { text-overflow: ellipsis; overflow: hidden; font-size: var(--font-ui-large); font-weight: var(--font-semibold); color: var(--text-normal); } .workspace-drawer-header-name-chevron { --icon-size: var(--icon-m); --icon-stroke: 2.25px; color: var(--text-faint); display: flex; align-items: center; margin-inline-start: var(--size-2-1); } .workspace-drawer-header-name-action-icon { color: var(--text-muted); margin-inline-start: var(--size-4-2); display: flex; align-items: center; } .workspace-drawer-header-info { color: var(--text-muted); margin: var(--size-4-1) 0 var(--size-4-4) 0; font-size: var(--font-ui-small); } .workspace-drawer-header-icon { --icon-size: var(--icon-l); --icon-stroke: var(--icon-l-stroke-width); padding-top: var(--size-2-2); color: var(--interactive-accent); margin-inline-start: var(--size-4-3); } .workspace-drawer-actions { margin: var(--size-4-4) 0 var(--size-4-3) 0; display: flex; color: var(--text-muted); } .workspace-drawer-action-item { flex: 0 0 70px; display: flex; flex-direction: column; align-items: center; overflow: hidden; } .workspace-drawer-action-icon { color: var(--text-faint); } .workspace-drawer-action-short-name { font-size: var(--font-ui-small); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 80px; } .workspace-drawer-separator { margin: 0 0 12px 0; } .workspace-drawer-tab-option-item { transition: background-color 0.1s ease-in-out; border-radius: var(--radius-s); display: flex; align-items: center; gap: var(--size-4-2); margin: var(--size-4-1) var(--size-4-3); padding: var(--size-4-2); } .workspace-drawer-tab-option-item.mobile-tap, .workspace-drawer-tab-option-item.has-active-menu { background-color: var(--nav-item-background-hover); } .workspace-drawer-active-tab-icon { --icon-size: var(--icon-l); --icon-stroke: var(--icon-l-stroke-width); color: var(--text-normal); display: none; margin-inline-end: var(--size-4-2); } .workspace-drawer-active-tab-icon:last-child { color: var(--interactive-accent); } .workspace-drawer-active-tab-chevron { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); color: var(--text-faint); margin-inline-start: auto; } .workspace-drawer-active-tab-title { color: var(--text-normal); font-weight: var(--font-medium); font-size: var(--font-ui-medium); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; flex-grow: 1; } .workspace-drawer-active-tab-header { display: flex; align-items: center; padding: var(--size-4-2); background-color: var(--background-modifier-form-field); padding-inline-start: var(--size-4-3); border-radius: var(--radius-m); margin: 0 var(--size-4-3) var(--size-4-1); position: relative; } .workspace-drawer-active-tab-header.mobile-tap { background-color: var(--nav-item-background-hover); } .workspace-drawer-active-tab-header select { opacity: 0; position: absolute; width: 90%; } .workspace-drawer-tab-container { overflow: hidden; position: relative; flex: 1 0 0; } .workspace-drawer-tab-container > * { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .workspace-drawer-active-tab-icon.mod-exit-fullscreen { display: none; } .workspace-drawer-active-tab-container { background-color: var(--mobile-sidebar-background); display: flex; flex-direction: column; } .workspace-drawer-active-tab-container .workspace-drawer-active-tab-content .nav-files-container { padding-top: var(--size-4-3); } .workspace-drawer-active-tab-content { flex: 1 0 0; overflow: auto; display: flex; } .workspace-drawer-active-tab-content > * { flex: 1 0 0; width: 100%; height: 100%; } .workspace-drawer-active-tab-content .view-header { display: none !important; } .workspace-drawer-active-tab-content .view-content { padding-top: 4px; height: 100%; } .workspace-drawer-active-tab-content .graph-controls { display: none; } .workspace-drawer-active-tab-content .outline { font-size: var(--font-ui-medium); } .is-phone .side-dock-ribbon { display: none; } .is-phone .workspace-drawer .workspace-drawer-header-icon.mod-pin { display: none; } .is-phone .mod-root .workspace-split:not(.mod-visible), .is-phone .mod-root .workspace-tabs:not(.mod-visible) { display: none; } body.is-tablet .sidebar-toggle-button { --icon-color: var(--interactive-accent); --icon-color-hover: var(--interactive-accent); --icon-color-active: var(--interactive-accent-hover); --icon-color-focus: var(--interactive-accent-hover); --icon-size: var(--icon-l); --icon-stroke: var(--icon-l-stroke-width); } body.is-tablet .sidebar-toggle-button.mod-left { padding-left: var(--size-4-2); } .is-mobile.theme-light .menu { --interactive-normal: var(--background-primary); } .is-mobile .menu { --background-modifier-form-field: var(--interactive-normal); --dropdown-background: var(--interactive-normal); --input-height: 40px; border: none; max-width: 100%; } .is-mobile .menu-scroll { overflow-y: auto; } .is-ios .menu .menu-item-icon { order: 1; } .is-phone { --menu-padding: var(--size-4-2) var(--size-4-4); } .is-phone .menu-grabber { transition: width 0.15s var(--anim-motion-swing), background-color 0.3s var(--anim-motion-swing); height: var(--size-4-1); background: var(--text-faint); display: flex; width: 15%; border-radius: var(--radius-xl); margin: var(--size-4-2) auto var(--size-4-1); position: relative; } .is-phone.hide-cursor .menu-grabber { background: var(--text-muted); width: 14%; } .is-phone .menu { background-color: var(--background-secondary); min-width: unset; position: absolute; border-radius: var(--radius-l) var(--radius-l) 0 0; bottom: 0; left: var(--safe-area-inset-left); right: var(--safe-area-inset-right); margin: 0 auto; top: unset !important; } .is-phone .menu-scroll { max-height: 60vh; background-color: var(--background-secondary); padding-bottom: var(--safe-area-inset-bottom) !important; } .is-phone .menu-group .menu-item.is-label + .menu-item:not(.is-label) { border-top-left-radius: var(--radius-l); border-top-right-radius: var(--radius-l); } .is-phone .menu-group .menu-item:first-child { border-top-left-radius: var(--radius-l); border-top-right-radius: var(--radius-l); } .is-phone .menu-group .menu-item:last-child { border-bottom-left-radius: var(--radius-l); border-bottom-right-radius: var(--radius-l); } .is-phone .menu-group .menu-item:not(:last-child) { border-bottom: 1px solid var(--menu-background); } .is-phone .menu .suggestion-group .suggestion-item:first-child { border-top-left-radius: var(--radius-l); border-top-right-radius: var(--radius-l); } .is-phone .menu .suggestion-group .suggestion-item:last-child { border-bottom-left-radius: var(--radius-l); border-bottom-right-radius: var(--radius-l); } .is-phone .menu .suggestion-group .suggestion-item, .is-phone .menu-item { transition: background-color 0.1s ease-in-out; padding: var(--size-4-3) var(--size-4-3); height: unset; line-height: unset; border-radius: 0; } .is-phone .menu .suggestion-group .suggestion-item:not(.is-label), .is-phone .menu-item:not(.is-label) { background-color: var(--interactive-normal); } .is-phone .menu .suggestion-group .suggestion-item.mobile-tap:not(.is-disabled), .is-phone .menu-item.mobile-tap:not(.is-disabled) { background-color: var(--interactive-hover); } .is-phone .menu-separator { margin: var(--size-4-1) 0; border: 0; } .is-phone .menu-item.is-label .menu-item-title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; } .is-mobile .modal { border: none; } .is-mobile .modal-button-container { display: flex; flex-direction: column; } .is-mobile .mod-confirmation .modal-close-button { display: none; } .is-mobile button.mod-warning { background-color: var(--interactive-normal); font-weight: calc(var(--font-weight) + var(--bold-modifier)); color: var(--text-error); } .is-phone .modal, .is-phone .prompt { border: none; width: 100vw; max-width: 100vw; min-width: unset; left: 0; right: 0; } .is-phone .modal { border-radius: var(--radius-m); max-height: calc(100vh - var(--safe-area-inset-top)); padding: 0 var(--safe-area-inset-right) 0 var(--safe-area-inset-left); bottom: 0; } .is-phone .modal .modal-close-button { top: var(--size-4-3); z-index: var(--layer-modal); } .is-phone .modal .modal:not(.mod-lg) { --interactive-normal: var(--background-modifier-hover); background-color: var(--background-secondary); } .is-phone .modal-container.mod-confirmation { align-items: flex-end; } .is-phone .modal-container.mod-confirmation .modal { border-radius: var(--radius-m) var(--radius-m) 0 0; } .is-phone .modal-container.mod-confirmation .modal-header { border-bottom: var(--border-width) solid var(--background-modifier-border); } .is-phone .modal-sidebar { background-color: var(--background-primary); } .is-phone .modal-content { display: flex; position: relative; flex-direction: column; margin-top: 0; overflow: auto; padding: var(--size-4-3); } .is-phone .modal-button-container { width: 100%; padding: var(--size-4-3); margin-top: 0; margin-bottom: var(--safe-area-inset-bottom); } .is-phone .modal-button-container button.mod-cancel { margin-top: var(--size-4-1); } .is-phone .modal-header { margin-bottom: 0; padding: var(--size-4-4) 0; position: relative; width: 100%; } .is-phone .modal-title { display: block; font-size: var(--font-ui-medium); text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 70vw; } .is-phone .modal-cta-button { color: var(--text-accent); font-weight: var(--font-semibold); position: absolute; right: 0; top: 0; margin: var(--size-4-4); } .is-phone .modal-cta-button.mobile-tap { color: var(--text-accent-hover); } .is-phone .modal.mod-lg, .is-phone .modal.mod-sidebar-layout { bottom: 0; top: 0; border-radius: 0; height: 100%; max-height: 100%; margin: 0; padding: 0 var(--safe-area-inset-right) 0 var(--safe-area-inset-left); box-shadow: none; width: 100vw; } .is-phone .modal.mod-lg .search-input-container, .is-phone .modal.mod-sidebar-layout .search-input-container { flex-grow: 1; } .is-phone .modal.mod-lg .modal-header, .is-phone .modal.mod-sidebar-layout .modal-header { border-bottom: var(--border-width) solid var(--background-modifier-border); display: block; padding-top: calc(var(--safe-area-inset-top) + var(--size-4-3)); padding-bottom: var(--size-4-3); margin-bottom: 0; } .is-phone .modal.mod-lg .modal-close-button, .is-phone .modal.mod-sidebar-layout .modal-close-button { top: calc(var(--safe-area-inset-top) + 10px); inset-inline-end: var(--size-4-3); } .is-phone .modal.mod-sidebar-layout .modal-content > * { width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; padding: 0 var(--safe-area-inset-right) 0 var(--safe-area-inset-left); } .is-phone .error-container { height: 100%; justify-content: center; } .mobile-navbar { background-color: var(--background-primary); padding-top: var(--size-4-2); padding-bottom: calc(var(--safe-area-inset-bottom) - var(--keyboard-height) - var(--keyboard-height)); padding-right: calc(var(--size-4-2) + var(--safe-area-inset-right)); padding-left: calc(var(--size-4-2) + var(--safe-area-inset-left)); } body.is-tablet .mobile-navbar { display: none; } .mobile-navbar-text { font-size: var(--font-ui-small); padding: var(--size-4-1) 0; white-space: nowrap; text-overflow: clip; width: 100%; -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 0) var(--size-4-4), #000000 var(--size-4-8)); } .mobile-navbar-actions { --icon-size: 26px; --icon-stroke: var(--icon-l-stroke-width); --icon-color: var(--interactive-accent); --icon-color-hover: var(--interactive-accent); --icon-color-active: var(--interactive-accent-hover); --icon-color-focus: var(--interactive-accent-hover); display: flex; align-items: center; justify-content: space-between; padding: 0; } .mobile-navbar-action { flex-grow: 1; transition: opacity 0.1s ease-in-out; } .mobile-navbar-action.mobile-tap { opacity: var(--icon-opacity-hover); } .mobile-navbar-action .clickable-icon, .mobile-navbar-action button { width: 100%; display: flex; justify-content: center; align-items: center; } .mobile-navbar-action-tabs { position: relative; } .mobile-navbar-action-tabs .mobile-navbar-tabs-number { position: absolute; align-items: center; display: flex; font-size: calc(var(--icon-size) * 0.55); font-weight: var(--bold-weight); justify-content: center; text-align: center; height: 100%; width: var(--icon-size); top: 0; bottom: 0; margin: auto; } .mobile-navbar-action.has-longpress-menu { position: relative; } .mobile-navbar-action.has-longpress-menu .navbar-action-flair { --icon-size: 12px; --icon-stroke: 3px; opacity: var(--icon-opacity); color: var(--interactive-accent); position: absolute; left: 0; right: 0; top: 0; margin: 0 auto; height: 100%; align-items: center; display: flex; width: fit-content; transform: translateX(calc(var(--icon-size) * -1 - 6px)); } .is-phone .notice-container { padding: 0; top: auto; bottom: max(var(--size-4-1),var(--safe-area-inset-bottom)); left: 0; right: 0; max-width: 100%; margin: 0 auto 48px; display: flex; width: 100%; flex-direction: column-reverse; padding-right: max(var(--size-4-3), var(--safe-area-inset-right)); padding-left: max(var(--size-4-3), var(--safe-area-inset-left)); gap: var(--size-4-1); } .is-phone .notice { border-radius: var(--radius-m); margin: 0 auto; max-width: 100%; width: 100%; box-shadow: none; font-weight: var(--font-medium); font-size: var(--font-ui-smaller); border: var(--border-width) solid var(--background-modifier-border); padding: 1em; flex-direction: row; align-items: center; justify-content: space-between; } .is-mobile .prompt { border: none; } .theme-dark.is-mobile .prompt { background-color: var(--background-secondary); } .theme-dark.is-mobile .prompt input.prompt-input { background-color: var(--background-secondary); } .is-mobile .prompt-input-cta { --icon-color: var(--interactive-accent); position: absolute; top: 0; bottom: 0px; inset-inline-end: var(--size-4-8); line-height: 0; display: flex; align-items: center; height: var(--input-height); margin: auto; padding: 0 var(--size-4-3); justify-content: center; flex: 0 1 auto; } .is-mobile .prompt-input[type=text] { padding: var(--size-4-4); } .is-mobile .prompt { --prompt-top: calc(var(--safe-area-inset-top) + var(--header-height) + var(--size-4-2)); top: var(--prompt-top); max-height: min(var(--prompt-max-height), calc(100vh - var(--prompt-top) - var(--safe-area-inset-bottom))); } .is-ios.is-tablet .prompt { transform: translateZ(0); } .is-phone .prompt { margin: 0 auto; width: calc(100% - var(--safe-area-inset-left) - var(--safe-area-inset-right)); border-radius: var(--radius-l) var(--radius-l) 0 0; min-width: unset; box-shadow: none; padding-bottom: var(--safe-area-inset-bottom); max-height: 100vh; height: calc(100vh - var(--prompt-top)); } .is-phone .prompt .suggestion-hotkey { display: none; } .is-phone .prompt-input-container { border-bottom: var(--border-width) solid var(--background-modifier-border); } .is-phone .prompt-input[type=text] { border: none; padding-inline-end: var(--size-4-12); } .is-phone .prompt-instructions { display: none; } .pull-action { position: absolute; background-color: var(--background-secondary); z-index: var(--layer-popover); color: var(--text-muted); font-size: var(--font-ui-smaller); transition: background-color ease-in-out 150ms; } .pull-action.mod-activated { background-color: var(--interactive-accent); color: var(--text-on-accent); } .pull-down-action { top: 0; left: 0; right: 0; width: 96%; max-width: 500px; margin: var(--safe-area-inset-top) auto 0 auto; padding: var(--size-4-3) var(--size-4-4); text-align: center; border-radius: 40px; } .pull-out-action { top: 50%; padding: var(--size-4-3) var(--size-4-4); border-radius: 40px; margin: 0 var(--size-4-4); } .is-phone { --toolbar-option-width: 40px; } .is-tablet { --toolbar-option-width: 50px; } .mobile-toolbar { -webkit-app-region: drag; flex: 0 0 auto; position: absolute; width: 100%; overflow-y: hidden; top: calc(100vh - var(--keyboard-height) - var(--mobile-toolbar-height)); padding-left: var(--safe-area-inset-left); padding-bottom: var(--safe-area-inset-bottom); padding-right: var(--safe-area-inset-right); background-color: var(--background-primary); z-index: var(--layer-menu); } .mobile-toolbar-spacer { background-color: var(--background-primary); height: var(--mobile-toolbar-height); display: flex; width: 100%; } .mobile-toolbar-options-container { --scroll-fade-offset-right: var(--toolbar-option-width); height: var(--mobile-toolbar-height); display: flex; width: 100%; } .mobile-toolbar-options-list { display: flex; width: 100%; overflow-x: auto; overflow-y: hidden; padding: 0 10px; scrollbar-width: none !important; /* Firefox */ -ms-overflow-style: none !important; /* Internet Explorer 10+ */ } .mobile-toolbar-options-list::-webkit-scrollbar { width: 0 !important; height: 0 !important; } .mobile-toolbar-floating-options { display: flex; } .mobile-toolbar-floating-options .mobile-toolbar-option { min-width: var(--toolbar-option-width); color: var(--text-accent); } .mobile-toolbar-option { display: flex; font-size: var(--font-ui-medium); color: var(--text-muted); font-family: var(--font-monospace); justify-content: center; align-items: center; min-width: var(--toolbar-option-width); } .mobile-tab-switcher { background-color: var(--tab-switcher-background); position: absolute; display: flex; flex-direction: column; height: 100vh; width: 100vw; top: 0; bottom: 0; left: 0; right: 0; z-index: var(--layer-modal); } .mobile-tab-switcher-scroll { padding-top: var(--safe-area-inset-top); background-color: var(--tab-switcher-background); display: flex; flex-direction: column; height: 100%; width: 100%; overflow-y: auto; } .mobile-tab-switcher-inner-scroll { flex: 1 0 auto; min-height: 100%; display: flex; flex-direction: column-reverse; } body.is-ios .mobile-tab-switcher-inner-scroll { min-height: calc(100% + 1px); } .mobile-tab-switcher-menubar { --icon-size: 26px; --icon-stroke: var(--icon-l-stroke-width); --icon-color: var(--interactive-accent); --icon-color-hover: var(--interactive-accent); --icon-color-active: var(--interactive-accent-hover); --icon-color-focus: var(--interactive-accent-hover); background-color: var(--tab-switcher-menubar-background); display: flex; border-top: var(--border-width) solid var(--background-modifier-border); align-items: center; justify-content: space-between; padding-top: var(--size-4-2); padding-bottom: max(var(--size-4-2), var(--safe-area-inset-bottom)); padding-left: max(var(--safe-area-inset-left), var(--size-4-4)); padding-right: max(var(--safe-area-inset-right), var(--size-4-4)); font-weight: var(--font-semibold); } .mobile-tab-switcher-menu-button { display: flex; align-items: center; gap: var(--size-4-1); transition: opacity 0.1s ease-in-out; } .mobile-tab-switcher-menu-button.mobile-tap { opacity: var(--icon-opacity-hover); } .mobile-tab-switcher-menu-button-chevron { --icon-size: var(--icon-s); --icon-stroke: var(--icon-s-stroke-width); color: var(--text-faint); display: flex; align-items: center; } .mobile-tab-switcher-menu-spacer { display: flex; flex: 1 0 0; } .mobile-tab-switcher-menu-spacer:first-child { justify-content: flex-start; } .mobile-tab-switcher-menu-spacer:last-child { justify-content: flex-end; } .mobile-tab-switcher-search { margin: var(--size-4-4); margin-top: 50px; } .mobile-tab-group-container { display: flex; align-items: center; align-content: flex-start; gap: var(--size-4-4); row-gap: var(--size-4-6); justify-content: flex-start; margin: var(--size-4-4); flex-wrap: wrap; } .mobile-tab-wrapper { display: flex; flex-direction: column; width: calc(50% - var(--size-4-2)); } .mobile-tab { gap: var(--size-4-2); flex-direction: column; display: flex; scroll-margin: var(--size-4-3); } .mobile-tab.is-active .mobile-tab-preview-empty, .mobile-tab.is-active .mobile-tab-preview-embed { box-shadow: var(--tab-switcher-preview-shadow-active); } .mobile-tab .mobile-tab-pin, .mobile-tab .close-button { --icon-size: var(--icon-m); background-color: var(--background-primary-alt); position: absolute; top: var(--size-4-2); inset-inline-end: var(--size-4-2); width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; z-index: 2; border-radius: var(--radius-xl); } .mobile-tab .mobile-tab-pin { color: var(--interactive-accent); } .mobile-tab-footer { display: flex; gap: var(--size-4-1); } .mobile-tab-title { font-size: var(--font-ui-smaller); font-weight: var(--font-medium); color: var(--text-normal); text-overflow: ellipsis; white-space: pre; overflow: hidden; unicode-bidi: plaintext; text-align: center; } .mobile-tab-preview { position: relative; height: 200px; background-color: var(--background-primary); border-radius: var(--tab-switcher-preview-radius); } .mobile-tab-preview:before { position: absolute; content: ''; width: 100%; height: 100%; display: block; box-shadow: var(--tab-switcher-preview-background-shadow); border-radius: var(--tab-switcher-preview-radius); } .mobile-tab-preview-empty { --icon-size: var(--icon-xl); --icon-stroke: var(--icon-xl-stroke-width); z-index: 1; position: absolute; box-shadow: var(--tab-switcher-preview-shadow); background-color: var(--background-primary); color: var(--text-faint); border-radius: var(--tab-switcher-preview-radius); overflow: hidden; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; } .mobile-tab-preview-embed { z-index: 1; position: absolute; box-shadow: var(--tab-switcher-preview-shadow); background-color: var(--background-primary); overflow: hidden; height: 100%; width: 100%; object-fit: cover; object-position: top left; border-radius: var(--tab-switcher-preview-radius); pointer-events: none; } .mobile-tab-preview-embed ::-webkit-scrollbar { display: none; } .is-mobile .suggestion-item { padding: var(--size-4-2) var(--size-4-3); } .is-tablet.theme-dark .suggestion-container { background-color: var(--background-secondary); } .is-phone .suggestion-item.mod-group { border-radius: 0; } .is-mobile .publish-changes-info-publishing-to { display: none; } .is-mobile .publish-changes-add-linked-btn { width: auto; } .is-mobile .file-tree .tree-item-self { font-size: var(--font-ui-small); } .is-phone .modal.mod-publish { border-radius: 0; } .is-phone .modal.mod-publish .modal-button-container { background-color: var(--modal-background); position: fixed; } .is-phone .modal.mod-publish .modal-content { display: unset; } .is-phone .publish-changes-info { flex-wrap: wrap; } .is-phone .publish-changes-info .search-input-container { width: auto; } .is-mobile .sync-history-list { padding-left: max(var(--size-4-5), var(--safe-area-inset-left)); padding-right: max(var(--size-4-5), var(--safe-area-inset-right)); padding-bottom: max(var(--size-4-2), var(--safe-area-inset-bottom)); } .is-mobile .sync-history-list-item-header { margin-bottom: 0; } .is-mobile .sync-history-list-item-details { padding: var(--size-4-1) var(--size-4-4); } .is-mobile .sync-history-content-container { display: flex; flex-direction: column; max-width: unset; } .is-mobile .sync-history-content { flex: 1 1 auto; border-radius: 0; border: none; } .is-phone .modal.mod-sync-log .modal-content { margin-inline-start: 0; margin-inline-end: 0; padding-inline-start: 0; padding-inline-end: 0; } .is-phone .modal.mod-sync-log .modal-content > .setting-item { padding: var(--size-4-3); } .is-phone .modal.mod-sync-log .modal-content .sync-log-container { flex: 1 1 auto; border: none; border-radius: 0; } .is-phone .sync-history-list-item:not(:first-child) { border-top: var(--border-width) solid var(--background-modifier-border); } .is-phone .sync-history-list-item-header { margin: 0; border-radius: 0; } .is-phone .modal.mod-sync-history .search-input-container { width: 100%; margin-bottom: 0; } .is-phone .sync-history-list-container { border: none; background-color: var(--background-primary); display: block; } .is-phone .sync-history-preview { padding-bottom: max(var(--size-4-6), var(--safe-area-inset-bottom)); } .is-phone .sync-history-content .modal-setting-title { display: none; } .is-phone .sync-history-content .setting-item { flex-direction: column; align-items: start; } .is-phone .sync-history-content .setting-item:first-child { padding: 0 var(--size-4-6) var(--size-4-4); } .is-phone .sync-history-content .setting-item-name { font-weight: var(--font-semibold); font-size: var(--font-ui-large); white-space: normal; } .is-phone .sync-history-content .setting-item-control { padding-inline-end: 0; } .is-phone .sync-history-content .setting-item-control label { min-width: fit-content; } .is-phone .sync-history-content .modal-setting-titlebar { padding-inline-end: var(--size-4-4); } .is-phone .sync-vault-share-container .setting-item-control { flex-direction: column; } .mobile-vault-chooser { width: 100%; height: 100%; background-color: var(--background-primary); position: relative; } .mobile-vault-chooser hr { margin: 12px 0; border-width: var(--border-width); } .mobile-vault-chooser-screen { background-color: var(--background-primary); display: flex; flex-direction: column; position: absolute; left: 0; top: 0; width: 100%; height: 100%; padding-top: var(--safe-area-inset-top); padding-left: var(--safe-area-inset-left); padding-right: var(--safe-area-inset-right); } .mobile-vault-chooser-header { display: flex; background-color: var(--background-primary); border-bottom: var(--border-width) solid var(--background-modifier-border); color: var(--text-muted); flex: 0 0 50px; font-size: 18px; align-items: center; } .mobile-vault-chooser-header-icon { display: flex; margin: 0 6px 0 10px; } .mobile-vault-chooser-content { flex: 1 0 0; padding: 20px; height: 100%; overflow-y: auto; scrollbar-gutter: stable both-edges; max-width: 800px; width: 100%; margin: 0 auto; padding-bottom: var(--safe-area-inset-bottom); } .mobile-vault-chooser-logo-container { margin: 40px 0; text-align: center; color: var(--text-muted); } .mobile-vault-logo-text { margin-top: 10px; margin-bottom: 10px; color: white; } .mobile-vault-chooser-load-text { margin: 20px 0; text-align: center; } .mobile-vault-chooser-version { font-size: var(--font-ui-small); color: var(--text-faint); } .mobile-vault-chooser-empty-state { margin: 20px 0; font-size: 17px; color: var(--text-muted); } .mobile-vault-chooser-actions { padding-bottom: 40px; } .mobile-vault-chooser-action-icon { color: var(--text-muted); display: flex; padding: 10px; margin: -10px 0; } .mobile-vault-chooser-action { border-radius: var(--radius-s); display: flex; padding: 14px 0; align-items: center; font-size: 18px; } .mobile-vault-chooser-action.mobile-tap { background-color: var(--background-modifier-hover); } .mobile-vault-chooser-action-name { flex: 1 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .mobile-vault-chooser-action-description { color: var(--text-muted); font-size: 17px; overflow: hidden; text-overflow: ellipsis; max-width: calc(100vw - 110px); white-space: nowrap; } .mobile-vault-chooser-field-name { color: var(--text-muted); margin: 20px 0 10px 0; font-size: 18px; } input.mobile-vault-chooser-field-input { width: 100%; font-size: var(--font-ui-medium); padding: 8px 12px; height: auto; } .mobile-vault-chooser-button-container { margin: 20px 0; } .mobile-vault-chooser-button-container button { padding: 10px 20px; font-size: var(--font-ui-medium); width: 100%; } .mobile-vault-chooser-load-button button { margin-top: var(--size-4-3); width: 100%; } .mobile-vault-chooser-load-callout { text-align: start; background-color: var(--background-primary-alt); border-radius: var(--radius-m); padding: var(--size-4-4) var(--size-4-6); } .mobile-vault-chooser-load-callout .mobile-vault-chooser-callout-title { color: var(--text-normal); font-size: var(--font-ui-small); font-weight: var(--font-medium); } .mobile-vault-chooser-load-callout p { color: var(--text-muted); font-size: var(--font-ui-smaller); line-height: var(--line-height-normal); } (()=>{var e={134:(e,t,n)=>{"use strict";var i=n(8813);e.exports=function(e,t,n){var l,c,u,h=-1,p=t.length,d="",f="",m="",v="";for(;++h{"use strict";var i=n(7297);e.exports=i({space:"xml",transform:function(e,t){return"xml:"+t.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}})},326:(e,t,n)=>{"use strict";var i=n(8593),r=n(7137),o=n(631);e.exports=function(e,t){var n=e.upperDoctype?s:a,i=e.tightDoctype?"":" ",r=t.name,o=t.public,c=t.system,u=[""};var a="doctype",s=a.toUpperCase();function l(e,t){var n=e.quote,a=e.alternative,s=String(t),l=r(s,n)>r(s,a)?a:n;return l+o(s,i(e.entities,{subset:["<","&",l]}))+l}},396:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,o,a={},s=t.ordered?"ol":"ul",l=-1;"number"==typeof t.start&&1!==t.start&&(a.start=t.start);n=r(e,t),o=n.length;for(;++l{"use strict";var i=n(8257),r=n(1900),o=n(1030);e.exports=c,c.locator=o;var a="*",s="_",l="\\";function c(e,t,n){var o,c,u,h,p,d,f,m=0,v=t.charAt(m);if(!(v!==a&&v!==s||(c=this.options.pedantic,p=v,u=v,d=t.length,m++,h="",v="",c&&r(t.charAt(m)))))for(;m{"use strict";var i=n(3115);e.exports=a,a.locator=i;var r="\n",o="\\";function a(e,t,n){var i,a;if(t.charAt(0)===o&&(i=t.charAt(1),-1!==this.escape.indexOf(i)))return!!n||(a=i===r?{type:"break"}:{type:"text",value:i},e(o+i)(a))}},493:e=>{"use strict";function t(e){if(null==e)return n;if("string"==typeof e)return function(e){return t;function t(t){return Boolean(t&&t.type===e)}}(e);if("object"==typeof e)return"length"in e?function(e){var n=[],i=-1;for(;++i{"use strict";var i=n(5176),r=n(7297),o=n(1716),a=i.boolean,s=i.overloadedBoolean,l=i.booleanish,c=i.number,u=i.spaceSeparated,h=i.commaSeparated;e.exports=r({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:o,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:h,acceptCharset:u,accessKey:u,action:null,allow:null,allowFullScreen:a,allowPaymentRequest:a,allowUserMedia:a,alt:null,as:null,async:a,autoCapitalize:null,autoComplete:u,autoFocus:a,autoPlay:a,capture:a,charSet:null,checked:a,cite:null,className:u,cols:c,colSpan:null,content:null,contentEditable:l,controls:a,controlsList:u,coords:c|h,crossOrigin:null,data:null,dateTime:null,decoding:null,default:a,defer:a,dir:null,dirName:null,disabled:a,download:s,draggable:l,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:a,formTarget:null,headers:u,height:c,hidden:a,high:c,href:null,hrefLang:null,htmlFor:u,httpEquiv:u,id:null,imageSizes:null,imageSrcSet:h,inputMode:null,integrity:null,is:null,isMap:a,itemId:null,itemProp:u,itemRef:u,itemScope:a,itemType:u,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:a,low:c,manifest:null,max:null,maxLength:c,media:null,method:null,min:null,minLength:c,multiple:a,muted:a,name:null,nonce:null,noModule:a,noValidate:a,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextMenu:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:a,optimum:c,pattern:null,ping:u,placeholder:null,playsInline:a,poster:null,preload:null,readOnly:a,referrerPolicy:null,rel:u,required:a,reversed:a,rows:c,rowSpan:c,sandbox:u,scope:null,scoped:a,seamless:a,selected:a,shape:null,size:c,sizes:null,slot:null,span:c,spellCheck:l,src:null,srcDoc:null,srcLang:null,srcSet:h,start:c,step:null,style:null,tabIndex:c,target:null,title:null,translate:null,type:null,typeMustMatch:a,useMap:null,value:l,width:c,wrap:null,align:null,aLink:null,archive:u,axis:null,background:null,bgColor:null,border:c,borderColor:null,bottomMargin:c,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:a,declare:a,event:null,face:null,frame:null,frameBorder:null,hSpace:c,leftMargin:c,link:null,longDesc:null,lowSrc:null,marginHeight:c,marginWidth:c,noResize:a,noHref:a,noShade:a,noWrap:a,object:null,profile:null,prompt:null,rev:null,rightMargin:c,rules:null,scheme:null,scrolling:l,standby:null,summary:null,text:null,topMargin:c,valueType:null,version:null,vAlign:null,vLink:null,vSpace:c,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:a,disableRemotePlayback:a,prefix:null,property:null,results:c,security:null,unselectable:null}})},544:(e,t,n)=>{"use strict";e.exports=function(e,t){return e(t,"h"+t.depth,i(e,t))};var i=n(4297)},618:(e,t,n)=>{"use strict";var i=n(8785);e.exports=function(e,t){return e.dangerous?t.value:i(e,t)}},631:(e,t,n)=>{"use strict";e.exports=n(9159)},741:e=>{"use strict";e.exports=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}},745:(e,t,n)=>{"use strict";var i=n(7092),r=n(6058),o=n(5540),a=n(6047);e.exports=function(e,t,n){var r,o,g,y,b,w,k,E,S,M,x,T,D,A,P,L,I,O,F,N,R,B,V,H=this,z=H.options.commonmark,q=H.options.pedantic,W=H.blockTokenizers,j=H.interruptList,U=0,_=t.length,G=null,K=!1;for(;U<_&&((y=t.charAt(U))===f||y===p);)U++;if((y=t.charAt(U))===s||y===c||y===u)b=y,g=!1;else{for(g=!0,o="";U<_&&(y=t.charAt(U),i(y));)o+=y,U++;if(y=t.charAt(U),!o||!(y===h||z&&y===m))return;if(n&&"1"!==o)return;G=parseInt(o,10),b=y}if((y=t.charAt(++U))!==p&&y!==f&&(q||y!==d&&""!==y))return;if(n)return!0;U=0,A=[],P=[],L=[];for(;U<_;){for(k=U,E=!1,V=!1,-1===(w=t.indexOf(d,U))&&(w=_),r=0;U<_;){if((y=t.charAt(U))===f)r+=v-r%v;else{if(y!==p)break;r++}U++}if(I&&r>=I.indent&&(V=!0),y=t.charAt(U),S=null,!V){if(y===s||y===c||y===u)S=y,U++,r++;else{for(o="";U<_&&(y=t.charAt(U),i(y));)o+=y,U++;y=t.charAt(U),U++,o&&(y===h||z&&y===m)&&(S=y,r+=o.length+1)}if(S)if((y=t.charAt(U))===f)r+=v-r%v,U++;else if(y===p){for(B=U+v;U=I.indent||r>v):V=!0,E=!1,U=k;if(x=t.slice(k,w),M=k===U?x:t.slice(U,w),(S===s||S===l||S===u)&&W.thematicBreak.call(H,e,x,!0))break;if(T=D,D=!E&&!M.trim(),V&&I)I.value=I.value.concat(L,x),P=P.concat(L,x),L=[];else if(E)0!==L.length&&(K=!0,I.value.push(""),I.trail=L.concat()),I={value:[x],indent:r,trail:[]},A.push(I),P=P.concat(L,x),L=[];else if(D){if(T&&!z)break;L.push(x)}else{if(T)break;if(a(j,W,H,[e,x,!0]))break;I.value=I.value.concat(L,x),P=P.concat(L,x),L=[]}U=w+1}N=e(P.join(d)).reset({type:"list",ordered:g,start:G,spread:K,children:[]}),O=H.enterList(),F=H.enterBlock(),U=-1,_=A.length;for(;++U<_;)I=A[U].value.join(d),R=e.now(),e(I)(C(H,I,R),N),I=A[U].trail.join(d),U!==_-1&&(I+=d),e(I);return O(),F(),N};var s="*",l="_",c="+",u="-",h=".",p=" ",d="\n",f="\t",m=")",v=4,g=/\n\n(?!\s*$)/,y=/^\[(.)][ \t]/,b=/^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/,w=/^([ \t]*)([*+-]|\d+[.)])([ \t]+)/,k=/^( {1,4}|\t)?/gm;function C(e,t,n){var i,r,o=e.offset,a=null,s=null;return t=(e.options.pedantic?E:S).apply(null,arguments),e.options.gfm&&(i=t.match(y))&&(r=i[0].length,a=" "!==i[1],s=i[1],o[n.line]+=r,t=t.slice(r)),{type:"listItem",spread:g.test(t),checked:a,checklist:s,children:e.tokenizeBlock(t,n)}}function E(e,t,n){var i=e.offset,r=n.line;return t=t.replace(w,o),r=n.line,t.replace(k,o);function o(e){return i[r]=(i[r]||0)+e.length,r++,""}}function S(e,t,n){var i,a,s,l,c,u,h,f=e.offset,m=n.line;for(l=(t=t.replace(b,(function(e,t,n,r,o){a=t+n+r,s=o,Number(n)<10&&a.length%2==1&&(n=p+n);return(i=t+p.repeat(n.length)+r)+s}))).split(d),(c=o(t,r(i).indent,!1).split(d))[0]=s,f[m]=(f[m]||0)+a.length,m++,u=0,h=l.length;++u{"use strict";e.exports=function(e,t){var n=e.indexOf("\n",t);for(;n>t&&" "===e.charAt(n-1);)n--;return n}},859:(e,t,n)=>{"use strict";var i=n(2472);function r(){}e.exports=a,r.prototype=Error.prototype,a.prototype=new r;var o=a.prototype;function a(e,t,n){var r,o,a;"string"==typeof t&&(n=t,t=null),r=function(e){var t,n=[null,null];"string"==typeof e&&(-1===(t=e.indexOf(":"))?n[1]=e:(n[0]=e.slice(0,t),n[1]=e.slice(t+1)));return n}(n),o=i(t)||"1:1",a={start:{line:null,column:null},end:{line:null,column:null}},t&&t.position&&(t=t.position),t&&(t.start?(a=t,t=t.start):a.start=t),e.stack&&(this.stack=e.stack,e=e.message),this.message=e,this.name=o,this.reason=e,this.line=t?t.line:null,this.column=t?t.column:null,this.location=a,this.source=r[0],this.ruleId=r[1]}o.file="",o.name="",o.reason="",o.message="",o.stack="",o.fatal=null,o.column=null,o.line=null},922:e=>{"use strict";e.exports=function(e){var t=String(e),n=[],i=/\r?\n|\r/g;for(;i.exec(t);)n.push(i.lastIndex);return n.push(t.length+1),{toPoint:r,toPosition:r,toOffset:function(e){var t,i=e&&e.line,r=e&&e.column;isNaN(i)||isNaN(r)||!(i-1 in n)||(t=(n[i-2]||0)+r-1||0);return t>-1&&t-1&&ee)return{line:t+1,column:e-(n[t-1]||0)+1,offset:e};return{}}}},927:(e,t,n)=>{var i=n(2877);e.exports=function(e){var t={},n=new i(e);t.trackNumber=n.nextUIntV(),t.timecode=n.nextInt16BE();var r=n.nextUInt8();t.invisible=!!(8&r),t.keyframe=!!(128&r),t.discardable=!!(1&r);var o=(6&r)>>1;return t.frames=function(e,t){if(!t)return[e.nextBuffer()];var n,i,r=[],o=e.nextUInt8()+1;if(2===t){if(e.length%o!=0)throw new Error("Fixed-Size Lacing Error");for(i=e.length/o,n=0;n{"use strict";e.exports=function(e,t){var n=t.value.replace(/\r?\n|\r/g," ");return e(t,"code",[i("text",n)])};var i=n(9650)},942:(e,t,n)=>{"use strict";function i(){return null}e.exports={blockquote:n(9331),break:n(1501),code:n(3849),delete:n(5275),emphasis:n(4738),footnoteReference:n(3632),footnote:n(8812),heading:n(544),html:n(9941),imageReference:n(4255),image:n(3603),inlineCode:n(935),linkReference:n(7756),link:n(9040),listItem:n(8942),list:n(396),paragraph:n(6504),root:n(4824),strong:n(5151),table:n(2258),text:n(8711),thematicBreak:n(5125),toml:i,yaml:i,definition:i,footnoteDefinition:i}},1030:e=>{"use strict";e.exports=function(e,t){var n=e.indexOf("*",t),i=e.indexOf("_",t);if(-1===i)return n;if(-1===n)return i;return i{"use strict";var t=r("start"),n=r("end");function i(e){return{start:t(e),end:n(e)}}function r(e){return t.displayName=e,t;function t(t){var n=t&&t.position&&t.position[e]||{};return{line:n.line||null,column:n.column||null,offset:isNaN(n.offset)?null:n.offset}}}e.exports=i,i.start=t,i.end=n},1071:e=>{"use strict";e.exports=function(e,t){return e.indexOf("~~",t)}},1126:function(e,t,n){var i;e.exports=(i=i||function(e,t){var i;if("undefined"!=typeof window&&window.crypto&&(i=window.crypto),"undefined"!=typeof self&&self.crypto&&(i=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(i=globalThis.crypto),!i&&"undefined"!=typeof window&&window.msCrypto&&(i=window.msCrypto),!i&&void 0!==n.g&&n.g.crypto&&(i=n.g.crypto),!i)try{i=n(3936)}catch(e){}var r=function(){if(i){if("function"==typeof i.getRandomValues)try{return i.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof i.randomBytes)try{return i.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),a={},s=a.lib={},l=s.Base={extend:function(e){var t=o(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},c=s.WordArray=l.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||h).stringify(this)},concat:function(e){var t=this.words,n=e.words,i=this.sigBytes,r=e.sigBytes;if(this.clamp(),i%4)for(var o=0;o>>2]>>>24-o%4*8&255;t[i+o>>>2]|=a<<24-(i+o)%4*8}else for(var s=0;s>>2]=n[s>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=l.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n>>2]>>>24-r%4*8&255;i.push((o>>>4).toString(16)),i.push((15&o).toString(16))}return i.join("")},parse:function(e){for(var t=e.length,n=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new c.init(n,t/2)}},p=u.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,i=[],r=0;r>>2]>>>24-r%4*8&255;i.push(String.fromCharCode(o))}return i.join("")},parse:function(e){for(var t=e.length,n=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new c.init(n,t)}},d=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(p.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return p.parse(unescape(encodeURIComponent(e)))}},f=s.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=d.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n,i=this._data,r=i.words,o=i.sigBytes,a=this.blockSize,s=o/(4*a),l=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,u=e.min(4*l,o);if(l){for(var h=0;h{"use strict";var i=n(1900),r=n(1071);e.exports=s,s.locator=r;var o="~",a="~~";function s(e,t,n){var r,s,l,c="",u="",h="",p="";if(this.options.gfm&&t.charAt(0)===o&&t.charAt(1)===o&&!i(t.charAt(2)))for(r=1,s=t.length,(l=e.now()).column+=2,l.offset+=2;++r{"use strict";var i=n(8707),r=n(7422),o=n(7274),a=n(3784),s=n(2700);e.exports=function(e,t){var n=t||{},h=n.quote||l,p=h===l?c:l,d=n.quoteSmart,f=e&&"object"==typeof e&&"length"in e?{type:"root",children:e}:e;if(h!==l&&h!==c)throw new Error("Invalid quote `"+h+"`, expected `"+c+"` or `"+l+"`");void 0!==n.allowDangerousHTML&&(u||(u=!0,console.warn("Deprecation warning: `allowDangerousHTML` is a nonstandard option, use `allowDangerousHtml` instead")));return s({valid:n.allowParseErrors?0:1,safe:n.allowDangerousCharacters?0:1,schema:"svg"===n.space?r:i,omit:n.omitOptionalTags&&a,quote:h,alternative:p,smart:d,unquoted:Boolean(n.preferUnquoted),tight:n.tightAttributes,upperDoctype:Boolean(n.upperDoctype),tightDoctype:Boolean(n.tightDoctype),bogusComments:Boolean(n.bogusComments),tightLists:n.tightCommaSeparatedLists,tightClose:n.tightSelfClosing,collapseEmpty:n.collapseEmptyAttributes,dangerous:n.allowDangerousHtml||n.allowDangerousHTML,voids:n.voids||o.concat(),entities:n.entities||{},close:n.closeSelfClosing,closeEmpty:n.closeEmptyElements},f)};var l='"',c="'",u=!1},1185:(e,t,n)=>{"use strict";var i=n(8593),r=n(1632),o=n(6901);e.exports=function(e,t){return r(e,i(t,{format:o}))}},1339:(e,t,n)=>{"use strict";var i=n(493),r=n(1765),o=n(6134),a=n(7578).P,s=n(1575),l=i("comment"),c="optgroup",u=["option"].concat(c),h=["dt","dd"],p=["menuitem","hr","menu"],d=["rp","rt"],f=["tbody","tfoot"],m=["td","th"],v=["a","audio","del","ins","map","noscript","video"],g=["address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","menu","nav","ol","p","pre","section","table","ul"];function y(e,t,n){var i=a(n,t,!0);return!i||!l(i)&&!o(i)}function b(e,t,n){var i=a(n,t);return!i||r(i,d)}function w(e,t,n){var i=a(n,t);return!i||r(i,m)}e.exports=s({html:function(e,t,n){var i=a(n,t);return!i||!l(i)},head:y,body:function(e,t,n){var i=a(n,t);return!i||!l(i)},p:function(e,t,n){var i=a(n,t);return i?r(i,g):!n||!r(n,v)},li:function(e,t,n){var i=a(n,t);return!i||r(i,"li")},dt:function(e,t,n){var i=a(n,t);return i&&r(i,h)},dd:function(e,t,n){var i=a(n,t);return!i||r(i,h)},rt:b,rp:b,optgroup:function(e,t,n){var i=a(n,t);return!i||r(i,c)},option:function(e,t,n){var i=a(n,t);return!i||r(i,u)},menuitem:function(e,t,n){var i=a(n,t);return!i||r(i,p)},colgroup:y,caption:y,thead:function(e,t,n){var i=a(n,t);return i&&r(i,f)},tbody:function(e,t,n){var i=a(n,t);return!i||r(i,f)},tfoot:function(e,t,n){return!a(n,t)},tr:function(e,t,n){var i=a(n,t);return!i||r(i,"tr")},td:w,th:w})},1383:e=>{"use strict";e.exports=function(e){return e.toLowerCase()}},1393:(e,t,n)=>{"use strict";e.exports={position:!0,gfm:!0,commonmark:!1,pedantic:!1,blocks:n(5810)}},1498:e=>{"use strict";e.exports=function(e,l,c){var u,h,p,d,f,m,v,g,y,b,w,k,C,E=this,S=E.options.gfm,M=l.length+1,x=0,T="";if(!S)return;for(;x=s)){for(v="";x{"use strict";e.exports=function(e,t){return[e(t,"br"),i("text","\n")]};var i=n(9650)},1528:(e,t,n)=>{"use strict";var i=n(7057),r=n(9546),o=n(922),a=n(9359),s=n(5785),l=n(7269);function c(e,t){this.file=t,this.offset={},this.options=i(this.options),this.setOptions({}),this.inList=!1,this.inBlock=!1,this.inLink=!1,this.atStart=!0,this.toOffset=o(t).toOffset,this.unescape=a(this,"escape"),this.decode=s(this)}e.exports=c;var u=c.prototype;function h(e){var t,n=[];for(t in e)n.push(t);return n}u.setOptions=n(3228),u.parse=n(4272),u.options=n(1393),u.exitStart=r("atStart",!0),u.enterList=r("inList",!1),u.enterLink=r("inLink",!1),u.enterBlock=r("inBlock",!1),u.interruptParagraph=[["thematicBreak"],["list"],["atxHeading"],["fencedCode"],["blockquote"],["html"],["setextHeading",{commonmark:!1}],["definition",{commonmark:!1}]],u.interruptList=[["atxHeading",{pedantic:!1}],["fencedCode",{pedantic:!1}],["thematicBreak",{pedantic:!1}],["definition",{commonmark:!1}]],u.interruptBlockquote=[["indentedCode",{commonmark:!0}],["fencedCode",{commonmark:!0}],["atxHeading",{commonmark:!0}],["setextHeading",{commonmark:!0}],["thematicBreak",{commonmark:!0}],["html",{commonmark:!0}],["list",{commonmark:!0}],["definition",{commonmark:!1}]],u.blockTokenizers={blankLine:n(1694),indentedCode:n(134),fencedCode:n(1498),blockquote:n(6234),atxHeading:n(8469),thematicBreak:n(6968),list:n(745),setextHeading:n(8671),html:n(8776),definition:n(1616),table:n(7793),paragraph:n(8607)},u.inlineTokenizers={escape:n(470),autoLink:n(8775),url:n(1944),email:n(5657),html:n(7648),link:n(9405),reference:n(6252),strong:n(5702),emphasis:n(439),deletion:n(1134),code:n(1891),break:n(5874),text:n(4410)},u.blockMethods=h(u.blockTokenizers),u.inlineMethods=h(u.inlineTokenizers),u.tokenizeBlock=l("block"),u.tokenizeInline=l("inline"),u.tokenizeFactory=l},1575:e=>{"use strict";e.exports=function(e){return function(n,i,r){var o=n.tagName;return!!t.call(e,o)&&e[o](n,i,r)}};var t={}.hasOwnProperty},1606:(e,t)=>{"use strict";t.A=function(e,t){var o=t||{},a=!1===o.padLeft?r:i,s=o.padRight?i:r;e[e.length-1]===r&&(e=e.concat(r));return e.join(s+n+a).trim()};var n=",",i=" ",r=""},1616:(e,t,n)=>{"use strict";var i=n(1900),r=n(2115);e.exports=function(e,t,n){var i,g,w,k,C,E,S,M,x=this,T=x.options.commonmark,D=0,A=t.length,P="";for(;D{"use strict";e.exports=function(e,t){if(e=e.replace(t.subset?function(e){var t=[],n=-1;for(;++n`]/g,n),t.subset||t.escapeOnly)return e;return e.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,(function(e,n,i){return t.format(1024*(e.charCodeAt(0)-55296)+e.charCodeAt(1)-56320+65536,i.charCodeAt(n+2),t)})).replace(/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,n);function n(e,n,i){return t.format(e.charCodeAt(0),i.charCodeAt(n+1),t)}}},1694:e=>{"use strict";var t=/^[ \t]*(\n|$)/;e.exports=function(e,n,i){var r,o="",a=0,s=n.length;for(;a{"use strict";var i=n(6933);e.exports=function(e,t){return i(e,t.toLowerCase())}},1765:(e,t,n)=>{"use strict";var i=n(1918);function r(e,t,n,r,o){var a=null!=r,s=null!=n,l=i(t);if(s&&("number"!=typeof n||n<0||n===1/0))throw new Error("Expected positive finite index for child node");if(a&&(!r.type||!r.children))throw new Error("Expected parent node");if(!e||!e.type||"string"!=typeof e.type)return!1;if(a!==s)throw new Error("Expected both parent and index");return l.call(o,e,n,r)}e.exports=r,r.convert=i},1782:e=>{"use strict";e.exports=n;var t=n.prototype;function n(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}t.space=null,t.normal={},t.property={}},1890:e=>{"use strict";e.exports=function(e,t){return e.indexOf("<",t)}},1891:(e,t,n)=>{"use strict";var i=n(2163);e.exports=s,s.locator=i;var r=10,o=32,a=96;function s(e,t,n){for(var i,s,l,c,u,h,p=t.length,d=0;d2&&(c===o||c===r)&&(u===o||u===r)){for(d++,p--;d{"use strict";e.exports=function(e){return n.test("number"==typeof e?t(e):e.charAt(0))};var t=String.fromCharCode,n=/\s/},1918:e=>{"use strict";function t(e){if("string"==typeof e)return function(e){return t;function t(t){return n(t)&&t.tagName===e}}(e);if(null==e)return n;if("object"==typeof e)return function(e){var n=function(e){var n=e.length,i=-1,r=[];for(;++i{"use strict";var i=n(5759).LC,r=n(7122),o=n(7092),a=n(741),s=n(1900),l=n(4307);e.exports=S,S.locator=l,S.notInLink=!0;var c=33,u=38,h=41,p=42,d=44,f=45,m=46,v=58,g=59,y=63,b=60,w=95,k=126,C="(",E=")";function S(e,t,n){var l,S,M,x,T,D,A,P,L,I,O,F,N,R,B=this,V=B.options.gfm,H=B.inlineTokenizers,z=t.length,q=-1,W=!1;if(V){if("www."===t.slice(0,4))W=!0,x=4;else if("http://"===t.slice(0,7).toLowerCase())x=7;else{if("https://"!==t.slice(0,8).toLowerCase())return;x=8}for(q=x-1,M=x,l=[];xL;)x=T+D.lastIndexOf(E),D=t.slice(T,x),I--;if(t.charCodeAt(x-1)===g&&(x--,a(t.charCodeAt(x-1)))){for(P=x-2;a(t.charCodeAt(P));)P--;t.charCodeAt(P)===u&&(x=P)}return O=t.slice(0,x),N=i(O,{nonTerminated:!1}),W&&(N="http://"+N),R=B.enterLink(),B.inlineTokenizers={text:H.text},F=B.tokenizeInline(O,e.now()),B.inlineTokenizers=H,R(),e(O)({type:"link",title:null,url:N,children:F})}}}},1979:(e,t,n)=>{"use strict";n.r(t),n.d(t,{RateAppWeb:()=>r});var i=n(6043);class r extends i.E_{async requestReview(){}}},2115:(e,t,n)=>{"use strict";var i=n(9510);e.exports=function(e){return i(e).toLowerCase()}},2163:e=>{"use strict";e.exports=function(e,t){return e.indexOf("`",t)}},2258:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,a,s,l,c,u=t.children,h=u.length,p=t.align||[],d=p.length,f=[];for(;h--;){for(a=u[h].children,l=0===h?"th":"td",n=d||a.length,s=[];n--;)c=a[n],s[n]=e(c,l,{align:p[n]},c?o(e,c):[]);f[h]=e(u[h],"tr",r(s,!0))}return e(t,"table",r([e(f[0].position,"thead",r([f[0]],!0))].concat(f[1]?e({start:i.start(f[1]),end:i.end(f[f.length-1])},"tbody",r(f.slice(1),!0)):[]),!0))};var i=n(1039),r=n(7824),o=n(4297)},2292:(e,t,n)=>{"use strict";e.exports=n(1184)},2298:(e,t,n)=>{"use strict";var i=n(7092),r=n(741);function o(e){return i(e)||r(e)||43===e||45===e||46===e||95===e}e.exports=function e(t,n){var i,r;if(!this.options.gfm)return-1;if(-1===(i=t.indexOf("@",n)))return-1;if((r=i)===n||!o(t.charCodeAt(r-1)))return e.call(this,t,i+1);for(;r>n&&o(t.charCodeAt(r-1));)r--;return r}},2315:(e,t,n)=>{e.exports=function(e,t,n,l){var c,u,h=o(e);if(a.call(r,h))return u="&"+(c=r[h]),n&&a.call(i,c)&&-1===s.indexOf(c)&&(!l||t&&61!==t&&/[^\da-z]/i.test(o(t)))?u:u+";";return""};var i=n(4472),r=n(6426),o=n(9677),a=n(3303),s=n(5547)},2356:e=>{"use strict";e.exports=function(e,t){var n=e.indexOf("[",t),i=e.indexOf("![",t);if(-1===i)return n;return n{"use strict";var t={}.hasOwnProperty;function n(e){return e&&"object"==typeof e||(e={}),r(e.line)+":"+r(e.column)}function i(e){return e&&"object"==typeof e||(e={}),n(e.start)+"-"+n(e.end)}function r(e){return e&&"number"==typeof e?e:1}e.exports=function(e){if(!e||"object"!=typeof e)return"";if(t.call(e,"position")||t.call(e,"type"))return i(e.position);if(t.call(e,"start")||t.call(e,"end"))return i(e);if(t.call(e,"line")||t.call(e,"column"))return n(e);return""}},2660:e=>{e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},2700:(e,t,n)=>{"use strict";e.exports=function(e,t,n,o){var a=t&&t.type;if(!a)throw new Error("Expected node, not `"+t+"`");if(!i.call(r,a))throw new Error("Cannot compile unknown node `"+a+"`");return r[a](e,t,n,o)};var i={}.hasOwnProperty,r={};r.root=n(9795),r.text=n(8785),r.element=n(5684),r.doctype=n(326),r.comment=n(5393),r.raw=n(618)},2877:(e,t,n)=>{var i=n(5420);function r(e){this.buffer=e,this.offset=0}r.prototype.nextInt16BE=function(){var e=this.buffer.readInt16BE(this.offset);return this.offset+=2,e},r.prototype.nextUInt8=function(){var e=this.buffer.readUInt8(this.offset);return this.offset+=1,e},r.prototype.nextUIntV=function(){var e=i(this.buffer,this.offset);return this.offset+=e.length,e.value},r.prototype.nextIntV=function(){var e=i(this.buffer,this.offset,!0);return this.offset+=e.length,e.value},r.prototype.nextBuffer=function(e){var t=e?this.buffer.slice(this.offset,this.offset+e):this.buffer.slice(this.offset);return this.offset+=e||this.length,t},Object.defineProperty(r.prototype,"length",{get:function(){return this.buffer.length-this.offset}}),e.exports=r},2888:(e,t,n)=>{"use strict";e.exports=l;var i=n(493),r=n(5001),o=!0,a="skip",s=!1;function l(e,t,n,l){var c,u;"function"==typeof t&&"function"!=typeof n&&(l=n,n=t,t=null),u=i(t),c=l?-1:1,function e(i,h,p){var d,f="object"==typeof i&&null!==i?i:{};"string"==typeof f.type&&(d="string"==typeof f.tagName?f.tagName:"string"==typeof f.name?f.name:void 0,m.displayName="node ("+r(f.type+(d?"<"+d+">":""))+")");return m;function m(){var r,d,f=p.concat(i),m=[];if((!t||u(i,h,p[p.length-1]||null))&&(m=function(e){if(null!==e&&"object"==typeof e&&"length"in e)return e;if("number"==typeof e)return[o,e];return[e]}(n(i,p)),m[0]===s))return m;if(i.children&&m[0]!==a)for(d=(l?i.children.length:-1)+c;d>-1&&d{"use strict";e.exports=function(e,t){return e.indexOf("\\",t)}},3179:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.tools=t.Reader=t.Encoder=t.Decoder=void 0,r(n(8177),t);var o=n(8193);t.Decoder=o.default;var a=n(4741);t.Encoder=a.default;var s=n(5226);t.Reader=s.default;var l=n(9840);t.tools=l},3228:(e,t,n)=>{"use strict";var i=n(7057),r=n(4982),o=n(1393);e.exports=function(e){var t,n,a=this,s=a.options;if(null==e)e={};else{if("object"!=typeof e)throw new Error("Invalid value `"+e+"` for setting `options`");e=i(e)}for(t in o){if(null==(n=e[t])&&(n=s[t]),"blocks"!==t&&"boolean"!=typeof n||"blocks"===t&&"object"!=typeof n)throw new Error("Invalid value `"+n+"` for setting `options."+t+"`");e[t]=n}return a.options=e,a.escape=r(e),a}},3303:e=>{e.exports={}.hasOwnProperty},3390:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,o,a,s=t.referenceType,l="]";"collapsed"===s?l+="[]":"full"===s&&(l+="["+(t.label||t.identifier)+"]");if("imageReference"===t.type)return i("text","!["+t.alt+l);n=r(e,t),(o=n[0])&&"text"===o.type?o.value="["+o.value:n.unshift(i("text","["));(a=n[n.length-1])&&"text"===a.type?a.value+=l:n.push(i("text",l));return n};var i=n(9650),r=n(4297)},3490:function(e,t,n){var i,r,o,a;e.exports=(i=n(1126),o=(r=i).lib.Base,a=r.enc.Utf8,void(r.algo.HMAC=o.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=a.parse(t));var n=e.blockSize,i=4*n;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var r=this._oKey=t.clone(),o=this._iKey=t.clone(),s=r.words,l=o.words,c=0;c{"use strict";var i=n(8131);e.exports=function(e,t){var n={src:i(t.url),alt:t.alt};null!==t.title&&void 0!==t.title&&(n.title=t.title);return e(t,"img",n)}},3632:(e,t,n)=>{"use strict";e.exports=function(e,t){var n=e.footnoteOrder,r=String(t.identifier);-1===n.indexOf(r)&&n.push(r);return e(t.position,"sup",{id:"fnref-"+r},[e(t,"a",{href:"#fn-"+r,className:["footnote-ref"]},[i("text",t.label||r)])])};var i=n(9650)},3784:(e,t,n)=>{"use strict";t.opening=n(3804),t.closing=n(1339)},3804:(e,t,n)=>{"use strict";var i=n(493),r=n(1765),o=n(7578).g,a=n(4159),s=n(8518),l=n(6134),c=n(1339),u=n(1575),h=i("comment"),p=["title","base"],d=["meta","link","script","style","template"],f=["thead","tbody"];e.exports=u({html:function(e){var t=a(e);return!t||!h(t)},head:function(e){var t,n,i=e.children,o=i.length,a=[],s=-1;for(;++s{"use strict";e.exports=function(e,t){var n,r=t.value?t.value+"\n":"",o=t.lang&&t.lang.match(/^[^ \t]+(?=[ \t]|$)/),a={};o&&(a.className=["language-"+o]);n=e(t,"code",a,[i("text",r)]),t.meta&&(n.data={meta:t.meta});return e(t.position,"pre",[n])};var i=n(9650)},3936:()=>{},4159:(e,t,n)=>{"use strict";var i=n(7578).P;e.exports=function(e,t){return i(e,-1,t)}},4169:(e,t,n)=>{e.exports=function(e,t,n){var r="&#x"+e.toString(16).toUpperCase();return n&&t&&!/[\dA-Fa-f]/.test(i(t))?r:r+";"};var i=n(9677)},4197:(e,t,n)=>{"use strict";var i=n(5325),r=n(5176);e.exports=s,s.prototype=new i,s.prototype.defined=!0;var o=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"],a=o.length;function s(e,t,n,s){var c,u=-1;for(l(this,"space",s),i.call(this,e,t);++u{"use strict";e.exports=function(e,t){var n,o=e.definition(t.identifier);if(!o)return r(e,t);n={src:i(o.url||""),alt:t.alt},null!==o.title&&void 0!==o.title&&(n.title=o.title);return e(t,"img",n)};var i=n(8131),r=n(3390)},4272:(e,t,n)=>{"use strict";var i=n(7057),r=n(8124);e.exports=function(){var e,t=this,n=String(t.file),s={line:1,column:1,offset:0},l=i(s);65279===(n=n.replace(a,o)).charCodeAt(0)&&(n=n.slice(1),l.column++,l.offset++);e={type:"root",children:t.tokenizeBlock(n,l),position:{start:s,end:t.eof||i(s)}},t.options.position||r(e,!0);return e};var o="\n",a=/\r\n|\r/g},4297:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,r,o=t.children||[],a=o.length,s=[],l=-1;for(;++l{"use strict";e.exports=function(e,n){var i,r,o,a=-1;if(!this.options.gfm)return a;r=t.length,i=-1;for(;++i{"use strict";e.exports=function(e,t,n){var i,r,o,a,s,l,c,u,h,p,d=this;if(n)return!0;i=d.inlineMethods,a=i.length,r=d.inlineTokenizers,o=-1,h=t.length;for(;++o{"use strict";e.exports=JSON.parse('{"AElig":"Æ","AMP":"&","Aacute":"Á","Acirc":"Â","Agrave":"À","Aring":"Å","Atilde":"Ã","Auml":"Ä","COPY":"©","Ccedil":"Ç","ETH":"Ð","Eacute":"É","Ecirc":"Ê","Egrave":"È","Euml":"Ë","GT":">","Iacute":"Í","Icirc":"Î","Igrave":"Ì","Iuml":"Ï","LT":"<","Ntilde":"Ñ","Oacute":"Ó","Ocirc":"Ô","Ograve":"Ò","Oslash":"Ø","Otilde":"Õ","Ouml":"Ö","QUOT":"\\"","REG":"®","THORN":"Þ","Uacute":"Ú","Ucirc":"Û","Ugrave":"Ù","Uuml":"Ü","Yacute":"Ý","aacute":"á","acirc":"â","acute":"´","aelig":"æ","agrave":"à","amp":"&","aring":"å","atilde":"ã","auml":"ä","brvbar":"¦","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","curren":"¤","deg":"°","divide":"÷","eacute":"é","ecirc":"ê","egrave":"è","eth":"ð","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","iacute":"í","icirc":"î","iexcl":"¡","igrave":"ì","iquest":"¿","iuml":"ï","laquo":"«","lt":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","ntilde":"ñ","oacute":"ó","ocirc":"ô","ograve":"ò","ordf":"ª","ordm":"º","oslash":"ø","otilde":"õ","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","raquo":"»","reg":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","thorn":"þ","times":"×","uacute":"ú","ucirc":"û","ugrave":"ù","uml":"¨","uuml":"ü","yacute":"ý","yen":"¥","yuml":"ÿ"}')},4506:(e,t,n)=>{"use strict";var i=n(7297),r=n(1716);e.exports=i({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:r,properties:{xmlns:null,xmlnsXLink:null}})},4571:(e,t,n)=>{"use strict";var i=n(6931),r=n(7512),o=n(2660);e.exports=l;var a={}.hasOwnProperty,s=["history","path","basename","stem","extname","dirname"];function l(e){var t,n;if(e){if("string"==typeof e||o(e))e={contents:e};else if("message"in e&&"messages"in e)return e}else e={};if(!(this instanceof l))return new l(e);for(this.data={},this.messages=[],this.history=[],this.cwd=r.cwd(),n=-1;++n-1)throw new Error("`"+t+"` cannot be a path: did not expect `"+i.sep+"`")}function u(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function h(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}l.prototype.toString=function(e){return(this.contents||"").toString(e)},Object.defineProperty(l.prototype,"path",{get:function(){return this.history[this.history.length-1]},set:function(e){u(e,"path"),this.path!==e&&this.history.push(e)}}),Object.defineProperty(l.prototype,"dirname",{get:function(){return"string"==typeof this.path?i.dirname(this.path):void 0},set:function(e){h(this.path,"dirname"),this.path=i.join(e||"",this.basename)}}),Object.defineProperty(l.prototype,"basename",{get:function(){return"string"==typeof this.path?i.basename(this.path):void 0},set:function(e){u(e,"basename"),c(e,"basename"),this.path=i.join(this.dirname||"",e)}}),Object.defineProperty(l.prototype,"extname",{get:function(){return"string"==typeof this.path?i.extname(this.path):void 0},set:function(e){if(c(e,"extname"),h(this.path,"extname"),e){if(46!==e.charCodeAt(0))throw new Error("`extname` must start with `.`");if(e.indexOf(".",1)>-1)throw new Error("`extname` cannot contain multiple dots")}this.path=i.join(this.dirname,this.stem+(e||""))}}),Object.defineProperty(l.prototype,"stem",{get:function(){return"string"==typeof this.path?i.basename(this.path,this.extname):void 0},set:function(e){u(e,"stem"),c(e,"stem"),this.path=i.join(this.dirname||"",e+(this.extname||""))}})},4635:function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n8){var r=e.readHexString(t,n,n+i);throw new Error("Unrepresentable length: ".concat(i," ").concat(r))}if(n+i>t.length)return null;for(var o=t[n]&(1<<8-i)-1,a=1;a=Math.pow(2,8)&&t[n+7]>0)return{length:i,value:-1};o*=Math.pow(2,8),o+=t[n+a]}return{length:i,value:o}},e.writeVint=function(e){if(e<0||e>Math.pow(2,53))throw new Error("Unrepresentable value: ".concat(e));var t=1;for(t=1;t<=8&&!(e{"use strict";const i=n(5350),r=n(7947),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){+e!=e&&(e=0);return l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const a=2147483647;function s(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return h(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){"string"==typeof t&&""!==t||(t="utf8");if(!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|m(e,t);let i=s(n);const r=i.write(e,t);r!==n&&(i=i.slice(0,r));return i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(Z(e,Uint8Array)){const t=new Uint8Array(e);return d(t.buffer,t.byteOffset,t.byteLength)}return p(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Z(e,ArrayBuffer)||e&&Z(e.buffer,ArrayBuffer))return d(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(Z(e,SharedArrayBuffer)||e&&Z(e.buffer,SharedArrayBuffer)))return d(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);const r=function(e){if(l.isBuffer(e)){const t=0|f(e.length),n=s(t);return 0===n.length||e.copy(n,0,0,t),n}if(void 0!==e.length)return"number"!=typeof e.length||X(e.length)?s(0):p(e);if("Buffer"===e.type&&Array.isArray(e.data))return p(e.data)}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return u(e),s(e<0?0:0|f(e))}function p(e){const t=e.length<0?0:0|f(e.length),n=s(t);for(let i=0;i=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function m(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Z(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return G(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return K(e).length;default:if(r)return i?-1:G(e).length;t=(""+t).toLowerCase(),r=!0}}function v(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return P(this,t,n);case"utf8":case"utf-8":return x(this,t,n);case"ascii":return D(this,t,n);case"latin1":case"binary":return A(this,t,n);case"base64":return M(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function g(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function y(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),X(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:b(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function b(e,t,n,i,r){let o,a=1,s=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){let i=-1;for(o=n;os&&(n=s-l),o=n;o>=0;o--){let n=!0;for(let i=0;ir&&(i=r):i=r;const o=t.length;let a;for(i>o/2&&(i=o/2),a=0;a>8,r=n%256,o.push(r),o.push(i);return o}(t,e.length-n),e,n,i)}function M(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function x(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+a<=n){let n,i,s,l;switch(a){case 1:t<128&&(o=t);break;case 2:n=e[r+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(o=l));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(l=(15&t)<<12|(63&n)<<6|63&i,l>2047&&(l<55296||l>57343)&&(o=l));break;case 4:n=e[r+1],i=e[r+2],s=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&s)&&(l=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&s,l>65535&&l<1114112&&(o=l))}}null===o?(o=65533,a=1):o>65535&&(o-=65536,i.push(o>>>10&1023|55296),o=56320|1023&o),i.push(o),r+=a}return function(e){const t=e.length;if(t<=T)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},o&&(l.prototype[o]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(Z(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let o=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(t>>>=0);const s=Math.min(o,a),c=this.slice(i,r),u=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let o=!1;for(;;)switch(i){case"hex":return w(this,e,t,n);case"utf8":case"utf-8":return k(this,e,t,n);case"ascii":case"latin1":case"binary":return C(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const T=4096;function D(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function O(e,t,n,i,r,o){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function F(e,t,n,i,r){W(t,i,r,e,n,7);let o=Number(t&BigInt(4294967295));e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,n}function N(e,t,n,i,r){W(t,i,r,e,n,7);let o=Number(t&BigInt(4294967295));e[n+7]=o,o>>=8,e[n+6]=o,o>>=8,e[n+5]=o,o>>=8,e[n+4]=o;let a=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=a,a>>=8,e[n+2]=a,a>>=8,e[n+1]=a,a>>=8,e[n]=a,n+8}function R(e,t,n,i,r,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function B(e,t,n,i,o){return t=+t,n>>>=0,o||R(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function V(e,t,n,i,o){return t=+t,n>>>=0,o||R(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||I(e,t,this.length);let i=this[e],r=1,o=0;for(;++o>>=0,t>>>=0,n||I(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||I(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||I(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||I(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||I(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||I(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=$((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||U(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||U(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||I(e,t,this.length);let i=this[e],r=1,o=0;for(;++o=r&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||I(e,t,this.length);let i=t,r=1,o=this[e+--i];for(;i>0&&(r*=256);)o+=this[e+--i]*r;return r*=128,o>=r&&(o-=Math.pow(2,8*t)),o},l.prototype.readInt8=function(e,t){return e>>>=0,t||I(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||I(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||I(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||I(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||I(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=$((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||U(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||U(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||I(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||I(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||I(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||I(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){if(e=+e,t>>>=0,n>>>=0,!i){O(this,e,t,n,Math.pow(2,8*n)-1,0)}let r=1,o=0;for(this[t]=255&e;++o>>=0,n>>>=0,!i){O(this,e,t,n,Math.pow(2,8*n)-1,0)}let r=n-1,o=1;for(this[t+r]=255&e;--r>=0&&(o*=256);)this[t+r]=e/o&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=$((function(e,t=0){return F(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=$((function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);O(this,e,t,n,i-1,-i)}let r=0,o=1,a=0;for(this[t]=255&e;++r>>=0,!i){const i=Math.pow(2,8*n-1);O(this,e,t,n,i-1,-i)}let r=n-1,o=1,a=0;for(this[t+r]=255&e;--r>=0&&(o*=256);)e<0&&0===a&&0!==this[t+r+1]&&(a=1),this[t+r]=(e/o|0)-a&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=$((function(e,t=0){return F(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=$((function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return B(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return B(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return V(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return V(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function W(e,t,n,i,r,o){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(o+1)}${i}`:`>= -(2${i} ** ${8*(o+1)-1}${i}) and < 2 ** ${8*(o+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new H.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||U(t,e.length-(n+1))}(i,r,o)}function j(e,t){if("number"!=typeof e)throw new H.ERR_INVALID_ARG_TYPE(t,"number",e)}function U(e,t,n){if(Math.floor(e)!==e)throw j(e,n),new H.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new H.ERR_BUFFER_OUT_OF_BOUNDS;throw new H.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}z("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),z("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),z("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=q(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=q(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const _=/[^+/0-9A-Za-z-_]/g;function G(e,t){let n;t=t||1/0;const i=e.length;let r=null;const o=[];for(let a=0;a55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function K(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(_,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Y(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function Z(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function X(e){return e!=e}const Q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function $(e){return"undefined"==typeof BigInt?J:e}function J(){throw new Error("BigInt not supported")}},4738:(e,t,n)=>{"use strict";e.exports=function(e,t){return e(t,"em",i(e,t))};var i=n(4297)},4741:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(9840),r=n(9840),o=n(5416),a=function(){function e(){this._schema=o.byEbmlID,this._buffers=[],this._stack=[]}return e.prototype.encode=function(e){var t=this;return i.concat(e.reduce((function(e,n){return e.concat(t.encodeChunk(n))}),[])).buffer},e.prototype.encodeChunk=function(e){return"m"===e.type?e.isEnd?this.endTag(e):this.startTag(e):(e.data=r.Buffer.from(e.data),this.writeTag(e)),this.flush()},e.prototype.flush=function(){var e=this._buffers;return this._buffers=[],e},e.prototype.getSchemaInfo=function(e){for(var t=Object.keys(this._schema).map(Number),n=0;n0?this._stack[this._stack.length-1].children.push({tagId:n,elm:e,children:[],data:o}):this._buffers=this._buffers.concat(o)},e.prototype.startTag=function(e){var t=e.name,n=this.getSchemaInfo(t);if(null==n)throw new Error("No schema entry found for "+t);if(e.unknownSize){var o=i.encodeTag(n,new r.Buffer(0),e.unknownSize);this._buffers=this._buffers.concat(o)}else{var a={tagId:n,elm:e,children:[],data:null};this._stack.length>0&&this._stack[this._stack.length-1].children.push(a),this._stack.push(a)}},e.prototype.endTag=function(e){e.name;var t=this._stack.pop();if(null==t)throw new Error("EBML structure is broken");if(t.elm.name!==e.name)throw new Error("EBML structure is broken");var n=t.children.reduce((function(e,t){if(null===t.data)throw new Error("EBML structure is broken");return e.concat(t.data)}),[]),r=i.concat(n);"m"===t.elm.type?t.data=i.encodeTag(t.tagId,r,t.elm.unknownSize):t.data=i.encodeTag(t.tagId,r),this._stack.length<1&&(this._buffers=this._buffers.concat(t.data))},e}();t.default=a},4824:(e,t,n)=>{"use strict";e.exports=function(e,t){return e.augment(t,i("root",r(o(e,t))))};var i=n(9650),r=n(7824),o=n(4297)},4834:(e,t,n)=>{"use strict";var i=n(5176),r=n(7297),o=n(6933),a=i.boolean,s=i.number,l=i.spaceSeparated,c=i.commaSeparated,u=i.commaOrSpaceSeparated;e.exports=r({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:o,properties:{about:u,accentHeight:s,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:s,amplitude:s,arabicForm:null,ascent:s,attributeName:null,attributeType:null,azimuth:s,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:s,by:null,calcMode:null,capHeight:s,className:l,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:s,diffuseConstant:s,direction:null,display:null,dur:null,divisor:s,dominantBaseline:null,download:a,dx:null,dy:null,edgeMode:null,editable:null,elevation:s,enableBackground:null,end:null,event:null,exponent:s,externalResourcesRequired:null,fill:null,fillOpacity:s,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:c,g2:c,glyphName:c,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:s,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:s,horizOriginX:s,horizOriginY:s,id:null,ideographic:s,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:s,k:s,k1:s,k2:s,k3:s,k4:s,kernelMatrix:u,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:s,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:s,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:s,overlineThickness:s,paintOrder:null,panose1:null,path:null,pathLength:s,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:l,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:s,pointsAtY:s,pointsAtZ:s,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:u,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:u,rev:u,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:u,requiredFeatures:u,requiredFonts:u,requiredFormats:u,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:s,specularExponent:s,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:s,strikethroughThickness:s,string:null,stroke:null,strokeDashArray:u,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:s,strokeOpacity:s,strokeWidth:null,style:null,surfaceScale:s,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:u,tabIndex:s,tableValues:null,target:null,targetX:s,targetY:s,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:u,to:null,transform:null,u1:null,u2:null,underlinePosition:s,underlineThickness:s,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:s,values:null,vAlphabetic:s,vMathematical:s,vectorEffect:null,vHanging:s,vIdeographic:s,version:null,vertAdvY:s,vertOriginX:s,vertOriginY:s,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:s,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}})},4839:(e,t)=>{"use strict";var n="<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^\"'=<>`\\u0000-\\u0020]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",i="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";t.X=new RegExp("^(?:"+n+"|"+i+")"),t.T=new RegExp("^(?:"+n+"|"+i+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?].*?[?]>|]*>|)")},4967:(e,t,n)=>{"use strict";var i=n(1528);e.exports={Parser:i}},4982:e=>{"use strict";e.exports=r;var t=["\\","`","*","{","}","[","]","(",")","#","+","-",".","!","_",">"],n=t.concat(["~","|"]),i=n.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);function r(e){var r=e||{};return r.commonmark?i:r.gfm?n:t}r.default=t,r.gfm=n,r.commonmark=i},5001:e=>{e.exports=function(e){return e}},5125:e=>{"use strict";e.exports=function(e,t){return e(t,"hr")}},5151:(e,t,n)=>{"use strict";e.exports=function(e,t){return e(t,"strong",i(e,t))};var i=n(4297)},5176:(e,t)=>{"use strict";var n=0;function i(){return Math.pow(2,++n)}t.boolean=i(),t.booleanish=i(),t.overloadedBoolean=i(),t.number=i(),t.spaceSeparated=i(),t.commaSeparated=i(),t.commaOrSpaceSeparated=i()},5226:function(e,t,n){"use strict";var i,r=this&&this.__extends||(i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},i(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(9784),a=n(9840),s=function(e){function t(){var t=e.call(this)||this;return t.logGroup="",t.hasLoggingStarted=!1,t.metadataloaded=!1,t.chunks=[],t.stack=[],t.segmentOffset=0,t.last2SimpleBlockVideoTrackTimecode=[0,0],t.last2SimpleBlockAudioTrackTimecode=[0,0],t.lastClusterTimecode=0,t.lastClusterPosition=0,t.timecodeScale=1e6,t.metadataSize=0,t.metadatas=[],t.cues=[],t.firstVideoBlockRead=!1,t.firstAudioBlockRead=!1,t.currentTrack={TrackNumber:-1,TrackType:-1,DefaultDuration:null,CodecDelay:null},t.trackTypes=[],t.trackDefaultDuration=[],t.trackCodecDelay=[],t.trackInfo={type:"nothing"},t.ended=!1,t.logging=!1,t.use_duration_every_simpleblock=!1,t.use_webp=!1,t.use_segment_info=!0,t.drop_default_duration=!0,t}return r(t,e),t.prototype.stop=function(){for(this.ended=!0,this.emit_segment_info();this.stack.length;)this.stack.pop(),this.logging&&console.groupEnd();this.logging&&this.hasLoggingStarted&&this.logGroup&&console.groupEnd()},t.prototype.emit_segment_info=function(){var e=this.chunks;if(this.chunks=[],this.metadataloaded){if(!this.use_segment_info)return;var t=this.lastClusterTimecode,n=this.duration,i=this.timecodeScale;this.emit("cluster",{timecode:t,data:e}),this.emit("duration",{timecodeScale:i,duration:n})}else{this.metadataloaded=!0,this.metadatas=e;var r=this.trackTypes.indexOf(1),o=this.trackTypes.indexOf(2);if(this.trackInfo=r>=0&&o>=0?{type:"both",trackNumber:r}:r>=0?{type:"video",trackNumber:r}:o>=0?{type:"audio",trackNumber:o}:{type:"nothing"},!this.use_segment_info)return;this.emit("metadata",{data:e,metadataSize:this.metadataSize})}},t.prototype.read=function(e){var t=this,n=!1;if(!this.ended){if("m"===e.type)if(e.isEnd)this.stack.pop();else{var i=this.stack[this.stack.length-1];if(null!=i&&i.level>=e.level){this.stack.pop(),this.logging&&console.groupEnd(),i.dataEnd=e.dataEnd,i.dataSize=e.dataEnd-i.dataStart,i.unknownSize=!1;var r=Object.assign({},i,{name:i.name,type:i.type,isEnd:!0});this.chunks.push(r)}this.stack.push(e)}if("m"===e.type&&"Segment"==e.name)0!=this.segmentOffset&&console.warn("Multiple segments detected!"),this.segmentOffset=e.dataStart,this.emit("segment_offset",this.segmentOffset);else if("b"===e.type&&"SimpleBlock"===e.name){var o=a.ebmlBlock(e.data),s=o.timecode,l=o.trackNumber,c=o.frames;if(1===this.trackTypes[l]){if(!this.firstVideoBlockRead&&(this.firstVideoBlockRead=!0,"both"===this.trackInfo.type||"video"===this.trackInfo.type)){var u=this.lastClusterTimecode+s;this.cues.push({CueTrack:l,CueClusterPosition:this.lastClusterPosition,CueTime:u}),this.emit("cue_info",{CueTrack:l,CueClusterPosition:this.lastClusterPosition,CueTime:this.lastClusterTimecode}),this.emit("cue",{CueTrack:l,CueClusterPosition:this.lastClusterPosition,CueTime:u})}this.last2SimpleBlockVideoTrackTimecode=[this.last2SimpleBlockVideoTrackTimecode[1],s]}else if(2===this.trackTypes[l]){if(!this.firstAudioBlockRead&&(this.firstAudioBlockRead=!0,"audio"===this.trackInfo.type)){u=this.lastClusterTimecode+s;this.cues.push({CueTrack:l,CueClusterPosition:this.lastClusterPosition,CueTime:u}),this.emit("cue_info",{CueTrack:l,CueClusterPosition:this.lastClusterPosition,CueTime:this.lastClusterTimecode}),this.emit("cue",{CueTrack:l,CueClusterPosition:this.lastClusterPosition,CueTime:u})}this.last2SimpleBlockAudioTrackTimecode=[this.last2SimpleBlockAudioTrackTimecode[1],s]}this.use_duration_every_simpleblock&&this.emit("duration",{timecodeScale:this.timecodeScale,duration:this.duration}),this.use_webp&&c.forEach((function(e){if("9d012a"===e.slice(3,6).toString("hex")){var n=a.VP8BitStreamToRiffWebPBuffer(e),i=new Blob([n],{type:"image/webp"}),r=t.duration;t.emit("webp",{currentTime:r,webp:i})}}))}else"m"===e.type&&"Cluster"===e.name&&!1===e.isEnd?(this.firstVideoBlockRead=!1,this.firstAudioBlockRead=!1,this.emit_segment_info(),this.emit("cluster_ptr",e.tagStart),this.lastClusterPosition=e.tagStart):"u"===e.type&&"Timecode"===e.name?this.lastClusterTimecode=e.value:"u"===e.type&&"TimecodeScale"===e.name?this.timecodeScale=e.value:"m"===e.type&&"TrackEntry"===e.name?e.isEnd?(this.trackTypes[this.currentTrack.TrackNumber]=this.currentTrack.TrackType,this.trackDefaultDuration[this.currentTrack.TrackNumber]=this.currentTrack.DefaultDuration,this.trackCodecDelay[this.currentTrack.TrackNumber]=this.currentTrack.CodecDelay):this.currentTrack={TrackNumber:-1,TrackType:-1,DefaultDuration:null,CodecDelay:null}:"u"===e.type&&"TrackType"===e.name?this.currentTrack.TrackType=e.value:"u"===e.type&&"TrackNumber"===e.name?this.currentTrack.TrackNumber=e.value:"u"===e.type&&"CodecDelay"===e.name?this.currentTrack.CodecDelay=e.value:"u"===e.type&&"DefaultDuration"===e.name?this.drop_default_duration?(console.warn("DefaultDuration detected!, remove it"),n=!0):this.currentTrack.DefaultDuration=e.value:"unknown"===e.name&&console.warn(e);!this.metadataloaded&&e.dataEnd>0&&(this.metadataSize=e.dataEnd),n||this.chunks.push(e),this.logging&&this.put(e)}},Object.defineProperty(t.prototype,"duration",{get:function(){if("nothing"===this.trackInfo.type)return console.warn("no video, no audio track"),0;var e=0,t=0,n=0,i=this.trackDefaultDuration[this.trackInfo.trackNumber];if("number"==typeof i)e=i;else if("both"===this.trackInfo.type)this.last2SimpleBlockAudioTrackTimecode[1]>this.last2SimpleBlockVideoTrackTimecode[1]?(e=(this.last2SimpleBlockAudioTrackTimecode[1]-this.last2SimpleBlockAudioTrackTimecode[0])*this.timecodeScale,"number"==typeof(r=this.trackCodecDelay[this.trackTypes.indexOf(2)])&&(t=r),n=this.last2SimpleBlockAudioTrackTimecode[1]):(e=(this.last2SimpleBlockVideoTrackTimecode[1]-this.last2SimpleBlockVideoTrackTimecode[0])*this.timecodeScale,"number"==typeof(r=this.trackCodecDelay[this.trackTypes.indexOf(1)])&&(t=r),n=this.last2SimpleBlockVideoTrackTimecode[1]);else if("video"===this.trackInfo.type){e=(this.last2SimpleBlockVideoTrackTimecode[1]-this.last2SimpleBlockVideoTrackTimecode[0])*this.timecodeScale,"number"==typeof(r=this.trackCodecDelay[this.trackInfo.trackNumber])&&(t=r),n=this.last2SimpleBlockVideoTrackTimecode[1]}else if("audio"===this.trackInfo.type){var r;e=(this.last2SimpleBlockAudioTrackTimecode[1]-this.last2SimpleBlockAudioTrackTimecode[0])*this.timecodeScale,"number"==typeof(r=this.trackCodecDelay[this.trackInfo.trackNumber])&&(t=r),n=this.last2SimpleBlockAudioTrackTimecode[1]}var o=((this.lastClusterTimecode+n)*this.timecodeScale+e-t)/this.timecodeScale;return Math.floor(o)},enumerable:!1,configurable:!0}),t.prototype.addListener=function(t,n){return e.prototype.addListener.call(this,t,n)},t.prototype.put=function(e){this.hasLoggingStarted||(this.hasLoggingStarted=!0,this.logging&&this.logGroup&&console.groupCollapsed(this.logGroup)),"m"===e.type?e.isEnd?console.groupEnd():console.group(e.name+":"+e.tagStart):"b"===e.type?console.log(e.name,e.type):console.log(e.name,e.tagStart,e.type,e.value)},t}(o.EventEmitter);t.default=s},5245:(e,t,n)=>{e.exports=function(e,t,n){var r="&#"+String(e);return n&&t&&!/\d/.test(i(t))?r:r+";"};var i=n(9677)},5261:(e,t,n)=>{"use strict";var i=n(8593),r=n(1782);e.exports=function(e){var t,n,o=e.length,a=[],s=[],l=-1;for(;++l{"use strict";e.exports=function(e,t){return e(t,"del",i(e,t))};var i=n(4297)},5325:e=>{"use strict";e.exports=n;var t=n.prototype;function n(e,t){this.property=e,this.attribute=t}t.space=null,t.attribute=null,t.property=null,t.boolean=!1,t.booleanish=!1,t.overloadedBoolean=!1,t.number=!1,t.commaSeparated=!1,t.spaceSeparated=!1,t.commaOrSpaceSeparated=!1,t.mustUseProperty=!1,t.defined=!1},5350:(e,t)=>{"use strict";t.byteLength=function(e){var t=s(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,o=s(e),a=o[0],l=o[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,a,l)),u=0,h=l>0?a-4:a;for(n=0;n>16&255,c[u++]=t>>8&255,c[u++]=255&t;2===l&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[u++]=255&t);1===l&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t);return c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,o=[],a=16383,s=0,c=i-r;sc?c:s+a));1===r?(t=e[i-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return o.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)n[a]=o[a],i[o.charCodeAt(a)]=a;function s(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,i){for(var r,o,a=[],s=t;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},5393:(e,t,n)=>{"use strict";var i=n(8593),r=n(631);e.exports=function(e,t){var n=t.value;if(e.bogusComments)return"";return"\x3c!--"+n.replace(o,(function(t){return r(t,i(e.entities,{subset:a}))}))+"--\x3e"};var o=/^>|^->||--!>|"],s=[">"]},5416:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.byEbmlID=void 0,t.byEbmlID={128:{name:"ChapterDisplay",level:4,type:"m",multiple:!0,minver:1,webm:!0,description:"Contains all possible strings to use for the chapter display."},131:{name:"TrackType",level:3,type:"u",mandatory:!0,minver:1,range:"1-254",description:"A set of track types coded on 8 bits (1: video, 2: audio, 3: complex, 0x10: logo, 0x11: subtitle, 0x12: buttons, 0x20: control)."},133:{name:"ChapString",cppname:"ChapterString",level:5,type:"8",mandatory:!0,minver:1,webm:!0,description:"Contains the string to use as the chapter atom."},134:{name:"CodecID",level:3,type:"s",mandatory:!0,minver:1,description:"An ID corresponding to the codec, see the codec page for more info."},136:{name:"FlagDefault",cppname:"TrackFlagDefault",level:3,type:"u",mandatory:!0,minver:1,default:1,range:"0-1",description:"Set if that track (audio, video or subs) SHOULD be active if no language found matches the user preference. (1 bit)"},137:{name:"ChapterTrackNumber",level:5,type:"u",mandatory:!0,multiple:!0,minver:1,webm:!1,range:"not 0",description:"UID of the Track to apply this chapter too. In the absense of a control track, choosing this chapter will select the listed Tracks and deselect unlisted tracks. Absense of this element indicates that the Chapter should be applied to any currently used Tracks."},145:{name:"ChapterTimeStart",level:4,type:"u",mandatory:!0,minver:1,webm:!0,description:"Timestamp of the start of Chapter (not scaled)."},146:{name:"ChapterTimeEnd",level:4,type:"u",minver:1,webm:!1,description:"Timestamp of the end of Chapter (timestamp excluded, not scaled)."},150:{name:"CueRefTime",level:5,type:"u",mandatory:!0,minver:2,webm:!1,description:"Timestamp of the referenced Block."},151:{name:"CueRefCluster",level:5,type:"u",mandatory:!0,webm:!1,description:"The Position of the Cluster containing the referenced Block."},152:{name:"ChapterFlagHidden",level:4,type:"u",mandatory:!0,minver:1,webm:!1,default:0,range:"0-1",description:"If a chapter is hidden (1), it should not be available to the user interface (but still to Control Tracks; see flag notes). (1 bit)"},16980:{name:"ContentCompAlgo",level:6,type:"u",mandatory:!0,minver:1,webm:!1,default:0,description:"The compression algorithm used. Algorithms that have been specified so far are: 0 - zlib, 3 - Header Stripping"},16981:{name:"ContentCompSettings",level:6,type:"b",minver:1,webm:!1,description:"Settings that might be needed by the decompressor. For Header Stripping (ContentCompAlgo=3), the bytes that were removed from the beggining of each frames of the track."},17026:{name:"DocType",level:1,type:"s",mandatory:!0,default:"matroska",minver:1,description:"A string that describes the type of document that follows this EBML header. 'matroska' in our case or 'webm' for webm files."},17029:{name:"DocTypeReadVersion",level:1,type:"u",mandatory:!0,default:1,minver:1,description:"The minimum DocType version an interpreter has to support to read this file."},17030:{name:"EBMLVersion",level:1,type:"u",mandatory:!0,default:1,minver:1,description:"The version of EBML parser used to create the file."},17031:{name:"DocTypeVersion",level:1,type:"u",mandatory:!0,default:1,minver:1,description:"The version of DocType interpreter used to create the file."},17476:{name:"SegmentFamily",level:2,type:"b",multiple:!0,minver:1,webm:!1,bytesize:16,description:"A randomly generated unique ID that all segments related to each other must use (128 bits)."},17505:{name:"DateUTC",level:2,type:"d",minver:1,description:"Date of the origin of timestamp (value 0), i.e. production date."},17540:{name:"TagDefault",level:4,type:"u",mandatory:!0,minver:1,webm:!1,default:1,range:"0-1",description:"Indication to know if this is the default/original language to use for the given tag. (1 bit)"},17541:{name:"TagBinary",level:4,type:"b",minver:1,webm:!1,description:"The values of the Tag if it is binary. Note that this cannot be used in the same SimpleTag as TagString."},17543:{name:"TagString",level:4,type:"8",minver:1,webm:!1,description:"The value of the Element."},17545:{name:"Duration",level:2,type:"f",minver:1,range:"> 0",description:"Duration of the segment (based on TimecodeScale)."},17816:{name:"ChapterFlagEnabled",level:4,type:"u",mandatory:!0,minver:1,webm:!1,default:1,range:"0-1",description:"Specify wether the chapter is enabled. It can be enabled/disabled by a Control Track. When disabled, the movie should skip all the content between the TimeStart and TimeEnd of this chapter (see flag notes). (1 bit)"},18016:{name:"FileMimeType",level:3,type:"s",mandatory:!0,minver:1,webm:!1,description:"MIME type of the file."},18017:{name:"FileUsedStartTime",level:3,type:"u",divx:!0,description:"DivX font extension"},18018:{name:"FileUsedEndTime",level:3,type:"u",divx:!0,description:"DivX font extension"},18037:{name:"FileReferral",level:3,type:"b",webm:!1,description:"A binary value that a track/codec can refer to when the attachment is needed."},20529:{name:"ContentEncodingOrder",level:5,type:"u",mandatory:!0,minver:1,webm:!1,default:0,description:"Tells when this modification was used during encoding/muxing starting with 0 and counting upwards. The decoder/demuxer has to start with the highest order number it finds and work its way down. This value has to be unique over all ContentEncodingOrder elements in the segment."},20530:{name:"ContentEncodingScope",level:5,type:"u",mandatory:!0,minver:1,webm:!1,default:1,range:"not 0",description:"A bit field that describes which elements have been modified in this way. Values (big endian) can be OR'ed. Possible values: 1 - all frame contents, 2 - the track's private data, 4 - the next ContentEncoding (next ContentEncodingOrder. Either the data inside ContentCompression and/or ContentEncryption)"},20531:{name:"ContentEncodingType",level:5,type:"u",mandatory:!0,minver:1,webm:!1,default:0,description:"A value describing what kind of transformation has been done. Possible values: 0 - compression, 1 - encryption"},20532:{name:"ContentCompression",level:5,type:"m",minver:1,webm:!1,description:"Settings describing the compression used. Must be present if the value of ContentEncodingType is 0 and absent otherwise. Each block must be decompressable even if no previous block is available in order not to prevent seeking."},20533:{name:"ContentEncryption",level:5,type:"m",minver:1,webm:!1,description:"Settings describing the encryption used. Must be present if the value of ContentEncodingType is 1 and absent otherwise."},21368:{name:"CueBlockNumber",level:4,type:"u",minver:1,default:1,range:"not 0",description:"Number of the Block in the specified Cluster."},22100:{name:"ChapterStringUID",level:4,type:"8",mandatory:!1,minver:3,webm:!0,description:"A unique string ID to identify the Chapter. Use for WebVTT cue identifier storage."},22337:{name:"WritingApp",level:2,type:"8",mandatory:!0,minver:1,description:'Writing application ("mkvmerge-0.3.3").'},22612:{name:"SilentTracks",cppname:"ClusterSilentTracks",level:2,type:"m",minver:1,webm:!1,description:"The list of tracks that are not used in that part of the stream. It is useful when using overlay tracks on seeking. Then you should decide what track to use."},25152:{name:"ContentEncoding",level:4,type:"m",mandatory:!0,multiple:!0,minver:1,webm:!1,description:"Settings for one content encoding like compression or encryption."},25188:{name:"BitDepth",cppname:"AudioBitDepth",level:4,type:"u",minver:1,range:"not 0",description:"Bits per sample, mostly used for PCM."},25906:{name:"SignedElement",level:3,type:"b",multiple:!0,webm:!1,description:"An element ID whose data will be used to compute the signature."},26148:{name:"TrackTranslate",level:3,type:"m",multiple:!0,minver:1,webm:!1,description:"The track identification for the given Chapter Codec."},26897:{name:"ChapProcessCommand",cppname:"ChapterProcessCommand",level:5,type:"m",multiple:!0,minver:1,webm:!1,description:"Contains all the commands associated to the Atom."},26914:{name:"ChapProcessTime",cppname:"ChapterProcessTime",level:6,type:"u",mandatory:!0,minver:1,webm:!1,description:"Defines when the process command should be handled (0: during the whole chapter, 1: before starting playback, 2: after playback of the chapter)."},26916:{name:"ChapterTranslate",level:2,type:"m",multiple:!0,minver:1,webm:!1,description:"A tuple of corresponding ID used by chapter codecs to represent this segment."},26931:{name:"ChapProcessData",cppname:"ChapterProcessData",level:6,type:"b",mandatory:!0,minver:1,webm:!1,description:"Contains the command information. The data should be interpreted depending on the ChapProcessCodecID value. For ChapProcessCodecID = 1, the data correspond to the binary DVD cell pre/post commands."},26948:{name:"ChapProcess",cppname:"ChapterProcess",level:4,type:"m",multiple:!0,minver:1,webm:!1,description:"Contains all the commands associated to the Atom."},26965:{name:"ChapProcessCodecID",cppname:"ChapterProcessCodecID",level:5,type:"u",mandatory:!0,minver:1,webm:!1,default:0,description:"Contains the type of the codec used for the processing. A value of 0 means native Matroska processing (to be defined), a value of 1 means the DVD command set is used. More codec IDs can be added later."},29555:{name:"Tag",level:2,type:"m",mandatory:!0,multiple:!0,minver:1,webm:!1,description:"Element containing elements specific to Tracks/Chapters."},29572:{name:"SegmentFilename",level:2,type:"8",minver:1,webm:!1,description:"A filename corresponding to this segment."},29766:{name:"AttachmentLink",cppname:"TrackAttachmentLink",level:3,type:"u",minver:1,webm:!1,range:"not 0",description:"The UID of an attachment that is used by this codec."},2459272:{name:"CodecName",level:3,type:"8",minver:1,description:"A human-readable string specifying the codec."},408125543:{name:"Segment",level:"0",type:"m",mandatory:!0,multiple:!0,minver:1,description:"This element contains all other top-level (level 1) elements. Typically a Matroska file is composed of 1 segment."},17530:{name:"TagLanguage",level:4,type:"s",mandatory:!0,minver:1,webm:!1,default:"und",description:"Specifies the language of the tag specified, in the Matroska languages form."},17827:{name:"TagName",level:4,type:"8",mandatory:!0,minver:1,webm:!1,description:"The name of the Tag that is going to be stored."},26568:{name:"SimpleTag",cppname:"TagSimple",level:3,recursive:"1",type:"m",mandatory:!0,multiple:!0,minver:1,webm:!1,description:"Contains general information about the target."},25542:{name:"TagAttachmentUID",level:4,type:"u",multiple:!0,minver:1,webm:!1,default:0,description:"A unique ID to identify the Attachment(s) the tags belong to. If the value is 0 at this level, the tags apply to all the attachments in the Segment."},25540:{name:"TagChapterUID",level:4,type:"u",multiple:!0,minver:1,webm:!1,default:0,description:"A unique ID to identify the Chapter(s) the tags belong to. If the value is 0 at this level, the tags apply to all chapters in the Segment."},25545:{name:"TagEditionUID",level:4,type:"u",multiple:!0,minver:1,webm:!1,default:0,description:"A unique ID to identify the EditionEntry(s) the tags belong to. If the value is 0 at this level, the tags apply to all editions in the Segment."},25541:{name:"TagTrackUID",level:4,type:"u",multiple:!0,minver:1,webm:!1,default:0,description:"A unique ID to identify the Track(s) the tags belong to. If the value is 0 at this level, the tags apply to all tracks in the Segment."},25546:{name:"TargetType",cppname:"TagTargetType",level:4,type:"s",minver:1,webm:!1,strong:"informational",description:'An string that can be used to display the logical level of the target like "ALBUM", "TRACK", "MOVIE", "CHAPTER", etc (see TargetType).'},26826:{name:"TargetTypeValue",cppname:"TagTargetTypeValue",level:4,type:"u",minver:1,webm:!1,default:50,description:"A number to indicate the logical level of the target (see TargetType)."},25536:{name:"Targets",cppname:"TagTargets",level:3,type:"m",mandatory:!0,minver:1,webm:!1,description:"Contain all UIDs where the specified meta data apply. It is empty to describe everything in the segment."},307544935:{name:"Tags",level:1,type:"m",multiple:!0,minver:1,webm:!1,description:"Element containing elements specific to Tracks/Chapters. A list of valid tags can be found here."},17677:{name:"ChapProcessPrivate",cppname:"ChapterProcessPrivate",level:5,type:"b",minver:1,webm:!1,description:'Some optional data attached to the ChapProcessCodecID information. For ChapProcessCodecID = 1, it is the "DVD level" equivalent.'},17278:{name:"ChapCountry",cppname:"ChapterCountry",level:5,type:"s",multiple:!0,minver:1,webm:!1,description:"The countries corresponding to the string, same 2 octets as in Internet domains."},17276:{name:"ChapLanguage",cppname:"ChapterLanguage",level:5,type:"s",mandatory:!0,multiple:!0,minver:1,webm:!0,default:"eng",description:"The languages corresponding to the string, in the bibliographic ISO-639-2 form."},143:{name:"ChapterTrack",level:4,type:"m",minver:1,webm:!1,description:"List of tracks on which the chapter applies. If this element is not present, all tracks apply"},25539:{name:"ChapterPhysicalEquiv",level:4,type:"u",minver:1,webm:!1,description:'Specify the physical equivalent of this ChapterAtom like "DVD" (60) or "SIDE" (50), see complete list of values.'},28348:{name:"ChapterSegmentEditionUID",level:4,type:"u",minver:1,webm:!1,range:"not 0",description:"The EditionUID to play from the segment linked in ChapterSegmentUID."},28263:{name:"ChapterSegmentUID",level:4,type:"b",minver:1,webm:!1,range:">0",bytesize:16,description:"A segment to play in place of this chapter. Edition ChapterSegmentEditionUID should be used for this segment, otherwise no edition is used."},29636:{name:"ChapterUID",level:4,type:"u",mandatory:!0,minver:1,webm:!0,range:"not 0",description:"A unique ID to identify the Chapter."},182:{name:"ChapterAtom",level:3,recursive:"1",type:"m",mandatory:!0,multiple:!0,minver:1,webm:!0,description:"Contains the atom information to use as the chapter atom (apply to all tracks)."},17885:{name:"EditionFlagOrdered",level:3,type:"u",minver:1,webm:!1,default:0,range:"0-1",description:"Specify if the chapters can be defined multiple times and the order to play them is enforced. (1 bit)"},17883:{name:"EditionFlagDefault",level:3,type:"u",mandatory:!0,minver:1,webm:!1,default:0,range:"0-1",description:"If a flag is set (1) the edition should be used as the default one. (1 bit)"},17853:{name:"EditionFlagHidden",level:3,type:"u",mandatory:!0,minver:1,webm:!1,default:0,range:"0-1",description:"If an edition is hidden (1), it should not be available to the user interface (but still to Control Tracks; see flag notes). (1 bit)"},17852:{name:"EditionUID",level:3,type:"u",minver:1,webm:!1,range:"not 0",description:"A unique ID to identify the edition. It's useful for tagging an edition."},17849:{name:"EditionEntry",level:2,type:"m",mandatory:!0,multiple:!0,minver:1,webm:!0,description:"Contains all information about a segment edition."},272869232:{name:"Chapters",level:1,type:"m",minver:1,webm:!0,description:"A system to define basic menus and partition data. For more detailed information, look at the Chapters Explanation."},18094:{name:"FileUID",level:3,type:"u",mandatory:!0,minver:1,webm:!1,range:"not 0",description:"Unique ID representing the file, as random as possible."},18012:{name:"FileData",level:3,type:"b",mandatory:!0,minver:1,webm:!1,description:"The data of the file."},18030:{name:"FileName",level:3,type:"8",mandatory:!0,minver:1,webm:!1,description:"Filename of the attached file."},18046:{name:"FileDescription",level:3,type:"8",minver:1,webm:!1,description:"A human-friendly name for the attached file."},24999:{name:"AttachedFile",level:2,type:"m",mandatory:!0,multiple:!0,minver:1,webm:!1,description:"An attached file."},423732329:{name:"Attachments",level:1,type:"m",minver:1,webm:!1,description:"Contain attached files."},235:{name:"CueRefCodecState",level:5,type:"u",webm:!1,default:0,description:"The position of the Codec State corresponding to this referenced element. 0 means that the data is taken from the initial Track Entry."},21343:{name:"CueRefNumber",level:5,type:"u",webm:!1,default:1,range:"not 0",description:"Number of the referenced Block of Track X in the specified Cluster."},219:{name:"CueReference",level:4,type:"m",multiple:!0,minver:2,webm:!1,description:"The Clusters containing the required referenced Blocks."},234:{name:"CueCodecState",level:4,type:"u",minver:2,webm:!1,default:0,description:"The position of the Codec State corresponding to this Cue element. 0 means that the data is taken from the initial Track Entry."},178:{name:"CueDuration",level:4,type:"u",mandatory:!1,minver:4,webm:!1,description:"The duration of the block according to the segment time base. If missing the track's DefaultDuration does not apply and no duration information is available in terms of the cues."},240:{name:"CueRelativePosition",level:4,type:"u",mandatory:!1,minver:4,webm:!1,description:"The relative position of the referenced block inside the cluster with 0 being the first possible position for an element inside that cluster.",position:"clusterRelative"},241:{name:"CueClusterPosition",level:4,type:"u",mandatory:!0,minver:1,description:"The position of the Cluster containing the required Block.",position:"segment"},247:{name:"CueTrack",level:4,type:"u",mandatory:!0,minver:1,range:"not 0",description:"The track for which a position is given."},183:{name:"CueTrackPositions",level:3,type:"m",mandatory:!0,multiple:!0,minver:1,description:"Contain positions for different tracks corresponding to the timestamp."},179:{name:"CueTime",level:3,type:"u",mandatory:!0,minver:1,description:"Absolute timestamp according to the segment time base."},187:{name:"CuePoint",level:2,type:"m",mandatory:!0,multiple:!0,minver:1,description:"Contains all information relative to a seek point in the segment."},475249515:{name:"Cues",level:1,type:"m",minver:1,description:'A top-level element to speed seeking access. All entries are local to the segment. Should be mandatory for non "live" streams.'},18406:{name:"ContentSigHashAlgo",level:6,type:"u",minver:1,webm:!1,default:0,description:"The hash algorithm used for the signature. A value of '0' means that the contents have not been signed but only encrypted. Predefined values: 1 - SHA1-160 2 - MD5"},18405:{name:"ContentSigAlgo",level:6,type:"u",minver:1,webm:!1,default:0,description:"The algorithm used for the signature. A value of '0' means that the contents have not been signed but only encrypted. Predefined values: 1 - RSA"},18404:{name:"ContentSigKeyID",level:6,type:"b",minver:1,webm:!1,description:"This is the ID of the private key the data was signed with."},18403:{name:"ContentSignature",level:6,type:"b",minver:1,webm:!1,description:"A cryptographic signature of the contents."},18402:{name:"ContentEncKeyID",level:6,type:"b",minver:1,webm:!1,description:"For public key algorithms this is the ID of the public key the the data was encrypted with."},18401:{name:"ContentEncAlgo",level:6,type:"u",minver:1,webm:!1,default:0,description:"The encryption algorithm used. The value '0' means that the contents have not been encrypted but only signed. Predefined values: 1 - DES, 2 - 3DES, 3 - Twofish, 4 - Blowfish, 5 - AES"},28032:{name:"ContentEncodings",level:3,type:"m",minver:1,webm:!1,description:"Settings for several content encoding mechanisms like compression or encryption."},196:{name:"TrickMasterTrackSegmentUID",level:3,type:"b",divx:!0,bytesize:16,description:"DivX trick track extenstions"},199:{name:"TrickMasterTrackUID",level:3,type:"u",divx:!0,description:"DivX trick track extenstions"},198:{name:"TrickTrackFlag",level:3,type:"u",divx:!0,default:0,description:"DivX trick track extenstions"},193:{name:"TrickTrackSegmentUID",level:3,type:"b",divx:!0,bytesize:16,description:"DivX trick track extenstions"},192:{name:"TrickTrackUID",level:3,type:"u",divx:!0,description:"DivX trick track extenstions"},237:{name:"TrackJoinUID",level:5,type:"u",mandatory:!0,multiple:!0,minver:3,webm:!1,range:"not 0",description:"The trackUID number of a track whose blocks are used to create this virtual track."},233:{name:"TrackJoinBlocks",level:4,type:"m",minver:3,webm:!1,description:"Contains the list of all tracks whose Blocks need to be combined to create this virtual track"},230:{name:"TrackPlaneType",level:6,type:"u",mandatory:!0,minver:3,webm:!1,description:"The kind of plane this track corresponds to (0: left eye, 1: right eye, 2: background)."},229:{name:"TrackPlaneUID",level:6,type:"u",mandatory:!0,minver:3,webm:!1,range:"not 0",description:"The trackUID number of the track representing the plane."},228:{name:"TrackPlane",level:5,type:"m",mandatory:!0,multiple:!0,minver:3,webm:!1,description:"Contains a video plane track that need to be combined to create this 3D track"},227:{name:"TrackCombinePlanes",level:4,type:"m",minver:3,webm:!1,description:"Contains the list of all video plane tracks that need to be combined to create this 3D track"},226:{name:"TrackOperation",level:3,type:"m",minver:3,webm:!1,description:"Operation that needs to be applied on tracks to create this virtual track. For more details look at the Specification Notes on the subject."},32123:{name:"ChannelPositions",cppname:"AudioPosition",level:4,type:"b",webm:!1,description:"Table of horizontal angles for each successive channel, see appendix."},159:{name:"Channels",cppname:"AudioChannels",level:4,type:"u",mandatory:!0,minver:1,default:1,range:"not 0",description:"Numbers of channels in the track."},30901:{name:"OutputSamplingFrequency",cppname:"AudioOutputSamplingFreq",level:4,type:"f",minver:1,default:"Sampling Frequency",range:"> 0",description:"Real output sampling frequency in Hz (used for SBR techniques)."},181:{name:"SamplingFrequency",cppname:"AudioSamplingFreq",level:4,type:"f",mandatory:!0,minver:1,default:8e3,range:"> 0",description:"Sampling frequency in Hz."},225:{name:"Audio",cppname:"TrackAudio",level:3,type:"m",minver:1,description:"Audio settings."},2327523:{name:"FrameRate",cppname:"VideoFrameRate",level:4,type:"f",range:"> 0",strong:"Informational",description:"Number of frames per second. only."},3126563:{name:"GammaValue",cppname:"VideoGamma",level:4,type:"f",webm:!1,range:"> 0",description:"Gamma Value."},3061028:{name:"ColourSpace",cppname:"VideoColourSpace",level:4,type:"b",minver:1,webm:!1,bytesize:4,description:"Same value as in AVI (32 bits)."},21683:{name:"AspectRatioType",cppname:"VideoAspectRatio",level:4,type:"u",minver:1,default:0,description:"Specify the possible modifications to the aspect ratio (0: free resizing, 1: keep aspect ratio, 2: fixed)."},21682:{name:"DisplayUnit",cppname:"VideoDisplayUnit",level:4,type:"u",minver:1,default:0,description:"How DisplayWidth & DisplayHeight should be interpreted (0: pixels, 1: centimeters, 2: inches, 3: Display Aspect Ratio)."},21690:{name:"DisplayHeight",cppname:"VideoDisplayHeight",level:4,type:"u",minver:1,default:"PixelHeight",range:"not 0",description:"Height of the video frames to display. The default value is only valid when DisplayUnit is 0."},21680:{name:"DisplayWidth",cppname:"VideoDisplayWidth",level:4,type:"u",minver:1,default:"PixelWidth",range:"not 0",description:"Width of the video frames to display. The default value is only valid when DisplayUnit is 0."},21725:{name:"PixelCropRight",cppname:"VideoPixelCropRight",level:4,type:"u",minver:1,default:0,description:"The number of video pixels to remove on the right of the image."},21708:{name:"PixelCropLeft",cppname:"VideoPixelCropLeft",level:4,type:"u",minver:1,default:0,description:"The number of video pixels to remove on the left of the image."},21691:{name:"PixelCropTop",cppname:"VideoPixelCropTop",level:4,type:"u",minver:1,default:0,description:"The number of video pixels to remove at the top of the image."},21674:{name:"PixelCropBottom",cppname:"VideoPixelCropBottom",level:4,type:"u",minver:1,default:0,description:"The number of video pixels to remove at the bottom of the image (for HDTV content)."},186:{name:"PixelHeight",cppname:"VideoPixelHeight",level:4,type:"u",mandatory:!0,minver:1,range:"not 0",description:"Height of the encoded video frames in pixels."},176:{name:"PixelWidth",cppname:"VideoPixelWidth",level:4,type:"u",mandatory:!0,minver:1,range:"not 0",description:"Width of the encoded video frames in pixels."},21433:{name:"OldStereoMode",level:4,type:"u",maxver:"0",webm:!1,divx:!1,description:"DEPRECATED, DO NOT USE. Bogus StereoMode value used in old versions of libmatroska. (0: mono, 1: right eye, 2: left eye, 3: both eyes)."},21440:{name:"AlphaMode",cppname:"VideoAlphaMode",level:4,type:"u",minver:3,webm:!0,default:0,description:"Alpha Video Mode. Presence of this element indicates that the BlockAdditional element could contain Alpha data."},21432:{name:"StereoMode",cppname:"VideoStereoMode",level:4,type:"u",minver:3,webm:!0,default:0,description:"Stereo-3D video mode (0: mono, 1: side by side (left eye is first), 2: top-bottom (right eye is first), 3: top-bottom (left eye is first), 4: checkboard (right is first), 5: checkboard (left is first), 6: row interleaved (right is first), 7: row interleaved (left is first), 8: column interleaved (right is first), 9: column interleaved (left is first), 10: anaglyph (cyan/red), 11: side by side (right eye is first), 12: anaglyph (green/magenta), 13 both eyes laced in one Block (left eye is first), 14 both eyes laced in one Block (right eye is first)) . There are some more details on 3D support in the Specification Notes."},154:{name:"FlagInterlaced",cppname:"VideoFlagInterlaced",level:4,type:"u",mandatory:!0,minver:2,webm:!0,default:0,range:"0-1",description:"Set if the video is interlaced. (1 bit)"},224:{name:"Video",cppname:"TrackVideo",level:3,type:"m",minver:1,description:"Video settings."},26277:{name:"TrackTranslateTrackID",level:4,type:"b",mandatory:!0,minver:1,webm:!1,description:"The binary value used to represent this track in the chapter codec data. The format depends on the ChapProcessCodecID used."},26303:{name:"TrackTranslateCodec",level:4,type:"u",mandatory:!0,minver:1,webm:!1,description:"The chapter codec using this ID (0: Matroska Script, 1: DVD-menu)."},26364:{name:"TrackTranslateEditionUID",level:4,type:"u",multiple:!0,minver:1,webm:!1,description:"Specify an edition UID on which this translation applies. When not specified, it means for all editions found in the segment."},22203:{name:"SeekPreRoll",level:3,type:"u",mandatory:!0,multiple:!1,default:0,minver:4,webm:!0,description:"After a discontinuity, SeekPreRoll is the duration in nanoseconds of the data the decoder must decode before the decoded data is valid."},22186:{name:"CodecDelay",level:3,type:"u",multiple:!1,default:0,minver:4,webm:!0,description:"CodecDelay is The codec-built-in delay in nanoseconds. This value must be subtracted from each block timestamp in order to get the actual timestamp. The value should be small so the muxing of tracks with the same actual timestamp are in the same Cluster."},28587:{name:"TrackOverlay",level:3,type:"u",multiple:!0,minver:1,webm:!1,description:"Specify that this track is an overlay track for the Track specified (in the u-integer). That means when this track has a gap (see SilentTracks) the overlay track should be used instead. The order of multiple TrackOverlay matters, the first one is the one that should be used. If not found it should be the second, etc."},170:{name:"CodecDecodeAll",level:3,type:"u",mandatory:!0,minver:2,webm:!1,default:1,range:"0-1",description:"The codec can decode potentially damaged data (1 bit)."},2536e3:{name:"CodecDownloadURL",level:3,type:"s",multiple:!0,webm:!1,description:"A URL to download about the codec used."},3883072:{name:"CodecInfoURL",level:3,type:"s",multiple:!0,webm:!1,description:"A URL to find information about the codec used."},3839639:{name:"CodecSettings",level:3,type:"8",webm:!1,description:"A string describing the encoding setting used."},25506:{name:"CodecPrivate",level:3,type:"b",minver:1,description:"Private data only known to the codec."},2274716:{name:"Language",cppname:"TrackLanguage",level:3,type:"s",minver:1,default:"eng",description:"Specifies the language of the track in the Matroska languages form."},21358:{name:"Name",cppname:"TrackName",level:3,type:"8",minver:1,description:"A human-readable track name."},21998:{name:"MaxBlockAdditionID",level:3,type:"u",mandatory:!0,minver:1,webm:!1,default:0,description:"The maximum value of BlockAdditions for this track."},21375:{name:"TrackOffset",level:3,type:"i",webm:!1,default:0,description:"A value to add to the Block's Timestamp. This can be used to adjust the playback offset of a track."},2306383:{name:"TrackTimecodeScale",level:3,type:"f",mandatory:!0,minver:1,maxver:"3",webm:!1,default:1,range:"> 0",description:"DEPRECATED, DO NOT USE. The scale to apply on this track to work at normal speed in relation with other tracks (mostly used to adjust video speed when the audio length differs)."},2313850:{name:"DefaultDecodedFieldDuration",cppname:"TrackDefaultDecodedFieldDuration",level:3,type:"u",minver:4,range:"not 0",description:"The period in nanoseconds (not scaled by TimcodeScale)\nbetween two successive fields at the output of the decoding process (see the notes)"},2352003:{name:"DefaultDuration",cppname:"TrackDefaultDuration",level:3,type:"u",minver:1,range:"not 0",description:"Number of nanoseconds (not scaled via TimecodeScale) per frame ('frame' in the Matroska sense -- one element put into a (Simple)Block)."},28152:{name:"MaxCache",cppname:"TrackMaxCache",level:3,type:"u",minver:1,webm:!1,description:"The maximum cache size required to store referenced frames in and the current frame. 0 means no cache is needed."},28135:{name:"MinCache",cppname:"TrackMinCache",level:3,type:"u",mandatory:!0,minver:1,webm:!1,default:0,description:"The minimum number of frames a player should be able to cache during playback. If set to 0, the reference pseudo-cache system is not used."},156:{name:"FlagLacing",cppname:"TrackFlagLacing",level:3,type:"u",mandatory:!0,minver:1,default:1,range:"0-1",description:"Set if the track may contain blocks using lacing. (1 bit)"},21930:{name:"FlagForced",cppname:"TrackFlagForced",level:3,type:"u",mandatory:!0,minver:1,default:0,range:"0-1",description:"Set if that track MUST be active during playback. There can be many forced track for a kind (audio, video or subs), the player should select the one which language matches the user preference or the default + forced track. Overlay MAY happen between a forced and non-forced track of the same kind. (1 bit)"},185:{name:"FlagEnabled",cppname:"TrackFlagEnabled",level:3,type:"u",mandatory:!0,minver:2,webm:!0,default:1,range:"0-1",description:"Set if the track is usable. (1 bit)"},29637:{name:"TrackUID",level:3,type:"u",mandatory:!0,minver:1,range:"not 0",description:"A unique ID to identify the Track. This should be kept the same when making a direct stream copy of the Track to another file."},215:{name:"TrackNumber",level:3,type:"u",mandatory:!0,minver:1,range:"not 0",description:"The track number as used in the Block Header (using more than 127 tracks is not encouraged, though the design allows an unlimited number)."},174:{name:"TrackEntry",level:2,type:"m",mandatory:!0,multiple:!0,minver:1,description:"Describes a track with all elements."},374648427:{name:"Tracks",level:1,type:"m",multiple:!0,minver:1,description:"A top-level block of information with many tracks described."},175:{name:"EncryptedBlock",level:2,type:"b",multiple:!0,webm:!1,description:"Similar to EncryptedBlock Structure)"},202:{name:"ReferenceTimeCode",level:4,type:"u",multiple:!1,mandatory:!0,minver:0,webm:!1,divx:!0,description:"DivX trick track extenstions"},201:{name:"ReferenceOffset",level:4,type:"u",multiple:!1,mandatory:!0,minver:0,webm:!1,divx:!0,description:"DivX trick track extenstions"},200:{name:"ReferenceFrame",level:3,type:"m",multiple:!1,minver:0,webm:!1,divx:!0,description:"DivX trick track extenstions"},207:{name:"SliceDuration",level:5,type:"u",default:0,description:"The (scaled) duration to apply to the element."},206:{name:"Delay",cppname:"SliceDelay",level:5,type:"u",default:0,description:"The (scaled) delay to apply to the element."},203:{name:"BlockAdditionID",cppname:"SliceBlockAddID",level:5,type:"u",default:0,description:"The ID of the BlockAdditional element (0 is the main Block)."},205:{name:"FrameNumber",cppname:"SliceFrameNumber",level:5,type:"u",default:0,description:"The number of the frame to generate from this lace with this delay (allow you to generate many frames from the same Block/Frame)."},204:{name:"LaceNumber",cppname:"SliceLaceNumber",level:5,type:"u",minver:1,default:0,divx:!1,description:"The reverse number of the frame in the lace (0 is the last frame, 1 is the next to last, etc). While there are a few files in the wild with this element, it is no longer in use and has been deprecated. Being able to interpret this element is not required for playback."},232:{name:"TimeSlice",level:4,type:"m",multiple:!0,minver:1,divx:!1,description:"Contains extra time information about the data contained in the Block. While there are a few files in the wild with this element, it is no longer in use and has been deprecated. Being able to interpret this element is not required for playback."},142:{name:"Slices",level:3,type:"m",minver:1,divx:!1,description:"Contains slices description."},30114:{name:"DiscardPadding",level:3,type:"i",minver:4,webm:!0,description:"Duration in nanoseconds of the silent data added to the Block (padding at the end of the Block for positive value, at the beginning of the Block for negative value). The duration of DiscardPadding is not calculated in the duration of the TrackEntry and should be discarded during playback."},164:{name:"CodecState",level:3,type:"b",minver:2,webm:!1,description:"The new codec state to use. Data interpretation is private to the codec. This information should always be referenced by a seek entry."},253:{name:"ReferenceVirtual",level:3,type:"i",webm:!1,description:"Relative position of the data that should be in position of the virtual block."},251:{name:"ReferenceBlock",level:3,type:"i",multiple:!0,minver:1,description:"Timestamp of another frame used as a reference (ie: B or P frame). The timestamp is relative to the block it's attached to."},250:{name:"ReferencePriority",cppname:"FlagReferenced",level:3,type:"u",mandatory:!0,minver:1,webm:!1,default:0,description:"This frame is referenced and has the specified cache priority. In cache only a frame of the same or higher priority can replace this frame. A value of 0 means the frame is not referenced."},155:{name:"BlockDuration",level:3,type:"u",minver:1,default:"TrackDuration",description:'The duration of the Block (based on TimecodeScale). This element is mandatory when DefaultDuration is set for the track (but can be omitted as other default values). When not written and with no DefaultDuration, the value is assumed to be the difference between the timestamp of this Block and the timestamp of the next Block in "display" order (not coding order). This element can be useful at the end of a Track (as there is not other Block available), or when there is a break in a track like for subtitle tracks. When set to 0 that means the frame is not a keyframe.'},165:{name:"BlockAdditional",level:5,type:"b",mandatory:!0,minver:1,webm:!1,description:"Interpreted by the codec as it wishes (using the BlockAddID)."},238:{name:"BlockAddID",level:5,type:"u",mandatory:!0,minver:1,webm:!1,default:1,range:"not 0",description:"An ID to identify the BlockAdditional level."},166:{name:"BlockMore",level:4,type:"m",mandatory:!0,multiple:!0,minver:1,webm:!1,description:"Contain the BlockAdditional and some parameters."},30113:{name:"BlockAdditions",level:3,type:"m",minver:1,webm:!1,description:"Contain additional blocks to complete the main one. An EBML parser that has no knowledge of the Block structure could still see and use/skip these data."},162:{name:"BlockVirtual",level:3,type:"b",webm:!1,description:"A Block with no data. It must be stored in the stream at the place the real Block should be in display order. (see Block Virtual)"},161:{name:"Block",level:3,type:"b",mandatory:!0,minver:1,description:"Block containing the actual data to be rendered and a timestamp relative to the Cluster Timecode. (see Block Structure)"},160:{name:"BlockGroup",level:2,type:"m",multiple:!0,minver:1,description:"Basic container of information containing a single Block or BlockVirtual, and information specific to that Block/VirtualBlock."},163:{name:"SimpleBlock",level:2,type:"b",multiple:!0,minver:2,webm:!0,divx:!0,description:"Similar to SimpleBlock Structure"},171:{name:"PrevSize",cppname:"ClusterPrevSize",level:2,type:"u",minver:1,description:"Size of the previous Cluster, in octets. Can be useful for backward playing.",position:"prevCluster"},167:{name:"Position",cppname:"ClusterPosition",level:2,type:"u",minver:1,webm:!1,description:"The Position of the Cluster in the segment (0 in live broadcast streams). It might help to resynchronise offset on damaged streams.",position:"segment"},22743:{name:"SilentTrackNumber",cppname:"ClusterSilentTrackNumber",level:3,type:"u",multiple:!0,minver:1,webm:!1,description:"One of the track number that are not used from now on in the stream. It could change later if not specified as silent in a further Cluster."},231:{name:"Timecode",cppname:"ClusterTimecode",level:2,type:"u",mandatory:!0,minver:1,description:"Absolute timestamp of the cluster (based on TimecodeScale)."},524531317:{name:"Cluster",level:1,type:"m",multiple:!0,minver:1,description:"The lower level element containing the (monolithic) Block structure."},19840:{name:"MuxingApp",level:2,type:"8",mandatory:!0,minver:1,description:'Muxing application or library ("libmatroska-0.4.3").'},31657:{name:"Title",level:2,type:"8",minver:1,webm:!1,description:"General name of the segment."},2807730:{name:"TimecodeScaleDenominator",level:2,type:"u",mandatory:!0,minver:4,default:"1000000000",description:"Timestamp scale numerator, see TimecodeScale."},2807729:{name:"TimecodeScale",level:2,type:"u",mandatory:!0,minver:1,default:"1000000",description:"Timestamp scale in nanoseconds (1.000.000 means all timestamps in the segment are expressed in milliseconds)."},27045:{name:"ChapterTranslateID",level:3,type:"b",mandatory:!0,minver:1,webm:!1,description:"The binary value used to represent this segment in the chapter codec data. The format depends on the ChapProcessCodecID used."},27071:{name:"ChapterTranslateCodec",level:3,type:"u",mandatory:!0,minver:1,webm:!1,description:"The chapter codec using this ID (0: Matroska Script, 1: DVD-menu)."},27132:{name:"ChapterTranslateEditionUID",level:3,type:"u",multiple:!0,minver:1,webm:!1,description:"Specify an edition UID on which this correspondance applies. When not specified, it means for all editions found in the segment."},4096955:{name:"NextFilename",level:2,type:"8",minver:1,webm:!1,description:"An escaped filename corresponding to the next segment."},4110627:{name:"NextUID",level:2,type:"b",minver:1,webm:!1,bytesize:16,description:"A unique ID to identify the next chained segment (128 bits)."},3965867:{name:"PrevFilename",level:2,type:"8",minver:1,webm:!1,description:"An escaped filename corresponding to the previous segment."},3979555:{name:"PrevUID",level:2,type:"b",minver:1,webm:!1,bytesize:16,description:"A unique ID to identify the previous chained segment (128 bits)."},29604:{name:"SegmentUID",level:2,type:"b",minver:1,webm:!1,range:"not 0",bytesize:16,description:"A randomly generated unique ID to identify the current segment between many others (128 bits)."},357149030:{name:"Info",level:1,type:"m",mandatory:!0,multiple:!0,minver:1,description:"Contains miscellaneous general information and statistics on the file."},21420:{name:"SeekPosition",level:3,type:"u",mandatory:!0,minver:1,description:"The position of the element in the segment in octets (0 = first level 1 element).",position:"segment"},21419:{name:"SeekID",level:3,type:"b",mandatory:!0,minver:1,description:"The binary ID corresponding to the element name.",type2:"ebmlID"},19899:{name:"Seek",cppname:"SeekPoint",level:2,type:"m",mandatory:!0,multiple:!0,minver:1,description:"Contains a single seek entry to an EBML element."},290298740:{name:"SeekHead",cppname:"SeekHeader",level:1,type:"m",multiple:!0,minver:1,description:"Contains the position of other level 1 elements."},32379:{name:"SignatureElementList",level:2,type:"m",multiple:!0,webm:!1,i:"Cluster|Block|BlockAdditional",description:"A list consists of a number of consecutive elements that represent one case where data is used in signature. Ex: means that the BlockAdditional of all Blocks in all Clusters is used for encryption."},32347:{name:"SignatureElements",level:1,type:"m",webm:!1,description:"Contains elements that will be used to compute the signature."},32437:{name:"Signature",level:1,type:"b",webm:!1,description:"The signature of the data (until a new."},32421:{name:"SignaturePublicKey",level:1,type:"b",webm:!1,description:"The public key to use with the algorithm (in the case of a PKI-based signature)."},32410:{name:"SignatureHash",level:1,type:"u",webm:!1,description:"Hash algorithm used (1=SHA1-160, 2=MD5)."},32394:{name:"SignatureAlgo",level:1,type:"u",webm:!1,description:"Signature algorithm used (1=RSA, 2=elliptic)."},458458727:{name:"SignatureSlot",level:-1,type:"m",multiple:!0,webm:!1,description:"Contain signature of some (coming) elements in the stream."},191:{name:"CRC-32",level:-1,type:"b",minver:1,webm:!1,description:"The CRC is computed on all the data of the Master element it's in. The CRC element should be the first in it's parent master for easier reading. All level 1 elements should include a CRC-32. The CRC in use is the IEEE CRC32 Little Endian",crc:!0},236:{name:"Void",level:-1,type:"b",minver:1,description:"Used to void damaged data, to avoid unexpected behaviors when using damaged data. The content is discarded. Also used to reserve space in a sub-element for later use."},17139:{name:"EBMLMaxSizeLength",level:1,type:"u",mandatory:!0,default:8,minver:1,description:"The maximum length of the sizes you'll find in this file (8 or less in Matroska). This does not override the element size indicated at the beginning of an element. Elements that have an indicated size which is larger than what is allowed by EBMLMaxSizeLength shall be considered invalid."},17138:{name:"EBMLMaxIDLength",level:1,type:"u",mandatory:!0,default:4,minver:1,description:"The maximum length of the IDs you'll find in this file (4 or less in Matroska)."},17143:{name:"EBMLReadVersion",level:1,type:"u",mandatory:!0,default:1,minver:1,description:"The minimum EBML version a parser has to support to read this file."},440786851:{name:"EBML",level:"0",type:"m",mandatory:!0,multiple:!0,minver:1,description:"Set the EBML characteristics of the data to follow. Each EBML document has to start with this."},21936:{name:"Colour",level:"4",type:"m",mandatory:!0,multiple:!0,description:"Settings describing the colour format."},21937:{name:"MatrixCoefficients",level:"5",type:"u",mandatory:!0,multiple:!0,description:"The Matrix Coefficients of the video used to derive luma and chroma values from red, green, and blue color primaries. For clarity, the value and meanings for MatrixCoefficients are adopted from Table 4 of ISO/IEC 23001-8:2016 or ITU-T H.273."},21945:{name:"Range",level:"5",type:"u",mandatory:!0,multiple:!0,description:"Clipping of the color ranges."},21946:{name:"TransferCharacteristics",level:"5",type:"u",mandatory:!0,multiple:!0,description:"The transfer characteristics of the video."},21947:{name:"Primaries",level:"5",type:"u",mandatory:!0,multiple:!0,description:"The colour primaries of the video. For clarity, the value and meanings for Primaries are adopted from Table 2 of ISO/IEC 23091-4 or ITU-T H.273."}}},5420:e=>{e.exports=function(e,t,n){t=t||0;for(var i=1;i<=8&&!(e[t]>=Math.pow(2,8-i));i++);if(i>8)throw new Error("Unrepresentable length: "+i+" "+e.toString("hex",t,t+i));if(t+i>e.length)return null;var r,o=e[t]&(1<<8-i)-1;for(r=1;r=Math.pow(2,45)&&e[t+7]>0)return{length:i,value:-1};o*=Math.pow(2,8),o+=e[t+r]}return n&&(o-=Math.pow(2,7*i-1)-1),{length:i,value:o}}},5540:(e,t,n)=>{"use strict";var i=n(6058);e.exports=function(e,t,n=!0){var s,l,c,u=e.split(r),h=u.length+1,p=1/0,d=[];u.unshift(o.repeat(t)+a);for(;h--;)if(l=i(u[h]),d[h]=l.stops,""!==u[h].trim())if(l.indent)l.indent>0&&l.indent{"use strict";e.exports=JSON.parse('["cent","copy","divide","gt","lt","not","para","times"]')},5657:(e,t,n)=>{"use strict";var i=n(5759).LC,r=n(7092),o=n(741),a=n(2298);e.exports=p,p.locator=a,p.notInLink=!0;var s=43,l=45,c=46,u=64,h=95;function p(e,t,n){var a,p,d,f,m=this,v=m.options.gfm,g=m.inlineTokenizers,y=0,b=t.length,w=-1;if(v){for(a=t.charCodeAt(y);r(a)||o(a)||a===s||a===l||a===c||a===h;)a=t.charCodeAt(++y);if(0!==y&&a===u){for(y++;y{"use strict";var i=n(8593),r=n(7422),o=n(9489),a=n(8502).A,s=n(1606).A,l=n(631),c=n(7137),u=n(9795),h=n(6405);e.exports=function(e,t,n,i){var o,a,s,l,c,h,m=e.schema,w=t.tagName,k="",C=t;"html"===m.space&&"svg"===w&&(e.schema=r);c=function(e,t){var n,i,r,o,a,s,l=[];for(n in t)null!=(i=t[n])&&(r=b(e,n,i))&&l.push(r);o=l.length,a=-1;for(;++ac(n,v)&&(d=v),u=(u=d===f?h.single:h.double)["html"===e.schema.space?e.valid:1][e.safe],n=d+(n=l(n,i(p,{subset:u,attribute:!0})))+d),n=n?m+n:n);return n}(e,0,n,u))}},5702:(e,t,n)=>{"use strict";var i=n(1900),r=n(6451);e.exports=l,l.locator=r;var o="\\",a="*",s="_";function l(e,t,n){var r,l,c,u,h,p,d,f=0,m=t.charAt(f);if(!(m!==a&&m!==s||t.charAt(++f)!==m||(l=this.options.pedantic,h=(c=m)+c,p=t.length,f++,u="",m="",l&&i(t.charAt(f)))))for(;f{"use strict";n.d(t,{LC:()=>p});const i={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},r={}.hasOwnProperty;function o(e){return!!r.call(i,e)&&i[e]}function a(e){const t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}function s(e){return function(e){const t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}(e)||a(e)}function l(e){const t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}const c=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],u={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},h=["","Named character references must be terminated by a semicolon","Numeric character references must be terminated by a semicolon","Named character references cannot be empty","Numeric character references cannot be empty","Named character references must be known","Numeric character references cannot be disallowed","Numeric character references cannot be outside the permissible Unicode range"];function p(e,t){const n=t||{},i="string"==typeof n.additional?n.additional.charCodeAt(0):n.additional,r=[];let p,f,m=0,v=-1,g="";n.position&&("start"in n.position||"indent"in n.position?(f=n.position.indent,p=n.position.start):p=n.position);let y,b=(p?p.line:0)||1,w=(p?p.column:0)||1,k=E();for(m--;++m<=e.length;)if(10===y&&(w=(f?f[v]:0)||1),y=e.charCodeAt(m),38===y){const t=e.charCodeAt(m+1);if(9===t||10===t||12===t||32===t||38===t||60===t||Number.isNaN(t)||i&&t===i){g+=String.fromCharCode(y),w++;continue}const h=m+1;let p,f=h,v=h;if(35===t){v=++f;const t=e.charCodeAt(v);88===t||120===t?(p="hexadecimal",v=++f):p="decimal"}else p="named";let b="",x="",T="";const D="named"===p?s:"decimal"===p?a:l;for(v--;++v<=e.length;){const t=e.charCodeAt(v);if(!D(t))break;T+=String.fromCharCode(t),"named"===p&&c.includes(T)&&(b=T,x=o(T))}let A=59===e.charCodeAt(v);if(A){v++;const e="named"===p&&o(T);e&&(b=T,x=e)}let P=1+v-h,L="";if(A||!1!==n.nonTerminated)if(T)if("named"===p){if(A&&!x)S(5,1);else if(b!==T&&(v=f+b.length,P=1+v-f,A=!1),!A){const t=b?1:3;if(n.attribute){const n=e.charCodeAt(v);61===n?(S(t,P),x=""):s(n)?x="":S(t,P)}else S(t,P)}L=x}else{A||S(2,P);let e=Number.parseInt(T,"hexadecimal"===p?16:10);if((C=e)>=55296&&C<=57343||C>1114111)S(7,P),L=String.fromCharCode(65533);else if(e in u)S(6,P),L=u[e];else{let t="";d(e)&&S(6,P),e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10|55296),e=56320|1023&e),L=t+String.fromCharCode(e)}}else"named"!==p&&S(4,P);else;if(L){M(),k=E(),m=v-1,w+=v-h+1,r.push(L);const t=E();t.offset++,n.reference&&n.reference.call(n.referenceContext||void 0,L,{start:k,end:t},e.slice(h-1,v)),k=t}else T=e.slice(h-1,v),g+=T,w+=T.length,m=v-1}else 10===y&&(b++,v++,w=0),Number.isNaN(y)?M():(g+=String.fromCharCode(y),w++);var C;return r.join("");function E(){return{line:b,column:w,offset:m+((p?p.offset:0)||0)}}function S(e,t){let i;n.warning&&(i=E(),i.column+=t,i.offset+=t,n.warning.call(n.warningContext||void 0,h[e],i,e))}function M(){g&&(r.push(g),n.text&&n.text.call(n.textContext||void 0,g,{start:k,end:E()}),g="")}}function d(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||!(65535&~e)||65534==(65535&e)}},5785:(e,t,n)=>{"use strict";var i=n(5759).LC,r=n(7057),o=i;e.exports=function(e){return n.raw=function(e,n,a){return o(e,r(a,{position:t(n),warning:i}))},n;function t(t){for(var n=e.offset,i=t.line,r=[];++i&&i in n;)r.push((n[i]||0)+1);return{start:t,indent:r}}function n(n,r,a){o(n,{position:t(r),warning:i,text:a,reference:a,textContext:e,referenceContext:e})}function i(t,n,i){3!==i&&e.file.message(t,n)}}},5810:e=>{"use strict";e.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},5874:(e,t,n)=>{"use strict";var i=n(753);e.exports=s,s.locator=i;var r=" ",o="\n",a=2;function s(e,t,n){for(var i,s=t.length,l=-1,c="";++l{"use strict";n.d(t,{E_:()=>c,F3:()=>l,Ii:()=>s});const i=(e=>e.CapacitorPlatforms=(e=>{const t=new Map;t.set("web",{name:"web"});const n=e.CapacitorPlatforms||{currentPlatform:{name:"web"},platforms:t};return n.addPlatform=(e,t)=>{n.platforms.set(e,t)},n.setPlatform=e=>{n.platforms.has(e)&&(n.currentPlatform=n.platforms.get(e))},n})(e))("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==n.g?n.g:{});i.addPlatform,i.setPlatform;var r;!function(e){e.Unimplemented="UNIMPLEMENTED",e.Unavailable="UNAVAILABLE"}(r||(r={}));class o extends Error{constructor(e,t,n){super(e),this.message=e,this.code=t,this.data=n}}const a=e=>{var t,n,i,a,s;const l=e.CapacitorCustomPlatform||null,c=e.Capacitor||{},u=c.Plugins=c.Plugins||{},h=e.CapacitorPlatforms,p=(null===(t=null==h?void 0:h.currentPlatform)||void 0===t?void 0:t.getPlatform)||(()=>null!==l?l.name:(e=>{var t,n;return(null==e?void 0:e.androidBridge)?"android":(null===(n=null===(t=null==e?void 0:e.webkit)||void 0===t?void 0:t.messageHandlers)||void 0===n?void 0:n.bridge)?"ios":"web"})(e)),d=(null===(n=null==h?void 0:h.currentPlatform)||void 0===n?void 0:n.isNativePlatform)||(()=>"web"!==p()),f=(null===(i=null==h?void 0:h.currentPlatform)||void 0===i?void 0:i.isPluginAvailable)||(e=>{const t=v.get(e);return!!(null==t?void 0:t.platforms.has(p()))||!!m(e)}),m=(null===(a=null==h?void 0:h.currentPlatform)||void 0===a?void 0:a.getPluginHeader)||(e=>{var t;return null===(t=c.PluginHeaders)||void 0===t?void 0:t.find((t=>t.name===e))}),v=new Map,g=(null===(s=null==h?void 0:h.currentPlatform)||void 0===s?void 0:s.registerPlugin)||((e,t={})=>{const n=v.get(e);if(n)return console.warn(`Capacitor plugin "${e}" already registered. Cannot register plugins twice.`),n.proxy;const i=p(),a=m(e);let s;const h=n=>{let u;const h=(...h)=>{const p=(async()=>(!s&&i in t?s=s="function"==typeof t[i]?await t[i]():t[i]:null!==l&&!s&&"web"in t&&(s=s="function"==typeof t.web?await t.web():t.web),s))().then((t=>{const s=((t,n)=>{var s,l;if(!a){if(t)return null===(l=t[n])||void 0===l?void 0:l.bind(t);throw new o(`"${e}" plugin is not implemented on ${i}`,r.Unimplemented)}{const i=null==a?void 0:a.methods.find((e=>n===e.name));if(i)return"promise"===i.rtype?t=>c.nativePromise(e,n.toString(),t):(t,i)=>c.nativeCallback(e,n.toString(),t,i);if(t)return null===(s=t[n])||void 0===s?void 0:s.bind(t)}})(t,n);if(s){const e=s(...h);return u=null==e?void 0:e.remove,e}throw new o(`"${e}.${n}()" is not implemented on ${i}`,r.Unimplemented)}));return"addListener"===n&&(p.remove=async()=>u()),p};return h.toString=()=>`${n.toString()}() { [capacitor code] }`,Object.defineProperty(h,"name",{value:n,writable:!1,configurable:!1}),h},d=h("addListener"),f=h("removeListener"),g=(e,t)=>{const n=d({eventName:e},t),i=async()=>{const i=await n;f({eventName:e,callbackId:i},t)},r=new Promise((e=>n.then((()=>e({remove:i})))));return r.remove=async()=>{console.warn("Using addListener() without 'await' is deprecated."),await i()},r},y=new Proxy({},{get(e,t){switch(t){case"$$typeof":return;case"toJSON":return()=>({});case"addListener":return a?g:d;case"removeListener":return f;default:return h(t)}}});return u[e]=y,v.set(e,{name:e,proxy:y,platforms:new Set([...Object.keys(t),...a?[i]:[]])}),y});return c.convertFileSrc||(c.convertFileSrc=e=>e),c.getPlatform=p,c.handleError=t=>e.console.error(t),c.isNativePlatform=d,c.isPluginAvailable=f,c.pluginMethodNoop=(e,t,n)=>Promise.reject(`${n} does not have an implementation of "${t}".`),c.registerPlugin=g,c.Exception=o,c.DEBUG=!!c.DEBUG,c.isLoggingEnabled=!!c.isLoggingEnabled,c.platform=c.getPlatform(),c.isNative=c.isNativePlatform(),c},s=(e=>e.Capacitor=a(e))("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==n.g?n.g:{}),l=s.registerPlugin;s.Plugins;class c{constructor(e){this.listeners={},this.windowListeners={},e&&(console.warn(`Capacitor WebPlugin "${e.name}" config object was deprecated in v3 and will be removed in v4.`),this.config=e)}addListener(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t);const n=this.windowListeners[e];n&&!n.registered&&this.addWindowListener(n);const i=async()=>this.removeListener(e,t),r=Promise.resolve({remove:i});return Object.defineProperty(r,"remove",{value:async()=>{console.warn("Using addListener() without 'await' is deprecated."),await i()}}),r}async removeAllListeners(){this.listeners={};for(const e in this.windowListeners)this.removeWindowListener(this.windowListeners[e]);this.windowListeners={}}notifyListeners(e,t){const n=this.listeners[e];n&&n.forEach((e=>e(t)))}hasListeners(e){return!!this.listeners[e].length}registerWindowListener(e,t){this.windowListeners[t]={registered:!1,windowEventName:e,pluginEventName:t,handler:e=>{this.notifyListeners(t,e)}}}unimplemented(e="not implemented"){return new s.Exception(e,r.Unimplemented)}unavailable(e="not available"){return new s.Exception(e,r.Unavailable)}async removeListener(e,t){const n=this.listeners[e];if(!n)return;const i=n.indexOf(t);this.listeners[e].splice(i,1),this.listeners[e].length||this.removeWindowListener(this.windowListeners[e])}addWindowListener(e){window.addEventListener(e.windowEventName,e.handler),e.registered=!0}removeWindowListener(e){e&&(window.removeEventListener(e.windowEventName,e.handler),e.registered=!1)}}const u=e=>encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),h=e=>e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent);class p extends c{async getCookies(){const e=document.cookie,t={};return e.split(";").forEach((e=>{if(e.length<=0)return;let[n,i]=e.replace(/=/,"CAP_COOKIE").split("CAP_COOKIE");n=h(n).trim(),i=h(i).trim(),t[n]=i})),t}async setCookie(e){try{const t=u(e.key),n=u(e.value),i=`; expires=${(e.expires||"").replace("expires=","")}`,r=(e.path||"/").replace("path=",""),o=null!=e.url&&e.url.length>0?`domain=${e.url}`:"";document.cookie=`${t}=${n||""}${i}; path=${r}; ${o};`}catch(e){return Promise.reject(e)}}async deleteCookie(e){try{document.cookie=`${e.key}=; Max-Age=0`}catch(e){return Promise.reject(e)}}async clearCookies(){try{const e=document.cookie.split(";")||[];for(const t of e)document.cookie=t.replace(/^ +/,"").replace(/=.*/,`=;expires=${(new Date).toUTCString()};path=/`)}catch(e){return Promise.reject(e)}}async clearAllCookies(){try{await this.clearCookies()}catch(e){return Promise.reject(e)}}}l("CapacitorCookies",{web:()=>new p});const d=(e,t={})=>{const n=Object.assign({method:e.method||"GET",headers:e.headers},t),i=((e={})=>{const t=Object.keys(e);return Object.keys(e).map((e=>e.toLocaleLowerCase())).reduce(((n,i,r)=>(n[i]=e[t[r]],n)),{})})(e.headers)["content-type"]||"";if("string"==typeof e.data)n.body=e.data;else if(i.includes("application/x-www-form-urlencoded")){const t=new URLSearchParams;for(const[n,i]of Object.entries(e.data||{}))t.set(n,i);n.body=t.toString()}else if(i.includes("multipart/form-data")||e.data instanceof FormData){const t=new FormData;if(e.data instanceof FormData)e.data.forEach(((e,n)=>{t.append(n,e)}));else for(const n of Object.keys(e.data))t.append(n,e.data[n]);n.body=t;const i=new Headers(n.headers);i.delete("content-type"),n.headers=i}else(i.includes("application/json")||"object"==typeof e.data)&&(n.body=JSON.stringify(e.data));return n};class f extends c{async request(e){const t=d(e,e.webFetchExtra),n=((e,t=!0)=>e?Object.entries(e).reduce(((e,n)=>{const[i,r]=n;let o,a;return Array.isArray(r)?(a="",r.forEach((e=>{o=t?encodeURIComponent(e):e,a+=`${i}=${o}&`})),a.slice(0,-1)):(o=t?encodeURIComponent(r):r,a=`${i}=${o}`),`${e}&${a}`}),"").substr(1):null)(e.params,e.shouldEncodeUrlParams),i=n?`${e.url}?${n}`:e.url,r=await fetch(i,t),o=r.headers.get("content-type")||"";let a,s,{responseType:l="text"}=r.ok?e:{};switch(o.includes("application/json")&&(l="json"),l){case"arraybuffer":case"blob":s=await r.blob(),a=await(async e=>new Promise(((t,n)=>{const i=new FileReader;i.onload=()=>{const e=i.result;t(e.indexOf(",")>=0?e.split(",")[1]:e)},i.onerror=e=>n(e),i.readAsDataURL(e)})))(s);break;case"json":a=await r.json();break;default:a=await r.text()}const c={};return r.headers.forEach(((e,t)=>{c[t]=e})),{data:a,headers:c,status:r.status,url:r.url}}async get(e){return this.request(Object.assign(Object.assign({},e),{method:"GET"}))}async post(e){return this.request(Object.assign(Object.assign({},e),{method:"POST"}))}async put(e){return this.request(Object.assign(Object.assign({},e),{method:"PUT"}))}async patch(e){return this.request(Object.assign(Object.assign({},e),{method:"PATCH"}))}async delete(e){return this.request(Object.assign(Object.assign({},e),{method:"DELETE"}))}}l("CapacitorHttp",{web:()=>new f})},6047:e=>{"use strict";e.exports=function(e,t,n,i){var r,o,a=e.length,s=-1;for(;++s{"use strict";e.exports=function(e){var o,a=0,s=0,l=e.charAt(a),c={},u=0;for(;l===t||l===n;){for(s+=o=l===t?r:i,o>1&&(s=Math.floor(s/o)*o);u{"use strict";var i=n(493),r=n(9098);e.exports=function(e){return o(e)&&r(e.value.charAt(0))};var o=i("text")},6234:(e,t,n)=>{"use strict";var i=n(6047);e.exports=function(e,t,n){var l,c,u,h,p,d,f,m,v,g=this,y=g.offset,b=g.blockTokenizers,w=g.interruptBlockquote,k=e.now(),C=k.line,E=t.length,S=[],M=[],x=[],T=[],D=0;for(;D{"use strict";var i=n(1900),r=n(2356),o=n(2115);e.exports=m,m.locator=r;var a="link",s="image",l="shortcut",c="collapsed",u="full",h="!",p="[",d="\\",f="]";function m(e,t,n){var r,m,v,g,y,b,w,k,C=this,E=C.options.commonmark,S=t.charAt(0),M=0,x=t.length,T="",D="",A=a,P=l;if(S===h&&(A=s,D=S,S=t.charAt(++M)),S===p){for(M++,D+=S,b="",k=0;M{"use strict";var t="\0",n="&",i="`",r='"',o="'",a=[" ","\t","\n","\r","\f"],s=a.concat(n,"/",">","="),l=a.concat(n,">"),c=l.concat(t,r,o,"<","=",i),u=[n,o],h=[n,r];e.exports={name:[[s,s.concat(r,o,i)],[s.concat(t,r,o,"<"),s.concat(t,r,o,"<",i)]],unquoted:[[l,c],[c,c]],single:[[u,u.concat(r,i)],[u.concat(t),u.concat(t,r,i)]],double:[[h,h.concat(o,i)],[h.concat(t),h.concat(t,o,i)]]}},6426:(e,t,n)=>{var i,r=n(9710),o={};for(i in e.exports=o,r)o[r[i]]=i},6451:e=>{"use strict";e.exports=function(e,t){var n=e.indexOf("**",t),i=e.indexOf("__",t);if(-1===i)return n;if(-1===n)return i;return i{"use strict";e.exports=function(e,t){return e(t,"p",i(e,t))};var i=n(4297)},6658:(e,t,n)=>{"use strict";e.exports=s;var i=n(2888),r=i.CONTINUE,o=i.SKIP,a=i.EXIT;function s(e,t,n,r){"function"==typeof t&&"function"!=typeof n&&(r=n,n=t,t=null),i(e,t,(function(e,t){var i=t[t.length-1],r=i?i.children.indexOf(e):null;return n(e,r,i)}),r)}s.CONTINUE=r,s.SKIP=o,s.EXIT=a},6661:function(e,t){!function(e){var t,n="undefined",i=n!==typeof Buffer&&Buffer,r=n!==typeof Uint8Array&&Uint8Array,o=n!==typeof ArrayBuffer&&ArrayBuffer,a=[0,0,0,0,0,0,0,0],s=Array.isArray||function(e){return!!e&&"[object Array]"==Object.prototype.toString.call(e)},l=4294967296;function c(s,c,w){var k=c?0:4,C=c?4:0,E=c?0:3,S=c?1:2,M=c?2:1,x=c?3:0,T=c?v:y,D=c?g:b,A=I.prototype,P="is"+s,L="_"+P;return A.buffer=void 0,A.offset=0,A[L]=!0,A.toNumber=O,A.toString=function(e){var t=this.buffer,n=this.offset,i=N(t,n+k),r=N(t,n+C),o="",a=!w&&2147483648&i;a&&(i=~i,r=l-r);e=e||10;for(;;){var s=i%e*l+r;if(i=Math.floor(i/e),r=Math.floor(s/e),o=(s%e).toString(e)+o,!i&&!r)break}a&&(o="-"+o);return o},A.toJSON=O,A.toArray=u,i&&(A.toBuffer=h),r&&(A.toArrayBuffer=p),I[P]=function(e){return!(!e||!e[L])},e[s]=I,I;function I(e,s,c,u){return this instanceof I?function(e,s,c,u,h){r&&o&&(s instanceof o&&(s=new r(s)),u instanceof o&&(u=new r(u)));if(!(s||c||u||t))return void(e.buffer=m(a,0));if(!d(s,c)){var p=t||Array;h=c,u=s,c=0,s=t===i?i.alloc(8):new p(8)}if(e.buffer=s,e.offset=c|=0,n===typeof u)return;"string"==typeof u?function(e,t,n,i){var r=0,o=n.length,a=0,s=0;"-"===n[0]&&r++;var c=r;for(;r=0))break;s=s*i+u,a=a*i+Math.floor(s/l),s%=l}c&&(a=~a,s?s=l-s:a++);F(e,t+k,a),F(e,t+C,s)}(s,c,u,h||10):d(u,h)?f(s,c,u,h):"number"==typeof h?(F(s,c+k,u),F(s,c+C,h)):u>0?T(s,c,u):u<0?D(s,c,u):f(s,c,a,0)}(this,e,s,c,u):new I(e,s,c,u)}function O(){var e=this.buffer,t=this.offset,n=N(e,t+k),i=N(e,t+C);return w||(n|=0),n?n*l+i:i}function F(e,t,n){e[t+x]=255&n,n>>=8,e[t+M]=255&n,n>>=8,e[t+S]=255&n,n>>=8,e[t+E]=255&n}function N(e,t){return 16777216*e[t+E]+(e[t+S]<<16)+(e[t+M]<<8)+e[t+x]}}function u(e){var n=this.buffer,i=this.offset;return t=null,!1!==e&&s(n)?8===n.length?n:n.slice(i,i+8):m(n,i)}function h(e){var n=this.buffer,r=this.offset;return t=i,!1!==e&&i.isBuffer(n)?8===n.length?n:n.slice(r,r+8):i.from(p.call(this,e))}function p(e){var n=this.buffer,i=this.offset,a=n.buffer;if(t=r,!1!==e&&!n.offset&&a instanceof o)return 8===a.byteLength?a:a.slice(i,i+8);var s=new r(8);return f(s,0,n,i),s.buffer}function d(e,t){var n=e&&e.length;return t|=0,n&&t+8<=n&&"string"!=typeof e[t]}function f(e,t,n,i){t|=0,i|=0;for(var r=0;r<8;r++)e[t++]=255&n[i++]}function m(e,t){return Array.prototype.slice.call(e,t,t+8)}function v(e,t,n){for(var i=t+8;i>t;)e[--i]=255&n,n/=256}function g(e,t,n){var i=t+8;for(n++;i>t;)e[--i]=255&-n^255,n/=256}function y(e,t,n){for(var i=t+8;t{"use strict";e.exports=function(e){return!(e&&e.position&&e.position.start&&e.position.start.line&&e.position.start.column&&e.position.end&&e.position.end.line&&e.position.end.column)}},6901:(e,t,n)=>{e.exports=function(e,t,n){var a,s,l;(n.useNamedReferences||n.useShortestReferences)&&(a=o(e,t,n.omitOptionalSemicolons,n.attribute));!n.useShortestReferences&&a||(s=i(e,t,n.omitOptionalSemicolons),n.useShortestReferences&&(l=r(e,t,n.omitOptionalSemicolons)).length{"use strict";var i=n(7297);e.exports=i({space:"xlink",transform:function(e,t){return"xlink:"+t.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}})},6931:(e,t)=>{"use strict";function n(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}t.basename=function(e,t){var i,r,o,a,s=0,l=-1;if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');if(n(e),i=e.length,void 0===t||!t.length||t.length>e.length){for(;i--;)if(47===e.charCodeAt(i)){if(o){s=i+1;break}}else l<0&&(o=!0,l=i+1);return l<0?"":e.slice(s,l)}if(t===e)return"";r=-1,a=t.length-1;for(;i--;)if(47===e.charCodeAt(i)){if(o){s=i+1;break}}else r<0&&(o=!0,r=i+1),a>-1&&(e.charCodeAt(i)===t.charCodeAt(a--)?a<0&&(l=i):(a=-1,l=r));s===l?l=r:l<0&&(l=e.length);return e.slice(s,l)},t.dirname=function(e){var t,i,r;if(n(e),!e.length)return".";t=-1,r=e.length;for(;--r;)if(47===e.charCodeAt(r)){if(i){t=r;break}}else i||(i=!0);return t<0?47===e.charCodeAt(0)?"/":".":1===t&&47===e.charCodeAt(0)?"//":e.slice(0,t)},t.extname=function(e){var t,i,r,o=-1,a=0,s=-1,l=0;n(e),r=e.length;for(;r--;)if(47!==(i=e.charCodeAt(r)))s<0&&(t=!0,s=r+1),46===i?o<0?o=r:1!==l&&(l=1):o>-1&&(l=-1);else if(t){a=r+1;break}if(o<0||s<0||0===l||1===l&&o===s-1&&o===a+1)return"";return e.slice(o,s)},t.join=function(){var e,t=-1;for(;++t2){if((i=r.lastIndexOf("/"))!==r.length-1){i<0?(r="",o=0):o=(r=r.slice(0,i)).length-1-r.lastIndexOf("/"),a=l,s=0;continue}}else if(r.length){r="",o=0,a=l,s=0;continue}t&&(r=r.length?r+"/..":"..",o=2)}else r.length?r+="/"+e.slice(a+1,l):r=e.slice(a+1,l),o=l-a-1;a=l,s=0}else 46===n&&s>-1?s++:s=-1}return r}(e,!t),i.length||t||(i=".");i.length&&47===e.charCodeAt(e.length-1)&&(i+="/");return t?"/"+i:i}(e)},t.sep="/"},6933:e=>{"use strict";e.exports=function(e,t){return t in e?e[t]:t}},6968:e=>{"use strict";e.exports=function(e,l,c){var u,h,p,d,f=-1,m=l.length+1,v="";for(;++f=s&&(!u||u===n)?(v+=d,!!c||e(v)({type:"thematicBreak"})):void 0;d+=u}};var t="\t",n="\n",i=" ",r="*",o="-",a="_",s=3},7057:e=>{e.exports=function(){for(var e={},n=0;n{"use strict";e.exports=n(9478)},7092:e=>{"use strict";e.exports=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}},7122:e=>{"use strict";e.exports=function(e,t){var n,i=String(e),r=0;if("string"!=typeof t)throw new Error("Expected character");n=i.indexOf(t);for(;-1!==n;)r++,n=i.indexOf(t,n+t.length);return r}},7137:e=>{"use strict";e.exports=function(e,t){var n,i=String(e),r=0;if("string"!=typeof t)throw new Error("Expected character");n=i.indexOf(t);for(;-1!==n;)r++,n=i.indexOf(t,n+t.length);return r}},7194:(e,t,n)=>{"use strict";e.exports=function(e,t,n){var i,r=t&&t.type;if(!r)throw new Error("Expected node, got `"+t+"`");i=o.call(e.handlers,r)?e.handlers[r]:e.passThrough&&e.passThrough.indexOf(r)>-1?s:e.unknownHandler;return("function"==typeof i?i:a)(e,t,n)};var i=n(9650),r=n(4297),o={}.hasOwnProperty;function a(e,t){return function(e){var t=e.data||{};if(o.call(t,"hName")||o.call(t,"hProperties")||o.call(t,"hChildren"))return!1;return"value"in e}(t)?e.augment(t,i("text",t.value)):e(t,"div",r(e,t))}function s(e,t){var n;return t.children?((n=Object.assign({},t)).children=r(e,t),n):t}},7269:e=>{"use strict";function t(e){var t,n;return"text"!==e.type||!e.position||(t=e.position.start,n=e.position.end,t.line!==n.line||n.column-t.column===e.value.length)}function n(e,t){return e.value+=t.value,e}function i(e,t){return this.options.commonmark||this.options.gfm?t:(e.children=e.children.concat(t.children),e)}e.exports=function(e){return function(r,o){var a,s,l,c,u,h=this,p=h.offset,d=[],f=h[e+"Methods"],m=h[e+"Tokenizers"],v=o.line,g=o.column;if(!r)return d;M.now=w,M.file=h.file,y("");for(;r;){for(a=-1,s=f.length,c=!1;++a{"use strict";e.exports=JSON.parse('["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","isindex","keygen","link","menuitem","meta","nextid","param","source","track","wbr"]')},7297:(e,t,n)=>{"use strict";var i=n(1383),r=n(1782),o=n(4197);e.exports=function(e){var t,n,a=e.space,s=e.mustUseProperty||[],l=e.attributes||{},c=e.properties,u=e.transform,h={},p={};for(t in c)n=new o(t,u(l,t),c[t],a),-1!==s.indexOf(t)&&(n.mustUseProperty=!0),h[t]=n,p[i(t)]=t,p[i(n.attribute)]=t;return new r(h,p,a)}},7422:(e,t,n)=>{"use strict";var i=n(5261),r=n(6920),o=n(313),a=n(4506),s=n(8055),l=n(4834);e.exports=i([o,r,a,s,l])},7497:(e,t,n)=>{"use strict";var i=n(6658);e.exports=function(e,t){return function(e){return t;function t(t){var n=t&&o(t);return n&&r.call(e,n)?e[n]:null}}(function(e){var t={};if(!e||!e.type)throw new Error("mdast-util-definitions expected node");return i(e,"definition",n),t;function n(e){var n=o(e.identifier);r.call(t,n)||(t[n]=e)}}(e))};var r={}.hasOwnProperty;function o(e){return e.toUpperCase()}},7512:(e,t)=>{"use strict";t.cwd=function(){return"/"}},7578:(e,t,n)=>{"use strict";var i=n(9098);function r(e){return function(t,n,r){var o=t&&t.children,a=n+e,s=o&&o[a];if(!r)for(;s&&i(s);)s=o[a+=e];return s}}t.g=r(-1),t.P=r(1)},7583:(e,t,n)=>{"use strict";e.exports=function(e){var t,n,a,s,l=e.footnoteById,c=e.footnoteOrder,u=c.length,h=-1,p=[];for(;++h{"use strict";var i=n(741),r=n(1890),o=n(4839).T;e.exports=p,p.locator=r;var a="<",s="?",l="!",c="/",u=/^/i;function p(e,t,n){var r,p,d=this,f=t.length;if(!(t.charAt(0)!==a||f<3)&&(r=t.charAt(1),(i(r)||r===s||r===l||r===c)&&(p=t.match(o))))return!!n||(p=p[0],!d.inLink&&u.test(p)?d.inLink=!0:d.inLink&&h.test(p)&&(d.inLink=!1),e(p)({type:"html",value:p}))}},7756:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,a=e.definition(t.identifier);if(!a)return r(e,t);n={href:i(a.url||"")},null!==a.title&&void 0!==a.title&&(n.title=a.title);return e(t,"a",n,o(e,t))};var i=n(8131),r=n(3390),o=n(4297)},7793:(e,t,n)=>{"use strict";var i=n(1900);e.exports=function(e,t,n){var r,a,g,y,b,w,k,C,E,S,M,x,T,D,A,P,L,I,O,F,N,R;if(!this.options.gfm)return;r=0,A=0,w=t.length+1,k=[];for(;rO){if(A1&&(E?(y+=C.slice(0,-1),C=C.charAt(C.length-1)):(y+=C,C=""));let t=v(y),{start:n,end:i}=t,r=y.slice(n,y.length-i),o=e.now();o.offset+=n,o.column+=n,e(y)({type:"tableCell",padding:t,children:this.tokenizeInline(r,o)},b)}e(C+E),C="",x=""}else C&&(x+=C,C=""),x+=E,E===c&&r!==w-2&&(x+=P.charAt(r+1),r++);T=!1,r++}D||e(o+a)}return I};var r="\t",o="\n",a=" ",s="-",l=":",c="\\",u="|",h=1,p=2,d="left",f="center",m="right";function v(e){let t=0,n=0;for(let n=0,i=e.length;n=t;i--){let t=e[i];if(t!==r&&t!==a)break;n+=1}return{start:t,end:n}}},7824:(e,t,n)=>{"use strict";e.exports=function(e,t){var n=[],r=-1,o=e.length;t&&n.push(i("text","\n"));for(;++r0&&n.push(i("text","\n"));return n};var i=n(9650)},7947:(e,t)=>{t.read=function(e,t,n,i,r){var o,a,s=8*r-i-1,l=(1<>1,u=-7,h=n?r-1:0,p=n?-1:1,d=e[t+h];for(h+=p,o=d&(1<<-u)-1,d>>=-u,u+=s;u>0;o=256*o+e[t+h],h+=p,u-=8);for(a=o&(1<<-u)-1,o>>=-u,u+=i;u>0;a=256*a+e[t+h],h+=p,u-=8);if(0===o)o=1-c;else{if(o===l)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,i),o-=c}return(d?-1:1)*a*Math.pow(2,o-i)},t.write=function(e,t,n,i,r,o){var a,s,l,c=8*o-r-1,u=(1<>1,p=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:o-1,f=i?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+h>=1?p/l:p*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=u?(s=0,a=u):a+h>=1?(s=(t*l-1)*Math.pow(2,r),a+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,r),a=0));r>=8;e[n+d]=255&s,d+=f,s/=256,r-=8);for(a=a<0;e[n+d]=255&a,d+=f,a/=256,c-=8);e[n+d-f]|=128*m}},8055:(e,t,n)=>{"use strict";var i=n(5176),r=n(7297),o=i.booleanish,a=i.number,s=i.spaceSeparated;e.exports=r({transform:function(e,t){return"role"===t?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:o,ariaAutoComplete:null,ariaBusy:o,ariaChecked:o,ariaColCount:a,ariaColIndex:a,ariaColSpan:a,ariaControls:s,ariaCurrent:null,ariaDescribedBy:s,ariaDetails:null,ariaDisabled:o,ariaDropEffect:s,ariaErrorMessage:null,ariaExpanded:o,ariaFlowTo:s,ariaGrabbed:o,ariaHasPopup:null,ariaHidden:o,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:s,ariaLevel:a,ariaLive:null,ariaModal:o,ariaMultiLine:o,ariaMultiSelectable:o,ariaOrientation:null,ariaOwns:s,ariaPlaceholder:null,ariaPosInSet:a,ariaPressed:o,ariaReadOnly:o,ariaRelevant:null,ariaRequired:o,ariaRoleDescription:s,ariaRowCount:a,ariaRowIndex:a,ariaRowSpan:a,ariaSelected:o,ariaSetSize:a,ariaSort:null,ariaValueMax:a,ariaValueMin:a,ariaValueNow:a,ariaValueText:null,role:null}})},8124:(e,t,n)=>{"use strict";var i=n(6658);function r(e){delete e.position}function o(e){e.position=void 0}e.exports=function(e,t){return i(e,t?r:o),e}},8131:e=>{"use strict";var t={};function n(e,i,r){var o,a,s,l,c,u="";for("string"!=typeof i&&(r=i,i=n.defaultChars),void 0===r&&(r=!0),c=function(e){var n,i,r=t[e];if(r)return r;for(r=t[e]=[],n=0;n<128;n++)i=String.fromCharCode(n),/^[0-9a-z]$/i.test(i)?r.push(i):r.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2));for(n=0;n=55296&&s<=57343){if(s>=55296&&s<=56319&&o+1=56320&&l<=57343){u+=encodeURIComponent(e[o]+e[o+1]),o++;continue}u+="%EF%BF%BD"}else u+=encodeURIComponent(e[o]);return u}n.defaultChars=";/?:@&=+$,-_.!~*'()#",n.componentChars="-_.!~*'()",e.exports=n},8177:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},8190:function(e,t,n){var i;e.exports=(i=n(1126),function(e){var t=i,n=t.lib,r=n.WordArray,o=n.Hasher,a=t.algo,s=[],l=[];!function(){function t(t){for(var n=e.sqrt(t),i=2;i<=n;i++)if(!(t%i))return!1;return!0}function n(e){return 4294967296*(e-(0|e))|0}for(var i=2,r=0;r<64;)t(i)&&(r<8&&(s[r]=n(e.pow(i,.5))),l[r]=n(e.pow(i,1/3)),r++),i++}();var c=[],u=a.SHA256=o.extend({_doReset:function(){this._hash=new r.init(s.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,i=n[0],r=n[1],o=n[2],a=n[3],s=n[4],u=n[5],h=n[6],p=n[7],d=0;d<64;d++){if(d<16)c[d]=0|e[t+d];else{var f=c[d-15],m=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,v=c[d-2],g=(v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10;c[d]=m+c[d-7]+g+c[d-16]}var y=i&r^i&o^r&o,b=(i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22),w=p+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&u^~s&h)+l[d]+c[d];p=h,h=u,u=s,s=a+w|0,a=o,o=r,r=i,i=w+(b+y)|0}n[0]=n[0]+i|0,n[1]=n[1]+r|0,n[2]=n[2]+o|0,n[3]=n[3]+a|0,n[4]=n[4]+s|0,n[5]=n[5]+u|0,n[6]=n[6]+h|0,n[7]=n[7]+p|0},_doFinalize:function(){var t=this._data,n=t.words,i=8*this._nDataBytes,r=8*t.sigBytes;return n[r>>>5]|=128<<24-r%32,n[14+(r+64>>>9<<4)]=e.floor(i/4294967296),n[15+(r+64>>>9<<4)]=i,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=o._createHelper(u),t.HmacSHA256=o._createHmacHelper(u)}(Math),i.SHA256)},8193:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,r=n(6661),o=n(9840),a=n(9840),s=n(5416);!function(e){e[e.STATE_TAG=1]="STATE_TAG",e[e.STATE_SIZE=2]="STATE_SIZE",e[e.STATE_CONTENT=3]="STATE_CONTENT"}(i||(i={}));var l=function(){function e(){this._buffer=new o.Buffer(0),this._tag_stack=[],this._state=i.STATE_TAG,this._cursor=0,this._total=0,this._schema=s.byEbmlID,this._result=[]}return e.prototype.decode=function(e){this.readChunk(e);var t=this._result;return this._result=[],t},e.prototype.readChunk=function(e){for(this._buffer=a.concat([this._buffer,new o.Buffer(e)]);this._cursor=this._buffer.length)return!1;var e=(0,o.readVint)(this._buffer,this._cursor);if(null==e)return!1;var t=this._buffer.slice(this._cursor,this._cursor+e.length).reduce((function(e,t,n,i){return e+t*Math.pow(16,2*(i.length-1-n))}),0),n=this.getSchemaInfo(t),r={EBML_ID:t.toString(16),schema:n,type:n.type,name:n.name,level:n.level,tagStart:this._total,tagEnd:this._total+e.length,sizeStart:this._total+e.length,sizeEnd:null,dataStart:null,dataEnd:null,dataSize:null,data:null};return this._tag_stack.push(r),this._cursor+=e.length,this._total+=e.length,this._state=i.STATE_SIZE,!0},e.prototype.readSize=function(){if(this._cursor>=this._buffer.length)return!1;var e=(0,o.readVint)(this._buffer,this._cursor);if(null==e)return!1;var t=this._tag_stack[this._tag_stack.length-1];return t.sizeEnd=t.sizeStart+e.length,t.dataStart=t.sizeEnd,t.dataSize=e.value,-1===e.value?(t.dataEnd=-1,"m"===t.type&&(t.unknownSize=!0)):t.dataEnd=t.sizeEnd+e.value,this._cursor+=e.length,this._total+=e.length,this._state=i.STATE_CONTENT,!0},e.prototype.readContent=function(){var e=this._tag_stack[this._tag_stack.length-1];if("m"===e.type){if(e.isEnd=!1,this._result.push(e),this._state=i.STATE_TAG,0===e.dataSize){var t=Object.assign({},e,{isEnd:!0});this._result.push(t),this._tag_stack.pop()}return!0}if(this._buffer.length0;){var a=this._tag_stack[this._tag_stack.length-1];if(a.dataEnd<0)return this._tag_stack.pop(),!0;if(this._total{"use strict";e.exports=function(e){return n.test("number"==typeof e?t(e):e.charAt(0))};var t=String.fromCharCode,n=/\w/},8469:e=>{"use strict";e.exports=function(e,a,s){var l,c,u,h=this.options.pedantic,p=a.length+1,d=-1,f=e.now(),m="",v="";for(;++do)return;if(!u||!h&&a.charAt(d+1)===r)return;p=a.length+1,c="";for(;++d{"use strict";t.A=function(e){return e.join(i).trim()};var n="",i=" ",r=/[ \t\n\r\f]+/g},8518:e=>{"use strict";e.exports=function(e,t){return e&&e.children&&e.children.indexOf(t)}},8593:e=>{e.exports=function(){for(var e={},n=0;n{"use strict";var i=n(8813),r=n(6047);e.exports=function(e,t,n){var c,u,h,p,d,f=this,m=f.options.commonmark,v=f.blockTokenizers,g=f.interruptParagraph,y=t.indexOf(a),b=t.length;for(;y=l&&h!==a){y=t.indexOf(a,y+1);continue}}if(u=t.slice(y+1),r(g,v,f,[e,u,!0]))break;if(c=y,-1!==(y=t.indexOf(a,y+1))&&""===t.slice(c,y).trim()){y=c;break}}if(u=t.slice(0,y),n)return!0;return d=e.now(),u=i(u),e(u)({type:"paragraph",children:f.tokenizeInline(u,d)})};var o="\t",a="\n",s=" ",l=4},8671:e=>{"use strict";e.exports=function(e,c,u){var h,p,d,f,m,v=e.now(),g=c.length,y=-1,b="";for(;++y=a){y--;break}b+=d}h="",p="";for(;++y{"use strict";var i=n(5261),r=n(6920),o=n(313),a=n(4506),s=n(8055),l=n(535);e.exports=i([o,r,a,s,l])},8711:(e,t,n)=>{"use strict";e.exports=function(e,t){return e.augment(t,i("text",String(t.value).replace(/[ \t]*(\r?\n|\r)[ \t]*/g,"$1")))};var i=n(9650)},8775:(e,t,n)=>{"use strict";var i=n(5759).LC,r=n(1900),o=n(1890);e.exports=p,p.locator=o,p.notInLink=!0;var a="<",s=">",l="@",c="/",u="mailto:",h=u.length;function p(e,t,n){var o,p,d,f,m,v=this,g="",y=t.length,b=0,w="",k=!1,C="";if(t.charAt(0)===a){for(b++,g=a;b{"use strict";var i=n(4839).X;e.exports=function(e,t,n){var i,w,k,C,E,S,M,x=this.options.blocks.join("|"),T=new RegExp("^|$))","i"),D=t.length,A=0,P=[[l,c,!0],[u,h,!0],[p,d,!0],[f,m,!0],[v,g,!0],[T,y,!0],[b,y,!1]];for(;A|$))/i,c=/<\/(script|pre|style)>/i,u=/^/,p=/^<\?/,d=/\?>/,f=/^/,v=/^/,y=/^$/,b=new RegExp(i.source+"\\s*$")},8785:(e,t,n)=>{"use strict";var i=n(8593),r=n(631);e.exports=function(e,t,n,o){var a=t.value;return function(e){return e&&("script"===e.tagName||"style"===e.tagName)}(o)?a:r(a,i(e.entities,{subset:["<","&"]}))}},8812:(e,t,n)=>{"use strict";e.exports=function(e,t){var n=e.footnoteById,r=e.footnoteOrder,o=1;for(;o in n;)o++;return o=String(o),r.push(o),n[o]={type:"footnoteDefinition",identifier:o,children:[{type:"paragraph",children:t.children}],position:t.position},i(e,{type:"footnoteReference",identifier:o,position:t.position})};var i=n(3632)},8813:e=>{"use strict";e.exports=function(e){return String(e).replace(/\n+$/,"")}},8942:(e,t,n)=>{"use strict";e.exports=function(e,t,n){var a,s,l,c=r(e,t),u=c[0],h=n?function(e){var t=e.spread,n=e.children,i=n.length,r=-1;for(;!t&&++r0&&u.children.unshift(i("text"," ")),u.children.unshift(e(null,"input",{type:"checkbox",checked:t.checked,disabled:!0})),p.className=["task-list-item"]);a=c.length,s=-1;for(;++s1:t}},9040:(e,t,n)=>{"use strict";var i=n(8131),r=n(4297);e.exports=function(e,t){var n={href:i(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);return e(t,"a",n,r(e,t))}},9098:e=>{"use strict";e.exports=function(e){var n;if(e&&"object"==typeof e&&"text"===e.type)n=e.value||"";else{if("string"!=typeof e)return!1;n=e}return""===n.replace(t,"")};var t=/[ \t\n\f\r]/g},9159:(e,t,n)=>{"use strict";var i=n(1185),r=n(9932);e.exports=i,i.escape=r},9331:(e,t,n)=>{"use strict";e.exports=function(e,t){return e(t,"blockquote",i(r(e,t),!0))};var i=n(7824),r=n(4297)},9359:e=>{"use strict";e.exports=function(e,n){return function(i){var r,o=0,a=i.indexOf(t),s=e[n],l=[];for(;-1!==a;)l.push(i.slice(o,a)),o=a+1,(r=i.charAt(o))&&-1!==s.indexOf(r)||l.push(t),a=i.indexOf(t,o+1);return l.push(i.slice(o)),l.join("")}};var t="\\"},9405:(e,t,n)=>{"use strict";var i=n(1900),r=n(2356);e.exports=g,g.locator=r;var o="\n",a="!",s='"',l="'",c="(",u=")",h="<",p=">",d="[",f="\\",m="]",v="`";function g(e,t,n){var r,g,y,b,w,k,C,E,S,M,x,T,D,A,P,L,I,O,F=this,N="",R=0,B=t.charAt(0),V=F.options.pedantic,H=F.options.commonmark,z=F.options.gfm;if(B===a&&(E=!0,N=B,B=t.charAt(++R)),B===d&&(E||!F.inLink)){for(N+=B,A="",R++,x=t.length,D=0,(L=e.now()).column+=R,L.offset+=R;R=y&&(y=0):y=g}else if(B===f)R++,k+=t.charAt(R);else if(y&&!z||B!==d){if((!y||z)&&B===m){if(!D){if(t.charAt(R+1)!==c)return;k+=c,r=!0,R++;break}D--}}else D++;A+=k,k="",R++}if(r){for(S=A,N+=A+k,R++;R{"use strict";var i=n(859),r=n(4571);e.exports=r,r.prototype.message=function(e,t,n){var r=new i(e,t,n);this.path&&(r.name=this.path+":"+r.name,r.file=this.path);return r.fatal=!1,this.messages.push(r),r},r.prototype.info=function(){var e=this.message.apply(this,arguments);return e.fatal=null,e},r.prototype.fail=function(){var e=this.message.apply(this,arguments);throw e.fatal=!0,e}},9489:(e,t,n)=>{"use strict";var i=n(1383),r=n(4197),o=n(5325),a="data";e.exports=function(e,t){var n=i(t),p=t,d=o;if(n in e.normal)return e.property[e.normal[n]];n.length>4&&n.slice(0,4)===a&&s.test(t)&&("-"===t.charAt(4)?p=function(e){var t=e.slice(5).replace(l,h);return a+t.charAt(0).toUpperCase()+t.slice(1)}(t):t=function(e){var t=e.slice(4);if(l.test(t))return e;t=t.replace(c,u),"-"!==t.charAt(0)&&(t="-"+t);return a+t}(t),d=r);return new d(p,t)};var s=/^data[-\w.:]+$/i,l=/-[a-z]/g,c=/[A-Z]/g;function u(e){return"-"+e.toLowerCase()}function h(e){return e.charAt(1).toUpperCase()}},9510:e=>{"use strict";e.exports=function(e){return String(e).replace(/\s+/g," ")}},9546:e=>{"use strict";e.exports=function(e,t,n){return function(){var i=n||this,r=i[e];return i[e]=!t,o;function o(){i[e]=r}}}},9547:function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,o){function a(e){try{l(i.next(e))}catch(e){o(e)}}function s(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((i=i.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]{"use strict";e.exports=function(e,t,n){var i;null!=n||"object"==typeof t&&!Array.isArray(t)||(n=t,t={});i=Object.assign({type:String(e)},t),Array.isArray(n)?i.children=n:null!=n&&(i.value=String(n));return i}},9677:e=>{e.exports=String.fromCharCode},9710:e=>{"use strict";e.exports=JSON.parse('{"nbsp":" ","iexcl":"¡","cent":"¢","pound":"£","curren":"¤","yen":"¥","brvbar":"¦","sect":"§","uml":"¨","copy":"©","ordf":"ª","laquo":"«","not":"¬","shy":"­","reg":"®","macr":"¯","deg":"°","plusmn":"±","sup2":"²","sup3":"³","acute":"´","micro":"µ","para":"¶","middot":"·","cedil":"¸","sup1":"¹","ordm":"º","raquo":"»","frac14":"¼","frac12":"½","frac34":"¾","iquest":"¿","Agrave":"À","Aacute":"Á","Acirc":"Â","Atilde":"Ã","Auml":"Ä","Aring":"Å","AElig":"Æ","Ccedil":"Ç","Egrave":"È","Eacute":"É","Ecirc":"Ê","Euml":"Ë","Igrave":"Ì","Iacute":"Í","Icirc":"Î","Iuml":"Ï","ETH":"Ð","Ntilde":"Ñ","Ograve":"Ò","Oacute":"Ó","Ocirc":"Ô","Otilde":"Õ","Ouml":"Ö","times":"×","Oslash":"Ø","Ugrave":"Ù","Uacute":"Ú","Ucirc":"Û","Uuml":"Ü","Yacute":"Ý","THORN":"Þ","szlig":"ß","agrave":"à","aacute":"á","acirc":"â","atilde":"ã","auml":"ä","aring":"å","aelig":"æ","ccedil":"ç","egrave":"è","eacute":"é","ecirc":"ê","euml":"ë","igrave":"ì","iacute":"í","icirc":"î","iuml":"ï","eth":"ð","ntilde":"ñ","ograve":"ò","oacute":"ó","ocirc":"ô","otilde":"õ","ouml":"ö","divide":"÷","oslash":"ø","ugrave":"ù","uacute":"ú","ucirc":"û","uuml":"ü","yacute":"ý","thorn":"þ","yuml":"ÿ","fnof":"ƒ","Alpha":"Α","Beta":"Β","Gamma":"Γ","Delta":"Δ","Epsilon":"Ε","Zeta":"Ζ","Eta":"Η","Theta":"Θ","Iota":"Ι","Kappa":"Κ","Lambda":"Λ","Mu":"Μ","Nu":"Ν","Xi":"Ξ","Omicron":"Ο","Pi":"Π","Rho":"Ρ","Sigma":"Σ","Tau":"Τ","Upsilon":"Υ","Phi":"Φ","Chi":"Χ","Psi":"Ψ","Omega":"Ω","alpha":"α","beta":"β","gamma":"γ","delta":"δ","epsilon":"ε","zeta":"ζ","eta":"η","theta":"θ","iota":"ι","kappa":"κ","lambda":"λ","mu":"μ","nu":"ν","xi":"ξ","omicron":"ο","pi":"π","rho":"ρ","sigmaf":"ς","sigma":"σ","tau":"τ","upsilon":"υ","phi":"φ","chi":"χ","psi":"ψ","omega":"ω","thetasym":"ϑ","upsih":"ϒ","piv":"ϖ","bull":"•","hellip":"…","prime":"′","Prime":"″","oline":"‾","frasl":"⁄","weierp":"℘","image":"ℑ","real":"ℜ","trade":"™","alefsym":"ℵ","larr":"←","uarr":"↑","rarr":"→","darr":"↓","harr":"↔","crarr":"↵","lArr":"⇐","uArr":"⇑","rArr":"⇒","dArr":"⇓","hArr":"⇔","forall":"∀","part":"∂","exist":"∃","empty":"∅","nabla":"∇","isin":"∈","notin":"∉","ni":"∋","prod":"∏","sum":"∑","minus":"−","lowast":"∗","radic":"√","prop":"∝","infin":"∞","ang":"∠","and":"∧","or":"∨","cap":"∩","cup":"∪","int":"∫","there4":"∴","sim":"∼","cong":"≅","asymp":"≈","ne":"≠","equiv":"≡","le":"≤","ge":"≥","sub":"⊂","sup":"⊃","nsub":"⊄","sube":"⊆","supe":"⊇","oplus":"⊕","otimes":"⊗","perp":"⊥","sdot":"⋅","lceil":"⌈","rceil":"⌉","lfloor":"⌊","rfloor":"⌋","lang":"〈","rang":"〉","loz":"◊","spades":"♠","clubs":"♣","hearts":"♥","diams":"♦","quot":"\\"","amp":"&","lt":"<","gt":">","OElig":"Œ","oelig":"œ","Scaron":"Š","scaron":"š","Yuml":"Ÿ","circ":"ˆ","tilde":"˜","ensp":" ","emsp":" ","thinsp":" ","zwnj":"‌","zwj":"‍","lrm":"‎","rlm":"‏","ndash":"–","mdash":"—","lsquo":"‘","rsquo":"’","sbquo":"‚","ldquo":"“","rdquo":"”","bdquo":"„","dagger":"†","Dagger":"‡","permil":"‰","lsaquo":"‹","rsaquo":"›","euro":"€"}')},9784:e=>{"use strict";var t,n="object"==typeof Reflect?Reflect:null,i=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var r=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(n,i){function r(n){e.removeListener(t,o),i(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",r),n([].slice.call(arguments))}m(e,t,o,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&m(e,"error",t,n)}(e,r,{once:!0})}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var a=10;function s(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function c(e,t,n,i){var r,o,a,c;if(s(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),a=o[t]),void 0===a)a=o[t]=n,++e._eventsCount;else if("function"==typeof a?a=o[t]=i?[n,a]:[a,n]:i?a.unshift(n):a.push(n),(r=l(e))>0&&a.length>r&&!a.warned){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=a.length,c=u,console&&console.warn&&console.warn(c)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=u.bind(i);return r.listener=n,i.wrapFn=r,r}function p(e,t,n){var i=e._events;if(void 0===i)return[];var r=i[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var l=o[e];if(void 0===l)return!1;if("function"==typeof l)i(l,this,t);else{var c=l.length,u=f(l,c);for(n=0;n=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1=0;i--)this.removeListener(e,t[i]);return this},o.prototype.listeners=function(e){return p(this,e,!0)},o.prototype.rawListeners=function(e){return p(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):d.call(e,t)},o.prototype.listenerCount=d,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},9795:(e,t,n)=>{"use strict";var i=n(2700);e.exports=function(e,t){var n=t&&t.children,r=n&&n.length,o=-1,a=[];for(;++o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertEBMLDateToJSDate=t.createFloatBuffer=t.createIntBuffer=t.createUIntBuffer=t.encodeValueToBuffer=t.concat=t.putRefinedMetaData=t.extractElement=t.removeElement=t.makeMetadataSeekable=t.createRIFFChunk=t.VP8BitStreamToRiffWebPBuffer=t.WebPBlockFilter=t.encodeTag=t.readBlock=t.ebmlBlock=t.writeVint=t.readVint=t.Buffer=void 0;var i=n(6661),r=n(4741),o=n(4686),a=n(4635),s=n(927);function l(e,n){var i=new t.Buffer(4);return i.writeUInt32LE(n.byteLength,0),f([new t.Buffer(e.substr(0,4),"ascii"),i,n,new t.Buffer(n.byteLength%2==0?0:1)])}function c(e,t){for(var n=-1,i=0;i=0?Array.prototype.splice.apply(e,[r+1,0].concat(n)):i?[].concat([{name:t,type:"m",isEnd:!1}],n,[{name:t,type:"m",isEnd:!0}]).reverse().forEach((function(t){e.unshift(t)})):(e.push({name:t,type:"m",isEnd:!1}),n.forEach((function(t){e.push(t)})),e.push({name:t,type:"m",isEnd:!0}))}function f(e){return t.Buffer.concat(e)}function m(e){for(var n=1;e>=Math.pow(2,8*n);n++);if(n>=7)return console.warn("7bit or more bigger uint not supported."),new i.Uint64BE(e).toBuffer();var r=new t.Buffer(n);return r.writeUIntBE(e,0,n),r}function v(e){for(var n=1;e>=Math.pow(2,8*n);n++);if(n>=7)return console.warn("7bit or more bigger uint not supported."),new i.Int64BE(e).toBuffer();var r=new t.Buffer(n);return r.writeIntBE(e,0,n),r}function g(e,n){var i;if(void 0===n&&(n=8),8===n)return(i=new t.Buffer(8)).writeDoubleBE(e,0),i;if(4===n)return(i=new t.Buffer(4)).writeFloatBE(e,0),i;throw new Error("float type bits must 4bytes or 8bytes")}t.Buffer=o.Buffer,t.readVint=a.default.readVint,t.writeVint=a.default.writeVint,t.ebmlBlock=s,t.readBlock=function(e){return(0,t.ebmlBlock)(new t.Buffer(e))},t.encodeTag=function(e,n,i){return void 0===i&&(i=!1),f([e,i?new t.Buffer("01ffffffffffffff","hex"):(0,t.writeVint)(n.length),n])},t.WebPBlockFilter=function(e){return e.reduce((function(e,n){return"b"!==n.type||"SimpleBlock"!==n.name?e:(0,t.ebmlBlock)(n.data).frames.some((function(e){return"9d012a"===e.slice(3,6).toString("hex")}))?e.concat(n):e}),[])},t.VP8BitStreamToRiffWebPBuffer=function(e){var n=l("VP8 ",e);return l("RIFF",f([new t.Buffer("WEBP","ascii"),n]))},t.createRIFFChunk=l,t.makeMetadataSeekable=function(e,n,i){var o=u("EBML",e),a=h(o)+12,s=e[e.length-1].dataEnd-a,l=u("Info",e);c("Duration",l),l.splice(1,0,{name:"Duration",type:"f",data:g(n,8)});for(var p=h(l),d=u("Tracks",e),f=h(d),v=47,y=[],b=5+15*i.length,w=[],k=-1,C=function(e){var n=v,r=n+p,o=r+f,l=o+b-s;if((y=[]).push({name:"SeekHead",type:"m",isEnd:!1}),y.push({name:"Seek",type:"m",isEnd:!1}),y.push({name:"SeekID",type:"b",data:new t.Buffer([21,73,169,102])}),y.push({name:"SeekPosition",type:"u",data:m(n)}),y.push({name:"Seek",type:"m",isEnd:!0}),y.push({name:"Seek",type:"m",isEnd:!1}),y.push({name:"SeekID",type:"b",data:new t.Buffer([22,84,174,107])}),y.push({name:"SeekPosition",type:"u",data:m(r)}),y.push({name:"Seek",type:"m",isEnd:!0}),y.push({name:"Seek",type:"m",isEnd:!1}),y.push({name:"SeekID",type:"b",data:new t.Buffer([28,83,187,107])}),y.push({name:"SeekPosition",type:"u",data:m(o)}),y.push({name:"Seek",type:"m",isEnd:!0}),y.push({name:"SeekHead",type:"m",isEnd:!0}),v=h(y),(w=[]).push({name:"Cues",type:"m",isEnd:!1}),i.forEach((function(e){var t=e.CueTrack,n=e.CueClusterPosition,i=e.CueTime;w.push({name:"CuePoint",type:"m",isEnd:!1}),w.push({name:"CueTime",type:"u",data:m(i)}),w.push({name:"CueTrackPositions",type:"m",isEnd:!1}),w.push({name:"CueTrack",type:"u",data:m(t)}),n-=a,n+=l,w.push({name:"CueClusterPosition",type:"u",data:m(n)}),w.push({name:"CueTrackPositions",type:"m",isEnd:!0}),w.push({name:"CuePoint",type:"m",isEnd:!0})})),w.push({name:"Cues",type:"m",isEnd:!0}),b=h(w),k===l)return"break";if(k=l,9===e)throw new Error("Failed to converge to a stable metadata size")},E=0;E<10;E++){if("break"===C(E))break}var S=[].concat.apply([],[o,{name:"Segment",type:"m",isEnd:!1,unknownSize:!0},y,l,d,w]);return(new r.default).encode(S)},t.removeElement=c,t.extractElement=u,t.putRefinedMetaData=function(e,n){Array.isArray(n.cueInfos)&&!Array.isArray(n.cues)&&(console.warn("putRefinedMetaData: info.cueInfos property is deprecated. please use info.cues"),n.cues=n.cueInfos);for(var i=[],o=[],a=0;a0))throw new Error("metadata dataEnd has wrong number");var l,c=o[o.length-1].dataEnd,u=i[i.length-1].dataEnd,h=(new r.default).encode(i).byteLength-u,d=c-o[0].tagStart,f=(o[0].tagStart,o[0].tagStart,new t.Buffer([24,83,128,103])),m=new t.Buffer("01ffffffffffffff","hex"),v=f.byteLength+m.byteLength,g=d;for(l=1;l<20;l++){var y=p(o,h+(u+v+g-c),n),b=(new r.default).encode(y).byteLength;if(b===g)return(new r.default).encode([].concat(i,[{type:"m",name:"Segment",isEnd:!1,unknownSize:!0}],y));g=b}throw new Error("unable to refine metadata, stable size could not be found in "+l+" iterations!")},t.concat=f,t.encodeValueToBuffer=function(e){var n=new t.Buffer(0);if("m"===e.type)return e;switch(e.type){case"u":n=m(e.value);break;case"i":n=v(e.value);break;case"f":n=g(e.value);break;case"s":n=new t.Buffer(e.value,"ascii");break;case"8":n=new t.Buffer(e.value,"utf8");break;case"b":n=e.value;break;case"d":n=new i.Int64BE(e.value.getTime().toString()).toBuffer()}return Object.assign({},e,{data:n})},t.createUIntBuffer=m,t.createIntBuffer=v,t.createFloatBuffer=g,t.convertEBMLDateToJSDate=function(e){return e instanceof Date?e:new Date(new Date("2001-01-01T00:00:00.000Z").getTime()+Number(e)/1e3/1e3)}},9932:(e,t,n)=>{"use strict";var i=n(1632),r=n(6901);e.exports=function(e){return i(e,{escapeOnly:!0,useNamedReferences:!0,format:r})}},9941:(e,t,n)=>{"use strict";e.exports=function(e,t){return e.dangerous?e.augment(t,i("raw",t.value)):null};var i=n(9650)}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i].call(o.exports,o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e={};n.r(e),n.d(e,{Annotation:()=>qe,AnnotationType:()=>We,ChangeDesc:()=>ie,ChangeSet:()=>re,CharCategory:()=>Je,Compartment:()=>Ae,EditorSelection:()=>pe,EditorState:()=>nt,Facet:()=>me,Line:()=>Z,MapMode:()=>ne,Prec:()=>Te,Range:()=>ot,RangeSet:()=>lt,RangeSetBuilder:()=>ct,RangeValue:()=>rt,SelectionRange:()=>he,StateEffect:()=>Ue,StateEffectType:()=>je,StateField:()=>ke,Text:()=>q,Transaction:()=>_e,codePointAt:()=>$,codePointSize:()=>ee,combineConfig:()=>it,countColumn:()=>wt,findClusterBreak:()=>Q,findColumn:()=>kt,fromCodePoint:()=>J});var t={};n.r(t),n.d(t,{BidiSpan:()=>hi,BlockInfo:()=>oo,BlockType:()=>Bn,Decoration:()=>Vn,Direction:()=>Xn,EditorView:()=>jo,GutterMarker:()=>As,MatchDecorator:()=>Ma,RectangleMarker:()=>oa,ViewPlugin:()=>zi,ViewUpdate:()=>Ji,WidgetType:()=>Rn,__test:()=>ll,closeHoverTooltips:()=>ms,crosshairCursor:()=>Ya,drawSelection:()=>da,dropCursor:()=>Ea,getDialog:()=>Ms,getDrawSelectionConfig:()=>fa,getPanel:()=>bs,getTooltip:()=>ps,gutter:()=>Fs,gutterLineClass:()=>Ps,gutterWidgetClass:()=>Ls,gutters:()=>Rs,hasHoverTooltips:()=>ds,highlightActiveLine:()=>Ba,highlightActiveLineGutter:()=>el,highlightSpecialChars:()=>La,highlightTrailingWhitespace:()=>sl,highlightWhitespace:()=>ol,hoverTooltip:()=>hs,keymap:()=>Qo,layer:()=>ha,lineNumberMarkers:()=>Us,lineNumberWidgetMarker:()=>_s,lineNumbers:()=>Xs,logException:()=>Ri,panels:()=>ys,placeholder:()=>qa,rectangularSelection:()=>_a,repositionTooltips:()=>vs,runScopeHandlers:()=>ea,scrollPastEnd:()=>Ra,showDialog:()=>Ss,showPanel:()=>Es,showTooltip:()=>os,tooltips:()=>Qa});var i={};n.r(i),n.d(i,{DefaultBufferLength:()=>Eu,IterMode:()=>Pu,MountedTree:()=>Tu,NodeProp:()=>xu,NodeSet:()=>Lu,NodeType:()=>Au,NodeWeakMap:()=>Ju,Parser:()=>th,Tree:()=>Fu,TreeBuffer:()=>Ru,TreeCursor:()=>Ku,TreeFragment:()=>eh,parseMixed:()=>ih});var r={};n.r(r),n.d(r,{Tag:()=>gh,classHighlighter:()=>Kh,getStyleTags:()=>Th,highlightCode:()=>Mh,highlightTree:()=>Sh,styleTags:()=>wh,tagHighlighter:()=>Eh,tags:()=>jh});var o={};n.r(o),n.d(o,{DocInput:()=>op,HighlightStyle:()=>pd,IndentContext:()=>Cp,LRLanguage:()=>Jh,Language:()=>Qh,LanguageDescription:()=>mp,LanguageSupport:()=>fp,ParseContext:()=>sp,StreamLanguage:()=>zd,StringStream:()=>Bd,TreeIndentContext:()=>Tp,bidiIsolates:()=>of,bracketMatching:()=>Pd,bracketMatchingHandle:()=>Ld,codeFolding:()=>rd,continuedIndent:()=>Ip,defaultHighlightStyle:()=>wd,defineLanguageFacet:()=>Zh,delimitedIndent:()=>Ap,ensureSyntaxTree:()=>tp,flatIndent:()=>Lp,foldAll:()=>Qp,foldCode:()=>Yp,foldEffect:()=>zp,foldGutter:()=>ud,foldInside:()=>Bp,foldKeymap:()=>td,foldNodeProp:()=>Rp,foldService:()=>Np,foldState:()=>jp,foldable:()=>Vp,foldedRanges:()=>_p,forceParsing:()=>ip,getIndentUnit:()=>yp,getIndentation:()=>wp,highlightingFor:()=>gd,ignoreSpellcheckToken:()=>ef,indentNodeProp:()=>Ep,indentOnInput:()=>Fp,indentRange:()=>kp,indentService:()=>vp,indentString:()=>bp,indentUnit:()=>gp,language:()=>dp,languageDataProp:()=>Yh,lineClassNodeProp:()=>Qd,lineHighlighter:()=>Jd,matchBrackets:()=>Fd,sublanguageProp:()=>Xh,syntaxHighlighting:()=>vd,syntaxParserRunning:()=>rp,syntaxTree:()=>ep,syntaxTreeAvailable:()=>np,toggleFold:()=>ed,tokenClassNodeProp:()=>Xd,unfoldAll:()=>$p,unfoldCode:()=>Zp,unfoldEffect:()=>qp});var a={};n.r(a),n.d(a,{blockComment:()=>lA,blockUncomment:()=>cA,copyLineDown:()=>WL,copyLineUp:()=>qL,cursorCharBackward:()=>QA,cursorCharBackwardLogical:()=>tP,cursorCharForward:()=>XA,cursorCharForwardLogical:()=>eP,cursorCharLeft:()=>YA,cursorCharRight:()=>ZA,cursorDocEnd:()=>dL,cursorDocStart:()=>pL,cursorGroupBackward:()=>aP,cursorGroupForward:()=>oP,cursorGroupForwardWin:()=>lP,cursorGroupLeft:()=>iP,cursorGroupRight:()=>rP,cursorLineBoundaryBackward:()=>TP,cursorLineBoundaryForward:()=>xP,cursorLineBoundaryLeft:()=>DP,cursorLineBoundaryRight:()=>AP,cursorLineDown:()=>wP,cursorLineEnd:()=>LP,cursorLineStart:()=>PP,cursorLineUp:()=>bP,cursorMatchingBracket:()=>OP,cursorPageDown:()=>SP,cursorPageUp:()=>EP,cursorSubwordBackward:()=>dP,cursorSubwordForward:()=>pP,cursorSyntaxLeft:()=>vP,cursorSyntaxRight:()=>gP,defaultKeymap:()=>rI,deleteCharBackward:()=>EL,deleteCharBackwardStrict:()=>SL,deleteCharForward:()=>ML,deleteGroupBackward:()=>TL,deleteGroupForward:()=>DL,deleteLine:()=>jL,deleteLineBoundaryBackward:()=>LL,deleteLineBoundaryForward:()=>IL,deleteToLineEnd:()=>AL,deleteToLineStart:()=>PL,deleteTrailingWhitespace:()=>OL,emacsStyleKeymap:()=>nI,history:()=>wA,historyField:()=>kA,historyKeymap:()=>qA,indentLess:()=>$L,indentMore:()=>QL,indentSelection:()=>XL,indentWithTab:()=>oI,insertBlankLine:()=>KL,insertNewline:()=>UL,insertNewlineAndIndent:()=>GL,insertNewlineKeepIndent:()=>_L,insertTab:()=>tI,invertedEffects:()=>gA,isolateHistory:()=>vA,lineComment:()=>oA,lineUncomment:()=>aA,moveLineDown:()=>HL,moveLineUp:()=>VL,redo:()=>SA,redoDepth:()=>AA,redoSelection:()=>xA,selectAll:()=>vL,selectCharBackward:()=>zP,selectCharBackwardLogical:()=>WP,selectCharForward:()=>HP,selectCharForwardLogical:()=>qP,selectCharLeft:()=>BP,selectCharRight:()=>VP,selectDocEnd:()=>mL,selectDocStart:()=>fL,selectGroupBackward:()=>KP,selectGroupForward:()=>GP,selectGroupForwardWin:()=>YP,selectGroupLeft:()=>UP,selectGroupRight:()=>_P,selectLine:()=>gL,selectLineBoundaryBackward:()=>sL,selectLineBoundaryForward:()=>aL,selectLineBoundaryLeft:()=>lL,selectLineBoundaryRight:()=>cL,selectLineDown:()=>nL,selectLineEnd:()=>hL,selectLineStart:()=>uL,selectLineUp:()=>tL,selectMatchingBracket:()=>FP,selectPageDown:()=>oL,selectPageUp:()=>rL,selectParentSyntax:()=>yL,selectSubwordBackward:()=>QP,selectSubwordForward:()=>XP,selectSyntaxLeft:()=>$P,selectSyntaxRight:()=>JP,simplifySelection:()=>bL,splitLine:()=>FL,standardKeymap:()=>iI,temporarilySetTabFocusMode:()=>eI,toggleBlockComment:()=>sA,toggleBlockCommentByLine:()=>uA,toggleComment:()=>nA,toggleLineComment:()=>rA,toggleTabFocusMode:()=>JL,transposeChars:()=>NL,undo:()=>EA,undoDepth:()=>DA,undoSelection:()=>MA});var s={};n.r(s),n.d(s,{RegExpCursor:()=>uI,SearchCursor:()=>sI,SearchQuery:()=>LI,closeSearchPanel:()=>aO,findNext:()=>ZI,findPrevious:()=>XI,getSearchQuery:()=>WI,gotoLine:()=>yI,highlightSelectionMatches:()=>CI,openSearchPanel:()=>oO,replaceAll:()=>eO,replaceNext:()=>JI,search:()=>PI,searchKeymap:()=>sO,searchPanelOpen:()=>jI,selectMatches:()=>QI,selectNextOccurrence:()=>DI,selectSelectionMatches:()=>$I,setSearchQuery:()=>HI});var l={};n.r(l),n.d(l,{ContextTracker:()=>Yz,ExternalTokenizer:()=>Rz,InputStream:()=>Oz,LRParser:()=>Zz,LocalTokenGroup:()=>Nz,Stack:()=>xz});var c={};n.r(c),n.d(c,{CompletionContext:()=>eq,acceptCompletion:()=>Vq,autocompletion:()=>HW,clearSnippet:()=>rW,closeBrackets:()=>EW,closeBracketsKeymap:()=>PW,closeCompletion:()=>zq,completeAnyWord:()=>yW,completeFromList:()=>nq,completionKeymap:()=>zW,completionStatus:()=>WW,currentCompletions:()=>UW,deleteBracketPair:()=>AW,hasNextSnippetField:()=>sW,hasPrevSnippetField:()=>lW,ifIn:()=>iq,ifNotIn:()=>rq,insertBracket:()=>LW,insertCompletionText:()=>cq,moveCompletionSelection:()=>Bq,nextSnippetField:()=>oW,pickedCompletion:()=>lq,prevSnippetField:()=>aW,selectedCompletion:()=>_W,selectedCompletionIndex:()=>GW,setSelectedCompletion:()=>KW,snippet:()=>nW,snippetCompletion:()=>pW,snippetKeymap:()=>uW,startCompletion:()=>Hq});var u={};n.r(u),n.d(u,{Component:()=>Fm,Events:()=>TC,MarkdownPreviewRenderer:()=>bR,MarkdownRenderChild:()=>dR,Notice:()=>vx,Publish:()=>__,addIcon:()=>Ym,getIcon:()=>Gm,getIconIds:()=>Xm,moment:()=>Ok,parseYaml:()=>Lk,removeIcon:()=>Zm,setIcon:()=>Km,stringifyYaml:()=>Ik});var h={};n.r(h),n.d(h,{collab:()=>XZ,getClientID:()=>eX,getSyncedVersion:()=>JZ,rebaseUpdates:()=>tX,receiveUpdates:()=>QZ,sendableUpdates:()=>$Z});var p={};n.r(p),n.d(p,{closeLintPanel:()=>gX,diagnosticCount:()=>pX,forEachDiagnostic:()=>_X,forceLinting:()=>SX,lintGutter:()=>UX,lintKeymap:()=>wX,linter:()=>EX,nextDiagnostic:()=>yX,openLintPanel:()=>vX,previousDiagnostic:()=>bX,setDiagnostics:()=>sX,setDiagnosticsEffect:()=>lX});var d={};n.r(d),n.d(d,{AbstractInputSuggest:()=>GT,AbstractTextComponent:()=>NT,App:()=>Cee,BaseComponent:()=>PT,BasesEntry:()=>Pj,BasesEntryGroup:()=>nK,BasesQueryResult:()=>iK,BasesView:()=>rK,BasesViewConfig:()=>Kj,BooleanValue:()=>yV,ButtonComponent:()=>IT,CapacitorAdapter:()=>AQ,ColorComponent:()=>UT,Component:()=>Fm,DateValue:()=>MV,DropdownComponent:()=>qT,DurationValue:()=>TV,EditableFileView:()=>cG,Editor:()=>mC,EditorSuggest:()=>iD,Events:()=>TC,ExtraButtonComponent:()=>OT,FileManager:()=>Nx,FileSystemAdapter:()=>Cu,FileValue:()=>AV,FileView:()=>oG,FuzzySuggestModal:()=>tZ,HTMLValue:()=>OV,HoverPopover:()=>L_,IconValue:()=>DV,ImageValue:()=>IV,ItemView:()=>zg,Keymap:()=>Ag,LinkValue:()=>LV,ListValue:()=>bV,MarkdownPreviewRenderer:()=>bR,MarkdownPreviewSection:()=>fR,MarkdownPreviewView:()=>qR,MarkdownRenderChild:()=>dR,MarkdownRenderer:()=>VR,MarkdownView:()=>U0,Menu:()=>Ng,MenuItem:()=>Lg,MenuSeparator:()=>Ig,MetadataCache:()=>EQ,Modal:()=>px,MomentFormatComponent:()=>zT,NotNullValue:()=>fV,Notice:()=>vx,NullValue:()=>dV,NumberValue:()=>gV,ObjectValue:()=>EV,Platform:()=>Yl,Plugin:()=>y0,PluginSettingTab:()=>b0,PopoverState:()=>h_,PopoverSuggest:()=>Yx,PrimitiveValue:()=>mV,ProgressBarComponent:()=>WT,QueryController:()=>hK,RegExpValue:()=>SV,RelativeDateValue:()=>xV,RenderContext:()=>hV,Scope:()=>Tg,SearchComponent:()=>BT,Setting:()=>AT,SettingTab:()=>P1,SliderComponent:()=>jT,StringValue:()=>vV,SuggestModal:()=>eZ,TAbstractFile:()=>VC,TFile:()=>zC,TFolder:()=>qC,TagValue:()=>kV,TextAreaComponent:()=>VT,TextComponent:()=>RT,TextFileView:()=>SG,ToggleComponent:()=>FT,UrlValue:()=>PV,Value:()=>pV,ValueComponent:()=>LT,Vault:()=>WC,View:()=>Hg,ViewRegistry:()=>BQ,Workspace:()=>l0,WorkspaceContainer:()=>XJ,WorkspaceFloating:()=>n0,WorkspaceItem:()=>GJ,WorkspaceLeaf:()=>J1,WorkspaceParent:()=>KJ,WorkspaceRibbon:()=>e0,WorkspaceRoot:()=>t0,WorkspaceSidedock:()=>ZJ,WorkspaceSplit:()=>YJ,WorkspaceTabs:()=>Q1,WorkspaceWindow:()=>i0,addIcon:()=>Ym,apiVersion:()=>dee,arrayBufferToBase64:()=>Cf,arrayBufferToHex:()=>Df,base64ToArrayBuffer:()=>kf,debounce:()=>wc,displayTooltip:()=>pv,editorEditorField:()=>LK,editorInfoField:()=>IK,editorLivePreviewField:()=>FK,editorViewField:()=>OK,finishRenderMath:()=>JN,fuzzySearch:()=>rT,getAllTags:()=>dS,getBlobArrayBuffer:()=>Mc,getFrontMatterInfo:()=>NE,getIcon:()=>Gm,getIconIds:()=>Xm,getLanguage:()=>hm,getLinkpath:()=>lS,hexToArrayBuffer:()=>Tf,htmlToMarkdown:()=>SC,iterateCacheRefs:()=>uS,iterateRefs:()=>pS,livePreviewState:()=>oZ,loadMathJax:()=>KN,loadMermaid:()=>jN,loadPdfJs:()=>HN,loadPrism:()=>_N,moment:()=>Ok,normalizePath:()=>lu,parseFrontMatterAliases:()=>WE,parseFrontMatterEntry:()=>zE,parseFrontMatterStringArray:()=>qE,parseFrontMatterTags:()=>jE,parseLinktext:()=>cS,parsePropertyId:()=>xj,parseYaml:()=>Lk,prepareFuzzySearch:()=>tT,prepareQuery:()=>eT,prepareSimpleSearch:()=>cT,removeIcon:()=>Zm,renderMatches:()=>hT,renderMath:()=>YN,renderResults:()=>uT,request:()=>tx,requestUrl:()=>ex,requireApiVersion:()=>mee,resolveSubpath:()=>bS,sanitizeHTMLToDom:()=>MM,setIcon:()=>Km,setTooltip:()=>mv,sortSearchResults:()=>oT,stringifyYaml:()=>Ik,stripHeading:()=>vS,stripHeadingForLink:()=>gS});var f=function(e,t){return f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},f(e,t)};function m(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var v=function(){return v=Object.assign||function(e){for(var t,n=1,i=arguments.length;n0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function k(e,t,n){if(n||2===arguments.length)for(var i,r=0,o=t.length;r1||s(e,t)}))})}function s(e,t){try{!function(e){e.value instanceof C?Promise.resolve(e.value.v).then(l,c):u(o[0][2],e)}(r[e](t))}catch(e){u(o[0][3],e)}}function l(e){s("next",e)}function c(e){s("throw",e)}function u(e,t){e(t),o.shift(),o.length&&s(o[0][0],o[0][1])}}function S(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=w(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(n){t[n]=e[n]&&function(t){return new Promise((function(i,r){(function(e,t,n,i){Promise.resolve(i).then((function(t){e({value:t,done:n})}),t)})(i,r,(t=e[n](t)).done,t.value)}))}}}var M,x,T,D;Object.create;!function(e){e.Dark="DARK",e.Light="LIGHT",e.Default="DEFAULT"}(M||(M={})),function(e){e.Body="body",e.Ionic="ionic",e.Native="native",e.None="none"}(x||(x={})),function(e){e.Dark="DARK",e.Light="LIGHT",e.Default="DEFAULT"}(T||(T={})),function(e){e.None="NONE",e.Slide="SLIDE",e.Fade="FADE"}(D||(D={}));let A=[],P=[];function L(e){if(e<768)return!1;for(let t=0,n=A.length;;){let i=t+n>>1;if(e=P[i]))return!0;t=i+1}if(t==n)return!1}}function I(e){return e>=127462&&e<=127487}(()=>{let e="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map((e=>e?parseInt(e,36):1));for(let t=0,n=0;t=0&&I(B(e,i));)n++,i-=2;if(n%2==0)break;t+=2}}}return t}function R(e,t,n){for(;t>0;){let i=N(e,t-2,n);if(i=56320&&e<57344}function H(e){return e>=55296&&e<56320}function z(e){return e<65536?1:2}var q=function(){function e(){}return e.prototype.lineAt=function(e){if(e<0||e>this.length)throw new RangeError("Invalid position ".concat(e," in document of length ").concat(this.length));return this.lineInner(e,!1,1,0)},e.prototype.line=function(e){if(e<1||e>this.lines)throw new RangeError("Invalid line number ".concat(e," in ").concat(this.lines,"-line document"));return this.lineInner(e,!0,1,0)},e.prototype.replace=function(e,t,n){var i;e=(i=X(this,e,t))[0],t=i[1];var r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),j.from(r,this.length-(t-e)+n.length)},e.prototype.append=function(e){return this.replace(this.length,this.length,e)},e.prototype.slice=function(e,t){var n;void 0===t&&(t=this.length),e=(n=X(this,e,t))[0],t=n[1];var i=[];return this.decompose(e,t,i,0),j.from(i,t-e)},e.prototype.eq=function(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;for(var t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),i=new G(this),r=new G(e),o=t,a=t;;){if(i.next(o),r.next(o),o=0,i.lineBreak!=r.lineBreak||i.done!=r.done||i.value!=r.value)return!1;if(a+=i.value.length,i.done||a>=n)return!0}},e.prototype.iter=function(e){return void 0===e&&(e=1),new G(this,e)},e.prototype.iterRange=function(e,t){return void 0===t&&(t=this.length),new K(this,e,t)},e.prototype.iterLines=function(e,t){var n;if(null==e)n=this.iter();else{null==t&&(t=this.lines+1);var i=this.line(e).from;n=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Y(n)},e.prototype.toString=function(){return this.sliceString(0)},e.prototype.toJSON=function(){var e=[];return this.flatten(e),e},e.of=function(t){if(0==t.length)throw new RangeError("A document must have at least one line");return 1!=t.length||t[0]?t.length<=32?new W(t):j.from(W.split(t,[])):e.empty},e}(),W=function(e){function t(t,n){void 0===n&&(n=function(e){for(var t=-1,n=0,i=e;n=e)return new Z(i,a,n,o);i=a+1,n++}},t.prototype.decompose=function(e,n,i,r){var o=e<=0&&n>=this.length?this:new t(_(this.text,e,n),Math.min(n,this.length)-Math.max(0,e));if(1&r){var a=i.pop(),s=U(o.text,a.text.slice(),0,o.length);if(s.length<=32)i.push(new t(s,a.length+o.length));else{var l=s.length>>1;i.push(new t(s.slice(0,l)),new t(s.slice(l)))}}else i.push(o)},t.prototype.replace=function(n,i,r){var o;if(!(r instanceof t))return e.prototype.replace.call(this,n,i,r);n=(o=X(this,n,i))[0],i=o[1];var a=U(this.text,U(r.text,_(this.text,0,n)),i),s=this.length+r.length-(i-n);return a.length<=32?new t(a,s):j.from(t.split(a,[]),s)},t.prototype.sliceString=function(e,t,n){var i;void 0===t&&(t=this.length),void 0===n&&(n="\n"),e=(i=X(this,e,t))[0],t=i[1];for(var r="",o=0,a=0;o<=t&&ae&&a&&(r+=n),eo&&(r+=s.slice(Math.max(0,e-o),t-o)),o=l+1}return r},t.prototype.flatten=function(e){for(var t=0,n=this.text;t-1&&n.push(new t(i,r)),n},t}(q),j=function(e){function t(t,n){var i=e.call(this)||this;i.children=t,i.length=n,i.lines=0;for(var r=0,o=t;r=e)return o.lineInner(e,t,n,i);i=a+1,n=s+1}},t.prototype.decompose=function(e,t,n,i){for(var r=0,o=0;o<=t&&r=o){var l=i&((o<=e?1:0)|(s>=t?2:0));o>=e&&s<=t&&!l?n.push(a):a.decompose(e-o,t-o,n,l)}o=s+1}},t.prototype.replace=function(n,i,r){var o;if(n=(o=X(this,n,i))[0],i=o[1],r.lines=s&&i<=c){var u=l.replace(n-s,i-s,r),h=this.lines-l.lines+u.lines;if(u.lines>4&&u.lines>h>>6){var p=this.children.slice();return p[a]=u,new t(p,this.length-(i-n)+r.length)}return e.prototype.replace.call(this,s,c,u)}s=c+1}return e.prototype.replace.call(this,n,i,r)},t.prototype.sliceString=function(e,t,n){var i;void 0===t&&(t=this.length),void 0===n&&(n="\n"),e=(i=X(this,e,t))[0],t=i[1];for(var r="",o=0,a=0;oe&&o&&(r+=n),ea&&(r+=s.sliceString(e-a,t-a,n)),a=l+1}return r},t.prototype.flatten=function(e){for(var t=0,n=this.children;t0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1],o=r[0],a=r[1],s=r[2],l=r[3];;o+=n,a+=n){if(o==s||a==l)return i;var c=this.children[o],u=e.children[a];if(c!=u)return i+c.scanIdentical(u,n);i+=c.length+1}},t.from=function(e,n){void 0===n&&(n=e.reduce((function(e,t){return e+t.length+1}),-1));for(var i=0,r=0,o=e;r>5),u=c<<1,h=c>>1,p=[],d=0,f=-1,m=[];function v(e){var n;if(e.lines>u&&e instanceof t)for(var i=0,r=e.children;ih&&(d>h||!d)?(g(),p.push(e)):e instanceof W&&d&&(n=m[m.length-1])instanceof W&&e.lines+n.lines<=32?(d+=e.lines,f+=e.length+1,m[m.length-1]=new W(n.text.concat(e.text),n.length+1+e.length)):(d+e.lines>c&&g(),d+=e.lines,f+=e.length+1,m.push(e))}function g(){0!=d&&(p.push(1==m.length?m[0]:t.from(m,f)),f=-1,d=m.length=0)}for(var y=0,b=e;y=n&&(l>i&&(s=s.slice(0,i-r)),r0?1:(e instanceof W?e.text.length:e.children.length)<<1]}return e.prototype.nextInner=function(e,t){for(this.done=this.lineBreak=!1;;){var n=this.nodes.length-1,i=this.nodes[n],r=this.offsets[n],o=r>>1,a=i instanceof W?i.text.length:i.children.length;if(o==(t>0?a:0)){if(0==n)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&r)==(t>0?0:1)){if(this.offsets[n]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(i instanceof W){var s=i.text[o+(t<0?-1:0)];if(this.offsets[n]+=t,s.length>Math.max(0,e))return this.value=0==e?s:t>0?s.slice(e):s.slice(0,s.length-e),this;e-=s.length}else{e>(s=i.children[o+(t<0?-1:0)]).length?(e-=s.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(s),this.offsets.push(t>0?1:(s instanceof W?s.text.length:s.children.length)<<1))}}},e.prototype.next=function(e){return void 0===e&&(e=0),e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)},e}(),K=function(){function e(e,t,n){this.value="",this.done=!1,this.cursor=new G(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}return e.prototype.nextInner=function(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);var n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;var i=this.cursor.next(e).value;return this.pos+=(i.length+e)*t,this.value=i.length<=n?i:t<0?i.slice(i.length-n):i.slice(0,n),this.done=!this.value,this},e.prototype.next=function(e){return void 0===e&&(e=0),e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)},Object.defineProperty(e.prototype,"lineBreak",{get:function(){return this.cursor.lineBreak&&""!=this.value},enumerable:!1,configurable:!0}),e}(),Y=function(){function e(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}return e.prototype.next=function(e){void 0===e&&(e=0);var t=this.inner.next(e),n=t.done,i=t.lineBreak,r=t.value;return n&&this.afterBreak?(this.value="",this.afterBreak=!1):n?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this},Object.defineProperty(e.prototype,"lineBreak",{get:function(){return!1},enumerable:!1,configurable:!0}),e}();"undefined"!=typeof Symbol&&(q.prototype[Symbol.iterator]=function(){return this.iter()},G.prototype[Symbol.iterator]=K.prototype[Symbol.iterator]=Y.prototype[Symbol.iterator]=function(){return this});var Z=function(){function e(e,t,n,i){this.from=e,this.to=t,this.number=n,this.text=i}return Object.defineProperty(e.prototype,"length",{get:function(){return this.to-this.from},enumerable:!1,configurable:!0}),e}();function X(e,t,n){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,n))]}function Q(e,t,n,i){return void 0===n&&(n=!0),void 0===i&&(i=!0),F(e,t,n,i)}function $(e,t){var n,i=e.charCodeAt(t);if(!(n=i,n>=55296&&n<56320&&t+1!=e.length))return i;var r=e.charCodeAt(t+1);return function(e){return e>=56320&&e<57344}(r)?r-56320+(i-55296<<10)+65536:i}function J(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function ee(e){return e<65536?1:2}var te=/\r\n?|\n/,ne=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(ne||(ne={})),ie=function(){function e(e){this.sections=e}return Object.defineProperty(e.prototype,"length",{get:function(){for(var e=0,t=0;te)return r+(e-i);r+=a}else{if(n!=ne.Simple&&l>=e&&(n==ne.TrackDel&&ie||n==ne.TrackBefore&&ie))return null;if(l>e||l==e&&t<0&&!a)return e==i||t<0?r:r+s;r+=s}i=l}if(e>i)throw new RangeError("Position ".concat(e," is out of range for changeset of length ").concat(i));return r},e.prototype.touchesRange=function(e,t){void 0===t&&(t=e);for(var n=0,i=0;n=0&&i<=t&&r>=e)return!(it)||"cover";i=r}return!1},e.prototype.toString=function(){for(var e="",t=0;t=0?":"+i:"")}return e},e.prototype.toJSON=function(){return this.sections},e.fromJSON=function(t){if(!Array.isArray(t)||t.length%2||t.some((function(e){return"number"!=typeof e})))throw new RangeError("Invalid JSON representation of ChangeDesc");return new e(t)},e.create=function(t){return new e(t)},e}(),re=function(e){function t(t,n){var i=e.call(this,t)||this;return i.inserted=n,i}return m(t,e),t.prototype.apply=function(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return se(this,(function(t,n,i,r,o){return e=e.replace(i,i+(n-t),o)}),!1),e},t.prototype.mapDesc=function(e,t){return void 0===t&&(t=!1),le(this,e,t,!0)},t.prototype.invert=function(e){for(var n=this.sections.slice(),i=[],r=0,o=0;r=0){n[r]=s,n[r+1]=a;for(var l=r>>1;i.length0&&ae(i,n,o.text),o.forward(h),s+=h}for(var u=e[a++];s>1].toJSON()))}return e},t.of=function(e,n,i){var r=[],o=[],a=0,s=null;function l(e){if(void 0===e&&(e=!1),e||r.length){af||p<0||f>n)throw new RangeError("Invalid change range ".concat(p," to ").concat(f," (in doc of length ").concat(n,")"));var v=m?"string"==typeof m?q.of(m.split(i||te)):m:q.empty,g=v.length;if(p==f&&0==g)return;pa&&oe(r,p-a,-1),oe(r,f-p,g),ae(o,r,v),a=f}}(e),l(!s),s},t.empty=function(e){return new t(e?[e,-1]:[],[])},t.fromJSON=function(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");for(var n=[],i=[],r=0;r=0&&n<=0&&n==e[r+1]?e[r]+=t:r>=0&&0==t&&0==e[r]?e[r+1]+=n:i?(e[r]+=t,e[r+1]+=n):e.push(t,n)}}function ae(e,t,n){if(0!=n.length){var i=t.length-2>>1;if(i>1])),!(n||a==e.sections.length||e.sections[a+1]<0);)s=e.sections[a++],l=e.sections[a++];t(r,c,o,u,h),r=c,o=u}}}function le(e,t,n,i){void 0===i&&(i=!1);for(var r=[],o=i?[]:null,a=new ue(e),s=new ue(t),l=-1;;){if(a.done&&s.len||s.done&&a.len)throw new Error("Mismatched change set lengths");if(-1==a.ins&&-1==s.ins)oe(r,c=Math.min(a.len,s.len),-1),a.forward(c),s.forward(c);else if(s.ins>=0&&(a.ins<0||l==a.i||0==a.off&&(s.len=0&&l=0)){if(a.done&&s.done)return o?re.createSet(r,o):ie.create(r);throw new Error("Mismatched change set lengths")}c=0;for(var h=a.len;h;)if(-1==s.ins){c+=u=Math.min(h,s.len),h-=u,s.forward(u)}else{if(!(0==s.ins&&s.lenl||a.ins>=0&&a.len>l)&&(s||i.length>c),o.forward2(l),a.forward(l)}else oe(i,0,a.ins,s),r&&ae(r,i,a.text),a.next()}}var ue=function(){function e(e){this.set=e,this.i=0,this.next()}return e.prototype.next=function(){var e=this.set.sections;this.i>1;return t>=e.length?q.empty:e[t]},enumerable:!1,configurable:!0}),e.prototype.textBit=function(e){var t=this.set.inserted,n=this.i-2>>1;return n>=t.length&&!e?q.empty:t[n].slice(this.off,null==e?void 0:this.off+e)},e.prototype.forward=function(e){e==this.len?this.next():(this.len-=e,this.off+=e)},e.prototype.forward2=function(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)},e}(),he=function(){function e(e,t,n){this.from=e,this.to=t,this.flags=n}return Object.defineProperty(e.prototype,"anchor",{get:function(){return 32&this.flags?this.to:this.from},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"head",{get:function(){return 32&this.flags?this.from:this.to},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"empty",{get:function(){return this.from==this.to},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"assoc",{get:function(){return 8&this.flags?-1:16&this.flags?1:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"bidiLevel",{get:function(){var e=7&this.flags;return 7==e?null:e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"goalColumn",{get:function(){var e=this.flags>>6;return 16777215==e?void 0:e},enumerable:!1,configurable:!0}),e.prototype.map=function(t,n){var i,r;return void 0===n&&(n=-1),this.empty?i=r=t.mapPos(this.from,n):(i=t.mapPos(this.from,1),r=t.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new e(i,r,this.flags)},e.prototype.extend=function(e,t){if(void 0===t&&(t=e),e<=this.anchor&&t>=this.anchor)return pe.range(e,t);var n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return pe.range(this.anchor,n)},e.prototype.eq=function(e,t){return void 0===t&&(t=!1),!(this.anchor!=e.anchor||this.head!=e.head||t&&this.empty&&this.assoc!=e.assoc)},e.prototype.toJSON=function(){return{anchor:this.anchor,head:this.head}},e.fromJSON=function(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return pe.range(e.anchor,e.head)},e.create=function(t,n,i){return new e(t,n,i)},e}(),pe=function(){function e(e,t){this.ranges=e,this.mainIndex=t}return e.prototype.map=function(t,n){return void 0===n&&(n=-1),t.empty?this:e.create(this.ranges.map((function(e){return e.map(t,n)})),this.mainIndex)},e.prototype.eq=function(e,t){if(void 0===t&&(t=!1),this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(var n=0;n=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new e(t.ranges.map((function(e){return he.fromJSON(e)})),t.main)},e.single=function(t,n){return void 0===n&&(n=t),new e([e.range(t,n)],0)},e.create=function(t,n){if(void 0===n&&(n=0),0==t.length)throw new RangeError("A selection needs at least one range");for(var i=0,r=0;re?8:0)|r)},e.normalized=function(t,n){void 0===n&&(n=0);var i=t[n];t.sort((function(e,t){return e.from-t.from})),n=t.indexOf(i);for(var r=1;ro.head?e.range(l,s):e.range(s,l))}}return new e(t,n)},e}();function de(e,t){for(var n=0,i=e.ranges;nt)throw new RangeError("Selection points outside of document")}}var fe=0,me=function(){function e(e,t,n,i,r){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=i,this.id=fe++,this.default=e([]),this.extensions="function"==typeof r?r(this):r}return Object.defineProperty(e.prototype,"reader",{get:function(){return this},enumerable:!1,configurable:!0}),e.define=function(t){return void 0===t&&(t={}),new e(t.combine||function(e){return e},t.compareInput||function(e,t){return e===t},t.compare||(t.combine?function(e,t){return e===t}:ve),!!t.static,t.enables)},e.prototype.of=function(e){return new ge([],this,0,e)},e.prototype.compute=function(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new ge(e,this,1,t)},e.prototype.computeN=function(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new ge(e,this,2,t)},e.prototype.from=function(e,t){return t||(t=function(e){return e}),this.compute([e],(function(n){return t(n.field(e))}))},e}();function ve(e,t){return e==t||e.length==t.length&&e.every((function(e,n){return e===t[n]}))}var ge=function(){function e(e,t,n,i){this.dependencies=e,this.facet=t,this.type=n,this.value=i,this.id=fe++}return e.prototype.dynamicSlot=function(e){for(var t,n=this,i=this.value,r=this.facet.compareInput,o=this.id,a=e[o]>>1,s=2==this.type,l=!1,c=!1,u=[],h=0,p=this.dependencies;h>1;return{create:function(e){return e.values[n]=t.create(e),1},update:function(e,i){var r=e.values[n],o=t.updateF(r,i);return t.compareF(r,o)?0:(e.values[n]=o,1)},reconfigure:function(e,i){return null!=i.config.address[t.id]?(e.values[n]=i.field(t),0):(e.values[n]=t.create(e),1)}}},e.prototype.init=function(e){return[this,we.of({field:this,create:e})]},Object.defineProperty(e.prototype,"extension",{get:function(){return this},enumerable:!1,configurable:!0}),e}(),Ce=4,Ee=3,Se=2,Me=1;function xe(e){return function(t){return new De(t,e)}}var Te={highest:xe(0),high:xe(Me),default:xe(Se),low:xe(Ee),lowest:xe(Ce)},De=function(e,t){this.inner=e,this.prec=t},Ae=function(){function e(){}return e.prototype.of=function(e){return new Pe(this,e)},e.prototype.reconfigure=function(t){return e.reconfigure.of({compartment:this,extension:t})},e.prototype.get=function(e){return e.config.compartments.get(this)},e}(),Pe=function(e,t){this.compartment=e,this.inner=t},Le=function(){function e(e,t,n,i,r,o){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=i,this.staticValues=r,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]},e.resolve=function(t,n,i){for(var r=[],o=Object.create(null),a=new Map,s=0,l=function(e,t,n){var i=[[],[],[],[],[]],r=new Map;function o(e,a){var s=r.get(e);if(null!=s){if(s<=a)return;var l=i[s].indexOf(e);l>-1&&i[s].splice(l,1),e instanceof Pe&&n.delete(e.compartment)}if(r.set(e,a),Array.isArray(e))for(var c=0,u=e;c>1;function s(e){for(var n=[],o=0;o>1,i=e.status[n];if(4==i)throw new Error("Cyclic dependency between fields and/or facets");if(2&i)return i;e.status[n]=4;var r=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|r}function Oe(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}var Fe=me.define(),Ne=me.define({combine:function(e){return e.some((function(e){return e}))},static:!0}),Re=me.define({combine:function(e){return e.length?e[0]:void 0},static:!0}),Be=me.define(),Ve=me.define(),He=me.define(),ze=me.define({combine:function(e){return!!e.length&&e[0]}}),qe=function(){function e(e,t){this.type=e,this.value=t}return e.define=function(){return new We},e}(),We=function(){function e(){}return e.prototype.of=function(e){return new qe(this,e)},e}(),je=function(){function e(e){this.map=e}return e.prototype.of=function(e){return new Ue(this,e)},e}(),Ue=function(){function e(e,t){this.type=e,this.value=t}return e.prototype.map=function(t){var n=this.type.map(this.value,t);return void 0===n?void 0:n==this.value?this:new e(this.type,n)},e.prototype.is=function(e){return this.type==e},e.define=function(e){return void 0===e&&(e={}),new je(e.map||function(e){return e})},e.mapEffects=function(e,t){if(!e.length)return e;for(var n=[],i=0,r=e;it.length&&n.slice(0,t.length)==t&&"."==n[t.length]))},e}();function Ge(e,t){for(var n=[],i=0,r=0;;){var o=void 0,a=void 0;if(i=e[i]))o=e[i++],a=e[i++];else{if(!(r=0;r--){var o=n[r](e);o&&Object.keys(o).length&&(i=Ke(i,Ye(t,o,e.changes.newLength),!0))}return i==e?e:_e.create(t,e.changes,e.selection,i.effects,i.annotations,i.scrollIntoView)}(n?function(e){for(var t=e.startState,n=!0,i=0,r=t.facet(Be);i=0;c--){var u;e=(u=l[c](e))instanceof _e?u:Array.isArray(u)&&1==u.length&&u[0]instanceof _e?u[0]:Ze(t,Qe(u),!1)}return e}(a):a)}_e.time=qe.define(),_e.userEvent=qe.define(),_e.addToHistory=qe.define(),_e.remote=qe.define();var Xe=[];function Qe(e){return null==e?Xe:Array.isArray(e)?e:[e]}var $e,Je=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(Je||(Je={})),et=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;try{$e=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}function tt(e){return function(t){if(!/\S/.test(t))return Je.Space;if(function(e){if($e)return $e.test(e);for(var t=0;t"€"&&(n.toUpperCase()!=n.toLowerCase()||et.test(n)))return!0}return!1}(t))return Je.Word;for(var n=0;n-1)return Je.Word;return Je.Other}}var nt=function(){function e(e,t,n,i,r,o){this.config=e,this.doc=t,this.selection=n,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=r,o&&(o._state=this);for(var a=0;an.length?e:n[i-1]}))),t},e.prototype.languageDataAt=function(e,t,n){void 0===n&&(n=-1);for(var i=[],r=0,o=this.facet(Fe);r0;){var l=Q(n,a,!1);if(o(n.slice(l,a))!=Je.Word)break;a=l}for(;s>1,l=r[s]-e||(n?this.value[s].endSide:this.value[s].startSide)-t;if(s==o)return l>=0?o:a;l>=0?a=s:o=s+1}},e.prototype.between=function(e,t,n,i){for(var r=this.findIndex(t,-1e9,!0),o=this.findIndex(n,1e9,!1,r);r(d=n.mapPos(h,c.endSide))||p==d&&c.startSide>0&&c.endSide<=0)continue;(d-p||c.endSide-c.startSide)<0||(a<0&&(a=p),c.point&&(s=Math.max(s,d-p)),i.push(c),r.push(p-a),o.push(d-a))}return{mapped:i.length?new e(r,o,i,s):null,pos:a}},e}(),lt=function(){function e(e,t,n,i){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=i}return e.create=function(t,n,i,r){return new e(t,n,i,r)},Object.defineProperty(e.prototype,"length",{get:function(){var e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"size",{get:function(){if(this.isEmpty)return 0;for(var e=this.nextLayer.size,t=0,n=this.chunk;t=0){var m=i[p++];f.addInner(m.from,m.to,m.value)||d.push(m)}else 1==h.rangeIndex&&h.chunkIndexthis.chunkEnd(h.chunkIndex)||ch.to||c=r&&e<=r+o.length&&!1===o.between(r,e-r,t-r,n))return}this.nextLayer.between(e,t,n)}},e.prototype.iter=function(e){return void 0===e&&(e=0),pt.from([this]).goto(e)},Object.defineProperty(e.prototype,"isEmpty",{get:function(){return this.nextLayer==this},enumerable:!1,configurable:!0}),e.iter=function(e,t){return void 0===t&&(t=0),pt.from(e).goto(t)},e.compare=function(e,t,n,i,r){void 0===r&&(r=-1);var o=e.filter((function(e){return e.maxPoint>0||!e.isEmpty&&e.maxPoint>=r})),a=t.filter((function(e){return e.maxPoint>0||!e.isEmpty&&e.maxPoint>=r})),s=ut(o,a,n),l=new ft(o,s,r),c=new ft(a,s,r);n.iterGaps((function(e,t,n){return mt(l,e,c,t,n,i)})),n.empty&&0==n.length&&mt(l,0,c,0,0,i)},e.eq=function(e,t,n,i){void 0===n&&(n=0),null==i&&(i=999999999);var r=e.filter((function(e){return!e.isEmpty&&t.indexOf(e)<0})),o=t.filter((function(t){return!t.isEmpty&&e.indexOf(t)<0}));if(r.length!=o.length)return!1;if(!r.length)return!0;for(var a=ut(r,o),s=new ft(r,a,0).goto(n),l=new ft(o,a,0).goto(n);;){if(s.to!=l.to||!vt(s.active,l.active)||s.point&&(!l.point||!s.point.eq(l.point)))return!1;if(s.to>i)return!0;s.next(),l.next()}},e.spans=function(e,t,n,i,r){void 0===r&&(r=-1);for(var o=new ft(e,null,r).goto(t),a=t,s=o.openStart;;){var l=Math.min(o.to,n);if(o.point){var c=o.activeForPoint(o.to),u=o.pointFroma&&(i.span(a,l,o.active,s),s=o.openEnd(l));if(o.to>n)return s+(o.point&&o.to>n?1:0);a=o.to,o.next()}},e.of=function(e,t){void 0===t&&(t=!1);for(var n=new ct,i=0,r=e instanceof ot?[e]:t?function(e){if(e.length>1)for(var t=e[0],n=1;n0)return e.slice().sort(at);t=i}return e}(e):e;i=0;i--)for(var r=t[i];r!=e.empty;r=r.nextLayer)n=new e(r.chunkPos,r.chunk,n,Math.max(r.maxPoint,n.maxPoint));return n},e}();lt.empty=new lt([],[],null,-1),lt.empty.nextLayer=lt.empty;var ct=function(){function e(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}return e.prototype.finishChunk=function(e){this.chunks.push(new st(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])},e.prototype.add=function(t,n,i){this.addInner(t,n,i)||(this.nextLayer||(this.nextLayer=new e)).add(t,n,i)},e.prototype.addInner=function(e,t,n){var i=e-this.lastTo||n.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(i<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)},e.prototype.addChunk=function(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);var n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0},e.prototype.finish=function(){return this.finishInner(lt.empty)},e.prototype.finishInner=function(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;var t=lt.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t},e}();function ut(e,t,n){for(var i=new Map,r=0,o=e;r=this.minPoint)break}},e.prototype.setRangeIndex=function(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&r.push(new ht(a,n,i,o));return 1==r.length?r[0]:new e(r)},Object.defineProperty(e.prototype,"startSide",{get:function(){return this.value?this.value.startSide:0},enumerable:!1,configurable:!0}),e.prototype.goto=function(e,t){void 0===t&&(t=-1e9);for(var n=0,i=this.heap;n>1;r>=0;r--)dt(this.heap,r);return this.next(),this},e.prototype.forward=function(e,t){for(var n=0,i=this.heap;n>1;r>=0;r--)dt(this.heap,r);(this.to-e||this.value.endSide-t)<0&&this.next()},e.prototype.next=function(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{var e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),dt(this.heap,0)}},e}();function dt(e,t){for(var n=e[t];;){var i=1+(t<<1);if(i>=e.length)break;var r=e[i];if(i+1=0&&(r=e[i+1],i++),n.compare(r)<0)break;e[i]=n,e[t]=r,t=i}}var ft=function(){function e(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=pt.from(e,t,n)}return e.prototype.goto=function(e,t){return void 0===t&&(t=-1e9),this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this},e.prototype.forward=function(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)},e.prototype.removeActive=function(e){gt(this.active,e),gt(this.activeTo,e),gt(this.activeRank,e),this.minActive=bt(this.active,this.activeTo)},e.prototype.addActive=function(e){for(var t=0,n=this.cursor,i=n.value,r=n.to,o=n.rank;t0;)t++;yt(this.active,t,i),yt(this.activeTo,t,r),yt(this.activeRank,t,o),e&&yt(e,t,this.cursor.from),this.minActive=bt(this.active,this.activeTo)},e.prototype.next=function(){var e=this.to,t=this.point;this.point=null;for(var n=this.openStart<0?[]:null;;){var i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>e){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),n&>(n,i)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}var r=this.cursor.value;if(r.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from=0&&n[o]=0&&!(this.activeRank[n]e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()},e.prototype.openEnd=function(e){for(var t=0,n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t},e}();function mt(e,t,n,i,r,o){e.goto(t),n.goto(i);for(var a=i+r,s=i,l=i-t;;){var c=e.to+l-n.to,u=c||e.endSide-n.endSide,h=u<0?e.to+l:n.to,p=Math.min(h,a);if(e.point||n.point?e.point&&n.point&&(e.point==n.point||e.point.eq(n.point))&&vt(e.activeForPoint(e.to),n.activeForPoint(n.to))||o.comparePoint(s,p,e.point,n.point):p>s&&!vt(e.active,n.active)&&o.compareRange(s,p,e.active,n.active),h>a)break;(c||e.openEnd!=n.openEnd)&&o.boundChange&&o.boundChange(h),s=h,u<=0&&e.next(),u>=0&&n.next()}}function vt(e,t){if(e.length!=t.length)return!1;for(var n=0;n=t;i--)e[i+1]=e[i];e[t]=n}function bt(e,t){for(var n=-1,i=1e9,r=0;r=t)return r;if(r==e.length)break;o+=9==e.charCodeAt(r)?n-o%n:1,r=Q(e,r)}return!0===i?-1:e.length}const Ct="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),Et="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),St="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class Mt{constructor(e,t){this.rules=[];let{finish:n}=t||{};function i(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function r(e,t,o,a){let s=[],l=/^@(\w+)\b/.exec(e[0]),c=l&&"keyframes"==l[1];if(l&&null==t)return o.push(e[0]+";");for(let n in t){let a=t[n];if(/&/.test(n))r(n.split(/,\s*/).map((t=>e.map((e=>t.replace(/&/,e))))).reduce(((e,t)=>e.concat(t))),a,o);else if(a&&"object"==typeof a){if(!l)throw new RangeError("The value of a property ("+n+") should be a primitive value.");r(i(n),a,s,c)}else null!=a&&s.push(n.replace(/_.*/,"").replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))+": "+a+";")}(s.length||c)&&o.push((!n||l||a?e:e.map(n)).join(", ")+" {"+s.join(" ")+"}")}for(let t in e)r(i(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=St[Ct]||1;return St[Ct]=e+1,"ͼ"+e.toString(36)}static mount(e,t,n){let i=e[Et],r=n&&n.nonce;i?r&&i.setNonce(r):i=new Tt(e,r),i.mount(Array.isArray(t)?t:[t],e)}}let xt=new Map;class Tt{constructor(e,t){let n=e.ownerDocument||e,i=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let t=xt.get(n);if(t)return e[Et]=t;this.sheet=new i.CSSStyleSheet,xt.set(n,this)}else this.styleTag=n.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Et]=this}mount(e,t){let n=this.sheet,i=0,r=0;for(let t=0;t-1&&(this.modules.splice(a,1),r--,a=-1),-1==a){if(this.modules.splice(r++,0,o),n)for(let e=0;e",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Pt="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),Lt="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),It=0;It<10;It++)Dt[48+It]=Dt[96+It]=String(It);for(It=1;It<=24;It++)Dt[It+111]="F"+It;for(It=65;It<=90;It++)Dt[It]=String.fromCharCode(It+32),At[It]=String.fromCharCode(It);for(var Ot in Dt)At.hasOwnProperty(Ot)||(At[Ot]=Dt[Ot]);function Ft(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&"object"==typeof n&&null==n.nodeType&&!Array.isArray(n)){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i];"string"==typeof r?e.setAttribute(i,r):null!=r&&(e[i]=r)}t++}for(;t2),Kt={mac:Gt||/Mac/.test(Rt.platform),windows:/Win/.test(Rt.platform),linux:/Linux|X11/.test(Rt.platform),ie:qt,ie_version:Ht?Bt.documentMode||6:zt?+zt[1]:Vt?+Vt[1]:0,gecko:Wt,gecko_version:Wt?+(/Firefox\/(\d+)/.exec(Rt.userAgent)||[0,0])[1]:0,chrome:!!jt,chrome_version:jt?+jt[1]:0,ios:Gt,android:/Android\b/.test(Rt.userAgent),webkit_version:Ut?+(/\bAppleWebKit\/(\d+)/.exec(Rt.userAgent)||[0,0])[1]:0,safari:_t,safari_version:_t?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Rt.userAgent)||[0,0])[1]:0,tabSize:null!=Bt.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};function Yt(e){return(11==e.nodeType?e.getSelection?e:e.ownerDocument:e).getSelection()}function Zt(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function Xt(e,t){if(!t||!t.anchorNode)return!1;try{return Zt(e,t.anchorNode)}catch(e){return!1}}function Qt(e){return 3==e.nodeType?hn(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function $t(e,t,n,i){return!!n&&(tn(e,t,n,i,-1)||tn(e,t,n,i,1))}function Jt(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function en(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}function tn(e,t,n,i,r){for(;;){if(e==n&&t==i)return!0;if(t==(r<0?0:nn(e))){if("DIV"==e.nodeName)return!1;var o=e.parentNode;if(!o||1!=o.nodeType)return!1;t=Jt(e)+(r<0?0:1),e=o}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(r<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=r<0?nn(e):0}}}function nn(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function rn(e,t){var n=t?e.left:e.right;return{left:n,right:n,top:e.top,bottom:e.bottom}}function on(e){var t=e.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function an(e,t){var n=t.width/e.offsetWidth,i=t.height/e.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||Math.abs(t.width-e.offsetWidth)<1)&&(n=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(t.height-e.offsetHeight)<1)&&(i=1),{scaleX:n,scaleY:i}}var sn,ln=function(){function e(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}return e.prototype.eq=function(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset},e.prototype.setRange=function(e){var t=e.anchorNode,n=e.focusNode;this.set(t,Math.min(e.anchorOffset,t?nn(t):0),n,Math.min(e.focusOffset,n?nn(n):0))},e.prototype.set=function(e,t,n,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=i},e}(),cn=null;function un(e){if(e.setActive)return e.setActive();if(cn)return e.focus(cn);for(var t=[],n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(null==cn?{get preventScroll(){return cn={preventScroll:!0},!0}}:void 0),!cn){cn=!1;for(var i=0;iMath.max(1,e.scrollHeight-e.clientHeight-4)}function mn(e,t){for(var n=e,i=t;;){if(3==n.nodeType&&i>0)return{node:n,offset:i};if(1==n.nodeType&&i>0){if("false"==n.contentEditable)return null;i=nn(n=n.childNodes[i-1])}else{if(!n.parentNode||en(n))return null;i=Jt(n),n=n.parentNode}}}function vn(e,t){for(var n=e,i=t;;){if(3==n.nodeType&&i=26&&(cn=!1);var gn=function(){function e(e,t,n){void 0===n&&(n=!0),this.node=e,this.offset=t,this.precise=n}return e.before=function(t,n){return new e(t.parentNode,Jt(t),n)},e.after=function(t,n){return new e(t.parentNode,Jt(t)+1,n)},e}(),yn=[],bn=function(){function e(){this.parent=null,this.dom=null,this.flags=2}return Object.defineProperty(e.prototype,"overrideDOMText",{get:function(){return null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"posAtStart",{get:function(){return this.parent?this.parent.posBefore(this):0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"posAtEnd",{get:function(){return this.posAtStart+this.length},enumerable:!1,configurable:!0}),e.prototype.posBefore=function(e){for(var t=this.posAtStart,n=0,i=this.children;nt)return u.domBoundsAround(e,t,l);if(h>=e&&-1==i&&(i=s,r=l),l>t&&u.dom.parentNode==this.dom){o=s,a=c;break}c=h,l=h+u.breakAfter}return{from:r,to:a<0?n+this.length:a,startDOM:(i?this.children[i-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o=0?this.children[o].dom:null}},e.prototype.markDirty=function(e){void 0===e&&(e=!1),this.flags|=2,this.markParentsDirty(e)},e.prototype.markParentsDirty=function(e){for(var t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),1&t.flags)return;t.flags|=1,e=!1}},e.prototype.setParent=function(e){this.parent!=e&&(this.parent=e,7&this.flags&&this.markParentsDirty(!0))},e.prototype.setDOM=function(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)},Object.defineProperty(e.prototype,"rootView",{get:function(){for(var e=this;;){var t=e.parent;if(!t)return e;e=t}},enumerable:!1,configurable:!0}),e.prototype.replaceChildren=function(e,t,n){var i;void 0===n&&(n=yn),this.markDirty();for(var r=e;rthis.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;var n=this.children[--this.i];this.pos-=n.length+n.breakAfter}},e}();function Cn(e,t,n,i,r,o,a,s,l){var c=e.children,u=c.length?c[t]:null,h=o.length?o[o.length-1]:null,p=h?h.breakAfter:a;if(!(t==i&&u&&!a&&!p&&o.length<2&&u.merge(n,r,o.length?h:null,0==n,s,l))){if(i0&&(!a&&o.length&&u.merge(n,u.length,o[0],!1,s,0)?u.breakAfter=o.shift().breakAfter:(n256||8&i.flags))&&(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(n),this.markDirty(),!0)},t.prototype.split=function(e){var n=new t(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),n.flags|=8&this.flags,n},t.prototype.localPosFromDOM=function(e,t){return e==this.dom?t:t?this.text.length:0},t.prototype.domAtPos=function(e){return new gn(this.dom,e)},t.prototype.domBoundsAround=function(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}},t.prototype.coordsAt=function(e,t){return function(e,t,n){var i=e.nodeValue.length;t>i&&(t=i);var r=t,o=t,a=0;0==t&&n<0||t==i&&n>=0?Kt.chrome||Kt.gecko||(t?(r--,a=1):o=0)?0:s.length-1];Kt.safari&&!a&&0==l.width&&(l=Array.prototype.find.call(s,(function(e){return e.width}))||l);return a?rn(l,a<0):l||null}(this.dom,e,t)},t}(bn),Mn=function(e){function t(t,n,i){void 0===n&&(n=[]),void 0===i&&(i=0);var r=e.call(this)||this;r.mark=t,r.children=n,r.length=i;for(var o=0,a=n;oe&&n.push(i=e&&(r=o),i=c,o++}var u=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new t(this.mark,n,u)},t.prototype.domAtPos=function(e){return Dn(this,e)},t.prototype.coordsAt=function(e,t){return Pn(this,e,t)},t}(bn);var xn=function(e){function t(t,n,i){var r=e.call(this)||this;return r.widget=t,r.length=n,r.side=i,r.prevWidget=null,r}return m(t,e),t.create=function(e,n,i){return new t(e,n,i)},t.prototype.split=function(e){var n=t.create(this.widget,this.length-e,this.side);return this.length-=e,n},t.prototype.sync=function(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))},t.prototype.getSide=function(){return this.side},t.prototype.merge=function(e,n,i,r,o,a){return!(i&&(!(i instanceof t&&this.widget.compare(i.widget))||e>0&&o<=0||n0)?gn.before(this.dom):gn.after(this.dom,e==this.length)},t.prototype.domBoundsAround=function(){return null},t.prototype.coordsAt=function(e,t){var n=this.widget.coordsAt(this.dom,e,t);if(n)return n;var i=this.dom.getClientRects(),r=null;if(!i.length)return null;for(var o=this.side?this.side<0:e>0,a=o?i.length-1:0;r=i[a],!(e>0?0==a:a==i.length-1||r.top0?gn.before(this.dom):gn.after(this.dom)},t.prototype.localPosFromDOM=function(){return 0},t.prototype.domBoundsAround=function(){return null},t.prototype.coordsAt=function(e){return this.dom.getBoundingClientRect()},Object.defineProperty(t.prototype,"overrideDOMText",{get:function(){return q.empty},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isHidden",{get:function(){return!0},enumerable:!1,configurable:!0}),t}(bn);function Dn(e,t){for(var n=e.dom,i=e.children,r=0,o=0;ro&&t0;l--){var c=i[l-1];if(c.dom.parentNode==n)return c.domAtPos(c.length)}for(l=r;l0&&t instanceof Mn&&r.length&&(i=r[r.length-1])instanceof Mn&&i.mark.eq(t.mark)?An(i,t.children[0],n-1):(r.push(t),t.setParent(e)),e.length+=t.length}function Pn(e,t,n){var i=null,r=-1,o=null,a=-1;!function e(t,s){for(var l=0,c=0;l=s&&(u.children.length?e(u,s-c):(!o||o.isHidden&&(n>0||(p=u,d=void 0,f=void 0,d=o.coordsAt(0,1),f=p.coordsAt(0,1),d&&f&&f.tops||c==h&&u.getSide()>0)?(o=u,a=s-c):(c-1?1:0)!=r.length-(n&&r.indexOf(n)>-1?1:0))return!1;for(var o=0,a=i;o0?3e8:-4e8:t>0?1e8:-1e8,new qn(e,t,t,n,e.widget||null,!1)},t.replace=function(e){var t,n,i=!!e.block;if(e.isBlockGap)t=-5e8,n=4e8;else{var r=Wn(e,i);t=(r.start?i?-3e8:-1:5e8)-1,n=1+(r.end?i?2e8:1:-6e8)}return new qn(e,t,n,i,e.widget||null,!0)},t.line=function(e){return new zn(e)},t.set=function(e,t){return void 0===t&&(t=!1),lt.of(e,t)},t.prototype.hasHeight=function(){return!!this.widget&&this.widget.estimatedHeight>-1},t}(rt);Vn.none=lt.empty;var Hn=function(e){function t(t){var n=this,i=Wn(t),r=i.start,o=i.end;return(n=e.call(this,r?-1:5e8,o?1:-6e8,null,t)||this).tagName=t.tagName||"span",n.class=t.class||"",n.attrs=t.attributes||null,n}return m(t,e),t.prototype.eq=function(e){var n,i;return this==e||e instanceof t&&this.tagName==e.tagName&&(this.class||(null===(n=this.attrs)||void 0===n?void 0:n.class))==(e.class||(null===(i=e.attrs)||void 0===i?void 0:i.class))&&On(this.attrs,e.attrs,"class")},t.prototype.range=function(t,n){if(void 0===n&&(n=t),t>=n)throw new RangeError("Mark decorations may not be empty");return e.prototype.range.call(this,t,n)},t}(Vn);Hn.prototype.point=!1;var zn=function(e){function t(t){return e.call(this,-2e8,-2e8,null,t)||this}return m(t,e),t.prototype.eq=function(e){return e instanceof t&&this.spec.class==e.spec.class&&On(this.spec.attributes,e.spec.attributes)},t.prototype.range=function(t,n){if(void 0===n&&(n=t),n!=t)throw new RangeError("Line decoration ranges must be zero-length");return e.prototype.range.call(this,t,n)},t}(Vn);zn.prototype.mapMode=ne.TrackBefore,zn.prototype.point=!0;var qn=function(e){function t(t,n,i,r,o,a){var s=e.call(this,n,i,o,t)||this;return s.block=r,s.isReplace=a,s.mapMode=r?n<=0?ne.TrackBefore:ne.TrackAfter:ne.TrackDel,s}return m(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return this.startSide!=this.endSide?Bn.WidgetRange:this.startSide<=0?Bn.WidgetBefore:Bn.WidgetAfter},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"heightRelevant",{get:function(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)},enumerable:!1,configurable:!0}),t.prototype.eq=function(e){return e instanceof t&&(n=this.widget,i=e.widget,n==i||!!(n&&i&&n.compare(i)))&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide;var n,i},t.prototype.range=function(t,n){if(void 0===n&&(n=t),this.isReplace&&(t>n||t==n&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&n!=t)throw new RangeError("Widget decorations can only have zero-length ranges");return e.prototype.range.call(this,t,n)},t}(Vn);function Wn(e,t){void 0===t&&(t=!1);var n=e.inclusiveStart,i=e.inclusiveEnd;return null==n&&(n=e.inclusive),null==i&&(i=e.inclusive),{start:null!=n?n:t,end:null!=i?i:t}}function jn(e,t,n,i){void 0===i&&(i=0);var r=n.length-1;r>=0&&n[r]+i>=e?n[r]=Math.max(n[r],t):n.push(e,t)}qn.prototype.point=!0;var Un=function(e){function t(){var t=e.apply(this,arguments)||this;return t.children=[],t.length=0,t.prevAttrs=void 0,t.attrs=null,t.breakAfter=0,t}return m(t,e),t.prototype.merge=function(e,n,i,r,o,a){if(i){if(!(i instanceof t))return!1;this.dom||i.transferDOM(this)}return r&&this.setDeco(i?i.attrs:null),En(this,e,n,i?i.children.slice():[],o,a),!0},t.prototype.split=function(e){var n=new t;if(n.breakAfter=this.breakAfter,0==this.length)return n;var i=this.childPos(e),r=i.i,o=i.off;o&&(n.append(this.children[r].split(o),0),this.children[r].merge(o,this.children[r].length,null,!1,0,0),r++);for(var a=r;a0&&0==this.children[r-1].length;)this.children[--r].destroy();return this.children.length=r,this.markDirty(),this.length=e,n},t.prototype.transferDOM=function(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)},t.prototype.setDeco=function(e){On(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)},t.prototype.append=function(e,t){An(this,e,t)},t.prototype.addLineDeco=function(e){var t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=Ln(t,this.attrs||{})),n&&(this.attrs=Ln({class:n},this.attrs||{}))},t.prototype.domAtPos=function(e){return Dn(this,e)},t.prototype.reuseDOM=function(e){"DIV"==e.nodeName&&e.classList.contains("cm-view")&&(this.setDOM(e),this.flags|=6)},t.prototype.sync=function(t,n){var i;this.dom?4&this.flags&&(dn(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(Fn(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),e.prototype.sync.call(this,t,n);for(var r=this.dom.lastChild;r&&bn.get(r)instanceof Mn;)r=r.lastChild;if(!(r&&this.length&&("BR"==r.nodeName||0!=(null===(i=bn.get(r))||void 0===i?void 0:i.isEditable)||Kt.ios&&this.children.some((function(e){return e instanceof Sn}))))){var o=document.createElement("BR");o.cmIgnore=!0,this.dom.appendChild(o)}},t.prototype.measureTextSize=function(){if(0==this.children.length||this.length>20)return null;for(var e,t=0,n=0,i=this.children;n=n){if(o instanceof t)return o;if(a>n)break}r=a+o.breakAfter}return null},t}(bn),_n=function(e){function t(t,n,i){var r=e.call(this)||this;return r.widget=t,r.length=n,r.deco=i,r.breakAfter=0,r.prevWidget=null,r}return m(t,e),t.prototype.merge=function(e,n,i,r,o,a){return!(i&&(!(i instanceof t&&this.widget.compare(i.widget))||e>0&&o<=0||n0)},t}(bn),Gn=function(e){function t(t){var n=e.call(this)||this;return n.height=t,n}return m(t,e),t.prototype.toDOM=function(){var e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e},t.prototype.eq=function(e){return e.height==this.height},t.prototype.updateDOM=function(e){return e.style.height=this.height+"px",!0},Object.defineProperty(t.prototype,"editable",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"estimatedHeight",{get:function(){return this.height},enumerable:!1,configurable:!0}),t.prototype.ignoreEvent=function(){return!1},t}(Rn),Kn=function(){function e(e,t,n,i){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=i,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}return e.prototype.posCovered=function(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;var e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof _n&&e.deco.endSide<0)},e.prototype.getLine=function(){return this.curLine||(this.content.push(this.curLine=new Un),this.atCursorPos=!0),this.curLine},e.prototype.flushBuffer=function(e){void 0===e&&(e=this.bufferMarks),this.pendingBuffer&&(this.curLine.append(Yn(new Tn(-1),e),e.length),this.pendingBuffer=0)},e.prototype.addBlockWidget=function(e){this.flushBuffer(),this.curLine=null,this.content.push(e)},e.prototype.finish=function(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||e&&this.content.length&&this.content[this.content.length-1]instanceof _n||this.getLine()},e.prototype.buildText=function(e,t,n){for(;e>0;){if(this.textOff==this.text.length){var i=this.cursor.next(this.skip),r=i.value,o=i.lineBreak,a=i.done;if(this.skip=0,a)throw new Error("Ran out of text content when drawing inline views");if(o){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=r,this.textOff=0}var s=Math.min(this.text.length-this.textOff,e),l=Math.min(s,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(Yn(new Sn(this.text.slice(this.textOff,this.textOff+l)),t),n),this.atCursorPos=!0,this.textOff+=l,e-=l,n=s<=l?0:t.length}},e.prototype.span=function(e,t,n,i){this.buildText(t-e,n,i),this.pos=t,this.openStart<0&&(this.openStart=i)},e.prototype.point=function(e,t,n,i,r,o){if(this.disallowBlockEffectsFor[o]&&n instanceof qn){if(n.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}var a=t-e;if(n instanceof qn)if(n.block)n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new _n(n.widget||Zn.block,a,n));else{var s=xn.create(n.widget||Zn.inline,a,a?0:n.startSide),l=this.atCursorPos&&!s.isEditable&&r<=i.length&&(e0),c=!s.isEditable&&(ei.length||n.startSide<=0),u=this.getLine();2!=this.pendingBuffer||l||s.isEditable||(this.pendingBuffer=0),this.flushBuffer(i),l&&(u.append(Yn(new Tn(1),i),r),r=i.length+Math.max(0,r-i.length)),u.append(Yn(s,i),r),this.atCursorPos=c,this.pendingBuffer=c?ei.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=i.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=r)},e.build=function(t,n,i,r,o){var a=new e(t,n,i,o);return a.openEnd=lt.spans(r,n,i,a),a.openStart<0&&(a.openStart=a.openEnd),a.finish(a.openEnd),a},e}();function Yn(e,t){for(var n=0,i=t;n=t){if(a.level==n)return o;(r<0||(0!=i?i<0?a.fromt:e[r].level>a.level))&&(r=o)}}if(r<0)throw new RangeError("Index out of range");return r},e}();function pi(e,t){if(e.length!=t.length)return!1;for(var n=0;nl&&a.push(new hi(l,m.from,d)),mi(e,m.direction==Qn!=!(d%2)?i+1:i,r,m.inner,m.from,m.to,a),l=m.to;f=m.to}else{if(f==n||(u?di[f]!=s:di[f]==s))break;f++}p?fi(e,l,f,i+1,r,p,a):lt;){var y;u=!0,h=!1;if(!c||l>o[c-1].to)(y=di[l-1])!=s&&(u=!1,h=16==y);p=u||1!=s?null:[],d=u?i:i+1,f=l;e:for(;;)if(c&&f==o[c-1].to){if(h)break e;m=o[--c];if(!u)for(v=m.from,g=c;;){if(v==t)break e;if(!g||o[g-1].to!=v){if(di[v-1]==s)break e;break}v=o[--g].from}if(p)p.push(m);else m.to=0;m-=3)if(ii[m+1]==-d){var v=ii[m+2],g=2&v?r:4&v?1&v?o:r:0;g&&(di[h]=di[ii[m]]=g),s=m;break}}else{if(189==ii.length)break;ii[s++]=h,ii[s++]=p,ii[s++]=l}else if(2==(f=di[h])||1==f){var y=f==r;for(l=y?0:1,m=s-3;m>=0;m-=3){var b=ii[m+2];if(2&b)break;if(y)ii[m+2]|=2;else{if(4&b)break;ii[m+2]|=4}}}}(e,r,o,i,s),function(e,t,n,i){for(var r=0,o=i;r<=n.length;r++)for(var a=r?n[r-1].to:e,s=rl;)d==m&&(d=n[--f].from,m=f?n[f-1].to:e),di[--d]=p;l=u}else o=c,l++}}(r,o,i,s),fi(e,r,o,t,n,i,a)}function vi(e,t,n){if(!e)return[new hi(0,0,t==$n?1:0)];if(t==Qn&&!n.length&&!ui.test(e))return gi(e.length);if(n.length)for(;e.length>di.length;)di[di.length]=256;var i=[],r=t==Qn?0:1;return mi(e,r,r,n,0,e.length,i),i}function gi(e){return[new hi(0,e,0)]}var yi="";function bi(e,t,n,i,r){var o,a=i.head-e.from,s=hi.find(t,a,null!==(o=i.bidiLevel)&&void 0!==o?o:-1,i.assoc),l=t[s],c=l.side(r,n);if(a==c){var u=s+=r?1:-1;if(u<0||u>=t.length)return null;a=(l=t[s=u]).side(!r,n),c=l.side(r,n)}var h=Q(e.text,a,l.forward(r,n));(hl.to)&&(h=c),yi=e.text.slice(Math.min(a,h),Math.max(a,h));var p=s==(r?t.length-1:0)?null:t[s+(r?1:-1)];return p&&h==c&&p.level+(r?0:1)=0;c--,o--){var u=i[c].spec.bidiIsolate,h=void 0;if(null==u&&(u=wi(t.text,a,s)),o>0&&l.length&&(h=l[l.length-1]).to==a&&h.direction==u)h.to=s,l=h.inner;else{var p={from:a,to:s,direction:u,inner:[]};l.push(p),l=p.inner}}}}),r}var Zi=me.define();function Xi(e){for(var t=0,n=0,i=0,r=0,o=0,a=e.state.facet(Zi);o0;t--){var i=e[t-1];if(!(i.fromA>n.toA)){if(i.toAu)break;o+=2}if(!l)return i;new e(l.fromA,l.toA,l.fromB,l.toB).addToSet(i),a=l.toA,s=l.toB}},e}(),Ji=function(){function e(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=re.empty(this.startState.doc.length);for(var i=0,r=n;i0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"viewportMoved",{get:function(){return(8&this.flags)>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"heightChanged",{get:function(){return(2&this.flags)>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"geometryChanged",{get:function(){return this.docChanged||(18&this.flags)>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"focusChanged",{get:function(){return(1&this.flags)>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"docChanged",{get:function(){return!this.changes.empty},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selectionSet",{get:function(){return this.transactions.some((function(e){return e.selection}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"empty",{get:function(){return 0==this.flags&&0==this.transactions.length},enumerable:!1,configurable:!0}),e}(),er=function(e){function t(t){var n=e.call(this)||this;return n.view=t,n.decorations=[],n.dynamicDecorationMap=[!1],n.domChanged=null,n.hasComposition=null,n.markedForComposition=new Set,n.editContextFormatting=Vn.none,n.lastCompositionAfterCursor=!1,n.minWidth=0,n.minWidthFrom=0,n.minWidthTo=0,n.impreciseAnchor=null,n.impreciseHead=null,n.forceSelection=!1,n.lastUpdate=Date.now(),n.setDOM(t.contentDOM),n.children=[new Un],n.children[0].setParent(n),n.updateDeco(),n.updateInner([new $i(0,0,0,t.state.doc.length)],0,null),n}return m(t,e),Object.defineProperty(t.prototype,"length",{get:function(){return this.view.state.doc.length},enumerable:!1,configurable:!0}),t.prototype.update=function(e){var t,n=this,i=e.changedRanges;this.minWidth>0&&i.length&&(i.every((function(e){var t=e.fromA;return e.toAn.minWidthTo}))?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);var r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?r=this.domChanged.newSel.head:function(e,t){var n=!1;t&&e.iterChangedRanges((function(e,i){et.from&&(n=!0)}));return n}(e.changes,this.hasComposition)||e.selectionSet||(r=e.state.selection.main.head));var o=r>-1?function(e,t,n){var i=tr(e,n);if(!i)return null;var r=i.node,o=i.from,a=i.to,s=r.nodeValue;if(/[\n\r]/.test(s))return null;if(e.state.doc.sliceString(i.from,i.to)!=s)return null;for(var l=t.invertedDesc,c=new $i(l.mapPos(o),l.mapPos(a),o,a),u=[],h=r.parentNode;;h=h.parentNode){var p=bn.get(h);if(p instanceof Mn)u.push({node:h,deco:p.mark});else{if(p instanceof Un||"DIV"==h.nodeName&&h.parentNode==e.contentDOM)return{range:c,text:r,marks:u,line:h};if(h==e.contentDOM)return null;u.push({node:h,deco:new Hn({inclusive:!0,attributes:Nn(h),tagName:h.tagName.toLowerCase()})})}}}(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();var a=this.hasComposition,s=a.from,l=a.to;i=new $i(s,l,e.changes.mapPos(s,-1),e.changes.mapPos(l,1)).addToSet(i.slice())}this.hasComposition=o?{from:o.range.fromB,to:o.range.toB}:null,(Kt.ie||Kt.chrome)&&!o&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);var c,u,h,p,d=this.decorations,f=this.updateDeco(),m=(c=d,u=f,h=e.changes,p=new nr,lt.compare(c,u,h,p),p.changes);return i=$i.extendWithRanges(i,m),!!(7&this.flags||0!=i.length)&&(this.updateInner(i,e.startState.doc.length,o),e.transactions.length&&(this.lastUpdate=Date.now()),!0)},t.prototype.updateInner=function(e,t,n){var i=this;this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);var r=this.view.observer;r.ignore((function(){i.dom.style.height=i.view.viewState.contentHeight/i.view.scaleY+"px",i.dom.style.flexBasis=i.minWidth?i.minWidth+"px":"";var e=Kt.chrome||Kt.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;i.sync(i.view,e),i.flags&=-8,e&&(e.written||r.selectionRange.focusNode!=e.node)&&(i.forceSelection=!0),i.dom.style.height=""})),this.markedForComposition.forEach((function(e){return e.flags&=-9}));var o=[];if(this.view.viewport.from||this.view.viewport.to=0?r[a]:null;if(!s)break;var l=s.fromA,c=s.toA,u=s.fromB,h=s.toB,p=void 0,d=void 0,f=void 0,m=void 0;if(n&&n.range.fromBu){var v=Kn.build(this.view.state.doc,u,n.range.fromB,this.decorations,this.dynamicDecorationMap),g=Kn.build(this.view.state.doc,n.range.toB,h,this.decorations,this.dynamicDecorationMap);d=v.breakAtStart,f=v.openStart,m=g.openEnd;var y=this.compositionView(n);g.breakAtStart?y.breakAfter=1:g.content.length&&y.merge(y.length,y.length,g.content[0],!1,g.openStart,0)&&(y.breakAfter=g.content[0].breakAfter,g.content.shift()),v.content.length&&y.merge(0,0,v.content[v.content.length-1],!0,0,v.openEnd)&&v.content.pop(),p=v.content.concat(y).concat(g.content)}else p=(i=Kn.build(this.view.state.doc,u,h,this.decorations,this.dynamicDecorationMap)).content,d=i.breakAtStart,f=i.openStart,m=i.openEnd;var b=o.findPos(c,1),w=b.i,k=b.off,C=o.findPos(l,-1);Cn(this,C.i,C.off,w,k,p,d,f,m)}n&&this.fixCompositionDOM(n)},t.prototype.updateEditContextFormatting=function(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(var t=0,n=e.transactions;t=-1;o--)i=r.childPos(i.off,1),r=r.children[i.i],n(o>=0?e.marks[o].node:e.text,r)},t.prototype.updateSelection=function(e,t){var n=this;void 0===e&&(e=!1),void 0===t&&(t=!1),!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();var i=this.view.root.activeElement,r=i==this.dom,o=!r&&!(this.view.state.facet(Bi)||this.dom.tabIndex>-1)&&Xt(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(r||t||o){var a=this.forceSelection;this.forceSelection=!1;var s=this.view.state.selection.main,l=this.moveToLine(this.domAtPos(s.anchor)),c=s.empty?l:this.moveToLine(this.domAtPos(s.head));if(Kt.gecko&&s.empty&&!this.hasComposition&&function(e){return 1==e.node.nodeType&&e.node.firstChild&&(0==e.offset||"false"==e.node.childNodes[e.offset-1].contentEditable)&&(e.offset==e.node.childNodes.length||"false"==e.node.childNodes[e.offset].contentEditable)}(l)){var u=document.createTextNode("");this.view.observer.ignore((function(){return l.node.insertBefore(u,l.node.childNodes[l.offset]||null)})),l=c=new gn(u,0),a=!0}var h=this.view.observer.selectionRange;!a&&h.focusNode&&($t(l.node,l.offset,h.anchorNode,h.anchorOffset)&&$t(c.node,c.offset,h.focusNode,h.focusOffset)||this.suppressWidgetCursorChange(h,s))||(this.view.observer.ignore((function(){var e;Kt.android&&Kt.chrome&&n.dom.contains(h.focusNode)&&function(e,t){for(var n=e;n&&n!=t;n=n.assignedSlot||n.parentNode)if(1==n.nodeType&&"false"==n.contentEditable)return!0;return!1}(h.focusNode,n.dom)&&(n.dom.blur(),n.dom.focus({preventScroll:!0}));var t,r,a=Yt(n.view.root);if(a)if(s.empty){if(Kt.gecko){var u=(t=l.node,r=l.offset,1!=t.nodeType?0:(r&&"false"==t.childNodes[r-1].contentEditable?1:0)|(rs.head&&(l=(e=[c,l])[0],c=e[1]),d.setEnd(c.node,c.offset),d.setStart(l.node,l.offset),a.removeAllRanges(),a.addRange(d)}else;o&&n.view.root.activeElement==n.dom&&(n.dom.blur(),i&&i.focus())})),this.view.observer.setSelectionRange(l,c)),this.impreciseAnchor=l.precise?null:new gn(h.anchorNode,h.anchorOffset),this.impreciseHead=c.precise?null:new gn(h.focusNode,h.focusOffset)}},t.prototype.suppressWidgetCursorChange=function(e,t){return this.hasComposition&&t.empty&&$t(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head},t.prototype.enforceCursorAssoc=function(){if(!this.hasComposition){var e=this.view,t=e.state.selection.main,n=Yt(e.root),i=e.observer.selectionRange,r=i.anchorNode,o=i.anchorOffset;if(n&&t.empty&&t.assoc&&n.modify){var a=Un.find(this,t.head);if(a){var s=a.posAtStart;if(t.head!=s&&t.head!=s+a.length){var l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(l&&c&&!(l.bottom>c.top)){var u=this.domAtPos(t.head+t.assoc);n.collapse(u.node,u.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();var h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&n.collapse(r,o)}}}}}},t.prototype.moveToLine=function(e){var t,n=this.dom;if(e.node!=n)return e;for(var i=e.offset;!t&&i=0;i--){var r;(r=bn.get(n.childNodes[i]))instanceof Un&&(t=r.domAtPos(r.length))}return t?new gn(t.node,t.offset,!0):e},t.prototype.nearest=function(e){for(var t=e;t;){var n=bn.get(t);if(n&&n.rootView==this)return n;t=t.parentNode}return null},t.prototype.posFromDOM=function(e,t){var n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart},t.prototype.domAtPos=function(e){for(var t=this.childCursor().findPos(e,-1),n=t.i,i=t.off;n=0;o--){var a=this.children[o],s=r-a.breakAfter,l=s-a.length;if(se||a.covers(1))&&(!n||a instanceof Un&&!(n instanceof Un&&t>=0)))n=a,i=l;else if(n&&l==e&&s==e&&a instanceof _n&&Math.abs(t)<2){if(a.deco.startSide<0)break;o&&(n=null)}r=l}return n?n.coordsAt(e-i,t):null},t.prototype.coordsForChar=function(e){var t=this.childPos(e,1),n=t.i,i=t.off,r=this.children[n];if(!(r instanceof Un))return null;for(;r.children.length;){for(var o=r.childPos(i,1),a=o.i,s=o.off;;a++){if(a==r.children.length)return null;if((r=r.children[a]).length)break}i=s}if(!(r instanceof Sn))return null;var l=Q(r.text,i);if(l==i)return null;for(var c=hn(r.dom,i,l).getClientRects(),u=0;uMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,s=this.view.textDirection==Xn.LTR,l=0,c=0;ci)break;if(l>=n){var p=u.dom.getBoundingClientRect();if(t.push(p.height),o){var d=u.dom.lastChild,f=d?Qt(d):[];if(f.length){var m=f[f.length-1],v=s?m.right-p.left:p.right-m.left;v>a&&(a=v,this.minWidth=r,this.minWidthFrom=l,this.minWidthTo=h)}}}l=h+u.breakAfter}return t},t.prototype.textDirectionAt=function(e){var t=this.childPos(e,1).i;return"rtl"==getComputedStyle(this.children[t].dom).direction?Xn.RTL:Xn.LTR},t.prototype.measureTextSize=function(){for(var e=this,t=0,n=this.children;tn){var a=(t.lineBlockAt(o).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(Vn.replace({widget:new Gn(a),block:!0,inclusive:!0,isBlockGap:!0}).range(n,o))}if(!r)break;n=r.to+1}return Vn.set(e)},t.prototype.updateDeco=function(){var e=this,t=1,n=this.view.state.facet(Ui).map((function(n){return(e.dynamicDecorationMap[t++]="function"==typeof n)?n(e.view):n})),i=!1,r=this.view.state.facet(_i).map((function(t,n){var r="function"==typeof t;return r&&(i=!0),r?t(e.view):t}));for(r.length&&(this.dynamicDecorationMap[t++]=i,n.push(lt.join(r))),this.decorations=k(k([this.editContextFormatting],n,!0),[this.computeBlockGapDeco(),this.view.viewState.lineGapDeco],!1);ta.anchor?-1:1);if(s){!a.empty&&(o=this.coordsAt(a.anchor,a.anchor>a.head?-1:1))&&(s={left:Math.min(s.left,o.left),top:Math.min(s.top,o.top),right:Math.max(s.right,o.right),bottom:Math.max(s.bottom,o.bottom)});var l=Xi(this.view),c={left:s.left-l.left,top:s.top-l.top,right:s.right+l.right,bottom:s.bottom+l.bottom},u=this.view.scrollDOM,h=u.offsetWidth,p=u.offsetHeight;!function(e,t,n,i,r,o,a,s){for(var l,c=e.ownerDocument,u=c.defaultView||window,h=e,p=!1;h&&!p;)if(1==h.nodeType){var d=void 0,f=h==c.body,m=1,v=1;if(f)d=on(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(p=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}var g=h.getBoundingClientRect();m=(l=an(h,g)).scaleX,v=l.scaleY,d={left:g.left,right:g.left+h.clientWidth*m,top:g.top,bottom:g.top+h.clientHeight*v}}var y=0,b=0;if("nearest"==r)t.top0&&t.bottom>d.bottom+b&&(b=t.bottom-d.bottom+a)):t.bottom>d.bottom&&(b=t.bottom-d.bottom+a,n<0&&t.top-b0&&t.right>d.right+y&&(y=t.right-d.right+o)):t.right>d.right&&(y=t.right-d.right+o,n<0&&t.leftd.bottom||t.leftd.right)&&(t={left:Math.max(t.left,d.left),right:Math.min(t.right,d.right),top:Math.max(t.top,d.top),bottom:Math.min(t.bottom,d.bottom)}),h=h.assignedSlot||h.parentNode}else{if(11!=h.nodeType)break;h=h.host}}(this.view.scrollDOM,c,a.heade?t.left-e:Math.max(0,e-t.right)}function rr(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function or(e,t){return e.topt.top+1}function ar(e,t){return te.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function lr(e,t,n){for(var i,r,o,a,s,l,c,u,h=!1,p=e.firstChild;p;p=p.nextSibling)for(var d=Qt(p),f=0;fg||a==g&&o>v)&&(i=p,r=m,o=v,a=g,h=!v||(t0:fm.bottom&&(!c||c.bottomm.top)&&(l=p,u=m):c&&or(c,m)?c=sr(c,m.bottom):u&&or(u,m)&&(u=ar(u,m.top))}if(c&&c.bottom>=n?(i=s,r=c):u&&u.top<=n&&(i=l,r=u),!i)return{node:e,offset:0};var y=Math.max(r.left,Math.min(r.right,t));return 3==i.nodeType?cr(i,y,n):h&&"false"!=i.contentEditable?lr(i,y,n):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,i)+(t>=(r.left+r.right)/2?1:0)}}function cr(e,t,n){for(var i=e.nodeValue.length,r=-1,o=1e9,a=0,s=0;sn?u.top-n:n-u.bottom)-1;if(u.left-1<=t&&u.right+1>=t&&h=(u.left+u.right)/2,d=p;if(Kt.chrome||Kt.gecko)hn(e,s).getBoundingClientRect().left==u.right&&(d=!p);if(h<=0)return{node:e,offset:s+(d?1:0)};r=s+(d?1:0),o=h}}}return{node:e,offset:r>-1?r:a>0?e.nodeValue.length:0}}function ur(e,t,n,i){var r,o,a;void 0===i&&(i=-1);var s,l=e.contentDOM.getBoundingClientRect(),c=l.top+e.viewState.paddingTop,u=e.viewState.docHeight,h=t.x,p=t.y,d=p-c;if(d<0)return 0;if(d>u)return e.state.doc.length;for(var f=e.viewState.heightOracle.textHeight/2,m=!1;(s=e.elementAtHeight(d)).type!=Bn.Text;)for(;!((d=i>0?s.bottom+f:s.top-f)>=0&&d<=u);){if(m)return n?null:0;m=!0,i=-i}p=c+d;var v=s.from;if(ve.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:n?null:hr(e,l,s,h,p);var g=e.dom.ownerDocument,y=e.root.elementFromPoint?e.root:g,b=y.elementFromPoint(h,p);b&&!e.contentDOM.contains(b)&&(b=null),b||(h=Math.max(l.left+1,Math.min(l.right-1,h)),(b=y.elementFromPoint(h,p))&&!e.contentDOM.contains(b)&&(b=null));var w,k=-1;if(b&&0!=(null===(o=e.docView.nearest(b))||void 0===o?void 0:o.isEditable)){if(g.caretPositionFromPoint){var C=g.caretPositionFromPoint(h,p);C&&(w=C.offsetNode,k=C.offset)}else if(g.caretRangeFromPoint){var E=g.caretRangeFromPoint(h,p);E&&(w=E.startContainer,k=E.startOffset,(!e.contentDOM.contains(w)||Kt.safari&&function(e,t,n){var i,r=e;if(3!=e.nodeType||t!=(i=e.nodeValue.length))return!1;for(;;){var o=r.nextSibling;if(o){if("BR"==o.nodeName)break;return!1}var a=r.parentNode;if(!a||"DIV"==a.nodeName)break;r=a}return hn(e,i-1,i).getBoundingClientRect().right>n}(w,k,h)||Kt.chrome&&function(e,t,n){if(0!=t)return!1;for(var i=e;;){var r=i.parentNode;if(!r||1!=r.nodeType||r.firstChild!=i)return!1;if(r.classList.contains("cm-line"))break;i=r}var o=1==e.nodeType?e.getBoundingClientRect():hn(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect();return n-o.left>5}(w,k,h))&&(w=void 0))}w&&(k=Math.min(nn(w),k))}if(!w||!e.docView.dom.contains(w)){var S=Un.find(e.docView,v);if(!S)return d>s.top+s.height/2?s.to:s.from;w=(r=lr(S.dom,h,p)).node,k=r.offset}var M=e.docView.nearest(w);if(!M)return null;if(M.isWidget&&1==(null===(a=M.dom)||void 0===a?void 0:a.nodeType)){var x=M.dom.getBoundingClientRect();return t.y1.5*e.defaultLineHeight){var a=e.viewState.heightOracle.textHeight;o+=Math.floor((r-n.top-.5*(e.defaultLineHeight-a))/a)*e.viewState.heightOracle.lineLength}var s=e.state.sliceDoc(n.from,n.to);return n.from+kt(s,o,e.state.tabSize)}function pr(e,t,n){var i=e.lineBlockAt(t);if(Array.isArray(i.type)){for(var r=void 0,o=0,a=i.type;ot)break;if(!(s.tot)return s;r&&(s.type!=Bn.Text||r.type==s.type&&!(n<0?s.fromt))||(r=s)}}return r||i}return i}function dr(e,t,n,i){for(var r=e.state.doc.lineAt(t.head),o=e.bidiSpans(r),a=e.textDirectionAt(r.from),s=t,l=null;;){var c=bi(r,o,a,s,n),u=yi;if(!c){if(r.number==(n?e.state.doc.lines:1))return s;u="\n",r=e.state.doc.line(r.number+(n?1:-1)),o=e.bidiSpans(r),c=e.visualLineSide(r,!n)}if(l){if(!l(u))return s}else{if(!i)return c;l=i(u)}s=c}}function fr(e,t,n){for(var i=function(){for(var i=0,r=0,o=e;re&&tn.from?-1:1);return i==n.from?n:pe.cursor(i,ir)&&!wr(o,t)&&this.lineBreak(),i=o}return this.findPointBefore(n,t),this},e.prototype.readTextNode=function(e){for(var t=e.nodeValue,n=0,i=this.points;n1)for(var c=0,u=this.points;cthis.text.length&&(h.pos-=s-1)}r=a+s}},e.prototype.readNode=function(e){if(!e.cmIgnore){var t=bn.get(e),n=t&&t.overrideDOMText;if(null!=n){this.findPointInside(e,n.length);for(var i=n.iter();!i.next().done;)i.lineBreak?this.lineBreak():this.append(i.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}},e.prototype.findPointBefore=function(e,t){for(var n=0,i=this.points;n-1;var r=e.docView,o=r.impreciseHead,a=r.impreciseAnchor;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){var s=o||a?[]:function(e){var t=[];if(e.root.activeElement!=e.contentDOM)return t;var n=e.observer.selectionRange,i=n.anchorNode,r=n.anchorOffset,o=n.focusNode,a=n.focusOffset;return i&&(t.push(new kr(i,r)),o==i&&a==r||t.push(new kr(o,a))),t}(e),l=new yr(s,e.state);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=function(e,t){if(0==e.length)return null;var n=e[0].pos,i=2==e.length?e[1].pos:n;return n>-1&&i>-1?pe.single(n+t,i+t):null}(s,this.bounds.from)}else{var c=e.observer.selectionRange,u=o&&o.node==c.focusNode&&o.offset==c.focusOffset||!Zt(e.contentDOM,c.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(c.focusNode,c.focusOffset),h=a&&a.node==c.anchorNode&&a.offset==c.anchorOffset||!Zt(e.contentDOM,c.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(c.anchorNode,c.anchorOffset),p=e.viewport;if((Kt.ios||Kt.chrome)&&e.state.selection.main.empty&&u!=h&&(p.from>0||p.toDate.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){var a=t.bounds,s=a.from,l=a.to,c=r.from,u=null;(8===o||Kt.android&&t.text.length=r.from&&n.to<=r.to&&(n.from!=r.from||n.to!=r.to)&&r.to-r.from-(n.to-n.from)<=4?n={from:r.from,to:r.to,insert:e.state.doc.slice(r.from,n.from).append(n.insert).append(e.state.doc.slice(n.to,r.to))}:e.state.doc.lineAt(r.from).toDate.now()-50?n={from:r.from,to:r.to,insert:e.state.toText(e.inputState.insertingText)}:Kt.chrome&&n&&n.from==n.to&&n.from==r.head&&"\n "==n.insert.toString()&&e.lineWrapping&&(i&&(i=pe.single(i.main.anchor-1,i.main.head-1)),n={from:r.from,to:r.to,insert:q.of([" "])}),n)return Sr(e,n,i,o);if(i&&!i.main.eq(r)){var p=!1,d="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(p=!0),"select.pointer"==(d=e.inputState.lastSelectionOrigin)&&(i=mr(e.state.facet(Gi).map((function(t){return t(e)})),i))),e.dispatch({selection:i,scrollIntoView:p,userEvent:d}),!0}return!1}function Sr(e,t,n,i){if(void 0===i&&(i=-1),Kt.ios&&e.inputState.flushIOSKey(t))return!0;var r=e.state.selection.main;if(Kt.android&&(t.to==r.to&&(t.from==r.from||t.from==r.from-1&&" "==e.state.sliceDoc(t.from,r.from))&&1==t.insert.length&&2==t.insert.lines&&pn(e.contentDOM,"Enter",13)||(t.from==r.from-1&&t.to==r.to&&0==t.insert.length||8==i&&t.insert.lengthr.head)&&pn(e.contentDOM,"Backspace",8)||t.from==r.from&&t.to==r.to+1&&0==t.insert.length&&pn(e.contentDOM,"Delete",46)))return!0;var o,a=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;var s=function(){return o||(o=function(e,t,n){var i,r=e.state,o=r.selection.main,a=-1;if(t.from==t.to&&t.fromo.to){var s=t.from-1)i={changes:t,selection:pe.cursor(t.from+t.insert.length,-1)};else if(t.from>=o.from&&t.to<=o.to&&t.to-t.from>=(o.to-o.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){var u=o.fromt.to?r.sliceDoc(t.to,o.to):"";i=r.replaceSelection(e.state.toText(u+t.insert.sliceString(0,void 0,e.state.lineBreak)+h))}else{var p=r.changes(t),d=n&&n.main.to<=p.newLength?n.main:void 0;if(r.selection.ranges.length>1&&e.inputState.composing>=0&&t.to<=o.to&&t.to>=o.to-10){var f,m=e.state.sliceDoc(t.from,t.to),v=n&&tr(e,n.main.head);if(v){var g=t.insert.length-(t.to-t.from);f={from:v.from,to:v.to-g}}else f=e.state.doc.lineAt(o.head);var y=o.to-t.to,b=o.to-o.from;i=r.changeByRange((function(n){if(n.from==o.from&&n.to==o.to)return{changes:p,range:d||n.map(p)};var i=n.to-y,a=i-m.length;if(n.to-n.from!=b||e.state.sliceDoc(a,i)!=m||n.to>=f.from&&n.from<=f.to)return{range:n};var s=r.changes({from:a,to:i,insert:t.insert}),l=n.to-o.to;return{changes:s,range:d?pe.range(Math.max(0,d.anchor+l),Math.max(0,d.head+l)):n.map(s)}}))}else i={changes:p,selection:d&&r.selection.replaceRange(d)}}var w="input.type";(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,w+=".compose",e.inputState.compositionFirstChange&&(w+=".start",e.inputState.compositionFirstChange=!1));return r.update(i,{userEvent:w,scrollIntoView:!0})}(e,t,n))};return e.state.facet(xi).some((function(n){return n(e,t.from,t.to,a,s)}))||e.dispatch(s()),!0}function Mr(e,t,n,i){for(var r=Math.min(e.length,t.length),o=0;o0&&s>0&&e.charCodeAt(a-1)==t.charCodeAt(s-1);)a--,s--;"end"==i&&(n-=a+Math.max(0,o-Math.min(a,s))-o);if(a=a?o-n:0)+(s-a),a=o;else if(s=s?o-n:0)+(a-s),s=o}return{from:o,toA:a,toB:s}}var xr=function(){function e(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Kt.safari&&e.contentDOM.addEventListener("input",(function(){return null})),Kt.gecko&&function(e){Jr.has(e)||(Jr.add(e),e.addEventListener("copy",(function(){})),e.addEventListener("cut",(function(){})))}(e.contentDOM.ownerDocument)}return e.prototype.setSelectionOrigin=function(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()},e.prototype.handleEvent=function(e){var t=this;(function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(var n=t.target,i=void 0;n!=e.contentDOM;n=n.parentNode)if(!n||11==n.nodeType||(i=bn.get(n))&&i.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||(0!=this.view.updateState?Promise.resolve().then((function(){return t.runHandlers(e.type,e)})):this.runHandlers(e.type,e)))},e.prototype.runHandlers=function(e,t){var n=this.handlers[e];if(n){for(var i=0,r=n.observers;i-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode)||(this.tabFocusMode>0&&27!=e.keyCode&&Lr.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),!Kt.android||!Kt.chrome||e.synthetic||13!=e.keyCode&&8!=e.keyCode?!Kt.ios||e.synthetic||e.altKey||e.metaKey||!((t=Ar.find((function(t){return t.keyCode==e.keyCode})))&&!e.ctrlKey||Pr.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(229!=e.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=t||e,setTimeout((function(){return n.flushIOSKey()}),250),!0):(this.view.observer.delayAndroidKey(e.key,e.keyCode),!0))},e.prototype.flushIOSKey=function(e){var t=this.pendingIOSKey;return!!t&&(!("Enter"==t.key&&e&&e.from0||!!(Kt.safari&&!Kt.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))},e.prototype.startMouseSelection=function(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e},e.prototype.update=function(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)},e.prototype.destroy=function(){this.mouseSelection&&this.mouseSelection.destroy()},e}();function Tr(e,t){return function(n,i){try{return t.call(e,i,n)}catch(e){Ri(n.state,e)}}}function Dr(e){var t=Object.create(null);function n(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(var i=0,r=e;ir.clientHeight&&(n=r),!t&&r.scrollWidth>r.clientWidth&&(t=r),r=r.assignedSlot||r.parentNode;else{if(11!=r.nodeType)break;r=r.host}return{x:t,y:n}}(e.contentDOM),this.atoms=e.state.facet(Gi).map((function(t){return t(e)}));var r=e.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(nt.allowMultipleSelections)&&function(e,t){var n=e.state.facet(ki);return n.length?n[0](t):Kt.mac?t.metaKey:t.ctrlKey}(e,t),this.dragging=!(!function(e,t){var n=e.state.selection.main;if(n.empty)return!1;var i=Yt(e.root);if(!i||0==i.rangeCount)return!0;for(var r=i.getRangeAt(0).getClientRects(),o=0;o=t.clientX&&a.top<=t.clientY&&a.bottom>=t.clientY)return!0}return!1}(e,t)||1!=Kr(t))&&null}return e.prototype.start=function(e){!1===this.dragging&&this.select(e)},e.prototype.move=function(e){var t,n;if(0==e.buttons)return this.destroy();if(!(this.dragging||null==this.dragging&&(i=this.startEvent,r=e,Math.max(Math.abs(i.clientX-r.clientX),Math.abs(i.clientY-r.clientY))<10))){var i,r;this.select(this.lastEvent=e);var o=0,a=0,s=0,l=0,c=this.view.win.innerWidth,u=this.view.win.innerHeight;this.scrollParents.x&&(s=(t=this.scrollParents.x.getBoundingClientRect()).left,c=t.right),this.scrollParents.y&&(l=(n=this.scrollParents.y.getBoundingClientRect()).top,u=n.bottom);var h=Xi(this.view);e.clientX-h.left<=s+6?o=-Ir(s-e.clientX):e.clientX+h.right>=c-6&&(o=Ir(e.clientX-c)),e.clientY-h.top<=l+6?a=-Ir(l-e.clientY):e.clientY+h.bottom>=u-6&&(a=Ir(e.clientY-u)),this.setScrollSpeed(o,a)}},e.prototype.up=function(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()},e.prototype.destroy=function(){this.setScrollSpeed(0,0);var e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null},e.prototype.setScrollSpeed=function(e,t){var n=this;this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval((function(){return n.scroll()}),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)},e.prototype.scroll=function(){var e=this.scrollSpeed,t=e.x,n=e.y;t&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=t,t=0),n&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=n,n=0),(t||n)&&this.view.win.scrollBy(t,n),!1===this.dragging&&this.select(this.lastEvent)},e.prototype.select=function(e){var t=this.view,n=mr(this.atoms,this.style.get(e,this.extend,this.multiple));!this.mustSelect&&n.eq(t.state.selection,!1===this.dragging)||this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1},e.prototype.update=function(e){var t=this;e.transactions.some((function(e){return e.isUserEvent("input.type")}))?this.destroy():this.style.update(e)&&setTimeout((function(){return t.select(t.lastEvent)}),20)},e}();var Fr=Object.create(null),Nr=Object.create(null),Rr=Kt.ie&&Kt.ie_version<15||Kt.ios&&Kt.webkit_version<604;function Br(e,t,n){for(var i=0,r=e.facet(t);i0;){var c=Q(r.text,a,!1);if(i(r.text.slice(c,a))!=l)break;a=c}for(;sDate.now()-2e3)return!1;for(var n=null,i=0,r=e.state.facet(Ei);i1&&(s=function(e,t){for(var n=0;n=t)return pe.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n?1:0))}return null}(r,l.pos))?s:a?r.addRange(c):pe.create([c])}}}(e,t)),n){var o=!e.hasFocus;e.inputState.startMouseSelection(new Or(e,t,n,o)),o&&e.observer.ignore((function(){un(e.contentDOM);var t=e.root.activeElement;t&&!t.contains(e.contentDOM)&&t.blur()}));var a=e.inputState.mouseSelection;if(a)return a.start(t),!1===a.dragging}else e.inputState.setSelectionOrigin("select.pointer");return!1};var zr=function(e,t,n){return t>=n.top&&t<=n.bottom&&e>=n.left&&e<=n.right};function qr(e,t,n,i){var r=Un.find(e.docView,t);if(!r)return 1;var o=t-r.posAtStart;if(0==o)return 1;if(o==r.length)return-1;var a=r.coordsAt(o,-1);if(a&&zr(n,i,a))return-1;var s=r.coordsAt(o,1);return s&&zr(n,i,s)?1:a&&a.bottom>=i?-1:1}function Wr(e,t){var n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:n,bias:qr(e,n,t.clientX,t.clientY)}}var jr=Kt.ie&&Kt.ie_version<=11,Ur=null,_r=0,Gr=0;function Kr(e){if(!jr)return e.detail;var t=Ur,n=Gr;return Ur=e,Gr=Date.now(),_r=!t||n>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(_r+1)%3:1}function Yr(e,t,n,i){if(n=Br(e.state,Di,n)){var r=e.posAtCoords({x:t.clientX,y:t.clientY},!1),o=e.inputState.draggedContent,a=i&&o&&function(e,t){var n=e.state.facet(Ci);return n.length?n[0](t):Kt.mac?!t.altKey:!t.ctrlKey}(e,t)?{from:o.from,to:o.to}:null,s={from:r,insert:n},l=e.state.changes(a?[a,s]:s);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:a?"move.drop":"input.drop"}),e.inputState.draggedContent=null}}Fr.dragstart=function(e,t){var n=e.state.selection.main;if(t.target.draggable){var i=e.docView.nearest(t.target);if(i&&i.isWidget){var r=i.posAtStart,o=r+i.length;(r>=n.to||o<=n.from)&&(n=pe.range(r,o))}}var a=e.inputState;return a.mouseSelection&&(a.mouseSelection.dragging=!0),a.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData("Text",Br(e.state,Ai,e.state.sliceDoc(n.from,n.to))),t.dataTransfer.effectAllowed="copyMove"),!1},Fr.dragend=function(e){return e.inputState.draggedContent=null,!1},Fr.drop=function(e,t){if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;var n=t.dataTransfer.files;if(n&&n.length){for(var i=Array(n.length),r=0,o=function(){++r==n.length&&Yr(e,t,i.filter((function(e){return null!=e})).join(e.state.lineBreak),!1)},a=function(e){var t=new FileReader;t.onerror=o,t.onload=function(){/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(i[e]=t.result),o()},t.readAsText(n[e])},s=0;ss&&(t.push(h.text),n.push({from:h.from,to:Math.min(e.doc.length,h.to+1)})),s=h.number}i=!0}return{text:Br(e,Ai,t.join(e.lineBreak)),ranges:n,linewise:i}}(e.state),i=n.text,r=n.ranges,o=n.linewise;if(!i&&!o)return!1;Zr=o?i:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});var a=Rr?null:t.clipboardData;return a?(a.clearData(),a.setData("text/plain",i),!0):(function(e,t){var n=e.dom.parentNode;if(n){var i=n.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=t,i.focus(),i.selectionEnd=t.length,i.selectionStart=0,setTimeout((function(){i.remove(),e.focus()}),50)}}(e,i),!1)};var Xr=qe.define();function Qr(e,t){for(var n=[],i=0,r=e.facet(Ti);i0,e.inputState.compositionFirstChange=null,Kt.ios||Kt.android?Kt.chrome&&Kt.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then((function(){return e.observer.flush()})):setTimeout((function(){e.inputState.composing<0&&e.docView.hasComposition&&e.update([])}),50):e.observer.forceFlush())},Nr.contextmenu=function(e){e.inputState.lastContextMenu=Date.now()},Fr.beforeinput=function(e,t){var n,i,r;if("insertText"!=t.inputType&&"insertCompositionText"!=t.inputType||(e.inputState.insertingText=t.data,e.inputState.insertingTextAt=Date.now()),"insertReplacementText"==t.inputType&&e.observer.editContext){var o=null===(n=t.dataTransfer)||void 0===n?void 0:n.getData("text/plain"),a=t.getTargetRanges();if(o&&a.length){var s=a[0],l=e.posAtDOM(s.startContainer,s.startOffset),c=e.posAtDOM(s.endContainer,s.endOffset);return Sr(e,{from:l,to:c,insert:e.state.toText(o)},null),!0}}if(Kt.chrome&&Kt.android&&(r=Ar.find((function(e){return e.inputType==t.inputType})))&&(e.observer.delayAndroidKey(r.key,r.keyCode),"Backspace"==r.key||"Delete"==r.key)){var u=(null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0;setTimeout((function(){var t;((null===(t=window.visualViewport)||void 0===t?void 0:t.height)||0)>u+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())}),100)}return Kt.ios&&"deleteContentForward"==t.inputType&&e.observer.flushSoon(),Kt.safari&&"insertText"==t.inputType&&e.inputState.composing>=0&&setTimeout((function(){return Nr.compositionend(e,t)}),20),!1};var Jr=new Set;var eo=["pre-wrap","normal","pre-line","break-spaces"],to=!1;function no(){to=!1}var io=function(){function e(e){this.lineWrapping=e,this.doc=q.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}return e.prototype.heightForGap=function(e,t){var n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n},e.prototype.heightForLine=function(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight},e.prototype.setDoc=function(e){return this.doc=e,this},e.prototype.mustRefreshForWrapping=function(e){return eo.indexOf(e)>-1!=this.lineWrapping},e.prototype.mustRefreshForHeights=function(e){for(var t=!1,n=0;n-1,s=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=n,this.textHeight=i,this.lineLength=r,s){this.heightSamples={};for(var l=0;l0},set:function(e){this.flags=(e?2:0)|-3&this.flags},enumerable:!1,configurable:!0}),e.prototype.setHeight=function(e){this.height!=e&&(Math.abs(this.height-e)>so&&(to=!0),this.height=e)},e.prototype.replace=function(t,n,i){return e.of(i)},e.prototype.decomposeLeft=function(e,t){t.push(this)},e.prototype.decomposeRight=function(e,t){t.push(this)},e.prototype.applyChanges=function(e,t,n,i){for(var r=this,o=n.doc,a=i.length-1;a>=0;a--){var s=i[a],l=s.fromA,c=s.toA,u=s.fromB,h=s.toB,p=r.lineAt(l,ao.ByPosNoHeight,n.setDoc(t),0,0),d=p.to>=c?p:r.lineAt(c,ao.ByPosNoHeight,n,0,0);for(h+=d.to-c,c=d.to;a>0&&p.from<=i[a-1].toA;)l=i[a-1].fromA,u=i[a-1].fromB,a--,l2*o){(a=t[n-1]).break?t.splice(--n,1,a.left,null,a.right):t.splice(--n,1,a.left,a.right),i+=1+a.break,r-=a.size}else{if(!(o>2*r))break;var a;(a=t[i]).break?t.splice(i,1,a.left,null,a.right):t.splice(i,1,a.left,a.right),i+=2+a.break,o-=a.size}else if(r=r&&o(this.blockAt(0,n,i,r))},t.prototype.updateHeight=function(e,t,n,i){return void 0===t&&(t=0),void 0===n&&(n=!1),i&&i.from<=t&&i.more&&this.setHeight(i.heights[i.index++]),this.outdated=!1,this},t.prototype.toString=function(){return"block(".concat(this.length,")")},t}(lo),ho=function(e){function t(t,n){var i=e.call(this,t,n,null)||this;return i.collapsed=0,i.widgetHeight=0,i.breaks=0,i}return m(t,e),t.prototype.blockAt=function(e,t,n,i){return new oo(i,this.length,n,this.height,this.breaks)},t.prototype.replace=function(e,n,i){var r=i[0];return 1==i.length&&(r instanceof t||r instanceof po&&4&r.flags)&&Math.abs(this.length-r.length)<10?(r instanceof po?r=new t(r.length,this.height):r.height=this.height,this.outdated||(r.outdated=!1),r):lo.of(i)},t.prototype.updateHeight=function(e,t,n,i){return void 0===t&&(t=0),void 0===n&&(n=!1),i&&i.from<=t&&i.more?this.setHeight(i.heights[i.index++]):(n||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this},t.prototype.toString=function(){return"line(".concat(this.length).concat(this.collapsed?-this.collapsed:"").concat(this.widgetHeight?":"+this.widgetHeight:"",")")},t}(uo),po=function(e){function t(t){return e.call(this,t,0)||this}return m(t,e),t.prototype.heightMetrics=function(e,t){var n,i=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,o=r-i+1,a=0;if(e.lineWrapping){var s=Math.min(this.height,e.lineHeight*o);n=s/o,this.length>o+1&&(a=(this.height-s)/(this.length-o-1))}else n=this.height/o;return{firstLine:i,lastLine:r,perLine:n,perChar:a}},t.prototype.blockAt=function(e,t,n,i){var r=this.heightMetrics(t,i),o=r.firstLine,a=r.lastLine,s=r.perLine,l=r.perChar;if(t.lineWrapping){var c=i+(e0){var o=i[i.length-1];o instanceof t?i[i.length-1]=new t(o.length+r):i.push(null,new t(r-1))}if(e>0){var a=i[0];a instanceof t?i[0]=new t(e+a.length):i.unshift(new t(e-1),null)}return lo.of(i)},t.prototype.decomposeLeft=function(e,n){n.push(new t(e-1),null)},t.prototype.decomposeRight=function(e,n){n.push(null,new t(this.length-e-1))},t.prototype.updateHeight=function(e,n,i,r){void 0===n&&(n=0),void 0===i&&(i=!1);var o=n+this.length;if(r&&r.from<=n+this.length&&r.more){var a=[],s=Math.max(n,r.from),l=-1;for(r.from>n&&a.push(new t(r.from-n-1).updateHeight(e,n));s<=o&&r.more;){var c=e.doc.lineAt(s).length;a.length&&a.push(null);var u=r.heights[r.index++];-1==l?l=u:Math.abs(u-l)>=so&&(l=-2);var h=new ho(c,u);h.outdated=!1,a.push(h),s+=c+1}s<=o&&a.push(null,new t(o-s).updateHeight(e,s));var p=lo.of(a);return(l<0||Math.abs(p.height-this.height)>=so||Math.abs(l-this.heightMetrics(e,n).perLine)>=so)&&(to=!0),co(this,p)}return(i||this.outdated)&&(this.setHeight(e.heightForGap(n,n+this.length)),this.outdated=!1),this},t.prototype.toString=function(){return"gap(".concat(this.length,")")},t}(lo),fo=function(e){function t(t,n,i){var r=e.call(this,t.length+n+i.length,t.height+i.height,n|(t.outdated||i.outdated?2:0))||this;return r.left=t,r.right=i,r.size=t.size+i.size,r}return m(t,e),Object.defineProperty(t.prototype,"break",{get:function(){return 1&this.flags},enumerable:!1,configurable:!0}),t.prototype.blockAt=function(e,t,n,i){var r=n+this.left.height;return ea))return l;var c=t==ao.ByPosNoHeight?ao.ByPosNoHeight:ao.ByPos;return s?l.join(this.right.lineAt(a,c,n,o,a)):this.left.lineAt(a,c,n,i,r).join(l)},t.prototype.forEachLine=function(e,t,n,i,r,o){var a=i+this.left.height,s=r+this.left.length+this.break;if(this.break)e=s&&this.right.forEachLine(e,t,n,a,s,o);else{var l=this.lineAt(s,ao.ByPos,n,i,r);e=e&&l.from<=t&&o(l),t>l.to&&this.right.forEachLine(l.to+1,t,n,a,s,o)}},t.prototype.replace=function(e,t,n){var i=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,n));var r=[];e>0&&this.decomposeLeft(e,r);for(var o=r.length,a=0,s=n;a0&&mo(r,o-1),t=++n&&t.push(null),e>n&&this.right.decomposeLeft(e-n,t)},t.prototype.decomposeRight=function(e,t){var n=this.left.length,i=n+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e2*t.size||t.size>2*e.size?lo.of(this.break?[e,null,t]:[e,t]):(this.left=co(this.left,e),this.right=co(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)},t.prototype.updateHeight=function(e,t,n,i){void 0===t&&(t=0),void 0===n&&(n=!1);var r=this.left,o=this.right,a=t+r.length+this.break,s=null;return i&&i.from<=t+r.length&&i.more?s=r=r.updateHeight(e,t,n,i):r.updateHeight(e,t,n),i&&i.from<=a+o.length&&i.more?s=o=o.updateHeight(e,a,n,i):o.updateHeight(e,a,n),s?this.balanced(r,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)},t.prototype.toString=function(){return this.left+(this.break?" ":"-")+this.right},t}(lo);function mo(e,t){var n,i;null==e[t]&&(n=e[t-1])instanceof po&&(i=e[t+1])instanceof po&&e.splice(t-1,3,new po(n.length+1+i.length))}var vo=function(){function e(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}return Object.defineProperty(e.prototype,"isCovered",{get:function(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering},enumerable:!1,configurable:!0}),e.prototype.span=function(e,t){if(this.lineStart>-1){var n=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof ho?i.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new ho(n-this.pos,-1)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t},e.prototype.point=function(e,t,n){if(e=5)&&this.addLineDeco(i,r,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)){var e=this.oracle.doc.lineAt(this.pos),t=e.from,n=e.to;this.lineStart=t,this.lineEnd=n,this.writtenTot&&this.nodes.push(new ho(this.pos-t,-1)),this.writtenTo=this.pos}},e.prototype.blankContent=function(e,t){var n=new po(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n},e.prototype.ensureLine=function(){this.enterLine();var e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof ho)return e;var t=new ho(0,-1);return this.nodes.push(t),t},e.prototype.addBlock=function(e){this.enterLine();var t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)},e.prototype.addLineDeco=function(e,t,n){var i=this.ensureLine();i.length+=n,i.collapsed+=n,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=t,this.writtenTo=this.pos=this.pos+n},e.prototype.finish=function(e){var t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof ho||this.isCovered?(this.writtenTou.clientHeight||u.scrollWidth>u.clientWidth)&&"visible"!=h.overflow){var p=u.getBoundingClientRect();o=Math.max(o,p.left),a=Math.min(a,p.right),s=Math.max(s,p.top),l=Math.min(c==e.parentNode?r.innerHeight:l,p.bottom)}c="absolute"==h.position||"fixed"==h.position?u.offsetParent:u.parentNode}else{if(11!=c.nodeType)break;c=c.host}return{left:o-n.left,right:Math.max(o,a)-n.left,top:s-(n.top+t),bottom:Math.max(s,l)-(n.top+t)}}function bo(e,t){var n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}var wo=function(){function e(e,t,n,i){this.from=e,this.to=t,this.size=n,this.displaySize=i}return e.same=function(e,t){if(e.length!=t.length)return!1;for(var n=0;n=t&&r<=n}))){var o=i.lineBlockAt(r),a=o.from,s=o.to;e.push(new Eo(a,s))}},i=this,r=0;r<=1;r++)n(r);return this.viewports=e.sort((function(e,t){return e.from-t.from})),this.updateScaler()},e.prototype.updateScaler=function(){var e=this.scaler;return this.scaler=this.heightMap.height<=7e6?xo:new To(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2},e.prototype.updateViewportLines=function(){var e=this;this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,(function(t){e.viewportLines.push(Do(t,e.scaler))}))},e.prototype.update=function(e,t){void 0===t&&(t=null),this.state=e.state;var n=this.stateDeco;this.stateDeco=this.state.facet(Ui).filter((function(e){return"function"!=typeof e}));var i,r,o,a,s=e.changedRanges,l=$i.extendWithRanges(s,(i=n,r=this.stateDeco,o=e?e.changes:re.empty(this.state.doc.length),a=new go,lt.compare(i,r,o,a,0),a.changes)),c=this.heightMap.height,u=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);no(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),l),(this.heightMap.height!=c||to)&&(e.flags|=2),u?(this.scrollAnchorPos=e.changes.mapPos(u.from,-1),this.scrollAnchorHeight=u.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=c);var h=l.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headh.to)||!this.viewportIsAppropriate(h))&&(h=this.getViewport(0,t));var p=h.from!=this.viewport.from||h.to!=this.viewport.to;this.viewport=h,e.flags|=this.updateForViewport(),(p||!e.changes.empty||2&e.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Li)&&(this.mustEnforceCursorAssoc=!0)},e.prototype.measure=function(e){var t=e.contentDOM,n=window.getComputedStyle(t),i=this.heightOracle,r=n.whiteSpace;this.defaultTextDirection="rtl"==n.direction?Xn.RTL:Xn.LTR;var o=this.heightOracle.mustRefreshForWrapping(r),a=t.getBoundingClientRect(),s=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;var l=0,c=0;if(a.width&&a.height){var u=an(t,a),h=u.scaleX,p=u.scaleY;(h>.005&&Math.abs(this.scaleX-h)>.005||p>.005&&Math.abs(this.scaleY-p)>.005)&&(this.scaleX=h,this.scaleY=p,l|=16,o=s=!0)}var d=(parseInt(n.paddingTop)||0)*this.scaleY,f=(parseInt(n.paddingBottom)||0)*this.scaleY;this.paddingTop==d&&this.paddingBottom==f||(this.paddingTop=d,this.paddingBottom=f,l|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(s=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=16);var m=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=m&&(this.scrollAnchorHeight=-1,this.scrollTop=m),this.scrolledToBottom=fn(e.scrollDOM);var v=(this.printing?bo:yo)(t,this.paddingTop),g=v.top-this.pixelViewport.top,y=v.bottom-this.pixelViewport.bottom;this.pixelViewport=v;var b=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(b!=this.inView&&(this.inView=b,b&&(s=!0)),!this.inView)return 0;var w=a.width;if(this.contentDOMWidth==w&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,l|=16),s){var k=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(k)&&(o=!0),o||i.lineWrapping&&Math.abs(w-this.contentDOMWidth)>i.charWidth){var C=e.docView.measureTextSize(),E=C.lineHeight,S=C.charWidth,M=C.textHeight;(o=E>0&&i.refresh(r,E,S,M,Math.max(5,w/S),k))&&(e.docView.minWidth=0,l|=16)}g>0&&y>0?c=Math.max(g,y):g<0&&y<0&&(c=Math.min(g,y)),no();for(var x=0,T=this.viewports;xthis.viewport.to);return P&&(2&l&&(l|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),l|=this.updateForViewport()),(2&l||P)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l},Object.defineProperty(e.prototype,"visibleTop",{get:function(){return this.scaler.fromDOM(this.pixelViewport.top)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"visibleBottom",{get:function(){return this.scaler.fromDOM(this.pixelViewport.bottom)},enumerable:!1,configurable:!0}),e.prototype.getViewport=function(e,t){var n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,r=this.heightOracle,o=this.visibleTop,a=this.visibleBottom,s=new Eo(i.lineAt(o-1e3*n,ao.ByHeight,r,0,0).from,i.lineAt(a+1e3*(1-n),ao.ByHeight,r,0,0).to);if(t){var l=t.range.head;if(ls.to){var c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=i.lineAt(l,ao.ByPos,r,0,0),h=void 0;h="center"==t.y?(u.top+u.bottom)/2-c/2:"start"==t.y||"nearest"==t.y&&l=s+Math.max(10,Math.min(t,250)))&&r>a-2e3&&o>1,a=r<<1;if(this.defaultTextDirection!=Xn.LTR&&!i)return[];for(var s=[],l=function(r,a,c,u){if(!(a-rr&&m=c.from&&e.to<=c.to&&Math.abs(e.from-r)t}))}));if(!v){if(a=a}))){var g=t.moveToLineBoundary(pe.cursor(a),!1,!0).head;g>r&&(a=g)}var y=n.gapSize(c,r,a,u);v=new wo(r,a,y,i||y<2e6?y:2e6)}s.push(v)}},c=function(t){if(!(t.lengthr&&(i.push({from:r,to:e}),o+=e-r),r=t}},20),r2e6)for(var g=0,y=e;g=t.from&&b.fromt.from&&l(t.from,s,t,o),c=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find((function(t){return t.from<=e&&t.to>=e}))||Do(this.heightMap.lineAt(e,ao.ByPos,this.heightOracle,0,0),this.scaler)},e.prototype.lineBlockAtHeight=function(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find((function(t){return t.top<=e&&t.bottom>=e}))||Do(this.heightMap.lineAt(this.scaler.fromDOM(e),ao.ByHeight,this.heightOracle,0,0),this.scaler)},e.prototype.scrollAnchorAt=function(e){var t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]},e.prototype.elementAtHeight=function(e){return Do(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)},Object.defineProperty(e.prototype,"docHeight",{get:function(){return this.scaler.toDOM(this.heightMap.height)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"contentHeight",{get:function(){return this.docHeight+this.paddingTop+this.paddingBottom},enumerable:!1,configurable:!0}),e}(),Eo=function(e,t){this.from=e,this.to=t};function So(e,t){var n=e.total,i=e.ranges;if(t<=0)return i[0].from;if(t>=1)return i[i.length-1].to;for(var r=Math.floor(n*t),o=0;;o++){var a=i[o],s=a.from,l=a.to-s;if(r<=l)return s+r;r-=l}}function Mo(e,t){for(var n=0,i=0,r=e.ranges;i-1}}),Lo=Mt.newName(),Io=Mt.newName(),Oo=Mt.newName(),Fo={"&light":"."+Io,"&dark":"."+Oo};function No(e,t,n){return new Mt(t,{finish:function(t){return/&/.test(t)?t.replace(/&\w*/,(function(t){if("&"==t)return e;if(!n||!n[t])throw new RangeError("Unsupported selector: ".concat(t));return n[t]})):e+" "+t}})}var Ro=No("."+Lo,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Fo),Bo={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Vo=Kt.ie&&Kt.ie_version<=11,Ho=function(){function e(e){var t=this;this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new ln,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver((function(n){for(var i=0,r=n;i0&&e[e.length-1].intersectionRatio>0!=t.intersecting&&(t.intersecting=!t.intersecting,t.intersecting!=t.view.inView&&t.onScrollChanged(document.createEvent("Event")))}),{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver((function(e){e.length>0&&e[e.length-1].intersectionRatio>0&&t.onScrollChanged(document.createEvent("Event"))}),{})),this.listenForScroll(),this.readSelectionRange()}return e.prototype.onScrollChanged=function(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()},e.prototype.onScroll=function(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)},e.prototype.onResize=function(){var e=this;this.resizeTimeout<0&&(this.resizeTimeout=setTimeout((function(){e.resizeTimeout=-1,e.view.requestMeasure()}),50))},e.prototype.onPrint=function(e){var t=this;("change"!=e.type&&e.type||e.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout((function(){t.view.viewState.printing=!1,t.view.requestMeasure()}),500))},e.prototype.updateGaps=function(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((function(t,n){return t!=e[n]})))){this.gapIntersection.disconnect();for(var t=0,n=e;tDate.now()-200&&e.inputState.lastTouchTime=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()},e.prototype.pendingRecords=function(){for(var e=0,t=this.observer.takeRecords();e-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;var o=new Cr(this.view,t,n,i);return this.view.docView.domChanged={newSel:o.newSel?o.newSel.main:null},o},e.prototype.flush=function(e){if(void 0===e&&(e=!0),this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();var t=this.readChange();if(!t)return this.view.requestMeasure(),!1;var n=this.view.state,i=Er(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),i},e.prototype.readMutation=function(e){var t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.flags|=4),"childList"==e.type){var n=zo(t,e.previousSibling||e.target.previousSibling,-1),i=zo(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:i?t.posBefore(i):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null},e.prototype.setWindow=function(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))},e.prototype.addWindowListeners=function(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)},e.prototype.removeWindowListeners=function(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)},e.prototype.update=function(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Bi)!=e.state.facet(Bi)&&(e.view.contentDOM.editContext=e.state.facet(Bi)?this.editContext.editContext:null))},e.prototype.destroy=function(){var e,t,n;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(n=this.resizeScroll)||void 0===n||n.disconnect();for(var i=0,r=this.scrollTargets;i0?t.nextSibling:t.previousSibling}return null}function qo(e,t){var n,i=t.startContainer,r=t.startOffset,o=t.endContainer,a=t.endOffset,s=e.docView.domAtPos(e.state.selection.main.anchor);return $t(s.node,s.offset,o,a)&&(i=(n=[o,a,i,r])[0],r=n[1],o=n[2],a=n[3]),{anchorNode:i,anchorOffset:r,focusNode:o,focusOffset:a}}var Wo=function(){function e(e){var t=this;this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);var n=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});for(var i in this.handlers.textupdate=function(i){var r=e.state.selection.main,o=r.anchor,a=(r.head,t.toEditorPos(i.updateRangeStart)),s=t.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!t.composing&&(t.composing={contextBase:i.updateRangeStart,editorBase:a,drifted:!1});var l=s-a>i.text.length;a==t.from&&ot.to&&(s=o);var c=Mr(e.state.sliceDoc(a,s),i.text,(l?r.from:r.to)-a,l?"end":null);if(c){var u={from:c.from+a,to:c.toA+a,insert:q.of(i.text.slice(c.from,c.toB).split("\n"))};if(t.pendingContextChange=u,!e.state.readOnly){var h=t.to-t.from+(u.to-u.from+u.insert.length);Sr(e,u,pe.single(t.toEditorPos(i.selectionStart,h),t.toEditorPos(i.selectionEnd,h)))}t.pendingContextChange&&(t.revertPending(e.state),t.setSelection(e.state)),u.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(n.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(n.text.length,i.updateRangeStart+1)))&&t.handlers.compositionend(i)}else{var p=pe.single(t.toEditorPos(i.selectionStart),t.toEditorPos(i.selectionEnd));p.main.eq(r)||e.dispatch({selection:p,userEvent:"select"})}},this.handlers.characterboundsupdate=function(i){for(var r=[],o=null,a=t.toEditorPos(i.rangeStart),s=t.toEditorPos(i.rangeEnd);a=r.to){if(r.from==o&&r.to==a&&r.insert.eq(c))return r=t.pendingContextChange=null,n+=u,void(t.to+=u);r=null,t.revertPending(e.state)}if(o+=n,(a+=n)<=t.from)t.from+=u,t.to+=u;else if(ot.to||t.to-t.from+c.length>3e4)return void(i=!0);t.editContext.updateText(t.toContextPos(o),t.toContextPos(a),c.toString()),t.to+=u}n+=u}})),r&&!i&&this.revertPending(e.state),!i},e.prototype.update=function(e){var t=this,n=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some((function(e){return!e.isUserEvent("input.type")&&e.changes.touchesRange(t.from,t.to)})))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):this.applyEdits(e)&&this.rangeIsValid(e.state)?(e.docChanged||e.selectionSet||n)&&this.setSelection(e.state):(this.pendingContextChange=null,this.reset(e.state)),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)},e.prototype.resetRange=function(e){var t=e.selection.main.head;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)},e.prototype.reset=function(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)},e.prototype.revertPending=function(e){var t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))},e.prototype.setSelection=function(e){var t=e.selection.main,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),i=this.toContextPos(t.head);this.editContext.selectionStart==n&&this.editContext.selectionEnd==i||this.editContext.updateSelection(n,i)},e.prototype.rangeIsValid=function(e){var t=e.selection.main.head;return!(this.from>0&&t-this.from<500||this.to3e4)},e.prototype.toEditorPos=function(e,t){void 0===t&&(t=this.to-this.from),e=Math.min(e,t);var n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from},e.prototype.toContextPos=function(e){var t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from},e.prototype.destroy=function(){for(var e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])},e}(),jo=function(){function e(e){void 0===e&&(e={});var t,n,i=this;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);var r=e.dispatch;this.dispatchTransactions=e.dispatchTransactions||r&&function(e){return e.forEach((function(e){return r(e,i)}))}||function(e){return i.update(e)},this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||(null===(t=e.parent)||void 0===t?void 0:t.ownerDocument)||document,this.viewState=new Co(e.state||nt.create(e)),e.scrollTo&&e.scrollTo.is(Fi)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Hi).map((function(e){return new qi(e)}));for(var o=0,a=this.plugins;o0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"compositionStarted",{get:function(){return!!this.inputState&&this.inputState.composing>=0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"root",{get:function(){return this._root},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"win",{get:function(){return this.dom.ownerDocument.defaultView||window},enumerable:!1,configurable:!0}),e.prototype.dispatch=function(){for(var e,t=[],n=0;ng.anchor?-1:1))}for(var y=0,b=v.effects;y-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();var i=null,r=this.scrollDOM,o=r.scrollTop*this.scaleY,a=this.viewState,s=a.scrollAnchorPos,l=a.scrollAnchorHeight;Math.abs(o-this.viewState.scrollTop)>1&&(l=-1),this.viewState.scrollAnchorHeight=-1;try{for(var c=0;;c++){if(l<0)if(fn(r))s=-1,l=this.viewState.heightMap.height;else{var u=this.viewState.scrollAnchorAt(o);s=u.from,l=u.top}this.updateState=1;var h=this.viewState.measure(this);if(!h&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(c>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}var p=[];4&h||(t=[p,this.measureRequests],this.measureRequests=t[0],p=t[1]);var d=p.map((function(e){try{return e.read(n)}catch(e){return Ri(n.state,e),_o}})),f=Ji.create(this,this.state,[]),m=!1;f.flags|=h,i?i.flags|=h:i=f,this.updateState=2,f.empty||(this.updatePlugins(f),this.inputState.update(f),this.updateAttrs(),(m=this.docView.update(f))&&this.docViewUpdate());for(var v=0;v1||y<-1){o+=y,r.scrollTop=o/this.scaleY,l=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(i&&!i.empty)for(var b=0,w=this.state.facet(Mi);b-1&&this.measure(!1)},e.prototype.requestMeasure=function(e){var t=this;if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame((function(){return t.measure()}))),e){if(this.measureRequests.indexOf(e)>-1)return;if(null!=e.key)for(var n=0;nr.from?t.head-1:t.head):null;if(o){var a=e.dom.getBoundingClientRect(),s=e.textDirectionAt(r.from),l=e.posAtCoords({x:n==(s==Xn.LTR)?a.right-1:a.left+1,y:(o.top+o.bottom)/2});if(null!=l)return pe.cursor(l,n?-1:1)}return pe.cursor(n?r.to:r.from,n?-1:1)}(this,e,t,n)},e.prototype.moveVertically=function(e,t,n){return vr(this,e,function(e,t,n,i){var r=t.head,o=n?1:-1;if(r==(n?e.state.doc.length:0))return pe.cursor(r,t.assoc);var a,s=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),c=e.coordsAtPos(r,t.assoc||-1),u=e.documentTop;if(c)null==s&&(s=c.left-l.left),a=o<0?c.top:c.bottom;else{var h=e.viewState.lineBlockAt(r);null==s&&(s=Math.min(l.right-l.left,e.defaultCharacterWidth*(r-h.from))),a=(o<0?h.top:h.bottom)+u}for(var p=l.left+s,d=null!=i?i:e.viewState.heightOracle.textHeight>>1,f=0;;f+=10){var m=a+(d+f)*o,v=ur(e,{x:p,y:m},!1,o);if(ml.bottom||(o<0?vr)){var g=e.docView.coordsForChar(v),y=!g||m0)},e.prototype.coordsForChar=function(e){return this.readMeasured(),this.docView.coordsForChar(e)},Object.defineProperty(e.prototype,"defaultCharacterWidth",{get:function(){return this.viewState.heightOracle.charWidth},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultLineHeight",{get:function(){return this.viewState.heightOracle.lineHeight},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textDirection",{get:function(){return this.viewState.defaultTextDirection},enumerable:!1,configurable:!0}),e.prototype.textDirectionAt=function(e){return!this.state.facet(Pi)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))},Object.defineProperty(e.prototype,"lineWrapping",{get:function(){return this.viewState.heightOracle.lineWrapping},enumerable:!1,configurable:!0}),e.prototype.bidiSpans=function(e){if(e.length>Uo)return gi(e.length);for(var t,n=this.textDirectionAt(e.from),i=0,r=this.bidiCache;iDate.now()-3e4)&&this.root.activeElement==this.contentDOM},enumerable:!1,configurable:!0}),e.prototype.focus=function(){var e=this;this.observer.ignore((function(){un(e.contentDOM),e.docView.updateSelection()}))},e.prototype.setRoot=function(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())},e.prototype.destroy=function(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(var e=0,t=this.plugins;e-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0},e.scrollIntoView=function(e,t){return void 0===t&&(t={}),Fi.of(new Oi("number"==typeof e?pe.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))},e.prototype.scrollSnapshot=function(){var e=this.scrollDOM,t=e.scrollTop,n=e.scrollLeft,i=this.viewState.scrollAnchorAt(t);return Fi.of(new Oi(pe.cursor(i.from),"start","start",i.top-t,n,!0))},e.prototype.setTabFocusMode=function(e){null==e?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof e?this.inputState.tabFocusMode=e?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+e)},e.domEventHandlers=function(e){return zi.define((function(){return{}}),{eventHandlers:e})},e.domEventObservers=function(e){return zi.define((function(){return{}}),{eventObservers:e})},e.theme=function(e,t){var n=Mt.newName(),i=[Ao.of(n),Qi.of(No(".".concat(n),e))];return t&&t.dark&&i.push(Po.of(!0)),i},e.baseTheme=function(e){return Te.lowest(Qi.of(No("."+Lo,e,Fo)))},e.findFromDOM=function(e){var t,n=e.querySelector(".cm-content"),i=n&&bn.get(n)||bn.get(e);return(null===(t=null==i?void 0:i.rootView)||void 0===t?void 0:t.view)||null},e}();jo.styleModule=Qi,jo.inputHandler=xi,jo.clipboardInputFilter=Di,jo.clipboardOutputFilter=Ai,jo.scrollHandler=Ii,jo.focusChangeEffect=Ti,jo.perLineTextDirection=Pi,jo.exceptionSink=Si,jo.updateListener=Mi,jo.editable=Bi,jo.mouseSelectionStyle=Ei,jo.dragMovesSelection=Ci,jo.clickAddsSelectionRange=ki,jo.decorations=Ui,jo.outerDecorations=_i,jo.atomicRanges=Gi,jo.bidiIsolatedRanges=Ki,jo.scrollMargins=Zi,jo.darkTheme=Po,jo.cspNonce=me.define({combine:function(e){return e.length?e[0]:""}}),jo.contentAttributes=ji,jo.editorAttributes=Wi,jo.lineWrapping=jo.contentAttributes.of({class:"cm-lineWrapping"}),jo.announce=Ue.define();var Uo=4096,_o={},Go=function(){function e(e,t,n,i,r,o){this.from=e,this.to=t,this.dir=n,this.isolates=i,this.fresh=r,this.order=o}return e.update=function(t,n){if(n.empty&&!t.some((function(e){return e.fresh})))return t;for(var i=[],r=t.length?t[t.length-1].dir:Xn.LTR,o=Math.max(0,t.length-10);o=0;r--){var o=i[r],a="function"==typeof o?o(e):o;a&&Ln(a,n)}return n}var Yo=Kt.mac?"mac":Kt.windows?"win":Kt.linux?"linux":"key";function Zo(e,t,n){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==n&&t.shiftKey&&(e="Shift-"+e),e}var Xo=Te.default(jo.domEventHandlers({keydown:function(e,t){return ra(Jo(t.state),e,t,"editor")}})),Qo=me.define({enables:Xo}),$o=new WeakMap;function Jo(e){var t=e.facet(Qo),n=$o.get(t);return n||$o.set(t,n=function(e,t){void 0===t&&(t=Yo);for(var n=Object.create(null),i=Object.create(null),r=function(e,t){var n=i[e];if(null==n)i[e]=t;else if(n!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},o=function(e,i,o,a,s){for(var l,c,u=n[e]||(n[e]=Object.create(null)),h=i.split(/ (?!$)/).map((function(e){return function(e,t){var n,i,r,o,a=e.split(/-(?!$)/),s=a[a.length-1];"Space"==s&&(s=" ");for(var l=0;l=e.viewport.to)return[];var i=Math.max(n.from,e.viewport.from),r=Math.min(n.to,e.viewport.to),o=e.textDirection==Xn.LTR,a=e.contentDOM,s=a.getBoundingClientRect(),l=aa(e),c=a.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),h=s.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),p=s.right-(u?parseInt(u.paddingRight):0),d=pr(e,i,1),f=pr(e,r,-1),m=d.type==Bn.Text?d:null,v=f.type==Bn.Text?f:null;if(m&&(e.lineWrapping||d.widgetLineBreaks)&&(m=sa(e,i,1,m)),v&&(e.lineWrapping||f.widgetLineBreaks)&&(v=sa(e,r,-1,v)),m&&v&&m.from==v.from&&m.to==v.to)return k(C(n.from,n.to,m));var g=m?C(n.from,null,m):E(d,!1),y=v?C(null,n.to,v):E(f,!0),b=[];return(m||d).to<(v||f).from-(m&&v?1:0)||d.widgetLineBreaks>1&&g.bottom+e.defaultLineHeight/2c&&m.from=g)break;E>v&&l(Math.max(C,v),null==t&&C<=c,Math.min(E,g),null==n&&E>=u,k.dir)}if((v=y.to+1)>=g)break}}return 0==s.length&&l(c,null==t,u,null==n,e.textDirection),{top:r,bottom:a,horizontal:s}}function E(e,t){var n=s.top+(t?e.top:e.bottom);return{top:n,bottom:n,horizontal:[]}}}var ca=function(){function e(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}return e.prototype.update=function(e){e.startState.facet(ua)!=e.state.facet(ua)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))},e.prototype.docViewUpdate=function(e){!1!==this.layer.updateOnDocViewUpdate&&e.requestMeasure(this.measureReq)},e.prototype.setOrder=function(e){for(var t=0,n=e.facet(ua);t=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}},e.prototype.destroy=function(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()},e}(),ua=me.define();function ha(e){return[zi.define((function(t){return new ca(t,e)})),ua.of(e)]}var pa=me.define({combine:function(e){return it(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:function(e,t){return Math.min(e,t)},drawRangeCursor:function(e,t){return e||t}})}});function da(e){return void 0===e&&(e={}),[pa.of(e),va,ya,ba,Li.of(!0)]}function fa(e){return e.facet(pa)}function ma(e){return e.startState.facet(pa)!=e.state.facet(pa)}var va=ha({above:!0,markers:function(e){for(var t=e.state,n=t.facet(pa),i=[],r=0,o=t.selection.ranges;ra.anchor?-1:1),u=0,h=oa.forRange(e,l,c);u=s?i[i.length-1].to=l:i.push({from:s,to:l})}return i}(e,this.maxLength);r=e.view.viewport.from&&o<=e.view.viewport.to&&(n=Math.min(o,n),i=Math.max(a,i))})),e.viewportMoved||i-n>1e3?this.createDeco(e.view):i>-1?this.updateRange(e.view,t.map(e.changes),n,i):t},e.prototype.updateRange=function(e,t,n,i){for(var r=this,o=function(o){var s=Math.max(o.from,n),l=Math.min(o.to,i);if(l>=s){var c=e.state.doc.lineAt(s),u=c.toc.from;s--)if(a.boundary.test(c.text[s-1-c.from])){h=s;break}for(;lp},add:d})}},a=this,s=0,l=e.visibleRanges;s=32?"•":10==e?"␤":String.fromCharCode(9216+e)}(this.code),n=e.state.phrase("Control character")+" "+(Da[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,n,t);if(i)return i;var r=document.createElement("span");return r.textContent=t,r.title=n,r.setAttribute("aria-label",n),r.className="cm-specialChar",r},t.prototype.ignoreEvent=function(){return!1},t}(Rn),Fa=function(e){function t(t){var n=e.call(this)||this;return n.width=t,n}return m(t,e),t.prototype.eq=function(e){return e.width==this.width},t.prototype.toDOM=function(){var e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e},t.prototype.ignoreEvent=function(){return!1},t}(Rn),Na=zi.fromClass(function(){function e(){this.height=1e3,this.attrs={style:"padding-bottom: 1000px"}}return e.prototype.update=function(e){var t=e.view,n=t.viewState.editorHeight-t.defaultLineHeight-t.documentPadding.top-.5;n>=0&&n!=this.height&&(this.height=n,this.attrs={style:"padding-bottom: ".concat(n,"px")})},e}());function Ra(){return[Na,ji.of((function(e){var t;return(null===(t=e.plugin(Na))||void 0===t?void 0:t.attrs)||null}))]}function Ba(){return Ha}var Va=Vn.line({class:"cm-activeLine"}),Ha=zi.fromClass(function(){function e(e){this.decorations=this.getDeco(e)}return e.prototype.update=function(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))},e.prototype.getDeco=function(e){for(var t=-1,n=[],i=0,r=e.state.selection.ranges;it&&(n.push(Va.range(a.from)),t=a.from)}return Vn.set(n)},e}(),{decorations:function(e){return e.decorations}}),za=function(e){function t(t){var n=e.call(this)||this;return n.content=t,n}return m(t,e),t.prototype.toDOM=function(e){var t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild("string"==typeof this.content?document.createTextNode(this.content):"function"==typeof this.content?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t},t.prototype.coordsAt=function(e){var t=e.firstChild?Qt(e.firstChild):[];if(!t.length)return null;var n=window.getComputedStyle(e.parentNode),i=rn(t[0],"rtl"!=n.direction),r=parseInt(n.lineHeight);return i.bottom-i.top>1.5*r?{left:i.left,right:i.right,top:i.top,bottom:i.top+r}:i},t.prototype.ignoreEvent=function(){return!1},t}(Rn);function qa(e){var t=zi.fromClass(function(){function t(t){this.view=t,this.placeholder=e?Vn.set([Vn.widget({widget:new za(e),side:1}).range(0)]):Vn.none}return Object.defineProperty(t.prototype,"decorations",{get:function(){return this.view.state.doc.length?Vn.none:this.placeholder},enumerable:!1,configurable:!0}),t}(),{decorations:function(e){return e.decorations}});return"string"==typeof e?[t,jo.contentAttributes.of({"aria-placeholder":e})]:t}var Wa=2e3;function ja(e,t){var n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),i=e.state.doc.lineAt(n),r=n-i.from,o=r>Wa?-1:r==i.length?function(e,t){var n=e.coordsAtPos(e.viewport.from);return n?Math.round(Math.abs((n.left-t)/e.defaultCharacterWidth)):-1}(e,t.clientX):wt(i.text,e.state.tabSize,n-i.from);return{line:i.number,col:o,off:r}}function Ua(e,t){var n=ja(e,t),i=e.state.selection;return n?{update:function(e){if(e.docChanged){var t=e.changes.mapPos(e.startState.doc.line(n.line).from),r=e.state.doc.lineAt(t);n={line:r.number,col:n.col,off:Math.min(n.off,r.length)},i=i.map(e.changes)}},get:function(t,r,o){var a=ja(e,t);if(!a)return i;var s=function(e,t,n){var i=Math.min(t.line,n.line),r=Math.max(t.line,n.line),o=[];if(t.off>Wa||n.off>Wa||t.col<0||n.col<0)for(var a=Math.min(t.off,n.off),s=Math.max(t.off,n.off),l=i;l<=r;l++)(h=e.doc.line(l)).length<=s&&o.push(pe.range(h.from+a,h.to+s));else{var c=Math.min(t.col,n.col),u=Math.max(t.col,n.col);for(l=i;l<=r;l++){var h,p=kt((h=e.doc.line(l)).text,c,e.tabSize,!0);if(p<0)o.push(pe.cursor(h.to));else{var d=kt(h.text,u,e.tabSize);o.push(pe.range(h.from+p,h.from+d))}}}return o}(e.state,n,a);return s.length?o?pe.create(s.concat(i.ranges)):pe.create(s):i}}:null}function _a(e){var t=(null==e?void 0:e.eventFilter)||function(e){return e.altKey&&0==e.button};return jo.mouseSelectionStyle.of((function(e,n){return t(n)?Ua(e,n):null}))}var Ga={Alt:[18,function(e){return!!e.altKey}],Control:[17,function(e){return!!e.ctrlKey}],Shift:[16,function(e){return!!e.shiftKey}],Meta:[91,function(e){return!!e.metaKey}]},Ka={style:"cursor: crosshair"};function Ya(e){void 0===e&&(e={});var t=Ga[e.key||"Alt"],n=t[0],i=t[1],r=zi.fromClass(function(){function e(e){this.view=e,this.isDown=!1}return e.prototype.set=function(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))},e}(),{eventObservers:{keydown:function(e){this.set(e.keyCode==n||i(e))},keyup:function(e){e.keyCode!=n&&i(e)||this.set(!1)},mousemove:function(e){this.set(i(e))}}});return[r,jo.contentAttributes.of((function(e){var t;return(null===(t=e.plugin(r))||void 0===t?void 0:t.isDown)?Ka:null}))]}var Za="-10000px",Xa=function(){function e(e,t,n,i){this.facet=t,this.createTooltipView=n,this.removeTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter((function(e){return e}));var r=null;this.tooltipViews=this.tooltips.map((function(e){return r=n(e,r)}))}return e.prototype.update=function(e,t){var n,i=e.state.facet(this.facet),r=i.filter((function(e){return e}));if(i===this.input){for(var o=0,a=this.tooltipViews;ot.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&t.measureSoon()}),{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}return e.prototype.createContainer=function(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom},e.prototype.observeIntersection=function(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(var e=0,t=this.manager.tooltipViews;e .cm-tooltip-arrow")){var r=document.createElement("div");r.className="cm-tooltip-arrow",n.dom.appendChild(r)}return n.dom.style.position=this.position,n.dom.style.top=Za,n.dom.style.left="0px",this.container.insertBefore(n.dom,i),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n},e.prototype.destroy=function(){var e,t,n;this.view.win.removeEventListener("resize",this.measureSoon);for(var i=0,r=this.manager.tooltipViews;i1||Math.abs(a.left)>1}else r=!!o.offsetParent&&o.offsetParent!=this.container.ownerDocument.body}(r||"absolute"==this.position)&&(this.parent?(a=this.parent.getBoundingClientRect()).width&&a.height&&(n=a.width/this.parent.offsetWidth,i=a.height/this.parent.offsetHeight):(n=(e=this.view.viewState).scaleX,i=e.scaleY));var s=this.view.scrollDOM.getBoundingClientRect(),l=Xi(this.view);return{visible:{left:s.left+l.left,top:s.top+l.top,right:s.right-l.right,bottom:s.bottom-l.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((function(e,n){var i=t.manager.tooltipViews[n];return i.getCoords?i.getCoords(e.pos):t.view.coordsAtPos(e.pos)})),size:this.manager.tooltipViews.map((function(e){return e.dom.getBoundingClientRect()})),space:this.view.state.facet(Ja).tooltipSpace(this.view),scaleX:n,scaleY:i,makeAbsolute:r}},e.prototype.writeMeasure=function(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(var n=0,i=this.manager.tooltipViews;n=Math.min(r.bottom,o.bottom)||d.rightMath.min(r.right,o.right)+.1))p.style.top=Za;else{var m=u.arrow?h.dom.querySelector(".cm-tooltip-arrow"):null,v=m?7:0,g=f.right-f.left,y=null!==(t=es.get(h))&&void 0!==t?t:f.bottom-f.top,b=h.offset||rs,w=this.view.textDirection==Xn.LTR,k=f.width>o.right-o.left?w?o.left:o.right-f.width:w?Math.max(o.left,Math.min(d.left-(m?14:0)+b.x,o.right-g)):Math.min(Math.max(o.left,d.left-g+(m?14:0)-b.x),o.right-g),C=this.above[c];!u.strictSide&&(C?d.top-y-v-b.yo.bottom)&&C==o.bottom-d.bottom>d.top-o.top&&(C=this.above[c]=!C);var E=(C?d.top-o.top:o.bottom-d.bottom)-v;if(Ek&&D.topS&&(S=C?D.top-y-2-v:D.bottom+v+2)}if("absolute"==this.position?(p.style.top=(S-e.parent.top)/s+"px",ns(p,(k-e.parent.left)/a)):(p.style.top=S/s+"px",ns(p,k/a)),m){var A=d.left+(w?b.x:-b.x)-(k+14-7);m.style.left=A/a+"px"}!0!==h.overlap&&l.push({left:k,top:S,right:M,bottom:S+y}),p.classList.toggle("cm-tooltip-above",C),p.classList.toggle("cm-tooltip-below",!C),h.positioned&&h.positioned(e.space)}}},e.prototype.maybeMeasure=function(){if(this.manager.tooltips.length){var e=!this.hideWhenBlur||this.view.hasFocus;if(!e)for(var t=0,n=this.manager.tooltipViews;t1)&&(e.style.left=t+"px")}var is=jo.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"".concat(7,"px"),width:"".concat(14,"px"),position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"".concat(7,"px solid transparent"),borderRight:"".concat(7,"px solid transparent")},".cm-tooltip-above &":{bottom:"-".concat(7,"px"),"&:before":{borderTop:"".concat(7,"px solid #bbb")},"&:after":{borderTop:"".concat(7,"px solid #f5f5f5"),bottom:"1px"}},".cm-tooltip-below &":{top:"-".concat(7,"px"),"&:before":{borderBottom:"".concat(7,"px solid #bbb")},"&:after":{borderBottom:"".concat(7,"px solid #f5f5f5"),top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),rs={x:0,y:0},os=me.define({enables:[ts,is]}),as=me.define({combine:function(e){return e.reduce((function(e,t){return e.concat(t)}),[])}}),ss=function(){function e(e){var t=this;this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Xa(e,as,(function(e,n){return t.createHostedView(e,n)}),(function(e){return e.dom.remove()}))}return e.create=function(t){return new e(t)},e.prototype.createHostedView=function(e,t){var n=e.create(this.view);return n.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(n.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&n.mount&&n.mount(this.view),n},e.prototype.mount=function(e){for(var t=0,n=this.manager.tooltipViews;ta.bottom||n.xa.right+t.defaultCharacterWidth)return;var s=t.bidiSpans(t.state.doc.lineAt(r)).find((function(e){return e.from<=r&&e.to>=r})),l=s&&s.dir==Xn.RTL?-1:1;o=n.x-1?e.manager.tooltipViews[t]:null},enumerable:!1,configurable:!0}),e.prototype.mousemove=function(e){var t,n;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));var i=this.active,r=this.tooltip;if(i.length&&r&&!function(e,t){var n,i=e.getBoundingClientRect(),r=i.left,o=i.right,a=i.top,s=i.bottom;if(n=e.querySelector(".cm-tooltip-arrow")){var l=n.getBoundingClientRect();a=Math.min(l.top,a),s=Math.max(l.bottom,s)}return t.clientX>=r-us&&t.clientX<=o+us&&t.clientY>=a-us&&t.clientY<=s+us}(r.dom,e)||this.pending){var o=(i[0]||this.pending).pos,a=null!==(n=null===(t=i[0])||void 0===t?void 0:t.end)&&void 0!==n?n:o;(o==a?this.view.posAtCoords(this.lastMove)==o:function(e,t,n,i,r){var o=e.scrollDOM.getBoundingClientRect(),a=e.documentTop+e.documentPadding.top+e.contentHeight;if(o.left>i||o.rightr||Math.min(o.bottom,a)=t&&s<=n}(this.view,o,a,e.clientX,e.clientY))||(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}},e.prototype.mouseleave=function(e){if(clearTimeout(this.hoverTimeout),this.hoverTimeout=-1,this.active.length){var t=this.tooltip;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of([])})}},e.prototype.watchTooltipLeave=function(e){var t=this,n=function(i){e.removeEventListener("mouseleave",n),t.active.length&&!t.view.dom.contains(i.relatedTarget)&&t.view.dispatch({effects:t.setHover.of([])})};e.addEventListener("mouseleave",n)},e.prototype.destroy=function(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)},e}(),us=4;function hs(e,t){void 0===t&&(t={});var n=Ue.define(),i=ke.define({create:function(){return[]},update:function(e,i){if(e.length&&(t.hideOnChange&&(i.docChanged||i.selection)?e=[]:t.hideOn&&(e=e.filter((function(e){return!t.hideOn(i,e)}))),i.docChanged)){for(var r=[],o=0,a=e;o-1?n.panels[i]:null}var ws=zi.fromClass(function(){function e(e){this.input=e.state.facet(Es),this.specs=this.input.filter((function(e){return e})),this.panels=this.specs.map((function(t){return t(e)}));var t=e.state.facet(gs);this.top=new ks(e,!0,t.topContainer),this.bottom=new ks(e,!1,t.bottomContainer),this.top.sync(this.panels.filter((function(e){return e.top}))),this.bottom.sync(this.panels.filter((function(e){return!e.top})));for(var n=0,i=this.panels;n-1&&e.dispatch({effects:o})})),t}))}}function Ms(e,t){for(var n=0,i=e.state.field(xs,!1)||[];nthis.i;){var t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}},e}(),Ws=function(){function e(e,t){var n=this;this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");var i=function(i){r.dom.addEventListener(i,(function(r){var o,a=r.target;if(a!=n.dom&&n.dom.contains(a)){for(;a.parentNode!=n.dom;)a=a.parentNode;var s=a.getBoundingClientRect();o=(s.top+s.bottom)/2}else o=r.clientY;var l=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[i](e,l,r)&&r.preventDefault()}))},r=this;for(var o in t.domEventHandlers)i(o);this.markers=Vs(t.markers(e)),t.initialSpacer&&(this.spacer=new js(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}return e.prototype.update=function(e){var t=this.markers;if(this.markers=Vs(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){var n=this.config.updateSpacer(this.spacer.markers[0],e);n!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[n])}var i=e.view.viewport;return!lt.eq(this.markers,t,i.from,i.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)},e.prototype.destroy=function(){for(var e=0,t=this.elements;en&&(n=a,t.push($s.range(a)))}return lt.of(t)}));function el(){return Js}function tl(e){return zi.define((function(t){return{decorations:e.createDeco(t),update:function(t){this.decorations=e.updateDeco(t,this.decorations)}}}),{decorations:function(e){return e.decorations}})}var nl=Vn.mark({class:"cm-highlightTab"}),il=Vn.mark({class:"cm-highlightSpace"}),rl=tl(new Ma({regexp:/\t| /g,decoration:function(e){return"\t"==e[0]?nl:il},boundary:/\S/}));function ol(){return rl}var al=tl(new Ma({regexp:/\s+$/g,decoration:Vn.mark({class:"cm-trailingSpace"})}));function sl(){return al}var ll={HeightMap:lo,HeightOracle:io,MeasuredHeights:ro,QueryType:ao,ChangedRange:$i,computeOrder:vi,moveVisually:bi,clearHeightChangeFlag:no,getHeightChangeFlag:function(){return to}},cl={height:"",paddingTop:"",paddingBottom:"",marginTop:"",marginBottom:""},ul=new WeakMap,hl=function(){function e(e){this.from={},this.to={},this.end={};var t=e||{},n=t.duration,i=void 0===n?100:n,r=t.fn,o=void 0===r?"ease-in-out":r;this.duration=i,this.fn=o}return e.prototype.addProp=function(e,t,n,i){return void 0===i&&(i=null),null!==t&&(this.from[e]=t),null!==n&&(this.to[e]=n),null!==i&&(this.end[e]=i),this},e}();function pl(e,t){for(var n in t)t.hasOwnProperty(n)&&(e.style[n]=t[n])}function dl(e){var t=window.getComputedStyle(e),n={};for(var i in cl)if(cl.hasOwnProperty(i)){var r=t[i];if(r&&r.endsWith("px")){var o=parseFloat(r.substr(0,r.length-2));0!==o&&(n[i]=o)}}return n}function fl(e,t){var n,i=ul.get(e);ul.delete(e),i&&(e.style.transition="",e.style.transitionProperty="",pl(e,i.props.end),i.win.clearTimeout(i.timer),e.removeEventListener("transitionend",i.fn),t||null===(n=i.complete)||void 0===n||n.call(i))}var ml=null;function vl(e,t,n){fl(e),pl(e,t.from);var i={props:t,fn:function(){return fl(e)},timer:0,complete:n,win:e.win};ul.set(e,i);null===ml&&(ml=[],setTimeout((function(){document.body.offsetHeight;var e=ml;ml=null;for(var t=0,n=e;t-1,_l=/^((?!chrome|android).)*safari/i.test(zl),Gl=/android/i.test(zl);function Kl(e){return ql&&0===e.button&&e.ctrlKey}var Yl={isDesktop:!1,isMobile:!1,isDesktopApp:!1,isMobileApp:!1,isIosApp:!1,isAndroidApp:!1,isPhone:!1,isTablet:!1,isMacOS:ql,isWin:Wl,isLinux:jl,isSafari:_l,resourcePathPrefix:"file:///",get canExportPdf(){return Yl.isDesktopApp},get canPopoutWindow(){return Yl.isDesktopApp&&Yl.isDesktop},get canStackTabs(){return!Yl.isPhone},get canSplit(){return!Yl.isPhone},get canDisplayRibbon(){return!Yl.isPhone},get canPinSidebar(){return Yl.isMobile&&!Yl.isPhone},supportsIndexedDb:!!window.indexedDB,mobileSoftKeyboardVisible:!1,hasPhysicalKeyboard:!1};var Zl=/[&<>"]/,Xl=/[&<>"]/g,Ql={"&":"&","<":"<",">":">",'"':"""};function $l(e){return Ql[e]}Object.prototype.hasOwnProperty;function Jl(e,t){var n=e[t];Object.defineProperty(e,t,{get:function(){return n},set:function(){}})}var ec=/&(amp|lt|gt|quot);/g,tc={"&":"&","<":"<",">":">",""":'"'};function nc(e){return tc[e]}function ic(e){return e.replace(ec,nc)}var rc=/[.?*+^$[\]\\(){}|-]/g;function oc(e){return e.replace(rc,"\\$&")}function ac(e){return Array.from(new Set(e))}var sc=function(){function e(){this.data=new Map}return e.prototype.add=function(e,t){var n=this.data,i=n.get(e);i||(i=[],n.set(e,i)),i.contains(t)||i.push(t)},e.prototype.remove=function(e,t){var n=this.data;if(n.has(e)){var i=n.get(e);i.remove(t),0===i.length&&n.delete(e)}},e.prototype.get=function(e){return this.data.get(e)||null},e.prototype.keys=function(){return Array.from(this.data.keys())},e.prototype.clear=function(e){this.data.delete(e)},e.prototype.clearAll=function(){this.data.clear()},e.prototype.contains=function(e,t){var n=this.data.get(e);return!!n&&n.contains(t)},e.prototype.count=function(){for(var e=this.data,t=0,n=0,i=this.keys();n=t);)i++,n++;return n}!function(){function e(){this.data=new Map}e.prototype.add=function(e,t){var n=this.data;n.has(e)?n.get(e).push(t):n.set(e,[t])},e.prototype.delete=function(e,t){var n=this.data;if(n.has(e)){var i=n.get(e);i.remove(t),0===i.length&&n.delete(e)}},e.prototype.get=function(e){return this.data.get(e)}}();var hc=function(){function e(){this.data=new Map}return e.prototype.add=function(e,t){var n=this.data;n.has(e)?n.get(e).add(t):n.set(e,new Set([t]))},e.prototype.delete=function(e,t){var n=this.data;if(n.has(e)){var i=n.get(e);i.delete(t),0===i.size&&n.delete(e)}},e.prototype.get=function(e){return this.data.get(e)},e.prototype.getArray=function(e){var t=this.data;return t.has(e)?Array.from(t.get(e)):[]},e}();function pc(e){return"object"!=typeof e}function dc(e,t){if(void 0===t&&(t="\t"),void 0!==e)return fc(e,t).join("\n")}function fc(e,t){if(void 0===e)return["null"];if(pc(e)||!e||"[object Date]"===Object.prototype.toString.call(e))return[JSON.stringify(e)];if(Array.isArray(e)){if(e.every(pc))return[JSON.stringify(e)];for(var n=["["],i=e.length-1,r=0;r<=i;r++)for(var o=(h=fc(e[r],t)).length-1,a=0;a<=o;a++){var s="\t"+h[a];a===o&&r!==i&&(s+=","),n.push(s)}return n.push("]"),n}if("object"==typeof e){var l=!0;for(var c in e)if(e.hasOwnProperty(c)&&!pc(e[c])){l=!1;break}if(l)return[JSON.stringify(e)];n=["{"];var u=Object.keys(e).filter((function(t){return void 0!==e[t]}));for(i=u.length-1,r=0;r<=i;r++){var h;c=u[r];(h=fc(e[c],t))[0]=JSON.stringify(c)+":"+h[0];for(o=h.length-1,a=0;a<=o;a++){s="\t"+h[a];a===o&&r!==i&&(s+=","),n.push(s)}}return n.push("}"),n}return[""]}function mc(e,t){for(var n=0,i=e.length-1;n<=i;){var r=Math.floor((n+i)/2),o=e[r],a=t(o);if(0===a)return o;a<0?i=r-1:n=r+1}return null}function vc(e,t){if(void 0===t&&(t=!1),Array.isArray(e)){var n=e;return t&&(n=n.filter((function(e){return null!=e}))),n.every((function(e){return"string"==typeof e}))}return!1}function gc(e,t){return e.length<=t?e:e.slice(0,t-1).trim()+"…"}var yc=function(e){return JSON.parse(JSON.stringify(e))};function bc(e,t,n){for(var i=0,r=Object.keys(e);i0&&n.requestIdleCallback){var i=!1,r=n.requestIdleCallback((function(){i=!0,n.clearTimeout(o),e()}),{timeout:t}),o=n.setTimeout((function(){i=!0,n.cancelIdleCallback(r),e()}),t);return{high:!1,cancel:function(){i||(i=!0,n.cancelIdleCallback(r),n.clearTimeout(o))}}}var a=n.requestAnimationFrame(e);return{high:!0,cancel:function(){return n.cancelAnimationFrame(a)}}}function Lc(e,t){var n=e.relatedTarget;return!n||!t.contains(n)}function Ic(e){e.addEventListener("mousedown",(function(e){1===e.button&&e.preventDefault()}))}var Oc,Fc=/bot|crawl|spider/i.test(navigator.userAgent);function Nc(){Oc&&Oc()}var Rc="mobile-tap",Bc="a, button, .tappable, .is-clickable, .clickable-icon, .text-icon-button, .suggestion-item",Vc=null;var Hc={sx:0,sy:0,ex:0,ey:0,t:0};function zc(e,t){var n=0,i=0,r=0,o=0,a=function(e){if(1===e.touches.length){var t=e.touches[0];n=t.identifier,i=t.clientX,r=t.clientY,o=Date.now(),window.addEventListener("touchend",s),window.addEventListener("touchcancel",s)}},s=function(e){var a=Wc(e,n);if((0===e.touches.length||a)&&(window.removeEventListener("touchend",s),window.removeEventListener("touchcancel",s),"touchend"===e.type&&a&&Date.now()-o<600&&Math.abs(i-a.clientX)<5&&Math.abs(r-a.clientY)<5)){var l=new MouseEvent("click",{clientX:a.clientX,clientY:a.clientY,button:0,buttons:0,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey,metaKey:e.metaKey,bubbles:!0,cancelable:!0});Object.defineProperty(l,"target",{writable:!1,value:e.target}),t(l,e.target),l.defaultPrevented&&e.preventDefault()}};return e.addEventListener("touchstart",a),function(){return e.removeEventListener("touchstart",a)}}function qc(e){return Hc&&Date.now()-Hc.t<1e3&&(Math.abs(e.clientX-Hc.sx)<5&&Math.abs(e.clientY-Hc.sy)<5||Math.abs(e.clientX-Hc.ex)<5&&Math.abs(e.clientY-Hc.ey)<5)}function Wc(e,t){for(var n=e.changedTouches,i=0;it.clientHeight?t:jc(t)}function Uc(e,t,n,i,r,o){var a,s,l=Yl.isMobile;i*=i,s=function(e,a){if(n.firstChild!==n.lastChild){e.preventDefault();var s,c=e.win,u=e.win.document,h=a.clientX,p=a.clientY,d=!1,f=!l,m=t.getBoundingClientRect(),v=h-m.x,g=p-m.y,y=0,b=null;c.setTimeout((function(){d||(f=!0,e instanceof TouchEvent&&(Ll(c,h,p),navigator.vibrate(200)))}),250);var w=0,k=0,C=0,E=jc(n),S=E.getBoundingClientRect(),M=function(e){var i,r=Array.from(n.childNodes);for(i=0;i=i)||!f)return!0;var E=t.offsetWidth,T=t.offsetHeight;b=createDiv("drag-reorder-ghost");var D=t.cloneNode(!0);D.setAttribute("aria-label",null),b.appendChild(D),D.style.width=E+"px",D.style.height=T+"px",u.body.appendChild(b),u.body.addClass("is-grabbing"),t.addClass("drag-ghost-hidden"),r();var A=b.getBoundingClientRect(),P=D.getBoundingClientRect();v+=P.x-A.x,g+=P.y-A.y,y=A.height,s=c.setInterval(x,1e3/60)}e.preventDefault();var L=Math.min(50,S.height/3),I=S.top+L,O=S.bottom-L,F=a-g,N=F+y;return FO?w=(N-O)/L:(w=0,k=0),w=10*Math.clamp(w,-1,1),M(C),b.style.left=o-v+"px",b.style.top=a-g+"px",!0},end:function(e,i){if(b){e.preventDefault();var r=M(C);u.body.removeClass("is-grabbing"),t.removeClass("drag-ghost-hidden"),t.detach(),b.detach();var a=n.childNodes[r];n.insertBefore(t,a),c.clearInterval(s),o(r)}else e.instanceOf(TouchEvent)&&e.target.dispatchEvent(new MouseEvent("click",{button:0,buttons:0,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,screenX:i.screenX,screenY:i.screenY,bubbles:!0,cancelable:!0,clientX:h,clientY:p}))}}}},(a=e).addEventListener("mousedown",(function(e){if(0===e.button&&!qc(e)){var t=s(e,e);if(t){var n=function(e){t.move(e,e)||o()},i=function(e){o(),t.end(e,e)},r=e.win,o=function(){r.removeEventListener("mousemove",n),r.removeEventListener("mouseup",i)};r.addEventListener("mousemove",n),r.addEventListener("mouseup",i)}}})),a.addEventListener("touchstart",(function(e){if(!(e.touches.length>1)){var t=e.touches[0],n=s(e,t);if(n){var i=t.identifier,r=function(e){var t=Wc(e,i);t&&(c(),n.end(e,t))},o=function(e){var t=Wc(e,i);t&&(c(),n.end(e,t))},a=function(e){var t=Wc(e,i);t&&(n.move(e,t)||c())},l=e.win,c=function(){l.removeEventListener("touchcancel",o),l.removeEventListener("touchend",r),l.removeEventListener("touchmove",a)};l.addEventListener("touchcancel",o),l.addEventListener("touchend",r),l.addEventListener("touchmove",a,{passive:!1})}}}),{passive:!1})}function _c(e){for(var t=0,n=e.findAll("audio, video");t()[\]\\.,;:\s@\"`]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))\b/;function Xc(e){return Zc.test(e)}function Qc(e,t,n){return y(this,void 0,Promise,(function(){return b(this,(function(i){return[2,new Promise((function(i){return e.toBlob(i,t,n)}))]}))}))}var $c=/\u00A0|\u202F/g;function Jc(e){return e.replace($c," ")}function eu(e){var t=e.lastIndexOf("/");return-1===t?e:e.slice(t+1)}function tu(e){var t=e.lastIndexOf("/");return-1===t?"":e.slice(0,t)}function nu(e){for(;e;){if(eu(e).startsWith("."))return!0;e=tu(e)}return!1}function iu(e){var t=eu(e),n=t.lastIndexOf(".");return-1===n||n===t.length-1||0===n?t:t.substr(0,n)}function ru(e){var t=e.lastIndexOf(".");return-1===t||t===e.length-1||0===t?e:e.substr(0,t)}function ou(e){var t=e.lastIndexOf(".");return-1===t||t===e.length-1||0===t?"":e.substr(t+1).toLowerCase()}function au(e,t){return t?e+"."+t:e}function su(e,t){return ou(e)===t}function lu(e){return Jc(cu(e)).normalize("NFC")}function cu(e){return""===(e=e.replace(/([\\/])+/g,"/").replace(/(^\/+|\/+$)/g,""))&&(e="/"),e}function uu(e){var t=eu(e);return"md"===ou(t)?iu(t):t}function hu(e){return"md"===ou(eu(e))?ru(e):e}var pu={"image/bmp":"bmp","image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/svg+xml":"svg","image/webp":"webp","image/avif":"avif","audio/mp3":"mp3","audio/wav":"wav","audio/m4a":"m4a","audio/3gp":"3gp","audio/flac":"flac","audio/ogg":"opus","video/mp4":"mp4","video/webm":"webm","video/ogg":"ogv","application/ogg":"ogg","video/quicktime":"mov","video/x-matroska":"mkv","application/pdf":"pdf"};function du(e){return pu.hasOwnProperty(e)?pu[e]:""}function fu(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function mu(e){return Buffer.from(e)}function vu(e){return{ctime:Math.round(e.birthtimeMs),mtime:Math.round(e.mtimeMs),size:e.size}}var gu=window.process,yu=gu?gu.platform:"",bu="darwin"===yu,wu="win32"===yu,ku=bu||wu,Cu=function(){function e(e){this.thingsHappening=wc(this.kill.bind(this),6e4,!0),this.basePath=e,this.fs=window.require("original-fs"),this.fsPromises=this.fs.promises,this.path=window.require("path"),this.url=window.require("url");var t=window.require("electron");this.ipcRenderer=t.ipcRenderer,this.files={},this.promise=Promise.resolve(),this.watcher=null,this.watchers={},this.handler=null;try{this.btime=window.require("btime")}catch(e){}this.insensitive=bu||wu;try{this.testInsensitive()}catch(e){console.error(e)}}return e.prototype.testInsensitive=function(){var e=this,t=e.fs,n=e.path,i=e.basePath,r=n.join(i,".OBSIDIANTEST"),o=n.join(i,".OBSIDIANTEST".toLowerCase());t.existsSync(r)&&t.unlinkSync(r),t.writeFileSync(r,"","utf8"),this.insensitive=t.existsSync(o),t.unlinkSync(r)},e.prototype.getName=function(){return this.path.basename(this.basePath)},e.prototype.getBasePath=function(){return this.basePath},e.prototype.listAll=function(){return y(this,void 0,Promise,(function(){return b(this,(function(e){switch(e.label){case 0:return this.files["/"]={type:"folder",realpath:"/"},[4,this.listRecursive("")];case 1:return e.sent(),[2]}}))}))},e.prototype.listRecursive=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r,o,a;return b(this,(function(s){switch(s.label){case 0:return t=this.getFullRealPath(e),[4,this.fsPromises.readdir(t)];case 1:for(n=s.sent(),this.thingsHappening(),i=[],r=0,o=n;r0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isSkipped",{get:function(){return(2&this.flags)>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isError",{get:function(){return(4&this.flags)>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isAnonymous",{get:function(){return(8&this.flags)>0},enumerable:!1,configurable:!0}),e.prototype.is=function(e){if("string"==typeof e){if(this.name==e)return!0;var t=this.prop(xu.group);return!!t&&t.indexOf(e)>-1}return this.id==e},e.match=function(e){var t=Object.create(null);for(var n in e)for(var i=0,r=n.split(" ");i=t){var l=new zu(s.tree,s.overlay[0].from+o.from,-1,o);(r||(r=[i])).push(Vu(l,t,n,!1))}}return r?_u(r):i}(this,e,t)},e.prototype.iterate=function(e){for(var t=e.enter,n=e.leave,i=e.from,r=void 0===i?0:i,o=e.to,a=void 0===o?this.length:o,s=e.mode||0,l=(s&Pu.IncludeAnonymous)>0,c=this.cursor(s|Pu.IncludeAnonymous);;){var u=!1;if(c.from<=a&&c.to>=r&&(!l&&c.type.isAnonymous||!1!==t(c))){if(c.firstChild())continue;u=!0}for(;u&&n&&(l||!c.type.isAnonymous)&&n(c),!c.nextSibling();){if(!c.parent())return;u=!0}}},e.prototype.prop=function(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)},Object.defineProperty(e.prototype,"propValues",{get:function(){var e=[];if(this.props)for(var t in this.props)e.push([+t,this.props[t]]);return e},enumerable:!1,configurable:!0}),e.prototype.balance=function(t){var n=this;return void 0===t&&(t={}),this.children.length<=8?this:$u(Au.none,this.children,this.positions,0,this.children.length,0,this.length,(function(t,i,r){return new e(n.type,t,i,r,n.propValues)}),t.makeTree||function(t,n,i){return new e(Au.none,t,n,i)})},e.build=function(e){return Zu(e)},e}();Fu.empty=new Fu(Au.none,[],[],0);var Nu=function(){function e(e,t){this.buffer=e,this.index=t}return Object.defineProperty(e.prototype,"id",{get:function(){return this.buffer[this.index-4]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"start",{get:function(){return this.buffer[this.index-3]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"end",{get:function(){return this.buffer[this.index-2]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"size",{get:function(){return this.buffer[this.index-1]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pos",{get:function(){return this.index},enumerable:!1,configurable:!0}),e.prototype.next=function(){this.index-=4},e.prototype.fork=function(){return new e(this.buffer,this.index)},e}(),Ru=function(){function e(e,t,n){this.buffer=e,this.length=t,this.set=n}return Object.defineProperty(e.prototype,"type",{get:function(){return Au.none},enumerable:!1,configurable:!0}),e.prototype.toString=function(){for(var e=[],t=0;t0));s=o[s+3]);return a},e.prototype.slice=function(t,n,i){for(var r=this.buffer,o=new Uint16Array(n-t),a=0,s=t,l=0;s=t&&nt;case 1:return n<=t&&i>t;case 2:return i>t;case 4:return!0}}function Vu(e,t,n,i){for(var r;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to0?l.length:-1;e!=u;e+=n){var h=l[e],p=c[e]+a.from;if(Bu(r,i,p,p+h.length))if(h instanceof Ru){if(o&Pu.ExcludeBuffers)continue;var d=h.findChild(0,h.buffer.length,n,i-p,r);if(d>-1)return new Uu(new ju(a,h,e,p),null,d)}else if(o&Pu.IncludeAnonymous||!h.type.isAnonymous||Yu(h)){var f=void 0;if(!(o&Pu.IgnoreMounts)&&(f=Tu.get(h))&&!f.overlay)return new t(f.tree,p,e,a);var m=new t(h,p,e,a);return o&Pu.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(n<0?h.children.length-1:0,n,i,r)}}if(o&Pu.IncludeAnonymous||!a.type.isAnonymous)return null;if(e=a.index>=0?a.index+n:n<0?-1:a._parent._tree.children.length,!(a=a._parent))return null}},Object.defineProperty(t.prototype,"firstChild",{get:function(){return this.nextChild(0,1,0,4)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"lastChild",{get:function(){return this.nextChild(this._tree.children.length-1,-1,0,4)},enumerable:!1,configurable:!0}),t.prototype.childAfter=function(e){return this.nextChild(0,1,e,2)},t.prototype.childBefore=function(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)},t.prototype.enter=function(e,n,i){var r;if(void 0===i&&(i=0),!(i&Pu.IgnoreOverlays)&&(r=Tu.get(this._tree))&&r.overlay)for(var o=e-this.from,a=0,s=r.overlay;a0?c<=o:c=o:u>o))return new t(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,n,i)},t.prototype.nextSignificantParent=function(){for(var e=this;e.type.isAnonymous&&e._parent;)e=e._parent;return e},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent?this._parent.nextSignificantParent():null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"nextSibling",{get:function(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"prevSibling",{get:function(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tree",{get:function(){return this._tree},enumerable:!1,configurable:!0}),t.prototype.toTree=function(){return this._tree},t.prototype.toString=function(){return this._tree.toString()},t}(Hu);function qu(e,t,n,i){var r=e.cursor(),o=[];if(!r.firstChild())return o;if(null!=n)for(var a=!1;!a;)if(a=r.type.is(n),!r.nextSibling())return o;for(;;){if(null!=i&&r.type.is(i))return o;if(r.type.is(t)&&o.push(r.node),!r.nextSibling())return null==i?o:[]}}function Wu(e,t,n){void 0===n&&(n=t.length-1);for(var i=e;n>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(t[n]&&t[n]!=i.name)return!1;n--}}return!0}var ju=function(e,t,n,i){this.parent=e,this.buffer=t,this.index=n,this.start=i},Uu=function(e){function t(t,n,i){var r=e.call(this)||this;return r.context=t,r._parent=n,r.index=i,r.type=t.buffer.set.types[t.buffer.buffer[i]],r}return m(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return this.type.name},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"from",{get:function(){return this.context.start+this.context.buffer.buffer[this.index+1]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"to",{get:function(){return this.context.start+this.context.buffer.buffer[this.index+2]},enumerable:!1,configurable:!0}),t.prototype.child=function(e,n,i){var r=this.context.buffer,o=r.findChild(this.index+4,r.buffer[this.index+3],e,n-this.context.start,i);return o<0?null:new t(this.context,this,o)},Object.defineProperty(t.prototype,"firstChild",{get:function(){return this.child(1,0,4)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"lastChild",{get:function(){return this.child(-1,0,4)},enumerable:!1,configurable:!0}),t.prototype.childAfter=function(e){return this.child(1,e,2)},t.prototype.childBefore=function(e){return this.child(-1,e,-2)},t.prototype.enter=function(e,n,i){if(void 0===i&&(i=0),i&Pu.ExcludeBuffers)return null;var r=this.context.buffer,o=r.findChild(this.index+4,r.buffer[this.index+3],n>0?1:-1,e-this.context.start,n);return o<0?null:new t(this.context,this,o)},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent||this.context.parent.nextSignificantParent()},enumerable:!1,configurable:!0}),t.prototype.externalSibling=function(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)},Object.defineProperty(t.prototype,"nextSibling",{get:function(){var e=this.context.buffer,n=e.buffer[this.index+3];return n<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new t(this.context,this._parent,n):this.externalSibling(1)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"prevSibling",{get:function(){var e=this.context.buffer,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new t(this.context,this._parent,e.findChild(n,this.index,-1,0,4))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tree",{get:function(){return null},enumerable:!1,configurable:!0}),t.prototype.toTree=function(){var e=[],t=[],n=this.context.buffer,i=this.index+4,r=n.buffer[this.index+3];if(r>i){var o=n.buffer[this.index+1];e.push(n.slice(i,r,o)),t.push(0)}return new Fu(this.type,e,t,this.to-this.from)},t.prototype.toString=function(){return this.context.buffer.childString(this.index)},t}(Hu);function _u(e){if(!e.length)return null;for(var t=0,n=e[0],i=1;in.from||r.to0){if(this.index-1){a=i+e;for(var s=e<0?-1:r._tree.children.length;a!=s;a+=e){var l=r._tree.children[a];if(this.mode&Pu.IncludeAnonymous||l instanceof Ru||!l.type.isAnonymous||Yu(l))return!1}}return!0},e.prototype.move=function(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}},e.prototype.next=function(e){return void 0===e&&(e=!0),this.move(1,e)},e.prototype.prev=function(e){return void 0===e&&(e=!0),this.move(-1,e)},e.prototype.moveTo=function(e,t){for(void 0===t&&(t=0);(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(var o=e;o;o=o._parent)if(o.index==i){if(i==this.index)return o;t=o,n=r+1;break e}i=this.stack[--r]}for(var a=n;a=0;r--){if(r<0)return Wu(this._tree,e,i);var o=n[t.buffer[this.stack[r]]];if(!o.isAnonymous){if(e[i]&&e[i]!=o.name)return!1;i--}}return!0},e}();function Yu(e){return e.children.some((function(e){return e instanceof Ru||!e.type.isAnonymous||Yu(e)}))}function Zu(e){var t,n=e.buffer,i=e.nodeSet,r=e.maxBufferLength,o=void 0===r?Eu:r,a=e.reused,s=void 0===a?[]:a,l=e.minRepeatType,c=void 0===l?i.types.length:l,u=Array.isArray(n)?new Nu(n,n.length):n,h=i.types,p=0,d=0;function f(e,t,n,r,a,l){for(var b=u.id,w=u.start,k=u.end,C=u.size,E=d,S=p;C<0;){if(u.next(),-1==C){var M=s[b];return n.push(M),void r.push(w-e)}if(-3==C)return void(p=b);if(-4==C)return void(d=b);throw new RangeError("Unrecognized record size: ".concat(C))}var x,T,D=h[b],A=w-e;if(k-w<=o&&(T=function(e,t){var n=u.fork(),i=0,r=0,a=0,s=n.end-o,l={size:0,start:0,skip:0};e:for(var h=n.pos-e;n.pos>h;){var p=n.size;if(n.id==t&&p>=0)l.size=i,l.start=r,l.skip=a,a+=4,i+=4,n.next();else{var d=n.pos-p;if(p<0||d=c?4:0,m=n.start;for(n.next();n.pos>d;){if(n.size<0){if(-3!=n.size)break e;f+=4}else n.id>=c&&(f+=4);n.next()}r=m,i+=p,a+=f}}(t<0||i==e)&&(l.size=i,l.start=r,l.skip=a);return l.size>4?l:void 0}(u.pos-t,a))){for(var P=new Uint16Array(T.size-T.skip),L=u.pos-T.size,I=P.length;u.pos>L;)I=y(T.start,P,I);x=new Ru(P,k-T.start,i),A=T.start-e}else{L=u.pos-C;u.next();for(var O=[],F=[],N=b>=c?b:-1,R=0,B=k;u.pos>L;)N>=0&&u.id==N&&u.size>=0?(u.end<=B-o&&(v(O,F,w,R,u.end,B,N,E,S),R=O.length,B=u.end),u.next()):l>2500?m(w,L,O,F):f(w,L,O,F,N,l+1);if(N>=0&&R>0&&R-1&&R>0){var V=function(e,t){return function(n,i,r){var o,a,s=0,l=n.length-1;if(l>=0&&(o=n[l])instanceof Fu){if(!l&&o.type==e&&o.length==r)return o;(a=o.prop(xu.lookAhead))&&(s=i[l]+o.length+a)}return g(e,n,i,r,s,t)}}(D,S);x=$u(D,O,F,0,O.length,0,k-w,V,V)}else x=g(D,O,F,k-w,E-k,S)}n.push(x),r.push(A)}function m(e,t,n,r){for(var a=[],s=0,l=-1;u.pos>t;){var c=u.id,h=u.start,p=u.end;if(u.size>4)u.next();else{if(l>-1&&h=0;f-=3)d[m++]=a[f],d[m++]=a[f+1]-h,d[m++]=a[f+2]-h,d[m++]=m;n.push(new Ru(d,a[2]-h,i)),r.push(h-e)}}function v(e,t,n,r,o,a,s,l,c){for(var u=[],h=[];e.length>r;)u.push(e.pop()),h.push(t.pop()+n-o);e.push(g(i.types[s],u,h,a-o,l-a,c)),t.push(o-n)}function g(e,t,n,i,r,o,a){if(o){var s=[xu.contextHash,o];a=a?[s].concat(a):[s]}if(r>25){s=[xu.lookAhead,r];a=a?[s].concat(a):[s]}return new Fu(e,t,n,i,a)}function y(e,t,n){var i=u.id,r=u.start,o=u.end,a=u.size;if(u.next(),a>=0&&i4)for(var l=u.pos-(a-4);u.pos>l;)n=y(e,t,n);t[--n]=s,t[--n]=o-e,t[--n]=r-e,t[--n]=i}else-3==a?p=i:-4==a&&(d=i);return n}for(var b=[],w=[];u.pos>0;)f(e.start||0,e.bufferStart||0,b,w,-1,0);var k=null!==(t=e.length)&&void 0!==t?t:b.length?w[0]+b[0].length:0;return new Fu(h[e.topID],b.reverse(),w.reverse(),k)}var Xu=new WeakMap;function Qu(e,t){if(!e.isAnonymous||t instanceof Ru||t.type!=e)return 1;var n=Xu.get(t);if(null==n){n=1;for(var i=0,r=t.children;i=h)break;m+=v}if(c==u+1){if(m>h){var g=n[u];t(g.children,g.positions,0,g.children.length,i[u]+s);continue}p.push(n[u])}else{var y=i[c-1]+n[c-1].length-f;p.push($u(e,n,i,u,c,f,y,null,l))}d.push(f+s-o)}}(t,n,i,r,0),(s||l)(p,d,a)}var Ju=function(){function e(){this.map=new WeakMap}return e.prototype.setBuffer=function(e,t,n){var i=this.map.get(e);i||this.map.set(e,i=new Map),i.set(t,n)},e.prototype.getBuffer=function(e,t){var n=this.map.get(e);return n&&n.get(t)},e.prototype.set=function(e,t){e instanceof Uu?this.setBuffer(e.context.buffer,e.index,t):e instanceof zu&&this.map.set(e.tree,t)},e.prototype.get=function(e){return e instanceof Uu?this.getBuffer(e.context.buffer,e.index):e instanceof zu?this.map.get(e.tree):void 0},e.prototype.cursorSet=function(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)},e.prototype.cursorGet=function(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)},e}(),eh=function(){function e(e,t,n,i,r,o){void 0===r&&(r=!1),void 0===o&&(o=!1),this.from=e,this.to=t,this.tree=n,this.offset=i,this.open=(r?1:0)|(o?2:0)}return Object.defineProperty(e.prototype,"openStart",{get:function(){return(1&this.open)>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"openEnd",{get:function(){return(2&this.open)>0},enumerable:!1,configurable:!0}),e.addTree=function(t,n,i){void 0===n&&(n=[]),void 0===i&&(i=!1);for(var r=[new e(0,t.length,t,0,!1,i)],o=0,a=n;ot.length&&r.push(s)}return r},e.applyChanges=function(t,n,i){if(void 0===i&&(i=128),!n.length)return t;for(var r=[],o=1,a=t.length?t[0]:null,s=0,l=0,c=0;;s++){var u=s=i)for(;a&&a.from=p.from||h<=p.to||c){var d=Math.max(p.from,l)-c,f=Math.min(p.to,h)-c;p=d>=f?null:new e(d,f,p.tree,p.offset+c,s>0,!!u)}if(p&&r.push(p),a.to>h)break;a=o=e.to})))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}var ah=function(e,t,n,i,r,o,a){this.parser=e,this.predicate=t,this.mounts=n,this.index=i,this.start=r,this.target=o,this.prev=a,this.depth=0,this.ranges=[]},sh=new xu({perNode:!0}),lh=function(){function e(e,t,n,i,r){this.nest=t,this.input=n,this.fragments=i,this.ranges=r,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}return e.prototype.advance=function(){if(this.baseParse){var e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(var t=0,n=this.inner;t=this.stoppedAt)a=!1;else if(e.hasNode(i)){if(t){var l=t.mounts.find((function(e){return e.frag.from<=i.from&&e.frag.to>=i.to&&e.mount.overlay}));if(l)for(var c=function(e){var n=e.from+l.pos,r=e.to+l.pos;n>=i.from&&r<=i.to&&!t.ranges.some((function(e){return e.fromn}))&&t.ranges.push({from:n,to:r})},u=0,h=l.mount.overlay;u=0&&t.ranges[d].to==s.from?t.ranges[d]={from:t.ranges[d].from,to:s.to}:t.ranges.push(s)}if(a&&i.firstChild())t&&t.depth++,n&&n.depth++;else for(;!i.nextSibling();){if(!i.parent())break e;var f;t&&! --t.depth&&((f=fh(this.ranges,t.ranges)).length&&(oh(f),this.inner.splice(t.index,0,new rh(t.parser,t.parser.startParse(this.input,mh(t.mounts,f),f),t.ranges.map((function(e){return new Mu(e.from-t.start,e.to-t.start)})),t.target,f[0].from))),t=t.prev),n&&! --n.depth&&(n=n.prev)}}},e}();function ch(e,t,n){for(var i=0,r=e;i=n)break;if(o.to>t)return o.from<=t&&o.to>=n?2:1}return 0}function uh(e,t,n,i,r,o){if(t=e&&t.enter(n,1,Pu.IgnoreOverlays|Pu.ExcludeBuffers)||t.next(!1)||(this.done=!0)},e.prototype.hasNode=function(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(var t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof Fu))break;t=t.children[0]}return!1},e}(),dh=function(){function e(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){var n=this.curFrag=e[0];this.curTo=null!==(t=n.tree.prop(sh))&&void 0!==t?t:n.to,this.inner=new ph(n.tree,-n.offset)}else this.curFrag=this.inner=null}return e.prototype.hasNode=function(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)},e.prototype.nextFrag=function(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{var t=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(e=t.tree.prop(sh))&&void 0!==e?e:t.to,this.inner=new ph(t.tree,-t.offset)}},e.prototype.findMounts=function(e,t){var n,i=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(var r=this.inner.cursor.node;r;r=r.parent){var o=null===(n=r.tree)||void 0===n?void 0:n.prop(xu.mounted);if(o&&o.parser==t)for(var a=this.fragI;a=r.to)break;s.tree==this.curFrag.tree&&i.push({frag:s,pos:r.from-s.offset,mount:o})}}}return i},e}();function fh(e,t){for(var n=null,i=t,r=1,o=0;r=s)break;l.to<=a||(n||(i=n=t.slice()),l.froms&&n.splice(o+1,0,new Mu(s,l.to))):l.to>s?n[o--]=new Mu(s,l.to):n.splice(o--,1))}return i}function mh(e,t){for(var n=[],i=function(e,i,r){var o=e+(i.overlay?i.overlay[0].from:0),a=o+i.tree.length,s=Math.max(r.from,o),l=Math.min(r.to,a);if(i.overlay)for(var c=i.overlay.map((function(t){return new Mu(t.from+e,t.to+e)})),u=function(e,t,n,i){for(var r=0,o=0,a=!1,s=!1,l=-1e9,c=[];;){var u=r==e.length?1e9:a?e[r].to:e[r].from,h=o==t.length?1e9:s?t[o].to:t[o].from;if(a!=s){var p=Math.max(l,n),d=Math.min(u,h,i);pp&&n.push(new eh(p,f,i.tree,-o,r.from>=p||r.openStart,r.to<=f||r.openEnd)),d)break;p=u[h].to}else n.push(new eh(s,l,i.tree,-o,r.from>=o||r.openStart,r.to<=a||r.openEnd))},r=0,o=e;r-1?e:bh.get(e.base||e,e.modified.concat(t).sort((function(e,t){return e.id-t.id})))}},e}(),yh=0,bh=function(){function e(e){this.name=e,this.instances=[],this.id=yh++}return e.get=function(t,n){if(!n.length)return t;var i=n[0].instances.find((function(e){return e.base==t&&(i=n,r=e.modified,i.length==r.length&&i.every((function(e,t){return e==r[t]})));var i,r}));if(i)return i;for(var r=[],o=new gh(t.name,r,t,n),a=0,s=n;a0&&u+3==a.length){l=1;break}var h=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(c);if(!h)throw new RangeError("Invalid path: "+a);if(s.push("*"==h[0]?"":'"'==h[0][0]?JSON.parse(h[0]):h[0]),(u+=h[0].length)==a.length)break;var p=a[u++];if(u==a.length&&"!"==p){l=0;break}if("/"!=p)throw new RangeError("Invalid path: "+a);c=a.slice(u)}var d=s.length-1,f=s[d];if(!f)throw new RangeError("Invalid path: "+a);var m=new Ch(i,l,d>0?s.slice(0,d):null);t[f]=m.sort(t[f])}}}return kh.add(t)}var kh=new xu,Ch=function(){function e(e,t,n,i){this.tags=e,this.mode=t,this.context=n,this.next=i}return Object.defineProperty(e.prototype,"opaque",{get:function(){return 0==this.mode},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"inherit",{get:function(){return 1==this.mode},enumerable:!1,configurable:!0}),e.prototype.sort=function(e){return!e||e.deptha&&i(o.slice(a,c),n),l<0)break;r(),a=l+1}s=t}}Sh(t,n,(function(e,t,n){l(e,""),l(t,n)}),o,a),l(a,"")}Ch.empty=new Ch([],2,null);var xh=function(){function e(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}return e.prototype.startSpan=function(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)},e.prototype.flush=function(e){e>this.at&&this.class&&this.span(this.at,e,this.class)},e.prototype.highlightRange=function(e,t,n,i,r){var o=e.type,a=e.from,s=e.to;if(!(a>=n||s<=t)){o.isTop&&(r=this.highlighters.filter((function(e){return!e.scope||e.scope(o)})));var l=i,c=Th(e)||Ch.empty,u=function(e,t){for(var n=null,i=0,r=e;i=y)&&e.nextSibling()););if(!g||y>n)break;(v=g.to+a)>t&&(this.highlightRange(p.cursor(),Math.max(t,g.from+a),Math.min(n,v),"",d),this.startSpan(Math.min(n,v),l))}f&&e.parent()}else if(e.firstChild()){h&&(i="");do{if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,i,r),this.startSpan(Math.min(n,e.to),l)}}while(e.nextSibling());e.parent()}}}},e}();function Th(e){for(var t=e.type.prop(kh);t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}var Dh=gh.define,Ah=Dh(),Ph=Dh(),Lh=Dh(Ph),Ih=Dh(Ph),Oh=Dh(),Fh=Dh(Oh),Nh=Dh(Oh),Rh=Dh(),Bh=Dh(Rh),Vh=Dh(),Hh=Dh(),zh=Dh(),qh=Dh(zh),Wh=Dh(),jh={comment:Ah,lineComment:Dh(Ah),blockComment:Dh(Ah),docComment:Dh(Ah),name:Ph,variableName:Dh(Ph),typeName:Lh,tagName:Dh(Lh),propertyName:Ih,attributeName:Dh(Ih),className:Dh(Ph),labelName:Dh(Ph),namespace:Dh(Ph),macroName:Dh(Ph),literal:Oh,string:Fh,docString:Dh(Fh),character:Dh(Fh),attributeValue:Dh(Fh),number:Nh,integer:Dh(Nh),float:Dh(Nh),bool:Dh(Oh),regexp:Dh(Oh),escape:Dh(Oh),color:Dh(Oh),url:Dh(Oh),keyword:Vh,self:Dh(Vh),null:Dh(Vh),atom:Dh(Vh),unit:Dh(Vh),modifier:Dh(Vh),operatorKeyword:Dh(Vh),controlKeyword:Dh(Vh),definitionKeyword:Dh(Vh),moduleKeyword:Dh(Vh),operator:Hh,derefOperator:Dh(Hh),arithmeticOperator:Dh(Hh),logicOperator:Dh(Hh),bitwiseOperator:Dh(Hh),compareOperator:Dh(Hh),updateOperator:Dh(Hh),definitionOperator:Dh(Hh),typeOperator:Dh(Hh),controlOperator:Dh(Hh),punctuation:zh,separator:Dh(zh),bracket:qh,angleBracket:Dh(qh),squareBracket:Dh(qh),paren:Dh(qh),brace:Dh(qh),content:Rh,heading:Bh,heading1:Dh(Bh),heading2:Dh(Bh),heading3:Dh(Bh),heading4:Dh(Bh),heading5:Dh(Bh),heading6:Dh(Bh),contentSeparator:Dh(Rh),list:Dh(Rh),quote:Dh(Rh),emphasis:Dh(Rh),strong:Dh(Rh),link:Dh(Rh),monospace:Dh(Rh),strikethrough:Dh(Rh),inserted:Dh(),deleted:Dh(),changed:Dh(),invalid:Dh(),meta:Wh,documentMeta:Dh(Wh),annotation:Dh(Wh),processingInstruction:Dh(Wh),definition:gh.defineModifier("definition"),constant:gh.defineModifier("constant"),function:gh.defineModifier("function"),standard:gh.defineModifier("standard"),local:gh.defineModifier("local"),special:gh.defineModifier("special")};for(var Uh in jh){var _h=jh[Uh];_h instanceof gh&&(_h.name=Uh)}var Gh,Kh=Eh([{tag:jh.link,class:"tok-link"},{tag:jh.heading,class:"tok-heading"},{tag:jh.emphasis,class:"tok-emphasis"},{tag:jh.strong,class:"tok-strong"},{tag:jh.keyword,class:"tok-keyword"},{tag:jh.atom,class:"tok-atom"},{tag:jh.bool,class:"tok-bool"},{tag:jh.url,class:"tok-url"},{tag:jh.labelName,class:"tok-labelName"},{tag:jh.inserted,class:"tok-inserted"},{tag:jh.deleted,class:"tok-deleted"},{tag:jh.literal,class:"tok-literal"},{tag:jh.string,class:"tok-string"},{tag:jh.number,class:"tok-number"},{tag:[jh.regexp,jh.escape,jh.special(jh.string)],class:"tok-string2"},{tag:jh.variableName,class:"tok-variableName"},{tag:jh.local(jh.variableName),class:"tok-variableName tok-local"},{tag:jh.definition(jh.variableName),class:"tok-variableName tok-definition"},{tag:jh.special(jh.variableName),class:"tok-variableName2"},{tag:jh.definition(jh.propertyName),class:"tok-propertyName tok-definition"},{tag:jh.typeName,class:"tok-typeName"},{tag:jh.namespace,class:"tok-namespace"},{tag:jh.className,class:"tok-className"},{tag:jh.macroName,class:"tok-macroName"},{tag:jh.propertyName,class:"tok-propertyName"},{tag:jh.operator,class:"tok-operator"},{tag:jh.comment,class:"tok-comment"},{tag:jh.meta,class:"tok-meta"},{tag:jh.invalid,class:"tok-invalid"},{tag:jh.punctuation,class:"tok-punctuation"}]),Yh=new xu;function Zh(e){return me.define({combine:e?function(t){return t.concat(e)}:void 0})}var Xh=new xu,Qh=function(){function e(e,t,n,i){void 0===n&&(n=[]),void 0===i&&(i=""),this.data=e,this.name=i,nt.prototype.hasOwnProperty("tree")||Object.defineProperty(nt.prototype,"tree",{get:function(){return ep(this)}}),this.parser=t,this.extension=[dp.of(this),nt.languageData.of((function(e,t,n){var i=$h(e,t,n),r=i.type.prop(Yh);if(!r)return[];var o=e.facet(r),a=i.type.prop(Xh);if(a)for(var s=i.resolve(t-i.from,n),l=0,c=a;lc)return}}for(var u=0;u=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)},e}(),ap=null,sp=function(){function e(e,t,n,i,r,o,a,s){void 0===n&&(n=[]),this.parser=e,this.state=t,this.fragments=n,this.tree=i,this.treeLen=r,this.viewport=o,this.skipped=a,this.scheduleOn=s,this.parse=null,this.tempSkipped=[]}return e.create=function(t,n,i){return new e(t,n,[],Fu.empty,0,i,[],null)},e.prototype.startParse=function(){return this.parser.startParse(new op(this.state.doc),this.fragments)},e.prototype.work=function(e,t){var n=this;return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=Fu.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext((function(){var i;if("number"==typeof e){var r=Date.now()+e;e=function(){return Date.now()>r}}for(n.parse||(n.parse=n.startParse()),null!=t&&(null==n.parse.stoppedAt||n.parse.stoppedAt>t)&&t=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext((function(){for(;!(t=n.parse.advance()););})),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(eh.addTree(this.tree,this.fragments,!0)),this.parse=null)},e.prototype.withContext=function(e){var t=ap;ap=this;try{return e()}finally{ap=t}},e.prototype.withoutTempSkipped=function(e){for(var t=void 0;t=this.tempSkipped.pop();)e=lp(e,t.from,t.to);return e},e.prototype.changes=function(t,n){var i=this,r=i.fragments,o=i.tree,a=i.treeLen,s=i.viewport,l=i.skipped;if(this.takeTree(),!t.empty){var c=[];if(t.iterChangedRanges((function(e,t,n,i){return c.push({fromA:e,toA:t,fromB:n,toB:i})})),r=eh.applyChanges(r,c),o=Fu.empty,a=0,s={from:t.mapPos(s.from,-1),to:t.mapPos(s.to,1)},this.skipped.length){l=[];for(var u=0,h=this.skipped;ue.from&&(this.fragments=lp(this.fragments,r,o),this.skipped.splice(n--,1))}return!(this.skipped.length>=t)&&(this.reset(),!0)},e.prototype.reset=function(){this.parse&&(this.takeTree(),this.parse=null)},e.prototype.skipUntilInView=function(e,t){this.skipped.push({from:e,to:t})},e.getSkippingParser=function(e){return new(function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return m(n,t),n.prototype.createParse=function(t,n,i){var r=i[0].from,o=i[i.length-1].to,a={parsedPos:r,advance:function(){var t=ap;if(t){for(var n=0,a=i;n=e&&t.length&&0==t[0].from&&t[0].to>=e},e.get=function(){return ap},e}();function lp(e,t,n){return eh.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}var cp=function(){function e(e){this.context=e,this.tree=e.tree}return e.prototype.apply=function(t){if(!t.docChanged&&this.tree==this.context.tree)return this;var n=this.context.changes(t.changes,t.state),i=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,i)||n.takeTree(),new e(n)},e.init=function(t){var n=Math.min(3e3,t.doc.length),i=sp.create(t.facet(dp).parser,t,{from:0,to:n});return i.work(20,n)||i.takeTree(),new e(i)},e}();Qh.state=ke.define({create:cp.init,update:function(e,t){for(var n=0,i=t.effects;nt.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)},e.prototype.scheduleWork=function(){if(!this.working){var e=this.view.state,t=e.field(Qh.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=up(this.work))}},e.prototype.work=function(e){this.working=null;var t=Date.now();if(this.chunkEndr+1e3,l=o.context.work((function(){return hp&&hp()||Date.now()>a}),r+(s?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:Qh.setState.of(new cp(o.context))})),this.chunkBudget>0&&(!l||s)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}}},e.prototype.checkAsyncSchedule=function(e){var t=this;e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then((function(){return t.scheduleWork()})).catch((function(e){return Ri(t.view.state,e)})).then((function(){return t.workScheduled--})),e.scheduleOn=null)},e.prototype.destroy=function(){this.working&&this.working()},e.prototype.isWorking=function(){return!!(this.working||this.workScheduled>0)},e}(),{eventHandlers:{focus:function(){this.scheduleWork()}}}),dp=me.define({combine:function(e){return e.length?e[0]:null},enables:function(e){return[Qh.state,pp,jo.contentAttributes.compute([e],(function(t){var n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}}))]}}),fp=function(e,t){void 0===t&&(t=[]),this.language=e,this.support=t,this.extension=[e,t]},mp=function(){function e(e,t,n,i,r,o){void 0===o&&(o=void 0),this.name=e,this.alias=t,this.extensions=n,this.filename=i,this.loadFunc=r,this.support=o,this.loading=null}return e.prototype.load=function(){var e=this;return this.loading||(this.loading=this.loadFunc().then((function(t){return e.support=t}),(function(t){throw e.loading=null,t})))},e.of=function(t){var n=t.load,i=t.support;if(!n){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");n=function(){return Promise.resolve(i)}}return new e(t.name,(t.alias||[]).concat(t.name).map((function(e){return e.toLowerCase()})),t.extensions||[],t.filename,n,i)},e.matchFilename=function(e,t){for(var n=0,i=e;n-1)return s}return null},e.matchLanguageName=function(e,t,n){void 0===n&&(n=!0),t=t.toLowerCase();for(var i=0,r=e;i-1&&(u.length>2||!/\w/.test(t[h-1])&&!/\w/.test(t[h+u.length])))return s}return null},e}(),vp=me.define(),gp=me.define({combine:function(e){if(!e.length)return" ";var t=e[0];if(!t||/\S/.test(t)||Array.from(t).some((function(e){return e!=t[0]})))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function yp(e){var t=e.facet(gp);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function bp(e,t){var n="",i=e.tabSize,r=e.facet(gp)[0];if("\t"==r){for(;t>=i;)n+="\t",t-=i;r=" "}for(var o=0;o=t?function(e,t,n){var i=t.resolveStack(n),r=t.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(r!=i.node){for(var o=[],a=r;a&&!(a.fromi.node.to||a.from==i.node.from&&a.type==i.node.type);a=a.parent)o.push(a);for(var s=o.length-1;s>=0;s--)i={node:o[s],next:i}}return Sp(i,e,n)}(e,o,t):null}function kp(e,t,n){for(var i=Object.create(null),r=new Cp(e,{overrideIndentation:function(e){var t;return null!==(t=i[e])&&void 0!==t?t:-1}}),o=[],a=t;a<=n;){var s=e.doc.lineAt(a);a=s.to+1;var l=wp(r,s.from);if(null!=l){/\S/.test(s.text)||(l=0);var c=/^\s*/.exec(s.text)[0],u=bp(e,l);c!=u&&(i[s.from]=l,o.push({from:s.from,to:s.from+c.length,insert:u}))}}return e.changes(o)}var Cp=function(){function e(e,t){void 0===t&&(t={}),this.state=e,this.options=t,this.unit=yp(e)}return e.prototype.lineAt=function(e,t){void 0===t&&(t=1);var n=this.state.doc.lineAt(e),i=this.options,r=i.simulateBreak,o=i.simulateDoubleBreak;return null!=r&&r>=n.from&&r<=n.to?o&&r==e?{text:"",from:e}:(t<0?r-1&&(o+=a-this.countColumn(i,i.search(/\S|$/))),o},e.prototype.countColumn=function(e,t){return void 0===t&&(t=e.length),wt(e,this.state.tabSize,t)},e.prototype.lineIndent=function(e,t){void 0===t&&(t=1);var n=this.lineAt(e,t),i=n.text,r=n.from,o=this.options.overrideIndentation;if(o){var a=o(r);if(a>-1)return a}return this.countColumn(i,i.search(/\S|$/))},Object.defineProperty(e.prototype,"simulatedBreak",{get:function(){return this.options.simulateBreak||null},enumerable:!1,configurable:!0}),e}(),Ep=new xu;function Sp(e,t,n){for(var i=e;i;i=i.next){var r=Mp(i.node);if(r)return r(Tp.create(t,n,i))}return 0}function Mp(e){var t=e.type.prop(Ep);if(t)return t;var n,i=e.firstChild;if(i&&(n=i.type.prop(xu.closedBy))){var r=e.lastChild,o=r&&n.indexOf(r.name)>-1;return function(e){return Pp(e,!0,1,void 0,o&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?r.from:void 0)}}return null==e.parent?xp:null}function xp(){return 0}var Tp=function(e){function t(t,n,i){var r=e.call(this,t.state,t.options)||this;return r.base=t,r.pos=n,r.context=i,r}return m(t,e),Object.defineProperty(t.prototype,"node",{get:function(){return this.context.node},enumerable:!1,configurable:!0}),t.create=function(e,n,i){return new t(e,n,i)},Object.defineProperty(t.prototype,"textAfter",{get:function(){return this.textAfterPos(this.pos)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"baseIndent",{get:function(){return this.baseIndentFor(this.node)},enumerable:!1,configurable:!0}),t.prototype.baseIndentFor=function(e){for(var t=this.state.doc.lineAt(e.from);;){for(var n=e.resolve(t.from);n.parent&&n.parent.from==n.from;)n=n.parent;if(Dp(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)},t.prototype.continue=function(){return Sp(this.context.next,this.base,this.pos)},t}(Cp);function Dp(e,t){for(var n=t;n;n=n.parent)if(e==n)return!0;return!1}function Ap(e){var t=e.closing,n=e.align,i=void 0===n||n,r=e.units,o=void 0===r?1:r;return function(e){return Pp(e,i,o,t)}}function Pp(e,t,n,i,r){var o=e.textAfter,a=o.match(/^\s*/)[0].length,s=i&&o.slice(a,a+i.length)==i||r==e.pos+a,l=t?function(e){var t=e.node,n=t.childAfter(t.from),i=t.lastChild;if(!n)return null;for(var r=e.options.simulateBreak,o=e.state.doc.lineAt(n.from),a=null==r||r<=o.from?o.to:Math.min(o.to,r),s=n.to;;){var l=t.childAfter(s);if(!l||l==i)return null;if(!l.type.isSkipped){if(l.from>=a)return null;var c=/^ */.exec(o.text.slice(n.to-o.from))[0].length;return{from:n.from,to:n.to+c}}s=l.to}}(e):null;return l?s?e.column(l.from):e.column(l.to):e.baseIndent+(s?0:e.unit*n)}var Lp=function(e){return e.baseIndent};function Ip(e){var t=void 0===e?{}:e,n=t.except,i=t.units,r=void 0===i?1:i;return function(e){var t=n&&n.test(e.textAfter);return e.baseIndent+(t?0:r*e.unit)}}var Op=200;function Fp(){return nt.transactionFilter.of((function(e){if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;var t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;var n=e.newDoc,i=e.newSelection.main.head,r=n.lineAt(i);if(i>r.from+Op)return e;var o=n.sliceString(r.from,i);if(!t.some((function(e){return e.test(o)})))return e;for(var a=e.state,s=-1,l=[],c=0,u=a.selection.ranges;cn)){if(a&&l.from=t&&u.to>n&&(a=u)}}}return a}(e,t,n)}function Hp(e,t){var n=t.mapPos(e.from,1),i=t.mapPos(e.to,-1);return n>=i?void 0:{from:n,to:i}}var zp=Ue.define({map:Hp}),qp=Ue.define({map:Hp});function Wp(e){for(var t=[],n=function(n){if(t.some((function(e){return e.from<=n&&e.to>=n})))return"continue";t.push(e.lineBlockAt(n))},i=0,r=e.state.selection.ranges;it&&(i=!0)})),i?e.update({filterFrom:t,filterTo:n,filter:function(e,i){return e>=n||i<=t}}):e}function _p(e){return e.field(jp,!1)||lt.empty}function Gp(e,t,n){var i,r=null;return null===(i=e.field(jp,!1))||void 0===i||i.between(t,n,(function(e,t){(!r||r.from>e)&&(r={from:e,to:t})})),r}function Kp(e,t){return e.field(jp,!1)?t:t.concat(Ue.appendConfig.of(rd()))}var Yp=function(e){for(var t=0,n=Wp(e);t0};function Xp(e,t,n){void 0===n&&(n=!0);var i=e.state.doc.lineAt(t.from).number,r=e.state.doc.lineAt(t.to).number;return jo.announce.of("".concat(e.state.phrase(n?"Folded lines":"Unfolded lines")," ").concat(i," ").concat(e.state.phrase("to")," ").concat(r,"."))}var Qp=function(e){for(var t=e.state,n=[],i=0;it.from)return i;if(!n.from)return null;n=e.lineBlockAt(n.from-1)}}var ed=function(e){for(var t=[],n=0,i=Wp(e);n0&&e.dispatch({effects:Kp(e.state,t)}),!!t.length},td=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:Yp},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:Zp},{key:"Ctrl-Alt-[",run:Qp},{key:"Ctrl-Alt-]",run:$p}],nd={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},id=me.define({combine:function(e){return it(e,nd)}});function rd(e){var t=[jp,hd];return e&&t.push(id.of(e)),t}function od(e,t){var n=e.state,i=n.facet(id),r=function(t){var n=e.lineBlockAt(e.posAtDOM(t.target)),i=Gp(e.state,n.from,n.to);i&&e.dispatch({effects:qp.of(i)}),t.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(e,r,t);var o=document.createElement("span");return o.textContent=i.placeholderText,o.setAttribute("aria-label",n.phrase("folded code")),o.title=n.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=r,o}var ad=Vn.replace({widget:new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.toDOM=function(e){return od(e,null)},t}(Rn))}),sd=function(e){function t(t){var n=e.call(this)||this;return n.value=t,n}return m(t,e),t.prototype.eq=function(e){return this.value==e.value},t.prototype.toDOM=function(e){return od(e,this.value)},t}(Rn),ld={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:function(){return!1}},cd=function(e){function t(t,n){var i=e.call(this)||this;return i.config=t,i.open=n,i}return m(t,e),t.prototype.eq=function(e){return this.config==e.config&&this.open==e.open},t.prototype.toDOM=function(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);var t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t},t}(As);function ud(e){void 0===e&&(e={});var t=Object.assign(Object.assign({},ld),e),n=new cd(t,!0),i=new cd(t,!1),r=zi.fromClass(function(){function e(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}return e.prototype.update=function(e){(e.docChanged||e.viewportChanged||e.startState.facet(dp)!=e.state.facet(dp)||e.startState.field(jp,!1)!=e.state.field(jp,!1)||ep(e.startState)!=ep(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))},e.prototype.buildMarkers=function(e){for(var t=new ct,r=0,o=e.viewportLineBlocks;r=r.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||i)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=r.to)},e.prototype.buildDeco=function(e,t){var n=this;if(!t||!this.tree.length)return Vn.none;for(var i=new ct,r=0,o=e.visibleRanges;r0&&Fd(t.state,a.head-1,1,i)||i.afterCursor&&(Fd(t.state,a.head,1,i)||a.head-1&&r%2==(t<0?1:0))return[n[r+t]]}return null}function Od(e){var t=e.type.prop(Ld);return t?t(e.node):e}function Fd(e,t,n,i){void 0===i&&(i={});for(var r=i.maxScanDistance||Cd,o=i.brackets||Ed,a=ep(e),s=a.resolveInner(t,n),l=s;l;l=l.parent){var c=Id(l.type,n,o);if(c&&l.from0?t>=u.from&&tu.from&&t<=u.to))return Nd(e,t,n,l,u,c,o)}}return function(e,t,n,i,r,o,a){var s=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=a.indexOf(s);if(l<0||l%2==0!=n>0)return null;for(var c={from:n<0?t-1:t,to:n>0?t+1:t},u=e.doc.iterRange(t,n>0?e.doc.length:0),h=0,p=0;!u.next().done&&p<=o;){var d=u.value;n<0&&(p+=d.length);for(var f=t+p*n,m=n>0?0:d.length-1,v=n>0?d.length:-1;m!=v;m+=n){var g=a.indexOf(d[m]);if(!(g<0||i.resolveInner(f+m,1).type!=r))if(g%2==0==n>0)h++;else{if(1==h)return{start:c,end:{from:f+m,to:f+m+1},matched:g>>1==l>>1};h--}}n>0&&(p+=d.length)}return u.done?{start:c,matched:!1}:null}(e,t,n,a,s.type,r,o)}function Nd(e,t,n,i,r,o,a){var s=i.parent,l={from:r.from,to:r.to},c=0,u=null==s?void 0:s.cursor();if(u&&(n<0?u.childBefore(i.from):u.childAfter(i.to)))do{if(n<0?u.to<=i.from:u.from>=i.to){if(0==c&&o.indexOf(u.type.name)>-1&&u.from=this.string.length},e.prototype.sol=function(){return 0==this.pos},e.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},e.prototype.next=function(){if(this.post},e.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},e.prototype.skipToEnd=function(){this.pos=this.string.length},e.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},e.prototype.backUp=function(e){this.pos-=e},e.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)},e.prototype.current=function(){return this.string.slice(this.start,this.pos)},e}();function Vd(e){if("object"!=typeof e)return e;var t={};for(var n in e){var i=e[n];t[n]=i instanceof Array?i.slice():i}return t}var Hd=new WeakMap,zd=function(e){function t(t){var n,i,r=this,o=Zh(t.languageData),a={name:(i=t).name||"",token:i.token,blankLine:i.blankLine||function(){return null},startState:i.startState||function(){return!0},copyState:i.copyState||Vd,indent:i.indent||function(){return null},languageData:i.languageData||{},mergeTokens:!1!==i.mergeTokens},s=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.createParse=function(e,t,i){return new jd(n,e,t,i)},t}(th));return(r=e.call(this,o,s,[],t.name)||this).topNode=function(e,t){var n=Au.define({id:Gd.length,name:"Document",props:[Yh.add((function(){return e})),Ep.add((function(){return function(e){return t.getIndent(e)}}))],top:!0});return Gd.push(n),n}(o,r),n=r,r.streamParser=a,r.stateAfter=new xu({perNode:!0}),r}return m(t,e),t.define=function(e){return new t(e)},t.prototype.getIndent=function(e){var t=void 0,n=e.options.overrideIndentation;n&&null!=(t=Hd.get(e.state))&&t1e4)return null;for(var a=function(){var t=e.state.doc.lineAt(i),o=Math.min(e.pos,t.to);if(t.length)for(var a=n?n(t.from):-1,l=new Bd(t.text,e.state.tabSize,e.unit,(function(n){return n+t.number>e.state.doc.lines?"":e.state.doc.line(n+t.number).text}),a<0?void 0:a);l.pos=i&&n+t.length<=r&&t.prop(e.stateAfter);if(o)return{state:e.streamParser.copyState(o),pos:n+t.length};for(var a=t.children.length-1;a>=0;a--){var s=t.children[a],l=n+t.positions[a],c=s instanceof Fu&&l=t.length)return t;r||0!=n||t.type!=e.topNode||(r=!0);for(var o=t.children.length-1;o>=0;o--){var a=t.positions[o],s=t.children[o],l=void 0;if(an&&qd(e,s.tree,0-s.offset,n,c),h=void 0;if(u&&u.pos<=i&&(h=Wd(e,s.tree,n+s.offset,u.pos+s.offset,!1)))return{state:u.state,tree:h}}return{state:e.streamParser.startState(r?yp(r):4),tree:Fu.empty}}(e,n,o,this.to,null==r?void 0:r.state),s=a.state,l=a.tree;this.state=s,this.parsedPos=this.chunkStart=o+l.length;for(var c=0;c=r.viewport.from}))&&(this.state=this.lang.streamParser.startState(yp(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}return e.prototype.advance=function(){var e=sp.get(),t=null==this.stoppedAt?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+2048),i=e.viewport.to+5e3;e&&(n=Math.min(n,i));for(var r=!1;this.parsedPos=t?this.finish():e&&this.parsedPos>=i?(e.skipUntilInView(this.parsedPos-5e3,t),this.finish()):null},e.prototype.stopAt=function(e){this.stoppedAt=e},e.prototype.lineAfter=function(e){var t=this.input.chunk(e);if(this.input.lineChunks)"\n"==t&&(t="");else{var n=t.indexOf("\n");n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)},e.prototype.nextLine=function(){for(var e=this.parsedPos,t=this.lineAfter(e),n=e+t.length,i=this.rangeIndex;;){var r=this.ranges[i].to;if(r>=n)break;if(t=t.slice(0,r-(n-t.length)),++i==this.ranges.length)break;var o=this.ranges[i].from,a=this.lineAfter(o);t+=a,n=o+a.length}return{line:t,end:n}},e.prototype.skipGapsTo=function(e,t,n){for(;;){var i=this.ranges[this.rangeIndex].to,r=e+t;if(n>0?i>r:i>=r)break;t+=this.ranges[++this.rangeIndex].from-i}return t},e.prototype.moveRangeIndex=function(){for(;this.ranges[this.rangeIndex].to1){t+=r=this.skipGapsTo(t,r,1);var o=this.chunk.length;n+=r=this.skipGapsTo(n,r,-1),i+=this.chunk.length-o}var a=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&4==i&&a>=0&&this.chunk[a]==e&&this.chunk[a+2]==t?this.chunk[a+2]=n:this.chunk.push(e,t,n,i),r},e.prototype.parseLine=function(e){var t=this,n=this.nextLine(),i=n.line,r=n.end,o=0,a=this.lang.streamParser,s=this.tokenCache,l=new Bd(i,e?e.state.tabSize:4,e?yp(e.state):2,(function(e){for(var n=t.parsedPos,i=0;i0)for(var o=0,h=n;o0&&(o=this.emitToken(Zd(Array.from(u).sort().join(" "),!0),this.parsedPos,this.parsedPos+i.length,4*(c.length+1),o)),this.parsedPos=r,this.moveRangeIndex(),this.parsedPost.start)return r}throw new Error("Stream parser failed to advance stream.")}var _d=Object.create(null),Gd=[Au.none],Kd=new Lu(Gd),Yd=Object.create(null);function Zd(e,t){return e?_d[e]||(_d[e]=function(e,t){var n,i,r=e.replace(/ /g,"_"),o=r,a=Yd[o];if(a)return a.id;var s=Yd[o]=Au.define({id:Gd.length,name:r,props:[t?Qd.add((n={},n[r]=e,n)):Xd.add((i={},i[r]=e,i))]});return Gd.push(s),s.id}(e,t)):0}var Xd=new xu,Qd=new xu,$d=function(){function e(e){this.lineCache=Object.create(null),this.tokenCache=Object.create(null),this.tree=ep(e.state),this.decorations=this.buildDeco(e)}return e.prototype.update=function(e){var t=ep(e.state);t.length0,l=new ct,c=0,u=0,h=e.visibleRanges;up)return;l.add(p,p,h),c=p}var d=i.prop(Xd);if(d){if(c>r)return;if(!(h=t.tokenCache[d])){var f=d.split(" "),m={class:f.map((function(e){return"cm-"+e})).join(" ")};s&&f.some((function(e){return a.has(e)}))&&(m.attributes={spellcheck:"false"}),h=t.tokenCache[d]=Vn.mark(m)}l.add(r,o,h),c=o}}})}return l.finish()},e}(),Jd=Te.lowest(zi.define((function(e){return new $d(e)}),{decorations:function(e){return e.decorations}})),ef=me.define({});function tf(e){return e.length<=4096&&/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/.test(e)}function nf(e){for(var t=e.iter();!t.next().done;)if(tf(t.value))return!0;return!1}var rf=me.define({combine:function(e){return e.some((function(e){return e}))}});function of(e){void 0===e&&(e={});var t=[af];return e.alwaysIsolate&&t.push(rf.of(!0)),t}var af=zi.fromClass(function(){function e(e){this.always=e.state.facet(rf)||e.textDirection!=Xn.LTR||e.state.facet(jo.perLineTextDirection),this.hasRTL=!this.always&&nf(e.state.doc),this.tree=ep(e.state),this.decorations=this.always||this.hasRTL?sf(e,this.tree,this.always):Vn.none}return e.prototype.update=function(e){var t,n,i=e.state.facet(rf)||e.view.textDirection!=Xn.LTR||e.state.facet(jo.perLineTextDirection);if(i||this.hasRTL||(t=e.changes,n=!1,t.iterChanges((function(e,t,i,r,o){!n&&nf(o)&&(n=!0)})),!n)||(this.hasRTL=!0),i||this.hasRTL){var r=ep(e.state);(i!=this.always||r!=this.tree||e.docChanged||e.viewportChanged)&&(this.tree=r,this.always=i,this.decorations=sf(e.view,r,i))}},e}(),{provide:function(e){function t(t){var n,i;return null!==(i=null===(n=t.plugin(e))||void 0===n?void 0:n.decorations)&&void 0!==i?i:Vn.none}return[jo.outerDecorations.of(t),Te.lowest(jo.bidiIsolatedRanges.of(t))]}});function sf(e,t,n){var i=new ct,r=e.visibleRanges;n||(r=function(e,t){for(var n=t.iter(),i=0,r=[],o=null,a=0,s=e;ac&&(c=o.to)>=u))for(i+n.value.lengthh-10?o.to=Math.min(u,p):r.push(o={from:h,to:Math.min(u,p)})),p>=u)break;i=p,n.next()}}return r}(r,e.state.doc));for(var o=0,a=r;on&&/\s+/.test(e.sliceDoc(i-1,i));)i--;return{from:n,to:i}}function hf(e,t){var n;e.moveTo(t,-1),e.node.parent&&!(null!==(n=e.node.type.prop(Qd))&&void 0!==n?n:"").contains("table")||e.moveTo(t,1)}function pf(e,t){for(var n=ep(e).cursor(Pu.ExcludeBuffers),i={italic:"em",code:"inline-code",comment:"comment",bold:"strong",highlight:"highlight",strikethrough:"strikethrough",math:"math"},r=!1,o=!0,a=void 0,s=e.doc.lineAt(t.from),l=e.doc.lineAt(t.to),c=s.number!==l.number,u=s.number;u<=l.number;u++){var h=e.doc.line(u);if(!(t.fromh.to)||!df(e,h)){var p=ff(e,u);if(!c||p.from!==p.to){var d=Math.max(p.from,t.from),f=Math.min(p.to,t.to);hf(n,d);var m=n.from;for(n.node.parent||(i={});;){var v=n.type.prop(Xd)||"",g=new Set(v.split(" ")),y=void 0;for(y in i)i.hasOwnProperty(y)&&(g.has("formatting")||(r=!0,g.has(i[y])||delete i[y]));if(o){var b=/\bheader-(\d)\b/.exec(v),w=b?Number(b[1]):0;void 0!==a&&a!==w&&(o=!1),a=w}if(m=f||!n.next())break}ml);){if(t.from>a&&vf(e,t.to,o,-1)){s=t.to;break}if(!r())break;s=t.to,l=t.to,u=t.nextSibling()}return{from:a,to:s}}function yf(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function bf(e){return yf((new TextEncoder).encode(e))}function wf(e){return(new TextDecoder).decode(new Uint8Array(e))}function kf(e){for(var t=window.atob(e),n=t.length,i=new Uint8Array(n),r=0;r>>4).toString(16)),n.push((15&r).toString(16))}return n.join("")}function Af(e){if(e<=0)return"0 B";for(var t=["B","KB","MB","GB","TB","PB"],n=t.length-1,i=0;i3?o.length%3:0;return r+(a?o.substr(0,a)+i:"")+o.substr(a).replace(/(\d{3})(?=\d)/g,"$1"+i)+(t?n+Math.abs(e-Math.floor(e)).toFixed(t).slice(2):"")}(r,0===n?0:2)," ").concat(t[n])}var Pf=window.require;function Lf(e){return Pf&&Pf(e)}function If(e){var t=Lf("electron");t&&e(t)}function Of(e){return y(this,void 0,Promise,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return(t=Lf("fs"))&&t.existsSync(e)?[4,t.promises.readFile(e)]:[3,2];case 1:return[2,n.sent()];case 2:return[2,null]}}))}))}function Ff(e){return y(this,void 0,Promise,(function(){var t,n;return b(this,(function(i){if(!(t=Lf("electron")))throw new Error("Not electron");return n=t.ipcRenderer,[2,new Promise((function(t,i){var r=cc(16);n.once(r,(function(e,n){n.body?t(n):i(n.error)})),n.send("request-url",r,e)}))]}))}))}var Nf=!1,Rf="0.0.0",Bf=0;If((function(e){Nf=e.ipcRenderer.sendSync("is-dev"),Rf=process.versions.electron,Bf=parseInt(Rf.split(".")[0]),Yl.resourcePathPrefix=e.ipcRenderer.sendSync("file-url")}));var Vf=Nf,Hf=Rf,zf=Bf;function qf(e,t){return new Promise((function(n){var i=e.ipcRenderer;i.once("print-to-pdf",n),i.send("print-to-pdf",t)}))}function Wf(){return"darwin"===process.platform}function jf(e,t){"darwin"===process.platform&&(e.setBackgroundColor("#00000000"),t?e.setVibrancy("sidebar"):e.setVibrancy(null))}function Uf(e){return"WebViewElement"===e.constructor.name}function _f(e){return y(this,void 0,void 0,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:return t=e.win,(n=window.electron)&&e.isTrusted?(e.stopPropagation(),e.stopImmediatePropagation(),[4,new Promise((function(e){var i=t.setTimeout((function(){e(null)}),1e3),r=n.ipcRenderer;r.once("context-menu",(function(n,r){t.clearTimeout(i),e(r)})),r.send("context-menu")}))]):[2,null];case 1:return[2,i.sent()]}}))}))}function Gf(e){if(!ql&&window.electron){var t=electron.remote.getCurrentWebContents().session,n=t.availableSpellCheckerLanguages;e&&0!==e.length||(e=[electron.remote.app.getLocale()]);var i=e.filter((function(e){return n.contains(e)}));t.setSpellCheckerLanguages(i)}}function Kf(e){window.electron&&electron.remote.shell.showItemInFolder(e)}Vf||If((function(e){try{e.deprecate.setHandler((function(){}))}catch(e){}}));var Yf="language",Zf="en",Xf={am:"አማርኛ",ar:"اَلْعَرَبِيَّةُ",be:"беларуская мова",ca:"català",cs:"čeština",da:"Dansk",de:"Deutsch",en:"English","en-GB":"English (GB)",es:"Español",fa:"فارسی",fr:"Français",ga:"Gaeilge",he:"עברית",hu:"Magyar",id:"Bahasa Indonesia",it:"Italiano",ja:"日本語",kh:"ខ្មែរ",ko:"한국어",lv:"Latviešu",ms:"Bahasa Melayu",ne:"नेपाली",nl:"Nederlands",no:"Norsk",pl:"Polski",pt:"Português","pt-BR":"Português do Brasil",ro:"Română",ru:"Pусский",sq:"Shqip",th:"ไทย",tr:"Türkçe",uk:"Українська",uz:"oʻzbekcha",vi:"Tiếng Việt",zh:"简体中文","zh-TW":"繁體中文"},Qf=Object.keys(Xf).sort(),$f={zh:"zh-cn",cz:"cs",no:"nb"},Jf={interpolation:{prefix:"{{{{",suffix:"}}}}"}},em="default";function tm(e,t){if(String.isString(e))return null!==t&&String.isString(t)?t:e;var n={};for(var i in e)e.hasOwnProperty(i)&&(n[i]=tm(e[i],t&&t[i]||null));return n}function nm(e){return e.replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()})).replace(/_[0-9]/g,(function(e){return"-"+e.substring(1)}))}i18next.init({fallbackLng:Zf,ns:[em],defaultNS:em,initImmediate:!1,interpolation:{alwaysFormat:!0,escapeValue:!1,format:function(e,t){return"number"==typeof e?e.toLocaleString():e}}});var im=function e(t,n){var i={};for(var r in t)if(t.hasOwnProperty(r)){var o=n(r),a=t[r];String.isString(a)?i[o]=a:i[o]=e(a,n)}return i}(OBSIDIAN_DEFAULT_I18N,nm);function rm(){i18next.addResourceBundle(Zf,em,im)}Vf?window.setTimeout(rm):rm();var om=Promise.resolve(),am=localStorage.getItem(Yf);if(am){om=y(void 0,void 0,void 0,(function(){var e,t,n,i,r;return b(this,(function(o){switch(o.label){case 0:return o.trys.push([0,5,,6]),am.contains("/")||am.contains("\\")?(e=JSON.parse(window.require("original-fs").readFileSync(am,"utf8")),i18next.addResourceBundle("dev",em,e),[4,i18next.changeLanguage("dev")]):[3,2];case 1:return o.sent(),[2];case 2:return i=(n=JSON).parse,[4,ajaxPromise({url:"/i18n/"+am+".json"})];case 3:return t=i.apply(n,[o.sent()]),i18next.addResourceBundle(am,em,t),[4,i18next.changeLanguage(am)];case 4:return o.sent(),[3,6];case 5:return r=o.sent(),console.error("Failed to load language pack.",r),[3,6];case 6:return[2]}}))}));try{var sm=am.toLowerCase();$f.hasOwnProperty(sm)&&(sm=$f[sm]),window.moment.locale(sm)}catch(Gh){}}window.selectLanguageFileLocation=function(){if(Yl.isDesktopApp){var e=electron.remote.dialog.showOpenDialogSync({title:"Pick location of translation file",filters:[{name:"Translation file",extensions:["json"]}],properties:["openFile","dontAddToRecent"]});if(e.length>0){var t=e[0];localStorage.setItem(Yf,t),location.reload()}}},Vf&&(window.i18nResetStaleKey=function(e){if(Yl.isDesktopApp){var t=window.require("original-fs"),n=electron.ipcRenderer.sendSync("resources");for(var i in Xf)if(Xf.hasOwnProperty(i)){var r=n+"/i18n/"+i+".json";try{if(t.existsSync(r)){for(var o=t.readFileSync(r,"utf8"),a=JSON.parse(o),s=a,l=e.split("."),c=l.pop(),u=im,h=0,p=l;h1?(n[t[0]]||i[t[0]]||t[0])+" ("+(r[t[1]]||t[1])+")"+t.slice(2).map((function(e){return"(".concat(e,")")})).join(""):t.length>0?n[t[0]]||i[t[0]]||r[t[0]]||t[0]:""}function hm(){return localStorage.getItem(Yf)||Zf}function pm(e){var t=hm();cm.contains(t)&&e.body.addClass("mod-rtl"),e.documentElement.lang=t}function dm(e){var t=hm();return new Intl.NumberFormat(t,e)}var fm=n(6043);const mm=(0,fm.F3)("RateApp",{web:()=>Promise.resolve().then(n.bind(n,1979)).then((e=>new e.RateAppWeb))});var vm=window.Capacitor&&"web"!==fm.Ii.getPlatform(),gm=!!vm&&"ios"===fm.Ii.getPlatform(),ym=!!vm&&"android"===fm.Ii.getPlatform(),bm=vm?(0,fm.F3)("App"):null,wm=vm?(0,fm.F3)("Browser"):null,km=(vm&&(0,fm.F3)("Clipboard"),vm?(0,fm.F3)("Filesystem"):null),Cm=vm?(0,fm.F3)("SplashScreen"):null,Em=vm?(0,fm.F3)("StatusBar"):null,Sm=vm?(0,fm.F3)("Device"):null,Mm=vm?(0,fm.F3)("KeepAwake"):null,xm=vm?(0,fm.F3)("Keyboard"):null,Tm=(vm&&(0,fm.F3)("Haptics"),vm?mm:null),Dm=[];function Am(){if(0===Dm.length)try{Mm.keepAwake().catch(console.error)}catch(e){console.error(e)}var e={release:function(){if(Dm.remove(e),0===Dm.length)try{Mm.allowSleep().catch(console.error)}catch(e){console.error(e)}}};return Dm.push(e),e}function Pm(e,t){if(Yl.isMobile){var n=[];e.addEventListener("touchstart",(function(i){if(!(i.touches.length>i.changedTouches.length)){for(var r=i.targetNode;r;){if(r.instanceOf(HTMLAudioElement))return;if(r.instanceOf(HTMLElement)&&r.dataset.ignoreSwipe)return;r=r.parentNode}var o=i.touches[0];if("stylus"!==o.touchType){var a=o.clientX,s=o.clientY,l=document.elementFromPoint(a,s);if(!(l instanceof HTMLCanvasElement)&&e.contains(l)){var c=o.identifier,u=Date.now(),h=!1,p="x",d=o.clientX,f=o.clientY,m=u,v=0,g=0;if(n.length>0)for(var y=0,b=n;y200)return void S();var c=Math.abs(r-a),y=Math.abs(o-s),b=Math.max(c,y);if(b<10)return;h=!0;for(var k=l,C="x"===(p=c===b?"x":"y")?r-a:o-s;k;){var E="x"===p?k.scrollWidth-k.clientWidth:k.scrollHeight-k.clientHeight;if(E>0){var M=getComputedStyle(k),x="x"===p?M.overflowX:M.overflowY;if("auto"===x||"scroll"===x){var T="x"===p?k.scrollLeft:k.scrollTop;if(C>0&&T>0||C<0&&T0?Promise.all(e).then():void 0}},e.prototype.onload=function(){},e.prototype.unload=function(){if(this._loaded){this._loaded=!1;for(var e=this._children,t=this._events;e.length>0;){e.pop().unload()}for(;t.length>0;){t.pop()()}this.onunload()}},e.prototype.onunload=function(){},e.prototype.addChild=function(e){return this._children.push(e),this._loaded&&e.load(),e},e.prototype.removeChild=function(e){var t=this._children,n=t.indexOf(e);return-1!==n&&(t.splice(n,1),e.unload()),e},e.prototype.register=function(e){this._events.push(e)},e.prototype.registerEvent=function(e){this.register((function(){return e.e.offref(e)}))},e.prototype.registerDomEvent=function(e,t,n,i){e.addEventListener(t,n,i),this.register((function(){return e.removeEventListener(t,n,i)}))},e.prototype.registerScopeEvent=function(e){this.register((function(){return e.scope.unregister(e)}))},e.prototype.registerInterval=function(e){return this.register((function(){return clearInterval(e)})),e},e}();const Nm={"a-arrow-down":[[6,"M3.5 13h6"],[6,"m2 16 4.5-9 4.5 9"],[6,"M18 7v9"],[6,"m14 12 4 4 4-4"]],"a-arrow-up":[[6,"M3.5 13h6"],[6,"m2 16 4.5-9 4.5 9"],[6,"M18 16V7"],[6,"m14 11 4-4 4 4"]],"a-large-small":[[6,"M21 14h-5"],[6,"M16 16v-3.5a2.5 2.5 0 0 1 5 0V16"],[6,"M4.5 13h6"],[6,"m3 16 4.5-9 4.5 9"]],accessibility:[[1,16,4,1],[6,"m18 19 1-7-6 1"],[6,"m5 8 3-3 5.5 3-2.36 3.5"],[6,"M4.24 14.5a5 5 0 0 0 6.88 6"],[6,"M13.76 17.5a5 5 0 0 0-6.88-6"]],activity:[[6,"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"]],"activity-square":[[5,3,3,18,18,2],[6,"M17 12h-2l-2 5-2-10-2 5H7"]],"air-vent":[[6,"M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"],[6,"M6 8h12"],[6,"M18.3 17.7a2.5 2.5 0 0 1-3.16 3.83 2.53 2.53 0 0 1-1.14-2V12"],[6,"M6.6 15.6A2 2 0 1 0 10 17v-5"]],airplay:[[6,"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1"],[6,"m12 15 5 6H7Z"]],"alarm-check":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"m9 13 2 2 4-4"]],"alarm-clock":[[1,12,13,8],[6,"M12 9v4l2 2"],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"]],"alarm-clock-check":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"m9 13 2 2 4-4"]],"alarm-clock-minus":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"M9 13h6"]],"alarm-clock-off":[[6,"M6.87 6.87a8 8 0 1 0 11.26 11.26"],[6,"M19.9 14.25a8 8 0 0 0-9.15-9.15"],[6,"m22 6-3-3"],[6,"M6.26 18.67 4 21"],[6,"m2 2 20 20"],[6,"M4 4 2 6"]],"alarm-clock-plus":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"M12 10v6"],[6,"M9 13h6"]],"alarm-minus":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"M9 13h6"]],"alarm-plus":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"M12 10v6"],[6,"M9 13h6"]],"alarm-smoke":[[6,"M11 21c0-2.5 2-2.5 2-5"],[6,"M16 21c0-2.5 2-2.5 2-5"],[6,"m19 8-.8 3a1.25 1.25 0 0 1-1.2 1H7a1.25 1.25 0 0 1-1.2-1L5 8"],[6,"M21 3a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1z"],[6,"M6 21c0-2.5 2-2.5 2-5"]],album:[[5,3,3,18,18,2,2],[2,"11 3 11 11 14 8 17 11 17 3"]],"alert-circle":[[1,12,12,10],[0,12,8,12,12],[0,12,16,12.01,16]],"alert-octagon":[[6,"M12 16h.01"],[6,"M12 8v4"],[6,"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z"]],"alert-triangle":[[6,"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"],[6,"M12 9v4"],[6,"M12 17h.01"]],"align-center":[[0,21,6,3,6],[0,17,12,7,12],[0,19,18,5,18]],"align-center-horizontal":[[6,"M2 12h20"],[6,"M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4"],[6,"M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4"],[6,"M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1"],[6,"M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1"]],"align-center-vertical":[[6,"M12 2v20"],[6,"M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4"],[6,"M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4"],[6,"M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1"],[6,"M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1"]],"align-end-horizontal":[[5,4,2,6,16,2],[5,14,9,6,9,2],[6,"M22 22H2"]],"align-end-vertical":[[5,2,4,16,6,2],[5,9,14,9,6,2],[6,"M22 22V2"]],"align-horizontal-distribute-center":[[5,4,5,6,14,2],[5,14,7,6,10,2],[6,"M17 22v-5"],[6,"M17 7V2"],[6,"M7 22v-3"],[6,"M7 5V2"]],"align-horizontal-distribute-end":[[5,4,5,6,14,2],[5,14,7,6,10,2],[6,"M10 2v20"],[6,"M20 2v20"]],"align-horizontal-distribute-start":[[5,4,5,6,14,2],[5,14,7,6,10,2],[6,"M4 2v20"],[6,"M14 2v20"]],"align-horizontal-justify-center":[[5,2,5,6,14,2],[5,16,7,6,10,2],[6,"M12 2v20"]],"align-horizontal-justify-end":[[5,2,5,6,14,2],[5,12,7,6,10,2],[6,"M22 2v20"]],"align-horizontal-justify-start":[[5,6,5,6,14,2],[5,16,7,6,10,2],[6,"M2 2v20"]],"align-horizontal-space-around":[[5,9,7,6,10,2],[6,"M4 22V2"],[6,"M20 22V2"]],"align-horizontal-space-between":[[5,3,5,6,14,2],[5,15,7,6,10,2],[6,"M3 2v20"],[6,"M21 2v20"]],"align-justify":[[0,3,6,21,6],[0,3,12,21,12],[0,3,18,21,18]],"align-left":[[0,21,6,3,6],[0,15,12,3,12],[0,17,18,3,18]],"align-right":[[0,21,6,3,6],[0,21,12,9,12],[0,21,18,7,18]],"align-start-horizontal":[[5,4,6,6,16,2],[5,14,6,6,9,2],[6,"M22 2H2"]],"align-start-vertical":[[5,6,14,9,6,2],[5,6,4,16,6,2],[6,"M2 2v20"]],"align-vertical-distribute-center":[[6,"M22 17h-3"],[6,"M22 7h-5"],[6,"M5 17H2"],[6,"M7 7H2"],[5,5,14,14,6,2],[5,7,4,10,6,2]],"align-vertical-distribute-end":[[5,5,14,14,6,2],[5,7,4,10,6,2],[6,"M2 20h20"],[6,"M2 10h20"]],"align-vertical-distribute-start":[[5,5,14,14,6,2],[5,7,4,10,6,2],[6,"M2 14h20"],[6,"M2 4h20"]],"align-vertical-justify-center":[[5,5,16,14,6,2],[5,7,2,10,6,2],[6,"M2 12h20"]],"align-vertical-justify-end":[[5,5,12,14,6,2],[5,7,2,10,6,2],[6,"M2 22h20"]],"align-vertical-justify-start":[[5,5,16,14,6,2],[5,7,6,10,6,2],[6,"M2 2h20"]],"align-vertical-space-around":[[5,7,9,10,6,2],[6,"M22 20H2"],[6,"M22 4H2"]],"align-vertical-space-between":[[5,5,15,14,6,2],[5,7,3,10,6,2],[6,"M2 21h20"],[6,"M2 3h20"]],ambulance:[[6,"M10 10H6"],[6,"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2"],[6,"M19 18h2a1 1 0 0 0 1-1v-3.28a1 1 0 0 0-.684-.948l-1.923-.641a1 1 0 0 1-.578-.502l-1.539-3.076A1 1 0 0 0 16.382 8H14"],[6,"M8 8v4"],[6,"M9 18h6"],[1,17,18,2],[1,7,18,2]],ampersand:[[6,"M17.5 12c0 4.4-3.6 8-8 8A4.5 4.5 0 0 1 5 15.5c0-6 8-4 8-8.5a3 3 0 1 0-6 0c0 3 2.5 8.5 12 13"],[6,"M16 12h3"]],ampersands:[[6,"M10 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5"],[6,"M22 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5"]],amphora:[[6,"M10 2v5.632c0 .424-.272.795-.653.982A6 6 0 0 0 6 14c.006 4 3 7 5 8"],[6,"M10 5H8a2 2 0 0 0 0 4h.68"],[6,"M14 2v5.632c0 .424.272.795.652.982A6 6 0 0 1 18 14c0 4-3 7-5 8"],[6,"M14 5h2a2 2 0 0 1 0 4h-.68"],[6,"M18 22H6"],[6,"M9 2h6"]],anchor:[[6,"M12 22V8"],[6,"M5 12H2a10 10 0 0 0 20 0h-3"],[1,12,5,3]],angry:[[1,12,12,10],[6,"M16 16s-1.5-2-4-2-4 2-4 2"],[6,"M7.5 8 10 9"],[6,"m14 9 2.5-1"],[6,"M9 10h.01"],[6,"M15 10h.01"]],annoyed:[[1,12,12,10],[6,"M8 15h8"],[6,"M8 9h2"],[6,"M14 9h2"]],antenna:[[6,"M2 12 7 2"],[6,"m7 12 5-10"],[6,"m12 12 5-10"],[6,"m17 12 5-10"],[6,"M4.5 7h15"],[6,"M12 16v6"]],anvil:[[6,"M7 10H6a4 4 0 0 1-4-4 1 1 0 0 1 1-1h4"],[6,"M7 5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1 7 7 0 0 1-7 7H8a1 1 0 0 1-1-1z"],[6,"M9 12v5"],[6,"M15 12v5"],[6,"M5 20a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3 1 1 0 0 1-1 1H6a1 1 0 0 1-1-1"]],aperture:[[1,12,12,10],[6,"m14.31 8 5.74 9.94"],[6,"M9.69 8h11.48"],[6,"m7.38 12 5.74-9.94"],[6,"M9.69 16 3.95 6.06"],[6,"M14.31 16H2.83"],[6,"m16.62 12-5.74 9.94"]],"app-window":[[5,2,4,20,16,2],[6,"M10 4v4"],[6,"M2 8h20"],[6,"M6 4v4"]],"app-window-mac":[[5,2,4,20,16,2],[6,"M6 8h.01"],[6,"M10 8h.01"],[6,"M14 8h.01"]],apple:[[6,"M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z"],[6,"M10 2c1 .5 2 2 2 5"]],archive:[[5,2,3,20,5,1],[6,"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"],[6,"M10 12h4"]],"archive-restore":[[5,2,3,20,5,1],[6,"M4 8v11a2 2 0 0 0 2 2h2"],[6,"M20 8v11a2 2 0 0 1-2 2h-2"],[6,"m9 15 3-3 3 3"],[6,"M12 12v9"]],"archive-x":[[5,2,3,20,5,1],[6,"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"],[6,"m9.5 17 5-5"],[6,"m9.5 12 5 5"]],"area-chart":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z"]],armchair:[[6,"M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3"],[6,"M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z"],[6,"M5 18v2"],[6,"M19 18v2"]],"arrow-big-down":[[6,"M15 6v6h4l-7 7-7-7h4V6h6z"]],"arrow-big-down-dash":[[6,"M15 5H9"],[6,"M15 9v3h4l-7 7-7-7h4V9z"]],"arrow-big-left":[[6,"M18 15h-6v4l-7-7 7-7v4h6v6z"]],"arrow-big-left-dash":[[6,"M19 15V9"],[6,"M15 15h-3v4l-7-7 7-7v4h3v6z"]],"arrow-big-right":[[6,"M6 9h6V5l7 7-7 7v-4H6V9z"]],"arrow-big-right-dash":[[6,"M5 9v6"],[6,"M9 9h3V5l7 7-7 7v-4H9V9z"]],"arrow-big-up":[[6,"M9 18v-6H5l7-7 7 7h-4v6H9z"]],"arrow-big-up-dash":[[6,"M9 19h6"],[6,"M9 15v-3H5l7-7 7 7h-4v3H9z"]],"arrow-down":[[6,"M12 5v14"],[6,"m19 12-7 7-7-7"]],"arrow-down-01":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[5,15,4,4,6,0,2],[6,"M17 20v-6h-2"],[6,"M15 20h4"]],"arrow-down-10":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M17 10V4h-2"],[6,"M15 10h4"],[5,15,14,4,6,0,2]],"arrow-down-az":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M20 8h-5"],[6,"M15 10V6.5a2.5 2.5 0 0 1 5 0V10"],[6,"M15 14h5l-5 6h5"]],"arrow-down-circle":[[1,12,12,10],[6,"M12 8v8"],[6,"m8 12 4 4 4-4"]],"arrow-down-from-line":[[6,"M19 3H5"],[6,"M12 21V7"],[6,"m6 15 6 6 6-6"]],"arrow-down-left":[[6,"M17 7 7 17"],[6,"M17 17H7V7"]],"arrow-down-left-from-circle":[[6,"M2 12a10 10 0 1 1 10 10"],[6,"m2 22 10-10"],[6,"M8 22H2v-6"]],"arrow-down-left-from-square":[[6,"M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6"],[6,"m3 21 9-9"],[6,"M9 21H3v-6"]],"arrow-down-left-square":[[5,3,3,18,18,2],[6,"m16 8-8 8"],[6,"M16 16H8V8"]],"arrow-down-narrow-wide":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M11 4h4"],[6,"M11 8h7"],[6,"M11 12h10"]],"arrow-down-right":[[6,"m7 7 10 10"],[6,"M17 7v10H7"]],"arrow-down-right-from-circle":[[6,"M12 22a10 10 0 1 1 10-10"],[6,"M22 22 12 12"],[6,"M22 16v6h-6"]],"arrow-down-right-from-square":[[6,"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"],[6,"m21 21-9-9"],[6,"M21 15v6h-6"]],"arrow-down-right-square":[[5,3,3,18,18,2],[6,"m8 8 8 8"],[6,"M16 8v8H8"]],"arrow-down-square":[[5,3,3,18,18,2],[6,"M12 8v8"],[6,"m8 12 4 4 4-4"]],"arrow-down-to-dot":[[6,"M12 2v14"],[6,"m19 9-7 7-7-7"],[1,12,21,1]],"arrow-down-to-line":[[6,"M12 17V3"],[6,"m6 11 6 6 6-6"],[6,"M19 21H5"]],"arrow-down-up":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"m21 8-4-4-4 4"],[6,"M17 4v16"]],"arrow-down-wide-narrow":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M11 4h10"],[6,"M11 8h7"],[6,"M11 12h4"]],"arrow-down-za":[[6,"m3 16 4 4 4-4"],[6,"M7 4v16"],[6,"M15 4h5l-5 6h5"],[6,"M15 20v-3.5a2.5 2.5 0 0 1 5 0V20"],[6,"M20 18h-5"]],"arrow-left":[[6,"m12 19-7-7 7-7"],[6,"M19 12H5"]],"arrow-left-circle":[[1,12,12,10],[6,"M16 12H8"],[6,"m12 8-4 4 4 4"]],"arrow-left-from-line":[[6,"m9 6-6 6 6 6"],[6,"M3 12h14"],[6,"M21 19V5"]],"arrow-left-right":[[6,"M8 3 4 7l4 4"],[6,"M4 7h16"],[6,"m16 21 4-4-4-4"],[6,"M20 17H4"]],"arrow-left-square":[[5,3,3,18,18,2],[6,"m12 8-4 4 4 4"],[6,"M16 12H8"]],"arrow-left-to-line":[[6,"M3 19V5"],[6,"m13 6-6 6 6 6"],[6,"M7 12h14"]],"arrow-right":[[6,"M5 12h14"],[6,"m12 5 7 7-7 7"]],"arrow-right-circle":[[1,12,12,10],[6,"M8 12h8"],[6,"m12 16 4-4-4-4"]],"arrow-right-from-line":[[6,"M3 5v14"],[6,"M21 12H7"],[6,"m15 18 6-6-6-6"]],"arrow-right-left":[[6,"m16 3 4 4-4 4"],[6,"M20 7H4"],[6,"m8 21-4-4 4-4"],[6,"M4 17h16"]],"arrow-right-square":[[5,3,3,18,18,2],[6,"M8 12h8"],[6,"m12 16 4-4-4-4"]],"arrow-right-to-line":[[6,"M17 12H3"],[6,"m11 18 6-6-6-6"],[6,"M21 5v14"]],"arrow-up":[[6,"m5 12 7-7 7 7"],[6,"M12 19V5"]],"arrow-up-01":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[5,15,4,4,6,0,2],[6,"M17 20v-6h-2"],[6,"M15 20h4"]],"arrow-up-10":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M17 10V4h-2"],[6,"M15 10h4"],[5,15,14,4,6,0,2]],"arrow-up-az":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M20 8h-5"],[6,"M15 10V6.5a2.5 2.5 0 0 1 5 0V10"],[6,"M15 14h5l-5 6h5"]],"arrow-up-circle":[[1,12,12,10],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"]],"arrow-up-down":[[6,"m21 16-4 4-4-4"],[6,"M17 20V4"],[6,"m3 8 4-4 4 4"],[6,"M7 4v16"]],"arrow-up-from-dot":[[6,"m5 9 7-7 7 7"],[6,"M12 16V2"],[1,12,21,1]],"arrow-up-from-line":[[6,"m18 9-6-6-6 6"],[6,"M12 3v14"],[6,"M5 21h14"]],"arrow-up-left":[[6,"M7 17V7h10"],[6,"M17 17 7 7"]],"arrow-up-left-from-circle":[[6,"M2 8V2h6"],[6,"m2 2 10 10"],[6,"M12 2A10 10 0 1 1 2 12"]],"arrow-up-left-from-square":[[6,"M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6"],[6,"m3 3 9 9"],[6,"M3 9V3h6"]],"arrow-up-left-square":[[5,3,3,18,18,2],[6,"M8 16V8h8"],[6,"M16 16 8 8"]],"arrow-up-narrow-wide":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M11 12h4"],[6,"M11 16h7"],[6,"M11 20h10"]],"arrow-up-right":[[6,"M7 7h10v10"],[6,"M7 17 17 7"]],"arrow-up-right-from-circle":[[6,"M22 12A10 10 0 1 1 12 2"],[6,"M22 2 12 12"],[6,"M16 2h6v6"]],"arrow-up-right-from-square":[[6,"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6"],[6,"m21 3-9 9"],[6,"M15 3h6v6"]],"arrow-up-right-square":[[5,3,3,18,18,2],[6,"M8 8h8v8"],[6,"m8 16 8-8"]],"arrow-up-square":[[5,3,3,18,18,2],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"]],"arrow-up-to-line":[[6,"M5 3h14"],[6,"m18 13-6-6-6 6"],[6,"M12 7v14"]],"arrow-up-wide-narrow":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M11 12h10"],[6,"M11 16h7"],[6,"M11 20h4"]],"arrow-up-za":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M15 4h5l-5 6h5"],[6,"M15 20v-3.5a2.5 2.5 0 0 1 5 0V20"],[6,"M20 18h-5"]],"arrows-up-from-line":[[6,"m4 6 3-3 3 3"],[6,"M7 17V3"],[6,"m14 6 3-3 3 3"],[6,"M17 17V3"],[6,"M4 21h16"]],asterisk:[[6,"M12 6v12"],[6,"M17.196 9 6.804 15"],[6,"m6.804 9 10.392 6"]],"asterisk-square":[[5,3,3,18,18,2],[6,"M12 8v8"],[6,"m8.5 14 7-4"],[6,"m8.5 10 7 4"]],"at-sign":[[1,12,12,4],[6,"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8"]],atom:[[1,12,12,1],[6,"M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z"],[6,"M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z"]],"audio-lines":[[6,"M2 10v3"],[6,"M6 6v11"],[6,"M10 3v18"],[6,"M14 8v7"],[6,"M18 5v13"],[6,"M22 10v3"]],"audio-waveform":[[6,"M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2"]],award:[[6,"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526"],[1,12,8,6]],axe:[[6,"m14 12-8.5 8.5a2.12 2.12 0 1 1-3-3L11 9"],[6,"M15 13 9 7l4-4 6 6h3a8 8 0 0 1-7 7z"]],"axis-3d":[[6,"M4 4v16h16"],[6,"m4 20 7-7"]],baby:[[6,"M9 12h.01"],[6,"M15 12h.01"],[6,"M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5"],[6,"M19 6.3a9 9 0 0 1 1.8 3.9 2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1"]],backpack:[[6,"M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z"],[6,"M8 10h8"],[6,"M8 18h8"],[6,"M8 22v-6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v6"],[6,"M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2"]],badge:[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"]],"badge-alert":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,12,8,12,12],[0,12,16,12.01,16]],"badge-cent":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M12 7v10"],[6,"M15.4 10a4 4 0 1 0 0 4"]],"badge-check":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"m9 12 2 2 4-4"]],"badge-dollar-sign":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"],[6,"M12 18V6"]],"badge-euro":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M7 12h5"],[6,"M15 9.4a4 4 0 1 0 0 5.2"]],"badge-help":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"],[0,12,17,12.01,17]],"badge-indian-rupee":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M8 8h8"],[6,"M8 12h8"],[6,"m13 17-5-1h1a4 4 0 0 0 0-8"]],"badge-info":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,12,16,12,12],[0,12,8,12.01,8]],"badge-japanese-yen":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"m9 8 3 3v7"],[6,"m12 11 3-3"],[6,"M9 12h6"],[6,"M9 16h6"]],"badge-minus":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,8,12,16,12]],"badge-percent":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"badge-plus":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,12,8,12,16],[0,8,12,16,12]],"badge-pound-sterling":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M8 12h4"],[6,"M10 16V9.5a2.5 2.5 0 0 1 5 0"],[6,"M8 16h7"]],"badge-russian-ruble":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M9 16h5"],[6,"M9 12h5a2 2 0 1 0 0-4h-3v9"]],"badge-swiss-franc":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M11 17V8h4"],[6,"M11 12h3"],[6,"M9 16h4"]],"badge-x":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,15,9,9,15],[0,9,9,15,15]],"baggage-claim":[[6,"M22 18H6a2 2 0 0 1-2-2V7a2 2 0 0 0-2-2"],[6,"M17 14V4a2 2 0 0 0-2-2h-1a2 2 0 0 0-2 2v10"],[5,8,6,13,8,1],[1,18,20,2],[1,9,20,2]],ban:[[1,12,12,10],[6,"m4.9 4.9 14.2 14.2"]],banana:[[6,"M4 13c3.5-2 8-2 10 2a5.5 5.5 0 0 1 8 5"],[6,"M5.15 17.89c5.52-1.52 8.65-6.89 7-12C11.55 4 11.5 2 13 2c3.22 0 5 5.5 5 8 0 6.5-4.2 12-10.49 12C5.11 22 2 22 2 20c0-1.5 1.14-1.55 3.15-2.11Z"]],bandage:[[6,"M10 10.01h.01"],[6,"M10 14.01h.01"],[6,"M14 10.01h.01"],[6,"M14 14.01h.01"],[6,"M18 6v11.5"],[6,"M6 6v12"],[5,2,6,20,12,2]],banknote:[[5,2,6,20,12,2],[1,12,12,2],[6,"M6 12h.01M18 12h.01"]],"bar-chart":[[0,12,20,12,10],[0,18,20,18,4],[0,6,20,6,16]],"bar-chart-2":[[0,18,20,18,10],[0,12,20,12,4],[0,6,20,6,14]],"bar-chart-3":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M18 17V9"],[6,"M13 17V5"],[6,"M8 17v-3"]],"bar-chart-4":[[6,"M13 17V9"],[6,"M18 17V5"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M8 17v-3"]],"bar-chart-big":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,15,5,4,12,1],[5,7,8,4,9,1]],"bar-chart-horizontal":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 16h8"],[6,"M7 11h12"],[6,"M7 6h3"]],"bar-chart-horizontal-big":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,7,13,9,4,1],[5,7,5,12,4,1]],barcode:[[6,"M3 5v14"],[6,"M8 5v14"],[6,"M12 5v14"],[6,"M17 5v14"],[6,"M21 5v14"]],baseline:[[6,"M4 20h16"],[6,"m6 16 6-12 6 12"],[6,"M8 12h8"]],bath:[[6,"M9 6 6.5 3.5a1.5 1.5 0 0 0-1-.5C4.683 3 4 3.683 4 4.5V17a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5"],[0,10,5,8,7],[0,2,12,22,12],[0,7,19,7,21],[0,17,19,17,21]],battery:[[5,2,7,16,10,2,2],[0,22,11,22,13]],"battery-charging":[[6,"M15 7h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2"],[6,"M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h1"],[6,"m11 7-3 5h4l-3 5"],[0,22,11,22,13]],"battery-full":[[5,2,7,16,10,2,2],[0,22,11,22,13],[0,6,11,6,13],[0,10,11,10,13],[0,14,11,14,13]],"battery-low":[[5,2,7,16,10,2,2],[0,22,11,22,13],[0,6,11,6,13]],"battery-medium":[[5,2,7,16,10,2,2],[0,22,11,22,13],[0,6,11,6,13],[0,10,11,10,13]],"battery-warning":[[6,"M10 17h.01"],[6,"M10 7v6"],[6,"M14 7h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2"],[6,"M22 11v2"],[6,"M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2"]],beaker:[[6,"M4.5 3h15"],[6,"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3"],[6,"M6 14h12"]],bean:[[6,"M10.165 6.598C9.954 7.478 9.64 8.36 9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22c7.732 0 14-6.268 14-14a6 6 0 0 0-11.835-1.402Z"],[6,"M5.341 10.62a4 4 0 1 0 5.279-5.28"]],"bean-off":[[6,"M9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22a13.96 13.96 0 0 0 9.9-4.1"],[6,"M10.75 5.093A6 6 0 0 1 22 8c0 2.411-.61 4.68-1.683 6.66"],[6,"M5.341 10.62a4 4 0 0 0 6.487 1.208M10.62 5.341a4.015 4.015 0 0 1 2.039 2.04"],[0,2,2,22,22]],bed:[[6,"M2 4v16"],[6,"M2 8h18a2 2 0 0 1 2 2v10"],[6,"M2 17h20"],[6,"M6 8v9"]],"bed-double":[[6,"M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8"],[6,"M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4"],[6,"M12 4v6"],[6,"M2 18h20"]],"bed-single":[[6,"M3 20v-8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8"],[6,"M5 10V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4"],[6,"M3 18h18"]],beef:[[1,12.5,8.5,2.5],[6,"M12.5 2a6.5 6.5 0 0 0-6.22 4.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3A6.5 6.5 0 0 0 12.5 2Z"],[6,"m18.5 6 2.19 4.5a6.48 6.48 0 0 1 .31 2 6.49 6.49 0 0 1-2.6 5.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5"]],beer:[[6,"M17 11h1a3 3 0 0 1 0 6h-1"],[6,"M9 12v6"],[6,"M13 12v6"],[6,"M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z"],[6,"M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8"]],"beer-off":[[6,"M13 13v5"],[6,"M17 11.47V8"],[6,"M17 11h1a3 3 0 0 1 2.745 4.211"],[6,"m2 2 20 20"],[6,"M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3"],[6,"M7.536 7.535C6.766 7.649 6.154 8 5.5 8a2.5 2.5 0 0 1-1.768-4.268"],[6,"M8.727 3.204C9.306 2.767 9.885 2 11 2c1.56 0 2 1.5 3 1.5s1.72-.5 2.5-.5a1 1 0 1 1 0 5c-.78 0-1.5-.5-2.5-.5a3.149 3.149 0 0 0-.842.12"],[6,"M9 14.6V18"]],bell:[[6,"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"]],"bell-dot":[[6,"M19.4 14.9C20.2 16.4 21 17 21 17H3s3-2 3-9c0-3.3 2.7-6 6-6 .7 0 1.3.1 1.9.3"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[1,18,8,3]],"bell-electric":[[6,"M18.8 4A6.3 8.7 0 0 1 20 9"],[6,"M9 9h.01"],[1,9,9,7],[5,4,16,10,6,2],[6,"M14 19c3 0 4.6-1.6 4.6-1.6"],[1,20,16,2]],"bell-minus":[[6,"M18.4 12c.8 3.8 2.6 5 2.6 5H3s3-2 3-9c0-3.3 2.7-6 6-6 1.8 0 3.4.8 4.5 2"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[6,"M15 8h6"]],"bell-off":[[6,"M8.7 3A6 6 0 0 1 18 8a21.3 21.3 0 0 0 .6 5"],[6,"M17 17H3s3-2 3-9a4.67 4.67 0 0 1 .3-1.7"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[6,"m2 2 20 20"]],"bell-plus":[[6,"M19.3 14.8C20.1 16.4 21 17 21 17H3s3-2 3-9c0-3.3 2.7-6 6-6 1 0 1.9.2 2.8.7"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[6,"M15 8h6"],[6,"M18 5v6"]],"bell-ring":[[6,"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[6,"M4 2C2.8 3.7 2 5.7 2 8"],[6,"M22 8c0-2.3-.8-4.3-2-6"]],"between-horizonal-end":[[5,3,3,13,7,1],[6,"m22 15-3-3 3-3"],[5,3,14,13,7,1]],"between-horizonal-start":[[5,8,3,13,7,1],[6,"m2 9 3 3-3 3"],[5,8,14,13,7,1]],"between-horizontal-end":[[5,3,3,13,7,1],[6,"m22 15-3-3 3-3"],[5,3,14,13,7,1]],"between-horizontal-start":[[5,8,3,13,7,1],[6,"m2 9 3 3-3 3"],[5,8,14,13,7,1]],"between-vertical-end":[[5,3,3,7,13,1],[6,"m9 22 3-3 3 3"],[5,14,3,7,13,1]],"between-vertical-start":[[5,3,8,7,13,1],[6,"m15 2-3 3-3-3"],[5,14,8,7,13,1]],"biceps-flexed":[[6,"M12.409 13.017A5 5 0 0 1 22 15c0 3.866-4 7-9 7-4.077 0-8.153-.82-10.371-2.462-.426-.316-.631-.832-.62-1.362C2.118 12.723 2.627 2 10 2a3 3 0 0 1 3 3 2 2 0 0 1-2 2c-1.105 0-1.64-.444-2-1"],[6,"M15 14a5 5 0 0 0-7.584 2"],[6,"M9.964 6.825C8.019 7.977 9.5 13 8 15"]],bike:[[1,18.5,17.5,3.5],[1,5.5,17.5,3.5],[1,15,5,1],[6,"M12 17.5V14l-3-3 4-3 2 3h2"]],binary:[[5,14,14,4,6,2],[5,6,4,4,6,2],[6,"M6 20h4"],[6,"M14 10h4"],[6,"M6 14h2v6"],[6,"M14 4h2v6"]],binoculars:[[6,"M10 10h4"],[6,"M19 7V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3"],[6,"M20 21a2 2 0 0 0 2-2v-3.851c0-1.39-2-2.962-2-4.829V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2z"],[6,"M 22 16 L 2 16"],[6,"M4 21a2 2 0 0 1-2-2v-3.851c0-1.39 2-2.962 2-4.829V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11a2 2 0 0 1-2 2z"],[6,"M9 7V4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3"]],biohazard:[[1,12,11.9,2],[6,"M6.7 3.4c-.9 2.5 0 5.2 2.2 6.7C6.5 9 3.7 9.6 2 11.6"],[6,"m8.9 10.1 1.4.8"],[6,"M17.3 3.4c.9 2.5 0 5.2-2.2 6.7 2.4-1.2 5.2-.6 6.9 1.5"],[6,"m15.1 10.1-1.4.8"],[6,"M16.7 20.8c-2.6-.4-4.6-2.6-4.7-5.3-.2 2.6-2.1 4.8-4.7 5.2"],[6,"M12 13.9v1.6"],[6,"M13.5 5.4c-1-.2-2-.2-3 0"],[6,"M17 16.4c.7-.7 1.2-1.6 1.5-2.5"],[6,"M5.5 13.9c.3.9.8 1.8 1.5 2.5"]],bird:[[6,"M16 7h.01"],[6,"M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20"],[6,"m20 7 2 .5-2 .5"],[6,"M10 18v3"],[6,"M14 17.75V21"],[6,"M7 18a6 6 0 0 0 3.84-10.61"]],bitcoin:[[6,"M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727"]],blend:[[1,9,9,7],[1,15,15,7]],blinds:[[6,"M3 3h18"],[6,"M20 7H8"],[6,"M20 11H8"],[6,"M10 19h10"],[6,"M8 15h12"],[6,"M4 3v14"],[1,4,19,2]],blocks:[[5,14,3,7,7,1],[6,"M10 21V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H3"]],bluetooth:[[6,"m7 7 10 10-5 5V2l5 5L7 17"]],"bluetooth-connected":[[6,"m7 7 10 10-5 5V2l5 5L7 17"],[0,18,12,21,12],[0,3,12,6,12]],"bluetooth-off":[[6,"m17 17-5 5V12l-5 5"],[6,"m2 2 20 20"],[6,"M14.5 9.5 17 7l-5-5v4.5"]],"bluetooth-searching":[[6,"m7 7 10 10-5 5V2l5 5L7 17"],[6,"M20.83 14.83a4 4 0 0 0 0-5.66"],[6,"M18 12h.01"]],bold:[[6,"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8"]],bolt:[[6,"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"],[1,12,12,4]],bomb:[[1,11,13,9],[6,"M14.35 4.65 16.3 2.7a2.41 2.41 0 0 1 3.4 0l1.6 1.6a2.4 2.4 0 0 1 0 3.4l-1.95 1.95"],[6,"m22 2-1.5 1.5"]],bone:[[6,"M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z"]],book:[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"]],"book-a":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m8 13 4-7 4 7"],[6,"M9.1 11h5.7"]],"book-audio":[[6,"M12 6v7"],[6,"M16 8v3"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M8 8v3"]],"book-check":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m9 9.5 2 2 4-4"]],"book-copy":[[6,"M2 16V4a2 2 0 0 1 2-2h11"],[6,"M22 18H11a2 2 0 1 0 0 4h10.5a.5.5 0 0 0 .5-.5v-15a.5.5 0 0 0-.5-.5H11a2 2 0 0 0-2 2v12"],[6,"M5 14H4a2 2 0 1 0 0 4h1"]],"book-dashed":[[6,"M12 17h2"],[6,"M12 22h2"],[6,"M12 2h2"],[6,"M18 22h1a1 1 0 0 0 1-1"],[6,"M18 2h1a1 1 0 0 1 1 1v1"],[6,"M20 15v2h-2"],[6,"M20 8v3"],[6,"M4 11V9"],[6,"M4 19.5V15"],[6,"M4 5v-.5A2.5 2.5 0 0 1 6.5 2H8"],[6,"M8 22H6.5a1 1 0 0 1 0-5H8"]],"book-down":[[6,"M12 13V7"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m9 10 3 3 3-3"]],"book-headphones":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M8 12v-2a4 4 0 0 1 8 0v2"],[1,15,12,1],[1,9,12,1]],"book-heart":[[6,"M16 8.2A2.22 2.22 0 0 0 13.8 6c-.8 0-1.4.3-1.8.9-.4-.6-1-.9-1.8-.9A2.22 2.22 0 0 0 8 8.2c0 .6.3 1.2.7 1.6A226.652 226.652 0 0 0 12 13a404 404 0 0 0 3.3-3.1 2.413 2.413 0 0 0 .7-1.7"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"]],"book-image":[[6,"m20 13.7-2.1-2.1a2 2 0 0 0-2.8 0L9.7 17"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[1,10,8,2]],"book-key":[[6,"m19 3 1 1"],[6,"m20 2-4.5 4.5"],[6,"M20 8v13a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H14"],[1,14,8,2]],"book-lock":[[6,"M18 6V4a2 2 0 1 0-4 0v2"],[6,"M20 15v6a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H10"],[5,12,6,8,5,1]],"book-marked":[[6,"M10 2v8l3-3 3 3V2"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"]],"book-minus":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M9 10h6"]],"book-open":[[6,"M12 7v14"],[6,"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"]],"book-open-check":[[6,"M12 21V7"],[6,"m16 12 2 2 4-4"],[6,"M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3"]],"book-open-text":[[6,"M12 7v14"],[6,"M16 12h2"],[6,"M16 8h2"],[6,"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"],[6,"M6 12h2"],[6,"M6 8h2"]],"book-plus":[[6,"M12 7v6"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M9 10h6"]],"book-template":[[6,"M12 17h2"],[6,"M12 22h2"],[6,"M12 2h2"],[6,"M18 22h1a1 1 0 0 0 1-1"],[6,"M18 2h1a1 1 0 0 1 1 1v1"],[6,"M20 15v2h-2"],[6,"M20 8v3"],[6,"M4 11V9"],[6,"M4 19.5V15"],[6,"M4 5v-.5A2.5 2.5 0 0 1 6.5 2H8"],[6,"M8 22H6.5a1 1 0 0 1 0-5H8"]],"book-text":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M8 11h8"],[6,"M8 7h6"]],"book-type":[[6,"M10 13h4"],[6,"M12 6v7"],[6,"M16 8V6H8v2"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"]],"book-up":[[6,"M12 13V7"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m9 10 3-3 3 3"]],"book-up-2":[[6,"M12 13V7"],[6,"M18 2h1a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2"],[6,"m9 10 3-3 3 3"],[6,"m9 5 3-3 3 3"]],"book-user":[[6,"M15 13a3 3 0 1 0-6 0"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[1,12,8,2]],"book-x":[[6,"m14.5 7-5 5"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m9.5 7 5 5"]],bookmark:[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z"]],"bookmark-check":[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z"],[6,"m9 10 2 2 4-4"]],"bookmark-minus":[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z"],[0,15,10,9,10]],"bookmark-plus":[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z"],[0,12,7,12,13],[0,15,10,9,10]],"bookmark-x":[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z"],[6,"m14.5 7.5-5 5"],[6,"m9.5 7.5 5 5"]],"boom-box":[[6,"M4 9V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4"],[6,"M8 8v1"],[6,"M12 8v1"],[6,"M16 8v1"],[5,2,9,20,12,2],[1,8,15,2],[1,16,15,2]],bot:[[6,"M12 8V4H8"],[5,4,8,16,12,2],[6,"M2 14h2"],[6,"M20 14h2"],[6,"M15 13v2"],[6,"M9 13v2"]],"bot-message-square":[[6,"M12 6V2H8"],[6,"m8 18-4 4V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2Z"],[6,"M2 12h2"],[6,"M9 11v2"],[6,"M15 11v2"],[6,"M20 12h2"]],"bot-off":[[6,"M13.67 8H18a2 2 0 0 1 2 2v4.33"],[6,"M2 14h2"],[6,"M20 14h2"],[6,"M22 22 2 2"],[6,"M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586"],[6,"M9 13v2"],[6,"M9.67 4H12v2.33"]],box:[[6,"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"],[6,"m3.3 7 8.7 5 8.7-5"],[6,"M12 22V12"]],"box-select":[[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h1"],[6,"M14 3h1"],[6,"M14 21h1"],[6,"M3 9v1"],[6,"M21 9v1"],[6,"M3 14v1"],[6,"M21 14v1"]],boxes:[[6,"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z"],[6,"m7 16.5-4.74-2.85"],[6,"m7 16.5 5-3"],[6,"M7 16.5v5.17"],[6,"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z"],[6,"m17 16.5-5-3"],[6,"m17 16.5 4.74-2.85"],[6,"M17 16.5v5.17"],[6,"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z"],[6,"M12 8 7.26 5.15"],[6,"m12 8 4.74-2.85"],[6,"M12 13.5V8"]],braces:[[6,"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"],[6,"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"]],brackets:[[6,"M16 3h3v18h-3"],[6,"M8 21H5V3h3"]],brain:[[6,"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"],[6,"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z"],[6,"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4"],[6,"M17.599 6.5a3 3 0 0 0 .399-1.375"],[6,"M6.003 5.125A3 3 0 0 0 6.401 6.5"],[6,"M3.477 10.896a4 4 0 0 1 .585-.396"],[6,"M19.938 10.5a4 4 0 0 1 .585.396"],[6,"M6 18a4 4 0 0 1-1.967-.516"],[6,"M19.967 17.484A4 4 0 0 1 18 18"]],"brain-circuit":[[6,"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"],[6,"M9 13a4.5 4.5 0 0 0 3-4"],[6,"M6.003 5.125A3 3 0 0 0 6.401 6.5"],[6,"M3.477 10.896a4 4 0 0 1 .585-.396"],[6,"M6 18a4 4 0 0 1-1.967-.516"],[6,"M12 13h4"],[6,"M12 18h6a2 2 0 0 1 2 2v1"],[6,"M12 8h8"],[6,"M16 8V5a2 2 0 0 1 2-2"],[1,16,13,.5],[1,18,3,.5],[1,20,21,.5],[1,20,8,.5]],"brain-cog":[[6,"M12 5a3 3 0 1 0-5.997.142 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588 4 4 0 0 0 7.636 2.106 3.2 3.2 0 0 0 .164-.546c.028-.13.306-.13.335 0a3.2 3.2 0 0 0 .163.546 4 4 0 0 0 7.636-2.106 4 4 0 0 0 .556-6.588 4 4 0 0 0-2.526-5.77A3 3 0 1 0 12 5"],[6,"M17.599 6.5a3 3 0 0 0 .399-1.375"],[6,"M6.003 5.125A3 3 0 0 0 6.401 6.5"],[6,"M3.477 10.896a4 4 0 0 1 .585-.396"],[6,"M19.938 10.5a4 4 0 0 1 .585.396"],[6,"M6 18a4 4 0 0 1-1.967-.516"],[6,"M19.967 17.484A4 4 0 0 1 18 18"],[1,12,12,3],[6,"m15.7 10.4-.9.4"],[6,"m9.2 13.2-.9.4"],[6,"m13.6 15.7-.4-.9"],[6,"m10.8 9.2-.4-.9"],[6,"m15.7 13.5-.9-.4"],[6,"m9.2 10.9-.9-.4"],[6,"m10.5 15.7.4-.9"],[6,"m13.1 9.2.4-.9"]],"brick-wall":[[5,3,3,18,18,2],[6,"M12 9v6"],[6,"M16 15v6"],[6,"M16 3v6"],[6,"M3 15h18"],[6,"M3 9h18"],[6,"M8 15v6"],[6,"M8 3v6"]],briefcase:[[6,"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"],[5,2,6,20,14,2]],"briefcase-business":[[6,"M12 12h.01"],[6,"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2"],[6,"M22 13a18.15 18.15 0 0 1-20 0"],[5,2,6,20,14,2]],"briefcase-conveyor-belt":[[6,"M10 20v2"],[6,"M14 20v2"],[6,"M18 20v2"],[6,"M21 20H3"],[6,"M6 20v2"],[6,"M8 16V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v12"],[5,4,6,16,10,2]],"briefcase-medical":[[6,"M12 11v4"],[6,"M14 13h-4"],[6,"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2"],[6,"M18 6v14"],[6,"M6 6v14"],[5,2,6,20,14,2]],"bring-to-front":[[5,8,8,8,8,2],[6,"M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2"],[6,"M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2"]],brush:[[6,"m9.06 11.9 8.07-8.06a2.85 2.85 0 1 1 4.03 4.03l-8.06 8.08"],[6,"M7.07 14.94c-1.66 0-3 1.35-3 3.02 0 1.33-2.5 1.52-2 2.02 1.08 1.1 2.49 2.02 4 2.02 2.2 0 4-1.8 4-4.04a3.01 3.01 0 0 0-3-3.02z"]],bug:[[6,"m8 2 1.88 1.88"],[6,"M14.12 3.88 16 2"],[6,"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"],[6,"M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"],[6,"M12 20v-9"],[6,"M6.53 9C4.6 8.8 3 7.1 3 5"],[6,"M6 13H2"],[6,"M3 21c0-2.1 1.7-3.9 3.8-4"],[6,"M20.97 5c0 2.1-1.6 3.8-3.5 4"],[6,"M22 13h-4"],[6,"M17.2 17c2.1.1 3.8 1.9 3.8 4"]],"bug-off":[[6,"M15 7.13V6a3 3 0 0 0-5.14-2.1L8 2"],[6,"M14.12 3.88 16 2"],[6,"M22 13h-4v-2a4 4 0 0 0-4-4h-1.3"],[6,"M20.97 5c0 2.1-1.6 3.8-3.5 4"],[6,"m2 2 20 20"],[6,"M7.7 7.7A4 4 0 0 0 6 11v3a6 6 0 0 0 11.13 3.13"],[6,"M12 20v-8"],[6,"M6 13H2"],[6,"M3 21c0-2.1 1.7-3.9 3.8-4"]],"bug-play":[[6,"M12.765 21.522a.5.5 0 0 1-.765-.424v-8.196a.5.5 0 0 1 .765-.424l5.878 3.674a1 1 0 0 1 0 1.696z"],[6,"M14.12 3.88 16 2"],[6,"M18 11a4 4 0 0 0-4-4h-4a4 4 0 0 0-4 4v3a6.1 6.1 0 0 0 2 4.5"],[6,"M20.97 5c0 2.1-1.6 3.8-3.5 4"],[6,"M3 21c0-2.1 1.7-3.9 3.8-4"],[6,"M6 13H2"],[6,"M6.53 9C4.6 8.8 3 7.1 3 5"],[6,"m8 2 1.88 1.88"],[6,"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"]],building:[[5,4,2,16,20,2,2],[6,"M9 22v-4h6v4"],[6,"M8 6h.01"],[6,"M16 6h.01"],[6,"M12 6h.01"],[6,"M12 10h.01"],[6,"M12 14h.01"],[6,"M16 10h.01"],[6,"M16 14h.01"],[6,"M8 10h.01"],[6,"M8 14h.01"]],"building-2":[[6,"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z"],[6,"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2"],[6,"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2"],[6,"M10 6h4"],[6,"M10 10h4"],[6,"M10 14h4"],[6,"M10 18h4"]],bus:[[6,"M8 6v6"],[6,"M15 6v6"],[6,"M2 12h19.6"],[6,"M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3"],[1,7,18,2],[6,"M9 18h5"],[1,16,18,2]],"bus-front":[[6,"M4 6 2 7"],[6,"M10 6h4"],[6,"m22 7-2-1"],[5,4,3,16,16,2],[6,"M4 11h16"],[6,"M8 15h.01"],[6,"M16 15h.01"],[6,"M6 19v2"],[6,"M18 21v-2"]],cable:[[6,"M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1"],[6,"M19 15V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V9"],[6,"M21 21v-2h-4"],[6,"M3 5h4V3"],[6,"M7 5a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1V3"]],"cable-car":[[6,"M10 3h.01"],[6,"M14 2h.01"],[6,"m2 9 20-5"],[6,"M12 12V6.5"],[5,4,12,16,10,3],[6,"M9 12v5"],[6,"M15 12v5"],[6,"M4 17h16"]],cake:[[6,"M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8"],[6,"M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1"],[6,"M2 21h20"],[6,"M7 8v3"],[6,"M12 8v3"],[6,"M17 8v3"],[6,"M7 4h.01"],[6,"M12 4h.01"],[6,"M17 4h.01"]],"cake-slice":[[1,9,7,2],[6,"M7.2 7.9 3 11v9c0 .6.4 1 1 1h16c.6 0 1-.4 1-1v-9c0-2-3-6-7-8l-3.6 2.6"],[6,"M16 13H3"],[6,"M16 17H3"]],calculator:[[5,4,2,16,20,2],[0,8,6,16,6],[0,16,14,16,18],[6,"M16 10h.01"],[6,"M12 10h.01"],[6,"M8 10h.01"],[6,"M12 14h.01"],[6,"M8 14h.01"],[6,"M12 18h.01"],[6,"M8 18h.01"]],calendar:[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"]],"calendar-arrow-down":[[6,"m14 18 4 4 4-4"],[6,"M16 2v4"],[6,"M18 14v8"],[6,"M21 11.354V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.343"],[6,"M3 10h18"],[6,"M8 2v4"]],"calendar-arrow-up":[[6,"m14 18 4-4 4 4"],[6,"M16 2v4"],[6,"M18 22v-8"],[6,"M21 11.343V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9"],[6,"M3 10h18"],[6,"M8 2v4"]],"calendar-check":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"m9 16 2 2 4-4"]],"calendar-check-2":[[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21 14V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8"],[6,"M3 10h18"],[6,"m16 20 2 2 4-4"]],"calendar-clock":[[6,"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"],[6,"M16 2v4"],[6,"M8 2v4"],[6,"M3 10h5"],[6,"M17.5 17.5 16 16.3V14"],[1,16,16,6]],"calendar-cog":[[6,"m15.2 16.9-.9-.4"],[6,"m15.2 19.1-.9.4"],[6,"M16 2v4"],[6,"m16.9 15.2-.4-.9"],[6,"m16.9 20.8-.4.9"],[6,"m19.5 14.3-.4.9"],[6,"m19.5 21.7-.4-.9"],[6,"M21 10.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"],[6,"m21.7 16.5-.9.4"],[6,"m21.7 19.5-.9-.4"],[6,"M3 10h18"],[6,"M8 2v4"],[1,18,18,3]],"calendar-days":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"M8 14h.01"],[6,"M12 14h.01"],[6,"M16 14h.01"],[6,"M8 18h.01"],[6,"M12 18h.01"],[6,"M16 18h.01"]],"calendar-fold":[[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21 17V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11Z"],[6,"M3 10h18"],[6,"M15 22v-4a2 2 0 0 1 2-2h4"]],"calendar-heart":[[6,"M3 10h18V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7"],[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21.29 14.7a2.43 2.43 0 0 0-2.65-.52c-.3.12-.57.3-.8.53l-.34.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L17.5 22l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z"]],"calendar-minus":[[6,"M16 19h6"],[6,"M16 2v4"],[6,"M21 15V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5"],[6,"M3 10h18"],[6,"M8 2v4"]],"calendar-minus-2":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"M10 16h4"]],"calendar-off":[[6,"M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18"],[6,"M21 15.5V6a2 2 0 0 0-2-2H9.5"],[6,"M16 2v4"],[6,"M3 10h7"],[6,"M21 10h-5.5"],[6,"m2 2 20 20"]],"calendar-plus":[[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8"],[6,"M3 10h18"],[6,"M16 19h6"],[6,"M19 16v6"]],"calendar-plus-2":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"M10 16h4"],[6,"M12 14v4"]],"calendar-range":[[5,3,4,18,18,2],[6,"M16 2v4"],[6,"M3 10h18"],[6,"M8 2v4"],[6,"M17 14h-6"],[6,"M13 18H7"],[6,"M7 14h.01"],[6,"M17 18h.01"]],"calendar-search":[[6,"M16 2v4"],[6,"M21 11.75V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.25"],[6,"m22 22-1.875-1.875"],[6,"M3 10h18"],[6,"M8 2v4"],[1,18,18,3]],"calendar-x":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"m14 14-4 4"],[6,"m10 14 4 4"]],"calendar-x2":[[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8"],[6,"M3 10h18"],[6,"m17 22 5-5"],[6,"m17 17 5 5"]],camera:[[6,"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z"],[1,12,13,3]],"camera-off":[[0,2,2,22,22],[6,"M7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16"],[6,"M9.5 4h5L17 7h3a2 2 0 0 1 2 2v7.5"],[6,"M14.121 15.121A3 3 0 1 1 9.88 10.88"]],"candlestick-chart":[[6,"M9 5v4"],[5,7,9,4,6,1],[6,"M9 15v2"],[6,"M17 3v2"],[5,15,5,4,8,1],[6,"M17 13v3"],[6,"M3 3v16a2 2 0 0 0 2 2h16"]],candy:[[6,"m9.5 7.5-2 2a4.95 4.95 0 1 0 7 7l2-2a4.95 4.95 0 1 0-7-7Z"],[6,"M14 6.5v10"],[6,"M10 7.5v10"],[6,"m16 7 1-5 1.37.68A3 3 0 0 0 19.7 3H21v1.3c0 .46.1.92.32 1.33L22 7l-5 1"],[6,"m8 17-1 5-1.37-.68A3 3 0 0 0 4.3 21H3v-1.3a3 3 0 0 0-.32-1.33L2 17l5-1"]],"candy-cane":[[6,"M5.7 21a2 2 0 0 1-3.5-2l8.6-14a6 6 0 0 1 10.4 6 2 2 0 1 1-3.464-2 2 2 0 1 0-3.464-2Z"],[6,"M17.75 7 15 2.1"],[6,"M10.9 4.8 13 9"],[6,"m7.9 9.7 2 4.4"],[6,"M4.9 14.7 7 18.9"]],"candy-off":[[6,"m8.5 8.5-1 1a4.95 4.95 0 0 0 7 7l1-1"],[6,"M11.843 6.187A4.947 4.947 0 0 1 16.5 7.5a4.947 4.947 0 0 1 1.313 4.657"],[6,"M14 16.5V14"],[6,"M14 6.5v1.843"],[6,"M10 10v7.5"],[6,"m16 7 1-5 1.367.683A3 3 0 0 0 19.708 3H21v1.292a3 3 0 0 0 .317 1.341L22 7l-5 1"],[6,"m8 17-1 5-1.367-.683A3 3 0 0 0 4.292 21H3v-1.292a3 3 0 0 0-.317-1.341L2 17l5-1"],[0,2,2,22,22]],cannabis:[[6,"M12 22v-4"],[6,"M7 12c-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3 1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5 0 0 2.5.5 6-1-.5-1.5-3.5-3-5-3 1.5-1 4-4 4-6-2.5 0-5.5 1.5-7 3 0-2.5-.5-5-2-7-1.5 2-2 4.5-2 7-1.5-1.5-4.5-3-7-3 0 2 2.5 5 4 6"]],captions:[[5,3,5,18,14,2,2],[6,"M7 15h4M15 15h2M7 11h2M13 11h4"]],"captions-off":[[6,"M10.5 5H19a2 2 0 0 1 2 2v8.5"],[6,"M17 11h-.5"],[6,"M19 19H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2"],[6,"m2 2 20 20"],[6,"M7 11h4"],[6,"M7 15h2.5"]],car:[[6,"M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2"],[1,7,17,2],[6,"M9 17h6"],[1,17,17,2]],"car-front":[[6,"m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8"],[6,"M7 14h.01"],[6,"M17 14h.01"],[5,3,10,18,8,2],[6,"M5 18v2"],[6,"M19 18v2"]],"car-taxi-front":[[6,"M10 2h4"],[6,"m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8"],[6,"M7 14h.01"],[6,"M17 14h.01"],[5,3,10,18,8,2],[6,"M5 18v2"],[6,"M19 18v2"]],caravan:[[6,"M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2"],[6,"M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2"],[6,"M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9"],[1,8,19,2]],carrot:[[6,"M2.27 21.7s9.87-3.5 12.73-6.36a4.5 4.5 0 0 0-6.36-6.37C5.77 11.84 2.27 21.7 2.27 21.7zM8.64 14l-2.05-2.04M15.34 15l-2.46-2.46"],[6,"M22 9s-1.33-2-3.5-2C16.86 7 15 9 15 9s1.33 2 3.5 2S22 9 22 9z"],[6,"M15 2s-2 1.33-2 3.5S15 9 15 9s2-1.84 2-3.5C17 3.33 15 2 15 2z"]],"case-lower":[[1,7,12,3],[6,"M10 9v6"],[1,17,12,3],[6,"M14 7v8"]],"case-sensitive":[[6,"m3 15 4-8 4 8"],[6,"M4 13h6"],[1,18,12,3],[6,"M21 9v6"]],"case-upper":[[6,"m3 15 4-8 4 8"],[6,"M4 13h6"],[6,"M15 11h4.5a2 2 0 0 1 0 4H15V7h4a2 2 0 0 1 0 4"]],"cassette-tape":[[5,2,4,20,16,2],[1,8,10,2],[6,"M8 12h8"],[1,16,10,2],[6,"m6 20 .7-2.9A1.4 1.4 0 0 1 8.1 16h7.8a1.4 1.4 0 0 1 1.4 1l.7 3"]],cast:[[6,"M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"],[6,"M2 12a9 9 0 0 1 8 8"],[6,"M2 16a5 5 0 0 1 4 4"],[0,2,20,2.01,20]],castle:[[6,"M22 20v-9H2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2Z"],[6,"M18 11V4H6v7"],[6,"M15 22v-4a3 3 0 0 0-3-3a3 3 0 0 0-3 3v4"],[6,"M22 11V9"],[6,"M2 11V9"],[6,"M6 4V2"],[6,"M18 4V2"],[6,"M10 4V2"],[6,"M14 4V2"]],cat:[[6,"M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z"],[6,"M8 14v.5"],[6,"M16 14v.5"],[6,"M11.25 16.25h1.5L12 17l-.75-.75Z"]],cctv:[[6,"M16.75 12h3.632a1 1 0 0 1 .894 1.447l-2.034 4.069a1 1 0 0 1-1.708.134l-2.124-2.97"],[6,"M17.106 9.053a1 1 0 0 1 .447 1.341l-3.106 6.211a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.92 2.92 0 0 1 3.92-1.3z"],[6,"M2 19h3.76a2 2 0 0 0 1.8-1.1L9 15"],[6,"M2 21v-4"],[6,"M7 9h.01"]],"chart-area":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z"]],"chart-bar":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 16h8"],[6,"M7 11h12"],[6,"M7 6h3"]],"chart-bar-big":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,7,13,9,4,1],[5,7,5,12,4,1]],"chart-bar-decreasing":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 11h8"],[6,"M7 16h3"],[6,"M7 6h12"]],"chart-bar-increasing":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 11h8"],[6,"M7 16h12"],[6,"M7 6h3"]],"chart-bar-stacked":[[6,"M11 13v4"],[6,"M15 5v4"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,7,13,9,4,1],[5,7,5,12,4,1]],"chart-candlestick":[[6,"M9 5v4"],[5,7,9,4,6,1],[6,"M9 15v2"],[6,"M17 3v2"],[5,15,5,4,8,1],[6,"M17 13v3"],[6,"M3 3v16a2 2 0 0 0 2 2h16"]],"chart-column":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M18 17V9"],[6,"M13 17V5"],[6,"M8 17v-3"]],"chart-column-big":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,15,5,4,12,1],[5,7,8,4,9,1]],"chart-column-decreasing":[[6,"M13 17V9"],[6,"M18 17v-3"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M8 17V5"]],"chart-column-increasing":[[6,"M13 17V9"],[6,"M18 17V5"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M8 17v-3"]],"chart-column-stacked":[[6,"M11 13H7"],[6,"M19 9h-4"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,15,5,4,12,1],[5,7,8,4,9,1]],"chart-gantt":[[6,"M10 6h8"],[6,"M12 16h6"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M8 11h7"]],"chart-line":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"m19 9-5 5-4-4-3 3"]],"chart-network":[[6,"m13.11 7.664 1.78 2.672"],[6,"m14.162 12.788-3.324 1.424"],[6,"m20 4-6.06 1.515"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[1,12,6,2],[1,16,12,2],[1,9,15,2]],"chart-no-axes-column":[[0,18,20,18,10],[0,12,20,12,4],[0,6,20,6,14]],"chart-no-axes-column-decreasing":[[6,"M12 20V10"],[6,"M18 20v-4"],[6,"M6 20V4"]],"chart-no-axes-column-increasing":[[0,12,20,12,10],[0,18,20,18,4],[0,6,20,6,16]],"chart-no-axes-combined":[[6,"M12 16v5"],[6,"M16 14v7"],[6,"M20 10v11"],[6,"m22 3-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15"],[6,"M4 18v3"],[6,"M8 14v7"]],"chart-no-axes-gantt":[[6,"M8 6h10"],[6,"M6 12h9"],[6,"M11 18h7"]],"chart-pie":[[6,"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z"],[6,"M21.21 15.89A10 10 0 1 1 8 2.83"]],"chart-scatter":[[1,7.5,7.5,.5],[1,18.5,5.5,.5],[1,11.5,11.5,.5],[1,7.5,16.5,.5],[1,17.5,14.5,.5],[6,"M3 3v16a2 2 0 0 0 2 2h16"]],"chart-spline":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7"]],check:[[6,"M20 6 9 17l-5-5"]],"check-check":[[6,"M18 6 7 17l-5-5"],[6,"m22 10-7.5 7.5L13 16"]],"check-circle":[[6,"M21.801 10A10 10 0 1 1 17 3.335"],[6,"m9 11 3 3L22 4"]],"check-circle-2":[[1,12,12,10],[6,"m9 12 2 2 4-4"]],"check-square":[[6,"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5"],[6,"m9 11 3 3L22 4"]],"check-square-2":[[5,3,3,18,18,2],[6,"m9 12 2 2 4-4"]],"chef-hat":[[6,"M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z"],[6,"M6 17h12"]],cherry:[[6,"M2 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z"],[6,"M12 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z"],[6,"M7 14c3.22-2.91 4.29-8.75 5-12 1.66 2.38 4.94 9 5 12"],[6,"M22 9c-4.29 0-7.14-2.33-10-7 5.71 0 10 4.67 10 7Z"]],"chevron-down":[[6,"m6 9 6 6 6-6"]],"chevron-down-circle":[[1,12,12,10],[6,"m16 10-4 4-4-4"]],"chevron-down-square":[[5,3,3,18,18,2],[6,"m16 10-4 4-4-4"]],"chevron-first":[[6,"m17 18-6-6 6-6"],[6,"M7 6v12"]],"chevron-last":[[6,"m7 18 6-6-6-6"],[6,"M17 6v12"]],"chevron-left":[[6,"m15 18-6-6 6-6"]],"chevron-left-circle":[[1,12,12,10],[6,"m14 16-4-4 4-4"]],"chevron-left-square":[[5,3,3,18,18,2],[6,"m14 16-4-4 4-4"]],"chevron-right":[[6,"m9 18 6-6-6-6"]],"chevron-right-circle":[[1,12,12,10],[6,"m10 8 4 4-4 4"]],"chevron-right-square":[[5,3,3,18,18,2],[6,"m10 8 4 4-4 4"]],"chevron-up":[[6,"m18 15-6-6-6 6"]],"chevron-up-circle":[[1,12,12,10],[6,"m8 14 4-4 4 4"]],"chevron-up-square":[[5,3,3,18,18,2],[6,"m8 14 4-4 4 4"]],"chevrons-down":[[6,"m7 6 5 5 5-5"],[6,"m7 13 5 5 5-5"]],"chevrons-down-up":[[6,"m7 20 5-5 5 5"],[6,"m7 4 5 5 5-5"]],"chevrons-left":[[6,"m11 17-5-5 5-5"],[6,"m18 17-5-5 5-5"]],"chevrons-left-right":[[6,"m9 7-5 5 5 5"],[6,"m15 7 5 5-5 5"]],"chevrons-left-right-ellipsis":[[6,"m18 8 4 4-4 4"],[6,"m6 8-4 4 4 4"],[6,"M8 12h.01"],[6,"M12 12h.01"],[6,"M16 12h.01"]],"chevrons-right":[[6,"m6 17 5-5-5-5"],[6,"m13 17 5-5-5-5"]],"chevrons-right-left":[[6,"m20 17-5-5 5-5"],[6,"m4 17 5-5-5-5"]],"chevrons-up":[[6,"m17 11-5-5-5 5"],[6,"m17 18-5-5-5 5"]],"chevrons-up-down":[[6,"m7 15 5 5 5-5"],[6,"m7 9 5-5 5 5"]],chrome:[[1,12,12,10],[1,12,12,4],[0,21.17,8,12,8],[0,3.95,6.06,8.54,14],[0,10.88,21.94,15.46,14]],church:[[6,"M10 9h4"],[6,"M12 7v5"],[6,"M14 22v-4a2 2 0 0 0-4 0v4"],[6,"M18 22V5.618a1 1 0 0 0-.553-.894l-4.553-2.277a2 2 0 0 0-1.788 0L6.553 4.724A1 1 0 0 0 6 5.618V22"],[6,"m18 7 3.447 1.724a1 1 0 0 1 .553.894V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.618a1 1 0 0 1 .553-.894L6 7"]],cigarette:[[6,"M17 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14"],[6,"M18 8c0-2.5-2-2.5-2-5"],[6,"M21 16a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1"],[6,"M22 8c0-2.5-2-2.5-2-5"],[6,"M7 12v4"]],"cigarette-off":[[6,"M12 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h13"],[6,"M18 8c0-2.5-2-2.5-2-5"],[6,"m2 2 20 20"],[6,"M21 12a1 1 0 0 1 1 1v2a1 1 0 0 1-.5.866"],[6,"M22 8c0-2.5-2-2.5-2-5"],[6,"M7 12v4"]],circle:[[1,12,12,10]],"circle-alert":[[1,12,12,10],[0,12,8,12,12],[0,12,16,12.01,16]],"circle-arrow-down":[[1,12,12,10],[6,"M12 8v8"],[6,"m8 12 4 4 4-4"]],"circle-arrow-left":[[1,12,12,10],[6,"M16 12H8"],[6,"m12 8-4 4 4 4"]],"circle-arrow-out-down-left":[[6,"M2 12a10 10 0 1 1 10 10"],[6,"m2 22 10-10"],[6,"M8 22H2v-6"]],"circle-arrow-out-down-right":[[6,"M12 22a10 10 0 1 1 10-10"],[6,"M22 22 12 12"],[6,"M22 16v6h-6"]],"circle-arrow-out-up-left":[[6,"M2 8V2h6"],[6,"m2 2 10 10"],[6,"M12 2A10 10 0 1 1 2 12"]],"circle-arrow-out-up-right":[[6,"M22 12A10 10 0 1 1 12 2"],[6,"M22 2 12 12"],[6,"M16 2h6v6"]],"circle-arrow-right":[[1,12,12,10],[6,"M8 12h8"],[6,"m12 16 4-4-4-4"]],"circle-arrow-up":[[1,12,12,10],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"]],"circle-check":[[1,12,12,10],[6,"m9 12 2 2 4-4"]],"circle-check-big":[[6,"M21.801 10A10 10 0 1 1 17 3.335"],[6,"m9 11 3 3L22 4"]],"circle-chevron-down":[[1,12,12,10],[6,"m16 10-4 4-4-4"]],"circle-chevron-left":[[1,12,12,10],[6,"m14 16-4-4 4-4"]],"circle-chevron-right":[[1,12,12,10],[6,"m10 8 4 4-4 4"]],"circle-chevron-up":[[1,12,12,10],[6,"m8 14 4-4 4 4"]],"circle-dashed":[[6,"M10.1 2.182a10 10 0 0 1 3.8 0"],[6,"M13.9 21.818a10 10 0 0 1-3.8 0"],[6,"M17.609 3.721a10 10 0 0 1 2.69 2.7"],[6,"M2.182 13.9a10 10 0 0 1 0-3.8"],[6,"M20.279 17.609a10 10 0 0 1-2.7 2.69"],[6,"M21.818 10.1a10 10 0 0 1 0 3.8"],[6,"M3.721 6.391a10 10 0 0 1 2.7-2.69"],[6,"M6.391 20.279a10 10 0 0 1-2.69-2.7"]],"circle-divide":[[0,8,12,16,12],[0,12,16,12,16],[0,12,8,12,8],[1,12,12,10]],"circle-dollar-sign":[[1,12,12,10],[6,"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"],[6,"M12 18V6"]],"circle-dot":[[1,12,12,10],[1,12,12,1]],"circle-dot-dashed":[[6,"M10.1 2.18a9.93 9.93 0 0 1 3.8 0"],[6,"M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7"],[6,"M21.82 10.1a9.93 9.93 0 0 1 0 3.8"],[6,"M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69"],[6,"M13.9 21.82a9.94 9.94 0 0 1-3.8 0"],[6,"M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7"],[6,"M2.18 13.9a9.93 9.93 0 0 1 0-3.8"],[6,"M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69"],[1,12,12,1]],"circle-ellipsis":[[1,12,12,10],[6,"M17 12h.01"],[6,"M12 12h.01"],[6,"M7 12h.01"]],"circle-equal":[[6,"M7 10h10"],[6,"M7 14h10"],[1,12,12,10]],"circle-fading-arrow-up":[[6,"M12 2a10 10 0 0 1 7.38 16.75"],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"],[6,"M2.5 8.875a10 10 0 0 0-.5 3"],[6,"M2.83 16a10 10 0 0 0 2.43 3.4"],[6,"M4.636 5.235a10 10 0 0 1 .891-.857"],[6,"M8.644 21.42a10 10 0 0 0 7.631-.38"]],"circle-fading-plus":[[6,"M12 2a10 10 0 0 1 7.38 16.75"],[6,"M12 8v8"],[6,"M16 12H8"],[6,"M2.5 8.875a10 10 0 0 0-.5 3"],[6,"M2.83 16a10 10 0 0 0 2.43 3.4"],[6,"M4.636 5.235a10 10 0 0 1 .891-.857"],[6,"M8.644 21.42a10 10 0 0 0 7.631-.38"]],"circle-gauge":[[6,"M15.6 2.7a10 10 0 1 0 5.7 5.7"],[1,12,12,2],[6,"M13.4 10.6 19 5"]],"circle-help":[[1,12,12,10],[6,"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"],[6,"M12 17h.01"]],"circle-minus":[[1,12,12,10],[6,"M8 12h8"]],"circle-off":[[6,"m2 2 20 20"],[6,"M8.35 2.69A10 10 0 0 1 21.3 15.65"],[6,"M19.08 19.08A10 10 0 1 1 4.92 4.92"]],"circle-parking":[[1,12,12,10],[6,"M9 17V7h4a3 3 0 0 1 0 6H9"]],"circle-parking-off":[[1,12,12,10],[6,"m5 5 14 14"],[6,"M13 13a3 3 0 1 0 0-6H9v2"],[6,"M9 17v-2.34"]],"circle-pause":[[1,12,12,10],[0,10,15,10,9],[0,14,15,14,9]],"circle-percent":[[1,12,12,10],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"circle-play":[[1,12,12,10],[3,"10 8 16 12 10 16 10 8"]],"circle-plus":[[1,12,12,10],[6,"M8 12h8"],[6,"M12 8v8"]],"circle-power":[[6,"M12 7v4"],[6,"M7.998 9.003a5 5 0 1 0 8-.005"],[1,12,12,10]],"circle-slash":[[1,12,12,10],[0,9,15,15,9]],"circle-slash-2":[[1,12,12,10],[6,"M22 2 2 22"]],"circle-slashed":[[1,12,12,10],[6,"M22 2 2 22"]],"circle-stop":[[1,12,12,10],[5,9,9,6,6,1]],"circle-user":[[1,12,12,10],[1,12,10,3],[6,"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662"]],"circle-user-round":[[6,"M18 20a6 6 0 0 0-12 0"],[1,12,10,4],[1,12,12,10]],"circle-x":[[1,12,12,10],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],"circuit-board":[[5,3,3,18,18,2],[6,"M11 9h4a2 2 0 0 0 2-2V3"],[1,9,9,2],[6,"M7 21v-4a2 2 0 0 1 2-2h4"],[1,15,15,2]],citrus:[[6,"M21.66 17.67a1.08 1.08 0 0 1-.04 1.6A12 12 0 0 1 4.73 2.38a1.1 1.1 0 0 1 1.61-.04z"],[6,"M19.65 15.66A8 8 0 0 1 8.35 4.34"],[6,"m14 10-5.5 5.5"],[6,"M14 17.85V10H6.15"]],clapperboard:[[6,"M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z"],[6,"m6.2 5.3 3.1 3.9"],[6,"m12.4 3.4 3.1 4"],[6,"M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z"]],clipboard:[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"]],"clipboard-check":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"m9 14 2 2 4-4"]],"clipboard-copy":[[5,8,2,8,4,1,1],[6,"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"],[6,"M16 4h2a2 2 0 0 1 2 2v4"],[6,"M21 14H11"],[6,"m15 10-4 4 4 4"]],"clipboard-edit":[[5,8,2,8,4,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5"],[6,"M4 13.5V6a2 2 0 0 1 2-2h2"],[6,"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"clipboard-list":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"M12 11h4"],[6,"M12 16h4"],[6,"M8 11h.01"],[6,"M8 16h.01"]],"clipboard-minus":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"M9 14h6"]],"clipboard-paste":[[6,"M15 2H9a1 1 0 0 0-1 1v2c0 .6.4 1 1 1h6c.6 0 1-.4 1-1V3c0-.6-.4-1-1-1Z"],[6,"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2M16 4h2a2 2 0 0 1 2 2v2M11 14h10"],[6,"m17 10 4 4-4 4"]],"clipboard-pen":[[5,8,2,8,4,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5"],[6,"M4 13.5V6a2 2 0 0 1 2-2h2"],[6,"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"clipboard-pen-line":[[5,8,2,8,4,1],[6,"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5"],[6,"M16 4h2a2 2 0 0 1 1.73 1"],[6,"M8 18h1"],[6,"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"clipboard-plus":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"M9 14h6"],[6,"M12 17v-6"]],"clipboard-signature":[[5,8,2,8,4,1],[6,"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5"],[6,"M16 4h2a2 2 0 0 1 1.73 1"],[6,"M8 18h1"],[6,"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"clipboard-type":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"M9 12v-1h6v1"],[6,"M11 17h2"],[6,"M12 11v6"]],"clipboard-x":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"m15 11-6 6"],[6,"m9 11 6 6"]],clock:[[1,12,12,10],[2,"12 6 12 12 16 14"]],"clock-1":[[1,12,12,10],[2,"12 6 12 12 14.5 8"]],"clock-10":[[1,12,12,10],[2,"12 6 12 12 8 10"]],"clock-11":[[1,12,12,10],[2,"12 6 12 12 9.5 8"]],"clock-12":[[1,12,12,10],[2,"12 6 12 12"]],"clock-2":[[1,12,12,10],[2,"12 6 12 12 16 10"]],"clock-3":[[1,12,12,10],[2,"12 6 12 12 16.5 12"]],"clock-4":[[1,12,12,10],[2,"12 6 12 12 16 14"]],"clock-5":[[1,12,12,10],[2,"12 6 12 12 14.5 16"]],"clock-6":[[1,12,12,10],[2,"12 6 12 12 12 16.5"]],"clock-7":[[1,12,12,10],[2,"12 6 12 12 9.5 16"]],"clock-8":[[1,12,12,10],[2,"12 6 12 12 8 14"]],"clock-9":[[1,12,12,10],[2,"12 6 12 12 7.5 12"]],"clock-alert":[[6,"M12 6v6l4 2"],[6,"M16 21.16a10 10 0 1 1 5-13.516"],[6,"M20 11.5v6"],[6,"M20 21.5h.01"]],"clock-arrow-down":[[6,"M12.338 21.994A10 10 0 1 1 21.925 13.227"],[6,"M12 6v6l2 1"],[6,"m14 18 4 4 4-4"],[6,"M18 14v8"]],"clock-arrow-up":[[6,"M13.228 21.925A10 10 0 1 1 21.994 12.338"],[6,"M12 6v6l1.562.781"],[6,"m14 18 4-4 4 4"],[6,"M18 22v-8"]],cloud:[[6,"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"]],"cloud-cog":[[1,12,17,3],[6,"M4.2 15.1A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.2"],[6,"m15.7 18.4-.9-.3"],[6,"m9.2 15.9-.9-.3"],[6,"m10.6 20.7.3-.9"],[6,"m13.1 14.2.3-.9"],[6,"m13.6 20.7-.4-1"],[6,"m10.8 14.3-.4-1"],[6,"m8.3 18.6 1-.4"],[6,"m14.7 15.8 1-.4"]],"cloud-download":[[6,"M12 13v8l-4-4"],[6,"m12 21 4-4"],[6,"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284"]],"cloud-drizzle":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M8 19v1"],[6,"M8 14v1"],[6,"M16 19v1"],[6,"M16 14v1"],[6,"M12 21v1"],[6,"M12 16v1"]],"cloud-fog":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M16 17H7"],[6,"M17 21H9"]],"cloud-hail":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M16 14v2"],[6,"M8 14v2"],[6,"M16 20h.01"],[6,"M8 20h.01"],[6,"M12 16v2"],[6,"M12 22h.01"]],"cloud-lightning":[[6,"M6 16.326A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 .5 8.973"],[6,"m13 12-3 5h4l-3 5"]],"cloud-moon":[[6,"M10.188 8.5A6 6 0 0 1 16 4a1 1 0 0 0 6 6 6 6 0 0 1-3 5.197"],[6,"M13 16a3 3 0 1 1 0 6H7a5 5 0 1 1 4.9-6Z"]],"cloud-moon-rain":[[6,"M10.188 8.5A6 6 0 0 1 16 4a1 1 0 0 0 6 6 6 6 0 0 1-3 5.197"],[6,"M11 20v2"],[6,"M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24"],[6,"M7 19v2"]],"cloud-off":[[6,"m2 2 20 20"],[6,"M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193"],[6,"M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07"]],"cloud-rain":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M16 14v6"],[6,"M8 14v6"],[6,"M12 16v6"]],"cloud-rain-wind":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"m9.2 22 3-7"],[6,"m9 13-3 7"],[6,"m17 13-3 7"]],"cloud-snow":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M8 15h.01"],[6,"M8 19h.01"],[6,"M12 17h.01"],[6,"M12 21h.01"],[6,"M16 15h.01"],[6,"M16 19h.01"]],"cloud-sun":[[6,"M12 2v2"],[6,"m4.93 4.93 1.41 1.41"],[6,"M20 12h2"],[6,"m19.07 4.93-1.41 1.41"],[6,"M15.947 12.65a4 4 0 0 0-5.925-4.128"],[6,"M13 22H7a5 5 0 1 1 4.9-6H13a3 3 0 0 1 0 6Z"]],"cloud-sun-rain":[[6,"M12 2v2"],[6,"m4.93 4.93 1.41 1.41"],[6,"M20 12h2"],[6,"m19.07 4.93-1.41 1.41"],[6,"M15.947 12.65a4 4 0 0 0-5.925-4.128"],[6,"M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24"],[6,"M11 20v2"],[6,"M7 19v2"]],"cloud-upload":[[6,"M12 13v8"],[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"m8 17 4-4 4 4"]],cloudy:[[6,"M17.5 21H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"],[6,"M22 10a3 3 0 0 0-3-3h-2.207a5.502 5.502 0 0 0-10.702.5"]],clover:[[6,"M16.17 7.83 2 22"],[6,"M4.02 12a2.827 2.827 0 1 1 3.81-4.17A2.827 2.827 0 1 1 12 4.02a2.827 2.827 0 1 1 4.17 3.81A2.827 2.827 0 1 1 19.98 12a2.827 2.827 0 1 1-3.81 4.17A2.827 2.827 0 1 1 12 19.98a2.827 2.827 0 1 1-4.17-3.81A1 1 0 1 1 4 12"],[6,"m7.83 7.83 8.34 8.34"]],club:[[6,"M17.28 9.05a5.5 5.5 0 1 0-10.56 0A5.5 5.5 0 1 0 12 17.66a5.5 5.5 0 1 0 5.28-8.6Z"],[6,"M12 17.66L12 22"]],code:[[2,"16 18 22 12 16 6"],[2,"8 6 2 12 8 18"]],"code-2":[[6,"m18 16 4-4-4-4"],[6,"m6 8-4 4 4 4"],[6,"m14.5 4-5 16"]],"code-square":[[6,"M10 9.5 8 12l2 2.5"],[6,"m14 9.5 2 2.5-2 2.5"],[5,3,3,18,18,2]],"code-xml":[[6,"m18 16 4-4-4-4"],[6,"m6 8-4 4 4 4"],[6,"m14.5 4-5 16"]],codepen:[[3,"12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2"],[0,12,22,12,15.5],[2,"22 8.5 12 15.5 2 8.5"],[2,"2 15.5 12 8.5 22 15.5"],[0,12,2,12,8.5]],codesandbox:[[6,"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"],[2,"7.5 4.21 12 6.81 16.5 4.21"],[2,"7.5 19.79 7.5 14.6 3 12"],[2,"21 12 16.5 14.6 16.5 19.79"],[2,"3.27 6.96 12 12.01 20.73 6.96"],[0,12,22.08,12,12]],coffee:[[6,"M10 2v2"],[6,"M14 2v2"],[6,"M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1"],[6,"M6 2v2"]],cog:[[6,"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z"],[6,"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z"],[6,"M12 2v2"],[6,"M12 22v-2"],[6,"m17 20.66-1-1.73"],[6,"M11 10.27 7 3.34"],[6,"m20.66 17-1.73-1"],[6,"m3.34 7 1.73 1"],[6,"M14 12h8"],[6,"M2 12h2"],[6,"m20.66 7-1.73 1"],[6,"m3.34 17 1.73-1"],[6,"m17 3.34-1 1.73"],[6,"m11 13.73-4 6.93"]],coins:[[1,8,8,6],[6,"M18.09 10.37A6 6 0 1 1 10.34 18"],[6,"M7 6h1v4"],[6,"m16.71 13.88.7.71-2.82 2.82"]],columns:[[5,3,3,18,18,2],[6,"M12 3v18"]],"columns-2":[[5,3,3,18,18,2],[6,"M12 3v18"]],"columns-3":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"M15 3v18"]],"columns-4":[[5,3,3,18,18,2],[6,"M7.5 3v18"],[6,"M12 3v18"],[6,"M16.5 3v18"]],combine:[[6,"M10 18H5a3 3 0 0 1-3-3v-1"],[6,"M14 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2"],[6,"M20 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2"],[6,"m7 21 3-3-3-3"],[5,14,14,8,8,2],[5,2,2,8,8,2]],command:[[6,"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3"]],compass:[[6,"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z"],[1,12,12,10]],component:[[6,"M5.5 8.5 9 12l-3.5 3.5L2 12l3.5-3.5Z"],[6,"m12 2 3.5 3.5L12 9 8.5 5.5 12 2Z"],[6,"M18.5 8.5 22 12l-3.5 3.5L15 12l3.5-3.5Z"],[6,"m12 15 3.5 3.5L12 22l-3.5-3.5L12 15Z"]],computer:[[5,5,2,14,8,2],[5,2,14,20,8,2],[6,"M6 18h2"],[6,"M12 18h6"]],"concierge-bell":[[6,"M3 20a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1Z"],[6,"M20 16a8 8 0 1 0-16 0"],[6,"M12 4v4"],[6,"M10 4h4"]],cone:[[6,"m20.9 18.55-8-15.98a1 1 0 0 0-1.8 0l-8 15.98"],[4,12,19,9,3]],construction:[[5,2,6,20,8,1],[6,"M17 14v7"],[6,"M7 14v7"],[6,"M17 3v3"],[6,"M7 3v3"],[6,"M10 14 2.3 6.3"],[6,"m14 6 7.7 7.7"],[6,"m8 6 8 8"]],contact:[[6,"M16 2v2"],[6,"M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2"],[6,"M8 2v2"],[1,12,11,3],[5,3,4,18,18,2]],"contact-2":[[6,"M16 2v2"],[6,"M17.915 22a6 6 0 0 0-12 0"],[6,"M8 2v2"],[1,12,12,4],[5,3,4,18,18,2]],"contact-round":[[6,"M16 2v2"],[6,"M17.915 22a6 6 0 0 0-12 0"],[6,"M8 2v2"],[1,12,12,4],[5,3,4,18,18,2]],container:[[6,"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z"],[6,"M10 21.9V14L2.1 9.1"],[6,"m10 14 11.9-6.9"],[6,"M14 19.8v-8.1"],[6,"M18 17.5V9.4"]],contrast:[[1,12,12,10],[6,"M12 18a6 6 0 0 0 0-12v12z"]],cookie:[[6,"M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5"],[6,"M8.5 8.5v.01"],[6,"M16 15.5v.01"],[6,"M12 12v.01"],[6,"M11 17v.01"],[6,"M7 14v.01"]],"cooking-pot":[[6,"M2 12h20"],[6,"M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8"],[6,"m4 8 16-4"],[6,"m8.86 6.78-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8"]],copy:[[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-check":[[6,"m12 15 2 2 4-4"],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-minus":[[0,12,15,18,15],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-plus":[[0,15,12,15,18],[0,12,15,18,15],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-slash":[[0,12,18,18,12],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-x":[[0,12,12,18,18],[0,12,18,18,12],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],copyleft:[[1,12,12,10],[6,"M9.17 14.83a4 4 0 1 0 0-5.66"]],copyright:[[1,12,12,10],[6,"M14.83 14.83a4 4 0 1 1 0-5.66"]],"corner-down-left":[[2,"9 10 4 15 9 20"],[6,"M20 4v7a4 4 0 0 1-4 4H4"]],"corner-down-right":[[2,"15 10 20 15 15 20"],[6,"M4 4v7a4 4 0 0 0 4 4h12"]],"corner-left-down":[[2,"14 15 9 20 4 15"],[6,"M20 4h-7a4 4 0 0 0-4 4v12"]],"corner-left-up":[[2,"14 9 9 4 4 9"],[6,"M20 20h-7a4 4 0 0 1-4-4V4"]],"corner-right-down":[[2,"10 15 15 20 20 15"],[6,"M4 4h7a4 4 0 0 1 4 4v12"]],"corner-right-up":[[2,"10 9 15 4 20 9"],[6,"M4 20h7a4 4 0 0 0 4-4V4"]],"corner-up-left":[[2,"9 14 4 9 9 4"],[6,"M20 20v-7a4 4 0 0 0-4-4H4"]],"corner-up-right":[[2,"15 14 20 9 15 4"],[6,"M4 20v-7a4 4 0 0 1 4-4h12"]],cpu:[[5,4,4,16,16,2],[5,9,9,6,6,1],[6,"M15 2v2"],[6,"M15 20v2"],[6,"M2 15h2"],[6,"M2 9h2"],[6,"M20 15h2"],[6,"M20 9h2"],[6,"M9 2v2"],[6,"M9 20v2"]],"creative-commons":[[1,12,12,10],[6,"M10 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1"],[6,"M17 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1"]],"credit-card":[[5,2,5,20,14,2],[0,2,10,22,10]],croissant:[[6,"m4.6 13.11 5.79-3.21c1.89-1.05 4.79 1.78 3.71 3.71l-3.22 5.81C8.8 23.16.79 15.23 4.6 13.11Z"],[6,"m10.5 9.5-1-2.29C9.2 6.48 8.8 6 8 6H4.5C2.79 6 2 6.5 2 8.5a7.71 7.71 0 0 0 2 4.83"],[6,"M8 6c0-1.55.24-4-2-4-2 0-2.5 2.17-2.5 4"],[6,"m14.5 13.5 2.29 1c.73.3 1.21.7 1.21 1.5v3.5c0 1.71-.5 2.5-2.5 2.5a7.71 7.71 0 0 1-4.83-2"],[6,"M18 16c1.55 0 4-.24 4 2 0 2-2.17 2.5-4 2.5"]],crop:[[6,"M6 2v14a2 2 0 0 0 2 2h14"],[6,"M18 22V8a2 2 0 0 0-2-2H2"]],cross:[[6,"M11 2a2 2 0 0 0-2 2v5H4a2 2 0 0 0-2 2v2c0 1.1.9 2 2 2h5v5c0 1.1.9 2 2 2h2a2 2 0 0 0 2-2v-5h5a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-5V4a2 2 0 0 0-2-2h-2z"]],crosshair:[[1,12,12,10],[0,22,12,18,12],[0,6,12,2,12],[0,12,6,12,2],[0,12,22,12,18]],crown:[[6,"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z"],[6,"M5 21h14"]],cuboid:[[6,"m21.12 6.4-6.05-4.06a2 2 0 0 0-2.17-.05L2.95 8.41a2 2 0 0 0-.95 1.7v5.82a2 2 0 0 0 .88 1.66l6.05 4.07a2 2 0 0 0 2.17.05l9.95-6.12a2 2 0 0 0 .95-1.7V8.06a2 2 0 0 0-.88-1.66Z"],[6,"M10 22v-8L2.25 9.15"],[6,"m10 14 11.77-6.87"]],"cup-soda":[[6,"m6 8 1.75 12.28a2 2 0 0 0 2 1.72h4.54a2 2 0 0 0 2-1.72L18 8"],[6,"M5 8h14"],[6,"M7 15a6.47 6.47 0 0 1 5 0 6.47 6.47 0 0 0 5 0"],[6,"m12 8 1-6h2"]],"curly-braces":[[6,"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"],[6,"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"]],currency:[[1,12,12,8],[0,3,3,6,6],[0,21,3,18,6],[0,3,21,6,18],[0,21,21,18,18]],cylinder:[[4,12,5,9,3],[6,"M3 5v14a9 3 0 0 0 18 0V5"]],dam:[[6,"M11 11.31c1.17.56 1.54 1.69 3.5 1.69 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M11.75 18c.35.5 1.45 1 2.75 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[6,"M2 6h4"],[6,"M7 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1L10 4a1 1 0 0 0-1-1z"]],database:[[4,12,5,9,3],[6,"M3 5V19A9 3 0 0 0 21 19V5"],[6,"M3 12A9 3 0 0 0 21 12"]],"database-backup":[[4,12,5,9,3],[6,"M3 12a9 3 0 0 0 5 2.69"],[6,"M21 9.3V5"],[6,"M3 5v14a9 3 0 0 0 6.47 2.88"],[6,"M12 12v4h4"],[6,"M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16"]],"database-zap":[[4,12,5,9,3],[6,"M3 5V19A9 3 0 0 0 15 21.84"],[6,"M21 5V8"],[6,"M21 12L18 17H22L19 22"],[6,"M3 12A9 3 0 0 0 14.59 14.87"]],delete:[[6,"M10 5a2 2 0 0 0-1.344.519l-6.328 5.74a1 1 0 0 0 0 1.481l6.328 5.741A2 2 0 0 0 10 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z"],[6,"m12 9 6 6"],[6,"m18 9-6 6"]],dessert:[[1,12,4,2],[6,"M10.2 3.2C5.5 4 2 8.1 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4 0c0-4.9-3.5-9-8.2-9.8"],[6,"M3.2 14.8a9 9 0 0 0 17.6 0"]],diameter:[[1,19,19,2],[1,5,5,2],[6,"M6.48 3.66a10 10 0 0 1 13.86 13.86"],[6,"m6.41 6.41 11.18 11.18"],[6,"M3.66 6.48a10 10 0 0 0 13.86 13.86"]],diamond:[[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z"]],"diamond-minus":[[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z"],[6,"M8 12h8"]],"diamond-percent":[[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0Z"],[6,"M9.2 9.2h.01"],[6,"m14.5 9.5-5 5"],[6,"M14.7 14.8h.01"]],"diamond-plus":[[6,"M12 8v8"],[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z"],[6,"M8 12h8"]],"dice-1":[[5,3,3,18,18,2,2],[6,"M12 12h.01"]],"dice-2":[[5,3,3,18,18,2,2],[6,"M15 9h.01"],[6,"M9 15h.01"]],"dice-3":[[5,3,3,18,18,2,2],[6,"M16 8h.01"],[6,"M12 12h.01"],[6,"M8 16h.01"]],"dice-4":[[5,3,3,18,18,2,2],[6,"M16 8h.01"],[6,"M8 8h.01"],[6,"M8 16h.01"],[6,"M16 16h.01"]],"dice-5":[[5,3,3,18,18,2,2],[6,"M16 8h.01"],[6,"M8 8h.01"],[6,"M8 16h.01"],[6,"M16 16h.01"],[6,"M12 12h.01"]],"dice-6":[[5,3,3,18,18,2,2],[6,"M16 8h.01"],[6,"M16 12h.01"],[6,"M16 16h.01"],[6,"M8 8h.01"],[6,"M8 12h.01"],[6,"M8 16h.01"]],dices:[[5,2,10,12,12,2,2],[6,"m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6"],[6,"M6 18h.01"],[6,"M10 14h.01"],[6,"M15 6h.01"],[6,"M18 9h.01"]],diff:[[6,"M12 3v14"],[6,"M5 10h14"],[6,"M5 21h14"]],disc:[[1,12,12,10],[1,12,12,2]],"disc-2":[[1,12,12,10],[1,12,12,4],[6,"M12 12h.01"]],"disc-3":[[1,12,12,10],[6,"M6 12c0-1.7.7-3.2 1.8-4.2"],[1,12,12,2],[6,"M18 12c0 1.7-.7 3.2-1.8 4.2"]],"disc-album":[[5,3,3,18,18,2],[1,12,12,5],[6,"M12 12h.01"]],divide:[[1,12,6,1],[0,5,12,19,12],[1,12,18,1]],"divide-circle":[[0,8,12,16,12],[0,12,16,12,16],[0,12,8,12,8],[1,12,12,10]],"divide-square":[[5,3,3,18,18,2,2],[0,8,12,16,12],[0,12,16,12,16],[0,12,8,12,8]],dna:[[6,"m10 16 1.5 1.5"],[6,"m14 8-1.5-1.5"],[6,"M15 2c-1.798 1.998-2.518 3.995-2.807 5.993"],[6,"m16.5 10.5 1 1"],[6,"m17 6-2.891-2.891"],[6,"M2 15c6.667-6 13.333 0 20-6"],[6,"m20 9 .891.891"],[6,"M3.109 14.109 4 15"],[6,"m6.5 12.5 1 1"],[6,"m7 18 2.891 2.891"],[6,"M9 22c1.798-1.998 2.518-3.995 2.807-5.993"]],"dna-off":[[6,"M15 2c-1.35 1.5-2.092 3-2.5 4.5L14 8"],[6,"m17 6-2.891-2.891"],[6,"M2 15c3.333-3 6.667-3 10-3"],[6,"m2 2 20 20"],[6,"m20 9 .891.891"],[6,"M22 9c-1.5 1.35-3 2.092-4.5 2.5l-1-1"],[6,"M3.109 14.109 4 15"],[6,"m6.5 12.5 1 1"],[6,"m7 18 2.891 2.891"],[6,"M9 22c1.35-1.5 2.092-3 2.5-4.5L10 16"]],dock:[[6,"M2 8h20"],[5,2,4,20,16,2],[6,"M6 16h12"]],dog:[[6,"M11.25 16.25h1.5L12 17z"],[6,"M16 14v.5"],[6,"M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309"],[6,"M8 14v.5"],[6,"M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5"]],"dollar-sign":[[0,12,2,12,22],[6,"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"]],donut:[[6,"M20.5 10a2.5 2.5 0 0 1-2.4-3H18a2.95 2.95 0 0 1-2.6-4.4 10 10 0 1 0 6.3 7.1c-.3.2-.8.3-1.2.3"],[1,12,12,3]],"door-closed":[[6,"M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14"],[6,"M2 20h20"],[6,"M14 12v.01"]],"door-open":[[6,"M13 4h3a2 2 0 0 1 2 2v14"],[6,"M2 20h3"],[6,"M13 20h9"],[6,"M10 12v.01"],[6,"M13 4.562v16.157a1 1 0 0 1-1.242.97L5 20V5.562a2 2 0 0 1 1.515-1.94l4-1A2 2 0 0 1 13 4.561Z"]],dot:[[1,12.1,12.1,1]],"dot-square":[[5,3,3,18,18,2],[1,12,12,1]],download:[[6,"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"],[2,"7 10 12 15 17 10"],[0,12,15,12,3]],"download-cloud":[[6,"M12 13v8l-4-4"],[6,"m12 21 4-4"],[6,"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284"]],"drafting-compass":[[6,"m12.99 6.74 1.93 3.44"],[6,"M19.136 12a10 10 0 0 1-14.271 0"],[6,"m21 21-2.16-3.84"],[6,"m3 21 8.02-14.26"],[1,12,5,2]],drama:[[6,"M10 11h.01"],[6,"M14 6h.01"],[6,"M18 6h.01"],[6,"M6.5 13.1h.01"],[6,"M22 5c0 9-4 12-6 12s-6-3-6-12c0-2 2-3 6-3s6 1 6 3"],[6,"M17.4 9.9c-.8.8-2 .8-2.8 0"],[6,"M10.1 7.1C9 7.2 7.7 7.7 6 8.6c-3.5 2-4.7 3.9-3.7 5.6 4.5 7.8 9.5 8.4 11.2 7.4.9-.5 1.9-2.1 1.9-4.7"],[6,"M9.1 16.5c.3-1.1 1.4-1.7 2.4-1.4"]],dribbble:[[1,12,12,10],[6,"M19.13 5.09C15.22 9.14 10 10.44 2.25 10.94"],[6,"M21.75 12.84c-6.62-1.41-12.14 1-16.38 6.32"],[6,"M8.56 2.75c4.37 6 6 9.42 8 17.72"]],drill:[[6,"M14 9c0 .6-.4 1-1 1H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9c.6 0 1 .4 1 1Z"],[6,"M18 6h4"],[6,"M14 4h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3"],[6,"m5 10-2 8"],[6,"M12 10v3c0 .6-.4 1-1 1H8"],[6,"m7 18 2-8"],[6,"M5 22c-1.7 0-3-1.3-3-3 0-.6.4-1 1-1h7c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1Z"]],droplet:[[6,"M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z"]],droplets:[[6,"M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z"],[6,"M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97"]],drum:[[6,"m2 2 8 8"],[6,"m22 2-8 8"],[4,12,9,10,5],[6,"M7 13.4v7.9"],[6,"M12 14v8"],[6,"M17 13.4v7.9"],[6,"M2 9v8a10 5 0 0 0 20 0V9"]],drumstick:[[6,"M15.4 15.63a7.875 6 135 1 1 6.23-6.23 4.5 3.43 135 0 0-6.23 6.23"],[6,"m8.29 12.71-2.6 2.6a2.5 2.5 0 1 0-1.65 4.65A2.5 2.5 0 1 0 8.7 18.3l2.59-2.59"]],dumbbell:[[6,"M14.4 14.4 9.6 9.6"],[6,"M18.657 21.485a2 2 0 1 1-2.829-2.828l-1.767 1.768a2 2 0 1 1-2.829-2.829l6.364-6.364a2 2 0 1 1 2.829 2.829l-1.768 1.767a2 2 0 1 1 2.828 2.829z"],[6,"m21.5 21.5-1.4-1.4"],[6,"M3.9 3.9 2.5 2.5"],[6,"M6.404 12.768a2 2 0 1 1-2.829-2.829l1.768-1.767a2 2 0 1 1-2.828-2.829l2.828-2.828a2 2 0 1 1 2.829 2.828l1.767-1.768a2 2 0 1 1 2.829 2.829z"]],ear:[[6,"M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0"],[6,"M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4"]],"ear-off":[[6,"M6 18.5a3.5 3.5 0 1 0 7 0c0-1.57.92-2.52 2.04-3.46"],[6,"M6 8.5c0-.75.13-1.47.36-2.14"],[6,"M8.8 3.15A6.5 6.5 0 0 1 19 8.5c0 1.63-.44 2.81-1.09 3.76"],[6,"M12.5 6A2.5 2.5 0 0 1 15 8.5M10 13a2 2 0 0 0 1.82-1.18"],[0,2,2,22,22]],earth:[[6,"M21.54 15H17a2 2 0 0 0-2 2v4.54"],[6,"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17"],[6,"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05"],[1,12,12,10]],"earth-lock":[[6,"M7 3.34V5a3 3 0 0 0 3 3"],[6,"M11 21.95V18a2 2 0 0 0-2-2 2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05"],[6,"M21.54 15H17a2 2 0 0 0-2 2v4.54"],[6,"M12 2a10 10 0 1 0 9.54 13"],[6,"M20 6V4a2 2 0 1 0-4 0v2"],[5,14,6,8,5,1]],eclipse:[[1,12,12,10],[6,"M12 2a7 7 0 1 0 10 10"]],edit:[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"]],"edit-2":[[6,"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"]],"edit-3":[[6,"M12 20h9"],[6,"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z"]],egg:[[6,"M12 22c6.23-.05 7.87-5.57 7.5-10-.36-4.34-3.95-9.96-7.5-10-3.55.04-7.14 5.66-7.5 10-.37 4.43 1.27 9.95 7.5 10z"]],"egg-fried":[[1,11.5,12.5,3.5],[6,"M3 8c0-3.5 2.5-6 6.5-6 5 0 4.83 3 7.5 5s5 2 5 6c0 4.5-2.5 6.5-7 6.5-2.5 0-2.5 2.5-6 2.5s-7-2-7-5.5c0-3 1.5-3 1.5-5C3.5 10 3 9 3 8Z"]],"egg-off":[[6,"M6.399 6.399C5.362 8.157 4.65 10.189 4.5 12c-.37 4.43 1.27 9.95 7.5 10 3.256-.026 5.259-1.547 6.375-3.625"],[6,"M19.532 13.875A14.07 14.07 0 0 0 19.5 12c-.36-4.34-3.95-9.96-7.5-10-1.04.012-2.082.502-3.046 1.297"],[0,2,2,22,22]],ellipsis:[[1,12,12,1],[1,19,12,1],[1,5,12,1]],"ellipsis-vertical":[[1,12,12,1],[1,12,5,1],[1,12,19,1]],equal:[[0,5,9,19,9],[0,5,15,19,15]],"equal-not":[[0,5,9,19,9],[0,5,15,19,15],[0,19,5,5,19]],"equal-square":[[5,3,3,18,18,2],[6,"M7 10h10"],[6,"M7 14h10"]],eraser:[[6,"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21"],[6,"M22 21H7"],[6,"m5 11 9 9"]],"ethernet-port":[[6,"m15 20 3-3h2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h2l3 3z"],[6,"M6 8v1"],[6,"M10 8v1"],[6,"M14 8v1"],[6,"M18 8v1"]],euro:[[6,"M4 10h12"],[6,"M4 14h9"],[6,"M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2"]],expand:[[6,"m21 21-6-6m6 6v-4.8m0 4.8h-4.8"],[6,"M3 16.2V21m0 0h4.8M3 21l6-6"],[6,"M21 7.8V3m0 0h-4.8M21 3l-6 6"],[6,"M3 7.8V3m0 0h4.8M3 3l6 6"]],"external-link":[[6,"M15 3h6v6"],[6,"M10 14 21 3"],[6,"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"]],eye:[[6,"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"],[1,12,12,3]],"eye-off":[[6,"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"],[6,"M14.084 14.158a3 3 0 0 1-4.242-4.242"],[6,"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"],[6,"m2 2 20 20"]],facebook:[[6,"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"]],factory:[[6,"M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M17 18h1"],[6,"M12 18h1"],[6,"M7 18h1"]],fan:[[6,"M10.827 16.379a6.082 6.082 0 0 1-8.618-7.002l5.412 1.45a6.082 6.082 0 0 1 7.002-8.618l-1.45 5.412a6.082 6.082 0 0 1 8.618 7.002l-5.412-1.45a6.082 6.082 0 0 1-7.002 8.618l1.45-5.412Z"],[6,"M12 12v.01"]],"fast-forward":[[3,"13 19 22 12 13 5 13 19"],[3,"2 19 11 12 2 5 2 19"]],feather:[[6,"M12.67 19a2 2 0 0 0 1.416-.588l6.154-6.172a6 6 0 0 0-8.49-8.49L5.586 9.914A2 2 0 0 0 5 11.328V18a1 1 0 0 0 1 1z"],[6,"M16 8 2 22"],[6,"M17.5 15H9"]],fence:[[6,"M4 3 2 5v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z"],[6,"M6 8h4"],[6,"M6 18h4"],[6,"m12 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z"],[6,"M14 8h4"],[6,"M14 18h4"],[6,"m20 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z"]],"ferris-wheel":[[1,12,12,2],[6,"M12 2v4"],[6,"m6.8 15-3.5 2"],[6,"m20.7 7-3.5 2"],[6,"M6.8 9 3.3 7"],[6,"m20.7 17-3.5-2"],[6,"m9 22 3-8 3 8"],[6,"M8 22h8"],[6,"M18 18.7a9 9 0 1 0-12 0"]],figma:[[6,"M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z"],[6,"M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z"],[6,"M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z"],[6,"M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z"],[6,"M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z"]],file:[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"]],"file-archive":[[6,"M10 12v-1"],[6,"M10 18v-2"],[6,"M10 7V6"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01"],[1,10,20,2]],"file-audio":[[6,"M17.5 22h.5a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M2 19a2 2 0 1 1 4 0v1a2 2 0 1 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 1 1-4 0v-1a2 2 0 1 1 4 0"]],"file-audio-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,3,17,1],[6,"M2 17v-3a4 4 0 0 1 8 0v3"],[1,9,17,1]],"file-axis-3d":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m8 18 4-4"],[6,"M8 10v8h8"]],"file-badge":[[6,"M12 22h6a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M5 17a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"],[6,"M7 16.5 8 22l-3-1-3 1 1-5.5"]],"file-badge-2":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[1,12,10,3],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m14 12.5 1 5.5-3-1-3 1 1-5.5"]],"file-bar-chart":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 18v-2"],[6,"M12 18v-4"],[6,"M16 18v-6"]],"file-bar-chart-2":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 18v-1"],[6,"M12 18v-6"],[6,"M16 18v-3"]],"file-box":[[6,"M14.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M3 13.1a2 2 0 0 0-1 1.76v3.24a2 2 0 0 0 .97 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01Z"],[6,"M7 17v5"],[6,"M11.7 14.2 7 17l-4.7-2.8"]],"file-chart-column":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 18v-1"],[6,"M12 18v-6"],[6,"M16 18v-3"]],"file-chart-column-increasing":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 18v-2"],[6,"M12 18v-4"],[6,"M16 18v-6"]],"file-chart-line":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m16 13-3.5 3.5-2-2L8 17"]],"file-chart-pie":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3.5"],[6,"M4.017 11.512a6 6 0 1 0 8.466 8.475"],[6,"M9 16a1 1 0 0 1-1-1v-4c0-.552.45-1.008.995-.917a6 6 0 0 1 4.922 4.922c.091.544-.365.995-.917.995z"]],"file-check":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m9 15 2 2 4-4"]],"file-check-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m3 15 2 2 4-4"]],"file-clock":[[6,"M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,8,16,6],[6,"M9.5 17.5 8 16.25V14"]],"file-code":[[6,"M10 12.5 8 15l2 2.5"],[6,"m14 12.5 2 2.5-2 2.5"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"]],"file-code-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m5 12-3 3 3 3"],[6,"m9 18 3-3-3-3"]],"file-cog":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m3.2 12.9-.9-.4"],[6,"m3.2 15.1-.9.4"],[6,"M4.677 21.5a2 2 0 0 0 1.313.5H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2.5"],[6,"m4.9 11.2-.4-.9"],[6,"m4.9 16.8-.4.9"],[6,"m7.5 10.3-.4.9"],[6,"m7.5 17.7-.4-.9"],[6,"m9.7 12.5-.9.4"],[6,"m9.7 15.5-.9-.4"],[1,6,14,3]],"file-cog-2":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m3.2 12.9-.9-.4"],[6,"m3.2 15.1-.9.4"],[6,"M4.677 21.5a2 2 0 0 0 1.313.5H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2.5"],[6,"m4.9 11.2-.4-.9"],[6,"m4.9 16.8-.4.9"],[6,"m7.5 10.3-.4.9"],[6,"m7.5 17.7-.4-.9"],[6,"m9.7 12.5-.9.4"],[6,"m9.7 15.5-.9-.4"],[1,6,14,3]],"file-diff":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M9 10h6"],[6,"M12 13V7"],[6,"M9 17h6"]],"file-digit":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[5,2,12,4,6,2],[6,"M10 12h2v6"],[6,"M10 18h4"]],"file-down":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M12 18v-6"],[6,"m9 15 3 3 3-3"]],"file-edit":[[6,"M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"file-heart":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M10.29 10.7a2.43 2.43 0 0 0-2.66-.52c-.29.12-.56.3-.78.53l-.35.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L6.5 18l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z"]],"file-image":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,10,12,2],[6,"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22"]],"file-input":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M2 15h10"],[6,"m9 18 3-3-3-3"]],"file-json":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1"],[6,"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1"]],"file-json-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1"],[6,"M8 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1"]],"file-key":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[1,10,16,2],[6,"m16 10-4.5 4.5"],[6,"m15 11 1 1"]],"file-key-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v6"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,4,16,2],[6,"m10 10-4.5 4.5"],[6,"m9 11 1 1"]],"file-line-chart":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m16 13-3.5 3.5-2-2L8 17"]],"file-lock":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[5,8,12,8,6,1],[6,"M10 12v-2a2 2 0 1 1 4 0v2"]],"file-lock-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v1"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[5,2,13,8,5,1],[6,"M8 13v-2a2 2 0 1 0-4 0v2"]],"file-minus":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M9 15h6"]],"file-minus-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M3 15h6"]],"file-music":[[1,14,16,2],[1,6,18,2],[6,"M4 12.4V4a2 2 0 0 1 2-2h8.5L20 7.5V20a2 2 0 0 1-2 2h-7.5"],[6,"M8 18v-7.7L16 9v7"]],"file-output":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2"],[6,"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6"],[6,"m5 11-3 3"],[6,"m5 17-3-3h10"]],"file-pen":[[6,"M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"file-pen-line":[[6,"m18 5-2.414-2.414A2 2 0 0 0 14.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2"],[6,"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"],[6,"M8 18h1"]],"file-pie-chart":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3.5"],[6,"M4.017 11.512a6 6 0 1 0 8.466 8.475"],[6,"M9 16a1 1 0 0 1-1-1v-4c0-.552.45-1.008.995-.917a6 6 0 0 1 4.922 4.922c.091.544-.365.995-.917.995z"]],"file-plus":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M9 15h6"],[6,"M12 18v-6"]],"file-plus-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M3 15h6"],[6,"M6 12v6"]],"file-question":[[6,"M12 17h.01"],[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"],[6,"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3"]],"file-scan":[[6,"M20 10V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M16 14a2 2 0 0 0-2 2"],[6,"M20 14a2 2 0 0 1 2 2"],[6,"M20 22a2 2 0 0 0 2-2"],[6,"M16 22a2 2 0 0 1-2-2"]],"file-search":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"],[6,"m9 18-1.5-1.5"],[1,5,14,3]],"file-search-2":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,11.5,14.5,2.5],[6,"M13.3 16.3 15 18"]],"file-signature":[[6,"m18 5-2.414-2.414A2 2 0 0 0 14.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2"],[6,"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"],[6,"M8 18h1"]],"file-sliders":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 12h8"],[6,"M10 11v2"],[6,"M8 17h8"],[6,"M14 16v2"]],"file-spreadsheet":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 13h2"],[6,"M14 13h2"],[6,"M8 17h2"],[6,"M14 17h2"]],"file-stack":[[6,"M21 7h-3a2 2 0 0 1-2-2V2"],[6,"M21 6v6.5c0 .8-.7 1.5-1.5 1.5h-7c-.8 0-1.5-.7-1.5-1.5v-9c0-.8.7-1.5 1.5-1.5H17Z"],[6,"M7 8v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H15"],[6,"M3 12v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H11"]],"file-symlink":[[6,"m10 18 3-3-3-3"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4 11V4a2 2 0 0 1 2-2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7"]],"file-terminal":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m8 16 2-2-2-2"],[6,"M12 18h4"]],"file-text":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M10 9H8"],[6,"M16 13H8"],[6,"M16 17H8"]],"file-type":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M9 13v-1h6v1"],[6,"M12 12v6"],[6,"M11 18h2"]],"file-type-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M2 13v-1h6v1"],[6,"M5 12v6"],[6,"M4 18h2"]],"file-up":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M12 12v6"],[6,"m15 15-3-3-3 3"]],"file-user":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M15 18a3 3 0 1 0-6 0"],[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"],[1,12,13,2]],"file-video":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m10 11 5 3-5 3v-6Z"]],"file-video-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[5,2,12,8,6,1],[6,"m10 15.5 4 2.5v-6l-4 2.5"]],"file-volume":[[6,"M11 11a5 5 0 0 1 0 6"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4 6.765V4a2 2 0 0 1 2-2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-.93-.23"],[6,"M7 10.51a.5.5 0 0 0-.826-.38l-1.893 1.628A1 1 0 0 1 3.63 12H2.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h1.129a1 1 0 0 1 .652.242l1.893 1.63a.5.5 0 0 0 .826-.38z"]],"file-volume-2":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 15h.01"],[6,"M11.5 13.5a2.5 2.5 0 0 1 0 3"],[6,"M15 12a5 5 0 0 1 0 6"]],"file-warning":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M12 9v4"],[6,"M12 17h.01"]],"file-x":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m14.5 12.5-5 5"],[6,"m9.5 12.5 5 5"]],"file-x2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m8 12.5-5 5"],[6,"m3 12.5 5 5"]],files:[[6,"M20 7h-3a2 2 0 0 1-2-2V2"],[6,"M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"],[6,"M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"]],film:[[5,3,3,18,18,2],[6,"M7 3v18"],[6,"M3 7.5h4"],[6,"M3 12h18"],[6,"M3 16.5h4"],[6,"M17 3v18"],[6,"M17 7.5h4"],[6,"M17 16.5h4"]],filter:[[3,"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"]],"filter-x":[[6,"M13.013 3H2l8 9.46V19l4 2v-8.54l.9-1.055"],[6,"m22 3-5 5"],[6,"m17 3 5 5"]],fingerprint:[[6,"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4"],[6,"M14 13.12c0 2.38 0 6.38-1 8.88"],[6,"M17.29 21.02c.12-.6.43-2.3.5-3.02"],[6,"M2 12a10 10 0 0 1 18-6"],[6,"M2 16h.01"],[6,"M21.8 16c.2-2 .131-5.354 0-6"],[6,"M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2"],[6,"M8.65 22c.21-.66.45-1.32.57-2"],[6,"M9 6.8a6 6 0 0 1 9 5.2v2"]],"fire-extinguisher":[[6,"M15 6.5V3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3.5"],[6,"M9 18h8"],[6,"M18 3h-3"],[6,"M11 3a6 6 0 0 0-6 6v11"],[6,"M5 13h4"],[6,"M17 10a4 4 0 0 0-8 0v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2Z"]],fish:[[6,"M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z"],[6,"M18 12v.5"],[6,"M16 17.93a9.77 9.77 0 0 1 0-11.86"],[6,"M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33"],[6,"M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4"],[6,"m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98"]],"fish-off":[[6,"M18 12.47v.03m0-.5v.47m-.475 5.056A6.744 6.744 0 0 1 15 18c-3.56 0-7.56-2.53-8.5-6 .348-1.28 1.114-2.433 2.121-3.38m3.444-2.088A8.802 8.802 0 0 1 15 6c3.56 0 6.06 2.54 7 6-.309 1.14-.786 2.177-1.413 3.058"],[6,"M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33m7.48-4.372A9.77 9.77 0 0 1 16 6.07m0 11.86a9.77 9.77 0 0 1-1.728-3.618"],[6,"m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98M8.53 3h5.27a2 2 0 0 1 1.98 1.67l.23 1.4M2 2l20 20"]],"fish-symbol":[[6,"M2 16s9-15 20-4C11 23 2 8 2 8"]],flag:[[6,"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"],[0,4,22,4,15]],"flag-off":[[6,"M8 2c3 0 5 2 8 2s4-1 4-1v11"],[6,"M4 22V4"],[6,"M4 15s1-1 4-1 5 2 8 2"],[0,2,2,22,22]],"flag-triangle-left":[[6,"M17 22V2L7 7l10 5"]],"flag-triangle-right":[[6,"M7 22V2l10 5-10 5"]],flame:[[6,"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"]],"flame-kindling":[[6,"M12 2c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 17 10a5 5 0 1 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C8 4.5 11 2 12 2Z"],[6,"m5 22 14-4"],[6,"m5 18 14 4"]],flashlight:[[6,"M18 6c0 2-2 2-2 4v10a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4V2h12z"],[0,6,6,18,6],[0,12,12,12,12]],"flashlight-off":[[6,"M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4"],[6,"M7 2h11v4c0 2-2 2-2 4v1"],[0,11,6,18,6],[0,2,2,22,22]],"flask-conical":[[6,"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2"],[6,"M8.5 2h7"],[6,"M7 16h10"]],"flask-conical-off":[[6,"M10 10 4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-1.272-2.542"],[6,"M10 2v2.343"],[6,"M14 2v6.343"],[6,"M8.5 2h7"],[6,"M7 16h9"],[0,2,2,22,22]],"flask-round":[[6,"M10 2v7.31"],[6,"M14 9.3V1.99"],[6,"M8.5 2h7"],[6,"M14 9.3a6.5 6.5 0 1 1-4 0"],[6,"M5.52 16h12.96"]],"flip-horizontal":[[6,"M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3"],[6,"M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3"],[6,"M12 20v2"],[6,"M12 14v2"],[6,"M12 8v2"],[6,"M12 2v2"]],"flip-horizontal-2":[[6,"m3 7 5 5-5 5V7"],[6,"m21 7-5 5 5 5V7"],[6,"M12 20v2"],[6,"M12 14v2"],[6,"M12 8v2"],[6,"M12 2v2"]],"flip-vertical":[[6,"M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3"],[6,"M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3"],[6,"M4 12H2"],[6,"M10 12H8"],[6,"M16 12h-2"],[6,"M22 12h-2"]],"flip-vertical-2":[[6,"m17 3-5 5-5-5h10"],[6,"m17 21-5-5-5 5h10"],[6,"M4 12H2"],[6,"M10 12H8"],[6,"M16 12h-2"],[6,"M22 12h-2"]],flower:[[1,12,12,3],[6,"M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5"],[6,"M12 7.5V9"],[6,"M7.5 12H9"],[6,"M16.5 12H15"],[6,"M12 16.5V15"],[6,"m8 8 1.88 1.88"],[6,"M14.12 9.88 16 8"],[6,"m8 16 1.88-1.88"],[6,"M14.12 14.12 16 16"]],"flower-2":[[6,"M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1"],[1,12,8,2],[6,"M12 10v12"],[6,"M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z"],[6,"M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z"]],focus:[[1,12,12,3],[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"]],"fold-horizontal":[[6,"M2 12h6"],[6,"M22 12h-6"],[6,"M12 2v2"],[6,"M12 8v2"],[6,"M12 14v2"],[6,"M12 20v2"],[6,"m19 9-3 3 3 3"],[6,"m5 15 3-3-3-3"]],"fold-vertical":[[6,"M12 22v-6"],[6,"M12 8V2"],[6,"M4 12H2"],[6,"M10 12H8"],[6,"M16 12h-2"],[6,"M22 12h-2"],[6,"m15 19-3-3-3 3"],[6,"m15 5-3 3-3-3"]],folder:[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"]],"folder-archive":[[1,15,19,2],[6,"M20.9 19.8A2 2 0 0 0 22 18V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h5.1"],[6,"M15 11v-1"],[6,"M15 17v-2"]],"folder-check":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"m9 13 2 2 4-4"]],"folder-clock":[[1,16,16,6],[6,"M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2"],[6,"M16 14v2l1 1"]],"folder-closed":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M2 10h20"]],"folder-code":[[6,"M10 10.5 8 13l2 2.5"],[6,"m14 10.5 2 2.5-2 2.5"],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z"]],"folder-cog":[[1,18,18,3],[6,"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v3.3"],[6,"m21.7 19.4-.9-.3"],[6,"m15.2 16.9-.9-.3"],[6,"m16.6 21.7.3-.9"],[6,"m19.1 15.2.3-.9"],[6,"m19.6 21.7-.4-1"],[6,"m16.8 15.3-.4-1"],[6,"m14.3 19.6 1-.4"],[6,"m20.7 16.8 1-.4"]],"folder-cog-2":[[1,18,18,3],[6,"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v3.3"],[6,"m21.7 19.4-.9-.3"],[6,"m15.2 16.9-.9-.3"],[6,"m16.6 21.7.3-.9"],[6,"m19.1 15.2.3-.9"],[6,"m19.6 21.7-.4-1"],[6,"m16.8 15.3-.4-1"],[6,"m14.3 19.6 1-.4"],[6,"m20.7 16.8 1-.4"]],"folder-dot":[[6,"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"],[1,12,13,1]],"folder-down":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M12 10v6"],[6,"m15 13-3 3-3-3"]],"folder-edit":[[6,"M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5"],[6,"M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"folder-git":[[1,12,13,2],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M14 13h3"],[6,"M7 13h3"]],"folder-git-2":[[6,"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5"],[1,13,12,2],[6,"M18 19c-2.8 0-5-2.2-5-5v8"],[1,20,19,2]],"folder-heart":[[6,"M11 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v1.5"],[6,"M13.9 17.45c-1.2-1.2-1.14-2.8-.2-3.73a2.43 2.43 0 0 1 3.44 0l.36.34.34-.34a2.43 2.43 0 0 1 3.45-.01c.95.95 1 2.53-.2 3.74L17.5 21Z"]],"folder-input":[[6,"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1"],[6,"M2 13h10"],[6,"m9 16 3-3-3-3"]],"folder-kanban":[[6,"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"],[6,"M8 10v4"],[6,"M12 10v2"],[6,"M16 10v6"]],"folder-key":[[1,16,20,2],[6,"M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2"],[6,"m22 14-4.5 4.5"],[6,"m21 15 1 1"]],"folder-lock":[[5,14,17,8,5,1],[6,"M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5"],[6,"M20 17v-2a2 2 0 1 0-4 0v2"]],"folder-minus":[[6,"M9 13h6"],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"]],"folder-open":[[6,"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"]],"folder-open-dot":[[6,"m6 14 1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2"],[1,14,15,1]],"folder-output":[[6,"M2 7.5V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-1.5"],[6,"M2 13h10"],[6,"m5 10-3 3 3 3"]],"folder-pen":[[6,"M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5"],[6,"M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"folder-plus":[[6,"M12 10v6"],[6,"M9 13h6"],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"]],"folder-root":[[6,"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"],[1,12,13,2],[6,"M12 15v5"]],"folder-search":[[6,"M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1"],[6,"m21 21-1.9-1.9"],[1,17,17,3]],"folder-search-2":[[1,11.5,12.5,2.5],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M13.3 14.3 15 16"]],"folder-symlink":[[6,"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7"],[6,"m8 16 3-3-3-3"]],"folder-sync":[[6,"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5"],[6,"M12 10v4h4"],[6,"m12 14 1.535-1.605a5 5 0 0 1 8 1.5"],[6,"M22 22v-4h-4"],[6,"m22 18-1.535 1.605a5 5 0 0 1-8-1.5"]],"folder-tree":[[6,"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"],[6,"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"],[6,"M3 5a2 2 0 0 0 2 2h3"],[6,"M3 3v13a2 2 0 0 0 2 2h3"]],"folder-up":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M12 10v6"],[6,"m9 13 3-3 3 3"]],"folder-x":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"m9.5 10.5 5 5"],[6,"m14.5 10.5-5 5"]],folders:[[6,"M20 17a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3.9a2 2 0 0 1-1.69-.9l-.81-1.2a2 2 0 0 0-1.67-.9H8a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2Z"],[6,"M2 8v11a2 2 0 0 0 2 2h14"]],footprints:[[6,"M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z"],[6,"M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z"],[6,"M16 17h4"],[6,"M4 13h4"]],"fork-knife":[[6,"M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2"],[6,"M7 2v20"],[6,"M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7"]],"fork-knife-crossed":[[6,"m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8"],[6,"M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7"],[6,"m2.1 21.8 6.4-6.3"],[6,"m19 5-7 7"]],forklift:[[6,"M12 12H5a2 2 0 0 0-2 2v5"],[1,13,19,2],[1,5,19,2],[6,"M8 19h3m5-17v17h6M6 12V7c0-1.1.9-2 2-2h3l5 5"]],"form-input":[[5,2,6,20,12,2],[6,"M12 12h.01"],[6,"M17 12h.01"],[6,"M7 12h.01"]],forward:[[2,"15 17 20 12 15 7"],[6,"M4 18v-2a4 4 0 0 1 4-4h12"]],frame:[[0,22,6,2,6],[0,22,18,2,18],[0,6,2,6,22],[0,18,2,18,22]],framer:[[6,"M5 16V9h14V2H5l14 14h-7m-7 0 7 7v-7m-7 0h7"]],frown:[[1,12,12,10],[6,"M16 16s-1.5-2-4-2-4 2-4 2"],[0,9,9,9.01,9],[0,15,9,15.01,9]],fuel:[[0,3,22,15,22],[0,4,9,14,9],[6,"M14 22V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v18"],[6,"M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 2 2a2 2 0 0 0 2-2V9.83a2 2 0 0 0-.59-1.42L18 5"]],fullscreen:[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[5,7,8,10,8,1]],"function-square":[[5,3,3,18,18,2,2],[6,"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3"],[6,"M9 11.2h5.7"]],"gallery-horizontal":[[6,"M2 3v18"],[5,6,3,12,18,2],[6,"M22 3v18"]],"gallery-horizontal-end":[[6,"M2 7v10"],[6,"M6 5v14"],[5,10,3,12,18,2]],"gallery-thumbnails":[[5,3,3,18,14,2],[6,"M4 21h1"],[6,"M9 21h1"],[6,"M14 21h1"],[6,"M19 21h1"]],"gallery-vertical":[[6,"M3 2h18"],[5,3,6,18,12,2],[6,"M3 22h18"]],"gallery-vertical-end":[[6,"M7 2h10"],[6,"M5 6h14"],[5,3,10,18,12,2]],gamepad:[[0,6,12,10,12],[0,8,10,8,14],[0,15,13,15.01,13],[0,18,11,18.01,11],[5,2,6,20,12,2]],"gamepad-2":[[0,6,11,10,11],[0,8,9,8,13],[0,15,12,15.01,12],[0,18,10,18.01,10],[6,"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z"]],"gantt-chart":[[6,"M8 6h10"],[6,"M6 12h9"],[6,"M11 18h7"]],"gantt-chart-square":[[5,3,3,18,18,2],[6,"M9 8h7"],[6,"M8 12h6"],[6,"M11 16h5"]],gauge:[[6,"m12 14 4-4"],[6,"M3.34 19a10 10 0 1 1 17.32 0"]],"gauge-circle":[[6,"M15.6 2.7a10 10 0 1 0 5.7 5.7"],[1,12,12,2],[6,"M13.4 10.6 19 5"]],gavel:[[6,"m14.5 12.5-8 8a2.119 2.119 0 1 1-3-3l8-8"],[6,"m16 16 6-6"],[6,"m8 8 6-6"],[6,"m9 7 8 8"],[6,"m21 11-8-8"]],gem:[[6,"M6 3h12l4 6-10 13L2 9Z"],[6,"M11 3 8 9l4 13 4-13-3-6"],[6,"M2 9h20"]],ghost:[[6,"M9 10h.01"],[6,"M15 10h.01"],[6,"M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z"]],gift:[[5,3,8,18,4,1],[6,"M12 8v13"],[6,"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7"],[6,"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5"]],"git-branch":[[0,6,3,6,15],[1,18,6,3],[1,6,18,3],[6,"M18 9a9 9 0 0 1-9 9"]],"git-branch-plus":[[6,"M6 3v12"],[6,"M18 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"],[6,"M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"],[6,"M15 6a9 9 0 0 0-9 9"],[6,"M18 15v6"],[6,"M21 18h-6"]],"git-commit":[[1,12,12,3],[0,3,12,9,12],[0,15,12,21,12]],"git-commit-horizontal":[[1,12,12,3],[0,3,12,9,12],[0,15,12,21,12]],"git-commit-vertical":[[6,"M12 3v6"],[1,12,12,3],[6,"M12 15v6"]],"git-compare":[[1,18,18,3],[1,6,6,3],[6,"M13 6h3a2 2 0 0 1 2 2v7"],[6,"M11 18H8a2 2 0 0 1-2-2V9"]],"git-compare-arrows":[[1,5,6,3],[6,"M12 6h5a2 2 0 0 1 2 2v7"],[6,"m15 9-3-3 3-3"],[1,19,18,3],[6,"M12 18H7a2 2 0 0 1-2-2V9"],[6,"m9 15 3 3-3 3"]],"git-fork":[[1,12,18,3],[1,6,6,3],[1,18,6,3],[6,"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9"],[6,"M12 12v3"]],"git-graph":[[1,5,6,3],[6,"M5 9v6"],[1,5,18,3],[6,"M12 3v18"],[1,19,6,3],[6,"M16 15.7A9 9 0 0 0 19 9"]],"git-merge":[[1,18,18,3],[1,6,6,3],[6,"M6 21V9a9 9 0 0 0 9 9"]],"git-pull-request":[[1,18,18,3],[1,6,6,3],[6,"M13 6h3a2 2 0 0 1 2 2v7"],[0,6,9,6,21]],"git-pull-request-arrow":[[1,5,6,3],[6,"M5 9v12"],[1,19,18,3],[6,"m15 9-3-3 3-3"],[6,"M12 6h5a2 2 0 0 1 2 2v7"]],"git-pull-request-closed":[[1,6,6,3],[6,"M6 9v12"],[6,"m21 3-6 6"],[6,"m21 9-6-6"],[6,"M18 11.5V15"],[1,18,18,3]],"git-pull-request-create":[[1,6,6,3],[6,"M6 9v12"],[6,"M13 6h3a2 2 0 0 1 2 2v3"],[6,"M18 15v6"],[6,"M21 18h-6"]],"git-pull-request-create-arrow":[[1,5,6,3],[6,"M5 9v12"],[6,"m15 9-3-3 3-3"],[6,"M12 6h5a2 2 0 0 1 2 2v3"],[6,"M19 15v6"],[6,"M22 18h-6"]],"git-pull-request-draft":[[1,18,18,3],[1,6,6,3],[6,"M18 6V5"],[6,"M18 11v-1"],[0,6,9,6,21]],github:[[6,"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"],[6,"M9 18c-4.51 2-5-2-7-2"]],gitlab:[[6,"m22 13.29-3.33-10a.42.42 0 0 0-.14-.18.38.38 0 0 0-.22-.11.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18l-2.26 6.67H8.32L6.1 3.26a.42.42 0 0 0-.1-.18.38.38 0 0 0-.26-.08.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18L2 13.29a.74.74 0 0 0 .27.83L12 21l9.69-6.88a.71.71 0 0 0 .31-.83Z"]],"glass-water":[[6,"M15.2 22H8.8a2 2 0 0 1-2-1.79L5 3h14l-1.81 17.21A2 2 0 0 1 15.2 22Z"],[6,"M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0"]],glasses:[[1,6,15,4],[1,18,15,4],[6,"M14 15a2 2 0 0 0-2-2 2 2 0 0 0-2 2"],[6,"M2.5 13 5 7c.7-1.3 1.4-2 3-2"],[6,"M21.5 13 19 7c-.7-1.3-1.5-2-3-2"]],globe:[[1,12,12,10],[6,"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"],[6,"M2 12h20"]],"globe-2":[[6,"M21.54 15H17a2 2 0 0 0-2 2v4.54"],[6,"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17"],[6,"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05"],[1,12,12,10]],"globe-lock":[[6,"M15.686 15A14.5 14.5 0 0 1 12 22a14.5 14.5 0 0 1 0-20 10 10 0 1 0 9.542 13"],[6,"M2 12h8.5"],[6,"M20 6V4a2 2 0 1 0-4 0v2"],[5,14,6,8,5,1]],goal:[[6,"M12 13V2l8 4-8 4"],[6,"M20.561 10.222a9 9 0 1 1-12.55-5.29"],[6,"M8.002 9.997a5 5 0 1 0 8.9 2.02"]],grab:[[6,"M18 11.5V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4"],[6,"M14 10V8a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2"],[6,"M10 9.9V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5"],[6,"M6 14a2 2 0 0 0-2-2a2 2 0 0 0-2 2"],[6,"M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0"]],"graduation-cap":[[6,"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z"],[6,"M22 10v6"],[6,"M6 12.5V16a6 3 0 0 0 12 0v-3.5"]],grape:[[6,"M22 5V2l-5.89 5.89"],[1,16.6,15.89,3],[1,8.11,7.4,3],[1,12.35,11.65,3],[1,13.91,5.85,3],[1,18.15,10.09,3],[1,6.56,13.2,3],[1,10.8,17.44,3],[1,5,19,3]],grid:[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M3 15h18"],[6,"M9 3v18"],[6,"M15 3v18"]],"grid-2x-2":[[5,3,3,18,18,2],[6,"M3 12h18"],[6,"M12 3v18"]],"grid-2x-2check":[[6,"M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3"],[6,"m16 19 2 2 4-4"]],"grid-2x-2plus":[[6,"M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3"],[6,"M16 19h6"],[6,"M19 22v-6"]],"grid-2x-2x":[[6,"M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3"],[6,"m16 16 5 5"],[6,"m16 21 5-5"]],"grid-3x-3":[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M3 15h18"],[6,"M9 3v18"],[6,"M15 3v18"]],grip:[[1,12,5,1],[1,19,5,1],[1,5,5,1],[1,12,12,1],[1,19,12,1],[1,5,12,1],[1,12,19,1],[1,19,19,1],[1,5,19,1]],"grip-horizontal":[[1,12,9,1],[1,19,9,1],[1,5,9,1],[1,12,15,1],[1,19,15,1],[1,5,15,1]],"grip-vertical":[[1,9,12,1],[1,9,5,1],[1,9,19,1],[1,15,12,1],[1,15,5,1],[1,15,19,1]],group:[[6,"M3 7V5c0-1.1.9-2 2-2h2"],[6,"M17 3h2c1.1 0 2 .9 2 2v2"],[6,"M21 17v2c0 1.1-.9 2-2 2h-2"],[6,"M7 21H5c-1.1 0-2-.9-2-2v-2"],[5,7,7,7,5,1],[5,10,12,7,5,1]],guitar:[[6,"m11.9 12.1 4.514-4.514"],[6,"M20.1 2.3a1 1 0 0 0-1.4 0l-1.114 1.114A2 2 0 0 0 17 4.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 17.828 7h1.344a2 2 0 0 0 1.414-.586L21.7 5.3a1 1 0 0 0 0-1.4z"],[6,"m6 16 2 2"],[6,"M8.2 9.9C8.7 8.8 9.8 8 11 8c2.8 0 5 2.2 5 5 0 1.2-.8 2.3-1.9 2.8l-.9.4A2 2 0 0 0 12 18a4 4 0 0 1-4 4c-3.3 0-6-2.7-6-6a4 4 0 0 1 4-4 2 2 0 0 0 1.8-1.2z"],[1,11.5,12.5,.5]],ham:[[6,"M13.144 21.144A7.274 10.445 45 1 0 2.856 10.856"],[6,"M13.144 21.144A7.274 4.365 45 0 0 2.856 10.856a7.274 4.365 45 0 0 10.288 10.288"],[6,"M16.565 10.435 18.6 8.4a2.501 2.501 0 1 0 1.65-4.65 2.5 2.5 0 1 0-4.66 1.66l-2.024 2.025"],[6,"m8.5 16.5-1-1"]],hammer:[[6,"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9"],[6,"m18 15 4-4"],[6,"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5"]],hand:[[6,"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2"],[6,"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2"],[6,"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8"],[6,"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15"]],"hand-coins":[[6,"M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17"],[6,"m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"],[6,"m2 16 6 6"],[1,16,9,2.9],[1,6,5,3]],"hand-heart":[[6,"M11 14h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16"],[6,"m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"],[6,"m2 15 6 6"],[6,"M19.5 8.5c.7-.7 1.5-1.6 1.5-2.7A2.73 2.73 0 0 0 16 4a2.78 2.78 0 0 0-5 1.8c0 1.2.8 2 1.5 2.8L16 12Z"]],"hand-helping":[[6,"M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14"],[6,"m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"],[6,"m2 13 6 6"]],"hand-metal":[[6,"M18 12.5V10a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4"],[6,"M14 11V9a2 2 0 1 0-4 0v2"],[6,"M10 10.5V5a2 2 0 1 0-4 0v9"],[6,"m7 15-1.76-1.76a2 2 0 0 0-2.83 2.82l3.6 3.6C7.5 21.14 9.2 22 12 22h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v5"]],"hand-platter":[[6,"M12 3V2"],[6,"M5 10a7.1 7.1 0 0 1 14 0"],[6,"M4 10h16"],[6,"M2 14h12a2 2 0 1 1 0 4h-2"],[6,"m15.4 17.4 3.2-2.8a2 2 0 0 1 2.8 2.9l-3.6 3.3c-.7.8-1.7 1.2-2.8 1.2h-4c-1.1 0-2.1-.4-2.8-1.2L5 18"],[6,"M5 14v7H2"]],handshake:[[6,"m11 17 2 2a1 1 0 1 0 3-3"],[6,"m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4"],[6,"m21 3 1 11h-2"],[6,"M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3"],[6,"M3 4h8"]],"hard-drive":[[0,22,12,2,12],[6,"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"],[0,6,16,6.01,16],[0,10,16,10.01,16]],"hard-drive-download":[[6,"M12 2v8"],[6,"m16 6-4 4-4-4"],[5,2,14,20,8,2],[6,"M6 18h.01"],[6,"M10 18h.01"]],"hard-drive-upload":[[6,"m16 6-4-4-4 4"],[6,"M12 2v8"],[5,2,14,20,8,2],[6,"M6 18h.01"],[6,"M10 18h.01"]],"hard-hat":[[6,"M2 18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v2z"],[6,"M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5"],[6,"M4 15v-3a6 6 0 0 1 6-6"],[6,"M14 6a6 6 0 0 1 6 6v3"]],hash:[[0,4,9,20,9],[0,4,15,20,15],[0,10,3,8,21],[0,16,3,14,21]],haze:[[6,"m5.2 6.2 1.4 1.4"],[6,"M2 13h2"],[6,"M20 13h2"],[6,"m17.4 7.6 1.4-1.4"],[6,"M22 17H2"],[6,"M22 21H2"],[6,"M16 13a4 4 0 0 0-8 0"],[6,"M12 5V2.5"]],"hdmi-port":[[6,"M22 9a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1l2 2h12l2-2h1a1 1 0 0 0 1-1Z"],[6,"M7.5 12h9"]],heading:[[6,"M6 12h12"],[6,"M6 20V4"],[6,"M18 20V4"]],"heading-1":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"m17 12 3-2v8"]],"heading-2":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1"]],"heading-3":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2"],[6,"M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2"]],"heading-4":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"M17 10v4h4"],[6,"M21 10v8"]],"heading-5":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"M17 13v-3h4"],[6,"M17 17.7c.4.2.8.3 1.3.3 1.5 0 2.7-1.1 2.7-2.5S19.8 13 18.3 13H17"]],"heading-6":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[1,19,16,2],[6,"M20 10c-2 2-3 3.5-3 6"]],"headphone-off":[[6,"M21 14h-1.343"],[6,"M9.128 3.47A9 9 0 0 1 21 12v3.343"],[6,"m2 2 20 20"],[6,"M20.414 20.414A2 2 0 0 1 19 21h-1a2 2 0 0 1-2-2v-3"],[6,"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 2.636-6.364"]],headphones:[[6,"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3"]],headset:[[6,"M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z"],[6,"M21 16v2a4 4 0 0 1-4 4h-5"]],heart:[[6,"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"]],"heart-crack":[[6,"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"],[6,"m12 13-1-1 2-2-3-3 2-2"]],"heart-handshake":[[6,"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"],[6,"M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66"],[6,"m18 15-2-2"],[6,"m15 18-2-2"]],"heart-off":[[0,2,2,22,22],[6,"M16.5 16.5 12 21l-7-7c-1.5-1.45-3-3.2-3-5.5a5.5 5.5 0 0 1 2.14-4.35"],[6,"M8.76 3.1c1.15.22 2.13.78 3.24 1.9 1.5-1.5 2.74-2 4.5-2A5.5 5.5 0 0 1 22 8.5c0 2.12-1.3 3.78-2.67 5.17"]],"heart-pulse":[[6,"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"],[6,"M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27"]],heater:[[6,"M11 8c2-3-2-3 0-6"],[6,"M15.5 8c2-3-2-3 0-6"],[6,"M6 10h.01"],[6,"M6 14h.01"],[6,"M10 16v-4"],[6,"M14 16v-4"],[6,"M18 16v-4"],[6,"M20 6a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3"],[6,"M5 20v2"],[6,"M19 20v2"]],"help-circle":[[1,12,12,10],[6,"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"],[6,"M12 17h.01"]],"helping-hand":[[6,"M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14"],[6,"m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"],[6,"m2 13 6 6"]],hexagon:[[6,"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"]],highlighter:[[6,"m9 11-6 6v3h9l3-3"],[6,"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"]],history:[[6,"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"],[6,"M3 3v5h5"],[6,"M12 7v5l4 2"]],home:[[6,"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"],[6,"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"]],hop:[[6,"M10.82 16.12c1.69.6 3.91.79 5.18.85.55.03 1-.42.97-.97-.06-1.27-.26-3.5-.85-5.18"],[6,"M11.5 6.5c1.64 0 5-.38 6.71-1.07.52-.2.55-.82.12-1.17A10 10 0 0 0 4.26 18.33c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.88.88 0 0 0 .73-.74c.3-2.14-.15-3.5-.61-4.88"],[6,"M15.62 16.95c.2.85.62 2.76.5 4.28a.77.77 0 0 1-.9.7 16.64 16.64 0 0 1-4.08-1.36"],[6,"M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .96-.96 17.68 17.68 0 0 0-.9-4.87"],[6,"M16.94 15.62c.86.2 2.77.62 4.29.5a.77.77 0 0 0 .7-.9 16.64 16.64 0 0 0-1.36-4.08"],[6,"M17.99 5.52a20.82 20.82 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-2.33.2-5.3-.32-8.27-1.57"],[6,"M4.93 4.93 3 3a.7.7 0 0 1 0-1"],[6,"M9.58 12.18c1.24 2.98 1.77 5.95 1.57 8.28a.8.8 0 0 1-1.13.68 20.82 20.82 0 0 1-4.5-3.15"]],"hop-off":[[6,"M10.82 16.12c1.69.6 3.91.79 5.18.85.28.01.53-.09.7-.27"],[6,"M11.14 20.57c.52.24 2.44 1.12 4.08 1.37.46.06.86-.25.9-.71.12-1.52-.3-3.43-.5-4.28"],[6,"M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .7-.26"],[6,"M17.99 5.52a20.83 20.83 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-1.17.1-2.5.02-3.9-.25"],[6,"M20.57 11.14c.24.52 1.12 2.44 1.37 4.08.04.3-.08.59-.31.75"],[6,"M4.93 4.93a10 10 0 0 0-.67 13.4c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.85.85 0 0 0 .48-.24"],[6,"M5.52 17.99c1.05.95 2.91 2.42 4.5 3.15a.8.8 0 0 0 1.13-.68c.2-2.34-.33-5.3-1.57-8.28"],[6,"M8.35 2.68a10 10 0 0 1 9.98 1.58c.43.35.4.96-.12 1.17-1.5.6-4.3.98-6.07 1.05"],[6,"m2 2 20 20"]],hospital:[[6,"M12 6v4"],[6,"M14 14h-4"],[6,"M14 18h-4"],[6,"M14 8h-4"],[6,"M18 12h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h2"],[6,"M18 22V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v18"]],hotel:[[6,"M10 22v-6.57"],[6,"M12 11h.01"],[6,"M12 7h.01"],[6,"M14 15.43V22"],[6,"M15 16a5 5 0 0 0-6 0"],[6,"M16 11h.01"],[6,"M16 7h.01"],[6,"M8 11h.01"],[6,"M8 7h.01"],[5,4,2,16,20,2]],hourglass:[[6,"M5 22h14"],[6,"M5 2h14"],[6,"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22"],[6,"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2"]],house:[[6,"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"],[6,"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"]],"house-plug":[[6,"M10 12V8.964"],[6,"M14 12V8.964"],[6,"M15 12a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2a1 1 0 0 1 1-1z"],[6,"M8.5 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2v-2"]],"house-plus":[[6,"M13.22 2.416a2 2 0 0 0-2.511.057l-7 5.999A2 2 0 0 0 3 10v9a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7.354"],[6,"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"],[6,"M15 6h6"],[6,"M18 3v6"]],"ice-cream":[[6,"m7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11"],[6,"M17 7A5 5 0 0 0 7 7"],[6,"M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4"]],"ice-cream-2":[[6,"M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0"],[6,"M12.14 11a3.5 3.5 0 1 1 6.71 0"],[6,"M15.5 6.5a3.5 3.5 0 1 0-7 0"]],"ice-cream-bowl":[[6,"M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0"],[6,"M12.14 11a3.5 3.5 0 1 1 6.71 0"],[6,"M15.5 6.5a3.5 3.5 0 1 0-7 0"]],"ice-cream-cone":[[6,"m7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11"],[6,"M17 7A5 5 0 0 0 7 7"],[6,"M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4"]],"id-card":[[6,"M16 10h2"],[6,"M16 14h2"],[6,"M6.17 15a3 3 0 0 1 5.66 0"],[1,9,11,2],[5,2,5,20,14,2]],image:[[5,3,3,18,18,2,2],[1,9,9,2],[6,"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"]],"image-down":[[6,"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21"],[6,"m14 19 3 3v-5.5"],[6,"m17 22 3-3"],[1,9,9,2]],"image-minus":[[6,"M21 9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7"],[0,16,5,22,5],[1,9,9,2],[6,"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"]],"image-off":[[0,2,2,22,22],[6,"M10.41 10.41a2 2 0 1 1-2.83-2.83"],[0,13.5,13.5,6,21],[0,18,12,21,15],[6,"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59"],[6,"M21 15V5a2 2 0 0 0-2-2H9"]],"image-play":[[6,"m11 16-5 5"],[6,"M11 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6.5"],[6,"M15.765 22a.5.5 0 0 1-.765-.424V13.38a.5.5 0 0 1 .765-.424l5.878 3.674a1 1 0 0 1 0 1.696z"],[1,9,9,2]],"image-plus":[[6,"M16 5h6"],[6,"M19 2v6"],[6,"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5"],[6,"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"],[1,9,9,2]],"image-up":[[6,"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21"],[6,"m14 19.5 3-3 3 3"],[6,"M17 22v-5.5"],[1,9,9,2]],images:[[6,"M18 22H4a2 2 0 0 1-2-2V6"],[6,"m22 13-1.296-1.296a2.41 2.41 0 0 0-3.408 0L11 18"],[1,12,8,2],[5,6,2,16,16,2]],import:[[6,"M12 3v12"],[6,"m8 11 4 4 4-4"],[6,"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4"]],inbox:[[2,"22 12 16 12 14 15 10 15 8 12 2 12"],[6,"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"]],indent:[[2,"3 8 7 12 3 16"],[0,21,12,11,12],[0,21,6,11,6],[0,21,18,11,18]],"indent-decrease":[[2,"7 8 3 12 7 16"],[0,21,12,11,12],[0,21,6,11,6],[0,21,18,11,18]],"indent-increase":[[2,"3 8 7 12 3 16"],[0,21,12,11,12],[0,21,6,11,6],[0,21,18,11,18]],"indian-rupee":[[6,"M6 3h12"],[6,"M6 8h12"],[6,"m6 13 8.5 8"],[6,"M6 13h3"],[6,"M9 13c6.667 0 6.667-10 0-10"]],infinity:[[6,"M12 12c-2-2.67-4-4-6-4a4 4 0 1 0 0 8c2 0 4-1.33 6-4Zm0 0c2 2.67 4 4 6 4a4 4 0 0 0 0-8c-2 0-4 1.33-6 4Z"]],info:[[1,12,12,10],[6,"M12 16v-4"],[6,"M12 8h.01"]],inspect:[[6,"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"],[6,"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"]],"inspection-panel":[[5,3,3,18,18,2],[6,"M7 7h.01"],[6,"M17 7h.01"],[6,"M7 17h.01"],[6,"M17 17h.01"]],instagram:[[5,2,2,20,20,5,5],[6,"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"],[0,17.5,6.5,17.51,6.5]],italic:[[0,19,4,10,4],[0,14,20,5,20],[0,15,4,9,20]],"iteration-ccw":[[6,"M20 10c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8h8"],[2,"16 14 20 18 16 22"]],"iteration-cw":[[6,"M4 10c0-4.4 3.6-8 8-8s8 3.6 8 8-3.6 8-8 8H4"],[2,"8 22 4 18 8 14"]],"japanese-yen":[[6,"M12 9.5V21m0-11.5L6 3m6 6.5L18 3"],[6,"M6 15h12"],[6,"M6 11h12"]],joystick:[[6,"M21 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2Z"],[6,"M6 15v-2"],[6,"M12 15V9"],[1,12,6,3]],kanban:[[6,"M6 5v11"],[6,"M12 5v6"],[6,"M18 5v14"]],"kanban-square":[[5,3,3,18,18,2],[6,"M8 7v7"],[6,"M12 7v4"],[6,"M16 7v9"]],"kanban-square-dashed":[[6,"M8 7v7"],[6,"M12 7v4"],[6,"M16 7v9"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M9 3h1"],[6,"M14 3h1"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 9v1"],[6,"M21 14v1"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M14 21h1"],[6,"M9 21h1"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M3 14v1"],[6,"M3 9v1"]],key:[[6,"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4"],[6,"m21 2-9.6 9.6"],[1,7.5,15.5,5.5]],"key-round":[[6,"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"],[1,16.5,7.5,.5]],"key-square":[[6,"M12.4 2.7a2.5 2.5 0 0 1 3.4 0l5.5 5.5a2.5 2.5 0 0 1 0 3.4l-3.7 3.7a2.5 2.5 0 0 1-3.4 0L8.7 9.8a2.5 2.5 0 0 1 0-3.4z"],[6,"m14 7 3 3"],[6,"m9.4 10.6-6.814 6.814A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814"]],keyboard:[[6,"M10 8h.01"],[6,"M12 12h.01"],[6,"M14 8h.01"],[6,"M16 12h.01"],[6,"M18 8h.01"],[6,"M6 8h.01"],[6,"M7 16h10"],[6,"M8 12h.01"],[5,2,4,20,16,2]],"keyboard-music":[[5,2,4,20,16,2],[6,"M6 8h4"],[6,"M14 8h.01"],[6,"M18 8h.01"],[6,"M2 12h20"],[6,"M6 12v4"],[6,"M10 12v4"],[6,"M14 12v4"],[6,"M18 12v4"]],"keyboard-off":[[6,"M 20 4 A2 2 0 0 1 22 6"],[6,"M 22 6 L 22 16.41"],[6,"M 7 16 L 16 16"],[6,"M 9.69 4 L 20 4"],[6,"M14 8h.01"],[6,"M18 8h.01"],[6,"m2 2 20 20"],[6,"M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2"],[6,"M6 8h.01"],[6,"M8 12h.01"]],lamp:[[6,"M8 2h8l4 10H4L8 2Z"],[6,"M12 12v6"],[6,"M8 22v-2c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v2H8Z"]],"lamp-ceiling":[[6,"M12 2v5"],[6,"M6 7h12l4 9H2l4-9Z"],[6,"M9.17 16a3 3 0 1 0 5.66 0"]],"lamp-desk":[[6,"m14 5-3 3 2 7 8-8-7-2Z"],[6,"m14 5-3 3-3-3 3-3 3 3Z"],[6,"M9.5 6.5 4 12l3 6"],[6,"M3 22v-2c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v2H3Z"]],"lamp-floor":[[6,"M9 2h6l3 7H6l3-7Z"],[6,"M12 9v13"],[6,"M9 22h6"]],"lamp-wall-down":[[6,"M11 13h6l3 7H8l3-7Z"],[6,"M14 13V8a2 2 0 0 0-2-2H8"],[6,"M4 9h2a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H4v6Z"]],"lamp-wall-up":[[6,"M11 4h6l3 7H8l3-7Z"],[6,"M14 11v5a2 2 0 0 1-2 2H8"],[6,"M4 15h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H4v-6Z"]],"land-plot":[[6,"m12 8 6-3-6-3v10"],[6,"m8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12"],[6,"m6.49 12.85 11.02 6.3"],[6,"M17.51 12.85 6.5 19.15"]],landmark:[[0,3,22,21,22],[0,6,18,6,11],[0,10,18,10,11],[0,14,18,14,11],[0,18,18,18,11],[3,"12 2 20 7 4 7"]],languages:[[6,"m5 8 6 6"],[6,"m4 14 6-6 2-3"],[6,"M2 5h12"],[6,"M7 2h1"],[6,"m22 22-5-10-5 10"],[6,"M14 18h6"]],laptop:[[6,"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16"]],"laptop-2":[[5,3,4,18,12,2,2],[0,2,20,22,20]],"laptop-minimal":[[5,3,4,18,12,2,2],[0,2,20,22,20]],lasso:[[6,"M7 22a5 5 0 0 1-2-4"],[6,"M3.3 14A6.8 6.8 0 0 1 2 10c0-4.4 4.5-8 10-8s10 3.6 10 8-4.5 8-10 8a12 12 0 0 1-5-1"],[6,"M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"]],"lasso-select":[[6,"M7 22a5 5 0 0 1-2-4"],[6,"M7 16.93c.96.43 1.96.74 2.99.91"],[6,"M3.34 14A6.8 6.8 0 0 1 2 10c0-4.42 4.48-8 10-8s10 3.58 10 8a7.19 7.19 0 0 1-.33 2"],[6,"M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"],[6,"M14.33 22h-.09a.35.35 0 0 1-.24-.32v-10a.34.34 0 0 1 .33-.34c.08 0 .15.03.21.08l7.34 6a.33.33 0 0 1-.21.59h-4.49l-2.57 3.85a.35.35 0 0 1-.28.14z"]],laugh:[[1,12,12,10],[6,"M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12Z"],[0,9,9,9.01,9],[0,15,9,15.01,9]],layers:[[6,"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"],[6,"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"],[6,"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"]],"layers-2":[[6,"m16.02 12 5.48 3.13a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74L7.98 12"],[6,"M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74Z"]],"layers-3":[[6,"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"],[6,"m6.08 9.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59"],[6,"m6.08 14.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59"]],layout:[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M9 21V9"]],"layout-dashboard":[[5,3,3,7,9,1],[5,14,3,7,5,1],[5,14,12,7,9,1],[5,3,16,7,5,1]],"layout-grid":[[5,3,3,7,7,1],[5,14,3,7,7,1],[5,14,14,7,7,1],[5,3,14,7,7,1]],"layout-list":[[5,3,3,7,7,1],[5,3,14,7,7,1],[6,"M14 4h7"],[6,"M14 9h7"],[6,"M14 15h7"],[6,"M14 20h7"]],"layout-panel-left":[[5,3,3,7,18,1],[5,14,3,7,7,1],[5,14,14,7,7,1]],"layout-panel-top":[[5,3,3,18,7,1],[5,3,14,7,7,1],[5,14,14,7,7,1]],"layout-template":[[5,3,3,18,7,1],[5,3,14,9,7,1],[5,16,14,5,7,1]],leaf:[[6,"M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z"],[6,"M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12"]],"leafy-green":[[6,"M2 22c1.25-.987 2.27-1.975 3.9-2.2a5.56 5.56 0 0 1 3.8 1.5 4 4 0 0 0 6.187-2.353 3.5 3.5 0 0 0 3.69-5.116A3.5 3.5 0 0 0 20.95 8 3.5 3.5 0 1 0 16 3.05a3.5 3.5 0 0 0-5.831 1.373 3.5 3.5 0 0 0-5.116 3.69 4 4 0 0 0-2.348 6.155C3.499 15.42 4.409 16.712 4.2 18.1 3.926 19.743 3.014 20.732 2 22"],[6,"M2 22 17 7"]],lectern:[[6,"M16 12h3a2 2 0 0 0 1.902-1.38l1.056-3.333A1 1 0 0 0 21 6H3a1 1 0 0 0-.958 1.287l1.056 3.334A2 2 0 0 0 5 12h3"],[6,"M18 6V3a1 1 0 0 0-1-1h-3"],[5,8,10,8,12,1]],"letter-text":[[6,"M15 12h6"],[6,"M15 6h6"],[6,"m3 13 3.553-7.724a.5.5 0 0 1 .894 0L11 13"],[6,"M3 18h18"],[6,"M4 11h6"]],library:[[6,"m16 6 4 14"],[6,"M12 6v14"],[6,"M8 8v12"],[6,"M4 4v16"]],"library-big":[[5,3,3,8,18,1],[6,"M7 3v18"],[6,"M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z"]],"library-square":[[5,3,3,18,18,2],[6,"M7 7v10"],[6,"M11 7v10"],[6,"m15 7 2 10"]],"life-buoy":[[1,12,12,10],[6,"m4.93 4.93 4.24 4.24"],[6,"m14.83 9.17 4.24-4.24"],[6,"m14.83 14.83 4.24 4.24"],[6,"m9.17 14.83-4.24 4.24"],[1,12,12,4]],ligature:[[6,"M8 20V8c0-2.2 1.8-4 4-4 1.5 0 2.8.8 3.5 2"],[6,"M6 12h4"],[6,"M14 12h2v8"],[6,"M6 20h4"],[6,"M14 20h4"]],lightbulb:[[6,"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"],[6,"M9 18h6"],[6,"M10 22h4"]],"lightbulb-off":[[6,"M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5"],[6,"m2 2 20 20"],[6,"M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5"],[6,"M9 18h6"],[6,"M10 22h4"]],"line-chart":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"m19 9-5 5-4-4-3 3"]],link:[[6,"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"],[6,"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"]],"link-2":[[6,"M9 17H7A5 5 0 0 1 7 7h2"],[6,"M15 7h2a5 5 0 1 1 0 10h-2"],[0,8,12,16,12]],"link-2off":[[6,"M9 17H7A5 5 0 0 1 7 7"],[6,"M15 7h2a5 5 0 0 1 4 8"],[0,8,12,12,12],[0,2,2,22,22]],linkedin:[[6,"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"],[5,2,9,4,12],[1,4,4,2]],list:[[0,8,6,21,6],[0,8,12,21,12],[0,8,18,21,18],[0,3,6,3.01,6],[0,3,12,3.01,12],[0,3,18,3.01,18]],"list-check":[[6,"M11 18H3"],[6,"m15 18 2 2 4-4"],[6,"M16 12H3"],[6,"M16 6H3"]],"list-checks":[[6,"m3 17 2 2 4-4"],[6,"m3 7 2 2 4-4"],[6,"M13 6h8"],[6,"M13 12h8"],[6,"M13 18h8"]],"list-collapse":[[6,"m3 10 2.5-2.5L3 5"],[6,"m3 19 2.5-2.5L3 14"],[6,"M10 6h11"],[6,"M10 12h11"],[6,"M10 18h11"]],"list-end":[[6,"M16 12H3"],[6,"M16 6H3"],[6,"M10 18H3"],[6,"M21 6v10a2 2 0 0 1-2 2h-5"],[6,"m16 16-2 2 2 2"]],"list-filter":[[6,"M3 6h18"],[6,"M7 12h10"],[6,"M10 18h4"]],"list-minus":[[6,"M11 12H3"],[6,"M16 6H3"],[6,"M16 18H3"],[6,"M21 12h-6"]],"list-music":[[6,"M21 15V6"],[6,"M18.5 18a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"],[6,"M12 12H3"],[6,"M16 6H3"],[6,"M12 18H3"]],"list-ordered":[[0,10,6,21,6],[0,10,12,21,12],[0,10,18,21,18],[6,"M4 6h1v4"],[6,"M4 10h2"],[6,"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1"]],"list-plus":[[6,"M11 12H3"],[6,"M16 6H3"],[6,"M16 18H3"],[6,"M18 9v6"],[6,"M21 12h-6"]],"list-restart":[[6,"M21 6H3"],[6,"M7 12H3"],[6,"M7 18H3"],[6,"M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14"],[6,"M11 10v4h4"]],"list-start":[[6,"M16 12H3"],[6,"M16 18H3"],[6,"M10 6H3"],[6,"M21 18V8a2 2 0 0 0-2-2h-5"],[6,"m16 8-2-2 2-2"]],"list-todo":[[5,3,5,6,6,1],[6,"m3 17 2 2 4-4"],[6,"M13 6h8"],[6,"M13 12h8"],[6,"M13 18h8"]],"list-tree":[[6,"M21 12h-8"],[6,"M21 6H8"],[6,"M21 18h-8"],[6,"M3 6v4c0 1.1.9 2 2 2h3"],[6,"M3 10v6c0 1.1.9 2 2 2h3"]],"list-video":[[6,"M12 12H3"],[6,"M16 6H3"],[6,"M12 18H3"],[6,"m16 12 5 3-5 3v-6Z"]],"list-x":[[6,"M11 12H3"],[6,"M16 6H3"],[6,"M16 18H3"],[6,"m19 10-4 4"],[6,"m15 10 4 4"]],loader:[[6,"M12 2v4"],[6,"m16.2 7.8 2.9-2.9"],[6,"M18 12h4"],[6,"m16.2 16.2 2.9 2.9"],[6,"M12 18v4"],[6,"m4.9 19.1 2.9-2.9"],[6,"M2 12h4"],[6,"m4.9 4.9 2.9 2.9"]],"loader-2":[[6,"M21 12a9 9 0 1 1-6.219-8.56"]],"loader-circle":[[6,"M21 12a9 9 0 1 1-6.219-8.56"]],"loader-pinwheel":[[6,"M22 12a1 1 0 0 1-10 0 1 1 0 0 0-10 0"],[6,"M7 20.7a1 1 0 1 1 5-8.7 1 1 0 1 0 5-8.6"],[6,"M7 3.3a1 1 0 1 1 5 8.6 1 1 0 1 0 5 8.6"],[1,12,12,10]],locate:[[0,2,12,5,12],[0,19,12,22,12],[0,12,2,12,5],[0,12,19,12,22],[1,12,12,7]],"locate-fixed":[[0,2,12,5,12],[0,19,12,22,12],[0,12,2,12,5],[0,12,19,12,22],[1,12,12,7],[1,12,12,3]],"locate-off":[[0,2,12,5,12],[0,19,12,22,12],[0,12,2,12,5],[0,12,19,12,22],[6,"M7.11 7.11C5.83 8.39 5 10.1 5 12c0 3.87 3.13 7 7 7 1.9 0 3.61-.83 4.89-2.11"],[6,"M18.71 13.96c.19-.63.29-1.29.29-1.96 0-3.87-3.13-7-7-7-.67 0-1.33.1-1.96.29"],[0,2,2,22,22]],lock:[[5,3,11,18,11,2,2],[6,"M7 11V7a5 5 0 0 1 10 0v4"]],"lock-keyhole":[[1,12,16,1],[5,3,10,18,12,2],[6,"M7 10V7a5 5 0 0 1 10 0v3"]],"lock-keyhole-open":[[1,12,16,1],[5,3,10,18,12,2],[6,"M7 10V7a5 5 0 0 1 9.33-2.5"]],"lock-open":[[5,3,11,18,11,2,2],[6,"M7 11V7a5 5 0 0 1 9.9-1"]],"log-in":[[6,"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"],[2,"10 17 15 12 10 7"],[0,15,12,3,12]],"log-out":[[6,"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"],[2,"16 17 21 12 16 7"],[0,21,12,9,12]],logs:[[6,"M13 12h8"],[6,"M13 18h8"],[6,"M13 6h8"],[6,"M3 12h1"],[6,"M3 18h1"],[6,"M3 6h1"],[6,"M8 12h1"],[6,"M8 18h1"],[6,"M8 6h1"]],lollipop:[[1,11,11,8],[6,"m21 21-4.3-4.3"],[6,"M11 11a2 2 0 0 0 4 0 4 4 0 0 0-8 0 6 6 0 0 0 12 0"]],luggage:[[6,"M6 20a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2"],[6,"M8 18V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v14"],[6,"M10 20h4"],[1,16,20,2],[1,8,20,2]],"m-square":[[5,3,3,18,18,2],[6,"M8 16V8l4 4 4-4v8"]],magnet:[[6,"m6 15-4-4 6.75-6.77a7.79 7.79 0 0 1 11 11L13 22l-4-4 6.39-6.36a2.14 2.14 0 0 0-3-3L6 15"],[6,"m5 8 4 4"],[6,"m12 15 4 4"]],mail:[[5,2,4,20,16,2],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"]],"mail-check":[[6,"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"m16 19 2 2 4-4"]],"mail-minus":[[6,"M22 15V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M16 19h6"]],"mail-open":[[6,"M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z"],[6,"m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10"]],"mail-plus":[[6,"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M19 16v6"],[6,"M16 19h6"]],"mail-question":[[6,"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2"],[6,"M20 22v.01"]],"mail-search":[[6,"M22 12.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h7.5"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M18 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"],[1,18,18,3],[6,"m22 22-1.5-1.5"]],"mail-warning":[[6,"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M20 14v4"],[6,"M20 22v.01"]],"mail-x":[[6,"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"m17 17 4 4"],[6,"m21 17-4 4"]],mailbox:[[6,"M22 17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5C2 7 4 5 6.5 5H18c2.2 0 4 1.8 4 4v8Z"],[2,"15,9 18,9 18,11"],[6,"M6.5 5C9 5 11 7 11 9.5V17a2 2 0 0 1-2 2"],[0,6,10,7,10]],mails:[[5,6,4,16,13,2],[6,"m22 7-7.1 3.78c-.57.3-1.23.3-1.8 0L6 7"],[6,"M2 8v11c0 1.1.9 2 2 2h14"]],map:[[6,"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z"],[6,"M15 5.764v15"],[6,"M9 3.236v15"]],"map-pin":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[1,12,10,3]],"map-pin-check":[[6,"M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728"],[1,12,10,3],[6,"m16 18 2 2 4-4"]],"map-pin-check-inside":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[6,"m9 10 2 2 4-4"]],"map-pin-house":[[6,"M15 22a1 1 0 0 1-1-1v-4a1 1 0 0 1 .445-.832l3-2a1 1 0 0 1 1.11 0l3 2A1 1 0 0 1 22 17v4a1 1 0 0 1-1 1z"],[6,"M18 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 .601.2"],[6,"M18 22v-3"],[1,10,10,3]],"map-pin-minus":[[6,"M18.977 14C19.6 12.701 20 11.343 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738"],[1,12,10,3],[6,"M16 18h6"]],"map-pin-minus-inside":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[6,"M9 10h6"]],"map-pin-off":[[6,"M12.75 7.09a3 3 0 0 1 2.16 2.16"],[6,"M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568"],[6,"m2 2 20 20"],[6,"M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533"],[6,"M9.13 9.13a3 3 0 0 0 3.74 3.74"]],"map-pin-plus":[[6,"M19.914 11.105A7.298 7.298 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738"],[1,12,10,3],[6,"M16 18h6"],[6,"M19 15v6"]],"map-pin-plus-inside":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[6,"M12 7v6"],[6,"M9 10h6"]],"map-pin-x":[[6,"M19.752 11.901A7.78 7.78 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 19 19 0 0 0 .09-.077"],[1,12,10,3],[6,"m21.5 15.5-5 5"],[6,"m21.5 20.5-5-5"]],"map-pin-xinside":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[6,"m14.5 7.5-5 5"],[6,"m9.5 7.5 5 5"]],"map-pinned":[[6,"M18 8c0 3.613-3.869 7.429-5.393 8.795a1 1 0 0 1-1.214 0C9.87 15.429 6 11.613 6 8a6 6 0 0 1 12 0"],[1,12,8,2],[6,"M8.714 14h-3.71a1 1 0 0 0-.948.683l-2.004 6A1 1 0 0 0 3 22h18a1 1 0 0 0 .948-1.316l-2-6a1 1 0 0 0-.949-.684h-3.712"]],martini:[[6,"M8 22h8"],[6,"M12 11v11"],[6,"m19 3-7 8-7-8Z"]],maximize:[[6,"M8 3H5a2 2 0 0 0-2 2v3"],[6,"M21 8V5a2 2 0 0 0-2-2h-3"],[6,"M3 16v3a2 2 0 0 0 2 2h3"],[6,"M16 21h3a2 2 0 0 0 2-2v-3"]],"maximize-2":[[2,"15 3 21 3 21 9"],[2,"9 21 3 21 3 15"],[0,21,3,14,10],[0,3,21,10,14]],medal:[[6,"M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15"],[6,"M11 12 5.12 2.2"],[6,"m13 12 5.88-9.8"],[6,"M8 7h8"],[1,12,17,5],[6,"M12 18v-2h-.5"]],megaphone:[[6,"m3 11 18-5v12L3 14v-3z"],[6,"M11.6 16.8a3 3 0 1 1-5.8-1.6"]],"megaphone-off":[[6,"M9.26 9.26 3 11v3l14.14 3.14"],[6,"M21 15.34V6l-7.31 2.03"],[6,"M11.6 16.8a3 3 0 1 1-5.8-1.6"],[0,2,2,22,22]],meh:[[1,12,12,10],[0,8,15,16,15],[0,9,9,9.01,9],[0,15,9,15.01,9]],"memory-stick":[[6,"M6 19v-3"],[6,"M10 19v-3"],[6,"M14 19v-3"],[6,"M18 19v-3"],[6,"M8 11V9"],[6,"M16 11V9"],[6,"M12 11V9"],[6,"M2 15h20"],[6,"M2 7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.1a2 2 0 0 0 0 3.837V17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5.1a2 2 0 0 0 0-3.837Z"]],menu:[[0,4,12,20,12],[0,4,6,20,6],[0,4,18,20,18]],"menu-square":[[5,3,3,18,18,2],[6,"M7 8h10"],[6,"M7 12h10"],[6,"M7 16h10"]],merge:[[6,"m8 6 4-4 4 4"],[6,"M12 2v10.3a4 4 0 0 1-1.172 2.872L4 22"],[6,"m20 22-5-5"]],"message-circle":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"]],"message-circle-code":[[6,"M10 9.5 8 12l2 2.5"],[6,"m14 9.5 2 2.5-2 2.5"],[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22z"]],"message-circle-dashed":[[6,"M13.5 3.1c-.5 0-1-.1-1.5-.1s-1 .1-1.5.1"],[6,"M19.3 6.8a10.45 10.45 0 0 0-2.1-2.1"],[6,"M20.9 13.5c.1-.5.1-1 .1-1.5s-.1-1-.1-1.5"],[6,"M17.2 19.3a10.45 10.45 0 0 0 2.1-2.1"],[6,"M10.5 20.9c.5.1 1 .1 1.5.1s1-.1 1.5-.1"],[6,"M3.5 17.5 2 22l4.5-1.5"],[6,"M3.1 10.5c0 .5-.1 1-.1 1.5s.1 1 .1 1.5"],[6,"M6.8 4.7a10.45 10.45 0 0 0-2.1 2.1"]],"message-circle-heart":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M15.8 9.2a2.5 2.5 0 0 0-3.5 0l-.3.4-.35-.3a2.42 2.42 0 1 0-3.2 3.6l3.6 3.5 3.6-3.5c1.2-1.2 1.1-2.7.2-3.7"]],"message-circle-more":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M8 12h.01"],[6,"M12 12h.01"],[6,"M16 12h.01"]],"message-circle-off":[[6,"M20.5 14.9A9 9 0 0 0 9.1 3.5"],[6,"m2 2 20 20"],[6,"M5.6 5.6C3 8.3 2.2 12.5 4 16l-2 6 6-2c3.4 1.8 7.6 1.1 10.3-1.7"]],"message-circle-plus":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M8 12h8"],[6,"M12 8v8"]],"message-circle-question":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"],[6,"M12 17h.01"]],"message-circle-reply":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"m10 15-3-3 3-3"],[6,"M7 12h7a2 2 0 0 1 2 2v1"]],"message-circle-warning":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M12 8v4"],[6,"M12 16h.01"]],"message-circle-x":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],"message-square":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"]],"message-square-code":[[6,"M10 7.5 8 10l2 2.5"],[6,"m14 7.5 2 2.5-2 2.5"],[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"]],"message-square-dashed":[[6,"M10 17H7l-4 4v-7"],[6,"M14 17h1"],[6,"M14 3h1"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 14v1a2 2 0 0 1-2 2"],[6,"M21 9v1"],[6,"M3 9v1"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M9 3h1"]],"message-square-diff":[[6,"m5 19-2 2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2"],[6,"M9 10h6"],[6,"M12 7v6"],[6,"M9 17h6"]],"message-square-dot":[[6,"M11.7 3H5a2 2 0 0 0-2 2v16l4-4h12a2 2 0 0 0 2-2v-2.7"],[1,18,6,3]],"message-square-heart":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M14.8 7.5a1.84 1.84 0 0 0-2.6 0l-.2.3-.3-.3a1.84 1.84 0 1 0-2.4 2.8L12 13l2.7-2.7c.9-.9.8-2.1.1-2.8"]],"message-square-lock":[[6,"M19 15v-2a2 2 0 1 0-4 0v2"],[6,"M9 17H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3.5"],[5,13,15,8,5,1]],"message-square-more":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M8 10h.01"],[6,"M12 10h.01"],[6,"M16 10h.01"]],"message-square-off":[[6,"M21 15V5a2 2 0 0 0-2-2H9"],[6,"m2 2 20 20"],[6,"M3.6 3.6c-.4.3-.6.8-.6 1.4v16l4-4h10"]],"message-square-plus":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M12 7v6"],[6,"M9 10h6"]],"message-square-quote":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M8 12a2 2 0 0 0 2-2V8H8"],[6,"M14 12a2 2 0 0 0 2-2V8h-2"]],"message-square-reply":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"m10 7-3 3 3 3"],[6,"M17 13v-1a2 2 0 0 0-2-2H7"]],"message-square-share":[[6,"M21 12v3a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h7"],[6,"M16 3h5v5"],[6,"m16 8 5-5"]],"message-square-text":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M13 8H7"],[6,"M17 12H7"]],"message-square-warning":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M12 7v2"],[6,"M12 13h.01"]],"message-square-x":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"m14.5 7.5-5 5"],[6,"m9.5 7.5 5 5"]],"messages-square":[[6,"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z"],[6,"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1"]],mic:[[6,"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z"],[6,"M19 10v2a7 7 0 0 1-14 0v-2"],[0,12,19,12,22]],"mic-2":[[6,"m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12"],[6,"M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5"],[1,16,7,5]],"mic-off":[[0,2,2,22,22],[6,"M18.89 13.23A7.12 7.12 0 0 0 19 12v-2"],[6,"M5 10v2a7 7 0 0 0 12 5"],[6,"M15 9.34V5a3 3 0 0 0-5.68-1.33"],[6,"M9 9v3a3 3 0 0 0 5.12 2.12"],[0,12,19,12,22]],"mic-vocal":[[6,"m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12"],[6,"M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5"],[1,16,7,5]],microchip:[[6,"M18 12h2"],[6,"M18 16h2"],[6,"M18 20h2"],[6,"M18 4h2"],[6,"M18 8h2"],[6,"M4 12h2"],[6,"M4 16h2"],[6,"M4 20h2"],[6,"M4 4h2"],[6,"M4 8h2"],[6,"M8 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-1.5c-.276 0-.494.227-.562.495a2 2 0 0 1-3.876 0C9.994 2.227 9.776 2 9.5 2z"]],microscope:[[6,"M6 18h8"],[6,"M3 22h18"],[6,"M14 22a7 7 0 1 0 0-14h-1"],[6,"M9 14h2"],[6,"M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z"],[6,"M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3"]],microwave:[[5,2,4,20,15,2],[5,6,8,8,7,1],[6,"M18 8v7"],[6,"M6 19v2"],[6,"M18 19v2"]],milestone:[[6,"M12 13v8"],[6,"M12 3v3"],[6,"M4 6a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h13a2 2 0 0 0 1.152-.365l3.424-2.317a1 1 0 0 0 0-1.635l-3.424-2.318A2 2 0 0 0 17 6z"]],milk:[[6,"M8 2h8"],[6,"M9 2v2.789a4 4 0 0 1-.672 2.219l-.656.984A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-9.789a4 4 0 0 0-.672-2.219l-.656-.984A4 4 0 0 1 15 4.788V2"],[6,"M7 15a6.472 6.472 0 0 1 5 0 6.47 6.47 0 0 0 5 0"]],"milk-off":[[6,"M8 2h8"],[6,"M9 2v1.343M15 2v2.789a4 4 0 0 0 .672 2.219l.656.984a4 4 0 0 1 .672 2.22v1.131M7.8 7.8l-.128.192A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3"],[6,"M7 15a6.47 6.47 0 0 1 5 0 6.472 6.472 0 0 0 3.435.435"],[0,2,2,22,22]],minimize:[[6,"M8 3v3a2 2 0 0 1-2 2H3"],[6,"M21 8h-3a2 2 0 0 1-2-2V3"],[6,"M3 16h3a2 2 0 0 1 2 2v3"],[6,"M16 21v-3a2 2 0 0 1 2-2h3"]],"minimize-2":[[2,"4 14 10 14 10 20"],[2,"20 10 14 10 14 4"],[0,14,10,21,3],[0,3,21,10,14]],minus:[[6,"M5 12h14"]],"minus-circle":[[1,12,12,10],[6,"M8 12h8"]],"minus-square":[[5,3,3,18,18,2],[6,"M8 12h8"]],monitor:[[5,2,3,20,14,2],[0,8,21,16,21],[0,12,17,12,21]],"monitor-check":[[6,"m9 10 2 2 4-4"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-cog":[[6,"M12 17v4"],[6,"m15.2 4.9-.9-.4"],[6,"m15.2 7.1-.9.4"],[6,"m16.9 3.2-.4-.9"],[6,"m16.9 8.8-.4.9"],[6,"m19.5 2.3-.4.9"],[6,"m19.5 9.7-.4-.9"],[6,"m21.7 4.5-.9.4"],[6,"m21.7 7.5-.9-.4"],[6,"M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7"],[6,"M8 21h8"],[1,18,6,3]],"monitor-dot":[[1,19,6,3],[6,"M22 12v3a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h9"],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-down":[[6,"M12 13V7"],[6,"m15 10-3 3-3-3"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-off":[[6,"M17 17H4a2 2 0 0 1-2-2V5c0-1.5 1-2 1-2"],[6,"M22 15V5a2 2 0 0 0-2-2H9"],[6,"M8 21h8"],[6,"M12 17v4"],[6,"m2 2 20 20"]],"monitor-pause":[[6,"M10 13V7"],[6,"M14 13V7"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-play":[[6,"M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z"],[6,"M12 17v4"],[6,"M8 21h8"],[5,2,3,20,14,2]],"monitor-smartphone":[[6,"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8"],[6,"M10 19v-3.96 3.15"],[6,"M7 19h5"],[5,16,12,6,10,2]],"monitor-speaker":[[6,"M5.5 20H8"],[6,"M17 9h.01"],[5,12,4,10,16,2],[6,"M8 6H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h4"],[1,17,15,1]],"monitor-stop":[[6,"M12 17v4"],[6,"M8 21h8"],[5,2,3,20,14,2],[5,9,7,6,6,1]],"monitor-up":[[6,"m9 10 3-3 3 3"],[6,"M12 13V7"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-x":[[6,"m14.5 12.5-5-5"],[6,"m9.5 12.5 5-5"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],moon:[[6,"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"]],"moon-star":[[6,"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9"],[6,"M20 3v4"],[6,"M22 5h-4"]],"more-horizontal":[[1,12,12,1],[1,19,12,1],[1,5,12,1]],"more-vertical":[[1,12,12,1],[1,12,5,1],[1,12,19,1]],mountain:[[6,"m8 3 4 8 5-5 5 15H2L8 3z"]],"mountain-snow":[[6,"m8 3 4 8 5-5 5 15H2L8 3z"],[6,"M4.14 15.08c2.62-1.57 5.24-1.43 7.86.42 2.74 1.94 5.49 2 8.23.19"]],mouse:[[5,5,2,14,20,7],[6,"M12 6v4"]],"mouse-off":[[6,"M12 6v.343"],[6,"M18.218 18.218A7 7 0 0 1 5 15V9a7 7 0 0 1 .782-3.218"],[6,"M19 13.343V9A7 7 0 0 0 8.56 2.902"],[6,"M22 22 2 2"]],"mouse-pointer":[[6,"M12.586 12.586 19 19"],[6,"M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z"]],"mouse-pointer-2":[[6,"M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z"]],"mouse-pointer-ban":[[6,"M2.034 2.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.944L8.204 7.545a1 1 0 0 0-.66.66l-1.066 3.443a.5.5 0 0 1-.944.033z"],[1,16,16,6],[6,"m11.8 11.8 8.4 8.4"]],"mouse-pointer-click":[[6,"M14 4.1 12 6"],[6,"m5.1 8-2.9-.8"],[6,"m6 12-1.9 2"],[6,"M7.2 2.2 8 5.1"],[6,"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z"]],"mouse-pointer-square-dashed":[[6,"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h2"],[6,"M14 3h1"],[6,"M3 9v1"],[6,"M21 9v2"],[6,"M3 14v1"]],move:[[2,"5 9 2 12 5 15"],[2,"9 5 12 2 15 5"],[2,"15 19 12 22 9 19"],[2,"19 9 22 12 19 15"],[0,2,12,22,12],[0,12,2,12,22]],"move-3d":[[6,"M5 3v16h16"],[6,"m5 19 6-6"],[6,"m2 6 3-3 3 3"],[6,"m18 16 3 3-3 3"]],"move-diagonal":[[2,"13 5 19 5 19 11"],[2,"11 19 5 19 5 13"],[0,19,5,5,19]],"move-diagonal-2":[[2,"5 11 5 5 11 5"],[2,"19 13 19 19 13 19"],[0,5,5,19,19]],"move-down":[[6,"M8 18L12 22L16 18"],[6,"M12 2V22"]],"move-down-left":[[6,"M11 19H5V13"],[6,"M19 5L5 19"]],"move-down-right":[[6,"M19 13V19H13"],[6,"M5 5L19 19"]],"move-horizontal":[[2,"18 8 22 12 18 16"],[2,"6 8 2 12 6 16"],[0,2,12,22,12]],"move-left":[[6,"M6 8L2 12L6 16"],[6,"M2 12H22"]],"move-right":[[6,"M18 8L22 12L18 16"],[6,"M2 12H22"]],"move-up":[[6,"M8 6L12 2L16 6"],[6,"M12 2V22"]],"move-up-left":[[6,"M5 11V5H11"],[6,"M5 5L19 19"]],"move-up-right":[[6,"M13 5H19V11"],[6,"M19 5L5 19"]],"move-vertical":[[2,"8 18 12 22 16 18"],[2,"8 6 12 2 16 6"],[0,12,2,12,22]],music:[[6,"M9 18V5l12-2v13"],[1,6,18,3],[1,18,16,3]],"music-2":[[1,8,18,4],[6,"M12 18V2l7 4"]],"music-3":[[1,12,18,4],[6,"M16 18V2"]],"music-4":[[6,"M9 18V5l12-2v13"],[6,"m9 9 12-2"],[1,6,18,3],[1,18,16,3]],navigation:[[3,"3 11 22 2 13 21 11 13 3 11"]],"navigation-2":[[3,"12 2 19 21 12 17 5 21 12 2"]],"navigation-2off":[[6,"M9.31 9.31 5 21l7-4 7 4-1.17-3.17"],[6,"M14.53 8.88 12 2l-1.17 3.17"],[0,2,2,22,22]],"navigation-off":[[6,"M8.43 8.43 3 11l8 2 2 8 2.57-5.43"],[6,"M17.39 11.73 22 2l-9.73 4.61"],[0,2,2,22,22]],network:[[5,16,16,6,6,1],[5,2,16,6,6,1],[5,9,2,6,6,1],[6,"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"],[6,"M12 12V8"]],newspaper:[[6,"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2"],[6,"M18 14h-8"],[6,"M15 18h-5"],[6,"M10 6h8v4h-8V6Z"]],nfc:[[6,"M6 8.32a7.43 7.43 0 0 1 0 7.36"],[6,"M9.46 6.21a11.76 11.76 0 0 1 0 11.58"],[6,"M12.91 4.1a15.91 15.91 0 0 1 .01 15.8"],[6,"M16.37 2a20.16 20.16 0 0 1 0 20"]],notebook:[[6,"M2 6h4"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[5,4,2,16,20,2],[6,"M16 2v20"]],"notebook-pen":[[6,"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4"],[6,"M2 6h4"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[6,"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"notebook-tabs":[[6,"M2 6h4"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[5,4,2,16,20,2],[6,"M15 2v20"],[6,"M15 7h5"],[6,"M15 12h5"],[6,"M15 17h5"]],"notebook-text":[[6,"M2 6h4"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[5,4,2,16,20,2],[6,"M9.5 8h5"],[6,"M9.5 12H16"],[6,"M9.5 16H14"]],"notepad-text":[[6,"M8 2v4"],[6,"M12 2v4"],[6,"M16 2v4"],[5,4,4,16,18,2],[6,"M8 10h6"],[6,"M8 14h8"],[6,"M8 18h5"]],"notepad-text-dashed":[[6,"M8 2v4"],[6,"M12 2v4"],[6,"M16 2v4"],[6,"M16 4h2a2 2 0 0 1 2 2v2"],[6,"M20 12v2"],[6,"M20 18v2a2 2 0 0 1-2 2h-1"],[6,"M13 22h-2"],[6,"M7 22H6a2 2 0 0 1-2-2v-2"],[6,"M4 14v-2"],[6,"M4 8V6a2 2 0 0 1 2-2h2"],[6,"M8 10h6"],[6,"M8 14h8"],[6,"M8 18h5"]],nut:[[6,"M12 4V2"],[6,"M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592A7.003 7.003 0 0 0 19 14v-4"],[6,"M12 4C8 4 4.5 6 4 8c-.243.97-.919 1.952-2 3 1.31-.082 1.972-.29 3-1 .54.92.982 1.356 2 2 1.452-.647 1.954-1.098 2.5-2 .595.995 1.151 1.427 2.5 2 1.31-.621 1.862-1.058 2.5-2 .629.977 1.162 1.423 2.5 2 1.209-.548 1.68-.967 2-2 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4Z"]],"nut-off":[[6,"M12 4V2"],[6,"M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592a7.01 7.01 0 0 0 4.125-2.939"],[6,"M19 10v3.343"],[6,"M12 12c-1.349-.573-1.905-1.005-2.5-2-.546.902-1.048 1.353-2.5 2-1.018-.644-1.46-1.08-2-2-1.028.71-1.69.918-3 1 1.081-1.048 1.757-2.03 2-3 .194-.776.84-1.551 1.79-2.21m11.654 5.997c.887-.457 1.28-.891 1.556-1.787 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4-.74 0-1.461.068-2.15.192"],[0,2,2,22,22]],octagon:[[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"]],"octagon-alert":[[6,"M12 16h.01"],[6,"M12 8v4"],[6,"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z"]],"octagon-minus":[[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"],[6,"M8 12h8"]],"octagon-pause":[[6,"M10 15V9"],[6,"M14 15V9"],[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"]],"octagon-x":[[6,"m15 9-6 6"],[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"],[6,"m9 9 6 6"]],omega:[[6,"M3 20h4.5a.5.5 0 0 0 .5-.5v-.282a.52.52 0 0 0-.247-.437 8 8 0 1 1 8.494-.001.52.52 0 0 0-.247.438v.282a.5.5 0 0 0 .5.5H21"]],option:[[6,"M3 3h6l6 18h6"],[6,"M14 3h7"]],orbit:[[1,12,12,3],[1,19,5,2],[1,5,19,2],[6,"M10.4 21.9a10 10 0 0 0 9.941-15.416"],[6,"M13.5 2.1a10 10 0 0 0-9.841 15.416"]],origami:[[6,"M12 12V4a1 1 0 0 1 1-1h6.297a1 1 0 0 1 .651 1.759l-4.696 4.025"],[6,"m12 21-7.414-7.414A2 2 0 0 1 4 12.172V6.415a1.002 1.002 0 0 1 1.707-.707L20 20.009"],[6,"m12.214 3.381 8.414 14.966a1 1 0 0 1-.167 1.199l-1.168 1.163a1 1 0 0 1-.706.291H6.351a1 1 0 0 1-.625-.219L3.25 18.8a1 1 0 0 1 .631-1.781l4.165.027"]],outdent:[[2,"7 8 3 12 7 16"],[0,21,12,11,12],[0,21,6,11,6],[0,21,18,11,18]],package:[[6,"m7.5 4.27 9 5.15"],[6,"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"],[6,"m3.3 7 8.7 5 8.7-5"],[6,"M12 22V12"]],"package-2":[[6,"M3 9h18v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9Z"],[6,"m3 9 2.45-4.9A2 2 0 0 1 7.24 3h9.52a2 2 0 0 1 1.8 1.1L21 9"],[6,"M12 3v6"]],"package-check":[[6,"m16 16 2 2 4-4"],[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12]],"package-minus":[[6,"M16 16h6"],[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12]],"package-open":[[6,"M12 22v-9"],[6,"M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z"],[6,"M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13"],[6,"M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z"]],"package-plus":[[6,"M16 16h6"],[6,"M19 13v6"],[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12]],"package-search":[[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12],[1,18.5,15.5,2.5],[6,"M20.27 17.27 22 19"]],"package-x":[[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12],[6,"m17 13 5 5m-5 0 5-5"]],"paint-bucket":[[6,"m19 11-8-8-8.6 8.6a2 2 0 0 0 0 2.8l5.2 5.2c.8.8 2 .8 2.8 0L19 11Z"],[6,"m5 2 5 5"],[6,"M2 13h15"],[6,"M22 20a2 2 0 1 1-4 0c0-1.6 1.7-2.4 2-4 .3 1.6 2 2.4 2 4Z"]],"paint-roller":[[5,2,2,16,6,2],[6,"M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"],[5,8,16,4,6,1]],paintbrush:[[6,"m14.622 17.897-10.68-2.913"],[6,"M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z"],[6,"M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15"]],"paintbrush-2":[[6,"M10 2v2"],[6,"M14 2v4"],[6,"M17 2a1 1 0 0 1 1 1v9H6V3a1 1 0 0 1 1-1z"],[6,"M6 12a1 1 0 0 0-1 1v1a2 2 0 0 0 2 2h2a1 1 0 0 1 1 1v2.9a2 2 0 1 0 4 0V17a1 1 0 0 1 1-1h2a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1"]],"paintbrush-vertical":[[6,"M10 2v2"],[6,"M14 2v4"],[6,"M17 2a1 1 0 0 1 1 1v9H6V3a1 1 0 0 1 1-1z"],[6,"M6 12a1 1 0 0 0-1 1v1a2 2 0 0 0 2 2h2a1 1 0 0 1 1 1v2.9a2 2 0 1 0 4 0V17a1 1 0 0 1 1-1h2a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1"]],palette:[[1,13.5,6.5,.5],[1,17.5,10.5,.5],[1,8.5,7.5,.5],[1,6.5,12.5,.5],[6,"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"]],palmtree:[[6,"M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4"],[6,"M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3"],[6,"M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35"],[6,"M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14"]],"panel-bottom":[[5,3,3,18,18,2],[6,"M3 15h18"]],"panel-bottom-close":[[5,3,3,18,18,2],[6,"M3 15h18"],[6,"m15 8-3 3-3-3"]],"panel-bottom-dashed":[[5,3,3,18,18,2],[6,"M14 15h1"],[6,"M19 15h2"],[6,"M3 15h2"],[6,"M9 15h1"]],"panel-bottom-inactive":[[5,3,3,18,18,2],[6,"M14 15h1"],[6,"M19 15h2"],[6,"M3 15h2"],[6,"M9 15h1"]],"panel-bottom-open":[[5,3,3,18,18,2],[6,"M3 15h18"],[6,"m9 10 3-3 3 3"]],"panel-left":[[5,3,3,18,18,2],[6,"M9 3v18"]],"panel-left-close":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"m16 15-3-3 3-3"]],"panel-left-dashed":[[5,3,3,18,18,2],[6,"M9 14v1"],[6,"M9 19v2"],[6,"M9 3v2"],[6,"M9 9v1"]],"panel-left-inactive":[[5,3,3,18,18,2],[6,"M9 14v1"],[6,"M9 19v2"],[6,"M9 3v2"],[6,"M9 9v1"]],"panel-left-open":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"m14 9 3 3-3 3"]],"panel-right":[[5,3,3,18,18,2],[6,"M15 3v18"]],"panel-right-close":[[5,3,3,18,18,2],[6,"M15 3v18"],[6,"m8 9 3 3-3 3"]],"panel-right-dashed":[[5,3,3,18,18,2],[6,"M15 14v1"],[6,"M15 19v2"],[6,"M15 3v2"],[6,"M15 9v1"]],"panel-right-inactive":[[5,3,3,18,18,2],[6,"M15 14v1"],[6,"M15 19v2"],[6,"M15 3v2"],[6,"M15 9v1"]],"panel-right-open":[[5,3,3,18,18,2],[6,"M15 3v18"],[6,"m10 15-3-3 3-3"]],"panel-top":[[5,3,3,18,18,2],[6,"M3 9h18"]],"panel-top-close":[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"m9 16 3-3 3 3"]],"panel-top-dashed":[[5,3,3,18,18,2],[6,"M14 9h1"],[6,"M19 9h2"],[6,"M3 9h2"],[6,"M9 9h1"]],"panel-top-inactive":[[5,3,3,18,18,2],[6,"M14 9h1"],[6,"M19 9h2"],[6,"M3 9h2"],[6,"M9 9h1"]],"panel-top-open":[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"m15 14-3 3-3-3"]],"panels-left-bottom":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"M9 15h12"]],"panels-left-right":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"M15 3v18"]],"panels-right-bottom":[[5,3,3,18,18,2],[6,"M3 15h12"],[6,"M15 3v18"]],"panels-top-bottom":[[5,3,3,18,18,2],[6,"M21 9H3"],[6,"M21 15H3"]],"panels-top-left":[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M9 21V9"]],paperclip:[[6,"m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48"]],parentheses:[[6,"M8 21s-4-3-4-9 4-9 4-9"],[6,"M16 3s4 3 4 9-4 9-4 9"]],"parking-circle":[[1,12,12,10],[6,"M9 17V7h4a3 3 0 0 1 0 6H9"]],"parking-circle-off":[[1,12,12,10],[6,"m5 5 14 14"],[6,"M13 13a3 3 0 1 0 0-6H9v2"],[6,"M9 17v-2.34"]],"parking-meter":[[6,"M9 9a3 3 0 1 1 6 0"],[6,"M12 12v3"],[6,"M11 15h2"],[6,"M19 9a7 7 0 1 0-13.6 2.3C6.4 14.4 8 19 8 19h8s1.6-4.6 2.6-7.7c.3-.8.4-1.5.4-2.3"],[6,"M12 19v3"]],"parking-square":[[5,3,3,18,18,2],[6,"M9 17V7h4a3 3 0 0 1 0 6H9"]],"parking-square-off":[[6,"M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41"],[6,"M3 8.7V19a2 2 0 0 0 2 2h10.3"],[6,"m2 2 20 20"],[6,"M13 13a3 3 0 1 0 0-6H9v2"],[6,"M9 17v-2.3"]],"party-popper":[[6,"M5.8 11.3 2 22l10.7-3.79"],[6,"M4 3h.01"],[6,"M22 8h.01"],[6,"M15 2h.01"],[6,"M22 20h.01"],[6,"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10"],[6,"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17"],[6,"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7"],[6,"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z"]],pause:[[5,14,4,4,16,1],[5,6,4,4,16,1]],"pause-circle":[[1,12,12,10],[0,10,15,10,9],[0,14,15,14,9]],"pause-octagon":[[6,"M10 15V9"],[6,"M14 15V9"],[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"]],"paw-print":[[1,11,4,2],[1,18,8,2],[1,20,16,2],[6,"M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z"]],"pc-case":[[5,5,2,14,20,2],[6,"M15 14h.01"],[6,"M9 6h6"],[6,"M9 10h6"]],pen:[[6,"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"]],"pen-box":[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"]],"pen-line":[[6,"M12 20h9"],[6,"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z"]],"pen-off":[[6,"m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982"],[6,"m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353"],[6,"m2 2 20 20"]],"pen-square":[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"]],"pen-tool":[[6,"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z"],[6,"m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18"],[6,"m2.3 2.3 7.286 7.286"],[1,11,11,2]],pencil:[[6,"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"],[6,"m15 5 4 4"]],"pencil-line":[[6,"M12 20h9"],[6,"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z"],[6,"m15 5 3 3"]],"pencil-off":[[6,"m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982"],[6,"m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353"],[6,"m15 5 4 4"],[6,"m2 2 20 20"]],"pencil-ruler":[[6,"M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13"],[6,"m8 6 2-2"],[6,"m18 16 2-2"],[6,"m17 11 4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17"],[6,"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"],[6,"m15 5 4 4"]],pentagon:[[6,"M10.83 2.38a2 2 0 0 1 2.34 0l8 5.74a2 2 0 0 1 .73 2.25l-3.04 9.26a2 2 0 0 1-1.9 1.37H7.04a2 2 0 0 1-1.9-1.37L2.1 10.37a2 2 0 0 1 .73-2.25z"]],percent:[[0,19,5,5,19],[1,6.5,6.5,2.5],[1,17.5,17.5,2.5]],"percent-circle":[[1,12,12,10],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"percent-diamond":[[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0Z"],[6,"M9.2 9.2h.01"],[6,"m14.5 9.5-5 5"],[6,"M14.7 14.8h.01"]],"percent-square":[[5,3,3,18,18,2],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"person-standing":[[1,12,5,1],[6,"m9 20 3-6 3 6"],[6,"m6 8 6 2 6-2"],[6,"M12 10v4"]],"philippine-peso":[[6,"M20 11H4"],[6,"M20 7H4"],[6,"M7 21V4a1 1 0 0 1 1-1h4a1 1 0 0 1 0 12H7"]],phone:[[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],"phone-call":[[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"],[6,"M14.05 2a9 9 0 0 1 8 7.94"],[6,"M14.05 6A5 5 0 0 1 18 10"]],"phone-forwarded":[[2,"18 2 22 6 18 10"],[0,14,6,22,6],[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],"phone-incoming":[[2,"16 2 16 8 22 8"],[0,22,2,16,8],[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],"phone-missed":[[0,22,2,16,8],[0,16,2,22,8],[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],"phone-off":[[6,"M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91"],[0,22,2,2,22]],"phone-outgoing":[[2,"22 8 22 2 16 2"],[0,16,8,22,2],[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],pi:[[0,9,4,9,20],[6,"M4 7c0-1.7 1.3-3 3-3h13"],[6,"M18 20c-1.7 0-3-1.3-3-3V4"]],"pi-square":[[5,3,3,18,18,2],[6,"M7 7h10"],[6,"M10 7v10"],[6,"M16 17a2 2 0 0 1-2-2V7"]],piano:[[6,"M18.5 8c-1.4 0-2.6-.8-3.2-2A6.87 6.87 0 0 0 2 9v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-8.5C22 9.6 20.4 8 18.5 8"],[6,"M2 14h20"],[6,"M6 14v4"],[6,"M10 14v4"],[6,"M14 14v4"],[6,"M18 14v4"]],pickaxe:[[6,"M14.531 12.469 6.619 20.38a1 1 0 1 1-3-3l7.912-7.912"],[6,"M15.686 4.314A12.5 12.5 0 0 0 5.461 2.958 1 1 0 0 0 5.58 4.71a22 22 0 0 1 6.318 3.393"],[6,"M17.7 3.7a1 1 0 0 0-1.4 0l-4.6 4.6a1 1 0 0 0 0 1.4l2.6 2.6a1 1 0 0 0 1.4 0l4.6-4.6a1 1 0 0 0 0-1.4z"],[6,"M19.686 8.314a12.501 12.501 0 0 1 1.356 10.225 1 1 0 0 1-1.751-.119 22 22 0 0 0-3.393-6.319"]],"picture-in-picture":[[6,"M8 4.5v5H3m-1-6 6 6m13 0v-3c0-1.16-.84-2-2-2h-7m-9 9v2c0 1.05.95 2 2 2h3"],[5,12,13.5,10,7,0,2]],"picture-in-picture-2":[[6,"M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4"],[5,12,13,10,7,2]],"pie-chart":[[6,"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z"],[6,"M21.21 15.89A10 10 0 1 1 8 2.83"]],"piggy-bank":[[6,"M19 5c-1.5 0-2.8 1.4-3 2-3.5-1.5-11-.3-11 5 0 1.8 0 3 2 4.5V20h4v-2h3v2h4v-4c1-.5 1.7-1 2-2h2v-4h-2c0-1-.5-1.5-1-2V5z"],[6,"M2 9v1c0 1.1.9 2 2 2h1"],[6,"M16 11h.01"]],pilcrow:[[6,"M13 4v16"],[6,"M17 4v16"],[6,"M19 4H9.5a4.5 4.5 0 0 0 0 9H13"]],"pilcrow-left":[[6,"M14 3v11"],[6,"M14 9h-3a3 3 0 0 1 0-6h9"],[6,"M18 3v11"],[6,"M22 18H2l4-4"],[6,"m6 22-4-4"]],"pilcrow-right":[[6,"M10 3v11"],[6,"M10 9H7a1 1 0 0 1 0-6h8"],[6,"M14 3v11"],[6,"m18 14 4 4H2"],[6,"m22 18-4 4"]],"pilcrow-square":[[5,3,3,18,18,2],[6,"M12 12H9.5a2.5 2.5 0 0 1 0-5H17"],[6,"M12 7v10"],[6,"M16 7v10"]],pill:[[6,"m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z"],[6,"m8.5 8.5 7 7"]],"pill-bottle":[[6,"M18 11h-4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h4"],[6,"M6 7v13a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7"],[5,4,2,16,5,1]],pin:[[6,"M12 17v5"],[6,"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"]],"pin-off":[[6,"M12 17v5"],[6,"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89"],[6,"m2 2 20 20"],[6,"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11"]],pipette:[[6,"m2 22 1-1h3l9-9"],[6,"M3 21v-3l9-9"],[6,"m15 6 3.4-3.4a2.1 2.1 0 1 1 3 3L18 9l.4.4a2.1 2.1 0 1 1-3 3l-3.8-3.8a2.1 2.1 0 1 1 3-3l.4.4Z"]],pizza:[[6,"M15 11h.01"],[6,"M11 15h.01"],[6,"M16 16h.01"],[6,"m2 16 20 6-6-20A20 20 0 0 0 2 16"],[6,"M5.71 17.11a17.04 17.04 0 0 1 11.4-11.4"]],plane:[[6,"M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z"]],"plane-landing":[[6,"M2 22h20"],[6,"M3.77 10.77 2 9l2-4.5 1.1.55c.55.28.9.84.9 1.45s.35 1.17.9 1.45L8 8.5l3-6 1.05.53a2 2 0 0 1 1.09 1.52l.72 5.4a2 2 0 0 0 1.09 1.52l4.4 2.2c.42.22.78.55 1.01.96l.6 1.03c.49.88-.06 1.98-1.06 2.1l-1.18.15c-.47.06-.95-.02-1.37-.24L4.29 11.15a2 2 0 0 1-.52-.38Z"]],"plane-takeoff":[[6,"M2 22h20"],[6,"M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z"]],play:[[3,"6 3 20 12 6 21 6 3"]],"play-circle":[[1,12,12,10],[3,"10 8 16 12 10 16 10 8"]],"play-square":[[5,3,3,18,18,2],[6,"m9 8 6 4-6 4Z"]],plug:[[6,"M12 22v-5"],[6,"M9 8V2"],[6,"M15 8V2"],[6,"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z"]],"plug-2":[[6,"M9 2v6"],[6,"M15 2v6"],[6,"M12 17v5"],[6,"M5 8h14"],[6,"M6 11V8h12v3a6 6 0 1 1-12 0Z"]],"plug-zap":[[6,"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z"],[6,"m2 22 3-3"],[6,"M7.5 13.5 10 11"],[6,"M10.5 16.5 13 14"],[6,"m18 3-4 4h6l-4 4"]],"plug-zap-2":[[6,"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z"],[6,"m2 22 3-3"],[6,"M7.5 13.5 10 11"],[6,"M10.5 16.5 13 14"],[6,"m18 3-4 4h6l-4 4"]],plus:[[6,"M5 12h14"],[6,"M12 5v14"]],"plus-circle":[[1,12,12,10],[6,"M8 12h8"],[6,"M12 8v8"]],"plus-square":[[5,3,3,18,18,2],[6,"M8 12h8"],[6,"M12 8v8"]],pocket:[[6,"M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z"],[2,"8 10 12 14 16 10"]],"pocket-knife":[[6,"M3 2v1c0 1 2 1 2 2S3 6 3 7s2 1 2 2-2 1-2 2 2 1 2 2"],[6,"M18 6h.01"],[6,"M6 18h.01"],[6,"M20.83 8.83a4 4 0 0 0-5.66-5.66l-12 12a4 4 0 1 0 5.66 5.66Z"],[6,"M18 11.66V22a4 4 0 0 0 4-4V6"]],podcast:[[6,"M16.85 18.58a9 9 0 1 0-9.7 0"],[6,"M8 14a5 5 0 1 1 8 0"],[1,12,11,1],[6,"M13 17a1 1 0 1 0-2 0l.5 4.5a.5.5 0 1 0 1 0Z"]],pointer:[[6,"M22 14a8 8 0 0 1-8 8"],[6,"M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2"],[6,"M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1"],[6,"M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10"],[6,"M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15"]],"pointer-off":[[6,"M10 4.5V4a2 2 0 0 0-2.41-1.957"],[6,"M13.9 8.4a2 2 0 0 0-1.26-1.295"],[6,"M21.7 16.2A8 8 0 0 0 22 14v-3a2 2 0 1 0-4 0v-1a2 2 0 0 0-3.63-1.158"],[6,"m7 15-1.8-1.8a2 2 0 0 0-2.79 2.86L6 19.7a7.74 7.74 0 0 0 6 2.3h2a8 8 0 0 0 5.657-2.343"],[6,"M6 6v8"],[6,"m2 2 20 20"]],popcorn:[[6,"M18 8a2 2 0 0 0 0-4 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0 0 4"],[6,"M10 22 9 8"],[6,"m14 22 1-14"],[6,"M20 8c.5 0 .9.4.8 1l-2.6 12c-.1.5-.7 1-1.2 1H7c-.6 0-1.1-.4-1.2-1L3.2 9c-.1-.6.3-1 .8-1Z"]],popsicle:[[6,"M18.6 14.4c.8-.8.8-2 0-2.8l-8.1-8.1a4.95 4.95 0 1 0-7.1 7.1l8.1 8.1c.9.7 2.1.7 2.9-.1Z"],[6,"m22 22-5.5-5.5"]],"pound-sterling":[[6,"M18 7c0-5.333-8-5.333-8 0"],[6,"M10 7v14"],[6,"M6 21h12"],[6,"M6 13h10"]],power:[[6,"M12 2v10"],[6,"M18.4 6.6a9 9 0 1 1-12.77.04"]],"power-circle":[[6,"M12 7v4"],[6,"M7.998 9.003a5 5 0 1 0 8-.005"],[1,12,12,10]],"power-off":[[6,"M18.36 6.64A9 9 0 0 1 20.77 15"],[6,"M6.16 6.16a9 9 0 1 0 12.68 12.68"],[6,"M12 2v4"],[6,"m2 2 20 20"]],"power-square":[[6,"M12 7v4"],[6,"M7.998 9.003a5 5 0 1 0 8-.005"],[5,3,3,18,18,2]],presentation:[[6,"M2 3h20"],[6,"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3"],[6,"m7 21 5-5 5 5"]],printer:[[6,"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"],[6,"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6"],[5,6,14,12,8,1]],"printer-check":[[6,"M13.5 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v.5"],[6,"m16 19 2 2 4-4"],[6,"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2"],[6,"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6"]],projector:[[6,"M5 7 3 5"],[6,"M9 6V3"],[6,"m13 7 2-2"],[1,9,13,3],[6,"M11.83 12H20a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.17"],[6,"M16 16h2"]],proportions:[[5,2,4,20,16,2],[6,"M12 9v11"],[6,"M2 9h13a2 2 0 0 1 2 2v9"]],puzzle:[[6,"M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 0 1-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 1 0-3.214 3.214c.446.166.855.497.925.968a.979.979 0 0 1-.276.837l-1.61 1.61a2.404 2.404 0 0 1-1.705.707 2.402 2.402 0 0 1-1.704-.706l-1.568-1.568a1.026 1.026 0 0 0-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 1 1-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 0 0-.289-.877l-1.568-1.568A2.402 2.402 0 0 1 1.998 12c0-.617.236-1.234.706-1.704L4.23 8.77c.24-.24.581-.353.917-.303.515.077.877.528 1.073 1.01a2.5 2.5 0 1 0 3.259-3.259c-.482-.196-.933-.558-1.01-1.073-.05-.336.062-.676.303-.917l1.525-1.525A2.402 2.402 0 0 1 12 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 1 1 3.237 3.237c-.464.18-.894.527-.967 1.02Z"]],pyramid:[[6,"M2.5 16.88a1 1 0 0 1-.32-1.43l9-13.02a1 1 0 0 1 1.64 0l9 13.01a1 1 0 0 1-.32 1.44l-8.51 4.86a2 2 0 0 1-1.98 0Z"],[6,"M12 2v20"]],"qr-code":[[5,3,3,5,5,1],[5,16,3,5,5,1],[5,3,16,5,5,1],[6,"M21 16h-3a2 2 0 0 0-2 2v3"],[6,"M21 21v.01"],[6,"M12 7v3a2 2 0 0 1-2 2H7"],[6,"M3 12h.01"],[6,"M12 3h.01"],[6,"M12 16v.01"],[6,"M16 12h1"],[6,"M21 12v.01"],[6,"M12 21v-1"]],quote:[[6,"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"],[6,"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"]],rabbit:[[6,"M13 16a3 3 0 0 1 2.24 5"],[6,"M18 12h.01"],[6,"M18 21h-8a4 4 0 0 1-4-4 7 7 0 0 1 7-7h.2L9.6 6.4a1 1 0 1 1 2.8-2.8L15.8 7h.2c3.3 0 6 2.7 6 6v1a2 2 0 0 1-2 2h-1a3 3 0 0 0-3 3"],[6,"M20 8.54V4a2 2 0 1 0-4 0v3"],[6,"M7.612 12.524a3 3 0 1 0-1.6 4.3"]],radar:[[6,"M19.07 4.93A10 10 0 0 0 6.99 3.34"],[6,"M4 6h.01"],[6,"M2.29 9.62A10 10 0 1 0 21.31 8.35"],[6,"M16.24 7.76A6 6 0 1 0 8.23 16.67"],[6,"M12 18h.01"],[6,"M17.99 11.66A6 6 0 0 1 15.77 16.67"],[1,12,12,2],[6,"m13.41 10.59 5.66-5.66"]],radiation:[[6,"M12 12h.01"],[6,"M7.5 4.2c-.3-.5-.9-.7-1.3-.4C3.9 5.5 2.3 8.1 2 11c-.1.5.4 1 1 1h5c0-1.5.8-2.8 2-3.4-1.1-1.9-2-3.5-2.5-4.4z"],[6,"M21 12c.6 0 1-.4 1-1-.3-2.9-1.8-5.5-4.1-7.1-.4-.3-1.1-.2-1.3.3-.6.9-1.5 2.5-2.6 4.3 1.2.7 2 2 2 3.5h5z"],[6,"M7.5 19.8c-.3.5-.1 1.1.4 1.3 2.6 1.2 5.6 1.2 8.2 0 .5-.2.7-.8.4-1.3-.5-.9-1.4-2.5-2.5-4.3-1.2.7-2.8.7-4 0-1.1 1.8-2 3.4-2.5 4.3z"]],radical:[[6,"M3 12h3.28a1 1 0 0 1 .948.684l2.298 7.934a.5.5 0 0 0 .96-.044L13.82 4.771A1 1 0 0 1 14.792 4H21"]],radio:[[6,"M4.9 19.1C1 15.2 1 8.8 4.9 4.9"],[6,"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5"],[1,12,12,2],[6,"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5"],[6,"M19.1 4.9C23 8.8 23 15.1 19.1 19"]],"radio-receiver":[[6,"M5 16v2"],[6,"M19 16v2"],[5,2,8,20,8,2],[6,"M18 12h.01"]],"radio-tower":[[6,"M4.9 16.1C1 12.2 1 5.8 4.9 1.9"],[6,"M7.8 4.7a6.14 6.14 0 0 0-.8 7.5"],[1,12,9,2],[6,"M16.2 4.8c2 2 2.26 5.11.8 7.47"],[6,"M19.1 1.9a9.96 9.96 0 0 1 0 14.1"],[6,"M9.5 18h5"],[6,"m8 22 4-11 4 11"]],radius:[[6,"M20.34 17.52a10 10 0 1 0-2.82 2.82"],[1,19,19,2],[6,"m13.41 13.41 4.18 4.18"],[1,12,12,2]],"rail-symbol":[[6,"M5 15h14"],[6,"M5 9h14"],[6,"m14 20-5-5 6-6-5-5"]],rainbow:[[6,"M22 17a10 10 0 0 0-20 0"],[6,"M6 17a6 6 0 0 1 12 0"],[6,"M10 17a2 2 0 0 1 4 0"]],rat:[[6,"M17 5c0-1.7-1.3-3-3-3s-3 1.3-3 3c0 .8.3 1.5.8 2H11c-3.9 0-7 3.1-7 7c0 2.2 1.8 4 4 4"],[6,"M16.8 3.9c.3-.3.6-.5 1-.7 1.5-.6 3.3.1 3.9 1.6.6 1.5-.1 3.3-1.6 3.9l1.6 2.8c.2.3.2.7.2 1-.2.8-.9 1.2-1.7 1.1 0 0-1.6-.3-2.7-.6H17c-1.7 0-3 1.3-3 3"],[6,"M13.2 18a3 3 0 0 0-2.2-5"],[6,"M13 22H4a2 2 0 0 1 0-4h12"],[6,"M16 9h.01"]],ratio:[[5,6,2,12,20,2],[5,2,6,20,12,2]],receipt:[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"],[6,"M12 17.5v-11"]],"receipt-cent":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M12 6.5v11"],[6,"M15 9.4a4 4 0 1 0 0 5.2"]],"receipt-euro":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M8 12h5"],[6,"M16 9.5a4 4 0 1 0 0 5.2"]],"receipt-indian-rupee":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M8 7h8"],[6,"M12 17.5 8 15h1a4 4 0 0 0 0-8"],[6,"M8 11h8"]],"receipt-japanese-yen":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"m12 10 3-3"],[6,"m9 7 3 3v7.5"],[6,"M9 11h6"],[6,"M9 15h6"]],"receipt-pound-sterling":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M8 13h5"],[6,"M10 17V9.5a2.5 2.5 0 0 1 5 0"],[6,"M8 17h7"]],"receipt-russian-ruble":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M8 15h5"],[6,"M8 11h5a2 2 0 1 0 0-4h-3v10"]],"receipt-swiss-franc":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M10 17V7h5"],[6,"M10 11h4"],[6,"M8 15h5"]],"receipt-text":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M14 8H8"],[6,"M16 12H8"],[6,"M13 16H8"]],"rectangle-ellipsis":[[5,2,6,20,12,2],[6,"M12 12h.01"],[6,"M17 12h.01"],[6,"M7 12h.01"]],"rectangle-horizontal":[[5,2,6,20,12,2]],"rectangle-vertical":[[5,6,2,12,20,2]],recycle:[[6,"M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5"],[6,"M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12"],[6,"m14 16-3 3 3 3"],[6,"M8.293 13.596 7.196 9.5 3.1 10.598"],[6,"m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843"],[6,"m13.378 9.633 4.096 1.098 1.097-4.096"]],redo:[[6,"M21 7v6h-6"],[6,"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7"]],"redo-2":[[6,"m15 14 5-5-5-5"],[6,"M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13"]],"redo-dot":[[1,12,17,1],[6,"M21 7v6h-6"],[6,"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7"]],"refresh-ccw":[[6,"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"],[6,"M3 3v5h5"],[6,"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"],[6,"M16 16h5v5"]],"refresh-ccw-dot":[[6,"M3 2v6h6"],[6,"M21 12A9 9 0 0 0 6 5.3L3 8"],[6,"M21 22v-6h-6"],[6,"M3 12a9 9 0 0 0 15 6.7l3-2.7"],[1,12,12,1]],"refresh-cw":[[6,"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"],[6,"M21 3v5h-5"],[6,"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"],[6,"M8 16H3v5"]],"refresh-cw-off":[[6,"M21 8L18.74 5.74A9.75 9.75 0 0 0 12 3C11 3 10.03 3.16 9.13 3.47"],[6,"M8 16H3v5"],[6,"M3 12C3 9.51 4 7.26 5.64 5.64"],[6,"m3 16 2.26 2.26A9.75 9.75 0 0 0 12 21c2.49 0 4.74-1 6.36-2.64"],[6,"M21 12c0 1-.16 1.97-.47 2.87"],[6,"M21 3v5h-5"],[6,"M22 22 2 2"]],refrigerator:[[6,"M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z"],[6,"M5 10h14"],[6,"M15 7v6"]],regex:[[6,"M17 3v10"],[6,"m12.67 5.5 8.66 5"],[6,"m12.67 10.5 8.66-5"],[6,"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z"]],"remove-formatting":[[6,"M4 7V4h16v3"],[6,"M5 20h6"],[6,"M13 4 8 20"],[6,"m15 15 5 5"],[6,"m20 15-5 5"]],repeat:[[6,"m17 2 4 4-4 4"],[6,"M3 11v-1a4 4 0 0 1 4-4h14"],[6,"m7 22-4-4 4-4"],[6,"M21 13v1a4 4 0 0 1-4 4H3"]],"repeat-1":[[6,"m17 2 4 4-4 4"],[6,"M3 11v-1a4 4 0 0 1 4-4h14"],[6,"m7 22-4-4 4-4"],[6,"M21 13v1a4 4 0 0 1-4 4H3"],[6,"M11 10h1v4"]],"repeat-2":[[6,"m2 9 3-3 3 3"],[6,"M13 18H7a2 2 0 0 1-2-2V6"],[6,"m22 15-3 3-3-3"],[6,"M11 6h6a2 2 0 0 1 2 2v10"]],replace:[[6,"M14 4a2 2 0 0 1 2-2"],[6,"M16 10a2 2 0 0 1-2-2"],[6,"M20 2a2 2 0 0 1 2 2"],[6,"M22 8a2 2 0 0 1-2 2"],[6,"m3 7 3 3 3-3"],[6,"M6 10V5a3 3 0 0 1 3-3h1"],[5,2,14,8,8,2]],"replace-all":[[6,"M14 14a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2"],[6,"M14 4a2 2 0 0 1 2-2"],[6,"M16 10a2 2 0 0 1-2-2"],[6,"M20 14a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2"],[6,"M20 2a2 2 0 0 1 2 2"],[6,"M22 8a2 2 0 0 1-2 2"],[6,"m3 7 3 3 3-3"],[6,"M6 10V5a 3 3 0 0 1 3-3h1"],[5,2,14,8,8,2]],reply:[[2,"9 17 4 12 9 7"],[6,"M20 18v-2a4 4 0 0 0-4-4H4"]],"reply-all":[[2,"7 17 2 12 7 7"],[2,"12 17 7 12 12 7"],[6,"M22 18v-2a4 4 0 0 0-4-4H7"]],rewind:[[3,"11 19 2 12 11 5 11 19"],[3,"22 19 13 12 22 5 22 19"]],ribbon:[[6,"M12 11.22C11 9.997 10 9 10 8a2 2 0 0 1 4 0c0 1-.998 2.002-2.01 3.22"],[6,"m12 18 2.57-3.5"],[6,"M6.243 9.016a7 7 0 0 1 11.507-.009"],[6,"M9.35 14.53 12 11.22"],[6,"M9.35 14.53C7.728 12.246 6 10.221 6 7a6 5 0 0 1 12 0c-.005 3.22-1.778 5.235-3.43 7.5l3.557 4.527a1 1 0 0 1-.203 1.43l-1.894 1.36a1 1 0 0 1-1.384-.215L12 18l-2.679 3.593a1 1 0 0 1-1.39.213l-1.865-1.353a1 1 0 0 1-.203-1.422z"]],rocket:[[6,"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"],[6,"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"],[6,"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"],[6,"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"]],"rocking-chair":[[2,"3.5 2 6.5 12.5 18 12.5"],[0,9.5,12.5,5.5,20],[0,15,12.5,18.5,20],[6,"M2.75 18a13 13 0 0 0 18.5 0"]],"roller-coaster":[[6,"M6 19V5"],[6,"M10 19V6.8"],[6,"M14 19v-7.8"],[6,"M18 5v4"],[6,"M18 19v-6"],[6,"M22 19V9"],[6,"M2 19V9a4 4 0 0 1 4-4c2 0 4 1.33 6 4s4 4 6 4a4 4 0 1 0-3-6.65"]],"rotate-3d":[[6,"M16.466 7.5C15.643 4.237 13.952 2 12 2 9.239 2 7 6.477 7 12s2.239 10 5 10c.342 0 .677-.069 1-.2"],[6,"m15.194 13.707 3.814 1.86-1.86 3.814"],[6,"M19 15.57c-1.804.885-4.274 1.43-7 1.43-5.523 0-10-2.239-10-5s4.477-5 10-5c4.838 0 8.873 1.718 9.8 4"]],"rotate-ccw":[[6,"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"],[6,"M3 3v5h5"]],"rotate-ccw-square":[[6,"M20 9V7a2 2 0 0 0-2-2h-6"],[6,"m15 2-3 3 3 3"],[6,"M20 13v5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2"]],"rotate-cw":[[6,"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"],[6,"M21 3v5h-5"]],"rotate-cw-square":[[6,"M12 5H6a2 2 0 0 0-2 2v3"],[6,"m9 8 3-3-3-3"],[6,"M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"]],route:[[1,6,19,3],[6,"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15"],[1,18,5,3]],"route-off":[[1,6,19,3],[6,"M9 19h8.5c.4 0 .9-.1 1.3-.2"],[6,"M5.2 5.2A3.5 3.53 0 0 0 6.5 12H12"],[6,"m2 2 20 20"],[6,"M21 15.3a3.5 3.5 0 0 0-3.3-3.3"],[6,"M15 5h-4.3"],[1,18,5,3]],router:[[5,2,14,20,8,2],[6,"M6.01 18H6"],[6,"M10.01 18H10"],[6,"M15 10v4"],[6,"M17.84 7.17a4 4 0 0 0-5.66 0"],[6,"M20.66 4.34a8 8 0 0 0-11.31 0"]],rows:[[5,3,3,18,18,2],[6,"M3 12h18"]],"rows-2":[[5,3,3,18,18,2],[6,"M3 12h18"]],"rows-3":[[5,3,3,18,18,2],[6,"M21 9H3"],[6,"M21 15H3"]],"rows-4":[[5,3,3,18,18,2],[6,"M21 7.5H3"],[6,"M21 12H3"],[6,"M21 16.5H3"]],rss:[[6,"M4 11a9 9 0 0 1 9 9"],[6,"M4 4a16 16 0 0 1 16 16"],[1,5,19,1]],ruler:[[6,"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z"],[6,"m14.5 12.5 2-2"],[6,"m11.5 9.5 2-2"],[6,"m8.5 6.5 2-2"],[6,"m17.5 15.5 2-2"]],"russian-ruble":[[6,"M6 11h8a4 4 0 0 0 0-8H9v18"],[6,"M6 15h8"]],sailboat:[[6,"M22 18H2a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4Z"],[6,"M21 14 10 2 3 14h18Z"],[6,"M10 2v16"]],salad:[[6,"M7 21h10"],[6,"M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z"],[6,"M11.38 12a2.4 2.4 0 0 1-.4-4.77 2.4 2.4 0 0 1 3.2-2.77 2.4 2.4 0 0 1 3.47-.63 2.4 2.4 0 0 1 3.37 3.37 2.4 2.4 0 0 1-1.1 3.7 2.51 2.51 0 0 1 .03 1.1"],[6,"m13 12 4-4"],[6,"M10.9 7.25A3.99 3.99 0 0 0 4 10c0 .73.2 1.41.54 2"]],sandwich:[[6,"M3 11v3a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-3"],[6,"M12 19H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3.83"],[6,"m3 11 7.77-6.04a2 2 0 0 1 2.46 0L21 11H3Z"],[6,"M12.97 19.77 7 15h12.5l-3.75 4.5a2 2 0 0 1-2.78.27Z"]],satellite:[[6,"M13 7 9 3 5 7l4 4"],[6,"m17 11 4 4-4 4-4-4"],[6,"m8 12 4 4 6-6-4-4Z"],[6,"m16 8 3-3"],[6,"M9 21a6 6 0 0 0-6-6"]],"satellite-dish":[[6,"M4 10a7.31 7.31 0 0 0 10 10Z"],[6,"m9 15 3-3"],[6,"M17 13a6 6 0 0 0-6-6"],[6,"M21 13A10 10 0 0 0 11 3"]],save:[[6,"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"],[6,"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"],[6,"M7 3v4a1 1 0 0 0 1 1h7"]],"save-all":[[6,"M10 2v3a1 1 0 0 0 1 1h5"],[6,"M18 18v-6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6"],[6,"M18 22H4a2 2 0 0 1-2-2V6"],[6,"M8 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9.172a2 2 0 0 1 1.414.586l2.828 2.828A2 2 0 0 1 22 6.828V16a2 2 0 0 1-2.01 2z"]],"save-off":[[6,"M13 13H8a1 1 0 0 0-1 1v7"],[6,"M14 8h1"],[6,"M17 21v-4"],[6,"m2 2 20 20"],[6,"M20.41 20.41A2 2 0 0 1 19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 .59-1.41"],[6,"M29.5 11.5s5 5 4 5"],[6,"M9 3h6.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V15"]],scale:[[6,"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z"],[6,"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z"],[6,"M7 21h10"],[6,"M12 3v18"],[6,"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2"]],"scale-3d":[[1,19,19,2],[1,5,5,2],[6,"M5 7v12h12"],[6,"m5 19 6-6"]],scaling:[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M14 15H9v-5"],[6,"M16 3h5v5"],[6,"M21 3 9 15"]],scan:[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"]],"scan-barcode":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[6,"M8 7v10"],[6,"M12 7v10"],[6,"M17 7v10"]],"scan-eye":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[1,12,12,1],[6,"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0"]],"scan-face":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[6,"M8 14s1.5 2 4 2 4-2 4-2"],[6,"M9 9h.01"],[6,"M15 9h.01"]],"scan-line":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[6,"M7 12h10"]],"scan-qr-code":[[6,"M17 12v4a1 1 0 0 1-1 1h-4"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M17 8V7"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M7 17h.01"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[5,7,7,5,5,1]],"scan-search":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[1,12,12,3],[6,"m16 16-1.9-1.9"]],"scan-text":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[6,"M7 8h8"],[6,"M7 12h10"],[6,"M7 16h6"]],"scatter-chart":[[1,7.5,7.5,.5],[1,18.5,5.5,.5],[1,11.5,11.5,.5],[1,7.5,16.5,.5],[1,17.5,14.5,.5],[6,"M3 3v16a2 2 0 0 0 2 2h16"]],school:[[6,"M14 22v-4a2 2 0 1 0-4 0v4"],[6,"m18 10 4 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-8l4-2"],[6,"M18 5v17"],[6,"m4 6 8-4 8 4"],[6,"M6 5v17"],[1,12,9,2]],"school-2":[[1,12,10,1],[6,"M22 20V8h-4l-6-4-6 4H2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2"],[6,"M6 17v.01"],[6,"M6 13v.01"],[6,"M18 17v.01"],[6,"M18 13v.01"],[6,"M14 22v-5a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5"]],scissors:[[1,6,6,3],[6,"M8.12 8.12 12 12"],[6,"M20 4 8.12 15.88"],[1,6,18,3],[6,"M14.8 14.8 20 20"]],"scissors-line-dashed":[[6,"M5.42 9.42 8 12"],[1,4,8,2],[6,"m14 6-8.58 8.58"],[1,4,16,2],[6,"M10.8 14.8 14 18"],[6,"M16 12h-2"],[6,"M22 12h-2"]],"scissors-square":[[5,2,2,20,20,2],[1,8,8,2],[6,"M9.414 9.414 12 12"],[6,"M14.8 14.8 18 18"],[1,8,16,2],[6,"m18 6-8.586 8.586"]],"scissors-square-dashed-bottom":[[6,"M4 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2"],[6,"M10 22H8"],[6,"M16 22h-2"],[1,8,8,2],[6,"M9.414 9.414 12 12"],[6,"M14.8 14.8 18 18"],[1,8,16,2],[6,"m18 6-8.586 8.586"]],"screen-share":[[6,"M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3"],[6,"M8 21h8"],[6,"M12 17v4"],[6,"m17 8 5-5"],[6,"M17 3h5v5"]],"screen-share-off":[[6,"M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3"],[6,"M8 21h8"],[6,"M12 17v4"],[6,"m22 3-5 5"],[6,"m17 3 5 5"]],scroll:[[6,"M19 17V5a2 2 0 0 0-2-2H4"],[6,"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"]],"scroll-text":[[6,"M15 12h-5"],[6,"M15 8h-5"],[6,"M19 17V5a2 2 0 0 0-2-2H4"],[6,"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"]],search:[[1,11,11,8],[6,"m21 21-4.3-4.3"]],"search-check":[[6,"m8 11 2 2 4-4"],[1,11,11,8],[6,"m21 21-4.3-4.3"]],"search-code":[[6,"m13 13.5 2-2.5-2-2.5"],[6,"m21 21-4.3-4.3"],[6,"M9 8.5 7 11l2 2.5"],[1,11,11,8]],"search-slash":[[6,"m13.5 8.5-5 5"],[1,11,11,8],[6,"m21 21-4.3-4.3"]],"search-x":[[6,"m13.5 8.5-5 5"],[6,"m8.5 8.5 5 5"],[1,11,11,8],[6,"m21 21-4.3-4.3"]],section:[[6,"M16 5a4 3 0 0 0-8 0c0 4 8 3 8 7a4 3 0 0 1-8 0"],[6,"M8 19a4 3 0 0 0 8 0c0-4-8-3-8-7a4 3 0 0 1 8 0"]],send:[[6,"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"],[6,"m21.854 2.147-10.94 10.939"]],"send-horizonal":[[6,"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z"],[6,"M6 12h16"]],"send-horizontal":[[6,"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z"],[6,"M6 12h16"]],"send-to-back":[[5,14,14,8,8,2],[5,2,2,8,8,2],[6,"M7 14v1a2 2 0 0 0 2 2h1"],[6,"M14 7h1a2 2 0 0 1 2 2v1"]],"separator-horizontal":[[0,3,12,21,12],[2,"8 8 12 4 16 8"],[2,"16 16 12 20 8 16"]],"separator-vertical":[[0,12,3,12,21],[2,"8 8 4 12 8 16"],[2,"16 16 20 12 16 8"]],server:[[5,2,2,20,8,2,2],[5,2,14,20,8,2,2],[0,6,6,6.01,6],[0,6,18,6.01,18]],"server-cog":[[1,12,12,3],[6,"M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5"],[6,"M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5"],[6,"M6 6h.01"],[6,"M6 18h.01"],[6,"m15.7 13.4-.9-.3"],[6,"m9.2 10.9-.9-.3"],[6,"m10.6 15.7.3-.9"],[6,"m13.6 15.7-.4-1"],[6,"m10.8 9.3-.4-1"],[6,"m8.3 13.6 1-.4"],[6,"m14.7 10.8 1-.4"],[6,"m13.4 8.3-.3.9"]],"server-crash":[[6,"M6 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2"],[6,"M6 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-2"],[6,"M6 6h.01"],[6,"M6 18h.01"],[6,"m13 6-4 6h6l-4 6"]],"server-off":[[6,"M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5"],[6,"M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z"],[6,"M22 17v-1a2 2 0 0 0-2-2h-1"],[6,"M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z"],[6,"M6 18h.01"],[6,"m2 2 20 20"]],settings:[[6,"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"],[1,12,12,3]],"settings-2":[[6,"M20 7h-9"],[6,"M14 17H5"],[1,17,17,3],[1,7,7,3]],shapes:[[6,"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z"],[5,3,14,7,7,1],[1,17.5,17.5,3.5]],share:[[6,"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"],[2,"16 6 12 2 8 6"],[0,12,2,12,15]],"share-2":[[1,18,5,3],[1,6,12,3],[1,18,19,3],[0,8.59,13.51,15.42,17.49],[0,15.41,6.51,8.59,10.49]],sheet:[[5,3,3,18,18,2,2],[0,3,9,21,9],[0,3,15,21,15],[0,9,9,9,21],[0,15,9,15,21]],shell:[[6,"M14 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44"]],shield:[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"]],"shield-alert":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M12 8v4"],[6,"M12 16h.01"]],"shield-ban":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"m4.243 5.21 14.39 12.472"]],"shield-check":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"m9 12 2 2 4-4"]],"shield-close":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"m14.5 9.5-5 5"],[6,"m9.5 9.5 5 5"]],"shield-ellipsis":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M8 12h.01"],[6,"M12 12h.01"],[6,"M16 12h.01"]],"shield-half":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M12 22V2"]],"shield-minus":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M9 12h6"]],"shield-off":[[6,"m2 2 20 20"],[6,"M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71"],[6,"M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264"]],"shield-plus":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M9 12h6"],[6,"M12 9v6"]],"shield-question":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3"],[6,"M12 17h.01"]],"shield-x":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"m14.5 9.5-5 5"],[6,"m9.5 9.5 5 5"]],ship:[[6,"M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1 .6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M19.38 20A11.6 11.6 0 0 0 21 14l-9-4-9 4c0 2.9.94 5.34 2.81 7.76"],[6,"M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6"],[6,"M12 10v4"],[6,"M12 2v3"]],"ship-wheel":[[1,12,12,8],[6,"M12 2v7.5"],[6,"m19 5-5.23 5.23"],[6,"M22 12h-7.5"],[6,"m19 19-5.23-5.23"],[6,"M12 14.5V22"],[6,"M10.23 13.77 5 19"],[6,"M9.5 12H2"],[6,"M10.23 10.23 5 5"],[1,12,12,2.5]],shirt:[[6,"M20.38 3.46 16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z"]],"shopping-bag":[[6,"M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z"],[6,"M3 6h18"],[6,"M16 10a4 4 0 0 1-8 0"]],"shopping-basket":[[6,"m15 11-1 9"],[6,"m19 11-4-7"],[6,"M2 11h20"],[6,"m3.5 11 1.6 7.4a2 2 0 0 0 2 1.6h9.8a2 2 0 0 0 2-1.6l1.7-7.4"],[6,"M4.5 15.5h15"],[6,"m5 11 4-7"],[6,"m9 11 1 9"]],"shopping-cart":[[1,8,21,1],[1,19,21,1],[6,"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"]],shovel:[[6,"M2 22v-5l5-5 5 5-5 5z"],[6,"M9.5 14.5 16 8"],[6,"m17 2 5 5-.5.5a3.53 3.53 0 0 1-5 0s0 0 0 0a3.53 3.53 0 0 1 0-5L17 2"]],"shower-head":[[6,"m4 4 2.5 2.5"],[6,"M13.5 6.5a4.95 4.95 0 0 0-7 7"],[6,"M15 5 5 15"],[6,"M14 17v.01"],[6,"M10 16v.01"],[6,"M13 13v.01"],[6,"M16 10v.01"],[6,"M11 20v.01"],[6,"M17 14v.01"],[6,"M20 11v.01"]],shrink:[[6,"m15 15 6 6m-6-6v4.8m0-4.8h4.8"],[6,"M9 19.8V15m0 0H4.2M9 15l-6 6"],[6,"M15 4.2V9m0 0h4.8M15 9l6-6"],[6,"M9 4.2V9m0 0H4.2M9 9 3 3"]],shrub:[[6,"M12 22v-7l-2-2"],[6,"M17 8v.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0Z"],[6,"m14 14-2 2"]],shuffle:[[6,"M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22"],[6,"m18 2 4 4-4 4"],[6,"M2 6h1.9c1.5 0 2.9.9 3.6 2.2"],[6,"M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8"],[6,"m18 14 4 4-4 4"]],sidebar:[[5,3,3,18,18,2],[6,"M9 3v18"]],"sidebar-close":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"m16 15-3-3 3-3"]],"sidebar-open":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"m14 9 3 3-3 3"]],sigma:[[6,"M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2"]],"sigma-square":[[5,3,3,18,18,2],[6,"M16 8.9V7H8l4 5-4 5h8v-1.9"]],signal:[[6,"M2 20h.01"],[6,"M7 20v-4"],[6,"M12 20v-8"],[6,"M17 20V8"],[6,"M22 4v16"]],"signal-high":[[6,"M2 20h.01"],[6,"M7 20v-4"],[6,"M12 20v-8"],[6,"M17 20V8"]],"signal-low":[[6,"M2 20h.01"],[6,"M7 20v-4"]],"signal-medium":[[6,"M2 20h.01"],[6,"M7 20v-4"],[6,"M12 20v-8"]],"signal-zero":[[6,"M2 20h.01"]],signature:[[6,"m21 17-2.156-1.868A.5.5 0 0 0 18 15.5v.5a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1c0-2.545-3.991-3.97-8.5-4a1 1 0 0 0 0 5c4.153 0 4.745-11.295 5.708-13.5a2.5 2.5 0 1 1 3.31 3.284"],[6,"M3 21h18"]],signpost:[[6,"M12 13v8"],[6,"M12 3v3"],[6,"M18 6a2 2 0 0 1 1.387.56l2.307 2.22a1 1 0 0 1 0 1.44l-2.307 2.22A2 2 0 0 1 18 13H6a2 2 0 0 1-1.387-.56l-2.306-2.22a1 1 0 0 1 0-1.44l2.306-2.22A2 2 0 0 1 6 6z"]],"signpost-big":[[6,"M10 9H4L2 7l2-2h6"],[6,"M14 5h6l2 2-2 2h-6"],[6,"M10 22V4a2 2 0 1 1 4 0v18"],[6,"M8 22h8"]],siren:[[6,"M7 18v-6a5 5 0 1 1 10 0v6"],[6,"M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z"],[6,"M21 12h1"],[6,"M18.5 4.5 18 5"],[6,"M2 12h1"],[6,"M12 2v1"],[6,"m4.929 4.929.707.707"],[6,"M12 12v6"]],"skip-back":[[3,"19 20 9 12 19 4 19 20"],[0,5,19,5,5]],"skip-forward":[[3,"5 4 15 12 5 20 5 4"],[0,19,5,19,19]],skull:[[6,"m12.5 17-.5-1-.5 1h1z"],[6,"M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z"],[1,15,12,1],[1,9,12,1]],slack:[[5,13,2,3,8,1.5],[6,"M19 8.5V10h1.5A1.5 1.5 0 1 0 19 8.5"],[5,8,14,3,8,1.5],[6,"M5 15.5V14H3.5A1.5 1.5 0 1 0 5 15.5"],[5,14,13,8,3,1.5],[6,"M15.5 19H14v1.5a1.5 1.5 0 1 0 1.5-1.5"],[5,2,8,8,3,1.5],[6,"M8.5 5H10V3.5A1.5 1.5 0 1 0 8.5 5"]],slash:[[6,"M22 2 2 22"]],"slash-square":[[5,3,3,18,18,2],[0,9,15,15,9]],slice:[[6,"m8 14-6 6h9v-3"],[6,"M18.37 3.63 8 14l3 3L21.37 6.63a2.12 2.12 0 1 0-3-3Z"]],sliders:[[0,4,21,4,14],[0,4,10,4,3],[0,12,21,12,12],[0,12,8,12,3],[0,20,21,20,16],[0,20,12,20,3],[0,2,14,6,14],[0,10,8,14,8],[0,18,16,22,16]],"sliders-horizontal":[[0,21,4,14,4],[0,10,4,3,4],[0,21,12,12,12],[0,8,12,3,12],[0,21,20,16,20],[0,12,20,3,20],[0,14,2,14,6],[0,8,10,8,14],[0,16,18,16,22]],"sliders-vertical":[[0,4,21,4,14],[0,4,10,4,3],[0,12,21,12,12],[0,12,8,12,3],[0,20,21,20,16],[0,20,12,20,3],[0,2,14,6,14],[0,10,8,14,8],[0,18,16,22,16]],smartphone:[[5,5,2,14,20,2,2],[6,"M12 18h.01"]],"smartphone-charging":[[5,5,2,14,20,2,2],[6,"M12.667 8 10 12h4l-2.667 4"]],"smartphone-nfc":[[5,2,6,7,12,1],[6,"M13 8.32a7.43 7.43 0 0 1 0 7.36"],[6,"M16.46 6.21a11.76 11.76 0 0 1 0 11.58"],[6,"M19.91 4.1a15.91 15.91 0 0 1 .01 15.8"]],smile:[[1,12,12,10],[6,"M8 14s1.5 2 4 2 4-2 4-2"],[0,9,9,9.01,9],[0,15,9,15.01,9]],"smile-plus":[[6,"M22 11v1a10 10 0 1 1-9-10"],[6,"M8 14s1.5 2 4 2 4-2 4-2"],[0,9,9,9.01,9],[0,15,9,15.01,9],[6,"M16 5h6"],[6,"M19 2v6"]],snail:[[6,"M2 13a6 6 0 1 0 12 0 4 4 0 1 0-8 0 2 2 0 0 0 4 0"],[1,10,13,8],[6,"M2 21h12c4.4 0 8-3.6 8-8V7a2 2 0 1 0-4 0v6"],[6,"M18 3 19.1 5.2"],[6,"M22 3 20.9 5.2"]],snowflake:[[0,2,12,22,12],[0,12,2,12,22],[6,"m20 16-4-4 4-4"],[6,"m4 8 4 4-4 4"],[6,"m16 4-4 4-4-4"],[6,"m8 20 4-4 4 4"]],sofa:[[6,"M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3"],[6,"M2 16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z"],[6,"M4 18v2"],[6,"M20 18v2"],[6,"M12 4v9"]],"sort-asc":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M11 12h4"],[6,"M11 16h7"],[6,"M11 20h10"]],"sort-desc":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M11 4h10"],[6,"M11 8h7"],[6,"M11 12h4"]],soup:[[6,"M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z"],[6,"M7 21h10"],[6,"M19.5 12 22 6"],[6,"M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62"],[6,"M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62"],[6,"M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62"]],space:[[6,"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1"]],spade:[[6,"M5 9c-1.5 1.5-3 3.2-3 5.5A5.5 5.5 0 0 0 7.5 20c1.8 0 3-.5 4.5-2 1.5 1.5 2.7 2 4.5 2a5.5 5.5 0 0 0 5.5-5.5c0-2.3-1.5-4-3-5.5l-7-7-7 7Z"],[6,"M12 18v4"]],sparkle:[[6,"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"]],sparkles:[[6,"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"],[6,"M20 3v4"],[6,"M22 5h-4"],[6,"M4 17v2"],[6,"M5 18H3"]],speaker:[[5,4,2,16,20,2],[6,"M12 6h.01"],[1,12,14,4],[6,"M12 14h.01"]],speech:[[6,"M8.8 20v-4.1l1.9.2a2.3 2.3 0 0 0 2.164-2.1V8.3A5.37 5.37 0 0 0 2 8.25c0 2.8.656 3.054 1 4.55a5.77 5.77 0 0 1 .029 2.758L2 20"],[6,"M19.8 17.8a7.5 7.5 0 0 0 .003-10.603"],[6,"M17 15a3.5 3.5 0 0 0-.025-4.975"]],"spell-check":[[6,"m6 16 6-12 6 12"],[6,"M8 12h8"],[6,"m16 20 2 2 4-4"]],"spell-check-2":[[6,"m6 16 6-12 6 12"],[6,"M8 12h8"],[6,"M4 21c1.1 0 1.1-1 2.3-1s1.1 1 2.3 1c1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1"]],spline:[[1,19,5,2],[1,5,19,2],[6,"M5 17A12 12 0 0 1 17 5"]],split:[[6,"M16 3h5v5"],[6,"M8 3H3v5"],[6,"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3"],[6,"m15 9 6-6"]],"split-square-horizontal":[[6,"M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3"],[6,"M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3"],[0,12,4,12,20]],"split-square-vertical":[[6,"M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3"],[6,"M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3"],[0,4,12,20,12]],"spray-can":[[6,"M3 3h.01"],[6,"M7 5h.01"],[6,"M11 7h.01"],[6,"M3 7h.01"],[6,"M7 9h.01"],[6,"M3 11h.01"],[5,15,5,4,4],[6,"m19 9 2 2v10c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V11l2-2"],[6,"m13 14 8-2"],[6,"m13 19 8-2"]],sprout:[[6,"M7 20h10"],[6,"M10 20c5.5-2.5.8-6.4 3-10"],[6,"M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z"],[6,"M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z"]],square:[[5,3,3,18,18,2]],"square-activity":[[5,3,3,18,18,2],[6,"M17 12h-2l-2 5-2-10-2 5H7"]],"square-arrow-down":[[5,3,3,18,18,2],[6,"M12 8v8"],[6,"m8 12 4 4 4-4"]],"square-arrow-down-left":[[5,3,3,18,18,2],[6,"m16 8-8 8"],[6,"M16 16H8V8"]],"square-arrow-down-right":[[5,3,3,18,18,2],[6,"m8 8 8 8"],[6,"M16 8v8H8"]],"square-arrow-left":[[5,3,3,18,18,2],[6,"m12 8-4 4 4 4"],[6,"M16 12H8"]],"square-arrow-out-down-left":[[6,"M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6"],[6,"m3 21 9-9"],[6,"M9 21H3v-6"]],"square-arrow-out-down-right":[[6,"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"],[6,"m21 21-9-9"],[6,"M21 15v6h-6"]],"square-arrow-out-up-left":[[6,"M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6"],[6,"m3 3 9 9"],[6,"M3 9V3h6"]],"square-arrow-out-up-right":[[6,"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6"],[6,"m21 3-9 9"],[6,"M15 3h6v6"]],"square-arrow-right":[[5,3,3,18,18,2],[6,"M8 12h8"],[6,"m12 16 4-4-4-4"]],"square-arrow-up":[[5,3,3,18,18,2],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"]],"square-arrow-up-left":[[5,3,3,18,18,2],[6,"M8 16V8h8"],[6,"M16 16 8 8"]],"square-arrow-up-right":[[5,3,3,18,18,2],[6,"M8 8h8v8"],[6,"m8 16 8-8"]],"square-asterisk":[[5,3,3,18,18,2],[6,"M12 8v8"],[6,"m8.5 14 7-4"],[6,"m8.5 10 7 4"]],"square-bottom-dashed-scissors":[[6,"M4 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2"],[6,"M10 22H8"],[6,"M16 22h-2"],[1,8,8,2],[6,"M9.414 9.414 12 12"],[6,"M14.8 14.8 18 18"],[1,8,16,2],[6,"m18 6-8.586 8.586"]],"square-chart-gantt":[[5,3,3,18,18,2],[6,"M9 8h7"],[6,"M8 12h6"],[6,"M11 16h5"]],"square-check":[[5,3,3,18,18,2],[6,"m9 12 2 2 4-4"]],"square-check-big":[[6,"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5"],[6,"m9 11 3 3L22 4"]],"square-chevron-down":[[5,3,3,18,18,2],[6,"m16 10-4 4-4-4"]],"square-chevron-left":[[5,3,3,18,18,2],[6,"m14 16-4-4 4-4"]],"square-chevron-right":[[5,3,3,18,18,2],[6,"m10 8 4 4-4 4"]],"square-chevron-up":[[5,3,3,18,18,2],[6,"m8 14 4-4 4 4"]],"square-code":[[6,"M10 9.5 8 12l2 2.5"],[6,"m14 9.5 2 2.5-2 2.5"],[5,3,3,18,18,2]],"square-dashed-bottom":[[6,"M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2"],[6,"M9 21h1"],[6,"M14 21h1"]],"square-dashed-bottom-code":[[6,"M10 9.5 8 12l2 2.5"],[6,"M14 21h1"],[6,"m14 9.5 2 2.5-2 2.5"],[6,"M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2"],[6,"M9 21h1"]],"square-dashed-kanban":[[6,"M8 7v7"],[6,"M12 7v4"],[6,"M16 7v9"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M9 3h1"],[6,"M14 3h1"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 9v1"],[6,"M21 14v1"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M14 21h1"],[6,"M9 21h1"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M3 14v1"],[6,"M3 9v1"]],"square-dashed-mouse-pointer":[[6,"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h2"],[6,"M14 3h1"],[6,"M3 9v1"],[6,"M21 9v2"],[6,"M3 14v1"]],"square-divide":[[5,3,3,18,18,2,2],[0,8,12,16,12],[0,12,16,12,16],[0,12,8,12,8]],"square-dot":[[5,3,3,18,18,2],[1,12,12,1]],"square-equal":[[5,3,3,18,18,2],[6,"M7 10h10"],[6,"M7 14h10"]],"square-function":[[5,3,3,18,18,2,2],[6,"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3"],[6,"M9 11.2h5.7"]],"square-gantt-chart":[[5,3,3,18,18,2],[6,"M9 8h7"],[6,"M8 12h6"],[6,"M11 16h5"]],"square-kanban":[[5,3,3,18,18,2],[6,"M8 7v7"],[6,"M12 7v4"],[6,"M16 7v9"]],"square-library":[[5,3,3,18,18,2],[6,"M7 7v10"],[6,"M11 7v10"],[6,"m15 7 2 10"]],"square-m":[[5,3,3,18,18,2],[6,"M8 16V8l4 4 4-4v8"]],"square-menu":[[5,3,3,18,18,2],[6,"M7 8h10"],[6,"M7 12h10"],[6,"M7 16h10"]],"square-minus":[[5,3,3,18,18,2],[6,"M8 12h8"]],"square-mouse-pointer":[[6,"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"],[6,"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"]],"square-parking":[[5,3,3,18,18,2],[6,"M9 17V7h4a3 3 0 0 1 0 6H9"]],"square-parking-off":[[6,"M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41"],[6,"M3 8.7V19a2 2 0 0 0 2 2h10.3"],[6,"m2 2 20 20"],[6,"M13 13a3 3 0 1 0 0-6H9v2"],[6,"M9 17v-2.3"]],"square-pen":[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"]],"square-percent":[[5,3,3,18,18,2],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"square-pi":[[5,3,3,18,18,2],[6,"M7 7h10"],[6,"M10 7v10"],[6,"M16 17a2 2 0 0 1-2-2V7"]],"square-pilcrow":[[5,3,3,18,18,2],[6,"M12 12H9.5a2.5 2.5 0 0 1 0-5H17"],[6,"M12 7v10"],[6,"M16 7v10"]],"square-play":[[5,3,3,18,18,2],[6,"m9 8 6 4-6 4Z"]],"square-plus":[[5,3,3,18,18,2],[6,"M8 12h8"],[6,"M12 8v8"]],"square-power":[[6,"M12 7v4"],[6,"M7.998 9.003a5 5 0 1 0 8-.005"],[5,3,3,18,18,2]],"square-radical":[[6,"M7 12h2l2 5 2-10h4"],[5,3,3,18,18,2]],"square-scissors":[[5,2,2,20,20,2],[1,8,8,2],[6,"M9.414 9.414 12 12"],[6,"M14.8 14.8 18 18"],[1,8,16,2],[6,"m18 6-8.586 8.586"]],"square-sigma":[[5,3,3,18,18,2],[6,"M16 8.9V7H8l4 5-4 5h8v-1.9"]],"square-slash":[[5,3,3,18,18,2],[0,9,15,15,9]],"square-split-horizontal":[[6,"M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3"],[6,"M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3"],[0,12,4,12,20]],"square-split-vertical":[[6,"M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3"],[6,"M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3"],[0,4,12,20,12]],"square-square":[[5,3,3,18,18,2],[5,8,8,8,8,1]],"square-stack":[[6,"M4 10c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2"],[6,"M10 16c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2"],[5,14,14,8,8,2]],"square-terminal":[[6,"m7 11 2-2-2-2"],[6,"M11 13h4"],[5,3,3,18,18,2,2]],"square-user":[[5,3,3,18,18,2],[1,12,10,3],[6,"M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2"]],"square-user-round":[[6,"M18 21a6 6 0 0 0-12 0"],[1,12,11,4],[5,3,3,18,18,2]],"square-x":[[5,3,3,18,18,2,2],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],squircle:[[6,"M12 3c7.2 0 9 1.8 9 9s-1.8 9-9 9-9-1.8-9-9 1.8-9 9-9"]],squirrel:[[6,"M15.236 22a3 3 0 0 0-2.2-5"],[6,"M16 20a3 3 0 0 1 3-3h1a2 2 0 0 0 2-2v-2a4 4 0 0 0-4-4V4"],[6,"M18 13h.01"],[6,"M18 6a4 4 0 0 0-4 4 7 7 0 0 0-7 7c0-5 4-5 4-10.5a4.5 4.5 0 1 0-9 0 2.5 2.5 0 0 0 5 0C7 10 3 11 3 17c0 2.8 2.2 5 5 5h10"]],stamp:[[6,"M5 22h14"],[6,"M19.27 13.73A2.5 2.5 0 0 0 17.5 13h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1.5c0-.66-.26-1.3-.73-1.77Z"],[6,"M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-3-3c-1.66 0-3 1-3 3s1 2 1 3.5V13"]],star:[[3,"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"]],"star-half":[[6,"M12 17.8 5.8 21 7 14.1 2 9.3l7-1L12 2"]],"star-off":[[6,"M8.34 8.34 2 9.27l5 4.87L5.82 21 12 17.77 18.18 21l-.59-3.43"],[6,"M18.42 12.76 22 9.27l-6.91-1L12 2l-1.44 2.91"],[0,2,2,22,22]],stars:[[6,"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"],[6,"M20 3v4"],[6,"M22 5h-4"],[6,"M4 17v2"],[6,"M5 18H3"]],"step-back":[[0,18,20,18,4],[3,"14,20 4,12 14,4"]],"step-forward":[[0,6,4,6,20],[3,"10,4 20,12 10,20"]],stethoscope:[[6,"M11 2v2"],[6,"M5 2v2"],[6,"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1"],[6,"M8 15a6 6 0 0 0 12 0v-3"],[1,20,10,2]],sticker:[[6,"M15.5 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V8.5L15.5 3Z"],[6,"M14 3v4a2 2 0 0 0 2 2h4"],[6,"M8 13h.01"],[6,"M16 13h.01"],[6,"M10 16s.8 1 2 1c1.3 0 2-1 2-1"]],"sticky-note":[[6,"M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8Z"],[6,"M15 3v4a2 2 0 0 0 2 2h4"]],"stop-circle":[[1,12,12,10],[5,9,9,6,6,1]],store:[[6,"m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7"],[6,"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"],[6,"M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4"],[6,"M2 7h20"],[6,"M22 7v3a2 2 0 0 1-2 2a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12a2 2 0 0 1-2-2V7"]],"stretch-horizontal":[[5,2,4,20,6,2],[5,2,14,20,6,2]],"stretch-vertical":[[5,4,2,6,20,2],[5,14,2,6,20,2]],strikethrough:[[6,"M16 4H9a3 3 0 0 0-2.83 4"],[6,"M14 12a4 4 0 0 1 0 8H6"],[0,4,12,20,12]],subscript:[[6,"m4 5 8 8"],[6,"m12 5-8 8"],[6,"M20 19h-4c0-1.5.44-2 1.5-2.5S20 15.33 20 14c0-.47-.17-.93-.48-1.29a2.11 2.11 0 0 0-2.62-.44c-.42.24-.74.62-.9 1.07"]],subtitles:[[5,3,5,18,14,2,2],[6,"M7 15h4M15 15h2M7 11h2M13 11h4"]],sun:[[1,12,12,4],[6,"M12 2v2"],[6,"M12 20v2"],[6,"m4.93 4.93 1.41 1.41"],[6,"m17.66 17.66 1.41 1.41"],[6,"M2 12h2"],[6,"M20 12h2"],[6,"m6.34 17.66-1.41 1.41"],[6,"m19.07 4.93-1.41 1.41"]],"sun-dim":[[1,12,12,4],[6,"M12 4h.01"],[6,"M20 12h.01"],[6,"M12 20h.01"],[6,"M4 12h.01"],[6,"M17.657 6.343h.01"],[6,"M17.657 17.657h.01"],[6,"M6.343 17.657h.01"],[6,"M6.343 6.343h.01"]],"sun-medium":[[1,12,12,4],[6,"M12 3v1"],[6,"M12 20v1"],[6,"M3 12h1"],[6,"M20 12h1"],[6,"m18.364 5.636-.707.707"],[6,"m6.343 17.657-.707.707"],[6,"m5.636 5.636.707.707"],[6,"m17.657 17.657.707.707"]],"sun-moon":[[6,"M12 8a2.83 2.83 0 0 0 4 4 4 4 0 1 1-4-4"],[6,"M12 2v2"],[6,"M12 20v2"],[6,"m4.9 4.9 1.4 1.4"],[6,"m17.7 17.7 1.4 1.4"],[6,"M2 12h2"],[6,"M20 12h2"],[6,"m6.3 17.7-1.4 1.4"],[6,"m19.1 4.9-1.4 1.4"]],"sun-snow":[[6,"M10 9a3 3 0 1 0 0 6"],[6,"M2 12h1"],[6,"M14 21V3"],[6,"M10 4V3"],[6,"M10 21v-1"],[6,"m3.64 18.36.7-.7"],[6,"m4.34 6.34-.7-.7"],[6,"M14 12h8"],[6,"m17 4-3 3"],[6,"m14 17 3 3"],[6,"m21 15-3-3 3-3"]],sunrise:[[6,"M12 2v8"],[6,"m4.93 10.93 1.41 1.41"],[6,"M2 18h2"],[6,"M20 18h2"],[6,"m19.07 10.93-1.41 1.41"],[6,"M22 22H2"],[6,"m8 6 4-4 4 4"],[6,"M16 18a4 4 0 0 0-8 0"]],sunset:[[6,"M12 10V2"],[6,"m4.93 10.93 1.41 1.41"],[6,"M2 18h2"],[6,"M20 18h2"],[6,"m19.07 10.93-1.41 1.41"],[6,"M22 22H2"],[6,"m16 6-4 4-4-4"],[6,"M16 18a4 4 0 0 0-8 0"]],superscript:[[6,"m4 19 8-8"],[6,"m12 19-8-8"],[6,"M20 12h-4c0-1.5.442-2 1.5-2.5S20 8.334 20 7.002c0-.472-.17-.93-.484-1.29a2.105 2.105 0 0 0-2.617-.436c-.42.239-.738.614-.899 1.06"]],"swatch-book":[[6,"M11 17a4 4 0 0 1-8 0V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2Z"],[6,"M16.7 13H19a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H7"],[6,"M 7 17h.01"],[6,"m11 8 2.3-2.3a2.4 2.4 0 0 1 3.404.004L18.6 7.6a2.4 2.4 0 0 1 .026 3.434L9.9 19.8"]],"swiss-franc":[[6,"M10 21V3h8"],[6,"M6 16h9"],[6,"M10 9.5h7"]],"switch-camera":[[6,"M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5"],[6,"M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5"],[1,12,12,3],[6,"m18 22-3-3 3-3"],[6,"m6 2 3 3-3 3"]],sword:[[2,"14.5 17.5 3 6 3 3 6 3 17.5 14.5"],[0,13,19,19,13],[0,16,16,20,20],[0,19,21,21,19]],swords:[[2,"14.5 17.5 3 6 3 3 6 3 17.5 14.5"],[0,13,19,19,13],[0,16,16,20,20],[0,19,21,21,19],[2,"14.5 6.5 18 3 21 3 21 6 17.5 9.5"],[0,5,14,9,18],[0,7,17,4,20],[0,3,19,5,21]],syringe:[[6,"m18 2 4 4"],[6,"m17 7 3-3"],[6,"M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5"],[6,"m9 11 4 4"],[6,"m5 19-3 3"],[6,"m14 4 6 6"]],table:[[6,"M12 3v18"],[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M3 15h18"]],"table-2":[[6,"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"]],"table-cells-merge":[[6,"M12 21v-6"],[6,"M12 9V3"],[6,"M3 15h18"],[6,"M3 9h18"],[5,3,3,18,18,2]],"table-cells-split":[[6,"M12 15V9"],[6,"M3 15h18"],[6,"M3 9h18"],[5,3,3,18,18,2]],"table-columns-split":[[6,"M14 14v2"],[6,"M14 20v2"],[6,"M14 2v2"],[6,"M14 8v2"],[6,"M2 15h8"],[6,"M2 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2"],[6,"M2 9h8"],[6,"M22 15h-4"],[6,"M22 3h-2a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2"],[6,"M22 9h-4"],[6,"M5 3v18"]],"table-of-contents":[[6,"M16 12H3"],[6,"M16 18H3"],[6,"M16 6H3"],[6,"M21 12h.01"],[6,"M21 18h.01"],[6,"M21 6h.01"]],"table-properties":[[6,"M15 3v18"],[5,3,3,18,18,2],[6,"M21 9H3"],[6,"M21 15H3"]],"table-rows-split":[[6,"M14 10h2"],[6,"M15 22v-8"],[6,"M15 2v4"],[6,"M2 10h2"],[6,"M20 10h2"],[6,"M3 19h18"],[6,"M3 22v-6a2 2 135 0 1 2-2h14a2 2 45 0 1 2 2v6"],[6,"M3 2v2a2 2 45 0 0 2 2h14a2 2 135 0 0 2-2V2"],[6,"M8 10h2"],[6,"M9 22v-8"],[6,"M9 2v4"]],tablet:[[5,4,2,16,20,2,2],[0,12,18,12.01,18]],"tablet-smartphone":[[5,3,8,10,14,2],[6,"M5 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2h-2.4"],[6,"M8 18h.01"]],tablets:[[1,7,7,5],[1,17,17,5],[6,"M12 17h10"],[6,"m3.46 10.54 7.08-7.08"]],tag:[[6,"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"],[1,7.5,7.5,.5]],tags:[[6,"m15 5 6.3 6.3a2.4 2.4 0 0 1 0 3.4L17 19"],[6,"M9.586 5.586A2 2 0 0 0 8.172 5H3a1 1 0 0 0-1 1v5.172a2 2 0 0 0 .586 1.414L8.29 18.29a2.426 2.426 0 0 0 3.42 0l3.58-3.58a2.426 2.426 0 0 0 0-3.42z"],[1,6.5,9.5,.5]],"tally-1":[[6,"M4 4v16"]],"tally-2":[[6,"M4 4v16"],[6,"M9 4v16"]],"tally-3":[[6,"M4 4v16"],[6,"M9 4v16"],[6,"M14 4v16"]],"tally-4":[[6,"M4 4v16"],[6,"M9 4v16"],[6,"M14 4v16"],[6,"M19 4v16"]],"tally-5":[[6,"M4 4v16"],[6,"M9 4v16"],[6,"M14 4v16"],[6,"M19 4v16"],[6,"M22 6 2 18"]],tangent:[[1,17,4,2],[6,"M15.59 5.41 5.41 15.59"],[1,4,17,2],[6,"M12 22s-4-9-1.5-11.5S22 12 22 12"]],target:[[1,12,12,10],[1,12,12,6],[1,12,12,2]],telescope:[[6,"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44"],[6,"m13.56 11.747 4.332-.924"],[6,"m16 21-3.105-6.21"],[6,"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z"],[6,"m6.158 8.633 1.114 4.456"],[6,"m8 21 3.105-6.21"],[1,12,13,2]],tent:[[6,"M3.5 21 14 3"],[6,"M20.5 21 10 3"],[6,"M15.5 21 12 15l-3.5 6"],[6,"M2 21h20"]],"tent-tree":[[1,4,4,2],[6,"m14 5 3-3 3 3"],[6,"m14 10 3-3 3 3"],[6,"M17 14V2"],[6,"M17 14H7l-5 8h20Z"],[6,"M8 14v8"],[6,"m9 14 5 8"]],terminal:[[2,"4 17 10 11 4 5"],[0,12,19,20,19]],"terminal-square":[[6,"m7 11 2-2-2-2"],[6,"M11 13h4"],[5,3,3,18,18,2,2]],"test-tube":[[6,"M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2"],[6,"M8.5 2h7"],[6,"M14.5 16h-5"]],"test-tube-2":[[6,"M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3"],[6,"m16 2 6 6"],[6,"M12 16H4"]],"test-tube-diagonal":[[6,"M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3"],[6,"m16 2 6 6"],[6,"M12 16H4"]],"test-tubes":[[6,"M9 2v17.5A2.5 2.5 0 0 1 6.5 22A2.5 2.5 0 0 1 4 19.5V2"],[6,"M20 2v17.5a2.5 2.5 0 0 1-2.5 2.5a2.5 2.5 0 0 1-2.5-2.5V2"],[6,"M3 2h7"],[6,"M14 2h7"],[6,"M9 16H4"],[6,"M20 16h-5"]],text:[[6,"M17 6.1H3"],[6,"M21 12.1H3"],[6,"M15.1 18H3"]],"text-cursor":[[6,"M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1"],[6,"M7 22h1a4 4 0 0 0 4-4v-1"],[6,"M7 2h1a4 4 0 0 1 4 4v1"]],"text-cursor-input":[[6,"M5 4h1a3 3 0 0 1 3 3 3 3 0 0 1 3-3h1"],[6,"M13 20h-1a3 3 0 0 1-3-3 3 3 0 0 1-3 3H5"],[6,"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1"],[6,"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7"],[6,"M9 7v10"]],"text-quote":[[6,"M17 6H3"],[6,"M21 12H8"],[6,"M21 18H8"],[6,"M3 12v6"]],"text-search":[[6,"M21 6H3"],[6,"M10 12H3"],[6,"M10 18H3"],[1,17,15,3],[6,"m21 19-1.9-1.9"]],"text-select":[[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h1"],[6,"M14 3h1"],[6,"M14 21h1"],[6,"M3 9v1"],[6,"M21 9v1"],[6,"M3 14v1"],[6,"M21 14v1"],[0,7,8,15,8],[0,7,12,17,12],[0,7,16,13,16]],"text-selection":[[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h1"],[6,"M14 3h1"],[6,"M14 21h1"],[6,"M3 9v1"],[6,"M21 9v1"],[6,"M3 14v1"],[6,"M21 14v1"],[0,7,8,15,8],[0,7,12,17,12],[0,7,16,13,16]],theater:[[6,"M2 10s3-3 3-8"],[6,"M22 10s-3-3-3-8"],[6,"M10 2c0 4.4-3.6 8-8 8"],[6,"M14 2c0 4.4 3.6 8 8 8"],[6,"M2 10s2 2 2 5"],[6,"M22 10s-2 2-2 5"],[6,"M8 15h8"],[6,"M2 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1"],[6,"M14 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1"]],thermometer:[[6,"M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z"]],"thermometer-snowflake":[[6,"M2 12h10"],[6,"M9 4v16"],[6,"m3 9 3 3-3 3"],[6,"M12 6 9 9 6 6"],[6,"m6 18 3-3 1.5 1.5"],[6,"M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z"]],"thermometer-sun":[[6,"M12 9a4 4 0 0 0-2 7.5"],[6,"M12 3v2"],[6,"m6.6 18.4-1.4 1.4"],[6,"M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z"],[6,"M4 13H2"],[6,"M6.34 7.34 4.93 5.93"]],"thumbs-down":[[6,"M17 14V2"],[6,"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z"]],"thumbs-up":[[6,"M7 10v12"],[6,"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z"]],ticket:[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M13 5v2"],[6,"M13 17v2"],[6,"M13 11v2"]],"ticket-check":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"m9 12 2 2 4-4"]],"ticket-minus":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M9 12h6"]],"ticket-percent":[[6,"M2 9a3 3 0 1 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 1 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M9 9h.01"],[6,"m15 9-6 6"],[6,"M15 15h.01"]],"ticket-plus":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M9 12h6"],[6,"M12 9v6"]],"ticket-slash":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"m9.5 14.5 5-5"]],"ticket-x":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"m9.5 14.5 5-5"],[6,"m9.5 9.5 5 5"]],tickets:[[6,"m4.5 8 10.58-5.06a1 1 0 0 1 1.342.488L18.5 8"],[6,"M6 10V8"],[6,"M6 14v1"],[6,"M6 19v2"],[5,2,8,20,13,2]],"tickets-plane":[[6,"M10.5 17h1.227a2 2 0 0 0 1.345-.52L18 12"],[6,"m12 13.5 3.75.5"],[6,"m4.5 8 10.58-5.06a1 1 0 0 1 1.342.488L18.5 8"],[6,"M6 10V8"],[6,"M6 14v1"],[6,"M6 19v2"],[5,2,8,20,13,2]],timer:[[0,10,2,14,2],[0,12,14,15,11],[1,12,14,8]],"timer-off":[[6,"M10 2h4"],[6,"M4.6 11a8 8 0 0 0 1.7 8.7 8 8 0 0 0 8.7 1.7"],[6,"M7.4 7.4a8 8 0 0 1 10.3 1 8 8 0 0 1 .9 10.2"],[6,"m2 2 20 20"],[6,"M12 12v-2"]],"timer-reset":[[6,"M10 2h4"],[6,"M12 14v-4"],[6,"M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6"],[6,"M9 17H4v5"]],"toggle-left":[[5,2,6,20,12,6,6],[1,8,12,2]],"toggle-right":[[5,2,6,20,12,6,6],[1,16,12,2]],tornado:[[6,"M21 4H3"],[6,"M18 8H6"],[6,"M19 12H9"],[6,"M16 16h-6"],[6,"M11 20H9"]],torus:[[4,12,11,3,2],[4,12,12.5,10,8.5]],touchpad:[[5,2,4,20,16,2],[6,"M2 14h20"],[6,"M12 20v-6"]],"touchpad-off":[[6,"M4 4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16"],[6,"M2 14h12"],[6,"M22 14h-2"],[6,"M12 20v-6"],[6,"m2 2 20 20"],[6,"M22 16V6a2 2 0 0 0-2-2H10"]],"tower-control":[[6,"M18.2 12.27 20 6H4l1.8 6.27a1 1 0 0 0 .95.73h10.5a1 1 0 0 0 .96-.73Z"],[6,"M8 13v9"],[6,"M16 22v-9"],[6,"m9 6 1 7"],[6,"m15 6-1 7"],[6,"M12 6V2"],[6,"M13 2h-2"]],"toy-brick":[[5,3,8,18,12,1],[6,"M10 8V5c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v3"],[6,"M19 8V5c0-.6-.4-1-1-1h-3a1 1 0 0 0-1 1v3"]],tractor:[[6,"m10 11 11 .9a1 1 0 0 1 .8 1.1l-.665 4.158a1 1 0 0 1-.988.842H20"],[6,"M16 18h-5"],[6,"M18 5a1 1 0 0 0-1 1v5.573"],[6,"M3 4h8.129a1 1 0 0 1 .99.863L13 11.246"],[6,"M4 11V4"],[6,"M7 15h.01"],[6,"M8 10.1V4"],[1,18,18,2],[1,7,15,5]],"traffic-cone":[[6,"M9.3 6.2a4.55 4.55 0 0 0 5.4 0"],[6,"M7.9 10.7c.9.8 2.4 1.3 4.1 1.3s3.2-.5 4.1-1.3"],[6,"M13.9 3.5a1.93 1.93 0 0 0-3.8-.1l-3 10c-.1.2-.1.4-.1.6 0 1.7 2.2 3 5 3s5-1.3 5-3c0-.2 0-.4-.1-.5Z"],[6,"m7.5 12.2-4.7 2.7c-.5.3-.8.7-.8 1.1s.3.8.8 1.1l7.6 4.5c.9.5 2.1.5 3 0l7.6-4.5c.7-.3 1-.7 1-1.1s-.3-.8-.8-1.1l-4.7-2.8"]],train:[[5,4,3,16,16,2],[6,"M4 11h16"],[6,"M12 3v8"],[6,"m8 19-2 3"],[6,"m18 22-2-3"],[6,"M8 15h.01"],[6,"M16 15h.01"]],"train-front":[[6,"M8 3.1V7a4 4 0 0 0 8 0V3.1"],[6,"m9 15-1-1"],[6,"m15 15 1-1"],[6,"M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z"],[6,"m8 19-2 3"],[6,"m16 19 2 3"]],"train-front-tunnel":[[6,"M2 22V12a10 10 0 1 1 20 0v10"],[6,"M15 6.8v1.4a3 2.8 0 1 1-6 0V6.8"],[6,"M10 15h.01"],[6,"M14 15h.01"],[6,"M10 19a4 4 0 0 1-4-4v-3a6 6 0 1 1 12 0v3a4 4 0 0 1-4 4Z"],[6,"m9 19-2 3"],[6,"m15 19 2 3"]],"train-track":[[6,"M2 17 17 2"],[6,"m2 14 8 8"],[6,"m5 11 8 8"],[6,"m8 8 8 8"],[6,"m11 5 8 8"],[6,"m14 2 8 8"],[6,"M7 22 22 7"]],"tram-front":[[5,4,3,16,16,2],[6,"M4 11h16"],[6,"M12 3v8"],[6,"m8 19-2 3"],[6,"m18 22-2-3"],[6,"M8 15h.01"],[6,"M16 15h.01"]],trash:[[6,"M3 6h18"],[6,"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"],[6,"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"]],"trash-2":[[6,"M3 6h18"],[6,"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"],[6,"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"],[0,10,11,10,17],[0,14,11,14,17]],"tree-deciduous":[[6,"M8 19a4 4 0 0 1-2.24-7.32A3.5 3.5 0 0 1 9 6.03V6a3 3 0 1 1 6 0v.04a3.5 3.5 0 0 1 3.24 5.65A4 4 0 0 1 16 19Z"],[6,"M12 19v3"]],"tree-palm":[[6,"M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4"],[6,"M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3"],[6,"M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35"],[6,"M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14"]],"tree-pine":[[6,"m17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z"],[6,"M12 22v-3"]],trees:[[6,"M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z"],[6,"M7 16v6"],[6,"M13 19v3"],[6,"M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5"]],trello:[[5,3,3,18,18,2,2],[5,7,7,3,9],[5,14,7,3,5]],"trending-down":[[2,"22 17 13.5 8.5 8.5 13.5 2 7"],[2,"16 17 22 17 22 11"]],"trending-up":[[2,"22 7 13.5 15.5 8.5 10.5 2 17"],[2,"16 7 22 7 22 13"]],"trending-up-down":[[6,"M14.828 14.828 21 21"],[6,"M21 16v5h-5"],[6,"m21 3-9 9-4-4-6 6"],[6,"M21 8V3h-5"]],triangle:[[6,"M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"]],"triangle-alert":[[6,"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"],[6,"M12 9v4"],[6,"M12 17h.01"]],"triangle-right":[[6,"M22 18a2 2 0 0 1-2 2H3c-1.1 0-1.3-.6-.4-1.3L20.4 4.3c.9-.7 1.6-.4 1.6.7Z"]],trophy:[[6,"M6 9H4.5a2.5 2.5 0 0 1 0-5H6"],[6,"M18 9h1.5a2.5 2.5 0 0 0 0-5H18"],[6,"M4 22h16"],[6,"M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22"],[6,"M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22"],[6,"M18 2H6v7a6 6 0 0 0 12 0V2Z"]],truck:[[6,"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2"],[6,"M15 18H9"],[6,"M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14"],[1,17,18,2],[1,7,18,2]],turtle:[[6,"m12 10 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a8 8 0 1 0-16 0v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3l2-4h4Z"],[6,"M4.82 7.9 8 10"],[6,"M15.18 7.9 12 10"],[6,"M16.93 10H20a2 2 0 0 1 0 4H2"]],tv:[[5,2,7,20,15,2,2],[2,"17 2 12 7 7 2"]],"tv-2":[[6,"M7 21h10"],[5,2,3,20,14,2]],"tv-minimal":[[6,"M7 21h10"],[5,2,3,20,14,2]],"tv-minimal-play":[[6,"M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z"],[6,"M7 21h10"],[5,2,3,20,14,2]],twitch:[[6,"M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7"]],twitter:[[6,"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"]],type:[[2,"4 7 4 4 20 4 20 7"],[0,9,20,15,20],[0,12,4,12,20]],"type-outline":[[6,"M14 16.5a.5.5 0 0 0 .5.5h.5a2 2 0 0 1 0 4H9a2 2 0 0 1 0-4h.5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V8a2 2 0 0 1-4 0V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v3a2 2 0 0 1-4 0v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Z"]],umbrella:[[6,"M22 12a10.06 10.06 1 0 0-20 0Z"],[6,"M12 12v8a2 2 0 0 0 4 0"],[6,"M12 2v1"]],"umbrella-off":[[6,"M12 2v1"],[6,"M15.5 21a1.85 1.85 0 0 1-3.5-1v-8H2a10 10 0 0 1 3.428-6.575"],[6,"M17.5 12H22A10 10 0 0 0 9.004 3.455"],[6,"m2 2 20 20"]],underline:[[6,"M6 4v6a6 6 0 0 0 12 0V4"],[0,4,20,20,20]],undo:[[6,"M3 7v6h6"],[6,"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"]],"undo-2":[[6,"M9 14 4 9l5-5"],[6,"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11"]],"undo-dot":[[1,12,17,1],[6,"M3 7v6h6"],[6,"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"]],"unfold-horizontal":[[6,"M16 12h6"],[6,"M8 12H2"],[6,"M12 2v2"],[6,"M12 8v2"],[6,"M12 14v2"],[6,"M12 20v2"],[6,"m19 15 3-3-3-3"],[6,"m5 9-3 3 3 3"]],"unfold-vertical":[[6,"M12 22v-6"],[6,"M12 8V2"],[6,"M4 12H2"],[6,"M10 12H8"],[6,"M16 12h-2"],[6,"M22 12h-2"],[6,"m15 19-3 3-3-3"],[6,"m15 5-3-3-3 3"]],ungroup:[[5,5,4,8,6,1],[5,11,14,8,6,1]],university:[[1,12,10,1],[6,"M22 20V8h-4l-6-4-6 4H2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2"],[6,"M6 17v.01"],[6,"M6 13v.01"],[6,"M18 17v.01"],[6,"M18 13v.01"],[6,"M14 22v-5a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5"]],unlink:[[6,"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"],[6,"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"],[0,8,2,8,5],[0,2,8,5,8],[0,16,19,16,22],[0,19,16,22,16]],"unlink-2":[[6,"M15 7h2a5 5 0 0 1 0 10h-2m-6 0H7A5 5 0 0 1 7 7h2"]],unlock:[[5,3,11,18,11,2,2],[6,"M7 11V7a5 5 0 0 1 9.9-1"]],"unlock-keyhole":[[1,12,16,1],[5,3,10,18,12,2],[6,"M7 10V7a5 5 0 0 1 9.33-2.5"]],unplug:[[6,"m19 5 3-3"],[6,"m2 22 3-3"],[6,"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z"],[6,"M7.5 13.5 10 11"],[6,"M10.5 16.5 13 14"],[6,"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z"]],upload:[[6,"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"],[2,"17 8 12 3 7 8"],[0,12,3,12,15]],"upload-cloud":[[6,"M12 13v8"],[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"m8 17 4-4 4 4"]],usb:[[1,10,7,1],[1,4,20,1],[6,"M4.7 19.3 19 5"],[6,"m21 3-3 1 2 2Z"],[6,"M9.26 7.68 5 12l2 5"],[6,"m10 14 5 2 3.5-3.5"],[6,"m18 12 1-1 1 1-1 1Z"]],user:[[6,"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"],[1,12,7,4]],"user-2":[[1,12,8,5],[6,"M20 21a8 8 0 0 0-16 0"]],"user-check":[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[2,"16 11 18 13 22 9"]],"user-check-2":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"m16 19 2 2 4-4"]],"user-circle":[[1,12,12,10],[1,12,10,3],[6,"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662"]],"user-circle-2":[[6,"M18 20a6 6 0 0 0-12 0"],[1,12,10,4],[1,12,12,10]],"user-cog":[[1,18,15,3],[1,9,7,4],[6,"M10 15H6a4 4 0 0 0-4 4v2"],[6,"m21.7 16.4-.9-.3"],[6,"m15.2 13.9-.9-.3"],[6,"m16.6 18.7.3-.9"],[6,"m19.1 12.2.3-.9"],[6,"m19.6 18.7-.4-1"],[6,"m16.8 12.3-.4-1"],[6,"m14.3 16.6 1-.4"],[6,"m20.7 13.8 1-.4"]],"user-cog-2":[[6,"M2 21a8 8 0 0 1 10.434-7.62"],[1,10,8,5],[1,18,18,3],[6,"m19.5 14.3-.4.9"],[6,"m16.9 20.8-.4.9"],[6,"m21.7 19.5-.9-.4"],[6,"m15.2 16.9-.9-.4"],[6,"m21.7 16.5-.9.4"],[6,"m15.2 19.1-.9.4"],[6,"m19.5 21.7-.4-.9"],[6,"m16.9 15.2-.4-.9"]],"user-minus":[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[0,22,11,16,11]],"user-minus-2":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"M22 19h-6"]],"user-pen":[[6,"M11.5 15H7a4 4 0 0 0-4 4v2"],[6,"M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"],[1,10,7,4]],"user-plus":[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[0,19,8,19,14],[0,22,11,16,11]],"user-plus-2":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"M19 16v6"],[6,"M22 19h-6"]],"user-round":[[1,12,8,5],[6,"M20 21a8 8 0 0 0-16 0"]],"user-round-check":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"m16 19 2 2 4-4"]],"user-round-cog":[[6,"M2 21a8 8 0 0 1 10.434-7.62"],[1,10,8,5],[1,18,18,3],[6,"m19.5 14.3-.4.9"],[6,"m16.9 20.8-.4.9"],[6,"m21.7 19.5-.9-.4"],[6,"m15.2 16.9-.9-.4"],[6,"m21.7 16.5-.9.4"],[6,"m15.2 19.1-.9.4"],[6,"m19.5 21.7-.4-.9"],[6,"m16.9 15.2-.4-.9"]],"user-round-minus":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"M22 19h-6"]],"user-round-pen":[[6,"M2 21a8 8 0 0 1 10.821-7.487"],[6,"M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"],[1,10,8,5]],"user-round-plus":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"M19 16v6"],[6,"M22 19h-6"]],"user-round-search":[[1,10,8,5],[6,"M2 21a8 8 0 0 1 10.434-7.62"],[1,18,18,3],[6,"m22 22-1.9-1.9"]],"user-round-x":[[6,"M2 21a8 8 0 0 1 11.873-7"],[1,10,8,5],[6,"m17 17 5 5"],[6,"m22 17-5 5"]],"user-search":[[1,10,7,4],[6,"M10.3 15H7a4 4 0 0 0-4 4v2"],[1,17,17,3],[6,"m21 21-1.9-1.9"]],"user-square":[[5,3,3,18,18,2],[1,12,10,3],[6,"M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2"]],"user-square-2":[[6,"M18 21a6 6 0 0 0-12 0"],[1,12,11,4],[5,3,3,18,18,2]],"user-x":[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[0,17,8,22,13],[0,22,8,17,13]],"user-x2":[[6,"M2 21a8 8 0 0 1 11.873-7"],[1,10,8,5],[6,"m17 17 5 5"],[6,"m22 17-5 5"]],users:[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[6,"M22 21v-2a4 4 0 0 0-3-3.87"],[6,"M16 3.13a4 4 0 0 1 0 7.75"]],"users-2":[[6,"M18 21a8 8 0 0 0-16 0"],[1,10,8,5],[6,"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3"]],"users-round":[[6,"M18 21a8 8 0 0 0-16 0"],[1,10,8,5],[6,"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3"]],utensils:[[6,"M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2"],[6,"M7 2v20"],[6,"M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7"]],"utensils-crossed":[[6,"m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8"],[6,"M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7"],[6,"m2.1 21.8 6.4-6.3"],[6,"m19 5-7 7"]],"utility-pole":[[6,"M12 2v20"],[6,"M2 5h20"],[6,"M3 3v2"],[6,"M7 3v2"],[6,"M17 3v2"],[6,"M21 3v2"],[6,"m19 5-7 7-7-7"]],variable:[[6,"M8 21s-4-3-4-9 4-9 4-9"],[6,"M16 3s4 3 4 9-4 9-4 9"],[0,15,9,9,15],[0,9,9,15,15]],vault:[[5,3,3,18,18,2],[1,7.5,7.5,.5],[6,"m7.9 7.9 2.7 2.7"],[1,16.5,7.5,.5],[6,"m13.4 10.6 2.7-2.7"],[1,7.5,16.5,.5],[6,"m7.9 16.1 2.7-2.7"],[1,16.5,16.5,.5],[6,"m13.4 13.4 2.7 2.7"],[1,12,12,2]],vegan:[[6,"M2 2a26.6 26.6 0 0 1 10 20c.9-6.82 1.5-9.5 4-14"],[6,"M16 8c4 0 6-2 6-6-4 0-6 2-6 6"],[6,"M17.41 3.6a10 10 0 1 0 3 3"]],"venetian-mask":[[6,"M2 12a5 5 0 0 0 5 5 8 8 0 0 1 5 2 8 8 0 0 1 5-2 5 5 0 0 0 5-5V7h-5a8 8 0 0 0-5 2 8 8 0 0 0-5-2H2Z"],[6,"M6 11c1.5 0 3 .5 3 2-2 0-3 0-3-2Z"],[6,"M18 11c-1.5 0-3 .5-3 2 2 0 3 0 3-2Z"]],verified:[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"m9 12 2 2 4-4"]],vibrate:[[6,"m2 8 2 2-2 2 2 2-2 2"],[6,"m22 8-2 2 2 2-2 2 2 2"],[5,8,5,8,14,1]],"vibrate-off":[[6,"m2 8 2 2-2 2 2 2-2 2"],[6,"m22 8-2 2 2 2-2 2 2 2"],[6,"M8 8v10c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2"],[6,"M16 10.34V6c0-.55-.45-1-1-1h-4.34"],[0,2,2,22,22]],video:[[6,"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"],[5,2,6,14,12,2]],"video-off":[[6,"M10.66 6H14a2 2 0 0 1 2 2v2.5l5.248-3.062A.5.5 0 0 1 22 7.87v8.196"],[6,"M16 16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2"],[6,"m2 2 20 20"]],videotape:[[5,2,4,20,16,2],[6,"M2 8h20"],[1,8,14,2],[6,"M8 12h8"],[1,16,14,2]],view:[[6,"M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2"],[6,"M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2"],[1,12,12,1],[6,"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0"]],voicemail:[[1,6,12,4],[1,18,12,4],[0,6,16,18,16]],volume:[[6,"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"]],"volume-1":[[6,"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"],[6,"M16 9a5 5 0 0 1 0 6"]],"volume-2":[[6,"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"],[6,"M16 9a5 5 0 0 1 0 6"],[6,"M19.364 18.364a9 9 0 0 0 0-12.728"]],"volume-off":[[6,"M16 9a5 5 0 0 1 .95 2.293"],[6,"M19.364 5.636a9 9 0 0 1 1.889 9.96"],[6,"m2 2 20 20"],[6,"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11"],[6,"M9.828 4.172A.686.686 0 0 1 11 4.657v.686"]],"volume-x":[[6,"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"],[0,22,9,16,15],[0,16,9,22,15]],vote:[[6,"m9 12 2 2 4-4"],[6,"M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z"],[6,"M22 19H2"]],wallet:[[6,"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1"],[6,"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4"]],"wallet-2":[[6,"M17 14h.01"],[6,"M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14"]],"wallet-cards":[[5,3,3,18,18,2],[6,"M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2"],[6,"M3 11h3c.8 0 1.6.3 2.1.9l1.1.9c1.6 1.6 4.1 1.6 5.7 0l1.1-.9c.5-.5 1.3-.9 2.1-.9H21"]],"wallet-minimal":[[6,"M17 14h.01"],[6,"M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14"]],wallpaper:[[1,8,9,2],[6,"m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2"],[6,"M8 21h8"],[6,"M12 17v4"]],wand:[[6,"M15 4V2"],[6,"M15 16v-2"],[6,"M8 9h2"],[6,"M20 9h2"],[6,"M17.8 11.8 19 13"],[6,"M15 9h.01"],[6,"M17.8 6.2 19 5"],[6,"m3 21 9-9"],[6,"M12.2 6.2 11 5"]],"wand-2":[[6,"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72"],[6,"m14 7 3 3"],[6,"M5 6v4"],[6,"M19 14v4"],[6,"M10 2v2"],[6,"M7 8H3"],[6,"M21 16h-4"],[6,"M11 3H9"]],"wand-sparkles":[[6,"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72"],[6,"m14 7 3 3"],[6,"M5 6v4"],[6,"M19 14v4"],[6,"M10 2v2"],[6,"M7 8H3"],[6,"M21 16h-4"],[6,"M11 3H9"]],warehouse:[[6,"M22 8.35V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8.35A2 2 0 0 1 3.26 6.5l8-3.2a2 2 0 0 1 1.48 0l8 3.2A2 2 0 0 1 22 8.35Z"],[6,"M6 18h12"],[6,"M6 14h12"],[5,6,10,12,12]],"washing-machine":[[6,"M3 6h3"],[6,"M17 6h.01"],[5,3,2,18,20,2],[1,12,13,5],[6,"M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5"]],watch:[[1,12,12,6],[2,"12 10 12 12 13 13"],[6,"m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05"],[6,"m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05"]],waves:[[6,"M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"]],waypoints:[[1,12,4.5,2.5],[6,"m10.2 6.3-3.9 3.9"],[1,4.5,12,2.5],[6,"M7 12h10"],[1,19.5,12,2.5],[6,"m13.8 17.7 3.9-3.9"],[1,12,19.5,2.5]],webcam:[[1,12,10,8],[1,12,10,3],[6,"M7 22h10"],[6,"M12 22v-4"]],webhook:[[6,"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2"],[6,"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06"],[6,"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8"]],"webhook-off":[[6,"M17 17h-5c-1.09-.02-1.94.92-2.5 1.9A3 3 0 1 1 2.57 15"],[6,"M9 3.4a4 4 0 0 1 6.52.66"],[6,"m6 17 3.1-5.8a2.5 2.5 0 0 0 .057-2.05"],[6,"M20.3 20.3a4 4 0 0 1-2.3.7"],[6,"M18.6 13a4 4 0 0 1 3.357 3.414"],[6,"m12 6 .6 1"],[6,"m2 2 20 20"]],weight:[[1,12,5,3],[6,"M6.5 8a2 2 0 0 0-1.905 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8Z"]],wheat:[[6,"M2 22 16 8"],[6,"M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z"],[6,"M7.47 8.53 9 7l1.53 1.53a3.5 3.5 0 0 1 0 4.94L9 15l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z"],[6,"M11.47 4.53 13 3l1.53 1.53a3.5 3.5 0 0 1 0 4.94L13 11l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z"],[6,"M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z"],[6,"M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z"],[6,"M15.47 13.47 17 15l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z"],[6,"M19.47 9.47 21 11l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L13 11l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z"]],"wheat-off":[[6,"m2 22 10-10"],[6,"m16 8-1.17 1.17"],[6,"M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z"],[6,"m8 8-.53.53a3.5 3.5 0 0 0 0 4.94L9 15l1.53-1.53c.55-.55.88-1.25.98-1.97"],[6,"M10.91 5.26c.15-.26.34-.51.56-.73L13 3l1.53 1.53a3.5 3.5 0 0 1 .28 4.62"],[6,"M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z"],[6,"M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z"],[6,"m16 16-.53.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.49 3.49 0 0 1 1.97-.98"],[6,"M18.74 13.09c.26-.15.51-.34.73-.56L21 11l-1.53-1.53a3.5 3.5 0 0 0-4.62-.28"],[0,2,2,22,22]],"whole-word":[[1,7,12,3],[6,"M10 9v6"],[1,17,12,3],[6,"M14 7v8"],[6,"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1"]],wifi:[[6,"M12 20h.01"],[6,"M2 8.82a15 15 0 0 1 20 0"],[6,"M5 12.859a10 10 0 0 1 14 0"],[6,"M8.5 16.429a5 5 0 0 1 7 0"]],"wifi-high":[[6,"M12 20h.01"],[6,"M5 12.859a10 10 0 0 1 14 0"],[6,"M8.5 16.429a5 5 0 0 1 7 0"]],"wifi-low":[[6,"M12 20h.01"],[6,"M8.5 16.429a5 5 0 0 1 7 0"]],"wifi-off":[[6,"M12 20h.01"],[6,"M8.5 16.429a5 5 0 0 1 7 0"],[6,"M5 12.859a10 10 0 0 1 5.17-2.69"],[6,"M19 12.859a10 10 0 0 0-2.007-1.523"],[6,"M2 8.82a15 15 0 0 1 4.177-2.643"],[6,"M22 8.82a15 15 0 0 0-11.288-3.764"],[6,"m2 2 20 20"]],"wifi-zero":[[6,"M12 20h.01"]],wind:[[6,"M17.7 7.7a2.5 2.5 0 1 1 1.8 4.3H2"],[6,"M9.6 4.6A2 2 0 1 1 11 8H2"],[6,"M12.6 19.4A2 2 0 1 0 14 16H2"]],wine:[[6,"M8 22h8"],[6,"M7 10h10"],[6,"M12 15v7"],[6,"M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z"]],"wine-off":[[6,"M8 22h8"],[6,"M7 10h3m7 0h-1.343"],[6,"M12 15v7"],[6,"M7.307 7.307A12.33 12.33 0 0 0 7 10a5 5 0 0 0 7.391 4.391M8.638 2.981C8.75 2.668 8.872 2.34 9 2h6c1.5 4 2 6 2 8 0 .407-.05.809-.145 1.198"],[0,2,2,22,22]],workflow:[[5,3,3,8,8,2],[6,"M7 11v4a2 2 0 0 0 2 2h4"],[5,13,13,8,8,2]],worm:[[6,"m19 12-1.5 3"],[6,"M19.63 18.81 22 20"],[6,"M6.47 8.23a1.68 1.68 0 0 1 2.44 1.93l-.64 2.08a6.76 6.76 0 0 0 10.16 7.67l.42-.27a1 1 0 1 0-2.73-4.21l-.42.27a1.76 1.76 0 0 1-2.63-1.99l.64-2.08A6.66 6.66 0 0 0 3.94 3.9l-.7.4a1 1 0 1 0 2.55 4.34z"]],"wrap-text":[[0,3,6,21,6],[6,"M3 12h15a3 3 0 1 1 0 6h-4"],[2,"16 16 14 18 16 20"],[0,3,18,10,18]],wrench:[[6,"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"]],x:[[6,"M18 6 6 18"],[6,"m6 6 12 12"]],"x-circle":[[1,12,12,10],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],"x-octagon":[[6,"m15 9-6 6"],[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"],[6,"m9 9 6 6"]],"x-square":[[5,3,3,18,18,2,2],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],youtube:[[6,"M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17"],[6,"m10 15 5-3-5-3z"]],zap:[[6,"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"]],"zap-off":[[6,"M10.513 4.856 13.12 2.17a.5.5 0 0 1 .86.46l-1.377 4.317"],[6,"M15.656 10H20a1 1 0 0 1 .78 1.63l-1.72 1.773"],[6,"M16.273 16.273 10.88 21.83a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14H4a1 1 0 0 1-.78-1.63l4.507-4.643"],[6,"m2 2 20 20"]],"zoom-in":[[1,11,11,8],[0,21,21,16.65,16.65],[0,11,8,11,14],[0,8,11,14,11]],"zoom-out":[[1,11,11,8],[0,21,21,16.65,16.65],[0,8,11,14,11]]};var Rm={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};function Bm(e,t){var n=document.createElementNS("http://www.w3.org/2000/svg",e);return Object.keys(t).forEach((function(e){n.setAttribute(e,t[e])})),n}function Vm(e){var t=e[0];if(0===t)return Bm("line",{x1:e[1],y1:e[2],x2:e[3],y2:e[4]});if(1===t)return Bm("circle",{cx:e[1],cy:e[2],r:e[3]});if(2===t)return Bm("polyline",{points:e[1]});if(3===t)return Bm("polygon",{points:e[1]});if(4===t)return Bm("ellipse",{cx:e[1],cy:e[2],rx:e[3],ry:e[4]});if(5===t){var n={x:e[1],y:e[2],width:e[3],height:e[4]};return e[5]&&(n.rx=e[5]),e[6]&&(n.ry=e[6]),e[7]&&(n.transform=e[7]),Bm("rect",n)}return 6===t?Bm("path",{d:e[1]}):void 0}function Hm(e){for(var t=Bm("svg",Rm),n=0,i=e;n',"bracket-glyph":'',"box-glyph":'',"check-small":'',"dice-glyph":'',dice:'',discord:'',"right-triangle":'',"heading-glyph":'',help:'',"keyboard-toggle":'',"broken-link":'',experiment:'',"left-arrow":'',link:'',"link-glyph":'',"links-coming-in":'',"links-going-out":'',"open-vault":'',paused:'',"question-mark-glyph":'',"right-arrow":'',"sidebar-left":'',"sidebar-right":'',"sheets-in-box":'',"star-list":'',"sync-small":'',tabs:'',"uppercase-lowercase-a":'',vault:'',"stack-horizontal":'',"stack-vertical":'',"stretch-horizontal":'',"stretch-vertical":'',"distribute-space-horizontal":'',"distribute-space-vertical":'',"zoom-to-selection":'',"create-group":'',"snap-to-object":'',"line-horizontal":'',"aspect-ratio":'',"rectangle-vertical-double":'',"tab-frame":'',"sidebar-toggle-button-icon":''},Wm={},jm={viewBox:"0 0 100 100"},Um={};function _m(e,t){if(!Um.hasOwnProperty(e)){var n=t();if(!n)return null;n.classList.add("svg-icon",e),Um[e]=n}return Um[e].cloneNode(!0)}function Gm(e){return e.startsWith("lucide-")?_m(e,(function(){var t=e.substring(7);return Nm.hasOwnProperty(t)?Hm(Nm[t]):null})):Wm.hasOwnProperty(e)?_m(e,(function(){var t=Bm("svg",jm);return t.innerHTML=Wm[e],t})):qm.hasOwnProperty(e)?_m(e,(function(){var t=Bm("svg",Rm);return t.innerHTML=qm[e],t})):(zm.hasOwnProperty(e)&&(e=zm[e]),Nm.hasOwnProperty(e)?_m("lucide-"+e,(function(){return Hm(Nm[e])})):null)}function Km(e,t){var n=e.firstChild;if(!(n&&n.instanceOf(SVGSVGElement)&&n.classList.contains(t))){n&&e.removeChild(n);var i=Gm(t);i&&e.appendChild(i)}}function Ym(e,t){delete Um[e],Wm[e]=t}function Zm(e){delete Um[e],delete Wm[e]}function Xm(){return[].concat(Object.keys(Nm).map((function(e){return"lucide-"+e}))).concat(Object.keys(Wm)).concat(Object.keys(qm))}var Qm=8,$m=5,Jm=1e3,ev=100,tv=null,nv=null;function iv(e){e||(e=document);var t=e.body;t.on("mouseover","[aria-label]",sv),t.on("mouseout","[aria-label]",lv),t.addEventListener("mouseup",dv)}var rv=null;function ov(){rv&&(clearTimeout(rv),rv=null)}function av(e){return"true"===getComputedStyle(e).getPropertyValue("--no-tooltip").trim()}function sv(e,t){Lc(e,t)&&(qc(e)||av(t)||uv(t))}function lv(e,t){if(Lc(e,t)&&!qc(e)){dv();var n=e.relatedTarget;if(n&&n.matchParent){var i=n.matchParent("[aria-label]");if(i&&i.instanceOf(HTMLElement)){if(av(i))return;uv(i)}}}}var cv=new WeakMap;function uv(e){ov();var t=e.getAttribute("aria-label")||"";cv.has(e)&&(t=cv.get(e)(e));var n="bottom";e.hasAttribute("data-tooltip-position")&&(n=e.getAttribute("data-tooltip-position"));var i=[];e.hasAttribute("data-tooltip-classes")&&(i=(e.getAttribute("data-tooltip-classes")||"").split(" "));var r=Jm;e.hasAttribute("data-tooltip-delay")&&(r=parseInt(e.getAttribute("data-tooltip-delay")||""),isNaN(r)&&(r=Jm)),pv(e,t,{placement:n,classes:i,delay:r})}var hv=0;function pv(e,t,n){if(t){var i=(n=n||{}).placement,r=void 0===i?"bottom":i,o=n.classes,a=void 0===o?[]:o,s=n.gap,l=void 0===s?Qm:s,c=n.horizontalParent,u=n.delay,h=void 0===u?0:u;if(h>0&&(tv||Date.now()>hv+ev))return ov(),n.delay=0,void(rv=window.setTimeout((function(){return pv(e,t,n)}),h));if(e.isShown()){var p=e.doc,d=e.getBoundingClientRect(),f=d.top,m=d.left,v=d.width,g=d.height;if(c){var y=c.getBoundingClientRect();m=y.left,v=y.width}tv&&nv===e?tv.setText(t):(dv(),tv=createDiv({cls:"tooltip",text:t}));var b=tv.createDiv("tooltip-arrow"),w=0,k=0;"bottom"===r?(w=f+g+l,k=m+v/2):"right"===r?(w=f+g/2,k=m+v+l,a.push("mod-right")):"left"===r?(w=f+g/2,k=m-l,a.push("mod-left")):"top"===r&&(w=f-l-$m,k=m+v/2,a.push("mod-top")),tv.addClasses(a),tv.style.top="0px",tv.style.left="0px",tv.style.width="",tv.style.height="",tv.parentNode||p.body.appendChild(tv);var C=tv.getBoundingClientRect(),E=["bottom","top"].contains(r)?C.width/2:C.width,S="right"===r||"left"===r?C.height/2:C.height;"left"===r?k-=E:"top"===r&&(w-=S);var M=p.body.clientHeight,x=p.body.clientWidth;if(w+S>M&&(w=M-S-l),w=Math.max(w,l),"top"===r||"bottom"===r){if(k+E>x)k-=T=k+E+l-x,b.style.left="initial",b.style.right=E-T-l/2+"px";else if(k-l-E<0){var T;k+=T=-(k-l-E),b.style.right="initial",b.style.left=E-T-l/2+"px"}k=Math.max(k,l)}tv.style.top=w+"px",tv.style.left=k+"px",tv.style.width=C.width+"px",tv.style.height=C.height+"px",nv=e}}}function dv(){ov(),tv&&(hv=Date.now(),tv.detach(),tv=null,nv=null)}function fv(e,t){var n=t||{},i=n.placement,r=n.classes,o=n.delay;i&&"bottom"!==i&&e.setAttribute("data-tooltip-position",i),r&&e.setAttribute("data-tooltip-classes",r.join(" ")),o&&e.setAttribute("data-tooltip-delay",String(o))}function mv(e,t,n){e.setAttribute("aria-label",t),fv(e,n),nv===e&&pv(e,t,n)}function vv(e,t,n){e.setAttribute("aria-label",""),cv.set(e,t),fv(e,n),nv===e&&pv(e,t(e),n)}var gv=/(?:([\u200F\p{sc=Arabic}\p{sc=Hebrew}\p{sc=Syriac}\p{sc=Thaana}])|([\u200E\p{sc=Armenian}\p{sc=Bengali}\p{sc=Bopomofo}\p{sc=Braille}\p{sc=Buhid}\p{sc=Canadian_Aboriginal}\p{sc=Cherokee}\p{sc=Cyrillic}\p{sc=Devanagari}\p{sc=Ethiopic}\p{sc=Georgian}\p{sc=Greek}\p{sc=Gujarati}\p{sc=Gurmukhi}\p{sc=Han}\p{sc=Hangul}\p{sc=Hanunoo}\p{sc=Hiragana}\p{sc=Kannada}\p{sc=Katakana}\p{sc=Khmer}\p{sc=Lao}\p{sc=Latin}\p{sc=Limbu}\p{sc=Malayalam}\p{sc=Mongolian}\p{sc=Myanmar}\p{sc=Ogham}\p{sc=Oriya}\p{sc=Runic}\p{sc=Sinhala}\p{sc=Tagalog}\p{sc=Tagbanwa}\p{sc=Tamil}\p{sc=Telugu}\p{sc=Thai}\p{sc=Tibetan}\p{sc=Yi}]))/u;function yv(e){var t=e.match(gv);if(t){if(t[1])return"rtl";if(t[2])return"ltr"}return"auto"}function bv(e,t){for(var n=-1,i=0;iv.top&&(y+=p-v.top),d>window.innerHeight-v.bottom&&(b-=d-(window.innerHeight-v.bottom));var w=Math.min(e.top,b),k=Math.max(e.bottom,y),C=t.offsetHeight,E=e.top-y,S=b-e.bottom,M=E>=C+l,x=S>=C+l,T=null,D=null;x?T=k+l:M||h&&E>S?D=g-(w-l):T=h?k+l:c.clientHeightv.left&&(A+=f-v.left),m>s.innerWidth-v.right&&(P-=m-(s.innerWidth-v.right));var L=t.offsetWidth;if("left"===u)(I=e.left)P&&(I=P-L),t.style.left="".concat(I,"px"),t.style.right="";else if("center"===u){var I;(I=e.left+(e.right-e.left)/2)P&&(I=P-L),t.style.left="".concat(I,"px"),t.style.right=""}else{var O=e.right;O>P?O=P:O-LS?E-l:S-l,"px"))}function Tv(e,t,n){var i=setInterval((function(){e.isShown()||(clearInterval(i),n())}),t);return function(){clearInterval(i)}}function Dv(e,t){e.addClass("mod-fade");var n=function(){var n=t.scrollLeft,i=t.scrollWidth,r=t.offsetWidth;e.toggleClass("mod-at-start",0===n),e.toggleClass("mod-at-end",Math.ceil(n)>=i-r)};t.addEventListener("scroll",wc(n,10)),n()}function Av(e,t){var n=e.clientX,i=e.clientY,r=t.getBoundingClientRect();return n>=r.x&&n<=r.x+r.width&&i>=r.y&&i<=r.y+r.height}function Pv(e,t){for(var n=e.offsetWidth,i=n,r=0,o=0,a=t?t.offsetParent:null;e&&e!==t&&e!==a;){r+=e.offsetTop,o+=e.offsetLeft;for(var s=e.offsetParent,l=e.parentElement;l&&l!==s;)r-=l.scrollTop,o-=l.scrollLeft,l=l.parentElement;s&&s!==a&&(i=s.offsetWidth,s!==t&&(r-=s.scrollTop,o-=s.scrollLeft)),e=s}return{top:r,left:o,right:i-o-n}}function Lv(e,t){var n=!1,i=null;return{get loaded(){return n},get promise(){if(n)return Promise.resolve();if(!i){t&&t.before&&t.before();var r=function(e,t){return void 0===t&&(t="text/javascript"),new Promise((function(n,i){var r=document.createElement("script");r.type=t,r.src=e,r.addEventListener("load",(function(){return n(r)})),r.addEventListener("error",(function(e){return i(e)})),document.body.appendChild(r)}))}(e,null==t?void 0:t.type);r.catch((function(e){e.detach(),i=null})),i=r.then((function(){n=!0,i=null,t&&t.after&&t.after()}))}return i},then:function(e){return n?Promise.resolve(e()):this.promise.then(e)}}}function Iv(e,t){if(3!==e.nodeType)for(var n=e.firstChild;n;)Iv(n,t),n=n.nextSibling;else t.push(e)}function Ov(e,t,n){var i=[];Iv(e,i);var r=i.map((function(e){return e.textContent||""}));return Fv(i,r,t,n)}function Fv(e,t,n,i){for(var r=0,o=null,a=-1,s=null,l=-1,c=0;cn){var r=(t.clientY-e.getBoundingClientRect().y-30)/(n-60);e.scrollTop=(i-n)*Math.clamp(r,0,1)}}))}function Vv(e,t){var n=e.clientWidth,i=e.clientHeight,r=e.scrollLeft,o=e.scrollTop,a=e.scrollWidth,s=e.scrollHeight,l=Math.max(0,a-n),c=Math.max(0,s-i),u=function(e,t,n,i,r){if(t>=e&&n<=e+i)return e;var o=t,a=n-i,s=Math.abs(o-e)<=Math.abs(a-e)?o:a;return Math.clamp(s,0,r)},h=u(r,t.left,t.right,n,l),p=u(o,t.top,t.bottom,i,c);h===r&&p===o||e.scrollTo({left:h,top:p,behavior:"auto"})}for(var Hv=new Map,zv=0,qv="a abbr acronym b bdi bdo big br button canvas cite code data del dfn em embed i iframe img input ins kbd label map mark meter noscript object outputpicture progress q ruby s samp select small span strong sub sup svg textarea time u tt var video wbr".split(" ");zv0?Zv.set(e,e.scrollTop):Zv.delete(e),!1)}function $v(e){Xv(e,Qv)}function Jv(e){var t=Zv.get(e);return t&&(e.scrollTop=t,Zv.delete(e)),!1}function eg(e){Xv(e,Jv)}function tg(e){var t=0,n=0;e.addEventListener("scroll",(function(){t=e.scrollLeft,n=e.scrollTop}),{passive:!0}),e.onNodeInserted((function(){!n&&!t||e.scrollLeft||e.scrollTop||(e.scrollLeft=t,e.scrollTop=n)}))}function ng(e,t,n){for(var i=e.targetNode;i&&i!==t;){if(i.instanceOf(Element)&&(i.scrollHeight>i.clientHeight||n&&i.scrollWidth>i.clientWidth)){var r=getComputedStyle(i),o=r.overflowY;if("auto"===o||"scroll"===o)return!0;if(n){var a=r.overflowX;if("auto"===a||"scroll"===a)return!0}}i=i.parentNode}return!1}function ig(e){var t=e.frameElement;if(!t)return null;for(var n={x:0,y:0,scale:1,win:e};null!==t;){var i=t.getBoundingClientRect(),r=i.width/t.clientWidth;n.scale*=r,n.x=n.x*r+i.x,n.y=n.y*r+i.y,n.win=t.win,t=t.win.frameElement}return n}function rg(e,t){var n=ig(t);if(n){var i=n.scale,r=n.x,o=n.y;return{rect:{left:e.left*i+r,right:e.right*i+r,top:e.top*i+o,bottom:e.bottom*i+o},win:n.win}}return{rect:e,win:t}}function og(e,t){var n=0,i=e.win;e.addEventListener("mousedown",(function(e){e.detail>1&&i.clearTimeout(n)})),e.addEventListener("click",(function(r){if(!(r.defaultPrevented||r.detail>1||r.shiftKey)){var o=(i=e.win).getSelection();if(o&&o.rangeCount>0)for(var a=0;ar.bottom-o&&(e.scrollTop+=i*n*(l-(r.bottom-o))/o,s=!0);var c=t.x;return cr.right-a&&(e.scrollLeft+=i*n*(c-(r.right-a))/a,s=!0),s}var dg=function(){};function fg(e,t,n){if(void 0===n&&(n=5),!e.isPrimary)return dg;var i=null;if(0===n&&!(i=t()))return dg;var r=e.view,o=Ol(e),a=function(r){if(r.pointerId===e.pointerId){if(!i){if(Rl(o,Ol(r))0?v.slice(1).join("."):s;if(!f||Yl.isMobile){c!==g&&(null!==c&&t.push(new Ig(this)),c=s);for(var b=0,w=r[s];b=0;!(v+h<=d)||e.left&&b?y.left=Math.max(0,g-h)+"px":y.left=v+"px",o+p>f&&(o=Math.max(m,o-p)),y.top=o+2+"px",Bv(this.scrollEl),c.style.opacity="0.85"}return Og=this,this}var w=t.win,k=function(e){for(var t=[],n=function(e){if(e instanceof Lg){var n={label:e.titleEl.getText().replace(/\B&\B/,"&&"),enabled:!e.disabled&&!e.dom.hasClass("is-label"),checked:e.checked,type:isBoolean(e.checked)?"checkbox":void 0,click:function(t,n,i){return e.handleEvent(new MouseEvent("click",i))}};e.submenu&&(e.submenu.sort(),n.submenu=k(e.submenu.items)),t.push(n)}else e instanceof Ig&&t.push({type:"separator"})},i=0,r=e;i=t.length&&(n=0),i++}return!1},t.prototype.onArrowLeft=function(e){return e.preventDefault(),this.parentMenu&&this.hide(),!1},t.prototype.onArrowRight=function(e){e.preventDefault();var t=this.items[this.selected];return t instanceof Lg&&t.submenu&&(this.openSubmenu(t),this.currentSubmenu&&this.currentSubmenu.select(0)),!1},t.prototype.onEnter=function(e){var t=this.items[this.selected];return t&&t instanceof Lg&&(t.handleEvent(e),this.hide()),!1},t.prototype.onMouseOver=function(e){for(var t=e.targetNode,n=this.parentMenu,i=this.items,r=0;r=t.length&&(e=0);var i=t[n];i&&i.dom.removeClass("selected"),this.selected=e;var r=t[e];r.dom.addClass("selected"),r.dom.scrollIntoView({block:"nearest"})}},t.prototype.openSubmenu=function(e){this.openSubmenuSoon.cancel();var t=e.submenu,n=e.dom,i=this.currentSubmenu,r=this.parentMenu;if(!e.disabled){if(i){if(i===t||r&&r.selected!==this.parentMenu.items.indexOf(e))return;this.closeSubmenu()}if(t){t.parentMenu=this,this.currentSubmenu=t;var o=getComputedStyle(this.dom),a=parseFloat(o.paddingTop)+parseFloat(o.borderTopWidth),s=parseFloat(o.paddingLeft)+parseFloat(o.borderLeftWidth)+2,l=parseFloat(o.paddingRight)+parseFloat(o.borderRightWidth)+2,c=n.getBoundingClientRect();t.showAtPosition({x:c.x-s,y:c.y-a,width:c.width+s+l},n.doc)}}},t.prototype.closeSubmenu=function(){this.openSubmenuSoon.cancel();var e=this.currentSubmenu;e&&(e.hide(),e.parentMenu=null,this.currentSubmenu=null)},t.forEvent=function(e){e.preventDefault();var n=Rg.get(e);return n||(n=new t,Rg.set(e,n),e.win.setTimeout((function(){return n.showAtMouseEvent(e)}))),n},t.useNativeMenu=!1,t}(Fm),Rg=new WeakMap;function Bg(e,t,n,i){var r=function(r){var o=e.doc.body;r.registerCallback({move:function(i,a){r.evt.stopPropagation(),t.style.overscrollBehavior="none",o.addClass("hide-cursor");var s=t.offsetHeight,l=Math.clamp((a-r.startY)/s,0,1);e.style.transform="translateY(".concat(l*s,"px)"),n&&(n.style.opacity=String(1-l))},cancel:function(){t.style.overscrollBehavior="",e.style.transform="",n&&(n.style.opacity="")},finish:function(a,s,l){t.style.overscrollBehavior="";var c,u=t.offsetHeight,h=Math.clamp((s-r.startY)/u,0,1);l0||r(t))})),n&&Pm(n,(function(e){1===e.points&&"y"===e.direction&&r(e)}))}function Vg(e,t,n){var i=this;return createEl("button","clickable-icon",(function(r){r.ariaDisabled="true",mv(r,"backward"===n?lm.commands.navigateBack():lm.commands.navigateForward()),r.onClickEvent((function(r){return y(i,void 0,void 0,(function(){var i,o;return b(this,(function(a){switch(a.label){case 0:return 2===r.button?[2]:(i=Ag.isModEvent(r),o=t(),i?[4,e.workspace.duplicateLeaf(t(),i)]:[3,2]);case 1:o=a.sent(),a.label=2;case 2:return[4,o.history.go("backward"===n?-1:1)];case 3:return a.sent(),[2]}}))}))}));var o=function(o){for(var a="backward"===n?t().history.backHistory:t().history.forwardHistory,s=new Ng,l=function(r){s.addItem((function(o){return o.setTitle(gc(a[r].title,50)).setIcon(a[r].icon).onClick((function(o){return y(i,void 0,void 0,(function(){var i,s,l;return b(this,(function(c){switch(c.label){case 0:return i=Ag.isModEvent(o),s=t(),i?[4,e.workspace.duplicateLeaf(t(),i)]:[3,2];case 1:s=c.sent(),c.label=2;case 2:return l=a.length-r,"backward"===n&&(l=0-l),[4,s.history.go(l)];case 3:return c.sent(),[2]}}))}))}))}))},c=a.length-1;c>=0;c--)l(c);dv();var u=r.getBoundingClientRect();s.showAtPosition({x:u.x,y:u.bottom,width:u.width,overlap:!0}),o&&s.dom.addEventListener("mouseup",(function(e){var t=e.targetNode;setTimeout((function(){for(var n=0,i=s.items;n25&&(i(),o>0&&o>Math.abs(r)&&t(e))};window.addEventListener("mouseup",r),window.addEventListener("mousemove",o)}))}(r,(function(){return o(!0)}))}))}var Hg=function(e){function t(t){var n=e.call(this)||this;return n.icon="lucide-file",n.navigation=!1,n.app=t.app,n.leaf=t,n.containerEl=t.containerEl.createDiv("workspace-leaf-content"),n.containerEl.setAttribute("data-type",n.getViewType()),n}return m(t,e),t.prototype.open=function(e){return y(this,void 0,Promise,(function(){return b(this,(function(t){switch(t.label){case 0:return e.appendChild(this.containerEl),this.load(),[4,this.onOpen()];case 1:return t.sent(),[2]}}))}))},t.prototype.close=function(){return y(this,void 0,Promise,(function(){return b(this,(function(e){switch(e.label){case 0:return this.containerEl.detach(),this.unload(),[4,this.onClose()];case 1:return e.sent(),[2]}}))}))},t.prototype.onOpen=function(){return y(this,void 0,Promise,(function(){return b(this,(function(e){return[2]}))}))},t.prototype.onClose=function(){return y(this,void 0,Promise,(function(){return b(this,(function(e){return[2]}))}))},t.prototype.getState=function(){return{}},t.prototype.setState=function(e,t){return y(this,void 0,Promise,(function(){return b(this,(function(e){return[2]}))}))},t.prototype.getEphemeralState=function(){return{}},t.prototype.setEphemeralState=function(e){},t.prototype.getIcon=function(){return this.icon?this.icon:"lucide-file"},t.prototype.onResize=function(){},t.prototype.onPaneMenu=function(e,t){},t.prototype.onHeaderMenu=function(e){},t.prototype.onTabMenu=function(e){var t=this,n=this.leaf,i=n.parent,r=i.children.indexOf(n);e.addItem((function(e){return e.setSection("close").setTitle(lm.interface.menu.close()).setIcon("lucide-x").onClick((function(){return t.leaf.detach()}))}));var o=i.children.slice();if(!this.app.workspace.isInSidebar(n)){var a=o.filter((function(e){return!e.pinned&&e!==n}));a.length>0&&e.addItem((function(e){return e.setSection("close").setTitle(lm.interface.menu.closeOthers()).setIcon("lucide-x").onClick((function(){for(var e=0,t=a;e0&&e.addItem((function(e){return e.setSection("close").setTitle(lm.interface.menu.closeAfter()).setIcon("lucide-x").onClick((function(){for(var e=0,t=s;e0&&(1!==l.length||l[0]!==n)&&e.addItem((function(e){return e.setSection("close").setTitle(lm.interface.menu.closeAll()).setIcon("lucide-x").onClick((function(){for(var e=0,t=l;e0)return!1;if(/^--$/.test(o.text)){return e.dispatch({changes:[{insert:"-\n\n---\n",from:o.to}],selection:{anchor:t+2},effects:[Zg.of()],userEvent:"input.type"}),!0}return!1})),Qg=qe.define();function $g(e){return"set"!==e.annotation(_e.userEvent)}function Jg(e){return e.isUserEvent("input")||e.isUserEvent("delete")}function ey(e,t){if(t.line<0)return 0;var n=t.line+1;if(n>e.lines)return e.length;var i=e.line(n);return isFinite(t.ch)?t.ch<0?i.from+Math.max(0,i.length+t.ch):i.from+t.ch:i.to}function ty(e,t){t=Math.clamp(t,0,e.length);var n=e.lineAt(t);return{line:n.number-1,ch:t-n.from}}function ny(e,t,n){return e.from<=n&&e.to>=t}function iy(e,t,n){for(var i=0,r=e;i",d=l+n;e=e.substring(0,d)+p+e.substring(d+c),n-=c-p.length,t.push({from:l,to:l+c,insert:p})}return{result:e,changes:re.of(t,i)}}function uy(e){for(var t=[],n=0,i=e.length,r=Array.from(e.matchAll(/(`+)[^`]+\1/g)),o=function(i){var o=i[1],a=i.index,s=o.length,l="
"!==o.toLowerCase();if(l){var c=o.match(/^(\\+)/);if(c&&c[1].length%2==0)return"continue";c&&(a=a+s-2,s=2)}else{if(r.some((function(e){return e.indexa+s})))return"continue"}var u=l?"|":"\n",h=a+n;e=e.substring(0,h)+u+e.substring(h+s),n-=s-u.length,t.push({from:a,to:a+s,insert:u})},a=0,s=Array.from(e.matchAll(/(\\+\||
)/gi));a=e.head?pe.range(n,t,e.goalColumn,e.bidiLevel):pe.range(t,n,e.goalColumn,e.bidiLevel)}var py=/^\s{0,3}>(\s*)/;function dy(e){var t=e.match(py);if(!t)return 0;for(var n=t[0].length-t[1].length,i=t[1];i.startsWith(" ");)i=i.substring(4);return i.startsWith(" ")?n+1:n}const fy=Symbol.for("yaml.alias"),my=Symbol.for("yaml.document"),vy=Symbol.for("yaml.map"),gy=Symbol.for("yaml.pair"),yy=Symbol.for("yaml.scalar"),by=Symbol.for("yaml.seq"),wy=Symbol.for("yaml.node.type"),ky=e=>!!e&&"object"==typeof e&&e[wy]===fy,Cy=e=>!!e&&"object"==typeof e&&e[wy]===my,Ey=e=>!!e&&"object"==typeof e&&e[wy]===vy,Sy=e=>!!e&&"object"==typeof e&&e[wy]===gy,My=e=>!!e&&"object"==typeof e&&e[wy]===yy,xy=e=>!!e&&"object"==typeof e&&e[wy]===by;function Ty(e){if(e&&"object"==typeof e)switch(e[wy]){case vy:case by:return!0}return!1}function Dy(e){if(e&&"object"==typeof e)switch(e[wy]){case fy:case vy:case yy:case by:return!0}return!1}const Ay=Symbol("break visit"),Py=Symbol("skip children"),Ly=Symbol("remove node");function Iy(e,t){const n=Ry(t);if(Cy(e)){Oy(null,e.contents,n,Object.freeze([e]))===Ly&&(e.contents=null)}else Oy(null,e,n,Object.freeze([]))}function Oy(e,t,n,i){const r=By(e,t,n,i);if(Dy(r)||Sy(r))return Vy(e,i,r),Oy(e,r,n,i);if("symbol"!=typeof r)if(Ty(t)){i=Object.freeze(i.concat(t));for(let e=0;e"!==e[e.length-1]&&t("Verbatim tags must end with a >"),n)}const[,n,i]=e.match(/^(.*!)([^!]*)$/s);i||t(`The ${e} tag has no suffix`);const r=this.tags[n];if(r)try{return r+decodeURIComponent(i)}catch(e){return t(String(e)),null}return"!"===n?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(const[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+e.substring(n.length).replace(/[!,[\]{}]/g,(e=>Hy[e]));return"!"===e[0]?e:`!<${e}>`}toString(e){const t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags);let i;if(e&&n.length>0&&Dy(e.contents)){const t={};Iy(e.contents,((e,n)=>{Dy(n)&&n.tag&&(t[n.tag]=!0)})),i=Object.keys(t)}else i=[];for(const[r,o]of n)"!!"===r&&"tag:yaml.org,2002:"===o||e&&!i.some((e=>e.startsWith(o)))||t.push(`%TAG ${r} ${o}`);return t.join("\n")}}function qy(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){const t=JSON.stringify(e);throw new Error(`Anchor must not contain whitespace or control characters: ${t}`)}return!0}function Wy(e){const t=new Set;return Iy(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function jy(e,t){for(let n=1;;++n){const i=`${e}${n}`;if(!t.has(i))return i}}function Uy(e,t,n,i){if(i&&"object"==typeof i)if(Array.isArray(i))for(let t=0,n=i.length;t_y(e,String(t),n)));if(e&&"function"==typeof e.toJSON){if(!n||(!My(i=e)&&!Ty(i)||!i.anchor))return e.toJSON(t,n);const r={aliasCount:0,count:1,res:void 0};n.anchors.set(e,r),n.onCreate=e=>{r.res=e,delete n.onCreate};const o=e.toJSON(t,n);return n.onCreate&&n.onCreate(o),o}var i;return"bigint"!=typeof e||n?.keep?e:Number(e)}zy.defaultYaml={explicit:!1,version:"1.2"},zy.defaultTags={"!!":"tag:yaml.org,2002:"};class Gy{constructor(e){Object.defineProperty(this,wy,{value:e})}clone(){const e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:i,reviver:r}={}){if(!Cy(e))throw new TypeError("A document argument is required");const o={anchors:new Map,doc:e,keep:!0,mapAsMap:!0===t,mapKeyWarned:!1,maxAliasCount:"number"==typeof n?n:100},a=_y(this,"",o);if("function"==typeof i)for(const{count:e,res:t}of o.anchors.values())i(t,e);return"function"==typeof r?Uy(r,{"":a},"",a):a}}class Ky extends Gy{constructor(e){super(fy),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e){let t;return Iy(e,{Node:(e,n)=>{if(n===this)return Iy.BREAK;n.anchor===this.source&&(t=n)}}),t}toJSON(e,t){if(!t)return{source:this.source};const{anchors:n,doc:i,maxAliasCount:r}=t,o=this.resolve(i);if(!o){const e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(e)}let a=n.get(o);if(a||(_y(o,null,t),a=n.get(o)),!a||void 0===a.res){throw new ReferenceError("This should not happen: Alias anchor was not resolved?")}if(r>=0&&(a.count+=1,0===a.aliasCount&&(a.aliasCount=Yy(i,o,n)),a.count*a.aliasCount>r)){throw new ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return a.res}toString(e,t,n){const i=`*${this.source}`;if(e){if(qy(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){const e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(e)}if(e.implicitKey)return`${i} `}return i}}function Yy(e,t,n){if(ky(t)){const i=t.resolve(e),r=n&&i&&n.get(i);return r?r.count*r.aliasCount:0}if(Ty(t)){let i=0;for(const r of t.items){const t=Yy(e,r,n);t>i&&(i=t)}return i}if(Sy(t)){const i=Yy(e,t.key,n),r=Yy(e,t.value,n);return Math.max(i,r)}return 1}const Zy=e=>!e||"function"!=typeof e&&"object"!=typeof e;class Xy extends Gy{constructor(e){super(yy),this.value=e}toJSON(e,t){return t?.keep?this.value:_y(this.value,e,t)}toString(){return String(this.value)}}Xy.BLOCK_FOLDED="BLOCK_FOLDED",Xy.BLOCK_LITERAL="BLOCK_LITERAL",Xy.PLAIN="PLAIN",Xy.QUOTE_DOUBLE="QUOTE_DOUBLE",Xy.QUOTE_SINGLE="QUOTE_SINGLE";function Qy(e,t,n){if(Cy(e)&&(e=e.contents),Dy(e))return e;if(Sy(e)){const t=n.schema[vy].createNode?.(n.schema,null,n);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"undefined"!=typeof BigInt&&e instanceof BigInt)&&(e=e.valueOf());const{aliasDuplicateObjects:i,onAnchor:r,onTagObj:o,schema:a,sourceObjects:s}=n;let l;if(i&&e&&"object"==typeof e){if(l=s.get(e),l)return l.anchor||(l.anchor=r(e)),new Ky(l.anchor);l={anchor:null,node:null},s.set(e,l)}t?.startsWith("!!")&&(t="tag:yaml.org,2002:"+t.slice(2));let c=function(e,t,n){if(t){const e=n.filter((e=>e.tag===t)),i=e.find((e=>!e.format))??e[0];if(!i)throw new Error(`Tag ${t} not found`);return i}return n.find((t=>t.identify?.(e)&&!t.format))}(e,t,a.tags);if(!c){if(e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e){const t=new Xy(e);return l&&(l.node=t),t}c=e instanceof Map?a[vy]:Symbol.iterator in Object(e)?a[by]:a[vy]}o&&(o(c),delete n.onTagObj);const u=c?.createNode?c.createNode(n.schema,e,n):"function"==typeof c?.nodeClass?.from?c.nodeClass.from(n.schema,e,n):new Xy(e);return t?u.tag=t:c.default||(u.tag=c.tag),l&&(l.node=u),u}function $y(e,t,n){let i=n;for(let e=t.length-1;e>=0;--e){const n=t[e];if("number"==typeof n&&Number.isInteger(n)&&n>=0){const e=[];e[n]=i,i=e}else i=new Map([[n,i]])}return Qy(i,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}const Jy=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class eb extends Gy{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){const t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map((t=>Dy(t)||Sy(t)?t.clone(e):t)),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(Jy(e))this.add(t);else{const[n,...i]=e,r=this.get(n,!0);if(Ty(r))r.addIn(i,t);else{if(void 0!==r||!this.schema)throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`);this.set(n,$y(this.schema,i,t))}}}deleteIn(e){const[t,...n]=e;if(0===n.length)return this.delete(t);const i=this.get(t,!0);if(Ty(i))return i.deleteIn(n);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){const[n,...i]=e,r=this.get(n,!0);return 0===i.length?!t&&My(r)?r.value:r:Ty(r)?r.getIn(i,t):void 0}hasAllNullValues(e){return this.items.every((t=>{if(!Sy(t))return!1;const n=t.value;return null==n||e&&My(n)&&null==n.value&&!n.commentBefore&&!n.comment&&!n.tag}))}hasIn(e){const[t,...n]=e;if(0===n.length)return this.has(t);const i=this.get(t,!0);return!!Ty(i)&&i.hasIn(n)}setIn(e,t){const[n,...i]=e;if(0===i.length)this.set(n,t);else{const e=this.get(n,!0);if(Ty(e))e.setIn(i,t);else{if(void 0!==e||!this.schema)throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`);this.set(n,$y(this.schema,i,t))}}}}const tb=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function nb(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}const ib=(e,t,n)=>e.endsWith("\n")?nb(n,t):n.includes("\n")?"\n"+nb(n,t):(e.endsWith(" ")?"":" ")+n,rb="flow",ob="block",ab="quoted";function sb(e,t,n="flow",{indentAtStart:i,lineWidth:r=80,minContentWidth:o=20,onFold:a,onOverflow:s}={}){if(!r||r<0)return e;rr-Math.max(2,o)?c.push(0):d=r-i);let f=!1,m=-1,v=-1,g=-1;n===ob&&(m=lb(e,m,t.length),-1!==m&&(d=m+l));for(let i;i=e[m+=1];){if(n===ab&&"\\"===i){switch(v=m,e[m+1]){case"x":m+=3;break;case"u":m+=5;break;case"U":m+=9;break;default:m+=1}g=m}if("\n"===i)n===ob&&(m=lb(e,m,t.length)),d=m+t.length+l,h=void 0;else{if(" "===i&&p&&" "!==p&&"\n"!==p&&"\t"!==p){const t=e[m+1];t&&" "!==t&&"\n"!==t&&"\t"!==t&&(h=m)}if(m>=d)if(h)c.push(h),d=h+l,h=void 0;else if(n===ab){for(;" "===p||"\t"===p;)p=i,i=e[m+=1],f=!0;const t=m>g+1?m-2:v-1;if(u[t])return e;c.push(t),u[t]=!0,d=t+l,h=void 0}else f=!0}p=i}if(f&&s&&s(),0===c.length)return e;a&&a();let y=e.slice(0,c[0]);for(let i=0;i({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),ub=e=>/^(%|---|\.\.\.)/m.test(e);function hb(e,t){const n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;const{implicitKey:i}=t,r=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(ub(e)?" ":"");let a="",s=0;for(let e=0,t=n[e];t;t=n[++e])if(" "===t&&"\\"===n[e+1]&&"n"===n[e+2]&&(a+=n.slice(s,e)+"\\ ",e+=1,s=e,t="\\"),"\\"===t)switch(n[e+1]){case"u":{a+=n.slice(s,e);const t=n.substr(e+2,4);switch(t){case"0000":a+="\\0";break;case"0007":a+="\\a";break;case"000b":a+="\\v";break;case"001b":a+="\\e";break;case"0085":a+="\\N";break;case"00a0":a+="\\_";break;case"2028":a+="\\L";break;case"2029":a+="\\P";break;default:"00"===t.substr(0,2)?a+="\\x"+t.substr(2):a+=n.substr(e,6)}e+=5,s=e+1}break;case"n":if(i||'"'===n[e+2]||n.lengthi)return!0;if(n=t+1,r-n<=i)return!1}return!0}(n,l,c.length));if(!n)return u?"|\n":">\n";let h,p;for(p=n.length;p>0;--p){const e=n[p-1];if("\n"!==e&&"\t"!==e&&" "!==e)break}let d=n.substring(p);const f=d.indexOf("\n");-1===f?h="-":n===d||f!==d.length-1?(h="+",o&&o()):h="",d&&(n=n.slice(0,-d.length),"\n"===d[d.length-1]&&(d=d.slice(0,-1)),d=d.replace(fb,`$&${c}`));let m,v=!1,g=-1;for(m=0;m{r=!0});const s=sb(`${y}${e}${d}`,c,ob,o);if(!r)return`>${b}\n${c}${s}`}return`|${b}\n${c}${y}${n=n.replace(/\n+/g,`$&${c}`)}${d}`}function vb(e,t,n,i){const{implicitKey:r,inFlow:o}=t,a="string"==typeof e.value?e:Object.assign({},e,{value:String(e.value)});let{type:s}=e;s!==Xy.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(a.value)&&(s=Xy.QUOTE_DOUBLE);const l=e=>{switch(e){case Xy.BLOCK_FOLDED:case Xy.BLOCK_LITERAL:return r||o?db(a.value,t):mb(a,t,n,i);case Xy.QUOTE_DOUBLE:return hb(a.value,t);case Xy.QUOTE_SINGLE:return pb(a.value,t);case Xy.PLAIN:return function(e,t,n,i){const{type:r,value:o}=e,{actualString:a,implicitKey:s,indent:l,indentStep:c,inFlow:u}=t;if(s&&o.includes("\n")||u&&/[[\]{},]/.test(o))return db(o,t);if(!o||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return s||u||!o.includes("\n")?db(o,t):mb(e,t,n,i);if(!s&&!u&&r!==Xy.PLAIN&&o.includes("\n"))return mb(e,t,n,i);if(ub(o)){if(""===l)return t.forceBlockIndent=!0,mb(e,t,n,i);if(s&&l===c)return db(o,t)}const h=o.replace(/\n+/g,`$&\n${l}`);if(a){const e=e=>e.default&&"tag:yaml.org,2002:str"!==e.tag&&e.test?.test(h),{compat:n,tags:i}=t.doc.schema;if(i.some(e)||n?.some(e))return db(o,t)}return s?h:sb(h,l,rb,cb(t,!1))}(a,t,n,i);default:return null}};let c=l(s);if(null===c){const{defaultKeyType:e,defaultStringType:n}=t.options,i=r&&e||n;if(c=l(i),null===c)throw new Error(`Unsupported default string type ${i}`)}return c}function gb(e,t){const n=Object.assign({blockQuote:!0,commentString:tb,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t);let i;switch(n.collectionStyle){case"block":i=!1;break;case"flow":i=!0;break;default:i=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:"number"==typeof n.indent?" ".repeat(n.indent):" ",inFlow:i,options:n}}function yb(e,t,n,i){if(Sy(e))return e.toString(t,n,i);if(ky(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let r;const o=Dy(e)?e:t.doc.createNode(e,{onTagObj:e=>r=e});r||(r=function(e,t){if(t.tag){const n=e.filter((e=>e.tag===t.tag));if(n.length>0)return n.find((e=>e.format===t.format))??n[0]}let n,i;if(My(t)){i=t.value;let r=e.filter((e=>e.identify?.(i)));if(r.length>1){const e=r.filter((e=>e.test));e.length>0&&(r=e)}n=r.find((e=>e.format===t.format))??r.find((e=>!e.format))}else i=t,n=e.find((e=>e.nodeClass&&i instanceof e.nodeClass));if(!n)throw new Error(`Tag not resolved for ${i?.constructor?.name??typeof i} value`);return n}(t.doc.schema.tags,o));const a=function(e,t,{anchors:n,doc:i}){if(!i.directives)return"";const r=[],o=(My(e)||Ty(e))&&e.anchor;o&&qy(o)&&(n.add(o),r.push(`&${o}`));const a=e.tag?e.tag:t.default?null:t.tag;return a&&r.push(i.directives.tagString(a)),r.join(" ")}(o,r,t);a.length>0&&(t.indentAtStart=(t.indentAtStart??0)+a.length+1);const s="function"==typeof r.stringify?r.stringify(o,t,n,i):My(o)?vb(o,t,n,i):o.toString(t,n,i);return a?My(o)||"{"===s[0]||"["===s[0]?`${a} ${s}`:`${a}\n${t.indent}${s}`:s}function bb(e,t){"debug"!==e&&"warn"!==e||console.warn(t)}const wb="<<",kb={identify:e=>e===wb||"symbol"==typeof e&&e.description===wb,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new Xy(Symbol(wb)),{addToJSMap:Cb}),stringify:()=>wb};function Cb(e,t,n){if(n=e&&ky(n)?n.resolve(e.doc):n,xy(n))for(const i of n.items)Eb(e,t,i);else if(Array.isArray(n))for(const i of n)Eb(e,t,i);else Eb(e,t,n)}function Eb(e,t,n){const i=e&&ky(n)?n.resolve(e.doc):n;if(!Ey(i))throw new Error("Merge sources must be maps or map aliases");const r=i.toJSON(null,e,Map);for(const[e,n]of r)t instanceof Map?t.has(e)||t.set(e,n):t instanceof Set?t.add(e):Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{value:n,writable:!0,enumerable:!0,configurable:!0});return t}function Sb(e,t,{key:n,value:i}){if(Dy(n)&&n.addToJSMap)n.addToJSMap(e,t,i);else if(((e,t)=>(kb.identify(t)||My(t)&&(!t.type||t.type===Xy.PLAIN)&&kb.identify(t.value))&&e?.doc.schema.tags.some((e=>e.tag===kb.tag&&e.default)))(e,n))Cb(e,t,i);else{const r=_y(n,"",e);if(t instanceof Map)t.set(r,_y(i,r,e));else if(t instanceof Set)t.add(r);else{const o=function(e,t,n){if(null===t)return"";if("object"!=typeof t)return String(t);if(Dy(e)&&n?.doc){const t=gb(n.doc,{});t.anchors=new Set;for(const e of n.anchors.keys())t.anchors.add(e.anchor);t.inFlow=!0,t.inStringifyKey=!0;const i=e.toString(t);if(!n.mapKeyWarned){let e=JSON.stringify(i);e.length>40&&(e=e.substring(0,36)+'..."'),bb(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${e}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return i}return JSON.stringify(t)}(n,r,e),a=_y(i,o,e);o in t?Object.defineProperty(t,o,{value:a,writable:!0,enumerable:!0,configurable:!0}):t[o]=a}}return t}function Mb(e,t,n){const i=Qy(e,void 0,n),r=Qy(t,void 0,n);return new xb(i,r)}class xb{constructor(e,t=null){Object.defineProperty(this,wy,{value:gy}),this.key=e,this.value=t}clone(e){let{key:t,value:n}=this;return Dy(t)&&(t=t.clone(e)),Dy(n)&&(n=n.clone(e)),new xb(t,n)}toJSON(e,t){return Sb(t,t?.mapAsMap?new Map:{},this)}toString(e,t,n){return e?.doc?function({key:e,value:t},n,i,r){const{allNullValues:o,doc:a,indent:s,indentStep:l,options:{commentString:c,indentSeq:u,simpleKeys:h}}=n;let p=Dy(e)&&e.comment||null;if(h){if(p)throw new Error("With simple keys, key nodes cannot have comments");if(Ty(e)||!Dy(e)&&"object"==typeof e)throw new Error("With simple keys, collection cannot be used as a key value")}let d=!h&&(!e||p&&null==t&&!n.inFlow||Ty(e)||(My(e)?e.type===Xy.BLOCK_FOLDED||e.type===Xy.BLOCK_LITERAL:"object"==typeof e));n=Object.assign({},n,{allNullValues:!1,implicitKey:!d&&(h||!o),indent:s+l});let f,m,v,g=!1,y=!1,b=yb(e,n,(()=>g=!0),(()=>y=!0));if(!d&&!n.inFlow&&b.length>1024){if(h)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");d=!0}if(n.inFlow){if(o||null==t)return g&&i&&i(),""===b?"?":d?`? ${b}`:b}else if(o&&!h||null==t&&d)return b=`? ${b}`,p&&!g?b+=ib(b,n.indent,c(p)):y&&r&&r(),b;g&&(p=null),d?(p&&(b+=ib(b,n.indent,c(p))),b=`? ${b}\n${s}:`):(b=`${b}:`,p&&(b+=ib(b,n.indent,c(p)))),Dy(t)?(f=!!t.spaceBefore,m=t.commentBefore,v=t.comment):(f=!1,m=null,v=null,t&&"object"==typeof t&&(t=a.createNode(t))),n.implicitKey=!1,d||p||!My(t)||(n.indentAtStart=b.length+1),y=!1,u||!(l.length>=2)||n.inFlow||d||!xy(t)||t.flow||t.tag||t.anchor||(n.indent=n.indent.substring(2));let w=!1;const k=yb(t,n,(()=>w=!0),(()=>y=!0));let C=" ";if(p||f||m)C=f?"\n":"",m&&(C+=`\n${nb(c(m),n.indent)}`),""!==k||n.inFlow?C+=`\n${n.indent}`:"\n"===C&&(C="\n\n");else if(!d&&Ty(t)){const e=k[0],i=k.indexOf("\n"),r=-1!==i,o=n.inFlow??t.flow??0===t.items.length;if(r||!o){let t=!1;if(r&&("&"===e||"!"===e)){let n=k.indexOf(" ");"&"===e&&-1!==n&&na=null),(()=>h=!0));a&&(s+=ib(s,o,c(a))),h&&a&&(h=!1),p.push(i+s)}let d;if(0===p.length)d=r.start+r.end;else{d=p[0];for(let e=1;eo=null));nu||a.includes("\n"))&&(c=!0),h.push(a),u=h.length}const{start:p,end:d}=n;if(0===h.length)return p+d;if(!c){const e=h.reduce(((e,t)=>e+t.length+2),2);c=t.options.lineWidth>0&&e>t.options.lineWidth}if(c){let e=p;for(const t of h)e+=t?`\n${o}${r}${t}`:"\n";return`${e}\n${r}${d}`}return`${p}${a}${h.join(" ")}${a}${d}`}function Pb({indent:e,options:{commentString:t}},n,i,r){if(i&&r&&(i=i.replace(/^\n+/,"")),i){const r=nb(t(i),e);n.push(r.trimStart())}}function Lb(e,t){const n=My(t)?t.value:t;for(const i of e)if(Sy(i)){if(i.key===t||i.key===n)return i;if(My(i.key)&&i.key.value===n)return i}}class Ib extends eb{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(vy,e),this.items=[]}static from(e,t,n){const{keepUndefined:i,replacer:r}=n,o=new this(e),a=(e,a)=>{if("function"==typeof r)a=r.call(t,e,a);else if(Array.isArray(r)&&!r.includes(e))return;(void 0!==a||i)&&o.items.push(Mb(e,a,n))};if(t instanceof Map)for(const[e,n]of t)a(e,n);else if(t&&"object"==typeof t)for(const e of Object.keys(t))a(e,t[e]);return"function"==typeof e.sortMapEntries&&o.items.sort(e.sortMapEntries),o}add(e,t){let n;n=Sy(e)?e:e&&"object"==typeof e&&"key"in e?new xb(e.key,e.value):new xb(e,e?.value);const i=Lb(this.items,n.key),r=this.schema?.sortMapEntries;if(i){if(!t)throw new Error(`Key ${n.key} already set`);My(i.value)&&Zy(n.value)?i.value.value=n.value:i.value=n.value}else if(r){const e=this.items.findIndex((e=>r(n,e)<0));-1===e?this.items.push(n):this.items.splice(e,0,n)}else this.items.push(n)}delete(e){const t=Lb(this.items,e);if(!t)return!1;return this.items.splice(this.items.indexOf(t),1).length>0}get(e,t){const n=Lb(this.items,e),i=n?.value;return(!t&&My(i)?i.value:i)??void 0}has(e){return!!Lb(this.items,e)}set(e,t){this.add(new xb(e,t),!0)}toJSON(e,t,n){const i=n?new n:t?.mapAsMap?new Map:{};t?.onCreate&&t.onCreate(i);for(const e of this.items)Sb(t,i,e);return i}toString(e,t,n){if(!e)return JSON.stringify(this);for(const e of this.items)if(!Sy(e))throw new Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),Tb(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:n,onComment:t})}}const Ob={collection:"map",default:!0,nodeClass:Ib,tag:"tag:yaml.org,2002:map",resolve:(e,t)=>(Ey(e)||t("Expected a mapping for this tag"),e),createNode:(e,t,n)=>Ib.from(e,t,n)};class Fb extends eb{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(by,e),this.items=[]}add(e){this.items.push(e)}delete(e){const t=Nb(e);if("number"!=typeof t)return!1;return this.items.splice(t,1).length>0}get(e,t){const n=Nb(e);if("number"!=typeof n)return;const i=this.items[n];return!t&&My(i)?i.value:i}has(e){const t=Nb(e);return"number"==typeof t&&t=0?t:null}const Rb={collection:"seq",default:!0,nodeClass:Fb,tag:"tag:yaml.org,2002:seq",resolve:(e,t)=>(xy(e)||t("Expected a sequence for this tag"),e),createNode:(e,t,n)=>Fb.from(e,t,n)},Bb={identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:(e,t,n,i)=>vb(e,t=Object.assign({actualString:!0},t),n,i)},Vb={identify:e=>null==e,createNode:()=>new Xy(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Xy(null),stringify:({source:e},t)=>"string"==typeof e&&Vb.test.test(e)?e:t.options.nullStr},Hb={identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new Xy("t"===e[0]||"T"===e[0]),stringify({source:e,value:t},n){if(e&&Hb.test.test(e)){if(t===("t"===e[0]||"T"===e[0]))return e}return t?n.options.trueStr:n.options.falseStr}};function zb({format:e,minFractionDigits:t,tag:n,value:i}){if("bigint"==typeof i)return String(i);const r="number"==typeof i?i:Number(i);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let o=JSON.stringify(i);if(!e&&t&&(!n||"tag:yaml.org,2002:float"===n)&&/^\d/.test(o)){let e=o.indexOf(".");e<0&&(e=o.length,o+=".");let n=t-(o.length-e-1);for(;n-- >0;)o+="0"}return o}const qb={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>"nan"===e.slice(-3).toLowerCase()?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:zb},Wb={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){const t=Number(e.value);return isFinite(t)?t.toExponential():zb(e)}},jb={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){const t=new Xy(parseFloat(e)),n=e.indexOf(".");return-1!==n&&"0"===e[e.length-1]&&(t.minFractionDigits=e.length-n-1),t},stringify:zb},Ub=e=>"bigint"==typeof e||Number.isInteger(e),_b=(e,t,n,{intAsBigInt:i})=>i?BigInt(e):parseInt(e.substring(t),n);function Gb(e,t,n){const{value:i}=e;return Ub(i)&&i>=0?n+i.toString(t):zb(e)}const Kb={identify:e=>Ub(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,n)=>_b(e,2,8,n),stringify:e=>Gb(e,8,"0o")},Yb={identify:Ub,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>_b(e,0,10,n),stringify:zb},Zb={identify:e=>Ub(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>_b(e,2,16,n),stringify:e=>Gb(e,16,"0x")},Xb=[Ob,Rb,Bb,Vb,Hb,Kb,Yb,Zb,qb,Wb,jb];function Qb(e){return"bigint"==typeof e||Number.isInteger(e)}const $b=({value:e})=>JSON.stringify(e),Jb=[Ob,Rb].concat([{identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:$b},{identify:e=>null==e,createNode:()=>new Xy(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:$b},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>"true"===e,stringify:$b},{identify:Qb,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:n})=>n?BigInt(e):parseInt(e,10),stringify:({value:e})=>Qb(e)?e.toString():JSON.stringify(e)},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:$b}],{default:!0,tag:"",test:/^/,resolve:(e,t)=>(t(`Unresolved plain scalar ${JSON.stringify(e)}`),e)}),ew={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if("function"==typeof atob){const t=atob(e.replace(/[\n\r]/g,"")),n=new Uint8Array(t.length);for(let e=0;e1&&t("Each pair must have its own sequence indicator");const e=i.items[0]||new xb(new Xy(null));if(i.commentBefore&&(e.key.commentBefore=e.key.commentBefore?`${i.commentBefore}\n${e.key.commentBefore}`:i.commentBefore),i.comment){const t=e.value??e.key;t.comment=t.comment?`${i.comment}\n${t.comment}`:i.comment}i=e}e.items[n]=Sy(i)?i:new xb(i)}}else t("Expected a sequence for this tag");return e}function nw(e,t,n){const{replacer:i}=n,r=new Fb(e);r.tag="tag:yaml.org,2002:pairs";let o=0;if(t&&Symbol.iterator in Object(t))for(let e of t){let a,s;if("function"==typeof i&&(e=i.call(t,String(o++),e)),Array.isArray(e)){if(2!==e.length)throw new TypeError(`Expected [key, value] tuple: ${e}`);a=e[0],s=e[1]}else if(e&&e instanceof Object){const t=Object.keys(e);if(1!==t.length)throw new TypeError(`Expected tuple with one key, not ${t.length} keys`);a=t[0],s=e[a]}else a=e;r.items.push(Mb(a,s,n))}return r}const iw={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:tw,createNode:nw};class rw extends Fb{constructor(){super(),this.add=Ib.prototype.add.bind(this),this.delete=Ib.prototype.delete.bind(this),this.get=Ib.prototype.get.bind(this),this.has=Ib.prototype.has.bind(this),this.set=Ib.prototype.set.bind(this),this.tag=rw.tag}toJSON(e,t){if(!t)return super.toJSON(e);const n=new Map;t?.onCreate&&t.onCreate(n);for(const e of this.items){let i,r;if(Sy(e)?(i=_y(e.key,"",t),r=_y(e.value,i,t)):i=_y(e,"",t),n.has(i))throw new Error("Ordered maps must not include duplicate keys");n.set(i,r)}return n}static from(e,t,n){const i=nw(e,t,n),r=new this;return r.items=i.items,r}}rw.tag="tag:yaml.org,2002:omap";const ow={collection:"seq",identify:e=>e instanceof Map,nodeClass:rw,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){const n=tw(e,t),i=[];for(const{key:e}of n.items)My(e)&&(i.includes(e.value)?t(`Ordered maps must not include duplicate keys: ${e.value}`):i.push(e.value));return Object.assign(new rw,n)},createNode:(e,t,n)=>rw.from(e,t,n)};function aw({value:e,source:t},n){return t&&(e?sw:lw).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}const sw={identify:e=>!0===e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Xy(!0),stringify:aw},lw={identify:e=>!1===e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Xy(!1),stringify:aw},cw={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>"nan"===e.slice(-3).toLowerCase()?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:zb},uw={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){const t=Number(e.value);return isFinite(t)?t.toExponential():zb(e)}},hw={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){const t=new Xy(parseFloat(e.replace(/_/g,""))),n=e.indexOf(".");if(-1!==n){const i=e.substring(n+1).replace(/_/g,"");"0"===i[i.length-1]&&(t.minFractionDigits=i.length)}return t},stringify:zb},pw=e=>"bigint"==typeof e||Number.isInteger(e);function dw(e,t,n,{intAsBigInt:i}){const r=e[0];if("-"!==r&&"+"!==r||(t+=1),e=e.substring(t).replace(/_/g,""),i){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`}const t=BigInt(e);return"-"===r?BigInt(-1)*t:t}const o=parseInt(e,n);return"-"===r?-1*o:o}function fw(e,t,n){const{value:i}=e;if(pw(i)){const e=i.toString(t);return i<0?"-"+n+e.substr(1):n+e}return zb(e)}const mw={identify:pw,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>dw(e,2,2,n),stringify:e=>fw(e,2,"0b")},vw={identify:pw,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>dw(e,1,8,n),stringify:e=>fw(e,8,"0")},gw={identify:pw,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>dw(e,0,10,n),stringify:zb},yw={identify:pw,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>dw(e,2,16,n),stringify:e=>fw(e,16,"0x")};class bw extends Ib{constructor(e){super(e),this.tag=bw.tag}add(e){let t;t=Sy(e)?e:e&&"object"==typeof e&&"key"in e&&"value"in e&&null===e.value?new xb(e.key,null):new xb(e,null);Lb(this.items,t.key)||this.items.push(t)}get(e,t){const n=Lb(this.items,e);return!t&&Sy(n)?My(n.key)?n.key.value:n.key:n}set(e,t){if("boolean"!=typeof t)throw new Error("Expected boolean value for set(key, value) in a YAML set, not "+typeof t);const n=Lb(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new xb(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw new Error("Set items must all have null values")}static from(e,t,n){const{replacer:i}=n,r=new this(e);if(t&&Symbol.iterator in Object(t))for(let e of t)"function"==typeof i&&(e=i.call(t,e,e)),r.items.push(Mb(e,null,n));return r}}bw.tag="tag:yaml.org,2002:set";const ww={collection:"map",identify:e=>e instanceof Set,nodeClass:bw,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,n)=>bw.from(e,t,n),resolve(e,t){if(Ey(e)){if(e.hasAllNullValues(!0))return Object.assign(new bw,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};function kw(e,t){const n=e[0],i="-"===n||"+"===n?e.substring(1):e,r=e=>t?BigInt(e):Number(e),o=i.replace(/_/g,"").split(":").reduce(((e,t)=>e*r(60)+r(t)),r(0));return"-"===n?r(-1)*o:o}function Cw(e){let{value:t}=e,n=e=>e;if("bigint"==typeof t)n=e=>BigInt(e);else if(isNaN(t)||!isFinite(t))return zb(e);let i="";t<0&&(i="-",t*=n(-1));const r=n(60),o=[t%r];return t<60?o.unshift(0):(t=(t-o[0])/r,o.unshift(t%r),t>=60&&(t=(t-o[0])/r,o.unshift(t))),i+o.map((e=>String(e).padStart(2,"0"))).join(":").replace(/000000\d*$/,"")}const Ew={identify:e=>"bigint"==typeof e||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:n})=>kw(e,n),stringify:Cw},Sw={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>kw(e,!1),stringify:Cw},Mw={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){const t=e.match(Mw.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,n,i,r,o,a,s]=t.map(Number),l=t[7]?Number((t[7]+"00").substr(1,3)):0;let c=Date.UTC(n,i-1,r,o||0,a||0,s||0,l);const u=t[8];if(u&&"Z"!==u){let e=kw(u,!1);Math.abs(e)<30&&(e*=60),c-=6e4*e}return new Date(c)},stringify:({value:e})=>e.toISOString().replace(/(T00:00:00)?\.000Z$/,"")},xw=[Ob,Rb,Bb,Vb,sw,lw,mw,vw,gw,yw,cw,uw,hw,ew,kb,ow,iw,ww,Ew,Sw,Mw],Tw=new Map([["core",Xb],["failsafe",[Ob,Rb,Bb]],["json",Jb],["yaml11",xw],["yaml-1.1",xw]]),Dw={binary:ew,bool:Hb,float:jb,floatExp:Wb,floatNaN:qb,floatTime:Sw,int:Yb,intHex:Zb,intOct:Kb,intTime:Ew,map:Ob,merge:kb,null:Vb,omap:ow,pairs:iw,seq:Rb,set:ww,timestamp:Mw},Aw={"tag:yaml.org,2002:binary":ew,"tag:yaml.org,2002:merge":kb,"tag:yaml.org,2002:omap":ow,"tag:yaml.org,2002:pairs":iw,"tag:yaml.org,2002:set":ww,"tag:yaml.org,2002:timestamp":Mw};function Pw(e,t,n){const i=Tw.get(t);if(i&&!e)return n&&!i.includes(kb)?i.concat(kb):i.slice();let r=i;if(!r){if(!Array.isArray(e)){const e=Array.from(Tw.keys()).filter((e=>"yaml11"!==e)).map((e=>JSON.stringify(e))).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${e} or define customTags array`)}r=[]}if(Array.isArray(e))for(const t of e)r=r.concat(t);else"function"==typeof e&&(r=e(r.slice()));return n&&(r=r.concat(kb)),r.reduce(((e,t)=>{const n="string"==typeof t?Dw[t]:t;if(!n){const e=JSON.stringify(t),n=Object.keys(Dw).map((e=>JSON.stringify(e))).join(", ");throw new Error(`Unknown custom tag ${e}; use one of ${n}`)}return e.includes(n)||e.push(n),e}),[])}const Lw=(e,t)=>e.keyt.key?1:0;class Iw{constructor({compat:e,customTags:t,merge:n,resolveKnownTags:i,schema:r,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?Pw(e,"compat"):e?Pw(null,e):null,this.name="string"==typeof r&&r||"core",this.knownTags=i?Aw:{},this.tags=Pw(t,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,vy,{value:Ob}),Object.defineProperty(this,yy,{value:Bb}),Object.defineProperty(this,by,{value:Rb}),this.sortMapEntries="function"==typeof o?o:!0===o?Lw:null}clone(){const e=Object.create(Iw.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}}class Ow{constructor(e,t,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,wy,{value:my});let i=null;"function"==typeof t||Array.isArray(t)?i=t:void 0===n&&t&&(n=t,t=void 0);const r=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=r;let{version:o}=r;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new zy({version:o}),this.setSchema(o,n),this.contents=void 0===e?null:this.createNode(e,i,n)}clone(){const e=Object.create(Ow.prototype,{[wy]:{value:my}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=Dy(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){Fw(this.contents)&&this.contents.add(e)}addIn(e,t){Fw(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){const n=Wy(this);e.anchor=!t||n.has(t)?jy(t||"a",n):t}return new Ky(e.anchor)}createNode(e,t,n){let i;if("function"==typeof t)e=t.call({"":e},"",e),i=t;else if(Array.isArray(t)){const e=e=>"number"==typeof e||e instanceof String||e instanceof Number,n=t.filter(e).map(String);n.length>0&&(t=t.concat(n)),i=t}else void 0===n&&t&&(n=t,t=void 0);const{aliasDuplicateObjects:r,anchorPrefix:o,flow:a,keepUndefined:s,onTagObj:l,tag:c}=n??{},{onAnchor:u,setAnchors:h,sourceObjects:p}=function(e,t){const n=[],i=new Map;let r=null;return{onAnchor:i=>{n.push(i),r||(r=Wy(e));const o=jy(t,r);return r.add(o),o},setAnchors:()=>{for(const e of n){const t=i.get(e);if("object"!=typeof t||!t.anchor||!My(t.node)&&!Ty(t.node)){const t=new Error("Failed to resolve repeated object (this should not happen)");throw t.source=e,t}t.node.anchor=t.anchor}},sourceObjects:i}}(this,o||"a"),d=Qy(e,c,{aliasDuplicateObjects:r??!0,keepUndefined:s??!1,onAnchor:u,onTagObj:l,replacer:i,schema:this.schema,sourceObjects:p});return a&&Ty(d)&&(d.flow=!0),h(),d}createPair(e,t,n={}){const i=this.createNode(e,null,n),r=this.createNode(t,null,n);return new xb(i,r)}delete(e){return!!Fw(this.contents)&&this.contents.delete(e)}deleteIn(e){return Jy(e)?null!=this.contents&&(this.contents=null,!0):!!Fw(this.contents)&&this.contents.deleteIn(e)}get(e,t){return Ty(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return Jy(e)?!t&&My(this.contents)?this.contents.value:this.contents:Ty(this.contents)?this.contents.getIn(e,t):void 0}has(e){return!!Ty(this.contents)&&this.contents.has(e)}hasIn(e){return Jy(e)?void 0!==this.contents:!!Ty(this.contents)&&this.contents.hasIn(e)}set(e,t){null==this.contents?this.contents=$y(this.schema,[e],t):Fw(this.contents)&&this.contents.set(e,t)}setIn(e,t){Jy(e)?this.contents=t:null==this.contents?this.contents=$y(this.schema,Array.from(e),t):Fw(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){let n;switch("number"==typeof e&&(e=String(e)),e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new zy({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new zy({version:e}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{const t=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${t}`)}}if(t.schema instanceof Object)this.schema=t.schema;else{if(!n)throw new Error("With a null YAML version, the { schema: Schema } option is required");this.schema=new Iw(Object.assign(n,t))}}toJS({json:e,jsonArg:t,mapAsMap:n,maxAliasCount:i,onAnchor:r,reviver:o}={}){const a={anchors:new Map,doc:this,keep:!e,mapAsMap:!0===n,mapKeyWarned:!1,maxAliasCount:"number"==typeof i?i:100},s=_y(this.contents,t??"",a);if("function"==typeof r)for(const{count:e,res:t}of a.anchors.values())r(t,e);return"function"==typeof o?Uy(o,{"":s},"",s):s}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){const t=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${t}`)}return function(e,t){const n=[];let i=!0===t.directives;if(!1!==t.directives&&e.directives){const t=e.directives.toString(e);t?(n.push(t),i=!0):e.directives.docStart&&(i=!0)}i&&n.push("---");const r=gb(e,t),{commentString:o}=r.options;if(e.commentBefore){1!==n.length&&n.unshift("");const t=o(e.commentBefore);n.unshift(nb(t,""))}let a=!1,s=null;if(e.contents){if(Dy(e.contents)){if(e.contents.spaceBefore&&i&&n.push(""),e.contents.commentBefore){const t=o(e.contents.commentBefore);n.push(nb(t,""))}r.forceBlockIndent=!!e.comment,s=e.contents.comment}const t=s?void 0:()=>a=!0;let l=yb(e.contents,r,(()=>s=null),t);s&&(l+=ib(l,"",o(s))),"|"!==l[0]&&">"!==l[0]||"---"!==n[n.length-1]?n.push(l):n[n.length-1]=`--- ${l}`}else n.push(yb(e.contents,r));if(e.directives?.docEnd)if(e.comment){const t=o(e.comment);t.includes("\n")?(n.push("..."),n.push(nb(t,""))):n.push(`... ${t}`)}else n.push("...");else{let t=e.comment;t&&a&&(t=t.replace(/^\n+/,"")),t&&(a&&!s||""===n[n.length-1]||n.push(""),n.push(nb(o(t),"")))}return n.join("\n")+"\n"}(this,e)}}function Fw(e){if(Ty(e))return!0;throw new Error("Expected a YAML collection as document contents")}class Nw extends Error{constructor(e,t,n,i){super(),this.name=e,this.code=n,this.message=i,this.pos=t}}class Rw extends Nw{constructor(e,t,n){super("YAMLParseError",e,t,n)}}class Bw extends Nw{constructor(e,t,n){super("YAMLWarning",e,t,n)}}const Vw=(e,t)=>n=>{if(-1===n.pos[0])return;n.linePos=n.pos.map((e=>t.linePos(e)));const{line:i,col:r}=n.linePos[0];n.message+=` at line ${i}, column ${r}`;let o=r-1,a=e.substring(t.lineStarts[i-1],t.lineStarts[i]).replace(/[\n\r]+$/,"");if(o>=60&&a.length>80){const e=Math.min(o-39,a.length-79);a="…"+a.substring(e),o-=e-1}if(a.length>80&&(a=a.substring(0,79)+"…"),i>1&&/^ *$/.test(a.substring(0,o))){let n=e.substring(t.lineStarts[i-2],t.lineStarts[i-1]);n.length>80&&(n=n.substring(0,79)+"…\n"),a=n+a}if(/[^ ]/.test(a)){let e=1;const t=n.linePos[1];t&&t.line===i&&t.col>r&&(e=Math.max(1,Math.min(t.col-r,80-o)));const s=" ".repeat(o)+"^".repeat(e);n.message+=`:\n\n${a}\n${s}\n`}};function Hw(e,{flow:t,indicator:n,next:i,offset:r,onError:o,parentIndent:a,startOnNewline:s}){let l=!1,c=s,u=s,h="",p="",d=!1,f=!1,m=null,v=null,g=null,y=null,b=null,w=null,k=null;for(const r of e)switch(f&&("space"!==r.type&&"newline"!==r.type&&"comma"!==r.type&&o(r.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),f=!1),m&&(c&&"comment"!==r.type&&"newline"!==r.type&&o(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),m=null),r.type){case"space":t||"doc-start"===n&&"flow-collection"===i?.type||!r.source.includes("\t")||(m=r),u=!0;break;case"comment":{u||o(r,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const e=r.source.substring(1)||" ";h?h+=p+e:h=e,p="",c=!1;break}case"newline":c?h?h+=r.source:w&&"seq-item-ind"===n||(l=!0):p+=r.source,c=!0,d=!0,(v||g)&&(y=r),u=!0;break;case"anchor":v&&o(r,"MULTIPLE_ANCHORS","A node can have at most one anchor"),r.source.endsWith(":")&&o(r.offset+r.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),v=r,null===k&&(k=r.offset),c=!1,u=!1,f=!0;break;case"tag":g&&o(r,"MULTIPLE_TAGS","A node can have at most one tag"),g=r,null===k&&(k=r.offset),c=!1,u=!1,f=!0;break;case n:(v||g)&&o(r,"BAD_PROP_ORDER",`Anchors and tags must be after the ${r.source} indicator`),w&&o(r,"UNEXPECTED_TOKEN",`Unexpected ${r.source} in ${t??"collection"}`),w=r,c="seq-item-ind"===n||"explicit-key-ind"===n,u=!1;break;case"comma":if(t){b&&o(r,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),b=r,c=!1,u=!1;break}default:o(r,"UNEXPECTED_TOKEN",`Unexpected ${r.type} token`),c=!1,u=!1}const C=e[e.length-1],E=C?C.offset+C.source.length:r;return f&&i&&"space"!==i.type&&"newline"!==i.type&&"comma"!==i.type&&("scalar"!==i.type||""!==i.source)&&o(i.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m&&(c&&m.indent<=a||"block-map"===i?.type||"block-seq"===i?.type)&&o(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:b,found:w,spaceBefore:l,comment:h,hasNewline:d,anchor:v,tag:g,newlineAfterProp:y,end:E,start:k??E}}function zw(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes("\n"))return!0;if(e.end)for(const t of e.end)if("newline"===t.type)return!0;return!1;case"flow-collection":for(const t of e.items){for(const e of t.start)if("newline"===e.type)return!0;if(t.sep)for(const e of t.sep)if("newline"===e.type)return!0;if(zw(t.key)||zw(t.value))return!0}return!1;default:return!0}}function qw(e,t,n){if("flow-collection"===t?.type){const i=t.end[0];if(i.indent===e&&("]"===i.source||"}"===i.source)&&zw(t)){n(i,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}}function Ww(e,t,n){const{uniqueKeys:i}=e.options;if(!1===i)return!1;const r="function"==typeof i?i:(e,t)=>e===t||My(e)&&My(t)&&e.value===t.value;return t.some((e=>r(e.key,n)))}const jw="All mapping items must start at the same column";function Uw(e,t,n,i){let r="";if(e){let o=!1,a="";for(const s of e){const{source:e,type:l}=s;switch(l){case"space":o=!0;break;case"comment":{n&&!o&&i(s,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const t=e.substring(1)||" ";r?r+=a+t:r=t,a="";break}case"newline":r&&(a+=e),o=!0;break;default:i(s,"UNEXPECTED_TOKEN",`Unexpected ${l} at node end`)}t+=e.length}}return{comment:r,offset:t}}const _w="Block collections are not allowed within flow collections",Gw=e=>e&&("block-map"===e.type||"block-seq"===e.type);function Kw(e,t,n,i,r,o){const a="block-map"===n.type?function({composeNode:e,composeEmptyNode:t},n,i,r,o){const a=new(o?.nodeClass??Ib)(n.schema);n.atRoot&&(n.atRoot=!1);let s=i.offset,l=null;for(const o of i.items){const{start:c,key:u,sep:h,value:p}=o,d=Hw(c,{indicator:"explicit-key-ind",next:u??h?.[0],offset:s,onError:r,parentIndent:i.indent,startOnNewline:!0}),f=!d.found;if(f){if(u&&("block-seq"===u.type?r(s,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in u&&u.indent!==i.indent&&r(s,"BAD_INDENT",jw)),!d.anchor&&!d.tag&&!h){l=d.end,d.comment&&(a.comment?a.comment+="\n"+d.comment:a.comment=d.comment);continue}(d.newlineAfterProp||zw(u))&&r(u??c[c.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else d.found?.indent!==i.indent&&r(s,"BAD_INDENT",jw);n.atKey=!0;const m=d.end,v=u?e(n,u,d,r):t(n,m,c,null,d,r);n.schema.compat&&qw(i.indent,u,r),n.atKey=!1,Ww(n,a.items,v)&&r(m,"DUPLICATE_KEY","Map keys must be unique");const g=Hw(h??[],{indicator:"map-value-ind",next:p,offset:v.range[2],onError:r,parentIndent:i.indent,startOnNewline:!u||"block-scalar"===u.type});if(s=g.end,g.found){f&&("block-map"!==p?.type||g.hasNewline||r(s,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&d.start0){const e=Uw(d,f,n.options.strict,r);e.comment&&(l.comment?l.comment+="\n"+e.comment:l.comment=e.comment),l.range=[i.offset,f,e.offset]}else l.range=[i.offset,f,f];return l}(e,t,n,i,o),s=a.constructor;return"!"===r||r===s.tagName?(a.tag=s.tagName,a):(r&&(a.tag=r),a)}function Yw(e,t,n){const i=t.offset,r=function({offset:e,props:t},n,i){if("block-scalar-header"!==t[0].type)return i(t[0],"IMPOSSIBLE","Block scalar header not found"),null;const{source:r}=t[0],o=r[0];let a=0,s="",l=-1;for(let t=1;t=0;--e){const t=a[e][1];if(""!==t&&"\r"!==t)break;s=e}if(0===s){const e="+"===r.chomp&&a.length>0?"\n".repeat(Math.max(1,a.length-1)):"";let n=i+r.length;return t.source&&(n+=t.source.length),{value:e,type:o,comment:r.comment,range:[i,n,n]}}let l=t.indent+r.indent,c=t.offset+r.length,u=0;for(let t=0;tl&&(l=i.length),c+=i.length+o.length+1}for(let e=a.length-1;e>=s;--e)a[e][0].length>l&&(s=e+1);let h="",p="",d=!1;for(let e=0;el||"\t"===i[0]?(" "===p?p="\n":d||"\n"!==p||(p="\n\n"),h+=p+t.slice(l)+i,p="\n",d=!0):""===i?"\n"===p?h+="\n":p="\n":(h+=p+i,p=" ",d=!1)}switch(r.chomp){case"-":break;case"+":for(let e=s;en(i+e,t,r);switch(r){case"scalar":s=Xy.PLAIN,l=function(e,t){let n="";switch(e[0]){case"\t":n="a tab character";break;case",":n="flow indicator character ,";break;case"%":n="directive indicator character %";break;case"|":case">":n=`block scalar indicator ${e[0]}`;break;case"@":case"`":n=`reserved character ${e[0]}`}n&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${n}`);return Xw(e)}(o,c);break;case"single-quoted-scalar":s=Xy.QUOTE_SINGLE,l=function(e,t){"'"===e[e.length-1]&&1!==e.length||t(e.length,"MISSING_CHAR","Missing closing 'quote");return Xw(e.slice(1,-1)).replace(/''/g,"'")}(o,c);break;case"double-quoted-scalar":s=Xy.QUOTE_DOUBLE,l=function(e,t){let n="";for(let i=1;it?e.slice(t,i+1):r)}else n+=r}'"'===e[e.length-1]&&1!==e.length||t(e.length,"MISSING_CHAR",'Missing closing "quote');return n}(o,c);break;default:return n(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${r}`),{value:"",type:null,comment:"",range:[i,i+o.length,i+o.length]}}const u=i+o.length,h=Uw(a,u,t,n);return{value:l,type:s,comment:h.comment,range:[i,u,h.offset]}}function Xw(e){let t,n;try{t=new RegExp("(.*?)(?i(n,"TAG_RESOLVE_FAILED",e))):null;let c,u;c=e.options.stringKeys&&e.atKey?e.schema[yy]:l?function(e,t,n,i,r){if("!"===n)return e[yy];const o=[];for(const t of e.tags)if(!t.collection&&t.tag===n){if(!t.default||!t.test)return t;o.push(t)}for(const e of o)if(e.test?.test(t))return e;const a=e.knownTags[n];if(a&&!a.collection)return e.tags.push(Object.assign({},a,{default:!1,test:void 0})),a;return r(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,"tag:yaml.org,2002:str"!==n),e[yy]}(e.schema,r,l,n,i):"scalar"===t.type?function({atKey:e,directives:t,schema:n},i,r,o){const a=n.tags.find((t=>(!0===t.default||e&&"key"===t.default)&&t.test?.test(i)))||n[yy];if(n.compat){const e=n.compat.find((e=>e.default&&e.test?.test(i)))??n[yy];if(a.tag!==e.tag){o(r,"TAG_RESOLVE_FAILED",`Value may be parsed as either ${t.tagString(a.tag)} or ${t.tagString(e.tag)}`,!0)}}return a}(e,r,t,i):e.schema[yy];try{const o=c.resolve(r,(e=>i(n??t,"TAG_RESOLVE_FAILED",e)),e.options);u=My(o)?o:new Xy(o)}catch(e){const o=e instanceof Error?e.message:String(e);i(n??t,"TAG_RESOLVE_FAILED",o),u=new Xy(r)}return u.range=s,u.source=r,o&&(u.type=o),l&&(u.tag=l),c.format&&(u.format=c.format),a&&(u.comment=a),u}function tk(e,t,n){if(t){null===n&&(n=t.length);for(let i=n-1;i>=0;--i){let n=t[i];switch(n.type){case"space":case"comment":case"newline":e-=n.source.length;continue}for(n=t[++i];"space"===n?.type;)e+=n.source.length,n=t[++i];break}}return e}const nk={composeNode:ik,composeEmptyNode:rk};function ik(e,t,n,i){const r=e.atKey,{spaceBefore:o,comment:a,anchor:s,tag:l}=n;let c,u=!0;switch(t.type){case"alias":c=function({options:e},{offset:t,source:n,end:i},r){const o=new Ky(n.substring(1));""===o.source&&r(t,"BAD_ALIAS","Alias cannot be an empty string");o.source.endsWith(":")&&r(t+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);const a=t+n.length,s=Uw(i,a,e.strict,r);o.range=[t,a,s.offset],s.comment&&(o.comment=s.comment);return o}(e,t,i),(s||l)&&i(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":c=ek(e,t,l,i),s&&(c.anchor=s.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":c=function(e,t,n,i,r){const o=i.tag,a=o?t.directives.tagName(o.source,(e=>r(o,"TAG_RESOLVE_FAILED",e))):null;if("block-seq"===n.type){const{anchor:e,newlineAfterProp:t}=i,n=e&&o?e.offset>o.offset?e:o:e??o;n&&(!t||t.offsete.tag===a&&e.collection===s));if(!l){const i=t.schema.knownTags[a];if(!i||i.collection!==s)return i?.collection?r(o,"BAD_COLLECTION_TYPE",`${i.tag} used for ${s} collection, but expects ${i.collection}`,!0):r(o,"TAG_RESOLVE_FAILED",`Unresolved tag: ${a}`,!0),Kw(e,t,n,r,a);t.schema.tags.push(Object.assign({},i,{default:!1})),l=i}const c=Kw(e,t,n,r,a,l),u=l.resolve?.(c,(e=>r(o,"TAG_RESOLVE_FAILED",e)),t.options)??c,h=Dy(u)?u:new Xy(u);return h.range=c.range,h.tag=a,l?.format&&(h.format=l.format),h}(nk,e,t,n,i),s&&(c.anchor=s.source.substring(1));break;default:i(t,"UNEXPECTED_TOKEN","error"===t.type?t.message:`Unsupported token (type: ${t.type})`),c=rk(e,t.offset,void 0,null,n,i),u=!1}if(s&&""===c.anchor&&i(s,"BAD_ALIAS","Anchor cannot be an empty string"),r&&e.options.stringKeys&&(!My(c)||"string"!=typeof c.value||c.tag&&"tag:yaml.org,2002:str"!==c.tag)){i(l??t,"NON_STRING_KEY","With stringKeys, all keys must be strings")}return o&&(c.spaceBefore=!0),a&&("scalar"===t.type&&""===t.source?c.comment=a:c.commentBefore=a),e.options.keepSourceTokens&&u&&(c.srcToken=t),c}function rk(e,t,n,i,{spaceBefore:r,comment:o,anchor:a,tag:s,end:l},c){const u=ek(e,{type:"scalar",offset:tk(t,n,i),indent:-1,source:""},s,c);return a&&(u.anchor=a.source.substring(1),""===u.anchor&&c(a,"BAD_ALIAS","Anchor cannot be an empty string")),r&&(u.spaceBefore=!0),o&&(u.comment=o,u.range[2]=l),u}function ok(e){if("number"==typeof e)return[e,e+1];if(Array.isArray(e))return 2===e.length?e:[e[0],e[1]];const{offset:t,source:n}=e;return[t,t+("string"==typeof n?n.length:1)]}function ak(e){let t="",n=!1,i=!1;for(let r=0;r{const r=ok(e);i?this.warnings.push(new Bw(r,t,n)):this.errors.push(new Rw(r,t,n))},this.directives=new zy({version:e.version||"1.2"}),this.options=e}decorate(e,t){const{comment:n,afterEmptyLine:i}=ak(this.prelude);if(n){const r=e.contents;if(t)e.comment=e.comment?`${e.comment}\n${n}`:n;else if(i||e.directives.docStart||!r)e.commentBefore=n;else if(Ty(r)&&!r.flow&&r.items.length>0){let e=r.items[0];Sy(e)&&(e=e.key);const t=e.commentBefore;e.commentBefore=t?`${n}\n${t}`:n}else{const e=r.commentBefore;r.commentBefore=e?`${n}\n${e}`:n}}t?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:ak(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,n=-1){for(const t of e)yield*this.next(t);yield*this.end(t,n)}*next(e){switch(e.type){case"directive":this.directives.add(e.source,((t,n,i)=>{const r=ok(e);r[0]+=t,this.onError(r,"BAD_DIRECTIVE",n,i)})),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{const t=function(e,t,{offset:n,start:i,value:r,end:o},a){const s=Object.assign({_directives:t},e),l=new Ow(void 0,s),c={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},u=Hw(i,{indicator:"doc-start",next:r??o?.[0],offset:n,onError:a,parentIndent:0,startOnNewline:!0});u.found&&(l.directives.docStart=!0,!r||"block-map"!==r.type&&"block-seq"!==r.type||u.hasNewline||a(u.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),l.contents=r?ik(c,r,u,a):rk(c,u.end,i,null,u,a);const h=l.contents.range[2],p=Uw(o,h,!1,a);return p.comment&&(l.comment=p.comment),l.range=[n,h,p.offset],l}(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{const t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,n=new Rw(ok(e),"UNEXPECTED_TOKEN",t);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){const t="Unexpected doc-end without preceding document";this.errors.push(new Rw(ok(e),"UNEXPECTED_TOKEN",t));break}this.doc.directives.docEnd=!0;const t=Uw(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){const e=this.doc.comment;this.doc.comment=e?`${e}\n${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new Rw(ok(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){const e=Object.assign({_directives:this.directives},this.options),n=new Ow(void 0,e);this.atDirectives&&this.onError(t,"MISSING_CHAR","Missing directives-end indicator line"),n.range=[0,t,t],this.decorate(n,!1),yield n}}}const lk=Symbol("break visit"),ck=Symbol("skip children"),uk=Symbol("remove item");function hk(e,t){"type"in e&&"document"===e.type&&(e={start:e.start,value:e.value}),pk(Object.freeze([]),e,t)}function pk(e,t,n){let i=n(t,e);if("symbol"==typeof i)return i;for(const r of["key","value"]){const o=t[r];if(o&&"items"in o){for(let t=0;t{let n=e;for(const[e,i]of t){const t=n?.[e];if(!t||!("items"in t))return;n=t.items[i]}return n},hk.parentCollection=(e,t)=>{const n=hk.itemAtPath(e,t.slice(0,-1)),i=t[t.length-1][0],r=n?.[i];if(r&&"items"in r)return r;throw new Error("Parent collection not found")};const dk="";function fk(e){switch(e){case void 0:case" ":case"\n":case"\r":case"\t":return!0;default:return!1}}const mk=new Set("0123456789ABCDEFabcdef"),vk=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),gk=new Set(",[]{}"),yk=new Set(" ,[]{}\n\r\t"),bk=e=>!e||yk.has(e);class wk{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){if(e){if("string"!=typeof e)throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!t;let n=this.next??"stream";for(;n&&(t||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;" "===t||"\t"===t;)t=this.buffer[++e];return!t||"#"===t||"\n"===t||"\r"===t&&"\n"===this.buffer[e+1]}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let n=0;for(;" "===t;)t=this.buffer[++n+e];if("\r"===t){const t=this.buffer[n+e+1];if("\n"===t||!t&&!this.atEnd)return e+n+1}return"\n"===t||n>=this.indentNext||!t&&!this.atEnd?e+n:-1}if("-"===t||"."===t){const t=this.buffer.substr(e,3);if(("---"===t||"..."===t)&&fk(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return("number"!=typeof e||-1!==e&&ethis.indentValue&&!fk(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){const[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext("block-start");if(("-"===e||"?"===e||":"===e)&&fk(t)){const e=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=e,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);const e=this.getLine();if(null===e)return this.setNext("doc");let t=yield*this.pushIndicators();switch(e[t]){case"#":yield*this.pushCount(e.length-t);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(bk),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return t+=(yield*this.parseBlockScalarHeader()),t+=(yield*this.pushSpaces(!0)),yield*this.pushCount(e.length-t),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,t,n=-1;do{e=yield*this.pushNewline(),e>0?(t=yield*this.pushSpaces(!1),this.indentValue=n=t):t=0,t+=(yield*this.pushSpaces(!0))}while(e+t>0);const i=this.getLine();if(null===i)return this.setNext("flow");if(-1!==n&&n"0"&&t<="9")this.blockScalarIndent=Number(t)-1;else if("-"!==t)break}return yield*this.pushUntil((e=>fk(e)||"#"===e))}*parseBlockScalar(){let e,t=this.pos-1,n=0;e:for(let i=this.pos;e=this.buffer[i];++i)switch(e){case" ":n+=1;break;case"\n":t=i,n=0;break;case"\r":{const e=this.buffer[i+1];if(!e&&!this.atEnd)return this.setNext("block-scalar");if("\n"===e)break}default:break e}if(!e&&!this.atEnd)return this.setNext("block-scalar");if(n>=this.indentNext){-1===this.blockScalarIndent?this.indentNext=n:this.indentNext=this.blockScalarIndent+(0===this.indentNext?1:this.indentNext);do{const e=this.continueScalar(t+1);if(-1===e)break;t=this.buffer.indexOf("\n",e)}while(-1!==t);if(-1===t){if(!this.atEnd)return this.setNext("block-scalar");t=this.buffer.length}}let i=t+1;for(e=this.buffer[i];" "===e;)e=this.buffer[++i];if("\t"===e){for(;"\t"===e||" "===e||"\r"===e||"\n"===e;)e=this.buffer[++i];t=i-1}else if(!this.blockScalarKeep)for(;;){let e=t-1,i=this.buffer[e];"\r"===i&&(i=this.buffer[--e]);const r=e;for(;" "===i;)i=this.buffer[--e];if(!("\n"===i&&e>=this.pos&&e+1+n>r))break;t=e}return yield dk,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){const e=this.flowLevel>0;let t,n=this.pos-1,i=this.pos-1;for(;t=this.buffer[++i];)if(":"===t){const t=this.buffer[i+1];if(fk(t)||e&&gk.has(t))break;n=i}else if(fk(t)){let r=this.buffer[i+1];if("\r"===t&&("\n"===r?(i+=1,t="\n",r=this.buffer[i+1]):n=i),"#"===r||e&&gk.has(r))break;if("\n"===t){const e=this.continueScalar(i+1);if(-1===e)break;i=Math.max(i,e-2)}}else{if(e&&gk.has(t))break;n=i}return t||this.atEnd?(yield dk,yield*this.pushToIndex(n+1,!0),e?"flow":"doc"):this.setNext("plain-scalar")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){const n=this.buffer.slice(this.pos,e);return n?(yield n,this.pos+=n.length,n.length):(t&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(bk))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{const e=this.flowLevel>0,t=this.charAt(1);if(fk(t)||e&&gk.has(t))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if("<"===this.charAt(1)){let e=this.pos+2,t=this.buffer[e];for(;!fk(t)&&">"!==t;)t=this.buffer[++e];return yield*this.pushToIndex(">"===t?e+1:e,!1)}{let e=this.pos+1,t=this.buffer[e];for(;t;)if(vk.has(t))t=this.buffer[++e];else{if("%"!==t||!mk.has(this.buffer[e+1])||!mk.has(this.buffer[e+2]))break;t=this.buffer[e+=3]}return yield*this.pushToIndex(e,!1)}}*pushNewline(){const e=this.buffer[this.pos];return"\n"===e?yield*this.pushCount(1):"\r"===e&&"\n"===this.charAt(1)?yield*this.pushCount(2):0}*pushSpaces(e){let t,n=this.pos-1;do{t=this.buffer[++n]}while(" "===t||e&&"\t"===t);const i=n-this.pos;return i>0&&(yield this.buffer.substr(this.pos,i),this.pos=n),i}*pushUntil(e){let t=this.pos,n=this.buffer[t];for(;!e(n);)n=this.buffer[++t];return yield*this.pushToIndex(t,!1)}}function kk(e,t){for(let n=0;n=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;"space"===e[++t]?.type;);return e.splice(t,e.length)}function xk(e){if("flow-seq-start"===e.start.type)for(const t of e.items)!t.sep||t.value||kk(t.start,"explicit-key-ind")||kk(t.sep,"map-value-ind")||(t.key&&(t.value=t.key),delete t.key,Ek(t.value)?t.value.end?Array.prototype.push.apply(t.value.end,t.sep):t.value.end=t.sep:Array.prototype.push.apply(t.start,t.sep),delete t.sep)}class Tk{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new wk,this.onNewLine=e}*parse(e,t=!1){this.onNewLine&&0===this.offset&&this.onNewLine(0);for(const n of this.lexer.lex(e,t))yield*this.next(n);t||(yield*this.end())}*next(e){if(this.source=e,this.atScalar)return this.atScalar=!1,yield*this.step(),void(this.offset+=e.length);const t=function(e){switch(e){case"\ufeff":return"byte-order-mark";case"":return"doc-mode";case"":return"flow-error-end";case dk:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case"\n":case"\r\n":return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case"\t":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}(e);if(t)if("scalar"===t)this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=t,yield*this.step(),t){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&" "===e[0]&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{const t=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:t,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){const e=this.peek(1);if("doc-end"!==this.type||e&&"doc-end"===e.type){if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}else{for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source})}}peek(e){return this.stack[this.stack.length-e]}*pop(e){const t=e??this.stack.pop();if(t)if(0===this.stack.length)yield t;else{const e=this.peek(1);switch("block-scalar"===t.type?t.indent="indent"in e?e.indent:0:"flow-collection"===t.type&&"document"===e.type&&(t.indent=0),"flow-collection"===t.type&&xk(t),e.type){case"document":e.value=t;break;case"block-scalar":e.props.push(t);break;case"block-map":{const n=e.items[e.items.length-1];if(n.value)return e.items.push({start:[],key:t,sep:[]}),void(this.onKeyLine=!0);if(!n.sep)return Object.assign(n,{key:t,sep:[]}),void(this.onKeyLine=!n.explicitKey);n.value=t;break}case"block-seq":{const n=e.items[e.items.length-1];n.value?e.items.push({start:[],value:t}):n.value=t;break}case"flow-collection":{const n=e.items[e.items.length-1];return void(!n||n.value?e.items.push({start:[],key:t,sep:[]}):n.sep?n.value=t:Object.assign(n,{key:t,sep:[]}))}default:yield*this.pop(),yield*this.pop(t)}if(!("document"!==e.type&&"block-map"!==e.type&&"block-seq"!==e.type||"block-map"!==t.type&&"block-seq"!==t.type)){const n=t.items[t.items.length-1];n&&!n.sep&&!n.value&&n.start.length>0&&-1===Ck(n.start)&&(0===t.indent||n.start.every((e=>"comment"!==e.type||e.indent=e.indent){const n=!this.onKeyLine&&this.indent===e.indent,i=n&&(t.sep||t.explicitKey)&&"seq-item-ind"!==this.type;let r=[];if(i&&t.sep&&!t.value){const n=[];for(let i=0;ie.indent&&(n.length=0);break;default:n.length=0}}n.length>=2&&(r=t.sep.splice(n[1]))}switch(this.type){case"anchor":case"tag":return void(i||t.value?(r.push(this.sourceToken),e.items.push({start:r}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken));case"explicit-key-ind":return t.sep||t.explicitKey?i||t.value?(r.push(this.sourceToken),e.items.push({start:r,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}):(t.start.push(this.sourceToken),t.explicitKey=!0),void(this.onKeyLine=!0);case"map-value-ind":if(t.explicitKey)if(t.sep)if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(kk(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]});else if(Ek(t.key)&&!kk(t.sep,"newline")){const e=Mk(t.start),n=t.key,i=t.sep;i.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:n,sep:i}]})}else r.length>0?t.sep=t.sep.concat(r,this.sourceToken):t.sep.push(this.sourceToken);else if(kk(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{const e=Mk(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]})}else t.sep?t.value||i?e.items.push({start:r,key:null,sep:[this.sourceToken]}):kk(t.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return void(this.onKeyLine=!0);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const n=this.flowScalar(this.type);return void(i||t.value?(e.items.push({start:r,key:n,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(n):(Object.assign(t,{key:n,sep:[]}),this.onKeyLine=!0))}default:{const t=this.startBlockValue(e);if(t)return n&&"block-seq"!==t.type&&e.items.push({start:r}),void this.stack.push(t)}}}yield*this.pop(),yield*this.step()}*blockSequence(e){const t=e.items[e.items.length-1];switch(this.type){case"newline":if(t.value){const n="end"in t.value?t.value.end:void 0,i=Array.isArray(n)?n[n.length-1]:void 0;"comment"===i?.type?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){const n=e.items[e.items.length-2],i=n?.value?.end;if(Array.isArray(i))return Array.prototype.push.apply(i,t.start),i.push(this.sourceToken),void e.items.pop()}t.start.push(this.sourceToken)}return;case"anchor":case"tag":if(t.value||this.indent<=e.indent)break;return void t.start.push(this.sourceToken);case"seq-item-ind":if(this.indent!==e.indent)break;return void(t.value||kk(t.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken))}if(this.indent>e.indent){const t=this.startBlockValue(e);if(t)return void this.stack.push(t)}yield*this.pop(),yield*this.step()}*flowCollection(e){const t=e.items[e.items.length-1];if("flow-error-end"===this.type){let e;do{yield*this.pop(),e=this.peek(1)}while(e&&"flow-collection"===e.type)}else if(0===e.end.length){switch(this.type){case"comma":case"explicit-key-ind":return void(!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken));case"map-value-ind":return void(!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]}));case"space":case"comment":case"newline":case"anchor":case"tag":return void(!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken));case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const n=this.flowScalar(this.type);return void(!t||t.value?e.items.push({start:[],key:n,sep:[]}):t.sep?this.stack.push(n):Object.assign(t,{key:n,sep:[]}))}case"flow-map-end":case"flow-seq-end":return void e.end.push(this.sourceToken)}const n=this.startBlockValue(e);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{const t=this.peek(2);if("block-map"===t.type&&("map-value-ind"===this.type&&t.indent===e.indent||"newline"===this.type&&!t.items[t.items.length-1].sep))yield*this.pop(),yield*this.step();else if("map-value-ind"===this.type&&"flow-collection"!==t.type){const n=Mk(Sk(t));xk(e);const i=e.end.splice(1,e.end.length);i.push(this.sourceToken);const r={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:n,key:e,sep:i}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=r}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let e=this.source.indexOf("\n")+1;for(;0!==e;)this.onNewLine(this.offset+e),e=this.source.indexOf("\n",e)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const t=Mk(Sk(e));return t.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:t,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const t=Mk(Sk(e));return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:t,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return"comment"===this.type&&(!(this.indent<=t)&&e.every((e=>"newline"===e.type||"space"===e.type)))}*documentEnd(e){"doc-mode"!==this.type&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop())}}}class Dk{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,n=this.lineStarts.length;for(;t>1;this.lineStarts[i]bb(r.options.logLevel,e))),r.errors.length>0){if("silent"!==r.options.logLevel)throw r.errors[0];r.errors=[]}return r.toJS(Object.assign({reviver:i},n))}function Lk(e){return Pk(e,null,{})}function Ik(e){return function(e,t,n){let i=null;if("function"==typeof t||Array.isArray(t)?i=t:void 0===n&&t&&(n=t),"string"==typeof n&&(n=n.length),"number"==typeof n){const e=Math.round(n);n=e<1?void 0:e>8?{indent:8}:{indent:e}}if(void 0===e){const{keepUndefined:e}=n??t??{};if(!e)return}return Cy(e)&&!i?e.toString(n):new Ow(e,i,n).toString(n)}(e,null,{nullStr:"",lineWidth:0,aliasDuplicateObjects:!1})}var Ok=window.moment,Fk=n(9650),Nk=n.n(Fk),Rk=n(6658),Bk=n.n(Rk),Vk=n(4967),Hk=Nk(),zk=Vk.Parser,qk=function(){function e(){this.transformers=[]}return e.prototype.addTransformer=function(e){this.transformers.push(e)},e.prototype.removeTransformer=function(e){for(var t=this.transformers,n=0;n0&&(n=r[0].position.start,i=r[r.length-1].position.end),e.substring(n.offset,i.offset).trim()}var Kk=/^#[^\u2000-\u206F\u2E00-\u2E7F'!"#$%&()*+,.:;<=>?@^`{|}~\[\]\\\s]+/;function Yk(e,t,n){var i=e.metadataCache.getFileCache(t);if(!i||!i.headings)return null;for(var r=null,o=0,a=i.headings;on.line)break;r=s}return r}function Zk(e,t){var n=e.content,i=e.node,r=i.position.start.offset,o=i.position.end.offset,a=0,s="paragraph"===i.type||"listItem"===i.type,l="^"+t;if(s){if(l=" "+l,"listItem"===i.type){var c=i.children;if(c&&c.length>1){var u=c[c.length-1],h=c[c.length-2];"list"===u.type&&(o=h.position.end.offset)}}}else l="\n\n"+l,a=2;return s||"\n"===n.charAt(o)&&"\n"===n.charAt(o+1)||(l+="\n",a++),{blockStart:r,blockEnd:o,addition:l,newlines:a}}function Xk(e){return""===e||Array.isArray(e)&&0===e.length?null:e}var Qk=new RegExp(Kk.source+"$"),$k=/^#\d+$/;function Jk(e){return!!e&&Qk.test(e)&&!$k.test(e)}var eC=Vn.mark({class:"is-invalid"}),tC=Vn.replace({block:!0});function nC(e,t){var n=e.coordsAtPos(t);if(!n)return!1;var i=e.coordsAtPos(iC(e.state.doc)+1);return!!i&&i.top===n.top}function iC(e){var t=-1;if("---"===e.line(1).text)for(var n=2;n<=e.lines;n++){var i=e.line(n);if("---"===i.text){t=i.to;break}}return t}function rC(e,t){var n=e.cm,i="",r=null;function o(e){if(e!==i){i=e;try{!function(e){var t,n=null!==(t=Lk(e))&&void 0!==t?t:{};if("object"!=typeof n||Array.isArray(n))throw new Rw([0,0],"BAD_COLLECTION_TYPE","Frontmatter must be a valid object!")}(e),r=null}catch(e){r=e}}return r}var a=ke.define({create:function(){return Vn.none},update:function(t,n){var i=[],r=n.newDoc,a=iC(n.newDoc),s=-1!==a&&"source"!==e.app.vault.getConfig("propertiesInDocument");if(-1!==a){var l=o(r.sliceString(3,a-3));if(l){s=!1,i.push(eC.range(0,a));var c=Math.clamp(l.pos[0]+3,4,a-3);i.push(Vn.mark({class:"error-marker",attributes:{"aria-label":lm.properties.labelInvalidYamlMarker()}}).range(c,c+1))}}return s&&i.push(tC.range(0,a)),Vn.set(i,!0)},provide:function(e){return jo.decorations.from(e)}}),s=nt.transactionFilter.of((function(t){if(n.composing||!$g(t))return t;if("source"===e.app.vault.getConfig("propertiesInDocument"))return t;if(ay([t],Zg))return n.dom.win.setTimeout((function(){e.app.commands.executeCommandById("markdown:add-metadata-property")}),30),t;var i=t.startState.doc,r=iC(i);if(-1===r)return t;if(o(i.sliceString(3,r-3)))return t;var a=void 0,s=t.newDoc,l=iC(s),c=s.length;c===l&&(c++,a=[{insert:"\n",from:l}]);var u=t.newSelection;if(u.ranges.some((function(e){var t=e.from,n=e.to;return t<=r||n<=r}))){var h=!1;if(t.changes.iterChangedRanges((function(e,t,n,i){e>=3&&t\s]*)(([*+-] |(\d+)([.)] ))(?:\[(.)\] )?)?/,dC=/^([>\s]*)(#{1,6} )?(.*)/,fC=[{regex:/(!)?【【$/,replace:function(e){return e[1]?"![[":"[["}},{regex:/】】$/,replace:function(){return"]]"}},{regex:/【【$/,replace:function(){return"[["}}],mC=function(){function e(){}return e.prototype.getDoc=function(){return this},e.prototype.setLine=function(e,t){this.replaceRange(t,cC(e,0),cC(e,this.getLine(e).length))},e.prototype.somethingSelected=function(){return!!this.getSelection()},e.prototype.setCursor=function(e,t){return Number.isNumber(e)?this.setSelection({line:e,ch:t}):this.setSelection(e)},e.prototype.posAtMouse=function(e){return this.posAtCoords(e.clientX,e.clientY)},e.prototype.insertText=function(e){var t=this.lineCount()-1,n=cC(t,this.getLine(t).length);this.replaceRange(e,n),n=cC(t=this.lineCount()-1,this.getLine(t).length),this.setSelection(n)},e.prototype.processLines=function(e,t,n){void 0===n&&(n=!0);for(var i=this.listSelections(),r=function(e){for(var t=[],n=0,i=e;n1&&!c.trim())o.push(null);else{var u=e(l,c);o.push(u)}}for(var h=[],p=0;p "}:e?void 0:{from:cC(t,0),to:cC(t,r),text:""}}),!1)},e.prototype.toggleBulletList=function(){var e=!1;this.processLines((function(t,n){var i=n.match(pC);return(!i[3]||i[4]||i[6])&&(e=!0),i}),(function(t,n,i){return i?{from:cC(t,0),to:cC(t,i[0].length),text:i[1]+(e?"- ":"")}:null}))},e.prototype.toggleNumberList=function(){var e=!1;this.processLines((function(t,n){var i=n.match(pC);return i[4]||(e=!0),i}),(function(t,n,i){return i?{from:cC(t,0),to:cC(t,i[0].length),text:i[1]+(e?"1. ":"")}:null}))},e.prototype.toggleCheckList=function(e){var t=3;this.processLines((function(n,i){var r=i.match(pC);return t>2&&" "===r[6]&&(t=2),t>1&&!r[6]&&(t=1),e&&t>0&&!r[3]&&(t=0),r}),(function(n,i,r){if(!r)return null;var o=r[0],a=r[1],s=r[3],l={from:cC(n,0),to:cC(n,o.length),text:i.substr(0,o.length)},c=a+(s||"- ");return l.text=c,1===t?r[6]||(l.text=c+"[ ] "):2===t?l.text=c+"[x] ":3===t&&(l.text=e?c:c+"[ ] "),l}))},e.prototype.insertCallout=function(){var e=this.getCursor("from"),t=this.getCursor("to");if(!hC(e,t)||this.getLine(e.line).substring(0,e.ch).trim()){var n=[],i="> [!NOTE]\n> ",r={from:cC(e.line,4),to:cC(e.line,8)};e.line>0&&this.getLine(e.line-1)&&(i="\n"+i,r.from.line+=1,r.to.line+=1),n.push({from:cC(e.line,0),text:i});for(var o=e.line+1;o<=t.line;o++)n.push({from:cC(o,0),text:"> "});t.line [!NOTE] Title\n> Contents\n"}],selection:{from:cC(e.line+1,4),to:cC(e.line+1,8)}})},e.prototype.insertCodeblock=function(){this.insertBlock("```","```")},e.prototype.insertMathBlock=function(){this.insertBlock("$$","$$")},e.prototype.indentList=function(){this.exec("indentMore")},e.prototype.unindentList=function(){this.exec("indentLess")},e.prototype.newlineAndIndentContinueMarkdownList=function(){for(var e=this,t=this.listSelections(),n=[],i=function(t){var i=t.head;if(t.head.line!==t.anchor.line||t.head.ch!==t.anchor.ch)return!1;var r=e.getLine(i.line),o=pC.exec(r);if(!o||!o[0])return!1;var a=o[0],s=o[1],l=o[2],c=o[3],u=o[4],h=o[5],p=o[6],d=a.length;if(i.ch=0;f--){var m=e.getLine(f),v=pC.exec(m);if(v[2]&&v[0].length===d){a=v[0],s=v[1],l=v[2],c=v[3],u=v[4],h=v[5],p=v[6];break}if(v[0].length")||s.endsWith("> ")){if(l)return n.push({text:"",from:cC(i.line,s.length),to:i}),!0;var g=s.endsWith(">")?1:2;if(i.line>0)if(e.getLine(i.line-1)===s)return n.push({text:"",from:cC(i.line-1,s.length-g),to:cC(i.line-1,s.length)},{text:"",from:cC(i.line,s.length-g),to:cC(i.line,s.length)}),!0;var y=s.substr(0,s.length-g);return n.push({text:"\n"+y,from:cC(i.line,s.length-g),to:cC(i.line,s.length)}),!0}if(s.endsWith("\t"))return n.push({text:"",from:cC(i.line,s.length-1),to:cC(i.line,s.length)}),!0;for(var b=0;b<4&&" "===s.charAt(s.length-b-1);b++);return b>0?(n.push({text:"",from:cC(i.line,s.length-b),to:cC(i.line,s.length)}),!0):(n.push({text:"",from:cC(i.line),to:cC(i.line,s.length)}),!0)}if(!l)return n.push({text:r.charAt(i.ch-1)+"\n"+s,from:cC(i.line,i.ch-1),to:i}),!0;var w=c;u&&(w=parseInt(u,10)+1+h),p&&(w+="[ ] ");var k=pC.exec(r.substring(i.ch));return k&&k[3]&&(w=""),n.push({text:r.charAt(i.ch-1)+"\n"+s+w,from:cC(i.line,i.ch-1),to:i}),k&&k[1]&&n.push({text:"",from:i,to:cC(i.line,i.ch+k[1].length)}),!0},r=0,o=t;r"),e+"|"}(e)+EC(t," |")}});var wC={left:":--",right:"--:",center:":-:"};function kC(e){if(!e)return!1;var t,n,i=e.parentNode;return"THEAD"===i.nodeName||i.firstChild===e&&("TABLE"===i.nodeName||(n=(t=i).previousSibling,"TBODY"===t.nodeName&&(!n||"THEAD"===n.nodeName&&/^\s*$/i.test(n.textContent))))&&Array.prototype.every.call(e.childNodes,(function(e){return"TH"===e.nodeName}))}function CC(e){var t=e.getAttribute("colspan");if(!t)return 0;var n=parseInt(t);return isNaN(n)?0:Math.max(0,n-1)}function EC(e,t){return t.repeat(CC(e))}function SC(e){return gC.turndown(e)}gC.addRule("tableRow",{filter:"tr",replacement:function(e,t){var n="";if(kC(t))for(var i=0;i0?n[e]=r:delete n[e]},e.prototype.offref=function(e){if(e){var t=e.name,n=this._,i=n[t],r=[];if(i&&e)for(var o=0;o:|?':"\\/:"+(Gl?'*?<>"':""),PC=AC.split("").join(" "),LC=DC.split("").join(" "),IC=new RegExp("["+oc(AC)+"]"),OC=new RegExp("["+oc(DC)+"]"),FC=/^(CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])$/i;function NC(e){try{return RC(e),!0}catch(e){return!1}}function RC(e){if(Wl){var t=e.charAt(e.length-1);if("."===t||" "===t)throw new Error("File names cannot end with a dot or a space.");var n=iu(e);if(FC.test(n))throw new Error("File name is forbidden: "+n)}if(e.split("/").some((function(e){return IC.test(e)})))throw new Error("File name cannot contain any of the following characters: "+PC)}var BC=".obsidian",VC=function(){function e(e,t){this.parent=null,this.deleted=!1,this.vault=e,this.setPath(t)}return e.prototype.setPath=function(e){this.path=e,this.name=eu(e)},e.prototype.getNewPathAfterRename=function(e){return e=e.replace(/[\x00-\x1F]/g," ").trim(),this.parent?this.parent.isRoot()?e:this.parent.path+"/"+e:""},e}(),HC=new WeakMap,zC=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.saving=!1,i.stat=null,i}return m(t,e),t.prototype.setPath=function(t){e.prototype.setPath.call(this,t),this.basename=iu(this.name),this.extension=ou(this.name)},t.prototype.getShortName=function(){return"md"===this.extension?this.basename:this.name},t.prototype.getNewPathAfterRename=function(t){return e.prototype.getNewPathAfterRename.call(this,au(t,this.extension))},t.prototype.cache=function(e){if(null!=e){var t=this.vault.cacheLimit;e.length<=t?HC.set(this,e):HC.delete(this)}else HC.delete(this)},t.prototype.updateCacheLimit=function(){var e=this.vault.cacheLimit;HC.has(this)&&HC.get(this).length>e&&HC.delete(this)},t.prototype.toString=function(){return this.path},t}(VC),qC=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.children=[],i}return m(t,e),t.prototype.isRoot=function(){return"/"===this.path},t.prototype.getParentPrefix=function(){return this.isRoot()?"":this.path+"/"},t.prototype.getFileCount=function(){for(var e=0,n=0,i=this.children;nthis.configTs&&(n=!0),[3,4];case 3:return l.sent(),n=!0,[3,4];case 4:return l.trys.push([4,6,,7]),[4,this.adapter.stat(t)];case 5:return l.sent().mtime>this.configTs&&(n=!0),[3,7];case 6:return l.sent(),n=!0,[3,7];case 7:return n?(this.configTs=Date.now(),[4,this.readConfigJson("app")]):[2];case 8:return i=l.sent(),[4,this.readConfigJson("appearance")];case 9:for(s in r=l.sent(),o=Object.assign({},r,i),a=this.config,o)o.hasOwnProperty(s)&&(a.hasOwnProperty(s)&&JSON.stringify(a[s])===JSON.stringify(o[s])||(a[s]=o[s],this.trigger("config-changed",s)));for(s in a)a.hasOwnProperty(s)&&!o.hasOwnProperty(s)&&(delete a[s],this.trigger("config-changed",s));return[2]}}))}))}),500,!0),n.adapter=t,n.root=new qC(n,""),n.onChange("folder-created","/"),n.root=n.fileMap["/"],n}return m(t,e),t.prototype.getName=function(){return this.adapter.getName()},t.prototype.setFileCacheLimit=function(e){this.cacheLimit=e;var t=this.fileMap;for(var n in t)if(t.hasOwnProperty(n)){var i=t[n];i instanceof zC&&i.updateCacheLimit()}},t.validateConfigDir=function(e){return"."!==e&&e.startsWith(".")&&!IC.test(e)},t.prototype.setConfigDir=function(e){t.validateConfigDir(e)||(e=BC),this.configDir=e},t.prototype.setupConfig=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o,a,s,l,c;return b(this,(function(u){switch(u.label){case 0:return t=(e=this).adapter,n=e.configDir,[4,t.exists(n)];case 1:return u.sent()?[3,3]:[4,t.mkdir(n)];case 2:u.sent(),u.label=3;case 3:return this.configTs=Date.now(),[4,this.readConfigJson("app")];case 4:return i=u.sent(),[4,this.readConfigJson("appearance")];case 5:for(s in r=u.sent(),o=this.config=Object.assign({},r,i),a={editorFontFamily:"textFontFamily"})a.hasOwnProperty(s)&&o.hasOwnProperty(s)&&(l=a[s],c=o[s],delete o[s],!o.hasOwnProperty(l)&&c&&(o[l]=c));return this.requestSaveConfig(),[2]}}))}))},t.prototype.saveConfig=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o,a,s;return b(this,(function(l){switch(l.label){case 0:return t=(e=this).adapter,n=e.configDir,[4,t.exists(n)];case 1:return l.sent()?[3,3]:[4,t.mkdir(n)];case 2:l.sent(),l.label=3;case 3:for(a in i=this.config,r={},o={},i)s=a,i.hasOwnProperty(s)&&(MC.contains(s)?o[s]=i[s]:r[s]=i[s]);return[4,this.writeConfigJson("app",r)];case 4:return l.sent(),[4,this.writeConfigJson("appearance",o)];case 5:return l.sent(),this.configTs=Date.now(),[2]}}))}))},t.prototype.getConfig=function(e){var t=this.config[e];return void 0===t&&(t=xC[e]),Array.isArray(t)||t&&"object"==typeof t?JSON.parse(JSON.stringify(t)):t},t.prototype.setConfig=function(e,t){this.config[e]!==t&&(void 0!==t?this.config[e]=t:delete this.config[e],this.requestSaveConfig(),this.trigger("config-changed",e))},t.prototype.readPluginData=function(e){var t=lu(e+"/data.json");return this.readJson(t)},t.prototype.writePluginData=function(e,t,n){var i=lu(e+"/data.json");return this.writeJson(i,t,n)},t.prototype.getConfigFile=function(e){return this.configDir+"/"+e+".json"},t.prototype.readConfigJson=function(e){return this.readJson(this.getConfigFile(e))},t.prototype.writeConfigJson=function(e,t,n){return this.writeJson(this.getConfigFile(e),t,n)},t.prototype.deleteConfigJson=function(e){var t=lu(this.configDir+"/"+e+".json");return this.adapter.remove(t)},t.prototype.readJson=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r;return b(this,(function(o){switch(o.label){case 0:t=lu(e),o.label=1;case 1:return o.trys.push([1,3,,4]),i=(n=JSON).parse,[4,this.adapter.read(t)];case 2:return[2,i.apply(n,[o.sent()])];case 3:return"ENOENT"===(r=o.sent()).code?[2,null]:(console.error("failed to read JSON",e,r),[3,4]);case 4:return[2,void 0]}}))}))},t.prototype.writeJson=function(e,t,n){return y(this,void 0,Promise,(function(){var i;return b(this,(function(r){switch(r.label){case 0:i=lu(e),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.adapter.write(i,JSON.stringify(t,void 0,2),n)];case 2:return r.sent(),[3,4];case 3:return r.sent(),[3,4];case 4:return[2]}}))}))},t.prototype.load=function(){return y(this,void 0,Promise,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,this.adapter.watch(this.onChange.bind(this))];case 1:return e.sent(),this.adapter instanceof Cu?[4,this.adapter.watchHiddenRecursive(this.configDir)]:[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}}))}))},t.prototype.getFileByPath=function(e){if(this.fileMap.hasOwnProperty(e)){var t=this.fileMap[e];if(t instanceof zC)return t}return null},t.prototype.getFolderByPath=function(e){if(this.fileMap.hasOwnProperty(e)){var t=this.fileMap[e];if(t instanceof qC)return t}return null},t.prototype.getAbstractFileByPath=function(e){return this.fileMap.hasOwnProperty(e)?this.fileMap[e]:null},t.prototype.getAbstractFileByPathInsensitive=function(e){var t=this.fileMap;if(t.hasOwnProperty(e))return t[e];var n=e.toLowerCase();for(var i in t)if(t.hasOwnProperty(i)&&i.length===n.length&&i.toLowerCase()===n)return t[i];return null},t.prototype.isEmpty=function(){return 1===Object.keys(this.fileMap).length},t.prototype.getRoot=function(){return this.root},t.prototype.checkForDuplicate=function(e,t){var n=e.getNewPathAfterRename(t),i=this.fileMap[n];return i&&i!==e},t.prototype.checkPath=function(e){RC(e)},t.prototype.onChange=function(e,t,n,i){if("folder-created"===e){var r=new qC(this,t);this.fileMap[t]=r,this.addChild(r),this.trigger("create",this.fileMap[t])}else if("file-created"===e){var o=new zC(this,t);o.stat=i,this.fileMap[t]=o,this.addChild(o),this.trigger("create",this.fileMap[t])}else if("modified"===e){if(!this.fileMap.hasOwnProperty(t))return;(a=this.fileMap[t])instanceof zC&&(a.stat=i,a.saving||a.cache(null)),this.trigger("modify",a)}else if("file-removed"===e||"folder-removed"===e){if(this.fileMap.hasOwnProperty(t)){var a=this.fileMap[t];this.removeChild(a),delete this.fileMap[t],a.deleted=!0,this.trigger("delete",a)}}else if("renamed"===e){if(this.fileMap.hasOwnProperty(n)){var s=this.fileMap[n];this.removeChild(s),s.setPath(t),this.addChild(s),this.fileMap[t]=s,delete this.fileMap[n],this.trigger("rename",s,n)}}else"closed"===e?this.trigger("closed"):"raw"===e&&(this.trigger("raw",t),t.startsWith(this.configDir+"/")&&this.adapter instanceof Cu&&this.adapter.watchHiddenRecursive(t),t!==this.getConfigFile("app")&&t!==this.getConfigFile("appearance")||this.reloadConfig())},t.prototype.getDirectParent=function(e){var t=e.path,n=t.lastIndexOf("/");if(-1===n)return this.fileMap["/"];var i=t.slice(0,n),r=this.fileMap[i];return r&&r instanceof qC?r:null},t.prototype.addChild=function(e){var t=e.parent,n=this.getDirectParent(e);n&&n!==t&&(t&&t.children.remove(e),n.children.push(e),e.parent=n)},t.prototype.removeChild=function(e){var t=e.parent;t&&(t.children.remove(e),e.parent=null)},t.prototype.exists=function(e,t){return y(this,void 0,Promise,(function(){var n;return b(this,(function(i){switch(i.label){case 0:return n=lu(e),[4,this.adapter.exists(n,t)];case 1:return[2,i.sent()]}}))}))},t.prototype.create=function(e,t,n){return y(this,void 0,Promise,(function(){var i,r;return b(this,(function(o){switch(o.label){case 0:return i=lu(e),this.checkPath(i),[4,this.adapter.exists(i)];case 1:if(o.sent())throw new Error("File already exists.");return[4,this.adapter.write(i,t,n)];case 2:return o.sent(),(r=this.getAbstractFileByPath(i))instanceof zC?[2,r]:[2,null]}}))}))},t.prototype.createBinary=function(e,t,n){return y(this,void 0,Promise,(function(){var i,r;return b(this,(function(o){switch(o.label){case 0:return i=lu(e),this.checkPath(i),[4,this.adapter.exists(i)];case 1:if(o.sent())throw new Error("File already exists.");return[4,this.adapter.writeBinary(i,t,n)];case 2:return o.sent(),(r=this.getAbstractFileByPath(i))instanceof zC?[2,r]:[2,null]}}))}))},t.prototype.createFolder=function(e){return y(this,void 0,Promise,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:return t=lu(e),this.checkPath(t),[4,this.adapter.exists(t)];case 1:if(i.sent())throw new Error("Folder already exists.");return[4,this.adapter.mkdir(t)];case 2:return i.sent(),(n=this.getAbstractFileByPath(t))instanceof qC?[2,n]:[2,null]}}))}))},t.prototype.read=function(e){return y(this,void 0,Promise,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return[4,this.adapter.read(e.path)];case 1:return 65279===(t=n.sent()).charCodeAt(0)&&(t=t.substring(1)),e.cache(t),[2,t]}}))}))},t.prototype.cachedRead=function(e){return y(this,void 0,Promise,(function(){return b(this,(function(t){return HC.has(e)?[2,HC.get(e)]:[2,this.read(e)]}))}))},t.prototype.readBinary=function(e){return y(this,void 0,Promise,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return[4,this.adapter.readBinary(e.path)];case 1:t=n.sent();try{"md"===e.extension&&t.byteLength<=this.cacheLimit&&e.cache((new TextDecoder).decode(t))}catch(e){}return[2,t]}}))}))},t.prototype.readRaw=function(e){return y(this,void 0,Promise,(function(){var t;return b(this,(function(n){return t=lu(e),[2,this.adapter.read(t)]}))}))},t.prototype.getResourcePath=function(e){return this.adapter.getResourcePath(e.path)},t.prototype.delete=function(e){return y(this,arguments,Promise,(function(e,t){return void 0===t&&(t=!1),b(this,(function(n){switch(n.label){case 0:return e?e===this.root?[2]:e instanceof zC?[4,this.adapter.remove(e.path)]:[3,2]:[3,4];case 1:return n.sent(),[3,4];case 2:return e instanceof qC?[4,this.adapter.rmdir(e.path,t)]:[3,4];case 3:n.sent(),n.label=4;case 4:return[2]}}))}))},t.prototype.trash=function(e,t){return y(this,void 0,void 0,(function(){return b(this,(function(n){switch(n.label){case 0:return e?e===this.root?[2]:t?[4,this.adapter.trashSystem(e.path)]:[3,2]:[2];case 1:if(n.sent())return[2];n.label=2;case 2:return[4,this.adapter.trashLocal(e.path)];case 3:return n.sent(),[2]}}))}))},t.prototype.rename=function(e,t){return y(this,void 0,Promise,(function(){var n;return b(this,(function(i){switch(i.label){case 0:return n=lu(t),e.path===n?[2]:(this.checkPath(n),[4,this.adapter.rename(e.path,n)]);case 1:return i.sent(),[2]}}))}))},t.prototype.modify=function(e,t,n){return y(this,void 0,Promise,(function(){var i,r;return b(this,(function(o){switch(o.label){case 0:i=e.saving,e.saving=!0,o.label=1;case 1:return o.trys.push([1,3,4,5]),(n=n||{}).immediate=function(){return e.cache(t)},[4,this.adapter.write(e.path,t,n)];case 2:return o.sent(),[3,5];case 3:throw r=o.sent(),e.cache(null),r;case 4:return e.saving=i,[7];case 5:return[2]}}))}))},t.prototype.modifyBinary=function(e,t,n){return y(this,void 0,Promise,(function(){var i;return b(this,(function(r){switch(r.label){case 0:i=e.saving,e.saving=!0,r.label=1;case 1:return r.trys.push([1,,3,4]),(n=n||{}).immediate=function(){return e.cache(null)},[4,this.adapter.writeBinary(e.path,t,n)];case 2:return r.sent(),[3,4];case 3:return e.saving=i,[7];case 4:return[2]}}))}))},t.prototype.append=function(e,t,n){return y(this,void 0,Promise,(function(){var i;return b(this,(function(r){switch(r.label){case 0:i=e.saving,e.saving=!0,r.label=1;case 1:return r.trys.push([1,,3,4]),(n=n||{}).immediate=function(){return e.cache(null)},[4,this.adapter.append(e.path,t,n)];case 2:return r.sent(),[3,4];case 3:return e.saving=i,[7];case 4:return[2]}}))}))},t.prototype.process=function(e,t,n){return y(this,void 0,Promise,(function(){var i,r;return b(this,(function(o){switch(o.label){case 0:i=e.saving,e.saving=!0,o.label=1;case 1:return o.trys.push([1,,3,4]),(n=n||{}).immediate=function(){return e.cache(null)},[4,this.adapter.process(e.path,t,n)];case 2:return r=o.sent(),e.cache(r),[2,r];case 3:return e.saving=i,[7];case 4:return[2]}}))}))},t.prototype.copy=function(e,t){return y(this,void 0,Promise,(function(){var n;return b(this,(function(i){switch(i.label){case 0:return n=(n=lu(t)).normalize("NFC"),this.checkPath(n),[4,this.adapter.copy(e.path,n)];case 1:return i.sent(),[2,this.getAbstractFileByPath(n)]}}))}))},t.prototype.getAllLoadedFiles=function(){var e=[];for(var t in this.fileMap)if(this.fileMap.hasOwnProperty(t)){var n=this.fileMap[t];e.push(n)}return e},t.prototype.getAllFolders=function(e){void 0===e&&(e=!1);var t=[];for(var n in this.fileMap)if(this.fileMap.hasOwnProperty(n)){var i=this.fileMap[n];if(i instanceof qC){if(!e&&i.isRoot())continue;t.push(i)}}return t},t.prototype.getAvailablePath=function(e,t){for(var n=1,i=au(e,t);this.getAbstractFileByPathInsensitive(i);)i=au(e+" "+n,t),n++;return i},t.prototype.getAvailablePathForAttachments=function(e,t,n){return y(this,void 0,Promise,(function(){var i,r,o,a;return b(this,(function(s){switch(s.label){case 0:return i=this.getConfig("attachmentFolderPath"),r="."===i||"./"===i,o=null,i.startsWith("./")&&(o=i.slice(2)),r?i=n?n.parent.path:"":o&&(i=(n?n.parent.getParentPrefix():"")+o),i=lu(i),e=lu(e),(a=this.getAbstractFileByPathInsensitive(i))?[3,2]:[4,this.createFolder(i)];case 1:a=s.sent(),s.label=2;case 2:return a instanceof qC?[2,this.getAvailablePath(a.getParentPrefix()+e,t)]:[2,this.getAvailablePath(e,t)]}}))}))},t.prototype.resolveFileUrl=function(e){if(Yl.isDesktopApp){e.startsWith(Yl.resourcePathPrefix)&&(e="file:///"+e.substring(Yl.resourcePathPrefix.length).split("?")[0]);var t=Lf("url");if(t&&e.startsWith("file://")){var n=t.fileURLToPath(e);return this.resolveFilePath(n)}}return null},t.prototype.resolveFilePath=function(e){var t=this.adapter;if(Yl.isDesktopApp&&t instanceof Cu){var n=t.getBasePath();if(e.startsWith(n)){var i=lu(e.substring(n.length)),r=this.getAbstractFileByPath(i);if(r instanceof zC)return r}}return null},t.recurseChildren=function(e,t){for(var n=[e];n.length>0;){var i=n.pop();if(i&&(t(i),i instanceof qC)){var r=i.children;n=n.concat(r)}}},t.prototype.getMarkdownFiles=function(){var e=[],n=this.getRoot();return t.recurseChildren(n,(function(t){t instanceof zC&&"md"===t.extension&&e.push(t)})),e},t.prototype.getFiles=function(){var e=[],n=this.getRoot();return t.recurseChildren(n,(function(t){t instanceof zC&&e.push(t)})),e},t.prototype.iterateFiles=function(e,t){return E(this,arguments,(function(){var n,i,r,o;return b(this,(function(a){switch(a.label){case 0:n=0,a.label=1;case 1:return n");if(-1!==t)return e.substring(1,t)}var n=/\s/.exec(e);return n?e.substring(0,n.index):e}var XC=/\u00A0/g;function QC(e){try{return decodeURI(e)}catch(t){return e}}function $C(e){return(t=e,t.replace(XC," ")).trim().normalize("NFC");var t}function JC(e){return e.replace(/[\\\x00\x08\x0B\x0C\x0E-\x1F ]/g,(function(e){return encodeURIComponent(e)}))}function eE(e){var t=e.match(/^#{1,6} (.*)/m);return null!==t?t[1]:null}function tE(e){return e.split("#").filter((function(e){return!!e})).join(" > ").trim()}function nE(e){var t="",n=e.indexOf("|"),i=n>0;return i?(t=e.substring(n+1).trim(),e=e.substring(0,n).trim()):t=tE(e=e.trim()),e.endsWith("\\")&&(e=e.substring(0,e.length-1)),{href:e=$C(e),title:t,isAlias:i}}var iE=n(2292),rE=n.n(iE),oE=n(7497),aE=n.n(oE),sE=n(7074),lE=n.n(sE);var cE=n(9650),uE=n(6658),hE=n(1039),pE=n(6859),dE=n(7497),fE=n(7194),mE=n(4297),vE=n(7824),gE=n(7583),yE=n(942),bE={}.hasOwnProperty,wE=!1;function kE(e,t){var n=function(e,t){var n=t||{};void 0===n.allowDangerousHTML||wE||(wE=!0,console.warn("mdast-util-to-hast: deprecation: `allowDangerousHTML` is nonstandard, use `allowDangerousHtml` instead"));var i=n.allowDangerousHtml||n.allowDangerousHTML,r={};return a.dangerous=i,a.definition=n.definitions||dE(e),a.footnoteById=r,a.footnoteOrder=[],a.augment=o,a.handlers=Object.assign({},yE,n.handlers),a.unknownHandler=n.unknownHandler,a.passThrough=n.passThrough,uE(e,"footnoteDefinition",(function(e){var t=String(e.identifier).toUpperCase();bE.call(r,t)||(r[t]=e)})),a;function o(e,t){var n,i;return e&&e.data&&((n=e.data).hName&&("element"!==t.type&&(t={type:"element",tagName:"",properties:{},children:[]}),t.tagName=n.hName),"element"===t.type&&n.hProperties&&(t.properties=Object.assign({},t.properties,n.hProperties)),t.children&&n.hChildren&&(t.children=n.hChildren)),i=e&&e.position?e:{position:e},pE(i)||(t.position={start:hE.start(i),end:hE.end(i)}),t}function a(e,t,n,i){return null==i&&"object"==typeof n&&"length"in n&&(i=n,n={}),o(e,{type:"element",tagName:t,properties:n||{},children:i||[]})}}(e,t),i=fE(n,e),r=gE(n);return r&&(i.children=i.children.concat(cE("text","\n"),r)),i}var CE=32,EE=91,SE="[inline";function ME(e,t,n,i){for(var r=e.length,o=-1;++o57))||h&&36===o){if(s=d-1,d++,h)for(var f=++d;fp&&32===t.charCodeAt(a-1);)a--;for(;a>p&&36===t.charCodeAt(a-1);)h++,a--;for(l<=h&&t.indexOf("$",p)===a&&(u=!0,d=a);p<=d&&p-mp&&32===t.charCodeAt(d-1);)d--;if(u&&p===d||r.push(t.slice(p,d)),u)break;m=o+1,o=-1===(o=t.indexOf("\n",m+1))?f:o}return r=r.join("\n"),e(t.slice(0,o))({type:"math",value:r,data:{hName:"div",hProperties:{className:"math math-block"},hChildren:[{type:"text",value:r}]}})}}}));var t=e.prototype;Uk(t.interruptParagraph,"fencedCode","math"),Uk(t.interruptList,"fencedCode","math"),Uk(t.interruptBlockquote,"fencedCode","math")}(DE),function(e){for(var t=e.prototype,n=t.blockMethods,i=[],r=0;r4&&(d=void 0,f=k);else{if(d<4&&v&&(v.contentStart===v.contentEnd||ME(y,a,g,[e,t.slice(k,1024),!0])))break;d=void 0,f=k}k++}for(k=-1,w=m.length;w>0&&(v=m[w-1]).contentStart===v.contentEnd;)w--;for(c=e(t.slice(0,v.contentEnd));++k0&&(l+="-"+n),e.type="fnRef",e.data={hName:"sup",hProperties:{className:"footnote-ref","data-footnote-id":"fnref-"+l}},!e.identifier&&e.hasOwnProperty("children")){var c=e.children,u=null===(r=null===(i=c[0])||void 0===i?void 0:i.position)||void 0===r?void 0:r.start,h=null===(a=null===(o=c[c.length-1])||void 0===o?void 0:o.position)||void 0===a?void 0:a.end;u&&h&&(e.data.contentPosition={start:u,end:h},e.identifier="".concat(SE).concat(t))}e.children=[{type:"element",data:{hName:"a",hProperties:{className:"footnote-link",href:"#fn-"+s,"data-footref":e.identifier},hChildren:[{type:"text",value:"["+l+"]"}]}}]}_k(e,"footnoteDefinition",(function(e){var t=String(e.identifier);i[":"+t]=-1,n[":"+t]={children:e.children,position:e.position}})),_k(e,["footnote","footnoteReference"],(function(e){if("footnote"===e.type){var o=t.length,a=String(o);t.push({count:1,identifier:a}),n[a]={children:e.children,position:e.position,isInline:!e.identifier&&e.hasOwnProperty("children")},r(e,o,0)}else{a=String(e.identifier);if(!i.hasOwnProperty(":"+a))return e.type="text",void(e.value=a);-1===(o=i[":"+a])&&(o=t.length,i[":"+a]=o,t.push({count:0,identifier:":"+a}));var s=t[o],l=s.count;s.count++,r(e,o,l)}}));for(var o=[],a=0;a0&&(d+="-"+p),c.push({type:"element",data:{hName:"a",hProperties:{className:"footnote-backref footnote-link",href:"#fnref-"+d},hChildren:[{type:"text",value:"↩︎"}]}})}o.push({type:"listItem",synthetic:!0,data:{hProperties:{"data-footnote-id":"fn-"+h},isInline:l.isInline},children:[{type:"paragraph",children:l.children}],position:l.position})}}if(0!==o.length){var f,m=e.children[e.children.length-1],v={start:f=m?{line:m.position.end.line+1,column:1,offset:m.position.end.offset}:{line:1,column:1,offset:0},end:f};e.children=e.children.concat({type:"text",value:"\n",position:v},{type:"element",position:v,data:{hName:"section",hProperties:{className:"footnotes"}},children:[{type:"thematicBreak",position:v},{type:"list",position:v,ordered:!0,start:1,spread:!1,children:o}]})}}))}(AE),function(e){e.addTransformer((function(e){_k(e,"image",(function(e){var t=e.alt;if(t){var n=t.lastIndexOf("|");if(-1!==n)TE(t.substr(n+1),e)&&(e.alt=t.substr(0,n))}}))}))}(AE),function(e){e.addTransformer((function(e){_k(e,"iembed",(function(e){var t=e.title;if(t){var n=t.lastIndexOf("|");if(-1!==n)TE(t.substr(n+1),e)&&(t=t.substr(0,n));else TE(t,e)&&(t="");t||(t=e.href),e.data.hProperties.alt=t}}))}))}(AE),function(e,t){t.blockid=function(){return null},e.addTransformer((function(e){for(var t,n=e.children,i=function(e){var i=n[e];if("blockid"===i.type){if(e>0)n[e-1].id=i.id;return n.splice(e,1),e--,t=e,"continue"}if("list"===i.type)return _k(i,"listItem",(function(e){var t=null;_k(e,["list","blockid"],(function(e){return"list"===e.type?"skip":(t=e.id,!1)})),t&&(e.id=t)})),t=e,"continue";var r=null;_k(i,"blockid",(function(e){r=e.id})),r&&(i.id=r),t=e},r=0;r0&&n.push({type:"callout-content",position:{start:l[0].position.start,end:l[l.length-1].position.end},children:l})}else{n.push({type:"callout-title",position:r.position,children:[r]});var c=i[1];if(c){var u=c.position.start,h=i[i.length-1].position.end;n.push({type:"callout-content",position:{start:u,end:h},children:i.slice(1)})}}else{var p={start:e.position.start,end:e.position.start},d=t.type.trim().replace(/\-/g," ").toLowerCase();d=d.charAt(0).toUpperCase()+d.substr(1),n.push({type:"callout-title",position:p,children:[{type:"text",value:d,position:p}]}),r&&n.push({type:"callout-content",position:e.position,children:i})}e.children=n}}))}))}(AE,LE),function(e){function t(e){var t=e.properties;if(t&&!t.className){t.className="external-link",t.target="_blank",t.rel="noopener nofollow";var n="",i=e.children;i&&i.length>0&&(n=i[0].value),t.href!==n&&(t["aria-label"]=t.href,t["data-tooltip-position"]="top")}}e.addTransformer((function(e){_k(e,{type:"element",tagName:"a"},t)}))}(PE),function(e,t){t.yaml=function(e,t){var n=t.value||"";return e(t.position,"pre",{className:"frontmatter"},[e(t,"code",{className:"language-yaml"},[Hk("text",n)])])}}(0,LE),function(e,t){var n=/^%%(.+?)%%/;Wk(e,"comment","text",(function(e,t,i){var r=n.exec(t);if(r){if(i)return!0;var o=e.now();return o.column+=2,o.offset+=2,e(r[0])({type:"comment",children:this.tokenizeInline(r[1],o)})}}),(function(e,t){return e.indexOf("%%",t)})),t.comment=function(){return null},jk(e,"comment","fencedCode",(function(e,t,n){for(var i=t.length,r=0;r1)for(var y=g.length-1;y>=0;y--){var b=g[y];if("list"!==b.type){v.end=XE(b.position.end);break}b.listParentPosition=i.position}var w=0;"list"===o.type&&(o.listParentPosition?w=o.listParentPosition.start.line-1:0===(w=-(o.position.start.line-1))&&(w=-1));var k={position:v,parent:w},C=i.checklist;"string"==typeof C&&(k.task=C),(c=i.id)&&"string"==typeof c&&(k.id=c,n.blocks[c.toLowerCase()]={position:v,id:c}),n.listItems.push(k)}})),0===n.links.length&&delete n.links,0===n.embeds.length&&delete n.embeds,0===n.tags.length&&delete n.tags,0===n.headings.length&&delete n.headings,0===n.footnotes.length&&delete n.footnotes,0===n.footnoteRefs.length&&delete n.footnoteRefs,0===n.referenceLinks.length&&delete n.referenceLinks,(0===n.sections.length||t)&&delete n.sections,0===n.listItems.length&&delete n.listItems,0===Object.keys(n.blocks).length&&delete n.blocks,n}function eS(e,t){if(!e)return e;if(e.links)for(var n=0,i=e.links;ne.position.end.offset?-1:0}),n)}function lS(e){var t=e.indexOf("#");return-1===t?e:e.substring(0,t)}function cS(e){var t=e.indexOf("#");return{path:-1===t?e:e.substring(0,t),subpath:-1===t?"":e.substring(t)}}function uS(e,t){return!!e&&(!0===pS(e.links,t)||!0===pS(e.embeds,t))}function hS(e,t){return!!e&&(!0===pS(e.frontmatterLinks,t)||(!0===pS(e.links,t)||!0===pS(e.embeds,t)))}function pS(e,t){if(!e)return!1;for(var n=0,i=e;n?@^`{|}~\/\[\]\\\r\n]/g,mS=/([:#|^\\\r\n]|%%|\[\[|]])/g;function vS(e){return e.replace(fS," ").replace(/\s+/g," ").trim()}function gS(e){return e.replace(mS," ").replace(/\s+/g," ").trim()}function yS(e){var t=KE(IE(e.heading));return t||(t=e.heading),t}function bS(e,t){if(!e||!t)return null;var n=t.split("#").filter((function(e){return!!e}));if(!n||0===n.length)return null;if(1===n.length){var i=n[0];if(i.startsWith("^")){var r=i.substr(1).toLowerCase(),o=e.blocks;if(o&&o.hasOwnProperty(r))for(var a in o)if(a.toLowerCase()===r&&o.hasOwnProperty(a)){var s=o[a],l=null;if(e.listItems)for(var c=0,u=e.listItems;cy&&vS(E.heading).toLowerCase()===vS(n[g]).toLowerCase()&&(g++,y=E.level,g===n.length&&(b=E))}return b?{type:"heading",current:b,next:w,start:b.position.start,end:w?w.position.start:null}:null}function wS(e,t,n,i){void 0===i&&(i=!1);var r="",o="",a="",s="";if("block"===n.type&&n.list){var l=function(e,t){var n=e.listItems;if(!n)return t;var i=n.indexOf(t);if(-1===i)return t;var r=new Set;r.add(t.position.start.line);for(var o=t,a=i+1;a0)for(var r=0;rt&&(t=o)}}return t+1}var ES={none:[],copy:["copy"],copyLink:["copy","link"],copyMove:["copy","move"],link:["link"],linkMove:["link","move"],move:["move"],all:["copy","link","move"],uninitialized:[]};function SS(e,t){t&&function(e,t){if("none"===t)return!0;var n=ES[e.dataTransfer.effectAllowed];return!!n&&n.contains(t)}(e,t)&&(e.dataTransfer.dropEffect=t)}var MS=function(){function e(e){var t=this;this.ghostEl=null,this.actionEl=null,this.draggable=null,this.sourceEls=null,this.sourceClass="",this.hoverEl=null,this.hoverClass="",this.overlayEl=createDiv("workspace-drop-overlay"),this.shouldHideOverlay=!1,this.isDragOverHandled=!1,this.dragStart=null,this.onTouchEnd=function(e){0===e.touches.length&&t.onDragEnd()},this.app=e,window.addEventListener("dragstart",this.onDragStartGlobal.bind(this)),window.addEventListener("dragover",this.onDragOverFirst.bind(this),{capture:!0}),window.addEventListener("dragover",this.onDragOver.bind(this)),window.addEventListener("dragleave",this.onDragLeave.bind(this));var n=function(e){e.view===window?t.onDragEnd():setTimeout((function(){return t.onDragEnd()}))};window.addEventListener("dragend",n),window.addEventListener("drop",n)}return e.prototype.onDragLeave=function(e){var t;0===e.clientX&&0===e.clientY&&0===e.screenX&&0===e.screenY&&null===e.relatedTarget&&(null===(t=this.ghostEl)||void 0===t||t.detach(),this.updateHover(null,""))},e.prototype.onDragStartGlobal=function(e){if(dv(),Yl.isIosApp&&(Nc(),navigator.vibrate(200)),!this.draggable){var t=window.getSelection();if(!(t.rangeCount>0)||t.getRangeAt(0).collapsed){var n=e.target;if("IMG"===n.nodeName){var i=n.src,r=this.app.vault.resolveFileUrl(i);r&&this.onDragStart(e,this.dragFile(e,r))}}}},e.prototype.onDragOverFirst=function(){var e=this;this.isDragOverHandled=!1,queueMicrotask((function(){e.isDragOverHandled||(e.setAction(null),e.updateHover(null,""))})),this.shouldHideOverlay=!0,setTimeout((function(){e.shouldHideOverlay&&e.hideOverlay()}))},e.prototype.onDragOver=function(e){this.isDragOverHandled=!0,Yl.isMobile&&(e.preventDefault(),"none"===e.dataTransfer.dropEffect&&(e.dataTransfer.dropEffect="move"));var t=e.clientX,n=e.clientY;if(0!==t||0!==n){var i=this.ghostEl,r=this.dragStart;if(i){Yl.isMobile?(t-=i.offsetWidth/2,n-=i.offsetHeight+20):(t+=5,n+=5),i.style.left=t+"px",i.style.top=n+"px";var o=e.doc;i.parentNode!==o.body&&o.body.appendChild(i),i.show()}r&&!r.moved&&(Math.abs(r.evt.clientX-e.clientX)>5||Math.abs(r.evt.clientY-e.clientY)>5)&&(r.moved=!0)}},e.prototype.onDragEnd=function(){var e=this.ghostEl,t=this.dragStart;if(e&&(e.detach(),this.ghostEl=null),this.dragStart=null,this.draggable=null,this.updateSource(null,""),this.updateHover(null,""),document.body.removeClass("is-grabbing"),window.removeEventListener("touchend",this.onTouchEnd),this.removeOverlay(),t&&!t.moved){var n=t.evt;n.target.dispatchEvent(new MouseEvent("contextmenu",{button:0,buttons:0,ctrlKey:n.ctrlKey,altKey:n.altKey,metaKey:n.metaKey,shiftKey:n.shiftKey,screenX:n.screenX,screenY:n.screenY,bubbles:!0,cancelable:!0,clientX:n.clientX,clientY:n.clientY}))||navigator.vibrate(200)}},e.prototype.onDragStart=function(e,t){var n=e.dataTransfer;this.draggable=t,Yl.isMobile&&(this.dragStart={evt:e,moved:!1},window.addEventListener("touchend",this.onTouchEnd),mg(e.targetNode,"contextmenu")),document.body.addClass("is-grabbing"),n.effectAllowed="all";var i=this.ghostEl;if(i&&(i.detach(),this.ghostEl=null),t){var r=this.ghostEl=e.doc.body.createDiv("drag-ghost"),o=r.createDiv("drag-ghost-self");t.icon&&Km(o,t.icon),t.title&&o.createSpan({text:t.title}),this.actionEl=r.createDiv("drag-ghost-action")}xS(e);var a=!0;if(n.items.length>0)for(var s=0,l=Array.from(n.items);s0&&r>0?i="".concat(r," files and ").concat(o," folders"):o>0?i="".concat(o," folders"):r>0&&(i="".concat(r," files")),UC(e.dataTransfer,a.join("\n")),{source:n,type:"files",icon:"lucide-files",title:i,files:t}},e.prototype.dragLink=function(e,t,n,i,r){var o=this.app.metadataCache.getFirstLinkpathDest(lS(t),n),a=t,s=t;return o&&(a=this.app.getObsidianUrl(o),s=o.getShortName()),UC(e.dataTransfer,a),{source:r,type:"link",icon:"lucide-link",title:i||s,linktext:t,sourcePath:n,file:o}},e.prototype.handleDrop=function(e,t,n){var i=this,r=function(e){if((n||i.draggable)&&!e.defaultPrevented){var r=t(e,i.draggable,!0);if(r){e.preventDefault();var o=r.action,a=r.dropEffect,s=r.hoverEl,l=r.hoverClass;o&&i.setAction(o),a&&(e.dataTransfer.dropEffect=a),s&&l&&i.updateHover(s,l)}}};e.addEventListener("dragover",r),e.addEventListener("dragenter",r),e.addEventListener("drop",(function(e){(n||i.draggable)&&(e.defaultPrevented||t(e,i.draggable,!1)&&e.preventDefault())}))},e.prototype.setAction=function(e){var t=this.actionEl;t&&(e?(t.setText(e),t.show()):t.hide())},e.prototype.updateSource=function(e,t){if(this.sourceEls)for(var n=0,i=this.sourceEls;n1?n-1:0),r=1;r/gm),dM=OS(/\${[\w\W]*}/gm),fM=OS(/^data-[\-\w.\u00B7-\uFFFF]/),mM=OS(/^aria-[\-\w]+$/),vM=OS(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),gM=OS(/^(?:\w+script|data):/i),yM=OS(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),bM=OS(/^html$/i),wM=Object.freeze({__proto__:null,MUSTACHE_EXPR:hM,ERB_EXPR:pM,TMPLIT_EXPR:dM,DATA_ATTR:fM,ARIA_ATTR:mM,IS_ALLOWED_URI:vM,IS_SCRIPT_OR_DATA:gM,ATTR_WHITESPACE:yM,DOCTYPE_NAME:bM}),kM=function(){return"undefined"==typeof window?null:window};var CM=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:kM(),n=function(t){return e(t)};if(n.version="3.0.1",n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;var i=t.document,r=t.document,o=t.DocumentFragment,a=t.HTMLTemplateElement,s=t.Node,l=t.Element,c=t.NodeFilter,u=t.NamedNodeMap,h=void 0===u?t.NamedNodeMap||t.MozNamedAttrMap:u,p=t.HTMLFormElement,d=t.DOMParser,f=t.trustedTypes,m=l.prototype,v=JS(m,"cloneNode"),g=JS(m,"nextSibling"),y=JS(m,"childNodes"),b=JS(m,"parentNode");if("function"==typeof a){var w=r.createElement("template");w.content&&w.content.ownerDocument&&(r=w.content.ownerDocument)}var C=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;var n=null,i="data-tt-policy-suffix";t.currentScript&&t.currentScript.hasAttribute(i)&&(n=t.currentScript.getAttribute(i));var r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:function(e){return e},createScriptURL:function(e){return e}})}catch(e){return console.warn("TrustedTypes policy "+r+" could not be created."),null}}(f,i),E=C?C.createHTML(""):"",S=r.implementation,M=r.createNodeIterator,x=r.createDocumentFragment,T=r.getElementsByTagName,D=i.importNode,A={};n.isSupported="function"==typeof TS&&"function"==typeof b&&S&&void 0!==S.createHTMLDocument;var P,L,I=wM.MUSTACHE_EXPR,O=wM.ERB_EXPR,F=wM.TMPLIT_EXPR,N=wM.DATA_ATTR,R=wM.ARIA_ATTR,B=wM.IS_SCRIPT_OR_DATA,V=wM.ATTR_WHITESPACE,H=wM.IS_ALLOWED_URI,z=null,q=QS({},k(k(k(k(k([],eM,!0),tM,!0),nM,!0),rM,!0),aM,!0)),W=null,j=QS({},k(k(k(k([],sM,!0),lM,!0),cM,!0),uM,!0)),U=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),_=null,G=null,K=!0,Y=!0,Z=!1,X=!0,Q=!1,$=!1,J=!1,ee=!1,te=!1,ne=!1,ie=!1,re=!0,oe=!1,ae=!0,se=!1,le={},ce=null,ue=QS({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),he=null,pe=QS({},["audio","video","img","source","image","track"]),de=null,fe=QS({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),me="http://www.w3.org/1998/Math/MathML",ve="http://www.w3.org/2000/svg",ge="http://www.w3.org/1999/xhtml",ye=ge,be=!1,we=null,ke=QS({},[me,ve,ge],jS),Ce=["application/xhtml+xml","text/html"],Ee=null,Se=r.createElement("form"),Me=function(e){return e instanceof RegExp||e instanceof Function},xe=function(e){Ee&&Ee===e||(e&&"object"==typeof e||(e={}),e=$S(e),P=P=-1===Ce.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,L="application/xhtml+xml"===P?jS:WS,z="ALLOWED_TAGS"in e?QS({},e.ALLOWED_TAGS,L):q,W="ALLOWED_ATTR"in e?QS({},e.ALLOWED_ATTR,L):j,we="ALLOWED_NAMESPACES"in e?QS({},e.ALLOWED_NAMESPACES,jS):ke,de="ADD_URI_SAFE_ATTR"in e?QS($S(fe),e.ADD_URI_SAFE_ATTR,L):fe,he="ADD_DATA_URI_TAGS"in e?QS($S(pe),e.ADD_DATA_URI_TAGS,L):pe,ce="FORBID_CONTENTS"in e?QS({},e.FORBID_CONTENTS,L):ue,_="FORBID_TAGS"in e?QS({},e.FORBID_TAGS,L):{},G="FORBID_ATTR"in e?QS({},e.FORBID_ATTR,L):{},le="USE_PROFILES"in e&&e.USE_PROFILES,K=!1!==e.ALLOW_ARIA_ATTR,Y=!1!==e.ALLOW_DATA_ATTR,Z=e.ALLOW_UNKNOWN_PROTOCOLS||!1,X=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Q=e.SAFE_FOR_TEMPLATES||!1,$=e.WHOLE_DOCUMENT||!1,te=e.RETURN_DOM||!1,ne=e.RETURN_DOM_FRAGMENT||!1,ie=e.RETURN_TRUSTED_TYPE||!1,ee=e.FORCE_BODY||!1,re=!1!==e.SANITIZE_DOM,oe=e.SANITIZE_NAMED_PROPS||!1,ae=!1!==e.KEEP_CONTENT,se=e.IN_PLACE||!1,H=e.ALLOWED_URI_REGEXP||H,ye=e.NAMESPACE||ge,U=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&Me(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(U.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&Me(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(U.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(U.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Q&&(Y=!1),ne&&(te=!0),le&&(z=QS({},k([],aM,!0)),W=[],!0===le.html&&(QS(z,eM),QS(W,sM)),!0===le.svg&&(QS(z,tM),QS(W,lM),QS(W,uM)),!0===le.svgFilters&&(QS(z,nM),QS(W,lM),QS(W,uM)),!0===le.mathMl&&(QS(z,rM),QS(W,cM),QS(W,uM))),e.ADD_TAGS&&(z===q&&(z=$S(z)),QS(z,e.ADD_TAGS,L)),e.ADD_ATTR&&(W===j&&(W=$S(W)),QS(W,e.ADD_ATTR,L)),e.ADD_URI_SAFE_ATTR&&QS(de,e.ADD_URI_SAFE_ATTR,L),e.FORBID_CONTENTS&&(ce===ue&&(ce=$S(ce)),QS(ce,e.FORBID_CONTENTS,L)),ae&&(z["#text"]=!0),$&&QS(z,["html","head","body"]),z.table&&(QS(z,["tbody"]),delete _.tbody),IS&&IS(e),Ee=e)},Te=QS({},["mi","mo","mn","ms","mtext"]),De=QS({},["foreignobject","desc","title","annotation-xml"]),Ae=QS({},["title","style","font","a","script"]),Pe=QS({},tM);QS(Pe,nM),QS(Pe,iM);var Le=QS({},rM);QS(Le,oM);var Ie=function(e){qS(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){e.remove()}},Oe=function(e,t){try{qS(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){qS(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!W[e])if(te||ne)try{Ie(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},Fe=function(e){var t,n;if(ee)e=""+e;else{var i=US(e,/^[\r\n\t ]+/);n=i&&i[0]}"application/xhtml+xml"===P&&ye===ge&&(e=''+e+"");var o=C?C.createHTML(e):e;if(ye===ge)try{t=(new d).parseFromString(o,P)}catch(e){}if(!t||!t.documentElement){t=S.createDocument(ye,"template",null);try{t.documentElement.innerHTML=be?E:o}catch(e){}}var a=t.body||t.documentElement;return e&&n&&a.insertBefore(r.createTextNode(n),a.childNodes[0]||null),ye===ge?T.call(t,$?"html":"body")[0]:$?t.documentElement:a},Ne=function(e){return M.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},Re=function(e){return"object"==typeof s?e instanceof s:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},Be=function(e,t,i){A[e]&&HS(A[e],(function(e){e.call(n,t,i,Ee)}))},Ve=function(e){var t,i;if(Be("beforeSanitizeElements",e,null),(i=e)instanceof p&&("string"!=typeof i.nodeName||"string"!=typeof i.textContent||"function"!=typeof i.removeChild||!(i.attributes instanceof h)||"function"!=typeof i.removeAttribute||"function"!=typeof i.setAttribute||"string"!=typeof i.namespaceURI||"function"!=typeof i.insertBefore||"function"!=typeof i.hasChildNodes))return Ie(e),!0;var r=L(e.nodeName);if(Be("uponSanitizeElement",e,{tagName:r,allowedTags:z}),e.hasChildNodes()&&!Re(e.firstElementChild)&&(!Re(e.content)||!Re(e.content.firstElementChild))&&YS(/<[/\w]/g,e.innerHTML)&&YS(/<[/\w]/g,e.textContent))return Ie(e),!0;if(!z[r]||_[r]){if(!_[r]&&ze(r)){if(U.tagNameCheck instanceof RegExp&&YS(U.tagNameCheck,r))return!1;if(U.tagNameCheck instanceof Function&&U.tagNameCheck(r))return!1}if(ae&&!ce[r]){var o=b(e)||e.parentNode,a=y(e)||e.childNodes;if(a&&o)for(var s=a.length-1;s>=0;--s)o.insertBefore(v(a[s],!0),g(e))}return Ie(e),!0}return e instanceof l&&!function(e){var t=b(e);t&&t.tagName||(t={namespaceURI:ye,tagName:"template"});var n=WS(e.tagName),i=WS(t.tagName);return!!we[e.namespaceURI]&&(e.namespaceURI===ve?t.namespaceURI===ge?"svg"===n:t.namespaceURI===me?"svg"===n&&("annotation-xml"===i||Te[i]):Boolean(Pe[n]):e.namespaceURI===me?t.namespaceURI===ge?"math"===n:t.namespaceURI===ve?"math"===n&&De[i]:Boolean(Le[n]):e.namespaceURI===ge?!(t.namespaceURI===ve&&!De[i])&&!(t.namespaceURI===me&&!Te[i])&&!Le[n]&&(Ae[n]||!Pe[n]):!("application/xhtml+xml"!==P||!we[e.namespaceURI]))}(e)?(Ie(e),!0):"noscript"!==r&&"noembed"!==r||!YS(/<\/no(script|embed)/i,e.innerHTML)?(Q&&3===e.nodeType&&(t=e.textContent,t=_S(t,I," "),t=_S(t,O," "),t=_S(t,F," "),e.textContent!==t&&(qS(n.removed,{element:e.cloneNode()}),e.textContent=t)),Be("afterSanitizeElements",e,null),!1):(Ie(e),!0)},He=function(e,t,n){if(re&&("id"===t||"name"===t)&&(n in r||n in Se))return!1;if(Y&&!G[t]&&YS(N,t));else if(K&&YS(R,t));else if(!W[t]||G[t]){if(!(ze(e)&&(U.tagNameCheck instanceof RegExp&&YS(U.tagNameCheck,e)||U.tagNameCheck instanceof Function&&U.tagNameCheck(e))&&(U.attributeNameCheck instanceof RegExp&&YS(U.attributeNameCheck,t)||U.attributeNameCheck instanceof Function&&U.attributeNameCheck(t))||"is"===t&&U.allowCustomizedBuiltInElements&&(U.tagNameCheck instanceof RegExp&&YS(U.tagNameCheck,n)||U.tagNameCheck instanceof Function&&U.tagNameCheck(n))))return!1}else if(de[t]);else if(YS(H,_S(n,V,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==GS(n,"data:")||!he[e]){if(Z&&!YS(B,_S(n,V,"")));else if(n)return!1}else;return!0},ze=function(e){return e.indexOf("-")>0},qe=function(e){var t,i,r,o;Be("beforeSanitizeAttributes",e,null);var a=e.attributes;if(a){var s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:W};for(o=a.length;o--;){var l=(t=a[o]).name,c=t.namespaceURI;if(i="value"===l?t.value:KS(t.value),r=L(l),s.attrName=r,s.attrValue=i,s.keepAttr=!0,s.forceKeepAttr=void 0,Be("uponSanitizeAttribute",e,s),i=s.attrValue,!s.forceKeepAttr&&(Oe(l,e),s.keepAttr))if(X||!YS(/\/>/i,i)){Q&&(i=_S(i,I," "),i=_S(i,O," "),i=_S(i,F," "));var u=L(e.nodeName);if(He(u,r,i)){if(!oe||"id"!==r&&"name"!==r||(Oe(l,e),i="user-content-"+i),C&&"object"==typeof f&&"function"==typeof f.getAttributeType)if(c);else switch(f.getAttributeType(u,r)){case"TrustedHTML":i=C.createHTML(i);break;case"TrustedScriptURL":i=C.createScriptURL(i)}try{c?e.setAttributeNS(c,l,i):e.setAttribute(l,i),zS(n.removed)}catch(e){}}}else Oe(l,e)}Be("afterSanitizeAttributes",e,null)}},We=function e(t){var n,i=Ne(t);for(Be("beforeSanitizeShadowDOM",t,null);n=i.nextNode();)Be("uponSanitizeShadowNode",n,null),Ve(n)||(n.content instanceof o&&e(n.content),qe(n));Be("afterSanitizeShadowDOM",t,null)};return n.sanitize=function(e){var t,r,a,l,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((be=!e)&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Re(e)){if("function"!=typeof e.toString)throw ZS("toString is not a function");if("string"!=typeof(e=e.toString()))throw ZS("dirty is not a string, aborting")}if(!n.isSupported)return e;if(J||xe(c),n.removed=[],"string"==typeof e&&(se=!1),se){if(e.nodeName){var u=L(e.nodeName);if(!z[u]||_[u])throw ZS("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof s)1===(r=(t=Fe("\x3c!----\x3e")).ownerDocument.importNode(e,!0)).nodeType&&"BODY"===r.nodeName||"HTML"===r.nodeName?t=r:t.appendChild(r);else{if(!te&&!Q&&!$&&-1===e.indexOf("<"))return C&&ie?C.createHTML(e):e;if(!(t=Fe(e)))return te?null:ie?E:""}t&&ee&&Ie(t.firstChild);for(var h=Ne(se?e:t);a=h.nextNode();)Ve(a)||(a.content instanceof o&&We(a.content),qe(a));if(se)return e;if(te){if(ne)for(l=x.call(t.ownerDocument);t.firstChild;)l.appendChild(t.firstChild);else l=t;return(W.shadowroot||W.shadowrootmod)&&(l=D.call(i,l,!0)),l}var p=$?t.outerHTML:t.innerHTML;return $&&z["!doctype"]&&t.ownerDocument&&t.ownerDocument.doctype&&t.ownerDocument.doctype.name&&YS(bM,t.ownerDocument.doctype.name)&&(p="\n"+p),Q&&(p=_S(p,I," "),p=_S(p,O," "),p=_S(p,F," ")),C&&ie?C.createHTML(p):p},n.setConfig=function(e){xe(e),J=!0},n.clearConfig=function(){Ee=null,J=!1},n.isValidAttribute=function(e,t,n){Ee||xe({});var i=L(e),r=L(t);return He(i,r,n)},n.addHook=function(e,t){"function"==typeof t&&(A[e]=A[e]||[],qS(A[e],t))},n.removeHook=function(e){if(A[e])return zS(A[e])},n.removeHooks=function(e){A[e]&&(A[e]=[])},n.removeAllHooks=function(){A={}},n}();function EM(e,t,n,i){for(var r=e.getAttribute(t),o=[],a=0,s=r.split(n);a0&&(e.preventDefault(),this.insertFiles(n)),!1},e.prototype.handleDragOver=function(e){var t=this.app.dragManager.draggable;if(t){if(ql?e.shiftKey:e.altKey)return;if("file"===t.type)SS(e,"link"),this.app.dragManager.setAction(lm.interface.dragAndDrop.insertLinkHere());else if("files"===t.type)SS(e,"link"),this.app.dragManager.setAction(lm.interface.dragAndDrop.insertLinksHere());else if("link"===t.type)SS(e,"link"),this.app.dragManager.setAction(lm.interface.dragAndDrop.insertLinkHere());else if("heading"===t.type)SS(e,"link"),this.app.dragManager.setAction(lm.interface.dragAndDrop.insertLinkHere());else if("bookmarks"===t.type){t.items.filter((function(e){return"file"===e.item.type})).length>0&&(SS(e,"link"),this.app.dragManager.setAction(lm.interface.dragAndDrop.insertLinkHere()))}}else e.ctrlKey?SS(e,"link"):SS(e,"copy")},e.prototype.handleDrop=function(e){var t=this.app,n=this.info,i=null,r=t.dragManager.draggable;if(r){if(n instanceof U0&&(ql?e.shiftKey:e.altKey))return e.preventDefault(),n.handleDrop(e,r,!1),!0;i=zM(this.app,r,this.getPath(),!0).join("\n")}else{if(e.defaultPrevented||this.app.workspace.trigger("editor-drop",e,this.info.editor,this.info),e.defaultPrevented)return!0;e.shiftKey||(i=this.handleDataTransfer(e.dataTransfer)),i||(i=this.handleDropIntoEditor(e))}var o=this.info.editor.activeCM;return o.dispatch({selection:pe.single(o.posAtCoords({x:e.clientX,y:e.clientY}))}),!!String.isString(i)&&(o.dispatch(o.state.replaceSelection(i)),o.focus(),e.preventDefault(),!0)},e.prototype.handleDropIntoEditor=function(e){if(ql?e.altKey:e.ctrlKey){for(var t=[],n=0,i=GC(e.dataTransfer,"drop",!1);n0&&e.preventDefault(),this.insertFiles(d),null},e.prototype.handleDataTransfer=function(e){var t=this,n=e.getData("text/markdown");if(n)return n;var i=e.getData("text/html");if(i){if(!this.app.vault.getConfig("autoConvertHtml"))return null;var r=MM(i),o=createEl("div");if(o.appendChild(r),e.files.length>0&&/^]+>$/.test(o.innerHTML.trim()))return null;for(var a=[],s=0,l=r.findAll("img, audio, video");s1e3&&(a.push(c.src),c.detach())}}return y(t,void 0,void 0,(function(){var e,t,n,i,r,o,s,l,c,u,h;return b(this,(function(p){switch(p.label){case 0:for(n in t=[],e=a)t.push(n);i=0,p.label=1;case 1:if(!(i0){var f=d[0].extension.toLowerCase();if("webloc"===f||"url"===f)return d[0].name}return h}if(h.toLowerCase()!==p.toLowerCase()&&decodeURIComponent(h.toLowerCase())!==p.toLowerCase()){var m=ou(eu(h)),v="[".concat(p,"](").concat(h,")");return xM.contains(m)&&(v="!"+v),v}}return null},e.prototype.insertFiles=function(e){return y(this,void 0,void 0,(function(){var t,n,i,r,o,a,s,l,c;return b(this,(function(u){switch(u.label){case 0:t=0,u.label=1;case 1:return t=1&&r[0]){var o=decodeURIComponent(r[0]);2===r.length?t[o]=decodeURIComponent(r[1]):t[o]=""}}return t},e.decodeUrl=function(t){t||(t="");var n=t.split("#"),i=n.length>1?n[1]:"",r=n[0].split("?"),o=r.length>1?r[1]:"";return{path:r[0],query:e.decodeUrlQuery(o),hash:e.decodeUrlQuery(i)}},e.addQuery=function(t,n){return t+(t.contains("?")?"&":"?")+e.encodeUrlQuery(n)},e}(),YM=/^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i;function ZM(e){var t=e.trim().match(YM);if(!t)return null;for(var n=(t[1]||"text/plain;charset=us-ascii").split(";").map((function(e){return e.toLowerCase()})),i=n[0],r={},o=0,a=n.slice(1);o=400)throw new XM("Request failed, status "+t,t,n);return{status:t,headers:n,arrayBuffer:i,get json(){return JSON.parse((new TextDecoder).decode(i))},get text(){return(new TextDecoder).decode(i)}}}function $M(e){return y(this,void 0,Promise,(function(){var t,n,i,r,o,a,s,l,c,u,h,p;return b(this,(function(d){switch(d.label){case 0:return String.isString(e)&&(e={url:e}),vm?(n=!1,e.body instanceof ArrayBuffer?(t=Cf(e.body),n=!0):t=e.body,[4,bm.requestUrl({url:e.url,method:e.method,contentType:e.contentType,headers:e.headers,body:t,binary:n})]):[3,2];case 1:return i=d.sent(),[2,QM(e,i.status,i.headers,kf(i.body))];case 2:return Lf("electron")?[4,Ff(e)]:[3,4];case 3:return r=d.sent(),[2,QM(e,r.status,r.headers,r.body)];case 4:return o=e.url,a=e.method,s=e.contentType,l=e.body,c=null,s&&(c={"Content-Type":s}),[4,fetch(o,{method:a,headers:c,body:l})];case 5:return[4,(u=d.sent()).arrayBuffer()];case 6:return h=d.sent(),p={},u.headers.forEach((function(e,t){return p[t]=e})),[2,QM(e,u.status,p,h)]}}))}))}function JM(e){var t=this,n=e;return Object.defineProperty(n,"arrayBuffer",{get:function(){return y(t,void 0,void 0,(function(){return b(this,(function(t){switch(t.label){case 0:return[4,e];case 1:return[2,t.sent().arrayBuffer]}}))}))}}),Object.defineProperty(n,"json",{get:function(){return y(t,void 0,void 0,(function(){return b(this,(function(t){switch(t.label){case 0:return[4,e];case 1:return[2,t.sent().json]}}))}))}}),Object.defineProperty(n,"text",{get:function(){return y(t,void 0,void 0,(function(){return b(this,(function(t){switch(t.label){case 0:return[4,e];case 1:return[2,t.sent().text]}}))}))}}),n}function ex(e){return JM($M(e))}function tx(e){return y(this,void 0,Promise,(function(){return b(this,(function(t){switch(t.label){case 0:return[4,$M(e)];case 1:return[2,t.sent().text]}}))}))}function nx(e){return JM(function(e){return y(this,void 0,Promise,(function(){var t;return b(this,(function(n){switch(n.label){case 0:String.isString(e)&&(e={url:e}),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,$M(e)];case 2:return[2,n.sent()];case 3:if((t=n.sent())instanceof XM&&404===t.status)throw t;if(e.url.startsWith(WM)||e.url.startsWith(jM))return e.url="https://releases.obsidian.md/proxy?url="+e.url,[2,$M(e)];throw t;case 4:return[2]}}))}))}(e))}function ix(){var e="https://obsidian.md/download";if(Yl.isDesktopApp){var t=window.process.platform,n="win32"===t?"win":"darwin"===t?"mac":"linux",i=window.process.arch;return KM.addQuery(e,{os:n,arch:i})}if(Yl.isMobileApp){n=ym?"android":"ios";return KM.addQuery(e,{os:n})}return e}function rx(e,t){var n=t.toLowerCase();for(var i in e)if(e.hasOwnProperty(i)&&i.toLowerCase()===n)return e[i];return null}window.request=tx,window.requestUrl=ex;var ox=Object.freeze({aliases:{name:"aliases",widget:"aliases"},cssclasses:{name:"cssclasses",widget:"multitext"},tags:{name:"tags",widget:"tags"}}),ax=["YYYY-MM-DD"],sx=["YYYY-MM-DD[T]HH:mm:ss","YYYY-MM-DD[T]HH:mm","YYYY-MM-DD HH:mm:ss","YYYY-MM-DD HH:mm"],lx=/^\d{4}-[01]\d-[0-3]\d$/,cx=/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d$/;function ux(e){if(null==e||null===e)return"text";var t=typeof e;return"string"===t?cx.test(e)?"datetime":lx.test(e)?"date":"text":"number"===t?"number":"boolean"===t?"checkbox":vc(e,!0)?"multitext":"unknown"}var hx=function(e){function t(t){var n=e.call(this)||this;return n.assignedWidgets={},n.lastSave=0,n.properties={},n._loaded=!1,n.onConfigFileChange=wc((function(){return y(n,void 0,void 0,(function(){var e,t,n;return b(this,(function(i){switch(i.label){case 0:e=this.app.vault.getConfigFile("types"),i.label=1;case 1:return i.trys.push([1,5,,6]),[4,this.app.vault.adapter.stat(e)];case 2:return t=i.sent(),n=t.mtime,this.lastSave0){var o=t.getRangeAt(0),a=o.commonAncestorContainer;(n===a||n.contains(a))&&(r=o)}return{win:e,range:r,focusEl:n}}(n):this.selection=null,Cv(n),e.keymap.pushScope(this.scope),n.document.body.appendChild(t),Yl.isPhone&&fl(this.modalEl),this.onOpen();var i=this,r=i.modalEl,o=i.bgEl,a=i.dimBackground;t.toggleClass("mod-dim",a),Yl.isPhone?this.animateOpen():o.style.opacity=a?this.bgOpacity:"0",Fg(),Im(this),Yl.hasPhysicalKeyboard&&Kv(r,{preventScroll:!0}),n!==window&&n.addEventListener("beforeunload",this.onWindowClose)}},e.prototype.animateOpen=function(){return y(this,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return this.shouldAnimate?((e=this.modalEl.doc.body).addClass("hide-cursor"),[4,Al(this.modalEl,this.bgEl,this.bgOpacity)]):[2];case 1:return t.sent(),e.removeClass("hide-cursor"),[2]}}))}))},e.prototype.animateClose=function(){return y(this,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return(e=this.modalEl.doc.body).addClass("hide-cursor"),[4,Pl(this.modalEl,this.bgEl)];case 1:return t.sent(),e.removeClass("hide-cursor"),[2]}}))}))},e.prototype.close=function(){var e=this,t=this,n=t.app,i=t.win,r=t.containerEl;n.keymap.popScope(this.scope);var o=function(){var t;r.detach(),e.onClose(),null===(t=e.onCloseCallback)||void 0===t||t.call(e)};Yl.isPhone?this.animateClose().then(o):o(),Om(this),this.shouldRestoreSelection&&function(e){if(e&&(e.focusEl||e.range)){var t=e.win,n=e.focusEl,i=e.range;t.focus();var r=n&&n.instanceOf(HTMLElement)&&n.hasClass("cm-content");if(i&&!r&&Sv(t,i.startContainer)&&Sv(t,i.endContainer)){var o=t.getSelection();o&&(o.removeAllRanges(),o.addRange(i))}n&&(n.instanceOf(HTMLElement)||n.instanceOf(SVGElement))&&Sv(t,n)&&n.focus({preventScroll:!0})}}(this.selection),i&&i!==window&&i.removeEventListener("beforeunload",this.onWindowClose),this.win=null},e.prototype.onOpen=function(){},e.prototype.onClose=function(){},e.prototype.onWindowClose=function(){this.close()},e.prototype.onEscapeKey=function(e){e.defaultPrevented||this.close()},e.prototype.setTitle=function(e){return this.titleEl.setText(e),this},e.prototype.setContent=function(e){return String.isString(e)?this.contentEl.setText(e):this.contentEl.appendChild(e),this},e.prototype.setBackgroundOpacity=function(e){return this.bgOpacity=e,this},e.prototype.setCloseCallback=function(e){return this.onCloseCallback=e,this},e.prototype.setDimBackground=function(e){return this.dimBackground=e,this},e}(),dx=function(e){function t(t){var n=e.call(this,t)||this;return n.buttonContainerEl=null,n.containerEl.addClass("mod-confirmation"),n.buttonContainerEl=n.modalEl.createDiv("modal-button-container"),n}return m(t,e),t.prototype.addCheckbox=function(e,t){return this.buttonContainerEl.createEl("label",{cls:"mod-checkbox"},(function(n){n.createEl("input",{attr:{tabindex:-1},type:"checkbox"}).addEventListener("click",t),n.appendText(e)})),this},t.prototype.addButton=function(e,t,n){var i=this,r=Array.isArray(e)?e:[e],o=this.buttonContainerEl.createEl("button",{cls:r.join(" "),text:t});return o.addEventListener("click",(function(e){return y(i,void 0,void 0,(function(){return b(this,(function(t){switch(t.label){case 0:return t.trys.push([0,,2,3]),o.addClass("mod-loading"),[4,n(e)];case 1:return t.sent()||this.close(),[3,3];case 2:return o.removeClass("mod-loading"),[7];case 3:return[2]}}))}))})),this},t.prototype.addCancelButton=function(e){return this.addButton("mod-cancel",lm.dialogue.buttonCancel(),(function(){null==e||e()}))},t.prototype.onClose=function(){dv()},t}(px),fx=function(e){function t(t,n){var i=e.call(this,t)||this;return i.addButton("mod-cta",n,i.accept.bind(i)),i.addCancelButton(i.cancel.bind(i)),i.scope.register([],"Enter",i.accept.bind(i)),i}return m(t,e),t.prototype.onOpen=function(){var e=this;this.promise=new Promise((function(t){e.resolve=t}))},t.prototype.accept=function(){var e;null===(e=this.resolve)||void 0===e||e.call(this,!0)},t.prototype.cancel=function(){var e;null===(e=this.resolve)||void 0===e||e.call(this,!1)},t.prototype.prompt=function(){return y(this,void 0,Promise,(function(){return b(this,(function(e){return this.open(),[2,this.promise]}))}))},t.prototype.onClose=function(){e.prototype.onClose.call(this),this.cancel()},t}(dx),mx=createDiv("notice-container"),vx=function(){function e(e,t){void 0===t&&(t=4e3);var n=this,i=activeWindow;i.document.body.appendChild(mx);var r=this.containerEl=mx.createDiv({cls:"notice"});this.messageEl=this.noticeEl=r.createDiv({cls:"notice-message",text:e}),Yl.isMobile?vl(r,(new hl).addProp("transform","translateY(100%)","","")):vl(r,(new hl).addProp("transform","translateX(350px)","",""));var o=!1,a=function(){o||n.hide()};t&&(i.setTimeout(a,t),r.addEventListener("mouseenter",(function(){return o=!0})),r.addEventListener("mouseleave",(function(){o=!1,i.setTimeout(a,1e3)}))),r.addEventListener("click",(function(){return n.hide()})),Yl.isPhone&&Bg(r,r,null,(function(){r.detach(),n.hide()}))}return e.prototype.setMessage=function(e){return this.messageEl.setText(e),this},e.prototype.addButton=function(e,t){var n=this;return this.containerEl.createDiv({cls:"notice-cta",text:e}).addEventListener("click",(function(e){n.hide(),t(e)})),this},e.prototype.hide=function(){var e=this.containerEl,t=function(){e.detach(),0===mx.childElementCount&&mx.detach()};if(e.isShown())if(Yl.isMobile)vl(e,new hl({duration:150}).addProp("transform","scale(1, 1)","scale(0.85, 0.85)","").addProp("opacity","1","0",""),t);else{var n=getComputedStyle(e),i=-e.offsetHeight,r=parseInt(n.marginBottom);isNaN(r)||(i-=r),vl(e,new hl({duration:120}).addProp("opacity","1","0").addProp("margin-top","0px",i+"px"),t)}else t()},e}();window.Notice=vx;var gx=function(e){function t(t,n){var i=e.call(this,t)||this;i.title=lm.dialogue.labelRenameFileGeneric(),i.modalEl.addClass("mod-file-rename");var r=i.inputEl=createEl("textarea",{cls:"rename-textarea"});return r.rows=1,r.innerText=n,i.app.nextFrame((function(){r.style.height="auto",r.style.height=r.scrollHeight+"px"})),r.addEventListener("keypress",(function(e){"Enter"!==e.key||e.isComposing||(e.preventDefault(),i.submit(r.value.trim()))})),r.addEventListener("input",(function(e){dv(),r.rows=1,r.style.height="auto",r.style.height=r.scrollHeight+"px",i.validate(r.value.trim())})),i.setContent(createFragment((function(e){e.appendChild(r)}))).addButton("mod-cta",lm.dialogue.buttonSave(),(function(){return i.submit(r.value.trim())})).addCancelButton(),i}return m(t,e),t.prototype.validate=function(e){},t.prototype.onOpen=function(){e.prototype.onOpen.call(this),this.setTitle(this.title),this.inputEl.select(),this.inputEl.focus()},t.prototype.displayError=function(e,t){pv(this.inputEl,e,{classes:["mod-wide","mod-error"]}),t&&setTimeout((function(){return dv()}),2e3)},t}(dx),yx=function(e){function t(t,n,i){var r=e.call(this,t,n)||this;return r.onSave=i,r}return m(t,e),t.prototype.validate=function(e){IC.test(e)?this.displayError(lm.plugins.fileExplorer.msgInvalidCharacters()+PC,!1):e.startsWith(".")?this.displayError(lm.plugins.fileExplorer.msgBadDotfile(),!1):OC.test(e)&&this.displayError(lm.plugins.fileExplorer.msgUnsafeCharacters()+LC,!1)},t.prototype.submit=function(e){this.close(),this.onSave(e)},t}(gx),bx=function(e){function t(t,n){var i=e.call(this,t,n.basename)||this;return i.file=n,"md"===n.extension&&(i.title=lm.dialogue.labelRenameFile()),i}return m(t,e),t.prototype.validate=function(t){e.prototype.validate.call(this,t);var n=this.app,i=this.file;n.vault.checkForDuplicate(i,t)&&this.displayError(lm.plugins.fileExplorer.msgFileAlreadyExists(),!1)},t.prototype.submit=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r,o,a;return b(this,(function(s){switch(s.label){case 0:if(this.close(),n=(t=this).app,i=t.file,""===e)return new vx(lm.plugins.fileExplorer.msgEmptyFileName()),[2];if(r=i.getNewPathAfterRename(e),i.path===r)return[2];s.label=1;case 1:return s.trys.push([1,3,,4]),[4,n.fileManager.renameFile(i,r)];case 2:return s.sent(),new vx(lm.dialogue.msgRenameSuccess()),[3,4];case 3:return(o=s.sent())&&(a=o.message||o.code||o.toString(),new vx(a)),[3,4];case 4:return[2]}}))}))},t}(gx),wx=function(e){function t(t,n,i,r,o){var a=e.call(this,t,o)||this;return a.file=i,a.editor=n,a.tokenRange=r,a}return m(t,e),t.prototype.submit=function(e){return y(this,void 0,void 0,(function(){var t,n,i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,y,w,k,C,E;return b(this,(function(b){switch(b.label){case 0:return(t=this.getError(e))?(pv(this.inputEl,t,{placement:"bottom",classes:["mod-error"]}),[2,!0]):(i=(n=this).file,r=n.app,o=r.fileManager,a=r.vault,s=this.getChanges(e),l=s.data.size,0!==(c=s.count())?[3,1]:(this.replaceInEditor(e),[3,6]));case 1:return(u=s.get(i.path))&&u.length>0?(s.clear(i.path),h=this.replaceInFile(e),p={link:"",original:"",position:{start:{line:0,col:0,offset:h.start},end:{line:0,col:0,offset:h.end}}},u.push({sourcePath:i.path,change:h.text,reference:p}),[4,a.process(i,(function(e){return zx(e,u)}))]):[3,3];case 2:return b.sent(),[3,4];case 3:this.replaceInEditor(e),b.label=4;case 4:return[4,o.updateInternalLinks(s)];case 5:b.sent(),d=lm.nouns.linkWithCount({count:c}),f=lm.nouns.fileWithCount({count:l}),m=lm.dialogue.msgUpdatedLinks({links:d,files:f}),new vx(m),b.label=6;case 6:v=o.linkUpdaters,g=0,y=Object.values(v),b.label=7;case 7:return g=this.offset;n--)t[n]===e&&t.splice(n,1)},e.prototype.clear=function(){this.queue=[],this.offset=0},e.prototype.dequeue=function(){var e=this.queue,t=this.offset;if(0!=e.length){var n=e[t];return e[t]=void 0,2*(t+=1)>=e.length&&(this.queue=e.slice(t),t=0),this.offset=t,n}},e.prototype.peek=function(){return this.queue.length>0?this.queue[this.offset]:void 0},e}(),Sx=function(){function e(){this.promise=Promise.resolve()}return e.prototype.queue=function(e){var t=this.promise.then(e,e);return this.promise=t,t},e}();function Mx(){var e={promise:null,resolve:null,reject:null};return e.promise=new Promise((function(t,n){e.resolve=t,e.reject=n})),e}function xx(e,t,n){var i=this;void 0===n&&(n=t);var r=null,o=0,a=null;return function(){return y(i,void 0,Promise,(function(){var i=this;return b(this,(function(s){return a?[2,a]:r&&o>Date.now()?[2,r]:(a=y(i,void 0,void 0,(function(){return b(this,(function(i){switch(i.label){case 0:o=Date.now()+n,i.label=1;case 1:return i.trys.push([1,3,,4]),[4,e()];case 2:return r=i.sent(),[3,4];case 3:return i.sent(),a=null,[2,null];case 4:return o=Date.now()+t,a=null,setTimeout((function(){o>Date.now()&&(r=null)}),t),[2,r]}}))})),[2,a])}))}))}}var Tx=function(){function e(e){this.running=!1,this.cancelled=!1;var t=e||{},n=t.onStart,i=t.onStop,r=t.onCancel;this.onStart=n||null,this.onStop=i||null,this.onCancel=r||null}return e.prototype.start=function(){this.running||(this.running=!0,this.onStart&&this.onStart())},e.prototype.stop=function(){this.running&&(this.running=!1,this.onStop&&this.onStop())},e.prototype.cancel=function(){this.stop(),this.cancelled||(this.cancelled=!0,this.onCancel&&this.onCancel())},e.prototype.isRunning=function(){return this.running},e.prototype.isCancelled=function(){return this.cancelled},e}(),Dx=function(){function e(e){this.items=new Ex,this.promise=null,this.runnable=new Tx(e)}return e.prototype.addList=function(e){this.items.enqueueArray(e),this.notify()},e.prototype.add=function(e){this.items.enqueue(e),this.notify()},e.prototype.remove=function(e){this.items.remove(e)},e.prototype.clear=function(){this.items.clear()},e.prototype.notify=function(){var e=this.promise;e&&(this.promise=null,setTimeout((function(){e&&e.resolve()}),0))},e.prototype.cancel=function(){this.runnable.cancel()},e.prototype.generator=function(){return E(this,arguments,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:e=this.runnable,n.label=1;case 1:return e.isCancelled()?[4,C(void 0)]:[3,3];case 2:return[2,n.sent()];case 3:return 0!==(t=this.items).length?[3,5]:(e.stop(),[4,C((this.promise=Mx()).promise)]);case 4:return n.sent(),[3,8];case 5:return e.start(),[4,C(t.dequeue())];case 6:return[4,n.sent()];case 7:n.sent(),n.label=8;case 8:return[3,1];case 9:return[2]}}))}))},e}();function Ax(e){return E(this,arguments,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:t=0,n=e,i.label=1;case 1:return ta?(c&&c(m),[4,C(new Promise((function(e){return Pc(e,l)})))]):[3,7];case 6:b.sent(),h=performance.now(),b.label=7;case 7:return p=!0,[3,2];case 8:return[3,15];case 9:return v=b.sent(),y={error:v},[3,15];case 10:return b.trys.push([10,,13,14]),p||g||!(w=d.return)?[3,12]:[4,C(w.call(d))];case 11:b.sent(),b.label=12;case 12:return[3,14];case 13:if(y)throw y.error;return[7];case 14:return[7];case 15:return[2]}}))}))}var Lx=function(){function e(){this.promises=[]}return e.prototype.add=function(e){this.promises.push(e())},e.prototype.addPromise=function(e){this.promises.push(e)},e.prototype.isEmpty=function(){return 0===this.promises.length},e.prototype.promise=function(){return Promise.all(this.promises)},e}();function Ix(e){return new Promise((function(t){return e.then(t,t)}))}var Ox=/^(!?\[\[)(.*?)(\|(.*))?(]])$/,Fx=/^(!?\[)(.*?)(]\(\s*)((<[^>]*?>|[^ "]+?)(\s+([^ ]+|"[^"]+"|'[^']+'|\([^']+\)))?)?(\s*\))$/,Nx=function(){function e(e){this.app=null,this.vault=null,this.fileParentCreatorByType={},this.inProgressUpdates=null,this.updateQueue=new Sx,this.linkUpdaters={},this.app=e,this.vault=e.vault,this.registerFileParentCreator("md",this.getMarkdownNewFileParent.bind(this))}return e.prototype.getMarkdownNewFileParent=function(e){var t=this.vault,n=t.getConfig("newFileLocation");if("folder"===n){var i=t.getConfig("newFileFolderPath");if((r=t.getAbstractFileByPath(i))instanceof qC)return r}else if("current"===n){var r;i=tu(e);if((r=t.getAbstractFileByPath(i))instanceof qC)return r}return t.getRoot()},e.prototype.getNewFileParent=function(e,t){var n=t&&ou(t)||"md",i=this.fileParentCreatorByType[n];return i||(console.error("No file creator assigned to create file with extension "+n+". Falling back to Markdown file creator."),i=this.fileParentCreatorByType.md),i(e)},e.prototype.registerFileParentCreator=function(e,t){this.fileParentCreatorByType[e]=t},e.prototype.unregisterFileCreator=function(e){delete this.fileParentCreatorByType[e]},e.prototype.canCreateFileWithExt=function(e){return this.fileParentCreatorByType.hasOwnProperty(e||"md")},e.prototype.createNewMarkdownFileFromLinktext=function(e,t){return y(this,void 0,Promise,(function(){var n;return b(this,(function(i){if(!NC(e))throw new Error(lm.plugins.fileExplorer.msgInvalidCharacters()+PC);return n=null,e.contains("/")||(n=this.getNewFileParent(t,e)),[2,this.createNewMarkdownFile(n,e)]}))}))},e.prototype.createNewMarkdownFile=function(e,t,n){return y(this,void 0,Promise,(function(){return b(this,(function(i){return[2,this.createNewFile(e,t,"md",n)]}))}))},e.prototype.createNewFile=function(e,t,n,i){return y(this,void 0,Promise,(function(){var r,o,a,s,l,c,u,h=this;return b(this,(function(p){switch(p.label){case 0:return r=this.vault,e||(e=r.getRoot()),n||(n=t&&ou(t)||"md"),this.fileParentCreatorByType.hasOwnProperty(n)||(n="md"),o=e.getParentPrefix(),t?(su(t=t.trim(),n)&&(t=ru(t)),t=lu(t),a=r.getAvailablePath(o+t,n)):(s=lm.plugins.fileExplorer.labelUntitledFile(),a=r.getAvailablePath(o+s,n)),l=tu(a),c=eu(a),[4,y(h,void 0,void 0,(function(){var e;return b(this,(function(t){return l&&"/"!==l?(e=r.getAbstractFileByPathInsensitive(l))&&e instanceof qC?[2,e]:[2,r.createFolder(l)]:[2,r.getRoot()]}))}))];case 1:return u=p.sent(),[2,r.create(u.getParentPrefix()+c,i||"")]}}))}))},e.prototype.createNewFolder=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r;return b(this,(function(o){switch(o.label){case 0:return t=!e||e.isRoot()?"":e.path+"/",n=lm.plugins.fileExplorer.labelUntitledFolder(),i=this.vault.getAvailablePath(t+n),[4,this.vault.createFolder(i)];case 1:return o.sent(),(r=this.vault.getAbstractFileByPath(i))&&r instanceof qC?[2,r]:[2,null]}}))}))},e.prototype.renameFile=function(e,t){return y(this,void 0,Promise,(function(){var n=this;return b(this,(function(i){switch(i.label){case 0:return[4,this.runAsyncLinkUpdate((function(){return n.vault.rename(e,t)}))];case 1:return i.sent(),[2]}}))}))},e.prototype.iterateAllRefs=function(e){this.app.metadataCache.iterateReferences(e);for(var t=this.linkUpdaters,n=0,i=Object.values(t);n0&&t.push({sourceFile:a,reference:n,resolvedFile:s[0],resolvedPaths:s.map((function(e){return e.path}))})}}})),s.label=2;case 2:return s.trys.push([2,,7,8]),this.inProgressUpdates=[],[4,e(t)];case 3:s.sent(),s.label=4;case 4:return this.inProgressUpdates.length>0?(o=this.inProgressUpdates,this.inProgressUpdates=[],[4,Promise.all(o.map((function(e){return e(t)})))]):[3,6];case 5:return s.sent(),[3,4];case 6:return[3,8];case 7:return this.inProgressUpdates=null,[7];case 8:return[4,this.updateAllLinks(t)];case 9:return s.sent(),[2]}}))}))}))]}))}))},e.prototype.updateAllLinks=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r,o,a,s,l,c,u,h=this;return b(this,(function(p){for(t=new sc,n=this.app.metadataCache,i=0,r=e;i0&&(r.createEl("p",{cls:"mod-warning",text:lm.dialogue.labelNonEmptyFolder()}),r.createEl("p",{cls:"mod-warning",text:lm.dialogue.labelDeleteFolderWarning()})),e instanceof zC&&(o=t.metadataCache.getBacklinksForFile(e),(a=o.count())>0&&(s=lm.dialogue.labelExistingBacklink({count:a}),r.createEl("p",{cls:"mod-warning",text:s}))),[4,new Promise((function(n,i){var o=!1,a=new dx(t).setTitle(e instanceof qC?lm.dialogue.labelDeleteFolder():lm.dialogue.labelDeleteFile()).setContent(r);Yl.isMobile?a.addButton("mod-destructive",lm.dialogue.buttonDeleteDoNotAskAgain(),(function(){return y(l,void 0,void 0,(function(){var r;return b(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),t.vault.setConfig("promptDelete",!1),[4,this.trashFile(e)];case 1:return o.sent(),n(),[3,3];case 2:return r=o.sent(),i(r),[3,3];case 3:return[2]}}))}))})):a.addCheckbox(lm.dialogue.labelDoNotAskAgain(),(function(e){o=e.target.checked})),a.addButton("mod-warning",lm.dialogue.buttonDelete(),(function(){return y(l,void 0,void 0,(function(){var r;return b(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),o&&t.vault.setConfig("promptDelete",!1),[4,this.trashFile(e)];case 1:return a.sent(),n(),[3,3];case 2:return r=a.sent(),i(r),[3,3];case 3:return[2]}}))}))})).addCancelButton((function(){n()})).open()}))]):[3,2];case 1:return c.sent(),[3,4];case 2:return[4,this.trashFile(e)];case 3:c.sent(),c.label=4;case 4:return[2]}}))}))},e.prototype.promptForFolderDeletion=function(e){return y(this,void 0,void 0,(function(){return b(this,(function(t){return[2,this.promptForDeletion(e)]}))}))},e.prototype.promptForFileDeletion=function(e){return y(this,void 0,void 0,(function(){return b(this,(function(t){return[2,this.promptForDeletion(e)]}))}))},e.prototype.promptForFileRename=function(e){return y(this,void 0,void 0,(function(){return b(this,(function(t){return new bx(this.app,e).open(),[2]}))}))},e.prototype.trashFile=function(e){return y(this,void 0,void 0,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:return t=this.app,"system"!==(n=t.vault.getConfig("trashOption"))?[3,2]:[4,t.vault.trash(e,!0)];case 1:return i.sent(),[3,6];case 2:return"local"!==n?[3,4]:[4,t.vault.trash(e,!1)];case 3:return i.sent(),[3,6];case 4:return"none"!==n?[3,6]:[4,t.vault.delete(e,!0)];case 5:i.sent(),i.label=6;case 6:return[2]}}))}))},e.prototype.downloadAttachmentsForNote=function(e){return y(this,void 0,void 0,(function(){var t,n,i,r,o,a,s=this;return b(this,(function(l){switch(l.label){case 0:return"md"!==e.extension?[2]:(t=[],n=[],i=[],r=function(e){var r=Wx(e).frontmatter,o=IE(e);for(var a in t=[],n=[],i=[],r)if(Object.hasOwn(r,a)){var s=r[a];String.isString(s)&&Yc(s)&&xM.contains(ou(s))&&(t.push({key:a,value:s}),i.push(s))}_k(o,["image"],(function(e,t,r){var o=e.url;o&&!KC(o)&&/^(https?:\/\/|data:)/.test(o)&&(n.push(e),i.push(o))}))},[4,this.app.vault.read(e)]);case 1:return o=l.sent(),r(o),0===i.length?(new vx(lm.dialogue.labelNoAttachments()),[2]):[4,this.promptForImageDownload(i.unique())];case 2:return(a=l.sent())&&0!==Object.keys(a).length?[4,this.app.vault.process(e,(function(i){i!==o&&r(i);for(var l=[],c=0,u=n;c0&&(i=Rx(i,(function(e){for(var n=0,i=t;n0){var p=Ik(l).trim();c="---\n".concat(p,"\n---\n")+c}return c}))];case 1:return i.sent(),[2]}}))}))},e.prototype.processFrontMatter=function(e,t,n){return y(this,void 0,void 0,(function(){return b(this,(function(i){switch(i.label){case 0:return"md"!==e.extension?[2]:[4,this.vault.process(e,(function(e){return Rx(e,t)}),n)];case 1:return i.sent(),[2]}}))}))},e.prototype.storeTextFileBackup=function(e,t){return y(this,void 0,void 0,(function(){var n;return b(this,(function(i){switch(i.label){case 0:return i.trys.push([0,3,,4]),(n=this.app.internalPlugins.getEnabledPluginById("file-recovery"))?[4,n.forceAdd(e,t)]:[3,2];case 1:i.sent(),i.label=2;case 2:return[3,4];case 3:return i.sent(),[3,4];case 4:return[2]}}))}))},e.prototype.getAvailablePathForAttachment=function(e,t){return y(this,void 0,Promise,(function(){var n,i,r,o,a,s,l;return b(this,(function(c){return n=this.app,i=n.vault,r=n.workspace,o=iu(e),a=ou(e),s=null,t?(l=i.getAbstractFileByPath(t))&&l instanceof zC&&(s=l):s=r.getActiveFile(),[2,i.getAvailablePathForAttachments(o,a,s)]}))}))},e.prototype.notifyForBulkUndo=function(e,t){var n=this;void 0===t&&(t=3e4),0!==e.length&&new vx(lm.dialogue.msgFilesUpdated({count:e.length}),t).addButton(lm.dialogue.buttonUndo(),(function(){n.updateQueue.queue((function(){return y(n,void 0,void 0,(function(){var t,n,i,r,o,a,s;return b(this,(function(l){switch(l.label){case 0:t=this.app.vault,n=0,i=e,l.label=1;case 1:return n=e.length)return;if(!(t.length>0))return void(e[r]=n);e=e[r]}else{if("object"!=typeof e)return;if(!(t.length>0))return void(e[i]=n);e=e[i]}}}function zx(e,t){for(var n=[],i=[],r=0,o=t;r";if(m){var g=m[2],y=Jc(g).trim();y===uu(c=lS(a))?g=uu(lS(t)):y.contains("/")&&y===hu(c)&&(g=hu(lS(t))),r=m[1]+g+m[3]+v+(null!==(i=m[6])&&void 0!==i?i:"")+m[8]}else r="[](".concat(v,")"),o.startsWith("!")&&(r="!"+r)}return r}function Wx(e){var t={},n=NE(e),i=n.contentStart,r=n.frontmatter,o=e.slice(i);return r&&(t=Lk(r)),{content:o,frontmatter:t}}function jx(e){var t="";if(e&&Object.keys(e).length>0){var n=Ik(e).trim();t="---\n".concat(n,"\n---\n")}return t}function Ux(e,t){var n=jx(t),i=NE(e).contentStart;return n+e.slice(i)}var _x=function(){function e(e){var t=this;this.name="",this.url=e,this.el=createDiv("download-attachment-item"),this.el.addEventListener("click",(function(e){0!==e.button||e.defaultPrevented||t.setChecked(!t.checked)}));var n=this.checkboxEl=this.el.createEl("input",{type:"checkbox"});n.addEventListener("change",(function(){t.setChecked(n.checked)})),this.setChecked(!0),vv(this.el,(function(){var e=gc(t.url,100);return t.name&&(e=t.name+"\n"+e),e})),this.el.createEl("img",{attr:{src:e}})}return e.prototype.setChecked=function(e){this.checked!==e&&(this.checked=e,this.checkboxEl.checked=e,this.el.toggleClass("is-selected",e))},e}(),Gx=function(){function e(e,t,n){var i=this;this.chooser=e,this.containerEl=t,this.values=[],this.suggestions=[],this.selectedItem=0,t.on("click",".suggestion-item",this.onSuggestionClick.bind(this)),t.on("auxclick",".suggestion-item",this.onSuggestionClick.bind(this)),t.on("mousemove",".suggestion-item",this.onSuggestionMouseover.bind(this)),this.moveUp=this.moveUp.bind(this),this.moveDown=this.moveDown.bind(this),n.register([],"ArrowUp",this.moveUp),n.register([],"ArrowDown",this.moveDown),n.register([],"PageUp",this.pageUp.bind(this)),n.register([],"PageDown",this.pageDown.bind(this)),n.register([],"Home",(function(e){return i.setSelectedItem(0,e),!1})),n.register([],"End",(function(e){return i.setSelectedItem(i.suggestions.length-1,e),!1})),(Yl.isMacOS||Yl.isIosApp)&&(n.register(["Ctrl"],"p",this.moveUp),n.register(["Ctrl"],"n",this.moveDown)),n.register([],"Enter",(function(e){if(!e.isComposing)return i.useSelectedItem(e),!1}))}return e.prototype.getSelectedElement=function(){var e;return null!==(e=this.suggestions[this.selectedItem])&&void 0!==e?e:null},e.prototype.getSelectedValue=function(){var e;return null!==(e=this.values[this.selectedItem])&&void 0!==e?e:null},e.prototype.moveUp=function(e){if(!e.isComposing)return this.setSelectedItem(this.selectedItem-1,e),!1},e.prototype.moveDown=function(e){if(!e.isComposing)return this.setSelectedItem(this.selectedItem+1,e),!1},Object.defineProperty(e.prototype,"rowHeight",{get:function(){return this.suggestions[this.selectedItem].clientHeight},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"numVisibleItems",{get:function(){return Math.floor(this.containerEl.clientHeight/this.rowHeight)},enumerable:!1,configurable:!0}),e.prototype.pageUp=function(e){if(!e.isComposing){var t=this,n=t.containerEl,i=t.numVisibleItems,r=t.rowHeight,o=n.scrollTop-parseFloat(getComputedStyle(n).paddingTop),a=Math.floor(o/r);this.selectedItem<=a&&(a-=i);var s=Math.max(0,a);return this.setSelectedItem(s,e),!1}},e.prototype.pageDown=function(e){if(!e.isComposing){var t=this,n=t.containerEl,i=t.numVisibleItems,r=t.rowHeight,o=n.scrollTop-parseFloat(getComputedStyle(n).paddingTop),a=Math.floor(o/r)+(i-1);this.selectedItem>=a&&(a+=i);var s=Math.min(this.suggestions.length-1,a);return this.setSelectedItem(s,e),!1}},e.prototype.setSuggestions=function(e){var t=this.containerEl;t.empty();var n=[];if(e)for(var i=0,r=e;i=n.length&&(e=0),this.forceSetSelectedItem(e,t))},e.prototype.forceSetSelectedItem=function(e,t){var n,i,r=this.suggestions,o=r[this.selectedItem];o&&o.removeClass("is-selected"),this.selectedItem=e;var a=r[this.selectedItem];a&&(a.addClass("is-selected"),t&&!t.instanceOf(KeyboardEvent)||a.scrollIntoView({block:"nearest"})),null===(i=(n=this.chooser).onSelectedChange)||void 0===i||i.call(n,this.values[e],t)},e.prototype.onSuggestionClick=function(e,t){if(!e.defaultPrevented){e.preventDefault();var n=this.suggestions.indexOf(t);this.setSelectedItem(n,e),this.useSelectedItem(e)}},e.prototype.onSuggestionMouseover=function(e,t){var n=this.suggestions.indexOf(t);this.setSelectedItem(n,e)},e.prototype.useSelectedItem=function(e){if(!this.values)return!1;var t=this.values[this.selectedItem];return void 0!==t&&(this.chooser.selectSuggestion(t,e),!0)},e}(),Kx=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.setSuggestions=function(e){var t=this.containerEl;t.empty();var n=[];if(e)for(var i=null,r=void 0,o=0,a=e;o?@\[\]^_`{|}~]/,$x=/\s/,Jx=/[\u0F00-\u0FFF\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff66-\uff9f]/;function eT(e){for(var t=e.toLowerCase(),n=[],i=0,r=0;r0&&!Qx.test(h)&&!Jx.test(h)){var p=n.charAt(u-1);if(h.toLowerCase()!==h&&p.toLowerCase()!==p||h.toUpperCase()!==h&&!Qx.test(p)&&!$x.test(p)&&!Jx.test(p))if(i){if(u!==a){a+=c.length,l--;continue}}else o+=1}if(0===s.length)s.push([u,u+c.length]);else{var d=s[s.length-1];d[1]=e.length)break;s<0&&(s=0),s!==r&&i.appendText(e.substring(r,s)),i.createSpan({cls:"suggestion-highlight",text:e.substring(s,l)}),r=l}}r=0;){if("\n"===e.charAt(i))break;i--,r++}i++;for(var o=r===n,a=t[1],s=0;s0){var n=t.last()[1],i=e.indexOf("/",n);if(-1!==i)return e.slice(0,i+1)}return e}var fT=function(e){return 255&parseInt(e)},mT=/^rgba?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*[\d.]+\s*)?\)$/i,vT=/^hsla?\s*\(\s*([\d.]+)(deg|rad|grad|turn)?\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%\s*(,\s*[\d.]+\s*)?\)$/i,gT=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;function yT(e){var t=e.match(mT);return t?{r:fT(t[1]),g:fT(t[2]),b:fT(t[3]),a:t[4]?Math.clamp(parseFloat(t[4].substring(1)),0,1):1}:null}function bT(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function wT(e){var t,n,i,r=e.h,o=e.s,a=e.l;if(r/=360,a/=100,0==(o/=100))t=n=i=a;else{var s=a<.5?a*(1+o):a+o-a*o,l=2*a-s;t=bT(l,s,r+1/3),n=bT(l,s,r),i=bT(l,s,r-1/3)}return{r:Math.round(255*t),g:Math.round(255*n),b:Math.round(255*i)}}function kT(e){var t=e.r,n=e.g,i=e.b;t/=255,n/=255,i/=255;var r,o,a=Math.max(t,n,i),s=Math.min(t,n,i),l=(a+s)/2;if(a==s)r=o=0;else{var c=a-s;switch(o=l>.5?c/(2-a-s):c/(a+s),a){case t:r=(n-i)/c+(n=150}var AT=function(){function e(e){this.components=[];var t=this.settingEl=e.createDiv("setting-item"),n=this.infoEl=t.createDiv("setting-item-info");this.nameEl=n.createDiv("setting-item-name"),this.descEl=n.createDiv("setting-item-description"),this.controlEl=t.createDiv("setting-item-control")}return e.prototype.setName=function(e){return this.nameEl.setText(e),this},e.prototype.setDesc=function(e){return this.descEl.setText(e),this},e.prototype.setClass=function(e){return this.settingEl.addClass(e),this},e.prototype.setTooltip=function(e,t){return mv(this.nameEl,e,t),this},e.prototype.setHeading=function(){return this.settingEl.addClass("setting-item-heading"),this},e.prototype.setDisabled=function(e){this.settingEl.toggleClass("is-disabled",e);for(var t=0,n=this.components;t0&&e.length>n&&(e=e.slice(0,n)),this.suggestions.setSuggestions(e),this.open(),this.setAutoDestroy(t)}}else this.close()},t.prototype.setValue=function(e){this.textInputEl.instanceOf(HTMLInputElement)?this.textInputEl.value=e:this.textInputEl.innerText=e},t.prototype.getValue=function(){return this.textInputEl.instanceOf(HTMLInputElement)?this.textInputEl.value:this.textInputEl.innerText},t.prototype.onInputFocus=function(){var e=this;Yl.isIosApp?Dl((function(){return e.onInputChange()})):this.onInputChange()},t.prototype.onInputChange=function(){var e=this;if(this.textInputEl.isActiveElement()){var t=this.getValue(),n=this.getSuggestions(t);if(Array.isArray(n))this.showSuggestions(n);else{if(!n)return;y(e,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return e=this.showSuggestions,[4,n];case 1:return e.apply(this,[t.sent()]),[2]}}))}))}}},t.prototype.selectSuggestion=function(e,t){var n;null===(n=this.selectCb)||void 0===n||n.call(this,e,t)},t.prototype.onSelect=function(e){return this.selectCb=e,this},t.prototype.close=function(){e.prototype.close.call(this),this.textInputEl.doc.removeEventListener("scroll",this.autoReposition)},t.prototype.reposition=function(t){e.prototype.reposition.call(this,t),this.lastRect=t},t.prototype.open=function(){e.prototype.open.call(this);var t=this.textInputEl,n=rg(t.getBoundingClientRect(),t.win).rect;this.reposition(n),t.doc.addEventListener("scroll",this.autoReposition,{capture:!0,passive:!0})},t.prototype.autoReposition=function(){var e=this.lastRect,t=this.textInputEl,n=rg(t.getBoundingClientRect(),t.win).rect;n.bottom===e.bottom&&n.top===e.top&&n.left===e.left&&n.right===e.right||this.reposition(n)},t}(Yx),KT=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.renderSuggestion=function(e,t){t.addClass("mod-nowrap");var n=e.item;hT(t,"md"===n.extension?ru(n.path):n.path,e.match.matches)},t.prototype.getSuggestions=function(e){for(var n=[],i=eT(e),r=0,o=this.app.vault.getAllLoadedFiles();r=t.MAX_SUGGESTIONS)break;if(a instanceof zC&&this.filePredicate(a)){var s=rT(i,a.path);s&&n.push({item:a,match:s})}}return oT(n),n},t.prototype.filePredicate=function(e){return!0},t.prototype.selectSuggestion=function(e){var t=e.item,n="md"===t.extension?ru(t.path):t.path;this.setValue(n),this.textInputEl.trigger("input"),this.textInputEl.trigger("change"),this.close()},t.MAX_SUGGESTIONS=100,t}(GT),YT=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.filePredicate=function(e){return"md"===e.extension},t}(KT),ZT=function(e){function t(t,n,i){var r=e.call(this,t,n)||this;return r.predicate=i,r}return m(t,e),t.prototype.filePredicate=function(e){return!this.predicate||this.predicate(e)},t}(KT),XT=function(e){function t(t,n,i,r){void 0===i&&(i=!1),void 0===r&&(r=!1);var o=e.call(this,t,n)||this;return o.includeRoot=!1,o.allowNullSelection=i,o.includeRoot=r,o}return m(t,e),t.prototype.renderSuggestion=function(e,t){e?hT(t,e.item.path,e.match.matches):t.setText("+ "+this.getValue())},t.prototype.getSuggestions=function(e){for(var n=eT(e),i=[],r=0,o=this.app.vault.getAllFolders(this.includeRoot);r=t.MAX_SUGGESTIONS)break;if(this.filePredicate(a)){var s=rT(n,a.path);s&&i.push({item:a,match:s})}}return oT(i),this.allowNullSelection&&e&&i.push(null),i},t.prototype.filePredicate=function(e){return!0},t.prototype.selectSuggestion=function(t,n){t&&(this.setValue(t.item.path),this.textInputEl.trigger("input")),this.close(),e.prototype.selectSuggestion.call(this,t,n)},t.MAX_SUGGESTIONS=100,t}(GT),QT=function(e){function t(t,n,i,r){void 0===r&&(r=!1);var o=e.call(this,t,n,r)||this;return o.folderPredicate=i,o}return m(t,e),t.prototype.filePredicate=function(e){return!this.folderPredicate||this.folderPredicate(e)},t}(XT);function $T(e){var t=pC.exec(e);return t&&t[0]&&(e=e.slice(t[0].length)),yv(e)}var JT={auto:Vn.line({attributes:{dir:"auto"}}),rtl:Vn.line({attributes:{dir:"rtl"}}),ltr:Vn.line({attributes:{dir:"ltr"}})};function eD(e){for(var t=e.state.doc,n=iC(t),i=new ct,r="auto",o=0,a=e.viewportLineBlocks;o0?(nD(this.instructionsEl,e),this.suggestEl.appendChild(this.instructionsEl)):this.instructionsEl.detach()},t.prototype.trigger=function(e,t,n){var i=this,r=e.getCursor("from"),o=e.getCursor("to");if(r.line!==o.line||r.ch!==o.ch)return this.context=null,!1;var a=this.onTrigger(r,e,t);if(a){var s=this.context={editor:e,file:t,start:a.start,end:a.end,query:a.query};if(n||this.isOpen){var l=this.getSuggestions(s);if(Array.isArray(l))this.showSuggestions(l);else{if(!l)return;y(i,void 0,void 0,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return[4,l];case 1:return t=n.sent(),e.hasFocus()?(t&&this.showSuggestions(t),[2]):(this.close(),[2])}}))}))}}return!0}return this.context=null,!1},t.prototype.showSuggestions=function(e){if(0!==e.length){var t=this.limit;t>0&&e.length>t&&(e=e.slice(0,t)),this.suggestions.setSuggestions(e),this.updatePosition(!0)}else this.close()},t.prototype.updatePosition=function(e){var t=this.context;if(t){var n=t.editor,i=n.coordsAtPos(t.start),r=n.coordsAtPos(t.end);if(i&&r){var o=rg({top:i.top,left:Math.min(i.left,r.left),right:Math.max(i.right,r.right),bottom:r.bottom},n.containerEl.win).rect;this.open(),this.reposition(o,$T(n.getLine(t.start.line)))}}},t.prototype.close=function(){this.context=null,e.prototype.close.call(this)},t}(Yx);function rD(e){var t,n="",i="";return"block"===e.type&&(n=e.file.path,i="#^"+e.node.id),"heading"===e.type&&(n=e.file.path,i="#"+gS(e.heading)),"file"!==e.type&&"alias"!==e.type||(n=e.file.path,i=""),"linktext"===e.type&&(n=(t=cS(e.path)).path,i=t.subpath),{path:n,subpath:i}}var oD=function(e,t){return t.score-e.score},aD={type:"none",matches:null,score:0};function sD(e){return e?-(e.length+(e.length>0?e[0][0]/10:0)):0}function lD(e,t,n,i,r){return y(this,void 0,Promise,(function(){var o,a,s,l,c,u,h,p,d,f,m,v,g,y,w,k,C;return b(this,(function(b){switch(b.label){case 0:if(!n||0===n.length)return[2,[]];o=r.split("#").filter((function(e){return!!e})),r.endsWith("#")&&o.push(""),(a="#"+o.slice(0,o.length-1).join("#")).endsWith("#")||(a+="#"),s=0,l=0,c=[],b.label=1;case 1:b.trys.push([1,6,7,12]),u=!0,h=S(Px(Ax(n),{maxDelay:0})),b.label=2;case 2:return[4,h.next()];case 3:if(p=b.sent(),y=p.done)return[3,5];if(C=p.value,u=!1,d=C,e.isCancelled())return[3,5];if(d.level<=l||s>=o.length)return[3,5];f=d.heading.toLowerCase(),s===o.length-1?""===(m=o[s])?c.push({type:"heading",file:t,path:i,subpath:a+gS(d.heading),level:d.level,heading:d.heading,score:0,matches:null}):(v=rT(eT(m),d.heading))&&c.push({type:"heading",file:t,path:i,subpath:a+gS(d.heading),level:d.level,heading:d.heading,score:v.score,matches:v.matches}):f===o[s].toLowerCase()&&(s++,l=d.level),b.label=4;case 4:return u=!0,[3,2];case 5:return[3,12];case 6:return g=b.sent(),w={error:g},[3,12];case 7:return b.trys.push([7,,10,11]),u||y||!(k=h.return)?[3,9]:[4,k.call(h)];case 8:b.sent(),b.label=9;case 9:return[3,11];case 10:if(w)throw w.error;return[7];case 11:return[7];case 12:return[2,c]}}))}))}function cD(e,t,n,i,r){return y(this,void 0,void 0,(function(){var o,a,s,l,c,u,h,p,d,f,m,v,g,y,w,k;return b(this,(function(b){switch(b.label){case 0:if(!i)return[2,[]];o=i.content,a=r.toLowerCase().split(" "),s=[],b.label=1;case 1:b.trys.push([1,6,7,12]),l=!0,c=S(Px(Ax(i.blocks),{maxDelay:0})),b.label=2;case 2:return[4,c.next()];case 3:if(u=b.sent(),g=u.done)return[3,5];if(k=u.value,l=!1,h=k,e.isCancelled())return[3,5];p=sT(a,h.display.toLowerCase()),d=sD(p),f=null,(m=h.node.id)&&String.isString(m)&&(f=sT(a,m.toLowerCase()))&&(d=0),(p||f)&&s.push({type:"block",file:t,path:n,content:o,display:h.display,node:h.node,score:d,matches:p,idMatch:f}),b.label=4;case 4:return l=!0,[3,2];case 5:return[3,12];case 6:return v=b.sent(),y={error:v},[3,12];case 7:return b.trys.push([7,,10,11]),l||g||!(w=c.return)?[3,9]:[4,w.call(c)];case 8:b.sent(),b.label=9;case 9:return[3,11];case 10:if(y)throw y.error;return[7];case 11:return[7];case 12:return[2,s]}}))}))}function uD(e,t,n){void 0===n&&(n=!1),t.addClass("mod-complex");var i=t.createDiv("suggestion-content"),r=t.createDiv("suggestion-aux"),o=i.createDiv("suggestion-title"),a=i.createDiv("suggestion-note"),s=e.matches;if(!n||"heading"!==e.type&&"block"!==e.type||a.setText(hu(e.file.path)),e.downranked&&t.addClass("mod-downranked"),"none"===e.type)o.setText(lm.editor.linkSuggestion.labelNoMatchFound());else if("file"===e.type){var l=e.path,c=eu(l),u=l.substr(0,l.length-c.length);hT(a,u,s),hT(o,c,s,-u.length)}else if("alias"===e.type){var h="lucide-forward";a.setText(e.path),xM.contains(ou(e.path))&&xE(e.alias)?(h="lucide-scaling",o.setText(lm.editor.linkSuggestion.labelImageSize({size:e.alias}))):e.alias?hT(o,e.alias,s):o.createSpan({cls:"suggestion-empty-suggestion",text:lm.editor.linkSuggestion.labelNoAlias()}),r.createSpan({cls:"suggestion-flair"},(function(e){Km(e,h),mv(e,lm.interface.tooltip.alias())}))}else if("linktext"===e.type)hT(o,e.path,s);else if("heading"===e.type)e.heading?hT(o,e.heading,s):o.createSpan({cls:"suggestion-empty-suggestion",text:lm.editor.linkSuggestion.labelNoHeading()}),e.level>0&&r.createSpan({cls:"suggestion-flair",text:"H"+e.level});else if("bases-view"===e.type){hT(o,e.viewName,s),Km(r.createSpan("suggestion-flair"),e.icon)}else if("block"===e.type){hT(o,e.display,s);var p=e.node.id;p&&String.isString(p)&&(a.getText().trim()&&a.appendText(" > "),hT(a,p,e.idMatch))}}function hD(e,t,n,i,r,o,a,s,l){var c=null,u="",h="",p=o,d=o,f="markdown"===l&&e.vault.getConfig("useMarkdownLinks"),m=!f,v="",g="",y=function(t,n){return null!==n?m||!n||"md"!==t.extension||n.endsWith(".md")?n:n+".md":t.path===a?"":e.metadataCache.fileToLinktext(t,a,m)};if("none"===t.type)"Enter"!==s&&"Tab"!==s||(v=n);else if("file"===t.type)u=t.file.basename,v=e.metadataCache.fileToLinktext(t.file,a,m);else if("alias"===t.type){h=u=t.alias;var b=cS(t.path),w=b.path,k=b.subpath;t.file&&(w=e.metadataCache.fileToLinktext(t.file,a,m)),v=w+k}else if("linktext"===t.type)u=t.path,v=t.path;else if("bases-view"===t.type){w=y(t.file,t.path);u=t.viewName,v=w+t.subpath}else if("heading"===t.type){w=y(t.file,t.path);u=t.heading,v=w+t.subpath}else if("block"===t.type){u="";w=y(t.file,t.path);var C=t.node;v=C.id?w+"#^"+C.id:w+"#^"+(c=cc(6))}var E=i.match(/^(\s*)(\|)?(.*?)(]])/);if(E&&!E[0].contains("[[")&&(E[2]&&!h&&(h=E[3],u||(u=h)),o+=E[0].length),!h&&"file"===t.type){var S=t.file.extension;("canvas"===S||!xM.contains(S)&&v.contains("/"))&&(h=u)}if(f&&"#"!==s&&"^"!==s)g="[".concat(u,"](").concat(JC(v),")"),p=d=u?r+g.length:r+1;else{"#"===s?(v+="#","file"===t.type&&AM.contains(t.file.extension)&&(v+="page=")):"^"===s&&(v+="^"),h&&(v+="|"+h);var M=v.endsWith("]]")?"":"]]",x=r+(g="[["+v+M).length-2;"Tab"===s?h?(p=x-h.length,d=x):p=d=x:p=d="#"===s||"^"===s||"|"===s?h?x-h.length-1:x:r+g.length}return{replacement:g,start:r,end:o,selectionStart:p,selectionEnd:d,blockId:c}}var pD=function(){function e(e,t){this.runnable=null,this.mode="file",this.global=!1,this.fileSuggestions=null,this.app=e,this.getSourcePath=t}return e.prototype.getInstructions=function(){return"file"===this.mode?[{command:lm.editor.linkSuggestion.labelTypeHash(),purpose:lm.editor.linkSuggestion.labelLinkHeading()},{command:lm.editor.linkSuggestion.labelTypeBlock(),purpose:lm.editor.linkSuggestion.labelLinkBlock()},{command:lm.editor.linkSuggestion.labelTypePipe(),purpose:lm.editor.linkSuggestion.labelChangeDisplayText()}]:[{command:"↵",purpose:lm.editor.linkSuggestion.labelAccept()}]},e.prototype.getSuggestionsAsync=function(e,t){return y(this,void 0,Promise,(function(){var n,i,r,o,a,s,l,c;return b(this,(function(u){if(n=t.indexOf("|"),i=null,-1!==n&&(i=t.substr(n+1),t=t.substr(0,n)),null===i){if(t.startsWith("##"))return t=t.substr(2),this.mode="heading",this.global=!0,[2,this.getGlobalHeadingSuggestions(e,t)];if(t.startsWith("^^"))return t=t.substr(2),this.mode="block",this.global=!0,[2,this.getGlobalBlockSuggestions(e,t)]}return this.global=!1,r=cS(t),o=r.path,a=r.subpath,null!==i?(this.mode="display",[2,this.getDisplaySuggestions(e,o,a,i)]):a?a.startsWith("#^")?(s=a.substr(2),this.mode="block",[2,this.getBlockSuggestions(e,o,s)]):(this.mode="heading",[2,this.getHeadingSuggestions(e,o,a)]):-1!==(l=o.lastIndexOf("^"))?(c=o.substr(l+1),o=o.substr(0,l),this.mode="block",[2,this.getBlockSuggestions(e,o,c)]):(this.mode="file",[2,this.getFileSuggestions(e,o)])}))}))},e.prototype.getDisplaySuggestions=function(e,t,n,i){var r=this.app.metadataCache,o=this.getSourcePath(),a=r.getFirstLinkpathDest(t,o),s=[];if(a){var l=r.getFileCache(a),c=WE(null==l?void 0:l.frontmatter);if(c&&c.length>0)for(var u=eT(i),h=0,p=c;h0?s:[{type:"alias",file:null,path:t+n,alias:i,score:0,matches:[[0,i.length]]}]},e.prototype.getHeadingSuggestions=function(e,t,n){return y(this,void 0,Promise,(function(){var i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,y,w,k;return b(this,(function(b){switch(b.label){case 0:return i=this.app.metadataCache,r=this.getSourcePath(),(o=i.getFirstLinkpathDest(t,r))?"base"!==o.extension?[3,2]:(a=this.app.internalPlugins.getEnabledPluginById("bases"),s=eT(n.slice(1)),l=[],[4,this.app.vault.cachedRead(o)]):[2,[]];case 1:for(c=b.sent(),u=null===(w=Lk(c))||void 0===w?void 0:w.views,h=[],u&&Array.isArray(u)&&(h=u.map((function(e){return{name:null==e?void 0:e.name,type:null==e?void 0:e.type}})).filter((function(e){return String.isString(e.name)&&String.isString(e.type)}))),p=0,d=h;p0?[2,y]:[2,[{type:"heading",file:null,path:t,subpath:n,score:0,heading:n.slice(1),level:0,matches:[[0,n.length]]}]]}}))}))},e.prototype.getGlobalHeadingSuggestions=function(e,t){return y(this,void 0,Promise,(function(){var n,i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,y,w,k;return b(this,(function(b){switch(b.label){case 0:n=this.app.metadataCache,i=[],r=eT(t),o=0,a=n.getCachedFiles(),b.label=1;case 1:if(!(o=this.sourcePosition.line)return null;var a=sT(o,n.display.toLowerCase()),s=sD(a),l=null,c=n.node.id;return c&&String.isString(c)&&(l=sT(o,c.toLowerCase()))&&(s=0),a||l?{type:"block",file:t,path:i,content:r,display:n.display,node:n.node,score:s,matches:a,idMatch:l}:null},e.prototype.getFileSuggestions=function(e,t){return y(this,void 0,Promise,(function(){var n,i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,y,w,k;return b(this,(function(b){switch(b.label){case 0:if(n=this.app.metadataCache,(i=this.fileSuggestions)||(i=this.fileSuggestions=n.getLinkSuggestions()),r=[],""===t){for(o=0,a=i;o=0){var S=vC(w,[C+b.length])[0];u.push({from:S,text:m}),h.from.line+=v,h.to.line+=v}}}i.transaction({changes:u,selection:h},"input.autocomplete"),setTimeout((function(){return i.focus()}))}},t.prototype.close=function(){e.prototype.close.call(this),this.suggestManager.fileSuggestions=null,this.suggestManager.runnable&&(this.suggestManager.runnable.cancel(),this.suggestManager.runnable=null)},t}(iD);function fD(e,t){var n=eu(t),i=e(n);return i?(aT(i.matches,t.length-n.length),i):((i=e(t))&&(i.score-=1),i)}var mD=/(^|\s)#[^\u2000-\u206F\u2E00-\u2E7F'!"#$%&()*+,.:;<=>?@^`{|}~\[\]\\\s]*$/g,vD=function(e){function t(t){var n=e.call(this,t)||this;return n.scope.register([],"Tab",(function(e){if(!e.isComposing){var t=n.suggestions,i=t.values[t.selectedItem];if(i){var r=n.context,o=r.editor,a=r.start,s=r.end,l="#"+dT(i.tag,i.matches);return o.transaction({changes:[{from:a,to:s,text:l}]}),!1}}})),n}return m(t,e),t.prototype.onTrigger=function(e,t,n){var i=e.line,r=t.getLine(i),o=r.substr(0,e.ch);if(o.match(mD)&&"#"!==r.substr(e.ch,1)){var a=o.lastIndexOf("#"),s=o.substr(a+1);return{start:{line:i,ch:a},end:{line:i,ch:e.ch},query:s}}return null},t.prototype.renderSuggestion=function(e,t){uT(t,e.tag,e)},t.prototype.selectSuggestion=function(e){var t=this.context;if(this.close(),t){var n=t.editor,i=t.start,r=t.end;n.transaction({changes:[{from:i,to:r,text:"#"+e.tag+" "}]}),setTimeout((function(){return n.focus()}))}},t.prototype.getSuggestions=function(e){return gD(this.app.metadataCache,e.query)},t}(iD);function gD(e,t,n){void 0===n&&(n=!1),t=t.toLowerCase();var i=Object.keys(e.getTags());n||(i=i.map((function(e){return e.slice(1)})));var r=[],o=eT(t);i.sort(aC);for(var a=0,s=i;a0)e.preventDefault(),i(r.getText());else if("Backspace"===e.key&&0===t.inputText.length&&t.elements.length>0){e.preventDefault();var n=t.elements[t.elements.length-1];n&&n.focus()}else if("ArrowLeft"===e.key){var o=r.win.getSelection();if(0===r.getText().length&&o.rangeCount>0)0===o.getRangeAt(0).startOffset&&(e.preventDefault(),t.focusElement(t.elements.length-1))}})),r.addEventListener("blur",(function(e){i(r.getText())})),n.addEventListener("click",(function(e){e.targetNode===n&&r.focus()})),this.renderValues()}return Object.defineProperty(e.prototype,"inputText",{get:function(){return this.inputEl.getText()},enumerable:!1,configurable:!0}),e.prototype.setInputText=function(e){this.inputEl.innerText=e,this.inputEl.trigger("input")},e.prototype._createInputEl=function(){var e=createDiv({cls:"multi-select-input",attr:{contentEditable:!0,tabIndex:0}});return e.addEventListener("input",(function(t){return sg(e,!1)})),e.addEventListener("paste",(function(t){return lg(e,t)})),e},e.prototype.setValues=function(e){var t=!1;return Array.isArray(e)?(t=!0,this.values=e):(t=this.values.length>0,this.values=[]),t&&(this.renderValues(),this.triggerChange()),this},e.prototype.onChange=function(e){return this.changeCallback=e,this},e.prototype.setOptionContextmenuHandler=function(e){return this.onOptionContextmenu=e,this},e.prototype.setOptionRenderer=function(e){return this.optionRenderer=e,this.values.length>0&&this.renderValues(),this},e.prototype.allowCreatingOptions=function(e){return this.createOption=e,this},e.prototype.preventDuplicates=function(e){return this.findDuplicate=e,this},e.prototype.setupInputEl=function(e){return this.setupInput=e,this},e.prototype._createElement=function(e){var t,n=null===(t=this.createOption)||void 0===t?void 0:t.call(this,e);return n||null},e.prototype.addElement=function(e){var t,n=this._createElement(e);if(n){var i=null===(t=this.findDuplicate)||void 0===t?void 0:t.call(this,n,this.values);if(void 0!==i&&i>=0&&i=this.values.length)){var i=this.elements[e],r=this._createInputEl(),o=!1,a=function(t,i){var r;void 0===i&&(i=!1);var a=n._createElement(t);if(a){var s=null===(r=n.findDuplicate)||void 0===r?void 0:r.call(n,a,n.values);if(void 0!==s&&s>=0&&s0?(e.preventDefault(),a(r.getText(),!0)):"Escape"===e.key&&(e.preventDefault(),o=!1,n.rootEl.insertBefore(i,r),r.detach(),i.focus()))})),r.innerText=String(this.values[e]),this.rootEl.insertBefore(r,i),i.detach(),wv(r)}},e.prototype.removeElement=function(e,t){void 0===t&&(t=!1),e<0||e>=this.values.length||(this.values=this.values.filter((function(t,n){return n!==e})),this.renderValues(),t&&this.focusElement(e-1),this.triggerChange())},e.prototype.focusElement=function(e){var t=Math.max(0,e),n=this.elements[t];n?n.focus():this.inputEl.focus()},e.prototype.renderValues=function(){var e=this;this.elements=[];for(var t=function(t){var i=n.values[t],r=t,o=n.rootEl.createDiv({cls:"multi-select-pill",attr:{tabIndex:0}}),a=o.createDiv({cls:"multi-select-pill-content"}),s=o.createDiv({cls:"multi-select-pill-remove-button"});if(Km(s,"lucide-x"),o.addEventListener("copy",(function(e){return Ec(String(i))})),o.addEventListener("contextmenu",(function(t){var n,s=Ng.forEvent(t);s.addSections(["title","open","action-primary","action","info","view","system","","danger"]),s.addItem((function(t){return t.setSection("action-primary").setTitle(lm.interface.menu.edit()).setIcon("lucide-edit-3").onClick((function(){return e.editElement(r)}))})).addItem((function(e){return e.setSection("action-primary").setTitle(lm.interface.menu.copy()).setIcon("lucide-copy").onClick((function(){return navigator.clipboard.writeText(String(i))}))})).addItem((function(t){return t.setWarning(!0).setSection("action-primary").setIcon("lucide-trash-2").setTitle(lm.interface.menu.removeFromList()).onClick((function(){return e.removeElement(r)}))})),null===(n=e.onOptionContextmenu)||void 0===n||n.call(e,s,i,{el:a,pillEl:o})})),o.addEventListener("dblclick",(function(t){t.preventDefault(),e.editElement(r)})),o.addEventListener("keydown",(function(t){"Enter"===t.key?(t.preventDefault(),e.editElement(r)):"Escape"===t.key?(t.preventDefault(),e.inputEl.focus()):"Backspace"===t.key?(t.preventDefault(),e.removeElement(r,!0)):"ArrowUp"===t.key?(t.preventDefault(),e.focusElement(0)):"ArrowDown"===t.key?(t.preventDefault(),e.inputEl.focus()):"ArrowLeft"===t.key?(t.preventDefault(),e.focusElement(r-1)):"ArrowRight"===t.key&&(t.preventDefault(),e.focusElement(r+1))})),n.optionRenderer?n.optionRenderer(i,{el:a,pillEl:o}):a.createSpan({text:String(i)}),n.findDuplicate){var l=n.findDuplicate(i,n.values.slice(0,t));void 0!==l&&l>=0&&l0?"":lm.properties.labelNoValue())},e.prototype.triggerChange=function(){this.changeCallback&&this.changeCallback(this.values)},e}();function bD(e){return e&&"object"==typeof e&&Object.hasOwn(e,"metadataEditor")&&e.metadataEditor instanceof ED}function wD(e){if(null===e||""===e)return null;if(Array.isArray(e)){var t=e.filter((function(e){return null!=e})).map((function(e){return String(e)}));return t.length>0?t:null}return String.isString(e)?[e]:[String(e)]}function kD(e){var t,n=e.activeEditor;if(bD(n)&&n.canShowProperties())return n.metadataEditor;var i=null===(t=e.activeLeaf)||void 0===t?void 0:t.view;return bD(i)&&i.canShowProperties()?i.metadataEditor:null}function CD(e){return y(this,void 0,Promise,(function(){var t,n,i,r;return b(this,(function(o){switch(o.label){case 0:return(t=kD(e.workspace))?[2,t]:(n=e.workspace.getActiveFile())&&"md"===n.extension&&(i=e.internalPlugins.getEnabledPluginById("properties"))?[4,i.ensurePropertiesView(n)]:[3,2];case 1:if(r=o.sent())return[2,r.metadataEditor];o.label=2;case 2:return[2,null]}}))}))}var ED=function(e){function t(t,n){var i=e.call(this)||this;i.hoverPopover=null,i.properties=[],i.selectedLines=new Set,i.collapsed=!1,i.app=t,i.owner=n,i.rendered=[],i.containerEl=createDiv({cls:"metadata-container",attr:{tabIndex:-1}}),i.errorEl=i.containerEl.createDiv("metadata-error-container"),i.containerEl.setAttr("data-property-count",0),i.containerEl.addEventListener("keydown",(function(e){e.isComposing||e.target===i.containerEl&&i.handleKeypress(e)})),i.containerEl.addEventListener("focusin",(function(e){for(var t=0,n=i.rendered;t0)e.preventDefault(),this.clearSelection();else if(Yl.isMacOS&&"Backspace"===e.key&&e.metaKey||"Delete"===e.key){e.preventDefault();s=this.focusedLine;var a=Array.from(this.selectedLines);0===a.length&&s&&a.push(s),this.removeProperties(a),this.clearSelection()}}else{e.preventDefault();var s=this.focusedLine,l="ArrowDown"===e.key?1:-1;if(s){var c=this.rendered.indexOf(s),u=this.rendered[c+l],h=this.selectedLines.has(s)&&this.selectedLines.has(u);u&&(h?this.selectProperty(s,!1):(this.selectProperty(s,!0),this.selectProperty(u,!0)),u.focusProperty())}}},t.prototype.onload=function(){this.registerEvent(this.app.metadataTypeManager.on("changed",this.onMetadataTypeChange,this))},t.prototype.hasFocus=function(){var e=this.containerEl.doc.activeElement;return this.containerEl.contains(e)},t.prototype.hasPropertyFocused=function(){for(var e=this.containerEl.doc.activeElement,t=0,n=this.rendered;t0&&(this.collapsed||!e.bottom?this.headingEl.focus():this.addPropertyButtonEl.isShown()?this.addPropertyButtonEl.focus():this.focusPropertyAtIndex(-1),!0)},t.prototype.focusProperty=function(e){var t=this.rendered.find((function(t){return t.entry.key===e}));t&&(Yl.hasPhysicalKeyboard?t.focusProperty():Ev(t.containerEl))},t.prototype.focusKey=function(e){var t=this.rendered.find((function(t){return t.entry.key===e}));null==t||t.focusKey()},t.prototype.focusValue=function(e,t){var n=this.rendered.find((function(t){return t.entry.key===e}));null==n||n.focusValue(t)},t.prototype.onMetadataTypeChange=function(e){var t=this.rendered.find((function(t){return t.entry.key.toLowerCase()===e}));t&&t.renderProperty(t.entry,!0)},t.prototype.synchronize=function(e){var t=this,n=!!e,i=[],r=[];if(e)for(var o in e)Object.hasOwn(e,o)&&i.push({key:o,value:e[o]});for(var a=function(e){var t=i[e],n=s.rendered.find((function(e){return e.entry.key===t.key}));n||(n=new SD(s.app,s,t)),n.renderProperty(t),r.push(n)},s=this,l=0;l0?this.focusPropertyAtIndex(Math.clamp(r,0,this.rendered.length-1)):this.owner.shiftFocusAfter()),this.owner.saveFrontmatter(o)},t.prototype.save=function(){var e=this.serialize();this.owner.saveFrontmatter(e)},t.prototype.reorderKey=function(e,t){var n=this.serialize();delete n[e.key];for(var i={},r=Object.keys(n),o=0;o=r.length&&(i[e.key]=e.value),this.owner.saveFrontmatter(i)},t}(Fm),SD=function(){function e(e,t,n){var i=this;this.app=e,this.metadataEditor=t,this.entry=n,this.typeInfo=this.app.metadataTypeManager.getTypeInfo(n.key,n.value),this.containerEl=createDiv({cls:"metadata-property",attr:{tabIndex:0}}),this.containerEl.setAttr("data-property-key",n.key.toLowerCase()),this.containerEl.addEventListener("keydown",(function(e){if(!e.isComposing&&!e.defaultPrevented&&e.target===i.containerEl)if(i.metadataEditor.selectedLines.size>1)i.metadataEditor.handleKeypress(e);else if("Enter"===e.key||" "===e.key||"A"===e.key||"i"===e.key){e.preventDefault();var t="both";"A"===e.key?t="end":"i"===e.key&&(t="start"),i.metadataEditor.focusValue(n.key,t)}else"ArrowLeft"===e.key||"h"===e.key?(e.preventDefault(),i.focusKey()):"ArrowRight"===e.key||"l"===e.key?(e.preventDefault(),i.focusValue()):i.metadataEditor.handleKeypress(e)})),this.keyEl=this.containerEl.createDiv({cls:"metadata-property-key"}),this.iconEl=this.keyEl.createSpan({cls:"metadata-property-icon",attr:{"aria-disabled":!this.entry.key}},(function(e){e.addEventListener("mousedown",(function(e){return e.preventDefault()})),e.addEventListener("click",(function(t){t.preventDefault(),"true"!==e.getAttr("aria-disabled")&&(i.containerEl.hasClass("has-active-menu")||i.handleItemClick(t))})),Yl.isMobileApp||e.addEventListener("contextmenu",(function(t){t.preventDefault(),"true"!==e.getAttr("aria-disabled")&&(i.containerEl.hasClass("has-active-menu")||(i.focusProperty(),i.showPropertyMenu(t)))}))})),this.keyInputEl=this.keyEl.createEl("input",{cls:"metadata-property-key-input",value:this.entry.key,type:"text",attr:{autocapitalize:"none",enterkeyhint:Yl.isAndroidApp?"enter":"next"}},(function(t){Yl.isMobile||mv(t,i.entry.key),t.addEventListener("blur",(function(e){if(t!==t.doc.activeElement){var n=t.value.trim();""!==n||""!==i.entry.key?i.handleUpdateKey(n)||(t.value=i.entry.key):i.metadataEditor.removeProperties([i],!1)}})),t.addEventListener("keydown",(function(r){if(!r.isComposing&&!r.defaultPrevented)if("Tab"===r.key||"Enter"===r.key){r.preventDefault();var o=t.value.trim();i.handleUpdateKey(o)&&e.nextFrame((function(){i.renderProperty(i.entry,!0),i.focusValue()}))}else"Escape"===r.key&&(r.preventDefault(),t.value=n.key,n.key?i.focusProperty():i.metadataEditor.removeProperties([i]))})),t.addEventListener("input",(function(){var e=n.key||t.value.trim();i.iconEl.setAttr("aria-disabled",!e)})),new XD(e,t,i.metadataEditor.properties).onSelect((function(n){var r=n.text.trim();t.value=r,i.handleUpdateKey(r)&&e.nextFrame((function(){i.renderProperty(i.entry,!0),i.focusValue()}))}))})),this.valueEl=this.containerEl.createDiv("metadata-property-value"),Ic(this.valueEl);var r=this.warningEl=this.containerEl.createDiv({cls:"clickable-icon metadata-property-warning-icon"});mv(r,lm.properties.labelTypeMismatchWarning({type:this.typeInfo.expected.name()})),Km(r,"lucide-alert-triangle"),r.toggle(this.typeInfo.expected!==this.typeInfo.inferred),r.addEventListener("click",(function(e){new tA(i.app,i).open()})),Uc(this.iconEl,this.containerEl,this.metadataEditor.propertyListEl,10,(function(){}),(function(e){return i.metadataEditor.reorderKey(i.entry,e)}))}return e.prototype.setSelected=function(e){this.containerEl.toggleClass("is-selected",e)},e.prototype.handleItemClick=function(e){this.metadataEditor.handleItemSelection(e,this)||this.showPropertyMenu(e)},e.prototype.focusKey=function(){var e=this.metadataEditor,t=this.keyInputEl;e.collapsed&&e.setCollapse(!1,!0),t.focus()},e.prototype.focusProperty=function(){var e=this.metadataEditor,t=this.containerEl;e.collapsed&&e.setCollapse(!1,!0),t.focus()},e.prototype.focusValue=function(e){void 0===e&&(e="both");var t=this.metadataEditor,n=this.rendered;t.collapsed&&t.setCollapse(!1,!0),n.focus(e)},e.prototype.showPropertyMenu=function(e){var t,n=this;e.preventDefault();var i=new Ng;i.addSections(["title","action","action.changeType","selection","clipboard","","danger"]);var r=this.app.metadataTypeManager,o=!ox.hasOwnProperty(this.entry.key),a=r.registeredTypeWidgets;Yl.isPhone&&i.addItem((function(e){return e.setTitle(n.entry.key).setSection("title").removeIcon().setIsLabel(!0)})),Yl.isMobile&&i.addItem((function(e){return e.setTitle(lm.properties.optionPropertyType()).setSection("action.changeType").removeIcon().setIsLabel(!0).titleEl.addClass("u-small")})).onHide((function(){Cv()})),i.setSectionSubmenu("action.changeType",{title:lm.properties.optionPropertyType(),icon:"lucide-info"});for(var s=function(e){if(e.reservedKeys&&!(null===(t=e.reservedKeys)||void 0===t?void 0:t.contains(l.entry.key)))return"continue";i.addItem((function(t){return t.setTitle(e.name()).setIcon(e.icon).setSection("action.changeType").setDisabled(!o).setChecked(e.type===n.typeInfo.expected.type).onClick((function(){r.setType(n.entry.key,e.type),n.renderProperty(n.entry,!0),null==n.entry.value||e.validate(n.entry.value)||new tA(n.app,n).open()}))}))},l=this,c=0,u=Object.values(a);c0&&(e.preventDefault(),a(i[0]))}})),o.addEventListener("keydown",(function(e){if(!e.isComposing)if("Enter"===e.key){if(e.shiftKey)return;if(e.defaultPrevented)return;e.preventDefault(),a(o.textContent),i.ctx.blur()}else"Escape"===e.key&&(e.preventDefault(),i.setValue(i.value),i.ctx.blur())})),o.addEventListener("input",(function(e){e.isComposing||sg(o,!0)})),o.addEventListener("paste",(function(e){lg(o,e)})),o.addEventListener("blur",(function(e){e.defaultPrevented||a(o.textContent.trimEnd())}));var s=i.linkEl=n.createDiv("metadata-link"),l=i.linkTextEl=s.createDiv("metadata-link-inner");return s.createDiv("metadata-link-flair",(function(e){return Km(e,"lucide-pencil")})),l.onClickEvent((function(e){0!==e.button&&1!==e.button||(e.preventDefault(),i.isWikilink()?i.ctx.app.workspace.openLinkText(i.getLinkText(),i.ctx.sourcePath,Ag.isModEvent(e)):Kc(i.value)?window.open(i.value,"_blank"):Xc(i.value)&&window.open("mailto:"+i.value,"_blank"))})),l.addEventListener("contextmenu",(function(e){e.preventDefault();var t=(new Ng).addSections(["title","correction","spellcheck","open","selection","clipboard","action","view","info","","danger"]);i.isWikilink()?i.ctx.app.workspace.handleLinkContextMenu(t,i.getLinkText(),i.ctx.sourcePath):Kc(i.value)?i.ctx.app.workspace.handleExternalLinkContextMenu(t,i.value):Xc(i.value)&&i.ctx.app.workspace.handleExternalLinkContextMenu(t,"mailto:"+i.value),t.showAtMouseEvent(e)})),i.isWikilink()&&t.app.dragManager.handleDrag(l,(function(e){return t.app.dragManager.dragLink(e,i.getLinkText(),t.sourcePath)})),s.addEventListener("click",(function(e){e.defaultPrevented||i.onFocus()})),s.addEventListener("mouseover",(function(e){l.hasClass("internal-link")&&i.ctx.app.workspace.trigger("hover-link",{event:e,source:t.hoverSource,hoverParent:i,targetEl:s,linktext:i.getLinkText()})})),i}return m(t,e),t.prototype.isWikilink=function(){var e=this.value;return e&&e.startsWith("[[")&&e.endsWith("]]")},t.prototype.render=function(){var e=this.ctx.app,t=this.linkTextEl,n=this.getLinkText();t.setText(this.getDisplayText());var i=this.isWikilink(),r=Kc(this.value),o=Xc(this.value),a=i&&e.metadataCache.isUnresolved(lS(n),this.ctx.sourcePath);t.toggleClass("internal-link",i),t.toggleClass("external-link",r||o),t.toggleClass("is-unresolved",a),t.setAttr("data-href",n),i||r||o?(this.inputEl.hide(),this.linkEl.show()):(this.linkEl.hide(),this.inputEl.show())},t.prototype.isAlias=function(){var e=this.value;return!!(e&&e.startsWith("[[")&&e.endsWith("]]"))&&nE(e.slice(2,-2)).isAlias},t.prototype.getDisplayText=function(){var e=this.value;return e&&e.startsWith("[[")&&e.endsWith("]]")?nE(e.slice(2,-2)).title:e||""},t.prototype.getLinkText=function(){var e=this.value;return e&&e.startsWith("[[")&&e.endsWith("]]")?nE(e.slice(2,-2)).href:e||""},t.prototype.setValue=function(e){null===e&&(e=""),this.value=String(e),this.inputEl.textContent=e,this.render()},t.prototype.onFocus=function(e){void 0===e&&(e="both"),this.inputEl.show(),this.linkEl.hide(),Yl.isPhone?this.inputEl.focus():wv(this.inputEl,function(e){return"start"===e||"end"!==e&&void 0}(e))},t}(MD),DD=function(e){function t(t,n,i){var r=e.call(this,n)||this;r.type="multitext",r.hoverPopover=null,i=wD(i),r.valueSet=new Set(i);var o=t.app,a=t.onChange,s=t.sourcePath,l=function(e,n){new ZD(t,e,(function(e,t){return n(e,!0)}),(function(e){return"text"!==e.type||!r.valueSet.has(e.text)}))},c=function(e){return e&&e.startsWith("[[")&&e.endsWith("]]")},u=r.multiselect=new yD(n).setOptionRenderer((function(e,n){var i=n.el,a=n.pillEl;if(c(e)){var l=e.slice(2,-2),u=nE(l),h=u.title,p=u.href;a.addEventListener("open-link",(function(e){e.preventDefault(),o.workspace.openLinkText(p,s,e.detail.paneType)})),i.createSpan({text:h}),a.addClass("internal-link"),a.setAttr("data-href",p),a.toggleClass("is-unresolved",o.metadataCache.isUnresolved(lS(p),s)),a.onClickEvent((function(e){e.defaultPrevented||0!==e.button&&1!==e.button||o.workspace.openLinkText(p,s,Ag.isModEvent(e))})),o.dragManager.handleDrag(a,(function(e){return o.dragManager.dragLink(e,l,s)})),i.addEventListener("mouseover",(function(e){o.workspace.trigger("hover-link",{event:e,source:t.hoverSource,hoverParent:r,targetEl:i,linktext:p})}))}else if(i.setText(e),Kc(e)||Xc(e)){a.addClass("external-link"),a.setAttr("data-href",e);var d=Xc(e)?"mailto:"+e:e;a.addEventListener("open-link",(function(e){e.preventDefault(),window.open(d,"_blank")})),a.onClickEvent((function(e){e.defaultPrevented||0!==e.button&&1!==e.button||window.open(d,"_blank")}))}})).setOptionContextmenuHandler((function(e,t){if(e.addSections(["title","correction","spellcheck","open","selection","clipboard","action","view","info","","danger"]),c(t)){var n=nE(t.slice(2,-2)).href;o.workspace.handleLinkContextMenu(e,n,s)}else Kc(t)&&o.workspace.handleExternalLinkContextMenu(e,t)})).setValues(i).allowCreatingOptions((function(e){return e})).setupInputEl(l).onChange((function(e){r.valueSet=new Set(e),a(e.slice())}));return o.dragManager.handleDrop(u.rootEl,(function(e,t,i){if(t){if(!i){var r=zM(o,t,s);if(r.length>0){e.preventDefault();for(var a=0,l=r;a0&&(i=r.getRangeAt(0).startOffset),e=e.slice(2,i),[4,this.manager.getSuggestionsAsync(n,e)]):[3,2];case 1:return!(t=o.sent())||n.isCancelled()?[2,[]]:(0===t.length&&(t=[aD]),t.sort(oD),[3,3]);case 2:t=function(e,t,n){n=n.toLowerCase();for(var i=[],r=[n],o=e.metadataCache.getFrontmatterPropertyValuesForKey(t),a=0,s=o;ao.from&&a.from==r.to&&(a=r.to==o.to+1?o:e.doc.lineAt(r.to-1));var s=t.length-1;s>=0&&t[s].to>o.from?t[s].to=a.to:t.push({from:o.from+/^\s*/.exec(o.text)[0].length,to:a.to})}return t}(t))}),0);function hA(e,t){var n=e.languageDataAt("commentTokens",t);return n.length?n[0]:{}}var pA=50;function dA(e,t,n){void 0===n&&(n=t.selection.ranges);var i=n.map((function(e){return hA(t,e.from).block}));if(!i.every((function(e){return e})))return null;var r=n.map((function(e,n){return function(e,t,n,i){var r,o,a=t.open,s=t.close,l=e.sliceDoc(n-pA,n),c=e.sliceDoc(i,i+pA),u=/\s*$/.exec(l)[0].length,h=/^\s*/.exec(c)[0].length,p=l.length-u;if(l.slice(p-a.length,p)==a&&c.slice(h,h+s.length)==s)return{open:{pos:n-u,margin:u&&1},close:{pos:i+h,margin:h&&1}};i-n<=2*pA?r=o=e.sliceDoc(n,i):(r=e.sliceDoc(n,n+pA),o=e.sliceDoc(i-pA,i));var d=/^\s*/.exec(r)[0].length,f=/\s*$/.exec(o)[0].length,m=o.length-f-s.length;return r.slice(d,d+a.length)==a&&o.slice(m,m+s.length)==s?{open:{pos:n+d+a.length,margin:/\s/.test(r.charAt(d+a.length))?1:0},close:{pos:i-f-s.length,margin:/\s/.test(o.charAt(m-1))?1:0}}:null}(t,i[n],e.from,e.to)}));if(2!=e&&!r.every((function(e){return e})))return{changes:t.changes(n.map((function(e,t){return r[t]?[]:[{from:e.from,insert:i[t].open+" "},{from:e.to,insert:" "+i[t].close}]})))};if(1!=e&&r.some((function(e){return e}))){for(var o=[],a=0,s=void 0;ar&&(l==c||c>w.from)){r=w.from;var d=(C=/^\s*/.exec(w.text)[0].length)==w.length,f=w.text.slice(C,C+k.length)==k?C:-1;C=0}))){v=[];for(var S=0,M=i;S=0){c=(l=w.from+f)+k.length;" "==w.text[c-w.from]&&c++,v.push({from:l,to:c})}}return{changes:v}}return null}var mA=qe.define(),vA=qe.define(),gA=me.define(),yA=me.define({combine:function(e){return it(e,{minDepth:100,newGroupDelay:500,joinToEvent:function(e,t){return t}},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:function(e,t){return function(n,i){return e(n,i)||t(n,i)}}})}}),bA=ke.define({create:function(){return zA.empty},update:function(e,t){var n=t.state.facet(yA),i=t.annotation(mA);if(i){var r=PA.fromTransaction(t,i.selection),o=i.side,a=0==o?e.undone:e.done;return a=r?LA(a,a.length,n.minDepth,r):NA(a,t.startState.selection),new zA(0==o?i.rest:a,0==o?a:i.rest)}var s=t.annotation(vA);if("full"!=s&&"before"!=s||(e=e.isolate()),!1===t.annotation(_e.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);var l=PA.fromTransaction(t),c=t.annotation(_e.time),u=t.annotation(_e.userEvent);return l?e=e.addChanges(l,c,u,n,t):t.selection&&(e=e.addSelection(t.startState.selection,c,u,n.newGroupDelay)),"full"!=s&&"after"!=s||(e=e.isolate()),e},toJSON:function(e){return{done:e.done.map((function(e){return e.toJSON()})),undone:e.undone.map((function(e){return e.toJSON()}))}},fromJSON:function(e){return new zA(e.done.map(PA.fromJSON),e.undone.map(PA.fromJSON))}});function wA(e){return void 0===e&&(e={}),[bA,yA.of(e),jo.domEventHandlers({beforeinput:function(e,t){var n="historyUndo"==e.inputType?EA:"historyRedo"==e.inputType?SA:null;return!!n&&(e.preventDefault(),n(t))}})]}var kA=bA;function CA(e,t){return function(n){var i=n.state,r=n.dispatch;if(!t&&i.readOnly)return!1;var o=i.field(bA,!1);if(!o)return!1;var a=o.pop(e,i,t);return!!a&&(r(a),!0)}}var EA=CA(0,!1),SA=CA(1,!1),MA=CA(0,!0),xA=CA(1,!0);function TA(e){return function(t){var n=t.field(bA,!1);if(!n)return 0;var i=0==e?n.done:n.undone;return i.length-(i.length&&!i[0].changes?1:0)}}var DA=TA(0),AA=TA(1),PA=function(){function e(e,t,n,i,r){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=i,this.selectionsAfter=r}return e.prototype.setSelAfter=function(t){return new e(this.changes,this.effects,this.mapped,this.startSelection,t)},e.prototype.toJSON=function(){var e,t,n;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(n=this.startSelection)||void 0===n?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map((function(e){return e.toJSON()}))}},e.fromJSON=function(t){return new e(t.changes&&re.fromJSON(t.changes),[],t.mapped&&ie.fromJSON(t.mapped),t.startSelection&&pe.fromJSON(t.startSelection),t.selectionsAfter.map(pe.fromJSON))},e.fromTransaction=function(t,n){for(var i=OA,r=0,o=t.startState.facet(gA);rn+20?t-n-1:0,o=e.slice(r,t);return o.push(i),o}function IA(e,t){return e.length?t.length?e.concat(t):e:t}var OA=[],FA=200;function NA(e,t){if(e.length){var n=e[e.length-1],i=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-FA));return i.length&&i[i.length-1].eq(t)?e:(i.push(t),LA(e,e.length-1,1e9,n.setSelAfter(i)))}return[PA.selection([t])]}function RA(e){var t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function BA(e,t){if(!e.length)return e;for(var n=e.length,i=OA;n;){var r=VA(e[n-1],t,i);if(r.changes&&!r.changes.empty||r.effects.length){var o=e.slice(0,n);return o[n-1]=r,o}t=r.mapped,n--,i=r.selectionsAfter}return i.length?[PA.selection(i)]:OA}function VA(e,t,n){var i=IA(e.selectionsAfter.length?e.selectionsAfter.map((function(e){return e.map(t)})):OA,n);if(!e.changes)return PA.selection(i);var r=e.changes.map(t),o=t.mapDesc(e.changes,!0),a=e.mapped?e.mapped.composeDesc(o):o;return new PA(r,Ue.mapEffects(e.effects,t),a,e.startSelection.map(o),i)}var HA=/^(input\.type|delete)($|\.)/,zA=function(){function e(e,t,n,i){void 0===n&&(n=0),void 0===i&&(i=void 0),this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=i}return e.prototype.isolate=function(){return this.prevTime?new e(this.done,this.undone):this},e.prototype.addChanges=function(t,n,i,r,o){var a=this.done,s=a[a.length-1];return a=s&&s.changes&&!s.changes.empty&&t.changes&&(!i||HA.test(i))&&(!s.selectionsAfter.length&&n-this.prevTime=s&&r<=l&&(i=!0)}})),i}(s.changes,t.changes))||"input.type.compose"==i)?LA(a,a.length-1,r.minDepth,new PA(t.changes.compose(s.changes),IA(Ue.mapEffects(t.effects,s.changes),s.effects),s.mapped,s.startSelection,OA)):LA(a,a.length,r.minDepth,t),new e(a,OA,n,i)},e.prototype.addSelection=function(t,n,i,r){var o,a,s=this.done.length?this.done[this.done.length-1].selectionsAfter:OA;return s.length>0&&n-this.prevTime1&&/[\u4E00-\uffff]/.test(f)){var m=Array.from(cP.segment(f));if(m.length>1)return n?pe.cursor(t.head+m[1].index,-1):pe.cursor(h.head+m[m.length-1].index,1)}}return h}function hP(e,t){return UA(e,(function(n){return n.empty?uP(e,n,t):_A(n,t)}))}var pP=function(e){return hP(e,!0)},dP=function(e){return hP(e,!1)};function fP(e,t,n){if(t.type.prop(n))return!0;var i=t.to-t.from;return i&&(i>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function mP(e,t,n){for(var i=ep(e).resolveInner(t.head),r=n?xu.closedBy:xu.openedBy,o=t.head;;){var a=n?i.childAfter(o):i.childBefore(o);if(!a)break;fP(e,a,r)?i=a:o=n?a.to:a.from}var s,l;return l=i.type.prop(r)&&(s=n?Fd(e,i.from,1):Fd(e,i.to,-1))&&s.matched?n?s.end.to:s.end.from:n?i.to:i.from,pe.cursor(l,n?-1:1)}var vP=function(e){return UA(e,(function(t){return mP(e.state,t,!KA(e))}))},gP=function(e){return UA(e,(function(t){return mP(e.state,t,KA(e))}))};function yP(e,t){return UA(e,(function(n){if(!n.empty)return _A(n,t);var i=e.moveVertically(n,t);return i.head!=n.head?i:e.moveToLineBoundary(n,t)}))}var bP=function(e){return yP(e,!1)},wP=function(e){return yP(e,!0)};function kP(e){var t,n=e.scrollDOM.clientHeightl&&a.bottom0&&Fd(e,t.head-1,1)||t.head=i.node.from&&r.node.to<=i.node.to&&(i=r)}for(var o=i;o;o=o.next){var a=o.node;if((a.from=e.to||a.to>e.to&&a.from<=e.from)&&o.next)return pe.range(a.to,a.from)}return e}));return!i.eq(t.selection)&&(n(jA(t,i)),!0)},bL=function(e){var t=e.state,n=e.dispatch,i=t.selection,r=null;return i.ranges.length>1?r=pe.create([i.main]):i.main.empty||(r=pe.create([pe.cursor(i.main.head)])),!!r&&(n(jA(t,r)),!0)};function wL(e,t){if(e.state.readOnly)return!1;var n="delete.selection",i=e.state,r=i.changeByRange((function(i){var r=i.from,o=i.to;if(r==o){var a=t(i);ar&&(n="delete.forward",a=kL(e,a,!0)),r=Math.min(r,a),o=Math.max(o,a)}else r=kL(e,r,!1),o=kL(e,o,!0);return r==o?{range:i}:{changes:{from:r,to:o},range:pe.cursor(r,rt&&(t=n?i:e)}))}return t}var CL=function(e,t,n){return wL(e,(function(i){var r,o,a=i.from,s=e.state,l=s.doc.lineAt(a);if(n&&!t&&a>l.from&&an?n:Math.max(0,t.head-1)}))},LL=function(e){return wL(e,(function(t){var n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}))},IL=function(e){return wL(e,(function(t){var n=e.moveToLineBoundary(t,!0).head;return t.head-1&&i.push({from:r-(o.length-s),to:r}),a.done)break;o=""}else o=a.value;r+=a.value.length}return!!i.length&&(n(t.update({changes:i,userEvent:"delete"})),!0)},FL=function(e){var t=e.state,n=e.dispatch;if(t.readOnly)return!1;var i=t.changeByRange((function(e){return{changes:{from:e.from,to:e.to,insert:q.of(["",""])},range:pe.cursor(e.from)}}));return n(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0},NL=function(e){var t=e.state,n=e.dispatch;if(t.readOnly)return!1;var i=t.changeByRange((function(e){if(!e.empty||0==e.from||e.from==t.doc.length)return{range:e};var n=e.from,i=t.doc.lineAt(n),r=n==i.from?n-1:Q(i.text,n-i.from,!1)+i.from,o=n==i.to?n+1:Q(i.text,n-i.from,!0)+i.from;return{changes:{from:r,to:o,insert:t.doc.slice(n,o).append(t.doc.slice(r,n))},range:pe.cursor(o)}}));return!i.changes.empty&&(n(t.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function RL(e){for(var t=[],n=-1,i=0,r=e.selection.ranges;i=a.number){var l=t[t.length-1];l.to=s.to,l.ranges.push(o)}else t.push({from:a.from,to:s.to,ranges:[o]});n=s.number+1}return t}function BL(e,t,n){if(e.readOnly)return!1;for(var i=[],r=[],o=0,a=RL(e);o0?n--:i=t&&(n=r.type.prop(xu.closedBy))&&n.indexOf(o.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(o.from).from&&!/\S/.test(e.sliceDoc(r.to,o.from))?{from:r.to,to:o.from}:null}(n,i);e&&(i=r=(r<=o.to?o:n.doc.lineAt(r)).to);var s=new Cp(n,{simulateBreak:i,simulateDoubleBreak:!!a}),l=wp(s,i);for(null==l&&(l=wt(/^\s*/.exec(n.doc.lineAt(i).text)[0],n.tabSize));ro.from&&in&&(i.empty||i.to>a.from)&&(t(a,r,i),n=a.number),o=a.to+1}var s=e.changes(r);return{changes:r,range:pe.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}}))}var XL=function(e){var t=e.state,n=e.dispatch;if(t.readOnly)return!1;var i=Object.create(null),r=new Cp(t,{overrideIndentation:function(e){var t=i[e];return null==t?-1:t}}),o=ZL(t,(function(e,n,o){var a=wp(r,e.from);if(null!=a){/\S/.test(e.text)||(a=0);var s=/^\s*/.exec(e.text)[0],l=bp(t,a);(s!=l||o.fromthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())},e.prototype.nextLine=function(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)},e.prototype.next=function(){for(var e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;var t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){var n=this.curLineStart+t.index,i=n+t[0].length;if(this.matchPos=fI(this.text,i+(n==i?1:0)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(nthis.value.to)&&(!this.test||this.test(n,i,t)))return this.value={from:n,to:i,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length=i||r.to<=n){var o=new e(n,t.sliceString(n,i));return hI.set(t,o),o}if(r.from==n&&r.to==i)return r;var a=r.text,s=r.from;return s>n&&(a=t.sliceString(n,s)+a,s=n),r.to=this.to?this.to:this.text.lineAt(e).to},e.prototype.next=function(){for(;;){var e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){var n=this.flat.from+t.index,i=n+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(n,i,t)))return this.value={from:n,to:i,match:t},this.matchPos=fI(this.text,i+(n==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=pI.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}},e}();function fI(e,t){if(t>=e.length)return t;for(var n,i=e.lineAt(t);t=56320&&n<57344;)t++;return t}function mI(e){var t=Ft("input",{class:"cm-textfield",name:"line",value:String(e.state.doc.lineAt(e.state.selection.main.head).number)});function n(){var n=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(n){var i=e.state,r=i.doc.lineAt(i.selection.main.head),o=n[1],a=n[2],s=n[3],l=n[4],c=s?+s.slice(1):0,u=a?+a:r.number;if(a&&l){var h=u/100;o&&(h=h*("-"==o?-1:1)+r.number/i.doc.lines),u=Math.round(i.doc.lines*h)}else a&&o&&(u=u*("-"==o?-1:1)+r.number);var p=i.doc.line(Math.max(1,Math.min(i.doc.lines,u))),d=pe.cursor(p.from+Math.max(0,Math.min(c,p.length)));e.dispatch({effects:[vI.of(!1),jo.scrollIntoView(d.from,{y:"center"})],selection:d}),e.focus()}}return{dom:Ft("form",{class:"cm-gotoLine",onkeydown:function(t){27==t.keyCode?(t.preventDefault(),e.dispatch({effects:vI.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),n())},onsubmit:function(e){e.preventDefault(),n()}},Ft("label",e.state.phrase("Go to line"),": ",t)," ",Ft("button",{class:"cm-button",type:"submit"},e.state.phrase("go")))}}"undefined"!=typeof Symbol&&(uI.prototype[Symbol.iterator]=dI.prototype[Symbol.iterator]=function(){return this});var vI=Ue.define(),gI=ke.define({create:function(){return!0},update:function(e,t){for(var n=0,i=t.effects;n1)return Vn.none;var r,o=i.main,a=null;if(o.empty){if(!t.highlightWordAroundCursor)return Vn.none;var s=n.wordAt(o.head);if(!s)return Vn.none;a=n.charCategorizer(o.head),r=n.sliceDoc(s.from,s.to)}else{var l=o.to-o.from;if(l200)return Vn.none;if(t.wholeWords){if(r=n.sliceDoc(o.from,o.to),!MI(a=n.charCategorizer(o.head),n,o.from,o.to)||!function(e,t,n,i){return e(t.sliceDoc(n,n+1))==Je.Word&&e(t.sliceDoc(i-1,i))==Je.Word}(a,n,o.from,o.to))return Vn.none}else if(!(r=n.sliceDoc(o.from,o.to)))return Vn.none}for(var c=[],u=0,h=e.visibleRanges;u=o.to?c.push(SI.range(m,v)):(m>=o.to||v<=o.from)&&c.push(EI.range(m,v)),c.length>t.maxMatches))return Vn.none}return Vn.set(c)},e}(),{decorations:function(e){return e.decorations}}),TI=jo.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});var DI=function(e){var t=e.state,n=e.dispatch,i=t.selection.ranges;if(i.some((function(e){return e.from===e.to})))return function(e){var t=e.state,n=e.dispatch,i=t.selection,r=pe.create(i.ranges.map((function(e){return t.wordAt(e.head)||pe.cursor(e.head)})),i.mainIndex);return!r.eq(i)&&(n(t.update({selection:r})),!0)}({state:t,dispatch:n});var r=t.sliceDoc(i[0].from,i[0].to);if(t.selection.ranges.some((function(e){return t.sliceDoc(e.from,e.to)!=r})))return!1;var o=function(e,t){for(var n,i,r=e.selection,o=r.main,a=r.ranges,s=e.wordAt(o.head),l=s&&s.from==o.from&&s.to==o.to,c=function(r,o){if(o.next(),!o.done){if(r&&a.some((function(e){return e.from==o.value.from})))return n=r,i=o,"continue";if(l){var s=e.wordAt(o.value.from);if(!s||s.from!=o.value.from||s.to!=o.value.to)return n=r,i=o,"continue"}return{value:o.value}}if(r)return{value:null};o=new sI(e.doc,t,0,Math.max(0,a[a.length-1].from-1)),n=r=!0,i=o},u=!1,h=new sI(e.doc,t,a[a.length-1].to);;){var p=c(u,h);if(u=n,h=i,"object"==typeof p)return p.value}}(t,r);return!!o&&(n(t.update({selection:t.selection.addRange(pe.range(o.from,o.to),!1),effects:jo.scrollIntoView(o.to)})),!0)},AI=me.define({combine:function(e){return it(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:function(e){return new lO(e)},scrollToMatch:function(e){return jo.scrollIntoView(e)}})}});function PI(e){return e?[AI.of(e),fO]:fO}var LI=function(){function e(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||function(e){try{return new RegExp(e,cI),!0}catch(e){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}return e.prototype.unquote=function(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(function(e,t){return"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\"}))},e.prototype.eq=function(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord},e.prototype.create=function(){return this.regexp?new VI(this):new FI(this)},e.prototype.getCursor=function(e,t,n){void 0===t&&(t=0);var i=e.doc?e:nt.create({doc:e});return null==n&&(n=i.doc.length),this.regexp?NI(this,i,t,n):OI(this,i,t,n)},e}(),II=function(e){this.spec=e};function OI(e,t,n,i){return new sI(t.doc,e.unquoted,n,i,e.caseSensitive?void 0:function(e){return e.toLowerCase()},e.wholeWord?function(e,t){return function(n,i,r,o){return(o>n||o+r.length=t)return null;i.push(n.value)}return i},t.prototype.highlight=function(e,t,n,i){for(var r=OI(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));!r.next().done;)i(r.value.from,r.value.to)},t}(II);function NI(e,t,n,i){return new uI(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?(r=t.charCategorizer(t.selection.main.head),function(e,t,n){return!n[0].length||(r(RI(n.input,n.index))!=Je.Word||r(BI(n.input,n.index))!=Je.Word)&&(r(BI(n.input,n.index+n[0].length))!=Je.Word||r(RI(n.input,n.index+n[0].length))!=Je.Word)}):void 0},n,i);var r}function RI(e,t){return e.slice(Q(e,t,!1),t)}function BI(e,t){return e.slice(t,Q(e,t))}var VI=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.nextMatch=function(e,t,n){var i=NI(this.spec,e,n,e.doc.length).next();return i.done&&(i=NI(this.spec,e,0,t).next()),i.done?null:i.value},t.prototype.prevMatchInRange=function(e,t,n){for(var i=1;;i++){for(var r=Math.max(t,n-1e4*i),o=NI(this.spec,e,r,n),a=null;!o.next().done;)a=o.value;if(a&&(r==t||a.from>r+10))return a;if(r==t)return null}},t.prototype.prevMatch=function(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)},t.prototype.getReplacement=function(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g,(function(t,n){return"$"==n?"$":"&"==n?e.match[0]:"0"!=n&&+n=t)return null;i.push(n.value)}return i},t.prototype.highlight=function(e,t,n,i){for(var r=NI(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));!r.next().done;)i(r.value.from,r.value.to)},t}(II),HI=Ue.define(),zI=Ue.define(),qI=ke.define({create:function(e){return new UI(nO(e).create(),null)},update:function(e,t){for(var n=0,i=t.effects;no[r+1].from-500;)c=o[++r].to;t.highlight(n.state,l,c,(function(e,t){var r=n.state.selection.ranges.some((function(n){return n.from==e&&n.to==t}));i.add(e,t,r?GI:_I)}))}return i.finish()},e}(),{decorations:function(e){return e.decorations}});function YI(e){return function(t){var n=t.state.field(qI,!1);return n&&n.query.spec.valid?e(t,n):oO(t)}}var ZI=YI((function(e,t){var n=t.query,i=e.state.selection.main.to,r=n.nextMatch(e.state,i,i);if(!r)return!1;var o=pe.single(r.from,r.to),a=e.state.facet(AI);return e.dispatch({selection:o,effects:[pO(e,r),a.scrollToMatch(o.main,e)],userEvent:"select.search"}),rO(e),!0})),XI=YI((function(e,t){var n=t.query,i=e.state,r=i.selection.main.from,o=n.prevMatch(i,r,r);if(!o)return!1;var a=pe.single(o.from,o.to),s=e.state.facet(AI);return e.dispatch({selection:a,effects:[pO(e,o),s.scrollToMatch(a.main,e)],userEvent:"select.search"}),rO(e),!0})),QI=YI((function(e,t){var n=t.query.matchAll(e.state,1e3);return!(!n||!n.length)&&(e.dispatch({selection:pe.create(n.map((function(e){return pe.range(e.from,e.to)}))),userEvent:"select.search.matches"}),!0)})),$I=function(e){var t=e.state,n=e.dispatch,i=t.selection;if(i.ranges.length>1||i.main.empty)return!1;for(var r=i.main,o=r.from,a=r.to,s=[],l=0,c=new sI(t.doc,t.sliceDoc(o,a));!c.next().done;){if(s.length>1e3)return!1;c.value.from==o&&(l=s.length),s.push(pe.range(c.value.from,c.value.to))}return n(t.update({selection:pe.create(s,l),userEvent:"select.search.matches"})),!0},JI=YI((function(e,t){var n=t.query,i=e.state,r=i.selection.main,o=r.from,a=r.to;if(i.readOnly)return!1;var s=n.nextMatch(i,o,o);if(!s)return!1;var l,c,u=s,h=[],p=[];if(u.from==o&&u.to==a&&(c=i.toText(n.getReplacement(u)),h.push({from:u.from,to:u.to,insert:c}),u=n.nextMatch(i,u.from,u.to),p.push(jo.announce.of(i.phrase("replaced match on line $",i.doc.lineAt(o).number)+"."))),u){var d=0==h.length||h[0].from>=s.to?0:s.to-s.from-c.length;l=pe.single(u.from-d,u.to-d),p.push(pO(e,u)),p.push(i.facet(AI).scrollToMatch(l.main,e))}return e.dispatch({changes:h,selection:l,effects:p,userEvent:"input.replace"}),!0})),eO=YI((function(e,t){var n=t.query;if(e.state.readOnly)return!1;var i=n.matchAll(e.state,1e9).map((function(e){return{from:e.from,to:e.to,insert:n.getReplacement(e)}}));if(!i.length)return!1;var r=e.state.phrase("replaced $ matches",i.length)+".";return e.dispatch({changes:i,effects:jo.announce.of(r),userEvent:"input.replace.all"}),!0}));function tO(e){return e.state.facet(AI).createPanel(e)}function nO(e,t){var n,i,r,o,a,s=e.selection.main,l=s.empty||s.to>s.from+100?"":e.sliceDoc(s.from,s.to);if(t&&!l)return t;var c=e.facet(AI);return new LI({search:(null!==(n=null==t?void 0:t.literal)&&void 0!==n?n:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:null!==(i=null==t?void 0:t.caseSensitive)&&void 0!==i?i:c.caseSensitive,literal:null!==(r=null==t?void 0:t.literal)&&void 0!==r?r:c.literal,regexp:null!==(o=null==t?void 0:t.regexp)&&void 0!==o?o:c.regexp,wholeWord:null!==(a=null==t?void 0:t.wholeWord)&&void 0!==a?a:c.wholeWord})}function iO(e){var t=bs(e,tO);return t&&t.dom.querySelector("[main-field]")}function rO(e){var t=iO(e);t&&t==e.root.activeElement&&t.select()}var oO=function(e){var t=e.state.field(qI,!1);if(t&&t.panel){var n=iO(e);if(n&&n!=e.root.activeElement){var i=nO(e.state,t.query.spec);i.valid&&e.dispatch({effects:HI.of(i)}),n.focus(),n.select()}}else e.dispatch({effects:[zI.of(!0),t?HI.of(nO(e.state,t.query.spec)):Ue.appendConfig.of(fO)]});return!0},aO=function(e){var t=e.state.field(qI,!1);if(!t||!t.panel)return!1;var n=bs(e,tO);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:zI.of(!1)}),!0},sO=[{key:"Mod-f",run:oO,scope:"editor search-panel"},{key:"F3",run:ZI,shift:XI,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:ZI,shift:XI,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:aO,scope:"editor search-panel"},{key:"Mod-Shift-l",run:$I},{key:"Mod-Alt-g",run:yI},{key:"Mod-d",run:DI,preventDefault:!0}],lO=function(){function e(e){var t=this;this.view=e;var n=this.query=e.state.field(qI).query.spec;function i(e,t,n){return Ft("button",{class:"cm-button",name:e,onclick:t,type:"button"},n)}this.commit=this.commit.bind(this),this.searchField=Ft("input",{value:n.search,placeholder:cO(e,"Find"),"aria-label":cO(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Ft("input",{value:n.replace,placeholder:cO(e,"Replace"),"aria-label":cO(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Ft("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=Ft("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=Ft("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit}),this.dom=Ft("div",{onkeydown:function(e){return t.keydown(e)},class:"cm-search"},k(k([this.searchField,i("next",(function(){return ZI(e)}),[cO(e,"next")]),i("prev",(function(){return XI(e)}),[cO(e,"previous")]),i("select",(function(){return QI(e)}),[cO(e,"all")]),Ft("label",null,[this.caseField,cO(e,"match case")]),Ft("label",null,[this.reField,cO(e,"regexp")]),Ft("label",null,[this.wordField,cO(e,"by word")])],e.state.readOnly?[]:[Ft("br"),this.replaceField,i("replace",(function(){return JI(e)}),[cO(e,"replace")]),i("replaceAll",(function(){return eO(e)}),[cO(e,"replace all")])],!0),[Ft("button",{name:"close",onclick:function(){return aO(e)},"aria-label":cO(e,"close"),type:"button"},["×"])],!1))}return e.prototype.commit=function(){var e=new LI({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:HI.of(e)}))},e.prototype.keydown=function(e){ea(this.view,e,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?XI:ZI)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),JI(this.view))},e.prototype.update=function(e){for(var t=0,n=e.transactions;tl.length-uO;c--)if(!hO.test(l[c-1])&&hO.test(l[c])){l=l.slice(0,c);break}return jo.announce.of("".concat(e.state.phrase("current match"),". ").concat(l," ").concat(e.state.phrase("on line")," ").concat(r.number,"."))}var dO=jo.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),fO=[qI,Te.low(KI),dO],mO=Vn.line({attributes:{class:"cm-active"}}),vO=zi.fromClass(function(){function e(e){this.decorations=this.getDeco(e)}return e.prototype.update=function(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))},e.prototype.getDeco=function(e){for(var t=-1,n=[],i=0,r=e.state.selection.ranges;it&&(n.push(mO.range(a.from)),t=a.from)}return Vn.set(n)},e}(),{decorations:function(e){return e.decorations}}),gO=new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.elementClass="cm-active",t}return m(t,e),t}(As)),yO=Ps.compute(["selection"],(function(e){for(var t=[],n=-1,i=0,r=e.selection.ranges;in&&(n=a,t.push(gO.range(a)))}return lt.of(t)})),bO={brackets:["(","[","{","'",'"'],before:")]}'\":;>"},wO=Ue.define({map:function(e,t){var n=t.mapPos(e,-1,ne.TrackAfter);return null==n?void 0:n}}),kO=Ue.define({map:function(e,t){return t.mapPos(e)}}),CO=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(rt));CO.startSide=1,CO.endSide=-1;var EO=ke.define({create:function(){return lt.empty},update:function(e,t){if(t.selection){var n=t.state.doc.lineAt(t.selection.main.head).from,i=t.startState.doc.lineAt(t.startState.selection.main.head).from;n!=t.changes.mapPos(i,-1)&&(e=lt.empty)}e=e.map(t.changes);for(var r=function(t){t.is(wO)?e=e.update({add:[CO.range(t.value,t.value+1)]}):t.is(kO)&&(e=e.update({filter:function(e){return e!=t.value}}))},o=0,a=t.effects;o2||2==i.length&&1==ee($(i,0))||t!=r.from||n!=r.to)return!1;var o=function(e,t){for(var n=xO(e,e.selection.main.head),i=n.brackets||bO.brackets,r=0,o=i;r-1):OO(e,a,s,n.before||bO.before);if(t==s&&PO(e,e.selection.main.from))return FO(e,a,s)}return null}(e.state,i);return!!o&&(e.dispatch(o),!0)})),AO=[{key:"Backspace",run:function(e){var t=e.state,n=e.dispatch;if(t.readOnly)return!1;var i=xO(t,t.selection.main.head).brackets||bO.brackets,r=null,o=t.changeByRange((function(e){if(e.empty)for(var n=function(e,t){var n=e.sliceString(t-2,t);return ee($(n,0))==n.length?n:n.slice(1)}(t.doc,e.head),o=0,a=i;o-1?{changes:{insert:t+n,from:o.head},effects:wO.of(o.head+t.length),range:pe.cursor(o.head+t.length)}:{range:r=o}}));return r?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function FO(e,t,n){var i=null,r=e.selection.ranges.map((function(t){return t.empty&&LO(e.doc,t.head)==n?pe.cursor(t.head+n.length):i=t}));return i?null:e.update({selection:pe.create(r,e.selection.mainIndex),scrollIntoView:!0,effects:e.selection.ranges.map((function(e){var t=e.from;return kO.of(t)}))})}var NO=["%","`"];function RO(e,t){var n,i,r=e.lineAt(t).text.match(pC);if(r){var o=null!==(n=r[1])&&void 0!==n?n:"",a=null!==(i=r[3])&&void 0!==i?i:"";return o+" ".repeat(a.length)}return""}function BO(e,t,n){var i=null,r=e.changeByRange((function(r){if(!r.empty){var o=t,a=t;if(n&&r.from>=2&&e.doc.sliceString(r.from-2,r.from)===t+t){var s=RO(e.doc,r.from);"\n"!==e.doc.sliceString(r.from,r.from+1)&&(o=t+"\n"+s),"\n"!==e.doc.sliceString(r.to-1,r.to)&&(a="\n"+s+t)}else if(!NO.contains(t)&&IO(e,r))return{changes:[{insert:o+a,from:r.from,to:r.to}],effects:wO.of(r.from+o.length),range:pe.range(r.from+o.length,r.from+o.length)};return{changes:[{insert:o,from:r.from},{insert:a,from:r.to}],effects:wO.of(r.to+o.length),range:pe.range(r.anchor+o.length,r.head+o.length)}}var l=r.head,c=LO(e.doc,l);if(c==t){if(VO(e,l))return{changes:{insert:t+t,from:l},effects:wO.of(l+t.length),range:pe.cursor(l+t.length)};if(PO(e,l)){var u=n&&e.sliceDoc(l,l+3*t.length)==t+t+t;return{range:pe.cursor(l+t.length*(u?3:1)),effects:kO.of(l)}}}else{if(n&&e.sliceDoc(l-2*t.length,l)==t+t&&VO(e,l-2*t.length))return{changes:{insert:t+"\n"+RO(e.doc,r.from)+t+t+t,from:l},effects:wO.of(l+t.length),range:pe.cursor(l+t.length)};if(e.charCategorizer(l)(c)==Je.Space){var h=e.sliceDoc(l-1,l);if(h!=t&&e.charCategorizer(l)(h)==Je.Space)return{changes:{insert:t+t,from:l},effects:wO.of(l+t.length),range:pe.cursor(l+t.length)}}}return{range:i=r}}));return i?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function VO(e,t){var n=ep(e).resolveInner(t+1);return n.parent&&n.from==t}var HO=me.define({combine:function(e){return it(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:function(e,t){return Math.min(e,t)},drawRangeCursor:function(e,t){return e||t}})}});function zO(e){return e.startState.facet(HO)!=e.startState.facet(HO)}var qO=ha({above:!0,markers:function(e){for(var t=e.state,n=t.facet(HO),i=[],r=0,o=t.selection.ranges;ra.anchor?-1:1),u=0,h=oa.forRange(e,l,c);ue)&&(i={from:e,to:t})})),i}var GO=function(e){function t(t){var n=e.call(this)||this;return n.folded=t,n}return m(t,e),t.prototype.eq=function(e){return e.folded==this.folded},t.prototype.toDOM=function(e){var t=createDiv("cm-fold-indicator"),n=t.createDiv("collapse-indicator collapse-icon");return UO(t,this.folded),Km(n,"right-triangle"),t.addEventListener("mousedown",(function(e){e.preventDefault()})),t.addEventListener("click",(function(n){var i=e.posAtDOM(t),r=e.state.doc.lineAt(i),o=_O(_p(e.state),r.from,r.to);if(o)return e.dispatch({effects:qp.of(o)}),void n.preventDefault();var a=Vp(e.state,r.from,r.to);return a?(e.dispatch({effects:zp.of(a)}),void n.preventDefault()):void 0})),t},t}(Rn),KO=Vn.widget({widget:new GO(!0)}),YO=Vn.widget({widget:new GO(!1)}),ZO=function(){function e(e){this.decorations=Vn.none,this.wasComposing=!1,this.buildDeco(e)}return e.prototype.update=function(e){if(e.view.composing)return this.decorations=this.decorations.map(e.changes),void(this.wasComposing=!0);(e.docChanged||e.viewportChanged||e.startState.facet(dp)!==e.state.facet(dp)||_p(e.startState)!==_p(e.state)||this.wasComposing)&&(this.wasComposing=!1,this.buildDeco(e.view))},e.prototype.buildDeco=function(e){for(var t=new ct,n=_p(e.state),i=0,r=e.viewportLineBlocks;i]+/,r=n.lineAt(e.state.selection.main.from),o="",a="",s=r.text.match(pC);if(s&&s[0])if(o=s[1],s[2])a=" ".repeat(s[2].length);else for(var l=r.number-1;l>0;){var c=n.line(l),u=c.text.match(pC);if(!u||!u[0])break;if(u[2]||u[1]!==o){var h=u[1]||"";u[2]&&o.startsWith(h)&&u[0].length<=o.length&&(r=c,o=u[1],a=" ".repeat(u[2].length));break}l--}for(var p=r.number+1;p<=n.lines;){var d=n.line(p).text;if(!d.startsWith(o))break;if(d=d.substr(o.length),a){if(d.startsWith(a)){p++;continue}a=""}if(!/^(\t| {4})/.test(d))break;p++}for(var f=0,m=e.viewportLineBlocks;f"===k)b++," "===y.charAt(b)&&b++;else if("\t"===k)E=!0,b++;else{for(var M=!0,x=b+4,T=b;T0?sF(t[0]):""},e.prototype.bake=function(){if(!this.baked){this.baked=!0;var e=this.defaultKeys,t=this[lF],n=[],i=[],r=function(e,t){for(var r=0,o=t;r=i.pos&&e<=KF(i))return{matcherStack:[this],token:i}}return null},e}(),xF=function(e){function t(t){var n=e.call(this)||this;return n.expected=null,"TRUE"===t?n.expected=!0:"FALSE"===t&&(n.expected=!1),n}return m(t,e),t.prototype.match=function(e){var t=e.getData(oN);return t===this.expected?{content:[[0,String(t).length]]}:null},t.prototype.getInfo=function(){return!0===this.expected?lm.plugins.search.labelMatchTrue():!1===this.expected?lm.plugins.search.labelMatchFalse():lm.plugins.search.labelMatchEmpty()},t.prototype.requiredInputs=function(){return{}},t}(MF),TF=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.match=function(e){for(var t={},n=0,i=e.keys;n0&&(o[l]=c,r=!0)}return r?o:null}(e,this.regex,!1)},t.prototype.getInfo=function(){return lm.plugins.search.labelMatchRegex()+"/".concat(this.regex,"/")},t.prototype.requiredInputs=function(){return{content:!0}},t}(MF),FF=function(e){function t(t,n){var i=e.call(this)||this;return i.key=t,i.value=n,i}return m(t,e),t.prototype.match=function(e){var t;if(e.strings.hasOwnProperty("content")){var n=null===(t=e.cache)||void 0===t?void 0:t.frontmatter;if(!n)return null;var i=[];for(var r in n)if(n.hasOwnProperty(r)){var o=e.clone();o.keys=["propertyName"],o.strings.propertyName=r,this.key.match(o)&&i.push(r)}for(var a=[],s=0,l=i;s0?{properties:a}:null}},t.prototype.getInfo=function(){return lm.plugins.search.labelMatchProperty()},t.prototype.requiredInputs=function(){return{}},t.prototype.getContext=function(t){var n,i=this.key.getContext(t)||(null===(n=this.value)||void 0===n?void 0:n.getContext(t));return i?(i.matcherStack.push(this),i):e.prototype.getContext.call(this,t)},t}(MF),NF=function(e){function t(t){var n=e.call(this)||this;return n.text=t,n.wholeWordRegex=bF(t),n.partialMatchRegex=oc(t),n}return m(t,e),t.prototype.match=function(e){if(""!==this.text){for(var t=!1,n={},i=0,r=e.keys;i0&&(n[o]=l,t=!0)}else e.strings[o].toLowerCase()===this.text.toLowerCase()&&(n[o]=[[0,this.text.length]],t=!0)}return t?n:null}},t.prototype.getInfo=function(){return lm.plugins.search.labelMatchExactText()+'"'.concat(this.text,'"')},t.prototype.requiredInputs=function(){return{content:!0}},t}(MF),RF=function(e){function t(t){var n=e.call(this,oc(t))||this;return n.text=t,n}return m(t,e),t.prototype.setText=function(e){this.text=e,this.regex=oc(e)},t.prototype.getInfo=function(){return lm.plugins.search.labelMatchText()+'"'.concat(this.text,'"')},t.prototype.match=function(t){return""===this.text?null:e.prototype.match.call(this,t)},t}(OF),BF=function(e){function t(t){var n=e.call(this)||this;return n.matchers=[],n.matchers=t,n}return m(t,e),t.prototype.requiredInputs=function(){for(var e={},t=0,n=this.matchers;tthis.text)?{content:[[0,String(t).length]]}:null},t.prototype.getInfo=function(){return"lessthan"===this.type?lm.plugins.search.labelMatchLessThan()+this.text:lm.plugins.search.labelMatchGreaterThan()+this.text},t.prototype.requiredInputs=function(){return{}},t}(MF),WF=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.match=function(e){var t=this.matcher.match(e);if(void 0!==t)return t?null:{}},t.prototype.getInfo=function(){return lm.plugins.search.labelExcluding()},t}(zF);function jF(e,t){return UF({tokens:e,pos:0,operatorStack:[],operators:t})}function UF(e){for(var t=[],n=[];e.pos"===h){s&&r(s,a),i.push({type:"greaterthan",content:h,pos:t-1});break}if("<"===h){s&&r(s,a),i.push({type:"lessthan",content:h,pos:t-1});break}if(" "===h){s&&(r(s,a),a+=s.length);break}s+=h}else{var l=t;t++,i.push({type:"not",content:o,pos:l})}else{var c=t;t++;for(var u="";t<=n;){if(t===n){i.push({type:"regex",content:u,pos:c});break}var h=e.charAt(t);if(t++,"\\"===h&&t0&&n.push({start:0,end:a,children:0});for(var s=o?o.position.start.offset:t,l=0,c=i+1;cr.level;c++)l++;n.push({start:a,end:s,children:l})}return n}(i,l.length),a=0,s=o.length;return this.splitContentMatch(e,(function(e,t){for(var n=a;n0},e.prototype.first=function(){return this._children.first()},e.prototype.last=function(){return this._children.last()},e.prototype.size=function(){return this._children.length},e.prototype.sort=function(e){return this._children.sort(e)},Object.defineProperty(e.prototype,"children",{get:function(){return this._children},enumerable:!1,configurable:!0}),e.prototype.clear=function(){this._children=[]},e}();function gN(e){return"vChildren"in e&&"childrenEl"in e}function yN(e){for(var t=[],n=e;n.parent;)t.push(n.parent.vChildren.children.indexOf(n)),n=n.parent;return t.reverse()}function bN(e,t,n){if(void 0===n&&(n=!1),e){for(var i=0,r=e.vChildren.children;i=0?t[n]:null}function SN(e,t){for(;e;){if(!e||!e.parent)return null;if(0===e.parent.vChildren.children.indexOf(e))e=e.parent;else e=MN(EN(e),t);if(e&&!e.info.hidden)return e}return null}function MN(e,t){if(!e)return null;var n=e;if(gN(n))for(var i=t&&n.collapsed;!i&&gN(n)&&n.vChildren.hasChildren();)n=n.vChildren.last();for(;n.info.hidden;)n=SN(n,!0);return function(e){for(var t,n=e;null===(t=n.parent)||void 0===t?void 0:t.collapsed;)n=n.parent;return n}(n)}function xN(){var e=createDiv();return e.style.width="1px",e.style.height="0.1px",e.style.marginBottom="0",e}var TN=function(e,t){if(t(e),gN(e)){var n=e.vChildren;if(e.childrenEl.parentNode)for(var i=0,r=n.children;iMath.max(i,300)/2&&this.updateVirtualDisplay(r)},e.prototype.onResize=function(){var e=this.scrollEl;if(null!==e.offsetParent){this.height=e.clientHeight;var t=e.clientWidth;this.setWidth||t===this.width?this.updateVirtualDisplay():(this.width=t,this.invalidateAll())}},e.prototype.queueCompute=function(){var e=this;this.queued||(this.queued=Pc((function(){return e.compute()}),50))},e.prototype.compute=function(e){this.queued&&(this.queued.cancel(),this.queued=null);var t=this.scrollEl,n=this.rootEl;if(n){var i=t.scrollTop;if(null!==t.offsetParent){var r={num:0,limit:e?9999:this.renderBlockSize,finished:!0};this._precompute(n),this._layout(n,r),this._measure(n);var o=r.finished;if(o&&gN(n))for(var a=0,s=n.vChildren.children;a=t.limit)return t.finished=!1,!1;var a=!0,s=!1;if(gN(e)){var l=e.vChildren,c=e.childrenEl,u=e.pusherEl;if(c.parentNode){u.style.marginBottom="0";for(var h=[u],p=0,d=!1,f=0,m=l.children;f0&&(d+=t,f++)})),d/=f,this.update(i,this.getRootTop(),u,h,p,d),n.scrollTop!==o&&(n.scrollTop=o)},e.prototype.update=function(e,t,n,i,r,o){var a,s=e.info,l=e.coverEl;if(l&&0!==s.childLeft){var c=s.childLeft-r;l.style.setProperty("margin-inline-start",-c+"px","important"),l.style.setProperty("padding-inline-start",c+s.childLeftPadding+"px","important")}if(gN(e)){var u=e.vChildren,h=e.childrenEl,p=e.pusherEl;if(h.parentNode){if(s.hidden)return;var d=this.setWidth,f=0,m=0,v=[p],g=!1,y=0;t+=s.height;for(var b=function(e){var s=0;TN(e,(function(e){return s+=e.info.hidden?0:e.info.height||o})),m+=s;var l=t+s;d&&(y=Math.max(y,e.info.width)),g=!1,li?TN(e,(function(e){return e.el.parentNode&&e.el.detach()})):(v.push(e.el),null===(a=e.onRender)||void 0===a||a.call(e),w.update(e,t,n,i,r,o),g=!0),t=l},w=this,k=0,C=u.children;ks&&(o.scrollTop=r-o.clientHeight),this.updateVirtualDisplay()}},e.prototype.findElementTop=function(e,t,n){if(e===t)return n;if(gN(t)){var i=t.vChildren,r=t.childrenEl,o=t.info;if(r.parentNode){n+=o.childTop;for(var a=function(t){var i=s.findElementTop(e,t,n);if(null!==i)return{value:i};var r=0;TN(t,(function(e){return r+=e.info.hidden?0:e.info.height})),n+=r},s=this,l=0,c=i.children;l=t)break;var l=a[1];lt&&(l=t),s>r&&i(!1,r,s),i(!0,s,l),r=l)}r0&&l.createDiv("tree-item-flair-outer").createSpan("tree-item-flair").setText(String(y));var b=this.app.dragManager;b.handleDrag(l,(function(e){return b.dragFile(e,a.file)}))}this.childrenEl=s.createDiv("search-result-file-matches")}return e.prototype.onRender=function(){this.rendered||(this.rendered=!0,this.renderContentMatches())},e.prototype.renderContentMatches=function(){var e=this,t=this,n=t.app,i=t.file,r=t.result,o=t.content,a=t.collapsible,s=t.extraContext,l=t.separateMatches,c=t.collapseEl;this.vChildren.clear(),this.showTitle&&(c.style.visibility="hidden");var u=!1,h=function(t,n,i,r){t.sort((function(e,t){return e[0]-t[0]})),u=!0;var o=0,a=function(a,s,c,u){var h=o+1;if(!l)for(;h=s)break;if(p[1]>s){s=p[1],h++;break}h++}var d=t.slice(o,h),f=new ON(e,n,i,a,s,d,r);f.onMatchRender=e.onMatchRender,f.render(c,u),e.vChildren.addChild(f),o=h};if(s)for(;o0&&h(i,e.text,d.caches[t]||{},(function(e){e.match.nodeId=t}))}},m=0,v=p;m0&&function(t,n,i){u=!0;for(var r=function(e){for(var t={},n=0,i=e;n0&&h(r.content,o,g)}this.showTitle&&a&&u&&(c.style.visibility=""),this.invalidate()},e.prototype.getMatchExtraPositions=function(e,t,n){var i=n.listItems,r=n.sections;if(i){var o=i[u=sS(i,t[0])];if(o&&t[0]>=o.position.start.offset&&t[1]<=o.position.end.offset){var a=o,s=u+1,l=new Set;for(l.add(a.position.start.line);s=h.position.start.offset&&t[1]<=h.position.end.offset)return[h.position.start.offset,h.position.end.offset]}for(var p=t[0],d=p-1e3;p>0&&p>d&&10!==e.charCodeAt(p-1);)p--;for(var f=t[0],m=f+1e3;f0&&w>d&&(AN.lastIndex=w,!AN.test(e));)w--;for(;10===e.charCodeAt(w)&&w0)r={scroll:uc(this.content,n[0][0])};this.app.workspace.trigger("hover-link",{event:e,source:"search",hoverParent:this.parentDom,targetEl:t,linktext:i,state:r})}},e.prototype.onResultContextMenu=function(e){var t=this,n=(new Ng).addSections(["title","open","action-primary","action","info","view","system","","danger"]);this.app.workspace.handleLinkContextMenu(n,this.file.path,"")&&(e.preventDefault(),this.selfEl.contains(e.targetNode)&&n.addItem((function(e){return e.setSection("danger").setTitle(lm.interface.menu.deleteFile()).setIcon("lucide-trash-2").setWarning(!0).onClick((function(){return t.app.fileManager.promptForDeletion(t.file)}))})),n.setParentElement(this.containerEl).showAtMouseEvent(e))},e.prototype.setCollapse=function(e,t){return y(this,void 0,void 0,(function(){var n,i,r;return b(this,(function(o){switch(o.label){case 0:return this.collapsed===e?[2]:(this.collapsed=e,i=(n=this).containerEl,r=n.childrenEl,UO(i,e),[4,wl(r,i,e,t)]);case 1:return o.sent(),this.invalidate(),[2]}}))}))},e.prototype.setCollapsible=function(e){this.collapsible!==e&&(this.collapsible=e,this.collapseEl.style.visibility=e?"":"hidden")},e.prototype.setExtraContext=function(e){this.extraContext!==e&&(this.extraContext=e,this.renderContentMatches())},e.prototype.invalidate=function(){this.parentDom.infinityScroll.invalidate(this,!0)},e}(),IN=function(){function e(e,t,n){this.info={height:0,width:0,childLeft:0,childLeftPadding:0,childTop:0,computed:!1,queued:!1,hidden:!1,next:!1},this.onMatchRender=null,this.parentDom=e,this.cache=t,this.matches=n;var i=this.el=createDiv("search-result-file-match tappable");Ic(i),i.onClickEvent(this.onResultClick.bind(this)),i.addEventListener("mouseover",this.onFocusEnter.bind(this)),i.addEventListener("mouseout",this.onFocusExit.bind(this)),i.addEventListener("contextmenu",(function(t){return e.onResultContextMenu(t)}))}return e.prototype.onResultClick=function(e){if(!(e.instanceOf(MouseEvent)&&0!==e.button&&1!==e.button||e.defaultPrevented)){e.preventDefault();var t={propertyMatches:this.matches},n=this.parentDom,i=n.app,r=n.file;i.workspace.getLeaf(Ag.isModEvent(e)).openFile(r,{eState:t})}},e.prototype.onFocusExit=function(e){e&&e.instanceOf(MouseEvent)&&!Lc(e,this.el)||this.el.classList.contains("has-focus")},e.prototype.onFocusEnter=function(e){!e||!e.instanceOf(MouseEvent)||Lc(e,this.el)},e.prototype.render=function(){var e,t=this,n=t.el,i=t.parentDom,r=t.matches;n.empty();var o=r[0].key;n.createSpan({text:o+": "});var a=(null!==(e=this.cache.frontmatter)&&void 0!==e?e:{})[o];if(Array.isArray(a))for(var s=function(e){var t=a[e];if(!t)return"continue";var i=String(t),o=r.filter((function(t){var n;return t.pos&&(null===(n=t.subkey)||void 0===n?void 0:n[0])===e})),s=Xx(o.map((function(e){return e.pos})));PN(n,i,0,i.length,s),n.createSpan({text:" "})},l=0;l0),this.showMoreAfterEl.toggle(this.end0;){e--;var t=this.getPrevPos(e);if(te){e=n;break}}this.end=e,this.render(),this.onFocusEnter()},e.prototype.getPrevPos=function(e){var t=this.content,n=this.cache,i=n.listItems,r=n.sections;if(i){var o=i[sS(i,e,!0)];if(o){var a=o.position,s=a.start,l=a.end;if(s.offset-s.col<=e&&l.offset>=e)return s.offset-s.col}}if(r){var c=r[sS(r,e,!0)];if(c&&"list"!==c.type){var u=c.position;s=u.start,l=u.end;if(s.offset-s.col<=e&&l.offset>=e)return s.offset-s.col}}for(var h=e;h>0&&10!==t.charCodeAt(h-1);)h--;return h},e.prototype.getNextPos=function(e){var t=this.content,n=this.cache,i=n.listItems,r=n.sections;if(i){var o=i[d=sS(i,e,!0)];if(o){var a=o.position,s=a.start,l=a.end;if(s.offset-s.col<=e&&l.offset>=e){var c=o,u=d+1,h=new Set;for(h.add(c.position.start.line);u=e)return l.offset}}for(var v=e;v0&&(h.highlightRanges=f)}this.highlightRanges=l,n.toggleClass("mod-no-match",0===l.length)}else this.highlightRanges=null}},e.prototype.updateCount=function(){var e,t=this.selectedRange+1,n=(null===(e=this.highlightRanges)||void 0===e?void 0:e.length)||0;this.countEl.toggle(!!this.getQuery()),this.countEl.setText("".concat(t," / ").concat(n))},e.prototype.onSearchInput=function(){this.updateQuery(),this.selectRange(0),this.updateCount()},e.prototype.findNext=function(){this.selectRange(this.selectedRange+1),this.updateCount()},e.prototype.findPrevious=function(){this.selectRange(this.selectedRange-1),this.updateCount()},e.prototype.selectRange=function(e){var t=this.highlightRanges;if(t&&0!==t.length){e>t.length-1&&(e=0),e<0&&(e=t.length-1);var n=t[this.selectedRange];n&&(n.active=!1),this.selectedRange=e;var i=t[this.selectedRange];i.active=!0,this.renderer.selectRange(i)}},e.prototype.getQuery=function(){return this.searchInputEl.value},e.prototype.onEnter=function(e){!e.isComposing&&this.searchInputEl.isActiveElement()&&this.findNext()},e.prototype.onShiftEnter=function(e){!e.isComposing&&this.searchInputEl.isActiveElement()&&this.findPrevious()},e}();function RN(e){var t=IE(e),n={definitions:_E(t)},i=[],r=t.children,o=BE(t);t.children=[null];for(var a=function(e){var o=r[e],a=7;"heading"===o.type&&(a=o.depth||1),_k(o,["checklist","listItem","code"],(function(e){var t=e.data=e.data||{};(t.hProperties=t.hProperties||{})["data-line"]=String(e.position.start.line-o.position.start.line)})),t.children[0]=o;var s=VE(t,n);i.push({html:s,pos:QE(o.position),level:a})},s=0;s0&&t(r)}}var gR=null,yR={progressiveRender:!0,asyncParse:!0,listBullet:!0},bR=function(){function e(t,n,i,r,o){void 0===o&&(o=!0);var a=this;this.previewEl=null,this.sizerEl=null,this.pusherEl=null,this.header=null,this.footer=null,this.cssClasses=null,this.sections=[],this.asyncSections=[],this.recycledSections=[],this.lastText=null,this.text="",this.frontmatter=null,this.queued=null,this.rendered=null,this.lastRender=0,this.lastScroll=0,this.viewportHeight=0,this.renderedWidth=0,this.renderExtra=1,this.renderExtraMinPx=500,this.addBottomPadding=!1,this.topSpace=0,this.parsing=!1,this.scrolling=!1,this.owner=t,this.workerPath=r;var s=this.previewEl=i.createDiv("markdown-preview-view markdown-rendered"),l=this.sizerEl=s.createDiv("markdown-preview-sizer markdown-preview-section"),c=this.pusherEl=createDiv("markdown-preview-pusher");c.style.width="1px",c.style.height="0.1px",e.registerDomEvents(l,n,this.handleDetached.bind(this)),l.on("click","a.footnote-link",this.onFootnoteLinkClick.bind(this)),l.on("click",".task-list-item-checkbox",this.onCheckboxClick.bind(this)),l.on("click",".heading-collapse-indicator",this.onHeadingCollapseClick.bind(this)),l.on("click","li > .list-collapse-indicator",this.onListCollapseClick.bind(this)),s.addEventListener("scroll",this.onScroll.bind(this),{passive:!0}),o&&s.onNodeInserted((function(){return a.queueRender()})),kc((function(){return a.onResize()}))}return e.prototype.set=function(e){this.text=e,this.queueRender()},e.prototype.rerender=function(e){if(this.lastText=null,e)for(var t=this.header,n=this.footer,i=0,r=this.sections;i0)for(var E=0,S=C;E0&&(this.cssClasses=O,I.addClasses(O)),a&&d.unshift(a),s&&d.push(s),this.sections=d;var F=this.asyncSections;this.asyncSections=[];for(var N=0,R=F;N0){var i=n.scrollTop;this.lastText!==this.text&&(!yR.asyncParse||this.text.length<10240?this.parseSync():this.parseAsync());for(var r=this,o=r.sections,a=r.sizerEl,s=r.pusherEl,l=0,c=performance.now(),u=!1,h=function(n){if(n.rendered)return"continue";l++;var i=n.el;n.render();for(var r=0,o=e.recyclers;r li");a0&&(p.asyncSections.push(n),Promise.all(d).then((function(){t.asyncSections.remove(n),n.resetCompute(),t.queueRender()}))),l%10==0)&&performance.now()-c>5)return u=!0,"break"},p=this,d=0,f=o;d100){u=!0;break}}a.setChildrenInPlace(g);for(var E=0,S=m;E0)return;if(this.rendered)for(var x=0,T=this.rendered;xe?i.shown=!1:(i.shown=!0,e=7,i.headingCollapsed&&(e=i.level))}},e.prototype.updateVirtualDisplay=function(e){var t=this,n=t.previewEl,i=t.sizerEl,r=t.pusherEl,o=t.sections,a=n.scrollTop;if("number"==typeof e&&(a=e),!yR.progressiveRender){var s=[];s.push(r);for(var l=0,c=o;l0&&(g+=O,y++)}var w=0;y>0&&(w=g/y);var k=0,C=this.topSpace,E=[];E.push(r);var S=-1,M=-1,x=-1,T=-1,D=null,A=null,P=window.getSelection();if(P.rangeCount>0){var L=P.getRangeAt(0);!L.collapsed&&n.contains(L.startContainer)&&n.contains(L.endContainer)&&(D=L.startContainer,A=L.endContainer,(D===r||D===i&&L.startOffset<=1)&&(x=0),A===i&&L.endOffset>1&&(T=o.length-1))}for(b=0;b=m&&C<=v&&(-1===S&&(S=b),M=b),C=R;else C+=O,0===O&&(C+=w)}}var F=S,N=M;-1!==x&&-1!==T&&(F=Math.min(F,x),N=Math.max(N,T)),F<0&&(F=0),++N>o.length-1&&(N=o.length-1),C=this.topSpace;for(b=0;b0&&(k-=this.topSpace)<0&&(k=0),C-=this.topSpace,C=Math.max(0,C),r.style.marginBottom=k+"px",i.style.minHeight=C-1+"px",i.setChildrenInPlace(E),N!==o.length-1&&N--;for(b=F;b<=N;b++){(u=o[b]).shown&&this.measureSection(u)}n.scrollTop!==a&&(n.scrollTop=a),this.renderHighlights(S,M)},e.prototype.renderHighlights=function(e,t){var n=this.sections,i=this.sizerEl,r=i.offsetParent;if(r){var o=r.getBoundingClientRect(),a=1;r.instanceOf(HTMLElement)&&(a=r.offsetWidth/Math.round(o.width));for(var s=[],l=e;l<=t;l++)if(!(l<0||l>=n.length)){var c=n[l];if(c.shown){var u=c.highlightRanges;if(u&&0!==u.length){var h=[];Iv(c.el,h);for(var p=h.map((function(e){return e.textContent})),d=0,f=u;d0){var M=createDiv("search-highlight");M.setChildrenInPlace(s),i.appendChild(M)}}},e.prototype.measureSection=function(e){if(e.rendered){var t=e.el,n=t.nextSibling,i=t.offsetTop,r=n?n.offsetTop:t.offsetTop+t.offsetHeight;e.height=r-i,e.computed=!0}},e.prototype.onRendered=function(e){this.rendered?this.rendered.push(e):e()},e.prototype.onResize=function(){var e=this,t=e.sections,n=e.previewEl,i=e.sizerEl,r=this.viewportHeight=n.clientHeight,o=n.offsetWidth;if(i.style.paddingBottom=this.addBottomPadding?Math.round(r/2)+"px":"0",o!==this.renderedWidth){this.renderedWidth=o;for(var a=0,s=t;aMath.max(i*this.renderExtra,this.renderExtraMinPx)/2&&this.updateVirtualDisplay(r),this.scrolling?this.scrolling=!1:this.owner.onScroll()},e.prototype.getScroll=function(){var e=this,t=this.previewEl,n=this.sections;if(0===n.length)return null;for(var i=t.scrollTop,r=0,o=this.topSpace,a=0;ao+s.height||0===r&&0===s.lines)){var l=s.height;0===r&&(l+=o,o=0);var c=r,u=i-o,h=0;if(s.lines>0){var p=l/s.lines,d=Math.floor(u/p);c+=d,h=u/p-d}for(var f=function(t){return Pv(t,e.previewEl).top},m=f(s.el),v=void 0,g=0,y=0,b=l/s.lines,w=0,k=s.el.findAll("li");w0){var S=v?f(v):m;b=(f(C)-S)/y}break}g=E,v=C,b=0}}}if(v)0===b&&(b=(s.el.offsetTop+s.height-f(v))/(s.lines-g)),c=r+g,h=(u-(f(v)-m))/b;return c+h}r+=s.lines,s.shown&&(o+=s.height)}return r},e.prototype.applyScroll=function(e,t){var n=this;if(!Number.isNumber(e)||isNaN(e))return!1;if(this.text!==this.lastText)return!1;var i=Math.floor(e),r=e-i;this.scrolling=!0;for(var o=this.sections,a=t||{},s=a.highlight,l=a.center,c=0,u=this.topSpace,h=0;h0){var x=y?b(y):p.el.offsetTop;f=(b(E)-x)/M}break}w=S,y=E,f=0}}}if(y){0===f&&(f=(p.el.offsetTop+p.height-b(y))/(p.lines-w));var T=b(y)-p.el.offsetTop;g=Math.max(0,u+T+f*(m-w+r)+v),this.previewEl.scrollTop=g}return s&&this.highlightEl(y||p.el),!0}c+=p.lines,p.shown&&(u+=p.height)}return!0},e.prototype.getSectionTop=function(e){for(var t=this.sections,n=0,i=0;i0&&(o=n/i),r.shown||(o=0),n+=o}return-1},e.prototype.showSection=function(e){if(!e.shown){var t=this.sections,n=t.indexOf(e);if(-1!==n){for(var i=e.level;n>=0;){var r=t[n];r.headingCollapsed&&r.levelu)&&l.scrollIntoView({behavior:"auto",block:"center",inline:"nearest"})}this.updateVirtualDisplay()}},e.prototype.addHeader=function(){this.header||(this.header=new fR(null),this.header.el.addClass("mod-header","mod-ui"),this.sections.unshift(this.header),this.queueRender())},e.prototype.removeHeader=function(){this.header&&(this.sections.remove(this.header),this.header=null,this.queueRender())},e.prototype.addFooter=function(){this.footer||(this.footer=new fR(null),this.footer.el.addClass("mod-footer","mod-ui"),this.sections.push(this.footer),this.queueRender())},e.prototype.removeFooter=function(){this.footer&&(this.sections.remove(this.footer),this.footer=null,this.queueRender())},e.prototype.updateHeader=function(){var e=this.header;e&&(e.resetCompute(),this.queueRender())},e.prototype.updateFooter=function(){var e=this.footer;e&&(e.resetCompute(),this.queueRender())},e.prototype.cleanupParentComponents=function(){for(var e=[],t=0,n=this.owner._children;t.01&&(f=e,m=requestAnimationFrame(v))};t.addEventListener("load",(function(){i=t.width,r=t.height,o=t.naturalWidth,a=t.naturalHeight,(s=2*Math.max(o/i,a/r))<1&&(s=1),h()}));var g=null,y=null,b=function(e){cancelAnimationFrame(m);for(var t=Date.now(),n=t-f,i=Array.prototype.slice.call(e.touches),r=null,o=null,a=0,s=i;a0&&(r=i.first(),i.splice(0,1)),o?i.remove(o):i.length>0&&(o=i.first(),i.splice(0,1)),g&&r&&g.identifier===r.identifier){var w=window.innerWidth/2,k=window.innerHeight/2;if(y&&o&&y.identifier===o.identifier){var C=-l+((g.clientX+y.clientX)/2-w)/u,E=-c+((g.clientY+y.clientY)/2-k)/u,S=(r.clientX+o.clientX)/2,M=(r.clientY+o.clientY)/2,x=g.clientX-y.clientX,T=g.clientY-y.clientY,D=r.clientX-o.clientX,A=r.clientY-o.clientY,P=x*x+T*T,L=D*D+A*A;if(0!==P&&0!==L){var I=Math.sqrt(L/P),O=u*I;l=(S-w)/O-C,c=(M-k)/O-E,u=O,h()}}else{var F=(r.clientX-g.clientX)/u,N=(r.clientY-g.clientY)/u;l+=F,c+=N,p=Math.sqrt(F*F+N*N)/n,d=Math.atan2(N,F),h()}}y=o,(g=r)||y||(m=requestAnimationFrame(v)),f=t};n.addEventListener("touchstart",b),n.addEventListener("touchend",b),n.addEventListener("touchmove",b),n.addEventListener("touchcancel",b),n.addEventListener("click",(function(e){n.remove(),e.preventDefault(),cancelAnimationFrame(m)}))}(r))}t.on("click","a.internal-link",o),t.on("auxclick","a.internal-link",o),t.on("dragstart","a.internal-link",(function(e,t){var i=r(t);i&&n.onInternalLinkDrag(e,t,i.href,i.displayText)})),t.on("contextmenu","a.internal-link",(function(e,t){var i=r(t);i&&n.onInternalLinkRightClick(e,t,i.href,i.displayText)})),t.on("mouseover","a.internal-link",(function(e,t){var i=r(t);i&&n.onInternalLinkMouseover(e,t,i.href,i.displayText)})),t.on("mouseover","a.footnote-link",(function(r,o){var a=o.dataset.footref;a&&e.belongsToMe(o,t,i)&&n.onInternalLinkMouseover(r,o,"#[^".concat(a,"]"))})),t.on("click","a.external-link",(function(r,o){if(0===r.button||1===r.button){var a=o.getAttr("href");a&&e.belongsToMe(o,t,i)&&n.onExternalLinkClick(r,o,a)}})),t.on("contextmenu","a.external-link",(function(r,o){var a=o.getAttr("href");a&&e.belongsToMe(o,t,i)&&n.onExternalLinkRightClick(r,o,a)})),t.on("click","a.tag",(function(r,o){if(0===r.button&&e.belongsToMe(o,t,i)){r.preventDefault();var a=o.getText();n.onTagClick(r,o,a)}})),t.on("click","img,video",a),t.on("contextmenu","img,video",a)},e.belongsToMe=function(e,t,n){for(;e;){if(e===t)return!0;if(e.classList.contains("markdown-preview-view")||e.classList.contains("bases-view"))return!1;var i=e.parentElement;if(!i)return!!n&&n(e);e=i}return!1},e.postProcessors=[],e.codeBlockPostProcessors={},e.recyclers=[],e}();bR.registerPostProcessor((function(e,t){var n,i=e.find(".frontmatter");null==i||i.hide(),null===(n=null==i?void 0:i.parentElement)||void 0===n||n.addClass("mod-frontmatter","mod-ui")})),bR.registerPostProcessor((function(e,t){for(var n=0,i=e.findAll("[data-footnote-id]");n g.label foreignObject > div'),p=0,d=h;p0;)g=v.pop(),v.push.apply(v,Array.from(g.childNodes)),g.instanceOf(SVGAElement)&&g.href&&!g.href.baseVal&&(g.href.baseVal=g.getAttr("href"));if(y=u.find("style")){for(w=y.innerHTML,k=w,C=0,E=u.findAll("marker");C0?[4,Promise.all(n)]:[3,2];case 1:s.sent(),s.label=2;case 2:return[2]}}))}))}))}bR.registerPostProcessor((function(e,t){var n=e.findAll("code.language-mermaid");if(0!==n.length)return kR(t.containerEl,n)}));var CR=function(e,t){for(var n=0,i=e;n0)return"continue";var n=SR(e),i=t.createEl("button",{cls:"copy-code-button"});Km(i,"lucide-copy"),i.onClickEvent((function(e){return y(void 0,void 0,void 0,(function(){return b(this,(function(t){switch(t.label){case 0:return e.preventDefault(),[4,navigator.clipboard.writeText(n)];case 1:return t.sent(),Km(i,"lucide-check"),i.setCssStyles({color:"var(--text-success)",display:"inline-flex"}),window.setTimeout((function(){Km(i,"lucide-copy"),i.setCssStyles({color:"",display:""})}),1e3),[2]}}))}))}))},n=0,i=e.findAll("pre > code");n=0){var c=String(l);a.html=a.html.replace(/
  • /g,(function(e,t,n,i,r,a){return i===c&&a===c?'
  • ${r}
  • `}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    `}table(e){let r="",n="";for(let a=0;a${i}`),` `+r+` `+i+`
    `}tablerow({text:e}){return` ${e} `}tablecell(e){let r=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+r+` `}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${e}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=XX(e);if(a===null)return i;e=a;let s='
    ",s}image({href:e,title:r,text:n}){let i=XX(e);if(i===null)return n;e=i;let a=`${n}{let l=a[s].flat(1/0);n=n.concat(this.walkTokens(l,r))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...l){let u=a.renderer.apply(this,l);return u===!1&&(u=s.apply(this,l)),u}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new im(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let l=s,u=n.renderer[l];n.useNewRenderer||(u=this.#t(u,l,a));let h=a[l];a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new nm(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let l=s,u=n.tokenizer[l],h=a[l];a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new rm;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;let l=s,u=n.hooks[l],h=a[l];rm.passThroughHooks.has(s)?a[l]=f=>{if(this.defaults.async)return Promise.resolve(u.call(a,f)).then(p=>h.call(a,p));let d=u.call(a,f);return h.call(a,d)}:a[l]=(...f)=>{let d=u.apply(a,f);return d===!1&&(d=h.apply(a,f)),d}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(l){let u=[];return u.push(s.call(this,l)),a&&(u=u.concat(a.call(this,l))),u}}this.defaults={...this.defaults,...i}}),this}#t(e,r,n){switch(r){case"heading":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,n.parser.parseInline(i.tokens),i.depth,d7e(n.parser.parseInline(i.tokens,n.parser.textRenderer)))};case"code":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text,i.lang,!!i.escaped)};case"table":return function(i){if(!i.type||i.type!==r)return e.apply(this,arguments);let a="",s="";for(let u=0;u0&&f.tokens[0].type==="paragraph"?(f.tokens[0].text=g+" "+f.tokens[0].text,f.tokens[0].tokens&&f.tokens[0].tokens.length>0&&f.tokens[0].tokens[0].type==="text"&&(f.tokens[0].tokens[0].text=g+" "+f.tokens[0].tokens[0].text)):f.tokens.unshift({type:"text",text:g+" "}):m+=g+" "}m+=this.parser.parse(f.tokens,l),u+=this.listitem({type:"list_item",raw:m,text:m,task:p,checked:!!d,loose:l,tokens:f.tokens})}return e.call(this,u,a,s)};case"html":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text,i.block)};case"paragraph":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"escape":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text)};case"link":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.href,i.title,this.parser.parseInline(i.tokens))};case"image":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.href,i.title,i.text)};case"strong":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"em":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"codespan":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text)};case"del":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,this.parser.parseInline(i.tokens))};case"text":return function(i){return!i.type||i.type!==r?e.apply(this,arguments):e.call(this,i.text)}}return e}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return ku.lex(e,r??this.defaults)}parser(e,r){return Eu.parse(e,r??this.defaults)}#e(e,r){return(n,i)=>{let a={...i},s={...this.defaults,...a};this.defaults.async===!0&&a.async===!1&&(s.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),s.async=!0);let l=this.#r(!!s.silent,!!s.async);if(typeof n>"u"||n===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(n):n).then(u=>e(u,s)).then(u=>s.hooks?s.hooks.processAllTokens(u):u).then(u=>s.walkTokens?Promise.all(this.walkTokens(u,s.walkTokens)).then(()=>u):u).then(u=>r(u,s)).then(u=>s.hooks?s.hooks.postprocess(u):u).catch(l);try{s.hooks&&(n=s.hooks.preprocess(n));let u=e(n,s);s.hooks&&(u=s.hooks.processAllTokens(u)),s.walkTokens&&this.walkTokens(u,s.walkTokens);let h=r(u,s);return s.hooks&&(h=s.hooks.postprocess(h)),h}catch(u){return l(u)}}}#r(e,r){return n=>{if(n.message+=` Please report this to https://github.com/markedjs/marked.`,e){let i="

    An error occurred:

    "+eo(n.message+"",!0)+"
    ";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},kd=new c9;o(en,"marked");en.options=en.setOptions=function(t){return kd.setOptions(t),en.defaults=kd.defaults,ZX(en.defaults),en};en.getDefaults=u9;en.defaults=Ed;en.use=function(...t){return kd.use(...t),en.defaults=kd.defaults,ZX(en.defaults),en};en.walkTokens=function(t,e){return kd.walkTokens(t,e)};en.parseInline=kd.parseInline;en.Parser=Eu;en.parser=Eu.parse;en.Renderer=im;en.TextRenderer=hv;en.Lexer=ku;en.lexer=ku.lex;en.Tokenizer=nm;en.Hooks=rm;en.parse=en;u6t=en.options,h6t=en.setOptions,f6t=en.use,d6t=en.walkTokens,p6t=en.parseInline,m6t=Eu.parse,g6t=ku.lex});function U7e(t,{markdownAutoWrap:e}){let n=t.replace(//g,` `).replace(/\n{2,}/g,` `),i=Ib(n);return e===!1?i.replace(/ /g," "):i}function cj(t,e={}){let r=U7e(t,e),n=en.lexer(r),i=[[]],a=0;function s(l,u="normal"){l.type==="text"?l.text.split(` `).forEach((f,d)=>{d!==0&&(a++,i.push([])),f.split(" ").forEach(p=>{p=p.replace(/'/g,"'"),p&&i[a].push({content:p,type:u})})}):l.type==="strong"||l.type==="em"?l.tokens.forEach(h=>{s(h,l.type)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}return o(s,"processNode"),n.forEach(l=>{l.type==="paragraph"?l.tokens?.forEach(u=>{s(u)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}),i}function uj(t,{markdownAutoWrap:e}={}){let r=en.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:`Unsupported markdown: ${i.type}`}return o(n,"output"),r.map(n).join("")}var hj=M(()=>{"use strict";lj();MS();o(U7e,"preprocessMarkdown");o(cj,"markdownToLines");o(uj,"markdownToHTML")});function H7e(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}function W7e(t,e){let r=H7e(e.content);return fj(t,[],r,e.type)}function fj(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];let[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?fj(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}function dj(t,e){if(t.some(({content:r})=>r.includes(` `)))throw new Error("splitLineToFitWidth does not support newlines in the line");return g9(t,e)}function g9(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return g9(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){let[l,u]=W7e(e,a);r.push([l]),u.content&&t.unshift(u)}return g9(t,e,r)}var pj=M(()=>{"use strict";o(H7e,"splitTextToChars");o(W7e,"splitWordToFitWidth");o(fj,"splitWordToFitWidthRecursion");o(dj,"splitLineToFitWidth");o(g9,"splitLineToFitWidthRecursion")});function mj(t,e){e&&t.attr("style",e)}async function Y7e(t,e,r,n,i=!1){let a=t.append("foreignObject");a.attr("width",`${10*r}px`),a.attr("height",`${10*r}px`);let s=a.append("xhtml:div"),l=e.label;e.label&&pi(e.label)&&(l=await hh(e.label.replace(je.lineBreakRegex,` `),de()));let u=e.isNode?"nodeLabel":"edgeLabel",h=s.append("span");h.html(l),mj(h,e.labelStyle),h.attr("class",`${u} ${n}`),mj(s,e.labelStyle),s.style("display","table-cell"),s.style("white-space","nowrap"),s.style("line-height","1.5"),s.style("max-width",r+"px"),s.style("text-align","center"),s.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&s.attr("class","labelBkg");let f=s.node().getBoundingClientRect();return Math.round(f.width)===Math.round(r)&&(s.style("display","table"),s.style("white-space","break-spaces"),s.style("width",r+"px"),f=s.node().getBoundingClientRect()),a.node()}function y9(t,e,r){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em")}function q7e(t,e,r){let n=t.append("text"),i=y9(n,1,e);v9(i,r);let a=i.node().getComputedTextLength();return n.remove(),a}function gj(t,e,r){let n=t.append("text"),i=y9(n,1,e);v9(i,[{content:r,type:"normal"}]);let a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}function X7e(t,e,r,n=!1){let a=e.append("g"),s=a.insert("rect").attr("class","background").attr("style","stroke: none"),l=a.append("text").attr("y","-10.1"),u=0;for(let h of r){let f=o(p=>q7e(a,1.1,p)<=t,"checkWidth"),d=f(h)?[h]:dj(h,f);for(let p of d){let m=y9(l,u,1.1);v9(m,p),u++}}if(n){let h=l.node().getBBox(),f=2;return s.attr("x",h.x-f).attr("y",h.y-f).attr("width",h.width+2*f).attr("height",h.height+2*f),a.node()}else return l.node()}function v9(t,e){t.text(""),e.forEach((r,n)=>{let i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(r.content):i.text(" "+r.content)})}function x9(t){return t.replace(/fa[bklrs]?:fa-[\w-]+/g,e=>``)}var Si,Dl=M(()=>{"use strict";Vt();fr();mr();ht();hj();hr();pj();o(mj,"applyStyle");o(Y7e,"addHtmlSpan");o(y9,"createTspan");o(q7e,"computeWidthOfText");o(gj,"computeDimensionOfText");o(X7e,"createFormattedText");o(v9,"updateTextContentAndStyles");o(x9,"replaceIconSubstring");Si=o(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,isNode:s=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(Y.debug("XYZ createText",e,r,n,i,a,s,"addSvgBackground: ",u),a){let f=uj(e,h),d=x9(Ca(f)),p=e.replace(/\\\\/g,"\\"),m={isNode:s,label:pi(e)?p:d,labelStyle:r.replace("fill:","color:")};return await Y7e(t,m,l,i,u)}else{let f=e.replace(//g,"
    "),d=cj(f.replace("
    ","
    "),h),p=X7e(l,t,d,e?u:!1);if(s){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");ze(p).attr("style",m)}else{let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");ze(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");ze(p).select("text").attr("style",g)}return p}},"createText")});function Wt(t){let e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}function zo(t,e,r,n,i,a){let s=[],u=r-t,h=n-e,f=u/a,d=2*Math.PI/f,p=e+h/2;for(let m=0;m<=50;m++){let g=m/50,y=t+g*u,v=p+i*Math.sin(d*(y-t));s.push({x:y,y:v})}return s}function k5(t,e,r,n,i,a){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;d{"use strict";Dl();Vt();mr();hs();fr();hr();ot=o(async(t,e,r)=>{let n,i=e.useHtmlLabels||xr(de()?.htmlLabels);r?n=r:n="node default";let a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",Fn(e.labelStyle)),l;e.label===void 0?l="":l=typeof e.label=="string"?e.label:e.label[0];let u=await Si(s,Tr(Ca(l),de()),{useHtmlLabels:i,width:e.width||de().flowchart?.wrappingWidth,cssClasses:"markdown-node-label",style:e.labelStyle,addSvgBackground:!!e.icon||!!e.img}),h=u.getBBox(),f=(e?.padding??0)/2;if(i){let d=u.children[0],p=ze(u),m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=de().fontSize?de().fontSize:window.getComputedStyle(document.body).fontSize,w=5,[_=ur.fontSize]=Fo(b),T=_*w+"px";y.style.minWidth=T,y.style.maxWidth=T}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}return i?s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"):s.attr("transform","translate(0, "+-h.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:h,halfPadding:f,label:s}},"labelHelper"),T5=o(async(t,e,r)=>{let n=r.useHtmlLabels||xr(de()?.flowchart?.htmlLabels),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await Si(i,Tr(Ca(e),de()),{useHtmlLabels:n,width:r.width||de()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),s=a.getBBox(),l=r.padding/2;if(xr(de()?.flowchart?.htmlLabels)){let u=a.children[0],h=ze(a);s=u.getBoundingClientRect(),h.attr("width",s.width),h.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:l,label:i}},"insertLabel"),Qe=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),lt=o((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");o(Wt,"createPathFromPoints");o(zo,"generateFullSineWavePoints");o(k5,"generateCirclePoints")});function j7e(t,e){return t.intersect(e)}var yj,vj=M(()=>{"use strict";o(j7e,"intersectNode");yj=j7e});function K7e(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(K7e,"intersectEllipse");E5=K7e});function Q7e(t,e,r){return E5(t,e,e,r)}var xj,bj=M(()=>{"use strict";b9();o(Q7e,"intersectCircle");xj=Q7e});function Z7e(t,e,r,n){var i,a,s,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+s*r.y+u,m=i*n.x+s*n.y+u,!(p!==0&&m!==0&&wj(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&wj(f,d))&&(g=i*l-a*s,g!==0)))return y=Math.abs(g/2),v=s*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function wj(t,e){return t*e>0}var Tj,kj=M(()=>{"use strict";o(Z7e,"intersectLine");o(wj,"sameSign");Tj=Z7e});function J7e(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(f){s=Math.min(s,f.x),l=Math.min(l,f.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));let u=n-t.width/2-s,h=i-t.height/2-l;for(let f=0;f1&&a.sort(function(f,d){let p=f.x-r.x,m=f.y-r.y,g=Math.sqrt(p*p+m*m),y=d.x-r.x,v=d.y-r.y,x=Math.sqrt(y*y+v*v);return g{"use strict";kj();o(J7e,"intersectPolygon");Ej=J7e});var eAe,Oh,w9=M(()=>{"use strict";eAe=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),Oh=eAe});var qe,qt=M(()=>{"use strict";vj();bj();b9();Sj();w9();qe={node:yj,circle:xj,ellipse:E5,polygon:Ej,rect:Oh}});var Cj,mc,tAe,et,Ze,Xt=M(()=>{"use strict";Vt();Cj=o(t=>{let{handDrawnSeed:e}=de();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),mc=o(t=>{let e=tAe([...t.cssCompiledStyles||[],...t.cssStyles||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),tAe=o(t=>{let e=new Map;return t.forEach(r=>{let[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),et=o(t=>{let{stylesArray:e}=mc(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{let l=s[0];l==="color"||l==="font-size"||l==="font-family"||l==="font-weight"||l==="font-style"||l==="text-decoration"||l==="text-align"||l==="text-transform"||l==="line-height"||l==="letter-spacing"||l==="word-spacing"||l==="text-shadow"||l==="text-overflow"||l==="white-space"||l==="word-wrap"||l==="word-break"||l==="overflow-wrap"||l==="hyphens"?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),l.includes("stroke")&&i.push(s.join(":")+" !important"),l==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),Ze=o((t,e)=>{let{themeVariables:r,handDrawnSeed:n}=de(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=mc(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0]},e)},"userNodeOverrides")});function T9(t,e,r){if(t&&t.length){let[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),l=Math.sin(a);for(let u of t){let[h,f]=u;u[0]=(h-n)*s-(f-i)*l+n,u[1]=(h-n)*l+(f-i)*s+i}}}function rAe(t,e){return t[0]===e[0]&&t[1]===e[1]}function nAe(t,e,r,n=1){let i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,l=[0,0];if(i)for(let h of s)T9(h,l,i);let u=function(h,f,d){let p=[];for(let b of h){let w=[...b];rAe(w[0],w[w.length-1])||w.push([w[0][0],w[0][1]]),w.length>2&&p.push(w)}let m=[];f=Math.max(f,.1);let g=[];for(let b of p)for(let w=0;wb.yminw.ymin?1:b.xw.x?1:b.ymax===w.ymax?0:(b.ymax-w.ymax)/Math.abs(b.ymax-w.ymax)),!g.length)return m;let y=[],v=g[0].ymin,x=0;for(;y.length||g.length;){if(g.length){let b=-1;for(let w=0;wv);w++)b=w;g.splice(0,b+1).forEach(w=>{y.push({s:v,edge:w})})}if(y=y.filter(b=>!(b.edge.ymax<=v)),y.sort((b,w)=>b.edge.x===w.edge.x?0:(b.edge.x-w.edge.x)/Math.abs(b.edge.x-w.edge.x)),(d!==1||x%f==0)&&y.length>1)for(let b=0;b=y.length)break;let _=y[b].edge,T=y[w].edge;m.push([[Math.round(_.x),v],[Math.round(T.x),v]])}v+=d,y.forEach(b=>{b.edge.x=b.edge.x+d*b.edge.islope}),x++}return m}(s,a,n);if(i){for(let h of s)T9(h,l,-i);(function(h,f,d){let p=[];h.forEach(m=>p.push(...m)),T9(p,f,d)})(u,l,-i)}return u}function yv(t,e){var r;let n=e.hachureAngle+90,i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),nAe(t,i,n,a||1)}function M5(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function E9(t,e){return t.type===e}function F9(t){let e=[],r=function(s){let l=new Array;for(;s!=="";)if(s.match(/^([ \t\r\n,]+)/))s=s.substr(RegExp.$1.length);else if(s.match(/^([aAcChHlLmMqQsStTvVzZ])/))l[l.length]={type:iAe,text:RegExp.$1},s=s.substr(RegExp.$1.length);else{if(!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];l[l.length]={type:k9,text:`${parseFloat(RegExp.$1)}`},s=s.substr(RegExp.$1.length)}return l[l.length]={type:Aj,text:""},l}(t),n="BOD",i=0,a=r[i];for(;!E9(a,Aj);){let s=0,l=[];if(n==="BOD"){if(a.text!=="M"&&a.text!=="m")return F9("M0,0"+t);i++,s=S5[a.text],n=a.text}else E9(a,k9)?s=S5[n]:(i++,s=S5[a.text],n=a.text);if(!(i+sf%2?h+r:h+e);a.push({key:"C",data:u}),e=u[4],r=u[5];break}case"Q":a.push({key:"Q",data:[...l]}),e=l[2],r=l[3];break;case"q":{let u=l.map((h,f)=>f%2?h+r:h+e);a.push({key:"Q",data:u}),e=u[2],r=u[3];break}case"A":a.push({key:"A",data:[...l]}),e=l[5],r=l[6];break;case"a":e+=l[5],r+=l[6],a.push({key:"A",data:[l[0],l[1],l[2],l[3],l[4],e,r]});break;case"H":a.push({key:"H",data:[...l]}),e=l[0];break;case"h":e+=l[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...l]}),r=l[0];break;case"v":r+=l[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...l]}),e=l[2],r=l[3];break;case"s":{let u=l.map((h,f)=>f%2?h+r:h+e);a.push({key:"S",data:u}),e=u[2],r=u[3];break}case"T":a.push({key:"T",data:[...l]}),e=l[0],r=l[1];break;case"t":e+=l[0],r+=l[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function Pj(t){let e=[],r="",n=0,i=0,a=0,s=0,l=0,u=0;for(let{key:h,data:f}of t){switch(h){case"M":e.push({key:"M",data:[...f]}),[n,i]=f,[a,s]=f;break;case"C":e.push({key:"C",data:[...f]}),n=f[4],i=f[5],l=f[2],u=f[3];break;case"L":e.push({key:"L",data:[...f]}),[n,i]=f;break;case"H":n=f[0],e.push({key:"L",data:[n,i]});break;case"V":i=f[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,p=0;r==="C"||r==="S"?(d=n+(n-l),p=i+(i-u)):(d=n,p=i),e.push({key:"C",data:[d,p,...f]}),l=f[0],u=f[1],n=f[2],i=f[3];break}case"T":{let[d,p]=f,m=0,g=0;r==="Q"||r==="T"?(m=n+(n-l),g=i+(i-u)):(m=n,g=i);let y=n+2*(m-n)/3,v=i+2*(g-i)/3,x=d+2*(m-d)/3,b=p+2*(g-p)/3;e.push({key:"C",data:[y,v,x,b,d,p]}),l=m,u=g,n=d,i=p;break}case"Q":{let[d,p,m,g]=f,y=n+2*(d-n)/3,v=i+2*(p-i)/3,x=m+2*(d-m)/3,b=g+2*(p-g)/3;e.push({key:"C",data:[y,v,x,b,m,g]}),l=d,u=p,n=m,i=g;break}case"A":{let d=Math.abs(f[0]),p=Math.abs(f[1]),m=f[2],g=f[3],y=f[4],v=f[5],x=f[6];d===0||p===0?(e.push({key:"C",data:[n,i,v,x,v,x]}),n=v,i=x):(n!==v||i!==x)&&(Bj(n,i,v,x,d,p,m,g,y).forEach(function(b){e.push({key:"C",data:b})}),n=v,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=h}return e}function pv(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function Bj(t,e,r,n,i,a,s,l,u,h){let f=(d=s,Math.PI*d/180);var d;let p=[],m=0,g=0,y=0,v=0;if(h)[m,g,y,v]=h;else{[t,e]=pv(t,e,-f),[r,n]=pv(r,n,-f);let R=(t-r)/2,S=(e-n)/2,O=R*R/(i*i)+S*S/(a*a);O>1&&(O=Math.sqrt(O),i*=O,a*=O);let N=i*i,P=a*a,F=N*P-N*S*S-P*R*R,B=N*S*S+P*R*R,$=(l===u?-1:1)*Math.sqrt(Math.abs(F/B));y=$*i*S/a+(t+r)/2,v=$*-a*R/i+(e+n)/2,m=Math.asin(parseFloat(((e-v)/a).toFixed(9))),g=Math.asin(parseFloat(((n-v)/a).toFixed(9))),tg&&(m-=2*Math.PI),!u&&g>m&&(g-=2*Math.PI)}let x=g-m;if(Math.abs(x)>120*Math.PI/180){let R=g,S=r,O=n;g=u&&g>m?m+120*Math.PI/180*1:m+120*Math.PI/180*-1,p=Bj(r=y+i*Math.cos(g),n=v+a*Math.sin(g),S,O,i,a,s,0,u,[g,R,y,v])}x=g-m;let b=Math.cos(m),w=Math.sin(m),_=Math.cos(g),T=Math.sin(g),E=Math.tan(x/4),L=4/3*i*E,C=4/3*a*E,A=[t,e],I=[t+L*w,e-C*b],D=[r+L*T,n-C*_],k=[r,n];if(I[0]=2*A[0]-I[0],I[1]=2*A[1]-I[1],h)return[I,D,k].concat(p);{p=[I,D,k].concat(p);let R=[];for(let S=0;S2){let i=[];for(let a=0;a2*Math.PI&&(m=0,g=2*Math.PI);let y=2*Math.PI/u.curveStepCount,v=Math.min(y/2,(g-m)/2),x=Mj(v,h,f,d,p,m,g,1,u);if(!u.disableMultiStroke){let b=Mj(v,h,f,d,p,m,g,1.5,u);x.push(...b)}return s&&(l?x.push(...Ph(h,f,h+d*Math.cos(m),f+p*Math.sin(m),u),...Ph(h,f,h+d*Math.cos(g),f+p*Math.sin(g),u)):x.push({op:"lineTo",data:[h,f]},{op:"lineTo",data:[h+d*Math.cos(m),f+p*Math.sin(m)]})),{type:"path",ops:x}}function Dj(t,e){let r=Pj(Oj(F9(t))),n=[],i=[0,0],a=[0,0];for(let{key:s,data:l}of r)switch(s){case"M":a=[l[0],l[1]],i=[l[0],l[1]];break;case"L":n.push(...Ph(a[0],a[1],l[0],l[1],e)),a=[l[0],l[1]];break;case"C":{let[u,h,f,d,p,m]=l;n.push(...oAe(u,h,f,d,p,m,a,e)),a=[p,m];break}case"Z":n.push(...Ph(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function S9(t,e){let r=[];for(let n of t)if(n.length){let i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+nr(i,e),n[0][1]+nr(i,e)]});for(let s=1;s500?.4:-.0016668*u+1.233334;let f=i.maxRandomnessOffset||0;f*f*100>l&&(f=u/10);let d=f/2,p=.2+.2*Gj(i),m=i.bowing*i.maxRandomnessOffset*(n-e)/200,g=i.bowing*i.maxRandomnessOffset*(t-r)/200;m=nr(m,i,h),g=nr(g,i,h);let y=[],v=o(()=>nr(d,i,h),"M"),x=o(()=>nr(f,i,h),"k"),b=i.preserveVertices;return a&&(s?y.push({op:"move",data:[t+(b?0:v()),e+(b?0:v())]}):y.push({op:"move",data:[t+(b?0:nr(f,i,h)),e+(b?0:nr(f,i,h))]})),s?y.push({op:"bcurveTo",data:[m+t+(r-t)*p+v(),g+e+(n-e)*p+v(),m+t+2*(r-t)*p+v(),g+e+2*(n-e)*p+v(),r+(b?0:v()),n+(b?0:v())]}):y.push({op:"bcurveTo",data:[m+t+(r-t)*p+x(),g+e+(n-e)*p+x(),m+t+2*(r-t)*p+x(),g+e+2*(n-e)*p+x(),r+(b?0:x()),n+(b?0:x())]}),y}function C5(t,e,r){if(!t.length)return[];let n=[];n.push([t[0][0]+nr(e,r),t[0][1]+nr(e,r)]),n.push([t[0][0]+nr(e,r),t[0][1]+nr(e,r)]);for(let i=1;i3){let a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let l=1;l+21&&i.push(l)):i.push(l),i.push(t[e+3])}else{let u=t[e+0],h=t[e+1],f=t[e+2],d=t[e+3],p=Sd(u,h,.5),m=Sd(h,f,.5),g=Sd(f,d,.5),y=Sd(p,m,.5),v=Sd(m,g,.5),x=Sd(y,v,.5);O9([u,p,y,x],0,r,i),O9([x,v,g,d],0,r,i)}var a,s;return i}function cAe(t,e){return R5(t,0,t.length,e)}function R5(t,e,r,n,i){let a=i||[],s=t[e],l=t[r-1],u=0,h=1;for(let f=e+1;fu&&(u=d,h=f)}return Math.sqrt(u)>n?(R5(t,e,h+1,n,a),R5(t,h,r,n,a)):(a.length||a.push(s),a.push(l)),a}function C9(t,e=.15,r){let n=[],i=(t.length-1)/3;for(let a=0;a0?R5(n,0,n.length,r):n}var gv,A9,_9,L9,D9,N9,ks,R9,iAe,k9,Aj,S5,aAe,to,sm,P9,A5,B9,Ke,jt=M(()=>{"use strict";o(T9,"t");o(rAe,"e");o(nAe,"s");o(yv,"n");gv=class{static{o(this,"o")}constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){let n=yv(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){let n=[];for(let i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}};o(M5,"a");A9=class extends gv{static{o(this,"h")}fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);let i=yv(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],l=.5*n*Math.cos(a),u=.5*n*Math.sin(a);for(let[h,f]of i)M5([h,f])&&s.push([[h[0]-l,h[1]+u],[...f]],[[h[0]+l,h[1]-u],[...f]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}},_9=class extends gv{static{o(this,"r")}fillPolygons(e,r){let n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}},L9=class{static{o(this,"i")}constructor(e){this.helper=e}fillPolygons(e,r){let n=yv(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){let n=[],i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);let s=i/4;for(let l of e){let u=M5(l),h=u/i,f=Math.ceil(h)-1,d=u-f*i,p=(l[0][0]+l[1][0])/2-i/4,m=Math.min(l[0][1],l[1][1]);for(let g=0;g{let l=M5(s),u=Math.floor(l/(n+i)),h=(l+i-u*(n+i))/2,f=s[0],d=s[1];f[0]>d[0]&&(f=s[1],d=s[0]);let p=Math.atan((d[1]-f[1])/(d[0]-f[0]));for(let m=0;m{let s=M5(a),l=Math.round(s/(2*r)),u=a[0],h=a[1];u[0]>h[0]&&(u=a[1],h=a[0]);let f=Math.atan((h[1]-u[1])/(h[0]-u[0]));for(let d=0;d2*Math.PI&&(L=0,C=2*Math.PI);let A=(C-L)/b.curveStepCount,I=[];for(let D=L;D<=C;D+=A)I.push([w+T*Math.cos(D),_+E*Math.sin(D)]);return I.push([w+T*Math.cos(C),_+E*Math.sin(C)]),I.push([w,_]),am([I],b)}(e,r,n,i,a,s,h));return h.stroke!==to&&f.push(d),this._d("arc",f,h)}curve(e,r){let n=this._o(r),i=[],a=_j(e,n);if(n.fill&&n.fill!==to)if(n.fillStyle==="solid"){let s=_j(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{let s=[],l=e;if(l.length){let u=typeof l[0][0]=="number"?[l]:l;for(let h of u)h.length<3?s.push(...h):h.length===3?s.push(...C9(Ij([h[0],h[0],h[1],h[2]]),10,(1+n.roughness)/2)):s.push(...C9(Ij(h),10,(1+n.roughness)/2))}s.length&&i.push(am([s],n))}return n.stroke!==to&&i.push(a),this._d("curve",i,n)}polygon(e,r){let n=this._o(r),i=[],a=_5(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(S9([e],n)):i.push(am([e],n))),n.stroke!==to&&i.push(a),this._d("polygon",i,n)}path(e,r){let n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let a=n.fill&&n.fill!=="transparent"&&n.fill!==to,s=n.stroke!==to,l=!!(n.simplification&&n.simplification<1),u=function(f,d,p){let m=Pj(Oj(F9(f))),g=[],y=[],v=[0,0],x=[],b=o(()=>{x.length>=4&&y.push(...C9(x,d)),x=[]},"i"),w=o(()=>{b(),y.length&&(g.push(y),y=[])},"c");for(let{key:T,data:E}of m)switch(T){case"M":w(),v=[E[0],E[1]],y.push(v);break;case"L":b(),y.push([E[0],E[1]]);break;case"C":if(!x.length){let L=y.length?y[y.length-1]:v;x.push([L[0],L[1]])}x.push([E[0],E[1]]),x.push([E[2],E[3]]),x.push([E[4],E[5]]);break;case"Z":b(),y.push([v[0],v[1]])}if(w(),!p)return g;let _=[];for(let T of g){let E=cAe(T,p);E.length&&_.push(E)}return _}(e,1,l?4-4*(n.simplification||1):(1+n.roughness)/2),h=Dj(e,n);if(a)if(n.fillStyle==="solid")if(u.length===1){let f=Dj(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(f.ops)})}else i.push(S9(u,n));else i.push(am(u,n));return s&&(l?u.forEach(f=>{i.push(_5(f,!1,n))}):i.push(h)),this._d("path",i,n)}opsToPath(e,r){let n="";for(let i of e.ops){let a=typeof r=="number"&&r>=0?i.data.map(s=>+s.toFixed(r)):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){let r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(let a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:to};break;case"fillPath":s={d:this.opsToPath(a),stroke:to,strokeWidth:0,fill:n.fill||to};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||to,strokeWidth:n,fill:to}}_mergedShape(e){return e.filter((r,n)=>n===0||r.op!=="move")}},P9=class{static{o(this,"st")}constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new sm(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(let s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";let l=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,l),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(let a of r.ops){let s=typeof n=="number"&&n>=0?a.data.map(l=>+l.toFixed(n)):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h),h}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){let n=this.gen.path(e,r);return this.draw(n),n}},A5="http://www.w3.org/2000/svg",B9=class{static{o(this,"ot")}constructor(e,r){this.svg=e,this.gen=new sm(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(A5,"g"),s=e.options.fixedDecimalPlaceDigits;for(let l of r){let u=null;switch(l.type){case"path":u=i.createElementNS(A5,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke",n.stroke),u.setAttribute("stroke-width",n.strokeWidth+""),u.setAttribute("fill","none"),n.strokeLineDash&&u.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&u.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":u=i.createElementNS(A5,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke","none"),u.setAttribute("stroke-width","0"),u.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||u.setAttribute("fill-rule","evenodd");break;case"fillSketch":u=this.fillSketch(i,l,n)}u&&a.appendChild(u)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=e.createElementNS(A5,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h)}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n)}path(e,r){let n=this.gen.path(e,r);return this.draw(n)}},Ke={canvas:o((t,e)=>new P9(t,e),"canvas"),svg:o((t,e)=>new B9(t,e),"svg"),generator:o(t=>new sm(t),"generator"),newSeed:o(()=>sm.newSeed(),"newSeed")}});function $j(t,e){let{labelStyles:r}=et(e);e.labelStyle=r;let n=lt(e),i=n;n||(i="anchor");let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=1,{cssStyles:l}=e,u=Ke.svg(a),h=Ze(e,{fill:"black",stroke:"none",fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);let f=u.circle(0,0,s*2,h),d=a.insert(()=>f,":first-child");return d.attr("class","anchor").attr("style",Fn(l)),Qe(e,d),e.intersect=function(p){return Y.info("Circle intersect",e,s,p),qe.circle(e,s,p)},a}var Vj=M(()=>{"use strict";ht();Ft();qt();Xt();jt();hr();o($j,"anchor")});function Uj(t,e,r,n,i,a,s){let u=(t+r)/2,h=(e+n)/2,f=Math.atan2(n-e,r-t),d=(r-t)/2,p=(n-e)/2,m=d/i,g=p/a,y=Math.sqrt(m**2+g**2);if(y>1)throw new Error("The given radii are too small to create an arc between the points.");let v=Math.sqrt(1-y**2),x=u+v*a*Math.sin(f)*(s?-1:1),b=h-v*i*Math.cos(f)*(s?-1:1),w=Math.atan2((e-b)/a,(t-x)/i),T=Math.atan2((n-b)/a,(r-x)/i)-w;s&&T<0&&(T+=2*Math.PI),!s&&T>0&&(T-=2*Math.PI);let E=[];for(let L=0;L<20;L++){let C=L/19,A=w+C*T,I=x+i*Math.cos(A),D=b+a*Math.sin(A);E.push({x:I,y:D})}return E}async function Hj(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=a.width+e.padding+20,l=a.height+e.padding,u=l/2,h=u/(2.5+l/50),{cssStyles:f}=e,d=[{x:s/2,y:-l/2},{x:-s/2,y:-l/2},...Uj(-s/2,-l/2,-s/2,l/2,h,u,!1),{x:s/2,y:l/2},...Uj(s/2,l/2,s/2,-l/2,h,u,!0)],p=Ke.svg(i),m=Ze(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=Wt(d),y=p.path(g,m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${h/2}, 0)`),Qe(e,v),e.intersect=function(x){return qe.polygon(e,d,x)},i}var Wj=M(()=>{"use strict";Ft();qt();Xt();jt();o(Uj,"generateArcPoints");o(Hj,"bowTieRect")});function Aa(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var Su=M(()=>{"use strict";o(Aa,"insertPolygonShape")});async function Yj(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=a.height+e.padding,l=12,u=a.width+e.padding+l,h=0,f=u,d=-s,p=0,m=[{x:h+l,y:d},{x:f,y:d},{x:f,y:p},{x:h,y:p},{x:h,y:d+l},{x:h+l,y:d}],g,{cssStyles:y}=e;if(e.look==="handDrawn"){let v=Ke.svg(i),x=Ze(e,{}),b=Wt(m),w=v.path(b,x);g=i.insert(()=>w,":first-child").attr("transform",`translate(${-u/2}, ${s/2})`),y&&g.attr("style",y)}else g=Aa(i,u,s,m);return n&&g.attr("style",n),Qe(e,g),e.intersect=function(v){return qe.polygon(e,m,v)},i}var qj=M(()=>{"use strict";Ft();qt();Xt();jt();Su();Ft();o(Yj,"card")});function Xj(t,e){let{nodeStyles:r}=et(e);e.label="";let n=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],l=Ke.svg(n),u=Ze(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=Wt(s),f=l.path(h,u),d=n.insert(()=>f,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(p){return qe.polygon(e,s,p)},n}var jj=M(()=>{"use strict";qt();jt();Xt();Ft();o(Xj,"choice")});async function Kj(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s}=await ot(t,e,lt(e)),l=a.width/2+s,u,{cssStyles:h}=e;if(e.look==="handDrawn"){let f=Ke.svg(i),d=Ze(e,{}),p=f.circle(0,0,l*2,d);u=i.insert(()=>p,":first-child"),u.attr("class","basic label-container").attr("style",Fn(h))}else u=i.insert("circle",":first-child").attr("class","basic label-container").attr("style",n).attr("r",l).attr("cx",0).attr("cy",0);return Qe(e,u),e.intersect=function(f){return Y.info("Circle intersect",e,l,f),qe.circle(e,l,f)},i}var Qj=M(()=>{"use strict";ht();Ft();qt();Xt();jt();hr();o(Kj,"circle")});function uAe(t){let e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},l={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${l.x},${l.y} M ${i.x},${i.y} L ${s.x},${s.y}`}function Zj(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r,e.label="";let i=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,l=Ke.svg(i),u=Ze(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=l.circle(0,0,a*2,u),f=uAe(a),d=l.path(f,u),p=i.insert(()=>h,":first-child");return p.insert(()=>d),s&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",n),Qe(e,p),e.intersect=function(m){return Y.info("crossedCircle intersect",e,{radius:a,point:m}),qe.circle(e,a,m)},i}var Jj=M(()=>{"use strict";ht();Ft();Xt();jt();qt();o(uAe,"createLine");o(Zj,"crossedCircle")});function Bh(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dw,":first-child").attr("stroke-opacity",0),_.insert(()=>x,":first-child"),_.attr("class","text"),f&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(${h}, 0)`),s.attr("transform",`translate(${-l/2+h-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Qe(e,_),e.intersect=function(T){return qe.polygon(e,p,T)},i}var tK=M(()=>{"use strict";Ft();qt();Xt();jt();o(Bh,"generateCirclePoints");o(eK,"curlyBraceLeft")});function Fh(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dw,":first-child").attr("stroke-opacity",0),_.insert(()=>x,":first-child"),_.attr("class","text"),f&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(${-h}, 0)`),s.attr("transform",`translate(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Qe(e,_),e.intersect=function(T){return qe.polygon(e,p,T)},i}var nK=M(()=>{"use strict";Ft();qt();Xt();jt();o(Fh,"generateCirclePoints");o(rK,"curlyBraceRight")});function _a(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dL,":first-child").attr("stroke-opacity",0),C.insert(()=>b,":first-child"),C.insert(()=>T,":first-child"),C.attr("class","text"),f&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",n),C.attr("transform",`translate(${h-h/4}, 0)`),s.attr("transform",`translate(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Qe(e,C),e.intersect=function(A){return qe.polygon(e,m,A)},i}var aK=M(()=>{"use strict";Ft();qt();Xt();jt();o(_a,"generateCirclePoints");o(iK,"curlyBraces")});async function sK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=80,l=20,u=Math.max(s,(a.width+(e.padding??0)*2)*1.25,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=Ke.svg(i),m=Ze(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=u,y=h,v=g-f,x=y/4,b=[{x:v,y:0},{x,y:0},{x:0,y:y/2},{x,y},{x:v,y},...k5(-v,-y/2,f,50,270,90)],w=Wt(b),_=p.path(w,m),T=i.insert(()=>_,":first-child");return T.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),T.attr("transform",`translate(${-u/2}, ${-h/2})`),Qe(e,T),e.intersect=function(E){return qe.polygon(e,b,E)},i}var oK=M(()=>{"use strict";Ft();qt();Xt();jt();o(sK,"curvedTrapezoid")});async function lK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=Math.max(a.width+e.padding,e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+e.padding,e.height??0),d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Ke.svg(i),g=fAe(0,0,l,f,u,h),y=dAe(0,h,l,f,u,h),v=m.path(g,Ze(e,{})),x=m.path(y,Ze(e,{fill:"none"}));d=i.insert(()=>x,":first-child"),d=i.insert(()=>v,":first-child"),d.attr("class","basic label-container"),p&&d.attr("style",p)}else{let m=hAe(0,0,l,f,u,h);d=i.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",Fn(p)).attr("style",n)}return d.attr("label-offset-y",h),d.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),Qe(e,d),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+(e.padding??0)/1.5-(a.y-(a.top??0))})`),e.intersect=function(m){let g=qe.rect(e,m),y=g.x-(e.x??0);if(u!=0&&(Math.abs(y)<(e.width??0)/2||Math.abs(y)==(e.width??0)/2&&Math.abs(g.y-(e.y??0))>(e.height??0)/2-h)){let v=h*h*(1-y*y/(u*u));v>0&&(v=Math.sqrt(v)),v=h-v,m.y-(e.y??0)>0&&(v=-v),g.y+=v}return g},i}var hAe,fAe,dAe,cK=M(()=>{"use strict";Ft();qt();Xt();jt();hr();hAe=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),fAe=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),dAe=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(lK,"cylinder")});async function uK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=a.width+e.padding,u=a.height+e.padding,h=u*.2,f=-l/2,d=-u/2-h/2,{cssStyles:p}=e,m=Ke.svg(i),g=Ze(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d+h},{x:-f,y:d+h},{x:-f,y:-d},{x:f,y:-d},{x:f,y:d},{x:-f,y:d},{x:-f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${f+(e.padding??0)/2-(a.x-(a.left??0))}, ${d+h+(e.padding??0)/2-(a.y-(a.top??0))})`),Qe(e,x),e.intersect=function(b){return qe.rect(e,b)},i}var hK=M(()=>{"use strict";Ft();qt();Xt();jt();o(uK,"dividedRectangle")});async function fK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s}=await ot(t,e,lt(e)),u=a.width/2+s+5,h=a.width/2+s,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Ke.svg(i),m=Ze(e,{roughness:.2,strokeWidth:2.5}),g=Ze(e,{roughness:.2,strokeWidth:1.5}),y=p.circle(0,0,u*2,m),v=p.circle(0,0,h*2,g);f=i.insert("g",":first-child"),f.attr("class",Fn(e.cssClasses)).attr("style",Fn(d)),f.node()?.appendChild(y),f.node()?.appendChild(v)}else{f=i.insert("g",":first-child");let p=f.insert("circle",":first-child"),m=f.insert("circle");f.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return Qe(e,f),e.intersect=function(p){return Y.info("DoubleCircle intersect",e,u,p),qe.circle(e,u,p)},i}var dK=M(()=>{"use strict";ht();Ft();qt();Xt();jt();hr();o(fK,"doublecircle")});function pK(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=et(e);e.label="",e.labelStyle=n;let a=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),s=7,{cssStyles:l}=e,u=Ke.svg(a),{nodeBorder:h}=r,f=Ze(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(f.roughness=0);let d=u.circle(0,0,s*2,f),p=a.insert(()=>d,":first-child");return p.selectAll("path").attr("style",`fill: ${h} !important;`),l&&l.length>0&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",l),i&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",i),Qe(e,p),e.intersect=function(m){return Y.info("filledCircle intersect",e,{radius:s,point:m}),qe.circle(e,s,m)},a}var mK=M(()=>{"use strict";jt();ht();qt();Xt();Ft();o(pK,"filledCircle")});async function gK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=a.width+(e.padding??0),u=l+a.height,h=l+a.height,f=[{x:0,y:-u},{x:h,y:-u},{x:h/2,y:0}],{cssStyles:d}=e,p=Ke.svg(i),m=Ze(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=Wt(f),y=p.path(g,m),v=i.insert(()=>y,":first-child").attr("transform",`translate(${-u/2}, ${u/2})`);return d&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),e.width=l,e.height=u,Qe(e,v),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-u/2+(e.padding??0)/2+(a.y-(a.top??0))})`),e.intersect=function(x){return Y.info("Triangle intersect",e,f,x),qe.polygon(e,f,x)},i}var yK=M(()=>{"use strict";ht();Ft();qt();Xt();jt();Ft();o(gK,"flippedTriangle")});function vK(t,e,{dir:r,config:{state:n,themeVariables:i}}){let{nodeStyles:a}=et(e);e.label="";let s=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),{cssStyles:l}=e,u=Math.max(70,e?.width??0),h=Math.max(10,e?.height??0);r==="LR"&&(u=Math.max(10,e?.width??0),h=Math.max(70,e?.height??0));let f=-1*u/2,d=-1*h/2,p=Ke.svg(s),m=Ze(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=p.rectangle(f,d,u,h,m),y=s.insert(()=>g,":first-child");l&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",l),a&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",a),Qe(e,y);let v=n?.padding??0;return e.width&&e.height&&(e.width+=v/2||0,e.height+=v/2||0),e.intersect=function(x){return qe.rect(e,x)},s}var xK=M(()=>{"use strict";jt();qt();Xt();Ft();o(vK,"forkJoin")});async function bK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let i=80,a=50,{shapeSvg:s,bbox:l}=await ot(t,e,lt(e)),u=Math.max(i,l.width+(e.padding??0)*2,e?.width??0),h=Math.max(a,l.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=Ke.svg(s),m=Ze(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-u/2,y:-h/2},{x:u/2-f,y:-h/2},...k5(-u/2+f,0,f,50,90,270),{x:u/2-f,y:h/2},{x:-u/2,y:h/2}],y=Wt(g),v=p.path(y,m),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),Qe(e,x),e.intersect=function(b){return Y.info("Pill intersect",e,{radius:f,point:b}),qe.polygon(e,g,b)},s}var wK=M(()=>{"use strict";ht();Ft();qt();Xt();jt();o(bK,"halfRoundedRectangle")});async function TK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=4,l=a.height+e.padding,u=l/s,h=a.width+2*u+e.padding,f=[{x:u,y:0},{x:h-u,y:0},{x:h,y:-l/2},{x:h-u,y:-l},{x:u,y:-l},{x:0,y:-l/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=Ke.svg(i),g=Ze(e,{}),y=pAe(0,0,h,l,u),v=m.path(y,g);d=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${l/2})`),p&&d.attr("style",p)}else d=Aa(i,h,l,f);return n&&d.attr("style",n),e.width=h,e.height=l,Qe(e,d),e.intersect=function(m){return qe.polygon(e,f,m)},i}var pAe,kK=M(()=>{"use strict";Ft();qt();Xt();jt();Su();pAe=o((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");o(TK,"hexagon")});async function EK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.label="",e.labelStyle=r;let{shapeSvg:i}=await ot(t,e,lt(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:l}=e,u=Ke.svg(i),h=Ze(e,{});e.look!=="handDrawn"&&(h.roughness=0,h.fillStyle="solid");let f=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=Wt(f),p=u.path(d,h),m=i.insert(()=>p,":first-child");return m.attr("class","basic label-container"),l&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",l),n&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",n),m.attr("transform",`translate(${-a/2}, ${-s/2})`),Qe(e,m),e.intersect=function(g){return Y.info("Pill intersect",e,{points:f}),qe.polygon(e,f,g)},i}var SK=M(()=>{"use strict";ht();Ft();qt();Xt();jt();o(EK,"hourglass")});async function CK(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=et(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await ot(t,e,"icon-shape default"),p=e.pos==="t",m=l,g=l,{nodeBorder:y}=r,{stylesMap:v}=mc(e),x=-g/2,b=-m/2,w=e.label?8:0,_=Ke.svg(h),T=Ze(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let E=_.rectangle(x,b,g,m,T),L=Math.max(g,f.width),C=m+f.height+w,A=_.rectangle(-L/2,-C/2,L,C,{...T,fill:"transparent",stroke:"none"}),I=h.insert(()=>E,":first-child"),D=h.insert(()=>A);if(e.icon){let k=h.append("g");k.html(`${await wo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let R=k.node().getBBox(),S=R.width,O=R.height,N=R.x,P=R.y;k.attr("transform",`translate(${-S/2-N},${p?f.height/2+w/2-O/2-P:-f.height/2-w/2-O/2-P})`),k.attr("style",`color: ${v.get("stroke")??y};`)}return d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${p?-C/2:C/2-f.height})`),I.attr("transform",`translate(0,${p?f.height/2+w/2:-f.height/2-w/2})`),Qe(e,D),e.intersect=function(k){if(Y.info("iconSquare intersect",e,k),!e.label)return qe.rect(e,k);let R=e.x??0,S=e.y??0,O=e.height??0,N=[];return p?N=[{x:R-f.width/2,y:S-O/2},{x:R+f.width/2,y:S-O/2},{x:R+f.width/2,y:S-O/2+f.height+w},{x:R+g/2,y:S-O/2+f.height+w},{x:R+g/2,y:S+O/2},{x:R-g/2,y:S+O/2},{x:R-g/2,y:S-O/2+f.height+w},{x:R-f.width/2,y:S-O/2+f.height+w}]:N=[{x:R-g/2,y:S-O/2},{x:R+g/2,y:S-O/2},{x:R+g/2,y:S-O/2+m},{x:R+f.width/2,y:S-O/2+m},{x:R+f.width/2/2,y:S+O/2},{x:R-f.width/2,y:S+O/2},{x:R-f.width/2,y:S-O/2+m},{x:R-g/2,y:S-O/2+m}],qe.polygon(e,N,k)},h}var AK=M(()=>{"use strict";jt();ht();Kc();qt();Xt();Ft();o(CK,"icon")});async function _K(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=et(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await ot(t,e,"icon-shape default"),p=20,m=e.label?8:0,g=e.pos==="t",{nodeBorder:y,mainBkg:v}=r,{stylesMap:x}=mc(e),b=Ke.svg(h),w=Ze(e,{});e.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");let _=x.get("fill");w.stroke=_??v;let T=h.append("g");e.icon&&T.html(`${await wo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let E=T.node().getBBox(),L=E.width,C=E.height,A=E.x,I=E.y,D=Math.max(L,C)*Math.SQRT2+p*2,k=b.circle(0,0,D,w),R=Math.max(D,f.width),S=D+f.height+m,O=b.rectangle(-R/2,-S/2,R,S,{...w,fill:"transparent",stroke:"none"}),N=h.insert(()=>k,":first-child"),P=h.insert(()=>O);return T.attr("transform",`translate(${-L/2-A},${g?f.height/2+m/2-C/2-I:-f.height/2-m/2-C/2-I})`),T.attr("style",`color: ${x.get("stroke")??y};`),d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${g?-S/2:S/2-f.height})`),N.attr("transform",`translate(0,${g?f.height/2+m/2:-f.height/2-m/2})`),Qe(e,P),e.intersect=function(F){return Y.info("iconSquare intersect",e,F),qe.rect(e,F)},h}var LK=M(()=>{"use strict";jt();ht();Kc();qt();Xt();Ft();o(_K,"iconCircle")});var La,zh=M(()=>{"use strict";La=o((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD")});async function DK(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=et(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await ot(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=mc(e),w=-y/2,_=-g/2,T=e.label?8:0,E=Ke.svg(h),L=Ze(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");let C=b.get("fill");L.stroke=C??x;let A=E.path(La(w,_,y,g,5),L),I=Math.max(y,f.width),D=g+f.height+T,k=E.rectangle(-I/2,-D/2,I,D,{...L,fill:"transparent",stroke:"none"}),R=h.insert(()=>A,":first-child").attr("class","icon-shape2"),S=h.insert(()=>k);if(e.icon){let O=h.append("g");O.html(`${await wo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let N=O.node().getBBox(),P=N.width,F=N.height,B=N.x,$=N.y;O.attr("transform",`translate(${-P/2-B},${m?f.height/2+T/2-F/2-$:-f.height/2-T/2-F/2-$})`),O.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-D/2:D/2-f.height})`),R.attr("transform",`translate(0,${m?f.height/2+T/2:-f.height/2-T/2})`),Qe(e,S),e.intersect=function(O){if(Y.info("iconSquare intersect",e,O),!e.label)return qe.rect(e,O);let N=e.x??0,P=e.y??0,F=e.height??0,B=[];return m?B=[{x:N-f.width/2,y:P-F/2},{x:N+f.width/2,y:P-F/2},{x:N+f.width/2,y:P-F/2+f.height+T},{x:N+y/2,y:P-F/2+f.height+T},{x:N+y/2,y:P+F/2},{x:N-y/2,y:P+F/2},{x:N-y/2,y:P-F/2+f.height+T},{x:N-f.width/2,y:P-F/2+f.height+T}]:B=[{x:N-y/2,y:P-F/2},{x:N+y/2,y:P-F/2},{x:N+y/2,y:P-F/2+g},{x:N+f.width/2,y:P-F/2+g},{x:N+f.width/2/2,y:P+F/2},{x:N-f.width/2,y:P+F/2},{x:N-f.width/2,y:P-F/2+g},{x:N-y/2,y:P-F/2+g}],qe.polygon(e,B,O)},h}var NK=M(()=>{"use strict";jt();ht();Kc();qt();Xt();zh();Ft();o(DK,"iconRounded")});async function RK(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=et(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await ot(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=mc(e),w=-y/2,_=-g/2,T=e.label?8:0,E=Ke.svg(h),L=Ze(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");let C=b.get("fill");L.stroke=C??x;let A=E.path(La(w,_,y,g,.1),L),I=Math.max(y,f.width),D=g+f.height+T,k=E.rectangle(-I/2,-D/2,I,D,{...L,fill:"transparent",stroke:"none"}),R=h.insert(()=>A,":first-child"),S=h.insert(()=>k);if(e.icon){let O=h.append("g");O.html(`${await wo(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let N=O.node().getBBox(),P=N.width,F=N.height,B=N.x,$=N.y;O.attr("transform",`translate(${-P/2-B},${m?f.height/2+T/2-F/2-$:-f.height/2-T/2-F/2-$})`),O.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-D/2:D/2-f.height})`),R.attr("transform",`translate(0,${m?f.height/2+T/2:-f.height/2-T/2})`),Qe(e,S),e.intersect=function(O){if(Y.info("iconSquare intersect",e,O),!e.label)return qe.rect(e,O);let N=e.x??0,P=e.y??0,F=e.height??0,B=[];return m?B=[{x:N-f.width/2,y:P-F/2},{x:N+f.width/2,y:P-F/2},{x:N+f.width/2,y:P-F/2+f.height+T},{x:N+y/2,y:P-F/2+f.height+T},{x:N+y/2,y:P+F/2},{x:N-y/2,y:P+F/2},{x:N-y/2,y:P-F/2+f.height+T},{x:N-f.width/2,y:P-F/2+f.height+T}]:B=[{x:N-y/2,y:P-F/2},{x:N+y/2,y:P-F/2},{x:N+y/2,y:P-F/2+g},{x:N+f.width/2,y:P-F/2+g},{x:N+f.width/2/2,y:P+F/2},{x:N-f.width/2,y:P+F/2},{x:N-f.width/2,y:P-F/2+g},{x:N-y/2,y:P-F/2+g}],qe.polygon(e,B,O)},h}var MK=M(()=>{"use strict";jt();ht();Kc();qt();zh();Xt();Ft();o(RK,"iconSquare")});async function IK(t,e,{config:{flowchart:r}}){let n=new Image;n.src=e?.img??"",await n.decode();let i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;let{labelStyles:s}=et(e);e.labelStyle=s;let l=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;let u=Math.max(e.label?l??0:0,e?.assetWidth??i),h=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:u,f=e.constraint==="on"?h/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(h,l??0);let{shapeSvg:d,bbox:p,label:m}=await ot(t,e,"image-shape default"),g=e.pos==="t",y=-h/2,v=-f/2,x=e.label?8:0,b=Ke.svg(d),w=Ze(e,{});e.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");let _=b.rectangle(y,v,h,f,w),T=Math.max(h,p.width),E=f+p.height+x,L=b.rectangle(-T/2,-E/2,T,E,{...w,fill:"none",stroke:"none"}),C=d.insert(()=>_,":first-child"),A=d.insert(()=>L);if(e.img){let I=d.append("image");I.attr("href",e.img),I.attr("width",h),I.attr("height",f),I.attr("preserveAspectRatio","none"),I.attr("transform",`translate(${-h/2},${g?E/2-f:-E/2})`)}return m.attr("transform",`translate(${-p.width/2-(p.x-(p.left??0))},${g?-f/2-p.height/2-x/2:f/2-p.height/2+x/2})`),C.attr("transform",`translate(0,${g?p.height/2+x/2:-p.height/2-x/2})`),Qe(e,A),e.intersect=function(I){if(Y.info("iconSquare intersect",e,I),!e.label)return qe.rect(e,I);let D=e.x??0,k=e.y??0,R=e.height??0,S=[];return g?S=[{x:D-p.width/2,y:k-R/2},{x:D+p.width/2,y:k-R/2},{x:D+p.width/2,y:k-R/2+p.height+x},{x:D+h/2,y:k-R/2+p.height+x},{x:D+h/2,y:k+R/2},{x:D-h/2,y:k+R/2},{x:D-h/2,y:k-R/2+p.height+x},{x:D-p.width/2,y:k-R/2+p.height+x}]:S=[{x:D-h/2,y:k-R/2},{x:D+h/2,y:k-R/2},{x:D+h/2,y:k-R/2+f},{x:D+p.width/2,y:k-R/2+f},{x:D+p.width/2/2,y:k+R/2},{x:D-p.width/2,y:k+R/2},{x:D-p.width/2,y:k-R/2+f},{x:D-h/2,y:k-R/2+f}],qe.polygon(e,S,I)},d}var OK=M(()=>{"use strict";jt();ht();qt();Xt();Ft();o(IK,"imageSquare")});async function PK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=[{x:0,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:-3*l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ke.svg(i),p=Ze(e,{}),m=Wt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Aa(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Qe(e,h),e.intersect=function(d){return qe.polygon(e,u,d)},i}var BK=M(()=>{"use strict";Ft();qt();Xt();jt();Su();o(PK,"inv_trapezoid")});async function Cd(t,e,r){let{labelStyles:n,nodeStyles:i}=et(e);e.labelStyle=n;let{shapeSvg:a,bbox:s}=await ot(t,e,lt(e)),l=Math.max(s.width+r.labelPaddingX*2,e?.width||0),u=Math.max(s.height+r.labelPaddingY*2,e?.height||0),h=-l/2,f=-u/2,d,{rx:p,ry:m}=e,{cssStyles:g}=e;if(r?.rx&&r.ry&&(p=r.rx,m=r.ry),e.look==="handDrawn"){let y=Ke.svg(a),v=Ze(e,{}),x=p||m?y.path(La(h,f,l,u,p||0),v):y.rectangle(h,f,l,u,v);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",Fn(g))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",Fn(p)).attr("ry",Fn(m)).attr("x",h).attr("y",f).attr("width",l).attr("height",u);return Qe(e,d),e.intersect=function(y){return qe.rect(e,y)},a}var vv=M(()=>{"use strict";Ft();qt();zh();Xt();jt();hr();o(Cd,"drawRect")});async function FK(t,e){let{shapeSvg:r,bbox:n,label:i}=await ot(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),Qe(e,a),e.intersect=function(u){return qe.rect(e,u)},r}var zK=M(()=>{"use strict";vv();Ft();qt();o(FK,"labelRect")});async function GK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:0,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:-(3*l)/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ke.svg(i),p=Ze(e,{}),m=Wt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Aa(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Qe(e,h),e.intersect=function(d){return qe.polygon(e,u,d)},i}var $K=M(()=>{"use strict";Ft();qt();Xt();jt();Su();o(GK,"lean_left")});async function VK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:-3*l/6,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ke.svg(i),p=Ze(e,{}),m=Wt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Aa(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Qe(e,h),e.intersect=function(d){return qe.polygon(e,u,d)},i}var UK=M(()=>{"use strict";Ft();qt();Xt();jt();Su();o(VK,"lean_right")});function HK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.label="",e.labelStyle=r;let i=t.insert("g").attr("class",lt(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),l=Math.max(35,e?.height??0),u=7,h=[{x:s,y:0},{x:0,y:l+u/2},{x:s-2*u,y:l+u/2},{x:0,y:2*l},{x:s,y:l-u/2},{x:2*u,y:l-u/2}],f=Ke.svg(i),d=Ze(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=Wt(h),m=f.path(p,d),g=i.insert(()=>m,":first-child");return a&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",n),g.attr("transform",`translate(-${s/2},${-l})`),Qe(e,g),e.intersect=function(y){return Y.info("lightningBolt intersect",e,y),qe.polygon(e,h,y)},i}var WK=M(()=>{"use strict";ht();Ft();Xt();jt();qt();Ft();o(HK,"lightningBolt")});async function YK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=Math.max(a.width+(e.padding??0),e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+(e.padding??0),e.height??0),d=f*.1,p,{cssStyles:m}=e;if(e.look==="handDrawn"){let g=Ke.svg(i),y=gAe(0,0,l,f,u,h,d),v=yAe(0,h,l,f,u,h),x=Ze(e,{}),b=g.path(y,x),w=g.path(v,x);i.insert(()=>w,":first-child").attr("class","line"),p=i.insert(()=>b,":first-child"),p.attr("class","basic label-container"),m&&p.attr("style",m)}else{let g=mAe(0,0,l,f,u,h,d);p=i.insert("path",":first-child").attr("d",g).attr("class","basic label-container").attr("style",Fn(m)).attr("style",n)}return p.attr("label-offset-y",h),p.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),Qe(e,p),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),e.intersect=function(g){let y=qe.rect(e,g),v=y.x-(e.x??0);if(u!=0&&(Math.abs(v)<(e.width??0)/2||Math.abs(v)==(e.width??0)/2&&Math.abs(y.y-(e.y??0))>(e.height??0)/2-h)){let x=h*h*(1-v*v/(u*u));x>0&&(x=Math.sqrt(x)),x=h-x,g.y-(e.y??0)>0&&(x=-x),y.y+=x}return y},i}var mAe,gAe,yAe,qK=M(()=>{"use strict";Ft();qt();Xt();jt();hr();mAe=o((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),gAe=o((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),yAe=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(YK,"linedCylinder")});async function XK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,{cssStyles:d}=e,p=Ke.svg(i),m=Ze(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-l/2-l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:f/2},...zo(-l/2-l/2*.1,f/2,l/2+l/2*.1,f/2,h,.8),{x:l/2+l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:-f/2},{x:-l/2,y:-f/2},{x:-l/2,y:f/2*1.1},{x:-l/2,y:-f/2}],y=p.polygon(g.map(x=>[x.x,x.y]),m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)+l/2*.1/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),Qe(e,v),e.intersect=function(x){return qe.polygon(e,g,x)},i}var jK=M(()=>{"use strict";Ft();qt();jt();Xt();o(XK,"linedWaveEdgedRect")});async function KK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=Ke.svg(i),g=Ze(e,{}),y=[{x:f-h,y:d+h},{x:f-h,y:d+u+h},{x:f+l-h,y:d+u+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d+u-h},{x:f+l+h,y:d+u-h},{x:f+l+h,y:d-h},{x:f+h,y:d-h},{x:f+h,y:d},{x:f,y:d},{x:f,y:d+h}],v=[{x:f,y:d+h},{x:f+l-h,y:d+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d},{x:f,y:d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=Wt(y),b=m.path(x,g),w=Wt(v),_=m.path(w,{...g,fill:"none"}),T=i.insert(()=>_,":first-child");return T.insert(()=>b,":first-child"),T.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)-h-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),Qe(e,T),e.intersect=function(E){return qe.polygon(e,y,E)},i}var QK=M(()=>{"use strict";Ft();Xt();jt();qt();o(KK,"multiRect")});async function ZK(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,d=-l/2,p=-f/2,m=5,{cssStyles:g}=e,y=zo(d-m,p+f+m,d+l-m,p+f+m,h,.8),v=y?.[y.length-1],x=[{x:d-m,y:p+m},{x:d-m,y:p+f+m},...y,{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:v.y-2*m},{x:d+l+m,y:v.y-2*m},{x:d+l+m,y:p-m},{x:d+m,y:p-m},{x:d+m,y:p},{x:d,y:p},{x:d,y:p+m}],b=[{x:d,y:p+m},{x:d+l-m,y:p+m},{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:p},{x:d,y:p}],w=Ke.svg(i),_=Ze(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");let T=Wt(x),E=w.path(T,_),L=Wt(b),C=w.path(L,_),A=i.insert(()=>E,":first-child");return A.insert(()=>C),A.attr("class","basic label-container"),g&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",g),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-(a.width/2)-m-(a.x-(a.left??0))}, ${-(a.height/2)+m-h/2-(a.y-(a.top??0))})`),Qe(e,A),e.intersect=function(I){return qe.polygon(e,x,I)},i}var JK=M(()=>{"use strict";Ft();qt();jt();Xt();o(ZK,"multiWaveEdgedRectangle")});async function eQ(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=et(e);e.labelStyle=n,e.useHtmlLabels||Sr().flowchart?.htmlLabels!==!1||(e.centerLabel=!0);let{shapeSvg:s,bbox:l}=await ot(t,e,lt(e)),u=Math.max(l.width+(e.padding??0)*2,e?.width??0),h=Math.max(l.height+(e.padding??0)*2,e?.height??0),f=-u/2,d=-h/2,{cssStyles:p}=e,m=Ke.svg(s),g=Ze(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=m.rectangle(f,d,u,h,g),v=s.insert(()=>y,":first-child");return v.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",i),Qe(e,v),e.intersect=function(x){return qe.rect(e,x)},s}var tQ=M(()=>{"use strict";jt();qt();Xt();Ft();Ua();o(eQ,"note")});async function rQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=a.width+e.padding,l=a.height+e.padding,u=s+l,h=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=Ke.svg(i),m=Ze(e,{}),g=vAe(0,0,u),y=p.path(g,m);f=i.insert(()=>y,":first-child").attr("transform",`translate(${-u/2}, ${u/2})`),d&&f.attr("style",d)}else f=Aa(i,u,u,h);return n&&f.attr("style",n),Qe(e,f),e.intersect=function(p){return Y.debug(`APA12 Intersect called SPLIT point:`,p,` node: `,e,` res:`,qe.polygon(e,h,p)),qe.polygon(e,h,p)},i}var vAe,nQ=M(()=>{"use strict";ht();Ft();qt();Xt();jt();Su();vAe=o((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");o(rQ,"question")});async function iQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=Math.max(a.width+(e.padding??0),e?.width??0),u=Math.max(a.height+(e.padding??0),e?.height??0),h=-l/2,f=-u/2,d=f/2,p=[{x:h+d,y:f},{x:h,y:0},{x:h+d,y:-f},{x:-h,y:-f},{x:-h,y:f}],{cssStyles:m}=e,g=Ke.svg(i),y=Ze(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=Wt(p),x=g.path(v,y),b=i.insert(()=>x,":first-child");return b.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),b.attr("transform",`translate(${-d/2},0)`),s.attr("transform",`translate(${-d/2-a.width/2-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),Qe(e,b),e.intersect=function(w){return qe.polygon(e,p,w)},i}var aQ=M(()=>{"use strict";Ft();qt();Xt();jt();o(iQ,"rect_left_inv_arrow")});function xAe(t,e){e&&t.attr("style",e)}async function bAe(t){let e=ze(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=t.label;t.label&&pi(t.label)&&(n=await hh(t.label.replace(je.lineBreakRegex,` `),de()));let i=t.isNode?"nodeLabel":"edgeLabel";return r.html('"+n+""),xAe(r,t.labelStyle),r.style("display","inline-block"),r.style("padding-right","1px"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var wAe,gc,I5=M(()=>{"use strict";mr();ht();Vt();fr();hr();o(xAe,"applyStyle");o(bAe,"addHtmlLabel");wAe=o(async(t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),xr(de().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),Y.info("vertexText"+i);let a={isNode:n,label:Ca(i).replace(/fa[blrs]?:fa-[\w-]+/g,l=>``),labelStyle:e&&e.replace("fill:","color:")};return await bAe(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let s=[];typeof i=="string"?s=i.split(/\\n|\n|/gi):Array.isArray(i)?s=i:s=[];for(let l of s){let u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),r?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=l.trim(),a.appendChild(u)}return a}},"createLabel"),gc=wAe});async function sQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),l=a.insert("g").attr("class","label").attr("style",n),u=e.description,h=e.label,f=l.node().appendChild(await gc(h,e.labelStyle,!0,!0)),d={width:0,height:0};if(xr(de()?.flowchart?.htmlLabels)){let C=f.children[0],A=ze(f);d=C.getBoundingClientRect(),A.attr("width",d.width),A.attr("height",d.height)}Y.info("Text 2",u);let p=u||[],m=f.getBBox(),g=l.node().appendChild(await gc(p.join?p.join("
    "):p,e.labelStyle,!0,!0)),y=g.children[0],v=ze(g);d=y.getBoundingClientRect(),v.attr("width",d.width),v.attr("height",d.height);let x=(e.padding||0)/2;ze(g).attr("transform","translate( "+(d.width>m.width?0:(m.width-d.width)/2)+", "+(m.height+x+5)+")"),ze(f).attr("transform","translate( "+(d.width(Y.debug("Rough node insert CXC",I),D),":first-child"),E=a.insert(()=>(Y.debug("Rough node insert CXC",I),I),":first-child")}else E=s.insert("rect",":first-child"),L=s.insert("line"),E.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),L.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+m.height+x).attr("y2",-d.height/2-x+m.height+x);return Qe(e,E),e.intersect=function(C){return qe.rect(e,C)},a}var oQ=M(()=>{"use strict";mr();fr();Ft();I5();qt();Xt();jt();Vt();zh();ht();o(sQ,"rectWithTitle")});async function lQ(t,e){let r={rx:5,ry:5,classes:"",labelPaddingX:(e?.padding||0)*1,labelPaddingY:(e?.padding||0)*1};return Cd(t,e,r)}var cQ=M(()=>{"use strict";vv();o(lQ,"roundedRect")});async function uQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=e?.padding??0,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=-a.width/2-l,d=-a.height/2-l,{cssStyles:p}=e,m=Ke.svg(i),g=Ze(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d},{x:f+u+8,y:d},{x:f+u+8,y:d+h},{x:f-8,y:d+h},{x:f-8,y:d},{x:f,y:d},{x:f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container").attr("style",Fn(p)),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${-u/2+4+(e.padding??0)-(a.x-(a.left??0))},${-h/2+(e.padding??0)-(a.y-(a.top??0))})`),Qe(e,x),e.intersect=function(b){return qe.rect(e,b)},i}var hQ=M(()=>{"use strict";Ft();qt();Xt();jt();hr();o(uQ,"shadedProcess")});async function fQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=-l/2,f=-u/2,{cssStyles:d}=e,p=Ke.svg(i),m=Ze(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:h,y:f},{x:h,y:f+u},{x:h+l,y:f+u},{x:h+l,y:f-u/2}],y=Wt(g),v=p.path(y,m),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),x.attr("transform",`translate(0, ${u/4})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))}, ${-u/4+(e.padding??0)-(a.y-(a.top??0))})`),Qe(e,x),e.intersect=function(b){return qe.polygon(e,g,b)},i}var dQ=M(()=>{"use strict";Ft();qt();Xt();jt();o(fQ,"slopedRect")});async function pQ(t,e){let r={rx:0,ry:0,classes:"",labelPaddingX:(e?.padding||0)*2,labelPaddingY:(e?.padding||0)*1};return Cd(t,e,r)}var mQ=M(()=>{"use strict";vv();o(pQ,"squareRect")});async function gQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=a.height+e.padding,l=a.width+s/4+e.padding,u,{cssStyles:h}=e;if(e.look==="handDrawn"){let f=Ke.svg(i),d=Ze(e,{}),p=La(-l/2,-s/2,l,s,s/2),m=f.path(p,d);u=i.insert(()=>m,":first-child"),u.attr("class","basic label-container").attr("style",Fn(h))}else u=i.insert("rect",":first-child"),u.attr("class","basic label-container").attr("style",n).attr("rx",s/2).attr("ry",s/2).attr("x",-l/2).attr("y",-s/2).attr("width",l).attr("height",s);return Qe(e,u),e.intersect=function(f){return qe.rect(e,f)},i}var yQ=M(()=>{"use strict";Ft();qt();Xt();jt();zh();hr();o(gQ,"stadium")});async function vQ(t,e){return Cd(t,e,{rx:5,ry:5,classes:"flowchart-node"})}var xQ=M(()=>{"use strict";vv();o(vQ,"state")});function bQ(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=et(e);e.labelStyle=n;let{cssStyles:a}=e,{lineColor:s,stateBorder:l,nodeBorder:u}=r,h=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),f=Ke.svg(h),d=Ze(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=f.circle(0,0,14,{...d,stroke:s,strokeWidth:2}),m=l??u,g=f.circle(0,0,5,{...d,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),y=h.insert(()=>p,":first-child");return y.insert(()=>g),a&&y.selectAll("path").attr("style",a),i&&y.selectAll("path").attr("style",i),Qe(e,y),e.intersect=function(v){return qe.circle(e,7,v)},h}var wQ=M(()=>{"use strict";jt();qt();Xt();Ft();o(bQ,"stateEnd")});function TQ(t,e,{config:{themeVariables:r}}){let{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a;if(e.look==="handDrawn"){let l=Ke.svg(i).circle(0,0,14,Cj(n));a=i.insert(()=>l),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14)}else a=i.insert("circle",":first-child"),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14);return Qe(e,a),e.intersect=function(s){return qe.circle(e,7,s)},i}var kQ=M(()=>{"use strict";jt();qt();Xt();Ft();o(TQ,"stateStart")});async function EQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=(e?.padding||0)/2,l=a.width+e.padding,u=a.height+e.padding,h=-a.width/2-s,f=-a.height/2-s,d=[{x:0,y:0},{x:l,y:0},{x:l,y:-u},{x:0,y:-u},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-u},{x:-8,y:-u},{x:-8,y:0}];if(e.look==="handDrawn"){let p=Ke.svg(i),m=Ze(e,{}),g=p.rectangle(h-8,f,l+16,u,m),y=p.line(h,f,h,f+u,m),v=p.line(h+l,f,h+l,f+u,m);i.insert(()=>y,":first-child"),i.insert(()=>v,":first-child");let x=i.insert(()=>g,":first-child"),{cssStyles:b}=e;x.attr("class","basic label-container").attr("style",Fn(b)),Qe(e,x)}else{let p=Aa(i,l,u,d);n&&p.attr("style",n),Qe(e,p)}return e.intersect=function(p){return qe.polygon(e,d,p)},i}var SQ=M(()=>{"use strict";Ft();qt();Xt();jt();Su();hr();o(EQ,"subroutine")});async function CQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=-s/2,h=-l/2,f=.2*l,d=.2*l,{cssStyles:p}=e,m=Ke.svg(i),g=Ze(e,{}),y=[{x:u-f/2,y:h},{x:u+s+f/2,y:h},{x:u+s+f/2,y:h+l},{x:u-f/2,y:h+l}],v=[{x:u+s-f/2,y:h+l},{x:u+s+f/2,y:h+l},{x:u+s+f/2,y:h+l-d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=Wt(y),b=m.path(x,g),w=Wt(v),_=m.path(w,{...g,fillStyle:"solid"}),T=i.insert(()=>_,":first-child");return T.insert(()=>b,":first-child"),T.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),Qe(e,T),e.intersect=function(E){return qe.polygon(e,y,E)},i}var AQ=M(()=>{"use strict";Ft();Xt();jt();qt();o(CQ,"taggedRect")});async function _Q(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=.2*l,d=.2*u,p=u+h,{cssStyles:m}=e,g=Ke.svg(i),y=Ze(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=[{x:-l/2-l/2*.1,y:p/2},...zo(-l/2-l/2*.1,p/2,l/2+l/2*.1,p/2,h,.8),{x:l/2+l/2*.1,y:-p/2},{x:-l/2-l/2*.1,y:-p/2}],x=-l/2+l/2*.1,b=-p/2-d*.4,w=[{x:x+l-f,y:(b+u)*1.4},{x:x+l,y:b+u-d},{x:x+l,y:(b+u)*.9},...zo(x+l,(b+u)*1.3,x+l-f,(b+u)*1.5,-u*.03,.5)],_=Wt(v),T=g.path(_,y),E=Wt(w),L=g.path(E,{...y,fillStyle:"solid"}),C=i.insert(()=>L,":first-child");return C.insert(()=>T,":first-child"),C.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",n),C.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),Qe(e,C),e.intersect=function(A){return qe.polygon(e,v,A)},i}var LQ=M(()=>{"use strict";Ft();qt();jt();Xt();o(_Q,"taggedWaveEdgedRectangle")});async function DQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=Math.max(a.width+e.padding,e?.width||0),l=Math.max(a.height+e.padding,e?.height||0),u=-s/2,h=-l/2,f=i.insert("rect",":first-child");return f.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",u).attr("y",h).attr("width",s).attr("height",l),Qe(e,f),e.intersect=function(d){return qe.rect(e,d)},i}var NQ=M(()=>{"use strict";Ft();qt();Xt();o(DQ,"text")});async function RQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s,halfPadding:l}=await ot(t,e,lt(e)),u=e.look==="neo"?l*2:l,h=a.height+u,f=h/2,d=f/(2.5+h/50),p=a.width+d+u,{cssStyles:m}=e,g;if(e.look==="handDrawn"){let y=Ke.svg(i),v=kAe(0,0,p,h,d,f),x=EAe(0,0,p,h,d,f),b=y.path(v,Ze(e,{})),w=y.path(x,Ze(e,{fill:"none"}));g=i.insert(()=>w,":first-child"),g=i.insert(()=>b,":first-child"),g.attr("class","basic label-container"),m&&g.attr("style",m)}else{let y=TAe(0,0,p,h,d,f);g=i.insert("path",":first-child").attr("d",y).attr("class","basic label-container").attr("style",Fn(m)).attr("style",n),g.attr("class","basic label-container"),m&&g.selectAll("path").attr("style",m),n&&g.selectAll("path").attr("style",n)}return g.attr("label-offset-x",d),g.attr("transform",`translate(${-p/2}, ${h/2} )`),s.attr("transform",`translate(${-(a.width/2)-d-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),Qe(e,g),e.intersect=function(y){let v=qe.rect(e,y),x=v.y-(e.y??0);if(f!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(v.x-(e.x??0))>(e.width??0)/2-d)){let b=d*d*(1-x*x/(f*f));b!=0&&(b=Math.sqrt(Math.abs(b))),b=d-b,y.x-(e.x??0)>0&&(b=-b),v.x+=b}return v},i}var TAe,kAe,EAe,MQ=M(()=>{"use strict";Ft();Xt();jt();qt();hr();TAe=o((t,e,r,n,i,a)=>`M${t},${e} a${i},${a} 0,0,1 0,${-n} l${r},0 a${i},${a} 0,0,1 0,${n} M${r},${-n} a${i},${a} 0,0,0 0,${n} l${-r},0`,"createCylinderPathD"),kAe=o((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),EAe=o((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD");o(RQ,"tiltedCylinder")});async function IQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=a.width+e.padding,l=a.height+e.padding,u=[{x:-3*l/6,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=Ke.svg(i),p=Ze(e,{}),m=Wt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Aa(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Qe(e,h),e.intersect=function(d){return qe.polygon(e,u,d)},i}var OQ=M(()=>{"use strict";Ft();qt();Xt();jt();Su();o(IQ,"trapezoid")});async function PQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=60,l=20,u=Math.max(s,a.width+(e.padding??0)*2,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),{cssStyles:f}=e,d=Ke.svg(i),p=Ze(e,{});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");let m=[{x:-u/2*.8,y:-h/2},{x:u/2*.8,y:-h/2},{x:u/2,y:-h/2*.6},{x:u/2,y:h/2},{x:-u/2,y:h/2},{x:-u/2,y:-h/2*.6}],g=Wt(m),y=d.path(g,p),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),Qe(e,v),e.intersect=function(x){return qe.polygon(e,m,x)},i}var BQ=M(()=>{"use strict";Ft();qt();Xt();jt();o(PQ,"trapezoidalPentagon")});async function FQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=xr(de().flowchart?.htmlLabels),u=a.width+(e.padding??0),h=u+a.height,f=u+a.height,d=[{x:0,y:0},{x:f,y:0},{x:f/2,y:-h}],{cssStyles:p}=e,m=Ke.svg(i),g=Ze(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=Wt(d),v=m.path(y,g),x=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`);return p&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),e.width=u,e.height=h,Qe(e,x),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${h/2-(a.height+(e.padding??0)/(l?2:1)-(a.y-(a.top??0)))})`),e.intersect=function(b){return Y.info("Triangle intersect",e,d,b),qe.polygon(e,d,b)},i}var zQ=M(()=>{"use strict";ht();Ft();qt();Xt();jt();Ft();fr();Vt();o(FQ,"triangle")});async function GQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/8,f=u+h,{cssStyles:d}=e,m=70-l,g=m>0?m/2:0,y=Ke.svg(i),v=Ze(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");let x=[{x:-l/2-g,y:f/2},...zo(-l/2-g,f/2,l/2+g,f/2,h,.8),{x:l/2+g,y:-f/2},{x:-l/2-g,y:-f/2}],b=Wt(x),w=y.path(b,v),_=i.insert(()=>w,":first-child");return _.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&_.selectAll("path").attr("style",n),_.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h-(a.y-(a.top??0))})`),Qe(e,_),e.intersect=function(T){return qe.polygon(e,x,T)},i}var $Q=M(()=>{"use strict";Ft();qt();jt();Xt();o(GQ,"waveEdgedRectangle")});async function VQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await ot(t,e,lt(e)),s=100,l=50,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=u/h,d=u,p=h;d>p*f?p=d/f:d=p*f,d=Math.max(d,s),p=Math.max(p,l);let m=Math.min(p*.2,p/4),g=p+m*2,{cssStyles:y}=e,v=Ke.svg(i),x=Ze(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");let b=[{x:-d/2,y:g/2},...zo(-d/2,g/2,d/2,g/2,m,1),{x:d/2,y:-g/2},...zo(d/2,-g/2,-d/2,-g/2,m,-1)],w=Wt(b),_=v.path(w,x),T=i.insert(()=>_,":first-child");return T.attr("class","basic label-container"),y&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",y),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),Qe(e,T),e.intersect=function(E){return qe.polygon(e,b,E)},i}var UQ=M(()=>{"use strict";Ft();qt();Xt();jt();o(VQ,"waveRectangle")});async function HQ(t,e){let{labelStyles:r,nodeStyles:n}=et(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await ot(t,e,lt(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=Ke.svg(i),g=Ze(e,{}),y=[{x:f-h,y:d-h},{x:f-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d-h}],v=`M${f-h},${d-h} L${f+l},${d-h} L${f+l},${d+u} L${f-h},${d+u} L${f-h},${d-h} M${f-h},${d} L${f+l},${d} M${f},${d-h} L${f},${d+u}`;e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=m.path(v,g),b=i.insert(()=>x,":first-child");return b.attr("transform",`translate(${h/2}, ${h/2})`),b.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)+h/2-(a.x-(a.left??0))}, ${-(a.height/2)+h/2-(a.y-(a.top??0))})`),Qe(e,b),e.intersect=function(w){return qe.polygon(e,y,w)},i}var WQ=M(()=>{"use strict";Ft();Xt();jt();qt();o(HQ,"windowPane")});async function YQ(t,e,r,n,i=r.class.padding??12){let a=n?0:3,s=t.insert("g").attr("class",lt(e)).attr("id",e.domId||e.id),l=null,u=null,h=null,f=null,d=0,p=0,m=0;if(l=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){let b=e.annotations[0];await O5(l,{text:`\xAB${b}\xBB`},0),d=l.node().getBBox().height}u=s.insert("g").attr("class","label-group text"),await O5(u,e,0,["font-weight: bolder"]);let g=u.node().getBBox();p=g.height,h=s.insert("g").attr("class","members-group text");let y=0;for(let b of e.members){let w=await O5(h,b,y,[b.parseClassifier()]);y+=w+a}m=h.node().getBBox().height,m<=0&&(m=i/2),f=s.insert("g").attr("class","methods-group text");let v=0;for(let b of e.methods){let w=await O5(f,b,v,[b.parseClassifier()]);v+=w+a}let x=s.node().getBBox();if(l!==null){let b=l.node().getBBox();l.attr("transform",`translate(${-b.width/2})`)}return u.attr("transform",`translate(${-g.width/2}, ${d})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+p+i*2})`),x=s.node().getBBox(),f.attr("transform",`translate(0, ${d+p+(m?m+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}async function O5(t,e,r,n=[]){let i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=Sr(),s="useHtmlLabels"in e?e.useHtmlLabels:xr(a.htmlLabels)??!0,l="";"text"in e?l=e.text:l=e.label,!s&&l.startsWith("\\")&&(l=l.substring(1)),pi(l)&&(s=!0);let u=await Si(i,i7(Ca(l)),{width:Js(l,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a),h,f=1;if(s){let d=u.children[0],p=ze(u);f=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(f+=d.innerHTML.split("").length-1);let m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,_=parseInt(b,10)*5+"px";y.style.minWidth=_,y.style.maxWidth=_}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}else{n.includes("font-weight: bolder")&&ze(u).selectAll("tspan").attr("font-weight",""),f=u.children.length;let d=u.children[0];(u.textContent===""||u.textContent.includes(">"))&&(d.textContent=l[0]+l.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),l[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),h=u.getBBox()}return i.attr("transform","translate(0,"+(-h.height/(2*f)+r)+")"),h.height}var qQ=M(()=>{"use strict";mr();Ua();Ft();hr();Vt();Dl();fr();o(YQ,"textHelper");o(O5,"addText")});async function XQ(t,e){let r=de(),n=r.class.padding??12,i=n,a=e.useHtmlLabels??xr(r.htmlLabels)??!0,s=e;s.annotations=s.annotations??[],s.members=s.members??[],s.methods=s.methods??[];let{shapeSvg:l,bbox:u}=await YQ(t,e,r,a,i),{labelStyles:h,nodeStyles:f}=et(e);e.labelStyle=h,e.cssStyles=s.styles||"";let d=s.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=d.replaceAll("!important","").split(";"));let p=s.members.length===0&&s.methods.length===0&&!r.class?.hideEmptyMembersBox,m=Ke.svg(l),g=Ze(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=u.width,v=u.height;s.members.length===0&&s.methods.length===0?v+=i:s.members.length>0&&s.methods.length===0&&(v+=i*2);let x=-y/2,b=-v/2,w=m.rectangle(x-n,b-n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0),y+2*n,v+2*n+(p?n*2:s.members.length===0&&s.methods.length===0?-n:0),g),_=l.insert(()=>w,":first-child");_.attr("class","basic label-container");let T=_.node().getBBox();l.selectAll(".text").each((A,I,D)=>{let k=ze(D[I]),R=k.attr("transform"),S=0;if(R){let F=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(R);F&&(S=parseFloat(F[2]))}let O=S+b+n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0);a||(O-=4);let N=x;(k.attr("class").includes("label-group")||k.attr("class").includes("annotation-group"))&&(N=-k.node()?.getBBox().width/2||0,l.selectAll("text").each(function(P,F,B){window.getComputedStyle(B[F]).textAnchor==="middle"&&(N=0)})),k.attr("transform",`translate(${N}, ${O})`)});let E=l.select(".annotation-group").node().getBBox().height-(p?n/2:0)||0,L=l.select(".label-group").node().getBBox().height-(p?n/2:0)||0,C=l.select(".members-group").node().getBBox().height-(p?n/2:0)||0;if(s.members.length>0||s.methods.length>0||p){let A=m.line(T.x,E+L+b+n,T.x+T.width,E+L+b+n,g);l.insert(()=>A).attr("class","divider").attr("style",d)}if(p||s.members.length>0||s.methods.length>0){let A=m.line(T.x,E+L+C+b+i*2+n,T.x+T.width,E+L+C+b+n+i*2,g);l.insert(()=>A).attr("class","divider").attr("style",d)}if(s.look!=="handDrawn"&&l.selectAll("path").attr("style",d),_.select(":nth-child(2)").attr("style",d),l.selectAll(".divider").select("path").attr("style",d),e.labelStyle?l.selectAll("span").attr("style",e.labelStyle):l.selectAll("span").attr("style",d),!a){let A=RegExp(/color\s*:\s*([^;]*)/),I=A.exec(d);if(I){let D=I[0].replace("color","fill");l.selectAll("tspan").attr("style",D)}else if(h){let D=A.exec(h);if(D){let k=D[0].replace("color","fill");l.selectAll("tspan").attr("style",k)}}}return Qe(e,_),e.intersect=function(A){return qe.rect(e,A)},l}var jQ=M(()=>{"use strict";Ft();Vt();mr();jt();Xt();qt();qQ();fr();o(XQ,"classBox")});async function KQ(t,e,{config:r}){let{labelStyles:n,nodeStyles:i}=et(e);e.labelStyle=n||"";let a=10,s=e.width;e.width=(e.width??200)-10;let{shapeSvg:l,bbox:u,label:h}=await ot(t,e,lt(e)),f=e.padding||10,d="",p;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),p=l.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));let m={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1},g,y;p?{label:g,bbox:y}=await T5(p,"ticket"in e&&e.ticket||"",m):{label:g,bbox:y}=await T5(l,"ticket"in e&&e.ticket||"",m);let{label:v,bbox:x}=await T5(l,"assigned"in e&&e.assigned||"",m);e.width=s;let b=10,w=e?.width||0,_=Math.max(y.height,x.height)/2,T=Math.max(u.height+b*2,e?.height||0)+_,E=-w/2,L=-T/2;h.attr("transform","translate("+(f-w/2)+", "+(-_-u.height/2)+")"),g.attr("transform","translate("+(f-w/2)+", "+(-_+u.height/2)+")"),v.attr("transform","translate("+(f+w/2-x.width-2*a)+", "+(-_+u.height/2)+")");let C,{rx:A,ry:I}=e,{cssStyles:D}=e;if(e.look==="handDrawn"){let k=Ke.svg(l),R=Ze(e,{}),S=A||I?k.path(La(E,L,w,T,A||0),R):k.rectangle(E,L,w,T,R);C=l.insert(()=>S,":first-child"),C.attr("class","basic label-container").attr("style",D||null)}else{C=l.insert("rect",":first-child"),C.attr("class","basic label-container __APA__").attr("style",i).attr("rx",A??5).attr("ry",I??5).attr("x",E).attr("y",L).attr("width",w).attr("height",T);let k="priority"in e&&e.priority;if(k){let R=l.append("line"),S=E+2,O=L+Math.floor((A??0)/2),N=L+T-Math.floor((A??0)/2);R.attr("x1",S).attr("y1",O).attr("x2",S).attr("y2",N).attr("stroke-width","4").attr("stroke",SAe(k))}}return Qe(e,C),e.height=T,e.intersect=function(k){return qe.rect(e,k)},l}var SAe,QQ=M(()=>{"use strict";Ft();qt();zh();Xt();jt();SAe=o(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");o(KQ,"kanbanItem")});function ZQ(t){return t in z9}var CAe,AAe,z9,G9=M(()=>{"use strict";Vj();Wj();qj();jj();Qj();Jj();tK();nK();aK();oK();cK();hK();dK();mK();yK();xK();wK();kK();SK();AK();LK();NK();MK();OK();BK();zK();$K();UK();WK();qK();jK();QK();JK();tQ();nQ();aQ();oQ();cQ();hQ();dQ();mQ();yQ();xQ();wQ();kQ();SQ();AQ();LQ();NQ();MQ();OQ();BQ();zQ();$Q();UQ();WQ();jQ();QQ();CAe=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:pQ},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:lQ},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:gQ},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:EQ},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:lK},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:Kj},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:rQ},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:TK},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:VK},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:GK},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:IQ},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:PK},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:fK},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:DQ},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:Yj},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:uQ},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:TQ},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:bQ},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:vK},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:EK},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:eK},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:rK},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:iK},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:HK},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:GQ},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:bK},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:RQ},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:YK},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:sK},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:uK},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:FQ},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:HQ},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:pK},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:PQ},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:gK},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:fQ},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:ZK},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:KK},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:Hj},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:Zj},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:_Q},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:CQ},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:VQ},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:iQ},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:XK}],AAe=o(()=>{let e=[...Object.entries({state:vQ,choice:Xj,note:eQ,rectWithTitle:sQ,labelRect:FK,iconSquare:RK,iconCircle:_K,icon:CK,iconRounded:DK,imageSquare:IK,anchor:$j,kanbanItem:KQ,classBox:XQ}),...CAe.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),z9=AAe();o(ZQ,"isValidShape")});function pZ(t){return typeof t>"u"||t===null}function _Ae(t){return typeof t=="object"&&t!==null}function LAe(t){return Array.isArray(t)?t:pZ(t)?[]:[t]}function DAe(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;rl&&(a=" ... ",e=n-l+a.length),r-n>l&&(s=" ...",r=n+l-s.length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+s,pos:n-e+a.length}}function V9(t,e){return Pi.repeat(" ",e-t.length)+t}function zAe(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var l="",u,h,f=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+f+3);for(u=1;u<=e.linesBefore&&!(s-u<0);u++)h=$9(t.buffer,n[s-u],i[s-u],t.position-(n[s]-n[s-u]),d),l=Pi.repeat(" ",e.indent)+V9((t.line-u+1).toString(),f)+" | "+h.str+` `+l;for(h=$9(t.buffer,n[s],i[s],t.position,d),l+=Pi.repeat(" ",e.indent)+V9((t.line+1).toString(),f)+" | "+h.str+` `,l+=Pi.repeat("-",e.indent+f+3+h.pos)+`^ `,u=1;u<=e.linesAfter&&!(s+u>=i.length);u++)h=$9(t.buffer,n[s+u],i[s+u],t.position-(n[s]-n[s+u]),d),l+=Pi.repeat(" ",e.indent)+V9((t.line+u+1).toString(),f)+" | "+h.str+` `;return l.replace(/\n$/,"")}function UAe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}function HAe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if($Ae.indexOf(r)===-1)throw new Es('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=UAe(e.styleAliases||null),VAe.indexOf(this.kind)===-1)throw new Es('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function JQ(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}function WAe(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(o(n,"collectType"),e=0,r=arguments.length;e=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}function g8e(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Pi.isNegativeZero(t))return"-0.0";return r=t.toString(10),m8e.test(r)?r.replace("e",".e"):r}function y8e(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Pi.isNegativeZero(t))}function b8e(t){return t===null?!1:yZ.exec(t)!==null||vZ.exec(t)!==null}function w8e(t){var e,r,n,i,a,s,l,u=0,h=null,f,d,p;if(e=yZ.exec(t),e===null&&(e=vZ.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],l=+e[6],e[7]){for(u=e[7].slice(0,3);u.length<3;)u+="0";u=+u}return e[9]&&(f=+e[10],d=+(e[11]||0),h=(f*60+d)*6e4,e[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,i,a,s,l,u)),h&&p.setTime(p.getTime()-h),p}function T8e(t){return t.toISOString()}function E8e(t){return t==="<<"||t===null}function C8e(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=j9;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}function A8e(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=j9,s=0,l=[];for(e=0;e>16&255),l.push(s>>8&255),l.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(l.push(s>>16&255),l.push(s>>8&255),l.push(s&255)):r===18?(l.push(s>>10&255),l.push(s>>2&255)):r===12&&l.push(s>>4&255),new Uint8Array(l)}function _8e(t){var e="",r=0,n,i,a=t.length,s=j9;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}function L8e(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}function M8e(t){if(t===null)return!0;var e=[],r,n,i,a,s,l=t;for(r=0,n=l.length;r>10)+55296,(t-65536&1023)+56320)}function Z8e(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||xZ,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function CZ(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=GAe(r),new Es(e,r)}function Qt(t,e){throw CZ(t,e)}function F5(t,e){t.onWarning&&t.onWarning.call(null,CZ(t,e))}function Gh(t,e,r,n){var i,a,s,l;if(e1&&(t.result+=Pi.repeat(` `,e-1))}function J8e(t,e,r){var n,i,a,s,l,u,h,f,d=t.kind,p=t.result,m;if(m=t.input.charCodeAt(t.position),Ss(m)||lm(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=t.input.charCodeAt(t.position+1),Ss(i)||r&&lm(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,l=!1;m!==0;){if(m===58){if(i=t.input.charCodeAt(t.position+1),Ss(i)||r&&lm(i))break}else if(m===35){if(n=t.input.charCodeAt(t.position-1),Ss(n))break}else{if(t.position===t.lineStart&&$5(t)||r&&lm(m))break;if(yc(m))if(u=t.line,h=t.lineStart,f=t.lineIndent,Ci(t,!1,-1),t.lineIndent>=e){l=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=u,t.lineStart=h,t.lineIndent=f;break}}l&&(Gh(t,a,s,!1),Q9(t,t.line-u),a=s=t.position,l=!1),_d(m)||(s=t.position+1),m=t.input.charCodeAt(++t.position)}return Gh(t,a,s,!1),t.result?!0:(t.kind=d,t.result=p,!1)}function e_e(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Gh(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else yc(r)?(Gh(t,n,i,!0),Q9(t,Ci(t,!1,e)),n=i=t.position):t.position===t.lineStart&&$5(t)?Qt(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);Qt(t,"unexpected end of the stream within a single quoted scalar")}function t_e(t,e){var r,n,i,a,s,l;if(l=t.input.charCodeAt(t.position),l!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(l=t.input.charCodeAt(t.position))!==0;){if(l===34)return Gh(t,r,t.position,!0),t.position++,!0;if(l===92){if(Gh(t,r,t.position,!0),l=t.input.charCodeAt(++t.position),yc(l))Ci(t,!1,e);else if(l<256&&EZ[l])t.result+=SZ[l],t.position++;else if((s=j8e(l))>0){for(i=s,a=0;i>0;i--)l=t.input.charCodeAt(++t.position),(s=X8e(l))>=0?a=(a<<4)+s:Qt(t,"expected hexadecimal character");t.result+=Q8e(a),t.position++}else Qt(t,"unknown escape sequence");r=n=t.position}else yc(l)?(Gh(t,r,n,!0),Q9(t,Ci(t,!1,e)),r=n=t.position):t.position===t.lineStart&&$5(t)?Qt(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}Qt(t,"unexpected end of the stream within a double quoted scalar")}function r_e(t,e){var r=!0,n,i,a,s=t.tag,l,u=t.anchor,h,f,d,p,m,g=Object.create(null),y,v,x,b;if(b=t.input.charCodeAt(t.position),b===91)f=93,m=!1,l=[];else if(b===123)f=125,m=!0,l={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=l),b=t.input.charCodeAt(++t.position);b!==0;){if(Ci(t,!0,e),b=t.input.charCodeAt(t.position),b===f)return t.position++,t.tag=s,t.anchor=u,t.kind=m?"mapping":"sequence",t.result=l,!0;r?b===44&&Qt(t,"expected the node content, but found ','"):Qt(t,"missed comma between flow collection entries"),v=y=x=null,d=p=!1,b===63&&(h=t.input.charCodeAt(t.position+1),Ss(h)&&(d=p=!0,t.position++,Ci(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,um(t,e,P5,!1,!0),v=t.tag,y=t.result,Ci(t,!0,e),b=t.input.charCodeAt(t.position),(p||t.line===n)&&b===58&&(d=!0,b=t.input.charCodeAt(++t.position),Ci(t,!0,e),um(t,e,P5,!1,!0),x=t.result),m?cm(t,l,g,v,y,x,n,i,a):d?l.push(cm(t,null,g,v,y,x,n,i,a)):l.push(y),Ci(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(r=!0,b=t.input.charCodeAt(++t.position)):r=!1}Qt(t,"unexpected end of the stream within a flow collection")}function n_e(t,e){var r,n,i=U9,a=!1,s=!1,l=e,u=0,h=!1,f,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)U9===i?i=d===43?eZ:H8e:Qt(t,"repeat of a chomping mode identifier");else if((f=K8e(d))>=0)f===0?Qt(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?Qt(t,"repeat of an indentation width identifier"):(l=e+f-1,s=!0);else break;if(_d(d)){do d=t.input.charCodeAt(++t.position);while(_d(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!yc(d)&&d!==0)}for(;d!==0;){for(K9(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndentl&&(l=t.lineIndent),yc(d)){u++;continue}if(t.lineIndente)&&u!==0)Qt(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(v&&(s=t.line,l=t.lineStart,u=t.position),um(t,e,B5,!0,i)&&(v?g=t.result:y=t.result),v||(cm(t,d,p,m,g,y,s,l,u),m=g=y=null),Ci(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&b!==0)Qt(t,"bad indentation of a mapping entry");else if(t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,p=t.implicitTypes.length;d"),t.result!==null&&g.kind!==t.kind&&Qt(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+g.kind+'", not "'+t.kind+'"'),g.resolve(t.result,t.tag)?(t.result=g.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Qt(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||f}function l_e(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(Ci(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!Ss(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&Qt(t,"directive name must not be less than one character in length");s!==0;){for(;_d(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!yc(s));break}if(yc(s))break;for(r=t.position;s!==0&&!Ss(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&K9(t),$h.call(nZ,n)?nZ[n](t,n,i):F5(t,'unknown document directive "'+n+'"')}if(Ci(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Ci(t,!0,-1)):a&&Qt(t,"directives end mark is expected"),um(t,t.lineIndent-1,B5,!1,!0),Ci(t,!0,-1),t.checkLineBreaks&&Y8e.test(t.input.slice(e,t.position))&&F5(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&$5(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Ci(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=AZ(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}function PZ(t){var e=/^\n* /;return e.test(t)}function F_e(t,e,r,n,i,a,s,l){var u,h=0,f=null,d=!1,p=!1,m=n!==-1,g=-1,y=P_e(xv(t,0))&&B_e(xv(t,t.length-1));if(e||s)for(u=0;u=65536?u+=2:u++){if(h=xv(t,u),!kv(h))return om;y=y&&lZ(h,f,l),f=h}else{for(u=0;u=65536?u+=2:u++){if(h=xv(t,u),h===wv)d=!0,m&&(p=p||u-g-1>n&&t[g+1]!==" ",g=u);else if(!kv(h))return om;y=y&&lZ(h,f,l),f=h}p=p||m&&u-g-1>n&&t[g+1]!==" "}return!d&&!p?y&&!s&&!i(t)?BZ:a===Tv?om:q9:r>9&&PZ(t)?om:s?a===Tv?om:q9:p?zZ:FZ}function z_e(t,e,r,n,i){t.dump=function(){if(e.length===0)return t.quotingType===Tv?'""':"''";if(!t.noCompatMode&&(L_e.indexOf(e)!==-1||D_e.test(e)))return t.quotingType===Tv?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),l=n||t.flowLevel>-1&&r>=t.flowLevel;function u(h){return O_e(t,h)}switch(o(u,"testAmbiguity"),F_e(e,l,t.indent,s,u,t.quotingType,t.forceQuotes&&!n,i)){case BZ:return e;case q9:return"'"+e.replace(/'/g,"''")+"'";case FZ:return"|"+cZ(e,t.indent)+uZ(sZ(e,a));case zZ:return">"+cZ(e,t.indent)+uZ(sZ(G_e(e,s),a));case om:return'"'+$_e(e)+'"';default:throw new Es("impossible error: invalid scalar style")}}()}function cZ(t,e){var r=PZ(t)?String(e):"",n=t[t.length-1]===` `,i=n&&(t[t.length-2]===` `||t===` `),a=i?"+":n?"":"-";return r+a+` `}function uZ(t){return t[t.length-1]===` `?t.slice(0,-1):t}function G_e(t,e){for(var r=/(\n+)([^\n]*)/g,n=function(){var h=t.indexOf(` `);return h=h!==-1?h:t.length,r.lastIndex=h,hZ(t.slice(0,h),e)}(),i=t[0]===` `||t[0]===" ",a,s;s=r.exec(t);){var l=s[1],u=s[2];a=u[0]===" ",n+=l+(!i&&!a&&u!==""?` `:"")+hZ(u,e),i=a}return n}function hZ(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,l=0,u="";n=r.exec(t);)l=n.index,l-i>e&&(a=s>i?s:l,u+=` `+t.slice(i,a),i=a+1),s=l;return u+=` `,t.length-i>e&&s>i?u+=t.slice(i,s)+` `+t.slice(s+1):u+=t.slice(i),u.slice(1)}function $_e(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=xv(t,i),n=Na[r],!n&&kv(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||R_e(r);return e}function V_e(t,e,r){var n="",i=t.tag,a,s,l;for(a=0,s=r.length;a"u"&&Cu(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}function fZ(t,e,r,n){var i="",a=t.tag,s,l,u;for(s=0,l=r.length;s"u"&&Cu(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=Y9(t,e)),t.dump&&wv===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}function U_e(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,l,u,h,f;for(s=0,l=a.length;s1024&&(f+="? "),f+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Cu(t,e,h,!1,!1)&&(f+=t.dump,n+=f));t.tag=i,t.dump="{"+n+"}"}function H_e(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),l,u,h,f,d,p;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Es("sortKeys must be a boolean or a function");for(l=0,u=s.length;l1024,d&&(t.dump&&wv===t.dump.charCodeAt(0)?p+="?":p+="? "),p+=t.dump,d&&(p+=Y9(t,e)),Cu(t,e+1,f,!0,d)&&(t.dump&&wv===t.dump.charCodeAt(0)?p+=":":p+=": ",p+=t.dump,i+=p));t.tag=a,t.dump=i||"{}"}function dZ(t,e,r){var n,i,a,s,l,u;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+u+'" style');t.dump=n}return!0}return!1}function Cu(t,e,r,n,i,a,s){t.tag=null,t.dump=r,dZ(t,r,!1)||dZ(t,r,!0);var l=LZ.call(t.dump),u=n,h;n&&(n=t.flowLevel<0||t.flowLevel>e);var f=l==="[object Object]"||l==="[object Array]",d,p;if(f&&(d=t.duplicates.indexOf(r),p=d!==-1),(t.tag!==null&&t.tag!=="?"||p||t.indent!==2&&e>0)&&(i=!1),p&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(f&&p&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),l==="[object Object]")n&&Object.keys(t.dump).length!==0?(H_e(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(U_e(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?fZ(t,e-1,t.dump,i):fZ(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(V_e(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object String]")t.tag!=="?"&&z_e(t,t.dump,e,a,u);else{if(l==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Es("unacceptable kind of an object to dump "+l)}t.tag!==null&&t.tag!=="?"&&(h=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?h="!"+h:h.slice(0,18)==="tag:yaml.org,2002:"?h="!!"+h.slice(18):h="!<"+h+">",t.dump=h+" "+t.dump)}return!0}function W_e(t,e){var r=[],n=[],i,a;for(X9(t,r,n),i=0,a=n.length;i{"use strict";o(pZ,"isNothing");o(_Ae,"isObject");o(LAe,"toArray");o(DAe,"extend");o(NAe,"repeat");o(RAe,"isNegativeZero");MAe=pZ,IAe=_Ae,OAe=LAe,PAe=NAe,BAe=RAe,FAe=DAe,Pi={isNothing:MAe,isObject:IAe,toArray:OAe,repeat:PAe,isNegativeZero:BAe,extend:FAe};o(mZ,"formatError");o(bv,"YAMLException$1");bv.prototype=Object.create(Error.prototype);bv.prototype.constructor=bv;bv.prototype.toString=o(function(e){return this.name+": "+mZ(this,e)},"toString");Es=bv;o($9,"getLine");o(V9,"padStart");o(zAe,"makeSnippet");GAe=zAe,$Ae=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],VAe=["scalar","sequence","mapping"];o(UAe,"compileStyleAliases");o(HAe,"Type$1");Da=HAe;o(JQ,"compileList");o(WAe,"compileMap");o(H9,"Schema$1");H9.prototype.extend=o(function(e){var r=[],n=[];if(e instanceof Da)n.push(e);else if(Array.isArray(e))n=n.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(r=r.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit));else throw new Es("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(a){if(!(a instanceof Da))throw new Es("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new Es("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(a.multi)throw new Es("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(a){if(!(a instanceof Da))throw new Es("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(H9.prototype);return i.implicit=(this.implicit||[]).concat(r),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=JQ(i,"implicit"),i.compiledExplicit=JQ(i,"explicit"),i.compiledTypeMap=WAe(i.compiledImplicit,i.compiledExplicit),i},"extend");YAe=H9,qAe=new Da("tag:yaml.org,2002:str",{kind:"scalar",construct:o(function(t){return t!==null?t:""},"construct")}),XAe=new Da("tag:yaml.org,2002:seq",{kind:"sequence",construct:o(function(t){return t!==null?t:[]},"construct")}),jAe=new Da("tag:yaml.org,2002:map",{kind:"mapping",construct:o(function(t){return t!==null?t:{}},"construct")}),KAe=new YAe({explicit:[qAe,XAe,jAe]});o(QAe,"resolveYamlNull");o(ZAe,"constructYamlNull");o(JAe,"isNull");e8e=new Da("tag:yaml.org,2002:null",{kind:"scalar",resolve:QAe,construct:ZAe,predicate:JAe,represent:{canonical:o(function(){return"~"},"canonical"),lowercase:o(function(){return"null"},"lowercase"),uppercase:o(function(){return"NULL"},"uppercase"),camelcase:o(function(){return"Null"},"camelcase"),empty:o(function(){return""},"empty")},defaultStyle:"lowercase"});o(t8e,"resolveYamlBoolean");o(r8e,"constructYamlBoolean");o(n8e,"isBoolean");i8e=new Da("tag:yaml.org,2002:bool",{kind:"scalar",resolve:t8e,construct:r8e,predicate:n8e,represent:{lowercase:o(function(t){return t?"true":"false"},"lowercase"),uppercase:o(function(t){return t?"TRUE":"FALSE"},"uppercase"),camelcase:o(function(t){return t?"True":"False"},"camelcase")},defaultStyle:"lowercase"});o(a8e,"isHexCode");o(s8e,"isOctCode");o(o8e,"isDecCode");o(l8e,"resolveYamlInteger");o(c8e,"constructYamlInteger");o(u8e,"isInteger");h8e=new Da("tag:yaml.org,2002:int",{kind:"scalar",resolve:l8e,construct:c8e,predicate:u8e,represent:{binary:o(function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:o(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:o(function(t){return t.toString(10)},"decimal"),hexadecimal:o(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),f8e=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");o(d8e,"resolveYamlFloat");o(p8e,"constructYamlFloat");m8e=/^[-+]?[0-9]+e/;o(g8e,"representYamlFloat");o(y8e,"isFloat");v8e=new Da("tag:yaml.org,2002:float",{kind:"scalar",resolve:d8e,construct:p8e,predicate:y8e,represent:g8e,defaultStyle:"lowercase"}),gZ=KAe.extend({implicit:[e8e,i8e,h8e,v8e]}),x8e=gZ,yZ=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),vZ=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");o(b8e,"resolveYamlTimestamp");o(w8e,"constructYamlTimestamp");o(T8e,"representYamlTimestamp");k8e=new Da("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:b8e,construct:w8e,instanceOf:Date,represent:T8e});o(E8e,"resolveYamlMerge");S8e=new Da("tag:yaml.org,2002:merge",{kind:"scalar",resolve:E8e}),j9=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= \r`;o(C8e,"resolveYamlBinary");o(A8e,"constructYamlBinary");o(_8e,"representYamlBinary");o(L8e,"isBinary");D8e=new Da("tag:yaml.org,2002:binary",{kind:"scalar",resolve:C8e,construct:A8e,predicate:L8e,represent:_8e}),N8e=Object.prototype.hasOwnProperty,R8e=Object.prototype.toString;o(M8e,"resolveYamlOmap");o(I8e,"constructYamlOmap");O8e=new Da("tag:yaml.org,2002:omap",{kind:"sequence",resolve:M8e,construct:I8e}),P8e=Object.prototype.toString;o(B8e,"resolveYamlPairs");o(F8e,"constructYamlPairs");z8e=new Da("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:B8e,construct:F8e}),G8e=Object.prototype.hasOwnProperty;o($8e,"resolveYamlSet");o(V8e,"constructYamlSet");U8e=new Da("tag:yaml.org,2002:set",{kind:"mapping",resolve:$8e,construct:V8e}),xZ=x8e.extend({implicit:[k8e,S8e],explicit:[D8e,O8e,z8e,U8e]}),$h=Object.prototype.hasOwnProperty,P5=1,bZ=2,wZ=3,B5=4,U9=1,H8e=2,eZ=3,W8e=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Y8e=/[\x85\u2028\u2029]/,q8e=/[,\[\]\{\}]/,TZ=/^(?:!|!!|![a-z\-]+!)$/i,kZ=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;o(tZ,"_class");o(yc,"is_EOL");o(_d,"is_WHITE_SPACE");o(Ss,"is_WS_OR_EOL");o(lm,"is_FLOW_INDICATOR");o(X8e,"fromHexCode");o(j8e,"escapedHexLen");o(K8e,"fromDecimalCode");o(rZ,"simpleEscapeSequence");o(Q8e,"charFromCodepoint");EZ=new Array(256),SZ=new Array(256);for(Ad=0;Ad<256;Ad++)EZ[Ad]=rZ(Ad)?1:0,SZ[Ad]=rZ(Ad);o(Z8e,"State$1");o(CZ,"generateError");o(Qt,"throwError");o(F5,"throwWarning");nZ={YAML:o(function(e,r,n){var i,a,s;e.version!==null&&Qt(e,"duplication of %YAML directive"),n.length!==1&&Qt(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&Qt(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&Qt(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&F5(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:o(function(e,r,n){var i,a;n.length!==2&&Qt(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],TZ.test(i)||Qt(e,"ill-formed tag handle (first argument) of the TAG directive"),$h.call(e.tagMap,i)&&Qt(e,'there is a previously declared suffix for "'+i+'" tag handle'),kZ.test(a)||Qt(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{Qt(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};o(Gh,"captureSegment");o(iZ,"mergeMappings");o(cm,"storeMappingPair");o(K9,"readLineBreak");o(Ci,"skipSeparationSpace");o($5,"testDocumentSeparator");o(Q9,"writeFoldedLines");o(J8e,"readPlainScalar");o(e_e,"readSingleQuotedScalar");o(t_e,"readDoubleQuotedScalar");o(r_e,"readFlowCollection");o(n_e,"readBlockScalar");o(aZ,"readBlockSequence");o(i_e,"readBlockMapping");o(a_e,"readTagProperty");o(s_e,"readAnchorProperty");o(o_e,"readAlias");o(um,"composeNode");o(l_e,"readDocument");o(AZ,"loadDocuments");o(c_e,"loadAll$1");o(u_e,"load$1");h_e=c_e,f_e=u_e,_Z={loadAll:h_e,load:f_e},LZ=Object.prototype.toString,DZ=Object.prototype.hasOwnProperty,Z9=65279,d_e=9,wv=10,p_e=13,m_e=32,g_e=33,y_e=34,W9=35,v_e=37,x_e=38,b_e=39,w_e=42,NZ=44,T_e=45,z5=58,k_e=61,E_e=62,S_e=63,C_e=64,RZ=91,MZ=93,A_e=96,IZ=123,__e=124,OZ=125,Na={};Na[0]="\\0";Na[7]="\\a";Na[8]="\\b";Na[9]="\\t";Na[10]="\\n";Na[11]="\\v";Na[12]="\\f";Na[13]="\\r";Na[27]="\\e";Na[34]='\\"';Na[92]="\\\\";Na[133]="\\N";Na[160]="\\_";Na[8232]="\\L";Na[8233]="\\P";L_e=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],D_e=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;o(N_e,"compileStyleMap");o(R_e,"encodeHex");M_e=1,Tv=2;o(I_e,"State");o(sZ,"indentString");o(Y9,"generateNextLine");o(O_e,"testImplicitResolving");o(G5,"isWhitespace");o(kv,"isPrintable");o(oZ,"isNsCharOrWhitespace");o(lZ,"isPlainSafe");o(P_e,"isPlainSafeFirst");o(B_e,"isPlainSafeLast");o(xv,"codePointAt");o(PZ,"needIndentIndicator");BZ=1,q9=2,FZ=3,zZ=4,om=5;o(F_e,"chooseScalarStyle");o(z_e,"writeScalar");o(cZ,"blockHeader");o(uZ,"dropEndingNewline");o(G_e,"foldString");o(hZ,"foldLine");o($_e,"escapeString");o(V_e,"writeFlowSequence");o(fZ,"writeBlockSequence");o(U_e,"writeFlowMapping");o(H_e,"writeBlockMapping");o(dZ,"detectType");o(Cu,"writeNode");o(W_e,"getDuplicateReferences");o(X9,"inspectNode");o(Y_e,"dump$1");q_e=Y_e,X_e={dump:q_e};o(J9,"renamed");hm=gZ,fm=_Z.load,uNt=_Z.loadAll,hNt=X_e.dump,fNt=J9("safeLoad","load"),dNt=J9("safeLoadAll","loadAll"),pNt=J9("safeDump","dump")});function rL(t){let e=[];for(let r of t){let n=Sv.get(r);n?.styles&&(e=[...e,...n.styles??[]].map(i=>i.trim())),n?.textStyles&&(e=[...e,...n.textStyles??[]].map(i=>i.trim()))}return e}var j_e,GZ,dm,Vh,Cs,Sv,Au,nL,iL,U5,tL,Go,H5,W5,Y5,q5,K_e,Q_e,Z_e,J_e,e9e,t9e,r9e,aL,n9e,i9e,a9e,$Z,s9e,o9e,sL,VZ,UZ,l9e,HZ,c9e,u9e,h9e,f9e,d9e,Ev,WZ,YZ,p9e,m9e,qZ,g9e,y9e,v9e,x9e,b9e,XZ,jZ,w9e,T9e,k9e,E9e,S9e,C9e,X5,oL=M(()=>{"use strict";mr();hr();Vt();fr();G9();ht();V5();ki();j_e="flowchart-",GZ=0,dm=de(),Vh=new Map,Cs=[],Sv=new Map,Au=[],nL=new Map,iL=new Map,U5=0,tL=!0,W5=[],Y5=o(t=>je.sanitizeText(t,dm),"sanitizeText"),q5=o(function(t){for(let e of Vh.values())if(e.id===t)return e.domId;return t},"lookUpDomId"),K_e=o(function(t,e,r,n,i,a,s={},l){if(!t||t.trim().length===0)return;let u,h=Vh.get(t);if(h===void 0&&(h={id:t,labelType:"text",domId:j_e+t+"-"+GZ,styles:[],classes:[]},Vh.set(t,h)),GZ++,e!==void 0?(dm=de(),u=Y5(e.text.trim()),h.labelType=e.type,u.startsWith('"')&&u.endsWith('"')&&(u=u.substring(1,u.length-1)),h.text=u):h.text===void 0&&(h.text=t),r!==void 0&&(h.type=r),n?.forEach(function(f){h.styles.push(f)}),i?.forEach(function(f){h.classes.push(f)}),a!==void 0&&(h.dir=a),h.props===void 0?h.props=s:s!==void 0&&Object.assign(h.props,s),l!==void 0){let f;l.includes(` `)?f=l+` `:f=`{ `+l+` }`;let d=fm(f,{schema:hm});if(d.shape){if(d.shape!==d.shape.toLowerCase()||d.shape.includes("_"))throw new Error(`No such shape: ${d.shape}. Shape names should be lowercase.`);if(!ZQ(d.shape))throw new Error(`No such shape: ${d.shape}.`);h.type=d?.shape}d?.label&&(h.text=d?.label),d?.icon&&(h.icon=d?.icon,!d.label?.trim()&&h.text===t&&(h.text="")),d?.form&&(h.form=d?.form),d?.pos&&(h.pos=d?.pos),d?.img&&(h.img=d?.img,!d.label?.trim()&&h.text===t&&(h.text="")),d?.constraint&&(h.constraint=d.constraint),d.w&&(h.assetWidth=Number(d.w)),d.h&&(h.assetHeight=Number(d.h))}},"addVertex"),Q_e=o(function(t,e,r){let a={start:t,end:e,type:void 0,text:"",labelType:"text"};Y.info("abc78 Got edge...",a);let s=r.text;if(s!==void 0&&(a.text=Y5(s.text.trim()),a.text.startsWith('"')&&a.text.endsWith('"')&&(a.text=a.text.substring(1,a.text.length-1)),a.labelType=s.type),r!==void 0&&(a.type=r.type,a.stroke=r.stroke,a.length=r.length>10?10:r.length),Cs.length<(dm.maxEdges??500))Y.info("Pushing edge..."),Cs.push(a);else throw new Error(`Edge limit exceeded. ${Cs.length} edges found, but the limit is ${dm.maxEdges}. Initialize mermaid with maxEdges set to a higher number to allow more edges. You cannot set this config via configuration inside the diagram as it is a secure config. You have to call mermaid.initialize.`)},"addSingleLink"),Z_e=o(function(t,e,r){Y.info("addLink",t,e,r);for(let n of t)for(let i of e)Q_e(n,i,r)},"addLink"),J_e=o(function(t,e){t.forEach(function(r){r==="default"?Cs.defaultInterpolate=e:Cs[r].interpolate=e})},"updateLinkInterpolate"),e9e=o(function(t,e){t.forEach(function(r){if(typeof r=="number"&&r>=Cs.length)throw new Error(`The index ${r} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${Cs.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);r==="default"?Cs.defaultStyle=e:(Cs[r].style=e,(Cs[r]?.style?.length??0)>0&&!Cs[r]?.style?.some(n=>n?.startsWith("fill"))&&Cs[r]?.style?.push("fill:none"))})},"updateLink"),t9e=o(function(t,e){t.split(",").forEach(function(r){let n=Sv.get(r);n===void 0&&(n={id:r,styles:[],textStyles:[]},Sv.set(r,n)),e?.forEach(function(i){if(/color/.exec(i)){let a=i.replace("fill","bgFill");n.textStyles.push(a)}n.styles.push(i)})})},"addClass"),r9e=o(function(t){Go=t,/.*/.exec(Go)&&(Go="LR"),/.*v/.exec(Go)&&(Go="TB"),Go==="TD"&&(Go="TB")},"setDirection"),aL=o(function(t,e){for(let r of t.split(",")){let n=Vh.get(r);n&&n.classes.push(e);let i=nL.get(r);i&&i.classes.push(e)}},"setClass"),n9e=o(function(t,e){if(e!==void 0){e=Y5(e);for(let r of t.split(","))iL.set(H5==="gen-1"?q5(r):r,e)}},"setTooltip"),i9e=o(function(t,e,r){let n=q5(t);if(de().securityLevel!=="loose"||e===void 0)return;let i=[];if(typeof r=="string"){i=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s")),i.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),ze(this).classed("hover",!1)})},"setupToolTips");W5.push(HZ);c9e=o(function(t="gen-1"){Vh=new Map,Sv=new Map,Cs=[],W5=[HZ],Au=[],nL=new Map,U5=0,iL=new Map,tL=!0,H5=t,dm=de(),_r()},"clear"),u9e=o(t=>{H5=t||"gen-2"},"setGen"),h9e=o(function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},"defaultStyle"),f9e=o(function(t,e,r){let n=t.text.trim(),i=r.text;t===r&&/\s/.exec(r.text)&&(n=void 0);function a(h){let f={boolean:{},number:{},string:{}},d=[],p;return{nodeList:h.filter(function(g){let y=typeof g;return g.stmt&&g.stmt==="dir"?(p=g.value,!1):g.trim()===""?!1:y in f?f[y].hasOwnProperty(g)?!1:f[y][g]=!0:d.includes(g)?!1:d.push(g)}),dir:p}}o(a,"uniq");let{nodeList:s,dir:l}=a(e.flat());if(H5==="gen-1")for(let h=0;h2e3)return{result:!1,count:0};if(WZ[Ev]=e,Au[e].id===t)return{result:!0,count:0};let n=0,i=1;for(;n=0){let s=YZ(t,a);if(s.result)return{result:!0,count:i+s.count};i=i+s.count}n=n+1}return{result:!1,count:i}},"indexNodes2"),p9e=o(function(t){return WZ[t]},"getDepthFirstPos"),m9e=o(function(){Ev=-1,Au.length>0&&YZ("none",Au.length-1)},"indexNodes"),qZ=o(function(){return Au},"getSubGraphs"),g9e=o(()=>tL?(tL=!1,!0):!1,"firstGraph"),y9e=o(t=>{let e=t.trim(),r="arrow_open";switch(e[0]){case"<":r="arrow_point",e=e.slice(1);break;case"x":r="arrow_cross",e=e.slice(1);break;case"o":r="arrow_circle",e=e.slice(1);break}let n="normal";return e.includes("=")&&(n="thick"),e.includes(".")&&(n="dotted"),{type:r,stroke:n}},"destructStartLink"),v9e=o((t,e)=>{let r=e.length,n=0;for(let i=0;i{let e=t.trim(),r=e.slice(0,-1),n="arrow_open";switch(e.slice(-1)){case"x":n="arrow_cross",e.startsWith("x")&&(n="double_"+n,r=r.slice(1));break;case">":n="arrow_point",e.startsWith("<")&&(n="double_"+n,r=r.slice(1));break;case"o":n="arrow_circle",e.startsWith("o")&&(n="double_"+n,r=r.slice(1));break}let i="normal",a=r.length-1;r.startsWith("=")&&(i="thick"),r.startsWith("~")&&(i="invisible");let s=v9e(".",r);return s&&(i="dotted",a=s),{type:n,stroke:i,length:a}},"destructEndLink"),b9e=o((t,e)=>{let r=x9e(t),n;if(e){if(n=y9e(e),n.stroke!==r.stroke)return{type:"INVALID",stroke:"INVALID"};if(n.type==="arrow_open")n.type=r.type;else{if(n.type!==r.type)return{type:"INVALID",stroke:"INVALID"};n.type="double_"+n.type}return n.type==="double_arrow"&&(n.type="double_arrow_point"),n.length=r.length,n}return r},"destructLink"),XZ=o((t,e)=>{for(let r of t)if(r.nodes.includes(e))return!0;return!1},"exists"),jZ=o((t,e)=>{let r=[];return t.nodes.forEach((n,i)=>{XZ(e,n)||r.push(t.nodes[i])}),{nodes:r}},"makeUniq"),w9e={firstGraph:g9e},T9e=o(t=>{if(t.img)return"imageSquare";if(t.icon)return t.form==="circle"?"iconCircle":t.form==="square"?"iconSquare":t.form==="rounded"?"iconRounded":"icon";switch(t.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return t.type}},"getTypeFromVertex"),k9e=o((t,e)=>t.find(r=>r.id===e),"findNode"),E9e=o(t=>{let e="none",r="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":r=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":e=t.replace("double_",""),r=e;break}return{arrowTypeStart:e,arrowTypeEnd:r}},"destructEdgeType"),S9e=o((t,e,r,n,i,a)=>{let s=r.get(t.id),l=n.get(t.id)??!1,u=k9e(e,t.id);if(u)u.cssStyles=t.styles,u.cssCompiledStyles=rL(t.classes),u.cssClasses=t.classes.join(" ");else{let h={id:t.id,label:t.text,labelStyle:"",parentId:s,padding:i.flowchart?.padding||8,cssStyles:t.styles,cssCompiledStyles:rL(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),dir:t.dir,domId:t.domId,look:a,link:t.link,linkTarget:t.linkTarget,tooltip:$Z(t.id),icon:t.icon,pos:t.pos,img:t.img,assetWidth:t.assetWidth,assetHeight:t.assetHeight,constraint:t.constraint};l?e.push({...h,isGroup:!0,shape:"rect"}):e.push({...h,isGroup:!1,shape:T9e(t)})}},"addNodeFromVertex");o(rL,"getCompiledStyles");C9e=o(()=>{let t=de(),e=[],r=[],n=qZ(),i=new Map,a=new Map;for(let u=n.length-1;u>=0;u--){let h=n[u];h.nodes.length>0&&a.set(h.id,!0);for(let f of h.nodes)i.set(f,h.id)}for(let u=n.length-1;u>=0;u--){let h=n[u];e.push({id:h.id,label:h.title,labelStyle:"",parentId:i.get(h.id),padding:8,cssCompiledStyles:rL(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:t.look})}VZ().forEach(u=>{S9e(u,e,i,a,t,t.look||"classic")});let l=UZ();return l.forEach((u,h)=>{let{arrowTypeStart:f,arrowTypeEnd:d}=E9e(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);let m={id:p5(u.start,u.end,{counter:h,prefix:"L"}),start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:u?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:u?.stroke==="invisible"?"none":f,arrowTypeEnd:u?.stroke==="invisible"?"none":d,arrowheadStyle:"fill: #333",labelStyle:p,style:p,pattern:u.stroke,look:t.look};r.push(m)}),{nodes:e,edges:r,other:{},config:t}},"getData"),X5={defaultConfig:o(()=>S4.flowchart,"defaultConfig"),setAccTitle:Rr,getAccTitle:Pr,getAccDescription:Fr,getData:C9e,setAccDescription:Br,addVertex:K_e,lookUpDomId:q5,addLink:Z_e,updateLinkInterpolate:J_e,updateLink:e9e,addClass:t9e,setDirection:r9e,setClass:aL,setTooltip:n9e,getTooltip:$Z,setClickEvent:s9e,setLink:a9e,bindFunctions:o9e,getDirection:sL,getVertices:VZ,getEdges:UZ,getClasses:l9e,clear:c9e,setGen:u9e,defaultStyle:h9e,addSubGraph:f9e,getDepthFirstPos:p9e,indexNodes:m9e,getSubGraphs:qZ,destructLink:b9e,lex:w9e,exists:XZ,makeUniq:jZ,setDiagramTitle:ln,getDiagramTitle:Jr}});var pm,j5=M(()=>{"use strict";mr();pm=o((t,e)=>{let r;return e==="sandbox"&&(r=ze("#i"+t)),(e==="sandbox"?ze(r.nodes()[0].contentDocument.body):ze("body")).select(`[id="${t}"]`)},"getDiagramElement")});var _u,Cv=M(()=>{"use strict";_u=o(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins")});var KZ,A9e,_9e,L9e,D9e,N9e,R9e,QZ,mm,ZZ,K5=M(()=>{"use strict";Vt();fr();ht();Cv();mr();jt();Dl();w9();I5();zh();Xt();KZ=o(async(t,e)=>{Y.info("Creating subgraph rect for ",e.id,e);let r=de(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=et(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=xr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await Si(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0}),y=g.getBBox();if(xr(r.flowchart.htmlLabels)){let L=g.children[0],C=ze(g);y=L.getBoundingClientRect(),C.attr("width",y.width),C.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,w=e.y-x/2;Y.trace("Data ",e,JSON.stringify(e));let _;if(e.look==="handDrawn"){let L=Ke.svg(d),C=Ze(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),A=L.path(La(b,w,v,x,0),C);_=d.insert(()=>(Y.debug("Rough node insert CXC",A),A),":first-child"),_.select("path:nth-child(2)").attr("style",h.join(";")),_.select("path").attr("style",f.join(";").replace("fill","stroke"))}else _=d.insert("rect",":first-child"),_.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",w).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:T}=_u(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+T})`),l){let L=m.select("span");L&&L.attr("style",l)}let E=_.node().getBBox();return e.offsetX=0,e.width=E.width,e.height=E.height,e.offsetY=y.height-e.padding/2,e.intersect=function(L){return Oh(e,L)},{cluster:d,labelBBox:y}},"rect"),A9e=o((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(l){return Oh(e,l)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),_9e=o(async(t,e)=>{let r=de(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:l,nodeBorder:u}=n,h=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),f=h.insert("g",":first-child"),d=h.insert("g").attr("class","cluster-label"),p=h.append("rect"),m=d.node().appendChild(await gc(e.label,e.labelStyle,void 0,!0)),g=m.getBBox();if(xr(r.flowchart.htmlLabels)){let A=m.children[0],I=ze(m);g=A.getBoundingClientRect(),I.attr("width",g.width),I.attr("height",g.height)}let y=0*e.padding,v=y/2,x=(e.width<=g.width+e.padding?g.width+e.padding:e.width)+y;e.width<=g.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;let b=e.height+y,w=e.height+y-g.height-6,_=e.x-x/2,T=e.y-b/2;e.width=x;let E=e.y-e.height/2-v+g.height+2,L;if(e.look==="handDrawn"){let A=e.cssClasses.includes("statediagram-cluster-alt"),I=Ke.svg(h),D=e.rx||e.ry?I.path(La(_,T,x,b,10),{roughness:.7,fill:l,fillStyle:"solid",stroke:u,seed:i}):I.rectangle(_,T,x,b,{seed:i});L=h.insert(()=>D,":first-child");let k=I.rectangle(_,E,x,w,{fill:A?a:s,fillStyle:A?"hachure":"solid",stroke:u,seed:i});L=h.insert(()=>D,":first-child"),p=h.insert(()=>k)}else L=f.insert("rect",":first-child"),L.attr("class","outer").attr("x",_).attr("y",T).attr("width",x).attr("height",b).attr("data-look",e.look),p.attr("class","inner").attr("x",_).attr("y",E).attr("width",x).attr("height",w);d.attr("transform",`translate(${e.x-g.width/2}, ${T+1-(xr(r.flowchart.htmlLabels)?0:3)})`);let C=L.node().getBBox();return e.height=C.height,e.offsetX=0,e.offsetY=g.height-e.padding/2,e.labelBBox=g,e.intersect=function(A){return Oh(e,A)},{cluster:h,labelBBox:g}},"roundedWithTitle"),L9e=o(async(t,e)=>{Y.info("Creating subgraph rect for ",e.id,e);let r=de(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=et(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=xr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await Si(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0,width:e.width}),y=g.getBBox();if(xr(r.flowchart.htmlLabels)){let L=g.children[0],C=ze(g);y=L.getBoundingClientRect(),C.attr("width",y.width),C.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,w=e.y-x/2;Y.trace("Data ",e,JSON.stringify(e));let _;if(e.look==="handDrawn"){let L=Ke.svg(d),C=Ze(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),A=L.path(La(b,w,v,x,e.rx),C);_=d.insert(()=>(Y.debug("Rough node insert CXC",A),A),":first-child"),_.select("path:nth-child(2)").attr("style",h.join(";")),_.select("path").attr("style",f.join(";").replace("fill","stroke"))}else _=d.insert("rect",":first-child"),_.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",w).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:T}=_u(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+T})`),l){let L=m.select("span");L&&L.attr("style",l)}let E=_.node().getBBox();return e.offsetX=0,e.width=E.width,e.height=E.height,e.offsetY=y.height-e.padding/2,e.intersect=function(L){return Oh(e,L)},{cluster:d,labelBBox:y}},"kanbanSection"),D9e=o((t,e)=>{let r=de(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),l=s.insert("g",":first-child"),u=0*e.padding,h=e.width+u;e.diff=-e.padding;let f=e.height+u,d=e.x-h/2,p=e.y-f/2;e.width=h;let m;if(e.look==="handDrawn"){let v=Ke.svg(s).rectangle(d,p,h,f,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});m=s.insert(()=>v,":first-child")}else m=l.insert("rect",":first-child"),m.attr("class","divider").attr("x",d).attr("y",p).attr("width",h).attr("height",f).attr("data-look",e.look);let g=m.node().getBBox();return e.height=g.height,e.offsetX=0,e.offsetY=0,e.intersect=function(y){return Oh(e,y)},{cluster:s,labelBBox:{}}},"divider"),N9e=KZ,R9e={rect:KZ,squareRect:N9e,roundedWithTitle:_9e,noteGroup:A9e,divider:D9e,kanbanSection:L9e},QZ=new Map,mm=o(async(t,e)=>{let r=e.shape||"rect",n=await R9e[r](t,e);return QZ.set(e.id,n),n},"insertCluster"),ZZ=o(()=>{QZ=new Map},"clear")});function Q5(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=Un(t),e=Un(e);let[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,l=a-n;return{angle:Math.atan(l/s),deltaX:s,deltaY:l}}var $o,Un,Z5,lL=M(()=>{"use strict";$o={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:4};o(Q5,"calculateDeltaAndAngle");Un=o(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),Z5=o(t=>({x:o(function(e,r,n){let i=0,a=Un(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn($o,t.arrowTypeEnd)){let{angle:m,deltaX:g}=Q5(n[n.length-1],n[n.length-2]);i=$o[t.arrowTypeEnd]*Math.cos(m)*(g>=0?1:-1)}let s=Math.abs(Un(e).x-Un(n[n.length-1]).x),l=Math.abs(Un(e).y-Un(n[n.length-1]).y),u=Math.abs(Un(e).x-Un(n[0]).x),h=Math.abs(Un(e).y-Un(n[0]).y),f=$o[t.arrowTypeStart],d=$o[t.arrowTypeEnd],p=1;if(s0&&l0&&h=0?1:-1)}else if(r===n.length-1&&Object.hasOwn($o,t.arrowTypeEnd)){let{angle:m,deltaY:g}=Q5(n[n.length-1],n[n.length-2]);i=$o[t.arrowTypeEnd]*Math.abs(Math.sin(m))*(g>=0?1:-1)}let s=Math.abs(Un(e).y-Un(n[n.length-1]).y),l=Math.abs(Un(e).x-Un(n[n.length-1]).x),u=Math.abs(Un(e).y-Un(n[0]).y),h=Math.abs(Un(e).x-Un(n[0]).x),f=$o[t.arrowTypeStart],d=$o[t.arrowTypeEnd],p=1;if(s0&&l0&&h{"use strict";ht();eJ=o((t,e,r,n,i)=>{e.arrowTypeStart&&JZ(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&JZ(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),M9e={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},JZ=o((t,e,r,n,i,a)=>{let s=M9e[r];if(!s){Y.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${l})`)},"addEdgeMarker")});function J5(t,e){de().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}function P9e(t){let e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}var ew,ua,iJ,Av,tw,rw,I9e,O9e,rJ,nJ,B9e,nw,cL=M(()=>{"use strict";Vt();fr();ht();Dl();hr();lL();Cv();mr();jt();I5();tJ();ew=new Map,ua=new Map,iJ=o(()=>{ew.clear(),ua.clear()},"clear"),Av=o(t=>t?t.reduce((r,n)=>r+";"+n,""):"","getLabelStyles"),tw=o(async(t,e)=>{let r=xr(de().flowchart.htmlLabels),n=await Si(t,e.label,{style:Av(e.labelStyle),useHtmlLabels:r,addSvgBackground:!0,isNode:!1});Y.info("abc82",e,e.labelType);let i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label");a.node().appendChild(n);let s=n.getBBox();if(r){let u=n.children[0],h=ze(n);s=u.getBoundingClientRect(),h.attr("width",s.width),h.attr("height",s.height)}a.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),ew.set(e.id,i),e.width=s.width,e.height=s.height;let l;if(e.startLabelLeft){let u=await gc(e.startLabelLeft,Av(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),ua.get(e.id)||ua.set(e.id,{}),ua.get(e.id).startLeft=h,J5(l,e.startLabelLeft)}if(e.startLabelRight){let u=await gc(e.startLabelRight,Av(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=h.node().appendChild(u),f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),ua.get(e.id)||ua.set(e.id,{}),ua.get(e.id).startRight=h,J5(l,e.startLabelRight)}if(e.endLabelLeft){let u=await gc(e.endLabelLeft,Av(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),h.node().appendChild(u),ua.get(e.id)||ua.set(e.id,{}),ua.get(e.id).endLeft=h,J5(l,e.endLabelLeft)}if(e.endLabelRight){let u=await gc(e.endLabelRight,Av(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),h.node().appendChild(u),ua.get(e.id)||ua.set(e.id,{}),ua.get(e.id).endRight=h,J5(l,e.endLabelRight)}return n},"insertEdgeLabel");o(J5,"setTerminalWidth");rw=o((t,e)=>{Y.debug("Moving label abc88 ",t.id,t.label,ew.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=de(),{subGraphTitleTotalMargin:i}=_u(n);if(t.label){let a=ew.get(t.id),s=t.x,l=t.y;if(r){let u=Ut.calcLabelPosition(r);Y.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=ua.get(t.id).startLeft,s=t.x,l=t.y;if(r){let u=Ut.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=ua.get(t.id).startRight,s=t.x,l=t.y;if(r){let u=Ut.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=ua.get(t.id).endLeft,s=t.x,l=t.y;if(r){let u=Ut.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=ua.get(t.id).endRight,s=t.x,l=t.y;if(r){let u=Ut.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),I9e=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),O9e=o((t,e,r)=>{Y.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{Y.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(Y.info("abc88 checking point",a,e),!I9e(e,a)&&!i){let s=O9e(e,n,a);Y.debug("abc88 inside",a,n,s),Y.debug("abc88 intersection",s,e);let l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)?Y.warn("abc88 no intersect",s,r):r.push(s),i=!0}else Y.warn("abc88 outside",a,n),n=a,i||r.push(a)}),Y.debug("returning points",r),r},"cutPathAtIntersect");o(P9e,"extractCornerPoints");nJ=o(function(t,e,r){let n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),B9e=o(function(t){let{cornerPointPositions:e}=P9e(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){Y.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));let m=5;s.x===l.x?p={x:h<0?l.x-m+d:l.x+m-d,y:f<0?l.y-d:l.y+d}:p={x:h<0?l.x-d:l.x+d,y:f<0?l.y-m+d:l.y+m-d}}else Y.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(p,u)}else r.push(t[n]);return r},"fixCorners"),nw=o(function(t,e,r,n,i,a,s){let{handDrawnSeed:l}=de(),u=e.points,h=!1,f=i;var d=a;d.intersect&&f.intersect&&(u=u.slice(1,e.points.length-1),u.unshift(f.intersect(u[0])),Y.debug("Last point APA12",e.start,"-->",e.end,u[u.length-1],d,d.intersect(u[u.length-1])),u.push(d.intersect(u[u.length-1]))),e.toCluster&&(Y.info("to cluster abc88",r.get(e.toCluster)),u=rJ(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(Y.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=rJ(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let p=u.filter(L=>!Number.isNaN(L.y));p=B9e(p);let m=Do;e.curve&&(m=e.curve);let{x:g,y}=Z5(e),v=Ka().x(g).y(y).curve(m),x;switch(e.thickness){case"normal":x="edge-thickness-normal";break;case"thick":x="edge-thickness-thick";break;case"invisible":x="edge-thickness-invisible";break;default:x="edge-thickness-normal"}switch(e.pattern){case"solid":x+=" edge-pattern-solid";break;case"dotted":x+=" edge-pattern-dotted";break;case"dashed":x+=" edge-pattern-dashed";break;default:x+=" edge-pattern-solid"}let b,w=v(p),_=Array.isArray(e.style)?e.style:[e.style];if(e.look==="handDrawn"){let L=Ke.svg(t);Object.assign([],p);let C=L.path(w,{roughness:.3,seed:l});x+=" transition",b=ze(C).select("path").attr("id",e.id).attr("class"," "+x+(e.classes?" "+e.classes:"")).attr("style",_?_.reduce((I,D)=>I+";"+D,""):"");let A=b.attr("d");b.attr("d",A),t.node().appendChild(b.node())}else b=t.append("path").attr("d",w).attr("id",e.id).attr("class"," "+x+(e.classes?" "+e.classes:"")).attr("style",_?_.reduce((L,C)=>L+";"+C,""):"");let T="";(de().flowchart.arrowMarkerAbsolute||de().state.arrowMarkerAbsolute)&&(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,T=T.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),Y.info("arrowTypeStart",e.arrowTypeStart),Y.info("arrowTypeEnd",e.arrowTypeEnd),eJ(b,e,T,s,n);let E={};return h&&(E.updatedPath=u),E.originalPath=e.points,E},"insertEdge")});var F9e,z9e,G9e,$9e,V9e,U9e,H9e,W9e,Y9e,q9e,X9e,iw,uL=M(()=>{"use strict";ht();F9e=o((t,e,r,n)=>{e.forEach(i=>{X9e[i](t,r,n)})},"insertMarkers"),z9e=o((t,e,r)=>{Y.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),G9e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),$9e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),V9e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),U9e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),H9e=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),W9e=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),Y9e=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),q9e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),X9e={extension:z9e,composition:G9e,aggregation:$9e,dependency:V9e,lollipop:U9e,point:H9e,circle:W9e,cross:Y9e,barb:q9e},iw=F9e});async function gm(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");let a=e.shape?z9[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),aw.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}var aw,aJ,sJ,_v,sw=M(()=>{"use strict";ht();G9();aw=new Map;o(gm,"insertNode");aJ=o((t,e)=>{aw.set(e.id,t)},"setNodeElem"),sJ=o(()=>{aw.clear()},"clear"),_v=o(t=>{let e=aw.get(t.id);Y.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});var oJ,lJ=M(()=>{"use strict";Ua();fr();ht();K5();cL();uL();sw();Ft();hr();oJ={common:je,getConfig:Sr,insertCluster:mm,insertEdge:nw,insertEdgeLabel:tw,insertMarkers:iw,insertNode:gm,interpolateToCurve:Q_,labelHelper:ot,log:Y,positionEdgeLabel:rw}});function K9e(t){return typeof t=="symbol"||Zn(t)&&ca(t)==j9e}var j9e,ro,Ld=M(()=>{"use strict";xu();Mo();j9e="[object Symbol]";o(K9e,"isSymbol");ro=K9e});function Q9e(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r{"use strict";o(Q9e,"arrayMap");As=Q9e});function hJ(t){if(typeof t=="string")return t;if(Mt(t))return As(t,hJ)+"";if(ro(t))return uJ?uJ.call(t):"";var e=t+"";return e=="0"&&1/t==-Z9e?"-0":e}var Z9e,cJ,uJ,fJ,dJ=M(()=>{"use strict";gd();Dd();Vn();Ld();Z9e=1/0,cJ=ea?ea.prototype:void 0,uJ=cJ?cJ.toString:void 0;o(hJ,"baseToString");fJ=hJ});function eLe(t){for(var e=t.length;e--&&J9e.test(t.charAt(e)););return e}var J9e,pJ,mJ=M(()=>{"use strict";J9e=/\s/;o(eLe,"trimmedEndIndex");pJ=eLe});function rLe(t){return t&&t.slice(0,pJ(t)+1).replace(tLe,"")}var tLe,gJ,yJ=M(()=>{"use strict";mJ();tLe=/^\s+/;o(rLe,"baseTrim");gJ=rLe});function oLe(t){if(typeof t=="number")return t;if(ro(t))return vJ;if(yn(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=yn(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=gJ(t);var r=iLe.test(t);return r||aLe.test(t)?sLe(t.slice(2),r?2:8):nLe.test(t)?vJ:+t}var vJ,nLe,iLe,aLe,sLe,xJ,bJ=M(()=>{"use strict";yJ();Qs();Ld();vJ=NaN,nLe=/^[-+]0x[0-9a-f]+$/i,iLe=/^0b[01]+$/i,aLe=/^0o[0-7]+$/i,sLe=parseInt;o(oLe,"toNumber");xJ=oLe});function cLe(t){if(!t)return t===0?t:0;if(t=xJ(t),t===wJ||t===-wJ){var e=t<0?-1:1;return e*lLe}return t===t?t:0}var wJ,lLe,ym,hL=M(()=>{"use strict";bJ();wJ=1/0,lLe=17976931348623157e292;o(cLe,"toFinite");ym=cLe});function uLe(t){var e=ym(t),r=e%1;return e===e?r?e-r:e:0}var vc,vm=M(()=>{"use strict";hL();o(uLe,"toInteger");vc=uLe});var hLe,ow,TJ=M(()=>{"use strict";Ch();No();hLe=vs(ai,"WeakMap"),ow=hLe});function fLe(){}var Jn,fL=M(()=>{"use strict";o(fLe,"noop");Jn=fLe});function dLe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(dLe,"arrayEach");lw=dLe});function pLe(t,e,r,n){for(var i=t.length,a=r+(n?1:-1);n?a--:++a{"use strict";o(pLe,"baseFindIndex");cw=pLe});function mLe(t){return t!==t}var kJ,EJ=M(()=>{"use strict";o(mLe,"baseIsNaN");kJ=mLe});function gLe(t,e,r){for(var n=r-1,i=t.length;++n{"use strict";o(gLe,"strictIndexOf");SJ=gLe});function yLe(t,e,r){return e===e?SJ(t,e,r):cw(t,kJ,r)}var xm,uw=M(()=>{"use strict";pL();EJ();CJ();o(yLe,"baseIndexOf");xm=yLe});function vLe(t,e){var r=t==null?0:t.length;return!!r&&xm(t,e,0)>-1}var hw,mL=M(()=>{"use strict";uw();o(vLe,"arrayIncludes");hw=vLe});var xLe,AJ,_J=M(()=>{"use strict";F_();xLe=n5(Object.keys,Object),AJ=xLe});function TLe(t){if(!fc(t))return AJ(t);var e=[];for(var r in Object(t))wLe.call(t,r)&&r!="constructor"&&e.push(r);return e}var bLe,wLe,bm,fw=M(()=>{"use strict";Kp();_J();bLe=Object.prototype,wLe=bLe.hasOwnProperty;o(TLe,"baseKeys");bm=TLe});function kLe(t){return si(t)?l5(t):bm(t)}var zr,xc=M(()=>{"use strict";U_();fw();Io();o(kLe,"keys");zr=kLe});var ELe,SLe,CLe,ha,LJ=M(()=>{"use strict";em();wd();q_();Io();Kp();xc();ELe=Object.prototype,SLe=ELe.hasOwnProperty,CLe=h5(function(t,e){if(fc(e)||si(e)){Bo(e,zr(e),t);return}for(var r in e)SLe.call(e,r)&&dc(t,r,e[r])}),ha=CLe});function LLe(t,e){if(Mt(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||ro(t)?!0:_Le.test(t)||!ALe.test(t)||e!=null&&t in Object(e)}var ALe,_Le,wm,dw=M(()=>{"use strict";Vn();Ld();ALe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,_Le=/^\w*$/;o(LLe,"isKey");wm=LLe});function NLe(t){var e=Vp(t,function(n){return r.size===DLe&&r.clear(),n}),r=e.cache;return e}var DLe,DJ,NJ=M(()=>{"use strict";N_();DLe=500;o(NLe,"memoizeCapped");DJ=NLe});var RLe,MLe,ILe,RJ,MJ=M(()=>{"use strict";NJ();RLe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,MLe=/\\(\\)?/g,ILe=DJ(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(RLe,function(r,n,i,a){e.push(i?a.replace(MLe,"$1"):n||r)}),e}),RJ=ILe});function OLe(t){return t==null?"":fJ(t)}var pw,gL=M(()=>{"use strict";dJ();o(OLe,"toString");pw=OLe});function PLe(t,e){return Mt(t)?t:wm(t,e)?[t]:RJ(pw(t))}var Uh,Lv=M(()=>{"use strict";Vn();dw();MJ();gL();o(PLe,"castPath");Uh=PLe});function FLe(t){if(typeof t=="string"||ro(t))return t;var e=t+"";return e=="0"&&1/t==-BLe?"-0":e}var BLe,bc,Tm=M(()=>{"use strict";Ld();BLe=1/0;o(FLe,"toKey");bc=FLe});function zLe(t,e){e=Uh(e,t);for(var r=0,n=e.length;t!=null&&r{"use strict";Lv();Tm();o(zLe,"baseGet");Hh=zLe});function GLe(t,e,r){var n=t==null?void 0:Hh(t,e);return n===void 0?r:n}var IJ,OJ=M(()=>{"use strict";Dv();o(GLe,"get");IJ=GLe});function $Le(t,e){for(var r=-1,n=e.length,i=t.length;++r{"use strict";o($Le,"arrayPush");km=$Le});function VLe(t){return Mt(t)||Al(t)||!!(PJ&&t&&t[PJ])}var PJ,BJ,FJ=M(()=>{"use strict";gd();Qp();Vn();PJ=ea?ea.isConcatSpreadable:void 0;o(VLe,"isFlattenable");BJ=VLe});function zJ(t,e,r,n,i){var a=-1,s=t.length;for(r||(r=BJ),i||(i=[]);++a0&&r(l)?e>1?zJ(l,e-1,r,n,i):km(i,l):n||(i[i.length]=l)}return i}var wc,Em=M(()=>{"use strict";mw();FJ();o(zJ,"baseFlatten");wc=zJ});function ULe(t){var e=t==null?0:t.length;return e?wc(t,1):[]}var Wr,gw=M(()=>{"use strict";Em();o(ULe,"flatten");Wr=ULe});function HLe(t){return u5(c5(t,void 0,Wr),t+"")}var GJ,$J=M(()=>{"use strict";gw();H_();Y_();o(HLe,"flatRest");GJ=HLe});function WLe(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(i);++n{"use strict";o(WLe,"baseSlice");yw=WLe});function eDe(t){return JLe.test(t)}var YLe,qLe,XLe,jLe,KLe,QLe,ZLe,JLe,VJ,UJ=M(()=>{"use strict";YLe="\\ud800-\\udfff",qLe="\\u0300-\\u036f",XLe="\\ufe20-\\ufe2f",jLe="\\u20d0-\\u20ff",KLe=qLe+XLe+jLe,QLe="\\ufe0e\\ufe0f",ZLe="\\u200d",JLe=RegExp("["+ZLe+YLe+KLe+QLe+"]");o(eDe,"hasUnicode");VJ=eDe});function tDe(t,e,r,n){var i=-1,a=t==null?0:t.length;for(n&&a&&(r=t[++i]);++i{"use strict";o(tDe,"arrayReduce");HJ=tDe});function rDe(t,e){return t&&Bo(e,zr(e),t)}var YJ,qJ=M(()=>{"use strict";wd();xc();o(rDe,"baseAssign");YJ=rDe});function nDe(t,e){return t&&Bo(e,xs(e),t)}var XJ,jJ=M(()=>{"use strict";wd();Mh();o(nDe,"baseAssignIn");XJ=nDe});function iDe(t,e){for(var r=-1,n=t==null?0:t.length,i=0,a=[];++r{"use strict";o(iDe,"arrayFilter");Sm=iDe});function aDe(){return[]}var xw,vL=M(()=>{"use strict";o(aDe,"stubArray");xw=aDe});var sDe,oDe,KJ,lDe,Cm,bw=M(()=>{"use strict";vw();vL();sDe=Object.prototype,oDe=sDe.propertyIsEnumerable,KJ=Object.getOwnPropertySymbols,lDe=KJ?function(t){return t==null?[]:(t=Object(t),Sm(KJ(t),function(e){return oDe.call(t,e)}))}:xw,Cm=lDe});function cDe(t,e){return Bo(t,Cm(t),e)}var QJ,ZJ=M(()=>{"use strict";wd();bw();o(cDe,"copySymbols");QJ=cDe});var uDe,hDe,ww,xL=M(()=>{"use strict";mw();i5();bw();vL();uDe=Object.getOwnPropertySymbols,hDe=uDe?function(t){for(var e=[];t;)km(e,Cm(t)),t=jp(t);return e}:xw,ww=hDe});function fDe(t,e){return Bo(t,ww(t),e)}var JJ,eee=M(()=>{"use strict";wd();xL();o(fDe,"copySymbolsIn");JJ=fDe});function dDe(t,e,r){var n=e(t);return Mt(t)?n:km(n,r(t))}var Tw,bL=M(()=>{"use strict";mw();Vn();o(dDe,"baseGetAllKeys");Tw=dDe});function pDe(t){return Tw(t,zr,Cm)}var Nv,wL=M(()=>{"use strict";bL();bw();xc();o(pDe,"getAllKeys");Nv=pDe});function mDe(t){return Tw(t,xs,ww)}var kw,TL=M(()=>{"use strict";bL();xL();Mh();o(mDe,"getAllKeysIn");kw=mDe});var gDe,Ew,tee=M(()=>{"use strict";Ch();No();gDe=vs(ai,"DataView"),Ew=gDe});var yDe,Sw,ree=M(()=>{"use strict";Ch();No();yDe=vs(ai,"Promise"),Sw=yDe});var vDe,Wh,kL=M(()=>{"use strict";Ch();No();vDe=vs(ai,"Set"),Wh=vDe});var nee,xDe,iee,aee,see,oee,bDe,wDe,TDe,kDe,EDe,Nd,no,Rd=M(()=>{"use strict";tee();K3();ree();kL();TJ();xu();__();nee="[object Map]",xDe="[object Object]",iee="[object Promise]",aee="[object Set]",see="[object WeakMap]",oee="[object DataView]",bDe=bu(Ew),wDe=bu(Lh),TDe=bu(Sw),kDe=bu(Wh),EDe=bu(ow),Nd=ca;(Ew&&Nd(new Ew(new ArrayBuffer(1)))!=oee||Lh&&Nd(new Lh)!=nee||Sw&&Nd(Sw.resolve())!=iee||Wh&&Nd(new Wh)!=aee||ow&&Nd(new ow)!=see)&&(Nd=o(function(t){var e=ca(t),r=e==xDe?t.constructor:void 0,n=r?bu(r):"";if(n)switch(n){case bDe:return oee;case wDe:return nee;case TDe:return iee;case kDe:return aee;case EDe:return see}return e},"getTag"));no=Nd});function ADe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&CDe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var SDe,CDe,lee,cee=M(()=>{"use strict";SDe=Object.prototype,CDe=SDe.hasOwnProperty;o(ADe,"initCloneArray");lee=ADe});function _De(t,e){var r=e?Xp(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var uee,hee=M(()=>{"use strict";e5();o(_De,"cloneDataView");uee=_De});function DDe(t){var e=new t.constructor(t.source,LDe.exec(t));return e.lastIndex=t.lastIndex,e}var LDe,fee,dee=M(()=>{"use strict";LDe=/\w*$/;o(DDe,"cloneRegExp");fee=DDe});function NDe(t){return mee?Object(mee.call(t)):{}}var pee,mee,gee,yee=M(()=>{"use strict";gd();pee=ea?ea.prototype:void 0,mee=pee?pee.valueOf:void 0;o(NDe,"cloneSymbol");gee=NDe});function QDe(t,e,r){var n=t.constructor;switch(e){case GDe:return Xp(t);case RDe:case MDe:return new n(+t);case $De:return uee(t,r);case VDe:case UDe:case HDe:case WDe:case YDe:case qDe:case XDe:case jDe:case KDe:return t5(t,r);case IDe:return new n;case ODe:case FDe:return new n(t);case PDe:return fee(t);case BDe:return new n;case zDe:return gee(t)}}var RDe,MDe,IDe,ODe,PDe,BDe,FDe,zDe,GDe,$De,VDe,UDe,HDe,WDe,YDe,qDe,XDe,jDe,KDe,vee,xee=M(()=>{"use strict";e5();hee();dee();yee();P_();RDe="[object Boolean]",MDe="[object Date]",IDe="[object Map]",ODe="[object Number]",PDe="[object RegExp]",BDe="[object Set]",FDe="[object String]",zDe="[object Symbol]",GDe="[object ArrayBuffer]",$De="[object DataView]",VDe="[object Float32Array]",UDe="[object Float64Array]",HDe="[object Int8Array]",WDe="[object Int16Array]",YDe="[object Int32Array]",qDe="[object Uint8Array]",XDe="[object Uint8ClampedArray]",jDe="[object Uint16Array]",KDe="[object Uint32Array]";o(QDe,"initCloneByTag");vee=QDe});function JDe(t){return Zn(t)&&no(t)==ZDe}var ZDe,bee,wee=M(()=>{"use strict";Rd();Mo();ZDe="[object Map]";o(JDe,"baseIsMap");bee=JDe});var Tee,eNe,kee,Eee=M(()=>{"use strict";wee();bd();nv();Tee=Po&&Po.isMap,eNe=Tee?Oo(Tee):bee,kee=eNe});function rNe(t){return Zn(t)&&no(t)==tNe}var tNe,See,Cee=M(()=>{"use strict";Rd();Mo();tNe="[object Set]";o(rNe,"baseIsSet");See=rNe});var Aee,nNe,_ee,Lee=M(()=>{"use strict";Cee();bd();nv();Aee=Po&&Po.isSet,nNe=Aee?Oo(Aee):See,_ee=nNe});function Cw(t,e,r,n,i,a){var s,l=e&iNe,u=e&aNe,h=e&sNe;if(r&&(s=i?r(t,n,i,a):r(t)),s!==void 0)return s;if(!yn(t))return t;var f=Mt(t);if(f){if(s=lee(t),!l)return r5(t,s)}else{var d=no(t),p=d==Nee||d==hNe;if(_l(t))return J3(t,l);if(d==Ree||d==Dee||p&&!i){if(s=u||p?{}:a5(t),!l)return u?JJ(t,XJ(s,t)):QJ(t,YJ(s,t))}else{if(!Sn[d])return i?t:{};s=vee(t,d,l)}}a||(a=new uc);var m=a.get(t);if(m)return m;a.set(t,s),_ee(t)?t.forEach(function(v){s.add(Cw(v,e,r,v,t,a))}):kee(t)&&t.forEach(function(v,x){s.set(x,Cw(v,e,r,x,t,a))});var g=h?u?kw:Nv:u?xs:zr,y=f?void 0:g(t);return lw(y||t,function(v,x){y&&(x=v,v=t[x]),dc(s,x,Cw(v,e,r,x,t,a))}),s}var iNe,aNe,sNe,Dee,oNe,lNe,cNe,uNe,Nee,hNe,fNe,dNe,Ree,pNe,mNe,gNe,yNe,vNe,xNe,bNe,wNe,TNe,kNe,ENe,SNe,CNe,ANe,_Ne,LNe,Sn,Aw,EL=M(()=>{"use strict";ev();dL();em();qJ();jJ();I_();B_();ZJ();eee();wL();TL();Rd();cee();xee();z_();Vn();Jp();Eee();Qs();Lee();xc();Mh();iNe=1,aNe=2,sNe=4,Dee="[object Arguments]",oNe="[object Array]",lNe="[object Boolean]",cNe="[object Date]",uNe="[object Error]",Nee="[object Function]",hNe="[object GeneratorFunction]",fNe="[object Map]",dNe="[object Number]",Ree="[object Object]",pNe="[object RegExp]",mNe="[object Set]",gNe="[object String]",yNe="[object Symbol]",vNe="[object WeakMap]",xNe="[object ArrayBuffer]",bNe="[object DataView]",wNe="[object Float32Array]",TNe="[object Float64Array]",kNe="[object Int8Array]",ENe="[object Int16Array]",SNe="[object Int32Array]",CNe="[object Uint8Array]",ANe="[object Uint8ClampedArray]",_Ne="[object Uint16Array]",LNe="[object Uint32Array]",Sn={};Sn[Dee]=Sn[oNe]=Sn[xNe]=Sn[bNe]=Sn[lNe]=Sn[cNe]=Sn[wNe]=Sn[TNe]=Sn[kNe]=Sn[ENe]=Sn[SNe]=Sn[fNe]=Sn[dNe]=Sn[Ree]=Sn[pNe]=Sn[mNe]=Sn[gNe]=Sn[yNe]=Sn[CNe]=Sn[ANe]=Sn[_Ne]=Sn[LNe]=!0;Sn[uNe]=Sn[Nee]=Sn[vNe]=!1;o(Cw,"baseClone");Aw=Cw});function NNe(t){return Aw(t,DNe)}var DNe,rn,SL=M(()=>{"use strict";EL();DNe=4;o(NNe,"clone");rn=NNe});function INe(t){return Aw(t,RNe|MNe)}var RNe,MNe,CL,Mee=M(()=>{"use strict";EL();RNe=1,MNe=4;o(INe,"cloneDeep");CL=INe});function ONe(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e{"use strict";o(ONe,"compact");Tc=ONe});function BNe(t){return this.__data__.set(t,PNe),this}var PNe,Oee,Pee=M(()=>{"use strict";PNe="__lodash_hash_undefined__";o(BNe,"setCacheAdd");Oee=BNe});function FNe(t){return this.__data__.has(t)}var Bee,Fee=M(()=>{"use strict";o(FNe,"setCacheHas");Bee=FNe});function _w(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new vd;++e{"use strict";Q3();Pee();Fee();o(_w,"SetCache");_w.prototype.add=_w.prototype.push=Oee;_w.prototype.has=Bee;Am=_w});function zNe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(zNe,"arraySome");Dw=zNe});function GNe(t,e){return t.has(e)}var _m,Nw=M(()=>{"use strict";o(GNe,"cacheHas");_m=GNe});function UNe(t,e,r,n,i,a){var s=r&$Ne,l=t.length,u=e.length;if(l!=u&&!(s&&u>l))return!1;var h=a.get(t),f=a.get(e);if(h&&f)return h==e&&f==t;var d=-1,p=!0,m=r&VNe?new Am:void 0;for(a.set(t,e),a.set(e,t);++d{"use strict";Lw();AL();Nw();$Ne=1,VNe=2;o(UNe,"equalArrays");Rw=UNe});function HNe(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var zee,Gee=M(()=>{"use strict";o(HNe,"mapToArray");zee=HNe});function WNe(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var Lm,Mw=M(()=>{"use strict";o(WNe,"setToArray");Lm=WNe});function aRe(t,e,r,n,i,a,s){switch(r){case iRe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case nRe:return!(t.byteLength!=e.byteLength||!a(new qp(t),new qp(e)));case XNe:case jNe:case ZNe:return Ro(+t,+e);case KNe:return t.name==e.name&&t.message==e.message;case JNe:case tRe:return t==e+"";case QNe:var l=zee;case eRe:var u=n&YNe;if(l||(l=Lm),t.size!=e.size&&!u)return!1;var h=s.get(t);if(h)return h==e;n|=qNe,s.set(t,e);var f=Rw(l(t),l(e),n,i,a,s);return s.delete(t),f;case rRe:if(LL)return LL.call(t)==LL.call(e)}return!1}var YNe,qNe,XNe,jNe,KNe,QNe,ZNe,JNe,eRe,tRe,rRe,nRe,iRe,$ee,LL,Vee,Uee=M(()=>{"use strict";gd();O_();yd();_L();Gee();Mw();YNe=1,qNe=2,XNe="[object Boolean]",jNe="[object Date]",KNe="[object Error]",QNe="[object Map]",ZNe="[object Number]",JNe="[object RegExp]",eRe="[object Set]",tRe="[object String]",rRe="[object Symbol]",nRe="[object ArrayBuffer]",iRe="[object DataView]",$ee=ea?ea.prototype:void 0,LL=$ee?$ee.valueOf:void 0;o(aRe,"equalByTag");Vee=aRe});function cRe(t,e,r,n,i,a){var s=r&sRe,l=Nv(t),u=l.length,h=Nv(e),f=h.length;if(u!=f&&!s)return!1;for(var d=u;d--;){var p=l[d];if(!(s?p in e:lRe.call(e,p)))return!1}var m=a.get(t),g=a.get(e);if(m&&g)return m==e&&g==t;var y=!0;a.set(t,e),a.set(e,t);for(var v=s;++d{"use strict";wL();sRe=1,oRe=Object.prototype,lRe=oRe.hasOwnProperty;o(cRe,"equalObjects");Hee=cRe});function fRe(t,e,r,n,i,a){var s=Mt(t),l=Mt(e),u=s?qee:no(t),h=l?qee:no(e);u=u==Yee?Iw:u,h=h==Yee?Iw:h;var f=u==Iw,d=h==Iw,p=u==h;if(p&&_l(t)){if(!_l(e))return!1;s=!0,f=!1}if(p&&!f)return a||(a=new uc),s||Nh(t)?Rw(t,e,r,n,i,a):Vee(t,e,u,r,n,i,a);if(!(r&uRe)){var m=f&&Xee.call(t,"__wrapped__"),g=d&&Xee.call(e,"__wrapped__");if(m||g){var y=m?t.value():t,v=g?e.value():e;return a||(a=new uc),i(y,v,r,n,a)}}return p?(a||(a=new uc),Hee(t,e,r,n,i,a)):!1}var uRe,Yee,qee,Iw,hRe,Xee,jee,Kee=M(()=>{"use strict";ev();_L();Uee();Wee();Rd();Vn();Jp();iv();uRe=1,Yee="[object Arguments]",qee="[object Array]",Iw="[object Object]",hRe=Object.prototype,Xee=hRe.hasOwnProperty;o(fRe,"baseIsEqualDeep");jee=fRe});function Qee(t,e,r,n,i){return t===e?!0:t==null||e==null||!Zn(t)&&!Zn(e)?t!==t&&e!==e:jee(t,e,r,n,Qee,i)}var Ow,DL=M(()=>{"use strict";Kee();Mo();o(Qee,"baseIsEqual");Ow=Qee});function mRe(t,e,r,n){var i=r.length,a=i,s=!n;if(t==null)return!a;for(t=Object(t);i--;){var l=r[i];if(s&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i{"use strict";ev();DL();dRe=1,pRe=2;o(mRe,"baseIsMatch");Zee=mRe});function gRe(t){return t===t&&!yn(t)}var Pw,NL=M(()=>{"use strict";Qs();o(gRe,"isStrictComparable");Pw=gRe});function yRe(t){for(var e=zr(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Pw(i)]}return e}var ete,tte=M(()=>{"use strict";NL();xc();o(yRe,"getMatchData");ete=yRe});function vRe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var Bw,RL=M(()=>{"use strict";o(vRe,"matchesStrictComparable");Bw=vRe});function xRe(t){var e=ete(t);return e.length==1&&e[0][2]?Bw(e[0][0],e[0][1]):function(r){return r===t||Zee(r,t,e)}}var rte,nte=M(()=>{"use strict";Jee();tte();RL();o(xRe,"baseMatches");rte=xRe});function bRe(t,e){return t!=null&&e in Object(t)}var ite,ate=M(()=>{"use strict";o(bRe,"baseHasIn");ite=bRe});function wRe(t,e,r){e=Uh(e,t);for(var n=-1,i=e.length,a=!1;++n{"use strict";Lv();Qp();Vn();sv();s5();Tm();o(wRe,"hasPath");Fw=wRe});function TRe(t,e){return t!=null&&Fw(t,e,ite)}var zw,IL=M(()=>{"use strict";ate();ML();o(TRe,"hasIn");zw=TRe});function SRe(t,e){return wm(t)&&Pw(e)?Bw(bc(t),e):function(r){var n=IJ(r,t);return n===void 0&&n===e?zw(r,t):Ow(e,n,kRe|ERe)}}var kRe,ERe,ste,ote=M(()=>{"use strict";DL();OJ();IL();dw();NL();RL();Tm();kRe=1,ERe=2;o(SRe,"baseMatchesProperty");ste=SRe});function CRe(t){return function(e){return e?.[t]}}var Gw,OL=M(()=>{"use strict";o(CRe,"baseProperty");Gw=CRe});function ARe(t){return function(e){return Hh(e,t)}}var lte,cte=M(()=>{"use strict";Dv();o(ARe,"basePropertyDeep");lte=ARe});function _Re(t){return wm(t)?Gw(bc(t)):lte(t)}var ute,hte=M(()=>{"use strict";OL();cte();dw();Tm();o(_Re,"property");ute=_Re});function LRe(t){return typeof t=="function"?t:t==null?ta:typeof t=="object"?Mt(t)?ste(t[0],t[1]):rte(t):ute(t)}var dn,Qa=M(()=>{"use strict";nte();ote();Tu();Vn();hte();o(LRe,"baseIteratee");dn=LRe});function DRe(t,e,r,n){for(var i=-1,a=t==null?0:t.length;++i{"use strict";o(DRe,"arrayAggregator");fte=DRe});function NRe(t,e){return t&&Yp(t,e,zr)}var Dm,$w=M(()=>{"use strict";Z3();xc();o(NRe,"baseForOwn");Dm=NRe});function RRe(t,e){return function(r,n){if(r==null)return r;if(!si(r))return t(r,n);for(var i=r.length,a=e?i:-1,s=Object(r);(e?a--:++a{"use strict";Io();o(RRe,"createBaseEach");pte=RRe});var MRe,_s,Yh=M(()=>{"use strict";$w();mte();MRe=pte(Dm),_s=MRe});function IRe(t,e,r,n){return _s(t,function(i,a,s){e(n,i,r(i),s)}),n}var gte,yte=M(()=>{"use strict";Yh();o(IRe,"baseAggregator");gte=IRe});function ORe(t,e){return function(r,n){var i=Mt(r)?fte:gte,a=e?e():{};return i(r,t,dn(n,2),a)}}var vte,xte=M(()=>{"use strict";dte();yte();Qa();Vn();o(ORe,"createAggregator");vte=ORe});var PRe,Vw,bte=M(()=>{"use strict";No();PRe=o(function(){return ai.Date.now()},"now"),Vw=PRe});var wte,BRe,FRe,qh,Tte=M(()=>{"use strict";tm();yd();Td();Mh();wte=Object.prototype,BRe=wte.hasOwnProperty,FRe=pc(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&Zs(e[0],e[1],i)&&(n=1);++r{"use strict";o(zRe,"arrayIncludesWith");Uw=zRe});function $Re(t,e,r,n){var i=-1,a=hw,s=!0,l=t.length,u=[],h=e.length;if(!l)return u;r&&(e=As(e,Oo(r))),n?(a=Uw,s=!1):e.length>=GRe&&(a=_m,s=!1,e=new Am(e));e:for(;++i{"use strict";Lw();mL();PL();Dd();bd();Nw();GRe=200;o($Re,"baseDifference");kte=$Re});var VRe,Xh,Ste=M(()=>{"use strict";Ete();Em();tm();o5();VRe=pc(function(t,e){return xd(t)?kte(t,wc(e,1,xd,!0)):[]}),Xh=VRe});function URe(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var fa,Cte=M(()=>{"use strict";o(URe,"last");fa=URe});function HRe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:vc(e),yw(t,e<0?0:e,n)):[]}var mi,Ate=M(()=>{"use strict";yL();vm();o(HRe,"drop");mi=HRe});function WRe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:vc(e),e=n-e,yw(t,0,e<0?0:e)):[]}var Lu,_te=M(()=>{"use strict";yL();vm();o(WRe,"dropRight");Lu=WRe});function YRe(t){return typeof t=="function"?t:ta}var Nm,Hw=M(()=>{"use strict";Tu();o(YRe,"castFunction");Nm=YRe});function qRe(t,e){var r=Mt(t)?lw:_s;return r(t,Nm(e))}var Ce,Ww=M(()=>{"use strict";dL();Yh();Hw();Vn();o(qRe,"forEach");Ce=qRe});var Lte=M(()=>{"use strict";Ww()});function XRe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(XRe,"arrayEvery");Dte=XRe});function jRe(t,e){var r=!0;return _s(t,function(n,i,a){return r=!!e(n,i,a),r}),r}var Rte,Mte=M(()=>{"use strict";Yh();o(jRe,"baseEvery");Rte=jRe});function KRe(t,e,r){var n=Mt(t)?Dte:Rte;return r&&Zs(t,e,r)&&(e=void 0),n(t,dn(e,3))}var Ra,Ite=M(()=>{"use strict";Nte();Mte();Qa();Vn();Td();o(KRe,"every");Ra=KRe});function QRe(t,e){var r=[];return _s(t,function(n,i,a){e(n,i,a)&&r.push(n)}),r}var Yw,BL=M(()=>{"use strict";Yh();o(QRe,"baseFilter");Yw=QRe});function ZRe(t,e){var r=Mt(t)?Sm:Yw;return r(t,dn(e,3))}var Yr,FL=M(()=>{"use strict";vw();BL();Qa();Vn();o(ZRe,"filter");Yr=ZRe});function JRe(t){return function(e,r,n){var i=Object(e);if(!si(e)){var a=dn(r,3);e=zr(e),r=o(function(l){return a(i[l],l,i)},"predicate")}var s=t(e,r,n);return s>-1?i[a?e[s]:s]:void 0}}var Ote,Pte=M(()=>{"use strict";Qa();Io();xc();o(JRe,"createFind");Ote=JRe});function tMe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:vc(r);return i<0&&(i=eMe(n+i,0)),cw(t,dn(e,3),i)}var eMe,Bte,Fte=M(()=>{"use strict";pL();Qa();vm();eMe=Math.max;o(tMe,"findIndex");Bte=tMe});var rMe,Za,zte=M(()=>{"use strict";Pte();Fte();rMe=Ote(Bte),Za=rMe});function nMe(t){return t&&t.length?t[0]:void 0}var ra,Gte=M(()=>{"use strict";o(nMe,"head");ra=nMe});var $te=M(()=>{"use strict";Gte()});function iMe(t,e){var r=-1,n=si(t)?Array(t.length):[];return _s(t,function(i,a,s){n[++r]=e(i,a,s)}),n}var qw,zL=M(()=>{"use strict";Yh();Io();o(iMe,"baseMap");qw=iMe});function aMe(t,e){var r=Mt(t)?As:qw;return r(t,dn(e,3))}var Je,Rm=M(()=>{"use strict";Dd();Qa();zL();Vn();o(aMe,"map");Je=aMe});function sMe(t,e){return wc(Je(t,e),1)}var da,GL=M(()=>{"use strict";Em();Rm();o(sMe,"flatMap");da=sMe});function oMe(t,e){return t==null?t:Yp(t,Nm(e),xs)}var $L,Vte=M(()=>{"use strict";Z3();Hw();Mh();o(oMe,"forIn");$L=oMe});function lMe(t,e){return t&&Dm(t,Nm(e))}var VL,Ute=M(()=>{"use strict";$w();Hw();o(lMe,"forOwn");VL=lMe});var cMe,uMe,hMe,UL,Hte=M(()=>{"use strict";Wp();xte();cMe=Object.prototype,uMe=cMe.hasOwnProperty,hMe=vte(function(t,e,r){uMe.call(t,r)?t[r].push(e):hc(t,r,[e])}),UL=hMe});function fMe(t,e){return t>e}var Wte,Yte=M(()=>{"use strict";o(fMe,"baseGt");Wte=fMe});function mMe(t,e){return t!=null&&pMe.call(t,e)}var dMe,pMe,qte,Xte=M(()=>{"use strict";dMe=Object.prototype,pMe=dMe.hasOwnProperty;o(mMe,"baseHas");qte=mMe});function gMe(t,e){return t!=null&&Fw(t,e,qte)}var It,jte=M(()=>{"use strict";Xte();ML();o(gMe,"has");It=gMe});function vMe(t){return typeof t=="string"||!Mt(t)&&Zn(t)&&ca(t)==yMe}var yMe,gi,Xw=M(()=>{"use strict";xu();Vn();Mo();yMe="[object String]";o(vMe,"isString");gi=vMe});function xMe(t,e){return As(e,function(r){return t[r]})}var Kte,Qte=M(()=>{"use strict";Dd();o(xMe,"baseValues");Kte=xMe});function bMe(t){return t==null?[]:Kte(t,zr(t))}var br,HL=M(()=>{"use strict";Qte();xc();o(bMe,"values");br=bMe});function TMe(t,e,r,n){t=si(t)?t:br(t),r=r&&!n?vc(r):0;var i=t.length;return r<0&&(r=wMe(i+r,0)),gi(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&xm(t,e,r)>-1}var wMe,Hn,Zte=M(()=>{"use strict";uw();Io();Xw();vm();HL();wMe=Math.max;o(TMe,"includes");Hn=TMe});function EMe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:vc(r);return i<0&&(i=kMe(n+i,0)),xm(t,e,i)}var kMe,jw,Jte=M(()=>{"use strict";uw();vm();kMe=Math.max;o(EMe,"indexOf");jw=EMe});function LMe(t){if(t==null)return!0;if(si(t)&&(Mt(t)||typeof t=="string"||typeof t.splice=="function"||_l(t)||Nh(t)||Al(t)))return!t.length;var e=no(t);if(e==SMe||e==CMe)return!t.size;if(fc(t))return!bm(t).length;for(var r in t)if(_Me.call(t,r))return!1;return!0}var SMe,CMe,AMe,_Me,cr,Kw=M(()=>{"use strict";fw();Rd();Qp();Vn();Io();Jp();Kp();iv();SMe="[object Map]",CMe="[object Set]",AMe=Object.prototype,_Me=AMe.hasOwnProperty;o(LMe,"isEmpty");cr=LMe});function NMe(t){return Zn(t)&&ca(t)==DMe}var DMe,ere,tre=M(()=>{"use strict";xu();Mo();DMe="[object RegExp]";o(NMe,"baseIsRegExp");ere=NMe});var rre,RMe,Vo,nre=M(()=>{"use strict";tre();bd();nv();rre=Po&&Po.isRegExp,RMe=rre?Oo(rre):ere,Vo=RMe});function MMe(t){return t===void 0}var dr,ire=M(()=>{"use strict";o(MMe,"isUndefined");dr=MMe});function IMe(t,e){return t{"use strict";o(IMe,"baseLt");Qw=IMe});function OMe(t,e){var r={};return e=dn(e,3),Dm(t,function(n,i,a){hc(r,i,e(n,i,a))}),r}var Md,are=M(()=>{"use strict";Wp();$w();Qa();o(OMe,"mapValues");Md=OMe});function PMe(t,e,r){for(var n=-1,i=t.length;++n{"use strict";Ld();o(PMe,"baseExtremum");Mm=PMe});function BMe(t){return t&&t.length?Mm(t,ta,Wte):void 0}var Ls,sre=M(()=>{"use strict";Zw();Yte();Tu();o(BMe,"max");Ls=BMe});function FMe(t){return t&&t.length?Mm(t,ta,Qw):void 0}var Nl,YL=M(()=>{"use strict";Zw();WL();Tu();o(FMe,"min");Nl=FMe});function zMe(t,e){return t&&t.length?Mm(t,dn(e,2),Qw):void 0}var Id,ore=M(()=>{"use strict";Zw();Qa();WL();o(zMe,"minBy");Id=zMe});function $Me(t){if(typeof t!="function")throw new TypeError(GMe);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}var GMe,lre,cre=M(()=>{"use strict";GMe="Expected a function";o($Me,"negate");lre=$Me});function VMe(t,e,r,n){if(!yn(t))return t;e=Uh(e,t);for(var i=-1,a=e.length,s=a-1,l=t;l!=null&&++i{"use strict";em();Lv();sv();Qs();Tm();o(VMe,"baseSet");ure=VMe});function UMe(t,e,r){for(var n=-1,i=e.length,a={};++n{"use strict";Dv();hre();Lv();o(UMe,"basePickBy");Jw=UMe});function HMe(t,e){if(t==null)return{};var r=As(kw(t),function(n){return[n]});return e=dn(e),Jw(t,r,function(n,i){return e(n,i[0])})}var Ds,fre=M(()=>{"use strict";Dd();Qa();qL();TL();o(HMe,"pickBy");Ds=HMe});function WMe(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}var dre,pre=M(()=>{"use strict";o(WMe,"baseSortBy");dre=WMe});function YMe(t,e){if(t!==e){var r=t!==void 0,n=t===null,i=t===t,a=ro(t),s=e!==void 0,l=e===null,u=e===e,h=ro(e);if(!l&&!h&&!a&&t>e||a&&s&&u&&!l&&!h||n&&s&&u||!r&&u||!i)return 1;if(!n&&!a&&!h&&t{"use strict";Ld();o(YMe,"compareAscending");mre=YMe});function qMe(t,e,r){for(var n=-1,i=t.criteria,a=e.criteria,s=i.length,l=r.length;++n=l)return u;var h=r[n];return u*(h=="desc"?-1:1)}}return t.index-e.index}var yre,vre=M(()=>{"use strict";gre();o(qMe,"compareMultiple");yre=qMe});function XMe(t,e,r){e.length?e=As(e,function(a){return Mt(a)?function(s){return Hh(s,a.length===1?a[0]:a)}:a}):e=[ta];var n=-1;e=As(e,Oo(dn));var i=qw(t,function(a,s,l){var u=As(e,function(h){return h(a)});return{criteria:u,index:++n,value:a}});return dre(i,function(a,s){return yre(a,s,r)})}var xre,bre=M(()=>{"use strict";Dd();Dv();Qa();zL();pre();bd();vre();Tu();Vn();o(XMe,"baseOrderBy");xre=XMe});var jMe,wre,Tre=M(()=>{"use strict";OL();jMe=Gw("length"),wre=jMe});function oIe(t){for(var e=kre.lastIndex=0;kre.test(t);)++e;return e}var Ere,KMe,QMe,ZMe,JMe,eIe,tIe,XL,jL,rIe,Sre,Cre,Are,nIe,_re,Lre,iIe,aIe,sIe,kre,Dre,Nre=M(()=>{"use strict";Ere="\\ud800-\\udfff",KMe="\\u0300-\\u036f",QMe="\\ufe20-\\ufe2f",ZMe="\\u20d0-\\u20ff",JMe=KMe+QMe+ZMe,eIe="\\ufe0e\\ufe0f",tIe="["+Ere+"]",XL="["+JMe+"]",jL="\\ud83c[\\udffb-\\udfff]",rIe="(?:"+XL+"|"+jL+")",Sre="[^"+Ere+"]",Cre="(?:\\ud83c[\\udde6-\\uddff]){2}",Are="[\\ud800-\\udbff][\\udc00-\\udfff]",nIe="\\u200d",_re=rIe+"?",Lre="["+eIe+"]?",iIe="(?:"+nIe+"(?:"+[Sre,Cre,Are].join("|")+")"+Lre+_re+")*",aIe=Lre+_re+iIe,sIe="(?:"+[Sre+XL+"?",XL,Cre,Are,tIe].join("|")+")",kre=RegExp(jL+"(?="+jL+")|"+sIe+aIe,"g");o(oIe,"unicodeSize");Dre=oIe});function lIe(t){return VJ(t)?Dre(t):wre(t)}var Rre,Mre=M(()=>{"use strict";Tre();UJ();Nre();o(lIe,"stringSize");Rre=lIe});function cIe(t,e){return Jw(t,e,function(r,n){return zw(t,n)})}var Ire,Ore=M(()=>{"use strict";qL();IL();o(cIe,"basePick");Ire=cIe});var uIe,Od,Pre=M(()=>{"use strict";Ore();$J();uIe=GJ(function(t,e){return t==null?{}:Ire(t,e)}),Od=uIe});function dIe(t,e,r,n){for(var i=-1,a=fIe(hIe((e-t)/(r||1)),0),s=Array(a);a--;)s[n?a:++i]=t,t+=r;return s}var hIe,fIe,Bre,Fre=M(()=>{"use strict";hIe=Math.ceil,fIe=Math.max;o(dIe,"baseRange");Bre=dIe});function pIe(t){return function(e,r,n){return n&&typeof n!="number"&&Zs(e,r,n)&&(r=n=void 0),e=ym(e),r===void 0?(r=e,e=0):r=ym(r),n=n===void 0?e{"use strict";Fre();Td();hL();o(pIe,"createRange");zre=pIe});var mIe,Uo,$re=M(()=>{"use strict";Gre();mIe=zre(),Uo=mIe});function gIe(t,e,r,n,i){return i(t,function(a,s,l){r=n?(n=!1,a):e(r,a,s,l)}),r}var Vre,Ure=M(()=>{"use strict";o(gIe,"baseReduce");Vre=gIe});function yIe(t,e,r){var n=Mt(t)?HJ:Vre,i=arguments.length<3;return n(t,dn(e,4),r,i,_s)}var qr,KL=M(()=>{"use strict";WJ();Yh();Qa();Ure();Vn();o(yIe,"reduce");qr=yIe});function vIe(t,e){var r=Mt(t)?Sm:Yw;return r(t,lre(dn(e,3)))}var jh,Hre=M(()=>{"use strict";vw();BL();Qa();Vn();cre();o(vIe,"reject");jh=vIe});function wIe(t){if(t==null)return 0;if(si(t))return gi(t)?Rre(t):t.length;var e=no(t);return e==xIe||e==bIe?t.size:bm(t).length}var xIe,bIe,QL,Wre=M(()=>{"use strict";fw();Rd();Io();Xw();Mre();xIe="[object Map]",bIe="[object Set]";o(wIe,"size");QL=wIe});function TIe(t,e){var r;return _s(t,function(n,i,a){return r=e(n,i,a),!r}),!!r}var Yre,qre=M(()=>{"use strict";Yh();o(TIe,"baseSome");Yre=TIe});function kIe(t,e,r){var n=Mt(t)?Dw:Yre;return r&&Zs(t,e,r)&&(e=void 0),n(t,dn(e,3))}var Rv,Xre=M(()=>{"use strict";AL();Qa();qre();Vn();Td();o(kIe,"some");Rv=kIe});var EIe,kc,jre=M(()=>{"use strict";Em();bre();tm();Td();EIe=pc(function(t,e){if(t==null)return[];var r=e.length;return r>1&&Zs(t,e[0],e[1])?e=[]:r>2&&Zs(e[0],e[1],e[2])&&(e=[e[0]]),xre(t,wc(e,1),[])}),kc=EIe});var SIe,CIe,Kre,Qre=M(()=>{"use strict";kL();fL();Mw();SIe=1/0,CIe=Wh&&1/Lm(new Wh([,-0]))[1]==SIe?function(t){return new Wh(t)}:Jn,Kre=CIe});function _Ie(t,e,r){var n=-1,i=hw,a=t.length,s=!0,l=[],u=l;if(r)s=!1,i=Uw;else if(a>=AIe){var h=e?null:Kre(t);if(h)return Lm(h);s=!1,i=_m,u=new Am}else u=e?[]:l;e:for(;++n{"use strict";Lw();mL();PL();Nw();Qre();Mw();AIe=200;o(_Ie,"baseUniq");Im=_Ie});var LIe,ZL,Zre=M(()=>{"use strict";Em();tm();eT();o5();LIe=pc(function(t){return Im(wc(t,1,xd,!0))}),ZL=LIe});function DIe(t){return t&&t.length?Im(t):[]}var Om,Jre=M(()=>{"use strict";eT();o(DIe,"uniq");Om=DIe});function NIe(t,e){return t&&t.length?Im(t,dn(e,2)):[]}var ene,tne=M(()=>{"use strict";Qa();eT();o(NIe,"uniqBy");ene=NIe});function MIe(t){var e=++RIe;return pw(t)+e}var RIe,Pd,rne=M(()=>{"use strict";gL();RIe=0;o(MIe,"uniqueId");Pd=MIe});function IIe(t,e,r){for(var n=-1,i=t.length,a=e.length,s={};++n{"use strict";o(IIe,"baseZipObject");nne=IIe});function OIe(t,e){return nne(t||[],e||[],dc)}var tT,ane=M(()=>{"use strict";em();ine();o(OIe,"zipObject");tT=OIe});var Ht=M(()=>{"use strict";LJ();SL();Mee();Iee();W_();Tte();Ste();Ate();_te();Lte();Ite();FL();zte();$te();GL();gw();Ww();Vte();Ute();Hte();jte();Tu();Zte();Jte();Vn();Kw();jy();Qs();nre();Xw();ire();xc();Cte();Rm();are();sre();X_();YL();ore();fL();bte();Pre();fre();$re();KL();Hre();Wre();Xre();jre();Zre();Jre();rne();HL();ane();});function one(t,e){t[e]?t[e]++:t[e]=1}function lne(t,e){--t[e]||delete t[e]}function Mv(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+sne+a+sne+(dr(n)?PIe:n)}function BIe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var l={v:i,w:a};return n&&(l.name=n),l}function JL(t,e){return Mv(t,e.v,e.w,e.name)}var PIe,Bd,sne,Mr,rT=M(()=>{"use strict";Ht();PIe="\0",Bd="\0",sne="",Mr=class{static{o(this,"Graph")}constructor(e={}){this._isDirected=Object.prototype.hasOwnProperty.call(e,"directed")?e.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(e,"multigraph")?e.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=bs(void 0),this._defaultEdgeLabelFn=bs(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[Bd]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return Ei(e)||(e=bs(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return zr(this._nodes)}sources(){var e=this;return Yr(this.nodes(),function(r){return cr(e._in[r])})}sinks(){var e=this;return Yr(this.nodes(),function(r){return cr(e._out[r])})}setNodes(e,r){var n=arguments,i=this;return Ce(e,function(a){n.length>1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=Bd,this._children[e]={},this._children[Bd][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=o(n=>this.removeEdge(this._edgeObjs[n]),"removeEdge");delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],Ce(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),Ce(zr(this._in[e]),r),delete this._in[e],delete this._preds[e],Ce(zr(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(dr(r))r=Bd;else{r+="";for(var n=r;!dr(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==Bd)return r}}children(e){if(dr(e)&&(e=Bd),this._isCompound){var r=this._children[e];if(r)return zr(r)}else{if(e===Bd)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return zr(r)}successors(e){var r=this._sucs[e];if(r)return zr(r)}neighbors(e){var r=this.predecessors(e);if(r)return ZL(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;Ce(this._nodes,function(s,l){e(l)&&r.setNode(l,s)}),Ce(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var l=n.parent(s);return l===void 0||r.hasNode(l)?(i[s]=l,l):l in i?i[l]:a(l)}return o(a,"findParent"),this._isCompound&&Ce(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return Ei(e)||(e=bs(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return br(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return qr(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,dr(n)||(n=""+n);var l=Mv(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(!dr(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(e,r,n);var u=BIe(this._isDirected,e,r,n);return e=u.v,r=u.w,Object.freeze(u),this._edgeObjs[l]=u,one(this._preds[r],e),one(this._sucs[e],r),this._in[r][l]=u,this._out[e][l]=u,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?JL(this._isDirected,arguments[0]):Mv(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?JL(this._isDirected,arguments[0]):Mv(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?JL(this._isDirected,arguments[0]):Mv(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],lne(this._preds[r],e),lne(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=br(n);return r?Yr(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=br(n);return r?Yr(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}};Mr.prototype._nodeCount=0;Mr.prototype._edgeCount=0;o(one,"incrementOrInitEntry");o(lne,"decrementOrRemoveEntry");o(Mv,"edgeArgsToId");o(BIe,"edgeArgsToObj");o(JL,"edgeObjToId")});var Ns=M(()=>{"use strict";rT()});function cne(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function FIe(t,e){if(t!=="_next"&&t!=="_prev")return e}var nT,une=M(()=>{"use strict";nT=class{static{o(this,"List")}constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return cne(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&cne(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,FIe)),n=n._prev;return"["+e.join(", ")+"]"}};o(cne,"unlink");o(FIe,"filterOutLinks")});function hne(t,e){if(t.nodeCount()<=1)return[];var r=$Ie(t,e||zIe),n=GIe(r.graph,r.buckets,r.zeroIdx);return Wr(Je(n,function(i){return t.outEdges(i.v,i.w)}))}function GIe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)eD(t,e,r,s);for(;s=i.dequeue();)eD(t,e,r,s);if(t.nodeCount()){for(var l=e.length-2;l>0;--l)if(s=e[l].dequeue(),s){n=n.concat(eD(t,e,r,s,!0));break}}}return n}function eD(t,e,r,n,i){var a=i?[]:void 0;return Ce(t.inEdges(n.v),function(s){var l=t.edge(s),u=t.node(s.v);i&&a.push({v:s.v,w:s.w}),u.out-=l,tD(e,r,u)}),Ce(t.outEdges(n.v),function(s){var l=t.edge(s),u=s.w,h=t.node(u);h.in-=l,tD(e,r,h)}),t.removeNode(n.v),a}function $Ie(t,e){var r=new Mr,n=0,i=0;Ce(t.nodes(),function(l){r.setNode(l,{v:l,in:0,out:0})}),Ce(t.edges(),function(l){var u=r.edge(l.v,l.w)||0,h=e(l),f=u+h;r.setEdge(l.v,l.w,f),i=Math.max(i,r.node(l.v).out+=h),n=Math.max(n,r.node(l.w).in+=h)});var a=Uo(i+n+3).map(function(){return new nT}),s=n+1;return Ce(r.nodes(),function(l){tD(a,s,r.node(l))}),{graph:r,buckets:a,zeroIdx:s}}function tD(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}var zIe,fne=M(()=>{"use strict";Ht();Ns();une();zIe=bs(1);o(hne,"greedyFAS");o(GIe,"doGreedyFAS");o(eD,"removeNode");o($Ie,"buildState");o(tD,"assignBucket")});function dne(t){var e=t.graph().acyclicer==="greedy"?hne(t,r(t)):VIe(t);Ce(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,Pd("rev"))});function r(n){return function(i){return n.edge(i).weight}}o(r,"weightFn")}function VIe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,Ce(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return o(i,"dfs"),Ce(t.nodes(),i),e}function pne(t){Ce(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}var rD=M(()=>{"use strict";Ht();fne();o(dne,"run");o(VIe,"dfsFAS");o(pne,"undo")});function Ec(t,e,r,n){var i;do i=Pd(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function gne(t){var e=new Mr().setGraph(t.graph());return Ce(t.nodes(),function(r){e.setNode(r,t.node(r))}),Ce(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function iT(t){var e=new Mr({multigraph:t.isMultigraph()}).setGraph(t.graph());return Ce(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),Ce(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function nD(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=l*i/a,h=l):(i<0&&(s=-s),u=s,h=s*a/i),{x:r+u,y:n+h}}function Kh(t){var e=Je(Uo(aD(t)+1),function(){return[]});return Ce(t.nodes(),function(r){var n=t.node(r),i=n.rank;dr(i)||(e[i][n.order]=r)}),e}function yne(t){var e=Nl(Je(t.nodes(),function(r){return t.node(r).rank}));Ce(t.nodes(),function(r){var n=t.node(r);It(n,"rank")&&(n.rank-=e)})}function vne(t){var e=Nl(Je(t.nodes(),function(a){return t.node(a).rank})),r=[];Ce(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;Ce(r,function(a,s){dr(a)&&s%i!==0?--n:n&&Ce(a,function(l){t.node(l).rank+=n})})}function iD(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Ec(t,"border",i,e)}function aD(t){return Ls(Je(t.nodes(),function(e){var r=t.node(e).rank;if(!dr(r))return r}))}function xne(t,e){var r={lhs:[],rhs:[]};return Ce(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function bne(t,e){var r=Vw();try{return e()}finally{console.log(t+" time: "+(Vw()-r)+"ms")}}function wne(t,e){return e()}var Sc=M(()=>{"use strict";Ht();Ns();o(Ec,"addDummyNode");o(gne,"simplify");o(iT,"asNonCompoundGraph");o(nD,"intersectRect");o(Kh,"buildLayerMatrix");o(yne,"normalizeRanks");o(vne,"removeEmptyRanks");o(iD,"addBorderNode");o(aD,"maxRank");o(xne,"partition");o(bne,"time");o(wne,"notime")});function kne(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&Ce(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;a{"use strict";Ht();Sc();o(kne,"addBorderSegments");o(Tne,"addBorderNode")});function Cne(t){var e=t.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&_ne(t)}function Ane(t){var e=t.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&UIe(t),(e==="lr"||e==="rl")&&(HIe(t),_ne(t))}function _ne(t){Ce(t.nodes(),function(e){Sne(t.node(e))}),Ce(t.edges(),function(e){Sne(t.edge(e))})}function Sne(t){var e=t.width;t.width=t.height,t.height=e}function UIe(t){Ce(t.nodes(),function(e){sD(t.node(e))}),Ce(t.edges(),function(e){var r=t.edge(e);Ce(r.points,sD),Object.prototype.hasOwnProperty.call(r,"y")&&sD(r)})}function sD(t){t.y=-t.y}function HIe(t){Ce(t.nodes(),function(e){oD(t.node(e))}),Ce(t.edges(),function(e){var r=t.edge(e);Ce(r.points,oD),Object.prototype.hasOwnProperty.call(r,"x")&&oD(r)})}function oD(t){var e=t.x;t.x=t.y,t.y=e}var Lne=M(()=>{"use strict";Ht();o(Cne,"adjust");o(Ane,"undo");o(_ne,"swapWidthHeight");o(Sne,"swapWidthHeightOne");o(UIe,"reverseY");o(sD,"reverseYOne");o(HIe,"swapXY");o(oD,"swapXYOne")});function Dne(t){t.graph().dummyChains=[],Ce(t.edges(),function(e){YIe(t,e)})}function YIe(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,s=e.name,l=t.edge(e),u=l.labelRank;if(a!==n+1){t.removeEdge(e);var h=void 0,f,d;for(d=0,++n;n{"use strict";Ht();Sc();o(Dne,"run");o(YIe,"normalizeEdge");o(Nne,"undo")});function Iv(t){var e={};function r(n){var i=t.node(n);if(Object.prototype.hasOwnProperty.call(e,n))return i.rank;e[n]=!0;var a=Nl(Je(t.outEdges(n),function(s){return r(s.w)-t.edge(s).minlen}));return(a===Number.POSITIVE_INFINITY||a===void 0||a===null)&&(a=0),i.rank=a}o(r,"dfs"),Ce(t.sources(),r)}function Fd(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var aT=M(()=>{"use strict";Ht();o(Iv,"longestPath");o(Fd,"slack")});function sT(t){var e=new Mr({directed:!1}),r=t.nodes()[0],n=t.nodeCount();e.setNode(r,{});for(var i,a;qIe(e,t){"use strict";Ht();Ns();aT();o(sT,"feasibleTree");o(qIe,"tightTree");o(XIe,"findMinSlackEdge");o(jIe,"shiftRanks")});var Mne=M(()=>{"use strict"});var uD=M(()=>{"use strict"});var $Yt,hD=M(()=>{"use strict";Ht();uD();$Yt=bs(1)});var Ine=M(()=>{"use strict";hD()});var fD=M(()=>{"use strict"});var One=M(()=>{"use strict";fD()});var ZYt,Pne=M(()=>{"use strict";Ht();ZYt=bs(1)});function dD(t){var e={},r={},n=[];function i(a){if(Object.prototype.hasOwnProperty.call(r,a))throw new Ov;Object.prototype.hasOwnProperty.call(e,a)||(r[a]=!0,e[a]=!0,Ce(t.predecessors(a),i),delete r[a],n.push(a))}if(o(i,"visit"),Ce(t.sinks(),i),QL(e)!==t.nodeCount())throw new Ov;return n}function Ov(){}var pD=M(()=>{"use strict";Ht();dD.CycleException=Ov;o(dD,"topsort");o(Ov,"CycleException");Ov.prototype=new Error});var Bne=M(()=>{"use strict";pD()});function oT(t,e,r){Mt(e)||(e=[e]);var n=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],a={};return Ce(e,function(s){if(!t.hasNode(s))throw new Error("Graph does not have node: "+s);Fne(t,s,r==="post",a,n,i)}),i}function Fne(t,e,r,n,i,a){Object.prototype.hasOwnProperty.call(n,e)||(n[e]=!0,r||a.push(e),Ce(i(e),function(s){Fne(t,s,r,n,i,a)}),r&&a.push(e))}var mD=M(()=>{"use strict";Ht();o(oT,"dfs");o(Fne,"doDfs")});function gD(t,e){return oT(t,e,"post")}var zne=M(()=>{"use strict";mD();o(gD,"postorder")});function yD(t,e){return oT(t,e,"pre")}var Gne=M(()=>{"use strict";mD();o(yD,"preorder")});var $ne=M(()=>{"use strict";uD();rT()});var Vne=M(()=>{"use strict";Mne();hD();Ine();One();Pne();Bne();zne();Gne();$ne();fD();pD()});function Zh(t){t=gne(t),Iv(t);var e=sT(t);xD(e),vD(e,t);for(var r,n;r=Yne(e);)n=qne(e,t,r),Xne(e,t,r,n)}function vD(t,e){var r=gD(t,t.nodes());r=r.slice(0,r.length-1),Ce(r,function(n){eOe(t,e,n)})}function eOe(t,e,r){var n=t.node(r),i=n.parent;t.edge(r,i).cutvalue=Hne(t,e,r)}function Hne(t,e,r){var n=t.node(r),i=n.parent,a=!0,s=e.edge(r,i),l=0;return s||(a=!1,s=e.edge(i,r)),l=s.weight,Ce(e.nodeEdges(r),function(u){var h=u.v===r,f=h?u.w:u.v;if(f!==i){var d=h===a,p=e.edge(u).weight;if(l+=d?p:-p,rOe(t,r,f)){var m=t.edge(r,f).cutvalue;l+=d?-m:m}}}),l}function xD(t,e){arguments.length<2&&(e=t.nodes()[0]),Wne(t,{},1,e)}function Wne(t,e,r,n,i){var a=r,s=t.node(n);return e[n]=!0,Ce(t.neighbors(n),function(l){Object.prototype.hasOwnProperty.call(e,l)||(r=Wne(t,e,r,l,n))}),s.low=a,s.lim=r++,i?s.parent=i:delete s.parent,r}function Yne(t){return Za(t.edges(),function(e){return t.edge(e).cutvalue<0})}function qne(t,e,r){var n=r.v,i=r.w;e.hasEdge(n,i)||(n=r.w,i=r.v);var a=t.node(n),s=t.node(i),l=a,u=!1;a.lim>s.lim&&(l=s,u=!0);var h=Yr(e.edges(),function(f){return u===Une(t,t.node(f.v),l)&&u!==Une(t,t.node(f.w),l)});return Id(h,function(f){return Fd(e,f)})}function Xne(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),xD(t),vD(t,e),tOe(t,e)}function tOe(t,e){var r=Za(t.nodes(),function(i){return!e.node(i).parent}),n=yD(t,r);n=n.slice(1),Ce(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),l=!1;s||(s=e.edge(a,i),l=!0),e.node(i).rank=e.node(a).rank+(l?s.minlen:-s.minlen)})}function rOe(t,e,r){return t.hasEdge(e,r)}function Une(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var jne=M(()=>{"use strict";Ht();Vne();Sc();cD();aT();Zh.initLowLimValues=xD;Zh.initCutValues=vD;Zh.calcCutValue=Hne;Zh.leaveEdge=Yne;Zh.enterEdge=qne;Zh.exchangeEdges=Xne;o(Zh,"networkSimplex");o(vD,"initCutValues");o(eOe,"assignCutValue");o(Hne,"calcCutValue");o(xD,"initLowLimValues");o(Wne,"dfsAssignLowLim");o(Yne,"leaveEdge");o(qne,"enterEdge");o(Xne,"exchangeEdges");o(tOe,"updateRanks");o(rOe,"isTreeEdge");o(Une,"isDescendant")});function bD(t){switch(t.graph().ranker){case"network-simplex":Kne(t);break;case"tight-tree":iOe(t);break;case"longest-path":nOe(t);break;default:Kne(t)}}function iOe(t){Iv(t),sT(t)}function Kne(t){Zh(t)}var nOe,wD=M(()=>{"use strict";cD();jne();aT();o(bD,"rank");nOe=Iv;o(iOe,"tightTreeRanker");o(Kne,"networkSimplexRanker")});function Qne(t){var e=Ec(t,"root",{},"_root"),r=aOe(t),n=Ls(br(r))-1,i=2*n+1;t.graph().nestingRoot=e,Ce(t.edges(),function(s){t.edge(s).minlen*=i});var a=sOe(t)+1;Ce(t.children(),function(s){Zne(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function Zne(t,e,r,n,i,a,s){var l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var u=iD(t,"_bt"),h=iD(t,"_bb"),f=t.node(s);t.setParent(u,s),f.borderTop=u,t.setParent(h,s),f.borderBottom=h,Ce(l,function(d){Zne(t,e,r,n,i,a,d);var p=t.node(d),m=p.borderTop?p.borderTop:d,g=p.borderBottom?p.borderBottom:d,y=p.borderTop?n:2*n,v=m!==g?1:i-a[s]+1;t.setEdge(u,m,{weight:y,minlen:v,nestingEdge:!0}),t.setEdge(g,h,{weight:y,minlen:v,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:i+a[s]})}function aOe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&Ce(a,function(s){r(s,i+1)}),e[n]=i}return o(r,"dfs"),Ce(t.children(),function(n){r(n,1)}),e}function sOe(t){return qr(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function Jne(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,Ce(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}var eie=M(()=>{"use strict";Ht();Sc();o(Qne,"run");o(Zne,"dfs");o(aOe,"treeDepths");o(sOe,"sumWeights");o(Jne,"cleanup")});function tie(t,e,r){var n={},i;Ce(r,function(a){for(var s=t.parent(a),l,u;s;){if(l=t.parent(s),l?(u=n[l],n[l]=s):(u=i,i=s),u&&u!==s){e.setEdge(u,s);return}s=l}})}var rie=M(()=>{"use strict";Ht();o(tie,"addSubgraphConstraints")});function nie(t,e,r){var n=lOe(t),i=new Mr({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return Ce(t.nodes(),function(a){var s=t.node(a),l=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,l||n),Ce(t[r](a),function(u){var h=u.v===a?u.w:u.v,f=i.edge(h,a),d=dr(f)?0:f.weight;i.setEdge(h,a,{weight:t.edge(u).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function lOe(t){for(var e;t.hasNode(e=Pd("_root")););return e}var iie=M(()=>{"use strict";Ht();Ns();o(nie,"buildLayerGraph");o(lOe,"createRootNode")});function aie(t,e){for(var r=0,n=1;n0;)f%2&&(d+=l[f+1]),f=f-1>>1,l[f]+=h.weight;u+=h.weight*d})),u}var sie=M(()=>{"use strict";Ht();o(aie,"crossCount");o(cOe,"twoLayerCrossCount")});function oie(t){var e={},r=Yr(t.nodes(),function(l){return!t.children(l).length}),n=Ls(Je(r,function(l){return t.node(l).rank})),i=Je(Uo(n+1),function(){return[]});function a(l){if(!It(e,l)){e[l]=!0;var u=t.node(l);i[u.rank].push(l),Ce(t.successors(l),a)}}o(a,"dfs");var s=kc(r,function(l){return t.node(l).rank});return Ce(s,a),i}var lie=M(()=>{"use strict";Ht();o(oie,"initOrder")});function cie(t,e){return Je(e,function(r){var n=t.inEdges(r);if(n.length){var i=qr(n,function(a,s){var l=t.edge(s),u=t.node(s.v);return{sum:a.sum+l.weight*u.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}var uie=M(()=>{"use strict";Ht();o(cie,"barycenter")});function hie(t,e){var r={};Ce(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};dr(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),Ce(e.edges(),function(i){var a=r[i.v],s=r[i.w];!dr(a)&&!dr(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=Yr(r,function(i){return!i.indegree});return uOe(n)}function uOe(t){var e=[];function r(a){return function(s){s.merged||(dr(s.barycenter)||dr(a.barycenter)||s.barycenter>=a.barycenter)&&hOe(a,s)}}o(r,"handleIn");function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(o(n,"handleOut");t.length;){var i=t.pop();e.push(i),Ce(i.in.reverse(),r(i)),Ce(i.out,n(i))}return Je(Yr(e,function(a){return!a.merged}),function(a){return Od(a,["vs","i","barycenter","weight"])})}function hOe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}var fie=M(()=>{"use strict";Ht();o(hie,"resolveConflicts");o(uOe,"doResolveConflicts");o(hOe,"mergeEntries")});function pie(t,e){var r=xne(t,function(f){return Object.prototype.hasOwnProperty.call(f,"barycenter")}),n=r.lhs,i=kc(r.rhs,function(f){return-f.i}),a=[],s=0,l=0,u=0;n.sort(fOe(!!e)),u=die(a,i,u),Ce(n,function(f){u+=f.vs.length,a.push(f.vs),s+=f.barycenter*f.weight,l+=f.weight,u=die(a,i,u)});var h={vs:Wr(a)};return l&&(h.barycenter=s/l,h.weight=l),h}function die(t,e,r){for(var n;e.length&&(n=fa(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function fOe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var mie=M(()=>{"use strict";Ht();Sc();o(pie,"sort");o(die,"consumeUnsortable");o(fOe,"compareWithBias")});function TD(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,l=a?a.borderRight:void 0,u={};s&&(i=Yr(i,function(g){return g!==s&&g!==l}));var h=cie(t,i);Ce(h,function(g){if(t.children(g.v).length){var y=TD(t,g.v,r,n);u[g.v]=y,Object.prototype.hasOwnProperty.call(y,"barycenter")&&pOe(g,y)}});var f=hie(h,r);dOe(f,u);var d=pie(f,n);if(s&&(d.vs=Wr([s,d.vs,l]),t.predecessors(s).length)){var p=t.node(t.predecessors(s)[0]),m=t.node(t.predecessors(l)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+p.order+m.order)/(d.weight+2),d.weight+=2}return d}function dOe(t,e){Ce(t,function(r){r.vs=Wr(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function pOe(t,e){dr(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}var gie=M(()=>{"use strict";Ht();uie();fie();mie();o(TD,"sortSubgraph");o(dOe,"expandSubgraphs");o(pOe,"mergeBarycenters")});function xie(t){var e=aD(t),r=yie(t,Uo(1,e+1),"inEdges"),n=yie(t,Uo(e-1,-1,-1),"outEdges"),i=oie(t);vie(t,i);for(var a=Number.POSITIVE_INFINITY,s,l=0,u=0;u<4;++l,++u){mOe(l%2?r:n,l%4>=2),i=Kh(t);var h=aie(t,i);h{"use strict";Ht();Ns();Sc();rie();iie();sie();lie();gie();o(xie,"order");o(yie,"buildLayerGraphs");o(mOe,"sweepLayerGraphs");o(vie,"assignOrder")});function wie(t){var e=yOe(t);Ce(t.graph().dummyChains,function(r){for(var n=t.node(r),i=n.edgeObj,a=gOe(t,e,i.v,i.w),s=a.path,l=a.lca,u=0,h=s[u],f=!0;r!==i.w;){if(n=t.node(r),f){for(;(h=s[u])!==l&&t.node(h).maxRanks||l>e[u].lim));for(h=u,u=n;(u=t.parent(u))!==h;)a.push(u);return{path:i.concat(a.reverse()),lca:h}}function yOe(t){var e={},r=0;function n(i){var a=r;Ce(t.children(i),n),e[i]={low:a,lim:r++}}return o(n,"dfs"),Ce(t.children(),n),e}var Tie=M(()=>{"use strict";Ht();o(wie,"parentDummyChains");o(gOe,"findPath");o(yOe,"postorder")});function vOe(t,e){var r={};function n(i,a){var s=0,l=0,u=i.length,h=fa(a);return Ce(a,function(f,d){var p=bOe(t,f),m=p?t.node(p).order:u;(p||f===h)&&(Ce(a.slice(l,d+1),function(g){Ce(t.predecessors(g),function(y){var v=t.node(y),x=v.order;(xh)&&kie(r,p,f)})})}o(n,"scan");function i(a,s){var l=-1,u,h=0;return Ce(s,function(f,d){if(t.node(f).dummy==="border"){var p=t.predecessors(f);p.length&&(u=t.node(p[0]).order,n(s,h,d,l,u),h=d,l=u)}n(s,h,s.length,u,a.length)}),s}return o(i,"visitLayer"),qr(e,i),r}function bOe(t,e){if(t.node(e).dummy)return Za(t.predecessors(e),function(r){return t.node(r).dummy})}function kie(t,e,r){if(e>r){var n=e;e=r,r=n}var i=t[e];i||(t[e]=i={}),i[r]=!0}function wOe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function TOe(t,e,r,n){var i={},a={},s={};return Ce(e,function(l){Ce(l,function(u,h){i[u]=u,a[u]=u,s[u]=h})}),Ce(e,function(l){var u=-1;Ce(l,function(h){var f=n(h);if(f.length){f=kc(f,function(y){return s[y]});for(var d=(f.length-1)/2,p=Math.floor(d),m=Math.ceil(d);p<=m;++p){var g=f[p];a[h]===h&&u{"use strict";Ht();Ns();Sc();o(vOe,"findType1Conflicts");o(xOe,"findType2Conflicts");o(bOe,"findOtherInnerSegmentNode");o(kie,"addConflict");o(wOe,"hasConflict");o(TOe,"verticalAlignment");o(kOe,"horizontalCompaction");o(EOe,"buildBlockGraph");o(SOe,"findSmallestWidthAlignment");o(COe,"alignCoordinates");o(AOe,"balance");o(Eie,"positionX");o(_Oe,"sep");o(LOe,"width")});function Cie(t){t=iT(t),DOe(t),VL(Eie(t),function(e,r){t.node(r).x=e})}function DOe(t){var e=Kh(t),r=t.graph().ranksep,n=0;Ce(e,function(i){var a=Ls(Je(i,function(s){return t.node(s).height}));Ce(i,function(s){t.node(s).y=n+a/2}),n+=a+r})}var Aie=M(()=>{"use strict";Ht();Sc();Sie();o(Cie,"position");o(DOe,"positionY")});function Du(t,e){var r=e&&e.debugTiming?bne:wne;r("layout",()=>{var n=r(" buildLayoutGraph",()=>$Oe(t));r(" runLayout",()=>NOe(n,r)),r(" updateInputGraph",()=>ROe(t,n))})}function NOe(t,e){e(" makeSpaceForEdgeLabels",()=>VOe(t)),e(" removeSelfEdges",()=>QOe(t)),e(" acyclic",()=>dne(t)),e(" nestingGraph.run",()=>Qne(t)),e(" rank",()=>bD(iT(t))),e(" injectEdgeLabelProxies",()=>UOe(t)),e(" removeEmptyRanks",()=>vne(t)),e(" nestingGraph.cleanup",()=>Jne(t)),e(" normalizeRanks",()=>yne(t)),e(" assignRankMinMax",()=>HOe(t)),e(" removeEdgeLabelProxies",()=>WOe(t)),e(" normalize.run",()=>Dne(t)),e(" parentDummyChains",()=>wie(t)),e(" addBorderSegments",()=>kne(t)),e(" order",()=>xie(t)),e(" insertSelfEdges",()=>ZOe(t)),e(" adjustCoordinateSystem",()=>Cne(t)),e(" position",()=>Cie(t)),e(" positionSelfEdges",()=>JOe(t)),e(" removeBorderNodes",()=>KOe(t)),e(" normalize.undo",()=>Nne(t)),e(" fixupEdgeLabelCoords",()=>XOe(t)),e(" undoCoordinateSystem",()=>Ane(t)),e(" translateGraph",()=>YOe(t)),e(" assignNodeIntersects",()=>qOe(t)),e(" reversePoints",()=>jOe(t)),e(" acyclic.undo",()=>pne(t))}function ROe(t,e){Ce(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),Ce(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function $Oe(t){var e=new Mr({multigraph:!0,compound:!0}),r=ED(t.graph());return e.setGraph(Ih({},IOe,kD(r,MOe),Od(r,OOe))),Ce(t.nodes(),function(n){var i=ED(t.node(n));e.setNode(n,qh(kD(i,POe),BOe)),e.setParent(n,t.parent(n))}),Ce(t.edges(),function(n){var i=ED(t.edge(n));e.setEdge(n,Ih({},zOe,kD(i,FOe),Od(i,GOe)))}),e}function VOe(t){var e=t.graph();e.ranksep/=2,Ce(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function UOe(t){Ce(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};Ec(t,"edge-proxy",a,"_ep")}})}function HOe(t){var e=0;Ce(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=Ls(e,n.maxRank))}),t.graph().maxRank=e}function WOe(t){Ce(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function YOe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,l=a.marginy||0;function u(h){var f=h.x,d=h.y,p=h.width,m=h.height;e=Math.min(e,f-p/2),r=Math.max(r,f+p/2),n=Math.min(n,d-m/2),i=Math.max(i,d+m/2)}o(u,"getExtremes"),Ce(t.nodes(),function(h){u(t.node(h))}),Ce(t.edges(),function(h){var f=t.edge(h);Object.prototype.hasOwnProperty.call(f,"x")&&u(f)}),e-=s,n-=l,Ce(t.nodes(),function(h){var f=t.node(h);f.x-=e,f.y-=n}),Ce(t.edges(),function(h){var f=t.edge(h);Ce(f.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(f,"x")&&(f.x-=e),Object.prototype.hasOwnProperty.call(f,"y")&&(f.y-=n)}),a.width=r-e+s,a.height=i-n+l}function qOe(t){Ce(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(nD(n,a)),r.points.push(nD(i,s))})}function XOe(t){Ce(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function jOe(t){Ce(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function KOe(t){Ce(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(fa(r.borderLeft)),s=t.node(fa(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),Ce(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function QOe(t){Ce(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function ZOe(t){var e=Kh(t);Ce(e,function(r){var n=0;Ce(r,function(i,a){var s=t.node(i);s.order=a+n,Ce(s.selfEdges,function(l){Ec(t,"selfedge",{width:l.label.width,height:l.label.height,rank:s.rank,order:a+ ++n,e:l.e,label:l.label},"_se")}),delete s.selfEdges})})}function JOe(t){Ce(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,l=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-l},{x:i+5*s/6,y:a-l},{x:i+s,y:a},{x:i+5*s/6,y:a+l},{x:i+2*s/3,y:a+l}],r.label.x=r.x,r.label.y=r.y}})}function kD(t,e){return Md(Od(t,e),Number)}function ED(t){var e={};return Ce(t,function(r,n){e[n.toLowerCase()]=r}),e}var MOe,IOe,OOe,POe,BOe,FOe,zOe,GOe,_ie=M(()=>{"use strict";Ht();Ns();Ene();Lne();rD();lD();wD();eie();bie();Tie();Aie();Sc();o(Du,"layout");o(NOe,"runLayout");o(ROe,"updateInputGraph");MOe=["nodesep","edgesep","ranksep","marginx","marginy"],IOe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},OOe=["acyclicer","ranker","rankdir","align"],POe=["width","height"],BOe={width:0,height:0},FOe=["minlen","weight","width","height","labeloffset"],zOe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},GOe=["labelpos"];o($Oe,"buildLayoutGraph");o(VOe,"makeSpaceForEdgeLabels");o(UOe,"injectEdgeLabelProxies");o(HOe,"assignRankMinMax");o(WOe,"removeEdgeLabelProxies");o(YOe,"translateGraph");o(qOe,"assignNodeIntersects");o(XOe,"fixupEdgeLabelCoords");o(jOe,"reversePointsForReversedEdges");o(KOe,"removeBorderNodes");o(QOe,"removeSelfEdges");o(ZOe,"insertSelfEdges");o(JOe,"positionSelfEdges");o(kD,"selectNumberAttrs");o(ED,"canonicalize")});var Pv=M(()=>{"use strict";rD();_ie();lD();wD()});function Ho(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:ePe(t),edges:tPe(t)};return dr(t.graph())||(e.value=rn(t.graph())),e}function ePe(t){return Je(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return dr(r)||(i.value=r),dr(n)||(i.parent=n),i})}function tPe(t){return Je(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return dr(e.name)||(n.name=e.name),dr(r)||(n.value=r),n})}var SD=M(()=>{"use strict";Ht();rT();o(Ho,"write");o(ePe,"writeNodes");o(tPe,"writeEdges")});var wr,zd,Nie,Rie,lT,rPe,Mie,Iie,nPe,Bm,Die,Oie,Pie,Bie,Fie,zie=M(()=>{"use strict";ht();Ns();SD();wr=new Map,zd=new Map,Nie=new Map,Rie=o(()=>{zd.clear(),Nie.clear(),wr.clear()},"clear"),lT=o((t,e)=>{let r=zd.get(e)||[];return Y.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),rPe=o((t,e)=>{let r=zd.get(e)||[];return Y.info("Descendants of ",e," is ",r),Y.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||lT(t.v,e)||lT(t.w,e)||r.includes(t.w):(Y.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Mie=o((t,e,r,n)=>{Y.warn("Copying children of ",t,"root",n,"data",e.node(t),n);let i=e.children(t)||[];t!==n&&i.push(t),Y.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Mie(a,e,r,n);else{let s=e.node(a);Y.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(Y.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(Y.debug("Setting parent",a,t),r.setParent(a,t)):(Y.info("In copy ",t,"root",n,"data",e.node(t),n),Y.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));let l=e.edges(a);Y.debug("Copying Edges",l),l.forEach(u=>{Y.info("Edge",u);let h=e.edge(u.v,u.w,u.name);Y.info("Edge data",h,n);try{rPe(u,n)?(Y.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),Y.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):Y.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",t)}catch(f){Y.error(f)}})}Y.debug("Removing node",a),e.removeNode(a)})},"copy"),Iie=o((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)Nie.set(i,t),n=[...n,...Iie(i,e)];return n},"extractDescendants"),nPe=o((t,e,r)=>{let n=t.edges().filter(u=>u.v===e||u.w===e),i=t.edges().filter(u=>u.v===r||u.w===r),a=n.map(u=>({v:u.v===e?r:u.v,w:u.w===e?e:u.w})),s=i.map(u=>({v:u.v,w:u.w}));return a.filter(u=>s.some(h=>u.v===h.v&&u.w===h.w))},"findCommonEdges"),Bm=o((t,e,r)=>{let n=e.children(t);if(Y.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(let a of n){let s=Bm(a,e,r),l=nPe(e,r,s);if(s)if(l.length>0)i=s;else return s}return i},"findNonClusterChild"),Die=o(t=>!wr.has(t)||!wr.get(t).externalConnections?t:wr.has(t)?wr.get(t).id:t,"getAnchorId"),Oie=o((t,e)=>{if(!t||e>10){Y.debug("Opting out, no graph ");return}else Y.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(Y.warn("Cluster identified",r," Replacement id in edges: ",Bm(r,t,r)),zd.set(r,Iie(r,t)),wr.set(r,{id:Bm(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){let n=t.children(r),i=t.edges();n.length>0?(Y.debug("Cluster identified",r,zd),i.forEach(a=>{let s=lT(a.v,r),l=lT(a.w,r);s^l&&(Y.warn("Edge: ",a," leaves cluster ",r),Y.warn("Descendants of XXX ",r,": ",zd.get(r)),wr.get(r).externalConnections=!0)})):Y.debug("Not a cluster ",r,zd)});for(let r of wr.keys()){let n=wr.get(r).id,i=t.parent(n);i!==r&&wr.has(i)&&!wr.get(i).externalConnections&&(wr.get(r).id=i)}t.edges().forEach(function(r){let n=t.edge(r);Y.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),Y.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(Y.warn("Fix XXX",wr,"ids:",r.v,r.w,"Translating: ",wr.get(r.v)," --- ",wr.get(r.w)),wr.get(r.v)||wr.get(r.w)){if(Y.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=Die(r.v),a=Die(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){let s=t.parent(i);wr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){let s=t.parent(a);wr.get(s).externalConnections=!0,n.toCluster=r.w}Y.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),Y.warn("Adjusted Graph",Ho(t)),Pie(t,0),Y.trace(wr)},"adjustClustersAndEdges"),Pie=o((t,e)=>{if(Y.warn("extractor - ",e,Ho(t),t.children("D")),e>10){Y.error("Bailing out");return}let r=t.nodes(),n=!1;for(let i of r){let a=t.children(i);n=n||a.length>0}if(!n){Y.debug("Done, no node has children",t.nodes());return}Y.debug("Nodes = ",r,e);for(let i of r)if(Y.debug("Extracting node",i,wr,wr.has(i)&&!wr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!wr.has(i))Y.debug("Not a cluster",i,e);else if(!wr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){Y.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";wr.get(i)?.clusterData?.dir&&(s=wr.get(i).clusterData.dir,Y.warn("Fixing dir",wr.get(i).clusterData.dir,s));let l=new Mr({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Y.warn("Old graph before copy",Ho(t)),Mie(i,t,l,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:wr.get(i).clusterData,label:wr.get(i).label,graph:l}),Y.warn("New graph after copy node: (",i,")",Ho(l)),Y.debug("Old graph after copy",Ho(t))}else Y.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!wr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),Y.debug(wr);r=t.nodes(),Y.warn("New list of nodes",r);for(let i of r){let a=t.node(i);Y.warn(" Now next level",i,a),a?.clusterNode&&Pie(a.graph,e+1)}},"extractor"),Bie=o((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{let i=t.children(n),a=Bie(t,i);r=[...r,...a]}),r},"sorter"),Fie=o(t=>Bie(t,t.children()),"sortNodesByHierarchy")});var $ie={};vr($ie,{render:()=>iPe});var Gie,iPe,Vie=M(()=>{"use strict";Pv();SD();Ns();uL();Ft();zie();sw();K5();cL();ht();Cv();Vt();Gie=o(async(t,e,r,n,i,a)=>{Y.warn("Graph in recursive render:XAX",Ho(e),i);let s=e.graph().rankdir;Y.trace("Dir in recursive render - dir:",s);let l=t.insert("g").attr("class","root");e.nodes()?Y.info("Recursive render XXX",e.nodes()):Y.info("No nodes found for",e),e.edges().length>0&&Y.info("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(i!==void 0){let x=JSON.parse(JSON.stringify(i.clusterData));Y.trace(`Setting data for parent cluster XXX Node.id = `,y,` data=`,x.height,` Parent cluster`,i.height),e.setNode(i.id,x),e.parent(y)||(Y.trace("Setting parent",y,i.id),e.setParent(y,i.id,x))}if(Y.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){Y.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:x,nodesep:b}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:x+25,nodesep:b});let w=await Gie(d,v.graph,r,n,e.node(y),a),_=w.elem;Qe(v,_),v.diff=w.diff||0,Y.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),aJ(_,v)}else e.children(y).length>0?(Y.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),Y.trace(Bm(v.id,e)),wr.set(v.id,{id:Bm(v.id,e),node:v})):(Y.trace("Node - the non recursive path XAX",y,d,e.node(y),s),await gm(d,e.node(y),{config:a,dir:s}))})),await o(async()=>{let y=e.edges().map(async function(v){let x=e.edge(v.v,v.w,v.name);Y.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),Y.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),Y.info("Fix",wr,"ids:",v.v,v.w,"Translating: ",wr.get(v.v),wr.get(v.w)),await tw(f,x)});await Promise.all(y)},"processEdges")(),Y.info("Graph before layout:",JSON.stringify(Ho(e))),Y.info("############################################# XXX"),Y.info("### Layout ### XXX"),Y.info("############################################# XXX"),Du(e),Y.info("Graph after layout:",JSON.stringify(Ho(e)));let m=0,{subGraphTitleTotalMargin:g}=_u(a);return await Promise.all(Fie(e).map(async function(y){let v=e.node(y);if(Y.info("Position XBX => "+y+": ("+v.x,","+v.y,") width: ",v.width," height: ",v.height),v?.clusterNode)v.y+=g,Y.info("A tainted cluster node XBX1",y,v.id,v.width,v.height,v.x,v.y,e.parent(y)),wr.get(v.id).node=v,_v(v);else if(e.children(y).length>0){Y.info("A pure cluster node XBX1",y,v.id,v.x,v.y,v.width,v.height,e.parent(y)),v.height+=g,e.node(v.parentId);let x=v?.padding/2||0,b=v?.labelBBox?.height||0,w=b-x||0;Y.debug("OffsetY",w,"labelHeight",b,"halfPadding",x),await mm(u,v),wr.get(v.id).node=v}else{let x=e.node(v.parentId);v.y+=g/2,Y.info("A regular node XBX1 - using the padding",v.id,"parent",v.parentId,v.width,v.height,v.x,v.y,"offsetY",v.offsetY,"parent",x,x?.offsetY,v),_v(v)}})),e.edges().forEach(function(y){let v=e.edge(y);Y.info("Edge "+y.v+" -> "+y.w+": "+JSON.stringify(v),v),v.points.forEach(_=>_.y+=g/2);let x=e.node(y.v);var b=e.node(y.w);let w=nw(h,v,wr,r,x,b,n);rw(v,w)}),e.nodes().forEach(function(y){let v=e.node(y);Y.info(y,v.type,v.diff),v.isGroup&&(m=v.diff)}),Y.warn("Returning from recursive render XAX",l,m),{elem:l,diff:m}},"recursiveRender"),iPe=o(async(t,e)=>{let r=new Mr({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");iw(n,t.markers,t.type,t.diagramId),sJ(),iJ(),ZZ(),Rie(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),Y.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){let s=a.start,l=s+"---"+s+"---1",u=s+"---"+s+"---2",h=r.node(s);r.setNode(l,{domId:l,id:l,parentId:h.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(l,h.parentId),r.setNode(u,{domId:u,id:u,parentId:h.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(u,h.parentId);let f=structuredClone(a),d=structuredClone(a),p=structuredClone(a);f.label="",f.arrowTypeEnd="none",f.id=s+"-cyclic-special-1",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",p.label="",h.isGroup&&(f.fromCluster=s,p.toCluster=s),p.id=s+"-cyclic-special-2",r.setEdge(s,l,f,s+"-cyclic-special-0"),r.setEdge(l,u,d,s+"-cyclic-special-1"),r.setEdge(u,s,p,s+"-cyc{"use strict";lJ();ht();Bv={},CD=o(t=>{for(let e of t)Bv[e.name]=e},"registerLayoutLoaders"),aPe=o(()=>{CD([{name:"dagre",loader:o(async()=>await Promise.resolve().then(()=>(Vie(),$ie)),"loader")}])},"registerDefaultLayoutLoaders");aPe();Fm=o(async(t,e)=>{if(!(t.layoutAlgorithm in Bv))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=Bv[t.layoutAlgorithm];return(await r.loader()).render(t,e,oJ,{algorithm:r.algorithm})},"render"),cT=o((t="",{fallback:e="dagre"}={})=>{if(t in Bv)return t;if(e in Bv)return Y.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm")});var zm,sPe,oPe,uT=M(()=>{"use strict";ni();ht();zm=o((t,e,r,n)=>{t.attr("class",r);let{width:i,height:a,x:s,y:l}=sPe(t,e);Zr(t,a,i,n);let u=oPe(s,l,i,a,e);t.attr("viewBox",u),Y.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),sPe=o((t,e)=>{let r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),oPe=o((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox")});var lPe,cPe,Uie,Hie=M(()=>{"use strict";mr();Vt();ht();j5();Fv();uT();hr();oL();lPe=o(function(t,e){return e.db.getClasses()},"getClasses"),cPe=o(async function(t,e,r,n){Y.info("REF0:"),Y.info("Drawing state diagram (v2)",e);let{securityLevel:i,flowchart:a,layout:s}=de(),l;i==="sandbox"&&(l=ze("#i"+e));let u=i==="sandbox"?l.nodes()[0].contentDocument:document;Y.debug("Before getData: ");let h=n.db.getData();Y.debug("Data: ",h);let f=pm(e,i),d=sL();h.type=n.type,h.layoutAlgorithm=cT(s),h.layoutAlgorithm==="dagre"&&s==="elk"&&Y.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=d,h.nodeSpacing=a?.nodeSpacing||50,h.rankSpacing=a?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=e,Y.debug("REF1:",h),await Fm(h,f);let p=h.config.flowchart?.diagramPadding??8;Ut.insertTitle(f,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),zm(f,p,"flowchart",a?.useMaxWidth||!1);for(let m of h.nodes){let g=ze(`#${e} [id="${m.id}"]`);if(!g||!m.link)continue;let y=u.createElementNS("http://www.w3.org/2000/svg","a");y.setAttributeNS("http://www.w3.org/2000/svg","class",m.cssClasses),y.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),i==="sandbox"?y.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):m.linkTarget&&y.setAttributeNS("http://www.w3.org/2000/svg","target",m.linkTarget);let v=g.insert(function(){return y},":first-child"),x=g.select(".label-container");x&&v.append(function(){return x.node()});let b=g.select(".label");b&&v.append(function(){return b.node()})}},"draw"),Uie={getClasses:lPe,draw:cPe}});var AD,Wie,Yie=M(()=>{"use strict";AD=function(){var t=o(function(kn,_t,St,bt){for(St=St||{},bt=kn.length;bt--;St[kn[bt]]=_t);return St},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,83,84,85,86,87,88,101,104,105,108,110,113,114,115,120,121,122,123],a=[2,2],s=[1,13],l=[1,14],u=[1,15],h=[1,16],f=[1,23],d=[1,25],p=[1,26],m=[1,27],g=[1,49],y=[1,48],v=[1,29],x=[1,30],b=[1,31],w=[1,32],_=[1,33],T=[1,44],E=[1,46],L=[1,42],C=[1,47],A=[1,43],I=[1,50],D=[1,45],k=[1,51],R=[1,52],S=[1,34],O=[1,35],N=[1,36],P=[1,37],F=[1,57],B=[1,8,9,10,11,27,32,34,36,38,44,60,83,84,85,86,87,88,101,104,105,108,110,113,114,115,120,121,122,123],$=[1,61],z=[1,60],W=[1,62],j=[8,9,11,75,77],K=[1,77],ie=[1,90],Q=[1,95],ee=[1,94],J=[1,91],H=[1,87],q=[1,93],Z=[1,89],ae=[1,96],ue=[1,92],ce=[1,97],te=[1,88],De=[8,9,10,11,40,75,77],oe=[8,9,10,11,40,46,75,77],ke=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,88,101,104,105,108,110,113,114,115],Fe=[8,9,11,44,60,75,77,88,101,104,105,108,110,113,114,115],Be=[44,60,88,101,104,105,108,110,113,114,115],Ve=[1,123],Ge=[1,122],He=[1,130],xe=[1,144],X=[1,145],fe=[1,146],he=[1,147],ge=[1,132],ne=[1,134],ye=[1,138],U=[1,139],Te=[1,140],se=[1,141],Ee=[1,142],Ae=[1,143],Pe=[1,148],Me=[1,149],me=[1,128],We=[1,129],Re=[1,136],tt=[1,131],gt=[1,135],Et=[1,133],vt=[8,9,10,11,27,32,34,36,38,44,60,83,84,85,86,87,88,101,104,105,108,110,113,114,115,120,121,122,123],Ye=[1,151],Tt=[1,153],$e=[8,9,11],rt=[8,9,10,11,14,44,60,88,104,105,108,110,113,114,115],ft=[1,173],kt=[1,169],er=[1,170],dt=[1,174],Xe=[1,171],ct=[1,172],Lt=[77,115,118],Rt=[8,9,10,11,12,14,27,29,32,44,60,75,83,84,85,86,87,88,89,104,108,110,113,114,115],zt=[10,105],Xn=[31,49,51,53,55,57,62,64,66,67,69,71,115,116,117],or=[1,242],hn=[1,240],Tn=[1,244],Ur=[1,238],ri=[1,239],Mn=[1,241],yt=[1,243],Se=[1,245],at=[1,263],At=[8,9,11,105],pr=[8,9,10,11,60,83,104,105,108,109,110,111],In={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,edgeTextToken:78,STR:79,MD_STR:80,textToken:81,keywords:82,STYLE:83,LINKSTYLE:84,CLASSDEF:85,CLASS:86,CLICK:87,DOWN:88,UP:89,textNoTagsToken:90,stylesOpt:91,"idString[vertex]":92,"idString[class]":93,CALLBACKNAME:94,CALLBACKARGS:95,HREF:96,LINK_TARGET:97,"STR[link]":98,"STR[tooltip]":99,alphaNum:100,DEFAULT:101,numList:102,INTERPOLATE:103,NUM:104,COMMA:105,style:106,styleComponent:107,NODE_STRING:108,UNIT:109,BRKT:110,PCT:111,idStringToken:112,MINUS:113,MULT:114,UNICODE_TEXT:115,TEXT:116,TAGSTART:117,EDGE_TEXT:118,alphaNumToken:119,direction_tb:120,direction_bt:121,direction_rl:122,direction_lr:123,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",79:"STR",80:"MD_STR",83:"STYLE",84:"LINKSTYLE",85:"CLASSDEF",86:"CLASS",87:"CLICK",88:"DOWN",89:"UP",92:"idString[vertex]",93:"idString[class]",94:"CALLBACKNAME",95:"CALLBACKARGS",96:"HREF",97:"LINK_TARGET",98:"STR[link]",99:"STR[tooltip]",101:"DEFAULT",103:"INTERPOLATE",104:"NUM",105:"COMMA",108:"NODE_STRING",109:"UNIT",110:"BRKT",111:"PCT",113:"MINUS",114:"MULT",115:"UNICODE_TEXT",116:"TEXT",117:"TAGSTART",118:"EDGE_TEXT",120:"direction_tb",121:"direction_bt",122:"direction_rl",123:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[76,1],[76,2],[76,1],[76,1],[72,1],[73,3],[30,1],[30,2],[30,1],[30,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[82,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[102,1],[102,3],[91,1],[91,3],[106,1],[106,2],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[112,1],[81,1],[81,1],[81,1],[81,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[90,1],[78,1],[78,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[119,1],[47,1],[47,2],[100,1],[100,2],[33,1],[33,1],[33,1],[33,1]],performAction:o(function(_t,St,bt,Ue,Kt,pe,bi){var be=pe.length-1;switch(Kt){case 2:this.$=[];break;case 3:(!Array.isArray(pe[be])||pe[be].length>0)&&pe[be-1].push(pe[be]),this.$=pe[be-1];break;case 4:case 181:this.$=pe[be];break;case 11:Ue.setDirection("TB"),this.$="TB";break;case 12:Ue.setDirection(pe[be-1]),this.$=pe[be-1];break;case 27:this.$=pe[be-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Ue.addSubGraph(pe[be-6],pe[be-1],pe[be-4]);break;case 34:this.$=Ue.addSubGraph(pe[be-3],pe[be-1],pe[be-3]);break;case 35:this.$=Ue.addSubGraph(void 0,pe[be-1],void 0);break;case 37:this.$=pe[be].trim(),Ue.setAccTitle(this.$);break;case 38:case 39:this.$=pe[be].trim(),Ue.setAccDescription(this.$);break;case 43:this.$=pe[be-1]+pe[be];break;case 44:this.$=pe[be];break;case 45:Ue.addVertex(pe[be-1][0],void 0,void 0,void 0,void 0,void 0,void 0,pe[be]),Ue.addLink(pe[be-3].stmt,pe[be-1],pe[be-2]),this.$={stmt:pe[be-1],nodes:pe[be-1].concat(pe[be-3].nodes)};break;case 46:Ue.addLink(pe[be-2].stmt,pe[be],pe[be-1]),this.$={stmt:pe[be],nodes:pe[be].concat(pe[be-2].nodes)};break;case 47:Ue.addLink(pe[be-3].stmt,pe[be-1],pe[be-2]),this.$={stmt:pe[be-1],nodes:pe[be-1].concat(pe[be-3].nodes)};break;case 48:this.$={stmt:pe[be-1],nodes:pe[be-1]};break;case 49:Ue.addVertex(pe[be-1][0],void 0,void 0,void 0,void 0,void 0,void 0,pe[be]),this.$={stmt:pe[be-1],nodes:pe[be-1],shapeData:pe[be]};break;case 50:this.$={stmt:pe[be],nodes:pe[be]};break;case 51:this.$=[pe[be]];break;case 52:Ue.addVertex(pe[be-5][0],void 0,void 0,void 0,void 0,void 0,void 0,pe[be-4]),this.$=pe[be-5].concat(pe[be]);break;case 53:this.$=pe[be-4].concat(pe[be]);break;case 54:this.$=pe[be];break;case 55:this.$=pe[be-2],Ue.setClass(pe[be-2],pe[be]);break;case 56:this.$=pe[be-3],Ue.addVertex(pe[be-3],pe[be-1],"square");break;case 57:this.$=pe[be-3],Ue.addVertex(pe[be-3],pe[be-1],"doublecircle");break;case 58:this.$=pe[be-5],Ue.addVertex(pe[be-5],pe[be-2],"circle");break;case 59:this.$=pe[be-3],Ue.addVertex(pe[be-3],pe[be-1],"ellipse");break;case 60:this.$=pe[be-3],Ue.addVertex(pe[be-3],pe[be-1],"stadium");break;case 61:this.$=pe[be-3],Ue.addVertex(pe[be-3],pe[be-1],"subroutine");break;case 62:this.$=pe[be-7],Ue.addVertex(pe[be-7],pe[be-1],"rect",void 0,void 0,void 0,Object.fromEntries([[pe[be-5],pe[be-3]]]));break;case 63:this.$=pe[be-3],Ue.addVertex(pe[be-3],pe[be-1],"cylinder");break;case 64:this.$=pe[be-3],Ue.addVertex(pe[be-3],pe[be-1],"round");break;case 65:this.$=pe[be-3],Ue.addVertex(pe[be-3],pe[be-1],"diamond");break;case 66:this.$=pe[be-5],Ue.addVertex(pe[be-5],pe[be-2],"hexagon");break;case 67:this.$=pe[be-3],Ue.addVertex(pe[be-3],pe[be-1],"odd");break;case 68:this.$=pe[be-3],Ue.addVertex(pe[be-3],pe[be-1],"trapezoid");break;case 69:this.$=pe[be-3],Ue.addVertex(pe[be-3],pe[be-1],"inv_trapezoid");break;case 70:this.$=pe[be-3],Ue.addVertex(pe[be-3],pe[be-1],"lean_right");break;case 71:this.$=pe[be-3],Ue.addVertex(pe[be-3],pe[be-1],"lean_left");break;case 72:this.$=pe[be],Ue.addVertex(pe[be]);break;case 73:pe[be-1].text=pe[be],this.$=pe[be-1];break;case 74:case 75:pe[be-2].text=pe[be-1],this.$=pe[be-2];break;case 76:this.$=pe[be];break;case 77:var vo=Ue.destructLink(pe[be],pe[be-2]);this.$={type:vo.type,stroke:vo.stroke,length:vo.length,text:pe[be-1]};break;case 78:this.$={text:pe[be],type:"text"};break;case 79:this.$={text:pe[be-1].text+""+pe[be],type:pe[be-1].type};break;case 80:this.$={text:pe[be],type:"string"};break;case 81:this.$={text:pe[be],type:"markdown"};break;case 82:var vo=Ue.destructLink(pe[be]);this.$={type:vo.type,stroke:vo.stroke,length:vo.length};break;case 83:this.$=pe[be-1];break;case 84:this.$={text:pe[be],type:"text"};break;case 85:this.$={text:pe[be-1].text+""+pe[be],type:pe[be-1].type};break;case 86:this.$={text:pe[be],type:"string"};break;case 87:case 102:this.$={text:pe[be],type:"markdown"};break;case 99:this.$={text:pe[be],type:"text"};break;case 100:this.$={text:pe[be-1].text+""+pe[be],type:pe[be-1].type};break;case 101:this.$={text:pe[be],type:"text"};break;case 103:this.$=pe[be-4],Ue.addClass(pe[be-2],pe[be]);break;case 104:this.$=pe[be-4],Ue.setClass(pe[be-2],pe[be]);break;case 105:case 113:this.$=pe[be-1],Ue.setClickEvent(pe[be-1],pe[be]);break;case 106:case 114:this.$=pe[be-3],Ue.setClickEvent(pe[be-3],pe[be-2]),Ue.setTooltip(pe[be-3],pe[be]);break;case 107:this.$=pe[be-2],Ue.setClickEvent(pe[be-2],pe[be-1],pe[be]);break;case 108:this.$=pe[be-4],Ue.setClickEvent(pe[be-4],pe[be-3],pe[be-2]),Ue.setTooltip(pe[be-4],pe[be]);break;case 109:this.$=pe[be-2],Ue.setLink(pe[be-2],pe[be]);break;case 110:this.$=pe[be-4],Ue.setLink(pe[be-4],pe[be-2]),Ue.setTooltip(pe[be-4],pe[be]);break;case 111:this.$=pe[be-4],Ue.setLink(pe[be-4],pe[be-2],pe[be]);break;case 112:this.$=pe[be-6],Ue.setLink(pe[be-6],pe[be-4],pe[be]),Ue.setTooltip(pe[be-6],pe[be-2]);break;case 115:this.$=pe[be-1],Ue.setLink(pe[be-1],pe[be]);break;case 116:this.$=pe[be-3],Ue.setLink(pe[be-3],pe[be-2]),Ue.setTooltip(pe[be-3],pe[be]);break;case 117:this.$=pe[be-3],Ue.setLink(pe[be-3],pe[be-2],pe[be]);break;case 118:this.$=pe[be-5],Ue.setLink(pe[be-5],pe[be-4],pe[be]),Ue.setTooltip(pe[be-5],pe[be-2]);break;case 119:this.$=pe[be-4],Ue.addVertex(pe[be-2],void 0,void 0,pe[be]);break;case 120:this.$=pe[be-4],Ue.updateLink([pe[be-2]],pe[be]);break;case 121:this.$=pe[be-4],Ue.updateLink(pe[be-2],pe[be]);break;case 122:this.$=pe[be-8],Ue.updateLinkInterpolate([pe[be-6]],pe[be-2]),Ue.updateLink([pe[be-6]],pe[be]);break;case 123:this.$=pe[be-8],Ue.updateLinkInterpolate(pe[be-6],pe[be-2]),Ue.updateLink(pe[be-6],pe[be]);break;case 124:this.$=pe[be-6],Ue.updateLinkInterpolate([pe[be-4]],pe[be]);break;case 125:this.$=pe[be-6],Ue.updateLinkInterpolate(pe[be-4],pe[be]);break;case 126:case 128:this.$=[pe[be]];break;case 127:case 129:pe[be-2].push(pe[be]),this.$=pe[be-2];break;case 131:this.$=pe[be-1]+pe[be];break;case 179:this.$=pe[be];break;case 180:this.$=pe[be-1]+""+pe[be];break;case 182:this.$=pe[be-1]+""+pe[be];break;case 183:this.$={stmt:"dir",value:"TB"};break;case 184:this.$={stmt:"dir",value:"BT"};break;case 185:this.$={stmt:"dir",value:"RL"};break;case 186:this.$={stmt:"dir",value:"LR"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,83:v,84:x,85:b,86:w,87:_,88:T,101:E,104:L,105:C,108:A,110:I,112:41,113:D,114:k,115:R,120:S,121:O,122:N,123:P},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,54],9:[1,55],10:F,15:53,18:56},t(B,[2,3]),t(B,[2,4]),t(B,[2,5]),t(B,[2,6]),t(B,[2,7]),t(B,[2,8]),{8:$,9:z,11:W,21:58,41:59,72:63,75:[1,64],77:[1,65]},{8:$,9:z,11:W,21:66},{8:$,9:z,11:W,21:67},{8:$,9:z,11:W,21:68},{8:$,9:z,11:W,21:69},{8:$,9:z,11:W,21:70},{8:$,9:z,10:[1,71],11:W,21:72},t(B,[2,36]),{35:[1,73]},{37:[1,74]},t(B,[2,39]),t(j,[2,50],{18:75,39:76,10:F,40:K}),{10:[1,78]},{10:[1,79]},{10:[1,80]},{10:[1,81]},{14:ie,44:Q,60:ee,79:[1,85],88:J,94:[1,82],96:[1,83],100:84,104:H,105:q,108:Z,110:ae,113:ue,114:ce,115:te,119:86},t(B,[2,183]),t(B,[2,184]),t(B,[2,185]),t(B,[2,186]),t(De,[2,51]),t(De,[2,54],{46:[1,98]}),t(oe,[2,72],{112:111,29:[1,99],44:g,48:[1,100],50:[1,101],52:[1,102],54:[1,103],56:[1,104],58:[1,105],60:y,63:[1,106],65:[1,107],67:[1,108],68:[1,109],70:[1,110],88:T,101:E,104:L,105:C,108:A,110:I,113:D,114:k,115:R}),t(ke,[2,179]),t(ke,[2,140]),t(ke,[2,141]),t(ke,[2,142]),t(ke,[2,143]),t(ke,[2,144]),t(ke,[2,145]),t(ke,[2,146]),t(ke,[2,147]),t(ke,[2,148]),t(ke,[2,149]),t(ke,[2,150]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,112]},t(Fe,[2,26],{18:113,10:F}),t(B,[2,27]),{42:114,43:38,44:g,45:39,47:40,60:y,88:T,101:E,104:L,105:C,108:A,110:I,112:41,113:D,114:k,115:R},t(B,[2,40]),t(B,[2,41]),t(B,[2,42]),t(Be,[2,76],{73:115,62:[1,117],74:[1,116]}),{76:118,78:119,79:[1,120],80:[1,121],115:Ve,118:Ge},t([44,60,62,74,88,101,104,105,108,110,113,114,115],[2,82]),t(B,[2,28]),t(B,[2,29]),t(B,[2,30]),t(B,[2,31]),t(B,[2,32]),{10:He,12:xe,14:X,27:fe,28:124,32:he,44:ge,60:ne,75:ye,79:[1,126],80:[1,127],82:137,83:U,84:Te,85:se,86:Ee,87:Ae,88:Pe,89:Me,90:125,104:me,108:We,110:Re,113:tt,114:gt,115:Et},t(vt,a,{5:150}),t(B,[2,37]),t(B,[2,38]),t(j,[2,48],{44:Ye}),t(j,[2,49],{18:152,10:F,40:Tt}),t(De,[2,44]),{44:g,47:154,60:y,88:T,101:E,104:L,105:C,108:A,110:I,112:41,113:D,114:k,115:R},{101:[1,155],102:156,104:[1,157]},{44:g,47:158,60:y,88:T,101:E,104:L,105:C,108:A,110:I,112:41,113:D,114:k,115:R},{44:g,47:159,60:y,88:T,101:E,104:L,105:C,108:A,110:I,112:41,113:D,114:k,115:R},t($e,[2,105],{10:[1,160],95:[1,161]}),{79:[1,162]},t($e,[2,113],{119:164,10:[1,163],14:ie,44:Q,60:ee,88:J,104:H,105:q,108:Z,110:ae,113:ue,114:ce,115:te}),t($e,[2,115],{10:[1,165]}),t(rt,[2,181]),t(rt,[2,168]),t(rt,[2,169]),t(rt,[2,170]),t(rt,[2,171]),t(rt,[2,172]),t(rt,[2,173]),t(rt,[2,174]),t(rt,[2,175]),t(rt,[2,176]),t(rt,[2,177]),t(rt,[2,178]),{44:g,47:166,60:y,88:T,101:E,104:L,105:C,108:A,110:I,112:41,113:D,114:k,115:R},{30:167,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},{30:175,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},{30:177,50:[1,176],67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},{30:178,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},{30:179,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},{30:180,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},{108:[1,181]},{30:182,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},{30:183,65:[1,184],67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},{30:185,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},{30:186,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},{30:187,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},t(ke,[2,180]),t(i,[2,20]),t(Fe,[2,25]),t(j,[2,46],{39:188,18:189,10:F,40:K}),t(Be,[2,73],{10:[1,190]}),{10:[1,191]},{30:192,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},{77:[1,193],78:194,115:Ve,118:Ge},t(Lt,[2,78]),t(Lt,[2,80]),t(Lt,[2,81]),t(Lt,[2,166]),t(Lt,[2,167]),{8:$,9:z,10:He,11:W,12:xe,14:X,21:196,27:fe,29:[1,195],32:he,44:ge,60:ne,75:ye,82:137,83:U,84:Te,85:se,86:Ee,87:Ae,88:Pe,89:Me,90:197,104:me,108:We,110:Re,113:tt,114:gt,115:Et},t(Rt,[2,99]),t(Rt,[2,101]),t(Rt,[2,102]),t(Rt,[2,155]),t(Rt,[2,156]),t(Rt,[2,157]),t(Rt,[2,158]),t(Rt,[2,159]),t(Rt,[2,160]),t(Rt,[2,161]),t(Rt,[2,162]),t(Rt,[2,163]),t(Rt,[2,164]),t(Rt,[2,165]),t(Rt,[2,88]),t(Rt,[2,89]),t(Rt,[2,90]),t(Rt,[2,91]),t(Rt,[2,92]),t(Rt,[2,93]),t(Rt,[2,94]),t(Rt,[2,95]),t(Rt,[2,96]),t(Rt,[2,97]),t(Rt,[2,98]),{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,198],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,83:v,84:x,85:b,86:w,87:_,88:T,101:E,104:L,105:C,108:A,110:I,112:41,113:D,114:k,115:R,120:S,121:O,122:N,123:P},{10:F,18:199},{44:[1,200]},t(De,[2,43]),{10:[1,201],44:g,60:y,88:T,101:E,104:L,105:C,108:A,110:I,112:111,113:D,114:k,115:R},{10:[1,202]},{10:[1,203],105:[1,204]},t(zt,[2,126]),{10:[1,205],44:g,60:y,88:T,101:E,104:L,105:C,108:A,110:I,112:111,113:D,114:k,115:R},{10:[1,206],44:g,60:y,88:T,101:E,104:L,105:C,108:A,110:I,112:111,113:D,114:k,115:R},{79:[1,207]},t($e,[2,107],{10:[1,208]}),t($e,[2,109],{10:[1,209]}),{79:[1,210]},t(rt,[2,182]),{79:[1,211],97:[1,212]},t(De,[2,55],{112:111,44:g,60:y,88:T,101:E,104:L,105:C,108:A,110:I,113:D,114:k,115:R}),{31:[1,213],67:ft,81:214,115:dt,116:Xe,117:ct},t(Xn,[2,84]),t(Xn,[2,86]),t(Xn,[2,87]),t(Xn,[2,151]),t(Xn,[2,152]),t(Xn,[2,153]),t(Xn,[2,154]),{49:[1,215],67:ft,81:214,115:dt,116:Xe,117:ct},{30:216,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},{51:[1,217],67:ft,81:214,115:dt,116:Xe,117:ct},{53:[1,218],67:ft,81:214,115:dt,116:Xe,117:ct},{55:[1,219],67:ft,81:214,115:dt,116:Xe,117:ct},{57:[1,220],67:ft,81:214,115:dt,116:Xe,117:ct},{60:[1,221]},{64:[1,222],67:ft,81:214,115:dt,116:Xe,117:ct},{66:[1,223],67:ft,81:214,115:dt,116:Xe,117:ct},{30:224,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},{31:[1,225],67:ft,81:214,115:dt,116:Xe,117:ct},{67:ft,69:[1,226],71:[1,227],81:214,115:dt,116:Xe,117:ct},{67:ft,69:[1,229],71:[1,228],81:214,115:dt,116:Xe,117:ct},t(j,[2,45],{18:152,10:F,40:Tt}),t(j,[2,47],{44:Ye}),t(Be,[2,75]),t(Be,[2,74]),{62:[1,230],67:ft,81:214,115:dt,116:Xe,117:ct},t(Be,[2,77]),t(Lt,[2,79]),{30:231,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},t(vt,a,{5:232}),t(Rt,[2,100]),t(B,[2,35]),{43:233,44:g,45:39,47:40,60:y,88:T,101:E,104:L,105:C,108:A,110:I,112:41,113:D,114:k,115:R},{10:F,18:234},{10:or,60:hn,83:Tn,91:235,104:Ur,106:236,107:237,108:ri,109:Mn,110:yt,111:Se},{10:or,60:hn,83:Tn,91:246,103:[1,247],104:Ur,106:236,107:237,108:ri,109:Mn,110:yt,111:Se},{10:or,60:hn,83:Tn,91:248,103:[1,249],104:Ur,106:236,107:237,108:ri,109:Mn,110:yt,111:Se},{104:[1,250]},{10:or,60:hn,83:Tn,91:251,104:Ur,106:236,107:237,108:ri,109:Mn,110:yt,111:Se},{44:g,47:252,60:y,88:T,101:E,104:L,105:C,108:A,110:I,112:41,113:D,114:k,115:R},t($e,[2,106]),{79:[1,253]},{79:[1,254],97:[1,255]},t($e,[2,114]),t($e,[2,116],{10:[1,256]}),t($e,[2,117]),t(oe,[2,56]),t(Xn,[2,85]),t(oe,[2,57]),{51:[1,257],67:ft,81:214,115:dt,116:Xe,117:ct},t(oe,[2,64]),t(oe,[2,59]),t(oe,[2,60]),t(oe,[2,61]),{108:[1,258]},t(oe,[2,63]),t(oe,[2,65]),{66:[1,259],67:ft,81:214,115:dt,116:Xe,117:ct},t(oe,[2,67]),t(oe,[2,68]),t(oe,[2,70]),t(oe,[2,69]),t(oe,[2,71]),t([10,44,60,88,101,104,105,108,110,113,114,115],[2,83]),{31:[1,260],67:ft,81:214,115:dt,116:Xe,117:ct},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,261],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,83:v,84:x,85:b,86:w,87:_,88:T,101:E,104:L,105:C,108:A,110:I,112:41,113:D,114:k,115:R,120:S,121:O,122:N,123:P},t(De,[2,53]),{43:262,44:g,45:39,47:40,60:y,88:T,101:E,104:L,105:C,108:A,110:I,112:41,113:D,114:k,115:R},t($e,[2,119],{105:at}),t(At,[2,128],{107:264,10:or,60:hn,83:Tn,104:Ur,108:ri,109:Mn,110:yt,111:Se}),t(pr,[2,130]),t(pr,[2,132]),t(pr,[2,133]),t(pr,[2,134]),t(pr,[2,135]),t(pr,[2,136]),t(pr,[2,137]),t(pr,[2,138]),t(pr,[2,139]),t($e,[2,120],{105:at}),{10:[1,265]},t($e,[2,121],{105:at}),{10:[1,266]},t(zt,[2,127]),t($e,[2,103],{105:at}),t($e,[2,104],{112:111,44:g,60:y,88:T,101:E,104:L,105:C,108:A,110:I,113:D,114:k,115:R}),t($e,[2,108]),t($e,[2,110],{10:[1,267]}),t($e,[2,111]),{97:[1,268]},{51:[1,269]},{62:[1,270]},{66:[1,271]},{8:$,9:z,11:W,21:272},t(B,[2,34]),t(De,[2,52]),{10:or,60:hn,83:Tn,104:Ur,106:273,107:237,108:ri,109:Mn,110:yt,111:Se},t(pr,[2,131]),{14:ie,44:Q,60:ee,88:J,100:274,104:H,105:q,108:Z,110:ae,113:ue,114:ce,115:te,119:86},{14:ie,44:Q,60:ee,88:J,100:275,104:H,105:q,108:Z,110:ae,113:ue,114:ce,115:te,119:86},{97:[1,276]},t($e,[2,118]),t(oe,[2,58]),{30:277,67:ft,79:kt,80:er,81:168,115:dt,116:Xe,117:ct},t(oe,[2,66]),t(vt,a,{5:278}),t(At,[2,129],{107:264,10:or,60:hn,83:Tn,104:Ur,108:ri,109:Mn,110:yt,111:Se}),t($e,[2,124],{119:164,10:[1,279],14:ie,44:Q,60:ee,88:J,104:H,105:q,108:Z,110:ae,113:ue,114:ce,115:te}),t($e,[2,125],{119:164,10:[1,280],14:ie,44:Q,60:ee,88:J,104:H,105:q,108:Z,110:ae,113:ue,114:ce,115:te}),t($e,[2,112]),{31:[1,281],67:ft,81:214,115:dt,116:Xe,117:ct},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,282],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,83:v,84:x,85:b,86:w,87:_,88:T,101:E,104:L,105:C,108:A,110:I,112:41,113:D,114:k,115:R,120:S,121:O,122:N,123:P},{10:or,60:hn,83:Tn,91:283,104:Ur,106:236,107:237,108:ri,109:Mn,110:yt,111:Se},{10:or,60:hn,83:Tn,91:284,104:Ur,106:236,107:237,108:ri,109:Mn,110:yt,111:Se},t(oe,[2,62]),t(B,[2,33]),t($e,[2,122],{105:at}),t($e,[2,123],{105:at})],defaultActions:{},parseError:o(function(_t,St){if(St.recoverable)this.trace(_t);else{var bt=new Error(_t);throw bt.hash=St,bt}},"parseError"),parse:o(function(_t){var St=this,bt=[0],Ue=[],Kt=[null],pe=[],bi=this.table,be="",vo=0,bF=0,wF=0,axe=2,TF=1,sxe=pe.slice.call(arguments,1),ji=Object.create(this.lexer),Pf={yy:{}};for(var gS in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gS)&&(Pf.yy[gS]=this.yy[gS]);ji.setInput(_t,Pf.yy),Pf.yy.lexer=ji,Pf.yy.parser=this,typeof ji.yylloc>"u"&&(ji.yylloc={});var yS=ji.yylloc;pe.push(yS);var oxe=ji.options&&ji.options.ranges;typeof Pf.yy.parseError=="function"?this.parseError=Pf.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Sat(Vs){bt.length=bt.length-2*Vs,Kt.length=Kt.length-Vs,pe.length=pe.length-Vs}o(Sat,"popStack");function lxe(){var Vs;return Vs=Ue.pop()||ji.lex()||TF,typeof Vs!="number"&&(Vs instanceof Array&&(Ue=Vs,Vs=Ue.pop()),Vs=St.symbols_[Vs]||Vs),Vs}o(lxe,"lex");for(var Va,vS,Bf,xo,Cat,xS,Q0={},Eb,Xc,kF,Sb;;){if(Bf=bt[bt.length-1],this.defaultActions[Bf]?xo=this.defaultActions[Bf]:((Va===null||typeof Va>"u")&&(Va=lxe()),xo=bi[Bf]&&bi[Bf][Va]),typeof xo>"u"||!xo.length||!xo[0]){var bS="";Sb=[];for(Eb in bi[Bf])this.terminals_[Eb]&&Eb>axe&&Sb.push("'"+this.terminals_[Eb]+"'");ji.showPosition?bS="Parse error on line "+(vo+1)+`: `+ji.showPosition()+` Expecting `+Sb.join(", ")+", got '"+(this.terminals_[Va]||Va)+"'":bS="Parse error on line "+(vo+1)+": Unexpected "+(Va==TF?"end of input":"'"+(this.terminals_[Va]||Va)+"'"),this.parseError(bS,{text:ji.match,token:this.terminals_[Va]||Va,line:ji.yylineno,loc:yS,expected:Sb})}if(xo[0]instanceof Array&&xo.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Bf+", token: "+Va);switch(xo[0]){case 1:bt.push(Va),Kt.push(ji.yytext),pe.push(ji.yylloc),bt.push(xo[1]),Va=null,vS?(Va=vS,vS=null):(bF=ji.yyleng,be=ji.yytext,vo=ji.yylineno,yS=ji.yylloc,wF>0&&wF--);break;case 2:if(Xc=this.productions_[xo[1]][1],Q0.$=Kt[Kt.length-Xc],Q0._$={first_line:pe[pe.length-(Xc||1)].first_line,last_line:pe[pe.length-1].last_line,first_column:pe[pe.length-(Xc||1)].first_column,last_column:pe[pe.length-1].last_column},oxe&&(Q0._$.range=[pe[pe.length-(Xc||1)].range[0],pe[pe.length-1].range[1]]),xS=this.performAction.apply(Q0,[be,bF,vo,Pf.yy,xo[1],Kt,pe].concat(sxe)),typeof xS<"u")return xS;Xc&&(bt=bt.slice(0,-1*Xc*2),Kt=Kt.slice(0,-1*Xc),pe=pe.slice(0,-1*Xc)),bt.push(this.productions_[xo[1]][0]),Kt.push(Q0.$),pe.push(Q0._$),kF=bi[bt[bt.length-2]][bt[bt.length-1]],bt.push(kF);break;case 3:return!0}}return!0},"parse")},On=function(){var kn={EOF:1,parseError:o(function(St,bt){if(this.yy.parser)this.yy.parser.parseError(St,bt);else throw new Error(St)},"parseError"),setInput:o(function(_t,St){return this.yy=St||this.yy||{},this._input=_t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var _t=this._input[0];this.yytext+=_t,this.yyleng++,this.offset++,this.match+=_t,this.matched+=_t;var St=_t.match(/(?:\r\n?|\n).*/g);return St?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_t},"input"),unput:o(function(_t){var St=_t.length,bt=_t.split(/(?:\r\n?|\n)/g);this._input=_t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-St),this.offset-=St;var Ue=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),bt.length-1&&(this.yylineno-=bt.length-1);var Kt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:bt?(bt.length===Ue.length?this.yylloc.first_column:0)+Ue[Ue.length-bt.length].length-bt[0].length:this.yylloc.first_column-St},this.options.ranges&&(this.yylloc.range=[Kt[0],Kt[0]+this.yyleng-St]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(_t){this.unput(this.match.slice(_t))},"less"),pastInput:o(function(){var _t=this.matched.substr(0,this.matched.length-this.match.length);return(_t.length>20?"...":"")+_t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var _t=this.match;return _t.length<20&&(_t+=this._input.substr(0,20-_t.length)),(_t.substr(0,20)+(_t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var _t=this.pastInput(),St=new Array(_t.length+1).join("-");return _t+this.upcomingInput()+` `+St+"^"},"showPosition"),test_match:o(function(_t,St){var bt,Ue,Kt;if(this.options.backtrack_lexer&&(Kt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Kt.yylloc.range=this.yylloc.range.slice(0))),Ue=_t[0].match(/(?:\r\n?|\n).*/g),Ue&&(this.yylineno+=Ue.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ue?Ue[Ue.length-1].length-Ue[Ue.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_t[0].length},this.yytext+=_t[0],this.match+=_t[0],this.matches=_t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_t[0].length),this.matched+=_t[0],bt=this.performAction.call(this,this.yy,this,St,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),bt)return bt;if(this._backtrack){for(var pe in Kt)this[pe]=Kt[pe];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _t,St,bt,Ue;this._more||(this.yytext="",this.match="");for(var Kt=this._currentRules(),pe=0;peSt[0].length)){if(St=bt,Ue=pe,this.options.backtrack_lexer){if(_t=this.test_match(bt,Kt[pe]),_t!==!1)return _t;if(this._backtrack){St=!1;continue}else return!1}else if(!this.options.flex)break}return St?(_t=this.test_match(St,Kt[Ue]),_t!==!1?_t:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var St=this.next();return St||this.lex()},"lex"),begin:o(function(St){this.conditionStack.push(St)},"begin"),popState:o(function(){var St=this.conditionStack.length-1;return St>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(St){return St=this.conditionStack.length-1-Math.abs(St||0),St>=0?this.conditionStack[St]:"INITIAL"},"topState"),pushState:o(function(St){this.begin(St)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(St,bt,Ue,Kt){var pe=Kt;switch(Ue){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),bt.yytext="",40;break;case 8:return this.pushState("shapeDataStr"),40;break;case 9:return this.popState(),40;break;case 10:let bi=/\n\s*/g;return bt.yytext=bt.yytext.replace(bi,"
    "),40;break;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 94;case 17:this.popState();break;case 18:return 95;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 83;case 26:return 101;case 27:return 84;case 28:return 103;case 29:return 85;case 30:return 86;case 31:return 96;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 87;case 35:return St.lex.firstGraph()&&this.begin("dir"),12;break;case 36:return St.lex.firstGraph()&&this.begin("dir"),12;break;case 37:return St.lex.firstGraph()&&this.begin("dir"),12;break;case 38:return 27;case 39:return 32;case 40:return 97;case 41:return 97;case 42:return 97;case 43:return 97;case 44:return this.popState(),13;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return this.popState(),14;break;case 50:return this.popState(),14;break;case 51:return this.popState(),14;break;case 52:return this.popState(),14;break;case 53:return this.popState(),14;break;case 54:return this.popState(),14;break;case 55:return 120;case 56:return 121;case 57:return 122;case 58:return 123;case 59:return 104;case 60:return 110;case 61:return 46;case 62:return 60;case 63:return 44;case 64:return 8;case 65:return 105;case 66:return 114;case 67:return this.popState(),77;break;case 68:return this.pushState("edgeText"),75;break;case 69:return 118;case 70:return this.popState(),77;break;case 71:return this.pushState("thickEdgeText"),75;break;case 72:return 118;case 73:return this.popState(),77;break;case 74:return this.pushState("dottedEdgeText"),75;break;case 75:return 118;case 76:return 77;case 77:return this.popState(),53;break;case 78:return"TEXT";case 79:return this.pushState("ellipseText"),52;break;case 80:return this.popState(),55;break;case 81:return this.pushState("text"),54;break;case 82:return this.popState(),57;break;case 83:return this.pushState("text"),56;break;case 84:return 58;case 85:return this.pushState("text"),67;break;case 86:return this.popState(),64;break;case 87:return this.pushState("text"),63;break;case 88:return this.popState(),49;break;case 89:return this.pushState("text"),48;break;case 90:return this.popState(),69;break;case 91:return this.popState(),71;break;case 92:return 116;case 93:return this.pushState("trapText"),68;break;case 94:return this.pushState("trapText"),70;break;case 95:return 117;case 96:return 67;case 97:return 89;case 98:return"SEP";case 99:return 88;case 100:return 114;case 101:return 110;case 102:return 44;case 103:return 108;case 104:return 113;case 105:return 115;case 106:return this.popState(),62;break;case 107:return this.pushState("text"),62;break;case 108:return this.popState(),51;break;case 109:return this.pushState("text"),50;break;case 110:return this.popState(),31;break;case 111:return this.pushState("text"),29;break;case 112:return this.popState(),66;break;case 113:return this.pushState("text"),65;break;case 114:return"TEXT";case 115:return"QUOTE";case 116:return 9;case 117:return 10;case 118:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},shapeData:{rules:[8,11,12,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},callbackargs:{rules:[17,18,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},callbackname:{rules:[14,15,16,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},href:{rules:[21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},click:{rules:[21,24,33,34,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},dottedEdgeText:{rules:[21,24,73,75,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},thickEdgeText:{rules:[21,24,70,72,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},edgeText:{rules:[21,24,67,69,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},trapText:{rules:[21,24,76,79,81,83,87,89,90,91,92,93,94,107,109,111,113],inclusive:!1},ellipseText:{rules:[21,24,76,77,78,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},text:{rules:[21,24,76,79,80,81,82,83,86,87,88,89,93,94,106,107,108,109,110,111,112,113,114],inclusive:!1},vertex:{rules:[21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},acc_descr:{rules:[3,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},acc_title:{rules:[1,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},md_string:{rules:[19,20,21,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},string:{rules:[21,22,23,24,76,79,81,83,87,89,93,94,107,109,111,113],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,70,71,73,74,76,79,81,83,84,85,87,89,93,94,95,96,97,98,99,100,101,102,103,104,105,107,109,111,113,115,116,117,118],inclusive:!0}}};return kn}();In.lexer=On;function Ir(){this.yy={}}return o(Ir,"Parser"),Ir.prototype=In,In.Parser=Ir,new Ir}();AD.parser=AD;Wie=AD});var uPe,hPe,qie,Xie=M(()=>{"use strict";To();uPe=o((t,e)=>{let r=z1,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Hs(n,i,a,e)},"fade"),hPe=o(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } .cluster-label text { fill: ${t.titleColor}; } .cluster-label span { color: ${t.titleColor}; } .cluster-label span p { background-color: transparent; } .label text,span { fill: ${t.nodeTextColor||t.textColor}; color: ${t.nodeTextColor||t.textColor}; } .node rect, .node circle, .node ellipse, .node polygon, .node path { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: 1px; } .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label { text-anchor: middle; } // .flowchart-label .text-outer-tspan { // text-anchor: middle; // } // .flowchart-label .text-inner-tspan { // text-anchor: start; // } .node .katex path { fill: #000; stroke: #000; stroke-width: 1px; } .rough-node .label,.node .label, .image-shape .label, .icon-shape .label { text-align: center; } .node.clickable { cursor: pointer; } .root .anchor path { fill: ${t.lineColor} !important; stroke-width: 0; stroke: ${t.lineColor}; } .arrowheadPath { fill: ${t.arrowheadColor}; } .edgePath .path { stroke: ${t.lineColor}; stroke-width: 2.0px; } .flowchart-link { stroke: ${t.lineColor}; fill: none; } .edgeLabel { background-color: ${t.edgeLabelBackground}; p { background-color: ${t.edgeLabelBackground}; } rect { opacity: 0.5; background-color: ${t.edgeLabelBackground}; fill: ${t.edgeLabelBackground}; } text-align: center; } /* For html labels only */ .labelBkg { background-color: ${uPe(t.edgeLabelBackground,.5)}; // background-color: } .cluster rect { fill: ${t.clusterBkg}; stroke: ${t.clusterBorder}; stroke-width: 1px; } .cluster text { fill: ${t.titleColor}; } .cluster span { color: ${t.titleColor}; } /* .cluster div { color: ${t.titleColor}; } */ div.mermaidTooltip { position: absolute; text-align: center; max-width: 200px; padding: 2px; font-family: ${t.fontFamily}; font-size: 12px; background: ${t.tertiaryColor}; border: 1px solid ${t.border2}; border-radius: 2px; pointer-events: none; z-index: 100; } .flowchartTitleText { text-anchor: middle; font-size: 18px; fill: ${t.textColor}; } rect.text { fill: none; stroke-width: 0; } .icon-shape, .image-shape { background-color: ${t.edgeLabelBackground}; p { background-color: ${t.edgeLabelBackground}; padding: 2px; } rect { opacity: 0.5; background-color: ${t.edgeLabelBackground}; fill: ${t.edgeLabelBackground}; } text-align: center; } `,"getStyles"),qie=hPe});var hT={};vr(hT,{diagram:()=>fPe});var fPe,fT=M(()=>{"use strict";Vt();oL();Hie();Yie();Xie();fPe={parser:Wie,db:X5,renderer:Uie,styles:qie,init:o(t=>{t.flowchart||(t.flowchart={}),t.layout&&n7({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,n7({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),X5.clear(),X5.setGen("gen-2")},"init")}});var _D,Jie,eae=M(()=>{"use strict";_D=function(){var t=o(function(C,A,I,D){for(I=I||{},D=C.length;D--;I[C[D]]=A);return I},"o"),e=[6,8,10,20,22,24,26,27,28],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,14],l=[1,15],u=[1,21],h=[1,22],f=[1,23],d=[1,24],p=[1,25],m=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],g=[1,34],y=[27,28,46,47],v=[41,42,43,44,45],x=[17,34],b=[1,54],w=[1,53],_=[17,34,36,38],T={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:o(function(A,I,D,k,R,S,O){var N=S.length-1;switch(R){case 1:break;case 2:this.$=[];break;case 3:S[N-1].push(S[N]),this.$=S[N-1];break;case 4:case 5:this.$=S[N];break;case 6:case 7:this.$=[];break;case 8:k.addEntity(S[N-4]),k.addEntity(S[N-2]),k.addRelationship(S[N-4],S[N],S[N-2],S[N-3]);break;case 9:k.addEntity(S[N-3]),k.addAttributes(S[N-3],S[N-1]);break;case 10:k.addEntity(S[N-2]);break;case 11:k.addEntity(S[N]);break;case 12:k.addEntity(S[N-6],S[N-4]),k.addAttributes(S[N-6],S[N-1]);break;case 13:k.addEntity(S[N-5],S[N-3]);break;case 14:k.addEntity(S[N-3],S[N-1]);break;case 15:case 16:this.$=S[N].trim(),k.setAccTitle(this.$);break;case 17:case 18:this.$=S[N].trim(),k.setAccDescription(this.$);break;case 19:case 43:this.$=S[N];break;case 20:case 41:case 42:this.$=S[N].replace(/"/g,"");break;case 21:case 29:this.$=[S[N]];break;case 22:S[N].push(S[N-1]),this.$=S[N];break;case 23:this.$={attributeType:S[N-1],attributeName:S[N]};break;case 24:this.$={attributeType:S[N-2],attributeName:S[N-1],attributeKeyTypeList:S[N]};break;case 25:this.$={attributeType:S[N-2],attributeName:S[N-1],attributeComment:S[N]};break;case 26:this.$={attributeType:S[N-3],attributeName:S[N-2],attributeKeyTypeList:S[N-1],attributeComment:S[N]};break;case 27:case 28:case 31:this.$=S[N];break;case 30:S[N-2].push(S[N]),this.$=S[N-2];break;case 32:this.$=S[N].replace(/"/g,"");break;case 33:this.$={cardA:S[N],relType:S[N-1],cardB:S[N-2]};break;case 34:this.$=k.Cardinality.ZERO_OR_ONE;break;case 35:this.$=k.Cardinality.ZERO_OR_MORE;break;case 36:this.$=k.Cardinality.ONE_OR_MORE;break;case 37:this.$=k.Cardinality.ONLY_ONE;break;case 38:this.$=k.Cardinality.MD_PARENT;break;case 39:this.$=k.Identification.NON_IDENTIFYING;break;case 40:this.$=k.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:n,24:i,26:a,27:s,28:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:n,24:i,26:a,27:s,28:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:u,42:h,43:f,44:d,45:p}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(m,[2,19]),t(m,[2,20]),t(e,[2,4]),{11:29,27:s,28:l},{16:30,17:[1,31],29:32,30:33,34:g},{11:35,27:s,28:l},{40:36,46:[1,37],47:[1,38]},t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),t(y,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:g},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:u,42:h,43:f,44:d,45:p},t(v,[2,39]),t(v,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(x,[2,23],{32:50,33:51,35:52,37:b,38:w}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(x,[2,24],{33:56,36:[1,57],38:w}),t(x,[2,25]),t(_,[2,29]),t(x,[2,32]),t(_,[2,31]),{16:58,17:[1,59],29:32,30:33,34:g},t(x,[2,26]),{35:60,37:b},{17:[1,61]},t(e,[2,13]),t(_,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:o(function(A,I){if(I.recoverable)this.trace(A);else{var D=new Error(A);throw D.hash=I,D}},"parseError"),parse:o(function(A){var I=this,D=[0],k=[],R=[null],S=[],O=this.table,N="",P=0,F=0,B=0,$=2,z=1,W=S.slice.call(arguments,1),j=Object.create(this.lexer),K={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(K.yy[ie]=this.yy[ie]);j.setInput(A,K.yy),K.yy.lexer=j,K.yy.parser=this,typeof j.yylloc>"u"&&(j.yylloc={});var Q=j.yylloc;S.push(Q);var ee=j.options&&j.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function J(Ge){D.length=D.length-2*Ge,R.length=R.length-Ge,S.length=S.length-Ge}o(J,"popStack");function H(){var Ge;return Ge=k.pop()||j.lex()||z,typeof Ge!="number"&&(Ge instanceof Array&&(k=Ge,Ge=k.pop()),Ge=I.symbols_[Ge]||Ge),Ge}o(H,"lex");for(var q,Z,ae,ue,ce,te,De={},oe,ke,Fe,Be;;){if(ae=D[D.length-1],this.defaultActions[ae]?ue=this.defaultActions[ae]:((q===null||typeof q>"u")&&(q=H()),ue=O[ae]&&O[ae][q]),typeof ue>"u"||!ue.length||!ue[0]){var Ve="";Be=[];for(oe in O[ae])this.terminals_[oe]&&oe>$&&Be.push("'"+this.terminals_[oe]+"'");j.showPosition?Ve="Parse error on line "+(P+1)+`: `+j.showPosition()+` Expecting `+Be.join(", ")+", got '"+(this.terminals_[q]||q)+"'":Ve="Parse error on line "+(P+1)+": Unexpected "+(q==z?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(Ve,{text:j.match,token:this.terminals_[q]||q,line:j.yylineno,loc:Q,expected:Be})}if(ue[0]instanceof Array&&ue.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ae+", token: "+q);switch(ue[0]){case 1:D.push(q),R.push(j.yytext),S.push(j.yylloc),D.push(ue[1]),q=null,Z?(q=Z,Z=null):(F=j.yyleng,N=j.yytext,P=j.yylineno,Q=j.yylloc,B>0&&B--);break;case 2:if(ke=this.productions_[ue[1]][1],De.$=R[R.length-ke],De._$={first_line:S[S.length-(ke||1)].first_line,last_line:S[S.length-1].last_line,first_column:S[S.length-(ke||1)].first_column,last_column:S[S.length-1].last_column},ee&&(De._$.range=[S[S.length-(ke||1)].range[0],S[S.length-1].range[1]]),te=this.performAction.apply(De,[N,F,P,K.yy,ue[1],R,S].concat(W)),typeof te<"u")return te;ke&&(D=D.slice(0,-1*ke*2),R=R.slice(0,-1*ke),S=S.slice(0,-1*ke)),D.push(this.productions_[ue[1]][0]),R.push(De.$),S.push(De._$),Fe=O[D[D.length-2]][D[D.length-1]],D.push(Fe);break;case 3:return!0}}return!0},"parse")},E=function(){var C={EOF:1,parseError:o(function(I,D){if(this.yy.parser)this.yy.parser.parseError(I,D);else throw new Error(I)},"parseError"),setInput:o(function(A,I){return this.yy=I||this.yy||{},this._input=A,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var A=this._input[0];this.yytext+=A,this.yyleng++,this.offset++,this.match+=A,this.matched+=A;var I=A.match(/(?:\r\n?|\n).*/g);return I?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),A},"input"),unput:o(function(A){var I=A.length,D=A.split(/(?:\r\n?|\n)/g);this._input=A+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-I),this.offset-=I;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),D.length-1&&(this.yylineno-=D.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:D?(D.length===k.length?this.yylloc.first_column:0)+k[k.length-D.length].length-D[0].length:this.yylloc.first_column-I},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-I]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(A){this.unput(this.match.slice(A))},"less"),pastInput:o(function(){var A=this.matched.substr(0,this.matched.length-this.match.length);return(A.length>20?"...":"")+A.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var A=this.match;return A.length<20&&(A+=this._input.substr(0,20-A.length)),(A.substr(0,20)+(A.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var A=this.pastInput(),I=new Array(A.length+1).join("-");return A+this.upcomingInput()+` `+I+"^"},"showPosition"),test_match:o(function(A,I){var D,k,R;if(this.options.backtrack_lexer&&(R={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(R.yylloc.range=this.yylloc.range.slice(0))),k=A[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+A[0].length},this.yytext+=A[0],this.match+=A[0],this.matches=A,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(A[0].length),this.matched+=A[0],D=this.performAction.call(this,this.yy,this,I,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),D)return D;if(this._backtrack){for(var S in R)this[S]=R[S];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var A,I,D,k;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),S=0;SI[0].length)){if(I=D,k=S,this.options.backtrack_lexer){if(A=this.test_match(D,R[S]),A!==!1)return A;if(this._backtrack){I=!1;continue}else return!1}else if(!this.options.flex)break}return I?(A=this.test_match(I,R[k]),A!==!1?A:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var I=this.next();return I||this.lex()},"lex"),begin:o(function(I){this.conditionStack.push(I)},"begin"),popState:o(function(){var I=this.conditionStack.length-1;return I>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(I){return I=this.conditionStack.length-1-Math.abs(I||0),I>=0?this.conditionStack[I]:"INITIAL"},"topState"),pushState:o(function(I){this.begin(I)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(I,D,k,R){var S=R;switch(k){case 0:return this.begin("acc_title"),22;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),24;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;break;case 14:return 36;case 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;break;case 22:return D.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return D.yytext[0];case 55:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};return C}();T.lexer=E;function L(){this.yy={}}return o(L,"Parser"),L.prototype=T,T.Parser=L,new L}();_D.parser=_D;Jie=_D});var Gd,LD,xPe,bPe,tae,wPe,TPe,kPe,EPe,SPe,rae,nae=M(()=>{"use strict";ht();Vt();ki();Gd=new Map,LD=[],xPe={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},bPe={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},tae=o(function(t,e=void 0){return Gd.has(t)?!Gd.get(t).alias&&e&&(Gd.get(t).alias=e,Y.info(`Add alias '${e}' to entity '${t}'`)):(Gd.set(t,{attributes:[],alias:e}),Y.info("Added new entity :",t)),Gd.get(t)},"addEntity"),wPe=o(()=>Gd,"getEntities"),TPe=o(function(t,e){let r=tae(t),n;for(n=e.length-1;n>=0;n--)r.attributes.push(e[n]),Y.debug("Added attribute ",e[n].attributeName)},"addAttributes"),kPe=o(function(t,e,r,n){let i={entityA:t,roleA:e,entityB:r,relSpec:n};LD.push(i),Y.debug("Added new relationship :",i)},"addRelationship"),EPe=o(()=>LD,"getRelationships"),SPe=o(function(){Gd=new Map,LD=[],_r()},"clear"),rae={Cardinality:xPe,Identification:bPe,getConfig:o(()=>de().er,"getConfig"),addEntity:tae,addAttributes:TPe,getEntities:wPe,addRelationship:kPe,getRelationships:EPe,clear:SPe,setAccTitle:Rr,getAccTitle:Pr,setAccDescription:Br,getAccDescription:Fr,setDiagramTitle:ln,getDiagramTitle:Jr}});var Rl,CPe,Wo,iae=M(()=>{"use strict";Rl={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},CPe=o(function(t,e){let r;t.append("defs").append("marker").attr("id",Rl.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",Rl.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",Rl.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",Rl.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",Rl.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",Rl.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",Rl.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",Rl.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),r=t.append("defs").append("marker").attr("id",Rl.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),r=t.append("defs").append("marker").attr("id",Rl.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"insertMarkers"),Wo={ERMarkers:Rl,insertMarkers:CPe}});var aae,sae=M(()=>{"use strict";aae=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i});function APe(t){return typeof t=="string"&&aae.test(t)}var oae,lae=M(()=>{"use strict";sae();o(APe,"validate");oae=APe});function cae(t,e=0){return pa[t[e+0]]+pa[t[e+1]]+pa[t[e+2]]+pa[t[e+3]]+"-"+pa[t[e+4]]+pa[t[e+5]]+"-"+pa[t[e+6]]+pa[t[e+7]]+"-"+pa[t[e+8]]+pa[t[e+9]]+"-"+pa[t[e+10]]+pa[t[e+11]]+pa[t[e+12]]+pa[t[e+13]]+pa[t[e+14]]+pa[t[e+15]]}var pa,uae=M(()=>{"use strict";pa=[];for(let t=0;t<256;++t)pa.push((t+256).toString(16).slice(1));o(cae,"unsafeStringify")});function _Pe(t){if(!oae(t))throw TypeError("Invalid UUID");let e,r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}var hae,fae=M(()=>{"use strict";lae();o(_Pe,"parse");hae=_Pe});function LPe(t){t=unescape(encodeURIComponent(t));let e=[];for(let r=0;r{"use strict";uae();fae();o(LPe,"stringToBytes");DPe="6ba7b810-9dad-11d1-80b4-00c04fd430c8",NPe="6ba7b811-9dad-11d1-80b4-00c04fd430c8";o(DD,"v35")});function RPe(t,e,r,n){switch(t){case 0:return e&r^~e&n;case 1:return e^r^n;case 2:return e&r^e&n^r&n;case 3:return e^r^n}}function ND(t,e){return t<>>32-e}function MPe(t){let e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){let s=unescape(encodeURIComponent(t));t=[];for(let l=0;l>>0;p=d,d=f,f=ND(h,30)>>>0,h=u,u=y}r[0]=r[0]+u>>>0,r[1]=r[1]+h>>>0,r[2]=r[2]+f>>>0,r[3]=r[3]+d>>>0,r[4]=r[4]+p>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}var pae,mae=M(()=>{"use strict";o(RPe,"f");o(ND,"ROTL");o(MPe,"sha1");pae=MPe});var IPe,RD,gae=M(()=>{"use strict";dae();mae();IPe=DD("v5",80,pae),RD=IPe});var yae=M(()=>{"use strict";gae()});function HPe(t="",e=""){let r=t.replace(OPe,"");return`${xae(e)}${xae(r)}${RD(t,UPe)}`}function xae(t=""){return t.length>0?`${t}-`:""}var OPe,Bi,zv,PPe,BPe,FPe,zPe,bae,GPe,vae,$Pe,VPe,UPe,wae,Tae=M(()=>{"use strict";Ns();mr();Pv();Vt();ht();hr();iae();ni();fr();yae();OPe=/[^\dA-Za-z](\W)*/g,Bi={},zv=new Map,PPe=o(function(t){let e=Object.keys(t);for(let r of e)Bi[r]=t[r]},"setConf"),BPe=o((t,e,r)=>{let n=Bi.entityPadding/3,i=Bi.entityPadding/3,a=Bi.fontSize*.85,s=e.node().getBBox(),l=[],u=!1,h=!1,f=0,d=0,p=0,m=0,g=s.height+n*2,y=1;r.forEach(w=>{w.attributeKeyTypeList!==void 0&&w.attributeKeyTypeList.length>0&&(u=!0),w.attributeComment!==void 0&&(h=!0)}),r.forEach(w=>{let _=`${e.node().id}-attr-${y}`,T=0,E=ou(w.attributeType),L=t.append("text").classed("er entityLabel",!0).attr("id",`${_}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",de().fontFamily).style("font-size",a+"px").text(E),C=t.append("text").classed("er entityLabel",!0).attr("id",`${_}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",de().fontFamily).style("font-size",a+"px").text(w.attributeName),A={};A.tn=L,A.nn=C;let I=L.node().getBBox(),D=C.node().getBBox();if(f=Math.max(f,I.width),d=Math.max(d,D.width),T=Math.max(I.height,D.height),u){let k=w.attributeKeyTypeList!==void 0?w.attributeKeyTypeList.join(","):"",R=t.append("text").classed("er entityLabel",!0).attr("id",`${_}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",de().fontFamily).style("font-size",a+"px").text(k);A.kn=R;let S=R.node().getBBox();p=Math.max(p,S.width),T=Math.max(T,S.height)}if(h){let k=t.append("text").classed("er entityLabel",!0).attr("id",`${_}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",de().fontFamily).style("font-size",a+"px").text(w.attributeComment||"");A.cn=k;let R=k.node().getBBox();m=Math.max(m,R.width),T=Math.max(T,R.height)}A.height=T,l.push(A),g+=T+n*2,y+=1});let v=4;u&&(v+=2),h&&(v+=2);let x=f+d+p+m,b={width:Math.max(Bi.minEntityWidth,Math.max(s.width+Bi.entityPadding*2,x+i*v)),height:r.length>0?g:Math.max(Bi.minEntityHeight,s.height+Bi.entityPadding*2)};if(r.length>0){let w=Math.max(0,(b.width-x-i*v)/(v/2));e.attr("transform","translate("+b.width/2+","+(n+s.height/2)+")");let _=s.height+n*2,T="attributeBoxOdd";l.forEach(E=>{let L=_+n+E.height/2;E.tn.attr("transform","translate("+i+","+L+")");let C=t.insert("rect","#"+E.tn.node().id).classed(`er ${T}`,!0).attr("x",0).attr("y",_).attr("width",f+i*2+w).attr("height",E.height+n*2),A=parseFloat(C.attr("x"))+parseFloat(C.attr("width"));E.nn.attr("transform","translate("+(A+i)+","+L+")");let I=t.insert("rect","#"+E.nn.node().id).classed(`er ${T}`,!0).attr("x",A).attr("y",_).attr("width",d+i*2+w).attr("height",E.height+n*2),D=parseFloat(I.attr("x"))+parseFloat(I.attr("width"));if(u){E.kn.attr("transform","translate("+(D+i)+","+L+")");let k=t.insert("rect","#"+E.kn.node().id).classed(`er ${T}`,!0).attr("x",D).attr("y",_).attr("width",p+i*2+w).attr("height",E.height+n*2);D=parseFloat(k.attr("x"))+parseFloat(k.attr("width"))}h&&(E.cn.attr("transform","translate("+(D+i)+","+L+")"),t.insert("rect","#"+E.cn.node().id).classed(`er ${T}`,"true").attr("x",D).attr("y",_).attr("width",m+i*2+w).attr("height",E.height+n*2)),_+=E.height+n*2,T=T==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else b.height=Math.max(Bi.minEntityHeight,g),e.attr("transform","translate("+b.width/2+","+b.height/2+")");return b},"drawAttributes"),FPe=o(function(t,e,r){let n=[...e.keys()],i;return n.forEach(function(a){let s=HPe(a,"entity");zv.set(a,s);let l=t.append("g").attr("id",s);i=i===void 0?s:i;let u="text-"+s,h=l.append("text").classed("er entityLabel",!0).attr("id",u).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",de().fontFamily).style("font-size",Bi.fontSize+"px").text(e.get(a).alias??a),{width:f,height:d}=BPe(l,h,e.get(a).attributes),m=l.insert("rect","#"+u).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",f).attr("height",d).node().getBBox();r.setNode(s,{width:m.width,height:m.height,shape:"rect",id:s})}),i},"drawEntities"),zPe=o(function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )")})},"adjustEntities"),bae=o(function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},"getEdgeName"),GPe=o(function(t,e){return t.forEach(function(r){e.setEdge(zv.get(r.entityA),zv.get(r.entityB),{relationship:r},bae(r))}),t},"addRelationships"),vae=0,$Pe=o(function(t,e,r,n,i){vae++;let a=r.edge(zv.get(e.entityA),zv.get(e.entityB),bae(e)),s=Ka().x(function(y){return y.x}).y(function(y){return y.y}).curve(Do),l=t.insert("path","#"+n).classed("er relationshipLine",!0).attr("d",s(a.points)).style("stroke",Bi.stroke).style("fill","none");e.relSpec.relType===i.db.Identification.NON_IDENTIFYING&&l.attr("stroke-dasharray","8,8");let u="";switch(Bi.arrowMarkerAbsolute&&(u=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,u=u.replace(/\(/g,"\\("),u=u.replace(/\)/g,"\\)")),e.relSpec.cardA){case i.db.Cardinality.ZERO_OR_ONE:l.attr("marker-end","url("+u+"#"+Wo.ERMarkers.ZERO_OR_ONE_END+")");break;case i.db.Cardinality.ZERO_OR_MORE:l.attr("marker-end","url("+u+"#"+Wo.ERMarkers.ZERO_OR_MORE_END+")");break;case i.db.Cardinality.ONE_OR_MORE:l.attr("marker-end","url("+u+"#"+Wo.ERMarkers.ONE_OR_MORE_END+")");break;case i.db.Cardinality.ONLY_ONE:l.attr("marker-end","url("+u+"#"+Wo.ERMarkers.ONLY_ONE_END+")");break;case i.db.Cardinality.MD_PARENT:l.attr("marker-end","url("+u+"#"+Wo.ERMarkers.MD_PARENT_END+")");break}switch(e.relSpec.cardB){case i.db.Cardinality.ZERO_OR_ONE:l.attr("marker-start","url("+u+"#"+Wo.ERMarkers.ZERO_OR_ONE_START+")");break;case i.db.Cardinality.ZERO_OR_MORE:l.attr("marker-start","url("+u+"#"+Wo.ERMarkers.ZERO_OR_MORE_START+")");break;case i.db.Cardinality.ONE_OR_MORE:l.attr("marker-start","url("+u+"#"+Wo.ERMarkers.ONE_OR_MORE_START+")");break;case i.db.Cardinality.ONLY_ONE:l.attr("marker-start","url("+u+"#"+Wo.ERMarkers.ONLY_ONE_START+")");break;case i.db.Cardinality.MD_PARENT:l.attr("marker-start","url("+u+"#"+Wo.ERMarkers.MD_PARENT_START+")");break}let h=l.node().getTotalLength(),f=l.node().getPointAtLength(h*.5),d="rel"+vae,p=e.roleA.split(/
    /g),m=t.append("text").classed("er relationshipLabel",!0).attr("id",d).attr("x",f.x).attr("y",f.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",de().fontFamily).style("font-size",Bi.fontSize+"px");if(p.length==1)m.text(e.roleA);else{let y=-(p.length-1)*.5;p.forEach((v,x)=>{m.append("tspan").attr("x",f.x).attr("dy",`${x===0?y:1}em`).text(v)})}let g=m.node().getBBox();t.insert("rect","#"+d).classed("er relationshipLabelBox",!0).attr("x",f.x-g.width/2).attr("y",f.y-g.height/2).attr("width",g.width).attr("height",g.height)},"drawRelationshipFromLayout"),VPe=o(function(t,e,r,n){Bi=de().er,Y.info("Drawing ER diagram");let i=de().securityLevel,a;i==="sandbox"&&(a=ze("#i"+e));let l=(i==="sandbox"?ze(a.nodes()[0].contentDocument.body):ze("body")).select(`[id='${e}']`);Wo.insertMarkers(l,Bi);let u;u=new Mr({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:Bi.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let h=FPe(l,n.db.getEntities(),u),f=GPe(n.db.getRelationships(),u);Du(u),zPe(l,u),f.forEach(function(y){$Pe(l,y,u,h,n)});let d=Bi.diagramPadding;Ut.insertTitle(l,"entityTitleText",Bi.titleTopMargin,n.db.getDiagramTitle());let p=l.node().getBBox(),m=p.width+d*2,g=p.height+d*2;Zr(l,g,m,Bi.useMaxWidth),l.attr("viewBox",`${p.x-d} ${p.y-d} ${m} ${g}`)},"draw"),UPe="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";o(HPe,"generateId");o(xae,"strWithHyphen");wae={setConf:PPe,draw:VPe}});var WPe,kae,Eae=M(()=>{"use strict";WPe=o(t=>` .entityBox { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; } .attributeBoxOdd { fill: ${t.attributeBackgroundColorOdd}; stroke: ${t.nodeBorder}; } .attributeBoxEven { fill: ${t.attributeBackgroundColorEven}; stroke: ${t.nodeBorder}; } .relationshipLabelBox { fill: ${t.tertiaryColor}; opacity: 0.7; background-color: ${t.tertiaryColor}; rect { opacity: 0.5; } } .relationshipLine { stroke: ${t.lineColor}; } .entityTitleText { text-anchor: middle; font-size: 18px; fill: ${t.textColor}; } #MD_PARENT_START { fill: #f5f5f5 !important; stroke: ${t.lineColor} !important; stroke-width: 1; } #MD_PARENT_END { fill: #f5f5f5 !important; stroke: ${t.lineColor} !important; stroke-width: 1; } `,"getStyles"),kae=WPe});var Sae={};vr(Sae,{diagram:()=>YPe});var YPe,Cae=M(()=>{"use strict";eae();nae();Tae();Eae();YPe={parser:Jie,db:rae,renderer:wae,styles:kae}});function ei(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ma(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function MD(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Vd(t){return typeof t=="object"&&t!==null&&ei(t.container)&&ma(t.reference)&&typeof t.message=="string"}function io(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Jh(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Gv(t){return io(t)&&typeof t.fullText=="string"}var $d,Yo=M(()=>{"use strict";o(ei,"isAstNode");o(ma,"isReference");o(MD,"isAstNodeDescription");o(Vd,"isLinkingError");$d=class{static{o(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,r){return ei(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let a=this.computeIsSubtype(e,r);return n[r]=a,a}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}};o(io,"isCompositeCstNode");o(Jh,"isLeafCstNode");o(Gv,"isRootCstNode")});function KPe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function dT(t){return!!t&&typeof t[Symbol.iterator]=="function"}function tn(...t){if(t.length===1){let e=t[0];if(e instanceof ao)return e;if(dT(e))return new ao(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new ao(()=>({index:0}),r=>r.index1?new ao(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex{"use strict";ao=class t{static{o(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){let r=e[Symbol.iterator]();return new t(()=>({first:this.startFn(),firstDone:!1}),n=>{let i;if(!n.firstDone){do if(i=this.nextFn(n.first),!i.done)return i;while(!i.done);n.firstDone=!0}do if(i=r.next(),!i.done)return i;while(!i.done);return Ja})}join(e=","){let r=this.iterator(),n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=KPe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Ja:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Ja})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}let{done:n,value:i}=this.nextFn(r.this);if(!n){let a=e(i);if(dT(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return Ja})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:a}=r.nextFn(n.this);if(!i)if(dT(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return Ja})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Ja:this.nextFn(r.state)))}distinct(e){let r=new Set;return this.filter(n=>{let i=e?e(n):n;return r.has(i)?!1:(r.add(i),!0)})}exclude(e,r){let n=new Set;for(let i of e){let a=r?r(i):i;n.add(a)}return this.filter(i=>{let a=r?r(i):i;return!n.has(a)})}};o(KPe,"toString");o(dT,"isIterable");$v=new ao(()=>{},()=>Ja),Ja=Object.freeze({done:!0,value:void 0});o(tn,"stream");Cc=class extends ao{static{o(this,"TreeStreamImpl")}constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Ja})}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),prune:o(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};(function(t){function e(a){return a.reduce((s,l)=>s+l,0)}o(e,"sum"),t.sum=e;function r(a){return a.reduce((s,l)=>s*l,0)}o(r,"product"),t.product=r;function n(a){return a.reduce((s,l)=>Math.min(s,l))}o(n,"min"),t.min=n;function i(a){return a.reduce((s,l)=>Math.max(s,l))}o(i,"max"),t.max=i})(Gm||(Gm={}))});var mT={};vr(mT,{DefaultNameRegexp:()=>pT,RangeComparison:()=>Nu,compareRange:()=>Dae,findCommentNode:()=>BD,findDeclarationNodeAtOffset:()=>ZPe,findLeafNodeAtOffset:()=>FD,findLeafNodeBeforeOffset:()=>Nae,flattenCst:()=>QPe,getInteriorNodes:()=>tBe,getNextNode:()=>JPe,getPreviousNode:()=>Mae,getStartlineNode:()=>eBe,inRange:()=>PD,isChildNode:()=>OD,isCommentNode:()=>ID,streamCst:()=>Ud,toDocumentSegment:()=>Hd,tokenToRange:()=>$m});function Ud(t){return new Cc(t,e=>io(e)?e.content:[],{includeRoot:!0})}function QPe(t){return Ud(t).filter(Jh)}function OD(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function $m(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Hd(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}function Dae(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>e.end.character)return Nu.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineNu.After}function ZPe(t,e,r=pT){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return FD(t,e)}}function BD(t,e){if(t){let r=Mae(t,!0);if(r&&ID(r,e))return r;if(Gv(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let a=t.content[i];if(ID(a,e))return a}}}}function ID(t,e){return Jh(t)&&e.includes(t.tokenType.name)}function FD(t,e){if(Jh(t))return t;if(io(t)){let r=Rae(t,e,!1);if(r)return FD(r,e)}}function Nae(t,e){if(Jh(t))return t;if(io(t)){let r=Rae(t,e,!0);if(r)return Nae(r,e)}}function Rae(t,e,r){let n=0,i=t.content.length-1,a;for(;n<=i;){let s=Math.floor((n+i)/2),l=t.content[s];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=r?l:void 0,n=s+1):i=s-1}return a}function Mae(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function JPe(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n{"use strict";Yo();Rs();o(Ud,"streamCst");o(QPe,"flattenCst");o(OD,"isChildNode");o($m,"tokenToRange");o(Hd,"toDocumentSegment");(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside"})(Nu||(Nu={}));o(Dae,"compareRange");o(PD,"inRange");pT=/^[\w\p{L}]$/u;o(ZPe,"findDeclarationNodeAtOffset");o(BD,"findCommentNode");o(ID,"isCommentNode");o(FD,"findLeafNodeAtOffset");o(Nae,"findLeafNodeBeforeOffset");o(Rae,"binarySearch");o(Mae,"getPreviousNode");o(JPe,"getNextNode");o(eBe,"getStartlineNode");o(tBe,"getInteriorNodes");o(rBe,"getCommonParent");o(Lae,"getParentChain")});function ef(t){throw new Error("Error! The input value was not handled.")}var Wd,gT=M(()=>{"use strict";Wd=class extends Error{static{o(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};o(ef,"assertUnreachable")});var Yv={};vr(Yv,{AbstractElement:()=>GD,AbstractRule:()=>Vv,AbstractType:()=>Uv,Action:()=>pN,Alternatives:()=>mN,ArrayLiteral:()=>$D,ArrayType:()=>VD,Assignment:()=>gN,BooleanLiteral:()=>HD,CharacterRange:()=>yN,Condition:()=>yT,Conjunction:()=>YD,CrossReference:()=>xN,Disjunction:()=>XD,EndOfFile:()=>bN,Grammar:()=>KD,GrammarImport:()=>Oae,Group:()=>TN,InferredType:()=>QD,Interface:()=>ZD,Keyword:()=>kN,LangiumGrammarAstReflection:()=>Vm,LangiumGrammarTerminals:()=>nBe,NamedArgument:()=>Pae,NegatedToken:()=>EN,Negation:()=>JD,NumberLiteral:()=>tN,Parameter:()=>rN,ParameterReference:()=>nN,ParserRule:()=>aN,ReferenceType:()=>sN,RegexToken:()=>CN,ReturnType:()=>Bae,RuleCall:()=>_N,SimpleType:()=>cN,StringLiteral:()=>uN,TerminalAlternatives:()=>LN,TerminalGroup:()=>NN,TerminalRule:()=>xT,TerminalRuleCall:()=>MN,Type:()=>hN,TypeAttribute:()=>Fae,TypeDefinition:()=>zD,UnionType:()=>fN,UnorderedGroup:()=>IN,UntilToken:()=>ON,ValueLiteral:()=>vT,Wildcard:()=>BN,isAbstractElement:()=>Hv,isAbstractRule:()=>iBe,isAbstractType:()=>aBe,isAction:()=>Ru,isAlternatives:()=>kT,isArrayLiteral:()=>uBe,isArrayType:()=>UD,isAssignment:()=>Il,isBooleanLiteral:()=>WD,isCharacterRange:()=>vN,isCondition:()=>sBe,isConjunction:()=>qD,isCrossReference:()=>Yd,isDisjunction:()=>jD,isEndOfFile:()=>wN,isFeatureName:()=>oBe,isGrammar:()=>hBe,isGrammarImport:()=>fBe,isGroup:()=>tf,isInferredType:()=>bT,isInterface:()=>wT,isKeyword:()=>Xo,isNamedArgument:()=>dBe,isNegatedToken:()=>SN,isNegation:()=>eN,isNumberLiteral:()=>pBe,isParameter:()=>mBe,isParameterReference:()=>iN,isParserRule:()=>Ma,isPrimitiveType:()=>Iae,isReferenceType:()=>oN,isRegexToken:()=>AN,isReturnType:()=>lN,isRuleCall:()=>Ol,isSimpleType:()=>TT,isStringLiteral:()=>gBe,isTerminalAlternatives:()=>DN,isTerminalGroup:()=>RN,isTerminalRule:()=>qo,isTerminalRuleCall:()=>ET,isType:()=>Wv,isTypeAttribute:()=>yBe,isTypeDefinition:()=>lBe,isUnionType:()=>dN,isUnorderedGroup:()=>ST,isUntilToken:()=>PN,isValueLiteral:()=>cBe,isWildcard:()=>FN,reflection:()=>lr});function iBe(t){return lr.isInstance(t,Vv)}function aBe(t){return lr.isInstance(t,Uv)}function sBe(t){return lr.isInstance(t,yT)}function oBe(t){return Iae(t)||t==="current"||t==="entry"||t==="extends"||t==="false"||t==="fragment"||t==="grammar"||t==="hidden"||t==="import"||t==="interface"||t==="returns"||t==="terminal"||t==="true"||t==="type"||t==="infer"||t==="infers"||t==="with"||typeof t=="string"&&/\^?[_a-zA-Z][\w_]*/.test(t)}function Iae(t){return t==="string"||t==="number"||t==="boolean"||t==="Date"||t==="bigint"}function lBe(t){return lr.isInstance(t,zD)}function cBe(t){return lr.isInstance(t,vT)}function Hv(t){return lr.isInstance(t,GD)}function uBe(t){return lr.isInstance(t,$D)}function UD(t){return lr.isInstance(t,VD)}function WD(t){return lr.isInstance(t,HD)}function qD(t){return lr.isInstance(t,YD)}function jD(t){return lr.isInstance(t,XD)}function hBe(t){return lr.isInstance(t,KD)}function fBe(t){return lr.isInstance(t,Oae)}function bT(t){return lr.isInstance(t,QD)}function wT(t){return lr.isInstance(t,ZD)}function dBe(t){return lr.isInstance(t,Pae)}function eN(t){return lr.isInstance(t,JD)}function pBe(t){return lr.isInstance(t,tN)}function mBe(t){return lr.isInstance(t,rN)}function iN(t){return lr.isInstance(t,nN)}function Ma(t){return lr.isInstance(t,aN)}function oN(t){return lr.isInstance(t,sN)}function lN(t){return lr.isInstance(t,Bae)}function TT(t){return lr.isInstance(t,cN)}function gBe(t){return lr.isInstance(t,uN)}function qo(t){return lr.isInstance(t,xT)}function Wv(t){return lr.isInstance(t,hN)}function yBe(t){return lr.isInstance(t,Fae)}function dN(t){return lr.isInstance(t,fN)}function Ru(t){return lr.isInstance(t,pN)}function kT(t){return lr.isInstance(t,mN)}function Il(t){return lr.isInstance(t,gN)}function vN(t){return lr.isInstance(t,yN)}function Yd(t){return lr.isInstance(t,xN)}function wN(t){return lr.isInstance(t,bN)}function tf(t){return lr.isInstance(t,TN)}function Xo(t){return lr.isInstance(t,kN)}function SN(t){return lr.isInstance(t,EN)}function AN(t){return lr.isInstance(t,CN)}function Ol(t){return lr.isInstance(t,_N)}function DN(t){return lr.isInstance(t,LN)}function RN(t){return lr.isInstance(t,NN)}function ET(t){return lr.isInstance(t,MN)}function ST(t){return lr.isInstance(t,IN)}function PN(t){return lr.isInstance(t,ON)}function FN(t){return lr.isInstance(t,BN)}var nBe,Vv,Uv,yT,zD,vT,GD,$D,VD,HD,YD,XD,KD,Oae,QD,ZD,Pae,JD,tN,rN,nN,aN,sN,Bae,cN,uN,xT,hN,Fae,fN,pN,mN,gN,yN,xN,bN,TN,kN,EN,CN,_N,LN,NN,MN,IN,ON,BN,Vm,lr,Ac=M(()=>{"use strict";Yo();nBe={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},Vv="AbstractRule";o(iBe,"isAbstractRule");Uv="AbstractType";o(aBe,"isAbstractType");yT="Condition";o(sBe,"isCondition");o(oBe,"isFeatureName");o(Iae,"isPrimitiveType");zD="TypeDefinition";o(lBe,"isTypeDefinition");vT="ValueLiteral";o(cBe,"isValueLiteral");GD="AbstractElement";o(Hv,"isAbstractElement");$D="ArrayLiteral";o(uBe,"isArrayLiteral");VD="ArrayType";o(UD,"isArrayType");HD="BooleanLiteral";o(WD,"isBooleanLiteral");YD="Conjunction";o(qD,"isConjunction");XD="Disjunction";o(jD,"isDisjunction");KD="Grammar";o(hBe,"isGrammar");Oae="GrammarImport";o(fBe,"isGrammarImport");QD="InferredType";o(bT,"isInferredType");ZD="Interface";o(wT,"isInterface");Pae="NamedArgument";o(dBe,"isNamedArgument");JD="Negation";o(eN,"isNegation");tN="NumberLiteral";o(pBe,"isNumberLiteral");rN="Parameter";o(mBe,"isParameter");nN="ParameterReference";o(iN,"isParameterReference");aN="ParserRule";o(Ma,"isParserRule");sN="ReferenceType";o(oN,"isReferenceType");Bae="ReturnType";o(lN,"isReturnType");cN="SimpleType";o(TT,"isSimpleType");uN="StringLiteral";o(gBe,"isStringLiteral");xT="TerminalRule";o(qo,"isTerminalRule");hN="Type";o(Wv,"isType");Fae="TypeAttribute";o(yBe,"isTypeAttribute");fN="UnionType";o(dN,"isUnionType");pN="Action";o(Ru,"isAction");mN="Alternatives";o(kT,"isAlternatives");gN="Assignment";o(Il,"isAssignment");yN="CharacterRange";o(vN,"isCharacterRange");xN="CrossReference";o(Yd,"isCrossReference");bN="EndOfFile";o(wN,"isEndOfFile");TN="Group";o(tf,"isGroup");kN="Keyword";o(Xo,"isKeyword");EN="NegatedToken";o(SN,"isNegatedToken");CN="RegexToken";o(AN,"isRegexToken");_N="RuleCall";o(Ol,"isRuleCall");LN="TerminalAlternatives";o(DN,"isTerminalAlternatives");NN="TerminalGroup";o(RN,"isTerminalGroup");MN="TerminalRuleCall";o(ET,"isTerminalRuleCall");IN="UnorderedGroup";o(ST,"isUnorderedGroup");ON="UntilToken";o(PN,"isUntilToken");BN="Wildcard";o(FN,"isWildcard");Vm=class extends $d{static{o(this,"LangiumGrammarAstReflection")}getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayLiteral","ArrayType","Assignment","BooleanLiteral","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","EndOfFile","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","NamedArgument","NegatedToken","Negation","NumberLiteral","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","StringLiteral","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","ValueLiteral","Wildcard"]}computeIsSubtype(e,r){switch(e){case pN:case mN:case gN:case yN:case xN:case bN:case TN:case kN:case EN:case CN:case _N:case LN:case NN:case MN:case IN:case ON:case BN:return this.isSubtype(GD,r);case $D:case tN:case uN:return this.isSubtype(vT,r);case VD:case sN:case cN:case fN:return this.isSubtype(zD,r);case HD:return this.isSubtype(yT,r)||this.isSubtype(vT,r);case YD:case XD:case JD:case nN:return this.isSubtype(yT,r);case QD:case ZD:case hN:return this.isSubtype(Uv,r);case aN:return this.isSubtype(Vv,r)||this.isSubtype(Uv,r);case xT:return this.isSubtype(Vv,r);default:return!1}}getReferenceType(e){let r=`${e.container.$type}:${e.property}`;switch(r){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Uv;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Vv;case"Grammar:usedGrammars":return KD;case"NamedArgument:parameter":case"ParameterReference:parameter":return rN;case"TerminalRuleCall:rule":return xT;default:throw new Error(`${r} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"AbstractElement":return{name:"AbstractElement",properties:[{name:"cardinality"},{name:"lookahead"}]};case"ArrayLiteral":return{name:"ArrayLiteral",properties:[{name:"elements",defaultValue:[]}]};case"ArrayType":return{name:"ArrayType",properties:[{name:"elementType"}]};case"BooleanLiteral":return{name:"BooleanLiteral",properties:[{name:"true",defaultValue:!1}]};case"Conjunction":return{name:"Conjunction",properties:[{name:"left"},{name:"right"}]};case"Disjunction":return{name:"Disjunction",properties:[{name:"left"},{name:"right"}]};case"Grammar":return{name:"Grammar",properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case"GrammarImport":return{name:"GrammarImport",properties:[{name:"path"}]};case"InferredType":return{name:"InferredType",properties:[{name:"name"}]};case"Interface":return{name:"Interface",properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case"NamedArgument":return{name:"NamedArgument",properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case"Negation":return{name:"Negation",properties:[{name:"value"}]};case"NumberLiteral":return{name:"NumberLiteral",properties:[{name:"value"}]};case"Parameter":return{name:"Parameter",properties:[{name:"name"}]};case"ParameterReference":return{name:"ParameterReference",properties:[{name:"parameter"}]};case"ParserRule":return{name:"ParserRule",properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case"ReferenceType":return{name:"ReferenceType",properties:[{name:"referenceType"}]};case"ReturnType":return{name:"ReturnType",properties:[{name:"name"}]};case"SimpleType":return{name:"SimpleType",properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case"StringLiteral":return{name:"StringLiteral",properties:[{name:"value"}]};case"TerminalRule":return{name:"TerminalRule",properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case"Type":return{name:"Type",properties:[{name:"name"},{name:"type"}]};case"TypeAttribute":return{name:"TypeAttribute",properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case"UnionType":return{name:"UnionType",properties:[{name:"types",defaultValue:[]}]};case"Action":return{name:"Action",properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case"Alternatives":return{name:"Alternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"Assignment":return{name:"Assignment",properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case"CharacterRange":return{name:"CharacterRange",properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case"CrossReference":return{name:"CrossReference",properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case"EndOfFile":return{name:"EndOfFile",properties:[{name:"cardinality"},{name:"lookahead"}]};case"Group":return{name:"Group",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case"Keyword":return{name:"Keyword",properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case"NegatedToken":return{name:"NegatedToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"RegexToken":return{name:"RegexToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case"RuleCall":return{name:"RuleCall",properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalGroup":return{name:"TerminalGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalRuleCall":return{name:"TerminalRuleCall",properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"UnorderedGroup":return{name:"UnorderedGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"UntilToken":return{name:"UntilToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"Wildcard":return{name:"Wildcard",properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}},lr=new Vm});var AT={};vr(AT,{assignMandatoryProperties:()=>$N,copyAstNode:()=>GN,findLocalReferences:()=>xBe,findRootNode:()=>zae,getContainerOfType:()=>qd,getDocument:()=>Fi,hasContainerOfType:()=>vBe,linkContentToContainer:()=>CT,streamAllContents:()=>_c,streamAst:()=>jo,streamContents:()=>qv,streamReferences:()=>Um});function CT(t){for(let[e,r]of Object.entries(t))e.startsWith("$")||(Array.isArray(r)?r.forEach((n,i)=>{ei(n)&&(n.$container=t,n.$containerProperty=e,n.$containerIndex=i)}):ei(r)&&(r.$container=t,r.$containerProperty=e))}function qd(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function vBe(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Fi(t){let r=zae(t).$document;if(!r)throw new Error("AST node has no document.");return r}function zae(t){for(;t.$container;)t=t.$container;return t}function qv(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new ao(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexqv(r,e))}function jo(t,e){if(t){if(e?.range&&!zN(t,e.range))return new Cc(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Cc(t,r=>qv(r,e),{includeRoot:!0})}function zN(t,e){var r;if(!e)return!0;let n=(r=t.$cstNode)===null||r===void 0?void 0:r.range;return n?PD(n,e):!1}function Um(t){return new ao(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{Um(n).forEach(i=>{i.reference.ref===t&&r.push(i.reference)})}),tn(r)}function $N(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of r.properties)i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=Gae(i.defaultValue))}function Gae(t){return Array.isArray(t)?[...t.map(Gae)]:t}function GN(t,e){let r={$type:t.$type};for(let[n,i]of Object.entries(t))if(!n.startsWith("$"))if(ei(i))r[n]=GN(i,e);else if(ma(i))r[n]=e(r,n,i.$refNode,i.$refText);else if(Array.isArray(i)){let a=[];for(let s of i)ei(s)?a.push(GN(s,e)):ma(s)?a.push(e(r,n,s.$refNode,s.$refText)):a.push(s);r[n]=a}else r[n]=i;return CT(r),r}var es=M(()=>{"use strict";Yo();Rs();Ml();o(CT,"linkContentToContainer");o(qd,"getContainerOfType");o(vBe,"hasContainerOfType");o(Fi,"getDocument");o(zae,"findRootNode");o(qv,"streamContents");o(_c,"streamAllContents");o(jo,"streamAst");o(zN,"isAstNodeInRange");o(Um,"streamReferences");o(xBe,"findLocalReferences");o($N,"assignMandatoryProperties");o(Gae,"copyDefaultValue");o(GN,"copyAstNode")});function ar(t){return t.charCodeAt(0)}function _T(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Hm(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function Xd(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Xv(){throw Error("Internal Error - Should never get here!")}function VN(t){return t.type==="Character"}var UN=M(()=>{"use strict";o(ar,"cc");o(_T,"insertToSet");o(Hm,"addFlag");o(Xd,"ASSERT_EXISTS");o(Xv,"ASSERT_NEVER_REACH_HERE");o(VN,"isCharacter")});var jv,Kv,HN,$ae=M(()=>{"use strict";UN();jv=[];for(let t=ar("0");t<=ar("9");t++)jv.push(t);Kv=[ar("_")].concat(jv);for(let t=ar("a");t<=ar("z");t++)Kv.push(t);for(let t=ar("A");t<=ar("Z");t++)Kv.push(t);HN=[ar(" "),ar("\f"),ar(` `),ar("\r"),ar(" "),ar("\v"),ar(" "),ar("\xA0"),ar("\u1680"),ar("\u2000"),ar("\u2001"),ar("\u2002"),ar("\u2003"),ar("\u2004"),ar("\u2005"),ar("\u2006"),ar("\u2007"),ar("\u2008"),ar("\u2009"),ar("\u200A"),ar("\u2028"),ar("\u2029"),ar("\u202F"),ar("\u205F"),ar("\u3000"),ar("\uFEFF")]});var bBe,LT,wBe,jd,Vae=M(()=>{"use strict";UN();$ae();bBe=/[0-9a-fA-F]/,LT=/[0-9]/,wBe=/[1-9]/,jd=class{static{o(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Hm(n,"global");break;case"i":Hm(n,"ignoreCase");break;case"m":Hm(n,"multiLine");break;case"u":Hm(n,"unicode");break;case"y":Hm(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break}Xd(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return Xv()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Xd(r);break}if(!(e===!0&&r===void 0)&&Xd(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Xd(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Xv()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[ar(` `),ar("\r"),ar("\u2028"),ar("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=jv;break;case"D":e=jv,r=!0;break;case"s":e=HN;break;case"S":e=HN,r=!0;break;case"w":e=Kv;break;case"W":e=Kv,r=!0;break}return Xd(e)?{type:"Set",value:e,complement:r}:Xv()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=ar("\f");break;case"n":e=ar(` `);break;case"r":e=ar("\r");break;case"t":e=ar(" ");break;case"v":e=ar("\v");break}return Xd(e)?{type:"Character",value:e}:Xv()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:ar("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:ar(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:ar(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(VN(n)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),s=a.type==="Character";if(VN(a)){if(a.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}});var Lc,Uae=M(()=>{"use strict";Lc=class{static{o(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}});var Qv=M(()=>{"use strict";Vae();Uae()});var NT={};vr(NT,{NEWLINE_REGEXP:()=>YN,escapeRegExp:()=>Qd,getCaseInsensitivePattern:()=>XN,getTerminalParts:()=>TBe,isMultilineComment:()=>qN,isWhitespace:()=>DT,partialMatches:()=>jN,partialRegExp:()=>Wae});function TBe(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=Hae.pattern(t),r=[];for(let n of e.value.value)Kd.reset(t),Kd.visit(n),r.push({start:Kd.startRegexp,end:Kd.endRegex});return r}catch{return[]}}function qN(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Kd.reset(t),Kd.visit(Hae.pattern(t)),Kd.multiline}catch{return!1}}function DT(t){return(typeof t=="string"?new RegExp(t):t).test(" ")}function Qd(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function XN(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:Qd(e)).join("")}function jN(t,e){let r=Wae(t),n=e.match(r);return!!n&&n[0].length>0}function Wae(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let a="",s;function l(h){a+=r.substr(n,h),n+=h}o(l,"appendRaw");function u(h){a+="(?:"+r.substr(n,h)+"|$)",n+=h}for(o(u,"appendOptional");n",n)-n+1);break;default:u(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],u(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?l(s[0].length):u(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:l(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else l(1),a+=i()+"|$)";break;case")":return++n,a;default:u(1);break}return a}return o(i,"process"),new RegExp(i(),t.flags)}var YN,Hae,WN,Kd,Wm=M(()=>{"use strict";Qv();YN=/\r?\n/gm,Hae=new jd,WN=class extends Lc{static{o(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===` `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Qd(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` `.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},Kd=new WN;o(TBe,"getTerminalParts");o(qN,"isMultilineComment");o(DT,"isWhitespace");o(Qd,"escapeRegExp");o(XN,"getCaseInsensitivePattern");o(jN,"partialMatches");o(Wae,"partialRegExp")});var MT={};vr(MT,{findAssignment:()=>iR,findNameAssignment:()=>RT,findNodeForKeyword:()=>rR,findNodeForProperty:()=>Jv,findNodesForKeyword:()=>kBe,findNodesForKeywordInternal:()=>nR,findNodesForProperty:()=>eR,getActionAtElement:()=>Kae,getActionType:()=>Zae,getAllReachableRules:()=>Zv,getCrossReferenceTerminal:()=>ZN,getEntryRule:()=>Yae,getExplicitRuleType:()=>aR,getHiddenRules:()=>qae,getRuleType:()=>sR,getTypeName:()=>Zd,isArrayCardinality:()=>SBe,isArrayOperator:()=>CBe,isCommentTerminal:()=>JN,isDataType:()=>ABe,isDataTypeRule:()=>e2,isOptionalCardinality:()=>EBe,terminalRegex:()=>Ym});function Yae(t){return t.rules.find(e=>Ma(e)&&e.entry)}function qae(t){return t.rules.filter(e=>qo(e)&&e.hidden)}function Zv(t,e){let r=new Set,n=Yae(t);if(!n)return new Set(t.rules);let i=[n].concat(qae(t));for(let s of i)Xae(s,r,e);let a=new Set;for(let s of t.rules)(r.has(s.name)||qo(s)&&s.hidden)&&a.add(s);return a}function Xae(t,e,r){e.add(t.name),_c(t).forEach(n=>{if(Ol(n)||r&&ET(n)){let i=n.rule.ref;i&&!e.has(i.name)&&Xae(i,e,r)}})}function ZN(t){if(t.terminal)return t.terminal;if(t.type.ref){let e=RT(t.type.ref);return e?.terminal}}function JN(t){return t.hidden&&!Ym(t).test(" ")}function eR(t,e){return!t||!e?[]:tR(t,e,t.astNode,!0)}function Jv(t,e,r){if(!t||!e)return;let n=tR(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function tR(t,e,r,n){if(!n){let i=qd(t.grammarSource,Il);if(i&&i.feature===e)return[t]}return io(t)&&t.astNode===r?t.content.flatMap(i=>tR(i,e,r,!1)):[]}function kBe(t,e){return t?nR(t,e,t?.astNode):[]}function rR(t,e,r){if(!t)return;let n=nR(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function nR(t,e,r){if(t.astNode!==r)return[];if(Xo(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=Ud(t).iterator(),i,a=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Xo(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function iR(t){var e;let r=t.astNode;for(;r===((e=t.container)===null||e===void 0?void 0:e.astNode);){let n=qd(t.grammarSource,Il);if(n)return n;t=t.container}}function RT(t){let e=t;return bT(e)&&(Ru(e.$container)?e=e.$container.$container:Ma(e.$container)?e=e.$container:ef(e.$container)),jae(t,e,new Map)}function jae(t,e,r){var n;function i(a,s){let l;return qd(a,Il)||(l=jae(s,s,r)),r.set(t,l),l}if(o(i,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let a of _c(e)){if(Il(a)&&a.feature.toLowerCase()==="name")return r.set(t,a),a;if(Ol(a)&&Ma(a.rule.ref))return i(a,a.rule.ref);if(TT(a)&&(!((n=a.typeRef)===null||n===void 0)&&n.ref))return i(a,a.typeRef.ref)}}function Kae(t){let e=t.$container;if(tf(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let a=r[i];if(Ru(a))return a;{let s=_c(r[i]).find(Ru);if(s)return s}}}if(Hv(e))return Kae(e)}function EBe(t,e){return t==="?"||t==="*"||tf(e)&&!!e.guardCondition}function SBe(t){return t==="*"||t==="+"}function CBe(t){return t==="+="}function e2(t){return Qae(t,new Set)}function Qae(t,e){if(e.has(t))return!0;e.add(t);for(let r of _c(t))if(Ol(r)){if(!r.rule.ref||Ma(r.rule.ref)&&!Qae(r.rule.ref,e))return!1}else{if(Il(r))return!1;if(Ru(r))return!1}return!!t.definition}function ABe(t){return QN(t.type,new Set)}function QN(t,e){if(e.has(t))return!0;if(e.add(t),UD(t))return!1;if(oN(t))return!1;if(dN(t))return t.types.every(r=>QN(r,e));if(TT(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return Wv(r)?QN(r.type,e):!1}else return!1}else return!1}function aR(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e){if(Ma(e))return e.name;if(wT(e)||Wv(e))return e.name}}}function Zd(t){var e;if(Ma(t))return e2(t)?t.name:(e=aR(t))!==null&&e!==void 0?e:t.name;if(wT(t)||Wv(t)||lN(t))return t.name;if(Ru(t)){let r=Zae(t);if(r)return r}else if(bT(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Zae(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return Zd(t.type.ref)}function sR(t){var e,r,n;return qo(t)?(r=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&r!==void 0?r:"string":e2(t)?t.name:(n=aR(t))!==null&&n!==void 0?n:t.name}function Ym(t){let e={s:!1,i:!1,u:!1},r=qm(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}function qm(t,e){if(DN(t))return _Be(t);if(RN(t))return LBe(t);if(vN(t))return RBe(t);if(ET(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Mu(qm(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(SN(t))return NBe(t);if(PN(t))return DBe(t);if(AN(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Mu(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(FN(t))return Mu(oR,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function _Be(t){return Mu(t.elements.map(e=>qm(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function LBe(t){return Mu(t.elements.map(e=>qm(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function DBe(t){return Mu(`${oR}*?${qm(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function NBe(t){return Mu(`(?!${qm(t.terminal)})${oR}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function RBe(t){return t.right?Mu(`[${KN(t.left)}-${KN(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):Mu(KN(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function KN(t){return Qd(t.value)}function Mu(t,e){var r;return(e.wrap!==!1||e.lookahead)&&(t=`(${(r=e.lookahead)!==null&&r!==void 0?r:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}var oR,Pl=M(()=>{"use strict";gT();Ac();Yo();es();Ml();Wm();o(Yae,"getEntryRule");o(qae,"getHiddenRules");o(Zv,"getAllReachableRules");o(Xae,"ruleDfs");o(ZN,"getCrossReferenceTerminal");o(JN,"isCommentTerminal");o(eR,"findNodesForProperty");o(Jv,"findNodeForProperty");o(tR,"findNodesForPropertyInternal");o(kBe,"findNodesForKeyword");o(rR,"findNodeForKeyword");o(nR,"findNodesForKeywordInternal");o(iR,"findAssignment");o(RT,"findNameAssignment");o(jae,"findNameAssignmentInternal");o(Kae,"getActionAtElement");o(EBe,"isOptionalCardinality");o(SBe,"isArrayCardinality");o(CBe,"isArrayOperator");o(e2,"isDataTypeRule");o(Qae,"isDataTypeRuleInternal");o(ABe,"isDataType");o(QN,"isDataTypeInternal");o(aR,"getExplicitRuleType");o(Zd,"getTypeName");o(Zae,"getActionType");o(sR,"getRuleType");o(Ym,"terminalRegex");oR=/[\s\S]/.source;o(qm,"abstractElementToRegex");o(_Be,"terminalAlternativesToRegex");o(LBe,"terminalGroupToRegex");o(DBe,"untilTokenToRegex");o(NBe,"negateTokenToRegex");o(RBe,"characterRangeToRegex");o(KN,"keywordToRegex");o(Mu,"withCardinality")});function lR(t){let e=[],r=t.Grammar;for(let n of r.rules)qo(n)&&JN(n)&&qN(Ym(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:pT}}var cR=M(()=>{"use strict";Ml();Pl();Wm();Ac();o(lR,"createGrammarConfig")});var uR=M(()=>{"use strict"});function Xm(t){console&&console.error&&console.error(`Error: ${t}`)}function t2(t){console&&console.warn&&console.warn(`Warning: ${t}`)}var Jae=M(()=>{"use strict";o(Xm,"PRINT_ERROR");o(t2,"PRINT_WARNING")});function r2(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}var ese=M(()=>{"use strict";o(r2,"timer")});function n2(t){function e(){}o(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return o(n,"fakeAccess"),n(),n(),t;(0,eval)(t)}var tse=M(()=>{"use strict";o(n2,"toFastProperties")});var jm=M(()=>{"use strict";Jae();ese();tse()});function MBe(t){return IBe(t)?t.LABEL:t.name}function IBe(t){return gi(t.LABEL)&&t.LABEL!==""}function IT(t){return Je(t,Km)}function Km(t){function e(r){return Je(r,Km)}if(o(e,"convertDefinition"),t instanceof nn){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return gi(t.label)&&(r.label=t.label),r}else{if(t instanceof Cn)return{type:"Alternative",definition:e(t.definition)};if(t instanceof an)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof An)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof _n)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Km(new kr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof vn)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Km(new kr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Lr)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof xn)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof kr){let r={type:"Terminal",name:t.terminalType.name,label:MBe(t.terminalType),idx:t.idx};gi(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=Vo(n)?n.source:n),r}else{if(t instanceof ts)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var so,nn,ts,Cn,an,An,_n,Lr,vn,xn,kr,OT=M(()=>{"use strict";Ht();o(MBe,"tokenLabel");o(IBe,"hasTokenLabel");so=class{static{o(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Ce(this.definition,r=>{r.accept(e)})}},nn=class extends so{static{o(this,"NonTerminal")}constructor(e){super([]),this.idx=1,ha(this,Ds(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},ts=class extends so{static{o(this,"Rule")}constructor(e){super(e.definition),this.orgText="",ha(this,Ds(e,r=>r!==void 0))}},Cn=class extends so{static{o(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,ha(this,Ds(e,r=>r!==void 0))}},an=class extends so{static{o(this,"Option")}constructor(e){super(e.definition),this.idx=1,ha(this,Ds(e,r=>r!==void 0))}},An=class extends so{static{o(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,ha(this,Ds(e,r=>r!==void 0))}},_n=class extends so{static{o(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,ha(this,Ds(e,r=>r!==void 0))}},Lr=class extends so{static{o(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,ha(this,Ds(e,r=>r!==void 0))}},vn=class extends so{static{o(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,ha(this,Ds(e,r=>r!==void 0))}},xn=class extends so{static{o(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,ha(this,Ds(e,r=>r!==void 0))}},kr=class{static{o(this,"Terminal")}constructor(e){this.idx=1,ha(this,Ds(e,r=>r!==void 0))}accept(e){e.visit(this)}};o(IT,"serializeGrammar");o(Km,"serializeProduction")});var rs,rse=M(()=>{"use strict";OT();rs=class{static{o(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case nn:return this.visitNonTerminal(r);case Cn:return this.visitAlternative(r);case an:return this.visitOption(r);case An:return this.visitRepetitionMandatory(r);case _n:return this.visitRepetitionMandatoryWithSeparator(r);case vn:return this.visitRepetitionWithSeparator(r);case Lr:return this.visitRepetition(r);case xn:return this.visitAlternation(r);case kr:return this.visitTerminal(r);case ts:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}});function hR(t){return t instanceof Cn||t instanceof an||t instanceof Lr||t instanceof An||t instanceof _n||t instanceof vn||t instanceof kr||t instanceof ts}function Jd(t,e=[]){return t instanceof an||t instanceof Lr||t instanceof vn?!0:t instanceof xn?Rv(t.definition,n=>Jd(n,e)):t instanceof nn&&Hn(e,t)?!1:t instanceof so?(t instanceof nn&&e.push(t),Ra(t.definition,n=>Jd(n,e))):!1}function fR(t){return t instanceof xn}function Ms(t){if(t instanceof nn)return"SUBRULE";if(t instanceof an)return"OPTION";if(t instanceof xn)return"OR";if(t instanceof An)return"AT_LEAST_ONE";if(t instanceof _n)return"AT_LEAST_ONE_SEP";if(t instanceof vn)return"MANY_SEP";if(t instanceof Lr)return"MANY";if(t instanceof kr)return"CONSUME";throw Error("non exhaustive match")}var nse=M(()=>{"use strict";Ht();OT();o(hR,"isSequenceProd");o(Jd,"isOptionalProd");o(fR,"isBranchingProd");o(Ms,"getProductionDslName")});var ns=M(()=>{"use strict";OT();rse();nse()});function ise(t,e,r){return[new an({definition:[new kr({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}var Iu,PT=M(()=>{"use strict";Ht();ns();Iu=class{static{o(this,"RestWalker")}walk(e,r=[]){Ce(e.definition,(n,i)=>{let a=mi(e.definition,i+1);if(n instanceof nn)this.walkProdRef(n,a,r);else if(n instanceof kr)this.walkTerminal(n,a,r);else if(n instanceof Cn)this.walkFlat(n,a,r);else if(n instanceof an)this.walkOption(n,a,r);else if(n instanceof An)this.walkAtLeastOne(n,a,r);else if(n instanceof _n)this.walkAtLeastOneSep(n,a,r);else if(n instanceof vn)this.walkManySep(n,a,r);else if(n instanceof Lr)this.walkMany(n,a,r);else if(n instanceof xn)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new an({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=ise(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new an({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=ise(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);Ce(e.definition,a=>{let s=new Cn({definition:[a]});this.walk(s,i)})}};o(ise,"restForRepetitionWithSeparator")});function e0(t){if(t instanceof nn)return e0(t.referencedRule);if(t instanceof kr)return BBe(t);if(hR(t))return OBe(t);if(fR(t))return PBe(t);throw Error("non exhaustive match")}function OBe(t){let e=[],r=t.definition,n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=Jd(a),e=e.concat(e0(a)),n=n+1,i=r.length>n;return Om(e)}function PBe(t){let e=Je(t.definition,r=>e0(r));return Om(Wr(e))}function BBe(t){return[t.terminalType]}var dR=M(()=>{"use strict";Ht();ns();o(e0,"first");o(OBe,"firstForSequence");o(PBe,"firstForBranching");o(BBe,"firstForTerminal")});var BT,pR=M(()=>{"use strict";BT="_~IN~_"});function ase(t){let e={};return Ce(t,r=>{let n=new mR(r).startWalking();ha(e,n)}),e}function FBe(t,e){return t.name+e+BT}var mR,sse=M(()=>{"use strict";PT();dR();Ht();pR();ns();mR=class extends Iu{static{o(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=FBe(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Cn({definition:a}),l=e0(s);this.follows[i]=l}};o(ase,"computeAllProdsFollows");o(FBe,"buildBetweenProdsFollowPrefix")});function Qm(t){let e=t.toString();if(FT.hasOwnProperty(e))return FT[e];{let r=zBe.pattern(e);return FT[e]=r,r}}function ose(){FT={}}var FT,zBe,zT=M(()=>{"use strict";Qv();FT={},zBe=new jd;o(Qm,"getRegExpAst");o(ose,"clearRegExpParserCache")});function use(t,e=!1){try{let r=Qm(t);return gR(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===cse)e&&t2(`${i2} Unable to optimize: < ${t.toString()} > Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=` This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Xm(`${i2} Failed parsing: < ${t.toString()} > Using the @chevrotain/regexp-to-ast library Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function gR(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof u=="number")GT(u,e,r);else{let h=u;if(r===!0)for(let f=h.from;f<=h.to;f++)GT(f,e,r);else{for(let f=h.from;f<=h.to&&f=Zm){let f=h.from>=Zm?h.from:Zm,d=h.to,p=Dc(f),m=Dc(d);for(let g=p;g<=m;g++)e[g]=g}}}});break;case"Group":gR(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&yR(s)===!1||s.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return br(e)}function GT(t,e,r){let n=Dc(t);e[n]=n,r===!0&&GBe(t,e)}function GBe(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=Dc(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let a=Dc(i.charCodeAt(0));e[a]=a}}}function lse(t,e){return Za(t.value,r=>{if(typeof r=="number")return Hn(e,r);{let n=r;return Za(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function yR(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Mt(t.value)?Ra(t.value,yR):yR(t.value):!1}function $T(t,e){if(e instanceof RegExp){let r=Qm(e),n=new vR(t);return n.visit(r),n.found}else return Za(e,r=>Hn(t,r.charCodeAt(0)))!==void 0}var cse,i2,vR,hse=M(()=>{"use strict";Qv();Ht();jm();zT();xR();cse="Complement Sets are not supported for first char optimization",i2=`Unable to use "first char" lexer optimizations: `;o(use,"getOptimizedStartCodesIndices");o(gR,"firstCharOptimizedIndices");o(GT,"addOptimizedIdxToResult");o(GBe,"handleIgnoreCase");o(lse,"findCode");o(yR,"isWholeOptional");vR=class extends Lc{static{o(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){Hn(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?lse(e,this.targetCharCodes)===void 0&&(this.found=!0):lse(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};o($T,"canMatchCharCode")});function pse(t,e){e=qh(e,{useSticky:wR,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` `],tracer:o((b,w)=>w(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{iFe()});let n;r("Reject Lexer.NA",()=>{n=jh(t,b=>b[t0]===oi.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=Je(n,b=>{let w=b[t0];if(Vo(w)){let _=w.source;return _.length===1&&_!=="^"&&_!=="$"&&_!=="."&&!w.ignoreCase?_:_.length===2&&_[0]==="\\"&&!Hn(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],_[1])?_[1]:e.useSticky?dse(w):fse(w)}else{if(Ei(w))return i=!0,{exec:w};if(typeof w=="object")return i=!0,w;if(typeof w=="string"){if(w.length===1)return w;{let _=w.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),T=new RegExp(_);return e.useSticky?dse(T):fse(T)}}else throw Error("non exhaustive match")}})});let s,l,u,h,f;r("misc mapping",()=>{s=Je(n,b=>b.tokenTypeIdx),l=Je(n,b=>{let w=b.GROUP;if(w!==oi.SKIPPED){if(gi(w))return w;if(dr(w))return!1;throw Error("non exhaustive match")}}),u=Je(n,b=>{let w=b.LONGER_ALT;if(w)return Mt(w)?Je(w,T=>jw(n,T)):[jw(n,w)]}),h=Je(n,b=>b.PUSH_MODE),f=Je(n,b=>It(b,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let b=Tse(e.lineTerminatorCharacters);d=Je(n,w=>!1),e.positionTracking!=="onlyOffset"&&(d=Je(n,w=>It(w,"LINE_BREAKS")?!!w.LINE_BREAKS:wse(w,b)===!1&&$T(b,w.PATTERN)))});let p,m,g,y;r("Misc Mapping #2",()=>{p=Je(n,xse),m=Je(a,rFe),g=qr(n,(b,w)=>{let _=w.GROUP;return gi(_)&&_!==oi.SKIPPED&&(b[_]=[]),b},{}),y=Je(a,(b,w)=>({pattern:a[w],longerAlt:u[w],canLineTerminator:d[w],isCustom:p[w],short:m[w],group:l[w],push:h[w],pop:f[w],tokenTypeIdx:s[w],tokenType:n[w]}))});let v=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=qr(n,(b,w,_)=>{if(typeof w.PATTERN=="string"){let T=w.PATTERN.charCodeAt(0),E=Dc(T);bR(b,E,y[_])}else if(Mt(w.START_CHARS_HINT)){let T;Ce(w.START_CHARS_HINT,E=>{let L=typeof E=="string"?E.charCodeAt(0):E,C=Dc(L);T!==C&&(T=C,bR(b,C,y[_]))})}else if(Vo(w.PATTERN))if(w.PATTERN.unicode)v=!1,e.ensureOptimizations&&Xm(`${i2} Unable to analyze < ${w.PATTERN.toString()} > pattern. The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let T=use(w.PATTERN,e.ensureOptimizations);cr(T)&&(v=!1),Ce(T,E=>{bR(b,E,y[_])})}else e.ensureOptimizations&&Xm(`${i2} TokenType: <${w.name}> is using a custom token pattern without providing parameter. This will disable the lexer's first char optimizations. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return b},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:v}}function mse(t,e){let r=[],n=VBe(t);r=r.concat(n.errors);let i=UBe(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat($Be(a)),r=r.concat(QBe(a)),r=r.concat(ZBe(a,e)),r=r.concat(JBe(a)),r}function $Be(t){let e=[],r=Yr(t,n=>Vo(n[t0]));return e=e.concat(WBe(r)),e=e.concat(XBe(r)),e=e.concat(jBe(r)),e=e.concat(KBe(r)),e=e.concat(YBe(r)),e}function VBe(t){let e=Yr(t,i=>!It(i,t0)),r=Je(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Wn.MISSING_PATTERN,tokenTypes:[i]})),n=Xh(t,e);return{errors:r,valid:n}}function UBe(t){let e=Yr(t,i=>{let a=i[t0];return!Vo(a)&&!Ei(a)&&!It(a,"exec")&&!gi(a)}),r=Je(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Wn.INVALID_PATTERN,tokenTypes:[i]})),n=Xh(t,e);return{errors:r,valid:n}}function WBe(t){class e extends Lc{static{o(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}let r=Yr(t,i=>{let a=i.PATTERN;try{let s=Qm(a),l=new e;return l.visit(s),l.found}catch{return HBe.test(a.source)}});return Je(r,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Wn.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function YBe(t){let e=Yr(t,n=>n.PATTERN.test(""));return Je(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:Wn.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}function XBe(t){class e extends Lc{static{o(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}let r=Yr(t,i=>{let a=i.PATTERN;try{let s=Qm(a),l=new e;return l.visit(s),l.found}catch{return qBe.test(a.source)}});return Je(r,i=>({message:`Unexpected RegExp Anchor Error: Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Wn.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function jBe(t){let e=Yr(t,n=>{let i=n[t0];return i instanceof RegExp&&(i.multiline||i.global)});return Je(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Wn.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function KBe(t){let e=[],r=Je(t,a=>qr(t,(s,l)=>(a.PATTERN.source===l.PATTERN.source&&!Hn(e,l)&&l.PATTERN!==oi.NA&&(e.push(l),s.push(l)),s),[]));r=Tc(r);let n=Yr(r,a=>a.length>1);return Je(n,a=>{let s=Je(a,u=>u.name);return{message:`The same RegExp pattern ->${ra(a).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:Wn.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function QBe(t){let e=Yr(t,n=>{if(!It(n,"GROUP"))return!1;let i=n.GROUP;return i!==oi.SKIPPED&&i!==oi.NA&&!gi(i)});return Je(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Wn.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function ZBe(t,e){let r=Yr(t,i=>i.PUSH_MODE!==void 0&&!Hn(e,i.PUSH_MODE));return Je(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Wn.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function JBe(t){let e=[],r=qr(t,(n,i,a)=>{let s=i.PATTERN;return s===oi.NA||(gi(s)?n.push({str:s,idx:a,tokenType:i}):Vo(s)&&tFe(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return Ce(t,(n,i)=>{Ce(r,({str:a,idx:s,tokenType:l})=>{if(i${l.name}<- can never be matched. Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:Wn.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}function eFe(t,e){if(Vo(e)){let r=e.exec(t);return r!==null&&r.index===0}else{if(Ei(e))return e(t,0,[],{});if(It(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function tFe(t){return Za([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function fse(t){let e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function dse(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function gse(t,e,r){let n=[];return It(t,Jm)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Jm+`> property in its definition `,type:Wn.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),It(t,VT)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+VT+`> property in its definition `,type:Wn.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),It(t,VT)&&It(t,Jm)&&!It(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Jm}: <${t.defaultMode}>which does not exist `,type:Wn.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),It(t,VT)&&Ce(t.modes,(i,a)=>{Ce(i,(s,l)=>{if(dr(s))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> `,type:Wn.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(It(s,"LONGER_ALT")){let u=Mt(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT];Ce(u,h=>{!dr(h)&&!Hn(i,h)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${s.name}> outside of mode <${a}> `,type:Wn.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function yse(t,e,r){let n=[],i=!1,a=Tc(Wr(br(t.modes))),s=jh(a,u=>u[t0]===oi.NA),l=Tse(r);return e&&Ce(s,u=>{let h=wse(u,l);if(h!==!1){let d={message:nFe(u,h),type:h.issue,tokenType:u};n.push(d)}else It(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):$T(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS for details.`,type:Wn.NO_LINE_BREAKS_FLAGS}),n}function vse(t){let e={},r=zr(t);return Ce(r,n=>{let i=t[n];if(Mt(i))e[n]=[];else throw Error("non exhaustive match")}),e}function xse(t){let e=t.PATTERN;if(Vo(e))return!1;if(Ei(e))return!0;if(It(e,"exec"))return!0;if(gi(e))return!1;throw Error("non exhaustive match")}function rFe(t){return gi(t)&&t.length===1?t.charCodeAt(0):!1}function wse(t,e){if(It(t,"LINE_BREAKS"))return!1;if(Vo(t.PATTERN)){try{$T(e,t.PATTERN)}catch(r){return{issue:Wn.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(gi(t.PATTERN))return!1;if(xse(t))return{issue:Wn.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function nFe(t,e){if(e.issue===Wn.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. The problem is in the <${t.name}> Token Type Root cause: ${e.errMsg}. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Wn.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. The problem is in the <${t.name}> Token Type For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Tse(t){return Je(t,r=>gi(r)?r.charCodeAt(0):r)}function bR(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Dc(t){return t255?255+~~(t/255):t}}var t0,Jm,VT,wR,HBe,qBe,bse,Zm,UT,xR=M(()=>{"use strict";Qv();a2();Ht();jm();hse();zT();t0="PATTERN",Jm="defaultMode",VT="modes",wR=typeof new RegExp("(?:)").sticky=="boolean";o(pse,"analyzeTokenTypes");o(mse,"validatePatterns");o($Be,"validateRegExpPattern");o(VBe,"findMissingPatterns");o(UBe,"findInvalidPatterns");HBe=/[^\\][$]/;o(WBe,"findEndOfInputAnchor");o(YBe,"findEmptyMatchRegExps");qBe=/[^\\[][\^]|^\^/;o(XBe,"findStartOfInputAnchor");o(jBe,"findUnsupportedFlags");o(KBe,"findDuplicatePatterns");o(QBe,"findInvalidGroupType");o(ZBe,"findModesThatDoNotExist");o(JBe,"findUnreachablePatterns");o(eFe,"testTokenType");o(tFe,"noMetaChar");o(fse,"addStartOfInput");o(dse,"addStickyFlag");o(gse,"performRuntimeChecks");o(yse,"performWarningRuntimeChecks");o(vse,"cloneEmptyGroups");o(xse,"isCustomPattern");o(rFe,"isShortPattern");bse={test:o(function(t){let e=t.length;for(let r=this.lastIndex;r{r.isParent=r.categoryMatches.length>0})}function aFe(t){let e=rn(t),r=t,n=!0;for(;n;){r=Tc(Wr(Je(r,a=>a.CATEGORIES)));let i=Xh(r,e);e=e.concat(i),cr(i)?n=!1:r=i}return e}function sFe(t){Ce(t,e=>{TR(e)||(Sse[kse]=e,e.tokenTypeIdx=kse++),Ese(e)&&!Mt(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Ese(e)||(e.CATEGORIES=[]),cFe(e)||(e.categoryMatches=[]),uFe(e)||(e.categoryMatchesMap={})})}function oFe(t){Ce(t,e=>{e.categoryMatches=[],Ce(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(Sse[n].tokenTypeIdx)})})}function lFe(t){Ce(t,e=>{Cse([],e)})}function Cse(t,e){Ce(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),Ce(e.CATEGORIES,r=>{let n=t.concat(e);Hn(n,r)||Cse(n,r)})}function TR(t){return It(t,"tokenTypeIdx")}function Ese(t){return It(t,"CATEGORIES")}function cFe(t){return It(t,"categoryMatches")}function uFe(t){return It(t,"categoryMatchesMap")}function Ase(t){return It(t,"tokenTypeIdx")}var kse,Sse,r0=M(()=>{"use strict";Ht();o(Ou,"tokenStructuredMatcher");o(eg,"tokenStructuredMatcherNoCategories");kse=1,Sse={};o(Pu,"augmentTokenTypes");o(aFe,"expandCategories");o(sFe,"assignTokenDefaultProps");o(oFe,"assignCategoriesTokensProp");o(lFe,"assignCategoriesMapProp");o(Cse,"singleAssignCategoriesToksMap");o(TR,"hasShortKeyProperty");o(Ese,"hasCategoriesProperty");o(cFe,"hasExtendingTokensTypesProperty");o(uFe,"hasExtendingTokensTypesMapProperty");o(Ase,"isTokenType")});var kR,ER=M(()=>{"use strict";kR={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}}});var Wn,s2,oi,a2=M(()=>{"use strict";xR();Ht();jm();r0();ER();zT();(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(Wn||(Wn={}));s2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:kR,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(s2);oi=class{static{o(this,"Lexer")}constructor(e,r=s2){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);let{time:l,value:u}=r2(a),h=l>10?console.warn:console.log;return this.traceInitIndent time: ${l}ms`),this.traceInitIndent--,u}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. a boolean 2nd argument is no longer supported`);this.config=ha({},s2,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===s2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=bse;else if(this.config.lineTerminatorCharacters===s2.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Mt(e)?i={modes:{defaultMode:rn(e)},defaultMode:Jm}:(a=!1,i=rn(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(gse(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(yse(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Ce(i.modes,(l,u)=>{i.modes[u]=jh(l,h=>dr(h))});let s=zr(i.modes);if(Ce(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(mse(l,s))}),cr(this.lexerDefinitionErrors)){Pu(l);let h;this.TRACE_INIT("analyzeTokenTypes",()=>{h=pse(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=h.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=h.charCodeToPatternIdxToConfig,this.emptyGroups=ha({},this.emptyGroups,h.emptyGroups),this.hasCustom=h.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=h.canBeOptimized}})}),this.defaultMode=i.defaultMode,!cr(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=Je(this.lexerDefinitionErrors,h=>h.message).join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: `+u)}Ce(this.lexerDefinitionWarning,l=>{t2(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(wR?(this.chopInput=ta,this.match=this.matchWithTest):(this.updateLastIndex=Jn,this.match=this.matchWithExec),a&&(this.handleModes=Jn),this.trackStartLines===!1&&(this.computeNewColumn=ta),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Jn),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let l=qr(this.canModeBeOptimized,(u,h,f)=>(h===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!cr(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{ose()}),this.TRACE_INIT("toFastProperties",()=>{n2(this)})})}tokenize(e,r=this.defaultMode){if(!cr(this.lexerDefinitionErrors)){let i=Je(this.lexerDefinitionErrors,a=>a.message).join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: `+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,l,u,h,f,d,p,m,g,y,v,x,b,w=e,_=w.length,T=0,E=0,L=this.hasCustom?0:Math.floor(e.length/10),C=new Array(L),A=[],I=this.trackStartLines?1:void 0,D=this.trackStartLines?1:void 0,k=vse(this.emptyGroups),R=this.trackStartLines,S=this.config.lineTerminatorsPattern,O=0,N=[],P=[],F=[],B=[];Object.freeze(B);let $;function z(){return N}o(z,"getPossiblePatternsSlow");function W(ee){let J=Dc(ee),H=P[J];return H===void 0?B:H}o(W,"getPossiblePatternsOptimized");let j=o(ee=>{if(F.length===1&&ee.tokenType.PUSH_MODE===void 0){let J=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(ee);A.push({offset:ee.startOffset,line:ee.startLine,column:ee.startColumn,length:ee.image.length,message:J})}else{F.pop();let J=fa(F);N=this.patternIdxToConfig[J],P=this.charCodeToPatternIdxToConfig[J],O=N.length;let H=this.canModeBeOptimized[J]&&this.config.safeMode===!1;P&&H?$=W:$=z}},"pop_mode");function K(ee){F.push(ee),P=this.charCodeToPatternIdxToConfig[ee],N=this.patternIdxToConfig[ee],O=N.length,O=N.length;let J=this.canModeBeOptimized[ee]&&this.config.safeMode===!1;P&&J?$=W:$=z}o(K,"push_mode"),K.call(this,r);let ie,Q=this.config.recoveryEnabled;for(;T<_;){u=null;let ee=w.charCodeAt(T),J=$(ee),H=J.length;for(n=0;nu.length){u=s,h=f,ie=ue;break}}}break}}if(u!==null){if(d=u.length,p=ie.group,p!==void 0&&(m=ie.tokenTypeIdx,g=this.createTokenInstance(u,T,m,ie.tokenType,I,D,d),this.handlePayload(g,h),p===!1?E=this.addToken(C,E,g):k[p].push(g)),e=this.chopInput(e,d),T=T+d,D=this.computeNewColumn(D,d),R===!0&&ie.canLineTerminator===!0){let q=0,Z,ae;S.lastIndex=0;do Z=S.test(u),Z===!0&&(ae=S.lastIndex-1,q++);while(Z===!0);q!==0&&(I=I+q,D=d-ae,this.updateTokenEndLineColumnLocation(g,p,ae,q,I,D,d))}this.handleModes(ie,j,K,g)}else{let q=T,Z=I,ae=D,ue=Q===!1;for(;ue===!1&&T<_;)for(e=this.chopInput(e,1),T++,i=0;i{"use strict";Ht();a2();r0();o(Bu,"tokenLabel");o(SR,"hasTokenLabel");hFe="parent",_se="categories",Lse="label",Dse="group",Nse="push_mode",Rse="pop_mode",Mse="longer_alt",Ise="line_breaks",Ose="start_chars_hint";o(HT,"createToken");o(fFe,"createTokenInternal");oo=HT({name:"EOF",pattern:oi.NA});Pu([oo]);o(n0,"createTokenInstance");o(o2,"tokenMatcher")});var Fu,Pse,Bl,tg=M(()=>{"use strict";i0();Ht();ns();Fu={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${SR(t)?`--> ${Bu(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",l=` but found: '`+ra(e).image+"'";if(n)return a+n+l;{let u=qr(t,(p,m)=>p.concat(m),[]),h=Je(u,p=>`[${Je(p,m=>Bu(m)).join(", ")}]`),d=`one of these possible Token sequences: ${Je(h,(p,m)=>` ${m+1}. ${p}`).join(` `)}`;return a+d+l}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",s=` but found: '`+ra(e).image+"'";if(r)return i+r+s;{let u=`expecting at least one iteration which starts with one of these possible Token sequences:: <${Je(t,h=>`[${Je(h,f=>Bu(f)).join(",")}]`).join(" ,")}>`;return i+u+s}}};Object.freeze(Fu);Pse={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- inside top level rule: ->`+t.name+"<-"}},Bl={buildDuplicateFoundError(t,e){function r(f){return f instanceof kr?f.terminalType.name:f instanceof nn?f.nonTerminalName:""}o(r,"getExtraProductionArgument");let n=t.name,i=ra(e),a=i.idx,s=Ms(i),l=r(i),u=a>0,h=`->${s}${u?a:""}<- ${l?`with argument: ->${l}<-`:""} appears more than once (${e.length} times) in the top level rule: ->${n}<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return h=h.replace(/[ \t]+/g," "),h=h.replace(/\s\s+/g,` `),h},buildNamespaceConflictError(t){return`Namespace conflict found in grammar. The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. To resolve this make sure each Terminal and Non-Terminal names are unique This is easy to accomplish by using the convention that Terminal names start with an uppercase letter and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=Je(t.prefixPath,i=>Bu(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix in inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX For Further details.`},buildAlternationAmbiguityError(t){let e=Je(t.prefixPath,i=>Bu(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES For Further details.`,n},buildEmptyRepetitionError(t){let e=Ms(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in inside <${t.topLevelRule.name}> Rule. Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives: inside <${t.topLevelRule.name}> Rule. has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=Je(t.leftRecursionPath,a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. rule: <${e}> can be invoked from itself (directly or indirectly) without consuming any Tokens. The grammar path that causes this is: ${n} To fix this refactor your grammar to remove the left recursion. see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ts?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}}});function Bse(t,e){let r=new CR(t,e);return r.resolveRefs(),r.errors}var CR,Fse=M(()=>{"use strict";Is();Ht();ns();o(Bse,"resolveGrammar");CR=class extends rs{static{o(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Ce(br(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:zi.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}});function XT(t,e,r=[]){r=rn(r);let n=[],i=0;function a(l){return l.concat(mi(t,i+1))}o(a,"remainingPathWith");function s(l){let u=XT(a(l),e,r);return n.concat(u)}for(o(s,"getAlternativesForProd");r.length{cr(u.definition)===!1&&(n=s(u.definition))}),n;if(l instanceof kr)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:mi(t,i)}),n}function jT(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",l=!1,u=e.length,h=u-n-1,f=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!cr(d);){let p=d.pop();if(p===s){l&&fa(d).idx<=h&&d.pop();continue}let m=p.def,g=p.idx,y=p.ruleStack,v=p.occurrenceStack;if(cr(m))continue;let x=m[0];if(x===i){let b={idx:g,def:mi(m),ruleStack:Lu(y),occurrenceStack:Lu(v)};d.push(b)}else if(x instanceof kr)if(g=0;b--){let w=x.definition[b],_={idx:g,def:w.definition.concat(mi(m)),ruleStack:y,occurrenceStack:v};d.push(_),d.push(s)}else if(x instanceof Cn)d.push({idx:g,def:x.definition.concat(mi(m)),ruleStack:y,occurrenceStack:v});else if(x instanceof ts)d.push(dFe(x,g,y,v));else throw Error("non exhaustive match")}return f}function dFe(t,e,r,n){let i=rn(r);i.push(t.name);let a=rn(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var AR,WT,rg,YT,l2,qT,c2,u2=M(()=>{"use strict";Ht();dR();PT();ns();AR=class extends Iu{static{o(this,"AbstractNextPossibleTokensWalker")}constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=rn(this.path.ruleStack).reverse(),this.occurrenceStack=rn(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){cr(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},WT=class extends AR{static{o(this,"NextAfterTokenWalker")}constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),a=new Cn({definition:i});this.possibleTokTypes=e0(a),this.found=!0}}},rg=class extends Iu{static{o(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},YT=class extends rg{static{o(this,"NextTerminalAfterManyWalker")}walkMany(e,r,n){if(e.idx===this.occurrence){let i=ra(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof kr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},l2=class extends rg{static{o(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,n){if(e.idx===this.occurrence){let i=ra(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof kr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},qT=class extends rg{static{o(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=ra(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof kr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},c2=class extends rg{static{o(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=ra(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof kr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};o(XT,"possiblePathsFrom");o(jT,"nextPossibleTokensAfter");o(dFe,"expandTopLevelRule")});function h2(t){if(t instanceof an||t==="Option")return Yn.OPTION;if(t instanceof Lr||t==="Repetition")return Yn.REPETITION;if(t instanceof An||t==="RepetitionMandatory")return Yn.REPETITION_MANDATORY;if(t instanceof _n||t==="RepetitionMandatoryWithSeparator")return Yn.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof vn||t==="RepetitionWithSeparator")return Yn.REPETITION_WITH_SEPARATOR;if(t instanceof xn||t==="Alternation")return Yn.ALTERNATION;throw Error("non exhaustive match")}function QT(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=h2(n);return a===Yn.ALTERNATION?ng(e,r,i):ig(e,r,a,i)}function Gse(t,e,r,n,i,a){let s=ng(t,e,r),l=Yse(s)?eg:Ou;return a(s,n,l,i)}function $se(t,e,r,n,i,a){let s=ig(t,e,i,r),l=Yse(s)?eg:Ou;return a(s[0],l,n)}function Vse(t,e,r,n){let i=t.length,a=Ra(t,s=>Ra(s,l=>l.length===1));if(e)return function(s){let l=Je(s,u=>u.GATE);for(let u=0;uWr(u)),l=qr(s,(u,h,f)=>(Ce(h,d=>{It(u,d.tokenTypeIdx)||(u[d.tokenTypeIdx]=f),Ce(d.categoryMatches,p=>{It(u,p)||(u[p]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){let a=Wr(t);if(a.length===1&&cr(a[0].categoryMatches)){let l=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let s=qr(a,(l,u,h)=>(l[u.tokenTypeIdx]=!0,Ce(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return s[l.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aXT([s],1)),n=zse(r.length),i=Je(r,s=>{let l={};return Ce(s,u=>{let h=_R(u.partialPath);Ce(h,f=>{l[f]=!0})}),l}),a=r;for(let s=1;s<=e;s++){let l=a;a=zse(l.length);for(let u=0;u{let x=_R(v.partialPath);Ce(x,b=>{i[u][b]=!0})})}}}}return n}function ng(t,e,r,n){let i=new KT(t,Yn.ALTERNATION,n);return e.accept(i),Hse(i.result,r)}function ig(t,e,r,n){let i=new KT(t,r);e.accept(i);let a=i.result,l=new LR(e,t,r).startWalking(),u=new Cn({definition:a}),h=new Cn({definition:l});return Hse([u,h],n)}function ZT(t,e){e:for(let r=0;r{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Yse(t){return Ra(t,e=>Ra(e,r=>Ra(r,n=>cr(n.categoryMatches))))}var Yn,LR,KT,ag=M(()=>{"use strict";Ht();u2();PT();r0();ns();(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(Yn||(Yn={}));o(h2,"getProdType");o(QT,"getLookaheadPaths");o(Gse,"buildLookaheadFuncForOr");o($se,"buildLookaheadFuncForOptionalProd");o(Vse,"buildAlternativesLookAheadFunc");o(Use,"buildSingleAlternativeLookaheadFunction");LR=class extends Iu{static{o(this,"RestDefinitionFinderWalker")}constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,Yn.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,Yn.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,Yn.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,Yn.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,Yn.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},KT=class extends rs{static{o(this,"InsideDefinitionFinderVisitor")}constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Yn.OPTION)}visitRepetition(e){this.checkIsTarget(e,Yn.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Yn.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Yn.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Yn.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Yn.ALTERNATION)}};o(zse,"initializeArrayOfArrays");o(_R,"pathToHashKeys");o(pFe,"isUniquePrefixHash");o(Hse,"lookAheadSequenceFromAlternatives");o(ng,"getLookaheadPathsForOr");o(ig,"getLookaheadPathsForOptionalProd");o(ZT,"containsPath");o(Wse,"isStrictPrefixOfPath");o(Yse,"areTokenCategoriesNotUsed")});function qse(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return Je(e,r=>Object.assign({type:zi.CUSTOM_LOOKAHEAD_VALIDATION},r))}function Xse(t,e,r,n){let i=da(t,u=>mFe(u,r)),a=wFe(t,e,r),s=da(t,u=>vFe(u,r)),l=da(t,u=>yFe(u,t,n,r));return i.concat(a,s,l)}function mFe(t,e){let r=new DR;t.accept(r);let n=r.allProductions,i=UL(n,gFe),a=Ds(i,l=>l.length>1);return Je(br(a),l=>{let u=ra(l),h=e.buildDuplicateFoundError(t,l),f=Ms(u),d={message:h,type:zi.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:u.idx},p=jse(u);return p&&(d.parameter=p),d})}function gFe(t){return`${Ms(t)}_#_${t.idx}_#_${jse(t)}`}function jse(t){return t instanceof kr?t.terminalType.name:t instanceof nn?t.nonTerminalName:""}function yFe(t,e,r,n){let i=[];if(qr(e,(s,l)=>l.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:zi.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function Kse(t,e,r){let n=[],i;return Hn(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:zi.INVALID_RULE_OVERRIDE,ruleName:t})),n}function RR(t,e,r,n=[]){let i=[],a=JT(e.definition);if(cr(a))return[];{let s=t.name;Hn(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:zi.LEFT_RECURSION,ruleName:s});let u=Xh(a,n.concat([t])),h=da(u,f=>{let d=rn(n);return d.push(f),RR(t,f,r,d)});return i.concat(h)}}function JT(t){let e=[];if(cr(t))return e;let r=ra(t);if(r instanceof nn)e.push(r.referencedRule);else if(r instanceof Cn||r instanceof an||r instanceof An||r instanceof _n||r instanceof vn||r instanceof Lr)e=e.concat(JT(r.definition));else if(r instanceof xn)e=Wr(Je(r.definition,a=>JT(a.definition)));else if(!(r instanceof kr))throw Error("non exhaustive match");let n=Jd(r),i=t.length>1;if(n&&i){let a=mi(t);return e.concat(JT(a))}else return e}function Qse(t,e){let r=new f2;t.accept(r);let n=r.alternations;return da(n,a=>{let s=Lu(a.definition);return da(s,(l,u)=>{let h=jT([l],[],Ou,1);return cr(h)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:u}),type:zi.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:u+1}]:[]})})}function Zse(t,e,r){let n=new f2;t.accept(n);let i=n.alternations;return i=jh(i,s=>s.ignoreAmbiguities===!0),da(i,s=>{let l=s.idx,u=s.maxLookahead||e,h=ng(l,t,u,s),f=xFe(h,s,t,r),d=bFe(h,s,t,r);return f.concat(d)})}function vFe(t,e){let r=new f2;t.accept(r);let n=r.alternations;return da(n,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:zi.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Jse(t,e,r){let n=[];return Ce(t,i=>{let a=new NR;i.accept(a);let s=a.allProductions;Ce(s,l=>{let u=h2(l),h=l.maxLookahead||e,f=l.idx,p=ig(f,i,u,h)[0];if(cr(Wr(p))){let m=r.buildEmptyRepetitionError({topLevelRule:i,repetition:l});n.push({message:m,type:zi.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function xFe(t,e,r,n){let i=[],a=qr(t,(l,u,h)=>(e.definition[h].ignoreAmbiguities===!0||Ce(u,f=>{let d=[h];Ce(t,(p,m)=>{h!==m&&ZT(p,f)&&e.definition[m].ignoreAmbiguities!==!0&&d.push(m)}),d.length>1&&!ZT(i,f)&&(i.push(f),l.push({alts:d,path:f}))}),l),[]);return Je(a,l=>{let u=Je(l.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:zi.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}function bFe(t,e,r,n){let i=qr(t,(s,l,u)=>{let h=Je(l,f=>({idx:u,path:f}));return s.concat(h)},[]);return Tc(da(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let u=s.idx,h=s.path,f=Yr(i,p=>e.definition[p.idx].ignoreAmbiguities!==!0&&p.idx{let m=[p.idx+1,u+1],g=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:m,prefixPath:p.path}),type:zi.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:g,alternatives:m}})}))}function wFe(t,e,r){let n=[],i=Je(e,a=>a.name);return Ce(t,a=>{let s=a.name;if(Hn(i,s)){let l=r.buildNamespaceConflictError(a);n.push({message:l,type:zi.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}var DR,f2,NR,d2=M(()=>{"use strict";Ht();Is();ns();ag();u2();r0();o(qse,"validateLookahead");o(Xse,"validateGrammar");o(mFe,"validateDuplicateProductions");o(gFe,"identifyProductionForDuplicates");o(jse,"getExtraProductionArgument");DR=class extends rs{static{o(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};o(yFe,"validateRuleDoesNotAlreadyExist");o(Kse,"validateRuleIsOverridden");o(RR,"validateNoLeftRecursion");o(JT,"getFirstNoneTerminal");f2=class extends rs{static{o(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};o(Qse,"validateEmptyOrAlternative");o(Zse,"validateAmbiguousAlternationAlternatives");NR=class extends rs{static{o(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};o(vFe,"validateTooManyAlts");o(Jse,"validateSomeNonEmptyLookaheadPath");o(xFe,"checkAlternativesAmbiguities");o(bFe,"checkPrefixAlternativesAmbiguities");o(wFe,"checkTerminalAndNoneTerminalsNameSpace")});function eoe(t){let e=qh(t,{errMsgProvider:Pse}),r={};return Ce(t.rules,n=>{r[n.name]=n}),Bse(r,e.errMsgProvider)}function toe(t){return t=qh(t,{errMsgProvider:Bl}),Xse(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var roe=M(()=>{"use strict";Ht();Fse();d2();tg();o(eoe,"resolveGrammar");o(toe,"validateGrammar")});function rf(t){return Hn(ooe,t.name)}var noe,ioe,aoe,soe,ooe,sg,a0,p2,m2,g2,og=M(()=>{"use strict";Ht();noe="MismatchedTokenException",ioe="NoViableAltException",aoe="EarlyExitException",soe="NotAllInputParsedException",ooe=[noe,ioe,aoe,soe];Object.freeze(ooe);o(rf,"isRecognitionException");sg=class extends Error{static{o(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},a0=class extends sg{static{o(this,"MismatchedTokenException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=noe}},p2=class extends sg{static{o(this,"NoViableAltException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=ioe}},m2=class extends sg{static{o(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=soe}},g2=class extends sg{static{o(this,"EarlyExitException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=aoe}}});function TFe(t,e,r,n,i,a,s){let l=this.getKeyForAutomaticLookahead(n,i),u=this.firstAfterRepMap[l];if(u===void 0){let p=this.getCurrRuleFullName(),m=this.getGAstProductions()[p];u=new a(m,i).startWalking(),this.firstAfterRepMap[l]=u}let h=u.token,f=u.occurrence,d=u.isEndOfRule;this.RULE_STACK.length===1&&d&&h===void 0&&(h=oo,f=1),!(h===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(h,f,s)&&this.tryInRepetitionRecovery(t,e,r,h)}var MR,OR,IR,ek,PR=M(()=>{"use strict";i0();Ht();og();pR();Is();MR={},OR="InRuleRecoveryException",IR=class extends Error{static{o(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=OR}},ek=class{static{o(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=It(e,"recoveryEnabled")?e.recoveryEnabled:is.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=TFe)}getTokenToInsert(e){let r=n0(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let a=this.findReSyncTokenType(),s=this.exportLexerState(),l=[],u=!1,h=this.LA(1),f=this.LA(1),d=o(()=>{let p=this.LA(0),m=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:h,previous:p,ruleName:this.getCurrRuleFullName()}),g=new a0(m,h,this.LA(0));g.resyncedTokens=Lu(l),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(f,a)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new IR("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||cr(r))return!1;let n=this.LA(1);return Za(r,a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return Hn(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=Za(e,a=>o2(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return MR;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return Je(e,(n,i)=>i===0?MR:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=Je(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return Wr(e)}getFollowSetFromFollowKey(e){if(e===MR)return[oo];let r=e.ruleName+e.idxInCallingRule+BT+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,oo)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return Lu(r)}attemptInRepetitionRecovery(e,r,n,i,a,s,l){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=rn(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return Je(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};o(TFe,"attemptInRepetitionRecovery")});function tk(t,e,r){return r|e|t}var rk=M(()=>{"use strict";o(tk,"getKeyForAutomaticLookahead")});var zu,BR=M(()=>{"use strict";Ht();tg();Is();d2();ag();zu=class{static{o(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:is.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(cr(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...a]}return r}validateNoLeftRecursion(e){return da(e,r=>RR(r,r,Bl))}validateEmptyOrAlternatives(e){return da(e,r=>Qse(r,Bl))}validateAmbiguousAlternationAlternatives(e,r){return da(e,n=>Zse(n,r,Bl))}validateSomeNonEmptyLookaheadPath(e,r){return Jse(e,r,Bl)}buildLookaheadForAlternation(e){return Gse(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Vse)}buildLookaheadForOptional(e){return $se(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,h2(e.prodType),Use)}}});function kFe(t){nk.reset(),t.accept(nk);let e=nk.dslMethods;return nk.reset(),e}var ik,FR,nk,loe=M(()=>{"use strict";Ht();Is();rk();ns();BR();ik=class{static{o(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=It(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:is.dynamicTokensEnabled,this.maxLookahead=It(e,"maxLookahead")?e.maxLookahead:is.maxLookahead,this.lookaheadStrategy=It(e,"lookaheadStrategy")?e.lookaheadStrategy:new zu({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){Ce(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=kFe(r);Ce(n,h=>{let f=h.idx===0?"":h.idx;this.TRACE_INIT(`${Ms(h)}${f}`,()=>{let d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:h.idx,rule:r,maxLookahead:h.maxLookahead||this.maxLookahead,hasPredicates:h.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),p=tk(this.fullRuleNameToShort[r.name],256,h.idx);this.setLaFuncCache(p,d)})}),Ce(i,h=>{this.computeLookaheadFunc(r,h.idx,768,"Repetition",h.maxLookahead,Ms(h))}),Ce(a,h=>{this.computeLookaheadFunc(r,h.idx,512,"Option",h.maxLookahead,Ms(h))}),Ce(s,h=>{this.computeLookaheadFunc(r,h.idx,1024,"RepetitionMandatory",h.maxLookahead,Ms(h))}),Ce(l,h=>{this.computeLookaheadFunc(r,h.idx,1536,"RepetitionMandatoryWithSeparator",h.maxLookahead,Ms(h))}),Ce(u,h=>{this.computeLookaheadFunc(r,h.idx,1280,"RepetitionWithSeparator",h.maxLookahead,Ms(h))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=tk(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return tk(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},FR=class extends rs{static{o(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},nk=new FR;o(kFe,"collectMethods")});function $R(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";o($R,"setNodeLocationOnlyOffset");o(VR,"setNodeLocationFull");o(coe,"addTerminalToCst");o(uoe,"addNoneTerminalToCst")});function UR(t,e){Object.defineProperty(t,EFe,{enumerable:!1,configurable:!0,writable:!1,value:e})}var EFe,foe=M(()=>{"use strict";EFe="name";o(UR,"defineNameProp")});function SFe(t,e){let r=zr(t),n=r.length;for(let i=0;is.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: ${a.join(` `).replace(/\n/g,` `)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function poe(t,e,r){let n=o(function(){},"derivedConstructor");UR(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return Ce(e,a=>{i[a]=SFe}),n.prototype=i,n.prototype.constructor=n,n}function CFe(t,e){return AFe(t,e)}function AFe(t,e){let r=Yr(e,i=>Ei(t[i])===!1),n=Je(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:HR.MISSING_METHOD,methodName:i}));return Tc(n)}var HR,moe=M(()=>{"use strict";Ht();foe();o(SFe,"defaultVisit");o(doe,"createBaseSemanticVisitorConstructor");o(poe,"createBaseVisitorConstructorWithDefaults");(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(HR||(HR={}));o(CFe,"validateVisitor");o(AFe,"validateMissingCstMethods")});var lk,goe=M(()=>{"use strict";hoe();Ht();moe();Is();lk=class{static{o(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=It(e,"nodeLocationTracking")?e.nodeLocationTracking:is.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Jn,this.cstFinallyStateUpdate=Jn,this.cstPostTerminal=Jn,this.cstPostNonTerminal=Jn,this.cstPostRule=Jn;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=VR,this.setNodeLocationFromNode=VR,this.cstPostRule=Jn,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Jn,this.setNodeLocationFromNode=Jn,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=$R,this.setNodeLocationFromNode=$R,this.cstPostRule=Jn,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Jn,this.setNodeLocationFromNode=Jn,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Jn,this.setNodeLocationFromNode=Jn,this.cstPostRule=Jn,this.setInitialNodeLocation=Jn;else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];coe(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];uoe(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(dr(this.baseCstVisitorConstructor)){let e=doe(this.className,zr(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(dr(this.baseCstVisitorWithDefaultsConstructor)){let e=poe(this.className,zr(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}});var ck,yoe=M(()=>{"use strict";Is();ck=class{static{o(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):lg}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?lg:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}});var uk,voe=M(()=>{"use strict";Ht();og();Is();tg();d2();ns();uk=class{static{o(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=cg){if(Hn(this.definedRulesNames,e)){let s={message:Bl.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:zi.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=cg){let i=Kse(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(rf(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return IT(br(this.gastProductionsCache))}}});var hk,xoe=M(()=>{"use strict";Ht();rk();og();ag();u2();Is();PR();i0();r0();hk=class{static{o(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=eg,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},It(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 For Further details.`);if(Mt(e)){if(cr(e))throw Error(`A Token Vocabulary cannot be empty. Note that the first argument for the parser constructor is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 For Further details.`)}if(Mt(e))this.tokensMap=qr(e,(a,s)=>(a[s.name]=s,a),{});else if(It(e,"modes")&&Ra(Wr(br(e.modes)),Ase)){let a=Wr(br(e.modes)),s=Om(a);this.tokensMap=qr(s,(l,u)=>(l[u.name]=u,l),{})}else if(yn(e))this.tokensMap=rn(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=oo;let n=It(e,"modes")?Wr(br(e.modes)):br(e),i=Ra(n,a=>cr(a.categoryMatches));this.tokenMatcher=i?eg:Ou,Pu(br(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=It(n,"resyncEnabled")?n.resyncEnabled:cg.resyncEnabled,a=It(n,"recoveryValueFunc")?n.recoveryValueFunc:cg.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let l;return this.outputCst===!0?l=o(function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=o(function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(rf(e)){let s=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(s.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,s.partialCstResult=u}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;let s=e.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let s=r.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,Yn.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,qT)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,c2],l,1536,e,c2)}else throw this.raiseEarlyExitException(e,Yn.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=o(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,YT,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,l2],l,1280,e,l2)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=Mt(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new m2(r,e))}}subruleInternal(e,r,n){let i;try{let a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw rf(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new a0(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===OR?n:a}}else throw n}saveRecogState(){let e=this.errors,r=rn(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),oo)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}});var fk,boe=M(()=>{"use strict";og();Ht();ag();Is();fk=class{static{o(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=It(e,"errorMessageProvider")?e.errorMessageProvider:is.errorMessageProvider}SAVE_ERROR(e){if(rf(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:rn(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return rn(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],l=ig(e,a,r,this.maxLookahead)[0],u=[];for(let f=1;f<=this.maxLookahead;f++)u.push(this.LA(f));let h=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new g2(h,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=ng(e,i,this.maxLookahead),s=[];for(let h=1;h<=this.maxLookahead;h++)s.push(this.LA(h));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:s,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new p2(u,this.LA(1),l))}}});var dk,woe=M(()=>{"use strict";u2();Ht();dk=class{static{o(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(dr(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return jT([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=ra(e.ruleStack),i=this.getGAstProductions()[r];return new WT(i,e).startWalking()}}});function v2(t,e,r,n=!1){mk(r);let i=fa(this.recordingProdStack),a=Ei(e)?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),It(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),gk}function DFe(t,e){mk(e);let r=fa(this.recordingProdStack),n=Mt(t)===!1,i=n===!1?t:t.DEF,a=new xn({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});It(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let s=Rv(i,l=>Ei(l.GATE));return a.hasPredicates=s,r.definition.push(a),Ce(i,l=>{let u=new Cn({definition:[]});a.definition.push(u),It(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:It(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),gk}function Eoe(t){return t===0?"":`${t}`}function mk(t){if(t<0||t>koe){let e=new Error(`Invalid DSL Method idx value: <${t}> Idx value must be a none negative value smaller than ${koe+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var gk,Toe,koe,Soe,Coe,LFe,pk,Aoe=M(()=>{"use strict";Ht();ns();a2();r0();i0();Is();rk();gk={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(gk);Toe=!0,koe=Math.pow(2,8)-1,Soe=HT({name:"RECORDING_PHASE_TOKEN",pattern:oi.NA});Pu([Soe]);Coe=n0(Soe,`This IToken indicates the Parser is in Recording Phase See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Coe);LFe={name:`This CSTNode indicates the Parser is in Recording Phase See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},pk=class{static{o(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return lg}topLevelRuleRecord(e,r){try{let n=new ts({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return v2.call(this,an,e,r)}atLeastOneInternalRecord(e,r){v2.call(this,An,r,e)}atLeastOneSepFirstInternalRecord(e,r){v2.call(this,_n,r,e,Toe)}manyInternalRecord(e,r){v2.call(this,Lr,r,e)}manySepFirstInternalRecord(e,r){v2.call(this,vn,r,e,Toe)}orInternalRecord(e,r){return DFe.call(this,e,r)}subruleInternalRecord(e,r,n){if(mk(r),!e||It(e,"ruleName")===!1){let l=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=fa(this.recordingProdStack),a=e.ruleName,s=new nn({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?LFe:gk}consumeInternalRecord(e,r,n){if(mk(r),!TR(e)){let s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=fa(this.recordingProdStack),a=new kr({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),Coe}};o(v2,"recordProd");o(DFe,"recordOrProd");o(Eoe,"getIdxSuffix");o(mk,"assertMethodIdxIsValid")});var yk,_oe=M(()=>{"use strict";Ht();jm();Is();yk=class{static{o(this,"PerformanceTracer")}initPerformanceTracer(e){if(It(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=is.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:i,value:a}=r2(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}});function Loe(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}var Doe=M(()=>{"use strict";o(Loe,"applyMixins")});function vk(t=void 0){return function(){return t}}var lg,is,cg,zi,x2,b2,Is=M(()=>{"use strict";Ht();jm();sse();i0();tg();roe();PR();loe();goe();yoe();voe();xoe();boe();woe();Aoe();_oe();Doe();d2();lg=n0(oo,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(lg);is=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Fu,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),cg=Object.freeze({recoveryValueFunc:o(()=>{},"recoveryValueFunc"),resyncEnabled:!0});(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(zi||(zi={}));o(vk,"EMPTY_ALT");x2=class t{static{o(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{n2(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),Ce(this.definedRulesNames,i=>{let s=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=eoe({rules:br(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(cr(n)&&this.skipValidations===!1){let i=toe({rules:br(this.gastProductionsCache),tokenTypes:br(this.tokensMap),errMsgProvider:Bl,grammarName:r}),a=qse({lookaheadStrategy:this.lookaheadStrategy,rules:br(this.gastProductionsCache),tokenTypes:br(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),cr(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=ase(br(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:br(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(br(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!cr(this.definitionErrors))throw e=Je(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: ${e.join(` ------------------------------- `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),It(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES For further details.`);this.skipValidations=It(r,"skipValidations")?r.skipValidations:is.skipValidations}};x2.DEFER_DEFINITION_ERRORS_HANDLING=!1;Loe(x2,[ek,ik,lk,ck,hk,uk,fk,dk,pk,yk]);b2=class extends x2{static{o(this,"EmbeddedActionsParser")}constructor(e,r=is){let n=rn(r);n.outputCst=!1,super(e,n)}}});var Noe=M(()=>{"use strict";ns()});var Roe=M(()=>{"use strict"});var Moe=M(()=>{"use strict";Noe();Roe()});var Ioe=M(()=>{"use strict";uR()});var s0=M(()=>{"use strict";uR();Is();a2();i0();ag();BR();tg();og();ER();ns();ns();Moe();Ioe()});function o0(t,e,r){return`${t.name}_${e}_${r}`}function Foe(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};BFe(e,t);let r=t.length;for(let n=0;nzoe(t,e,s));return dg(t,e,n,r,...i)}function UFe(t,e,r){let n=na(t,e,r,{type:nf});af(t,n);let i=dg(t,e,n,r,l0(t,e,r));return HFe(t,e,r,i)}function l0(t,e,r){let n=Yr(Je(r.definition,i=>zoe(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:YFe(t,n)}function Goe(t,e,r,n,i){let a=n.left,s=n.right,l=na(t,e,r,{type:PFe});af(t,l);let u=na(t,e,r,{type:Boe});return a.loopback=l,u.loopback=l,t.decisionMap[o0(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,Ai(s,l),i===void 0?(Ai(l,a),Ai(l,u)):(Ai(l,u),Ai(l,i.left),Ai(i.right,a)),{left:a,right:u}}function $oe(t,e,r,n,i){let a=n.left,s=n.right,l=na(t,e,r,{type:OFe});af(t,l);let u=na(t,e,r,{type:Boe}),h=na(t,e,r,{type:IFe});return l.loopback=h,u.loopback=h,Ai(l,a),Ai(l,u),Ai(s,h),i!==void 0?(Ai(h,u),Ai(h,i.left),Ai(i.right,a)):Ai(h,l),t.decisionMap[o0(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}function HFe(t,e,r,n){let i=n.left,a=n.right;return Ai(i,a),t.decisionMap[o0(e,"Option",r.idx)]=i,n}function af(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function dg(t,e,r,n,...i){let a=na(t,e,n,{type:MFe,start:r});r.end=a;for(let l of i)l!==void 0?(Ai(r,l.left),Ai(l.right,a)):Ai(r,a);let s={left:r,right:a};return t.decisionMap[o0(e,WFe(n),n.idx)]=r,s}function WFe(t){if(t instanceof xn)return"Alternation";if(t instanceof an)return"Option";if(t instanceof Lr)return"Repetition";if(t instanceof vn)return"RepetitionWithSeparator";if(t instanceof An)return"RepetitionMandatory";if(t instanceof _n)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function YFe(t,e){let r=e.length;for(let a=0;a{"use strict";Rm();FL();s0();o(o0,"buildATNKey");nf=1,RFe=2,Ooe=4,Poe=5,fg=7,MFe=8,IFe=9,OFe=10,PFe=11,Boe=12,w2=class{static{o(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},ug=class extends w2{static{o(this,"AtomTransition")}constructor(e,r){super(e),this.tokenType=r}},T2=class extends w2{static{o(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},hg=class extends w2{static{o(this,"RuleTransition")}constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};o(Foe,"createATN");o(BFe,"createRuleStartAndStopATNStates");o(zoe,"atom");o(FFe,"repetition");o(zFe,"repetitionSep");o(GFe,"repetitionMandatory");o($Fe,"repetitionMandatorySep");o(VFe,"alternation");o(UFe,"option");o(l0,"block");o(Goe,"plus");o($oe,"star");o(HFe,"optional");o(af,"defineDecisionState");o(dg,"makeAlts");o(WFe,"getProdType");o(YFe,"makeBlock");o(YR,"tokenRef");o(qFe,"ruleRef");o(XFe,"buildRuleHandle");o(Ai,"epsilon");o(na,"newState");o(qR,"addTransition");o(jFe,"removeState")});function XR(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}var k2,pg,Uoe=M(()=>{"use strict";Rm();k2={},pg=class{static{o(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=XR(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return Je(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};o(XR,"getATNConfigKey")});function KFe(t,e){let r={};return n=>{let i=n.toString(),a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}function Woe(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let a of n){if(a===void 0){if(e)break;return!1}let s=[a.tokenTypeIdx].concat(a.categoryMatches);for(let l of s)if(r.has(l)){if(!i.has(l))return!1}else r.add(l),i.add(l)}}return!0}function QFe(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;nBu(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${rze(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, <${e}> may appears as a prefix path in all these alternatives. `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES For Further details.`,n}function rze(t){if(t instanceof nn)return"SUBRULE";if(t instanceof an)return"OPTION";if(t instanceof xn)return"OR";if(t instanceof An)return"AT_LEAST_ONE";if(t instanceof _n)return"AT_LEAST_ONE_SEP";if(t instanceof vn)return"MANY_SEP";if(t instanceof Lr)return"MANY";if(t instanceof kr)return"CONSUME";throw Error("non exhaustive match")}function nze(t,e,r){let n=da(e.configs.elements,a=>a.state.transitions),i=ene(n.filter(a=>a instanceof ug).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function ize(t,e){return t.edges[e.tokenTypeIdx]}function aze(t,e,r){let n=new pg,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===fg){i.push(s);continue}let l=s.state.transitions.length;for(let u=0;u0&&!uze(a))for(let s of i)a.add(s);return a}function sze(t,e){if(t instanceof ug&&o2(e,t.tokenType))return t.target}function oze(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function qoe(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Yoe(t,e,r,n){return n=Xoe(t,n),e.edges[r.tokenTypeIdx]=n,n}function Xoe(t,e){if(e===k2)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function lze(t){let e=new pg,r=t.transitions.length;for(let n=0;n0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};bk(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}function mze(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var xk,Hoe,E2,joe=M(()=>{"use strict";s0();Voe();Uoe();YL();GL();tne();Rm();gw();Ww();Kw();KL();o(KFe,"createDFACache");xk=class{static{o(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;nconsole.log(n)}initialize(e){this.atn=Foe(e.rules),this.dfas=QFe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,l=this.logging,u=o0(n,"Alternation",r),f=this.atn.decisionMap[u].decision,d=Je(QT({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>Je(p,m=>m[0]));if(Woe(d,!1)&&!a){let p=qr(d,(m,g,y)=>(Ce(g,v=>{v&&(m[v.tokenTypeIdx]=y,Ce(v.categoryMatches,x=>{m[x]=y}))}),m),{});return i?function(m){var g;let y=this.LA(1),v=p[y.tokenTypeIdx];if(m!==void 0&&v!==void 0){let x=(g=m[v])===null||g===void 0?void 0:g.GATE;if(x!==void 0&&x.call(this)===!1)return}return v}:function(){let m=this.LA(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new xk,g=p===void 0?0:p.length;for(let v=0;vJe(p,m=>m[0]));if(Woe(d)&&d[0][0]&&!a){let p=d[0],m=Wr(p);if(m.length===1&&cr(m[0].categoryMatches)){let y=m[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===y}}else{let g=qr(m,(y,v)=>(v!==void 0&&(y[v.tokenTypeIdx]=!0,Ce(v.categoryMatches,x=>{y[x]=!0})),y),{});return function(){let y=this.LA(1);return g[y.tokenTypeIdx]===!0}}}return function(){let p=jR.call(this,s,f,Hoe,l);return typeof p=="object"?!1:p===0}}};o(Woe,"isLL1Sequence");o(QFe,"initATNSimulator");o(jR,"adaptivePredict");o(ZFe,"performLookahead");o(JFe,"computeLookaheadTarget");o(eze,"reportLookaheadAmbiguity");o(tze,"buildAmbiguityError");o(rze,"getProductionDslName");o(nze,"buildAdaptivePredictError");o(ize,"getExistingTargetState");o(aze,"computeReachSet");o(sze,"getReachableTarget");o(oze,"getUniqueAlt");o(qoe,"newDFAState");o(Yoe,"addDFAEdge");o(Xoe,"addDFAState");o(lze,"computeStartState");o(bk,"closure");o(cze,"getEpsilonTarget");o(uze,"hasConfigInRuleStopState");o(hze,"allConfigsInRuleStopStates");o(fze,"hasConflictTerminatingPrediction");o(dze,"getConflictingAltSets");o(pze,"hasConflictingAltSet");o(mze,"hasStateAssociatedWithOneAlt")});var Koe=M(()=>{"use strict";joe()});var Qoe,KR,Zoe,wk,Xr,Dr,Tk,Joe,QR,ele,tle,rle,nle,ZR,ile,ale,sle,kk,mg,gg,JR,yg,ole,eM,tM,rM,nM,iM,lle,cle,aM,ule,sM,S2,hle,fle,dle,ple,mle,gle,yle,vle,Ek,xle,ble,wle,Tle,kle,Ele,Sle,Cle,Ale,_le,Lle,Sk,Dle,Nle,Rle,Mle,Ile,Ole,Ple,Ble,Fle,zle,Gle,$le,Vle,oM,lM,Ule,Hle,Wle,Yle,qle,Xle,jle,Kle,Qle,cM,Oe,uM=M(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(Qoe||(Qoe={}));(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(KR||(KR={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(Zoe||(Zoe={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(wk||(wk={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=wk.MAX_VALUE),i===Number.MAX_VALUE&&(i=wk.MAX_VALUE),{line:n,character:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.objectLiteral(i)&&Oe.uinteger(i.line)&&Oe.uinteger(i.character)}o(r,"is"),t.is=r})(Xr||(Xr={}));(function(t){function e(n,i,a,s){if(Oe.uinteger(n)&&Oe.uinteger(i)&&Oe.uinteger(a)&&Oe.uinteger(s))return{start:Xr.create(n,i),end:Xr.create(a,s)};if(Xr.is(n)&&Xr.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.objectLiteral(i)&&Xr.is(i.start)&&Xr.is(i.end)}o(r,"is"),t.is=r})(Dr||(Dr={}));(function(t){function e(n,i){return{uri:n,range:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.objectLiteral(i)&&Dr.is(i.range)&&(Oe.string(i.uri)||Oe.undefined(i.uri))}o(r,"is"),t.is=r})(Tk||(Tk={}));(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.objectLiteral(i)&&Dr.is(i.targetRange)&&Oe.string(i.targetUri)&&Dr.is(i.targetSelectionRange)&&(Dr.is(i.originSelectionRange)||Oe.undefined(i.originSelectionRange))}o(r,"is"),t.is=r})(Joe||(Joe={}));(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.objectLiteral(i)&&Oe.numberRange(i.red,0,1)&&Oe.numberRange(i.green,0,1)&&Oe.numberRange(i.blue,0,1)&&Oe.numberRange(i.alpha,0,1)}o(r,"is"),t.is=r})(QR||(QR={}));(function(t){function e(n,i){return{range:n,color:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.objectLiteral(i)&&Dr.is(i.range)&&QR.is(i.color)}o(r,"is"),t.is=r})(ele||(ele={}));(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.objectLiteral(i)&&Oe.string(i.label)&&(Oe.undefined(i.textEdit)||gg.is(i))&&(Oe.undefined(i.additionalTextEdits)||Oe.typedArray(i.additionalTextEdits,gg.is))}o(r,"is"),t.is=r})(tle||(tle={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(rle||(rle={}));(function(t){function e(n,i,a,s,l,u){let h={startLine:n,endLine:i};return Oe.defined(a)&&(h.startCharacter=a),Oe.defined(s)&&(h.endCharacter=s),Oe.defined(l)&&(h.kind=l),Oe.defined(u)&&(h.collapsedText=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.objectLiteral(i)&&Oe.uinteger(i.startLine)&&Oe.uinteger(i.startLine)&&(Oe.undefined(i.startCharacter)||Oe.uinteger(i.startCharacter))&&(Oe.undefined(i.endCharacter)||Oe.uinteger(i.endCharacter))&&(Oe.undefined(i.kind)||Oe.string(i.kind))}o(r,"is"),t.is=r})(nle||(nle={}));(function(t){function e(n,i){return{location:n,message:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.defined(i)&&Tk.is(i.location)&&Oe.string(i.message)}o(r,"is"),t.is=r})(ZR||(ZR={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(ile||(ile={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(ale||(ale={}));(function(t){function e(r){let n=r;return Oe.objectLiteral(n)&&Oe.string(n.href)}o(e,"is"),t.is=e})(sle||(sle={}));(function(t){function e(n,i,a,s,l,u){let h={range:n,message:i};return Oe.defined(a)&&(h.severity=a),Oe.defined(s)&&(h.code=s),Oe.defined(l)&&(h.source=l),Oe.defined(u)&&(h.relatedInformation=u),h}o(e,"create"),t.create=e;function r(n){var i;let a=n;return Oe.defined(a)&&Dr.is(a.range)&&Oe.string(a.message)&&(Oe.number(a.severity)||Oe.undefined(a.severity))&&(Oe.integer(a.code)||Oe.string(a.code)||Oe.undefined(a.code))&&(Oe.undefined(a.codeDescription)||Oe.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&(Oe.string(a.source)||Oe.undefined(a.source))&&(Oe.undefined(a.relatedInformation)||Oe.typedArray(a.relatedInformation,ZR.is))}o(r,"is"),t.is=r})(kk||(kk={}));(function(t){function e(n,i,...a){let s={title:n,command:i};return Oe.defined(a)&&a.length>0&&(s.arguments=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.defined(i)&&Oe.string(i.title)&&Oe.string(i.command)}o(r,"is"),t.is=r})(mg||(mg={}));(function(t){function e(a,s){return{range:a,newText:s}}o(e,"replace"),t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}o(r,"insert"),t.insert=r;function n(a){return{range:a,newText:""}}o(n,"del"),t.del=n;function i(a){let s=a;return Oe.objectLiteral(s)&&Oe.string(s.newText)&&Dr.is(s.range)}o(i,"is"),t.is=i})(gg||(gg={}));(function(t){function e(n,i,a){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.objectLiteral(i)&&Oe.string(i.label)&&(Oe.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(Oe.string(i.description)||i.description===void 0)}o(r,"is"),t.is=r})(JR||(JR={}));(function(t){function e(r){let n=r;return Oe.string(n)}o(e,"is"),t.is=e})(yg||(yg={}));(function(t){function e(a,s,l){return{range:a,newText:s,annotationId:l}}o(e,"replace"),t.replace=e;function r(a,s,l){return{range:{start:a,end:a},newText:s,annotationId:l}}o(r,"insert"),t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}o(n,"del"),t.del=n;function i(a){let s=a;return gg.is(s)&&(JR.is(s.annotationId)||yg.is(s.annotationId))}o(i,"is"),t.is=i})(ole||(ole={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.defined(i)&&aM.is(i.textDocument)&&Array.isArray(i.edits)}o(r,"is"),t.is=r})(eM||(eM={}));(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&Oe.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||Oe.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Oe.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||yg.is(i.annotationId))}o(r,"is"),t.is=r})(tM||(tM={}));(function(t){function e(n,i,a,s){let l={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),s!==void 0&&(l.annotationId=s),l}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&Oe.string(i.oldUri)&&Oe.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||Oe.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Oe.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||yg.is(i.annotationId))}o(r,"is"),t.is=r})(rM||(rM={}));(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&Oe.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||Oe.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||Oe.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||yg.is(i.annotationId))}o(r,"is"),t.is=r})(nM||(nM={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>Oe.string(i.kind)?tM.is(i)||rM.is(i)||nM.is(i):eM.is(i)))}o(e,"is"),t.is=e})(iM||(iM={}));(function(t){function e(n){return{uri:n}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.defined(i)&&Oe.string(i.uri)}o(r,"is"),t.is=r})(lle||(lle={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.defined(i)&&Oe.string(i.uri)&&Oe.integer(i.version)}o(r,"is"),t.is=r})(cle||(cle={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.defined(i)&&Oe.string(i.uri)&&(i.version===null||Oe.integer(i.version))}o(r,"is"),t.is=r})(aM||(aM={}));(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.defined(i)&&Oe.string(i.uri)&&Oe.string(i.languageId)&&Oe.integer(i.version)&&Oe.string(i.text)}o(r,"is"),t.is=r})(ule||(ule={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}o(e,"is"),t.is=e})(sM||(sM={}));(function(t){function e(r){let n=r;return Oe.objectLiteral(r)&&sM.is(n.kind)&&Oe.string(n.value)}o(e,"is"),t.is=e})(S2||(S2={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(hle||(hle={}));(function(t){t.PlainText=1,t.Snippet=2})(fle||(fle={}));(function(t){t.Deprecated=1})(dle||(dle={}));(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Oe.string(i.newText)&&Dr.is(i.insert)&&Dr.is(i.replace)}o(r,"is"),t.is=r})(ple||(ple={}));(function(t){t.asIs=1,t.adjustIndentation=2})(mle||(mle={}));(function(t){function e(r){let n=r;return n&&(Oe.string(n.detail)||n.detail===void 0)&&(Oe.string(n.description)||n.description===void 0)}o(e,"is"),t.is=e})(gle||(gle={}));(function(t){function e(r){return{label:r}}o(e,"create"),t.create=e})(yle||(yle={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}o(e,"create"),t.create=e})(vle||(vle={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}o(e,"fromPlainText"),t.fromPlainText=e;function r(n){let i=n;return Oe.string(i)||Oe.objectLiteral(i)&&Oe.string(i.language)&&Oe.string(i.value)}o(r,"is"),t.is=r})(Ek||(Ek={}));(function(t){function e(r){let n=r;return!!n&&Oe.objectLiteral(n)&&(S2.is(n.contents)||Ek.is(n.contents)||Oe.typedArray(n.contents,Ek.is))&&(r.range===void 0||Dr.is(r.range))}o(e,"is"),t.is=e})(xle||(xle={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}o(e,"create"),t.create=e})(ble||(ble={}));(function(t){function e(r,n,...i){let a={label:r};return Oe.defined(n)&&(a.documentation=n),Oe.defined(i)?a.parameters=i:a.parameters=[],a}o(e,"create"),t.create=e})(wle||(wle={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Tle||(Tle={}));(function(t){function e(r,n){let i={range:r};return Oe.number(n)&&(i.kind=n),i}o(e,"create"),t.create=e})(kle||(kle={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Ele||(Ele={}));(function(t){t.Deprecated=1})(Sle||(Sle={}));(function(t){function e(r,n,i,a,s){let l={name:r,kind:n,location:{uri:a,range:i}};return s&&(l.containerName=s),l}o(e,"create"),t.create=e})(Cle||(Cle={}));(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}o(e,"create"),t.create=e})(Ale||(Ale={}));(function(t){function e(n,i,a,s,l,u){let h={name:n,detail:i,kind:a,range:s,selectionRange:l};return u!==void 0&&(h.children=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Oe.string(i.name)&&Oe.number(i.kind)&&Dr.is(i.range)&&Dr.is(i.selectionRange)&&(i.detail===void 0||Oe.string(i.detail))&&(i.deprecated===void 0||Oe.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}o(r,"is"),t.is=r})(_le||(_le={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Lle||(Lle={}));(function(t){t.Invoked=1,t.Automatic=2})(Sk||(Sk={}));(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.defined(i)&&Oe.typedArray(i.diagnostics,kk.is)&&(i.only===void 0||Oe.typedArray(i.only,Oe.string))&&(i.triggerKind===void 0||i.triggerKind===Sk.Invoked||i.triggerKind===Sk.Automatic)}o(r,"is"),t.is=r})(Dle||(Dle={}));(function(t){function e(n,i,a){let s={title:n},l=!0;return typeof i=="string"?(l=!1,s.kind=i):mg.is(i)?s.command=i:s.edit=i,l&&a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&Oe.string(i.title)&&(i.diagnostics===void 0||Oe.typedArray(i.diagnostics,kk.is))&&(i.kind===void 0||Oe.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||mg.is(i.command))&&(i.isPreferred===void 0||Oe.boolean(i.isPreferred))&&(i.edit===void 0||iM.is(i.edit))}o(r,"is"),t.is=r})(Nle||(Nle={}));(function(t){function e(n,i){let a={range:n};return Oe.defined(i)&&(a.data=i),a}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.defined(i)&&Dr.is(i.range)&&(Oe.undefined(i.command)||mg.is(i.command))}o(r,"is"),t.is=r})(Rle||(Rle={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.defined(i)&&Oe.uinteger(i.tabSize)&&Oe.boolean(i.insertSpaces)}o(r,"is"),t.is=r})(Mle||(Mle={}));(function(t){function e(n,i,a){return{range:n,target:i,data:a}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.defined(i)&&Dr.is(i.range)&&(Oe.undefined(i.target)||Oe.string(i.target))}o(r,"is"),t.is=r})(Ile||(Ile={}));(function(t){function e(n,i){return{range:n,parent:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.objectLiteral(i)&&Dr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}o(r,"is"),t.is=r})(Ole||(Ole={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(Ple||(Ple={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Ble||(Ble={}));(function(t){function e(r){let n=r;return Oe.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}o(e,"is"),t.is=e})(Fle||(Fle={}));(function(t){function e(n,i){return{range:n,text:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Dr.is(i.range)&&Oe.string(i.text)}o(r,"is"),t.is=r})(zle||(zle={}));(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Dr.is(i.range)&&Oe.boolean(i.caseSensitiveLookup)&&(Oe.string(i.variableName)||i.variableName===void 0)}o(r,"is"),t.is=r})(Gle||(Gle={}));(function(t){function e(n,i){return{range:n,expression:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Dr.is(i.range)&&(Oe.string(i.expression)||i.expression===void 0)}o(r,"is"),t.is=r})($le||($le={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.defined(i)&&Dr.is(n.stoppedLocation)}o(r,"is"),t.is=r})(Vle||(Vle={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(oM||(oM={}));(function(t){function e(n){return{value:n}}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.objectLiteral(i)&&(i.tooltip===void 0||Oe.string(i.tooltip)||S2.is(i.tooltip))&&(i.location===void 0||Tk.is(i.location))&&(i.command===void 0||mg.is(i.command))}o(r,"is"),t.is=r})(lM||(lM={}));(function(t){function e(n,i,a){let s={position:n,label:i};return a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return Oe.objectLiteral(i)&&Xr.is(i.position)&&(Oe.string(i.label)||Oe.typedArray(i.label,lM.is))&&(i.kind===void 0||oM.is(i.kind))&&i.textEdits===void 0||Oe.typedArray(i.textEdits,gg.is)&&(i.tooltip===void 0||Oe.string(i.tooltip)||S2.is(i.tooltip))&&(i.paddingLeft===void 0||Oe.boolean(i.paddingLeft))&&(i.paddingRight===void 0||Oe.boolean(i.paddingRight))}o(r,"is"),t.is=r})(Ule||(Ule={}));(function(t){function e(r){return{kind:"snippet",value:r}}o(e,"createSnippet"),t.createSnippet=e})(Hle||(Hle={}));(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}o(e,"create"),t.create=e})(Wle||(Wle={}));(function(t){function e(r){return{items:r}}o(e,"create"),t.create=e})(Yle||(Yle={}));(function(t){t.Invoked=0,t.Automatic=1})(qle||(qle={}));(function(t){function e(r,n){return{range:r,text:n}}o(e,"create"),t.create=e})(Xle||(Xle={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}o(e,"create"),t.create=e})(jle||(jle={}));(function(t){function e(r){let n=r;return Oe.objectLiteral(n)&&KR.is(n.uri)&&Oe.string(n.name)}o(e,"is"),t.is=e})(Kle||(Kle={}));(function(t){function e(a,s,l,u){return new cM(a,s,l,u)}o(e,"create"),t.create=e;function r(a){let s=a;return!!(Oe.defined(s)&&Oe.string(s.uri)&&(Oe.undefined(s.languageId)||Oe.string(s.languageId))&&Oe.uinteger(s.lineCount)&&Oe.func(s.getText)&&Oe.func(s.positionAt)&&Oe.func(s.offsetAt))}o(r,"is"),t.is=r;function n(a,s){let l=a.getText(),u=i(s,(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),h=l.length;for(let f=u.length-1;f>=0;f--){let d=u[f],p=a.offsetAt(d.range.start),m=a.offsetAt(d.range.end);if(m<=h)l=l.substring(0,p)+d.newText+l.substring(m,l.length);else throw new Error("Overlapping edit");h=p}return l}o(n,"applyEdits"),t.applyEdits=n;function i(a,s){if(a.length<=1)return a;let l=a.length/2|0,u=a.slice(0,l),h=a.slice(l);i(u,s),i(h,s);let f=0,d=0,p=0;for(;f0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return Xr.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return Xr.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}o(n,"undefined"),t.undefined=n;function i(m){return m===!0||m===!1}o(i,"boolean"),t.boolean=i;function a(m){return e.call(m)==="[object String]"}o(a,"string"),t.string=a;function s(m){return e.call(m)==="[object Number]"}o(s,"number"),t.number=s;function l(m,g,y){return e.call(m)==="[object Number]"&&g<=m&&m<=y}o(l,"numberRange"),t.numberRange=l;function u(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}o(u,"integer"),t.integer=u;function h(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}o(h,"uinteger"),t.uinteger=h;function f(m){return e.call(m)==="[object Function]"}o(f,"func"),t.func=f;function d(m){return m!==null&&typeof m=="object"}o(d,"objectLiteral"),t.objectLiteral=d;function p(m,g){return Array.isArray(m)&&m.every(g)}o(p,"typedArray"),t.typedArray=p})(Oe||(Oe={}))});var C2,A2,c0,u0,hM,vg,Ck=M(()=>{"use strict";uM();Yo();Ml();C2=class{static{o(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]}buildRootNode(e){return this.rootNode=new vg(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new u0;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new c0(e.startOffset,e.image.length,$m(e),e.tokenType,!1);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}construct(e){let r=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}addHiddenTokens(e){for(let r of e){let n=new c0(r.startOffset,r.image.length,$m(r),r.tokenType,!0);n.root=this.rootNode,this.addHiddenToken(this.rootNode,n)}}addHiddenToken(e,r){let{offset:n,end:i}=r;for(let a=0;al&&i=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},hM=class t extends Array{static{o(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},vg=class extends u0{static{o(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}});function fM(t){return t.$type===Ak}var Ak,Zle,Jle,_2,L2,_k,xg,D2,gze,dM,N2=M(()=>{"use strict";s0();Koe();Ac();Pl();es();Ck();Ak=Symbol("Datatype");o(fM,"isDataTypeNode");Zle="\u200B",Jle=o(t=>t.endsWith(Zle)?t:t+Zle,"withRuleSuffix"),_2=class{static{o(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition;this.wrapper=new dM(r,Object.assign(Object.assign({},e.parser.ParserConfig),{errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},L2=class extends _2{static{o(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new C2,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=e.fragment?void 0:e2(e)?Ak:Zd(e),i=this.wrapper.DEFINE_RULE(Jle(e.name),this.startImplementation(n,r).bind(this));return e.entry&&(this.mainRule=i),i}parse(e){this.nodeBuilder.buildRootNode(e);let r=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=this.mainRule.call(this.wrapper,{});return this.nodeBuilder.addHiddenTokens(r.hidden),this.unorderedGroups.clear(),{value:n,lexerErrors:r.errors,parserErrors:this.wrapper.errors}}startImplementation(e,r){return n=>{if(!this.isRecording()){let a={$type:e};this.stack.push(a),e===Ak&&(a.value="")}let i;try{i=r(n)}catch{i=void 0}return!this.isRecording()&&i===void 0&&(i=this.construct()),i}}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let a=this.nodeBuilder.buildLeafNode(i,n),{assignment:s,isCrossRef:l}=this.getAssignment(n),u=this.current;if(s){let h=Xo(n)?i.image:this.converter.convert(i.image,a);this.assign(s.operator,s.feature,h,a,l)}else if(fM(u)){let h=i.image;Xo(n)||(h=this.converter.convert(h,a).toString()),u.value+=h}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i){let a;this.isRecording()||(a=this.nodeBuilder.buildCompositeNode(n));let s=this.wrapper.wrapSubrule(e,r,i);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(s,n,a)}performSubruleAssignment(e,r,n){let{assignment:i,isCrossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){let s=this.current;if(fM(s))s.value+=e.toString();else if(typeof e=="object"&&e){let l=e.$type,u=this.assignWithoutOverride(e,s);l&&(u.$type=l);let h=u;this.stack.pop(),this.stack.push(h)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(!n.$cstNode&&r.feature&&r.operator){n=this.construct(!1);let a=n.$cstNode.feature;this.nodeBuilder.buildCompositeNode(a)}let i={$type:e};this.stack.pop(),this.stack.push(i),r.feature&&r.operator&&this.assign(r.operator,r.feature,n,n.$cstNode,!1)}}construct(e=!0){if(this.isRecording())return;let r=this.current;return CT(r),this.nodeBuilder.construct(r),e&&this.stack.pop(),fM(r)?this.converter.convert(r.value,r.$cstNode):($N(this.astReflection,r),r)}getAssignment(e){if(!this.assignmentMap.has(e)){let r=qd(e,Il);this.assignmentMap.set(e,{assignment:r,isCrossRef:r?Yd(r.terminal):!1})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){let s=this.current,l;switch(a&&typeof n=="string"?l=this.linker.buildReference(s,r,i,n):l=n,e){case"=":{s[r]=l;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(l)}}assignWithoutOverride(e,r){for(let[n,i]of Object.entries(r)){let a=e[n];a===void 0?e[n]=i:Array.isArray(a)&&Array.isArray(i)&&(i.push(...a),e[n]=i)}return e}get definitionErrors(){return this.wrapper.definitionErrors}},_k=class{static{o(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Fu.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Fu.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Fu.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Fu.buildEarlyExitMessage(e)}},xg=class extends _k{static{o(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},D2=class extends _2{static{o(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e);return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(Jle(e.name),this.startImplementation(r).bind(this));return e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,r,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},gze={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new xg},dM=class extends b2{static{o(this,"ChevrotainWrapper")}constructor(e,r){let n=r&&"maxLookahead"in r;super(e,Object.assign(Object.assign(Object.assign({},gze),{lookaheadStrategy:n?new zu({maxLookahead:r.maxLookahead}):new E2}),r))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r){return this.RULE(e,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}}});function Dk(t,e,r){return yze({parser:e,tokens:r,rules:new Map,ruleNames:new Map},t),e}function yze(t,e){let r=Zv(e,!1),n=tn(e.rules).filter(Ma).filter(i=>r.has(i));for(let i of n){let a=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});a.rules.set(i.name,t.parser.rule(i,h0(a,i.definition)))}}function h0(t,e,r=!1){let n;if(Xo(e))n=Eze(t,e);else if(Ru(e))n=vze(t,e);else if(Il(e))n=h0(t,e.terminal);else if(Yd(e))n=ece(t,e);else if(Ol(e))n=xze(t,e);else if(kT(e))n=wze(t,e);else if(ST(e))n=Tze(t,e);else if(tf(e))n=kze(t,e);else if(wN(e)){let i=t.consume++;n=o(()=>t.parser.consume(i,oo,e),"method")}else throw new Wd(e.$cstNode,`Unexpected element type: ${e.$type}`);return tce(t,r?void 0:Lk(e),n,e.cardinality)}function vze(t,e){let r=Zd(e);return()=>t.parser.action(r,e)}function xze(t,e){let r=e.rule.ref;if(Ma(r)){let n=t.subrule++,i=e.arguments.length>0?bze(r,e.arguments):()=>({});return a=>t.parser.subrule(n,rce(t,r),e,i(a))}else if(qo(r)){let n=t.consume++,i=pM(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)ef(r);else throw new Wd(e.$cstNode,`Undefined rule type: ${e.$type}`)}function bze(t,e){let r=e.map(n=>Gu(n.value));return n=>{let i={};for(let a=0;ae(n)||r(n)}else if(qD(t)){let e=Gu(t.left),r=Gu(t.right);return n=>e(n)&&r(n)}else if(eN(t)){let e=Gu(t.value);return r=>!e(r)}else if(iN(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(WD(t)){let e=!!t.true;return()=>e}ef(t)}function wze(t,e){if(e.elements.length===1)return h0(t,e.elements[0]);{let r=[];for(let i of e.elements){let a={ALT:h0(t,i,!0)},s=Lk(i);s&&(a.GATE=Gu(s)),r.push(a)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{let s={ALT:o(()=>a.ALT(i),"ALT")},l=a.GATE;return l&&(s.GATE=()=>l(i)),s}))}}function Tze(t,e){if(e.elements.length===1)return h0(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:h0(t,l,!0)},h=Lk(l);h&&(u.GATE=Gu(h)),r.push(u)}let n=t.or++,i=o((l,u)=>{let h=u.getRuleStack().join("-");return`uGroup_${l}_${h}`},"idFunc"),a=o(l=>t.parser.alternatives(n,r.map((u,h)=>{let f={ALT:o(()=>!0,"ALT")},d=t.parser;f.ALT=()=>{if(u.ALT(l),!d.isRecording()){let m=i(n,d);d.unorderedGroups.get(m)||d.unorderedGroups.set(m,[]);let g=d.unorderedGroups.get(m);typeof g?.[h]>"u"&&(g[h]=!0)}};let p=u.GATE;return p?f.GATE=()=>p(l):f.GATE=()=>{let m=d.unorderedGroups.get(i(n,d));return!m?.[h]},f})),"alternatives"),s=tce(t,Lk(e),a,"*");return l=>{s(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function kze(t,e){let r=e.elements.map(n=>h0(t,n));return n=>r.forEach(i=>i(n))}function Lk(t){if(tf(t))return t.guardCondition}function ece(t,e,r=e.terminal){if(r)if(Ol(r)&&Ma(r.rule.ref)){let n=t.subrule++;return i=>t.parser.subrule(n,rce(t,r.rule.ref),e,i)}else if(Ol(r)&&qo(r.rule.ref)){let n=t.consume++,i=pM(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Xo(r)){let n=t.consume++,i=pM(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let n=RT(e.type.ref),i=n?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Zd(e.type.ref));return ece(t,e,i)}}function Eze(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function tce(t,e,r,n){let i=e&&Gu(e);if(!n)if(i){let a=t.or++;return s=>t.parser.alternatives(a,[{ALT:o(()=>r(s),"ALT"),GATE:o(()=>i(s),"GATE")},{ALT:vk(),GATE:o(()=>!i(s),"GATE")}])}else return r;if(n==="*"){let a=t.many++;return s=>t.parser.many(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else if(n==="+"){let a=t.many++;if(i){let s=t.or++;return l=>t.parser.alternatives(s,[{ALT:o(()=>t.parser.atLeastOne(a,{DEF:o(()=>r(l),"DEF")}),"ALT"),GATE:o(()=>i(l),"GATE")},{ALT:vk(),GATE:o(()=>!i(l),"GATE")}])}else return s=>t.parser.atLeastOne(a,{DEF:o(()=>r(s),"DEF")})}else if(n==="?"){let a=t.optional++;return s=>t.parser.optional(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else ef(n)}function rce(t,e){let r=Sze(t,e),n=t.rules.get(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function Sze(t,e){if(Ma(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Ma(n);)(tf(n)||kT(n)||ST(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function pM(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}var mM=M(()=>{"use strict";s0();Ac();gT();Rs();Pl();o(Dk,"createParser");o(yze,"buildRules");o(h0,"buildElement");o(vze,"buildAction");o(xze,"buildRuleCall");o(bze,"buildRuleCallPredicate");o(Gu,"buildPredicate");o(wze,"buildAlternatives");o(Tze,"buildUnorderedGroup");o(kze,"buildGroup");o(Lk,"getGuardCondition");o(ece,"buildCrossReference");o(Eze,"buildKeyword");o(tce,"wrap");o(rce,"getRule");o(Sze,"getRuleName");o(pM,"getToken")});function gM(t){let e=t.Grammar,r=t.parser.Lexer,n=new D2(t);return Dk(e,n,r.definition),n.finalize(),n}var yM=M(()=>{"use strict";N2();mM();o(gM,"createCompletionParser")});function vM(t){let e=nce(t);return e.finalize(),e}function nce(t){let e=t.Grammar,r=t.parser.Lexer,n=new L2(t);return Dk(e,n,r.definition)}var xM=M(()=>{"use strict";N2();mM();o(vM,"createLangiumParser");o(nce,"prepareLangiumParser")});var f0,bM=M(()=>{"use strict";s0();Ac();es();Pl();Wm();Rs();f0=class{static{o(this,"DefaultTokenBuilder")}buildTokens(e,r){let n=tn(Zv(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return i.forEach(s=>{let l=s.PATTERN;typeof l=="object"&&l&&"test"in l&&DT(l)?a.unshift(s):a.push(s)}),a}buildTerminalTokens(e){return e.filter(qo).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Ym(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n,LINE_BREAKS:!0};return e.hidden&&(i.GROUP=DT(r)?oi.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")?!0:!!(e.source.includes("?<=")||e.source.includes("?(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Ma).flatMap(i=>_c(i).filter(Xo)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){return{name:e.value,PATTERN:this.buildKeywordPattern(e,n),LONGER_ALT:this.findLongerAlt(e,r)}}buildKeywordPattern(e,r){return r?new RegExp(XN(e.value)):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let a=i?.PATTERN;return a?.source&&jN("^"+a.source+"$",e.value)&&n.push(i),n},[])}}});var d0,Nc,wM=M(()=>{"use strict";Ac();Pl();d0=class{static{o(this,"DefaultValueConverter")}convert(e,r){let n=r.grammarSource;if(Yd(n)&&(n=ZN(n)),Ol(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){var i;switch(e.name.toUpperCase()){case"INT":return Nc.convertInt(r);case"STRING":return Nc.convertString(r);case"ID":return Nc.convertID(r)}switch((i=sR(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return Nc.convertNumber(r);case"boolean":return Nc.convertBoolean(r);case"bigint":return Nc.convertBigint(r);case"date":return Nc.convertDate(r);default:return r}}};(function(t){function e(h){let f="";for(let d=1;d{"use strict";Object.defineProperty(EM,"__esModule",{value:!0});var TM;function kM(){if(TM===void 0)throw new Error("No runtime abstraction layer installed");return TM}o(kM,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");TM=r}o(e,"install"),t.install=e})(kM||(kM={}));EM.default=kM});var sce=Ni(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.stringArray=Ia.array=Ia.func=Ia.error=Ia.number=Ia.string=Ia.boolean=void 0;function Cze(t){return t===!0||t===!1}o(Cze,"boolean");Ia.boolean=Cze;function ice(t){return typeof t=="string"||t instanceof String}o(ice,"string");Ia.string=ice;function Aze(t){return typeof t=="number"||t instanceof Number}o(Aze,"number");Ia.number=Aze;function _ze(t){return t instanceof Error}o(_ze,"error");Ia.error=_ze;function Lze(t){return typeof t=="function"}o(Lze,"func");Ia.func=Lze;function ace(t){return Array.isArray(t)}o(ace,"array");Ia.array=ace;function Dze(t){return ace(t)&&t.every(e=>ice(e))}o(Dze,"stringArray");Ia.stringArray=Dze});var AM=Ni(bg=>{"use strict";Object.defineProperty(bg,"__esModule",{value:!0});bg.Emitter=bg.Event=void 0;var Nze=SM(),oce;(function(t){let e={dispose(){}};t.None=function(){return e}})(oce||(bg.Event=oce={}));var CM=class{static{o(this,"CallbackList")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:o(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,a=this._callbacks.length;i{this._callbacks||(this._callbacks=new CM),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:o(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};bg.Emitter=Nk;Nk._noop=function(){}});var lce=Ni(wg=>{"use strict";Object.defineProperty(wg,"__esModule",{value:!0});wg.CancellationTokenSource=wg.CancellationToken=void 0;var Rze=SM(),Mze=sce(),_M=AM(),Rk;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:_M.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:_M.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||Mze.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}o(e,"is"),t.is=e})(Rk||(wg.CancellationToken=Rk={}));var Ize=Object.freeze(function(t,e){let r=(0,Rze.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),Mk=class{static{o(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Ize:(this._emitter||(this._emitter=new _M.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},LM=class{static{o(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new Mk),this._token}cancel(){this._token?this._token.cancel():this._token=Rk.Cancelled}dispose(){this._token?this._token instanceof Mk&&this._token.dispose():this._token=Rk.None}};wg.CancellationTokenSource=LM});var Cr={};var Ko=M(()=>{"use strict";Er(Cr,ka(lce(),1))});function NM(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}function uce(){return DM=Date.now(),new Cr.CancellationTokenSource}function hce(t){cce=t}function sf(t){return t===Rc}async function Gi(t){if(t===Cr.CancellationToken.None)return;let e=Date.now();if(e-DM>=cce&&(DM=e,await NM()),t.isCancellationRequested)throw Rc}var DM,cce,Rc,as,Qo=M(()=>{"use strict";Ko();o(NM,"delayNextTick");DM=0,cce=10;o(uce,"startCancelableOperation");o(hce,"setInterruptionPeriod");Rc=Symbol("OperationCancelled");o(sf,"isOperationCancelled");o(Gi,"interruptAndCheck");as=class{static{o(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}});function RM(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);RM(n,e),RM(i,e);let a=0,s=0,l=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function Oze(t){let e=pce(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var Ik,Tg,mce=M(()=>{"use strict";Ik=class t{static{o(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=pce(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),h=this._lineOffsets,f=fce(n.text,!1,a);if(u-l===f.length)for(let p=0,m=f.length;pe?i=s:n=s+1}let a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1r&&dce(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}};(function(t){function e(i,a,s,l){return new Ik(i,a,s,l)}o(e,"create"),t.create=e;function r(i,a,s){if(i instanceof Ik)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}o(r,"update"),t.update=r;function n(i,a){let s=i.getText(),l=RM(a.map(Oze),(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),u=0,h=[];for(let f of l){let d=i.offsetAt(f.range.start);if(du&&h.push(s.substring(u,d)),f.newText.length&&h.push(f.newText),u=i.offsetAt(f.range.end)}return h.push(s.substr(u)),h.join("")}o(n,"applyEdits"),t.applyEdits=n})(Tg||(Tg={}));o(RM,"mergeSort");o(fce,"computeLineOffsets");o(dce,"isEOL");o(pce,"getWellformedRange");o(Oze,"getWellformedEdit")});var gce,Os,kg,MM=M(()=>{"use strict";(()=>{"use strict";var t={470:i=>{function a(u){if(typeof u!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(u))}o(a,"e");function s(u,h){for(var f,d="",p=0,m=-1,g=0,y=0;y<=u.length;++y){if(y2){var v=d.lastIndexOf("/");if(v!==d.length-1){v===-1?(d="",p=0):p=(d=d.slice(0,v)).length-1-d.lastIndexOf("/"),m=y,g=0;continue}}else if(d.length===2||d.length===1){d="",p=0,m=y,g=0;continue}}h&&(d.length>0?d+="/..":d="..",p=2)}else d.length>0?d+="/"+u.slice(m+1,y):d=u.slice(m+1,y),p=y-m-1;m=y,g=0}else f===46&&g!==-1?++g:g=-1}return d}o(s,"r");var l={resolve:o(function(){for(var u,h="",f=!1,d=arguments.length-1;d>=-1&&!f;d--){var p;d>=0?p=arguments[d]:(u===void 0&&(u=process.cwd()),p=u),a(p),p.length!==0&&(h=p+"/"+h,f=p.charCodeAt(0)===47)}return h=s(h,!f),f?h.length>0?"/"+h:"/":h.length>0?h:"."},"resolve"),normalize:o(function(u){if(a(u),u.length===0)return".";var h=u.charCodeAt(0)===47,f=u.charCodeAt(u.length-1)===47;return(u=s(u,!h)).length!==0||h||(u="."),u.length>0&&f&&(u+="/"),h?"/"+u:u},"normalize"),isAbsolute:o(function(u){return a(u),u.length>0&&u.charCodeAt(0)===47},"isAbsolute"),join:o(function(){if(arguments.length===0)return".";for(var u,h=0;h0&&(u===void 0?u=f:u+="/"+f)}return u===void 0?".":l.normalize(u)},"join"),relative:o(function(u,h){if(a(u),a(h),u===h||(u=l.resolve(u))===(h=l.resolve(h)))return"";for(var f=1;fy){if(h.charCodeAt(m+x)===47)return h.slice(m+x+1);if(x===0)return h.slice(m+x)}else p>y&&(u.charCodeAt(f+x)===47?v=x:x===0&&(v=0));break}var b=u.charCodeAt(f+x);if(b!==h.charCodeAt(m+x))break;b===47&&(v=x)}var w="";for(x=f+v+1;x<=d;++x)x!==d&&u.charCodeAt(x)!==47||(w.length===0?w+="..":w+="/..");return w.length>0?w+h.slice(m+v):(m+=v,h.charCodeAt(m)===47&&++m,h.slice(m))},"relative"),_makeLong:o(function(u){return u},"_makeLong"),dirname:o(function(u){if(a(u),u.length===0)return".";for(var h=u.charCodeAt(0),f=h===47,d=-1,p=!0,m=u.length-1;m>=1;--m)if((h=u.charCodeAt(m))===47){if(!p){d=m;break}}else p=!1;return d===-1?f?"/":".":f&&d===1?"//":u.slice(0,d)},"dirname"),basename:o(function(u,h){if(h!==void 0&&typeof h!="string")throw new TypeError('"ext" argument must be a string');a(u);var f,d=0,p=-1,m=!0;if(h!==void 0&&h.length>0&&h.length<=u.length){if(h.length===u.length&&h===u)return"";var g=h.length-1,y=-1;for(f=u.length-1;f>=0;--f){var v=u.charCodeAt(f);if(v===47){if(!m){d=f+1;break}}else y===-1&&(m=!1,y=f+1),g>=0&&(v===h.charCodeAt(g)?--g==-1&&(p=f):(g=-1,p=y))}return d===p?p=y:p===-1&&(p=u.length),u.slice(d,p)}for(f=u.length-1;f>=0;--f)if(u.charCodeAt(f)===47){if(!m){d=f+1;break}}else p===-1&&(m=!1,p=f+1);return p===-1?"":u.slice(d,p)},"basename"),extname:o(function(u){a(u);for(var h=-1,f=0,d=-1,p=!0,m=0,g=u.length-1;g>=0;--g){var y=u.charCodeAt(g);if(y!==47)d===-1&&(p=!1,d=g+1),y===46?h===-1?h=g:m!==1&&(m=1):h!==-1&&(m=-1);else if(!p){f=g+1;break}}return h===-1||d===-1||m===0||m===1&&h===d-1&&h===f+1?"":u.slice(h,d)},"extname"),format:o(function(u){if(u===null||typeof u!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof u);return function(h,f){var d=f.dir||f.root,p=f.base||(f.name||"")+(f.ext||"");return d?d===f.root?d+p:d+"/"+p:p}(0,u)},"format"),parse:o(function(u){a(u);var h={root:"",dir:"",base:"",ext:"",name:""};if(u.length===0)return h;var f,d=u.charCodeAt(0),p=d===47;p?(h.root="/",f=1):f=0;for(var m=-1,g=0,y=-1,v=!0,x=u.length-1,b=0;x>=f;--x)if((d=u.charCodeAt(x))!==47)y===-1&&(v=!1,y=x+1),d===46?m===-1?m=x:b!==1&&(b=1):m!==-1&&(b=-1);else if(!v){g=x+1;break}return m===-1||y===-1||b===0||b===1&&m===y-1&&m===g+1?y!==-1&&(h.base=h.name=g===0&&p?u.slice(1,y):u.slice(g,y)):(g===0&&p?(h.name=u.slice(1,m),h.base=u.slice(1,y)):(h.name=u.slice(g,m),h.base=u.slice(g,y)),h.ext=u.slice(m,y)),g>0?h.dir=u.slice(0,g-1):p&&(h.dir="/"),h},"parse"),sep:"/",delimiter:":",win32:null,posix:null};l.posix=l,i.exports=l}},e={};function r(i){var a=e[i];if(a!==void 0)return a.exports;var s=e[i]={exports:{}};return t[i](s,s.exports,r),s.exports}o(r,"r"),r.d=(i,a)=>{for(var s in a)r.o(a,s)&&!r.o(i,s)&&Object.defineProperty(i,s,{enumerable:!0,get:a[s]})},r.o=(i,a)=>Object.prototype.hasOwnProperty.call(i,a),r.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var n={};(()=>{let i;r.r(n),r.d(n,{URI:o(()=>p,"URI"),Utils:o(()=>I,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,s=/^\//,l=/^\/\//;function u(D,k){if(!D.scheme&&k)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${D.authority}", path: "${D.path}", query: "${D.query}", fragment: "${D.fragment}"}`);if(D.scheme&&!a.test(D.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(D.path){if(D.authority){if(!s.test(D.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(D.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}o(u,"s");let h="",f="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static{o(this,"f")}static isUri(k){return k instanceof p||!!k&&typeof k.authority=="string"&&typeof k.fragment=="string"&&typeof k.path=="string"&&typeof k.query=="string"&&typeof k.scheme=="string"&&typeof k.fsPath=="string"&&typeof k.with=="function"&&typeof k.toString=="function"}scheme;authority;path;query;fragment;constructor(k,R,S,O,N,P=!1){typeof k=="object"?(this.scheme=k.scheme||h,this.authority=k.authority||h,this.path=k.path||h,this.query=k.query||h,this.fragment=k.fragment||h):(this.scheme=function(F,B){return F||B?F:"file"}(k,P),this.authority=R||h,this.path=function(F,B){switch(F){case"https":case"http":case"file":B?B[0]!==f&&(B=f+B):B=f}return B}(this.scheme,S||h),this.query=O||h,this.fragment=N||h,u(this,P))}get fsPath(){return b(this,!1)}with(k){if(!k)return this;let{scheme:R,authority:S,path:O,query:N,fragment:P}=k;return R===void 0?R=this.scheme:R===null&&(R=h),S===void 0?S=this.authority:S===null&&(S=h),O===void 0?O=this.path:O===null&&(O=h),N===void 0?N=this.query:N===null&&(N=h),P===void 0?P=this.fragment:P===null&&(P=h),R===this.scheme&&S===this.authority&&O===this.path&&N===this.query&&P===this.fragment?this:new g(R,S,O,N,P)}static parse(k,R=!1){let S=d.exec(k);return S?new g(S[2]||h,E(S[4]||h),E(S[5]||h),E(S[7]||h),E(S[9]||h),R):new g(h,h,h,h,h)}static file(k){let R=h;if(i&&(k=k.replace(/\\/g,f)),k[0]===f&&k[1]===f){let S=k.indexOf(f,2);S===-1?(R=k.substring(2),k=f):(R=k.substring(2,S),k=k.substring(S)||f)}return new g("file",R,k,h,h)}static from(k){let R=new g(k.scheme,k.authority,k.path,k.query,k.fragment);return u(R,!0),R}toString(k=!1){return w(this,k)}toJSON(){return this}static revive(k){if(k){if(k instanceof p)return k;{let R=new g(k);return R._formatted=k.external,R._fsPath=k._sep===m?k.fsPath:null,R}}return k}}let m=i?1:void 0;class g extends p{static{o(this,"l")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(k=!1){return k?w(this,!0):(this._formatted||(this._formatted=w(this,!1)),this._formatted)}toJSON(){let k={$mid:1};return this._fsPath&&(k.fsPath=this._fsPath,k._sep=m),this._formatted&&(k.external=this._formatted),this.path&&(k.path=this.path),this.scheme&&(k.scheme=this.scheme),this.authority&&(k.authority=this.authority),this.query&&(k.query=this.query),this.fragment&&(k.fragment=this.fragment),k}}let y={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function v(D,k,R){let S,O=-1;for(let N=0;N=97&&P<=122||P>=65&&P<=90||P>=48&&P<=57||P===45||P===46||P===95||P===126||k&&P===47||R&&P===91||R&&P===93||R&&P===58)O!==-1&&(S+=encodeURIComponent(D.substring(O,N)),O=-1),S!==void 0&&(S+=D.charAt(N));else{S===void 0&&(S=D.substr(0,N));let F=y[P];F!==void 0?(O!==-1&&(S+=encodeURIComponent(D.substring(O,N)),O=-1),S+=F):O===-1&&(O=N)}}return O!==-1&&(S+=encodeURIComponent(D.substring(O))),S!==void 0?S:D}o(v,"d");function x(D){let k;for(let R=0;R1&&D.scheme==="file"?`//${D.authority}${D.path}`:D.path.charCodeAt(0)===47&&(D.path.charCodeAt(1)>=65&&D.path.charCodeAt(1)<=90||D.path.charCodeAt(1)>=97&&D.path.charCodeAt(1)<=122)&&D.path.charCodeAt(2)===58?k?D.path.substr(1):D.path[1].toLowerCase()+D.path.substr(2):D.path,i&&(R=R.replace(/\//g,"\\")),R}o(b,"m");function w(D,k){let R=k?x:v,S="",{scheme:O,authority:N,path:P,query:F,fragment:B}=D;if(O&&(S+=O,S+=":"),(N||O==="file")&&(S+=f,S+=f),N){let $=N.indexOf("@");if($!==-1){let z=N.substr(0,$);N=N.substr($+1),$=z.lastIndexOf(":"),$===-1?S+=R(z,!1,!1):(S+=R(z.substr(0,$),!1,!1),S+=":",S+=R(z.substr($+1),!1,!0)),S+="@"}N=N.toLowerCase(),$=N.lastIndexOf(":"),$===-1?S+=R(N,!1,!0):(S+=R(N.substr(0,$),!1,!0),S+=N.substr($))}if(P){if(P.length>=3&&P.charCodeAt(0)===47&&P.charCodeAt(2)===58){let $=P.charCodeAt(1);$>=65&&$<=90&&(P=`/${String.fromCharCode($+32)}:${P.substr(3)}`)}else if(P.length>=2&&P.charCodeAt(1)===58){let $=P.charCodeAt(0);$>=65&&$<=90&&(P=`${String.fromCharCode($+32)}:${P.substr(2)}`)}S+=R(P,!0,!1)}return F&&(S+="?",S+=R(F,!1,!1)),B&&(S+="#",S+=k?B:v(B,!1,!1)),S}o(w,"y");function _(D){try{return decodeURIComponent(D)}catch{return D.length>3?D.substr(0,3)+_(D.substr(3)):D}}o(_,"v");let T=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function E(D){return D.match(T)?D.replace(T,k=>_(k)):D}o(E,"C");var L=r(470);let C=L.posix||L,A="/";var I;(function(D){D.joinPath=function(k,...R){return k.with({path:C.join(k.path,...R)})},D.resolvePath=function(k,...R){let S=k.path,O=!1;S[0]!==A&&(S=A+S,O=!0);let N=C.resolve(S,...R);return O&&N[0]===A&&!k.authority&&(N=N.substring(1)),k.with({path:N})},D.dirname=function(k){if(k.path.length===0||k.path===A)return k;let R=C.dirname(k.path);return R.length===1&&R.charCodeAt(0)===46&&(R=""),k.with({path:R})},D.basename=function(k){return C.basename(k.path)},D.extname=function(k){return C.extname(k.path)}})(I||(I={}))})(),gce=n})();({URI:Os,Utils:kg}=gce)});var ss,Mc=M(()=>{"use strict";MM();(function(t){t.basename=kg.basename,t.dirname=kg.dirname,t.extname=kg.extname,t.joinPath=kg.joinPath,t.resolvePath=kg.resolvePath;function e(n,i){return n?.toString()===i?.toString()}o(e,"equals"),t.equals=e;function r(n,i){let a=typeof n=="string"?n:n.path,s=typeof i=="string"?i:i.path,l=a.split("/").filter(p=>p.length>0),u=s.split("/").filter(p=>p.length>0),h=0;for(;h{"use strict";mce();Eg();Ko();Rs();Mc();(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(bn||(bn={}));R2=class{static{o(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=Cr.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??Os.parse(e.uri),n?this.createAsync(r,e,n):this.create(r,e)}fromString(e,r,n){return n?this.createAsync(r,e,n):this.create(r,e)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r){if(typeof r=="string"){let n=this.parse(e,r);return this.createLangiumDocument(n,e,void 0,r)}else if("$model"in r){let n={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,e)}else{let n=this.parse(e,r.getText());return this.createLangiumDocument(n,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:bn.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:bn.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){var n,i;let a=(n=e.parseResult.value.$cstNode)===null||n===void 0?void 0:n.root.fullText,s=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),l=s?s.getText():await this.fileSystemProvider.readFile(e.uri);if(s)Object.defineProperty(e,"textDocument",{value:s});else{let u=this.createTextDocumentGetter(e.uri,l);Object.defineProperty(e,"textDocument",{get:u})}return a!==l&&(e.parseResult=await this.parseAsync(e.uri,l,r),e.parseResult.value.$document=e),e.state=bn.Parsed,e}parse(e,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=Tg.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},M2=class{static{o(this,"DefaultLangiumDocuments")}constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory}get all(){return tn(this.documentMap.values())}addDocument(e){let r=e.uri.toString();if(this.documentMap.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentMap.set(r,e)}getDocument(e){let r=e.toString();return this.documentMap.get(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=bn.Changed,n.precomputedScopes=void 0,n.references=[],n.diagnostics=void 0),n}deleteDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=bn.Changed,this.documentMap.delete(r)),n}}});var I2,IM=M(()=>{"use strict";Ko();Yo();es();Qo();Eg();I2=class{static{o(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,r=Cr.CancellationToken.None){for(let n of jo(e.parseResult.value))await Gi(r),Um(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if(n._ref===void 0)try{let i=this.getCandidate(e);if(Vd(i))n._ref=i;else if(n._nodeDescription=i,this.langiumDocuments().hasDocument(i.documentUri)){let a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){n._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${n.$refText}': ${i}`})}r.references.push(n)}unlink(e){for(let r of e.references)delete r._ref,delete r._nodeDescription;e.references=[]}getCandidate(e){let n=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return n??this.createLinkingError(e)}buildReference(e,r,n,i){let a=this,s={$refNode:n,$refText:i,get ref(){var l;if(ei(this._ref))return this._ref;if(MD(this._nodeDescription)){let u=a.loadAstNode(this._nodeDescription);this._ref=u??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){let u=a.getLinkedNode({reference:s,container:e,property:r});if(u.error&&Fi(e).state{"use strict";Pl();o(yce,"isNamed");O2=class{static{o(this,"DefaultNameProvider")}getName(e){if(yce(e))return e.name}getNameNode(e){return Jv(e.$cstNode,"name")}}});var P2,PM=M(()=>{"use strict";Pl();Yo();es();Ml();Rs();Mc();P2=class{static{o(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){let r=iR(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(ma(i))return i.ref;if(Array.isArray(i)){for(let a of i)if(ma(a)&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return a.ref}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||OD(e,i)))return n}}}findDeclarationNode(e){let r=this.findDeclaration(e);if(r?.$cstNode){let n=this.nameProvider.getNameNode(r);return n??r.$cstNode}}findReferences(e,r){let n=[];if(r.includeDeclaration){let a=this.getReferenceToSelf(e);a&&n.push(a)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>ss.equals(a.sourceUri,r.documentUri))),n.push(...i),tn(n)}getReferenceToSelf(e){let r=this.nameProvider.getNameNode(e);if(r){let n=Fi(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:Hd(r),local:!0}}}}});var Ic,p0,Sg=M(()=>{"use strict";Rs();Ic=class{static{o(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return Gm.sum(tn(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){var r;return(r=this.map.get(e))!==null&&r!==void 0?r:[]}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return tn(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return tn(this.map.keys())}values(){return tn(this.map.values()).flat()}entriesGroupedByKey(){return tn(this.map.entries())}},p0=class{static{o(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}});var B2,BM=M(()=>{"use strict";Ko();es();Sg();Qo();B2=class{static{o(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,r=Cr.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,r)}async computeExportsForNode(e,r,n=qv,i=Cr.CancellationToken.None){let a=[];this.exportNode(e,a,r);for(let s of n(e))await Gi(i),this.exportNode(s,a,r);return a}exportNode(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async computeLocalScopes(e,r=Cr.CancellationToken.None){let n=e.parseResult.value,i=new Ic;for(let a of _c(n))await Gi(r),this.processNode(a,e,i);return i}processNode(e,r,n){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}});var Cg,F2,Pze,FM=M(()=>{"use strict";Rs();Cg=class{static{o(this,"StreamScope")}constructor(e,r,n){var i;this.elements=e,this.outerScope=r,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===e.toLowerCase()):this.elements.find(n=>n.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}},F2=class{static{o(this,"MapScope")}constructor(e,r,n){var i;this.elements=new Map,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1;for(let a of e){let s=this.caseInsensitive?a.name.toLowerCase():a.name;this.elements.set(s,a)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=tn(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},Pze={getElement(){},getAllElements(){return $v}}});var Ag,z2,m0,Ok,_g,Pk=M(()=>{"use strict";Ag=class{static{o(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},z2=class extends Ag{static{o(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},m0=class extends Ag{static{o(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},Ok=class extends m0{static{o(this,"DocumentCache")}constructor(e){super(r=>r.toString()),this.onDispose(e.workspace.DocumentBuilder.onUpdate((r,n)=>{let i=r.concat(n);for(let a of i)this.clear(a)}))}},_g=class extends z2{static{o(this,"WorkspaceCache")}constructor(e){super(),this.onDispose(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}});var G2,zM=M(()=>{"use strict";FM();es();Rs();Pk();G2=class{static{o(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new _g(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Fi(e.container).precomputedScopes;if(i){let s=e.container;do{let l=i.get(s);l.length>0&&r.push(tn(l).filter(u=>this.reflection.isSubtype(u.type,n))),s=s.$container}while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new Cg(tn(e),r,n)}createScopeForNodes(e,r,n){let i=tn(e).map(a=>{let s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new Cg(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new F2(this.indexManager.allElements(e)))}}});function GM(t){return typeof t.$comment=="string"}function vce(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var $2,Bk=M(()=>{"use strict";MM();Yo();es();Pl();o(GM,"isAstNodeWithComment");o(vce,"isIntermediateReference");$2=class{static{o(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r={}){let n=r?.replacer,i=o((s,l)=>this.replacer(s,l,r),"defaultReplacer"),a=n?(s,l)=>n(s,l,i):i;try{return this.currentDocument=Fi(e),JSON.stringify(e,a,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r={}){let n=JSON.parse(e);return this.linkNode(n,n,r),n}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:l}){var u,h,f,d;if(!this.ignoreProperties.has(e))if(ma(r)){let p=r.ref,m=n?r.$refText:void 0;if(p){let g=Fi(p),y="";this.currentDocument&&this.currentDocument!==g&&(l?y=l(g.uri,r):y=g.uri.toString());let v=this.astNodeLocator.getAstNodePath(p);return{$ref:`${y}#${v}`,$refText:m}}else return{$error:(h=(u=r.error)===null||u===void 0?void 0:u.message)!==null&&h!==void 0?h:"Could not resolve reference",$refText:m}}else if(ei(r)){let p;if(a&&(p=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},r)),(!e||r.$document)&&p?.$textRegion&&(p.$textRegion.documentURI=(f=this.currentDocument)===null||f===void 0?void 0:f.uri.toString())),i&&!e&&(p??(p=Object.assign({},r)),p.$sourceText=(d=r.$cstNode)===null||d===void 0?void 0:d.text),s){p??(p=Object.assign({},r));let m=this.commentProvider.getComment(r);m&&(p.$comment=m.replace(/\r/g,""))}return p??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=o(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let s=eR(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(let[u,h]of Object.entries(e))if(Array.isArray(h))for(let f=0;f{"use strict";Mc();V2=class{static{o(this,"DefaultServiceRegistry")}register(e){if(!this.singleton&&!this.map){this.singleton=e;return}if(!this.map&&(this.map={},this.singleton)){for(let r of this.singleton.LanguageMetaData.fileExtensions)this.map[r]=this.singleton;this.singleton=void 0}for(let r of e.LanguageMetaData.fileExtensions)this.map[r]!==void 0&&this.map[r]!==e&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${e.LanguageMetaData.languageId}'.`),this.map[r]=e}getServices(e){if(this.singleton!==void 0)return this.singleton;if(this.map===void 0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=ss.extname(e),n=this.map[r];if(!n)throw new Error(`The service registry contains no services for the extension '${r}'.`);return n}get all(){return this.singleton!==void 0?[this.singleton]:this.map!==void 0?Object.values(this.map):[]}}});function Fk(t){return{code:t}}var Lg,U2,H2=M(()=>{"use strict";Sg();Qo();Rs();o(Fk,"diagnosticData");(function(t){t.all=["fast","slow","built-in"]})(Lg||(Lg={}));U2=class{static{o(this,"ValidationRegistry")}constructor(e){this.entries=new Ic,this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[i,a]of Object.entries(e)){let s=a;if(Array.isArray(s))for(let l of s){let u={check:this.wrapValidationException(l,r),category:n};this.addEntry(i,u)}else if(typeof s=="function"){let l={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,l)}}}wrapValidationException(e,r){return async(n,i,a)=>{try{await e.call(r,n,i,a)}catch(s){if(sf(s))throw s;console.error("An error occurred during validation:",s);let l=s instanceof Error?s.message:String(s);s instanceof Error&&s.stack&&console.error(s.stack),i("error","An error occurred during validation: "+l,{node:n})}}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=tn(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}}});function xce(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Jv(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=rR(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function zk(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}var W2,$u,VM=M(()=>{"use strict";Ko();Pl();es();Ml();Qo();H2();W2=class{static{o(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,r={},n=Cr.CancellationToken.None){let i=e.parseResult,a=[];if(await Gi(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>{var l;return((l=s.data)===null||l===void 0?void 0:l.code)===$u.LexingError})||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>{var l;return((l=s.data)===null||l===void 0?void 0:l.code)===$u.ParsingError}))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>{var l;return((l=s.data)===null||l===void 0?void 0:l.code)===$u.LinkingError}))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(sf(s))throw s;console.error("An error occurred during validation:",s)}return await Gi(n),a}processLexingErrors(e,r,n){for(let i of e.lexerErrors){let a={severity:zk("error"),range:{start:{line:i.line-1,character:i.column-1},end:{line:i.line-1,character:i.column+i.length-1}},message:i.message,data:Fk($u.LexingError),source:this.getSource()};r.push(a)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:s.endLine-1,character:s.endColumn};a={start:l,end:l}}}}else a=$m(i.token);if(a){let s={severity:zk("error"),range:a,message:i.message,data:Fk($u.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let a=i.error;if(a){let s={node:a.container,property:a.property,index:a.index,data:{code:$u.LinkingError,containerType:a.container.$type,property:a.property,refText:a.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=Cr.CancellationToken.None){let i=[],a=o((s,l,u)=>{i.push(this.toDiagnostic(s,l,u))},"acceptor");return await Promise.all(jo(e).map(async s=>{await Gi(n);let l=this.validationRegistry.getChecks(s.$type,r.categories);for(let u of l)await u(s,a,n)})),i}toDiagnostic(e,r,n){return{message:r,range:xce(n),severity:zk(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};o(xce,"getDiagnosticRange");o(zk,"toDiagnosticSeverity");(function(t){t.LexingError="lexing-error",t.ParsingError="parsing-error",t.LinkingError="linking-error"})($u||($u={}))});var Y2,q2,UM=M(()=>{"use strict";Ko();Yo();es();Ml();Qo();Mc();Y2=class{static{o(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n=Fi(e)){r??(r=this.nameProvider.getName(e));let i=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${i} has no name.`);let a,s=o(()=>{var l;return a??(a=Hd((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))},"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return s()},selectionSegment:Hd(e.$cstNode),type:e.$type,documentUri:n.uri,path:i}}},q2=class{static{o(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=Cr.CancellationToken.None){let n=[],i=e.parseResult.value;for(let a of jo(i))await Gi(r),Um(a).filter(s=>!Vd(s)).forEach(s=>{let l=this.createDescription(s);l&&n.push(l)});return n}createDescription(e){let r=e.reference.$nodeDescription,n=e.reference.$refNode;if(!r||!n)return;let i=Fi(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:r.documentUri,targetPath:r.path,segment:Hd(n),local:ss.equals(r.documentUri,i)}}}});var X2,HM=M(()=>{"use strict";X2=class{static{o(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;let s=a.indexOf(this.indexSeparator);if(s>0){let l=a.substring(0,s),u=parseInt(a.substring(s+1)),h=i[l];return h?.[u]}return i[a]},e)}}});var j2,WM=M(()=>{"use strict";Qo();j2=class{static{o(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new as,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var r,n;this.workspaceConfig=(n=(r=e.capabilities.workspace)===null||r===void 0?void 0:r.configuration)!==null&&n!==void 0?n:!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(r=>{this.updateSectionConfiguration(r,e.settings[r])})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}}});var g0,YM=M(()=>{"use strict";(function(t){function e(r){return{dispose:o(async()=>await r(),"dispose")}}o(e,"create"),t.create=e})(g0||(g0={}))});var K2,qM=M(()=>{"use strict";Ko();YM();Sg();Qo();Rs();H2();Eg();K2=class{static{o(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ic,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=bn.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=Cr.CancellationToken.None){var i,a;for(let s of e){let l=s.uri.toString();if(s.state===bn.Validated){if(typeof r.validation=="boolean"&&r.validation)s.state=bn.IndexedReferences,s.diagnostics=void 0,this.buildState.delete(l);else if(typeof r.validation=="object"){let u=this.buildState.get(l),h=(i=u?.result)===null||i===void 0?void 0:i.validationChecks;if(h){let d=((a=r.validation.categories)!==null&&a!==void 0?a:Lg.all).filter(p=>!h.includes(p));d.length>0&&(this.buildState.set(l,{completed:!1,options:{validation:Object.assign(Object.assign({},r.validation),{categories:d})},result:u.result}),s.state=bn.IndexedReferences)}}}else this.buildState.delete(l)}this.currentState=bn.Changed,await this.emitUpdate(e.map(s=>s.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=Cr.CancellationToken.None){this.currentState=bn.Changed;for(let s of r)this.langiumDocuments.deleteDocument(s),this.buildState.delete(s.toString()),this.indexManager.remove(s);for(let s of e){if(!this.langiumDocuments.invalidateDocument(s)){let u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},s);u.state=bn.Changed,this.langiumDocuments.addDocument(u)}this.buildState.delete(s.toString())}let i=tn(e).concat(r).map(s=>s.toString()).toSet();this.langiumDocuments.all.filter(s=>!i.has(s.uri.toString())&&this.shouldRelink(s,i)).forEach(s=>{this.serviceRegistry.getServices(s.uri).references.Linker.unlink(s),s.state=Math.min(s.state,bn.ComputedScopes),s.diagnostics=void 0}),await this.emitUpdate(e,r),await Gi(n);let a=this.langiumDocuments.all.filter(s=>{var l;return s.staten(e,r)))}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),g0.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,bn.Parsed,n,a=>this.langiumDocumentFactory.update(a,n)),await this.runCancelable(e,bn.IndexedContent,n,a=>this.indexManager.updateContent(a,n)),await this.runCancelable(e,bn.ComputedScopes,n,async a=>{let s=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.precomputedScopes=await s.computeLocalScopes(a,n)}),await this.runCancelable(e,bn.Linked,n,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,n)),await this.runCancelable(e,bn.IndexedReferences,n,a=>this.indexManager.updateReferences(a,n));let i=e.filter(a=>this.shouldValidate(a));await this.runCancelable(i,bn.Validated,n,a=>this.validate(a,n));for(let a of e){let s=this.buildState.get(a.uri.toString());s&&(s.completed=!0)}}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){let a=e.filter(s=>s.state{this.buildPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;if(r&&"path"in r?i=r:n=r,n??(n=Cr.CancellationToken.None),i){let a=this.langiumDocuments.getDocument(i);if(a&&a.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):n.isCancellationRequested?Promise.reject(Rc):new Promise((a,s)=>{let l=this.onBuildPhase(e,()=>{if(l.dispose(),u.dispose(),i){let h=this.langiumDocuments.getDocument(i);a(h?.uri)}else a(void 0)}),u=n.onCancellationRequested(()=>{l.dispose(),u.dispose(),s(Rc)})})}async notifyBuildPhase(e,r,n){if(e.length===0)return;let i=this.buildPhaseListeners.get(r);for(let a of i)await Gi(n),await a(e,n)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){var n,i;let a=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,s=this.getBuildOptions(e).validation,l=typeof s=="object"?s:void 0,u=await a.validateDocument(e,l,r);e.diagnostics?e.diagnostics.push(...u):e.diagnostics=u;let h=this.buildState.get(e.uri.toString());if(h){(n=h.result)!==null&&n!==void 0||(h.result={});let f=(i=l?.categories)!==null&&i!==void 0?i:Lg.all;h.result.validationChecks?h.result.validationChecks.push(...f):h.result.validationChecks=[...f]}}getBuildOptions(e){var r,n;return(n=(r=this.buildState.get(e.uri.toString()))===null||r===void 0?void 0:r.options)!==null&&n!==void 0?n:{}}}});var Q2,XM=M(()=>{"use strict";es();Pk();Ko();Rs();Mc();Q2=class{static{o(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new m0,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Fi(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{ss.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),tn(i)}allElements(e,r){let n=tn(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){var n;return r?this.symbolByTypeIndex.get(e,r,()=>{var a;return((a=this.symbolIndex.get(e))!==null&&a!==void 0?a:[]).filter(l=>this.astReflection.isSubtype(l.type,r))}):(n=this.symbolIndex.get(e))!==null&&n!==void 0?n:[]}remove(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r),this.referenceIndex.delete(r)}async updateContent(e,r=Cr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=Cr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}});var Z2,jM=M(()=>{"use strict";Ko();Qo();Mc();Z2=class{static{o(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new as,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}initialize(e){var r;this.folders=(r=e.workspaceFolders)!==null&&r!==void 0?r:void 0}initialized(e){return this.mutex.write(r=>{var n;return this.initializeWorkspace((n=this.folders)!==null&&n!==void 0?n:[],r)})}async initializeWorkspace(e,r=Cr.CancellationToken.None){let n=await this.performStartup(e);await Gi(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=this.serviceRegistry.all.flatMap(a=>a.LanguageMetaData.fileExtensions),n=[],i=o(a=>{n.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)},"collector");return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(a=>[a,this.getRootFolder(a)]).map(async a=>this.traverseFolder(...a,r,i))),this._ready.resolve(),n}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return Os.parse(e.uri)}async traverseFolder(e,r,n,i){let a=await this.fileSystemProvider.readDirectory(r);await Promise.all(a.map(async s=>{if(this.includeEntry(e,s,n)){if(s.isDirectory)await this.traverseFolder(e,s.uri,n,i);else if(s.isFile){let l=await this.langiumDocuments.getOrCreateDocument(s.uri);i(l)}}}))}includeEntry(e,r,n){let i=ss.basename(r.uri);if(i.startsWith("."))return!1;if(r.isDirectory)return i!=="node_modules"&&i!=="out";if(r.isFile){let a=ss.extname(r.uri);return n.includes(a)}return!1}}});function bce(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function QM(t){return t&&"modes"in t&&"defaultMode"in t}function KM(t){return!bce(t)&&!QM(t)}var J2,ZM=M(()=>{"use strict";s0();J2=class{static{o(this,"DefaultLexer")}constructor(e){let r=e.parser.TokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=KM(r)?Object.values(r):r;this.chevrotainLexer=new oi(n,{positionTracking:"full"})}get definition(){return this.tokenTypes}tokenize(e){var r;let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:(r=n.groups.hidden)!==null&&r!==void 0?r:[]}}toTokenTypeDictionary(e){if(KM(e))return e;let r=QM(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};o(bce,"isTokenTypeArray");o(QM,"isIMultiModeLexerDefinition");o(KM,"isTokenTypeDictionary")});function tI(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Xr.create(0,0));let a=kce(t),s=nI(n),l=Fze({lines:a,position:i,options:s});return Uze({index:0,tokens:l,position:i})}function rI(t,e){let r=nI(e),n=kce(t);if(n.length===0)return!1;let i=n[0],a=n[n.length-1],s=r.start,l=r.end;return!!s?.exec(i)&&!!l?.exec(a)}function kce(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(YN)}function Fze(t){var e,r,n;let i=[],a=t.position.line,s=t.position.character;for(let l=0;l=f.length){if(i.length>0){let m=Xr.create(a,s);i.push({type:"break",content:"",range:Dr.create(m,m)})}}else{wce.lastIndex=d;let m=wce.exec(f);if(m){let g=m[0],y=m[1],v=Xr.create(a,s+d),x=Xr.create(a,s+d+g.length);i.push({type:"tag",content:y,range:Dr.create(v,x)}),d+=g.length,d=eI(f,d)}if(d0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function zze(t,e,r,n){let i=[];if(t.length===0){let a=Xr.create(r,n),s=Xr.create(r,n+e.length);i.push({type:"text",content:e,range:Dr.create(a,s)})}else{let a=0;for(let l of t){let u=l.index,h=e.substring(a,u);h.length>0&&i.push({type:"text",content:e.substring(a,u),range:Dr.create(Xr.create(r,a+n),Xr.create(r,u+n))});let f=h.length+1,d=l[1];if(i.push({type:"inline-tag",content:d,range:Dr.create(Xr.create(r,a+f+n),Xr.create(r,a+f+d.length+n))}),f+=d.length,l.length===4){f+=l[2].length;let p=l[3];i.push({type:"text",content:p,range:Dr.create(Xr.create(r,a+f+n),Xr.create(r,a+f+p.length+n))})}else i.push({type:"text",content:"",range:Dr.create(Xr.create(r,a+f+n),Xr.create(r,a+f+n))});a=u+l[0].length}let s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Dr.create(Xr.create(r,a+n),Xr.create(r,a+n+s.length))})}return i}function eI(t,e){let r=t.substring(e).match(Gze);return r?e+r.index:t.length}function Vze(t){let e=t.match($ze);if(e&&typeof e.index=="number")return e.index}function Uze(t){var e,r,n,i;let a=Xr.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Gk([],Dr.create(a,a));let s=[];for(;t.index0){let u=eI(e,a);s=e.substring(u),e=e.substring(0,a)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(s=`\`${s}\``),(i=(n=r.renderLink)===null||n===void 0?void 0:n.call(r,e,s))!==null&&i!==void 0?i:Xze(e,s)}}function Xze(t,e){try{return Os.parse(t,!0),`[${e}](${t})`}catch{return t}}function Tce(t){return t.endsWith(` `)?` `:` `}var wce,Bze,Gze,$ze,Gk,ex,tx,$k,iI=M(()=>{"use strict";uM();Wm();Mc();o(tI,"parseJSDoc");o(rI,"isJSDoc");o(kce,"getLines");wce=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,Bze=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;o(Fze,"tokenize");o(zze,"buildInlineTokens");Gze=/\S/,$ze=/\s*$/;o(eI,"skipWhitespace");o(Vze,"lastCharacter");o(Uze,"parseJSDocComment");o(Hze,"parseJSDocElement");o(Wze,"appendEmptyLine");o(Ece,"parseJSDocText");o(Yze,"parseJSDocInline");o(Sce,"parseJSDocTag");o(Cce,"parseJSDocLine");o(nI,"normalizeOptions");o(JM,"normalizeOption");Gk=class{static{o(this,"JSDocCommentImpl")}constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=Tce(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=Tce(r)+i}return r.trim()}},ex=class{static{o(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} ${r}`),this.inline?`{${e}}`:e}toMarkdown(e){var r,n;return(n=(r=e?.renderTag)===null||r===void 0?void 0:r.call(e,this))!==null&&n!==void 0?n:this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=qze(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i} ${r}`),this.inline?`{${i}}`:i}};o(qze,"renderInlineTag");o(Xze,"renderLinkDefault");tx=class{static{o(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` `)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` `)}return r}},$k=class{static{o(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};o(Tce,"fillNewlines")});var rx,aI=M(()=>{"use strict";es();iI();rx=class{static{o(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&rI(r))return tI(r).toMarkdown({renderLink:o((i,a)=>this.documentationLinkRenderer(e,i,a),"renderLink"),renderTag:o(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){var i;let a=(i=this.findNameInPrecomputedScopes(e,r))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,r);if(a&&a.nameSegment){let s=a.nameSegment.range.start.line+1,l=a.nameSegment.range.start.character+1,u=a.documentUri.with({fragment:`L${s},${l}`});return`[${n}](${u.toString()})`}else return}documentationTagRenderer(e,r){}findNameInPrecomputedScopes(e,r){let i=Fi(e).precomputedScopes;if(!i)return;let a=e;do{let l=i.get(a).find(u=>u.name===r);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}});var nx,sI=M(()=>{"use strict";Bk();Ml();nx=class{static{o(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var r;return GM(e)?e.$comment:(r=BD(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||r===void 0?void 0:r.text}}});var li={};var oI=M(()=>{"use strict";Er(li,ka(AM(),1))});var ix,lI,cI,uI=M(()=>{"use strict";Qo();oI();ix=class{static{o(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e){return Promise.resolve(this.syncParser.parse(e))}},lI=class{static{o(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new as,a,s=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{s.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new as;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Rc)}),this.queue.push(r),r.promise}},cI=class{static{o(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new li.Emitter,this.deferred=new as,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{let s=a;this.deferred.resolve(s),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(Rc),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new as,this.sendMessage(e),this.deferred.promise}}});var ax,hI=M(()=>{"use strict";Ko();Qo();ax=class{static{o(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new Cr.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=new Cr.CancellationTokenSource;return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n){let i=new as,a={action:r,deferred:i,cancellationToken:n??Cr.CancellationToken.None};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){sf(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}});var sx,fI=M(()=>{"use strict";Ck();Ac();Yo();es();Sg();Ml();sx=class{static{o(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new p0,this.tokenTypeIdMap=new p0,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors.map(r=>Object.assign({},r)),parserErrors:e.parserErrors.map(r=>Object.assign({},r)),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of jo(e))r.set(i,{});if(e.$cstNode)for(let i of Ud(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)ei(l)?s.push(this.dehydrateAstNode(l,r)):ma(l)?s.push(this.dehydrateReference(l,r)):s.push(l)}else ei(a)?n[i]=this.dehydrateAstNode(a,r):ma(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return Gv(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),io(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):Jh(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let a of jo(e))r.set(a,{});let i;if(e.$cstNode)for(let a of Ud(e.$cstNode)){let s;"fullText"in a?(s=new vg(a.fullText),i=s):"content"in a?s=new u0:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)ei(l)?s.push(this.setParent(this.hydrateAstNode(l,r),n)):ma(l)?s.push(this.hydrateReference(l,n,i,r)):s.push(l)}else ei(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ma(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),io(i))for(let a of e.content){let s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,l=e.endLine,u=e.endColumn,h=e.hidden;return new c0(n,i,{start:{line:a,character:s},end:{line:l,character:u}},r,h)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap();let r=this.grammarElementIdMap.getKey(e);if(r)return r;throw new Error("Invalid grammar element id: "+e)}createGrammarElementIdMap(){let e=0;for(let r of jo(this.grammar))Hv(r)&&this.grammarElementIdMap.set(r,e++)}}});function lo(t){return{documentation:{CommentProvider:o(e=>new nx(e),"CommentProvider"),DocumentationProvider:o(e=>new rx(e),"DocumentationProvider")},parser:{AsyncParser:o(e=>new ix(e),"AsyncParser"),GrammarConfig:o(e=>lR(e),"GrammarConfig"),LangiumParser:o(e=>vM(e),"LangiumParser"),CompletionParser:o(e=>gM(e),"CompletionParser"),ValueConverter:o(()=>new d0,"ValueConverter"),TokenBuilder:o(()=>new f0,"TokenBuilder"),Lexer:o(e=>new J2(e),"Lexer"),ParserErrorMessageProvider:o(()=>new xg,"ParserErrorMessageProvider")},workspace:{AstNodeLocator:o(()=>new X2,"AstNodeLocator"),AstNodeDescriptionProvider:o(e=>new Y2(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:o(e=>new q2(e),"ReferenceDescriptionProvider")},references:{Linker:o(e=>new I2(e),"Linker"),NameProvider:o(()=>new O2,"NameProvider"),ScopeProvider:o(e=>new G2(e),"ScopeProvider"),ScopeComputation:o(e=>new B2(e),"ScopeComputation"),References:o(e=>new P2(e),"References")},serializer:{Hydrator:o(e=>new sx(e),"Hydrator"),JsonSerializer:o(e=>new $2(e),"JsonSerializer")},validation:{DocumentValidator:o(e=>new W2(e),"DocumentValidator"),ValidationRegistry:o(e=>new U2(e),"ValidationRegistry")},shared:o(()=>t.shared,"shared")}}function co(t){return{ServiceRegistry:o(()=>new V2,"ServiceRegistry"),workspace:{LangiumDocuments:o(e=>new M2(e),"LangiumDocuments"),LangiumDocumentFactory:o(e=>new R2(e),"LangiumDocumentFactory"),DocumentBuilder:o(e=>new K2(e),"DocumentBuilder"),IndexManager:o(e=>new Q2(e),"IndexManager"),WorkspaceManager:o(e=>new Z2(e),"WorkspaceManager"),FileSystemProvider:o(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:o(()=>new ax,"WorkspaceLock"),ConfigurationProvider:o(e=>new j2(e),"ConfigurationProvider")}}}var dI=M(()=>{"use strict";cR();yM();xM();bM();wM();IM();OM();PM();BM();zM();Bk();$M();VM();H2();UM();HM();WM();qM();Eg();XM();jM();ZM();aI();sI();N2();uI();hI();fI();o(lo,"createDefaultCoreModule");o(co,"createDefaultSharedCoreModule")});function $i(t,e,r,n,i,a,s,l,u){let h=[t,e,r,n,i,a,s,l,u].reduce(Vk,{});return Dce(h)}function Lce(t){if(t&&t[mI])for(let e of Object.values(t))Lce(e);return t}function Dce(t,e){let r=new Proxy({},{deleteProperty:o(()=>!1,"deleteProperty"),get:o((n,i)=>_ce(n,i,t,e||r),"get"),getOwnPropertyDescriptor:o((n,i)=>(_ce(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:o((n,i)=>i in t,"has"),ownKeys:o(()=>[...Reflect.ownKeys(t),mI],"ownKeys")});return r[mI]=!0,r}function _ce(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===Ace)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=Ace;try{t[e]=typeof i=="function"?i(n):Dce(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function Vk(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!==void 0){let i=t[r];i!==null&&n!==null&&typeof i=="object"&&typeof n=="object"?t[r]=Vk(i,n):t[r]=n}}return t}var pI,mI,Ace,gI=M(()=>{"use strict";(function(t){t.merge=(e,r)=>Vk(Vk({},e),r)})(pI||(pI={}));o($i,"inject");mI=Symbol("isProxy");o(Lce,"eagerLoad");o(Dce,"_inject");Ace=Symbol();o(_ce,"_resolve");o(Vk,"_merge")});var Nce=M(()=>{"use strict"});var Rce=M(()=>{"use strict";sI();aI();iI()});var Mce=M(()=>{"use strict"});var Ice=M(()=>{"use strict";cR();Mce()});var Oce=M(()=>{"use strict"});var Pce=M(()=>{"use strict";uI();yM();Ck();xM();N2();ZM();Oce();bM();wM()});var Bce=M(()=>{"use strict";IM();OM();PM();FM();BM();zM()});var Fce=M(()=>{"use strict";fI();Bk()});var Uk,uo,yI=M(()=>{"use strict";Uk=class{static{o(this,"EmptyFileSystemProvider")}readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}},uo={fileSystemProvider:o(()=>new Uk,"fileSystemProvider")}});function Qze(){let t=$i(co(uo),Kze),e=$i(lo({shared:t}),jze);return t.ServiceRegistry.register(e),e}function of(t){var e;let r=Qze(),n=r.serializer.JsonSerializer.deserialize(t);return r.shared.workspace.LangiumDocumentFactory.fromModel(n,Os.parse(`memory://${(e=n.name)!==null&&e!==void 0?e:"grammar"}.langium`)),n}var jze,Kze,zce=M(()=>{"use strict";dI();gI();Ac();yI();Mc();jze={Grammar:o(()=>{},"Grammar"),LanguageMetaData:o(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},Kze={AstReflection:o(()=>new Vm,"AstReflection")};o(Qze,"createMinimalGrammarServices");o(of,"loadGrammarFromJson")});var Gr={};vr(Gr,{AstUtils:()=>AT,BiMap:()=>p0,Cancellation:()=>Cr,ContextCache:()=>m0,CstUtils:()=>mT,DONE_RESULT:()=>Ja,Deferred:()=>as,Disposable:()=>g0,DisposableCache:()=>Ag,DocumentCache:()=>Ok,EMPTY_STREAM:()=>$v,ErrorWithLocation:()=>Wd,GrammarUtils:()=>MT,MultiMap:()=>Ic,OperationCancelled:()=>Rc,Reduction:()=>Gm,RegExpUtils:()=>NT,SimpleCache:()=>z2,StreamImpl:()=>ao,TreeStreamImpl:()=>Cc,URI:()=>Os,UriUtils:()=>ss,WorkspaceCache:()=>_g,assertUnreachable:()=>ef,delayNextTick:()=>NM,interruptAndCheck:()=>Gi,isOperationCancelled:()=>sf,loadGrammarFromJson:()=>of,setInterruptionPeriod:()=>hce,startCancelableOperation:()=>uce,stream:()=>tn});var Gce=M(()=>{"use strict";Pk();oI();Er(Gr,li);Sg();YM();gT();zce();Qo();Rs();Mc();es();Ko();Ml();Pl();Wm()});var $ce=M(()=>{"use strict";VM();H2()});var Vce=M(()=>{"use strict";UM();HM();WM();qM();Eg();yI();XM();hI();jM()});var ga={};vr(ga,{AbstractAstReflection:()=>$d,AbstractCstNode:()=>A2,AbstractLangiumParser:()=>_2,AbstractParserErrorMessageProvider:()=>_k,AbstractThreadedAsyncParser:()=>lI,AstUtils:()=>AT,BiMap:()=>p0,Cancellation:()=>Cr,CompositeCstNodeImpl:()=>u0,ContextCache:()=>m0,CstNodeBuilder:()=>C2,CstUtils:()=>mT,DONE_RESULT:()=>Ja,DatatypeSymbol:()=>Ak,DefaultAstNodeDescriptionProvider:()=>Y2,DefaultAstNodeLocator:()=>X2,DefaultAsyncParser:()=>ix,DefaultCommentProvider:()=>nx,DefaultConfigurationProvider:()=>j2,DefaultDocumentBuilder:()=>K2,DefaultDocumentValidator:()=>W2,DefaultHydrator:()=>sx,DefaultIndexManager:()=>Q2,DefaultJsonSerializer:()=>$2,DefaultLangiumDocumentFactory:()=>R2,DefaultLangiumDocuments:()=>M2,DefaultLexer:()=>J2,DefaultLinker:()=>I2,DefaultNameProvider:()=>O2,DefaultReferenceDescriptionProvider:()=>q2,DefaultReferences:()=>P2,DefaultScopeComputation:()=>B2,DefaultScopeProvider:()=>G2,DefaultServiceRegistry:()=>V2,DefaultTokenBuilder:()=>f0,DefaultValueConverter:()=>d0,DefaultWorkspaceLock:()=>ax,DefaultWorkspaceManager:()=>Z2,Deferred:()=>as,Disposable:()=>g0,DisposableCache:()=>Ag,DocumentCache:()=>Ok,DocumentState:()=>bn,DocumentValidator:()=>$u,EMPTY_SCOPE:()=>Pze,EMPTY_STREAM:()=>$v,EmptyFileSystem:()=>uo,EmptyFileSystemProvider:()=>Uk,ErrorWithLocation:()=>Wd,GrammarAST:()=>Yv,GrammarUtils:()=>MT,JSDocDocumentationProvider:()=>rx,LangiumCompletionParser:()=>D2,LangiumParser:()=>L2,LangiumParserErrorMessageProvider:()=>xg,LeafCstNodeImpl:()=>c0,MapScope:()=>F2,Module:()=>pI,MultiMap:()=>Ic,OperationCancelled:()=>Rc,ParserWorker:()=>cI,Reduction:()=>Gm,RegExpUtils:()=>NT,RootCstNodeImpl:()=>vg,SimpleCache:()=>z2,StreamImpl:()=>ao,StreamScope:()=>Cg,TextDocument:()=>Tg,TreeStreamImpl:()=>Cc,URI:()=>Os,UriUtils:()=>ss,ValidationCategory:()=>Lg,ValidationRegistry:()=>U2,ValueConverter:()=>Nc,WorkspaceCache:()=>_g,assertUnreachable:()=>ef,createCompletionParser:()=>gM,createDefaultCoreModule:()=>lo,createDefaultSharedCoreModule:()=>co,createGrammarConfig:()=>lR,createLangiumParser:()=>vM,delayNextTick:()=>NM,diagnosticData:()=>Fk,eagerLoad:()=>Lce,getDiagnosticRange:()=>xce,inject:()=>$i,interruptAndCheck:()=>Gi,isAstNode:()=>ei,isAstNodeDescription:()=>MD,isAstNodeWithComment:()=>GM,isCompositeCstNode:()=>io,isIMultiModeLexerDefinition:()=>QM,isJSDoc:()=>rI,isLeafCstNode:()=>Jh,isLinkingError:()=>Vd,isNamed:()=>yce,isOperationCancelled:()=>sf,isReference:()=>ma,isRootCstNode:()=>Gv,isTokenTypeArray:()=>bce,isTokenTypeDictionary:()=>KM,loadGrammarFromJson:()=>of,parseJSDoc:()=>tI,prepareLangiumParser:()=>nce,setInterruptionPeriod:()=>hce,startCancelableOperation:()=>uce,stream:()=>tn,toDiagnosticSeverity:()=>zk});var Oc=M(()=>{"use strict";dI();gI();$M();Nce();Yo();Rce();Ice();Pce();Bce();Fce();Gce();Er(ga,Gr);$ce();Vce();Ac()});function Kce(t){return Fl.isInstance(t,jce)}function Qce(t){return Fl.isInstance(t,vI)}function Zce(t){return Fl.isInstance(t,xI)}function Jce(t){return Fl.isInstance(t,tGe)}function eue(t){return Fl.isInstance(t,bI)}function rue(t){return Fl.isInstance(t,tue)}function nue(t){return Fl.isInstance(t,wI)}function aue(t){return Fl.isInstance(t,iue)}function oue(t){return Fl.isInstance(t,sue)}function cue(t){return Fl.isInstance(t,lue)}function hue(t){return Fl.isInstance(t,uue)}var Zze,Ot,Xce,jce,vI,Jze,eGe,xI,tGe,bI,tue,wI,iue,sue,lue,uue,rGe,fue,Fl,Uce,nGe,Hce,iGe,Wce,aGe,Yce,sGe,qce,oGe,lGe,cGe,uGe,hGe,fGe,zl,TI,kI,EI,SI,CI,dGe,pGe,mGe,gGe,Dg,y0,Zo,yGe,Jo=M(()=>{"use strict";Oc();Oc();Oc();Oc();Zze=Object.defineProperty,Ot=o((t,e)=>Zze(t,"name",{value:e,configurable:!0}),"__name"),Xce="Statement",jce="Architecture";o(Kce,"isArchitecture");Ot(Kce,"isArchitecture");vI="Branch";o(Qce,"isBranch");Ot(Qce,"isBranch");Jze="Checkout",eGe="CherryPicking",xI="Commit";o(Zce,"isCommit");Ot(Zce,"isCommit");tGe="Common";o(Jce,"isCommon");Ot(Jce,"isCommon");bI="GitGraph";o(eue,"isGitGraph");Ot(eue,"isGitGraph");tue="Info";o(rue,"isInfo");Ot(rue,"isInfo");wI="Merge";o(nue,"isMerge");Ot(nue,"isMerge");iue="Packet";o(aue,"isPacket");Ot(aue,"isPacket");sue="PacketBlock";o(oue,"isPacketBlock");Ot(oue,"isPacketBlock");lue="Pie";o(cue,"isPie");Ot(cue,"isPie");uue="PieSection";o(hue,"isPieSection");Ot(hue,"isPieSection");rGe="Direction",fue=class extends $d{static{o(this,"MermaidAstReflection")}static{Ot(this,"MermaidAstReflection")}getAllTypes(){return["Architecture","Branch","Checkout","CherryPicking","Commit","Common","Direction","Edge","GitGraph","Group","Info","Junction","Merge","Packet","PacketBlock","Pie","PieSection","Service","Statement"]}computeIsSubtype(t,e){switch(t){case vI:case Jze:case eGe:case xI:case wI:return this.isSubtype(Xce,e);case rGe:return this.isSubtype(bI,e);default:return!1}}getReferenceType(t){let e=`${t.container.$type}:${t.property}`;switch(e){default:throw new Error(`${e} is not a valid reference id.`)}}getTypeMetaData(t){switch(t){case"Architecture":return{name:"Architecture",properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case"Branch":return{name:"Branch",properties:[{name:"name"},{name:"order"}]};case"Checkout":return{name:"Checkout",properties:[{name:"branch"}]};case"CherryPicking":return{name:"CherryPicking",properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case"Commit":return{name:"Commit",properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Common":return{name:"Common",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Edge":return{name:"Edge",properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case"GitGraph":return{name:"GitGraph",properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case"Group":return{name:"Group",properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case"Info":return{name:"Info",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Junction":return{name:"Junction",properties:[{name:"id"},{name:"in"}]};case"Merge":return{name:"Merge",properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Packet":return{name:"Packet",properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case"PacketBlock":return{name:"PacketBlock",properties:[{name:"end"},{name:"label"},{name:"start"}]};case"Pie":return{name:"Pie",properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case"PieSection":return{name:"PieSection",properties:[{name:"label"},{name:"value"}]};case"Service":return{name:"Service",properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case"Direction":return{name:"Direction",properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};default:return{name:t,properties:[]}}}},Fl=new fue,nGe=Ot(()=>Uce??(Uce=of('{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","name":"Info","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"InfoGrammar"),iGe=Ot(()=>Hce??(Hce=of(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","name":"Packet","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),aGe=Ot(()=>Wce??(Wce=of('{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","name":"Pie","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"PieGrammar"),sGe=Ot(()=>Yce??(Yce=of('{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","name":"Architecture","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LeftPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RightPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Arrow","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}')),"ArchitectureGrammar"),oGe=Ot(()=>qce??(qce=of(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","name":"GitGraph","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),lGe={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},cGe={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},uGe={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},hGe={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},fGe={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},zl={AstReflection:Ot(()=>new fue,"AstReflection")},TI={Grammar:Ot(()=>nGe(),"Grammar"),LanguageMetaData:Ot(()=>lGe,"LanguageMetaData"),parser:{}},kI={Grammar:Ot(()=>iGe(),"Grammar"),LanguageMetaData:Ot(()=>cGe,"LanguageMetaData"),parser:{}},EI={Grammar:Ot(()=>aGe(),"Grammar"),LanguageMetaData:Ot(()=>uGe,"LanguageMetaData"),parser:{}},SI={Grammar:Ot(()=>sGe(),"Grammar"),LanguageMetaData:Ot(()=>hGe,"LanguageMetaData"),parser:{}},CI={Grammar:Ot(()=>oGe(),"Grammar"),LanguageMetaData:Ot(()=>fGe,"LanguageMetaData"),parser:{}},dGe=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,pGe=/accTitle[\t ]*:([^\n\r]*)/,mGe=/title([\t ][^\n\r]*|)/,gGe={ACC_DESCR:dGe,ACC_TITLE:pGe,TITLE:mGe},Dg=class extends d0{static{o(this,"AbstractMermaidValueConverter")}static{Ot(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){let n=gGe[t.name];if(n===void 0)return;let i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` `)}}},y0=class extends Dg{static{o(this,"CommonValueConverter")}static{Ot(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},Zo=class extends f0{static{o(this,"AbstractMermaidTokenBuilder")}static{Ot(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},yGe=class extends Zo{static{o(this,"CommonTokenBuilder")}static{Ot(this,"CommonTokenBuilder")}}});function Wk(t=uo){let e=$i(co(t),zl),r=$i(lo({shared:e}),CI,Hk);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}var vGe,Hk,AI=M(()=>{"use strict";Jo();Oc();vGe=class extends Zo{static{o(this,"GitGraphTokenBuilder")}static{Ot(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},Hk={parser:{TokenBuilder:Ot(()=>new vGe,"TokenBuilder"),ValueConverter:Ot(()=>new y0,"ValueConverter")}};o(Wk,"createGitGraphServices");Ot(Wk,"createGitGraphServices")});function qk(t=uo){let e=$i(co(t),zl),r=$i(lo({shared:e}),TI,Yk);return e.ServiceRegistry.register(r),{shared:e,Info:r}}var xGe,Yk,_I=M(()=>{"use strict";Jo();Oc();xGe=class extends Zo{static{o(this,"InfoTokenBuilder")}static{Ot(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},Yk={parser:{TokenBuilder:Ot(()=>new xGe,"TokenBuilder"),ValueConverter:Ot(()=>new y0,"ValueConverter")}};o(qk,"createInfoServices");Ot(qk,"createInfoServices")});function jk(t=uo){let e=$i(co(t),zl),r=$i(lo({shared:e}),kI,Xk);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}var bGe,Xk,LI=M(()=>{"use strict";Jo();Oc();bGe=class extends Zo{static{o(this,"PacketTokenBuilder")}static{Ot(this,"PacketTokenBuilder")}constructor(){super(["packet-beta"])}},Xk={parser:{TokenBuilder:Ot(()=>new bGe,"TokenBuilder"),ValueConverter:Ot(()=>new y0,"ValueConverter")}};o(jk,"createPacketServices");Ot(jk,"createPacketServices")});function Qk(t=uo){let e=$i(co(t),zl),r=$i(lo({shared:e}),EI,Kk);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}var wGe,TGe,Kk,DI=M(()=>{"use strict";Jo();Oc();wGe=class extends Zo{static{o(this,"PieTokenBuilder")}static{Ot(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},TGe=class extends Dg{static{o(this,"PieValueConverter")}static{Ot(this,"PieValueConverter")}runCustomConverter(t,e,r){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},Kk={parser:{TokenBuilder:Ot(()=>new wGe,"TokenBuilder"),ValueConverter:Ot(()=>new TGe,"ValueConverter")}};o(Qk,"createPieServices");Ot(Qk,"createPieServices")});function Jk(t=uo){let e=$i(co(t),zl),r=$i(lo({shared:e}),SI,Zk);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}var kGe,EGe,Zk,NI=M(()=>{"use strict";Jo();Oc();kGe=class extends Zo{static{o(this,"ArchitectureTokenBuilder")}static{Ot(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},EGe=class extends Dg{static{o(this,"ArchitectureValueConverter")}static{Ot(this,"ArchitectureValueConverter")}runCustomConverter(t,e,r){if(t.name==="ARCH_ICON")return e.replace(/[()]/g,"").trim();if(t.name==="ARCH_TEXT_ICON")return e.replace(/["()]/g,"");if(t.name==="ARCH_TITLE")return e.replace(/[[\]]/g,"").trim()}},Zk={parser:{TokenBuilder:Ot(()=>new kGe,"TokenBuilder"),ValueConverter:Ot(()=>new EGe,"ValueConverter")}};o(Jk,"createArchitectureServices");Ot(Jk,"createArchitectureServices")});var due={};vr(due,{InfoModule:()=>Yk,createInfoServices:()=>qk});var pue=M(()=>{"use strict";_I();Jo()});var mue={};vr(mue,{PacketModule:()=>Xk,createPacketServices:()=>jk});var gue=M(()=>{"use strict";LI();Jo()});var yue={};vr(yue,{PieModule:()=>Kk,createPieServices:()=>Qk});var vue=M(()=>{"use strict";DI();Jo()});var xue={};vr(xue,{ArchitectureModule:()=>Zk,createArchitectureServices:()=>Jk});var bue=M(()=>{"use strict";NI();Jo()});var wue={};vr(wue,{GitGraphModule:()=>Hk,createGitGraphServices:()=>Wk});var Tue=M(()=>{"use strict";AI();Jo()});async function Gl(t,e){let r=SGe[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);v0[t]||await r();let i=v0[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new CGe(i);return i.value}var v0,SGe,CGe,Ng=M(()=>{"use strict";AI();_I();LI();DI();NI();Jo();v0={},SGe={info:Ot(async()=>{let{createInfoServices:t}=await Promise.resolve().then(()=>(pue(),due)),e=t().Info.parser.LangiumParser;v0.info=e},"info"),packet:Ot(async()=>{let{createPacketServices:t}=await Promise.resolve().then(()=>(gue(),mue)),e=t().Packet.parser.LangiumParser;v0.packet=e},"packet"),pie:Ot(async()=>{let{createPieServices:t}=await Promise.resolve().then(()=>(vue(),yue)),e=t().Pie.parser.LangiumParser;v0.pie=e},"pie"),architecture:Ot(async()=>{let{createArchitectureServices:t}=await Promise.resolve().then(()=>(bue(),xue)),e=t().Architecture.parser.LangiumParser;v0.architecture=e},"architecture"),gitGraph:Ot(async()=>{let{createGitGraphServices:t}=await Promise.resolve().then(()=>(Tue(),wue)),e=t().GitGraph.parser.LangiumParser;v0.gitGraph=e},"gitGraph")};o(Gl,"parse");Ot(Gl,"parse");CGe=class extends Error{static{o(this,"MermaidParseError")}constructor(t){let e=t.lexerErrors.map(n=>n.message).join(` `),r=t.parserErrors.map(n=>n.message).join(` `);super(`Parsing failed: ${e} ${r}`),this.result=t}static{Ot(this,"MermaidParseError")}}});function lf(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}var ox=M(()=>{"use strict";o(lf,"populateCommonDb")});var jr,eE=M(()=>{"use strict";jr={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}});var cf,tE=M(()=>{"use strict";cf=class{constructor(e){this.init=e;this.records=this.init()}static{o(this,"ImperativeState")}reset(){this.records=this.init()}}});function RI(){return t9({length:7})}function _Ge(t,e){let r=Object.create(null);return t.reduce((n,i)=>{let a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}function kue(t,e,r){let n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}function Sue(t){let e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]),r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});let n=[r,e.id,e.seq];for(let i in wt.records.branches)wt.records.branches.get(i)===e.id&&n.push(i);if(Y.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){let i=wt.records.commits.get(e.parents[0]);kue(t,e,i),e.parents[1]&&t.push(wt.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){let i=wt.records.commits.get(e.parents[0]);kue(t,e,i)}}t=_Ge(t,i=>i.id),Sue(t)}var AGe,x0,wt,LGe,DGe,NGe,RGe,MGe,IGe,OGe,Eue,PGe,BGe,FGe,zGe,GGe,Cue,$Ge,VGe,UGe,rE,MI=M(()=>{"use strict";ht();hr();Ua();fr();ki();eE();tE();hs();AGe=ur.gitGraph,x0=o(()=>ws({...AGe,...Sr().gitGraph}),"getConfig"),wt=new cf(()=>{let t=x0(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});o(RI,"getID");o(_Ge,"uniqBy");LGe=o(function(t){wt.records.direction=t},"setDirection"),DGe=o(function(t){Y.debug("options str",t),t=t?.trim(),t=t||"{}";try{wt.records.options=JSON.parse(t)}catch(e){Y.error("error while parsing gitGraph options",e.message)}},"setOptions"),NGe=o(function(){return wt.records.options},"getOptions"),RGe=o(function(t){let e=t.msg,r=t.id,n=t.type,i=t.tags;Y.info("commit",e,r,n,i),Y.debug("Entering commit:",e,r,n,i);let a=x0();r=je.sanitizeText(r,a),e=je.sanitizeText(e,a),i=i?.map(l=>je.sanitizeText(l,a));let s={id:r||wt.records.seq+"-"+RI(),message:e,seq:wt.records.seq++,type:n??jr.NORMAL,tags:i??[],parents:wt.records.head==null?[]:[wt.records.head.id],branch:wt.records.currBranch};wt.records.head=s,Y.info("main branch",a.mainBranchName),wt.records.commits.set(s.id,s),wt.records.branches.set(wt.records.currBranch,s.id),Y.debug("in pushCommit "+s.id)},"commit"),MGe=o(function(t){let e=t.name,r=t.order;if(e=je.sanitizeText(e,x0()),wt.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);wt.records.branches.set(e,wt.records.head!=null?wt.records.head.id:null),wt.records.branchConfig.set(e,{name:e,order:r}),Eue(e),Y.debug("in createBranch")},"branch"),IGe=o(t=>{let e=t.branch,r=t.id,n=t.type,i=t.tags,a=x0();e=je.sanitizeText(e,a),r&&(r=je.sanitizeText(r,a));let s=wt.records.branches.get(wt.records.currBranch),l=wt.records.branches.get(e),u=s?wt.records.commits.get(s):void 0,h=l?wt.records.commits.get(l):void 0;if(u&&h&&u.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(wt.records.currBranch===e){let p=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(u===void 0||!u){let p=new Error(`Incorrect usage of "merge". Current branch (${wt.records.currBranch})has no commits`);throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},p}if(!wt.records.branches.has(e)){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},p}if(h===void 0||!h){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},p}if(u===h){let p=new Error('Incorrect usage of "merge". Both branches have same head');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(r&&wt.records.commits.has(r)){let p=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom Id");throw p.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},p}let f=l||"",d={id:r||`${wt.records.seq}-${RI()}`,message:`merged branch ${e} into ${wt.records.currBranch}`,seq:wt.records.seq++,parents:wt.records.head==null?[]:[wt.records.head.id,f],branch:wt.records.currBranch,type:jr.MERGE,customType:n,customId:!!r,tags:i??[]};wt.records.head=d,wt.records.commits.set(d.id,d),wt.records.branches.set(wt.records.currBranch,d.id),Y.debug(wt.records.branches),Y.debug("in mergeBranch")},"merge"),OGe=o(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;Y.debug("Entering cherryPick:",e,r,n);let a=x0();if(e=je.sanitizeText(e,a),r=je.sanitizeText(r,a),n=n?.map(u=>je.sanitizeText(u,a)),i=je.sanitizeText(i,a),!e||!wt.records.commits.has(e)){let u=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw u.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},u}let s=wt.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let l=s.branch;if(s.type===jr.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!wt.records.commits.has(r)){if(l===wt.records.currBranch){let d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let u=wt.records.branches.get(wt.records.currBranch);if(u===void 0||!u){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${wt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let h=wt.records.commits.get(u);if(h===void 0||!h){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${wt.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let f={id:wt.records.seq+"-"+RI(),message:`cherry-picked ${s?.message} into ${wt.records.currBranch}`,seq:wt.records.seq++,parents:wt.records.head==null?[]:[wt.records.head.id,s.id],branch:wt.records.currBranch,type:jr.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===jr.MERGE?`|parent:${i}`:""}`]};wt.records.head=f,wt.records.commits.set(f.id,f),wt.records.branches.set(wt.records.currBranch,f.id),Y.debug(wt.records.branches),Y.debug("in cherryPick")}},"cherryPick"),Eue=o(function(t){if(t=je.sanitizeText(t,x0()),wt.records.branches.has(t)){wt.records.currBranch=t;let e=wt.records.branches.get(wt.records.currBranch);e===void 0||!e?wt.records.head=null:wt.records.head=wt.records.commits.get(e)??null}else{let e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");o(kue,"upsert");o(Sue,"prettyPrintCommitHistory");PGe=o(function(){Y.debug(wt.records.commits);let t=Cue()[0];Sue([t])},"prettyPrint"),BGe=o(function(){wt.reset(),_r()},"clear"),FGe=o(function(){return[...wt.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),zGe=o(function(){return wt.records.branches},"getBranches"),GGe=o(function(){return wt.records.commits},"getCommits"),Cue=o(function(){let t=[...wt.records.commits.values()];return t.forEach(function(e){Y.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),$Ge=o(function(){return wt.records.currBranch},"getCurrentBranch"),VGe=o(function(){return wt.records.direction},"getDirection"),UGe=o(function(){return wt.records.head},"getHead"),rE={commitType:jr,getConfig:x0,setDirection:LGe,setOptions:DGe,getOptions:NGe,commit:RGe,branch:MGe,merge:IGe,cherryPick:OGe,checkout:Eue,prettyPrint:PGe,clear:BGe,getBranchesAsObjArray:FGe,getBranches:zGe,getCommits:GGe,getCommitsArray:Cue,getCurrentBranch:$Ge,getDirection:VGe,getHead:UGe,setAccTitle:Rr,getAccTitle:Pr,getAccDescription:Fr,setAccDescription:Br,setDiagramTitle:ln,getDiagramTitle:Jr}});var HGe,WGe,YGe,qGe,XGe,jGe,KGe,Aue,_ue=M(()=>{"use strict";Ng();ht();ox();MI();eE();HGe=o((t,e)=>{lf(t,e),t.dir&&e.setDirection(t.dir);for(let r of t.statements)WGe(r,e)},"populate"),WGe=o((t,e)=>{let n={Commit:o(i=>e.commit(YGe(i)),"Commit"),Branch:o(i=>e.branch(qGe(i)),"Branch"),Merge:o(i=>e.merge(XGe(i)),"Merge"),Checkout:o(i=>e.checkout(jGe(i)),"Checkout"),CherryPicking:o(i=>e.cherryPick(KGe(i)),"CherryPicking")}[t.$type];n?n(t):Y.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),YGe=o(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?jr[t.type]:jr.NORMAL,tags:t.tags??void 0}),"parseCommit"),qGe=o(t=>({name:t.name,order:t.order??0}),"parseBranch"),XGe=o(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?jr[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),jGe=o(t=>t.branch,"parseCheckout"),KGe=o(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),Aue={parse:o(async t=>{let e=await Gl("gitGraph",t);Y.debug(e),HGe(e,rE)},"parse")}});var QGe,el,hf,ff,Pc,Vu,b0,Ps,Bs,nE,lx,iE,uf,Nr,ZGe,Due,Nue,JGe,e$e,t$e,r$e,n$e,i$e,a$e,s$e,o$e,l$e,c$e,u$e,Lue,h$e,cx,f$e,d$e,p$e,m$e,g$e,Rue,Mue=M(()=>{"use strict";mr();Vt();ht();hr();eE();QGe=de(),el=QGe?.gitGraph,hf=10,ff=40,Pc=4,Vu=2,b0=8,Ps=new Map,Bs=new Map,nE=30,lx=new Map,iE=[],uf=0,Nr="LR",ZGe=o(()=>{Ps.clear(),Bs.clear(),lx.clear(),uf=0,iE=[],Nr="LR"},"clear"),Due=o(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),Nue=o(t=>{let e,r,n;return Nr==="BT"?(r=o((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=o((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{let a=Nr==="TB"||Nr=="BT"?Bs.get(i)?.y:Bs.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),JGe=o(t=>{let e="",r=1/0;return t.forEach(n=>{let i=Bs.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),e$e=o((t,e,r)=>{let n=r,i=r,a=[];t.forEach(s=>{let l=e.get(s);if(!l)throw new Error(`Commit not found for key ${s}`);l.parents.length?(n=r$e(l),i=Math.max(n,i)):a.push(l),n$e(l,n)}),n=i,a.forEach(s=>{i$e(s,n,r)}),t.forEach(s=>{let l=e.get(s);if(l?.parents.length){let u=JGe(l.parents);n=Bs.get(u).y-ff,n<=i&&(i=n);let h=Ps.get(l.branch).pos,f=n-hf;Bs.set(l.id,{x:h,y:f})}})},"setParallelBTPos"),t$e=o(t=>{let e=Nue(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);let r=Bs.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),r$e=o(t=>t$e(t)+ff,"calculateCommitPosition"),n$e=o((t,e)=>{let r=Ps.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);let n=r.pos,i=e+hf;return Bs.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),i$e=o((t,e,r)=>{let n=Ps.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);let i=e+r,a=n.pos;Bs.set(t.id,{x:a,y:i})},"setRootPosition"),a$e=o((t,e,r,n,i,a)=>{if(a===jr.HIGHLIGHT)t.append("rect").attr("x",r.x-10).attr("y",r.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${i%b0} ${n}-outer`),t.append("rect").attr("x",r.x-6).attr("y",r.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${i%b0} ${n}-inner`);else if(a===jr.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`);else{let s=t.append("circle");if(s.attr("cx",r.x),s.attr("cy",r.y),s.attr("r",e.type===jr.MERGE?9:10),s.attr("class",`commit ${e.id} commit${i%b0}`),a===jr.MERGE){let l=t.append("circle");l.attr("cx",r.x),l.attr("cy",r.y),l.attr("r",6),l.attr("class",`commit ${n} ${e.id} commit${i%b0}`)}a===jr.REVERSE&&t.append("path").attr("d",`M ${r.x-5},${r.y-5}L${r.x+5},${r.y+5}M${r.x-5},${r.y+5}L${r.x+5},${r.y-5}`).attr("class",`commit ${n} ${e.id} commit${i%b0}`)}},"drawCommitBullet"),s$e=o((t,e,r,n)=>{if(e.type!==jr.CHERRY_PICK&&(e.customId&&e.type===jr.MERGE||e.type!==jr.MERGE)&&el?.showCommitLabel){let i=t.append("g"),a=i.insert("rect").attr("class","commit-label-bkg"),s=i.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=s.node()?.getBBox();if(l&&(a.attr("x",r.posWithOffset-l.width/2-Vu).attr("y",r.y+13.5).attr("width",l.width+2*Vu).attr("height",l.height+2*Vu),Nr==="TB"||Nr==="BT"?(a.attr("x",r.x-(l.width+4*Pc+5)).attr("y",r.y-12),s.attr("x",r.x-(l.width+4*Pc)).attr("y",r.y+l.height-12)):s.attr("x",r.posWithOffset-l.width/2),el.rotateCommitLabel))if(Nr==="TB"||Nr==="BT")s.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),a.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;i.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),o$e=o((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0,l=[];for(let u of e.tags.reverse()){let h=t.insert("polygon"),f=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(u),p=d.node()?.getBBox();if(!p)throw new Error("Tag bbox not found");a=Math.max(a,p.width),s=Math.max(s,p.height),d.attr("x",r.posWithOffset-p.width/2),l.push({tag:d,hole:f,rect:h,yOffset:i}),i+=20}for(let{tag:u,hole:h,rect:f,yOffset:d}of l){let p=s/2,m=r.y-19.2-d;if(f.attr("class","tag-label-bkg").attr("points",` ${n-a/2-Pc/2},${m+Vu} ${n-a/2-Pc/2},${m-Vu} ${r.posWithOffset-a/2-Pc},${m-p-Vu} ${r.posWithOffset+a/2+Pc},${m-p-Vu} ${r.posWithOffset+a/2+Pc},${m+p+Vu} ${r.posWithOffset-a/2-Pc},${m+p+Vu}`),h.attr("cy",m).attr("cx",n-a/2+Pc/2).attr("r",1.5).attr("class","tag-hole"),Nr==="TB"||Nr==="BT"){let g=n+d;f.attr("class","tag-label-bkg").attr("points",` ${r.x},${g+2} ${r.x},${g-2} ${r.x+hf},${g-p-2} ${r.x+hf+a+4},${g-p-2} ${r.x+hf+a+4},${g+p+2} ${r.x+hf},${g+p+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),h.attr("cx",r.x+Pc/2).attr("cy",g).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("x",r.x+5).attr("y",g+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),l$e=o(t=>{switch(t.customType??t.type){case jr.NORMAL:return"commit-normal";case jr.REVERSE:return"commit-reverse";case jr.HIGHLIGHT:return"commit-highlight";case jr.MERGE:return"commit-merge";case jr.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),c$e=o((t,e,r,n)=>{let i={x:0,y:0};if(t.parents.length>0){let a=Nue(t.parents);if(a){let s=n.get(a)??i;return e==="TB"?s.y+ff:e==="BT"?(n.get(t.id)??i).y-ff:s.x+ff}}else return e==="TB"?nE:e==="BT"?(n.get(t.id)??i).y-ff:0;return 0},"calculatePosition"),u$e=o((t,e,r)=>{let n=Nr==="BT"&&r?e:e+hf,i=Nr==="TB"||Nr==="BT"?n:Ps.get(t.branch)?.pos,a=Nr==="TB"||Nr==="BT"?Ps.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:i,posWithOffset:n}},"getCommitPosition"),Lue=o((t,e,r)=>{if(!el)throw new Error("GitGraph config not found");let n=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),a=Nr==="TB"||Nr==="BT"?nE:0,s=[...e.keys()],l=el?.parallelCommits??!1,u=o((f,d)=>{let p=e.get(f)?.seq,m=e.get(d)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys"),h=s.sort(u);Nr==="BT"&&(l&&e$e(h,e,a),h=h.reverse()),h.forEach(f=>{let d=e.get(f);if(!d)throw new Error(`Commit not found for key ${f}`);l&&(a=c$e(d,Nr,a,Bs));let p=u$e(d,a,l);if(r){let m=l$e(d),g=d.customType??d.type,y=Ps.get(d.branch)?.index??0;a$e(n,d,p,m,y,g),s$e(i,d,p,a),o$e(i,d,p,a)}Nr==="TB"||Nr==="BT"?Bs.set(d.id,{x:p.x,y:p.posWithOffset}):Bs.set(d.id,{x:p.posWithOffset,y:p.y}),a=Nr==="BT"&&l?a+ff:a+ff+hf,a>uf&&(uf=a)})},"drawCommits"),h$e=o((t,e,r,n,i)=>{let s=(Nr==="TB"||Nr==="BT"?r.xh.branch===s,"isOnBranchToGetCurve"),u=o(h=>h.seq>t.seq&&h.sequ(h)&&l(h))},"shouldRerouteArrow"),cx=o((t,e,r=0)=>{let n=t+Math.abs(t-e)/2;if(r>5)return n;if(iE.every(s=>Math.abs(s-n)>=10))return iE.push(n),n;let a=Math.abs(t-e);return cx(t,e-a/5,r+1)},"findLane"),f$e=o((t,e,r,n)=>{let i=Bs.get(e.id),a=Bs.get(r.id);if(i===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let s=h$e(e,r,i,a,n),l="",u="",h=0,f=0,d=Ps.get(r.branch)?.index;r.type===jr.MERGE&&e.id!==r.parents[0]&&(d=Ps.get(e.branch)?.index);let p;if(s){l="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",h=10,f=10;let m=i.ya.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===jr.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y-h} ${u} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${l} ${a.x} ${i.y+f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):Nr==="BT"?(i.xa.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===jr.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${l} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):(i.ya.y&&(r.type===jr.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${u} ${i.x+f} ${a.y} L ${a.x} ${a.y}`),i.y===a.y&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`));if(p===void 0)throw new Error("Line definition not found");t.append("path").attr("d",p).attr("class","arrow arrow"+d%b0)},"drawArrow"),d$e=o((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{let i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{f$e(r,e.get(a),i,e)})})},"drawArrows"),p$e=o((t,e)=>{let r=t.append("g");e.forEach((n,i)=>{let a=i%b0,s=Ps.get(n.name)?.pos;if(s===void 0)throw new Error(`Position not found for branch ${n.name}`);let l=r.append("line");l.attr("x1",0),l.attr("y1",s),l.attr("x2",uf),l.attr("y2",s),l.attr("class","branch branch"+a),Nr==="TB"?(l.attr("y1",nE),l.attr("x1",s),l.attr("y2",uf),l.attr("x2",s)):Nr==="BT"&&(l.attr("y1",uf),l.attr("x1",s),l.attr("y2",nE),l.attr("x2",s)),iE.push(s);let u=n.name,h=Due(u),f=r.insert("rect"),p=r.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);p.node().appendChild(h);let m=h.getBBox();f.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-m.width-4-(el?.rotateCommitLabel===!0?30:0)).attr("y",-m.height/2+8).attr("width",m.width+18).attr("height",m.height+4),p.attr("transform","translate("+(-m.width-14-(el?.rotateCommitLabel===!0?30:0))+", "+(s-m.height/2-1)+")"),Nr==="TB"?(f.attr("x",s-m.width/2-10).attr("y",0),p.attr("transform","translate("+(s-m.width/2-5)+", 0)")):Nr==="BT"?(f.attr("x",s-m.width/2-10).attr("y",uf),p.attr("transform","translate("+(s-m.width/2-5)+", "+uf+")")):f.attr("transform","translate(-19, "+(s-m.height/2)+")")})},"drawBranches"),m$e=o(function(t,e,r,n,i){return Ps.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Nr==="TB"||Nr==="BT"?n.width/2:0),e},"setBranchPosition"),g$e=o(function(t,e,r,n){if(ZGe(),Y.debug("in gitgraph renderer",t+` `,"id:",e,r),!el)throw new Error("GitGraph config not found");let i=el.rotateCommitLabel??!1,a=n.db;lx=a.getCommits();let s=a.getBranchesAsObjArray();Nr=a.getDirection();let l=ze(`[id="${e}"]`),u=0;s.forEach((h,f)=>{let d=Due(h.name),p=l.append("g"),m=p.insert("g").attr("class","branchLabel"),g=m.insert("g").attr("class","label branch-label");g.node()?.appendChild(d);let y=d.getBBox();u=m$e(h.name,u,f,y,i),g.remove(),m.remove(),p.remove()}),Lue(l,lx,!1),el.showBranches&&p$e(l,s),d$e(l,lx),Lue(l,lx,!0),Ut.insertTitle(l,"gitTitleText",el.titleTopMargin??0,a.getDiagramTitle()),a7(void 0,l,el.diagramPadding,el.useMaxWidth)},"draw"),Rue={draw:g$e}});var y$e,Iue,Oue=M(()=>{"use strict";y$e=o(t=>` .commit-id, .commit-msg, .branch-label { fill: lightgrey; color: lightgrey; font-family: 'trebuchet ms', verdana, arial, sans-serif; font-family: var(--mermaid-font-family); } ${[0,1,2,3,4,5,6,7].map(e=>` .branch-label${e} { fill: ${t["gitBranchLabel"+e]}; } .commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; } .commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; } .label${e} { fill: ${t["git"+e]}; } .arrow${e} { stroke: ${t["git"+e]}; } `).join(` `)} .branch { stroke-width: 1; stroke: ${t.lineColor}; stroke-dasharray: 2; } .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};} .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; } .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};} .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; } .tag-hole { fill: ${t.textColor}; } .commit-merge { stroke: ${t.primaryColor}; fill: ${t.primaryColor}; } .commit-reverse { stroke: ${t.primaryColor}; fill: ${t.primaryColor}; stroke-width: 3; } .commit-highlight-outer { } .commit-highlight-inner { stroke: ${t.primaryColor}; fill: ${t.primaryColor}; } .arrow { stroke-width: 8; stroke-linecap: round; fill: none} .gitTitleText { text-anchor: middle; font-size: 18px; fill: ${t.textColor}; } `,"getStyles"),Iue=y$e});var Pue={};vr(Pue,{diagram:()=>v$e});var v$e,Bue=M(()=>{"use strict";_ue();MI();Mue();Oue();v$e={parser:Aue,db:rE,renderer:Rue,styles:Iue}});var II,Gue,$ue=M(()=>{"use strict";II=function(){var t=o(function(R,S,O,N){for(O=O||{},N=R.length;N--;O[R[N]]=S);return O},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],l=[1,31],u=[1,32],h=[1,33],f=[1,34],d=[1,9],p=[1,10],m=[1,11],g=[1,12],y=[1,13],v=[1,14],x=[1,15],b=[1,16],w=[1,19],_=[1,20],T=[1,21],E=[1,22],L=[1,23],C=[1,25],A=[1,35],I={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:o(function(S,O,N,P,F,B,$){var z=B.length-1;switch(F){case 1:return B[z-1];case 2:this.$=[];break;case 3:B[z-1].push(B[z]),this.$=B[z-1];break;case 4:case 5:this.$=B[z];break;case 6:case 7:this.$=[];break;case 8:P.setWeekday("monday");break;case 9:P.setWeekday("tuesday");break;case 10:P.setWeekday("wednesday");break;case 11:P.setWeekday("thursday");break;case 12:P.setWeekday("friday");break;case 13:P.setWeekday("saturday");break;case 14:P.setWeekday("sunday");break;case 15:P.setWeekend("friday");break;case 16:P.setWeekend("saturday");break;case 17:P.setDateFormat(B[z].substr(11)),this.$=B[z].substr(11);break;case 18:P.enableInclusiveEndDates(),this.$=B[z].substr(18);break;case 19:P.TopAxis(),this.$=B[z].substr(8);break;case 20:P.setAxisFormat(B[z].substr(11)),this.$=B[z].substr(11);break;case 21:P.setTickInterval(B[z].substr(13)),this.$=B[z].substr(13);break;case 22:P.setExcludes(B[z].substr(9)),this.$=B[z].substr(9);break;case 23:P.setIncludes(B[z].substr(9)),this.$=B[z].substr(9);break;case 24:P.setTodayMarker(B[z].substr(12)),this.$=B[z].substr(12);break;case 27:P.setDiagramTitle(B[z].substr(6)),this.$=B[z].substr(6);break;case 28:this.$=B[z].trim(),P.setAccTitle(this.$);break;case 29:case 30:this.$=B[z].trim(),P.setAccDescription(this.$);break;case 31:P.addSection(B[z].substr(8)),this.$=B[z].substr(8);break;case 33:P.addTask(B[z-1],B[z]),this.$="task";break;case 34:this.$=B[z-1],P.setClickEvent(B[z-1],B[z],null);break;case 35:this.$=B[z-2],P.setClickEvent(B[z-2],B[z-1],B[z]);break;case 36:this.$=B[z-2],P.setClickEvent(B[z-2],B[z-1],null),P.setLink(B[z-2],B[z]);break;case 37:this.$=B[z-3],P.setClickEvent(B[z-3],B[z-2],B[z-1]),P.setLink(B[z-3],B[z]);break;case 38:this.$=B[z-2],P.setClickEvent(B[z-2],B[z],null),P.setLink(B[z-2],B[z-1]);break;case 39:this.$=B[z-3],P.setClickEvent(B[z-3],B[z-1],B[z]),P.setLink(B[z-3],B[z-2]);break;case 40:this.$=B[z-1],P.setLink(B[z-1],B[z]);break;case 41:case 47:this.$=B[z-1]+" "+B[z];break;case 42:case 43:case 45:this.$=B[z-2]+" "+B[z-1]+" "+B[z];break;case 44:case 46:this.$=B[z-3]+" "+B[z-2]+" "+B[z-1]+" "+B[z];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:w,31:_,33:T,35:E,36:L,37:24,38:C,40:A},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:w,31:_,33:T,35:E,36:L,37:24,38:C,40:A},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:o(function(S,O){if(O.recoverable)this.trace(S);else{var N=new Error(S);throw N.hash=O,N}},"parseError"),parse:o(function(S){var O=this,N=[0],P=[],F=[null],B=[],$=this.table,z="",W=0,j=0,K=0,ie=2,Q=1,ee=B.slice.call(arguments,1),J=Object.create(this.lexer),H={yy:{}};for(var q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,q)&&(H.yy[q]=this.yy[q]);J.setInput(S,H.yy),H.yy.lexer=J,H.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var Z=J.yylloc;B.push(Z);var ae=J.options&&J.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ue(he){N.length=N.length-2*he,F.length=F.length-he,B.length=B.length-he}o(ue,"popStack");function ce(){var he;return he=P.pop()||J.lex()||Q,typeof he!="number"&&(he instanceof Array&&(P=he,he=P.pop()),he=O.symbols_[he]||he),he}o(ce,"lex");for(var te,De,oe,ke,Fe,Be,Ve={},Ge,He,xe,X;;){if(oe=N[N.length-1],this.defaultActions[oe]?ke=this.defaultActions[oe]:((te===null||typeof te>"u")&&(te=ce()),ke=$[oe]&&$[oe][te]),typeof ke>"u"||!ke.length||!ke[0]){var fe="";X=[];for(Ge in $[oe])this.terminals_[Ge]&&Ge>ie&&X.push("'"+this.terminals_[Ge]+"'");J.showPosition?fe="Parse error on line "+(W+1)+`: `+J.showPosition()+` Expecting `+X.join(", ")+", got '"+(this.terminals_[te]||te)+"'":fe="Parse error on line "+(W+1)+": Unexpected "+(te==Q?"end of input":"'"+(this.terminals_[te]||te)+"'"),this.parseError(fe,{text:J.match,token:this.terminals_[te]||te,line:J.yylineno,loc:Z,expected:X})}if(ke[0]instanceof Array&&ke.length>1)throw new Error("Parse Error: multiple actions possible at state: "+oe+", token: "+te);switch(ke[0]){case 1:N.push(te),F.push(J.yytext),B.push(J.yylloc),N.push(ke[1]),te=null,De?(te=De,De=null):(j=J.yyleng,z=J.yytext,W=J.yylineno,Z=J.yylloc,K>0&&K--);break;case 2:if(He=this.productions_[ke[1]][1],Ve.$=F[F.length-He],Ve._$={first_line:B[B.length-(He||1)].first_line,last_line:B[B.length-1].last_line,first_column:B[B.length-(He||1)].first_column,last_column:B[B.length-1].last_column},ae&&(Ve._$.range=[B[B.length-(He||1)].range[0],B[B.length-1].range[1]]),Be=this.performAction.apply(Ve,[z,j,W,H.yy,ke[1],F,B].concat(ee)),typeof Be<"u")return Be;He&&(N=N.slice(0,-1*He*2),F=F.slice(0,-1*He),B=B.slice(0,-1*He)),N.push(this.productions_[ke[1]][0]),F.push(Ve.$),B.push(Ve._$),xe=$[N[N.length-2]][N[N.length-1]],N.push(xe);break;case 3:return!0}}return!0},"parse")},D=function(){var R={EOF:1,parseError:o(function(O,N){if(this.yy.parser)this.yy.parser.parseError(O,N);else throw new Error(O)},"parseError"),setInput:o(function(S,O){return this.yy=O||this.yy||{},this._input=S,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var S=this._input[0];this.yytext+=S,this.yyleng++,this.offset++,this.match+=S,this.matched+=S;var O=S.match(/(?:\r\n?|\n).*/g);return O?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),S},"input"),unput:o(function(S){var O=S.length,N=S.split(/(?:\r\n?|\n)/g);this._input=S+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var P=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),N.length-1&&(this.yylineno-=N.length-1);var F=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:N?(N.length===P.length?this.yylloc.first_column:0)+P[P.length-N.length].length-N[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[F[0],F[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(S){this.unput(this.match.slice(S))},"less"),pastInput:o(function(){var S=this.matched.substr(0,this.matched.length-this.match.length);return(S.length>20?"...":"")+S.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var S=this.match;return S.length<20&&(S+=this._input.substr(0,20-S.length)),(S.substr(0,20)+(S.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var S=this.pastInput(),O=new Array(S.length+1).join("-");return S+this.upcomingInput()+` `+O+"^"},"showPosition"),test_match:o(function(S,O){var N,P,F;if(this.options.backtrack_lexer&&(F={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(F.yylloc.range=this.yylloc.range.slice(0))),P=S[0].match(/(?:\r\n?|\n).*/g),P&&(this.yylineno+=P.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:P?P[P.length-1].length-P[P.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+S[0].length},this.yytext+=S[0],this.match+=S[0],this.matches=S,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(S[0].length),this.matched+=S[0],N=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),N)return N;if(this._backtrack){for(var B in F)this[B]=F[B];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var S,O,N,P;this._more||(this.yytext="",this.match="");for(var F=this._currentRules(),B=0;BO[0].length)){if(O=N,P=B,this.options.backtrack_lexer){if(S=this.test_match(N,F[B]),S!==!1)return S;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(S=this.test_match(O,F[P]),S!==!1?S:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var O=this.next();return O||this.lex()},"lex"),begin:o(function(O){this.conditionStack.push(O)},"begin"),popState:o(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:o(function(O){this.begin(O)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(O,N,P,F){var B=F;switch(P){case 0:return this.begin("open_directive"),"open_directive";break;case 1:return this.begin("acc_title"),31;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),33;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return R}();I.lexer=D;function k(){this.yy={}}return o(k,"Parser"),k.prototype=I,I.Parser=k,new k}();II.parser=II;Gue=II});var Vue=Ni((OI,PI)=>{"use strict";(function(t,e){typeof OI=="object"&&typeof PI<"u"?PI.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_isoWeek=e()})(OI,function(){"use strict";var t="day";return function(e,r,n){var i=o(function(l){return l.add(4-l.isoWeekday(),t)},"a"),a=r.prototype;a.isoWeekYear=function(){return i(this).year()},a.isoWeek=function(l){if(!this.$utils().u(l))return this.add(7*(l-this.isoWeek()),t);var u,h,f,d,p=i(this),m=(u=this.isoWeekYear(),h=this.$u,f=(h?n.utc:n)().year(u).startOf("year"),d=4-f.isoWeekday(),f.isoWeekday()>4&&(d+=7),f.add(d,t));return p.diff(m,"week")+1},a.isoWeekday=function(l){return this.$utils().u(l)?this.day()||7:this.day(this.day()%7?l:l-7)};var s=a.startOf;a.startOf=function(l,u){var h=this.$utils(),f=!!h.u(u)||u;return h.p(l)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(l,u)}}})});var Uue=Ni((BI,FI)=>{"use strict";(function(t,e){typeof BI=="object"&&typeof FI<"u"?FI.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_customParseFormat=e()})(BI,function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,n=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,s={},l=o(function(g){return(g=+g)+(g>68?1900:2e3)},"a"),u=o(function(g){return function(y){this[g]=+y}},"f"),h=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=function(y){if(!y||y==="Z")return 0;var v=y.match(/([+-]|\d\d)/g),x=60*v[1]+(+v[2]||0);return x===0?0:v[0]==="+"?-x:x}(g)}],f=o(function(g){var y=s[g];return y&&(y.indexOf?y:y.s.concat(y.f))},"u"),d=o(function(g,y){var v,x=s.meridiem;if(x){for(var b=1;b<=24;b+=1)if(g.indexOf(x(b,0,y))>-1){v=b>12;break}}else v=g===(y?"pm":"PM");return v},"d"),p={A:[a,function(g){this.afternoon=d(g,!1)}],a:[a,function(g){this.afternoon=d(g,!0)}],Q:[r,function(g){this.month=3*(g-1)+1}],S:[r,function(g){this.milliseconds=100*+g}],SS:[n,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[i,u("seconds")],ss:[i,u("seconds")],m:[i,u("minutes")],mm:[i,u("minutes")],H:[i,u("hours")],h:[i,u("hours")],HH:[i,u("hours")],hh:[i,u("hours")],D:[i,u("day")],DD:[n,u("day")],Do:[a,function(g){var y=s.ordinal,v=g.match(/\d+/);if(this.day=v[0],y)for(var x=1;x<=31;x+=1)y(x).replace(/\[|\]/g,"")===g&&(this.day=x)}],w:[i,u("week")],ww:[n,u("week")],M:[i,u("month")],MM:[n,u("month")],MMM:[a,function(g){var y=f("months"),v=(f("monthsShort")||y.map(function(x){return x.slice(0,3)})).indexOf(g)+1;if(v<1)throw new Error;this.month=v%12||v}],MMMM:[a,function(g){var y=f("months").indexOf(g)+1;if(y<1)throw new Error;this.month=y%12||y}],Y:[/[+-]?\d+/,u("year")],YY:[n,function(g){this.year=l(g)}],YYYY:[/\d{4}/,u("year")],Z:h,ZZ:h};function m(g){var y,v;y=g,v=s&&s.formats;for(var x=(g=y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(C,A,I){var D=I&&I.toUpperCase();return A||v[I]||t[I]||v[D].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(k,R,S){return R||S.slice(1)})})).match(e),b=x.length,w=0;w-1)return new Date((N==="X"?1e3:1)*O);var B=m(N)(O),$=B.year,z=B.month,W=B.day,j=B.hours,K=B.minutes,ie=B.seconds,Q=B.milliseconds,ee=B.zone,J=B.week,H=new Date,q=W||($||z?1:H.getDate()),Z=$||H.getFullYear(),ae=0;$&&!z||(ae=z>0?z-1:H.getMonth());var ue,ce=j||0,te=K||0,De=ie||0,oe=Q||0;return ee?new Date(Date.UTC(Z,ae,q,ce,te,De,oe+60*ee.offset*1e3)):P?new Date(Date.UTC(Z,ae,q,ce,te,De,oe)):(ue=new Date(Z,ae,q,ce,te,De,oe),J&&(ue=F(ue).week(J).toDate()),ue)}catch{return new Date("")}}(_,L,T,v),this.init(),D&&D!==!0&&(this.$L=this.locale(D).$L),I&&_!=this.format(L)&&(this.$d=new Date("")),s={}}else if(L instanceof Array)for(var k=L.length,R=1;R<=k;R+=1){E[1]=L[R-1];var S=v.apply(this,E);if(S.isValid()){this.$d=S.$d,this.$L=S.$L,this.init();break}R===k&&(this.$d=new Date(""))}else b.call(this,w)}}})});var Hue=Ni((zI,GI)=>{"use strict";(function(t,e){typeof zI=="object"&&typeof GI<"u"?GI.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_advancedFormat=e()})(zI,function(){"use strict";return function(t,e){var r=e.prototype,n=r.format;r.format=function(i){var a=this,s=this.$locale();if(!this.isValid())return n.bind(this)(i);var l=this.$utils(),u=(i||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(h){switch(h){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return s.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return s.ordinal(a.week(),"W");case"w":case"ww":return l.s(a.week(),h==="w"?1:2,"0");case"W":case"WW":return l.s(a.isoWeek(),h==="W"?1:2,"0");case"k":case"kk":return l.s(String(a.$H===0?24:a.$H),h==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return h}});return n.bind(this)(u)}}})});function she(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){let a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}var que,ho,Xue,jue,Kue,Wue,Bc,HI,WI,YI,ux,hx,qI,XI,oE,Mg,jI,Que,KI,fx,QI,ZI,lE,$I,T$e,k$e,E$e,S$e,C$e,A$e,_$e,L$e,D$e,N$e,R$e,M$e,I$e,O$e,P$e,B$e,F$e,z$e,G$e,$$e,V$e,U$e,H$e,Zue,W$e,Y$e,q$e,Jue,X$e,VI,ehe,the,aE,Rg,j$e,K$e,UI,sE,Vi,rhe,Q$e,w0,Z$e,Yue,J$e,nhe,eVe,ihe,tVe,rVe,ahe,ohe=M(()=>{"use strict";que=ka(Fp(),1),ho=ka(Ab(),1),Xue=ka(Vue(),1),jue=ka(Uue(),1),Kue=ka(Hue(),1);ht();Vt();hr();ki();ho.default.extend(Xue.default);ho.default.extend(jue.default);ho.default.extend(Kue.default);Wue={friday:5,saturday:6},Bc="",HI="",YI="",ux=[],hx=[],qI=new Map,XI=[],oE=[],Mg="",jI="",Que=["active","done","crit","milestone"],KI=[],fx=!1,QI=!1,ZI="sunday",lE="saturday",$I=0,T$e=o(function(){XI=[],oE=[],Mg="",KI=[],aE=0,UI=void 0,sE=void 0,Vi=[],Bc="",HI="",jI="",WI=void 0,YI="",ux=[],hx=[],fx=!1,QI=!1,$I=0,qI=new Map,_r(),ZI="sunday",lE="saturday"},"clear"),k$e=o(function(t){HI=t},"setAxisFormat"),E$e=o(function(){return HI},"getAxisFormat"),S$e=o(function(t){WI=t},"setTickInterval"),C$e=o(function(){return WI},"getTickInterval"),A$e=o(function(t){YI=t},"setTodayMarker"),_$e=o(function(){return YI},"getTodayMarker"),L$e=o(function(t){Bc=t},"setDateFormat"),D$e=o(function(){fx=!0},"enableInclusiveEndDates"),N$e=o(function(){return fx},"endDatesAreInclusive"),R$e=o(function(){QI=!0},"enableTopAxis"),M$e=o(function(){return QI},"topAxisEnabled"),I$e=o(function(t){jI=t},"setDisplayMode"),O$e=o(function(){return jI},"getDisplayMode"),P$e=o(function(){return Bc},"getDateFormat"),B$e=o(function(t){ux=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),F$e=o(function(){return ux},"getIncludes"),z$e=o(function(t){hx=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),G$e=o(function(){return hx},"getExcludes"),$$e=o(function(){return qI},"getLinks"),V$e=o(function(t){Mg=t,XI.push(t)},"addSection"),U$e=o(function(){return XI},"getSections"),H$e=o(function(){let t=Yue(),e=10,r=0;for(;!t&&r[\d\w- ]+)/.exec(r);if(i!==null){let s=null;for(let u of i.groups.ids.split(" ")){let h=w0(u);h!==void 0&&(!s||h.endTime>s.endTime)&&(s=h)}if(s)return s.endTime;let l=new Date;return l.setHours(0,0,0,0),l}let a=(0,ho.default)(r,e.trim(),!0);if(a.isValid())return a.toDate();{Y.debug("Invalid date:"+r),Y.debug("With date format:"+e.trim());let s=new Date(r);if(s===void 0||isNaN(s.getTime())||s.getFullYear()<-1e4||s.getFullYear()>1e4)throw new Error("Invalid date:"+r);return s}},"getStartDate"),ehe=o(function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),the=o(function(t,e,r,n=!1){r=r.trim();let a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let f=null;for(let p of a.groups.ids.split(" ")){let m=w0(p);m!==void 0&&(!f||m.startTime{window.open(r,"_self")}),qI.set(n,r))}),nhe(t,"clickable")},"setLink"),nhe=o(function(t,e){t.split(",").forEach(function(r){let n=w0(r);n!==void 0&&n.classes.push(e)})},"setClass"),eVe=o(function(t,e,r){if(de().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Ut.runFunc(e,...n)})},"setClickFun"),ihe=o(function(t,e){KI.push(function(){let r=document.querySelector(`[id="${t}"]`);r!==null&&r.addEventListener("click",function(){e()})},function(){let r=document.querySelector(`[id="${t}-text"]`);r!==null&&r.addEventListener("click",function(){e()})})},"pushFun"),tVe=o(function(t,e,r){t.split(",").forEach(function(n){eVe(n,e,r)}),nhe(t,"clickable")},"setClickEvent"),rVe=o(function(t){KI.forEach(function(e){e(t)})},"bindFunctions"),ahe={getConfig:o(()=>de().gantt,"getConfig"),clear:T$e,setDateFormat:L$e,getDateFormat:P$e,enableInclusiveEndDates:D$e,endDatesAreInclusive:N$e,enableTopAxis:R$e,topAxisEnabled:M$e,setAxisFormat:k$e,getAxisFormat:E$e,setTickInterval:S$e,getTickInterval:C$e,setTodayMarker:A$e,getTodayMarker:_$e,setAccTitle:Rr,getAccTitle:Pr,setDiagramTitle:ln,getDiagramTitle:Jr,setDisplayMode:I$e,getDisplayMode:O$e,setAccDescription:Br,getAccDescription:Fr,addSection:V$e,getSections:U$e,getTasks:H$e,addTask:Q$e,findTaskById:w0,addTaskOrg:Z$e,setIncludes:B$e,getIncludes:F$e,setExcludes:z$e,getExcludes:G$e,setClickEvent:tVe,setLink:J$e,getLinks:$$e,bindFunctions:rVe,parseDuration:ehe,isInvalidDate:Zue,setWeekday:W$e,getWeekday:Y$e,setWeekend:q$e};o(she,"getTaskTags")});var cE,nVe,lhe,iVe,Uu,aVe,che,uhe=M(()=>{"use strict";cE=ka(Ab(),1);ht();mr();fr();Vt();ni();nVe=o(function(){Y.debug("Something is calling, setConf, remove the call")},"setConf"),lhe={monday:Th,tuesday:b3,wednesday:w3,thursday:cc,friday:T3,saturday:k3,sunday:wl},iVe=o((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(let a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),aVe=o(function(t,e,r,n){let i=de().gantt,a=de().securityLevel,s;a==="sandbox"&&(s=ze("#i"+e));let l=a==="sandbox"?ze(s.nodes()[0].contentDocument.body):ze("body"),u=a==="sandbox"?s.nodes()[0].contentDocument:document,h=u.getElementById(e);Uu=h.parentElement.offsetWidth,Uu===void 0&&(Uu=1200),i.useWidth!==void 0&&(Uu=i.useWidth);let f=n.db.getTasks(),d=[];for(let C of f)d.push(C.type);d=L(d);let p={},m=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){let C={};for(let I of f)C[I.section]===void 0?C[I.section]=[I]:C[I.section].push(I);let A=0;for(let I of Object.keys(C)){let D=iVe(C[I],A)+1;A+=D,m+=D*(i.barHeight+i.barGap),p[I]=D}}else{m+=f.length*(i.barHeight+i.barGap);for(let C of d)p[C]=f.filter(A=>A.type===C).length}h.setAttribute("viewBox","0 0 "+Uu+" "+m);let g=l.select(`[id="${e}"]`),y=C3().domain([N4(f,function(C){return C.startTime}),D4(f,function(C){return C.endTime})]).rangeRound([0,Uu-i.leftPadding-i.rightPadding]);function v(C,A){let I=C.startTime,D=A.startTime,k=0;return I>D?k=1:I$.order))].map($=>C.find(z=>z.order===$));g.append("g").selectAll("rect").data(N).enter().append("rect").attr("x",0).attr("y",function($,z){return z=$.order,z*A+I-2}).attr("width",function(){return S-i.rightPadding/2}).attr("height",A).attr("class",function($){for(let[z,W]of d.entries())if($.type===W)return"section section"+z%i.numberSectionStyles;return"section section0"});let P=g.append("g").selectAll("rect").data(C).enter(),F=n.db.getLinks();if(P.append("rect").attr("id",function($){return $.id}).attr("rx",3).attr("ry",3).attr("x",function($){return $.milestone?y($.startTime)+D+.5*(y($.endTime)-y($.startTime))-.5*k:y($.startTime)+D}).attr("y",function($,z){return z=$.order,z*A+I}).attr("width",function($){return $.milestone?k:y($.renderEndTime||$.endTime)-y($.startTime)}).attr("height",k).attr("transform-origin",function($,z){return z=$.order,(y($.startTime)+D+.5*(y($.endTime)-y($.startTime))).toString()+"px "+(z*A+I+.5*k).toString()+"px"}).attr("class",function($){let z="task",W="";$.classes.length>0&&(W=$.classes.join(" "));let j=0;for(let[ie,Q]of d.entries())$.type===Q&&(j=ie%i.numberSectionStyles);let K="";return $.active?$.crit?K+=" activeCrit":K=" active":$.done?$.crit?K=" doneCrit":K=" done":$.crit&&(K+=" crit"),K.length===0&&(K=" task"),$.milestone&&(K=" milestone "+K),K+=j,K+=" "+W,z+K}),P.append("text").attr("id",function($){return $.id+"-text"}).text(function($){return $.task}).attr("font-size",i.fontSize).attr("x",function($){let z=y($.startTime),W=y($.renderEndTime||$.endTime);$.milestone&&(z+=.5*(y($.endTime)-y($.startTime))-.5*k),$.milestone&&(W=z+k);let j=this.getBBox().width;return j>W-z?W+j+1.5*i.leftPadding>S?z+D-5:W+D+5:(W-z)/2+z+D}).attr("y",function($,z){return z=$.order,z*A+i.barHeight/2+(i.fontSize/2-2)+I}).attr("text-height",k).attr("class",function($){let z=y($.startTime),W=y($.endTime);$.milestone&&(W=z+k);let j=this.getBBox().width,K="";$.classes.length>0&&(K=$.classes.join(" "));let ie=0;for(let[ee,J]of d.entries())$.type===J&&(ie=ee%i.numberSectionStyles);let Q="";return $.active&&($.crit?Q="activeCritText"+ie:Q="activeText"+ie),$.done?$.crit?Q=Q+" doneCritText"+ie:Q=Q+" doneText"+ie:$.crit&&(Q=Q+" critText"+ie),$.milestone&&(Q+=" milestoneText"),j>W-z?W+j+1.5*i.leftPadding>S?K+" taskTextOutsideLeft taskTextOutside"+ie+" "+Q:K+" taskTextOutsideRight taskTextOutside"+ie+" "+Q+" width-"+j:K+" taskText taskText"+ie+" "+Q+" width-"+j}),de().securityLevel==="sandbox"){let $;$=ze("#i"+e);let z=$.nodes()[0].contentDocument;P.filter(function(W){return F.has(W.id)}).each(function(W){var j=z.querySelector("#"+W.id),K=z.querySelector("#"+W.id+"-text");let ie=j.parentNode;var Q=z.createElement("a");Q.setAttribute("xlink:href",F.get(W.id)),Q.setAttribute("target","_top"),ie.appendChild(Q),Q.appendChild(j),Q.appendChild(K)})}}o(b,"drawRects");function w(C,A,I,D,k,R,S,O){if(S.length===0&&O.length===0)return;let N,P;for(let{startTime:j,endTime:K}of R)(N===void 0||jP)&&(P=K);if(!N||!P)return;if((0,cE.default)(P).diff((0,cE.default)(N),"year")>5){Y.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}let F=n.db.getDateFormat(),B=[],$=null,z=(0,cE.default)(N);for(;z.valueOf()<=P;)n.db.isInvalidDate(z,F,S,O)?$?$.end=z:$={start:z,end:z}:$&&(B.push($),$=null),z=z.add(1,"d");g.append("g").selectAll("rect").data(B).enter().append("rect").attr("id",function(j){return"exclude-"+j.start.format("YYYY-MM-DD")}).attr("x",function(j){return y(j.start)+I}).attr("y",i.gridLineStartPadding).attr("width",function(j){let K=j.end.add(1,"day");return y(K)-y(j.start)}).attr("height",k-A-i.gridLineStartPadding).attr("transform-origin",function(j,K){return(y(j.start)+I+.5*(y(j.end)-y(j.start))).toString()+"px "+(K*C+.5*k).toString()+"px"}).attr("class","exclude-range")}o(w,"drawExcludeDays");function _(C,A,I,D){let k=v7(y).tickSize(-D+A+i.gridLineStartPadding).tickFormat(dd(n.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d")),S=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(S!==null){let O=S[1],N=S[2],P=n.db.getWeekday()||i.weekday;switch(N){case"millisecond":k.ticks(oc.every(O));break;case"second":k.ticks(Xs.every(O));break;case"minute":k.ticks(mu.every(O));break;case"hour":k.ticks(gu.every(O));break;case"day":k.ticks(Lo.every(O));break;case"week":k.ticks(lhe[P].every(O));break;case"month":k.ticks(yu.every(O));break}}if(g.append("g").attr("class","grid").attr("transform","translate("+C+", "+(D-50)+")").call(k).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let O=y7(y).tickSize(-D+A+i.gridLineStartPadding).tickFormat(dd(n.db.getAxisFormat()||i.axisFormat||"%Y-%m-%d"));if(S!==null){let N=S[1],P=S[2],F=n.db.getWeekday()||i.weekday;switch(P){case"millisecond":O.ticks(oc.every(N));break;case"second":O.ticks(Xs.every(N));break;case"minute":O.ticks(mu.every(N));break;case"hour":O.ticks(gu.every(N));break;case"day":O.ticks(Lo.every(N));break;case"week":O.ticks(lhe[F].every(N));break;case"month":O.ticks(yu.every(N));break}}g.append("g").attr("class","grid").attr("transform","translate("+C+", "+A+")").call(O).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}o(_,"makeGrid");function T(C,A){let I=0,D=Object.keys(p).map(k=>[k,p[k]]);g.append("g").selectAll("text").data(D).enter().append(function(k){let R=k[0].split(je.lineBreakRegex),S=-(R.length-1)/2,O=u.createElementNS("http://www.w3.org/2000/svg","text");O.setAttribute("dy",S+"em");for(let[N,P]of R.entries()){let F=u.createElementNS("http://www.w3.org/2000/svg","tspan");F.setAttribute("alignment-baseline","central"),F.setAttribute("x","10"),N>0&&F.setAttribute("dy","1em"),F.textContent=P,O.appendChild(F)}return O}).attr("x",10).attr("y",function(k,R){if(R>0)for(let S=0;S{"use strict";sVe=o(t=>` .mermaid-main-font { font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); } .exclude-range { fill: ${t.excludeBkgColor}; } .section { stroke: none; opacity: 0.2; } .section0 { fill: ${t.sectionBkgColor}; } .section2 { fill: ${t.sectionBkgColor2}; } .section1, .section3 { fill: ${t.altSectionBkgColor}; opacity: 0.2; } .sectionTitle0 { fill: ${t.titleColor}; } .sectionTitle1 { fill: ${t.titleColor}; } .sectionTitle2 { fill: ${t.titleColor}; } .sectionTitle3 { fill: ${t.titleColor}; } .sectionTitle { text-anchor: start; font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); } /* Grid and axis */ .grid .tick { stroke: ${t.gridColor}; opacity: 0.8; shape-rendering: crispEdges; } .grid .tick text { font-family: ${t.fontFamily}; fill: ${t.textColor}; } .grid path { stroke-width: 0; } /* Today line */ .today { fill: none; stroke: ${t.todayLineColor}; stroke-width: 2px; } /* Task styling */ /* Default task */ .task { stroke-width: 2; } .taskText { text-anchor: middle; font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); } .taskTextOutsideRight { fill: ${t.taskTextDarkColor}; text-anchor: start; font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); } .taskTextOutsideLeft { fill: ${t.taskTextDarkColor}; text-anchor: end; } /* Special case clickable */ .task.clickable { cursor: pointer; } .taskText.clickable { cursor: pointer; fill: ${t.taskTextClickableColor} !important; font-weight: bold; } .taskTextOutsideLeft.clickable { cursor: pointer; fill: ${t.taskTextClickableColor} !important; font-weight: bold; } .taskTextOutsideRight.clickable { cursor: pointer; fill: ${t.taskTextClickableColor} !important; font-weight: bold; } /* Specific task settings for the sections*/ .taskText0, .taskText1, .taskText2, .taskText3 { fill: ${t.taskTextColor}; } .task0, .task1, .task2, .task3 { fill: ${t.taskBkgColor}; stroke: ${t.taskBorderColor}; } .taskTextOutside0, .taskTextOutside2 { fill: ${t.taskTextOutsideColor}; } .taskTextOutside1, .taskTextOutside3 { fill: ${t.taskTextOutsideColor}; } /* Active task */ .active0, .active1, .active2, .active3 { fill: ${t.activeTaskBkgColor}; stroke: ${t.activeTaskBorderColor}; } .activeText0, .activeText1, .activeText2, .activeText3 { fill: ${t.taskTextDarkColor} !important; } /* Completed task */ .done0, .done1, .done2, .done3 { stroke: ${t.doneTaskBorderColor}; fill: ${t.doneTaskBkgColor}; stroke-width: 2; } .doneText0, .doneText1, .doneText2, .doneText3 { fill: ${t.taskTextDarkColor} !important; } /* Tasks on the critical line */ .crit0, .crit1, .crit2, .crit3 { stroke: ${t.critBorderColor}; fill: ${t.critBkgColor}; stroke-width: 2; } .activeCrit0, .activeCrit1, .activeCrit2, .activeCrit3 { stroke: ${t.critBorderColor}; fill: ${t.activeTaskBkgColor}; stroke-width: 2; } .doneCrit0, .doneCrit1, .doneCrit2, .doneCrit3 { stroke: ${t.critBorderColor}; fill: ${t.doneTaskBkgColor}; stroke-width: 2; cursor: pointer; shape-rendering: crispEdges; } .milestone { transform: rotate(45deg) scale(0.8,0.8); } .milestoneText { font-style: italic; } .doneCritText0, .doneCritText1, .doneCritText2, .doneCritText3 { fill: ${t.taskTextDarkColor} !important; } .activeCritText0, .activeCritText1, .activeCritText2, .activeCritText3 { fill: ${t.taskTextDarkColor} !important; } .titleText { text-anchor: middle; font-size: 18px; fill: ${t.titleColor||t.textColor}; font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif); } `,"getStyles"),hhe=sVe});var dhe={};vr(dhe,{diagram:()=>oVe});var oVe,phe=M(()=>{"use strict";$ue();ohe();uhe();fhe();oVe={parser:Gue,db:ahe,renderer:che,styles:hhe}});var yhe,vhe=M(()=>{"use strict";Ng();ht();yhe={parse:o(async t=>{let e=await Gl("info",t);Y.debug(e)},"parse")}});var dx,JI=M(()=>{dx="11.4.1"});var fVe,dVe,xhe,bhe=M(()=>{"use strict";JI();fVe={version:dx},dVe=o(()=>fVe.version,"getVersion"),xhe={getVersion:dVe}});var Oa,Hu=M(()=>{"use strict";mr();Vt();Oa=o(t=>{let{securityLevel:e}=de(),r=ze("body");if(e==="sandbox"){let a=ze(`#i${t}`).node()?.contentDocument??document;r=ze(a.body)}return r.select(`#${t}`)},"selectSvgElement")});var pVe,whe,The=M(()=>{"use strict";ht();Hu();ni();pVe=o((t,e,r)=>{Y.debug(`rendering info diagram `+t);let n=Oa(e);Zr(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),whe={draw:pVe}});var khe={};vr(khe,{diagram:()=>mVe});var mVe,Ehe=M(()=>{"use strict";vhe();bhe();The();mVe={parser:yhe,db:xhe,renderer:whe}});var Ahe,eO,uE,tO,vVe,xVe,bVe,wVe,TVe,kVe,EVe,hE,rO=M(()=>{"use strict";ht();ki();hs();Ahe=ur.pie,eO={sections:new Map,showData:!1,config:Ahe},uE=eO.sections,tO=eO.showData,vVe=structuredClone(Ahe),xVe=o(()=>structuredClone(vVe),"getConfig"),bVe=o(()=>{uE=new Map,tO=eO.showData,_r()},"clear"),wVe=o(({label:t,value:e})=>{uE.has(t)||(uE.set(t,e),Y.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),TVe=o(()=>uE,"getSections"),kVe=o(t=>{tO=t},"setShowData"),EVe=o(()=>tO,"getShowData"),hE={getConfig:xVe,clear:bVe,setDiagramTitle:ln,getDiagramTitle:Jr,setAccTitle:Rr,getAccTitle:Pr,setAccDescription:Br,getAccDescription:Fr,addSection:wVe,getSections:TVe,setShowData:kVe,getShowData:EVe}});var SVe,_he,Lhe=M(()=>{"use strict";Ng();ht();ox();rO();SVe=o((t,e)=>{lf(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),_he={parse:o(async t=>{let e=await Gl("pie",t);Y.debug(e),SVe(e,hE)},"parse")}});var CVe,Dhe,Nhe=M(()=>{"use strict";CVe=o(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; opacity : ${t.pieOpacity}; } .pieOuterCircle{ stroke: ${t.pieOuterStrokeColor}; stroke-width: ${t.pieOuterStrokeWidth}; fill: none; } .pieTitleText { text-anchor: middle; font-size: ${t.pieTitleTextSize}; fill: ${t.pieTitleTextColor}; font-family: ${t.fontFamily}; } .slice { font-family: ${t.fontFamily}; fill: ${t.pieSectionTextColor}; font-size:${t.pieSectionTextSize}; // fill: white; } .legend text { fill: ${t.pieLegendTextColor}; font-family: ${t.fontFamily}; font-size: ${t.pieLegendTextSize}; } `,"getStyles"),Dhe=CVe});var AVe,_Ve,Rhe,Mhe=M(()=>{"use strict";mr();Vt();ht();Hu();ni();hr();AVe=o(t=>{let e=[...t.entries()].map(n=>({label:n[0],value:n[1]})).sort((n,i)=>i.value-n.value);return R3().value(n=>n.value)(e)},"createPieArcs"),_Ve=o((t,e,r,n)=>{Y.debug(`rendering pie chart `+t);let i=n.db,a=de(),s=ws(i.getConfig(),a.pie),l=40,u=18,h=4,f=450,d=f,p=Oa(e),m=p.append("g");m.attr("transform","translate("+d/2+","+f/2+")");let{themeVariables:g}=a,[y]=Fo(g.pieOuterStrokeWidth);y??=2;let v=s.textPosition,x=Math.min(d,f)/2-l,b=El().innerRadius(0).outerRadius(x),w=El().innerRadius(x*v).outerRadius(x*v);m.append("circle").attr("cx",0).attr("cy",0).attr("r",x+y/2).attr("class","pieOuterCircle");let _=i.getSections(),T=AVe(_),E=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],L=du(E);m.selectAll("mySlices").data(T).enter().append("path").attr("d",b).attr("fill",k=>L(k.data.label)).attr("class","pieCircle");let C=0;_.forEach(k=>{C+=k}),m.selectAll("mySlices").data(T).enter().append("text").text(k=>(k.data.value/C*100).toFixed(0)+"%").attr("transform",k=>"translate("+w.centroid(k)+")").style("text-anchor","middle").attr("class","slice"),m.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-(f-50)/2).attr("class","pieTitleText");let A=m.selectAll(".legend").data(L.domain()).enter().append("g").attr("class","legend").attr("transform",(k,R)=>{let S=u+h,O=S*L.domain().length/2,N=12*u,P=R*S-O;return"translate("+N+","+P+")"});A.append("rect").attr("width",u).attr("height",u).style("fill",L).style("stroke",L),A.data(T).append("text").attr("x",u+h).attr("y",u-h).text(k=>{let{label:R,value:S}=k.data;return i.getShowData()?`${R} [${S}]`:R});let I=Math.max(...A.selectAll("text").nodes().map(k=>k?.getBoundingClientRect().width??0)),D=d+l+u+h+I;p.attr("viewBox",`0 0 ${D} ${f}`),Zr(p,f,D,s.useMaxWidth)},"draw"),Rhe={draw:_Ve}});var Ihe={};vr(Ihe,{diagram:()=>LVe});var LVe,Ohe=M(()=>{"use strict";Lhe();rO();Nhe();Mhe();LVe={parser:_he,db:hE,renderer:Rhe,styles:Dhe}});var nO,Fhe,zhe=M(()=>{"use strict";nO=function(){var t=o(function(Te,se,Ee,Ae){for(Ee=Ee||{},Ae=Te.length;Ae--;Ee[Te[Ae]]=se);return Ee},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],u=[55,56,57],h=[2,36],f=[1,37],d=[1,36],p=[1,38],m=[1,35],g=[1,43],y=[1,41],v=[1,14],x=[1,23],b=[1,18],w=[1,19],_=[1,20],T=[1,21],E=[1,22],L=[1,24],C=[1,25],A=[1,26],I=[1,27],D=[1,28],k=[1,29],R=[1,32],S=[1,33],O=[1,34],N=[1,39],P=[1,40],F=[1,42],B=[1,44],$=[1,62],z=[1,61],W=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],j=[1,65],K=[1,66],ie=[1,67],Q=[1,68],ee=[1,69],J=[1,70],H=[1,71],q=[1,72],Z=[1,73],ae=[1,74],ue=[1,75],ce=[1,76],te=[4,5,6,7,8,9,10,11,12,13,14,15,18],De=[1,90],oe=[1,91],ke=[1,92],Fe=[1,99],Be=[1,93],Ve=[1,96],Ge=[1,94],He=[1,95],xe=[1,97],X=[1,98],fe=[1,102],he=[10,55,56,57],ge=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],ne={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(se,Ee,Ae,Pe,Me,me,We){var Re=me.length-1;switch(Me){case 23:this.$=me[Re];break;case 24:this.$=me[Re-1]+""+me[Re];break;case 26:this.$=me[Re-1]+me[Re];break;case 27:this.$=[me[Re].trim()];break;case 28:me[Re-2].push(me[Re].trim()),this.$=me[Re-2];break;case 29:this.$=me[Re-4],Pe.addClass(me[Re-2],me[Re]);break;case 37:this.$=[];break;case 42:this.$=me[Re].trim(),Pe.setDiagramTitle(this.$);break;case 43:this.$=me[Re].trim(),Pe.setAccTitle(this.$);break;case 44:case 45:this.$=me[Re].trim(),Pe.setAccDescription(this.$);break;case 46:Pe.addSection(me[Re].substr(8)),this.$=me[Re].substr(8);break;case 47:Pe.addPoint(me[Re-3],"",me[Re-1],me[Re],[]);break;case 48:Pe.addPoint(me[Re-4],me[Re-3],me[Re-1],me[Re],[]);break;case 49:Pe.addPoint(me[Re-4],"",me[Re-2],me[Re-1],me[Re]);break;case 50:Pe.addPoint(me[Re-5],me[Re-4],me[Re-2],me[Re-1],me[Re]);break;case 51:Pe.setXAxisLeftText(me[Re-2]),Pe.setXAxisRightText(me[Re]);break;case 52:me[Re-1].text+=" \u27F6 ",Pe.setXAxisLeftText(me[Re-1]);break;case 53:Pe.setXAxisLeftText(me[Re]);break;case 54:Pe.setYAxisBottomText(me[Re-2]),Pe.setYAxisTopText(me[Re]);break;case 55:me[Re-1].text+=" \u27F6 ",Pe.setYAxisBottomText(me[Re-1]);break;case 56:Pe.setYAxisBottomText(me[Re]);break;case 57:Pe.setQuadrant1Text(me[Re]);break;case 58:Pe.setQuadrant2Text(me[Re]);break;case 59:Pe.setQuadrant3Text(me[Re]);break;case 60:Pe.setQuadrant4Text(me[Re]);break;case 64:this.$={text:me[Re],type:"text"};break;case 65:this.$={text:me[Re-1].text+""+me[Re],type:me[Re-1].type};break;case 66:this.$={text:me[Re],type:"text"};break;case 67:this.$={text:me[Re],type:"markdown"};break;case 68:this.$=me[Re];break;case 69:this.$=me[Re-1]+""+me[Re];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(u,h,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:w,39:_,41:T,42:E,48:L,50:C,51:A,52:I,53:D,54:k,60:R,61:S,63:O,64:N,65:P,66:F,67:B}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(u,[2,37]),t(u,h,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:w,39:_,41:T,42:E,48:L,50:C,51:A,52:I,53:D,54:k,60:R,61:S,63:O,64:N,65:P,66:F,67:B}),t(u,[2,39]),t(u,[2,40]),t(u,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(u,[2,45]),t(u,[2,46]),{18:[1,50]},{4:f,5:d,10:p,12:m,13:g,14:y,43:51,58:31,60:R,61:S,63:O,64:N,65:P,66:F,67:B},{4:f,5:d,10:p,12:m,13:g,14:y,43:52,58:31,60:R,61:S,63:O,64:N,65:P,66:F,67:B},{4:f,5:d,10:p,12:m,13:g,14:y,43:53,58:31,60:R,61:S,63:O,64:N,65:P,66:F,67:B},{4:f,5:d,10:p,12:m,13:g,14:y,43:54,58:31,60:R,61:S,63:O,64:N,65:P,66:F,67:B},{4:f,5:d,10:p,12:m,13:g,14:y,43:55,58:31,60:R,61:S,63:O,64:N,65:P,66:F,67:B},{4:f,5:d,10:p,12:m,13:g,14:y,43:56,58:31,60:R,61:S,63:O,64:N,65:P,66:F,67:B},{4:f,5:d,8:$,10:p,12:m,13:g,14:y,18:z,44:[1,57],47:[1,58],58:60,59:59,63:O,64:N,65:P,66:F,67:B},t(W,[2,64]),t(W,[2,66]),t(W,[2,67]),t(W,[2,70]),t(W,[2,71]),t(W,[2,72]),t(W,[2,73]),t(W,[2,74]),t(W,[2,75]),t(W,[2,76]),t(W,[2,77]),t(W,[2,78]),t(W,[2,79]),t(W,[2,80]),t(s,[2,35]),t(u,[2,38]),t(u,[2,42]),t(u,[2,43]),t(u,[2,44]),{3:64,4:j,5:K,6:ie,7:Q,8:ee,9:J,10:H,11:q,12:Z,13:ae,14:ue,15:ce,21:63},t(u,[2,53],{59:59,58:60,4:f,5:d,8:$,10:p,12:m,13:g,14:y,18:z,49:[1,77],63:O,64:N,65:P,66:F,67:B}),t(u,[2,56],{59:59,58:60,4:f,5:d,8:$,10:p,12:m,13:g,14:y,18:z,49:[1,78],63:O,64:N,65:P,66:F,67:B}),t(u,[2,57],{59:59,58:60,4:f,5:d,8:$,10:p,12:m,13:g,14:y,18:z,63:O,64:N,65:P,66:F,67:B}),t(u,[2,58],{59:59,58:60,4:f,5:d,8:$,10:p,12:m,13:g,14:y,18:z,63:O,64:N,65:P,66:F,67:B}),t(u,[2,59],{59:59,58:60,4:f,5:d,8:$,10:p,12:m,13:g,14:y,18:z,63:O,64:N,65:P,66:F,67:B}),t(u,[2,60],{59:59,58:60,4:f,5:d,8:$,10:p,12:m,13:g,14:y,18:z,63:O,64:N,65:P,66:F,67:B}),{45:[1,79]},{44:[1,80]},t(W,[2,65]),t(W,[2,81]),t(W,[2,82]),t(W,[2,83]),{3:82,4:j,5:K,6:ie,7:Q,8:ee,9:J,10:H,11:q,12:Z,13:ae,14:ue,15:ce,18:[1,81]},t(te,[2,23]),t(te,[2,1]),t(te,[2,2]),t(te,[2,3]),t(te,[2,4]),t(te,[2,5]),t(te,[2,6]),t(te,[2,7]),t(te,[2,8]),t(te,[2,9]),t(te,[2,10]),t(te,[2,11]),t(te,[2,12]),t(u,[2,52],{58:31,43:83,4:f,5:d,10:p,12:m,13:g,14:y,60:R,61:S,63:O,64:N,65:P,66:F,67:B}),t(u,[2,55],{58:31,43:84,4:f,5:d,10:p,12:m,13:g,14:y,60:R,61:S,63:O,64:N,65:P,66:F,67:B}),{46:[1,85]},{45:[1,86]},{4:De,5:oe,6:ke,8:Fe,11:Be,13:Ve,16:89,17:Ge,18:He,19:xe,20:X,22:88,23:87},t(te,[2,24]),t(u,[2,51],{59:59,58:60,4:f,5:d,8:$,10:p,12:m,13:g,14:y,18:z,63:O,64:N,65:P,66:F,67:B}),t(u,[2,54],{59:59,58:60,4:f,5:d,8:$,10:p,12:m,13:g,14:y,18:z,63:O,64:N,65:P,66:F,67:B}),t(u,[2,47],{22:88,16:89,23:100,4:De,5:oe,6:ke,8:Fe,11:Be,13:Ve,17:Ge,18:He,19:xe,20:X}),{46:[1,101]},t(u,[2,29],{10:fe}),t(he,[2,27],{16:103,4:De,5:oe,6:ke,8:Fe,11:Be,13:Ve,17:Ge,18:He,19:xe,20:X}),t(ge,[2,25]),t(ge,[2,13]),t(ge,[2,14]),t(ge,[2,15]),t(ge,[2,16]),t(ge,[2,17]),t(ge,[2,18]),t(ge,[2,19]),t(ge,[2,20]),t(ge,[2,21]),t(ge,[2,22]),t(u,[2,49],{10:fe}),t(u,[2,48],{22:88,16:89,23:104,4:De,5:oe,6:ke,8:Fe,11:Be,13:Ve,17:Ge,18:He,19:xe,20:X}),{4:De,5:oe,6:ke,8:Fe,11:Be,13:Ve,16:89,17:Ge,18:He,19:xe,20:X,22:105},t(ge,[2,26]),t(u,[2,50],{10:fe}),t(he,[2,28],{16:103,4:De,5:oe,6:ke,8:Fe,11:Be,13:Ve,17:Ge,18:He,19:xe,20:X})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(se,Ee){if(Ee.recoverable)this.trace(se);else{var Ae=new Error(se);throw Ae.hash=Ee,Ae}},"parseError"),parse:o(function(se){var Ee=this,Ae=[0],Pe=[],Me=[null],me=[],We=this.table,Re="",tt=0,gt=0,Et=0,vt=2,Ye=1,Tt=me.slice.call(arguments,1),$e=Object.create(this.lexer),rt={yy:{}};for(var ft in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ft)&&(rt.yy[ft]=this.yy[ft]);$e.setInput(se,rt.yy),rt.yy.lexer=$e,rt.yy.parser=this,typeof $e.yylloc>"u"&&($e.yylloc={});var kt=$e.yylloc;me.push(kt);var er=$e.options&&$e.options.ranges;typeof rt.yy.parseError=="function"?this.parseError=rt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function dt(Se){Ae.length=Ae.length-2*Se,Me.length=Me.length-Se,me.length=me.length-Se}o(dt,"popStack");function Xe(){var Se;return Se=Pe.pop()||$e.lex()||Ye,typeof Se!="number"&&(Se instanceof Array&&(Pe=Se,Se=Pe.pop()),Se=Ee.symbols_[Se]||Se),Se}o(Xe,"lex");for(var ct,Lt,Rt,zt,Xn,or,hn={},Tn,Ur,ri,Mn;;){if(Rt=Ae[Ae.length-1],this.defaultActions[Rt]?zt=this.defaultActions[Rt]:((ct===null||typeof ct>"u")&&(ct=Xe()),zt=We[Rt]&&We[Rt][ct]),typeof zt>"u"||!zt.length||!zt[0]){var yt="";Mn=[];for(Tn in We[Rt])this.terminals_[Tn]&&Tn>vt&&Mn.push("'"+this.terminals_[Tn]+"'");$e.showPosition?yt="Parse error on line "+(tt+1)+`: `+$e.showPosition()+` Expecting `+Mn.join(", ")+", got '"+(this.terminals_[ct]||ct)+"'":yt="Parse error on line "+(tt+1)+": Unexpected "+(ct==Ye?"end of input":"'"+(this.terminals_[ct]||ct)+"'"),this.parseError(yt,{text:$e.match,token:this.terminals_[ct]||ct,line:$e.yylineno,loc:kt,expected:Mn})}if(zt[0]instanceof Array&&zt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Rt+", token: "+ct);switch(zt[0]){case 1:Ae.push(ct),Me.push($e.yytext),me.push($e.yylloc),Ae.push(zt[1]),ct=null,Lt?(ct=Lt,Lt=null):(gt=$e.yyleng,Re=$e.yytext,tt=$e.yylineno,kt=$e.yylloc,Et>0&&Et--);break;case 2:if(Ur=this.productions_[zt[1]][1],hn.$=Me[Me.length-Ur],hn._$={first_line:me[me.length-(Ur||1)].first_line,last_line:me[me.length-1].last_line,first_column:me[me.length-(Ur||1)].first_column,last_column:me[me.length-1].last_column},er&&(hn._$.range=[me[me.length-(Ur||1)].range[0],me[me.length-1].range[1]]),or=this.performAction.apply(hn,[Re,gt,tt,rt.yy,zt[1],Me,me].concat(Tt)),typeof or<"u")return or;Ur&&(Ae=Ae.slice(0,-1*Ur*2),Me=Me.slice(0,-1*Ur),me=me.slice(0,-1*Ur)),Ae.push(this.productions_[zt[1]][0]),Me.push(hn.$),me.push(hn._$),ri=We[Ae[Ae.length-2]][Ae[Ae.length-1]],Ae.push(ri);break;case 3:return!0}}return!0},"parse")},ye=function(){var Te={EOF:1,parseError:o(function(Ee,Ae){if(this.yy.parser)this.yy.parser.parseError(Ee,Ae);else throw new Error(Ee)},"parseError"),setInput:o(function(se,Ee){return this.yy=Ee||this.yy||{},this._input=se,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var se=this._input[0];this.yytext+=se,this.yyleng++,this.offset++,this.match+=se,this.matched+=se;var Ee=se.match(/(?:\r\n?|\n).*/g);return Ee?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),se},"input"),unput:o(function(se){var Ee=se.length,Ae=se.split(/(?:\r\n?|\n)/g);this._input=se+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ee),this.offset-=Ee;var Pe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Ae.length-1&&(this.yylineno-=Ae.length-1);var Me=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Ae?(Ae.length===Pe.length?this.yylloc.first_column:0)+Pe[Pe.length-Ae.length].length-Ae[0].length:this.yylloc.first_column-Ee},this.options.ranges&&(this.yylloc.range=[Me[0],Me[0]+this.yyleng-Ee]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(se){this.unput(this.match.slice(se))},"less"),pastInput:o(function(){var se=this.matched.substr(0,this.matched.length-this.match.length);return(se.length>20?"...":"")+se.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var se=this.match;return se.length<20&&(se+=this._input.substr(0,20-se.length)),(se.substr(0,20)+(se.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var se=this.pastInput(),Ee=new Array(se.length+1).join("-");return se+this.upcomingInput()+` `+Ee+"^"},"showPosition"),test_match:o(function(se,Ee){var Ae,Pe,Me;if(this.options.backtrack_lexer&&(Me={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Me.yylloc.range=this.yylloc.range.slice(0))),Pe=se[0].match(/(?:\r\n?|\n).*/g),Pe&&(this.yylineno+=Pe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Pe?Pe[Pe.length-1].length-Pe[Pe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+se[0].length},this.yytext+=se[0],this.match+=se[0],this.matches=se,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(se[0].length),this.matched+=se[0],Ae=this.performAction.call(this,this.yy,this,Ee,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ae)return Ae;if(this._backtrack){for(var me in Me)this[me]=Me[me];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var se,Ee,Ae,Pe;this._more||(this.yytext="",this.match="");for(var Me=this._currentRules(),me=0;meEe[0].length)){if(Ee=Ae,Pe=me,this.options.backtrack_lexer){if(se=this.test_match(Ae,Me[me]),se!==!1)return se;if(this._backtrack){Ee=!1;continue}else return!1}else if(!this.options.flex)break}return Ee?(se=this.test_match(Ee,Me[Pe]),se!==!1?se:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Ee=this.next();return Ee||this.lex()},"lex"),begin:o(function(Ee){this.conditionStack.push(Ee)},"begin"),popState:o(function(){var Ee=this.conditionStack.length-1;return Ee>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Ee){return Ee=this.conditionStack.length-1-Math.abs(Ee||0),Ee>=0?this.conditionStack[Ee]:"INITIAL"},"topState"),pushState:o(function(Ee){this.begin(Ee)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(Ee,Ae,Pe,Me){var me=Me;switch(Pe){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return Te}();ne.lexer=ye;function U(){this.yy={}}return o(U,"Parser"),U.prototype=ne,ne.Parser=U,new U}();nO.parser=nO;Fhe=nO});var os,fE,Ghe=M(()=>{"use strict";mr();hs();ht();Ub();os=sp(),fE=class{constructor(){this.classes=new Map;this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{o(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:ur.quadrantChart?.chartWidth||500,chartWidth:ur.quadrantChart?.chartHeight||500,titlePadding:ur.quadrantChart?.titlePadding||10,titleFontSize:ur.quadrantChart?.titleFontSize||20,quadrantPadding:ur.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:ur.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:ur.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:ur.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:ur.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:ur.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:ur.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:ur.quadrantChart?.pointTextPadding||5,pointLabelFontSize:ur.quadrantChart?.pointLabelFontSize||12,pointRadius:ur.quadrantChart?.pointRadius||5,xAxisPosition:ur.quadrantChart?.xAxisPosition||"top",yAxisPosition:ur.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:ur.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:ur.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:os.quadrant1Fill,quadrant2Fill:os.quadrant2Fill,quadrant3Fill:os.quadrant3Fill,quadrant4Fill:os.quadrant4Fill,quadrant1TextFill:os.quadrant1TextFill,quadrant2TextFill:os.quadrant2TextFill,quadrant3TextFill:os.quadrant3TextFill,quadrant4TextFill:os.quadrant4TextFill,quadrantPointFill:os.quadrantPointFill,quadrantPointTextFill:os.quadrantPointTextFill,quadrantXAxisTextFill:os.quadrantXAxisTextFill,quadrantYAxisTextFill:os.quadrantYAxisTextFill,quadrantTitleFill:os.quadrantTitleFill,quadrantInternalBorderStrokeFill:os.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:os.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,Y.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){Y.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){Y.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){let a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},l=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,u={left:this.config.yAxisPosition==="left"&&n?l:0,right:this.config.yAxisPosition==="right"&&n?l:0},h=this.config.titleFontSize+this.config.titlePadding*2,f={top:i?h:0},d=this.config.quadrantPadding+u.left,p=this.config.quadrantPadding+s.top+f.top,m=this.config.chartWidth-this.config.quadrantPadding*2-u.left-u.right,g=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-f.top,y=m/2,v=g/2;return{xAxisSpace:s,yAxisSpace:u,titleSpace:f,quadrantSpace:{quadrantLeft:d,quadrantTop:p,quadrantWidth:m,quadrantHalfWidth:y,quadrantHeight:g,quadrantHalfHeight:v}}}getAxisLabels(e,r,n,i){let{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:l,quadrantHeight:u,quadrantLeft:h,quadrantHalfWidth:f,quadrantTop:d,quadrantWidth:p}=a,m=!!this.data.xAxisRightText,g=!!this.data.yAxisTopText,y=[];return this.data.xAxisLeftText&&r&&y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+f+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+u-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+l-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),y}getQuadrants(e){let{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,l=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(let u of l)u.text.x=u.x+u.width/2,this.data.points.length===0?(u.text.y=u.y+u.height/2,u.text.horizontalPos="middle"):(u.text.y=u.y+this.config.quadrantTextTopPadding,u.text.horizontalPos="top");return l}getQuadrantPoints(e){let{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,l=bl().domain([0,1]).range([i,s+i]),u=bl().domain([0,1]).range([n+a,a]);return this.data.points.map(f=>{let d=this.classes.get(f.className);return d&&(f={...d,...f}),{x:l(f.x),y:u(f.y),fill:f.color??this.themeConfig.quadrantPointFill,radius:f.radius??this.config.pointRadius,text:{text:f.text,fill:this.themeConfig.quadrantPointTextFill,x:l(f.x),y:u(f.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:f.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:f.strokeWidth??"0px"}})}getBorders(e){let r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:l,quadrantTop:u,quadrantWidth:h}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u,x2:s+h+r,y2:u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+h,y1:u+r,x2:s+h,y2:u+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u+a,x2:s+h+r,y2:u+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:u+r,x2:s,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+l,y1:u+r,x2:s+l,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:u+i,x2:s+h-r,y2:u+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}}});function iO(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function $he(t){return!/^\d+$/.test(t)}function Vhe(t){return!/^\d+px$/.test(t)}var T0,Uhe=M(()=>{"use strict";T0=class extends Error{static{o(this,"InvalidStyleError")}constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}};o(iO,"validateHexCode");o($he,"validateNumber");o(Vhe,"validateSizeInPixels")});function Wu(t){return Tr(t.trim(),RVe)}function MVe(t){ya.setData({quadrant1Text:Wu(t.text)})}function IVe(t){ya.setData({quadrant2Text:Wu(t.text)})}function OVe(t){ya.setData({quadrant3Text:Wu(t.text)})}function PVe(t){ya.setData({quadrant4Text:Wu(t.text)})}function BVe(t){ya.setData({xAxisLeftText:Wu(t.text)})}function FVe(t){ya.setData({xAxisRightText:Wu(t.text)})}function zVe(t){ya.setData({yAxisTopText:Wu(t.text)})}function GVe(t){ya.setData({yAxisBottomText:Wu(t.text)})}function aO(t){let e={};for(let r of t){let[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if($he(i))throw new T0(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(iO(i))throw new T0(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(iO(i))throw new T0(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(Vhe(i))throw new T0(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}function $Ve(t,e,r,n,i){let a=aO(i);ya.addPoints([{x:r,y:n,text:Wu(t.text),className:e,...a}])}function VVe(t,e){ya.addClass(t,aO(e))}function UVe(t){ya.setConfig({chartWidth:t})}function HVe(t){ya.setConfig({chartHeight:t})}function WVe(){let t=de(),{themeVariables:e,quadrantChart:r}=t;return r&&ya.setConfig(r),ya.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),ya.setData({titleText:Jr()}),ya.build()}var RVe,ya,YVe,Hhe,Whe=M(()=>{"use strict";Vt();fr();ki();Ghe();Uhe();RVe=de();o(Wu,"textSanitizer");ya=new fE;o(MVe,"setQuadrant1Text");o(IVe,"setQuadrant2Text");o(OVe,"setQuadrant3Text");o(PVe,"setQuadrant4Text");o(BVe,"setXAxisLeftText");o(FVe,"setXAxisRightText");o(zVe,"setYAxisTopText");o(GVe,"setYAxisBottomText");o(aO,"parseStyles");o($Ve,"addPoint");o(VVe,"addClass");o(UVe,"setWidth");o(HVe,"setHeight");o(WVe,"getQuadrantData");YVe=o(function(){ya.clear(),_r()},"clear"),Hhe={setWidth:UVe,setHeight:HVe,setQuadrant1Text:MVe,setQuadrant2Text:IVe,setQuadrant3Text:OVe,setQuadrant4Text:PVe,setXAxisLeftText:BVe,setXAxisRightText:FVe,setYAxisTopText:zVe,setYAxisBottomText:GVe,parseStyles:aO,addPoint:$Ve,addClass:VVe,getQuadrantData:WVe,clear:YVe,setAccTitle:Rr,getAccTitle:Pr,setDiagramTitle:ln,getDiagramTitle:Jr,getAccDescription:Fr,setAccDescription:Br}});var qVe,Yhe,qhe=M(()=>{"use strict";mr();Vt();ht();ni();qVe=o((t,e,r,n)=>{function i(C){return C==="top"?"hanging":"middle"}o(i,"getDominantBaseLine");function a(C){return C==="left"?"start":"middle"}o(a,"getTextAnchor");function s(C){return`translate(${C.x}, ${C.y}) rotate(${C.rotation||0})`}o(s,"getTransformation");let l=de();Y.debug(`Rendering quadrant chart `+t);let u=l.securityLevel,h;u==="sandbox"&&(h=ze("#i"+e));let d=(u==="sandbox"?ze(h.nodes()[0].contentDocument.body):ze("body")).select(`[id="${e}"]`),p=d.append("g").attr("class","main"),m=l.quadrantChart?.chartWidth??500,g=l.quadrantChart?.chartHeight??500;Zr(d,g,m,l.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+m+" "+g),n.db.setHeight(g),n.db.setWidth(m);let y=n.db.getQuadrantData(),v=p.append("g").attr("class","quadrants"),x=p.append("g").attr("class","border"),b=p.append("g").attr("class","data-points"),w=p.append("g").attr("class","labels"),_=p.append("g").attr("class","title");y.title&&_.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",i(y.title.horizontalPos)).attr("text-anchor",a(y.title.verticalPos)).attr("transform",s(y.title)).text(y.title.text),y.borderLines&&x.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",C=>C.x1).attr("y1",C=>C.y1).attr("x2",C=>C.x2).attr("y2",C=>C.y2).style("stroke",C=>C.strokeFill).style("stroke-width",C=>C.strokeWidth);let T=v.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");T.append("rect").attr("x",C=>C.x).attr("y",C=>C.y).attr("width",C=>C.width).attr("height",C=>C.height).attr("fill",C=>C.fill),T.append("text").attr("x",0).attr("y",0).attr("fill",C=>C.text.fill).attr("font-size",C=>C.text.fontSize).attr("dominant-baseline",C=>i(C.text.horizontalPos)).attr("text-anchor",C=>a(C.text.verticalPos)).attr("transform",C=>s(C.text)).text(C=>C.text.text),w.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(C=>C.text).attr("fill",C=>C.fill).attr("font-size",C=>C.fontSize).attr("dominant-baseline",C=>i(C.horizontalPos)).attr("text-anchor",C=>a(C.verticalPos)).attr("transform",C=>s(C));let L=b.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");L.append("circle").attr("cx",C=>C.x).attr("cy",C=>C.y).attr("r",C=>C.radius).attr("fill",C=>C.fill).attr("stroke",C=>C.strokeColor).attr("stroke-width",C=>C.strokeWidth),L.append("text").attr("x",0).attr("y",0).text(C=>C.text.text).attr("fill",C=>C.text.fill).attr("font-size",C=>C.text.fontSize).attr("dominant-baseline",C=>i(C.text.horizontalPos)).attr("text-anchor",C=>a(C.text.verticalPos)).attr("transform",C=>s(C.text))},"draw"),Yhe={draw:qVe}});var Xhe={};vr(Xhe,{diagram:()=>XVe});var XVe,jhe=M(()=>{"use strict";zhe();Whe();qhe();XVe={parser:Fhe,db:Hhe,renderer:Yhe,styles:o(()=>"","styles")}});var sO,Zhe,Jhe=M(()=>{"use strict";sO=function(){var t=o(function(O,N,P,F){for(P=P||{},F=O.length;F--;P[O[F]]=N);return P},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],u=[1,25],h=[1,26],f=[1,28],d=[1,29],p=[1,30],m=[1,31],g=[1,32],y=[1,33],v=[1,34],x=[1,35],b=[1,36],w=[1,37],_=[1,43],T=[1,42],E=[1,47],L=[1,50],C=[1,10,12,14,16,18,19,21,23,34,35,36],A=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],I=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],D=[1,64],k={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:o(function(N,P,F,B,$,z,W){var j=z.length-1;switch($){case 5:B.setOrientation(z[j]);break;case 9:B.setDiagramTitle(z[j].text.trim());break;case 12:B.setLineData({text:"",type:"text"},z[j]);break;case 13:B.setLineData(z[j-1],z[j]);break;case 14:B.setBarData({text:"",type:"text"},z[j]);break;case 15:B.setBarData(z[j-1],z[j]);break;case 16:this.$=z[j].trim(),B.setAccTitle(this.$);break;case 17:case 18:this.$=z[j].trim(),B.setAccDescription(this.$);break;case 19:this.$=z[j-1];break;case 20:this.$=[Number(z[j-2]),...z[j]];break;case 21:this.$=[Number(z[j])];break;case 22:B.setXAxisTitle(z[j]);break;case 23:B.setXAxisTitle(z[j-1]);break;case 24:B.setXAxisTitle({type:"text",text:""});break;case 25:B.setXAxisBand(z[j]);break;case 26:B.setXAxisRangeData(Number(z[j-2]),Number(z[j]));break;case 27:this.$=z[j-1];break;case 28:this.$=[z[j-2],...z[j]];break;case 29:this.$=[z[j]];break;case 30:B.setYAxisTitle(z[j]);break;case 31:B.setYAxisTitle(z[j-1]);break;case 32:B.setYAxisTitle({type:"text",text:""});break;case 33:B.setYAxisRangeData(Number(z[j-2]),Number(z[j]));break;case 37:this.$={text:z[j],type:"text"};break;case 38:this.$={text:z[j],type:"text"};break;case 39:this.$={text:z[j],type:"markdown"};break;case 40:this.$=z[j];break;case 41:this.$=z[j-1]+""+z[j];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(l,[2,34]),t(l,[2,35]),t(l,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(l,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},{11:39,13:38,24:_,27:T,29:40,30:41,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},{11:45,15:44,27:E,33:46,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},{11:49,17:48,24:L,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},{11:52,17:51,24:L,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},{20:[1,53]},{22:[1,54]},t(C,[2,18]),{1:[2,2]},t(C,[2,8]),t(C,[2,9]),t(A,[2,37],{40:55,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w}),t(A,[2,38]),t(A,[2,39]),t(I,[2,40]),t(I,[2,42]),t(I,[2,43]),t(I,[2,44]),t(I,[2,45]),t(I,[2,46]),t(I,[2,47]),t(I,[2,48]),t(I,[2,49]),t(I,[2,50]),t(I,[2,51]),t(C,[2,10]),t(C,[2,22],{30:41,29:56,24:_,27:T}),t(C,[2,24]),t(C,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},t(C,[2,11]),t(C,[2,30],{33:60,27:E}),t(C,[2,32]),{31:[1,61]},t(C,[2,12]),{17:62,24:L},{25:63,27:D},t(C,[2,14]),{17:65,24:L},t(C,[2,16]),t(C,[2,17]),t(I,[2,41]),t(C,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(C,[2,31]),{27:[1,69]},t(C,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(C,[2,15]),t(C,[2,26]),t(C,[2,27]),{11:59,32:72,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w},t(C,[2,33]),t(C,[2,19]),{25:73,27:D},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:o(function(N,P){if(P.recoverable)this.trace(N);else{var F=new Error(N);throw F.hash=P,F}},"parseError"),parse:o(function(N){var P=this,F=[0],B=[],$=[null],z=[],W=this.table,j="",K=0,ie=0,Q=0,ee=2,J=1,H=z.slice.call(arguments,1),q=Object.create(this.lexer),Z={yy:{}};for(var ae in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ae)&&(Z.yy[ae]=this.yy[ae]);q.setInput(N,Z.yy),Z.yy.lexer=q,Z.yy.parser=this,typeof q.yylloc>"u"&&(q.yylloc={});var ue=q.yylloc;z.push(ue);var ce=q.options&&q.options.ranges;typeof Z.yy.parseError=="function"?this.parseError=Z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function te(ne){F.length=F.length-2*ne,$.length=$.length-ne,z.length=z.length-ne}o(te,"popStack");function De(){var ne;return ne=B.pop()||q.lex()||J,typeof ne!="number"&&(ne instanceof Array&&(B=ne,ne=B.pop()),ne=P.symbols_[ne]||ne),ne}o(De,"lex");for(var oe,ke,Fe,Be,Ve,Ge,He={},xe,X,fe,he;;){if(Fe=F[F.length-1],this.defaultActions[Fe]?Be=this.defaultActions[Fe]:((oe===null||typeof oe>"u")&&(oe=De()),Be=W[Fe]&&W[Fe][oe]),typeof Be>"u"||!Be.length||!Be[0]){var ge="";he=[];for(xe in W[Fe])this.terminals_[xe]&&xe>ee&&he.push("'"+this.terminals_[xe]+"'");q.showPosition?ge="Parse error on line "+(K+1)+`: `+q.showPosition()+` Expecting `+he.join(", ")+", got '"+(this.terminals_[oe]||oe)+"'":ge="Parse error on line "+(K+1)+": Unexpected "+(oe==J?"end of input":"'"+(this.terminals_[oe]||oe)+"'"),this.parseError(ge,{text:q.match,token:this.terminals_[oe]||oe,line:q.yylineno,loc:ue,expected:he})}if(Be[0]instanceof Array&&Be.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Fe+", token: "+oe);switch(Be[0]){case 1:F.push(oe),$.push(q.yytext),z.push(q.yylloc),F.push(Be[1]),oe=null,ke?(oe=ke,ke=null):(ie=q.yyleng,j=q.yytext,K=q.yylineno,ue=q.yylloc,Q>0&&Q--);break;case 2:if(X=this.productions_[Be[1]][1],He.$=$[$.length-X],He._$={first_line:z[z.length-(X||1)].first_line,last_line:z[z.length-1].last_line,first_column:z[z.length-(X||1)].first_column,last_column:z[z.length-1].last_column},ce&&(He._$.range=[z[z.length-(X||1)].range[0],z[z.length-1].range[1]]),Ge=this.performAction.apply(He,[j,ie,K,Z.yy,Be[1],$,z].concat(H)),typeof Ge<"u")return Ge;X&&(F=F.slice(0,-1*X*2),$=$.slice(0,-1*X),z=z.slice(0,-1*X)),F.push(this.productions_[Be[1]][0]),$.push(He.$),z.push(He._$),fe=W[F[F.length-2]][F[F.length-1]],F.push(fe);break;case 3:return!0}}return!0},"parse")},R=function(){var O={EOF:1,parseError:o(function(P,F){if(this.yy.parser)this.yy.parser.parseError(P,F);else throw new Error(P)},"parseError"),setInput:o(function(N,P){return this.yy=P||this.yy||{},this._input=N,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var N=this._input[0];this.yytext+=N,this.yyleng++,this.offset++,this.match+=N,this.matched+=N;var P=N.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),N},"input"),unput:o(function(N){var P=N.length,F=N.split(/(?:\r\n?|\n)/g);this._input=N+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;var B=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),F.length-1&&(this.yylineno-=F.length-1);var $=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:F?(F.length===B.length?this.yylloc.first_column:0)+B[B.length-F.length].length-F[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[$[0],$[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(N){this.unput(this.match.slice(N))},"less"),pastInput:o(function(){var N=this.matched.substr(0,this.matched.length-this.match.length);return(N.length>20?"...":"")+N.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var N=this.match;return N.length<20&&(N+=this._input.substr(0,20-N.length)),(N.substr(0,20)+(N.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var N=this.pastInput(),P=new Array(N.length+1).join("-");return N+this.upcomingInput()+` `+P+"^"},"showPosition"),test_match:o(function(N,P){var F,B,$;if(this.options.backtrack_lexer&&($={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&($.yylloc.range=this.yylloc.range.slice(0))),B=N[0].match(/(?:\r\n?|\n).*/g),B&&(this.yylineno+=B.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:B?B[B.length-1].length-B[B.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+N[0].length},this.yytext+=N[0],this.match+=N[0],this.matches=N,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(N[0].length),this.matched+=N[0],F=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),F)return F;if(this._backtrack){for(var z in $)this[z]=$[z];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var N,P,F,B;this._more||(this.yytext="",this.match="");for(var $=this._currentRules(),z=0;z<$.length;z++)if(F=this._input.match(this.rules[$[z]]),F&&(!P||F[0].length>P[0].length)){if(P=F,B=z,this.options.backtrack_lexer){if(N=this.test_match(F,$[z]),N!==!1)return N;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(N=this.test_match(P,$[B]),N!==!1?N:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var P=this.next();return P||this.lex()},"lex"),begin:o(function(P){this.conditionStack.push(P)},"begin"),popState:o(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:o(function(P){this.begin(P)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(P,F,B,$){var z=$;switch(B){case 0:break;case 1:break;case 2:return this.popState(),34;break;case 3:return this.popState(),34;break;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";break;case 17:return this.pushState("axis_data"),"Y_AXIS";break;case 18:return this.pushState("axis_band_data"),24;break;case 19:return 31;case 20:return this.pushState("data"),16;break;case 21:return this.pushState("data"),18;break;case 22:return this.pushState("data_inner"),24;break;case 23:return 27;case 24:return this.popState(),26;break;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return O}();k.lexer=R;function S(){this.yy={}}return o(S,"Parser"),S.prototype=k,k.Parser=S,new S}();sO.parser=sO;Zhe=sO});function oO(t){return t.type==="bar"}function dE(t){return t.type==="band"}function Ig(t){return t.type==="linear"}var pE=M(()=>{"use strict";o(oO,"isBarPlot");o(dE,"isBandAxisData");o(Ig,"isLinearAxisData")});var Og,lO=M(()=>{"use strict";Dl();Og=class{constructor(e){this.parentGroup=e}static{o(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};let n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(let a of e){let s=gj(i,1,a),l=s?s.width:a.length*r,u=s?s.height:r;n.width=Math.max(n.width,l),n.height=Math.max(n.height,u)}return i.remove(),n}}});var Pg,cO=M(()=>{"use strict";Pg=class{constructor(e,r,n,i){this.axisConfig=e;this.title=r;this.textDimensionCalculator=n;this.axisThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0};this.axisPosition="left";this.showTitle=!1;this.showLabel=!1;this.showTick=!1;this.showAxisLine=!1;this.outerPadding=0;this.titleTextHeight=0;this.labelTextHeight=0;this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{o(this,"BaseAxis")}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){let e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.width;this.outerPadding=Math.min(n.width/2,i);let a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.height;this.outerPadding=Math.min(n.height/2,i);let a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}});var mE,efe=M(()=>{"use strict";mr();ht();cO();mE=class extends Pg{static{o(this,"BandAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=Lp().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=Lp().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Y.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}}});var gE,tfe=M(()=>{"use strict";mr();cO();gE=class extends Pg{static{o(this,"LinearAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=bl().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=bl().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}}});function uO(t,e,r,n){let i=new Og(n);return dE(t)?new mE(e,r,t.categories,t.title,i):new gE(e,r,[t.min,t.max],t.title,i)}var rfe=M(()=>{"use strict";pE();lO();efe();tfe();o(uO,"getAxis")});function nfe(t,e,r,n){let i=new Og(n);return new hO(i,t,e,r)}var hO,ife=M(()=>{"use strict";lO();hO=class{constructor(e,r,n,i){this.textDimensionCalculator=e;this.chartConfig=r;this.chartData=n;this.chartThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{o(this,"ChartTitle")}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){let r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}};o(nfe,"getChartTitleComponent")});var yE,afe=M(()=>{"use strict";mr();yE=class{constructor(e,r,n,i,a){this.plotData=e;this.xAxis=r;this.yAxis=n;this.orientation=i;this.plotIndex=a}static{o(this,"LinePlot")}getDrawableElement(){let e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]),r;return this.orientation==="horizontal"?r=Ka().y(n=>n[0]).x(n=>n[1])(e):r=Ka().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}});var vE,sfe=M(()=>{"use strict";vE=class{constructor(e,r,n,i,a,s){this.barData=e;this.boundingRect=r;this.xAxis=n;this.yAxis=i;this.orientation=a;this.plotIndex=s}static{o(this,"BarPlot")}getDrawableElement(){let e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}});function ofe(t,e,r){return new fO(t,e,r)}var fO,lfe=M(()=>{"use strict";afe();sfe();fO=class{constructor(e,r,n){this.chartConfig=e;this.chartData=r;this.chartThemeConfig=n;this.boundingRect={x:0,y:0,width:0,height:0}}static{o(this,"BasePlot")}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let e=[];for(let[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{let i=new yE(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{let i=new vE(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}};o(ofe,"getPlotComponent")});var xE,cfe=M(()=>{"use strict";rfe();ife();lfe();pE();xE=class{constructor(e,r,n,i){this.chartConfig=e;this.chartData=r;this.componentStore={title:nfe(e,r,n,i),plot:ofe(e,r,n),xAxis:uO(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:uO(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}static{o(this,"Orchestrator")}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:a,height:s});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("bottom"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=l.height,this.componentStore.yAxis.setAxisPosition("left"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=l.width,e-=l.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(u=>oO(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),l=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),u=this.componentStore.plot.calculateSpace({width:s,height:l});e-=u.width,r-=u.height,u=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=u.height,r-=u.height,this.componentStore.xAxis.setAxisPosition("left"),u=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=u.width,i=u.width,this.componentStore.yAxis.setAxisPosition("top"),u=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=u.height,a=n+u.height,e>0&&(s+=e,e=0),r>0&&(l+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:l}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+l]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(h=>oO(h))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}}});var bE,ufe=M(()=>{"use strict";cfe();bE=class{static{o(this,"XYChartBuilder")}static build(e,r,n,i){return new xE(e,r,n,i).getDrawableElement()}}});function ffe(){let t=sp(),e=Sr();return ws(t.xyChart,e.themeVariables.xyChart)}function dfe(){let t=Sr();return ws(ur.xyChart,t.xyChart)}function pfe(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function mO(t){let e=Sr();return Tr(t.trim(),e)}function ZVe(t){hfe=t}function JVe(t){t==="horizontal"?mx.chartOrientation="horizontal":mx.chartOrientation="vertical"}function eUe(t){un.xAxis.title=mO(t.text)}function mfe(t,e){un.xAxis={type:"linear",title:un.xAxis.title,min:t,max:e},wE=!0}function tUe(t){un.xAxis={type:"band",title:un.xAxis.title,categories:t.map(e=>mO(e.text))},wE=!0}function rUe(t){un.yAxis.title=mO(t.text)}function nUe(t,e){un.yAxis={type:"linear",title:un.yAxis.title,min:t,max:e},pO=!0}function iUe(t){let e=Math.min(...t),r=Math.max(...t),n=Ig(un.yAxis)?un.yAxis.min:1/0,i=Ig(un.yAxis)?un.yAxis.max:-1/0;un.yAxis={type:"linear",title:un.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}function gfe(t){let e=[];if(t.length===0)return e;if(!wE){let r=Ig(un.xAxis)?un.xAxis.min:1/0,n=Ig(un.xAxis)?un.xAxis.max:-1/0;mfe(Math.min(r,1),Math.max(n,t.length))}if(pO||iUe(t),dE(un.xAxis)&&(e=un.xAxis.categories.map((r,n)=>[r,t[n]])),Ig(un.xAxis)){let r=un.xAxis.min,n=un.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,l)=>[s,t[l]])}return e}function yfe(t){return dO[t===0?0:t%dO.length]}function aUe(t,e){let r=gfe(e);un.plots.push({type:"line",strokeFill:yfe(px),strokeWidth:2,data:r}),px++}function sUe(t,e){let r=gfe(e);un.plots.push({type:"bar",fill:yfe(px),data:r}),px++}function oUe(){if(un.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return un.title=Jr(),bE.build(mx,un,gx,hfe)}function lUe(){return gx}function cUe(){return mx}var px,hfe,mx,gx,un,dO,wE,pO,uUe,vfe,xfe=M(()=>{"use strict";Ua();hs();Ub();hr();fr();ki();ufe();pE();px=0,mx=dfe(),gx=ffe(),un=pfe(),dO=gx.plotColorPalette.split(",").map(t=>t.trim()),wE=!1,pO=!1;o(ffe,"getChartDefaultThemeConfig");o(dfe,"getChartDefaultConfig");o(pfe,"getChartDefaultData");o(mO,"textSanitizer");o(ZVe,"setTmpSVGG");o(JVe,"setOrientation");o(eUe,"setXAxisTitle");o(mfe,"setXAxisRangeData");o(tUe,"setXAxisBand");o(rUe,"setYAxisTitle");o(nUe,"setYAxisRangeData");o(iUe,"setYAxisRangeFromPlotData");o(gfe,"transformDataWithoutCategory");o(yfe,"getPlotColorFromPalette");o(aUe,"setLineData");o(sUe,"setBarData");o(oUe,"getDrawableElem");o(lUe,"getChartThemeConfig");o(cUe,"getChartConfig");uUe=o(function(){_r(),px=0,mx=dfe(),un=pfe(),gx=ffe(),dO=gx.plotColorPalette.split(",").map(t=>t.trim()),wE=!1,pO=!1},"clear"),vfe={getDrawableElem:oUe,clear:uUe,setAccTitle:Rr,getAccTitle:Pr,setDiagramTitle:ln,getDiagramTitle:Jr,getAccDescription:Fr,setAccDescription:Br,setOrientation:JVe,setXAxisTitle:eUe,setXAxisRangeData:mfe,setXAxisBand:tUe,setYAxisTitle:rUe,setYAxisRangeData:nUe,setLineData:aUe,setBarData:sUe,setTmpSVGG:ZVe,getChartThemeConfig:lUe,getChartConfig:cUe}});var hUe,bfe,wfe=M(()=>{"use strict";ht();Hu();ni();hUe=o((t,e,r,n)=>{let i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig();function l(v){return v==="top"?"text-before-edge":"middle"}o(l,"getDominantBaseLine");function u(v){return v==="left"?"start":v==="right"?"end":"middle"}o(u,"getTextAnchor");function h(v){return`translate(${v.x}, ${v.y}) rotate(${v.rotation||0})`}o(h,"getTextTransformation"),Y.debug(`Rendering xychart chart `+t);let f=Oa(e),d=f.append("g").attr("class","main"),p=d.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Zr(f,s.height,s.width,!0),f.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(f.append("g").attr("class","mermaid-tmp-group"));let m=i.getDrawableElem(),g={};function y(v){let x=d,b="";for(let[w]of v.entries()){let _=d;w>0&&g[b]&&(_=g[b]),b+=v[w],x=g[b],x||(x=g[b]=_.append("g").attr("class",v[w]))}return x}o(y,"getGroup");for(let v of m){if(v.data.length===0)continue;let x=y(v.groupTexts);switch(v.type){case"rect":x.selectAll("rect").data(v.data).enter().append("rect").attr("x",b=>b.x).attr("y",b=>b.y).attr("width",b=>b.width).attr("height",b=>b.height).attr("fill",b=>b.fill).attr("stroke",b=>b.strokeFill).attr("stroke-width",b=>b.strokeWidth);break;case"text":x.selectAll("text").data(v.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",b=>b.fill).attr("font-size",b=>b.fontSize).attr("dominant-baseline",b=>l(b.verticalPos)).attr("text-anchor",b=>u(b.horizontalPos)).attr("transform",b=>h(b)).text(b=>b.text);break;case"path":x.selectAll("path").data(v.data).enter().append("path").attr("d",b=>b.path).attr("fill",b=>b.fill?b.fill:"none").attr("stroke",b=>b.strokeFill).attr("stroke-width",b=>b.strokeWidth);break}}},"draw"),bfe={draw:hUe}});var Tfe={};vr(Tfe,{diagram:()=>fUe});var fUe,kfe=M(()=>{"use strict";Jhe();xfe();wfe();fUe={parser:Zhe,db:vfe,renderer:bfe}});var gO,Cfe,Afe=M(()=>{"use strict";gO=function(){var t=o(function(ie,Q,ee,J){for(ee=ee||{},J=ie.length;J--;ee[ie[J]]=Q);return ee},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],s=[1,18],l=[2,7],u=[1,22],h=[1,23],f=[1,24],d=[1,25],p=[1,26],m=[1,27],g=[1,20],y=[1,28],v=[1,29],x=[62,63],b=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],w=[1,47],_=[1,48],T=[1,49],E=[1,50],L=[1,51],C=[1,52],A=[1,53],I=[53,54],D=[1,64],k=[1,60],R=[1,61],S=[1,62],O=[1,63],N=[1,65],P=[1,69],F=[1,70],B=[1,67],$=[1,68],z=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],W={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:o(function(Q,ee,J,H,q,Z,ae){var ue=Z.length-1;switch(q){case 4:this.$=Z[ue].trim(),H.setAccTitle(this.$);break;case 5:case 6:this.$=Z[ue].trim(),H.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:H.addRequirement(Z[ue-3],Z[ue-4]);break;case 14:H.setNewReqId(Z[ue-2]);break;case 15:H.setNewReqText(Z[ue-2]);break;case 16:H.setNewReqRisk(Z[ue-2]);break;case 17:H.setNewReqVerifyMethod(Z[ue-2]);break;case 20:this.$=H.RequirementType.REQUIREMENT;break;case 21:this.$=H.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=H.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=H.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=H.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=H.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=H.RiskLevel.LOW_RISK;break;case 27:this.$=H.RiskLevel.MED_RISK;break;case 28:this.$=H.RiskLevel.HIGH_RISK;break;case 29:this.$=H.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=H.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=H.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=H.VerifyType.VERIFY_TEST;break;case 33:H.addElement(Z[ue-3]);break;case 34:H.setNewElementType(Z[ue-2]);break;case 35:H.setNewElementDocRef(Z[ue-2]);break;case 38:H.addRelationship(Z[ue-2],Z[ue],Z[ue-4]);break;case 39:H.addRelationship(Z[ue-2],Z[ue-4],Z[ue]);break;case 40:this.$=H.Relationships.CONTAINS;break;case 41:this.$=H.Relationships.COPIES;break;case 42:this.$=H.Relationships.DERIVES;break;case 43:this.$=H.Relationships.SATISFIES;break;case 44:this.$=H.Relationships.VERIFIES;break;case 45:this.$=H.Relationships.REFINES;break;case 46:this.$=H.Relationships.TRACES;break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:s,7:31,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:s,7:32,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:s,7:33,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:s,7:34,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{4:17,5:s,7:35,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:u,32:h,33:f,34:d,35:p,36:m,44:g,62:y,63:v},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},t(x,[2,20]),t(x,[2,21]),t(x,[2,22]),t(x,[2,23]),t(x,[2,24]),t(x,[2,25]),t(b,[2,49]),t(b,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:w,56:_,57:T,58:E,59:L,60:C,61:A},{52:54,55:w,56:_,57:T,58:E,59:L,60:C,61:A},{5:[1,55]},{5:[1,56]},{53:[1,57]},t(I,[2,40]),t(I,[2,41]),t(I,[2,42]),t(I,[2,43]),t(I,[2,44]),t(I,[2,45]),t(I,[2,46]),{54:[1,58]},{5:D,20:59,21:k,24:R,26:S,28:O,30:N},{5:P,30:F,46:66,47:B,49:$},{23:71,62:y,63:v},{23:72,62:y,63:v},t(z,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:D,20:77,21:k,24:R,26:S,28:O,30:N},t(z,[2,19]),t(z,[2,33]),{22:[1,78]},{22:[1,79]},{5:P,30:F,46:80,47:B,49:$},t(z,[2,37]),t(z,[2,38]),t(z,[2,39]),{23:81,62:y,63:v},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},t(z,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},t(z,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:D,20:106,21:k,24:R,26:S,28:O,30:N},{5:D,20:107,21:k,24:R,26:S,28:O,30:N},{5:D,20:108,21:k,24:R,26:S,28:O,30:N},{5:D,20:109,21:k,24:R,26:S,28:O,30:N},{5:P,30:F,46:110,47:B,49:$},{5:P,30:F,46:111,47:B,49:$},t(z,[2,14]),t(z,[2,15]),t(z,[2,16]),t(z,[2,17]),t(z,[2,34]),t(z,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:o(function(Q,ee){if(ee.recoverable)this.trace(Q);else{var J=new Error(Q);throw J.hash=ee,J}},"parseError"),parse:o(function(Q){var ee=this,J=[0],H=[],q=[null],Z=[],ae=this.table,ue="",ce=0,te=0,De=0,oe=2,ke=1,Fe=Z.slice.call(arguments,1),Be=Object.create(this.lexer),Ve={yy:{}};for(var Ge in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ge)&&(Ve.yy[Ge]=this.yy[Ge]);Be.setInput(Q,Ve.yy),Ve.yy.lexer=Be,Ve.yy.parser=this,typeof Be.yylloc>"u"&&(Be.yylloc={});var He=Be.yylloc;Z.push(He);var xe=Be.options&&Be.options.ranges;typeof Ve.yy.parseError=="function"?this.parseError=Ve.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(We){J.length=J.length-2*We,q.length=q.length-We,Z.length=Z.length-We}o(X,"popStack");function fe(){var We;return We=H.pop()||Be.lex()||ke,typeof We!="number"&&(We instanceof Array&&(H=We,We=H.pop()),We=ee.symbols_[We]||We),We}o(fe,"lex");for(var he,ge,ne,ye,U,Te,se={},Ee,Ae,Pe,Me;;){if(ne=J[J.length-1],this.defaultActions[ne]?ye=this.defaultActions[ne]:((he===null||typeof he>"u")&&(he=fe()),ye=ae[ne]&&ae[ne][he]),typeof ye>"u"||!ye.length||!ye[0]){var me="";Me=[];for(Ee in ae[ne])this.terminals_[Ee]&&Ee>oe&&Me.push("'"+this.terminals_[Ee]+"'");Be.showPosition?me="Parse error on line "+(ce+1)+`: `+Be.showPosition()+` Expecting `+Me.join(", ")+", got '"+(this.terminals_[he]||he)+"'":me="Parse error on line "+(ce+1)+": Unexpected "+(he==ke?"end of input":"'"+(this.terminals_[he]||he)+"'"),this.parseError(me,{text:Be.match,token:this.terminals_[he]||he,line:Be.yylineno,loc:He,expected:Me})}if(ye[0]instanceof Array&&ye.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ne+", token: "+he);switch(ye[0]){case 1:J.push(he),q.push(Be.yytext),Z.push(Be.yylloc),J.push(ye[1]),he=null,ge?(he=ge,ge=null):(te=Be.yyleng,ue=Be.yytext,ce=Be.yylineno,He=Be.yylloc,De>0&&De--);break;case 2:if(Ae=this.productions_[ye[1]][1],se.$=q[q.length-Ae],se._$={first_line:Z[Z.length-(Ae||1)].first_line,last_line:Z[Z.length-1].last_line,first_column:Z[Z.length-(Ae||1)].first_column,last_column:Z[Z.length-1].last_column},xe&&(se._$.range=[Z[Z.length-(Ae||1)].range[0],Z[Z.length-1].range[1]]),Te=this.performAction.apply(se,[ue,te,ce,Ve.yy,ye[1],q,Z].concat(Fe)),typeof Te<"u")return Te;Ae&&(J=J.slice(0,-1*Ae*2),q=q.slice(0,-1*Ae),Z=Z.slice(0,-1*Ae)),J.push(this.productions_[ye[1]][0]),q.push(se.$),Z.push(se._$),Pe=ae[J[J.length-2]][J[J.length-1]],J.push(Pe);break;case 3:return!0}}return!0},"parse")},j=function(){var ie={EOF:1,parseError:o(function(ee,J){if(this.yy.parser)this.yy.parser.parseError(ee,J);else throw new Error(ee)},"parseError"),setInput:o(function(Q,ee){return this.yy=ee||this.yy||{},this._input=Q,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Q=this._input[0];this.yytext+=Q,this.yyleng++,this.offset++,this.match+=Q,this.matched+=Q;var ee=Q.match(/(?:\r\n?|\n).*/g);return ee?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Q},"input"),unput:o(function(Q){var ee=Q.length,J=Q.split(/(?:\r\n?|\n)/g);this._input=Q+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ee),this.offset-=ee;var H=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),J.length-1&&(this.yylineno-=J.length-1);var q=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:J?(J.length===H.length?this.yylloc.first_column:0)+H[H.length-J.length].length-J[0].length:this.yylloc.first_column-ee},this.options.ranges&&(this.yylloc.range=[q[0],q[0]+this.yyleng-ee]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Q){this.unput(this.match.slice(Q))},"less"),pastInput:o(function(){var Q=this.matched.substr(0,this.matched.length-this.match.length);return(Q.length>20?"...":"")+Q.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Q=this.match;return Q.length<20&&(Q+=this._input.substr(0,20-Q.length)),(Q.substr(0,20)+(Q.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Q=this.pastInput(),ee=new Array(Q.length+1).join("-");return Q+this.upcomingInput()+` `+ee+"^"},"showPosition"),test_match:o(function(Q,ee){var J,H,q;if(this.options.backtrack_lexer&&(q={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(q.yylloc.range=this.yylloc.range.slice(0))),H=Q[0].match(/(?:\r\n?|\n).*/g),H&&(this.yylineno+=H.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:H?H[H.length-1].length-H[H.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Q[0].length},this.yytext+=Q[0],this.match+=Q[0],this.matches=Q,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Q[0].length),this.matched+=Q[0],J=this.performAction.call(this,this.yy,this,ee,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),J)return J;if(this._backtrack){for(var Z in q)this[Z]=q[Z];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Q,ee,J,H;this._more||(this.yytext="",this.match="");for(var q=this._currentRules(),Z=0;Zee[0].length)){if(ee=J,H=Z,this.options.backtrack_lexer){if(Q=this.test_match(J,q[Z]),Q!==!1)return Q;if(this._backtrack){ee=!1;continue}else return!1}else if(!this.options.flex)break}return ee?(Q=this.test_match(ee,q[H]),Q!==!1?Q:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var ee=this.next();return ee||this.lex()},"lex"),begin:o(function(ee){this.conditionStack.push(ee)},"begin"),popState:o(function(){var ee=this.conditionStack.length-1;return ee>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(ee){return ee=this.conditionStack.length-1-Math.abs(ee||0),ee>=0?this.conditionStack[ee]:"INITIAL"},"topState"),pushState:o(function(ee){this.begin(ee)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(ee,J,H,q){var Z=q;switch(H){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 48:this.popState();break;case 49:return"qString";case 50:return J.yytext=J.yytext.trim(),62;break}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};return ie}();W.lexer=j;function K(){this.yy={}}return o(K,"Parser"),K.prototype=W,W.Parser=K,new K}();gO.parser=gO;Cfe=gO});var yO,Fs,yx,df,vx,gUe,yUe,vUe,xUe,bUe,wUe,TUe,kUe,EUe,SUe,CUe,AUe,_Ue,LUe,DUe,NUe,RUe,_fe,Lfe=M(()=>{"use strict";Vt();ht();ki();yO=[],Fs={},yx=new Map,df={},vx=new Map,gUe={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},yUe={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},vUe={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},xUe={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},bUe=o((t,e)=>(yx.has(t)||yx.set(t,{name:t,type:e,id:Fs.id,text:Fs.text,risk:Fs.risk,verifyMethod:Fs.verifyMethod}),Fs={},yx.get(t)),"addRequirement"),wUe=o(()=>yx,"getRequirements"),TUe=o(t=>{Fs!==void 0&&(Fs.id=t)},"setNewReqId"),kUe=o(t=>{Fs!==void 0&&(Fs.text=t)},"setNewReqText"),EUe=o(t=>{Fs!==void 0&&(Fs.risk=t)},"setNewReqRisk"),SUe=o(t=>{Fs!==void 0&&(Fs.verifyMethod=t)},"setNewReqVerifyMethod"),CUe=o(t=>(vx.has(t)||(vx.set(t,{name:t,type:df.type,docRef:df.docRef}),Y.info("Added new requirement: ",t)),df={},vx.get(t)),"addElement"),AUe=o(()=>vx,"getElements"),_Ue=o(t=>{df!==void 0&&(df.type=t)},"setNewElementType"),LUe=o(t=>{df!==void 0&&(df.docRef=t)},"setNewElementDocRef"),DUe=o((t,e,r)=>{yO.push({type:t,src:e,dst:r})},"addRelationship"),NUe=o(()=>yO,"getRelationships"),RUe=o(()=>{yO=[],Fs={},yx=new Map,df={},vx=new Map,_r()},"clear"),_fe={RequirementType:gUe,RiskLevel:yUe,VerifyType:vUe,Relationships:xUe,getConfig:o(()=>de().req,"getConfig"),addRequirement:bUe,getRequirements:wUe,setNewReqId:TUe,setNewReqText:kUe,setNewReqRisk:EUe,setNewReqVerifyMethod:SUe,setAccTitle:Rr,getAccTitle:Pr,setAccDescription:Br,getAccDescription:Fr,addElement:CUe,getElements:AUe,setNewElementType:_Ue,setNewElementDocRef:LUe,addRelationship:DUe,getRelationships:NUe,clear:RUe}});var MUe,Dfe,Nfe=M(()=>{"use strict";MUe=o(t=>` marker { fill: ${t.relationColor}; stroke: ${t.relationColor}; } marker.cross { stroke: ${t.lineColor}; } svg { font-family: ${t.fontFamily}; font-size: ${t.fontSize}; } .reqBox { fill: ${t.requirementBackground}; fill-opacity: 1.0; stroke: ${t.requirementBorderColor}; stroke-width: ${t.requirementBorderSize}; } .reqTitle, .reqLabel{ fill: ${t.requirementTextColor}; } .reqLabelBox { fill: ${t.relationLabelBackground}; fill-opacity: 1.0; } .req-title-line { stroke: ${t.requirementBorderColor}; stroke-width: ${t.requirementBorderSize}; } .relationshipLine { stroke: ${t.relationColor}; stroke-width: 1; } .relationshipLabel { fill: ${t.relationLabelColor}; } `,"getStyles"),Dfe=MUe});var vO,IUe,xO,Rfe=M(()=>{"use strict";vO={CONTAINS:"contains",ARROW:"arrow"},IUe=o((t,e)=>{let r=t.append("defs").append("marker").attr("id",vO.CONTAINS+"_line_ending").attr("refX",0).attr("refY",e.line_height/2).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("g");r.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),r.append("line").attr("x1",0).attr("x2",e.line_height).attr("y1",e.line_height/2).attr("y2",e.line_height/2).attr("stroke-width",1),r.append("line").attr("y1",0).attr("y2",e.line_height).attr("x1",e.line_height/2).attr("x2",e.line_height/2).attr("stroke-width",1),t.append("defs").append("marker").attr("id",vO.ARROW+"_line_ending").attr("refX",e.line_height).attr("refY",.5*e.line_height).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("path").attr("d",`M0,0 L${e.line_height},${e.line_height/2} M${e.line_height},${e.line_height/2} L0,${e.line_height}`).attr("stroke-width",1)},"insertLineEndings"),xO={ReqMarkers:vO,insertLineEndings:IUe}});var ci,Mfe,Ife,Ofe,Pfe,OUe,PUe,BUe,FUe,zUe,GUe,Bg,$Ue,Bfe,Ffe=M(()=>{"use strict";mr();Pv();Ns();Vt();ht();ni();fr();Rfe();ci={},Mfe=0,Ife=o((t,e)=>t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",ci.rect_min_width+"px").attr("height",ci.rect_min_height+"px"),"newRectNode"),Ofe=o((t,e,r)=>{let n=ci.rect_min_width/2,i=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",n).attr("y",ci.rect_padding).attr("dominant-baseline","hanging"),a=0;r.forEach(h=>{a==0?i.append("tspan").attr("text-anchor","middle").attr("x",ci.rect_min_width/2).attr("dy",0).text(h):i.append("tspan").attr("text-anchor","middle").attr("x",ci.rect_min_width/2).attr("dy",ci.line_height*.75).text(h),a++});let s=1.5*ci.rect_padding,l=a*ci.line_height*.75,u=s+l;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",ci.rect_min_width).attr("y1",u).attr("y2",u),{titleNode:i,y:u}},"newTitleNode"),Pfe=o((t,e,r,n)=>{let i=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",ci.rect_padding).attr("y",n).attr("dominant-baseline","hanging"),a=0,s=30,l=[];return r.forEach(u=>{let h=u.length;for(;h>s&&a<3;){let f=u.substring(0,s);u=u.substring(s,u.length),h=u.length,l[l.length]=f,a++}if(a==3){let f=l[l.length-1];l[l.length-1]=f.substring(0,f.length-4)+"..."}else l[l.length]=u;a=0}),l.forEach(u=>{i.append("tspan").attr("x",ci.rect_padding).attr("dy",ci.line_height).text(u)}),i},"newBodyNode"),OUe=o((t,e,r,n)=>{let i=e.node().getTotalLength(),a=e.node().getPointAtLength(i*.5),s="rel"+Mfe;Mfe++;let u=t.append("text").attr("class","req relationshipLabel").attr("id",s).attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(n).node().getBBox();t.insert("rect","#"+s).attr("class","req reqLabelBox").attr("x",a.x-u.width/2).attr("y",a.y-u.height/2).attr("width",u.width).attr("height",u.height).attr("fill","white").attr("fill-opacity","85%")},"addEdgeLabel"),PUe=o(function(t,e,r,n,i){let a=r.edge(Bg(e.src),Bg(e.dst)),s=Ka().x(function(u){return u.x}).y(function(u){return u.y}),l=t.insert("path","#"+n).attr("class","er relationshipLine").attr("d",s(a.points)).attr("fill","none");e.type==i.db.Relationships.CONTAINS?l.attr("marker-start","url("+je.getUrl(ci.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(l.attr("stroke-dasharray","10,7"),l.attr("marker-end","url("+je.getUrl(ci.arrowMarkerAbsolute)+"#"+xO.ReqMarkers.ARROW+"_line_ending)")),OUe(t,l,ci,`<<${e.type}>>`)},"drawRelationshipFromLayout"),BUe=o((t,e,r)=>{t.forEach((n,i)=>{i=Bg(i),Y.info("Added new requirement: ",i);let a=r.append("g").attr("id",i),s="req-"+i,l=Ife(a,s),u=[],h=Ofe(a,i+"_title",[`<<${n.type}>>`,`${n.name}`]);u.push(h.titleNode);let f=Pfe(a,i+"_body",[`Id: ${n.id}`,`Text: ${n.text}`,`Risk: ${n.risk}`,`Verification: ${n.verifyMethod}`],h.y);u.push(f);let d=l.node().getBBox();e.setNode(i,{width:d.width,height:d.height,shape:"rect",id:i})})},"drawReqs"),FUe=o((t,e,r)=>{t.forEach((n,i)=>{let a=Bg(i),s=r.append("g").attr("id",a),l="element-"+a,u=Ife(s,l),h=[],f=Ofe(s,l+"_title",["<>",`${i}`]);h.push(f.titleNode);let d=Pfe(s,l+"_body",[`Type: ${n.type||"Not Specified"}`,`Doc Ref: ${n.docRef||"None"}`],f.y);h.push(d);let p=u.node().getBBox();e.setNode(a,{width:p.width,height:p.height,shape:"rect",id:a})})},"drawElements"),zUe=o((t,e)=>(t.forEach(function(r){let n=Bg(r.src),i=Bg(r.dst);e.setEdge(n,i,{relationship:r})}),t),"addRelationships"),GUe=o(function(t,e){e.nodes().forEach(function(r){r!==void 0&&e.node(r)!==void 0&&(t.select("#"+r),t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )"))})},"adjustEntities"),Bg=o(t=>t.replace(/\s/g,"").replace(/\./g,"_"),"elementString"),$Ue=o((t,e,r,n)=>{ci=de().requirement;let i=ci.securityLevel,a;i==="sandbox"&&(a=ze("#i"+e));let l=(i==="sandbox"?ze(a.nodes()[0].contentDocument.body):ze("body")).select(`[id='${e}']`);xO.insertLineEndings(l,ci);let u=new Mr({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:ci.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}}),h=n.db.getRequirements(),f=n.db.getElements(),d=n.db.getRelationships();BUe(h,u,l),FUe(f,u,l),zUe(d,u),Du(u),GUe(l,u),d.forEach(function(v){PUe(l,v,u,e,n)});let p=ci.rect_padding,m=l.node().getBBox(),g=m.width+p*2,y=m.height+p*2;Zr(l,y,g,ci.useMaxWidth),l.attr("viewBox",`${m.x-p} ${m.y-p} ${g} ${y}`)},"draw"),Bfe={draw:$Ue}});var zfe={};vr(zfe,{diagram:()=>VUe});var VUe,Gfe=M(()=>{"use strict";Afe();Lfe();Nfe();Ffe();VUe={parser:Cfe,db:_fe,renderer:Bfe,styles:Dfe}});var bO,Ufe,Hfe=M(()=>{"use strict";bO=function(){var t=o(function(H,q,Z,ae){for(Z=Z||{},ae=H.length;ae--;Z[H[ae]]=q);return Z},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,13],u=[1,14],h=[1,16],f=[1,17],d=[1,18],p=[1,24],m=[1,25],g=[1,26],y=[1,27],v=[1,28],x=[1,29],b=[1,30],w=[1,31],_=[1,32],T=[1,33],E=[1,34],L=[1,35],C=[1,36],A=[1,37],I=[1,38],D=[1,39],k=[1,41],R=[1,42],S=[1,43],O=[1,44],N=[1,45],P=[1,46],F=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],B=[4,5,16,50,52,53],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],z=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],W=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],j=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],K=[68,69,70],ie=[1,122],Q={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:o(function(q,Z,ae,ue,ce,te,De){var oe=te.length-1;switch(ce){case 3:return ue.apply(te[oe]),te[oe];break;case 4:case 9:this.$=[];break;case 5:case 10:te[oe-1].push(te[oe]),this.$=te[oe-1];break;case 6:case 7:case 11:case 12:this.$=te[oe];break;case 8:case 13:this.$=[];break;case 15:te[oe].type="createParticipant",this.$=te[oe];break;case 16:te[oe-1].unshift({type:"boxStart",boxData:ue.parseBoxData(te[oe-2])}),te[oe-1].push({type:"boxEnd",boxText:te[oe-2]}),this.$=te[oe-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(te[oe-2]),sequenceIndexStep:Number(te[oe-1]),sequenceVisible:!0,signalType:ue.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(te[oe-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:ue.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:ue.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:ue.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:ue.LINETYPE.ACTIVE_START,actor:te[oe-1].actor};break;case 23:this.$={type:"activeEnd",signalType:ue.LINETYPE.ACTIVE_END,actor:te[oe-1].actor};break;case 29:ue.setDiagramTitle(te[oe].substring(6)),this.$=te[oe].substring(6);break;case 30:ue.setDiagramTitle(te[oe].substring(7)),this.$=te[oe].substring(7);break;case 31:this.$=te[oe].trim(),ue.setAccTitle(this.$);break;case 32:case 33:this.$=te[oe].trim(),ue.setAccDescription(this.$);break;case 34:te[oe-1].unshift({type:"loopStart",loopText:ue.parseMessage(te[oe-2]),signalType:ue.LINETYPE.LOOP_START}),te[oe-1].push({type:"loopEnd",loopText:te[oe-2],signalType:ue.LINETYPE.LOOP_END}),this.$=te[oe-1];break;case 35:te[oe-1].unshift({type:"rectStart",color:ue.parseMessage(te[oe-2]),signalType:ue.LINETYPE.RECT_START}),te[oe-1].push({type:"rectEnd",color:ue.parseMessage(te[oe-2]),signalType:ue.LINETYPE.RECT_END}),this.$=te[oe-1];break;case 36:te[oe-1].unshift({type:"optStart",optText:ue.parseMessage(te[oe-2]),signalType:ue.LINETYPE.OPT_START}),te[oe-1].push({type:"optEnd",optText:ue.parseMessage(te[oe-2]),signalType:ue.LINETYPE.OPT_END}),this.$=te[oe-1];break;case 37:te[oe-1].unshift({type:"altStart",altText:ue.parseMessage(te[oe-2]),signalType:ue.LINETYPE.ALT_START}),te[oe-1].push({type:"altEnd",signalType:ue.LINETYPE.ALT_END}),this.$=te[oe-1];break;case 38:te[oe-1].unshift({type:"parStart",parText:ue.parseMessage(te[oe-2]),signalType:ue.LINETYPE.PAR_START}),te[oe-1].push({type:"parEnd",signalType:ue.LINETYPE.PAR_END}),this.$=te[oe-1];break;case 39:te[oe-1].unshift({type:"parStart",parText:ue.parseMessage(te[oe-2]),signalType:ue.LINETYPE.PAR_OVER_START}),te[oe-1].push({type:"parEnd",signalType:ue.LINETYPE.PAR_END}),this.$=te[oe-1];break;case 40:te[oe-1].unshift({type:"criticalStart",criticalText:ue.parseMessage(te[oe-2]),signalType:ue.LINETYPE.CRITICAL_START}),te[oe-1].push({type:"criticalEnd",signalType:ue.LINETYPE.CRITICAL_END}),this.$=te[oe-1];break;case 41:te[oe-1].unshift({type:"breakStart",breakText:ue.parseMessage(te[oe-2]),signalType:ue.LINETYPE.BREAK_START}),te[oe-1].push({type:"breakEnd",optText:ue.parseMessage(te[oe-2]),signalType:ue.LINETYPE.BREAK_END}),this.$=te[oe-1];break;case 43:this.$=te[oe-3].concat([{type:"option",optionText:ue.parseMessage(te[oe-1]),signalType:ue.LINETYPE.CRITICAL_OPTION},te[oe]]);break;case 45:this.$=te[oe-3].concat([{type:"and",parText:ue.parseMessage(te[oe-1]),signalType:ue.LINETYPE.PAR_AND},te[oe]]);break;case 47:this.$=te[oe-3].concat([{type:"else",altText:ue.parseMessage(te[oe-1]),signalType:ue.LINETYPE.ALT_ELSE},te[oe]]);break;case 48:te[oe-3].draw="participant",te[oe-3].type="addParticipant",te[oe-3].description=ue.parseMessage(te[oe-1]),this.$=te[oe-3];break;case 49:te[oe-1].draw="participant",te[oe-1].type="addParticipant",this.$=te[oe-1];break;case 50:te[oe-3].draw="actor",te[oe-3].type="addParticipant",te[oe-3].description=ue.parseMessage(te[oe-1]),this.$=te[oe-3];break;case 51:te[oe-1].draw="actor",te[oe-1].type="addParticipant",this.$=te[oe-1];break;case 52:te[oe-1].type="destroyParticipant",this.$=te[oe-1];break;case 53:this.$=[te[oe-1],{type:"addNote",placement:te[oe-2],actor:te[oe-1].actor,text:te[oe]}];break;case 54:te[oe-2]=[].concat(te[oe-1],te[oe-1]).slice(0,2),te[oe-2][0]=te[oe-2][0].actor,te[oe-2][1]=te[oe-2][1].actor,this.$=[te[oe-1],{type:"addNote",placement:ue.PLACEMENT.OVER,actor:te[oe-2].slice(0,2),text:te[oe]}];break;case 55:this.$=[te[oe-1],{type:"addLinks",actor:te[oe-1].actor,text:te[oe]}];break;case 56:this.$=[te[oe-1],{type:"addALink",actor:te[oe-1].actor,text:te[oe]}];break;case 57:this.$=[te[oe-1],{type:"addProperties",actor:te[oe-1].actor,text:te[oe]}];break;case 58:this.$=[te[oe-1],{type:"addDetails",actor:te[oe-1].actor,text:te[oe]}];break;case 61:this.$=[te[oe-2],te[oe]];break;case 62:this.$=te[oe];break;case 63:this.$=ue.PLACEMENT.LEFTOF;break;case 64:this.$=ue.PLACEMENT.RIGHTOF;break;case 65:this.$=[te[oe-4],te[oe-1],{type:"addMessage",from:te[oe-4].actor,to:te[oe-1].actor,signalType:te[oe-3],msg:te[oe],activate:!0},{type:"activeStart",signalType:ue.LINETYPE.ACTIVE_START,actor:te[oe-1].actor}];break;case 66:this.$=[te[oe-4],te[oe-1],{type:"addMessage",from:te[oe-4].actor,to:te[oe-1].actor,signalType:te[oe-3],msg:te[oe]},{type:"activeEnd",signalType:ue.LINETYPE.ACTIVE_END,actor:te[oe-4].actor}];break;case 67:this.$=[te[oe-3],te[oe-1],{type:"addMessage",from:te[oe-3].actor,to:te[oe-1].actor,signalType:te[oe-2],msg:te[oe]}];break;case 68:this.$={type:"addParticipant",actor:te[oe]};break;case 69:this.$=ue.LINETYPE.SOLID_OPEN;break;case 70:this.$=ue.LINETYPE.DOTTED_OPEN;break;case 71:this.$=ue.LINETYPE.SOLID;break;case 72:this.$=ue.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=ue.LINETYPE.DOTTED;break;case 74:this.$=ue.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=ue.LINETYPE.SOLID_CROSS;break;case 76:this.$=ue.LINETYPE.DOTTED_CROSS;break;case 77:this.$=ue.LINETYPE.SOLID_POINT;break;case 78:this.$=ue.LINETYPE.DOTTED_POINT;break;case 79:this.$=ue.parseMessage(te[oe].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:_,41:T,43:E,44:L,46:C,50:A,52:I,53:D,54:k,59:R,60:S,61:O,62:N,70:P},t(F,[2,5]),{9:47,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:_,41:T,43:E,44:L,46:C,50:A,52:I,53:D,54:k,59:R,60:S,61:O,62:N,70:P},t(F,[2,7]),t(F,[2,8]),t(F,[2,14]),{12:48,50:A,52:I,53:D},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:P},{22:55,70:P},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(F,[2,29]),t(F,[2,30]),{32:[1,61]},{34:[1,62]},t(F,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:P},{22:72,70:P},{22:73,70:P},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:P},{22:90,70:P},{22:91,70:P},{22:92,70:P},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(F,[2,6]),t(F,[2,15]),t(B,[2,9],{10:93}),t(F,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(F,[2,21]),{5:[1,97]},{5:[1,98]},t(F,[2,24]),t(F,[2,25]),t(F,[2,26]),t(F,[2,27]),t(F,[2,28]),t(F,[2,31]),t(F,[2,32]),t($,i,{7:99}),t($,i,{7:100}),t($,i,{7:101}),t(z,i,{40:102,7:103}),t(W,i,{42:104,7:105}),t(W,i,{7:105,42:106}),t(j,i,{45:107,7:108}),t($,i,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:P},t(K,[2,69]),t(K,[2,70]),t(K,[2,71]),t(K,[2,72]),t(K,[2,73]),t(K,[2,74]),t(K,[2,75]),t(K,[2,76]),t(K,[2,77]),t(K,[2,78]),{22:118,70:P},{22:120,58:119,70:P},{70:[2,63]},{70:[2,64]},{56:121,81:ie},{56:123,81:ie},{56:124,81:ie},{56:125,81:ie},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:A,52:I,53:D},{5:[1,131]},t(F,[2,19]),t(F,[2,20]),t(F,[2,22]),t(F,[2,23]),{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,132],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:_,41:T,43:E,44:L,46:C,50:A,52:I,53:D,54:k,59:R,60:S,61:O,62:N,70:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,133],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:_,41:T,43:E,44:L,46:C,50:A,52:I,53:D,54:k,59:R,60:S,61:O,62:N,70:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,134],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:_,41:T,43:E,44:L,46:C,50:A,52:I,53:D,54:k,59:R,60:S,61:O,62:N,70:P},{16:[1,135]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,46],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:_,41:T,43:E,44:L,46:C,49:[1,136],50:A,52:I,53:D,54:k,59:R,60:S,61:O,62:N,70:P},{16:[1,137]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,44],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:_,41:T,43:E,44:L,46:C,48:[1,138],50:A,52:I,53:D,54:k,59:R,60:S,61:O,62:N,70:P},{16:[1,139]},{16:[1,140]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,42],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:_,41:T,43:E,44:L,46:C,47:[1,141],50:A,52:I,53:D,54:k,59:R,60:S,61:O,62:N,70:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,142],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:w,39:_,41:T,43:E,44:L,46:C,50:A,52:I,53:D,54:k,59:R,60:S,61:O,62:N,70:P},{15:[1,143]},t(F,[2,49]),{15:[1,144]},t(F,[2,51]),t(F,[2,52]),{22:145,70:P},{22:146,70:P},{56:147,81:ie},{56:148,81:ie},{56:149,81:ie},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(F,[2,16]),t(B,[2,10]),{12:151,50:A,52:I,53:D},t(B,[2,12]),t(B,[2,13]),t(F,[2,18]),t(F,[2,34]),t(F,[2,35]),t(F,[2,36]),t(F,[2,37]),{15:[1,152]},t(F,[2,38]),{15:[1,153]},t(F,[2,39]),t(F,[2,40]),{15:[1,154]},t(F,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:ie},{56:158,81:ie},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:P},t(B,[2,11]),t(z,i,{7:103,40:160}),t(W,i,{7:105,42:161}),t(j,i,{7:108,45:162}),t(F,[2,48]),t(F,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:o(function(q,Z){if(Z.recoverable)this.trace(q);else{var ae=new Error(q);throw ae.hash=Z,ae}},"parseError"),parse:o(function(q){var Z=this,ae=[0],ue=[],ce=[null],te=[],De=this.table,oe="",ke=0,Fe=0,Be=0,Ve=2,Ge=1,He=te.slice.call(arguments,1),xe=Object.create(this.lexer),X={yy:{}};for(var fe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,fe)&&(X.yy[fe]=this.yy[fe]);xe.setInput(q,X.yy),X.yy.lexer=xe,X.yy.parser=this,typeof xe.yylloc>"u"&&(xe.yylloc={});var he=xe.yylloc;te.push(he);var ge=xe.options&&xe.options.ranges;typeof X.yy.parseError=="function"?this.parseError=X.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ne(Et){ae.length=ae.length-2*Et,ce.length=ce.length-Et,te.length=te.length-Et}o(ne,"popStack");function ye(){var Et;return Et=ue.pop()||xe.lex()||Ge,typeof Et!="number"&&(Et instanceof Array&&(ue=Et,Et=ue.pop()),Et=Z.symbols_[Et]||Et),Et}o(ye,"lex");for(var U,Te,se,Ee,Ae,Pe,Me={},me,We,Re,tt;;){if(se=ae[ae.length-1],this.defaultActions[se]?Ee=this.defaultActions[se]:((U===null||typeof U>"u")&&(U=ye()),Ee=De[se]&&De[se][U]),typeof Ee>"u"||!Ee.length||!Ee[0]){var gt="";tt=[];for(me in De[se])this.terminals_[me]&&me>Ve&&tt.push("'"+this.terminals_[me]+"'");xe.showPosition?gt="Parse error on line "+(ke+1)+`: `+xe.showPosition()+` Expecting `+tt.join(", ")+", got '"+(this.terminals_[U]||U)+"'":gt="Parse error on line "+(ke+1)+": Unexpected "+(U==Ge?"end of input":"'"+(this.terminals_[U]||U)+"'"),this.parseError(gt,{text:xe.match,token:this.terminals_[U]||U,line:xe.yylineno,loc:he,expected:tt})}if(Ee[0]instanceof Array&&Ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+se+", token: "+U);switch(Ee[0]){case 1:ae.push(U),ce.push(xe.yytext),te.push(xe.yylloc),ae.push(Ee[1]),U=null,Te?(U=Te,Te=null):(Fe=xe.yyleng,oe=xe.yytext,ke=xe.yylineno,he=xe.yylloc,Be>0&&Be--);break;case 2:if(We=this.productions_[Ee[1]][1],Me.$=ce[ce.length-We],Me._$={first_line:te[te.length-(We||1)].first_line,last_line:te[te.length-1].last_line,first_column:te[te.length-(We||1)].first_column,last_column:te[te.length-1].last_column},ge&&(Me._$.range=[te[te.length-(We||1)].range[0],te[te.length-1].range[1]]),Pe=this.performAction.apply(Me,[oe,Fe,ke,X.yy,Ee[1],ce,te].concat(He)),typeof Pe<"u")return Pe;We&&(ae=ae.slice(0,-1*We*2),ce=ce.slice(0,-1*We),te=te.slice(0,-1*We)),ae.push(this.productions_[Ee[1]][0]),ce.push(Me.$),te.push(Me._$),Re=De[ae[ae.length-2]][ae[ae.length-1]],ae.push(Re);break;case 3:return!0}}return!0},"parse")},ee=function(){var H={EOF:1,parseError:o(function(Z,ae){if(this.yy.parser)this.yy.parser.parseError(Z,ae);else throw new Error(Z)},"parseError"),setInput:o(function(q,Z){return this.yy=Z||this.yy||{},this._input=q,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var q=this._input[0];this.yytext+=q,this.yyleng++,this.offset++,this.match+=q,this.matched+=q;var Z=q.match(/(?:\r\n?|\n).*/g);return Z?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),q},"input"),unput:o(function(q){var Z=q.length,ae=q.split(/(?:\r\n?|\n)/g);this._input=q+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Z),this.offset-=Z;var ue=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ae.length-1&&(this.yylineno-=ae.length-1);var ce=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ae?(ae.length===ue.length?this.yylloc.first_column:0)+ue[ue.length-ae.length].length-ae[0].length:this.yylloc.first_column-Z},this.options.ranges&&(this.yylloc.range=[ce[0],ce[0]+this.yyleng-Z]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(q){this.unput(this.match.slice(q))},"less"),pastInput:o(function(){var q=this.matched.substr(0,this.matched.length-this.match.length);return(q.length>20?"...":"")+q.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var q=this.match;return q.length<20&&(q+=this._input.substr(0,20-q.length)),(q.substr(0,20)+(q.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var q=this.pastInput(),Z=new Array(q.length+1).join("-");return q+this.upcomingInput()+` `+Z+"^"},"showPosition"),test_match:o(function(q,Z){var ae,ue,ce;if(this.options.backtrack_lexer&&(ce={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ce.yylloc.range=this.yylloc.range.slice(0))),ue=q[0].match(/(?:\r\n?|\n).*/g),ue&&(this.yylineno+=ue.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ue?ue[ue.length-1].length-ue[ue.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+q[0].length},this.yytext+=q[0],this.match+=q[0],this.matches=q,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(q[0].length),this.matched+=q[0],ae=this.performAction.call(this,this.yy,this,Z,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ae)return ae;if(this._backtrack){for(var te in ce)this[te]=ce[te];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var q,Z,ae,ue;this._more||(this.yytext="",this.match="");for(var ce=this._currentRules(),te=0;teZ[0].length)){if(Z=ae,ue=te,this.options.backtrack_lexer){if(q=this.test_match(ae,ce[te]),q!==!1)return q;if(this._backtrack){Z=!1;continue}else return!1}else if(!this.options.flex)break}return Z?(q=this.test_match(Z,ce[ue]),q!==!1?q:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Z=this.next();return Z||this.lex()},"lex"),begin:o(function(Z){this.conditionStack.push(Z)},"begin"),popState:o(function(){var Z=this.conditionStack.length-1;return Z>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Z){return Z=this.conditionStack.length-1-Math.abs(Z||0),Z>=0?this.conditionStack[Z]:"INITIAL"},"topState"),pushState:o(function(Z){this.begin(Z)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(Z,ae,ue,ce){var te=ce;switch(ue){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;break;case 8:return this.begin("ID"),50;break;case 9:return this.begin("ID"),52;break;case 10:return 13;case 11:return this.begin("ID"),53;break;case 12:return ae.yytext=ae.yytext.trim(),this.begin("ALIAS"),70;break;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;break;case 14:return this.popState(),this.popState(),5;break;case 15:return this.begin("LINE"),36;break;case 16:return this.begin("LINE"),37;break;case 17:return this.begin("LINE"),38;break;case 18:return this.begin("LINE"),39;break;case 19:return this.begin("LINE"),49;break;case 20:return this.begin("LINE"),41;break;case 21:return this.begin("LINE"),43;break;case 22:return this.begin("LINE"),48;break;case 23:return this.begin("LINE"),44;break;case 24:return this.begin("LINE"),47;break;case 25:return this.begin("LINE"),46;break;case 26:return this.popState(),15;break;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;break;case 37:return this.begin("ID"),23;break;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;break;case 41:return this.popState(),"acc_title_value";break;case 42:return this.begin("acc_descr"),33;break;case 43:return this.popState(),"acc_descr_value";break;case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return ae.yytext=ae.yytext.trim(),70;break;case 53:return 73;case 54:return 74;case 55:return 75;case 56:return 76;case 57:return 71;case 58:return 72;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 80;case 63:return 81;case 64:return 68;case 65:return 69;case 66:return 5;case 67:return"INVALID"}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}};return H}();Q.lexer=ee;function J(){this.yy={}}return o(J,"Parser"),J.prototype=Q,Q.Parser=J,new J}();bO.parser=bO;Ufe=bO});function TO(t,e){if(t.links==null)t.links=e;else for(let r in e)t.links[r]=e[r]}function jfe(t,e){if(t.properties==null)t.properties=e;else for(let r in e)t.properties[r]=e[r]}function dHe(){$t.records.currentBox=void 0}var $t,YUe,wO,qUe,XUe,yi,jUe,KUe,QUe,ZUe,JUe,eHe,tHe,bx,rHe,nHe,iHe,aHe,sHe,Wfe,k0,oHe,lHe,cHe,xx,uHe,hHe,Yfe,qfe,fHe,Xfe,Kfe,pHe,Qfe,kO,Zfe=M(()=>{"use strict";Vt();ht();tE();fr();ki();$t=new cf(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),YUe=o(function(t){$t.records.boxes.push({name:t.text,wrap:t.wrap??k0(),fill:t.color,actorKeys:[]}),$t.records.currentBox=$t.records.boxes.slice(-1)[0]},"addBox"),wO=o(function(t,e,r,n){let i=$t.records.currentBox,a=$t.records.actors.get(t);if(a){if($t.records.currentBox&&a.box&&$t.records.currentBox!==a.box)throw new Error(`A same participant should only be defined in one Box: ${a.name} can't be in '${a.box.name}' and in '${$t.records.currentBox.name}' at the same time.`);if(i=a.box?a.box:$t.records.currentBox,a.box=i,a&&e===a.name&&r==null)return}if(r?.text==null&&(r={text:e,type:n}),(n==null||r.text==null)&&(r={text:e,type:n}),$t.records.actors.set(t,{box:i,name:e,description:r.text,wrap:r.wrap??k0(),prevActor:$t.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:n??"participant"}),$t.records.prevActor){let s=$t.records.actors.get($t.records.prevActor);s&&(s.nextActor=t)}$t.records.currentBox&&$t.records.currentBox.actorKeys.push(t),$t.records.prevActor=t},"addActor"),qUe=o(t=>{let e,r=0;if(!t)return 0;for(e=0;e<$t.records.messages.length;e++)$t.records.messages[e].type===xx.ACTIVE_START&&$t.records.messages[e].from===t&&r++,$t.records.messages[e].type===xx.ACTIVE_END&&$t.records.messages[e].from===t&&r--;return r},"activationCount"),XUe=o(function(t,e,r,n){$t.records.messages.push({from:t,to:e,message:r.text,wrap:r.wrap??k0(),answer:n})},"addMessage"),yi=o(function(t,e,r,n,i=!1){if(n===xx.ACTIVE_END&&qUe(t??"")<1){let s=new Error("Trying to inactivate an inactive participant ("+t+")");throw s.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},s}return $t.records.messages.push({from:t,to:e,message:r?.text??"",wrap:r?.wrap??k0(),type:n,activate:i}),!0},"addSignal"),jUe=o(function(){return $t.records.boxes.length>0},"hasAtLeastOneBox"),KUe=o(function(){return $t.records.boxes.some(t=>t.name)},"hasAtLeastOneBoxWithTitle"),QUe=o(function(){return $t.records.messages},"getMessages"),ZUe=o(function(){return $t.records.boxes},"getBoxes"),JUe=o(function(){return $t.records.actors},"getActors"),eHe=o(function(){return $t.records.createdActors},"getCreatedActors"),tHe=o(function(){return $t.records.destroyedActors},"getDestroyedActors"),bx=o(function(t){return $t.records.actors.get(t)},"getActor"),rHe=o(function(){return[...$t.records.actors.keys()]},"getActorKeys"),nHe=o(function(){$t.records.sequenceNumbersEnabled=!0},"enableSequenceNumbers"),iHe=o(function(){$t.records.sequenceNumbersEnabled=!1},"disableSequenceNumbers"),aHe=o(()=>$t.records.sequenceNumbersEnabled,"showSequenceNumbers"),sHe=o(function(t){$t.records.wrapEnabled=t},"setWrap"),Wfe=o(t=>{if(t===void 0)return{};t=t.trim();let e=/^:?wrap:/.exec(t)!==null?!0:/^:?nowrap:/.exec(t)!==null?!1:void 0;return{cleanedText:(e===void 0?t:t.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:e}},"extractWrap"),k0=o(()=>$t.records.wrapEnabled!==void 0?$t.records.wrapEnabled:de().sequence?.wrap??!1,"autoWrap"),oHe=o(function(){$t.reset(),_r()},"clear"),lHe=o(function(t){let e=t.trim(),{wrap:r,cleanedText:n}=Wfe(e),i={text:n,wrap:r};return Y.debug(`parseMessage: ${JSON.stringify(i)}`),i},"parseMessage"),cHe=o(function(t){let e=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t),r=e?.[1]?e[1].trim():"transparent",n=e?.[2]?e[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",r)||(r="transparent",n=t.trim());else{let s=new Option().style;s.color=r,s.color!==r&&(r="transparent",n=t.trim())}let{wrap:i,cleanedText:a}=Wfe(n);return{text:a?Tr(a,de()):void 0,color:r,wrap:i}},"parseBoxData"),xx={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34},uHe={FILLED:0,OPEN:1},hHe={LEFTOF:0,RIGHTOF:1,OVER:2},Yfe=o(function(t,e,r){let n={actor:t,placement:e,message:r.text,wrap:r.wrap??k0()},i=[].concat(t,t);$t.records.notes.push(n),$t.records.messages.push({from:i[0],to:i[1],message:r.text,wrap:r.wrap??k0(),type:xx.NOTE,placement:e})},"addNote"),qfe=o(function(t,e){let r=bx(t);try{let n=Tr(e.text,de());n=n.replace(/&/g,"&"),n=n.replace(/=/g,"=");let i=JSON.parse(n);TO(r,i)}catch(n){Y.error("error while parsing actor link text",n)}},"addLinks"),fHe=o(function(t,e){let r=bx(t);try{let n={},i=Tr(e.text,de()),a=i.indexOf("@");i=i.replace(/&/g,"&"),i=i.replace(/=/g,"=");let s=i.slice(0,a-1).trim(),l=i.slice(a+1).trim();n[s]=l,TO(r,n)}catch(n){Y.error("error while parsing actor link text",n)}},"addALink");o(TO,"insertLinks");Xfe=o(function(t,e){let r=bx(t);try{let n=Tr(e.text,de()),i=JSON.parse(n);jfe(r,i)}catch(n){Y.error("error while parsing actor properties text",n)}},"addProperties");o(jfe,"insertProperties");o(dHe,"boxEnd");Kfe=o(function(t,e){let r=bx(t),n=document.getElementById(e.text);try{let i=n.innerHTML,a=JSON.parse(i);a.properties&&jfe(r,a.properties),a.links&&TO(r,a.links)}catch(i){Y.error("error while parsing actor details text",i)}},"addDetails"),pHe=o(function(t,e){if(t?.properties!==void 0)return t.properties[e]},"getActorProperty"),Qfe=o(function(t){if(Array.isArray(t))t.forEach(function(e){Qfe(e)});else switch(t.type){case"sequenceIndex":$t.records.messages.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":wO(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if($t.records.actors.has(t.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");$t.records.lastCreated=t.actor,wO(t.actor,t.actor,t.description,t.draw),$t.records.createdActors.set(t.actor,$t.records.messages.length);break;case"destroyParticipant":$t.records.lastDestroyed=t.actor,$t.records.destroyedActors.set(t.actor,$t.records.messages.length);break;case"activeStart":yi(t.actor,void 0,void 0,t.signalType);break;case"activeEnd":yi(t.actor,void 0,void 0,t.signalType);break;case"addNote":Yfe(t.actor,t.placement,t.text);break;case"addLinks":qfe(t.actor,t.text);break;case"addALink":fHe(t.actor,t.text);break;case"addProperties":Xfe(t.actor,t.text);break;case"addDetails":Kfe(t.actor,t.text);break;case"addMessage":if($t.records.lastCreated){if(t.to!==$t.records.lastCreated)throw new Error("The created participant "+$t.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");$t.records.lastCreated=void 0}else if($t.records.lastDestroyed){if(t.to!==$t.records.lastDestroyed&&t.from!==$t.records.lastDestroyed)throw new Error("The destroyed participant "+$t.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");$t.records.lastDestroyed=void 0}yi(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":YUe(t.boxData);break;case"boxEnd":dHe();break;case"loopStart":yi(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":yi(void 0,void 0,void 0,t.signalType);break;case"rectStart":yi(void 0,void 0,t.color,t.signalType);break;case"rectEnd":yi(void 0,void 0,void 0,t.signalType);break;case"optStart":yi(void 0,void 0,t.optText,t.signalType);break;case"optEnd":yi(void 0,void 0,void 0,t.signalType);break;case"altStart":yi(void 0,void 0,t.altText,t.signalType);break;case"else":yi(void 0,void 0,t.altText,t.signalType);break;case"altEnd":yi(void 0,void 0,void 0,t.signalType);break;case"setAccTitle":Rr(t.text);break;case"parStart":yi(void 0,void 0,t.parText,t.signalType);break;case"and":yi(void 0,void 0,t.parText,t.signalType);break;case"parEnd":yi(void 0,void 0,void 0,t.signalType);break;case"criticalStart":yi(void 0,void 0,t.criticalText,t.signalType);break;case"option":yi(void 0,void 0,t.optionText,t.signalType);break;case"criticalEnd":yi(void 0,void 0,void 0,t.signalType);break;case"breakStart":yi(void 0,void 0,t.breakText,t.signalType);break;case"breakEnd":yi(void 0,void 0,void 0,t.signalType);break}},"apply"),kO={addActor:wO,addMessage:XUe,addSignal:yi,addLinks:qfe,addDetails:Kfe,addProperties:Xfe,autoWrap:k0,setWrap:sHe,enableSequenceNumbers:nHe,disableSequenceNumbers:iHe,showSequenceNumbers:aHe,getMessages:QUe,getActors:JUe,getCreatedActors:eHe,getDestroyedActors:tHe,getActor:bx,getActorKeys:rHe,getActorProperty:pHe,getAccTitle:Pr,getBoxes:ZUe,getDiagramTitle:Jr,setDiagramTitle:ln,getConfig:o(()=>de().sequence,"getConfig"),clear:oHe,parseMessage:lHe,parseBoxData:cHe,LINETYPE:xx,ARROWTYPE:uHe,PLACEMENT:hHe,addNote:Yfe,setAccTitle:Rr,apply:Qfe,setAccDescription:Br,getAccDescription:Fr,hasAtLeastOneBox:jUe,hasAtLeastOneBoxWithTitle:KUe}});var mHe,Jfe,ede=M(()=>{"use strict";mHe=o(t=>`.actor { stroke: ${t.actorBorder}; fill: ${t.actorBkg}; } text.actor > tspan { fill: ${t.actorTextColor}; stroke: none; } .actor-line { stroke: ${t.actorLineColor}; } .messageLine0 { stroke-width: 1.5; stroke-dasharray: none; stroke: ${t.signalColor}; } .messageLine1 { stroke-width: 1.5; stroke-dasharray: 2, 2; stroke: ${t.signalColor}; } #arrowhead path { fill: ${t.signalColor}; stroke: ${t.signalColor}; } .sequenceNumber { fill: ${t.sequenceNumberColor}; } #sequencenumber { fill: ${t.signalColor}; } #crosshead path { fill: ${t.signalColor}; stroke: ${t.signalColor}; } .messageText { fill: ${t.signalTextColor}; stroke: none; } .labelBox { stroke: ${t.labelBoxBorderColor}; fill: ${t.labelBoxBkgColor}; } .labelText, .labelText > tspan { fill: ${t.labelTextColor}; stroke: none; } .loopText, .loopText > tspan { fill: ${t.loopTextColor}; stroke: none; } .loopLine { stroke-width: 2px; stroke-dasharray: 2, 2; stroke: ${t.labelBoxBorderColor}; fill: ${t.labelBoxBorderColor}; } .note { //stroke: #decc93; stroke: ${t.noteBorderColor}; fill: ${t.noteBkgColor}; } .noteText, .noteText > tspan { fill: ${t.noteTextColor}; stroke: none; } .activation0 { fill: ${t.activationBkgColor}; stroke: ${t.activationBorderColor}; } .activation1 { fill: ${t.activationBkgColor}; stroke: ${t.activationBorderColor}; } .activation2 { fill: ${t.activationBkgColor}; stroke: ${t.activationBorderColor}; } .actorPopupMenu { position: absolute; } .actorPopupMenuPanel { position: absolute; fill: ${t.actorBkg}; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); } .actor-man line { stroke: ${t.actorBorder}; fill: ${t.actorBkg}; } .actor-man circle, line { stroke: ${t.actorBorder}; fill: ${t.actorBkg}; stroke-width: 2px; } `,"getStyles"),Jfe=mHe});var EO,pf,rde,nde,gHe,tde,SO,yHe,vHe,wx,E0,ide,Fc,CO,xHe,bHe,wHe,THe,kHe,EHe,SHe,ade,CHe,AHe,_He,LHe,DHe,NHe,RHe,sde,MHe,AO,IHe,ui,ode=M(()=>{"use strict";fr();qy();hr();EO=ka(Fp(),1);Ua();pf=18*2,rde="actor-top",nde="actor-bottom",gHe="actor-box",tde="actor-man",SO=o(function(t,e){return md(t,e)},"drawRect"),yHe=o(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};let a=e.links,s=e.actorCnt,l=e.rectData;var u="none";i&&(u="block !important");let h=t.append("g");h.attr("id","actor"+s+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",u);var f="";l.class!==void 0&&(f=" "+l.class);let d=l.width>r?l.width:r,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+f),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",d),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),a!=null){var m=20;for(let v in a){var g=h.append("a"),y=(0,EO.sanitizeUrl)(a[v]);g.attr("xlink:href",y),g.attr("target","_blank"),IHe(n)(v,g,l.x+10,l.height+m,d,20,{class:"actor"},n),m+=30}}return p.attr("height",m),{height:l.height+m,width:d}},"drawPopup"),vHe=o(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),wx=o(async function(t,e,r=null){let n=t.append("foreignObject"),i=await hh(e.text,Sr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){let l=t.node().firstChild;l.setAttribute("height",s.height+2*e.textMargin);let u=l.getBBox();n.attr("x",Math.round(u.x+u.width/2-s.width/2)).attr("y",Math.round(u.y+u.height/2-s.height/2))}else if(r){let{startx:l,stopx:u,starty:h}=r;if(l>u){let f=l;l=u,u=f}n.attr("x",Math.round(l+Math.abs(l-u)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(h)):n.attr("y",Math.round(h-s.height))}return[n]},"drawKatex"),E0=o(function(t,e){let r=0,n=0,i=e.text.split(je.lineBreakRegex),[a,s]=Fo(e.fontSize),l=[],u=0,h=o(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":h=o(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":h=o(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":h=o(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[f,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(u=f*a);let p=t.append("text");p.attr("x",e.x),p.attr("y",h()),e.anchor!==void 0&&p.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&p.style("font-family",e.fontFamily),s!==void 0&&p.style("font-size",s),e.fontWeight!==void 0&&p.style("font-weight",e.fontWeight),e.fill!==void 0&&p.attr("fill",e.fill),e.class!==void 0&&p.attr("class",e.class),e.dy!==void 0?p.attr("dy",e.dy):u!==0&&p.attr("dy",u);let m=d||K_;if(e.tspan){let g=p.append("tspan");g.attr("x",e.x),e.fill!==void 0&&g.attr("fill",e.fill),g.text(m)}else p.text(m);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(p._groups||p)[0][0].getBBox().height,r=n),l.push(p)}return l},"drawText"),ide=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,E0(t,e),n},"drawLabel"),Fc=-1,CO=o((t,e,r,n)=>{t.select&&r.forEach(i=>{let a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),xHe=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower();var u=l;n||(Fc++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",vHe(`actor${Fc}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Fc).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Fc,e.links!=null&&u.attr("id","root-"+Fc));let h=Sl();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${nde}`:f+=` ${rde}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.rx=3,h.ry=3,h.name=e.name;let d=SO(u,h);if(e.rectData=h,e.properties?.icon){let m=e.properties.icon.trim();m.charAt(0)==="@"?RY(u,h.x+h.width-20,h.y+10,m.substr(1)):NY(u,h.x+h.width-20,h.y+10,m)}AO(r,pi(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${gHe}`},r);let p=e.height;if(d.node){let m=d.node().getBBox();e.height=m.height,p=m.height}return p},"drawActorTypeParticipant"),bHe=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+80,l=t.append("g").lower();n||(Fc++,l.append("line").attr("id","actor"+Fc).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Fc);let u=t.append("g"),h=tde;n?h+=` ${nde}`:h+=` ${rde}`,u.attr("class",h),u.attr("name",e.name);let f=Sl();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor",f.rx=3,f.ry=3,u.append("line").attr("id","actor-man-torso"+Fc).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),u.append("line").attr("id","actor-man-arms"+Fc).attr("x1",a-pf/2).attr("y1",i+33).attr("x2",a+pf/2).attr("y2",i+33),u.append("line").attr("x1",a-pf/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),u.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+pf/2-2).attr("y2",i+60);let d=u.append("circle");d.attr("cx",e.x+e.width/2),d.attr("cy",i+10),d.attr("r",15),d.attr("width",e.width),d.attr("height",e.height);let p=u.node().getBBox();return e.height=p.height,AO(r,pi(e.description))(e.description,u,f.x,f.y+35,f.width,f.height,{class:`actor ${tde}`},r),e.height},"drawActorTypeActor"),wHe=o(async function(t,e,r,n){switch(e.type){case"actor":return await bHe(t,e,r,n);case"participant":return await xHe(t,e,r,n)}},"drawActor"),THe=o(function(t,e,r){let i=t.append("g");ade(i,e),e.name&&AO(r)(e.name,i,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),kHe=o(function(t){return t.append("g")},"anchorElement"),EHe=o(function(t,e,r,n,i){let a=Sl(),s=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+i%3,a.width=e.stopx-e.startx,a.height=r-e.starty,SO(s,a)},"drawActivation"),SHe=o(async function(t,e,r,n){let{boxMargin:i,boxTextMargin:a,labelBoxHeight:s,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:f}=n,d=t.append("g"),p=o(function(y,v,x,b){return d.append("line").attr("x1",y).attr("y1",v).attr("x2",x).attr("y2",b).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(y){p(e.startx,y.y,e.stopx,y.y).style("stroke-dasharray","3, 3")});let m=Yy();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=l||50,m.height=s||20,m.textMargin=a,m.class="labelText",ide(d,m),m=sde(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+i+a,m.anchor="middle",m.valign="middle",m.textMargin=a,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=!0;let g=pi(m.text)?await wx(d,m,e):E0(d,m);if(e.sectionTitles!==void 0){for(let[y,v]of Object.entries(e.sectionTitles))if(v.message){m.text=v.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[y].y+i+a,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=e.wrap,pi(m.text)?(e.starty=e.sections[y].y,await wx(d,m,e)):E0(d,m);let x=Math.round(g.map(b=>(b._groups||b)[0][0].getBBox().height).reduce((b,w)=>b+w));e.sections[y].height+=x-(i+a)}}return e.height=Math.round(e.stopy-e.starty),d},"drawLoop"),ade=o(function(t,e){Y3(t,e)},"drawBackgroundRect"),CHe=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),AHe=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),_He=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),LHe=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),DHe=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),NHe=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),RHe=o(function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),sde=o(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),MHe=o(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),AO=function(){function t(a,s,l,u,h,f,d){let p=s.append("text").attr("x",l+h/2).attr("y",u+f/2+5).style("text-anchor","middle").text(a);i(p,d)}o(t,"byText");function e(a,s,l,u,h,f,d,p){let{actorFontSize:m,actorFontFamily:g,actorFontWeight:y}=p,[v,x]=Fo(m),b=a.split(je.lineBreakRegex);for(let w=0;w{let s=S0(Le),l=a.actorKeys.reduce((f,d)=>f+=t.get(d).width+(t.get(d).margin||0),0);l-=2*Le.boxTextMargin,a.wrap&&(a.name=Ut.wrapLabel(a.name,l-2*Le.wrapPadding,s));let u=Ut.calculateTextDimensions(a.name,s);i=je.getMax(u.height,i);let h=je.getMax(l,u.width+2*Le.wrapPadding);if(a.margin=Le.boxTextMargin,la.textMaxHeight=i),je.getMax(n,Le.height)}var Le,nt,OHe,S0,Fg,_O,BHe,FHe,LO,cde,ude,TE,lde,GHe,VHe,HHe,WHe,YHe,hde,fde=M(()=>{"use strict";mr();ode();ht();fr();qy();Vt();ip();hr();ni();Le={},nt={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:o(function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(t=>t.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:o(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:o(function(t){this.boxes.push(t)},"addBox"),addActor:o(function(t){this.actors.push(t)},"addActor"),addLoop:o(function(t){this.loops.push(t)},"addLoop"),addMessage:o(function(t){this.messages.push(t)},"addMessage"),addNote:o(function(t){this.notes.push(t)},"addNote"),lastActor:o(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:o(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:o(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:o(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:o(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,ude(de())},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=this,a=0;function s(l){return o(function(h){a++;let f=i.sequenceItems.length-a+1;i.updateVal(h,"starty",e-f*Le.boxMargin,Math.min),i.updateVal(h,"stopy",n+f*Le.boxMargin,Math.max),i.updateVal(nt.data,"startx",t-f*Le.boxMargin,Math.min),i.updateVal(nt.data,"stopx",r+f*Le.boxMargin,Math.max),l!=="activation"&&(i.updateVal(h,"startx",t-f*Le.boxMargin,Math.min),i.updateVal(h,"stopx",r+f*Le.boxMargin,Math.max),i.updateVal(nt.data,"starty",e-f*Le.boxMargin,Math.min),i.updateVal(nt.data,"stopy",n+f*Le.boxMargin,Math.max))},"updateItemBounds")}o(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:o(function(t,e,r,n){let i=je.getMin(t,r),a=je.getMax(t,r),s=je.getMin(e,n),l=je.getMax(e,n);this.updateVal(nt.data,"startx",i,Math.min),this.updateVal(nt.data,"starty",s,Math.min),this.updateVal(nt.data,"stopx",a,Math.max),this.updateVal(nt.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),newActivation:o(function(t,e,r){let n=r.get(t.from),i=TE(t.from).length||0,a=n.x+n.width/2+(i-1)*Le.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Le.activationWidth,stopy:void 0,actor:t.from,anchored:ui.anchorElement(e)})},"newActivation"),endActivation:o(function(t){let e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:o(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:o(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:o(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:nt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:o(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:o(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=je.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return{bounds:this.data,models:this.models}},"getBounds")},OHe=o(async function(t,e){nt.bumpVerticalPos(Le.boxMargin),e.height=Le.boxMargin,e.starty=nt.getVerticalPos();let r=Sl();r.x=e.startx,r.y=e.starty,r.width=e.width||Le.width,r.class="note";let n=t.append("g"),i=ui.drawRect(n,r),a=Yy();a.x=e.startx,a.y=e.starty,a.width=r.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=Le.noteFontFamily,a.fontSize=Le.noteFontSize,a.fontWeight=Le.noteFontWeight,a.anchor=Le.noteAlign,a.textMargin=Le.noteMargin,a.valign="center";let s=pi(a.text)?await wx(n,a):E0(n,a),l=Math.round(s.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));i.attr("height",l+2*Le.noteMargin),e.height+=l+2*Le.noteMargin,nt.bumpVerticalPos(l+2*Le.noteMargin),e.stopy=e.starty+l+2*Le.noteMargin,e.stopx=e.startx+r.width,nt.insert(e.startx,e.starty,e.stopx,e.stopy),nt.models.addNote(e)},"drawNote"),S0=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),Fg=o(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),_O=o(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");o(PHe,"boundMessage");BHe=o(async function(t,e,r,n){let{startx:i,stopx:a,starty:s,message:l,type:u,sequenceIndex:h,sequenceVisible:f}=e,d=Ut.calculateTextDimensions(l,S0(Le)),p=Yy();p.x=i,p.y=s+10,p.width=a-i,p.class="messageText",p.dy="1em",p.text=l,p.fontFamily=Le.messageFontFamily,p.fontSize=Le.messageFontSize,p.fontWeight=Le.messageFontWeight,p.anchor=Le.messageAlign,p.valign="center",p.textMargin=Le.wrapPadding,p.tspan=!1,pi(p.text)?await wx(t,p,{startx:i,stopx:a,starty:r}):E0(t,p);let m=d.width,g;i===a?Le.rightAngles?g=t.append("path").attr("d",`M ${i},${r} H ${i+je.getMax(Le.width/2,m/2)} V ${r+25} H ${i}`):g=t.append("path").attr("d","M "+i+","+r+" C "+(i+60)+","+(r-10)+" "+(i+60)+","+(r+30)+" "+i+","+(r+20)):(g=t.append("line"),g.attr("x1",i),g.attr("y1",r),g.attr("x2",a),g.attr("y2",r)),u===n.db.LINETYPE.DOTTED||u===n.db.LINETYPE.DOTTED_CROSS||u===n.db.LINETYPE.DOTTED_POINT||u===n.db.LINETYPE.DOTTED_OPEN||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED?(g.style("stroke-dasharray","3, 3"),g.attr("class","messageLine1")):g.attr("class","messageLine0");let y="";Le.arrowMarkerAbsolute&&(y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,y=y.replace(/\(/g,"\\("),y=y.replace(/\)/g,"\\)")),g.attr("stroke-width",2),g.attr("stroke","none"),g.style("fill","none"),(u===n.db.LINETYPE.SOLID||u===n.db.LINETYPE.DOTTED)&&g.attr("marker-end","url("+y+"#arrowhead)"),(u===n.db.LINETYPE.BIDIRECTIONAL_SOLID||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(g.attr("marker-start","url("+y+"#arrowhead)"),g.attr("marker-end","url("+y+"#arrowhead)")),(u===n.db.LINETYPE.SOLID_POINT||u===n.db.LINETYPE.DOTTED_POINT)&&g.attr("marker-end","url("+y+"#filled-head)"),(u===n.db.LINETYPE.SOLID_CROSS||u===n.db.LINETYPE.DOTTED_CROSS)&&g.attr("marker-end","url("+y+"#crosshead)"),(f||Le.showSequenceNumbers)&&(g.attr("marker-start","url("+y+"#sequencenumber)"),t.append("text").attr("x",i).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(h))},"drawMessage"),FHe=o(function(t,e,r,n,i,a,s){let l=0,u=0,h,f=0;for(let d of n){let p=e.get(d),m=p.box;h&&h!=m&&(s||nt.models.addBox(h),u+=Le.boxMargin+h.margin),m&&m!=h&&(s||(m.x=l+u,m.y=i),u+=m.margin),p.width=p.width||Le.width,p.height=je.getMax(p.height||Le.height,Le.height),p.margin=p.margin||Le.actorMargin,f=je.getMax(f,p.height),r.get(p.name)&&(u+=p.width/2),p.x=l+u,p.starty=nt.getVerticalPos(),nt.insert(p.x,i,p.x+p.width,p.height),l+=p.width+u,p.box&&(p.box.width=l+m.margin-p.box.x),u=p.margin,h=p.box,nt.models.addActor(p)}h&&!s&&nt.models.addBox(h),nt.bumpVerticalPos(f)},"addActorRenderingData"),LO=o(async function(t,e,r,n){if(n){let i=0;nt.bumpVerticalPos(Le.boxMargin*2);for(let a of r){let s=e.get(a);s.stopy||(s.stopy=nt.getVerticalPos());let l=await ui.drawActor(t,s,Le,!0);i=je.getMax(i,l)}nt.bumpVerticalPos(i+Le.boxMargin)}else for(let i of r){let a=e.get(i);await ui.drawActor(t,a,Le,!1)}},"drawActors"),cde=o(function(t,e,r,n){let i=0,a=0;for(let s of r){let l=e.get(s),u=VHe(l),h=ui.drawPopup(t,l,u,Le,Le.forceMenus,n);h.height>i&&(i=h.height),h.width+l.x>a&&(a=h.width+l.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),ude=o(function(t){Gn(Le,t),t.fontFamily&&(Le.actorFontFamily=Le.noteFontFamily=Le.messageFontFamily=t.fontFamily),t.fontSize&&(Le.actorFontSize=Le.noteFontSize=Le.messageFontSize=t.fontSize),t.fontWeight&&(Le.actorFontWeight=Le.noteFontWeight=Le.messageFontWeight=t.fontWeight)},"setConf"),TE=o(function(t){return nt.activations.filter(function(e){return e.actor===t})},"actorActivations"),lde=o(function(t,e){let r=e.get(t),n=TE(t),i=n.reduce(function(s,l){return je.getMin(s,l.startx)},r.x+r.width/2-1),a=n.reduce(function(s,l){return je.getMax(s,l.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");o(zc,"adjustLoopHeightForWrap");o(zHe,"adjustCreatedDestroyedData");GHe=o(async function(t,e,r,n){let{securityLevel:i,sequence:a}=de();Le=a;let s;i==="sandbox"&&(s=ze("#i"+e));let l=i==="sandbox"?ze(s.nodes()[0].contentDocument.body):ze("body"),u=i==="sandbox"?s.nodes()[0].contentDocument:document;nt.init(),Y.debug(n.db);let h=i==="sandbox"?l.select(`[id="${e}"]`):ze(`[id="${e}"]`),f=n.db.getActors(),d=n.db.getCreatedActors(),p=n.db.getDestroyedActors(),m=n.db.getBoxes(),g=n.db.getActorKeys(),y=n.db.getMessages(),v=n.db.getDiagramTitle(),x=n.db.hasAtLeastOneBox(),b=n.db.hasAtLeastOneBoxWithTitle(),w=await $He(f,y,n);if(Le.height=await UHe(f,w,m),ui.insertComputerIcon(h),ui.insertDatabaseIcon(h),ui.insertClockIcon(h),x&&(nt.bumpVerticalPos(Le.boxMargin),b&&nt.bumpVerticalPos(m[0].textMaxHeight)),Le.hideUnusedParticipants===!0){let F=new Set;y.forEach(B=>{F.add(B.from),F.add(B.to)}),g=g.filter(B=>F.has(B))}FHe(h,f,d,g,0,y,!1);let _=await YHe(y,f,w,n);ui.insertArrowHead(h),ui.insertArrowCrossHead(h),ui.insertArrowFilledHead(h),ui.insertSequenceNumber(h);function T(F,B){let $=nt.endActivation(F);$.starty+18>B&&($.starty=B-6,B+=12),ui.drawActivation(h,$,B,Le,TE(F.from).length),nt.insert($.startx,B-10,$.stopx,B)}o(T,"activeEnd");let E=1,L=1,C=[],A=[],I=0;for(let F of y){let B,$,z;switch(F.type){case n.db.LINETYPE.NOTE:nt.resetVerticalPos(),$=F.noteModel,await OHe(h,$);break;case n.db.LINETYPE.ACTIVE_START:nt.newActivation(F,h,f);break;case n.db.LINETYPE.ACTIVE_END:T(F,nt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:zc(_,F,Le.boxMargin,Le.boxMargin+Le.boxTextMargin,W=>nt.newLoop(W));break;case n.db.LINETYPE.LOOP_END:B=nt.endLoop(),await ui.drawLoop(h,B,"loop",Le),nt.bumpVerticalPos(B.stopy-nt.getVerticalPos()),nt.models.addLoop(B);break;case n.db.LINETYPE.RECT_START:zc(_,F,Le.boxMargin,Le.boxMargin,W=>nt.newLoop(void 0,W.message));break;case n.db.LINETYPE.RECT_END:B=nt.endLoop(),A.push(B),nt.models.addLoop(B),nt.bumpVerticalPos(B.stopy-nt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:zc(_,F,Le.boxMargin,Le.boxMargin+Le.boxTextMargin,W=>nt.newLoop(W));break;case n.db.LINETYPE.OPT_END:B=nt.endLoop(),await ui.drawLoop(h,B,"opt",Le),nt.bumpVerticalPos(B.stopy-nt.getVerticalPos()),nt.models.addLoop(B);break;case n.db.LINETYPE.ALT_START:zc(_,F,Le.boxMargin,Le.boxMargin+Le.boxTextMargin,W=>nt.newLoop(W));break;case n.db.LINETYPE.ALT_ELSE:zc(_,F,Le.boxMargin+Le.boxTextMargin,Le.boxMargin,W=>nt.addSectionToLoop(W));break;case n.db.LINETYPE.ALT_END:B=nt.endLoop(),await ui.drawLoop(h,B,"alt",Le),nt.bumpVerticalPos(B.stopy-nt.getVerticalPos()),nt.models.addLoop(B);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:zc(_,F,Le.boxMargin,Le.boxMargin+Le.boxTextMargin,W=>nt.newLoop(W)),nt.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:zc(_,F,Le.boxMargin+Le.boxTextMargin,Le.boxMargin,W=>nt.addSectionToLoop(W));break;case n.db.LINETYPE.PAR_END:B=nt.endLoop(),await ui.drawLoop(h,B,"par",Le),nt.bumpVerticalPos(B.stopy-nt.getVerticalPos()),nt.models.addLoop(B);break;case n.db.LINETYPE.AUTONUMBER:E=F.message.start||E,L=F.message.step||L,F.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:zc(_,F,Le.boxMargin,Le.boxMargin+Le.boxTextMargin,W=>nt.newLoop(W));break;case n.db.LINETYPE.CRITICAL_OPTION:zc(_,F,Le.boxMargin+Le.boxTextMargin,Le.boxMargin,W=>nt.addSectionToLoop(W));break;case n.db.LINETYPE.CRITICAL_END:B=nt.endLoop(),await ui.drawLoop(h,B,"critical",Le),nt.bumpVerticalPos(B.stopy-nt.getVerticalPos()),nt.models.addLoop(B);break;case n.db.LINETYPE.BREAK_START:zc(_,F,Le.boxMargin,Le.boxMargin+Le.boxTextMargin,W=>nt.newLoop(W));break;case n.db.LINETYPE.BREAK_END:B=nt.endLoop(),await ui.drawLoop(h,B,"break",Le),nt.bumpVerticalPos(B.stopy-nt.getVerticalPos()),nt.models.addLoop(B);break;default:try{z=F.msgModel,z.starty=nt.getVerticalPos(),z.sequenceIndex=E,z.sequenceVisible=n.db.showSequenceNumbers();let W=await PHe(h,z);zHe(F,z,W,I,f,d,p),C.push({messageModel:z,lineStartY:W}),nt.models.addMessage(z)}catch(W){Y.error("error while drawing message",W)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(F.type)&&(E=E+L),I++}Y.debug("createdActors",d),Y.debug("destroyedActors",p),await LO(h,f,g,!1);for(let F of C)await BHe(h,F.messageModel,F.lineStartY,n);Le.mirrorActors&&await LO(h,f,g,!0),A.forEach(F=>ui.drawBackgroundRect(h,F)),CO(h,f,g,Le);for(let F of nt.models.boxes)F.height=nt.getVerticalPos()-F.y,nt.insert(F.x,F.y,F.x+F.width,F.height),F.startx=F.x,F.starty=F.y,F.stopx=F.startx+F.width,F.stopy=F.starty+F.height,F.stroke="rgb(0,0,0, 0.5)",ui.drawBox(h,F,Le);x&&nt.bumpVerticalPos(Le.boxMargin);let D=cde(h,f,g,u),{bounds:k}=nt.getBounds();k.startx===void 0&&(k.startx=0),k.starty===void 0&&(k.starty=0),k.stopx===void 0&&(k.stopx=0),k.stopy===void 0&&(k.stopy=0);let R=k.stopy-k.starty;R2,d=o(y=>l?-y:y,"adjustValue");t.from===t.to?h=u:(t.activate&&!f&&(h+=d(Le.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(h+=d(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(u-=d(3)));let p=[n,i,a,s],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Ut.wrapLabel(t.message,je.getMax(m+2*Le.wrapPadding,Le.width),S0(Le)));let g=Ut.calculateTextDimensions(t.message,S0(Le));return{width:je.getMax(t.wrap?0:g.width+2*Le.wrapPadding,m+2*Le.wrapPadding,Le.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),YHe=o(async function(t,e,r,n){let i={},a=[],s,l,u;for(let h of t){switch(h.id=Ut.random({length:10}),h.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:h.id,msg:h.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:h.message&&(s=a.pop(),i[s.id]=s,i[h.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{let d=e.get(h.from?h.from:h.to.actor),p=TE(h.from?h.from:h.to.actor).length,m=d.x+d.width/2+(p-1)*Le.activationWidth/2,g={startx:m,stopx:m+Le.activationWidth,actor:h.from,enabled:!0};nt.activations.push(g)}break;case n.db.LINETYPE.ACTIVE_END:{let d=nt.activations.map(p=>p.actor).lastIndexOf(h.from);nt.activations.splice(d,1).splice(0,1)}break}h.placement!==void 0?(l=await HHe(h,e,n),h.noteModel=l,a.forEach(d=>{s=d,s.from=je.getMin(s.from,l.startx),s.to=je.getMax(s.to,l.startx+l.width),s.width=je.getMax(s.width,Math.abs(s.from-s.to))-Le.labelBoxWidth})):(u=WHe(h,e,n),h.msgModel=u,u.startx&&u.stopx&&a.length>0&&a.forEach(d=>{if(s=d,u.startx===u.stopx){let p=e.get(h.from),m=e.get(h.to);s.from=je.getMin(p.x-u.width/2,p.x-p.width/2,s.from),s.to=je.getMax(m.x+u.width/2,m.x+p.width/2,s.to),s.width=je.getMax(s.width,Math.abs(s.to-s.from))-Le.labelBoxWidth}else s.from=je.getMin(u.startx,s.from),s.to=je.getMax(u.stopx,s.to),s.width=je.getMax(s.width,u.width)-Le.labelBoxWidth}))}return nt.activations=[],Y.debug("Loop type widths:",i),i},"calculateLoopBounds"),hde={bounds:nt,drawActors:LO,drawActorsPopup:cde,setConf:ude,draw:GHe}});var dde={};vr(dde,{diagram:()=>qHe});var qHe,pde=M(()=>{"use strict";Hfe();Zfe();ede();fde();qHe={parser:Ufe,db:kO,renderer:hde,styles:Jfe,init:o(({wrap:t})=>{kO.setWrap(t)},"init")}});var DO,kE,NO=M(()=>{"use strict";DO=function(){var t=o(function(X,fe,he,ge){for(he=he||{},ge=X.length;ge--;he[X[ge]]=fe);return he},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,42],s=[1,26],l=[1,24],u=[1,25],h=[1,32],f=[1,33],d=[1,34],p=[1,45],m=[1,35],g=[1,36],y=[1,37],v=[1,38],x=[1,27],b=[1,28],w=[1,29],_=[1,30],T=[1,31],E=[1,44],L=[1,46],C=[1,43],A=[1,47],I=[1,9],D=[1,8,9],k=[1,58],R=[1,59],S=[1,60],O=[1,61],N=[1,62],P=[1,63],F=[1,64],B=[1,8,9,41],$=[1,76],z=[1,8,9,12,13,22,39,41,44,66,67,68,69,70,71,72,77,79],W=[1,8,9,12,13,17,20,22,39,41,44,48,58,66,67,68,69,70,71,72,77,79,84,99,101,102],j=[13,58,84,99,101,102],K=[13,58,71,72,84,99,101,102],ie=[13,58,66,67,68,69,70,84,99,101,102],Q=[1,98],ee=[1,115],J=[1,107],H=[1,113],q=[1,108],Z=[1,109],ae=[1,110],ue=[1,111],ce=[1,112],te=[1,114],De=[22,58,59,80,84,85,86,87,88,89],oe=[1,8,9,39,41,44],ke=[1,8,9,22],Fe=[1,143],Be=[1,8,9,59],Ve=[1,8,9,22,58,59,80,84,85,86,87,88,89],Ge={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,DOT:17,className:18,classLiteralName:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,ANNOTATION_START:47,ANNOTATION_END:48,MEMBER:49,SEPARATOR:50,relation:51,NOTE_FOR:52,noteText:53,NOTE:54,CLASSDEF:55,classList:56,stylesOpt:57,ALPHA:58,COMMA:59,direction_tb:60,direction_bt:61,direction_rl:62,direction_lr:63,relationType:64,lineType:65,AGGREGATION:66,EXTENSION:67,COMPOSITION:68,DEPENDENCY:69,LOLLIPOP:70,LINE:71,DOTTED_LINE:72,CALLBACK:73,LINK:74,LINK_TARGET:75,CLICK:76,CALLBACK_NAME:77,CALLBACK_ARGS:78,HREF:79,STYLE:80,CSSCLASS:81,style:82,styleComponent:83,NUM:84,COLON:85,UNIT:86,SPACE:87,BRKT:88,PCT:89,commentToken:90,textToken:91,graphCodeTokens:92,textNoTagsToken:93,TAGSTART:94,TAGEND:95,"==":96,"--":97,DEFAULT:98,MINUS:99,keywords:100,UNICODE_TEXT:101,BQUOTE_STR:102,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",17:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",47:"ANNOTATION_START",48:"ANNOTATION_END",49:"MEMBER",50:"SEPARATOR",52:"NOTE_FOR",54:"NOTE",55:"CLASSDEF",58:"ALPHA",59:"COMMA",60:"direction_tb",61:"direction_bt",62:"direction_rl",63:"direction_lr",66:"AGGREGATION",67:"EXTENSION",68:"COMPOSITION",69:"DEPENDENCY",70:"LOLLIPOP",71:"LINE",72:"DOTTED_LINE",73:"CALLBACK",74:"LINK",75:"LINK_TARGET",76:"CLICK",77:"CALLBACK_NAME",78:"CALLBACK_ARGS",79:"HREF",80:"STYLE",81:"CSSCLASS",84:"NUM",85:"COLON",86:"UNIT",87:"SPACE",88:"BRKT",89:"PCT",92:"graphCodeTokens",94:"TAGSTART",95:"TAGEND",96:"==",97:"--",98:"DEFAULT",99:"MINUS",100:"keywords",101:"UNICODE_TEXT",102:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,3],[15,2],[18,1],[18,3],[18,1],[18,2],[18,2],[18,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,6],[43,2],[43,3],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[56,1],[56,3],[32,1],[32,1],[32,1],[32,1],[51,3],[51,2],[51,2],[51,1],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[57,1],[57,3],[82,1],[82,2],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[90,1],[90,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[93,1],[93,1],[93,1],[93,1],[16,1],[16,1],[16,1],[16,1],[19,1],[53,1]],performAction:o(function(fe,he,ge,ne,ye,U,Te){var se=U.length-1;switch(ye){case 8:this.$=U[se-1];break;case 9:case 12:case 14:this.$=U[se];break;case 10:case 13:this.$=U[se-2]+"."+U[se];break;case 11:case 15:this.$=U[se-1]+U[se];break;case 16:case 17:this.$=U[se-1]+"~"+U[se]+"~";break;case 18:ne.addRelation(U[se]);break;case 19:U[se-1].title=ne.cleanupLabel(U[se]),ne.addRelation(U[se-1]);break;case 30:this.$=U[se].trim(),ne.setAccTitle(this.$);break;case 31:case 32:this.$=U[se].trim(),ne.setAccDescription(this.$);break;case 33:ne.addClassesToNamespace(U[se-3],U[se-1]);break;case 34:ne.addClassesToNamespace(U[se-4],U[se-1]);break;case 35:this.$=U[se],ne.addNamespace(U[se]);break;case 36:this.$=[U[se]];break;case 37:this.$=[U[se-1]];break;case 38:U[se].unshift(U[se-2]),this.$=U[se];break;case 40:ne.setCssClass(U[se-2],U[se]);break;case 41:ne.addMembers(U[se-3],U[se-1]);break;case 42:ne.setCssClass(U[se-5],U[se-3]),ne.addMembers(U[se-5],U[se-1]);break;case 43:this.$=U[se],ne.addClass(U[se]);break;case 44:this.$=U[se-1],ne.addClass(U[se-1]),ne.setClassLabel(U[se-1],U[se]);break;case 45:ne.addAnnotation(U[se],U[se-2]);break;case 46:case 59:this.$=[U[se]];break;case 47:U[se].push(U[se-1]),this.$=U[se];break;case 48:break;case 49:ne.addMember(U[se-1],ne.cleanupLabel(U[se]));break;case 50:break;case 51:break;case 52:this.$={id1:U[se-2],id2:U[se],relation:U[se-1],relationTitle1:"none",relationTitle2:"none"};break;case 53:this.$={id1:U[se-3],id2:U[se],relation:U[se-1],relationTitle1:U[se-2],relationTitle2:"none"};break;case 54:this.$={id1:U[se-3],id2:U[se],relation:U[se-2],relationTitle1:"none",relationTitle2:U[se-1]};break;case 55:this.$={id1:U[se-4],id2:U[se],relation:U[se-2],relationTitle1:U[se-3],relationTitle2:U[se-1]};break;case 56:ne.addNote(U[se],U[se-1]);break;case 57:ne.addNote(U[se]);break;case 58:this.$=U[se-2],ne.defineClass(U[se-1],U[se]);break;case 60:this.$=U[se-2].concat([U[se]]);break;case 61:ne.setDirection("TB");break;case 62:ne.setDirection("BT");break;case 63:ne.setDirection("RL");break;case 64:ne.setDirection("LR");break;case 65:this.$={type1:U[se-2],type2:U[se],lineType:U[se-1]};break;case 66:this.$={type1:"none",type2:U[se],lineType:U[se-1]};break;case 67:this.$={type1:U[se-1],type2:"none",lineType:U[se]};break;case 68:this.$={type1:"none",type2:"none",lineType:U[se]};break;case 69:this.$=ne.relationType.AGGREGATION;break;case 70:this.$=ne.relationType.EXTENSION;break;case 71:this.$=ne.relationType.COMPOSITION;break;case 72:this.$=ne.relationType.DEPENDENCY;break;case 73:this.$=ne.relationType.LOLLIPOP;break;case 74:this.$=ne.lineType.LINE;break;case 75:this.$=ne.lineType.DOTTED_LINE;break;case 76:case 82:this.$=U[se-2],ne.setClickEvent(U[se-1],U[se]);break;case 77:case 83:this.$=U[se-3],ne.setClickEvent(U[se-2],U[se-1]),ne.setTooltip(U[se-2],U[se]);break;case 78:this.$=U[se-2],ne.setLink(U[se-1],U[se]);break;case 79:this.$=U[se-3],ne.setLink(U[se-2],U[se-1],U[se]);break;case 80:this.$=U[se-3],ne.setLink(U[se-2],U[se-1]),ne.setTooltip(U[se-2],U[se]);break;case 81:this.$=U[se-4],ne.setLink(U[se-3],U[se-2],U[se]),ne.setTooltip(U[se-3],U[se-1]);break;case 84:this.$=U[se-3],ne.setClickEvent(U[se-2],U[se-1],U[se]);break;case 85:this.$=U[se-4],ne.setClickEvent(U[se-3],U[se-2],U[se-1]),ne.setTooltip(U[se-3],U[se]);break;case 86:this.$=U[se-3],ne.setLink(U[se-2],U[se]);break;case 87:this.$=U[se-4],ne.setLink(U[se-3],U[se-1],U[se]);break;case 88:this.$=U[se-4],ne.setLink(U[se-3],U[se-1]),ne.setTooltip(U[se-3],U[se]);break;case 89:this.$=U[se-5],ne.setLink(U[se-4],U[se-2],U[se]),ne.setTooltip(U[se-4],U[se-1]);break;case 90:this.$=U[se-2],ne.setCssStyle(U[se-1],U[se]);break;case 91:ne.setCssClass(U[se-1],U[se]);break;case 92:this.$=[U[se]];break;case 93:U[se-2].push(U[se]),this.$=U[se-2];break;case 95:this.$=U[se-1]+U[se];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,47:s,49:l,50:u,52:h,54:f,55:d,58:p,60:m,61:g,62:y,63:v,73:x,74:b,76:w,80:_,81:T,84:E,99:L,101:C,102:A},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(I,[2,5],{8:[1,48]}),{8:[1,49]},t(D,[2,18],{22:[1,50]}),t(D,[2,20]),t(D,[2,21]),t(D,[2,22]),t(D,[2,23]),t(D,[2,24]),t(D,[2,25]),t(D,[2,26]),t(D,[2,27]),t(D,[2,28]),t(D,[2,29]),{34:[1,51]},{36:[1,52]},t(D,[2,32]),t(D,[2,48],{51:53,64:56,65:57,13:[1,54],22:[1,55],66:k,67:R,68:S,69:O,70:N,71:P,72:F}),{39:[1,65]},t(B,[2,39],{39:[1,67],44:[1,66]}),t(D,[2,50]),t(D,[2,51]),{16:68,58:p,84:E,99:L,101:C},{16:39,18:69,19:40,58:p,84:E,99:L,101:C,102:A},{16:39,18:70,19:40,58:p,84:E,99:L,101:C,102:A},{16:39,18:71,19:40,58:p,84:E,99:L,101:C,102:A},{58:[1,72]},{13:[1,73]},{16:39,18:74,19:40,58:p,84:E,99:L,101:C,102:A},{13:$,53:75},{56:77,58:[1,78]},t(D,[2,61]),t(D,[2,62]),t(D,[2,63]),t(D,[2,64]),t(z,[2,12],{16:39,19:40,18:80,17:[1,79],20:[1,81],58:p,84:E,99:L,101:C,102:A}),t(z,[2,14],{20:[1,82]}),{15:83,16:84,58:p,84:E,99:L,101:C},{16:39,18:85,19:40,58:p,84:E,99:L,101:C,102:A},t(W,[2,118]),t(W,[2,119]),t(W,[2,120]),t(W,[2,121]),t([1,8,9,12,13,20,22,39,41,44,66,67,68,69,70,71,72,77,79],[2,122]),t(I,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,18:21,38:22,43:23,16:39,19:40,5:86,33:e,35:r,37:n,42:i,46:a,47:s,49:l,50:u,52:h,54:f,55:d,58:p,60:m,61:g,62:y,63:v,73:x,74:b,76:w,80:_,81:T,84:E,99:L,101:C,102:A}),{5:87,10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,47:s,49:l,50:u,52:h,54:f,55:d,58:p,60:m,61:g,62:y,63:v,73:x,74:b,76:w,80:_,81:T,84:E,99:L,101:C,102:A},t(D,[2,19]),t(D,[2,30]),t(D,[2,31]),{13:[1,89],16:39,18:88,19:40,58:p,84:E,99:L,101:C,102:A},{51:90,64:56,65:57,66:k,67:R,68:S,69:O,70:N,71:P,72:F},t(D,[2,49]),{65:91,71:P,72:F},t(j,[2,68],{64:92,66:k,67:R,68:S,69:O,70:N}),t(K,[2,69]),t(K,[2,70]),t(K,[2,71]),t(K,[2,72]),t(K,[2,73]),t(ie,[2,74]),t(ie,[2,75]),{8:[1,94],24:95,40:93,43:23,46:a},{16:96,58:p,84:E,99:L,101:C},{45:97,49:Q},{48:[1,99]},{13:[1,100]},{13:[1,101]},{77:[1,102],79:[1,103]},{22:ee,57:104,58:J,80:H,82:105,83:106,84:q,85:Z,86:ae,87:ue,88:ce,89:te},{58:[1,116]},{13:$,53:117},t(D,[2,57]),t(D,[2,123]),{22:ee,57:118,58:J,59:[1,119],80:H,82:105,83:106,84:q,85:Z,86:ae,87:ue,88:ce,89:te},t(De,[2,59]),{16:39,18:120,19:40,58:p,84:E,99:L,101:C,102:A},t(z,[2,15]),t(z,[2,16]),t(z,[2,17]),{39:[2,35]},{15:122,16:84,17:[1,121],39:[2,9],58:p,84:E,99:L,101:C},t(oe,[2,43],{11:123,12:[1,124]}),t(I,[2,7]),{9:[1,125]},t(ke,[2,52]),{16:39,18:126,19:40,58:p,84:E,99:L,101:C,102:A},{13:[1,128],16:39,18:127,19:40,58:p,84:E,99:L,101:C,102:A},t(j,[2,67],{64:129,66:k,67:R,68:S,69:O,70:N}),t(j,[2,66]),{41:[1,130]},{24:95,40:131,43:23,46:a},{8:[1,132],41:[2,36]},t(B,[2,40],{39:[1,133]}),{41:[1,134]},{41:[2,46],45:135,49:Q},{16:39,18:136,19:40,58:p,84:E,99:L,101:C,102:A},t(D,[2,76],{13:[1,137]}),t(D,[2,78],{13:[1,139],75:[1,138]}),t(D,[2,82],{13:[1,140],78:[1,141]}),{13:[1,142]},t(D,[2,90],{59:Fe}),t(Be,[2,92],{83:144,22:ee,58:J,80:H,84:q,85:Z,86:ae,87:ue,88:ce,89:te}),t(Ve,[2,94]),t(Ve,[2,96]),t(Ve,[2,97]),t(Ve,[2,98]),t(Ve,[2,99]),t(Ve,[2,100]),t(Ve,[2,101]),t(Ve,[2,102]),t(Ve,[2,103]),t(Ve,[2,104]),t(D,[2,91]),t(D,[2,56]),t(D,[2,58],{59:Fe}),{58:[1,145]},t(z,[2,13]),{15:146,16:84,58:p,84:E,99:L,101:C},{39:[2,11]},t(oe,[2,44]),{13:[1,147]},{1:[2,4]},t(ke,[2,54]),t(ke,[2,53]),{16:39,18:148,19:40,58:p,84:E,99:L,101:C,102:A},t(j,[2,65]),t(D,[2,33]),{41:[1,149]},{24:95,40:150,41:[2,37],43:23,46:a},{45:151,49:Q},t(B,[2,41]),{41:[2,47]},t(D,[2,45]),t(D,[2,77]),t(D,[2,79]),t(D,[2,80],{75:[1,152]}),t(D,[2,83]),t(D,[2,84],{13:[1,153]}),t(D,[2,86],{13:[1,155],75:[1,154]}),{22:ee,58:J,80:H,82:156,83:106,84:q,85:Z,86:ae,87:ue,88:ce,89:te},t(Ve,[2,95]),t(De,[2,60]),{39:[2,10]},{14:[1,157]},t(ke,[2,55]),t(D,[2,34]),{41:[2,38]},{41:[1,158]},t(D,[2,81]),t(D,[2,85]),t(D,[2,87]),t(D,[2,88],{75:[1,159]}),t(Be,[2,93],{83:144,22:ee,58:J,80:H,84:q,85:Z,86:ae,87:ue,88:ce,89:te}),t(oe,[2,8]),t(B,[2,42]),t(D,[2,89])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,35],122:[2,11],125:[2,4],135:[2,47],146:[2,10],150:[2,38]},parseError:o(function(fe,he){if(he.recoverable)this.trace(fe);else{var ge=new Error(fe);throw ge.hash=he,ge}},"parseError"),parse:o(function(fe){var he=this,ge=[0],ne=[],ye=[null],U=[],Te=this.table,se="",Ee=0,Ae=0,Pe=0,Me=2,me=1,We=U.slice.call(arguments,1),Re=Object.create(this.lexer),tt={yy:{}};for(var gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gt)&&(tt.yy[gt]=this.yy[gt]);Re.setInput(fe,tt.yy),tt.yy.lexer=Re,tt.yy.parser=this,typeof Re.yylloc>"u"&&(Re.yylloc={});var Et=Re.yylloc;U.push(Et);var vt=Re.options&&Re.options.ranges;typeof tt.yy.parseError=="function"?this.parseError=tt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ye(or){ge.length=ge.length-2*or,ye.length=ye.length-or,U.length=U.length-or}o(Ye,"popStack");function Tt(){var or;return or=ne.pop()||Re.lex()||me,typeof or!="number"&&(or instanceof Array&&(ne=or,or=ne.pop()),or=he.symbols_[or]||or),or}o(Tt,"lex");for(var $e,rt,ft,kt,er,dt,Xe={},ct,Lt,Rt,zt;;){if(ft=ge[ge.length-1],this.defaultActions[ft]?kt=this.defaultActions[ft]:(($e===null||typeof $e>"u")&&($e=Tt()),kt=Te[ft]&&Te[ft][$e]),typeof kt>"u"||!kt.length||!kt[0]){var Xn="";zt=[];for(ct in Te[ft])this.terminals_[ct]&&ct>Me&&zt.push("'"+this.terminals_[ct]+"'");Re.showPosition?Xn="Parse error on line "+(Ee+1)+`: `+Re.showPosition()+` Expecting `+zt.join(", ")+", got '"+(this.terminals_[$e]||$e)+"'":Xn="Parse error on line "+(Ee+1)+": Unexpected "+($e==me?"end of input":"'"+(this.terminals_[$e]||$e)+"'"),this.parseError(Xn,{text:Re.match,token:this.terminals_[$e]||$e,line:Re.yylineno,loc:Et,expected:zt})}if(kt[0]instanceof Array&&kt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ft+", token: "+$e);switch(kt[0]){case 1:ge.push($e),ye.push(Re.yytext),U.push(Re.yylloc),ge.push(kt[1]),$e=null,rt?($e=rt,rt=null):(Ae=Re.yyleng,se=Re.yytext,Ee=Re.yylineno,Et=Re.yylloc,Pe>0&&Pe--);break;case 2:if(Lt=this.productions_[kt[1]][1],Xe.$=ye[ye.length-Lt],Xe._$={first_line:U[U.length-(Lt||1)].first_line,last_line:U[U.length-1].last_line,first_column:U[U.length-(Lt||1)].first_column,last_column:U[U.length-1].last_column},vt&&(Xe._$.range=[U[U.length-(Lt||1)].range[0],U[U.length-1].range[1]]),dt=this.performAction.apply(Xe,[se,Ae,Ee,tt.yy,kt[1],ye,U].concat(We)),typeof dt<"u")return dt;Lt&&(ge=ge.slice(0,-1*Lt*2),ye=ye.slice(0,-1*Lt),U=U.slice(0,-1*Lt)),ge.push(this.productions_[kt[1]][0]),ye.push(Xe.$),U.push(Xe._$),Rt=Te[ge[ge.length-2]][ge[ge.length-1]],ge.push(Rt);break;case 3:return!0}}return!0},"parse")},He=function(){var X={EOF:1,parseError:o(function(he,ge){if(this.yy.parser)this.yy.parser.parseError(he,ge);else throw new Error(he)},"parseError"),setInput:o(function(fe,he){return this.yy=he||this.yy||{},this._input=fe,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var fe=this._input[0];this.yytext+=fe,this.yyleng++,this.offset++,this.match+=fe,this.matched+=fe;var he=fe.match(/(?:\r\n?|\n).*/g);return he?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),fe},"input"),unput:o(function(fe){var he=fe.length,ge=fe.split(/(?:\r\n?|\n)/g);this._input=fe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-he),this.offset-=he;var ne=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ge.length-1&&(this.yylineno-=ge.length-1);var ye=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ge?(ge.length===ne.length?this.yylloc.first_column:0)+ne[ne.length-ge.length].length-ge[0].length:this.yylloc.first_column-he},this.options.ranges&&(this.yylloc.range=[ye[0],ye[0]+this.yyleng-he]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(fe){this.unput(this.match.slice(fe))},"less"),pastInput:o(function(){var fe=this.matched.substr(0,this.matched.length-this.match.length);return(fe.length>20?"...":"")+fe.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var fe=this.match;return fe.length<20&&(fe+=this._input.substr(0,20-fe.length)),(fe.substr(0,20)+(fe.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var fe=this.pastInput(),he=new Array(fe.length+1).join("-");return fe+this.upcomingInput()+` `+he+"^"},"showPosition"),test_match:o(function(fe,he){var ge,ne,ye;if(this.options.backtrack_lexer&&(ye={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ye.yylloc.range=this.yylloc.range.slice(0))),ne=fe[0].match(/(?:\r\n?|\n).*/g),ne&&(this.yylineno+=ne.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ne?ne[ne.length-1].length-ne[ne.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+fe[0].length},this.yytext+=fe[0],this.match+=fe[0],this.matches=fe,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(fe[0].length),this.matched+=fe[0],ge=this.performAction.call(this,this.yy,this,he,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ge)return ge;if(this._backtrack){for(var U in ye)this[U]=ye[U];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var fe,he,ge,ne;this._more||(this.yytext="",this.match="");for(var ye=this._currentRules(),U=0;Uhe[0].length)){if(he=ge,ne=U,this.options.backtrack_lexer){if(fe=this.test_match(ge,ye[U]),fe!==!1)return fe;if(this._backtrack){he=!1;continue}else return!1}else if(!this.options.flex)break}return he?(fe=this.test_match(he,ye[ne]),fe!==!1?fe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var he=this.next();return he||this.lex()},"lex"),begin:o(function(he){this.conditionStack.push(he)},"begin"),popState:o(function(){var he=this.conditionStack.length-1;return he>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(he){return he=this.conditionStack.length-1-Math.abs(he||0),he>=0?this.conditionStack[he]:"INITIAL"},"topState"),pushState:o(function(he){this.begin(he)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(he,ge,ne,ye){var U=ye;switch(ne){case 0:return 60;case 1:return 61;case 2:return 62;case 3:return 63;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),35;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 77;case 22:this.popState();break;case 23:return 78;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 80;case 28:return 55;case 29:return this.begin("namespace"),42;break;case 30:return this.popState(),8;break;case 31:break;case 32:return this.begin("namespace-body"),39;break;case 33:return this.popState(),41;break;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),46;break;case 39:return this.popState(),8;break;case 40:break;case 41:return this.popState(),this.popState(),41;break;case 42:return this.begin("class-body"),39;break;case 43:return this.popState(),41;break;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 81;case 50:return 73;case 51:return 74;case 52:return 76;case 53:return 52;case 54:return 54;case 55:return 47;case 56:return 48;case 57:return 79;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 75;case 65:return 75;case 66:return 75;case 67:return 75;case 68:return 67;case 69:return 67;case 70:return 69;case 71:return 69;case 72:return 68;case 73:return 66;case 74:return 70;case 75:return 71;case 76:return 72;case 77:return 22;case 78:return 44;case 79:return 99;case 80:return 17;case 81:return"PLUS";case 82:return 85;case 83:return 59;case 84:return 88;case 85:return 88;case 86:return 89;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 58;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 84;case 94:return 101;case 95:return 87;case 96:return 87;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return X}();Ge.lexer=He;function xe(){this.yy={}}return o(xe,"Parser"),xe.prototype=Ge,Ge.Parser=xe,new xe}();DO.parser=DO;kE=DO});var yde,Tx,vde=M(()=>{"use strict";Vt();fr();yde=["#","+","~","-",""],Tx=class{static{o(this,"ClassMember")}constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";let n=Tr(e,de());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+ou(this.id);this.memberType==="method"&&(e+=`(${ou(this.parameters.trim())})`,this.returnType&&(e+=" : "+ou(this.returnType))),e=e.trim();let r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){let a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){let s=a[1]?a[1].trim():"";if(yde.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){let l=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(l)&&(r=l,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let i=e.length,a=e.substring(0,1),s=e.substring(i-1);yde.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let n=`${this.visibility?"\\"+this.visibility:""}${ou(this.id)}${this.memberType==="method"?`(${ou(this.parameters)})${this.returnType?" : "+ou(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}});function Tde(t){let e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}var EE,SE,Ln,xde,kx,Gg,bde,$l,RO,Ex,C0,A0,QHe,zg,wde,kde,ZHe,JHe,eWe,tWe,rWe,nWe,iWe,Ede,aWe,sWe,oWe,MO,lWe,cWe,uWe,hWe,fWe,dWe,pWe,mWe,mf,Sde,IO,Cde,gWe,yWe,vWe,xWe,bWe,wWe,TWe,$g,OO=M(()=>{"use strict";mr();ht();Vt();fr();hr();ki();vde();EE="classId-",SE=[],Ln=new Map,xde=new Map,kx=[],Gg=[],bde=0,$l=new Map,RO=0,Ex=[],C0=o(t=>je.sanitizeText(t,de()),"sanitizeText"),A0=o(function(t){let e=je.sanitizeText(t,de()),r="",n=e;if(e.indexOf("~")>0){let i=e.split("~");n=C0(i[0]),r=C0(i[1])}return{className:n,type:r}},"splitClassNameAndType"),QHe=o(function(t,e){let r=je.sanitizeText(t,de());e&&(e=C0(e));let{className:n}=A0(r);Ln.get(n).label=e,Ln.get(n).text=`${e}${Ln.get(n).type?`<${Ln.get(n).type}>`:""}`},"setClassLabel"),zg=o(function(t){let e=je.sanitizeText(t,de()),{className:r,type:n}=A0(e);if(Ln.has(r))return;let i=je.sanitizeText(r,de());Ln.set(i,{id:i,type:n,label:i,text:`${i}${n?`<${n}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:EE+i+"-"+bde}),bde++},"addClass"),wde=o(function(t,e){let r={id:`interface${Gg.length}`,label:t,classId:e};Gg.push(r)},"addInterface"),kde=o(function(t){let e=je.sanitizeText(t,de());if(Ln.has(e))return Ln.get(e).domId;throw new Error("Class not found: "+e)},"lookUpDomId"),ZHe=o(function(){SE=[],Ln=new Map,kx=[],Gg=[],Ex=[],Ex.push(Sde),$l=new Map,RO=0,IO="TB",_r()},"clear"),JHe=o(function(t){return Ln.get(t)},"getClass"),eWe=o(function(){return Ln},"getClasses"),tWe=o(function(){return SE},"getRelations"),rWe=o(function(){return kx},"getNotes"),nWe=o(function(t){Y.debug("Adding relation: "+JSON.stringify(t));let e=[mf.LOLLIPOP,mf.AGGREGATION,mf.COMPOSITION,mf.DEPENDENCY,mf.EXTENSION];t.relation.type1===mf.LOLLIPOP&&!e.includes(t.relation.type2)?(zg(t.id2),wde(t.id1,t.id2),t.id1=`interface${Gg.length-1}`):t.relation.type2===mf.LOLLIPOP&&!e.includes(t.relation.type1)?(zg(t.id1),wde(t.id2,t.id1),t.id2=`interface${Gg.length-1}`):(zg(t.id1),zg(t.id2)),t.id1=A0(t.id1).className,t.id2=A0(t.id2).className,t.relationTitle1=je.sanitizeText(t.relationTitle1.trim(),de()),t.relationTitle2=je.sanitizeText(t.relationTitle2.trim(),de()),SE.push(t)},"addRelation"),iWe=o(function(t,e){let r=A0(t).className;Ln.get(r).annotations.push(e)},"addAnnotation"),Ede=o(function(t,e){zg(t);let r=A0(t).className,n=Ln.get(r);if(typeof e=="string"){let i=e.trim();i.startsWith("<<")&&i.endsWith(">>")?n.annotations.push(C0(i.substring(2,i.length-2))):i.indexOf(")")>0?n.methods.push(new Tx(i,"method")):i&&n.members.push(new Tx(i,"attribute"))}},"addMember"),aWe=o(function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach(r=>Ede(t,r)))},"addMembers"),sWe=o(function(t,e){let r={id:`note${kx.length}`,class:e,text:t};kx.push(r)},"addNote"),oWe=o(function(t){return t.startsWith(":")&&(t=t.substring(1)),C0(t.trim())},"cleanupLabel"),MO=o(function(t,e){t.split(",").forEach(function(r){let n=r;/\d/.exec(r[0])&&(n=EE+n);let i=Ln.get(n);i&&(i.cssClasses+=" "+e)})},"setCssClass"),lWe=o(function(t,e){for(let r of t){let n=xde.get(r);n===void 0&&(n={id:r,styles:[],textStyles:[]},xde.set(r,n)),e&&e.forEach(function(i){if(/color/.exec(i)){let a=i.replace("fill","bgFill");n.textStyles.push(a)}n.styles.push(i)}),Ln.forEach(i=>{i.cssClasses.includes(r)&&i.styles.push(...e.flatMap(a=>a.split(",")))})}},"defineClass"),cWe=o(function(t,e){t.split(",").forEach(function(r){e!==void 0&&(Ln.get(r).tooltip=C0(e))})},"setTooltip"),uWe=o(function(t,e){return e&&$l.has(e)?$l.get(e).classes.get(t).tooltip:Ln.get(t).tooltip},"getTooltip"),hWe=o(function(t,e,r){let n=de();t.split(",").forEach(function(i){let a=i;/\d/.exec(i[0])&&(a=EE+a);let s=Ln.get(a);s&&(s.link=Ut.formatUrl(e,n),n.securityLevel==="sandbox"?s.linkTarget="_top":typeof r=="string"?s.linkTarget=C0(r):s.linkTarget="_blank")}),MO(t,"clickable")},"setLink"),fWe=o(function(t,e,r){t.split(",").forEach(function(n){dWe(n,e,r),Ln.get(n).haveCallback=!0}),MO(t,"clickable")},"setClickEvent"),dWe=o(function(t,e,r){let n=je.sanitizeText(t,de());if(de().securityLevel!=="loose"||e===void 0)return;let a=n;if(Ln.has(a)){let s=kde(a),l=[];if(typeof r=="string"){l=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let u=0;u")),i.classed("hover",!0)}).on("mouseout",function(){e.transition().duration(500).style("opacity",0),ze(this).classed("hover",!1)})},"setupToolTips");Ex.push(Sde);IO="TB",Cde=o(()=>IO,"getDirection"),gWe=o(t=>{IO=t},"setDirection"),yWe=o(function(t){$l.has(t)||($l.set(t,{id:t,classes:new Map,children:{},domId:EE+t+"-"+RO}),RO++)},"addNamespace"),vWe=o(function(t){return $l.get(t)},"getNamespace"),xWe=o(function(){return $l},"getNamespaces"),bWe=o(function(t,e){if($l.has(t))for(let r of e){let{className:n}=A0(r);Ln.get(n).parent=t,$l.get(t).classes.set(n,Ln.get(n))}},"addClassesToNamespace"),wWe=o(function(t,e){let r=Ln.get(t);if(!(!e||!r))for(let n of e)n.includes(",")?r.styles.push(...n.split(",")):r.styles.push(n)},"setCssStyle");o(Tde,"getArrowMarker");TWe=o(()=>{let t=[],e=[],r=de();for(let i of $l.keys()){let a=$l.get(i);if(a){let s={id:a.id,label:a.id,isGroup:!0,padding:r.class.padding??16,shape:"rect",cssStyles:["fill: none","stroke: black"],look:r.look};t.push(s)}}for(let i of Ln.keys()){let a=Ln.get(i);if(a){let s=a;s.parentId=a.parent,s.look=r.look,t.push(s)}}let n=0;for(let i of kx){n++;let a={id:i.id,label:i.text,isGroup:!1,shape:"note",padding:r.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${r.themeVariables.noteBkgColor}`,`stroke: ${r.themeVariables.noteBorderColor}`],look:r.look};t.push(a);let s=Ln.get(i.class)?.id??"";if(s){let l={id:`edgeNote${n}`,start:i.id,end:s,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:r.look};e.push(l)}}for(let i of Gg){let a={id:i.id,label:i.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:r.look};t.push(a)}n=0;for(let i of SE){n++;let a={id:p5(i.id1,i.id2,{prefix:"id",counter:n}),start:i.id1,end:i.id2,type:"normal",label:i.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:Tde(i.relation.type1),arrowTypeEnd:Tde(i.relation.type2),startLabelRight:i.relationTitle1==="none"?"":i.relationTitle1,endLabelLeft:i.relationTitle2==="none"?"":i.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:i.style||"",pattern:i.relation.lineType==1?"dashed":"solid",look:r.look};e.push(a)}return{nodes:t,edges:e,other:{},config:r,direction:Cde()}},"getData"),$g={setAccTitle:Rr,getAccTitle:Pr,getAccDescription:Fr,setAccDescription:Br,getConfig:o(()=>de().class,"getConfig"),addClass:zg,bindFunctions:pWe,clear:ZHe,getClass:JHe,getClasses:eWe,getNotes:rWe,addAnnotation:iWe,addNote:sWe,getRelations:tWe,addRelation:nWe,getDirection:Cde,setDirection:gWe,addMember:Ede,addMembers:aWe,cleanupLabel:oWe,lineType:mWe,relationType:mf,setClickEvent:fWe,setCssClass:MO,defineClass:lWe,setLink:hWe,getTooltip:uWe,setTooltip:cWe,lookUpDomId:kde,setDiagramTitle:ln,getDiagramTitle:Jr,setClassLabel:QHe,addNamespace:yWe,addClassesToNamespace:bWe,getNamespace:vWe,getNamespaces:xWe,setCssStyle:wWe,getData:TWe}});var kWe,CE,PO=M(()=>{"use strict";kWe=o(t=>`g.classGroup text { fill: ${t.nodeBorder||t.classText}; stroke: none; font-family: ${t.fontFamily}; font-size: 10px; .title { font-weight: bolder; } } .nodeLabel, .edgeLabel { color: ${t.classText}; } .edgeLabel .label rect { fill: ${t.mainBkg}; } .label text { fill: ${t.classText}; } .labelBkg { background: ${t.mainBkg}; } .edgeLabel .label span { background: ${t.mainBkg}; } .classTitle { font-weight: bolder; } .node rect, .node circle, .node ellipse, .node polygon, .node path { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: 1px; } .divider { stroke: ${t.nodeBorder}; stroke-width: 1; } g.clickable { cursor: pointer; } g.classGroup rect { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; } g.classGroup line { stroke: ${t.nodeBorder}; stroke-width: 1; } .classLabel .box { stroke: none; stroke-width: 0; fill: ${t.mainBkg}; opacity: 0.5; } .classLabel .label { fill: ${t.nodeBorder}; font-size: 10px; } .relation { stroke: ${t.lineColor}; stroke-width: 1; fill: none; } .dashed-line{ stroke-dasharray: 3; } .dotted-line{ stroke-dasharray: 1 2; } #compositionStart, .composition { fill: ${t.lineColor} !important; stroke: ${t.lineColor} !important; stroke-width: 1; } #compositionEnd, .composition { fill: ${t.lineColor} !important; stroke: ${t.lineColor} !important; stroke-width: 1; } #dependencyStart, .dependency { fill: ${t.lineColor} !important; stroke: ${t.lineColor} !important; stroke-width: 1; } #dependencyStart, .dependency { fill: ${t.lineColor} !important; stroke: ${t.lineColor} !important; stroke-width: 1; } #extensionStart, .extension { fill: transparent !important; stroke: ${t.lineColor} !important; stroke-width: 1; } #extensionEnd, .extension { fill: transparent !important; stroke: ${t.lineColor} !important; stroke-width: 1; } #aggregationStart, .aggregation { fill: transparent !important; stroke: ${t.lineColor} !important; stroke-width: 1; } #aggregationEnd, .aggregation { fill: transparent !important; stroke: ${t.lineColor} !important; stroke-width: 1; } #lollipopStart, .lollipop { fill: ${t.mainBkg} !important; stroke: ${t.lineColor} !important; stroke-width: 1; } #lollipopEnd, .lollipop { fill: ${t.mainBkg} !important; stroke: ${t.lineColor} !important; stroke-width: 1; } .edgeTerminals { font-size: 11px; line-height: initial; } .classTitleText { text-anchor: middle; font-size: 18px; fill: ${t.textColor}; } `,"getStyles"),CE=kWe});var EWe,SWe,CWe,AE,BO=M(()=>{"use strict";Vt();ht();j5();Fv();uT();hr();EWe=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),SWe=o(function(t,e){return e.db.getClasses()},"getClasses"),CWe=o(async function(t,e,r,n){Y.info("REF0:"),Y.info("Drawing class diagram (v3)",e);let{securityLevel:i,state:a,layout:s}=de(),l=n.db.getData(),u=pm(e,i);l.type=n.type,l.layoutAlgorithm=cT(s),l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["aggregation","extension","composition","dependency","lollipop"],l.diagramId=e,await Fm(l,u);let h=8;Ut.insertTitle(u,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),zm(u,h,"classDiagram",a?.useMaxWidth??!0)},"draw"),AE={getClasses:SWe,draw:CWe,getDir:EWe}});var Ade={};vr(Ade,{diagram:()=>AWe});var AWe,_de=M(()=>{"use strict";NO();OO();PO();BO();AWe={parser:kE,db:$g,renderer:AE,styles:CE,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,$g.clear()},"init")}});var Nde={};vr(Nde,{diagram:()=>NWe});var NWe,Rde=M(()=>{"use strict";NO();OO();PO();BO();NWe={parser:kE,db:$g,renderer:AE,styles:CE,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,$g.clear()},"init")}});var FO,_E,zO=M(()=>{"use strict";FO=function(){var t=o(function(F,B,$,z){for($=$||{},z=F.length;z--;$[F[z]]=B);return $},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,16],u=[1,17],h=[1,18],f=[1,19],d=[1,32],p=[1,20],m=[1,21],g=[1,22],y=[1,23],v=[1,24],x=[1,26],b=[1,27],w=[1,28],_=[1,29],T=[1,30],E=[1,31],L=[1,34],C=[1,35],A=[1,36],I=[1,37],D=[1,33],k=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],R=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],S=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],O={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:o(function(B,$,z,W,j,K,ie){var Q=K.length-1;switch(j){case 3:return W.setRootDoc(K[Q]),K[Q];break;case 4:this.$=[];break;case 5:K[Q]!="nl"&&(K[Q-1].push(K[Q]),this.$=K[Q-1]);break;case 6:case 7:this.$=K[Q];break;case 8:this.$="nl";break;case 12:this.$=K[Q];break;case 13:let q=K[Q-1];q.description=W.trimColon(K[Q]),this.$=q;break;case 14:this.$={stmt:"relation",state1:K[Q-2],state2:K[Q]};break;case 15:let Z=W.trimColon(K[Q]);this.$={stmt:"relation",state1:K[Q-3],state2:K[Q-1],description:Z};break;case 19:this.$={stmt:"state",id:K[Q-3],type:"default",description:"",doc:K[Q-1]};break;case 20:var ee=K[Q],J=K[Q-2].trim();if(K[Q].match(":")){var H=K[Q].split(":");ee=H[0],J=[J,H[1]]}this.$={stmt:"state",id:ee,type:"default",description:J};break;case 21:this.$={stmt:"state",id:K[Q-3],type:"default",description:K[Q-5],doc:K[Q-1]};break;case 22:this.$={stmt:"state",id:K[Q],type:"fork"};break;case 23:this.$={stmt:"state",id:K[Q],type:"join"};break;case 24:this.$={stmt:"state",id:K[Q],type:"choice"};break;case 25:this.$={stmt:"state",id:W.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:K[Q-1].trim(),note:{position:K[Q-2].trim(),text:K[Q].trim()}};break;case 29:this.$=K[Q].trim(),W.setAccTitle(this.$);break;case 30:case 31:this.$=K[Q].trim(),W.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:K[Q-1].trim(),classes:K[Q].trim()};break;case 34:this.$={stmt:"style",id:K[Q-1].trim(),styleClass:K[Q].trim()};break;case 35:this.$={stmt:"applyClass",id:K[Q-1].trim(),styleClass:K[Q].trim()};break;case 36:W.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:W.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:W.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:W.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:K[Q].trim(),type:"default",description:""};break;case 44:this.$={stmt:"state",id:K[Q-2].trim(),classes:[K[Q].trim()],type:"default",description:""};break;case 45:this.$={stmt:"state",id:K[Q-2].trim(),classes:[K[Q].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:w,38:_,42:T,45:E,48:L,49:C,50:A,51:I,54:D},t(k,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:w,38:_,42:T,45:E,48:L,49:C,50:A,51:I,54:D},t(k,[2,7]),t(k,[2,8]),t(k,[2,9]),t(k,[2,10]),t(k,[2,11]),t(k,[2,12],{14:[1,39],15:[1,40]}),t(k,[2,16]),{18:[1,41]},t(k,[2,18],{20:[1,42]}),{23:[1,43]},t(k,[2,22]),t(k,[2,23]),t(k,[2,24]),t(k,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},t(k,[2,28]),{34:[1,48]},{36:[1,49]},t(k,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},t(R,[2,42],{55:[1,54]}),t(R,[2,43],{55:[1,55]}),t(k,[2,36]),t(k,[2,37]),t(k,[2,38]),t(k,[2,39]),t(k,[2,6]),t(k,[2,13]),{13:56,24:d,54:D},t(k,[2,17]),t(S,i,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},t(k,[2,29]),t(k,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},t(k,[2,14],{14:[1,67]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,68],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:w,38:_,42:T,45:E,48:L,49:C,50:A,51:I,54:D},t(k,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},t(k,[2,32]),t(k,[2,33]),t(k,[2,34]),t(k,[2,35]),t(R,[2,44]),t(R,[2,45]),t(k,[2,15]),t(k,[2,19]),t(S,i,{7:72}),t(k,[2,26]),t(k,[2,27]),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,73],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:w,38:_,42:T,45:E,48:L,49:C,50:A,51:I,54:D},t(k,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:o(function(B,$){if($.recoverable)this.trace(B);else{var z=new Error(B);throw z.hash=$,z}},"parseError"),parse:o(function(B){var $=this,z=[0],W=[],j=[null],K=[],ie=this.table,Q="",ee=0,J=0,H=0,q=2,Z=1,ae=K.slice.call(arguments,1),ue=Object.create(this.lexer),ce={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(ce.yy[te]=this.yy[te]);ue.setInput(B,ce.yy),ce.yy.lexer=ue,ce.yy.parser=this,typeof ue.yylloc>"u"&&(ue.yylloc={});var De=ue.yylloc;K.push(De);var oe=ue.options&&ue.options.ranges;typeof ce.yy.parseError=="function"?this.parseError=ce.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ke(Te){z.length=z.length-2*Te,j.length=j.length-Te,K.length=K.length-Te}o(ke,"popStack");function Fe(){var Te;return Te=W.pop()||ue.lex()||Z,typeof Te!="number"&&(Te instanceof Array&&(W=Te,Te=W.pop()),Te=$.symbols_[Te]||Te),Te}o(Fe,"lex");for(var Be,Ve,Ge,He,xe,X,fe={},he,ge,ne,ye;;){if(Ge=z[z.length-1],this.defaultActions[Ge]?He=this.defaultActions[Ge]:((Be===null||typeof Be>"u")&&(Be=Fe()),He=ie[Ge]&&ie[Ge][Be]),typeof He>"u"||!He.length||!He[0]){var U="";ye=[];for(he in ie[Ge])this.terminals_[he]&&he>q&&ye.push("'"+this.terminals_[he]+"'");ue.showPosition?U="Parse error on line "+(ee+1)+`: `+ue.showPosition()+` Expecting `+ye.join(", ")+", got '"+(this.terminals_[Be]||Be)+"'":U="Parse error on line "+(ee+1)+": Unexpected "+(Be==Z?"end of input":"'"+(this.terminals_[Be]||Be)+"'"),this.parseError(U,{text:ue.match,token:this.terminals_[Be]||Be,line:ue.yylineno,loc:De,expected:ye})}if(He[0]instanceof Array&&He.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ge+", token: "+Be);switch(He[0]){case 1:z.push(Be),j.push(ue.yytext),K.push(ue.yylloc),z.push(He[1]),Be=null,Ve?(Be=Ve,Ve=null):(J=ue.yyleng,Q=ue.yytext,ee=ue.yylineno,De=ue.yylloc,H>0&&H--);break;case 2:if(ge=this.productions_[He[1]][1],fe.$=j[j.length-ge],fe._$={first_line:K[K.length-(ge||1)].first_line,last_line:K[K.length-1].last_line,first_column:K[K.length-(ge||1)].first_column,last_column:K[K.length-1].last_column},oe&&(fe._$.range=[K[K.length-(ge||1)].range[0],K[K.length-1].range[1]]),X=this.performAction.apply(fe,[Q,J,ee,ce.yy,He[1],j,K].concat(ae)),typeof X<"u")return X;ge&&(z=z.slice(0,-1*ge*2),j=j.slice(0,-1*ge),K=K.slice(0,-1*ge)),z.push(this.productions_[He[1]][0]),j.push(fe.$),K.push(fe._$),ne=ie[z[z.length-2]][z[z.length-1]],z.push(ne);break;case 3:return!0}}return!0},"parse")},N=function(){var F={EOF:1,parseError:o(function($,z){if(this.yy.parser)this.yy.parser.parseError($,z);else throw new Error($)},"parseError"),setInput:o(function(B,$){return this.yy=$||this.yy||{},this._input=B,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var B=this._input[0];this.yytext+=B,this.yyleng++,this.offset++,this.match+=B,this.matched+=B;var $=B.match(/(?:\r\n?|\n).*/g);return $?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),B},"input"),unput:o(function(B){var $=B.length,z=B.split(/(?:\r\n?|\n)/g);this._input=B+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-$),this.offset-=$;var W=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),z.length-1&&(this.yylineno-=z.length-1);var j=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:z?(z.length===W.length?this.yylloc.first_column:0)+W[W.length-z.length].length-z[0].length:this.yylloc.first_column-$},this.options.ranges&&(this.yylloc.range=[j[0],j[0]+this.yyleng-$]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(B){this.unput(this.match.slice(B))},"less"),pastInput:o(function(){var B=this.matched.substr(0,this.matched.length-this.match.length);return(B.length>20?"...":"")+B.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var B=this.match;return B.length<20&&(B+=this._input.substr(0,20-B.length)),(B.substr(0,20)+(B.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var B=this.pastInput(),$=new Array(B.length+1).join("-");return B+this.upcomingInput()+` `+$+"^"},"showPosition"),test_match:o(function(B,$){var z,W,j;if(this.options.backtrack_lexer&&(j={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(j.yylloc.range=this.yylloc.range.slice(0))),W=B[0].match(/(?:\r\n?|\n).*/g),W&&(this.yylineno+=W.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:W?W[W.length-1].length-W[W.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+B[0].length},this.yytext+=B[0],this.match+=B[0],this.matches=B,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(B[0].length),this.matched+=B[0],z=this.performAction.call(this,this.yy,this,$,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),z)return z;if(this._backtrack){for(var K in j)this[K]=j[K];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var B,$,z,W;this._more||(this.yytext="",this.match="");for(var j=this._currentRules(),K=0;K$[0].length)){if($=z,W=K,this.options.backtrack_lexer){if(B=this.test_match(z,j[K]),B!==!1)return B;if(this._backtrack){$=!1;continue}else return!1}else if(!this.options.flex)break}return $?(B=this.test_match($,j[W]),B!==!1?B:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var $=this.next();return $||this.lex()},"lex"),begin:o(function($){this.conditionStack.push($)},"begin"),popState:o(function(){var $=this.conditionStack.length-1;return $>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function($){return $=this.conditionStack.length-1-Math.abs($||0),$>=0?this.conditionStack[$]:"INITIAL"},"topState"),pushState:o(function($){this.begin($)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function($,z,W,j){var K=j;switch(W){case 0:return 41;case 1:return 48;case 2:return 49;case 3:return 50;case 4:return 51;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),17;break;case 13:return 18;case 14:this.popState();break;case 15:return this.begin("acc_title"),33;break;case 16:return this.popState(),"acc_title_value";break;case 17:return this.begin("acc_descr"),35;break;case 18:return this.popState(),"acc_descr_value";break;case 19:this.begin("acc_descr_multiline");break;case 20:this.popState();break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),38;break;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 24:return this.popState(),this.pushState("CLASSDEFID"),39;break;case 25:return this.popState(),40;break;case 26:return this.pushState("CLASS"),45;break;case 27:return this.popState(),this.pushState("CLASS_STYLE"),46;break;case 28:return this.popState(),47;break;case 29:return this.pushState("STYLE"),42;break;case 30:return this.popState(),this.pushState("STYLEDEF_STYLES"),43;break;case 31:return this.popState(),44;break;case 32:return this.pushState("SCALE"),17;break;case 33:return 18;case 34:this.popState();break;case 35:this.pushState("STATE");break;case 36:return this.popState(),z.yytext=z.yytext.slice(0,-8).trim(),25;break;case 37:return this.popState(),z.yytext=z.yytext.slice(0,-8).trim(),26;break;case 38:return this.popState(),z.yytext=z.yytext.slice(0,-10).trim(),27;break;case 39:return this.popState(),z.yytext=z.yytext.slice(0,-8).trim(),25;break;case 40:return this.popState(),z.yytext=z.yytext.slice(0,-8).trim(),26;break;case 41:return this.popState(),z.yytext=z.yytext.slice(0,-10).trim(),27;break;case 42:return 48;case 43:return 49;case 44:return 50;case 45:return 51;case 46:this.pushState("STATE_STRING");break;case 47:return this.pushState("STATE_ID"),"AS";break;case 48:return this.popState(),"ID";break;case 49:this.popState();break;case 50:return"STATE_DESCR";case 51:return 19;case 52:this.popState();break;case 53:return this.popState(),this.pushState("struct"),20;break;case 54:break;case 55:return this.popState(),21;break;case 56:break;case 57:return this.begin("NOTE"),29;break;case 58:return this.popState(),this.pushState("NOTE_ID"),56;break;case 59:return this.popState(),this.pushState("NOTE_ID"),57;break;case 60:this.popState(),this.pushState("FLOATING_NOTE");break;case 61:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 62:break;case 63:return"NOTE_TEXT";case 64:return this.popState(),"ID";break;case 65:return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 66:return this.popState(),z.yytext=z.yytext.substr(2).trim(),31;break;case 67:return this.popState(),z.yytext=z.yytext.slice(0,-8).trim(),31;break;case 68:return 6;case 69:return 6;case 70:return 16;case 71:return 54;case 72:return 24;case 73:return z.yytext=z.yytext.trim(),14;break;case 74:return 15;case 75:return 28;case 76:return 55;case 77:return 5;case 78:return"INVALID"}},"anonymous"),rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,29,35,42,43,44,45,54,55,56,57,71,72,73,74,75],inclusive:!1},FLOATING_NOTE_ID:{rules:[64],inclusive:!1},FLOATING_NOTE:{rules:[61,62,63],inclusive:!1},NOTE_TEXT:{rules:[66,67],inclusive:!1},NOTE_ID:{rules:[65],inclusive:!1},NOTE:{rules:[58,59,60],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[31],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[30],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,33,34],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[48],inclusive:!1},STATE_STRING:{rules:[49,50],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,36,37,38,39,40,41,46,47,51,52,53],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,35,53,57,68,69,70,71,72,73,74,76,77,78],inclusive:!0}}};return F}();O.lexer=N;function P(){this.yy={}}return o(P,"Parser"),P.prototype=O,O.Parser=P,new P}();FO.parser=FO;_E=FO});var Ode,LE,Vg,Sx,Pde,Bde,Fde,_0,DE,GO,$O,VO,UO,HO,NE,RE,zde,Gde,WO,YO,$de,Vde,Ug,OWe,Ude,qO,PWe,BWe,Hde,Wde,FWe,Yde,zWe,qde,XO,jO,Xde,ME,jde,KO,IE=M(()=>{"use strict";Ode="LR",LE="TB",Vg="state",Sx="relation",Pde="classDef",Bde="style",Fde="applyClass",_0="default",DE="divider",GO="fill:none",$O="fill: #333",VO="c",UO="text",HO="normal",NE="rect",RE="rectWithTitle",zde="stateStart",Gde="stateEnd",WO="divider",YO="roundedWithTitle",$de="note",Vde="noteGroup",Ug="statediagram",OWe="state",Ude=`${Ug}-${OWe}`,qO="transition",PWe="note",BWe="note-edge",Hde=`${qO} ${BWe}`,Wde=`${Ug}-${PWe}`,FWe="cluster",Yde=`${Ug}-${FWe}`,zWe="cluster-alt",qde=`${Ug}-${zWe}`,XO="parent",jO="note",Xde="state",ME="----",jde=`${ME}${jO}`,KO=`${ME}${XO}`});function QO(t="",e=0,r="",n=ME){let i=r!==null&&r.length>0?`${n}${r}`:"";return`${Xde}-${t}${i}-${e}`}function OE(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{if(r.get(i)){let a=r.get(i);e.cssCompiledStyles=[...e.cssCompiledStyles,...a.styles]}}));let n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}function $We(t){return t?.classes?.join(" ")??""}function VWe(t){return t?.styles??[]}var PE,gf,GWe,Kde,Hg,Qde,Zde=M(()=>{"use strict";Vt();ht();fr();IE();PE=new Map,gf=0;o(QO,"stateDomId");GWe=o((t,e,r,n,i,a,s,l)=>{Y.trace("items",e),e.forEach(u=>{switch(u.stmt){case Vg:Hg(t,u,r,n,i,a,s,l);break;case _0:Hg(t,u,r,n,i,a,s,l);break;case Sx:{Hg(t,u.state1,r,n,i,a,s,l),Hg(t,u.state2,r,n,i,a,s,l);let h={id:"edge"+gf,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:GO,labelStyle:"",label:je.sanitizeText(u.description,de()),arrowheadStyle:$O,labelpos:VO,labelType:UO,thickness:HO,classes:qO,look:s};i.push(h),gf++}break}})},"setupDoc"),Kde=o((t,e=LE)=>{let r=e;if(t.doc)for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");o(OE,"insertOrUpdateNode");o($We,"getClassesFromDbInfo");o(VWe,"getStylesFromDbInfo");Hg=o((t,e,r,n,i,a,s,l)=>{let u=e.id,h=r.get(u),f=$We(h),d=VWe(h);if(Y.info("dataFetcher parsedItem",e,h,d),u!=="root"){let p=NE;e.start===!0?p=zde:e.start===!1&&(p=Gde),e.type!==_0&&(p=e.type),PE.get(u)||PE.set(u,{id:u,shape:p,description:je.sanitizeText(u,de()),cssClasses:`${f} ${Ude}`,cssStyles:d});let m=PE.get(u);e.description&&(Array.isArray(m.description)?(m.shape=RE,m.description.push(e.description)):m.description?.length>0?(m.shape=RE,m.description===u?m.description=[e.description]:m.description=[m.description,e.description]):(m.shape=NE,m.description=e.description),m.description=je.sanitizeTextOrArray(m.description,de())),m.description?.length===1&&m.shape===RE&&(m.type==="group"?m.shape=YO:m.shape=NE),!m.type&&e.doc&&(Y.info("Setting cluster for XCX",u,Kde(e)),m.type="group",m.isGroup=!0,m.dir=Kde(e),m.shape=e.type===DE?WO:YO,m.cssClasses=`${m.cssClasses} ${Yde} ${a?qde:""}`);let g={labelStyle:"",shape:m.shape,label:m.description,cssClasses:m.cssClasses,cssCompiledStyles:[],cssStyles:m.cssStyles,id:u,dir:m.dir,domId:QO(u,gf),type:m.type,isGroup:m.type==="group",padding:8,rx:10,ry:10,look:s};if(g.shape===WO&&(g.label=""),t&&t.id!=="root"&&(Y.trace("Setting node ",u," to be child of its parent ",t.id),g.parentId=t.id),g.centerLabel=!0,e.note){let y={labelStyle:"",shape:$de,label:e.note.text,cssClasses:Wde,cssStyles:[],cssCompilesStyles:[],id:u+jde+"-"+gf,domId:QO(u,gf,jO),type:m.type,isGroup:m.type==="group",padding:de().flowchart.padding,look:s,position:e.note.position},v=u+KO,x={labelStyle:"",shape:Vde,label:e.note.text,cssClasses:m.cssClasses,cssStyles:[],id:u+KO,domId:QO(u,gf,XO),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};gf++,x.id=v,y.parentId=v,OE(n,x,l),OE(n,y,l),OE(n,g,l);let b=u,w=y.id;e.note.position==="left of"&&(b=y.id,w=u),i.push({id:b+"-"+w,start:b,end:w,arrowhead:"none",arrowTypeEnd:"",style:GO,labelStyle:"",classes:Hde,arrowheadStyle:$O,labelpos:VO,labelType:UO,thickness:HO,look:s})}else OE(n,g,l)}e.doc&&(Y.trace("Adding nodes children "),GWe(e,e.doc,r,n,i,!a,s,l))},"dataFetcher"),Qde=o(()=>{PE.clear(),gf=0},"reset")});var ZO,UWe,HWe,Jde,JO=M(()=>{"use strict";Vt();ht();j5();Fv();uT();hr();IE();ZO=o((t,e=LE)=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),UWe=o(function(t,e){return e.db.extract(e.db.getRootDocV2()),e.db.getClasses()},"getClasses"),HWe=o(async function(t,e,r,n){Y.info("REF0:"),Y.info("Drawing state diagram (v2)",e);let{securityLevel:i,state:a,layout:s}=de();n.db.extract(n.db.getRootDocV2());let l=n.db.getData(),u=pm(e,i);l.type=n.type,l.layoutAlgorithm=s,l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["barb"],l.diagramId=e,await Fm(l,u);let h=8;Ut.insertTitle(u,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),zm(u,h,Ug,a?.useMaxWidth??!0)},"draw"),Jde={getClasses:UWe,draw:HWe,getDir:ZO}});function s0e(){return new Map}function eP(t=""){let e=t;return t===nP&&(Cx++,e=`${n0e}${Cx}`),e}function tP(t="",e=_0){return t===nP?n0e:e}function eYe(t=""){let e=t;return t===i0e&&(Cx++,e=`${a0e}${Cx}`),e}function tYe(t="",e=_0){return t===i0e?a0e:e}function rYe(t,e,r){let n=eP(t.id.trim()),i=tP(t.id.trim(),t.type),a=eP(e.id.trim()),s=tP(e.id.trim(),e.type);yf(n,i,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),yf(a,s,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),zs.relations.push({id1:n,id2:a,relationTitle:je.sanitizeText(r,de())})}var nP,n0e,i0e,a0e,e0e,t0e,WWe,YWe,zE,iP,o0e,GE,Wg,l0e,$E,zs,Cx,r0e,qWe,XWe,BE,jWe,KWe,FE,aP,QWe,yf,c0e,L0,u0e,ZWe,JWe,h0e,rP,nYe,iYe,f0e,aYe,sP,sYe,oYe,lYe,cYe,uYe,hYe,tl,VE=M(()=>{"use strict";ht();hr();fr();Vt();ki();Zde();JO();IE();nP="[*]",n0e="start",i0e=nP,a0e="end",e0e="color",t0e="fill",WWe="bgFill",YWe=",";o(s0e,"newClassesList");zE=[],iP=[],o0e=Ode,GE=[],Wg=s0e(),l0e=o(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),$E={root:l0e()},zs=$E.root,Cx=0,r0e=0,qWe={LINE:0,DOTTED_LINE:1},XWe={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},BE=o(t=>JSON.parse(JSON.stringify(t)),"clone"),jWe=o(t=>{Y.info("Setting root doc",t),GE=t},"setRootDoc"),KWe=o(()=>GE,"getRootDoc"),FE=o((t,e,r)=>{if(e.stmt===Sx)FE(t,e.state1,!0),FE(t,e.state2,!1);else if(e.stmt===Vg&&(e.id==="[*]"?(e.id=r?t.id+"_start":t.id+"_end",e.start=r):e.id=e.id.trim()),e.doc){let n=[],i=[],a;for(a=0;a0&&i.length>0){let s={stmt:Vg,id:e9(),type:"divider",doc:BE(i)};n.push(BE(s)),e.doc=n}e.doc.forEach(s=>FE(e,s,!0))}},"docTranslator"),aP=o(()=>(FE({id:"root"},{id:"root",doc:GE},!0),{id:"root",doc:GE}),"getRootDocV2"),QWe=o(t=>{let e;t.doc?e=t.doc:e=t,Y.info(e),c0e(!0),Y.info("Extract initial document:",e),e.forEach(a=>{switch(Y.warn("Statement",a.stmt),a.stmt){case Vg:yf(a.id.trim(),a.type,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles);break;case Sx:h0e(a.state1,a.state2,a.description);break;case Pde:f0e(a.id.trim(),a.classes);break;case Bde:{let s=a.id.trim().split(","),l=a.styleClass.split(",");s.forEach(u=>{let h=L0(u);if(h===void 0){let f=u.trim();yf(f),h=L0(f)}h.styles=l.map(f=>f.replace(/;/g,"")?.trim())})}break;case Fde:sP(a.id.trim(),a.styleClass);break}});let r=u0e(),i=de().look;Qde(),Hg(void 0,aP(),r,zE,iP,!0,i,Wg),zE.forEach(a=>{if(Array.isArray(a.label)){if(a.description=a.label.slice(1),a.isGroup&&a.description.length>0)throw new Error("Group nodes can only have label. Remove the additional description for node ["+a.id+"]");a.label=a.label[0]}})},"extract"),yf=o(function(t,e=_0,r=null,n=null,i=null,a=null,s=null,l=null){let u=t?.trim();if(zs.states.has(u)?(zs.states.get(u).doc||(zs.states.get(u).doc=r),zs.states.get(u).type||(zs.states.get(u).type=e)):(Y.info("Adding state ",u,n),zs.states.set(u,{id:u,descriptions:[],type:e,doc:r,note:i,classes:[],styles:[],textStyles:[]})),n&&(Y.info("Setting state description",u,n),typeof n=="string"&&rP(u,n.trim()),typeof n=="object"&&n.forEach(h=>rP(u,h.trim()))),i){let h=zs.states.get(u);h.note=i,h.note.text=je.sanitizeText(h.note.text,de())}a&&(Y.info("Setting state classes",u,a),(typeof a=="string"?[a]:a).forEach(f=>sP(u,f.trim()))),s&&(Y.info("Setting state styles",u,s),(typeof s=="string"?[s]:s).forEach(f=>sYe(u,f.trim()))),l&&(Y.info("Setting state styles",u,s),(typeof l=="string"?[l]:l).forEach(f=>oYe(u,f.trim())))},"addState"),c0e=o(function(t){zE=[],iP=[],$E={root:l0e()},zs=$E.root,Cx=0,Wg=s0e(),t||_r()},"clear"),L0=o(function(t){return zs.states.get(t)},"getState"),u0e=o(function(){return zs.states},"getStates"),ZWe=o(function(){Y.info("Documents = ",$E)},"logDocuments"),JWe=o(function(){return zs.relations},"getRelations");o(eP,"startIdIfNeeded");o(tP,"startTypeIfNeeded");o(eYe,"endIdIfNeeded");o(tYe,"endTypeIfNeeded");o(rYe,"addRelationObjs");h0e=o(function(t,e,r){if(typeof t=="object")rYe(t,e,r);else{let n=eP(t.trim()),i=tP(t),a=eYe(e.trim()),s=tYe(e);yf(n,i),yf(a,s),zs.relations.push({id1:n,id2:a,title:je.sanitizeText(r,de())})}},"addRelation"),rP=o(function(t,e){let r=zs.states.get(t),n=e.startsWith(":")?e.replace(":","").trim():e;r.descriptions.push(je.sanitizeText(n,de()))},"addDescription"),nYe=o(function(t){return t.substring(0,1)===":"?t.substr(2).trim():t.trim()},"cleanupLabel"),iYe=o(()=>(r0e++,"divider-id-"+r0e),"getDividerId"),f0e=o(function(t,e=""){Wg.has(t)||Wg.set(t,{id:t,styles:[],textStyles:[]});let r=Wg.get(t);e?.split(YWe).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(e0e).exec(n)){let s=i.replace(t0e,WWe).replace(e0e,t0e);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),aYe=o(function(){return Wg},"getClasses"),sP=o(function(t,e){t.split(",").forEach(function(r){let n=L0(r);if(n===void 0){let i=r.trim();yf(i),n=L0(i)}n.classes.push(e)})},"setCssClass"),sYe=o(function(t,e){let r=L0(t);r!==void 0&&r.styles.push(e)},"setStyle"),oYe=o(function(t,e){let r=L0(t);r!==void 0&&r.textStyles.push(e)},"setTextStyle"),lYe=o(()=>o0e,"getDirection"),cYe=o(t=>{o0e=t},"setDirection"),uYe=o(t=>t&&t[0]===":"?t.substr(1).trim():t.trim(),"trimColon"),hYe=o(()=>{let t=de();return{nodes:zE,edges:iP,other:{},config:t,direction:ZO(aP())}},"getData"),tl={getConfig:o(()=>de().state,"getConfig"),getData:hYe,addState:yf,clear:c0e,getState:L0,getStates:u0e,getRelations:JWe,getClasses:aYe,getDirection:lYe,addRelation:h0e,getDividerId:iYe,setDirection:cYe,cleanupLabel:nYe,lineType:qWe,relationType:XWe,logDocuments:ZWe,getRootDoc:KWe,setRootDoc:jWe,getRootDocV2:aP,extract:QWe,trimColon:uYe,getAccTitle:Pr,setAccTitle:Rr,getAccDescription:Fr,setAccDescription:Br,addStyleClass:f0e,setCssClass:sP,addDescription:rP,setDiagramTitle:ln,getDiagramTitle:Jr}});var fYe,UE,oP=M(()=>{"use strict";fYe=o(t=>` defs #statediagram-barbEnd { fill: ${t.transitionColor}; stroke: ${t.transitionColor}; } g.stateGroup text { fill: ${t.nodeBorder}; stroke: none; font-size: 10px; } g.stateGroup text { fill: ${t.textColor}; stroke: none; font-size: 10px; } g.stateGroup .state-title { font-weight: bolder; fill: ${t.stateLabelColor}; } g.stateGroup rect { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; } g.stateGroup line { stroke: ${t.lineColor}; stroke-width: 1; } .transition { stroke: ${t.transitionColor}; stroke-width: 1; fill: none; } .stateGroup .composit { fill: ${t.background}; border-bottom: 1px } .stateGroup .alt-composit { fill: #e0e0e0; border-bottom: 1px } .state-note { stroke: ${t.noteBorderColor}; fill: ${t.noteBkgColor}; text { fill: ${t.noteTextColor}; stroke: none; font-size: 10px; } } .stateLabel .box { stroke: none; stroke-width: 0; fill: ${t.mainBkg}; opacity: 0.5; } .edgeLabel .label rect { fill: ${t.labelBackgroundColor}; opacity: 0.5; } .edgeLabel { background-color: ${t.edgeLabelBackground}; p { background-color: ${t.edgeLabelBackground}; } rect { opacity: 0.5; background-color: ${t.edgeLabelBackground}; fill: ${t.edgeLabelBackground}; } text-align: center; } .edgeLabel .label text { fill: ${t.transitionLabelColor||t.tertiaryTextColor}; } .label div .edgeLabel { color: ${t.transitionLabelColor||t.tertiaryTextColor}; } .stateLabel text { fill: ${t.stateLabelColor}; font-size: 10px; font-weight: bold; } .node circle.state-start { fill: ${t.specialStateColor}; stroke: ${t.specialStateColor}; } .node .fork-join { fill: ${t.specialStateColor}; stroke: ${t.specialStateColor}; } .node circle.state-end { fill: ${t.innerEndBackground}; stroke: ${t.background}; stroke-width: 1.5 } .end-state-inner { fill: ${t.compositeBackground||t.background}; // stroke: ${t.background}; stroke-width: 1.5 } .node rect { fill: ${t.stateBkg||t.mainBkg}; stroke: ${t.stateBorder||t.nodeBorder}; stroke-width: 1px; } .node polygon { fill: ${t.mainBkg}; stroke: ${t.stateBorder||t.nodeBorder};; stroke-width: 1px; } #statediagram-barbEnd { fill: ${t.lineColor}; } .statediagram-cluster rect { fill: ${t.compositeTitleBackground}; stroke: ${t.stateBorder||t.nodeBorder}; stroke-width: 1px; } .cluster-label, .nodeLabel { color: ${t.stateLabelColor}; // line-height: 1; } .statediagram-cluster rect.outer { rx: 5px; ry: 5px; } .statediagram-state .divider { stroke: ${t.stateBorder||t.nodeBorder}; } .statediagram-state .title-state { rx: 5px; ry: 5px; } .statediagram-cluster.statediagram-cluster .inner { fill: ${t.compositeBackground||t.background}; } .statediagram-cluster.statediagram-cluster-alt .inner { fill: ${t.altBackground?t.altBackground:"#efefef"}; } .statediagram-cluster .inner { rx:0; ry:0; } .statediagram-state rect.basic { rx: 5px; ry: 5px; } .statediagram-state rect.divider { stroke-dasharray: 10,10; fill: ${t.altBackground?t.altBackground:"#efefef"}; } .note-edge { stroke-dasharray: 5; } .statediagram-note rect { fill: ${t.noteBkgColor}; stroke: ${t.noteBorderColor}; stroke-width: 1px; rx: 0; ry: 0; } .statediagram-note rect { fill: ${t.noteBkgColor}; stroke: ${t.noteBorderColor}; stroke-width: 1px; rx: 0; ry: 0; } .statediagram-note text { fill: ${t.noteTextColor}; } .statediagram-note .nodeLabel { color: ${t.noteTextColor}; } .statediagram .edgeLabel { color: red; // ${t.noteTextColor}; } #dependencyStart, #dependencyEnd { fill: ${t.lineColor}; stroke: ${t.lineColor}; stroke-width: 1; } .statediagramTitleText { text-anchor: middle; font-size: 18px; fill: ${t.textColor}; } `,"getStyles"),UE=fYe});var lP,dYe,pYe,d0e,mYe,p0e,m0e=M(()=>{"use strict";lP={},dYe=o((t,e)=>{lP[t]=e},"set"),pYe=o(t=>lP[t],"get"),d0e=o(()=>Object.keys(lP),"keys"),mYe=o(()=>d0e().length,"size"),p0e={get:pYe,set:dYe,keys:d0e,size:mYe}});var gYe,yYe,vYe,xYe,y0e,bYe,wYe,TYe,kYe,cP,g0e,v0e,x0e=M(()=>{"use strict";mr();m0e();VE();hr();fr();Vt();ht();gYe=o(t=>t.append("circle").attr("class","start-state").attr("r",de().state.sizeUnit).attr("cx",de().state.padding+de().state.sizeUnit).attr("cy",de().state.padding+de().state.sizeUnit),"drawStartState"),yYe=o(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",de().state.textHeight).attr("class","divider").attr("x2",de().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),vYe=o((t,e)=>{let r=t.append("text").attr("x",2*de().state.padding).attr("y",de().state.textHeight+2*de().state.padding).attr("font-size",de().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",de().state.padding).attr("y",de().state.padding).attr("width",n.width+2*de().state.padding).attr("height",n.height+2*de().state.padding).attr("rx",de().state.radius),r},"drawSimpleState"),xYe=o((t,e)=>{let r=o(function(p,m,g){let y=p.append("tspan").attr("x",2*de().state.padding).text(m);g||y.attr("dy",de().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*de().state.padding).attr("y",de().state.textHeight+1.3*de().state.padding).attr("font-size",de().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",de().state.padding).attr("y",a+de().state.padding*.4+de().state.dividerMargin+de().state.textHeight).attr("class","state-description"),l=!0,u=!0;e.descriptions.forEach(function(p){l||(r(s,p,u),u=!1),l=!1});let h=t.append("line").attr("x1",de().state.padding).attr("y1",de().state.padding+a+de().state.dividerMargin/2).attr("y2",de().state.padding+a+de().state.dividerMargin/2).attr("class","descr-divider"),f=s.node().getBBox(),d=Math.max(f.width,i.width);return h.attr("x2",d+3*de().state.padding),t.insert("rect",":first-child").attr("x",de().state.padding).attr("y",de().state.padding).attr("width",d+2*de().state.padding).attr("height",f.height+a+2*de().state.padding).attr("rx",de().state.radius),t},"drawDescrState"),y0e=o((t,e,r)=>{let n=de().state.padding,i=2*de().state.padding,a=t.node().getBBox(),s=a.width,l=a.x,u=t.append("text").attr("x",0).attr("y",de().state.titleShift).attr("font-size",de().state.fontSize).attr("class","state-title").text(e.id),f=u.node().getBBox().width+i,d=Math.max(f,s);d===s&&(d=d+i);let p,m=t.node().getBBox();e.doc,p=l-n,f>s&&(p=(s-d)/2+n),Math.abs(l-m.x)s&&(p=l-(f-s)/2);let g=1-de().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",m.height+de().state.textHeight+de().state.titleShift+1).attr("rx","0"),u.attr("x",p+n),f<=s&&u.attr("x",l+(d-i)/2-f/2+n),t.insert("rect",":first-child").attr("x",p).attr("y",de().state.titleShift-de().state.textHeight-de().state.padding).attr("width",d).attr("height",de().state.textHeight*3).attr("rx",de().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",de().state.titleShift-de().state.textHeight-de().state.padding).attr("width",d).attr("height",m.height+3+2*de().state.textHeight).attr("rx",de().state.radius),t},"addTitleAndBox"),bYe=o(t=>(t.append("circle").attr("class","end-state-outer").attr("r",de().state.sizeUnit+de().state.miniPadding).attr("cx",de().state.padding+de().state.sizeUnit+de().state.miniPadding).attr("cy",de().state.padding+de().state.sizeUnit+de().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",de().state.sizeUnit).attr("cx",de().state.padding+de().state.sizeUnit+2).attr("cy",de().state.padding+de().state.sizeUnit+2)),"drawEndState"),wYe=o((t,e)=>{let r=de().state.forkWidth,n=de().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",de().state.padding).attr("y",de().state.padding)},"drawForkJoinState"),TYe=o((t,e,r,n)=>{let i=0,a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");let l=s.split(je.lineBreakRegex),u=1.25*de().state.noteMargin;for(let h of l){let f=h.trim();if(f.length>0){let d=a.append("tspan");if(d.text(f),u===0){let p=d.node().getBBox();u+=p.height}i+=u,d.attr("x",e+de().state.noteMargin),d.attr("y",r+i+1.25*de().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),kYe=o((t,e)=>{e.attr("class","state-note");let r=e.append("rect").attr("x",0).attr("y",de().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=TYe(t,0,0,n);return r.attr("height",a+2*de().state.noteMargin),r.attr("width",i+de().state.noteMargin*2),r},"drawNote"),cP=o(function(t,e){let r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&gYe(i),e.type==="end"&&bYe(i),(e.type==="fork"||e.type==="join")&&wYe(i,e),e.type==="note"&&kYe(e.note.text,i),e.type==="divider"&&yYe(i),e.type==="default"&&e.descriptions.length===0&&vYe(i,e),e.type==="default"&&e.descriptions.length>0&&xYe(i,e);let a=i.node().getBBox();return n.width=a.width+2*de().state.padding,n.height=a.height+2*de().state.padding,p0e.set(r,n),n},"drawState"),g0e=0,v0e=o(function(t,e,r){let n=o(function(u){switch(u){case tl.relationType.AGGREGATION:return"aggregation";case tl.relationType.EXTENSION:return"extension";case tl.relationType.COMPOSITION:return"composition";case tl.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(u=>!Number.isNaN(u.y));let i=e.points,a=Ka().x(function(u){return u.x}).y(function(u){return u.y}).curve(Do),s=t.append("path").attr("d",a(i)).attr("id","edge"+g0e).attr("class","transition"),l="";if(de().state.arrowMarkerAbsolute&&(l=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,l=l.replace(/\(/g,"\\("),l=l.replace(/\)/g,"\\)")),s.attr("marker-end","url("+l+"#"+n(tl.relationType.DEPENDENCY)+"End)"),r.title!==void 0){let u=t.append("g").attr("class","stateLabel"),{x:h,y:f}=Ut.calcLabelPosition(e.points),d=je.getRows(r.title),p=0,m=[],g=0,y=0;for(let b=0;b<=d.length;b++){let w=u.append("text").attr("text-anchor","middle").text(d[b]).attr("x",h).attr("y",f+p),_=w.node().getBBox();g=Math.max(g,_.width),y=Math.min(y,_.x),Y.info(_.x,h,f+p),p===0&&(p=w.node().getBBox().height,Y.info("Title height",p,f)),m.push(w)}let v=p*d.length;if(d.length>1){let b=(d.length-1)*p*.5;m.forEach((w,_)=>w.attr("y",f+_*p-b)),v=p*d.length}let x=u.node().getBBox();u.insert("rect",":first-child").attr("class","box").attr("x",h-g/2-de().state.padding/2).attr("y",f-v/2-de().state.padding/2-3.5).attr("width",g+de().state.padding).attr("height",v+de().state.padding),Y.info(x)}g0e++},"drawEdge")});var fo,uP,EYe,SYe,CYe,AYe,b0e,w0e,T0e=M(()=>{"use strict";mr();Pv();Ns();ht();fr();x0e();Vt();ni();uP={},EYe=o(function(){},"setConf"),SYe=o(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),CYe=o(function(t,e,r,n){fo=de().state;let i=de().securityLevel,a;i==="sandbox"&&(a=ze("#i"+e));let s=i==="sandbox"?ze(a.nodes()[0].contentDocument.body):ze("body"),l=i==="sandbox"?a.nodes()[0].contentDocument:document;Y.debug("Rendering diagram "+t);let u=s.select(`[id='${e}']`);SYe(u);let h=n.db.getRootDoc();b0e(h,u,void 0,!1,s,l,n);let f=fo.padding,d=u.node().getBBox(),p=d.width+f*2,m=d.height+f*2,g=p*1.75;Zr(u,m,g,fo.useMaxWidth),u.attr("viewBox",`${d.x-fo.padding} ${d.y-fo.padding} `+p+" "+m)},"draw"),AYe=o(t=>t?t.length*fo.fontSizeFactor:1,"getLabelWidth"),b0e=o((t,e,r,n,i,a,s)=>{let l=new Mr({compound:!0,multigraph:!0}),u,h=!0;for(u=0;u{let T=_.parentElement,E=0,L=0;T&&(T.parentElement&&(E=T.parentElement.getBBox().width),L=parseInt(T.getAttribute("data-x-shift"),10),Number.isNaN(L)&&(L=0)),_.setAttribute("x1",0-L+8),_.setAttribute("x2",E-L-8)})):Y.debug("No Node "+b+": "+JSON.stringify(l.node(b)))});let v=y.getBBox();l.edges().forEach(function(b){b!==void 0&&l.edge(b)!==void 0&&(Y.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(l.edge(b))),v0e(e,l.edge(b),l.edge(b).relation))}),v=y.getBBox();let x={id:r||"root",label:r||"root",width:0,height:0};return x.width=v.width+2*fo.padding,x.height=v.height+2*fo.padding,Y.debug("Doc rendered",x,l),x},"renderDoc"),w0e={setConf:EYe,draw:CYe}});var k0e={};vr(k0e,{diagram:()=>_Ye});var _Ye,E0e=M(()=>{"use strict";zO();VE();oP();T0e();_Ye={parser:_E,db:tl,renderer:w0e,styles:UE,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,tl.clear()},"init")}});var A0e={};vr(A0e,{diagram:()=>RYe});var RYe,_0e=M(()=>{"use strict";zO();VE();oP();JO();RYe={parser:_E,db:tl,renderer:Jde,styles:UE,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,tl.clear()},"init")}});var hP,N0e,R0e=M(()=>{"use strict";hP=function(){var t=o(function(d,p,m,g){for(m=m||{},g=d.length;g--;m[d[g]]=p);return m},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,14],u={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:o(function(p,m,g,y,v,x,b){var w=x.length-1;switch(v){case 1:return x[w-1];case 2:this.$=[];break;case 3:x[w-1].push(x[w]),this.$=x[w-1];break;case 4:case 5:this.$=x[w];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(x[w].substr(6)),this.$=x[w].substr(6);break;case 9:this.$=x[w].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=x[w].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(x[w].substr(8)),this.$=x[w].substr(8);break;case 13:y.addTask(x[w-1],x[w]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:o(function(p,m){if(m.recoverable)this.trace(p);else{var g=new Error(p);throw g.hash=m,g}},"parseError"),parse:o(function(p){var m=this,g=[0],y=[],v=[null],x=[],b=this.table,w="",_=0,T=0,E=0,L=2,C=1,A=x.slice.call(arguments,1),I=Object.create(this.lexer),D={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(D.yy[k]=this.yy[k]);I.setInput(p,D.yy),D.yy.lexer=I,D.yy.parser=this,typeof I.yylloc>"u"&&(I.yylloc={});var R=I.yylloc;x.push(R);var S=I.options&&I.options.ranges;typeof D.yy.parseError=="function"?this.parseError=D.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function O(H){g.length=g.length-2*H,v.length=v.length-H,x.length=x.length-H}o(O,"popStack");function N(){var H;return H=y.pop()||I.lex()||C,typeof H!="number"&&(H instanceof Array&&(y=H,H=y.pop()),H=m.symbols_[H]||H),H}o(N,"lex");for(var P,F,B,$,z,W,j={},K,ie,Q,ee;;){if(B=g[g.length-1],this.defaultActions[B]?$=this.defaultActions[B]:((P===null||typeof P>"u")&&(P=N()),$=b[B]&&b[B][P]),typeof $>"u"||!$.length||!$[0]){var J="";ee=[];for(K in b[B])this.terminals_[K]&&K>L&&ee.push("'"+this.terminals_[K]+"'");I.showPosition?J="Parse error on line "+(_+1)+`: `+I.showPosition()+` Expecting `+ee.join(", ")+", got '"+(this.terminals_[P]||P)+"'":J="Parse error on line "+(_+1)+": Unexpected "+(P==C?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(J,{text:I.match,token:this.terminals_[P]||P,line:I.yylineno,loc:R,expected:ee})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+B+", token: "+P);switch($[0]){case 1:g.push(P),v.push(I.yytext),x.push(I.yylloc),g.push($[1]),P=null,F?(P=F,F=null):(T=I.yyleng,w=I.yytext,_=I.yylineno,R=I.yylloc,E>0&&E--);break;case 2:if(ie=this.productions_[$[1]][1],j.$=v[v.length-ie],j._$={first_line:x[x.length-(ie||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(ie||1)].first_column,last_column:x[x.length-1].last_column},S&&(j._$.range=[x[x.length-(ie||1)].range[0],x[x.length-1].range[1]]),W=this.performAction.apply(j,[w,T,_,D.yy,$[1],v,x].concat(A)),typeof W<"u")return W;ie&&(g=g.slice(0,-1*ie*2),v=v.slice(0,-1*ie),x=x.slice(0,-1*ie)),g.push(this.productions_[$[1]][0]),v.push(j.$),x.push(j._$),Q=b[g[g.length-2]][g[g.length-1]],g.push(Q);break;case 3:return!0}}return!0},"parse")},h=function(){var d={EOF:1,parseError:o(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw new Error(m)},"parseError"),setInput:o(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:o(function(p){var m=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var v=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(p){this.unput(this.match.slice(p))},"less"),pastInput:o(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` `+m+"^"},"showPosition"),test_match:o(function(p,m){var g,y,v;if(this.options.backtrack_lexer&&(v={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(v.yylloc.range=this.yylloc.range.slice(0))),y=p[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],g=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var x in v)this[x]=v[x];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,g,y;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),x=0;xm[0].length)){if(m=g,y=x,this.options.backtrack_lexer){if(p=this.test_match(g,v[x]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,v[y]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var m=this.next();return m||this.lex()},"lex"),begin:o(function(m){this.conditionStack.push(m)},"begin"),popState:o(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:o(function(m){this.begin(m)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(m,g,y,v){var x=v;switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d}();u.lexer=h;function f(){this.yy={}}return o(f,"Parser"),f.prototype=u,u.Parser=f,new f}();hP.parser=hP;N0e=hP});var Yg,fP,Ax,_x,PYe,BYe,FYe,zYe,GYe,$Ye,VYe,M0e,UYe,dP,I0e=M(()=>{"use strict";Vt();ki();Yg="",fP=[],Ax=[],_x=[],PYe=o(function(){fP.length=0,Ax.length=0,Yg="",_x.length=0,_r()},"clear"),BYe=o(function(t){Yg=t,fP.push(t)},"addSection"),FYe=o(function(){return fP},"getSections"),zYe=o(function(){let t=M0e(),e=100,r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),$Ye=o(function(t,e){let r=e.substr(1).split(":"),n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));let a=i.map(l=>l.trim()),s={section:Yg,type:Yg,people:a,task:t,score:n};_x.push(s)},"addTask"),VYe=o(function(t){let e={section:Yg,type:Yg,description:t,task:t,classes:[]};Ax.push(e)},"addTaskOrg"),M0e=o(function(){let t=o(function(r){return _x[r].processed},"compileTask"),e=!0;for(let[r,n]of _x.entries())t(r),e=e&&n.processed;return e},"compileTasks"),UYe=o(function(){return GYe()},"getActors"),dP={getConfig:o(()=>de().journey,"getConfig"),clear:PYe,setDiagramTitle:ln,getDiagramTitle:Jr,setAccTitle:Rr,getAccTitle:Pr,setAccDescription:Br,getAccDescription:Fr,addSection:BYe,getSections:FYe,getTasks:zYe,addTask:$Ye,addTaskOrg:VYe,getActors:UYe}});var HYe,O0e,P0e=M(()=>{"use strict";HYe=o(t=>`.label { font-family: 'trebuchet ms', verdana, arial, sans-serif; font-family: var(--mermaid-font-family); color: ${t.textColor}; } .mouth { stroke: #666; } line { stroke: ${t.textColor} } .legend { fill: ${t.textColor}; } .label text { fill: #333; } .label { color: ${t.textColor} } .face { ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"}; stroke: #999; } .node rect, .node circle, .node ellipse, .node polygon, .node path { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: 1px; } .node .label { text-align: center; } .node.clickable { cursor: pointer; } .arrowheadPath { fill: ${t.arrowheadColor}; } .edgePath .path { stroke: ${t.lineColor}; stroke-width: 1.5px; } .flowchart-link { stroke: ${t.lineColor}; fill: none; } .edgeLabel { background-color: ${t.edgeLabelBackground}; rect { opacity: 0.5; } text-align: center; } .cluster rect { } .cluster text { fill: ${t.titleColor}; } div.mermaidTooltip { position: absolute; text-align: center; max-width: 200px; padding: 2px; font-family: 'trebuchet ms', verdana, arial, sans-serif; font-family: var(--mermaid-font-family); font-size: 12px; background: ${t.tertiaryColor}; border: 1px solid ${t.border2}; border-radius: 2px; pointer-events: none; z-index: 100; } .task-type-0, .section-type-0 { ${t.fillType0?`fill: ${t.fillType0}`:""}; } .task-type-1, .section-type-1 { ${t.fillType0?`fill: ${t.fillType1}`:""}; } .task-type-2, .section-type-2 { ${t.fillType0?`fill: ${t.fillType2}`:""}; } .task-type-3, .section-type-3 { ${t.fillType0?`fill: ${t.fillType3}`:""}; } .task-type-4, .section-type-4 { ${t.fillType0?`fill: ${t.fillType4}`:""}; } .task-type-5, .section-type-5 { ${t.fillType0?`fill: ${t.fillType5}`:""}; } .task-type-6, .section-type-6 { ${t.fillType0?`fill: ${t.fillType6}`:""}; } .task-type-7, .section-type-7 { ${t.fillType0?`fill: ${t.fillType7}`:""}; } .actor-0 { ${t.actor0?`fill: ${t.actor0}`:""}; } .actor-1 { ${t.actor1?`fill: ${t.actor1}`:""}; } .actor-2 { ${t.actor2?`fill: ${t.actor2}`:""}; } .actor-3 { ${t.actor3?`fill: ${t.actor3}`:""}; } .actor-4 { ${t.actor4?`fill: ${t.actor4}`:""}; } .actor-5 { ${t.actor5?`fill: ${t.actor5}`:""}; } `,"getStyles"),O0e=HYe});var pP,WYe,F0e,z0e,YYe,qYe,B0e,XYe,jYe,G0e,KYe,qg,$0e=M(()=>{"use strict";mr();qy();pP=o(function(t,e){return md(t,e)},"drawRect"),WYe=o(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=El().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=El().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),F0e=o(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),z0e=o(function(t,e){return DY(t,e)},"drawText"),YYe=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,z0e(t,e)},"drawLabel"),qYe=o(function(t,e,r){let n=t.append("g"),i=Sl();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,pP(n,i),G0e(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),B0e=-1,XYe=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");B0e++;let a=300+5*30;i.append("line").attr("id","task"+B0e).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",a).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),WYe(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=Sl();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,pP(i,s);let l=e.x+14;e.people.forEach(u=>{let h=e.actors[u].color,f={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};F0e(i,f),l+=10}),G0e(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),jYe=o(function(t,e){Y3(t,e)},"drawBackgroundRect"),G0e=function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{let i=Yu[n].color,a={cx:20,cy:r,r:7,fill:i,stroke:"#000",pos:Yu[n].position};qg.drawCircle(t,a);let s={x:40,y:r+7,fill:"#666",text:n,textMargin:e.boxTextMargin|5};qg.drawText(t,s),r+=20})}var QYe,Yu,HE,D0,JYe,rl,mP,V0e,eqe,gP,U0e=M(()=>{"use strict";mr();$0e();Vt();ni();QYe=o(function(t){Object.keys(t).forEach(function(r){HE[r]=t[r]})},"setConf"),Yu={};o(ZYe,"drawActorLegend");HE=de().journey,D0=HE.leftMargin,JYe=o(function(t,e,r,n){let i=de().journey,a=de().securityLevel,s;a==="sandbox"&&(s=ze("#i"+e));let l=a==="sandbox"?ze(s.nodes()[0].contentDocument.body):ze("body");rl.init();let u=l.select("#"+e);qg.initGraphics(u);let h=n.db.getTasks(),f=n.db.getDiagramTitle(),d=n.db.getActors();for(let x in Yu)delete Yu[x];let p=0;d.forEach(x=>{Yu[x]={color:i.actorColours[p%i.actorColours.length],position:p},p++}),ZYe(u),rl.insert(0,0,D0,Object.keys(Yu).length*50),eqe(u,h,0);let m=rl.getBounds();f&&u.append("text").text(f).attr("x",D0).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);let g=m.stopy-m.starty+2*i.diagramMarginY,y=D0+m.stopx+2*i.diagramMarginX;Zr(u,g,y,i.useMaxWidth),u.append("line").attr("x1",D0).attr("y1",i.height*4).attr("x2",y-D0-4).attr("y2",i.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let v=f?70:0;u.attr("viewBox",`${m.startx} -25 ${y} ${g+v}`),u.attr("preserveAspectRatio","xMinYMin meet"),u.attr("height",g+v+25)},"draw"),rl={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:o(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=de().journey,a=this,s=0;function l(u){return o(function(f){s++;let d=a.sequenceItems.length-s+1;a.updateVal(f,"starty",e-d*i.boxMargin,Math.min),a.updateVal(f,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(rl.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(rl.data,"stopx",r+d*i.boxMargin,Math.max),u!=="activation"&&(a.updateVal(f,"startx",t-d*i.boxMargin,Math.min),a.updateVal(f,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(rl.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(rl.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}o(l,"updateFn"),this.sequenceItems.forEach(l())},"updateBounds"),insert:o(function(t,e,r,n){let i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),l=Math.max(e,n);this.updateVal(rl.data,"startx",i,Math.min),this.updateVal(rl.data,"starty",s,Math.min),this.updateVal(rl.data,"stopx",a,Math.max),this.updateVal(rl.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return this.data},"getBounds")},mP=HE.sectionFills,V0e=HE.sectionColours,eqe=o(function(t,e,r){let n=de().journey,i="",a=n.height*2+n.diagramMarginY,s=r+a,l=0,u="#CCC",h="black",f=0;for(let[d,p]of e.entries()){if(i!==p.section){u=mP[l%mP.length],f=l%mP.length,h=V0e[l%V0e.length];let g=0,y=p.section;for(let x=d;x(Yu[y]&&(g[y]=Yu[y]),g),{});p.x=d*n.taskMargin+d*n.width+D0,p.y=s,p.width=n.diagramMarginX,p.height=n.diagramMarginY,p.colour=h,p.fill=u,p.num=f,p.actors=m,qg.drawTask(t,p,n),rl.insert(p.x,p.y,p.x+p.width+n.taskMargin,300+5*30)}},"drawTasks"),gP={setConf:QYe,draw:JYe}});var H0e={};vr(H0e,{diagram:()=>tqe});var tqe,W0e=M(()=>{"use strict";R0e();I0e();P0e();U0e();tqe={parser:N0e,db:dP,renderer:gP,styles:O0e,init:o(t=>{gP.setConf(t.journey),dP.clear()},"init")}});var vP,Z0e,J0e=M(()=>{"use strict";vP=function(){var t=o(function(p,m,g,y){for(g=g||{},y=p.length;y--;g[p[y]]=m);return g},"o"),e=[6,8,10,11,12,14,16,17,20,21],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,16],u=[1,17],h={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:o(function(m,g,y,v,x,b,w){var _=b.length-1;switch(x){case 1:return b[_-1];case 2:this.$=[];break;case 3:b[_-1].push(b[_]),this.$=b[_-1];break;case 4:case 5:this.$=b[_];break;case 6:case 7:this.$=[];break;case 8:v.getCommonDb().setDiagramTitle(b[_].substr(6)),this.$=b[_].substr(6);break;case 9:this.$=b[_].trim(),v.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=b[_].trim(),v.getCommonDb().setAccDescription(this.$);break;case 12:v.addSection(b[_].substr(8)),this.$=b[_].substr(8);break;case 15:v.addTask(b[_],0,""),this.$=b[_];break;case 16:v.addEvent(b[_].substr(2)),this.$=b[_];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:o(function(m,g){if(g.recoverable)this.trace(m);else{var y=new Error(m);throw y.hash=g,y}},"parseError"),parse:o(function(m){var g=this,y=[0],v=[],x=[null],b=[],w=this.table,_="",T=0,E=0,L=0,C=2,A=1,I=b.slice.call(arguments,1),D=Object.create(this.lexer),k={yy:{}};for(var R in this.yy)Object.prototype.hasOwnProperty.call(this.yy,R)&&(k.yy[R]=this.yy[R]);D.setInput(m,k.yy),k.yy.lexer=D,k.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var S=D.yylloc;b.push(S);var O=D.options&&D.options.ranges;typeof k.yy.parseError=="function"?this.parseError=k.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function N(q){y.length=y.length-2*q,x.length=x.length-q,b.length=b.length-q}o(N,"popStack");function P(){var q;return q=v.pop()||D.lex()||A,typeof q!="number"&&(q instanceof Array&&(v=q,q=v.pop()),q=g.symbols_[q]||q),q}o(P,"lex");for(var F,B,$,z,W,j,K={},ie,Q,ee,J;;){if($=y[y.length-1],this.defaultActions[$]?z=this.defaultActions[$]:((F===null||typeof F>"u")&&(F=P()),z=w[$]&&w[$][F]),typeof z>"u"||!z.length||!z[0]){var H="";J=[];for(ie in w[$])this.terminals_[ie]&&ie>C&&J.push("'"+this.terminals_[ie]+"'");D.showPosition?H="Parse error on line "+(T+1)+`: `+D.showPosition()+` Expecting `+J.join(", ")+", got '"+(this.terminals_[F]||F)+"'":H="Parse error on line "+(T+1)+": Unexpected "+(F==A?"end of input":"'"+(this.terminals_[F]||F)+"'"),this.parseError(H,{text:D.match,token:this.terminals_[F]||F,line:D.yylineno,loc:S,expected:J})}if(z[0]instanceof Array&&z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+F);switch(z[0]){case 1:y.push(F),x.push(D.yytext),b.push(D.yylloc),y.push(z[1]),F=null,B?(F=B,B=null):(E=D.yyleng,_=D.yytext,T=D.yylineno,S=D.yylloc,L>0&&L--);break;case 2:if(Q=this.productions_[z[1]][1],K.$=x[x.length-Q],K._$={first_line:b[b.length-(Q||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(Q||1)].first_column,last_column:b[b.length-1].last_column},O&&(K._$.range=[b[b.length-(Q||1)].range[0],b[b.length-1].range[1]]),j=this.performAction.apply(K,[_,E,T,k.yy,z[1],x,b].concat(I)),typeof j<"u")return j;Q&&(y=y.slice(0,-1*Q*2),x=x.slice(0,-1*Q),b=b.slice(0,-1*Q)),y.push(this.productions_[z[1]][0]),x.push(K.$),b.push(K._$),ee=w[y[y.length-2]][y[y.length-1]],y.push(ee);break;case 3:return!0}}return!0},"parse")},f=function(){var p={EOF:1,parseError:o(function(g,y){if(this.yy.parser)this.yy.parser.parseError(g,y);else throw new Error(g)},"parseError"),setInput:o(function(m,g){return this.yy=g||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var g=m.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:o(function(m){var g=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),y.length-1&&(this.yylineno-=y.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:y?(y.length===v.length?this.yylloc.first_column:0)+v[v.length-y.length].length-y[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(m){this.unput(this.match.slice(m))},"less"),pastInput:o(function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var m=this.pastInput(),g=new Array(m.length+1).join("-");return m+this.upcomingInput()+` `+g+"^"},"showPosition"),test_match:o(function(m,g){var y,v,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),v=m[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+m[0].length},this.yytext+=m[0],this.match+=m[0],this.matches=m,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(m[0].length),this.matched+=m[0],y=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),y)return y;if(this._backtrack){for(var b in x)this[b]=x[b];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,g,y,v;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),b=0;bg[0].length)){if(g=y,v=b,this.options.backtrack_lexer){if(m=this.test_match(y,x[b]),m!==!1)return m;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(m=this.test_match(g,x[v]),m!==!1?m:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var g=this.next();return g||this.lex()},"lex"),begin:o(function(g){this.conditionStack.push(g)},"begin"),popState:o(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:o(function(g){this.begin(g)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(g,y,v,x){var b=x;switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s[^:\n]+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return p}();h.lexer=f;function d(){this.yy={}}return o(d,"Parser"),d.prototype=h,h.Parser=d,new d}();vP.parser=vP;Z0e=vP});var bP={};vr(bP,{addEvent:()=>lpe,addSection:()=>ipe,addTask:()=>ope,addTaskOrg:()=>cpe,clear:()=>npe,default:()=>uqe,getCommonDb:()=>rpe,getSections:()=>ape,getTasks:()=>spe});var Xg,tpe,xP,WE,jg,rpe,npe,ipe,ape,spe,ope,lpe,cpe,epe,uqe,upe=M(()=>{"use strict";ki();Xg="",tpe=0,xP=[],WE=[],jg=[],rpe=o(()=>iy,"getCommonDb"),npe=o(function(){xP.length=0,WE.length=0,Xg="",jg.length=0,_r()},"clear"),ipe=o(function(t){Xg=t,xP.push(t)},"addSection"),ape=o(function(){return xP},"getSections"),spe=o(function(){let t=epe(),e=100,r=0;for(;!t&&rr.id===tpe-1).events.push(t)},"addEvent"),cpe=o(function(t){let e={section:Xg,type:Xg,description:t,task:t,classes:[]};WE.push(e)},"addTaskOrg"),epe=o(function(){let t=o(function(r){return jg[r].processed},"compileTask"),e=!0;for(let[r,n]of jg.entries())t(r),e=e&&n.processed;return e},"compileTasks"),uqe={clear:npe,getCommonDb:rpe,addSection:ipe,getSections:ape,getTasks:spe,addTask:ope,addTaskOrg:cpe,addEvent:lpe}});function ppe(t,e){t.each(function(){var r=ze(this),n=r.text().split(/(\s+|
    )/).reverse(),i,a=[],s=1.1,l=r.attr("y"),u=parseFloat(r.attr("dy")),h=r.text(null).append("tspan").attr("x",0).attr("y",l).attr("dy",u+"em");for(let f=0;fe||i==="
    ")&&(a.pop(),h.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],h=r.append("tspan").attr("x",0).attr("y",l).attr("dy",s+"em").text(i))})}var hqe,YE,fqe,dqe,fpe,pqe,mqe,hpe,gqe,yqe,vqe,wP,dpe,xqe,bqe,wqe,Tqe,vf,mpe=M(()=>{"use strict";mr();hqe=12,YE=o(function(t,e){let r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),fqe=o(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=El().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=El().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),dqe=o(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),fpe=o(function(t,e){let r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),pqe=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,fpe(t,e)},"drawLabel"),mqe=o(function(t,e,r){let n=t.append("g"),i=wP();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,YE(n,i),dpe(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),hpe=-1,gqe=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");hpe++;let a=300+5*30;i.append("line").attr("id","task"+hpe).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",a).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),fqe(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=wP();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,YE(i,s),dpe(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),yqe=o(function(t,e){YE(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),vqe=o(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),wP=o(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),dpe=function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{"use strict";mr();mpe();ht();Vt();ni();kqe=o(function(t,e,r,n){let i=de(),a=i.leftMargin??50;Y.debug("timeline",n.db);let s=i.securityLevel,l;s==="sandbox"&&(l=ze("#i"+e));let h=(s==="sandbox"?ze(l.nodes()[0].contentDocument.body):ze("body")).select("#"+e);h.append("g");let f=n.db.getTasks(),d=n.db.getCommonDb().getDiagramTitle();Y.debug("task",f),vf.initGraphics(h);let p=n.db.getSections();Y.debug("sections",p);let m=0,g=0,y=0,v=0,x=50+a,b=50;v=50;let w=0,_=!0;p.forEach(function(A){let I={number:w,descr:A,section:w,width:150,padding:20,maxHeight:m},D=vf.getVirtualNodeHeight(h,I,i);Y.debug("sectionHeight before draw",D),m=Math.max(m,D+20)});let T=0,E=0;Y.debug("tasks.length",f.length);for(let[A,I]of f.entries()){let D={number:A,descr:I,section:I.section,width:150,padding:20,maxHeight:g},k=vf.getVirtualNodeHeight(h,D,i);Y.debug("taskHeight before draw",k),g=Math.max(g,k+20),T=Math.max(T,I.events.length);let R=0;for(let S of I.events){let O={descr:S,section:I.section,number:I.section,width:150,padding:20,maxHeight:50};R+=vf.getVirtualNodeHeight(h,O,i)}E=Math.max(E,R)}Y.debug("maxSectionHeight before draw",m),Y.debug("maxTaskHeight before draw",g),p&&p.length>0?p.forEach(A=>{let I=f.filter(S=>S.section===A),D={number:w,descr:A,section:w,width:200*Math.max(I.length,1)-50,padding:20,maxHeight:m};Y.debug("sectionNode",D);let k=h.append("g"),R=vf.drawNode(k,D,w,i);Y.debug("sectionNode output",R),k.attr("transform",`translate(${x}, ${v})`),b+=m+50,I.length>0&&gpe(h,I,w,x,b,g,i,T,E,m,!1),x+=200*Math.max(I.length,1),b=v,w++}):(_=!1,gpe(h,f,w,x,b,g,i,T,E,m,!0));let L=h.node().getBBox();Y.debug("bounds",L),d&&h.append("text").text(d).attr("x",L.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),y=_?m+g+150:g+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",a).attr("y1",y).attr("x2",L.width+3*a).attr("y2",y).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),_o(void 0,h,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),gpe=o(function(t,e,r,n,i,a,s,l,u,h,f){for(let d of e){let p={descr:d.task,section:r,number:r,width:150,padding:20,maxHeight:a};Y.debug("taskNode",p);let m=t.append("g").attr("class","taskWrapper"),y=vf.drawNode(m,p,r,s).height;if(Y.debug("taskHeight after draw",y),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,y),d.events){let v=t.append("g").attr("class","lineWrapper"),x=a;i+=100,x=x+Eqe(t,d.events,r,n,i,s),i-=100,v.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+(f?a:h)+u+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}n=n+200,f&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),Eqe=o(function(t,e,r,n,i,a){let s=0,l=i;i=i+100;for(let u of e){let h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};Y.debug("eventNode",h);let f=t.append("g").attr("class","eventWrapper"),p=vf.drawNode(f,h,r,a).height;s=s+p,f.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,s},"drawEvents"),ype={setConf:o(()=>{},"setConf"),draw:kqe}});var Sqe,Cqe,xpe,bpe=M(()=>{"use strict";To();Sqe=o(t=>{let e="";for(let r=0;r` .edge { stroke-width: 3; } ${Sqe(t)} .section-root rect, .section-root path, .section-root circle { fill: ${t.git0}; } .section-root text { fill: ${t.gitBranchLabel0}; } .icon-container { height:100%; display: flex; justify-content: center; align-items: center; } .edge { fill: none; } .eventWrapper { filter: brightness(120%); } `,"getStyles"),xpe=Cqe});var wpe={};vr(wpe,{diagram:()=>Aqe});var Aqe,Tpe=M(()=>{"use strict";J0e();upe();vpe();bpe();Aqe={db:bP,renderer:ype,parser:Z0e,styles:xpe}});var TP,Spe,Cpe=M(()=>{"use strict";TP=function(){var t=o(function(_,T,E,L){for(E=E||{},L=_.length;L--;E[_[L]]=T);return E},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],v=[1,6,7,11,13,15,16,19,22],x={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:o(function(T,E,L,C,A,I,D){var k=I.length-1;switch(A){case 6:case 7:return C;case 8:C.getLogger().trace("Stop NL ");break;case 9:C.getLogger().trace("Stop EOF ");break;case 11:C.getLogger().trace("Stop NL2 ");break;case 12:C.getLogger().trace("Stop EOF2 ");break;case 15:C.getLogger().info("Node: ",I[k].id),C.addNode(I[k-1].length,I[k].id,I[k].descr,I[k].type);break;case 16:C.getLogger().trace("Icon: ",I[k]),C.decorateNode({icon:I[k]});break;case 17:case 21:C.decorateNode({class:I[k]});break;case 18:C.getLogger().trace("SPACELIST");break;case 19:C.getLogger().trace("Node: ",I[k].id),C.addNode(0,I[k].id,I[k].descr,I[k].type);break;case 20:C.decorateNode({icon:I[k]});break;case 25:C.getLogger().trace("node found ..",I[k-2]),this.$={id:I[k-1],descr:I[k-1],type:C.getType(I[k-2],I[k])};break;case 26:this.$={id:I[k],descr:I[k],type:C.nodeType.DEFAULT};break;case 27:C.getLogger().trace("node found ..",I[k-3]),this.$={id:I[k-3],descr:I[k-1],type:C.getType(I[k-2],I[k])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:h,7:f,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:f,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(m,[2,14],{7:g,11:y}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(m,[2,13],{7:g,11:y}),t(v,[2,11]),t(v,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(T,E){if(E.recoverable)this.trace(T);else{var L=new Error(T);throw L.hash=E,L}},"parseError"),parse:o(function(T){var E=this,L=[0],C=[],A=[null],I=[],D=this.table,k="",R=0,S=0,O=0,N=2,P=1,F=I.slice.call(arguments,1),B=Object.create(this.lexer),$={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&($.yy[z]=this.yy[z]);B.setInput(T,$.yy),$.yy.lexer=B,$.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var W=B.yylloc;I.push(W);var j=B.options&&B.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function K(ke){L.length=L.length-2*ke,A.length=A.length-ke,I.length=I.length-ke}o(K,"popStack");function ie(){var ke;return ke=C.pop()||B.lex()||P,typeof ke!="number"&&(ke instanceof Array&&(C=ke,ke=C.pop()),ke=E.symbols_[ke]||ke),ke}o(ie,"lex");for(var Q,ee,J,H,q,Z,ae={},ue,ce,te,De;;){if(J=L[L.length-1],this.defaultActions[J]?H=this.defaultActions[J]:((Q===null||typeof Q>"u")&&(Q=ie()),H=D[J]&&D[J][Q]),typeof H>"u"||!H.length||!H[0]){var oe="";De=[];for(ue in D[J])this.terminals_[ue]&&ue>N&&De.push("'"+this.terminals_[ue]+"'");B.showPosition?oe="Parse error on line "+(R+1)+`: `+B.showPosition()+` Expecting `+De.join(", ")+", got '"+(this.terminals_[Q]||Q)+"'":oe="Parse error on line "+(R+1)+": Unexpected "+(Q==P?"end of input":"'"+(this.terminals_[Q]||Q)+"'"),this.parseError(oe,{text:B.match,token:this.terminals_[Q]||Q,line:B.yylineno,loc:W,expected:De})}if(H[0]instanceof Array&&H.length>1)throw new Error("Parse Error: multiple actions possible at state: "+J+", token: "+Q);switch(H[0]){case 1:L.push(Q),A.push(B.yytext),I.push(B.yylloc),L.push(H[1]),Q=null,ee?(Q=ee,ee=null):(S=B.yyleng,k=B.yytext,R=B.yylineno,W=B.yylloc,O>0&&O--);break;case 2:if(ce=this.productions_[H[1]][1],ae.$=A[A.length-ce],ae._$={first_line:I[I.length-(ce||1)].first_line,last_line:I[I.length-1].last_line,first_column:I[I.length-(ce||1)].first_column,last_column:I[I.length-1].last_column},j&&(ae._$.range=[I[I.length-(ce||1)].range[0],I[I.length-1].range[1]]),Z=this.performAction.apply(ae,[k,S,R,$.yy,H[1],A,I].concat(F)),typeof Z<"u")return Z;ce&&(L=L.slice(0,-1*ce*2),A=A.slice(0,-1*ce),I=I.slice(0,-1*ce)),L.push(this.productions_[H[1]][0]),A.push(ae.$),I.push(ae._$),te=D[L[L.length-2]][L[L.length-1]],L.push(te);break;case 3:return!0}}return!0},"parse")},b=function(){var _={EOF:1,parseError:o(function(E,L){if(this.yy.parser)this.yy.parser.parseError(E,L);else throw new Error(E)},"parseError"),setInput:o(function(T,E){return this.yy=E||this.yy||{},this._input=T,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var E=T.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),T},"input"),unput:o(function(T){var E=T.length,L=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var C=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),L.length-1&&(this.yylineno-=L.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:L?(L.length===C.length?this.yylloc.first_column:0)+C[C.length-L.length].length-L[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(T){this.unput(this.match.slice(T))},"less"),pastInput:o(function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var T=this.match;return T.length<20&&(T+=this._input.substr(0,20-T.length)),(T.substr(0,20)+(T.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var T=this.pastInput(),E=new Array(T.length+1).join("-");return T+this.upcomingInput()+` `+E+"^"},"showPosition"),test_match:o(function(T,E){var L,C,A;if(this.options.backtrack_lexer&&(A={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(A.yylloc.range=this.yylloc.range.slice(0))),C=T[0].match(/(?:\r\n?|\n).*/g),C&&(this.yylineno+=C.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:C?C[C.length-1].length-C[C.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+T[0].length},this.yytext+=T[0],this.match+=T[0],this.matches=T,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(T[0].length),this.matched+=T[0],L=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),L)return L;if(this._backtrack){for(var I in A)this[I]=A[I];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,E,L,C;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),I=0;IE[0].length)){if(E=L,C=I,this.options.backtrack_lexer){if(T=this.test_match(L,A[I]),T!==!1)return T;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(T=this.test_match(E,A[C]),T!==!1?T:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var E=this.next();return E||this.lex()},"lex"),begin:o(function(E){this.conditionStack.push(E)},"begin"),popState:o(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:o(function(E){this.begin(E)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(E,L,C,A){var I=A;switch(C){case 0:return E.getLogger().trace("Found comment",L.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:E.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return E.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:E.getLogger().trace("end icon"),this.popState();break;case 10:return E.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return E.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return E.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return E.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:E.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return E.getLogger().trace("description:",L.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),E.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),E.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),E.getLogger().trace("node end ...",L.yytext),"NODE_DEND";break;case 30:return this.popState(),E.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),E.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),E.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),E.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),E.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return E.getLogger().trace("Long description:",L.yytext),20;break;case 36:return E.getLogger().trace("Long description:",L.yytext),20;break}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return _}();x.lexer=b;function w(){this.yy={}}return o(w,"Parser"),w.prototype=x,x.Parser=w,new w}();TP.parser=TP;Spe=TP});var Vl,Ape,kP,Nqe,Rqe,Mqe,Iqe,Ui,Oqe,Pqe,Bqe,Fqe,zqe,Gqe,$qe,_pe,Lpe=M(()=>{"use strict";Vt();fr();ht();hs();Vl=[],Ape=0,kP={},Nqe=o(()=>{Vl=[],Ape=0,kP={}},"clear"),Rqe=o(function(t){for(let e=Vl.length-1;e>=0;e--)if(Vl[e].levelVl.length>0?Vl[0]:null,"getMindmap"),Iqe=o((t,e,r,n)=>{Y.info("addNode",t,e,r,n);let i=de(),a=i.mindmap?.padding??ur.mindmap.padding;switch(n){case Ui.ROUNDED_RECT:case Ui.RECT:case Ui.HEXAGON:a*=2}let s={id:Ape++,nodeId:Tr(e,i),level:t,descr:Tr(r,i),type:n,children:[],width:i.mindmap?.maxNodeWidth??ur.mindmap.maxNodeWidth,padding:a},l=Rqe(t);if(l)l.children.push(s),Vl.push(s);else if(Vl.length===0)Vl.push(s);else throw new Error('There can be only one root. No parent could be found for ("'+s.descr+'")')},"addNode"),Ui={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Oqe=o((t,e)=>{switch(Y.debug("In get type",t,e),t){case"[":return Ui.RECT;case"(":return e===")"?Ui.ROUNDED_RECT:Ui.CLOUD;case"((":return Ui.CIRCLE;case")":return Ui.CLOUD;case"))":return Ui.BANG;case"{{":return Ui.HEXAGON;default:return Ui.DEFAULT}},"getType"),Pqe=o((t,e)=>{kP[t]=e},"setElementForId"),Bqe=o(t=>{if(!t)return;let e=de(),r=Vl[Vl.length-1];t.icon&&(r.icon=Tr(t.icon,e)),t.class&&(r.class=Tr(t.class,e))},"decorateNode"),Fqe=o(t=>{switch(t){case Ui.DEFAULT:return"no-border";case Ui.RECT:return"rect";case Ui.ROUNDED_RECT:return"rounded-rect";case Ui.CIRCLE:return"circle";case Ui.CLOUD:return"cloud";case Ui.BANG:return"bang";case Ui.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),zqe=o(()=>Y,"getLogger"),Gqe=o(t=>kP[t],"getElementById"),$qe={clear:Nqe,addNode:Iqe,getMindmap:Mqe,nodeType:Ui,getType:Oqe,setElementForId:Pqe,decorateNode:Bqe,type2Str:Fqe,getLogger:zqe,getElementById:Gqe},_pe=$qe});function Yi(t){"@babel/helpers - typeof";return Yi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yi(t)}function JP(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Dpe(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},"n"),e:o(function(u){throw u},"e"),f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,l;return{s:o(function(){r=r.call(t)},"s"),n:o(function(){var u=r.next();return a=u.done,u},"n"),e:o(function(u){s=!0,l=u},"e"),f:o(function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw l}},"f")}}function pXe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}function mXe(t,e){return e={exports:{}},t(e,e.exports),e.exports}function TXe(t){for(var e=t.length;e--&&wXe.test(t.charAt(e)););return e}function SXe(t){return t&&t.slice(0,kXe(t)+1).replace(EXe,"")}function DXe(t){var e=_Xe.call(t,Lx),r=t[Lx];try{t[Lx]=void 0;var n=!0}catch{}var i=LXe.call(t);return n&&(e?t[Lx]=r:delete t[Lx]),i}function IXe(t){return MXe.call(t)}function FXe(t){return t==null?t===void 0?BXe:PXe:Ipe&&Ipe in Object(t)?NXe(t):OXe(t)}function zXe(t){return t!=null&&typeof t=="object"}function VXe(t){return typeof t=="symbol"||GXe(t)&&tge(t)==$Xe}function qXe(t){if(typeof t=="number")return t;if(eb(t))return Ope;if(F0(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=F0(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=CXe(t);var r=HXe.test(t);return r||WXe.test(t)?YXe(t.slice(2),r?2:8):UXe.test(t)?Ope:+t}function QXe(t,e,r){var n,i,a,s,l,u,h=0,f=!1,d=!1,p=!0;if(typeof t!="function")throw new TypeError(XXe);e=Ppe(e)||0,F0(r)&&(f=!!r.leading,d="maxWait"in r,a=d?jXe(Ppe(r.maxWait)||0,e):a,p="trailing"in r?!!r.trailing:p);function m(E){var L=n,C=i;return n=i=void 0,h=E,s=t.apply(C,L),s}o(m,"invokeFunc");function g(E){return h=E,l=setTimeout(x,e),f?m(E):s}o(g,"leadingEdge");function y(E){var L=E-u,C=E-h,A=e-L;return d?KXe(A,a-C):A}o(y,"remainingWait");function v(E){var L=E-u,C=E-h;return u===void 0||L>=e||L<0||d&&C>=a}o(v,"shouldInvoke");function x(){var E=EP();if(v(E))return b(E);l=setTimeout(x,y(E))}o(x,"timerExpired");function b(E){return l=void 0,p&&n?m(E):(n=i=void 0,s)}o(b,"trailingEdge");function w(){l!==void 0&&clearTimeout(l),h=0,n=u=i=l=void 0}o(w,"cancel");function _(){return l===void 0?s:b(EP())}o(_,"flush");function T(){var E=EP(),L=v(E);if(n=arguments,i=this,u=E,L){if(l===void 0)return g(u);if(d)return clearTimeout(l),l=setTimeout(x,e),m(u)}return l===void 0&&(l=setTimeout(x,e)),s}return o(T,"debounced"),T.cancel=w,T.flush=_,T}function D6(t,e,r,n,i,a){var s;return ti(t)?s=t:s=u1[t]||u1.euclidean,e===0&&ti(t)?s(i,a):s(e,r,n,i,a)}function UKe(t,e){if(N6(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||eb(t)?!0:VKe.test(t)||!$Ke.test(t)||e!=null&&t in Object(e)}function jKe(t){if(!F0(t))return!1;var e=tge(t);return e==YKe||e==qKe||e==WKe||e==XKe}function ZKe(t){return!!rme&&rme in t}function rQe(t){if(t!=null){try{return tQe.call(t)}catch{}try{return t+""}catch{}}return""}function hQe(t){if(!F0(t)||JKe(t))return!1;var e=KKe(t)?uQe:aQe;return e.test(nQe(t))}function dQe(t,e){return t?.[e]}function mQe(t,e){var r=pQe(t,e);return fQe(r)?r:void 0}function yQe(){this.__data__=qx?qx(null):{},this.size=0}function xQe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function EQe(t){var e=this.__data__;if(qx){var r=e[t];return r===wQe?void 0:r}return kQe.call(e,t)?e[t]:void 0}function _Qe(t){var e=this.__data__;return qx?e[t]!==void 0:AQe.call(e,t)}function NQe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=qx&&e===void 0?DQe:e,this}function p1(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function WQe(t,e){var r=this.__data__,n=R6(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function m1(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t0;){var f=i.shift();e(f),a.add(f.id()),l&&n(i,a,f)}return t}function Ige(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i0&&arguments[0]!==void 0?arguments[0]:LJe,e=arguments.length>1?arguments[1]:void 0,r=0;r0?k=S:D=S;while(Math.abs(R)>s&&++O=a?b(I,O):N===0?O:_(I,D,D+h)}o(T,"getTForX");var E=!1;function L(){E=!0,(t!==e||r!==n)&&w()}o(L,"precompute");var C=o(function(D){return E||L(),t===e&&r===n?D:D===0?0:D===1?1:v(T(D),e,n)},"f");C.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var A="generateBezier("+[t,e,r,n]+")";return C.toString=function(){return A},C}function wme(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function Tme(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Zg(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=Tme(t,i),l=Tme(e,i);if(xt(s)&&xt(l))return wme(a,s,l,r,n);if(wn(s)&&wn(l)){for(var u=[],h=0;h0?(m==="spring"&&g.push(s.duration),s.easingImpl=c6[m].apply(null,g)):s.easingImpl=c6[m]}var y=s.easingImpl,v;if(s.duration===0?v=1:v=(r-u)/s.duration,s.applying&&(v=s.progress),v<0?v=0:v>1&&(v=1),s.delay==null){var x=s.startPosition,b=s.position;if(b&&i&&!t.locked()){var w={};Mx(x.x,b.x)&&(w.x=Zg(x.x,b.x,v,y)),Mx(x.y,b.y)&&(w.y=Zg(x.y,b.y,v,y)),t.position(w)}var _=s.startPan,T=s.pan,E=a.pan,L=T!=null&&n;L&&(Mx(_.x,T.x)&&(E.x=Zg(_.x,T.x,v,y)),Mx(_.y,T.y)&&(E.y=Zg(_.y,T.y,v,y)),t.emit("pan"));var C=s.startZoom,A=s.zoom,I=A!=null&&n;I&&(Mx(C,A)&&(a.zoom=Wx(a.minZoom,Zg(C,A,v,y),a.maxZoom)),t.emit("zoom")),(L||I)&&t.emit("viewport");var D=s.style;if(D&&D.length>0&&i){for(var k=0;k=0;L--){var C=E[L];C()}E.splice(0,E.length)},"callbacks"),b=m.length-1;b>=0;b--){var w=m[b],_=w._private;if(_.stopped){m.splice(b,1),_.hooked=!1,_.playing=!1,_.started=!1,x(_.frames);continue}!_.playing&&!_.applying||(_.playing&&_.applying&&(_.applying=!1),_.started||UJe(f,w,t),VJe(f,w,t,d),_.applying&&(_.applying=!1),x(_.frames),_.step!=null&&_.step(t),w.completed()&&(m.splice(b,1),_.hooked=!1,_.playing=!1,_.started=!1,x(_.completes)),y=!0)}return!d&&m.length===0&&g.length===0&&n.push(f),y}o(i,"stepOne");for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}function Qge(t){this.options=ir({},QJe,ZJe,t)}function Zge(t){this.options=ir({},JJe,t)}function Jge(t){this.options=ir({},eet,t)}function G6(t){this.options=ir({},tet,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),n=r.filter(function(i){var a=i.source().data("id"),s=i.target().data("id"),l=e.some(function(h){return h.data("id")===a}),u=e.some(function(h){return h.data("id")===s});return!l||!u});this.options.eles=this.options.eles.not(n)}function t1e(t){this.options=ir({},xet,t)}function vB(t){this.options=ir({},bet,t)}function r1e(t){this.options=ir({},wet,t)}function n1e(t){this.options=ir({},Tet,t)}function i1e(t){this.options=t,this.notifications=0}function o1e(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function bB(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(Cet(t,e,r,n,i),{cx:WP,cy:YP,radius:O0,startX:a1e,startY:s1e,stopX:qP,stopY:XP,startAngle:$c.ang+Math.PI/2*P0,endAngle:nl.ang-Math.PI/2*P0,counterClockwise:f6})}function l1e(t){var e=[];if(t!=null){for(var r=0;r5&&arguments[5]!==void 0?arguments[5]:5,s=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+a,r),t.lineTo(e+n-a,r),t.quadraticCurveTo(e+n,r,e+n,r+a),t.lineTo(e+n,r+i-a),t.quadraticCurveTo(e+n,r+i,e+n-a,r+i),t.lineTo(e+a,r+i),t.quadraticCurveTo(e,r+i,e,r+i-a),t.lineTo(e,r+a),t.quadraticCurveTo(e,r,e+a,r),t.closePath(),s?t.stroke():t.fill()}function ptt(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a{"use strict";o(Yi,"_typeof");o(JP,"_classCallCheck");o(Dpe,"_defineProperties");o(eB,"_createClass");o(Hme,"_defineProperty$1");o(Ul,"_slicedToArray");o(Vqe,"_arrayWithHoles");o(Uqe,"_iterableToArrayLimit");o(Wme,"_unsupportedIterableToArray");o(Npe,"_arrayLikeToArray");o(Hqe,"_nonIterableRest");o(Yme,"_createForOfIteratorHelper");Hi=typeof window>"u"?null:window,Rpe=Hi?Hi.navigator:null;Hi&&Hi.document;Wqe=Yi(""),qme=Yi({}),Yqe=Yi(function(){}),qqe=typeof HTMLElement>"u"?"undefined":Yi(HTMLElement),Zx=o(function(e){return e&&e.instanceString&&ti(e.instanceString)?e.instanceString():null},"instanceStr"),Zt=o(function(e){return e!=null&&Yi(e)==Wqe},"string"),ti=o(function(e){return e!=null&&Yi(e)===Yqe},"fn"),wn=o(function(e){return!po(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),Vr=o(function(e){return e!=null&&Yi(e)===qme&&!wn(e)&&e.constructor===Object},"plainObject"),Xqe=o(function(e){return e!=null&&Yi(e)===qme},"object"),xt=o(function(e){return e!=null&&Yi(e)===Yi(1)&&!isNaN(e)},"number"),jqe=o(function(e){return xt(e)&&Math.floor(e)===e},"integer"),p6=o(function(e){if(qqe!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),po=o(function(e){return Jx(e)||Xme(e)},"elementOrCollection"),Jx=o(function(e){return Zx(e)==="collection"&&e._private.single},"element"),Xme=o(function(e){return Zx(e)==="collection"&&!e._private.single},"collection"),tB=o(function(e){return Zx(e)==="core"},"core"),jme=o(function(e){return Zx(e)==="stylesheet"},"stylesheet"),Kqe=o(function(e){return Zx(e)==="event"},"event"),Sf=o(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),Qqe=o(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),Zqe=o(function(e){return Vr(e)&&xt(e.x1)&&xt(e.x2)&&xt(e.y1)&&xt(e.y2)},"boundingBox"),Jqe=o(function(e){return Xqe(e)&&ti(e.then)},"promise"),eXe=o(function(){return Rpe&&Rpe.userAgent.match(/msie|trident|edge/i)},"ms"),$x=o(function(e,r){r||(r=o(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},"ascending"),oXe=o(function(e,r){return-1*Qme(e,r)},"descending"),ir=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(v-=1),v<1/6?g+(y-g)*6*v:v<1/2?y:v<2/3?g+(y-g)*(2/3-v)*6:g}o(f,"hue2rgb");var d=new RegExp("^"+nXe+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)l=u=h=Math.round(a*255);else{var p=a<.5?a*(1+i):a+i-a*i,m=2*a-p;l=Math.round(255*f(m,p,n+1/3)),u=Math.round(255*f(m,p,n)),h=Math.round(255*f(m,p,n-1/3))}r=[l,u,h,s]}return r},"hsl2tuple"),uXe=o(function(e){var r,n=new RegExp("^"+tXe+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var l=i[1]||i[2]||i[3],u=i[1]&&i[2]&&i[3];if(l&&!u)return;var h=n[4];if(h!==void 0){if(h=parseFloat(h),h<0||h>1)return;r.push(h)}}return r},"rgb2tuple"),hXe=o(function(e){return dXe[e.toLowerCase()]},"colorname2tuple"),fXe=o(function(e){return(wn(e)?e:null)||hXe(e)||lXe(e)||uXe(e)||cXe(e)},"color2tuple"),dXe={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Zme=o(function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a1&&arguments[1]!==void 0?arguments[1]:t1,n=r,i;i=e.next(),!i.done;)n=n*nge+i.value|0;return n},"hashIterableInts"),Vx=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t1;return r*nge+e|0},"hashInt"),Ux=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ox;return(r<<5)+r+e|0},"hashIntAlt"),JXe=o(function(e,r){return e*2097152+r},"combineHashes"),xf=o(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),qE=o(function(e,r){return[Vx(e[0],r[0]),Ux(e[1],r[1])]},"hashArrays"),eje=o(function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:o(function(){return i=0&&!(e[i]===r&&(e.splice(i,1),n));i--);},"removeFromArray"),aB=o(function(e){e.splice(0,e.length)},"clearArray"),oje=o(function(e,r){for(var n=0;n"u"?"undefined":Yi(Set))!==cje?Set:uje,_6=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!tB(e)){hi("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){hi("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new f1,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,l=e.pan(),u=e.zoom();a.position={x:(s.x-l.x)/u,y:(s.y-l.y)/u}}var h=[];wn(r.classes)?h=r.classes:Zt(r.classes)&&(h=r.classes.split(/\s+/));for(var f=0,d=h.length;fb?1:0},"defaultCmp"),f=o(function(x,b,w,_,T){var E;if(w==null&&(w=0),T==null&&(T=n),w<0)throw new Error("lo must be non-negative");for(_==null&&(_=x.length);w<_;)E=i((w+_)/2),T(b,x[E])<0?_=E:w=E+1;return[].splice.apply(x,[w,w-w].concat(b)),b},"insort"),l=o(function(x,b,w){return w==null&&(w=n),x.push(b),y(x,0,x.length-1,w)},"heappush"),s=o(function(x,b){var w,_;return b==null&&(b=n),w=x.pop(),x.length?(_=x[0],x[0]=w,v(x,0,b)):_=w,_},"heappop"),h=o(function(x,b,w){var _;return w==null&&(w=n),_=x[0],x[0]=b,v(x,0,w),_},"heapreplace"),u=o(function(x,b,w){var _;return w==null&&(w=n),x.length&&w(x[0],b)<0&&(_=[x[0],b],b=_[0],x[0]=_[1],v(x,0,w)),b},"heappushpop"),a=o(function(x,b){var w,_,T,E,L,C;for(b==null&&(b=n),E=function(){C=[];for(var A=0,I=i(x.length/2);0<=I?AI;0<=I?A++:A--)C.push(A);return C}.apply(this).reverse(),L=[],_=0,T=E.length;_D;0<=D?++C:--C)k.push(s(x,w));return k},"nsmallest"),y=o(function(x,b,w,_){var T,E,L;for(_==null&&(_=n),T=x[w];w>b;){if(L=w-1>>1,E=x[L],_(T,E)<0){x[w]=E,w=L;continue}break}return x[w]=T},"_siftdown"),v=o(function(x,b,w){var _,T,E,L,C;for(w==null&&(w=n),T=x.length,C=b,E=x[b],_=2*b+1;_0;){var E=b.pop(),L=v(E),C=E.id();if(p[C]=L,L!==1/0)for(var A=E.neighborhood().intersect(g),I=0;I0)for(F.unshift(P);d[$];){var z=d[$];F.unshift(z.edge),F.unshift(z.node),B=z.node,$=B.id()}return l.spawn(F)},"pathTo")}},"dijkstra")},pje={kruskal:o(function(e){e=e||function(w){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),l=n,u=o(function(_){for(var T=0;T0;){if(T(),L++,_===f){for(var C=[],A=a,I=f,D=x[I];C.unshift(A),D!=null&&C.unshift(D),A=v[I],A!=null;)I=A.id(),D=x[I];return{found:!0,distance:d[_],path:this.spawn(C),steps:L}}m[_]=!0;for(var k=w._private.edges,R=0;RD&&(g[I]=D,b[I]=A,w[I]=T),!a){var k=A*f+C;!a&&g[k]>D&&(g[k]=D,b[k]=C,w[k]=T)}}}for(var R=0;R1&&arguments[1]!==void 0?arguments[1]:s,Be=w(ke),Ve=[],Ge=Be;;){if(Ge==null)return r.spawn();var He=b(Ge),xe=He.edge,X=He.pred;if(Ve.unshift(Ge[0]),Ge.same(Fe)&&Ve.length>0)break;xe!=null&&Ve.unshift(xe),Ge=X}return u.spawn(Ve)},"pathTo"),E=0;E=0;f--){var d=h[f],p=d[1],m=d[2];(r[p]===l&&r[m]===u||r[p]===u&&r[m]===l)&&h.splice(f,1)}for(var g=0;gi;){var a=Math.floor(Math.random()*r.length);r=Tje(a,e,r),n--}return r},"contractUntil"),kje={kargerStein:o(function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(F){return F.isLoop()});var a=n.length,s=i.length,l=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),u=Math.floor(a/wje);if(a<2){hi("At least 2 nodes are required for Karger-Stein algorithm");return}for(var h=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var l=0,u=e.length-1;u>=0;u--){var h=e[u];s?isFinite(h)||(e[u]=-1/0,l++):e.splice(u,1)}a&&e.sort(function(p,m){return p-m});var f=e.length,d=Math.floor(f/2);return f%2!==0?e[d+1+l]:(e[d-1+l]+e[d+l])/2},"median"),Lje=o(function(e){return Math.PI*e/180},"deg2rad"),XE=o(function(e,r){return Math.atan2(r,e)-Math.PI/2},"getAngleFromDisp"),sB=Math.log2||function(t){return Math.log(t)/Math.log(2)},hge=o(function(e){return e>0?1:e<0?-1:0},"signum"),G0=o(function(e,r){return Math.sqrt(M0(e,r))},"dist"),M0=o(function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},"sqdist"),Dje=o(function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},"makeBoundingBox"),Rje=o(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),Mje=o(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),Ije=o(function(e,r,n){return{x1:e.x1+r,x2:e.x2+r,y1:e.y1+n,y2:e.y2+n,w:e.w,h:e.h}},"shiftBoundingBox"),fge=o(function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},"updateBoundingBox"),Oje=o(function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},"expandBoundingBoxByPoint"),a6=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBox"),s6=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var l=Ul(r,4);n=l[0],i=l[1],a=l[2],s=l[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),Gpe=o(function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},"assignBoundingBox"),oB=o(function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},"boundingBoxesIntersect"),c1=o(function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},"inBoundingBox"),Pje=o(function(e,r){return c1(e,r.x,r.y)},"pointInBoundingBox"),dge=o(function(e,r){return c1(e,r.x1,r.y1)&&c1(e,r.x2,r.y2)},"boundingBoxInBoundingBox"),pge=o(function(e,r,n,i,a,s,l){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",h=u==="auto"?$0(a,s):u,f=a/2,d=s/2;h=Math.min(h,f,d);var p=h!==f,m=h!==d,g;if(p){var y=n-f+h-l,v=i-d-l,x=n+f-h+l,b=v;if(g=Tf(e,r,n,i,y,v,x,b,!1),g.length>0)return g}if(m){var w=n+f+l,_=i-d+h-l,T=w,E=i+d-h+l;if(g=Tf(e,r,n,i,w,_,T,E,!1),g.length>0)return g}if(p){var L=n-f+h-l,C=i+d+l,A=n+f-h+l,I=C;if(g=Tf(e,r,n,i,L,C,A,I,!1),g.length>0)return g}if(m){var D=n-f-l,k=i-d+h-l,R=D,S=i+d-h+l;if(g=Tf(e,r,n,i,D,k,R,S,!1),g.length>0)return g}var O;{var N=n-f+h,P=i-d+h;if(O=Px(e,r,n,i,N,P,h+l),O.length>0&&O[0]<=N&&O[1]<=P)return[O[0],O[1]]}{var F=n+f-h,B=i-d+h;if(O=Px(e,r,n,i,F,B,h+l),O.length>0&&O[0]>=F&&O[1]<=B)return[O[0],O[1]]}{var $=n+f-h,z=i+d-h;if(O=Px(e,r,n,i,$,z,h+l),O.length>0&&O[0]>=$&&O[1]>=z)return[O[0],O[1]]}{var W=n-f+h,j=i+d-h;if(O=Px(e,r,n,i,W,j,h+l),O.length>0&&O[0]<=W&&O[1]>=j)return[O[0],O[1]]}return[]},"roundRectangleIntersectLine"),Bje=o(function(e,r,n,i,a,s,l){var u=l,h=Math.min(n,a),f=Math.max(n,a),d=Math.min(i,s),p=Math.max(i,s);return h-u<=e&&e<=f+u&&d-u<=r&&r<=p+u},"inLineVicinity"),Fje=o(function(e,r,n,i,a,s,l,u,h){var f={x1:Math.min(n,l,a)-h,x2:Math.max(n,l,a)+h,y1:Math.min(i,u,s)-h,y2:Math.max(i,u,s)+h};return!(ef.x2||rf.y2)},"inBezierVicinity"),zje=o(function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),l=2*e,u=(-r+s)/l,h=(-r-s)/l;return[u,h]},"solveQuadratic"),Gje=o(function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var l,u,h,f,d,p,m,g;if(u=(3*n-r*r)/9,h=-(27*i)+r*(9*n-2*(r*r)),h/=54,l=u*u*u+h*h,a[1]=0,m=r/3,l>0){d=h+Math.sqrt(l),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),p=h-Math.sqrt(l),p=p<0?-Math.pow(-p,1/3):Math.pow(p,1/3),a[0]=-m+d+p,m+=(d+p)/2,a[4]=a[2]=-m,m=Math.sqrt(3)*(-p+d)/2,a[3]=m,a[5]=-m;return}if(a[5]=a[3]=0,l===0){g=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),a[0]=-m+2*g,a[4]=a[2]=-(g+m);return}u=-u,f=u*u*u,f=Math.acos(h/Math.sqrt(f)),g=2*Math.sqrt(u),a[0]=-m+g*Math.cos(f/3),a[2]=-m+g*Math.cos((f+2*Math.PI)/3),a[4]=-m+g*Math.cos((f+4*Math.PI)/3)},"solveCubic"),$je=o(function(e,r,n,i,a,s,l,u){var h=1*n*n-4*n*a+2*n*l+4*a*a-4*a*l+l*l+i*i-4*i*s+2*i*u+4*s*s-4*s*u+u*u,f=1*9*n*a-3*n*n-3*n*l-6*a*a+3*a*l+9*i*s-3*i*i-3*i*u-6*s*s+3*s*u,d=1*3*n*n-6*n*a+n*l-n*e+2*a*a+2*a*e-l*e+3*i*i-6*i*s+i*u-i*r+2*s*s+2*s*r-u*r,p=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,m=[];Gje(h,f,d,p,m);for(var g=1e-7,y=[],v=0;v<6;v+=2)Math.abs(m[v+1])=0&&m[v]<=1&&y.push(m[v]);y.push(1),y.push(0);for(var x=-1,b,w,_,T=0;T=0?_h?(e-a)*(e-a)+(r-s)*(r-s):f-p},"sqdistToFiniteLine"),Gs=o(function(e,r,n){for(var i,a,s,l,u,h=0,f=0;f=e&&e>=s||i<=e&&e<=s)u=(e-i)/(s-i)*(l-a)+a,u>r&&h++;else continue;return h%2!==0},"pointInsidePolygonPoints"),ju=o(function(e,r,n,i,a,s,l,u,h){var f=new Array(n.length),d;u[0]!=null?(d=Math.atan(u[1]/u[0]),u[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=u;for(var p=Math.cos(-d),m=Math.sin(-d),g=0;g0){var v=v6(f,-h);y=y6(v)}else y=f;return Gs(e,r,y)},"pointInsidePolygon"),Uje=o(function(e,r,n,i,a,s,l,u){for(var h=new Array(n.length*2),f=0;f=0&&v<=1&&b.push(v),x>=0&&x<=1&&b.push(x),b.length===0)return[];var w=b[0]*u[0]+e,_=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[w,_];var T=b[1]*u[0]+e,E=b[1]*u[1]+r;return[w,_,T,E]}else return[w,_]},"intersectLineCircle"),AP=o(function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},"midOfThree"),Tf=o(function(e,r,n,i,a,s,l,u,h){var f=e-a,d=n-e,p=l-a,m=r-s,g=i-r,y=u-s,v=p*m-y*f,x=d*m-g*f,b=y*d-p*g;if(b!==0){var w=v/b,_=x/b,T=.001,E=0-T,L=1+T;return E<=w&&w<=L&&E<=_&&_<=L?[e+w*d,r+w*g]:h?[e+w*d,r+w*g]:[]}else return v===0||x===0?AP(e,n,l)===l?[l,u]:AP(e,n,a)===a?[a,s]:AP(a,l,n)===n?[n,i]:[]:[]},"finiteLinesIntersect"),Yx=o(function(e,r,n,i,a,s,l,u){var h=[],f,d=new Array(n.length),p=!0;s==null&&(p=!1);var m;if(p){for(var g=0;g0){var y=v6(d,-u);m=y6(y)}else m=d}else m=n;for(var v,x,b,w,_=0;_2){for(var g=[f[0],f[1]],y=Math.pow(g[0]-e,2)+Math.pow(g[1]-r,2),v=1;vf&&(f=_)},"set"),get:o(function(w){return h[w]},"get")},p=0;p0?N=O.edgesTo(S)[0]:N=S.edgesTo(O)[0];var P=i(N);S=S.id(),C[S]>C[k]+P&&(C[S]=C[k]+P,A.nodes.indexOf(S)<0?A.push(S):A.updateItem(S),L[S]=0,E[S]=[]),C[S]==C[k]+P&&(L[S]=L[S]+L[k],E[S].push(k))}else for(var F=0;F0;){for(var W=T.pop(),j=0;j0&&l.push(n[u]);l.length!==0&&a.push(i.collection(l))}return a},"assign"),aKe=o(function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:lKe,l=i,u,h,f=0;f=2?Dx(e,r,n,0,Wpe,cKe):Dx(e,r,n,0,Hpe)},"euclidean"),squaredEuclidean:o(function(e,r,n){return Dx(e,r,n,0,Wpe)},"squaredEuclidean"),manhattan:o(function(e,r,n){return Dx(e,r,n,0,Hpe)},"manhattan"),max:o(function(e,r,n){return Dx(e,r,n,-1/0,uKe)},"max")};u1["squared-euclidean"]=u1.squaredEuclidean;u1.squaredeuclidean=u1.squaredEuclidean;o(D6,"clusteringDistance");hKe=wa({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),cB=o(function(e){return hKe(e)},"setOptions"),x6=o(function(e,r,n,i,a){var s=a!=="kMedoids",l=s?function(d){return n[d]}:function(d){return i[d](n)},u=o(function(p){return i[p](r)},"getQ"),h=n,f=r;return D6(e,i.length,l,u,h,f)},"getDist"),_P=o(function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),l=new Array(r),u=null,h=0;hn)return!1}return!0},"haveMatricesConverged"),pKe=o(function(e,r,n){for(var i=0;il&&(l=r[h][f],u=f);a[u].push(e[h])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var g=r[s],y=r[i[s]],v;a.mode==="dendrogram"?v={left:g,right:y,key:g.key}:v={value:g.value.concat(y.value),key:g.key},e[g.index]=v,e.splice(y.index,1),r[g.key]=v;for(var x=0;xn[y.key][b.key]&&(u=n[y.key][b.key])):a.linkage==="max"?(u=n[g.key][b.key],n[g.key][b.key]0&&i.push(a);return i},"findExemplars"),Qpe=o(function(e,r,n){for(var i=[],a=0;al&&(s=h,l=r[a*e+h])}s>0&&i.push(s)}for(var f=0;fh&&(u=f,h=d)}n[a]=s[u]}return i=Qpe(e,r,n),i},"assign"),Zpe=o(function(e){for(var r=this.cy(),n=this.nodes(),i=_Ke(e),a={},s=0;s=D?(k=D,D=S,R=O):S>k&&(k=S);for(var N=0;N0?1:0;L[A%i.minIterations*l+W]=j,z+=j}if(z>0&&(A>=i.minIterations-1||A==i.maxIterations-1)){for(var K=0,ie=0;ie1||E>1)&&(l=!0),d[w]=[],b.outgoers().forEach(function(C){C.isEdge()&&d[w].push(C.id())})}else p[w]=[void 0,b.target().id()]}):s.forEach(function(b){var w=b.id();if(b.isNode()){var _=b.degree(!0);_%2&&(u?h?l=!0:h=w:u=w),d[w]=[],b.connectedEdges().forEach(function(T){return d[w].push(T.id())})}else p[w]=[b.source().id(),b.target().id()]});var m={found:!1,trail:void 0};if(l)return m;if(h&&u)if(a){if(f&&h!=f)return m;f=h}else{if(f&&h!=f&&u!=f)return m;f||(f=h)}else f||(f=s[0].id());var g=o(function(w){for(var _=w,T=[w],E,L,C;d[_].length;)E=d[_].shift(),L=p[E][0],C=p[E][1],_!=C?(d[C]=d[C].filter(function(A){return A!=E}),_=C):!a&&_!=L&&(d[L]=d[L].filter(function(A){return A!=E}),_=L),T.unshift(E),T.unshift(_);return T},"walk"),y=[],v=[];for(v=g(f);v.length!=1;)d[v[0]].length==0?(y.unshift(s.getElementById(v.shift())),y.unshift(s.getElementById(v.shift()))):v=g(v.shift()).concat(v);y.unshift(s.getElementById(v.shift()));for(var x in d)if(d[x].length)return m;return m.found=!0,m.trail=this.spawn(y,!0),m},"hierholzer")},QE=o(function(){var e=this,r={},n=0,i=0,a=[],s=[],l={},u=o(function(p,m){for(var g=s.length-1,y=[],v=e.spawn();s[g].x!=p||s[g].y!=m;)y.push(s.pop().edge),g--;y.push(s.pop().edge),y.forEach(function(x){var b=x.connectedNodes().intersection(e);v.merge(x),b.forEach(function(w){var _=w.id(),T=w.connectedEdges().intersection(e);v.merge(w),r[_].cutVertex?v.merge(T.filter(function(E){return E.isLoop()})):v.merge(T)})}),a.push(v)},"buildComponent"),h=o(function d(p,m,g){p===g&&(i+=1),r[m]={id:n,low:n++,cutVertex:!1};var y=e.getElementById(m).connectedEdges().intersection(e);if(y.size()===0)a.push(e.spawn(e.getElementById(m)));else{var v,x,b,w;y.forEach(function(_){v=_.source().id(),x=_.target().id(),b=v===m?x:v,b!==g&&(w=_.id(),l[w]||(l[w]=!0,s.push({x:m,y:b,edge:_})),b in r?r[m].low=Math.min(r[m].low,r[b].id):(d(p,b,m),r[m].low=Math.min(r[m].low,r[b].low),r[m].id<=r[b].low&&(r[m].cutVertex=!0,u(m,b))))})}},"biconnectedSearch");e.forEach(function(d){if(d.isNode()){var p=d.id();p in r||(i=0,h(p,p),r[p].cutVertex=i>1)}});var f=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(f),components:a}},"hopcroftTarjanBiconnected"),PKe={hopcroftTarjanBiconnected:QE,htbc:QE,htb:QE,hopcroftTarjanBiconnectedComponents:QE},ZE=o(function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),l=o(function u(h){a.push(h),r[h]={index:n,low:n++,explored:!1};var f=e.getElementById(h).connectedEdges().intersection(e);if(f.forEach(function(y){var v=y.target().id();v!==h&&(v in r||u(v),r[v].explored||(r[h].low=Math.min(r[h].low,r[v].low)))}),r[h].index===r[h].low){for(var d=e.spawn();;){var p=a.pop();if(d.merge(e.getElementById(p)),r[p].low=r[h].index,r[p].explored=!0,p===h)break}var m=d.edgesWith(d),g=d.merge(m);i.push(g),s=s.difference(g)}},"stronglyConnectedSearch");return e.forEach(function(u){if(u.isNode()){var h=u.id();h in r||l(h)}}),{cut:s,components:i}},"tarjanStronglyConnected"),BKe={tarjanStronglyConnected:ZE,tsc:ZE,tscc:ZE,tarjanStronglyConnectedComponents:ZE},wge={};[Hx,dje,pje,gje,vje,bje,kje,Xje,a1,s1,zP,oKe,bKe,CKe,MKe,OKe,PKe,BKe].forEach(function(t){ir(wge,t)});Tge=0,kge=1,Ege=2,Ku=o(function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=Tge,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");Ku.prototype={fulfill:o(function(e){return Jpe(this,kge,"fulfillValue",e)},"fulfill"),reject:o(function(e){return Jpe(this,Ege,"rejectReason",e)},"reject"),then:o(function(e,r){var n=this,i=new Ku;return n.onFulfilled.push(tme(e,i,"fulfill")),n.onRejected.push(tme(r,i,"reject")),Sge(n),i.proxy},"then")};Jpe=o(function(e,r,n,i){return e.state===Tge&&(e.state=r,e[n]=i,Sge(e)),e},"deliver"),Sge=o(function(e){e.state===kge?eme(e,"onFulfilled",e.fulfillValue):e.state===Ege&&eme(e,"onRejected",e.rejectReason)},"execute"),eme=o(function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=o(function(){for(var l=0;l0},"animatedImpl")},"animated"),clearQueue:o(function(){return o(function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s0&&this.spawn(i).updateStyle().emit("class"),r},"classes"),addClass:o(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:o(function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},"hasClass"),toggleClass:o(function(e,r){wn(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,l=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},"toggleClass"),removeClass:o(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:o(function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n},"flashClass")};o6.className=o6.classNames=o6.classes;$r={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Wi,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};$r.variable="(?:[\\w-.]|(?:\\\\"+$r.metaChar+"))+";$r.className="(?:[\\w-]|(?:\\\\"+$r.metaChar+"))+";$r.value=$r.string+"|"+$r.number;$r.id=$r.variable;(function(){var t,e,r;for(t=$r.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&($r.comparatorOp+="|\\!"+e)})();pn=o(function(){return{checks:[]}},"newQuery"),Pt={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},$P=[{selector:":selected",matches:o(function(e){return e.selected()},"matches")},{selector:":unselected",matches:o(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:o(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:o(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:o(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:o(function(e){return!e.locked()},"matches")},{selector:":visible",matches:o(function(e){return e.visible()},"matches")},{selector:":hidden",matches:o(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:o(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:o(function(e){return e.grabbed()},"matches")},{selector:":free",matches:o(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:o(function(e){return e.removed()},"matches")},{selector:":inside",matches:o(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:o(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:o(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:o(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:o(function(e){return!e.animated()},"matches")},{selector:":parent",matches:o(function(e){return e.isParent()},"matches")},{selector:":childless",matches:o(function(e){return e.isChildless()},"matches")},{selector:":child",matches:o(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:o(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:o(function(e){return e.isChild()},"matches")},{selector:":compound",matches:o(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:o(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:o(function(e){return e.isSimple()},"matches")},{selector:":active",matches:o(function(e){return e.active()},"matches")},{selector:":inactive",matches:o(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:o(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:o(function(e){return!e.backgrounding()},"matches")}].sort(function(t,e){return oXe(t.selector,e.selector)}),KZe=function(){for(var t={},e,r=0;r<$P.length;r++)e=$P[r],t[e.selector]=e.matches;return t}(),QZe=o(function(e,r){return KZe[e](r)},"stateSelectorMatches"),ZZe="("+$P.map(function(t){return t.selector}).join("|")+")",Kg=o(function(e){return e.replace(new RegExp("\\\\("+$r.metaChar+")","g"),function(r,n){return n})},"cleanMetaChars"),bf=o(function(e,r,n){e[e.length-1]=n},"replaceLastQuery"),VP=[{name:"group",query:!0,regex:"("+$r.group+")",populate:o(function(e,r,n){var i=Ul(n,1),a=i[0];r.checks.push({type:Pt.GROUP,value:a==="*"?a:a+"s"})},"populate")},{name:"state",query:!0,regex:ZZe,populate:o(function(e,r,n){var i=Ul(n,1),a=i[0];r.checks.push({type:Pt.STATE,value:a})},"populate")},{name:"id",query:!0,regex:"\\#("+$r.id+")",populate:o(function(e,r,n){var i=Ul(n,1),a=i[0];r.checks.push({type:Pt.ID,value:Kg(a)})},"populate")},{name:"className",query:!0,regex:"\\.("+$r.className+")",populate:o(function(e,r,n){var i=Ul(n,1),a=i[0];r.checks.push({type:Pt.CLASS,value:Kg(a)})},"populate")},{name:"dataExists",query:!0,regex:"\\[\\s*("+$r.variable+")\\s*\\]",populate:o(function(e,r,n){var i=Ul(n,1),a=i[0];r.checks.push({type:Pt.DATA_EXIST,field:Kg(a)})},"populate")},{name:"dataCompare",query:!0,regex:"\\[\\s*("+$r.variable+")\\s*("+$r.comparatorOp+")\\s*("+$r.value+")\\s*\\]",populate:o(function(e,r,n){var i=Ul(n,3),a=i[0],s=i[1],l=i[2],u=new RegExp("^"+$r.string+"$").exec(l)!=null;u?l=l.substring(1,l.length-1):l=parseFloat(l),r.checks.push({type:Pt.DATA_COMPARE,field:Kg(a),operator:s,value:l})},"populate")},{name:"dataBool",query:!0,regex:"\\[\\s*("+$r.boolOp+")\\s*("+$r.variable+")\\s*\\]",populate:o(function(e,r,n){var i=Ul(n,2),a=i[0],s=i[1];r.checks.push({type:Pt.DATA_BOOL,field:Kg(s),operator:a})},"populate")},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+$r.meta+")\\s*("+$r.comparatorOp+")\\s*("+$r.number+")\\s*\\]\\]",populate:o(function(e,r,n){var i=Ul(n,3),a=i[0],s=i[1],l=i[2];r.checks.push({type:Pt.META_COMPARE,field:Kg(a),operator:s,value:parseFloat(l)})},"populate")},{name:"nextQuery",separator:!0,regex:$r.separator,populate:o(function(e,r){var n=e.currentSubject,i=e.edgeCount,a=e.compoundCount,s=e[e.length-1];n!=null&&(s.subject=n,e.currentSubject=null),s.edgeCount=i,s.compoundCount=a,e.edgeCount=0,e.compoundCount=0;var l=e[e.length++]=pn();return l},"populate")},{name:"directedEdge",separator:!0,regex:$r.directedEdge,populate:o(function(e,r){if(e.currentSubject==null){var n=pn(),i=r,a=pn();return n.checks.push({type:Pt.DIRECTED_EDGE,source:i,target:a}),bf(e,r,n),e.edgeCount++,a}else{var s=pn(),l=r,u=pn();return s.checks.push({type:Pt.NODE_SOURCE,source:l,target:u}),bf(e,r,s),e.edgeCount++,u}},"populate")},{name:"undirectedEdge",separator:!0,regex:$r.undirectedEdge,populate:o(function(e,r){if(e.currentSubject==null){var n=pn(),i=r,a=pn();return n.checks.push({type:Pt.UNDIRECTED_EDGE,nodes:[i,a]}),bf(e,r,n),e.edgeCount++,a}else{var s=pn(),l=r,u=pn();return s.checks.push({type:Pt.NODE_NEIGHBOR,node:l,neighbor:u}),bf(e,r,s),u}},"populate")},{name:"child",separator:!0,regex:$r.child,populate:o(function(e,r){if(e.currentSubject==null){var n=pn(),i=pn(),a=e[e.length-1];return n.checks.push({type:Pt.CHILD,parent:a,child:i}),bf(e,r,n),e.compoundCount++,i}else if(e.currentSubject===r){var s=pn(),l=e[e.length-1],u=pn(),h=pn(),f=pn(),d=pn();return s.checks.push({type:Pt.COMPOUND_SPLIT,left:l,right:u,subject:h}),h.checks=r.checks,r.checks=[{type:Pt.TRUE}],d.checks.push({type:Pt.TRUE}),u.checks.push({type:Pt.PARENT,parent:d,child:f}),bf(e,l,s),e.currentSubject=h,e.compoundCount++,f}else{var p=pn(),m=pn(),g=[{type:Pt.PARENT,parent:p,child:m}];return p.checks=r.checks,r.checks=g,e.compoundCount++,m}},"populate")},{name:"descendant",separator:!0,regex:$r.descendant,populate:o(function(e,r){if(e.currentSubject==null){var n=pn(),i=pn(),a=e[e.length-1];return n.checks.push({type:Pt.DESCENDANT,ancestor:a,descendant:i}),bf(e,r,n),e.compoundCount++,i}else if(e.currentSubject===r){var s=pn(),l=e[e.length-1],u=pn(),h=pn(),f=pn(),d=pn();return s.checks.push({type:Pt.COMPOUND_SPLIT,left:l,right:u,subject:h}),h.checks=r.checks,r.checks=[{type:Pt.TRUE}],d.checks.push({type:Pt.TRUE}),u.checks.push({type:Pt.ANCESTOR,ancestor:d,descendant:f}),bf(e,l,s),e.currentSubject=h,e.compoundCount++,f}else{var p=pn(),m=pn(),g=[{type:Pt.ANCESTOR,ancestor:p,descendant:m}];return p.checks=r.checks,r.checks=g,e.compoundCount++,m}},"populate")},{name:"subject",modifier:!0,regex:$r.subject,populate:o(function(e,r){if(e.currentSubject!=null&&e.currentSubject!==r)return on("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=r;var n=e[e.length-1],i=n.checks[0],a=i==null?null:i.type;a===Pt.DIRECTED_EDGE?i.type=Pt.NODE_TARGET:a===Pt.UNDIRECTED_EDGE&&(i.type=Pt.NODE_NEIGHBOR,i.node=i.nodes[1],i.neighbor=i.nodes[0],i.nodes=null)},"populate")}];VP.forEach(function(t){return t.regexObj=new RegExp("^"+t.regex)});JZe=o(function(e){for(var r,n,i,a=0;a0&&f.edgeCount>0)return on("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return on("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&on("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},"parse"),rJe=o(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=o(function(f){return f??""},"clean"),r=o(function(f){return Zt(f)?'"'+f+'"':e(f)},"cleanVal"),n=o(function(f){return" "+f+" "},"space"),i=o(function(f,d){var p=f.type,m=f.value;switch(p){case Pt.GROUP:{var g=e(m);return g.substring(0,g.length-1)}case Pt.DATA_COMPARE:{var y=f.field,v=f.operator;return"["+y+n(e(v))+r(m)+"]"}case Pt.DATA_BOOL:{var x=f.operator,b=f.field;return"["+e(x)+b+"]"}case Pt.DATA_EXIST:{var w=f.field;return"["+w+"]"}case Pt.META_COMPARE:{var _=f.operator,T=f.field;return"[["+T+n(e(_))+r(m)+"]]"}case Pt.STATE:return m;case Pt.ID:return"#"+m;case Pt.CLASS:return"."+m;case Pt.PARENT:case Pt.CHILD:return a(f.parent,d)+n(">")+a(f.child,d);case Pt.ANCESTOR:case Pt.DESCENDANT:return a(f.ancestor,d)+" "+a(f.descendant,d);case Pt.COMPOUND_SPLIT:{var E=a(f.left,d),L=a(f.subject,d),C=a(f.right,d);return E+(E.length>0?" ":"")+L+C}case Pt.TRUE:return""}},"checkToString"),a=o(function(f,d){return f.checks.reduce(function(p,m,g){return p+(d===f&&g===0?"$":"")+i(m,d)},"")},"queryToString"),s="",l=0;l1&&l=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(a||l||f)&&(u=!a&&!s?"":""+e,h=""+n),f&&(e=u=u.toLowerCase(),n=h=h.toLowerCase()),r){case"*=":i=u.indexOf(h)>=0;break;case"$=":i=u.indexOf(h,u.length-h.length)>=0;break;case"^=":i=u.indexOf(h)===0;break;case"=":i=e===n;break;case">":p=!0,i=e>n;break;case">=":p=!0,i=e>=n;break;case"<":p=!0,i=e1&&arguments[1]!==void 0?arguments[1]:!0;return pB(this,t,e,Ige)};o(Oge,"addParent");h1.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return pB(this,t,e,Oge)};o(uJe,"addParentAndChildren");h1.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return pB(this,t,e,uJe)};h1.ancestors=h1.parents;Xx=Pge={data:sn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:sn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:sn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:sn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:sn.removeData({field:"rscratch",triggerEvent:!1}),id:o(function(){var e=this[0];if(e)return e._private.data.id},"id")};Xx.attr=Xx.data;Xx.removeAttr=Xx.removeData;hJe=Pge,I6={};o(DP,"defineDegreeFunction");ir(I6,{degree:DP(function(t,e){return e.source().same(e.target())?2:1}),indegree:DP(function(t,e){return e.target().same(t)?1:0}),outdegree:DP(function(t,e){return e.source().same(t)?1:0})});o(Qg,"defineDegreeBoundsFunction");ir(I6,{minDegree:Qg("degree",function(t,e){return te}),minIndegree:Qg("indegree",function(t,e){return te}),minOutdegree:Qg("outdegree",function(t,e){return te})});ir(I6,{totalDegree:o(function(e){for(var r=0,n=this.nodes(),i=0;i0,p=d;d&&(f=f[0]);var m=p?f.position():{x:0,y:0};r!==void 0?h.position(e,r+m[e]):a!==void 0&&h.position({x:a.x+m.x,y:a.y+m.y})}else{var g=n.position(),y=l?n.parent():null,v=y&&y.length>0,x=v;v&&(y=y[0]);var b=x?y.position():{x:0,y:0};return a={x:g.x-b.x,y:g.y-b.y},e===void 0?a:a[e]}else if(!s)return;return this},"relativePosition")};Yl.modelPosition=Yl.point=Yl.position;Yl.modelPositions=Yl.points=Yl.positions;Yl.renderedPoint=Yl.renderedPosition;Yl.relativePoint=Yl.relativePosition;fJe=Bge;o1=Df={};Df.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,l=e.y1*n+i.y,u=e.y2*n+i.y;return{x1:a,x2:s,y1:l,y2:u,w:s-a,h:u-l}};Df.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};Df.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var l=s._private,u=s.children(),h=s.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=u.boundingBox({includeLabels:h,includeOverlays:!1,useCache:!1}),p=l.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=p.x-d.w/2,d.x2=p.x+d.w/2,d.y1=p.y-d.h/2,d.y2=p.y+d.h/2);function m(A,I,D){var k=0,R=0,S=I+D;return A>0&&S>0&&(k=I/S*A,R=D/S*A),{biasDiff:k,biasComplementDiff:R}}o(m,"computeBiasValues");function g(A,I,D,k){if(D.units==="%")switch(k){case"width":return A>0?D.pfValue*A:0;case"height":return I>0?D.pfValue*I:0;case"average":return A>0&&I>0?D.pfValue*(A+I)/2:0;case"min":return A>0&&I>0?A>I?D.pfValue*I:D.pfValue*A:0;case"max":return A>0&&I>0?A>I?D.pfValue*A:D.pfValue*I:0;default:return 0}else return D.units==="px"?D.pfValue:0}o(g,"computePaddingValues");var y=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(y=y*100/f.width.val);var v=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(v=v*100/f.width.val);var x=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(x=x*100/f.height.val);var b=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(b=b*100/f.height.val);var w=m(f.width.val-d.w,y,v),_=w.biasDiff,T=w.biasComplementDiff,E=m(f.height.val-d.h,x,b),L=E.biasDiff,C=E.biasComplementDiff;l.autoPadding=g(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),l.autoWidth=Math.max(d.w,f.width.val),p.x=(-_+d.x1+d.x2+T)/2,l.autoHeight=Math.max(d.h,f.height.val),p.y=(-L+d.y1+d.y2+C)/2}o(r,"update");for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),I0=o(function(e,r){return r==null?e:Hl(e,r.x1,r.y1,r.x2,r.y2)},"updateBoundsFromBox"),Nx=o(function(e,r,n){return Wl(e,r,n)},"prefixedProperty"),JE=o(function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,l=r.pstyle(n+"-arrow-shape").value,u,h;if(l!=="none"){n==="source"?(u=a.srcX,h=a.srcY):n==="target"?(u=a.tgtX,h=a.tgtY):(u=a.midX,h=a.midY);var f=i.arrowBounds=i.arrowBounds||{},d=f[n]=f[n]||{};d.x1=u-s,d.y1=h-s,d.x2=u+s,d.y2=h+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,a6(d,1),Hl(e,d.x1,d.y1,d.x2,d.y2)}}},"updateBoundsFromArrow"),NP=o(function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,l=r.pstyle(i+"label").strValue;if(l){var u=r.pstyle("text-halign"),h=r.pstyle("text-valign"),f=Nx(s,"labelWidth",n),d=Nx(s,"labelHeight",n),p=Nx(s,"labelX",n),m=Nx(s,"labelY",n),g=r.pstyle(i+"text-margin-x").pfValue,y=r.pstyle(i+"text-margin-y").pfValue,v=r.isEdge(),x=r.pstyle(i+"text-rotation"),b=r.pstyle("text-outline-width").pfValue,w=r.pstyle("text-border-width").pfValue,_=w/2,T=r.pstyle("text-background-padding").pfValue,E=2,L=d,C=f,A=C/2,I=L/2,D,k,R,S;if(v)D=p-A,k=p+A,R=m-I,S=m+I;else{switch(u.value){case"left":D=p-C,k=p;break;case"center":D=p-A,k=p+A;break;case"right":D=p,k=p+C;break}switch(h.value){case"top":R=m-L,S=m;break;case"center":R=m-I,S=m+I;break;case"bottom":R=m,S=m+L;break}}D+=g-Math.max(b,_)-T-E,k+=g+Math.max(b,_)+T+E,R+=y-Math.max(b,_)-T-E,S+=y+Math.max(b,_)+T+E;var O=n||"main",N=a.labelBounds,P=N[O]=N[O]||{};P.x1=D,P.y1=R,P.x2=k,P.y2=S,P.w=k-D,P.h=S-R;var F=v&&x.strValue==="autorotate",B=x.pfValue!=null&&x.pfValue!==0;if(F||B){var $=F?Nx(a.rstyle,"labelAngle",n):x.pfValue,z=Math.cos($),W=Math.sin($),j=(D+k)/2,K=(R+S)/2;if(!v){switch(u.value){case"left":j=k;break;case"right":j=D;break}switch(h.value){case"top":K=S;break;case"bottom":K=R;break}}var ie=o(function(ue,ce){return ue=ue-j,ce=ce-K,{x:ue*z-ce*W+j,y:ue*W+ce*z+K}},"rotate"),Q=ie(D,R),ee=ie(D,S),J=ie(k,R),H=ie(k,S);D=Math.min(Q.x,ee.x,J.x,H.x),k=Math.max(Q.x,ee.x,J.x,H.x),R=Math.min(Q.y,ee.y,J.y,H.y),S=Math.max(Q.y,ee.y,J.y,H.y)}var q=O+"Rot",Z=N[q]=N[q]||{};Z.x1=D,Z.y1=R,Z.x2=k,Z.y2=S,Z.w=k-D,Z.h=S-R,Hl(e,D,R,k,S),Hl(a.labelBounds.all,D,R,k,S)}return e}},"updateBoundsFromLabel"),dJe=o(function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value;if(n>0&&i>0){var a=r.pstyle("outline-offset").value,s=r.pstyle("shape").value,l=i+a,u=(e.w+l*2)/e.w,h=(e.h+l*2)/e.h,f=0,d=0;["diamond","pentagon","round-triangle"].includes(s)?(u=(e.w+l*2.4)/e.w,d=-l/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?u=(e.w+l*2.4)/e.w:s==="star"?(u=(e.w+l*2.8)/e.w,h=(e.h+l*2.6)/e.h,d=-l/3.8):s==="triangle"?(u=(e.w+l*2.8)/e.w,h=(e.h+l*2.4)/e.h,d=-l/1.4):s==="vee"&&(u=(e.w+l*4.4)/e.w,h=(e.h+l*3.8)/e.h,d=-l*.5);var p=e.h*h-e.h,m=e.w*u-e.w;if(s6(e,[Math.ceil(p/2),Math.ceil(m/2)]),f!=0||d!==0){var g=Ije(e,f,d);fge(e,g)}}}},"updateBoundsFromOutline"),pJe=o(function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=$s(),l=e._private,u=e.isNode(),h=e.isEdge(),f,d,p,m,g,y,v=l.rstyle,x=u&&i?e.pstyle("bounds-expansion").pfValue:[0],b=o(function(De){return De.pstyle("display").value!=="none"},"isDisplayed"),w=!i||b(e)&&(!h||b(e.source())&&b(e.target()));if(w){var _=0,T=0;i&&r.includeOverlays&&(_=e.pstyle("overlay-opacity").value,_!==0&&(T=e.pstyle("overlay-padding").value));var E=0,L=0;i&&r.includeUnderlays&&(E=e.pstyle("underlay-opacity").value,E!==0&&(L=e.pstyle("underlay-padding").value));var C=Math.max(T,L),A=0,I=0;if(i&&(A=e.pstyle("width").pfValue,I=A/2),u&&r.includeNodes){var D=e.position();g=D.x,y=D.y;var k=e.outerWidth(),R=k/2,S=e.outerHeight(),O=S/2;f=g-R,d=g+R,p=y-O,m=y+O,Hl(s,f,p,d,m),i&&r.includeOutlines&&dJe(s,e)}else if(h&&r.includeEdges)if(i&&!a){var N=e.pstyle("curve-style").strValue;if(f=Math.min(v.srcX,v.midX,v.tgtX),d=Math.max(v.srcX,v.midX,v.tgtX),p=Math.min(v.srcY,v.midY,v.tgtY),m=Math.max(v.srcY,v.midY,v.tgtY),f-=I,d+=I,p-=I,m+=I,Hl(s,f,p,d,m),N==="haystack"){var P=v.haystackPts;if(P&&P.length===2){if(f=P[0].x,p=P[0].y,d=P[1].x,m=P[1].y,f>d){var F=f;f=d,d=F}if(p>m){var B=p;p=m,m=B}Hl(s,f-I,p-I,d+I,m+I)}}else if(N==="bezier"||N==="unbundled-bezier"||N.endsWith("segments")||N.endsWith("taxi")){var $;switch(N){case"bezier":case"unbundled-bezier":$=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":$=v.linePts;break}if($!=null)for(var z=0;z<$.length;z++){var W=$[z];f=W.x-I,d=W.x+I,p=W.y-I,m=W.y+I,Hl(s,f,p,d,m)}}}else{var j=e.source(),K=j.position(),ie=e.target(),Q=ie.position();if(f=K.x,d=Q.x,p=K.y,m=Q.y,f>d){var ee=f;f=d,d=ee}if(p>m){var J=p;p=m,m=J}f-=I,d+=I,p-=I,m+=I,Hl(s,f,p,d,m)}if(i&&r.includeEdges&&h&&(JE(s,e,"mid-source"),JE(s,e,"mid-target"),JE(s,e,"source"),JE(s,e,"target")),i){var H=e.pstyle("ghost").value==="yes";if(H){var q=e.pstyle("ghost-offset-x").pfValue,Z=e.pstyle("ghost-offset-y").pfValue;Hl(s,s.x1+q,s.y1+Z,s.x2+q,s.y2+Z)}}var ae=l.bodyBounds=l.bodyBounds||{};Gpe(ae,s),s6(ae,x),a6(ae,1),i&&(f=s.x1,d=s.x2,p=s.y1,m=s.y2,Hl(s,f-C,p-C,d+C,m+C));var ue=l.overlayBounds=l.overlayBounds||{};Gpe(ue,s),s6(ue,x),a6(ue,1);var ce=l.labelBounds=l.labelBounds||{};ce.all!=null?Mje(ce.all):ce.all=$s(),i&&r.includeLabels&&(r.includeMainLabels&&NP(s,e,null),h&&(r.includeSourceLabels&&NP(s,e,"source"),r.includeTargetLabels&&NP(s,e,"target")))}return s.x1=il(s.x1),s.y1=il(s.y1),s.x2=il(s.x2),s.y2=il(s.y2),s.w=il(s.x2-s.x1),s.h=il(s.y2-s.y1),s.w>0&&s.h>0&&w&&(s6(s,x),a6(s,1)),s},"boundingBoxImpl"),zge=o(function(e){var r=0,n=o(function(s){return(s?1:0)<=0;l--)s(l);return this};Lf.removeAllListeners=function(){return this.removeListener("*")};Lf.emit=Lf.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,wn(e)||(e=[e]),DJe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var l=o(function(f){var d=n[f];if(d.type===s.type&&(!d.namespace||d.namespace===s.namespace||d.namespace===_Je)&&a.eventMatches(a.context,d,s)){var p=[s];e!=null&&oje(p,e),a.beforeEmit(a.context,d,s),d.conf&&d.conf.one&&(a.listeners=a.listeners.filter(function(y){return y!==d}));var m=a.callbackContext(a.context,d,s),g=d.callback.apply(m,p);a.afterEmit(a.context,d,s),g===!1&&(s.stopPropagation(),s.preventDefault())}},"_loop2"),u=0;u1&&!s){var l=this.length-1,u=this[l],h=u._private.data.id;this[l]=void 0,this[e]=u,a.set(h,{ele:u,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:o(function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},"unmergeOne"),unmerge:o(function(e){var r=this._private.cy;if(!e)return this;if(e&&Zt(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},"unmergeBy"),map:o(function(e,r){for(var n=[],i=this,a=0;an&&(n=u,i=l)}return{value:n,ele:i}},"max"),min:o(function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":Yi(Symbol))!=e&&Yi(Symbol.iterator)!=e;r&&(b6[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return Hme({next:o(function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){this.cleanStyle();var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},"parsedStyle"),numericStyle:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},"numericStyle"),numericStyleUnits:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},"numericStyleUnits"),renderedStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},"renderedStyle"),style:o(function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(Vr(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(Zt(e))if(r===void 0){var l=this[0];return l?a.getStylePropertyValue(l,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?a.getRawStyle(u):void 0}return this},"style"),removeStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(f[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:o(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:o(function(e){return this.neighborhood(e)},"openNeighborhood")});Ba.neighbourhood=Ba.neighborhood;Ba.closedNeighbourhood=Ba.closedNeighborhood;Ba.openNeighbourhood=Ba.openNeighborhood;ir(Ba,{source:al(o(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"sourceImpl"),"source"),target:al(o(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"targetImpl"),"target"),sources:vme({attr:"source"}),targets:vme({attr:"target"})});o(vme,"defineSourceFunction");ir(Ba,{edgesWith:al(xme(),"edgesWith"),edgesTo:al(xme({thisIsSrc:!0}),"edgesTo")});o(xme,"defineEdgesWithFunction");ir(Ba,{connectedEdges:al(function(t){for(var e=[],r=this,n=0;n0);return s},"components"),component:o(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});Ba.componentsOf=Ba.components;ba=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){hi("A collection must have a reference to the core");return}var a=new Uc,s=!1;if(!r)r=[];else if(r.length>0&&Vr(r[0])&&!Jx(r[0])){s=!0;for(var l=[],u=new f1,h=0,f=r.length;h0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],l,u=0,h=r.length;u0){for(var B=l.length===r.length?r:new ba(n,l),$=0;$0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(S){for(var O=S._private.edges,N=0;N0&&(t?D.emitAndNotify("remove"):e&&D.emit("remove"));for(var k=0;kf&&Math.abs(g.v)>f;);return p?function(y){return u[y*(u.length-1)|0]}:h},"springRK4Factory")}(),Dn=o(function(e,r,n,i){var a=GJe(e,r,n,i);return function(s,l,u){return s+(l-s)*a(u)}},"cubicBezier"),c6={linear:o(function(e,r,n){return e+(r-e)*n},"linear"),ease:Dn(.25,.1,.25,1),"ease-in":Dn(.42,0,1,1),"ease-out":Dn(0,0,.58,1),"ease-in-out":Dn(.42,0,.58,1),"ease-in-sine":Dn(.47,0,.745,.715),"ease-out-sine":Dn(.39,.575,.565,1),"ease-in-out-sine":Dn(.445,.05,.55,.95),"ease-in-quad":Dn(.55,.085,.68,.53),"ease-out-quad":Dn(.25,.46,.45,.94),"ease-in-out-quad":Dn(.455,.03,.515,.955),"ease-in-cubic":Dn(.55,.055,.675,.19),"ease-out-cubic":Dn(.215,.61,.355,1),"ease-in-out-cubic":Dn(.645,.045,.355,1),"ease-in-quart":Dn(.895,.03,.685,.22),"ease-out-quart":Dn(.165,.84,.44,1),"ease-in-out-quart":Dn(.77,0,.175,1),"ease-in-quint":Dn(.755,.05,.855,.06),"ease-out-quint":Dn(.23,1,.32,1),"ease-in-out-quint":Dn(.86,0,.07,1),"ease-in-expo":Dn(.95,.05,.795,.035),"ease-out-expo":Dn(.19,1,.22,1),"ease-in-out-expo":Dn(1,0,0,1),"ease-in-circ":Dn(.6,.04,.98,.335),"ease-out-circ":Dn(.075,.82,.165,1),"ease-in-out-circ":Dn(.785,.135,.15,.86),spring:o(function(e,r,n){if(n===0)return c6.linear;var i=$Je(e,r,n);return function(a,s,l){return a+(s-a)*i(l)}},"spring"),"cubic-bezier":Dn};o(wme,"getEasedValue");o(Tme,"getValue");o(Zg,"ease");o(VJe,"step$1");o(Mx,"valid");o(UJe,"startAnimation");o(kme,"stepAll");HJe={animate:sn.animate(),animation:sn.animation(),animated:sn.animated(),clearQueue:sn.clearQueue(),delay:sn.delay(),delayAnimation:sn.delayAnimation(),stop:sn.stop(),addToAnimationPool:o(function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:o(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:o(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&m6(o(function(a){kme(a,e),r()},"animationStep"))}o(r,"headlessStep");var n=e.renderer();n&&n.beforeRender?n.beforeRender(o(function(a,s){kme(s,e)},"rendererAnimationStep"),n.beforeRenderPriorities.animations):r()},"startAnimationLoop")},WJe={qualifierCompare:o(function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},"qualifierCompare"),eventMatches:o(function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&Jx(n.target)&&i.matches(n.target):!0},"eventMatches"),addEventFields:o(function(e,r){r.cy=e,r.target=e},"addEventFields"),callbackContext:o(function(e,r,n){return r.qualifier!=null?n.target:e},"callbackContext")},r6=o(function(e){return Zt(e)?new Af(e):e},"argSelector"),Kge={createEmitter:o(function(){var e=this._private;return e.emitter||(e.emitter=new O6(WJe,this)),this},"createEmitter"),emitter:o(function(){return this._private.emitter},"emitter"),on:o(function(e,r,n){return this.emitter().on(e,r6(r),n),this},"on"),removeListener:o(function(e,r,n){return this.emitter().removeListener(e,r6(r),n),this},"removeListener"),removeAllListeners:o(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:o(function(e,r,n){return this.emitter().one(e,r6(r),n),this},"one"),once:o(function(e,r,n){return this.emitter().one(e,r6(r),n),this},"once"),emit:o(function(e,r){return this.emitter().emit(e,r),this},"emit"),emitAndNotify:o(function(e,r){return this.emit(e),this.notify(e,r),this},"emitAndNotify")};sn.eventAliasesOn(Kge);UP={png:o(function(e){var r=this._private.renderer;return e=e||{},r.png(e)},"png"),jpg:o(function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)},"jpg")};UP.jpeg=UP.jpg;u6={layout:o(function(e){var r=this;if(e==null){hi("Layout options must be specified to make a layout");return}if(e.name==null){hi("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){hi("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;Zt(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(ir({},e,{cy:r,eles:a}));return s},"layout")};u6.createLayout=u6.makeLayout=u6.layout;YJe={notify:o(function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},"notify"),notifications:o(function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},"notifications"),noNotifications:o(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:o(function(){return this._private.batchCount>0},"batching"),startBatch:o(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:o(function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},"endBatch"),batch:o(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:o(function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},"destroyRenderer"),onRender:o(function(e){return this.on("render",e)},"onRender"),offRender:o(function(e){return this.off("render",e)},"offRender")};HP.invalidateDimensions=HP.resize;h6={collection:o(function(e,r){return Zt(e)?this.$(e):po(e)?e.collection():wn(e)?(r||(r={}),new ba(this,e,r.unique,r.removed)):new ba(this)},"collection"),nodes:o(function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},"nodes"),edges:o(function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},"edges"),$:o(function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},"$"),mutableElements:o(function(){return this._private.elements},"mutableElements")};h6.elements=h6.filter=h6.$;za={},zx="t",XJe="f";za.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(p||d&&m){var g=void 0;p&&m||p?g=h.properties:m&&(g=h.mappedProperties);for(var y=0;y1&&(_=1),l.color){var E=n.valueMin[0],L=n.valueMax[0],C=n.valueMin[1],A=n.valueMax[1],I=n.valueMin[2],D=n.valueMax[2],k=n.valueMin[3]==null?1:n.valueMin[3],R=n.valueMax[3]==null?1:n.valueMax[3],S=[Math.round(E+(L-E)*_),Math.round(C+(A-C)*_),Math.round(I+(D-I)*_),Math.round(k+(R-k)*_)];a={bypass:n.bypass,name:n.name,value:S,strValue:"rgb("+S[0]+", "+S[1]+", "+S[2]+")"}}else if(l.number){var O=n.valueMin+(n.valueMax-n.valueMin)*_;a=this.parse(n.name,O,n.bypass,p)}else return!1;if(!a)return y(),!1;a.mapping=n,n=a;break}case s.data:{for(var N=n.field.split("."),P=d.data,F=0;F0&&a>0){for(var l={},u=!1,h=0;h0?t.delayAnimation(s).play().promise().then(w):w()}).then(function(){return t.animation({style:l,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};za.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],l=i(s);l!=null&&l(r,n)&&a(s)};za.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};za.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),i.triggersBoundsOfParallelBeziers&&e==="curve-style"&&(r==="bezier"||n==="bezier")&&t.parallelEdges().forEach(function(a){a.isBundledBezier()&&a.dirtyBoundingBoxCache()}),i.triggersBoundsOfConnectedEdges&&e==="display"&&(r==="none"||n==="none")&&t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};za.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n)};nb={};nb.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;li.length?n=n.substr(i.length):n=""}o(l,"removeSelAndBlockFromRemaining");function u(){a.length>s.length?a=a.substr(s.length):a=""}for(o(u,"removePropAndValFromRem");;){var h=n.match(/^\s*$/);if(h)break;var f=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){on("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=f[0];var d=f[1];if(d!=="core"){var p=new Af(d);if(p.invalid){on("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),l();continue}}var m=f[2],g=!1;a=m;for(var y=[];;){var v=a.match(/^\s*$/);if(v)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){on("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+m),g=!0;break}s=x[0];var b=x[1],w=x[2],_=e.properties[b];if(!_){on("Skipping property: Invalid property name in: "+s),u();continue}var T=r.parse(b,w);if(!T){on("Skipping property: Invalid property definition in: "+s),u();continue}y.push({name:b,val:w}),u()}if(g){l();break}r.selector(d);for(var E=0;E=7&&e[0]==="d"&&(f=new RegExp(l.data.regex).exec(e))){if(r)return!1;var p=l.data;return{name:t,value:f,strValue:""+e,mapped:p,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(l.mapData.regex).exec(e))){if(r||h.multiple)return!1;var m=l.mapData;if(!(h.color||h.number))return!1;var g=this.parse(t,d[4]);if(!g||g.mapped)return!1;var y=this.parse(t,d[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return on("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var v=g.value,x=y.value,b=v[0]===x[0]&&v[1]===x[1]&&v[2]===x[2]&&(v[3]===x[3]||(v[3]==null||v[3]===1)&&(x[3]==null||x[3]===1));if(b)return!1}return{name:t,value:d,strValue:""+e,mapped:m,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:g.value,valueMax:y.value,bypass:r}}}if(h.multiple&&n!=="multiple"){var w;if(u?w=e.split(/\s+/):wn(e)?w=e:w=[e],h.evenMultiple&&w.length%2!==0)return null;for(var _=[],T=[],E=[],L="",C=!1,A=0;A0?" ":"")+I.strValue}return h.validate&&!h.validate(_,T)?null:h.singleEnum&&C?_.length===1&&Zt(_[0])?{name:t,value:_[0],strValue:_[0],bypass:r}:null:{name:t,value:_,pfValue:E,strValue:L,bypass:r,units:T}}var D=o(function(){for(var H=0;Hh.max||h.strictMax&&e===h.max))return null;var N={name:t,value:e,strValue:""+e+(k||""),units:k,bypass:r};return h.unitless||k!=="px"&&k!=="em"?N.pfValue=e:N.pfValue=k==="px"||!k?e:this.getEmSizeInPixels()*e,(k==="ms"||k==="s")&&(N.pfValue=k==="ms"?e:1e3*e),(k==="deg"||k==="rad")&&(N.pfValue=k==="rad"?e:Lje(e)),k==="%"&&(N.pfValue=e/100),N}else if(h.propList){var P=[],F=""+e;if(F!=="none"){for(var B=F.split(/\s*,\s*|\s+/),$=0;$0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){u=Math.min((s-2*r)/n.w,(l-2*r)/n.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=n.minZoom&&(n.maxZoom=r),this},"zoomRange"),minZoom:o(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:o(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:o(function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,l=!1;if(r.zoomingEnabled||(l=!0),xt(e)?s=e:Vr(e)&&(s=e.level,e.position!=null?a=L6(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(l=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=u,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var h=e.pan;xt(h.x)&&(r.pan.x=h.x,l=!1),xt(h.y)&&(r.pan.y=h.y,l=!1),l||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:o(function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:o(function(e,r){if(this._private.panningEnabled){if(Zt(e)){var n=e;e=this.mutableElements().filter(n)}else po(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var l={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return l}}},"getCenterPan"),reset:o(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:o(function(){this._private.sizeCache=null},"invalidateSize"),size:o(function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?function(){var i=n.window().getComputedStyle(r),a=o(function(l){return parseFloat(i.getPropertyValue(l))},"val");return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}}():{width:1,height:1})},"size"),width:o(function(){return this.size().width},"width"),height:o(function(){return this.size().height},"height"),extent:o(function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},"extent"),renderedExtent:o(function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},"renderedExtent"),multiClickDebounceTime:o(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};U0.centre=U0.center;U0.autolockNodes=U0.autolock;U0.autoungrabifyNodes=U0.autoungrabify;Kx={data:sn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:sn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:sn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:sn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Kx.attr=Kx.data;Kx.removeAttr=Kx.removeData;Qx=o(function(e){var r=this;e=ir({},e);var n=e.container;n&&!p6(n)&&p6(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=Hi!==void 0&&n!==void 0&&!e.headless,l=e;l.layout=ir({name:s?"grid":"null"},l.layout),l.renderer=ir({name:s?"canvas":"null"},l.renderer);var u=o(function(g,y,v){return y!==void 0?y:v!==void 0?v:g},"defVal"),h=this._private={container:n,ready:!1,options:l,elements:new ba(this),listeners:[],aniEles:new ba(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,l.zoomingEnabled),userZoomingEnabled:u(!0,l.userZoomingEnabled),panningEnabled:u(!0,l.panningEnabled),userPanningEnabled:u(!0,l.userPanningEnabled),boxSelectionEnabled:u(!0,l.boxSelectionEnabled),autolock:u(!1,l.autolock,l.autolockNodes),autoungrabify:u(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:u(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?s:l.styleEnabled,zoom:xt(l.zoom)?l.zoom:1,pan:{x:Vr(l.pan)&&xt(l.pan.x)?l.pan.x:0,y:Vr(l.pan)&&xt(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var f=o(function(g,y){var v=g.some(Jqe);if(v)return d1.all(g).then(y);y(g)},"loadExtData");h.styleEnabled&&r.setStyle([]);var d=ir({},l,l.renderer);r.initRenderer(d);var p=o(function(g,y,v){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),g!=null&&(Vr(g)||wn(g))&&r.add(g),r.one("layoutready",function(w){r.notifications(!0),r.emit(w),r.one("load",y),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",v),r.emit("done")});var b=ir({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()},"setElesAndLayout");f([l.style,l.elements],function(m){var g=m[0],y=m[1];h.styleEnabled&&r.style().append(g),p(y,function(){r.startAnimationLoop(),h.ready=!0,ti(l.ready)&&r.on("ready",l.ready);for(var v=0;v0,u=$s(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),h;if(po(e.roots))h=e.roots;else if(wn(e.roots)){for(var f=[],d=0;d0;){var O=S(),N=I(O,k);if(N)O.outgoers().filter(function(ce){return ce.isNode()&&n.has(ce)}).forEach(R);else if(N===null){on("Detected double maximal shift for node `"+O.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}A();var P=0;if(e.avoidOverlap)for(var F=0;F0&&x[0].length<=3?Ge/2:0),X=2*Math.PI/x[oe].length*ke;return oe===0&&x[0].length===1&&(xe=1),{x:Z.x+xe*Math.cos(X),y:Z.y+xe*Math.sin(X)}}else{var He={x:Z.x+(ke+1-(Fe+1)/2)*Be,y:(oe+1)*Ve};return He}},"getPosition");return n.nodes().layoutPositions(this,e,ue),this};JJe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(Zge,"CircleLayout");Zge.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=$s(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,h=u/Math.max(1,a.length-1),f,d=0,p=0;p1&&e.avoidOverlap){d*=1.75;var x=Math.cos(h)-Math.cos(0),b=Math.sin(h)-Math.sin(0),w=Math.sqrt(d*d/(x*x+b*b));f=Math.max(w,f)}var _=o(function(E,L){var C=e.startAngle+L*h*(i?1:-1),A=f*Math.cos(C),I=f*Math.sin(C),D={x:l.x+A,y:l.y+I};return D},"getPos");return n.nodes().layoutPositions(this,e,_),this};eet={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:o(function(e){return e.degree()},"concentric"),levelWidth:o(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(Jge,"ConcentricLayout");Jge.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=$s(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=[],h=0,f=0;f0){var T=Math.abs(b[0].value-_.value);T>=v&&(b=[],x.push(b))}b.push(_)}var E=h+e.minNodeSpacing;if(!e.avoidOverlap){var L=x.length>0&&x[0].length>1,C=Math.min(s.w,s.h)/2-E,A=C/(x.length+L?1:0);E=Math.min(E,A)}for(var I=0,D=0;D1&&e.avoidOverlap){var O=Math.cos(S)-Math.cos(0),N=Math.sin(S)-Math.sin(0),P=Math.sqrt(E*E/(O*O+N*N));I=Math.max(P,I)}k.r=I,I+=E}if(e.equidistant){for(var F=0,B=0,$=0;$=t.numIter||(cet(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),m6(d)}},"frame");f()}else{for(;h;)h=s(u),u++;Cme(n,t),l()}return this};G6.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};G6.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};ret=o(function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=$s(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},u=n.eles.components(),h={},f=0;f0){l.graphSet.push(C);for(var f=0;fi.count?0:i.graph},"findLCA"),iet=o(function t(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*f,p=Math.sqrt(l*l+u*u),m=d*l/p,g=d*u/p;else var y=T6(e,l,u),v=T6(r,-1*l,-1*u),x=v.x-y.x,b=v.y-y.y,w=x*x+b*b,p=Math.sqrt(w),d=(e.nodeRepulsion+r.nodeRepulsion)/w,m=d*x/p,g=d*b/p;e.isLocked||(e.offsetX-=m,e.offsetY-=g),r.isLocked||(r.offsetX+=m,r.offsetY+=g)}},"nodeRepulsion"),fet=o(function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},"nodesOverlap"),T6=o(function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,l=e.width||1,u=n/r,h=s/l,f={};return r===0&&0n?(f.x=i,f.y=a+s/2,f):0r&&-1*h<=u&&u<=h?(f.x=i-l/2,f.y=a-l*n/2/r,f):0=h)?(f.x=i+s*r/2/n,f.y=a+s/2,f):(0>n&&(u<=-1*h||u>=h)&&(f.x=i-s*r/2/n,f.y=a-s/2),f)},"findClippingPoint"),det=o(function(e,r){for(var n=0;nn){var v=r.gravity*m/y,x=r.gravity*g/y;p.offsetX+=v,p.offsetY+=x}}}}},"calculateGravityForces"),met=o(function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],l=e.idToIndex[s],u=e.layoutNodes[l],h=u.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},"limitForce"),vet=o(function t(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(g+=v+r.componentSpacing,m=0,y=0,v=0)}}},"separateComponents"),xet={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:o(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(t1e,"GridLayout");t1e.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=$s(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(j){return{x:a.x1,y:a.y1}});else{var s=i.size(),l=Math.sqrt(s*a.h/a.w),u=Math.round(l),h=Math.round(a.w/a.h*l),f=o(function(K){if(K==null)return Math.min(u,h);var ie=Math.min(u,h);ie==u?u=K:h=K},"small"),d=o(function(K){if(K==null)return Math.max(u,h);var ie=Math.max(u,h);ie==u?u=K:h=K},"large"),p=e.rows,m=e.cols!=null?e.cols:e.columns;if(p!=null&&m!=null)u=p,h=m;else if(p!=null&&m==null)u=p,h=Math.ceil(s/u);else if(p==null&&m!=null)h=m,u=Math.ceil(s/h);else if(h*u>s){var g=f(),y=d();(g-1)*y>=s?f(g-1):(y-1)*g>=s&&d(y-1)}else for(;h*u=s?d(x+1):f(v+1)}var b=a.w/h,w=a.h/u;if(e.condense&&(b=0,w=0),e.avoidOverlap)for(var _=0;_=h&&(O=0,S++)},"moveToNextCell"),P={},F=0;F(O=Vje(t,e,N[P],N[P+1],N[P+2],N[P+3])))return v(L,O),!0}else if(A.edgeType==="bezier"||A.edgeType==="multibezier"||A.edgeType==="self"||A.edgeType==="compound"){for(var N=A.allpts,P=0;P+5(O=$je(t,e,N[P],N[P+1],N[P+2],N[P+3],N[P+4],N[P+5])))return v(L,O),!0}for(var F=F||C.source,B=B||C.target,$=i.getArrowWidth(I,D),z=[{name:"source",x:A.arrowStartX,y:A.arrowStartY,angle:A.srcArrowAngle},{name:"target",x:A.arrowEndX,y:A.arrowEndY,angle:A.tgtArrowAngle},{name:"mid-source",x:A.midX,y:A.midY,angle:A.midsrcArrowAngle},{name:"mid-target",x:A.midX,y:A.midY,angle:A.midtgtArrowAngle}],P=0;P0&&(x(F),x(B))}o(b,"checkEdge");function w(L,C,A){return Wl(L,C,A)}o(w,"preprop");function _(L,C){var A=L._private,I=p,D;C?D=C+"-":D="",L.boundingBox();var k=A.labelBounds[C||"main"],R=L.pstyle(D+"label").value,S=L.pstyle("text-events").strValue==="yes";if(!(!S||!R)){var O=w(A.rscratch,"labelX",C),N=w(A.rscratch,"labelY",C),P=w(A.rscratch,"labelAngle",C),F=L.pstyle(D+"text-margin-x").pfValue,B=L.pstyle(D+"text-margin-y").pfValue,$=k.x1-I-F,z=k.x2+I-F,W=k.y1-I-B,j=k.y2+I-B;if(P){var K=Math.cos(P),ie=Math.sin(P),Q=o(function(ue,ce){return ue=ue-O,ce=ce-N,{x:ue*K-ce*ie+O,y:ue*ie+ce*K+N}},"rotate"),ee=Q($,W),J=Q($,j),H=Q(z,W),q=Q(z,j),Z=[ee.x+F,ee.y+B,H.x+F,H.y+B,q.x+F,q.y+B,J.x+F,J.y+B];if(Gs(t,e,Z))return v(L),!0}else if(c1(k,t,e))return v(L),!0}}o(_,"checkLabel");for(var T=s.length-1;T>=0;T--){var E=s[T];E.isNode()?x(E)||_(E):b(E)||_(E)||_(E,"source")||_(E,"target")}return l};W0.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=[],s=Math.min(t,r),l=Math.max(t,r),u=Math.min(e,n),h=Math.max(e,n);t=s,r=l,e=u,n=h;for(var f=$s({x1:t,y1:e,x2:r,y2:n}),d=0;d0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),Cet=o(function(e,r,n,i,a){if(e!==Nme?Rme(r,e,$c):Eet(nl,$c),Rme(r,n,nl),Lme=$c.nx*nl.ny-$c.ny*nl.nx,Dme=$c.nx*nl.nx-$c.ny*-nl.ny,qu=Math.asin(Math.max(-1,Math.min(1,Lme))),Math.abs(qu)<1e-6){WP=r.x,YP=r.y,O0=e1=0;return}P0=1,f6=!1,Dme<0?qu<0?qu=Math.PI+qu:(qu=Math.PI-qu,P0=-1,f6=!0):qu>0&&(P0=-1,f6=!0),r.radius!==void 0?e1=r.radius:e1=i,N0=qu/2,n6=Math.min($c.len/2,nl.len/2),a?(Gc=Math.abs(Math.cos(N0)*e1/Math.sin(N0)),Gc>n6?(Gc=n6,O0=Math.abs(Gc*Math.sin(N0)/Math.cos(N0))):O0=e1):(Gc=Math.min(n6,e1),O0=Math.abs(Gc*Math.sin(N0)/Math.cos(N0))),qP=r.x+nl.nx*Gc,XP=r.y+nl.ny*Gc,WP=qP-nl.ny*O0*P0,YP=XP+nl.nx*O0*P0,a1e=r.x+$c.nx*Gc,s1e=r.y+$c.ny*Gc,Nme=r},"calcCornerArc");o(o1e,"drawPreparedRoundCorner");o(bB,"getRoundCorner");Ga={};Ga.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=s.units!=null&&l.units!=null,h=o(function(T,E,L,C){var A=C-E,I=L-T,D=Math.sqrt(I*I+A*A);return{x:-A/D,y:I/D}},"recalcVectorNormInverse"),f=t.pstyle("edge-distances").value;switch(f){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(u){var d=this.manualEndptToPx(t.source()[0],s),p=Ul(d,2),m=p[0],g=p[1],y=this.manualEndptToPx(t.target()[0],l),v=Ul(y,2),x=v[0],b=v[1],w={x1:m,y1:g,x2:x,y2:b};i=h(m,g,x,b),a=w}else on("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};Ga.findHaystackPoints=function(t){for(var e=0;e0?Math.max(se-Ee,0):Math.min(se+Ee,0)},"subDWH"),R=k(I,C),S=k(D,A),O=!1;b===h?x=Math.abs(R)>Math.abs(S)?i:n:b===u||b===l?(x=n,O=!0):(b===a||b===s)&&(x=i,O=!0);var N=x===n,P=N?S:R,F=N?D:I,B=hge(F),$=!1;!(O&&(_||E))&&(b===l&&F<0||b===u&&F>0||b===a&&F>0||b===s&&F<0)&&(B*=-1,P=B*Math.abs(P),$=!0);var z;if(_){var W=T<0?1+T:T;z=W*P}else{var j=T<0?P:0;z=j+T*B}var K=o(function(se){return Math.abs(se)=Math.abs(P)},"getIsTooClose"),ie=K(z),Q=K(Math.abs(P)-Math.abs(z)),ee=ie||Q;if(ee&&!$)if(N){var J=Math.abs(F)<=p/2,H=Math.abs(I)<=m/2;if(J){var q=(f.x1+f.x2)/2,Z=f.y1,ae=f.y2;r.segpts=[q,Z,q,ae]}else if(H){var ue=(f.y1+f.y2)/2,ce=f.x1,te=f.x2;r.segpts=[ce,ue,te,ue]}else r.segpts=[f.x1,f.y2]}else{var De=Math.abs(F)<=d/2,oe=Math.abs(D)<=g/2;if(De){var ke=(f.y1+f.y2)/2,Fe=f.x1,Be=f.x2;r.segpts=[Fe,ke,Be,ke]}else if(oe){var Ve=(f.x1+f.x2)/2,Ge=f.y1,He=f.y2;r.segpts=[Ve,Ge,Ve,He]}else r.segpts=[f.x2,f.y1]}else if(N){var xe=f.y1+z+(v?p/2*B:0),X=f.x1,fe=f.x2;r.segpts=[X,xe,fe,xe]}else{var he=f.x1+z+(v?d/2*B:0),ge=f.y1,ne=f.y2;r.segpts=[he,ge,he,ne]}if(r.isRound){var ye=t.pstyle("taxi-radius").value,U=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(ye),r.isArcRadius=new Array(r.segpts.length/2).fill(U)}};Ga.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,l=e.tgtW,u=e.tgtH,h=e.srcShape,f=e.tgtShape,d=e.srcCornerRadius,p=e.tgtCornerRadius,m=e.srcRs,g=e.tgtRs,y=!xt(r.startX)||!xt(r.startY),v=!xt(r.arrowStartX)||!xt(r.arrowStartY),x=!xt(r.endX)||!xt(r.endY),b=!xt(r.arrowEndX)||!xt(r.arrowEndY),w=3,_=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,T=w*_,E=G0({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),L=ES.poolIndex()){var O=R;R=S,S=O}var N=A.srcPos=R.position(),P=A.tgtPos=S.position(),F=A.srcW=R.outerWidth(),B=A.srcH=R.outerHeight(),$=A.tgtW=S.outerWidth(),z=A.tgtH=S.outerHeight(),W=A.srcShape=r.nodeShapes[e.getNodeShape(R)],j=A.tgtShape=r.nodeShapes[e.getNodeShape(S)],K=A.srcCornerRadius=R.pstyle("corner-radius").value==="auto"?"auto":R.pstyle("corner-radius").pfValue,ie=A.tgtCornerRadius=S.pstyle("corner-radius").value==="auto"?"auto":S.pstyle("corner-radius").pfValue,Q=A.tgtRs=S._private.rscratch,ee=A.srcRs=R._private.rscratch;A.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var J=0;J0){var ae=a,ue=M0(ae,r1(r)),ce=M0(ae,r1(Z)),te=ue;if(ce2){var De=M0(ae,{x:Z[2],y:Z[3]});De0){var ne=s,ye=M0(ne,r1(r)),U=M0(ne,r1(ge)),Te=ye;if(U2){var se=M0(ne,{x:ge[2],y:ge[3]});se=g||L){v={cp:_,segment:E};break}}if(v)break}var C=v.cp,A=v.segment,I=(g-x)/A.length,D=A.t1-A.t0,k=m?A.t0+D*I:A.t1-D*I;k=Wx(0,k,1),e=i1(C.p0,C.p1,C.p2,k),p=_et(C.p0,C.p1,C.p2,k);break}case"straight":case"segments":case"haystack":{for(var R=0,S,O,N,P,F=n.allpts.length,B=0;B+3=g));B+=2);var $=g-O,z=$/S;z=Wx(0,z,1),e=Nje(N,P,z),p=u1e(N,P);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,p)}},"calculateEndProjection");h("source"),h("target"),this.applyLabelDimensions(t)}};Wc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};Wc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=this.calculateLabelDimensions(t,n),a=t.pstyle("line-height").pfValue,s=t.pstyle("text-wrap").strValue,l=Wl(r.rscratch,"labelWrapCachedLines",e)||[],u=s!=="wrap"?1:Math.max(l.length,1),h=i.height/u,f=h*a,d=i.width,p=i.height+(u-1)*(a-1)*h;wf(r.rstyle,"labelWidth",e,d),wf(r.rscratch,"labelWidth",e,d),wf(r.rstyle,"labelHeight",e,p),wf(r.rscratch,"labelHeight",e,p),wf(r.rscratch,"labelLineHeight",e,f)};Wc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=o(function(j,K){return K?(wf(r.rscratch,j,e,K),K):Wl(r.rscratch,j,e)},"rscratch");if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var u=s("labelKey");if(u!=null&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var h="\u200B",f=i.split(` `),d=t.pstyle("text-max-width").pfValue,p=t.pstyle("text-overflow-wrap").value,m=p==="anywhere",g=[],y=/[\s\u200b]+|$/g,v=0;vd){var T=x.matchAll(y),E="",L=0,C=Yme(T),A;try{for(C.s();!(A=C.n()).done;){var I=A.value,D=I[0],k=x.substring(L,I.index);L=I.index+D.length;var R=E.length===0?k:E+k+D,S=this.calculateLabelDimensions(t,R),O=S.width;O<=d?E+=k+D:(E&&g.push(E),E=k+D)}}catch(W){C.e(W)}finally{C.f()}E.match(/^[\s\u200b]+$/)||g.push(E)}else g.push(x)}s("labelWrapCachedLines",g),i=s("labelWrapCachedText",g.join(` `)),s("labelWrapKey",u)}else if(l==="ellipsis"){var N=t.pstyle("text-max-width").pfValue,P="",F="\u2026",B=!1;if(this.calculateLabelDimensions(t,i).widthN)break;P+=i[$],$===i.length-1&&(B=!0)}return B||(P+=F),P}return i};Wc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Wc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=z0(e,t._private.labelDimsKey),s=r.labelDimCache||(r.labelDimCache=[]),l=s[a];if(l!=null)return l;var u=0,h=t.pstyle("font-style").strValue,f=t.pstyle("font-size").pfValue,d=t.pstyle("font-family").strValue,p=t.pstyle("font-weight").strValue,m=this.labelCalcCanvas,g=this.labelCalcCanvasContext;if(!m){m=this.labelCalcCanvas=i.createElement("canvas"),g=this.labelCalcCanvasContext=m.getContext("2d");var y=m.style;y.position="absolute",y.left="-9999px",y.top="-9999px",y.zIndex="-1",y.visibility="hidden",y.pointerEvents="none"}g.font="".concat(h," ").concat(p," ").concat(f,"px ").concat(d);for(var v=0,x=0,b=e.split(` `),w=0;w1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),l)for(var u=0;u=t.desktopTapThreshold2}var Tt=i(X);Re&&(t.hoverData.tapholdCancelled=!0);var $e=o(function(){var zt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];zt.length===0?(zt.push(me[0]),zt.push(me[1])):(zt[0]+=me[0],zt[1]+=me[1])},"updateDragDelta");he=!0,n(Ae,["mousemove","vmousemove","tapdrag"],X,{x:U[0],y:U[1]});var rt=o(function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||ge.emit({originalEvent:X,type:"boxstart",position:{x:U[0],y:U[1]}}),Ee[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()},"goIntoBoxMode");if(t.hoverData.which===3){if(Re){var ft={originalEvent:X,type:"cxtdrag",position:{x:U[0],y:U[1]}};Me?Me.emit(ft):ge.emit(ft),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||Ae!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:X,type:"cxtdragout",position:{x:U[0],y:U[1]}}),t.hoverData.cxtOver=Ae,Ae&&Ae.emit({originalEvent:X,type:"cxtdragover",position:{x:U[0],y:U[1]}}))}}else if(t.hoverData.dragging){if(he=!0,ge.panningEnabled()&&ge.userPanningEnabled()){var kt;if(t.hoverData.justStartedPan){var er=t.hoverData.mdownPos;kt={x:(U[0]-er[0])*ne,y:(U[1]-er[1])*ne},t.hoverData.justStartedPan=!1}else kt={x:me[0]*ne,y:me[1]*ne};ge.panBy(kt),ge.emit("dragpan"),t.hoverData.dragged=!0}U=t.projectIntoViewport(X.clientX,X.clientY)}else if(Ee[4]==1&&(Me==null||Me.pannable())){if(Re){if(!t.hoverData.dragging&&ge.boxSelectionEnabled()&&(Tt||!ge.panningEnabled()||!ge.userPanningEnabled()))rt();else if(!t.hoverData.selecting&&ge.panningEnabled()&&ge.userPanningEnabled()){var dt=a(Me,t.hoverData.downs);dt&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,Ee[4]=0,t.data.bgActivePosistion=r1(Te),t.redrawHint("select",!0),t.redraw())}Me&&Me.pannable()&&Me.active()&&Me.unactivate()}}else{if(Me&&Me.pannable()&&Me.active()&&Me.unactivate(),(!Me||!Me.grabbed())&&Ae!=Pe&&(Pe&&n(Pe,["mouseout","tapdragout"],X,{x:U[0],y:U[1]}),Ae&&n(Ae,["mouseover","tapdragover"],X,{x:U[0],y:U[1]}),t.hoverData.last=Ae),Me)if(Re){if(ge.boxSelectionEnabled()&&Tt)Me&&Me.grabbed()&&(v(We),Me.emit("freeon"),We.emit("free"),t.dragData.didDrag&&(Me.emit("dragfreeon"),We.emit("dragfree"))),rt();else if(Me&&Me.grabbed()&&t.nodeIsDraggable(Me)){var Xe=!t.dragData.didDrag;Xe&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||g(We,{inDragLayer:!0});var ct={x:0,y:0};if(xt(me[0])&&xt(me[1])&&(ct.x+=me[0],ct.y+=me[1],Xe)){var Lt=t.hoverData.dragDelta;Lt&&xt(Lt[0])&&xt(Lt[1])&&(ct.x+=Lt[0],ct.y+=Lt[1])}t.hoverData.draggingEles=!0,We.silentShift(ct).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else $e();he=!0}if(Ee[2]=U[0],Ee[3]=U[1],he)return X.stopPropagation&&X.stopPropagation(),X.preventDefault&&X.preventDefault(),!1}},"mousemoveHandler"),!1);var I,D,k;t.registerBinding(e,"mouseup",o(function(X){if(!(t.hoverData.which===1&&X.which!==1&&t.hoverData.capture)){var fe=t.hoverData.capture;if(fe){t.hoverData.capture=!1;var he=t.cy,ge=t.projectIntoViewport(X.clientX,X.clientY),ne=t.selection,ye=t.findNearestElement(ge[0],ge[1],!0,!1),U=t.dragData.possibleDragElements,Te=t.hoverData.down,se=i(X);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,Te&&Te.unactivate(),t.hoverData.which===3){var Ee={originalEvent:X,type:"cxttapend",position:{x:ge[0],y:ge[1]}};if(Te?Te.emit(Ee):he.emit(Ee),!t.hoverData.cxtDragged){var Ae={originalEvent:X,type:"cxttap",position:{x:ge[0],y:ge[1]}};Te?Te.emit(Ae):he.emit(Ae)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(n(ye,["mouseup","tapend","vmouseup"],X,{x:ge[0],y:ge[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(n(Te,["click","tap","vclick"],X,{x:ge[0],y:ge[1]}),D=!1,X.timeStamp-k<=he.multiClickDebounceTime()?(I&&clearTimeout(I),D=!0,k=null,n(Te,["dblclick","dbltap","vdblclick"],X,{x:ge[0],y:ge[1]})):(I=setTimeout(function(){D||n(Te,["oneclick","onetap","voneclick"],X,{x:ge[0],y:ge[1]})},he.multiClickDebounceTime()),k=X.timeStamp)),Te==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!i(X)&&(he.$(r).unselect(["tapunselect"]),U.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=U=he.collection()),ye==Te&&!t.dragData.didDrag&&!t.hoverData.selecting&&ye!=null&&ye._private.selectable&&(t.hoverData.dragging||(he.selectionType()==="additive"||se?ye.selected()?ye.unselect(["tapunselect"]):ye.select(["tapselect"]):se||(he.$(r).unmerge(ye).unselect(["tapunselect"]),ye.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var Pe=he.collection(t.getAllInBox(ne[0],ne[1],ne[2],ne[3]));t.redrawHint("select",!0),Pe.length>0&&t.redrawHint("eles",!0),he.emit({type:"boxend",originalEvent:X,position:{x:ge[0],y:ge[1]}});var Me=o(function(Re){return Re.selectable()&&!Re.selected()},"eleWouldBeSelected");he.selectionType()==="additive"||se||he.$(r).unmerge(Pe).unselect(),Pe.emit("box").stdFilter(Me).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!ne[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var me=Te&&Te.grabbed();v(U),me&&(Te.emit("freeon"),U.emit("free"),t.dragData.didDrag&&(Te.emit("dragfreeon"),U.emit("dragfree")))}}ne[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},"mouseupHandler"),!1);var R=o(function(X){if(!t.scrollingPage){var fe=t.cy,he=fe.zoom(),ge=fe.pan(),ne=t.projectIntoViewport(X.clientX,X.clientY),ye=[ne[0]*he+ge.x,ne[1]*he+ge.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||C()){X.preventDefault();return}if(fe.panningEnabled()&&fe.userPanningEnabled()&&fe.zoomingEnabled()&&fe.userZoomingEnabled()){X.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150);var U;X.deltaY!=null?U=X.deltaY/-250:X.wheelDeltaY!=null?U=X.wheelDeltaY/1e3:U=X.wheelDelta/1e3,U=U*t.wheelSensitivity;var Te=X.deltaMode===1;Te&&(U*=33);var se=fe.zoom()*Math.pow(10,U);X.type==="gesturechange"&&(se=t.gestureStartZoom*X.scale),fe.zoom({level:se,renderedPosition:{x:ye[0],y:ye[1]}}),fe.emit(X.type==="gesturechange"?"pinchzoom":"scrollzoom")}}},"wheelHandler");t.registerBinding(t.container,"wheel",R,!0),t.registerBinding(e,"scroll",o(function(X){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},"scrollHandler"),!0),t.registerBinding(t.container,"gesturestart",o(function(X){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||X.preventDefault()},"gestureStartHandler"),!0),t.registerBinding(t.container,"gesturechange",function(xe){t.hasTouchStarted||R(xe)},!0),t.registerBinding(t.container,"mouseout",o(function(X){var fe=t.projectIntoViewport(X.clientX,X.clientY);t.cy.emit({originalEvent:X,type:"mouseout",position:{x:fe[0],y:fe[1]}})},"mouseOutHandler"),!1),t.registerBinding(t.container,"mouseover",o(function(X){var fe=t.projectIntoViewport(X.clientX,X.clientY);t.cy.emit({originalEvent:X,type:"mouseover",position:{x:fe[0],y:fe[1]}})},"mouseOverHandler"),!1);var S,O,N,P,F,B,$,z,W,j,K,ie,Q,ee=o(function(X,fe,he,ge){return Math.sqrt((he-X)*(he-X)+(ge-fe)*(ge-fe))},"distance"),J=o(function(X,fe,he,ge){return(he-X)*(he-X)+(ge-fe)*(ge-fe)},"distanceSq"),H;t.registerBinding(t.container,"touchstart",H=o(function(X){if(t.hasTouchStarted=!0,!!A(X)){b(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var fe=t.cy,he=t.touchData.now,ge=t.touchData.earlier;if(X.touches[0]){var ne=t.projectIntoViewport(X.touches[0].clientX,X.touches[0].clientY);he[0]=ne[0],he[1]=ne[1]}if(X.touches[1]){var ne=t.projectIntoViewport(X.touches[1].clientX,X.touches[1].clientY);he[2]=ne[0],he[3]=ne[1]}if(X.touches[2]){var ne=t.projectIntoViewport(X.touches[2].clientX,X.touches[2].clientY);he[4]=ne[0],he[5]=ne[1]}if(X.touches[1]){t.touchData.singleTouchMoved=!0,v(t.dragData.touchDragEles);var ye=t.findContainerClientCoords();W=ye[0],j=ye[1],K=ye[2],ie=ye[3],S=X.touches[0].clientX-W,O=X.touches[0].clientY-j,N=X.touches[1].clientX-W,P=X.touches[1].clientY-j,Q=0<=S&&S<=K&&0<=N&&N<=K&&0<=O&&O<=ie&&0<=P&&P<=ie;var U=fe.pan(),Te=fe.zoom();F=ee(S,O,N,P),B=J(S,O,N,P),$=[(S+N)/2,(O+P)/2],z=[($[0]-U.x)/Te,($[1]-U.y)/Te];var se=200,Ee=se*se;if(B=1){for(var gt=t.touchData.startPosition=[null,null,null,null,null,null],Et=0;Et=t.touchTapThreshold2}if(fe&&t.touchData.cxt){X.preventDefault();var gt=X.touches[0].clientX-W,Et=X.touches[0].clientY-j,vt=X.touches[1].clientX-W,Ye=X.touches[1].clientY-j,Tt=J(gt,Et,vt,Ye),$e=Tt/B,rt=150,ft=rt*rt,kt=1.5,er=kt*kt;if($e>=er||Tt>=ft){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var dt={originalEvent:X,type:"cxttapend",position:{x:ne[0],y:ne[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(dt),t.touchData.start=null):ge.emit(dt)}}if(fe&&t.touchData.cxt){var dt={originalEvent:X,type:"cxtdrag",position:{x:ne[0],y:ne[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(dt):ge.emit(dt),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Xe=t.findNearestElement(ne[0],ne[1],!0,!0);(!t.touchData.cxtOver||Xe!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:X,type:"cxtdragout",position:{x:ne[0],y:ne[1]}}),t.touchData.cxtOver=Xe,Xe&&Xe.emit({originalEvent:X,type:"cxtdragover",position:{x:ne[0],y:ne[1]}}))}else if(fe&&X.touches[2]&&ge.boxSelectionEnabled())X.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||ge.emit({originalEvent:X,type:"boxstart",position:{x:ne[0],y:ne[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,he[4]=1,!he||he.length===0||he[0]===void 0?(he[0]=(ne[0]+ne[2]+ne[4])/3,he[1]=(ne[1]+ne[3]+ne[5])/3,he[2]=(ne[0]+ne[2]+ne[4])/3+1,he[3]=(ne[1]+ne[3]+ne[5])/3+1):(he[2]=(ne[0]+ne[2]+ne[4])/3,he[3]=(ne[1]+ne[3]+ne[5])/3),t.redrawHint("select",!0),t.redraw();else if(fe&&X.touches[1]&&!t.touchData.didSelect&&ge.zoomingEnabled()&&ge.panningEnabled()&&ge.userZoomingEnabled()&&ge.userPanningEnabled()){X.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var ct=t.dragData.touchDragEles;if(ct){t.redrawHint("drag",!0);for(var Lt=0;Lt0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},"touchmoveHandler"),!1);var Z;t.registerBinding(e,"touchcancel",Z=o(function(X){var fe=t.touchData.start;t.touchData.capture=!1,fe&&fe.unactivate()},"touchcancelHandler"));var ae,ue,ce,te;if(t.registerBinding(e,"touchend",ae=o(function(X){var fe=t.touchData.start,he=t.touchData.capture;if(he)X.touches.length===0&&(t.touchData.capture=!1),X.preventDefault();else return;var ge=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var ne=t.cy,ye=ne.zoom(),U=t.touchData.now,Te=t.touchData.earlier;if(X.touches[0]){var se=t.projectIntoViewport(X.touches[0].clientX,X.touches[0].clientY);U[0]=se[0],U[1]=se[1]}if(X.touches[1]){var se=t.projectIntoViewport(X.touches[1].clientX,X.touches[1].clientY);U[2]=se[0],U[3]=se[1]}if(X.touches[2]){var se=t.projectIntoViewport(X.touches[2].clientX,X.touches[2].clientY);U[4]=se[0],U[5]=se[1]}fe&&fe.unactivate();var Ee;if(t.touchData.cxt){if(Ee={originalEvent:X,type:"cxttapend",position:{x:U[0],y:U[1]}},fe?fe.emit(Ee):ne.emit(Ee),!t.touchData.cxtDragged){var Ae={originalEvent:X,type:"cxttap",position:{x:U[0],y:U[1]}};fe?fe.emit(Ae):ne.emit(Ae)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!X.touches[2]&&ne.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var Pe=ne.collection(t.getAllInBox(ge[0],ge[1],ge[2],ge[3]));ge[0]=void 0,ge[1]=void 0,ge[2]=void 0,ge[3]=void 0,ge[4]=0,t.redrawHint("select",!0),ne.emit({type:"boxend",originalEvent:X,position:{x:U[0],y:U[1]}});var Me=o(function(ft){return ft.selectable()&&!ft.selected()},"eleWouldBeSelected");Pe.emit("box").stdFilter(Me).select().emit("boxselect"),Pe.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(fe?.unactivate(),X.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!X.touches[1]){if(!X.touches[0]){if(!X.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var me=t.dragData.touchDragEles;if(fe!=null){var We=fe._private.grabbed;v(me),t.redrawHint("drag",!0),t.redrawHint("eles",!0),We&&(fe.emit("freeon"),me.emit("free"),t.dragData.didDrag&&(fe.emit("dragfreeon"),me.emit("dragfree"))),n(fe,["touchend","tapend","vmouseup","tapdragout"],X,{x:U[0],y:U[1]}),fe.unactivate(),t.touchData.start=null}else{var Re=t.findNearestElement(U[0],U[1],!0,!0);n(Re,["touchend","tapend","vmouseup","tapdragout"],X,{x:U[0],y:U[1]})}var tt=t.touchData.startPosition[0]-U[0],gt=tt*tt,Et=t.touchData.startPosition[1]-U[1],vt=Et*Et,Ye=gt+vt,Tt=Ye*ye*ye;t.touchData.singleTouchMoved||(fe||ne.$(":selected").unselect(["tapunselect"]),n(fe,["tap","vclick"],X,{x:U[0],y:U[1]}),ue=!1,X.timeStamp-te<=ne.multiClickDebounceTime()?(ce&&clearTimeout(ce),ue=!0,te=null,n(fe,["dbltap","vdblclick"],X,{x:U[0],y:U[1]})):(ce=setTimeout(function(){ue||n(fe,["onetap","voneclick"],X,{x:U[0],y:U[1]})},ne.multiClickDebounceTime()),te=X.timeStamp)),fe!=null&&!t.dragData.didDrag&&fe._private.selectable&&Tt"u"){var De=[],oe=o(function(X){return{clientX:X.clientX,clientY:X.clientY,force:1,identifier:X.pointerId,pageX:X.pageX,pageY:X.pageY,radiusX:X.width/2,radiusY:X.height/2,screenX:X.screenX,screenY:X.screenY,target:X.target}},"makeTouch"),ke=o(function(X){return{event:X,touch:oe(X)}},"makePointer"),Fe=o(function(X){De.push(ke(X))},"addPointer"),Be=o(function(X){for(var fe=0;fe0)return W[0]}return null},"getCurveT"),g=Object.keys(p),y=0;y0?m:pge(a,s,e,r,n,i,l,u)},"intersectLine"),checkPoint:o(function(e,r,n,i,a,s,l,u){u=u==="auto"?$0(i,a):u;var h=2*u;if(ju(e,r,this.points,s,l,i,a-h,[0,-1],n)||ju(e,r,this.points,s,l,i-h,a,[0,-1],n))return!0;var f=i/2+2*n,d=a/2+2*n,p=[s-f,l-d,s-f,l,s+f,l,s+f,l-d];return!!(Gs(e,r,p)||B0(e,r,h,h,s+i/2-u,l+a/2-u,n)||B0(e,r,h,h,s-i/2+u,l+a/2-u,n))},"checkPoint")}};Qu.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ls(3,0)),this.generateRoundPolygon("round-triangle",ls(3,0)),this.generatePolygon("rectangle",ls(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ls(5,0)),this.generateRoundPolygon("round-pentagon",ls(5,0)),this.generatePolygon("hexagon",ls(6,0)),this.generateRoundPolygon("round-hexagon",ls(6,0)),this.generatePolygon("heptagon",ls(7,0)),this.generateRoundPolygon("round-heptagon",ls(7,0)),this.generatePolygon("octagon",ls(8,0)),this.generateRoundPolygon("round-octagon",ls(8,0));var n=new Array(20);{var i=BP(5,0),a=BP(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var l=0;l=e.deqFastCost*_)break}else if(h){if(b>=e.deqCost*m||b>=e.deqAvgCost*p)break}else if(w>=e.deqNoDrawCost*IP)break;var T=e.deq(n,v,y);if(T.length>0)for(var E=0;E0&&(e.onDeqd(n,g),!h&&e.shouldRedraw(n,g,v,y)&&a())},"dequeue"),l=e.priority||iB;i.beforeRender(s,l(n))}},"setupDequeueingImpl")},"setupDequeueing")},Det=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:g6;JP(this,t),this.idsByKey=new Uc,this.keyForId=new Uc,this.cachesByLvl=new Uc,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return o(t,"ElementTextureCacheLookup"),eB(t,[{key:"getIdsFor",value:o(function(r){r==null&&hi("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new f1,n.set(r,i)),i},"getIdsFor")},{key:"addIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).add(n)},"addIdForKey")},{key:"deleteIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).delete(n)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:o(function(r){return r==null?0:this.getIdsFor(r).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a},"keyHasChangedFor")},{key:"isInvalid",value:o(function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)},"isInvalid")},{key:"getCachesAt",value:o(function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new Uc,n.set(r,a),i.push(r)),a},"getCachesAt")},{key:"getCache",value:o(function(r,n){return this.getCachesAt(n).get(r)},"getCache")},{key:"get",value:o(function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a},"get")},{key:"getForCachedKey",value:o(function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a},"getForCachedKey")},{key:"hasCache",value:o(function(r,n){return this.getCachesAt(n).has(r)},"hasCache")},{key:"has",value:o(function(r,n){var i=this.getKey(r);return this.hasCache(i,n)},"has")},{key:"setCache",value:o(function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)},"setCache")},{key:"set",value:o(function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)},"set")},{key:"deleteCache",value:o(function(r,n){this.getCachesAt(n).delete(r)},"deleteCache")},{key:"delete",value:o(function(r,n){var i=this.getKey(r);this.deleteCache(i,n)},"_delete")},{key:"invalidateKey",value:o(function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})},"invalidateKey")},{key:"invalidate",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0},"invalidate")}]),t}(),Pme=25,i6=50,d6=-4,jP=3,Net=7.99,Ret=8,Met=1024,Iet=1024,Oet=1024,Pet=.2,Bet=.8,Fet=10,zet=.15,Get=.1,$et=.9,Vet=.9,Uet=100,Het=1,n1={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},Wet=wa({getKey:null,doesEleInvalidateKey:g6,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:sge,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Fx=o(function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=Wet(r);ir(n,i),n.lookup=new Det(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},"ElementTextureCache"),qi=Fx.prototype;qi.reasons=n1;qi.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};qi.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};qi.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new tb(function(r,n){return n.reqs-r.reqs});return e};qi.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};qi.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,l=s.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(sB(l*r))),n=Net||n>jP)return null;var h=Math.pow(2,n),f=e.h*h,d=e.w*h,p=s.eleTextBiggerThanMin(t,h);if(!this.isVisible(t,p))return null;var m=u.get(t,n);if(m&&m.invalidated&&(m.invalidated=!1,m.texture.invalidatedWidth-=m.width),m)return m;var g;if(f<=Pme?g=Pme:f<=i6?g=i6:g=Math.ceil(f/i6)*i6,f>Oet||d>Iet)return null;var y=a.getTextureQueue(g),v=y[y.length-2],x=o(function(){return a.recycleTexture(g,d)||a.addTexture(g,d)},"addNewTxr");v||(v=y[y.length-1]),v||(v=x()),v.width-v.usedWidthn;D--)A=a.getElement(t,e,r,D,n1.downscale);I()}else return a.queueElement(t,E.level-1),E;else{var k;if(!w&&!_&&!T)for(var R=n-1;R>=d6;R--){var S=u.get(t,R);if(S){k=S;break}}if(b(k))return a.queueElement(t,n),k;v.context.translate(v.usedWidth,0),v.context.scale(h,h),this.drawElement(v.context,t,e,p,!1),v.context.scale(1/h,1/h),v.context.translate(-v.usedWidth,0)}return m={x:v.usedWidth,texture:v,level:n,scale:h,width:d,height:f,scaledLabelShown:p},v.usedWidth+=Math.ceil(d+Ret),v.eleCaches.push(m),u.set(t,n,m),a.checkTextureFullness(v),m};qi.invalidateElements=function(t){for(var e=0;e=Pet*t.width&&this.retireTexture(t)};qi.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>Bet&&t.fullnessChecks>=Fet?Cf(r,t):t.fullnessChecks++};qi.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;Cf(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,aB(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),Cf(i,s),n.push(s),s}};qi.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(l),i[a]=l}};qi.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var l=r.pop(),u=l.key,h=l.eles[0],f=a.hasCache(h,l.level);if(n[u]=null,f)continue;i.push(l);var d=e.getBoundingBox(h);e.getElement(h,d,t,l.level,n1.dequeue)}return i};qi.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=nB,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};qi.onDequeue=function(t){this.onDequeues.push(t)};qi.offDequeue=function(t){Cf(this.onDequeues,t)};qi.setupDequeueing=m1e.setupDequeueing({deqRedrawThreshold:Uet,deqCost:zet,deqAvgCost:Get,deqNoDrawCost:$et,deqFastCost:Vet,deq:o(function(e,r,n){return e.dequeue(r,n)},"deq"),onDeqd:o(function(e,r){for(var n=0;n=qet||r>E6)return null}n.validateLayersElesOrdering(r,t);var u=n.layersByLevel,h=Math.pow(2,r),f=u[r]=u[r]||[],d,p=n.levelIsComplete(r,t),m,g=o(function(){var I=o(function(O){if(n.validateLayersElesOrdering(O,t),n.levelIsComplete(O,t))return m=u[O],!0},"canUseAsTmpLvl"),D=o(function(O){if(!m)for(var N=r+O;Gx<=N&&N<=E6&&!I(N);N+=O);},"checkLvls");D(1),D(-1);for(var k=f.length-1;k>=0;k--){var R=f[k];R.invalid&&Cf(f,R)}},"checkTempLevels");if(!p)g();else return f;var y=o(function(){if(!d){d=$s();for(var I=0;Ittt)return null;var R=n.makeLayer(d,r);if(D!=null){var S=f.indexOf(D)+1;f.splice(S,0,R)}else(I.insert===void 0||I.insert)&&f.unshift(R);return R},"makeLayer");if(n.skipping&&!l)return null;for(var x=null,b=t.length/Yet,w=!l,_=0;_=b||!dge(x.bb,T.boundingBox()))&&(x=v({insert:!0,after:x}),!x))return null;m||w?n.queueLayer(x,T):n.drawEleInLayer(x,T,r,e),x.eles.push(T),L[r]=x}return m||(w?null:f)};Ta.getEleLevelForLayerLevel=function(t,e){return t};Ta.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,rtt),a.setImgSmoothing(s,!0))};Ta.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ta.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ta.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Xu(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,o(function(n,i,a){e.invalidateLayer(n)},"invalAssocLayers")))};Ta.invalidateLayer=function(t){if(this.lastInvalidationTime=Xu(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];Cf(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l=e._private.rscratch;if(!(a&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var h=a?e.pstyle("opacity").value:1,f=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,p=e.pstyle("line-style").value,m=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,y=e.pstyle("line-outline-width").value,v=e.pstyle("line-outline-color").value,x=h*f,b=h*f,w=o(function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,O),s.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=m,t.lineCap=g,s.eleStrokeStyle(t,e,O),s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLine"),_=o(function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=m+y,t.lineCap=g,y>0)s.colorStrokeStyle(t,v[0],v[1],v[2],O);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,l.allpts):(s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLineOutline"),T=o(function(){i&&s.drawEdgeOverlay(t,e)},"drawOverlay"),E=o(function(){i&&s.drawEdgeUnderlay(t,e)},"drawUnderlay"),L=o(function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;s.drawArrowheads(t,e,O)},"drawArrows"),C=o(function(){s.drawElementText(t,e,null,n)},"drawText");t.lineJoin="round";var A=e.pstyle("ghost").value==="yes";if(A){var I=e.pstyle("ghost-offset-x").pfValue,D=e.pstyle("ghost-offset-y").pfValue,k=e.pstyle("ghost-opacity").value,R=x*k;t.translate(I,D),w(R),L(R),t.translate(-I,-D)}else _();E(),w(),L(),T(),C(),r&&t.translate(u.x1,u.y1)}};v1e=o(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),l=n._private.rscratch,u=n.pstyle("".concat(e,"-padding")).pfValue,h=2*u,f=n.pstyle("".concat(e,"-color")).value;r.lineWidth=h,l.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,f[0],f[1],f[2],i),a.drawEdgePath(n,r,l.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");Zu.drawEdgeOverlay=v1e("overlay");Zu.drawEdgeUnderlay=v1e("underlay");Zu.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,l=!1,u=this.usePaths(),h=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var d=r.join("$"),p=i.pathCacheKey&&i.pathCacheKey===d;p?(s=e=i.pathCache,l=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(h),a.lineDashOffset=f;break;case"solid":a.setLineDash([]);break}if(!l&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var m=2;m+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var u=s.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var h=e.element()._private.rscratch.badLine,f=e.pstyle("label"),d=e.pstyle("source-label"),p=e.pstyle("target-label");if(h||(!f||!f.value)&&(!d||!d.value)&&(!p||!p.value))return;t.textAlign="center",t.textBaseline="bottom"}var m=!r,g;r&&(g=r,t.translate(-g.x1,-g.y1)),i==null?(s.drawText(t,e,null,m,a),e.isEdge()&&(s.drawText(t,e,"source",m,a),s.drawText(t,e,"target",m,a))):s.drawText(t,e,i,m,a),r&&t.translate(g.x1,g.y1)};Y0.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*l,h=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,h[0],h[1],h[2],l),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};o(PP,"roundRect");Y0.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation"),l=Wl(i,"labelAngle",e);return s.strValue==="autorotate"?r=t.isEdge()?l:0:s.strValue==="none"?r=0:r=s.pfValue,r};Y0.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,l=i?e.effectiveOpacity():1;if(!(i&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=Wl(s,"labelX",r),h=Wl(s,"labelY",r),f,d,p=this.getLabelText(e,r);if(p!=null&&p!==""&&!isNaN(u)&&!isNaN(h)){this.setupTextStyle(t,e,i);var m=r?r+"-":"",g=Wl(s,"labelWidth",r),y=Wl(s,"labelHeight",r),v=e.pstyle(m+"text-margin-x").pfValue,x=e.pstyle(m+"text-margin-y").pfValue,b=e.isEdge(),w=e.pstyle("text-halign").value,_=e.pstyle("text-valign").value;b&&(w="center",_="center"),u+=v,h+=x;var T;switch(n?T=this.getTextAngle(e,r):T=0,T!==0&&(f=u,d=h,t.translate(f,d),t.rotate(T),u=0,h=0),_){case"top":break;case"center":h+=y/2;break;case"bottom":h+=y;break}var E=e.pstyle("text-background-opacity").value,L=e.pstyle("text-border-opacity").value,C=e.pstyle("text-border-width").pfValue,A=e.pstyle("text-background-padding").pfValue,I=e.pstyle("text-background-shape").strValue,D=I.indexOf("round")===0,k=2;if(E>0||C>0&&L>0){var R=u-A;switch(w){case"left":R-=g;break;case"center":R-=g/2;break}var S=h-y-A,O=g+2*A,N=y+2*A;if(E>0){var P=t.fillStyle,F=e.pstyle("text-background-color").value;t.fillStyle="rgba("+F[0]+","+F[1]+","+F[2]+","+E*l+")",D?PP(t,R,S,O,N,k):t.fillRect(R,S,O,N),t.fillStyle=P}if(C>0&&L>0){var B=t.strokeStyle,$=t.lineWidth,z=e.pstyle("text-border-color").value,W=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+z[0]+","+z[1]+","+z[2]+","+L*l+")",t.lineWidth=C,t.setLineDash)switch(W){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=C/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(D?PP(t,R,S,O,N,k,"stroke"):t.strokeRect(R,S,O,N),W==="double"){var j=C/2;D?PP(t,R+j,S+j,O-j*2,N-j*2,k,"stroke"):t.strokeRect(R+j,S+j,O-j*2,N-j*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=$,t.strokeStyle=B}}var K=2*e.pstyle("text-outline-width").pfValue;if(K>0&&(t.lineWidth=K),e.pstyle("text-wrap").value==="wrap"){var ie=Wl(s,"labelWrapCachedLines",r),Q=Wl(s,"labelLineHeight",r),ee=g/2,J=this.getLabelJustification(e);switch(J==="auto"||(w==="left"?J==="left"?u+=-g:J==="center"&&(u+=-ee):w==="center"?J==="left"?u+=-ee:J==="right"&&(u+=ee):w==="right"&&(J==="center"?u+=ee:J==="right"&&(u+=g))),_){case"top":h-=(ie.length-1)*Q;break;case"center":case"bottom":h-=(ie.length-1)*Q;break}for(var H=0;H0&&t.strokeText(ie[H],u,h),t.fillText(ie[H],u,h),h+=Q}else K>0&&t.strokeText(p,u,h),t.fillText(p,u,h);T!==0&&(t.rotate(-T),t.translate(-f,-d))}}};w1={};w1.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l,u,h=e._private,f=h.rscratch,d=e.position();if(!(!xt(d.x)||!xt(d.y))&&!(a&&!e.visible())){var p=a?e.effectiveOpacity():1,m=s.usePaths(),g,y=!1,v=e.padding();l=e.width()+2*v,u=e.height()+2*v;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var b=e.pstyle("background-image"),w=b.value,_=new Array(w.length),T=new Array(w.length),E=0,L=0;L0&&arguments[0]!==void 0?arguments[0]:R;s.eleFillStyle(t,e,ye)},"setupShapeColor"),H=o(function(){var ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:z;s.colorStrokeStyle(t,S[0],S[1],S[2],ye)},"setupBorderColor"),q=o(function(){var ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ie;s.colorStrokeStyle(t,j[0],j[1],j[2],ye)},"setupOutlineColor"),Z=o(function(ye,U,Te,se){var Ee=s.nodePathCache=s.nodePathCache||[],Ae=age(Te==="polygon"?Te+","+se.join(","):Te,""+U,""+ye,""+ee),Pe=Ee[Ae],Me,me=!1;return Pe!=null?(Me=Pe,me=!0,f.pathCache=Me):(Me=new Path2D,Ee[Ae]=f.pathCache=Me),{path:Me,cacheHit:me}},"getPath"),ae=e.pstyle("shape").strValue,ue=e.pstyle("shape-polygon-points").pfValue;if(m){t.translate(d.x,d.y);var ce=Z(l,u,ae,ue);g=ce.path,y=ce.cacheHit}var te=o(function(){if(!y){var ye=d;m&&(ye={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(g||t,ye.x,ye.y,l,u,ee,f)}m?t.fill(g):t.fill()},"drawShape"),De=o(function(){for(var ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,U=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Te=h.backgrounding,se=0,Ee=0;Ee0&&arguments[0]!==void 0?arguments[0]:!1,U=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasPie(e)&&(s.drawPie(t,e,U),ye&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,ee,f)))},"drawPie"),ke=o(function(){var ye=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,U=(D>0?D:-D)*ye,Te=D>0?0:255;D!==0&&(s.colorFillStyle(t,Te,Te,Te,U),m?t.fill(g):t.fill())},"darken"),Fe=o(function(){if(k>0){if(t.lineWidth=k,t.lineCap=P,t.lineJoin=N,t.setLineDash)switch(O){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(B),t.lineDashOffset=$;break;case"solid":case"double":t.setLineDash([]);break}if(F!=="center"){if(t.save(),t.lineWidth*=2,F==="inside")m?t.clip(g):t.clip();else{var ye=new Path2D;ye.rect(-l/2-k,-u/2-k,l+2*k,u+2*k),ye.addPath(g),t.clip(ye,"evenodd")}m?t.stroke(g):t.stroke(),t.restore()}else m?t.stroke(g):t.stroke();if(O==="double"){t.lineWidth=k/3;var U=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",m?t.stroke(g):t.stroke(),t.globalCompositeOperation=U}t.setLineDash&&t.setLineDash([])}},"drawBorder"),Be=o(function(){if(W>0){if(t.lineWidth=W,t.lineCap="butt",t.setLineDash)switch(K){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var ye=d;m&&(ye={x:0,y:0});var U=s.getNodeShape(e),Te=k;F==="inside"&&(Te=0),F==="outside"&&(Te*=2);var se=(l+Te+(W+Q))/l,Ee=(u+Te+(W+Q))/u,Ae=l*se,Pe=u*Ee,Me=s.nodeShapes[U].points,me;if(m){var We=Z(Ae,Pe,U,Me);me=We.path}if(U==="ellipse")s.drawEllipsePath(me||t,ye.x,ye.y,Ae,Pe);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(U)){var Re=0,tt=0,gt=0;U==="round-diamond"?Re=(Te+Q+W)*1.4:U==="round-heptagon"?(Re=(Te+Q+W)*1.075,gt=-(Te/2+Q+W)/35):U==="round-hexagon"?Re=(Te+Q+W)*1.12:U==="round-pentagon"?(Re=(Te+Q+W)*1.13,gt=-(Te/2+Q+W)/15):U==="round-tag"?(Re=(Te+Q+W)*1.12,tt=(Te/2+W+Q)*.07):U==="round-triangle"&&(Re=(Te+Q+W)*(Math.PI/2),gt=-(Te+Q/2+W)/Math.PI),Re!==0&&(se=(l+Re)/l,Ae=l*se,["round-hexagon","round-tag"].includes(U)||(Ee=(u+Re)/u,Pe=u*Ee)),ee=ee==="auto"?gge(Ae,Pe):ee;for(var Et=Ae/2,vt=Pe/2,Ye=ee+(Te+W+Q)/2,Tt=new Array(Me.length/2),$e=new Array(Me.length/2),rt=0;rt0){if(i=i||n.position(),a==null||s==null){var m=n.padding();a=n.width()+2*m,s=n.height()+2*m}l.colorFillStyle(r,f[0],f[1],f[2],h),l.nodeShapes[d].draw(r,i.x,i.y,a+u*2,s+u*2,p),r.fill()}}}},"drawNodeOverlayUnderlay");w1.drawNodeOverlay=x1e("overlay");w1.drawNodeUnderlay=x1e("underlay");w1.hasPie=function(t){return t=t[0],t._private.hasPie};w1.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=n.x,l=n.y,u=e.width(),h=e.height(),f=Math.min(u,h)/2,d=0,p=this.usePaths();p&&(s=0,l=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2);for(var m=1;m<=i.pieBackgroundN;m++){var g=e.pstyle("pie-"+m+"-background-size").value,y=e.pstyle("pie-"+m+"-background-color").value,v=e.pstyle("pie-"+m+"-background-opacity").value*r,x=g/100;x+d>1&&(x=1-d);var b=1.5*Math.PI+2*Math.PI*d,w=2*Math.PI*x,_=b+w;g===0||d>=1||d+x>1||(t.beginPath(),t.moveTo(s,l),t.arc(s,l,f,b,_),t.closePath(),this.colorFillStyle(t,y[0],y[1],y[2],v),t.fill(),d+=x)}};mo={},dtt=100;mo.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};mo.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;is.minMbLowQualFrames&&(s.motionBlurPxRatio=s.mbPxRBlurry)),s.clearingMotionBlur&&(s.motionBlurPxRatio=1),s.textureDrawLastFrame&&!d&&(f[s.NODE]=!0,f[s.SELECT_BOX]=!0);var b=u.style(),w=u.zoom(),_=i!==void 0?i:w,T=u.pan(),E={x:T.x,y:T.y},L={zoom:w,pan:{x:T.x,y:T.y}},C=s.prevViewport,A=C===void 0||L.zoom!==C.zoom||L.pan.x!==C.pan.x||L.pan.y!==C.pan.y;!A&&!(y&&!g)&&(s.motionBlurPxRatio=1),a&&(E=a),_*=l,E.x*=l,E.y*=l;var I=s.getCachedZSortedEles();function D(ce,te,De,oe,ke){var Fe=ce.globalCompositeOperation;ce.globalCompositeOperation="destination-out",s.colorFillStyle(ce,255,255,255,s.motionBlurTransparency),ce.fillRect(te,De,oe,ke),ce.globalCompositeOperation=Fe}o(D,"mbclear");function k(ce,te){var De,oe,ke,Fe;!s.clearingMotionBlur&&(ce===h.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]||ce===h.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG])?(De={x:T.x*m,y:T.y*m},oe=w*m,ke=s.canvasWidth*m,Fe=s.canvasHeight*m):(De=E,oe=_,ke=s.canvasWidth,Fe=s.canvasHeight),ce.setTransform(1,0,0,1,0,0),te==="motionBlur"?D(ce,0,0,ke,Fe):!e&&(te===void 0||te)&&ce.clearRect(0,0,ke,Fe),r||(ce.translate(De.x,De.y),ce.scale(oe,oe)),a&&ce.translate(a.x,a.y),i&&ce.scale(i,i)}if(o(k,"setContextTransform"),d||(s.textureDrawLastFrame=!1),d){if(s.textureDrawLastFrame=!0,!s.textureCache){s.textureCache={},s.textureCache.bb=u.mutableElements().boundingBox(),s.textureCache.texture=s.data.bufferCanvases[s.TEXTURE_BUFFER];var R=s.data.bufferContexts[s.TEXTURE_BUFFER];R.setTransform(1,0,0,1,0,0),R.clearRect(0,0,s.canvasWidth*s.textureMult,s.canvasHeight*s.textureMult),s.render({forcedContext:R,drawOnlyNodeLayer:!0,forcedPxRatio:l*s.textureMult});var L=s.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:s.canvasWidth,height:s.canvasHeight};L.mpan={x:(0-L.pan.x)/L.zoom,y:(0-L.pan.y)/L.zoom}}f[s.DRAG]=!1,f[s.NODE]=!1;var S=h.contexts[s.NODE],O=s.textureCache.texture,L=s.textureCache.viewport;S.setTransform(1,0,0,1,0,0),p?D(S,0,0,L.width,L.height):S.clearRect(0,0,L.width,L.height);var N=b.core("outside-texture-bg-color").value,P=b.core("outside-texture-bg-opacity").value;s.colorFillStyle(S,N[0],N[1],N[2],P),S.fillRect(0,0,L.width,L.height);var w=u.zoom();k(S,!1),S.clearRect(L.mpan.x,L.mpan.y,L.width/L.zoom/l,L.height/L.zoom/l),S.drawImage(O,L.mpan.x,L.mpan.y,L.width/L.zoom/l,L.height/L.zoom/l)}else s.textureOnViewport&&!e&&(s.textureCache=null);var F=u.extent(),B=s.pinching||s.hoverData.dragging||s.swipePanning||s.data.wheelZooming||s.hoverData.draggingEles||s.cy.animated(),$=s.hideEdgesOnViewport&&B,z=[];if(z[s.NODE]=!f[s.NODE]&&p&&!s.clearedForMotionBlur[s.NODE]||s.clearingMotionBlur,z[s.NODE]&&(s.clearedForMotionBlur[s.NODE]=!0),z[s.DRAG]=!f[s.DRAG]&&p&&!s.clearedForMotionBlur[s.DRAG]||s.clearingMotionBlur,z[s.DRAG]&&(s.clearedForMotionBlur[s.DRAG]=!0),f[s.NODE]||r||n||z[s.NODE]){var W=p&&!z[s.NODE]&&m!==1,S=e||(W?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE]:h.contexts[s.NODE]),j=p&&!W?"motionBlur":void 0;k(S,j),$?s.drawCachedNodes(S,I.nondrag,l,F):s.drawLayeredElements(S,I.nondrag,l,F),s.debug&&s.drawDebugPoints(S,I.nondrag),!r&&!p&&(f[s.NODE]=!1)}if(!n&&(f[s.DRAG]||r||z[s.DRAG])){var W=p&&!z[s.DRAG]&&m!==1,S=e||(W?s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG]:h.contexts[s.DRAG]);k(S,p&&!W?"motionBlur":void 0),$?s.drawCachedNodes(S,I.drag,l,F):s.drawCachedElements(S,I.drag,l,F),s.debug&&s.drawDebugPoints(S,I.drag),!r&&!p&&(f[s.DRAG]=!1)}if(s.showFps||!n&&f[s.SELECT_BOX]&&!r){var S=e||h.contexts[s.SELECT_BOX];if(k(S),s.selection[4]==1&&(s.hoverData.selecting||s.touchData.selecting)){var w=s.cy.zoom(),K=b.core("selection-box-border-width").value/w;S.lineWidth=K,S.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",S.fillRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]),K>0&&(S.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",S.strokeRect(s.selection[0],s.selection[1],s.selection[2]-s.selection[0],s.selection[3]-s.selection[1]))}if(h.bgActivePosistion&&!s.hoverData.selecting){var w=s.cy.zoom(),ie=h.bgActivePosistion;S.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",S.beginPath(),S.arc(ie.x,ie.y,b.core("active-bg-size").pfValue/w,0,2*Math.PI),S.fill()}var Q=s.lastRedrawTime;if(s.showFps&&Q){Q=Math.round(Q);var ee=Math.round(1e3/Q);S.setTransform(1,0,0,1,0,0),S.fillStyle="rgba(255, 0, 0, 0.75)",S.strokeStyle="rgba(255, 0, 0, 0.75)",S.lineWidth=1,S.fillText("1 frame = "+Q+" ms = "+ee+" fps",0,20);var J=60;S.strokeRect(0,30,250,20),S.fillRect(0,30,250*Math.min(ee/J,1),20)}r||(f[s.SELECT_BOX]=!1)}if(p&&m!==1){var H=h.contexts[s.NODE],q=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE],Z=h.contexts[s.DRAG],ae=s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG],ue=o(function(te,De,oe){te.setTransform(1,0,0,1,0,0),oe||!x?te.clearRect(0,0,s.canvasWidth,s.canvasHeight):D(te,0,0,s.canvasWidth,s.canvasHeight);var ke=m;te.drawImage(De,0,0,s.canvasWidth*ke,s.canvasHeight*ke,0,0,s.canvasWidth,s.canvasHeight)},"drawMotionBlur");(f[s.NODE]||z[s.NODE])&&(ue(H,q,z[s.NODE]),f[s.NODE]=!1),(f[s.DRAG]||z[s.DRAG])&&(ue(Z,ae,z[s.DRAG]),f[s.DRAG]=!1)}s.prevViewport=L,s.clearingMotionBlur&&(s.clearingMotionBlur=!1,s.motionBlurCleared=!0,s.motionBlur=!0),p&&(s.motionBlurTimeout=setTimeout(function(){s.motionBlurTimeout=null,s.clearedForMotionBlur[s.NODE]=!1,s.clearedForMotionBlur[s.DRAG]=!1,s.motionBlur=!1,s.clearingMotionBlur=!d,s.mbFrames=0,f[s.NODE]=!0,f[s.DRAG]=!0,s.redraw()},dtt)),e||u.emit("render")};Nf={};Nf.drawPolygonPath=function(t,e,r,n,i,a){var s=n/2,l=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*a[0],r+l*a[1]);for(var u=1;u0&&s>0){m.clearRect(0,0,a,s),m.globalCompositeOperation="source-over";var g=this.getCachedZSortedEles();if(t.full)m.translate(-n.x1*h,-n.y1*h),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(n.x1*h,n.y1*h);else{var y=e.pan(),v={x:y.x*h,y:y.y*h};h*=e.zoom(),m.translate(v.x,v.y),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(-v.x,-v.y)}t.bg&&(m.globalCompositeOperation="destination-over",m.fillStyle=t.bg,m.rect(0,0,a,s),m.fill())}return p};o(ptt,"b64ToBlob");o(Ume,"b64UriToB64");o(w1e,"output");sb.png=function(t){return w1e(t,this.bufferCanvasImage(t),"image/png")};sb.jpg=function(t){return w1e(t,this.bufferCanvasImage(t),"image/jpeg")};T1e={};T1e.nodeShapeImpl=function(t,e,r,n,i,a,s,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,i,a);case"polygon":return this.drawPolygonPath(e,r,n,i,a,s);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,i,a,s,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,i,a,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,i,a,s,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,i,a,l);case"barrel":return this.drawBarrelPath(e,r,n,i,a)}};mtt=k1e,Kr=k1e.prototype;Kr.CANVAS_LAYERS=3;Kr.SELECT_BOX=0;Kr.DRAG=1;Kr.NODE=2;Kr.BUFFER_COUNT=3;Kr.TEXTURE_BUFFER=0;Kr.MOTIONBLUR_BUFFER_NODE=1;Kr.MOTIONBLUR_BUFFER_DRAG=2;o(k1e,"CanvasRenderer");Kr.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Kr.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Kr.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Kr.SELECT_BOX]=e;break}};gtt=typeof Path2D<"u";Kr.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t};Kr.usePaths=function(){return gtt&&this.pathsEnabled};Kr.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)};Kr.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled};Kr.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":Yi(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[y1e,Yc,Zu,TB,Y0,w1,mo,Nf,sb,T1e].forEach(function(t){ir(Kr,t)});ytt=[{name:"null",impl:i1e},{name:"base",impl:p1e},{name:"canvas",impl:mtt}],vtt=[{type:"layout",extensions:ket},{type:"renderer",extensions:ytt}],E1e={},S1e={};o(C1e,"setExtension");o(A1e,"getExtension");o(xtt,"setModule");o(btt,"getModule");ZP=o(function(){if(arguments.length===2)return A1e.apply(null,arguments);if(arguments.length===3)return C1e.apply(null,arguments);if(arguments.length===4)return btt.apply(null,arguments);if(arguments.length===5)return xtt.apply(null,arguments);hi("Invalid extension access syntax")},"extension");Qx.prototype.extension=ZP;vtt.forEach(function(t){t.extensions.forEach(function(e){C1e(t.type,e.name,e.impl)})});_1e=o(function t(){if(!(this instanceof t))return new t;this.length=0},"Stylesheet"),H0=_1e.prototype;H0.instanceString=function(){return"stylesheet"};H0.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this};H0.css=function(t,e){var r=this.length-1;if(Zt(t))this[r].properties.push({name:t,value:e});else if(Vr(t))for(var n=t,i=Object.keys(n),a=0;a{"use strict";o(function(e,r){typeof ob=="object"&&typeof EB=="object"?EB.exports=r():typeof define=="function"&&define.amd?define([],r):typeof ob=="object"?ob.layoutBase=r():e.layoutBase=r()},"webpackUniversalModuleDefinition")(ob,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=26)}([function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(4);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp&&(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)),this.labelHeight>m&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-m)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-m),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h},function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(6),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,w=0;w-1&&E>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(T,1),x.target!=x.source&&x.target.edges.splice(E,1);var _=x.source.owner.getEdges().indexOf(x);if(_==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(_,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,w=this.getNodes(),_=w.length,T=0;T<_;T++){var E=w[T];v=E.getTop(),x=E.getLeft(),g>v&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(w[0].getParent().paddingLeft!=null?b=w[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,w,_,T,E,L,C=this.nodes,A=C.length,I=0;Iw&&(y=w),v<_&&(v=_),x>T&&(x=T),bw&&(y=w),v<_&&(v=_),x>T&&(x=T),b=this.nodes.length){var A=0;v.forEach(function(I){I.owner==g&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},t.exports=p},function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(5),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=C,!1;if(hf)return l[0]=p,l[1]=h,l[2]=E,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,k=!0):(l[0]=g,l[1]=m,k=!0):S===N&&(u>f?(l[0]=p,l[1]=m,k=!0):(l[0]=x,l[1]=v,k=!0)),-O===N?f>u?(l[2]=L,l[3]=C,R=!0):(l[2]=E,l[3]=T,R=!0):O===N&&(f>u?(l[2]=_,l[3]=T,R=!0):(l[2]=A,l[3]=C,R=!0)),k&&R)return!1;if(u>f?h>d?(P=this.getCardinalDirection(S,N,4),F=this.getCardinalDirection(O,N,2)):(P=this.getCardinalDirection(-S,N,3),F=this.getCardinalDirection(-O,N,1)):h>d?(P=this.getCardinalDirection(-S,N,1),F=this.getCardinalDirection(-O,N,3)):(P=this.getCardinalDirection(S,N,2),F=this.getCardinalDirection(O,N,4)),!k)switch(P){case 1:$=m,B=u+-w/N,l[0]=B,l[1]=$;break;case 2:B=x,$=h+b*N,l[0]=B,l[1]=$;break;case 3:$=v,B=u+w/N,l[0]=B,l[1]=$;break;case 4:B=y,$=h+-b*N,l[0]=B,l[1]=$;break}if(!R)switch(F){case 1:W=T,z=f+-D/N,l[2]=z,l[3]=W;break;case 2:z=A,W=d+I*N,l[2]=z,l[3]=W;break;case 3:W=C,z=f+D/N,l[2]=z,l[3]=W;break;case 4:z=L,W=d+-I*N,l[2]=z,l[3]=W;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,w=void 0,_=void 0,T=void 0,E=void 0,L=void 0,C=void 0,A=void 0;return w=p-f,T=h-d,L=d*f-h*p,_=v-g,E=m-y,C=y*g-m*v,A=w*E-_*T,A===0?null:(x=(T*C-E*L)/A,b=(_*L-w*C)/A,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n},function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n},function(t,e,r){"use strict";var n=function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i},function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(w.push(T[0]);w.length>0&&g;){var E=w[0];w.splice(0,1),b.add(E);for(var L=E.getEdges(),x=0;x-1&&T.splice(D,1)}b=new Set,_=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(C,1);var A=_.getNeighborsList();A.forEach(function(k){if(y.indexOf(k)<0){var R=v.get(k),S=R-1;S==1&&E.push(k),v.set(k,S)}})}y=y.concat(E),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p},function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n},function(t,e,r){"use strict";var n=r(4);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i},function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mw||b>w)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(w=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>w||b>w)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||w>=x[0].length)){for(var _=0;_h},"_defaultCompareFunction")}]),l}();t.exports=s},function(t,e,r){"use strict";var n=function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o(function(e,r){typeof lb=="object"&&typeof CB=="object"?CB.exports=r(SB()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof lb=="object"?lb.coseBase=r(SB()):e.coseBase=r(e.layoutBase)},"webpackUniversalModuleDefinition")(lb,function(t){return function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=7)}([function(e,r){e.exports=t},function(e,r,n){"use strict";var i=n(0).FDLayoutConstants;function a(){}o(a,"CoSEConstants");for(var s in i)a[s]=i[s];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=i.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=a},function(e,r,n){"use strict";var i=n(0).FDLayoutEdge;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEEdge"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a},function(e,r,n){"use strict";var i=n(0).LGraph;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEGraph"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a},function(e,r,n){"use strict";var i=n(0).LGraphManager;function a(l){i.call(this,l)}o(a,"CoSEGraphManager"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a},function(e,r,n){"use strict";var i=n(0).FDLayoutNode,a=n(0).IMath;function s(u,h,f,d){i.call(this,u,h,f,d)}o(s,"CoSENode"),s.prototype=Object.create(i.prototype);for(var l in i)s[l]=i[l];s.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),u.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},s.prototype.propogateDisplacementToChildren=function(u,h){for(var f=this.getChild().getNodes(),d,p=0;p0)this.positionNodesRadially(T);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),L=this.nodesWithGravity.filter(function(C){return E.has(C)});this.graphManager.setAllNodesToApplyGravitation(L),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},w.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var T=new Set(this.getAllNodes()),E=this.nodesWithGravity.filter(function(A){return T.has(A)});this.graphManager.setAllNodesToApplyGravitation(E),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var L=!this.isTreeGrowing&&!this.isGrowthFinished,C=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(L,C),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},w.prototype.getPositionsData=function(){for(var T=this.graphManager.getAllNodes(),E={},L=0;L1){var k;for(k=0;kC&&(C=Math.floor(D.y)),I=Math.floor(D.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new m(d.WORLD_CENTER_X-D.x/2,d.WORLD_CENTER_Y-D.y/2))},w.radialLayout=function(T,E,L){var C=Math.max(this.maxDiagonalInTree(T),h.DEFAULT_RADIAL_SEPARATION);w.branchRadialLayout(E,null,0,359,0,C);var A=x.calculateBounds(T),I=new b;I.setDeviceOrgX(A.getMinX()),I.setDeviceOrgY(A.getMinY()),I.setWorldOrgX(L.x),I.setWorldOrgY(L.y);for(var D=0;D1;){var j=W[0];W.splice(0,1);var K=P.indexOf(j);K>=0&&P.splice(K,1),$--,F--}E!=null?z=(P.indexOf(W[0])+1)%$:z=0;for(var ie=Math.abs(C-L)/F,Q=z;B!=F;Q=++Q%$){var ee=P[Q].getOtherEnd(T);if(ee!=E){var J=(L+B*ie)%360,H=(J+ie)%360;w.branchRadialLayout(ee,T,J,H,A+I,I),B++}}},w.maxDiagonalInTree=function(T){for(var E=y.MIN_VALUE,L=0;LE&&(E=A)}return E},w.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},w.prototype.groupZeroDegreeMembers=function(){var T=this,E={};this.memberGroups={},this.idToDummyNode={};for(var L=[],C=this.graphManager.getAllNodes(),A=0;A"u"&&(E[k]=[]),E[k]=E[k].concat(I)}Object.keys(E).forEach(function(R){if(E[R].length>1){var S="DummyCompound_"+R;T.memberGroups[S]=E[R];var O=E[R][0].getParent(),N=new l(T.graphManager);N.id=S,N.paddingLeft=O.paddingLeft||0,N.paddingRight=O.paddingRight||0,N.paddingBottom=O.paddingBottom||0,N.paddingTop=O.paddingTop||0,T.idToDummyNode[S]=N;var P=T.getGraphManager().add(T.newGraph(),N),F=O.getChild();F.add(N);for(var B=0;B=0;T--){var E=this.compoundOrder[T],L=E.id,C=E.paddingLeft,A=E.paddingTop;this.adjustLocations(this.tiledMemberPack[L],E.rect.x,E.rect.y,C,A)}},w.prototype.repopulateZeroDegreeMembers=function(){var T=this,E=this.tiledZeroDegreePack;Object.keys(E).forEach(function(L){var C=T.idToDummyNode[L],A=C.paddingLeft,I=C.paddingTop;T.adjustLocations(E[L],C.rect.x,C.rect.y,A,I)})},w.prototype.getToBeTiled=function(T){var E=T.id;if(this.toBeTiled[E]!=null)return this.toBeTiled[E];var L=T.getChild();if(L==null)return this.toBeTiled[E]=!1,!1;for(var C=L.getNodes(),A=0;A0)return this.toBeTiled[E]=!1,!1;if(I.getChild()==null){this.toBeTiled[I.id]=!1;continue}if(!this.getToBeTiled(I))return this.toBeTiled[E]=!1,!1}return this.toBeTiled[E]=!0,!0},w.prototype.getNodeDegree=function(T){for(var E=T.id,L=T.getEdges(),C=0,A=0;AR&&(R=O.rect.height)}L+=R+T.verticalPadding}},w.prototype.tileCompoundMembers=function(T,E){var L=this;this.tiledMemberPack=[],Object.keys(T).forEach(function(C){var A=E[C];L.tiledMemberPack[C]=L.tileNodes(T[C],A.paddingLeft+A.paddingRight),A.rect.width=L.tiledMemberPack[C].width,A.rect.height=L.tiledMemberPack[C].height})},w.prototype.tileNodes=function(T,E){var L=h.TILING_PADDING_VERTICAL,C=h.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:E,verticalPadding:L,horizontalPadding:C};T.sort(function(k,R){return k.rect.width*k.rect.height>R.rect.width*R.rect.height?-1:k.rect.width*k.rect.height0&&(D+=T.horizontalPadding),T.rowWidth[L]=D,T.width0&&(k+=T.verticalPadding);var R=0;k>T.rowHeight[L]&&(R=T.rowHeight[L],T.rowHeight[L]=k,R=T.rowHeight[L]-R),T.height+=R,T.rows[L].push(E)},w.prototype.getShortestRowIndex=function(T){for(var E=-1,L=Number.MAX_VALUE,C=0;CL&&(E=C,L=T.rowWidth[C]);return E},w.prototype.canAddHorizontal=function(T,E,L){var C=this.getShortestRowIndex(T);if(C<0)return!0;var A=T.rowWidth[C];if(A+T.horizontalPadding+E<=T.width)return!0;var I=0;T.rowHeight[C]0&&(I=L+T.verticalPadding-T.rowHeight[C]);var D;T.width-A>=E+T.horizontalPadding?D=(T.height+I)/(A+E+T.horizontalPadding):D=(T.height+I)/T.width,I=L+T.verticalPadding;var k;return T.widthI&&E!=L){C.splice(-1,1),T.rows[L].push(A),T.rowWidth[E]=T.rowWidth[E]-I,T.rowWidth[L]=T.rowWidth[L]+I,T.width=T.rowWidth[instance.getLongestRowIndex(T)];for(var D=Number.MIN_VALUE,k=0;kD&&(D=C[k].height);E>0&&(D+=T.verticalPadding);var R=T.rowHeight[E]+T.rowHeight[L];T.rowHeight[E]=D,T.rowHeight[L]0)for(var F=A;F<=I;F++)P[0]+=this.grid[F][D-1].length+this.grid[F][D].length-1;if(I0)for(var F=D;F<=k;F++)P[3]+=this.grid[A-1][F].length+this.grid[A][F].length-1;for(var B=y.MAX_VALUE,$,z,W=0;W{"use strict";o(function(e,r){typeof cb=="object"&&typeof _B=="object"?_B.exports=r(AB()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof cb=="object"?cb.cytoscapeCoseBilkent=r(AB()):e.cytoscapeCoseBilkent=r(e.coseBase)},"webpackUniversalModuleDefinition")(cb,function(t){return function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=1)}([function(e,r){e.exports=t},function(e,r,n){"use strict";var i=n(0).layoutBase.LayoutConstants,a=n(0).layoutBase.FDLayoutConstants,s=n(0).CoSEConstants,l=n(0).CoSELayout,u=n(0).CoSENode,h=n(0).layoutBase.PointD,f=n(0).layoutBase.DimensionD,d={ready:o(function(){},"ready"),stop:o(function(){},"stop"),quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function p(v,x){var b={};for(var w in v)b[w]=v[w];for(var w in x)b[w]=x[w];return b}o(p,"extend");function m(v){this.options=p(d,v),g(this.options)}o(m,"_CoSELayout");var g=o(function(x){x.nodeRepulsion!=null&&(s.DEFAULT_REPULSION_STRENGTH=a.DEFAULT_REPULSION_STRENGTH=x.nodeRepulsion),x.idealEdgeLength!=null&&(s.DEFAULT_EDGE_LENGTH=a.DEFAULT_EDGE_LENGTH=x.idealEdgeLength),x.edgeElasticity!=null&&(s.DEFAULT_SPRING_STRENGTH=a.DEFAULT_SPRING_STRENGTH=x.edgeElasticity),x.nestingFactor!=null&&(s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=x.nestingFactor),x.gravity!=null&&(s.DEFAULT_GRAVITY_STRENGTH=a.DEFAULT_GRAVITY_STRENGTH=x.gravity),x.numIter!=null&&(s.MAX_ITERATIONS=a.MAX_ITERATIONS=x.numIter),x.gravityRange!=null&&(s.DEFAULT_GRAVITY_RANGE_FACTOR=a.DEFAULT_GRAVITY_RANGE_FACTOR=x.gravityRange),x.gravityCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=x.gravityCompound),x.gravityRangeCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=x.gravityRangeCompound),x.initialEnergyOnIncremental!=null&&(s.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.DEFAULT_COOLING_FACTOR_INCREMENTAL=x.initialEnergyOnIncremental),x.quality=="draft"?i.QUALITY=0:x.quality=="proof"?i.QUALITY=2:i.QUALITY=1,s.NODE_DIMENSIONS_INCLUDE_LABELS=a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=x.nodeDimensionsIncludeLabels,s.DEFAULT_INCREMENTAL=a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!x.randomize,s.ANIMATE=a.ANIMATE=i.ANIMATE=x.animate,s.TILE=x.tile,s.TILING_PADDING_VERTICAL=typeof x.tilingPaddingVertical=="function"?x.tilingPaddingVertical.call():x.tilingPaddingVertical,s.TILING_PADDING_HORIZONTAL=typeof x.tilingPaddingHorizontal=="function"?x.tilingPaddingHorizontal.call():x.tilingPaddingHorizontal},"getUserOptions");m.prototype.run=function(){var v,x,b=this.options,w=this.idToLNode={},_=this.layout=new l,T=this;T.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var E=_.newGraphManager();this.gm=E;var L=this.options.eles.nodes(),C=this.options.eles.edges();this.root=E.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(L),_);for(var A=0;A0){var k;k=b.getGraphManager().add(b.newGraph(),L),this.processChildrenList(k,E,b)}}},m.prototype.stop=function(){return this.stopped=!0,this};var y=o(function(x){x("layout","cose-bilkent",m)},"register");typeof cytoscape<"u"&&y(cytoscape),e.exports=y}])})});function _tt(t,e,r,n,i){return t.insert("polygon",":first-child").attr("points",n.map(function(a){return a.x+","+a.y}).join(" ")).attr("transform","translate("+(i.width-e)/2+", "+r+")")}var Ttt,ktt,Ett,Stt,Ctt,Att,Ltt,Dtt,D1e,N1e,R1e=M(()=>{"use strict";Dl();hr();Ttt=12,ktt=o(function(t,e,r,n){e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 ${r.height-5} v${-r.height+2*5} q0,-5 5,-5 h${r.width-2*5} q5,0 5,5 v${r.height-5} H0 Z`),e.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",r.height).attr("x2",r.width).attr("y2",r.height)},"defaultBkg"),Ett=o(function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("width",r.width)},"rectBkg"),Stt=o(function(t,e,r){let n=r.width,i=r.height,a=.15*n,s=.25*n,l=.35*n,u=.2*n;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${a},${a} 0 0,1 ${n*.25},${-1*n*.1} a${l},${l} 1 0,1 ${n*.4},${-1*n*.1} a${s},${s} 1 0,1 ${n*.35},${1*n*.2} a${a},${a} 1 0,1 ${n*.15},${1*i*.35} a${u},${u} 1 0,1 ${-1*n*.15},${1*i*.65} a${s},${a} 1 0,1 ${-1*n*.25},${n*.15} a${l},${l} 1 0,1 ${-1*n*.5},0 a${a},${a} 1 0,1 ${-1*n*.25},${-1*n*.15} a${a},${a} 1 0,1 ${-1*n*.1},${-1*i*.35} a${u},${u} 1 0,1 ${n*.1},${-1*i*.65} H0 V0 Z`)},"cloudBkg"),Ctt=o(function(t,e,r){let n=r.width,i=r.height,a=.15*n;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${a},${a} 1 0,0 ${n*.25},${-1*i*.1} a${a},${a} 1 0,0 ${n*.25},0 a${a},${a} 1 0,0 ${n*.25},0 a${a},${a} 1 0,0 ${n*.25},${1*i*.1} a${a},${a} 1 0,0 ${n*.15},${1*i*.33} a${a*.8},${a*.8} 1 0,0 0,${1*i*.34} a${a},${a} 1 0,0 ${-1*n*.15},${1*i*.33} a${a},${a} 1 0,0 ${-1*n*.25},${i*.15} a${a},${a} 1 0,0 ${-1*n*.25},0 a${a},${a} 1 0,0 ${-1*n*.25},0 a${a},${a} 1 0,0 ${-1*n*.25},${-1*i*.15} a${a},${a} 1 0,0 ${-1*n*.1},${-1*i*.33} a${a*.8},${a*.8} 1 0,0 0,${-1*i*.34} a${a},${a} 1 0,0 ${n*.1},${-1*i*.33} H0 V0 Z`)},"bangBkg"),Att=o(function(t,e,r){e.append("circle").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("r",r.width/2)},"circleBkg");o(_tt,"insertPolygonShape");Ltt=o(function(t,e,r){let n=r.height,a=n/4,s=r.width-r.padding+2*a,l=[{x:a,y:0},{x:s-a,y:0},{x:s,y:-n/2},{x:s-a,y:-n},{x:a,y:-n},{x:0,y:-n/2}];_tt(e,s,n,l,r)},"hexagonBkg"),Dtt=o(function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("rx",r.padding).attr("ry",r.padding).attr("width",r.width)},"roundedRectBkg"),D1e=o(async function(t,e,r,n,i){let a=i.htmlLabels,s=n%(Ttt-1),l=e.append("g");r.section=s;let u="section-"+s;s<0&&(u+=" section-root"),l.attr("class",(r.class?r.class+" ":"")+"mindmap-node "+u);let h=l.append("g"),f=l.append("g"),d=r.descr.replace(/()/g,` `);await Si(f,d,{useHtmlLabels:a,width:r.width,classes:"mindmap-node-label"},i),a||f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");let p=f.node().getBBox(),[m]=Fo(i.fontSize);if(r.height=p.height+m*1.1*.5+r.padding,r.width=p.width+2*r.padding,r.icon)if(r.type===t.nodeType.CIRCLE)r.height+=50,r.width+=50,l.append("foreignObject").attr("height","50px").attr("width",r.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+s+" "+r.icon),f.attr("transform","translate("+r.width/2+", "+(r.height/2-1.5*r.padding)+")");else{r.width+=50;let g=r.height;r.height=Math.max(g,60);let y=Math.abs(r.height-g);l.append("foreignObject").attr("width","60px").attr("height",r.height).attr("style","text-align: center;margin-top:"+y/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+s+" "+r.icon),f.attr("transform","translate("+(25+r.width/2)+", "+(y/2+r.padding/2)+")")}else if(a){let g=(r.width-p.width)/2,y=(r.height-p.height)/2;f.attr("transform","translate("+g+", "+y+")")}else{let g=r.width/2,y=r.padding/2;f.attr("transform","translate("+g+", "+y+")")}switch(r.type){case t.nodeType.DEFAULT:ktt(t,h,r,s);break;case t.nodeType.ROUNDED_RECT:Dtt(t,h,r,s);break;case t.nodeType.RECT:Ett(t,h,r,s);break;case t.nodeType.CIRCLE:h.attr("transform","translate("+r.width/2+", "+ +r.height/2+")"),Att(t,h,r,s);break;case t.nodeType.CLOUD:Stt(t,h,r,s);break;case t.nodeType.BANG:Ctt(t,h,r,s);break;case t.nodeType.HEXAGON:Ltt(t,h,r,s);break}return t.setElementForId(r.id,l),r.height},"drawNode"),N1e=o(function(t,e){let r=t.getElementById(e.id),n=e.x||0,i=e.y||0;r.attr("transform","translate("+n+","+i+")")},"positionNode")});async function I1e(t,e,r,n,i){await D1e(t,e,r,n,i),r.children&&await Promise.all(r.children.map((a,s)=>I1e(t,e,a,n<0?s:n,i)))}function Ntt(t,e){e.edges().map((r,n)=>{let i=r.data();if(r[0]._private.bodyBounds){let a=r[0]._private.rscratch;Y.trace("Edge: ",n,i),t.insert("path").attr("d",`M ${a.startX},${a.startY} L ${a.midX},${a.midY} L${a.endX},${a.endY} `).attr("class","edge section-edge-"+i.section+" edge-depth-"+i.depth)}})}function O1e(t,e,r,n){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:n,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(i=>{O1e(i,e,r,n+1),e.add({group:"edges",data:{id:`${t.id}_${i.id}`,source:t.id,target:i.id,depth:n,section:i.section}})})}function Rtt(t,e){return new Promise(r=>{let n=ze("body").append("div").attr("id","cy").attr("style","display:none"),i=sl({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});n.remove(),O1e(t,i,e,0),i.nodes().forEach(function(a){a.layoutDimensions=()=>{let s=a.data();return{w:s.width,h:s.height}}}),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready(a=>{Y.info("Ready",a),r(i)})})}function Mtt(t,e){e.nodes().map((r,n)=>{let i=r.data();i.x=r.position().x,i.y=r.position().y,N1e(t,i);let a=t.getElementById(i.nodeId);Y.info("Id:",n,"Position: (",r.position().x,", ",r.position().y,")",i),a.attr("transform",`translate(${r.position().x-i.width/2}, ${r.position().y-i.height/2})`),a.attr("attr",`apa-${n})`)})}var M1e,Itt,P1e,B1e=M(()=>{"use strict";kB();M1e=ka(L1e(),1);mr();Vt();ht();Hu();ni();R1e();hs();sl.use(M1e.default);o(I1e,"drawNodes");o(Ntt,"drawEdges");o(O1e,"addNodes");o(Rtt,"layoutMindmap");o(Mtt,"positionNodes");Itt=o(async(t,e,r,n)=>{Y.debug(`Rendering mindmap diagram `+t);let i=n.db,a=i.getMindmap();if(!a)return;let s=de();s.htmlLabels=!1;let l=Oa(e),u=l.append("g");u.attr("class","mindmap-edges");let h=l.append("g");h.attr("class","mindmap-nodes"),await I1e(i,h,a,-1,s);let f=await Rtt(a,s);Ntt(u,f),Mtt(i,f),_o(void 0,l,s.mindmap?.padding??ur.mindmap.padding,s.mindmap?.useMaxWidth??ur.mindmap.useMaxWidth)},"draw"),P1e={draw:Itt}});var Ott,Ptt,F1e,z1e=M(()=>{"use strict";To();Ott=o(t=>{let e="";for(let r=0;r` .edge { stroke-width: 3; } ${Ott(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } .section-root text { fill: ${t.gitBranchLabel0}; } .icon-container { height:100%; display: flex; justify-content: center; align-items: center; } .edge { fill: none; } .mindmap-node-label { dy: 1em; alignment-baseline: middle; text-anchor: middle; dominant-baseline: middle; text-align: center; } `,"getStyles"),F1e=Ptt});var G1e={};vr(G1e,{diagram:()=>Btt});var Btt,$1e=M(()=>{"use strict";Cpe();Lpe();B1e();z1e();Btt={db:_pe,renderer:P1e,parser:Spe,styles:F1e}});var LB,H1e,W1e=M(()=>{"use strict";LB=function(){var t=o(function(L,C,A,I){for(A=A||{},I=L.length;I--;A[L[I]]=C);return A},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,31],g=[6,7,11,24],y=[1,6,13,16,17,20,23],v=[1,35],x=[1,36],b=[1,6,7,11,13,16,17,20,23],w=[1,38],_={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:o(function(C,A,I,D,k,R,S){var O=R.length-1;switch(k){case 6:case 7:return D;case 8:D.getLogger().trace("Stop NL ");break;case 9:D.getLogger().trace("Stop EOF ");break;case 11:D.getLogger().trace("Stop NL2 ");break;case 12:D.getLogger().trace("Stop EOF2 ");break;case 15:D.getLogger().info("Node: ",R[O-1].id),D.addNode(R[O-2].length,R[O-1].id,R[O-1].descr,R[O-1].type,R[O]);break;case 16:D.getLogger().info("Node: ",R[O].id),D.addNode(R[O-1].length,R[O].id,R[O].descr,R[O].type);break;case 17:D.getLogger().trace("Icon: ",R[O]),D.decorateNode({icon:R[O]});break;case 18:case 23:D.decorateNode({class:R[O]});break;case 19:D.getLogger().trace("SPACELIST");break;case 20:D.getLogger().trace("Node: ",R[O-1].id),D.addNode(0,R[O-1].id,R[O-1].descr,R[O-1].type,R[O]);break;case 21:D.getLogger().trace("Node: ",R[O].id),D.addNode(0,R[O].id,R[O].descr,R[O].type);break;case 22:D.decorateNode({icon:R[O]});break;case 27:D.getLogger().trace("node found ..",R[O-2]),this.$={id:R[O-1],descr:R[O-1],type:D.getType(R[O-2],R[O])};break;case 28:this.$={id:R[O],descr:R[O],type:0};break;case 29:D.getLogger().trace("node found ..",R[O-3]),this.$={id:R[O-3],descr:R[O-1],type:D.getType(R[O-2],R[O])};break;case 30:this.$=R[O-1]+R[O];break;case 31:this.$=R[O];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:h,7:f,10:23,11:d},t(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:l}),t(p,[2,19]),t(p,[2,21],{15:30,24:m}),t(p,[2,22]),t(p,[2,23]),t(g,[2,25]),t(g,[2,26]),t(g,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:f,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},t(y,[2,14],{7:v,11:x}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(p,[2,16],{15:37,24:m}),t(p,[2,17]),t(p,[2,18]),t(p,[2,20],{24:w}),t(g,[2,31]),{21:[1,39]},{22:[1,40]},t(y,[2,13],{7:v,11:x}),t(b,[2,11]),t(b,[2,12]),t(p,[2,15],{24:w}),t(g,[2,30]),{22:[1,41]},t(g,[2,27]),t(g,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(C,A){if(A.recoverable)this.trace(C);else{var I=new Error(C);throw I.hash=A,I}},"parseError"),parse:o(function(C){var A=this,I=[0],D=[],k=[null],R=[],S=this.table,O="",N=0,P=0,F=0,B=2,$=1,z=R.slice.call(arguments,1),W=Object.create(this.lexer),j={yy:{}};for(var K in this.yy)Object.prototype.hasOwnProperty.call(this.yy,K)&&(j.yy[K]=this.yy[K]);W.setInput(C,j.yy),j.yy.lexer=W,j.yy.parser=this,typeof W.yylloc>"u"&&(W.yylloc={});var ie=W.yylloc;R.push(ie);var Q=W.options&&W.options.ranges;typeof j.yy.parseError=="function"?this.parseError=j.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(Ve){I.length=I.length-2*Ve,k.length=k.length-Ve,R.length=R.length-Ve}o(ee,"popStack");function J(){var Ve;return Ve=D.pop()||W.lex()||$,typeof Ve!="number"&&(Ve instanceof Array&&(D=Ve,Ve=D.pop()),Ve=A.symbols_[Ve]||Ve),Ve}o(J,"lex");for(var H,q,Z,ae,ue,ce,te={},De,oe,ke,Fe;;){if(Z=I[I.length-1],this.defaultActions[Z]?ae=this.defaultActions[Z]:((H===null||typeof H>"u")&&(H=J()),ae=S[Z]&&S[Z][H]),typeof ae>"u"||!ae.length||!ae[0]){var Be="";Fe=[];for(De in S[Z])this.terminals_[De]&&De>B&&Fe.push("'"+this.terminals_[De]+"'");W.showPosition?Be="Parse error on line "+(N+1)+`: `+W.showPosition()+` Expecting `+Fe.join(", ")+", got '"+(this.terminals_[H]||H)+"'":Be="Parse error on line "+(N+1)+": Unexpected "+(H==$?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(Be,{text:W.match,token:this.terminals_[H]||H,line:W.yylineno,loc:ie,expected:Fe})}if(ae[0]instanceof Array&&ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+H);switch(ae[0]){case 1:I.push(H),k.push(W.yytext),R.push(W.yylloc),I.push(ae[1]),H=null,q?(H=q,q=null):(P=W.yyleng,O=W.yytext,N=W.yylineno,ie=W.yylloc,F>0&&F--);break;case 2:if(oe=this.productions_[ae[1]][1],te.$=k[k.length-oe],te._$={first_line:R[R.length-(oe||1)].first_line,last_line:R[R.length-1].last_line,first_column:R[R.length-(oe||1)].first_column,last_column:R[R.length-1].last_column},Q&&(te._$.range=[R[R.length-(oe||1)].range[0],R[R.length-1].range[1]]),ce=this.performAction.apply(te,[O,P,N,j.yy,ae[1],k,R].concat(z)),typeof ce<"u")return ce;oe&&(I=I.slice(0,-1*oe*2),k=k.slice(0,-1*oe),R=R.slice(0,-1*oe)),I.push(this.productions_[ae[1]][0]),k.push(te.$),R.push(te._$),ke=S[I[I.length-2]][I[I.length-1]],I.push(ke);break;case 3:return!0}}return!0},"parse")},T=function(){var L={EOF:1,parseError:o(function(A,I){if(this.yy.parser)this.yy.parser.parseError(A,I);else throw new Error(A)},"parseError"),setInput:o(function(C,A){return this.yy=A||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var A=C.match(/(?:\r\n?|\n).*/g);return A?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},"input"),unput:o(function(C){var A=C.length,I=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-A),this.offset-=A;var D=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),I.length-1&&(this.yylineno-=I.length-1);var k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:I?(I.length===D.length?this.yylloc.first_column:0)+D[D.length-I.length].length-I[0].length:this.yylloc.first_column-A},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-A]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(C){this.unput(this.match.slice(C))},"less"),pastInput:o(function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var C=this.pastInput(),A=new Array(C.length+1).join("-");return C+this.upcomingInput()+` `+A+"^"},"showPosition"),test_match:o(function(C,A){var I,D,k;if(this.options.backtrack_lexer&&(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(k.yylloc.range=this.yylloc.range.slice(0))),D=C[0].match(/(?:\r\n?|\n).*/g),D&&(this.yylineno+=D.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:D?D[D.length-1].length-D[D.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],I=this.performAction.call(this,this.yy,this,A,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),I)return I;if(this._backtrack){for(var R in k)this[R]=k[R];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,A,I,D;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),R=0;RA[0].length)){if(A=I,D=R,this.options.backtrack_lexer){if(C=this.test_match(I,k[R]),C!==!1)return C;if(this._backtrack){A=!1;continue}else return!1}else if(!this.options.flex)break}return A?(C=this.test_match(A,k[D]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var A=this.next();return A||this.lex()},"lex"),begin:o(function(A){this.conditionStack.push(A)},"begin"),popState:o(function(){var A=this.conditionStack.length-1;return A>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(A){return A=this.conditionStack.length-1-Math.abs(A||0),A>=0?this.conditionStack[A]:"INITIAL"},"topState"),pushState:o(function(A){this.begin(A)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(A,I,D,k){var R=k;switch(D){case 0:return this.pushState("shapeData"),I.yytext="",24;break;case 1:return this.pushState("shapeDataStr"),24;break;case 2:return this.popState(),24;break;case 3:let S=/\n\s*/g;return I.yytext=I.yytext.replace(S,"
    "),24;break;case 4:return 24;case 5:this.popState();break;case 6:return A.getLogger().trace("Found comment",I.yytext),6;break;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;break;case 10:this.popState();break;case 11:A.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return A.getLogger().trace("SPACELINE"),6;break;case 13:return 7;case 14:return 16;case 15:A.getLogger().trace("end icon"),this.popState();break;case 16:return A.getLogger().trace("Exploding node"),this.begin("NODE"),20;break;case 17:return A.getLogger().trace("Cloud"),this.begin("NODE"),20;break;case 18:return A.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;break;case 19:return A.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;break;case 20:return this.begin("NODE"),20;break;case 21:return this.begin("NODE"),20;break;case 22:return this.begin("NODE"),20;break;case 23:return this.begin("NODE"),20;break;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:A.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return A.getLogger().trace("description:",I.yytext),"NODE_DESCR";break;case 32:this.popState();break;case 33:return this.popState(),A.getLogger().trace("node end ))"),"NODE_DEND";break;case 34:return this.popState(),A.getLogger().trace("node end )"),"NODE_DEND";break;case 35:return this.popState(),A.getLogger().trace("node end ...",I.yytext),"NODE_DEND";break;case 36:return this.popState(),A.getLogger().trace("node end (("),"NODE_DEND";break;case 37:return this.popState(),A.getLogger().trace("node end (-"),"NODE_DEND";break;case 38:return this.popState(),A.getLogger().trace("node end (-"),"NODE_DEND";break;case 39:return this.popState(),A.getLogger().trace("node end (("),"NODE_DEND";break;case 40:return this.popState(),A.getLogger().trace("node end (("),"NODE_DEND";break;case 41:return A.getLogger().trace("Long description:",I.yytext),21;break;case 42:return A.getLogger().trace("Long description:",I.yytext),21;break}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return L}();_.lexer=T;function E(){this.yy={}}return o(E,"Parser"),E.prototype=_,_.Parser=E,new E}();LB.parser=LB;H1e=LB});var ol,NB,DB,RB,$tt,Vtt,Y1e,Utt,Htt,Xi,Wtt,Ytt,qtt,Xtt,jtt,Ktt,Qtt,q1e,X1e=M(()=>{"use strict";Vt();fr();ht();hs();V5();ol=[],NB=[],DB=0,RB={},$tt=o(()=>{ol=[],NB=[],DB=0,RB={}},"clear"),Vtt=o(t=>{if(ol.length===0)return null;let e=ol[0].level,r=null;for(let n=ol.length-1;n>=0;n--)if(ol[n].level===e&&!r&&(r=ol[n]),ol[n].levell.parentId===i.id);for(let l of s){let u={id:l.id,parentId:i.id,label:Tr(l.label??"",n),isGroup:!1,ticket:l?.ticket,priority:l?.priority,assigned:l?.assigned,icon:l?.icon,shape:"kanbanItem",level:l.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(u)}}return{nodes:e,edges:t,other:{},config:de()}},"getData"),Htt=o((t,e,r,n,i)=>{let a=de(),s=a.mindmap?.padding??ur.mindmap.padding;switch(n){case Xi.ROUNDED_RECT:case Xi.RECT:case Xi.HEXAGON:s*=2}let l={id:Tr(e,a)||"kbn"+DB++,level:t,label:Tr(r,a),width:a.mindmap?.maxNodeWidth??ur.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let h;i.includes(` `)?h=i+` `:h=`{ `+i+` }`;let f=fm(h,{schema:hm});if(f.shape&&(f.shape!==f.shape.toLowerCase()||f.shape.includes("_")))throw new Error(`No such shape: ${f.shape}. Shape names should be lowercase.`);f?.shape&&f.shape==="kanbanItem"&&(l.shape=f?.shape),f?.label&&(l.label=f?.label),f?.icon&&(l.icon=f?.icon.toString()),f?.assigned&&(l.assigned=f?.assigned.toString()),f?.ticket&&(l.ticket=f?.ticket.toString()),f?.priority&&(l.priority=f?.priority)}let u=Vtt(t);u?l.parentId=u.id||"kbn"+DB++:NB.push(l),ol.push(l)},"addNode"),Xi={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Wtt=o((t,e)=>{switch(Y.debug("In get type",t,e),t){case"[":return Xi.RECT;case"(":return e===")"?Xi.ROUNDED_RECT:Xi.CLOUD;case"((":return Xi.CIRCLE;case")":return Xi.CLOUD;case"))":return Xi.BANG;case"{{":return Xi.HEXAGON;default:return Xi.DEFAULT}},"getType"),Ytt=o((t,e)=>{RB[t]=e},"setElementForId"),qtt=o(t=>{if(!t)return;let e=de(),r=ol[ol.length-1];t.icon&&(r.icon=Tr(t.icon,e)),t.class&&(r.cssClasses=Tr(t.class,e))},"decorateNode"),Xtt=o(t=>{switch(t){case Xi.DEFAULT:return"no-border";case Xi.RECT:return"rect";case Xi.ROUNDED_RECT:return"rounded-rect";case Xi.CIRCLE:return"circle";case Xi.CLOUD:return"cloud";case Xi.BANG:return"bang";case Xi.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),jtt=o(()=>Y,"getLogger"),Ktt=o(t=>RB[t],"getElementById"),Qtt={clear:$tt,addNode:Htt,getSections:Y1e,getData:Utt,nodeType:Xi,getType:Wtt,setElementForId:Ytt,decorateNode:qtt,type2Str:Xtt,getLogger:jtt,getElementById:Ktt},q1e=Qtt});var Ztt,j1e,K1e=M(()=>{"use strict";Vt();ht();Hu();ni();hs();K5();sw();Ztt=o(async(t,e,r,n)=>{Y.debug(`Rendering kanban diagram `+t);let a=n.db.getData(),s=de();s.htmlLabels=!1;let l=Oa(e),u=l.append("g");u.attr("class","sections");let h=l.append("g");h.attr("class","items");let f=a.nodes.filter(v=>v.isGroup),d=0,p=10,m=[],g=25;for(let v of f){let x=s?.kanban?.sectionWidth||200;d=d+1,v.x=x*d+(d-1)*p/2,v.width=x,v.y=0,v.height=x*3,v.rx=5,v.ry=5,v.cssClasses=v.cssClasses+" section-"+d;let b=await mm(u,v);g=Math.max(g,b?.labelBBox?.height),m.push(b)}let y=0;for(let v of f){let x=m[y];y=y+1;let b=s?.kanban?.sectionWidth||200,w=-b*3/2+g,_=w,T=a.nodes.filter(C=>C.parentId===v.id);for(let C of T){if(C.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");C.x=v.x,C.width=b-1.5*p;let I=(await gm(h,C,{config:s})).node().getBBox();C.y=_+I.height/2,await _v(C),_=C.y+I.height/2+p/2}let E=x.cluster.select("rect"),L=Math.max(_-w+3*p,50)+(g-25);E.attr("height",L)}_o(void 0,l,s.mindmap?.padding??ur.kanban.padding,s.mindmap?.useMaxWidth??ur.kanban.useMaxWidth)},"draw"),j1e={draw:Ztt}});var Jtt,ert,Q1e,Z1e=M(()=>{"use strict";To();Jtt=o(t=>{let e="";for(let n=0;nt.darkMode?Bt(n,i):Dt(n,i),"adjuster");for(let n=0;n` .edge { stroke-width: 3; } ${Jtt(t)} .section-root rect, .section-root path, .section-root circle, .section-root polygon { fill: ${t.git0}; } .section-root text { fill: ${t.gitBranchLabel0}; } .icon-container { height:100%; display: flex; justify-content: center; align-items: center; } .edge { fill: none; } .cluster-label, .label { color: ${t.textColor}; fill: ${t.textColor}; } .kanban-label { dy: 1em; alignment-baseline: middle; text-anchor: middle; dominant-baseline: middle; text-align: center; } `,"getStyles"),Q1e=ert});var J1e={};vr(J1e,{diagram:()=>trt});var trt,eye=M(()=>{"use strict";W1e();X1e();K1e();Z1e();trt={db:q1e,renderer:j1e,parser:H1e,styles:Q1e}});var MB,ub,nye=M(()=>{"use strict";MB=function(){var t=o(function(l,u,h,f){for(h=h||{},f=l.length;f--;h[l[f]]=u);return h},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:o(function(u,h,f,d,p,m,g){var y=m.length-1;switch(p){case 7:let v=d.findOrCreateNode(m[y-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(m[y-2].trim().replaceAll('""','"')),b=parseFloat(m[y].trim());d.addLink(v,x,b);break;case 8:case 9:case 11:this.$=m[y];break;case 10:this.$=m[y-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:o(function(u,h){if(h.recoverable)this.trace(u);else{var f=new Error(u);throw f.hash=h,f}},"parseError"),parse:o(function(u){var h=this,f=[0],d=[],p=[null],m=[],g=this.table,y="",v=0,x=0,b=0,w=2,_=1,T=m.slice.call(arguments,1),E=Object.create(this.lexer),L={yy:{}};for(var C in this.yy)Object.prototype.hasOwnProperty.call(this.yy,C)&&(L.yy[C]=this.yy[C]);E.setInput(u,L.yy),L.yy.lexer=E,L.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var A=E.yylloc;m.push(A);var I=E.options&&E.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function D(ie){f.length=f.length-2*ie,p.length=p.length-ie,m.length=m.length-ie}o(D,"popStack");function k(){var ie;return ie=d.pop()||E.lex()||_,typeof ie!="number"&&(ie instanceof Array&&(d=ie,ie=d.pop()),ie=h.symbols_[ie]||ie),ie}o(k,"lex");for(var R,S,O,N,P,F,B={},$,z,W,j;;){if(O=f[f.length-1],this.defaultActions[O]?N=this.defaultActions[O]:((R===null||typeof R>"u")&&(R=k()),N=g[O]&&g[O][R]),typeof N>"u"||!N.length||!N[0]){var K="";j=[];for($ in g[O])this.terminals_[$]&&$>w&&j.push("'"+this.terminals_[$]+"'");E.showPosition?K="Parse error on line "+(v+1)+`: `+E.showPosition()+` Expecting `+j.join(", ")+", got '"+(this.terminals_[R]||R)+"'":K="Parse error on line "+(v+1)+": Unexpected "+(R==_?"end of input":"'"+(this.terminals_[R]||R)+"'"),this.parseError(K,{text:E.match,token:this.terminals_[R]||R,line:E.yylineno,loc:A,expected:j})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+O+", token: "+R);switch(N[0]){case 1:f.push(R),p.push(E.yytext),m.push(E.yylloc),f.push(N[1]),R=null,S?(R=S,S=null):(x=E.yyleng,y=E.yytext,v=E.yylineno,A=E.yylloc,b>0&&b--);break;case 2:if(z=this.productions_[N[1]][1],B.$=p[p.length-z],B._$={first_line:m[m.length-(z||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-(z||1)].first_column,last_column:m[m.length-1].last_column},I&&(B._$.range=[m[m.length-(z||1)].range[0],m[m.length-1].range[1]]),F=this.performAction.apply(B,[y,x,v,L.yy,N[1],p,m].concat(T)),typeof F<"u")return F;z&&(f=f.slice(0,-1*z*2),p=p.slice(0,-1*z),m=m.slice(0,-1*z)),f.push(this.productions_[N[1]][0]),p.push(B.$),m.push(B._$),W=g[f[f.length-2]][f[f.length-1]],f.push(W);break;case 3:return!0}}return!0},"parse")},a=function(){var l={EOF:1,parseError:o(function(h,f){if(this.yy.parser)this.yy.parser.parseError(h,f);else throw new Error(h)},"parseError"),setInput:o(function(u,h){return this.yy=h||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var h=u.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:o(function(u){var h=u.length,f=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===d.length?this.yylloc.first_column:0)+d[d.length-f.length].length-f[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(u){this.unput(this.match.slice(u))},"less"),pastInput:o(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var u=this.pastInput(),h=new Array(u.length+1).join("-");return u+this.upcomingInput()+` `+h+"^"},"showPosition"),test_match:o(function(u,h){var f,d,p;if(this.options.backtrack_lexer&&(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(p.yylloc.range=this.yylloc.range.slice(0))),d=u[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(u[0].length),this.matched+=u[0],f=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)return f;if(this._backtrack){for(var m in p)this[m]=p[m];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,h,f,d;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),m=0;mh[0].length)){if(h=f,d=m,this.options.backtrack_lexer){if(u=this.test_match(f,p[m]),u!==!1)return u;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(u=this.test_match(h,p[d]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var h=this.next();return h||this.lex()},"lex"),begin:o(function(h){this.conditionStack.push(h)},"begin"),popState:o(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:o(function(h){this.begin(h)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(h,f,d,p){var m=p;switch(d){case 0:return this.pushState("csv"),4;break;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;break;case 5:return 20;case 6:return this.popState("escaped_text"),18;break;case 7:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return l}();i.lexer=a;function s(){this.yy={}}return o(s,"Parser"),s.prototype=i,i.Parser=s,new s}();MB.parser=MB;ub=MB});var H6,W6,U6,art,IB,srt,OB,ort,lrt,crt,urt,iye,aye=M(()=>{"use strict";Vt();fr();ki();H6=[],W6=[],U6=new Map,art=o(()=>{H6=[],W6=[],U6=new Map,_r()},"clear"),IB=class{constructor(e,r,n=0){this.source=e;this.target=r;this.value=n}static{o(this,"SankeyLink")}},srt=o((t,e,r)=>{H6.push(new IB(t,e,r))},"addLink"),OB=class{constructor(e){this.ID=e}static{o(this,"SankeyNode")}},ort=o(t=>{t=je.sanitizeText(t,de());let e=U6.get(t);return e===void 0&&(e=new OB(t),U6.set(t,e),W6.push(e)),e},"findOrCreateNode"),lrt=o(()=>W6,"getNodes"),crt=o(()=>H6,"getLinks"),urt=o(()=>({nodes:W6.map(t=>({id:t.ID})),links:H6.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),iye={nodesMap:U6,getConfig:o(()=>de().sankey,"getConfig"),getNodes:lrt,getLinks:crt,getGraph:urt,addLink:srt,findOrCreateNode:ort,getAccTitle:Pr,setAccTitle:Rr,getAccDescription:Fr,setAccDescription:Br,getDiagramTitle:Jr,setDiagramTitle:ln,clear:art}});function hb(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var sye=M(()=>{"use strict";o(hb,"max")});function T1(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var oye=M(()=>{"use strict";o(T1,"min")});function k1(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}var lye=M(()=>{"use strict";o(k1,"sum")});var PB=M(()=>{"use strict";sye();oye();lye()});function hrt(t){return t.target.depth}function BB(t){return t.depth}function FB(t,e){return e-1-t.height}function fb(t,e){return t.sourceLinks.length?t.depth:e-1}function zB(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?T1(t.sourceLinks,hrt)-1:0}var GB=M(()=>{"use strict";PB();o(hrt,"targetDepth");o(BB,"left");o(FB,"right");o(fb,"justify");o(zB,"center")});function E1(t){return function(){return t}}var cye=M(()=>{"use strict";o(E1,"constant")});function uye(t,e){return Y6(t.source,e.source)||t.index-e.index}function hye(t,e){return Y6(t.target,e.target)||t.index-e.index}function Y6(t,e){return t.y0-e.y0}function $B(t){return t.value}function frt(t){return t.index}function drt(t){return t.nodes}function prt(t){return t.links}function fye(t,e){let r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function dye({nodes:t}){for(let e of t){let r=e.y0,n=r;for(let i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(let i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function q6(){let t=0,e=0,r=1,n=1,i=24,a=8,s,l=frt,u=fb,h,f,d=drt,p=prt,m=6;function g(){let O={nodes:d.apply(null,arguments),links:p.apply(null,arguments)};return y(O),v(O),x(O),b(O),T(O),dye(O),O}o(g,"sankey"),g.update=function(O){return dye(O),O},g.nodeId=function(O){return arguments.length?(l=typeof O=="function"?O:E1(O),g):l},g.nodeAlign=function(O){return arguments.length?(u=typeof O=="function"?O:E1(O),g):u},g.nodeSort=function(O){return arguments.length?(h=O,g):h},g.nodeWidth=function(O){return arguments.length?(i=+O,g):i},g.nodePadding=function(O){return arguments.length?(a=s=+O,g):a},g.nodes=function(O){return arguments.length?(d=typeof O=="function"?O:E1(O),g):d},g.links=function(O){return arguments.length?(p=typeof O=="function"?O:E1(O),g):p},g.linkSort=function(O){return arguments.length?(f=O,g):f},g.size=function(O){return arguments.length?(t=e=0,r=+O[0],n=+O[1],g):[r-t,n-e]},g.extent=function(O){return arguments.length?(t=+O[0][0],r=+O[1][0],e=+O[0][1],n=+O[1][1],g):[[t,e],[r,n]]},g.iterations=function(O){return arguments.length?(m=+O,g):m};function y({nodes:O,links:N}){for(let[F,B]of O.entries())B.index=F,B.sourceLinks=[],B.targetLinks=[];let P=new Map(O.map((F,B)=>[l(F,B,O),F]));for(let[F,B]of N.entries()){B.index=F;let{source:$,target:z}=B;typeof $!="object"&&($=B.source=fye(P,$)),typeof z!="object"&&(z=B.target=fye(P,z)),$.sourceLinks.push(B),z.targetLinks.push(B)}if(f!=null)for(let{sourceLinks:F,targetLinks:B}of O)F.sort(f),B.sort(f)}o(y,"computeNodeLinks");function v({nodes:O}){for(let N of O)N.value=N.fixedValue===void 0?Math.max(k1(N.sourceLinks,$B),k1(N.targetLinks,$B)):N.fixedValue}o(v,"computeNodeValues");function x({nodes:O}){let N=O.length,P=new Set(O),F=new Set,B=0;for(;P.size;){for(let $ of P){$.depth=B;for(let{target:z}of $.sourceLinks)F.add(z)}if(++B>N)throw new Error("circular link");P=F,F=new Set}}o(x,"computeNodeDepths");function b({nodes:O}){let N=O.length,P=new Set(O),F=new Set,B=0;for(;P.size;){for(let $ of P){$.height=B;for(let{source:z}of $.targetLinks)F.add(z)}if(++B>N)throw new Error("circular link");P=F,F=new Set}}o(b,"computeNodeHeights");function w({nodes:O}){let N=hb(O,B=>B.depth)+1,P=(r-t-i)/(N-1),F=new Array(N);for(let B of O){let $=Math.max(0,Math.min(N-1,Math.floor(u.call(null,B,N))));B.layer=$,B.x0=t+$*P,B.x1=B.x0+i,F[$]?F[$].push(B):F[$]=[B]}if(h)for(let B of F)B.sort(h);return F}o(w,"computeNodeLayers");function _(O){let N=T1(O,P=>(n-e-(P.length-1)*s)/k1(P,$B));for(let P of O){let F=e;for(let B of P){B.y0=F,B.y1=F+B.value*N,F=B.y1+s;for(let $ of B.sourceLinks)$.width=$.value*N}F=(n-F+s)/(P.length+1);for(let B=0;BP.length)-1)),_(N);for(let P=0;P0))continue;let K=(W/j-z.y0)*N;z.y0+=K,z.y1+=K,D(z)}h===void 0&&$.sort(Y6),C($,P)}}o(E,"relaxLeftToRight");function L(O,N,P){for(let F=O.length,B=F-2;B>=0;--B){let $=O[B];for(let z of $){let W=0,j=0;for(let{target:ie,value:Q}of z.sourceLinks){let ee=Q*(ie.layer-z.layer);W+=S(z,ie)*ee,j+=ee}if(!(j>0))continue;let K=(W/j-z.y0)*N;z.y0+=K,z.y1+=K,D(z)}h===void 0&&$.sort(Y6),C($,P)}}o(L,"relaxRightToLeft");function C(O,N){let P=O.length>>1,F=O[P];I(O,F.y0-s,P-1,N),A(O,F.y1+s,P+1,N),I(O,n,O.length-1,N),A(O,e,0,N)}o(C,"resolveCollisions");function A(O,N,P,F){for(;P1e-6&&(B.y0+=$,B.y1+=$),N=B.y1+s}}o(A,"resolveCollisionsTopToBottom");function I(O,N,P,F){for(;P>=0;--P){let B=O[P],$=(B.y1-N)*F;$>1e-6&&(B.y0-=$,B.y1-=$),N=B.y0-s}}o(I,"resolveCollisionsBottomToTop");function D({sourceLinks:O,targetLinks:N}){if(f===void 0){for(let{source:{sourceLinks:P}}of N)P.sort(hye);for(let{target:{targetLinks:P}}of O)P.sort(uye)}}o(D,"reorderNodeLinks");function k(O){if(f===void 0)for(let{sourceLinks:N,targetLinks:P}of O)N.sort(hye),P.sort(uye)}o(k,"reorderLinks");function R(O,N){let P=O.y0-(O.sourceLinks.length-1)*s/2;for(let{target:F,width:B}of O.sourceLinks){if(F===N)break;P+=B+s}for(let{source:F,width:B}of N.targetLinks){if(F===O)break;P-=B}return P}o(R,"targetTop");function S(O,N){let P=N.y0-(N.targetLinks.length-1)*s/2;for(let{source:F,width:B}of N.targetLinks){if(F===O)break;P+=B+s}for(let{target:F,width:B}of O.sourceLinks){if(F===N)break;P-=B}return P}return o(S,"sourceTop"),g}var pye=M(()=>{"use strict";PB();GB();cye();o(uye,"ascendingSourceBreadth");o(hye,"ascendingTargetBreadth");o(Y6,"ascendingBreadth");o($B,"value");o(frt,"defaultId");o(drt,"defaultNodes");o(prt,"defaultLinks");o(fye,"find");o(dye,"computeLinkBreadths");o(q6,"Sankey")});function HB(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function mye(){return new HB}var VB,UB,q0,mrt,WB,gye=M(()=>{"use strict";VB=Math.PI,UB=2*VB,q0=1e-6,mrt=UB-q0;o(HB,"Path");o(mye,"path");HB.prototype=mye.prototype={constructor:HB,moveTo:o(function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},"moveTo"),closePath:o(function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},"closePath"),lineTo:o(function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},"lineTo"),quadraticCurveTo:o(function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},"quadraticCurveTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},"bezierCurveTo"),arcTo:o(function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,l=r-t,u=n-e,h=a-t,f=s-e,d=h*h+f*f;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>q0)if(!(Math.abs(f*l-u*h)>q0)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var p=r-a,m=n-s,g=l*l+u*u,y=p*p+m*m,v=Math.sqrt(g),x=Math.sqrt(d),b=i*Math.tan((VB-Math.acos((g+d-y)/(2*v*x)))/2),w=b/x,_=b/v;Math.abs(w-1)>q0&&(this._+="L"+(t+w*h)+","+(e+w*f)),this._+="A"+i+","+i+",0,0,"+ +(f*p>h*m)+","+(this._x1=t+_*l)+","+(this._y1=e+_*u)}},"arcTo"),arc:o(function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),l=r*Math.sin(n),u=t+s,h=e+l,f=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+u+","+h:(Math.abs(this._x1-u)>q0||Math.abs(this._y1-h)>q0)&&(this._+="L"+u+","+h),r&&(d<0&&(d=d%UB+UB),d>mrt?this._+="A"+r+","+r+",0,1,"+f+","+(t-s)+","+(e-l)+"A"+r+","+r+",0,1,"+f+","+(this._x1=u)+","+(this._y1=h):d>q0&&(this._+="A"+r+","+r+",0,"+ +(d>=VB)+","+f+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},"arc"),rect:o(function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},"rect"),toString:o(function(){return this._},"toString")};WB=mye});var yye=M(()=>{"use strict";gye()});function X6(t){return o(function(){return t},"constant")}var vye=M(()=>{"use strict";o(X6,"default")});function xye(t){return t[0]}function bye(t){return t[1]}var wye=M(()=>{"use strict";o(xye,"x");o(bye,"y")});var Tye,kye=M(()=>{"use strict";Tye=Array.prototype.slice});function grt(t){return t.source}function yrt(t){return t.target}function vrt(t){var e=grt,r=yrt,n=xye,i=bye,a=null;function s(){var l,u=Tye.call(arguments),h=e.apply(this,u),f=r.apply(this,u);if(a||(a=l=WB()),t(a,+n.apply(this,(u[0]=h,u)),+i.apply(this,u),+n.apply(this,(u[0]=f,u)),+i.apply(this,u)),l)return a=null,l+""||null}return o(s,"link"),s.source=function(l){return arguments.length?(e=l,s):e},s.target=function(l){return arguments.length?(r=l,s):r},s.x=function(l){return arguments.length?(n=typeof l=="function"?l:X6(+l),s):n},s.y=function(l){return arguments.length?(i=typeof l=="function"?l:X6(+l),s):i},s.context=function(l){return arguments.length?(a=l??null,s):a},s}function xrt(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function YB(){return vrt(xrt)}var Eye=M(()=>{"use strict";yye();kye();vye();wye();o(grt,"linkSource");o(yrt,"linkTarget");o(vrt,"link");o(xrt,"curveHorizontal");o(YB,"linkHorizontal")});var Sye=M(()=>{"use strict";Eye()});function brt(t){return[t.source.x1,t.y0]}function wrt(t){return[t.target.x0,t.y1]}function j6(){return YB().source(brt).target(wrt)}var Cye=M(()=>{"use strict";Sye();o(brt,"horizontalSource");o(wrt,"horizontalTarget");o(j6,"default")});var Aye=M(()=>{"use strict";pye();GB();Cye()});var db,_ye=M(()=>{"use strict";db=class t{static{o(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}}});var Trt,krt,Lye,Dye=M(()=>{"use strict";Vt();mr();Aye();ni();_ye();Trt={left:BB,right:FB,center:zB,justify:fb},krt=o(function(t,e,r,n){let{securityLevel:i,sankey:a}=de(),s=S4.sankey,l;i==="sandbox"&&(l=ze("#i"+e));let u=i==="sandbox"?ze(l.nodes()[0].contentDocument.body):ze("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):ze(`[id="${e}"]`),f=a?.width??s.width,d=a?.height??s.width,p=a?.useMaxWidth??s.useMaxWidth,m=a?.nodeAlignment??s.nodeAlignment,g=a?.prefix??s.prefix,y=a?.suffix??s.suffix,v=a?.showValues??s.showValues,x=n.db.getGraph(),b=Trt[m];q6().nodeId(I=>I.id).nodeWidth(10).nodePadding(10+(v?15:0)).nodeAlign(b).extent([[0,0],[f,d]])(x);let T=du(Z8);h.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",I=>(I.uid=db.next("node-")).id).attr("transform",function(I){return"translate("+I.x0+","+I.y0+")"}).attr("x",I=>I.x0).attr("y",I=>I.y0).append("rect").attr("height",I=>I.y1-I.y0).attr("width",I=>I.x1-I.x0).attr("fill",I=>T(I.id));let E=o(({id:I,value:D})=>v?`${I} ${g}${Math.round(D*100)/100}${y}`:I,"getText");h.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",I=>I.x0(I.y1+I.y0)/2).attr("dy",`${v?"0":"0.35"}em`).attr("text-anchor",I=>I.x0(D.uid=db.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",D=>D.source.x1).attr("x2",D=>D.target.x0);I.append("stop").attr("offset","0%").attr("stop-color",D=>T(D.source.id)),I.append("stop").attr("offset","100%").attr("stop-color",D=>T(D.target.id))}let A;switch(C){case"gradient":A=o(I=>I.uid,"coloring");break;case"source":A=o(I=>T(I.source.id),"coloring");break;case"target":A=o(I=>T(I.target.id),"coloring");break;default:A=C}L.append("path").attr("d",j6()).attr("stroke",A).attr("stroke-width",I=>Math.max(1,I.width)),_o(void 0,h,0,p)},"draw"),Lye={draw:krt}});var Nye,Rye=M(()=>{"use strict";Nye=o(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` `).trim(),"prepareTextForParsing")});var Mye={};vr(Mye,{diagram:()=>Srt});var Ert,Srt,Iye=M(()=>{"use strict";nye();aye();Dye();Rye();Ert=ub.parse.bind(ub);ub.parse=t=>Ert(Nye(t));Srt={parser:ub,db:iye,renderer:Lye}});var Bye,qB,Lrt,Drt,Nrt,Rrt,Mrt,Rf,XB=M(()=>{"use strict";Ua();hs();hr();ki();Bye={packet:[]},qB=structuredClone(Bye),Lrt=ur.packet,Drt=o(()=>{let t=ws({...Lrt,...Sr().packet});return t.showBits&&(t.paddingY+=10),t},"getConfig"),Nrt=o(()=>qB.packet,"getPacket"),Rrt=o(t=>{t.length>0&&qB.packet.push(t)},"pushWord"),Mrt=o(()=>{_r(),qB=structuredClone(Bye)},"clear"),Rf={pushWord:Rrt,getPacket:Nrt,getConfig:Drt,clear:Mrt,setAccTitle:Rr,getAccTitle:Pr,setDiagramTitle:ln,getDiagramTitle:Jr,getAccDescription:Fr,setAccDescription:Br}});var Irt,Ort,Prt,Fye,zye=M(()=>{"use strict";Ng();ht();ox();XB();Irt=1e4,Ort=o(t=>{lf(t,Rf);let e=-1,r=[],n=1,{bitsPerRow:i}=Rf.getConfig();for(let{start:a,end:s,label:l}of t.blocks){if(s&&s{if(t.end===void 0&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*r?[t,void 0]:[{start:t.start,end:e*r-1,label:t.label},{start:e*r,end:t.end,label:t.label}]},"getNextFittingBlock"),Fye={parse:o(async t=>{let e=await Gl("packet",t);Y.debug(e),Ort(e)},"parse")}});var Brt,Frt,Gye,$ye=M(()=>{"use strict";Hu();ni();Brt=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:l,bitWidth:u,bitsPerRow:h}=a,f=i.getPacket(),d=i.getDiagramTitle(),p=s+l,m=p*(f.length+1)-(d?0:s),g=u*h+2,y=Oa(e);y.attr("viewbox",`0 0 ${g} ${m}`),Zr(y,m,g,a.useMaxWidth);for(let[v,x]of f.entries())Frt(y,x,v,a);y.append("text").text(d).attr("x",g/2).attr("y",m-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),Frt=o((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:l,showBits:u})=>{let h=t.append("g"),f=r*(n+a)+a;for(let d of e){let p=d.start%l*s+1,m=(d.end-d.start+1)*s-i;if(h.append("rect").attr("x",p).attr("y",f).attr("width",m).attr("height",n).attr("class","packetBlock"),h.append("text").attr("x",p+m/2).attr("y",f+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!u)continue;let g=d.end===d.start,y=f-2;h.append("text").attr("x",p+(g?m/2:0)).attr("y",y).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(d.start),g||h.append("text").attr("x",p+m).attr("y",y).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),Gye={draw:Brt}});var zrt,Vye,Uye=M(()=>{"use strict";hr();zrt={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},Vye=o(({packet:t}={})=>{let e=ws(zrt,t);return` .packetByte { font-size: ${e.byteFontSize}; } .packetByte.start { fill: ${e.startByteColor}; } .packetByte.end { fill: ${e.endByteColor}; } .packetLabel { fill: ${e.labelColor}; font-size: ${e.labelFontSize}; } .packetTitle { fill: ${e.titleColor}; font-size: ${e.titleFontSize}; } .packetBlock { stroke: ${e.blockStrokeColor}; stroke-width: ${e.blockStrokeWidth}; fill: ${e.blockFillColor}; } `},"styles")});var Hye={};vr(Hye,{diagram:()=>Grt});var Grt,Wye=M(()=>{"use strict";XB();zye();$ye();Uye();Grt={parser:Fye,db:Rf,renderer:Gye,styles:Vye}});var jB,Xye,jye=M(()=>{"use strict";jB=function(){var t=o(function(w,_,T,E){for(T=T||{},E=w.length;E--;T[w[E]]=_);return T},"o"),e=[1,7],r=[1,13],n=[1,14],i=[1,15],a=[1,19],s=[1,16],l=[1,17],u=[1,18],h=[8,30],f=[8,21,28,29,30,31,32,40,44,47],d=[1,23],p=[1,24],m=[8,15,16,21,28,29,30,31,32,40,44,47],g=[8,15,16,21,27,28,29,30,31,32,40,44,47],y=[1,49],v={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:o(function(_,T,E,L,C,A,I){var D=A.length-1;switch(C){case 4:L.getLogger().debug("Rule: separator (NL) ");break;case 5:L.getLogger().debug("Rule: separator (Space) ");break;case 6:L.getLogger().debug("Rule: separator (EOF) ");break;case 7:L.getLogger().debug("Rule: hierarchy: ",A[D-1]),L.setHierarchy(A[D-1]);break;case 8:L.getLogger().debug("Stop NL ");break;case 9:L.getLogger().debug("Stop EOF ");break;case 10:L.getLogger().debug("Stop NL2 ");break;case 11:L.getLogger().debug("Stop EOF2 ");break;case 12:L.getLogger().debug("Rule: statement: ",A[D]),typeof A[D].length=="number"?this.$=A[D]:this.$=[A[D]];break;case 13:L.getLogger().debug("Rule: statement #2: ",A[D-1]),this.$=[A[D-1]].concat(A[D]);break;case 14:L.getLogger().debug("Rule: link: ",A[D],_),this.$={edgeTypeStr:A[D],label:""};break;case 15:L.getLogger().debug("Rule: LABEL link: ",A[D-3],A[D-1],A[D]),this.$={edgeTypeStr:A[D],label:A[D-1]};break;case 18:let k=parseInt(A[D]),R=L.generateId();this.$={id:R,type:"space",label:"",width:k,children:[]};break;case 23:L.getLogger().debug("Rule: (nodeStatement link node) ",A[D-2],A[D-1],A[D]," typestr: ",A[D-1].edgeTypeStr);let S=L.edgeStrToEdgeData(A[D-1].edgeTypeStr);this.$=[{id:A[D-2].id,label:A[D-2].label,type:A[D-2].type,directions:A[D-2].directions},{id:A[D-2].id+"-"+A[D].id,start:A[D-2].id,end:A[D].id,label:A[D-1].label,type:"edge",directions:A[D].directions,arrowTypeEnd:S,arrowTypeStart:"arrow_open"},{id:A[D].id,label:A[D].label,type:L.typeStr2Type(A[D].typeStr),directions:A[D].directions}];break;case 24:L.getLogger().debug("Rule: nodeStatement (abc88 node size) ",A[D-1],A[D]),this.$={id:A[D-1].id,label:A[D-1].label,type:L.typeStr2Type(A[D-1].typeStr),directions:A[D-1].directions,widthInColumns:parseInt(A[D],10)};break;case 25:L.getLogger().debug("Rule: nodeStatement (node) ",A[D]),this.$={id:A[D].id,label:A[D].label,type:L.typeStr2Type(A[D].typeStr),directions:A[D].directions,widthInColumns:1};break;case 26:L.getLogger().debug("APA123",this?this:"na"),L.getLogger().debug("COLUMNS: ",A[D]),this.$={type:"column-setting",columns:A[D]==="auto"?-1:parseInt(A[D])};break;case 27:L.getLogger().debug("Rule: id-block statement : ",A[D-2],A[D-1]);let O=L.generateId();this.$={...A[D-2],type:"composite",children:A[D-1]};break;case 28:L.getLogger().debug("Rule: blockStatement : ",A[D-2],A[D-1],A[D]);let N=L.generateId();this.$={id:N,type:"composite",label:"",children:A[D-1]};break;case 29:L.getLogger().debug("Rule: node (NODE_ID separator): ",A[D]),this.$={id:A[D]};break;case 30:L.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",A[D-1],A[D]),this.$={id:A[D-1],label:A[D].label,typeStr:A[D].typeStr,directions:A[D].directions};break;case 31:L.getLogger().debug("Rule: dirList: ",A[D]),this.$=[A[D]];break;case 32:L.getLogger().debug("Rule: dirList: ",A[D-1],A[D]),this.$=[A[D-1]].concat(A[D]);break;case 33:L.getLogger().debug("Rule: nodeShapeNLabel: ",A[D-2],A[D-1],A[D]),this.$={typeStr:A[D-2]+A[D],label:A[D-1]};break;case 34:L.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",A[D-3],A[D-2]," #3:",A[D-1],A[D]),this.$={typeStr:A[D-3]+A[D],label:A[D-2],directions:A[D-1]};break;case 35:case 36:this.$={type:"classDef",id:A[D-1].trim(),css:A[D].trim()};break;case 37:this.$={type:"applyClass",id:A[D-1].trim(),styleClass:A[D].trim()};break;case 38:this.$={type:"applyStyles",id:A[D-1].trim(),stylesStr:A[D].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:s,44:l,47:u},{8:[1,20]},t(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:e,28:r,29:n,31:i,32:a,40:s,44:l,47:u}),t(f,[2,16],{14:22,15:d,16:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,22]),t(m,[2,25],{27:[1,25]}),t(f,[2,26]),{19:26,26:12,32:a},{11:27,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:s,44:l,47:u},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},t(g,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},t(h,[2,13]),{26:35,32:a},{32:[2,14]},{17:[1,36]},t(m,[2,24]),{11:37,13:4,14:22,15:d,16:p,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:s,44:l,47:u},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},t(g,[2,30]),{18:[1,43]},{18:[1,44]},t(m,[2,23]),{18:[1,45]},{30:[1,46]},t(f,[2,28]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{37:[1,47]},{34:48,35:y},{15:[1,50]},t(f,[2,27]),t(g,[2,33]),{39:[1,51]},{34:52,35:y,39:[2,31]},{32:[2,15]},t(g,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:o(function(_,T){if(T.recoverable)this.trace(_);else{var E=new Error(_);throw E.hash=T,E}},"parseError"),parse:o(function(_){var T=this,E=[0],L=[],C=[null],A=[],I=this.table,D="",k=0,R=0,S=0,O=2,N=1,P=A.slice.call(arguments,1),F=Object.create(this.lexer),B={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(B.yy[$]=this.yy[$]);F.setInput(_,B.yy),B.yy.lexer=F,B.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var z=F.yylloc;A.push(z);var W=F.options&&F.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(oe){E.length=E.length-2*oe,C.length=C.length-oe,A.length=A.length-oe}o(j,"popStack");function K(){var oe;return oe=L.pop()||F.lex()||N,typeof oe!="number"&&(oe instanceof Array&&(L=oe,oe=L.pop()),oe=T.symbols_[oe]||oe),oe}o(K,"lex");for(var ie,Q,ee,J,H,q,Z={},ae,ue,ce,te;;){if(ee=E[E.length-1],this.defaultActions[ee]?J=this.defaultActions[ee]:((ie===null||typeof ie>"u")&&(ie=K()),J=I[ee]&&I[ee][ie]),typeof J>"u"||!J.length||!J[0]){var De="";te=[];for(ae in I[ee])this.terminals_[ae]&&ae>O&&te.push("'"+this.terminals_[ae]+"'");F.showPosition?De="Parse error on line "+(k+1)+`: `+F.showPosition()+` Expecting `+te.join(", ")+", got '"+(this.terminals_[ie]||ie)+"'":De="Parse error on line "+(k+1)+": Unexpected "+(ie==N?"end of input":"'"+(this.terminals_[ie]||ie)+"'"),this.parseError(De,{text:F.match,token:this.terminals_[ie]||ie,line:F.yylineno,loc:z,expected:te})}if(J[0]instanceof Array&&J.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ee+", token: "+ie);switch(J[0]){case 1:E.push(ie),C.push(F.yytext),A.push(F.yylloc),E.push(J[1]),ie=null,Q?(ie=Q,Q=null):(R=F.yyleng,D=F.yytext,k=F.yylineno,z=F.yylloc,S>0&&S--);break;case 2:if(ue=this.productions_[J[1]][1],Z.$=C[C.length-ue],Z._$={first_line:A[A.length-(ue||1)].first_line,last_line:A[A.length-1].last_line,first_column:A[A.length-(ue||1)].first_column,last_column:A[A.length-1].last_column},W&&(Z._$.range=[A[A.length-(ue||1)].range[0],A[A.length-1].range[1]]),q=this.performAction.apply(Z,[D,R,k,B.yy,J[1],C,A].concat(P)),typeof q<"u")return q;ue&&(E=E.slice(0,-1*ue*2),C=C.slice(0,-1*ue),A=A.slice(0,-1*ue)),E.push(this.productions_[J[1]][0]),C.push(Z.$),A.push(Z._$),ce=I[E[E.length-2]][E[E.length-1]],E.push(ce);break;case 3:return!0}}return!0},"parse")},x=function(){var w={EOF:1,parseError:o(function(T,E){if(this.yy.parser)this.yy.parser.parseError(T,E);else throw new Error(T)},"parseError"),setInput:o(function(_,T){return this.yy=T||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var T=_.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},"input"),unput:o(function(_){var T=_.length,E=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var L=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var C=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===L.length?this.yylloc.first_column:0)+L[L.length-E.length].length-E[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(_){this.unput(this.match.slice(_))},"less"),pastInput:o(function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var _=this.pastInput(),T=new Array(_.length+1).join("-");return _+this.upcomingInput()+` `+T+"^"},"showPosition"),test_match:o(function(_,T){var E,L,C;if(this.options.backtrack_lexer&&(C={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(C.yylloc.range=this.yylloc.range.slice(0))),L=_[0].match(/(?:\r\n?|\n).*/g),L&&(this.yylineno+=L.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:L?L[L.length-1].length-L[L.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_[0].length},this.yytext+=_[0],this.match+=_[0],this.matches=_,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_[0].length),this.matched+=_[0],E=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var A in C)this[A]=C[A];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _,T,E,L;this._more||(this.yytext="",this.match="");for(var C=this._currentRules(),A=0;AT[0].length)){if(T=E,L=A,this.options.backtrack_lexer){if(_=this.test_match(E,C[A]),_!==!1)return _;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(_=this.test_match(T,C[L]),_!==!1?_:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var T=this.next();return T||this.lex()},"lex"),begin:o(function(T){this.conditionStack.push(T)},"begin"),popState:o(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:o(function(T){this.begin(T)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(T,E,L,C){var A=C;switch(L){case 0:return 10;case 1:return T.getLogger().debug("Found space-block"),31;break;case 2:return T.getLogger().debug("Found nl-block"),31;break;case 3:return T.getLogger().debug("Found space-block"),29;break;case 4:T.getLogger().debug(".",E.yytext);break;case 5:T.getLogger().debug("_",E.yytext);break;case 6:return 5;case 7:return E.yytext=-1,28;break;case 8:return E.yytext=E.yytext.replace(/columns\s+/,""),T.getLogger().debug("COLUMNS (LEX)",E.yytext),28;break;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:T.getLogger().debug("LEX: POPPING STR:",E.yytext),this.popState();break;case 14:return T.getLogger().debug("LEX: STR end:",E.yytext),"STR";break;case 15:return E.yytext=E.yytext.replace(/space\:/,""),T.getLogger().debug("SPACE NUM (LEX)",E.yytext),21;break;case 16:return E.yytext="1",T.getLogger().debug("COLUMNS (LEX)",E.yytext),21;break;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;break;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 22:return this.popState(),this.pushState("CLASSDEFID"),41;break;case 23:return this.popState(),42;break;case 24:return this.pushState("CLASS"),44;break;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;break;case 26:return this.popState(),46;break;case 27:return this.pushState("STYLE_STMNT"),47;break;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;break;case 29:return this.popState(),49;break;case 30:return this.pushState("acc_title"),"acc_title";break;case 31:return this.popState(),"acc_title_value";break;case 32:return this.pushState("acc_descr"),"acc_descr";break;case 33:return this.popState(),"acc_descr_value";break;case 34:this.pushState("acc_descr_multiline");break;case 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";break;case 40:return this.popState(),T.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 41:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";break;case 43:return this.popState(),T.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 44:return this.popState(),T.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 45:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";break;case 46:return this.popState(),T.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 47:return this.popState(),T.getLogger().debug("Lex: ("),"NODE_DEND";break;case 48:return this.popState(),T.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 49:return this.popState(),T.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),T.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 51:return this.popState(),T.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 52:return this.popState(),T.getLogger().debug("Lex: )"),"NODE_DEND";break;case 53:return this.popState(),T.getLogger().debug("Lex: ]>"),"NODE_DEND";break;case 54:return this.popState(),T.getLogger().debug("Lex: ]"),"NODE_DEND";break;case 55:return T.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;break;case 56:return T.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;break;case 57:return T.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;break;case 58:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 59:return T.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;break;case 60:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 61:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 62:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 63:return T.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;break;case 64:return T.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;break;case 65:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;break;case 66:return this.pushState("NODE"),36;break;case 67:return this.pushState("NODE"),36;break;case 68:return this.pushState("NODE"),36;break;case 69:return this.pushState("NODE"),36;break;case 70:return this.pushState("NODE"),36;break;case 71:return this.pushState("NODE"),36;break;case 72:return this.pushState("NODE"),36;break;case 73:return T.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;break;case 74:return this.pushState("BLOCK_ARROW"),T.getLogger().debug("LEX ARR START"),38;break;case 75:return T.getLogger().debug("Lex: NODE_ID",E.yytext),32;break;case 76:return T.getLogger().debug("Lex: EOF",E.yytext),8;break;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:T.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:T.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return T.getLogger().debug("LEX: NODE_DESCR:",E.yytext),"NODE_DESCR";break;case 84:T.getLogger().debug("LEX POPPING"),this.popState();break;case 85:T.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return E.yytext=E.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (right): dir:",E.yytext),"DIR";break;case 87:return E.yytext=E.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (left):",E.yytext),"DIR";break;case 88:return E.yytext=E.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (x):",E.yytext),"DIR";break;case 89:return E.yytext=E.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (y):",E.yytext),"DIR";break;case 90:return E.yytext=E.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (up):",E.yytext),"DIR";break;case 91:return E.yytext=E.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (down):",E.yytext),"DIR";break;case 92:return E.yytext="]>",T.getLogger().debug("Lex (ARROW_DIR end):",E.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";break;case 93:return T.getLogger().debug("Lex: LINK","#"+E.yytext+"#"),15;break;case 94:return T.getLogger().debug("Lex: LINK",E.yytext),15;break;case 95:return T.getLogger().debug("Lex: LINK",E.yytext),15;break;case 96:return T.getLogger().debug("Lex: LINK",E.yytext),15;break;case 97:return T.getLogger().debug("Lex: START_LINK",E.yytext),this.pushState("LLABEL"),16;break;case 98:return T.getLogger().debug("Lex: START_LINK",E.yytext),this.pushState("LLABEL"),16;break;case 99:return T.getLogger().debug("Lex: START_LINK",E.yytext),this.pushState("LLABEL"),16;break;case 100:this.pushState("md_string");break;case 101:return T.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";break;case 102:return this.popState(),T.getLogger().debug("Lex: LINK","#"+E.yytext+"#"),15;break;case 103:return this.popState(),T.getLogger().debug("Lex: LINK",E.yytext),15;break;case 104:return this.popState(),T.getLogger().debug("Lex: LINK",E.yytext),15;break;case 105:return T.getLogger().debug("Lex: COLON",E.yytext),E.yytext=E.yytext.slice(1),27;break}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};return w}();v.lexer=x;function b(){this.yy={}}return o(b,"Parser"),b.prototype=v,v.Parser=b,new b}();jB.parser=jB;Xye=jB});function Krt(t){switch(Y.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return Y.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function Qrt(t){switch(Y.debug("typeStr2Type",t),t){case"==":return"thick";default:return"normal"}}function Zrt(t){switch(t.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}var ql,QB,KB,Kye,Qye,Urt,Jye,Hrt,K6,Wrt,Yrt,qrt,Xrt,eve,ZB,pb,jrt,Zye,Jrt,ent,tnt,rnt,nnt,int,ant,snt,ont,lnt,cnt,tve,rve=M(()=>{"use strict";SL();Ua();Vt();ht();fr();ki();ql=new Map,QB=[],KB=new Map,Kye="color",Qye="fill",Urt="bgFill",Jye=",",Hrt=de(),K6=new Map,Wrt=o(t=>je.sanitizeText(t,Hrt),"sanitizeText"),Yrt=o(function(t,e=""){let r=K6.get(t);r||(r={id:t,styles:[],textStyles:[]},K6.set(t,r)),e?.split(Jye).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(Kye).exec(n)){let s=i.replace(Qye,Urt).replace(Kye,Qye);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),qrt=o(function(t,e=""){let r=ql.get(t);e!=null&&(r.styles=e.split(Jye))},"addStyle2Node"),Xrt=o(function(t,e){t.split(",").forEach(function(r){let n=ql.get(r);if(n===void 0){let i=r.trim();n={id:i,type:"na",children:[]},ql.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),eve=o((t,e)=>{let r=t.flat(),n=[];for(let i of r){if(i.label&&(i.label=Wrt(i.label)),i.type==="classDef"){Yrt(i.id,i.css);continue}if(i.type==="applyClass"){Xrt(i.id,i?.styleClass??"");continue}if(i.type==="applyStyles"){i?.stylesStr&&qrt(i.id,i?.stylesStr);continue}if(i.type==="column-setting")e.columns=i.columns??-1;else if(i.type==="edge"){let a=(KB.get(i.id)??0)+1;KB.set(i.id,a),i.id=a+"-"+i.id,QB.push(i)}else{i.label||(i.type==="composite"?i.label="":i.label=i.id);let a=ql.get(i.id);if(a===void 0?ql.set(i.id,i):(i.type!=="na"&&(a.type=i.type),i.label!==i.id&&(a.label=i.label)),i.children&&eve(i.children,i),i.type==="space"){let s=i.width??1;for(let l=0;l{Y.debug("Clear called"),_r(),pb={id:"root",type:"composite",children:[],columns:-1},ql=new Map([["root",pb]]),ZB=[],K6=new Map,QB=[],KB=new Map},"clear");o(Krt,"typeStr2Type");o(Qrt,"edgeTypeStr2Type");o(Zrt,"edgeStrToEdgeData");Zye=0,Jrt=o(()=>(Zye++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Zye),"generateId"),ent=o(t=>{pb.children=t,eve(t,pb),ZB=pb.children},"setHierarchy"),tnt=o(t=>{let e=ql.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),rnt=o(()=>[...ql.values()],"getBlocksFlat"),nnt=o(()=>ZB||[],"getBlocks"),int=o(()=>QB,"getEdges"),ant=o(t=>ql.get(t),"getBlock"),snt=o(t=>{ql.set(t.id,t)},"setBlock"),ont=o(()=>console,"getLogger"),lnt=o(function(){return K6},"getClasses"),cnt={getConfig:o(()=>Sr().block,"getConfig"),typeStr2Type:Krt,edgeTypeStr2Type:Qrt,edgeStrToEdgeData:Zrt,getLogger:ont,getBlocksFlat:rnt,getBlocks:nnt,getEdges:int,setHierarchy:ent,getBlock:ant,setBlock:snt,getColumns:tnt,getClasses:lnt,clear:jrt,generateId:Jrt},tve=cnt});var Q6,unt,nve,ive=M(()=>{"use strict";To();Q6=o((t,e)=>{let r=z1,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Hs(n,i,a,e)},"fade"),unt=o(t=>`.label { font-family: ${t.fontFamily}; color: ${t.nodeTextColor||t.textColor}; } .cluster-label text { fill: ${t.titleColor}; } .cluster-label span,p { color: ${t.titleColor}; } .label text,span,p { fill: ${t.nodeTextColor||t.textColor}; color: ${t.nodeTextColor||t.textColor}; } .node rect, .node circle, .node ellipse, .node polygon, .node path { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: 1px; } .flowchart-label text { text-anchor: middle; } // .flowchart-label .text-outer-tspan { // text-anchor: middle; // } // .flowchart-label .text-inner-tspan { // text-anchor: start; // } .node .label { text-align: center; } .node.clickable { cursor: pointer; } .arrowheadPath { fill: ${t.arrowheadColor}; } .edgePath .path { stroke: ${t.lineColor}; stroke-width: 2.0px; } .flowchart-link { stroke: ${t.lineColor}; fill: none; } .edgeLabel { background-color: ${t.edgeLabelBackground}; rect { opacity: 0.5; background-color: ${t.edgeLabelBackground}; fill: ${t.edgeLabelBackground}; } text-align: center; } /* For html labels only */ .labelBkg { background-color: ${Q6(t.edgeLabelBackground,.5)}; // background-color: } .node .cluster { // fill: ${Q6(t.mainBkg,.5)}; fill: ${Q6(t.clusterBkg,.5)}; stroke: ${Q6(t.clusterBorder,.2)}; box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; stroke-width: 1px; } .cluster text { fill: ${t.titleColor}; } .cluster span,p { color: ${t.titleColor}; } /* .cluster div { color: ${t.titleColor}; } */ div.mermaidTooltip { position: absolute; text-align: center; max-width: 200px; padding: 2px; font-family: ${t.fontFamily}; font-size: 12px; background: ${t.tertiaryColor}; border: 1px solid ${t.border2}; border-radius: 2px; pointer-events: none; z-index: 100; } .flowchartTitleText { text-anchor: middle; font-size: 18px; fill: ${t.textColor}; } `,"getStyles"),nve=unt});var hnt,fnt,dnt,pnt,mnt,gnt,ynt,vnt,xnt,bnt,wnt,ave,sve=M(()=>{"use strict";ht();hnt=o((t,e,r,n)=>{e.forEach(i=>{wnt[i](t,r,n)})},"insertMarkers"),fnt=o((t,e,r)=>{Y.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),dnt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),pnt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),mnt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),gnt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),ynt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),vnt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),xnt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),bnt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),wnt={extension:fnt,composition:dnt,aggregation:pnt,dependency:mnt,lollipop:gnt,point:ynt,circle:vnt,cross:xnt,barb:bnt},ave=hnt});function Tnt(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};let r=e%t,n=Math.floor(e/t);return{px:r,py:n}}function JB(t,e,r=0,n=0){Y.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"sieblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(let m of t.children)JB(m,e);let s=knt(t);i=s.width,a=s.height,Y.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(let m of t.children)m.size&&(Y.debug(`abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}`),m.size.width=i*(m.widthInColumns??1)+xi*((m.widthInColumns??1)-1),m.size.height=a,m.size.x=0,m.size.y=0,Y.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`));for(let m of t.children)JB(m,e,i,a);let l=t.columns??-1,u=0;for(let m of t.children)u+=m.widthInColumns??1;let h=t.children.length;l>0&&l0?Math.min(t.children.length,l):t.children.length;if(m>0){let g=(d-m*xi-xi)/m;Y.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,g);for(let y of t.children)y.size&&(y.size.width=g)}}t.size={width:d,height:p,x:0,y:0}}Y.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function ove(t,e){Y.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);let r=t.columns??-1;if(Y.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){let n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*xi;Y.debug("widthOfChildren 88",i,"posX");let a=0;Y.debug("abc91 block?.size?.x",t.id,t?.size?.x);let s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-xi,l=0;for(let u of t.children){let h=t;if(!u.size)continue;let{width:f,height:d}=u.size,{px:p,py:m}=Tnt(r,a);if(m!=l&&(l=m,s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-xi,Y.debug("New row in layout for block",t.id," and child ",u.id,l)),Y.debug(`abc89 layout blocks (child) id: ${u.id} Pos: ${a} (px, py) ${p},${m} (${h?.size?.x},${h?.size?.y}) parent: ${h.id} width: ${f}${xi}`),h.size){let g=f/2;u.size.x=s+xi+g,Y.debug(`abc91 layout blocks (calc) px, pyid:${u.id} startingPos=X${s} new startingPosX${u.size.x} ${g} padding=${xi} width=${f} halfWidth=${g} => x:${u.size.x} y:${u.size.y} ${u.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(u?.widthInColumns??1)/2}`),s=u.size.x+g,u.size.y=h.size.y-h.size.height/2+m*(d+xi)+d/2+xi,Y.debug(`abc88 layout blocks (calc) px, pyid:${u.id}startingPosX${s}${xi}${g}=>x:${u.size.x}y:${u.size.y}${u.widthInColumns}(width * (child?.w || 1)) / 2${f*(u?.widthInColumns??1)/2}`)}u.children&&ove(u,e),a+=u?.widthInColumns??1,Y.debug("abc88 columnsPos",u,a)}}Y.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function lve(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){let{x:a,y:s,width:l,height:u}=t.size;a-l/2n&&(n=a+l/2),s+u/2>i&&(i=s+u/2)}if(t.children)for(let a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=lve(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}function cve(t){let e=t.getBlock("root");if(!e)return;JB(e,t,0,0),ove(e,t),Y.debug("getBlocks",JSON.stringify(e,null,2));let{minX:r,minY:n,maxX:i,maxY:a}=lve(e),s=a-n,l=i-r;return{x:r,y:n,width:l,height:s}}var xi,knt,uve=M(()=>{"use strict";ht();Vt();xi=de()?.block?.padding??8;o(Tnt,"calculateBlockPosition");knt=o(t=>{let e=0,r=0;for(let n of t.children){let{width:i,height:a,x:s,y:l}=n.size??{width:0,height:0,x:0,y:0};Y.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",l,n.type),n.type!=="space"&&(i>e&&(e=i/(t.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");o(JB,"setBlockSizes");o(ove,"layoutBlocks");o(lve,"findBounds");o(cve,"layout")});function hve(t,e){e&&t.attr("style",e)}function Ent(t){let e=ze(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=t.label,i=t.isNode?"nodeLabel":"edgeLabel",a=r.append("span");return a.html(n),hve(a,t.labelStyle),a.attr("class",i),hve(r,t.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var Snt,cs,Z6=M(()=>{"use strict";mr();ht();Vt();fr();hr();Dl();o(hve,"applyStyle");o(Ent,"addHtmlLabel");Snt=o((t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),xr(de().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),Y.debug("vertexText"+i);let a={isNode:n,label:x9(Ca(i)),labelStyle:e.replace("fill:","color:")};return Ent(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let s=[];typeof i=="string"?s=i.split(/\\n|\n|/gi):Array.isArray(i)?s=i:s=[];for(let l of s){let u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),r?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=l.trim(),a.appendChild(u)}return a}},"createLabel"),cs=Snt});var dve,Cnt,fve,pve=M(()=>{"use strict";ht();dve=o((t,e,r,n,i)=>{e.arrowTypeStart&&fve(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&fve(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),Cnt={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},fve=o((t,e,r,n,i,a)=>{let s=Cnt[r];if(!s){Y.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${l})`)},"addEdgeMarker")});function J6(t,e){de().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}var eF,$a,gve,yve,Ant,_nt,mve,vve,xve=M(()=>{"use strict";ht();Z6();Dl();mr();Vt();hr();fr();lL();Cv();pve();eF={},$a={},gve=o((t,e)=>{let r=de(),n=xr(r.flowchart.htmlLabels),i=e.labelType==="markdown"?Si(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:!0},r):cs(e.label,e.labelStyle),a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(i);let l=i.getBBox();if(n){let h=i.children[0],f=ze(i);l=h.getBoundingClientRect(),f.attr("width",l.width),f.attr("height",l.height)}s.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),eF[e.id]=a,e.width=l.width,e.height=l.height;let u;if(e.startLabelLeft){let h=cs(e.startLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),$a[e.id]||($a[e.id]={}),$a[e.id].startLeft=f,J6(u,e.startLabelLeft)}if(e.startLabelRight){let h=cs(e.startLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=f.node().appendChild(h),d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),$a[e.id]||($a[e.id]={}),$a[e.id].startRight=f,J6(u,e.startLabelRight)}if(e.endLabelLeft){let h=cs(e.endLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),$a[e.id]||($a[e.id]={}),$a[e.id].endLeft=f,J6(u,e.endLabelLeft)}if(e.endLabelRight){let h=cs(e.endLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),$a[e.id]||($a[e.id]={}),$a[e.id].endRight=f,J6(u,e.endLabelRight)}return i},"insertEdgeLabel");o(J6,"setTerminalWidth");yve=o((t,e)=>{Y.debug("Moving label abc88 ",t.id,t.label,eF[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=de(),{subGraphTitleTotalMargin:i}=_u(n);if(t.label){let a=eF[t.id],s=t.x,l=t.y;if(r){let u=Ut.calcLabelPosition(r);Y.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=$a[t.id].startLeft,s=t.x,l=t.y;if(r){let u=Ut.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=$a[t.id].startRight,s=t.x,l=t.y;if(r){let u=Ut.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=$a[t.id].endLeft,s=t.x,l=t.y;if(r){let u=Ut.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=$a[t.id].endRight,s=t.x,l=t.y;if(r){let u=Ut.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),Ant=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),_nt=o((t,e,r)=>{Y.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{Y.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!Ant(e,a)&&!i){let s=_nt(e,n,a),l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),vve=o(function(t,e,r,n,i,a,s){let l=r.points;Y.debug("abc88 InsertEdge: edge=",r,"e=",e);let u=!1,h=a.node(e.v);var f=a.node(e.w);f?.intersect&&h?.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(h.intersect(l[0])),l.push(f.intersect(l[l.length-1]))),r.toCluster&&(Y.debug("to cluster abc88",n[r.toCluster]),l=mve(r.points,n[r.toCluster].node),u=!0),r.fromCluster&&(Y.debug("from cluster abc88",n[r.fromCluster]),l=mve(l.reverse(),n[r.fromCluster].node).reverse(),u=!0);let d=l.filter(_=>!Number.isNaN(_.y)),p=Do;r.curve&&(i==="graph"||i==="flowchart")&&(p=r.curve);let{x:m,y:g}=Z5(r),y=Ka().x(m).y(g).curve(p),v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}let x=t.append("path").attr("d",y(d)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style),b="";(de().flowchart.arrowMarkerAbsolute||de().state.arrowMarkerAbsolute)&&(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,b=b.replace(/\(/g,"\\("),b=b.replace(/\)/g,"\\)")),dve(x,r,b,s,i);let w={};return u&&(w.updatedPath=l),w.originalPath=r.points,w},"insertEdge")});var Lnt,bve,wve=M(()=>{"use strict";Lnt=o(t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),bve=o((t,e,r)=>{let n=Lnt(t),i=2,a=e.height+2*r.padding,s=a/i,l=e.width+2*s+r.padding,u=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:l/2,y:2*u},{x:l-s,y:0},{x:l,y:0},{x:l,y:-a/3},{x:l+2*u,y:-a/2},{x:l,y:-2*a/3},{x:l,y:-a},{x:l-s,y:-a},{x:l/2,y:-a-2*u},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*u,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:l-s,y:-a},{x:l,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:l,y:-s},{x:l,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:l,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:l,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:l,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:l,y:0},{x:0,y:-s},{x:l,y:-a}]:n.has("left")&&n.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-a}]:n.has("right")?[{x:s,y:-u},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a+u}]:n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u}]:n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:[{x:0,y:0}]},"getArrowPoints")});function Dnt(t,e){return t.intersect(e)}var Tve,kve=M(()=>{"use strict";o(Dnt,"intersectNode");Tve=Dnt});function Nnt(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(Nnt,"intersectEllipse");eS=Nnt});function Rnt(t,e,r){return eS(t,e,e,r)}var Eve,Sve=M(()=>{"use strict";tF();o(Rnt,"intersectCircle");Eve=Rnt});function Mnt(t,e,r,n){var i,a,s,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+s*r.y+u,m=i*n.x+s*n.y+u,!(p!==0&&m!==0&&Cve(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&Cve(f,d))&&(g=i*l-a*s,g!==0)))return y=Math.abs(g/2),v=s*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function Cve(t,e){return t*e>0}var Ave,_ve=M(()=>{"use strict";o(Mnt,"intersectLine");o(Cve,"sameSign");Ave=Mnt});function Int(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(g){s=Math.min(s,g.x),l=Math.min(l,g.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));for(var u=n-t.width/2-s,h=i-t.height/2-l,f=0;f1&&a.sort(function(g,y){var v=g.x-r.x,x=g.y-r.y,b=Math.sqrt(v*v+x*x),w=y.x-r.x,_=y.y-r.y,T=Math.sqrt(w*w+_*_);return b{"use strict";_ve();Lve=Int;o(Int,"intersectPolygon")});var Ont,Nve,Rve=M(()=>{"use strict";Ont=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),Nve=Ont});var Rn,rF=M(()=>{"use strict";kve();Sve();tF();Dve();Rve();Rn={node:Tve,circle:Eve,ellipse:eS,polygon:Lve,rect:Nve}});function Xl(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var _i,qn,nF=M(()=>{"use strict";Z6();Dl();Vt();mr();fr();hr();_i=o(async(t,e,r,n)=>{let i=de(),a,s=e.useHtmlLabels||xr(i.flowchart.htmlLabels);r?a=r:a="node default";let l=t.insert("g").attr("class",a).attr("id",e.domId||e.id),u=l.insert("g").attr("class","label").attr("style",e.labelStyle),h;e.labelText===void 0?h="":h=typeof e.labelText=="string"?e.labelText:e.labelText[0];let f=u.node(),d;e.labelType==="markdown"?d=Si(u,Tr(Ca(h),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):d=f.appendChild(cs(Tr(Ca(h),i),e.labelStyle,!1,n));let p=d.getBBox(),m=e.padding/2;if(xr(i.flowchart.htmlLabels)){let g=d.children[0],y=ze(d),v=g.getElementsByTagName("img");if(v){let x=h.replace(/]*>/g,"").trim()==="";await Promise.all([...v].map(b=>new Promise(w=>{function _(){if(b.style.display="flex",b.style.flexDirection="column",x){let T=i.fontSize?i.fontSize:window.getComputedStyle(document.body).fontSize,L=parseInt(T,10)*5+"px";b.style.minWidth=L,b.style.maxWidth=L}else b.style.width="100%";w(b)}o(_,"setupImage"),setTimeout(()=>{b.complete&&_()}),b.addEventListener("error",_),b.addEventListener("load",_)})))}p=g.getBoundingClientRect(),y.attr("width",p.width),y.attr("height",p.height)}return s?u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"):u.attr("transform","translate(0, "+-p.height/2+")"),e.centerLabel&&u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:l,bbox:p,halfPadding:m,label:u}},"labelHelper"),qn=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");o(Xl,"insertPolygonShape")});var Pnt,Mve,Ive=M(()=>{"use strict";nF();ht();Vt();rF();Pnt=o(async(t,e)=>{e.useHtmlLabels||de().flowchart.htmlLabels||(e.centerLabel=!0);let{shapeSvg:n,bbox:i,halfPadding:a}=await _i(t,e,"node "+e.classes,!0);Y.info("Classes = ",e.classes);let s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),qn(e,s),e.intersect=function(l){return Rn.rect(e,l)},n},"note"),Mve=Pnt});function iF(t,e,r,n){let i=[],a=o(l=>{i.push(l,0)},"addBorder"),s=o(l=>{i.push(0,l)},"skipBorder");e.includes("t")?(Y.debug("add top border"),a(r)):s(r),e.includes("r")?(Y.debug("add right border"),a(n)):s(n),e.includes("b")?(Y.debug("add bottom border"),a(r)):s(r),e.includes("l")?(Y.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}var Ove,go,Pve,Bnt,Fnt,znt,Gnt,$nt,Vnt,Unt,Hnt,Wnt,Ynt,qnt,Xnt,jnt,Knt,Qnt,Znt,Jnt,eit,tit,Bve,rit,nit,Fve,tS,aF,zve,Gve=M(()=>{"use strict";mr();Vt();fr();ht();wve();Z6();rF();Ive();nF();Ove=o(t=>t?" "+t:"","formatClass"),go=o((t,e)=>`${e||"node default"}${Ove(t.classes)} ${Ove(t.class)}`,"getClassesFromNode"),Pve=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await _i(t,e,go(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];Y.info("Question main (Circle)");let u=Xl(r,s,s,l);return u.attr("style",e.style),qn(e,u),e.intersect=function(h){return Y.warn("Intersect called"),Rn.polygon(e,l,h)},r},"question"),Bnt=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Rn.circle(e,14,s)},r},"choice"),Fnt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await _i(t,e,go(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,l=n.width+2*s+e.padding,u=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],h=Xl(r,l,a,u);return h.attr("style",e.style),qn(e,h),e.intersect=function(f){return Rn.polygon(e,u,f)},r},"hexagon"),znt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await _i(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,l=n.width+2*s+e.padding,u=bve(e.directions,n,e),h=Xl(r,l,a,u);return h.attr("style",e.style),qn(e,h),e.intersect=function(f){return Rn.polygon(e,u,f)},r},"block_arrow"),Gnt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await _i(t,e,go(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return Xl(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(u){return Rn.polygon(e,s,u)},r},"rect_left_inv_arrow"),$nt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await _i(t,e,go(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],l=Xl(r,i,a,s);return l.attr("style",e.style),qn(e,l),e.intersect=function(u){return Rn.polygon(e,s,u)},r},"lean_right"),Vnt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await _i(t,e,go(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],l=Xl(r,i,a,s);return l.attr("style",e.style),qn(e,l),e.intersect=function(u){return Rn.polygon(e,s,u)},r},"lean_left"),Unt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await _i(t,e,go(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],l=Xl(r,i,a,s);return l.attr("style",e.style),qn(e,l),e.intersect=function(u){return Rn.polygon(e,s,u)},r},"trapezoid"),Hnt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await _i(t,e,go(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],l=Xl(r,i,a,s);return l.attr("style",e.style),qn(e,l),e.intersect=function(u){return Rn.polygon(e,s,u)},r},"inv_trapezoid"),Wnt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await _i(t,e,go(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],l=Xl(r,i,a,s);return l.attr("style",e.style),qn(e,l),e.intersect=function(u){return Rn.polygon(e,s,u)},r},"rect_right_inv_arrow"),Ynt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await _i(t,e,go(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),l=n.height+s+e.padding,u="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-l,h=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",u).attr("transform","translate("+-i/2+","+-(l/2+s)+")");return qn(e,h),e.intersect=function(f){let d=Rn.rect(e,f),p=d.x-e.x;if(a!=0&&(Math.abs(p)e.height/2-s)){let m=s*s*(1-p*p/(a*a));m!=0&&(m=Math.sqrt(m)),m=s-m,f.y-e.y>0&&(m=-m),d.y+=m}return d},r},"cylinder"),qnt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await _i(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(iF(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{Y.warn(`Unknown node property ${d}`)})}return qn(e,a),e.intersect=function(f){return Rn.rect(e,f)},r},"rect"),Xnt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await _i(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(iF(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{Y.warn(`Unknown node property ${d}`)})}return qn(e,a),e.intersect=function(f){return Rn.rect(e,f)},r},"composite"),jnt=o(async(t,e)=>{let{shapeSvg:r}=await _i(t,e,"label",!0);Y.trace("Classes = ",e.class);let n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){let s=new Set(Object.keys(e.props));e.props.borders&&(iF(n,e.props.borders,i,a),s.delete("borders")),s.forEach(l=>{Y.warn(`Unknown node property ${l}`)})}return qn(e,n),e.intersect=function(s){return Rn.rect(e,s)},r},"labelRect");o(iF,"applyNodePropertyBorders");Knt=o((t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";let n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),l=e.labelText.flat?e.labelText.flat():e.labelText,u="";typeof l=="object"?u=l[0]:u=l,Y.info("Label text abc79",u,l,typeof l=="object");let h=s.node().appendChild(cs(u,e.labelStyle,!0,!0)),f={width:0,height:0};if(xr(de().flowchart.htmlLabels)){let y=h.children[0],v=ze(h);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}Y.info("Text 2",l);let d=l.slice(1,l.length),p=h.getBBox(),m=s.node().appendChild(cs(d.join?d.join("
    "):d,e.labelStyle,!0,!0));if(xr(de().flowchart.htmlLabels)){let y=m.children[0],v=ze(m);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}let g=e.padding/2;return ze(m).attr("transform","translate( "+(f.width>p.width?0:(p.width-f.width)/2)+", "+(p.height+g+5)+")"),ze(h).attr("transform","translate( "+(f.width{let{shapeSvg:r,bbox:n}=await _i(t,e,go(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return qn(e,s),e.intersect=function(l){return Rn.rect(e,l)},r},"stadium"),Znt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await _i(t,e,go(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),Y.info("Circle main"),qn(e,a),e.intersect=function(s){return Y.info("Circle intersect",e,n.width/2+i,s),Rn.circle(e,n.width/2+i,s)},r},"circle"),Jnt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await _i(t,e,go(e,void 0),!0),a=5,s=r.insert("g",":first-child"),l=s.insert("circle"),u=s.insert("circle");return s.attr("class",e.class),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),u.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),Y.info("DoubleCircle main"),qn(e,l),e.intersect=function(h){return Y.info("DoubleCircle intersect",e,n.width/2+i+a,h),Rn.circle(e,n.width/2+i+a,h)},r},"doublecircle"),eit=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await _i(t,e,go(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],l=Xl(r,i,a,s);return l.attr("style",e.style),qn(e,l),e.intersect=function(u){return Rn.polygon(e,s,u)},r},"subroutine"),tit=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),qn(e,n),e.intersect=function(i){return Rn.circle(e,7,i)},r},"start"),Bve=o((t,e,r)=>{let n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,a=10;r==="LR"&&(i=10,a=70);let s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return qn(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(l){return Rn.rect(e,l)},n},"forkJoin"),rit=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),qn(e,i),e.intersect=function(a){return Rn.circle(e,7,a)},r},"end"),nit=o((t,e)=>{let r=e.padding/2,n=4,i=8,a;e.classes?a="node "+e.classes:a="node default";let s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=s.insert("rect",":first-child"),u=s.insert("line"),h=s.insert("line"),f=0,d=n,p=s.insert("g").attr("class","label"),m=0,g=e.classData.annotations?.[0],y=e.classData.annotations[0]?"\xAB"+e.classData.annotations[0]+"\xBB":"",v=p.node().appendChild(cs(y,e.labelStyle,!0,!0)),x=v.getBBox();if(xr(de().flowchart.htmlLabels)){let C=v.children[0],A=ze(v);x=C.getBoundingClientRect(),A.attr("width",x.width),A.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,f+=x.width);let b=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(de().flowchart.htmlLabels?b+="<"+e.classData.type+">":b+="<"+e.classData.type+">");let w=p.node().appendChild(cs(b,e.labelStyle,!0,!0));ze(w).attr("class","classTitle");let _=w.getBBox();if(xr(de().flowchart.htmlLabels)){let C=w.children[0],A=ze(w);_=C.getBoundingClientRect(),A.attr("width",_.width),A.attr("height",_.height)}d+=_.height+n,_.width>f&&(f=_.width);let T=[];e.classData.members.forEach(C=>{let A=C.getDisplayDetails(),I=A.displayText;de().flowchart.htmlLabels&&(I=I.replace(//g,">"));let D=p.node().appendChild(cs(I,A.cssStyle?A.cssStyle:e.labelStyle,!0,!0)),k=D.getBBox();if(xr(de().flowchart.htmlLabels)){let R=D.children[0],S=ze(D);k=R.getBoundingClientRect(),S.attr("width",k.width),S.attr("height",k.height)}k.width>f&&(f=k.width),d+=k.height+n,T.push(D)}),d+=i;let E=[];if(e.classData.methods.forEach(C=>{let A=C.getDisplayDetails(),I=A.displayText;de().flowchart.htmlLabels&&(I=I.replace(//g,">"));let D=p.node().appendChild(cs(I,A.cssStyle?A.cssStyle:e.labelStyle,!0,!0)),k=D.getBBox();if(xr(de().flowchart.htmlLabels)){let R=D.children[0],S=ze(D);k=R.getBoundingClientRect(),S.attr("width",k.width),S.attr("height",k.height)}k.width>f&&(f=k.width),d+=k.height+n,E.push(D)}),d+=i,g){let C=(f-x.width)/2;ze(v).attr("transform","translate( "+(-1*f/2+C)+", "+-1*d/2+")"),m=x.height+n}let L=(f-_.width)/2;return ze(w).attr("transform","translate( "+(-1*f/2+L)+", "+(-1*d/2+m)+")"),m+=_.height+n,u.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,T.forEach(C=>{ze(C).attr("transform","translate( "+-f/2+", "+(-1*d/2+m+i/2)+")");let A=C?.getBBox();m+=(A?.height??0)+n}),m+=i,h.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,E.forEach(C=>{ze(C).attr("transform","translate( "+-f/2+", "+(-1*d/2+m)+")");let A=C?.getBBox();m+=(A?.height??0)+n}),l.attr("style",e.style).attr("class","outer title-state").attr("x",-f/2-r).attr("y",-(d/2)-r).attr("width",f+e.padding).attr("height",d+e.padding),qn(e,l),e.intersect=function(C){return Rn.rect(e,C)},s},"class_box"),Fve={rhombus:Pve,composite:Xnt,question:Pve,rect:qnt,labelRect:jnt,rectWithTitle:Knt,choice:Bnt,circle:Znt,doublecircle:Jnt,stadium:Qnt,hexagon:Fnt,block_arrow:znt,rect_left_inv_arrow:Gnt,lean_right:$nt,lean_left:Vnt,trapezoid:Unt,inv_trapezoid:Hnt,rect_right_inv_arrow:Wnt,cylinder:Ynt,start:tit,end:rit,note:Mve,subroutine:eit,fork:Bve,join:Bve,class_box:nit},tS={},aF=o(async(t,e,r)=>{let n,i;if(e.link){let a;de().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await Fve[e.shape](n,e,r)}else i=await Fve[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),tS[e.id]=n,e.haveCallback&&tS[e.id].attr("class",tS[e.id].attr("class")+" clickable"),n},"insertNode"),zve=o(t=>{let e=tS[t.id];Y.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});function $ve(t,e,r=!1){let n=t,i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",l;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",l=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}let u=J_(n?.styles??[]),h=n.label,f=n.size??{width:0,height:0,x:0,y:0};return{labelStyle:u.labelStyle,shape:s,labelText:h,rx:a,ry:a,class:i,style:u.style,id:n.id,directions:n.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:r,intersect:void 0,type:n.type,padding:l??Sr()?.block?.padding??0}}async function iit(t,e,r){let n=$ve(e,r,!1);if(n.type==="group")return;let i=Sr(),a=await aF(t,n,{config:i}),s=a.node().getBBox(),l=r.getBlock(n.id);l.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(l),a.remove()}async function ait(t,e,r){let n=$ve(e,r,!0);if(r.getBlock(n.id).type!=="space"){let a=Sr();await aF(t,n,{config:a}),e.intersect=n?.intersect,zve(n)}}async function sF(t,e,r,n){for(let i of e)await n(t,i,r),i.children&&await sF(t,i.children,r,n)}async function Vve(t,e,r){await sF(t,e,r,iit)}async function Uve(t,e,r){await sF(t,e,r,ait)}async function Hve(t,e,r,n,i){let a=new Mr({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(let s of e)if(s.start&&s.end){let l=n.getBlock(s.start),u=n.getBlock(s.end);if(l?.size&&u?.size){let h=l.size,f=u.size,d=[{x:h.x,y:h.y},{x:h.x+(f.x-h.x)/2,y:h.y+(f.y-h.y)/2},{x:f.x,y:f.y}];vve(t,{v:s.start,w:s.end,name:s.id},{...s,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await gve(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),yve({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}var Wve=M(()=>{"use strict";Ns();Ua();xve();Gve();hr();o($ve,"getNodeFromBlock");o(iit,"calculateBlockSize");o(ait,"insertBlockPositioned");o(sF,"performOperations");o(Vve,"calculateBlockSizes");o(Uve,"insertBlocks");o(Hve,"insertEdges")});var sit,oit,Yve,qve=M(()=>{"use strict";mr();Ua();sve();ht();ni();uve();Wve();sit=o(function(t,e){return e.db.getClasses()},"getClasses"),oit=o(async function(t,e,r,n){let{securityLevel:i,block:a}=Sr(),s=n.db,l;i==="sandbox"&&(l=ze("#i"+e));let u=i==="sandbox"?ze(l.nodes()[0].contentDocument.body):ze("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):ze(`[id="${e}"]`);ave(h,["point","circle","cross"],n.type,e);let d=s.getBlocks(),p=s.getBlocksFlat(),m=s.getEdges(),g=h.insert("g").attr("class","block");await Vve(g,d,s);let y=cve(s);if(await Uve(g,d,s),await Hve(g,m,p,s,e),y){let v=y,x=Math.max(1,Math.round(.125*(v.width/v.height))),b=v.height+x+10,w=v.width+10,{useMaxWidth:_}=a;Zr(h,b,w,!!_),Y.debug("Here Bounds",y,v),h.attr("viewBox",`${v.x-5} ${v.y-5} ${v.width+10} ${v.height+10}`)}},"draw"),Yve={draw:oit,getClasses:sit}});var Xve={};vr(Xve,{diagram:()=>lit});var lit,jve=M(()=>{"use strict";jye();rve();ive();qve();lit={parser:Xye,db:tve,renderer:Yve,styles:nve}});var oF,lF,mb,Zve,cF,us,qc,rS,Jve,fit,gb,e2e,t2e,r2e,n2e,nS,Mf,iS=M(()=>{"use strict";oF={L:"left",R:"right",T:"top",B:"bottom"},lF={L:o(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:o(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:o(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:o(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},mb={L:o((t,e)=>t-e+2,"L"),R:o((t,e)=>t-2,"R"),T:o((t,e)=>t-e+2,"T"),B:o((t,e)=>t-2,"B")},Zve=o(function(t){return us(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),cF=o(function(t){let e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),us=o(function(t){let e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),qc=o(function(t){let e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),rS=o(function(t,e){let r=us(t)&&qc(e),n=qc(t)&&us(e);return r||n},"isArchitectureDirectionXY"),Jve=o(function(t){let e=t[0],r=t[1],n=us(e)&&qc(r),i=qc(e)&&us(r);return n||i},"isArchitecturePairXY"),fit=o(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),gb=o(function(t,e){let r=`${t}${e}`;return fit(r)?r:void 0},"getArchitectureDirectionPair"),e2e=o(function([t,e],r){let n=r[0],i=r[1];return us(n)?qc(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:us(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),t2e=o(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),r2e=o(function(t){return t.type==="service"},"isArchitectureService"),n2e=o(function(t){return t.type==="junction"},"isArchitectureJunction"),nS=o(t=>t.data(),"edgeData"),Mf=o(t=>t.data(),"nodeData")});function Li(t){let e=de().architecture;return e?.[t]?e[t]:i2e[t]}var i2e,gr,dit,pit,mit,git,yit,vit,xit,bit,wit,Tit,kit,Eit,Sit,Cit,X0,yb=M(()=>{"use strict";hs();Vt();tE();ki();iS();i2e=ur.architecture,gr=new cf(()=>({nodes:{},groups:{},edges:[],registeredIds:{},config:i2e,dataStructures:void 0,elements:{}})),dit=o(()=>{gr.reset(),_r()},"clear"),pit=o(function({id:t,icon:e,in:r,title:n,iconText:i}){if(gr.records.registeredIds[t]!==void 0)throw new Error(`The service id [${t}] is already in use by another ${gr.records.registeredIds[t]}`);if(r!==void 0){if(t===r)throw new Error(`The service [${t}] cannot be placed within itself`);if(gr.records.registeredIds[r]===void 0)throw new Error(`The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`);if(gr.records.registeredIds[r]==="node")throw new Error(`The service [${t}]'s parent is not a group`)}gr.records.registeredIds[t]="node",gr.records.nodes[t]={id:t,type:"service",icon:e,iconText:i,title:n,edges:[],in:r}},"addService"),mit=o(()=>Object.values(gr.records.nodes).filter(r2e),"getServices"),git=o(function({id:t,in:e}){gr.records.registeredIds[t]="node",gr.records.nodes[t]={id:t,type:"junction",edges:[],in:e}},"addJunction"),yit=o(()=>Object.values(gr.records.nodes).filter(n2e),"getJunctions"),vit=o(()=>Object.values(gr.records.nodes),"getNodes"),xit=o(t=>gr.records.nodes[t],"getNode"),bit=o(function({id:t,icon:e,in:r,title:n}){if(gr.records.registeredIds[t]!==void 0)throw new Error(`The group id [${t}] is already in use by another ${gr.records.registeredIds[t]}`);if(r!==void 0){if(t===r)throw new Error(`The group [${t}] cannot be placed within itself`);if(gr.records.registeredIds[r]===void 0)throw new Error(`The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`);if(gr.records.registeredIds[r]==="node")throw new Error(`The group [${t}]'s parent is not a group`)}gr.records.registeredIds[t]="group",gr.records.groups[t]={id:t,icon:e,title:n,in:r}},"addGroup"),wit=o(()=>Object.values(gr.records.groups),"getGroups"),Tit=o(function({lhsId:t,rhsId:e,lhsDir:r,rhsDir:n,lhsInto:i,rhsInto:a,lhsGroup:s,rhsGroup:l,title:u}){if(!cF(r))throw new Error(`Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${r}`);if(!cF(n))throw new Error(`Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${n}`);if(gr.records.nodes[t]===void 0&&gr.records.groups[t]===void 0)throw new Error(`The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(gr.records.nodes[e]===void 0&&gr.records.groups[t]===void 0)throw new Error(`The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);let h=gr.records.nodes[t].in,f=gr.records.nodes[e].in;if(s&&h&&f&&h==f)throw new Error(`The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(l&&h&&f&&h==f)throw new Error(`The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let d={lhsId:t,lhsDir:r,lhsInto:i,lhsGroup:s,rhsId:e,rhsDir:n,rhsInto:a,rhsGroup:l,title:u};gr.records.edges.push(d),gr.records.nodes[t]&&gr.records.nodes[e]&&(gr.records.nodes[t].edges.push(gr.records.edges[gr.records.edges.length-1]),gr.records.nodes[e].edges.push(gr.records.edges[gr.records.edges.length-1]))},"addEdge"),kit=o(()=>gr.records.edges,"getEdges"),Eit=o(()=>{if(gr.records.dataStructures===void 0){let t=Object.entries(gr.records.nodes).reduce((s,[l,u])=>(s[l]=u.edges.reduce((h,f)=>{if(f.lhsId===l){let d=gb(f.lhsDir,f.rhsDir);d&&(h[d]=f.rhsId)}else{let d=gb(f.rhsDir,f.lhsDir);d&&(h[d]=f.lhsId)}return h},{}),s),{}),e=Object.keys(t)[0],r={[e]:1},n=Object.keys(t).reduce((s,l)=>l===e?s:{...s,[l]:1},{}),i=o(s=>{let l={[s]:[0,0]},u=[s];for(;u.length>0;){let h=u.shift();if(h){r[h]=1,delete n[h];let f=t[h],[d,p]=l[h];Object.entries(f).forEach(([m,g])=>{r[g]||(l[g]=e2e([d,p],m),u.push(g))})}}return l},"BFS"),a=[i(e)];for(;Object.keys(n).length>0;)a.push(i(Object.keys(n)[0]));gr.records.dataStructures={adjList:t,spatialMaps:a}}return gr.records.dataStructures},"getDataStructures"),Sit=o((t,e)=>{gr.records.elements[t]=e},"setElementForId"),Cit=o(t=>gr.records.elements[t],"getElementById"),X0={clear:dit,setDiagramTitle:ln,getDiagramTitle:Jr,setAccTitle:Rr,getAccTitle:Pr,setAccDescription:Br,getAccDescription:Fr,addService:pit,getServices:mit,addJunction:git,getJunctions:yit,getNodes:vit,getNode:xit,addGroup:bit,getGroups:wit,addEdge:Tit,getEdges:kit,setElementForId:Sit,getElementById:Cit,getDataStructures:Eit};o(Li,"getConfigField")});var Ait,a2e,s2e=M(()=>{"use strict";Ng();ht();ox();yb();Ait=o((t,e)=>{lf(t,e),t.groups.map(e.addGroup),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(e.addEdge)},"populateDb"),a2e={parse:o(async t=>{let e=await Gl("architecture",t);Y.debug(e),Ait(e,X0)},"parse")}});var _it,o2e,l2e=M(()=>{"use strict";_it=o(t=>` .edge { stroke-width: ${t.archEdgeWidth}; stroke: ${t.archEdgeColor}; fill: none; } .arrow { fill: ${t.archEdgeArrowColor}; } .node-bkg { fill: none; stroke: ${t.archGroupBorderColor}; stroke-width: ${t.archGroupBorderWidth}; stroke-dasharray: 8; } .node-icon-text { display: flex; align-items: center; } .node-icon-text > div { color: #fff; margin: 1px; height: fit-content; text-align: center; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; } `,"getStyles"),o2e=_it});var hF=Ni((vb,uF)=>{"use strict";o(function(e,r){typeof vb=="object"&&typeof uF=="object"?uF.exports=r():typeof define=="function"&&define.amd?define([],r):typeof vb=="object"?vb.layoutBase=r():e.layoutBase=r()},"webpackUniversalModuleDefinition")(vb,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=28)}([function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(5);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp?(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(p+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(m+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>m?(this.rect.y-=(this.labelHeight-m)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(m+this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h},function(t,e,r){"use strict";var n=r(0);function i(){}o(i,"FDLayoutConstants");for(var a in n)i[a]=n[a];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=i.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i},function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(7),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,w=0;w-1&&E>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(T,1),x.target!=x.source&&x.target.edges.splice(E,1);var _=x.source.owner.getEdges().indexOf(x);if(_==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(_,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,w=this.getNodes(),_=w.length,T=0;T<_;T++){var E=w[T];v=E.getTop(),x=E.getLeft(),g>v&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(w[0].getParent().paddingLeft!=null?b=w[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,w,_,T,E,L,C=this.nodes,A=C.length,I=0;Iw&&(y=w),v<_&&(v=_),x>T&&(x=T),bw&&(y=w),v<_&&(v=_),x>T&&(x=T),b=this.nodes.length){var A=0;v.forEach(function(I){I.owner==g&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},t.exports=p},function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(6),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=C,!1;if(hf)return l[0]=p,l[1]=h,l[2]=E,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,k=!0):(l[0]=g,l[1]=m,k=!0):S===N&&(u>f?(l[0]=p,l[1]=m,k=!0):(l[0]=x,l[1]=v,k=!0)),-O===N?f>u?(l[2]=L,l[3]=C,R=!0):(l[2]=E,l[3]=T,R=!0):O===N&&(f>u?(l[2]=_,l[3]=T,R=!0):(l[2]=A,l[3]=C,R=!0)),k&&R)return!1;if(u>f?h>d?(P=this.getCardinalDirection(S,N,4),F=this.getCardinalDirection(O,N,2)):(P=this.getCardinalDirection(-S,N,3),F=this.getCardinalDirection(-O,N,1)):h>d?(P=this.getCardinalDirection(-S,N,1),F=this.getCardinalDirection(-O,N,3)):(P=this.getCardinalDirection(S,N,2),F=this.getCardinalDirection(O,N,4)),!k)switch(P){case 1:$=m,B=u+-w/N,l[0]=B,l[1]=$;break;case 2:B=x,$=h+b*N,l[0]=B,l[1]=$;break;case 3:$=v,B=u+w/N,l[0]=B,l[1]=$;break;case 4:B=y,$=h+-b*N,l[0]=B,l[1]=$;break}if(!R)switch(F){case 1:W=T,z=f+-D/N,l[2]=z,l[3]=W;break;case 2:z=A,W=d+I*N,l[2]=z,l[3]=W;break;case 3:W=C,z=f+D/N,l[2]=z,l[3]=W;break;case 4:z=L,W=d+-I*N,l[2]=z,l[3]=W;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,w=void 0,_=void 0,T=void 0,E=void 0,L=void 0,C=void 0,A=void 0;return w=p-f,T=h-d,L=d*f-h*p,_=v-g,E=m-y,C=y*g-m*v,A=w*E-_*T,A===0?null:(x=(T*C-E*L)/A,b=(_*L-w*C)/A,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l=0){var v=(-m+Math.sqrt(m*m-4*p*g))/(2*p),x=(-m-Math.sqrt(m*m-4*p*g))/(2*p),b=null;return v>=0&&v<=1?[v]:x>=0&&x<=1?[x]:b}else return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i},function(t,e,r){"use strict";function n(){}o(n,"IMath"),n.sign=function(i){return i>0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n},function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n},function(t,e,r){"use strict";var n=function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i},function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(w.push(T[0]);w.length>0&&g;){var E=w[0];w.splice(0,1),b.add(E);for(var L=E.getEdges(),x=0;x-1&&T.splice(D,1)}b=new Set,_=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(C,1);var A=_.getNeighborsList();A.forEach(function(k){if(y.indexOf(k)<0){var R=v.get(k),S=R-1;S==1&&E.push(k),v.set(k,S)}})}y=y.concat(E),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p},function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n},function(t,e,r){"use strict";var n=r(5);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i},function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mw||b>w)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(w=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>w||b>w)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||w>=x[0].length)){for(var _=0;_h},"_defaultCompareFunction")}]),l}();t.exports=s},function(t,e,r){"use strict";function n(){}o(n,"SVD"),n.svd=function(i){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=i.length,this.n=i[0].length;var a=Math.min(this.m,this.n);this.s=function(dt){for(var Xe=[];dt-- >0;)Xe.push(0);return Xe}(Math.min(this.m+1,this.n)),this.U=function(dt){var Xe=o(function ct(Lt){if(Lt.length==0)return 0;for(var Rt=[],zt=0;zt0;)Xe.push(0);return Xe}(this.n),l=function(dt){for(var Xe=[];dt-- >0;)Xe.push(0);return Xe}(this.m),u=!0,h=!0,f=Math.min(this.m-1,this.n),d=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;N--)if(this.s[N]!==0){for(var P=N+1;P=0;K--){if(function(dt,Xe){return dt&&Xe}(K0;){var ce=void 0,te=void 0;for(ce=R-2;ce>=-1&&ce!==-1;ce--)if(Math.abs(s[ce])<=ue+ae*(Math.abs(this.s[ce])+Math.abs(this.s[ce+1]))){s[ce]=0;break}if(ce===R-2)te=4;else{var De=void 0;for(De=R-1;De>=ce&&De!==ce;De--){var oe=(De!==R?Math.abs(s[De]):0)+(De!==ce+1?Math.abs(s[De-1]):0);if(Math.abs(this.s[De])<=ue+ae*oe){this.s[De]=0;break}}De===ce?te=3:De===R-1?te=1:(te=2,ce=De)}switch(ce++,te){case 1:{var ke=s[R-2];s[R-2]=0;for(var Fe=R-2;Fe>=ce;Fe--){var Be=n.hypot(this.s[Fe],ke),Ve=this.s[Fe]/Be,Ge=ke/Be;if(this.s[Fe]=Be,Fe!==ce&&(ke=-Ge*s[Fe-1],s[Fe-1]=Ve*s[Fe-1]),h)for(var He=0;He=this.s[ce+1]);){var rt=this.s[ce];if(this.s[ce]=this.s[ce+1],this.s[ce+1]=rt,h&&ceMath.abs(a)?(s=a/i,s=Math.abs(i)*Math.sqrt(1+s*s)):a!=0?(s=i/a,s=Math.abs(a)*Math.sqrt(1+s*s)):s=0,s},t.exports=n},function(t,e,r){"use strict";var n=function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o(function(e,r){typeof xb=="object"&&typeof fF=="object"?fF.exports=r(hF()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof xb=="object"?xb.coseBase=r(hF()):e.coseBase=r(e.layoutBase)},"webpackUniversalModuleDefinition")(xb,function(t){return(()=>{"use strict";var e={45:(a,s,l)=>{var u={};u.layoutBase=l(551),u.CoSEConstants=l(806),u.CoSEEdge=l(767),u.CoSEGraph=l(880),u.CoSEGraphManager=l(578),u.CoSELayout=l(765),u.CoSENode=l(991),u.ConstraintHandler=l(902),a.exports=u},806:(a,s,l)=>{var u=l(551).FDLayoutConstants;function h(){}o(h,"CoSEConstants");for(var f in u)h[f]=u[f];h.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,h.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH,h.DEFAULT_COMPONENT_SEPERATION=60,h.TILE=!0,h.TILING_PADDING_VERTICAL=10,h.TILING_PADDING_HORIZONTAL=10,h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0,h.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,h.TREE_REDUCTION_ON_INCREMENTAL=!0,h.PURE_INCREMENTAL=h.DEFAULT_INCREMENTAL,a.exports=h},767:(a,s,l)=>{var u=l(551).FDLayoutEdge;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEEdge"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h},880:(a,s,l)=>{var u=l(551).LGraph;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEGraph"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h},578:(a,s,l)=>{var u=l(551).LGraphManager;function h(d){u.call(this,d)}o(h,"CoSEGraphManager"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h},765:(a,s,l)=>{var u=l(551).FDLayout,h=l(578),f=l(880),d=l(991),p=l(767),m=l(806),g=l(902),y=l(551).FDLayoutConstants,v=l(551).LayoutConstants,x=l(551).Point,b=l(551).PointD,w=l(551).DimensionD,_=l(551).Layout,T=l(551).Integer,E=l(551).IGeometry,L=l(551).LGraph,C=l(551).Transform,A=l(551).LinkedList;function I(){u.call(this),this.toBeTiled={},this.constraints={}}o(I,"CoSELayout"),I.prototype=Object.create(u.prototype);for(var D in u)I[D]=u[D];I.prototype.newGraphManager=function(){var k=new h(this);return this.graphManager=k,k},I.prototype.newGraph=function(k){return new f(null,this.graphManager,k)},I.prototype.newNode=function(k){return new d(this.graphManager,k)},I.prototype.newEdge=function(k){return new p(null,null,k)},I.prototype.initParameters=function(){u.prototype.initParameters.call(this,arguments),this.isSubLayout||(m.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=m.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=y.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=y.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=y.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},I.prototype.initSpringEmbedder=function(){u.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/y.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},I.prototype.layout=function(){var k=v.DEFAULT_CREATE_BENDS_AS_NEEDED;return k&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},I.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(m.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var R=new Set(this.getAllNodes()),S=this.nodesWithGravity.filter(function(P){return R.has(P)});this.graphManager.setAllNodesToApplyGravitation(S)}}else{var k=this.getFlatForest();if(k.length>0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var R=new Set(this.getAllNodes()),S=this.nodesWithGravity.filter(function(O){return R.has(O)});this.graphManager.setAllNodesToApplyGravitation(S),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(g.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),m.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},I.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%y.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),R=this.nodesWithGravity.filter(function(N){return k.has(N)});this.graphManager.setAllNodesToApplyGravitation(R),this.graphManager.updateBounds(),this.updateGrid(),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var S=!this.isTreeGrowing&&!this.isGrowthFinished,O=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(S,O),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},I.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),R={},S=0;S0&&this.updateDisplacements();for(var S=0;S0&&(O.fixedNodeWeight=P)}}if(this.constraints.relativePlacementConstraint){var F=new Map,B=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(ee){k.fixedNodesOnHorizontal.add(ee),k.fixedNodesOnVertical.add(ee)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var $=this.constraints.alignmentConstraint.vertical,S=0;S<$.length;S++)this.dummyToNodeForVerticalAlignment.set("dummy"+S,[]),$[S].forEach(function(J){F.set(J,"dummy"+S),k.dummyToNodeForVerticalAlignment.get("dummy"+S).push(J),k.fixedNodeSet.has(J)&&k.fixedNodesOnHorizontal.add("dummy"+S)});if(this.constraints.alignmentConstraint.horizontal)for(var z=this.constraints.alignmentConstraint.horizontal,S=0;S=2*ee.length/3;q--)J=Math.floor(Math.random()*(q+1)),H=ee[q],ee[q]=ee[J],ee[J]=H;return ee},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(ee){if(ee.left){var J=F.has(ee.left)?F.get(ee.left):ee.left,H=F.has(ee.right)?F.get(ee.right):ee.right;k.nodesInRelativeHorizontal.includes(J)||(k.nodesInRelativeHorizontal.push(J),k.nodeToRelativeConstraintMapHorizontal.set(J,[]),k.dummyToNodeForVerticalAlignment.has(J)?k.nodeToTempPositionMapHorizontal.set(J,k.idToNodeMap.get(k.dummyToNodeForVerticalAlignment.get(J)[0]).getCenterX()):k.nodeToTempPositionMapHorizontal.set(J,k.idToNodeMap.get(J).getCenterX())),k.nodesInRelativeHorizontal.includes(H)||(k.nodesInRelativeHorizontal.push(H),k.nodeToRelativeConstraintMapHorizontal.set(H,[]),k.dummyToNodeForVerticalAlignment.has(H)?k.nodeToTempPositionMapHorizontal.set(H,k.idToNodeMap.get(k.dummyToNodeForVerticalAlignment.get(H)[0]).getCenterX()):k.nodeToTempPositionMapHorizontal.set(H,k.idToNodeMap.get(H).getCenterX())),k.nodeToRelativeConstraintMapHorizontal.get(J).push({right:H,gap:ee.gap}),k.nodeToRelativeConstraintMapHorizontal.get(H).push({left:J,gap:ee.gap})}else{var q=B.has(ee.top)?B.get(ee.top):ee.top,Z=B.has(ee.bottom)?B.get(ee.bottom):ee.bottom;k.nodesInRelativeVertical.includes(q)||(k.nodesInRelativeVertical.push(q),k.nodeToRelativeConstraintMapVertical.set(q,[]),k.dummyToNodeForHorizontalAlignment.has(q)?k.nodeToTempPositionMapVertical.set(q,k.idToNodeMap.get(k.dummyToNodeForHorizontalAlignment.get(q)[0]).getCenterY()):k.nodeToTempPositionMapVertical.set(q,k.idToNodeMap.get(q).getCenterY())),k.nodesInRelativeVertical.includes(Z)||(k.nodesInRelativeVertical.push(Z),k.nodeToRelativeConstraintMapVertical.set(Z,[]),k.dummyToNodeForHorizontalAlignment.has(Z)?k.nodeToTempPositionMapVertical.set(Z,k.idToNodeMap.get(k.dummyToNodeForHorizontalAlignment.get(Z)[0]).getCenterY()):k.nodeToTempPositionMapVertical.set(Z,k.idToNodeMap.get(Z).getCenterY())),k.nodeToRelativeConstraintMapVertical.get(q).push({bottom:Z,gap:ee.gap}),k.nodeToRelativeConstraintMapVertical.get(Z).push({top:q,gap:ee.gap})}});else{var W=new Map,j=new Map;this.constraints.relativePlacementConstraint.forEach(function(ee){if(ee.left){var J=F.has(ee.left)?F.get(ee.left):ee.left,H=F.has(ee.right)?F.get(ee.right):ee.right;W.has(J)?W.get(J).push(H):W.set(J,[H]),W.has(H)?W.get(H).push(J):W.set(H,[J])}else{var q=B.has(ee.top)?B.get(ee.top):ee.top,Z=B.has(ee.bottom)?B.get(ee.bottom):ee.bottom;j.has(q)?j.get(q).push(Z):j.set(q,[Z]),j.has(Z)?j.get(Z).push(q):j.set(Z,[q])}});var K=o(function(J,H){var q=[],Z=[],ae=new A,ue=new Set,ce=0;return J.forEach(function(te,De){if(!ue.has(De)){q[ce]=[],Z[ce]=!1;var oe=De;for(ae.push(oe),ue.add(oe),q[ce].push(oe);ae.length!=0;){oe=ae.shift(),H.has(oe)&&(Z[ce]=!0);var ke=J.get(oe);ke.forEach(function(Fe){ue.has(Fe)||(ae.push(Fe),ue.add(Fe),q[ce].push(Fe))})}ce++}}),{components:q,isFixed:Z}},"constructComponents"),ie=K(W,k.fixedNodesOnHorizontal);this.componentsOnHorizontal=ie.components,this.fixedComponentsOnHorizontal=ie.isFixed;var Q=K(j,k.fixedNodesOnVertical);this.componentsOnVertical=Q.components,this.fixedComponentsOnVertical=Q.isFixed}}},I.prototype.updateDisplacements=function(){var k=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(Q){var ee=k.idToNodeMap.get(Q.nodeId);ee.displacementX=0,ee.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var R=this.constraints.alignmentConstraint.vertical,S=0;S1){var B;for(B=0;BO&&(O=Math.floor(F.y)),P=Math.floor(F.x+m.DEFAULT_COMPONENT_SEPERATION)}this.transform(new b(v.WORLD_CENTER_X-F.x/2,v.WORLD_CENTER_Y-F.y/2))},I.radialLayout=function(k,R,S){var O=Math.max(this.maxDiagonalInTree(k),m.DEFAULT_RADIAL_SEPARATION);I.branchRadialLayout(R,null,0,359,0,O);var N=L.calculateBounds(k),P=new C;P.setDeviceOrgX(N.getMinX()),P.setDeviceOrgY(N.getMinY()),P.setWorldOrgX(S.x),P.setWorldOrgY(S.y);for(var F=0;F1;){var q=H[0];H.splice(0,1);var Z=K.indexOf(q);Z>=0&&K.splice(Z,1),ee--,ie--}R!=null?J=(K.indexOf(H[0])+1)%ee:J=0;for(var ae=Math.abs(O-S)/ie,ue=J;Q!=ie;ue=++ue%ee){var ce=K[ue].getOtherEnd(k);if(ce!=R){var te=(S+Q*ae)%360,De=(te+ae)%360;I.branchRadialLayout(ce,k,te,De,N+P,P),Q++}}},I.maxDiagonalInTree=function(k){for(var R=T.MIN_VALUE,S=0;SR&&(R=N)}return R},I.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},I.prototype.groupZeroDegreeMembers=function(){var k=this,R={};this.memberGroups={},this.idToDummyNode={};for(var S=[],O=this.graphManager.getAllNodes(),N=0;N"u"&&(R[B]=[]),R[B]=R[B].concat(P)}Object.keys(R).forEach(function($){if(R[$].length>1){var z="DummyCompound_"+$;k.memberGroups[z]=R[$];var W=R[$][0].getParent(),j=new d(k.graphManager);j.id=z,j.paddingLeft=W.paddingLeft||0,j.paddingRight=W.paddingRight||0,j.paddingBottom=W.paddingBottom||0,j.paddingTop=W.paddingTop||0,k.idToDummyNode[z]=j;var K=k.getGraphManager().add(k.newGraph(),j),ie=W.getChild();ie.add(j);for(var Q=0;QN?(O.rect.x-=(O.labelWidth-N)/2,O.setWidth(O.labelWidth),O.labelMarginLeft=(O.labelWidth-N)/2):O.labelPosHorizontal=="right"&&O.setWidth(N+O.labelWidth)),O.labelHeight&&(O.labelPosVertical=="top"?(O.rect.y-=O.labelHeight,O.setHeight(P+O.labelHeight),O.labelMarginTop=O.labelHeight):O.labelPosVertical=="center"&&O.labelHeight>P?(O.rect.y-=(O.labelHeight-P)/2,O.setHeight(O.labelHeight),O.labelMarginTop=(O.labelHeight-P)/2):O.labelPosVertical=="bottom"&&O.setHeight(P+O.labelHeight))}})},I.prototype.repopulateCompounds=function(){for(var k=this.compoundOrder.length-1;k>=0;k--){var R=this.compoundOrder[k],S=R.id,O=R.paddingLeft,N=R.paddingTop,P=R.labelMarginLeft,F=R.labelMarginTop;this.adjustLocations(this.tiledMemberPack[S],R.rect.x,R.rect.y,O,N,P,F)}},I.prototype.repopulateZeroDegreeMembers=function(){var k=this,R=this.tiledZeroDegreePack;Object.keys(R).forEach(function(S){var O=k.idToDummyNode[S],N=O.paddingLeft,P=O.paddingTop,F=O.labelMarginLeft,B=O.labelMarginTop;k.adjustLocations(R[S],O.rect.x,O.rect.y,N,P,F,B)})},I.prototype.getToBeTiled=function(k){var R=k.id;if(this.toBeTiled[R]!=null)return this.toBeTiled[R];var S=k.getChild();if(S==null)return this.toBeTiled[R]=!1,!1;for(var O=S.getNodes(),N=0;N0)return this.toBeTiled[R]=!1,!1;if(P.getChild()==null){this.toBeTiled[P.id]=!1;continue}if(!this.getToBeTiled(P))return this.toBeTiled[R]=!1,!1}return this.toBeTiled[R]=!0,!0},I.prototype.getNodeDegree=function(k){for(var R=k.id,S=k.getEdges(),O=0,N=0;NW&&(W=K.rect.height)}S+=W+k.verticalPadding}},I.prototype.tileCompoundMembers=function(k,R){var S=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(O){var N=R[O];if(S.tiledMemberPack[O]=S.tileNodes(k[O],N.paddingLeft+N.paddingRight),N.rect.width=S.tiledMemberPack[O].width,N.rect.height=S.tiledMemberPack[O].height,N.setCenter(S.tiledMemberPack[O].centerX,S.tiledMemberPack[O].centerY),N.labelMarginLeft=0,N.labelMarginTop=0,m.NODE_DIMENSIONS_INCLUDE_LABELS){var P=N.rect.width,F=N.rect.height;N.labelWidth&&(N.labelPosHorizontal=="left"?(N.rect.x-=N.labelWidth,N.setWidth(P+N.labelWidth),N.labelMarginLeft=N.labelWidth):N.labelPosHorizontal=="center"&&N.labelWidth>P?(N.rect.x-=(N.labelWidth-P)/2,N.setWidth(N.labelWidth),N.labelMarginLeft=(N.labelWidth-P)/2):N.labelPosHorizontal=="right"&&N.setWidth(P+N.labelWidth)),N.labelHeight&&(N.labelPosVertical=="top"?(N.rect.y-=N.labelHeight,N.setHeight(F+N.labelHeight),N.labelMarginTop=N.labelHeight):N.labelPosVertical=="center"&&N.labelHeight>F?(N.rect.y-=(N.labelHeight-F)/2,N.setHeight(N.labelHeight),N.labelMarginTop=(N.labelHeight-F)/2):N.labelPosVertical=="bottom"&&N.setHeight(F+N.labelHeight))}})},I.prototype.tileNodes=function(k,R){var S=this.tileNodesByFavoringDim(k,R,!0),O=this.tileNodesByFavoringDim(k,R,!1),N=this.getOrgRatio(S),P=this.getOrgRatio(O),F;return PB&&(B=Q.getWidth())});var $=P/N,z=F/N,W=Math.pow(S-O,2)+4*($+O)*(z+S)*N,j=(O-S+Math.sqrt(W))/(2*($+O)),K;R?(K=Math.ceil(j),K==j&&K++):K=Math.floor(j);var ie=K*($+O)-O;return B>ie&&(ie=B),ie+=O*2,ie},I.prototype.tileNodesByFavoringDim=function(k,R,S){var O=m.TILING_PADDING_VERTICAL,N=m.TILING_PADDING_HORIZONTAL,P=m.TILING_COMPARE_BY,F={rows:[],rowWidth:[],rowHeight:[],width:0,height:R,verticalPadding:O,horizontalPadding:N,centerX:0,centerY:0};P&&(F.idealRowWidth=this.calcIdealRowWidth(k,S));var B=o(function(ee){return ee.rect.width*ee.rect.height},"getNodeArea"),$=o(function(ee,J){return B(J)-B(ee)},"areaCompareFcn");k.sort(function(Q,ee){var J=$;return F.idealRowWidth?(J=P,J(Q.id,ee.id)):J(Q,ee)});for(var z=0,W=0,j=0;j0&&(F+=k.horizontalPadding),k.rowWidth[S]=F,k.width0&&(B+=k.verticalPadding);var $=0;B>k.rowHeight[S]&&($=k.rowHeight[S],k.rowHeight[S]=B,$=k.rowHeight[S]-$),k.height+=$,k.rows[S].push(R)},I.prototype.getShortestRowIndex=function(k){for(var R=-1,S=Number.MAX_VALUE,O=0;OS&&(R=O,S=k.rowWidth[O]);return R},I.prototype.canAddHorizontal=function(k,R,S){if(k.idealRowWidth){var O=k.rows.length-1,N=k.rowWidth[O];return N+R+k.horizontalPadding<=k.idealRowWidth}var P=this.getShortestRowIndex(k);if(P<0)return!0;var F=k.rowWidth[P];if(F+k.horizontalPadding+R<=k.width)return!0;var B=0;k.rowHeight[P]0&&(B=S+k.verticalPadding-k.rowHeight[P]);var $;k.width-F>=R+k.horizontalPadding?$=(k.height+B)/(F+R+k.horizontalPadding):$=(k.height+B)/k.width,B=S+k.verticalPadding;var z;return k.widthP&&R!=S){O.splice(-1,1),k.rows[S].push(N),k.rowWidth[R]=k.rowWidth[R]-P,k.rowWidth[S]=k.rowWidth[S]+P,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var F=Number.MIN_VALUE,B=0;BF&&(F=O[B].height);R>0&&(F+=k.verticalPadding);var $=k.rowHeight[R]+k.rowHeight[S];k.rowHeight[R]=F,k.rowHeight[S]0)for(var ie=N;ie<=P;ie++)K[0]+=this.grid[ie][F-1].length+this.grid[ie][F].length-1;if(P0)for(var ie=F;ie<=B;ie++)K[3]+=this.grid[N-1][ie].length+this.grid[N][ie].length-1;for(var Q=T.MAX_VALUE,ee,J,H=0;H{var u=l(551).FDLayoutNode,h=l(551).IMath;function f(p,m,g,y){u.call(this,p,m,g,y)}o(f,"CoSENode"),f.prototype=Object.create(u.prototype);for(var d in u)f[d]=u[d];f.prototype.calculateDisplacement=function(){var p=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementX=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementX)),Math.abs(this.displacementY)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementY=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(p,m){for(var g=this.getChild().getNodes(),y,v=0;v{function u(g){if(Array.isArray(g)){for(var y=0,v=Array(g.length);y0){var Tt=0;Ye.forEach(function(rt){Te=="horizontal"?(me.set(rt,x.has(rt)?b[x.get(rt)]:Ee.get(rt)),Tt+=me.get(rt)):(me.set(rt,x.has(rt)?w[x.get(rt)]:Ee.get(rt)),Tt+=me.get(rt))}),Tt=Tt/Ye.length,vt.forEach(function(rt){se.has(rt)||me.set(rt,Tt)})}else{var $e=0;vt.forEach(function(rt){Te=="horizontal"?$e+=x.has(rt)?b[x.get(rt)]:Ee.get(rt):$e+=x.has(rt)?w[x.get(rt)]:Ee.get(rt)}),$e=$e/vt.length,vt.forEach(function(rt){me.set(rt,$e)})}});for(var tt=o(function(){var Ye=Re.shift(),Tt=U.get(Ye);Tt.forEach(function($e){if(me.get($e.id)rt&&(rt=Rt),zt<$e&&($e=zt),zt>ft&&(ft=zt)}}catch(yt){er=!0,dt=yt}finally{try{!kt&&Xe.return&&Xe.return()}finally{if(er)throw dt}}var Xn=(Tt+rt)/2-($e+ft)/2,or=!0,hn=!1,Tn=void 0;try{for(var Ur=vt[Symbol.iterator](),ri;!(or=(ri=Ur.next()).done);or=!0){var Mn=ri.value;me.set(Mn,me.get(Mn)+Xn)}}catch(yt){hn=!0,Tn=yt}finally{try{!or&&Ur.return&&Ur.return()}finally{if(hn)throw Tn}}})}return me},"findAppropriatePositionForRelativePlacement"),D=o(function(U){var Te=0,se=0,Ee=0,Ae=0;if(U.forEach(function(We){We.left?b[x.get(We.left)]-b[x.get(We.right)]>=0?Te++:se++:w[x.get(We.top)]-w[x.get(We.bottom)]>=0?Ee++:Ae++}),Te>se&&Ee>Ae)for(var Pe=0;Pese)for(var Me=0;MeAe)for(var me=0;me1)y.fixedNodeConstraint.forEach(function(ye,U){O[U]=[ye.position.x,ye.position.y],N[U]=[b[x.get(ye.nodeId)],w[x.get(ye.nodeId)]]}),P=!0;else if(y.alignmentConstraint)(function(){var ye=0;if(y.alignmentConstraint.vertical){for(var U=y.alignmentConstraint.vertical,Te=o(function(me){var We=new Set;U[me].forEach(function(gt){We.add(gt)});var Re=new Set([].concat(u(We)).filter(function(gt){return B.has(gt)})),tt=void 0;Re.size>0?tt=b[x.get(Re.values().next().value)]:tt=A(We).x,U[me].forEach(function(gt){O[ye]=[tt,w[x.get(gt)]],N[ye]=[b[x.get(gt)],w[x.get(gt)]],ye++})},"_loop2"),se=0;se0?tt=b[x.get(Re.values().next().value)]:tt=A(We).y,Ee[me].forEach(function(gt){O[ye]=[b[x.get(gt)],tt],N[ye]=[b[x.get(gt)],w[x.get(gt)]],ye++})},"_loop3"),Pe=0;Pej&&(j=W[ie].length,K=ie);if(j0){var Ve={x:0,y:0};y.fixedNodeConstraint.forEach(function(ye,U){var Te={x:b[x.get(ye.nodeId)],y:w[x.get(ye.nodeId)]},se=ye.position,Ee=C(se,Te);Ve.x+=Ee.x,Ve.y+=Ee.y}),Ve.x/=y.fixedNodeConstraint.length,Ve.y/=y.fixedNodeConstraint.length,b.forEach(function(ye,U){b[U]+=Ve.x}),w.forEach(function(ye,U){w[U]+=Ve.y}),y.fixedNodeConstraint.forEach(function(ye){b[x.get(ye.nodeId)]=ye.position.x,w[x.get(ye.nodeId)]=ye.position.y})}if(y.alignmentConstraint){if(y.alignmentConstraint.vertical)for(var Ge=y.alignmentConstraint.vertical,He=o(function(U){var Te=new Set;Ge[U].forEach(function(Ae){Te.add(Ae)});var se=new Set([].concat(u(Te)).filter(function(Ae){return B.has(Ae)})),Ee=void 0;se.size>0?Ee=b[x.get(se.values().next().value)]:Ee=A(Te).x,Te.forEach(function(Ae){B.has(Ae)||(b[x.get(Ae)]=Ee)})},"_loop4"),xe=0;xe0?Ee=w[x.get(se.values().next().value)]:Ee=A(Te).y,Te.forEach(function(Ae){B.has(Ae)||(w[x.get(Ae)]=Ee)})},"_loop5"),he=0;he{a.exports=t}},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(45);return i})()})});var c2e=Ni((bb,pF)=>{"use strict";o(function(e,r){typeof bb=="object"&&typeof pF=="object"?pF.exports=r(dF()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof bb=="object"?bb.cytoscapeFcose=r(dF()):e.cytoscapeFcose=r(e.coseBase)},"webpackUniversalModuleDefinition")(bb,function(t){return(()=>{"use strict";var e={658:a=>{a.exports=Object.assign!=null?Object.assign.bind(Object):function(s){for(var l=arguments.length,u=Array(l>1?l-1:0),h=1;h{var u=function(){function d(p,m){var g=[],y=!0,v=!1,x=void 0;try{for(var b=p[Symbol.iterator](),w;!(y=(w=b.next()).done)&&(g.push(w.value),!(m&&g.length===m));y=!0);}catch(_){v=!0,x=_}finally{try{!y&&b.return&&b.return()}finally{if(v)throw x}}return g}return o(d,"sliceIterator"),function(p,m){if(Array.isArray(p))return p;if(Symbol.iterator in Object(p))return d(p,m);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=l(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(d){for(var p={},m=0;m0&&P.merge(z)});for(var F=0;F1){w=x[0],_=w.connectedEdges().length,x.forEach(function(N){N.connectedEdges().length<_&&(_=N.connectedEdges().length,w=N)}),L.push(w.id());var O=d.collection();O.merge(x[0]),x.forEach(function(N){O.merge(N)}),x=[],m=m.difference(O),E++}},"_loop");do A();while(!T);return g&&L.length>0&&g.set("dummy"+(g.size+1),L),C},f.relocateComponent=function(d,p,m){if(!m.fixedNodeConstraint){var g=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,v=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY;if(m.quality=="draft"){var b=!0,w=!1,_=void 0;try{for(var T=p.nodeIndexes[Symbol.iterator](),E;!(b=(E=T.next()).done);b=!0){var L=E.value,C=u(L,2),A=C[0],I=C[1],D=m.cy.getElementById(A);if(D){var k=D.boundingBox(),R=p.xCoords[I]-k.w/2,S=p.xCoords[I]+k.w/2,O=p.yCoords[I]-k.h/2,N=p.yCoords[I]+k.h/2;Ry&&(y=S),Ox&&(x=N)}}}catch(z){w=!0,_=z}finally{try{!b&&T.return&&T.return()}finally{if(w)throw _}}var P=d.x-(y+g)/2,F=d.y-(x+v)/2;p.xCoords=p.xCoords.map(function(z){return z+P}),p.yCoords=p.yCoords.map(function(z){return z+F})}else{Object.keys(p).forEach(function(z){var W=p[z],j=W.getRect().x,K=W.getRect().x+W.getRect().width,ie=W.getRect().y,Q=W.getRect().y+W.getRect().height;jy&&(y=K),iex&&(x=Q)});var B=d.x-(y+g)/2,$=d.y-(x+v)/2;Object.keys(p).forEach(function(z){var W=p[z];W.setCenter(W.getCenterX()+B,W.getCenterY()+$)})}}},f.calcBoundingBox=function(d,p,m,g){for(var y=Number.MAX_SAFE_INTEGER,v=Number.MIN_SAFE_INTEGER,x=Number.MAX_SAFE_INTEGER,b=Number.MIN_SAFE_INTEGER,w=void 0,_=void 0,T=void 0,E=void 0,L=d.descendants().not(":parent"),C=L.length,A=0;Aw&&(y=w),v<_&&(v=_),x>T&&(x=T),b{var u=l(548),h=l(140).CoSELayout,f=l(140).CoSENode,d=l(140).layoutBase.PointD,p=l(140).layoutBase.DimensionD,m=l(140).layoutBase.LayoutConstants,g=l(140).layoutBase.FDLayoutConstants,y=l(140).CoSEConstants,v=o(function(b,w){var _=b.cy,T=b.eles,E=T.nodes(),L=T.edges(),C=void 0,A=void 0,I=void 0,D={};b.randomize&&(C=w.nodeIndexes,A=w.xCoords,I=w.yCoords);var k=o(function(z){return typeof z=="function"},"isFn"),R=o(function(z,W){return k(z)?z(W):z},"optFn"),S=u.calcParentsWithoutChildren(_,T),O=o(function $(z,W,j,K){for(var ie=W.length,Q=0;Q0){var ae=void 0;ae=j.getGraphManager().add(j.newGraph(),H),$(ae,J,j,K)}}},"processChildrenList"),N=o(function(z,W,j){for(var K=0,ie=0,Q=0;Q0?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=K/ie:k(b.idealEdgeLength)?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=50:y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=b.idealEdgeLength,y.MIN_REPULSION_DIST=g.MIN_REPULSION_DIST=g.DEFAULT_EDGE_LENGTH/10,y.DEFAULT_RADIAL_SEPARATION=g.DEFAULT_EDGE_LENGTH)},"processEdges"),P=o(function(z,W){W.fixedNodeConstraint&&(z.constraints.fixedNodeConstraint=W.fixedNodeConstraint),W.alignmentConstraint&&(z.constraints.alignmentConstraint=W.alignmentConstraint),W.relativePlacementConstraint&&(z.constraints.relativePlacementConstraint=W.relativePlacementConstraint)},"processConstraints");b.nestingFactor!=null&&(y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.nestingFactor),b.gravity!=null&&(y.DEFAULT_GRAVITY_STRENGTH=g.DEFAULT_GRAVITY_STRENGTH=b.gravity),b.numIter!=null&&(y.MAX_ITERATIONS=g.MAX_ITERATIONS=b.numIter),b.gravityRange!=null&&(y.DEFAULT_GRAVITY_RANGE_FACTOR=g.DEFAULT_GRAVITY_RANGE_FACTOR=b.gravityRange),b.gravityCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_STRENGTH=g.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.gravityCompound),b.gravityRangeCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.gravityRangeCompound),b.initialEnergyOnIncremental!=null&&(y.DEFAULT_COOLING_FACTOR_INCREMENTAL=g.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.initialEnergyOnIncremental),b.tilingCompareBy!=null&&(y.TILING_COMPARE_BY=b.tilingCompareBy),b.quality=="proof"?m.QUALITY=2:m.QUALITY=0,y.NODE_DIMENSIONS_INCLUDE_LABELS=g.NODE_DIMENSIONS_INCLUDE_LABELS=m.NODE_DIMENSIONS_INCLUDE_LABELS=b.nodeDimensionsIncludeLabels,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!b.randomize,y.ANIMATE=g.ANIMATE=m.ANIMATE=b.animate,y.TILE=b.tile,y.TILING_PADDING_VERTICAL=typeof b.tilingPaddingVertical=="function"?b.tilingPaddingVertical.call():b.tilingPaddingVertical,y.TILING_PADDING_HORIZONTAL=typeof b.tilingPaddingHorizontal=="function"?b.tilingPaddingHorizontal.call():b.tilingPaddingHorizontal,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!0,y.PURE_INCREMENTAL=!b.randomize,m.DEFAULT_UNIFORM_LEAF_NODE_SIZES=b.uniformNodeDimensions,b.step=="transformed"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!1),b.step=="enforced"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!1),b.step=="cose"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!0),b.step=="all"&&(b.randomize?y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!0),b.fixedNodeConstraint||b.alignmentConstraint||b.relativePlacementConstraint?y.TREE_REDUCTION_ON_INCREMENTAL=!1:y.TREE_REDUCTION_ON_INCREMENTAL=!0;var F=new h,B=F.newGraphManager();return O(B.addRoot(),u.getTopMostNodes(E),F,b),N(F,B,L),P(F,b),F.runLayout(),D},"coseLayout");a.exports={coseLayout:v}},212:(a,s,l)=>{var u=function(){function b(w,_){for(var T=0;T<_.length;T++){var E=_[T];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(w,E.key,E)}}return o(b,"defineProperties"),function(w,_,T){return _&&b(w.prototype,_),T&&b(w,T),w}}();function h(b,w){if(!(b instanceof w))throw new TypeError("Cannot call a class as a function")}o(h,"_classCallCheck");var f=l(658),d=l(548),p=l(657),m=p.spectralLayout,g=l(816),y=g.coseLayout,v=Object.freeze({quality:"default",randomize:!0,animate:!0,animationDuration:1e3,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:"all",samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:1e-7,nodeRepulsion:o(function(w){return 4500},"nodeRepulsion"),idealEdgeLength:o(function(w){return 50},"idealEdgeLength"),edgeElasticity:o(function(w){return .45},"edgeElasticity"),nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:o(function(){},"ready"),stop:o(function(){},"stop")}),x=function(){function b(w){h(this,b),this.options=f({},v,w)}return o(b,"Layout"),u(b,[{key:"run",value:o(function(){var _=this,T=this.options,E=T.cy,L=T.eles,C=[],A=void 0,I=void 0,D=[],k=void 0,R=[];T.fixedNodeConstraint&&(!Array.isArray(T.fixedNodeConstraint)||T.fixedNodeConstraint.length==0)&&(T.fixedNodeConstraint=void 0),T.alignmentConstraint&&(T.alignmentConstraint.vertical&&(!Array.isArray(T.alignmentConstraint.vertical)||T.alignmentConstraint.vertical.length==0)&&(T.alignmentConstraint.vertical=void 0),T.alignmentConstraint.horizontal&&(!Array.isArray(T.alignmentConstraint.horizontal)||T.alignmentConstraint.horizontal.length==0)&&(T.alignmentConstraint.horizontal=void 0)),T.relativePlacementConstraint&&(!Array.isArray(T.relativePlacementConstraint)||T.relativePlacementConstraint.length==0)&&(T.relativePlacementConstraint=void 0);var S=T.fixedNodeConstraint||T.alignmentConstraint||T.relativePlacementConstraint;S&&(T.tile=!1,T.packComponents=!1);var O=void 0,N=!1;if(E.layoutUtilities&&T.packComponents&&(O=E.layoutUtilities("get"),O||(O=E.layoutUtilities()),N=!0),L.nodes().length>0)if(N){var B=d.getTopMostNodes(T.eles.nodes());if(k=d.connectComponents(E,T.eles,B),k.forEach(function(oe){var ke=oe.boundingBox();R.push({x:ke.x1+ke.w/2,y:ke.y1+ke.h/2})}),T.randomize&&k.forEach(function(oe){T.eles=oe,C.push(m(T))}),T.quality=="default"||T.quality=="proof"){var $=E.collection();if(T.tile){var z=new Map,W=[],j=[],K=0,ie={nodeIndexes:z,xCoords:W,yCoords:j},Q=[];if(k.forEach(function(oe,ke){oe.edges().length==0&&(oe.nodes().forEach(function(Fe,Be){$.merge(oe.nodes()[Be]),Fe.isParent()||(ie.nodeIndexes.set(oe.nodes()[Be].id(),K++),ie.xCoords.push(oe.nodes()[0].position().x),ie.yCoords.push(oe.nodes()[0].position().y))}),Q.push(ke))}),$.length>1){var ee=$.boundingBox();R.push({x:ee.x1+ee.w/2,y:ee.y1+ee.h/2}),k.push($),C.push(ie);for(var J=Q.length-1;J>=0;J--)k.splice(Q[J],1),C.splice(Q[J],1),R.splice(Q[J],1)}}k.forEach(function(oe,ke){T.eles=oe,D.push(y(T,C[ke])),d.relocateComponent(R[ke],D[ke],T)})}else k.forEach(function(oe,ke){d.relocateComponent(R[ke],C[ke],T)});var H=new Set;if(k.length>1){var q=[],Z=L.filter(function(oe){return oe.css("display")=="none"});k.forEach(function(oe,ke){var Fe=void 0;if(T.quality=="draft"&&(Fe=C[ke].nodeIndexes),oe.nodes().not(Z).length>0){var Be={};Be.edges=[],Be.nodes=[];var Ve=void 0;oe.nodes().not(Z).forEach(function(Ge){if(T.quality=="draft")if(!Ge.isParent())Ve=Fe.get(Ge.id()),Be.nodes.push({x:C[ke].xCoords[Ve]-Ge.boundingbox().w/2,y:C[ke].yCoords[Ve]-Ge.boundingbox().h/2,width:Ge.boundingbox().w,height:Ge.boundingbox().h});else{var He=d.calcBoundingBox(Ge,C[ke].xCoords,C[ke].yCoords,Fe);Be.nodes.push({x:He.topLeftX,y:He.topLeftY,width:He.width,height:He.height})}else D[ke][Ge.id()]&&Be.nodes.push({x:D[ke][Ge.id()].getLeft(),y:D[ke][Ge.id()].getTop(),width:D[ke][Ge.id()].getWidth(),height:D[ke][Ge.id()].getHeight()})}),oe.edges().forEach(function(Ge){var He=Ge.source(),xe=Ge.target();if(He.css("display")!="none"&&xe.css("display")!="none")if(T.quality=="draft"){var X=Fe.get(He.id()),fe=Fe.get(xe.id()),he=[],ge=[];if(He.isParent()){var ne=d.calcBoundingBox(He,C[ke].xCoords,C[ke].yCoords,Fe);he.push(ne.topLeftX+ne.width/2),he.push(ne.topLeftY+ne.height/2)}else he.push(C[ke].xCoords[X]),he.push(C[ke].yCoords[X]);if(xe.isParent()){var ye=d.calcBoundingBox(xe,C[ke].xCoords,C[ke].yCoords,Fe);ge.push(ye.topLeftX+ye.width/2),ge.push(ye.topLeftY+ye.height/2)}else ge.push(C[ke].xCoords[fe]),ge.push(C[ke].yCoords[fe]);Be.edges.push({startX:he[0],startY:he[1],endX:ge[0],endY:ge[1]})}else D[ke][He.id()]&&D[ke][xe.id()]&&Be.edges.push({startX:D[ke][He.id()].getCenterX(),startY:D[ke][He.id()].getCenterY(),endX:D[ke][xe.id()].getCenterX(),endY:D[ke][xe.id()].getCenterY()})}),Be.nodes.length>0&&(q.push(Be),H.add(ke))}});var ae=O.packComponents(q,T.randomize).shifts;if(T.quality=="draft")C.forEach(function(oe,ke){var Fe=oe.xCoords.map(function(Ve){return Ve+ae[ke].dx}),Be=oe.yCoords.map(function(Ve){return Ve+ae[ke].dy});oe.xCoords=Fe,oe.yCoords=Be});else{var ue=0;H.forEach(function(oe){Object.keys(D[oe]).forEach(function(ke){var Fe=D[oe][ke];Fe.setCenter(Fe.getCenterX()+ae[ue].dx,Fe.getCenterY()+ae[ue].dy)}),ue++})}}}else{var P=T.eles.boundingBox();if(R.push({x:P.x1+P.w/2,y:P.y1+P.h/2}),T.randomize){var F=m(T);C.push(F)}T.quality=="default"||T.quality=="proof"?(D.push(y(T,C[0])),d.relocateComponent(R[0],D[0],T)):d.relocateComponent(R[0],C[0],T)}var ce=o(function(ke,Fe){if(T.quality=="default"||T.quality=="proof"){typeof ke=="number"&&(ke=Fe);var Be=void 0,Ve=void 0,Ge=ke.data("id");return D.forEach(function(xe){Ge in xe&&(Be={x:xe[Ge].getRect().getCenterX(),y:xe[Ge].getRect().getCenterY()},Ve=xe[Ge])}),T.nodeDimensionsIncludeLabels&&(Ve.labelWidth&&(Ve.labelPosHorizontal=="left"?Be.x+=Ve.labelWidth/2:Ve.labelPosHorizontal=="right"&&(Be.x-=Ve.labelWidth/2)),Ve.labelHeight&&(Ve.labelPosVertical=="top"?Be.y+=Ve.labelHeight/2:Ve.labelPosVertical=="bottom"&&(Be.y-=Ve.labelHeight/2))),Be==null&&(Be={x:ke.position("x"),y:ke.position("y")}),{x:Be.x,y:Be.y}}else{var He=void 0;return C.forEach(function(xe){var X=xe.nodeIndexes.get(ke.id());X!=null&&(He={x:xe.xCoords[X],y:xe.yCoords[X]})}),He==null&&(He={x:ke.position("x"),y:ke.position("y")}),{x:He.x,y:He.y}}},"getPositions");if(T.quality=="default"||T.quality=="proof"||T.randomize){var te=d.calcParentsWithoutChildren(E,L),De=L.filter(function(oe){return oe.css("display")=="none"});T.eles=L.not(De),L.nodes().not(":parent").not(De).layoutPositions(_,T,ce),te.length>0&&te.forEach(function(oe){oe.position(ce(oe))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")},"run")}]),b}();a.exports=x},657:(a,s,l)=>{var u=l(548),h=l(140).layoutBase.Matrix,f=l(140).layoutBase.SVD,d=o(function(m){var g=m.cy,y=m.eles,v=y.nodes(),x=y.nodes(":parent"),b=new Map,w=new Map,_=new Map,T=[],E=[],L=[],C=[],A=[],I=[],D=[],k=[],R=void 0,S=void 0,O=1e8,N=1e-9,P=m.piTol,F=m.samplingType,B=m.nodeSeparation,$=void 0,z=o(function(){for(var Te=0,se=0,Ee=!1;se<$;){Te=Math.floor(Math.random()*S),Ee=!1;for(var Ae=0;Ae=Pe;){me=Ae[Pe++];for(var vt=T[me],Ye=0;Yett&&(tt=A[$e],gt=$e)}return gt},"BFS"),j=o(function(Te){var se=void 0;if(Te){se=Math.floor(Math.random()*S),R=se;for(var Ae=0;Ae=1)break;tt=Re}for(var vt=0;vt=1)break;tt=Re}for(var Tt=0;Tt0&&(se.isParent()?T[Te].push(_.get(se.id())):T[Te].push(se.id()))})});var te=o(function(Te){var se=w.get(Te),Ee=void 0;b.get(Te).forEach(function(Ae){g.getElementById(Ae).isParent()?Ee=_.get(Ae):Ee=Ae,T[se].push(Ee),T[w.get(Ee)].push(Te)})},"_loop"),De=!0,oe=!1,ke=void 0;try{for(var Fe=b.keys()[Symbol.iterator](),Be;!(De=(Be=Fe.next()).done);De=!0){var Ve=Be.value;te(Ve)}}catch(U){oe=!0,ke=U}finally{try{!De&&Fe.return&&Fe.return()}finally{if(oe)throw ke}}S=w.size;var Ge=void 0;if(S>2){$=S{var u=l(212),h=o(function(d){d&&d("layout","fcose",u)},"register");typeof cytoscape<"u"&&h(cytoscape),a.exports=h},140:a=>{a.exports=t}},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(579);return i})()})});var S1,j0,mF=M(()=>{"use strict";Kc();S1=o(t=>`${t}`,"wrapIcon"),j0={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:S1('')},server:{body:S1('')},disk:{body:S1('')},internet:{body:S1('')},cloud:{body:S1('')},unknown:RS,blank:{body:S1("")}}}});var u2e,h2e,f2e,d2e,p2e=M(()=>{"use strict";Kc();Vt();Dl();yb();mF();iS();u2e=o(async function(t,e){let r=Li("padding"),n=Li("iconSize"),i=n/2,a=n/6,s=a/2;await Promise.all(e.edges().map(async l=>{let{source:u,sourceDir:h,sourceArrow:f,sourceGroup:d,target:p,targetDir:m,targetArrow:g,targetGroup:y,label:v}=nS(l),{x,y:b}=l[0].sourceEndpoint(),{x:w,y:_}=l[0].midpoint(),{x:T,y:E}=l[0].targetEndpoint(),L=r+4;if(d&&(us(h)?x+=h==="L"?-L:L:b+=h==="T"?-L:L+18),y&&(us(m)?T+=m==="L"?-L:L:E+=m==="T"?-L:L+18),!d&&X0.getNode(u)?.type==="junction"&&(us(h)?x+=h==="L"?i:-i:b+=h==="T"?i:-i),!y&&X0.getNode(p)?.type==="junction"&&(us(m)?T+=m==="L"?i:-i:E+=m==="T"?i:-i),l[0]._private.rscratch){let C=t.insert("g");if(C.insert("path").attr("d",`M ${x},${b} L ${w},${_} L${T},${E} `).attr("class","edge"),f){let A=us(h)?mb[h](x,a):x-s,I=qc(h)?mb[h](b,a):b-s;C.insert("polygon").attr("points",lF[h](a)).attr("transform",`translate(${A},${I})`).attr("class","arrow")}if(g){let A=us(m)?mb[m](T,a):T-s,I=qc(m)?mb[m](E,a):E-s;C.insert("polygon").attr("points",lF[m](a)).attr("transform",`translate(${A},${I})`).attr("class","arrow")}if(v){let A=rS(h,m)?"XY":us(h)?"X":"Y",I=0;A==="X"?I=Math.abs(x-T):A==="Y"?I=Math.abs(b-E)/1.5:I=Math.abs(x-T)/2;let D=C.append("g");if(await Si(D,v,{useHtmlLabels:!1,width:I,classes:"architecture-service-label"},de()),D.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),A==="X")D.attr("transform","translate("+w+", "+_+")");else if(A==="Y")D.attr("transform","translate("+w+", "+_+") rotate(-90)");else if(A==="XY"){let k=gb(h,m);if(k&&Jve(k)){let R=D.node().getBoundingClientRect(),[S,O]=t2e(k);D.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*S*O*45})`);let N=D.node().getBoundingClientRect();D.attr("transform",` translate(${w}, ${_-R.height/2}) translate(${S*N.width/2}, ${O*N.height/2}) rotate(${-1*S*O*45}, 0, ${R.height/2}) `)}}}}}))},"drawEdges"),h2e=o(async function(t,e){let n=Li("padding")*.75,i=Li("fontSize"),s=Li("iconSize")/2;await Promise.all(e.nodes().map(async l=>{let u=Mf(l);if(u.type==="group"){let{h,w:f,x1:d,y1:p}=l.boundingBox();t.append("rect").attr("x",d+s).attr("y",p+s).attr("width",f).attr("height",h).attr("class","node-bkg");let m=t.append("g"),g=d,y=p;if(u.icon){let v=m.append("g");v.html(`${await wo(u.icon,{height:n,width:n,fallbackPrefix:j0.prefix})}`),v.attr("transform","translate("+(g+s+1)+", "+(y+s+1)+")"),g+=n,y+=i/2-1-2}if(u.label){let v=m.append("g");await Si(v,u.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},de()),v.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),v.attr("transform","translate("+(g+s+4)+", "+(y+s+2)+")")}}}))},"drawGroups"),f2e=o(async function(t,e,r){for(let n of r){let i=e.append("g"),a=Li("iconSize");if(n.title){let h=i.append("g");await Si(h,n.title,{useHtmlLabels:!1,width:a*1.5,classes:"architecture-service-label"},de()),h.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),h.attr("transform","translate("+a/2+", "+a+")")}let s=i.append("g");if(n.icon)s.html(`${await wo(n.icon,{height:a,width:a,fallbackPrefix:j0.prefix})}`);else if(n.iconText){s.html(`${await wo("blank",{height:a,width:a,fallbackPrefix:j0.prefix})}`);let d=s.append("g").append("foreignObject").attr("width",a).attr("height",a).append("div").attr("class","node-icon-text").attr("style",`height: ${a}px;`).append("div").html(n.iconText),p=parseInt(window.getComputedStyle(d.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;d.attr("style",`-webkit-line-clamp: ${Math.floor((a-2)/p)};`)}else s.append("path").attr("class","node-bkg").attr("id","node-"+n.id).attr("d",`M0 ${a} v${-a} q0,-5 5,-5 h${a} q5,0 5,5 v${a} H0 Z`);i.attr("class","architecture-service");let{width:l,height:u}=i._groups[0][0].getBBox();n.width=l,n.height=u,t.setElementForId(n.id,i)}return 0},"drawServices"),d2e=o(function(t,e,r){r.forEach(n=>{let i=e.append("g"),a=Li("iconSize");i.append("g").append("rect").attr("id","node-"+n.id).attr("fill-opacity","0").attr("width",a).attr("height",a),i.attr("class","architecture-junction");let{width:l,height:u}=i._groups[0][0].getBBox();i.width=l,i.height=u,t.setElementForId(n.id,i)})},"drawJunctions")});function Lit(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"service",id:r.id,icon:r.icon,label:r.title,parent:r.in,width:Li("iconSize"),height:Li("iconSize")},classes:"node-service"})})}function Dit(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"junction",id:r.id,parent:r.in,width:Li("iconSize"),height:Li("iconSize")},classes:"node-junction"})})}function Nit(t,e){e.nodes().map(r=>{let n=Mf(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}function Rit(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}function Mit(t,e){t.forEach(r=>{let{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:l,lhsDir:u,rhsDir:h,rhsGroup:f,title:d}=r,p=rS(r.lhsDir,r.rhsDir)?"segments":"straight",m={id:`${n}-${i}`,label:d,source:n,sourceDir:u,sourceArrow:a,sourceGroup:s,sourceEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%",target:i,targetDir:h,targetArrow:l,targetGroup:f,targetEndpoint:h==="L"?"0 50%":h==="R"?"100% 50%":h==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:m,classes:p})})}function Iit(t){let e=t.map(i=>{let a={},s={};return Object.entries(i).forEach(([l,[u,h]])=>{a[h]||(a[h]=[]),s[u]||(s[u]=[]),a[h].push(l),s[u].push(l)}),{horiz:Object.values(a).filter(l=>l.length>1),vert:Object.values(s).filter(l=>l.length>1)}}),[r,n]=e.reduce(([i,a],{horiz:s,vert:l})=>[[...i,...s],[...a,...l]],[[],[]]);return{horizontal:r,vertical:n}}function Oit(t){let e=[],r=o(i=>`${i[0]},${i[1]}`,"posToStr"),n=o(i=>i.split(",").map(a=>parseInt(a)),"strToPos");return t.forEach(i=>{let a=Object.fromEntries(Object.entries(i).map(([h,f])=>[r(f),h])),s=[r([0,0])],l={},u={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;s.length>0;){let h=s.shift();if(h){l[h]=1;let f=a[h];if(f){let d=n(h);Object.entries(u).forEach(([p,m])=>{let g=r([d[0]+m[0],d[1]+m[1]]),y=a[g];y&&!l[g]&&(s.push(g),e.push({[oF[p]]:y,[oF[Zve(p)]]:f,gap:1.5*Li("iconSize")}))})}}}}),e}function Pit(t,e,r,n,{spatialMaps:i}){return new Promise(a=>{let s=ze("body").append("div").attr("id","cy").attr("style","display:none"),l=sl({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight",label:"data(label)","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${Li("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${Li("padding")}px`}}]});s.remove(),Rit(r,l),Lit(t,l),Dit(e,l),Mit(n,l);let u=Iit(i),h=Oit(i),f=l.layout({name:"fcose",quality:"proof",styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(d){let[p,m]=d.connectedNodes(),{parent:g}=Mf(p),{parent:y}=Mf(m);return g===y?1.5*Li("iconSize"):.5*Li("iconSize")},edgeElasticity(d){let[p,m]=d.connectedNodes(),{parent:g}=Mf(p),{parent:y}=Mf(m);return g===y?.45:.001},alignmentConstraint:u,relativePlacementConstraint:h});f.one("layoutstop",()=>{function d(p,m,g,y){let v,x,{x:b,y:w}=p,{x:_,y:T}=m;x=(y-w+(b-g)*(w-T)/(b-_))/Math.sqrt(1+Math.pow((w-T)/(b-_),2)),v=Math.sqrt(Math.pow(y-w,2)+Math.pow(g-b,2)-Math.pow(x,2));let E=Math.sqrt(Math.pow(_-b,2)+Math.pow(T-w,2));v=v/E;let L=(_-b)*(y-w)-(T-w)*(g-b);switch(!0){case L>=0:L=1;break;case L<0:L=-1;break}let C=(_-b)*(g-b)+(T-w)*(y-w);switch(!0){case C>=0:C=1;break;case C<0:C=-1;break}return x=Math.abs(x)*L,v=v*C,{distances:x,weights:v}}o(d,"getSegmentWeights"),l.startBatch();for(let p of Object.values(l.edges()))if(p.data?.()){let{x:m,y:g}=p.source().position(),{x:y,y:v}=p.target().position();if(m!==y&&g!==v){let x=p.sourceEndpoint(),b=p.targetEndpoint(),{sourceDir:w}=nS(p),[_,T]=qc(w)?[x.x,b.y]:[b.x,x.y],{weights:E,distances:L}=d(x,b,_,T);p.style("segment-distances",L),p.style("segment-weights",E)}}l.endBatch(),f.run()}),f.run(),l.ready(d=>{Y.info("Ready",d),a(l)})})}var m2e,Bit,g2e,y2e=M(()=>{"use strict";Kc();kB();m2e=ka(c2e(),1);mr();ht();Hu();ni();yb();mF();iS();p2e();Mb([{name:j0.prefix,icons:j0}]);sl.use(m2e.default);o(Lit,"addServices");o(Dit,"addJunctions");o(Nit,"positionNodes");o(Rit,"addGroups");o(Mit,"addEdges");o(Iit,"getAlignments");o(Oit,"getRelativeConstraints");o(Pit,"layoutArchitecture");Bit=o(async(t,e,r,n)=>{let i=n.db,a=i.getServices(),s=i.getJunctions(),l=i.getGroups(),u=i.getEdges(),h=i.getDataStructures(),f=Oa(e),d=f.append("g");d.attr("class","architecture-edges");let p=f.append("g");p.attr("class","architecture-services");let m=f.append("g");m.attr("class","architecture-groups"),await f2e(i,p,a),d2e(i,p,s);let g=await Pit(a,s,l,u,h);await u2e(d,g),await h2e(m,g),Nit(i,g),_o(void 0,f,Li("padding"),Li("useMaxWidth"))},"draw"),g2e={draw:Bit}});var v2e={};vr(v2e,{diagram:()=>Fit});var Fit,x2e=M(()=>{"use strict";s2e();yb();l2e();y2e();Fit={parser:a2e,db:X0,renderer:g2e,styles:o2e}});var Eat={};vr(Eat,{default:()=>kat});Kc();MS();$f();var WX="c4",s7e=o(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),o7e=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(HX(),UX));return{id:WX,diagram:t}},"loader"),l7e={id:WX,detector:s7e,loader:o7e},YX=l7e;var jie="flowchart",dPe=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),pPe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(fT(),hT));return{id:jie,diagram:t}},"loader"),mPe={id:jie,detector:dPe,loader:pPe},Kie=mPe;var Qie="flowchart-v2",gPe=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),yPe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(fT(),hT));return{id:Qie,diagram:t}},"loader"),vPe={id:Qie,detector:gPe,loader:yPe},Zie=vPe;var Aae="er",qPe=o(t=>/^\s*erDiagram/.test(t),"detector"),XPe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Cae(),Sae));return{id:Aae,diagram:t}},"loader"),jPe={id:Aae,detector:qPe,loader:XPe},_ae=jPe;var Fue="gitGraph",x$e=o(t=>/^\s*gitGraph/.test(t),"detector"),b$e=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Bue(),Pue));return{id:Fue,diagram:t}},"loader"),w$e={id:Fue,detector:x$e,loader:b$e},zue=w$e;var mhe="gantt",lVe=o(t=>/^\s*gantt/.test(t),"detector"),cVe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(phe(),dhe));return{id:mhe,diagram:t}},"loader"),uVe={id:mhe,detector:lVe,loader:cVe},ghe=uVe;var She="info",gVe=o(t=>/^\s*info/.test(t),"detector"),yVe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Ehe(),khe));return{id:She,diagram:t}},"loader"),Che={id:She,detector:gVe,loader:yVe};var Phe="pie",DVe=o(t=>/^\s*pie/.test(t),"detector"),NVe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Ohe(),Ihe));return{id:Phe,diagram:t}},"loader"),Bhe={id:Phe,detector:DVe,loader:NVe};var Khe="quadrantChart",jVe=o(t=>/^\s*quadrantChart/.test(t),"detector"),KVe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(jhe(),Xhe));return{id:Khe,diagram:t}},"loader"),QVe={id:Khe,detector:jVe,loader:KVe},Qhe=QVe;var Efe="xychart",dUe=o(t=>/^\s*xychart-beta/.test(t),"detector"),pUe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(kfe(),Tfe));return{id:Efe,diagram:t}},"loader"),mUe={id:Efe,detector:dUe,loader:pUe},Sfe=mUe;var $fe="requirement",UUe=o(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),HUe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Gfe(),zfe));return{id:$fe,diagram:t}},"loader"),WUe={id:$fe,detector:UUe,loader:HUe},Vfe=WUe;var mde="sequence",XHe=o(t=>/^\s*sequenceDiagram/.test(t),"detector"),jHe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(pde(),dde));return{id:mde,diagram:t}},"loader"),KHe={id:mde,detector:XHe,loader:jHe},gde=KHe;var Lde="class",_We=o((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),LWe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(_de(),Ade));return{id:Lde,diagram:t}},"loader"),DWe={id:Lde,detector:_We,loader:LWe},Dde=DWe;var Mde="classDiagram",RWe=o((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),MWe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Rde(),Nde));return{id:Mde,diagram:t}},"loader"),IWe={id:Mde,detector:RWe,loader:MWe},Ide=IWe;var S0e="state",LYe=o((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),DYe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(E0e(),k0e));return{id:S0e,diagram:t}},"loader"),NYe={id:S0e,detector:LYe,loader:DYe},C0e=NYe;var L0e="stateDiagram",MYe=o((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),IYe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(_0e(),A0e));return{id:L0e,diagram:t}},"loader"),OYe={id:L0e,detector:MYe,loader:IYe},D0e=OYe;var Y0e="journey",rqe=o(t=>/^\s*journey/.test(t),"detector"),nqe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(W0e(),H0e));return{id:Y0e,diagram:t}},"loader"),iqe={id:Y0e,detector:rqe,loader:nqe},q0e=iqe;ht();Hu();ni();var aqe=o((t,e,r)=>{Y.debug(`rendering svg for syntax error `);let n=Oa(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Zr(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),yP={draw:aqe},X0e=yP;var sqe={db:{},renderer:yP,parser:{parse:o(()=>{},"parse")}},j0e=sqe;var K0e="flowchart-elk",oqe=o((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),lqe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(fT(),hT));return{id:K0e,diagram:t}},"loader"),cqe={id:K0e,detector:oqe,loader:lqe},Q0e=cqe;var kpe="timeline",_qe=o(t=>/^\s*timeline/.test(t),"detector"),Lqe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Tpe(),wpe));return{id:kpe,diagram:t}},"loader"),Dqe={id:kpe,detector:_qe,loader:Lqe},Epe=Dqe;var V1e="mindmap",Ftt=o(t=>/^\s*mindmap/.test(t),"detector"),ztt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>($1e(),G1e));return{id:V1e,diagram:t}},"loader"),Gtt={id:V1e,detector:Ftt,loader:ztt},U1e=Gtt;var tye="kanban",rrt=o(t=>/^\s*kanban/.test(t),"detector"),nrt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(eye(),J1e));return{id:tye,diagram:t}},"loader"),irt={id:tye,detector:rrt,loader:nrt},rye=irt;var Oye="sankey",Crt=o(t=>/^\s*sankey-beta/.test(t),"detector"),Art=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Iye(),Mye));return{id:Oye,diagram:t}},"loader"),_rt={id:Oye,detector:Crt,loader:Art},Pye=_rt;var Yye="packet",$rt=o(t=>/^\s*packet-beta/.test(t),"detector"),Vrt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Wye(),Hye));return{id:Yye,diagram:t}},"loader"),qye={id:Yye,detector:$rt,loader:Vrt};var Kve="block",cit=o(t=>/^\s*block-beta/.test(t),"detector"),uit=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(jve(),Xve));return{id:Kve,diagram:t}},"loader"),hit={id:Kve,detector:cit,loader:uit},Qve=hit;var b2e="architecture",zit=o(t=>/^\s*architecture/.test(t),"detector"),Git=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(x2e(),v2e));return{id:b2e,diagram:t}},"loader"),$it={id:b2e,detector:zit,loader:Git},w2e=$it;$f();Vt();var T2e=!1,C1=o(()=>{T2e||(T2e=!0,Qf("error",j0e,t=>t.toLowerCase().trim()==="error"),Qf("---",{db:{clear:o(()=>{},"clear")},styles:{},renderer:{draw:o(()=>{},"draw")},parser:{parse:o(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:o(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),Bb(YX,rye,Ide,Dde,_ae,ghe,Che,Bhe,Vfe,gde,Q0e,Zie,Kie,U1e,Epe,zue,D0e,C0e,q0e,Qhe,Pye,qye,Sfe,Qve,w2e))},"addDiagrams");ht();$f();Vt();var k2e=o(async()=>{Y.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(Gf).map(async([r,{detector:n,loader:i}])=>{if(i)try{ay(r)}catch{try{let{diagram:a,id:s}=await i();Qf(s,a,n)}catch(a){throw Y.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Gf[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){Y.error(`Failed to load ${e.length} external diagrams`);for(let r of e)Y.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams");ht();mr();var aS="comm",sS="rule",oS="decl";var E2e="@import";var S2e="@keyframes";var C2e="@layer";var gF=Math.abs,wb=String.fromCharCode;function lS(t){return t.trim()}o(lS,"trim");function Tb(t,e,r){return t.replace(e,r)}o(Tb,"replace");function A2e(t,e,r){return t.indexOf(e,r)}o(A2e,"indexof");function K0(t,e){return t.charCodeAt(e)|0}o(K0,"charat");function If(t,e,r){return t.slice(e,r)}o(If,"substr");function yo(t){return t.length}o(yo,"strlen");function _2e(t){return t.length}o(_2e,"sizeof");function A1(t,e){return e.push(t),t}o(A1,"append");var cS=1,_1=1,L2e=0,ll=0,Di=0,D1="";function uS(t,e,r,n,i,a,s,l){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:cS,column:_1,length:s,return:"",siblings:l}}o(uS,"node");function D2e(){return Di}o(D2e,"char");function N2e(){return Di=ll>0?K0(D1,--ll):0,_1--,Di===10&&(_1=1,cS--),Di}o(N2e,"prev");function cl(){return Di=ll2||L1(Di)>3?"":" "}o(I2e,"whitespace");function O2e(t,e){for(;--e&&cl()&&!(Di<48||Di>102||Di>57&&Di<65||Di>70&&Di<97););return hS(t,kb()+(e<6&&Ju()==32&&cl()==32))}o(O2e,"escaping");function yF(t){for(;cl();)switch(Di){case t:return ll;case 34:case 39:t!==34&&t!==39&&yF(Di);break;case 40:t===41&&yF(t);break;case 92:cl();break}return ll}o(yF,"delimiter");function P2e(t,e){for(;cl()&&t+Di!==57;)if(t+Di===84&&Ju()===47)break;return"/*"+hS(e,ll-1)+"*"+wb(t===47?t:cl())}o(P2e,"commenter");function B2e(t){for(;!L1(Ju());)cl();return hS(t,ll)}o(B2e,"identifier");function G2e(t){return M2e(dS("",null,null,null,[""],t=R2e(t),0,[0],t))}o(G2e,"compile");function dS(t,e,r,n,i,a,s,l,u){for(var h=0,f=0,d=s,p=0,m=0,g=0,y=1,v=1,x=1,b=0,w="",_=i,T=a,E=n,L=w;v;)switch(g=b,b=cl()){case 40:if(g!=108&&K0(L,d-1)==58){A2e(L+=Tb(fS(b),"&","&\f"),"&\f",gF(h?l[h-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:L+=fS(b);break;case 9:case 10:case 13:case 32:L+=I2e(g);break;case 92:L+=O2e(kb()-1,7);continue;case 47:switch(Ju()){case 42:case 47:A1(Vit(P2e(cl(),kb()),e,r,u),u),(L1(g||1)==5||L1(Ju()||1)==5)&&yo(L)&&If(L,-1,void 0)!==" "&&(L+=" ");break;default:L+="/"}break;case 123*y:l[h++]=yo(L)*x;case 125*y:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+f:x==-1&&(L=Tb(L,/\f/g,"")),m>0&&(yo(L)-d||y===0&&g===47)&&A1(m>32?z2e(L+";",n,r,d-1,u):z2e(Tb(L," ","")+";",n,r,d-2,u),u);break;case 59:L+=";";default:if(A1(E=F2e(L,e,r,h,f,i,l,w,_=[],T=[],d,a),a),b===123)if(f===0)dS(L,e,E,E,_,a,d,l,T);else switch(p===99&&K0(L,3)===110?100:p){case 100:case 108:case 109:case 115:dS(t,E,E,n&&A1(F2e(t,E,E,0,0,i,l,w,i,_=[],d,T),T),i,T,d,l,n?_:T);break;default:dS(L,E,E,E,[""],T,0,l,T)}}h=f=m=0,y=x=1,w=L="",d=s;break;case 58:d=1+yo(L),m=g;default:if(y<1){if(b==123)--y;else if(b==125&&y++==0&&N2e()==125)continue}switch(L+=wb(b),b*y){case 38:x=f>0?1:(L+="\f",-1);break;case 44:l[h++]=(yo(L)-1)*x,x=1;break;case 64:Ju()===45&&(L+=fS(cl())),p=Ju(),f=d=yo(w=L+=B2e(kb())),b++;break;case 45:g===45&&yo(L)==2&&(y=0)}}return a}o(dS,"parse");function F2e(t,e,r,n,i,a,s,l,u,h,f,d){for(var p=i-1,m=i===0?a:[""],g=_2e(m),y=0,v=0,x=0;y0?m[b]+" "+w:Tb(w,/&\f/g,m[b])))&&(u[x++]=_);return uS(t,e,r,i===0?sS:l,u,h,f,d)}o(F2e,"ruleset");function Vit(t,e,r,n){return uS(t,e,r,aS,wb(D2e()),If(t,2,-2),0,n)}o(Vit,"comment");function z2e(t,e,r,n,i){return uS(t,e,r,oS,If(t,0,n),If(t,n+1,-1),n,i)}o(z2e,"declaration");function pS(t,e){for(var r="",n=0;n{H2e.forEach(t=>{t()}),H2e=[]},"attachFunctions");ht();var Y2e=o(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");Pb();V5();function q2e(t){let e=t.match(Ob);if(!e)return{text:t,metadata:{}};let r=fm(e[1],{schema:hm})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};let n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}o(q2e,"extractFrontMatter");hr();var Hit=o(t=>t.replace(/\r\n?/g,` `).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),Wit=o(t=>{let{text:e,metadata:r}=q2e(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),Yit=o(t=>{let e=Ut.detectInit(t)??{},r=Ut.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:RX(t),directive:e}},"processDirectives");function vF(t){let e=Hit(t),r=Wit(e),n=Yit(r.text),i=ws(r.config,n.directive);return t=Y2e(n.text),{code:t,title:r.title,config:i}}o(vF,"preprocessDiagram");QC();Hb();hr();function X2e(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}o(X2e,"toBase64");var qit=5e4,Xit="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",jit="sandbox",Kit="loose",Qit="http://www.w3.org/2000/svg",Zit="http://www.w3.org/1999/xlink",Jit="http://www.w3.org/1999/xhtml",eat="100%",tat="100%",rat="border:0;margin:0;",nat="margin:0",iat="allow-top-navigation-by-user-activation allow-popups",aat='The "iframe" tag is not supported by your browser.',sat=["foreignobject"],oat=["dominant-baseline"];function Z2e(t){let e=vF(t);return V1(),Hz(e.config??{}),e}o(Z2e,"processAndSetConfigs");async function lat(t,e){C1();try{let{code:r,config:n}=Z2e(t);return{diagramType:(await J2e(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}o(lat,"parse");var j2e=o((t,e,r=[])=>` .${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),cat=o((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` ${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` :root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` :root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let s=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(l=>{cr(l.styles)||s.forEach(u=>{r+=j2e(l.id,u,l.styles)}),cr(l.textStyles)||(r+=j2e(l.id,"tspan",(l?.textStyles||[]).map(u=>u.replace("color","fill"))))})}return r},"createCssStyles"),uat=o((t,e,r,n)=>{let i=cat(t,r),a=F$(e,i,t.themeVariables);return pS(G2e(`${n}{${a}}`),$2e)},"createUserStyles"),hat=o((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=Ca(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),fat=o((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":tat,n=X2e(`${t}`);return``},"putIntoIFrame"),K2e=o((t,e,r,n,i)=>{let a=t.append("div");a.attr("id",r),n&&a.attr("style",n);let s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",Qit);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function Q2e(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}o(Q2e,"sandboxedIframe");var dat=o((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),pat=o(async function(t,e,r){C1();let n=Z2e(e);e=n.code;let i=Sr();Y.debug(i),e.length>(i?.maxTextSize??qit)&&(e=Xit);let a="#"+t,s="i"+t,l="#"+s,u="d"+t,h="#"+u,f=o(()=>{let R=ze(p?l:h).node();R&&"remove"in R&&R.remove()},"removeTempElements"),d=ze("body"),p=i.securityLevel===jit,m=i.securityLevel===Kit,g=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),p){let k=Q2e(ze(r),s);d=ze(k.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=ze(r);K2e(d,t,u,`font-family: ${g}`,Zit)}else{if(dat(document,t,u,s),p){let k=Q2e(ze("body"),s);d=ze(k.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=ze("body");K2e(d,t,u)}let y,v;try{y=await N1.fromText(e,{title:n.title})}catch(k){if(i.suppressErrorRendering)throw f(),k;y=await N1.fromText("error"),v=k}let x=d.select(h).node(),b=y.type,w=x.firstChild,_=w.firstChild,T=y.renderer.getClasses?.(e,y),E=uat(i,b,T,a),L=document.createElement("style");L.innerHTML=E,w.insertBefore(L,_);try{await y.renderer.draw(e,t,dx,y)}catch(k){throw i.suppressErrorRendering?f():X0e.draw(e,t,dx),k}let C=d.select(`${h} svg`),A=y.db.getAccTitle?.(),I=y.db.getAccDescription?.();gat(b,C,A,I),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",Jit);let D=d.select(h).node().innerHTML;if(Y.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),D=hat(D,p,xr(i.arrowMarkerAbsolute)),p){let k=d.select(h+" svg").node();D=fat(D,k)}else m||(D=ah.sanitize(D,{ADD_TAGS:sat,ADD_ATTR:oat,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(W2e(),v)throw v;return f(),{diagramType:b,svg:D,bindFunctions:y.db.bindFunctions}},"render");function mat(t={}){let e=Gn({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),$z(e),e?.theme&&e.theme in ko?e.themeVariables=ko[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=ko.default.getThemeVariables(e.themeVariables));let r=typeof e=="object"?QS(e):ZS();M1(r.logLevel),C1()}o(mat,"initialize");var J2e=o((t,e={})=>{let{code:r}=vF(t);return N1.fromText(r,e)},"getDiagramFromText");function gat(t,e,r,n){V2e(e,t),U2e(e,r,n,e.attr("id"))}o(gat,"addA11yInfo");var Of=Object.freeze({render:pat,parse:lat,getDiagramFromText:J2e,initialize:mat,getConfig:Sr,setConfig:Yb,getSiteConfig:ZS,updateSiteConfig:Vz,reset:o(()=>{V1()},"reset"),globalReset:o(()=>{V1(ih)},"globalReset"),defaultConfig:ih});M1(Sr().logLevel);V1(Sr());Fv();hr();var yat=o((t,e,r)=>{Y.warn(t),i9(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),exe=o(async function(t={querySelector:".mermaid"}){try{await vat(t)}catch(e){if(i9(e)&&Y.error(e.str),eh.parseError&&eh.parseError(e),!t.suppressErrors)throw Y.error("Use the suppressErrors option to suppress these errors"),e}},"run"),vat=o(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let n=Of.getConfig();Y.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");Y.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(Y.debug("Start On Load: "+n?.startOnLoad),Of.updateSiteConfig({startOnLoad:n?.startOnLoad}));let a=new Ut.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),s,l=[];for(let u of Array.from(i)){Y.info("Rendering diagram: "+u.id);if(u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let h=`mermaid-${a.next()}`;s=u.innerHTML,s=Ib(Ut.entityDecode(s)).trim().replace(//gi,"
    ");let f=Ut.detectInit(s);f&&Y.debug("Detected early reinit: ",f);try{let{svg:d,bindFunctions:p}=await ixe(h,s,u);u.innerHTML=d,t&&await t(h),p&&p(u)}catch(d){yat(d,l,eh.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),txe=o(function(t){Of.initialize(t)},"initialize"),xat=o(async function(t,e,r){Y.warn("mermaid.init is deprecated. Please use run instead."),t&&txe(t);let n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await exe(n)},"init"),bat=o(async(t,{lazyLoad:e=!0}={})=>{C1(),Bb(...t),e===!1&&await k2e()},"registerExternalDiagrams"),rxe=o(function(){if(eh.startOnLoad){let{startOnLoad:t}=Of.getConfig();t&&eh.run().catch(e=>Y.error("Mermaid failed to initialize",e))}},"contentLoaded");if(typeof document<"u"){window.addEventListener("load",rxe,!1)}var wat=o(function(t){eh.parseError=t},"setParseErrorHandler"),mS=[],xF=!1,nxe=o(async()=>{if(!xF){for(xF=!0;mS.length>0;){let t=mS.shift();if(t)try{await t()}catch(e){Y.error("Error executing queue",e)}}xF=!1}},"executeQueue"),Tat=o(async(t,e)=>new Promise((r,n)=>{let i=o(()=>new Promise((a,s)=>{Of.parse(t,e).then(l=>{a(l),r(l)},l=>{Y.error("Error parsing",l),eh.parseError?.(l),s(l),n(l)})}),"performCall");mS.push(i),nxe().catch(n)}),"parse"),ixe=o((t,e,r)=>new Promise((n,i)=>{let a=o(()=>new Promise((s,l)=>{Of.render(t,e,r).then(u=>{s(u),n(u)},u=>{Y.error("Error parsing",u),eh.parseError?.(u),l(u),i(u)})}),"performCall");mS.push(a),nxe().catch(i)}),"render"),eh={startOnLoad:!0,mermaidAPI:Of,parse:Tat,render:ixe,init:xat,run:exe,registerExternalDiagrams:bat,registerLayoutLoaders:CD,initialize:txe,parseError:void 0,contentLoaded:rxe,setParseErrorHandler:wat,detectType:np,registerIconPacks:Mb},kat=eh;return pxe(Eat);})(); /*! Check if previously processed */ /*! * Wait for document loaded before starting the execution */ /*! Bundled license information: dompurify/dist/purify.es.mjs: (*! @license DOMPurify 3.2.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.1/LICENSE *) js-yaml/dist/js-yaml.mjs: (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *) lodash-es/lodash.js: (** * @license * Lodash (Custom Build) * Build: `lodash modularize exports="es" -o ./` * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors *) cytoscape/dist/cytoscape.esm.mjs: (*! Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) Licensed under The MIT License (http://opensource.org/licenses/MIT) *) (*! Event object based on jQuery events, MIT license https://jquery.org/license/ https://tldrlegal.com/license/mit-license https://github.com/jquery/jquery/blob/master/src/event.js *) (*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License *) (*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License *) */ globalThis.mermaid = globalThis.__esbuild_esm_mermaid.default; // 2.29.4 (moment-with-locales.min.js) !function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define(a):e.moment=a()}(this,function(){"use strict";var E;function M(){return E.apply(null,arguments)}function F(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function z(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e,a){return Object.prototype.hasOwnProperty.call(e,a)}function N(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var a in e)if(l(e,a))return;return 1}function d(e){return void 0===e}function J(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function R(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function C(e,a){for(var t=[],s=e.length,n=0;n>>0,s=0;sBe(e)?(r=e+1,a-Be(e)):(r=e,a);return{year:r,dayOfYear:t}}function Xe(e,a,t){var s,n,r=$e(e.year(),a,t),r=Math.floor((e.dayOfYear()-r-1)/7)+1;return r<1?s=r+ea(n=e.year()-1,a,t):r>ea(e.year(),a,t)?(s=r-ea(e.year(),a,t),n=e.year()+1):(n=e.year(),s=r),{week:s,year:n}}function ea(e,a,t){var s=$e(e,a,t),a=$e(e+1,a,t);return(Be(e)-s+a)/7}s("w",["ww",2],"wo","week"),s("W",["WW",2],"Wo","isoWeek"),a("week","w"),a("isoWeek","W"),t("week",5),t("isoWeek",5),p("w",o),p("ww",o,r),p("W",o),p("WW",o,r),je(["w","ww","W","WW"],function(e,a,t,s){a[s.substr(0,1)]=m(e)});function aa(e,a){return e.slice(a,7).concat(e.slice(0,a))}s("d",0,"do","day"),s("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),s("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),s("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),s("e",0,0,"weekday"),s("E",0,0,"isoWeekday"),a("day","d"),a("weekday","e"),a("isoWeekday","E"),t("day",11),t("weekday",11),t("isoWeekday",11),p("d",o),p("e",o),p("E",o),p("dd",function(e,a){return a.weekdaysMinRegex(e)}),p("ddd",function(e,a){return a.weekdaysShortRegex(e)}),p("dddd",function(e,a){return a.weekdaysRegex(e)}),je(["dd","ddd","dddd"],function(e,a,t,s){s=t._locale.weekdaysParse(e,s,t._strict);null!=s?a.d=s:h(t).invalidWeekday=e}),je(["d","e","E"],function(e,a,t,s){a[s]=m(e)});var ta="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),sa="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),na="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ra=f,da=f,ia=f;function _a(){function e(e,a){return a.length-e.length}for(var a,t,s,n=[],r=[],d=[],i=[],_=0;_<7;_++)s=U([2e3,1]).day(_),a=k(this.weekdaysMin(s,"")),t=k(this.weekdaysShort(s,"")),s=k(this.weekdays(s,"")),n.push(a),r.push(t),d.push(s),i.push(a),i.push(t),i.push(s);n.sort(e),r.sort(e),d.sort(e),i.sort(e),this._weekdaysRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+n.join("|")+")","i")}function oa(){return this.hours()%12||12}function ma(e,a){s(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),a)})}function ua(e,a){return a._meridiemParse}s("H",["HH",2],0,"hour"),s("h",["hh",2],0,oa),s("k",["kk",2],0,function(){return this.hours()||24}),s("hmm",0,0,function(){return""+oa.apply(this)+de(this.minutes(),2)}),s("hmmss",0,0,function(){return""+oa.apply(this)+de(this.minutes(),2)+de(this.seconds(),2)}),s("Hmm",0,0,function(){return""+this.hours()+de(this.minutes(),2)}),s("Hmmss",0,0,function(){return""+this.hours()+de(this.minutes(),2)+de(this.seconds(),2)}),ma("a",!0),ma("A",!1),a("hour","h"),t("hour",13),p("a",ua),p("A",ua),p("H",o),p("h",o),p("k",o),p("HH",o,r),p("hh",o,r),p("kk",o,r),p("hmm",c),p("hmmss",L),p("Hmm",c),p("Hmmss",L),D(["H","HH"],w),D(["k","kk"],function(e,a,t){e=m(e);a[w]=24===e?0:e}),D(["a","A"],function(e,a,t){t._isPm=t._locale.isPM(e),t._meridiem=e}),D(["h","hh"],function(e,a,t){a[w]=m(e),h(t).bigHour=!0}),D("hmm",function(e,a,t){var s=e.length-2;a[w]=m(e.substr(0,s)),a[Oe]=m(e.substr(s)),h(t).bigHour=!0}),D("hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[w]=m(e.substr(0,s)),a[Oe]=m(e.substr(s,2)),a[We]=m(e.substr(n)),h(t).bigHour=!0}),D("Hmm",function(e,a,t){var s=e.length-2;a[w]=m(e.substr(0,s)),a[Oe]=m(e.substr(s))}),D("Hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[w]=m(e.substr(0,s)),a[Oe]=m(e.substr(s,2)),a[We]=m(e.substr(n))});f=Ye("Hours",!0);var la,Ma={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ne,monthsShort:Je,week:{dow:0,doy:6},weekdays:ta,weekdaysMin:na,weekdaysShort:sa,meridiemParse:/[ap]\.?m?\.?/i},b={},ha={};function ca(e){return e&&e.toLowerCase().replace("_","-")}function La(e){for(var a,t,s,n,r=0;r=a&&function(e,a){for(var t=Math.min(e.length,a.length),s=0;s=a-1)break;a--}r++}return la}function Ya(a){var e;if(void 0===b[a]&&"undefined"!=typeof module&&module&&module.exports&&null!=a.match("^[^/\\\\]*$"))try{e=la._abbr,require("./locale/"+a),ya(e)}catch(e){b[a]=null}return b[a]}function ya(e,a){return e&&((a=d(a)?pa(e):fa(e,a))?la=a:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),la._abbr}function fa(e,a){if(null===a)return delete b[e],null;var t,s=Ma;if(a.abbr=e,null!=b[e])ae("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=b[e]._config;else if(null!=a.parentLocale)if(null!=b[a.parentLocale])s=b[a.parentLocale]._config;else{if(null==(t=Ya(a.parentLocale)))return ha[a.parentLocale]||(ha[a.parentLocale]=[]),ha[a.parentLocale].push({name:e,config:a}),null;s=t._config}return b[e]=new ne(se(s,a)),ha[e]&&ha[e].forEach(function(e){fa(e.name,e.config)}),ya(e),b[e]}function pa(e){var a;if(!(e=e&&e._locale&&e._locale._abbr?e._locale._abbr:e))return la;if(!F(e)){if(a=Ya(e))return a;e=[e]}return La(e)}function ka(e){var a=e._a;return a&&-2===h(e).overflow&&(a=a[xe]<0||11ze(a[g],a[xe])?Pe:a[w]<0||24ea(r,_,o)?h(s)._overflowWeeks=!0:null!=m?h(s)._overflowWeekday=!0:(u=Qe(r,d,i,_,o),s._a[g]=u.year,s._dayOfYear=u.dayOfYear)),null!=e._dayOfYear&&(n=Oa(e._a[g],t[g]),(e._dayOfYear>Be(n)||0===e._dayOfYear)&&(h(e)._overflowDayOfYear=!0),m=Ze(n,0,e._dayOfYear),e._a[xe]=m.getUTCMonth(),e._a[Pe]=m.getUTCDate()),a=0;a<3&&null==e._a[a];++a)e._a[a]=l[a]=t[a];for(;a<7;a++)e._a[a]=l[a]=null==e._a[a]?2===a?1:0:e._a[a];24===e._a[w]&&0===e._a[Oe]&&0===e._a[We]&&0===e._a[Ae]&&(e._nextDay=!0,e._a[w]=0),e._d=(e._useUTC?Ze:qe).apply(null,l),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[w]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(h(e).weekdayMismatch=!0)}}function Aa(e){if(e._f===M.ISO_8601)ja(e);else if(e._f===M.RFC_2822)Pa(e);else{e._a=[],h(e).empty=!0;for(var a,t,s,n,r,d=""+e._i,i=d.length,_=0,o=le(e._f,e._locale).match(ie)||[],m=o.length,u=0;ue.valueOf():e.valueOf()"}),n.toJSON=function(){return this.isValid()?this.toISOString():null},n.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},n.unix=function(){return Math.floor(this.valueOf()/1e3)},n.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},n.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},n.eraName=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;tthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},n.isLocal=function(){return!!this.isValid()&&!this._isUTC},n.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},n.isUtc=Ka,n.isUTC=Ka,n.zoneAbbr=function(){return this._isUTC?"UTC":""},n.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},n.dates=e("dates accessor is deprecated. Use date instead.",Y),n.months=e("months accessor is deprecated. Use month instead",Ge),n.years=e("years accessor is deprecated. Use year instead",Ke),n.zone=e("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,a){return null!=e?(this.utcOffset(e="string"!=typeof e?-e:e,a),this):-this.utcOffset()}),n.isDSTShifted=e("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!d(this._isDSTShifted))return this._isDSTShifted;var e,a={};return Z(a,this),(a=Ea(a))._a?(e=(a._isUTC?U:S)(a._a),this._isDSTShifted=this.isValid()&&0 JU]o a1D X eq ov y { Da&M ) v q + 64Ax ~q    (>HMq g-q ' 0q E!G""g# $&q#(n+)<*O+R,b-lq¡./ .0=1 D2P3W5^qá_6f7i9 m;1|</=4>;qġ=? Z@eAgBjClKq5"xqšDE"F)G1H:ICJFKM_ RM_Pi6nNsqơyOPQ.S5U:V@X CmOq ǡWY`Zp[\ ] ^$q ȡ5_9`Ca"Eb icwd qɡe g;#h%i (j 3kAl,Dq ʡ!qmn o+pJqˡOqQr Xsz3t,/(q̡+-u Zvfwlxo5yz {q ͡ |};~?4 ETa Ρ)i-D#HX]`M4z''0a϶wa.%q ѡXu 0aҡ]6q ӡ $ ". R_a'aԡ"rw6"P$m".[0"] "jYn">H   "&?0Sa x%>; Lq ۡ#) ."<OhQ Xa޹m;aܡ]b"]@"7#Ns"]|"Z7`0" 8CLIaU8 54!"q $;!n^Q`%ea(t&'(T2q R( k\x)* au7 aa0+I, K-7V"$.74"Bl/0051 >"J2^37e4 "( **6#bq  6 70#8Uq d9)v!:*;:a*a +Bo  ", Nln"~&5"]\a< =Y>?@:ABCq #:F _GkHq1Ia]q vJ KwL$$) Ja/TM*N1RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE78-EUC-HaO Q SV[Am?2aRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!!]a !!]y" W 0&RJ-U*s H # Dq0!eQgJn"xR1S3T8UAq 1!CV MWXX\Z`['e\q 2!!]I^4+_a`{a~q3!ba!(cDdJeR1UfYq 4! ]grh i"a5! ;jFk=[q6!lm#2?nHofpmqtrvq7!ws{t uv%w)x, 2y ;zH{P|a8!U} i~ JU]o a:!1D X eq ;!ov y { Da!   (>HMq ?!g-q ' 0q @!E!G""g# $&qA!#(n+)<*O+R,b-lqB!./ .0=1 D2P3W5^qC!_6f7i9 m;1|</=4>;qD!=? Z@eAgBjClKq5"xqE!DE"F)G1H:ICJFKM_ RM_Pi6nNsqF!yOPQ.S5U:V@X CmOq G!WY`Zp[\ ] ^$q H!5_9`Ca"Eb icwd qI!e g;#h%i (j 3kAl,Dq J!!qmn o+pJqK!OqQr Xsz3t,/(qL!+-u Zvfwlxo5yz {q M! |};~?4 ETa N!)i-D#HX]`M4z''0aO6waNK.%q Q!Xu 0aR!]6q S! $ ". R_aYx'aT!"rw6"P$m".[0"] "jYn">H   "&?0Sa TDx%>; Lq [!#) ."<OhQ Xa^9m;a\!]b"]@"7#Ns"]|"Z7`0" 8CLIa^PU8 54!"q b! $;!n^Q`%eac!(t&'(T2q d!R( k\x)* ai"u7 ai.ae!0+I, K-7V"$.74"Bl/0051 >"J2^37e4 "( **6#bq j! 6 70#8Uq k!d9)v!:*;:alM*a l!+Bo  ", Nln"~&5"]\ali< =Y>?@:ABCq p!#:F _GkHq1Iaq!]q r! vJ KwL$$) Jas!/TM*N1RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@<?@< g` ^ga @>y,8" 0RJN>\s i #DSqeQgJn"xR1S3T8UAq @CV MWXX\Z`[eq \]I^4+_a`{a~a@ba!(q>cDdJeR1Uf$Ygrh i"a@ ;jFk[qzlm#2?nHofpmqtrvq@ws{t uv%w)x, 2q 6y ;zH{P|U} i~ JU]oq r6 D X eq @ov y { %aE. v C + 6(Aa)a m q jx~  (>HMa@g-q q' 0!G""g# $&q @#(n+)<*O+R,qb-0l./ .0=1 D2P3W5^q @_6f7i9 m;!|q</=4>;? Z@eAgBjClKq5"xq@DE"F)G1H:ICJFKM_RqZM_Pi6nN"sOPQ.S5U:V@X CmOa@WY`Zp[q\ ] ^$_9`Ca"Eb icwd q@e g;#h%i (j 3kAl Dq @Rmn o+pJa@OqQr Xszq 3t,/0(u Zvfwlxo5yz {q @ |};~?4Ea J>T-DDHX]`,4z''0aUwa?.Fq @Xu awa|C$".R S5_6CP!m[0C> !KYnC>Ha O # 6&q   ' ?0Saa@#) ."< COhQgXC>@6m7#Nsad!9`?Fa@>|#;7`0C 8C-Ia5a8 l!"q (w$;!n^Q`%ea@(t&'(T2q 63( k\x)* a @0+I, K-VCo.74C>lq +/0051>2^37e4 a@(u **6 bq !g 6 70#8Ua@d9)v!q #:*;3:*o< = a@, >Nq _?l@nABC&5a@>\q BF _GkHq1Ia@>q *WJ KwL$$) Ja@/TM N1RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE 78-RKSJ-HaAO Q SV[AmS aRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE78-Ha!"O Q SV[A!am?2a%uRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@<?@< g` ]gwa@>y,8 em t R 0RJN>\s i #DSQ 7 w WE$$a@q _!f$h&j(l+k.o1a~q 8w =zyHOqeQgJn"xR1S3T8UAq @CV MWXX\Z`[eq \]I^4+_a`{a~a@ba!(q>cDdJeR1Uf$Ygrh i"a@ ;jFk[qzlm#2?nHofpmqtrvq@ws{t uv%w)x, 2q 6y ;zH{P|U} i~ JU]oq r6 D X eq @ov y { %aE. v C + 6(Aa)a m q jx~  (>HMa@g-q q' 0!G""g# $&q @#(n+)<*O+R,qb-0l./ .0=1 D2P3W5^q @_6f7i9 m;!|q</=4>;? Z@eAgBjClKq5"xq@DE"F)G1H:ICJFKM_RqZM_Pi6nN"sOPQ.S5U:V@X CmOa@WY`Zp[q\ ] ^$_9`Ca"Eb icwd q@e g;#h%i (j 3kAl Dq @Rmn o+pJa@OqQr Xszq 3t,/0(u Zvfwlxo5yz {q @ |};~?4Ea J>T-DDHX]`,4z''0aUwa?.Fq @Xu awa|C$".R S5_6CP!m[0C> !KYnC>Ha O # 6&q   ' ?0Saa@#) ."< COhQgXC>@6m7#Nsad!9`?Fa@>|#;7`0C 8C-Ia5a8 l!"q (w$;!n^Q`%ea@(t&'(T2q 63( k\x)* a @0+I, K-VCo.74C>lq +/0051>2^37e4 a@(u **6 bq !g 6 70#8Ua@d9)v!q #:*;3:*o< = a@, >Nq _?l@nABC&5a@>\q BF _GkHq1Ia@>q *WJ KwL$$) JaoaIa@/TM N1\>'3fGC>bl! Eq @  oEB:w"'aOJI+C>F|C RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE 78ms-RKSJ-Hacb`aAO Q SV[maCLRANrAS aQ 9 >1>s" F1N9/B%$7Bq _   aRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@<?@< ` ^aa@>y,8 em t R 0RJN>\s i #DSQ 7 w WE$$a @>h(>GC>&e' wqzya/]eC>C|C>|>C>;|zC>w|6C>3|rC>o|.C>+|jC>g|&C>#|bC>_|C>|ZC>W|C>|RC>O|C> |JC2G,]zC>X|C>|SC>P|C> |KC>H|C>|CC>@|aK7R! 8HO`?Fa@>||;a@>8|wC>t|3C>0|oC>l|+C>(|gC>d|#C> |_C>\|C>|WC>T"a\q @yO |Q SV[4a 8m*: em t R 0Q 쟽nGFEDCBA@q Ssmt uvwQ @x543210/.aI&}@q \~`bdkas 9zya@1 :HOa_`d|RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@<?@< g` ]gwa@>y,8 em t R 0RJN>\s i #DSQ 7 w WE$$a@q _!f$h&j(l+k.o1a~q 8w =zyHOa]eC>C|a*@>|>C>;|zC>w|6C>3|rC>o|.C>+|jC>g|&C>#|bC>_|C>|ZC>W|C>|RC>O|C> |JC2G,]zC>X|C>|SC>P|C> |KC>H|C>|Ca@>@|`?FaoaIa@>||;C>8|wC>t|3C>0|oC>l|+C>(|gC>d|#C> |_C>\|C>|WC>T"\>'3fGC>bl! Eq @  oEB:w"'aOJI+C>F|C RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE 90ms-RKSJ-Hacb`aAO Q SV[maCLRANrAS aQ 9 >1>s" F1N9/B%$7Bq _   aRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@<?@< ` ^a@>y,8 em t R 0RJN>\s i #DSQ 7 w WE$$a@q _!f$h&j(l+k.o1a~q 8w =zyHOa]eC>C|a*@>|>C>;|zC>w|6C>3|rC>o|.C>+|jC>g|&C>#|bC>_|C>|ZC>W|C>|RC>O|C> |JC2G,]zC>X|C>|SC>P|C> |KC>H|C>|Ca@>@|`?FaoaIa@>||;C>8|wC>t|3C>0|oC>l|+C>(|gC>d|#C> |_C>\|C>|WC>T"\>'3fGC>bl! Eq @  oEB:w"'aOJI+C>F|C RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE 90msp-RKSJ-Hacb`aAO Q SV[maCLRANrAS aQ 9 >1>s" F1N9/B%$7Bq _   aRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@<?@< ` ^aa@>y,8 em t R 0RJN>\s i #DSQ 7 w WE$$a@K a^ } 0a|^a#!gjQ @1B0q>IBCvaL5eXqdb_rq :sRPSa zxtuNMLKiQGVjw $+ "  aVKN8}=Q Z2C@C}aj(hQ & |Apa/]eC>C|C>|>C>;|zC>w|6C>3|rC>o|.C>+|jC>g|&C>#|bC>_|C>|ZC>W|C>|RC>O|C> |JC2G,]zC>X|C>|SC>P|C> |KC>H|C>|CC>@|aEXHM8asq&vky`?Fa@>||;C>8|wC>t|3C>0|oC>l|+C>(|gC>d|#C> |_C>\|C>|WC>T"aAO Q SV[a\A끽mS a`d|RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE 90pv-RKSJ-HaAO Q SV[AmS aq     a!$&%8RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!!]a!!]y" W em t 1 0&RJ*U*s H # DQ (!7 w WE$$A0!eVq 0#gwR1S36T8UAq1!CVMVWX\Z`['e\q 2!!])^4+_ah`{q 3!bGdJeRfYa4! ]g h i"q 5! ;jFk [}q6!lm# ;nHofpmqtrvq 7!wtw)z H!|a8!U} i~ a:!1D X eq ;!ov y { "<a!   >HMa?!g-q# 'q @!E!BG# $&$%"q A!#(*)<*O+R,b-lqB!'./ .0=1 D2 P5^qC!_6f7h9 m;1|</=4>;q D!=? Z@eAgC.lqE!DE"F)G1H:ICJF(LMM_Nsq F! yPQ-S 4V@X C@OqG!WY) aZp[\] ^$q H!5_9`CaE*Ubid q I!e g"h%i (j 3k/Aq J!!qmn+$o+pJq K!Or Xs#zt,'q L!+-u Zvfwlxoyz q M! |};~?Ta N!XiE#HX`M]z"XZu0"6ENaNz% aN|-%./q S! $ .0< R1`a*T!"r%>"P$m(".Y0$] "jYn"H6P "&??"#$)O"]b"?@".NTt"Q| O"Z7`" 8RC"Me"(t($-aTDx%>; L %d"28 K!C%Z& 'a TE2&3 45)7Q8f9t:;b"Je0w"\(#0#U"d2v*"GB ", /N"~@"]\"/:,k"7$Q" v /$"/T)1"2ae9+, ->/01H3?0@=A18B93:ZABGCSJKLMD*N'\zEH Iq w<1T7U4 XbcawWeqwY$!f"g&j(,k.+l/nawtu:{|* } "0 JDLCOBT Xfq }!OLR QZSXU[nHa}m`vRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@<?@< g` ^ga@>y,8 em t R 0RJK>\s i #DSQ 7 w WE$$AeVq gwR1S36T8UAq @CVMVWX\Z`[eq \])^4+_ah`{a@b<q >dJeRf$Yg h i"a@ ;jFk[qz}lm# ;nHofpmqtrva@wtw )q 6z H!|U} i~q r6 D X eq @ov y { "a E. u C + 6(Aq jw~  >HMa@g-q# q '!BG# $&$%"q @#(*)<*O+R,qb-*l'./ .0=1 D2 P5^q @_6f7h9 m;!|q</=4>;? Z@eAgC.lq@DE"F)G1H:ICJF(L MqZM_N&sPQ-S 4V@X C@Oa@WY) aZp[q\] ^$_9`CaE*Ubid q @e g"h%i (j 3kAq @Rmn+$o+pJa@Or Xszqt,1'u Zvfwlxoyz a@ ; ?JmTEDHX`,]zCXZu5ENa Q|}~nF a-F.t/q @ $ .0< Rq S14`2%3>a@P!m(Y0E> !KYnCH6P )??C#) CpOC>@a \&] *,&a4b5J708q 9KN:T;t`?Fa @>|;O7`C 83ClweC(t(-a8 l!"%{& 'ax P}"`fK" >$M [fq !)X[Xq@X4D [ 3ā)PH*%n)$@%p? & CN( 4B&(|`z4<h6 $VbF|R$!<01~2P ZJ hbRrV4V@P9,^$<l 2vR"[SH,$*pV]fry>"Zc< N|JT<SD0J n," fHl|" v.6DLRH0T   * Y [`6DHN^4znb$:d g fV,4 lP pp\@trz&d @ X(,6B_jH UL K"O= 18c<1D+"bN9R%ARlN>1NO<!( O@#%ZT 6 z  < # !")f<*,#4n[8$2\<@X4(<F Nd$-$98 XYDR07D7<2f|Z\-, H  LB^d"_@84 ?&+ !tR| 0a bA(&% 1HSLb5B^P(z2   B:ITS* g"7H/%` k&40e)lJoR7'P%Ve J #=' hGr8<,0 .>Yvz^`.Bbyb*nrh+!j0J- &=2 +,D)D F J6F l\RaOY @5B +SB.O>tZ  ~ F< &1J #%& ',3 %.~(VA7  L94=!4 Zr6 \MHJ :D &HnD__/2HD 9P 84r&'- "8x J"H !$Y:; 6m  W;J[,(P .0\8RL,93H'F}m67M%  O8~hs$4L$B>vxvv (J"yFy˂fz~ b*` H>((  ,Z6E:?8 o2K,P$:*$f &0F  Bh &b BB Ldl45P#il[`'!j; / &&o^-K |YXEd$UQT   (>Njw/&2WN7 A"{W" NYZl  Of 3BXQ  8# r|~ @+. (4   `V(!J' *'c(H eNx   lg,5"W9h)6! 34ePZV4 l&rTC"=rO87)2D#A\j# R~ L67jH  ;u$H2

    / ;,&  } < lb ΍whJ B  8 ^  R. a   8Lv^}vC+ #6 Q >Q>\p4rD t? S>pmF E2= 3H MhYZala*`*J M*d}L&8U J)J, 0 ^] #.+!*% r^l>(V  DF5,D/bS LA60OB', bH. kF]!`"snA .axI 5 %"D q^ D" e΂4EJZBmt!0[/O?^( l+DZl5O\+.,}9BG^4|aKH '"  E5[L$ p~4  Zz$ )u ~@ ٖl&R ZJ*3+&#*J& Rih|*LW$ -2-^ Cf1@gB%fB ! X!  "Y`,D7$@  1\149$jt ?^n`# D_P_Rv S4Kfo81$"R2/PA  '  icvzlq1~ &g 4Jd$ l,6g h;U~ib.w0',M@ah(?Z q&(n%^n j# !# t4 ) ukn , v@Nd:^:  .J! p.'U# _4  d + @:2([7 ZD56`QZUQTgv &3 )p; T"$HHE$ % >@X " % +h>" &HR #5(#  v 7"xT2 <  *T P%.n B  S/^+$1+ U+ 94 X^  ,?@G.!62!l 8X $VpSYNE 5` dTA#;P*dJd LQ2f%&j O'8/@ "q:JS VT&RHF;eRAFJw NU2 7: 501B%F.H `+ ;2 uv! w[ *! >Bx()tT_< {wA:5.!i$rl bZX'؁f<tuED#?V O.22  /  f ,3x_&1{RrN=!% 6  !  ($0#"10 ' (>Z>?8!0';( 4z~`V>:8 ^#uX0s ,' >G4p \v 4 5,!U</5B<#~N n%"P [  Z(B&|fvRVna_ 8h8_ Y34S*gpl\j |'V'Ha6!6AG!,T *0=}(MT89 V&Z& ,*5@=>E Fy@pb-B  Pch[})`}R-18H7Gq߁| X^H$Xz W&-\'$V(hG<39x=+bWl5"-& !D &kZ L.x  z ,fY$7.Y( ╣h` Zv`" nH |  Q,RJvR 8}!X<(/"  6-, J96] NP  #X  $P/4;:%!2~t H&U>%&/6#"' qfb o08 9F/1F|*(o?xg(%b3%8>)d2~Zd"B |@v>RR ~ ,3&\ f|$!{CVz*& G& t0 vnrx큠 |JGY"QpM v- "! db*_jX ,J/B`:f5.b7'26D  p * d G*P}t$e ,X",,   :>}':d, J(MR TRdf>J"! &&P\,n:vNC.?/N( :d- $-j"! <"'?:- %R/ :x#!B?85! & 9(shf  "Xt" | zF \H  d~H, k_0l2, q |b.* T y>b  .~^  \`v,tMF3j %JVf Hh& Tr  >Ї 1x   | &L`=lPdxfk ~h,sb)zX$4I  Z *0F0J".r|8 T ~s"`> +)BD4  ˋF$\b(# > <ۑd!9I+ f.\ rt`XnPQj~8"0~4_|8bGT4e RYa20HNwt ,Ins>H\ F^LDPF\B"0TV b$^DY."Pp v ~ @ d2Z"&!&o uH9 #( W[^C.!$U^:lRF+$S<*d ;3 L=nk$j    2AWb (p^(92 $K)$4Z\L (  `Pv_TZ @ 0OPU63+:7 $nP^ 8')&9 % T$&J&t3B98%!0%H- Gg 4>|j0+G:Ora0LASU$;:=^G /U21')./LV$ $ ~5u>, d~rn2<(d~>+#2 =6 0=<):HVv 4 mC,$=N)9 d.lt|4B3R-NA Ta56V]2W1  <0 ")8 %9+:tF #\ 0^ BLN^`4:)3"8w>& bz-01*)b45 L(l+ 3 ;,#g`UBCxA1J U.5C(0}mLC=n< :gL?82b>%Fm(8[a0_(@A#8H,gEf o , : k %m r!& *hFP$x4T  > !  V,8Lva` "(U2#.^2LPF Z9 |4N2\t]U< 9L Y BsJd/+7|f0e&5.'!$1In3 X%&S27 8."Mn; 3 )2,' !)$FE)2* $0'" )670-@= x _6D T n9`(+/RI$bdH ~?! &;?.EuL_eNSFO  ;Dr.  j@"hTOfizG14-# nU8 (/4Y* p?kCk:*+xW|EVq.1L(Ym0U^m4' B?RM*Q|$->G.9) '(^ r: ! RZ  /&6Tu| Jw41* $M<&yc2|$z H 7"&  =`" 3. }J'tb bM *V ""\L 6$7'`a4&I<(Y  ?LO0cL?LqDP. &1 LÑ ORl$ ! A f& 44 o}N.  ,  $3 !(  ԑ X,)(V  f T2@by '.Akf!.hz$R,mG JiB#"O2O*'z8= g$G.J7KN MZUP /0o ):];zF NU6 E .+N/#|, :!$*)E.#!:7{(# |8:, Y2US**C8VC<1& #N30h L1!veBR!s`Q} :s@"8;%JwvNy8ES9QX)D !hGhe(V=b. Nd!l0DR|%!nE8o&6*/,. -qT^an e/D"} )$EFO&A!nZ  id'"?^Z H "SB +  "f~t z"1wDf4"=x\ ""(J.'8 l,! 7:#3(1#"uhr "|U\ 'V"Y"?j &RRGNRW. 2DIIL=-3%"RBr     #%R'7#  ,JQ   : @4E,/"'DK2% H"l#R Zv0Bt$#cN  1* -& % 2'#zU. $;&!HU$  RK/"|( + J5 =J # -,)S #\&z34  < r  p\#a+2 ./>M,> @V H,I@-#d 20 KJ79If$'@Dd   9N O*&e Hc(@#$&i5lsNk hS\Wb=/dQ#)H?>G 2$KkBts`CE$Vn +GT%8OP;0  ,:8 g,F ?6 ?*+H#hzZ  t$tR /$tN :>6iV> .+ 66Nn$wR'&dL$  $x=>3*7 ..$z$ t ,' 0  &'!(4%lr`%! ,7 #x.W8vV Ve,>*Q)# ?o8^G4-RSO oh $9!b9$+b o( 8*o'#h*u3h2=t(%I<.+* , #%{h*  =En 4>% %:!=0 "% '$#%ђHEVgbH+6 L; sTD'BIIX % lV z8&jn^ 0x/% 1 #0nM&%Rvt% -$7"#D3 &% ,#1 0 \X`"!(!$#  .P~< $ ) &t^S ^V j 08$&ar &AJ?U\$~B,D&d}~1fI#!\X%"vXJ:$SZq2 W056(3^7 ah9A,tb!@ &kL "B[|ydK;&o'DSK8Vxu|$!6 h};Az7% -0J) *X^ *  "!'5u}$  F )"#\ UX f'Xy4<5!'iz2&%  $)(EpX? ,Q` '}GJ;  NRO' pX 4&- G!, &# :~  .b  ,1NP0n3"6.)OrJ7" , o3:s(f  e$8IvC'p?Pk J;!0qE("##: &-3^?'Bt&4|7.|i U'jWvA*[8A xm;@"-P{nE**e& l)(! 1 Hz )ms] H)vt lL   )vb %& h)xɃ  Kp&%B? +V9!B) ,j~ vv |p$,YP7 "+8C^c1jqD=*QX1R Y @Qt *<K*df"*wR]7 5 "%-V '`T *7  0 D4"*I63$+6H* p  3  *m  " *|s  6 =*0G0B% % #D[J= .3,-=V?%^f`b .^  *,*љ '*י Lp(F  |6+Q*X!)0HX     "  x   (+8^frJ`B%\#" %Y  ir..52JJ#+bf%", b;:kjU<7Sb?P )4 IB+jF '+kxL:QF" UJ?VE6?H!-L=B=(: +q%49+si+sl (4 Rh\Tf  +w  +x+y>\ L K* ' d,~,~ /  <,)zlzt  !0,?V#J= 1 :G@=6K8*G> A"VM l~ (?6= ,q3#( ,|' "\ ,la Q* ,!,Hpl ,A#zp  fp,,,.-,3TC##3?"G05xeBKR - 4J C,VTl 6x b h "  tv -418( % P-3 -7.T/ <-DV ( 4 H-[]h& T 0jFnt+F9* / %H '%L+ "6GA &+ p -t472-uh|-vG8 -x$ Lf  F-|; $5,1 n-| : (!< =D9 rlr XbL.%+.QPO.OCl! 9@A B*).+  4 +( -@Y 7T8.[   ,' * h@JHj<  vrB  =VhI2[0.`B:EB 53Z l f n8  B.Ǚ*N@ .ۙ t~ " =6Jc.1 (.>n8D."@Hb_ /V  ,. /"a +$* . /3fXF7'`Tv  "/KoTU $l  p ",\*" /oy 6dx! ! V  B/u5/Ђ*"   )6"Y Tz  &!2+Nj ,/ˉI@ "1"#,dFL 6   +/K8/>R S H9):36# ?FA@#0уBF18    bB0: (  r6V-0M)(v 4;< ! f$B* F 0|R@xlZl#0]ÂXv j2)&49 6( 0p)%^  0rR $ 0wXV "0|3` Dp`0x<j0 ) ( A <#:  1  >1W  \\~2$ VfF15 D  1ES@``/.PAax92#"[*1e 1q\ N 1~    ZT1  9(!!8 /1}%1p6% ' ?V\v`1ßM-t^Bf:  1p<   * 1r(z`&\<Hd2y$v2 z"PrrB 2"G87 62. $zP  . (2DUdjj!2N 1H#-, .1  1#e-4.2qH92{P< 2 r#5s  *  ' 6-'2X n/<V 2[HB:L 2pJ2rH0$J8H<.%2~ ~ZhXt"   zn,33 j  x  *~ 3ď`H 3ДFpF B d=3ۚL~"4`  H !XF$\, b x&|0J 4N*4TR  X )"+( 4u*6B4V <~4k n^D|fXbF*h*4@P4@~:pl B  4  6zNe2<^FD>4鎥*PX :&&z`7jf8`T <D&2y"d&5)(p 5/$``,H62 5;i`&FjzjD5Ir)t2kD_4p||~/y *26@́6NZ6@܊6Rc<QP6]Z6\; \7>nU),([M""14")*-7SN7+Oׁ7,W7-[Ӂ7.q>7/U70i71b72[t(74Vn76ze.78Vݬ79z?7>Y܍7?Aw7EW7F{ Y7IT^7K{gX7NVߴ7P{ +7TW 7UW1{n7ZW7[|D|7]R܂7^|7_Qx7`|<Sjb7h[D7i}]7j[ց7k}BmzD7pPW"7r}#B7uE7v}7w`m7x7yX!p7{~ncZ >#7XЁ77XQ77Eas7E\7Mf&77Y܉7['(>7h܇ 7a7I7I7Y&ЁЄ7g%7bH7$U7I7l7Yܘ7d7E܊77F^7jS7Re^7Dz\7ZR؃)7O7E77~ݏQo{77~ݔ7A^w7C:767L}87Ȃ{Lj7Oދ.="7=:c0u7[ݥ7փ U7[ԁ7jW 7[B7ބX7V7q= De77Zߖ@i7<Ycd 7Wܑ7B@7W 7EC`;P,7a%*77\܈88E݂H8EjzA8Fܢ8S8 \ߚ8 ~|8 h8 8K'8Ph]-8]OT8^zR8!]8"j-(8(b%8)8*^$08,T]80^Y81z82^:83G84^885q|$88U0h8:?zaI8>Rz8?Y8BE߁8CFr8F_Tt8I7%8J_S8Kփ8L_ݘH8N8PF8Qh8U~ׁ8V8W`]j8Z;|8[`ݼa8]z  w&8d`eX8f:8hhޟ8j8lbC8o^8pLb8q8sH%8t98u[ׁ8v78wa<}8ya8zal<8|8}a8~ă8a8n418b3U8_B@8UݹW`cU8,|8b8ZÃ8b8Ie<8bu 8sN?@rU{8a9b8Ix<4Ul8[Ձ8a[q8b8cW8[ܸ 6؂<j)yh81_fO%8R8pui2B8dՁ8̗W8d8ϗ_u+8Lܷ8ԗ*""8Ul8ܗ%8e388eG8JD.418\u8=Q8A0VR8' 8[')8U` i8R)8Kr8fWZ8,\W9U%96ă9dܱF99 f9 M 09a9P4~c9L}9P!9g>9ZE9Fc9f9gh9ԃ9g߷40v9%~9'h49(9*hݓKn9.99/hܹt91]j98Pd99Cwn(i9?c+9@ e9D[ݢ9E9F~9G95+t9Ld܋9Mgz)bq19URu 9Wqw9XRa9[s9\bA9^y9_b~n9ai9cbD9d(9gblg9irY g9nQsw9pq~9qE9rp9sFܾ49u>ǃ9vF܅Ro9y7"9zEz9|69}Et8r97#9E9W[9R%O-:^99Mަ9Q9Rݔ iTC,9D9M\o9g B"9F"9hs9M?B-"9T$9Yޱ9V9CoH99b9Id%9Q69N9Ae9|9UQ9Zh9@ݫ>999@ 945f9@d}9Šڃ9@ 9Nh~W?9R 9OBVz(k0dFr9MݕF 9mr9F܄Ȉ9Q49A9D݃9Aܣ#9z9bޜ9RY9Bs9RIx"9PߌY9iу9C9@t }9R޼_9S9PɁ9U9@E:T̓:BƑ :W~,/!: bFh?:Z,i {:VF'%Јf:6zE:Wރ:Z:b : ):"D:#q'*:&b:';z~~-:-Fݖ5b:0^}:5Fܠ:66݃:7E:86,::bG؂nj:>_ :@F'y:BZk:CE;:D[D:E]:F`E:HJ`k:J_G:LIݯ+:Pa:Q@>ȇ(:TaG:WKܛVp:[dq:\Qew:^:):_J"ZȂ2e:cc7| >:gRy:ib:jKܡ:kd;^ }:oL܎<6=:sU :tLJ:wf΃:xLމ-:z::{U݄:''<m:x:L3:4d:L :f:[$:fk18:^p :fc:L:f:Vr:8у:N:}:;:MߢI:tu:Q*:hs r:Mb:j3<lv:F:e fkD8:OM:]:b?::`z:gJ:O:=h:P<:Z=8::PI:p<l:QߏU:Qy:Rޤs:tz:O3Tg:?+:R]:`i0!!1:[:EQbA:SX:?Xx::iƁ:T:bC;::":RN:>:R%::b:P߃:T!u;wx;L2;w{;Qޗ-;:^;R; t8D9; R޺;@ȃ;Rޖ.;;U݁;x\ ;]A=;A#Nq; O;!z: ;$E;%A2 ;(CL~g@;-5&wr;1@p;3z;5Ir';8Z ;9@[;:x ;j]M;C;eH;_M:;Pބ;e(K;FE;m;_܁;YP'9*x;S ;02-FD;H!;H:];Eځ;i;R/;ĐxWh;bK;@b;b;͔';c:;Є Z!;c4;tE;R1;>;L%;ޖ;c;>̃;R;t0_;dܰ;hGU;dܓi;+;b݉8oc;S.[x;P;B ;C&;]<b'<<eځ<<eׁ<K<bPSx< ܃< bE< ?R \L"<^<=btb<be;<j"G`<f< K)*wx?#=$[&T6=(=+E:=,=-[܀$q=0Yp=2E߳=3Za=5FЃl=77-=9E<=:6 m=>Pޥ=?Zn=APޓ=Bj+=COx7#=Gq=HPY=JO=K[(=L\ƒ=MQ|!=Pj =QPV%=Sj=UP=V=r=X~%=YY`=[L=\|Ӄ=]^}ȀB =`lmUUKVnY m.=mN!.[:jMV9Ok*t}Hz>0>RЁ>l9>C>'> J&> n> R*>9Ol>gܭ>CI>E >9>M/pG>qp>dݨ> r>"\ܯvc>%{C >(h߁>)j>*`>+S>,[>-L>0`ou>4]>5c0>6W>8bI>9]>:R݈>;e,>>RޥI>@<H>BGߡ >C5^{G'0w>Me>N#qjSK>U^ܝ>V7:{>X`$M>Z=>[OܷȆ@>]VC`Cd'>egݘ>fL}H T)>kO@>lp3 ;oT'*\%J7'n?[>Cޝ>5l)~>`>6- mG4>CA(>^Ѓ>CvV>#;>Du >b3p/~u+>JC>r>K޳>Qw>Cݧ>QJ $ >Z܊ >upm#Ja. !h.>C>rf1>_>@D}Y>Q6>>]ݣ>+>XH>qT3t>Q>Ђ-EB>gެ>M F:>gށ>ۄ\>\޲>c.lw:y1u\>A܎>v@!>C޶>xz>_.>XQx/>>i4>IIz:>P>sR>g >R4aMD7h~?e7??C(? b? G? ]h?Gё2?k[Dc"wa4Y3fVO 4MZ`*#@4jDg v%^n 5>?AEm?BOUaNK`y?Jcޗ?Kcsx)k@?SW!?T g?XCԑ ?YBJjB*OD?d@?eO9D?8N j{6RPS ZIaZn:A2?~iJ?w6not7?`} ?(E+M]xA<1'?h޲?xSpUvW\r?R޻?/kJS?[?2i?I%?5R^X-@5~ h56Wpc+"3a"l[y< qr:a?c9?^tX) ?C;?@eQRM?W ?|ڊ[p-'Bu*?]܆?[W$?H?Y̑?uS*H xFU1gBQfJG&v?P ?t4%n)r;S@~"@ `W@ AG@ ۃ@ AJ@L/ruY@RBB@D@Fہ@@Oȁ@x<qK@R3lЄ$]@"O@#I@$P@%[)4 `Ȇ=@*@+@~@,_@-@߀s@/nۃ@0A@1PD&:S$@8Rݤ;@:Q`@;Lߴ@@WM- @X_{a4*p=xHXEX@eZ*@hUI@jO߀Y.@mS3m@oB@pl˃@qE&@rhrA=@wE@xqw @|aޫ@}S~@~~29x@w'@bޛ@Sp@Ur @?Y7hK]@Bߏ@S@O@S@Cw@TJV]@ZS?@U](}@E a@=@CM\I@UG5N#DY@FD@ER@Q5@f@Dܴ@V7*@Lފ @fOB*#@bf@6#@DO@WF@Pݥ@ln8#@[~@W@E@X@ET،@X&@R@X| @D<@Xy@hP1@ez G*@E>@Z$O@Eޒ@y@CNdP@Yك@Ef@mq@F('@Y@[E@Z{@Rݩ@%A[ߡA72AE޸A^gJ"A ^A@0A@A[ՃAF4.OA[-hAFDA\tuAGܥA\IYNF 6A%GzA']ZA*GޤA+\8HA/RЂqRA2#V6A9QܼSA;S_uTA?EqA@^ #ABa܂AC^768AJ@$AL:ރAMD:AN_:AOZ܈q@AR_cAS[nAT_rAVb6AW_c/AZTPM!A^փA_@ޞAa`1&EF,AgIߴAhyqc:CXAmR݂Apt|EAu~ܦ)AwaAyAVAza;A|O߷1A~aӃAbߝ~Aa=AJ݀A`#p'A@AbŃAEpAbՃAK AclAR߁A:@ADߎZAoAK6AAUAd*+&GjAR( Ae1EnAR@AK72sAF)A AMAfV ACuAfgATAfsCAL1YAwŃAJAÙEAPߜAiAM0Agg AP>Ag]pZVwALrAh]AMoAiRAb߁AisaAḾAiAM<A;VhAbJABrBoA@ɁAc'PAMY_AjEAMAjUz,AdݜA< AB#A`,|AÍAnANہBBFXB7@@BNZBkBOBk4B I܋ȁJ>B lZ[BOݼBDŃBOݽLNoB6 BC2BBLQB1B[%vB!mu>B%Ru؇XB(3B)[tB*QB.b!L3B1tSB2O߂B3y{}B6LKB7oWB:O0B;nBEU4Y.JBDdpBE=;FBGPDBHoӃBIPܑ9yBOQ߃BRP@8 BTpKdPU$79=B`PwBaq+2{BfPeBgqO$BiPBjq,BkQZ BnqBobBpp f[ b?8BxUByr."B{RtB|h.BLDBh ^ ZBR#BHBbBs( @KBC:fBs~BPwxBf#=BRݷUZBs:%BR&Bt9EB~/Bt`Bc޲ BtGG"x *_BRތ[2*B[FBcKBtȃBF݈BuBcB[׃BcެBq8 BS߂B?BS Buc*RH>FBXBv<oBZBv"(B[ߟBڄbBTܝ>CBw2#BT BwXBLެBwBbdOBwoH."oBUBx8B] BiBIByr}zBVWByB^9Cy<XC\&C>:Cd Cy/NQC CB$*CUCKƁC9C@ACFCSݸXCC`ܾCwzCK8C:4@C`]WCd݃CC|n?C"`C%CޖC&C'CdXC+C,CF IC/GC0SާKC2C4eC5?OC7TC9C:KDC;n3N69l#MCCJʁCDz}CGYvCJdCKTRCMh(CObL7CQCS@ݩCT?pCVKݍCWCXQ4C\vyx{lCbJfCdCfCݜCgcywCiIuCj?4s Coiq CrCtDЃrCv9fCx`ޛCy5xCzWIC|C~KܲЉZC4CS;C C]tS$' ЈWC:CDTA C$C]^ Cq@01*dv{B"C~( C5S\GE4wI,CD{CCDӁCCDCv&=vSH,l6,' $zCQCs929CSޥC?ׁ5I m"J4c}A$ {HZd"Ptb|DRDR/z2DXjD4DXKDzDY|ES] 8E^ܲExNd PE cE 0EfE|DH+Q^E@܇EMT= E#.  E0.E4hߩIE6e >`_E;]5E,nF Ekn;T #+EuBEvNuvE|g؇QE~ Eh3 E50FK4D%EalEuȄ*(EN$6 nVW`kt N>U@g ,AB1af)Bbr%r0qt5 s -XOp4%hF 8F|bF}nLH7]FOA Fox)=B7|4F@%FC!FC؁F6N<FWeFf}lOFS߸WxF4~FK FFqaj$FOߏFLFSɁFI*Fh1wF:<FIzZ;FhFH[Fb9F@Ff/wFi[FA|wFRF;xFRbF9:%R]RF\ FpFROF~emyFR]}F}CFNMFW~FByF?FGߞ.FpFd[F]p<FbY FO</N1FRFs/ #F> 0 24#L1:eK8GJUx]T(BGU5Gy3Sh?xk$,e2@!VI|'G4CϑG5} Xl+DAV,by<'8GODP/nm"D^ L&QL"I!\F rD,.N2/ GmSt>8* , HXGy^g#Gz86>8:R T-M?},&L dk^$  F-G PQ  )RHfhw||6x=(A.[(:Je(Q<$2f&dcGF‘G͝Ih]X| tU  G@ܔDPGߔÃGAׁGGA~@GWW6GBbvaGTGB~.", NN*vpGu>L"H6GHDܿ^H SdH D"BRHp HF-x.H v6~HqHHEHiCH!H|4D^ :.V$J`v\،`؋AHEXb.Ldp|LvH@X HANާRN>(4D2HtFr@>TVP4:Hc HbVBhvLFVH=Hd^)HГ Her/hiED2HN-C 1hIRnIWIVޕ9V0bhQЇx',%cIWIRcnIIR>I>I[#O6I"WzA> I%RwDJ :I؉yI.65I/b-I0R I2O|K[|O ЁB1.qI@EbxIBXLICPUIEXk IFQ>T#4eIOFwIP``^ISP܌IV;+ IX@ߵIYpKI[AÁI\70I]Dv60ЊQ;Ia" %sz[0/0mlAX]`}Ubg}DI@5=~J@^JA[ۃJBG^JCZJEgްJFZJbHJKfEJLtavJNBoJOf^dtJTLVJVC6<JYNJZMJ]MQJ^]xr7JbPJdLw]Jg@ݤ8Ji1Jk@9JlYXRJofJp_;JqBߟBVJtApJvdyJw?VJyhݵJz@E@J}[FJ~A|Ja޲gJEm3JUܚJEa ZtEJRJ6axC!^ 0 PT57090;0 =0?0 A0CY  0?IMK_ "fb")! i33 %%m%%q  !`0!!A$1$`$f $t !p$R[P]NNQmRR_*NNQQS*^bSg*u(u0 NNR ORSpYY7[W[b ef l_lMOPQR)RT5%[Z\@\2gNlp| u7:N,Sw$YG\E^_&_"b bgo kf lr,uy@BNa\N__m=ruuvx yy(K P Q$WYWNc*eH gl'4uvwP* b.S??\\^%b,e"k(q tueuR{QvRt&X0X \ ^_#c eb f l.$qt5u% v{,4;P R UUW4b! dfQt[ vxziyr=#V ![abny|}G& A QRV/\d9ewk(v!{,5>d:qu wzM | Xh.[OeoQqJd j q wzaz~T. >X)|>~i NI|'Q778fQ=/Z vq|}w8W"D\z&lKr RSQblsu-R2S $Ws2_"PgxGu?5m:T W2\^!bB cg#g l %prI uGwwx{|x|^O QR^TWZ-4cDegh2'mc/psttwy zqCu  NPcUut^ `9hm"k7km(r{ uw1yiy$}>M\  Ve1hknFn<%n5AwFwKxd4>eO [aId"-iH#kknEtJtOw_x z.g`#hn#w RM^XaRdrDkk o;u!yz!} O&hD>`QQ Rjess^tv xh c""& )='6^g(f#jMk'q qrsfw xx|~{U0 -  <5,C V[Hsn uvHxz{n8P0+.BQ-\i^mafjp o"y 5P,F:P-Q4V[=#p! r w zg ZO+ t@V]^_fjry'zlh V!.b9V pCpHpE~%z D$([KkpUr zp 4JH S=bk, nfhtkwFy>sf  pi^ 000>0A0U06!d%zC@;}E:2F;wgALLݤBPQpՃ%^ ^ 011118<.. ..[fEC~&DDFnqtWYo0HbI#rRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEq$RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEq'(RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEqWnRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEqXPRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEqrRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEqwKRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE c"?4cmn0J>|"4C\; bs]d+ A ",!$> 0\^uK$o, !~K]YY/j:]hK  AX]dUbg}DI@5lTYy4-U]\q-ht 6sp(5:1\3YV6q.*F_d  , 3[ UU't&W^d"Hg '/d]KV4AfM5P=s:T 'jB2P%jHc(mx:=d\$= ,9=&N9 i_H|T7D#o=h2pCZ u io"P&19D4 @=6L)!F2Wv[8&ohQV#1o.|+7$;7SZY UW-YCd- >G&Y P8q6DAQNdxK"q }GDHm6w,yAAXN{?o>_-Jj=/At}&AK"-d}= ?DaehC >0j!'J,lA[?Z4X.C' lC5Di&aDr7 H5#nB $aFMit8 @kM!07p?u&>?,{ i\7P-80I) en$dx-Df?@ KF?`Wt0GF cf&#A3 #Juz%#Pu`WdS~ yfV{xsw$;270Zcb+`1t9}H u R,%4?eHgZ>iKX_2 /h@vHB5&#T-XkBkfF ,}[MJ',@{$JQ,Y,/J%Z:0/LI7"UDS7.pwob#k4Lsh5Ol?N8$Q2(AJC5n,p py40*: R3Z?D+c0 ZUk Pp=>%j|)~P vkdZXvSFY > = S^L6YDEIUy${~9Nb I Y>2s1>];\ypM+JOdC6?B-v-# 2/0{`sgHSDCV&gmf ;>cNeo$W\<+p#yL_iH`^!#sXO@0;sQdqz.Qk 51q;C{"P [ 7N5T:V"O$8 g` +Kn^zB#!,9@axS./Av@TuKTH9>[d +kT 47o7Xs-v ,(Av>68h}1CnI9%~aA_ mA^\ atiT7b~^[hZY2q8 u43mj$ n<+5{,;'d2c> i*`+xGiAd 6;nzFJlx]c*oN!N?Drck )zc@?Zu/~@SriT }.~n)QalDPVw+= <aSBCt>*;IbIR WC|%Bt`;QDLbGX=g2vkHG TKqn-> C:S(MU, .&5 k]4Z3-tPi~4q=>cTn)fe4Iy?qix3( >|1~s`5kIDZBtIV^rJ7AnNlz? Q*GM =\Gt&P?pg:{NHb]@'&|`YVW=z xa4&Dcfe!(OTAF /3I oJvWbcjtYg0]Q` #)xOP#>(QQ|i@~*u(Kx%nGZ}YX _S8$wL>.mRpxn@E1#8Z|T!6]_ L9]B0#)|MJ'vKSQWNs fEnh~ qdu#HO-OWFFaO\ gWVeMedsH/xc.?pabknmH^~KED?#Sf"Q:t }B]$i9p":~W:#BTM77\)SVa ~% A"!)aNkQpW#L,7_~$:wOq_c I:C4/z&%EypW T)*(*E U}0kZZ+.";sDje)j;T& |W58va%W@UN#r@)x@{h1# ^K$L$ uk&Z^O6f>JL fm@f}n,F>'#rmvurB19(C(vkS,K%Zu*#@^Vf5U=z7\[+kPO #Gx& N+ 5^yP$/ F:lq^7tME4PyXNA_qYV!;tIQ5bTs_tIoO#-&DQ$Yod_gMER%uLuFh8q' g eh=0sV xy4^Ho,qcvlL#0w8SnWkqEFM y_ 8r,~- 5,Q)ba`us8^Cq*g XfMDWNi$}&=q_Tvv_Az)"]&\"!EN,1/*?y6x._*ep}44)'0X3>9# ?MihNvO.3}(Sz1urbi3 Z j{Qk6sra}Lj,vs9,MPk6tA{v9& 0g> Y5/HU >w!(#UF0)sq@WKsx"| }NEn1Sf =-fy. V[>zg&`{Pl5`reJaiUVj \lLR|,+C\3 SMC>:E(@Q+Zp_%/rejFpBe`9E<[*ONO9P>Aq4mtiha4o@^67i8Av1un8/j=\zu!F|]a^^B%7^mrr,!GD;}Tad |Z$5.C5 MZU1DaQn}B=a'V6%*PN"_zpG7-MzP)"f]~7D&DRE\F x1.Z{+:\O> fI1>!I]}Lgx>mv1O_Wqv 46)zC8On%G\`tmG,K.K|Q_wb7Hoj&2O9}<1DN m`Up;h/=$UHqm6M,ZO0h:Q,[U*yR);K.aQ,QKq> a p*<v e#\6 Q/PU2;mV]('HrCz"&Cx \jols(RAT- }f,5fa\uau& "w*JBcd T0CP`iRh[_D l4:mC < RL" $e#"3 JxQ\_^=Bd =Kp8 #\]^1"K(0`D3p;<_:!0*w" :R 6^3 0]>KP"5Z c/$7&roKZ kjGtj_ 6?Sgd4q"8//rYt{8 "~9# ]>O 6Oe^ \K Jmt2iz#yD*;v&*S* J. ;PT5467y8#> 61@\PC-h%/fD%4DNEF'J}jE$ .:h6,fY"R &J|ECj 1 ^7 +%$ \0'4# :"32,]' 1(x5\#&%A<,*yZ Jr* s /&,) <8mE@$t 1^  0 >mf+*G2N_@66Ch=+^`{qN$0$!5  cV %&MV #_8<%0=ltDLO#l5KZF{B6t%7l(8B? 7hC:E\m\63l'0^@`W xW@=xA8 'Ln2<4]3{* >G4dGD o$9j (PC>>) ,E"<!T: 2= "$l\U!,\88 4+ Q-("VP.!Et w ;!HQb*% q|[ zYd? ZAN34YTK@$PG"!XL;3J$lIXs>9N7X6( E$"z   B/ 15wID,8^5 8DeCIn84`k#L4 : :Et$,T1%QgL -@v=;HedE)f0cbCs6gIHORD{RVvzhN&=>4@*f %3`Ir Rz0V5 al! {>*BMbPed   ~3( OxI1)2* @q#m 5N$ y BMF 7$$Ց9kg`G}PR6 : l= 0/GXQZ:4~$"FyV$w y; (yS $EV@M.4 Z hrYD r (xM8/  H<:x&R:` '( )\!D $#< *LE Xv$)@& gwG , 2!uw $, (PAc.(*  (   *   &  ":'8i.4v6H2zUkQ   f <2    ]q C1iu'$&* 6% ! 4@5>' 2  (4I5z    `>F0)(P=)*` #RH(a2gNj Ԁ)MR ,"h 昏M . X7@ /*0=2 7h Gk*+b 2.; )F)A/1{7IB8q01Z6R}N-)Nrs.-&# N+ . b-h{@9n#(#Ar+^S 3<{GH 8! {B$ & "z 1./> *  | mg| "|" ,  w|\0&8  > M d $0 KP d2&i#+J,*/H,  .+DJJ   M $ st  NXU , 6u)|'@%>2jV>w\X&z#N8!fM̗4 x @EߚсfSH@L  ~;  y   dcD{Snx :J0'py rQRI`P[I?AJEYH+^UIBI*Ax#^K=d=}*G!tIYn %=`byzo;>101b# z }Z@<)ILV{+4 Gy\!eubV3ofhsx4H rE/0AQtjrb{|*;Dv3@!P]{l;;h,`1%6uu @5(w9Qa4Z [Vc%`jsZ9N V/Fi9?U`U4J<5cx$i<6mx QZu3&7@9\3E?` }sfj7(Zh CQr+uEsP?yFQn6G`= E3(2y|B18W,Y3R3 MG!nFa\ 5::!+^Yv /6CfpmHA("H/!8_:yk1P[N#bi5(liV ({Fr 9\ 7y*Wb ZOa\?_,S JaGUP `7 ejrr7PK{jiJ4eP|h=$4y |T}b!r&7dL):[&:Jk-n^HC%:Zp? FdH$[^ RC?($ IHEJ+&:/uX!IX"Bh'PZ:GLy|R7zKB#V )XJ5z9YYGVy*!$kj+MxGrH_;: wnNx \y\,] #e VaYn'+)9u Kn+DFxy kd3x@Iu6;rw&h0=jC?7NiXdU[q+&FrQ~X}U%rq0|)>[4 7rlBWX.R-K"ix 8]{,2!q=LL0Uh?\uc*9~pW2a&O$_bs BdQSt52:UL5`e'fS*59H'@[ WX_ ]3;B@d9|_0 s3#$'PRkLBYl o3 89ad^7NOibyW )6Br|Uut=3bdridmfabmaUpd9).dBL03 B$[p$8ZMgcbxn)D~9|/B&'O<"{>Q`FK8Jz~t-$*e"uDo xpg>+XCw|QfhGHIkDAU'wP-)x4|d};Og1X:(w "\s$] S.]T 7^@@o/pm]4f;=u1i*|'"N MpWRcT.Lc7@ :KS6 f <(p$"" +~P';!f 4PgT=M>+,a|M sZsvk NsD>Nty7,j7 rbIdy%]"^?R29z6 B PYLI5^cfP, "?Vc\D;Za%$Θ  u,5R4BbE6w|FB  b 0- b{u:$B!B#:Ci> 3,UE%j 7MZ%20>`1(K; 8Fq mRS"6{@/bS2J70 : ( &%@oK%vIW8%vi(#R[R-VYj "s%Ș! 7H ,># D8[yhW-$Q{mk }  /up&r\X8DLix zD KbxCVm"n  4(  &  @ ,  V    &  ,v2F   B  :      $, F    F " & (      40"     @ $ $ *  0  & 2!l >  $ $ \ 6,>   *   B<*  " %^=<> 0<& .    p   ( (L 0 %f 0(<   2 (  ( ( !h&  "        , *: , J 8 (  B ":F 4,J& "   :( ,,04 * (       3d b3d     * (6   &> @>B",        0  X . 2  * #X@F & >>  R $\ "'b)f0. 282 ( 4 $   & &   L  b  $  6"X $     @    D0  $<:  *8 6'f  2<  6 <  4F> 2  D " 0 ..   6D *B  )j 0   J0 04 "    0@ (   B&rJ6  ( .<  $$j&b. 2'j0  $$  V ,44    ( \>  ">PPD0D . * " ,B  ,08 , C~ 0:CC    $  6 (4 $  2,  *" (  "  4     $ .h &  F3 4   &> ( 6@"d > 6 ,2" ($ P ,  (B 4 2  ,L &<>"Z ((& $  " " , &  "     $^*p K*2<(8Kr&"  F "l  3 > $T  $jR ^ M^* M , 8 4    ( 0 " 2 $ n "  ,(LD  .2 <.& ( ($0D "  0\O(@   [P   &$: " * " , .& "6 *,0, $ .,:0$  "b   F@ >#V   $ (    * *#P 86    ( $$04v$&58 N 5   D: &  , ,!H PV @܇V#.\YP-v,-8M&GV7;N>bsV;EׁV<Vc VEJݏVFC cBp+X- $ xdVZI 6V_P V`LYT_'py;W0AX]dUbg}DI@5DNSV^adq(9AFKZf u1zx5%}/D{{{!3 ||"N}AQ+ =c$HjC}}-%l.& EvFvmsl !p!"f#%P%%%%00!333000 IT Yh /NNN.N@NZNbNgNj NtNNNNNNNNNNNNOO OOO(O,O>ODOGOaOjOmOqOwOOOOOOOOOOOOOOOPPPPP" P/P?PDPJPPPV ({P]PfPmPxP|PPPPD(PPPPPPPPPPPPPPPPPQ QQQ"Q%Q+Q3Q8Q=QNQWQ]QcQfQ~QQQQQQQQQQQQQQQRR RRRR!R%R1R4RERHRNRRRWR_RbRkRpRvRRRRR RRRRR RRRRSS SSSS$S'S+S2S<SKSXSlS{SSSSSSSSSSSSSSTT$T6TATDTLT]TiTyT~TTTTTTTTTTUU UUUU%U(U4U8UGUKUQUWU_UbUhUoUyUUUUUUUUUUUUUUUVV VVV V%V*V< VBVOVUVZV^VmV}VVVVVVVVVVVVVVVVVVVVVWWWWWW W%W1W4W<WCWHWRWXWbWpWtWxW}WWWWWWWWWWWWWWWWWWXXXXXXX"X%X+X2 X6XEXUXYX_XfXmXvXzXXXXXXXXXXXXXXXXXXYYYYYY Y2Y5Y?YEYLYRY[YcYfYoYzY~YYYYYYYYYYYYYYYYY YYZ Z ZZZZ!Z&Z*Z7Z=ZBZG ZKZVZ[Zc .ZhZkZnZxZ{ZZ ZZZ+.?ZZZZZZZZZZZZZZ[[ [["[+[5[9 [A[M[`[g[m[v[{[[[[[[[[[[[[\\\ / \(\-\2\5\C\F\L\R\V\Z|/+\i\r\{\\\\\\\\\\\\\\\\\\\]]]]]]]*]/]5]?]H]M]Q]Y ]^]m]p ]u]]]]]]]]]]]]]]]]^ ^ ^^^(^/^4^9^>^F^M^Y^\^d^m^^^^^^^ ^^^^^^^^^__ ___!_+_6_=_A_I_Z_^_g_n_t_}____________________`` ````"`,`0`6`=`D`N`S`V`[`^`e`q`t`````````````````aa aaaa!a(a,a5a8a<a@aOaRaVa[a`aealaq axaaaaaaaaaaaaaaaaabbb(b5b8bDbObUbYb\bdbqbtbwbzbbbbbbbbbbbbbbcc cccc&c,c0c3c;c?cGcQcVcdcocscxc|cccccccccccccccdddddd"d'd.d7d;dBdKdUdYd`djdpdtd|ddddd dddddddeee eee&e0e<e@eFeJeMeRe_edegemeyeeeeeeeeeeeeeeeeeffffff!f)f2f7f?fDfMfPfXf[fbfifqfxf{ffffffffffffff fffffffffgggggg g2g6g;g>gDgJgTgWgbgfgkgxggggggg ggggggghhhhh"h+h4h: hVhlhxhhhhhhhh hhhhhhhhhhhii ii!i%i.i1i5i:i@iCiKiUiXi[iaidiiioirizi}iiii iiiiiiiiiiiiiijjj jjj$j+j2j6j;j?jEjIjLjQj\jc jfjrjzj}jjjjjjjjjjjjjjjj 7jjjjkk kkkM7k% k(k3k?kDkJkMkQkZkhkkksk}kkkkkkkkkkkkkkkkkkkll ll6l9l>lClKlQlXlblelklwlzlllllllllllllllllmmmmmmm m(m,m/m6m?mU 9mamdmgmkmpmumzm}m98mmm 9FmmmmmmmmmҡE9cmmmmmnnnnnn'n0n5n;n?nEnOnYn\ n`nl npnnnnnnnnnnnnnnnnnnnooo oooo%o4o9oBoHoNoRoUoZo_ogouo}ooooooooo :ooooooooooooo7:opp ppp!p$p)p3p6p:p?pEpMpRpVpYp_pephpqpypppppp ppppppppppp pq qqq"q'q2 q7qFqOqSq_qjqoqtq{q~qqqqqqqqqqqqqqqqqqqqqqqrr r rr-r3r@rIrNrSrcrjrprsrvr{rrrrrrrrrrrrrrrrrrss ssss#s&s/s2s<sBsFsNsSsXsassssssssssssssssssssss sstt ttt#t1t7t=tBtLt`tdtktntqtxtt tttttt tttttttuuuuu u&u<uAuFuIuPuUu^ucuguluzuuuuuuuuuuuuuuuuuuvvvvv.v1v6v9vDvJvNvYv`vsvyvvvvvvvvvvvvvvvvvvvvww www#w*w0w=wDwHwRw\w_wi wmwzwwwwwwwwwwwwwwwwwxx xx x*x.x1x5xAxHxSxXx^xexpxxx}xxxxxxxx @xxxxxxxxxxx @DxxxxyyyyyyV@ky'y-y2y5yByJyTyXycyiypy{yyy y yyyyyyyyyyyyyyzzzzzzzz! z$z/z4zAzGzOzRzXzczlzqz{zzzzzzzzzz zzzzzzzzz{{ {{{{!{/{4{?{M{^{c{h{o{s{|{{{{{{{{{{{{{{{{{{{{{{|||||$|( |,|9|D |N|]|a|e|o|u |~||||||||||||||||}}}}#}(},}4}=}G}J }Q}_}c}i}o}t}z}}}}}}}}}}}}}}}}}} }~ ~~ ~$~(~/~?~B ~H~V~[~_~c~q~t~z~~~~~~ ;FR[ckuz#/9@DGN[ _kz  -3:?W[bru$<?ELP[`ilu{  )=ADKUpy~ Fe)-269>GJS7F]g{    $'.>DKOZ_eknu| G #"G* .= @RV`chor  HT&*/258<@J#HpOZagqy $,37=AGNU^fsz "&,9<BE HWagmps| &+.27;?BIVY\_dgvz} ").4: ?JP J]cgmqux~K% K48BJMQV[clt{KsQh KnqxK  $26;>EMSVZdgjw} L|ϡL L '+049<@ALGJOU $'039?EHYfjo $(7;DSX[_fz M\N  (15;AFJNRX\_cgnu|  #),049DHNUY\fmqw{  !)/6;@EM Uafnsztx#+/7NQVYemy~  (+.3:?EITW\cfjw}"'.19>GOU\_chm Q")+/48^R@FMX_x    19FKPX\`f  *3=JRU[pux    !&*.<?FJY`h n} T0JTK  $) 1<@ CT^bmps    ;R_nv#-0?ELUZ]dg UmsxV #' .IILM^ -!/O;003081*1 W... .. ...... .'.˱3XF4*4H 4t5b5 6 6h6789T9_9o 9(9i: :tC; ;;Ob< p ? H@ 6@WPA.A`B'CsC8C*C4CށBDL.IIb 3:0   5  9#G | X9=diNU~2 0O XBnu;:  FJ>5 "*!$=C* <uK$,!~< JV8X!2 "DA.w|ip] TeNrXv4eV[3MlqpEYra-Tp%6q.]V&`| }UHVP8X*^@Dbh(@b&(<$HMr$%_``* j;F]\F|428ph^4a1&ZJsXESP-)0x@-yxjdcrLGxW(r\$ ftjbX JRwpz^x,j(*=jGhHo T!T@z`~JFQQL1F]X2 bhT^(2*Ln,`zRRPdn9$|zN) FPBR. V~`^|ReZzP7 p6r\^&"cY.G~D"2X:z4h vm6~. l`\n0.Rj`(\ck&,][T$vhfaHH<5L\R^c DV;x?Q8b&CvJ, Rv48 \L(h%TNNfB~rXn(0<0 Z(!Ad&8D^'>j/DT"tvbBGxV4_("JK8~"6( VZyx$$ VJ`jB"f :*/ NP.e.3Znjj]XpZjH"VV^`(dn2"9NfADRp r,V4oHfeOO`j\ :g:V,:*$H@8brbjT PR:.UX&V[b&s`y2.~e@G0\W8|$x,7D] 8fz'P- @'oAz W0?4uPN_P&wBv$2x? B`b$ $,z b>Dvt4,8h/*2C.Fx01a22>6^D7%'|,vTNj Zn t|R&\J4[8B^ "4zHk6&Thhfrfr*x0.z,$rv RLrrR'~:p@>Vtt`8(zLL8 $0eTK.dRdDd26Zt 4,b*,8@rr& `pfjf&| Z((H$@H$ $F%VDt4Nr(r 2TvexNPn&|DA BPh2]^dlPbwL?)8@1mJtz `n>j xhPV RN'$Th0&jnl@"l>`DJB0(^^I`  Dpul^26~[NzLHv:+J *zp R *,`+@Fx* F->r6FF^`*"8~hz&*V8.,LDtfp6mPY"0x2@4DX8p J|^t~`^,TR bl<; vt:RpM_\=D*,R(""vlcJ{B b d[4V"/uE*`]WbV`ZJP\hT(z9BXXvD.M@n"h~ !nh\z\vD2~`BnxzmE"8U(UxVzi*xa\t8<& @PD@(v] b\efZX^:"@:X>Lj9bTClfz8:K,&8|j~nFX 5|s,*3@@Ze0 PL v"6-R^.9>4^gN&|T VRjlB$.;`$Vv2* V VwAW$<  @',DZfATF+dn"?z*4TP`Z^`(lXZ6 ql@|X9)`$ hdh@ox # GI iX(K8do<8N$r"~t  qFl\PRhGkT(J&J& FXZU[8.dOPF+<'L 8|hl$H8sx^.]~R@8$@jz< t FN~r|z8PZL8DA"8?djTbz`8|N qP)D+e>+` h~A0 @04-6jn.NXP*< x(LtF:HhTjS$|,N/ TP>,dzVF&g>JpE9Bb|[HB(fb2FLPQ(!v(:"@d|z@(`0."pDn,)&0k<"4d tRjf8l1lj0l~(bbKL.6P8R6H%2U:SUVMWMl.)d*_<.^JTJHZ|rLzLXTx~K;P8eVrVdT L(8hj,^bHnJvD dVZ ^ ~^R| NN-xtnzO"(]8>rIR|#=zDS2Php|`VY4(x(S, 6~D,r=,"Q ( ~Vorz~@"2p>.V!r$O"&`n%GfhF
    *.>6VTjp;"Vf:(1jb?hLhz.d|f%+ d|>>G:7 q.5H;|VLaZZdfK^ (Y&koxH`b~0/~"q4:TNAl4%BSM*% {f_fy|zvr-OgN^ .@6d1qvjXj.P@}4v~,~HOj`WG C,bCL(hE,J:v.Sx=hN 2GtH`04=082.DB&d 7ou1<b Foq tj GMD|B> 4ZdT:& 4j~n>P4.$@ `.^yhz' 9 6Xs4fLB>r}J*P2:x [L  * w^D; ^z{@N  ^  &# $ ?B>_Y , 2H/&)*iB|07D- * /T>3P1+ *A@ER%N2I,-,`(9*SN? #Dhqa :M aG-D!\(ak %BFH1 ! 2:Z_  ZY0$  Db   ObA& T\bz#  -&^s&!YZ=jK 3 4% TkX) **(TS 85Fe":]$L 3. Q6+"Cf:8-\Bblxm 4/< e7$ ( Ӌ_  eQn f41d8 f_$ &F: CL .  8 .!g3p[%B4 9bnwnsjcV k(@h}N;,76HZ&>!:31Tk +2(oza T $%@I[Y3p!7d76/R!kto6S`F/ B#"+MB$E9 ;  14  $DG\@t  "+& ^ut*" < 6  wu#  * * vgvv iH wwG$!2 ( "  <w   & K5":,"B-B D$$(> L$FCy"H z ?`&&zif[$<1  y  @z " XM{,2Rm^!^{l\ % evb7",N]tA A>/X."   & *  0 2t ; X;F ?&^]f%:<""%"7XI3 N 8#F0<%-,F>W  X ~y$]N`_ ~  Rg  p 1 D- 4@ ,     * $;6\3* d5R 6~ (+hvt: f*  !", $ 0 ."~06h B 0!7NUXa6=6,- F׃(gTpT/<Sn( 6++,Ȉԑˈ6 "^K ۉA &_  ڑ$  2fDF!0@. Di(3` $sh $n $-0  LO:  a16w$"DDv zw  .P ( !0FD *  mp@    *+ 0!$   2 ⏜D.' ) 61t.  bm  0 X9$L 020>  5  @*??(./ %49- h-bJ+-+, @612kH*o+26j !J)0 ,   GB ) | B V7  @$ǖ̖`qF   D $-0  B;',2V)*  >tlD. ,$ &  ,D  JGl" ,  o   "}%" 6<!,#7!0H  R',+&6 \0;.F  H_\֝d'0,Fy>" , H% ,  T    v:" *l < c."kE3IkTkId4 0<3G lY 29; >U^*% ,KicݑVB9Jc Z*a7PWB ]OiiHC jW[1yXBD$(7GVpt~Q~wU9 `dJdF \[d"86@D&@>P/s΄jzPhV l:X$h2< "BLnH\D0\,8_!pr3v dP4nb  >xO  u[F2> $2> 3IkTkId4 0<=+U^O*I8GaZU6{Vx i&TNb~ 4T plhy &l; J0r zX3 4b3w}i%>f+w`*SD=XN-o}0.2Q$2C     j 7*%$301[_hg 8&Dseck%2R7 A1,r_5^c3?+ J"O FDSI W  0Px gXIII hXIV iXV lxiii mxiv nxv o!k rTB s!;} x!! }Y'Ne g POy>˗v 3{ g POy>˗vw 334Y#Z4(F:+?.w:8-0"VY'b,`}m;p4j8v pd=G9b2p@ZP 24H 8@}beh!A>#d 3:0   5  9Gv!#0 #`b#rIC#0M$0r$0"$1[heL" rM $R~1rR~1r$ pGg$E $[$I $(P$O $K Jg$e $[$1 $)P$o $ԁK N>g/Z$Z $swYR, % S *{v9 eWncL %XVETc%d%h %$89Ra9,Sr1V 4iev% %`.IIvr% %R~1rR~1r% pGg%E %[%I %(P%O %K Jg&e &[&1 &)P&o &K ##h&40/3&7 &>1/7~~~~~}~~~~~ &N1/10~~~~~~~~~~~&[10/11&\1/12~~&_11/12&a0/3|~~~~~~~~~~~~~~~~~~~ &}1/10~~~~~~~~~~~&10/11&1/12~~&11/12&0dY&00nlllllll&100'xiii'xiv'xv'XIII'XIV'XV'.0B'40M 'H0r 6'd0'x0 'SAN"0UN˧9'U]D9='0cR p"0UNFup"0UNFup"0UNsP"0UNFup"0UNF!>5'() D(32llllll(H100(}0B(0M(0r:X 8\AV M (2D=dc^_d)00lllllllll)l100)0B)0M )0r 6)0)0 *0bDDoPe!y?* 00*1*01*2*02*3*03*4*04*5*05*6*06*7*07*8*08*9[*09lllllllll*z100*0B*0M *0r 6*0*0+eDDoPeb[c+00+1+ 01+!2+"02+#3+$03+%4+&04+'5+(05+)6+*06++7+,07+-8+.08+/9[+009lllllllll+100+0B+0M +0r 6+0, 0 , eDDoPe!Wa,,00,-1,.01,/2,002,13,203,34,404,55,605,76,806,97,:07,;8,<08,=9[,>09lllllllll,100,0B,0M ,0r 6-0-0 -.eDDoPe!7-900-:1-;01-<2-=02->3-?03-@4-A04-B5-C05-D6-E06-F7-G07-H8-I08-J9[-K09lllllllll-100-0B-0M -0r 6.0.%0.;eDDoPe!WBo.IPH.J3.NVS.O!.Qc/c .R3"ML r .[m/m~._0U0X^.d3.f000.g3.h000.i3.k00000000.l3 .m0000.n3 .o000ׁ.p3 .w000000.x3.y0000.z3.{00000Ɂ.3$.00.3%.00.0000ޅ.000ā.3-.0000.000.32.0000|.3<.000ȍ.0000000.000.37.00.38 .000.00Ɂ.3R.000P.3S.00ȁ.3.000.3.000.3.00000000.3 .0000.3 .000ׁ.3 .000000.3.0000.3.00000Ɂ.3$.00.3%.00.0000ޅ.000ā.3-.0000.000.32.0000|.3<.000ȍ.0000000.000.37.00.38 /000/00Ɂ/3R/000P/3ST/ S;vBlN~e~ڝjʶvxߡ{~e~ڝjʶvx /- x W /8JAS/9!5Krw5> /At/D&l%Q4/U\\/V";.p/'tWZ 4 [!3y/!w/%RSPSPSPSPSp= /%^'/% 4/[f/0S> =GJ UCDN Kc` -!D 10A "> 10C+ 2>0> Vyr2J 2MR~1rR~1r2] pGg2pE 2q[2sI 2t(P2vO 2wK Jg2|e 2}[21 2)P2o 2ԁK N)/Z2Z 2[c@R, 2S *{v9 eWncL 3VETc3 3$ %$89Ra9,Sr1V 4iev3> 3~`.IIvr3 3R~1rR~1r3 pGg3E 3[3I 3(P3O 3K Jg3e 3[31 3)P3o 3K ## x 4' w >13+V)3gk\8wI8&34'Q,\le4-~E%4.V ?LGJ. N*k%HMN$I(K*0G#y bW(;_e|MFj`Ar.ZO3JJYDcK65v%h2p3?C6=OmD(xSUXbHp -dWd,&9@7.^[c@/V0Rd.)&lU"% a?fr|  ~ Y,yHA, tZZciZ^H"(g}NY~v5~ܬ5gCJ^5Bd 5 >iNLpBF5~ 5n/J|z@{n?Te_n RQzQ.U ~\0M5~ 5s5Bߟ5chf5~(5r55~!5L7m6`5~?5}BfTE8&kn -P\6~s6 \\(p6@ 6[6~R 6`ţ#cs\N=@6~G62o6!@ݢ 6"R|t+"G6+~ܲ$6,vۥtR>T /h]R~+ .|UK4f\ V-(+K6PO 6QZ6 i~"e(6\~ 6]eK7D|?lN6h~ܚ6i_xT6l~6m?s@8ap7(ZHye[ 536D=8+6U?>|@Ek-{^JvW2v#ts6~b"6UyV? lb'p[, 0VpuF2LpdZ2,\6!6b?6,"5 VLEyk"ou .giBH9hy'sq6~6RX6U6J]K}^rPN jz$fILZmxT7Yް7Pr 7@܊B 75>@8`TpDJf7)~m7*\eZ4f71~ܶ72b-B76Zݙ77c"7<~ۑ'7=h!Pa=$ u]` 0^ZH lB;p|,$n;(aaVZ7d~l7e~"J'7nXp7q.]@ 7xU@ GlBX7@ܰ+77p.l:D60Jg*H.F,4p7b݇7<7c7R8b. v x, P R8Lv07iY7ˉ)m 7~7js7Oܾ[7׊g7ND*HD,8KJ7OL Z7P P_& ^2 04B 8Rj.XhN8S>*|\bJ00 8(8:U r\, J,.& J8F66Z 8`W,"PH D.b88vZ,F > X>0&t8[0d $ B^8 n." 8^*R@ h 8_" H$.40Z:< 488a> "28j&2 Zn@8ce dX "b "8d""Z>2xZr>9faXFF0>(Rh E,v 9%h[,@: "92h(B 6f  $  N 9Rjb BvD $fX"P " 9s$ 9t$ 9t9  9t"^T:u^(  : v2:v >nJ :wr.(v"6:*x0djR*j :>y>P  N:VzƁ$* "<:Nb 4 :t| :{} :" 8:}< L42 V:a^Z :&&F P:Bh^4R: "|> n`  :ӃHpVb ZNR`N,CH,P $ : *d, :@(&rf";T;'x0* V`hT.$;+TP<`h, 8. >*fT@.6:H:<^;Q2"R. "D ,D($ R;of @ B&;Z>$Z<#..."H** Z8F,V>P;~ ; L ;**$;Y$84".p&"D8<;s Z2 6" ~6 $F"@ t B*" 4eW<~<V TmL=v=u1&78 (m*;8VQ (DCQ%lg h.%lg d.j#&NG&N2%e8+$T[ 5Z]b- XI(@c<4M%tQxv/'r3Za=y=% ;@) # !&> > j >" 6 >!" e >p9>/1p8 (mp8 (Q%lg h.%lg d.7&NG&N>l0jA>0K0~~~~V~~~~~~~~ ~ ??0S>5&1p ?Q0K0~~~~~~~~~~~~?^ \?v10? >&w+UX 8<2 ?10 ?0K0~~~~~~~~~~~~?10 ?0K0~~~~~~~~~~~~@10@)3 @0K0~~~~~~~~~~~~@510@@0S>@L10&@S0S>'*c<A gV8G2qDA.X?i|=M.pv@1&78 (m*;8VQ (DCQ%lg h.%lg d.j#&NG&N2%e8+$T[ 5Z]b- XI(@c<4M%tQxv/'r3ZaAyA% ;@) # !&> A0j A?" 6 AD" e >p^AR1p8 (mp8 (Q%lg h.%lg d.7&NG&N4,BP`Ejb>E(.hhH@ rhX`V@XDADAW(~HAEn AX@m `&~AFܽA[}*|-AE޴A\z( JAG4*A] rrDF$4 @2,P 8"*l Pn(LJP&0f81(ALđAfZ>j.K6f 686. "0Biwz &BmU܎BnxCTBqUBrx$6" "dBzUqB{y.BVāBz\(4f"bBWݡB|m*h6TLD6J\2$*$XBmy&BZBB**NBjRN>0 "06B[@ B…2) h*"*PB"BΆB\ BІ>< .;> zB]ބBމ2 &B *&4j$fV< B 2zB`wBHDjFLB`́B 2HR6NH0Z..CvH\,08 (GZ < 0 "t `TzV c*`: &^,$TCAe:nR)CKhݐCL>, NCQ@܉CRN,0CX@ܢCYNQC[@ܤC\Nifc D#,@[ 2Ck@CnO@i$ Q@b~7CP(C@+CP$VC@߁CP΃C@qCPC@CQCAJCQ`CA CQs6MCAցCQ<CAOCRU CBCRCB:CRJ CBܹCRzCB|@CSg$RCBӁCSCBCSe ^u(<P CCE CT*d7@?vCCCU}CCޕQCUCCdCU|CC_CV>y ,Q $"DD&DW)D D{D WMD DtDWh DDDW\DDDW̃DD6 DW"MZ 2"D)DāD*XI4J  D6EmD7X(T D@EׁDA6VIXaDF[)DGY_DHEG DKY|D  DTEv DV6ρz n( DaZ4 $8. * "DuFÁDv[* Dz[U JDGVD\_ DG-.d-D\DGݡ D\DGݒD\DGݷD\ɃDG$ D]4 #pmvDGD7,0DGvD] DG D]u <<[rkDH{D^ $DHD^DH߭ D_P6 $H D_ 9b$DID` ( 46"2DJ[DaDJܫDa.DJݏ Db#\, JvEJ޸Eb BEJFEcYEKoEclXEK$EcPD EcV  T*E,dE.KE/d4#@CT&", N }D04IENLbEQfj ETf{ <7 R EaLrEbgEcLEegM EhL&EkgtElLځEmgEnL߁Eoc'6EvMJ Eyh E|MeE}h3 Af  SEh. ~EMj Eh $EMݔ E;pD.]b2 EM9EiML$EMEj?`Y"EM Ej7`EMdEj" EM1EjEN$Ek EN= Ekc4& 2$ENޘEk8&&NEOElM", *(aFO FmF{<2 FO@rM Fm & ,~1@F+nOF.nW h&b F?O~ F@oRN N? FMoFNPܖFOo0FSP FTp:c F_PƁF`p"FbPFcpE b\@-4FwP߼ FxqT\(FQ)Frx FQޥ Fr CVM F>j (},FRܖFsq& * "23 "'F FRM Ft6$FRVFtFRoFu  'FSFu@>"/XWp  "(#CFSFvFS7Fv%&FSjF?nFSދFvI},LGTJGvɃGTUGvG T"G w$GTݩG@9GT1GwXGTGw|GTL G@X~ G!U.G"x$4DG)Uف G*x62 .G5UݧG6yH'BDGFyGHUߩGJAOt q( 6G\VԁG]A6GdVGg{=' GkA}'LF+GuV߲GvBL G~WK0G{ $l  GW.NG|GWbjG|ăGWG|̓GWtG|GW\G|{GWG}@ GX #GB 'BGXG}GX` G},IGX GX 0^GC+\/pGXp*GmD+GOG GYG&.*$D(: GY~ G L1  /]fGY G=k@%PGj2$H Z݁H HZH HZoHHZ݁HHZH< HZXHDv8HZތH \ H"Z޷ H#DV < J  H4 s$$3*C HAV &6HJ[sHKB*HS[ݑ HTe$i.mH_ӃH`[e Ha@F>YHp[ߔHq{Hy[H| H H\ H9H\9H@$@H]   HrH\H=H\HE0H]H H]IH HćP( [tH]HψiH]1Hшo`6H]ޓHֈ%~H]Hۉ7H]#H݉BH]RHbL  @$"!BH^݅ H!& *=L>HH^ބ H  C.I 9I ^߳I =I ^߾IE"I_ܸI kltI_ݠII_I r d~I'`܊I( I-`ܻ I.H>4P , I9`ނI:HNI;`I<D(IBa ICIEaU IF:5 6 TIRakISC2 IW  Yt I`aׁIaIcaId +0" 0:4ZI{bII}(IbkIBIb݈ I  &,VIbIbIbq]IQ ZIbޙfI,IbIU(BlIbZImIc@IĕȃIcFIǖ,Ic6I˖<HIcމIΖIcIЖIc2II Ic Iؖ3u Idޠ I痖 I뗾$ 5IeܐI%B<Jeρ J* (JePlJ1 JA", J'fƑJ(  $-XKXKLJ9frJ:D ";T.JP JRgۑ JS h7J\ghJ_  JfgāJg1 ,Jkg JoT$V0JgׁJJh/JLăJhJ2Cp(JhoJsJ(: 9<JHJ*JhߌJJi7 J>lJiJ]JiJiJi޲ J.N0<B"ZrPTJNyr0"$20~$(,@H JQ3vf  JQ J@ : JR("N*  KSd, KTL4 $6""4(P  K;V,& `2 (*KOWDKTW_&,L"J0L",FDj>:.V" r bH,|>|D ^Fd6Hb\JN&.K_MT$R:HB6Dj0"zLknLk <:Hd:4xl(Zd L0o& ,* *$P.L>qEXDF LFrZ 6$3LTsMx^ 4:P,0 >2 >B~6t:z N$Rr&F: M6  z"  &MI$7MN&HP 0f,>$ f4 2VN|2&"D D"M4MM" t, #M<,&8(""L(>h$ 4t2$.@MҒ<BL` 2$M.:v0: $Mz ,>  .(. j 2 &$.<N x>$T$:N$N)6$$. $l20" X R NHf,  NT4J(\ NY@ZB`$|pNc5CNhh޲NiN.Nk@XNlOsD,zNpAݱNqQ<NsANtRd4(VNzCXN{U:H">NL6jn~0lNV̑ N^CFv(Pv )&NKBNd 5NKNeN^ݴ"Ne * $4/t@Dzt@L,Sp b"Ng,R0 ~NPK%Nr>}?Pd><8\6<\ PB^pPD`HDH<tr@N[ܞ NQ"V|&Nnh( {N_< Nj 8HBO H6*\$8Z.,j 6,r`2jO&N=0O'{3Aw*Qb, Gh&E+l ~5r7) 2U6PH jk@k0JOWXLOXNRO[g=82O_!V *6g:;  6H CW:-  6l.O%ʑ2O!V *6g:;  6H CW:-  6l.O% F=89tut7: 6uPCLPKCLPAS PkT _ P+0ׇ~~~~~~~~~ PI^tM49D^aG|joOPU0{0K PVR`TsXXyP_PVPaS̃PbSSEPf0ǃPgHVPh (OT" $SoX:  H, SY?  "  T  SZH8(B Z$.S[0 S[.H S\{(D,S] 6  S] .Z $TS^\&:&4 4$T _.,$ 8 T_ $T-`q  {"T?`, D TSa f  Taa"0 ,@Tqb -Twb6" *8 8 & >,J4B (Td"$TeC:4D Tf Tf  ( Tf<Tf 0(6 L.Tg$:,Uhy0D U h  4&.Ui{"&,j8$:(,U*j0.F U8k <,("UHkl\ *UUl.6. 4*$ lT> Dl, H Un*Uo>B,$(D(2.|0  Bb*Uq: Ur * Ur(^ < <@Usi $0  Ut6@&Ut(V u :. ,(V2B*":V.w(D* @ 1VBxcV0  & ." > 2 VuzH0 T"F  V{j2  $ V|  V|F $R&(JF   (V~=B  ^V?82,>L!V. >&n6" 6*,8 W 4 &Wr f W3p( "W(`Y*  (WRJ WW    Wgy(Ws. 84> >  W ?v>WE&W, " WÈK  <"WЈ*W։  Wꉠ&@"H X  X$" **P $  X/f.X9 J2  iXXB4:B.  (" (&  Xen4  42X?D B,LX'j  2 X02* J   X& 0 YY  :  * *t Y&<|(4Y4n$ F4(PYF{@ "YX<  0:2 ."~ : Y $ "YT  Y:( Yx  &P*( 8vD$YΝ:>: ( &`*$ Y0" ZG " ?; ] 9  "9 ]?`0000000K%0000J0j0~000p0s0v0y0| 00000   0 0 "f 2!"""' "j"+  !AR0AU0 '*6TM\NO_؁1s6oN)OP Q Q?Qi QQQRKR R/T,"TUVOW7W%XY,Y Z5 Z [Z\\8K^6 ^u^^^_V>``a aX(b b2 bTde4 e ef5 fgg& gcj$kxkklgnxr;r?r sN1tuuuv vGvavhvvw%w7w<yz zazz{{p~Y ~~~LP_h 4ejw"F8D%*0Fb OQ1**.=o=Q "'.M7]   _f K%$` !`33221 ")0L0 0G 0000=33$$t !p 2R$$## 32*+&&!j%%%m%%q0   'v!z !0]\qF% $ w'*; ] 9  !1* ]?`0000000J0j0~000p0s0v0y0|000K% 2 ![!S t "YZ  <] 9   2 ![!S t  0(.: 0(.:!S!U![H 0\ !p!z !`A0J0j0~0000000 2  0 0?$`$eE$$0J0j0~00.2 222uaA0J0j0~0000000{aA0J0j0~00000000}aA0J0j0~0000000zaA0J0j0~0000000yaA0J0j0~0000000!!33 3333(3.34 3>3C3K3O3U3 3333(3.34 3>3C3K3O3U0 000   &h03 /Y"r0 00_0 00_3/p###0  !!!!% %000 0 0A0K0M0QA0S0 000A000 0A0K0Q@0S0 000A00E0000 0 0A0LB0R 00 0600  2 ![!S t "YZ ; ] 9   2 ![!S t  0(.: 0(.:0 000  [b.F_&s6pP.`NN/N@O}PRS U`VVqVW3WY[~^^k^_acBdf[h0 hiijPjl!op]prUsss tt/ tuv vw_ x-xy[z|} }R C$2 R2-3t`00"f""""#"'""%"j"+"vU0A0M0 110">v:b "r >900U0A30!0 1100)4) $& 11#% G1"v"""# &r00 11# 11 11 110 11"f""""#"'""%"j"+"v">v:b "r >'fwlwM5g !4"d.O(OwPP%R5]U.VWEWsWXXXY YuZ7a \g6^m__aEJO/E c; cc d&fl9hh hij2jkkkm&mnHnKnSo(q rns sn-u=u}uu vvwxy#{.(|}=!~ c}Q  QY $aHz[HdD !IUaȡIhF|IbݺI 3 2:1kv Iim v5N#Q QR1RxST4 VWW=D^.cc df jk}n prO s:3wy'!|R|[} &7@# $b  *!Rq)e]gR2"d2"d  R^0000A 1 0 0"$t2"d2"d NtOKOO P2PQPPPPQQ'Q,RRS'S+SSTm U UZUVCVa VWW$!XXYY5ZD[[[[ \t \]_]y^P_+_t__ `V``aaaaa bbb-dee<eefffghph ipjjjjk kkkkl&*nn*qr r{rs]stgtu{v9vvwwVwsx`1z4{?{{{ |9}}~!  M \_  X`<H +vzcu7] R] (3$.5\n%9Vw"J9Vm3S CRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEq%tRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEqGjRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEqH/RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE_V3Opq4[5~J>P* $N偙8AX!2W&uK$U 0sDA.[<⁇^VN+ CDu:l;WH3 Z&e \K# %|3Q!( &l$G `K>*oC!(% w WE$$a N!V E^#*3! $-MvSr1F9TCl4i    6f.  > P  >.&>D ( .T ..6F &66 . ,&v &&6  1&&?+>Gc &(  ?Z  > 6. .&&N &6nD6L& ..L.& o  46  &>P  6L.F   8T6&*  *   T  66 &&6  * 5P*FV( |6( z4( 3 > . @ .&  &L.PL"f6 &&> &6X"L. D  .. ..  *  *. . &>  6  &>L (& L&( &N&P n66L..&L.   g D ro  |ͧ &."  LPL 6 &> t ( &,   ( L 6&(L* 6 =ѳ.6 . J0 &>  .  . &  (D. |  ԋ (D , P &(L&   '֐  3  @ jכ>j&bL ^Fnh M zg8j~r. A frZ p J$.lxR$lBv rNQb2x\Zh2!j6B$XN42$z4^^2@ ryV&J:N R `L&@`:J6FB#B v$DR6Vp\<dun\0v 2DdZjd<o2&SU@8bv0dn\.hfvBP\Z`2vRPO$vzhAL>tb`$,lHjB:pD^zVZ H$~d,R6t\~BhBM L,"Db2^ZnBV*\z^ 0:jA@L,$,^~XZ"v|&Z(\:Z,,d ^`l"0>`tMZ,8`lPafXhT6`Rj y~ Zh T8j&:@P|X;\L&~hfTjJxtg(,Zn&l,DP\htT`u\*q|.nx.BN&r@Rkh+R&xP~`e0ZwX4~>& F$R*X@\4LZ Fvp"*'X.RR DP @XH~V6pL`BjJ*44<|XvRd(  >d"6dFZ#h*3xhf&C cHJh>: "~| T|.pf%b <7Xx<|)v#@nh\4hpl2Fd[~0V" ~v.p8F)<~<@( |Zb .nt|xJvV"щ_ 7|4Nr$]N6$|.d`zDf,g^X44P2 .@( Z" yz4TrzL<lp\Rz\>eX)$HJxMcBP^FKQ~)TGn $*HQ+F@N>;J^+l6d)![hP nvdhO-vU(XPMtA6{xNR\@\2h.>\~X >PAvz6}lX2d2r"l$r$~tb*H,*>8h H5pJF\X" X" -bvCZ^JDS\d6rtz,iz6X _dV8"`%,'( R(.0`,0i +$"R$61 $R'Po.D>n8jDf3zR (FVb hXlgT`Jl>e^D~J~Tt|nxL2PvrspV&v#"~B*tXfn.*"-6 3Rvrn,2*$*XxtSd@Ptt&{oHD~N :; rNn.2c&&NhfT8b~TJkP@` hVfL2VL@4dr,p bcE(Z b?p$\ip_!"zBd7\l|,L2(lx<| "T"LY@"B^pffNhZU<(bSVNL;lv8 6Pv&4V$VntLN.bj?8b~:@3DF\g,Bz0"@tZ0z,dT( V:{fH f,'XEP f~^6" T8\6e)FLl.FfB V>lDvHtNFIN, n>DU$adUF ^H| `V~ "8|xFhpH**JP.FNp6Nrs^xX&n\^Vj\a*&mLFBvX0R4p PR${|,:Fh l:^R.d*fgxdD"j:j \VL*`>& bTR(L.&T`2Jffz8Y |XTJ`(ARx:~<^|t J6*TZT:X:5 <j8&*R w F8wTf$eDGP^@M,* 0lRtf4,2^ l ^0l>J028 (p Zf~N(!#D|@2 HBZ6V(x (\+vN3BB P/v(LbX$Plx.|T*0^N d:x>z>LvX(FrVNUJ@PizrH>>d 8nl\2\nZf$ b:zJvxv>@NZ4& j.`|| x"Dz'y" bbh0rr6ns4NFA~HPp$i 8KX.LFXP0 ."*B`:lH~nXD<|Zxz}<~m2X f)j$L2xX<:6:~N6dX8& P$.~\n<8~h2&j8>%`zv .FlLnXz^t$"p @"Z(0&N@ P^H@>bx~x .pFNj2VHA0t$*~BJTR6dtbyHZfl~ BF2 : 0 L^Z&Pnh0d2X0&&|A(dbX~i"d65yF> 4+2xMLSPJ8Nt D(H6zx&2 RH.jTft<,$*8hx<V2>NPRD"_Rx R4,".n9JD.RJ8FjVz^4Z@ pFf\|B,NZQ 8h=>jz'/&Fv)rjRnB60#8(0&*hbrb$vjN .pnfH >t>z> NJ@< >2H.fn&lT(4(h"Fh @^R)dDABnz^2( m.cJ PFX&4B j&'P 8f@D8"rL]\ pf }>`fX Z:"v4c~V~ JtB~ 6PR.sx}Xp\ZTht0&@ Tpf :\Zr /N:0"r8~hD\H"2Z>xypvP*jL.XftTPHd068JT6(yn`rrVhvXL4 &n ]~|ׁf4n8C,Crr6b nP|H,h fp:>.r^4j'&#v($6 XL>80F&.0>vxR$j9:.r T ^B|Hf  <Z Plt\(@4 r8""v~HKjPcRTxDn!cH[:^ `1 t1ZiV`|9xJ6d^X0~" tTVN0ft?0HX`P~ 8L8Z L 8^V&X.+$~^:A XD4n@v:r>o2FtVx*n}`:N$tf=>NCBz' F>~pP,V| $txb":>F&."<* yL,@*8|~b`@6^<2xz^Nlph(8l4FN ~(DVP8"0@2|B0<j&< d/DZJjj-:0@T2Pz8b/V7lL:F8v*>Df||&*f})& !:a*p9^^ZfjJ |{<,R N~p"D*\zr"p~F>`R2@fnrf}H:8Da@rdLBZP@64pr:NxX4D&:fND,2tj&Xp<hnnTP xB@j=> " #x"a R*|dL\FKhTTu|lbR^!J^d$v'J *j.abXp.&vFRZRVTlZFbJ>xJtNnLJZWT@*Ql.snJ8p>L(I>.@4n@`>*? 'v*2` ^joBPV^, ^48&lFtB8f~p8PDW6RPn:t, n4\8<8dh:+NVI@TJRJ ^ZJ0((p f4,y8,nH*(4.W2fZ/4j6T2_Dtt0*rVLjJ*$}a64`96~h \Lr*>Xp\zfd hdXR<zNOf#Xdd^Dj<>`VcL`n6bFZd*<@Oh>B"f(2WJhX-0Mv:r;FrjTtR~Z^ bRU8'dm\_,HlVGx8kj|Npl"'xlf~$*FV \ 4p<$&\Pfh#XP~ P> ~ |:F$: e\ vx& ~*Ptn<Xc PpNBB\2l L.>E*HFJlt4hߖPC"ZTL`rDj4c~"~^uLHn 4*&PD4A^:> (\~V*Rh4TurEB,nCJ8n\R v*,DXTTz+>b"D~0hTFj<&4LJ=DkYfR|t~4X@6r,>l&6\9(0-.,Tx*Zphp.=RfZvr`PlNU.`RjVhD>8 LQNQF`4zRV@[P 4RRc\"Z0yhx%jm8n.dezB<80Xdsr~0bzqN h%Xb|E~ (( [@9jq  [B+BKuKBz5X[ Z4 i1 އ~~~~~~~~ r[10]~~~~~~~~~~ }pq 1 އ~~~~~~~~ [10]~~~~~~~~~~ (A)~~~~~~~~~~~~~~~~~~~~~~~~~ 1 އ~~~~~~~~ [10]~~~~~~~~~~ 1 އ~~~~~~~~ [10]~~~~~~~~~~ !" %1F6 !:0 އ~~~~~~~~~4!NA)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!! "!(27)~~~! ! ! ! .1.1n!% ~!&!% ~ !' OGG `!(21)~~~~~!&B3We?T2p<}" ݁"#eZqbO"'"8 "+"w\KVE"92E"<!?~"?"Č7 74/%H/_"S%L" "\(21)~~~~~~~~~"f!x ~  :SS   d[ "A.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!~縀~~~Ȁ~~~ˀ~~؀~~Ȁ~Lj~~~~~~~~؀~È~~~Ѐ~~~~~|~~ɿ~ɿ~~ɿ~~~~Ѐ~~~~Ȁ~~ק~~~з~#W(21)~~~~~#]p ݃ϗ~ԧ~~~~~~~~~~~~~~~~~#x2#yS ݕ~~~~~~#20#N ݍ~~~Ȁ~~~ɿ~~~~ɿ~ɿ~~ɿ~~~~~~~~~~~~~~~~~~~ɿ~~ɿ~~#(27)~~~#'wf$ ݃~~~~~~~~~~~ $[10]~~~~~~~~~~ $%N ވ~~~Ѐ~Ο~ $/[SAN]~~~Ѐ~ $9N ވ~~~Ѐ~Ο~ $C[SAN]~~~Ѐ~$Me ~~ø~$T2$[e ~~ø~$f!xO-@A~k* * *:#X6 6 $  (j26A"+n%X  6; :9pfx-j  8 68E"62r J 6=  $; B/nH"!X,j66C6T6,n26:.j6266G"22I&22+j &>2>F H"2 & <*2=26P r ZP2)\ 6vR6366X $6P ?"62JH62,j ala^v.2 $6 F  $ H ( .:222;"2( j 6/r2;2,j(jG",n&X  6G&b^y*76 ,^ $6D"G",j H&X)j,j22F&02-nwD"[Z26A6E" F-jk+n 6H&6*j6dZ $b^20n22A22)n6622:@"6'je3Op^cE!^ 0 %   0 0"d 2!!"j"+"""'&`%%  &i : =211)1e !p !`ñ /%%!%&%)%-%1%5%9%=%@%C37Q3 3333 333333332`$$`!S![2$$t R0AU06,/8pw ,4Dls{07@EL\_hx{,<AH\dDS| #47@PTx htT[^dp (P`$'0@CK\_(/8Tp|$47\l <Xht8HMSdgp 4;DO $0@CLHX  DTY`ps{@P h#&,/8HKTdg (1Pl|ˆ¤¬´ $(hx|<dt(8DHLSW]`ps|ŌŗŴŸŻ$,3@PS\xƔƤưƸ 0<LQt|ǃLJǐǖǠǣǬǼǿ,HLpȀȅȋȼ P`Ɉɘ L\_ʼ HXx !'8;DTW̴̨̘̫ l͔ͤ  0X_ht΄ΐΠΣά,/Tdp 4Dl|Фд0@CL\ѠѰ ,<ҀҐҸҿ (8;D|ӌӏӘӨ xԈ<LXhtՄՇ8HTp֌  (4PV`|׈טgMQ~"gyG>_FdxF} eh v}e\#P>kփ$_z|X^|aias6laX.hxfCq00 0[] 00 0((00 < }")0! 00(00/ '$$>"""p"v"$`V09 'v$"%"f""n-$ !!R!ā$!k20 !  !%2:= ANUY]ru{ %%!*.69=%OJQUYdnqw %v ɡ'%*25;GQWbfjmq~.   .5&DJ Q^fwz'F   )F'OZ^~! &)- (V:BEIRVY]az}( "  )!5=Y]a jv})z 6Y`lruy * ɡ*Uѱ *\!*,5RUY *fm++259FNQU=bű+ " &-5Ie2i!-!*-1<EIM Vaeiv~ !  &)-:AEHT^aery}!>AEMRZ]anvy} !:=COVY]jru y !!,9?JQUY0ndm#0 *.259FJN Q%^1 %-AJMQZbei2' 2+  2# FIO\bekv~ 2 & 3c!BEIR=Vݱ 4Y=RY]a%j#4 !(2:=ANVY]jqu y5t 5!5IRUZafnqu‚Š‘™ž¦©®!º 6{ &*!Fjm 6sz~ÅÉÍ"Ýݱ7? %-15 >IfimvzāĕĝĹĽ)Ŀ 86   *-158j>FOZbeiv~ŁŅňŒřŝš ŪŶſ  &)1<BEIV^ amrz}ƁƎƖƙƝƪƲƵƻ9d  &9"%)8>AEY]ailvyNjǒǛǧǮDZǵ !% :\29=AJNUru<:{ȈȎȕȢȩȾ-5RUYdmqu }Ɋɍɑ!ɞ* BNQUbi~ʅ"ʙʾű<|  "BJMQZ^e l!z˝˹=v!#*1?FIMZaiq v̶̡̝̮̹̽̚ >"  >h%) -!:]aery ͉͖͙ͪ͝ͱ ?(  "%)?S!6Z]bnvy}ΊΒΕΙΦή! !%29VY]@FjruyρφύϢϩϱ @ .69=A AJQUY anqu~!ЂЦЩЭAbк!25;FNQU Abim}тхщѢѥѩ B*Ѷѽ  .15BBI]e҂҅҉ҒҖҝҡҥҪҭҲҺҽ3C "&*-1>5F~ӁӅӒӚӝӡӮӵӹӽ !AE]aepz}ԃ D~Ԏԕ!Ԫ D   #>AERZ]afnvy}ՊՑ!զ E!% .:=AFENRVY ]jmr uֆ֎ֱּ֑֢֭֕֩ձ FT !F.69=EJRZ Ffjmqu~ׂ׊׍בFמ I5] RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@> P` ^Pas@c/!"T"xwyA>"]?A>"\w>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"]#A>"]@A>"]]A>;"\zA>W"]A>t"]3A>".P.A>/"]nA>L"] A>i"](A>"]EA>#"]bA>@"]A>]"]A>z"]9A>"]VA>4"]sA>Q"]A>n"&-6UA> "]KA>)"]hAFT+X"]A>b"]!A>"]>A>" [SfA>:")ye2#A Vx"/.C0Atw' "]2A>"]OA>-A lt v"+-HwA> "UHvA>%"]dA>B"]A>_"]A>|"];A>"]XA>6"]uA>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"*#T1OA99;"]?A>"]\A>:"]yA>W"=NUA>t"3W:A>"]QA>/"ZnIA>K"] A>h"]'A>"]DA>""]aA>?"]~A>\"]A>y"]8A>"]UA>3"]rA>P"]A>m",[/A5 B"]KA>)"]hAF#b"O. VA>c"<"A_A>">THA>"I\&A>9"]xAVG'l")a2>A"q`"]0A'o6"!L;oA4+ a"]kA%Ip" nFeA>g"]&A"d'"]BA> "]_A>="]|A6Z""=I >JRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEB5-Ha KN/1 hORCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@> ` ^=at@c/!"T"xwyA>"]?A>"\w 2_>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"]#A>"]@A>"]]A>;"\zA>W"]A>t"]3A>".P.A>/"]nA>L"] A>i"](A>"]EA>#"]bA>@"]A>]"]A>z"]9A>"]VA>4"]sA>Q"]A>n"&-6UA> "]KA>)"]hAFT+X"]A>b"]!A>"]>A>" [SfA>:")ye2#A Vx"/.C0Atw' "]2A>"]OA>-A lt v"+-HwA> "UHvA>%"]dA>B"]A>_"]A>|"];A>"]XA>6"]uA>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"*#T1OA99;"]?A>"]\A>:"]yA>W"=NUA>t"3W:A>"]QA>/"ZnIA>K"] A>h"]'A>"]DA>""]aA>?"]~A>\"]A>y"]8A>"]UA>3"]rA>P"]A>m",[/A5 B"]KA>)"]hAF#b"O. VA>c"<"A_A>">THA>"I\&A>9"]xAVG'l")a2>A"q`"]0A'o6"!L;oA4+ a"]kA%Ip" nFeA>g"]&A"d'"]BA> "]_A>="]|A6Z""=I >J``RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEB5pc-Ha KN/1 hORCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE]"]"]] P` ^Pc]c"]A"-R]M"K+w0zs2STZ[_n`b co!d"p#fyuz$|%v& '*wPU,V-Z a e jVsW^b.c2kvz~g0 1 &us 3x4ya;`{ 2 c ¡ 2_]S"]1"]"]m"]K"])"]"]e"]C"]!"]"]]"];"]"]w"]U"]3"]"]o"]M"]+"] "]g"]E"]#"]"]_"]="]"]y"]W"]5"]"]q"]O"]-"] "]i"]G"]%"]"]a"]?"]"]{"]Y"]7"]"]s"]Q"]/"] "]k"]I"]'"]"]c"*AU]l"]J"]("]"]d"]B"] "]~"]\"]:"]"]v"]T"]2"]"]n"]L"]*"]"]f"]D"]""]"]^"]<"]"]x"]V"]4"]"]p"]N"],"] "]h"]F"]$"]"]`"]>"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l"]J"]("]"]d"]B"] "]~"]\"]:"]"]v"]T"]2"]"]n"]L"#*a]c"]A"-R]M"K+w0zq2STZ[_n`b co!d"p#fyuz$|%v& '*wPU,V-Z a e jVqW^b.c2kvz~g0 1 &uq 3x4ya;`{ 2 a;¡ 2_]S"]1"]"]m"]K"])"]"]e"]C"]!"]"]]"];"]"]w"]U"]3"]"]o"]M"]+"] "]g"]E"]#"]"]_"]="]"]y"]W"]5"]"]q"]O"]-"] "]i"]G"]%"]"]a"]?"]"]{"]Y"]7"]"]s"]Q"]/"] "]k"]I"]'"]"]c"*ARCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE]"]"]] P` ^Ps cN o|~~  "c"AO9e"-R]M"K+w0zs2STZ[_n`b co!d"p#fyuz$|%v& '*wPU,V-Z a e jVsW^b.c2kvz~g0 1 &us 3x4ya;`{ 2 c ¡ 2_]S"]1"]"]m"]K"])"]"]e"]C"]!"]"]]"];"]"]w"]U"]3"]"]o"]M"]+"] "]g"]E"]#"]"]_"]="]"]y"]W"]5"]"]q"]O"]-"] "]i"]G"]%"]"]a"]?"]"]{"]Y"]7"]"]s"]Q"]/"] "]k"]I"]'"]"]c"*AU]l"]J"]("]"]d"]B"] "]~"]\"]:"]"]v"]T"]2"]"]n"]L"]*"]"]f"]D"]""]"]^"]<"]"]x"]V"]4"]"]p"]N"],"] "]h"]F"]$"]"]`"]>"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l"]J"]("]"]d"]B"] "]~"]\"]:"]"]v"]T"]2"]"]n"]L"#*q cN o|~~  "a"AO9e"-R]M"K+w0zq2STZ[_n`b co!d"p#fyuz$|%v& '*wPU,V-Z a e jVqW^b.c2kvz~g0 1 &uq 3x4ya;`{ 2 a;¡ 2_]S"]1"]"]m"]K"])"]"]e"]C"]!"]"]]"];"]"]w"]U"]3"]"]o"]M"]+"] "]g"]E"]#"]"]_"]="]"]y"]W"]5"]"]q"]O"]-"] "]i"]G"]%"]"]a"]?"]"]{"]Y"]7"]"]s"]Q"]/"] "]k"]I"]'"]"]c"*ARCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!!]a!!]c"]A"-R]M"K+w0zq2'!STZ[_n`b co!d"p#fyuz$|%v& '*wPU,V-Z a e jVq(!W^b.c2kvz~g0 1 &uq )!3x4ya;`{ 2 a;B! 2_]S"]1"]"]m"]K"])"]"]e"]C"]!"]"]]"];"]"]w"]U"]3"]"]o"]M"]+"] "]g"]E"]#"]"]_"]="]"]y"]W"]5"]"]q"]O"]-"] "]i"]G"]%"]"]a"]?"]"]{"]Y"]7"]"]s"]Q"]/"] "]k"]I"]'"]"]c"*ARCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSECNS1-Ha !,N|~ hORCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!!]aR!!]l"]J"]("]"]d"]B"] "]~"]\"]:"]"]v"]T"]2"]"]n"]L"]*"]"]f"]D"]""]"]^"]<"]"]x"]V"]4"]"]p"]N"],"] "]h"]F"]$"]"]`"]>"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l"]J"]("]"]d"]B"] "]~"]\"]:"]"]v"]T"]2"]"]n"]L"#*RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSECNS2-HRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@> A~!2 A iUA*twss,2}npn$UBWAohyM+PmxH1A C6qST m Atsrsts EY X wvqpon) EDCBSX~  !V;yBxwc8!o78xy( 2 6`J<$ * a6c b3W2Y^ +,"%{cbZ uA"Z2Q f}7 6i/2o( Q J>?]edA_sdMm~uK VaEh;8GAx%e\W\tAYw"rM "x mo8^8<@':E (MT15P}jmFA h$'XqNoslS-HdWdR%AvP8J){((vtLGl$ $jtM||L-j`XVAfEqp [q8KAra F ) 'U  3  J "   T    &#6-DH + "+ (>A*`j&0rde#A)ҁMCHI ?/ . iv&oz - {+_:-SZ ?Vu{3A Áq  FZ^=dc<" /"uR$$   H  ,  O E6 )F %  G'D F  & |\a14 | V Z xz ` ^aZc!"T"yA>"]?A>"\w>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"]#A>"]@A>"]]A>;"\zB>W"]A>t"]3A>".P.A>/"]nA>L"] A>i"](A>"]EA>#"]bA>@"]A>]"]A>z"]9A>"]VA>4"]sA>Q"]A>n"&-6UA> "]KA>)"]hAF+X"]A>b"]!A>"]>A>" [SfA>:")y2#A Vx"C0At' "]2A>"]OA>-"zh l v"+-HwA> "UHA>%"]dA>B"]A>_"]A>|"];A>"]XA>6"]uA>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"*#1OA9;"]?A>"]\A>:"]yA>W"=UA>t"3W:A>"]QA>/"ZnIA>K"] A>h"]'A>"]DA>""]aA>?"]~A>\"]A>y"]8A>"]UA>3"]rA>P"]A>m",[/A5 B"]KA>)"]hAF#b"O VA>c"<"_A>">THA>"I\&A>9"]xAV'l")2>A"q"]0A'6"!L;oA4+ a"]kA%Ip" FeA>g"]&A"'"]BA> "]_A>="]|A6Z"" >Ja%W  #' ,:@'GORX aot~[ o+"0VY_d#fkpy} (18A@Y^g lw"| ! &3"]FA$(*TH_cNUc/#%+4 =AIMQSCUX]emsw{$~ !$ '14 6RFWPU\^bej!mA14:(?AFHLPRTZ]_uwzE# *"8LQU`h lw B  #1:DG$KO lv{ r/{3:A>Y"]A>v"25(hA +2"JTgo(A( 1<W"gj $8>A CMQScmt"} ' =G JAW`"-&0 X fAr!)"/18 kxa:@%;">`I(a" 47<,?"l s v  #1WB ERD\ beint" _|B!!C"_d PXCr)+03:>"@D F R5^lo/eN/QSU"Y [f n s}  D '+29>AGI(RY\_bqsxz  A  &28>F#NQT[bktz A' .<>*BEGI N VX\ adhLmrz. "D#')0C#G MOSXZ] ` hkr0y }  R~07 :UF%- *FR ] _RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE ETHK-B5-Ha] aKN/1OaRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@> P` ^Pa}@c/!"T"xwyA>"]?A>"\w>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"]#A>"]@A>"]]A>;"\zA>W"]A>t"]3A>".P.A>/"]nA>L"] A>i"](A>"]EA>#"]bA>@"]A>]"]A>z"]9A>"]VA>4"]sA>Q"]A>n"&-6UA> "]KA>)"]hAFT+X"]A>b"]!A>"]>A>" [SfA>:")ye2#A Vx"/.C0Atw' "]2A>"]OA>-"z3:A>Y"]A>v"25l lt v"+-HwA> "UHvA>%"]dA>B"]A>_"]A>|"];A>"]XA>6"]uA>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"*#T1OA99;"]?A>"]\A>:"]yA>W"=NUA>t"3W:A>"]QA>/"ZnIA>K"] A>h"]'A>"]DA>""]aA>?"]~A>\"]A>y"]8A>"]UA>3"]rA>P"]A>m",[/A5 B"]KA>)"]hAF#b"O. VA>c"<"A_A>">THA>"I\&A>9"]xAVG'l")a2>A"q`"]0A'o6"!L;oA4+ a"]kA%Ip" nFeA>g"]&A"d'"]BA> "]_A>="]|A6Z""=I >J(hRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE ETen-B5-Ha] aKN/1OaRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE ETen-B5-H` ^RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE ETenms-B5-HAKNC }ha ] " ?RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE?A] g` ^ga?FA]y" W em t 1 0&RJ-U*s H # DQ 7 w WE$$aF]e"]C"]!"]"]]"];"]"]w"]U"]3"]"]o"]M"]+"] "]g"]E"]#"]"]_"]="]"]y"]W"]5"]"]q"]O"]-"] "]i"2GM]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l"]J"]("]"]d"]B"] "]~"]\"]:"]"]v"]T"2\RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEEUC-HaO Q SV[Am?2aRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!!]a!!GyB" W 0&RJ-U*s H # D/>h(">G"P&' wqzya!i6:K71! 8HOa-_q 0!eQg"xR1S3T8UAq 1!CV MWXX\Y`['e\q 2!!]I^4+_a`{a~q3!ba!(cDdJeR1UfYq 4! ]grh i"a5! ;jFk=[q6!lm#2?nHofpmqtrvq7!ws{t uv%w)x, 2y ;zH{P|a8!U} i~ JU]o a:!1D X eq ;!ov y { Dq !   (>HMq ?!g-q ' 0q @!E!G""g# $&qA!#(n+)<*O+R,b-lqB!./ .0=1 D2P3W5^qC!_6f7i9 m;1|</=4>;q D!=? Z@eAgBjC l5"xqE!DE"F)G1H:ICJFKM_ RM_Pi6nNsqF!yOPQ.S5U:V@X CmOq G!WY`Zp[\ ] ^$q H!5_9`Ca"Eb icwd qI!e g;#h%i (j 3kAl,Dq J!!qmn o+pJq K!OqQr Xsz3t/(qL!+-u Zvfwlxo5yz {q M! |};~?4 ETa N!)i-D#HX]`M4z''0aO6waNK.%q Q!Xu 0aR!]6q S! $ . D R_aYx'aT!"rw6"P$m".N0 "] "jYn">H   "&?0Sa TDx%>O1; Lq [!#) ."<OhQ Xa^9m;a\!]b"]@"7#Ns"Q| O"Z7`0" 8CLIa^P"28 54!"q b! $;!n^Q`%eac!(t&'(T2q d!R( k\x)* ae!0+I, K-7V"$.74"Bl/0051 >"J2^37e4 q i!(u * 65D #bq j! 6 70#8Uq k!d9)v!:*;:alM*al!+Bo  ", Nln"~&5"C\!a li< =Y>?@:ABC Dq p!:EMF _GkHq1Iaq!]q r! vJ KwL$$) Ja|{oaz6Ia s!/TM*N1"]'"G"]b"M@ ERCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@<?@< g` ^ga@>y8"B" 0RJN>\s i #DS.>h(>GC>&e' wqzya6K7R! 8HOa~q eQg"xR1S3T8UAq @CV MWXX\Y`[eq \]I^4+_a`{a~a@ba!(q>cDdJeR1Uf$Ygrh i"a@ ;jFk[qzlm#2?nHofpmqtrvq@ws{t uv%w)x, 2q 6y ;zH{P|U} i~ JU]oq r6 D X eq @ov y { %q 5. e ) v a@ + 6(Aq jx~  (>HMa@g-q q' 0!G""g# $&q @#(n+)<*O+R,qb-0l./ .0=1 D2P3W5^q @_6f7i9 m;!|q</=4>;? Z@eAgBjC l5"xq@DE"F)G1H:ICJFKM_RqZM_Pi6nN"sOPQ.S5U:V@X CmOa@WY`Zp[q\ ] ^$_9`Ca"Eb icwd q@e g;#h%i (j 3kAl Dq @Rmn o+pJa@OqQr Xszq 3t/0(u Zvfwlxo5yz {q @ |};~?4Ea J>T-DDHX]`,4z''0aUwa?.Fq @Xu a|q @ $ . D Rawa S5_6CP!mN0 C> !KYnC>Ha6&O1q   ' ?0Saa@#) ."< COhQgXC>@6m7#Nsad!9`?Fa@>|q ;O7` 50a@ 8!C"-Iq (w$;!n^Q`%ea@(t&'(T2q 63( k\x)* a @0+I, K-VCo.74C>lq +/0051>2^37e4 q @(u * 65D bq !g 6 70#8Ua@d9)v!q #:*;3:*o< = a@, >Nq _?l@nABC&5a@>\qD*!EMF _GkHq1Ia@>q *WJ KwL$$) JaoaIa @/TM N1!>'3fGC>bl! ERCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE Ext-RKSJ-Ha AOLRPOSVYTWV[AMrAS aHRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEExt-Ha !"OLRPOSVYTWV[A!kM@rA2a%uIRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE] $` $].aX]`21> p z$]"Rd-U7* 4%+ Z {/%<9Kb1]." `],"] "]h"]F"]$"]"]`"]>"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l"]J"]("]"]d"]B"] "X~']W"]5"]"]q"]O"]-"] "]i"]G"]%"]"]a"]?"]"]{"]Y"]7"]"]s"]Q"]/"] "]k"]I"]'"]"]c"]A"]"]}"]["]9RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEGB-EUC-Ha?>VW F>"BD= @CXTURCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!!]aX!!]`21> p z$]"Rd-U7* 4%+ Z {/%<9Kb1]." `],"] "]h"]F"]$"]"]`"]>"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l"]J"]("]"]d"]B"] "X~']W"]5"]"]q"]O"]-"] "]i"]G"]%"]"]a"]?"]"]{"]Y"]7"]"]s"]Q"]/"] "]k"]I"]'"]"]c"]A"]"]}"]["]9RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEGB-Ha!"?>VW F>"BD= @CXTURCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@> $` $].a @8XYqer] q @ %53LDIbKq L N\Z!neM' >(0.4Kl89q@<h=T@9BXE_KBNT,S ZejOkldqmVrPNtvv|1 RWUQe %+)OUq @]YmH cq& +%J(O1O6:4I5u7> RM_)`fa'b2 d#psu uq @E^FoP$q<ACdFyLOBPZY"Kha@ 4m>GGlZqpIp' 7^8*9, ;X@EoH!NySr Xq@jb|e0iztjwlLsxOhuqviwt|opq4vst5[rn7"u&+ .k99:?}uBC{~LJ[Lj NO!S=opa@FHt~v7wq9/*i z%, . 8sq@ %c90+1-25'=/ >}KV NBXq# Z2 e_ryvY}]~g m&)R;('+.I"8$ .Ma@2R 74 q  * 'Dlqmo~ q@  3< i(U- .q$<CV)Yw]'_c drvDw2~s`q @+x.v1=ECxIqcuiu jnv0wz{|~E! &|%0a@>Vq4~2cM;R9U(=j5z:|3q@ b ^]7/_2NR<!k "2,?3<>6q8.<{D G1HDK N^#6 [ ^i`l8oxQ п~[0[Z={q }a#$ s0 a@>q 5\Q)]* - Z7 q @T dXp[6q [`+a2@ 3?_B^DjEMU_\,T_c@beQ `)L,:02C@wAtJ] Lq@Xh[\r|5x  q-!8%4n:{q;pBiCDoJN PuXt]}ayc~fz mq@ wc - KSY$3(q/\7:> C EG[J/$P@umzA}JgBa@>P]\ .[!8q @Z^mDbrTs fqc] /k<5Z&^ct=xA yKq@$ H` w:1#A)8-v/27J8q- 9>C4EWHOalVjZc^& blesdubx^|D ~6) +% vmq!@ %P'/Z0S1id7U9f:_=OAYCElkFXnKqMRmSz\Vh `j mfoos Xwg p z$]"Rd-U7* 4%+ Z {/%<9Kbaa )>3r* "#Bq @ 6=!&5HIL?*Nq QRkl"m].q @dn+p9q_Ar0ta aF@*` \]%ja %F)L v  q @ a)[=b?T E_ Pq Zl\]`ccdha@w% pq 4B8N=1 E a@#PFt. q   2+ 3$(&q @'/(1 ),3N7Q WPKd 1q `4/e7<iC%SaT@kl],q @ sn~=2C+a-D] q @Mo$Nnstx ~a]h"]Fap  (+,(ieza  &+) Ucknoq @Hdfwk'1la9k<cAj J]$q @WX' afkglnhraf\+]q @."@]BE[8!Fa h]`q@ w $i+*[:a@}A]>q@_ bmc9ijl$at8`ubvA a]"]zaGMAd!3oa3CSlo q@$hc"$f*g3A |1},5 +/hd!|J-Tq Q!3(/).+0[,X1B4]ra@99<6=9@Q QEbKfCddqZG_82tJ1K5O;Q73ST^X4Y= l]Pq@& mNFKDy'L}GIHB n J\Q v;( LK q:mRQ U& 'T+].q'@{.@1&a7 VYX8.:?zMWASI J_KnL$pO:PZQSaUbpq] q@tj, bqrr$&a,. A]jq @ L`ZBpAq(a€ Q “oN+OX/a¡]H"]&a y8U7RGya!6 WZ^tq@y#EI w*%,qĀ01-H(@DEEJF]q@JpNFO]^S, Xad;YKIgaŀao]bq @p x"" =6 Kaƀ W]@q @%x+?&},30aǀ 3]q @TM U4bqd wI~ q Ȁ F G!#b&]|q @)MH8`UEV\aɀc5 r<}]Zq@ oQ 8 B*O-=1D14Kq ʀ5;6P=4&AKCUJ]8q@P>StT0UXZZJbg h?rtCq ˀ YT2]q@&W XBS'; *Z6V97<y DSOaRq ̀ SaIfBghm]ta͡]Ra͐ZWN. 2a@>p/?F&N u q ΀  \l$&&]0q@ (`6{<^>aAUPkV[W YY\q π^_)Vf]_nowX]q@ x)[v ?  -aЀ .]lq @Oqd gX,n'vaрa;%]Jq@>'])= 2*@<:F?IMkNP-Rq Ҁ [e2hk6m8n:](q@v<zd}9~=>?R} ;- $ %&aӀ(_K -Q Ӌwp ! 'q Ӕ4j6bK7x8b:r]q%@;P<S?e@rDF]ITKgLOfThXd^j_k`i=ajc=eaԀgvgi7kQ Ԋ, wvt?nL}aԗppunw]dq@xmlb{~~y/6wQ Z= f$K OpUqe GE\uFaՀ4Q ՄilGFon]\QPQ+q Ր%`(~G+ ,u/]Bq@0 S14 5_7 8QR}08~gf! _l]LLab?WBEFQ ou5(s|[NkayLOqրQ T Vc[:`xd] q@knkrx0hyD z U J@Sq׀I!mx${%*+X~a@ 4HA}*Fq؀q; Y$:epd0a]WQ@K83 NB=k|l:!mH?9+*6+qQa]2Q4Ql3JutOti; %Vaz5xqـTs%)7( G*.1/f1[D2]5q @3*14=9\#=azdaڡ]"]qaڅnxQ0 } ,a ڀkpx *AGK Q]ejQ O|aj`MLa q Xuz~#pq܀{g6V` ! '*]Oq @.4:?@1DEFXGN fO&YTq݀X;Y:[[p_ b;fhp7jRl3]-q@E!m(o|0r" wF 0KJ* aހ{ /r;] q@~< =; GSU>&VlY>ZJ[3_eA wO$10~m=q ߁jqlFmcsp]iq@ 3 " -G/<78Q9q>;EJ-+KLMO]Gq @X! ZU{ ~ $ qXzy4sxwHvE{#]%q!@$z%m &}1y2~M38:=]%@Az&CUKOqPVW 1Y  [4]]q"@acfVi lSmzNoqUt w|*- 2 {q /,( /<5! &"]aq'@4*1#%&M+Z,r>-O1C2W3<4)7!9 ;?EDF#:EI=qJAK <;8M@QMRUKYGO]]?q)@^0dFeLgR0IiQJlRm8pyq+sM%uLwmy7zJ8N|Tq<UV hVWSH]q@\Y!U%}(~+|.Z/^14 3^=`>"TGA怾Aycy R+@A{IqM OePaRbXl[m ^_j]{q@`nc9\ghkojDgk[l o+{q|w}"3 q*6soxpuA]]Yq@$z'w(*$+{.#2y7f8=| >I}KrLtRqNTFUYvZd?^\]7q @ muy}?@Q ]E~[V }vq i i Cyk5 qGIFOKs!wONJM"P%l'A(nQ]q@x)S,RT/,4U5q7E$9q^aci~MjnY]sq@w2xR{y }W? =% VDW "a'P,C0]Qq@F(L [ ^_2 b oCva~# ]/q@$^5]:<_> }?@EeJgLfMaRQI25>t5 |S/.Ca] q @GA /\h?4kInHrtKu}{~}LC9ZsaqMNvKQ@P R"*#rS&]kq@>TD(Os)/L45x6N8O=8DPEQ FtPR~SqUW!XqY["\K65c-gSh]Iq"@j#kgl$dn8r%tvCx.~& 5'(u)q+k,jyfgl - #]'q@-mB?Ai BW N%J\]A~Q 4]\98=+e;dA9aBJVZ\]q@` e! f"p'9%q)x.+ z*-(9 q608 7E&:'C]}q@+@,=A/>0?@2;3B7D:9BLCGKKINHPJQq XM]4_Q`PRbOeQ 26(#"ihon+a][q@lTnXtUMv[~ZY./F&\ , #1a ]9q@=?B\D JKZn [fCklmqop}ros yG q@ P` (6)+v-q <ABKOPq@XZ]LbDf` lopl q". #q  % $&'")q@#(,4!*89R{U tVaW gqrwtq@uy}Z A3j  i"$a*-s3q@IFk[S^_ce0gqhjmnrswqx73"m4S a@Y= NRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE GBK-EUC-Ha?>VW F>"BD= @CXTURCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE00 @> C 06R:x]@r- S 90&]a l IZS 90o-:*+& S 90;)VC9 5;pS 900z g`}<1S 90- u/6(a6S 90n#UXKpDm;S 90@M${ I$S 90=|j=z!S 90if%: H~]NS 90EZhMM<;@S 90"c:jMS 90\kbr7&%S 90C9c>|}S 90dzeKqZ$ }S 90}9S8tTml5S 90{_U`i(F}3fS 90}vU4 DS 90qUFB8S 90Z"Fkw5d;VQS 90qCj{qgnXC900C91F`C90W"~A>yY .fTk.,miz< Gn"_6 ^1h?+E_V7<s;$SL %|y_)   1 t=| Y~,-Y \K  &<c j~LyaI c6xI\ `%F_ON /@ `;(Sb Q MH-!'L(K[i )N#b.K" WVS0  5$ozI e  eB "ElsR? >  StT^*]N e0 )^ '2>y M</PXyK\oL <{Qdj]_cT0'  - 0?S0 C.zd_7'L}CDSmQyd%x 4k`( A, G; 'Vx]C5!:|m%$e>XeLjqt&d!x $Ib Dnm7bJ#(J# 2IyR# g6@!N[ m$ oAU_eA S;in',X-?S A~Kc6 E8ZA4/TzbCvA7|`4*B $@K rH~,xb.AzDl.R4nLsX$=j$Bd(HAL/JQ п~[0[Z={Aa}cC@k!gQb OKHC _|i. g1fnBAA]0V"Q `C g6" Ew4Mc= XS T"f 9L[\7 k = w4l    g` B k<; MCtN[| b7& $ =ALA m'l C`m< $,|RA [r `0-JLT A nc62V\"(D#AAのQQ WPKd 1A;b/y h1YcsZ_`,V(kJEe #vK+ W |VM?rQ apCByxEDyQ mH$A@~# &Ax4*Q # '&/9sPAs z#$ rR  pv>tem=N-'lWA&& 4 A Dw " 4 Q QEbKfCddA/]_0 }1(Y^  v?*id-3 ynu^X 9< -an;H {n )W ]A@&A aJ @2Q v;( LK A:6g'7 T PFVAHcjUwS+} jdO8.`AR &)8  gH+-!nBS~oaA &7 "#>D@<*Q “oN+OX/A  y87xL--?<fYtJ)+Xe h2E,Q l%!^R&sYjEM L2z}t ic1T QHg 8 9(c.; L% '2!(9bH(/v-^sj n c" :!`- 1 < ?} 2efJI )er6(!:.u. 4@ 10![i&:%vg8Z/I"b2%%T!3)AÄGG= ) P# AŜo$W`4e| DMnF     ?nt?jc w! VEAĀ0&)W"A@TR[l <C:$>j`h&jHs 0ML2o '>22Q Ӌwp ! 'Aӛx-&`C1)AӖjn/L E( z$KF uYX[p\?A ӗ6 $Q Ԋ, wvt?nL}AFb6AԜp#mAԠw/Q Z= f$K OpUAn\O_AhGvSNAmQ ՄilGFon]\QPQ+AՓ`33.A Ք/ o^A՚+ QR}08~gf! _l]LLAeWTiQ ou5(s|[NkA+|  aSz)WPIH[I &j[ F{:5<gg*+kfi`AׇAQx7T {, Q@K83 NB=k|l:!mH?9+*6+qQAc2/AQl3JutOti; %VA|3I<j@z-P_ ([Q $J Z56A }5*K u ,Aٜ1 Q O|aj`MLa A'f# kVc> =7, QL 8=@WiPs "DYUr!X%>, iK =.+1N:]/_$XM=6W8E+ W X3h> -5b * ! xQlxIYnw$N>{gWV# > i/Ux3&s(zE fG^ /QG7 _` mk2.-^5b Lf n yO $%.  J R b sNG3c(/JPs#)` V !tOw4C3 :N>EQ %g  z;Hm AOR!{HA xy":H &s1WohgAv 2=h0 i >QI25>t5 |S/.CA:AAo7XD 2#jO0%((=q"u\gn X '+|5#^9^g&=P+ ~ ?(}F %7A(@G " AU  mDC3 ru`2  AVt ( *  ".DFB 4Q 4]\98=C0G[HNE;GH Av#se gASAW~,T\ bj0F>"cj!8!:OTh| !i` ^c!88v v(x 1v ;v Ev Ov Yv cv mv wy{~|{v vx v v v v *v 4v >v Hv Rv \v fv pv zv v v a@8Xe cx00 "v ,v 6v @v Jv Tv ^v hv rv |v v v v $v .v 8v Bv Lv Vv `v jv tv ~v v v v &v 0v :v Dv Nv Xv bv lv vv v v v v (v 2v v Hv Rv \v fv pv zv v v v "v ,v 6v @v Jv Tv ^v hv rv |v v v v $v .v 8v Bv Lv Vv `v jv tv ~v v v v &v 0v :v Dv Nv Xv bv lv vv v v v v (v 2v v Hv Rv \v fv pv zv v v v "v ,v 6v @v Jv Tv ^v hv rv |v v v v $v .v 8v Bv Lv Vv `v jv tv ~v v v v &v 0v :v Dv Nv Xv bv lv vv v v v v (v 2v v Hv Rv \v fv pv zv v v v "v ,v 6v @v Jv Tv ^v hv rv |v v v v $v .v 8v Bv Lv Vv `v jv tv ~v v v v &v 0v :v Dv Nv Xv bv lv vv v v v v (v 2v v Hv Rv \v fv pv zv v v v "v ,v 6v @v Jv Tv ^v hv rv |v v v v $v .v 8v Bv Lv Vv `v jv tv ~v v v v &v 0v :v Dv Nv Xv bv lv vv v v v v (v 2v v Hv Rv \v fv pv zv v v v "v ,v 6v @v Jv Tv ^v hv rv |v v v v $v .v 8v Bv Lv Vv `v jv tv ~v v v v &v 0v :v Dv Nv Xv bv lv vv v v v v (v 2v v Hv Rv \v fv pv zv v v v "v ,v 6v @v Jv Tv ^v hv rv |v v v v $v .v 8v Bv Lv Vv `v jv tv ~v v v v &v 0v :v Dv Nv Xv bv lv vv v v v v (v 2v v Hv Rv \v fv pv zv v v v "v ,v 6v @v Jv Tv ^v hv rv |v v v v $v .v 8v Bv Lv Vv `v jv tv ~v v v v &v 0v :v Dv Nv Xv bv lv vv v v v v (v 2v v Hv Rv \v fv pv zv v v v "v ,v 6v @v Jv Tv ^v hv rv |v v v v $v .v 8v Bv Lv Vv `v jv tv ~v v v v &v 0v :v Dv Nv Xv bv lv vv v v v v (v 2v v Hv Rv \v fv pv zv v v v "v ,v 6v @v Jv Tv ^v hv rv |v v v v $v .v 8v Bv Lv Vv `v jv tv ~v v v v &v 0v :v Dv Nv Xv bv lv vv v v v v (v 2v v Hv Rv \v fv pvzzv v v #v -v 7v Av Kv Uv _v iv sv }v v v v %v /v 9v Cv Mv Wv av kv uv v v v v 'v 1v ;v Ev Ov Yv cv mv wv v v v v )v 3v =v Gv Qv [v ev ov yv v v v !v +v 5v ?v Iv Sv ]v gv qv {v v v v #v -v 7v Av Kv Uv _v iv sv }v v v v %v /v 9v Cv Mv Wv av kv uv v v v v 'v 1v ;v Ev Ov Yv cv mv wv v v v v )v 3v =v Gv Qv [v ev ov yv v yv v (v 2v  p z$]"Rd-U7* 4%+ Z {/%<9Kb1]." `],"] "]h"]F"]$"]"]`"]>"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l"]J"]("]"]d"]B"] "X~']W"]5"]"]q"]O"]-"] "]i"]G"]%"]"]a"]?"]"]{"]Y"]7"]"]s"]Q"]/"] "]k"]I"]'"]"]c"]A"]"]}"]["]9aNyax)ava A/4sU6O-hIA8LaN;'a )>3r* #Ba @ %3DIL NZ!n(049C=@BEKNT Ze mrtv|  +)UA]m  %(157 Rb dps uA$<CFLPYKhA 4>GZp'9 ;EHNS XBbejlsw|"&+ .:?CJLOSpCt7w9/iz  A %25 >K NX Z erv~ "$ V2MRUjz|A   ",368<DHK N [ilox }  A>5\* -7BT dp + 3?BEMU\_ce kmqBtx  #;M V alsA1 CORl ',5;B@$V{~}a @&|#(8NSX-s!)A058 = _kt  ),02AJ LAX\|  %4;DJNPX]acf mA w  $(/7:>CEGJ$Puz}A>P] .!8AZms  /<Z^t yB  #)-/2 9CEHOVZ^ blsux| ~ C %'17:=ACFKMS\ `jmoswp/?F&N u  $& (6<>APWY\_fn" x   .Odgn% ') 2@FINPR [ehkn vz~ &(- 48$<@DFILOTXacegik pu!x{~   %(,%158?BF LOQTV[`dknr z  !%+ 4A*FqC%*/(49#=adkpx *AGK Q]ej uz~!'* .4:@GOTY[_bfhj$mor w   /$ = GV[_e jmp  "-/9>EMOX Z{ ~  & &38:=ACKPWY[] acfimoqtw|  )#&-479 ;F KMRUY#^egimqsuwz "!%(+/1 3>G MPRX[^!`cg l o}  $(+.28 >ILRUZ\ my   "%&),/57$9^acjn"x{ } "',0FL[_ bov~ $5:<?EJMR4hknru{} #&%)/68= FPSUY\ch$lnrtvx~   #-? B N] cmpx~#(.25;!=@CGWj o{  &+;BVZ\` fqx z '",037:CKNQX]`be*lntv   =?BDK [fmps y  )+-<BKPXZ]bfl q  #,49RW gr!uy}  "$*-3I[_cehjnsx$= NRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEGBK2K-Ha ?>VW F>"BD= @AC( A AW2  qRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@> ` ^a @8XYqer] q @ %53LDIbKq L N\Z!neM' >(0.4Kl89q@<h=T@9BXE_KBNT,S ZejOkldqmVrPNtvv|1 RWUQe %+)OUq @]YmH cq& +%J(O1O6:4I5u7> RM_)`fa'b2 d#psu uq @E^FoP$q<ACdFyLOBPZY"Kha@ 4m>GGlZqpIp' 7^8*9, ;X@EoH!NySr Xq@jb|e0iztjwlLsxOhuqviwt|opq4vst5[rn7"u&+ .k99:?}uBC{~LJ[Lj NO!S=opa@FHt~v7wq9/*i z%, . 8sq@ %c90+1-25'=/ >}KV NBXq# Z2 e_ryvY}]~g m&)R;('+.I"8$ .Ma@2R 74 q  * 'Dlqmo~ q@  3< i(U- .q$<CV)Yw]'_c drvDw2~s`q @+x.v1=ECxIqcuiu jnv0wz{|~E! &|%0a@>Vq4~2cM;R9U(=j5z:|3q@ b ^]7/_2NR<!k "2,?3<>6q8.<{D G1HDK N^#6 [ ^i`l8oxQ п~[0[Z={q }a#$ s0 a@>q 5\Q)]* - Z7 q @T dXp[6q [`+a2@ 3?_B^DjEMU_\,T_c@beQ `)L,:02C@wAtJ] Lq@Xh[\r|5x  q-!8%4n:{q;pBiCDoJN PuXt]}ayc~fz mq@ wc - KSY$3(q/\7:> C EG[J/$P@umzA}JgBa@>P]\ .[!8q @Z^mDbrTs fqc] /k<5Z&^ct=xA yKq@$ H` w:1#A)8-v/27J8q- 9>C4EWHOalVjZc^& blesdubx^|D ~6) +% vmq!@ %P'/Z0S1id7U9f:_=OAYCElkFXnKqMRmSz\Vh `j mfoos Xwg p z$]"Rd-U7* 4%+ Z {/%<9Kbaa )>3r* "#Bq @ 6=!&5HIL?*Nq QRkl"m].q @dn+p9q_Ar0ta aF@*` \]%ja %F)L v  q @ a)[=b?T E_ Pq Zl\]`ccdha@w% pq 4B8N=1 E a@#PFt. q   2+ 3$(&q @'/(1 ),3N7Q WPKd 1q `4/e7<iC%SaT@kl],q @ sn~=2C+a-D] q @Mo$Nnstx ~a]h"]Fap  (+,(ieza  &+) Ucknoq @Hdfwk'1la9k<cAj J]$q @WX' afkglnhraf\+]q @."@]BE[8!Fa h]`q@ w $i+*[:a@}A]>q@_ bmc9ijl$at8`ubvA a]"]zaGMAd!3oa3CSlo q@$hc"$f*g3A |1},5 +/hd!|J-Tq Q!3(/).+0[,X1B4]ra@99<6=9@Q QEbKfCddqZG_82tJ1K5O;Q73ST^X4Y= l]Pq@& mNFKDy'L}GIHB n J\Q v;( LK q:mRQ U& 'T+].q'@{.@1&a7 VYX8.:?zMWASI J_KnL$pO:PZQSaUbpq] q@tj, bqrr$&a,. A]jq @ L`ZBpAq(a€ Q “oN+OX/a¡]H"]&a y8U7RGya!6 WZ^tq@y#EI w*%,qĀ01-H(@DEEJF]q@JpNFO]^S, Xad;YKIgaŀao]bq @p x"" =6 Kaƀ W]@q @%x+?&},30aǀ 3]q @TM U4bqd wI~ q Ȁ F G!#b&]|q @)MH8`UEV\aɀc5 r<}]Zq@ oQ 8 B*O-=1D14Kq ʀ5;6P=4&AKCUJ]8q@P>StT0UXZZJbg h?rtCq ˀ YT2]q@&W XBS'; *Z6V97<y DSOaRq ̀ SaIfBghm]ta͡]Ra͐ZWN. 2a@>p/?F&N u q ΀  \l$&&]0q@ (`6{<^>aAUPkV[W YY\q π^_)Vf]_nowX]q@ x)[v ?  -aЀ .]lq @Oqd gX,n'vaрa;%]Jq@>'])= 2*@<:F?IMkNP-Rq Ҁ [e2hk6m8n:](q@v<zd}9~=>?R} ;- $ %&aӀ(_K -Q Ӌwp ! 'q Ӕ4j6bK7x8b:r]q%@;P<S?e@rDF]ITKgLOfThXd^j_k`i=ajc=eaԀgvgi7kQ Ԋ, wvt?nL}aԗppunw]dq@xmlb{~~y/6wQ Z= f$K OpUqe GE\uFaՀ4Q ՄilGFon]\QPQ+q Ր%`(~G+ ,u/]Bq@0 S14 5_7 8QR}08~gf! _l]LLab?WBEFQ ou5(s|[NkayLOqրQ T Vc[:`xd] q@knkrx0hyD z U J@Sq׀I!mx${%*+X~a@ 4HA}*Fq؀q; Y$:epd0a]WQ@K83 NB=k|l:!mH?9+*6+qQa]2Q4Ql3JutOti; %Vaz5xqـTs%)7( G*.1/f1[D2]5q @3*14=9\#=azdaڡ]"]qaڅnxQ0 } ,a ڀkpx *AGK Q]ejQ O|aj`MLa q Xuz~#pq܀{g6V` ! '*]Oq @.4:?@1DEFXGN fO&YTq݀X;Y:[[p_ b;fhp7jRl3]-q@E!m(o|0r" wF 0KJ* aހ{ /r;] q@~< =; GSU>&VlY>ZJ[3_eA wO$10~m=q ߁jqlFmcsp]iq@ 3 " -G/<78Q9q>;EJ-+KLMO]Gq @X! ZU{ ~ $ qXzy4sxwHvE{#]%q!@$z%m &}1y2~M38:=]%@Az&CUKOqPVW 1Y  [4]]q"@acfVi lSmzNoqUt w|*- 2 {q /,( /<5! &"]aq'@4*1#%&M+Z,r>-O1C2W3<4)7!9 ;?EDF#:EI=qJAK <;8M@QMRUKYGO]]?q)@^0dFeLgR0IiQJlRm8pyq+sM%uLwmy7zJ8N|Tq<UV hVWSH]q@\Y!U%}(~+|.Z/^14 3^=`>"TGA怾Aycy R+@A{IqM OePaRbXl[m ^_j]{q@`nc9\ghkojDgk[l o+{q|w}"3 q*6soxpuA]]Yq@$z'w(*$+{.#2y7f8=| >I}KrLtRqNTFUYvZd?^\]7q @ muy}?@Q ]E~[V }vq i i Cyk5 qGIFOKs!wONJM"P%l'A(nQ]q@x)S,RT/,4U5q7E$9q^aci~MjnY]sq@w2xR{y }W? =% VDW "a'P,C0]Qq@F(L [ ^_2 b oCva~# ]/q@$^5]:<_> }?@EeJgLfMaRQI25>t5 |S/.Ca] q @GA /\h?4kInHrtKu}{~}LC9ZsaqMNvKQ@P R"*#rS&]kq@>TD(Os)/L45x6N8O=8DPEQ FtPR~SqUW!XqY["\K65c-gSh]Iq"@j#kgl$dn8r%tvCx.~& 5'(u)q+k,jyfgl - #]'q@-mB?Ai BW N%J\]A~Q 4]\98=+e;dA9aBJVZ\]q@` e! f"p'9%q)x.+ z*-(9 q608 7E&:'C]}q@+@,=A/>0?@2;3B7D:9BLCGKKINHPJQq XM]4_Q`PRbOeQ 26(#"ihon+a][q@lTnXtUMv[~ZY./F&\ , #1a ]9q@=?B\D JKZn [fCklmqop}ros yG q@ P` (6)+v-q <ABKOPq@XZ]LbDf` lopl q". #q  % $&'")q@#(,4!*89R{U tVaW gqrwtq@uy}Z A3j  i"$a*-s3q@IFk[S^_ce0gqhjmnrswqx73"m4S a@Y= NRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE GBKp-EUC-Ha?>VW F>"BD= @CXTURCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE] $` $].a]`21> p z$]"Rd-U7* 4%+ Z {/%<9Kb1]." q,%4&6' :)E*L+_,a-f.h/p0y2{345q' 689:;=#@+A4B:D<E?FKINJRLTMXN[OaSgqhToVtW}X Y Zd&e(f +h7 iDq0sHuMyOzT{[|_}d~hjlsux    !q&&*/38<CFKNQ S!X#^$`%q&s'|(q#)* ./167:(;-<2=5>AAEBIDOEYG_q1`HeJgKiLkMpOsPwQTUV WY[\]^!_)`,a/c1d6e9fWqX?_@ cA rB }C D FG H$e+I0q!6J:K<L@NDPFQIRMUPWgX jZ}cde hiq/jkmop!q,t/u5v7w;y>zA|D}JLOQUX\ ` gpqry~ $% &)-0!2)3,436=7J<Oq*=R?U@XAZB]CaDgGjHpI yJK L MNOPQR%S(U,q!.W3X8Y;ZS[U\\]`_g`rcwdye{fghiq"k lmnoq" u09@BDIL U X ]fq#jow %' ()*+,%/(0/23365=6?7Gq!¡H;PB[K`LeNgOiPoSxYzZb gjopt"q#áx'y0z3{y:|D}MRT\_fksv |  qġ*-5:=FIPUX\!`#qš$d&k+s,w-{0}1 23 4$5 )6 6qơ @7N9V;[<^=`>d@mCsDwE GHIJKq-ǡL!M$O'Q)R-T3W8Y<[>\@]C^F`JaMbSdUe\failnvpyq{q#ȡ|rsu vw x"|$})~+.5 :IOTV Xq/ɡ [ _ bfkns|~" *!.#0$3&q'ʡ8'>*@+C-I.N1 S2^3b4f6l8q9v:x;|<> @ABq'ˡCD!E#F)G,I.J5K=LBPFRISKTVVZW]Y`Zf\l^nq%̡_va|bch jk l m"n$o*p.q0r4s6t9uIvNxq͡ R{_|e}i~nqw y  $ *q&Ρ0 57=ACMPVXZa!j$l% o'{(})*+q0ϡ -./!0&2(3+4/738599;<=>>FCHDJEMFPGUHXIZJ\KbLhNqСlOqPzRUW XYZ.[1\7]9^EaHq(ѡbLdNeQfUg[jamcnfprsutyvxy {}~#q,ҡ(*-17 ; > E GKMOW]bmswy}q$ӡ *+,/0!1+2-326;7F9I:L;R=U>Z?b@q(ԡdAhBlEvIzK|LMOP R SWXY$^(_*`2a8f=gq*աhDjKkMlPmSnZr]s_tbugviwmyozv{}~kq'֡ $ 0 4 ; =@DJMSWZ_aehor v"qס~%&) *.01 6%7 (839<=E>Hqء"W@{A~BCEG HIK(L.q١ 5NBODPHS\T eXrYvZy[{\] q ڡ:_ R ]jlqۡqtw {" #$ %"&,'/(3)5*<+?,B-HqܡO0k1n2q3y6789;= >%?(@qݡB.C4H8J?KBLHN`OhPkQqRxS~TV Wqޡ XYZ %[1\:]=_C`MaSbWc^dgq'ߡielg nh}ikl nopq"s%t)u+v/w2x4y8z>{BqG|^~fou zq" %0 2 5 9 @ BFN U`*glt{}q E%1.3/<0G2I3 N6[7`qa;c<f=l>u?V$W.X3Z9[q?\D^J_Pb Udaedfhgxh{i}jk m nqo-p 6qDrFs Ktmuovzq{x~y{ |~$(q 9![] ^(_/q)7b?cCdMeQhWj\k`neogpjqtrvszu|v~wxyz{q} ~"* ,9; >KOY\ ^ ` qx#{% & '( )&*BqQ@XA[BcCjD|F~GH IJ(q/K2L=R@SDUNWPXVYZZq[\]q^_`b!c#d%e'f,g0i:k@lDmUn [ogakqr :s"P. q' **`+d-f.p/s0v1~23q"4 5678!9%:.;2<5>??A@IAQBTC\D^Eq HpUuW|XY Z\]^(_1`:a@qAb`cgd iewf zgi j kl mqn$o.p 4q@rFsOuUviwnxtq}y{}!~%,/69DLO Yq[ ^ a c fk y/qNH]L_N`Va\b_ddf ihw9zi jq9kL qNsvtS~vDw<yC{+Ni qZz Z]jlr >{p#=Y"{ $a!%:&U(}RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE GBT-EUC-Ha?>VW F>"BD= @CXTURCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!!]a!!]`21> p z$]"Rd-U7* 4%+ Z {/%<9Kb1]." q0!,%4&6' :)E*L+_,a-f.h/p0y2{345q'1! 689:;=#@+A4B:D<E?FKINJRLTMXN[OaSgq2!hToVtW}X Y Zd&e(f +h7 iDq03!sHuMyOzT{[|_}d~hjlsux    !q&4!&*/38<CFKNQ S!X#^$`%q&s'|(q#5!)* ./167:(;-<2=5>AAEBIDOEYG_q16!`HeJgKiLkMpOsPwQTUV WY[\]^!_)`,a/c1d6e9fWq:!X?_@ cA rB }C D FG H$e+I0q!;!6J:K<L@NDPFQIRMUPWgX jZ}cde hiq/zA|D}JLOQUX\ ` gpq=!ry~ $% &)-0!2)3,436=7J<Oq*>!=R?U@XAZB]CaDgGjHpI yJK L MNOPQR%S(U,q!?!.W3X8Y;ZS[U\\]`_g`rcwdye{fghiq"@!k lmnoq" u09@BDIL U X ]fq#A!jow %' ()*+,%/(0/23365=6?7Gq!B!H;PB[K`LeNgOiPoSxYzZb gjopt"q#C!x'y0z3{y:|D}MRT\_fksv |  qD!*-5:=FIPUX\!`#qE!$d&k+s,w-{0}1 23 4$5 )6 6qF! @7N9V;[<^=`>d@mCsDwE GHIJKq-G!L!M$O'Q)R-T3W8Y<[>\@]C^F`JaMbSdUe\failnvpyq{q#H!|rsu vw x"|$})~+.5 :IOTV Xq/I! [ _ bfkns|~" *!.#0$3&q'J!8'>*@+C-I.N1 S2^3b4f6l8q9v:x;|<> @ABq'K!CD!E#F)G,I.J5K=LBPFRISKTVVZW]Y`Zf\l^nq%L!_va|bch jk l m"n$o*p.q0r4s6t9uIvNxqM! R{_|e}i~nqw y  $ *q&N!0 57=ACMPVXZa!j$l% o'{(})*+q0O! -./!0&2(3+4/738599;<=>>FCHDJEMFPGUHXIZJ\KbLhNqP!lOqPzRUW XYZ.[1\7]9^EaHq(Q!bLdNeQfUg[jamcnfprsutyvxy {}~#q,R!(*-17 ; > E GKMOW]bmswy}q$S! *+,/0!1+2-326;7F9I:L;R=U>Z?b@q(T!dAhBlEvIzK|LMOP R SWXY$^(_*`2a8f=gq*U!hDjKkMlPmSnZr]s_tbugviwmyozv{}~kq'V! $ 0 4 ; =@DJMSWZ_aehor v"qW!~%&) *.01 6%7 (839<=E>HqX!"W@{A~BCEG HIK(L.qY! 5NBODPHS\T eXrYvZy[{\] q Z!:_ R ]jlq[!qtw {" #$ %"&,'/(3)5*<+?,B-Hq\!O0k1n2q3y6789;= >%?(@q]!B.C4H8J?KBLHN`OhPkQqRxS~TV Wq^! XYZ %[1\:]=_C`MaSbWc^dgq'_!ielg nh}ikl nopq"s%t)u+v/w2x4y8z>{Bq`!G|^~fou zq"a! %0 2 5 9 @ BFN U`*glt{}qb! E%1.3/<0G2I3 N6[7`qc!a;c<f=l>u?V$W.X3Z9[qd!?\D^J_Pb Udaedfhgxh{i}jk m nqe!o-p 6qDrFs Ktmuovzqf!{x~y{ |~$(q g!9![] ^(_/q)h!7b?cCdMeQhWj\k`neogpjqtrvszu|v~wxyz{qi!} ~"* ,9; >KOY\ ^ ` qj!x#{% & '( )&*Bqk!Q@XA[BcCjD|F~GH IJ(ql!/K2L=R@SDUNWPXVYZZq[\]qm!^_`b!c#d%e'f,g0i:k@lDmUn [ogan!kqr :s"P. qp!' **`+d-f.p/s0v1~23q"q!4 5678!9%:.;2<5>??A@IAQBTC\D^Eqr! HpUuW|XY Z\]^(_1`:a@qs!Ab`cgd iewf zgi j kl mqt!n$o.p 4q@rFsOuUviwnxtqu!}y{}!~%,/69DLO Yqv![ ^ a c fk y/qw!NH]L_N`Va\b_ddf ihw9zi jq9x!kL qNsvtS~vDw<yC{+Ni qZz Z]jlr >{p#=Y"{ $ay!!%:&U(}RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEGBT-Ha!"?>VW F>"BD= @CXTURCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE] ` ^ a]`21> p z$]"Rd-U7* 4%+ Z {/%<9Kb1]." q,%4&6' :)E*L+_,a-f.h/p0y2{345q' 689:;=#@+A4B:D<E?FKINJRLTMXN[OaSgqhToVtW}X Y Zd&e(f +h7 iDq0sHuMyOzT{[|_}d~hjlsux    !q&&*/38<CFKNQ S!X#^$`%q&s'|(q#)* ./167:(;-<2=5>AAEBIDOEYG_q1`HeJgKiLkMpOsPwQTUV WY[\]^!_)`,a/c1d6e9fWqX?_@ cA rB }C D FG H$e+I0q!6J:K<L@NDPFQIRMUPWgX jZ}cde hiq/jkmop!q,t/u5v7w;y>zA|D}JLOQUX\ ` gpqry~ $% &)-0!2)3,436=7J<Oq*=R?U@XAZB]CaDgGjHpI yJK L MNOPQR%S(U,q!.W3X8Y;ZS[U\\]`_g`rcwdye{fghiq"k lmnoq" u09@BDIL U X ]fq#jow %' ()*+,%/(0/23365=6?7Gq!¡H;PB[K`LeNgOiPoSxYzZb gjopt"q#áx'y0z3{y:|D}MRT\_fksv |  qġ*-5:=FIPUX\!`#qš$d&k+s,w-{0}1 23 4$5 )6 6qơ @7N9V;[<^=`>d@mCsDwE GHIJKq-ǡL!M$O'Q)R-T3W8Y<[>\@]C^F`JaMbSdUe\failnvpyq{q#ȡ|rsu vw x"|$})~+.5 :IOTV Xq/ɡ [ _ bfkns|~" *!.#0$3&q'ʡ8'>*@+C-I.N1 S2^3b4f6l8q9v:x;|<> @ABq'ˡCD!E#F)G,I.J5K=LBPFRISKTVVZW]Y`Zf\l^nq%̡_va|bch jk l m"n$o*p.q0r4s6t9uIvNxq͡ R{_|e}i~nqw y  $ *q&Ρ0 57=ACMPVXZa!j$l% o'{(})*+q0ϡ -./!0&2(3+4/738599;<=>>FCHDJEMFPGUHXIZJ\KbLhNqСlOqPzRUW XYZ.[1\7]9^EaHq(ѡbLdNeQfUg[jamcnfprsutyvxy {}~#q,ҡ(*-17 ; > E GKMOW]bmswy}q$ӡ *+,/0!1+2-326;7F9I:L;R=U>Z?b@q(ԡdAhBlEvIzK|LMOP R SWXY$^(_*`2a8f=gq*աhDjKkMlPmSnZr]s_tbugviwmyozv{}~kq'֡ $ 0 4 ; =@DJMSWZ_aehor v"qס~%&) *.01 6%7 (839<=E>Hqء"W@{A~BCEG HIK(L.q١ 5NBODPHS\T eXrYvZy[{\] q ڡ:_ R ]jlqۡqtw {" #$ %"&,'/(3)5*<+?,B-HqܡO0k1n2q3y6789;= >%?(@qݡB.C4H8J?KBLHN`OhPkQqRxS~TV Wqޡ XYZ %[1\:]=_C`MaSbWc^dgq'ߡielg nh}ikl nopq"s%t)u+v/w2x4y8z>{BqG|^~fou zq" %0 2 5 9 @ BFN U`*glt{}q E%1.3/<0G2I3 N6[7`qa;c<f=l>u?V$W.X3Z9[q?\D^J_Pb Udaedfhgxh{i}jk m nqo-p 6qDrFs Ktmuovzq{x~y{ |~$(q 9![] ^(_/q)7b?cCdMeQhWj\k`neogpjqtrvszu|v~wxyz{q} ~"* ,9; >KOY\ ^ ` qx#{% & '( )&*BqQ@XA[BcCjD|F~GH IJ(q/K2L=R@SDUNWPXVYZZq[\]q^_`b!c#d%e'f,g0i:k@lDmUn [ogakqr :s"P. q' **`+d-f.p/s0v1~23q"4 5678!9%:.;2<5>??A@IAQBTC\D^Eq HpUuW|XY Z\]^(_1`:a@qAb`cgd iewf zgi j kl mqn$o.p 4q@rFsOuUviwnxtq}y{}!~%,/69DLO Yq[ ^ a c fk y/qNH]L_N`Va\b_ddf ihw9zi jq9kL qNsvtS~vDw<yC{+Ni qZz Z]jlr >{p#=Y"{ $a!%:&U(}`!RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE GBTpc-EUC-Ha?>VW F>"BD= @CXTURCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE] ` ^ aX]`21> p z$]"Rd-U7* 4%+ Z {/%<9Kb1]." `],"] "]h"]F"]$"]"]`"]>"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l"]J"]("]"]d"]B"] "X~']W"]5"]"]q"]O"]-"] "]i"]G"]%"]"]a"]?"]"]{"]Y"]7"]"]s"]Q"]/"] "]k"]I"]'"]"]c"]A"]"]}"]["]9`!RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE GBpc-EUC-Ha?>VW F>"BD= @CXTURCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!!]a!!]y" W em t 1 0&RJ-U*s H # DQ (!7 w WE$$aF0!]e"]C"]!"]"]]"];"]"]w"]U"]3"]"]o"]M"]+"] "]g"]E"]#"]"]_"]="]"]y"]W"]5"]"]q"]O"]-"] "]i"2GM]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l"]J"]("]"]d"]B"] "]~"]\"]:"]"]v"]T"2\RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@> ` ^as@c/!"T"xwyA>"]?A>"\w>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"]#A>"]@A>"]]A>;"\zA>W"]A>t"]3A>".P.A>/"]nA>L"] A>i"](A>"]EA>#"]bA>@"]A>]"]A>z"]9A>"]VA>4"]sA>Q"]A>n"&-6UA> "]KA>)"]hAFT+X"]A>b"]!A>"]>A>" [SfA>:")ye2#A Vx"/.C0Atw' "]2A>"]OA>-A lt v"+-HwA> "UHvA>%"]dA>B"]A>_"]A>|"];A>"]XA>6"]uA>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"*#T1OA99;"]?A>"]\A>:"]yA>W"=NUA>t"3W:A>"]QA>/"ZnIA>K"] A>h"]'A>"]DA>""]aA>?"]~A>\"]A>y"]8A>"]UA>3"]rA>P"]A>m",[/A5 B"]KA>)"]hAF#b"O. VA>c"<"A_A>">THA>"I\&A>9"]xAVG'l")a2>A"q`"]0A'o6"!L;oA4+ a"]kA%Ip" nFeA>g"]&A"d'"]BA> "]_A>="]|A6Z""=I >JQ>AIM? %P"TLUJWlK-qt/y|#0e GxTQTc]j{ e30VFkQn)gt3sQuU3%|t~qCXNQ+aQJlS#-`pv R[ &;z# \o|+#8WOhca%\b[JqfC=&+0>gV6& e"WV9;Q6@:~?o p/5|\>grA:vcDM8Ja5( >G}j(a E%R?:zPs Y]avdAx=P-"m 9Q^&3buJ-&BF1of5Hnmpyc2m-~- m 5l.rk~i_ ;GbXedU&1s* \ ?,O a,Sis8x2o\ [1V^yu,$kQ?@1<;*/F{~ < =ZYl$A21 Tq?L: MP_,G)3cx]  !j$e`&/[tjt cnQK"}H(>aZYK PxbU2qa^QkK(;.G3SfCm l+MV&jeS2sa@Q)} &w0IW` % V0UfgN?`\as  XybIQ;Q?@~G 0&:j $VAB0 Q816]$PirfC1, ?0/lF /I tiQ^87B$qPIjU:1 { a'~u/Jg~6_@UlA,%6;P_ )e6MNKA"L< DS~,G&)|=.B^5afQH54)( ,DOn'b;$#  >/4`)x416?VNcqJSx 4kL:Ehi}P\!|kj;'ZRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE HKdla-B5-Ha KN/1 hORCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@> ` ^Q?@wX,=8S(x; :zX3sC*CPa > ,<1Vtcvii${&EQ{*=hkHY6SYQ'Q$~&to$pxyLc1fkE>p==j$%up0 cH M katQ8ǁtQ%kF}0Iij;iHI+HUpWn}t?mV2w /'(M$/MiQ?@dKsPlUXEPGUTz^AH ,W (Jn 6j#9V\ h;7"DV&9JX6wB5pQ{^/Q^29Ds)\0t @[*#Gbc }n&fQ> !oDQop5SM&+Hd!Zq_2 z>iP/(| L1:em|=;^Y3h g{J{3Z)oHgmWQ?@}d m ?:Y:+?CZHees,mov52|+M.Zfi4s$c x? &nKS`{UV1Q^zLAf/?iF_>'PN)e~Y_,60 "-;I]%Xy)d ?<5bfFO );7f)M\5>=.='^9_U7 sfW4n'Q?@9ngx&fSLk@\ j;' %+x[X4-BU6Y$^Ph58QP ;5i~uD)M)s}"]?A>"\w>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"]#A>"]@A>"]]A>;"\zA>W"]A>t"]3A>".P.A>/"]nA>L"] A>i"](A>"]EA>#"]bA>@"]A>]"]A>z"]9A>"]VA>4"]sA>Q"]A>n"&-6UA> "]KA>)"]hAFT+X"]A>b"]!A>"]>A>" [SfA>:")ye2#A Vx"/.C0Atw' "]2A>"]OA>-A lt v"+-HwA> "UHvA>%"]dA>B"]A>_"]A>|"];A>"]XA>6"]uA>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"*#T1OA99;"]?A>"]\A>:"]yA>W"=NUA>t"3W:A>"]QA>/"ZnIA>K"] A>h"]'A>"]DA>""]aA>?"]~A>\"]A>y"]8A>"]UA>3"]rA>P"]A>m",[/A5 B"]KA>)"]hAF#b"O. VA>c"<"A_A>">THA>"I\&A>9"]xAVG'l")a2>A"q`"]0A'o6"!L;oA4+ a"]kA%Ip" nFeA>g"]&A"d'"]BA> "]_A>="]|A6Z""=I >JRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE HKdlb-B5-Ha KN/1 hORCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@> ` ^a~!0aC@+$0 U_#f!k (1A@Y^e"#| ! 3TAVr i "E'A$m#)[*A>" E1S  A'E"[d!{"A57;"]sA Q ^#j"$73A>k"2*)]A>"]FA4$YZ([ \]^_abca @>"DG[ A!e F ) 'U  3 aA  JaakjaC^!""#%)*+34;<=?@ADEFGHIMOPQSCUX[\]dejklmpqrswz{}"~ $ '14 6BHCDFA OHau@c!"T"xwyA>"]?A>"\w>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"]#A>"]@A>"]]A>;"\zA>W"]A>t"]3A>".P.A>/"]nA>L"] A>i"](A>"]EA>#"]bA>@"]A>]"]A>z"]9A>"]VA>4"]sA>Q"]A>n"&-6UA> "]KA>)"]hAFT+X"]A>b"]!A>"]>A>" [SfA>:")ye2#A Vx"/.C0Atw' "]2A>"]OA>-A lt v"+-HwA> "UHvA>%"]dA>B"]A>_"]A>|"];A>"]XA>6"]uA>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"*#T1OA99;"]?A>"]\A>:"]yA>W"=NUA>t"3W:A>"]QA>/"ZnIA>K"] A>h"]'A>"]DA>""]aA>?"]~A>\"]A>y"]8A>"]UA>3"]rA>P"]A>m",[/A5 B"]KA>)"]hAF#b"O. VA>c"<"A_A>">THA>"I\&A>9"]xAVG'l")a2>A"q`"]0A'o6"!L;oA4+ a"]kA%Ip" nFeA>g"]&A"d'"]BA> "]_A>="]|A6Z""=I >Jy/i_p aY/abPTUXYZ[\^`bdej!mA"46789:<=>"?ADFHKLNOPRTXZ\]_wz|A# *"8LQT!Uw B # :G"JKO lvY> "]JA>("g 0A CMQSct"}% =GAW4`"P fA,r )"/28 kxRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE HKgccs-B5-Ha KN/1 hORCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@> ` ^a_@c/!"T"xwyA>"]?A>"\w>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"]#A>"]@A>"]]A>;"\zA>W"]A>t"]3A>".P.A>/"]nA>L"] A>i"](A>"]EA>#"]bA>@"]A>]"]A>z"]9A>"]VA>4"]sA>Q"]A>n"&-6UA> "]KA>)"]hAFT+X"]A>b"]!A>"]>A>" [SfA>:")ye2#A Vx"/.C0Atw' "]2A>"]OA>-Q@mS()7::stSTyTaOHQ!QK$mO8S +:4' 3^;(C;R4!9aar(Q t..&xCG9 |Qǡ$#D54aQ !7t@az32bqjx+~aǾ1QL lG?w&w^1Q`lacQlw 0' AVp7&a] &NOqo*qf"~9!r0)<6:a@ lt v"+-HwA> "UHvA>%"]dA>B"]A>_"]A>|"];A>"]XA>6"]uA>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"*#T1OA99;"]?A>"]\A>:"]yA>W"=NUA>t"3W:A>"]QA>/"ZnIA>K"] A>h"]'A>"]DA>""]aA>?"]~A>\"]A>y"]8A>"]UA>3"]rA>P"]A>m",[/A5 B"]KA>)"]hAF#b"O. VA>c"<"A_A>">THA>"I\&A>9"]xAVG'l")a2>A"q`"]0A'o6"!L;oA4+ a"]kA%Ip" nFeA>g"]&A"d'"]BA> "]_A>="]|A6Z""=I >JRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE HKm314-B5-Ha KN/1 hORCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@> ` ^as@c/!"T"xwyA>"]?A>"\w>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"]#A>"]@A>"]]A>;"\zA>W"]A>t"]3A>".P.A>/"]nA>L"] A>i"](A>"]EA>#"]bA>@"]A>]"]A>z"]9A>"]VA>4"]sA>Q"]A>n"&-6UA> "]KA>)"]hAFT+X"]A>b"]!A>"]>A>" [SfA>:")ye2#A Vx"/.C0Atw' "]2A>"]OA>-A lt v"+-HwA> "UHvA>%"]dA>B"]A>_"]A>|"];A>"]XA>6"]uA>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"*#T1OA99;"]?A>"]\A>:"]yA>W"=NUA>t"3W:A>"]QA>/"ZnIA>K"] A>h"]'A>"]DA>""]aA>?"]~A>\"]A>y"]8A>"]UA>3"]rA>P"]A>m",[/A5 B"]KA>)"]hAF#b"O. VA>c"<"A_A>">THA>"I\&A>9"]xAVG'l")a2>A"q`"]0A'o6"!L;oA4+ a"]kA%Ip" nFeA>g"]&A"d'"]BA> "]_A>="]|A6Z""=I >JQ @mS((I::sqLLE4#& QHKOTx !Z$=#?\_c$zQm}+n54[2 3^6eQ (=;R4!9J-a(Q...&xCG9 |$*OD54a*} !7t@az32bgzjx 7~a1Q߁L lG?B]w\5}^w^1Q`lH9,=a7A#Q0@'"! K2K`! _=&IbL;kzMzukuRmebCjs`YjdapBQ rV]j %Kx1Ra|t""rymDQ.2&5:R$oMf>%D/do~W|uu$;@#fW8'n-*FGK0 aI5K2 QhcZ7@~;>MLQq RXs`-sUUAYMQ4@lg23 WS}4= rY8YL(yk L5('&mjCB 0Hy cQlw\]\gm0 I AVp7&a]|nIN<+( am}Q߁oUx2& ?.kE>?vIdqNarQ 0$ z{0HwRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE HKm471-B5-Ha KN/1 hORCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@> A~!2 A iUA*twss,2}npn$UBWAohyM+PmxH1A C6qST m Atsrsts EY X wvqpon) EDCBSX~  !V;yBxwc8!o78xy( 2 6`J<$ * a6c b3W2Y^ +,"%{cbZ uA"Z2Q f}7 6i/2o( Q J>?]edA_sdMm~uU#s VaEh;8GAx%e\W\tAYw"rM "x mog>8<@':E (MT15P}jmFA h$'XqNoslS-HdWdR%AvP8J){((vtLGl$ $jtM||L-j`XVAfEqp [q8KAra F ) 'U  3  J "   T    &#6-DH + "+ (>A*`j&0rde#A)ҁMCHI ?/ . iv&oz - {+_:-SZ ?Vu{3A Áq  FZ^=dc<" /"uR$$   H  ,  O E6 )F %  G'D F  & |\a14 | V Z xz ` ^a[c!"T"yA>"]?A>"\w>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"]#A>"]@A>"]]A>;"\zB>W"]A>t"]3A>".P.A>/"]nA>L"] A>i"](A>"]EA>#"]bA>@"]A>]"]A>z"]9A>"]VA>4"]sA>Q"]A>n"&-6UA> "]KA>)"]hAF+X"]A>b"]!A>"]>A>" [SfA>:")y2#A Vx"C0At' "]2A>"]OA>-"z*m l v"+-HwA> "UHA>%"]dA>B"]A>_"]A>|"];A>"]XA>6"]uA>S"]A>p"]/A> "]LA>*"]iA>G"]A>d"*#1OA9;"]?A>"]\A>:"]yA>W"=UA>t"3W:A>"]QA>/"ZnIA>K"] A>h"]'A>"]DA>""]aA>?"]~A>\"]A>y"]8A>"]UA>3"]rA>P"]A>m",[/A5 B"]KA>)"]hAF#b"O VA>c"<"_A>">THA>"I\&A>9"]xAV'l")2>A"q"]0A'6"!L;oA4+ a"]kA%Ip" FeA>g"]&A"'"]BA> "]_A>="]|A6Z"" >Ja%W  #' ,:@'GORX aot~[ o+"0VY_d#fkpy} (18A@Y^g lw"| ! &3"]FA$(*TH_cNUc/#%+4 =AIMQSCUX]emsw{$~ !$ '14 6RFWPU\^bej!mA14:(?AFHLPRTZ]_uwzE# *"8LQU`h lw B  #1:DG$KO lv{ r/{3:A>Y"]A>v"5(a(hA +2"JTgo(A( 1<W"gj $8>A CMQScmt"} ' =G JAW`"-&0 X fAr!)"/18 kxa:@%;">`I(a" 47<,?"l s v  #1WB ERD\ beint" _|B!!C"_d PXCr)+03:>"@D F R5^lo/eN/QSU"Y [f n s}  D '+29>AGI(RY\_bqsxz  A  &28>F#NQT[bktz A' .<>*BEGI N VX\ adhLmrz. "D#')0C#G MOSXZ] ` hkr0y }  R~07 :UF%- *FR ] _RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE HKscs-B5-Ha] aKN/1OaRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE` ?gg(G V>GRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE` G V,;>RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE] ` ^a?]e"DC;]"2f)" C MWo(C"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l".Jy^~"]%"-1I" _ZPk"Y<>a a\q Сjj/| F# Rqѡ2s<&(*("+#,'-*.,//23569q'ҡ6:7<C:D;H ?J!%M&,N-07O=PASCFTTV[`U|YZa>ӡ]`"D>^("(+#`O%"uG L0 ")Q0{"]-"] "]i"#Gk: "#X'"W.u3 Q"Z[P6w"7,Irvm|"Oq b" oT>{E:"]K"S)}#.T aaܥ^N7>+Aa+Jq broIqKwMxOST U W" Z?0\q6_1a3b5e:g;j<k?oB@IqJALtSuVvXBZw\x]zy{_|`~/acTdCFfgq#lp rG s ug    %/q E6G|ITK( L Mq  PQS)54_q fk"a )W7c9e=fq>hAjClXDnSpTqsWtZw^x0`{%eq%  > [ #\ %/ 6"8$:% <'J*Ka - _B7C* tNfC"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l".Jy^~"]%"-1I" _ZPk"Y<>aKg aMh\q P!jj/| F# RqQ!2s<&(*("+#,'-*.,//23569q'R!6:7<C:D;H ?J!%M&,N-07O=PASCFTTV[`U|YZa>S!]`"D>^("(+#`O%"uG L0 ")Q0{"]-"] "]i"#Gk: "#X'"W.u3 Q"Z[P6w"7,Irvm|"Oq b" oT>{E:"]K"S)}#.T aWda\%^N7>+Aa+Jqe! broIqKwMxOST U W" Z?0\q6f!_1a3b5e:g;j<k?oB@IqJALtSuVvXBZw\x]zy{_|`~/acTdCFfgq#g!lp rG s ug    %/q h!E6G|ITK( L Mq i! PQS)54_q j!fk"a )W7c9e=fqk!>hAjClXDnSpTqsWtZw^x0`{%eq%l!  > [ #\ %/ 6"8$:% <'J*Ka m!- _B7C* tNfCu@wAyEF~MPRSTU V Y[\]!^"_(`+a. 6q bAdCeEgFha'iKjLnCqNrQsTtu[v\yb|c}elmprux q     aq ad#$% +!."1#9$;C&A(C)F*+M,N-O.U/X0[1c2d3l5n6p:<t=u>v@{B}CD F!G#H+J-K0LM7N8CO@PCQF NRYT[U]XYcZd[e\k {q ]_` b ca defhgq ailmnoa;sp q!t$u&w(x+yz2{3~9? GR cnoryzC   $&*, 68D9E:F<K=RZ>]@cBeChDEoFqGxH{I~JK CL q aM*O,P-Q.R/SaAiasUVWX%Y[\]^_`)adeijkpqrtuvwx {}~at3458: KVX[bcd&jkmrstuwz   /q :;>?a" C D CIKNUV\^ahjl o! r ~q " $ %&'af()*+-./ (0+2 CC1N2Q3T45[6\7d9f:i;q<r=s>y@{A}CDEFG HI& 6JAKDLGMN NCOXQ^RSeThUnWpXs[\x]y^z`}a~bc q dfghiaAlajklm$nqrwyz a"#$(&)*,/0358?@F Va rq  } ~q  aA  !"!#$,$/&5' 8 Dq (O*Q+S-T.UA/Q 0NONONONOaH\5^6a7d l8w9 C:;<=>?@' 7ABCDDGEFNGOHPIVfJiKpLM N OPQRCS T#U&V-W1q aX7Z9[;]<^aAmas_`a bcefhij(npqrstwxz{|}~atABCI Ydfhop%uwz   +6 Gq RTWXaAnva  C  *  _ !;"$%&())*+,-./i023567 89:;< =>?@ABC)DFGHIJNPRSTUV Y[\])^`abcdgChjklmno prstuv yz {| } J          !#$%&'I(*+,-./ 02345679$;=>?@AB)CEFKa!\]Fbdgnou +-08<BI Q\ lDw z  "-/28<B S^ ny| C +-/67?BE LVY\cde%kmpwx{} % 6ACFMNFSUX_`agilstz }   & )59?PSDZ]`ghioru}~ ),3 CNPSZ\]Ecehopqwy| $&)012%8:;q sL@MANBPDQaRETGUJVWQXR\W^]e_io q ` b cdea fghjCkmn!op(q)t/v1w4<x>{?|C Sq }^_bca,hijp s  C $ ' *234:=@HIQRTq Y Z!["^#a*$_%b&e'm(n)v *+, C-*.-/007192A3D4G5N6PX iq 7t9v:x<y=aAwa>?BC%DINOPQRSUVWXY\]_ `a~(    " $ 0: Kq aVcXdZf[gah`iajbClgniokqrrssvyx{y~z{~   &'*12 3 9 <H K RbeClnq x   % &!'"*$+%2:&='D T(_*a+dl,pC-v.y/|0123 56789! 2q :=<?=B>C?a@HAIBJxq aENGPHSITJaAzacsKLOPRSTUV Y[/\^_abIef gijk)npqrst uvw xz{|}~) -     ) !" %'()*+, -./01 279;<=@DACDEFG JLMNOP STU ValtYZ_adkl r   ')+24D:JN Tbci z  +6 GDR bm}   -8 IT eDp   ! 2=?BIJK%QRTYZ]_adklrtw~   $%)E*,/67=?BIJPSV^bq WhZi[l\m]a9^r_s`tawbyd{e~f ghijkCm&n)o,pq3r4s<u>vAwxHyIzJ{P}R~TA 2323232aA{a1      I  "#$%)&()+-./0$135678:;=>?@ACa2_`psz| E$*134:<?EFGM ^ikmstuy%z{~  15; Lq DWFYG\H]IaJbKdCMjNmOp x P # /q Q:S<T>V?Wa8XDYGZM\ O[]^^eu_xC`abcd e &f1h3i6jk=l@mFVnYo` pp{q ~ C&r*q as0u2v5w6xaA|asz {|}~)  at :DGJ Q\^ahij%prswx{|~ q  "#$%q &'()*a"+ ,#-&. ./81:3;78@>A?BC@CBECHDEOFPGQq aHWKXL[M\OasP`UXcYfZi[\p]qq _xazb}e~favhijkln o pqruw x'y)z*C{0}2~5<=>DFIP Q R X Z]bcdjlovx~ !" # $&'()* +!C,'.)/,013243546q a5:7<8?9D:aA}as;<=DEFGH IKLOQRVa tEF GJMTV^`cghkq aWlYnZo]p^as_u`vd{f}ghijq mopqra st#u&v) 1q w<y>zA{B|a!}G~HICNPSZ[\ b e h  oqw q aa"( 0!1"2#8H$KC&Q'T(W)*^+_,`-f/ ht0x1~34789 : ; <#=* :>E@GAJBCQDRCEZF]G`H gIrKtLwMN~OP q Q"S$T&V'Wa X,Y-Z.\0~q a^1`3a4b5c7daAa=sef iklmno rst)uwxyz{I~ *     J#  )!_"#$%&)')*+,-/aHt;<BDGNOU Xdhn   D-17GJQ bmoryz{|(+D258 ?IZ^dfipsy   #. >DI Ydsuv| $'q a0+2-3.4/5as6677;<=>>A?@HAIq DOERFSGTHaAa4I)JLMNOPISUVWXYZ [\] ^_` acdefgh ijk limnopqrs tuvxyz{|} ~ I     )) "#$%&' (*+,-. 13)4679:;I>@ABCDE FGHIJK NOQRSTUV WYZ[\ ]^I_`abdefghi jkl m no prstuvwIxyz{|~)  )    a:[_e v E !"( +7:A DPTZ\_fghnqt| D"%(/017 FQSV]^_eux  &'(D.14;?EGJQRSY juwy%   '(.=AG XcegnoEuwz   -8:=DEFLNQX\brvD|  &136=>?EHKSW]mqwy|D  #%(/28 ITVY`ab%hjmstz| !' 8q  C"E#H$I%aj&N'OC*U,W-Z./a0b1c2i3 lx4{56  79:!;<(=)>*?.@/A 2 >BI YCCdD gsEuFvG| HJKLM#N$O%P+;Q>RE US`UbVeWXlYoCZu[x\{]^q a_ abdeaAasfg hijkl mopqrsta t"% ,68;BCDq auJxKyNzO{ads|T}UXZ\_fg m |  #%(/0C68;BCDJMP !W"Y$_%f&n'o(w*y+|,-./0 1% 6C2A3 D P4[5^6a7i8jq ΁9r;t<v>w?aAaΓ@AB CD)EFGHIKJKLMNO PQRSTU+VXYZ[\]a Δ|}~ /:=@GIDQTW^`agjmtu} %&'q a^-`/a2b6casd8e9f:g@iBjEklLmMpScqgm ~q r t uvwa&xyzC{}~!()*025< = C FI Qq ѡ[]`da2ѳfghkmorz|} " #$C%'()'*(+),/-2.5/=0>q ҁ1F3H4K5O6aVҕ78 9:;<= >@A B CEFGHIJIKMNOPQ RTUYZ[\]^_`abc dfghijkyMeT3KMV4)2 C MW o }CLMKM'2MubC=M&t | ?Ml>:y^~2M%=s1I2 _Z@ki,>a \a+ғQSTZ]`gkqsv~  E!(*+134:;<?ADGNQWY\cdeq 1jj/| F#RqBc<&(*("+#,'-*.,//23569q"16:7<C:D;H ?J!%M&,N-07O=PASCFTTV[`Ua X|YcZ2D>^q ((+#`O%a1uG L 9A0{2M-m{2Mi37k: 2#H'pW.u3 Q2M[aa5^>7q )P6w7+,Irvm|a1M`qbT>{E:2MKc}3.D aaa1JqRroIqKwMxOST U W" Z?0\q+1_1a3b5e:g;j<k?oB@IqJALtSuVvXBZw\x]zy{_|`~/aq.cTdCFfglp rG s ug    %/a1E6G|qITK( L M PQS)54_a1fk"a)q 2W7c9e=f>hAjClXDnSpTqsWtZw^x0`{%eq!1  > [ #\ %/ 6"8$:%"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l".Jy^~"]%"-1I" _ZPk"Y<>a a\aAu})a]A'A}[BYs} B %}?B=W}qBo }#B!;}UBSm}B}9B7Q}kBi}B5}OBMg}B}3B1K}eBc}}B/}IBGa}{By}-B+E}_B]w}B)}CBA[}uBs }'B%?}YBWq} B #}=B;U}oBm}!B9}SBQk}B}7apA5Oi  #= ]w 1Ke 9 Ys -Ga 5 Uo )C] }1 Qk %?Y y- Mg !;U u) Ic} 7Q q % E_y 3M m! A[u /I i =Wq +E e 9Sm  'A a{ 5Oi  #= ]w 1Ke 9 Yq Сjj/| F# Rqѡ2s<&(*("+#,'-*.,//23569q'ҡ6:7<C:D;H ?J!%M&,N-07O=PASCFTTV[`U|YZa>ӡ]`"D>^("(+#`O%"uG L0 ")Q0{"]-"] "]i"#Gk: "#X'"W.u3 Q"Z[P6w"7,Irvm|"Oq b" oT>{E:"]K"S)}#.T aaܥ^N7>+Aa+Jq broIqKwMxOST U W" Z?0\q6_1a3b5e:g;j<k?oB@IqJALtSuVvXBZw\x]zy{_|`~/acTdCFfgq#lp rG s ug    %/q E6G|ITK( L Mq  PQS)54_q fk"a )W7c9e=fq>hAjClXDnSpTqsWtZw^x0`{%eq%  > [ #\ %/ 6"8$:% <'J*Ka - _B7C* tNfC"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l".Jy^~"]%"-1I" _ZPk"Y<>a a\aAu})a]A'A}[BYs} B %}?B=W}qBo }#B!;}UBSm}B}9B7Q}kBi}B5}OBMg}B}3B1K}eBc}}B/}IBGa}{By}-B+E}_B]w}B)}CBA[}uBs }'B%?}YBWq} B #}=B;U}oBm}!B9}SBQk}B}7apA5Oi  #= ]w 1Ke 9 Ys -Ga 5 Uo )C] }1 Qk %?Y y- Mg !;U u) Ic} 7Q q % E_y 3M m! A[u /I i =Wq +E e 9Sm  'A a{ 5Oi  #= ]w 1Ke 9 Yq Сjj/| F# Rqѡ2s<&(*("+#,'-*.,//23569q'ҡ6:7<C:D;H ?J!%M&,N-07O=PASCFTTV[`U|YZa>ӡ]`"D>^("(+#`O%"uG L0 ")Q0{"]-"] "]i"#Gk: "#X'"W.u3 Q"Z[P6w"7,Irvm|"Oq b" oT>{E:"]K"S)}#.T aaܥ^N7>+Aa+Jq broIqKwMxOST U W" Z?0\q6_1a3b5e:g;j<k?oB@IqJALtSuVvXBZw\x]zy{_|`~/acTdCFfgq#lp rG s ug    %/q E6G|ITK( L Mq  PQS)54_q fk"a )W7c9e=fq>hAjClXDnSpTqsWtZw^x0`{%eq%  > [ #\ %/ 6"8$:% <'J*Ka - _B7C* tNfC"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l".Jy^~"]%"-1I" _ZPk"Y<>a a(A<<V[ ]iB<?!<^!<: wND<  HRY_EaB<{8PWBӡ]`"D>^("(+#`O%"uG L0 ")Q0{"]-"] "]i"#Gk: "#X'"W.u3 Q"Z[P6w"7,Irvm|"Oq b" oT>{E:"]K"S)}#.T aaܥ^N7>+Aa+Jq broIqKwMxOST U W" Z?0\q6_1a3b5e:g;j<k?oB@IqJALtSuVvXBZw\x]zy{_|`~/acTdCFfgq#lp rG s ug    %/q E6G|ITK( L Mq  PQS)54_q fk"a )W7c9e=fq>hAjClXDnSpTqsWtZw^x0`{%eq%  > [ #\ %/ 6"8$:% <'J*Ka - _B7C* tNfCh(">G"P&' wa!!GyB" W em t 1 0&RJ-U*s H # D~zya!i6:K71! 8HOq!.!!HKM"N4|5} ;9<O&G' 0() a/!{.Q/$z^#rIWa/5&Q/7)q/EFNQTWZ`bdkoljqQ/epa/uLORUXq 0!eQg"xR1S3T8UAq 1!CV MWXX\Y`['e\q 2!!]I^4+_a`{a~q3!ba!(cDdJeR1UfYq 4! ]grh i"a5! ;jFk=[q6!lm#2?nHofpmqtrvq7!ws{t uv%w)x, 2y ;zH{P|a8!U} i~ JU]o a:!1D X eq ;!ov y { Dq !   (>HMq ?!g-q ' 0q @!E!G""g# $&qA!#(n+)<*O+R,b-lqB!./ .0=1 D2P3W5^qC!_6f7i9 m;1|</=4>;q D!=? Z@eAgBjC l5"xqE!DE"F)G1H:ICJFKM_ RM_Pi6nNsqF!yOPQ.S5U:V@X CmOq G!WY`Zp[\ ] ^$q H!5_9`Ca"Eb icwd qI!e g;#h%i (j 3kAl,Dq J!!qmn o+pJq K!OqQr Xsz3t/(qL!+-u Zvfwlxo5yz {q M! |};~?4 ETa N!)i-D#HX]`M4z''0aO6waNK.%q Q!Xu 0aR!]6q S! $ . D R_aYx'aT!"rw6"P$m".N0 "] "jYn">H   "&?0Sa TDx%>O1; Lq [!#) ."<OhQ Xa^9m;a\!]b"]@"7#Ns"Q| O"Z7`0" 8CLIa^P"28 54!"q b! $;!n^Q`%eac!(t&'(T2q d!R( k\x)* ae!0+I, K-7V"$.74"Bl/0051 >"J2^37e4 q i!(u * 65D #bq j! 6 70#8Uq k!d9)v!:*;:alM*al!+Bo  ", Nln"~&5"C\!a li< =Y>?@:ABC Dq p!:EMF _GkHq1Iaq!]q r! vJ KwL$$) Jas!/TM*N1RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSENWP-Ha !"OLRPOSVYTWV[A!kM@rA2a %uI?PgOx~}S-PORCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE@<?@< g` ^ga@>y,8 em t R 0RJN>\s i #DSQ 7 w WE$$a]eC>C|a*@>|>C>;|zC>w|6C>3|rC>o|.C>+|jC>g|&C>#|bC>_|C>|ZC>W|C>|RC>O|C> |JC2G,]zC>X|C>|SC>P|C> |KC>H|C>|Ca@>@|`?Fa@>||;a@>8|wC>t|3C>0|oC>l|+C>(|gC>d|#C> |_C>\|C>|WC>T"a\RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSERKSJ-HaAO Q SV[AmS aRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE` ^gRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!a ^#A %J C<OH A3Z[AA3d    .% .% U "!":a*.)aA %*s;< a!29JIy{&(apjqan pA "h  |"D A!f A Aa!` W&xuwvy|{U\ih~}emnpod] [^Y=gja!p 2R> z a!--,A %7 Q%PB%%%%%i%[%%%e%a%m>A@J "A %> A %0A%a%FA%It6A'=@A.H&a. !A.\A.Ɗ A .# a.vO'Lce3 *a[$QyAj a0:9RA 7U=52ea..013<FA3" OFANSAW45= R#E~ZTD F! VL\ S6Z }b h Msz)l $6  <; A^e\Zxu>A 9 t0-u@p5I 6UDu oT_|V=s3D`; |gm"gFCBP 0?_ fypJ7|'(hD,O|c r 5{(,CE2t%nQ"A   </) oQ>Nx7:,'I 5,1 \w" e0 -&ky%: M B(];3B1 ~GX0b;!judg.jYQ"> G\P9 < Rc ZBS=8)L0w #9oh#'=w|B&$#6 ;.) GK%2PM&po waX#BB%# },, bA`.  D(gHlK#b -0K!M6](?!> YO(`)M+^a R{6 &*%TK6Puvb  M<* <=!< .45C@, .6h( NgrQ Nq=JKANr ;aNnAN&(!$R|y$T85x,P8AN.{$JKG AN!m>m6 F> V  f APNa[aPAAP@  | zAPj   T  VAPEixDifQ Pu\WlyaQAQ RA QzAQ FZ aQ-7uzhAQ?\.j2VjAQ;<AQ9FQ QY01hgBx;XYAQe]@th=aQm,AQq P$kAQRAQt?c SaQAQ^$e *AQ3gAQ#8aQSAQLAQjAQ& Z+*aQ7I4K[6QQƐX"e$-9D$utAB#A Qܢ eF>2D}0AQuXDAQہ{\[FaQL`u1 aR HaQ 3!YAR t#ARGZAR`-aR);RQAR6S  X 6AR52/. AR4{>saR^=ARiuGA8ARVhnsD,AR, ,AR\ N?pyaRPAR *zARO F nAR%JhxaR5y :AS Kk&.T8dv[,HA SBz!Pd <Y*AS'Q28,aS?ASAd$2fX),0 shASLd\sASBG  5D{XaSpCD\M`=aSr< rpM=aSt{}ASN&AS,H/AS 3Q SAsvB5|;3lAS_>W q" >Z&J!@ AS~,oA S"/45-o/2Q S  A S"fO@C QT(JS  \CATQ TG>'f. PQT##/ {~s\G5 ([E.OaT5XA T8V '&AT7@ ATKQUQT`.ux {z_?hQ To,0-2O  Q Tz%{^qpATj\[bQTu riRgdmveJ7ATrf QT@ QI% !P AVUD["QTS(g+FYZG)D?aTATǍX ATϴ{AT#QT nQ TWO(voC&I6ATor5QAV%x!!aV/Q V2ne07AV?pAV=    rAVC~ z"'mOQ Vh  Z WPU` ]AVv"\oZbjQ V~GAV(?aVBAV9VAVA"AV& 9DGaVAVwYAV  AVw^aVJA Vچ-~p *ZAVk nP*4HAV])^    7:a W[yt68s7YdAWzAW!FAWH/f^{aW"A W(/  AW*R zAW2y 6"-Q WIT_^W ^AWa}AWbAAWT@Ix)aWs?AWwz L]\ AWu= &   AWz_x+!k> BaW A Wi #AW2 H3A Wd^ \^Q Wܼyv%AWQW LSmxy j*"QX{$ {5 vAX z)J |Q X  `m AX,m%aX0Q X2^1L AX=q4pQ XGBAhQ P AXQg@OZQ XWifefT]kpAXbp fAXc : AXie\Q Xy'2 ! 4;6EAX(~ >C ~8A#X<  ! J  j lrA XT 1Vg6%: aXxAX{ ZAXz&" tAXY pC]aX AX"q@: @"g>.YXcbZAYAX\Z /aY4A YN]RAY,,AYcPaY76TpXEA YITwX/PaYWAYZ<;ZvtzAY\2 8AYeRQ YpF,)dpqNCQ Y{X7: /; x AYSQYòOh].5tyru AY؍u AYֲP4 #AYفqQYxfc:N%. ! >Z)KLuTG)A Z  AZ u A Z #KMcaZ-pA Z3wH-lE$Ef)Q Z@K Z!\DEAZL/QZP( @W6!8M4!8MZ1/: OnC BAZp0Q Zw#$T] YA Z&aBIQ Z+8Z|D1Q Z M>+~-QAZy4lQZ|rYn  ify 4eQ Z.ov_z&XAZӁQZP9L OJAo=AZ]W< 0Q ZuA*}vA [/ r85HA!Z,`g V&+da>c  A[ a[= A [@pqfqJKa[PF3?a[V\a[K|1A[\~2N A[bW>~A[fN}Q [pQ0w$WkA[zF\7pUT9A[{XA[| a[AA [Dz,A[chA[i 'a[OA [( A[y A[{Q [VFI# A[̘,A[PA[ՁRa [88@`:>a?;A [9h01n{a[YA[(|A[{, RA[ qta\ /Q \ #TS0r/A\ 9* EX*&^.Y$A\:ONA\j>) aakkw^1@Q ], !  A]LA]5Z~PA]X*_a]MA]ɬ6$j#@4/ G^,4:A]N^*A]ׁ,a ] Ka I6 9A ^IB<A^$x6A^ @mFa^!JA^%4A ^$Np B6XA^.5Tia^XrQ ^[EJeeA^f8a^g6D]M\A^o9&Z05Q ^x13H^(R'xA^A^&|"A^a^5A^3:2A ^RfuA^Na ^QOsrpP=t=Q ^Ę? $DqQ^Ё= ed_V !w!A^>{a^OA^)K |^*l{xlgA^BF$6A ^P^\&a _N?>gMzs08A_):6.  A _(rFl xZA_:NQ _HA?"c,E$Y|A_Tv@AnWITl+fh`&KFGJtwA_oA_\Znya _;w1XA _& A_V2A_,Ta_BA_zi~A _2@t~:^A_ a_QA_ÅP^2` AHGBA_ɯ'&' mju  A_ājAHQ`  M? ]XtA`~ maJQ` !-xx= 4c./ p A`5G D  A`2.Z[ L]XeA`1a b?Q`b( jLU fe'A `   A`r\ p{sr  A`uV\}DSKQ`\=HIt<'>/# ,Q `ýj[ CZ/A`јEa`^A`ՕQ`ׁ5K" 1(Psj^|)A` tQ`NN_wZU~)gbLM enQaDK8MuJxa h|AaWr~  xzAa?  xITOpeFYAav |aaIUR^2AaT Q aXXBGpj}x_jqaabTAadsE1k zQ anGpir iVeA a|K L?<3 AayP |a Z_XSAa}=r 5ZQaOf'T~ G`L2[ [dkAaa[,oQ aEk927/ RAcUI.& A cT3, j" "AcdG Q cu~+J@c#AcK3*16Q cz 0[\%3AcL_0)Q c(,"W&!vPIQ c & AcWVQc] # l  Zg QcYg{f e6= J7ggxacgAcj t AcR,z  $$ ? Ac^MHa d(r$pluAd*Ad$m& Ad+Q d2YW.+8=ReAd=! k^Ad@ Ad?.  Q dX\( OAdgcjihAde2}bAdq[adrQ dt ()vu A d[ Ad-|\U '0Ad#>Q dht%$Addad;Q dS (/ A dǥ?0= *)(9AdRAd 4QdZ|uZ}w @?Adhh  $adVAdTZ[Z&Ad.  L .%Ae 6Q eR?(}i*1A e/USTBtA e*{LmT>xAe)R .&aeHVA eO=   pAeJ>FAeM aebrAefqrv<1Aedo 4TxAeklna ewosrt[ZonaA eV8}*-;RAeOXAe#H{aetA e,v!ZZ~dlAe"@Ae5L MaeuAeY6(AeY@|Ae'o4^aeAZ@EAe; d$Cy6 WX"Aeq|NAeс* aeZAe:v A exL AeJQf{\ g L ITedab_Af1Q f zAf+ Q f-GrAfAb RVAf9 n ` A fD47:&a P]^Q fvz(-zB;Af|\-af0A f/ sj p A f JAf ! xQfH/ t61_6A fc vw+"+af[\;OcNa fdcZu| 1af`f8wbr31ZYAgp 5HAgpAgD EagHdAgfRd0|{Ag0VAgO Yag*JA g,I 0JAg3  H Ag6A 2agN=A gSG  ")AgU& AgafHq go <7 FA gz?CXeh _ Q gp]ZAbA g V[fr,]Qg4;  }'A gz;(?"5ag8Q g˶</Q gXjeo.;e ~Agf*QgYB78&9g";t?AgPVAg0XAgUi=V+KQ hKL=Jq4}PA h%d c6 ah2MQ h4[ 0\kl)/ $Qh@w #@?#D =^7AhSkBy]ahmA hoAQh{6"1*7(nil@  AhT%A h%>!/2'(Ah*QhdzxiNAhNQ hÁ\ '*&3"Q h9fRQ AhڙXah'A hߙ x49&M Qh  Es.? * Qi_8?1wD1kA]f  t$Ai0>A i$ Up+$C Ai"Et \Q i;71Xu$)pQ)"aiH$AiJ@n;BQ+iQ<uS"#S`g &9P%$c)|)X!9H_?,3"ZMqhqbO:8A i>^Z/ZW*1Q iWAp 4E?QiZ;2,aE34A2 rA;JEAiRQ iw YX?AiaQ i>(?(7hAiӟsA iQZ & # &Ai<B QiTMc;  P5zB 94sAj7Qj}$>G6EF):;%Aj#uFAj%'L  Aj+BPwQ j8N Li@IHAjDT6S_'&ajMQ jO|bs_ ,HAj_Z  4Aj]o$ #" $  Aje` ij[Q j+8[( /0Qje?!o%,:EAjg@ajbSK\=h:Aj`(5,TQ j4pJ[Aj$ )>Q j*-=l5< IAj&wajbAjxA j] rmf "Ajja kF }CNLAk ^lA k%IfP$% AkOP  ak7=A k92-,10$Q kECqv @E@=Akb_Z,HAkP.&fDA kQ$KFIhNakfAkjiA" J]Xf)()[Akv"Ako3bxakAA k@l5.32ake'&%(  A kqh$ =&Ln2[Ak 8AklakhAk˅aR{vD@Y<'&!Pl\Akb@Ak܁Naki!;<LKyIQ kO4HefAldVqAls 0:,Al hN
    HQ l3= 8ofTA l=[05p@*alKpAlPl  HAlOAlX:"al_jAlan"3>K3BAAlx0:uXQ l}[-,,E4alOA lW/A lb]0%JAl 2Q lo 2GPMtAlSSRGal'Q l6^kNYNQlɎpmjPK)*eLQ"Q lٳRv+Db1Al%Q lVk>{+%PyAlVQmU0-0)-9g*!Amy AmY*AmQm$Cze!&01 Oa 881"1am={AmAt4A m?K" H AmNXKP amcvAmeAmg#Amqu=Q%mtAU6@ BQsRs nsR+v3 W'.3Am'&AmFAmv{ zQ mMx9}\ hAm¾aQ mĖ +2"G lQ mϾbUF/ &C1*&amWQ mޕ|,C4:oD Qm ~'n6+6oV5Am} }VAm?1/ Anzy\QnB- ne ZavcJ/an5lq n8&_:SE>JQKanC<DG@AnIC1HQ nM9bG.wkQnX1hq}N(# DX#Ann4 (A nk^! :KN50AnvS .yanTQn_&3.g] .=H)}Anc Q)ntG0WXiy@E~;" p&g>'vnhAnh*!  anAnW>a6QnF@[t: jS>j3sjCxQyAo{i"Z+aovAoQ o X)|mQo) "j5Tc#~};r/xq|rRAoC jQ oNukf}^&!SQ oZ9Q^y({T#4uAof  AogJAotCQ ov;,VS||5>'Q o XS@-2@1?AoK3"-EQo99P7)ezo r\S # t}Q o(t.IVC pQ o1H pC)A oӁHq!~w2 aovAo~    jAo */ KJ Ao7 Tap CApH7Q pGq: G2;TONW@ap!/Ap(   Ap$4Q< xnAp,apLzHapCX][Z  apKTApXIQpZ#^QJ -\5apiGApkffApq pAplq@"ap|gA pC Apw    Z A p~Uz A]N!6apkA pe/4AsSap'ApȒ!Q pʒre# apYApؒ  lA p׺!!  "Ap߁['Qpt ^IS2 yCp/Aq~^Wa q }qmuyoHQ q|[n/GTAq%vY^\nQ q.sMP6-#AAqFrAq:{~  )Aq;E/RmQ qIjr?-6K?8[ %AqVt9HQq\l* ! .1AqnN( A qp<  A qq@Lu$S_t *9 Qq_}vwn t>sQAq!$ A qd ,AqX;aq51wAqȥq  A q0  Aq=aq@A qܥv   LAq  fAq݁x o X)aqnAqp@A qTPMLAr ;jka rtsSia`{_ A r"$NRKFDEar,EAr0tI<6"ZJ@|AG:ArD"Ar.yarIoArK}[xv'XQrU}76WQ$%ZM,1p4ArgIArjzlxArf;ar{A r}NcsRe`arQrlqQzHMytArg arB:?>=;A r|r0K 54 ar ArK; <ArK hls   rAŕJarA r7  EHzQ r5%,5 BAsAsv  x r As5 hQ s%Tp~i2('M|Q s0iryFf?mAs>z`eVsrAs@$"~AsAleSashyas^joraseHEDJIG#Q sp$bCBGDQsz.TZ 6#L'h\o2As,)asOAsoDAsMz Asv&_Q scf|mxun As A s As=Q sŷofE|`kAsҺB\oasGAsٺ:+Q s.IJU|y#,As+FQs+PE() ahQ t"^ebchrkAt`At Atl eL] -attAt { Q t(bt v ef at5\At7aN(Q t?)(;Auǒ8au#4 "&%!0Qu+t{JMyxypAu',Qu0QZUX O ~/Av 6 lAv8  Avav!1A v$/{r ( Av#   6Av,J5javH4Q vLV!2SN%TA vVwF6A vWe HI`$Avf*|Favq#kC/q vx*ncuSVtavY+Av@hvAv( "AvT av A vd8`h*&A v7^&6T|<&MAvUa vC7)6U.8s@Av8v .3dCQ vi&/BwrsvAvQTK aw956Fa w]a_^bc\[aw b^Aw(HAw"e " Aw$hlYaw1-Q w30qXYhqjoAw@`R3awF/46AwOt : AwM2 AwXcaw_BAwa=AQ wefYT_ bnAwrkQww)SS~'   Aw7A w<AwawadAw "FO@?Q weH GJ Awsaw|z{ %a wjHF~e)Saw1AA wڮSY$z&ILFawAwIQ w9 P~Dp3~Aw^8A w   AwU ax ='&%"Ax<  Ax*  AxQx%PTa@ /6CP?8G6Ax7O f hA xE< A x9VyaMLRQPUaxd;AxfQ xhDn A xyW"mNK`% axSAx$  AxMAxax!A x?E@vAxXyz  AxlaxAxţQ {l(qo$+ CR A{{)aE8=&Q {l;B?2HA {S ~ zs=2 A {o  b  A{Ka{OA {ɦ* +.X Q{ mZU^A%ZMRMDSVa{iA{Z Q {+tA uq{bA|XQ | cih ")$A|aSQ |YG ib_hmQ |%ona 7A |0" e^]a|>#A|swA|@((`HrA|BN*ID)VPsa|x;:-IL=A |jJv X4A|  vst>~A |\+ J !c. Ja|YA|΂!A|ʣTA |{6O`a\[$a|\A|٨3   2A|"kVtA|Ya|-Q |!mp K~A|{bQ#}Odkd] ^c:rcR iX e\mhUP k A }+{    A }(r A}%^a}>nA }@Y$-2Q }M][/:5"A}[Ci   ~H A}X`  F  A}ZU+ NQ }]PK\af]4*Q}':#RN a A}-FQfa}^A }g8;Pia} A}́nOZDNQ }oo? ,,cBYFA }](u 7*9Q }@SN7He:oA}d,G>S+Q~MW| qb A~unka~A ~!u4 sQ~-nsh{ ncp texg bo`m~kdA~Ly qta~T A~YA ~V   @A~eRa~i,A~k) 9Q~ragfchfGHvuIA~pa~mA~lYZ.Q ~"v7LQ A6y4HNA9A ~;A &0a>qAC&ApQG_* c|8Y{VF#YA XCR a`aesEAnDRO:Ak  VLAqa{'A}JQ /nx{Z7^6a A DTVAp .G&aubvAu$}QC,k8JFTY;nmL4_a6kfAŒ|adef qoaxz~{xa^Q `<=G>3za+GHaiaQ Kq)$A A2aHA W5HO2AJP#0e|0A9FRA <a ;4ihzARVL2AQy F^@AT@7aqIA sMx#T=]XLe`Au2\A~aA~` Y^A (   JAv-(#oa^Ȁ`A ŷS  AtQ }K{~qfaAaZ 2 lAN  4(   t PKA過D7 k  $ 9*~du ~Q J9 4?6#6-TaYMA eR SJA [   AmDayVAz nA  \A|PajAm AP B     AS_ eQ2Ej q nyxD3fAataA msPOJ2^#a]Q  A4jAd-i>raA}hU\<4NHhH#\<($A^< q"^A n vQ a/DvSkD`oA%?g*a*A,h%Q 2K@?@a< AGZLA ?: ^ A>(aU<4Af6AZ 4AbzahAk& Pn(Q tjWH7iaeAjA `x[A2Qz|w` }t}`{ za ti Q y u t=6wA0BlQ ρdG \mLuAۏmQ ޏzr6;  vQt<7j}pQc& v7avqa  $JV=A 6 gQ SS>|i iA UQ $T,gTe;A/WQ 1, 07Xk ~N0A?G98=&.QGY}|  O BMz{AwAVF0&9AW] Oh a{A}) ' QSb e^ OV"]LSpyX&>CkAQ z@ a( c0A9bQ|8s?vP01WLU.[/A6B%X*7RQ B}:O+f2CQO38`a  dub!A0&ABKR= A_Q ,e  T%&3B.A 7{sb= }zsQ+coJ4;+;X&1Cn3 &*ocQ BQ0-Cbtm+72QPga@H1J5qH?5l3 {depW-2JoQka v d%C$-Z/(A[ dA}=FQ JO0#AN>f .Qo:}\m\cB:?$DoQ 9 <=$-]A1&Q H Wx.CJ Aġ(-pQ ɡf4Or{vA CXU<tar@aA{A/Aw &- Q h?; yBA}Qk[NJ?azj.5Ag&7H!Q #xFA 9&5 a,tA .| LifY:Q@F0O + Q QL8M. -F=FA ]Z7.'  &ah9>A]=SkA~\A qQ6'AsxQ.7m$ wd#<)A_jQ 1u ,;'Aep ~AA& Q HG   Aͪ0A":3 Ama8AQ wv B%Q %W 0MQ  A4#2 A,*In>Ya4'A8A6, NABAHaF_A Mj^0~Hn/ARc2A K>Q~(p`hamFAq j\A oEpd Aro KQ x!}  A7AwA zQ `e5wbaJMQ =ehfe rcA˗nswQ m;u|y~wAN F AE >    AqavQ i} s\ ApA A n() 4a&hA(Qm 0 !q ! QLL` {j& ?,$acQ e(KRQP!"CQ s)TU L A}EQ hSb  AbgW(Q ?$&Jg$A !&a,/?A04 Q v{~P.3UVMD:)E>YXA@A6(:lA5^.paCzAHSbvwPrH1Zij{n  AZ/AJ PSTv ]a u}9=<:A xA!     AwOi (aA \   joaR 1bx~yAjWwQ ԝ| fA1~}tA  E0 #(aqQR#&+$y3 A 0 UZUB]Xa284A#LAw A$wa-zA2GTA/"  d ACa PISDBQ \30 6a"CAj Ai FAwjaybA4{e b:T3t 7( 8yl|c25T>_n&cH3JWr{>Ai A^/kDagAEQ z >OA~aYA )n$cH=HR9aAv  L  |A  BA# )Q 8z hC#aDpAF`  AHsAIpaWnA[^ v   AYl@AgarAy 0 TM/2At   r A~%mQ ( !*AAI D9Q DG\o| _^A¤  AOAaGQ ֤V^A^n AM    A   AYaA [j szaVA~@Q {H*!_TG< ?0KFGbc\Y:6wA(*A"aX  A-Q 9+fH+CN AE 98aL;IQ P" Q A\EbaX<7Q e:ih|[ lAoGazA} bBA ~6 A a-gA7 ATVM8)Tb%>AB#Q EAkx:bk`a}ATc-tEa\mxe A j4PqpFH96A{ FAopda 65UA_$Q d$E+vDEaLA.xA F AqQ"s  " pa  8Aӡ7 e|{Q XlGXi^cq ,)V(\Y./*A`JTA  2bA Ea3AMxA 5@x oHA s;a YoB/F0/!A k:lCx LAl(]FBAzaa%*#+(A <$)HYTYQ ,-3?4A xF  AH0 NA @.Q zq %#Aߞ'     Q =, Ri A Q Mf w LM Ta&kA)9 ZA.e A()l 0a<(A># Q DaV1_\ASw|nQY0 ulsv{z81AlS zAm:Aqg=HQ @e^[Zg  AAMHIBaBC?!AIQ k@T}'xA /p GrBAѼP A ig$>wD a~  A \o `Q #$'A2! a 13?A>@a>Aa zQ vVWq nA %F HLA #y t A-c&aFw78zq M8WCBAEVDBQ XE *() ZON~afiA nk$ =Xd>%FuQX,NzBhI-D-$akAŠl    A i Bt AFs< GQYx &3r{~}A 6 A A` %Q 5~   A .jA-JA35QIE2~*A XD   AgAay\nQrpUF  BTYa^a :9;Y a}8GAA A|Q ]xAA r}AD aAݓ`FAۼ%  Aa F  A Q( !?2 EJ ;A M   QK 41,  A&qXa)Q +?-r kjha5;|~HGIq CHF^ dc*ARbJ vA P)R < bAQI FSanOAp8Q r,98A|oCaSPQRa   @A>alNAtQ OTYR QAa<J\I[LAƊ!fhQzPq JAP.2"',.XAKFK,L8Lp26iaAN A AxQ?\a UDODA ;OfKJ*aAA IoA(QQ 0S$3 1tA 3EAZ[Q ]WLG+AksNGQv1d#N5LQVQ>Gb^]%xA^Q Z4UFKd#/fQ 4" $_b1MA_   A0 1 A_TraQŤT4% do 4jyA  pc# Q く  qA?:n6aQYC>"YFw1UA@? A F@!  ;AQT#!"[]I|I* A3x@ S$()Q@UB{JEKz&ejyaPARQ T)d!.RQ^#.M 3U4/r]`"Ap'nQ s b0?%0',Q  V.I{AAkHK#Q? ~FG:S 2 # tQ E8= +./Aë`A,!!ALQQ QW'[l!eoX abA߫_AK(   A?TQ Z %#,'~"pASjQk/2&# ' AH:+Q $Cg[RmvA0'  Q 5   ABr-Z aHNIGeKH`A`A UHJ#- ,MAT*ah&Qj1f0#EDIH6sn:A{ya}]d9AwJA 8v?PL`|A zU  6M$0oQ b[ fe AUqj?Q rf |`a`A E%&)|alA PAi A) a *jLJMKcA  "pAܫkR;&X HA l6 H(-,?)haK#AP" AN 0AVgabkAdp@  ' Ak&Ai^avWA xT.XdiWa#!% ^aNPvta^A]Aw4FA- ~aALxw|#&znVYArz`A5a+UbA˞a .QҡitUN^+"#,)"A N<v"pnA XH2LAe6acA eN A:A tzQI/|)*wrqa +goV@#1B!2bAB2 % AXULA ?QB hx/a[A ^"VzS Aj*\JA]oA 7aw~Q zWcT cA @(/+,+QxKF|6Cp929AVA,TW PIHIHA5 01aLAː( AƮ5@ CvA ,@0;panA)R4A ZM:4\E[KtA恊 q s$N+_+0\2a nq pkomR<bnA l^_X A H n Ah tQ CC >IJaP7A S\.z{vabvAe&TH,Ad5b'^AEwAA;~ A@4 OQ P{EN*_$'"yA/A\vFYA[WLl@3G@ Y4fa|AZQ Ym'"'$AvxA k  NAK,(aUQ դwBC8AAߤtZ A   A>Q SVQ aYA:.JQ @ =4A  Qz  FO,1 bYQ )UP *LQ4INSVb ~#,1*-(-(A H]e\aUh7WXaSYOP.,-aXgA h<)8"!*awAq)`Q pmRPLIWburILA l/j]aA֮O1ZA߼3A /tC|/Xa{A&|A c^A  aKAfQ J*')$jmA aEckQA%x A"8.'TA $/EkR{yv^q8a>tzACeMJzQ JOOXM4AT-r[lVTa`vAoA dn   AiEQ z @K4+xA )&d & A,&'  P  ~   A nh&y71jq  aA v\kU\Q   8SypA_ A `  A:FxsNIa(OA-/zA+JH  A."7Q 9l"~ v',ADk Q Hi{T 0AAT>ART  2<AS7 =aw`A yAd2hax`/(ayA ~ T  A{p  f    ,A; k j wa.sA;?A 0w  A4J9aByAQoAExP AD+B)_Q Ve ]z sQ gq_TUN Kbat/Aw" Q{5#nY# $^)MFa+A$ Q3 #!Ta4A1A .pA0a`Q ]tmS9GPQW*C@' @ Z7!  Af cFWD a;^QA8@=A7 Q ?|^]62Q 1$14}9PAucza |=dz|vr1A0"XWRQ1iqhjm@cfmz-JrlQJK<pa`6BgA2DxQ f0*butm0A̮Q+t fAXkAƁV?a50FDAީC\`$A o`0A⁏XasQ>2mnu,n[v PAum2=a~A| AsA8r$+ Q" R8Sz50h,-(bA;pea@AQB ^@# tb2 ^^AR liXaVDQ YC>I943NSa f9Pt s~}|AFAw@pA x b*~As|-Z4aq #%+-08;=FPW egjoqw| $'1469 EGINPRU[_gjmrvy} %*/9?BJMOQSVZ_Ogmuy|   S!T(,0258:U=BEHLTWZ]aejnA q0/a2  %).026:<DGIP `fikox{ [!# .369<BD OSY[bdf]A+AqA_a48>EINTZ]_ hjpuwy    !%' )+-!14"8>CFKUY]$_%gpr&|   !(*02+48>BFJLP-W[dhlp/suwz}   4'048FKNR[^aiks{} 56'8*/8?DLUX\_cgnqsvz}  %'+02;68;?CI TX\^bfkpx}  "&-257:@CEHLQW\_?gjotx{ "(/36D<?FLORYcglotv{~  $(159<BFPTVY\G`dijmowy|~  A $   aeNVY]_cjmqrz~ !'),3=?CGMRW[]binx &).68<>ADFINPVY^bfloqtx}  $O+-259>ACHKMQUXQUZ[[]`cfA ]7#4Se$a>= #%)*+.02479<=ADFHKNOQSVXZ[]_bdfikn tx   "$(*,0158:>B%Ma02|PMha_\`bhknstz !'*+,- .<>ABDEGILMNQSTVXZ[\_`afghjklm prtuvwxyz|}~     !"#&'),/ 05  a ba t#mza ap147:BEKI mo T4 ;Cu|  15 7%8',0479::;C<=GK>OSVX?bfioAtxzC~DEINRXZ \^_`aehknprtv x $aduz| !| 4/247q 3/1 a IGKI2prt M_ qld./c0PdQg MjiVXWk m>?4EaAxq}abRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniCNS-UCS2-Ha xzmb 918QRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!AE%%D( C<OHg ^*gh '  "D Um, { Y *! 3( /y1F^7 A 3Z[AxxO@D( EwA8d    .% .% U "!":a*.)aA %*s;< 3Y<;A/gA/3A/`A/A/ A%t0H>A_%;Caj. R#E~ZTD F! VL\ S6Z }b h Msz)l g  <; A^e\Zxu>A 9 t0-u@p5I 6UDu oT_|V=s3D`; |gm"gFCBP 0?_ fypJ7|'(hD,O|c r 5{(,CE2t%nQ"A   </) oQ>Nx7:,'I 5,1 \w" e0 -&ky%: M B(];3B1 ~GX0b;!judg.jYQ"> G\P9 < Rc ZBS=8)L0w #9oh#'=>8B&^%/ 6 *`[.) GK%2PM##o wG%r ?#"L %#    )#R' bA`.  hc :; zyD(g4x KLk -0^B P5<-23 g8c)(`4&+^a  bwr!aB][lD 'T- & 6eI z  ; >7 HWTK6Puvb  M<T- <=!< nx?u+` C@,& 7P C 4DyDa( J$"n.[TgrQ Nq=JKANr p!AN!mAN};'Q N*WY=J,yns<;f /~%$1 Q N-j,V^7A N 6/   & 3A Nc M, A N< \k<]Pu7Q Nlu~ot`ANQ N*Ikp A O x dA O= nAOS/ Q O6.F]{ AOC%.5*+AOA-2AOBK7QOR+ &+ +  y|AOg*[32?QOrr~  nq '}n}AO2 %AO$    AOGl91>-Q OǴgYX^kCAOӴ\Q OִhkdWZ k A OL-%(AOln $AOf- ~Qkd^eQ PA<7\ADAP=ZK0WQ P%8jQ&,5|;A P3%TEtIQ PEF ~y~w|uAPQQ-iH9Q PZ~ | APeQ Ph8a#"~PA&Pt \  :   | zA2Pr> V  f     T  VA PNa["ixDifQ Pu\WlyAQ?\.j2VjA Q Rz AQ zZaz\_nQ QY01hgBx;XYAQe]@tS<P$k `^$e *mL vA QRrg jZ8AQj< c SX8 5Bi+*l ]QQƐX"e$-9D$utAB#A;Qܢ eF>2D}0/Bhg HUT{(    XV/!NYvADK@=6 G<0cRf(2KJOp[~sD, F S*z WF_lSN9&.(Ptgd8rv[,D*)s$2 defX),0LAs>WJsH%g,Oq@EAQu A Q"D%d#Jh;3('i^ ->I:m2 O N?p U"UQ28,  5D{X  3Q SAsvB5|;3lAS_>W q" >Z&J!@ AS~,oA S"/45-o/2Q S  A S"fO@C QT(JS  \CATQ TG>'f. PQT##/ {~s\G5 ([E.O A T8V '&AT7@ ATKQN%QT`.ux {z_?hQ To,0-2O  Q Tz%{^qpATj\[bQTu riRgdmveJ7ATrf QT@ QI% !P AVUD["QTS(g+FYZG)D?ATǍX ATϴ{AT#|ET nQ TWO(voC&I6ATo ATRAT,QUfJgM.;B 7A'TByA UFLE8 K rQU*apSzr}oX{ |AU;p'#8q{Q UC&yrA UO* ./ AUM^ 6AUSJ U c.0pQ U{{&3" $QU.Qq)f_ AU&QUW / TW jyAU  AUM n -AUuJ7 QUǛYdS6"o`GVcX N9c8GNH%AU_oh AU  AU|Uj Q U7 ds3 JK<AV5Y &Q V.!\C9(Q V8f@^ >AV%x!!Q V2ne07AV?pAV=    rAVC~ z"'mOQ Vh  Z WPU` ]AVv"\oZbjQ V~GA>V9VY: nP*~HMHYX]RY yZ<M+<C@? JK RSAWtJnA5V(?MK"9DG  loJ%)^    t-:/f^{f c"-Q WIT_^W ^AWa}  L]\  #A)WbA  &   2 H3AWT@Ix)l +!k> B6^bm\^Q Wܼyv%AWQW LSmxy j*"QX{$ {5 vAX z) AQXe |po `m AX,m%Q X2^1L AX=q4pQ XGBAhQ P AXQg@OZQ XWifefT]kpAXbp fAXc : AXie\Q Xy'2 ! 4;6EAX(~ >C ~AX<  ! J  j A XWT 1Vg6%:Q XΧB/A@XةMZ&"K ZV q@: @"g>.YXcbZ7N]RZ[ FIN'~TwX/P&"gUZv:GzAX )AX܁Z^C]BZ / 3P0Q YpF,)dpqNCQ Y{X7: /; x H3QYòOh].5tyru AY؍u AYֲP4 #AYفqQYxfc:N%. ! >Z)KLuTG)AZ   p A Z u H@E$A Z #K\OMc`Q Z@K Z!\DEAZL/QZP( @W6!8M4!8MZ1/: OnC BAZp0Q Zw#$T] YA Z&aBIQ Z+8Z|D1Q Z M>+~-QAZC4lQZ|rYn  ify 4eQ Z.ov_z&mAZсF QZP9L OJAo=AZ]W< 0Q ZuA*}vA [SX2N A[/ r85H t>~A1Z,`g V&+ 27da>c  ^vqJKu\\8}Q [pQ0w$WkA[zF\7pUT9zBA@hA[{XA[|  HQ [ZnqpA [( A[y A[{ Q [VFI# A%[C>G@I@P>MDE h01n{,!jC|A[ՁRM qtA[ہAQ \ #TS0r/A:\ 2m* EEi&^.Y$&wPRW(BC>WPAL>(_JY 87. =4IHA\mA \j><%5 7f uTwQ\Za~ u wt A\* J.  p   A)\`0    nwx  p A\+Y C+ <C"#cQ ].K4 UJ-$ A]G5A]<("), .M <[T A]>) aakkQ ]wih]J? A]C dA]f   A]4^1@Q ], !  AJ]L 6$j#@4/ G^,4:wv'Uv67PIH~ <xn9<A&'hidm"XWA ]5Z~P^*A ]X*_X<mF TiQ ^[EJeeA^r ZA^kM ,A^f8i0G&Q ^x13H^(R'xA^F:2 A^&|" 2fu|A^ #=Q ^Ę? $DqQ^1 ed_V !w!A.^>{3K |^P'J6l{xlg\P5XM:q6~l?:/:;:) ZcA^P^\A^CLEBQ _HA?"c,E$Y|Aj_Tv@AnWITl+|efh`&KFGJtwr=|y &L70) 2/bYZ[tx}ibc^}^L&'5`tujuCB WJ UNA _\Zny0 T  AHA_\Q`  M? ]XtA`~ maJQ` !-xx= 4c./ p A`5G D  A`2.Z[ L]XeA`1a b?Q`b( jLU fe'A `   A`r\ p{sr  A`uV\}DSKQ`\=t<'>/# ,Q `ýj[ CZ/A`јEiQ`ׁ5K" 1(,Oj^|)A` tDQ`NN_wZU~)gbLM enQaDK8MuJxa h|AaWr~  xzpAa?  xITOpeFY^ Aavn o | Q aXXBGpj}x_jqAadsE1k zQ anGpir iVeA a|K L?<3 AayP |a Z_XSAa}=r 5ZQaOf'T~ G`L2[ [dkAaa[,oQ aEk927/ RAcUI.& A cT3, j" "AcdG Q cu~+J@c#AcK3*16Q cz 0[\%3AcL_0)Q c(,"W&!vPIQ c & AcWVQc] # l  Zg QcYg{f e6= J7ggxA cj t  AcR,z  $$ ?  + 45&<' Ac^MHQ d2YW.+8=ReAd=! k^Ad@ Ad?.  Q dX\( OAdgcjihAde2}bAdq[Q dt ()vu A d[ Ad-|\U '0Ad#>Q dht%$AddQ dS (/ A dǥ?0= *)(9AdRAd 4QdZ|uZ}w @?A d[h  Z[Z&Adh#&  L .%Ae 6Q eR?(}i*1Ae)?LD k,X[T<{P]~x $ jsp|v:E]1L(N8}*HwN RTf ZZZ@~dl/be]~WRSJ d$C|NW6 WX">LILYd cAe0b snH{+[Y\ 6Ae^Qf{\ g L ITedab_Af1Q f zAf+ Q f-GrAfAb Af9 nAfD47:]aQfY nF5x X]A fj#tQ fvz(-zB;A f3  sj p Af| JAfb3! xQfH/ t61_6AZfĥJ 6lT(6 C>jE&T_  5&_ FRd0|{V 0<A0A2H=<IN G<I 8 UNM "6a"!dQD[hCXeh _ AgpK0A fc vw"+JjmL~ EZFQInB 2kHrHQ gp]ZAbA g V[fr,]Qg4;  }'A gz;(?"5Q g˶</Q gXjeo.;e ~Agf*QgYB78&9g";t?AgPVAg0XAgUi=V+KQ hKL=Jq4}PA h%d c6 Q h4[ 0\kl)/ $Qh@w #@?#D =^7AhSk!PA hk)AAhUyQh{6"1*7(nil@  AhT%A h%>!/2'(Ah*QhdzxiNAhNQ hÁ\ '*&3"Q h9fRQ AhڙXw x49&M Qh  Es.? * Qi_8?1wD1kA]f  t$Ai0>A i$ Up+$C Ai"zAt \Q i;71Xu$)pQ)"AiJ@n;BQ+iQ<uS"#S`g &9P%$c)|)X!9H_?,3"ZMqhqbO:8A i>^Z/ZW*1Q iWAp 4E?QiZ;2,aE34A2 rA;JEAiRQ iw YX?AiaQ i>(?(7hAiӟsA iQZ & # &Ai<B  QiTMc;  P5zB 94sAj7Qj}$>G6EF):;%Aj#uFAj%'L  Aj)*QPwQ j8N Li@IHA jCa6S_'&Q jO|bs_ ,HQj]o$QJUR Jo" QAj~lA jmp$  Ajqbij[Q j+8[( /0Qje?!o%,:EAj]Aj>Ajg)8Q j4pJ[Aj$ )>Q j*-=l5< IAk ^lhAj( 8l  fP$% l$Ajwr )mf "E4L P  Q kECqv @E@=AIkP.&fDQZ,H>A" J]Xf)()[l5.32 Th$ =&Ln2[ WR{vD@Y<'&!Pl\2AkQ$H~hN +wD~83b@A kRnL3bx?KNiQ kO4HefA ldVqp$JpAls 0:,LrAl hN<DnQ l3= 8ofTAl>Tp ?  H=R A l?-*v  Al= i'"Q lm:'C>3BAAlx0:uXQ l}[-,,E4A lW/A lb]0%JAl 2Q lo 2GPMtAlSSRGQ l6^kNYNQlɎpmjPK)*eLQ"Q lٳRv+Db1Al%Q lVk>{+%PyAlVQlc0-0)-9g*!Amy AmY*AmQm$Cze!&01 Oa 881"1A mAt4 Am?K" H #AmNXKP [=Q%mtAU6@ BQsRs nsR+v3 W'.3Am'&AmFAmv{ zQ mMx9}\ hAm¾aQ mĖ +2"G lQ mϾbUF/ &C1*&Q mޕ|,C4:oD Qm ~'n6+6oV5Am} }VAm?1/ Am"Qy\QnB- ne ZavcJ/An8&pK0+  1HQnM9bG.wk8?hq}N(# DX#Ann4 (A nk^! :KN50AnvS .yQn_&3.g] .=H)}Anc Q)ntG0WXiy@E~;" p&g>'vnhAnAnh>)Anفi*! QnF@[t: jS>j3sjCxQyAo{i"Z+*Q o X)|mQo) "j5Tc#~};r/xq|rRAoC jQ oNukf}^&!SQ oZ9Q^y({T#4uAof  AogJAotCQ ov;,VS||5>'Q o XS@-2@1?AoK3"-EQo99P7)ezo r\S # t}Q o(t.IVC pQ o1H pC)Aoը     jAo  | KJ AoӁH)" TQ pGq: G2;TONW@Ap(    :Ap$4Q< xn^bAp,udoQpZ#^QJ -\5Apkff2  .Apq pd    Z Aplq@@vz A]N!0u[PsSQ pʒre# Apؒ  lA p׺!!  "Ap߁['Qpt ^IS2 yCp/A q~^W "Q q|[n/GTAq%vY^\nQ q.sMP6-#AAqFrAq:{~  )Aq;E/RmQ qIjr?-6K?8[ %AqVtV;9HQq\l* ! .1AqnN( A qp<  A qq@Lu$S_t *9 lQq_}vwn t>sQAq!$      L@ 6A*qd ,  :  fPML TAqX;c t o X) SjklA*Q r"$NRzGFDEAr0tI<6"ZJ@|h+G:h[x/XArPIAr.yQrU}76WQ$%ZM,1p4A rgIfrsnA rjzlx"|Arf;sQrlqQzHMytA*r#`N54 4 w|927<hls oh  [\ahr  EHzArg.p0Ar: }&gQ r5%,5 BAsAsv  x r As5 hQ s%Tp~i2('M|Q s0iryFf?mAs>z`eVsr&As@$"~* AsAleSQ sp$bCBGDQsz.TZ 6#L'h\o2nAsoDAs z Ase_&_Q scf|mxun Q sLWfb5DAs UQs¶PeofE|`kAsޒ0A sҺBAsՁsQ s.IJU|y#,As+FQs+PE() ahN3^ebchrkAt`  At Atl eL] -Q t(bt v ef At7aN(Q t?)(;A uǒ8V Qu+t{JMyxypAu',Qu0QZUX O ~/Av 6 l{r ( Av8     6Av$t5jQ vLV!2SN%TAOvVwZ[R  PQ|}6H- 44)tTe"4 EH3hb yty0T^&6e^'`|P&/h*JKV1hbgnmtv .3dCAvskAvf*|Fje   jQ vi&/BwrsvA v4   "Av   " Aw bvmlYQ w30qXYhqjoAwOt : NAA wD1 Aw@`ROQ wefYT_ bnAwrkQww)SS~'   A w7"Aw<< AwQ weH GJ Awۆg$%LVAwzD BHZAwsJO Sp )FJ|-&hQ w9 P~Dp3~Aw^8  Aw     AwU Qx%PTa@ /6CP?8G6Ax7O f hA xE< A x9VyaMLRQPUVQ xhDn Ax|%    .E@vzAxyWbi  yz  A xziX!.Qxǁm+;0#$.//Axڦ Axo AxׁrM ZQ x H?.m C"Ay:jhA x 4 @ `A$xJ  A8n :fO9VgBoQ yD/_TQyOvAF ?dw.9Xpw yAyhC H 4A yg? .~Ayqh * Qy_zLAA z7G6z3 Q zClmt?Jv%AzW&6>kH/N{|$]XY6@ I<A zTS JYX Azr=Q zJ%NG p"Azlv9Q zJ`}1*A+z",%&IlH#6E:;8g^z3OP GV  ) Az9I R  !b-Y_ k^ o8& MAz! cf bQ{"R $-|e  A{8] AQ{Bmn! -' A{T fA{XZ: A{UG >Q {l(qo$+ CR A{{)aE8=&Q {l;B?2HA{S ~ zs=2  A{o  b   6 A{K ^Q +Q{ mZU^A%ZMRMDSVFA{Z Q {+tA uq{bA|XQ | cih ")$A|aSQ |YG ib_hmQ |%ona 7A|swZ-Av|0" e^]fc^M(l*ID]`PV%tuOr({} aZXc#v!"s+cL4H6O`a\<$o;JU  `/BVtA|t  ~)-Q |!mp K~A|{bQ#}Odkd] ^c:rcR iX e\mhUP k A}+{    A }(r  A}%^Q }M][/:5"A}[Ci   ~H A}X`  F  A}ZU+T HQQ }]PK\af]4*Q}':#RN a A}i A }A}́n SNQ }oo? ,,cBYFA }](u 7*9Q }@SN7He:oA}d,G>S+Q~MW| qb A~#,A~ & A~'Q~-nsh{ ncp texg bo`m~kdA~R 0A~Ly    @.9A~[ A[+ QC,k8JFTY;nmL4_a6kfAŒ|N Aǿ} rBA^Q `<=G>3zA{vvWrsQ Kq)$Ak A25ba~720e|0\i.`Rc^_|72; 5VLRU2@Eu(\#T=]XLe`h=49216=`v{v i Y^pH oxulA + @wgA <"+n#Q }K{~qfaAaZ 2 lAN  4(   t PKA過D7 k  $ 9*~du ~Q J9 4?6#6-TA [   Q kU.Sc$-"SA xQP n Av$  \ B     A|P_ eQ2Ej q nyxD3fAͪ2*hU\<4NHhH#\<($A f ;<D7"^AQa!oQ a/DvSkD`oA%?g*+h%Q 2K@?@AGZLhUn(A?: ^ n 4+ PA>(Q tjWH7iAjA `x[A2Qz|w` }t}`{ za ti Qy u t=6w3A´?BlQ ρdG \mLuAۏmQ ޏzr6;  vQ t<7j}pt& v7avqa  $JV=A 6 gQ SS>|i iA UQ $T,gTe;A/WQ 1, 07Xk ~N0A?G98=&.QGY}|  O BMz{AwA VF0&9 ' AW] Oh QSb e^ OV"]LSpyX&>CkAQ z@ a( c0A9bQ|8s?vP01WLU.[/A6B%X*7RQ B}:O+f2CQO38`a  dub!A0&ABKR= A_Q ,e  T%&3B.A 7{sb= }zsQ+coJ4;+;X&1Cn3 &*ocQ BQ0-Cbtm+72QPga@H1J5qH?5l3 {depW-2JoQka v d%C$-Z/(A}=FXt]MPQ5JOM|.eb.A:}\m\cB:?$DoQ 9 <=$-]A1&Q H Wx.CJ Aġ(-pQ ɡf4Or{vA{A C V &-~ Autar@Q h?; yBQ}A[NJ?azj.5Ag&7H!Q #xFA 9&5 A .| LifY:Q@F0O + Q QL8M. -F=FQ ]Z7tG'  &Aj>Y "UQQ~(p`hAroQ x!}  A7AwA zQ `e5wbQ =ehfe rcA˗nswQ m;u|y~wAN F AE >    AqQ i} s\ ApA    An() 45 0 !,  QLL` {j& ?,$Q e(KRQP!"tQ s)TU L A}EQ hSb nu ADA c '" AbgOQlm *I: -&E(wA Ȩo -"T Q) ?oPX8  &A$0A3"/ A.Q ?$&Jg$A =A  E4 AzQ v{~P.3UVMD:)E>YXA)6(:oZ(bvwPrH1Zij{n  ]rAZ/A5^.pPSTv ]POQ  ?}QQq  ~- AxZA^     * AuIc Q ԝ| fA1~}tA  E0 #(QR#&+$y3 A  [LTA%0  | "  d g`&A$wCQ \30 6a"CA@i |q6;JV b:T3t -( 8yl|c27T>_n&cH3JWr{>DEAwj| JA =/kDQ z >OA xv  L  |A~7n$cH=HRE  4sPQA)eQ 8z hC#A"F`    v     0 TM/2AHs @   r AIpE,mQ ( !*AAI D9Q DG\o| _^A¤  AOÁiQ ֤V^A^n AM    j XA   AYQ {H*!_TG< ?0KFGbc\Y:6wA(*A"aX  A-Q 9+fH+CN Q E 98aQ P" Q A\EbaX<7Q e:ih|[ lAoGQ }HGh+diA7 A@mh'LVM8)Tb%>A?uB#Q EAkx:bk`a}AU ATcHE'j~QPqpFH9F'l2RA opd72Q d$E+vDEA.xA F AqQ"s  " pA ʞp- e|{Q XlGXi^cA ) `JT:x8HA@lCx L lA2V (Z .}bNS@x oHd[RI(]FZ_NSBF AuQ ,-3?4A xF  AH0 NA @.Q zq %#Aߞ'     Q =, Ri A Q Mf w LM TA)9 ZA .e A()l 0Q DaV1_\ASw|nQY0 ulsv{z81AlS zAm:Aqg=HPQ @e^[Zg  A AMHIB  B1Q k@T}'xA /p GrBAѼP 4  Ai./g$>wD Q #$'A2A: A Q vVWq nA%F HLL<A#y t ||A-c&Q XE *() ZON~AAdRAnk$ =]QX,NzBhI-D-$AF;FoQɱhJ }T=py|A    A  AKQYx &3r{~}A 6 A A` %Q 5~   A .jA-JA35tQIE2~*A XD   AgAay\nQrpUF  BTYA A:MH $  A} hQ ]xA FA r}  V{zAD Q( !?2 EJ ;A M   QK 41,  A&qXQ +?-r kjhA9 }| J vA P)R < bA8|*N  FSjQ r,98ASBAj A|ox=Q OTYR QAƊ!fhQzPq J A\h.2"',.X A  FK,L8Lp26iTsQ?\a UDODA  A ;oA$UOQQ 0S$3 1tA 3EAZ[Q ]WLG+AksNGQv1d#N5LQVQ>Gb^]%xA^Q Z4UFKd#/fQ 4" $_b1MA_   A0 1 A_TrQŤT4% do 4jyA  pc# Q く  qA?:n6QYC>"YFw1UA@? A F@!  ;AQT#!"[]I|I* A3x@ S$()Q@UB{JEKz&ejyARQ T)d!.RQ^#.M 3U4/r]`*Ap'nQ s b0?%0',Q  V.I{AAkHK#Q? ~FG:S 2 # tQ E8= +./Aë`A,!!ALQQ QW'[l!eoX A߫_AK  A <TQbNa %#,'~"pASjQk/2&# ' AH:+Q$Cg[Rmvu  Q 5   AD_\ABrQ  :5~J#- ,MAT*Qj1f0#EDIH6sn:AwJA|_A{G zU  6M$0oOPL`LQQ b[ fe AUqj?Q rf |`A3%&)|QF r}rwx=$+>16+4X bytwtyx kjKz@('"' XWL_ *5VFvUN`iw|#&znVYVi .A{,  A8Q)-*< QA=h H(-,}#);_QҡitUN^+"#,)"AN<v"pnN Ae !H2LrzAQI/|)*wrqA0V %  VzS AXUL%\JA1@| !<B fxDuDA fQ zWcT cA @(/+,+QxKF|6Cp929Aː(! AV @O v R4bev|^_X AE,T< PI6oIH:@0;pLM:4<aE[Kt.G`H -5J ~w^gXkLQ Q CC >IJAS\.AWtAVnQ d5:_[AoH,6CvArr6+L Au >5Q 7nkz72~AĬWU |tpuLW\SN,A&7<&orb L MF \h~ Ax> 9+ ,D OQ P{EN*_$'"yA/A[W vHl5{@K4[nA]>_7vQ Ym'"'$AvxA k  NAK,(Q դwBC8AQ ߤt mGL<3A  IDKQ SVQ A:.JQ @ =4A  Qz  FO,1 bYQ )UP *LQ4INSVb ~#,1*-(-(AvAMiXB>AH]\fgUB,w"uJ)`Q g[RPLIWburILA ϭ,V]H1Z |A߼3A l<tC|/XRupobQ J*')$jmA%x A k.'TSA 6 EkR{yv^q8^azQ JOOXM4AT-1>AUgGTj   AiEQ z @K4+xA)&d & !A0&'  P  ~   tAnh&y71jq  *^ [Q   8SypA_ zA `  H  A :FxsNI 7Q 9l"~ v',ADk Q Hi{T 0AAT>1,  T  "\AORTD; F<Vdj3`Vp  3 &/  4+, 41 natgP REA|Lt)Q Ve ]z sQ gq_TUN KbAw" Q{5#nY# $^)MFA$ Q3 #!TA1A .pA0Q ]tmS9GPQW*C@' @ Z7!  AAf cFWD  D AQQ ?|^]62Q 1$14}9PAucz{* A zj3Tf"XWRA{xSL Q1iqhjm@cfmz-JrlQJK<pa`6BgA2DxQ f0*butm0A ̮Q+t f*\`$A XkP`0AƁV?@Q>2mnu,n[v PA{ A? A u2Cr$+ Q" R8Sz50h,-(bA;peQB ^@# tb2 ^^AR liXQ YC>I943"'AjtpAiP b b*~A>#|Q *fP >A =N0zC@܊2ACf@!uI /|7"3dVNj#Ph{G$~$ 6*%@6&w!nc)=G fE}! ) Xt;HFj$ 5@c f%:K=%7-"XG'2;Fu"` B0 cxZVU0ZKd  <{|3k7 !\E)5 m & | "K,~ aMXWStKK ,&x?f#Q)&iO*s4`x4![29 z WX),?+8MB ^4VS {U(^-&V] t ;-25S $k1DmzsON*L"=0@%8 L19 kB\9W%X-D Qj$+?z 6 N]#Ta\ 0FB# NjSN L OTF:Eze}VJ7$>U% 1 . Kh;U2{H)(#'(d DR@xNxC`j))$ *"noQ?Duf4Z63'ZP,(4{-`H}_HD>x n"[q% 2#8 !g\ H_<&/i\i!cUx m2f*kL0;5z.sD+el7r43@):AL00;r "7F*1  :)5{y&%r [`Mpb<m!k(>{/Ezv5G@p"Y.'[)"{@%i:4z! Y O3W L`G!j8WJ4 ZWd14#<% Qi'j` '3Wz-j 07="F E/X=)Z& 9y:,0 s2ULTCz/a!-[j7Z&w2 mo'xu6< #tM/hN0G Y8M V OpOe:1PqF0hMDXqg1 o\OxEVR ~]jz >  ObQ#la%Z$!C[@܆dfB:|YLPaH$;Q%Va7Cv}pOM+xb:q*@ (' ,!O2'%[b8'~GOFi$H<C[0T% ,ZiPS*IrDEuXj9>Me5,wn"s; W I5vM6|:k ?MHg+S>roQwg^Cg@ܔ\"h6}?`K q /?''B; dcUb+  (o 'R>! UTe<B|gE; ?/6Z"/F]+A%0 ;.P ! 1Wf28> &{i'_T&amQ:bhC_@=5R{'FsFv5)u W|Y,8@.bG>8='*S)E(QOBLHB,QD;LiH4;bz>#l H WSl@fBP#UJ x'=bn ;]6[k"QshWzi\[M_U|S_eVyHoca4Z/7OR%M[snniN*K_awbAYnE{p$ $dUS R!FLb#2cM"C>R>.) />8o[Q Ye^@ \" JON; K ( ! 6 ' ?L9m, 6$1PHiA4F%%7nJa bQchEw8DI.6v8F]l ;DnFa2a0/ )cje@$sK1<_wcT)Ll5^u:SU Md>e94O99TI?iZ;5oG.1=:4 Q`+} 2CXjz`F>C S끋td-d td60UL`)O38CROQ kQn|p/B4a'CSRw%7,s 6X,`^/WoJwY"n+iE K+w  ,'+R 7Nj_21j$kRf}@@_KZ^edCpY h*G=U8)Hfag~uVS '8:`55G9 ,oFGF6^$l3k^@2`& H7qA#V(]S [")&uc.2C]8CU[Q%N^7q {<mB7xo ?/a (2& TMDV, N>Lr2*^-<93r{84_&DA*2L)=EI%,6g'am@.<[T> %_ S7&D Wz%j, WUn%Lmy/i*T 8w5HW >+ p@ :$Bp<5^jJ[M<Bz)w$s'Wn2[&=rDFg57!;*,[E`Hn9.{r  _ )o|,+ Q,p&RZ "i@wc8swN`/n  gP\3H<75.=*2C#fLtPdMAFGf{6 e l6-c:9V(V -F'Ev} HZ}= z y*Wui.gj3daydxgV+W0Rb3G%p 5 #@e\IN#{k p?Y"R+ /,)1$ .Z> q L+3wL.EizC)S?]edA!.%#6-(3>YXU2 /XY:{<g~$~A_#s)mA^ jA랥i*4AB%C\3aF;"f'A$'|^)styAnY:(A@PA{a Khc_TUTU` H#dedWV]"#:'TUT S32=<;& XY hybb})gh8= k<=<=<U i\]lmHM  ,-,-,!ad>72 %*+*+*+()(),KJ#,! ! $  }Y ` #(_K83236 ;{DENOvoninonovovqt)cfgpqvsrsrgjcfe p_fcj54f ." K J / .   M TwzqS2  Atsrsts A X wvqpon EDCBS  !V;zt2  F378xy 2 6`}HK 5w!F+7q@2b3K#XZac ^#m!29JN&(B W ye;Y2@ z o>J "YF[dz| '*PVZaejV.ckvz~  &uya;{2,e *ajJ$Qd n2pW.$#&z ~+}> $(3UJMAT-h4,S7 63`1;*=s ?83P5 3/\=%X0U|[N`[( P[y dO?) ,x 46Tp!?+A\;#/4" \4` AA 9Jq5 p=QN s8X;B7T(Q lB9C_n;{Q&'g'(#;=VLVro a?AEZ0i\ HdJ"=FO8gMzb6]$i,.D"pj'O3'~{$vzvg6k'AH(w6n/Eoi *1OBG\\$JL'c\^r+-TW(& 9 0K1N#n +DC#cF}|*#="!'`LD)CE{`(4#:8DOv#8;=;Y-L^ ,~Ei o+HaI6^4V j ,4)ev/t:9z8Fv?-z0} :>ROnn VKIQL$8,*(YiY @s*[\OPtc~ct vya"jqh-K:9RA 7U5.zVBJ~ |$Yv[M6OPQ+ E`1Z^g:6bL `C/X][  GU5@7t  }B;7jE#t.54R d%FSispEm>Q NV.i^Mfmr'ziR ]s<}K'_+od ,4z!IbwY`Ggws3k(XBuz.wCBQ ;|;  > L vNI&97lcOgoLnsQ7v'LySOEy|+U(YTY-KEQI<Osy0/+4`E=1M5s~/AD~Faz;|yaEmawakapYa .!>.1CF#IRX]OOFian4t9Mka#acC~\V 25Q2]Pȁ"aa GKIpt M_  Mmaz*a3:nJaL+"0VY_dfkpy} (18Y^g lw ! &3<Vl s  "'K$` *G9P +4Si r} 3Ed!{ "0<n&u? ^jCo3(Fp r}F] vkara +2Tgo0 1<Wj $8>MQScm t ' =GJ`)-&0 Xf!)18 kxo6q(*T&_cNUA !#%+4 =AIMQSUX]emsw{} !$ '14 6F5PU\^bej!m14:>AFHLPRTZ]_uwz~#!*LQU`h lw   #1:DGKO lv{ %  #' ,:@GORX aot~ a2GFKRZ]J)/MN/QSU [f n s}   '+29>BGIRY\_bqsxz  &28>FNQT[bktz ' .<>BEGI N VX\ adh mrz  "#')0CG MOSXZ] `Khkry }  y07 :KI0aT47<1? s v  #1sB E R\ beinr4t_|#*5=@DLgl}  F)+03:>D F R5^mF%- RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEUniCNS-UTF16-HA x) Wa0 rRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE#CE%%D( C<OHg ^*gh '  "D Um, { Y *! 3( /y1F^7 C 3Z[AxxO@D( EwC8d    .% .% U "!":a*.)aA %*s;< 3Y<;C/gC/3C/`C/C/ C%t0H>C_%;Caj. R#E~ZTD F! VL\ S6Z }b h Msz)l g  <; A^e\Zxu>A 9 t0-u@p5I 6UDu oT_|V=s3D`; |gm"gFCBP 0?_ fypJ7|'(hD,O|c r 5{(,CE2t%nQ"A   </) oQ>Nx7:,'I 5,1 \w" e0 -&ky%: M B(];3B1 ~GX0b;!judg.jYQ"> G\P9 < Rc ZBS=8)L0w #9oh#'=>8B&^%/ 6 *`[.) GK%2PM##o wG%r ?#"L %#    )#R' bA`.  hc :; zyD(g4x KLk -0^B P5<-23 g8c)(`4&+^a  bwr!aB][lD 'T- & 6eI z  ; >7 HWTK6Puvb  M<T- <=!< nx?u+` C@,& 7P C 4DyDa( J$"n.[TgrS Nq=JKCNr p!CN!mCN};'S N*WY=J,yns<;f /~%$1 S N-j,V^7C N 6/   & 3C Nc M, C N< \k<]Pu7S Nlu~ot`CNS N*Ikp C O x dC O= nCOS/ S O6.F]{ COC%.5*+COA-2COBK7SOR+ &+ +  y|COg*[32?SOrr~  nq '}n}CO2 %CO$    COGl91>-S OǴgYX^kCCOӴ\S OִhkdWZ k C OL-%(COln $COf- ~Qkd^eS PA<7\ADCP=ZK0WS P%8jQ&,5|;C P3%TEtIS PEF ~y~w|uCPQQ-iH9S PZ~ | CPeS Ph8a#"~PC&Pt \  :   | zC2Pr> V  f     T  VC PNa["ixDifS Pu\WlyCQ?\.j2VjC Q Rz CQ zZaz\_nS QY01hgBx;XYCQe]@tS<P$k `^$e *mL vC QRrg jZ8CQj< c SX8 5Bi+*l ]SQƐX"e$-9D$utAB#C;Qܢ eF>2D}0/Bhg HUT{(    XV/!NYvADK@=6 G<0cRf(2KJOp[~sD, F S*z WF_lSN9&.(Ptgd8rv[,D*)s$2 defX),0LAs>WJsH%g,Oq@ECQu C Q"D%d#Jh;3('i^ ->I:m2 O N?p U"UQ28,  5D{X  3S SAsvB5|;3lCS_>W q" >Z&J!@ CS~,oC S"/45-o/2S S  C S"fO@C ST(JS  \CCTS TG>'f. PST##/ {~s\G5 ([E.O C T8V '&CT7@ CTKQN%ST`.ux {z_?hS To,0-2O  S Tz%{^qpCTj\[bSTu riRgdmveJ7CTrf ST@ QI% !P AVUD["STS(g+FYZG)D?CTǍX CTϴ{CT#|ET nS TWO(voC&I6CTo CTRCT,SUfJgM.;B 7A'TByC UFLE8 K rSU*apSzr}oX{ |CU;p'#8q{S UC&yrC UO* ./ CUM^ 6CUSJ U c.0pS U{{&3" $SU.Qq)f_ CU&SUW / TW jyCU  CUM n -CUuJ7 SUǛYdS6"o`GVcX N9c8GNH%CU_oh CU  CU|Uj S U7 ds3 JK<CV5Y &S V.!\C9(S V8f@^ >CV%x!!S V2ne07CV?pCV=    rCVC~ z"'mOS Vh  Z WPU` ]CVv"\oZbjS V~GC>V9VY: nP*~HMHYX]RY yZ<M+<C@? JK RSCWtJnC5V(?MK"9DG  loJ%)^    t-:/f^{f c"-S WIT_^W ^CWa}  L]\  #C)WbA  &   2 H3CWT@Ix)l +!k> B6^bm\^S Wܼyv%CWSW LSmxy j*"SX{$ {5 vCX z) ASXe |po `m CX,m%S X2^1L CX=q4pS XGBAhQ P CXQg@OZS XWifefT]kpCXbp fCXc : CXie\S Xy'2 ! 4;6ECX(~ >C ~CX<  ! J  j C XWT 1Vg6%:S XΧB/C@XةMZ&"K ZV q@: @"g>.YXcbZ7N]RZ[ FIN'~TwX/P&"gUZv:GzCX )CX܁Z^C]BZ / 3P0S YpF,)dpqNCS Y{X7: /; x H3SYòOh].5tyru CY؍u CYֲP4 #CYفqSYxfc:N%. ! >Z)KLuTG)CZ   p C Z u H@E$C Z #K\OMc`S Z@K Z!\DECZL/SZP( @W6!8M4!8MZ1/: OnC BCZp0S Zw#$T] YC Z&aBIS Z+8Z|D1S Z M>+~-QCZC4lSZ|rYn  ify 4eS Z.ov_z&mCZсF SZP9L OJAo=CZ]W< 0S ZuA*}vC [SX2N C[/ r85H t>~C1Z,`g V&+ 27da>c  ^vqJKu\\8}S [pQ0w$WkC[zF\7pUT9zBA@hC[{XC[|  HS [ZnqpC [( C[y C[{ S [VFI# C%[C>G@I@P>MDE h01n{,!jC|C[ՁRM qtC[ہAS \ #TS0r/C:\ 2m* EEi&^.Y$&wPRW(BC>WPAL>(_JY 87. =4IHC\mC \j><%5 7f uTwS\Za~ u wt C\* J.  p   C)\`0    nwx  p C\+Y C+ <C"#cS ].K4 UJ-$ C]G5C]<("), .M <[T C]>) aakkS ]wih]J? C]C dC]f   C]4^1@S ], !  CJ]L 6$j#@4/ G^,4:wv'Uv67PIH~ <xn9<A&'hidm"XWC ]5Z~P^*C ]X*_X<mF TiS ^[EJeeC^r ZC^kM ,C^f8i0G&S ^x13H^(R'xC^F:2 C^&|" 2fu|C^ #=S ^Ę? $DqS^1 ed_V !w!C.^>{3K |^P'J6l{xlg\P5XM:q6~l?:/:;:) ZcC^P^\C^CLEBS _HA?"c,E$Y|Cj_Tv@AnWITl+|efh`&KFGJtwr=|y &L70) 2/bYZ[tx}ibc^}^L&'5`tujuCB WJ UNC _\Zny0 T  AHC_\S`  M? ]XtC`~ maJS` !-xx= 4c./ p C`5G D  C`2.Z[ L]XeC`1a b?S`b( jLU fe'C `   C`r\ p{sr  C`uV\}DSKS`\=t<'>/# ,S `ýj[ CZ/C`јEiS`ׁ5K" 1(,Oj^|)C` tDS`NN_wZU~)gbLM enSaDK8MuJxa h|CaWr~  xzpCa?  xITOpeFY^ Cavn o | S aXXBGpj}x_jqCadsE1k zS anGpir iVeC a|K L?<3 CayP |a Z_XSCa}=r 5ZSaOf'T~ G`L2[ [dkCaa[,oS aEk927/ RCcUI.& C cT3, j" "CcdG S cu~+J@c#CcK3*16S cz 0[\%3CcL_0)S c(,"W&!vPIS c & CcWVSc] # l  Zg ScYg{f e6= J7ggxC cj t  CcR,z  $$ ?  + 45&<' Cc^MHS d2YW.+8=ReCd=! k^Cd@ Cd?.  S dX\( OCdgcjihCde2}bCdq[S dt ()vu C d[ Cd-|\U '0Cd#>S dht%$CddS dS (/ C dǥ?0= *)(9CdRCd 4SdZ|uZ}w @?C d[h  Z[Z&Cdh#&  L .%Ce 6S eR?(}i*1Ce)?LD k,X[T<{P]~x $ jsp|v:E]1L(N8}*HwN RTf ZZZ@~dl/be]~WRSJ d$C|NW6 WX">LILYd cCe0b snH{+[Y\ 6Ce^Sf{\ g L ITedab_Cf1S f zCf+ S f-GrCfAb Cf9 nCfD47:]aSfY nF5x X]C fj#tS fvz(-zB;C f3  sj p Cf| JCfb3! xSfH/ t61_6CZfĥJ 6lT(6 C>jE&T_  5&_ FRd0|{V 0<A0A2H=<IN G<I 8 UNM "6a"!dQD[hCXeh _ CgpK0C fc vw"+JjmL~ EZFQInB 2kHrHS gp]ZAbC g V[fr,]Sg4;  }'C gz;(?"5S g˶</S gXjeo.;e ~Cgf*SgYB78&9g";t?CgPVCg0XCgUi=V+KS hKL=Jq4}PC h%d c6 S h4[ 0\kl)/ $Sh@w #@?#D =^7ChSk!PC hk)AChUySh{6"1*7(nil@  ChT%C h%>!/2'(Ch*ShdzxiNChNS hÁ\ '*&3"S h9fRQ ChڙXw x49&M Sh  Es.? * Si_8?1wD1kA]f  t$Ci0>C i$ Up+$C Ci"zAt \S i;71Xu$)pQ)"CiJ@n;BS+iQ<uS"#S`g &9P%$c)|)X!9H_?,3"ZMqhqbO:8C i>^Z/ZW*1S iWAp 4E?SiZ;2,aE34A2 rA;JECiRS iw YX?CiaS i>(?(7hCiӟsC iQZ & # &Ci<B  SiTMc;  P5zB 94sCj7Sj}$>G6EF):;%Cj#uFCj%'L  Cj)*QPwS j8N Li@IHC jCa6S_'&S jO|bs_ ,HSj]o$QJUR Jo" QCj~lC jmp$  Cjqbij[S j+8[( /0Sje?!o%,:ECj]Cj>Cjg)8S j4pJ[Cj$ )>S j*-=l5< ICk ^lhCj( 8l  fP$% l$Cjwr )mf "E4L P  S kECqv @E@=CIkP.&fDQZ,H>A" J]Xf)()[l5.32 Th$ =&Ln2[ WR{vD@Y<'&!Pl\2CkQ$H~hN +wD~83b@C kRnL3bx?KNiS kO4HefC ldVqp$JpCls 0:,LrCl hN<DnS l3= 8ofTCl>Tp ?  H=R C l?-*v  Cl= i'"S lm:'C>3BAClx0:uXS l}[-,,E4C lW/C lb]0%JCl 2S lo 2GPMtClSSRGS l6^kNYNSlɎpmjPK)*eLQ"S lٳRv+Db1Cl%S lVk>{+%PyClVSlc0-0)-9g*!Cmy CmY*CmSm$Cze!&01 Oa 881"1C mAt4 Cm?K" H #CmNXKP [=S%mtAU6@ BQsRs nsR+v3 W'.3Cm'&CmFCmv{ zS mMx9}\ hCm¾aS mĖ +2"G lS mϾbUF/ &C1*&S mޕ|,C4:oD Sm ~'n6+6oV5Cm} }VCm?1/ Cm"Qy\SnB- ne ZavcJ/Cn8&pK0+  1HSnM9bG.wk8?hq}N(# DX#Cnn4 (C nk^! :KN50CnvS .ySn_&3.g] .=H)}Cnc S)ntG0WXiy@E~;" p&g>'vnhCnCnh>)Cnفi*! SnF@[t: jS>j3sjCxQyCo{i"Z+*S o X)|mSo) "j5Tc#~};r/xq|rRCoC jS oNukf}^&!SS oZ9Q^y({T#4uCof  CogJCotCS ov;,VS||5>'S o XS@-2@1?CoK3"-ESo99P7)ezo r\S # t}S o(t.IVC pS o1H pC)Coը     jCo  | KJ CoӁH)" TS pGq: G2;TONW@Cp(    :Cp$4Q< xn^bCp,udoSpZ#^QJ -\5Cpkff2  .Cpq pd    Z Cplq@@vz A]N!0u[PsSS pʒre# Cpؒ  lC p׺!!  "Cp߁['Spt ^IS2 yCp/C q~^W "S q|[n/GTCq%vY^\nS q.sMP6-#ACqFrCq:{~  )Cq;E/RmS qIjr?-6K?8[ %CqVtV;9HSq\l* ! .1CqnN( C qp<  C qq@Lu$S_t *9 lSq_}vwn t>sQCq!$      L@ 6C*qd ,  :  fPML TCqX;c t o X) SjklA*S r"$NRzGFDECr0tI<6"ZJ@|h+G:h[x/XCrPICr.ySrU}76WQ$%ZM,1p4C rgIfrsnC rjzlx"|Crf;sSrlqQzHMytC*r#`N54 4 w|927<hls oh  [\ahr  EHzCrg.p0Cr: }&gS r5%,5 BCsCsv  x r Cs5 hS s%Tp~i2('M|S s0iryFf?mCs>z`eVsr&Cs@$"~* CsAleSS sp$bCBGDSsz.TZ 6#L'h\o2nCsoDCs z Cse_&_S scf|mxun S sLWfb5DCs USs¶PeofE|`kCsޒ0C sҺBCsՁsS s.IJU|y#,Cs+FSs+PE() ahN3^ebchrkCt`  Ct Ctl eL] -S t(bt v ef Ct7aN(S t?)(;C uǒ8V Su+t{JMyxypCu',Su0QZUX O ~/Cv 6 l{r ( Cv8     6Cv$t5jS vLV!2SN%TCOvVwZ[R  PQ|}6H- 44)tTe"4 EH3hb yty0T^&6e^'`|P&/h*JKV1hbgnmtv .3dCCvskCvf*|Fje   jS vi&/BwrsvC v4   "Cv   " Cw bvmlYS w30qXYhqjoCwOt : NAC wD1 Cw@`ROS wefYT_ bnCwrkSww)SS~'   C w7"Cw<< CwS weH GJ Cwۆg$%LVCwzD BHZCwsJO Sp )FJ|-&hS w9 P~Dp3~Cw^8  Cw     CwU Sx%PTa@ /6CP?8G6Cx7O f hC xE< C x9VyaMLRQPUVS xhDn Cx|%    .E@vzCxyWbi  yz  C xziX!.Sxǁm+;0#$.//Cxڦ Cxo CxׁrM ZS x H?.m C"Cy:jhC x 4 @ `C$xJ  A8n :fO9VgBoS yD/_TSyOvAF ?dw.9Xpw yCyhC H 4C yg? .~Cyqh * Sy_zLAC z7G6z3 S zClmt?Jv%CzW&6>kH/N{|$]XY6@ I<C zTS JYX Czr=S zJ%NG p"Czlv9S zJ`}1*C+z",%&IlH#6E:;8g^z3OP GV  ) Cz9I R  !b-Y_ k^ o8& MCz! cf bS{"R $-|e  C{8] AS{Bmn! -' C{T fC{XZ: C{UG >S {l(qo$+ CR C{{)aE8=&S {l;B?2HC{S ~ zs=2  C{o  b   6 C{K ^Q +S{ mZU^A%ZMRMDSVFC{Z S {+tA uq{bC|XS | cih ")$C|aSS |YG ib_hmS |%ona 7C|swZ-Cv|0" e^]fc^M(l*ID]`PV%tuOr({} aZXc#v!"s+cL4H6O`a\<$o;JU  `/BVtC|t  ~)-S |!mp K~C|{bS#}Odkd] ^c:rcR iX e\mhUP k C}+{    C }(r  C}%^S }M][/:5"C}[Ci   ~H C}X`  F  C}ZU+T HQS }]PK\af]4*S}':#RN a C}i C }C}́n SNS }oo? ,,cBYFC }](u 7*9S }@SN7He:oC}d,G>S+S~MW| qb C~#,C~ & C~'S~-nsh{ ncp texg bo`m~kdC~R 0C~Ly    @.9C~[ C[+ SC,k8JFTY;nmL4_a6kfCŒ|N Cǿ} rBC^S `<=G>3zC{vvWrsS Kq)$Ck A25ba~720e|0\i.`Rc^_|72; 5VLRU2@Eu(\#T=]XLe`h=49216=`v{v i Y^pH oxulC + @wgC <"+n#S }K{~qfaCaZ 2 lCN  4(   t PKC過D7 k  $ 9*~du ~S J9 4?6#6-TC [   S kU.Sc$-"SC xQP n Cv$  \ B     C|P_ eS2Ej q nyxD3fCͪ2*hU\<4NHhH#\<($C f ;<D7"^CQa!oS a/DvSkD`oC%?g*+h%S 2K@?@CGZLhUn(C?: ^ n 4+ PC>(S tjWH7iCjC `x[C2Sz|w` }t}`{ za ti Sy u t=6w3C´?BlS ρdG \mLuCۏmS ޏzr6;  vS t<7j}pt& v7avqa  $JV=C 6 gS SS>|i iC US $T,gTe;C/WS 1, 07Xk ~N0C?G98=&.SGY}|  O BMz{CwC VF0&9 ' CW] Oh SSb e^ OV"]LSpyX&>CkCS z@ a( c0C9bS|8s?vP01WLU.[/C6B%X*7RS B}:O+f2CSO38`a  dub!C0&CBKR= C_S ,e  T%&3B.C 7{sb= }zsS+coJ4;+;X&1Cn3 &*ocS BQ0-Cbtm+72SPga@H1J5qH?5l3 {depW-2JoSka v d%C$-Z/(C}=FXt]MPS5JOM|.eb.A:}\m\cB:?$DoS 9 <=$-]C1&S H Wx.CJ Cġ(-pS ɡf4Or{vC{C C V &-~ Cutar@S h?; yBS}A[NJ?azj.5Cg&7H!S #xFA 9&5 C .| LifY:S@F0O + S QL8M. -F=FS ]Z7tG'  &Cj>Y "UQQ~(p`hCroS x!}  C7CwC zS `e5wbS =ehfe rcC˗nswS m;u|y~wCN F CE >    CqS i} s\ CpC    Cn() 45 0 !,  SLL` {j& ?,$S e(KRQP!"tS s)TU L C}ES hSb nu CDC c '" CbgOSlm *I: -&E(wC Ȩo -"T S) ?oPX8  &C$0C3"/ C.S ?$&Jg$C =C  E4 CzS v{~P.3UVMD:)E>YXC)6(:oZ(bvwPrH1Zij{n  ]rCZ/C5^.pPSTv ]POS  ?}SQq  ~- CxZC^     * CuIc S ԝ| fA1~}tC  E0 #(SR#&+$y3 C  [LTC%0  | "  d g`&C$wCS \30 6a"CC@i |q6;JV b:T3t -( 8yl|c27T>_n&cH3JWr{>DECwj| JC =/kDS z >OC xv  L  |C~7n$cH=HRE  4sPQC)eS 8z hC#C"F`    v     0 TM/2CHs @   r CIpE,mS ( !*CAI D9S DG\o| _^C¤  COĆiS ֤V^A^n CM    j XC   CYS {H*!_TG< ?0KFGbc\Y:6wC(*C"aX  C-S 9+fH+CN S E 98aS P" Q C\EbaX<7S e:ih|[ lCoGS }HGh+diC7 C@mh'LVM8)Tb%>C?uB#S EAkx:bk`a}CU CTcHE'j~QPqpFH9F'l2RC opd72S d$E+vDEC.xC F CqS"s  " pC ʞp- e|{S XlGXi^cC ) `JT:x8HA@lCx L lC2V (Z .}bNS@x oHd[RI(]FZ_NSBF CuS ,-3?4C xF  CH0 NC @.S zq %#Cߞ'     S =, Ri C S Mf w LM TC)9 ZC .e C()l 0S DaV1_\CSw|nSY0 ulsv{z81ClS zCm:Cqg=HPS @e^[Zg  C AMHIB  B1S k@T}'xC /p GrBCѼP 4  Ci./g$>wD S #$'C2C: C S vVWq nC%F HLL<C#y t ||C-c&S XE *() ZON~CCdRCnk$ =]SX,NzBhI-D-$CF;FoSɱhJ }T=py|C    C  CKSYx &3r{~}C 6 C C` %S 5~   C .jC-JC35tSIE2~*C XD   CgCay\nSrpUF  BTYC C:MH $  C} hS ]xC FC r}  V{zCD S( !?2 EJ ;C M   SK 41,  C&qXS +?-r kjhC9 }| J vC P)R < bC8|*N  FSjS r,98CSBCj C|ox=S OTYR QCƊ!fhQzPq J C\h.2"',.X C  FK,L8Lp26iTsS?\a UDODC  C ;oC$UOQS 0S$3 1tC 3ECZ[S ]WLG+CksNGSv1d#N5LQVQ>Gb^]%xC^S Z4UFKd#/fS 4" $_b1MC_   C0 1 C_TrSŤT4% do 4jyC  pc# S く  qC?:n6SYC>"YFw1UC@? C F@!  ;CST#!"[]I|I* C3x@ S$()S@UB{JEKz&ejyCRS T)d!.RS^#.M 3U4/r]`*Cp'nS s b0?%0',S  V.I{ACkHK#S? ~FG:S 2 # tS E8= +./Cë`C,!!CLQQ SW'[l!eoX C߫_CK  C <TSbNa %#,'~"pCSjSk/2&# ' CH:+S$Cg[Rmvu  S 5   CD_\CBrQ  :5~J#- ,MCT*Sj1f0#EDIH6sn:CwJC|_C{G zU  6M$0oOPL`LQS b[ fe CUqj?S rf |`C3%&)|QF r}rwx=$+>16+4X bytwtyx kjKz@('"' XWL_ *5VFvUN`iw|#&znVYVi .C{,  C8Q)-*< QC=h H(-,}#);_SҡitUN^+"#,)"CN<v"pnN Ce !H2LrzCSI/|)*wrqC0V %  VzS CXUL%\JC1@| !<B fxDuDA fS zWcT cC @(/+,+SxKF|6Cp929Cː(! CV @O v R4bev|^_X CE,T< PI6oIH:@0;pLM:4<aE[Kt.G`H -5J ~w^gXkLQ S CC >IJCS\.CWtCVnS d5:_[CoH,6CvCrr6+L Cu >5S 7nkz72~CĬWU |tpuLW\SN,C&7<&orb L MF \h~ Cx> 9+ ,D OS P{EN*_$'"yC/C[W vHl5{@K4[nC]>_7vS Ym'"'$CvxC k  NCK,(S դwBC8AS ߤt mGL<3C  IDKS SVQ C:.JS @ =4C  Sz  FO,1 bYS )UP *LS4INSVb ~#,1*-(-(CvCMiXB>CH]\fgUB,w"uJ)`S g[RPLIWburILC ϭ,V]H1Z |C߼3C l<tC|/XRupobS J*')$jmC%x C k.'TSC 6 EkR{yv^q8^azS JOOXM4CT-1>CUgGTj   CiES z @K4+xC)&d & !C0&'  P  ~   tCnh&y71jq  *^ [S   8SypC_ zC `  H  C :FxsNI 7S 9l"~ v',CDk S Hi{T 0ACT>1,  T  "\CORTD; F<Vdj3`Vp  3 &/  4+, 41 natgP REC|Lt)S Ve ]z sS gq_TUN KbCw" S{5#nY# $^)MFC$ S3 #!TC1C .pC0S ]tmS9GPSW*C@' @ Z7!  CCf cFWD  D CQS ?|^]62S 1$14}9PCucz{* C zj3Tf"XWRC{xSL S1iqhjm@cfmz-JrlSJK<pa`6BgC2DxS f0*butm0C ̮Q+t f*\`$C XkP`0CƁV?@S>2mnu,n[v PC{ C? C u2Cr$+ S" R8Sz50h,-(bC;peSB ^@# tb2 ^^CR liXS YC>I943"'CjtpCiP b b*~C>#|S *fP >C#:4aEh:G!(Mmbr15P?]edC0m6-(3>YXU2 /XY:{<g~$~C.%C즋f+C((C_C^ CC랥iCɨCB%>BC|C뺴dC놸CCC$=8Cn6)sC[ACnYC.C@PCEmCjCzx@kC4a T_ XH#VWV]$'TUT Shv&  hibcb fgh kh iHM    &#bW     #6-DJK |{NO  \"  (>(o7-I[O8K TS2!_ A A4h.-v V;378 2 6`e{w!F+7qkkZZ3HI !1AK07"3dVNj#Ph{G$~$ 6*%@6&w!nc)=G fE}! ) Xt;HFj$ 5@c f%:K=%7-"XG'2;Fu"` B0 cxZVU0ZKd  <{|3k7 !\E)5 m & | "K,~ aMXWStKK ,&x?f#Q)&iO*s4`x4![29 z WX),?+8MB ^4VS {U(^-&V] t ;-25S $k1DmzsON*L"=0@%8 L19 kB\9W%X-D Qj$+?z 6 N]#Ta\ 0FB# NjSN L OTF:Eze}VJ7$>U% 1 . Kh;U2{H)(#'(d DR@xNxC`j))$ *"noQ?Duf4Z63'ZP,(4{-`H}_HD>x n"[q% 2#8 !g\ H_<&/i\i!cUx m2f*kL0;5z.sD+el7r43@):AL00;r "7F*1  :)5{y&%r [`Mpb<m!k(>{/Ezv5G@p"Y.'[)"{@%i:4z! Y O3W L`G!j8WJ4 ZWd14#<% Qi'j` '3Wz-j 07="F E/X=)Z& 9y:,0 s2ULTCz/a!-[j7Z&w2 mo'xu6< #tM/hN0G Y8M V OpOe:1PqF0hMDXqg1 o\OxEVR ~]jz >  ObQ#la%Z$!CF锁q  (B=d"<"  ""8$         #6 )   '"    s=j*)2  2 |2  _-Z@K~ef 5 X_o$}mYL DrFsZkt !,? \ ^#Rm%07i ? =, /m/l"#}|YO%W&qp;~:q 1 (' B*qK!O1=%[bGb^-@*as   ~ (e"]i$: gC[0TQOB9R> HB!! U1bVwn6 }$;LiH4%EF,G>]+TgE18 9$ H WSX0 w ?yI\8T\#Euf:#Z"jHJ x-+9]$bsk`;Mem^ 9oHp m`6S,#"Wf24[b[,jk"Qw>AhWzCS7#PQ\z|S_[I RO|HoQ{4Z/7OR k[s0+=Ib-|N_,=4Db+,'os\.A&amQ.4n36(7bV3r>"$ #+d^i^%21S J!FLb#2cM"C>J>.) />8o[Q Ye^@ \" JON; K ( ! 6 ' ?L9m, 6$1PHiA4F%%7nJa bQchEw8DI.6v8F]l ;DnFa2a0/ )cje@$sK1<_wcT)Ll5^u:SU Md>e94O99TI?iZ;5oG.1=:4 Q`+} 2Cbjz`F>C M끋td-d td60UL`)O38CJOQ kQn|p/B4a'CSJw%7,s 6X,`^/WoJwY"n+iE K+w  ,'+R 7Nj_21j$kRf}@@_KZ^edCpY h*G=U8)Hfag~uVS '8:`55G9 ,oFGF6^$l3k^@2`& H7qA#V(]S m")&uc.2Cv8CUmQ%N^7q {<mB7xo ?/a (2& TMDV, N>Lr2*^-<93r{84_&DA*2L)=EI%,6g'am@.<[T> %_ S7&D Wz%j, WUn%Lmy/i*T 8w5HW >+ p@ :$Bp<5^jJ[M<Bz)w$s'Wn2[&=rDFg57!;*,[E`Hn9.{r  _ )o|,+ Q,p&RZ "i@wc8swN`/n  gP\3H<75.=*2C#fLtPdMAFGf{6 e l6-c:9V(V -F'Ev} HZ}= z y*Wui.gj3daydxgV+W0Rb3G%p 5 #@e\IN#{k p?Y"R+ /,)1$ .Z> q L+3wL.EizC)SJ "YF[dz| '*PVZaejV.ckvz~  &uya;{1e *ajJ$Qd n2pW.$#&z ~+}> :3$A9,S7A`1;Is3?7P5 8/\;X`[(ty dG 46w?+A\;#/4" \2 _ 95 p=QN8X;B7T(Q 0B~_nRQAg'(0VrgEZ0i\ dJ"=ui:"pj'O3'~{=g HE2S\$'-c\^r,+2W(& 9 0%n +DC?Fk= !'`wCEL4HEi56^4V/Ov}:>R?n-L$K5#kW # ^0+b7_0 kksS]z*R GKIpt M_  Mmc/2!(-h 6l*=' #8[=50U6P[O?) >xMp54`WALJ~slJ{/&u;=V{o a?AJHdFO8gMzbR.D)vzvSk'{w6nLoi ]OBGJL1KT 1N#c|*("{D[{`(7:8DOv#8;=;Y-L^ ,uo+HaI(j:4)e't:9z8F%?|mVKI8,*(YiY 'i$Te"h-<LI8lE@KTvm@!13B/6B;SV ag qq%s7v9kz&B hh%y"qgghpn b!$%(R>\OPtc~ct vyceucs^j(t $c.VBcYt6a`[ 5@ABGE# .54Xd;spECV.i^MZ'X<z+o4z%Gk(Xz ;J  >1tl[O;U11M58~cgQ-zpJ~ |[M%OPQ+ U1ZG:6bLrC/X][  G(t  ;"FS9m>Q mniR ]J'_- ,>IbwYgl3B%wCBb|lLvNI&9PcOgoLnsQ7v'LyhEy|UYTY-KEQI<Osy0/+4`E=psLAD~Fc_jqh-K:9RA 7U52;|ym[+"0VY_dfkpy} (18Y^g lw ! &3<Vl s  "'K$` *G9P +4Si r} 3Ed!{ "0<n&u? ^jCo3(Fp r}F] vkh3:nJ(arp2c#pYdkC +2Tgo0 1<Wj $8>MQScm t ' =GJ`)-&0 Xf!)18 kxo6q(*T&_cNUA !#%+4 =AIMQSUX]emsw{} !$ '14 6F5PU\^bej!m14:>AFHLPRTZ]_uwz~#!*LQU`h lw   #1:DGKO lv{ %  #' ,:@GORX aot~ 95Q2]PcH#*!>.1CF#IRX]OOH4t9Mkui 8FKRZ]J)/MN/QSU [f n s}   '+29>BGIRY\_bqsxz  &28>FNQT[bktz ' .<>BEGI N VX\ adh mrz  "#')0CG MOSXZ] `Khkry }  y07 :KI0aT47<1? s v  #1sB E R\ beinr4t_|#*5=@DLgl}  F)+03:>D F R5^mF%- 5\Vp"RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEUniCNS-UTF32-HC x) Wc0 rRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE??? A %%D( C_<OHg ^jghA¨3ZY[xx@A3Àd    .% .% CU "!"_:a*.)aA %*s;< M B4–y '  "D Um, { Y *!U s( oyqF^7 B№f wBẾn<@;<*R═B%%%%%i%[%%%e%B(╯AX! w H&_tv}" }$b OFB⼀Ss|}$+@AQ\S`zeUBB⾢B⾮"B⾾xB⿒ B⼐n R$H>QB⾘gB⾽3B⿋`B⿌B⿕ B╴0~B_▓{C!j.JR#E~ZXTD KF!JV \ S6ZK}b h M\sz)l ^g  <;IA^_e\ZxDu>A 9 t0-u@p5IK6UDu oT_|EV}ssD`;] |gmbgFCP p?\_ fypJw|'(hDB,O|c r] 5{(,Ert%nR"AC   </C) XoQ~Nx7:,gI P5,1 \w" Qe0 -G&ky%: M B(];sB1 ~BGX0b;!judg@.jY"> G\P9 Q Pu|-23Q g8#)h`4f+^Pa  bEwraaB][\lD 'Tm f 6XeI z  { ~7M WRK6Puvb  M<T-T |}!| nxuk` @l& 7AP C 4DEyDah Jd"..[QTgrR 万q=JKB且r p!B両mB业};'R 个WY=J,ynsC<;f /G~%$1 R 亞-j,V^7B 亨 6/E   & 3B 亶cKM, B 亷< \k-R 俇gYX^kCB俓\R 俖hkdWZ k B 修L-%A(B俬lnO $B俤f- ~QkdE^eR 們A<7\ADB倞=ZK0WR 倥8jQ&,5|;B 倳%TEtICR 偅F ~y~w|uB偑Q-iH9R 做~ | B健R 偨8a#"~PBH側 B\  :  F | zD  Rz ?@.j2VjBG偲> NV  f   A  T  V CvznB傁Na[fuixDif/D> YZ jVB傼QR 兙01hgBx;XYB入]@tS<P$Ek `^$e *mL vB 冀Rrg jZ8B兪< cL SX8 5Bi+*lJ]R准X"e$-9D$utAB#B=凜 eF>2D}0E/Bhg HUT{(   E XV/!NYvADK@=6 G<0BcRf(A2KJOp[~sD, F S*zKWF_lSN9&.(Ptgd8rv[,D*)@q$2 defX),0LAs>WJsH%Bg,Oq@EB凗u B 凘"De$#Jh{3R('i^ ->UI:m2 OKN?p`U"UQ28,F  5D{X T 3R 厤AsvB5|;3lB厲_>WG q" >Z&J!@ B厴~loB 厰"P/45-o/2R 叨  B 叵"fO@BC R吆(JS  \CB吖R 吘G>'f. PR吣#/ {~s\G5 ([E.O B 吸V 'A&B吷@C B呋QN%R呠.ux {z_?hR 呯,0-2O  B呻hBB呺%A B咅YR咋u riRgdmveJ7B咚rf R咠@ QI% !P AVUD["R 咶S(g+FYZGB哀Q B哃| B哋#|ET nR 哠WO(voC&I6B哭o B哱RB哯,R唁fJgM.;B 7A'TByB 唗FLE8 K rR唪apSzr}oX{ |B唻p'#8@q{R 啃&yrB問* ./ 2&A- $B 啍^ 6AB啓J U c.0pR喆.Qq)f_ B喘&R喡W / TW jyB喱  B喵M n@ -B喰uJ7 DR嗇YdS6"o`GVcX N9c8GNH%B嗡_oh  A B 嗢  R  A B嗪|Uj AIIR 嘏.!\C9(R 嘛8f@^ >B嘥x!!R 嘲ne07B嘿NpB嘽A    rB噃~ z"'mOR 器  Z WPU` ]BD噶"FD VYC: nP*~HMHYX]RY yZH<M+<C@? JKA RSB圇tJnB@噷fbjMAF?MK"9DG  loJ%C)^    t-B:/f^{f cB"-R 坉T_^W ^B坡}  EL]\  S#B)坢A B &   2A H3B坔@Ix)l +H!k> B6^bmE\^R 埜yv%B埩R埬 LSmxy j*"R堀{$ {5 vB堐 z) AR堛e |po `m B堬m%R 堲^1L B堽q@4pR 塇BAhQ P B塑g@OZR 塗ifefT]kpB塢p f Az{~ >C ~BB*塣 :  A  ! J  j BB塩e\^T 1Vg6%O:R 壎B/B@壘MZ&"K ZV q@:B @"g>.YXcbZ7N]RZ[ FIAN'~TwX/P&"gUZv:GzB壚 iB壜Z^C]BHZ / 3PpR 奰F,)dpqNCB 好;C B 奻X@  B妉0 /SR 妝qt) S8]B妬R妮 m >; x HB姀SR姃Oh].5tyru B姘u B姖P4 #B姙qR姨xfc:N%. ! >Z)KLuB威~ ,  p B娀! & H@E$B 娂 v#K\OMc`R 婀K Z!\DEB婌/R婐( @W6!8M4!8MZ1/: OnC BB婰0R 婷#$T] YB 媁&aBIR 媎+8Z|D1R 媙 M>+~-QB媤C4lR媮|rYn  ifB嫀0y 4eR 嫆.ov_z&mB嫑F R嫕P9L OJAo=B嫨]W< 0R 嫲uA*}vB 孓X2N B嬈/ r85HG t>~B1嫽,`gA V&+ 27da>c  D^vqJKu\\8}R 孰Q0w$WkB孺F\@7pUT9zBA@hB孻XB孼 E HR 宕ZnqpB>客l G x@FI zC>G@I@P>MDE h01n{,!FjC|B宪{X-VRM qEtB宷Gc R 尌#TS0r/B:尚 2m* EEi&^.Y$D&wPRW(BC>WPAL>(_JY 87.G =4IHB屭B 尜j>=:|24?>?8u|9:9B幦8i0G&B広 #=R 廄? $DqR廐1 ed_V !w!B.廥>{3K |A^P'J6l{xlg\P5XM:q6~l?:/:;:)C ZcB廱P^\SB廹CPLEBR 彈A?"c,E$Y|Bj彔v@AnWITl+|efh`&KFGJtwBr=|y &L70) 2/bYZ[tx}ibc^C}^L&'5`tujuCB WJ UN@B 彜ZnyG0 T  IAHB忂\R怉 M? ]XtB怙~ maJR怠!-xx= 4c./ p B怵GMD  B怲.FZ[ L]XeB怱a bN?R恢( jLU fe'B 恿D   B恲\Mp{sr  B恵V\}_DSKR悰\=t<'>/# B惀l,R 惃j[ CZ/B惑EiR惗5K" 1(,Oj^|)B惦 tDR惰NN_wZU~)gbLM B愀VnR愃DK8MuJxa h|B愒Wr~  xDzpB愓?  xITOpDeFY^ B愙vn o |D R 慘XBGpj}x_jqB慤sE1k zR 慮Gpir iVeB 慼KC L?<3 B慹PE |a Z_XSB慽=Cr 5ZR憧Of'T~ G`L2[ [dkB憼a[,@oR 懅Ek927/ RB捕I.& B 捔3, j" "B捤G R 捵~+J@c#B捿K@3*16R 掇z 0[\%3B掔L_0)R 掛(,"W&!vPIR 控 & B掹WVR揀] # l  Zg R揕Yg{f e6= J7ggxB 援jLt  B揯R,z  R$$ ?  + 45&<' B揸^MHHR 搲YW.+8=ReB搽! Rk^B摀 B搿.K  R 摘\( OB摧cjihB摥2}bB摱[R 摴 ()vu B 撇[ B摿-B|\U '0B撍#>R 撫ht%$B撾EA   0= *)(9B 撽SEB撶dI@ 4R擠Z|uZ}w @?B 擰[h  AZ[Z&B擯h#& A L .%B攊6R 攛R?(}i*1B攩?LD k,X[T<{P]A~x $ jsp|v:E]1L@(N8}*HwN RTf ZZZ@~dl/be]~AWRSJ d$C|NW6 WX">LILYd BcB攰bW snWH{+[YR\ 6B斋^R昂{\ g L ITedab_B昘1R 昜 zB昫 R 昭GrB晁b B昹LnB晄47:]aR晙 nF5x X]B 晪#tR 晶z(-zB;B 暄3  sj p B暀| JB暅b3! xR暭H/ t61_6BZ曄J 6lT(6 C>jE&T_C  5&_ FRd0|{V 0<A0A2EH=<IN G<I 8 UNM "6a"!dQD[hCXeAh _ B朁pK0B 暽c v@w"+JjmLP~ EZFQInBM2kHrSHR 枋p]ZAbB 林 V[fr,]R枮4;  }'B 枿z@;(?"5R 柋</R 柖Xjeo.;e ~B柢f*R柩YB78&9g";t?B柿PSVB柼0UXB柾UAi=V+KR 栚KL=Jq4}PB 栥d c6 R 栴[ 0\kl)/ $R桀w #@?#D =^7B桓k!PB 桫)A@"B桕yR 梀,7(nil@  B梓T%B 梏%>!/2'(B梘*R梦dzxiNB梹NR 棃\ '*&3"R 棐9fRQ B棚Xw x49&M R森  Es.? * R椀_8?1wD1kA]f  t$B椰>YB椗$ Up+$C .1@$) )4;BB 椘"zAt \#DUR+楑<uS"#S`g &9P%$c)|)X!9H_?,3"ZMqhqbO:8B 榀>^Z/ZW*1R 榓WAp 4E?R榞Z;2,aE34A2 rA;JEB榻wE B榹R B !$B槀]R 槉>(?(7hB槓sB 槔QZ & # &B槕<B  R 槶TMc; R樀~ P5zB 94sB樏7R樓}$>G6EF):;%B 樣uF F  B樥'L  '@IH;B権*QPwOxc R 橏|bs_ ,HR橝o$QJUR Jo" QB橾lAB 橭p$A  B橱biGj[R 檌+8[( /0R檙e?!o%,:EB檬]FB檭>B檫g)8R 櫅4pJ[B櫏$ )>R 櫘*-=l5< IB欠^lhB櫥( 8Hl  fP$% lA$B櫧wr )mfC "E4L P  R 歅Cqv @E@=B~歐>H]Z57AQZ,H>A,  J]@Xf)()[l5.32<A<D~5h_ =&Ln2[@b@R{vD@Y<'&!Pl\2y4@Hef?0hN<IVZ: 4EZ=$Z_|3p2B歗.B 歒nL3bFxKNiv-R 氳= 8ofTB氾TAp ?  H=R B 氿-C*v  B氽Ki'"R 汭:'C>3BAB決T B!,/B汸0 DDcL]0%JB汹Q_D2R 沪o 2GPMtB沶SSRG@^kNYNR泉pmjPK)*eLQ"R 泙Rv+Db1B泥%R 泧Vk>{+%PyB泵VnR洀U0-0)-9g*!B洗y B洘Y*B洖R洤Cze!&01 Oa 881"1B 流t4 B洿K@" H #B济XKP [=R 浴AU6@ R涀BQsRs nsR+v3 W'.3B涪'&B涫FB涤v{ zR 涷Mx9}\ B淀E6R 淄 +2"G lR 淏bUF/ &C1*&R 淞|,C4:oD R淨 ~'n6+6oV5B淹}I}VB淼?1B/ B淾"CQy\R渟B- ne ZavcJ/B游&pK0+@  1HR湍9bG.wk8?hq}N(# DX#B湮4V (B 湫^! :NKN50B湶SI.yR準_&3.g] .=H)}B溪c R溮tG0WXiy@E~R滀R" p&g>'vnhB滬B滘h>)B滙i*! R 滴F@[t: R漀FS>j3sjCxQyB漒{i"Z+*R 漞 X)|mR漩 "j5Tc#~};r/xq|B潀RGjR 潎ukf}^&!SR 潚9Q^y({T#4uB潦  B潧JB潴CR 潶;,VS||5>B澀|R 澄 XS@-2@1?B澐K3"-ER澝99P7)ezo r\S # t}B澹hF B澸( DB澻;R 濆1H pC)B濕     jGB濔  | @ KJ B濓H)"JTR 瀔Gq: G2;TONW@B瀨   M:B瀤4Q< xn@^bB瀬^udoR灚#^QJ -\5B火ffQ2  M.B灱 pGd    Z B灬q@@vzA A]N!0u[PsSBR 烊re# B烘  lB 烗!!  "B烟['R 烳t ^IS2 yCp/B 焀z^W "R 焛|[n/GTB焥vY^\nR 焮sMP6-#AB煆rB焺{F~  )B焻E/ARmR 煉jr?-6K?8[ %B煖tV;9HR煜l* ! .1B煮N(F B 煰sQB熨!$ I     LG@ 6B*熧d ,B  :  fAPML TB熭X;Vc t o X)ISjklA*R 爢$NRzGFDEB爰tI<6"ZJA@|h+G:h[x/XB牐IB爮yQR牕}76WQ$%ZM,1p4B 牧IfBrsnB 牪zlx"E|B牦;[sR犋lqQzHMytB*犛#`N54 4 @w|927<hls oh  [\ahr  EHzB犚g.p0B犟: }Z&gR 狶5%,B猓B猀1 v  x r B猂K hR 猥Tp~i2('M|R 猰iryFf?mB猾zD`eVsr&B獀$"~* B獁leSR 獰$bCBGDB獺.TZR 玀J6#L'h\o2nB玖oDB玎 z B玏e_&_R 玤cf|mxun R 玲LWfb5DB玾 @UR珂PeofE|`kB珞0B 珒BB珕sR 珠.IJU|y#,B班+FR 珳+PE() ahR琀N3^ebchrkB琛`  B琖 B琑l eL] -R 琨bt v ef B琷aN(=R 瑀 AFjxe|_6B瑕} B瑍& B瑌,wyR 瑝FFRC}(R瑧0zqpqmfzxwnB瑾)AB 瑹|$A) Z3B瑺QG4 vR 璗%SlOz!$R 璣{h 5BC0B環 EJDB璭* bLYD;AJB璴%L/R 瓓zy&+,+khR 瓠&S2bkHa]B甄1/s^Mtpo,HB(瓬 @(<ZQ<o= |@|A&</B瓰f(L-0 c$?F"|X xyx_HUR 疊LU^Xu- B 疝V  g CtB疘~x  @  B疞G54NkZR痗+t{JMyxypB痦',R痯0QZUX OB瘀X l{r (G B瘃2      E6B瘂Iu$t5DjR 癌V!2SN%TBO癖wZ[R  PQ|}6H- 44)tTe"4A EH3hb yty0T^&6e^'`|P&/Bh*JKV1hbgnmtv .3dCB癳kB癦*|FjEe  T jR 盬i&/BwrsvB 相4B   "B盷L   " B県bvmlYR 眳0qXYhqjoB睏t : NAB 睄1 B着`ROR 睥fYT_ bnB睲kR 睷)SS~' B 瞄:x"B瞀D  << B瞘R 瞯eH GJ B矛g$%LVB瞽zGD BHZB瞹sJCO Sp )FJ|-&hR 矬9 P~Dp3~B矽^D8  B矷 F    B矾UIR砥PTa@ /6CP?8G6B砷OJf hB 硅< B 砹VyaDMLRQPUVR 硨Dn B硼%I    .E@vBzB硹WbAi  yz  B 硺iFX!.R磇m+;0#$.//B磚 B磛o B磗rM ZR 磬 H?.m C"B示jhB 磷F 4 @ `BB$磹J B A8n :fO9VgBoR 祄/_TR祏vAF ?dw.9Xpw yB票C HA 4B 祧? .D~B祱h A* R禐_zLAB 稷G6z3 @R 穃lmt?Jv%B穗&6>kH/N{|$]@XY6@ I<B 穔S JYXE B穲=R 窏J%NG p"B窞lv9R 窮J`}1*B+窺"G,%&IlH#6E:;8g^z3DOP GV  ) B窻9IIR  !b-Y_ k^Lo8& MB窼!Lcf bR笢R $-|e  B笸] ADR筂mn! -' B答 fB筘Z: B筕G >R 筬(qo$+ CR B筻)FaE8=&R 箊l;B?2HB箔S ~ zsG=2  B箖o  b  K 6 B箢K ^QR +R篘 mZU^A%ZMRMDSVFB篲Z R 篷+tA uq{bB簀[R 簉cih ")$B簕aSR 簛YG ib_hmR 簥ona 7B米wZ-Bw簰" e^]Bfc^M(l*ID]`PV%tuOr({;C< aZXc#v!"s+cL4HB6O`a\<$o;JU  `/BVtB籴 `J~)-R 糱!mp K~B系{bR#紀Odkd] ^c:rcR iX e\mhUP k B紫{    CB 紨r C B紥^R 絍][/:5"B絛Ci   ~HG B絘`  F@  B絚UkT HQR 綜]PK\af]4*R綦':#RN a B綸i GB 綷CB緍n SNR 緖oo? ,,cBYFB 緣](u 7*9R 緮@SN7He:oB緹d,G>SD+R縇MW| qb B縛#,B縚 & B縧R縭nsh{ ncp texg R 繀vo`m~kdB繒 0B繌y    @.9B繛 B羓[+ R羬C,k8JFTY;nmL4_aB翁}N B 翀2 rBB翝^R 翥`<=G>3zB 翲{vvWrs R 耀4q)$Bk耋A25ba~720e|0\i.`Rc^_C|72; 5VLRU2@Eu(\#BT=]XLe`h=49216=`v{v i Y^pGH oxulB 耝k wgHB 耠<bkn#R 胔}K{~qfaB胡aZD 2 lGB胠N  4A(   tE PKB胩D7 kL $ 9*~duJ~R 腊9 4?6#6-TB 腛   R 腫U.Sc$-"SB腸QP@ n @B腶$K \ B     & B腼PG_ eR 臀R nyxD3fB臍2*hU\A<4NHhH#\<($B 臮f ;A<D7"^B臯QaaoR 舚a/DvSkD`oB舥?g*+h%R 舲K@?@B艇ZLhUn(B舿@: ^ n 4+ PB舾U(R 艴jWH7iB芋jB 芀x[B芇2R芝z|w` }t}`{ za ti R 芳y u t=6wB苀0BlR 苏dG \mLuB苛mR 苞zr6;  vR苪t<7j}pt& v7avR 茀fa  $JV=B茋6 gR 茖SS>|i iB茠UR 茤T,gTe;B茯WR 茱, 07Xk ~N0B茿G@98=&.R荇Y}|  O BMz{B荷B 荖F0&9 A' B荗] Oh R莅Sb e^ OV"]LSpyX&>CkB莠R 莢z@ a( c0B莮9bW8sR菀?vP01WLU.[/B菑6B%X*7RR 菛B}:O+f2CR菧O38`a  dub!B菸0E&B菹BKR=A B萅_R 萉,e  T%&3B.B 萖7{sb= }zsR萫coJ4;+;X&1Cn3 &*ocB葀8R 葂Q0-Cbtm+72R葐ga@H1J5qH?5l3 {depW-2JoR葫a v d%C$-Z/(B葽=FX@t]MPR蒍5JOM|.eb.A:}\m\cB:?$DoR 蒧9 <=$-]B蒸 @B 蒴1&+ E %DB蒽L.R 蓉f4Or{vB蓬{B 蓖C V &-~ B蓚utar@R 蓶h?; yB蔀_R蔂}A[NJ?azj.5B蔜g&7H!R 蔣xFA 9&5 B 蔮| LifY:R蕀F0O + R 蕑L8M. -F=FR 蕝Z7tG'  &B蕪>YA "UQQ~(p`hB虲oR 蚐x!}  B蚜7B蚝wB蚠 zR 蚯`e5wbB蚿=R 蛀 hfe rcB蛋nswR 蛖m;u|y~wB蛤N F AB蛢E >   F B蛯qR 蜄i} s\ B蜓pB 蜘   B蜑n() 45 0 !,  AR蝌L` {j& ?,$R 蝥(KRQP!"tR 蝳)TU L B蝽ER 螁hSb nu B融DB 螏c '" B螋bgOR螩lm *I: -&B蟀gB 蟂A  nB蟁| R蟖) ?oPX8  &B蟬$0FB蟪3"/ @&  E4 B蟵.NR蠟 v{~P.3UVMD:)E>YXB)蠶(:DoZ(bvwPrH1Zij{n  @]rB衚/B蠵^.BpPSTv ]UPOR 袋 ?}R袕Qq  ~- B被xXZB袤^     A* B袮uIEc R 裔| fA1~}tB 裡 E0 #(R 裳R#&+$B褂^ [LTFB&褁a  | "  Bd g`&B褀z#x^CR 襜30 6a"CB@襩 |q6;JV Ab:T3t -( 8yl|c27T>_n&cH3J@Wr{>DEB襷jQ| JB覀 =okDR 觟z >OBB觴)2&Cxv  L  |zB{    v    H 0 TM/2B)觫~R  BD@C  @ A  r B觶!$6H R\x ) P1KE,QmR 誣( !*B 誰  B  B誯A{ AB誴|WXR 論V^A^n B諦M    jA XB 諤   EB諪YR謊{H*!_TG< ?0KFGbc\Y:6wB謨* G0B謢aX   H@+ B謭U0R 譅 98aR 譐" Q B譜EbaX<7R 譥:ih|[ lB谷 B譯GB bBL "3AB譸HA"+di  =8 Bc{TbCR 豅Akx:bk`a}B豕 B豔cHE'j~QPqpFH9FB'l2RB 豯pdW72R 貗d$E+vDEB貧.xB貣 F B貭qR貲"s  "B賀mp0B賌 XB賍HgR 賙XlGXi^cB 賤) `JGT:x8A@lCxIL lB2賥V (Z .}bANS@x oHd[I(]FZ_BNSBF B賲XuR 趥 ,-3?4B 足xFG  B趵HA0 NB趲 M@.R 跓zq %#B 跟'  "B跠-   6 @ B踁R踍Mf w LM TB踩9 ZHB 踮e @B踨)l 0R 蹄aV1_\B蹓w|nR蹙0 ulsv{z81B蹬S DzB蹭:B蹱g=HAPR 躄@e^[Zg  B 躐AMHIB  B1R 躣k@T}'xB 躲/Ep GrBB軑P 4  B躰i./gD$>wD R 軴#$'B軾2DB軿:@ B輍 R 輘vVWq nB輥F HLBL<B輣y t F||B輭c&PR 轘E *() ZON~B辛B辜dRB轮kd =]R辭X,NzBhI-D-$B达F;AFoR迉hJ }T=py|B 迢   B迠  B迚KR 迴Yx &3rB 退W @ B适LB逈` %R 這5~   B 逮jBB逭JDB逳5NtR遉E2~*B 遘D   B遧B遡y\nR遲pUF  BTYB邑 B邀DMH $  B邅} hR 邮]xB 邸HFB邽 Er}  V{z< !B邻DH R 鄀+EJ ;B鄋M   R鄖K 41,  B鄦qXR 鄫?-r kjhB鄹N }| J vB 酐)R < bB鄸|@*N  FSjR 酲,98B醃SBB醀j B酼oOx=R 醙OTYR QB釆!fhQzPq J B醮\hE.2"',.X FB醥  FK,L8CLp26iTsR 鈀< UDODB鈍 B鈌;oB鈎$UOQR 鈰S$3 1tB 鈼R @tR鉈Qw4-&+z2 >3EB鉚[R 鉝WLG+B鉫sNGR 鉶1d#N5LR銀UVQ>Gb^]%xB銑^R 銓Z4UFKd#/fR 銠4" $_b1MB銲_   DB銴0 1IB銮_TrR鋅T4% do 4jyB 鋗 pc# R 鋣  qB鋮?:n6R 鋶YC>"YFwB錄} @? B錀f1)@!  ;B錃gRR錝T#!"[]I|I* B錳x@ S$()R鍀UB{JEKz&ejyB鍒R 鍔)d!.RR鍞#.M 3U4/r]`*B鍰'nR 鍳 b0?%0',R 鎀 V.I{AB鎌kHK#R鎔? ~FG:S 2 # tR 鎬E8= +./B鏃`B鎷H,!!B鎸LQQ FR鏊W'[l!eoX B鏟_B鏞K  B鏠 <TR 鏳bNa %#,'~"B鐀[pjR鐆k/2&# ' B鐛H:+R鐤Cg[Rmvu  R 鐵   B鑄_\B鑀, Q  :5~J#- ,MB鑔*R鑪1f0#EDIH6sn:B長HJB鑼_B鑻FG zU^  vMY$0oOPL`LEQR 開b[ fe B閖Uqj?R 閞rf |`B閫3%&)|QF @r}rwx=$+>1v+4X bytw@tyx kjKz@('"' XAWL_ *5VFvUN`iw|#&zn@VYVi .B陻,Z  B阸QH)-j< QB閪}h Hh-,Q}#){_R雒itUN^+"#,)"B離N<v"pDnN B雡e !H2BLrzB雴NR霛I/|)*wrqB青! B霰VO  z=z OHvB-霱@| !<@B fxDuoLdA K\zy`2  @ D(/tR鞗xKF|6Cp929B韋(!MB鞭VS @O v R4bHev|^_X BE鞨,T< PI6oI@H:@0;pLM:4<aE[KtE.G`H -5J ~w^gXkLQKR 顃C >IJB顓\.B顗tB顖nR 顤5:_[B顯H,vCvB顲rv+L B页 ~5R 颶7nkz72~B飄WU |tFpuLW\SNG,B'飀8<&orb L EMF \hD~ B飃x> 9+X ,DD OR 饐{EN*_$'"yB首/B饛W vHlu{@K4[nB饝>_wvR 馪Ym'"'$B駁vxB 馹kD  NB馸K,G(R 駕wBC8AR 駟t mGL<3B駩  IDKR 駴SVQ B駿:A.JR 騉@ =4B騔  R騙z  FO,1 bYR 騩UP *LR 騴INSVb ~#,B骨vB 驀*XB>B驁@>\fgUB,wbuJ)`R 骶g[RPLIWbuB 髁d V]H1Z G|B髟3B髀Hl<tC|/XRupAobR 鬈J*')$jmB鬥x B 鬚k.'TRSB鬔 6 EkR{yv^q8D^azR 魊OOXM4B魚aB魔-qYP&Qd & !BZ魕gGTj  .- j @@K4+x&'h&^c0#  ;A RG~   ReTMv\kBR 鰅  8SypB鰓_ z B鰒 `  H   @',B 鰐:FxsNI 7JdR 鱈i{T 0AB鱔>1, L T  "Q\BO鱒TD; F<Vdj3`Vp @ 3 &/  4+, 41 naAtgP REB鱼Lt)R 鵖e ]z sR 鵧q_TUN KbB鵷" #nYR 鶀( $^)MFB鶐$ R鶖3 #!TB鶯1IB鶨.pSAH B鶫0>B=R鷇W*C@' @ Z7!  B鷥B鷡f cFWD  DB B鷼QR 鸉?|^]62R 鸗1$14}9PB鹵cz{B* B 鹺jE3Tf"XWRB鹻xESL R麐1iqhjm@cfmz-JrlR麤JK<pa`6BgB麴2y0 D*+t f*\`$B麶xj@utYXkP`0B麽UF?@R 黴>2mnu,n[v B鼎{ B鼇? B鼀q2Cr$+ R鼢 R8Sz50h,-(bB鼻peR齂 ^@# tb2 ^^B齒 liXR 齙C>I943"'B齪tUpB齩P bO b*~B齿V>#|R 龤*fP >B#:taEhzZ!(MNm"r1uP|jIr 'Ti twEsnzCr}-pL$ypT WBhMm^.mrHkBh龯=N0Sz# ZM+}O|tJ_10^UTy x@$ K [ `Tc bX32Y^J kezcbx\ tW"Y2o D<7L6X/2oKR J>?]edB#.e# 6@'TX-(3>YXU2 /XY:{[<g~$~B_#simB jBij4B%\3aF;"&'B$'|^istyBYz(BPBa Khc_R@UTUTU` H#dedWV]"E#:'TUTD() S32=<;& XYLhybb})gh8= kD<=<=<U i\]lmHMB  ,-,-,V!ad>72 %*+*+*+G()(),KJ#,! ! $E  }NY `  B%(_K83236 ;{DENODvoninonovovqti[cfgpqvsrsrgjcfeIp_fcj5D*f .b KKJ />Hn I M TwzqSr M Atsrsts AKX wvqponG EDCBXmpS  !V;F:tG2 @  378dBexy 2 v`}HGy 5waF+wq@Zrb3KcXZC𠂊2Cf𠀡uIG o|7U"3dQVjcPh{@G$~d v*%@6A&wanc)]=G f}a ) t;Hj$ V5@c fe:K=ew-"X'r;ub` Bp|y~ #xZVU]0ZKdM <{F|3k7] !Z\E)5U m S& | "K,~_ aMXSt[KK ,fx?fcQ)&Pijst x4a[R29 z XR),?k8 BC ^4VS {Uh^-&V]T t ;m2uS $kqDmDzsON*Lb=p@%8G L19 kB\9W%NX-D QjZ$+?z v N]cTa\ 0FBc NjSFN L OTF^:Eze}VJQ7$>U% 1J. Kh;U2{H)\(#'F(d RxVNxC j))V$ *bnoQ?Duf4v3gZl(4{m`}_H>Rx Yn"qe 2cx !g\ H_|&oii!]cxKm2fX*k 0S;5zns+T%Pl7r4s@izALpp;rC "7*q  T:)5{yf%Zr [E`Mp"G<m!k(~{/EPzv5G@p"YP.'[)"{@ei:tz! Y O3WW L`G!jxWTJ4 @ZWd14#H<% Qi'j``'3WzYmj 0w=bF E/X@=iZW& 9^yz,0Ks2UL[TCz/a_!m[j7Zfw2 mCo'xu6| ctM/ShN0G QY8  OpezqP|Yfijs ^S-T' B@tK F ;CZ2o =@>qF0hMDXBqg1 o\OxEVR ~]jzI>  ObQ#la%Z$R!C[𠂆dfz|LPa${QeVa7v}pO +xbzq*@P (' l!Or'%[bx'~GOFi$Me5lwn"s;  5v v|zkK? H'+S>roQwg^Cg𠂔\"hv} K 1K/WP'gU{ $cb+R Q (o g~a UHT%|W|'{[ o6Z"o]ke0L{.P !J1W&rx~ f{i'_^&amzb(YC_𠃮=uR{'sFv5)u ZW|Yl8."G~8}'*S)(B BlQ{LiH4{"z~cl H SlfBP#U  xD'=]bn ;6[kbQ3hWz)\[MUV|S_eVyoca4Z/wOR%M[s.niNjKawbYnE{p$ ddVUS 𤨡FLb#2cM"C>𤨾.C) />8o[Q YeQ^@ \" JON; KJ( ! 6 ' S?Lyml 6$qHiAtFe%wn a bchEwxDIn6v8]l {DnFa2a[0/ )c[je@ds q<wOcT) l5^u:SU Md>%9_49yT ?iQZ;\5oGn1=@:4 Q`B+} 2C𦉪z`~C 𤷫td-d t$vpU `iOs8C𤩏Q kQ.|po4a'CS𤩷%[7ls 6Xl`oWoJwY"nX+)E[ +w  l'kR 7^j_2qjdkf}@_KZe]dp h*G=8)fag~u 'x:`u5y ,oFG\6R^dlskr`& HwqcV(S 𦴢)&uc.2C𧘇8CU𦵑%^7q {<m7xOo ?oa (2&LT DV, > r2j^-|93r{8t_&D]A*2SL)}EIe,6g'a-@n|[T>M%_ ]Sw&DJWze*l WneLmy/iT*TJ8wuHQWM>+ ]p z$^Bp<5j [HM<Bziw$s'WYn2[&}rgu7!;j,[TE HNn9n{r K_ )o|l+ Qlp&TRZJ"i@w_c8swNY`/n MgP\3H<7u.=*2CcfLtPdMAFGfO{6 e l\6-c:9VhV -FgEv} HZ}= z yC*Wui.gj3dN!ydxgVkWpRb3Gep 5`#@e\INN#{k _pY"Rk /l)q$ .HZ> q Lksw .izSC)XS<Yk@nwG}}X[=m(&{zAn mfth 12g J{fd;[nJjG4j)k VIjnQ z0BW'jK}.aRf' LlJO ._S  W`C𧀎} |oUh{ 8pI40Pb} %TLP/M &k?%C 𦺙&oPw=:CiRsq!bdEC𧥧yC吆kCs𦵴 ymrk3sz,BL!!rGc$z?eh12X3*XoYkD,0PuBuY L^ }|#%S)gv; JM"F][dz| '*PBVZaejV.ckvz~@  &uCya;{qe *ajJ$Qd nrp.$W#&z ~k}~ z3$Ay,ZS7E`1; ss?wP5E )\{XN`[hty d ^46Nw?kA;c/t" \r  N95 pH=N8X;BwThQ pB~_nQgg(pVrgEZY0)\ TdJb=uiz"]pjgO3'~{}gKHEr\d'mc\^rl+rW(& 9`0%nI+CFk= !g`7CVE 4Eiuv^4VoEv}:~R.mLd u#kWM# ^p+bw_0 k+sSz@ * BGKIpt M_ \ MmFb\⿐2s-hyS #8[=q?ix4`fsi+;}V{oIa4FtbU.pvbw6nw ]OwT 1#k|QD}aO6#}YV- ^U ,uo+Ihjz4ie'tz9z8n?|mV I8,*hYiY  HFb偣J[Lz0}bs*b庲Q_^=TA WN#$-v@ Hn\ulx{)JM]m~   vbF亃a.xC#  8~roUuit~'i$ebh-<LIxlEH@ Tvm!q3/6B;_SV ag^ 1qeswvykz& hhey"qgghpn Z"!d%(^>OXPt#~Tct`vyb斲ub獞jht db.嚌B#Yt6a` T5@BE#`.u4d{spECV.i^ 'X<zko4zeG[k(Xz ;J  >q4l[O{Uq1 5x~bg儭zpJ~ K|[M%OPQ+ T1Z:vbXLrC/_X][  Ght  ;bFSym~Q Um.iR ] 'P_- X,~IbwYXgl3BewCB"|H,L\vNI&V9cgoTLnsQ7v'Ly(Ey|YTY-\KEQ |OsRy0/U+4`E=0sLAD~Fb↸-K:y>A@ 7@635VYwr;|9H-kC +2@KTgo @$  1<@ KWj@ $8 >@IMQScmt@ '=@AGJ`B)-0@? Xf@~!)8@.; kBx+"0VAY_dfkpy} A(18@RY^g lw @! &3<@LVl s@ '@EK$`@ *@AG0P@ + 4@ASi r@} )@ ;Ed@y!{ "@60<n@&u@(5 ^jo@?sA3(Fp@ r}@*2]@q v+@?1@6q*@!1Tf_cNZUJ!#%+4 =FAIMQSUX]e@gmsw{} C!$ '14 6QFuPU\^bejm@qA14:>AFHLPCRTZ]_uwz~B#*@;LQU`h lAw   #B2:DGKOBmv{ %V  #' ,:@G@KORX aot~[ }3:@?J@? @?J@. harbI⏚j!~.1FcIRX]OttyMkui xXF R] i/ NoQSU [Af n s}  I '+29>BBGIRY\_bqsBxz &@,28>FNQT[@]bktz B' .BEGI N VCX\ adh mQrz R c#')0C@EG MOSXZ] `Khkry }B  Qy07 :KI&a@ 47< ?@#M s vB  #1sBP E R\ bein@r4t_@g|#D*5=@DL_l}  )+D13:>D F R ^@+hmF%-Ec𠵾\]L252]P"RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniCNS-UTF8-HB–xi Wb〈 rRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!a ^A ' vG%O9A &   1!b ARa %67`Zam7Tikmol *#8G%,I z$:9547632/105.-9! a%Kba "fD-)F#G kz&}$#q .#&"', $-.q. 0:<=>@ABECGH JR(XQV/B@r- ;]a l IZ.-:*+& C)VC9 5;pz g`}<1^ u/6(a6i#UXKpDm;M${ I$|j=z!jf%: H~]NZhMM<;@Rc:jM)kbr7&%HC9c>|}qzeKqZ$ }H9S8tTml5(_U`i(F}3fvU4 D9UFB8 "Fkw5d;VQ Cj{qgnX5*`a/ L`gq 0h(s}=q{a0ARd U7c $(I^r?Qq6qAs(GF* I!KUmJ(ClKlL8KL"jN OQPdQqtfFfS1-T_UaVeXf[zZ}]\G[[v[d&Rae`[yUfhm|aNB`X~YQN# %^LP-1m c.K$TaN_Q N"ip9bT gjhaN.eQN0~Pml on#)fxh38aN@lQNC.{z]d <9Sz`5 `\ PqNZuut9Tw{v}yD )YQN~ty921w"x/aN^ptQNq}9A(!aM*xq NT!"&&QNa1IxIkH/&?^w3aN+Q NєZ!xyaN.Q NݥnkrFq'N3#5N%L69X(:+qN;)>z?_@A.HHx2B(JY*v'OQ OZH#DQPN]\aO(S@/UQO/uF|CBKJWVmlEDExaO>^Ic eQOMJ9$3dgfONorWZM > _qOan*qp1q&r;tfvD:x9y@B}?P~QO=p 76CBq OD ]p  G-Q OiP{nM:"! 7)qOSL#\,H%.)rKiL,Q OכLe,QPOr NKDSqO4E6FrG7f)$9:Q;N?>@VCLDIQ P bPWsXsrKfYq PO)WRWS9UPVQ P%Y|2qlP/ ZOe4f`g\kL^nPp_Jq]vSzT{r` e}fa[J 0gM' >(y0b1c%d2b.4LKl89en;h=T@9BXE^J_KBfNQT,jgSZihk]PazbeFfQ Q27610 n)8qQ nVr@sPNtvv|G}1 RWUQQQ?8@ O1\8Au4}|aqQNett S%F'QQh<'Zzff9>uHkBk> 6q"Q~-0z/=1O3(559f:;<+j=3@AlBkGQ QMZ 4F hSaQJrMjOQQė$sr~#":: [Z}q QW&``a+Oc eQQTe5p&+o G&`i!xnCqRqsM s<t vCxn>5P7{|w~Q R(i:WVmQRqS'VhWTX\@]Q RսMuCTlutuIIq8Rb2dW e#psu|u  xU|$}}5fD| | ( hE^FDuDQ S>NU.srS~ waSK Q SN?pTNKf(,aSX$QSZpjQP3V;Q:ng=O /.7aSl+Q Snjo$)t N/j%HZ9qS{0a4L61Oe7b9b }:%APA(CQ S~ +fBq`!.W0q$SIyLOBPQUEXYZY;-#6 Q]?`|b|sM;cdQSߧm whDbU30OfH~[PbIl:0W]TaSkQTm'&kpx[ZU,4);-h&V@~2UaTsQ T,()D(E*.0FGGbw2q'JkeL}6OU4VW XlZi@[1\9:a5c1i3m7Rn;pQ U*%Y&^(0_+-V.E5 7^8*9Q UR2]xyx)(UTEDqU\@j,X@EbFooHdP]gJXKQU!X_Jihml3t RC3q-UeSkUmWrraXI{]|x^jbvAcw|={e0izt5jwlucmzyp}rLsQV, rS0gA>YN Sl[qV<x{t |4  oQ V`p@V>{i:YaVmQ Vo,PDED98},Nq6V{ n 7"u&v:'*+.f7k99:?}uBCG{~LJ[Lj 5NO!SUWQ Vژq> O|g6?FqV[asbTd6f%iSmkQ WsL&s4BbAq9WpFHt~vwzr|<')(@,9*+F/ 60(X ?JU`vT.^zuaQ Wd'&S 12ZSRUqWp#:&9M(65+<I240=4HB9!@QWCC#8MBIH~qTWH>KALIOz.X_l?aHcqDdEGFfNhW*iMkRsKtJx L!zQ|S~L%OP2(, U .TW -=8s V+Q XJc*f A6quXU35V:'=/X>AYC}KVN#R]ZSbTU[BX_:\d2e91fn_ryvY$}]~C%g& mu&)R;('+V$.2T/ CI"8$&())!+/011{57@8:QY"tCF_^/)Eq;Y2AhCKqC E/F|G0 IJ1 LyM =OP%2*4R3SMXYM[[^^"_z`old/e\rfziQ Yugfz=+*:qXYnwp >t&{vsw-~zz~^x}@H }  |S4 > -{ $<%S' * 6}7(:/;M < >BCRG+J(LN/OiRNYZ}[`?cdg" is~w~"y -  AB#I *|57!>$?$AiEQbG(M@O"T#U(w*V+Y%6\&])_>a b'gvj}oxsz,z~({.- !/ 0"1 ${/Q[P0 tu)\>tw} Aq[`5915P7YvZa9j<6=>e@AAQ[}XTYSD'zEneIe.a[G!IQ[1498- d}r`x<%V;7q [OIRV]iEX38Yz_S\8^7ai_6cGfeegQ[ݘ[?x tuM:' =_wvuq[u 7yj7Yzp|}Q\BB3~4.MC(_a\Q \:n;\CByx'Yq\6 -7 ) 8|9Q \7\3~BEi`Y!;q\Cy>=lQ`hZ"i%Q \^ :q FKvyzmqM\i+>.t~/v0`,7Q;_<0A+-D.3F4H/U145I7<M{R:94S;VW6X>AY8]^=_?aBg@mDs,zACt|*}]~J 7- 4  DK akLJ!I&GF')( YH*O/PN7"?WV3A DMKRMT NXYUQZS\Y `Zlqmo~[\   ^3<_#i(0)U-.4+\5[W7}PF 9f:5$-X=X<\>Q ]wsVIS)za^ GJk!LQ ^ =~)H{Yq0^OC{ V)YzZ"\w]'%H_#6acb&ddj'qr(t)v*4Dw2~Q^rD.j54OjwF'ohq ^ i< 53 Q^=Q86?6'vS;u.ON{Qq?^5V`V:8B7 9 $w3.=<46>:x.v1=?A@BECxI|SJyL-[7skO.R@vSQ _T;:#")(sq _Z\=f_[?6condQ _-pj#"/.gfiq _6j<mrn>qnv0wQ_Lled32uaT5,q_Z~Tn_T[. d ` ab^4Q _*Zb_K(e! ;PhqK_7Enf$gh!^ i V&j1(k.#/|0lj2BAk7C9<';E w<D=-+?BQIDJF,HNyJOGKeMQPPRQ _ O:!l q?`LUYXV8UZn\]Q_Tx1`[b$S|W/XePhRm9 rZt`hu~|e}ck? Q `gw?Ta$ }cq)`q_0\_^8b&gAinh!o"c#dj&f'+(Q*,]-Q`:kj+0mf{q`3l 5fp=Y @E;HQ `جo432o2:) `a`MQ`Lw0<_'hT#ZJG<4cq `S"9UxY]_I^yiaufC(=jKslv|nt ozr5z:|3{K {bZ 0  ^]7$/_p;2NRN<!|kC "2,?X3:5<>6~7.<>{D`F }G1HDKNmTmW^#N6[,_` ^i`ltn8oxQ av[0[Z=}ab}Qby8zE?dmdYA /d9J|abQ b|Mab( Q b*)FSR98AYjqb5<ts\nKuvm: =jRu."E$h+Q bf!"r3L5lggPqbq.m02;426su/7R: \>Q b]G;e jGjqbF<f|=I9J+L<zNR7U X=cYwZQbS_>hiJC*OsqbkSG&o{+p7N?tsxGz ~Q c>IQG\YYq@c&/soO DWQuFbEQk V}7e%dP&6P)]*M +I-:.0JP236A Z7Q c&9rR%$_W:kac<;?!@QczogTIHI"+6yrwacLWLNQ c?o+*~ml qcTWW[X;Z>Ym4],^EadXgUdh*i8mn#XpSsqtHuTv*zV:dN{}_b[r'm_6`F ^ ad clq6[z2 Q!^"]e(`$%`Z+,K/a2e@3`: ;g>?_B^DijEKfLQMjQU/hVlX_\,\T_Qd *59~l76IB-,adjQdgudmzA|I>EZadkQ dʾgkt~-,adqpRsLtQ dޛH\ eqd{R$me-Rfz  c  s<Q elA@gfy^ed{q$eYVct)|#u&$ fl(2?)~*b,#1rK315y7w8Q eUg?J=<}q e_>M[AChcGQ epj_>ybq eyMCVSYL\\Q eA/h98WV5aedfbgQ e@sB'& C:}w9<#;#=;9K>\@5s4DEG,J5K,NTOyPQ g&,.Gh'oK0,[q*g2Yr#[_+ajcdFfTugQiY hjRkimrSWHsvUXxQ gms I,<{mB?>7qgx}b>pW(`  Q getn/. pagQgwbZ{vGm2wvczqgmkOBqt'pc (cG<2Q gذeWF9F10 qg80:g=`?OcxAA8BuJXoKQhEyorL;!ZkqhS{`UZn]idvk"tnQh~!~s)+#- N/0-2,4u5"7 8:o=9%.>L@#C@D!EA(+F;I19O$Q/| S0F]h2^3_5a:ce1hvk6l7''W*tFu4xj~8:|> B!"<*lK!>)?L,:b012L67=;<H?C@wAKDCCH>tJ]LFPMmWGXh[]\A ^iJpNruxr|IPO5Rx E  QSO!8%4n:{q;pBiCDoJN PTuXt]}ayc~fzm4QK 1nx p`z2~3zc{45u5c - 6Q k_K75!\[q khY$3x(5R)VQ k &c6*%GE.'q-k0Z426\7]8:_<>` C E=z GzH[JOMn?Nj/PrTUDVQ kҋ}b} 0?>SqkZR_Txg jUmWnXqVt@uY[ZmzQ l AK@/k)X a"al^rQlVETO@SEJ4uFj@CBIvq0l6% oR,ptxq" p]!E~}j "(%%*&+*,+-%/w2Q l\hY! q l6'8%:&<l@'AQlj EK#$EN3e(l/Oq.lH;5 Jm2NMtUOsS{V_W.Z</E74\W_ca6obCceL9fQ l:lh {fal1Q ljegG&Xwq*mmEoDqAtGuRx!|FL }sC@ HJ <]P K ? QmA@$#"Ig h"cwX',/KJq-mU0XUY[!u#}6%R(d,ZO\.Z0p5\7[h8$:>;Q=V<>Qm!B &54kH]E o-^q,mFjmHAJdL NaNT*^j]W%Z~^:b'fce_fbg>idj^fmInQ m'_^[:C`y:)@qdmsvb{ki2`vcKg1\J{ ?zu Q kfKVtW3qc vum%r)5*S+`-]p /n:lk <AJMwqNCPwU5Zy[8&^_na}c~dfQ nR.evQPkqnmJop!sctBuQ nˤ)&to{hqp $san|O~Q nޣLT34ILq$nK$ / H`  w:NPW 1#(A )Q o)[${b?>3@#qo4/12#7J8 <?:@>C4E WH.JaKNOP ValVWXjZ[\c^sa&_b-dl(pe+sduwbx^|D~O 6!) ]+% $v%"m%#&P'/Z0S12id7U9f:_=x>OAQ pYR94a`3qIp!F(HXnKRmS+U*Xz\Vh`9g,ij mfoo-s Xwgyou|'g}21s#L V9 Y HNJMO Q pS}xoar#"qp'RID*P+Q-.Q-1V2#6>>q?uBQ pKtmz =Q#(HeqpIzMO,PSUro^WcXeUYfp#vg%m qZ[y }_ "abXV]p: ?!qv^n"U$r%`\(b,c-x/5':U>(@6AWdChHgOIR|VeWfXr[_Xab:fknj olrYt'iv2_kz]l< Z  IF $m %n/01l94Q r5#a+pZ?+q r@7Kq>iAjEQ rVk8 5>KJ mli?qOrcME$P~QBFU5W Y+ \LGR^I`~JeKfLgMi@lCtQv,z o~Upqr1/u~t3  wv3x_y{"Q r\_tCq4qEr$~U62=&()*037 E8R ; = ?l-BDCE&G5T HI@vKL?*NUWUX\dQ shR0+Cn-assnQ su+97n%B0.765qVstIwqyVz&{}p  :LC*! ,j" $#s%'F(&/+3h4%8*9):k=- A@LMoP0XQ9(S.kW87`fQ t%2lkjutihmlqqt1mV>ojt`v9w\Q tU< .q5t` ]%j?>'>@#C$p%E(a)F*B,J -A8G9[=bKH?TEMN_ Pl\]`LbccQ tdonon95H"9q"tm\tx^Ly%   Ex.C3p4Qu((~u$`QeVI0r+*WS(Omq1u< "y#N'|){8+zF,0=}>4B8{:IN=~CD1EFKN PFSQ u, lmlm'c(auZQ udnU`oFqu^fec2lkBgFdif.%hQ u¶n o@aulpnQ uҠ "Os8sZauuEwQ uj   QBq!u|xz=yz|d.w } ~{Qv2En!"5l\M5R,#q v. o  "Q v;3[:+6{5qvD&/(1)4+12,36N7Q vbo>Kd Kq:vm4/e7<HA(ibdC0F%G%_-HYJ.L3N/OQ0%S1\CedHgIh@klxp@rP)tumvQ v͵ ?I`gfoATavz9|Q vn=ZwZMf{qiv"aX)0 M[ 8Y\AAZ `^"d&_'b*DL+a.U/cd4J56"9h:g=eDiULoN$k|Pl#QjR/ T`opmpcnfqn&lrnnstsxyQ wRPqp$->qw~u\vQpw~ & 1J QwOyxA@) !+hqnw)F,".#/L$i3%9@;(9>y?&@ A+B0C4F2: G5H3*J*LeO"-1QdR$S(UAV<W=[6\;]^+8`beiken>;7zobv1 zBP\8^ @ C A?CQ x[h=<qxd7aF1fGwkNH!$KEk'+IQ.J'1l9k<L?cAMCOD F\HjJL MNPXP\'aReQjfkglnhrStUx\y zy {z {~ C |*c VP3  L#b%)f\ + 5" @]BE[8F GQ yR"je/?y6GqyOLQeSlTUUSpXZ]\?bQyOX!?>/Oq%yj&qMsutv$#w!yq} %~&iH%   WQ z7(hmlZy,qzA %%$i+*),`1[:@}A,EQHnkbIQ z,^a@yx~cbcqzPLT+NW"3lY_`\l!]Q z0}x56qFzc%g9ijlGp$at8`ubk v_ihc/` A 0 GpcdHfUeif k#q$3h&o)2*w,r-Q {$t7. _lq{/3q5u6m:V;F<v=zAlC)D?|EQ{OAv~5F)(ED#"#2q<{^L~NOdSY[{]w^_`&bec glmotrXs w5z  p}Q3 Q {Ľo<  WVQ+q{OX^ c"$%'T)f*2-12g3[9A<=CjJKlL!^N k P"\P$#`wa ! iiwn:y|em e#\uKJ. xLlhYT NMOO#P%_&}*-Q[/e4RZ6T8Y;UX<4=V>]ZE!FXu|&DH$[NQ |uJpCByxEDafxma|YQ |H$A@~# &q }X^_'aQ }# '&/9sPqL}eMslhEl,oF1&% r$w(x*)z{>|1},5 +/hd!@|J-Th Q!3(/).+0[,X1B49<6=9@iBQ }EbKQ6CddqN}G_82tJ1K5O;Q73ST^X4Y= <[nX^?E_I`AbGVcegC?h#iBj>l&mqNFKDy'L}GIHB n J\Q~1;( LK 549q8~?NRQk U& 'T+{.@1&a7 VYX8.:?zMWAHDSI J_KnL$pO:PZQlSQ ~SIHcb;:/-a~WQ~@X(,v'.[3.R9sOiq~Wg[L\F)%.T_x`Q~͚@5 It`nkS2./Oa~fQ ~$R} IPLLb1q~jEl7;eo*\p8arss]j-v]xnz^{QO!ZIf m*=q:! j  ^`Ra b_i`jbpq7)rhtu@vz`{wLBj,  Q b>?>on54qP\0D*E!H"r$F%&G+I,y1mU3^4[58<u=_>.AU`BID5gbJacMdOeSiJTfU`ZJt[2:^IS_W7cQ 0h545-,%Wq)gNiOlPmQUToBpAqVs9tX51?uwx{yWY{Z} D/[Q R\N#";:_^{a[ ]RQ oo N+OX/azy8Q U^?LGF/ma"q(QotK8OD{I,9Ua.Q Z4tug.*{' wa4y6Q k  LQcqppaa:x?Q ֗V C:aG1ImGKzQY\/2nK@WVq QS+URcW,Y Q #5%.O@"GF`q^ `m'ops|ytAxQFFpSRKF.R=<14WAV@aWI Q eeVa`sr_xYlq)rw4FH-y}&%y["'#U)*%,).003*1~9Q AX %4AS^W.q&@cB-D+EEJFpNFO]^SaU,X1Y)Z@_a yd%e/&Q f}]lE:q hbj}kEl)rwZs+tQ (0 x~y/:q834%w<2/{3|6~7X89: Ga;<o=p\[dq x"a\#b7c%+'g(Q xd &;0  q .jsk2n$4}5{6Q4J%$!{?HYJevA@q:tmX<"=hn>x@~B<pDqvQ ͉Fkt)4b5:aGQ ےNp %1"kEqKtN&QRTVZW XQ \{WCtAB$/q ] _T`ac&d. f^GpQ+(ur%$-,K T7q=w%z#|R"~$!iY^GQ] W%j/q^78snq,m20 5B=@<m]+h!:$?&C';)D*8+},3E?9 04t6Q 4mqtip\]7qe6^H8];<>)?AVEQFKGOJWkaKJNo\QM`+cUZZP]_I`Y$aU4bqNM[=XdTeMkRn_aSt wr{I~Sl m  cFwedkbnlGQindcf\! }|;Ldot{q{':.gj2p3q4MH8:N;W=~ ANpPQQ R.iQ85#qrV9X3z\u]vg_y`6b!h.}ikwl/q5 r<} ~ t"oDQ  8Kv; 57'B*+O-J.=1D14K 5;6:P=>4&AKCGHUJKDMQ *boD(?>IqwUWXZZO`Jbfgh#k"q!?r%x6tCo${& ,GYT2&W( '#X)BS';*/+3Z6V97<(@*Ay D[NSO,Pa Rp7Yqn_qa4eIfBBgmihm rpsqDsQ y,;SqZzRzyj| ~,}x{  z!$v% & (l* -j.0m4 8 ;~<!Z?)BCDWFHQ z0p%$_JSR_^]qHQ. S#T*W$[)](_+a!d&,f'<m4ovp7t.u]v;w2}8:<2532 \  19/-F\CB65=El}$&&?+GID->.K1J2`6N7P9{<A=^>QL?aAO@MCRJTNUPHQSUkVU[W YY\^_Xab e)VfYi]_nWo?VpZtow[CX x) [\ v] S*?;'lmI&"Q hV xW!v?>as(S, -Q })() v Mfq_2@467;/>C,HI$OPS.X/\ ` -b0qd2 g ihfjAlX,nBo13p4q8s:5z "{ U~7'9,v? =<6>;G{A Q 09T2wHGFQq@9'])C.R0= 2*@<CD:F?IDJMkNP-REZ]1^__-ae2hk6m8n:v<zd}9~=>?RQ }u,<q"; > WYZX3[(\]!@ $ %&}_K -Q ~pp ! 'q;4j6bK7x8b:r;P<S?e@rDF]ITKgLO^RfThXYd^j_k`i=ajc=egvgi7kQ i, wvt?nL}qvpSspunwmlb{c/|~~y[/6wQ = f$K OpUq GE\uF4Q ilGFon]\QPQ+q%`(~G+ ,u/0 S14 5_7 8Q}08~gf! _l]LLLa@WBEFQ u5(s|[Nkq8LO_S T Vc[:`x dnkrx0hyDz^H U J@SI!mx${%Q 6'&)=#d%aQ )v}"#KdUaQ qVK&VUu, xaQė_HoBKmv#(}q#k&B'tn)E*GXo,>W6-Q'ꁖ1k\P4[Zml4X {mfb2)(?>[@]L;J9({qU<L>>CABZD3E,H(IH&J L)vN1P!4=xvHwAC}FJN`TTwh[]bP9fQmSoRr7sUzT}; Y$:epd0aQ"83 NB=k|l:!mH?9+*6+qQa2Q4Q3JutOti; %Vq5xTs%)7( G*+.1/Q f-PZ;: a4=9Q Z-g{Js'E|k\]Ny\a2,Q4LBar@>qpO+xnq E264.7P>QS;1(1>WFaeb E> * xO0qphC FuG<Io+uJKhTpQVtZr_qazdilnpsx@xz{|9} (ZY%! #' $u,/tK)^Kl*-$.1$0 '(w*2-345277Q )L  q!2?0<A;9D=F:@H6I;?Dv}KBOQT]-_aQ l&wn7<98Aq wgjGk]m-nQJL'&maj`MLSl oqfuzN{O|~#&x"p{g6Vx` ! '*.4:?@A1DEFXGN fO&YT;Y:[[p_ b;fhp7jRl3E!m(o|0r" wQ_Ft(XedSLy|~G54K[q qc`fihj^lmnQ FR-7F&asQLpZ:onWod}a  0OQ }|g%Q@Lq#=Hr%=aV"M#>R?$N&Iy4u~'QI>OJI'lFT?q-E{/Y.14|Ba&HGI6Q J*P\YX! 6vK){K9|AM.@<"q'$=J?QRE;GOIdJ/LGMaOSP[RSUR>3VT!&VLXWQ [Z"X76! UXeaf]W3_%{bQr@./$10I<+hajq_lFamQc) 54avl*yy{Q{'&! "%34"!mhqHuYwtx  4sv"y}~|y1{z R`3"${()4+, -G/<78Q92;?B;EQ -JOH>]\[q 7MO W Y!4xr %zyZu[:_pa}c~}_|KeQiT32Ju|JKO<N^azkSnQ TihUT7Xqv xU{V~  $  Qxz98=<A+5xA_"3qxsxwHv%E{#z%m &}1y2~M38:=]%@Az&CUKOPVW 1Y  [4]acfVi lSmzNoqUt w|k*- 2 { /,( /<Q 5V)0v]"+ Eq$%&M+Z,r>-O1C2W3<4)7!9 ;?EDF#:EI=JAK <;8M@QMRUXKYGO]0dFeLgR0IiQJlRm8pyq+sM%uLwmy7zJ8N|T<UV hVWSH\Y!U%}(~+|.Z/^1437^=`>"TGQ cyB7Rb_^QqvM OePaRbXl[m ^__j`nc9\ghkojDgk[l o+{q|w}"3 *6soxpuA]$z'w(*$+{.#2y7f8=| >I}KrLQtRNTFUYvZd?^\ c"Q a)m~EaSR)QQ aQz9&wq #+%,&n'G,Q KD}G5tcbq;0e7f:>=h?^h@BC DiFIHJpKF@MP|QkjR}TgmVUQW-Y [L3^cp/dkeQ lA6C.Lslq=*ilfoQmnowp? sotCvpxq{Zr|[}_std u  CvvwOuyI}?@Q E~[V }vq5 i Cyk5 GIFOKs!wONJM"P%l'A(nQx)S,RT/,4U5q7E9Q Jth{4G,rca Q Knkl! ^qR4q% =tB&>?@2TABVUCXJIMW]|(OQ;E(rM,sr;L3Ihr aNWKY]{\^Q [F2W Eaec_ B$e`fQ p89_hBayjnQ L X%$;8'/RaxQ oDP-WP0a }bW?Q fpZp A@u9,Wq7z4 &n"&I| }RVDW! "OaR&c*Pb,,B. /C0|23e3c5df>6 hg9A<!>C)D(LiNjPkR]S_:X l[ ^_2b]`kgma FodqLWkrtCjvJN[HI w;#JLG~ O"$N(G)M*P,Q-^5]:<_> }?@EeJgLfM3(TbNqU{Z[QI25>t5 |S/.q5FA /\h?4kInHrtKu}{~}LC9ZsaMNvKQ@P R"*#rS&Qo>*!F39s-p g`ie"@w'?Z7@adQ * 9m,g\- Dnq|h~-j@l.Cn/L45x6N8O=8DPEQFK7M:NM;tPfJR~SgW!XqY["\K65cd-gSh#kghl$dn8r%tvCx.~i& 5'(u)k,jykjfgl -#$Q mVV^/ZPSF q x&(f&)5'<*Q (C#d;>[^eq,.nnyP /+:^<mB?Ai BW N%J\]Q  4]\98=@Q fudk_H 4q*K2EFMHLIO`J5M OgQPR Q)SRWVTX[W\X]ZY\`[b]gQ a,\!q4klqmrnvpzruo{sq 4 Ltzuv w!hx#P$%L&H*>`+sF3Q A Bwr,+q_J8eeI;f< >dA9BJVZ\ e! f"p'9%q)x.+ z*-(9608 7E&:'C+@,=A/>0?@2;3B7D:9BLCGKKINHPJ QM]4_Q`PRbOeQ 126(#"ihon+q:<lTnXtUMv[~ZY./F&\ , #1H Z   "$%&'7+[,$-%.'W//0U3577>WA9D$F;G=?B\D JKTZn [fCklmp}ros yG P` (6)+v-ABKO PZ]LbDf` lopl q". #  % $&'") (,4Q!Qu@98qtT*a(7Q -e*ML%$utqT9A>fC@DF+GKAM5BNCOFPUGQHTIUMV^N ]P_QR{U t`V|X}\^[dglmqrwtyn}my[x Z S* *A   3 j  i"U#Vv$-w.xe/t02s3q4_5 ;<EGNO0PQVFk[S B^_ce0gqhjmnrswm~n-o~u73"mCT4Cs a&X j(c a0 +5 9Gva (05;EM^nG`RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniGB-UCS2-Ha VW~[?>HRFPiBD= @A 32   RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!A^J vG98< & QZ 1&#b W e-7vO@mjT  z !<%e {tg   9  7 IA"D J59A!/&6XYOH}r: .B)}IxARS{  QV/B@r- ;]a l IZ.-:*+& C)VC9 5;pz g`}<1^ u/6(a6i#UXKpDm;M${ I$|j=z!jf%: H~]NZhMM<;@Rc:jM)kbr7&%HC9c>|}qzeKqZ$ }H9S8tTml5(_U`i(F}3fvU4 D9UFB8 "Fkw5d;VQ Cj{qgnX5*`A0g~# Z* _AOpfAOc W:+j _AOfp QO=p 76CBAODY[" 5Q OiP{nM:"! 7)AOS 8EAOťHRMAOQ OכLe,QPOr NKDSAOrZ)AOE=NAO6omQ P bPWsXsrKfYAPeZtw=6 Q P%Y|2A+P:OH)v!"+$EZ GPt #7lIjP}|-0o^1 67-API*_6 ^1h?+_V7<s;$SL%A P;e ;X Q` "#,Q Q27610 n)8AQ@sA QV  1 t=| AQretQQ?8@ O1\8Au4}|aAQQDa><dAQReAQSQQh<'Zzff9>uHkBk> 6A Q0]a`&|o A Qz; n+*SRAQ;Q QMZ 4F hSAQr>OQQė$sr~#":: [Z}AQ۔&rk9xQQTe5p&+o G&`i!xnCARs2~#{o)*HlK3;8MARnAR sQ R(i:WVmQARQQ RսMuCTlutuIIARW x1Yb 0nm3EUBa!nV:=< `AR2`%F4ONARd#.   Q S>NU.srS~ wQ SN?pTNKf(,QSZpjQP3V;Q:ng=O /.7Q Snjo$)t N/j%HZ9A Sa+H:U~Nd1TQASAAS6Q S~ +fBq`!.W0AS49Y Jj$-%xlMZSASySbQASO QSߧm whDbU30OfH~[PbIl:0W]TQTm'&kpx[ZU,4);-h&V@~2UQ T,() -@s*w$A TC     A TG   Q TGJ_LO^;q8A TER/-qQ TgsV632G AT9QT%u1iFFGFEZkA'T̪'S|-UZ MV/o(t?Ejyr.po,:G ISA@  CPATG"HA TC"Q U*}t Q ,AUO' LAUT Q U{ZGLYB%AUta{N#4]\A,#AU [iAU%  Q UR2]xyx)(UTEDAUĪj}j)gAUXN#AUE QU!X_Jihml3t RC3AUk #1b kjuz ?<%,AUr"  WAUW   QV, rS0gA>YN Sl[AV?AVL & AV@{ Q V`p@V>{i:YQ Vo,PDED98},NAVvV FAV $AVnoz`QI JE e<omQ Vژq> O|g6?FAV} ZAVI{>WVAVaQ WsL&s4BbAA!WWm@Q`KPEPr!?kk*EbN!6 @kAWFAWv Q Wd'&S 12ZSRUAWwM #4b OAWAWs:QWCC#8MBIH~A*W> RY$/$o-W'{ v{=X>(A W*? > StAWK.  Q XJc*f A6A,XX}/.mrq^1O:BGGuCB cJteV==K&0gQZE@YAXW Ne0)^'2>y M</PXy K\AXc=(.    QY"tCF_^/)EAY4hD5]GI{)M%fS_aNM B{'*qAY>|*<{QA Y;E Q Yugfz=+*:AjYw]hN( oU<{sh UBS?1FAE ;e,s `TsA{nO%PErH~%2 _zd 12 e LY^; $    u.B _^WB  GFAY-#]$cT9'  - 0?0AYv!&$ " ~F* 0 (Q[P0 tu)\>tw} AA [b9-2Ko8T?NI\A[kZ A[r<Q[}XTYSD'zEneIe.A[!Q[1498- d}r`x<%V;7A[I ({dOId}7f7Aqg E~A[3A[X Q[ݘ[?x tuM:' =_wvuA[jPFBy$cA[ 'A[yQ\BB3~4.MC(_Q \:n;\CByx'YA \"6(=(GyxQ \7\3~BEi`Y!;A\E A\HyZ7cL$A\PhQ \^ :q FKvyzmAb\ntmR7e> t5<32|  qd{lely1(d' T :vO@;^\ &G 2    _ HU` J$s <cReT7KA\l>4QRd%x4 k`#0 A, ;'Vx]A\m.&:  3J $" 4 Q ]wsVIS)zA^ gjQ ^ =~)H{YA^&{H EN;ZV!mA ^%C5! :|m%$A^,Y  Q^rD.j54OjwF'ohA^ v?[pzQ^=Q86?6'vS;u.ON{QA"^5]FK#60  OL  Q9S5f%IJU5]]jA^`3Ljqt&dA^ 4B Q _T;:#")(sA _zPFXiQ _-pj#"/.gfiA_9V`w^ Q_Lled32uaT5,A_i{ UA _]T2+u\AjA_cQ _*Zb_K(e! ;PhA+_7nF<'&srHdR.T: )!.en=B+*EV|A_E IbA_Q _ O:!l A`8X1y`p_Bt8@ P#U3zv W&A` Y   tglcbA`\%( Q `gw?Ta$ }cA `s__ZKG "R5hSA `z_   A`wQ`:kj+0mf{A`l / 1dQ `جo432o2:) `Q`Lw0<_'hT#ZJG<4cA`"d-A 2q Za*%} yi$WB5*k:A9`98; d( t qL  >^[IyR\ g6@^+By0`f[):675 ]Q oAa] #6  &%.Q av[0[Z=}Qby8zE?dmdYA /d9J|Q b|MQ b*)FSR98AYjAb7<A"GjV]`'1Dp$yDAb=tAbBQ bf!"r3L5lggPA bsmJN{r; Ab~sAb}6Q b]G;e jGjAbf* Q2 zUL&.+PAb<AbIQbS_>hiJC*OsA bS`{CW^qf&AcNAcoQ c>IQG\YYA$c(/ Dx[ . I#Ti2@m5rZ)q:2xf6uDeAc>Q)kHkgAc)  Q c&9rR%$_W:kAc;=QczogTIHI"+6yrwAcWhQ c?o+*~ml AGcĩWA4Y 0$cu^E,UV9RRyah b5QSy<gqB.b2 P: ) d OL:p;gAcO KH C_|i . g1AcW       Qd *59~l76IB-,QdgudmzA|I>EZQ dʾgkt~-,AdשpB@OQ dޛH\ eAe Ad "dEnqH&YPOAd Q elA@gfy^ed{Ae%t+*u g|9xyAe"Yu$g8HAe-# Q eUg?J=<}AebM  Q epj_>ybAe7apaQ eA/h98WV5Ae> Q e@sB'& C:}7Ag~>Z*8Ag|b Ag}Q getn/. pQgwbZ{vGm2wvczA gO ? dr.DAgm  Ag Q gذeWF9F10 Ag0^\Po >Agg " AgA QhEyorL;!ZkA h{7<#2? AQhSA kR9(Ak@'Akm Q l AK@/k)X a"AlrQlVETO@SEJ4uFj@CBIvAl8%;2yyL1!X1{jX/"K5|GAlJ" AlH Q l\hY! Al'KDrsu&3Qlj EK#$EN3e(l/OAl ;435t){#"F5"t_V1vgA l;  AlNQ l:lh {fQ ljegG&XwA m +3GI@5_+A mE    Am t   QmA@$#"Ig h"cwX',/KJAmY)NMqp5j]hU)M$+Amy\ Am[&0Qm!B &54kH]E o-^Amj{&;L*'6fidqn? X| )^JI5DAm^AmbQ m'_^[:C`y:)@A2nbzoZUX16mT%gl tI2Ak:;6.Xnq: -+g/r]3OAn&sxre&An  &,DQ nR.evQPkAnJS@An 8HAnoQ nˤ)&to{hqp $sAnڎOQ nޣLT34ILA n/:b$s\ wrA nK ]9.Sa4An  ,Q o)[${b?>3@#A'o6Y X- ]BLkjg O)jS d     !]A'o8TD % 6kz+Q:Oz 5b J+lYz*  !Ao71   "* H` Q pYR94a`3Ap#(cd QRu~|}^bs{; Of  Ap'X*>C g6" Ew4McAp1R,$Q pS}xoar#"A pI toHDm}@dyApR Ap* Q pKtmz =Q#(HeA"p]M V Je$ & sij.clvu8"Z? u pPF#ZA6pzG,h h s8'Lk  \g(/( = <_Xe}jifc:# ' FApO*3N &* )60 Q r5#a+pZ?+ArGK5*BQ rVk8 5>KJ mli?A)rfEC2#+Bl  uJ54AAoj',Q^<BAr}Lf _4A rhP#(.Q r\_tCq4A#r~SG UN |e~s.@UZ j 6Ar6s8nB-+As(Q shR0+Cn-Q su+97n%B0.765A/sI1HabS@ ;>l3ln  a"./0 x}}N@\  3As@A sy. $Q t%2lkjutihmlqA t3n1uJj*{ DQ tU< .Atp>P oAtc]wW 67   & / " g`#,At# 5RQ tdonon95H"9At\LM%p{xd(!xyAu %Atx$ Qu((~u$`QeVI0r+*WS(OmA uENRm'@A} s~ \Au>D "!deWV Au?" %.Q u, lmlm'c(Q udnU`oFA ufi$xyC[9Aue AucQ u¶n o@AuͶpQ uҠ "Os8sZAuޗEQ uj   QBAu{LAux bo   Av Qv2En!"5l\M5R,#Av0 C:Q v;3[:+6{5AvL4AvI1A,1vAvH( Q vbo>Kd KAvxHA ~  MV9@ YOTOAvo."  yh i ,lMAvF 0 Q v͵ ?I`gfoATAvۚ9Q vn=ZwZMf{A9v"l_ Gi8@10 /Gt=q(EM5r: ) _^ wC fXx/2)lAwO+9uAv   !,9LQ wRPqp$->Aw\h cAwurs [-Aw QwOyxA@) !+hA#wF yf", )+p~w z?txdc8 9l O6 a CIJ3Aw"   lYZ Oq Aw. * Q x[h=<A!x7-Z= 8 5D{lQ X8s' l-pd ; /\~* A5xd=>?^ A 8?,-49,+(+Mv+7   <j ) 23&G]Ax5H $: 5NQ yR"je/?y6GAyƍLO P8'BAyնAyʁSQyOX!?>/OA y&L10 ;6.y<mAz$  R +Ays Q z7(hmlZy,AzF%t`GxA zL$w*I~B#Azj@ Q z,^a@yx~cbcA zL<DY_piAz Az\Q z0}x56AzG 9 Jmti`aM JQg }|Az%& x,1}N uI   A zƁt$  Q {$t7. _lA{:V^ ;*A{1q +A{25 Q{OAv~5F)(ED#"#2A {wwG" I< G$1@A{`~DK t   VCA{aN  Q {Ľo<  WVQ+A#{ӔOou \:/3 6%t0UD mfvt h4ESmh M /xslEA6{ѹ%s  NK^8 Zgs&U6i0]I6z 3  4sNA{ҁ& ((>(: "* Q |uJpCByxEDafxmQ |H$A@~# &A} O*Q }# '&/9sPA} M<OLM>rA'}!szh  +Rto jypv>teD3YP=v+-lxQT!A };w "  Q }EbKQ6CddA/}_0 }1(Y^  v?*id-3 ynu^X 9< an;H {n )W ]A}&A }J !2Q~1;( LK 549A~ANA!~ERM Rgz35 v'UVA$gJ/jm>]$A~S& "Q ~SIHcb;:/-Q~@X(,v'.[3.R9sOiA~ʇxA~gH ;vJA~[ Q~͚@5 It`nkS2./OQ ~$R} IPLLb1A~Eb-wVB/]Fu{#A~o A~\QO!ZIf m*=A( EQQnr$ Qbhm8vEH(NG|JIALbnA 7`  Q b>?>on54A\&rEgp+6u+\A)? ~Rqcl@ADXY 9`   r sxA !  " Q 0h545-,%WAN}~;<Gve}n6lTVA,BA!l Q R\N#";:_^{A^ yQ oo N+OX/A}y5Q U^?LGF/mAqQotK8OD{I,9UQ Z4tug.*{' wAyQ k  LQcqppaÄJQ ֗V C:A1v2QY\/2nK@WVA+L_rcQ #5%.O@"GF`A/'4 A  NA0oQFFpSRKF.R=<14WAV@A`VQ eeVa`sr_xYlAy4"}Hy vB # ? A t: #<<y P_A  Q AX %4AS^W.Aa n>AƠcve25*S9Rwn n/4mAˁD Q f}]lE:A}$_DAbAj Q (0 x~y/:A5%] P#UDR!  WVqvA82 LMd/7d)V^A:{ & Q xd &;0  A j{jonuQ4J%$!{?HYJevA@A t+  fA"A< Q ͉Fkt)4b5:Q ےNp %1"kEA tT $yxQ \{WCtAB$/ATm/A  ./<3A _Q+(ur%$-,K T7AFR]!/A@%AH~ Q] W%j/q^78snAo0ah  !b>K8 YL-*A+ Y jA&Q 4mqtip\]7A3^-(ZHQ(  sxYj/7Xk Xk`B4 6}<?0CB YZsliA ML!2z}tiA Ɓ; !( Gf Qindcf\! }|;Ldot{A :^U^gL OOAM A2 *Q R.iQ85#A1ğ9  "Tg .  !%>}m nT w/<   )A˾" 8 d =c.;L% '2! (9bH Á\   $  Q *boD(?>IA%  %*5<_/hSTuK@| IJ kB.  opA"M ^sjnc" :` - 1< ? } 2e cFf+tmA W$ 02D*Q y,;SAR#(& Bs4@8{ d:;q<A'z        |z{A Q z0p%$_JSR_^]A!%l+r3W-0qs>z  yR)'&IA[".    lg j{T[0*3 LrO  *%Tu8 (%.- %s X{()x _923Xp#0!EA$S(6!. "   $ Q hV xW!v?>AwS0AQ })() v MfA8b@=jGly+d xEz% I2Q1kS @ |fA@) 2,&U# ^]xo  A6" &2  Q 09T2wHGFQADRT A;]5r'"slwFYZQ2lI"b1([AeIQ }u,<Aґ4(AֺW;m)Á Q ~pp ! 'AHAjn/'-E{"gXz$KI uYX[?.\?A 6 Q i, wvt?nL}AySai)A |p6 A{ Q = f$K OpUA\O_AGvSNAQ ilGFon]\QPQ+A`3.A / o^A݁+Q}08~gf! _l]LLLA WTiQ u5(s|[NkAf^RA!OZ aSz WPIH[I&j[ "]{:A'S/H8TQ 6'&)=#d%Q )v}"#KdUQ qVK&VUu, xQė_HoBKmv#(}Aډt mnA՚kSA֦&qt#,x+Q'ꁖ1k\P4[Zml4X {mfb2)(?>[@]L;J9({A"La`QR}JQA@:6Ct! @6;`hJ\AGv"# Q ~  Lgg*+kfi`A3l|Q"83 NB=k|l:!mH?9+*6+qQA2/AQ3JutOti; %VA 3I<j@z-A5A*Q f-PZ;: A=Q Z-g{Js'E|k\]Ny\Q4LBar@>qpO+xnAG6?SWfmwmQS;1(1>WFaeb E> * xO0A k ^#W O/\R? pqO| 5|S$X?vJOBA"mu  DJw9  / 1,FEA lFLf Q )L  AD6;8A40ipM VWACHQ l&wn7<98AAzTGUQJL'&maj`MLSl oA&Gh-rA7gjEH/ kVc>=NV" knMP~%8p =@E@W^KiPs4?"6sYbA z5H)< /:Q_Ft(XedSLy|~G54K[A t`#"JQ FR-7F&QLpZ:onWod}A&:Q }|g%Q@LAHAd.K jvwvhu^ oA=AÁ QI>OJI'lFT?A YWNz1uC;AEA{Q J*P\YX! 6vK){K9|AM.@<"A&J ! ]=/.Wbq@DkTA2;.+1NA7I Q [Z"X76! UXeAhW6*Qr@./$10I<+hAq%MKQc) 54Al%acQ{'&! "%34"!mhA!u9:WL|),na p[ZALf !"AWX3h>-A Ɓ   Q -JOH>]\[A9 -Zwa>'=VA: SAGY QiT32Ju|JKO<N^ASQ TihUT7XAVZAA  zQ#Qxz98=<A+5xA_"3A܍% ADx_Zmwj  ct _g:V# j& 72#5<'*lu3&whAf!(ow\x 9Dg@Aց  &*"0 Q 5V)0v]"+ EA'MQG7u x_` mk.-^5b Lf {h yO $%%. J]. bA)% 05 :C,;6    E0 >m$%.    PIA+"    , Q cyB7Rb_^QA S|A>  72[nDy(D e  + x 9H1>i`F;f1*''P QPUVMO,%48} AO("*  Q a)m~EA|SdQ aQz9&wA+rsrq0Q KD}G5tcbAܜ^m2EaYd |x#]Rub6U }L#|Aص>  Aρe   Q lA6C.LslA-fB~Zgzsy; Bb 'd0 A,lBM>YXA 3n   Q E~[V }vAiMKg(xov1. 'D34y&PI&Ay!HA Q Jth{4G,rcQ Knkl! ^qR4A'{F!IBu~<.YAA= Q;E(rM,sr;L3Ihr APK"Eg6y  o8V ,A4ɶ>0%g 1cX]@= BC>9 %T w 2/ hg%!{HA$$$"  QI25>t5 |S/.AAo7XD 2#jO0%((=qA IA%t ( Qo>*!F39s-p g`ie"@w'?Z7@Q * 9m,g\- DnA ~#[{|&} OF0mTA7.AU/. /rLDIjaX/+|5A9vg&XP+ dSbgvw!A.     1D Q mVV^/ZPSF Az~ibWQ (C#d;>[^eA~SA +(}F %B{nAA 4Q  4]\98=TW,Aja Q $3B(FI/ j) Y 4 U^{i`CBE&  %6 gji8. 56'& EAS~,    ;4  Cj0'>"Q!Qu@98qtT*Q -e*ML%$utA=fpp[H7O" |kZm075Un X52.T wAp XZF ZYAU>C  P*G_N=JZ <Q@EXa,sNS6>C)ED Gt I  ^HN#E;GHU v#3>A%@@  ",(  $ Ht C@܇ B0m$g90 RaYyfwv-ASAlQ?Da, ^ %6FZaHmo#, z$:;p f R>dKb4`s}q{)Rd U7$EJLNPa>TRE +( (G7QIE\ oem ,xZ1hD7#HLq\Nvmj5 j(Uv,x=f(?hVZ]|^M( 1V>rq 6G7rAC&H gR\GeMsv&+-8| f!=URVZW\`f jlpsvx{  `iGtQ?z" J!&+4< /K;>`,24%!*H@Bcfjn s%OT{z-# U  #', 07:@DFKMRWY[^e imptx}    !zSJWNd hjln*7; #,.a;@FJMO']8 %'/37>ADJ7 ADGK Q V}4yV@Foaya\)a}:a vF/%4/2sOShHAfFLa;a;3$ )CKNUX_fnrv~ "$&)+158:ACGJMPSY[`fi nptwz~  %' *7 <>CGJLOR[`cg isw~  # *57?AEGMOVY]_bgjos{  $/579>AGIORVY\_cguz}   "% +07<ADF IMSY_agmsz~  !(*/7?ADK NZ\ `mo #).57:<> GJL OVZ]_adjrtw~    $.46:=CJLOS Z\_d jnqw~    &(0279<?BDFHKMPR UXZ]`behmru}  #(*-35=@EH MSUY^afjlorz|  ",37<>DHKNTW[`ilox }  "$+ .0247:> FJLNRUZacf kptxz~  &+-027 <@LN TXZ^adinpv{} "%,/3;?BEMVX\_k qt {   $*,1358 >ACG MVY\ dg mtvz $'*.39;ACJLNPTX]acfjlnrv{  '*,1359;>@EGKP Y[_adgkmsvx }   (2 8:=?BKSUZ]dkn v   #(*-2 5@HLOSUX_bfjm t  !)+-0258:>@ FIOQ S_acehlux~ !),27<?ACHJLPX\ ^iprux|  %4;DJNPTX]acfn pz   $) 048:<>CEHJNPV Z_gjnquz  "%-/2 68:<AHJOSWZ\_cfmoqux}  !#%(,.058;>FHJLNTWZ^cgjn sv{ %+- /: <JNPU[_adf mpu |~   #) /28<@CEHKPX\^bdlpsux| %'27:>A FHKSUX\`gjmoswy}    '+-26?B IMPSU^cgmqy } "%(-/5:>ACHORX[_bfkortvz   %14 7>AE MQUWY\^`giltvz  " $&*038;=?CEILNUX\d n tw{}   %(/4:= AMQSW`f motw  %* -9=?EN P\`c mty #'),048:=FKNPS Z ^ dfh ln uw |  " &)+37<ACHJLOQS\ehlprv z|    "'+/6:=DLNR T`cflnsy ~  ),/39;CHJLO SW^`ekov z  !$'+.19<?ADFHJMPX\aeknrt{  #%) + 5@BG OQUXZ\bjqtwy~    %*,1:AEI PTWY] cgilp v    $&*- 36=ELOSY[`cgmoswz}  "$'*-39=CLN P\a iwy|  #&*-/468 >FHN Y_a ehlorx} !),14=@B GKOQSY[`cejmqy}   '+.18:?ADLQSW~bjrv{  "&,158>BDJMOU[_c gim quy{}    "(. 46 :? GIQSUWY^ `mptx  #*,.19 @BFOSUZ_hl t|~  #%( .26:>@BG KNRTX ]ad fpwz| !$',068<?AGKNQUZ]bekntw{~  '.48;= ANQ VX]`bil r ~ '+.16:>ACHKM UXZ`bhkrx  #'*/369<A DP R_agimqs z !&(*.048<?DFH QTW[]_adfmpw} $&+.279?ACJNQWY\_bfipt x " (- 247;>CIPSX\`bdgjloqs{~  ').0 2@FJNPRZ_aehknvz~ !&- 48<@DFILORTYacegik psuw|~   %(,158@BF LOTV[` dnrz  !%4=ACFJNT[bfmosz}%+/ 496>CGIKTVZ_adilpx}  $(*-57 ?ADFIKOQT]_a gknu|~!'*.4:AGOTY[_bfhjmor wA  $'-/146=?EGJMPRW ]_bjmvy{  "$)-/9;?BE MOW [_acekn vx{~  # &38:=ACKPWY[]acfimoqtw|   $&-479 ;FKMRUY]egimqsuwz !%(+/137>G MPRX[`cg l o} $(+.28 >ILRUZ\Nfwy   "%),/579;CJMOWY\^ cf jn x }"&*,0369<>DLNPSX[_bkmortv  "$*-5:<?EJMU[hknru{} #&:/68=FKNPS Y\dhlnrtvx~  &* /:<? B N] cm p~#(.25;=@C#KMQW]`bg krv{  !&+3 8<>BVZ\ fqx z',037:CKN Q]`be lntv   " '$0579;=?BDKT [fmps y  )+-BK PZ]bfl q   ,4!>C I NRVX\^dgmrty}  $05<EGQV[_cehjnsw~  5/ K!O(  +5 9Ga." $. 0<>AEG J(X?{~osHF*H sa5a5` ~ da7|a8|a9|T_i IWrwa:t ja;Mv0Da<muasa?sa@Us(IaA^rQaBqaC6qs(aC* !KUmaD(ClaFKl8LaG"j QdqtaHfa IFf1-_afz}G[aK[aLv[aLx&R[yUhaM|Jaaaa a6RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniGB-UTF16-HA VZ16m1 :32   a0HRFPpD@RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE#C^J vG98< & QZ 1&#b W e-7vO@mjT  z !<%e {tg   9  7 IA"D J59C!/&6XYOH}r: .B)}IxCRS{  SV/B@r- ;]a l IZ.-:*+& C)VC9 5;pz g`}<1^ u/6(a6i#UXKpDm;M${ I$|j=z!jf%: H~]NZhMM<;@Rc:jM)kbr7&%HC9c>|}qzeKqZ$ }H9S8tTml5(_U`i(F}3fvU4 D9UFB8 "Fkw5d;VQ Cj{qgnX5*`C0g~# Z* _COpfCOc W:+j _COfp SO=p 76CBCODY[" 5S OiP{nM:"! 7)COS 8ECOťHRMCOS OכLe,QPOr NKDSCOrZ)COE=NCO6omS P bPWsXsrKfYCPeZtw=6 S P%Y|2C+P:OH)v!"+$EZ GPt #7lIjP}|-0o^1 67-CPI*_6 ^1h?+_V7<s;$SL%C P;e ;X Q` "#,S Q27610 n)8CQ@sC QV  1 t=| CQretSQ?8@ O1\8Au4}|aCQQDa><dCQReCQSSQh<'Zzff9>uHkBk> 6C Q0]a`&|o C Qz; n+*SRCQ;S QMZ 4F hSCQr>OSQė$sr~#":: [Z}CQ۔&rk9xSQTe5p&+o G&`i!xnCCRs2~#{o)*HlK3;8MCRnCR sS R(i:WVmQCRQS RսMuCTlutuIICRW x1Yb 0nm3EUBa!nV:=< `CR2`%F4ONCRd#.   S S>NU.srS~ wS SN?pTNKf(,SSZpjQP3V;Q:ng=O /.7S Snjo$)t N/j%HZ9C Sa+H:U~Nd1TQCSACS6S S~ +fBq`!.W0CS49Y Jj$-%xlMZSCSySbQCSO SSߧm whDbU30OfH~[PbIl:0W]TSTm'&kpx[ZU,4);-h&V@~2US T,() -@s*w$C TC     C TG   S TGJ_LO^;q8C TER/-qS TgsV632G CT9ST%u1iFFGFEZkC'T̪'S|-UZ MV/o(t?Ejyr.po,:G ISA@  CPCTG"HC TC"S U*}t Q ,CUO' LCUT S U{ZGLYB%CUta{N#4]\A,#CU [iCU%  S UR2]xyx)(UTEDCUĪj}j)gCUXN#CUE SU!X_Jihml3t RC3CUk #1b kjuz ?<%,CUr"  WCUW   SV, rS0gA>YN Sl[CV?CVL & CV@{ S V`p@V>{i:YS Vo,PDED98},NCVvV FCV $CVnoz`QI JE e<omS Vژq> O|g6?FCV} ZCVI{>WVCVaS WsL&s4BbAC!WWm@Q`KPEPr!?kk*EbN!6 @kCWFCWv S Wd'&S 12ZSRUCWwM #4b OCWCWs:SWCC#8MBIH~C*W> RY$/$o-W'{ v{=X>(C W*? > StCWK.  S XJc*f A6C,XX}/.mrq^1O:BGGuCB cJteV==K&0gQZE@YCXW Ne0)^'2>y M</PXy K\CXc=(.    SY"tCF_^/)ECY4hD5]GI{)M%fS_aNM B{'*qCY>|*<{QC Y;E S Yugfz=+*:CjYw]hN( oU<{sh UBS?1FAE ;e,s `TsA{nO%PErH~%2 _zd 12 e LY^; $    u.B _^WB  GFCY-#]$cT9'  - 0?0CYv!&$ " ~F* 0 (S[P0 tu)\>tw} AC [b9-2Ko8T?NI\C[kZ C[r<S[}XTYSD'zEneIe.C[!S[1498- d}r`x<%V;7C[I ({dOId}7f7Aqg E~C[3C[X S[ݘ[?x tuM:' =_wvuC[jPFBy$cC[ 'C[yS\BB3~4.MC(_S \:n;\CByx'YC \"6(=(GyxS \7\3~BEi`Y!;C\E C\HyZ7cL$C\PhS \^ :q FKvyzmCb\ntmR7e> t5<32|  qd{lely1(d' T :vO@;^\ &G 2    _ HU` J$s <cReT7KC\l>4QRd%x4 k`#0 A, ;'Vx]C\m.&:  3J $" 4 S ]wsVIS)zC^ gjS ^ =~)H{YC^&{H EN;ZV!mC ^%C5! :|m%$C^,Y  S^rD.j54OjwF'ohC^ v?[pzS^=Q86?6'vS;u.ON{QC"^5]FK#60  OL  Q9S5f%IJU5]]jC^`3Ljqt&dC^ 4B S _T;:#")(sC _zPFXiS _-pj#"/.gfiC_9V`w^ S_Lled32uaT5,C_i{ UC _]T2+u\AjC_cS _*Zb_K(e! ;PhC+_7nF<'&srHdR.T: )!.en=B+*EV|C_E IbC_S _ O:!l C`8X1y`p_Bt8@ P#U3zv W&C` Y   tglcbC`\%( S `gw?Ta$ }cC `s__ZKG "R5hSC `z_   C`wS`:kj+0mf{C`l / 1dS `جo432o2:) `S`Lw0<_'hT#ZJG<4cC`"d-A 2q Za*%} yi$WB5*k:C9`98; d( t qL  >^[IyR\ g6@^+By0`f[):675 ]Q oCa] #6  &%.S av[0[Z=}Sby8zE?dmdYA /d9J|S b|MS b*)FSR98AYjCb7<A"GjV]`'1Dp$yDCb=tCbBS bf!"r3L5lggPC bsmJN{r; Cb~sCb}6S b]G;e jGjCbf* Q2 zUL&.+PCb<CbISbS_>hiJC*OsC bS`{CW^qf&CcNCcoS c>IQG\YYC$c(/ Dx[ . I#Ti2@m5rZ)q:2xf6uDeCc>Q)kHkgCc)  S c&9rR%$_W:kCc;=SczogTIHI"+6yrwCcWhS c?o+*~ml CGcĩWA4Y 0$cu^E,UV9RRyah b5QSy<gqB.b2 P: ) d OL:p;gCcO KH C_|i . g1CcW       Sd *59~l76IB-,SdgudmzA|I>EZS dʾgkt~-,CdשpB@OS dޛH\ eCe Cd "dEnqH&YPOCd S elA@gfy^ed{Ce%t+*u g|9xyCe"Yu$g8HCe-# S eUg?J=<}CebM  S epj_>ybCe7apaS eA/h98WV5Ce> S e@sB'& C:}7Cg~>Z*8Cg|b Cg}S getn/. pSgwbZ{vGm2wvczC gO ? dr.DCgm  Cg S gذeWF9F10 Cg0^\Po >Cgg " CgA ShEyorL;!ZkC h{7<#2? AShSC kR9(Ck@'Ckm S l AK@/k)X a"ClrSlVETO@SEJ4uFj@CBIvCl8%;2yyL1!X1{jX/"K5|GClJ" ClH S l\hY! Cl'KDrsu&3Slj EK#$EN3e(l/OCl ;435t){#"F5"t_V1vgC l;  ClNS l:lh {fS ljegG&XwC m +3GI@5_+C mE    Cm t   SmA@$#"Ig h"cwX',/KJCmY)NMqp5j]hU)M$+Cmy\ Cm[&0Sm!B &54kH]E o-^Cmj{&;L*'6fidqn? X| )^JI5DCm^CmbS m'_^[:C`y:)@C2nbzoZUX16mT%gl tI2Ak:;6.Xnq: -+g/r]3OCn&sxre&Cn  &,DS nR.evQPkCnJS@Cn 8HCnoS nˤ)&to{hqp $sCnڎOS nޣLT34ILC n/:b$s\ wrC nK ]9.Sa4Cn  ,S o)[${b?>3@#C'o6Y X- ]BLkjg O)jS d     !]C'o8TD % 6kz+Q:Oz 5b J+lYz*  !Co71   "* H` S pYR94a`3Cp#(cd QRu~|}^bs{; Of  Cp'X*>C g6" Ew4McCp1R,$S pS}xoar#"C pI toHDm}@dyCpR Cp* S pKtmz =Q#(HeC"p]M V Je$ & sij.clvu8"Z? u pPF#ZC6pzG,h h s8'Lk  \g(/( = <_Xe}jifc:# ' FCpO*3N &* )60 S r5#a+pZ?+CrGK5*BS rVk8 5>KJ mli?C)rfEC2#+Bl  uJ54AAoj',Q^<BCr}Lf _4C rhP#(.S r\_tCq4C#r~SG UN |e~s.@UZ j 6Cr6s8nB-+Cs(S shR0+Cn-S su+97n%B0.765C/sI1HabS@ ;>l3ln  a"./0 x}}N@\  3Cs@C sy. $S t%2lkjutihmlqC t3n1uJj*{ DS tU< .Ctp>P oCtc]wW 67   & / " g`#,Ct# 5RS tdonon95H"9Ct\LM%p{xd(!xyCu %Ctx$ Su((~u$`QeVI0r+*WS(OmC uENRm'@A} s~ \Cu>D "!deWV Cu?" %.S u, lmlm'c(S udnU`oFC ufi$xyC[9Cue CucS u¶n o@CuͶpS uҠ "Os8sZCuޗES uj   QBCu{LCux bo   Cv Sv2En!"5l\M5R,#Cv0 C:S v;3[:+6{5CvL4CvI1A,1vCvH( S vbo>Kd KCvxHA ~  MV9@ YOTOCvo."  yh i ,lMCvF 0 S v͵ ?I`gfoATCvۚ9S vn=ZwZMf{C9v"l_ Gi8@10 /Gt=q(EM5r: ) _^ wC fXx/2)lCwO+9uCv   !,9LS wRPqp$->Cw\h cCwurs [-Cw SwOyxA@) !+hC#wF yf", )+p~w z?txdc8 9l O6 a CIJ3Cw"   lYZ Oq Cw. * S x[h=<C!x7-Z= 8 5D{lQ X8s' l-pd ; /\~* C5xd=>?^ A 8?,-49,+(+Mv+7   <j ) 23&G]Cx5H $: 5NS yR"je/?y6GCyƍLO P8'BCyնCyʁSSyOX!?>/OC y&L10 ;6.y<mCz$  R +Cys S z7(hmlZy,CzF%t`GxC zL$w*I~B#Czj@ S z,^a@yx~cbcC zL<DY_piCz Cz\S z0}x56CzG 9 Jmti`aM JQg }|Cz%& x,1}N uI   C zƁt$  S {$t7. _lC{:V^ ;*C{1q +C{25 S{OAv~5F)(ED#"#2C {wwG" I< G$1@C{`~DK t   VCC{aN  S {Ľo<  WVQ+C#{ӔOou \:/3 6%t0UD mfvt h4ESmh M /xslEC6{ѹ%s  NK^8 Zgs&U6i0]I6z 3  4sNC{ҁ& ((>(: "* S |uJpCByxEDafxmS |H$A@~# &C} O*S }# '&/9sPC} M<OLM>rC'}!szh  +Rto jypv>teD3YP=v+-lxQT!C };w "  S }EbKQ6CddC/}_0 }1(Y^  v?*id-3 ynu^X 9< an;H {n )W ]C}&C }J !2S~1;( LK 549C~ANC!~ERM Rgz35 v'UVA$gJ/jm>]$C~S& "S ~SIHcb;:/-S~@X(,v'.[3.R9sOiC~ʇxC~gH ;vJC~[ S~͚@5 It`nkS2./OS ~$R} IPLLb1C~Eb-wVB/]Fu{#C~o C~\SO!ZIf m*=C( EQQnr$ Qbhm8vEH(NG|JICLbnC 7`  S b>?>on54C\&rEgp+6u+\A)? ~Rqcl@CDXY 9`   r sxC !  " S 0h545-,%WCN}~;<Gve}n6lTVC,BC!l S R\N#";:_^{C^ yS oo N+OX/C}y5S U^?LGF/mCqSotK8OD{I,9US Z4tug.*{' wCyS k  LQcqppaC̈JS ֗V C:C1v2SY\/2nK@WVC+L_rcS #5%.O@"GF`C/'4 C  NC0oSFFpSRKF.R=<14WAV@C`VS eeVa`sr_xYlCy4"}Hy vB # ? C t: #<<y P_C  S AX %4AS^W.Ca n>CƠcve25*S9Rwn n/4mCˁD S f}]lE:C}$_DCbCj S (0 x~y/:C5%] P#UDR!  WVqvC82 LMd/7d)V^C:{ & S xd &;0  C j{jonuS4J%$!{?HYJevA@C t+  fC"C< S ͉Fkt)4b5:S ےNp %1"kEC tT $yxS \{WCtAB$/CTm/C  ./<3C _S+(ur%$-,K T7CFR]!/C@%CH~ S] W%j/q^78snCo0ah  !b>K8 YL-*C+ Y jC&S 4mqtip\]7C3^-(ZHQ(  sxYj/7Xk Xk`B4 6}<?0CB YZsliC ML!2z}tiC Ɓ; !( Gf Sindcf\! }|;Ldot{C :^U^gL OOCM C2 *S R.iQ85#C1ğ9  "Tg .  !%>}m nT w/<   )C˾" 8 d =c.;L% '2! (9bH Ć\   $  S *boD(?>IC%  %*5<_/hSTuK@| IJ kB.  opC"M ^sjnc" :` - 1< ? } 2e cFf+tmC W$ 02D*S y,;SCR#(& Bs4@8{ d:;q<C'z        |z{C S z0p%$_JSR_^]C!%l+r3W-0qs>z  yR)'&IC[".    lg j{T[0*3 LrO  *%Tu8 (%.- %s X{()x _923Xp#0!EC$S(6!. "   $ S hV xW!v?>CwS0AS })() v MfC8b@=jGly+d xEz% I2Q1kS @ |fC@) 2,&U# ^]xo  C6" &2  S 09T2wHGFQCDRT C;]5r'"slwFYZQ2lI"b1([CeIS }u,<Cґ4(CֺW;m)Ć S ~pp ! 'CHCjn/'-E{"gXz$KI uYX[?.\?C 6 S i, wvt?nL}CySai)C |p6 C{ S = f$K OpUC\O_CGvSNCS ilGFon]\QPQ+C`3.C / o^C݁+S}08~gf! _l]LLLC WTiS u5(s|[NkCf^RC!OZ aSz WPIH[I&j[ "]{:C'S/H8TS 6'&)=#d%S )v}"#KdUS qVK&VUu, xSė_HoBKmv#(}Cډt mnC՚kSC֦&qt#,x+S'ꁖ1k\P4[Zml4X {mfb2)(?>[@]L;J9({C"La`QR}JQA@:6Ct! @6;`hJ\CGv"# Q ~  Lgg*+kfi`C3l|S"83 NB=k|l:!mH?9+*6+qQC2/AS3JutOti; %VC 3I<j@z-C5C*S f-PZ;: C=S Z-g{Js'E|k\]Ny\S4LBar@>qpO+xnCG6?SWfmwmSS;1(1>WFaeb E> * xO0C k ^#W O/\R? pqO| 5|S$X?vJOBC"mu  DJw9  / 1,FEC lFLf S )L  CD6;8C40ipM VWCCHS l&wn7<98ACzTGUSJL'&maj`MLSl oC&Gh-rC7gjEH/ kVc>=NV" knMP~%8p =@E@W^KiPs4?"6sYbC z5H)< /:S_Ft(XedSLy|~G54K[C t`#"JS FR-7F&SLpZ:onWod}C&:S }|g%Q@LCHAd.K jvwvhu^ oC=CÁ SI>OJI'lFT?C YWNz1uC;CEC{S J*P\YX! 6vK){K9|AM.@<"C&J ! ]=/.Wbq@DkTC2;.+1NC7I S [Z"X76! UXeChW6*Sr@./$10I<+hCq%MKSc) 54Cl%acS{'&! "%34"!mhC!u9:WL|),na p[ZALf !"CWX3h>-C Ɓ   S -JOH>]\[C9 -Zwa>'=VC: SCGY SiT32Ju|JKO<N^CSS TihUT7XCVZCC  zQ#Sxz98=<A+5xA_"3C܍% CDx_Zmwj  ct _g:V# j& 72#5<'*lu3&whAf!(ow\x 9Dg@Cց  &*"0 S 5V)0v]"+ EC'MQG7u x_` mk.-^5b Lf {h yO $%%. J]. bC)% 05 :C,;6    E0 >m$%.    PIC+"    , S cyB7Rb_^QC S|C>  72[nDy(D e  + x 9H1>i`F;f1*''P QPUVMO,%48} CO("*  S a)m~EC|SdS aQz9&wC+rsrq0S KD}G5tcbCܜ^m2EaYd |x#]Rub6U }L#|Cص>  Cρe   S lA6C.LslC-fB~Zgzsy; Bb 'd0 C,lBM>YXC 3n   S E~[V }vCiMKg(xov1. 'D34y&PI&Cy!HC S Jth{4G,rcS Knkl! ^qR4C'{F!IBu~<.YCC= S;E(rM,sr;L3Ihr CPK"Eg6y  o8V ,C4ɶ>0%g 1cX]@= BC>9 %T w 2/ hg%!{HC$$$"  SI25>t5 |S/.CAo7XD 2#jO0%((=qC IC%t ( So>*!F39s-p g`ie"@w'?Z7@S * 9m,g\- DnC ~#[{|&} OF0mTC7.AU/. /rLDIjaX/+|5A9vg&XP+ dSbgvw!C.     1D S mVV^/ZPSF Cz~ibWS (C#d;>[^eC~SC +(}F %B{nCA 4S  4]\98=TW,Aja Q $3B(FI/ j) Y 4 U^{i`CBE&  %6 gji8. 56'& ECS~,    ;4  Cj0'>"S!Qu@98qtT*S -e*ML%$utC0=fpp[H7O vU |k8_m075U/&Z+52.T w^u90>0,90RaYyp5CY>C  P*G_N=JZ <Q@EXa,sNS6>C)ED Gt I  ^HN#E;GHU v#3>J.H 1CSC2@@  ",(  $ Ht 0D?DnBdKb4`s}q{)Rd U7$EJLNPc>TRE +( (G7QIE\ oem ,xZ1hD7#HLq\Nvmj5 j(Uv,x=f(?hVZ]|^M( 1V>rq 6G7rAC&H gR\GeMsv&+-8| f!=URVZW\`f jlpsvx{  `iGtQ?z" J!&+4< /K;>`,24%!*H@Bcfjn s%OT{z-# U  #', 07:@DFKMRWY[^e imptx}    !zSJWNd hjln*7; #,.a;@FJMO']8 %'/37>ADJ7 ADGK Q V}4yV@Focyc\)c}:c vF/%4/2sOShHAfFLc;c;3$ )CKNUX_fnrv~ "$&)+158:ACGJMPSY[`fi nptwz~  %' *7 <>CGJLOR[`cg isw~  # *57?AEGMOVY]_bgjos{  $/579>AGIORVY\_cguz}   "% +07<ADF IMSY_agmsz~  !(*/7?ADK NZ\ `mo #).57:<> GJL OVZ]_adjrtw~    $.46:=CJLOS Z\_d jnqw~    &(0279<?BDFHKMPR UXZ]`behmru}  #(*-35=@EH MSUY^afjlorz|  ",37<>DHKNTW[`ilox }  "$+ .0247:> FJLNRUZacf kptxz~  &+-027 <@LN TXZ^adinpv{} "%,/3;?BEMVX\_k qt {   $*,1358 >ACG MVY\ dg mtvz $'*.39;ACJLNPTX]acfjlnrv{  '*,1359;>@EGKP Y[_adgkmsvx }   (2 8:=?BKSUZ]dkn v   #(*-2 5@HLOSUX_bfjm t  !)+-0258:>@ FIOQ S_acehlux~ !),27<?ACHJLPX\ ^iprux|  %4;DJNPTX]acfn pz   $) 048:<>CEHJNPV Z_gjnquz  "%-/2 68:<AHJOSWZ\_cfmoqux}  !#%(,.058;>FHJLNTWZ^cgjn sv{ %+- /: <JNPU[_adf mpu |~   #) /28<@CEHKPX\^bdlpsux| %'27:>A FHKSUX\`gjmoswy}    '+-26?B IMPSU^cgmqy } "%(-/5:>ACHORX[_bfkortvz   %14 7>AE MQUWY\^`giltvz  " $&*038;=?CEILNUX\d n tw{}   %(/4:= AMQSW`f motw  %* -9=?EN P\`c mty #'),048:=FKNPS Z ^ dfh ln uw |  " &)+37<ACHJLOQS\ehlprv z|    "'+/6:=DLNR T`cflnsy ~  ),/39;CHJLO SW^`ekov z  !$'+.19<?ADFHJMPX\aeknrt{  #%) + 5@BG OQUXZ\bjqtwy~    %*,1:AEI PTWY] cgilp v    $&*- 36=ELOSY[`cgmoswz}  "$'*-39=CLN P\a iwy|  #&*-/468 >FHN Y_a ehlorx} !),14=@B GKOQSY[`cejmqy}   '+.18:?ADLQSW~bjrv{  "&,158>BDJMOU[_c gim quy{}    "(. 46 :? GIQSUWY^ `mptx  #*,.19 @BFOSUZ_hl t|~  #%( .26:>@BG KNRTX ]ad fpwz| !$',068<?AGKNQUZ]bekntw{~  '.48;= ANQ VX]`bil r ~ '+.16:>ACHKM UXZ`bhkrx  #'*/369<A DP R_agimqs z !&(*.048<?DFH QTW[]_adfmpw} $&+.279?ACJNQWY\_bfipt x " (- 247;>CIPSX\`bdgjloqs{~  ').0 2@FJNPRZ_aehknvz~ !&- 48<@DFILORTYacegik psuw|~   %(,158@BF LOTV[` dnrz  !%4=ACFJNT[bfmosz}%+/ 496>CGIKTVZ_adilpx}  $(*-57 ?ADFIKOQT]_a gknu|~!'*.4:AGOTY[_bfhjmor wA  $'-/146=?EGJMPRW ]_bjmvy{  "$)-/9;?BE MOW [_acekn vx{~  # &38:=ACKPWY[]acfimoqtw|   $&-479 ;FKMRUY]egimqsuwz !%(+/137>G MPRX[`cg l o} $(+.28 >ILRUZ\Nfwy   "%),/579;CJMOWY\^ cf jn x }"&*,0369<>DLNPSX[_bkmortv  "$*-5:<?EJMU[hknru{} #&:/68=FKNPS Y\dhlnrtvx~  &* /:<? B N] cm p~#(.25;=@C#KMQW]`bg krv{  !&+3 8<>BVZ\ fqx z',037:CKN Q]`be lntv   " '$0579;=?BDKT [fmps y  )+-BK PZ]bfl q   ,4!>C I NRVX\^dgmrty}  $05<EGQV[_cehjnsw~  5/ K!O(  +5 9Gc." $. 0<>AEG J(X?{~osHF*H sc5c5` ~ dc7|c8|c9|T_i IWrwc:t jc;Mv0Dc<mucsc?sc@Us(IcA^rQcBqcC6qs(cC* !KUmcD(ClcFKl8LcG"j QdqtcHfc IFf1-_afz}G[cK[cLv[cLx&R[yUhcM|Jcccc c6RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniGB-UTF32-HC VZ16m1 :32   c0HRFPpD@RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE??? A, J vG9_8< & QZ D1X&#b W e-wv@A©!o&A¥RB2ḿ7T  z a|}qzeKqZ$ }H9S8tTml5(_U`i(F}3fvU4 D9UFB8 "FkR⿀`5d;VQ Cj{qgnX5*`B〃g~# Z*|Q~tq!} b j5En5B.〿UT" 2L)+jo }`Zqut kxuPy2] j B䦄eR万# %^LP-1m c.K$TR 丢ip9bT gjhR丰~Pml on#)fxh38R乃.{z]d <9Sz`5 `\ PB 乜u8N9l)j;A 7B亂YB乲 R了~ty921w"x/B亘^tSyR亞q}9A(!aM*xB亲T`63Ep}R什IIxIkH/&?^w3R 仑Z!xyR 仝nkrFB 件qG)7N$3/B仨#+,3$pE/6M!^`_xB仩5AR 伞ZH#DQPN]\B伪@\R伯uF|CBKJWVmlEDExB佃I{R位J9$3dgfONorWZM > _B佰fB佣 W:+j _B佦p R侃=p 76CBB侔DY[" 5R 侣iP{nM:"! 7)B侵S C8EB俅HRMB係R 俗Le,QPOr NKDSB俩rZ)B俦E=NB俧6@omR 倉bPWsXsrKfYB倘eZtw=6 R 倥Y|2B+债OH)Dv!"+$EZ GPt #@7lIjP}|-0oS^1 67-B偉*_6`^1h?+_CV7<s;$SL%B倻eM {X Q` P#,R 儀27610 n)8B儒@sB 儐V  1 t=| B儑retR兀Y O1\8Au4}|aB兑Da><dB兒eB兓R全<'Zzff9>uHkBk> 6B 冀0]a`&|o B 冁z; n+*SRB冘;R 冯MZ 4F hSB冻r>BOR凄$sr~#":: [Z}B凛&rk9xR凫Te5p&+o G&`iB刀xnCq2~#{o)*HlK3;8MB刖nB刉sR 刨i:WVmQB勀QR 動MuCTlutuIIB勤W x1Yb@ 0nm3EUBa!nV:=< `B勢2`%FtONB勣dc.   R 區oU.srS~ wR 华?pTNKf(,R博pjQP3V;Q:ng=O /.7R 卮jo$)t N/j%HZ9B 卿aB+H:U~Nd1TQB厙AB厃6R 厝~ +fBq`!.W0B厮49AY Jj$-%xlMZSB厭ySbNQB厳OJR叟m whDbU30OfH~[PbIl:0W]TR吀m'&kpx[ZU,4);-h&V@~2UR 君,() -@s*Bw$B 呃    J B吺G  LR 咋GJ_LO^;q8B 咙ER/-qR 咫gsV632G B咸9Vu1R 哀2FFGFEZkB'哌'S|-UZ MV/o(t?Ejyr.po,:GA ISA@  CPB員GbHB 哖CA"R 唪}t Q ,RG>AIB%Mta{N#4]\A,#B問' L K[iB 唽|B P  R 喱R2]xyx)(UTEDB嗄j}j)gB嗆XN#B喿@H R嗚!X_Jihml3t RC3B嗯k #1bA kjuz ?<%,B嗶rO"  WB嗴W G  R嘬 rS0gA>YN Sl[B嘿B噌 & B噀{ R 噠p@V>{i:YR 噯,PDED98},NB嚎vVMFB嚅 dB嚀noz`QI JEI e<omR 囚q> O|g6?FB困} ZB囫I{>WVB囬aR 圃sL&s4BbAB!圜Wm@Q`KPEAPr!?kk*EbN!6 @kB園FB圗vA R 坤'&S 12ZSRUB坷MJ#4b OB型B坳:HR垠CC#8MBIH~B*垲>IRY$/$o-W'B{ v{=X>N(B 埡*?M > StB垳K_. R R 塊c*f A6B,塘}/.mArq^1O:BGGuDCB cJteV==K&H0gQZE@YB塗 Ne0P)^'2>yH M</PXy K\B塣=(B.@  U  R夢tCF_^/)EB头hR 夷K5]GH-,B奁0I{)M%fS_aNM B{'*qB奩[{QB 奀H R 妀kmgfz=+*:Bj妍w]hN( oU<{sh GUBS?1FAE ;e,s `TAsA{nO%PErH~%2C _zd 12 e LY^;R $   B u.B _^WB W GFHB妝-c]$cTy'Y D - 0?S0B妘v!&Y "E ~F @ _0 (R子0 tu)\>tw} AB孢9-2Ko8T?NI\SB孫Z B孲<R 宀.D'zEneIe.B宏!R宓1498- d}r`x<%V;7B宪I ({dOId}7fB7Aqg E~B宸3B宷XK R寝[?x tuM:' =_wvuB寸jPFBy$AcB寵 'B寷yHR射BB3~4.MC(_R 尔:n;\CByx'YB 尢6(=(GyxR 尷\3~BEi`YB层*B 局 l\7cL$B屐hR 属 :q FKvyzmBc屮tmR7Ae> t5<32|  qd{leAly1(d' TJ:vO@;^\ KG 2   MM_ HU` J$s <cReT7K4sB嵇"B屬>tQd%xO4 k`cp A, ;N'Vx]B屭.OA&: X \* U"" 4P R 帀DVIS)zB希gjR 帔 =~)H{YB带{H EN;ZDV!mB 帥C5!I:|m%$B帬YN  R干D.j54OjwF'oB庀1Kv?[pzR序=Q86?6'vS;u.ON{QB"庥5]FK#60J OL  Q9S5f%@IJU5]]jB庫`sLjqt&dB庬 i8 SR 式T;:#")(sB 弛zPFXiR 弭pj#"/.gfiB弹V`wC^ R彌led32uaT5,B彩{ UB 彝T2+u\AjB彣R 往*Zb_K(e! ;PhB\徐7nF<'&srEHdR.T: )!.en=B+*EV|C:!@l  =8OX1y9p_0o\i84QP3&gAlcqU3zvvGN)B徑E IbB 徖UVe( R 恧w?Ta$ }cB 恳__ZDKG "R5hSB 恺_E   B恷TR悫:kj+0mf{B悻lH / 1dR 惘o432o2:) `R惦Lw0<_'hT#ZJG<4cB惹"dF-A 2q ZHa*%} yi$SWB5C*k:B9惻9D8; d( tKqL  >^[IyR\K g6@^+By0`f[)O:675 ]Q oB愇] c6  Z&SR 懵v[0[Z=}B戀!R戆y8zE?dmdYA /d9J|R 戟|MR 截)FSR98AYjB户<A@"GjV]`'1Dp$yDB戽tDB扂R 扦!"r3L5lggPB 扳mJN{@r; B找sB扽6R 抑]G;e jGjB抠f* Q2 zUL&.+PB抟<B抣IR拂S_>hiJC*OsB 拼S`{CAW^qf&B挈NB挀oR 挚>IQG\YYB$挨/ Dx[ D. I#Ti2@m5rZ)q:2xf6uDDeB挾QikHPkgB挩D TR 掇&9rR%$_W:kB掖;=R掠zogTIHI"+6yrwB掳WhR 掷?o+*~mlBG揄WA4Y 0$cu^E,UV@9RRyah b5QSyybB斂7apaR 斐A/h98WV5B斟> R 斤@sB'& C:}7B松>AZ*8B杼bJB杽BR 枕etn/. pR枢wbZ{vGm2wvczB 架OL? dr.DB枳m H B枴KR 柘eWF9F10 B查0^\Po >B柩g "B B柲A R栅EyorL;!ZkB 栖{7 t ATB栝 B栿pR桀s6,mb]V+*sr5}0Q<&R 桢{KLw|heBH桶aJ=p q6=,L3@i#j- L c3{AJH6@|V  Th!T+$E !k  ,X F!LP,9]^U#^NT$'sHGr~' NMHr%BK桴 K ! L  D   H  %F+  E!   hE   Q  x:IB!條uyR#Fbi7x \3^%mMKpeZxQGk8q! **G57NHW|2#RmB梘jvxg ]!4M _ %+"'*!"V   B檯B/桵 J$L   D ,F`. J #.S.HA*Z&nH qN sR H R 歟K75!\[B 歪  Aw^gGC2R 殃 &c6*%GE.'B 殖2q[XWA<vq//B殘\VSNOR "iF9^B殗6I R 毒}b} 0?>SB 毡R9(GB毿@H'B毴m R 氌AK@/k)X a"B氛rR氟VETO@SEJ4uFj@CBIvB永%B;2yyL1!X1{jX/"K5|GB汊" B汈  R 沀3/hY! B沌'KDrsu&3R沟j EK#$EN3e(l/OB河 ;435t)D{#"F5"t_V1vgB 沱; ] B沺NPR 泮:lh {fB泻G&C T+3GI@5_+B泺8 E     B 泹j@    R浀%$#"Ig h"cwX',/KJB浙)NMqp5j]hEU)M$+B浹\MB浛f0R涛!B &54kH]E o-^B涮j{&;L*@'6fidqn? X| )^JI5DB淪^B淗bR 深'_^[:C`y:)@B2清bzoZUX16mT%gl tI2Ak:;6H.Xnq: -+Cg/r]3OB渦sx_refB渋 UlDR 溯R.evQPkB溺JFS@B溻D 8HB溼oCR 滋)&to{hqp $sB滚OR 滞LT34ILB 滴/:Hb$s\ wrB 滬K ]9.SAa4B滳 L ,R 漩[${b?>3@#B'漶YLX- ]BLkjg GO)jS d  F   a]B'漸ATD % 6kz@+Q:Oz 5Ob J+lYzF*  !B漷1H  I "* `JR 瀘YR94a`3B瀣(Rcd QRu~|}^@bs{; Of  B瀧X*>C gD6" Ew4McB瀱R P$UR 炫S}xoar#"B 炸I toCHDm}@dyB炷RD B為*N R 烤Ktmz =Q#(HeB"烷]MKV Je$ & sUij.clvuF8"Z? uV pPFW#ZB6烴z[G,h Sh s8'Lk  W\g(/(B = <_Xe}jifc:N# ' FB烸O[*sN Y&* @)6\0 R 爵#a+pZ?+B片K5*BR 牖k8 5>KJ mli?B)牦EC2#+BEl  uJ54AAGoj',Q^<BB牽LXf _4XB 牨Pc(.YR 独\_tCq4B#狷~SGD UN |e~s.@UZ jM6B狹6sxnBE-+B猀(ER 獨R0+Cn-R 獵+97n%B0.76B/玄I1HabS@ ;>l3lDn  a"./0 x}P}N@\  3B玀=3B 玈y.O $DR 琥2lkjutihmlqB 琳n1uJj@*{ DR 瑕< .B瑰>PLoB瑣]wW H67   & / "Lg`#,B瑿#B uRR 瓚donon95H"9B瓮\LM%pD{xd(!xyB甌%B瓵xX$ R用(~u$`QeVI0r+*WS(OmB 畅NRm'@A} s~M\B甾AD "!deWCV B甿"M%.R 疏, lmlm'c(R 疝dnU`oFB 疫fi$xyC[9B疬e B疭cR 痂n o@B痍pR 痒 "Os8sZB痞ER 痢j   QBB痰{GLB痱x @bo   B瘄 R瘞2En!"5l\M5R,#B瘴oCS5B瘰 J[@<5DA,1vB瘽$C R 癢o>Kd KB癸HA C~  MV9@ YBOTOB癯." Kyh i ,lMB癿CC 0MR 盍 ?I`gfoATB盛9R 盞n=ZwZMf{B9目"l_ GiB8@10 /Gt=q(EM5rC: ) _^ wC fXx@/2)lB睏+yuB盰 @  F!,yLR 瞥RPqp$->B瞳\hQ cB瞰urs G[-B瞴 R矢OyxA@) !+hB#石F yfA", )+p~w z?txdcA8 9l O6 aLCIJ3B矶"G   FlYZ OWq B矷.[D ^* R 碟[h=<B1碰7-Z= 8B 5D{lQ FX8sB' l-pd ; /\G~* )f"/ATyp?O P8'BB6碭d=>?^LA 8?,-4G9,+(+Mv+7D  J<j ) 23&G]a$B碻@2DL$:G uN BR秣OX!?>/OB 秸&L1B0 ;6.y<mB稂$  R +B秼sD R 稷(hmlZyB穆%t`GxmB 穀w 'w*I~B#B穪@ R 窀a@yx~cbcB 窍L<DY_piB窕 B窞\R 窥0}x56B窿GK9 Jmti`aM JQFg }|B窳%&I x,1}N uIJ  B 竆t$ F R 笤t7. _lB笺V^L;*B笱qF +B笲5H R筏Av~5F)(ED#"#2B 筷wG"A I< G$1@B筠~DKIt   GVCB筡NL R 範o<  WVQ+B#篓Oou \:O/3M6%t0UDKmfvt h4ESmhKM /xslEB6篑%sA  NK^8 ZgAs&U6i0]I6z 3T N 4sNB篒& N_((>h:  @ R 糯uJpCByxEDafxmB紊XB 糾HAB# &;4*B糿[AR 紓# '&/9sPB素M<OLM~rB'紡szh  @+Rto jypv>teD3YPG=v+-lxQT!B 紻wE "G  R 綫EbKQ6CddB/綸_0 }1(YD^  v?*id-3 ynu^X 9< Nan;H {n )W ]B緻&B 綼JV a2R縱;( LK 549RB繁NB!繅RM Rgz35 v'UVA$CgJ/jm>]$B 繀 IR 纟SIHcb;:/-R纪@X(,v'.[3.R9sOiB绊xB纽gHC ;vJB纾[JR绍@5 It`nkS2./OR 绢$R} IPLLb1B绰Eb-wVB/]@Fu{#B绶oN B绹\PR缓O!ZIf m*=B缨 EQQnrG$ Qbhm8vEH(NG|JIBB罌bnB 缷`I @R 羅b>?>on54B羔\&rEgp+6Cu+\A)? ~RCqcl@B羝DXY 9`J   rJsxB 羠! A " GR 耐0h545-,%WB耜N}~;<Gve}nB6lTVB耬BB耡l R 聒\N#";:_^{B聞 yR 聯o N+OX/B聽y5@R 肃U^?LGF/mB肓qR肖otK8OD{I,9UR 肩Z4tug.*{' wB 肺kL@Qcm}[6B肷yDB肻8IR 胖V C:B胡1v2R胫Y\/2nK@WVB脂+L_rcR 脏#5%.O@"GF`B脯'4 B脞  NB脰oR腆FpSRKF.R=<14WAV@B腠VR 腥eVa`sr_xYlB腹4"}H@y vB # ? Lw.s1 `#CjB腴:I#<<y P_SX|4AAs^e25*S9R nyB 膁  N R 舃f}]lE:B舒}$_DB舐bB舑j R 舨0 x~y/:B舵%]MP#UDR!  WVBqvB舸2E LMd/7d)V^B舺{H & JR 芈xd &;0  B 芗j{jonuR芤4J%$!{?HYJevA@R 芷t+F54+ B苀? f&'R 苍Fkt)4b5:R 苛Np %1"kEB 苫tT $yxR 茀\{WCtAB$/B茎Tm/B茌  ./<3B茍_R茫(ur%$-,K T7B荆R]!/B荀%B荈~ R荝 W%j/q^78snB药0ah G !b>K8 YL-*B莊+ Y jB莗&R 莵4mqtip\]7B3菀^-(ZHQ(  sxYj/7Xk XCk`B4 6}<?0CHB YZsliB 華MWL!2zS}tiB 菆; a( f R葩ndcf\! }|;Ldot{BC蒂:^U^gL OOWR Aw  "Tg . L!%>}m nT w/E<   )B蒓M 'QCH g" 8 Vd =c.;SL% '2! (9bH B蒊2 *M   S ]"  R 薄 *boD(?>IB.薛O Y/`K@UG&*UIB.  opMtA9|#(&[ Bs4@8{ d:;qA<B薏  G"EBM薑M ^sjnRc" :`I- 1< ? } 2eMcFf+tm K    I     |Hz{B薐WG  0rD_*f*Y AR 蜒z0p%$_JSR_^]B蜡el+r3W-V0qs~zI y]R)'&IB[蜢.   H lg j{T[E0*3 LrO  *%BTu8 (%.- %sF X{()x _923GXp#0!EB蜤Sh6L !.H " D  $P R 表V xW!v?>B衷SIIIf8b@=jGlyO+d xEz% I2Q1kHS @ |fB$衹 G()B&)I2,&U# ^]Hxo  B 衸,G" S  QR 褰9T2wHGFQB襄RAT B褻]E5r'"slwFYZQG2lI"b1([TzB襀-$6TR 觀-u,<B角4Y(B觖W;mH)B觍 R 訇~pp ! 'B詈B訓jn/'-E{"gXz$KIB uYX[?.\?B 訔6 @ R 詩, wvt?nL}B詹SOai)B 詼pD6 B誈{ R 語= f$K OpUB課\O_B説GvSENB誱QR 談ilGFon]\QPQ+B論`3.B 諗/ o^B諝+R 諶}08~gf! B謇 R 謔u5(s|[NkB警^RB謡OZ aSzJWPIH[I&jB[ "]{:B謧S W&xTR 讜6'&)=#d%R 讨)v}"#KdUR 讶qVK&VUu,B诀&xR评_HoBKmv#(}B诚t mnB试kSB诖&qt#,x+R诪1k\P4[Zml4X {mfb2R谀6)(?>[@]L;J9({B"谓La`QR}JQA@:6Ct!I@6;`hJN\B豇v"# Q ~I Lgg*+kfi`B谞3a jR貯"83 NB=k|l:!R 賀EH?9+*6+qQB賑2/AR賚3JutOti; %VB 質3I<j@zF-B賫5HB賿*R 贈f-PZ;: B贖=R贛 Z-g{Js'E|k\]Ny\R 贴LBar@>qpO+B赁'nnSWzwmB赃"B赀1R赓;1(1>WFaeb E> * xO0B 赫 ^#WIO/\R? pDqO| 5|S$X?OvJOBB"赭u P DJw9 D / G1,FEB赬FS8LG NR 踩L  B蹄6;8B踴0iBpM VWB蹃HR 蹬&wn7<98AB蹺TGU@R躅JL'&maj`MLSl oB身&Gh-rB7躚gjEHU/ kVc>=NV" knDMP~%8p =@E@W^KiPsB4?"6sYbB 躛zuH)<D o:R轟Ft(XedSLy|~G54K[B 轴`#"@JR 较 FR-7F&R辐LpZ:onWod}B辣&:R 辪}|g%Q@LB辶=kALR 迀k.:t B 迎vwvhu^ oB迓>B迏"R迢I>OJI'lFT?B 迷YWNzB1uC;B迳EPB迴{R选J*P\YX! 6vK){K9|AM.@<"B逦J ! ]=/.BWbq@DkTB進;X.+1NB逷I@ R 遛Z"X76! UXeB遨W6*R遲@./$10IB 邀$+h6%MKR邏c) 54B邡l%acR邪{'&! "%34"!mhB!邾uB9:WL|),na p[ZALf C!"B郟WPX3h>-B 邿@  C R 鄭JOH>]\[B鄹I-Zwa>'=VB鄺M SB酇Y R酩T32Ju|JKO<N^B酿SR 醅TihUT7XB醚VZB醒B 醐  zQ#R釀xz98=<A+5xA_"3B釜% BD釕x_Zmwj  cEt _g:V# j& 72#5<@'*lu3&whAf@!(ow\x 9Dg@B釖 V f*"0J R 銣5V)0v]"+ EB銱%1:#"uR 鋀0CB]\76ouB 鋒_` mkS.-^5b Lf {Bh yO $%%. JG]. bB&鋌) :C,;6J   E0 >mG$%.    PEIB鋞E H  B ,CR 鎦cyB7Rb_^QB针 S|B>鎳  C72[nDy(D e  I+ x 9H1>i`F;fD1*''P QPUVMO,%48}JB鎴OTX("*Q  R 钑a)m~EB钝|SdR 钥aQz9&wB$钱+}0yAHG5thcVm2EaYd |x#]ARub6U }L#|B钲% D  BB铇d  `R 锠lA6C.LslB锭fB~ZgDzsy; Bb 'd0 B锬lBME>HYXB 锳n E  RR 閉E~[V }vB閘iMKg(xov1. C'D34y&PI&B閤yaHB関L R 门Jth{4G,rcR 闷Knkl! ^B阀DR4z'{F!IBu~<.Y8(YB阆B阇=  R陀sr;L3Ihr B限K"EgT6y  oxV ,B5雉>0%g 1cX]@E= BCC>9 %T wH 2/ Ehg%!{H ;B隿HE C$V$$V"  R頀c5>t5 |S/.B預Ao7XD 2#jHO0%((=qB 頜IVB頥t ]( R顯>*!F39s-p g`iR 颀ae"@w'?Z7@R 颎* 9m,g\- DnB 颜~#[{|f} OFpmB7風.AUG/. /rLDIjaX/+|D5A9vg&XP+ dSbCgvw!B颣. R    D1DF R 饭VV^/ZPSF B饺~i@bWR 馄(C#d;>[^eB馒~SB 馥+(}FL%B{nB馲AMR 駘 4]\98="R鸚!Qu@98qtT*R 鸭e*ML%$utB2鸽fpCp[H7O vUS |Hk8_m07uU/&Z+5T2.DT w^u9p>0R,90 @Gyp5BY鸾CE  P*G_N=CJZ <Q@ESXa,sNS6>C)EDIGt I J^HN#E;GHHU v#3> . qB秊SB,鹀@  b,(P O $S t pD_C𠂇 |T yGw.2` ^a ˊ3 %@46Za @ b‘mo#l zd:{p f R@^>d`s}q{i>d@# 7@6Vi pW: @E(b =P}@PXDTFRJBLb─?b@ "y$EJLNPb>呒 +h (7I\Moem lxZ1hD7#HL1\Nv-ju j(vlx}f(?hVZ]|^ ( 1ZV~rq 6GwrDC&H gR\e sv&+-Z8|If!}RNVWV\`f jlpEsvx{  P`)GtQzb !C&+4| /K;> ,Q24%!*H@BcfjFn s%OZT{z-c U  #',J07:@DFKMRHWY[^e imptDx}   L !zSJN_d hjlnj7; c,.!;G@FJMOg]x %'/F37>AD 7 AFDGK Q VZ}4y\VFob誑yb飪\)b紇zb 癆/%4orsYOhAfFLb鯪;bIⅰ )\< Dh#GMkz&}dCx Laq$)&O roVXaqfjY_ ePluw{} B"&P+ . 36;GAHJO SU^@`cenrtvyE~  A#%), 47;@CDI OSV ZFhknqv{ C(249;B>@BEKNQTZ]bfLntv} O %'-C/1359=BG JMAOWaceYqtvx|~  O "%(G158 @D GFSX] b epsuCx}  M $+ 0A47:AC ILQUEY]`dkXs x}I !G& -09CKNHUX_fnrvG "$@&)+158:ACNJMPSY[`fiKnptwz~ B%' *7K<>CGJLOR[`Bcg isw~  A# *57?AFGMOVY]_bgjoAs{ A $/579>APGIORVYC\_cguzC}  L"% +07D<ADF IMSYE_agmsz~ @ !(*/C8?ADK NZ\ `Emo @#).57:<>LGJL OVZ]_aFdjrtw~O   B%.46:=CJLGOS Z\_d jnAqw~  M &(02@479<?BDFHKMPRLUXZ]`behmrEu} J#(*-35@8=@EH MSUBY^afjlorz|B "@*,37<>DHKNBUW[`iloxL}  G"$+ .024E7:> FJLNRUGZacf kGptxz~  C&+-02E7 <@LNJTXZ^adinpvF{} E"%,/3;?BE@IMVX\__k qt {G   $*B,1358 >ACG M@TVY\ dg mtvGz D$'*.39;HCJLNPTX]acBgjlnrv{ B '*,1359;E>@EGKP Y[_aDdgkmsvx }F  E (2 8:=?BDKSUZ]dknZ v  G #(*-2 5C@HLOSUX_bfBjm t  C!)+-0258:>@JFIOQ S_acehClux~ F!),27<?ACDHJLPX\ ^iprAux|  @"%4;DJNP@TX]acfn pzC   $)N048:<>CEHJDNPV Z_gjnqCuz C "%-/M68:<AHJHOSWZ\_cfTmoqux}  \!#%(,.0@358;>FHJLNBTWZ^cgjn s@v{ B%+- /: A FHKSUXB]`gjmoswy}E    '+D-26?B IMPS@U^cgmqy}@ "%(-/@15:>ACHORX[FbfkortvzD   %14K7>AE MQUWY\E^`giltvzE  " $&D*038;=?CEIDLNUX\d nLtw{}  C %(/4:= ABMQSW`f motCw  F%* -9=?ENP@ R\`c mtyA C#'),048:=FAKNPS Z ^ dfDi ln uw |G  "I&)+37<AEDHJLOQS\ehlAprv z|   F "'+/6D:=DLNR T`Dcflnsy ~E  ),/F39;CHJLOJSW^`ekovz@}  J!$'+.19<?ADFHJBMPX\aeknrtH{  B#%) + 5@BGKOQUXZ\bjqtDwy~  J %*,1:AEIJPTWY] cgilAp v  C  $&*- 36H>ELOSY[`Ccgmoswz}B  "$'*-E39=CLN P\Ga iwy| @  #&*-/4F8 >FHN YP_a ehlorxH} !D),14=@B GHKOQSY[`cejm@qy}  Q '+.18:?DBDLQSW~b@gjrv{D "&,1F58>BDJMOU[G_c gim quEy{}   D "(. 46M:? GIQ@SUWY^ `mptBy K#*,.19J@BFOSUZ_Thl t|B  #C%( .26:K@BG KNRTXJ]ad fpwAz| @!$',06B8<?AGKNQUZ]Hbekntw{~@  '@,.48;= ANQJVX]`bil rD ~ 'D+.16:>ACHKBN UXZ`bhkrBx  A#'*/369<A DPA R_agimqsJz A!&(*.048<?FDFH QTW[]_adBfmpw} E$&+.27A9?ACJNQWY\_Bbfipt x A" (-I247;>CIPSX\C`bdgjloqs{~D  ')B.0 2@FJNPRZE_aehknvz~V !&D- 48<@DFILODTYacegik psuAw|~  A %(,158R@BF LOTV[`Benrz  A!%4B=ACFJNT[bf@kmosz}\%F+/ 49v>CGIKBTVZ_adilpxH}  @$(*-57 ?ADFEIKOQT]_a gkCnu|~A!'*.4:HAGOTY[_bfhBjmor w  L$'-/14G6=?EGJJPRW ]_bSjmvy{D  "$C)-/9;?BE MO@TW [_acekCn vx{~  Z# &3B8:=ACKPWY[D]acfimoqtw|B   $&-I479 ;FKMRUBY]egimqsuwzF !%(B,/137>G MPRAX[`cg l o}@ $(+B.28 >ILRUZD\fwyE   G"%),/579{CJMOSWY\^ cf jn@p x }R"&*,0D369<>DLNPSXC\_bkmortv@  "$*-5@7:<?EJMU[Uhknru{}@ #&z/68=@@FKNPS Y\Ddhlnrtvx~ D &H* /:<? BB N] cm pC~#(H.25;=@CcKMQW]C`bg krv{@  !&+3J8<>BVZ\D fqx zB',037:CCKN Q]`be lBotv  D " '$0@2579;=?BDK@T [fmps yA  )+ -@:BK PZ]bflE q  @ ,4!>UC I NRGVX\^dgmrty}E  I$05<EGIRV[_cehjnswB~  5o Ka*@$Jh _ +5 9Gb3⺂" $. 0<>AEGJ@ N(X{~osH?@A*H s@?@??@?@??@ @?>@ ~ $@?<@?|@?<@?|@?<@?|@?<@?|@?<@?|@?<@|&@-;i@?z@: IW@?w@27 j@?v@?6@?v@ 60D@?u@?5@?u@-5c@?t@4T@?s@?3@?s@?3@?s@?3@?s@?3@?s@?3@?s@?3@?s@3(I@?r@?2@?r@2Q@?q@?1@?q@?1@?q@?1@6q(@?0@+p @.!K@?m@?-@?m@-(C@?l@?,@?l@?,@?l@ ,8L@?j@?*@"j @;(d@ g1t@?&@?f@?&@?f@?&@?f@&1-_a@cfz}@?@?[@?@?[@?@?[@?@?[@?@?[@6R@Zy@?@U%h@?@-N|J?@?H@?@?H@?@?H@?@?H@?@?H@?@?H@?@?H@?@?H@?@?H@ /@ERCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniGB-UTF8-HB—VZ16m1 :32 [  b〈HRFPpD@RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!a ;a!>"eQk]JX_?V3q u {!~$ *7;AG8XA 1  A?EA&  < [  Nc P]-( S  =A'=7:9E &43210/.5a$cIA %Y A%O A%O U  9a% RQa%?BA x a%^+A&@BA&aQA&@a&ja'v^"a &hBDQ;c,a  A .qhi N.:KA. jMA.a.aA.TA .MY_(AKA.U4=<a.uA . , d[ 5J|Or]A..y. {A. @7 Q/0i ww85Rt {v\a/MQ /Sh> cr/qa/!:Q/#&? CZccTc{i7&&So(_4uw$nBS^n}Ha$/7R4 w> .YO@4<{0PS_(VKpAX]X`-tGW-e"NOxe?Kj8]/8GUF ah(.\z($X[op%t:+T}Ra G6]C3!Y"o5n a/Q/N <7JarC8wza0y *_d$$RJ U~ a/~a/!0.t89z:Ly]by% BQ23O p}$ lya2 ]hQ2g  D5,=2 ^q 2v{z=Z]_cYd[Xa2.-pbQ 3jr[Z q3q"igxhz|sfk,&t.q 3- q(no m#r'!/($*).2/3la3|GFE4 17a 3{v_ceXZzTU{Va3qUX YA3Ļ6A 3| =LA&%A3Pa3]AN0+A3KA40! `vR#C1hN T (.eyjOViano`_.^xF&.jH9aNXAN*9!#D"Ut^iO2wliT3AN(3ANZ aN/\A N1~: (7XaN@^A$NB/uve RBgfN z3 iZj9{: ~WdQ }ANUPAND`ed$ aN b&+ APN~ I@GF5Kr#yw-F79zPA,gjYM' Lx2o=^ X'\uCRA_Dujb UQ0AN45A Ne   % aO}qA%OiuK>3 $[q/5lCp( CF{XAO;.!"%AOs&raO8A O..B0~cvaPwA P?i92ZsaH% iAPBAPG b QP!Bzidof IT;(A%P6^N yXqA(t'FeO?nR E$q)AP@? )#AP;$aPXAP͙G>@/.APHAP V WRaQeAQ/ ` NA Q d qt9UAQ aQ?pAQA8Q QCi1hd;^C:d?)AQPGT9 B?AAQdJAQ_ aQiwAQk@)h.7Zm[ M`sx##"AQ[AQyyaQA QQ3$QTwvsaQY  A!Q ot1jDYX/[~+*5Rp32sz4F}AQLa`AQDEaRAR=}A jC:yxQP)?I.-B;QARNAR5aRK%A#RM2` ]`9(y7>aR38&x}r3UUp{$7AR]^>` ARa,aR7AR-FPYZoYnO$ih/0mhi`on3 8|AR}YGFARedaREA R1tP?Kb aS AS J!xBg#SZA@{moZx AS$UAS>Q SEVm  A2!Q Ty/0i/^EATlC8jYCaT,vA,cd)t|:)_PG|AX/21(<>A W` I($aX7AY:32kj-1: o|qR#PAY iAY laY,@A:Y.6]\Pc^cdxOT[\yzYT&t32u4T|8izOaE"3.sA|$uAYSj@AY/n ' \aY[YstA YZ  B_?A YX]z/2gAY-mlaZ5fA Z<|!W dxg%;>1$AZ@c - ! A ZGy ,aZuA[ .  GJ #$ ABwA[VpA[ a[ZA[\(_otDA [_^NNOA[|a[~ AH[$[hOJk}p>,b/DORz5WC;Gt:eJOBWMoX+D)(GB/}L//LA[qA[ta\!A\ 1k'sutSZA\uA\*? a\8(Ad\:R2ebi/PCBk`o`snwEh#J [d   ;2 wG>[_:KFOJ  _h sr !wr  '>ed uH8  A \[ CP:1A\cNO N/Ga]~A#].n 5KlUXYeD W^ysje+x7.Tq4A]A][Z}|a^#A^== oA^rA^%a^6uA^8Wq0 ;"A ^@y A^X'a^k(oeA^x>v7C2231 -g wCg`o^A^z A^0ra^,A ^Ú&4GHLa^2 A^5A ^]\.`A_0Q _ ML+`&A_wFYia_2A_ ^$D 3^5z3B~wA_!!A_"4 =<a_V,A7_Y. 1;XOtd)ii-`F76-Rhe}FGF!2ei-L*whFWPH;A_gOA _X: # a_hAG_܊ J?6|c?:mv mtvC&#4 +2SJ 78g0>!!F#oA>o: (~  I2kA_~'A _D-a`lA#`i!pGmf"Z&?> z  [B/4+KF>SFA` A`M a`~A `R^ #& kaa  SAa|%"/elJQAa AaVaaXA=a] iqR56 veSP Qia  7Az5. yz in=PAaAa|WabBAb :wY*X,#"mlonAb [Ab]ab2MA!b47mVm4wBA3$SM) (3<y r=AbHAb6=_ .=abZACb_wn/xTKm JrQ{*| sd  zMF-5pAAyM <B =D khf3NYLUq<  "21AbAbd7  cbacBjAjcI #~  1w X#UV?<L,?w<G8sd y#khsDEjAz2ILgp 5I|q6{2+W 9 >q|  = 4cXq> 8 }t)V C:q7ElMFP/ AcO<, <Acel 2 1 N`1 ad|A d4n  AdAdad0Ad!"v1:E@MPABAe"Ad~ae4BAe6Es#  ?@/V#4(w\|AeNAeGaeQAe=&m`E!"H@h9&i ,Ed9A e  Ae<ae`Ae78A]Hn{eZ;6 Pe,p-YjheL5GDaZ_Af;<AfL af[ A f]q23V=afgsA-fiiRg,CcT#pcZ  {fqdQR^2  ! %21@Afs"% Afk ,!{z#Q f'Pm [pAgK$=<YnhwSK3Ag(Ag ag&Ag(fm5/FN J1'"X{cA g.Ag3A@agcALgeR$3|,yx}&L}b"9$ gN~ >t]X AVA: PNKF% mF#HP62%ud}noT}1v_gFYbAgf*T@OA gnqP4$2ah0#AJh2AU]di,~ 5 *gj{xX>9j5I ^?& !}u%&}~ [,EHw6J)"[]p=CNgfi IZAhD/ ;!9$A h[% ah0A9hW&exD|+2qtdM^C 8+& 5|,  (}hwrqt)\Lub==Aih2Ah2! ai:Aic1*}1,8=$ (}L Ai4.Ai< ai?A+i؞7?n i l  AJ  knd{d:-g2,W '+6Ai5MA io    ajPHAjXfuN  ij=8  Ajk7 AjT4U'ajO<>A:jK oj/0 {~3("cbadyz1S Hl)BLPGHmV nOrAj;A jR 1 ! akxd.fAk=! ,AkiAk[akoAkqDXu@Ary2o2(4 #Ak=Ak\ 1q alAJl>3~X ! <XE^vmlQK('](23z@c jP (4X 'HH&4 %BilAl?>SAl3`  ?%> almA^l O6Qh%'(gD(kr E@Ql5x2e\)j {pl|` \2  sX ;g{l AJ]^=6 "  ~3/2% 5'rT]U,*1^A mCj""Alo  (5vwQP-mQ nXtfUS@rA4n)96~w  E>/P2qtCF ?f =R{tnWG4{t aTyz ++Xg8An9LbAn4 HsYedanjA9nݖL% p )410E.e8 e+   c~ S7RDvbM  r $AoQ`6`An8 )E& %$aoA.o1"5>f9D 5B.1r +2 CPyzoM B  uv_AoR?_^  Ao#? ap]Apc/?:Wt CAHy| w; >v_ApW%WApd!ap"Ap٫; EV  _b{v{% AqZ  {Ap$*aqF\A>qICQFqj[P'hB@V  edSTOuDof | YG YR#WV KL1DAq\[<}'<A qJ)  ) ar=XP"[ Iar;dfhiarA678A&rXj>!J5 ?! (QR  32701, ih3@gAra Ar\:0 %$ar|A r{E _ +&Ias@As  CDsx)\ZAs$cAs(Bas6 D0 AscMEA sW"'AslEasHpD& JbKAs$L*t|4+ce>q Asf  AsN`a ON HI atZA t!:I w^]^]at/_At2# !F _ti`AtbqyA t9b atmAt1)(g D3432AtrA tp Wat>ABt=qv wz.8&])[^!0<Z ~EHc>>44q!h>lE#fWZu|~-(5@Aut-?Au"^+:|UVa u\`_DCYA uxq1 ?g"}Aub     Au/caua u{zwux}~au    Av$  wzAv&-Av-  avLavG   avKSAvl+sczfo? OPAvvAvmav}a v!ywxz #$%avAv|; `^P x] <2NpAv­( %&Avaw:K#aw%96 < |>?Baw4%Awa-\L|   [{Zz{zAwbEAwjU awPAwO '&76&{*>OJ[ ZT 0=Ax!~Aw# ax-(A)x2R#aGb[ Gy6T #&#GY6X=Vy9:  | AxNA x0*:!5)ax2AxtKF gh =: Q8g~cg3^XJ{rAy0A x1 5ay[ ayAyQ}W STmq.1.S -D SIAyɮ AyB(%$azAzviO >fVb A z AzH aza$Azc_e$XdC? tg k wt YA zi& AzmO 'azTA z6E@mnAz AzVaz>}@7AAza\d;:Q07y7 Az A{W a{KA {%SFj ; hMA{M   A{'Y Q {KR'k0NSA {Vff a{p\An{tZ g }U.  ;j5(pogL" Z.-<   {r uv#& /.yxKQp(!-05#EB''*s6BA{ %A{r`'1   C@Ba|rA |ʏfv/+l;CtKA |ү& A|t a}xA5} 3dqgI0cTQLx=Z_`5. .R  ,tSt/{r kYT A}HA }{  a}AQ}F9Vh1H S Psa2"(luX#P?Mk`  k;kr/*d2  cwZ %{  53N  wjtA}{A }yx &Oa~YuA~m(OA~]r8Q|  A~b a~5&a~'    a~+  A"jQQTdz4ML!GH! ?6?6AA-a/A̞L- p Aʰ1  Aa A  <}@W6'A7 A" a>A3VDy=R1A @A$&#Q oF6;>9IA~^KQ$O @%zZI$#iTlY4'A yQ  A-a0AޜT=~yn~elOevk,Aٰ_     A254aetAk%F,3 h . s v Ans    A7/aA ATk>8JaSA5rM%"7- W )voqf \AA<aj-!0m1A6 DMY#ui|E?Uh <kp? nW fmP A~3   (- Ayu7aUAo V S5W": J@A#]   mp ;4  *ACI 0aQA-ŔAChu@e dI^ ex v 3dy[4W |Ziv[ CWI(NDUBC^1\A;pTa  fW!   % *!     -4!   , C NA S$8+1- aAX 0_~ M_hwTs1P +A  ~w*#hi rCJv_ A4_)0Q 1y* rF?LAt +IJ Ip W%( +;J d/ J)HA>?@ m 56   A b%GH( Ka YlmU n VxoWAǒt'  `V #eX>,Y( _)d A1b                A q  2a|APA   A~ vaA&DJn)h G1x/jb SZyA++8  @=      A 93aK>w j40kaDFHIK Pa  A@ a;\SA Q.7Aa(aWXYAV(\F L<q;3dz d+A6^ ^[A0 <[ay/{|A-rvuDU\>k!r},/g`k@Y)f?Xm pn#Vq:[>s6>A~  HM@ A   49  A  GF +0aA4i!LOd K/$`&+ d ~H0o-, =0 7 A"+-,    A8IZ*aC)AI=CDKN'"MFGFw hAS0+AT+aJLMA 7i(8S[ -A:O A,( a_Aa1n.SQ AE/RVgnahAH 5 zBaY"OJbkd (ut_< )yR]AwrqPb c A 6MaOS+Ca a@AD;iS8q|0 J!1a4 PU E<A@]AG      `aj k  A A*    $ab_Am8'cAb MLANaOA%kA,72S7 Z<#bAg"AQqpapAeK #"GvdOlkN/4  ;Z]JO` Ao!  AU)aO~A5SeujpW@=YoVz Tm "SD/ *[xh-6i`Y,/eWiE#& j1+0B0M8A0VZ[de-jH%>G>? >=  ZAX "" ) a m.ao10b2p3A ƚdC<;T2utTAɶ5A@aDtBq=A 7-%"K >1Ts 7A<    z|}~ u A r  awRA~v5f K>wMA * 3  wATNa}AҜ]1Rs=8  p#1VStCxIe9e}@H e .T A&϶T  {0/  x  z z  tA$KJ YX- aiA_"Ah heA amA86"nUh#c:FWhA,ضqhe r _ VWL S,-A $ aA Cx2 gtC. A ;A  Ba.1A 2wUKf]w <%41c 16h%T>)}qT $z 6AB3  $^ YsnZUAA+aEHI4JA4mBAo(g|-8O]&IIyrKHK$A|+1Z C6 C5v54!A3rA$  a=bA Rh45: GRKS ABg!67AZ+ axA LDk3ga~1Aӌ=kd: A|`ee&Kk% Aø HGA 3 aM9aoA"s3ab 3`G*E0gQ6qzsr?ET,qpAA@a(.:>sCa*-),}./02436957:A;=>a2E G HIJQKLA3eVsA@ANaFHAc-^- AK  AO+ * a-SA0)M$A7R L#/AA6U a 7ta efghikmaYAE$A o A[ a"{}~T)N"1a-IA }|Aa A zA   /`6A  a_%8$(A~A j+n21)Ah qe{!13^d{ "$.68<X_o{~ apa 0ZTR[a]kecgaq!GLHKMF"N4|5} ;9<O&' 0()aa>G@Io EGCRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniJIS-UCS2-Ha ;g!$&#RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniJIS-UCS2-Ha ;g!$&# M_UTWYWA!bA %Z n6Y;m2A!6a%97=;A?Q% G(q%#jomlnqpr[]\`SUTXa%=wQ %@ua%I~a &_O cN]a'A0Vz!O 0/a0S6Q 3JWVmq3E LNP!T WY \$q 3-_b&eh npqjrtsw%{|~ a3[A L K RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniJIS-UCS2-HaM_UTWYWA!bA %Z n6Y;m2A!6a%97=;A?Q% G(q%#jomlnqpr[]\`SUTXa%=wQ %@ua%I~a &_O cN]a'A0Vz!O 0/a0S6Q 3JWVmq3E LNP!T WY \$q 3-_b&eh npqjrtsw%{|~ a3[A L K RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!A\a !GQk]>d_?V3AMT+ 2!+VS LIQ tA ~$c Q n$cUP &%$)A$) f7![ Q .s"'A"} ";96"B; |,"m  Q/P' j>"kOL iOfO>_c 0 m("[<SAiP. Q2j Ak9Q PX""O( zA ^W-*'0#rQ l6B''$cbA x1TI67ZQ 94 M-|3)FAmb >M#=:B@; J:E+ 'ch W~92 |C l ; ls9' Vhi N.:K e, d[ 5J|Or]A3 ZZ+./? xvC F Q'  jw *"e4  ? ^(D@ 9zAAc, `2Hj &_;/1 !f PcZw 65 h6  4!;4/QfB.+T* U  9.536?C$<(#AaJ #"k l )@]VI b0# 8%  #  #'`p|k`-k]FI[-&3w;<; ye5@T K9G$ +CUptmZ$;M v3\7V=/jU_(AKv9y.@7 #A.eA.:AK  _!W:rQ/0i ww85Rt {v\Q /Sh> cr/qQ/#&? CZccTc{i7&&So(_4uw$nBS^n}Ha$/7R4 w> .YO@4<{0PS_(VKpAX]X`-tGW-e"NOxe?Kj8]/8GUF ah(.\z($X[op%t:+T}Ra G6]C3!Y"o5n Q/N <7JarC8wzA /Ӟ~/_H +<Dw*3`A00: aaA0M;:J =KA&wPy{A3x    5 & A4$&b9S6mhN T  `( 2n$Q@"QcA4lR#.g O8oxmjH9A'4Z%=,'0"kzpkH 7( pa 55F>5$LK&& . ? iGT4\#]r> K4## P\ 8 9 P" ZA8>F 2i5%" $09g  B^g6" \_ ,HBP &7J$(*V 8Cn !4 3< 5&Y1<& C$`j0Q_ \(pDG$% f@zy6d $.~.BdCD&r } v%Qo 3Q N*9!#}DR1UAVNL^iO2wli@m32M(7X/uve R\gfN z3 iZj9{: ~WdQ }xXSwhN I@GF5Kr#yA NZ  a ed$ "  AN)Uxy  tuT"yx wnQ N݅gN/F7AN9zPA,AN끆bFGAN聤]Q NZ4dlmgpSQ Oa 4?Q O%k! WVroAO.3 $[q/5lCAOwQ P*6mO ~z yQP!Bzidof IT;(A,P6^N yXqA(t'FeO?nR E$q)~G>@/.AP@? )#CA2P0 tu5{$yxy5{&'&} |76-05}01(;:) o 19lQ P၇ 4Lk+Q P_JRTjI APbEh qtED9UAQ AP+8  )(C(QQA8!1hd;^C:d?)rgAQRr9 B?A)h.7Zm[ M`sAQdJAQS;IF_T_ W>HSQ Q~#P367#"A!QQ3+Dwvsgfot1jDYX/[~+*5Rp32AQK a`AQ 1`j.-<='PgQ QpQusLEzATQ5F} =}A jC:yxQP)?I.-B;Q$` ]`9(y7>aR38&x}r3UUp{$7jFPYZoYnO$ih/0ARNGa>` XYGA1Ro #N 1 $g  Z'+P'C*+NMN#IP ON $!zg Z}QRR)hva`o*=3nA@AR|{1tKb ASSA R쁥a HBg#B,EDQ SM!xVuB0 KsSAS#OA@AS$UAS%iKTU)Q S8S{mo UQxTKQ SEVm  A SQp9r]J/h.< ASa!ASYq#J%Q Sl"JW+^X;^A#Sw`SN{|IHU pHJyxAnP{c8UN{<&ASWASy '(RILYU**UT-~WV( V{7QSYJ'L]ZEq5 6##wPHWE#p71R>ASr?Q Ty/0i/^E``A&TlC8C< b*t ;:W}]Vt /B'  vA T 4 O  0  AT"^_#]\ GTQ T%XmyYATH7%p7CQ Ttz <65ATQTL}B8 =82$0p{A%TǢ 5@=L+mnJo5}:+27.m=* AT^^A'T2DETn oonoE\aJK^j  ONspQ6qQ U{4HSZglnKA)U<zo t Of O`Mc~& 4p i MP1W ~owh YAU_A,U:Zrsr u  s}| jkibmz% Q V/U8XAX/21(<>A2Xayx ~ vo~ ~ }f ]p| |}|atze `z#Q Xhyz_zvA7Xܣ1)t|:)_PG|32kj-1: o|qR#PY6]\Pc^cdxOT[AY iGAX݁y""|/./w$%$;8 =<1Q YgMyzYJwB[ AsYs&t32u4T|8izOaE"3.sA|$u X] o B_r/2OJg% t#!D =< ;g* KL =V    GJ #$ ABwa_H9t! ]\NOAYnAYq  ml# , 4?>A;Yyj?%`?<?'&8963767=: ;:KJ aA)Yr  *   ! -IQ[HGHIJ[e[h*{Q [Cl5*}p>,bA[nDORz5WCA[w A[= Q [S:"gGt:A![ɤeJOBWMoX+D)(GB/}L//L}1k'sutSZIR2ebi/PCBk`o`snwEh#J [d   ;2 wG>[_:KFOJ  _h sr !wr  '>ed uH8  on 5KA [sEUA] }|)A] P}|U - z y&TM vRQ ^w)$/7C$)A&^?2231 -gngCg`o^ U&nKL9/l A^0r d_A^N}zU'&'xU'zQ^t 5j2WWVwQ _-,UML+`&A _wFYist}Q _!dF^$h%A_-$ 3^5z3B~wz 1;XOtd)iiA_4!! A_. -=<Bf+* C@A( ! H Q _|tLb1-`F76A_9-Rhe}FGA_<" #"!A_Q _>!f}9edA_-L*whFWPH; J?6|c?:mv A_&A_8 3 5,549 * Q `Vp*'zsCA5` 5&#4 +2SJ 78g0>!!F#oA>o: (~  I2k^!pA`]'A`&;(  )(  ED-,))Q `7 8R{f^_Q `O"Y"ZA`c&?> z A` A`!.1'"Q `إzR/Ef5c4GA`gKF>SF_^ #& k]D%"A` A`偨@7)\=<?>;z>;%$8ADCB?Q aDj;I}/elA aS!QLiqRAa^(utAalLQ an6\q vnA5a~GeSP Qia  7Az5. yz in=P wY*AazA%a{*'& Lw 2BO)vE3vE r4pqF~YVWVS Ra /Q bp,89#Z9:$A?b&lon+mVm4w IA3$SM) (3<y r=,wn/xTKm~5rQ{*| sd A b)^ C_ .=>q|  = 4cXq> 8 }t)V C:q7ElMFP/ cn   "v1:E@MPAB:s#  ?@/V#4(w\|E&m`E!107"H@ h9&2i ^5.uxOPO8A]Hn{eZ;6 Pe,A cO<, <0S+~1 Acs 1 N`1 N=@-<  Ac偃lJ XsA&c"+* 5   ' $AcꁗJ'  9*1 A-c %!  #    "4 Qfk6owY<+(W}RkeN+SOl!RAf4j*/>5GDaZ_BAf3v .'W~Af7L Q f]q63V=A-fiiRg,CcT#pcZ  {fqdQR^2  ! %21@Afs"% A fjQ SL} 54  ()?f7z[ZEDEDQ f'Pm [pNA.gK$=<YnhwSK3Zm5/B}N.I69J1'"-&#"P$Ag(WAg i 76fa`SOQ gli;HM,yx`;A g|$}b"9$ gAg{2k jYAgj Q g #LT1Zo>Agnt]x! Q g089][: Ag(PNKF% mF#HP6Ag+A g{h~~)&|Q g6hoe%$Ag*d}noT}1v_gFYbU]dAg 'AgJ%z~ih~}50~}Q h;~-,~x{ 5  A"hH j{xX>9j5I ^?& !}u%&}~ [,EAhR,;!AhIvwr3@C454wA& uh96Q hKvo6Q)A hQ[]p=CNAh/AhQ h0v654O |gA hߘi IZ-&exDAh.Ahꁪ A@]pQi sd] h2qtdt=A@i@c  e }S  L\'$=K1.//c(} ?!Y B /nd g2 V +6 } WNK UD\3 B JS Hel) YLuAqip+& 7,    8=$         & 18       oj/0    ad A ih2/.M$ cA i55 sv 2[ Z   XU'J 1A2iB 4;4 ? > EDI LQPUZ g hij      Ai" B5 X  =HR O7Ai 72#   Q k_bnomVpQnAki2nOrtE=! .A klc Akk?Q kI[oHGDA5kuu@Ary2o2(4 #3~X ! <XE^vmlQK('Ak=hA/kj 1q  #` ;'pu&LutONO+^ kpk&>srA@uy( "A3yjuwQ l ^)M4/P2qtCF ?f =R{tnWG4{t aTyz +An9LbA"n2&) &hv {[r % MB$+*)Q nC8eX A#nыH8 3% p )410E.e8 e+   c @CAn8 )" m lq pf[XY\A o  Q oWAoLUSj!SAHodk 8Xa| >.kB ~%T)sM +j_:Wt CAV ; >g)  h|%  (M  OhQ@ C x CuZ |KGF}#m _DA" AgofDM     AB+2   uv.    /         #  AoQ,?_^  \%WHX  {+|<}'<A(o} %$#?! *  nm) Ao~3  %]&.?9 "2 PA.ohC' *  "  !6*,Ao3U(0M1lA"#A(ol "  >E !  1   Q rW+<dQZ}'JJAErg ?~ XY ~ [ (I@g  _ p`V 1\nN8E~Y= v $?j* YeN E!#E_ Zqv,Q iHu.8AWrtk       7 4+     )("  Ara eRE  5w$xaA8r; %$3,(`a ON HI @=   WArI (; 85A6rx &  , # ArhH D *  </A/rkA /   @   QuJ]V*-]^dk/0A u0><Z ~EHAu/rAu6E!dQ uFS^gX=d'&AuT^JQ uYy4q!*H OA udVE#fWZDEQ uou-hk~dm-(D.AGu@@'U[jeVQPtk|?g"ON   wz[Vad +sczABu~ 23B 54   KD)(I(!+H CDEP]\SBoUBsYBihEwP h+Z[A u WQ vO7o`! AHvw ; `^P x] <2NpgY m\H>I{Z'fpa&{*'T= R#aG Gy61d{PY6;=#L0DA AVv  %&       $.        =:A vy=>o>p,5A v7%  ;  :!5) 5Av^  `Kb*>OA'v  ."#?  "  A)vr   E$! 8A4v!  = "   +   Q y:THy@Cc$A1yGZ3^XJ{r[`t?WpO T$*$Yk:(ih[\ y}W:;ST6%AyE;v NOJK TK ~|FG~DEm nAyDY  Q y݁gWk@)()mGAyf; -D$YIv SAyꁙ&SPE%$8C >Ayk Q z7 \ >tVAzB6T?@] b  stQPyAzEK A zD+7H K@E Q z}*1d)?2ZAz+Z>Q zZ>5gA zx niwtjGJAzQAz{ A&#"#Q zËT@B=^O A z n#-Q zd .61JdwAzzQ07y7  XN#AzcC\5 VWAz #Q {% jh9UvA{3JK VoMA{1Z TB 'A{0Q {KR'k0NSvA{]i!  g A {`](+LM&| -A{j Q{)2 . $) XW"_A{{5(pogLA{bA {30+*+.Q {Ěc0byF%AQ{Ϯn Z.-<  zq{r uv#& /.yxKQp(!-05#EB''*s6B;fA{c1   C@BA'{ԁ hifizlmlmlq nut w tun gfeA{ہ&   ) Q |ү&HHC3z,A|ܯ'E/+12utCVcK(A|vHI J A|遭1Q}2'KkI0cTHA} IL*nQ }*6z= 3_A}595XQ }?8ZQ.R X1A }K5,tSt/{r kYT 9Vh1Hx A}MN  T5! T WX>{zZ>A<BA}Q8 Q}6OS PsbE2TM{A!}N(luX#P?*yk`  k;kr/*d2  A}8I ; a9ihifA}G  Q ~12ZPY Ai~&N{  53N  w<St8Q|OjmbTI )  QTdz4ML!GH! b_?6?6K-x +1Z[A~GON + /- A#~'B[Z, 1)01010+ &%"    A~-L /) & Q >9IA+yQih9Q$O4;@xzZI$TuiTlYzG'N  8A{j  ~~ ~ /. /.Ap7Q큙t!5F }A%7n~elOevk,;%F,3 h . s v qAj>8A+ d      A6y  GFz  ?FC8 tutwNLO@uONvup(p,A y   Q MrX\&M0eA Q c-xpQ \]WA!=0veyxQ 2>76-q\wNA@$?@^<7@ {z9Ma#A<nm5016wv ^Wc\VYI Y A C   Q +R?k~u(-,Q E%?0kj 6JA ŋ_ Rkp$e^AGJAЁ Q ޱELShiP+W tA)m (yJUT=B;ZQA ꁚSML A큮%3Q+T,ut3HU>ES'hBA@OJ A<9a`A=/Q OcZpK,UAAwYWA bmp ;4A Zzh /Q~UQ ON?PlmmA7[O@*_2wh*!@bINkV!^ 0fW7>!3<# +6Y\%M\*=dy[A5Kdi +*KMf!ml"A 9 )0Q _;EP)g?$Q id5Aun$A4  CW, -]A s=Mz3 B54AtJQ `Zb[=X A8ėr/mv;>,)^( Y 9f ~SZ;~ B#wrShiPitrCJawTv_ AӁ_z G JKGun H J KTÁR%  Q ,terqpEAPA:Aa(bcbEQ -zwy* rF?LAO> 9: C& q '"?@rm W 6 ;D{ d/LON)Hb =R  56C'  3,Yt*  Ab%GH( KJaA-| knsrsronmlst/` 5 x'(%  A"m   " #  Q X*Vsmlm|A >,Y( _)d ,T>&A- r             +8AP#noano\ alZih] cbhkb Ul 3=tvhcb]t}|d[xzy\ed_^_^ihcba`] bonk*)f=+Q  |q,kCA=  UVg)z)AA<x}| mnojkjmjkjQUCwch9&! b.x?HA/h/x/jb SZy d dW tW a;\SCc\F L<q;3dz d+={vuDU\AIk3       .7$  ^[   A  *  <[SZ GFA,iOji0 h[r de$h a`iyx`a` e ` a`a`cA$qG#     Q |H=T CNAW!AQ XedAb]\A*Z/g`k@YA6@ AA /y#jI#Q P.fPbuXIIA5[ ! 6Gn8M#VJ9 :[>rg6>rudu-4i!LO9%K/y`&A]dj kjon KJM|NMLsrOA\ Q ڴ3 sA#+JUH0o-,\[bA&A 쁚chiS:7LQ87LQ ` .2ikaAF&57<heCDKN'"MFGFTUw h GJ%&onI["5 QPUX1n.SA+- 3 ~ 4J}z4 5~KJONO7|}KCzA@BIHG9HA0  (  Q AE/RVgnA HD%5r ]^Q u?a wXIRA"Ε*Jbkd (ut_<E 0CX.H) +>< )yR]yQ. 4MA+ʹ}   rqPb c   A8ҁv7Q 54 96 L     '& FG`&'b G  EDEDM Q^0= <9}Aρ<  e    !Q G DAVYA_|AU*  AT1V?>^a7Z D#"GF]\Q GUVB+E*A ʒq|0 J!1a4 PUA>`aj k AH\iD]\ C@ "GT f#E jO&S|Q %!(O:HW~uQ 3SJ+/X]#Q >X[&vI7A9IZ[^A9&$]^ML c`kA,72S7Z8}|!"A\1K \G&AJ@N_^QKR? j ]^ uN utu0c$A O|7 Q dJ#H]k APfN/4  ;Z]JO` beujpW@=YoVz Tm "SD/ *[xh-6i`Y,/eWiE#& j1+0B0M84 C<;T2uA@v   Z[de-jH%>G>? >=  Z[daA,VC "" )  A -~i '$NA8/0? :=< =<=:=898965 (/ $% !  A?"!& "   Q ֶ8G.m Kt^A| %-%"KA:    zA쁒}t67   a,b  i/ &Q B0'_tmA:NL}~ u{\  G 5f*wB wz G Nuz +{Qs=:/_bS:KNAOzRON$KJA2MM  zw{ )vQoB?r )#nL$GtA/hxIe9eA .[  zA3W454_m6'9^9o&Q ixc6AE$+~AudH e .T  "_6"nUh#c:FWhA5|e t } hehe r _ VWL S,-A5s% hede ED + $#HI YA  Y d#NO @G$YILM # LML LA"tz     yQ }'Cx2wxA?AD5.IH6 7BUK), <Dq41cLABup;h%f>)}R$kTA&Y  ~KJ4`"SRON)()VPUT10A &> Q 4rs *zHA)E6DsnZU+BAo(g|-8O]&IIyrKHK$A|+1A"|}0Scfi tuA8#Q )&QPQ $iA= R C5v54!B="!45~ED6]$qr! mlG@W ~Z36&A"\BCFG }lqono,?o*E>1p>1 0I HI A ?, " Q ƸJNP< A ӌ=kd: A|`AܸAЁRKHIyjTA.9H 9yD M61Q LyY?e~AEB&Kk% K$\1@02C3G h5Q6q4ETCP.D>HY/P[T ^eVs)f-^- .)M$i 8 $NDCwjpAܰ9?B (Ao! HGJc bK5 "   H     L#/A 0 '   pql k lmA93&7'BA8KZ Q8  " RAV*p*= +$0A<u!D (B  V   " A&< */ >A  AMYC ? L  Q P]H;C*O Aɏ% $  }bAc\c   H3    A%2?LMLM:!s/b3x-def ](~)$A.)8Q !4^M+*;qA-;hszU(> d.lONip E`Q 8aX1Fmf_ZSk6 l| fUzT_ S Z  )2MR `e |G](2/V ;:76;:xde 2dt-}6;D }MIA A6n   ?#  :A eA]7 &A?1g ! !  k xo n mheda L M]HIF E!@  E>A&=C {"  p Q \`auxc^ )N"s=2ZC<}C<i4LC~E-CBSCB@ ~%HqAQR{[_E:^Cltq0? or%?jW3JOGbE3 GNYODg/K V_[ *%)2).Ad tZ >28 tC&>eh $,I/^@ !W%X$ (}:CI St+;;I ooC@܉Q n,Ew P>Lx7 2~ B 5I'$'I!,S  [  WX (holQ;z)fV (Ri2W B9E.gO c( _v<.TB -0,|"]    e~2u9/5sR D("Y#l$ Zf (1 %NlB7=(l{ K{$$64&wB(2 > L#8-a_iJv4qIw7 6 @Hk"K0!  $ -'3 \- ` #RaFE '^ > (6u +"h093@9 d&B Rv{2*9/C,@Yb"X:[XMiB( *Y8]mYh QS,6AI|tggf8I* , F }0R >xA)(uAzW [7fe(gN-w &dA(OQ ZGc>_,A"6 Q+0F-8 _N?$Cd5&oD _",aw~e?nA5Z9:PL}/Q]wI3"P!lGjK[~8A 5qpq2 FwS? B!*Mz ALgNh\Aa ;>%e!$*;AGX0nas F#*KPD\am9={ig!*Uy *$+RJ U aN 9a'!` v K7HM :!0[Bq=e4 1 C8cX6e<p(w* %_7JE2v7o*_{'7.@+[ZfCu^+!/(|u=J l,h<l^~I-B(M^ZL0RBLQ\`Sh0s=;=>Tdf)og?jedf|T >\j{ u $ .!%j9<P{]G$v>A5KV\gu-  / [/Q>Ktxg- 1U~rYWKKFIPYy|GkJMr_#hFrtdC_pT~m33=5i(m@1EJbPx"~:+*07D;>>FH`i km>{~G0 T;so{A% V%(a!j! jHvarnF~ 077E & 5L?X^ `y/" &)_V~ \DBRa t" (Ia!V9a $cI + 2 ]hv.-a!,*XY)pxCB.aLKb q| #(*3]a. aWsh |k.vqeO prNm)vauCX)\^;qw=aG9KU@^lt #U(Q,\2tS-jz| S#>0 :U?xHKOKm:4t"8-@HKyZ_Sm  9L(12y<^T r=xE g0fQfo| 1&()pOvm}h1<^ELrSY|^a Gg8 }( _QBiZ :6IDOEFuP lwa5]=x@ERl~&P_Dk\sEz@+nJT9c"M!R ,'k-0b:XF'),.lK V@^d:p $g=P2,#D`i"@BX$6XG[SVe|igt4 ))^2 ?;NPs]Tg;nu*LF.14LB3FqL[.* ^*!8h""p{yQd =P#'b5t@Ck`Hlix.W3 $"N'\L N `.l?tw(BW E%Rda ]L!TZ4 _jB lw+ka=NtWUhnx{p 0 +%>. 13gNUnjmZuI} L!{)j36BE!Jamqo|! "J8;?&FQ{\ldhUxY G:+q;=0OQ;W Y_n&ru)$(1/6?ADV%[xn1j ((+ .1/6DFJ LaR>P3G8qCXHRjHqH<Qp"@),k@Rs y8>$@DNUgO n&(-1ZNP9U[e\pMyIR E$AANHThgq%wIW -03|V1Z$^#a?hJqt0} I #9->36; >ACFI%OR3[6e"~2  W$,/2DKM1Vqz}s 3&).DLQ=WZ;`:g{l\vCL c<AEā%zPUpa `T/${/%$p OTq 5[a]kecg__a" 0c>G@IRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEUniJIS-UTF16-HA!bA U?dAM6Q#t&+"' +B9Q% G(A %%o/Q %@uA &zwz!O 0/ ]A'A0KQ 3JWVmA3  K? A31$1 ) ') q A3L    a%97=;A?j]`UXw ~6O c]H^[a0kg6 EPT\bhtw|~ma#^dIX MXRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE#C\a !GSk]>d_?V3CMT+ 2!+VS LIS tA ~$c S n$cUP &%$)C$) f7![ S .s"'A"} ";96"B; |,"m  S/P' j>"kOL iOfO>_c 0 m("[<SCiP. S2j Ck9S PX""O( zC ^W-*'0#rS l6B''$cbC x1TI67ZS 94 M-|3)FCmb >M#=:B@; J:E+ 'ch W~92 |C l ; ls9' Vhi N.:K e, d[ 5J|Or]C3 ZZ+./? xvC F Q'  jw *"e4  ? ^(D@ 9zCAc, `2Hj &_;/1 !f PcZw 65 h6  4!;4/QfB.+T* U  9.536?C$<(#CaJ #"k l )@]VI b0# 8%  #  #'`p|k`-k]FI[-&3w;<; ye5@T K9G$ +CUptmZ$;M v3\7V=/jU_(AKv9y.@7 #C.eC.:CK  _!W:rS/0i ww85Rt {v\S /Sh> cr/qS/#&? CZccTc{i7&&So(_4uw$nBS^n}Ha$/7R4 w> .YO@4<{0PS_(VKpAX]X`-tGW-e"NOxe?Kj8]/8GUF ah(.\z($X[op%t:+T}Ra G6]C3!Y"o5n S/N <7JarC8wzC /Ӟ~/_H +<Dw*3`C00: aaC0M;:J =KA&wPy{C3x    5 & C4$&b9S6mhN T  `( 2n$Q@"QcC4lR#.g O8oxmjH9C'4Z%=,'0"kzpkH 7( pa 55F>5$LK&& . ? iGT4\#]r> K4## P\ 8 9 P" ZA8>F 2i5%" $09g  B^g6" \_ ,HBP &7J$(*V 8Cn !4 3< 5&Y1<& C$`j0Q_ \(pDG$% f@zy6d $.~.BdCD&r } v%Qo 3S N*9!#}DR1UCVNL^iO2wli@m32M(7X/uve R\gfN z3 iZj9{: ~WdQ }xXSwhN I@GF5Kr#yC NZ  a ed$ "  CN)Uxy  tuT"yx wnS N݅gN/F7CN9zPA,CN끆bFGCN聤]S NZ4dlmgpSS Oa 4?S O%k! WVroCO.3 $[q/5lCCOwS P*6mO ~z ySP!Bzidof IT;(C,P6^N yXqA(t'FeO?nR E$q)~G>@/.CP@? )#CC2P0 tu5{$yxy5{&'&} |76-05}01(;:) o 19lS P၇ 4Lk+S P_JRTjI CPbEh qtED9UCQ CP+8  )(C(SQA8!1hd;^C:d?)rgCQRr9 B?A)h.7Zm[ M`sCQdJCQS;IF_T_ W>HSS Q~#P367#"C!QQ3+Dwvsgfot1jDYX/[~+*5Rp32CQK a`CQ 1`j.-<='PgS QpQusLEzCTQ5F} =}A jC:yxQP)?I.-B;Q$` ]`9(y7>aR38&x}r3UUp{$7jFPYZoYnO$ih/0CRNGa>` XYGC1Ro #N 1 $g  Z'+P'C*+NMN#IP ON $!zg Z}SRR)hva`o*=3nA@CR|{1tKb CSSC R쁥a HBg#B,EDS SM!xVuB0 KsSCS#OA@CS$UCS%iKTU)S S8S{mo UQxTKS SEVm  C SQp9r]J/h.< CSa!CSYq#J%S Sl"JW+^X;^C#Sw`SN{|IHU pHJyxAnP{c8UN{<&CSWCSy '(RILYU**UT-~WV( V{7SSYJ'L]ZEq5 6##wPHWE#p71R>CSr?S Ty/0i/^E``C&TlC8C< b*t ;:W}]Vt /B'  vC T 4 O  0  CT"^_#]\ GTS T%XmyYCTH7%p7CS Ttz <65CTSTL}B8 =82$0p{C%TǢ 5@=L+mnJo5}:+27.m=* CT^^C'T2DETn oonoE\aJK^j  ONspQ6qS U{4HSZglnKC)U<zo t Of O`Mc~& 4p i MP1W ~owh YCU_C,U:Zrsr u  s}| jkibmz% S V/U8XCX/21(<>C2Xayx ~ vo~ ~ }f ]p| |}|atze `z#S Xhyz_zvC7Xܣ1)t|:)_PG|32kj-1: o|qR#PY6]\Pc^cdxOT[CY iGCX݁y""|/./w$%$;8 =<1S YgMyzYJwB[ CsYs&t32u4T|8izOaE"3.sA|$u X] o B_r/2OJg% t#!D =< ;g* KL =V    GJ #$ ABwa_H9t! ]\NOCYnCYq  ml# , 4?>C;Yyj?%`?<?'&8963767=: ;:KJ aC)Yr  *   ! -IS[HGHIJ[e[h*{S [Cl5*}p>,bC[nDORz5WCC[w C[= S [S:"gGt:C![ɤeJOBWMoX+D)(GB/}L//L}1k'sutSZIR2ebi/PCBk`o`snwEh#J [d   ;2 wG>[_:KFOJ  _h sr !wr  '>ed uH8  on 5KC [sEUC] }|)C] P}|U - z y&TM vRS ^w)$/7C$)C&^?2231 -gngCg`o^ U&nKL9/l C^0r d_C^N}zU'&'xU'zS^t 5j2WWVwS _-,UML+`&C _wFYist}S _!dF^$h%C_-$ 3^5z3B~wz 1;XOtd)iiC_4!! C_. -=<Bf+* C@A( ! H S _|tLb1-`F76C_9-Rhe}FGC_<" #"!C_S _>!f}9edC_-L*whFWPH; J?6|c?:mv C_&C_8 3 5,549 * S `Vp*'zsCC5` 5&#4 +2SJ 78g0>!!F#oA>o: (~  I2k^!pC`]'C`&;(  )(  ED-,))S `7 8R{f^_S `O"Y"ZC`c&?> z C` C`!.1'"S `إzR/Ef5c4GC`gKF>SF_^ #& k]D%"C` C`偨@7)\=<?>;z>;%$8ADCB?S aDj;I}/elC aS!QLiqRCa^(utCalLS an6\q vnC5a~GeSP Qia  7Az5. yz in=P wY*CazC%a{*'& Lw 2BO)vE3vE r4pqF~YVWVS Ra /S bp,89#Z9:$C?b&lon+mVm4w IA3$SM) (3<y r=,wn/xTKm~5rQ{*| sd C b)^ C_ .=>q|  = 4cXq> 8 }t)V C:q7ElMFP/ cn   "v1:E@MPAB:s#  ?@/V#4(w\|E&m`E!107"H@ h9&2i ^5.uxOPO8A]Hn{eZ;6 Pe,C cO<, <0S+~1 Ccs 1 N`1 N=@-<  Cc偃lJ XsC&c"+* 5   ' $CcꁗJ'  9*1 C-c %!  #    "4 Sfk6owY<+(W}RkeN+SOl!RCf4j*/>5GDaZ_BCf3v .'W~Cf7L S f]q63V=C-fiiRg,CcT#pcZ  {fqdQR^2  ! %21@Cfs"% C fjQ SL} 54  ()?f7z[ZEDEDS f'Pm [pNC.gK$=<YnhwSK3Zm5/B}N.I69J1'"-&#"P$Cg(WCg i 76fa`SOS gli;HM,yx`;C g|$}b"9$ gCg{2k jYCgj S g #LT1Zo>Cgnt]x! S g089][: Cg(PNKF% mF#HP6Cg+C g{h~~)&|S g6hoe%$Cg*d}noT}1v_gFYbU]dCg 'CgJ%z~ih~}50~}S h;~-,~x{ 5  C"hH j{xX>9j5I ^?& !}u%&}~ [,EChR,;!ChIvwr3@C454wA& uh96S hKvo6Q)C hQ[]p=CNCh/ChS h0v654O |gC hߘi IZ-&exDCh.Chꁪ A@]pSi sd] h2qtdt=C@i@c  e }S  L\'$=K1.//c(} ?!Y B /nd g2 V +6 } WNK UD\3 B JS Hel) YLuCqip+& 7,    8=$         & 18       oj/0    ad C ih2/.M$ cC i55 sv 2[ Z   XU'J 1C2iB 4;4 ? > EDI LQPUZ g hij      Ci" B5 X  =HR O7Ci 72#   S k_bnomVpQnCki2nOrtE=! .C klc Ckk?S kI[oHGDC5kuu@Ary2o2(4 #3~X ! <XE^vmlQK('Ck=hC/kj 1q  #` ;'pu&LutONO+^ kpk&>srA@uy( "A3yjuwS l ^)M4/P2qtCF ?f =R{tnWG4{t aTyz +Cn9LbC"n2&) &hv {[r % MB$+*)S nC8eX C#nыH8 3% p )410E.e8 e+   c @CCn8 )" m lq pf[XY\C o  S oWAoLUSj!SCHodk 8Xa| >.kB ~%T)sM +j_:Wt CAV ; >g)  h|%  (M  OhQ@ C x CuZ |KGF}#m _DA" CgofDM     AB+2   uv.    /         #  CoQ,?_^  \%WHX  {+|<}'<C(o} %$#?! *  nm) Co~3  %]&.?9 "2 PC.ohC' *  "  !6*,Co3U(0M1lA"#C(ol "  >E !  1   S rW+<dQZ}'JJCErg ?~ XY ~ [ (I@g  _ p`V 1\nN8E~Y= v $?j* YeN E!#E_ Zqv,Q iHu.8CWrtk       7 4+     )("  Cra eRE  5w$xaC8r; %$3,(`a ON HI @=   WCrI (; 85C6rx &  , # CrhH D *  </C/rkA /   @   SuJ]V*-]^dk/0C u0><Z ~EHCu/rCu6E!dS uFS^gX=d'&CuT^JS uYy4q!*H OC udVE#fWZDES uou-hk~dm-(D.CGu@@'U[jeVQPtk|?g"ON   wz[Vad +sczCBu~ 23B 54   KD)(I(!+H CDEP]\SBoUBsYBihEwP h+Z[C u WS vO7o`! CHvw ; `^P x] <2NpgY m\H>I{Z'fpa&{*'T= R#aG Gy61d{PY6;=#L0DA CVv  %&       $.        =:C vy=>o>p,5C v7%  ;  :!5) 5Cv^  `Kb*>OC'v  ."#?  "  C)vr   E$! 8C4v!  = "   +   S y:THy@Cc$C1yGZ3^XJ{r[`t?WpO T$*$Yk:(ih[\ y}W:;ST6%CyE;v NOJK TK ~|FG~DEm nCyDY  S y݁gWk@)()mGCyf; -D$YIv SCyꁙ&SPE%$8C >Cyk S z7 \ >tVCzB6T?@] b  stQPyCzEK C zD+7H K@E S z}*1d)?2ZCz+Z>S zZ>5gC zx niwtjGJCzQCz{ A&#"#S zËT@B=^O C z n#-S zd .61JdwCzzQ07y7  XN#CzcC\5 VWCz #S {% jh9UvC{3JK VoMC{1Z TB 'C{0S {KR'k0NSvC{]i!  g C {`](+LM&| -C{j S{)2 . $) XW"_C{{5(pogLC{bC {30+*+.S {Ěc0byF%CQ{Ϯn Z.-<  zq{r uv#& /.yxKQp(!-05#EB''*s6B;fC{c1   C@BC'{ԁ hifizlmlmlq nut w tun gfeC{ہ&   ) S |ү&HHC3z,C|ܯ'E/+12utCVcK(C|vHI J C|遭1S}2'KkI0cTHC} IL*nS }*6z= 3_C}595XS }?8ZQ.R X1C }K5,tSt/{r kYT 9Vh1Hx C}MN  T5! T WX>{zZ>A<BC}Q8 S}6OS PsbE2TM{C!}N(luX#P?*yk`  k;kr/*d2  C}8I ; a9ihifC}G  S ~12ZPY Ci~&N{  53N  w<St8Q|OjmbTI )  QTdz4ML!GH! b_?6?6K-x +1Z[C~GON + /- C#~'B[Z, 1)01010+ &%"    C~-L /) & S >9IC+yQih9Q$O4;@xzZI$TuiTlYzG'N  8C{j  ~~ ~ /. /.Cp7S큙t!5F }C%7n~elOevk,;%F,3 h . s v qAj>8C+ d      C6y  GFz  ?FC8 tutwNLO@uONvup(p,C y   S MrX\&M0eC S c-xpQ \]WC!=0veyxS 2>76-q\wNC@$?@^<7@ {z9Ma#C<nm5016wv ^Wc\VYI Y C C   S +R?k~u(-,S E%?0kj 6JC ŋ_ Rkp$e^CGJCЁ S ޱELShiP+W tC)m (yJUT=B;ZQC ꁚSML C큮%3S+T,ut3HU>ES'hBC@OJ C<9a`C=/S OcZpK,UACwYWC bmp ;4C Zzh /Q~US ON?PlmmC7[O@*_2wh*!@bINkV!^ 0fW7>!3<# +6Y\%M\*=dy[C5Kdi +*KMf!ml"C 9 )0S _;EP)g?$S id5Cun$A4  CW, -]C s=Mz3 B54CtJS `Zb[=X C8ėr/mv;>,)^( Y 9f ~SZ;~ B#wrShiPitrCJawTv_ CӁ_z G JKGun H J KTĆR%  S ,terqpECPC:Ca(bcbES -zwy* rF?LCO> 9: C& q '"?@rm W 6 ;D{ d/LON)Hb =R  56C'  3,Yt*  Cb%GH( KJaC-| knsrsronmlst/` 5 x'(%  C"m   " #  S X*Vsmlm|C >,Y( _)d ,T>&C- r             +8CP#noano\ alZih] cbhkb Ul 3=tvhcb]t}|d[xzy\ed_^_^ihcba`] bonk*)f=+S  |q,kCC=  UVg)z)CC<x}| mnojkjmjkjSUCwch9&! b.x?HC/h/x/jb SZy d dW tW a;\SCc\F L<q;3dz d+={vuDU\CIk3       .7$  ^[   C  *  <[SZ GFC,iOji0 h[r de$h a`iyx`a` e ` a`a`cC$qG#     S |H=T CNAW!CS XedAb]\C*Z/g`k@YC6@ AC /y#jI#S P.fPbuXIIC5[ ! 6Gn8M#VJ9 :[>rg6>rudu-4i!LO9%K/y`&C]dj kjon KJM|NMLsrOC\ S ڴ3 sC#+JUH0o-,\[bC&C 쁚chiS:7LQ87LS ` .2ikaCF&57<heCDKN'"MFGFTUw h GJ%&onI["5 QPUX1n.SC+- 3 ~ 4J}z4 5~KJONO7|}KCzA@BIHG9HC0  (  S AE/RVgnC HD%5r ]^S u?a wXIRC"Ε*Jbkd (ut_<E 0CX.H) +>< )yR]yQ. 4MC+ʹ}   rqPb c   C8ҁv7Q 54 96 L     '& FG`&'b G  EDEDM Q^0= <9}Cρ<  e    !S G DAVYC_|CU*  CT1V?>^a7Z D#"GF]\S GUVB+E*C ʒq|0 J!1a4 PUC>`aj k CH\iD]\ C@ "GT f#E jO&S|S %!(O:HW~uS 3SJ+/X]#S >X[&vI7C9IZ[^A9&$]^ML c`kA,72S7Z8}|!"A\1K \G&CJ@N_^QKR? j ]^ uN utu0c$C O|7 S dJ#H]k CPfN/4  ;Z]JO` beujpW@=YoVz Tm "SD/ *[xh-6i`Y,/eWiE#& j1+0B0M84 C<;T2uC@v   Z[de-jH%>G>? >=  Z[daC,VC "" )  C -~i '$NC8/0? :=< =<=:=898965 (/ $% !  C?"!& "   S ֶ8G.m Kt^C| %-%"KC:    zC쁒}t67   a,b  i/ &S B0'_tmC:NL}~ u{\  G 5f*wB wz G Nuz +{Qs=:/_bS:KNCOzRON$KJC2MM  zw{ )vSoB?r )#nL$GtC/hxIe9eC .[  zC3W454_m6'9^9o&S ixc6AE$+~CudH e .T  "_6"nUh#c:FWhC5|e t } hehe r _ VWL S,-C5s% hede ED + $#HI YA  Y d#NO @G$YILM # LML LC"tz     yS }'Cx2wxC?AD5.IH6 7BUK), <Dq41cLABup;h%f>)}R$kTC&Y  ~KJ4`"SRON)()VPUT10C &> S 4rs *zHC)E6DsnZU+BAo(g|-8O]&IIyrKHK$A|+1C"|}0Scfi tuC8#S )&QPQ $iC= R C5v54!B="!45~ED6]$qr! mlG@W ~Z36&C"\BCFG }lqono,?o*E>1p>1 0I HI C ?, " S ƸJNP< C ӌ=kd: A|`CܸCЁRKHIyjTA.9H 9yD M61S LyY?e~CEB&Kk% K$\1@02C3G h5Q6q4ETCP.D>HY/P[T ^eVs)f-^- .)M$i 8 $NDCwjpCܰ9?B (Co! HGJc bK5 "   H     L#/A 0 '   pql k lmC93&7'BC8KZ Q8  " RCV*p*= +$0C<u!D (B  V   " C&< */ >A  CMYC ? L  S P]H;C*O Cɏ% $  }bCc\c   H3    C%2?LMLM:!s/b3x-def ](~)$A.)8S !4^M+*;qC-;hszU(> d.lONip E`Q 8aX1Fmf_ZSk6 l| fUzT_ S Z  )2MR `e |G](2/V ;:76;:xde 2dt-}6;D }MIC C6n   ?#  :C eA]7 &C?1g ! !  k xo n mheda L M]HIF E!@  E>C&=C {"  p S \`auxc_,C"6 S+0F-8 _N?$Cd5&oD _",aw~e?nA5Z9:PL}/S]wI3"P!lGjK[~8CCC 5qpq2 FwS? B!*MzCYNh\nY5#Qh;>^ )N"s=2ZCLCCi4LCD ~%HqAQR{e u_E:^Cltq0? or%?jW3JOGbE3 GNYODg/K V_[ *%)2).Ad tZ >28 tC&>eh $,I/^@ !W# `$ (}:C& St+;;I ooCQ n,Ew P>Lx7 2~ B 5I'$'I!,S  [  WX (holQ;z)fV (Ri2W B9E.gO c( _v<.TB -0,|"]    e~2u9/5sR D("Y#l$ Zf (1 %NlB7=(l{ K{$$64&wB(2 > L#8-a_iJv4qIw7 6 @Hk"K0!  $ -'3 \- ` #RaFE '^ > (6u +"h093@9 d&B Rv{2*9/C,Yb"X:[XMiB( *Y8]mYh QS,6AI|tggf8I* , F }0R >xc ;>%e!$*;AGX0nFpcs F#*KPD\am9={ig!*Uy *$+RJ U cN 9cK!` ! jHvarn2~ 0JK7!7E & 5L?X^ M :!0>`y/B &H=\_4 1Vx C8cX6e<p(w* %_7JE2v7o*_{'7.@+[ZfCu^+!/(~~|u=J l,h<l^~I-B(M^ZL0RBLQ\`Sh0s=;=>Tdf)og?jp\sdf|T >\j{ u $ .!%j9<P{]G$v>A5KV\gu-  / [/Q>Ktxg- 1U~rYWKKFIPYy|GkJMr_#hFrtdC_pT~m3"DB=R3i(m@1EJbPx"~:+*07D;>>FH`i km>{~G0 T;so{A% V%(*${eOTc t" (I$c!V9c $cI + 2 ]hv.-c!,*XY)pxCB.aLKb q| #(*3]c[%c. cXsh |k.vqeO prNm)vauCX)\^;qw=aG9KU@^lt #U(Q,\2tS-jz| S#>0 :U?xHKOKm:4t"8-@HKyZ_Sm  9L(12y<^T r=xE g0fQfo| 1&()pOvm}h1<^ELrSY|^+Tc Gg8 }( _QBiZ :6IDOEFuP lwc5]=x@ERl~&P_Dk\sEz@+nJT9c"M!R ,'k-0b:XF'),.lK V@^d:p $g=P2,#D`i"@BX$6XG[SVe|igt4 ))^2 ?;NPs]Tg;nu*LF.14LB3FqL[.* ^*!8h""p{yQd =P#'b5t@Ck`Hlix.W3 $"N'\L N `.l?tw(BW E%Rdc ]L!TZ4 _jB lw+kc=NtWUhnx{p 0 +%>. 13gNUnjmZuI} L!{)j36BE!Jamqo|! "J8;?&FQ{\ldhUxY G:+q;=0OQ;W Y_n&ru)$(1/6?ADV%[xn1j ((+ .1/6DFJ LaR>P3G8qCXHRjHqH<Qp"@),k@Rs y8>$@DNUgO n&(-1ZNP9U[e\pMyIR E$AANHThgq%wIW -03|V1Z$^#a?hJqt0} I #9->36; >ACFI%OR3[6e"~2  W$,/2DKM1Vqz}s 3&).DLQ=WZ;`:g{l\vCL s 5[a]kecg__c" 0>G@Ic_c/Ac+O%zPUpRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEUniJIS-UTF32-HC!bC U?dCM6S#t&+"' +B9S% G(C %%o/S %@uC &zwz!O 0/ ]C'C0KS 3JWVmC3  K? C31$1 ) ') q C3L    c%97=;A?j]`UXw ~6O c]H^[c0kg6 EPT\bhtw|~mc#^dIX MXRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE??? @\a A Q¤k]>d_?V3A´MT+ 2!+FVS LIQĀ tA ~$c Q Ėn$cUP &%$)AĤ) f7![ QĮs"'A"} ";96"BQŀj; |,"m  Q/Ő' j>"kOL iOfO>_c 0 m("[<SAƒiPn QǍ2j AǵkyQ ɐX""O( zA ɞW-*'0#rQ ɬ6B''$cbA ɸ1TIA67ZQ ʈ94 M-|3)FAʻbI>Mc=:B@; J<@A+ʔJ #"k lI)@ ]VI bp# 8%  #  c'`p I A ΆK Y B[ g" 8F.q.J N MyEu~:E cr/qR⼣&? CZccTc{i7&&So(R@⽀'4uw$nBS^n}Ha$/7R4 w> .YO@4<{0PS_(VKpAX]X`-tGW-e"NOR@⾀Se?Kj8]/8GUF ah(.\z($X[op%t:+T}Ra G6]C3!Y"o5n R⿀m <7JarC8wzB ⿓~o_H +<w*s`B〰: aaB〼BcR ㈳O p}$ B㉀Vlyn OR㊐g  D5,=2 ^B㌀pB㊩ZB㊢{R ㌃jr[Z B一0+B2㌔"   *? F#F?#,y`P'>M;:J =PKA&wPy{B㌗x   B 5[ f B㐂$&bySvmhN  M`( rn$"cB㐅l#ng xox-jyB'㐆Z%},g0"kzDpkH w(\ paP u5>u$LK&& B.I iGt\c]Qr~ K4#c \ O8 9L P" Z[A\8~F riue" $p9g@Z  ^gv"Z _^ lH fSwJd(W*VW xCnV !4 Us< u&1?R 侈%k! WVroB侖.3 $[q/B5lCB侚wR 倖*6mO ~z yR倡Bzidof IT;(B,倶^NIyXqA(t'FBeO?nR E$qC)~G>@/.B偀? )cB2倰E tu5{$yxy5{&'&}I|76-05}01(;:B) o 19lR 僡 4Lk+R 僭_JRTjI B價bDEh qtED9UB儈 B僺+D8  )(C(R兀qs!1hd;^C:d?)rgB兒r9 B?A)h.7Zm[ MC`sB兤JB兓;IF_T_ W>HDSR 冉~#P367#"B!冗Q3+Dwvsgfot1jDFYX/[~+*5Rp32B冝K ]a`B冘 1`Bj.-<='PgR 凰pQusLEzBT函5FA} =}A jC:yxQP)?I.-GB;Q$` ]`9(y7>aR38C&x}r3UUp{$7jFPYBZoYnO$ih/0B刕Na~` XPYGB1刅o #N 1 H$g  Z'+P'C*+HNMN#IP ON F$!zg Z}R勛R)hva`o*=3nA@B勲|{1tAKb B匀SB 勬a HBg#GB,EDR 匕M!xVuB0 KsSB 匣OA@{moZ@x B匤UB 匥iKTU)|UQC&R 卅Vm  B 卑p9r]J/h.< B卡!B卙q#J%R 卬"JW+^X;^B#卷`SN{B|IHU pHJyxAFnP{c8UN{<&B厓WB卹 '(DRILYU**UT-~WVB( V{7R叝YJ'L]ZEq5 6##wPHWE#p71R>B叺rF?R 合y/0i/^E``B&君lC8C< b*t ;A:W}]Vt /B'  BvB 吞 4 O M0  B吚"^_Q#]\ GATR 咈%XmyYB咕H7%p7CR 咤tz <65B咱R 咷L}B8 =82BX哀i$0  5@=L+mnFJo5}:A+27.m=*  A zo t Of O`Mc~& M4p i MPG1W ~owh YB哿^^gB'哃N98UE @DG\]FConKHqxI}| ]ih) B1哊on o nonFo jkjKqpYtOursr u Nrspqr sjEklm liR 嘯U8XB堯2q(|>B2堃ayx ~ vo~ ~I}f ]p| |@}|atze `Ez#R 壐hyz_zvB7壜1)t|:)_PG|G32kj-1: o|qR#PY6]\EPc^cdxOT[B夋iB壝yb"|/./w$%$;8C =<1R 奧MyzYJwB[ Bs女&t3C2u4T|8izOaE"3.GsA|$u X] o BA_r/2OJg% tC#!D =< ;Rg* BKL =V _   GJ #$A ABwa_H9t! ]\NOB妤n[B姊q  Wmlc _l_ S4?>B;她j?N%`?<?F'&896T376w=:I;:DKJQS aB)奲 PI*H  W T!J-C R宀HGHIJ[e[h*{R 宓Cl5*}p>,bB6実nDORz5WC;BGt:eJOBWMoX+D)(GB/}LA//L}1k'sutSZIR2ebi@/PCBk`o`snwEh#J [dR   ;2 wG>F[_:KFOJI _h sr awr  '>edKuH8  onK5KB 寀q|G PzqZbB尔*? rNO No\eB.宬wa E{zu M Su  M%&P-0 52V56B宷y_~  boc2[$DB寬NB+宭= D W d I bcH J W R 巠coXYePB0巫m W^ysje+x7C.Tq4mh[= oOB" qbGBa` !>UB巸 }@|iB巹 MP}|U -Jz y&TM vRR 幷)$/7C$B'庁?2231 -gngCg`o^JU&nKL9/l B庙0r`d_B庀 N}zU'&H'xU'zR 延t 5j2WB开VWVwR 弆-,UML+`&B 弓wFYist}R 弡dF^$h%B6弭$ 3^5z3BB~wz 1;XOtd)ii@-`F76-Rhe}FGB弴P!! B!弮 -=<Bf@+* C@A( ! H ubJ#254!R 徧>!f}9edB徳-L*wEhFWPH; J?6|c?:mvN B德fB徵8K3 5,549J* R 怒Vp*'zsCB5怠5&#4 +2SJ F78g0>!!F#oA>o: (~I I2k^!pB恝gB怟&;(J )(  EBD-,))R 悢7 8R{f^_R 悰O"Y"ZB悼c&G?> z B惕 B悻!C.1'"R 惘zR/Ef5c4GB惧gKF>SF_^D #& k]D%"BB惲 ^B惥@7)\=D<?>;z>;%$8ADCB?FR 慄j;I}/elB 慓!QLiqRB慞(utB慬LR 慮6\q vnB5慾GCeSP Qia  7ADz5. yz in=P@ wY*B憘zB%慻*'&KLw 2BO)vE3vE rE4pqF~YVWVSKRa /R 戚p,89#Z9:$B?戦lon+mV@m4w IA3$SM) (3<y@ r=,wn/xTKm~5rQ{*| Dsd B 戩^ C_D n=~q|  = 4cXqC> 8 }t)HV C:q7ElMFP/ Dcn   "v1:EA@MPAB:sE#  ?@/V#4(w\|NE&m`E!107"H@ h9&2i C^5.uxOPO8A]Hn{eZF;6 Pe,B 揵^O|, |pk~q B揑s 1 NQ`q N=@HmY|  B揥lJ sB&掽bkj I u O QI'I $GB揪Jg R [yjZq IB-揁 V%Za K#K H  Zbt R昜k6owY<+(W}RkeN+SOl!RB昴j*/>A5GDaZ_BB昳v J.'W~B昷LF R 晝q63V=B-晩iRg,CcTF#pcZ  {fqdQR^2 B ! %21@B晳"e B 晪Q SL@} 54  ()?Df7z[ZEDEDR 曷'Pm [pB/最7&$=<YnhwSK3Zm5/B}N.I6A9J1'"-&#"P$B朎(B朁_ i 76fDa`SOR 杬i;HM,yx`;B 杼$}bE"9$ gB杻D2k jYB构j R 枕 #LT1Zo>B枠nt]x! R 枯089][: B柁(PNKF% mF#HP6B枻+DB 枾{Ch~~)&|R 柮6hoe%$B<査*d}BnoT}1v_gFYbU]di,B~ 5 *gj{xX>9j5I ^?& !A}u%&}~ [,EB柺J'~N {!B-柹JD%z~ih~}50~}xEyvwr3@C454wEA& uh96R 梭Kvo6Q)B 梹Q[G]p=CNB棈/B梻GR 棏0v654O |gB 棟i IZ-&eExDB棨.B棪 A@]pR椃 sd] h2qtdt=B%椙@^C 8+& 5|,J (}hwrqt)\LuB楨2B椖%$%F&_;=$p"a]R 楷uf`=~B榁c1*}1,8=$ A(}L )?n i lB  AJ  knd{d:-g2,W '+6F uN  i@j=8    ojE/0 {~3("Hcbadyz1S Hl)DBLPGHB 榘4n U$ cB榀;wv r[ ZJ  FXUg  qPB+榒)? > CEDI LQPRUZIPg hijH  M   Z B榨u X  }RJO7B榍LwrVW# E V R 歟bnomVpQnB歩2nOrn@E=! .B 歬cF B歫?TR 殬I[oHGDB5殷uu@@Ary2o2(4 T#3~XA ! <XE^vmlQK('B毖=(\B/殽jM1q  #` ;'puB&LutONO+^ kpk&>NsrA@uy( "A3yjuwR 沁 ^)M4/P2qtCF ?@f =R{tnWG4{t aTyzD +B渹L_"B"渲&) &Fhv {[r %KMB$+C*)R 滇C8eX B#滑H8 3% p )41A0E.e8 e+  A c @CB滙8 )" mLlq pf[XY\UB 漄  SR 潗AoLUSj!SBH潤k 8XSa|N >.kB ~eT)sM kj_:WtKCAV ;M>g) Z h|% L(M  OhQ@LC x CQuZ |KGFW}#m _DAH" Bi潦DMC   H  AB+2B  Muvn R  Ko    W  J  #M  @B澈Q,_N^  \%WHX  {k||}g<B(潽 M%$cWB!`jX X nWmi HB潾3MJ%]&ny b\2IB.潨Cg j C HOXV"` avj,HB澇3Uh0 1T,bcB*潬V T"YL ~J! H q @ Z UR 牗+<dQZ}'JJBE牧 ?~ BXY ~K[ (I@g  _ p`]V 1\DnN8EQ~Y= v $O?j* YDeN E!cE_ ZqOv,Q ^iHZu.8BW牴k B   IP  XwD 4+L A  L)(b JB犱a eK QuwdxaB8犍;K%$3lQ(F`a ONR HI F@= JN HWB犛I h{Z x_5WB6牸NP &L TO EFl c ZB牨HLMj  |oZB/牫AW oN`F X @`] I R甞J]V*-]^dk/0B 田><Z ~EHGB甯rB甶E@!dR 畆S^gX=d'&B畔^JR 留y4q!*H OB 畤VE#fWZDER 畯u-hk~dm-(D.BG畿@B@'U[jeVQPCtk|?g"OND   Fwz[Vad +sczBD疁~ 23B 54@  KD)(IF(!+H CDEP]\SBoUBsDYBihEwP h+Z[B 疅 WVR 皀O7o`! Bi皐w C; `^P x]B <2NpgYC m\H~I{Zgfpa&{*N'T= R#aG] Gy6N1d{PY6;=#FL0DAQ +c8gBcg3^X1c`2WpO TIE$YK:;  }@W STmBh皋M %&H]  K G  O d.I F   I  =:S  @* + U B皛y=N>o~plucuB硏B睪U~B'盅we W{ Q [ !ui u G NB皝^ W X E b*~OQ2N B2皕  Ynb#]I Z"_ YQ d  b  MB0皭r[F  FWJd!YU xBnXBB皟a O D}M"U ` k G  FNM _R 秝gWk@)()mGB秩f; -DD$YIv SB秪&STPE%$8C >B秱kJR 稷 \ >tB穀b \e$XdAC?B穃! JB穄+AHSRK  @ENA)3Z)>R 窐Z>5gB 窟x niwtjGJB窠QB窞{ A&#"#R 竃T@B=^O B 竑 n#-R 童d .61JdwB端zQ07y7B  XN#B竴cC\H5 VWB竱 cR 笥 jh9UvB笳JKKVoMB笱Z TBC 'B笰 @R 筋R'k0NSvB筝i!  Kg B 筠](+LM&| P-B筪 YR箔)2 . $) XW"_B箪{5(poGgLB箯bB 箥30+*+.DR 範c0byF%BQ篏n Z.-<H  zq{r uv@#& /.yxKBQp(!-05#EB''*s6BA;fB篗cq Z  CBB'篔 hifBizlmlmNlq nutIw tunIgfeB篛f  QI) SR 糒&HHC3z,B糜'E/+12utCAVcK(B糝vHI JMB糩1R紏2'KkI0cTHB素IL*nR 紪6z= 3_B紵95X+R 絀&Q.R X1B 絋5,tSt/{r kYTK9Vh1Hx B絍N  T5! T WXB>{zZ>A<BB絑8 ER綪6OS PsbE2TM{B!綽N(GluX#P?*yk`  k;kr/*Ed2  B緀8I ; a9iNhifB緢G E R 縛12ZPY Bi縦N{  53BN  w<St8Q|OjBmbTI )J QTdz4MHL!GH! b_?6?C6K-x +1Z[B繇ON Yk o-N B%縧B[Z,M1)0101B0+ &%D" @    U B縭L No)\ f CR 耀>9IB+聹QihD9Q$O4;@xzZI$TuiTlHYzG'N  8B聻jL  ~~ ~L/. /.B肁p7NR胭t!5F }B%脂7n~elOTevk,;%F,O3 h . s vF qAj>8B+脉dG K  A  FB6脃y  GFz C ?FC8MtutwNELO@uONvup(@p,B脋yH N V R 與MrX\&M0eB舒 R 舖c-xpQ \]WB舡=0veyxR 舲>76-q\wNB艀$?@^<7@L{z9Ma#B舼Gnm5016wv ^Wc\CVYI Y B 艃 K R 芩+R?k~u(-,R 芷E%?0kj 6JB 苅_ Rkp$e^B苆GJB苐 R 苞ELShiP+W tB苫)m E(yJUT=B;ZQB 苪SMAL B苭%sR茫T,ut3HU>ES'hBB荀OJ B茼9Fa`B茽/DR 荏cZpK,UAB荷YWB 荢mpE ;4B 荚zh /QB~UR 莘ON?PlmmB7莢[O@*C_2wh*!@bINkV!^ 0fWE7>!3<# +6Y\%MH\*=dy[B莧5K@`i +*DKMf!Pml"B 莦9 ipUR 葟;EP)g?$R 葩d5BN葵n$AG4  CW, -]}Z=2A sr/mv;>,)^( @Y 9f ~SZ;~ BA#wrShiPitrCJawTv_ AB/葳=MzD3 B54CBAz NG JKGQun H J KTAB葴JTv%O P R 薄,terqpEB薗PB薐:B薏a(bcbER 薤-zwy* rF?LBO薹>F 9: C& q '"C?@rm W 6M ;D{ d/LON)NHb =R  M56C'  3,Yt*  AB薷bV%G]Hh KOJ!B-薼|Jknsrs@ronmlstC/` 5 xO'G(%  B"薴mI \_ Q" # E R 蜂X*Vsmlm|B 蜘>lY( _)dM ,T~&B-蜍r   L    I B   F+8BP蜎#noano\ alZih] cAbhkb UlJ3=tvhcb]t}|d[xzAy\ed_^_^ihcba`] bonAk*)f=+R 蠍 |q,kCB蠟=  DUVg)z)B蠜B蠘<x}| mnojkjmDjkjR衕Cwch9&! b.x?HB/表/x/Hjb SZyI d dW tW a;H\Sc\F LA<q;3dz d+^={vYuDU\BK衫3 B    T  .7E$ E ^[D@  JB袘 [ j  |D[Z OGFB,衩OjipC h[r dQe$h a`iyFx`a` Le ` a`a`XcB$衱GDcUK O ` R 討|H=T CNAW!B訛R 訝XedAb]\B訪Z/g`k@YB訶@IAB 訯yA#jI#R 詐.fPbuXIIB5詛 ! 6Gn8M#VJ9E :[>rg6>rudu-4i!LO9B%K/y`&B詝dj kjoFn KJM|NMQLsrOB詜Z GR 諚3 sB諤#+JUHA0o-,\[bB諴&B 諬chiS:E7LQ87LR 謙` .2ikaBF謦57< iyR]yQT. tMB+賍}  I rqbJc CP LB8賒v7Q 54 B96  U   '&S FG`&'b G  ECDEDM Q^0= <9}B賏<  eB  C  `!R 蹇 DAVYB蹟|XB蹕*  DB蹔1V?>^a7ZMD#"GF]\R 躩GUVB+E*B 車q|0 J!1aE4 PUB躾>A`aj kF B躳H\iD]E\ C@ "GTE f#E jO&S|R 輥!(O:HW~uR 輳SJ+/X]#B?輾X[BV[^Ay&$]^ML c`kA,B72S7Z8}|!"A\1BK \G&B轀?LON_^Q R? jL]^ uN utFu0c$B 轁{ wA R 逓dJ#H]k BP逝fN/4  ;ZD]JO` beujpW@=YoVz TDm "SD/ *H[xh-6i`Y,oe[WiE#& j1+0NB0M84MC<;T2uB@逞v J Z[deB-jHe>G]>? >=W  NZ[daNB逬VW bbJi  B 逭~i H'dNB8逯0?K:=<K=<=:=898E965 (/I$% !] JDB逿baf b F  ER 釖8G.m Kt^B釣| e-%"KB釡:F    @zB釬}t67   Ba,b  i/ &R 鉂0'_tmB:鉎L}~ u{\  G A5f*wB wz G NUuz +{Qs=:/_bBS:KNB鉏zONNdKJB4鉍M Izw@v{ H)vR錜oB?r )#nL$GtB錯hxXIe9eB 錮[ H zB錳W454O_m6'9^9o&R 鍩xc6AE$+~B鍵dHMe .T  b_v"nUXh#cH:FWhB5鍼eW t }I hehe rJ_ VWFL SA,-B5鍳% hBede ED + $E#HI YA  Y d#NOD @G$YILMJ# LMLLLB"鍴zO ] I  ET9ER 閟}'Cx2wxB?閭ADD5.IHv 7BUK@), <Dq41cLABup;h%f>G)}R$kTB&閫Y  ~FKJt`"SRONC)()VPAUT10B 閺&^~Z RR 隔4rs *zHB)隠E6DsnZU+BCAo(g|-8O]&IIyrKHK$A|+D1B隤"|}0STcfi tuB隟8cR 霂)&QPQ $iB=霍R C5v54!B="F!45~ED6]$qr! mlDG@W ~Z36U&B"霔\BCFGJ}lqono,?o*UE>1p>1 0I HIB B 霚?l "D R 韆JNP< B 韓=kdA: A|`B韜B韐RKHIyjTA.9H 9yDIM61R 頌 LyY?e~BE頗B&Kk% OK$\10rC3G h5Q6qF4ETCPnD~HY/P[TL^eVs)fN-^- .i $iK8 $DDCwj^pB飜9? (Bo頡 HGHJc bKuL"W  S T E   A L#/ C0 'J P pqlMk lmB頹3f7gBB頞8Z HZ Wx Q "IB顖*pj} k$p]B<頖uaJT(OCMR L  bMB頦P|R j]o >AR W BM頙YN]PM] \Q H@ T ER 鮦P]H;C*O B鯉% $  }WbB鮱c\Dc  MH3    B%鮰2?LMLM:A!s/b3x-def ](~)B$A.)8R 鰡4^M+*;qB鰭;hszU(>G d.lONip E`QL8aX1Fmf_ZSk6A l| fUzT_LS Z  )2MRE `e |G]([2/ ;A:76;:xde 2dt-D}6;D }MIB黃 B鰶nJ JN#Q `zB 鱥A]w C&_B?鰱g !L !  k Xxo nLmhedHaIL NMHIDF Ea@  EB>B&鰽CE {b H][ OpR R 鼎\`auxc_,B福"6 R侮F-8 _N?$Cd5&oDR懲9_",aw~e?nA5Z9:PL}/R艹wI3"P!lGjK[~8B! 5qpq2 FwS?@ B!*Mz B ︐Lg @DBffC 𡨚u#Qh;>XL)"s=rZC🄀}C🈂i4LC眞-C𠤎SCB𠀋~%HqAQR{[Ez^ClNt10 ore?*W3 Ob3` NYOD'/K V_[ *%)Q2).Zd tZ >R28 tCf>eh d,I/F^@ !WeX$ h}zC𢘉S4+{;I /oC𠂉Q n,O7 P~ xw 2~ `u g$g a,  [  ]WXM(ho,Q{:)EfWY hi2 \B9.g c(Mv|.BL-0,|"]    e~2uyo53RM("Ycld Z&@ (q %NWl7}(l{ {d$v4fwB(r`~  cxm!_i vtq ww O6 X|m g \ zxw  P  &U{;"^ mys*wi< ib%$a¡e!A$*;AGXAs @#* K@UaǸsh |knva΄]L!T\Zt _j lwb†DnUamy={Vig!*Uy *$k>J@  @6< Bp" F0G@fIb享`9bOⅠ ! jHv!rnr @~ 0J?7@ w!7EM& 5 ?\^F M :n!0~ yoB_ &=\_4 1Vx 8cXve&wj X%7 Ervwo*{Y'7n@k[fu^k!/(~~|u}J l,h|l~U mB(M^Z 0BLQ`hps}{}>dpogjp\3dc|V >T\*{ u`d n!%j9<P{]$v>AuK\gum  o [/> txE'- 1^U~rYW KFIYp|kJMr_#hrHt$\_pT~m3"DB=Rsihm1EJbPx"~zk*0R7;>~FH`i km~{~]p T{so{%I%(j${eOT[a]keBg_b⁴"F ( db⅖9b Ⓐ c@mI k r` ]hvP.-b↖,*YipxBnaLKb q| C#(*3]cb﹅_b者%b⺌ bNḾqeLprmivauDX)\O^;qAw=!GyKU^lt T#(,\2tSmj:|[ #~0d?xH O mztt"8m@HKyZ_Sm  y (q2y<TKr}x g0o| qfh)0Ovm\}(1[<ELrSY|^kTb⁇'8 }@ ( _Qi :vIOZEFu lwb㕝=xElY~&P_ksz+H.JT9#bM!RF ,gk-0":P<.Ih_=e|RVbp' qHd K^Yq*R yRm  x5?T'T[Z+Hko~X'),.lK <u_Dh Rr M~V`dzp dg}2lcD ib@B$vXOGSV~igtt ))^2 ?{NPs]g{nujL.q4 BsFqLn*] *a8hbbp{y$ }Pggb5t@k Hlixns d"N'L N``nl?twhBJE%RTeb≤kkb;乴WUh.xB{0 ]p k%~. 13gNUnjmZu } ] !{)j36BYE!Jamqo|!M" 8;?fFQ{\ldhUx z^+q;=pOQ{W Y__n&rui$](1/v?AQDVe[8nqj T((+ .U1o6DFJIL!R~Y81CXHRjq|Qp"),k@sx~$H@DUg Mn&(m1N\PyUepMy  E$ANThgq%w W -0O3|V1Zd^cah qtp}   cy-~36Y; >ACFIeORs[veb~2M $,/[2DKM1Vqz}sP 3&[).L^Q}WZ{`zg{lvP  c 🄐@ %A@ Q%zPU0RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniJIS-UTF8-HA°MB←bB ‐UdB′QP6R⎛t&+"' +B9R┌G(B ┥o/R ╀uB ☜zwzaO_ 0/Y ]CB✂B゠KR ㌃JWVmB㌔  R ?[ B㌕1$1 F) ')Lq B㌗L   B b─97=;A?j]`UXwI~vO c]HQ[b〘kg6 EPT\bhtCw|~mb⎰^dI MXRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!A\a !GQk]>d_?V3AMT+ 2!+VS LIQ tA ~$c Q n$cUP &%$)A$) f7![ Q .s"'A"} ";96"B; |,"m  Q/P' j>"kOL iOfO>_c 0 m("[<SAiP. Q2j Ak9Q PX""O( zA ^W-*'0#rQ l6B''$cbA x1TI67ZQ 94 M-|3)FAmb >M#=:B@; J:E+ 'ch W~92 |C l ; ls9' Vhi N.:K e, d[ 5J|Or]A3 ZZ+./? xvC F Q'  jw *"e4  ? ^(D@ 9zAAc, `2Hj &_;/1 !f PcZw 65 h6  4!;4/QfB.+T* U  9.536?C$<(#AaJ #"k l )@]VI b0# 8%  #  #'`p|k`-k]FI[-&3w;<; ye5@T K9G$ +CUptmZ$;M v3\7V=/jU_(AKv9y.@7 #A.eA.:AK  _!W:rQ/0i ww85Rt {v\Q /Sh> cr/qQ/#&? CZccTc{i7&&So(_4uw$nBS^n}Ha$/7R4 t- .YO@4<{0PS_(VKpAX]X`-tGW-e"NOxe?Kj8]/8GUF ah(.\z($X[op%t:+T}Ra G6]C3!Y"o5n Q/N <7JarC8wzA /Ӟ~/_H +<Dw*3`A00: aaA0M;:J =KA&wPy{A3x    5 & A4$&b9S6mhN T  `( 2n$Q@"QcA4lR#.g O8oxmjH9A'4Z%=,'0"kzpkH 7( pa 55F>5$LK&& . ? iGT4\#]r> K4## P\ 8 9 P" ZA8>F 2i5%" $09g  B^g6" \_ ,HBP &7J$(*V 8Cn !4 3< 5&Y1<& C$`j0Q_ \(pDG$% f@zy6d $.~.BdCD&r } v%Qo 3Q N*9!#}DR1UAVNL^iO2wli@m32M(7X/uve R\gfN z3 iZj9{: ~WdQ }xXSwhN I@GF5Kr#yA NZ  a ed$ "  AN)Uxy  tuT"yx wnQ N݅gN/F7AN9zPA,AN끆bFGAN聤]Q NZ4dlmgpSQ Oa 4?Q O%k! WVroAO.3 $[q/5lCAOwQ P*6mO ~z yQP!Bzidv IT;(A+P6^N yXqA(t'FeO?nR E$q )G>@/.AP@? )#012A2P0 tu5{$yxy5{&'&} |76-05}01(;:) o 19lQ P၇ 4Lk+Q P_JRTjI APbEh qtED9 :AQ2vAP+- 8EF )(C(QQA8!1hd;^C:d?PxgAQRr9 B?A)h.7Zm[ M`sAQdJAQS;IF_T_ W>HSQ Q~#P367#"A QQ3+D{vsgfot1jDYX/[~+*5Rp32AQKa`AQ 1`j.-<='PgQ QpQusLEzATQ5F} =}A jC:yxQP)?I.-B;Q$` ]`9(y7>aR38&x}r3UUp{$7jFPYZoYnO$ih/0ARNGa>` XYGA1Ro #N 1 $g  Z'+P'C*+NMN#IP ON $!zg Z}QRR)hva`o*=3nA@AR|{1tKb ASSA R쁥a HBg#B,EDQ SM!xVuB0 KsSAS#OA@AS$UAS%iKTU)Q S8S{mo UQxTKQ SEVm  A SQp9r]J/h.< ASa!ASYq#J%Q Sl"JW+^X;^ASw`SNIHU pKJyxAnP]8UN{ASr?Q Ty/0i/^E``A&TlC8C< b*t ;:W}]Vt /B'  vA T 4 O  0  AT"^_#]\ GTQ T%XmyYATH7%p7CQ Ttz@ 65ATQTL}B8 =82$0p{A$TǢ 5@=LmnJo5}:+27.m=* AT ^A'T2DETn oonoE\aJK^j  ONspQ6qQ U{4HSZglnKA(U<zo t Of O`Mc~&% 4p i MP1W ~owh YAU_)_A,U:Zrsr u  s}| jkibmz% Q V/U8PDCXY\[TAVNL kvSV 1#<kl Y\AVBZ bEkA+V;* {ihxkvwv ifgd u ~gd%*r}% ab%*t56Q VȢgLiHw38t/AVӢjQ Vעk_=Je9 ACV R1 eV}~OdKJ*yr `W6.y_6;4cb %1V yvK6_AWY` FAFVPduttkxpmhy{p mh ut torIHy IH{xzyz WRc-~Q WexOlv3A8X y@D cb)7O~_}%.cL?B54\Ia@.V gv SsDMLUP # O>AX/2,+<>A2Xayx ~ vo~ ~ }f ]p| |}|atze `z#Q Xhyz_zvA7Xܣ1)t|:)_PG|32kj-1: o|qR#PY6]\Pc^cdxOT[AY iGAX݁y |"|/./w$%$;8 =<1Q YgMyzYJwB[ ArYs&t32u4T|8izOaE"3.sA|$u X] o B_r/2OJ t#!D =< ;g* KL =V    GJ #$ ABwa_H9t! ]\NOAYnn,AYq  ml# , 4?>A;Yyj?%`?<?'&8963767=: ;:KJ aA)Yr  *   ! -IQ[HGHIJ[e[h*{Q [Cl5*}p>,bA[nDORz5WCA[w A[= Q [S:"gGt:A[ɤeJOBWMoX+D)(GB/}L//L}1k'sutSZIR2ebi/PCBk`o`wE9J [d   ;2 wG>[_:KFOJ  _h sr !wr  '>ed uH8  on 5KA[sE2 >{CP:1bA\*? 2NO N/G%A-[΁z {z5   5   %&-0 5256A[ׁz $2%  "o#2$CA&[́D $  "#    Q ]coXYePA/]m W^ysjx7.Tq4mh[= oO" qbGBa` !>UA]A] TS|$'"|UML- z y)NTM vRQ ^w)$/7C$)A$^?2231 TgngCg`o^ U&nKLgl A^pH A^N }-*zU'&'KBUQ(zQ^t 0{2WWVwQ _-,UML+`&A _wFYist}Q _!dF^$h%A_-$ 3^5z3B~wz 1;XOtd)iiA_4!! A_. -=<Bf+* C@A( ! H Q _|tLb1-`F76A_9-Rhe}DGA_<"Y4"!A_Q _>!f}9edA_-L* FWPH; J?6|c?:mv A_5 4A_8 3 5,549 * Q `Vp*'zsCA4` 5&#4 +2SJ 78g0>!&#oA>o: (~  I2k^!pA`]'A`&;(  )B  ED-,)(Q `7 8R{f^_Q `O"Y"ZA`c&?> z A` A`!.1'"Q `إzR/Ef5c4GA`gKF>SF_^ #& m]D%"A` %$A`偨@7)\=<?>;z>;%$8ADCB?Q aDj;I}/elA aS!QLiqRAa^(utAalLQ an6\q vnA5a~GeSP Qia  7Az5. yz in=P wY*AazA%a{*'& Lw 2BO)vE3vE r4pqF~YVWVS Ra /Q bp,89#Z9:$A?b&lon+mVmG IA3$SM) (3<y r=,wn/xTKm~5rQ{*| sd A b)^ C_ .=>q|  = 4cXq> 8 }t  EV C:q7ElM/ cn  v1:E@MPAB:s#  ?@/V#4(w\|E&m`E!107"HH h9&2i ^5.uxOPO8A]Hn{eZ;6 Pe,Acþ'1VO<, g"fcb#?"+~1 Acs 1 N`1 N=@-<  A,c"_ b+*qp $w x      $AcꁗJ'  9*1 Ado(70A-c %!  #    "4 Qfk6owY<+(W}RkeN+SOl!RAf4j*/>5GDaZ_BAf3v .'W~Af7L Q f]q63VyA-fiiRg,CcT#pcZ  {fqdQR^2  ! %21@Afs"% A fjQ SL} 54  (T=f7z[ZEDEDQ f'Pm [pNA,gK$=<YnhwSK3Zm5/B}N.I69J1-&#"P$Ag(D34Ag i 76fa`SO 'Q gli;HM,yx`;A g|$}b"9$ gAg{2k jYAgj Q g #LT1Zo>Agnt]x! Q g089][: Ag(PNKF% mF#HP6Ag+A g{h~~)&|Q g6hoe%$Ag*d}noT}1v_gFYbU]dAg 'AgJ%z~ih~}50~}Q h;~-,~x{ 5  A!hH j{xX>9j5I ^?& !}u%& [,EAhR,;!AhIvwr3@C454wA& uVOh96Q hKvo6Q)A hQ[]p=CNAh/AhQ h0v654O |gA hߘi IZ-&exDAh.Ahꁪ A@]pQi sd] h2qtdt=A7i@c  e }S *'$=K ) /c, ?!Y nd g2 V +: WNK UD\#B JS Hel) YXAqip+& 7,    8=$         & 18       oj/0    ad AibX2!Y z^.h(#$" yz$ \A"i55 IHsv 2[ Z   XU'J 1{zA2iB 4;4 ? > EDI LQPUZ g hij      Ai" B5 X  =HR O7Ai 72#   Q k_bnomVpQnAki2nOrtE=! .A klc Akk?Q kI[oHGDA4kuu@Ary2o2(4 #3~X ! <XE^vmlQ^'Ak=hGA/kj 1q  #` ;'pu&LutONO+^ kpk&>srA@uy( "A3yjuwQ l ^)M4/P*yqtCF ?f =R{tnWG4FM aTBARE +An2&) Yhv {[^r wMBr}A n;w $ Q nC8eX A#nыH8 3% p )410E.e8 e)   c @CAn8 )" m lq pf[XY\A o  Q oWAoLUSj!SA=odk 8Xa| >.kB ~7 >s:W | CAV ; >g)  h|% A OhQ x CuZ |KGF}#m _{" %AgofDM     AB+2   uv.    /         #  AoQ,?_^  U5)0/# %WHX  {J9 h op'<M A'o} %$#?! * nm) Ao~3  %]&.?9 "2 PA.ohC' *  "  !6*,Ao3U(0-IilA"A)ol "  >E !  1   Q rW+dPdQZ}'JJAErg ?~ XY ~ [ (I@g  _ p`V 1\nN8E~Y= v $?j* YeN E!#E_ Zqv,Q iH! .8AWrtk        7 4+     )("  Ara eRE  5w$xaA9r; %$3, (`a ON HI @=   WArI (; 85A6rx &  , # ArhH DTU *  </>#A/rkA /   @   QuJ]V*-]>k/0A u0><Z ~EHAu/rAu6E!dQ uFS^gX=d'&AuT^JQ uYy4q!*H OA udVE#fWZDEQ uou-hk~dm-(D.AFu@@'U[jeVQLtk|?g"ON   wz[Vad +sczAu~#/c b    wvA8u cbSRc \{Y  !@= B74Eons832Iih i.G+ BQ vO7o`! AGvw ; `^P x] <2NpgY m\HECZ'fpa&{*'T= R#aG Gy61d{PY6;=#L0DA AVv  %&       $.        =:A vy=>oB/{,5A v7%  ;  :!5) 5Av^  `Kb*>OA'v  ."#?  "  A)vr   E$! 8A4v!  = "   +   Q y:THy@CjVA1yGkU^XJ{r[`t?WpO T$*$Yk:(ih y}W:;ST6%AyE;v NOJK TK ~|FG~DEm nAyDY  Q y݁gWk@)()GAyf; -D$YX'v SAyꁙ&SPE%$8C >Ayk Q z7 \ >tVAzB6T?@] b  stQPyAzEK A zD+7H K@E Q z}*' d)?2ZAz+Z>Q zZ>5gA zx niwtjGJAzQAz{ A&#"#Q zËT@B=|^O A z n#-Q zd .61JdwAzzQ07y7 XN#A{W A z;:\ j I |Q {% jh9UvA{3JK VoMA{1Z TB 'A{0Q {KR'k0NSvA{A {]i! &A{`](+TULM&jo 8+-Q{)2 . $) XW"_A{{Tap^5LA{bA {30+*+.Q {Ěc0tRyF%AN{Ϯn Z.-<  zq{r uv#& /.yx !-05#EB''*s6B;fA{c1   C@BA*{ԁ hifizlmlm @Uq nut|+Sw tun gfeA{ہ&   ) Q |ү&HHC3z,A|ܯ'E/+12utCVcK(A|vHI J A|遭1Q}2'KkI0cTHA} IL*nQ }*6z= 3_A}595XQ }?8ZQ.R X1A }K5,tSt/{r kYT 9Vh1Hx A}MN  T5! T WX>{zZ>A<BA}Q8 Q}6OS PsbE2TM{A!}N(luX#P?*yk`  k;kr/*d2  A}8I ; a9ihifA}G  Q ~12ZPY Ai~&N{  53N  w<St8Q|OjmbTI )  QTdz4ML!GH! b_?6?6K-x dc[A~GON + /- A#~'B[Z, 1)01010+ &%"    A~-L /) & Q >9IA+yQih9Q$O4;@xzZI$TuiTlYzG'N  8A{j  ~~ ~ /. /.Ap7Q큙t!5F }A$7n~elOevk,;%F h . s v qAj>8A+ d  rm    A 2544/) A=y~ ~z{z ?DC8jk {z}t MLzK@ uONvuvup }poQ MrX\&M0eA Q c-xpQ \]WA!=0veyxQ 2>76-q\wNA G*^I79 DMYA @$ BA%<tm501$%$qUVwvj WcDiVYI ^9fsQ +R?k~u(-,Q E%?0kj 6JA ŋ_ Rkp$e^AGJAЁ Q ޱELShiP+W tA)m (yJUT=B;ZxA ꁚSML A큮%3Q+T,ut3HU>ES'hBA@OJ A<9a`A=/Q OcZpK,UAAwYWA bmp ;4A Zzh /Q~UQ ON?PlmmA7[O@*_2wh*!@bINkV!^ 0fW7>!3<# +6Y\%M\*=dyZA5Kdi +*KMf!ml"A 9 )0Q _;EP)g?$Q id5Aun$A4  CW, -]A s=Mz3 B54AtJQ `Zb[=X A7ėr/mv;>,sW( Y f ~SZ;~T#wrShiPitrCJawTv_ AӁ_z C PG JKGun H J KTÁR%  Q ,terqpEAPA:Aa(bcbEQ -zw,{ rF?AN> 9: C& @%'"?@rm W 6 ;J d/LON)Hb =R  56C'  3,Yt  Ab%GH( KJaA.| knsrsronmlst/` 5BC x'(%  A"m   " #  Q X^"smlm|A >,Y(d ,T>&A- r     ,7       AQ#noano\ alZih] cbhkb Ul 3=tvhcb]t}|d[xzy\ed_^_^ihcba`] bonk*#f=+Q  |q,kCA=  UVg)z)AA<x}| mnojkjmjkjQUCwch9&! b.x?HA-h/x/jb SZy d dW tW a;\SLF L<q;3dz d+={vuDUAJk3       .7$  ^u   A  *  <[SZ GFyA,iOji0 h[r de$h a`iyx`a` e ` a`a`cA$qG#     Q |H=T CNAW!AQ , edAb]\A*Z/g`kA6@[gA /y#jI#Q P.fPbuXIIA4[ ! 6Gn80#VJ9 :[>rg6>rudu-4i! ~9%K/y`&A]dj kjon KJM|NMPsrOA\ Q ڴ3 sA#+JU~I0o-,\TMA&A 쁚chiS:7LQ87LQ ` .2ikaAD&5dm7<heCDKN'"MFGFw h GJ%&onI["5 UX1n.SA 7(G( +IHA:-4 ml;J48o~KJlmH8kO8 ul941GA.oA.H T~ A< )yR]yQ. 4MA,ʹ} :J rqPb c   A8ҁv7Q 54 96 L     '& FG`&'b G  EDEDM Q^0= <9}Aρ<  e    !Q G DAVYA_|AU*  AT1V?>^a7Z D#"GF]\Q GUVB+E*A ʒq|0 J!1a4 PUA>`aj k AH\iD]\ C@ "GT f#E jO&S|Q %!(O:HW~uQ 3SJ+/X]#Q >X[&vI7A9IZ[^A9&$]^ML c`JwLC*S7j#8}|!"A\1K \G&AJ@N_^QKR? j ]^ uN utu0c$A O|7 Q dJNV_i AIfN  ; zJO` beu Z@=YoVz Tm "SD/ *[xh-6i`Y,K8?E#& j1+0B0M84 C<;T2uAFv*# TG  ZrODe-jH%>G>? >uI` a Z[daA,VC "" )  A -~i '$NA9/0? ZY:=< =<=:=898965 (/ $% !  A?"!& "   Q ֶ8G.m c^A| %-%"KA:    zA쁒}t67   a,b  i/ &Q B0'_tmA:NL}~ u{\  G 5f*wB wz G Nuz +{Qs=:/_b3eKNAOzRON$KJA2MM  zw{ )vQoB?r )#nL$GtA/hxIe9eA .[  zA3W454_m6'9^9o&Q ixc6AE$+~A~I e .E "_6"nU%:FWhA7|e * H } hehe r _ VWL SjU,-A6s% 5ede ED + $#HI YA  Y d#NO @G$YILM # LML LA"tz     yQ }'Cx2wxA?AD5.IH6 7BUK), <Dq41cLABup;h%f>)}R$kTA&Y  ~KJ4`"SRON)()VPUT10A &> Q 4rs`CzHA)E6DsnZU+BAo(g|-8O]&IIyrKHK$A|+1A"|}0Scfi tuA8#Q )&QPQ $iA; R C5v54!B="!45~ED6]$qr!Kl`gW E36A$\BCFG }lqono,?okj*E>1p>1 0r= HI A ?, " Q ƸJNP< A ӌ=kd: A|`AܸAЁRKHIyjTA.9H 9yD M61Q LyY?e~A?B&Kk% K$\1@02C3G h5Q 6q >1PmY/P[T/eVs)f-^- .)M$i 8 $NDCwjpAܰ9?B (As! HGJc bK5 "\]$%xy   JF<   je  L#/A 0 '   pql k lmA93&7+ {NA8KZ Q8 " RAV*p*= +$0A\u(+D&%  {xyx {B:;ji be` a`a^_V   FKHI AG FE D EB ALYC ?  L  Q P]H;6OO Aɏ%<  }bAc\c P Q  H3    A%2?LMLM:!s/b3x-def ](~)$A.)8Q !4^M+*;qA+-; ]i "l f &`Q%Y ' k Mj K"]$=bI]}kd W)_k2dt-}|8 MIAb.0F?+, zun    R[fYT_   )2 `e 2/V xde A6n   i8h#  y#xA eA]7 &A?1g ! !  k xo n mheda L M]HIF E!@  E>A&=C {"  p Q \`auxc^ )N"s=2ZC<}C<i4LC~E-CBSCB@ ~%HqAQR{[_E:^Cltq0? or%?jW3JOGbE3 GNYODg/K V_[ *%)2).Ad tZ >28 tC&>eh $,I/^@ !W%X$ (}:CI St+;;I ooC@܉Q n,Ew P>Lx7 2~ B 5I'$'I!,S  [  WX (holQ;z)fV (Ri2W B9E.gO c( _v<.TB -0,|"]    e~2u9/5sR D("Y#l$ Zf (1 %NlB7=(l{ K{$$64&wB(2 > L#8-a_iJv4qIw7 6 @Hk"K0!  $ -'3 \- ` #RaFE '^ > (6u +"h093@9 d&B Rv{2*9/C,@Yb"X:[XMiB( *Y8]mYh QS,6AI|tggf8I* , F }0R >xA)(uAzW [7fe(gN-w &dA(OQ ZGc>_,Q\Y"6 A,~Q+0F-8 _N?$Cd5&oD8_",aw~e?nA5Z9:PL}/Q]wI3"P!lGjK[~8A 5qpq2 FwS? B!*Mz ALgNh\Aa ;>%e!$*;AGX0nas F#*KPD\am9={ig!*Uy *$+RJ U aN 9a_ha$!` v K7HM :!0[Bq=e4 1 C8cX6e<p(w* %_7JE2v7o*_{'7.@+[ZfCu^+!/(|u=J l,>l^~I-B(M^ZL0RBLQ\`Sh0s=;=>Tdf)og?jedf  >\j{ u $ .!%j9<P{]G$v>A5KV\gu-  / [/Q>Ktxg- 1U~rYWKKFIPYy|GkJMr_#hFrtdC_pT~m33=5i(m@1EJbPx"~:+*07D;>>FH`i km>{~G0 T;so{A% V%(a!j! jHvarnF~ 077E & 5L?X^ `y/" &)_V~ \DBRa t" (Ia!V9a $cI + 2 ]hv.-a!,*XY)pxCB.aLKb q| #(*3]a. aWsh |k.vqeO prNm)vauCX)\^;qw=aG9KU@^lt #U(Q,\2tS-jz| S#>0 :U?xHKOKm:4t"8-@HKyZ_Sm  9L(12y<^T r=xE g0fQfo| 1&()pOvm}h1<^ELrSY|^a Gg8 }( _QBiZ :6IDOEFuP lwa$]L!TZ4 _jB lw+kJ=x@ERl~&P_Dk\sEz@+nJT9c"M!R ,'k-0b:I(_F=e|RV"p' qH$ KY1*R ym  85B?'TZkHko>XF'),.lK V@^d:p $g=P2,#D`i"@BX$6XG[SVe|igt4 ))^2 ?;NPs]Tg;nu*LF.14LB3FqL[.* ^*!8h""p{yQd =P#'b5t@Ck`Hlix.W3 $"N'\L N `.l?tw(BW E%Rda>NtWUhnx{p 0 +%>. 13gNUnjmZuI} L!{)j36BE!Jamqo|! "J8;?&FQ{\ldhUxY G:+q;=0OQ;W Y_n&ru)$(1/6?ADV%[xn1j ((+ .1/6DFJ LaR>P3G8qCXHRjHqH<Qp"@),k@Rs y8>$@DNUgO n&(-1ZNP9U[e\pMyIR E$AANHThgq%wIW -03|V1Z$^#a?hJqt0} I #9->36; >ACFI%OR3[6e"~2  W$,/2DKM1Vqz}K& 3&).DLQ=WZ;`:g{l\vCL c<AEā%zPUpa `T/{/%$p OTq 5[a]kecg__a" 0c>G@IRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEUniJIS2004-UTF16-HA!bA U?dAM6Q#t&+"' +B9Q% G(A %%o/Q %@uA &zwz!O 0/ ]A'A0KQ 3JWVmA3  K? A31$1 ) ') q A3L    a%97=;A?j]`UXw ~6O c]H^[a0kg6 EPT\bhtw|~ma#^dIX MXRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE#C\a !GSk]>d_?V3CMT+ 2!+VS LIS tA ~$c S n$cUP &%$)C$) f7![ S .s"'A"} ";96"B; |,"m  S/P' j>"kOL iOfO>_c 0 m("[<SCiP. S2j Ck9S PX""O( zC ^W-*'0#rS l6B''$cbC x1TI67ZS 94 M-|3)FCmb >M#=:B@; J:E+ 'ch W~92 |C l ; ls9' Vhi N.:K e, d[ 5J|Or]C3 ZZ+./? xvC F Q'  jw *"e4  ? ^(D@ 9zCAc, `2Hj &_;/1 !f PcZw 65 h6  4!;4/QfB.+T* U  9.536?C$<(#CaJ #"k l )@]VI b0# 8%  #  #'`p|k`-k]FI[-&3w;<; ye5@T K9G$ +CUptmZ$;M v3\7V=/jU_(AKv9y.@7 #C.eC.:CK  _!W:rS/0i ww85Rt {v\S /Sh> cr/qS/#&? CZccTc{i7&&So(_4uw$nBS^n}Ha$/7R4 t- .YO@4<{0PS_(VKpAX]X`-tGW-e"NOxe?Kj8]/8GUF ah(.\z($X[op%t:+T}Ra G6]C3!Y"o5n S/N <7JarC8wzC /Ӟ~/_H +<Dw*3`C00: aaC0M;:J =KA&wPy{C3x    5 & C4$&b9S6mhN T  `( 2n$Q@"QcC4lR#.g O8oxmjH9C'4Z%=,'0"kzpkH 7( pa 55F>5$LK&& . ? iGT4\#]r> K4## P\ 8 9 P" ZA8>F 2i5%" $09g  B^g6" \_ ,HBP &7J$(*V 8Cn !4 3< 5&Y1<& C$`j0Q_ \(pDG$% f@zy6d $.~.BdCD&r } v%Qo 3S N*9!#}DR1UCVNL^iO2wli@m32M(7X/uve R\gfN z3 iZj9{: ~WdQ }xXSwhN I@GF5Kr#yC NZ  a ed$ "  CN)Uxy  tuT"yx wnS N݅gN/F7CN9zPA,CN끆bFGCN聤]S NZ4dlmgpSS Oa 4?S O%k! WVroCO.3 $[q/5lCCOwS P*6mO ~z ySP!Bzidv IT;(C+P6^N yXqA(t'FeO?nR E$q )G>@/.CP@? )#012C2P0 tu5{$yxy5{&'&} |76-05}01(;:) o 19lS P၇ 4Lk+S P_JRTjI CPbEh qtED9 :CQ2vCP+- 8EF )(C(SQA8!1hd;^C:d?PxgCQRr9 B?A)h.7Zm[ M`sCQdJCQS;IF_T_ W>HSS Q~#P367#"C QQ3+D{vsgfot1jDYX/[~+*5Rp32CQKa`CQ 1`j.-<='PgS QpQusLEzCTQ5F} =}A jC:yxQP)?I.-B;Q$` ]`9(y7>aR38&x}r3UUp{$7jFPYZoYnO$ih/0CRNGa>` XYGC1Ro #N 1 $g  Z'+P'C*+NMN#IP ON $!zg Z}SRR)hva`o*=3nA@CR|{1tKb CSSC R쁥a HBg#B,EDS SM!xVuB0 KsSCS#OA@CS$UCS%iKTU)S S8S{mo UQxTKS SEVm  C SQp9r]J/h.< CSa!CSYq#J%S Sl"JW+^X;^CSw`SNIHU pKJyxAnP]8UN{CSr?S Ty/0i/^E``C&TlC8C< b*t ;:W}]Vt /B'  vC T 4 O  0  CT"^_#]\ GTS T%XmyYCTH7%p7CS Ttz@ 65CTSTL}B8 =82$0p{C$TǢ 5@=LmnJo5}:+27.m=* CT ^C'T2DETn oonoE\aJK^j  ONspQ6qS U{4HSZglnKC(U<zo t Of O`Mc~&% 4p i MP1W ~owh YCU_)_C,U:Zrsr u  s}| jkibmz% S V/U8PDCXY\[TCVNL kvSV 1#<kl Y\CVBZ bEkC+V;* {ihxkvwv ifgd u ~gd%*r}% ab%*t56S VȢgLiHw38t/CVӢjS Vעk_=Je9 CCV R1 eV}~OdKJ*yr `W6.y_6;4cb %1V yvK6_CWY` FCFVPduttkxpmhy{p mh ut torIHy IH{xzyz WRc-~S WexOlv3C8X y@D cb)7O~_}%.cL?B54\Ia@.V gv SsDMLUP # O>CX/2,+<>C2Xayx ~ vo~ ~ }f ]p| |}|atze `z#S Xhyz_zvC7Xܣ1)t|:)_PG|32kj-1: o|qR#PY6]\Pc^cdxOT[CY iGCX݁y |"|/./w$%$;8 =<1S YgMyzYJwB[ CrYs&t32u4T|8izOaE"3.sA|$u X] o B_r/2OJ t#!D =< ;g* KL =V    GJ #$ ABwa_H9t! ]\NOCYnn,CYq  ml# , 4?>C;Yyj?%`?<?'&8963767=: ;:KJ aC)Yr  *   ! -IS[HGHIJ[e[h*{S [Cl5*}p>,bC[nDORz5WCC[w C[= S [S:"gGt:C[ɤeJOBWMoX+D)(GB/}L//L}1k'sutSZIR2ebi/PCBk`o`wE9J [d   ;2 wG>[_:KFOJ  _h sr !wr  '>ed uH8  on 5KC[sE2 >{CP:1bC\*? 2NO N/G%C-[΁z {z5   5   %&-0 5256C[ׁz $2%  "o#2$CC&[́D $  "#    S ]coXYePC/]m W^ysjx7.Tq4mh[= oO" qbGBa` !>UC]C] TS|$'"|UML- z y)NTM vRS ^w)$/7C$)C$^?2231 TgngCg`o^ U&nKLgl C^pH C^N }-*zU'&'KBUQ(zS^t 0{2WWVwS _-,UML+`&C _wFYist}S _!dF^$h%C_-$ 3^5z3B~wz 1;XOtd)iiC_4!! C_. -=<Bf+* C@A( ! H S _|tLb1-`F76C_9-Rhe}DGC_<"Y4"!C_S _>!f}9edC_-L* FWPH; J?6|c?:mv C_5 4C_8 3 5,549 * S `Vp*'zsCC4` 5&#4 +2SJ 78g0>!&#oA>o: (~  I2k^!pC`]'C`&;(  )B  ED-,)(S `7 8R{f^_S `O"Y"ZC`c&?> z C` C`!.1'"S `إzR/Ef5c4GC`gKF>SF_^ #& m]D%"C` %$C`偨@7)\=<?>;z>;%$8ADCB?S aDj;I}/elC aS!QLiqRCa^(utCalLS an6\q vnC5a~GeSP Qia  7Az5. yz in=P wY*CazC%a{*'& Lw 2BO)vE3vE r4pqF~YVWVS Ra /S bp,89#Z9:$C?b&lon+mVmG IA3$SM) (3<y r=,wn/xTKm~5rQ{*| sd C b)^ C_ .=>q|  = 4cXq> 8 }t  EV C:q7ElM/ cn  v1:E@MPAB:s#  ?@/V#4(w\|E&m`E!107"HH h9&2i ^5.uxOPO8A]Hn{eZ;6 Pe,Ccþ'1VO<, g"fcb#?"+~1 Ccs 1 N`1 N=@-<  C,c"_ b+*qp $w x      $CcꁗJ'  9*1 Cdo(70C-c %!  #    "4 Sfk6owY<+(W}RkeN+SOl!RCf4j*/>5GDaZ_BCf3v .'W~Cf7L S f]q63VyC-fiiRg,CcT#pcZ  {fqdQR^2  ! %21@Cfs"% C fjQ SL} 54  (T=f7z[ZEDEDS f'Pm [pNC,gK$=<YnhwSK3Zm5/B}N.I69J1-&#"P$Cg(D34Cg i 76fa`SO 'S gli;HM,yx`;C g|$}b"9$ gCg{2k jYCgj S g #LT1Zo>Cgnt]x! S g089][: Cg(PNKF% mF#HP6Cg+C g{h~~)&|S g6hoe%$Cg*d}noT}1v_gFYbU]dCg 'CgJ%z~ih~}50~}S h;~-,~x{ 5  C!hH j{xX>9j5I ^?& !}u%& [,EChR,;!ChIvwr3@C454wA& uVOh96S hKvo6Q)C hQ[]p=CNCh/ChS h0v654O |gC hߘi IZ-&exDCh.Chꁪ A@]pSi sd] h2qtdt=C7i@c  e }S *'$=K ) /c, ?!Y nd g2 V +: WNK UD\#B JS Hel) YXCqip+& 7,    8=$         & 18       oj/0    ad CibX2!Y z^.h(#$" yz$ \C"i55 IHsv 2[ Z   XU'J 1{zC2iB 4;4 ? > EDI LQPUZ g hij      Ci" B5 X  =HR O7Ci 72#   S k_bnomVpQnCki2nOrtE=! .C klc Ckk?S kI[oHGDC4kuu@Ary2o2(4 #3~X ! <XE^vmlQ^'Ck=hGC/kj 1q  #` ;'pu&LutONO+^ kpk&>srA@uy( "A3yjuwS l ^)M4/P*yqtCF ?f =R{tnWG4FM aTBARE +Cn2&) Yhv {[^r wMBr}C n;w $ S nC8eX C#nыH8 3% p )410E.e8 e)   c @CCn8 )" m lq pf[XY\C o  S oWAoLUSj!SC=odk 8Xa| >.kB ~7 >s:W | CAV ; >g)  h|% A OhQ x CuZ |KGF}#m _{" %CgofDM     AB+2   uv.    /         #  CoQ,?_^  U5)0/# %WHX  {J9 h op'<M C'o} %$#?! * nm) Co~3  %]&.?9 "2 PC.ohC' *  "  !6*,Co3U(0-IilA"C)ol "  >E !  1   S rW+dPdQZ}'JJCErg ?~ XY ~ [ (I@g  _ p`V 1\nN8E~Y= v $?j* YeN E!#E_ Zqv,Q iH! .8CWrtk        7 4+     )("  Cra eRE  5w$xaC9r; %$3, (`a ON HI @=   WCrI (; 85C6rx &  , # CrhH DTU *  </>#C/rkA /   @   SuJ]V*-]>k/0C u0><Z ~EHCu/rCu6E!dS uFS^gX=d'&CuT^JS uYy4q!*H OC udVE#fWZDES uou-hk~dm-(D.CFu@@'U[jeVQLtk|?g"ON   wz[Vad +sczCu~#/c b    wvC8u cbSRc \{Y  !@= B74Eons832Iih i.G+ BS vO7o`! CGvw ; `^P x] <2NpgY m\HECZ'fpa&{*'T= R#aG Gy61d{PY6;=#L0DA CVv  %&       $.        =:C vy=>oB/{,5C v7%  ;  :!5) 5Cv^  `Kb*>OC'v  ."#?  "  C)vr   E$! 8C4v!  = "   +   S y:THy@CjVC1yGkU^XJ{r[`t?WpO T$*$Yk:(ih y}W:;ST6%CyE;v NOJK TK ~|FG~DEm nCyDY  S y݁gWk@)()GCyf; -D$YX'v SCyꁙ&SPE%$8C >Cyk S z7 \ >tVCzB6T?@] b  stQPyCzEK C zD+7H K@E S z}*' d)?2ZCz+Z>S zZ>5gC zx niwtjGJCzQCz{ A&#"#S zËT@B=|^O C z n#-S zd .61JdwCzzQ07y7 XN#C{W C z;:\ j I |S {% jh9UvC{3JK VoMC{1Z TB 'C{0S {KR'k0NSvC{C {]i! &C{`](+TULM&jo 8+-S{)2 . $) XW"_C{{Tap^5LC{bC {30+*+.S {Ěc0tRyF%CN{Ϯn Z.-<  zq{r uv#& /.yx !-05#EB''*s6B;fC{c1   C@BC*{ԁ hifizlmlm @Uq nut|+Sw tun gfeC{ہ&   ) S |ү&HHC3z,C|ܯ'E/+12utCVcK(C|vHI J C|遭1S}2'KkI0cTHC} IL*nS }*6z= 3_C}595XS }?8ZQ.R X1C }K5,tSt/{r kYT 9Vh1Hx C}MN  T5! T WX>{zZ>A<BC}Q8 S}6OS PsbE2TM{C!}N(luX#P?*yk`  k;kr/*d2  C}8I ; a9ihifC}G  S ~12ZPY Ci~&N{  53N  w<St8Q|OjmbTI )  QTdz4ML!GH! b_?6?6K-x dc[C~GON + /- C#~'B[Z, 1)01010+ &%"    C~-L /) & S >9IC+yQih9Q$O4;@xzZI$TuiTlYzG'N  8C{j  ~~ ~ /. /.Cp7S큙t!5F }C$7n~elOevk,;%F h . s v qAj>8C+ d  rm    C 2544/) C=y~ ~z{z ?DC8jk {z}t MLzK@ uONvuvup }poS MrX\&M0eC S c-xpQ \]WC!=0veyxS 2>76-q\wNC G*^I79 DMYC @$ BC%<tm501$%$qUVwvj WcDiVYI ^9fsS +R?k~u(-,S E%?0kj 6JC ŋ_ Rkp$e^CGJCЁ S ޱELShiP+W tC)m (yJUT=B;ZxC ꁚSML C큮%3S+T,ut3HU>ES'hBC@OJ C<9a`C=/S OcZpK,UACwYWC bmp ;4C Zzh /Q~US ON?PlmmC7[O@*_2wh*!@bINkV!^ 0fW7>!3<# +6Y\%M\*=dyZC5Kdi +*KMf!ml"C 9 )0S _;EP)g?$S id5Cun$A4  CW, -]C s=Mz3 B54CtJS `Zb[=X C7ėr/mv;>,sW( Y f ~SZ;~T#wrShiPitrCJawTv_ CӁ_z C PG JKGun H J KTĆR%  S ,terqpECPC:Ca(bcbES -zw,{ rF?CN> 9: C& @%'"?@rm W 6 ;J d/LON)Hb =R  56C'  3,Yt  Cb%GH( KJaC.| knsrsronmlst/` 5BC x'(%  C"m   " #  S X^"smlm|C >,Y(d ,T>&C- r     ,7       CQ#noano\ alZih] cbhkb Ul 3=tvhcb]t}|d[xzy\ed_^_^ihcba`] bonk*#f=+S  |q,kCC=  UVg)z)CC<x}| mnojkjmjkjSUCwch9&! b.x?HC-h/x/jb SZy d dW tW a;\SLF L<q;3dz d+={vuDUCJk3       .7$  ^u   C  *  <[SZ GFyC,iOji0 h[r de$h a`iyx`a` e ` a`a`cC$qG#     S |H=T CNAW!CS , edAb]\C*Z/g`kC6@[gC /y#jI#S P.fPbuXIIC4[ ! 6Gn80#VJ9 :[>rg6>rudu-4i! ~9%K/y`&C]dj kjon KJM|NMPsrOC\ S ڴ3 sC#+JU~I0o-,\TMC&C 쁚chiS:7LQ87LS ` .2ikaCD&5dm7<heCDKN'"MFGFw h GJ%&onI["5 UX1n.SC 7(G( +IHC:-4 ml;J48o~KJlmH8kO8 ul941GA.oA.H T~ A< )yR]yQ. 4MC,ʹ} :J rqPb c   C8ҁv7Q 54 96 L     '& FG`&'b G  EDEDM Q^0= <9}Cρ<  e    !S G DAVYC_|CU*  CT1V?>^a7Z D#"GF]\S GUVB+E*C ʒq|0 J!1a4 PUC>`aj k CH\iD]\ C@ "GT f#E jO&S|S %!(O:HW~uS 3SJ+/X]#S >X[&vI7C9IZ[^A9&$]^ML c`JwLC*S7j#8}|!"A\1K \G&CJ@N_^QKR? j ]^ uN utu0c$C O|7 S dJNV_i CIfN  ; zJO` beu Z@=YoVz Tm "SD/ *[xh-6i`Y,K8?E#& j1+0B0M84 C<;T2uCFv*# TG  ZrODe-jH%>G>? >uI` a Z[daC,VC "" )  C -~i '$NC9/0? ZY:=< =<=:=898965 (/ $% !  C?"!& "   S ֶ8G.m c^C| %-%"KC:    zC쁒}t67   a,b  i/ &S B0'_tmC:NL}~ u{\  G 5f*wB wz G Nuz +{Qs=:/_b3eKNCOzRON$KJC2MM  zw{ )vSoB?r )#nL$GtC/hxIe9eC .[  zC3W454_m6'9^9o&S ixc6AE$+~C~I e .E "_6"nU%:FWhC7|e * H } hehe r _ VWL SjU,-C6s% 5ede ED + $#HI YA  Y d#NO @G$YILM # LML LC"tz     yS }'Cx2wxC?AD5.IH6 7BUK), <Dq41cLABup;h%f>)}R$kTC&Y  ~KJ4`"SRON)()VPUT10C &> S 4rs`CzHC)E6DsnZU+BAo(g|-8O]&IIyrKHK$A|+1C"|}0Scfi tuC8#S )&QPQ $iC; R C5v54!B="!45~ED6]$qr!Kl`gW E36C$\BCFG }lqono,?okj*E>1p>1 0r= HI C ?, " S ƸJNP< C ӌ=kd: A|`CܸCЁRKHIyjTA.9H 9yD M61S LyY?e~C?B&Kk% K$\1@02C3G h5Q 6q >1PmY/P[T/eVs)f-^- .)M$i 8 $NDCwjpCܰ9?B (Cs! HGJc bK5 "\]$%xy   JF<   je  L#/A 0 '   pql k lmC93&7+ {NC8KZ Q8 " RCV*p*= +$0C\u(+D&%  {xyx {B:;ji be` a`a^_V   FKHI AG FE D EB CLYC ?  L  S P]H;6OO Cɏ%<  }bCc\c P Q  H3    C%2?LMLM:!s/b3x-def ](~)$A.)8S !4^M+*;qC+-; ]i "l f &`Q%Y ' k Mj K"]$=bI]}kd W)_k2dt-}|8 MICb.0F?+, zun    R[fYT_   )2 `e 2/V xde C6n   i8h#  y#xC eA]7 &C?1g ! !  k xo n mheda L M]HIF E!@  E>C&=C {"  p S \`auxc_,S\Y"6 C,~S+0F-8 _N?$Cd5&oD8_",aw~e?nA5Z9:PL}/S]wI3"P!lGjK[~8CCC 5qpq2 FwS? B!*MzCYNh\nY5#Qh;>^ )N"s=2ZCLCCi4LCD ~%HqAQR{e u_E:^Cltq0? or%?jW3JOGbE3 GNYODg/K V_[ *%)2).Ad tZ >28 tC&>eh $,I/^@ !W# `$ (}:C& St+;;I ooCQ n,Ew P>Lx7 2~ B 5I'$'I!,S  [  WX (holQ;z)fV (Ri2W B9E.gO c( _v<.TB -0,|"]    e~2u9/5sR D("Y#l$ Zf (1 %NlB7=(l{ K{$$64&wB(2 > L#8-a_iJv4qIw7 6 @Hk"K0!  $ -'3 \- ` #RaFE '^ > (6u +"h093@9 d&B Rv{2*9/C,Yb"X:[XMiB( *Y8]mYh QS,6AI|tggf8I* , F }0R >xc ;>%e!$*;AGX0nFpcs F#*KPD\am9={ig!*Uy *$+RJ U cN 9c_hcG!` ! jHvarn2~ 0JK7!7E & 5L?X^ M :!0>`y/B &H=\_4 1Vx C8cX6e<p(w* %_7JE2v7o*_{'7.@+[ZfCu^+!/(~~|u=J l,>l^~I-B(M^ZL0RBLQ\`Sh0s=;=>Tdf)og?jp\sdf  >\j{ u $ .!%j9<P{]G$v>A5KV\gu-  / [/Q>Ktxg- 1U~rYWKKFIPYy|GkJMr_#hFrtdC_pT~m3"DB=R3i(m@1EJbPx"~:+*07D;>>FH`i km>{~G0 T;so{A% V%(*{eOTc t" (I$c!V9c $cI + 2 ]hv.-c!,*XY)pxCB.aLKb q| #(*3]c[%c. cXsh |k.vqeO prNm)vauCX)\^;qw=aG9KU@^lt #U(Q,\2tS-jz| S#>0 :U?xHKOKm:4t"8-@HKyZ_Sm  9L(12y<^T r=xE g0fQfo| 1&()pOvm}h1<^ELrSY|^+Tc Gg8 }( _QBiZ :6IDOEFuP lwc$]L!TZ4 _jB lw+kJ=x@ERl~&P_Dk\sEz@+nJT9c"M!R ,'k-0b:I(_F=e|RV"p' qH$ KY1*R ym  85B?'TZkHko>XF'),.lK V@^d:p $g=P2,#D`i"@BX$6XG[SVe|igt4 ))^2 ?;NPs]Tg;nu*LF.14LB3FqL[.* ^*!8h""p{yQd =P#'b5t@Ck`Hlix.W3 $"N'\L N `.l?tw(BW E%Rdc>NtWUhnx{p 0 +%>. 13gNUnjmZuI} L!{)j36BE!Jamqo|! "J8;?&FQ{\ldhUxY G:+q;=0OQ;W Y_n&ru)$(1/6?ADV%[xn1j ((+ .1/6DFJ LaR>P3G8qCXHRjHqH<Qp"@),k@Rs y8>$@DNUgO n&(-1ZNP9U[e\pMyIR E$AANHThgq%wIW -03|V1Z$^#a?hJqt0} I #9->36; >ACFI%OR3[6e"~2  W$,/2DKM1Vqz}K& 3&).DLQ=WZ;`:g{l\vCL s 5[a]kecg__c" 0>G@Ic_c/Ac+O%zPUpRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEUniJIS2004-UTF32-HC!bC U?dCM6S#t&+"' +B9S% G(C %%o/S %@uC &zwz!O 0/ ]C'C0KS 3JWVmC3  K? C31$1 ) ') q C3L    c%97=;A?j]`UXw ~6O c]H^[c0kg6 EPT\bhtw|~mc#^dIX MXRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE??? @\a A Q¤k]>d_?V3A´MT+ 2!+FVS LIQĀ tA ~$c Q Ėn$cUP &%$)AĤ) f7![ QĮs"'A"} ";96"BQŀj; |,"m  Q/Ő' j>"kOL iOfO>_c 0 m("[<SAƒiPn QǍ2j AǵkyQ ɐX""O( zA ɞW-*'0#rQ ɬ6B''$cbA ɸ1TIA67ZQ ʈ94 M-|3)FAʻbI>Mc=:B@; J<@A+ʔJ #"k lI)@ ]VI bp# 8%  #  c'`p I A ΆK Y B[ g" 8F.q.J N MyEu~:E cr/qR⼣&? CZccTc{i7&&So(R@⽀'4uw$nBS^n}Ha$/7R4 t- .YO@4<{0PS_(VKpAX]X`-tGW-e"NOR@⾀Se?Kj8]/8GUF ah(.\z($X[op%t:+T}Ra G6]C3!Y"o5n R⿀m <7JarC8wzB ⿓~o_H +<w*s`B〰: aaB〼BcR ㈳O p}$ B㉀Vlyn OR㊐g  D5,=2 ^B㌀pB㊩ZB㊢{R ㌃jr[Z B一0+B2㌔"   *? F#F?#,y`P'>M;:J =PKA&wPy{B㌗x   B 5[ f B㐂$&bySvmhN  M`( rn$"cB㐅l#ng xox-jyB'㐆Z%},g0"kzDpkH w(\ paP u5>u$LK&& B.I iGt\c]Qr~ K4#c \ O8 9L P" Z[A\8~F riue" $p9g@Z  ^gv"Z _^ lH fSwJd(W*VW xCnV !4 Us< u&1?R 侈%k! WVroB侖.3 $[q/B5lCB侚wR 倖*6mO ~z yR倡Bzidv IT;(B+倶^NIyXqA(t'FBeO?nR E$qC )G>@/.B偀? )cp12B2倰E tu5{$yxy5{&'&}I|76-05}01(;:B) o 19lR 僡 4Lk+R 僭_JRTjI B價bDEh qtED9 :B儲vB僺+D- 8EF )(C(R兀qs!1hd;^C:d?PxgB兒r9 B?A)h.7Zm[ MC`sB兤JB兓;IF_T_ W>HDSR 冉~#P367#"B 冗Q3+D{vsgfot1jDFYX/[~+*5Rp32B冝K]a`B冘 1`Bj.-<='PgR 凰pQusLEzBT函5FA} =}A jC:yxQP)?I.-GB;Q$` ]`9(y7>aR38C&x}r3UUp{$7jFPYBZoYnO$ih/0B刕Na~` XPYGB1刅o #N 1 H$g  Z'+P'C*+HNMN#IP ON F$!zg Z}R勛R)hva`o*=3nA@B勲|{1tAKb B匀SB 勬a HBg#GB,EDR 匕M!xVuB0 KsSB 匣OA@{moZ@x B匤UB 匥iKTU)|UQC&R 卅Vm  B 卑p9r]J/h.< B卡!B卙q#J%R 卬"JW+^X;^B卷`SNFIHU pKJyxAFnP]8UN{B叺rF?R 合y/0i/^E``B&君lC8C< b*t ;A:W}]Vt /B'  BvB 吞 4 O M0  B吚"^_Q#]\ GATR 咈%XmyYB咕H7%p7CR 咤tz@ 65B咱R 咷L}B8 =82BV哀i$0  5@=LmnFJo5}:A+27.m=*  A zo t Of O`Mc~&%M4p i MPG1W ~owh YB哨 ^g)_B'哃N98UE @DG\]FConKHqxI}| ]ih) B1哊on o nonFo jkjKqpYtOursr u Nrspqr sjEklm liR 嘯U8PDCXY\[TB噎L kvSV 1#B堯2,k|>B2堃ayx ~ vo~ ~I}f ]p| |@}|atze `Ez#R 壐hyz_zvB7壜1)t|:)_PG|G32kj-1: o|qR#PY6]\EPc^cdxOT[B夋iB壝y[ |"|/./w$%$;8C =<1R 奧MyzYJwB[ Br女&t3C2u4T|8izOaE"3.GsA|$u X] o BA_r/2OJ tC#!D =< ;Rg* BKL =V _   GJ #$A ABwa_H9t! ]\NOB妤nnlB姊q  Wmlc _l_ S4?>B;她j?N%`?<?F'&896T376w=:I;:DKJQS aB)奲 PI*H  W T!J-C R宀HGHIJ[e[h*{R 宓Cl5*}p>,bB4実nDORz5WC;BGt:eJOBWMoX+D)(GB/}LA//L}1k'sutSZIR2ebi@/PCBk`o`wE9J [dR   ;2 wG>F[_:KFOJI _h sr awr  '>edKuH8  onK5KB寀qr >{PzqZbB尔*? rNO No\eB.宬wa E{zu M Su  M%&P-0 52V56B宷y_~  boc2[$DB寬NB+宭= D W d I bcH J W R 巠coXYePB/巫m W^ysjx7C.Tq4mh[= oOB" qbGBa` !>UB巷B巸 TS@|$'"|UML-Jz y)NTM vRR 幷)$/7C$B%庁?2231 TgngCg`o^JU&nKLgl B庖p B庀 N }-*zU'&H'KBUQ(zR 延t 0{2WB开VWVwR 弆-,UML+`&B 弓wFYist}R 弡dF^$h%B5弭$ 3^5z3BB~wz 1;XOtd)ii@-`F76-Rhe}DGB弴P!! B"弮 -=<Bf@+* C@A( ! H ubJ#2k44!R 徧>!f}9edB徳-L*F FWPH; J?6|c?:mvN B德5`4B徵8K3 5,549J* R 怒Vp*'zsCB4怠5&#4 +2SJ F78g0>!&#oA>o: (~I I2k^!pB恝gB怟&;(J )B  EBD-,)(R 悢7 8R{f^_R 悰O"Y"ZB悼c&G?> z B惕 B悻!C.1'"R 惘zR/Ef5c4GB惧gKF>SF_^D #& m]D%"BB惲 U%$B惥@7)\=D<?>;z>;%$8ADCB?FR 慄j;I}/elB 慓!QLiqRB慞(utB慬LR 慮6\q vnB5慾GCeSP Qia  7ADz5. yz in=P@ wY*B憘zB%慻*'&KLw 2BO)vE3vE rE4pqF~YVWVSKRa /R 戚p,89#Z9:$B?戦lon+mV@mG IA3$SM) (3<y@ r=,wn/xTKm~5rQ{*| Dsd B 戩^ C_D n=~q|  = 4cXqC> 8 }t JEV C:q7ElM/ Dcn  v1:EA@MPAB:sE#  ?@/V#4(w\|NE&m`E!107"HH h9&2i C^5.uxOPO8A]Hn{eZF;6 Pe,B揃'1V^O|, gbfc]b#"k~q B揑s 1 NQ`q N=@HmY|  B,掽b_ bkjqpI dw x O   QII $GB揪Jg R [yjZq IB摯(w0B-揁 V%Za K#K H  Zbt R昜k6owY<+(W}RkeN+SOl!RB昴j*/>A5GDaZ_BB昳v J.'W~B昷LF R 晝q63VyB-晩iRg,CcTF#pcZ  {fqdQR^2 B ! %21@B晳"e B 晪Q SL@} 54  (T=Df7z[ZEDEDR 曷'Pm [pB-最7&$=<YnhwSK3Zm5/B}N.I6A9J1-&#"P$B朎(34B朁_ i 76fDa`SO 'R 杬i;HM,yx`;B 杼$}bE"9$ gB杻D2k jYB构j R 枕 #LT1Zo>B枠nt]x! R 枯089][: B柁(PNKF% mF#HP6B枻+DB 枾{Ch~~)&|R 柮6hoe%$B;査*d}BnoT}1v_gFYbU]di,B~ 5 *gj{xX>9j5I ^?& !A}u%& [,EB柺J'~N {!B.柹JD%z~ih~}50~}xEyvwr3@C454wEA& uVOh96R 梭Kvo6Q)B 梹Q[G]p=CNB棈/B梻GR 棏0v654O |gB 棟i IZ-&eExDB棨.B棪 A@]pR椃 sd] h2qtdt=B#椙@^C 8+& 5|,J (}hwrqtKLuB楢X2B椖%$%F&_;=$p"a'HR 楷uf`=~B榁c )*1,8=$ A,L )?n i lB     knd{d:-g2,W '+I: uN  i@j=8    ojE/0 {~ "Hcbadyz1S Hl)DBGHB榊 z^nhh#$" yHz$ \B榀;wv r[ ZJ  FXUg  qP{zB+榒)? > CEDI LQPRUZIPg hijH  M   Z B榨u X  }RJO7B榍LwrVW# E V R 歟bnomVpQnB歩2nOrn@E=! .B 歬cF B歫?TR 殬I[oHGDB4殷uu@@Ary2o2(4 T#3~XA ! <XE^vmlQ^'B毖=(\GB/殽jM1q  #` ;'puB&LutONO+^ kpk&>NsrA@uy( "A3yjuwR 沁 ^)M4/P*yqtCF ?@f =R{tnWG4FM aTBARBE +B渲&) KYhv {[^rK wMBrD}B 渻wV d DR 滇C8eX B#滑H8 3% p )41A0E.e8 e)  A c @CB滙8 )" mLlq pf[XY\UB 漄  SR 潗AoLUSj!SB=潤k 8XSa|N >.kB ~w ~s:W |KCAV ;M>g) Z h|% \A OhQ[ x CQuZ |KGFW}#m _{H" %Bi潦DMC   H  AB+2B  Muvn R  Ko    W  J  #M  @B澈Q,_N^  U5)0o#H %WHX  {XJ9 h o[pg<M B'潽 M%$cWB!`jXX nWmi HB潾3MJ%]&ny b\2IB.潨Cg j C HOXV"` avj,HB澇3Uh0-I_iT,bHB+潬V T"YL ~J! H q @ Z UR 牗+dPdQZ}'JJBE牧 ?~ BXY ~K[ (I@g  _ p`]V 1\DnN8EQ~Y= v $O?j* YDeN E!cE_ ZqOv,Q ^iHa .8BW牴k B   I P  XwD 4+L A  L)(b JB犱a eK QuwdxaB9犍;K%$3lK(F`a ONR HI F@= JN HWB犛I h{Z x_5WB6牸NP &L TO EFl c ZB牨HLTUMj  |oU>#B/牫AW oN`F X @`] I R甞J]V*-]>k/0B 田><Z ~EHGB甯rB甶E@!dR 畆S^gX=d'&B畔^JR 留y4q!*H OB 畤VE#fWZDER 畯u-hk~dm-(D.BF畿@B@'U[jeVQLCtk|?g"OND   Fwz[Vad +sczB疁~#oc bF   MwvB:疅 cbSRc \{c@  P!@= B74EonsC832Iih i.G+ BR 皀O7o`! Be皐w C; `^P x]B <2NpgYC m\HCZgfpa&{*N'T= R#aG] Gy6N1d{PY6;=#FL0DAQ +c8gI{^X1c`2WpO TIE$YK:;x}@W STmBh皋M %&H]  K G  O d.I F   I  =:S  @* + U B皛y=N>o/{luP 4_B硏B睪U~B'盅we W{ Q [ !ui u G NB皝^ W X E b*~OQ2N B2皕  Ynb#]I Z"_ YQ d  b  MB0皭r[F  FWJd!YU xBnXBB皟a O D}M"U ` k G  FNM _R 秝gWk@)()GB秩f; -DD$YX'v SB秪&STPE%$8C >B秱kJR 稷 \ >tB穀b \e$XFnC?B 穃! tHuB穄+AHSRK  @ENA)3Z)>R 窐Z>5gB 窟x niwtjGJB窠QB窞{ A&#"#R 竃T@B=|^O B 竑 n#-R 童d .61JdwB端zQ07y7B XN#B笇W B 竱;:\Ij I |R 笥 jh9UvB笳JKKVoMB笱Z TBC 'B笰 @R 筋R'k0NSvB箆B 筝i! P&B筠](+TULM&jo D8+-R箔)2 . $) XW"_B箪{Tap^G5LB箯bB 箥30+*+.DR 範c0tRyF%BN篏n Z.-<H  zq{r uv@#& /.yxK!-05#EB''*s6BA;fB篗cq Z  CBB*篔 hifBizlmlm @CUq nut|C+Sw tunIgfeB篛f  QI) SR 糒&HHC3z,B糜'E/+12utCAVcK(B糝vHI JMB糩1R紏2'KkI0cTHB素IL*nR 紪6z= 3_B紵95X+R 絀&Q.R X1B 絋5,tSt/{r kYTK9Vh1Hx B絍N  T5! T WXB>{zZ>A<BB絑8 ER綪6OS PsbE2TM{B!綽N(GluX#P?*yk`  k;kr/*Ed2  B緀8I ; a9iNhifB緢G E R 縛12ZPY Bi縦N{  53BN  w<St8Q|OjBmbTI )J QTdz4MHL!GH! b_?6?C6K-x dc[B繇ON Yk o-N B%縧B[Z,M1)0101B0+ &%D" @    U B縭L No)\ f CR 耀>9IB+聹QihD9Q$O4;@xzZI$TuiTlHYzG'N  8B聻jL  ~~ ~L/. /.B肁p7NR胭t!5F }B$脂7n~elOTevk,;%FT h . s vF qAj>8B+脉dG  r@m  A  FB 脖254Ft/Z)IB=脃y~ ~z{Gz ?DC8jkM{z}t MELzK@ uONvuvup }@poR 與MrX\&M0eB舒 R 舖c-xpQ \]WB舡=0veyxR 舲>76-q\wNB 艇*^I7T9 DMYB 艀$ NBB%舼Ftm501$%$qUVwvj WcDiCVYI ^9fsR 芩+R?k~u(-,R 芷E%?0kj 6JB 苅_ Rkp$e^B苆GJB苐 R 苞ELShiP+W tB苫)m E(yJUT=B;ZxB 苪SMAL B苭%sR茫T,ut3HU>ES'hBB荀OJ B茼9Fa`B茽/DR 荏cZpK,UAB荷YWB 荢mpE ;4B 荚zh /QB~UR 莘ON?PlmmB7莢[O@*C_2wh*!@bINkV!^ 0fWE7>!3<# +6Y\%MH\*=dyZB莧5K@`i +*DKMf!Pml"B 莦9 ipUR 葟;EP)g?$R 葩d5BM葵n$AG4  CW, -]}Z=2A sr/mv;>,sW( @Y f ~SZ;~TA#wrShiPitrCJawTv_ AB0葳=MzD3 B54CBAz NC PG JKGQun H J KTAB葴JTv%O P R 薄,terqpEB薗PB薐:B薏a(bcbER 薤-zw,{ rF?BN薹>F 9: C& @%'"C?@rm W 6M ;J d/LON)NHb =R  M56C'  3,Yt  AB薷bV%G]Hh KOJ!B.薼|Jknsrs@ronmlstC/` 5BC xO'G(%  B"薴mI \_ Q" # E R 蜂X^"smlm|B 蜘>lY(dM ,T~&B-蜍r   L ,7  I B   HBQ蜎#noano\ alZih] cAbhkb UlJ3=tvhcb]t}|d[xzAy\ed_^_^ihcba`] bonAk*#f=+R 蠍 |q,kCB蠟=  DUVg)z)B蠜B蠘<x}| mnojkjmDjkjR衕Cwch9&! b.x?HB-表/x/Hjb SZyI d dW tW a;H\S F LA<q;3dz d+^={vYuDUBL衫3 B    T  .7E$ E ^uD@  JB袘 [ j  |D[Z OGFyB,衩OjipC h[r dQe$h a`iyFx`a` Le ` a`a`XcB$衱GDcUK O ` R 討|H=T CNAW!B訛R 訝, edAb]\B訪Z/g`kB訶@[EgB 訯yA#jI#R 詐.fPbuXIIB4詛 ! 6Gn80#VJ9E :[>rg6>rudu-4i! ~9B%K/y`&B詝dj kjoFn KJM|NMOPsrOB詜Z GR 諚3 sB諤#+JU~IA0o-,\TMB諴&B 諬chiS:E7LQ87LR 謙` .2ikaBD謦5dm7< iyR]yQT. tMB,賍} :JI rqbJc CP LB8賒v7Q 54 B96  U   '&S FG`&'b G  ECDEDM Q^0= <9}B賏<  eB  C  `!R 蹇 DAVYB蹟|XB蹕*  DB蹔1V?>^a7ZMD#"GF]\R 躩GUVB+E*B 車q|0 J!1aE4 PUB躾>A`aj kF B躳H\iD]E\ C@ "GTE f#E jO&S|R 輥!(O:HW~uR 輳SJ+/X]#B?輾X[BV[^Ay&$]^ML c`JwLBC*S7j#8}|!"A\1BK \G&B轀?LON_^Q R? jL]^ uN utFu0c$B 轁{ wA R 逓dJNV_i BI逝fN  ;IzJO` beu Z@=YoVz TDm "SD/ *H[xh-6i`Y,K8?E#& j1+0NB0M84MC<;T2uBF逞v*# TGJ ZrODeB-jHe>G]>? >uIW` a NZ[daNB逬VW bbJi  B 逭~i H'dNB9逯0?IZY:=<K=<=:=898E965 (/I$% !] JDB逿baf b F  ER 釖8G.m c^B釣| e-%"KB釡:F    @zB釬}t67   Ba,b  i/ &R 鉂0'_tmB:鉎L}~ u{\  G A5f*wB wz G NUuz +{Qs=:/_bB3eKNB鉏zONNdKJB4鉍M Izw@v{ H)vR錜oB?r )#nL$GtB錯hxXIe9eB 錮[ H zB錳W454O_m6'9^9o&R 鍩xc6AE$+~B鍾IMe .E b_v"nUX%H:FWhB7鍼eW * H }I hehe rJ_ VWFL SjUA,-B6鍳% 5Bede ED + $E#HI YA  Y d#NOD @G$YILMJ# LMLLLB"鍴zO ] I  ET9ER 閟}'Cx2wxB?閭ADD5.IHv 7BUK@), <Dq41cLABup;h%f>G)}R$kTB&閫Y  ~FKJt`"SRONC)()VPAUT10B 閺&^~Z RR 隔4rs`CzHB)隠E6DsnZU+BCAo(g|-8O]&IIyrKHK$A|+D1B隤"|}0STcfi tuB隟8cR 霂)&QPQ $iB;霍R C5v54!B="F!45~ED6]$qr!KlD`gW E36WB$霔\BCFGJ}lqono,?okj*UE>1p>1 0r= HIB B 霚?l "D R 韆JNP< B 韓=kdA: A|`B韜B韐RKHIyjTA.9H 9yDIM61R 頌 LyY?e~B?頗B&Kk% OK$\10rC3G h5Q 6qK>1PmY/P[TO/eVs)fN-^- .i $iK8 $DDCwj^pB飜9? (Bs頡 HGHJc bKuL"\N]$%xy  S J<T E  je A L#/ C0 'J P pqlMk lmB頹3f7k {NB頞8Z HZ Wx ]"IB顖*pj} k$p]B\頖u(X+&%JNK{xyx {A:;jiMbe` aO`a^_L  WFKHI AGJFE D EBW BL頙YN]PM] \Q  H@ T ER 鮦P]H;6OO B鯉%<  }WbB鮱c\Dc P Q MH3    B%鮰2?LMLM:A!s/b3x-def ](~)B$A.)8R 鰡4^M+*;qB+鰭; ]iL"l f &`QP%Y ' k`Mj Kb]$}bI]}kdS W)_k2dt-D}|8 MIBb鰮0F?+,G zun R  A R[fYT_L  )2E `e [2/ CxdeS B鰶nJ JixhN#Q `Vy#xB 鱥A]w C&_B?鰱g !L !  k Xxo nLmhedHaIL NMHIDF Ea@  EB>B&鰽CE {b H][ OpR R 鼎\`auxc_,R福\Y"6 B館~R侮F-8 _N?$Cd5&oDR懲P_",aw~e?nA5Z9:PL}/R艹wI3"P!lGjK[~8B! 5qpq2 FwS?@ B!*Mz B ︐Lg @DBffC 𡨚u#Qh;>XL)"s=rZC🄀}C🈂i4LC眞-C𠤎SCB𠀋~%HqAQR{[Ez^ClNt10 ore?*W3 Ob3` NYOD'/K V_[ *%)Q2).Zd tZ >R28 tCf>eh d,I/F^@ !WeX$ h}zC𢘉S4+{;I /oC𠂉Q n,O7 P~ xw 2~ `u g$g a,  [  ]WXM(ho,Q{:)EfWY hi2 \B9.g c(Mv|.BL-0,|"]    e~2uyo53RM("Ycld Z&@ (q %NWl7}(l{ {d$v4fwB(r`~  cxm!_i vtq ww O6 X|m g \ zxw  P  &U{;"^ mys*wi< ib%$a¡e!A$*;AGXAs @#* K@UaǸsh |knva΄]L!T\Zt _j lwb†DnUamy={Vig!*Uy *$k>J@  @6< Bp" F0G@fIb享`9b忘hbKⅠ ! jHv!rnr @~ 0J?7@ w!7EM& 5 ?\^F M :n!0~ yoB_ &=\_4 1Vx 8cXve&wj X%7 Ervwo*{Y'7n@k[fu^k!/(~~|u}J l,~l~U mB(M^Z 0BLQ`hps}{}>dpogjp\3dQ >T\*{ u`d n!%j9<P{]$v>AuK\gum  o [/> txE'- 1^U~rYW KFIYp|kJMr_#hrHt$\_pT~m3"DB=Rsihm1EJbPx"~zk*0R7;>~FH`i km~{~]p T{so{%I%(j{eOT[a]keBg_b⁴"F ( db⅖9b Ⓐ c@mI k r` ]hvP.-b↖,*YipxBnaLKb q| C#(*3]cb﹅_b者%b⺌ bNḾqeLprmivauDX)\O^;qAw=!GyKU^lt T#(,\2tSmj:|[ #~0d?xH O mztt"8m@HKyZ_Sm  y (q2y<TKr}x g0o| qfh)0Ovm\}(1[<ELrSY|^kTb⁇'8 }@ ( _Qi :vIOZEFu lwb≤kk =xElY~&P_ksz+H.JT9#bM!RF ,gk-0":Ih_=e|RVbp' qHd K^Yq*R yRm  x5?T'T[Z+Hko~X'),.lK <u_Dh Rr M~V`dzp dg}2lcD ib@B$vXOGSV~igtt ))^2 ?{NPs]g{nujL.q4 BsFqLn*] *a8hbbp{y$ }Pggb5t@k Hlixns d"N'L N``nl?twhBJE%RTeb<乴WUh.xB{0 ]p k%~. 13gNUnjmZu } ] !{)j36BYE!Jamqo|!M" 8;?fFQ{\ldhUx z^+q;=pOQ{W Y__n&rui$](1/v?AQDVe[8nqj T((+ .U1o6DFJIL!R~Y81CXHRjq|Qp"),k@sx~$H@DUg Mn&(m1N\PyUepMy  E$ANThgq%w W -0O3|V1Zd^cah qtp}   cy-~36Y; >ACFIeORs[veb~2M $,/[2DKM1Vqz}K&P 3&[).L^Q}WZ{`zg{lvP  c 🄐@ %A@ Q%zPU0RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEUniJIS2004-UTF8-HA°MB←bB ‐UdB′QP6R⎛t&+"' +B9R┌G(B ┥o/R ╀uB ☜zwzaO_ 0/Y ]CB✂B゠KR ㌃JWVmB㌔  R ?[ B㌕1$1 F) ')Lq B㌗L   B b─97=;A?j]`UXwI~vO c]HQ[b〘kg6 EPT\bhtCw|~mb⎰^dI MXRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniJIS-UCS2-Ha ;g!$&# M_UTW A!bA %Z n6Y;m2A!6a%97=;A?Q% G(q%#jomlnqpr[]\`SUTXa%=wQ %@ua%I~a &_O cN]a'A0Vz!O 0/a0S6Q 3JWVmq3E LNP!T WY \$q 3-_b&eh npqjrtsw%{|~ a3{ [A m A L AERCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniJIS-UCS2-HaM_UTW A!bA %Z n6Y;m2A!6a%97=;A?Q% G(q%#jomlnqpr[]\`SUTXa%=wQ %@ua%I~a &_O cN]a'A0Vz!O 0/a0S6Q 3JWVmq3E LNP!T WY \$q 3-_b&eh npqjrtsw%{|~ a3{ [A m A L AERCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniJIS-UTF8-Ha°Mb‐UTW B←bB‥Z nP6Y{mrB↕6b─97=;A?R┌G(r┣jomlnqpr[]\`SUTXb┽wR ╀ub╉~b ☜_O cN]b✂B〜VzaO_ 0/YbヵSC6R ㌃JWVmr㌎E LNP!T WY \$r㌭_b&eh npqjrtr㍀vsw%{|~ b㍻ H[B =m[ B,L B:ERCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE#C\a !GS k]>2&?V3C>S 2!+ S tA ~$c S n$cUP &%$)C$) f7![ S .s"'A"} ";96"B; |,"m  S/P' j>"kOL iOfO>_c 0 m("[<SCiP. S2j Ck9S PX""O( zC ^W-*'0#rS l6B''$cbC x1TI67ZS 94 M-|3)FCXb >M#=:B@; J:E1=;+ =Ngf UJ )^-IR   QL5? X55@T K9G$ +CUptmZ$;M v3\7V=/jU_(AKv9y.@7 #C.eC.:CK  _!W:rS/0i ww85Rt {v\S /Sh> cr/qS/#&? CZccTc{i7&&So(_4uw$nBS^n}Ha$/7R4 w> .YO@4<{0PS_(VKpAX]X`-tGW-e"NOxe?Kj8]/8GUF ah(.\z($X[op%t:+T}Ra G6]C3!Y"o5n S/N <7JarC8wzC /Ӟ~/_H +<Dw*3`C00: aaC0M;:J =KA&wPy{C3x    5 & C4$&b9S6mhN T  `( 2n$Q@"QcC4lR#.g O8oxmjH9C'4Z%=,'0"kzpkH 7( pa 55F>5$LK&& . ? iGT4\#]r> K4## P\ 8 9 P" ZA8>F 2i5%" $09g  B^g6" \_ ,HBP &7J$(*V 8Cn !4 3< 5&Y1<& C$`j0Q_ \(pDG$% f@zy6d $.~.BdCD&r } v%Qo 3S N*9!#}DR1UCVNL^iO2wli@m32M(7X/uve R\gfN z3 iZj9{: ~WdQ }xXSwhN I@GF5Kr#yC NZ  a ed$ "  CN)Uxy  tuT"yx wnS N݅gN/F7CN9zPA,CN끆bFGCN聤]S NZ4dlmgpSS Oa 4?S O%k! WVroCO.3 $[q/5lCCOwS P*6mO ~z ySP!Bzidof IT;(C,P6^N yXqA(t'FeO?nR E$q)~G>@/.CP@? )#CC2P0 tu5{$yxy5{&'&} |76-05}01(;:) o 19lS P၇ 4Lk+S P_JRTjI CPbEh qtED9UCQ CP+8  )(C(SQA8!1hd;^C:d?)rgCQRr9 B?A)h.7Zm[ M`sCQdJCQS;IF_T_ W>HSS Q~#P367#"C!QQ3+Dwvsgfot1jDYX/[~+*5Rp32CQK a`CQ 1`j.-<='PgS QpQusLEzCTQ5F} =}A jC:yxQP)?I.-B;Q$` ]`9(y7>aR38&x}r3UUp{$7jFPYZoYnO$ih/0CRNGa>` XYGC1Ro #N 1 $g  Z'+P'C*+NMN#IP ON $!zg Z}SRR)hva`o*=3nA@CR|{1tKb CSSC R쁥a HBg#B,EDS SM!xVuB0 KsSCS#OA@CS$UCS%iKTU)S S8S{mo UQxTKS SEVm  C SQp9r]J/h.< CSa!CSYq#J%S Sl"JW+^X;^C#Sw`SN{|IHU pHJyxAnP{c8UN{<&CSWCSy '(RILYU**UT-~WV( V{7SSYJ'L]ZEq5 6##wPHWE#p71R>CSr?S Ty/0i/^E``C&TlC8C< b*t ;:W}]Vt /B'  vC T 4 O  0  CT"^_#]\ GTS T%XmyYCTH7%p7CS Ttz <65CTSTL}B8 =82$0p{C%TǢ 5@=L+mnJo5}:+27.m=* CT^^C'T2DETn oonoE\aJK^j  ONspQ6qS U{4HSZglnKC)U<zo t Of O`Mc~& 4p i MP1W ~owh YCU_C,U:Zrsr u  s}| jkibmz% S V/U8XCX/21(<>C2Xayx ~ vo~ ~ }f ]p| |}|atze `z#S Xhyz_zvC7Xܣ1)t|:)_PG|32kj-1: o|qR#PY6]\Pc^cdxOT[CY iGCX݁y""|/./w$%$;8 =<1S YgMyzYJwB[ CsYs&t32u4T|8izOaE"3.sA|$u X] o B_r/2OJg% t#!D =< ;g* KL =V    GJ #$ ABwa_H9t! ]\NOCYnCYq  ml# , 4?>C;Yyj?%`?<?'&8963767=: ;:KJ aC)Yr  *   ! -IS[HGHIJ[e[h*{S [Cl5*}p>,bC[nDORz5WCC[w C[= S [S:"gGt:C![ɤeJOBWMoX+D)(GB/}L//L}1k'sutSZIR2ebi/PCBk`o`snwEh#J [d   ;2 wG>[_:KFOJ  _h sr !wr  '>ed uH8  on 5KC [sEUC] }|)C] P}|U - z y&TM vRS ^w)$/7C$)C&^?2231 -gngCg`o^ U&nKL9/l C^0r d_C^N}zU'&'xU'zS^t 5j2WWVwS _-,UML+`&C _wFYist}S _!dF^$h%C_-$ 3^5z3B~wz 1;XOtd)iiC_4!! C_. -=<Bf+* C@A( ! H S _|tLb1-`F76C_9-Rhe}FGC_<" #"!C_S _>!f}9edC_-L*whFWPH; J?6|c?:mv C_&C_8 3 5,549 * S `Vp*'zsCC5` 5&#4 +2SJ 78g0>!!F#oA>o: (~  I2k^!pC`]'C`&;(  )(  ED-,))S `7 8R{f^_S `O"Y"ZC`c&?> z C` C`!.1'"S `إzR/Ef5c4GC`gKF>SF_^ #& k]D%"C` C`偨@7)\=<?>;z>;%$8ADCB?S aDj;I}/elC aS!QLiqRCa^(utCalLS an6\q vnC5a~GeSP Qia  7Az5. yz in=P wY*CazC%a{*'& Lw 2BO)vE3vE r4pqF~YVWVS Ra /S bp,89#Z9:$C?b&lon+mVm4w IA3$SM) (3<y r=,wn/xTKm~5rQ{*| sd C b)^ C_ .=>q|  = 4cXq> 8 }t)V C:q7ElMFP/ cn   "v1:E@MPAB:s#  ?@/V#4(w\|E&m`E!107"H@ h9&2i ^5.uxOPO8A]Hn{eZ;6 Pe,C cO<, <0S+~1 Ccs 1 N`1 N=@-<  Cc偃lJ XsC&c"+* 5   ' $CcꁗJ'  9*1 C-c %!  #    "4 Sfk6owY<+(W}RkeN+SOl!RCf4j*/>5GDaZ_BCf3v .'W~Cf7L S f]q63V=C-fiiRg,CcT#pcZ  {fqdQR^2  ! %21@Cfs"% C fjQ SL} 54  ()?f7z[ZEDEDS f'Pm [pNC.gK$=<YnhwSK3Zm5/B}N.I69J1'"-&#"P$Cg(WCg i 76fa`SOS gli;HM,yx`;C g|$}b"9$ gCg{2k jYCgj S g #LT1Zo>Cgnt]x! S g089][: Cg(PNKF% mF#HP6Cg+C g{h~~)&|S g6hoe%$Cg*d}noT}1v_gFYbU]dCg 'CgJ%z~ih~}50~}S h;~-,~x{ 5  C"hH j{xX>9j5I ^?& !}u%&}~ [,EChR,;!ChIvwr3@C454wA& uh96S hKvo6Q)C hQ[]p=CNCh/ChS h0v654O |gC hߘi IZ-&exDCh.Chꁪ A@]pSi sd] h2qtdt=C@i@c  e }S  L\'$=K1.//c(} ?!Y B /nd g2 V +6 } WNK UD\3 B JS Hel) YLuCqip+& 7,    8=$         & 18       oj/0    ad C ih2/.M$ cC i55 sv 2[ Z   XU'J 1C2iB 4;4 ? > EDI LQPUZ g hij      Ci" B5 X  =HR O7Ci 72#   S k_bnomVpQnCki2nOrtE=! .C klc Ckk?S kI[oHGDC5kuu@Ary2o2(4 #3~X ! <XE^vmlQK('Ck=hC/kj 1q  #` ;'pu&LutONO+^ kpk&>srA@uy( "A3yjuwS l ^)M4/P2qtCF ?f =R{tnWG4{t aTyz +Cn9LbC"n2&) &hv {[r % MB$+*)S nC8eX C#nыH8 3% p )410E.e8 e+   c @CCn8 )" m lq pf[XY\C o  S oWAoLUSj!SCHodk 8Xa| >.kB ~%T)sM +j_:Wt CAV ; >g)  h|%  (M  OhQ@ C x CuZ |KGF}#m _DA" CgofDM     AB+2   uv.    /         #  CoQ,?_^  \%WHX  {+|<}'<C(o} %$#?! *  nm) Co~3  %]&.?9 "2 PC.ohC' *  "  !6*,Co3U(0M1lA"#C(ol "  >E !  1   S rW+<dQZ}'JJCErg ?~ XY ~ [ (I@g  _ p`V 1\nN8E~Y= v $?j* YeN E!#E_ Zqv,Q iHu.8CWrtk       7 4+     )("  Cra eRE  5w$xaC8r; %$3,(`a ON HI @=   WCrI (; 85C6rx &  , # CrhH D *  </C/rkA /   @   SuJ]V*-]^dk/0C u0><Z ~EHCu/rCu6E!dS uFS^gX=d'&CuT^JS uYy4q!*H OC udVE#fWZDES uou-hk~dm-(D.CGu@@'U[jeVQPtk|?g"ON   wz[Vad +sczCBu~ 23B 54   KD)(I(!+H CDEP]\SBoUBsYBihEwP h+Z[C u WS vO7o`! CHvw ; `^P x] <2NpgY m\H>I{Z'fpa&{*'T= R#aG Gy61d{PY6;=#L0DA CVv  %&       $.        =:C vy=>o>p,5C v7%  ;  :!5) 5Cv^  `Kb*>OC'v  ."#?  "  C)vr   E$! 8C4v!  = "   +   S y:THy@Cc$C1yGZ3^XJ{r[`t?WpO T$*$Yk:(ih[\ y}W:;ST6%CyE;v NOJK TK ~|FG~DEm nCyDY  S y݁gWk@)()mGCyf; -D$YIv SCyꁙ&SPE%$8C >Cyk S z7 \ >tVCzB6T?@] b  stQPyCzEK C zD+7H K@E S z}*1d)?2ZCz+Z>S zZ>5gC zx niwtjGJCzQCz{ A&#"#S zËT@B=^O C z n#-S zd .61JdwCzzQ07y7  XN#CzcC\5 VWCz #S {% jh9UvC{3JK VoMC{1Z TB 'C{0S {KR'k0NSvC{]i!  g C {`](+LM&| -C{j S{)2 . $) XW"_C{{5(pogLC{bC {30+*+.S {Ěc0byF%CQ{Ϯn Z.-<  zq{r uv#& /.yxKQp(!-05#EB''*s6B;fC{c1   C@BC'{ԁ hifizlmlmlq nut w tun gfeC{ہ&   ) S |ү&HHC3z,C|ܯ'E/+12utCVcK(C|vHI J C|遭1S}2'KkI0cTHC} IL*nS }*6z= 3_C}595XS }?8ZQ.R X1C }K5,tSt/{r kYT 9Vh1Hx C}MN  T5! T WX>{zZ>A<BC}Q8 S}6OS PsbE2TM{C!}N(luX#P?*yk`  k;kr/*d2  C}8I ; a9ihifC}G  S ~12ZPY Ci~&N{  53N  w<St8Q|OjmbTI )  QTdz4ML!GH! b_?6?6K-x +1Z[C~GON + /- C#~'B[Z, 1)01010+ &%"    C~-L /) & S >9IC+yQih9Q$O4;@xzZI$TuiTlYzG'N  8C{j  ~~ ~ /. /.Cp7S큙t!5F }C%7n~elOevk,;%F,3 h . s v qAj>8C+ d      C6y  GFz  ?FC8 tutwNLO@uONvup(p,C y   S MrX\&M0eC S c-xpQ \]WC!=0veyxS 2>76-q\wNC@$?@^<7@ {z9Ma#C<nm5016wv ^Wc\VYI Y C C   S +R?k~u(-,S E%?0kj 6JC ŋ_ Rkp$e^CGJCЁ S ޱELShiP+W tC)m (yJUT=B;ZQC ꁚSML C큮%3S+T,ut3HU>ES'hBC@OJ C<9a`C=/S OcZpK,UACwYWC bmp ;4C Zzh /Q~US ON?PlmmC7[O@*_2wh*!@bINkV!^ 0fW7>!3<# +6Y\%M\*=dy[C5Kdi +*KMf!ml"C 9 )0S _;EP)g?$S id5Cun$A4  CW, -]C s=Mz3 B54CtJS `Zb[=X C8ėr/mv;>,)^( Y 9f ~SZ;~ B#wrShiPitrCJawTv_ CӁ_z G JKGun H J KTĆR%  S ,terqpECPC:Ca(bcbES -zwy* rF?LCO> 9: C& q '"?@rm W 6 ;D{ d/LON)Hb =R  56C'  3,Yt*  Cb%GH( KJaC-| knsrsronmlst/` 5 x'(%  C"m   " #  S X*Vsmlm|C >,Y( _)d ,T>&C- r             +8CP#noano\ alZih] cbhkb Ul 3=tvhcb]t}|d[xzy\ed_^_^ihcba`] bonk*)f=+S  |q,kCC=  UVg)z)CC<x}| mnojkjmjkjSUCwch9&! b.x?HC/h/x/jb SZy d dW tW a;\SCc\F L<q;3dz d+={vuDU\CIk3       .7$  ^[   C  *  <[SZ GFC,iOji0 h[r de$h a`iyx`a` e ` a`a`cC$qG#     S |H=T CNAW!CS XedAb]\C*Z/g`k@YC6@ AC /y#jI#S P.fPbuXIIC5[ ! 6Gn8M#VJ9 :[>rg6>rudu-4i!LO9%K/y`&C]dj kjon KJM|NMLsrOC\ S ڴ3 sC#+JUH0o-,\[bC&C 쁚chiS:7LQ87LS ` .2ikaCF&57<heCDKN'"MFGFTUw h GJ%&onI["5 QPUX1n.SC+- 3 ~ 4J}z4 5~KJONO7|}KCzA@BIHG9HC0  (  S AE/RVgnC HD%5r ]^S u?a wXIRC"Ε*Jbkd (ut_<E 0CX.H) +>< )yR]yQ. 4MC+ʹ}   rqPb c   C8ҁv7Q 54 96 L     '& FG`&'b G  EDEDM Q^0= <9}Cρ<  e    !S G DAVYC_|CU*  CT1V?>^a7Z D#"GF]\S GUVB+E*C ʒq|0 J!1a4 PUC>`aj k CH\iD]\ C@ "GT f#E jO&S|S %!(O:HW~uS 3SJ+/X]#S >X[&vI7C9IZ[^A9&$]^ML c`kA,72S7Z8}|!"A\1K \G&CJ@N_^QKR? j ]^ uN utu0c$C O|7 S dJ#H]k CPfN/4  ;Z]JO` beujpW@=YoVz Tm "SD/ *[xh-6i`Y,/eWiE#& j1+0B0M84 C<;T2uC@v   Z[de-jH%>G>? >=  Z[daC,VC "" )  C -~i '$NC8/0? :=< =<=:=898965 (/ $% !  C?"!& "   S ֶ8G.m Kt^C| %-%"KC:    zC쁒}t67   a,b  i/ &S B0'_tmC:NL}~ u{\  G 5f*wB wz G Nuz +{Qs=:/_bS:KNCOzRON$KJC2MM  zw{ )vSoB?r )#nL$GtC/hxIe9eC .[  zC3W454_m6'9^9o&S ixc6AE$+~CudH e .T  "_6"nUh#c:FWhC5|e t } hehe r _ VWL S,-C5s% hede ED + $#HI YA  Y d#NO @G$YILM # LML LC"tz     yS }'Cx2wxC?AD5.IH6 7BUK), <Dq41cLABup;h%f>)}R$kTC&Y  ~KJ4`"SRON)()VPUT10C &> S 4rs *zHC)E6DsnZU+BAo(g|-8O]&IIyrKHK$A|+1C"|}0Scfi tuC8#S )&QPQ $iC= R C5v54!B="!45~ED6]$qr! mlG@W ~Z36&C"\BCFG }lqono,?o*E>1p>1 0I HI C ?, " S ƸJNP< C ӌ=kd: A|`CܸCЁRKHIyjTA.9H 9yD M61S LyY?e~CEB&Kk% K$\1@02C3G h5Q6q4ETCP.D>HY/P[T ^eVs)f-^- .)M$i 8 $NDCwjpCܰ9?B (Co! HGJc bK5 "   H     L#/A 0 '   pql k lmC93&7'BC8KZ Q8  " RCV*p*= +$0C<u!D (B  V   " C&< */ >A  CMYC ? L  S P]H;C*O Cɏ% $  }bCc\c   H3    C%2?LMLM:!s/b3x-def ](~)$A.)8S !4^M+*;qC-;hszU(> d.lONip E`Q 8aX1Fmf_ZSk6 l| fUzT_ S Z  )2MR `e |G](2/V ;:76;:xde 2dt-}6;D }MIC C6n   ?#  :C eA]7 &C?1g ! !  k xo n mheda L M]HIF E!@  E>C&=C {"  p S \`auxc_,C"6 S+0F-8 _N?$Cd5&oD _",aw~e?nA5Z9:PL}/S]wI3"P!lGjK[~8CCC 5qpq2 FwS? B!*MzCYNh\nY5#Qh;>^ )N"s=2ZCLCCi4LCD ~%HqAQR{e u_E:^Cltq0? or%?jW3JOGbE3 GNYODg/K V_[ *%)2).Ad tZ >28 tC&>eh $,I/^@ !W# `$ (}:C& St+;;I ooCQ n,Ew P>Lx7 2~ B 5I'$'I!,S  [  WX (holQ;z)fV (Ri2W B9E.gO c( _v<.TB -0,|"]    e~2u9/5sR D("Y#l$ Zf (1 %NlB7=(l{ K{$$64&wB(2 > L#8-a_iJv4qIw7 6 @Hk"K0!  $ -'3 \- ` #RaFE '^ > (6u +"h093@9 d&B Rv{2*9/C,Yb"X:[XMiB( *Y8]mYh QS,6AI|tggf8I* , F }0R >xc ;>%e !$*;AGX0nFpcs F#*KPna*Uy *$+RJ U cN 9cK!` ! jHvarn2~ 0JK7!7E & 5L?X^ M :!0>`y/B &H=\_4 1Vx C8cX6e<p(w* %_7JE2v7o*_{'7.@+[ZfCu^+!/(~~|u=J l,h<l^~I-B(M^ZL0RBLQ\`Sh0s=;=>Tdf)og?jp\sdf|T >\j{ u $ .!%j9<P{]G$v>A5KV\gu-  / [/Q>Ktxg- 1U~rYWKKFIPYy|GkJMr_#hFrtdC_pT~m3"DB=R3i(m@1EJbPx"~:+*07D;>>FH`i km>{~G0 T;so{A% V%(*${eOTc 2 @" (I$c!V9c $cI + 2 ]hv.-c!,*pxCB.aLKb q| #(*3]c[%c. c`sh |k.vqex9a  lpjr ~Bm)vauCX)\^;qw=aG9KU@^lt #U(Q,\2tS-jz| S#>0 :U?xHKOKm:4t"8-@HKyZ_Sm  9L(12y<^T r=xE g0fQfo| 1&()pOvm}h1<^ELrSY|^+Tc Gg8 }( _QBiZ :6IDOEFuP lwc5]=x@ERl~&P_Dk\sEz@+nJT9c"M!R ,'k-0b:XF'),.lK V@^d:p $g=P2,#D`i"@BX$6XG[SVe|igt4 ))^2 ?;NPs]Tg;nu*LF.14LB3FqL[.* ^*!8h""p{yQd =P#'b5t@Ck`Hlix.W3 $"N'\L N `.l?tw(BW E%Rdc ]L!TZ4 _jB lw+kc=NtWUhnx{p 0 +%>. 13gNUnjmZuI} L!{)j36BE!Jamqo|! "J8;?&FQ{\ldhUxY G:+q;=0OQ;W Y_n&ru)$(1/6?ADV%[xn1j ((+ .1/6DFJ LaR>P3G8qCXHRjHqH<Qp"@),k@Rs y8>$@DNUgO n&(-1ZNP9U[e\pMyIR E$AANHThgq%wIW -03|V1Z$^#a?hJqt0} I #9->36; >ACFI%OR3[6e"~2  W$,/2DKM1Vqz}s 3&).DLQ=WZ;`:g{l\vCL s 5[a]kecg__c" 0>G@Ic_c/Ac+O%zPUpRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEUniJISX0213-UTF32-HC!bC T?dC!wS#t&+"' +B9S% G(C %%o/S %@uC &zwz!O 0/ ]C'C0KS 3JWVmC3  K? C31$1 ) ') q C3L    &vc%97=;A?j]`UXw ~6O c]H^[c0kg6 EPT\bhtw|~mc#^dIX MXRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE#C\a !GS k]>2&?V3C>S 2!+ S tA ~$c S n$cUP &%$)C$) f7![ S .s"'A"} ";96"B; |,"m  S/P' j>"kOL iOfO>_c 0 m("[<SCiP. S2j Ck9S PX""O( zC ^W-*'0#rS l6B''$cbC x1TI67ZS 94 M-|3)FCXb >M#=:B@; J:E1=;+ =Ngf UJ )^-IR   QL5? X55@T K9G$ +CUptmZ$;M v3\7V=/jU_(AKv9y.@7 #C.eC.:CK  _!W:rS/0i ww85Rt {v\S /Sh> cr/qS/#&? CZccTc{i7&&So(_4uw$nBS^n}Ha$/7R4 t- .YO@4<{0PS_(VKpAX]X`-tGW-e"NOxe?Kj8]/8GUF ah(.\z($X[op%t:+T}Ra G6]C3!Y"o5n S/N <7JarC8wzC /Ӟ~/_H +<Dw*3`C00: aaC0M;:J =KA&wPy{C3x    5 & C4$&b9S6mhN T  `( 2n$Q@"QcC4lR#.g O8oxmjH9C'4Z%=,'0"kzpkH 7( pa 55F>5$LK&& . ? iGT4\#]r> K4## P\ 8 9 P" ZA8>F 2i5%" $09g  B^g6" \_ ,HBP &7J$(*V 8Cn !4 3< 5&Y1<& C$`j0Q_ \(pDG$% f@zy6d $.~.BdCD&r } v%Qo 3S N*9!#}DR1UCVNL^iO2wli@m32M(7X/uve R\gfN z3 iZj9{: ~WdQ }xXSwhN I@GF5Kr#yC NZ  a ed$ "  CN)Uxy  tuT"yx wnS N݅gN/F7CN9zPA,CN끆bFGCN聤]S NZ4dlmgpSS Oa 4?S O%k! WVroCO.3 $[q/5lCCOwS P*6mO ~z ySP!Bzidv IT;(C+P6^N yXqA(t'FeO?nR E$q )G>@/.CP@? )#012C2P0 tu5{$yxy5{&'&} |76-05}01(;:) o 19lS P၇ 4Lk+S P_JRTjI CPbEh qtED9 :CQ2vCP+- 8EF )(C(SQA8!1hd;^C:d?PxgCQRr9 B?A)h.7Zm[ M`sCQdJCQS;IF_T_ W>HSS Q~#P367#"C QQ3+D{vsgfot1jDYX/[~+*5Rp32CQKa`CQ 1`j.-<='PgS QpQusLEzCTQ5F} =}A jC:yxQP)?I.-B;Q$` ]`9(y7>aR38&x}r3UUp{$7jFPYZoYnO$ih/0CRNGa>` XYGC1Ro #N 1 $g  Z'+P'C*+NMN#IP ON $!zg Z}SRR)hva`o*=3nA@CR|{1tKb CSSC R쁥a HBg#B,EDS SM!xVuB0 KsSCS#OA@CS$UCS%iKTU)S S8S{mo UQxTKS SEVm  C SQp9r]J/h.< CSa!CSYq#J%S Sl"JW+^X;^CSw`SNIHU pKJyxAnP]8UN{CSr?S Ty/0i/^E``C&TlC8C< b*t ;:W}]Vt /B'  vC T 4 O  0  CT"^_#]\ GTS T%XmyYCTH7%p7CS Ttz@ 65CTSTL}B8 =82$0p{C$TǢ 5@=LmnJo5}:+27.m=* CT ^C'T2DETn oonoE\aJK^j  ONspQ6qS U{4HSZglnKC(U<zo t Of O`Mc~&% 4p i MP1W ~owh YCU_)_C,U:Zrsr u  s}| jkibmz% S V/U8PDCXY\[TCVNL kvSV 1#<kl Y\CVBZ bEkC+V;* {ihxkvwv ifgd u ~gd%*r}% ab%*t56S VȢgLiHw38t/CVӢjS Vעk_=Je9 CCV R1 eV}~OdKJ*yr `W6.y_6;4cb %1V yvK6_CWY` FCFVPduttkxpmhy{p mh ut torIHy IH{xzyz WRc-~S WexOlv3C8X y@D cb)7O~_}%.cL?B54\Ia@.V gv SsDMLUP # O>CX/2,+<>C2Xayx ~ vo~ ~ }f ]p| |}|atze `z#S Xhyz_zvC7Xܣ1)t|:)_PG|32kj-1: o|qR#PY6]\Pc^cdxOT[CY iGCX݁y |"|/./w$%$;8 =<1S YgMyzYJwB[ CrYs&t32u4T|8izOaE"3.sA|$u X] o B_r/2OJ t#!D =< ;g* KL =V    GJ #$ ABwa_H9t! ]\NOCYnn,CYq  ml# , 4?>C;Yyj?%`?<?'&8963767=: ;:KJ aC)Yr  *   ! -IS[HGHIJ[e[h*{S [Cl5*}p>,bC[nDORz5WCC[w C[= S [S:"gGt:C[ɤeJOBWMoX+D)(GB/}L//L}1k'sutSZIR2ebi/PCBk`o`wE9J [d   ;2 wG>[_:KFOJ  _h sr !wr  '>ed uH8  on 5KC[sE2 >{CP:1bC\*? 2NO N/G%C-[΁z {z5   5   %&-0 5256C[ׁz $2%  "o#2$CC&[́D $  "#    S ]coXYePC/]m W^ysjx7.Tq4mh[= oO" qbGBa` !>UC]C] TS|$'"|UML- z y)NTM vRS ^w)$/7C$)C$^?2231 TgngCg`o^ U&nKLgl C^pH C^N }-*zU'&'KBUQ(zS^t 0{2WWVwS _-,UML+`&C _wFYist}S _!dF^$h%C_-$ 3^5z3B~wz 1;XOtd)iiC_4!! C_. -=<Bf+* C@A( ! H S _|tLb1-`F76C_9-Rhe}DGC_<"Y4"!C_S _>!f}9edC_-L* FWPH; J?6|c?:mv C_5 4C_8 3 5,549 * S `Vp*'zsCC4` 5&#4 +2SJ 78g0>!&#oA>o: (~  I2k^!pC`]'C`&;(  )B  ED-,)(S `7 8R{f^_S `O"Y"ZC`c&?> z C` C`!.1'"S `إzR/Ef5c4GC`gKF>SF_^ #& m]D%"C` %$C`偨@7)\=<?>;z>;%$8ADCB?S aDj;I}/elC aS!QLiqRCa^(utCalLS an6\q vnC5a~GeSP Qia  7Az5. yz in=P wY*CazC%a{*'& Lw 2BO)vE3vE r4pqF~YVWVS Ra /S bp,89#Z9:$C?b&lon+mVmG IA3$SM) (3<y r=,wn/xTKm~5rQ{*| sd C b)^ C_ .=>q|  = 4cXq> 8 }t  EV C:q7ElM/ cn  v1:E@MPAB:s#  ?@/V#4(w\|E&m`E!107"HH h9&2i ^5.uxOPO8A]Hn{eZ;6 Pe,Ccþ'1VO<, g"fcb#?"+~1 Ccs 1 N`1 N=@-<  C,c"_ b+*qp $w x      $CcꁗJ'  9*1 Cdo(70C-c %!  #    "4 Sfk6owY<+(W}RkeN+SOl!RCf4j*/>5GDaZ_BCf3v .'W~Cf7L S f]q63VyC-fiiRg,CcT#pcZ  {fqdQR^2  ! %21@Cfs"% C fjQ SL} 54  (T=f7z[ZEDEDS f'Pm [pNC,gK$=<YnhwSK3Zm5/B}N.I69J1-&#"P$Cg(D34Cg i 76fa`SO 'S gli;HM,yx`;C g|$}b"9$ gCg{2k jYCgj S g #LT1Zo>Cgnt]x! S g089][: Cg(PNKF% mF#HP6Cg+C g{h~~)&|S g6hoe%$Cg*d}noT}1v_gFYbU]dCg 'CgJ%z~ih~}50~}S h;~-,~x{ 5  C!hH j{xX>9j5I ^?& !}u%& [,EChR,;!ChIvwr3@C454wA& uVOh96S hKvo6Q)C hQ[]p=CNCh/ChS h0v654O |gC hߘi IZ-&exDCh.Chꁪ A@]pSi sd] h2qtdt=C7i@c  e }S *'$=K ) /c, ?!Y nd g2 V +: WNK UD\#B JS Hel) YXCqip+& 7,    8=$         & 18       oj/0    ad CibX2!Y z^.h(#$" yz$ \C"i55 IHsv 2[ Z   XU'J 1{zC2iB 4;4 ? > EDI LQPUZ g hij      Ci" B5 X  =HR O7Ci 72#   S k_bnomVpQnCki2nOrtE=! .C klc Ckk?S kI[oHGDC4kuu@Ary2o2(4 #3~X ! <XE^vmlQ^'Ck=hGC/kj 1q  #` ;'pu&LutONO+^ kpk&>srA@uy( "A3yjuwS l ^)M4/P*yqtCF ?f =R{tnWG4FM aTBARE +Cn2&) Yhv {[^r wMBr}C n;w $ S nC8eX C#nыH8 3% p )410E.e8 e)   c @CCn8 )" m lq pf[XY\C o  S oWAoLUSj!SC=odk 8Xa| >.kB ~7 >s:W | CAV ; >g)  h|% A OhQ x CuZ |KGF}#m _{" %CgofDM     AB+2   uv.    /         #  CoQ,?_^  U5)0/# %WHX  {J9 h op'<M C'o} %$#?! * nm) Co~3  %]&.?9 "2 PC.ohC' *  "  !6*,Co3U(0-IilA"C)ol "  >E !  1   S rW+dPdQZ}'JJCErg ?~ XY ~ [ (I@g  _ p`V 1\nN8E~Y= v $?j* YeN E!#E_ Zqv,Q iH! .8CWrtk        7 4+     )("  Cra eRE  5w$xaC9r; %$3, (`a ON HI @=   WCrI (; 85C6rx &  , # CrhH DTU *  </>#C/rkA /   @   SuJ]V*-]>k/0C u0><Z ~EHCu/rCu6E!dS uFS^gX=d'&CuT^JS uYy4q!*H OC udVE#fWZDES uou-hk~dm-(D.CFu@@'U[jeVQLtk|?g"ON   wz[Vad +sczCu~#/c b    wvC8u cbSRc \{Y  !@= B74Eons832Iih i.G+ BS vO7o`! CGvw ; `^P x] <2NpgY m\HECZ'fpa&{*'T= R#aG Gy61d{PY6;=#L0DA CVv  %&       $.        =:C vy=>oB/{,5C v7%  ;  :!5) 5Cv^  `Kb*>OC'v  ."#?  "  C)vr   E$! 8C4v!  = "   +   S y:THy@CjVC1yGkU^XJ{r[`t?WpO T$*$Yk:(ih y}W:;ST6%CyE;v NOJK TK ~|FG~DEm nCyDY  S y݁gWk@)()GCyf; -D$YX'v SCyꁙ&SPE%$8C >Cyk S z7 \ >tVCzB6T?@] b  stQPyCzEK C zD+7H K@E S z}*' d)?2ZCz+Z>S zZ>5gC zx niwtjGJCzQCz{ A&#"#S zËT@B=|^O C z n#-S zd .61JdwCzzQ07y7 XN#C{W C z;:\ j I |S {% jh9UvC{3JK VoMC{1Z TB 'C{0S {KR'k0NSvC{C {]i! &C{`](+TULM&jo 8+-S{)2 . $) XW"_C{{Tap^5LC{bC {30+*+.S {Ěc0tRyF%CN{Ϯn Z.-<  zq{r uv#& /.yx !-05#EB''*s6B;fC{c1   C@BC*{ԁ hifizlmlm @Uq nut|+Sw tun gfeC{ہ&   ) S |ү&HHC3z,C|ܯ'E/+12utCVcK(C|vHI J C|遭1S}2'KkI0cTHC} IL*nS }*6z= 3_C}595XS }?8ZQ.R X1C }K5,tSt/{r kYT 9Vh1Hx C}MN  T5! T WX>{zZ>A<BC}Q8 S}6OS PsbE2TM{C!}N(luX#P?*yk`  k;kr/*d2  C}8I ; a9ihifC}G  S ~12ZPY Ci~&N{  53N  w<St8Q|OjmbTI )  QTdz4ML!GH! b_?6?6K-x dc[C~GON + /- C#~'B[Z, 1)01010+ &%"    C~-L /) & S >9IC+yQih9Q$O4;@xzZI$TuiTlYzG'N  8C{j  ~~ ~ /. /.Cp7S큙t!5F }C$7n~elOevk,;%F h . s v qAj>8C+ d  rm    C 2544/) C=y~ ~z{z ?DC8jk {z}t MLzK@ uONvuvup }poS MrX\&M0eC S c-xpQ \]WC!=0veyxS 2>76-q\wNC G*^I79 DMYC @$ BC%<tm501$%$qUVwvj WcDiVYI ^9fsS +R?k~u(-,S E%?0kj 6JC ŋ_ Rkp$e^CGJCЁ S ޱELShiP+W tC)m (yJUT=B;ZxC ꁚSML C큮%3S+T,ut3HU>ES'hBC@OJ C<9a`C=/S OcZpK,UACwYWC bmp ;4C Zzh /Q~US ON?PlmmC7[O@*_2wh*!@bINkV!^ 0fW7>!3<# +6Y\%M\*=dyZC5Kdi +*KMf!ml"C 9 )0S _;EP)g?$S id5Cun$A4  CW, -]C s=Mz3 B54CtJS `Zb[=X C7ėr/mv;>,sW( Y f ~SZ;~T#wrShiPitrCJawTv_ CӁ_z C PG JKGun H J KTĆR%  S ,terqpECPC:Ca(bcbES -zw,{ rF?CN> 9: C& @%'"?@rm W 6 ;J d/LON)Hb =R  56C'  3,Yt  Cb%GH( KJaC.| knsrsronmlst/` 5BC x'(%  C"m   " #  S X^"smlm|C >,Y(d ,T>&C- r     ,7       CQ#noano\ alZih] cbhkb Ul 3=tvhcb]t}|d[xzy\ed_^_^ihcba`] bonk*#f=+S  |q,kCC=  UVg)z)CC<x}| mnojkjmjkjSUCwch9&! b.x?HC-h/x/jb SZy d dW tW a;\SLF L<q;3dz d+={vuDUCJk3       .7$  ^u   C  *  <[SZ GFyC,iOji0 h[r de$h a`iyx`a` e ` a`a`cC$qG#     S |H=T CNAW!CS , edAb]\C*Z/g`kC6@[gC /y#jI#S P.fPbuXIIC4[ ! 6Gn80#VJ9 :[>rg6>rudu-4i! ~9%K/y`&C]dj kjon KJM|NMPsrOC\ S ڴ3 sC#+JU~I0o-,\TMC&C 쁚chiS:7LQ87LS ` .2ikaCD&5dm7<heCDKN'"MFGFw h GJ%&onI["5 UX1n.SC 7(G( +IHC:-4 ml;J48o~KJlmH8kO8 ul941GA.oA.H T~ A< )yR]yQ. 4MC,ʹ} :J rqPb c   C8ҁv7Q 54 96 L     '& FG`&'b G  EDEDM Q^0= <9}Cρ<  e    !S G DAVYC_|CU*  CT1V?>^a7Z D#"GF]\S GUVB+E*C ʒq|0 J!1a4 PUC>`aj k CH\iD]\ C@ "GT f#E jO&S|S %!(O:HW~uS 3SJ+/X]#S >X[&vI7C9IZ[^A9&$]^ML c`JwLC*S7j#8}|!"A\1K \G&CJ@N_^QKR? j ]^ uN utu0c$C O|7 S dJNV_i CIfN  ; zJO` beu Z@=YoVz Tm "SD/ *[xh-6i`Y,K8?E#& j1+0B0M84 C<;T2uCFv*# TG  ZrODe-jH%>G>? >uI` a Z[daC,VC "" )  C -~i '$NC9/0? ZY:=< =<=:=898965 (/ $% !  C?"!& "   S ֶ8G.m c^C| %-%"KC:    zC쁒}t67   a,b  i/ &S B0'_tmC:NL}~ u{\  G 5f*wB wz G Nuz +{Qs=:/_b3eKNCOzRON$KJC2MM  zw{ )vSoB?r )#nL$GtC/hxIe9eC .[  zC3W454_m6'9^9o&S ixc6AE$+~C~I e .E "_6"nU%:FWhC7|e * H } hehe r _ VWL SjU,-C6s% 5ede ED + $#HI YA  Y d#NO @G$YILM # LML LC"tz     yS }'Cx2wxC?AD5.IH6 7BUK), <Dq41cLABup;h%f>)}R$kTC&Y  ~KJ4`"SRON)()VPUT10C &> S 4rs`CzHC)E6DsnZU+BAo(g|-8O]&IIyrKHK$A|+1C"|}0Scfi tuC8#S )&QPQ $iC; R C5v54!B="!45~ED6]$qr!Kl`gW E36C$\BCFG }lqono,?okj*E>1p>1 0r= HI C ?, " S ƸJNP< C ӌ=kd: A|`CܸCЁRKHIyjTA.9H 9yD M61S LyY?e~C?B&Kk% K$\1@02C3G h5Q 6q >1PmY/P[T/eVs)f-^- .)M$i 8 $NDCwjpCܰ9?B (Cs! HGJc bK5 "\]$%xy   JF<   je  L#/A 0 '   pql k lmC93&7+ {NC8KZ Q8 " RCV*p*= +$0C\u(+D&%  {xyx {B:;ji be` a`a^_V   FKHI AG FE D EB CLYC ?  L  S P]H;6OO Cɏ%<  }bCc\c P Q  H3    C%2?LMLM:!s/b3x-def ](~)$A.)8S !4^M+*;qC+-; ]i "l f &`Q%Y ' k Mj K"]$=bI]}kd W)_k2dt-}|8 MICb.0F?+, zun    R[fYT_   )2 `e 2/V xde C6n   i8h#  y#xC eA]7 &C?1g ! !  k xo n mheda L M]HIF E!@  E>C&=C {"  p S \`auxc_,S\Y"6 C,~S+0F-8 _N?$Cd5&oD8_",aw~e?nA5Z9:PL}/S]wI3"P!lGjK[~8CCC 5qpq2 FwS? B!*MzCYNh\nY5#Qh;>^ )N"s=2ZCLCCi4LCD ~%HqAQR{e u_E:^Cltq0? or%?jW3JOGbE3 GNYODg/K V_[ *%)2).Ad tZ >28 tC&>eh $,I/^@ !W# `$ (}:C& St+;;I ooCQ n,Ew P>Lx7 2~ B 5I'$'I!,S  [  WX (holQ;z)fV (Ri2W B9E.gO c( _v<.TB -0,|"]    e~2u9/5sR D("Y#l$ Zf (1 %NlB7=(l{ K{$$64&wB(2 > L#8-a_iJv4qIw7 6 @Hk"K0!  $ -'3 \- ` #RaFE '^ > (6u +"h093@9 d&B Rv{2*9/C,Yb"X:[XMiB( *Y8]mYh QS,6AI|tggf8I* , F }0R >xc ;>%e !$*;AGX0nFpcs F#*KPna*Uy *$+RJ U cN 9c_hcG!` ! jHvarn2~ 0JK7!7E & 5L?X^ M :!0>`y/B &H=\_4 1Vx C8cX6e<p(w* %_7JE2v7o*_{'7.@+[ZfCu^+!/(~~|u=J l,>l^~I-B(M^ZL0RBLQ\`Sh0s=;=>Tdf)og?jp\sdf  >\j{ u $ .!%j9<P{]G$v>A5KV\gu-  / [/Q>Ktxg- 1U~rYWKKFIPYy|GkJMr_#hFrtdC_pT~m3"DB=R3i(m@1EJbPx"~:+*07D;>>FH`i km>{~G0 T;so{A% V%(*{eOTc 2 @" (I$c!V9c $cI + 2 ]hv.-c!,*pxCB.aLKb q| #(*3]c[%c. c`sh |k.vqex9a  lpjr ~Bm)vauCX)\^;qw=aG9KU@^lt #U(Q,\2tS-jz| S#>0 :U?xHKOKm:4t"8-@HKyZ_Sm  9L(12y<^T r=xE g0fQfo| 1&()pOvm}h1<^ELrSY|^+Tc Gg8 }( _QBiZ :6IDOEFuP lwc$]L!TZ4 _jB lw+kJ=x@ERl~&P_Dk\sEz@+nJT9c"M!R ,'k-0b:I(_F=e|RV"p' qH$ KY1*R ym  85B?'TZkHko>XF'),.lK V@^d:p $g=P2,#D`i"@BX$6XG[SVe|igt4 ))^2 ?;NPs]Tg;nu*LF.14LB3FqL[.* ^*!8h""p{yQd =P#'b5t@Ck`Hlix.W3 $"N'\L N `.l?tw(BW E%Rdc>NtWUhnx{p 0 +%>. 13gNUnjmZuI} L!{)j36BE!Jamqo|! "J8;?&FQ{\ldhUxY G:+q;=0OQ;W Y_n&ru)$(1/6?ADV%[xn1j ((+ .1/6DFJ LaR>P3G8qCXHRjHqH<Qp"@),k@Rs y8>$@DNUgO n&(-1ZNP9U[e\pMyIR E$AANHThgq%wIW -03|V1Z$^#a?hJqt0} I #9->36; >ACFI%OR3[6e"~2  W$,/2DKM1Vqz}K& 3&).DLQ=WZ;`:g{l\vCL s 5[a]kecg__c" 0>G@Ic_c/Ac+O%zPUpRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSEUniJISX02132004-UTF32-HC!bC T?dC!wS#t&+"' +B9S% G(C %%o/S %@uC &zwz!O 0/ ]C'C0KS 3JWVmC3  K? C31$1 ) ') q C3L    &vc%97=;A?j]`UXw ~6O c]H^[c0kg6 EPT\bhtw|~mc#^dIX MXRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!a ^"PVk0 KAGXM;>OA JO-  6  34 769898 =8C858ASa$Who7|$#Amortui X 8M NO~ W N 'mq M C+*-a .-$;7/8:a 5nlA !wT a!@A!ҁC+]\]>6EYA !pN2B1 (A!fa"%@?>6A".SV8?3 +&A"7 dA"P#!<'a"d<:Ij"a$`];!Ca"f)!)+,+&(  &7/ ,2 ZWR.DA%Q% H3:%>)<'(q%/1$357#9; %=?!A&Ca%h %$eiA%mbsJabIDchW^i>=a%fA&& !AA%G?{%JOUA@lW=L/.#f%\ sS6O0Qyd n'?8U% #8pYf!%r @/u!b(mP)$GFS4B"Qiq^=/_ Ks$$qA#P+9xzM U}`Zg~gMN| oV ID!hbQ6Qfi7\_ j_xB"Lo9A]{b3NUa0s>w (m N"=-qj7 %j wXHtt?_ #/pQiDQX%CY^,2 +Cb%tS4DF~GL'Mxc4PY;>k@# vAh8EUb% nZ'kD6k|vun?^&+Ob{fn]oD#64 vLMS pPLWDU85Ty  ;;qC\ `|AA_RL?*<m-|,JEd%/T ]h*+OTn1:ojn 1A@?1\(!W``X?Jz]x1zZ? 6Ew0af3l; GPeaJ .))F-YXY B7,AMpq &Fv[:&3" ]XgJ{l_vy2E8;}<nYfrvsx0PEm=( { u}xs2#x ]~wu .u0a[|0&{]b&Wy sa2q %i _ ; DHS$8{ 0F&1P  ^;ps o\;ydemPa5H;l_# {z@3H+hgdlXFEQ- GGbE,+z2g> _07Z%eb!LK A51m*@ "CE#OJc}QNJ E>( ni >iVKAjO%J~c| x} |9f6sAYA"2k"S&Rpl!N<iDEfaoMgJ]SZ=,st *4 jp=/l/[Zl_zqp.|a eTJ = W!d @9N' ,?G:1C +3k`fFc6IF^w b< <by,a2p9u2dA(tsIs"mP}T zX1R?5>dX@SSb:jnI]O?!|7V-I#^ZX7(s q;6`4! IH^U:]K(_ D[ /. 4CQStr wodB ;.9d<[&YToy&6qRI0;Dna\hA]T47swA2\5bE3Y$? fc!rib,YB1 MbF*qz o g$TA> :0e) w{x{% 3 e%hA\7y,gZ3mR3|kB wTM_U; ,[4k ^fa^|-A/^~n*2B UX6Q= NY ;o=Dp0 $_{nSk>k9 -B),W@&>D ?yA*^hBD!sHP3rF)`A+z!A0y>%y klnj o`eZQ f } ^6[A^ȻD' v m  x= & T 6a_ZA_C sU L V ang9r ?4r L)yA_&H wa$ }tl @k AV w%gl=$  FA_ ,U m,0Q;LN[ |sriu1aa2Aa:2O 0Aa 6NAa]?10W U'h\4aaX-A7acnCBZ 0 X B|?^#V?o 9 doJ v22a>f#'!FfY =SP* hYvmo&a)AabCH w>#AFy |6+TR`STRXy)p;L <)x "@?KL d2 9p r>oX YagsAg&> rM gV{ Zi!"(_6ScO\EN}AgpAg-(>]YBRobw?agxAgIYI01,@v h!*^ +7D~hg `|=%t\16AEgJ% s5>? `qNZmhq! 6|QpP$i xE]*M0Qi3|oP[) c &BI _I4 >p P9 BmAhSSKaia9Alic{I4s3^]^He `X)  MhU]oX^#TGk `:%]2l7hV}Gp!A<-Tus(U#* y`UY] \[w?] *_A k HtMe>+~9"~{} :97LX_zGohk_y-|A iw CBLp!:Pu7,A ii_0(02_TakMAkۥ(6mjm+}0;Kd O6Gx-&KP?tm"Qr\4vexM  epZ4i*F}hxmTfOOR{6'H+2p-|Z 3:I~)s\8mU2%]D'|l<M+r<#dH~p$fcPS^WV,# CLj9T: tG6m)p&yi|(k0n0+FR ,!R mhjhogBi6GK>V>ze(h3-\s |sKzJoBttScJL 1[O>x +:I&L5X7!7m l |='5} T(W`^IrsNS pwNY%!i pIo Md2w1T{ @>VA\Oj9Fk<)|Jy qbSv*bg@'ne 8o1 ^eXXUL]hO #v'n cp_@ !r bB #)XQ 'N)5P$/x6WVu[- )aqqAr}6. WA:qp5SJ&X  R yk Y K wP1y.8WF`ab|V%Shv ${ o |t 7 i# (7$Nu!B Aq1'3d J}9%9< s9{&0-(M(q%as6?Aos>];I xCYV El;a `6JC^  uaEW2AE&VvQpg&( 9$F^CV c rR NButZh0l= T%I34!B \ izi8C*ma HF s!y\!=xn y0]%h,#Lybc3e( M > '{z$<CB2 mHy& KMjRPJA>_zrUFM'SRShBUf  P[>W8=,@c|8+ZF-5p #^Ca^  ifBG^ hCBC ")@(x lav}Avtf E]'C+N+)E1Ad%^ *Ul&s:!+A.vb'r03cv# {Za6OSrsL$1I8 FL-<> P#O"VYX ?L9OAvc ?C  g,-zO RWv ^ a/lz V?<x r()QaxGAx3P5wb :G,r% $a1AxcAx˷ 5` ayGAy[ |LK,+ u 3G6w8s8*z/EJO&qAyPF )%)!Zi3WyI .n-0D+Q Q>^A)yI2 989t1 J_U@m +Y Kps,+4 CRi-hb F(#h%H}m>G E(WazUAGz~ Y <V 6h+L]v X-6u PQ%,  A A<  R+foVj%  o 4i Z/ ,T.U}b ))B,%l2PH.A(zķu-N -R ;_^F4# {&'$K=! \3W}R2ke 3   "A{,1e"?:>Ja} jA!}!) J Q L6<Y9V! =`0 _ i?V b Y)][<)x(uqin eCQYy* :3A 0Jg0Al}4!5 \KJA$T}f NN GiL da\}f < ?u N$rs2 EF 0e3 N g=8 .B=n!Zmxww.~b}j g3( qp]GW&8x R?:5l |ns2>ut_ & MA~jG^"+^ CjaP AgT`o=ZasFL [`u J)^T ;"3iol(~, sFSBkvlM+jTU2X fUXD;}BGG@u@ aJB\ HVWb*Q dTo>b^Y+<BQj=.+IRwNt!/J!o[YJ  ; g[x3^7 ~"tB#1 s;5J;Y& c ? %so d\ 9H~Wx ~N |),2Jzh^#AZgI  @A0#Btm]ZWP#=RcO(W/P1s0S~qoBt78jcp .X 011p-n 1pStgI K% Jz]^G: }vgV1Sh DU: Rczo^c`\ I8-#|oF\+j(C2%s0c w3f9~91AZ"-T; \Y- / B"# h% t[<A m*o| PEG0\6T.'\ .a~OA3FkpI/ $ * I26# A2)O9X:A FauAF0 1U4 S H m%f_JqJ<4 9z.p7P0& ?,pcLK|I@[n Zt3,LY9Ma \,!/4il3Q8YzzJm_I( M2GDciEK 8 &m,zRCr\i/4K\/B"  (Psa>>.q<g)o L \$vU9@ LEn{F|M\q7 ?^><}  QP'I]7_*)_Z X#~H{D?2 y@ 5JutpwT3]|AOLfY_Rq1G:Qr m&,m~ }M{ ` ^w2 rc -H(V_ ti@SC =JKV Y hon oT;d|Pk%t.g ,,o'.w? V%O?p !  By:kvF?FJ CF b5R=f/=&8x2=  j x# tqN!w0Xzpas6QP9i"UCX9 $(x<'o ^ydw4xc H@zO|LRK1ROA:OS=djL fqfk}F9MFKPmK\.K[vVCWartyW"D_J0d U:$s{j(]kVsE:~1 zK4@Z[Y; Sd=1q4> fM$U KDqaLX" p }(VMpkbC I1$sp&ZpMHn W zk=/.~ p:o@/X0q<of sNonpiHwAV { }T8 & } `L {aQGA [ !,wYu\0yHa]A +F y(,3-p'@P7AzW4~9jihy& oc: 'vA$s  a 4 W k?? z& V Qz/8\I:W hC ?@#atAǝ3A*z]A0 ~gp#>~m77 i,NaaSA5,[A]UMj%^@Ni@7 #B-rmRAy b I<;( f8%iVSHKNY1^' z tk3uG:+[30m/ 2cBcfi4, 6u (ad_z A31Y>gB95Ql*&oA1  y B#N !#Q B+v%Q<0eY G  \8=/%C $ - AS `E ZfaA[+pWiy;==*` nE+^ Sshl%w>S/ (Y-'h2Y S pm 5 ^( @GF 4<R)0"lsV|s10 0%Bavu ! Vn u Fi%x S7(?@A 1kp> V~5GV`dd/r;, >Agc \ n Y# pNSUtN/D]6$*IxI=cT=D* 4 ujUq3>u@wAyE~MRST V Y[\ ]!^"_(`+a.bAdCeEgFhKjLnNrQsTt[v\yb|c}elmprux     #$% +!."1#9$;&A(C)F*M,N-O.U/X0[1c2d3l5n6p:t=u>v@{B}C D FG#H+J-K0L7N8O@PCQFRYT[UV]XcZd[e\k]_` b cefhilmno q!t$u&w(x+y2{3~9.?noryz   &*,GIJKRS T#X% ^&i(o*+, -.01294;5>6D9E:F<K= R>]@cBeChDoFqGxH{I~J LM*O,P-Q.R/S3V4W5X8YV[X\[]b_c`dajdkemirksptqutwuzvx{} ~ 2:;>?C D IKNUV\^ahjl o!r" $ %&')*+./ 0"+1N2Q3T4[6\7d9f:i;q<r=su>y@{A}CEFG HI&JAKDLGM NOXQ^ReThUnWpXs[x]y^z`}a~bcdfghi"k#l$m(n)q*r,w/z0358?@ 6F } ~   !"!# $$/&5'8(O*Q+S-T.U/X1Y2Z3[4\5^6a7d8wz9 :;<=?@'ABCDDGENGOHPIVJiKpLM N OPQRS T#U&V-W1X7Z9[;]<^A`BaCbIPcdeffhhojpnupwqzrtwz { |~=RTWX\ ] bdgnou+- 0<BI\ w!2z"-$/%2&8(!<)^*y+|,-/! 0+2-3/56778?9B:E; L=V>Y?\@cBdCeDkFmGpHwJxN{R}STVY[ \]!^A`CaFbMdeNgSjUkXl_n`oapgrisltsvtyzz }{ | } &)9S Z ] ` ghioru}~ , 3!N#P$S%Z&\'](c*e+h,o.p/q0w2y3|4679;$=&>)?0A1B2C8E:F;K@MANBPDQETGUJVQXR\W^ ]_!i` b cdeghjmn!o(q)t/v1w 4x>{?|C}^_bchijps ! $ ' *234:=@HIQRTY Z!["^#_%b&e'm(n)v*+,-*.-/007192A3D4G5N6#P7t9v:;x<y=~?BCDIN P Q RSUVWY\ ]"_ $`%0aVcXdZf[g`iajblgniokqrssvyx{y~z{~  &'*-12 3 9 < K Relnq x % &!'"*$+% 2&='D(_*a+ d,p-v.y/|0123 5679#:=<?=B>C?HAIBJENGPHSITJYLZO_RaSdTkVlY r[&\'^)_+a2b4e:MfNg Tibk!cnpq rt=uRvmwxz { |}~;4p  %=? B I J KQRTYZ]_ad k"l%r't(w)~+,-. / 01279 ;$=%@)A*C,D/E6G7J=L?MBNIPJSPTSU VVbWhZi[l\m]r_s`tawbyd{e ~f ghijkm&n)o,p3r4s<u>vAwHyIzJ{P}R~T[\]^_`s z |   $*134:< ?"E$F%!G&i(k)m+s.t/u0y1z3{5~68: =>?AC!5DWFYG\H]IbKdMjNmO2pP#Q:S<T>V?WDYGZM\OV]^^e_x`abc ef1h3i6j=l@mFnYo`p{q+~r*s0u2v5w6xy :{D|G}J~ Q\^ahijp r swx{|~  "#$%'()* ,#-&. ./81:3;7@>A?B@CBECHDOFPGQHWKXL[M\OS`UcYfZi[p]q_xazb}e~fijkln o pruw x'y)z*{0}2~5<=>DFIP Q R X Z]bcdjlovx~ ! # $&'(* +!,'.)/,032435465:7<8?9D:E<F=GEJFMGTHVI^K`LcOgRhVkWlYnZo]p^u`vd{f}ghjmopqrst#u&v)w<y>zA{B|G~HINPSZ[\ b e h oqw"( 0!1"2#8$K&Q'T(W)^+_,`-f/h0x1~3479 : ;<#=*>E@GAJBQDREZF]G`H gIrKtLwM~OP!Q"S$T&V'W,Y-Z.\0^1`3a4b5c7d;f<iBkDlGmNoOrUsXt!hu w xy{~17"Jmoryz { |   #+258?^dfipsy! !."I#d$s%u&v ')*+$-'/+2-3.4/5677;<=>>A?HAIDOERFSGTH[I!_JLMN PSUVW Y!Z"[(\+]:^A_DS`TaZc\d_efgghhinjqk tl!m"n%o(p/r0s1t7u FvQxSyVz]|^}_~ex&'(* . 1 4 ; ?EGJQR!Suwy " # $&'(*+ ,'.(1.3!A4c6e7g9n;o>u@wAzBDEF G HIKNO8Q:R=SDUEVFWLYNZQ[X\\]b^v_|`ab1d3e6f=h>i?jEkHl KmWn]oqpwrys|tvwx yz{ |#~%(/!2TVY` a b h jmstz| !! C"E#H$I%N'O*U,W-Z.a0b1c2i3l4{5679:!;(=)>*?.@/A2BICdDgnEuFvG|HJKL#N$O%P+Q>RES`UbVeWlYoZu[x\{]^_ abdeghi"j%k ,m6o8p;qBsCtDuJxKyNzO{T}UXZ\_fg 5m #%(/068;BCDJMP W"Y$_%f&n'o(w*y+|,./0 1!2A3D4[5^6a7i8j9r;t<v>w?|A}B~CD!E:F=G@HGIIJQKTLWM^N`OacPgQjRmStU#uVXYZ%\&]'^-`/a2b6c8e9f:g@iBjEkLmMpSq!gr t uvwyz{}~!()*025< = C FI Q[]`dfghkmo r|} " #$%'()'*(+),/-2.5/=0>1F3H4K5O6Q7S8T9Z:];`<g=k>q@sA vBCE F GIJKMN!O(P*Q+R1T3U4Y:[;\<]?^A_D`GaNcQdWfYg\hcjdkeQ m\.FV]Ld5q ("*/369CH!%,07=AFTV[`|QZ^m~{h3FNsKF:O3fst;6P9qOuIMSWZ?\_aego@qAtBwzy{~/TCF G g%GTK(LPS4kaWcehjlXnsw0{ > [\ $*-QglwNYhKV$>ixo*Ta :p DqBeCRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniKS-UCS2-Ha {}z[x  k   ~RCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE!A  warYMQ tJvOez?AZƅ 1:6 gr34 769898 =8C858_s#lO@>P y8` )]YX l |kf68m+]\]>6EYT(V8?3 +&C IW"Vm`A-S^Kb3hI9?3V  N2B1 (C dZ!<'g  z_Iob /A 5n) Q% H3:%>)<'(A8%  (  Fi jebm 5& !A  A!/<!@:Bz;v(oFy:)&}=0lU:3wDQFi4A% V)-_? &H"5@Q /BhW4X'6+L_A /OVjIJwNQ Q /ZaV yGj'pd4bA/i]F>QPC"vGfA/utA/j0gQ /yA` ;jJA/<URA/,oX9A/L_)QY~}g"#HYK.+"%Q /q6E ~YXcY)Q /x(y ~=pA0lgh76bA/Ν6Fi'SA /ʹf,?x ;:Eh4=V|9 Q 3‚ r-D`qlA3؂A3τc` A|N<f& }Xo lv.a^UV' NK|u_Fpk5 uxv<e&BLi$1l41/@&o:5P>{%JOUA@lW=L/.#f%\ sS6O0Qyd n'?8U% #8pYf!%r @/u!b(mP)$GFS4B"Qiq^=/_ Ks$$qA#P+9xzM U}`Zg~gMN| oV ID!hbQ6Qfi7\_ j_xB"Lo9A]{b3NUa0s>w (m N"=-qj7 %j wXHtt?_ #/pQiDQX%CY^,2 +Cb%tS4DF~GL'Mxc4PY;>k@# vAh8EUb% nZ'kD6k|vun?^&+Ob{fn]oD#64 vLMS pPLWDU85Ty  ;;qC\ `|AA_RL?*<m-|,JEd%/T ]h*+OTn1:ojn 1A@?1\(!W``X?Jz]x1zZ? 6Ew0af3l; GPeaJ .))F-YXY B7,AMpq &Fv[:&3" ]XgJ{l_vy2E8;}<nYfrvsx0PEm=( { u}xs2#x ]~wu .u0a[|0&{]b&Wy sa2q %i _ ; DHS$8{ 0F&1P  ^;ps o\;ydemPa5H;l_# {z@3H+hgdlXFEQ- GGbE,+z2g> _07Z%eb!LK A51m*@ "CE#OJc}QNJ E>( ni >iVKAjO%J~c| x} |9f6sAYA"2k"S&Rpl!N<iDEfaoMgJ]SZ=,st *4 jp=/l/[Zl_zqp.|a eTJ = W!d @9N' ,?G:1C +3k`fFc6IF^w b< <by,a2p9u2dA(tsIs"mP}T zX1R?5>dX@SSb:jnI]O?!|7V-I#^ZX7(s q;6`4! IH^U:]K(_ D[ /. 4CQStr wodB ;.9d<[&YToy&6qRI0;Dn D , WE3Y<> fc!{jrb,YB1 MbF*qz`3 gpM=r5H L /^t[.M_U[XEw`]x{[)\Q dQe:/ UhHfA@2BB!X6Q"a>sYFo=D3yjn]0)`KH%_p1+ !r70 iH>u< 9>k9Sln-7^? CR^qp5NbZIW@&>DNc$d% ',vub6[N  !L Hferk$KU>}t 8'Tql}~C\;L]5ng}AVNN[=%<sXg3FrDA9 $~fu |7ib(?10W52 U~'[Zh+4u%5+CH9ly|/uGvto o 8ah8%=|?`+AQ .QL Sp?of$1*uZ+B_o@[ V:Ej\8a uBV}%Z&Keh7-N=DXY{gf6YKff+a'!:A./{V~ a<wh fY& tiox e z=4p3LM*||%*G\IYv X5u6S./LRwq(S u" 98'V~"r 5$ mcpQj q l' $\eF3yM,UFO.YZfD16ol?nF@a1P9;Y!D+j1i2 FPEnEJN@+x3 BAB?7?[\B[C3g'2F{}R?R~;4\raq$VcBC1~Cw|+%alAR ]*yAh?f;b9Wx['p(v~1 zC( >Xy)UDEUz;WVL x<7(x]e@9Z@?yw  ]0 ~#T i.ga4 r>oX}A:u<\ rM>],V{YB+Z 2!"(~bC6 uJ/O\EEE% s5O ? ` ?YI:qNZmhq! +46|9!:{vjpu^`cP$^4 alxXs*M0[~i3 ogN[3 =Jq ^BI _I4 >p P9  xBmI4s3.Q]^He=X):E M0IU]oX^#TGk `(o%]2l7hP{}Gp!A<-T VMs(U#*@;`UxS] \8w?] P'wADYX]irSH>KMe>+~9"~|y} :97LX_zGohpuk_y-|I6mjm+}0;Kd O6Gx-&KP?tm"Qr\4vexM  epZ4i*F}hxmTfOOR{6'H+2p-|Z 3:I~)s\8mU2%]D'|l<M+r<#dH~p$fcPS^WV,# CLj9T: tG6m)p&yi|(k0n0+FR ,!R mhjhogBi6GK>V>ze(h3-\s |sKzJoBttScJL 1[O>x +:I&L5X7!7m l |='5} T(W`^IrsNS pwNY%!i pIo Md2w1T{ @>VA\Oj9Fk<)|Jy qbSv*bg@'ne 8o1 ^eXXUL]hO #v'n cp_@ !r bB #)XQ 'N)5P$/x6WVu[- ) 5SJ&X  R hU Y P9 e wPNy.8WFXk`ab9{|V%Shv lu*{ o4y>A4 7 wpI^-*  \$Nu!B (;I xCYV El;a `6JC^  uaEW2AE&VvQpg&( 9$F^CV c rR NButZh0l= T%I34!B \ izi8C*ma HF s!y\!=xn y0]%h,#Lybc3e( M > '{z$<CB2 mHy& KMjRPJA>_zrUFM'SRShBUf  P[>W8=,@c|8+ZF-5p #^Ca^  ifBG^ hCBC ")@(x l6_v ZC +b'r0@ylOp2%f# {/a6OSp9f#t mBPC8 ^ ak:@ 'E`  FLd,S^l?#`lV5*v:<xC4; n B  b ?kEL9O idg^5b :G, % $a1TY89 1%l_ OLK `UuZi@u=+|w`GyIwL:Qps@+4{)^Ri-hiJ F(oJs8*zx%=Q Q>^iJO|>N F(WQ Y rs<>i 6Ng+bNL]v - 5-PRC6NE P U%m dF) Y A< ,#9+fV 2I.&3l$K9 o  \ ]__t/^}S$yT.U}bre 3ABj x y,Zl2P0iUCB|i49,Jq2X<p6s#pKe s LlBU$O"{ U<|mk$h BM|Ni7STg`3r n2_|r1}="E ?u NKnrs2+EFIxe=bCf N $Y*y!F=k" oR[.,h{<]Px!{TUI S yrS@5T$c`A/w.-8 j sb}jcz3Sz-m;#h']!(v >qF_iBU|&8EBx/Cr1Y Z77?DvO5l=8 9Ots \.q8>utKj /<Pg* W Y)o=ZasFL [`u J)^T ;"3iol(~, sFSBkvlM+jTU2X fUXD;}BGG@u@ aJB\ HVWb*Q dTo>b^Y+<BQj=.+IRwNt!/J!o[YJ  ; g[x3^7 ~"tB#1 s;5J;Y& c ? %so d\ 9H~Wx ~N |),2Jzh^#AZgI  @A0#Btm]ZWP#=RcO(W/P1s0S~qoBt78jcp .X 011p-n 1pStgI K% Jz]^G: }vgV1Sh DU: Rczo^c`\ I8-#|oF\+j(C2%s0c w3f9~91AZ"-T; \Y- / B"# h% t[<A m*o| PEG0\6T.'\ . Q3FL9pd/ T i *X'2,w# !0 1U4 S H m%f_JqJ<4 9z.p7P0& ?,pcLK|I@[n Zt3,LY9Ma \,!/4il3Q8YzzJm_I( M2GDciEK 8 &m,zRCr\i/4K\/B"  (Psa>>.q<g)o L \$vU9@ LEn{F|M\q7 ?^><}  QP'I]7_*)_Z X#~H{D?2 y@ 5JutpwT3]|AOLfY_Rq1G:Qr m&,m~ }M{ ` ^w2 rc -H(V_ ti@SC =JKV Y hon oT;d|Pk%t.g ,,o'.w? V%O?p !  By:kvF?FJ CF b5R=f/=&8x2=  j x# tqN!w0Xzpas6QP9i"UCX9 $(x<'o ^ydw4xc H@zO|LRK1ROA:OS=djL fqfk}F9MFKPmK\.K[vVCWartyW"D_J0d U:$s{j(]kVsE:~1 zK4@Z[Y; Sd=1q4> fM$U KDqaLX" p }(VMpkbC I1$sp&ZpMHn W zk=/.~ p:o@/X0q<of sNonpiHwAV { }T8 & } `L {O!,wYu\0yHiL y>GQx| a 4 WKBq/9jB? &/y&p Qz/8\I:W}hhCc2y4 /'O7dG#  gp#>m77 i,NaS]LMj%^@`CT yi@74YB-r(RAyXwI>;(srlQ7x8%rv%QaGSHKNY10S'(Ibi *7k"WbYJ\8=3}30m/ R!cBc<Wib/,| 6@7 (a9_z $>YXS9s>,E9B9KQ=(] Bc F!oJp@-W^}jUzu8uxe==9dq nE+^ S6 %";l% d]>SzL 5 (Y ;$|T =Y S  m 5 P sZo @GF 4x6RZ0nT'lsV|s10 0% =aPWvu>; ' Vnja Fi,  Kx|} S7(?@gU"          3   (   "  *  #       ;     O ' 7 " &  &               (    & #3  (   *        ( #+  B > Z3               &  (&3   ,   &$"                            &  & '   (  7& &    "     &    (&         &   &        O   " " (    &                 A'~*,F  & 5P( Q7V,J  "Dv*Dr ADAI,5Z Cp"Jp Q *"A%x%<  DzJvM7^Q,B 5X""J"A0:67X$,5\"$*(Q($S$$5V  J|  *#> Q( Ax "Jz  &(>A %h4$.R  "qB(AA#I "$,>$(< Q~("Jx*"5XvBoBAL5@d "#4  $( *$$ Qv$5@ "9^ "Hv "5X5PQ7X,L  $SoDA uDn "Br$7b$Q5XQ5R5X$$S $&7ZA=Qm6"$J $Q L 5ZA 7V  "S$5T(A!ni oD&7`"$J $$7R(,&(*Q(  5NQ m\.FV]Ld5A( s (,LQZ^m~{h3FNsKF:O3fst;6P9A)~W18 _n|   l) D_j A/7 wAgQglwNYhKV$>ixo*TA.C4 ]! D)ba ^auK]WhoF|$Cmrtui  MONmq M C+-@67<:X];!C4/13579;=?ACYi*f^}e xv+RS U&:2f)qD'sd`~K UQg ixtxG->AEMTVY6behjntvy}"  $&*&36:>@D"HL&RVX&]`cfi oquy{~6  -# #&(*.&2 6:>@DJ&M S&Y] aeikqvx{6  ""'+G4 7>ACRM OR UX[^!di nrwz>  $"(+/R=&AEzX[^&cfhjnrtw|~>  > " &S-&035;@ DHJNTVY6^begl ptv"}R &B!(, 0479;? CFKNQVX\6`ehjoqtx"}  Z #'7=?DIN SWY]6adgjloqsv{" B&"9(637&:?BEJLOTVY6\_ b"gik"nrzx&  "%)&279;=AEGJNP"W ] b-kp sw {~   "&&)+ 13 68:?A>DIKZQTW ZFc&fjzsy&    % */137@D HMOSU[]_bf lpru{    ! $( ,0 5:=ILORWZ^`dhjm6w| ".$) -147B>B&IM&QTWZ\^dfimo>uy{Z  F&'+-/57;?A>JNPSWBaeRp&vzR&&  $ (,.16479;>BIK"OS WnbfBpt&|&  > %'*.B7;zHLBSW&_bek mq u {} 6  ""(,z9<? S&VZ ^c gkm>rw {  "  %616>CG KRUYa dhg: Dags'5O[\a2_Z" j"*69C!%,07=AV[|IMSZagqtw{~ GLPensw  $-av}uua\heMw atazUa^|- 2W9S?0SaaX-a]afCguGaqqa z/:q!)L ,ZD: a 9$j?)%#/2W aa!@a$Ra_0jjUruwy  "(+.ACFLNQT\cemprux  %+.19;ACFOUX[dlnpv{}  #+-08@CFY[]ek !$&(+39.?orz  &*,GKTX ^io 9;>FK R]cehoqx{~ */58VX[dkmuwz  2;?DIKNV\^ahjlor   "+NQT\dfisuy{} &ADG NX^ehnpsz~$*, 0358@6F~  ! $/58OQU \^adwz 'BDGPVip   #&-179<CIPdfhpuwz  =RTX]bdgou+- 0<BI\w2z-/28!<^y|! +-/7?BE LVY\ekmpx{} !ACFNSUXagiltz }  &)9SZ]`ioru ,3NPSZ]cehqwy|$&)28;BEGJRW ]!i  !)/1 4?C_cjps!$'*4:=@IRT[_benv*-079ADGN#Ptvy   " $%0VX[bgiksy{~  '*-39<KRelnq x '+ 2=D_a dpvy| #=?CJNPTZ_adl r&')+24:N T!c =Rm  ;4p  %=?BKRTZ]_adlrtw   %*,/7=?BJPS Vbimtwy{ ~ &),4<>AJPRT `sz| $*14:<?!Gikmu{~ !5WY]bdjm2p#:<?DGMOV^ex 136=@FY`{+~*026 :DGJ Q\^ajpsx|~  #& .8;CEHQX\`cfiqxz~    '*025>DFIRXZ]djlovx~  !'),6:<?GJMTV^`chlpv{}#&)<>BINPS\behoqw"(28KQTW`fhx~ #*EGJRZ]` grtw!"$'.157<BDGOUX!h  17"Jmor|  #+258?^dfipsy! .Idsv $'+/7<>AIOT[!_"(+:ADTZ\_hnq t!"%(17 FQSV_ex(*.14;?EGJ!Suwy   (.!Acegouwz  8:=FLNQX\bv|136?EH KW]qwy|  #%(/!2TVYbhjmtz| !!CEIOUWZcil{!*/2Idgnv|%+>E`beloux{ "% ,68;DKOUXZ\_g5m#%(068;DJMPWY_fowy| !AD[^ajrtw~!:=@GIQTW^acgjm#u'-/26:@BEMS!g  !*025=CFI Q[]`dhkmo r} )/25>FHKOQTZ]`gkqs v  !(+14<?ADGNQWY\eRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniKS-UTF16-HA }m m , 7P y8` )]YX l |kf68m+]\]>6EYT(V8?3 +&C IW"Vm`C-S^Kb3hI9?3V  N2B1 (C dZ!<'g  z_Iob /C 5n) S% H3:%>)<'(C8%  (  Fi jebm 5& !A  C!/<!@:Bz;v(oFy:)&}=0lU:3wDQFi4C% V)-_? &H"5@S /BhW4X'6+L_C /OVjIJwNQ S /ZaV yGj'pd4bC/i]F>QPC"vGfC/utC/j0gS /yA` ;jJC/<URC/,oX9C/L_)QY~}g"#HYK.+"%S /q6E ~YXcY)S /x(y ~=pC0lgh76bC/Ν6Fi'SC /ʹf,?x ;:Eh4=V|9 S 3‚ r-D`qlC3؂C3τc` C|N<f& }Xo lv.a^UV' NK|u_Fpk5 uxv<e&BLi$1l41/@&o:5P>{%JOUA@lW=L/.#f%\ sS6O0Qyd n'?8U% #8pYf!%r @/u!b(mP)$GFS4B"Qiq^=/_ Ks$$qA#P+9xzM U}`Zg~gMN| oV ID!hbQ6Qfi7\_ j_xB"Lo9A]{b3NUa0s>w (m N"=-qj7 %j wXHtt?_ #/pQiDQX%CY^,2 +Cb%tS4DF~GL'Mxc4PY;>k@# vAh8EUb% nZ'kD6k|vun?^&+Ob{fn]oD#64 vLMS pPLWDU85Ty  ;;qC\ `|AA_RL?*<m-|,JEd%/T ]h*+OTn1:ojn 1A@?1\(!W``X?Jz]x1zZ? 6Ew0af3l; GPeaJ .))F-YXY B7,AMpq &Fv[:&3" ]XgJ{l_vy2E8;}<nYfrvsx0PEm=( { u}xs2#x ]~wu .u0a[|0&{]b&Wy sa2q %i _ ; DHS$8{ 0F&1P  ^;ps o\;ydemPa5H;l_# {z@3H+hgdlXFEQ- GGbE,+z2g> _07Z%eb!LK A51m*@ "CE#OJc}QNJ E>( ni >iVKAjO%J~c| x} |9f6sAYA"2k"S&Rpl!N<iDEfaoMgJ]SZ=,st *4 jp=/l/[Zl_zqp.|a eTJ = W!d @9N' ,?G:1C +3k`fFc6IF^w b< <by,a2p9u2dA(tsIs"mP}T zX1R?5>dX@SSb:jnI]O?!|7V-I#^ZX7(s q;6`4! IH^U:]K(_ D[ /. 4CQStr wodB ;.9d<[&YToy&6qRI0;Dn D , WE3Y<> fc!{jrb,YB1 MbF*qz`3 gpM=r5H L /^t[.M_U[XEw`]x{[)\Q dQe:/ UhHfA@2BB!X6Q"a>sYFo=D3yjn]0)`KH%_p1+ !r70 iH>u< 9>k9Sln-7^? CR^qp5NbZIW@&>DNc$d% ',vub6[N  !L Hferk$KU>}t 8'Tql}~C\;L]5ng}AVNN[=%<sXg3FrDA9 $~fu |7ib(?10W52 U~'[Zh+4u%5+CH9ly|/uGvto o 8ah8%=|?`+AQ .QL Sp?of$1*uZ+B_o@[ V:Ej\8a uBV}%Z&Keh7-N=DXY{gf6YKff+a'!:A./{V~ a<wh fY& tiox e z=4p3LM*||%*G\IYv X5u6S./LRwq(S u" 98'V~"r 5$ mcpQj q l' $\eF3yM,UFO.YZfD16ol?nF@a1P9;Y!D+j1i2 FPEnEJN@+x3 BAB?7?[\B[C3g'2F{}R?R~;4\raq$VcBC1~Cw|+%alAR ]*yAh?f;b9Wx['p(v~1 zC( >Xy)UDEUz;WVL x<7(x]e@9Z@?yw  ]0 ~#T i.ga4 r>oX}A:u<\ rM>],V{YB+Z 2!"(~bC6 uJ/O\EEE% s5O ? ` ?YI:qNZmhq! +46|9!:{vjpu^`cP$^4 alxXs*M0[~i3 ogN[3 =Jq ^BI _I4 >p P9  xBmI4s3.Q]^He=X):E M0IU]oX^#TGk `(o%]2l7hP{}Gp!A<-T VMs(U#*@;`UxS] \8w?] P'wADYX]irSH>KMe>+~9"~|y} :97LX_zGohpuk_y-|I6mjm+}0;Kd O6Gx-&KP?tm"Qr\4vexM  epZ4i*F}hxmTfOOR{6'H+2p-|Z 3:I~)s\8mU2%]D'|l<M+r<#dH~p$fcPS^WV,# CLj9T: tG6m)p&yi|(k0n0+FR ,!R mhjhogBi6GK>V>ze(h3-\s |sKzJoBttScJL 1[O>x +:I&L5X7!7m l |='5} T(W`^IrsNS pwNY%!i pIo Md2w1T{ @>VA\Oj9Fk<)|Jy qbSv*bg@'ne 8o1 ^eXXUL]hO #v'n cp_@ !r bB #)XQ 'N)5P$/x6WVu[- ) 5SJ&X  R hU Y P9 e wPNy.8WFXk`ab9{|V%Shv lu*{ o4y>A4 7 wpI^-*  \$Nu!B (;I xCYV El;a `6JC^  uaEW2AE&VvQpg&( 9$F^CV c rR NButZh0l= T%I34!B \ izi8C*ma HF s!y\!=xn y0]%h,#Lybc3e( M > '{z$<CB2 mHy& KMjRPJA>_zrUFM'SRShBUf  P[>W8=,@c|8+ZF-5p #^Ca^  ifBG^ hCBC ")@(x l6_v ZC +b'r0@ylOp2%f# {/a6OSp9f#t mBPC8 ^ ak:@ 'E`  FLd,S^l?#`lV5*v:<xC4; n B  b ?kEL9O idg^5b :G, % $a1TY89 1%l_ OLK `UuZi@u=+|w`GyIwL:Qps@+4{)^Ri-hiJ F(oJs8*zx%=Q Q>^iJO|>N F(WQ Y rs<>i 6Ng+bNL]v - 5-PRC6NE P U%m dF) Y A< ,#9+fV 2I.&3l$K9 o  \ ]__t/^}S$yT.U}bre 3ABj x y,Zl2P0iUCB|i49,Jq2X<p6s#pKe s LlBU$O"{ U<|mk$h BM|Ni7STg`3r n2_|r1}="E ?u NKnrs2+EFIxe=bCf N $Y*y!F=k" oR[.,h{<]Px!{TUI S yrS@5T$c`A/w.-8 j sb}jcz3Sz-m;#h']!(v >qF_iBU|&8EBx/Cr1Y Z77?DvO5l=8 9Ots \.q8>utKj /<Pg* W Y)o=ZasFL [`u J)^T ;"3iol(~, sFSBkvlM+jTU2X fUXD;}BGG@u@ aJB\ HVWb*Q dTo>b^Y+<BQj=.+IRwNt!/J!o[YJ  ; g[x3^7 ~"tB#1 s;5J;Y& c ? %so d\ 9H~Wx ~N |),2Jzh^#AZgI  @A0#Btm]ZWP#=RcO(W/P1s0S~qoBt78jcp .X 011p-n 1pStgI K% Jz]^G: }vgV1Sh DU: Rczo^c`\ I8-#|oF\+j(C2%s0c w3f9~91AZ"-T; \Y- / B"# h% t[<A m*o| PEG0\6T.'\ . Q3FL9pd/ T i *X'2,w# !0 1U4 S H m%f_JqJ<4 9z.p7P0& ?,pcLK|I@[n Zt3,LY9Ma \,!/4il3Q8YzzJm_I( M2GDciEK 8 &m,zRCr\i/4K\/B"  (Psa>>.q<g)o L \$vU9@ LEn{F|M\q7 ?^><}  QP'I]7_*)_Z X#~H{D?2 y@ 5JutpwT3]|AOLfY_Rq1G:Qr m&,m~ }M{ ` ^w2 rc -H(V_ ti@SC =JKV Y hon oT;d|Pk%t.g ,,o'.w? V%O?p !  By:kvF?FJ CF b5R=f/=&8x2=  j x# tqN!w0Xzpas6QP9i"UCX9 $(x<'o ^ydw4xc H@zO|LRK1ROA:OS=djL fqfk}F9MFKPmK\.K[vVCWartyW"D_J0d U:$s{j(]kVsE:~1 zK4@Z[Y; Sd=1q4> fM$U KDqaLX" p }(VMpkbC I1$sp&ZpMHn W zk=/.~ p:o@/X0q<of sNonpiHwAV { }T8 & } `L {O!,wYu\0yHiL y>GQx| a 4 WKBq/9jB? &/y&p Qz/8\I:W}hhCc2y4 /'O7dG#  gp#>m77 i,NaS]LMj%^@`CT yi@74YB-r(RAyXwI>;(srlQ7x8%rv%QaGSHKNY10S'(Ibi *7k"WbYJ\8=3}30m/ R!cBc<Wib/,| 6@7 (a9_z $>YXS9s>,E9B9KQ=(] Bc F!oJp@-W^}jUzu8uxe==9dq nE+^ S6 %";l% d]>SzL 5 (Y ;$|T =Y S  m 5 P sZo @GF 4x6RZ0nT'lsV|s10 0% =aPWvu>; ' Vnja Fi,  Kx|} S7(?@gU"          3   (   "  *  #       ;     O ' 7 " &  &               (    & #3  (   *        ( #+  B > Z3               &  (&3   ,   &$"                            &  & '   (  7& &    "     &    (&         &   &        O   " " (    &                 C'~*,F  & 5P( Q7V,J  "Dv*Dr CDCI,5Z Cp"Jp Q *"C%x%<  DzJvM7^Q,B 5X""J"C0:67X$,5\"$*(Q($S$$5V  J|  *#> Q( Cx "Jz  &(>C %h4$.R  "qB(CC#I "$,>$(< Q~("Jx*"5XvBoBCL5@d "#4  $( *$$ Qv$5@ "9^ "Hv "5X5PQ7X,L  $SoDC uDn "Br$7b$Q5XQ5R5X$$S $&7ZC=Qm6"$J $Q L 5ZC 7V  "S$5T(C!ni oD&7`"$J $$7R(,&(*Q(  5NS m\.FV]Ld5C( s (,LSZ^m~{h3FNsKF:O3fst;6P9C)~W18 _n|   l) D_j C/7 wCgSglwNYhKV$>ixo*TC.C4 ]! D)bc ^cuK]WhoF|$Cmrtui  MONmq M C+-@67<:X];!C4/13579;=?ACYi*f^}e xv+RS U&:2f)qD'sd`~K UQg ixtxG->AEMTVY6behjntvy}"  $&*&36:>@D"HL&RVX&]`cfi oquy{~6  -# #&(*.&2 6:>@DJ&M S&Y] aeikqvx{6  ""'+G4 7>ACRM OR UX[^!di nrwz>  $"(+/R=&AEzX[^&cfhjnrtw|~>  > " &S-&035;@ DHJNTVY6^begl ptv"}R &B!(, 0479;? CFKNQVX\6`ehjoqtx"}  Z #'7=?DIN SWY]6adgjloqsv{" B&"9(637&:?BEJLOTVY6\_ b"gik"nrzx&  "%)&279;=AEGJNP"W ] b-kp sw {~   "&&)+ 13 68:?A>DIKZQTW ZFc&fjzsy&    % */137@D HMOSU[]_bf lpru{    ! $( ,0 5:=ILORWZ^`dhjm6w| ".$) -147B>B&IM&QTWZ\^dfimo>uy{Z  F&'+-/57;?A>JNPSWBaeRp&vzR&&  $ (,.16479;>BIK"OS WnbfBpt&|&  > %'*.B7;zHLBSW&_bek mq u {} 6  ""(,z9<? S&VZ ^c gkm>rw {  "  %616>CG KRUYa dhg: Dcgs'5O[\c2_Z" j"*69C!%,07=AV[|IMSZagqtw{~ GLPensw  $-cv}uuc\heMw ctczUc^|- 2W9S?0ScaX-c]cfCguGcqqc z/:q!)L ,ZD: c 9$j?)%#/2W ac!@c$Rc_0jjUruwy  "(+.ACFLNQT\cemprux  %+.19;ACFOUX[dlnpv{}  #+-08@CFY[]ek !$&(+39.?orz  &*,GKTX ^io 9;>FK R]cehoqx{~ */58VX[dkmuwz  2;?DIKNV\^ahjlor   "+NQT\dfisuy{} &ADG NX^ehnpsz~$*, 0358@6F~  ! $/58OQU \^adwz 'BDGPVip   #&-179<CIPdfhpuwz  =RTX]bdgou+- 0<BI\w2z-/28!<^y|! +-/7?BE LVY\ekmpx{} !ACFNSUXagiltz }  &)9SZ]`ioru ,3NPSZ]cehqwy|$&)28;BEGJRW ]!i  !)/1 4?C_cjps!$'*4:=@IRT[_benv*-079ADGN#Ptvy   " $%0VX[bgiksy{~  '*-39<KRelnq x '+ 2=D_a dpvy| #=?CJNPTZ_adl r&')+24:N T!c =Rm  ;4p  %=?BKRTZ]_adlrtw   %*,/7=?BJPS Vbimtwy{ ~ &),4<>AJPRT `sz| $*14:<?!Gikmu{~ !5WY]bdjm2p#:<?DGMOV^ex 136=@FY`{+~*026 :DGJ Q\^ajpsx|~  #& .8;CEHQX\`cfiqxz~    '*025>DFIRXZ]djlovx~  !'),6:<?GJMTV^`chlpv{}#&)<>BINPS\behoqw"(28KQTW`fhx~ #*EGJRZ]` grtw!"$'.157<BDGOUX!h  17"Jmor|  #+258?^dfipsy! .Idsv $'+/7<>AIOT[!_"(+:ADTZ\_hnq t!"%(17 FQSV_ex(*.14;?EGJ!Suwy   (.!Acegouwz  8:=FLNQX\bv|136?EH KW]qwy|  #%(/!2TVYbhjmtz| !!CEIOUWZcil{!*/2Idgnv|%+>E`beloux{ "% ,68;DKOUXZ\_g5m#%(068;DJMPWY_fowy| !AD[^ajrtw~!:=@GIQTW^acgjm#u'-/26:@BEMS!g  !*025=CFI Q[]`dhkmo r} )/25>FHKOQTZ]`gkqs v  !(+14<?ADGNQWY\eRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniKS-UTF32-HC }m m , 76EYT(V8?T3 +& WbVm`B,‛.b3hEI9?sV C NrB1 (CKdZ!<'gJ z_ oWb /B ‵ni R┌ H3:%>)<'(B8┠ (  Bi jeBbm u& aA  B!⼀<!@:Bz;v(oFy:)&}=0lU:3wDQFi@4B▱ VC)m_ fH"5X@R ⽂hW4X'6+L_B ⽏VjIJwNQ R ⽚aV yGj'pd4bB⽩]F>QPC"vGfB⽵tB⽪0gR ⾀`A` ;jJB⾒<URB⾖,oX9B⾎L_)QY~}g"#HYK.+"%R ⾳q6E ~YXcY)R ⿁x(y ~=pB〃l'hw6"XB⿎6Fi'SB ⿍f,x ;:ht=V|9 R ㏂ r-D`qlB㏘B㏏c` B一<f& }Xo lv.a^UVF' NK|u_Fpk5 uxv<eC&BLi$1l41/@&o:5P>{%JOUEA@lW=L/.#f%\ sS6EO0Qyd n'?8U%E #8pYf!%r @/u!b(mAP)$GFS4B"Qiq^=/_ BKs$$qA#P+9xzM U}`Zg~GgMN| oV ID!hbQ6Qfi7\_ Gj_xB"Lo9A]{bG3NUa0s>w (m FN"=-qj7 %j wXH@tt?_ #/pQiCDQX%CY^,2 +Cb%tS4DF~GL'MxcC4PY;>k@# vAhF8EUb% nZ'kD6Bk|vun?^&+Ob{fn]oD#G64 vLMS pPLWDUC85Ty  ;;qC\B `|AA_RL?*<m-|,JEd%/T ]hE*+OTn1:ojn 1@A@?1\(!W``X?Jz]x1zZ? 6EwD0af3l; GGPeaJ .))F-YXY B7,AMpqJ&Fv[:&3" ]XgJ{l_vyC2E8;}<nYBfrvsx0PEmB=( { u}xs2#xI]~wu .u0Ea[|0&{C]b&Wy sa2q %i V_ ; DHS$G8{ 0F&1\P  Q^;psMo\;ydemHPa5H;l_# {Dz@3H+hgdlXFEEQ- GGb_E,+z2g> C_07Z%eb!LK A51mO*@ "CE#OJc}DQNJ E>( ni >iBVKAjO%J~c| x} Q|9f6sAYA"2k"ES&Rpl!N<iDEfaoMgJD]SZ=,st *4 jpD=/l/[Zl_zqp.|a eTJA = W!d @9N' ,?DG:1C k3k\`fFc6I[F^w Ub< <by,a2p9u2dA(tsIHs"mP}T zX1R?5>dX@SSb:jnI@]O?!|7V-I#^ZX7(s q;6`4! FIH^U:]K(_ D[ /. 4C@QStr wodB ;.9d fca{jrWb,YB1 MbFO*qz`3 gpM=r5H L /C^t[.M_U[XEw`]x{@[)\Q dQe:/ UhHfAE@2BB!X6Q"a>sYCFo=D3yjn]0)`KHE%_p1+ !r70 iH>uk9Sln-7^? CR^q@p5NbZIW@&>DNc$d% ',vEub6[N  !L OHferk$KUQ>}t 8'Tql}~C\;L]5ngT}AVNN[=%<sXg3FrDGA9 $~fu |E7ib(?10W52 U~B'[Zh+4u%5+CH9lyB|/uGvto o 8ah8%=D|?`+AQ .QL Sp@?of$1*uZ+B_o@[ V:Ej@\8a uBV}%Z&K@eh7-N=DXY{gf6DYKff+a'!:A./{V~ a<wh fY& Atiox eJ z=4p3LM*|C|%*G\IYv X5u6US./LRwq(S u" 9U8'V~"r 5$ mYcpQj qMl' $\eF3yME,UFO.YZfD16ol?nF@aA1P9;Y!D+j1i2 FPEEnEJN@+x3 BAB?7?C[\B[C3g'2F{}R?R~;4\rCaq$VcBC1~Cw|+%FalAR ]*yAh?f;b9Wx['p(Ev~1 zC( >Xy)UDEUz;WVLIx<7(x]e@9Z@?yw E ]0 ~#T i.ga4 @r>oX}A:u<\ rM>],HV{YB+Z 2!"(~bC6 GuJ/O\EEEE% s5O ? ` ?YI:qNZSmhq! +46|9B!:{vjpu^`cP$A^4 alxXs*M0[~i3MogN[3 =Jq E^BI _I4 >pJ P9  xBmI4s3.Q][^He=X):EE M0IU]oX^#BTGk `(o%]2l7hP{F}Gp!A<-T VTMs(U#*@;`UxFS] \8Hw?] P'wADYGX]irSH>KMe>+~9C"~|y} :97LX_zGohApuk_y-|I6m[jm+}0;KAd O6Gx-&KP?tm"Qr\B4vexM  epZ4i*F}hxmTfOOR{A6'H+2p-|Z 3:I~)Ws\8mU2%]D'|l<MB+r<#dH~p$fEcPS^WV,#JCLj9T: tG6m)p&yi|(k0[n0+FR ,!R mhjhDogBi6GK>V>ze(Uh3-\s |sKGzJoBttScJL A1[O>x +:I&L5X7!A7m l |='5} T(WB`^IrsNS pwNY%!iA pIo Md2w1T{ B@>VA\Oj9Fk<)|JyMqbSv*bg@G'ne 8o1 ^eXXUL]hNO #v'n cp_F@ !r bB #)PXQ 'N)5P$/x6WFVu[- ) B5SJ&X  R hU Y @P9 e wPNy.8WFXk`Aab9{|V%Shv luB*{ o4y>PA4 7 wpI^-*L \$Nu!B (;DI xCYV ElH;a `6JC^  uaEW2FAE&VvQpg&( 9$F^BCV c rR NButZh0l= T%@I34!B \ izi8C*maC HF s!y\!=xn y0]%Fh,#Lybc3e(IM > '{z$<CB2 mHy& LKMjRPJA>_zrUFM'SRFShBUf  P[>W8=,@Cc|8+ZF-5p #^CaC^  ifBG^F hCBC ")@(x lG6_v ZC +Bb'r0@ylOp2%f# {/a6BOSp9f#t mBPCC8 ^ ak:@ 'E`K FLd,S^Wl?#`lV5*vN:<xC4P; n B  b ?DkEL9O idgD^5b :G,E % $aA1TY89 1%l_ OLAK `UuZi@u=+|w`G@yIwL:Qps@+D4{)^Ri-hiJ F(oJs8@*zx%=Q Q>^iJO|>AN F(WQ YIrs<>i 6Ng+bNL]v -O 5-PRC6NE PLU%m dF) Y AqF_iBU|&8EBDx/Cr1Y Z77?DvOH5l=8 9Ots \.qD8>utKj /<Pg* WLY)o=ZasFL@ [`u J)^T ;"3io@l(~, sFSBkvlM+jTFU2X fUXD;}BGG@u@ FaJB\ HVWb*QLdTo>b^Y+<BQj=.+IRwNtQ!/J!o[YJ  ; Bg[x3^7 ~"tB#1 sF;5J;Y& c ?M%so d\ 9HC~Wx ~N |),2JEzh^#AZgIK @A0#Btm]ZUWP#=RcO(@W/P1s0S~qoBTt78jcp .X 01A1p-n 1pStVgI K% Jz]^G: }FvgV1Sh DU: RczoB^c`\ I8-#N|oF\+Pj(C2]%s0c w3Af9~9qAZ"-T; \Y-I/ B"#Ih% t[F<A m*oD| PEG0\6T.'\ .IQ3FL9pd/ TL i *X'2,w# !0I1U4 S H m%fE_JqJ<4 9Az.p7P0& ?,pcLBK|I@G[n Zt3,LY9Ma \,!/4iTl3Q8YzzJm_I(KM2GDciEK 8 &m,zRCrB\i/4K\/B"  (Psa>>.q<g)oA L \$vU9@ LEn{FG|M\q7 ?^><B}  QP'I]A7_*)_Z GX#~H{D?2 y@ 5Jutpw@T3]|AOLfY_Rq1G:Qr m&F,m~ } { `M^w2 rc -HG(V_ ti@SC =VJKV Y honLoT;d|Pk%t.gJ,,o'.wS? V%O?p !  By:DkvF?FJ CF b5DR=f/=&xx2=  j Ox# tqN!w0XzBpas6QP9i"UCX9 $(x<'o ^ydw4xcB H@zO|LRK1ROA:OS=djL fqfk}F@9MFKPmK\.K[vVCWartHyW"D_JD0d UV:$s{j(]kVsEN:~1 zK4@Z[Y;JSd=1q4> fM$U WKDqaLX"@ p }(VMpYkbC I1$sp&RZpMHn WG zk=/.~ p:o@X/X0q<ofMsNonpiHwARV { }T8M& } `LK{O!,wYHu\0yHiL y>GQx| aJ4 WKBq/yjB? @&/y&p Qz/8\I:W}hhCc2y4G /'O7dG#  Dgp#>m77 i,NaS]LMj%^@`DCT yi@74YB-r(DRAyXwIP>;(srlXQ7x8%r@v%QaGSHKNY10S'(IbiJ*7k"WbYJ\x=3R}30m/ R!cBc<WDib/,| 6@7 \(a9_z $~YXS9s>,E9BG9KQ=(] Bc FA!oJp@-HW^}jUzu8uxe}=Z9dq nEk^ S6 %D";l% d]>S^zL 5 (ZY ;d|T =YKS  m 5 RP sZUo @GF 4xvRZO0nT'_ls|sR10 0%D =aPWvu>; ' VRnja FiN,  Kx|} SU7(?@gU"C UT LJ LL KH [s P P (F C K_b  WjWC  c  J[L  WD { S [S _ SF _WW g Sw bL&H JN& L   S    PJ  F_   J(  A [ &C N#F3C N [H(@ P  j [JS [  _ G  h U#k  T ~T Ts E F C L  F  L  S   A f Ih&Qs  OS Fl L f$Wb  W H  C    N    J   H  U LW  CH [  J _ O f C f Fg   Sh  w[fW fJP   b O S F  f  J h&[  _  GS C  JL& J T&U G CN A_  @J  O S  Ab @bF h   S f  J C  N LJ   G  L  B(갘~]*,FH  E P uP( AwV,JH  "vN*r AB꿊DB끉,uZ Sp"Jp  *Y"B%늢xe<  [zR v w^lB uX["" ["B1뜺6wXY$],5\["$[*(Q($S$Y$5VA  J|  _*#> Q( FB밁x Y" z  [&(>NB 붒%h4$nR  ["qB(B뿠B#삢I ["$l>R$h< ~[(" xA*"uXvBoBBO쓹5dN ["#4K d(W *Y$$Y v$T.8F "Ny^ "vH "uXuPwXlL  [$oDmBB"쯨un V r[$wb$uXuRuXY$$]05Z[$&wZB쿲=QwX5\Y"$ H $ L 5ZAB틁 wV  "S$uT(AB"푮iR /DY&w`"Y$  $Y$wR([,&(]*[(  [($R 豈m\.FV]Ld5B 樂( s (,P* R讀^m~{h3FNsKF:O3fst;6P9B,量W@98 _n|   lE) D_j B 咽/7 Fw/lwNB瑩gVR 切KV$>ixo*TB郞C4 ]a D)b` ^a ²K]Who@~| $@.bE–mrtui  MOmq M CV+-@6w\<:] ;@G!ZCt/13579;=?AACijf^}Ue xvk>S@ &@6Ezf@#u@4q'Dsd`~K UQg ix@:D@Gb,架xYGm>AEMTVYvbeGhjntvy}b  N$&N*&36:C>@DbHL&RFVX&]`Gcfi oquy{F~6M m#C #&(j.&2M6:>@NDJfM S&YN] aeikqNvx{v  F""N'+4 7Z>ACM ONR UX[^adi nrwzD~  N$b(+/=fAEzX[^fcfhjnNrtw|~~  N~ " &S-&035Z;@ DNHJNTVYv^bBegl ptvb}R &!Z(, 0N479;?JCFKNQVXE\6`NehjoqtQx"} ^ E #'7N=?DIN SNWY]vadgjloqsvQ{"Mf"y(v37f:?BEJLONTVYv\_ bbgikbnrzxf B "%)f279;=ANEGJNPbW ] bmkp sNw {~] J "f&)+ 13K68:?A~DIKZQTW ZcffjzsNy&J   N% */13E7@D HMO@SU[]_bfJlpru{N   E !J$( ,0 5N:=ILDORWZ^`dhBkmvw|Z "N.$V) -1F47>BfIMfQTWZ\^dfiNmo~uy{N  fR'+-/57E;?A~JNPSNWaepfvzff  N$ (,.1v479;F>BIKbOS WnbfpNt&|fJ ~ N%'*.7;zHLBSW&_Nek mNq u {}F 6 NZ ""(,z9N? S&VNZ ^c gNkm~rw {J "N  Z%v16>ZCG KZRUYaJdhb朞sg5ON\b1忘Z" Mj"*69C!%,0A7=AV[|IMSFagqtw{~ GCLPensw  $-b白uub峯heMw b隧tb窩Ub幼-J29?pSb慘-b閑]b晃g5Gb熹qb ⁺/:q!)D  , D@Nz b‹$j)e#/rW ab⇄@b⒃Rb 〞jjUruwy A "(+.ACFGLNQT\cemBprux  A%+.19;ACF@IOUX[dlnpHv{}  #B+-08@CFY[C]ek G!$&(+3@59.?Eorz  @&*,GKHTX ^ioA 9;A>FK R]cehBoqx{~ @&*/58VAX[dkmuwz@}  @2;?DIKNVB\^ahjlor  C +@ BNQT\dfis@uy{} &@)ADG NX^@aehnpsz~ @$*, 0C358@"F@i~  F! $/58@KOQU \^adw@z  '@2BDGPVAip  A #&-179<CI@PdfhpuwzF  @2RTX]bAdgou@+- 0<B I@T\wz@-/28 <@J^y|B! +-/7@;?BE LVY\ekAmpx{}@!ACFFNSUXagiltAz }  &)@ ,9SZ]`Fioru @,3NAPSZ]cehqwy|@$&)F28;BEGJRBW ]!i  C!)/14@;?C_cj@lps!$A'*4:=@IREU[_benv@ *-079AADGN#PtvDy  F " $!0@RVX[bgiksyA{~  '*@-39<KRAelnq xB '+ 2=D@K_a dpvy|A @9=?CJNPTZ_Aadl r@')+24:BN T!cB )@>Rm@|  @;4p@s  @-=?BKRTFZ]_adlrtwA   %*,A/7=?BJPSV@]bimtwy{ ~ @ &),4AJPRT `@ksz| F$*14:<?G@Mikmu{A~ @0!5WY]bd@fjm2pA#:<?DGMO@V^ex @136=@AFY`{~@(*026C :DGJ Q\^aj@lpsx|~ A #& .8H<CEHQX\F`cfiqxz~ B   '*02A5>DFIRXZ]Fdjlovx~  @!'),6:A<?GJMTV^`Ddhlpv{}F#&)B<>BINPS\beAhoqwH"(28K@MQTW`fhx~A # *@5EGJRZ]`g@jrtw!B"$'.157<BDAGOUXh@ ~  1@37"JmAor|  @#+258?B^dfipsy @.I@Pdsv@ $'+/H8<>AIOT[ _@i@"(+:ADBTZ\_hnq t@"%(17@> FQSV_e@tx(@*.14;?EGJ S@]uwy  @ (.B!AcegoBuwz  @$8:=FLNQAX\bv|@136?EAH KW]qwy|@  #%(/B!2TVYbBhjmtz| @ !!CEIFOUWZcil{@~!*/A2Idg@nv|F%+>EB`beloux{ D"% ,68;FDKOUXZ\_g@i5m#A%(068;DJMP@SWY_fowy|F !AAD[^ajrtDw~@ .:=@GIQTW^a@cgjm#uA'-/26:@BE@HMSg@  !*B025=CFI Q[]A`dhkmo r} @)/25>@BFHKOQTZ]`gkqAs v  !@$(+14<?ADGNBQWY\eRCopyright 1990-2009 Adobe Systems Incorporated. All rights reserved. See ./LICENSE UniKS-UTF8-HB ‖}m m , ^790Xdesc_cprt wtptA2B0 descuCMYtextCC0XYZ -mft20 ##)%/D5S;ZAZGNMJS0Y^djp+u{OkΚ(3@GQ[gdUA!Wh b#M(.3V8>)CI%NT3Y_.dj okty$RboӭX4ZӚH ,c#(-3#8T=BH!M~RXY]cJhn/sx~;~ZO)'Er̤ޡI 9s<{!j&^+\0c5n:?DIO#TMYm^chmrw|pJ#ߙɞ£ѨC$đ}Ѕ֦]v(n~V~X5~SVN2~dx}h}.}‹j ~%T9~Ć>cg{ L{|D|ՓRn}tI~jzɷzͮͦ{#}*{ȟ4P|R} z ay_zJ{{FO{ɣ{g*y߄2yb}IylzszkVN{8`zȎ鎨}9Ќ6|̊|t2||JTy}"I[trWH-ʅl XșpF"a:]9˔̅nԄE뗩 +q-.W?+_mD)| 5cȤlgCт! D՝{.y{z5u{e {> | TTIk͗ƈن*c.IԛۏHwTW[pQ:-R ގ1yOƶyd6yJG*z$-c{y HKcӭFso#ʣ|Հ.~*b@EZ#v!_}iޘb5,,E"fw#<A|laͪFDң#!jC9 D|E(a~RDƪ4#&ПxlxkS˽x8y?zQTlfPSi8K]I %CNl8äkS0O)84#:ĉ)I#l7)8S<ĕ8U*ꐚelB6Snd8PxylX S8L!&cx_uƏygvzjwx{uxN=|z.g~4{+uvXx.evy|DLdzÁf {`s8.t앗v]ttwݍJy6yrsptrvI&w4^w܋q 4 riȗsquGvl$v߁px!q^s &pDtȱfFv;uʊss{Wetӏ4v(jԃwB˃y, DzJ,&flioA, / Dv*j' B·&o~m~RdM~(d=h~( ~i4*B~HAj}c6}o<}qx}jq"=sb}rt\6Jv6-xX{1H1@{{㍢ZNj~5Y]J@ubz.7YMG4/̈& 3pxW䈬r3%R_ݲI>ٕS{w=ģ^Vчɞe2`;fnJv0uU1٠.Xh'ph'r^ksMNu)vB~4N~:Z^}j~DLL)~r(~t<ĊiETK(d'2J"T⃭~h J1H'X{v.#|vÚ!g 3IXa&Ґd+(>Ӟ򸩂 fM|H&_$psSqaZ_Ur>YCtNܢuLx=}js|Y٧k|Q=>|ˠm}r5X=8h%AyqjX2e<nQ€eXpީ*Wdi<4j\<бpW:p}kb0rn QtpnOvsExnuc)zv%m}=o})r}lnt:}RDCv}vswd|Ljcm!QojorBs uAjhpᮔk>،mhpnA@rI\ s,Jgi嫊ldgo!@p r`3CfUiji gken'?%q qʿ3}i̢X~(l˂~uo|`~r:tWu;zzey{rz&{{B_F|{9W}=|h8~|xhy ~y2]wz7{,z}K߸vwEE}wz[xܐ6yz{KzuNu{vZw5x6{ t|u-ziuƭ*Yv4w[:zKۨ fhkrTnbS p.2rwæwxqpyDQz+-zo}s:[ЅfoWP],3!mvN%m+ދPS߈Eml4›M*upBQ;k)PuL\ @F;u@bw[3?㊸| fg~'ioP k59xno{tfuOu^4vXw {*eUN^ 4C~'&zWDeY;Mќ43[zy¥d,IM6w3:0:yPw6d3cLɚv.2ܖbhexTg>βj%9 kɨnghq8Tuq>ݯr%sGv gι|T|#>|%s| }gSױ>S%EҠgGS˰5>A %| /g"vSگ*>Bؚ%Q )Æh'a2kbednWiVckqm=usNpi vqxcr%gt juamw*;p#xl sxŽ`8ed<ԁBg_kEP:um^r6,]taew]i90jbrυ[1_ؠ}c\gP81ilrXZiVs^|bbe[i,7Tgs9]t`07vJdv\whVyl922zo-W~mrVUpp[rr#ttmsUv u1w5w+}ynmorqS\sm/tbJ}^ jm6po?Qq3}.qE}Fwi:vk~o;mPo-p {}MhrjR*n#o*OnK*-n{}_kcfgI$k0%Hmjw %~m~~pGd~rUG1t2$u(}Y{||{}+cX|1}tF|}$=|}yT0{`yayEPzd#Xz0kwz$x`x[DGxȑ@"xx]y9xZ_xCux̜X"wSƑc^mяMbV f{:isk|Ikl\n@Tq9s$;r(y%kzS0{R8F{ :{K~ׇ2iŇbR8L}ShQb7ZR+}OhܞP86 *>0ng]q[@$a=Ebsd+gW iZmiZpgkDØm+>o iqCluYMvCӕww*x CyZkX\B듚I* jј WB>)4 jJWSA֐v)= Zٳ [H#^4azcgiYfHzh3ߨjЧk xqyYhqGwr3qsͤrs[TweX᫈}G?}.3:}̡}~XdF楉2`;ǒ=XBFݤC2Νݏޑ^WHsb\xcfb"Xjhg5lkfvmxXh,]kw$u{SxEYByt^%zOUb{ 2HdM{w|O}U1rZS_x^12azxiLwScpXbRb]0g^xe KIoQ=oVQ[V}/\ZxjjV܄kmL\qioaL?r.fM)qsi pše4fCxhpih3k\lJmo(o{qy4w{`ud4wfg|x7I>jay>'^kyeU}U\؅t}`Ѕ-dNdVGgX&{hZhZ f|^3baۏKFd%f(Rv7XJ{\{pa`Ec(%&d^J2SwVwrx[Zy`?{e/|gvVrudq't h Y7uk>=vn ?xoo|Sn ro"ptYWqu kIhSj9kmtfUa MZJG_0Ņcd߇ep{rb_fI,iA/km7Oq|ow]}@qsHI}s(.}tkVju~oy|X\rz*|G z}8.Bz}c*|}n_w[uwϊ Fx-^x&zfmyYlZywETvsW,vNxW`ݕqTROY:]D `ߎHdL_m7`Mca9f] vhl^$FkL2m8?oڋpo_'~FD%eM-~IR~)U}99}7B*dmIHOQ!(R[}236|)?"cFH3L0(O]|8_ NvRbT]faZBDi`~ ldp&WE\t+\ak\'`Ie@ci f{lEwgPckqUnuZZp?U^ysatl}pJzoP{vXWV| >#Y|k^g}/ʂF/n(L̈oW!Rl6=$V8U\ Bm+IוVHO*u0b$%v~e,{h{bkPfQ"mi=ok$pmwxp`f rOht/;kut$kRvK[vex_a΂CNae :g.#*g(t^^Mb9d0"cssT%wKCQ00 V9Xa~R /VA[,.^҄M`i|PU{wt,xjv%Syqj}uMqyd=sz+ t~zyu>z}9~Ln}CR/VYG[gm=D]P.`,abNcu<;h,Pi`j-l{P:؄0r+nstev": ~'*c~=9~ ~CC0 1.0 Universal Statement of Purpose The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; ii. moral rights retained by the original author(s) and/or performer(s); iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; v. rights protecting the extraction, dissemination, use and reuse of data in a Work; vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. 4. Limitations and Disclaimers. a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. For more information, please see http://creativecommons.org/publicdomain/zero/1.0/ /** * @licstart The following is the entire license notice for the * JavaScript code in this page * * Copyright 2024 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * @licend The above is the entire license notice for the * JavaScript code in this page */ /** * pdfjsVersion = 5.3.34 * pdfjsBuild = cc1e2a3e0 */var t={34:(t,e,i)=>{var a=i(4901);t.exports=function(t){return"object"==typeof t?null!==t:a(t)}},81:(t,e,i)=>{var a=i(9565),s=i(9306),r=i(8551),n=i(6823),o=i(851),l=TypeError;t.exports=function(t,e){var i=arguments.length<2?o(t):e;if(s(i))return r(a(i,t));throw new l(n(t)+" is not iterable")}},283:(t,e,i)=>{var a=i(9504),s=i(9039),r=i(4901),n=i(9297),o=i(3724),l=i(350).CONFIGURABLE,c=i(3706),d=i(1181),h=d.enforce,u=d.get,_=String,p=Object.defineProperty,f=a("".slice),g=a("".replace),v=a([].join),m=o&&!s((function(){return 8!==p((function(){}),"length",{value:8}).length})),P=String(String).split("String"),w=t.exports=function(t,e,i){"Symbol("===f(_(e),0,7)&&(e="["+g(_(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]");i&&i.getter&&(e="get "+e);i&&i.setter&&(e="set "+e);(!n(t,"name")||l&&t.name!==e)&&(o?p(t,"name",{value:e,configurable:!0}):t.name=e);m&&i&&n(i,"arity")&&t.length!==i.arity&&p(t,"length",{value:i.arity});try{i&&n(i,"constructor")&&i.constructor?o&&p(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var a=h(t);n(a,"source")||(a.source=v(P,"string"==typeof e?e:""));return t};Function.prototype.toString=w((function toString(){return r(this)&&u(this).source||c(this)}),"toString")},350:(t,e,i)=>{var a=i(3724),s=i(9297),r=Function.prototype,n=a&&Object.getOwnPropertyDescriptor,o=s(r,"name"),l=o&&"something"===function something(){}.name,c=o&&(!a||a&&n(r,"name").configurable);t.exports={EXISTS:o,PROPER:l,CONFIGURABLE:c}},373:(t,e,i)=>{var a=i(4576),s=i(7476),r=i(9039),n=i(9306),o=i(4488),l=i(4644),c=i(3709),d=i(3763),h=i(9519),u=i(3607),_=l.aTypedArray,p=l.exportTypedArrayMethod,f=a.Uint16Array,g=f&&s(f.prototype.sort),v=!(!g||r((function(){g(new f(2),null)}))&&r((function(){g(new f(2),{})}))),m=!!g&&!r((function(){if(h)return h<74;if(c)return c<67;if(d)return!0;if(u)return u<602;var t,e,i=new f(516),a=Array(516);for(t=0;t<516;t++){e=t%4;i[t]=515-t;a[t]=t-2*e+3}g(i,(function(t,e){return(t/4|0)-(e/4|0)}));for(t=0;t<516;t++)if(i[t]!==a[t])return!0}));p("sort",(function sort(t){void 0!==t&&n(t);return m?g(this,t):o(_(this),function(t){return function(e,i){return void 0!==t?+t(e,i)||0:i!=i?-1:e!=e?1:0===e&&0===i?1/e>0&&1/i<0?1:-1:e>i}}(t))}),!m||v)},397:(t,e,i)=>{var a=i(7751);t.exports=a("document","documentElement")},421:t=>{t.exports={}},507:(t,e,i)=>{var a=i(9565);t.exports=function(t,e,i){for(var s,r,n=i?t:t.iterator,o=t.next;!(s=a(o,n)).done;)if(void 0!==(r=e(s.value)))return r}},531:(t,e,i)=>{var a=i(6518),s=i(9565),r=i(9306),n=i(8551),o=i(1767),l=i(8646),c=i(9462),d=i(9539),h=i(6395),u=i(4549),_=!h&&u("flatMap",TypeError),p=c((function(){for(var t,e,i=this.iterator,a=this.mapper;;){if(e=this.inner)try{if(!(t=n(s(e.next,e.iterator))).done)return t.value;this.inner=null}catch(t){d(i,"throw",t)}t=n(s(this.next,i));if(this.done=!!t.done)return;try{this.inner=l(a(t.value,this.counter++),!1)}catch(t){d(i,"throw",t)}}}));a({target:"Iterator",proto:!0,real:!0,forced:h||_},{flatMap:function flatMap(t){n(this);try{r(t)}catch(t){d(this,"throw",t)}return _?s(_,this,t):new p(o(this),{mapper:t,inner:null})}})},616:(t,e,i)=>{var a=i(9039);t.exports=!a((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},655:(t,e,i)=>{var a=i(6955),s=String;t.exports=function(t){if("Symbol"===a(t))throw new TypeError("Cannot convert a Symbol value to a string");return s(t)}},679:(t,e,i)=>{var a=i(1625),s=TypeError;t.exports=function(t,e){if(a(e,t))return t;throw new s("Incorrect invocation")}},741:t=>{var e=Math.ceil,i=Math.floor;t.exports=Math.trunc||function trunc(t){var a=+t;return(a>0?i:e)(a)}},747:(t,e,i)=>{var a=i(6699),s=i(6193),r=i(4659),n=Error.captureStackTrace;t.exports=function(t,e,i,o){r&&(n?n(t,e):a(t,"stack",s(i,o)))}},757:(t,e,i)=>{var a=i(7751),s=i(4901),r=i(1625),n=i(7040),o=Object;t.exports=n?function(t){return"symbol"==typeof t}:function(t){var e=a("Symbol");return s(e)&&r(e.prototype,o(t))}},851:(t,e,i)=>{var a=i(6955),s=i(5966),r=i(4117),n=i(6269),o=i(8227)("iterator");t.exports=function(t){if(!r(t))return s(t,o)||s(t,"@@iterator")||n[a(t)]}},944:t=>{var e=TypeError;t.exports=function(t){var i=t&&t.alphabet;if(void 0===i||"base64"===i||"base64url"===i)return i||"base64";throw new e("Incorrect `alphabet` option")}},1056:(t,e,i)=>{var a=i(4913).f;t.exports=function(t,e,i){i in t||a(t,i,{configurable:!0,get:function(){return e[i]},set:function(t){e[i]=t}})}},1072:(t,e,i)=>{var a=i(1828),s=i(8727);t.exports=Object.keys||function keys(t){return a(t,s)}},1103:t=>{t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},1108:(t,e,i)=>{var a=i(6955);t.exports=function(t){var e=a(t);return"BigInt64Array"===e||"BigUint64Array"===e}},1134:(t,e,i)=>{var a=i(4644),s=i(3839).findLastIndex,r=a.aTypedArray;(0,a.exportTypedArrayMethod)("findLastIndex",(function findLastIndex(t){return s(r(this),t,arguments.length>1?arguments[1]:void 0)}))},1148:(t,e,i)=>{var a=i(6518),s=i(9565),r=i(2652),n=i(9306),o=i(8551),l=i(1767),c=i(9539),d=i(4549)("every",TypeError);a({target:"Iterator",proto:!0,real:!0,forced:d},{every:function every(t){o(this);try{n(t)}catch(t){c(this,"throw",t)}if(d)return s(d,this,t);var e=l(this),i=0;return!r(e,(function(e,a){if(!t(e,i++))return a()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},1181:(t,e,i)=>{var a,s,r,n=i(8622),o=i(4576),l=i(34),c=i(6699),d=i(9297),h=i(7629),u=i(6119),_=i(421),p="Object already initialized",f=o.TypeError,g=o.WeakMap;if(n||h.state){var v=h.state||(h.state=new g);v.get=v.get;v.has=v.has;v.set=v.set;a=function(t,e){if(v.has(t))throw new f(p);e.facade=t;v.set(t,e);return e};s=function(t){return v.get(t)||{}};r=function(t){return v.has(t)}}else{var m=u("state");_[m]=!0;a=function(t,e){if(d(t,m))throw new f(p);e.facade=t;c(t,m,e);return e};s=function(t){return d(t,m)?t[m]:{}};r=function(t){return d(t,m)}}t.exports={set:a,get:s,has:r,enforce:function(t){return r(t)?s(t):a(t,{})},getterFor:function(t){return function(e){var i;if(!l(e)||(i=s(e)).type!==t)throw new f("Incompatible receiver, "+t+" required");return i}}}},1291:(t,e,i)=>{var a=i(741);t.exports=function(t){var e=+t;return e!=e||0===e?0:a(e)}},1548:(t,e,i)=>{var a=i(4576),s=i(9039),r=i(9519),n=i(4215),o=a.structuredClone;t.exports=!!o&&!s((function(){if("DENO"===n&&r>92||"NODE"===n&&r>94||"BROWSER"===n&&r>97)return!1;var t=new ArrayBuffer(8),e=o(t,{transfer:[t]});return 0!==t.byteLength||8!==e.byteLength}))},1549:(t,e,i)=>{var a=i(6518),s=i(4576),r=i(9143),n=i(4154),o=s.Uint8Array,l=!o||!o.prototype.setFromBase64||!function(){var t=new o([255,255,255,255,255]);try{t.setFromBase64("MjYyZg===")}catch(e){return 50===t[0]&&54===t[1]&&50===t[2]&&255===t[3]&&255===t[4]}}();o&&a({target:"Uint8Array",proto:!0,forced:l},{setFromBase64:function setFromBase64(t){n(this);var e=r(t,arguments.length>1?arguments[1]:void 0,this,this.length);return{read:e.read,written:e.written}}})},1625:(t,e,i)=>{var a=i(9504);t.exports=a({}.isPrototypeOf)},1689:(t,e,i)=>{var a=i(6518),s=i(4576),r=i(8745),n=i(7680),o=i(6043),l=i(9306),c=i(1103),d=s.Promise,h=!1;a({target:"Promise",stat:!0,forced:!d||!d.try||c((function(){d.try((function(t){h=8===t}),8)})).error||!h},{try:function(t){var e=arguments.length>1?n(arguments,1):[],i=o.f(this),a=c((function(){return r(l(t),void 0,e)}));(a.error?i.reject:i.resolve)(a.value);return i.promise}})},1698:(t,e,i)=>{var a=i(6518),s=i(4204);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("union")},{union:s})},1701:(t,e,i)=>{var a=i(6518),s=i(9565),r=i(9306),n=i(8551),o=i(1767),l=i(9462),c=i(6319),d=i(9539),h=i(4549),u=i(6395),_=!u&&h("map",TypeError),p=l((function(){var t=this.iterator,e=n(s(this.next,t));if(!(this.done=!!e.done))return c(t,this.mapper,[e.value,this.counter++],!0)}));a({target:"Iterator",proto:!0,real:!0,forced:u||_},{map:function map(t){n(this);try{r(t)}catch(t){d(this,"throw",t)}return _?s(_,this,t):new p(o(this),{mapper:t})}})},1767:t=>{t.exports=function(t){return{iterator:t,next:t.next,done:!1}}},1828:(t,e,i)=>{var a=i(9504),s=i(9297),r=i(5397),n=i(9617).indexOf,o=i(421),l=a([].push);t.exports=function(t,e){var i,a=r(t),c=0,d=[];for(i in a)!s(o,i)&&s(a,i)&&l(d,i);for(;e.length>c;)s(a,i=e[c++])&&(~n(d,i)||l(d,i));return d}},1903:(t,e,i)=>{var a=i(4644),s=i(3839).findLast,r=a.aTypedArray;(0,a.exportTypedArrayMethod)("findLast",(function findLast(t){return s(r(this),t,arguments.length>1?arguments[1]:void 0)}))},2106:(t,e,i)=>{var a=i(283),s=i(4913);t.exports=function(t,e,i){i.get&&a(i.get,e,{getter:!0});i.set&&a(i.set,e,{setter:!0});return s.f(t,e,i)}},2140:(t,e,i)=>{var a={};a[i(8227)("toStringTag")]="z";t.exports="[object z]"===String(a)},2195:(t,e,i)=>{var a=i(9504),s=a({}.toString),r=a("".slice);t.exports=function(t){return r(s(t),8,-1)}},2211:(t,e,i)=>{var a=i(9039);t.exports=!a((function(){function F(){}F.prototype.constructor=null;return Object.getPrototypeOf(new F)!==F.prototype}))},2278:(t,e,i)=>{var a=i(3724),s=i(4913),r=i(6980);t.exports=function(t,e,i){a?s.f(t,e,r(0,i)):t[e]=i}},2303:(t,e,i)=>{var a=i(4576),s=i(9504),r=a.Uint8Array,n=a.SyntaxError,o=a.parseInt,l=Math.min,c=/[^\da-f]/i,d=s(c.exec),h=s("".slice);t.exports=function(t,e){var i=t.length;if(i%2!=0)throw new n("String should be an even number of characters");for(var a=e?l(e.length,i/2):i/2,s=e||new r(a),u=0,_=0;_{var a,s=i(8551),r=i(6801),n=i(8727),o=i(421),l=i(397),c=i(4055),d=i(6119),h="prototype",u="script",_=d("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(t){return"<"+u+">"+t+""},NullProtoObjectViaActiveX=function(t){t.write(scriptTag(""));t.close();var e=t.parentWindow.Object;t=null;return e},NullProtoObject=function(){try{a=new ActiveXObject("htmlfile")}catch(t){}NullProtoObject="undefined"!=typeof document?document.domain&&a?NullProtoObjectViaActiveX(a):function(){var t,e=c("iframe"),i="java"+u+":";e.style.display="none";l.appendChild(e);e.src=String(i);(t=e.contentWindow.document).open();t.write(scriptTag("document.F=Object"));t.close();return t.F}():NullProtoObjectViaActiveX(a);for(var t=n.length;t--;)delete NullProtoObject[h][n[t]];return NullProtoObject()};o[_]=!0;t.exports=Object.create||function create(t,e){var i;if(null!==t){EmptyConstructor[h]=s(t);i=new EmptyConstructor;EmptyConstructor[h]=null;i[_]=t}else i=NullProtoObject();return void 0===e?i:r.f(i,e)}},2475:(t,e,i)=>{var a=i(6518),s=i(8527);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("isSupersetOf",(function(t){return!t}))},{isSupersetOf:s})},2489:(t,e,i)=>{var a=i(6518),s=i(9565),r=i(9306),n=i(8551),o=i(1767),l=i(9462),c=i(6319),d=i(6395),h=i(9539),u=i(4549),_=!d&&u("filter",TypeError),p=l((function(){for(var t,e,i=this.iterator,a=this.predicate,r=this.next;;){t=n(s(r,i));if(this.done=!!t.done)return;e=t.value;if(c(i,a,[e,this.counter++],!0))return e}}));a({target:"Iterator",proto:!0,real:!0,forced:d||_},{filter:function filter(t){n(this);try{r(t)}catch(t){h(this,"throw",t)}return _?s(_,this,t):new p(o(this),{predicate:t})}})},2529:t=>{t.exports=function(t,e){return{value:t,done:e}}},2603:(t,e,i)=>{var a=i(655);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:a(t)}},2652:(t,e,i)=>{var a=i(6080),s=i(9565),r=i(8551),n=i(6823),o=i(4209),l=i(6198),c=i(1625),d=i(81),h=i(851),u=i(9539),_=TypeError,Result=function(t,e){this.stopped=t;this.result=e},p=Result.prototype;t.exports=function(t,e,i){var f,g,v,m,P,w,y,b=i&&i.that,S=!(!i||!i.AS_ENTRIES),A=!(!i||!i.IS_RECORD),x=!(!i||!i.IS_ITERATOR),C=!(!i||!i.INTERRUPTED),E=a(e,b),stop=function(t){f&&u(f,"normal",t);return new Result(!0,t)},callFn=function(t){if(S){r(t);return C?E(t[0],t[1],stop):E(t[0],t[1])}return C?E(t,stop):E(t)};if(A)f=t.iterator;else if(x)f=t;else{if(!(g=h(t)))throw new _(n(t)+" is not iterable");if(o(g)){for(v=0,m=l(t);m>v;v++)if((P=callFn(t[v]))&&c(p,P))return P;return new Result(!1)}f=d(t,g)}w=A?t.next:f.next;for(;!(y=s(w,f)).done;){try{P=callFn(y.value)}catch(t){u(f,"throw",t)}if("object"==typeof P&&P&&c(p,P))return P}return new Result(!1)}},2777:(t,e,i)=>{var a=i(9565),s=i(34),r=i(757),n=i(5966),o=i(4270),l=i(8227),c=TypeError,d=l("toPrimitive");t.exports=function(t,e){if(!s(t)||r(t))return t;var i,l=n(t,d);if(l){void 0===e&&(e="default");i=a(l,t,e);if(!s(i)||r(i))return i;throw new c("Can't convert object to primitive value")}void 0===e&&(e="number");return o(t,e)}},2787:(t,e,i)=>{var a=i(9297),s=i(4901),r=i(8981),n=i(6119),o=i(2211),l=n("IE_PROTO"),c=Object,d=c.prototype;t.exports=o?c.getPrototypeOf:function(t){var e=r(t);if(a(e,l))return e[l];var i=e.constructor;return s(i)&&e instanceof i?i.prototype:e instanceof c?d:null}},2796:(t,e,i)=>{var a=i(9039),s=i(4901),r=/#|\.prototype\./,isForced=function(t,e){var i=o[n(t)];return i===c||i!==l&&(s(e)?a(e):!!e)},n=isForced.normalize=function(t){return String(t).replace(r,".").toLowerCase()},o=isForced.data={},l=isForced.NATIVE="N",c=isForced.POLYFILL="P";t.exports=isForced},2804:t=>{var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",i=e+"+/",a=e+"-_",inverse=function(t){for(var e={},i=0;i<64;i++)e[t.charAt(i)]=i;return e};t.exports={i2c:i,c2i:inverse(i),i2cUrl:a,c2iUrl:inverse(a)}},2812:t=>{var e=TypeError;t.exports=function(t,i){if(t{var a=i(4576).navigator,s=a&&a.userAgent;t.exports=s?String(s):""},2967:(t,e,i)=>{var a=i(6706),s=i(34),r=i(7750),n=i(3506);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,i={};try{(t=a(Object.prototype,"__proto__","set"))(i,[]);e=i instanceof Array}catch(t){}return function setPrototypeOf(i,a){r(i);n(a);if(!s(i))return i;e?t(i,a):i.__proto__=a;return i}}():void 0)},3167:(t,e,i)=>{var a=i(4901),s=i(34),r=i(2967);t.exports=function(t,e,i){var n,o;r&&a(n=e.constructor)&&n!==i&&s(o=n.prototype)&&o!==i.prototype&&r(t,o);return t}},3238:(t,e,i)=>{var a=i(4576),s=i(7811),r=i(7394),n=a.DataView;t.exports=function(t){if(!s||0!==r(t))return!1;try{new n(t);return!1}catch(t){return!0}}},3392:(t,e,i)=>{var a=i(9504),s=0,r=Math.random(),n=a(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+n(++s+r,36)}},3440:(t,e,i)=>{var a=i(7080),s=i(4402),r=i(9286),n=i(5170),o=i(3789),l=i(8469),c=i(507),d=s.has,h=s.remove;t.exports=function difference(t){var e=a(this),i=o(t),s=r(e);n(e)<=i.size?l(e,(function(t){i.includes(t)&&h(s,t)})):c(i.getIterator(),(function(t){d(e,t)&&h(s,t)}));return s}},3463:t=>{var e=TypeError;t.exports=function(t){if("string"==typeof t)return t;throw new e("Argument is not a string")}},3506:(t,e,i)=>{var a=i(3925),s=String,r=TypeError;t.exports=function(t){if(a(t))return t;throw new r("Can't set "+s(t)+" as a prototype")}},3579:(t,e,i)=>{var a=i(6518),s=i(9565),r=i(2652),n=i(9306),o=i(8551),l=i(1767),c=i(9539),d=i(4549)("some",TypeError);a({target:"Iterator",proto:!0,real:!0,forced:d},{some:function some(t){o(this);try{n(t)}catch(t){c(this,"throw",t)}if(d)return s(d,this,t);var e=l(this),i=0;return r(e,(function(e,a){if(t(e,i++))return a()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},3607:(t,e,i)=>{var a=i(2839).match(/AppleWebKit\/(\d+)\./);t.exports=!!a&&+a[1]},3650:(t,e,i)=>{var a=i(7080),s=i(4402),r=i(9286),n=i(3789),o=i(507),l=s.add,c=s.has,d=s.remove;t.exports=function symmetricDifference(t){var e=a(this),i=n(t).getIterator(),s=r(e);o(i,(function(t){c(e,t)?d(s,t):l(s,t)}));return s}},3706:(t,e,i)=>{var a=i(9504),s=i(4901),r=i(7629),n=a(Function.toString);s(r.inspectSource)||(r.inspectSource=function(t){return n(t)});t.exports=r.inspectSource},3709:(t,e,i)=>{var a=i(2839).match(/firefox\/(\d+)/i);t.exports=!!a&&+a[1]},3717:(t,e)=>{e.f=Object.getOwnPropertySymbols},3724:(t,e,i)=>{var a=i(9039);t.exports=!a((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},3763:(t,e,i)=>{var a=i(2839);t.exports=/MSIE|Trident/.test(a)},3789:(t,e,i)=>{var a=i(9306),s=i(8551),r=i(9565),n=i(1291),o=i(1767),l="Invalid size",c=RangeError,d=TypeError,h=Math.max,SetRecord=function(t,e){this.set=t;this.size=h(e,0);this.has=a(t.has);this.keys=a(t.keys)};SetRecord.prototype={getIterator:function(){return o(s(r(this.keys,this.set)))},includes:function(t){return r(this.has,this.set,t)}};t.exports=function(t){s(t);var e=+t.size;if(e!=e)throw new d(l);var i=n(e);if(i<0)throw new c(l);return new SetRecord(t,i)}},3838:(t,e,i)=>{var a=i(7080),s=i(5170),r=i(8469),n=i(3789);t.exports=function isSubsetOf(t){var e=a(this),i=n(t);return!(s(e)>i.size)&&!1!==r(e,(function(t){if(!i.includes(t))return!1}),!0)}},3839:(t,e,i)=>{var a=i(6080),s=i(7055),r=i(8981),n=i(6198),createMethod=function(t){var e=1===t;return function(i,o,l){for(var c,d=r(i),h=s(d),u=n(h),_=a(o,l);u-- >0;)if(_(c=h[u],u,d))switch(t){case 0:return c;case 1:return u}return e?-1:void 0}};t.exports={findLast:createMethod(0),findLastIndex:createMethod(1)}},3853:(t,e,i)=>{var a=i(6518),s=i(4449);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("isDisjointFrom",(function(t){return!t}))},{isDisjointFrom:s})},3925:(t,e,i)=>{var a=i(34);t.exports=function(t){return a(t)||null===t}},3972:(t,e,i)=>{var a=i(34),s=String,r=TypeError;t.exports=function(t){if(void 0===t||a(t))return t;throw new r(s(t)+" is not an object or undefined")}},4055:(t,e,i)=>{var a=i(4576),s=i(34),r=a.document,n=s(r)&&s(r.createElement);t.exports=function(t){return n?r.createElement(t):{}}},4114:(t,e,i)=>{var a=i(6518),s=i(8981),r=i(6198),n=i(4527),o=i(6837);a({target:"Array",proto:!0,arity:1,forced:i(9039)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}()},{push:function push(t){var e=s(this),i=r(e),a=arguments.length;o(i+a);for(var l=0;l{t.exports=function(t){return null==t}},4149:t=>{var e=RangeError;t.exports=function(t){if(t==t)return t;throw new e("NaN is not allowed")}},4154:(t,e,i)=>{var a=i(6955),s=TypeError;t.exports=function(t){if("Uint8Array"===a(t))return t;throw new s("Argument is not an Uint8Array")}},4204:(t,e,i)=>{var a=i(7080),s=i(4402).add,r=i(9286),n=i(3789),o=i(507);t.exports=function union(t){var e=a(this),i=n(t).getIterator(),l=r(e);o(i,(function(t){s(l,t)}));return l}},4209:(t,e,i)=>{var a=i(8227),s=i(6269),r=a("iterator"),n=Array.prototype;t.exports=function(t){return void 0!==t&&(s.Array===t||n[r]===t)}},4215:(t,e,i)=>{var a=i(4576),s=i(2839),r=i(2195),userAgentStartsWith=function(t){return s.slice(0,t.length)===t};t.exports=userAgentStartsWith("Bun/")?"BUN":userAgentStartsWith("Cloudflare-Workers")?"CLOUDFLARE":userAgentStartsWith("Deno/")?"DENO":userAgentStartsWith("Node.js/")?"NODE":a.Bun&&"string"==typeof Bun.version?"BUN":a.Deno&&"object"==typeof Deno.version?"DENO":"process"===r(a.process)?"NODE":a.window&&a.document?"BROWSER":"REST"},4270:(t,e,i)=>{var a=i(9565),s=i(4901),r=i(34),n=TypeError;t.exports=function(t,e){var i,o;if("string"===e&&s(i=t.toString)&&!r(o=a(i,t)))return o;if(s(i=t.valueOf)&&!r(o=a(i,t)))return o;if("string"!==e&&s(i=t.toString)&&!r(o=a(i,t)))return o;throw new n("Can't convert object to primitive value")}},4373:(t,e,i)=>{var a=i(8981),s=i(5610),r=i(6198);t.exports=function fill(t){for(var e=a(this),i=r(e),n=arguments.length,o=s(n>1?arguments[1]:void 0,i),l=n>2?arguments[2]:void 0,c=void 0===l?i:s(l,i);c>o;)e[o++]=t;return e}},4376:(t,e,i)=>{var a=i(2195);t.exports=Array.isArray||function isArray(t){return"Array"===a(t)}},4402:(t,e,i)=>{var a=i(9504),s=Set.prototype;t.exports={Set,add:a(s.add),has:a(s.has),remove:a(s.delete),proto:s}},4449:(t,e,i)=>{var a=i(7080),s=i(4402).has,r=i(5170),n=i(3789),o=i(8469),l=i(507),c=i(9539);t.exports=function isDisjointFrom(t){var e=a(this),i=n(t);if(r(e)<=i.size)return!1!==o(e,(function(t){if(i.includes(t))return!1}),!0);var d=i.getIterator();return!1!==l(d,(function(t){if(s(e,t))return c(d,"normal",!1)}))}},4483:(t,e,i)=>{var a,s,r,n,o=i(4576),l=i(9429),c=i(1548),d=o.structuredClone,h=o.ArrayBuffer,u=o.MessageChannel,_=!1;if(c)_=function(t){d(t,{transfer:[t]})};else if(h)try{u||(a=l("worker_threads"))&&(u=a.MessageChannel);if(u){s=new u;r=new h(2);n=function(t){s.port1.postMessage(null,[t])};if(2===r.byteLength){n(r);0===r.byteLength&&(_=n)}}}catch(t){}t.exports=_},4488:(t,e,i)=>{var a=i(7680),s=Math.floor,sort=function(t,e){var i=t.length;if(i<8)for(var r,n,o=1;o0;)t[n]=t[--n];n!==o++&&(t[n]=r)}else for(var l=s(i/2),c=sort(a(t,0,l),e),d=sort(a(t,l),e),h=c.length,u=d.length,_=0,p=0;_{var a=i(9519),s=i(9039),r=i(4576).String;t.exports=!!Object.getOwnPropertySymbols&&!s((function(){var t=Symbol("symbol detection");return!r(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&a&&a<41}))},4527:(t,e,i)=>{var a=i(3724),s=i(4376),r=TypeError,n=Object.getOwnPropertyDescriptor,o=a&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=o?function(t,e){if(s(t)&&!n(t,"length").writable)throw new r("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},4549:(t,e,i)=>{var a=i(4576);t.exports=function(t,e){var i=a.Iterator,s=i&&i.prototype,r=s&&s[t],n=!1;if(r)try{r.call({next:function(){return{done:!0}},return:function(){n=!0}},-1)}catch(t){t instanceof e||(n=!1)}if(!n)return r}},4576:function(t){var check=function(t){return t&&t.Math===Math&&t};t.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof global&&global)||check("object"==typeof this&&this)||function(){return this}()||Function("return this")()},4601:(t,e,i)=>{var a=i(7751),s=i(9297),r=i(6699),n=i(1625),o=i(2967),l=i(7740),c=i(1056),d=i(3167),h=i(2603),u=i(7584),_=i(747),p=i(3724),f=i(6395);t.exports=function(t,e,i,g){var v="stackTraceLimit",m=g?2:1,P=t.split("."),w=P[P.length-1],y=a.apply(null,P);if(y){var b=y.prototype;!f&&s(b,"cause")&&delete b.cause;if(!i)return y;var S=a("Error"),A=e((function(t,e){var i=h(g?e:t,void 0),a=g?new y(t):new y;void 0!==i&&r(a,"message",i);_(a,A,a.stack,2);this&&n(b,this)&&d(a,this,A);arguments.length>m&&u(a,arguments[m]);return a}));A.prototype=b;if("Error"!==w)o?o(A,S):l(A,S,{name:!0});else if(p&&v in y){c(A,y,v);c(A,y,"prepareStackTrace")}l(A,y);if(!f)try{b.name!==w&&r(b,"name",w);b.constructor=A}catch(t){}return A}}},4603:(t,e,i)=>{var a=i(6840),s=i(9504),r=i(655),n=i(2812),o=URLSearchParams,l=o.prototype,c=s(l.append),d=s(l.delete),h=s(l.forEach),u=s([].push),_=new o("a=1&a=2&b=3");_.delete("a",1);_.delete("b",void 0);_+""!="a=2"&&a(l,"delete",(function(t){var e=arguments.length,i=e<2?void 0:arguments[1];if(e&&void 0===i)return d(this,t);var a=[];h(this,(function(t,e){u(a,{key:e,value:t})}));n(e,1);for(var s,o=r(t),l=r(i),_=0,p=0,f=!1,g=a.length;_{var a=i(6518),s=i(6043);a({target:"Promise",stat:!0},{withResolvers:function withResolvers(){var t=s.f(this);return{promise:t.promise,resolve:t.resolve,reject:t.reject}}})},4644:(t,e,i)=>{var a,s,r,n=i(7811),o=i(3724),l=i(4576),c=i(4901),d=i(34),h=i(9297),u=i(6955),_=i(6823),p=i(6699),f=i(6840),g=i(2106),v=i(1625),m=i(2787),P=i(2967),w=i(8227),y=i(3392),b=i(1181),S=b.enforce,A=b.get,x=l.Int8Array,C=x&&x.prototype,E=l.Uint8ClampedArray,k=E&&E.prototype,G=x&&m(x),M=C&&m(C),I=Object.prototype,T=l.TypeError,R=w("toStringTag"),D=y("TYPED_ARRAY_TAG"),B="TypedArrayConstructor",L=n&&!!P&&"Opera"!==u(l.opera),O=!1,N={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},W={BigInt64Array:8,BigUint64Array:8},getTypedArrayConstructor=function(t){var e=m(t);if(d(e)){var i=A(e);return i&&h(i,B)?i[B]:getTypedArrayConstructor(e)}},isTypedArray=function(t){if(!d(t))return!1;var e=u(t);return h(N,e)||h(W,e)};for(a in N)(r=(s=l[a])&&s.prototype)?S(r)[B]=s:L=!1;for(a in W)(r=(s=l[a])&&s.prototype)&&(S(r)[B]=s);if(!L||!c(G)||G===Function.prototype){G=function TypedArray(){throw new T("Incorrect invocation")};if(L)for(a in N)l[a]&&P(l[a],G)}if(!L||!M||M===I){M=G.prototype;if(L)for(a in N)l[a]&&P(l[a].prototype,M)}L&&m(k)!==M&&P(k,M);if(o&&!h(M,R)){O=!0;g(M,R,{configurable:!0,get:function(){return d(this)?this[D]:void 0}});for(a in N)l[a]&&p(l[a],D,a)}t.exports={NATIVE_ARRAY_BUFFER_VIEWS:L,TYPED_ARRAY_TAG:O&&D,aTypedArray:function(t){if(isTypedArray(t))return t;throw new T("Target is not a typed array")},aTypedArrayConstructor:function(t){if(c(t)&&(!P||v(G,t)))return t;throw new T(_(t)+" is not a typed array constructor")},exportTypedArrayMethod:function(t,e,i,a){if(o){if(i)for(var s in N){var r=l[s];if(r&&h(r.prototype,t))try{delete r.prototype[t]}catch(i){try{r.prototype[t]=e}catch(t){}}}M[t]&&!i||f(M,t,i?e:L&&C[t]||e,a)}},exportTypedArrayStaticMethod:function(t,e,i){var a,s;if(o){if(P){if(i)for(a in N)if((s=l[a])&&h(s,t))try{delete s[t]}catch(t){}if(G[t]&&!i)return;try{return f(G,t,i?e:L&&G[t]||e)}catch(t){}}for(a in N)!(s=l[a])||s[t]&&!i||f(s,t,e)}},getTypedArrayConstructor,isView:function isView(t){if(!d(t))return!1;var e=u(t);return"DataView"===e||h(N,e)||h(W,e)},isTypedArray,TypedArray:G,TypedArrayPrototype:M}},4659:(t,e,i)=>{var a=i(9039),s=i(6980);t.exports=!a((function(){var t=new Error("a");if(!("stack"in t))return!0;Object.defineProperty(t,"stack",s(1,7));return 7!==t.stack}))},4732:(t,e,i)=>{var a=i(4644),s=i(9504),r=i(9306),n=i(5370),o=a.aTypedArray,l=a.getTypedArrayConstructor,c=a.exportTypedArrayMethod,d=s(a.TypedArrayPrototype.sort);c("toSorted",(function toSorted(t){void 0!==t&&r(t);var e=o(this),i=n(l(e),e);return d(i,t)}))},4901:t=>{var e="object"==typeof document&&document.all;t.exports=void 0===e&&void 0!==e?function(t){return"function"==typeof t||t===e}:function(t){return"function"==typeof t}},4913:(t,e,i)=>{var a=i(3724),s=i(5917),r=i(8686),n=i(8551),o=i(6969),l=TypeError,c=Object.defineProperty,d=Object.getOwnPropertyDescriptor,h="enumerable",u="configurable",_="writable";e.f=a?r?function defineProperty(t,e,i){n(t);e=o(e);n(i);if("function"==typeof t&&"prototype"===e&&"value"in i&&_ in i&&!i[_]){var a=d(t,e);if(a&&a[_]){t[e]=i.value;i={configurable:u in i?i[u]:a[u],enumerable:h in i?i[h]:a[h],writable:!1}}}return c(t,e,i)}:c:function defineProperty(t,e,i){n(t);e=o(e);n(i);if(s)try{return c(t,e,i)}catch(t){}if("get"in i||"set"in i)throw new l("Accessors not supported");"value"in i&&(t[e]=i.value);return t}},4916:(t,e,i)=>{var a=i(7751),createSetLike=function(t){return{size:t,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},createSetLikeWithInfinitySize=function(t){return{size:t,has:function(){return!0},keys:function(){throw new Error("e")}}};t.exports=function(t,e){var i=a("Set");try{(new i)[t](createSetLike(0));try{(new i)[t](createSetLike(-1));return!1}catch(a){if(!e)return!0;try{(new i)[t](createSetLikeWithInfinitySize(-1/0));return!1}catch(a){var s=new i;s.add(1);s.add(2);return e(s[t](createSetLikeWithInfinitySize(1/0)))}}}catch(t){return!1}}},4979:(t,e,i)=>{var a=i(6518),s=i(4576),r=i(7751),n=i(6980),o=i(4913).f,l=i(9297),c=i(679),d=i(3167),h=i(2603),u=i(5002),_=i(6193),p=i(3724),f=i(6395),g="DOMException",v=r("Error"),m=r(g),P=function DOMException(){c(this,w);var t=arguments.length,e=h(t<1?void 0:arguments[0]),i=h(t<2?void 0:arguments[1],"Error"),a=new m(e,i),s=new v(e);s.name=g;o(a,"stack",n(1,_(s.stack,1)));d(a,this,P);return a},w=P.prototype=m.prototype,y="stack"in new v(g),b="stack"in new m(1,2),S=m&&p&&Object.getOwnPropertyDescriptor(s,g),A=!(!S||S.writable&&S.configurable),x=y&&!A&&!b;a({global:!0,constructor:!0,forced:f||x},{DOMException:x?P:m});var C=r(g),E=C.prototype;if(E.constructor!==C){f||o(E,"constructor",n(1,C));for(var k in u)if(l(u,k)){var G=u[k],M=G.s;l(C,M)||o(C,M,n(6,G.c))}}},5002:t=>{t.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},5024:(t,e,i)=>{var a=i(6518),s=i(3650);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("symmetricDifference")},{symmetricDifference:s})},5031:(t,e,i)=>{var a=i(7751),s=i(9504),r=i(8480),n=i(3717),o=i(8551),l=s([].concat);t.exports=a("Reflect","ownKeys")||function ownKeys(t){var e=r.f(o(t)),i=n.f;return i?l(e,i(t)):e}},5044:(t,e,i)=>{var a=i(4644),s=i(4373),r=i(5854),n=i(6955),o=i(9565),l=i(9504),c=i(9039),d=a.aTypedArray,h=a.exportTypedArrayMethod,u=l("".slice);h("fill",(function fill(t){var e=arguments.length;d(this);var i="Big"===u(n(this),0,3)?r(t):+t;return o(s,this,i,e>1?arguments[1]:void 0,e>2?arguments[2]:void 0)}),c((function(){var t=0;new Int8Array(2).fill({valueOf:function(){return t++}});return 1!==t})))},5169:(t,e,i)=>{var a=i(3238),s=TypeError;t.exports=function(t){if(a(t))throw new s("ArrayBuffer is detached");return t}},5170:(t,e,i)=>{var a=i(6706),s=i(4402);t.exports=a(s.proto,"size","get")||function(t){return t.size}},5370:(t,e,i)=>{var a=i(6198);t.exports=function(t,e,i){for(var s=0,r=arguments.length>2?i:a(e),n=new t(r);r>s;)n[s]=e[s++];return n}},5397:(t,e,i)=>{var a=i(7055),s=i(7750);t.exports=function(t){return a(s(t))}},5610:(t,e,i)=>{var a=i(1291),s=Math.max,r=Math.min;t.exports=function(t,e){var i=a(t);return i<0?s(i+e,0):r(i,e)}},5623:(t,e,i)=>{var a=i(6518),s=i(4576),r=i(9504),n=i(4154),o=i(5169),l=r(1..toString);s.Uint8Array&&a({target:"Uint8Array",proto:!0},{toHex:function toHex(){n(this);o(this.buffer);for(var t="",e=0,i=this.length;e{var a=i(4576),s=i(9504),r=i(6706),n=i(7696),o=i(5169),l=i(7394),c=i(4483),d=i(1548),h=a.structuredClone,u=a.ArrayBuffer,_=a.DataView,p=Math.min,f=u.prototype,g=_.prototype,v=s(f.slice),m=r(f,"resizable","get"),P=r(f,"maxByteLength","get"),w=s(g.getInt8),y=s(g.setInt8);t.exports=(d||c)&&function(t,e,i){var a,s=l(t),r=void 0===e?s:n(e),f=!m||!m(t);o(t);if(d){t=h(t,{transfer:[t]});if(s===r&&(i||f))return t}if(s>=r&&(!i||f))a=v(t,0,r);else{var g=i&&!f&&P?{maxByteLength:P(t)}:void 0;a=new u(r,g);for(var b=new _(t),S=new _(a),A=p(r,s),x=0;x{var a=i(7629);t.exports=function(t,e){return a[t]||(a[t]=e||{})}},5781:(t,e,i)=>{var a=i(6518),s=i(7751),r=i(2812),n=i(655),o=i(7416),l=s("URL");a({target:"URL",stat:!0,forced:!o},{parse:function parse(t){var e=r(arguments.length,1),i=n(t),a=e<2||void 0===arguments[1]?void 0:n(arguments[1]);try{return new l(i,a)}catch(t){return null}}})},5854:(t,e,i)=>{var a=i(2777),s=TypeError;t.exports=function(t){var e=a(t,"number");if("number"==typeof e)throw new s("Can't convert number to bigint");return BigInt(e)}},5876:(t,e,i)=>{var a=i(6518),s=i(3838);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("isSubsetOf",(function(t){return t}))},{isSubsetOf:s})},5917:(t,e,i)=>{var a=i(3724),s=i(9039),r=i(4055);t.exports=!a&&!s((function(){return 7!==Object.defineProperty(r("div"),"a",{get:function(){return 7}}).a}))},5966:(t,e,i)=>{var a=i(9306),s=i(4117);t.exports=function(t,e){var i=t[e];return s(i)?void 0:a(i)}},6043:(t,e,i)=>{var a=i(9306),s=TypeError,PromiseCapability=function(t){var e,i;this.promise=new t((function(t,a){if(void 0!==e||void 0!==i)throw new s("Bad Promise constructor");e=t;i=a}));this.resolve=a(e);this.reject=a(i)};t.exports.f=function(t){return new PromiseCapability(t)}},6080:(t,e,i)=>{var a=i(7476),s=i(9306),r=i(616),n=a(a.bind);t.exports=function(t,e){s(t);return void 0===e?t:r?n(t,e):function(){return t.apply(e,arguments)}}},6119:(t,e,i)=>{var a=i(5745),s=i(3392),r=a("keys");t.exports=function(t){return r[t]||(r[t]=s(t))}},6193:(t,e,i)=>{var a=i(9504),s=Error,r=a("".replace),n=String(new s("zxcasd").stack),o=/\n\s*at [^:]*:[^\n]*/,l=o.test(n);t.exports=function(t,e){if(l&&"string"==typeof t&&!s.prepareStackTrace)for(;e--;)t=r(t,o,"");return t}},6198:(t,e,i)=>{var a=i(8014);t.exports=function(t){return a(t.length)}},6269:t=>{t.exports={}},6279:(t,e,i)=>{var a=i(6840);t.exports=function(t,e,i){for(var s in e)a(t,s,e[s],i);return t}},6280:(t,e,i)=>{var a=i(6518),s=i(4576),r=i(8745),n=i(4601),o="WebAssembly",l=s[o],c=7!==new Error("e",{cause:7}).cause,exportGlobalErrorCauseWrapper=function(t,e){var i={};i[t]=n(t,e,c);a({global:!0,constructor:!0,arity:1,forced:c},i)},exportWebAssemblyErrorCauseWrapper=function(t,e){if(l&&l[t]){var i={};i[t]=n(o+"."+t,e,c);a({target:o,stat:!0,constructor:!0,arity:1,forced:c},i)}};exportGlobalErrorCauseWrapper("Error",(function(t){return function Error(e){return r(t,this,arguments)}}));exportGlobalErrorCauseWrapper("EvalError",(function(t){return function EvalError(e){return r(t,this,arguments)}}));exportGlobalErrorCauseWrapper("RangeError",(function(t){return function RangeError(e){return r(t,this,arguments)}}));exportGlobalErrorCauseWrapper("ReferenceError",(function(t){return function ReferenceError(e){return r(t,this,arguments)}}));exportGlobalErrorCauseWrapper("SyntaxError",(function(t){return function SyntaxError(e){return r(t,this,arguments)}}));exportGlobalErrorCauseWrapper("TypeError",(function(t){return function TypeError(e){return r(t,this,arguments)}}));exportGlobalErrorCauseWrapper("URIError",(function(t){return function URIError(e){return r(t,this,arguments)}}));exportWebAssemblyErrorCauseWrapper("CompileError",(function(t){return function CompileError(e){return r(t,this,arguments)}}));exportWebAssemblyErrorCauseWrapper("LinkError",(function(t){return function LinkError(e){return r(t,this,arguments)}}));exportWebAssemblyErrorCauseWrapper("RuntimeError",(function(t){return function RuntimeError(e){return r(t,this,arguments)}}))},6319:(t,e,i)=>{var a=i(8551),s=i(9539);t.exports=function(t,e,i,r){try{return r?e(a(i)[0],i[1]):e(i)}catch(e){s(t,"throw",e)}}},6395:t=>{t.exports=!1},6469:(t,e,i)=>{var a=i(8227),s=i(2360),r=i(4913).f,n=a("unscopables"),o=Array.prototype;void 0===o[n]&&r(o,n,{configurable:!0,value:s(null)});t.exports=function(t){o[n][t]=!0}},6518:(t,e,i)=>{var a=i(4576),s=i(7347).f,r=i(6699),n=i(6840),o=i(9433),l=i(7740),c=i(2796);t.exports=function(t,e){var i,d,h,u,_,p=t.target,f=t.global,g=t.stat;if(i=f?a:g?a[p]||o(p,{}):a[p]&&a[p].prototype)for(d in e){u=e[d];h=t.dontCallGetSet?(_=s(i,d))&&_.value:i[d];if(!c(f?d:p+(g?".":"#")+d,t.forced)&&void 0!==h){if(typeof u==typeof h)continue;l(u,h)}(t.sham||h&&h.sham)&&r(u,"sham",!0);n(i,d,u,t)}}},6573:(t,e,i)=>{var a=i(3724),s=i(2106),r=i(3238),n=ArrayBuffer.prototype;a&&!("detached"in n)&&s(n,"detached",{configurable:!0,get:function detached(){return r(this)}})},6699:(t,e,i)=>{var a=i(3724),s=i(4913),r=i(6980);t.exports=a?function(t,e,i){return s.f(t,e,r(1,i))}:function(t,e,i){t[e]=i;return t}},6706:(t,e,i)=>{var a=i(9504),s=i(9306);t.exports=function(t,e,i){try{return a(s(Object.getOwnPropertyDescriptor(t,e)[i]))}catch(t){}}},6801:(t,e,i)=>{var a=i(3724),s=i(8686),r=i(4913),n=i(8551),o=i(5397),l=i(1072);e.f=a&&!s?Object.defineProperties:function defineProperties(t,e){n(t);for(var i,a=o(e),s=l(e),c=s.length,d=0;c>d;)r.f(t,i=s[d++],a[i]);return t}},6823:t=>{var e=String;t.exports=function(t){try{return e(t)}catch(t){return"Object"}}},6837:t=>{var e=TypeError;t.exports=function(t){if(t>9007199254740991)throw e("Maximum allowed index exceeded");return t}},6840:(t,e,i)=>{var a=i(4901),s=i(4913),r=i(283),n=i(9433);t.exports=function(t,e,i,o){o||(o={});var l=o.enumerable,c=void 0!==o.name?o.name:e;a(i)&&r(i,c,o);if(o.global)l?t[e]=i:n(e,i);else{try{o.unsafe?t[e]&&(l=!0):delete t[e]}catch(t){}l?t[e]=i:s.f(t,e,{value:i,enumerable:!1,configurable:!o.nonConfigurable,writable:!o.nonWritable})}return t}},6955:(t,e,i)=>{var a=i(2140),s=i(4901),r=i(2195),n=i(8227)("toStringTag"),o=Object,l="Arguments"===r(function(){return arguments}());t.exports=a?r:function(t){var e,i,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=function(t,e){try{return t[e]}catch(t){}}(e=o(t),n))?i:l?r(e):"Object"===(a=r(e))&&s(e.callee)?"Arguments":a}},6969:(t,e,i)=>{var a=i(2777),s=i(757);t.exports=function(t){var e=a(t,"string");return s(e)?e:e+""}},6980:t=>{t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},7040:(t,e,i)=>{var a=i(4495);t.exports=a&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},7055:(t,e,i)=>{var a=i(9504),s=i(9039),r=i(2195),n=Object,o=a("".split);t.exports=s((function(){return!n("z").propertyIsEnumerable(0)}))?function(t){return"String"===r(t)?o(t,""):n(t)}:n},7080:(t,e,i)=>{var a=i(4402).has;t.exports=function(t){a(t);return t}},7347:(t,e,i)=>{var a=i(3724),s=i(9565),r=i(8773),n=i(6980),o=i(5397),l=i(6969),c=i(9297),d=i(5917),h=Object.getOwnPropertyDescriptor;e.f=a?h:function getOwnPropertyDescriptor(t,e){t=o(t);e=l(e);if(d)try{return h(t,e)}catch(t){}if(c(t,e))return n(!s(r.f,t,e),t[e])}},7357:(t,e,i)=>{var a=i(6518),s=i(9504),r=i(7750),n=i(1291),o=i(655),l=i(9039),c=s("".charAt);a({target:"String",proto:!0,forced:l((function(){return"\ud842"!=="𠮷".at(-2)}))},{at:function at(t){var e=o(r(this)),i=e.length,a=n(t),s=a>=0?a:i+a;return s<0||s>=i?void 0:c(e,s)}})},7394:(t,e,i)=>{var a=i(4576),s=i(6706),r=i(2195),n=a.ArrayBuffer,o=a.TypeError;t.exports=n&&s(n.prototype,"byteLength","get")||function(t){if("ArrayBuffer"!==r(t))throw new o("ArrayBuffer expected");return t.byteLength}},7416:(t,e,i)=>{var a=i(9039),s=i(8227),r=i(3724),n=i(6395),o=s("iterator");t.exports=!a((function(){var t=new URL("b?a=1&b=2&c=3","https://a"),e=t.searchParams,i=new URLSearchParams("a=1&a=2&b=3"),a="";t.pathname="c%20d";e.forEach((function(t,i){e.delete("b");a+=i+t}));i.delete("a",2);i.delete("b",void 0);return n&&(!t.toJSON||!i.has("a",1)||i.has("a",2)||!i.has("a",void 0)||i.has("b"))||!e.size&&(n||!r)||!e.sort||"https://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[o]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==a||"x"!==new URL("https://x",void 0).host}))},7467:(t,e,i)=>{var a=i(7628),s=i(4644),r=s.aTypedArray,n=s.exportTypedArrayMethod,o=s.getTypedArrayConstructor;n("toReversed",(function toReversed(){return a(r(this),o(this))}))},7476:(t,e,i)=>{var a=i(2195),s=i(9504);t.exports=function(t){if("Function"===a(t))return s(t)}},7566:(t,e,i)=>{var a=i(6840),s=i(9504),r=i(655),n=i(2812),o=URLSearchParams,l=o.prototype,c=s(l.getAll),d=s(l.has),h=new o("a=1");!h.has("a",2)&&h.has("a",void 0)||a(l,"has",(function has(t){var e=arguments.length,i=e<2?void 0:arguments[1];if(e&&void 0===i)return d(this,t);var a=c(this,t);n(e,1);for(var s=r(i),o=0;o{var a=i(34),s=i(6699);t.exports=function(t,e){a(e)&&"cause"in e&&s(t,"cause",e.cause)}},7628:(t,e,i)=>{var a=i(6198);t.exports=function(t,e){for(var i=a(t),s=new e(i),r=0;r{var a=i(6395),s=i(4576),r=i(9433),n="__core-js_shared__",o=t.exports=s[n]||r(n,{});(o.versions||(o.versions=[])).push({version:"3.42.0",mode:a?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.42.0/LICENSE",source:"https://github.com/zloirock/core-js"})},7642:(t,e,i)=>{var a=i(6518),s=i(3440);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("difference",(function(t){return 0===t.size}))},{difference:s})},7657:(t,e,i)=>{var a,s,r,n=i(9039),o=i(4901),l=i(34),c=i(2360),d=i(2787),h=i(6840),u=i(8227),_=i(6395),p=u("iterator"),f=!1;[].keys&&("next"in(r=[].keys())?(s=d(d(r)))!==Object.prototype&&(a=s):f=!0);!l(a)||n((function(){var t={};return a[p].call(t)!==t}))?a={}:_&&(a=c(a));o(a[p])||h(a,p,(function(){return this}));t.exports={IteratorPrototype:a,BUGGY_SAFARI_ITERATORS:f}},7680:(t,e,i)=>{var a=i(9504);t.exports=a([].slice)},7696:(t,e,i)=>{var a=i(1291),s=i(8014),r=RangeError;t.exports=function(t){if(void 0===t)return 0;var e=a(t),i=s(e);if(e!==i)throw new r("Wrong length or index");return i}},7740:(t,e,i)=>{var a=i(9297),s=i(5031),r=i(7347),n=i(4913);t.exports=function(t,e,i){for(var o=s(e),l=n.f,c=r.f,d=0;d{var a=i(4117),s=TypeError;t.exports=function(t){if(a(t))throw new s("Can't call method on "+t);return t}},7751:(t,e,i)=>{var a=i(4576),s=i(4901);t.exports=function(t,e){return arguments.length<2?(i=a[t],s(i)?i:void 0):a[t]&&a[t][e];var i}},7811:t=>{t.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},7936:(t,e,i)=>{var a=i(6518),s=i(5636);s&&a({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function transferToFixedLength(){return s(this,arguments.length?arguments[0]:void 0,!1)}})},8004:(t,e,i)=>{var a=i(6518),s=i(9039),r=i(8750);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("intersection",(function(t){return 2===t.size&&t.has(1)&&t.has(2)}))||s((function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))}))},{intersection:r})},8014:(t,e,i)=>{var a=i(1291),s=Math.min;t.exports=function(t){var e=a(t);return e>0?s(e,9007199254740991):0}},8100:(t,e,i)=>{var a=i(6518),s=i(5636);s&&a({target:"ArrayBuffer",proto:!0},{transfer:function transfer(){return s(this,arguments.length?arguments[0]:void 0,!0)}})},8107:(t,e,i)=>{var a=i(6518),s=i(8981),r=i(6198),n=i(1291),o=i(6469);a({target:"Array",proto:!0},{at:function at(t){var e=s(this),i=r(e),a=n(t),o=a>=0?a:i+a;return o<0||o>=i?void 0:e[o]}});o("at")},8111:(t,e,i)=>{var a=i(6518),s=i(4576),r=i(679),n=i(8551),o=i(4901),l=i(2787),c=i(2106),d=i(2278),h=i(9039),u=i(9297),_=i(8227),p=i(7657).IteratorPrototype,f=i(3724),g=i(6395),v="constructor",m="Iterator",P=_("toStringTag"),w=TypeError,y=s[m],b=g||!o(y)||y.prototype!==p||!h((function(){y({})})),S=function Iterator(){r(this,p);if(l(this)===p)throw new w("Abstract class Iterator not directly constructable")},defineIteratorPrototypeAccessor=function(t,e){f?c(p,t,{configurable:!0,get:function(){return e},set:function(e){n(this);if(this===p)throw new w("You can't redefine this property");u(this,t)?this[t]=e:d(this,t,e)}}):p[t]=e};u(p,P)||defineIteratorPrototypeAccessor(P,m);!b&&u(p,v)&&p[v]!==Object||defineIteratorPrototypeAccessor(v,S);S.prototype=p;a({global:!0,constructor:!0,forced:b},{Iterator:S})},8140:(t,e,i)=>{var a=i(4644),s=i(6198),r=i(1291),n=a.aTypedArray;(0,a.exportTypedArrayMethod)("at",(function at(t){var e=n(this),i=s(e),a=r(t),o=a>=0?a:i+a;return o<0||o>=i?void 0:e[o]}))},8227:(t,e,i)=>{var a=i(4576),s=i(5745),r=i(9297),n=i(3392),o=i(4495),l=i(7040),c=a.Symbol,d=s("wks"),h=l?c.for||c:c&&c.withoutSetter||n;t.exports=function(t){r(d,t)||(d[t]=o&&r(c,t)?c[t]:h("Symbol."+t));return d[t]}},8229:(t,e,i)=>{var a=i(9590),s=RangeError;t.exports=function(t,e){var i=a(t);if(i%e)throw new s("Wrong offset");return i}},8235:(t,e,i)=>{var a=i(9504),s=i(9297),r=SyntaxError,n=parseInt,o=String.fromCharCode,l=a("".charAt),c=a("".slice),d=a(/./.exec),h={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":"\t"},u=/^[\da-f]{4}$/i,_=/^[\u0000-\u001F]$/;t.exports=function(t,e){for(var i=!0,a="";e{var a=i(6518),s=i(2652),r=i(9306),n=i(8551),o=i(1767),l=i(9539),c=i(4549),d=i(8745),h=i(9039),u=TypeError,_=h((function(){[].keys().reduce((function(){}),void 0)})),p=!_&&c("reduce",u);a({target:"Iterator",proto:!0,real:!0,forced:_||p},{reduce:function reduce(t){n(this);try{r(t)}catch(t){l(this,"throw",t)}var e=arguments.length<2,i=e?void 0:arguments[1];if(p)return d(p,this,e?[t]:[t,i]);var a=o(this),c=0;s(a,(function(a){if(e){e=!1;i=a}else i=t(i,a,c);c++}),{IS_RECORD:!0});if(e)throw new u("Reduce of empty iterator with no initial value");return i}})},8335:(t,e,i)=>{var a=i(6518),s=i(3724),r=i(4576),n=i(7751),o=i(9504),l=i(9565),c=i(4901),d=i(34),h=i(4376),u=i(9297),_=i(655),p=i(6198),f=i(2278),g=i(9039),v=i(8235),m=i(4495),P=r.JSON,w=r.Number,y=r.SyntaxError,b=P&&P.parse,S=n("Object","keys"),A=Object.getOwnPropertyDescriptor,x=o("".charAt),C=o("".slice),E=o(/./.exec),k=o([].push),G=/^\d$/,M=/^[1-9]$/,I=/^[\d-]$/,T=/^[\t\n\r ]$/,internalize=function(t,e,i,a){var s,r,n,o,c,_=t[e],f=a&&_===a.value,g=f&&"string"==typeof a.source?{source:a.source}:{};if(d(_)){var v=h(_),m=f?a.nodes:v?[]:{};if(v){s=m.length;n=p(_);for(o=0;o{var a=i(9504),s=i(507),r=i(4402),n=r.Set,o=r.proto,l=a(o.forEach),c=a(o.keys),d=c(new n).next;t.exports=function(t,e,i){return i?s({iterator:c(t),next:d},e):l(t,e)}},8480:(t,e,i)=>{var a=i(1828),s=i(8727).concat("length","prototype");e.f=Object.getOwnPropertyNames||function getOwnPropertyNames(t){return a(t,s)}},8527:(t,e,i)=>{var a=i(7080),s=i(4402).has,r=i(5170),n=i(3789),o=i(507),l=i(9539);t.exports=function isSupersetOf(t){var e=a(this),i=n(t);if(r(e){var a=i(34),s=String,r=TypeError;t.exports=function(t){if(a(t))return t;throw new r(s(t)+" is not an object")}},8574:(t,e,i)=>{var a=i(4215);t.exports="NODE"===a},8622:(t,e,i)=>{var a=i(4576),s=i(4901),r=a.WeakMap;t.exports=s(r)&&/native code/.test(String(r))},8646:(t,e,i)=>{var a=i(9565),s=i(8551),r=i(1767),n=i(851);t.exports=function(t,e){e&&"string"==typeof t||s(t);var i=n(t);return r(s(void 0!==i?a(i,t):t))}},8686:(t,e,i)=>{var a=i(3724),s=i(9039);t.exports=a&&s((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},8721:(t,e,i)=>{var a=i(3724),s=i(9504),r=i(2106),n=URLSearchParams.prototype,o=s(n.forEach);a&&!("size"in n)&&r(n,"size",{get:function size(){var t=0;o(this,(function(){t++}));return t},configurable:!0,enumerable:!0})},8727:t=>{t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},8745:(t,e,i)=>{var a=i(616),s=Function.prototype,r=s.apply,n=s.call;t.exports="object"==typeof Reflect&&Reflect.apply||(a?n.bind(r):function(){return n.apply(r,arguments)})},8750:(t,e,i)=>{var a=i(7080),s=i(4402),r=i(5170),n=i(3789),o=i(8469),l=i(507),c=s.Set,d=s.add,h=s.has;t.exports=function intersection(t){var e=a(this),i=n(t),s=new c;r(e)>i.size?l(i.getIterator(),(function(t){h(e,t)&&d(s,t)})):o(e,(function(t){i.includes(t)&&d(s,t)}));return s}},8773:(t,e)=>{var i={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,s=a&&!i.call({1:2},1);e.f=s?function propertyIsEnumerable(t){var e=a(this,t);return!!e&&e.enumerable}:i},8845:(t,e,i)=>{var a=i(4576),s=i(9565),r=i(4644),n=i(6198),o=i(8229),l=i(8981),c=i(9039),d=a.RangeError,h=a.Int8Array,u=h&&h.prototype,_=u&&u.set,p=r.aTypedArray,f=r.exportTypedArrayMethod,g=!c((function(){var t=new Uint8ClampedArray(2);s(_,t,{length:1,0:3},1);return 3!==t[1]})),v=g&&r.NATIVE_ARRAY_BUFFER_VIEWS&&c((function(){var t=new h(2);t.set(1);t.set("2",1);return 0!==t[0]||2!==t[1]}));f("set",(function set(t){p(this);var e=o(arguments.length>1?arguments[1]:void 0,1),i=l(t);if(g)return s(_,this,i,e);var a=this.length,r=n(i),c=0;if(r+e>a)throw new d("Wrong length");for(;c{var a=i(7750),s=Object;t.exports=function(t){return s(a(t))}},9039:t=>{t.exports=function(t){try{return!!t()}catch(t){return!0}}},9143:(t,e,i)=>{var a=i(4576),s=i(9504),r=i(3972),n=i(3463),o=i(9297),l=i(2804),c=i(944),d=i(5169),h=l.c2i,u=l.c2iUrl,_=a.SyntaxError,p=a.TypeError,f=s("".charAt),skipAsciiWhitespace=function(t,e){for(var i=t.length;e>16&255,s>>8&255,255&s];if(2===a){if(i&&0!==r[1])throw new _("Extra bits");return[r[0]]}if(3===a){if(i&&0!==r[2])throw new _("Extra bits");return[r[0],r[1]]}return r},writeBytes=function(t,e,i){for(var a=e.length,s=0;s0){if("stop-before-partial"===l)break;if("loose"!==l)throw new _("Missing padding");if(1===P.length)throw new _("Malformed padding: exactly one additional character");v=writeBytes(g,decodeBase64Chunk(P,s,!1),v)}m=t.length;break}var y=f(t,w);++w;if("="===y){if(P.length<2)throw new _("Padding is too early");w=skipAsciiWhitespace(t,w);if(2===P.length){if(w===t.length){if("stop-before-partial"===l)break;throw new _("Malformed padding: only one =")}if("="===f(t,w)){++w;w=skipAsciiWhitespace(t,w)}}if(w{var a=i(4402),s=i(8469),r=a.Set,n=a.add;t.exports=function(t){var e=new r;s(t,(function(t){n(e,t)}));return e}},9297:(t,e,i)=>{var a=i(9504),s=i(8981),r=a({}.hasOwnProperty);t.exports=Object.hasOwn||function hasOwn(t,e){return r(s(t),e)}},9306:(t,e,i)=>{var a=i(4901),s=i(6823),r=TypeError;t.exports=function(t){if(a(t))return t;throw new r(s(t)+" is not a function")}},9314:(t,e,i)=>{var a=i(6518),s=i(9565),r=i(8551),n=i(1767),o=i(4149),l=i(9590),c=i(9539),d=i(9462),h=i(4549),u=i(6395),_=!u&&h("drop",RangeError),p=d((function(){for(var t,e=this.iterator,i=this.next;this.remaining;){this.remaining--;t=r(s(i,e));if(this.done=!!t.done)return}t=r(s(i,e));if(!(this.done=!!t.done))return t.value}));a({target:"Iterator",proto:!0,real:!0,forced:u||_},{drop:function drop(t){r(this);var e;try{e=l(o(+t))}catch(t){c(this,"throw",t)}return _?s(_,this,e):new p(n(this),{remaining:e})}})},9429:(t,e,i)=>{var a=i(4576),s=i(8574);t.exports=function(t){if(s){try{return a.process.getBuiltinModule(t)}catch(t){}try{return Function('return require("'+t+'")')()}catch(t){}}}},9432:(t,e,i)=>{var a=i(6518),s=i(4576),r=i(5370),n=i(9143),o=s.Uint8Array;o&&a({target:"Uint8Array",stat:!0},{fromBase64:function fromBase64(t){var e=n(t,arguments.length>1?arguments[1]:void 0,null,9007199254740991);return r(o,e.bytes)}})},9433:(t,e,i)=>{var a=i(4576),s=Object.defineProperty;t.exports=function(t,e){try{s(a,t,{value:e,configurable:!0,writable:!0})}catch(i){a[t]=e}return e}},9462:(t,e,i)=>{var a=i(9565),s=i(2360),r=i(6699),n=i(6279),o=i(8227),l=i(1181),c=i(5966),d=i(7657).IteratorPrototype,h=i(2529),u=i(9539),_=o("toStringTag"),p="IteratorHelper",f="WrapForValidIterator",g=l.set,createIteratorProxyPrototype=function(t){var e=l.getterFor(t?f:p);return n(s(d),{next:function next(){var i=e(this);if(t)return i.nextHandler();if(i.done)return h(void 0,!0);try{var a=i.nextHandler();return i.returnHandlerResult?a:h(a,i.done)}catch(t){i.done=!0;throw t}},return:function(){var i=e(this),s=i.iterator;i.done=!0;if(t){var r=c(s,"return");return r?a(r,s):h(void 0,!0)}if(i.inner)try{u(i.inner.iterator,"normal")}catch(t){return u(s,"throw",t)}s&&u(s,"normal");return h(void 0,!0)}})},v=createIteratorProxyPrototype(!0),m=createIteratorProxyPrototype(!1);r(m,_,"Iterator Helper");t.exports=function(t,e,i){var a=function Iterator(a,s){if(s){s.iterator=a.iterator;s.next=a.next}else s=a;s.type=e?f:p;s.returnHandlerResult=!!i;s.nextHandler=t;s.counter=0;s.done=!1;g(this,s)};a.prototype=e?v:m;return a}},9504:(t,e,i)=>{var a=i(616),s=Function.prototype,r=s.call,n=a&&s.bind.bind(r,r);t.exports=a?n:function(t){return function(){return r.apply(t,arguments)}}},9519:(t,e,i)=>{var a,s,r=i(4576),n=i(2839),o=r.process,l=r.Deno,c=o&&o.versions||l&&l.version,d=c&&c.v8;d&&(s=(a=d.split("."))[0]>0&&a[0]<4?1:+(a[0]+a[1]));!s&&n&&(!(a=n.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=n.match(/Chrome\/(\d+)/))&&(s=+a[1]);t.exports=s},9539:(t,e,i)=>{var a=i(9565),s=i(8551),r=i(5966);t.exports=function(t,e,i){var n,o;s(t);try{if(!(n=r(t,"return"))){if("throw"===e)throw i;return i}n=a(n,t)}catch(t){o=!0;n=t}if("throw"===e)throw i;if(o)throw n;s(n);return i}},9565:(t,e,i)=>{var a=i(616),s=Function.prototype.call;t.exports=a?s.bind(s):function(){return s.apply(s,arguments)}},9577:(t,e,i)=>{var a=i(9928),s=i(4644),r=i(1108),n=i(1291),o=i(5854),l=s.aTypedArray,c=s.getTypedArrayConstructor,d=s.exportTypedArrayMethod,h=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(t){return 8===t}}();d("with",{with:function(t,e){var i=l(this),s=n(t),d=r(i)?o(e):+e;return a(i,c(i),s,d)}}.with,!h)},9590:(t,e,i)=>{var a=i(1291),s=RangeError;t.exports=function(t){var e=a(t);if(e<0)throw new s("The argument can't be less than 0");return e}},9617:(t,e,i)=>{var a=i(5397),s=i(5610),r=i(6198),createMethod=function(t){return function(e,i,n){var o=a(e),l=r(o);if(0===l)return!t&&-1;var c,d=s(n,l);if(t&&i!=i){for(;l>d;)if((c=o[d++])!=c)return!0}else for(;l>d;d++)if((t||d in o)&&o[d]===i)return t||d||0;return!t&&-1}};t.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},9631:(t,e,i)=>{var a=i(6518),s=i(4576),r=i(9504),n=i(3972),o=i(4154),l=i(5169),c=i(2804),d=i(944),h=c.i2c,u=c.i2cUrl,_=r("".charAt);s.Uint8Array&&a({target:"Uint8Array",proto:!0},{toBase64:function toBase64(){var t=o(this),e=arguments.length?n(arguments[0]):void 0,i="base64"===d(e)?h:u,a=!!e&&!!e.omitPadding;l(this.buffer);for(var s,r="",c=0,p=t.length,at=function(t){return _(i,s>>6*t&63)};c+2{var a=i(6518),s=i(4576),r=i(3463),n=i(4154),o=i(5169),l=i(2303);s.Uint8Array&&a({target:"Uint8Array",proto:!0},{setFromHex:function setFromHex(t){n(this);r(t);o(this.buffer);var e=l(t,this).read;return{read:e,written:e/2}}})},9928:(t,e,i)=>{var a=i(6198),s=i(1291),r=RangeError;t.exports=function(t,e,i,n){var o=a(t),l=s(i),c=l<0?o+l:l;if(c>=o||c<0)throw new r("Incorrect index");for(var d=new e(o),h=0;h=I.INFOS&&console.log(`Info: ${t}`)}function warn(t){N>=I.WARNINGS&&console.log(`Warning: ${t}`)}function unreachable(t){throw new Error(t)}function assert(t,e){t||unreachable(e)}function createValidAbsoluteUrl(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!t)return null;if(i&&"string"==typeof t){if(i.addDefaultProtocol&&t.startsWith("www.")){const e=t.match(/\./g);e?.length>=2&&(t=`http://${t}`)}if(i.tryConvertEncoding)try{t=function stringToUTF8String(t){return decodeURIComponent(escape(t))}(t)}catch{}}const a=e?URL.parse(t,e):URL.parse(t);return function _isValidProtocol(t){switch(t?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(a)?a:null}function updateUrlHash(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const a=URL.parse(t);if(a){a.hash=e;return a.href}return i&&createValidAbsoluteUrl(t,"http://example.com")?t.split("#",1)[0]+""+(e?`#${e}`:""):""}function shadow(t,e,i){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];Object.defineProperty(t,e,{value:i,enumerable:!a,configurable:!0,writable:!1});return i}const W=function BaseExceptionClosure(){function BaseException(t,e){this.message=t;this.name=e}BaseException.prototype=new Error;BaseException.constructor=BaseException;return BaseException}();class PasswordException extends W{constructor(t,e){super(t,"PasswordException");this.code=e}}class UnknownErrorException extends W{constructor(t,e){super(t,"UnknownErrorException");this.details=e}}class InvalidPDFException extends W{constructor(t){super(t,"InvalidPDFException")}}class ResponseException extends W{constructor(t,e,i){super(t,"ResponseException");this.status=e;this.missing=i}}class FormatError extends W{constructor(t){super(t,"FormatError")}}class AbortException extends W{constructor(t){super(t,"AbortException")}}function bytesToString(t){"object"==typeof t&&void 0!==t?.length||unreachable("Invalid argument for bytesToString");const e=t.length,i=8192;if(et.toString(16).padStart(2,"0")));function uint8(t){return t<0?0:t>255?255:Math.round(t)}function rotateRGB180(t,e,i){const[a,s,r]=function rgbToHsv(t,e,i){t/=255;e/=255;i/=255;const a=Math.max(t,e,i),s=Math.min(t,e,i),r=a,n=a-s,o=0===a?0:n/a;let l;if(a===s)l=0;else{switch(a){case t:l=(e-i)/n+(ee+e+i+i+a+a));const e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]:null}class util_Util{static makeHexColor(t,e,i){return`#${U[t]}${U[e]}${U[i]}`}static hexToRgb(t){return hexToRgb(t)}static invertHexColor(t){const[e,i,a]=hexToRgb(t),[s,r,n]=rotateRGB180(255-e,255-i,255-a);return`#${U[s]}${U[r]}${U[n]}`}static scaleMinMax(t,e){let i;if(t[0]){if(t[0]<0){i=e[0];e[0]=e[2];e[2]=i}e[0]*=t[0];e[2]*=t[0];if(t[3]<0){i=e[1];e[1]=e[3];e[3]=i}e[1]*=t[3];e[3]*=t[3]}else{i=e[0];e[0]=e[1];e[1]=i;i=e[2];e[2]=e[3];e[3]=i;if(t[1]<0){i=e[1];e[1]=e[3];e[3]=i}e[1]*=t[1];e[3]*=t[1];if(t[2]<0){i=e[0];e[0]=e[2];e[2]=i}e[0]*=t[2];e[2]*=t[2]}e[0]+=t[4];e[1]+=t[5];e[2]+=t[4];e[3]+=t[5]}static transform(t,e){return[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],t[0]*e[4]+t[2]*e[5]+t[4],t[1]*e[4]+t[3]*e[5]+t[5]]}static applyTransform(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const a=t[i],s=t[i+1];t[i]=a*e[0]+s*e[2]+e[4];t[i+1]=a*e[1]+s*e[3]+e[5]}static applyTransformToBezier(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const a=e[0],s=e[1],r=e[2],n=e[3],o=e[4],l=e[5];for(let e=0;e<6;e+=2){const c=t[i+e],d=t[i+e+1];t[i+e]=c*a+d*r+o;t[i+e+1]=c*s+d*n+l}}static applyInverseTransform(t,e){const i=t[0],a=t[1],s=e[0]*e[3]-e[1]*e[2];t[0]=(i*e[3]-a*e[2]+e[2]*e[5]-e[4]*e[3])/s;t[1]=(-i*e[1]+a*e[0]+e[4]*e[1]-e[5]*e[0])/s}static axialAlignedBoundingBox(t,e,i){const a=e[0],s=e[1],r=e[2],n=e[3],o=e[4],l=e[5],c=t[0],d=t[1],h=t[2],u=t[3];let _=a*c+o,p=_,f=a*h+o,g=f,v=n*d+l,m=v,P=n*u+l,w=P;if(0!==s||0!==r){const t=s*c,e=s*h,i=r*d,a=r*u;_+=i;g+=i;f+=a;p+=a;v+=t;w+=t;P+=e;m+=e}i[0]=Math.min(i[0],_,f,p,g);i[1]=Math.min(i[1],v,P,m,w);i[2]=Math.max(i[2],_,f,p,g);i[3]=Math.max(i[3],v,P,m,w)}static inverseTransform(t){const e=t[0]*t[3]-t[1]*t[2];return[t[3]/e,-t[1]/e,-t[2]/e,t[0]/e,(t[2]*t[5]-t[4]*t[3])/e,(t[4]*t[1]-t[5]*t[0])/e]}static singularValueDecompose2dScale(t,e){const i=t[0],a=t[1],s=t[2],r=t[3],n=i**2+a**2,o=i*s+a*r,l=s**2+r**2,c=(n+l)/2,d=Math.sqrt(c**2-(n*l-o**2));e[0]=Math.sqrt(c+d||1);e[1]=Math.sqrt(c-d||1)}static normalizeRect(t){const e=t.slice(0);if(t[0]>t[2]){e[0]=t[2];e[2]=t[0]}if(t[1]>t[3]){e[1]=t[3];e[3]=t[1]}return e}static intersect(t,e){const i=Math.max(Math.min(t[0],t[2]),Math.min(e[0],e[2])),a=Math.min(Math.max(t[0],t[2]),Math.max(e[0],e[2]));if(i>a)return null;const s=Math.max(Math.min(t[1],t[3]),Math.min(e[1],e[3])),r=Math.min(Math.max(t[1],t[3]),Math.max(e[1],e[3]));return s>r?null:[i,s,a,r]}static pointBoundingBox(t,e,i){i[0]=Math.min(i[0],t);i[1]=Math.min(i[1],e);i[2]=Math.max(i[2],t);i[3]=Math.max(i[3],e)}static rectBoundingBox(t,e,i,a,s){s[0]=Math.min(s[0],t,i);s[1]=Math.min(s[1],e,a);s[2]=Math.max(s[2],t,i);s[3]=Math.max(s[3],e,a)}static bezierBoundingBox(t,e,i,a,s,r,n,o,l){l[0]=Math.min(l[0],t,n);l[1]=Math.min(l[1],e,o);l[2]=Math.max(l[2],t,n);l[3]=Math.max(l[3],e,o);_assertClassBrand(util_Util,this,_getExtremum).call(this,t,i,s,n,e,a,r,o,3*(3*(i-s)-t+n),6*(t-2*i+s),3*(i-t),l);_assertClassBrand(util_Util,this,_getExtremum).call(this,t,i,s,n,e,a,r,o,3*(3*(a-r)-e+o),6*(e-2*a+r),3*(a-e),l)}}i=util_Util;function _getExtremumOnCurve(t,e,i,a,s,r,n,o,l,c){if(l<=0||l>=1)return;const d=1-l,h=l*l,u=h*l,_=d*(d*(d*t+3*l*e)+3*h*i)+u*a,p=d*(d*(d*s+3*l*r)+3*h*n)+u*o;c[0]=Math.min(c[0],_);c[1]=Math.min(c[1],p);c[2]=Math.max(c[2],_);c[3]=Math.max(c[3],p)}function _getExtremum(t,e,a,s,r,n,o,l,c,d,h,u){if(Math.abs(c)<1e-12){Math.abs(d)>=1e-12&&_assertClassBrand(i,this,_getExtremumOnCurve).call(this,t,e,a,s,r,n,o,l,-h/d,u);return}const _=d**2-4*h*c;if(_<0)return;const p=Math.sqrt(_),f=2*c;_assertClassBrand(i,this,_getExtremumOnCurve).call(this,t,e,a,s,r,n,o,l,(-d+p)/f,u);_assertClassBrand(i,this,_getExtremumOnCurve).call(this,t,e,a,s,r,n,o,l,(-d-p)/f,u)}let j=null,H=null;function normalizeUnicode(t){if(!j){j=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu;H=new Map([["ſt","ſt"]])}return t.replaceAll(j,((t,e,i)=>e?e.normalize("NFKC"):H.get(i)))}function getUuid(){if("function"==typeof crypto.randomUUID)return crypto.randomUUID();const t=new Uint8Array(32);crypto.getRandomValues(t);return bytesToString(t)}const z="pdfjs_internal_id_";function MathClamp(t,e,i){return Math.min(Math.max(t,e),i)}function toBase64Util(t){return Uint8Array.prototype.toBase64?t.toBase64():btoa(bytesToString(t))}"function"!=typeof Math.sumPrecise&&(Math.sumPrecise=function(t){return t.reduce(((t,e)=>t+e),0)});"function"!=typeof AbortSignal.any&&(AbortSignal.any=function(t){const e=new AbortController,{signal:i}=e;for(const a of t)if(a.aborted){e.abort(a.reason);return i}for(const a of t)a.addEventListener("abort",(()=>{e.abort(a.reason)}),{signal:i});return i});var $;__webpack_require__(1701),__webpack_require__(4628),__webpack_require__(7642),__webpack_require__(8004),__webpack_require__(3853),__webpack_require__(5876),__webpack_require__(2475),__webpack_require__(5024),__webpack_require__(1698),__webpack_require__(4603),__webpack_require__(7566),__webpack_require__(8721),__webpack_require__(8107),__webpack_require__(9314),__webpack_require__(1148),__webpack_require__(3579),__webpack_require__(7357),__webpack_require__(8335);function display_utils_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}function _defineProperty(t,e,i){return(e=function _toPropertyKey(t){var e=function _toPrimitive(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}const V="http://www.w3.org/2000/svg";class PixelsPerInch{}$=PixelsPerInch;_defineProperty(PixelsPerInch,"CSS",96);_defineProperty(PixelsPerInch,"PDF",72);_defineProperty(PixelsPerInch,"PDF_TO_CSS_UNITS",$.CSS/$.PDF);async function fetchData(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"text";if(isValidFetchUrl(t,document.baseURI)){const i=await fetch(t);if(!i.ok)throw new Error(i.statusText);switch(e){case"arraybuffer":return i.arrayBuffer();case"blob":return i.blob();case"json":return i.json()}return i.text()}return new Promise(((i,a)=>{const s=new XMLHttpRequest;s.open("GET",t,!0);s.responseType=e;s.onreadystatechange=()=>{if(s.readyState===XMLHttpRequest.DONE)if(200!==s.status&&0!==s.status)a(new Error(s.statusText));else{switch(e){case"arraybuffer":case"blob":case"json":i(s.response);return}i(s.responseText)}};s.send(null)}))}class PageViewport{constructor(t){let{viewBox:e,userUnit:i,scale:a,rotation:s,offsetX:r=0,offsetY:n=0,dontFlip:o=!1}=t;this.viewBox=e;this.userUnit=i;this.scale=a;this.rotation=s;this.offsetX=r;this.offsetY=n;a*=i;const l=(e[2]+e[0])/2,c=(e[3]+e[1])/2;let d,h,u,_,p,f,g,v;s%=360;s<0&&(s+=360);switch(s){case 180:d=-1;h=0;u=0;_=1;break;case 90:d=0;h=1;u=1;_=0;break;case 270:d=0;h=-1;u=-1;_=0;break;case 0:d=1;h=0;u=0;_=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}if(o){u=-u;_=-_}if(0===d){p=Math.abs(c-e[1])*a+r;f=Math.abs(l-e[0])*a+n;g=(e[3]-e[1])*a;v=(e[2]-e[0])*a}else{p=Math.abs(l-e[0])*a+r;f=Math.abs(c-e[1])*a+n;g=(e[2]-e[0])*a;v=(e[3]-e[1])*a}this.transform=[d*a,h*a,u*a,_*a,p-d*a*l-u*a*c,f-h*a*l-_*a*c];this.width=g;this.height=v}get rawDims(){const t=this.viewBox;return shadow(this,"rawDims",{pageWidth:t[2]-t[0],pageHeight:t[3]-t[1],pageX:t[0],pageY:t[1]})}clone(){let{scale:t=this.scale,rotation:e=this.rotation,offsetX:i=this.offsetX,offsetY:a=this.offsetY,dontFlip:s=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new PageViewport({viewBox:this.viewBox.slice(),userUnit:this.userUnit,scale:t,rotation:e,offsetX:i,offsetY:a,dontFlip:s})}convertToViewportPoint(t,e){const i=[t,e];util_Util.applyTransform(i,this.transform);return i}convertToViewportRectangle(t){const e=[t[0],t[1]];util_Util.applyTransform(e,this.transform);const i=[t[2],t[3]];util_Util.applyTransform(i,this.transform);return[e[0],e[1],i[0],i[1]]}convertToPdfPoint(t,e){const i=[t,e];util_Util.applyInverseTransform(i,this.transform);return i}}class RenderingCancelledException extends W{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;super(t,"RenderingCancelledException");this.extraDelay=e}}function isDataScheme(t){const e=t.length;let i=0;for(;i1&&void 0!==arguments[1]?arguments[1]:"document.pdf";if("string"!=typeof t)return e;if(isDataScheme(t)){warn('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.');return e}const i=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i,a=/^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/.exec(t);let s=i.exec(a[1])||i.exec(a[2])||i.exec(a[3]);if(s){s=s[0];if(s.includes("%"))try{s=i.exec(decodeURIComponent(s))[0]}catch{}}return s||e}class StatTimer{constructor(){_defineProperty(this,"started",Object.create(null));_defineProperty(this,"times",[])}time(t){t in this.started&&warn(`Timer is already running for ${t}`);this.started[t]=Date.now()}timeEnd(t){t in this.started||warn(`Timer has not been started for ${t}`);this.times.push({name:t,start:this.started[t],end:Date.now()});delete this.started[t]}toString(){const t=[];let e=0;for(const{name:t}of this.times)e=Math.max(t.length,e);for(const{name:i,start:a,end:s}of this.times)t.push(`${i.padEnd(e)} ${s-a}ms\n`);return t.join("")}}function isValidFetchUrl(t,e){const i=e?URL.parse(t,e):URL.parse(t);return"http:"===i?.protocol||"https:"===i?.protocol}function noContextMenu(t){t.preventDefault()}function stopEvent(t){t.preventDefault();t.stopPropagation()}class display_utils_PDFDateString{static toDateObject(t){if(!t||"string"!=typeof t)return null;display_utils_assertClassBrand(display_utils_PDFDateString,this,q)._||(q._=display_utils_assertClassBrand(display_utils_PDFDateString,this,new RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+|-])?(\\d{2})?'?(\\d{2})?'?")));const e=display_utils_assertClassBrand(display_utils_PDFDateString,this,q)._.exec(t);if(!e)return null;const i=parseInt(e[1],10);let a=parseInt(e[2],10);a=a>=1&&a<=12?a-1:0;let s=parseInt(e[3],10);s=s>=1&&s<=31?s:1;let r=parseInt(e[4],10);r=r>=0&&r<=23?r:0;let n=parseInt(e[5],10);n=n>=0&&n<=59?n:0;let o=parseInt(e[6],10);o=o>=0&&o<=59?o:0;const l=e[7]||"Z";let c=parseInt(e[8],10);c=c>=0&&c<=23?c:0;let d=parseInt(e[9],10)||0;d=d>=0&&d<=59?d:0;if("-"===l){r+=c;n+=d}else if("+"===l){r-=c;n-=d}return new Date(Date.UTC(i,a,s,r,n,o))}}var q={_:void 0};function getXfaPageViewport(t,e){let{scale:i=1,rotation:a=0}=e;const{width:s,height:r}=t.attributes.style,n=[0,0,parseInt(s),parseInt(r)];return new PageViewport({viewBox:n,userUnit:1,scale:i,rotation:a})}function getRGB(t){if(t.startsWith("#")){const e=parseInt(t.slice(1),16);return[(16711680&e)>>16,(65280&e)>>8,255&e]}if(t.startsWith("rgb("))return t.slice(4,-1).split(",").map((t=>parseInt(t)));if(t.startsWith("rgba("))return t.slice(5,-1).split(",").map((t=>parseInt(t))).slice(0,3);warn(`Not a valid color format: "${t}"`);return[0,0,0]}function getCurrentTransform(t){const{a:e,b:i,c:a,d:s,e:r,f:n}=t.getTransform();return[e,i,a,s,r,n]}function getCurrentTransformInverse(t){const{a:e,b:i,c:a,d:s,e:r,f:n}=t.getTransform().invertSelf();return[e,i,a,s,r,n]}function setLayerDimensions(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(e instanceof PageViewport){const{pageWidth:a,pageHeight:s}=e.rawDims,{style:r}=t,n=util_FeatureTest.isCSSRoundSupported,o=`var(--total-scale-factor) * ${a}px`,l=`var(--total-scale-factor) * ${s}px`,c=n?`round(down, ${o}, var(--scale-round-x))`:`calc(${o})`,d=n?`round(down, ${l}, var(--scale-round-y))`:`calc(${l})`;if(i&&e.rotation%180!=0){r.width=d;r.height=c}else{r.width=c;r.height=d}}a&&t.setAttribute("data-main-rotation",e.rotation)}class OutputScale{constructor(){const{pixelRatio:t}=OutputScale;this.sx=t;this.sy=t}get scaled(){return 1!==this.sx||1!==this.sy}get symmetric(){return this.sx===this.sy}limitCanvas(t,e,i,a){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1,r=1/0,n=1/0,o=1/0;(i=OutputScale.capPixels(i,s))>0&&(r=Math.sqrt(i/(t*e)));if(-1!==a){n=a/t;o=a/e}const l=Math.min(r,n,o);if(this.sx>l||this.sy>l){this.sx=l;this.sy=l;return!0}return!1}static get pixelRatio(){return globalThis.devicePixelRatio||1}static capPixels(t,e){if(e>=0){const i=Math.ceil(window.screen.availWidth*window.screen.availHeight*this.pixelRatio**2*(1+e/100));return t>0?Math.min(t,i):i}return t}}const X=["image/apng","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/svg+xml","image/webp","image/x-icon"];function _classPrivateMethodInitSpec(t,e){_checkPrivateRedeclaration(t,e),e.add(t)}function _classPrivateFieldInitSpec(t,e,i){_checkPrivateRedeclaration(t,e),e.set(t,i)}function _checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateGetter(t,e,i){return i(toolbar_assertClassBrand(t,e))}function _classPrivateFieldGet(t,e){return t.get(toolbar_assertClassBrand(t,e))}function _classPrivateFieldSet(t,e,i){return t.set(toolbar_assertClassBrand(t,e),i),i}function toolbar_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var K=new WeakMap,Y=new WeakMap,Q=new WeakMap,J=new WeakMap,Z=new WeakMap,tt=new WeakMap,et=new WeakSet;class EditorToolbar{constructor(t){_classPrivateMethodInitSpec(this,et);_classPrivateFieldInitSpec(this,K,null);_classPrivateFieldInitSpec(this,Y,null);_classPrivateFieldInitSpec(this,Q,void 0);_classPrivateFieldInitSpec(this,J,null);_classPrivateFieldInitSpec(this,Z,null);_classPrivateFieldInitSpec(this,tt,null);_classPrivateFieldSet(Q,this,t);st._||(st._=Object.freeze({freetext:"pdfjs-editor-remove-freetext-button",highlight:"pdfjs-editor-remove-highlight-button",ink:"pdfjs-editor-remove-ink-button",stamp:"pdfjs-editor-remove-stamp-button",signature:"pdfjs-editor-remove-signature-button"}))}render(){const t=_classPrivateFieldSet(K,this,document.createElement("div"));t.classList.add("editToolbar","hidden");t.setAttribute("role","toolbar");const e=_classPrivateFieldGet(Q,this)._uiManager._signal;t.addEventListener("contextmenu",noContextMenu,{signal:e});t.addEventListener("pointerdown",_pointerDown,{signal:e});const i=_classPrivateFieldSet(J,this,document.createElement("div"));i.className="buttons";t.append(i);const a=_classPrivateFieldGet(Q,this).toolbarPosition;if(a){const{style:e}=t,i="ltr"===_classPrivateFieldGet(Q,this)._uiManager.direction?1-a[0]:a[0];e.insetInlineEnd=100*i+"%";e.top=`calc(${100*a[1]}% + var(--editor-toolbar-vert-offset))`}toolbar_assertClassBrand(et,this,_addDeleteButton).call(this);return t}get div(){return _classPrivateFieldGet(K,this)}hide(){_classPrivateFieldGet(K,this).classList.add("hidden");_classPrivateFieldGet(Y,this)?.hideDropdown()}show(){_classPrivateFieldGet(K,this).classList.remove("hidden");_classPrivateFieldGet(Z,this)?.shown()}async addAltText(t){const e=await t.render();toolbar_assertClassBrand(et,this,_addListenersToElement).call(this,e);_classPrivateFieldGet(J,this).prepend(e,_classPrivateGetter(et,this,_get_divider));_classPrivateFieldSet(Z,this,t)}addColorPicker(t){_classPrivateFieldSet(Y,this,t);const e=t.renderButton();toolbar_assertClassBrand(et,this,_addListenersToElement).call(this,e);_classPrivateFieldGet(J,this).prepend(e,_classPrivateGetter(et,this,_get_divider))}async addEditSignatureButton(t){const e=_classPrivateFieldSet(tt,this,await t.renderEditButton(_classPrivateFieldGet(Q,this)));toolbar_assertClassBrand(et,this,_addListenersToElement).call(this,e);_classPrivateFieldGet(J,this).prepend(e,_classPrivateGetter(et,this,_get_divider))}updateEditSignatureButton(t){_classPrivateFieldGet(tt,this)&&(_classPrivateFieldGet(tt,this).title=t)}remove(){_classPrivateFieldGet(K,this).remove();_classPrivateFieldGet(Y,this)?.destroy();_classPrivateFieldSet(Y,this,null)}}function _pointerDown(t){t.stopPropagation()}function _focusIn(t){_classPrivateFieldGet(Q,this)._focusEventsAllowed=!1;stopEvent(t)}function _focusOut(t){_classPrivateFieldGet(Q,this)._focusEventsAllowed=!0;stopEvent(t)}function _addListenersToElement(t){const e=_classPrivateFieldGet(Q,this)._uiManager._signal;t.addEventListener("focusin",toolbar_assertClassBrand(et,this,_focusIn).bind(this),{capture:!0,signal:e});t.addEventListener("focusout",toolbar_assertClassBrand(et,this,_focusOut).bind(this),{capture:!0,signal:e});t.addEventListener("contextmenu",noContextMenu,{signal:e})}function _addDeleteButton(){const{editorType:t,_uiManager:e}=_classPrivateFieldGet(Q,this),i=document.createElement("button");i.className="delete";i.tabIndex=0;i.setAttribute("data-l10n-id",st._[t]);toolbar_assertClassBrand(et,this,_addListenersToElement).call(this,i);i.addEventListener("click",(t=>{e.delete()}),{signal:e._signal});_classPrivateFieldGet(J,this).append(i)}function _get_divider(t){const e=document.createElement("div");e.className="divider";return e}var it,st={_:null},rt=new WeakMap,nt=new WeakMap,ot=new WeakMap,lt=new WeakSet;class HighlightToolbar{constructor(t){_classPrivateMethodInitSpec(this,lt);_classPrivateFieldInitSpec(this,rt,null);_classPrivateFieldInitSpec(this,nt,null);_classPrivateFieldInitSpec(this,ot,void 0);_classPrivateFieldSet(ot,this,t)}show(t,e,i){const[a,s]=toolbar_assertClassBrand(lt,this,_getLastPoint).call(this,e,i),{style:r}=_classPrivateFieldGet(nt,this)||_classPrivateFieldSet(nt,this,toolbar_assertClassBrand(lt,this,_render).call(this));t.append(_classPrivateFieldGet(nt,this));r.insetInlineEnd=100*a+"%";r.top=`calc(${100*s}% + var(--editor-toolbar-vert-offset))`}hide(){_classPrivateFieldGet(nt,this).remove()}}function _render(){const t=_classPrivateFieldSet(nt,this,document.createElement("div"));t.className="editToolbar";t.setAttribute("role","toolbar");t.addEventListener("contextmenu",noContextMenu,{signal:_classPrivateFieldGet(ot,this)._signal});const e=_classPrivateFieldSet(rt,this,document.createElement("div"));e.className="buttons";t.append(e);toolbar_assertClassBrand(lt,this,_addHighlightButton).call(this);return t}function _getLastPoint(t,e){let i=0,a=0;for(const s of t){const t=s.y+s.height;if(ti){a=r;i=t}else e?r>a&&(a=r):r{_classPrivateFieldGet(ot,this).highlightSelection("floating_button")}),{signal:i});_classPrivateFieldGet(rt,this).append(t)}function tools_defineProperty(t,e,i){return(e=function tools_toPropertyKey(t){var e=function tools_toPrimitive(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function tools_classPrivateMethodInitSpec(t,e){tools_checkPrivateRedeclaration(t,e),e.add(t)}function tools_classPrivateFieldInitSpec(t,e,i){tools_checkPrivateRedeclaration(t,e),e.set(t,i)}function tools_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function tools_classPrivateFieldGet(t,e){return t.get(tools_assertClassBrand(t,e))}function tools_classPrivateFieldSet(t,e,i){return t.set(tools_assertClassBrand(t,e),i),i}function tools_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}function bindEvents(t,e,i){for(const a of i)e.addEventListener(a,t[a].bind(t))}var ct=new WeakMap;class IdManager{constructor(){tools_classPrivateFieldInitSpec(this,ct,0)}get id(){var t,e;return`pdfjs_internal_editor_${tools_classPrivateFieldSet(ct,this,(t=tools_classPrivateFieldGet(ct,this),e=t++,t)),e}`}}var dt=new WeakMap,ht=new WeakMap,ut=new WeakMap,_t=new WeakSet;class ImageManager{constructor(){tools_classPrivateMethodInitSpec(this,_t);tools_classPrivateFieldInitSpec(this,dt,getUuid());tools_classPrivateFieldInitSpec(this,ht,0);tools_classPrivateFieldInitSpec(this,ut,null)}static get _isSVGFittingCanvas(){const t=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),e=new Image;e.src='data:image/svg+xml;charset=UTF-8,';return shadow(this,"_isSVGFittingCanvas",e.decode().then((()=>{t.drawImage(e,0,0,1,1,0,0,1,3);return 0===new Uint32Array(t.getImageData(0,0,1,1).data.buffer)[0]})))}async getFromFile(t){const{lastModified:e,name:i,size:a,type:s}=t;return tools_assertClassBrand(_t,this,_get).call(this,`${e}_${i}_${a}_${s}`,t)}async getFromUrl(t){return tools_assertClassBrand(_t,this,_get).call(this,t,t)}async getFromBlob(t,e){const i=await e;return tools_assertClassBrand(_t,this,_get).call(this,t,i)}async getFromId(t){tools_classPrivateFieldGet(ut,this)||tools_classPrivateFieldSet(ut,this,new Map);const e=tools_classPrivateFieldGet(ut,this).get(t);if(!e)return null;if(e.bitmap){e.refCounter+=1;return e}if(e.file)return this.getFromFile(e.file);if(e.blobPromise){const{blobPromise:t}=e;delete e.blobPromise;return this.getFromBlob(e.id,t)}return this.getFromUrl(e.url)}getFromCanvas(t,e){var i,a;tools_classPrivateFieldGet(ut,this)||tools_classPrivateFieldSet(ut,this,new Map);let s=tools_classPrivateFieldGet(ut,this).get(t);if(s?.bitmap){s.refCounter+=1;return s}const r=new OffscreenCanvas(e.width,e.height);r.getContext("2d").drawImage(e,0,0);s={bitmap:r.transferToImageBitmap(),id:`image_${tools_classPrivateFieldGet(dt,this)}_${tools_classPrivateFieldSet(ht,this,(i=tools_classPrivateFieldGet(ht,this),a=i++,i)),a}`,refCounter:1,isSvg:!1};tools_classPrivateFieldGet(ut,this).set(t,s);tools_classPrivateFieldGet(ut,this).set(s.id,s);return s}getSvgUrl(t){const e=tools_classPrivateFieldGet(ut,this).get(t);return e?.isSvg?e.svgUrl:null}deleteId(t){tools_classPrivateFieldGet(ut,this)||tools_classPrivateFieldSet(ut,this,new Map);const e=tools_classPrivateFieldGet(ut,this).get(t);if(!e)return;e.refCounter-=1;if(0!==e.refCounter)return;const{bitmap:i}=e;if(!e.url&&!e.file){const t=new OffscreenCanvas(i.width,i.height);t.getContext("bitmaprenderer").transferFromImageBitmap(i);e.blobPromise=t.convertToBlob()}i.close?.();e.bitmap=null}isValidId(t){return t.startsWith(`image_${tools_classPrivateFieldGet(dt,this)}_`)}}it=ImageManager;async function _get(t,e){tools_classPrivateFieldGet(ut,this)||tools_classPrivateFieldSet(ut,this,new Map);let i=tools_classPrivateFieldGet(ut,this).get(t);if(null===i)return null;if(i?.bitmap){i.refCounter+=1;return i}try{var a,s;i||={bitmap:null,id:`image_${tools_classPrivateFieldGet(dt,this)}_${tools_classPrivateFieldSet(ht,this,(a=tools_classPrivateFieldGet(ht,this),s=a++,a)),s}`,refCounter:0,isSvg:!1};let t;if("string"==typeof e){i.url=e;t=await fetchData(e,"blob")}else e instanceof File?t=i.file=e:e instanceof Blob&&(t=e);if("image/svg+xml"===t.type){const e=it._isSVGFittingCanvas,a=new FileReader,s=new Image,r=new Promise(((t,r)=>{s.onload=()=>{i.bitmap=s;i.isSvg=!0;t()};a.onload=async()=>{const t=i.svgUrl=a.result;s.src=await e?`${t}#svgView(preserveAspectRatio(none))`:t};s.onerror=a.onerror=r}));a.readAsDataURL(t);await r}else i.bitmap=await createImageBitmap(t);i.refCounter=1}catch(t){warn(t);i=null}tools_classPrivateFieldGet(ut,this).set(t,i);i&&tools_classPrivateFieldGet(ut,this).set(i.id,i);return i}var pt=new WeakMap,ft=new WeakMap,gt=new WeakMap,vt=new WeakMap;class CommandManager{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:128;tools_classPrivateFieldInitSpec(this,pt,[]);tools_classPrivateFieldInitSpec(this,ft,!1);tools_classPrivateFieldInitSpec(this,gt,void 0);tools_classPrivateFieldInitSpec(this,vt,-1);tools_classPrivateFieldSet(gt,this,t)}add(t){let{cmd:e,undo:i,post:a,mustExec:s,type:r=NaN,overwriteIfSameType:n=!1,keepUndo:o=!1}=t;s&&e();if(tools_classPrivateFieldGet(ft,this))return;const l={cmd:e,undo:i,post:a,type:r};if(-1===tools_classPrivateFieldGet(vt,this)){tools_classPrivateFieldGet(pt,this).length>0&&(tools_classPrivateFieldGet(pt,this).length=0);tools_classPrivateFieldSet(vt,this,0);tools_classPrivateFieldGet(pt,this).push(l);return}if(n&&tools_classPrivateFieldGet(pt,this)[tools_classPrivateFieldGet(vt,this)].type===r){o&&(l.undo=tools_classPrivateFieldGet(pt,this)[tools_classPrivateFieldGet(vt,this)].undo);tools_classPrivateFieldGet(pt,this)[tools_classPrivateFieldGet(vt,this)]=l;return}const c=tools_classPrivateFieldGet(vt,this)+1;if(c===tools_classPrivateFieldGet(gt,this))tools_classPrivateFieldGet(pt,this).splice(0,1);else{tools_classPrivateFieldSet(vt,this,c);c=0;e--)if(tools_classPrivateFieldGet(pt,this)[e].type!==t){tools_classPrivateFieldGet(pt,this).splice(e+1,tools_classPrivateFieldGet(vt,this)-e);tools_classPrivateFieldSet(vt,this,e);return}tools_classPrivateFieldGet(pt,this).length=0;tools_classPrivateFieldSet(vt,this,-1)}}destroy(){tools_classPrivateFieldSet(pt,this,null)}}var mt=new WeakSet;class KeyboardManager{constructor(t){tools_classPrivateMethodInitSpec(this,mt);this.buffer=[];this.callbacks=new Map;this.allKeys=new Set;const{isMac:e}=util_FeatureTest.platform;for(const[i,a,s={}]of t)for(const t of i){const i=t.startsWith("mac+");if(e&&i){this.callbacks.set(t.slice(4),{callback:a,options:s});this.allKeys.add(t.split("+").at(-1))}else if(!e&&!i){this.callbacks.set(t,{callback:a,options:s});this.allKeys.add(t.split("+").at(-1))}}}exec(t,e){if(!this.allKeys.has(e.key))return;const i=this.callbacks.get(tools_assertClassBrand(mt,this,_serialize).call(this,e));if(!i)return;const{callback:a,options:{bubbles:s=!1,args:r=[],checker:n=null}}=i;if(!n||n(t,e)){a.bind(t,...r,e)();s||stopEvent(e)}}}function _serialize(t){t.altKey&&this.buffer.push("alt");t.ctrlKey&&this.buffer.push("ctrl");t.metaKey&&this.buffer.push("meta");t.shiftKey&&this.buffer.push("shift");this.buffer.push(t.key);const e=this.buffer.join("+");this.buffer.length=0;return e}class ColorManager{get _colors(){const t=new Map([["CanvasText",null],["Canvas",null]]);!function getColorValues(t){const e=document.createElement("span");e.style.visibility="hidden";e.style.colorScheme="only light";document.body.append(e);for(const i of t.keys()){e.style.color=i;const a=window.getComputedStyle(e).color;t.set(i,getRGB(a))}e.remove()}(t);return shadow(this,"_colors",t)}convert(t){const e=getRGB(t);if(!window.matchMedia("(forced-colors: active)").matches)return e;for(const[t,i]of this._colors)if(i.every(((t,i)=>t===e[i])))return ColorManager._colorsMapping.get(t);return e}getHexCode(t){const e=this._colors.get(t);return e?util_Util.makeHexColor(...e):t}}tools_defineProperty(ColorManager,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]));var Pt=new WeakMap,wt=new WeakMap,yt=new WeakMap,Ft=new WeakMap,bt=new WeakMap,St=new WeakMap,At=new WeakMap,xt=new WeakMap,Ct=new WeakMap,Et=new WeakMap,kt=new WeakMap,Gt=new WeakMap,Mt=new WeakMap,It=new WeakMap,Tt=new WeakMap,Rt=new WeakMap,Dt=new WeakMap,Bt=new WeakMap,Lt=new WeakMap,Ot=new WeakMap,Nt=new WeakMap,Wt=new WeakMap,Ut=new WeakMap,jt=new WeakMap,Ht=new WeakMap,zt=new WeakMap,$t=new WeakMap,Vt=new WeakMap,qt=new WeakMap,Xt=new WeakMap,Kt=new WeakMap,Yt=new WeakMap,Qt=new WeakMap,Jt=new WeakMap,Zt=new WeakMap,te=new WeakMap,ee=new WeakMap,ie=new WeakMap,ae=new WeakMap,se=new WeakMap,re=new WeakMap,ne=new WeakMap,oe=new WeakMap,le=new WeakMap,ce=new WeakSet;class AnnotationEditorUIManager{static get _keyboardManager(){const t=AnnotationEditorUIManager.prototype,arrowChecker=t=>tools_classPrivateFieldGet(ne,t).contains(tools_classPrivateFieldGet(ne,t).ownerDocument.activeElement)&&"BUTTON"!==tools_classPrivateFieldGet(ne,t).ownerDocument.activeElement.tagName&&t.hasSomethingToControl(),textInputChecker=(t,e)=>{let{target:i}=e;if(i instanceof HTMLInputElement){const{type:t}=i;return"text"!==t&&"number"!==t}return!0},e=this.TRANSLATE_SMALL,i=this.TRANSLATE_BIG;return shadow(this,"_keyboardManager",new KeyboardManager([[["ctrl+a","mac+meta+a"],t.selectAll,{checker:textInputChecker}],[["ctrl+z","mac+meta+z"],t.undo,{checker:textInputChecker}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],t.redo,{checker:textInputChecker}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],t.delete,{checker:textInputChecker}],[["Enter","mac+Enter"],t.addNewEditorFromKeyboard,{checker:(t,e)=>{let{target:i}=e;return!(i instanceof HTMLButtonElement)&&tools_classPrivateFieldGet(ne,t).contains(i)&&!t.isEnterHandled}}],[[" ","mac+ "],t.addNewEditorFromKeyboard,{checker:(t,e)=>{let{target:i}=e;return!(i instanceof HTMLButtonElement)&&tools_classPrivateFieldGet(ne,t).contains(tools_classPrivateFieldGet(ne,t).ownerDocument.activeElement)}}],[["Escape","mac+Escape"],t.unselectAll],[["ArrowLeft","mac+ArrowLeft"],t.translateSelectedEditors,{args:[-e,0],checker:arrowChecker}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t.translateSelectedEditors,{args:[-i,0],checker:arrowChecker}],[["ArrowRight","mac+ArrowRight"],t.translateSelectedEditors,{args:[e,0],checker:arrowChecker}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t.translateSelectedEditors,{args:[i,0],checker:arrowChecker}],[["ArrowUp","mac+ArrowUp"],t.translateSelectedEditors,{args:[0,-e],checker:arrowChecker}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t.translateSelectedEditors,{args:[0,-i],checker:arrowChecker}],[["ArrowDown","mac+ArrowDown"],t.translateSelectedEditors,{args:[0,e],checker:arrowChecker}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t.translateSelectedEditors,{args:[0,i],checker:arrowChecker}]]))}constructor(t,e,i,a,s,r,n,o,l,c,d,h,u,_){tools_classPrivateMethodInitSpec(this,ce);tools_classPrivateFieldInitSpec(this,Pt,new AbortController);tools_classPrivateFieldInitSpec(this,wt,null);tools_classPrivateFieldInitSpec(this,yt,new Map);tools_classPrivateFieldInitSpec(this,Ft,new Map);tools_classPrivateFieldInitSpec(this,bt,null);tools_classPrivateFieldInitSpec(this,St,null);tools_classPrivateFieldInitSpec(this,At,null);tools_classPrivateFieldInitSpec(this,xt,new CommandManager);tools_classPrivateFieldInitSpec(this,Ct,null);tools_classPrivateFieldInitSpec(this,Et,null);tools_classPrivateFieldInitSpec(this,kt,0);tools_classPrivateFieldInitSpec(this,Gt,new Set);tools_classPrivateFieldInitSpec(this,Mt,null);tools_classPrivateFieldInitSpec(this,It,null);tools_classPrivateFieldInitSpec(this,Tt,new Set);tools_defineProperty(this,"_editorUndoBar",null);tools_classPrivateFieldInitSpec(this,Rt,!1);tools_classPrivateFieldInitSpec(this,Dt,!1);tools_classPrivateFieldInitSpec(this,Bt,!1);tools_classPrivateFieldInitSpec(this,Lt,null);tools_classPrivateFieldInitSpec(this,Ot,null);tools_classPrivateFieldInitSpec(this,Nt,null);tools_classPrivateFieldInitSpec(this,Wt,null);tools_classPrivateFieldInitSpec(this,Ut,!1);tools_classPrivateFieldInitSpec(this,jt,null);tools_classPrivateFieldInitSpec(this,Ht,new IdManager);tools_classPrivateFieldInitSpec(this,zt,!1);tools_classPrivateFieldInitSpec(this,$t,!1);tools_classPrivateFieldInitSpec(this,Vt,null);tools_classPrivateFieldInitSpec(this,qt,null);tools_classPrivateFieldInitSpec(this,Xt,null);tools_classPrivateFieldInitSpec(this,Kt,null);tools_classPrivateFieldInitSpec(this,Yt,null);tools_classPrivateFieldInitSpec(this,Qt,f.NONE);tools_classPrivateFieldInitSpec(this,Jt,new Set);tools_classPrivateFieldInitSpec(this,Zt,null);tools_classPrivateFieldInitSpec(this,te,null);tools_classPrivateFieldInitSpec(this,ee,null);tools_classPrivateFieldInitSpec(this,ie,null);tools_classPrivateFieldInitSpec(this,ae,{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1});tools_classPrivateFieldInitSpec(this,se,[0,0]);tools_classPrivateFieldInitSpec(this,re,null);tools_classPrivateFieldInitSpec(this,ne,null);tools_classPrivateFieldInitSpec(this,oe,null);tools_classPrivateFieldInitSpec(this,le,null);const p=this._signal=tools_classPrivateFieldGet(Pt,this).signal;tools_classPrivateFieldSet(ne,this,t);tools_classPrivateFieldSet(oe,this,e);tools_classPrivateFieldSet(bt,this,i);tools_classPrivateFieldSet(te,this,a);this._eventBus=s;s._on("editingaction",this.onEditingAction.bind(this),{signal:p});s._on("pagechanging",this.onPageChanging.bind(this),{signal:p});s._on("scalechanging",this.onScaleChanging.bind(this),{signal:p});s._on("rotationchanging",this.onRotationChanging.bind(this),{signal:p});s._on("setpreference",this.onSetPreference.bind(this),{signal:p});s._on("switchannotationeditorparams",(t=>this.updateParams(t.type,t.value)),{signal:p});tools_assertClassBrand(ce,this,_addSelectionListener).call(this);tools_assertClassBrand(ce,this,_addDragAndDropListeners).call(this);tools_assertClassBrand(ce,this,_addKeyboardManager).call(this);tools_classPrivateFieldSet(St,this,r.annotationStorage);tools_classPrivateFieldSet(Lt,this,r.filterFactory);tools_classPrivateFieldSet(ee,this,n);tools_classPrivateFieldSet(Wt,this,o||null);tools_classPrivateFieldSet(Rt,this,l);tools_classPrivateFieldSet(Dt,this,c);tools_classPrivateFieldSet(Bt,this,d);tools_classPrivateFieldSet(Yt,this,h||null);this.viewParameters={realScale:PixelsPerInch.PDF_TO_CSS_UNITS,rotation:0};this.isShiftKeyDown=!1;this._editorUndoBar=u||null;this._supportsPinchToZoom=!1!==_}destroy(){tools_classPrivateFieldGet(le,this)?.resolve();tools_classPrivateFieldSet(le,this,null);tools_classPrivateFieldGet(Pt,this)?.abort();tools_classPrivateFieldSet(Pt,this,null);this._signal=null;for(const t of tools_classPrivateFieldGet(Ft,this).values())t.destroy();tools_classPrivateFieldGet(Ft,this).clear();tools_classPrivateFieldGet(yt,this).clear();tools_classPrivateFieldGet(Tt,this).clear();tools_classPrivateFieldGet(Kt,this)?.clear();tools_classPrivateFieldSet(wt,this,null);tools_classPrivateFieldGet(Jt,this).clear();tools_classPrivateFieldGet(xt,this).destroy();tools_classPrivateFieldGet(bt,this)?.destroy();tools_classPrivateFieldGet(te,this)?.destroy();tools_classPrivateFieldGet(jt,this)?.hide();tools_classPrivateFieldSet(jt,this,null);tools_classPrivateFieldGet(Xt,this)?.destroy();tools_classPrivateFieldSet(Xt,this,null);if(tools_classPrivateFieldGet(Ot,this)){activeWindow.clearTimeout(tools_classPrivateFieldGet(Ot,this));tools_classPrivateFieldSet(Ot,this,null)}if(tools_classPrivateFieldGet(re,this)){activeWindow.clearTimeout(tools_classPrivateFieldGet(re,this));tools_classPrivateFieldSet(re,this,null)}this._editorUndoBar?.destroy()}combinedSignal(t){return AbortSignal.any([this._signal,t.signal])}get mlManager(){return tools_classPrivateFieldGet(Yt,this)}get useNewAltTextFlow(){return tools_classPrivateFieldGet(Dt,this)}get useNewAltTextWhenAddingImage(){return tools_classPrivateFieldGet(Bt,this)}get hcmFilter(){return shadow(this,"hcmFilter",tools_classPrivateFieldGet(ee,this)?tools_classPrivateFieldGet(Lt,this).addHCMFilter(tools_classPrivateFieldGet(ee,this).foreground,tools_classPrivateFieldGet(ee,this).background):"none")}get direction(){return shadow(this,"direction",getComputedStyle(tools_classPrivateFieldGet(ne,this)).direction)}get highlightColors(){return shadow(this,"highlightColors",tools_classPrivateFieldGet(Wt,this)?new Map(tools_classPrivateFieldGet(Wt,this).split(",").map((t=>t.split("=").map((t=>t.trim()))))):null)}get highlightColorNames(){return shadow(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,(t=>t.reverse()))):null)}setCurrentDrawingSession(t){if(t){this.unselectAll();this.disableUserSelect(!0)}else this.disableUserSelect(!1);tools_classPrivateFieldSet(Et,this,t)}setMainHighlightColorPicker(t){tools_classPrivateFieldSet(Xt,this,t)}editAltText(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];tools_classPrivateFieldGet(bt,this)?.editAltText(this,t,e)}getSignature(t){tools_classPrivateFieldGet(te,this)?.getSignature({uiManager:this,editor:t})}get signatureManager(){return tools_classPrivateFieldGet(te,this)}switchToMode(t,e){this._eventBus.on("annotationeditormodechanged",e,{once:!0,signal:this._signal});this._eventBus.dispatch("showannotationeditorui",{source:this,mode:t})}setPreference(t,e){this._eventBus.dispatch("setpreference",{source:this,name:t,value:e})}onSetPreference(t){let{name:e,value:i}=t;if("enableNewAltTextWhenAddingImage"===e)tools_classPrivateFieldSet(Bt,this,i)}onPageChanging(t){let{pageNumber:e}=t;tools_classPrivateFieldSet(kt,this,e-1)}focusMainContainer(){tools_classPrivateFieldGet(ne,this).focus()}findParent(t,e){for(const i of tools_classPrivateFieldGet(Ft,this).values()){const{x:a,y:s,width:r,height:n}=i.div.getBoundingClientRect();if(t>=a&&t<=a+r&&e>=s&&e<=s+n)return i}return null}disableUserSelect(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];tools_classPrivateFieldGet(oe,this).classList.toggle("noUserSelect",t)}addShouldRescale(t){tools_classPrivateFieldGet(Tt,this).add(t)}removeShouldRescale(t){tools_classPrivateFieldGet(Tt,this).delete(t)}onScaleChanging(t){let{scale:e}=t;this.commitOrRemove();this.viewParameters.realScale=e*PixelsPerInch.PDF_TO_CSS_UNITS;for(const t of tools_classPrivateFieldGet(Tt,this))t.onScaleChanging();tools_classPrivateFieldGet(Et,this)?.onScaleChanging()}onRotationChanging(t){let{pagesRotation:e}=t;this.commitOrRemove();this.viewParameters.rotation=e}highlightSelection(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const e=tools_classPrivateFieldGet(ne,this).ownerDocument.getSelection();if(!e||e.isCollapsed)return;const{anchorNode:i,anchorOffset:a,focusNode:s,focusOffset:r}=e,n=e.toString(),o=tools_assertClassBrand(ce,this,_getAnchorElementForSelection).call(this,e).closest(".textLayer"),l=this.getSelectionBoxes(o);if(!l)return;e.empty();const c=tools_assertClassBrand(ce,this,_getLayerForTextLayer).call(this,o),d=tools_classPrivateFieldGet(Qt,this)===f.NONE,callback=()=>{c?.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:t,boxes:l,anchorNode:i,anchorOffset:a,focusNode:s,focusOffset:r,text:n});d&&this.showAllEditors("highlight",!0,!0)};d?this.switchToMode(f.HIGHLIGHT,callback):callback()}addToAnnotationStorage(t){t.isEmpty()||!tools_classPrivateFieldGet(St,this)||tools_classPrivateFieldGet(St,this).has(t.id)||tools_classPrivateFieldGet(St,this).setValue(t.id,t)}blur(){this.isShiftKeyDown=!1;if(tools_classPrivateFieldGet(Ut,this)){tools_classPrivateFieldSet(Ut,this,!1);tools_assertClassBrand(ce,this,_onSelectEnd).call(this,"main_toolbar")}if(!this.hasSelection)return;const{activeElement:t}=document;for(const e of tools_classPrivateFieldGet(Jt,this))if(e.div.contains(t)){tools_classPrivateFieldSet(qt,this,[e,t]);e._focusEventsAllowed=!1;break}}focus(){if(!tools_classPrivateFieldGet(qt,this))return;const[t,e]=tools_classPrivateFieldGet(qt,this);tools_classPrivateFieldSet(qt,this,null);e.addEventListener("focusin",(()=>{t._focusEventsAllowed=!0}),{once:!0,signal:this._signal});e.focus()}addEditListeners(){tools_assertClassBrand(ce,this,_addKeyboardManager).call(this);tools_assertClassBrand(ce,this,_addCopyPasteListeners).call(this)}removeEditListeners(){tools_assertClassBrand(ce,this,_removeKeyboardManager).call(this);tools_assertClassBrand(ce,this,_removeCopyPasteListeners).call(this)}dragOver(t){for(const{type:e}of t.dataTransfer.items)for(const i of tools_classPrivateFieldGet(It,this))if(i.isHandlingMimeForPasting(e)){t.dataTransfer.dropEffect="copy";t.preventDefault();return}}drop(t){for(const e of t.dataTransfer.items)for(const i of tools_classPrivateFieldGet(It,this))if(i.isHandlingMimeForPasting(e.type)){i.paste(e,this.currentLayer);t.preventDefault();return}}copy(t){t.preventDefault();tools_classPrivateFieldGet(wt,this)?.commitOrRemove();if(!this.hasSelection)return;const e=[];for(const t of tools_classPrivateFieldGet(Jt,this)){const i=t.serialize(!0);i&&e.push(i)}0!==e.length&&t.clipboardData.setData("application/pdfjs",JSON.stringify(e))}cut(t){this.copy(t);this.delete()}async paste(t){t.preventDefault();const{clipboardData:e}=t;for(const t of e.items)for(const e of tools_classPrivateFieldGet(It,this))if(e.isHandlingMimeForPasting(t.type)){e.paste(t,this.currentLayer);return}let i=e.getData("application/pdfjs");if(!i)return;try{i=JSON.parse(i)}catch(t){warn(`paste: "${t.message}".`);return}if(!Array.isArray(i))return;this.unselectAll();const a=this.currentLayer;try{const t=[];for(const e of i){const i=await a.deserialize(e);if(!i)return;t.push(i)}const cmd=()=>{for(const e of t)tools_assertClassBrand(ce,this,_addEditorToLayer).call(this,e);tools_assertClassBrand(ce,this,_selectEditors).call(this,t)},undo=()=>{for(const e of t)e.remove()};this.addCommands({cmd,undo,mustExec:!0})}catch(t){warn(`paste: "${t.message}".`)}}keydown(t){this.isShiftKeyDown||"Shift"!==t.key||(this.isShiftKeyDown=!0);tools_classPrivateFieldGet(Qt,this)===f.NONE||this.isEditorHandlingKeyboard||AnnotationEditorUIManager._keyboardManager.exec(this,t)}keyup(t){if(this.isShiftKeyDown&&"Shift"===t.key){this.isShiftKeyDown=!1;if(tools_classPrivateFieldGet(Ut,this)){tools_classPrivateFieldSet(Ut,this,!1);tools_assertClassBrand(ce,this,_onSelectEnd).call(this,"main_toolbar")}}}onEditingAction(t){let{name:e}=t;switch(e){case"undo":case"redo":case"delete":case"selectAll":this[e]();break;case"highlightSelection":this.highlightSelection("context_menu")}}setEditingState(t){if(t){tools_assertClassBrand(ce,this,_addFocusManager).call(this);tools_assertClassBrand(ce,this,_addCopyPasteListeners).call(this);tools_assertClassBrand(ce,this,_dispatchUpdateStates).call(this,{isEditing:tools_classPrivateFieldGet(Qt,this)!==f.NONE,isEmpty:tools_assertClassBrand(ce,this,_isEmpty).call(this),hasSomethingToUndo:tools_classPrivateFieldGet(xt,this).hasSomethingToUndo(),hasSomethingToRedo:tools_classPrivateFieldGet(xt,this).hasSomethingToRedo(),hasSelectedEditor:!1})}else{tools_assertClassBrand(ce,this,_removeFocusManager).call(this);tools_assertClassBrand(ce,this,_removeCopyPasteListeners).call(this);tools_assertClassBrand(ce,this,_dispatchUpdateStates).call(this,{isEditing:!1});this.disableUserSelect(!1)}}registerEditorTypes(t){if(!tools_classPrivateFieldGet(It,this)){tools_classPrivateFieldSet(It,this,t);for(const t of tools_classPrivateFieldGet(It,this))tools_assertClassBrand(ce,this,_dispatchUpdateUI).call(this,t.defaultPropertiesToUpdate)}}getId(){return tools_classPrivateFieldGet(Ht,this).id}get currentLayer(){return tools_classPrivateFieldGet(Ft,this).get(tools_classPrivateFieldGet(kt,this))}getLayer(t){return tools_classPrivateFieldGet(Ft,this).get(t)}get currentPageIndex(){return tools_classPrivateFieldGet(kt,this)}addLayer(t){tools_classPrivateFieldGet(Ft,this).set(t.pageIndex,t);tools_classPrivateFieldGet(zt,this)?t.enable():t.disable()}removeLayer(t){tools_classPrivateFieldGet(Ft,this).delete(t.pageIndex)}async updateMode(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(tools_classPrivateFieldGet(Qt,this)!==t){if(tools_classPrivateFieldGet(le,this)){await tools_classPrivateFieldGet(le,this).promise;if(!tools_classPrivateFieldGet(le,this))return}tools_classPrivateFieldSet(le,this,Promise.withResolvers());tools_classPrivateFieldGet(Et,this)?.commitOrRemove();tools_classPrivateFieldSet(Qt,this,t);if(t!==f.NONE){t===f.SIGNATURE&&await(tools_classPrivateFieldGet(te,this)?.loadSignatures());this.setEditingState(!0);await tools_assertClassBrand(ce,this,_enableAll).call(this);this.unselectAll();for(const e of tools_classPrivateFieldGet(Ft,this).values())e.updateMode(t);if(e){for(const t of tools_classPrivateFieldGet(yt,this).values())if(t.annotationElementId===e||t.id===e){this.setSelected(t);t.enterInEditMode()}else t.unselect();tools_classPrivateFieldGet(le,this).resolve()}else{i&&this.addNewEditorFromKeyboard();tools_classPrivateFieldGet(le,this).resolve()}}else{this.setEditingState(!1);tools_assertClassBrand(ce,this,_disableAll).call(this);this._editorUndoBar?.hide();tools_classPrivateFieldGet(le,this).resolve()}}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(t){t.mode!==tools_classPrivateFieldGet(Qt,this)&&this._eventBus.dispatch("switchannotationeditormode",{source:this,...t})}updateParams(t,e){if(tools_classPrivateFieldGet(It,this)){switch(t){case g.CREATE:this.currentLayer.addNewEditor(e);return;case g.HIGHLIGHT_DEFAULT_COLOR:tools_classPrivateFieldGet(Xt,this)?.updateColor(e);break;case g.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}});(tools_classPrivateFieldGet(ie,this)||tools_classPrivateFieldSet(ie,this,new Map)).set(t,e);this.showAllEditors("highlight",e)}for(const i of tools_classPrivateFieldGet(Jt,this))i.updateParams(t,e);for(const i of tools_classPrivateFieldGet(It,this))i.updateDefaultParams(t,e)}}showAllEditors(t,e){for(const i of tools_classPrivateFieldGet(yt,this).values())i.editorType===t&&i.show(e);(tools_classPrivateFieldGet(ie,this)?.get(g.HIGHLIGHT_SHOW_ALL)??!0)!==e&&tools_assertClassBrand(ce,this,_dispatchUpdateUI).call(this,[[g.HIGHLIGHT_SHOW_ALL,e]])}enableWaiting(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(tools_classPrivateFieldGet($t,this)!==t){tools_classPrivateFieldSet($t,this,t);for(const e of tools_classPrivateFieldGet(Ft,this).values()){t?e.disableClick():e.enableClick();e.div.classList.toggle("waiting",t)}}}getEditors(t){const e=[];for(const i of tools_classPrivateFieldGet(yt,this).values())i.pageIndex===t&&e.push(i);return e}getEditor(t){return tools_classPrivateFieldGet(yt,this).get(t)}addEditor(t){tools_classPrivateFieldGet(yt,this).set(t.id,t)}removeEditor(t){if(t.div.contains(t.div.ownerDocument.activeElement)){tools_classPrivateFieldGet(Ot,this)&&activeWindow.clearTimeout(tools_classPrivateFieldGet(Ot,this));tools_classPrivateFieldSet(Ot,this,activeWindow.setTimeout((()=>{this.focusMainContainer();tools_classPrivateFieldSet(Ot,this,null)}),0))}tools_classPrivateFieldGet(yt,this).delete(t.id);t.annotationElementId&&tools_classPrivateFieldGet(Kt,this)?.delete(t.annotationElementId);this.unselect(t);t.annotationElementId&&tools_classPrivateFieldGet(Gt,this).has(t.annotationElementId)||tools_classPrivateFieldGet(St,this)?.remove(t.id)}addDeletedAnnotationElement(t){tools_classPrivateFieldGet(Gt,this).add(t.annotationElementId);this.addChangedExistingAnnotation(t);t.deleted=!0}isDeletedAnnotationElement(t){return tools_classPrivateFieldGet(Gt,this).has(t)}removeDeletedAnnotationElement(t){tools_classPrivateFieldGet(Gt,this).delete(t.annotationElementId);this.removeChangedExistingAnnotation(t);t.deleted=!1}setActiveEditor(t){if(tools_classPrivateFieldGet(wt,this)!==t){tools_classPrivateFieldSet(wt,this,t);t&&tools_assertClassBrand(ce,this,_dispatchUpdateUI).call(this,t.propertiesToUpdate)}}updateUI(t){(function tools_classPrivateGetter(t,e,i){return i(tools_assertClassBrand(t,e))})(ce,this,_get_lastSelectedEditor)===t&&tools_assertClassBrand(ce,this,_dispatchUpdateUI).call(this,t.propertiesToUpdate)}updateUIForDefaultProperties(t){tools_assertClassBrand(ce,this,_dispatchUpdateUI).call(this,t.defaultPropertiesToUpdate)}toggleSelected(t){if(tools_classPrivateFieldGet(Jt,this).has(t)){tools_classPrivateFieldGet(Jt,this).delete(t);t.unselect();tools_assertClassBrand(ce,this,_dispatchUpdateStates).call(this,{hasSelectedEditor:this.hasSelection})}else{tools_classPrivateFieldGet(Jt,this).add(t);t.select();tools_assertClassBrand(ce,this,_dispatchUpdateUI).call(this,t.propertiesToUpdate);tools_assertClassBrand(ce,this,_dispatchUpdateStates).call(this,{hasSelectedEditor:!0})}}setSelected(t){tools_classPrivateFieldGet(Et,this)?.commitOrRemove();for(const e of tools_classPrivateFieldGet(Jt,this))e!==t&&e.unselect();tools_classPrivateFieldGet(Jt,this).clear();tools_classPrivateFieldGet(Jt,this).add(t);t.select();tools_assertClassBrand(ce,this,_dispatchUpdateUI).call(this,t.propertiesToUpdate);tools_assertClassBrand(ce,this,_dispatchUpdateStates).call(this,{hasSelectedEditor:!0})}isSelected(t){return tools_classPrivateFieldGet(Jt,this).has(t)}get firstSelectedEditor(){return tools_classPrivateFieldGet(Jt,this).values().next().value}unselect(t){t.unselect();tools_classPrivateFieldGet(Jt,this).delete(t);tools_assertClassBrand(ce,this,_dispatchUpdateStates).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return 0!==tools_classPrivateFieldGet(Jt,this).size}get isEnterHandled(){return 1===tools_classPrivateFieldGet(Jt,this).size&&this.firstSelectedEditor.isEnterHandled}undo(){tools_classPrivateFieldGet(xt,this).undo();tools_assertClassBrand(ce,this,_dispatchUpdateStates).call(this,{hasSomethingToUndo:tools_classPrivateFieldGet(xt,this).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:tools_assertClassBrand(ce,this,_isEmpty).call(this)});this._editorUndoBar?.hide()}redo(){tools_classPrivateFieldGet(xt,this).redo();tools_assertClassBrand(ce,this,_dispatchUpdateStates).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:tools_classPrivateFieldGet(xt,this).hasSomethingToRedo(),isEmpty:tools_assertClassBrand(ce,this,_isEmpty).call(this)})}addCommands(t){tools_classPrivateFieldGet(xt,this).add(t);tools_assertClassBrand(ce,this,_dispatchUpdateStates).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:tools_assertClassBrand(ce,this,_isEmpty).call(this)})}cleanUndoStack(t){tools_classPrivateFieldGet(xt,this).cleanType(t)}delete(){this.commitOrRemove();const t=this.currentLayer?.endDrawingSession(!0);if(!this.hasSelection&&!t)return;const e=t?[t]:[...tools_classPrivateFieldGet(Jt,this)],undo=()=>{for(const t of e)tools_assertClassBrand(ce,this,_addEditorToLayer).call(this,t)};this.addCommands({cmd:()=>{this._editorUndoBar?.show(undo,1===e.length?e[0].editorType:e.length);for(const t of e)t.remove()},undo,mustExec:!0})}commitOrRemove(){tools_classPrivateFieldGet(wt,this)?.commitOrRemove()}hasSomethingToControl(){return tools_classPrivateFieldGet(wt,this)||this.hasSelection}selectAll(){for(const t of tools_classPrivateFieldGet(Jt,this))t.commit();tools_assertClassBrand(ce,this,_selectEditors).call(this,tools_classPrivateFieldGet(yt,this).values())}unselectAll(){if(tools_classPrivateFieldGet(wt,this)){tools_classPrivateFieldGet(wt,this).commitOrRemove();if(tools_classPrivateFieldGet(Qt,this)!==f.NONE)return}if(!tools_classPrivateFieldGet(Et,this)?.commitOrRemove()&&this.hasSelection){for(const t of tools_classPrivateFieldGet(Jt,this))t.unselect();tools_classPrivateFieldGet(Jt,this).clear();tools_assertClassBrand(ce,this,_dispatchUpdateStates).call(this,{hasSelectedEditor:!1})}}translateSelectedEditors(t,e){arguments.length>2&&void 0!==arguments[2]&&arguments[2]||this.commitOrRemove();if(!this.hasSelection)return;tools_classPrivateFieldGet(se,this)[0]+=t;tools_classPrivateFieldGet(se,this)[1]+=e;const[i,a]=tools_classPrivateFieldGet(se,this),s=[...tools_classPrivateFieldGet(Jt,this)];tools_classPrivateFieldGet(re,this)&&activeWindow.clearTimeout(tools_classPrivateFieldGet(re,this));tools_classPrivateFieldSet(re,this,activeWindow.setTimeout((()=>{tools_classPrivateFieldSet(re,this,null);tools_classPrivateFieldGet(se,this)[0]=tools_classPrivateFieldGet(se,this)[1]=0;this.addCommands({cmd:()=>{for(const t of s)if(tools_classPrivateFieldGet(yt,this).has(t.id)){t.translateInPage(i,a);t.translationDone()}},undo:()=>{for(const t of s)if(tools_classPrivateFieldGet(yt,this).has(t.id)){t.translateInPage(-i,-a);t.translationDone()}},mustExec:!1})}),1e3));for(const i of s){i.translateInPage(t,e);i.translationDone()}}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0);tools_classPrivateFieldSet(Mt,this,new Map);for(const t of tools_classPrivateFieldGet(Jt,this))tools_classPrivateFieldGet(Mt,this).set(t,{savedX:t.x,savedY:t.y,savedPageIndex:t.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!tools_classPrivateFieldGet(Mt,this))return!1;this.disableUserSelect(!1);const t=tools_classPrivateFieldGet(Mt,this);tools_classPrivateFieldSet(Mt,this,null);let e=!1;for(const[{x:i,y:a,pageIndex:s},r]of t){r.newX=i;r.newY=a;r.newPageIndex=s;e||=i!==r.savedX||a!==r.savedY||s!==r.savedPageIndex}if(!e)return!1;const move=(t,e,i,a)=>{if(tools_classPrivateFieldGet(yt,this).has(t.id)){const s=tools_classPrivateFieldGet(Ft,this).get(a);if(s)t._setParentAndPosition(s,e,i);else{t.pageIndex=a;t.x=e;t.y=i}}};this.addCommands({cmd:()=>{for(const[e,{newX:i,newY:a,newPageIndex:s}]of t)move(e,i,a,s)},undo:()=>{for(const[e,{savedX:i,savedY:a,savedPageIndex:s}]of t)move(e,i,a,s)},mustExec:!0});return!0}dragSelectedEditors(t,e){if(tools_classPrivateFieldGet(Mt,this))for(const i of tools_classPrivateFieldGet(Mt,this).keys())i.drag(t,e)}rebuild(t){if(null===t.parent){const e=this.getLayer(t.pageIndex);if(e){e.changeParent(t);e.addOrRebuild(t)}else{this.addEditor(t);this.addToAnnotationStorage(t);t.rebuild()}}else t.parent.addOrRebuild(t)}get isEditorHandlingKeyboard(){return this.getActive()?.shouldGetKeyboardEvents()||1===tools_classPrivateFieldGet(Jt,this).size&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(t){return tools_classPrivateFieldGet(wt,this)===t}getActive(){return tools_classPrivateFieldGet(wt,this)}getMode(){return tools_classPrivateFieldGet(Qt,this)}get imageManager(){return shadow(this,"imageManager",new ImageManager)}getSelectionBoxes(t){if(!t)return null;const e=tools_classPrivateFieldGet(ne,this).ownerDocument.getSelection();for(let i=0,a=e.rangeCount;i({x:(e-a)/r,y:1-(t+n-i)/s,width:o/r,height:n/s});break;case"180":n=(t,e,n,o)=>({x:1-(t+n-i)/s,y:1-(e+o-a)/r,width:n/s,height:o/r});break;case"270":n=(t,e,n,o)=>({x:1-(e+o-a)/r,y:(t-i)/s,width:o/r,height:n/s});break;default:n=(t,e,n,o)=>({x:(t-i)/s,y:(e-a)/r,width:n/s,height:o/r})}const o=[];for(let t=0,i=e.rangeCount;t{if("pointerup"!==i.type||0===i.button){e.abort();t?.toggleDrawing(!0);"pointerup"===i.type&&tools_assertClassBrand(ce,this,_onSelectEnd).call(this,"main_toolbar")}};window.addEventListener("pointerup",pointerup,{signal:a});window.addEventListener("blur",pointerup,{signal:a})}}}else if(tools_classPrivateFieldGet(Zt,this)){tools_classPrivateFieldGet(jt,this)?.hide();tools_classPrivateFieldSet(Zt,this,null);tools_assertClassBrand(ce,this,_dispatchUpdateStates).call(this,{hasSelectedText:!1})}}function _onSelectEnd(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";tools_classPrivateFieldGet(Qt,this)===f.HIGHLIGHT?this.highlightSelection(t):tools_classPrivateFieldGet(Rt,this)&&tools_assertClassBrand(ce,this,_displayHighlightToolbar).call(this)}function _addSelectionListener(){tools_classPrivateFieldGet(ne,this).ownerDocument.addEventListener("selectionchange",tools_assertClassBrand(ce,this,_selectionChange).bind(this),{signal:this._signal})}function _addFocusManager(){if(tools_classPrivateFieldGet(Nt,this))return;tools_classPrivateFieldSet(Nt,this,new AbortController);const t=this.combinedSignal(tools_classPrivateFieldGet(Nt,this));window.addEventListener("focus",this.focus.bind(this),{signal:t});window.addEventListener("blur",this.blur.bind(this),{signal:t})}function _removeFocusManager(){tools_classPrivateFieldGet(Nt,this)?.abort();tools_classPrivateFieldSet(Nt,this,null)}function _addKeyboardManager(){if(tools_classPrivateFieldGet(Vt,this))return;tools_classPrivateFieldSet(Vt,this,new AbortController);const t=this.combinedSignal(tools_classPrivateFieldGet(Vt,this));window.addEventListener("keydown",this.keydown.bind(this),{signal:t});window.addEventListener("keyup",this.keyup.bind(this),{signal:t})}function _removeKeyboardManager(){tools_classPrivateFieldGet(Vt,this)?.abort();tools_classPrivateFieldSet(Vt,this,null)}function _addCopyPasteListeners(){if(tools_classPrivateFieldGet(Ct,this))return;tools_classPrivateFieldSet(Ct,this,new AbortController);const t=this.combinedSignal(tools_classPrivateFieldGet(Ct,this)),e=tools_classPrivateFieldGet(ne,this).ownerDocument;e.addEventListener("copy",this.copy.bind(this),{signal:t});e.addEventListener("cut",this.cut.bind(this),{signal:t});e.addEventListener("paste",this.paste.bind(this),{signal:t})}function _removeCopyPasteListeners(){tools_classPrivateFieldGet(Ct,this)?.abort();tools_classPrivateFieldSet(Ct,this,null)}function _addDragAndDropListeners(){const t=this._signal,e=tools_classPrivateFieldGet(ne,this).ownerDocument;e.addEventListener("dragover",this.dragOver.bind(this),{signal:t});e.addEventListener("drop",this.drop.bind(this),{signal:t})}function _dispatchUpdateStates(t){if(Object.entries(t).some((t=>{let[e,i]=t;return tools_classPrivateFieldGet(ae,this)[e]!==i}))){this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(tools_classPrivateFieldGet(ae,this),t)});tools_classPrivateFieldGet(Qt,this)===f.HIGHLIGHT&&!1===t.hasSelectedEditor&&tools_assertClassBrand(ce,this,_dispatchUpdateUI).call(this,[[g.HIGHLIGHT_FREE,!0]])}}function _dispatchUpdateUI(t){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:t})}async function _enableAll(){if(!tools_classPrivateFieldGet(zt,this)){tools_classPrivateFieldSet(zt,this,!0);const t=[];for(const e of tools_classPrivateFieldGet(Ft,this).values())t.push(e.enable());await Promise.all(t);for(const t of tools_classPrivateFieldGet(yt,this).values())t.enable()}}function _disableAll(){this.unselectAll();if(tools_classPrivateFieldGet(zt,this)){tools_classPrivateFieldSet(zt,this,!1);for(const t of tools_classPrivateFieldGet(Ft,this).values())t.disable();for(const t of tools_classPrivateFieldGet(yt,this).values())t.disable()}}function _addEditorToLayer(t){const e=tools_classPrivateFieldGet(Ft,this).get(t.pageIndex);if(e)e.addOrRebuild(t);else{this.addEditor(t);this.addToAnnotationStorage(t)}}function _get_lastSelectedEditor(t){let e=null;for(e of tools_classPrivateFieldGet(Jt,t));return e}function _isEmpty(){if(0===tools_classPrivateFieldGet(yt,this).size)return!0;if(1===tools_classPrivateFieldGet(yt,this).size)for(const t of tools_classPrivateFieldGet(yt,this).values())return t.isEmpty();return!1}function _selectEditors(t){for(const t of tools_classPrivateFieldGet(Jt,this))t.unselect();tools_classPrivateFieldGet(Jt,this).clear();for(const e of t)if(!e.isEmpty()){tools_classPrivateFieldGet(Jt,this).add(e);e.select()}tools_assertClassBrand(ce,this,_dispatchUpdateStates).call(this,{hasSelectedEditor:this.hasSelection})}tools_defineProperty(AnnotationEditorUIManager,"TRANSLATE_SMALL",1);tools_defineProperty(AnnotationEditorUIManager,"TRANSLATE_BIG",10);function alt_text_classPrivateFieldInitSpec(t,e,i){alt_text_checkPrivateRedeclaration(t,e),e.set(t,i)}function alt_text_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function alt_text_classPrivateGetter(t,e,i){return i(alt_text_assertClassBrand(t,e))}function alt_text_classPrivateFieldGet(t,e){return t.get(alt_text_assertClassBrand(t,e))}function alt_text_classPrivateFieldSet(t,e,i){return t.set(alt_text_assertClassBrand(t,e),i),i}function alt_text_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var de=new WeakMap,he=new WeakMap,ue=new WeakMap,_e=new WeakMap,pe=new WeakMap,fe=new WeakMap,ge=new WeakMap,ve=new WeakMap,me=new WeakMap,Pe=new WeakMap,we=new WeakMap,ye=new WeakMap,Fe=new WeakSet;class AltText{constructor(t){!function alt_text_classPrivateMethodInitSpec(t,e){alt_text_checkPrivateRedeclaration(t,e),e.add(t)}(this,Fe);alt_text_classPrivateFieldInitSpec(this,de,null);alt_text_classPrivateFieldInitSpec(this,he,!1);alt_text_classPrivateFieldInitSpec(this,ue,null);alt_text_classPrivateFieldInitSpec(this,_e,null);alt_text_classPrivateFieldInitSpec(this,pe,null);alt_text_classPrivateFieldInitSpec(this,fe,null);alt_text_classPrivateFieldInitSpec(this,ge,!1);alt_text_classPrivateFieldInitSpec(this,ve,null);alt_text_classPrivateFieldInitSpec(this,me,null);alt_text_classPrivateFieldInitSpec(this,Pe,null);alt_text_classPrivateFieldInitSpec(this,we,null);alt_text_classPrivateFieldInitSpec(this,ye,!1);alt_text_classPrivateFieldSet(me,this,t);alt_text_classPrivateFieldSet(ye,this,t._uiManager.useNewAltTextFlow);Se._||(Se._=Object.freeze({added:"pdfjs-editor-new-alt-text-added-button","added-label":"pdfjs-editor-new-alt-text-added-button-label",missing:"pdfjs-editor-new-alt-text-missing-button","missing-label":"pdfjs-editor-new-alt-text-missing-button-label",review:"pdfjs-editor-new-alt-text-to-review-button","review-label":"pdfjs-editor-new-alt-text-to-review-button-label"}))}static initialize(t){AltText._l10n??=t}async render(){const t=alt_text_classPrivateFieldSet(ue,this,document.createElement("button"));t.className="altText";t.tabIndex="0";const e=alt_text_classPrivateFieldSet(_e,this,document.createElement("span"));t.append(e);if(alt_text_classPrivateFieldGet(ye,this)){t.classList.add("new");t.setAttribute("data-l10n-id",Se._.missing);e.setAttribute("data-l10n-id",Se._["missing-label"])}else{t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button");e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label")}const i=alt_text_classPrivateFieldGet(me,this)._uiManager._signal;t.addEventListener("contextmenu",noContextMenu,{signal:i});t.addEventListener("pointerdown",(t=>t.stopPropagation()),{signal:i});const onClick=t=>{t.preventDefault();alt_text_classPrivateFieldGet(me,this)._uiManager.editAltText(alt_text_classPrivateFieldGet(me,this));alt_text_classPrivateFieldGet(ye,this)&&alt_text_classPrivateFieldGet(me,this)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:alt_text_classPrivateGetter(Fe,this,_get_label)}})};t.addEventListener("click",onClick,{capture:!0,signal:i});t.addEventListener("keydown",(e=>{if(e.target===t&&"Enter"===e.key){alt_text_classPrivateFieldSet(ge,this,!0);onClick(e)}}),{signal:i});await alt_text_assertClassBrand(Fe,this,_setState).call(this);return t}finish(){if(alt_text_classPrivateFieldGet(ue,this)){alt_text_classPrivateFieldGet(ue,this).focus({focusVisible:alt_text_classPrivateFieldGet(ge,this)});alt_text_classPrivateFieldSet(ge,this,!1)}}isEmpty(){return alt_text_classPrivateFieldGet(ye,this)?null===alt_text_classPrivateFieldGet(de,this):!alt_text_classPrivateFieldGet(de,this)&&!alt_text_classPrivateFieldGet(he,this)}hasData(){return alt_text_classPrivateFieldGet(ye,this)?null!==alt_text_classPrivateFieldGet(de,this)||!!alt_text_classPrivateFieldGet(Pe,this):this.isEmpty()}get guessedText(){return alt_text_classPrivateFieldGet(Pe,this)}async setGuessedText(t){if(null===alt_text_classPrivateFieldGet(de,this)){alt_text_classPrivateFieldSet(Pe,this,t);alt_text_classPrivateFieldSet(we,this,await AltText._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:t}));alt_text_assertClassBrand(Fe,this,_setState).call(this)}}toggleAltTextBadge(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(alt_text_classPrivateFieldGet(ye,this)&&!alt_text_classPrivateFieldGet(de,this)){if(!alt_text_classPrivateFieldGet(ve,this)){const t=alt_text_classPrivateFieldSet(ve,this,document.createElement("div"));t.className="noAltTextBadge";alt_text_classPrivateFieldGet(me,this).div.append(t)}alt_text_classPrivateFieldGet(ve,this).classList.toggle("hidden",!t)}else{alt_text_classPrivateFieldGet(ve,this)?.remove();alt_text_classPrivateFieldSet(ve,this,null)}}serialize(t){let e=alt_text_classPrivateFieldGet(de,this);t||alt_text_classPrivateFieldGet(Pe,this)!==e||(e=alt_text_classPrivateFieldGet(we,this));return{altText:e,decorative:alt_text_classPrivateFieldGet(he,this),guessedText:alt_text_classPrivateFieldGet(Pe,this),textWithDisclaimer:alt_text_classPrivateFieldGet(we,this)}}get data(){return{altText:alt_text_classPrivateFieldGet(de,this),decorative:alt_text_classPrivateFieldGet(he,this)}}set data(t){let{altText:e,decorative:i,guessedText:a,textWithDisclaimer:s,cancel:r=!1}=t;if(a){alt_text_classPrivateFieldSet(Pe,this,a);alt_text_classPrivateFieldSet(we,this,s)}if(alt_text_classPrivateFieldGet(de,this)!==e||alt_text_classPrivateFieldGet(he,this)!==i){if(!r){alt_text_classPrivateFieldSet(de,this,e);alt_text_classPrivateFieldSet(he,this,i)}alt_text_assertClassBrand(Fe,this,_setState).call(this)}}toggle(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(alt_text_classPrivateFieldGet(ue,this)){if(!t&&alt_text_classPrivateFieldGet(fe,this)){activeWindow.clearTimeout(alt_text_classPrivateFieldGet(fe,this));alt_text_classPrivateFieldSet(fe,this,null)}alt_text_classPrivateFieldGet(ue,this).disabled=!t}}shown(){alt_text_classPrivateFieldGet(me,this)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:alt_text_classPrivateGetter(Fe,this,_get_label)}})}destroy(){alt_text_classPrivateFieldGet(ue,this)?.remove();alt_text_classPrivateFieldSet(ue,this,null);alt_text_classPrivateFieldSet(_e,this,null);alt_text_classPrivateFieldSet(pe,this,null);alt_text_classPrivateFieldGet(ve,this)?.remove();alt_text_classPrivateFieldSet(ve,this,null)}}function _get_label(t){return(alt_text_classPrivateFieldGet(de,t)?"added":null===alt_text_classPrivateFieldGet(de,t)&&t.guessedText&&"review")||"missing"}async function _setState(){const t=alt_text_classPrivateFieldGet(ue,this);if(!t)return;if(alt_text_classPrivateFieldGet(ye,this)){t.classList.toggle("done",!!alt_text_classPrivateFieldGet(de,this));t.setAttribute("data-l10n-id",Se._[alt_text_classPrivateGetter(Fe,this,_get_label)]);alt_text_classPrivateFieldGet(_e,this)?.setAttribute("data-l10n-id",Se._[`${alt_text_classPrivateGetter(Fe,this,_get_label)}-label`]);if(!alt_text_classPrivateFieldGet(de,this)){alt_text_classPrivateFieldGet(pe,this)?.remove();return}}else{if(!alt_text_classPrivateFieldGet(de,this)&&!alt_text_classPrivateFieldGet(he,this)){t.classList.remove("done");alt_text_classPrivateFieldGet(pe,this)?.remove();return}t.classList.add("done");t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let e=alt_text_classPrivateFieldGet(pe,this);if(!e){alt_text_classPrivateFieldSet(pe,this,e=document.createElement("span"));e.className="tooltip";e.setAttribute("role","tooltip");e.id=`alt-text-tooltip-${alt_text_classPrivateFieldGet(me,this).id}`;const i=100,a=alt_text_classPrivateFieldGet(me,this)._uiManager._signal;a.addEventListener("abort",(()=>{activeWindow.clearTimeout(alt_text_classPrivateFieldGet(fe,this));alt_text_classPrivateFieldSet(fe,this,null)}),{once:!0});t.addEventListener("mouseenter",(()=>{alt_text_classPrivateFieldSet(fe,this,activeWindow.setTimeout((()=>{alt_text_classPrivateFieldSet(fe,this,null);alt_text_classPrivateFieldGet(pe,this).classList.add("show");alt_text_classPrivateFieldGet(me,this)._reportTelemetry({action:"alt_text_tooltip"})}),i))}),{signal:a});t.addEventListener("mouseleave",(()=>{if(alt_text_classPrivateFieldGet(fe,this)){activeWindow.clearTimeout(alt_text_classPrivateFieldGet(fe,this));alt_text_classPrivateFieldSet(fe,this,null)}alt_text_classPrivateFieldGet(pe,this)?.classList.remove("show")}),{signal:a})}if(alt_text_classPrivateFieldGet(he,this))e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip");else{e.removeAttribute("data-l10n-id");e.textContent=alt_text_classPrivateFieldGet(de,this)}e.parentNode||t.append(e);const i=alt_text_classPrivateFieldGet(me,this).getElementForAltText();i?.setAttribute("aria-describedby",e.id)}var be,Se={_:null};!function alt_text_defineProperty(t,e,i){return(e=function alt_text_toPropertyKey(t){var e=function alt_text_toPrimitive(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}(AltText,"_l10n",null);function touch_manager_classPrivateFieldInitSpec(t,e,i){touch_manager_checkPrivateRedeclaration(t,e),e.set(t,i)}function touch_manager_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function touch_manager_classPrivateFieldGet(t,e){return t.get(touch_manager_assertClassBrand(t,e))}function touch_manager_classPrivateFieldSet(t,e,i){return t.set(touch_manager_assertClassBrand(t,e),i),i}function touch_manager_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var Ae,xe=new WeakMap,Ce=new WeakMap,Ee=new WeakMap,ke=new WeakMap,Ge=new WeakMap,Me=new WeakMap,Ie=new WeakMap,Te=new WeakMap,Re=new WeakMap,De=new WeakMap,Be=new WeakMap,Le=new WeakMap,Oe=new WeakSet;class TouchManager{constructor(t){let{container:e,isPinchingDisabled:i=null,isPinchingStopped:a=null,onPinchStart:s=null,onPinching:r=null,onPinchEnd:n=null,signal:o}=t;!function touch_manager_classPrivateMethodInitSpec(t,e){touch_manager_checkPrivateRedeclaration(t,e),e.add(t)}(this,Oe);touch_manager_classPrivateFieldInitSpec(this,xe,void 0);touch_manager_classPrivateFieldInitSpec(this,Ce,!1);touch_manager_classPrivateFieldInitSpec(this,Ee,null);touch_manager_classPrivateFieldInitSpec(this,ke,void 0);touch_manager_classPrivateFieldInitSpec(this,Ge,void 0);touch_manager_classPrivateFieldInitSpec(this,Me,void 0);touch_manager_classPrivateFieldInitSpec(this,Ie,void 0);touch_manager_classPrivateFieldInitSpec(this,Te,null);touch_manager_classPrivateFieldInitSpec(this,Re,void 0);touch_manager_classPrivateFieldInitSpec(this,De,null);touch_manager_classPrivateFieldInitSpec(this,Be,void 0);touch_manager_classPrivateFieldInitSpec(this,Le,null);touch_manager_classPrivateFieldSet(xe,this,e);touch_manager_classPrivateFieldSet(Ee,this,a);touch_manager_classPrivateFieldSet(ke,this,i);touch_manager_classPrivateFieldSet(Ge,this,s);touch_manager_classPrivateFieldSet(Me,this,r);touch_manager_classPrivateFieldSet(Ie,this,n);touch_manager_classPrivateFieldSet(Be,this,new AbortController);touch_manager_classPrivateFieldSet(Re,this,AbortSignal.any([o,touch_manager_classPrivateFieldGet(Be,this).signal]));e.addEventListener("touchstart",touch_manager_assertClassBrand(Oe,this,_onTouchStart).bind(this),{passive:!1,signal:touch_manager_classPrivateFieldGet(Re,this)})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return 35/OutputScale.pixelRatio}destroy(){touch_manager_classPrivateFieldGet(Be,this)?.abort();touch_manager_classPrivateFieldSet(Be,this,null);touch_manager_classPrivateFieldGet(Te,this)?.abort();touch_manager_classPrivateFieldSet(Te,this,null)}}be=TouchManager;function _onTouchStart(t){if(touch_manager_classPrivateFieldGet(ke,this)?.call(this))return;if(1===t.touches.length){if(touch_manager_classPrivateFieldGet(Te,this))return;const t=touch_manager_classPrivateFieldSet(Te,this,new AbortController),e=AbortSignal.any([touch_manager_classPrivateFieldGet(Re,this),t.signal]),i=touch_manager_classPrivateFieldGet(xe,this),a={capture:!0,signal:e,passive:!1},cancelPointerDown=t=>{if("touch"===t.pointerType){touch_manager_classPrivateFieldGet(Te,this)?.abort();touch_manager_classPrivateFieldSet(Te,this,null)}};i.addEventListener("pointerdown",(t=>{if("touch"===t.pointerType){stopEvent(t);cancelPointerDown(t)}}),a);i.addEventListener("pointerup",cancelPointerDown,a);i.addEventListener("pointercancel",cancelPointerDown,a);return}if(!touch_manager_classPrivateFieldGet(Le,this)){touch_manager_classPrivateFieldSet(Le,this,new AbortController);const t=AbortSignal.any([touch_manager_classPrivateFieldGet(Re,this),touch_manager_classPrivateFieldGet(Le,this).signal]),e=touch_manager_classPrivateFieldGet(xe,this),i={signal:t,capture:!1,passive:!1};e.addEventListener("touchmove",touch_manager_assertClassBrand(Oe,this,_onTouchMove).bind(this),i);const a=touch_manager_assertClassBrand(Oe,this,_onTouchEnd).bind(this);e.addEventListener("touchend",a,i);e.addEventListener("touchcancel",a,i);i.capture=!0;e.addEventListener("pointerdown",stopEvent,i);e.addEventListener("pointermove",stopEvent,i);e.addEventListener("pointercancel",stopEvent,i);e.addEventListener("pointerup",stopEvent,i);touch_manager_classPrivateFieldGet(Ge,this)?.call(this)}stopEvent(t);if(2!==t.touches.length||touch_manager_classPrivateFieldGet(Ee,this)?.call(this)){touch_manager_classPrivateFieldSet(De,this,null);return}let[e,i]=t.touches;e.identifier>i.identifier&&([e,i]=[i,e]);touch_manager_classPrivateFieldSet(De,this,{touch0X:e.screenX,touch0Y:e.screenY,touch1X:i.screenX,touch1Y:i.screenY})}function _onTouchMove(t){if(!touch_manager_classPrivateFieldGet(De,this)||2!==t.touches.length)return;stopEvent(t);let[e,i]=t.touches;e.identifier>i.identifier&&([e,i]=[i,e]);const{screenX:a,screenY:s}=e,{screenX:r,screenY:n}=i,o=touch_manager_classPrivateFieldGet(De,this),{touch0X:l,touch0Y:c,touch1X:d,touch1Y:h}=o,u=d-l,_=h-c,p=r-a,f=n-s,g=Math.hypot(p,f)||1,v=Math.hypot(u,_)||1;if(!touch_manager_classPrivateFieldGet(Ce,this)&&Math.abs(v-g)<=be.MIN_TOUCH_DISTANCE_TO_PINCH)return;o.touch0X=a;o.touch0Y=s;o.touch1X=r;o.touch1Y=n;if(!touch_manager_classPrivateFieldGet(Ce,this)){touch_manager_classPrivateFieldSet(Ce,this,!0);return}const m=[(a+r)/2,(s+n)/2];touch_manager_classPrivateFieldGet(Me,this)?.call(this,m,v,g)}function _onTouchEnd(t){if(!(t.touches.length>=2)){if(touch_manager_classPrivateFieldGet(Le,this)){touch_manager_classPrivateFieldGet(Le,this).abort();touch_manager_classPrivateFieldSet(Le,this,null);touch_manager_classPrivateFieldGet(Ie,this)?.call(this)}if(touch_manager_classPrivateFieldGet(De,this)){stopEvent(t);touch_manager_classPrivateFieldSet(De,this,null);touch_manager_classPrivateFieldSet(Ce,this,!1)}}}function editor_defineProperty(t,e,i){return(e=function editor_toPropertyKey(t){var e=function editor_toPrimitive(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function editor_classPrivateFieldInitSpec(t,e,i){editor_checkPrivateRedeclaration(t,e),e.set(t,i)}function editor_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function editor_classPrivateFieldSet(t,e,i){return t.set(editor_assertClassBrand(t,e),i),i}function editor_classPrivateFieldGet(t,e){return t.get(editor_assertClassBrand(t,e))}function editor_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var Ne=new WeakMap,We=new WeakMap,Ue=new WeakMap,je=new WeakMap,He=new WeakMap,ze=new WeakMap,$e=new WeakMap,Ve=new WeakMap,qe=new WeakMap,Xe=new WeakMap,Ke=new WeakMap,Ye=new WeakMap,Qe=new WeakMap,Je=new WeakMap,Ze=new WeakMap,ti=new WeakMap,ei=new WeakMap,ii=new WeakMap,ai=new WeakMap,si=new WeakMap,ri=new WeakMap,ni=new WeakMap,oi=new WeakMap,li=new WeakMap,ci=new WeakSet;class AnnotationEditor{static get _resizerKeyboardManager(){const t=AnnotationEditor.prototype._resizeWithKeyboard,e=AnnotationEditorUIManager.TRANSLATE_SMALL,i=AnnotationEditorUIManager.TRANSLATE_BIG;return shadow(this,"_resizerKeyboardManager",new KeyboardManager([[["ArrowLeft","mac+ArrowLeft"],t,{args:[-e,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t,{args:[-i,0]}],[["ArrowRight","mac+ArrowRight"],t,{args:[e,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t,{args:[i,0]}],[["ArrowUp","mac+ArrowUp"],t,{args:[0,-e]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t,{args:[0,-i]}],[["ArrowDown","mac+ArrowDown"],t,{args:[0,e]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t,{args:[0,i]}],[["Escape","mac+Escape"],AnnotationEditor.prototype._stopResizingWithKeyboard]]))}constructor(t){!function editor_classPrivateMethodInitSpec(t,e){editor_checkPrivateRedeclaration(t,e),e.add(t)}(this,ci);editor_classPrivateFieldInitSpec(this,Ne,null);editor_classPrivateFieldInitSpec(this,We,null);editor_classPrivateFieldInitSpec(this,Ue,null);editor_classPrivateFieldInitSpec(this,je,!1);editor_classPrivateFieldInitSpec(this,He,null);editor_classPrivateFieldInitSpec(this,ze,"");editor_classPrivateFieldInitSpec(this,$e,!1);editor_classPrivateFieldInitSpec(this,Ve,null);editor_classPrivateFieldInitSpec(this,qe,null);editor_classPrivateFieldInitSpec(this,Xe,null);editor_classPrivateFieldInitSpec(this,Ke,null);editor_classPrivateFieldInitSpec(this,Ye,"");editor_classPrivateFieldInitSpec(this,Qe,!1);editor_classPrivateFieldInitSpec(this,Je,null);editor_classPrivateFieldInitSpec(this,Ze,!1);editor_classPrivateFieldInitSpec(this,ti,!1);editor_classPrivateFieldInitSpec(this,ei,!1);editor_classPrivateFieldInitSpec(this,ii,null);editor_classPrivateFieldInitSpec(this,ai,0);editor_classPrivateFieldInitSpec(this,si,0);editor_classPrivateFieldInitSpec(this,ri,null);editor_classPrivateFieldInitSpec(this,ni,null);editor_defineProperty(this,"isSelected",!1);editor_defineProperty(this,"_isCopy",!1);editor_defineProperty(this,"_editToolbar",null);editor_defineProperty(this,"_initialOptions",Object.create(null));editor_defineProperty(this,"_initialData",null);editor_defineProperty(this,"_isVisible",!0);editor_defineProperty(this,"_uiManager",null);editor_defineProperty(this,"_focusEventsAllowed",!0);editor_classPrivateFieldInitSpec(this,oi,!1);editor_classPrivateFieldInitSpec(this,li,AnnotationEditor._zIndex++);this.parent=t.parent;this.id=t.id;this.width=this.height=null;this.pageIndex=t.parent.pageIndex;this.name=t.name;this.div=null;this._uiManager=t.uiManager;this.annotationElementId=null;this._willKeepAspectRatio=!1;this._initialOptions.isCentered=t.isCentered;this._structTreeParentId=null;const{rotation:e,rawDims:{pageWidth:i,pageHeight:a,pageX:s,pageY:r}}=this.parent.viewport;this.rotation=e;this.pageRotation=(360+e-this._uiManager.viewParameters.rotation)%360;this.pageDimensions=[i,a];this.pageTranslation=[s,r];const[n,o]=this.parentDimensions;this.x=t.x/n;this.y=t.y/o;this.isAttachedToDOM=!1;this.deleted=!1}get editorType(){return Object.getPrototypeOf(this).constructor._type}static get isDrawer(){return!1}static get _defaultLineColor(){return shadow(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(t){const e=new FakeEditor({id:t.parent.getNextId(),parent:t.parent,uiManager:t._uiManager});e.annotationElementId=t.annotationElementId;e.deleted=!0;e._uiManager.addToAnnotationStorage(e)}static initialize(t,e){AnnotationEditor._l10n??=t;AnnotationEditor._l10nResizer||=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"});if(-1!==AnnotationEditor._borderLineWidth)return;const i=getComputedStyle(document.documentElement);AnnotationEditor._borderLineWidth=parseFloat(i.getPropertyValue("--outline-width"))||0}static updateDefaultParams(t,e){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(t){return!1}static paste(t,e){unreachable("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return editor_classPrivateFieldGet(oi,this)}set _isDraggable(t){editor_classPrivateFieldSet(oi,this,t);this.div?.classList.toggle("draggable",t)}get isEnterHandled(){return!0}center(){const[t,e]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*e/(2*t);this.y+=this.width*t/(2*e);break;case 180:this.x+=this.width/2;this.y+=this.height/2;break;case 270:this.x+=this.height*e/(2*t);this.y-=this.width*t/(2*e);break;default:this.x-=this.width/2;this.y-=this.height/2}this.fixAndSetPosition()}addCommands(t){this._uiManager.addCommands(t)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=editor_classPrivateFieldGet(li,this)}setParent(t){if(null!==t){this.pageIndex=t.pageIndex;this.pageDimensions=t.pageDimensions}else editor_assertClassBrand(ci,this,_stopResizing).call(this);this.parent=t}focusin(t){this._focusEventsAllowed&&(editor_classPrivateFieldGet(Qe,this)?editor_classPrivateFieldSet(Qe,this,!1):this.parent.setSelected(this))}focusout(t){if(!this._focusEventsAllowed)return;if(!this.isAttachedToDOM)return;const e=t.relatedTarget;if(!e?.closest(`#${this.id}`)){t.preventDefault();this.parent?.isMultipleSelection||this.commitOrRemove()}}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(t,e,i,a){const[s,r]=this.parentDimensions;[i,a]=this.screenToPageTranslation(i,a);this.x=(t+i)/s;this.y=(e+a)/r;this.fixAndSetPosition()}_moveAfterPaste(t,e){const[i,a]=this.parentDimensions;this.setAt(t*i,e*a,this.width*i,this.height*a);this._onTranslated()}translate(t,e){editor_assertClassBrand(ci,this,_translate).call(this,this.parentDimensions,t,e)}translateInPage(t,e){editor_classPrivateFieldGet(Je,this)||editor_classPrivateFieldSet(Je,this,[this.x,this.y,this.width,this.height]);editor_assertClassBrand(ci,this,_translate).call(this,this.pageDimensions,t,e);this.div.scrollIntoView({block:"nearest"})}translationDone(){this._onTranslated(this.x,this.y)}drag(t,e){editor_classPrivateFieldGet(Je,this)||editor_classPrivateFieldSet(Je,this,[this.x,this.y,this.width,this.height]);const{div:i,parentDimensions:[a,s]}=this;this.x+=t/a;this.y+=e/s;if(this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){const{x:t,y:e}=this.div.getBoundingClientRect();if(this.parent.findNewParent(this,t,e)){this.x-=Math.floor(this.x);this.y-=Math.floor(this.y)}}let{x:r,y:n}=this;const[o,l]=this.getBaseTranslation();r+=o;n+=l;const{style:c}=i;c.left=`${(100*r).toFixed(2)}%`;c.top=`${(100*n).toFixed(2)}%`;this._onTranslating(r,n);i.scrollIntoView({block:"nearest"})}_onTranslating(t,e){}_onTranslated(t,e){}get _hasBeenMoved(){return!!editor_classPrivateFieldGet(Je,this)&&(editor_classPrivateFieldGet(Je,this)[0]!==this.x||editor_classPrivateFieldGet(Je,this)[1]!==this.y)}get _hasBeenResized(){return!!editor_classPrivateFieldGet(Je,this)&&(editor_classPrivateFieldGet(Je,this)[2]!==this.width||editor_classPrivateFieldGet(Je,this)[3]!==this.height)}getBaseTranslation(){const[t,e]=this.parentDimensions,{_borderLineWidth:i}=AnnotationEditor,a=i/t,s=i/e;switch(this.rotation){case 90:return[-a,s];case 180:return[a,s];case 270:return[a,-s];default:return[-a,-s]}}get _mustFixPosition(){return!0}fixAndSetPosition(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.rotation;const{div:{style:e},pageDimensions:[i,a]}=this;let{x:s,y:r,width:n,height:o}=this;n*=i;o*=a;s*=i;r*=a;if(this._mustFixPosition)switch(t){case 0:s=MathClamp(s,0,i-n);r=MathClamp(r,0,a-o);break;case 90:s=MathClamp(s,0,i-o);r=MathClamp(r,n,a);break;case 180:s=MathClamp(s,n,i);r=MathClamp(r,o,a);break;case 270:s=MathClamp(s,o,i);r=MathClamp(r,0,a-n)}this.x=s/=i;this.y=r/=a;const[l,c]=this.getBaseTranslation();s+=l;r+=c;e.left=`${(100*s).toFixed(2)}%`;e.top=`${(100*r).toFixed(2)}%`;this.moveInDOM()}screenToPageTranslation(t,e){return _rotatePoint.call(AnnotationEditor,t,e,this.parentRotation)}pageTranslationToScreen(t,e){return _rotatePoint.call(AnnotationEditor,t,e,360-this.parentRotation)}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{parentScale:t,pageDimensions:[e,i]}=this;return[e*t,i*t]}setDims(t,e){const[i,a]=this.parentDimensions,{style:s}=this.div;s.width=`${(100*t/i).toFixed(2)}%`;editor_classPrivateFieldGet($e,this)||(s.height=`${(100*e/a).toFixed(2)}%`)}fixDims(){const{style:t}=this.div,{height:e,width:i}=t,a=i.endsWith("%"),s=!editor_classPrivateFieldGet($e,this)&&e.endsWith("%");if(a&&s)return;const[r,n]=this.parentDimensions;a||(t.width=`${(100*parseFloat(i)/r).toFixed(2)}%`);editor_classPrivateFieldGet($e,this)||s||(t.height=`${(100*parseFloat(e)/n).toFixed(2)}%`)}getInitialTranslation(){return[0,0]}_onResized(){}static _round(t){return Math.round(1e4*t)/1e4}_onResizing(){}altTextFinish(){editor_classPrivateFieldGet(Ue,this)?.finish()}async addEditToolbar(){if(this._editToolbar||editor_classPrivateFieldGet(ti,this))return this._editToolbar;this._editToolbar=new EditorToolbar(this);this.div.append(this._editToolbar.render());editor_classPrivateFieldGet(Ue,this)&&await this._editToolbar.addAltText(editor_classPrivateFieldGet(Ue,this));return this._editToolbar}removeEditToolbar(){if(this._editToolbar){this._editToolbar.remove();this._editToolbar=null;editor_classPrivateFieldGet(Ue,this)?.destroy()}}addContainer(t){const e=this._editToolbar?.div;e?e.before(t):this.div.append(t)}getClientDimensions(){return this.div.getBoundingClientRect()}async addAltTextButton(){if(!editor_classPrivateFieldGet(Ue,this)){AltText.initialize(AnnotationEditor._l10n);editor_classPrivateFieldSet(Ue,this,new AltText(this));if(editor_classPrivateFieldGet(Ne,this)){editor_classPrivateFieldGet(Ue,this).data=editor_classPrivateFieldGet(Ne,this);editor_classPrivateFieldSet(Ne,this,null)}await this.addEditToolbar()}}get altTextData(){return editor_classPrivateFieldGet(Ue,this)?.data}set altTextData(t){editor_classPrivateFieldGet(Ue,this)&&(editor_classPrivateFieldGet(Ue,this).data=t)}get guessedAltText(){return editor_classPrivateFieldGet(Ue,this)?.guessedText}async setGuessedAltText(t){await(editor_classPrivateFieldGet(Ue,this)?.setGuessedText(t))}serializeAltText(t){return editor_classPrivateFieldGet(Ue,this)?.serialize(t)}hasAltText(){return!!editor_classPrivateFieldGet(Ue,this)&&!editor_classPrivateFieldGet(Ue,this).isEmpty()}hasAltTextData(){return editor_classPrivateFieldGet(Ue,this)?.hasData()??!1}render(){const t=this.div=document.createElement("div");t.setAttribute("data-editor-rotation",(360-this.rotation)%360);t.className=this.name;t.setAttribute("id",this.id);t.tabIndex=editor_classPrivateFieldGet(je,this)?-1:0;t.setAttribute("role","application");this.defaultL10nId&&t.setAttribute("data-l10n-id",this.defaultL10nId);this._isVisible||t.classList.add("hidden");this.setInForeground();editor_assertClassBrand(ci,this,_addFocusListeners).call(this);const[e,i]=this.parentDimensions;if(this.parentRotation%180!=0){t.style.maxWidth=`${(100*i/e).toFixed(2)}%`;t.style.maxHeight=`${(100*e/i).toFixed(2)}%`}const[a,s]=this.getInitialTranslation();this.translate(a,s);bindEvents(this,t,["keydown","pointerdown","dblclick"]);this.isResizable&&this._uiManager._supportsPinchToZoom&&(editor_classPrivateFieldGet(ni,this)||editor_classPrivateFieldSet(ni,this,new TouchManager({container:t,isPinchingDisabled:()=>!this.isSelected,onPinchStart:editor_assertClassBrand(ci,this,_touchPinchStartCallback).bind(this),onPinching:editor_assertClassBrand(ci,this,_touchPinchCallback).bind(this),onPinchEnd:editor_assertClassBrand(ci,this,_touchPinchEndCallback).bind(this),signal:this._uiManager._signal})));this._uiManager._editorUndoBar?.hide();return t}pointerdown(t){const{isMac:e}=util_FeatureTest.platform;if(0!==t.button||t.ctrlKey&&e)t.preventDefault();else{editor_classPrivateFieldSet(Qe,this,!0);this._isDraggable?editor_assertClassBrand(ci,this,_setUpDragSession).call(this,t):editor_assertClassBrand(ci,this,_selectOnPointerEvent).call(this,t)}}_onStartDragging(){}_onStopDragging(){}moveInDOM(){editor_classPrivateFieldGet(ii,this)&&activeWindow.clearTimeout(editor_classPrivateFieldGet(ii,this));editor_classPrivateFieldSet(ii,this,activeWindow.setTimeout((()=>{editor_classPrivateFieldSet(ii,this,null);this.parent?.moveEditorInDOM(this)}),0))}_setParentAndPosition(t,e,i){t.changeParent(this);this.x=e;this.y=i;this.fixAndSetPosition();this._onTranslated()}getRect(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.rotation;const a=this.parentScale,[s,r]=this.pageDimensions,[n,o]=this.pageTranslation,l=t/a,c=e/a,d=this.x*s,h=this.y*r,u=this.width*s,_=this.height*r;switch(i){case 0:return[d+l+n,r-h-c-_+o,d+l+u+n,r-h-c+o];case 90:return[d+c+n,r-h+l+o,d+c+_+n,r-h+l+u+o];case 180:return[d-l-u+n,r-h+c+o,d-l+n,r-h+c+_+o];case 270:return[d-c-_+n,r-h-l-u+o,d-c+n,r-h-l+o];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(t,e){const[i,a,s,r]=t,n=s-i,o=r-a;switch(this.rotation){case 0:return[i,e-r,n,o];case 90:return[i,e-a,o,n];case 180:return[s,e-a,n,o];case 270:return[s,e-r,o,n];default:throw new Error("Invalid rotation")}}onceAdded(t){}isEmpty(){return!1}enableEditMode(){if(this.isInEditMode())return!1;this.parent.setEditingState(!1);editor_classPrivateFieldSet(ti,this,!0);return!0}disableEditMode(){if(!this.isInEditMode())return!1;this.parent.setEditingState(!0);editor_classPrivateFieldSet(ti,this,!1);return!0}isInEditMode(){return editor_classPrivateFieldGet(ti,this)}shouldGetKeyboardEvents(){return editor_classPrivateFieldGet(ei,this)}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}get isOnScreen(){const{top:t,left:e,bottom:i,right:a}=this.getClientDimensions(),{innerHeight:s,innerWidth:r}=window;return e0&&t0}rebuild(){editor_assertClassBrand(ci,this,_addFocusListeners).call(this)}rotate(t){}resize(){}serializeDeleted(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:this._initialData?.popupRef||""}}serialize(){unreachable("An editor must be serializable")}static async deserialize(t,e,i){const a=new this.prototype.constructor({parent:e,id:e.getNextId(),uiManager:i});a.rotation=t.rotation;editor_classPrivateFieldSet(Ne,a,t.accessibilityData);a._isCopy=t.isCopy||!1;const[s,r]=a.pageDimensions,[n,o,l,c]=a.getRectInCurrentCoords(t.rect,r);a.x=n/s;a.y=o/r;a.width=l/s;a.height=c/r;return a}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||null!==this.serialize())}remove(){editor_classPrivateFieldGet(Ke,this)?.abort();editor_classPrivateFieldSet(Ke,this,null);this.isEmpty()||this.commit();this.parent?this.parent.remove(this):this._uiManager.removeEditor(this);if(editor_classPrivateFieldGet(ii,this)){activeWindow.clearTimeout(editor_classPrivateFieldGet(ii,this));editor_classPrivateFieldSet(ii,this,null)}editor_assertClassBrand(ci,this,_stopResizing).call(this);this.removeEditToolbar();if(editor_classPrivateFieldGet(ri,this)){for(const t of editor_classPrivateFieldGet(ri,this).values())activeWindow.clearTimeout(t);editor_classPrivateFieldSet(ri,this,null)}this.parent=null;editor_classPrivateFieldGet(ni,this)?.destroy();editor_classPrivateFieldSet(ni,this,null)}get isResizable(){return!1}makeResizable(){if(this.isResizable){editor_assertClassBrand(ci,this,_createResizers).call(this);editor_classPrivateFieldGet(Ve,this).classList.remove("hidden")}}get toolbarPosition(){return null}keydown(t){if(!this.isResizable||t.target!==this.div||"Enter"!==t.key)return;this._uiManager.setSelected(this);editor_classPrivateFieldSet(Xe,this,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const e=editor_classPrivateFieldGet(Ve,this).children;if(!editor_classPrivateFieldGet(We,this)){editor_classPrivateFieldSet(We,this,Array.from(e));const t=editor_assertClassBrand(ci,this,_resizerKeydown).bind(this),i=editor_assertClassBrand(ci,this,_resizerBlur).bind(this),a=this._uiManager._signal;for(const e of editor_classPrivateFieldGet(We,this)){const s=e.getAttribute("data-resizer-name");e.setAttribute("role","spinbutton");e.addEventListener("keydown",t,{signal:a});e.addEventListener("blur",i,{signal:a});e.addEventListener("focus",editor_assertClassBrand(ci,this,_resizerFocus).bind(this,s),{signal:a});e.setAttribute("data-l10n-id",AnnotationEditor._l10nResizer[s])}}const i=editor_classPrivateFieldGet(We,this)[0];let a=0;for(const t of e){if(t===i)break;a++}const s=(360-this.rotation+this.parentRotation)%360/90*(editor_classPrivateFieldGet(We,this).length/4);if(s!==a){if(sa)for(let t=0;t{this.div?.classList.contains("selectedEditor")&&this._editToolbar?.show()}))}}unselect(){if(this.isSelected){this.isSelected=!1;editor_classPrivateFieldGet(Ve,this)?.classList.add("hidden");this.div?.classList.remove("selectedEditor");this.div&&this.div.contains(this.div.ownerDocument.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0});this._editToolbar?.hide();editor_classPrivateFieldGet(Ue,this)?.toggleAltTextBadge(!0)}}updateParams(t,e){}disableEditing(){}enableEditing(){}get canChangeContent(){return!1}enterInEditMode(){if(this.canChangeContent){this.enableEditMode();this.div.focus()}}dblclick(t){this.enterInEditMode();this.parent.updateToolbar({mode:this.constructor._editorType,editId:this.id})}getElementForAltText(){return this.div}get contentDiv(){return this.div}get isEditing(){return editor_classPrivateFieldGet(Ze,this)}set isEditing(t){editor_classPrivateFieldSet(Ze,this,t);if(this.parent)if(t){this.parent.setSelected(this);this.parent.setActiveEditor(this)}else this.parent.setActiveEditor(null)}setAspectRatio(t,e){editor_classPrivateFieldSet($e,this,!0);const i=t/e,{style:a}=this.div;a.aspectRatio=i;a.height="auto"}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(t){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){editor_classPrivateFieldGet(ri,this)||editor_classPrivateFieldSet(ri,this,new Map);const{action:e}=t;let i=editor_classPrivateFieldGet(ri,this).get(e);i&&activeWindow.clearTimeout(i);i=activeWindow.setTimeout((()=>{this._reportTelemetry(t);editor_classPrivateFieldGet(ri,this).delete(e);0===editor_classPrivateFieldGet(ri,this).size&&editor_classPrivateFieldSet(ri,this,null)}),AnnotationEditor._telemetryTimeout);editor_classPrivateFieldGet(ri,this).set(e,i)}else{t.type||=this.editorType;this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:t}})}}show(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._isVisible;this.div.classList.toggle("hidden",!t);this._isVisible=t}enable(){this.div&&(this.div.tabIndex=0);editor_classPrivateFieldSet(je,this,!1)}disable(){this.div&&(this.div.tabIndex=-1);editor_classPrivateFieldSet(je,this,!0)}renderAnnotationElement(t){let e=t.container.querySelector(".annotationContent");if(e){if("CANVAS"===e.nodeName){const t=e;e=document.createElement("div");e.classList.add("annotationContent",this.editorType);t.before(e)}}else{e=document.createElement("div");e.classList.add("annotationContent",this.editorType);t.container.prepend(e)}return e}resetAnnotationElement(t){const{firstChild:e}=t.container;"DIV"===e?.nodeName&&e.classList.contains("annotationContent")&&e.remove()}}Ae=AnnotationEditor;function _translate(t,e,i){let[a,s]=t;[e,i]=this.screenToPageTranslation(e,i);this.x+=e/a;this.y+=i/s;this._onTranslating(this.x,this.y);this.fixAndSetPosition()}function _rotatePoint(t,e,i){switch(i){case 90:return[e,-t];case 180:return[-t,-e];case 270:return[-e,t];default:return[t,e]}}function _getRotationMatrix(t){switch(t){case 90:{const[t,e]=this.pageDimensions;return[0,-t/e,e/t,0]}case 180:return[-1,0,0,-1];case 270:{const[t,e]=this.pageDimensions;return[0,t/e,-e/t,0]}default:return[1,0,0,1]}}function _createResizers(){if(editor_classPrivateFieldGet(Ve,this))return;editor_classPrivateFieldSet(Ve,this,document.createElement("div"));editor_classPrivateFieldGet(Ve,this).classList.add("resizers");const t=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],e=this._uiManager._signal;for(const i of t){const t=document.createElement("div");editor_classPrivateFieldGet(Ve,this).append(t);t.classList.add("resizer",i);t.setAttribute("data-resizer-name",i);t.addEventListener("pointerdown",editor_assertClassBrand(ci,this,_resizerPointerdown).bind(this,i),{signal:e});t.addEventListener("contextmenu",noContextMenu,{signal:e});t.tabIndex=-1}this.div.prepend(editor_classPrivateFieldGet(Ve,this))}function _resizerPointerdown(t,e){e.preventDefault();const{isMac:i}=util_FeatureTest.platform;if(0!==e.button||e.ctrlKey&&i)return;editor_classPrivateFieldGet(Ue,this)?.toggle(!1);const a=this._isDraggable;this._isDraggable=!1;editor_classPrivateFieldSet(qe,this,[e.screenX,e.screenY]);const s=new AbortController,r=this._uiManager.combinedSignal(s);this.parent.togglePointerEvents(!1);window.addEventListener("pointermove",editor_assertClassBrand(ci,this,_resizerPointermove).bind(this,t),{passive:!0,capture:!0,signal:r});window.addEventListener("touchmove",stopEvent,{passive:!1,signal:r});window.addEventListener("contextmenu",noContextMenu,{signal:r});editor_classPrivateFieldSet(Xe,this,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const n=this.parent.div.style.cursor,o=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(e.target).cursor;const pointerUpCallback=()=>{s.abort();this.parent.togglePointerEvents(!0);editor_classPrivateFieldGet(Ue,this)?.toggle(!0);this._isDraggable=a;this.parent.div.style.cursor=n;this.div.style.cursor=o;editor_assertClassBrand(ci,this,_addResizeToUndoStack).call(this)};window.addEventListener("pointerup",pointerUpCallback,{signal:r});window.addEventListener("blur",pointerUpCallback,{signal:r})}function _resize(t,e,i,a){this.width=i;this.height=a;this.x=t;this.y=e;const[s,r]=this.parentDimensions;this.setDims(s*i,r*a);this.fixAndSetPosition();this._onResized()}function _addResizeToUndoStack(){if(!editor_classPrivateFieldGet(Xe,this))return;const{savedX:t,savedY:e,savedWidth:i,savedHeight:a}=editor_classPrivateFieldGet(Xe,this);editor_classPrivateFieldSet(Xe,this,null);const s=this.x,r=this.y,n=this.width,o=this.height;s===t&&r===e&&n===i&&o===a||this.addCommands({cmd:editor_assertClassBrand(ci,this,_resize).bind(this,s,r,n,o),undo:editor_assertClassBrand(ci,this,_resize).bind(this,t,e,i,a),mustExec:!0})}function _resizerPointermove(t,e){const[i,a]=this.parentDimensions,s=this.x,r=this.y,n=this.width,o=this.height,l=Ae.MIN_SIZE/i,c=Ae.MIN_SIZE/a,d=editor_assertClassBrand(ci,this,_getRotationMatrix).call(this,this.rotation),transf=(t,e)=>[d[0]*t+d[2]*e,d[1]*t+d[3]*e],h=editor_assertClassBrand(ci,this,_getRotationMatrix).call(this,360-this.rotation);let u,_,p=!1,f=!1;switch(t){case"topLeft":p=!0;u=(t,e)=>[0,0];_=(t,e)=>[t,e];break;case"topMiddle":u=(t,e)=>[t/2,0];_=(t,e)=>[t/2,e];break;case"topRight":p=!0;u=(t,e)=>[t,0];_=(t,e)=>[0,e];break;case"middleRight":f=!0;u=(t,e)=>[t,e/2];_=(t,e)=>[0,e/2];break;case"bottomRight":p=!0;u=(t,e)=>[t,e];_=(t,e)=>[0,0];break;case"bottomMiddle":u=(t,e)=>[t/2,e];_=(t,e)=>[t/2,0];break;case"bottomLeft":p=!0;u=(t,e)=>[0,e];_=(t,e)=>[t,0];break;case"middleLeft":f=!0;u=(t,e)=>[0,e/2];_=(t,e)=>[t,e/2]}const g=u(n,o),v=_(n,o);let m=transf(...v);const P=Ae._round(s+m[0]),w=Ae._round(r+m[1]);let y,b,S=1,A=1;if(e.fromKeyboard)({deltaX:y,deltaY:b}=e);else{const{screenX:t,screenY:i}=e,[a,s]=editor_classPrivateFieldGet(qe,this);[y,b]=this.screenToPageTranslation(t-a,i-s);editor_classPrivateFieldGet(qe,this)[0]=t;editor_classPrivateFieldGet(qe,this)[1]=i}[y,b]=(x=y/i,C=b/a,[h[0]*x+h[2]*C,h[1]*x+h[3]*C]);var x,C;if(p){const t=Math.hypot(n,o);S=A=Math.max(Math.min(Math.hypot(v[0]-g[0]-y,v[1]-g[1]-b)/t,1/n,1/o),l/n,c/o)}else f?S=MathClamp(Math.abs(v[0]-g[0]-y),l,1)/n:A=MathClamp(Math.abs(v[1]-g[1]-b),c,1)/o;const E=Ae._round(n*S),k=Ae._round(o*A);m=transf(..._(E,k));const G=P-m[0],M=w-m[1];editor_classPrivateFieldGet(Je,this)||editor_classPrivateFieldSet(Je,this,[this.x,this.y,this.width,this.height]);this.width=E;this.height=k;this.x=G;this.y=M;this.setDims(i*E,a*k);this.fixAndSetPosition();this._onResizing()}function _touchPinchStartCallback(){editor_classPrivateFieldSet(Xe,this,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});editor_classPrivateFieldGet(Ue,this)?.toggle(!1);this.parent.togglePointerEvents(!1)}function _touchPinchCallback(t,e,i){let a=i/e*.7+1-.7;if(1===a)return;const s=editor_assertClassBrand(ci,this,_getRotationMatrix).call(this,this.rotation),transf=(t,e)=>[s[0]*t+s[2]*e,s[1]*t+s[3]*e],[r,n]=this.parentDimensions,o=this.x,l=this.y,c=this.width,d=this.height,h=Ae.MIN_SIZE/r,u=Ae.MIN_SIZE/n;a=Math.max(Math.min(a,1/c,1/d),h/c,u/d);const _=Ae._round(c*a),p=Ae._round(d*a);if(_===c&&p===d)return;editor_classPrivateFieldGet(Je,this)||editor_classPrivateFieldSet(Je,this,[o,l,c,d]);const f=transf(c/2,d/2),g=Ae._round(o+f[0]),v=Ae._round(l+f[1]),m=transf(_/2,p/2);this.x=g-m[0];this.y=v-m[1];this.width=_;this.height=p;this.setDims(r*_,n*p);this.fixAndSetPosition();this._onResizing()}function _touchPinchEndCallback(){editor_classPrivateFieldGet(Ue,this)?.toggle(!0);this.parent.togglePointerEvents(!0);editor_assertClassBrand(ci,this,_addResizeToUndoStack).call(this)}function _selectOnPointerEvent(t){const{isMac:e}=util_FeatureTest.platform;t.ctrlKey&&!e||t.shiftKey||t.metaKey&&e?this.parent.toggleSelected(this):this.parent.setSelected(this)}function _setUpDragSession(t){const{isSelected:e}=this;this._uiManager.setUpDragSession();let i=!1;const a=new AbortController,s=this._uiManager.combinedSignal(a),r={capture:!0,passive:!1,signal:s},cancelDrag=t=>{a.abort();editor_classPrivateFieldSet(He,this,null);editor_classPrivateFieldSet(Qe,this,!1);this._uiManager.endDragSession()||editor_assertClassBrand(ci,this,_selectOnPointerEvent).call(this,t);i&&this._onStopDragging()};if(e){editor_classPrivateFieldSet(ai,this,t.clientX);editor_classPrivateFieldSet(si,this,t.clientY);editor_classPrivateFieldSet(He,this,t.pointerId);editor_classPrivateFieldSet(ze,this,t.pointerType);window.addEventListener("pointermove",(t=>{if(!i){i=!0;this._onStartDragging()}const{clientX:e,clientY:a,pointerId:s}=t;if(s!==editor_classPrivateFieldGet(He,this)){stopEvent(t);return}const[r,n]=this.screenToPageTranslation(e-editor_classPrivateFieldGet(ai,this),a-editor_classPrivateFieldGet(si,this));editor_classPrivateFieldSet(ai,this,e);editor_classPrivateFieldSet(si,this,a);this._uiManager.dragSelectedEditors(r,n)}),r);window.addEventListener("touchmove",stopEvent,r);window.addEventListener("pointerdown",(t=>{t.pointerType===editor_classPrivateFieldGet(ze,this)&&(editor_classPrivateFieldGet(ni,this)||t.isPrimary)&&cancelDrag(t);stopEvent(t)}),r)}const pointerUpCallback=t=>{editor_classPrivateFieldGet(He,this)&&editor_classPrivateFieldGet(He,this)!==t.pointerId?stopEvent(t):cancelDrag(t)};window.addEventListener("pointerup",pointerUpCallback,{signal:s});window.addEventListener("blur",pointerUpCallback,{signal:s})}function _addFocusListeners(){if(editor_classPrivateFieldGet(Ke,this)||!this.div)return;editor_classPrivateFieldSet(Ke,this,new AbortController);const t=this._uiManager.combinedSignal(editor_classPrivateFieldGet(Ke,this));this.div.addEventListener("focusin",this.focusin.bind(this),{signal:t});this.div.addEventListener("focusout",this.focusout.bind(this),{signal:t})}function _resizerKeydown(t){Ae._resizerKeyboardManager.exec(this,t)}function _resizerBlur(t){editor_classPrivateFieldGet(ei,this)&&t.relatedTarget?.parentNode!==editor_classPrivateFieldGet(Ve,this)&&editor_assertClassBrand(ci,this,_stopResizing).call(this)}function _resizerFocus(t){editor_classPrivateFieldSet(Ye,this,editor_classPrivateFieldGet(ei,this)?t:"")}function _setResizerTabIndex(t){if(editor_classPrivateFieldGet(We,this))for(const e of editor_classPrivateFieldGet(We,this))e.tabIndex=t}function _stopResizing(){editor_classPrivateFieldSet(ei,this,!1);editor_assertClassBrand(ci,this,_setResizerTabIndex).call(this,-1);editor_assertClassBrand(ci,this,_addResizeToUndoStack).call(this)}editor_defineProperty(AnnotationEditor,"_l10n",null);editor_defineProperty(AnnotationEditor,"_l10nResizer",null);editor_defineProperty(AnnotationEditor,"_borderLineWidth",-1);editor_defineProperty(AnnotationEditor,"_colorManager",new ColorManager);editor_defineProperty(AnnotationEditor,"_zIndex",1);editor_defineProperty(AnnotationEditor,"_telemetryTimeout",1e3);class FakeEditor extends AnnotationEditor{constructor(t){super(t);this.annotationElementId=t.annotationElementId;this.deleted=!0}serialize(){return this.serializeDeleted()}}const di=3285377520,hi=4294901760,ui=65535;class MurmurHash3_64{constructor(t){this.h1=t?4294967295&t:di;this.h2=t?4294967295&t:di}update(t){let e,i;if("string"==typeof t){e=new Uint8Array(2*t.length);i=0;for(let a=0,s=t.length;a>>8;e[i++]=255&s}}}else{if(!ArrayBuffer.isView(t))throw new Error("Invalid data format, must be a string or TypedArray.");e=t.slice();i=e.byteLength}const a=i>>2,s=i-4*a,r=new Uint32Array(e.buffer,0,a);let n=0,o=0,l=this.h1,c=this.h2;const d=3432918353,h=461845907,u=11601,_=13715;for(let t=0;t>>17;n=n*h&hi|n*_&ui;l^=n;l=l<<13|l>>>19;l=5*l+3864292196}else{o=r[t];o=o*d&hi|o*u&ui;o=o<<15|o>>>17;o=o*h&hi|o*_&ui;c^=o;c=c<<13|c>>>19;c=5*c+3864292196}n=0;switch(s){case 3:n^=e[4*a+2]<<16;case 2:n^=e[4*a+1]<<8;case 1:n^=e[4*a];n=n*d&hi|n*u&ui;n=n<<15|n>>>17;n=n*h&hi|n*_&ui;1&a?l^=n:c^=n}this.h1=l;this.h2=c}hexdigest(){let t=this.h1,e=this.h2;t^=e>>>1;t=3981806797*t&hi|36045*t&ui;e=4283543511*e&hi|(2950163797*(e<<16|t>>>16)&hi)>>>16;t^=e>>>1;t=444984403*t&hi|60499*t&ui;e=3301882366*e&hi|(3120437893*(e<<16|t>>>16)&hi)>>>16;t^=e>>>1;return(t>>>0).toString(16).padStart(8,"0")+(e>>>0).toString(16).padStart(8,"0")}}function annotation_storage_classPrivateFieldInitSpec(t,e,i){annotation_storage_checkPrivateRedeclaration(t,e),e.set(t,i)}function annotation_storage_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function annotation_storage_classPrivateFieldSet(t,e,i){return t.set(annotation_storage_assertClassBrand(t,e),i),i}function annotation_storage_classPrivateFieldGet(t,e){return t.get(annotation_storage_assertClassBrand(t,e))}function annotation_storage_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}const _i=Object.freeze({map:null,hash:"",transfer:void 0});var pi=new WeakMap,fi=new WeakMap,gi=new WeakMap,vi=new WeakSet;class AnnotationStorage{constructor(){!function annotation_storage_classPrivateMethodInitSpec(t,e){annotation_storage_checkPrivateRedeclaration(t,e),e.add(t)}(this,vi);annotation_storage_classPrivateFieldInitSpec(this,pi,!1);annotation_storage_classPrivateFieldInitSpec(this,fi,null);annotation_storage_classPrivateFieldInitSpec(this,gi,new Map);this.onSetModified=null;this.onResetModified=null;this.onAnnotationEditor=null}getValue(t,e){const i=annotation_storage_classPrivateFieldGet(gi,this).get(t);return void 0===i?e:Object.assign(e,i)}getRawValue(t){return annotation_storage_classPrivateFieldGet(gi,this).get(t)}remove(t){annotation_storage_classPrivateFieldGet(gi,this).delete(t);0===annotation_storage_classPrivateFieldGet(gi,this).size&&this.resetModified();if("function"==typeof this.onAnnotationEditor){for(const t of annotation_storage_classPrivateFieldGet(gi,this).values())if(t instanceof AnnotationEditor)return;this.onAnnotationEditor(null)}}setValue(t,e){const i=annotation_storage_classPrivateFieldGet(gi,this).get(t);let a=!1;if(void 0!==i){for(const[t,s]of Object.entries(e))if(i[t]!==s){a=!0;i[t]=s}}else{a=!0;annotation_storage_classPrivateFieldGet(gi,this).set(t,e)}a&&annotation_storage_assertClassBrand(vi,this,_setModified).call(this);e instanceof AnnotationEditor&&"function"==typeof this.onAnnotationEditor&&this.onAnnotationEditor(e.constructor._type)}has(t){return annotation_storage_classPrivateFieldGet(gi,this).has(t)}get size(){return annotation_storage_classPrivateFieldGet(gi,this).size}resetModified(){if(annotation_storage_classPrivateFieldGet(pi,this)){annotation_storage_classPrivateFieldSet(pi,this,!1);"function"==typeof this.onResetModified&&this.onResetModified()}}get print(){return new PrintAnnotationStorage(this)}get serializable(){if(0===annotation_storage_classPrivateFieldGet(gi,this).size)return _i;const t=new Map,e=new MurmurHash3_64,i=[],a=Object.create(null);let s=!1;for(const[i,r]of annotation_storage_classPrivateFieldGet(gi,this)){const n=r instanceof AnnotationEditor?r.serialize(!1,a):r;if(n){t.set(i,n);e.update(`${i}:${JSON.stringify(n)}`);s||=!!n.bitmap}}if(s)for(const e of t.values())e.bitmap&&i.push(e.bitmap);return t.size>0?{map:t,hash:e.hexdigest(),transfer:i}:_i}get editorStats(){let t=null;const e=new Map;for(const i of annotation_storage_classPrivateFieldGet(gi,this).values()){if(!(i instanceof AnnotationEditor))continue;const a=i.telemetryFinalData;if(!a)continue;const{type:s}=a;e.has(s)||e.set(s,Object.getPrototypeOf(i).constructor);t||=Object.create(null);const r=t[s]||=new Map;for(const[t,e]of Object.entries(a)){if("type"===t)continue;let i=r.get(t);if(!i){i=new Map;r.set(t,i)}const a=i.get(e)??0;i.set(e,a+1)}}for(const[i,a]of e)t[i]=a.computeTelemetryFinalData(t[i]);return t}resetModifiedIds(){annotation_storage_classPrivateFieldSet(fi,this,null)}get modifiedIds(){if(annotation_storage_classPrivateFieldGet(fi,this))return annotation_storage_classPrivateFieldGet(fi,this);const t=[];for(const e of annotation_storage_classPrivateFieldGet(gi,this).values())e instanceof AnnotationEditor&&e.annotationElementId&&e.serialize()&&t.push(e.annotationElementId);return annotation_storage_classPrivateFieldSet(fi,this,{ids:new Set(t),hash:t.join(",")})}[Symbol.iterator](){return annotation_storage_classPrivateFieldGet(gi,this).entries()}}function _setModified(){if(!annotation_storage_classPrivateFieldGet(pi,this)){annotation_storage_classPrivateFieldSet(pi,this,!0);"function"==typeof this.onSetModified&&this.onSetModified()}}var mi=new WeakMap;class PrintAnnotationStorage extends AnnotationStorage{constructor(t){super();annotation_storage_classPrivateFieldInitSpec(this,mi,void 0);const{map:e,hash:i,transfer:a}=t.serializable,s=structuredClone(e,a?{transfer:a}:null);annotation_storage_classPrivateFieldSet(mi,this,{map:s,hash:i,transfer:a})}get print(){unreachable("Should not call PrintAnnotationStorage.print")}get serializable(){return annotation_storage_classPrivateFieldGet(mi,this)}get modifiedIds(){return shadow(this,"modifiedIds",{ids:new Set,hash:""})}}function font_loader_classPrivateFieldInitSpec(t,e,i){(function font_loader_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t,e),e.set(t,i)}function font_loader_classPrivateFieldGet(t,e){return t.get(function font_loader_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}(t,e))}var Pi=new WeakMap;class FontLoader{constructor(t){let{ownerDocument:e=globalThis.document,styleElement:i=null}=t;font_loader_classPrivateFieldInitSpec(this,Pi,new Set);this._document=e;this.nativeFontFaces=new Set;this.styleElement=null;this.loadingRequests=[];this.loadTestFontId=0}addNativeFontFace(t){this.nativeFontFaces.add(t);this._document.fonts.add(t)}removeNativeFontFace(t){this.nativeFontFaces.delete(t);this._document.fonts.delete(t)}insertRule(t){if(!this.styleElement){this.styleElement=this._document.createElement("style");this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement)}const e=this.styleElement.sheet;e.insertRule(t,e.cssRules.length)}clear(){for(const t of this.nativeFontFaces)this._document.fonts.delete(t);this.nativeFontFaces.clear();font_loader_classPrivateFieldGet(Pi,this).clear();if(this.styleElement){this.styleElement.remove();this.styleElement=null}}async loadSystemFont(t){let{systemFontInfo:e,disableFontFace:i,_inspectFont:a}=t;if(e&&!font_loader_classPrivateFieldGet(Pi,this).has(e.loadedName)){assert(!i,"loadSystemFont shouldn't be called when `disableFontFace` is set.");if(this.isFontLoadingAPISupported){const{loadedName:t,src:i,style:s}=e,r=new FontFace(t,i,s);this.addNativeFontFace(r);try{await r.load();font_loader_classPrivateFieldGet(Pi,this).add(t);a?.(e)}catch{warn(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`);this.removeNativeFontFace(r)}}else unreachable("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(t){if(t.attached||t.missingFile&&!t.systemFontInfo)return;t.attached=!0;if(t.systemFontInfo){await this.loadSystemFont(t);return}if(this.isFontLoadingAPISupported){const e=t.createNativeFontFace();if(e){this.addNativeFontFace(e);try{await e.loaded}catch(i){warn(`Failed to load font '${e.family}': '${i}'.`);t.disableFontFace=!0;throw i}}return}const e=t.createFontFaceRule();if(e){this.insertRule(e);if(this.isSyncFontLoadingSupported)return;await new Promise((e=>{const i=this._queueLoadingCallback(e);this._prepareFontLoadEvent(t,i)}))}}get isFontLoadingAPISupported(){return shadow(this,"isFontLoadingAPISupported",!!this._document?.fonts)}get isSyncFontLoadingSupported(){return shadow(this,"isSyncFontLoadingSupported",a||util_FeatureTest.platform.isFirefox)}_queueLoadingCallback(t){const{loadingRequests:e}=this,i={done:!1,complete:function completeRequest(){assert(!i.done,"completeRequest() cannot be called twice.");i.done=!0;for(;e.length>0&&e[0].done;){const t=e.shift();activeWindow.setTimeout(t.callback,0)}},callback:t};e.push(i);return i}get _loadTestFont(){return shadow(this,"_loadTestFont",atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="))}_prepareFontLoadEvent(t,e){function int32(t,e){return t.charCodeAt(e)<<24|t.charCodeAt(e+1)<<16|t.charCodeAt(e+2)<<8|255&t.charCodeAt(e+3)}function spliceString(t,e,i,a){return t.substring(0,e)+a+t.substring(e+i)}let i,a;const s=this._document.createElement("canvas");s.width=1;s.height=1;const r=s.getContext("2d");let n=0;const o=`lt${Date.now()}${this.loadTestFontId++}`;let l=this._loadTestFont;l=spliceString(l,976,o.length,o);const c=1482184792;let d=int32(l,16);for(i=0,a=o.length-3;i>24&255,t>>16&255,t>>8&255,255&t)}(d));const h=`@font-face {font-family:"${o}";src:${`url(data:font/opentype;base64,${btoa(l)});`}}`;this.insertRule(h);const u=this._document.createElement("div");u.style.visibility="hidden";u.style.width=u.style.height="10px";u.style.position="absolute";u.style.top=u.style.left="0px";for(const e of[t.loadedName,o]){const t=this._document.createElement("span");t.textContent="Hi";t.style.fontFamily=e;u.append(t)}this._document.body.append(u);!function isFontReady(t,e){if(++n>30){warn("Load test font never loaded.");e();return}r.font="30px "+t;r.fillText(".",0,20);r.getImageData(0,0,1,1).data[3]>0?e():activeWindow.setTimeout(isFontReady.bind(null,t,e))}(o,(()=>{u.remove();e.complete()}))}}class FontFaceObject{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.compiledGlyphs=Object.create(null);for(const e in t)this[e]=t[e];this._inspectFont=e}createNativeFontFace(){if(!this.data||this.disableFontFace)return null;let t;if(this.cssFontInfo){const e={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(e.style=`oblique ${this.cssFontInfo.italicAngle}deg`);t=new FontFace(this.cssFontInfo.fontFamily,this.data,e)}else t=new FontFace(this.loadedName,this.data,{});this._inspectFont?.(this);return t}createFontFaceRule(){if(!this.data||this.disableFontFace)return null;const t=`url(data:${this.mimetype};base64,${toBase64Util(this.data)});`;let e;if(this.cssFontInfo){let i=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(i+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`);e=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${i}src:${t}}`}else e=`@font-face {font-family:"${this.loadedName}";src:${t}}`;this._inspectFont?.(this,t);return e}getPathGenerator(t,e){if(void 0!==this.compiledGlyphs[e])return this.compiledGlyphs[e];const i=this.loadedName+"_path_"+e;let a;try{a=t.get(i)}catch(t){warn(`getPathGenerator - ignoring character: "${t}".`)}const s=new Path2D(a||"");this.fontExtraProperties||t.delete(i);return this.compiledGlyphs[e]=s}}function api_utils_classPrivateFieldInitSpec(t,e,i){(function api_utils_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t,e),e.set(t,i)}function api_utils_classPrivateFieldGet(t,e){return t.get(function api_utils_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}(t,e))}function getFactoryUrlProp(t){if("string"!=typeof t)return null;if(t.endsWith("/"))return t;throw new Error(`Invalid factory url: "${t}" must include trailing slash.`)}const isRefProxy=t=>"object"==typeof t&&Number.isInteger(t?.num)&&t.num>=0&&Number.isInteger(t?.gen)&&t.gen>=0,wi=function _isValidExplicitDest(t,e,i){if(!Array.isArray(i)||i.length<2)return!1;const[a,s,...r]=i;if(!t(a)&&!Number.isInteger(a))return!1;if(!e(s))return!1;const n=r.length;let o=!0;switch(s.name){case"XYZ":if(n<2||n>3)return!1;break;case"Fit":case"FitB":return 0===n;case"FitH":case"FitBH":case"FitV":case"FitBV":if(n>1)return!1;break;case"FitR":if(4!==n)return!1;o=!1;break;default:return!1}for(const t of r)if(!("number"==typeof t||o&&null===t))return!1;return!0}.bind(null,isRefProxy,(t=>"object"==typeof t&&"string"==typeof t?.name));var yi=new WeakMap,Fi=new WeakMap;class LoopbackPort{constructor(){api_utils_classPrivateFieldInitSpec(this,yi,new Map);api_utils_classPrivateFieldInitSpec(this,Fi,Promise.resolve())}postMessage(t,e){const i={data:structuredClone(t,e?{transfer:e}:null)};api_utils_classPrivateFieldGet(Fi,this).then((()=>{for(const[t]of api_utils_classPrivateFieldGet(yi,this))t.call(this,i)}))}addEventListener(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;if(i?.signal instanceof AbortSignal){const{signal:s}=i;if(s.aborted){warn("LoopbackPort - cannot use an `aborted` signal.");return}const onAbort=()=>this.removeEventListener(t,e);a=()=>s.removeEventListener("abort",onAbort);s.addEventListener("abort",onAbort)}api_utils_classPrivateFieldGet(yi,this).set(e,a)}removeEventListener(t,e){const i=api_utils_classPrivateFieldGet(yi,this).get(e);i?.();api_utils_classPrivateFieldGet(yi,this).delete(e)}terminate(){for(const[,t]of api_utils_classPrivateFieldGet(yi,this))t?.();api_utils_classPrivateFieldGet(yi,this).clear()}}function message_handler_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function message_handler_classPrivateFieldGet(t,e){return t.get(message_handler_assertClassBrand(t,e))}function message_handler_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}const bi=1,Si=2,Ai=1,xi=2,Ci=3,Ei=4,ki=5,Gi=6,Mi=7,Ii=8;function onFn(){}function wrapReason(t){if(t instanceof AbortException||t instanceof InvalidPDFException||t instanceof PasswordException||t instanceof ResponseException||t instanceof UnknownErrorException)return t;t instanceof Error||"object"==typeof t&&null!==t||unreachable('wrapReason: Expected "reason" to be a (possibly cloned) Error.');switch(t.name){case"AbortException":return new AbortException(t.message);case"InvalidPDFException":return new InvalidPDFException(t.message);case"PasswordException":return new PasswordException(t.message,t.code);case"ResponseException":return new ResponseException(t.message,t.status,t.missing);case"UnknownErrorException":return new UnknownErrorException(t.message,t.details)}return new UnknownErrorException(t.message,t.toString())}var Ti=new WeakMap,Ri=new WeakSet;class MessageHandler{constructor(t,e,i){!function message_handler_classPrivateMethodInitSpec(t,e){message_handler_checkPrivateRedeclaration(t,e),e.add(t)}(this,Ri);!function message_handler_classPrivateFieldInitSpec(t,e,i){message_handler_checkPrivateRedeclaration(t,e),e.set(t,i)}(this,Ti,new AbortController);this.sourceName=t;this.targetName=e;this.comObj=i;this.callbackId=1;this.streamId=1;this.streamSinks=Object.create(null);this.streamControllers=Object.create(null);this.callbackCapabilities=Object.create(null);this.actionHandler=Object.create(null);i.addEventListener("message",message_handler_assertClassBrand(Ri,this,_onMessage).bind(this),{signal:message_handler_classPrivateFieldGet(Ti,this).signal})}on(t,e){const i=this.actionHandler;if(i[t])throw new Error(`There is already an actionName called "${t}"`);i[t]=e}send(t,e,i){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,data:e},i)}sendWithPromise(t,e,i){const a=this.callbackId++,s=Promise.withResolvers();this.callbackCapabilities[a]=s;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,callbackId:a,data:e},i)}catch(t){s.reject(t)}return s.promise}sendWithStream(t,e,i,a){const s=this.streamId++,r=this.sourceName,n=this.targetName,o=this.comObj;return new ReadableStream({start:i=>{const l=Promise.withResolvers();this.streamControllers[s]={controller:i,startCall:l,pullCall:null,cancelCall:null,isClosed:!1};o.postMessage({sourceName:r,targetName:n,action:t,streamId:s,data:e,desiredSize:i.desiredSize},a);return l.promise},pull:t=>{const e=Promise.withResolvers();this.streamControllers[s].pullCall=e;o.postMessage({sourceName:r,targetName:n,stream:Gi,streamId:s,desiredSize:t.desiredSize});return e.promise},cancel:t=>{assert(t instanceof Error,"cancel must have a valid reason");const e=Promise.withResolvers();this.streamControllers[s].cancelCall=e;this.streamControllers[s].isClosed=!0;o.postMessage({sourceName:r,targetName:n,stream:Ai,streamId:s,reason:wrapReason(t)});return e.promise}},i)}destroy(){message_handler_classPrivateFieldGet(Ti,this)?.abort();!function message_handler_classPrivateFieldSet(t,e,i){return t.set(message_handler_assertClassBrand(t,e),i),i}(Ti,this,null)}}function _onMessage(t){let{data:e}=t;if(e.targetName!==this.sourceName)return;if(e.stream){message_handler_assertClassBrand(Ri,this,_processStreamMessage).call(this,e);return}if(e.callback){const t=e.callbackId,i=this.callbackCapabilities[t];if(!i)throw new Error(`Cannot resolve callback ${t}`);delete this.callbackCapabilities[t];if(e.callback===bi)i.resolve(e.data);else{if(e.callback!==Si)throw new Error("Unexpected callback case");i.reject(wrapReason(e.reason))}return}const i=this.actionHandler[e.action];if(!i)throw new Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){const t=this.sourceName,a=e.sourceName,s=this.comObj;Promise.try(i,e.data).then((function(i){s.postMessage({sourceName:t,targetName:a,callback:bi,callbackId:e.callbackId,data:i})}),(function(i){s.postMessage({sourceName:t,targetName:a,callback:Si,callbackId:e.callbackId,reason:wrapReason(i)})}))}else e.streamId?message_handler_assertClassBrand(Ri,this,_createStreamSink).call(this,e):i(e.data)}function _createStreamSink(t){const e=t.streamId,i=this.sourceName,a=t.sourceName,s=this.comObj,r=this,n=this.actionHandler[t.action],o={enqueue(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2?arguments[2]:void 0;if(this.isCancelled)return;const o=this.desiredSize;this.desiredSize-=r;if(o>0&&this.desiredSize<=0){this.sinkCapability=Promise.withResolvers();this.ready=this.sinkCapability.promise}s.postMessage({sourceName:i,targetName:a,stream:Ei,streamId:e,chunk:t},n)},close(){if(!this.isCancelled){this.isCancelled=!0;s.postMessage({sourceName:i,targetName:a,stream:Ci,streamId:e});delete r.streamSinks[e]}},error(t){assert(t instanceof Error,"error must have a valid reason");if(!this.isCancelled){this.isCancelled=!0;s.postMessage({sourceName:i,targetName:a,stream:ki,streamId:e,reason:wrapReason(t)})}},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:t.desiredSize,ready:null};o.sinkCapability.resolve();o.ready=o.sinkCapability.promise;this.streamSinks[e]=o;Promise.try(n,t.data,o).then((function(){s.postMessage({sourceName:i,targetName:a,stream:Ii,streamId:e,success:!0})}),(function(t){s.postMessage({sourceName:i,targetName:a,stream:Ii,streamId:e,reason:wrapReason(t)})}))}function _processStreamMessage(t){const e=t.streamId,i=this.sourceName,a=t.sourceName,s=this.comObj,r=this.streamControllers[e],n=this.streamSinks[e];switch(t.stream){case Ii:t.success?r.startCall.resolve():r.startCall.reject(wrapReason(t.reason));break;case Mi:t.success?r.pullCall.resolve():r.pullCall.reject(wrapReason(t.reason));break;case Gi:if(!n){s.postMessage({sourceName:i,targetName:a,stream:Mi,streamId:e,success:!0});break}n.desiredSize<=0&&t.desiredSize>0&&n.sinkCapability.resolve();n.desiredSize=t.desiredSize;Promise.try(n.onPull||onFn).then((function(){s.postMessage({sourceName:i,targetName:a,stream:Mi,streamId:e,success:!0})}),(function(t){s.postMessage({sourceName:i,targetName:a,stream:Mi,streamId:e,reason:wrapReason(t)})}));break;case Ei:assert(r,"enqueue should have stream controller");if(r.isClosed)break;r.controller.enqueue(t.chunk);break;case Ci:assert(r,"close should have stream controller");if(r.isClosed)break;r.isClosed=!0;r.controller.close();message_handler_assertClassBrand(Ri,this,_deleteStreamController).call(this,r,e);break;case ki:assert(r,"error should have stream controller");r.controller.error(wrapReason(t.reason));message_handler_assertClassBrand(Ri,this,_deleteStreamController).call(this,r,e);break;case xi:t.success?r.cancelCall.resolve():r.cancelCall.reject(wrapReason(t.reason));message_handler_assertClassBrand(Ri,this,_deleteStreamController).call(this,r,e);break;case Ai:if(!n)break;const o=wrapReason(t.reason);Promise.try(n.onCancel||onFn,o).then((function(){s.postMessage({sourceName:i,targetName:a,stream:xi,streamId:e,success:!0})}),(function(t){s.postMessage({sourceName:i,targetName:a,stream:xi,streamId:e,reason:wrapReason(t)})}));n.sinkCapability.reject(o);n.isCancelled=!0;delete this.streamSinks[e];break;default:throw new Error("Unexpected stream case")}}async function _deleteStreamController(t,e){await Promise.allSettled([t.startCall?.promise,t.pullCall?.promise,t.cancelCall?.promise]);delete this.streamControllers[e]}function canvas_factory_classPrivateFieldInitSpec(t,e,i){(function canvas_factory_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t,e),e.set(t,i)}function canvas_factory_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var Di=new WeakMap;class BaseCanvasFactory{constructor(t){let{enableHWA:e=!1}=t;canvas_factory_classPrivateFieldInitSpec(this,Di,!1);!function canvas_factory_classPrivateFieldSet(t,e,i){return t.set(canvas_factory_assertClassBrand(t,e),i),i}(Di,this,e)}create(t,e){if(t<=0||e<=0)throw new Error("Invalid canvas size");const i=this._createCanvas(t,e);return{canvas:i,context:i.getContext("2d",{willReadFrequently:!(a=Di,s=this,a.get(canvas_factory_assertClassBrand(a,s)))})};var a,s}reset(t,e,i){if(!t.canvas)throw new Error("Canvas is not specified");if(e<=0||i<=0)throw new Error("Invalid canvas size");t.canvas.width=e;t.canvas.height=i}destroy(t){if(!t.canvas)throw new Error("Canvas is not specified");t.canvas.width=0;t.canvas.height=0;t.canvas=null;t.context=null}_createCanvas(t,e){unreachable("Abstract method `_createCanvas` called.")}}class DOMCanvasFactory extends BaseCanvasFactory{constructor(t){let{ownerDocument:e=globalThis.document,enableHWA:i=!1}=t;super({enableHWA:i});this._document=e}_createCanvas(t,e){const i=this._document.createElement("canvas");i.width=t;i.height=e;return i}}class BaseCMapReaderFactory{constructor(t){let{baseUrl:e=null,isCompressed:i=!0}=t;this.baseUrl=e;this.isCompressed=i}async fetch(t){let{name:e}=t;if(!this.baseUrl)throw new Error("Ensure that the `cMapUrl` and `cMapPacked` API parameters are provided.");if(!e)throw new Error("CMap name must be specified.");const i=this.baseUrl+e+(this.isCompressed?".bcmap":"");return this._fetch(i).then((t=>({cMapData:t,isCompressed:this.isCompressed}))).catch((t=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${i}`)}))}async _fetch(t){unreachable("Abstract method `_fetch` called.")}}class DOMCMapReaderFactory extends BaseCMapReaderFactory{async _fetch(t){const e=await fetchData(t,this.isCompressed?"arraybuffer":"text");return e instanceof ArrayBuffer?new Uint8Array(e):stringToBytes(e)}}__webpack_require__(2489);function filter_factory_classPrivateFieldInitSpec(t,e,i){filter_factory_checkPrivateRedeclaration(t,e),e.set(t,i)}function filter_factory_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function filter_factory_classPrivateGetter(t,e,i){return i(filter_factory_assertClassBrand(t,e))}function filter_factory_classPrivateFieldGet(t,e){return t.get(filter_factory_assertClassBrand(t,e))}function filter_factory_classPrivateFieldSet(t,e,i){return t.set(filter_factory_assertClassBrand(t,e),i),i}function filter_factory_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}class BaseFilterFactory{addFilter(t){return"none"}addHCMFilter(t,e){return"none"}addAlphaFilter(t){return"none"}addLuminosityFilter(t){return"none"}addHighlightHCMFilter(t,e,i,a,s){return"none"}destroy(){}}var Bi=new WeakMap,Li=new WeakMap,Oi=new WeakMap,Ni=new WeakMap,Wi=new WeakMap,Ui=new WeakMap,ji=new WeakMap,Hi=new WeakSet;class DOMFilterFactory extends BaseFilterFactory{constructor(t){let{docId:e,ownerDocument:i=globalThis.document}=t;super();!function filter_factory_classPrivateMethodInitSpec(t,e){filter_factory_checkPrivateRedeclaration(t,e),e.add(t)}(this,Hi);filter_factory_classPrivateFieldInitSpec(this,Bi,void 0);filter_factory_classPrivateFieldInitSpec(this,Li,void 0);filter_factory_classPrivateFieldInitSpec(this,Oi,void 0);filter_factory_classPrivateFieldInitSpec(this,Ni,void 0);filter_factory_classPrivateFieldInitSpec(this,Wi,void 0);filter_factory_classPrivateFieldInitSpec(this,Ui,void 0);filter_factory_classPrivateFieldInitSpec(this,ji,0);filter_factory_classPrivateFieldSet(Ni,this,e);filter_factory_classPrivateFieldSet(Wi,this,i)}addFilter(t){var e,i;if(!t)return"none";let a=filter_factory_classPrivateGetter(Hi,this,_get_cache).get(t);if(a)return a;const[s,r,n]=filter_factory_assertClassBrand(Hi,this,_createTables).call(this,t),o=1===t.length?s:`${s}${r}${n}`;a=filter_factory_classPrivateGetter(Hi,this,_get_cache).get(o);if(a){filter_factory_classPrivateGetter(Hi,this,_get_cache).set(t,a);return a}const l=`g_${filter_factory_classPrivateFieldGet(Ni,this)}_transfer_map_${filter_factory_classPrivateFieldSet(ji,this,(e=filter_factory_classPrivateFieldGet(ji,this),i=e++,e)),i}`,c=filter_factory_assertClassBrand(Hi,this,_createUrl).call(this,l);filter_factory_classPrivateGetter(Hi,this,_get_cache).set(t,c);filter_factory_classPrivateGetter(Hi,this,_get_cache).set(o,c);const d=filter_factory_assertClassBrand(Hi,this,_createFilter).call(this,l);filter_factory_assertClassBrand(Hi,this,_addTransferMapConversion).call(this,s,r,n,d);return c}addHCMFilter(t,e){const i=`${t}-${e}`,a="base";let s=filter_factory_classPrivateGetter(Hi,this,_get_hcmCache).get(a);if(s?.key===i)return s.url;if(s){s.filter?.remove();s.key=i;s.url="none";s.filter=null}else{s={key:i,url:"none",filter:null};filter_factory_classPrivateGetter(Hi,this,_get_hcmCache).set(a,s)}if(!t||!e)return s.url;const r=filter_factory_assertClassBrand(Hi,this,_getRGB).call(this,t);t=util_Util.makeHexColor(...r);const n=filter_factory_assertClassBrand(Hi,this,_getRGB).call(this,e);e=util_Util.makeHexColor(...n);filter_factory_classPrivateGetter(Hi,this,_get_defs).style.color="";if("#000000"===t&&"#ffffff"===e||t===e)return s.url;const o=new Array(256);for(let t=0;t<=255;t++){const e=t/255;o[t]=e<=.03928?e/12.92:((e+.055)/1.055)**2.4}const l=o.join(","),c=`g_${filter_factory_classPrivateFieldGet(Ni,this)}_hcm_filter`,d=s.filter=filter_factory_assertClassBrand(Hi,this,_createFilter).call(this,c);filter_factory_assertClassBrand(Hi,this,_addTransferMapConversion).call(this,l,l,l,d);filter_factory_assertClassBrand(Hi,this,_addGrayConversion).call(this,d);const getSteps=(t,e)=>{const i=r[t]/255,a=n[t]/255,s=new Array(e+1);for(let t=0;t<=e;t++)s[t]=i+t/e*(a-i);return s.join(",")};filter_factory_assertClassBrand(Hi,this,_addTransferMapConversion).call(this,getSteps(0,5),getSteps(1,5),getSteps(2,5),d);s.url=filter_factory_assertClassBrand(Hi,this,_createUrl).call(this,c);return s.url}addAlphaFilter(t){var e,i;let a=filter_factory_classPrivateGetter(Hi,this,_get_cache).get(t);if(a)return a;const[s]=filter_factory_assertClassBrand(Hi,this,_createTables).call(this,[t]),r=`alpha_${s}`;a=filter_factory_classPrivateGetter(Hi,this,_get_cache).get(r);if(a){filter_factory_classPrivateGetter(Hi,this,_get_cache).set(t,a);return a}const n=`g_${filter_factory_classPrivateFieldGet(Ni,this)}_alpha_map_${filter_factory_classPrivateFieldSet(ji,this,(e=filter_factory_classPrivateFieldGet(ji,this),i=e++,e)),i}`,o=filter_factory_assertClassBrand(Hi,this,_createUrl).call(this,n);filter_factory_classPrivateGetter(Hi,this,_get_cache).set(t,o);filter_factory_classPrivateGetter(Hi,this,_get_cache).set(r,o);const l=filter_factory_assertClassBrand(Hi,this,_createFilter).call(this,n);filter_factory_assertClassBrand(Hi,this,_addTransferMapAlphaConversion).call(this,s,l);return o}addLuminosityFilter(t){var e,i;let a,s,r=filter_factory_classPrivateGetter(Hi,this,_get_cache).get(t||"luminosity");if(r)return r;if(t){[a]=filter_factory_assertClassBrand(Hi,this,_createTables).call(this,[t]);s=`luminosity_${a}`}else s="luminosity";r=filter_factory_classPrivateGetter(Hi,this,_get_cache).get(s);if(r){filter_factory_classPrivateGetter(Hi,this,_get_cache).set(t,r);return r}const n=`g_${filter_factory_classPrivateFieldGet(Ni,this)}_luminosity_map_${filter_factory_classPrivateFieldSet(ji,this,(e=filter_factory_classPrivateFieldGet(ji,this),i=e++,e)),i}`,o=filter_factory_assertClassBrand(Hi,this,_createUrl).call(this,n);filter_factory_classPrivateGetter(Hi,this,_get_cache).set(t,o);filter_factory_classPrivateGetter(Hi,this,_get_cache).set(s,o);const l=filter_factory_assertClassBrand(Hi,this,_createFilter).call(this,n);filter_factory_assertClassBrand(Hi,this,_addLuminosityConversion).call(this,l);t&&filter_factory_assertClassBrand(Hi,this,_addTransferMapAlphaConversion).call(this,a,l);return o}addHighlightHCMFilter(t,e,i,a,s){const r=`${e}-${i}-${a}-${s}`;let n=filter_factory_classPrivateGetter(Hi,this,_get_hcmCache).get(t);if(n?.key===r)return n.url;if(n){n.filter?.remove();n.key=r;n.url="none";n.filter=null}else{n={key:r,url:"none",filter:null};filter_factory_classPrivateGetter(Hi,this,_get_hcmCache).set(t,n)}if(!e||!i)return n.url;const[o,l]=[e,i].map(filter_factory_assertClassBrand(Hi,this,_getRGB).bind(this));let c=Math.round(.2126*o[0]+.7152*o[1]+.0722*o[2]),d=Math.round(.2126*l[0]+.7152*l[1]+.0722*l[2]),[h,u]=[a,s].map(filter_factory_assertClassBrand(Hi,this,_getRGB).bind(this));d{const a=new Array(256),s=(d-c)/i,r=t/255,n=(e-t)/(255*i);let o=0;for(let t=0;t<=i;t++){const e=Math.round(c+t*s),i=r+t*n;for(let t=o;t<=e;t++)a[t]=i;o=e+1}for(let t=o;t<256;t++)a[t]=a[o-1];return a.join(",")},_=`g_${filter_factory_classPrivateFieldGet(Ni,this)}_hcm_${t}_filter`,p=n.filter=filter_factory_assertClassBrand(Hi,this,_createFilter).call(this,_);filter_factory_assertClassBrand(Hi,this,_addGrayConversion).call(this,p);filter_factory_assertClassBrand(Hi,this,_addTransferMapConversion).call(this,getSteps(h[0],u[0],5),getSteps(h[1],u[1],5),getSteps(h[2],u[2],5),p);n.url=filter_factory_assertClassBrand(Hi,this,_createUrl).call(this,_);return n.url}destroy(){if(!(arguments.length>0&&void 0!==arguments[0]&&arguments[0])||!filter_factory_classPrivateFieldGet(Ui,this)?.size){filter_factory_classPrivateFieldGet(Oi,this)?.parentNode.parentNode.remove();filter_factory_classPrivateFieldSet(Oi,this,null);filter_factory_classPrivateFieldGet(Li,this)?.clear();filter_factory_classPrivateFieldSet(Li,this,null);filter_factory_classPrivateFieldGet(Ui,this)?.clear();filter_factory_classPrivateFieldSet(Ui,this,null);filter_factory_classPrivateFieldSet(ji,this,0)}}}function _get_cache(t){return filter_factory_classPrivateFieldGet(Li,t)||filter_factory_classPrivateFieldSet(Li,t,new Map)}function _get_hcmCache(t){return filter_factory_classPrivateFieldGet(Ui,t)||filter_factory_classPrivateFieldSet(Ui,t,new Map)}function _get_defs(t){if(!filter_factory_classPrivateFieldGet(Oi,t)){const e=filter_factory_classPrivateFieldGet(Wi,t).createElement("div"),{style:i}=e;i.visibility="hidden";i.contain="strict";i.width=i.height=0;i.position="absolute";i.top=i.left=0;i.zIndex=-1;const a=filter_factory_classPrivateFieldGet(Wi,t).createElementNS(V,"svg");a.setAttribute("width",0);a.setAttribute("height",0);filter_factory_classPrivateFieldSet(Oi,t,filter_factory_classPrivateFieldGet(Wi,t).createElementNS(V,"defs"));e.append(a);a.append(filter_factory_classPrivateFieldGet(Oi,t));filter_factory_classPrivateFieldGet(Wi,t).body.append(e)}return filter_factory_classPrivateFieldGet(Oi,t)}function _createTables(t){if(1===t.length){const e=t[0],i=new Array(256);for(let t=0;t<256;t++)i[t]=e[t]/255;const a=i.join(",");return[a,a,a]}const[e,i,a]=t,s=new Array(256),r=new Array(256),n=new Array(256);for(let t=0;t<256;t++){s[t]=e[t]/255;r[t]=i[t]/255;n[t]=a[t]/255}return[s.join(","),r.join(","),n.join(",")]}function _createUrl(t){if(void 0===filter_factory_classPrivateFieldGet(Bi,this)){filter_factory_classPrivateFieldSet(Bi,this,"");const t=filter_factory_classPrivateFieldGet(Wi,this).URL;t!==filter_factory_classPrivateFieldGet(Wi,this).baseURI&&(isDataScheme(t)?warn('#createUrl: ignore "data:"-URL for performance reasons.'):filter_factory_classPrivateFieldSet(Bi,this,updateUrlHash(t,"")))}return`url(${filter_factory_classPrivateFieldGet(Bi,this)}#${t})`}function _addLuminosityConversion(t){const e=filter_factory_classPrivateFieldGet(Wi,this).createElementNS(V,"feColorMatrix");e.setAttribute("type","matrix");e.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0");t.append(e)}function _addGrayConversion(t){const e=filter_factory_classPrivateFieldGet(Wi,this).createElementNS(V,"feColorMatrix");e.setAttribute("type","matrix");e.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0");t.append(e)}function _createFilter(t){const e=filter_factory_classPrivateFieldGet(Wi,this).createElementNS(V,"filter");e.setAttribute("color-interpolation-filters","sRGB");e.setAttribute("id",t);filter_factory_classPrivateGetter(Hi,this,_get_defs).append(e);return e}function _appendFeFunc(t,e,i){const a=filter_factory_classPrivateFieldGet(Wi,this).createElementNS(V,e);a.setAttribute("type","discrete");a.setAttribute("tableValues",i);t.append(a)}function _addTransferMapConversion(t,e,i,a){const s=filter_factory_classPrivateFieldGet(Wi,this).createElementNS(V,"feComponentTransfer");a.append(s);filter_factory_assertClassBrand(Hi,this,_appendFeFunc).call(this,s,"feFuncR",t);filter_factory_assertClassBrand(Hi,this,_appendFeFunc).call(this,s,"feFuncG",e);filter_factory_assertClassBrand(Hi,this,_appendFeFunc).call(this,s,"feFuncB",i)}function _addTransferMapAlphaConversion(t,e){const i=filter_factory_classPrivateFieldGet(Wi,this).createElementNS(V,"feComponentTransfer");e.append(i);filter_factory_assertClassBrand(Hi,this,_appendFeFunc).call(this,i,"feFuncA",t)}function _getRGB(t){filter_factory_classPrivateGetter(Hi,this,_get_defs).style.color=t;return getRGB(getComputedStyle(filter_factory_classPrivateGetter(Hi,this,_get_defs)).getPropertyValue("color"))}class BaseStandardFontDataFactory{constructor(t){let{baseUrl:e=null}=t;this.baseUrl=e}async fetch(t){let{filename:e}=t;if(!this.baseUrl)throw new Error("Ensure that the `standardFontDataUrl` API parameter is provided.");if(!e)throw new Error("Font filename must be specified.");const i=`${this.baseUrl}${e}`;return this._fetch(i).catch((t=>{throw new Error(`Unable to load font data at: ${i}`)}))}async _fetch(t){unreachable("Abstract method `_fetch` called.")}}class DOMStandardFontDataFactory extends BaseStandardFontDataFactory{async _fetch(t){const e=await fetchData(t,"arraybuffer");return new Uint8Array(e)}}class BaseWasmFactory{constructor(t){let{baseUrl:e=null}=t;this.baseUrl=e}async fetch(t){let{filename:e}=t;if(!this.baseUrl)throw new Error("Ensure that the `wasmUrl` API parameter is provided.");if(!e)throw new Error("Wasm filename must be specified.");const i=`${this.baseUrl}${e}`;return this._fetch(i).catch((t=>{throw new Error(`Unable to load wasm data at: ${i}`)}))}async _fetch(t){unreachable("Abstract method `_fetch` called.")}}class DOMWasmFactory extends BaseWasmFactory{async _fetch(t){const e=await fetchData(t,"arraybuffer");return new Uint8Array(e)}}if(a){let t;try{const e=process.getBuiltinModule("module").createRequire(import.meta.url);try{t=e("@napi-rs/canvas")}catch(t){warn(`Cannot load "@napi-rs/canvas" package: "${t}".`)}}catch(t){warn(`Cannot access the \`require\` function: "${t}".`)}globalThis.DOMMatrix||(t?.DOMMatrix?globalThis.DOMMatrix=t.DOMMatrix:warn("Cannot polyfill `DOMMatrix`, rendering may be broken."));globalThis.ImageData||(t?.ImageData?globalThis.ImageData=t.ImageData:warn("Cannot polyfill `ImageData`, rendering may be broken."));globalThis.Path2D||(t?.Path2D?globalThis.Path2D=t.Path2D:warn("Cannot polyfill `Path2D`, rendering may be broken."));globalThis.navigator?.language||(globalThis.navigator={language:"en-US",platform:"",userAgent:""})}async function node_utils_fetchData(t){const e=process.getBuiltinModule("fs"),i=await e.promises.readFile(t);return new Uint8Array(i)}class NodeFilterFactory extends BaseFilterFactory{}class NodeCanvasFactory extends BaseCanvasFactory{_createCanvas(t,e){return process.getBuiltinModule("module").createRequire(import.meta.url)("@napi-rs/canvas").createCanvas(t,e)}}class NodeCMapReaderFactory extends BaseCMapReaderFactory{async _fetch(t){return node_utils_fetchData(t)}}class NodeStandardFontDataFactory extends BaseStandardFontDataFactory{async _fetch(t){return node_utils_fetchData(t)}}class NodeWasmFactory extends BaseWasmFactory{async _fetch(t){return node_utils_fetchData(t)}}const zi="Fill",$i="Stroke",Vi="Shading";function applyBoundingBox(t,e){if(!e)return;const i=e[2]-e[0],a=e[3]-e[1],s=new Path2D;s.rect(e[0],e[1],i,a);t.clip(s)}class BaseShadingPattern{isModifyingCurrentTransform(){return!1}getPattern(){unreachable("Abstract method `getPattern` called.")}}class RadialAxialShadingPattern extends BaseShadingPattern{constructor(t){super();this._type=t[1];this._bbox=t[2];this._colorStops=t[3];this._p0=t[4];this._p1=t[5];this._r0=t[6];this._r1=t[7];this.matrix=null}_createGradient(t){let e;"axial"===this._type?e=t.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):"radial"===this._type&&(e=t.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const t of this._colorStops)e.addColorStop(t[0],t[1]);return e}getPattern(t,e,i,a){let s;if(a===$i||a===zi){const r=e.current.getClippedPathBoundingBox(a,getCurrentTransform(t))||[0,0,0,0],n=Math.ceil(r[2]-r[0])||1,o=Math.ceil(r[3]-r[1])||1,l=e.cachedCanvases.getCanvas("pattern",n,o),c=l.context;c.clearRect(0,0,c.canvas.width,c.canvas.height);c.beginPath();c.rect(0,0,c.canvas.width,c.canvas.height);c.translate(-r[0],-r[1]);i=util_Util.transform(i,[1,0,0,1,r[0],r[1]]);c.transform(...e.baseTransform);this.matrix&&c.transform(...this.matrix);applyBoundingBox(c,this._bbox);c.fillStyle=this._createGradient(c);c.fill();s=t.createPattern(l.canvas,"no-repeat");const d=new DOMMatrix(i);s.setTransform(d)}else{applyBoundingBox(t,this._bbox);s=this._createGradient(t)}return s}}function drawTriangle(t,e,i,a,s,r,n,o){const l=e.coords,c=e.colors,d=t.data,h=4*t.width;let u;if(l[i+1]>l[a+1]){u=i;i=a;a=u;u=r;r=n;n=u}if(l[a+1]>l[s+1]){u=a;a=s;s=u;u=n;n=o;o=u}if(l[i+1]>l[a+1]){u=i;i=a;a=u;u=r;r=n;n=u}const _=(l[i]+e.offsetX)*e.scaleX,p=(l[i+1]+e.offsetY)*e.scaleY,f=(l[a]+e.offsetX)*e.scaleX,g=(l[a+1]+e.offsetY)*e.scaleY,v=(l[s]+e.offsetX)*e.scaleX,m=(l[s+1]+e.offsetY)*e.scaleY;if(p>=m)return;const P=c[r],w=c[r+1],y=c[r+2],b=c[n],S=c[n+1],A=c[n+2],x=c[o],C=c[o+1],E=c[o+2],k=Math.round(p),G=Math.round(m);let M,I,T,R,D,B,L,O;for(let t=k;t<=G;t++){if(tm?1:g===m?0:(g-t)/(g-m);M=f-(f-v)*e;I=b-(b-x)*e;T=S-(S-C)*e;R=A-(A-E)*e}let e;e=tm?1:(p-t)/(p-m);D=_-(_-v)*e;B=P-(P-x)*e;L=w-(w-C)*e;O=y-(y-E)*e;const i=Math.round(Math.min(M,D)),a=Math.round(Math.max(M,D));let s=h*t+4*i;for(let t=i;t<=a;t++){e=(M-t)/(M-D);e<0?e=0:e>1&&(e=1);d[s++]=I-(I-B)*e|0;d[s++]=T-(T-L)*e|0;d[s++]=R-(R-O)*e|0;d[s++]=255}}}function drawFigure(t,e,i){const a=e.coords,s=e.colors;let r,n;switch(e.type){case"lattice":const o=e.verticesPerRow,l=Math.floor(a.length/o)-1,c=o-1;for(r=0;r=Math.ceil(_*m)?w=o:b=!0;x>=Math.ceil(p*P)?y=l:S=!0;const C=this.getSizeAndScale(w,this.ctx.canvas.width,m),E=this.getSizeAndScale(y,this.ctx.canvas.height,P),k=t.cachedCanvases.getCanvas("pattern",C.size,E.size),G=k.context,M=n.createCanvasGraphics(G);M.groupLevel=t.groupLevel;this.setFillAndStrokeStyleToContext(M,a,r);G.translate(-C.scale*c,-E.scale*d);M.transform(C.scale,0,0,E.scale,0,0);G.save();this.clipBbox(M,c,d,h,u);M.baseTransform=getCurrentTransform(M.ctx);M.executeOperatorList(i);M.endDrawing();G.restore();if(b||S){const e=k.canvas;b&&(w=o);S&&(y=l);const i=this.getSizeAndScale(w,this.ctx.canvas.width,m),a=this.getSizeAndScale(y,this.ctx.canvas.height,P),s=i.size,r=a.size,n=t.cachedCanvases.getCanvas("pattern-workaround",s,r),h=n.context,u=b?Math.floor(_/o):0,f=S?Math.floor(p/l):0;for(let t=0;t<=u;t++)for(let i=0;i<=f;i++)h.drawImage(e,s*t,r*i,s,r,0,0,s,r);return{canvas:n.canvas,scaleX:i.scale,scaleY:a.scale,offsetX:c,offsetY:d}}return{canvas:k.canvas,scaleX:C.scale,scaleY:E.scale,offsetX:c,offsetY:d}}getSizeAndScale(t,e,i){const a=Math.max(TilingPattern.MAX_PATTERN_SIZE,e);let s=Math.ceil(t*i);s>=a?s=a:i=s/t;return{scale:i,size:s}}clipBbox(t,e,i,a,s){const r=a-e,n=s-i;t.ctx.rect(e,i,r,n);util_Util.axialAlignedBoundingBox([e,i,a,s],getCurrentTransform(t.ctx),t.current.minMax);t.clip();t.endPath()}setFillAndStrokeStyleToContext(t,e,i){const a=t.ctx,s=t.current;switch(e){case qi:const{fillStyle:t,strokeStyle:r}=this.ctx;a.fillStyle=s.fillColor=t;a.strokeStyle=s.strokeColor=r;break;case Xi:a.fillStyle=a.strokeStyle=i;s.fillColor=s.strokeColor=i;break;default:throw new FormatError(`Unsupported paint type: ${e}`)}}isModifyingCurrentTransform(){return!1}getPattern(t,e,i,a){let s=i;if(a!==Vi){s=util_Util.transform(s,e.baseTransform);this.matrix&&(s=util_Util.transform(s,this.matrix))}const r=this.createPatternCanvas(e);let n=new DOMMatrix(s);n=n.translate(r.offsetX,r.offsetY);n=n.scale(1/r.scaleX,1/r.scaleY);const o=t.createPattern(r.canvas,"repeat");o.setTransform(n);return o}}!function pattern_helper_defineProperty(t,e,i){return(e=function pattern_helper_toPropertyKey(t){var e=function pattern_helper_toPrimitive(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}(TilingPattern,"MAX_PATTERN_SIZE",3e3);function convertBlackAndWhiteToRGBA(t){let{src:e,srcPos:i=0,dest:a,width:s,height:r,nonBlackColor:n=4294967295,inverseDecode:o=!1}=t;const l=util_FeatureTest.isLittleEndian?4278190080:255,[c,d]=o?[n,l]:[l,n],h=s>>3,u=7&s,_=e.length;a=new Uint32Array(a.buffer);let p=0;for(let t=0;t0&&void 0!==arguments[0]?arguments[0]:zi,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const i=this.minMax.slice();if(t===$i){e||unreachable("Stroke bounding box must include transform.");util_Util.singularValueDecompose2dScale(e,Qi);const t=Qi[0]*this.lineWidth/2,a=Qi[1]*this.lineWidth/2;i[0]-=t;i[1]-=a;i[2]+=t;i[3]+=a}return i}updateClipFromPath(){const t=util_Util.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(t||[0,0,0,0])}isEmptyClip(){return this.minMax[0]===1/0}startNewPathAndClipBox(t){this.clipBox.set(t,0);this.minMax.set(Ji,0)}getClippedPathBoundingBox(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:zi,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return util_Util.intersect(this.clipBox,this.getPathBoundingBox(t,e))}}function putBinaryImageData(t,e){if(e instanceof ImageData){t.putImageData(e,0,0);return}const i=e.height,a=e.width,s=i%Ki,r=(i-s)/Ki,n=0===s?r:r+1,o=t.createImageData(a,Ki);let l,c=0;const d=e.data,h=o.data;let u,_,p,f;if(e.kind===A.GRAYSCALE_1BPP){const e=d.byteLength,i=new Uint32Array(h.buffer,0,h.byteLength>>2),f=i.length,g=a+7>>3,v=4294967295,m=util_FeatureTest.isLittleEndian?4278190080:255;for(u=0;ug?a:8*t-7,n=-8&r;let o=0,h=0;for(;s>=1}}for(;l=r){p=s;f=a*p}l=0;for(_=f;_--;){h[l++]=d[c++];h[l++]=d[c++];h[l++]=d[c++];h[l++]=255}t.putImageData(o,0,u*Ki)}}}function putBinaryImageMask(t,e){if(e.bitmap){t.drawImage(e.bitmap,0,0);return}const i=e.height,a=e.width,s=i%Ki,r=(i-s)/Ki,n=0===s?r:r+1,o=t.createImageData(a,Ki);let l=0;const c=e.data,d=o.data;for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:null;return"string"==typeof t?t.startsWith("g_")?this.commonObjs.get(t):this.objs.get(t):e}beginDrawing(t){let{transform:e,viewport:i,transparency:a=!1,background:s=null,invert:r=!1}=t;const n=this.ctx.canvas.width,o=this.ctx.canvas.height;this.invert=r;this.current.inverted=r;const l=this.ctx.fillStyle;this.ctx.fillStyle=s||"#ffffff";this.ctx.fillRect(0,0,n,o);this.ctx.fillStyle=l;if(a){const t=this.cachedCanvases.getCanvas("transparent",n,o);this.compositeCtx=this.ctx;this.transparentCanvas=t.canvas;this.ctx=t.context;this.ctx.save();this.ctx.transform(...getCurrentTransform(this.compositeCtx))}this.ctx.save();resetCtxToDefault(this.ctx,this.current.inverted);if(e){this.ctx.transform(...e);this.outputScaleX=e[0];this.outputScaleY=e[0]}this.ctx.transform(...i.transform);this.viewportScale=i.scale;this.baseTransform=getCurrentTransform(this.ctx)}executeOperatorList(t,e,i,a){const s=t.argsArray,r=t.fnArray;let n=e||0;const o=s.length;if(o===n)return n;const l=o-n>10&&"function"==typeof i,c=l?Date.now()+15:0;let d=0;const h=this.commonObjs,u=this.objs;let _;for(;;){if(void 0!==a&&n===a.nextBreakPoint){a.breakIt(n,i);return n}_=r[n];if(_!==T.dependency)this[_].apply(this,s[n]);else for(const t of s[n]){const e=t.startsWith("g_")?h:u;if(!e.has(t)){e.get(t,i);return n}}n++;if(n===o)return n;if(l&&++d>10){if(Date.now()>c){i();return n}d=0}}}endDrawing(){canvas_assertClassBrand(aa,this,_restoreInitialState).call(this);this.cachedCanvases.clear();this.cachedPatterns.clear();for(const t of this._cachedBitmapsMap.values()){for(const e of t.values())"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement&&(e.width=e.height=0);t.clear()}this._cachedBitmapsMap.clear();canvas_assertClassBrand(aa,this,_drawFilter).call(this)}_scaleImage(t,e){const i=t.width??t.displayWidth,a=t.height??t.displayHeight;let s,r,n=Math.max(Math.hypot(e[0],e[1]),1),o=Math.max(Math.hypot(e[2],e[3]),1),l=i,c=a,d="prescale1";for(;n>2&&l>1||o>2&&c>1;){let e=l,i=c;if(n>2&&l>1){e=l>=16384?Math.floor(l/2)-1||1:Math.ceil(l/2);n/=l/e}if(o>2&&c>1){i=c>=16384?Math.floor(c/2)-1||1:Math.ceil(c)/2;o/=c/i}s=this.cachedCanvases.getCanvas(d,e,i);r=s.context;r.clearRect(0,0,e,i);r.drawImage(t,0,0,l,c,0,0,e,i);t=s.canvas;l=e;c=i;d="prescale1"===d?"prescale2":"prescale1"}return{img:t,paintWidth:l,paintHeight:c}}_createMaskCanvas(t){const e=this.ctx,{width:i,height:a}=t,s=this.current.fillColor,r=this.current.patternFill,n=getCurrentTransform(e);let o,l,c,d;if((t.bitmap||t.data)&&t.count>1){const e=t.bitmap||t.data.buffer;l=JSON.stringify(r?n:[n.slice(0,4),s]);o=this._cachedBitmapsMap.get(e);if(!o){o=new Map;this._cachedBitmapsMap.set(e,o)}const i=o.get(l);if(i&&!r){return{canvas:i,offsetX:Math.round(Math.min(n[0],n[2])+n[4]),offsetY:Math.round(Math.min(n[1],n[3])+n[5])}}c=i}if(!c){d=this.cachedCanvases.getCanvas("maskCanvas",i,a);putBinaryImageMask(d.context,t)}let h=util_Util.transform(n,[1/i,0,0,-1/a,0,0]);h=util_Util.transform(h,[1,0,0,1,0,-a]);const u=Ji.slice();util_Util.axialAlignedBoundingBox([0,0,i,a],h,u);const[_,p,f,g]=u,v=Math.round(f-_)||1,m=Math.round(g-p)||1,P=this.cachedCanvases.getCanvas("fillCanvas",v,m),w=P.context,y=_,b=p;w.translate(-y,-b);w.transform(...h);if(!c){c=this._scaleImage(d.canvas,getCurrentTransformInverse(w));c=c.img;o&&r&&o.set(l,c)}w.imageSmoothingEnabled=getImageSmoothingEnabled(getCurrentTransform(w),t.interpolate);drawImageAtIntegerCoords(w,c,0,0,c.width,c.height,0,0,i,a);w.globalCompositeOperation="source-in";const S=util_Util.transform(getCurrentTransformInverse(w),[1,0,0,1,-y,-b]);w.fillStyle=r?s.getPattern(e,this,S,zi):s;w.fillRect(0,0,i,a);if(o&&!r){this.cachedCanvases.delete("fillCanvas");o.set(l,P.canvas)}return{canvas:P.canvas,offsetX:Math.round(y),offsetY:Math.round(b)}}setLineWidth(t){t!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1);this.current.lineWidth=t;this.ctx.lineWidth=t}setLineCap(t){this.ctx.lineCap=Zi[t]}setLineJoin(t){this.ctx.lineJoin=ta[t]}setMiterLimit(t){this.ctx.miterLimit=t}setDash(t,e){const i=this.ctx;if(void 0!==i.setLineDash){i.setLineDash(t);i.lineDashOffset=e}}setRenderingIntent(t){}setFlatness(t){}setGState(t){for(const[e,i]of t)switch(e){case"LW":this.setLineWidth(i);break;case"LC":this.setLineCap(i);break;case"LJ":this.setLineJoin(i);break;case"ML":this.setMiterLimit(i);break;case"D":this.setDash(i[0],i[1]);break;case"RI":this.setRenderingIntent(i);break;case"FL":this.setFlatness(i);break;case"Font":this.setFont(i[0],i[1]);break;case"CA":this.current.strokeAlpha=i;break;case"ca":this.ctx.globalAlpha=this.current.fillAlpha=i;break;case"BM":this.ctx.globalCompositeOperation=this.invert&&"multiply"===i?"soft-light":i;break;case"SMask":this.current.activeSMask=i?this.tempSMask:null;this.tempSMask=null;this.checkSMaskState();break;case"TR":this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(i)}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const t=this.inSMaskMode;this.current.activeSMask&&!t?this.beginSMaskMode():!this.current.activeSMask&&t&&this.endSMaskMode()}beginSMaskMode(){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const t=this.ctx.canvas.width,e=this.ctx.canvas.height,i="smaskGroupAt"+this.groupLevel,a=this.cachedCanvases.getCanvas(i,t,e);this.suspendedCtx=this.ctx;const s=this.ctx=a.context;s.setTransform(this.suspendedCtx.getTransform());copyCtxState(this.suspendedCtx,s);!function mirrorContextOperations(t,e){if(t._removeMirroring)throw new Error("Context is already forwarding operations.");t.__originalSave=t.save;t.__originalRestore=t.restore;t.__originalRotate=t.rotate;t.__originalScale=t.scale;t.__originalTranslate=t.translate;t.__originalTransform=t.transform;t.__originalSetTransform=t.setTransform;t.__originalResetTransform=t.resetTransform;t.__originalClip=t.clip;t.__originalMoveTo=t.moveTo;t.__originalLineTo=t.lineTo;t.__originalBezierCurveTo=t.bezierCurveTo;t.__originalRect=t.rect;t.__originalClosePath=t.closePath;t.__originalBeginPath=t.beginPath;t._removeMirroring=()=>{t.save=t.__originalSave;t.restore=t.__originalRestore;t.rotate=t.__originalRotate;t.scale=t.__originalScale;t.translate=t.__originalTranslate;t.transform=t.__originalTransform;t.setTransform=t.__originalSetTransform;t.resetTransform=t.__originalResetTransform;t.clip=t.__originalClip;t.moveTo=t.__originalMoveTo;t.lineTo=t.__originalLineTo;t.bezierCurveTo=t.__originalBezierCurveTo;t.rect=t.__originalRect;t.closePath=t.__originalClosePath;t.beginPath=t.__originalBeginPath;delete t._removeMirroring};t.save=function(){e.save();this.__originalSave()};t.restore=function(){e.restore();this.__originalRestore()};t.translate=function(t,i){e.translate(t,i);this.__originalTranslate(t,i)};t.scale=function(t,i){e.scale(t,i);this.__originalScale(t,i)};t.transform=function(t,i,a,s,r,n){e.transform(t,i,a,s,r,n);this.__originalTransform(t,i,a,s,r,n)};t.setTransform=function(t,i,a,s,r,n){e.setTransform(t,i,a,s,r,n);this.__originalSetTransform(t,i,a,s,r,n)};t.resetTransform=function(){e.resetTransform();this.__originalResetTransform()};t.rotate=function(t){e.rotate(t);this.__originalRotate(t)};t.clip=function(t){e.clip(t);this.__originalClip(t)};t.moveTo=function(t,i){e.moveTo(t,i);this.__originalMoveTo(t,i)};t.lineTo=function(t,i){e.lineTo(t,i);this.__originalLineTo(t,i)};t.bezierCurveTo=function(t,i,a,s,r,n){e.bezierCurveTo(t,i,a,s,r,n);this.__originalBezierCurveTo(t,i,a,s,r,n)};t.rect=function(t,i,a,s){e.rect(t,i,a,s);this.__originalRect(t,i,a,s)};t.closePath=function(){e.closePath();this.__originalClosePath()};t.beginPath=function(){e.beginPath();this.__originalBeginPath()}}(s,this.suspendedCtx);this.setGState([["BM","source-over"]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring();copyCtxState(this.ctx,this.suspendedCtx);this.ctx=this.suspendedCtx;this.suspendedCtx=null}compose(t){if(!this.current.activeSMask)return;if(t){t[0]=Math.floor(t[0]);t[1]=Math.floor(t[1]);t[2]=Math.ceil(t[2]);t[3]=Math.ceil(t[3])}else t=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const e=this.current.activeSMask,i=this.suspendedCtx;this.composeSMask(i,e,this.ctx,t);this.ctx.save();this.ctx.setTransform(1,0,0,1,0,0);this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height);this.ctx.restore()}composeSMask(t,e,i,a){const s=a[0],r=a[1],n=a[2]-s,o=a[3]-r;if(0!==n&&0!==o){this.genericComposeSMask(e.context,i,n,o,e.subtype,e.backdrop,e.transferMap,s,r,e.offsetX,e.offsetY);t.save();t.globalAlpha=1;t.globalCompositeOperation="source-over";t.setTransform(1,0,0,1,0,0);t.drawImage(i.canvas,0,0);t.restore()}}genericComposeSMask(t,e,i,a,s,r,n,o,l,c,d){let h=t.canvas,u=o-c,_=l-d;if(r)if(u<0||_<0||u+i>h.width||_+a>h.height){const t=this.cachedCanvases.getCanvas("maskExtension",i,a),e=t.context;e.drawImage(h,-u,-_);e.globalCompositeOperation="destination-atop";e.fillStyle=r;e.fillRect(0,0,i,a);e.globalCompositeOperation="source-over";h=t.canvas;u=_=0}else{t.save();t.globalAlpha=1;t.setTransform(1,0,0,1,0,0);const e=new Path2D;e.rect(u,_,i,a);t.clip(e);t.globalCompositeOperation="destination-atop";t.fillStyle=r;t.fillRect(u,_,i,a);t.restore()}e.save();e.globalAlpha=1;e.setTransform(1,0,0,1,0,0);"Alpha"===s&&n?e.filter=this.filterFactory.addAlphaFilter(n):"Luminosity"===s&&(e.filter=this.filterFactory.addLuminosityFilter(n));const p=new Path2D;p.rect(o,l,i,a);e.clip(p);e.globalCompositeOperation="destination-in";e.drawImage(h,u,_,i,a,o,l,i,a);e.restore()}save(){this.inSMaskMode&©CtxState(this.ctx,this.suspendedCtx);this.ctx.save();const t=this.current;this.stateStack.push(t);this.current=t.clone()}restore(){if(0!==this.stateStack.length){this.current=this.stateStack.pop();this.ctx.restore();this.inSMaskMode&©CtxState(this.suspendedCtx,this.ctx);this.checkSMaskState();this.pendingClip=null;this._cachedScaleForStroking[0]=-1;this._cachedGetSinglePixelWidth=null}else this.inSMaskMode&&this.endSMaskMode()}transform(t,e,i,a,s,r){this.ctx.transform(t,e,i,a,s,r);this._cachedScaleForStroking[0]=-1;this._cachedGetSinglePixelWidth=null}constructPath(t,e,i){let[a]=e;if(i){if(!(a instanceof Path2D)){const t=e[0]=new Path2D;for(let e=0,i=a.length;e1&&void 0!==arguments[1])||arguments[1];const i=this.ctx,a=this.current.strokeColor;i.globalAlpha=this.current.strokeAlpha;if(this.contentVisible)if("object"==typeof a&&a?.getPattern){const e=a.isModifyingCurrentTransform()?i.getTransform():null;i.save();i.strokeStyle=a.getPattern(i,this,getCurrentTransformInverse(i),$i);if(e){const a=new Path2D;a.addPath(t,i.getTransform().invertSelf().multiplySelf(e));t=a}this.rescaleAndStroke(t,!1);i.restore()}else this.rescaleAndStroke(t,!0);e&&this.consumePath(t,this.current.getClippedPathBoundingBox($i,getCurrentTransform(this.ctx)));i.globalAlpha=this.current.fillAlpha}closeStroke(t){this.stroke(t)}fill(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i=this.ctx,a=this.current.fillColor;let s=!1;if(this.current.patternFill){const e=a.isModifyingCurrentTransform()?i.getTransform():null;i.save();i.fillStyle=a.getPattern(i,this,getCurrentTransformInverse(i),zi);if(e){const a=new Path2D;a.addPath(t,i.getTransform().invertSelf().multiplySelf(e));t=a}s=!0}const r=this.current.getClippedPathBoundingBox();if(this.contentVisible&&null!==r)if(this.pendingEOFill){i.fill(t,"evenodd");this.pendingEOFill=!1}else i.fill(t);s&&i.restore();e&&this.consumePath(t,r)}eoFill(t){this.pendingEOFill=!0;this.fill(t)}fillStroke(t){this.fill(t,!1);this.stroke(t,!1);this.consumePath(t)}eoFillStroke(t){this.pendingEOFill=!0;this.fillStroke(t)}closeFillStroke(t){this.fillStroke(t)}closeEOFillStroke(t){this.pendingEOFill=!0;this.fillStroke(t)}endPath(t){this.consumePath(t)}rawFillPath(t){this.ctx.fill(t)}clip(){this.pendingClip=ea}eoClip(){this.pendingClip=ia}beginText(){this.current.textMatrix=null;this.current.textMatrixScale=1;this.current.x=this.current.lineX=0;this.current.y=this.current.lineY=0}endText(){const t=this.pendingTextPaths,e=this.ctx;if(void 0===t)return;const i=new Path2D,a=e.getTransform().invertSelf();for(const{transform:e,x:s,y:r,fontSize:n,path:o}of t)i.addPath(o,new DOMMatrix(e).preMultiplySelf(a).translate(s,r).scale(n,-n));e.clip(i);delete this.pendingTextPaths}setCharSpacing(t){this.current.charSpacing=t}setWordSpacing(t){this.current.wordSpacing=t}setHScale(t){this.current.textHScale=t/100}setLeading(t){this.current.leading=-t}setFont(t,e){const i=this.commonObjs.get(t),a=this.current;if(!i)throw new Error(`Can't find font for ${t}`);a.fontMatrix=i.fontMatrix||s;0!==a.fontMatrix[0]&&0!==a.fontMatrix[3]||warn("Invalid font matrix for font "+t);if(e<0){e=-e;a.fontDirection=-1}else a.fontDirection=1;this.current.font=i;this.current.fontSize=e;if(i.isType3Font)return;const r=i.loadedName||"sans-serif",n=i.systemFontInfo?.css||`"${r}", ${i.fallbackName}`;let o="normal";i.black?o="900":i.bold&&(o="bold");const l=i.italic?"italic":"normal";let c=e;e<16?c=16:e>100&&(c=100);this.current.fontSizeScale=e/c;this.ctx.font=`${l} ${o} ${c}px ${n}`}setTextRenderingMode(t){this.current.textRenderingMode=t}setTextRise(t){this.current.textRise=t}moveText(t,e){this.current.x=this.current.lineX+=t;this.current.y=this.current.lineY+=e}setLeadingMoveText(t,e){this.setLeading(-e);this.moveText(t,e)}setTextMatrix(t){const{current:e}=this;e.textMatrix=t;e.textMatrixScale=Math.hypot(t[0],t[1]);e.x=e.lineX=0;e.y=e.lineY=0}nextLine(){this.moveText(0,this.current.leading)}paintChar(t,e,i,a,s){const r=this.ctx,n=this.current,o=n.font,l=n.textRenderingMode,c=n.fontSize/n.fontSizeScale,d=l&b,h=!!(l&S),u=n.patternFill&&!o.missingFile,_=n.patternStroke&&!o.missingFile;let p;(o.disableFontFace||h||u||_)&&(p=o.getPathGenerator(this.commonObjs,t));if(o.disableFontFace||u||_){r.save();r.translate(e,i);r.scale(c,-c);let t;if(d===m||d===w)if(a){t=r.getTransform();r.setTransform(...a);r.fill(canvas_assertClassBrand(aa,this,_getScaledPath).call(this,p,t,a))}else r.fill(p);if(d===P||d===w)if(s){t||=r.getTransform();r.setTransform(...s);const{a:e,b:i,c:a,d:n}=t,o=util_Util.inverseTransform(s),l=util_Util.transform([e,i,a,n,0,0],o);util_Util.singularValueDecompose2dScale(l,Qi);r.lineWidth*=Math.max(Qi[0],Qi[1])/c;r.stroke(canvas_assertClassBrand(aa,this,_getScaledPath).call(this,p,t,s))}else{r.lineWidth/=c;r.stroke(p)}r.restore()}else{d!==m&&d!==w||r.fillText(t,e,i);d!==P&&d!==w||r.strokeText(t,e,i)}if(h){(this.pendingTextPaths||=[]).push({transform:getCurrentTransform(r),x:e,y:i,fontSize:c,path:p})}}get isFontSubpixelAAEnabled(){const{context:t}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);t.scale(1.5,1);t.fillText("I",0,10);const e=t.getImageData(0,0,10,10).data;let i=!1;for(let t=3;t0&&e[t]<255){i=!0;break}return shadow(this,"isFontSubpixelAAEnabled",i)}showText(t){const e=this.current,i=e.font;if(i.isType3Font)return this.showType3Text(t);const a=e.fontSize;if(0===a)return;const s=this.ctx,r=e.fontSizeScale,n=e.charSpacing,o=e.wordSpacing,l=e.fontDirection,c=e.textHScale*l,d=t.length,h=i.vertical,u=h?1:-1,_=i.defaultVMetrics,p=a*e.fontMatrix[0],f=e.textRenderingMode===m&&!i.disableFontFace&&!e.patternFill;s.save();e.textMatrix&&s.transform(...e.textMatrix);s.translate(e.x,e.y+e.textRise);l>0?s.scale(c,-1):s.scale(c,1);let g,v;if(e.patternFill){s.save();const t=e.fillColor.getPattern(s,this,getCurrentTransformInverse(s),zi);g=getCurrentTransform(s);s.restore();s.fillStyle=t}if(e.patternStroke){s.save();const t=e.strokeColor.getPattern(s,this,getCurrentTransformInverse(s),$i);v=getCurrentTransform(s);s.restore();s.strokeStyle=t}let y=e.lineWidth;const S=e.textMatrixScale;if(0===S||0===y){const t=e.textRenderingMode&b;t!==P&&t!==w||(y=this.getSinglePixelWidth())}else y/=S;if(1!==r){s.scale(r,r);y/=r}s.lineWidth=y;if(i.isInvalidPDFjsFont){const i=[];let a=0;for(const e of t){i.push(e.unicode);a+=e.width}s.fillText(i.join(""),0,0);e.x+=a*p*c;s.restore();this.compose();return}let A,x=0;for(A=0;A0){const t=1e3*s.measureText(m).width/a*r;if(bnew CanvasGraphics(t,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};e=new TilingPattern(t,this.ctx,a,i)}else e=this._getPattern(t[1],t[2]);return e}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments);this.current.patternStroke=!0}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments);this.current.patternFill=!0}setStrokeRGBColor(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1]||(this.current.realStrokeColor=t);this.current.inverted&&(t=util_Util.invertHexColor(t));this.ctx.strokeStyle=this.current.strokeColor=t;this.current.patternStroke=!1}setStrokeTransparent(){this.ctx.strokeStyle=this.current.strokeColor="transparent";this.current.patternStroke=!1}setFillRGBColor(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1]||(this.current.realfillColor=t);this.current.inverted&&(t=util_Util.invertHexColor(t));this.ctx.fillStyle=this.current.fillColor=t;this.current.patternFill=!1}setFillTransparent(){this.ctx.fillStyle=this.current.fillColor="transparent";this.current.patternFill=!1}_getPattern(t){let e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.cachedPatterns.has(t))e=this.cachedPatterns.get(t);else{e=function getShadingPattern(t){switch(t[0]){case"RadialAxial":return new RadialAxialShadingPattern(t);case"Mesh":return new MeshShadingPattern(t);case"Dummy":return new DummyShadingPattern}throw new Error(`Unknown IR type: ${t[0]}`)}(this.getObject(t));this.cachedPatterns.set(t,e)}i&&(e.matrix=i);return e}shadingFill(t){if(!this.contentVisible)return;const e=this.ctx;this.save();const i=this._getPattern(t);e.fillStyle=i.getPattern(e,this,getCurrentTransformInverse(e),Vi);const a=getCurrentTransformInverse(e);if(a){const{width:t,height:i}=e.canvas,s=Ji.slice();util_Util.axialAlignedBoundingBox([0,0,t,i],a,s);const[r,n,o,l]=s;this.ctx.fillRect(r,n,o-r,l-n)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.compose(this.current.getClippedPathBoundingBox());this.restore()}beginInlineImage(){unreachable("Should not call beginInlineImage")}beginImageData(){unreachable("Should not call beginImageData")}paintFormXObjectBegin(t,e){if(this.contentVisible){this.save();this.baseTransformStack.push(this.baseTransform);t&&this.transform(...t);this.baseTransform=getCurrentTransform(this.ctx);if(e){util_Util.axialAlignedBoundingBox(e,this.baseTransform,this.current.minMax);const[t,i,a,s]=e,r=new Path2D;r.rect(t,i,a-t,s-i);this.ctx.clip(r);this.endPath()}}}paintFormXObjectEnd(){if(this.contentVisible){this.restore();this.baseTransform=this.baseTransformStack.pop()}}beginGroup(t){if(!this.contentVisible)return;this.save();if(this.inSMaskMode){this.endSMaskMode();this.current.activeSMask=null}const e=this.ctx;t.isolated||info("TODO: Support non-isolated groups.");t.knockout&&warn("Knockout groups not supported.");const i=getCurrentTransform(e);t.matrix&&e.transform(...t.matrix);if(!t.bbox)throw new Error("Bounding box is required.");let a=Ji.slice();util_Util.axialAlignedBoundingBox(t.bbox,getCurrentTransform(e),a);const s=[0,0,e.canvas.width,e.canvas.height];a=util_Util.intersect(a,s)||[0,0,0,0];const r=Math.floor(a[0]),n=Math.floor(a[1]),o=Math.max(Math.ceil(a[2])-r,1),l=Math.max(Math.ceil(a[3])-n,1);this.current.startNewPathAndClipBox([0,0,o,l]);let c="groupAt"+this.groupLevel;t.smask&&(c+="_smask_"+this.smaskCounter++%2);const d=this.cachedCanvases.getCanvas(c,o,l),h=d.context;h.translate(-r,-n);h.transform(...i);let u=new Path2D;const[_,p,f,g]=t.bbox;u.rect(_,p,f-_,g-p);if(t.matrix){const e=new Path2D;e.addPath(u,new DOMMatrix(t.matrix));u=e}h.clip(u);if(t.smask)this.smaskStack.push({canvas:d.canvas,context:h,offsetX:r,offsetY:n,subtype:t.smask.subtype,backdrop:t.smask.backdrop,transferMap:t.smask.transferMap||null,startTransformInverse:null});else{e.setTransform(1,0,0,1,0,0);e.translate(r,n);e.save()}copyCtxState(e,h);this.ctx=h;this.setGState([["BM","source-over"],["ca",1],["CA",1]]);this.groupStack.push(e);this.groupLevel++}endGroup(t){if(!this.contentVisible)return;this.groupLevel--;const e=this.ctx,i=this.groupStack.pop();this.ctx=i;this.ctx.imageSmoothingEnabled=!1;if(t.smask){this.tempSMask=this.smaskStack.pop();this.restore()}else{this.ctx.restore();const t=getCurrentTransform(this.ctx);this.restore();this.ctx.save();this.ctx.setTransform(...t);const i=Ji.slice();util_Util.axialAlignedBoundingBox([0,0,e.canvas.width,e.canvas.height],t,i);this.ctx.drawImage(e.canvas,0,0);this.ctx.restore();this.compose(i)}}beginAnnotation(t,e,i,a,s){if(this.invert){this.current.inverted=!1;const{realfillColor:t,realStrokeColor:e}=this.current;this.setFillRGBColor(t,!0);this.setStrokeRGBColor(e,!0)}canvas_assertClassBrand(aa,this,_restoreInitialState).call(this);resetCtxToDefault(this.ctx,this.current.inverted);this.ctx.save();this.save();this.baseTransform&&this.ctx.setTransform(...this.baseTransform);if(e){const a=e[2]-e[0],r=e[3]-e[1];if(s&&this.annotationCanvasMap){(i=i.slice())[4]-=e[0];i[5]-=e[1];(e=e.slice())[0]=e[1]=0;e[2]=a;e[3]=r;util_Util.singularValueDecompose2dScale(getCurrentTransform(this.ctx),Qi);const{viewportScale:s}=this,n=Math.ceil(a*this.outputScaleX*s),o=Math.ceil(r*this.outputScaleY*s);this.annotationCanvas=this.canvasFactory.create(n,o);const{canvas:l,context:c}=this.annotationCanvas;this.annotationCanvasMap.set(t,l);this.annotationCanvas.savedCtx=this.ctx;this.ctx=c;this.ctx.save();this.ctx.setTransform(Qi[0],0,0,-Qi[1],0,r*Qi[1]);resetCtxToDefault(this.ctx,this.current.inverted)}else{resetCtxToDefault(this.ctx,this.current.inverted);this.endPath();const t=new Path2D;t.rect(e[0],e[1],a,r);this.ctx.clip(t)}}this.current=new CanvasExtraState(this.ctx.canvas.width,this.ctx.canvas.height);this.transform(...i);this.transform(...a)}endAnnotation(){if(this.invert){this.current.inverted=!0;const{realfillColor:t,realStrokeColor:e}=this.current;this.setFillRGBColor(t,!0);this.setStrokeRGBColor(e,!0)}if(this.annotationCanvas){this.ctx.restore();canvas_assertClassBrand(aa,this,_drawFilter).call(this);this.ctx=this.annotationCanvas.savedCtx;delete this.annotationCanvas.savedCtx;delete this.annotationCanvas}}paintImageMaskXObject(t){if(!this.contentVisible)return;const e=t.count;(t=this.getObject(t.data,t)).count=e;const i=this.ctx,a=this._createMaskCanvas(t),s=a.canvas;i.save();i.setTransform(1,0,0,1,0,0);i.drawImage(s,a.offsetX,a.offsetY);i.restore();this.compose()}paintImageMaskXObjectRepeat(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,r=arguments.length>5?arguments[5]:void 0;if(!this.contentVisible)return;t=this.getObject(t.data,t);const n=this.ctx;n.save();const o=getCurrentTransform(n);n.transform(e,i,a,s,0,0);const l=this._createMaskCanvas(t);n.setTransform(1,0,0,1,l.offsetX-o[4],l.offsetY-o[5]);for(let t=0,c=r.length;te?c/e:1;n=l>e?l/e:1}}this._cachedScaleForStroking[0]=r;this._cachedScaleForStroking[1]=n}return this._cachedScaleForStroking}rescaleAndStroke(t,e){const{ctx:i,current:{lineWidth:a}}=this,[s,r]=this.getScaleForStroking();if(s===r){i.lineWidth=(a||1)*s;i.stroke(t);return}const n=i.getLineDash();e&&i.save();i.scale(s,r);Yi.a=1/s;Yi.d=1/r;const o=new Path2D;o.addPath(t,Yi);if(n.length>0){const t=Math.max(s,r);i.setLineDash(n.map((e=>e/t)));i.lineDashOffset/=t}i.lineWidth=a||1;i.stroke(o);e&&i.restore()}isContentVisible(){for(let t=this.markedContentStack.length-1;t>=0;t--)if(!this.markedContentStack[t].visible)return!1;return!0}}function _restoreInitialState(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.current.activeSMask=null;this.ctx.restore();if(this.transparentCanvas){this.ctx=this.compositeCtx;this.ctx.save();this.ctx.setTransform(1,0,0,1,0,0);this.ctx.drawImage(this.transparentCanvas,0,0);this.ctx.restore();this.transparentCanvas=null}}function _drawFilter(){if(this.pageColors){const t=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if("none"!==t){const e=this.ctx.filter;this.ctx.filter=t;this.ctx.drawImage(this.ctx.canvas,0,0);this.ctx.filter=e}}}function _getScaledPath(t,e,i){const a=new Path2D;a.addPath(t,new DOMMatrix(i).invertSelf().multiplySelf(e));return a}for(const t in T)void 0!==CanvasGraphics.prototype[t]&&(CanvasGraphics.prototype[T[t]]=CanvasGraphics.prototype[t]);function worker_options_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}class GlobalWorkerOptions{static get workerPort(){return worker_options_assertClassBrand(GlobalWorkerOptions,this,sa)._}static set workerPort(t){if(!("undefined"!=typeof Worker&&t instanceof Worker)&&null!==t)throw new Error("Invalid `workerPort` type.");sa._=worker_options_assertClassBrand(GlobalWorkerOptions,this,t)}static get workerSrc(){return worker_options_assertClassBrand(GlobalWorkerOptions,this,ra)._}static set workerSrc(t){if("string"!=typeof t)throw new Error("Invalid `workerSrc` type.");ra._=worker_options_assertClassBrand(GlobalWorkerOptions,this,t)}}var sa={_:null},ra={_:""};function metadata_classPrivateFieldInitSpec(t,e,i){(function metadata_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t,e),e.set(t,i)}function metadata_classPrivateFieldGet(t,e){return t.get(metadata_assertClassBrand(t,e))}function metadata_classPrivateFieldSet(t,e,i){return t.set(metadata_assertClassBrand(t,e),i),i}function metadata_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var na=new WeakMap,oa=new WeakMap;class Metadata{constructor(t){let{parsedData:e,rawData:i}=t;metadata_classPrivateFieldInitSpec(this,na,void 0);metadata_classPrivateFieldInitSpec(this,oa,void 0);metadata_classPrivateFieldSet(na,this,e);metadata_classPrivateFieldSet(oa,this,i)}getRaw(){return metadata_classPrivateFieldGet(oa,this)}get(t){return metadata_classPrivateFieldGet(na,this).get(t)??null}[Symbol.iterator](){return metadata_classPrivateFieldGet(na,this).entries()}}function optional_content_config_classPrivateFieldInitSpec(t,e,i){optional_content_config_checkPrivateRedeclaration(t,e),e.set(t,i)}function optional_content_config_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function optional_content_config_classPrivateFieldGet(t,e){return t.get(optional_content_config_assertClassBrand(t,e))}function optional_content_config_classPrivateFieldSet(t,e,i){return t.set(optional_content_config_assertClassBrand(t,e),i),i}function optional_content_config_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}const la=Symbol("INTERNAL");var ca=new WeakMap,da=new WeakMap,ha=new WeakMap,ua=new WeakMap;class OptionalContentGroup{constructor(t,e){let{name:i,intent:a,usage:s,rbGroups:r}=e;optional_content_config_classPrivateFieldInitSpec(this,ca,!1);optional_content_config_classPrivateFieldInitSpec(this,da,!1);optional_content_config_classPrivateFieldInitSpec(this,ha,!1);optional_content_config_classPrivateFieldInitSpec(this,ua,!0);optional_content_config_classPrivateFieldSet(ca,this,!!(t&o));optional_content_config_classPrivateFieldSet(da,this,!!(t&l));this.name=i;this.intent=a;this.usage=s;this.rbGroups=r}get visible(){if(optional_content_config_classPrivateFieldGet(ha,this))return optional_content_config_classPrivateFieldGet(ua,this);if(!optional_content_config_classPrivateFieldGet(ua,this))return!1;const{print:t,view:e}=this.usage;return optional_content_config_classPrivateFieldGet(ca,this)?"OFF"!==e?.viewState:!optional_content_config_classPrivateFieldGet(da,this)||"OFF"!==t?.printState}_setVisible(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t!==la&&unreachable("Internal method `_setVisible` called.");optional_content_config_classPrivateFieldSet(ha,this,i);optional_content_config_classPrivateFieldSet(ua,this,e)}}var _a=new WeakMap,pa=new WeakMap,fa=new WeakMap,ga=new WeakMap,va=new WeakSet;class OptionalContentConfig{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o;!function optional_content_config_classPrivateMethodInitSpec(t,e){optional_content_config_checkPrivateRedeclaration(t,e),e.add(t)}(this,va);optional_content_config_classPrivateFieldInitSpec(this,_a,null);optional_content_config_classPrivateFieldInitSpec(this,pa,new Map);optional_content_config_classPrivateFieldInitSpec(this,fa,null);optional_content_config_classPrivateFieldInitSpec(this,ga,null);this.renderingIntent=e;this.name=null;this.creator=null;if(null!==t){this.name=t.name;this.creator=t.creator;optional_content_config_classPrivateFieldSet(ga,this,t.order);for(const i of t.groups)optional_content_config_classPrivateFieldGet(pa,this).set(i.id,new OptionalContentGroup(e,i));if("OFF"===t.baseState)for(const t of optional_content_config_classPrivateFieldGet(pa,this).values())t._setVisible(la,!1);for(const e of t.on)optional_content_config_classPrivateFieldGet(pa,this).get(e)._setVisible(la,!0);for(const e of t.off)optional_content_config_classPrivateFieldGet(pa,this).get(e)._setVisible(la,!1);optional_content_config_classPrivateFieldSet(fa,this,this.getHash())}}isVisible(t){if(0===optional_content_config_classPrivateFieldGet(pa,this).size)return!0;if(!t){info("Optional content group not defined.");return!0}if("OCG"===t.type){if(!optional_content_config_classPrivateFieldGet(pa,this).has(t.id)){warn(`Optional content group not found: ${t.id}`);return!0}return optional_content_config_classPrivateFieldGet(pa,this).get(t.id).visible}if("OCMD"===t.type){if(t.expression)return optional_content_config_assertClassBrand(va,this,_evaluateVisibilityExpression).call(this,t.expression);if(!t.policy||"AnyOn"===t.policy){for(const e of t.ids){if(!optional_content_config_classPrivateFieldGet(pa,this).has(e)){warn(`Optional content group not found: ${e}`);return!0}if(optional_content_config_classPrivateFieldGet(pa,this).get(e).visible)return!0}return!1}if("AllOn"===t.policy){for(const e of t.ids){if(!optional_content_config_classPrivateFieldGet(pa,this).has(e)){warn(`Optional content group not found: ${e}`);return!0}if(!optional_content_config_classPrivateFieldGet(pa,this).get(e).visible)return!1}return!0}if("AnyOff"===t.policy){for(const e of t.ids){if(!optional_content_config_classPrivateFieldGet(pa,this).has(e)){warn(`Optional content group not found: ${e}`);return!0}if(!optional_content_config_classPrivateFieldGet(pa,this).get(e).visible)return!0}return!1}if("AllOff"===t.policy){for(const e of t.ids){if(!optional_content_config_classPrivateFieldGet(pa,this).has(e)){warn(`Optional content group not found: ${e}`);return!0}if(optional_content_config_classPrivateFieldGet(pa,this).get(e).visible)return!1}return!0}warn(`Unknown optional content policy ${t.policy}.`);return!0}warn(`Unknown group type ${t.type}.`);return!0}setVisibility(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const a=optional_content_config_classPrivateFieldGet(pa,this).get(t);if(a){if(i&&e&&a.rbGroups.length)for(const e of a.rbGroups)for(const i of e)i!==t&&optional_content_config_classPrivateFieldGet(pa,this).get(i)?._setVisible(la,!1,!0);a._setVisible(la,!!e,!0);optional_content_config_classPrivateFieldSet(_a,this,null)}else warn(`Optional content group not found: ${t}`)}setOCGState(t){let e,{state:i,preserveRB:a}=t;for(const t of i){switch(t){case"ON":case"OFF":case"Toggle":e=t;continue}const i=optional_content_config_classPrivateFieldGet(pa,this).get(t);if(i)switch(e){case"ON":this.setVisibility(t,!0,a);break;case"OFF":this.setVisibility(t,!1,a);break;case"Toggle":this.setVisibility(t,!i.visible,a)}}optional_content_config_classPrivateFieldSet(_a,this,null)}get hasInitialVisibility(){return null===optional_content_config_classPrivateFieldGet(fa,this)||this.getHash()===optional_content_config_classPrivateFieldGet(fa,this)}getOrder(){return optional_content_config_classPrivateFieldGet(pa,this).size?optional_content_config_classPrivateFieldGet(ga,this)?optional_content_config_classPrivateFieldGet(ga,this).slice():[...optional_content_config_classPrivateFieldGet(pa,this).keys()]:null}getGroup(t){return optional_content_config_classPrivateFieldGet(pa,this).get(t)||null}getHash(){if(null!==optional_content_config_classPrivateFieldGet(_a,this))return optional_content_config_classPrivateFieldGet(_a,this);const t=new MurmurHash3_64;for(const[e,i]of optional_content_config_classPrivateFieldGet(pa,this))t.update(`${e}:${i.visible}`);return optional_content_config_classPrivateFieldSet(_a,this,t.hexdigest())}[Symbol.iterator](){return optional_content_config_classPrivateFieldGet(pa,this).entries()}}function _evaluateVisibilityExpression(t){const e=t.length;if(e<2)return!0;const i=t[0];for(let a=1;a0){const t=r instanceof Uint8Array&&r.byteLength===r.buffer.byteLength?r.buffer:new Uint8Array(r).buffer;this._queuedChunks.push(t)}this._pdfDataRangeTransport=t;this._isStreamingSupported=!a;this._isRangeSupported=!i;this._contentLength=s;this._fullRequestReader=null;this._rangeReaders=[];t.addRangeListener(((t,e)=>{this._onReceiveData({begin:t,chunk:e})}));t.addProgressListener(((t,e)=>{this._onProgress({loaded:t,total:e})}));t.addProgressiveReadListener((t=>{this._onReceiveData({chunk:t})}));t.addProgressiveDoneListener((()=>{this._onProgressiveDone()}));t.transportReady()}_onReceiveData(t){let{begin:e,chunk:i}=t;const a=i instanceof Uint8Array&&i.byteLength===i.buffer.byteLength?i.buffer:new Uint8Array(i).buffer;if(void 0===e)this._fullRequestReader?this._fullRequestReader._enqueue(a):this._queuedChunks.push(a);else{assert(this._rangeReaders.some((function(t){if(t._begin!==e)return!1;t._enqueue(a);return!0})),"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}_onProgress(t){void 0===t.total?this._rangeReaders[0]?.onProgress?.({loaded:t.loaded}):this._fullRequestReader?.onProgress?.({loaded:t.loaded,total:t.total})}_onProgressiveDone(){this._fullRequestReader?.progressiveDone();this._progressiveDone=!0}_removeRangeReader(t){const e=this._rangeReaders.indexOf(t);e>=0&&this._rangeReaders.splice(e,1)}getFullReader(){assert(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const t=this._queuedChunks;this._queuedChunks=null;return new PDFDataTransportStreamReader(this,t,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const i=new PDFDataTransportStreamRangeReader(this,t,e);this._pdfDataRangeTransport.requestDataRange(t,e);this._rangeReaders.push(i);return i}cancelAllRequests(t){this._fullRequestReader?.cancel(t);for(const e of this._rangeReaders.slice(0))e.cancel(t);this._pdfDataRangeTransport.abort()}}class PDFDataTransportStreamReader{constructor(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;this._stream=t;this._done=i||!1;this._filename=isPdfFile(a)?a:null;this._queuedChunks=e||[];this._loaded=0;for(const t of this._queuedChunks)this._loaded+=t.byteLength;this._requests=[];this._headersReady=Promise.resolve();t._fullRequestReader=this;this.onProgress=null}_enqueue(t){if(!this._done){if(this._requests.length>0){this._requests.shift().resolve({value:t,done:!1})}else this._queuedChunks.push(t);this._loaded+=t.byteLength}}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0){return{value:this._queuedChunks.shift(),done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();this._requests.push(t);return t.promise}cancel(t){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class PDFDataTransportStreamRangeReader{constructor(t,e,i){this._stream=t;this._begin=e;this._end=i;this._queuedChunk=null;this._requests=[];this._done=!1;this.onProgress=null}_enqueue(t){if(!this._done){if(0===this._requests.length)this._queuedChunk=t;else{this._requests.shift().resolve({value:t,done:!1});for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0;this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){const t=this._queuedChunk;this._queuedChunk=null;return{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();this._requests.push(t);return t.promise}cancel(t){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0;this._stream._removeRangeReader(this)}}function createHeaders(t,e){const i=new Headers;if(!t||!e||"object"!=typeof e)return i;for(const t in e){const a=e[t];void 0!==a&&i.append(t,a)}return i}function getResponseOrigin(t){return URL.parse(t)?.origin??null}function validateRangeRequestCapabilities(t){let{responseHeaders:e,isHttp:i,rangeChunkSize:a,disableRange:s}=t;const r={allowRangeRequests:!1,suggestedLength:void 0},n=parseInt(e.get("Content-Length"),10);if(!Number.isInteger(n))return r;r.suggestedLength=n;if(n<=2*a)return r;if(s||!i)return r;if("bytes"!==e.get("Accept-Ranges"))return r;if("identity"!==(e.get("Content-Encoding")||"identity"))return r;r.allowRangeRequests=!0;return r}function extractFilenameFromHeader(t){const e=t.get("Content-Disposition");if(e){let t=function getFilenameFromContentDispositionHeader(t){let e=!0,i=toParamRegExp("filename\\*","i").exec(t);if(i){i=i[1];let t=rfc2616unquote(i);t=unescape(t);t=rfc5987decode(t);t=rfc2047decode(t);return fixupEncoding(t)}i=function rfc2231getparam(t){const e=[];let i;const a=toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;null!==(i=a.exec(t));){let[,t,a,s]=i;t=parseInt(t,10);if(t in e){if(0===t)break}else e[t]=[a,s]}const s=[];for(let t=0;t{t._responseOrigin=getResponseOrigin(e.url);if(!validateResponseStatus(e.status))throw createResponseError(e.status,a);this._reader=e.body.getReader();this._headersCapability.resolve();const i=e.headers,{allowRangeRequests:s,suggestedLength:r}=validateRangeRequestCapabilities({responseHeaders:i,isHttp:t.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=s;this._contentLength=r||this._contentLength;this._filename=extractFilenameFromHeader(i);!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new AbortException("Streaming is disabled."))})).catch(this._headersCapability.reject);this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._headersCapability.promise;const{value:t,done:e}=await this._reader.read();if(e)return{value:t,done:e};this._loaded+=t.byteLength;this.onProgress?.({loaded:this._loaded,total:this._contentLength});return{value:getArrayBuffer(t),done:!1}}cancel(t){this._reader?.cancel(t);this._abortController.abort()}}class PDFFetchStreamRangeReader{constructor(t,e,i){this._stream=t;this._reader=null;this._loaded=0;const a=t.source;this._withCredentials=a.withCredentials||!1;this._readCapability=Promise.withResolvers();this._isStreamingSupported=!a.disableStream;this._abortController=new AbortController;const s=new Headers(t.headers);s.append("Range",`bytes=${e}-${i-1}`);const r=a.url;fetch(r,createFetchOptions(s,this._withCredentials,this._abortController)).then((e=>{const i=getResponseOrigin(e.url);if(i!==t._responseOrigin)throw new Error(`Expected range response-origin "${i}" to match "${t._responseOrigin}".`);if(!validateResponseStatus(e.status))throw createResponseError(e.status,r);this._readCapability.resolve();this._reader=e.body.getReader()})).catch(this._readCapability.reject);this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._readCapability.promise;const{value:t,done:e}=await this._reader.read();if(e)return{value:t,done:e};this._loaded+=t.byteLength;this.onProgress?.({loaded:this._loaded});return{value:getArrayBuffer(t),done:!1}}cancel(t){this._reader?.cancel(t);this._abortController.abort()}}function network_defineProperty(t,e,i){return(e=function network_toPropertyKey(t){var e=function network_toPrimitive(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class NetworkManager{constructor(t){let{url:e,httpHeaders:i,withCredentials:a}=t;network_defineProperty(this,"_responseOrigin",null);this.url=e;this.isHttp=/^https?:/i.test(e);this.headers=createHeaders(this.isHttp,i);this.withCredentials=a||!1;this.currXhrId=0;this.pendingRequests=Object.create(null)}request(t){const e=new XMLHttpRequest,i=this.currXhrId++,a=this.pendingRequests[i]={xhr:e};e.open("GET",this.url);e.withCredentials=this.withCredentials;for(const[t,i]of this.headers)e.setRequestHeader(t,i);if(this.isHttp&&"begin"in t&&"end"in t){e.setRequestHeader("Range",`bytes=${t.begin}-${t.end-1}`);a.expectedStatus=206}else a.expectedStatus=200;e.responseType="arraybuffer";assert(t.onError,"Expected `onError` callback to be provided.");e.onerror=()=>{t.onError(e.status)};e.onreadystatechange=this.onStateChange.bind(this,i);e.onprogress=this.onProgress.bind(this,i);a.onHeadersReceived=t.onHeadersReceived;a.onDone=t.onDone;a.onError=t.onError;a.onProgress=t.onProgress;e.send(null);return i}onProgress(t,e){const i=this.pendingRequests[t];i&&i.onProgress?.(e)}onStateChange(t,e){const i=this.pendingRequests[t];if(!i)return;const a=i.xhr;if(a.readyState>=2&&i.onHeadersReceived){i.onHeadersReceived();delete i.onHeadersReceived}if(4!==a.readyState)return;if(!(t in this.pendingRequests))return;delete this.pendingRequests[t];if(0===a.status&&this.isHttp){i.onError(a.status);return}const s=a.status||200;if(!(200===s&&206===i.expectedStatus)&&s!==i.expectedStatus){i.onError(a.status);return}const r=function network_getArrayBuffer(t){const e=t.response;return"string"!=typeof e?e:stringToBytes(e).buffer}(a);if(206===s){const t=a.getResponseHeader("Content-Range"),e=/bytes (\d+)-(\d+)\/(\d+)/.exec(t);if(e)i.onDone({begin:parseInt(e[1],10),chunk:r});else{warn('Missing or invalid "Content-Range" header.');i.onError(0)}}else r?i.onDone({begin:0,chunk:r}):i.onError(a.status)}getRequestXhr(t){return this.pendingRequests[t].xhr}isPendingRequest(t){return t in this.pendingRequests}abortRequest(t){const e=this.pendingRequests[t].xhr;delete this.pendingRequests[t];e.abort()}}class PDFNetworkStream{constructor(t){this._source=t;this._manager=new NetworkManager(t);this._rangeChunkSize=t.rangeChunkSize;this._fullRequestReader=null;this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(t){const e=this._rangeRequestReaders.indexOf(t);e>=0&&this._rangeRequestReaders.splice(e,1)}getFullReader(){assert(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once.");this._fullRequestReader=new PDFNetworkStreamFullRequestReader(this._manager,this._source);return this._fullRequestReader}getRangeReader(t,e){const i=new PDFNetworkStreamRangeRequestReader(this._manager,t,e);i.onClosed=this._onRangeRequestReaderClosed.bind(this);this._rangeRequestReaders.push(i);return i}cancelAllRequests(t){this._fullRequestReader?.cancel(t);for(const e of this._rangeRequestReaders.slice(0))e.cancel(t)}}class PDFNetworkStreamFullRequestReader{constructor(t,e){this._manager=t;this._url=e.url;this._fullRequestId=t.request({onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)});this._headersCapability=Promise.withResolvers();this._disableRange=e.disableRange||!1;this._contentLength=e.length;this._rangeChunkSize=e.rangeChunkSize;this._rangeChunkSize||this._disableRange||(this._disableRange=!0);this._isStreamingSupported=!1;this._isRangeSupported=!1;this._cachedChunks=[];this._requests=[];this._done=!1;this._storedError=void 0;this._filename=null;this.onProgress=null}_onHeadersReceived(){const t=this._fullRequestId,e=this._manager.getRequestXhr(t);this._manager._responseOrigin=getResponseOrigin(e.responseURL);const i=e.getAllResponseHeaders(),a=new Headers(i?i.trimStart().replace(/[^\S ]+$/,"").split(/[\r\n]+/).map((t=>{const[e,...i]=t.split(": ");return[e,i.join(": ")]})):[]),{allowRangeRequests:s,suggestedLength:r}=validateRangeRequestCapabilities({responseHeaders:a,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});s&&(this._isRangeSupported=!0);this._contentLength=r||this._contentLength;this._filename=extractFilenameFromHeader(a);this._isRangeSupported&&this._manager.abortRequest(t);this._headersCapability.resolve()}_onDone(t){if(t)if(this._requests.length>0){this._requests.shift().resolve({value:t.chunk,done:!1})}else this._cachedChunks.push(t.chunk);this._done=!0;if(!(this._cachedChunks.length>0)){for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(t){this._storedError=createResponseError(t,this._url);this._headersCapability.reject(this._storedError);for(const t of this._requests)t.reject(this._storedError);this._requests.length=0;this._cachedChunks.length=0}_onProgress(t){this.onProgress?.({loaded:t.loaded,total:t.lengthComputable?t.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersCapability.promise}async read(){await this._headersCapability.promise;if(this._storedError)throw this._storedError;if(this._cachedChunks.length>0){return{value:this._cachedChunks.shift(),done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();this._requests.push(t);return t.promise}cancel(t){this._done=!0;this._headersCapability.reject(t);for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0;this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId);this._fullRequestReader=null}}class PDFNetworkStreamRangeRequestReader{constructor(t,e,i){this._manager=t;this._url=t.url;this._requestId=t.request({begin:e,end:i,onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)});this._requests=[];this._queuedChunk=null;this._done=!1;this._storedError=void 0;this.onProgress=null;this.onClosed=null}_onHeadersReceived(){const t=getResponseOrigin(this._manager.getRequestXhr(this._requestId)?.responseURL);if(t!==this._manager._responseOrigin){this._storedError=new Error(`Expected range response-origin "${t}" to match "${this._manager._responseOrigin}".`);this._onError(0)}}_close(){this.onClosed?.(this)}_onDone(t){const e=t.chunk;if(this._requests.length>0){this._requests.shift().resolve({value:e,done:!1})}else this._queuedChunk=e;this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0;this._close()}_onError(t){this._storedError??=createResponseError(t,this._url);for(const t of this._requests)t.reject(this._storedError);this._requests.length=0;this._queuedChunk=null}_onProgress(t){this.isStreamingSupported||this.onProgress?.({loaded:t.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(null!==this._queuedChunk){const t=this._queuedChunk;this._queuedChunk=null;return{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();this._requests.push(t);return t.promise}cancel(t){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0;this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId);this._close()}}const ma=/^[a-z][a-z0-9\-+.]+:/i;class PDFNodeStream{constructor(t){this.source=t;this.url=function parseUrlOrPath(t){if(ma.test(t))return new URL(t);const e=process.getBuiltinModule("url");return new URL(e.pathToFileURL(t))}(t.url);assert("file:"===this.url.protocol,"PDFNodeStream only supports file:// URLs.");this._fullRequestReader=null;this._rangeRequestReaders=[]}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}getFullReader(){assert(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once.");this._fullRequestReader=new PDFNodeStreamFsFullReader(this);return this._fullRequestReader}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const i=new PDFNodeStreamFsRangeReader(this,t,e);this._rangeRequestReaders.push(i);return i}cancelAllRequests(t){this._fullRequestReader?.cancel(t);for(const e of this._rangeRequestReaders.slice(0))e.cancel(t)}}class PDFNodeStreamFsFullReader{constructor(t){this._url=t.url;this._done=!1;this._storedError=null;this.onProgress=null;const e=t.source;this._contentLength=e.length;this._loaded=0;this._filename=null;this._disableRange=e.disableRange||!1;this._rangeChunkSize=e.rangeChunkSize;this._rangeChunkSize||this._disableRange||(this._disableRange=!0);this._isStreamingSupported=!e.disableStream;this._isRangeSupported=!e.disableRange;this._readableStream=null;this._readCapability=Promise.withResolvers();this._headersCapability=Promise.withResolvers();const i=process.getBuiltinModule("fs");i.promises.lstat(this._url).then((t=>{this._contentLength=t.size;this._setReadableStream(i.createReadStream(this._url));this._headersCapability.resolve()}),(t=>{"ENOENT"===t.code&&(t=createResponseError(0,this._url.href));this._storedError=t;this._headersCapability.reject(t)}))}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._readCapability.promise;if(this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const t=this._readableStream.read();if(null===t){this._readCapability=Promise.withResolvers();return this.read()}this._loaded+=t.length;this.onProgress?.({loaded:this._loaded,total:this._contentLength});return{value:new Uint8Array(t).buffer,done:!1}}cancel(t){this._readableStream?this._readableStream.destroy(t):this._error(t)}_error(t){this._storedError=t;this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t;t.on("readable",(()=>{this._readCapability.resolve()}));t.on("end",(()=>{t.destroy();this._done=!0;this._readCapability.resolve()}));t.on("error",(t=>{this._error(t)}));!this._isStreamingSupported&&this._isRangeSupported&&this._error(new AbortException("streaming is disabled"));this._storedError&&this._readableStream.destroy(this._storedError)}}class PDFNodeStreamFsRangeReader{constructor(t,e,i){this._url=t.url;this._done=!1;this._storedError=null;this.onProgress=null;this._loaded=0;this._readableStream=null;this._readCapability=Promise.withResolvers();const a=t.source;this._isStreamingSupported=!a.disableStream;const s=process.getBuiltinModule("fs");this._setReadableStream(s.createReadStream(this._url,{start:e,end:i-1}))}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._readCapability.promise;if(this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const t=this._readableStream.read();if(null===t){this._readCapability=Promise.withResolvers();return this.read()}this._loaded+=t.length;this.onProgress?.({loaded:this._loaded});return{value:new Uint8Array(t).buffer,done:!1}}cancel(t){this._readableStream?this._readableStream.destroy(t):this._error(t)}_error(t){this._storedError=t;this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t;t.on("readable",(()=>{this._readCapability.resolve()}));t.on("end",(()=>{t.destroy();this._done=!0;this._readCapability.resolve()}));t.on("error",(t=>{this._error(t)}));this._storedError&&this._readableStream.destroy(this._storedError)}}function pdf_objects_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function pdf_objects_classPrivateFieldGet(t,e){return t.get(pdf_objects_assertClassBrand(t,e))}function pdf_objects_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}const Pa=Symbol("INITIAL_DATA");var wa,ya=new WeakMap,Fa=new WeakSet;class PDFObjects{constructor(){!function pdf_objects_classPrivateMethodInitSpec(t,e){pdf_objects_checkPrivateRedeclaration(t,e),e.add(t)}(this,Fa);!function pdf_objects_classPrivateFieldInitSpec(t,e,i){pdf_objects_checkPrivateRedeclaration(t,e),e.set(t,i)}(this,ya,Object.create(null))}get(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(e){const i=pdf_objects_assertClassBrand(Fa,this,_ensureObj).call(this,t);i.promise.then((()=>e(i.data)));return null}const i=pdf_objects_classPrivateFieldGet(ya,this)[t];if(!i||i.data===Pa)throw new Error(`Requesting object that isn't resolved yet ${t}.`);return i.data}has(t){const e=pdf_objects_classPrivateFieldGet(ya,this)[t];return!!e&&e.data!==Pa}delete(t){const e=pdf_objects_classPrivateFieldGet(ya,this)[t];if(!e||e.data===Pa)return!1;delete pdf_objects_classPrivateFieldGet(ya,this)[t];return!0}resolve(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const i=pdf_objects_assertClassBrand(Fa,this,_ensureObj).call(this,t);i.data=e;i.resolve()}clear(){for(const t in pdf_objects_classPrivateFieldGet(ya,this)){const{data:e}=pdf_objects_classPrivateFieldGet(ya,this)[t];e?.bitmap?.close()}!function pdf_objects_classPrivateFieldSet(t,e,i){return t.set(pdf_objects_assertClassBrand(t,e),i),i}(ya,this,Object.create(null))}*[Symbol.iterator](){for(const t in pdf_objects_classPrivateFieldGet(ya,this)){const{data:e}=pdf_objects_classPrivateFieldGet(ya,this)[t];e!==Pa&&(yield[t,e])}}}function _ensureObj(t){return pdf_objects_classPrivateFieldGet(ya,this)[t]||={...Promise.withResolvers(),data:Pa}}function text_layer_classPrivateFieldInitSpec(t,e,i){text_layer_checkPrivateRedeclaration(t,e),e.set(t,i)}function text_layer_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function text_layer_classPrivateGetter(t,e,i){return i(text_layer_assertClassBrand(t,e))}function text_layer_classPrivateFieldGet(t,e){return t.get(text_layer_assertClassBrand(t,e))}function text_layer_classPrivateFieldSet(t,e,i){return t.set(text_layer_assertClassBrand(t,e),i),i}function text_layer_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var ba=new WeakMap,Sa=new WeakMap,Aa=new WeakMap,xa=new WeakMap,Ca=new WeakMap,Ea=new WeakMap,ka=new WeakMap,Ga=new WeakMap,Ma=new WeakMap,Ia=new WeakMap,Ta=new WeakMap,Ra=new WeakMap,Da=new WeakMap,Ba=new WeakMap,La=new WeakMap,Oa=new WeakMap,Na=new WeakMap,Wa=new WeakMap,Ua=new WeakSet;class TextLayer{constructor(t){let{textContentSource:e,container:i,viewport:a}=t;!function text_layer_classPrivateMethodInitSpec(t,e){text_layer_checkPrivateRedeclaration(t,e),e.add(t)}(this,Ua);text_layer_classPrivateFieldInitSpec(this,ba,Promise.withResolvers());text_layer_classPrivateFieldInitSpec(this,Sa,null);text_layer_classPrivateFieldInitSpec(this,Aa,!1);text_layer_classPrivateFieldInitSpec(this,xa,!!globalThis.FontInspector?.enabled);text_layer_classPrivateFieldInitSpec(this,Ca,null);text_layer_classPrivateFieldInitSpec(this,Ea,null);text_layer_classPrivateFieldInitSpec(this,ka,0);text_layer_classPrivateFieldInitSpec(this,Ga,0);text_layer_classPrivateFieldInitSpec(this,Ma,null);text_layer_classPrivateFieldInitSpec(this,Ia,null);text_layer_classPrivateFieldInitSpec(this,Ta,0);text_layer_classPrivateFieldInitSpec(this,Ra,0);text_layer_classPrivateFieldInitSpec(this,Da,Object.create(null));text_layer_classPrivateFieldInitSpec(this,Ba,[]);text_layer_classPrivateFieldInitSpec(this,La,null);text_layer_classPrivateFieldInitSpec(this,Oa,[]);text_layer_classPrivateFieldInitSpec(this,Na,new WeakMap);text_layer_classPrivateFieldInitSpec(this,Wa,null);if(e instanceof ReadableStream)text_layer_classPrivateFieldSet(La,this,e);else{if("object"!=typeof e)throw new Error('No "textContentSource" parameter specified.');text_layer_classPrivateFieldSet(La,this,new ReadableStream({start(t){t.enqueue(e);t.close()}}))}text_layer_classPrivateFieldSet(Sa,this,text_layer_classPrivateFieldSet(Ia,this,i));text_layer_classPrivateFieldSet(Ra,this,a.scale*OutputScale.pixelRatio);text_layer_classPrivateFieldSet(Ta,this,a.rotation);text_layer_classPrivateFieldSet(Ea,this,{div:null,properties:null,ctx:null});const{pageWidth:s,pageHeight:r,pageX:n,pageY:o}=a.rawDims;text_layer_classPrivateFieldSet(Wa,this,[1,0,0,-1,-n,o+r]);text_layer_classPrivateFieldSet(Ga,this,s);text_layer_classPrivateFieldSet(ka,this,r);_ensureMinFontSizeComputed.call(TextLayer);setLayerDimensions(i,a);text_layer_classPrivateFieldGet(ba,this).promise.finally((()=>{Ka._.delete(this);text_layer_classPrivateFieldSet(Ea,this,null);text_layer_classPrivateFieldSet(Da,this,null)})).catch((()=>{}))}static get fontFamilyMap(){const{isWindows:t,isFirefox:e}=util_FeatureTest.platform;return shadow(this,"fontFamilyMap",new Map([["sans-serif",(t&&e?"Calibri, ":"")+"sans-serif"],["monospace",(t&&e?"Lucida Console, ":"")+"monospace"]]))}render(){const pump=()=>{text_layer_classPrivateFieldGet(Ma,this).read().then((t=>{let{value:e,done:i}=t;if(i)text_layer_classPrivateFieldGet(ba,this).resolve();else{text_layer_classPrivateFieldGet(Ca,this)??text_layer_classPrivateFieldSet(Ca,this,e.lang);Object.assign(text_layer_classPrivateFieldGet(Da,this),e.styles);text_layer_assertClassBrand(Ua,this,_processItems).call(this,e.items);pump()}}),text_layer_classPrivateFieldGet(ba,this).reject)};text_layer_classPrivateFieldSet(Ma,this,text_layer_classPrivateFieldGet(La,this).getReader());Ka._.add(this);pump();return text_layer_classPrivateFieldGet(ba,this).promise}update(t){let{viewport:e,onBefore:i=null}=t;const a=e.scale*OutputScale.pixelRatio,s=e.rotation;if(s!==text_layer_classPrivateFieldGet(Ta,this)){i?.();text_layer_classPrivateFieldSet(Ta,this,s);setLayerDimensions(text_layer_classPrivateFieldGet(Ia,this),{rotation:s})}if(a!==text_layer_classPrivateFieldGet(Ra,this)){i?.();text_layer_classPrivateFieldSet(Ra,this,a);const t={div:null,properties:null,ctx:_getCtx.call(TextLayer,text_layer_classPrivateFieldGet(Ca,this),text_layer_classPrivateGetter(Ua,this,_get_doc))};for(const e of text_layer_classPrivateFieldGet(Oa,this)){t.properties=text_layer_classPrivateFieldGet(Na,this).get(e);t.div=e;text_layer_assertClassBrand(Ua,this,_layout).call(this,t)}}}cancel(){const t=new AbortException("TextLayer task cancelled.");text_layer_classPrivateFieldGet(Ma,this)?.cancel(t).catch((()=>{}));text_layer_classPrivateFieldSet(Ma,this,null);text_layer_classPrivateFieldGet(ba,this).reject(t)}get textDivs(){return text_layer_classPrivateFieldGet(Oa,this)}get textContentItemsStr(){return text_layer_classPrivateFieldGet(Ba,this).map((t=>t.str))}get textContentItems(){return text_layer_classPrivateFieldGet(Ba,this)}get renderingTask(){return text_layer_classPrivateFieldGet(ba,this)}static cleanup(){if(!(text_layer_assertClassBrand(TextLayer,this,Ka)._.size>0)){text_layer_assertClassBrand(TextLayer,this,$a)._.clear();for(const{canvas:t}of text_layer_assertClassBrand(TextLayer,this,Va)._.values())t.remove();text_layer_assertClassBrand(TextLayer,this,Va)._.clear()}}}wa=TextLayer;function _get_doc(t){return text_layer_classPrivateFieldGet(Ia,t)?.ownerDocument||document}function _processItems(t){if(text_layer_classPrivateFieldGet(Aa,this))return;text_layer_classPrivateFieldGet(Ea,this).ctx??=_getCtx.call(wa,text_layer_classPrivateFieldGet(Ca,this),text_layer_classPrivateGetter(Ua,this,_get_doc));const e=text_layer_classPrivateFieldGet(Oa,this),i=text_layer_classPrivateFieldGet(Ba,this);for(const a of t){if(e.length>1e5){warn("Ignoring additional textDivs for performance reasons.");text_layer_classPrivateFieldSet(Aa,this,!0);return}if(void 0!==a.str){i.push(a);text_layer_assertClassBrand(Ua,this,_appendText).call(this,a)}else if("beginMarkedContentProps"===a.type||"beginMarkedContent"===a.type){const t=text_layer_classPrivateFieldGet(Sa,this);text_layer_classPrivateFieldSet(Sa,this,text_layer_classPrivateGetter(Ua,this,_get_doc).createElement("span"));text_layer_classPrivateFieldGet(Sa,this).classList.add("markedContent");null!==a.id&&text_layer_classPrivateFieldGet(Sa,this).setAttribute("id",`${a.id}`);t.append(text_layer_classPrivateFieldGet(Sa,this))}else"endMarkedContent"===a.type&&text_layer_classPrivateFieldSet(Sa,this,text_layer_classPrivateFieldGet(Sa,this).parentNode)}}function _appendText(t){const e=text_layer_classPrivateGetter(Ua,this,_get_doc).createElement("span");e.dataset.idx=text_layer_classPrivateFieldGet(Oa,this).length;e.classList.add("textLayerNode");const i={angle:0,canvasWidth:0,hasText:""!==t.str,hasEOL:t.hasEOL,fontSize:0};text_layer_classPrivateFieldGet(Oa,this).push(e);const a=util_Util.transform(text_layer_classPrivateFieldGet(Wa,this),t.transform);let s=Math.atan2(a[1],a[0]);const r=text_layer_classPrivateFieldGet(Da,this)[t.fontName];r.vertical&&(s+=Math.PI/2);let n=text_layer_classPrivateFieldGet(xa,this)&&r.fontSubstitution||r.fontFamily;n=wa.fontFamilyMap.get(n)||n;const o=Math.hypot(a[2],a[3]),l=o*_getAscent.call(wa,n,r,text_layer_classPrivateFieldGet(Ca,this),text_layer_classPrivateGetter(Ua,this,_get_doc));let c,d;if(0===s){c=a[4];d=a[5]-l}else{c=a[4]+l*Math.sin(s);d=a[5]-l*Math.cos(s)}const h="calc(var(--total-scale-factor) *",u=e.style;if(text_layer_classPrivateFieldGet(Sa,this)===text_layer_classPrivateFieldGet(Ia,this)){u.left=`${(100*c/text_layer_classPrivateFieldGet(Ga,this)).toFixed(2)}%`;u.top=`${(100*d/text_layer_classPrivateFieldGet(ka,this)).toFixed(2)}%`}else{u.left=`${h}${c.toFixed(2)}px)`;u.top=`${h}${d.toFixed(2)}px)`}u.fontSize=`${h}${(Xa._*o).toFixed(2)}px)`;u.fontFamily=n;i.fontSize=o;e.setAttribute("role","presentation");e.textContent=t.str;e.dir=t.dir;text_layer_classPrivateFieldGet(xa,this)&&(e.dataset.fontName=r.fontSubstitutionLoadedName||t.fontName);0!==s&&(i.angle=s*(180/Math.PI));let _=!1;if(t.str.length>1)_=!0;else if(" "!==t.str&&t.transform[0]!==t.transform[3]){const e=Math.abs(t.transform[0]),i=Math.abs(t.transform[3]);e!==i&&Math.max(e,i)/Math.min(e,i)>1.5&&(_=!0)}_&&(i.canvasWidth=r.vertical?t.height:t.width);text_layer_classPrivateFieldGet(Na,this).set(e,i);text_layer_classPrivateFieldGet(Ea,this).div=e;text_layer_classPrivateFieldGet(Ea,this).properties=i;text_layer_assertClassBrand(Ua,this,_layout).call(this,text_layer_classPrivateFieldGet(Ea,this));i.hasText&&text_layer_classPrivateFieldGet(Sa,this).append(e);if(i.hasEOL){const t=document.createElement("br");t.setAttribute("role","presentation");text_layer_classPrivateFieldGet(Sa,this).append(t)}}function _layout(t){const{div:e,properties:i,ctx:a}=t,{style:s}=e;let r="";Xa._>1&&(r=`scale(${1/Xa._})`);if(0!==i.canvasWidth&&i.hasText){const{fontFamily:t}=s,{canvasWidth:n,fontSize:o}=i;_ensureCtxFont.call(wa,a,o*text_layer_classPrivateFieldGet(Ra,this),t);const{width:l}=a.measureText(e.textContent);l>0&&(r=`scaleX(${n*text_layer_classPrivateFieldGet(Ra,this)/l}) ${r}`)}0!==i.angle&&(r=`rotate(${i.angle}deg) ${r}`);r.length>0&&(s.transform=r)}function _getCtx(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1?arguments[1]:void 0,i=text_layer_assertClassBrand(wa,this,Va)._.get(t||="");if(!i){const a=e.createElement("canvas");a.className="hiddenCanvasElement";a.lang=t;e.body.append(a);i=a.getContext("2d",{alpha:!1,willReadFrequently:!0});text_layer_assertClassBrand(wa,this,Va)._.set(t,i);text_layer_assertClassBrand(wa,this,qa)._.set(i,{size:0,family:""})}return i}function _ensureCtxFont(t,e,i){const a=text_layer_assertClassBrand(wa,this,qa)._.get(t);if(e!==a.size||i!==a.family){t.font=`${e}px ${i}`;a.size=e;a.family=i}}function _ensureMinFontSizeComputed(){if(null!==text_layer_assertClassBrand(wa,this,Xa)._)return;const t=document.createElement("div");t.style.opacity=0;t.style.lineHeight=1;t.style.fontSize="1px";t.style.position="absolute";t.textContent="X";document.body.append(t);Xa._=text_layer_assertClassBrand(wa,this,t.getBoundingClientRect().height);t.remove()}function _getAscent(t,e,i,a){const s=text_layer_assertClassBrand(wa,this,$a)._.get(t);if(s)return s;const r=text_layer_assertClassBrand(wa,this,_getCtx).call(this,i,a);r.canvas.width=r.canvas.height=30;text_layer_assertClassBrand(wa,this,_ensureCtxFont).call(this,r,30,t);const n=r.measureText(""),o=n.fontBoundingBoxAscent,l=Math.abs(n.fontBoundingBoxDescent);r.canvas.width=r.canvas.height=0;let c=.8;if(o)c=o/(o+l);else{util_FeatureTest.platform.isFirefox&&warn("Enable the `dom.textMetrics.fontBoundingBox.enabled` preference in `about:config` to improve TextLayer rendering.");e.ascent?c=e.ascent:e.descent&&(c=1+e.descent)}text_layer_assertClassBrand(wa,this,$a)._.set(t,c);return c}var ja,Ha,za,$a={_:new Map},Va={_:new Map},qa={_:new WeakMap},Xa={_:null},Ka={_:new Set};class XfaText{static textContent(t){const e=[],i={items:e,styles:Object.create(null)};!function walk(t){if(!t)return;let i=null;const a=t.name;if("#text"===a)i=t.value;else{if(!XfaText.shouldBuildText(a))return;t?.attributes?.textContent?i=t.attributes.textContent:t.value&&(i=t.value)}null!==i&&e.push({str:i});if(t.children)for(const e of t.children)walk(e)}(t);return i}static shouldBuildText(t){return!("textarea"===t||"input"===t||"option"===t||"select"===t)}}function api_classPrivateGetter(t,e,i){return i(api_assertClassBrand(t,e))}function api_classPrivateMethodInitSpec(t,e){api_checkPrivateRedeclaration(t,e),e.add(t)}function api_classPrivateFieldSet(t,e,i){return t.set(api_assertClassBrand(t,e),i),i}function api_classPrivateFieldInitSpec(t,e,i){api_checkPrivateRedeclaration(t,e),e.set(t,i)}function api_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function api_classPrivateFieldGet(t,e){return t.get(api_assertClassBrand(t,e))}function api_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}function api_defineProperty(t,e,i){return(e=function api_toPropertyKey(t){var e=function api_toPrimitive(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function getDocument(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};"string"==typeof t||t instanceof URL?t={url:t}:(t instanceof ArrayBuffer||ArrayBuffer.isView(t))&&(t={data:t});const e=new PDFDocumentLoadingTask,{docId:i}=e,s=t.url?function getUrlProp(t){if(t instanceof URL)return t.href;if("string"==typeof t){if(a)return t;const e=URL.parse(t,window.location);if(e)return e.href}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}(t.url):null,r=t.data?function getDataProp(t){if(a&&"undefined"!=typeof Buffer&&t instanceof Buffer)throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(t instanceof Uint8Array&&t.byteLength===t.buffer.byteLength)return t;if("string"==typeof t)return stringToBytes(t);if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)||"object"==typeof t&&!isNaN(t?.length))return new Uint8Array(t);throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}(t.data):null,n=t.httpHeaders||null,o=!0===t.withCredentials,l=t.password??null,c=t.range instanceof PDFDataRangeTransport?t.range:null,d=Number.isInteger(t.rangeChunkSize)&&t.rangeChunkSize>0?t.rangeChunkSize:65536;let h=t.worker instanceof PDFWorker?t.worker:null;const u=t.verbosity,_="string"!=typeof t.docBaseUrl||isDataScheme(t.docBaseUrl)?null:t.docBaseUrl,p=getFactoryUrlProp(t.cMapUrl),f=!1!==t.cMapPacked,g=t.CMapReaderFactory||(a?NodeCMapReaderFactory:DOMCMapReaderFactory),v=getFactoryUrlProp(t.iccUrl),m=getFactoryUrlProp(t.standardFontDataUrl),P=t.StandardFontDataFactory||(a?NodeStandardFontDataFactory:DOMStandardFontDataFactory),w=getFactoryUrlProp(t.wasmUrl),y=t.WasmFactory||(a?NodeWasmFactory:DOMWasmFactory),b=!0!==t.stopAtErrors,S=Number.isInteger(t.maxImageSize)&&t.maxImageSize>-1?t.maxImageSize:-1,A=!1!==t.isEvalSupported,x="boolean"==typeof t.isOffscreenCanvasSupported?t.isOffscreenCanvasSupported:!a,C="boolean"==typeof t.isImageDecoderSupported?t.isImageDecoderSupported:!a&&(util_FeatureTest.platform.isFirefox||!globalThis.chrome),E=Number.isInteger(t.canvasMaxAreaInBytes)?t.canvasMaxAreaInBytes:-1,k="boolean"==typeof t.disableFontFace?t.disableFontFace:a,G=!0===t.fontExtraProperties,M=!0===t.enableXfa,I=t.ownerDocument||globalThis.document,T=!0===t.disableRange,R=!0===t.disableStream,D=!0===t.disableAutoFetch,B=!0===t.pdfBug,L=t.CanvasFactory||(a?NodeCanvasFactory:DOMCanvasFactory),O=t.FilterFactory||(a?NodeFilterFactory:DOMFilterFactory),N=!0===t.enableHWA,W=!1!==t.useWasm,U=c?c.length:t.length??NaN,j="boolean"==typeof t.useSystemFonts?t.useSystemFonts:!a&&!k,H="boolean"==typeof t.useWorkerFetch?t.useWorkerFetch:!!(g===DOMCMapReaderFactory&&P===DOMStandardFontDataFactory&&y===DOMWasmFactory&&p&&m&&w&&isValidFetchUrl(p,document.baseURI)&&isValidFetchUrl(m,document.baseURI)&&isValidFetchUrl(w,document.baseURI));setVerbosityLevel(u);const z={canvasFactory:new L({ownerDocument:I,enableHWA:N}),filterFactory:new O({docId:i,ownerDocument:I}),cMapReaderFactory:H?null:new g({baseUrl:p,isCompressed:f}),standardFontDataFactory:H?null:new P({baseUrl:m}),wasmFactory:H?null:new y({baseUrl:w})};if(!h){h=PDFWorker.create({verbosity:u,port:GlobalWorkerOptions.workerPort});e._worker=h}const $={docId:i,apiVersion:"5.3.34",data:r,password:l,disableAutoFetch:D,rangeChunkSize:d,length:U,docBaseUrl:_,enableXfa:M,evaluatorOptions:{maxImageSize:S,disableFontFace:k,ignoreErrors:b,isEvalSupported:A,isOffscreenCanvasSupported:x,isImageDecoderSupported:C,canvasMaxAreaInBytes:E,fontExtraProperties:G,useSystemFonts:j,useWasm:W,useWorkerFetch:H,cMapUrl:p,iccUrl:v,standardFontDataUrl:m,wasmUrl:w}},V={ownerDocument:I,pdfBug:B,styleElement:null,loadingParams:{disableAutoFetch:D,enableXfa:M}};h.promise.then((function(){if(e.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const t=h.messageHandler.sendWithPromise("GetDocRequest",$,r?[r.buffer]:null);let l;if(c)l=new PDFDataTransportStream(c,{disableRange:T,disableStream:R});else if(!r){if(!s)throw new Error("getDocument - no `url` parameter provided.");const t=isValidFetchUrl(s)?PDFFetchStream:a?PDFNodeStream:PDFNetworkStream;l=new t({url:s,length:U,httpHeaders:n,withCredentials:o,rangeChunkSize:d,disableRange:T,disableStream:R})}return t.then((t=>{if(e.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const a=new MessageHandler(i,t,h.port),s=new WorkerTransport(a,e,l,V,z);e._transport=s;a.send("Ready",null)}))})).catch(e._capability.reject);return e}class PDFDocumentLoadingTask{constructor(){api_defineProperty(this,"_capability",Promise.withResolvers());api_defineProperty(this,"_transport",null);api_defineProperty(this,"_worker",null);api_defineProperty(this,"docId",`d${Ya._=(ja=Ya._,Ha=ja++,ja),Ha}`);api_defineProperty(this,"destroyed",!1);api_defineProperty(this,"onPassword",null);api_defineProperty(this,"onProgress",null)}get promise(){return this._capability.promise}async destroy(){this.destroyed=!0;try{this._worker?.port&&(this._worker._pendingDestroy=!0);await(this._transport?.destroy())}catch(t){this._worker?.port&&delete this._worker._pendingDestroy;throw t}this._transport=null;this._worker?.destroy();this._worker=null}async getData(){return this._transport.getData()}}var Ya={_:0},Qa=new WeakMap,Ja=new WeakMap,Za=new WeakMap,ts=new WeakMap,es=new WeakMap;class PDFDataRangeTransport{constructor(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;api_classPrivateFieldInitSpec(this,Qa,Promise.withResolvers());api_classPrivateFieldInitSpec(this,Ja,[]);api_classPrivateFieldInitSpec(this,Za,[]);api_classPrivateFieldInitSpec(this,ts,[]);api_classPrivateFieldInitSpec(this,es,[]);this.length=t;this.initialData=e;this.progressiveDone=i;this.contentDispositionFilename=a}addRangeListener(t){api_classPrivateFieldGet(es,this).push(t)}addProgressListener(t){api_classPrivateFieldGet(ts,this).push(t)}addProgressiveReadListener(t){api_classPrivateFieldGet(Za,this).push(t)}addProgressiveDoneListener(t){api_classPrivateFieldGet(Ja,this).push(t)}onDataRange(t,e){for(const i of api_classPrivateFieldGet(es,this))i(t,e)}onDataProgress(t,e){api_classPrivateFieldGet(Qa,this).promise.then((()=>{for(const i of api_classPrivateFieldGet(ts,this))i(t,e)}))}onDataProgressiveRead(t){api_classPrivateFieldGet(Qa,this).promise.then((()=>{for(const e of api_classPrivateFieldGet(Za,this))e(t)}))}onDataProgressiveDone(){api_classPrivateFieldGet(Qa,this).promise.then((()=>{for(const t of api_classPrivateFieldGet(Ja,this))t()}))}transportReady(){api_classPrivateFieldGet(Qa,this).resolve()}requestDataRange(t,e){unreachable("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}class PDFDocumentProxy{constructor(t,e){this._pdfInfo=t;this._transport=e}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return shadow(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(t){return this._transport.getPage(t)}getPageIndex(t){return this._transport.getPageIndex(t)}getDestinations(){return this._transport.getDestinations()}getDestination(t){return this._transport.getDestination(t)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig(){let{intent:t="display"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{renderingIntent:e}=this._transport.getRenderingIntent(t);return this._transport.getOptionalContentConfig(e)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._transport.startCleanup(t||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}cachedPageNumber(t){return this._transport.cachedPageNumber(t)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}var is=new WeakMap,as=new WeakSet;class PDFPageProxy{constructor(t,e,i){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];api_classPrivateMethodInitSpec(this,as);api_classPrivateFieldInitSpec(this,is,!1);this._pageIndex=t;this._pageInfo=e;this._transport=i;this._stats=a?new StatTimer:null;this._pdfBug=a;this.commonObjs=i.commonObjs;this.objs=new PDFObjects;this._intentStates=new Map;this.destroyed=!1}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport(){let{scale:t,rotation:e=this.rotate,offsetX:i=0,offsetY:a=0,dontFlip:s=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new PageViewport({viewBox:this.view,userUnit:this.userUnit,scale:t,rotation:e,offsetX:i,offsetY:a,dontFlip:s})}getAnnotations(){let{intent:t="display"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{renderingIntent:e}=this._transport.getRenderingIntent(t);return this._transport.getAnnotations(this._pageIndex,e)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return shadow(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){return this._transport._htmlForXfa?.children[this._pageIndex]||null}render(t){let{canvasContext:e,viewport:i,intent:a="display",annotationMode:s=p.ENABLE,transform:r=null,background:n=null,optionalContentConfigPromise:o=null,annotationCanvasMap:c=null,pageColors:d=null,printAnnotationStorage:h=null,isEditing:u=!1,invert:_=!1}=t;this._stats?.time("Overall");const f=this._transport.getRenderingIntent(a,s,h,u),{renderingIntent:g,cacheKey:v}=f;api_classPrivateFieldSet(is,this,!1);o||=this._transport.getOptionalContentConfig(g);let m=this._intentStates.get(v);if(!m){m=Object.create(null);this._intentStates.set(v,m)}if(m.streamReaderCancelTimeout){activeWindow.clearTimeout(m.streamReaderCancelTimeout);m.streamReaderCancelTimeout=null}const P=!!(g&l);if(!m.displayReadyCapability){m.displayReadyCapability=Promise.withResolvers();m.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null};this._stats?.time("Page Request");this._pumpOperatorList(f)}const complete=t=>{m.renderTasks.delete(w);P&&api_classPrivateFieldSet(is,this,!0);api_assertClassBrand(as,this,_tryCleanup).call(this);if(t){w.capability.reject(t);this._abortOperatorList({intentState:m,reason:t instanceof Error?t:new Error(t)})}else w.capability.resolve();if(this._stats){this._stats.timeEnd("Rendering");this._stats.timeEnd("Overall");globalThis.Stats?.enabled&&globalThis.Stats.add(this.pageNumber,this._stats)}},w=new InternalRenderTask({callback:complete,params:{canvasContext:e,viewport:i,transform:r,background:n,invert:_},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:c,operatorList:m.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!P,pdfBug:this._pdfBug,pageColors:d});(m.renderTasks||=new Set).add(w);const y=w.task;Promise.all([m.displayReadyCapability.promise,o]).then((t=>{let[e,i]=t;if(this.destroyed)complete();else{this._stats?.time("Rendering");if(!(i.renderingIntent&g))throw new Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");w.initializeGraphics({transparency:e,optionalContentConfig:i});w.operatorListChanged()}})).catch(complete);return y}getOperatorList(){let{intent:t="display",annotationMode:e=p.ENABLE,printAnnotationStorage:i=null,isEditing:a=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=this._transport.getRenderingIntent(t,e,i,a,!0);let r,n=this._intentStates.get(s.cacheKey);if(!n){n=Object.create(null);this._intentStates.set(s.cacheKey,n)}if(!n.opListReadCapability){r=Object.create(null);r.operatorListChanged=function operatorListChanged(){if(n.operatorList.lastChunk){n.opListReadCapability.resolve(n.operatorList);n.renderTasks.delete(r)}};n.opListReadCapability=Promise.withResolvers();(n.renderTasks||=new Set).add(r);n.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null};this._stats?.time("Page Request");this._pumpOperatorList(s)}return n.opListReadCapability.promise}streamTextContent(){let{includeMarkedContent:t=!1,disableNormalization:e=!1,includeChars:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:!0===t,disableNormalization:!0===e,includeChars:i},{highWaterMark:100,size:t=>t.items.length})}getTextContent(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this._transport._htmlForXfa)return this.getXfa().then((t=>XfaText.textContent(t)));const e=this.streamTextContent(t);return new Promise((function(t,i){const a=e.getReader(),s={items:[],styles:Object.create(null),lang:null};!function pump(){a.read().then((function(e){let{value:i,done:a}=e;if(a)t(s);else{s.lang??=i.lang;Object.assign(s.styles,i.styles);s.items.push(...i.items);pump()}}),i)}()}))}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const t=[];for(const e of this._intentStates.values()){this._abortOperatorList({intentState:e,reason:new Error("Page was destroyed."),force:!0});if(!e.opListReadCapability)for(const i of e.renderTasks){t.push(i.completed);i.cancel()}}this.objs.clear();api_classPrivateFieldSet(is,this,!1);return Promise.all(t)}cleanup(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];api_classPrivateFieldSet(is,this,!0);const e=api_assertClassBrand(as,this,_tryCleanup).call(this);t&&e&&(this._stats&&=new StatTimer);return e}_startRenderPage(t,e){const i=this._intentStates.get(e);if(i){this._stats?.timeEnd("Page Request");i.displayReadyCapability?.resolve(t)}}_renderPageChunk(t,e){for(let i=0,a=t.length;i{o.read().then((t=>{let{value:e,done:i}=t;if(i)l.streamReader=null;else if(!this._transport.destroyed){this._renderPageChunk(e,l);pump()}}),(t=>{l.streamReader=null;if(!this._transport.destroyed){if(l.operatorList){l.operatorList.lastChunk=!0;for(const t of l.renderTasks)t.operatorListChanged();api_assertClassBrand(as,this,_tryCleanup).call(this)}if(l.displayReadyCapability)l.displayReadyCapability.reject(t);else{if(!l.opListReadCapability)throw t;l.opListReadCapability.reject(t)}}}))};pump()}_abortOperatorList(t){let{intentState:e,reason:i,force:a=!1}=t;if(e.streamReader){if(e.streamReaderCancelTimeout){activeWindow.clearTimeout(e.streamReaderCancelTimeout);e.streamReaderCancelTimeout=null}if(!a){if(e.renderTasks.size>0)return;if(i instanceof RenderingCancelledException){let t=100;i.extraDelay>0&&i.extraDelay<1e3&&(t+=i.extraDelay);e.streamReaderCancelTimeout=activeWindow.setTimeout((()=>{e.streamReaderCancelTimeout=null;this._abortOperatorList({intentState:e,reason:i,force:!0})}),t);return}}e.streamReader.cancel(new AbortException(i.message)).catch((()=>{}));e.streamReader=null;if(!this._transport.destroyed){for(const[t,i]of this._intentStates)if(i===e){this._intentStates.delete(t);break}this.cleanup()}}}get stats(){return this._stats}}function _tryCleanup(){if(!api_classPrivateFieldGet(is,this)||this.destroyed)return!1;for(const{renderTasks:t,operatorList:e}of this._intentStates.values())if(t.size>0||!e.lastChunk)return!1;this._intentStates.clear();this.objs.clear();api_classPrivateFieldSet(is,this,!1);return!0}var ss=new WeakMap,rs=new WeakMap,ns=new WeakMap,os=new WeakMap,ls=new WeakSet;class PDFWorker{constructor(){let{name:t=null,port:e=null,verbosity:i=getVerbosityLevel()}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};api_classPrivateMethodInitSpec(this,ls);api_classPrivateFieldInitSpec(this,ss,Promise.withResolvers());api_classPrivateFieldInitSpec(this,rs,null);api_classPrivateFieldInitSpec(this,ns,null);api_classPrivateFieldInitSpec(this,os,null);this.name=t;this.destroyed=!1;this.verbosity=i;if(e){if(hs._.has(e))throw new Error("Cannot use more than one PDFWorker per port.");hs._.set(e,this);api_assertClassBrand(ls,this,_initializeFromPort).call(this,e)}else api_assertClassBrand(ls,this,_initialize).call(this)}get promise(){return api_classPrivateFieldGet(ss,this).promise}get port(){return api_classPrivateFieldGet(ns,this)}get messageHandler(){return api_classPrivateFieldGet(rs,this)}destroy(){this.destroyed=!0;api_classPrivateFieldGet(os,this)?.terminate();api_classPrivateFieldSet(os,this,null);hs._.delete(api_classPrivateFieldGet(ns,this));api_classPrivateFieldSet(ns,this,null);api_classPrivateFieldGet(rs,this)?.destroy();api_classPrivateFieldSet(rs,this,null)}static create(t){const e=api_assertClassBrand(PDFWorker,this,hs)._.get(t?.port);if(e){if(e._pendingDestroy)throw new Error("PDFWorker.create - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return e}return new PDFWorker(t)}static get workerSrc(){if(GlobalWorkerOptions.workerSrc)return GlobalWorkerOptions.workerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _setupFakeWorkerGlobal(){return shadow(this,"_setupFakeWorkerGlobal",(async()=>{if(api_classPrivateGetter(PDFWorker,this,_get_mainThreadWorkerMessageHandler))return api_classPrivateGetter(PDFWorker,this,_get_mainThreadWorkerMessageHandler);return(await import( /*webpackIgnore: true*/ /*@vite-ignore*/ this.workerSrc)).WorkerMessageHandler})())}}za=PDFWorker;function _resolve(){api_classPrivateFieldGet(ss,this).resolve();api_classPrivateFieldGet(rs,this).send("configure",{verbosity:this.verbosity})}function _initializeFromPort(t){api_classPrivateFieldSet(ns,this,t);api_classPrivateFieldSet(rs,this,new MessageHandler("main","worker",t));api_classPrivateFieldGet(rs,this).on("ready",(()=>{}));api_assertClassBrand(ls,this,_resolve).call(this)}function _initialize(){if(ds._||_get_mainThreadWorkerMessageHandler(za)){api_assertClassBrand(ls,this,_setupFakeWorker).call(this);return}let{workerSrc:t}=za;try{za._isSameOrigin(window.location,t)||(t=za._createCDNWrapper(new URL(t,window.location).href));const e=new Worker(t,{type:"module"}),i=new MessageHandler("main","worker",e),terminateEarly=()=>{a.abort();i.destroy();e.terminate();this.destroyed?api_classPrivateFieldGet(ss,this).reject(new Error("Worker was destroyed")):api_assertClassBrand(ls,this,_setupFakeWorker).call(this)},a=new AbortController;e.addEventListener("error",(()=>{api_classPrivateFieldGet(os,this)||terminateEarly()}),{signal:a.signal});i.on("test",(t=>{a.abort();if(!this.destroyed&&t){api_classPrivateFieldSet(rs,this,i);api_classPrivateFieldSet(ns,this,e);api_classPrivateFieldSet(os,this,e);api_assertClassBrand(ls,this,_resolve).call(this)}else terminateEarly()}));i.on("ready",(t=>{a.abort();if(this.destroyed)terminateEarly();else try{sendTest()}catch{api_assertClassBrand(ls,this,_setupFakeWorker).call(this)}}));const sendTest=()=>{const t=new Uint8Array;i.send("test",t,[t.buffer])};sendTest();return}catch{info("The worker has been disabled.")}api_assertClassBrand(ls,this,_setupFakeWorker).call(this)}function _setupFakeWorker(){if(!ds._){warn("Setting up fake worker.");ds._=!0}za._setupFakeWorkerGlobal.then((t=>{var e,i;if(this.destroyed){api_classPrivateFieldGet(ss,this).reject(new Error("Worker was destroyed"));return}const a=new LoopbackPort;api_classPrivateFieldSet(ns,this,a);const s=`fake${cs._=(e=cs._,i=e++,e),i}`,r=new MessageHandler(s+"_worker",s,a);t.setup(r,a);api_classPrivateFieldSet(rs,this,new MessageHandler(s,s+"_worker",a));api_assertClassBrand(ls,this,_resolve).call(this)})).catch((t=>{api_classPrivateFieldGet(ss,this).reject(new Error(`Setting up fake worker failed: "${t.message}".`))}))}function _get_mainThreadWorkerMessageHandler(t){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch{return null}}var cs={_:0},ds={_:!1},hs={_:new WeakMap};(()=>{if(a){ds._=api_assertClassBrand(za,za,!0);GlobalWorkerOptions.workerSrc||="./pdf.worker.mjs"}za._isSameOrigin=(t,e)=>{const i=URL.parse(t);if(!i?.origin||"null"===i.origin)return!1;const a=new URL(e,i);return i.origin===a.origin};za._createCDNWrapper=t=>{const e=`await import("${t}");`;return URL.createObjectURL(new Blob([e],{type:"text/javascript"}))};za.fromPort=t=>{!function deprecated(t){console.log("Deprecated API usage: "+t)}("`PDFWorker.fromPort` - please use `PDFWorker.create` instead.");if(!t?.port)throw new Error("PDFWorker.fromPort - invalid method signature.");return za.create(t)}})();var us=new WeakMap,_s=new WeakMap,ps=new WeakMap,fs=new WeakMap,gs=new WeakMap,vs=new WeakSet;class WorkerTransport{constructor(t,e,i,a,s){api_classPrivateMethodInitSpec(this,vs);api_classPrivateFieldInitSpec(this,us,new Map);api_classPrivateFieldInitSpec(this,_s,new Map);api_classPrivateFieldInitSpec(this,ps,new Map);api_classPrivateFieldInitSpec(this,fs,new Map);api_classPrivateFieldInitSpec(this,gs,null);this.messageHandler=t;this.loadingTask=e;this.commonObjs=new PDFObjects;this.fontLoader=new FontLoader({ownerDocument:a.ownerDocument,styleElement:a.styleElement});this.loadingParams=a.loadingParams;this._params=a;this.canvasFactory=s.canvasFactory;this.filterFactory=s.filterFactory;this.cMapReaderFactory=s.cMapReaderFactory;this.standardFontDataFactory=s.standardFontDataFactory;this.wasmFactory=s.wasmFactory;this.destroyed=!1;this.destroyCapability=null;this._networkStream=i;this._fullReader=null;this._lastProgress=null;this.downloadInfoCapability=Promise.withResolvers();this.setupMessageHandler()}get annotationStorage(){return shadow(this,"annotationStorage",new AnnotationStorage)}getRenderingIntent(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p.ENABLE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=o,f=_i;switch(t){case"any":r=n;break;case"display":break;case"print":r=l;break;default:warn(`getRenderingIntent - invalid intent: ${t}`)}const g=r&l&&i instanceof PrintAnnotationStorage?i:this.annotationStorage;switch(e){case p.DISABLE:r+=h;break;case p.ENABLE:break;case p.ENABLE_FORMS:r+=c;break;case p.ENABLE_STORAGE:r+=d;f=g.serializable;break;default:warn(`getRenderingIntent - invalid annotationMode: ${e}`)}a&&(r+=u);s&&(r+=_);const{ids:v,hash:m}=g.modifiedIds;return{renderingIntent:r,cacheKey:[r,f.hash,m].join("_"),annotationStorageSerializable:f,modifiedIds:v}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0;this.destroyCapability=Promise.withResolvers();api_classPrivateFieldGet(gs,this)?.reject(new Error("Worker was destroyed during onPassword callback"));const t=[];for(const e of api_classPrivateFieldGet(_s,this).values())t.push(e._destroy());api_classPrivateFieldGet(_s,this).clear();api_classPrivateFieldGet(ps,this).clear();api_classPrivateFieldGet(fs,this).clear();this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const e=this.messageHandler.sendWithPromise("Terminate",null);t.push(e);Promise.all(t).then((()=>{this.commonObjs.clear();this.fontLoader.clear();api_classPrivateFieldGet(us,this).clear();this.filterFactory.destroy();TextLayer.cleanup();this._networkStream?.cancelAllRequests(new AbortException("Worker was terminated."));this.messageHandler?.destroy();this.messageHandler=null;this.destroyCapability.resolve()}),this.destroyCapability.reject);return this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:t,loadingTask:e}=this;t.on("GetReader",((t,e)=>{assert(this._networkStream,"GetReader - no `IPDFStream` instance available.");this._fullReader=this._networkStream.getFullReader();this._fullReader.onProgress=t=>{this._lastProgress={loaded:t.loaded,total:t.total}};e.onPull=()=>{this._fullReader.read().then((function(t){let{value:i,done:a}=t;if(a)e.close();else{assert(i instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer.");e.enqueue(new Uint8Array(i),1,[i])}})).catch((t=>{e.error(t)}))};e.onCancel=t=>{this._fullReader.cancel(t);e.ready.catch((t=>{if(!this.destroyed)throw t}))}}));t.on("ReaderHeadersReady",(async t=>{await this._fullReader.headersReady;const{isStreamingSupported:i,isRangeSupported:a,contentLength:s}=this._fullReader;if(!i||!a){this._lastProgress&&e.onProgress?.(this._lastProgress);this._fullReader.onProgress=t=>{e.onProgress?.({loaded:t.loaded,total:t.total})}}return{isStreamingSupported:i,isRangeSupported:a,contentLength:s}}));t.on("GetRangeReader",((t,e)=>{assert(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const i=this._networkStream.getRangeReader(t.begin,t.end);if(i){e.onPull=()=>{i.read().then((function(t){let{value:i,done:a}=t;if(a)e.close();else{assert(i instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer.");e.enqueue(new Uint8Array(i),1,[i])}})).catch((t=>{e.error(t)}))};e.onCancel=t=>{i.cancel(t);e.ready.catch((t=>{if(!this.destroyed)throw t}))}}else e.close()}));t.on("GetDoc",(t=>{let{pdfInfo:i}=t;this._numPages=i.numPages;this._htmlForXfa=i.htmlForXfa;delete i.htmlForXfa;e._capability.resolve(new PDFDocumentProxy(i,this))}));t.on("DocException",(t=>{e._capability.reject(wrapReason(t))}));t.on("PasswordRequest",(t=>{api_classPrivateFieldSet(gs,this,Promise.withResolvers());try{if(!e.onPassword)throw wrapReason(t);const updatePassword=t=>{t instanceof Error?api_classPrivateFieldGet(gs,this).reject(t):api_classPrivateFieldGet(gs,this).resolve({password:t})};e.onPassword(updatePassword,t.code)}catch(t){api_classPrivateFieldGet(gs,this).reject(t)}return api_classPrivateFieldGet(gs,this).promise}));t.on("DataLoaded",(t=>{e.onProgress?.({loaded:t.length,total:t.length});this.downloadInfoCapability.resolve(t)}));t.on("StartRenderPage",(t=>{if(this.destroyed)return;api_classPrivateFieldGet(_s,this).get(t.pageIndex)._startRenderPage(t.transparency,t.cacheKey)}));t.on("commonobj",(e=>{let[i,a,s]=e;if(this.destroyed)return null;if(this.commonObjs.has(i))return null;switch(a){case"Font":if("error"in s){const t=s.error;warn(`Error during font loading: ${t}`);this.commonObjs.resolve(i,t);break}const e=this._params.pdfBug&&globalThis.FontInspector?.enabled?(t,e)=>globalThis.FontInspector.fontAdded(t,e):null,r=new FontFaceObject(s,e);this.fontLoader.bind(r).catch((()=>t.sendWithPromise("FontFallback",{id:i}))).finally((()=>{!r.fontExtraProperties&&r.data&&(r.data=null);this.commonObjs.resolve(i,r)}));break;case"CopyLocalImage":const{imageRef:n}=s;assert(n,"The imageRef must be defined.");for(const t of api_classPrivateFieldGet(_s,this).values())for(const[,e]of t.objs)if(e?.ref===n){if(!e.dataLen)return null;this.commonObjs.resolve(i,structuredClone(e));return e.dataLen}break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(i,s);break;default:throw new Error(`Got unknown common object type ${a}`)}return null}));t.on("obj",(t=>{let[e,i,a,s]=t;if(this.destroyed)return;const r=api_classPrivateFieldGet(_s,this).get(i);if(!r.objs.has(e))if(0!==r._intentStates.size)switch(a){case"Image":case"Pattern":r.objs.resolve(e,s);break;default:throw new Error(`Got unknown object type ${a}`)}else s?.bitmap?.close()}));t.on("DocProgress",(t=>{this.destroyed||e.onProgress?.({loaded:t.loaded,total:t.total})}));t.on("FetchBinaryData",(async t=>{if(this.destroyed)throw new Error("Worker was destroyed.");const e=this[t.type];if(!e)throw new Error(`${t.type} not initialized, see the \`useWorkerFetch\` parameter.`);return e.fetch(t)}))}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){this.annotationStorage.size<=0&&warn("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");const{map:t,transfer:e}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:t,filename:this._fullReader?.filename??null},e).finally((()=>{this.annotationStorage.resetModified()}))}getPage(t){if(!Number.isInteger(t)||t<=0||t>this._numPages)return Promise.reject(new Error("Invalid page request."));const e=t-1,i=api_classPrivateFieldGet(ps,this).get(e);if(i)return i;const a=this.messageHandler.sendWithPromise("GetPage",{pageIndex:e}).then((i=>{if(this.destroyed)throw new Error("Transport destroyed");i.refStr&&api_classPrivateFieldGet(fs,this).set(i.refStr,t);const a=new PDFPageProxy(e,i,this,this._params.pdfBug);api_classPrivateFieldGet(_s,this).set(e,a);return a}));api_classPrivateFieldGet(ps,this).set(e,a);return a}getPageIndex(t){return isRefProxy(t)?this.messageHandler.sendWithPromise("GetPageIndex",{num:t.num,gen:t.gen}):Promise.reject(new Error("Invalid pageIndex request."))}getAnnotations(t,e){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:t,intent:e})}getFieldObjects(){return api_assertClassBrand(vs,this,_cacheSimpleMethod).call(this,"GetFieldObjects")}hasJSActions(){return api_assertClassBrand(vs,this,_cacheSimpleMethod).call(this,"HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(t){return"string"!=typeof t?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:t})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getDocJSActions(){return api_assertClassBrand(vs,this,_cacheSimpleMethod).call(this,"GetDocJSActions")}getPageJSActions(t){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:t})}getStructTree(t){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:t})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(t){return api_assertClassBrand(vs,this,_cacheSimpleMethod).call(this,"GetOptionalContentConfig").then((e=>new OptionalContentConfig(e,t)))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const t="GetMetadata",e=api_classPrivateFieldGet(us,this).get(t);if(e)return e;const i=this.messageHandler.sendWithPromise(t,null).then((t=>({info:t[0],metadata:t[1]?new Metadata(t[1]):null,contentDispositionFilename:this._fullReader?.filename??null,contentLength:this._fullReader?.contentLength??null})));api_classPrivateFieldGet(us,this).set(t,i);return i}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const t of api_classPrivateFieldGet(_s,this).values()){if(!t.cleanup())throw new Error(`startCleanup: Page ${t.pageNumber} is currently rendering.`)}this.commonObjs.clear();t||this.fontLoader.clear();api_classPrivateFieldGet(us,this).clear();this.filterFactory.destroy(!0);TextLayer.cleanup()}}cachedPageNumber(t){if(!isRefProxy(t))return null;const e=0===t.gen?`${t.num}R`:`${t.num}R${t.gen}`;return api_classPrivateFieldGet(fs,this).get(e)??null}}function _cacheSimpleMethod(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const i=api_classPrivateFieldGet(us,this).get(t);if(i)return i;const a=this.messageHandler.sendWithPromise(t,e);api_classPrivateFieldGet(us,this).set(t,a);return a}var ms=new WeakMap;class RenderTask{constructor(t){api_classPrivateFieldInitSpec(this,ms,null);api_defineProperty(this,"onContinue",null);api_defineProperty(this,"onError",null);api_classPrivateFieldSet(ms,this,t)}get promise(){return api_classPrivateFieldGet(ms,this).capability.promise}cancel(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;api_classPrivateFieldGet(ms,this).cancel(null,t)}get separateAnnots(){const{separateAnnots:t}=api_classPrivateFieldGet(ms,this).operatorList;if(!t)return!1;const{annotationCanvasMap:e}=api_classPrivateFieldGet(ms,this);return t.form||t.canvas&&e?.size>0}}var Ps=new WeakMap;class InternalRenderTask{constructor(t){let{callback:e,params:i,objs:a,commonObjs:s,annotationCanvasMap:r,operatorList:n,pageIndex:o,canvasFactory:l,filterFactory:c,useRequestAnimationFrame:d=!1,pdfBug:h=!1,pageColors:u=null}=t;api_classPrivateFieldInitSpec(this,Ps,null);this.callback=e;this.params=i;this.objs=a;this.commonObjs=s;this.annotationCanvasMap=r;this.operatorListIdx=null;this.operatorList=n;this._pageIndex=o;this.canvasFactory=l;this.filterFactory=c;this._pdfBug=h;this.pageColors=u;this.running=!1;this.graphicsReadyCallback=null;this.graphicsReady=!1;this._useRequestAnimationFrame=!0===d&&"undefined"!=typeof window;this.cancelled=!1;this.capability=Promise.withResolvers();this.task=new RenderTask(this);this._cancelBound=this.cancel.bind(this);this._continueBound=this._continue.bind(this);this._scheduleNextBound=this._scheduleNext.bind(this);this._nextBound=this._next.bind(this);this._canvas=i.canvasContext.canvas}get completed(){return this.capability.promise.catch((function(){}))}initializeGraphics(t){let{transparency:e=!1,optionalContentConfig:i}=t;if(this.cancelled)return;if(this._canvas){if(ws._.has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");ws._.add(this._canvas)}if(this._pdfBug&&globalThis.StepperManager?.enabled){this.stepper=globalThis.StepperManager.create(this._pageIndex);this.stepper.init(this.operatorList);this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint()}const{canvasContext:a,viewport:s,transform:r,background:n,invert:o}=this.params;this.gfx=new CanvasGraphics(a,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:i},this.annotationCanvasMap,this.pageColors);this.gfx.beginDrawing({transform:r,viewport:s,transparency:e,background:n,invert:o});this.operatorListIdx=0;this.graphicsReady=!0;this.graphicsReadyCallback?.()}cancel(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.running=!1;this.cancelled=!0;this.gfx?.endDrawing();if(api_classPrivateFieldGet(Ps,this)){activeWindow.cancelAnimationFrame(api_classPrivateFieldGet(Ps,this));api_classPrivateFieldSet(Ps,this,null)}ws._.delete(this._canvas);t||=new RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex+1}`,e);this.callback(t);this.task.onError?.(t)}operatorListChanged(){if(this.graphicsReady){this.stepper?.updateOperatorList(this.operatorList);this.running||this._continue()}else this.graphicsReadyCallback||=this._continueBound}_continue(){this.running=!0;this.cancelled||(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?api_classPrivateFieldSet(Ps,this,activeWindow.requestAnimationFrame((()=>{api_classPrivateFieldSet(Ps,this,null);this._nextBound().catch(this._cancelBound)}))):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){if(!this.cancelled){this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper);if(this.operatorListIdx===this.operatorList.argsArray.length){this.running=!1;if(this.operatorList.lastChunk){this.gfx.endDrawing();ws._.delete(this._canvas);this.callback()}}}}}var ws={_:new WeakSet};const ys="5.3.34",Fs="cc1e2a3e0";__webpack_require__(531);function makeColorComp(t){return Math.floor(255*Math.max(0,Math.min(1,t))).toString(16).padStart(2,"0")}function scaleAndClamp(t){return Math.max(0,Math.min(255,255*t))}class ColorConverters{static CMYK_G(t){let[e,i,a,s]=t;return["G",1-Math.min(1,.3*e+.59*a+.11*i+s)]}static G_CMYK(t){let[e]=t;return["CMYK",0,0,0,1-e]}static G_RGB(t){let[e]=t;return["RGB",e,e,e]}static G_rgb(t){let[e]=t;e=scaleAndClamp(e);return[e,e,e]}static G_HTML(t){let[e]=t;const i=makeColorComp(e);return`#${i}${i}${i}`}static RGB_G(t){let[e,i,a]=t;return["G",.3*e+.59*i+.11*a]}static RGB_rgb(t){return t.map(scaleAndClamp)}static RGB_HTML(t){return`#${t.map(makeColorComp).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB(t){let[e,i,a,s]=t;return["RGB",1-Math.min(1,e+s),1-Math.min(1,a+s),1-Math.min(1,i+s)]}static CMYK_rgb(t){let[e,i,a,s]=t;return[scaleAndClamp(1-Math.min(1,e+s)),scaleAndClamp(1-Math.min(1,a+s)),scaleAndClamp(1-Math.min(1,i+s))]}static CMYK_HTML(t){const e=this.CMYK_RGB(t).slice(1);return this.RGB_HTML(e)}static RGB_CMYK(t){let[e,i,a]=t;const s=1-e,r=1-i,n=1-a;return["CMYK",s,r,n,Math.min(s,r,n)]}}class BaseSVGFactory{create(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t<=0||e<=0)throw new Error("Invalid SVG dimensions");const a=this._createSVG("svg:svg");a.setAttribute("version","1.1");if(!i){a.setAttribute("width",`${t}px`);a.setAttribute("height",`${e}px`)}a.setAttribute("preserveAspectRatio","none");a.setAttribute("viewBox",`0 0 ${t} ${e}`);return a}createElement(t){if("string"!=typeof t)throw new Error("Invalid SVG element type");return this._createSVG(t)}_createSVG(t){unreachable("Abstract method `_createSVG` called.")}}class DOMSVGFactory extends BaseSVGFactory{_createSVG(t){return document.createElementNS(V,t)}}class xfa_layer_XfaLayer{static setupStorage(t,e,i,a,s){const r=a.getValue(e,{value:null});switch(i.name){case"textarea":null!==r.value&&(t.textContent=r.value);if("print"===s)break;t.addEventListener("input",(t=>{a.setValue(e,{value:t.target.value})}));break;case"input":if("radio"===i.attributes.type||"checkbox"===i.attributes.type){r.value===i.attributes.xfaOn?t.setAttribute("checked",!0):r.value===i.attributes.xfaOff&&t.removeAttribute("checked");if("print"===s)break;t.addEventListener("change",(t=>{a.setValue(e,{value:t.target.checked?t.target.getAttribute("xfaOn"):t.target.getAttribute("xfaOff")})}))}else{null!==r.value&&t.setAttribute("value",r.value);if("print"===s)break;t.addEventListener("input",(t=>{a.setValue(e,{value:t.target.value})}))}break;case"select":if(null!==r.value){t.setAttribute("value",r.value);for(const t of i.children)t.attributes.value===r.value?t.attributes.selected=!0:t.attributes.hasOwnProperty("selected")&&delete t.attributes.selected}t.addEventListener("input",(t=>{const i=t.target.options,s=-1===i.selectedIndex?"":i[i.selectedIndex].value;a.setValue(e,{value:s})}))}}static setAttributes(t){let{html:e,element:i,storage:a=null,intent:s,linkService:r}=t;const{attributes:n}=i,o=e instanceof HTMLAnchorElement;"radio"===n.type&&(n.name=`${n.name}-${s}`);for(const[t,i]of Object.entries(n))if(null!=i)switch(t){case"class":i.length&&e.setAttribute(t,i.join(" "));break;case"dataId":break;case"id":e.setAttribute("data-element-id",i);break;case"style":Object.assign(e.style,i);break;case"textContent":e.textContent=i;break;default:(!o||"href"!==t&&"newWindow"!==t)&&e.setAttribute(t,i)}o&&r.addLinkAttributes(e,n.href,n.newWindow);a&&n.dataId&&this.setupStorage(e,n.dataId,i,a)}static render(t){const e=t.annotationStorage,i=t.linkService,a=t.xfaHtml,s=t.intent||"display",r=document.createElement(a.name);a.attributes&&this.setAttributes({html:r,element:a,intent:s,linkService:i});const n="richText"!==s,o=t.div;o.append(r);if(t.viewport){const e=`matrix(${t.viewport.transform.join(",")})`;o.style.transform=e}n&&o.setAttribute("class","xfaLayer xfaFont");const l=[];if(0===a.children.length){if(a.value){const t=document.createTextNode(a.value);r.append(t);n&&XfaText.shouldBuildText(a.name)&&l.push(t)}return{textDivs:l}}const c=[[a,-1,r]];for(;c.length>0;){const[t,a,r]=c.at(-1);if(a+1===t.children.length){c.pop();continue}const o=t.children[++c.at(-1)[1]];if(null===o)continue;const{name:d}=o;if("#text"===d){const t=document.createTextNode(o.value);l.push(t);r.append(t);continue}const h=o?.attributes?.xmlns?document.createElementNS(o.attributes.xmlns,d):document.createElement(d);r.append(h);o.attributes&&this.setAttributes({html:h,element:o,storage:e,intent:s,linkService:i});if(o.children?.length>0)c.push([o,-1,h]);else if(o.value){const t=document.createTextNode(o.value);n&&XfaText.shouldBuildText(d)&&l.push(t);h.append(t)}}for(const t of o.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))t.setAttribute("readOnly",!0);return{textDivs:l}}static update(t){const e=`matrix(${t.viewport.transform.join(",")})`;t.div.style.transform=e;t.div.hidden=!1}}function annotation_layer_classPrivateMethodInitSpec(t,e){annotation_layer_checkPrivateRedeclaration(t,e),e.add(t)}function annotation_layer_classPrivateFieldInitSpec(t,e,i){annotation_layer_checkPrivateRedeclaration(t,e),e.set(t,i)}function annotation_layer_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function annotation_layer_classPrivateFieldSet(t,e,i){return t.set(annotation_layer_assertClassBrand(t,e),i),i}function annotation_layer_classPrivateFieldGet(t,e){return t.get(annotation_layer_assertClassBrand(t,e))}function annotation_layer_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}const bs=1e3,Ss=new WeakSet;class AnnotationElementFactory{static create(t){switch(t.data.annotationType){case x.LINK:return new LinkAnnotationElement(t);case x.TEXT:return new TextAnnotationElement(t);case x.WIDGET:switch(t.data.fieldType){case"Tx":return new TextWidgetAnnotationElement(t);case"Btn":return t.data.radioButton?new RadioButtonWidgetAnnotationElement(t):t.data.checkBox?new CheckboxWidgetAnnotationElement(t):new PushButtonWidgetAnnotationElement(t);case"Ch":return new ChoiceWidgetAnnotationElement(t);case"Sig":return new SignatureWidgetAnnotationElement(t)}return new WidgetAnnotationElement(t);case x.POPUP:return new PopupAnnotationElement(t);case x.FREETEXT:return new FreeTextAnnotationElement(t);case x.LINE:return new LineAnnotationElement(t);case x.SQUARE:return new SquareAnnotationElement(t);case x.CIRCLE:return new CircleAnnotationElement(t);case x.POLYLINE:return new PolylineAnnotationElement(t);case x.CARET:return new CaretAnnotationElement(t);case x.INK:return new InkAnnotationElement(t);case x.POLYGON:return new PolygonAnnotationElement(t);case x.HIGHLIGHT:return new HighlightAnnotationElement(t);case x.UNDERLINE:return new UnderlineAnnotationElement(t);case x.SQUIGGLY:return new SquigglyAnnotationElement(t);case x.STRIKEOUT:return new StrikeOutAnnotationElement(t);case x.STAMP:return new StampAnnotationElement(t);case x.FILEATTACHMENT:return new FileAttachmentAnnotationElement(t);default:return new AnnotationElement(t)}}}var As=new WeakMap,xs=new WeakMap,Cs=new WeakMap,Es=new WeakSet;class AnnotationElement{constructor(t){let{isRenderable:e=!1,ignoreBorder:i=!1,createQuadrilaterals:a=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};annotation_layer_classPrivateMethodInitSpec(this,Es);annotation_layer_classPrivateFieldInitSpec(this,As,null);annotation_layer_classPrivateFieldInitSpec(this,xs,!1);annotation_layer_classPrivateFieldInitSpec(this,Cs,null);this.isRenderable=e;this.data=t.data;this.layer=t.layer;this.linkService=t.linkService;this.downloadManager=t.downloadManager;this.imageResourcesPath=t.imageResourcesPath;this.renderForms=t.renderForms;this.svgFactory=t.svgFactory;this.annotationStorage=t.annotationStorage;this.enableScripting=t.enableScripting;this.hasJSActions=t.hasJSActions;this._fieldObjects=t.fieldObjects;this.parent=t.parent;e&&(this.container=this._createContainer(i));a&&this._createQuadrilaterals()}static _hasPopupData(t){let{titleObj:e,contentsObj:i,richText:a}=t;return!!(e?.str||i?.str||a?.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return AnnotationElement._hasPopupData(this.data)}updateEdited(t){if(!this.container)return;annotation_layer_classPrivateFieldGet(As,this)||annotation_layer_classPrivateFieldSet(As,this,{rect:this.data.rect.slice(0)});const{rect:e}=t;e&&annotation_layer_assertClassBrand(Es,this,_setRectEdited).call(this,e);annotation_layer_classPrivateFieldGet(Cs,this)?.popup.updateEdited(t)}resetEdited(){if(annotation_layer_classPrivateFieldGet(As,this)){annotation_layer_assertClassBrand(Es,this,_setRectEdited).call(this,annotation_layer_classPrivateFieldGet(As,this).rect);annotation_layer_classPrivateFieldGet(Cs,this)?.popup.resetEdited();annotation_layer_classPrivateFieldSet(As,this,null)}}_createContainer(t){const{data:e,parent:{page:i,viewport:a}}=this,s=document.createElement("section");s.setAttribute("data-annotation-id",e.id);this instanceof WidgetAnnotationElement||(s.tabIndex=bs);const{style:r}=s,n=this.parent.zIndex++;r.zIndex=String(this instanceof TextAnnotationElement?n+1e3:n);e.alternativeText&&(s.title=e.alternativeText);e.noRotate&&s.classList.add("norotate");if(!e.rect||this instanceof PopupAnnotationElement){const{rotation:t}=e;e.hasOwnCanvas||0===t||this.setRotation(t,s);return s}const{width:o,height:l}=this;if(!t&&e.borderStyle.width>0){r.borderWidth=`${e.borderStyle.width}px`;const t=e.borderStyle.horizontalCornerRadius,i=e.borderStyle.verticalCornerRadius;if(t>0||i>0){const e=`calc(${t}px * var(--total-scale-factor)) / calc(${i}px * var(--total-scale-factor))`;r.borderRadius=e}else if(this instanceof RadioButtonWidgetAnnotationElement){const t=`calc(${o}px * var(--total-scale-factor)) / calc(${l}px * var(--total-scale-factor))`;r.borderRadius=t}switch(e.borderStyle.style){case C:r.borderStyle="solid";break;case E:r.borderStyle="dashed";break;case k:warn("Unimplemented border style: beveled");break;case G:warn("Unimplemented border style: inset");break;case M:r.borderBottomStyle="solid"}const a=e.borderColor||null;if(a){annotation_layer_classPrivateFieldSet(xs,this,!0);r.borderColor=util_Util.makeHexColor(0|a[0],0|a[1],0|a[2])}else r.borderWidth=0}const c=util_Util.normalizeRect([e.rect[0],i.view[3]-e.rect[1]+i.view[1],e.rect[2],i.view[3]-e.rect[3]+i.view[1]]),{pageWidth:d,pageHeight:h,pageX:u,pageY:_}=a.rawDims;r.left=100*(c[0]-u)/d+"%";r.top=100*(c[1]-_)/h+"%";const{rotation:p}=e;if(e.hasOwnCanvas||0===p){r.width=100*o/d+"%";r.height=100*l/h+"%"}else this.setRotation(p,s);return s}setRotation(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.container;if(!this.data.rect)return;const{pageWidth:i,pageHeight:a}=this.parent.viewport.rawDims;let{width:s,height:r}=this;t%180!=0&&([s,r]=[r,s]);e.style.width=100*s/i+"%";e.style.height=100*r/a+"%";e.setAttribute("data-main-rotation",(360-t)%360)}get _commonActions(){const setColor=(t,e,i)=>{const a=i.detail[t],s=a[0],r=a.slice(1);i.target.style[e]=ColorConverters[`${s}_HTML`](r);this.annotationStorage.setValue(this.data.id,{[e]:ColorConverters[`${s}_rgb`](r)})};return shadow(this,"_commonActions",{display:t=>{const{display:e}=t.detail,i=e%2==1;this.container.style.visibility=i?"hidden":"visible";this.annotationStorage.setValue(this.data.id,{noView:i,noPrint:1===e||2===e})},print:t=>{this.annotationStorage.setValue(this.data.id,{noPrint:!t.detail.print})},hidden:t=>{const{hidden:e}=t.detail;this.container.style.visibility=e?"hidden":"visible";this.annotationStorage.setValue(this.data.id,{noPrint:e,noView:e})},focus:t=>{activeWindow.setTimeout((()=>t.target.focus({preventScroll:!1})),0)},userName:t=>{t.target.title=t.detail.userName},readonly:t=>{t.target.disabled=t.detail.readonly},required:t=>{this._setRequired(t.target,t.detail.required)},bgColor:t=>{setColor("bgColor","backgroundColor",t)},fillColor:t=>{setColor("fillColor","backgroundColor",t)},fgColor:t=>{setColor("fgColor","color",t)},textColor:t=>{setColor("textColor","color",t)},borderColor:t=>{setColor("borderColor","borderColor",t)},strokeColor:t=>{setColor("strokeColor","borderColor",t)},rotation:t=>{const e=t.detail.rotation;this.setRotation(e);this.annotationStorage.setValue(this.data.id,{rotation:e})}})}_dispatchEventFromSandbox(t,e){const i=this._commonActions;for(const a of Object.keys(e.detail)){const s=t[a]||i[a];s?.(e)}}_setDefaultPropertiesFromJS(t){if(!this.enableScripting)return;const e=this.annotationStorage.getRawValue(this.data.id);if(!e)return;const i=this._commonActions;for(const[a,s]of Object.entries(e)){const r=i[a];if(r){r({detail:{[a]:s},target:t});delete e[a]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:t}=this.data;if(!t)return;const[e,i,a,s]=this.data.rect.map((t=>Math.fround(t)));if(8===t.length){const[r,n,o,l]=t.subarray(2,6);if(a===r&&s===n&&e===o&&i===l)return}const{style:r}=this.container;let n;if(annotation_layer_classPrivateFieldGet(xs,this)){const{borderColor:t,borderWidth:e}=r;r.borderWidth=0;n=["url('data:image/svg+xml;utf8,",'',``];this.container.classList.add("hasBorder")}const o=a-e,l=s-i,{svgFactory:c}=this,d=c.createElement("svg");d.classList.add("quadrilateralsContainer");d.setAttribute("width",0);d.setAttribute("height",0);const h=c.createElement("defs");d.append(h);const u=c.createElement("clipPath"),_=`clippath_${this.data.id}`;u.setAttribute("id",_);u.setAttribute("clipPathUnits","objectBoundingBox");h.append(u);for(let i=2,a=t.length;i`)}if(annotation_layer_classPrivateFieldGet(xs,this)){n.push("')");r.backgroundImage=n.join("")}this.container.append(d);this.container.style.clipPath=`url(#${_})`}_createPopup(){this.container?.classList.add("hasPopup")}render(){unreachable("Abstract method `AnnotationElement.render` called")}_getElementsByName(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const i=[],a=this.container.ownerDocument;if(this._fieldObjects){const s=this._fieldObjects[t];if(s)for(const{page:t,id:r,exportValues:n}of s){if(-1===t)continue;if(r===e)continue;const s="string"==typeof n?n:null,o=a.querySelector(`[data-element-id="${r}"]`);!o||Ss.has(o)?i.push({id:r,exportValue:s,domElement:o}):warn(`_getElementsByName - element not allowed: ${r}`)}return i}for(const s of a.getElementsByName(t)){const{exportValue:t}=s,a=s.getAttribute("data-element-id");a!==e&&(Ss.has(s)&&i.push({id:a,exportValue:t,domElement:s}))}return i}show(){this.container&&(this.container.hidden=!1);this.popup?.maybeShow()}hide(){this.container&&(this.container.hidden=!0);this.popup?.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const t=this.getElementsToTriggerPopup();if(Array.isArray(t))for(const e of t)e.classList.add("highlightArea");else t.classList.add("highlightArea")}_editOnDoubleClick(){}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}}function _setRectEdited(t){const{container:{style:e},data:{rect:i,rotation:a},parent:{viewport:{rawDims:{pageWidth:s,pageHeight:r,pageX:n,pageY:o}}}}=this;i?.splice(0,4,...t);e.left=100*(t[0]-n)/s+"%";e.top=100*(r-t[3]+o)/r+"%";if(0===a){e.width=100*(t[2]-t[0])/s+"%";e.height=100*(t[3]-t[1])/r+"%"}else this.setRotation(a)}var ks=new WeakSet;class LinkAnnotationElement extends AnnotationElement{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;super(t,{isRenderable:!0,ignoreBorder:!!e?.ignoreBorder,createQuadrilaterals:!0});annotation_layer_classPrivateMethodInitSpec(this,ks);this.isTooltipOnly=t.data.isTooltipOnly}render(){const{data:t,linkService:e}=this,i=document.createElement("a");i.setAttribute("data-element-id",t.id);let a=!1;if(t.url){e.addLinkAttributes(i,t.url,t.newWindow);a=!0}else if(t.action){this._bindNamedAction(i,t.action);a=!0}else if(t.attachment){annotation_layer_assertClassBrand(ks,this,_bindAttachment).call(this,i,t.attachment,t.attachmentDest);a=!0}else if(t.setOCGState){annotation_layer_assertClassBrand(ks,this,_bindSetOCGState).call(this,i,t.setOCGState);a=!0}else if(t.dest){this._bindLink(i,t.dest);a=!0}else{if(t.actions&&(t.actions.Action||t.actions["Mouse Up"]||t.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions){this._bindJSAction(i,t);a=!0}if(t.resetForm){this._bindResetFormAction(i,t.resetForm);a=!0}else if(this.isTooltipOnly&&!a){this._bindLink(i,"");a=!0}}this.container.classList.add("linkAnnotation");a&&this.container.append(i);return this.container}_bindLink(t,e){t.href=this.linkService.getDestinationHash(e);t.onclick=()=>{e&&this.linkService.goToDestination(e);return!1};(e||""===e)&&annotation_layer_assertClassBrand(ks,this,_setInternalLink).call(this)}_bindNamedAction(t,e){t.href=this.linkService.getAnchorUrl("");t.onclick=()=>{this.linkService.executeNamedAction(e);return!1};annotation_layer_assertClassBrand(ks,this,_setInternalLink).call(this)}_bindJSAction(t,e){t.href=this.linkService.getAnchorUrl("");const i=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const a of Object.keys(e.actions)){const s=i.get(a);s&&(t[s]=()=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e.id,name:a}});return!1})}t.onclick||(t.onclick=()=>!1);annotation_layer_assertClassBrand(ks,this,_setInternalLink).call(this)}_bindResetFormAction(t,e){const i=t.onclick;i||(t.href=this.linkService.getAnchorUrl(""));annotation_layer_assertClassBrand(ks,this,_setInternalLink).call(this);if(this._fieldObjects)t.onclick=()=>{i?.();const{fields:t,refs:a,include:s}=e,r=[];if(0!==t.length||0!==a.length){const e=new Set(a);for(const i of t){const t=this._fieldObjects[i]||[];for(const{id:i}of t)e.add(i)}for(const t of Object.values(this._fieldObjects))for(const i of t)e.has(i.id)===s&&r.push(i)}else for(const t of Object.values(this._fieldObjects))r.push(...t);const n=this.annotationStorage,o=[];for(const t of r){const{id:e}=t;o.push(e);switch(t.type){case"text":{const i=t.defaultValue||"";n.setValue(e,{value:i});break}case"checkbox":case"radiobutton":{const i=t.defaultValue===t.exportValues;n.setValue(e,{value:i});break}case"combobox":case"listbox":{const i=t.defaultValue||"";n.setValue(e,{value:i});break}default:continue}const i=document.querySelector(`[data-element-id="${e}"]`);i&&(Ss.has(i)?i.dispatchEvent(new Event("resetform")):warn(`_bindResetFormAction - element not allowed: ${e}`))}this.enableScripting&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:o,name:"ResetForm"}});return!1};else{warn('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.');i||(t.onclick=()=>!1)}}}function _setInternalLink(){this.container.setAttribute("data-internal-link","")}function _bindAttachment(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;t.href=this.linkService.getAnchorUrl("");e.description&&(t.title=e.description);t.onclick=()=>{this.downloadManager?.openOrDownloadData(e.content,e.filename,i);return!1};annotation_layer_assertClassBrand(ks,this,_setInternalLink).call(this)}function _bindSetOCGState(t,e){t.href=this.linkService.getAnchorUrl("");t.onclick=()=>{this.linkService.executeSetOCGState(e);return!1};annotation_layer_assertClassBrand(ks,this,_setInternalLink).call(this)}class TextAnnotationElement extends AnnotationElement{constructor(t){super(t,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const t=document.createElement("img");t.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg";t.setAttribute("data-l10n-id","pdfjs-text-annotation-type");t.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name}));!this.data.popupRef&&this.hasPopupData&&this._createPopup();this.container.append(t);return this.container}}class WidgetAnnotationElement extends AnnotationElement{render(){return this.container}showElementAndHideCanvas(t){if(this.data.hasOwnCanvas){"CANVAS"===t.previousSibling?.nodeName&&(t.previousSibling.hidden=!0);t.hidden=!1}}_getKeyModifier(t){return util_FeatureTest.platform.isMac?t.metaKey:t.ctrlKey}_setEventListener(t,e,i,a,s){i.includes("mouse")?t.addEventListener(i,(t=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:a,value:s(t),shift:t.shiftKey,modifier:this._getKeyModifier(t)}})})):t.addEventListener(i,(t=>{if("blur"===i){if(!e.focused||!t.relatedTarget)return;e.focused=!1}else if("focus"===i){if(e.focused)return;e.focused=!0}s&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:a,value:s(t)}})}))}_setEventListeners(t,e,i,a){for(const[s,r]of i)if("Action"===r||this.data.actions?.[r]){"Focus"!==r&&"Blur"!==r||(e||={focused:!1});this._setEventListener(t,e,s,r,a);"Focus"!==r||this.data.actions?.Blur?"Blur"!==r||this.data.actions?.Focus||this._setEventListener(t,e,"focus","Focus",null):this._setEventListener(t,e,"blur","Blur",null)}}_setBackgroundColor(t){const e=this.data.backgroundColor||null;t.style.backgroundColor=null===e?"transparent":util_Util.makeHexColor(e[0],e[1],e[2])}_setTextStyle(t){const e=["left","center","right"],{fontColor:i}=this.data.defaultAppearanceData,a=this.data.defaultAppearanceData.fontSize||9,s=t.style;let n;const roundToOneDecimal=t=>Math.round(10*t)/10;if(this.data.multiLine){const t=Math.abs(this.data.rect[3]-this.data.rect[1]-2),e=t/(Math.round(t/(r*a))||1);n=Math.min(a,roundToOneDecimal(e/r))}else{const t=Math.abs(this.data.rect[3]-this.data.rect[1]-2);n=Math.min(a,roundToOneDecimal(t/r))}s.fontSize=`calc(${n}px * var(--total-scale-factor))`;s.color=util_Util.makeHexColor(i[0],i[1],i[2]);null!==this.data.textAlignment&&(s.textAlign=e[this.data.textAlignment])}_setRequired(t,e){e?t.setAttribute("required",!0):t.removeAttribute("required");t.setAttribute("aria-required",e)}}class TextWidgetAnnotationElement extends WidgetAnnotationElement{constructor(t){super(t,{isRenderable:t.renderForms||t.data.hasOwnCanvas||!t.data.hasAppearance&&!!t.data.fieldValue})}setPropertyOnSiblings(t,e,i,a){const s=this.annotationStorage;for(const r of this._getElementsByName(t.name,t.id)){r.domElement&&(r.domElement[e]=i);s.setValue(r.id,{[a]:i})}}render(){const t=this.annotationStorage,e=this.data.id;this.container.classList.add("textWidgetAnnotation");let i=null;if(this.renderForms){const a=t.getValue(e,{value:this.data.fieldValue});let s=a.value||"";const r=t.getValue(e,{charLimit:this.data.maxLen}).charLimit;r&&s.length>r&&(s=s.slice(0,r));let n=a.formattedValue||this.data.textContent?.join("\n")||null;n&&this.data.comb&&(n=n.replaceAll(/\s+/g,""));const o={userValue:s,formattedValue:n,lastCommittedValue:null,commitKey:1,focused:!1};if(this.data.multiLine){i=document.createElement("textarea");i.textContent=n??s;this.data.doNotScroll&&(i.style.overflowY="hidden")}else{i=document.createElement("input");i.type=this.data.password?"password":"text";i.setAttribute("value",n??s);this.data.doNotScroll&&(i.style.overflowX="hidden")}this.data.hasOwnCanvas&&(i.hidden=!0);Ss.add(i);i.setAttribute("data-element-id",e);i.disabled=this.data.readOnly;i.name=this.data.fieldName;i.tabIndex=bs;this._setRequired(i,this.data.required);r&&(i.maxLength=r);i.addEventListener("input",(a=>{t.setValue(e,{value:a.target.value});this.setPropertyOnSiblings(i,"value",a.target.value,"value");o.formattedValue=null}));i.addEventListener("resetform",(t=>{const e=this.data.defaultFieldValue??"";i.value=o.userValue=e;o.formattedValue=null}));let blurListener=t=>{const{formattedValue:e}=o;null!=e&&(t.target.value=e);t.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){i.addEventListener("focus",(t=>{if(o.focused)return;const{target:e}=t;o.userValue&&(e.value=o.userValue);o.lastCommittedValue=e.value;o.commitKey=1;this.data.actions?.Focus||(o.focused=!0)}));i.addEventListener("updatefromsandbox",(i=>{this.showElementAndHideCanvas(i.target);const a={value(i){o.userValue=i.detail.value??"";t.setValue(e,{value:o.userValue.toString()});i.target.value=o.userValue},formattedValue(i){const{formattedValue:a}=i.detail;o.formattedValue=a;null!=a&&i.target!==document.activeElement&&(i.target.value=a);t.setValue(e,{formattedValue:a})},selRange(t){t.target.setSelectionRange(...t.detail.selRange)},charLimit:i=>{const{charLimit:a}=i.detail,{target:s}=i;if(0===a){s.removeAttribute("maxLength");return}s.setAttribute("maxLength",a);let r=o.userValue;if(r&&!(r.length<=a)){r=r.slice(0,a);s.value=o.userValue=r;t.setValue(e,{value:r});this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:r,willCommit:!0,commitKey:1,selStart:s.selectionStart,selEnd:s.selectionEnd}})}}};this._dispatchEventFromSandbox(a,i)}));i.addEventListener("keydown",(t=>{o.commitKey=1;let i=-1;"Escape"===t.key?i=0:"Enter"!==t.key||this.data.multiLine?"Tab"===t.key&&(o.commitKey=3):i=2;if(-1===i)return;const{value:a}=t.target;if(o.lastCommittedValue!==a){o.lastCommittedValue=a;o.userValue=a;this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:a,willCommit:!0,commitKey:i,selStart:t.target.selectionStart,selEnd:t.target.selectionEnd}})}}));const a=blurListener;blurListener=null;i.addEventListener("blur",(t=>{if(!o.focused||!t.relatedTarget)return;this.data.actions?.Blur||(o.focused=!1);const{value:i}=t.target;o.userValue=i;o.lastCommittedValue!==i&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:i,willCommit:!0,commitKey:o.commitKey,selStart:t.target.selectionStart,selEnd:t.target.selectionEnd}});a(t)}));this.data.actions?.Keystroke&&i.addEventListener("beforeinput",(t=>{o.lastCommittedValue=null;const{data:i,target:a}=t,{value:s,selectionStart:r,selectionEnd:n}=a;let l=r,c=n;switch(t.inputType){case"deleteWordBackward":{const t=s.substring(0,r).match(/\w*[^\w]*$/);t&&(l-=t[0].length);break}case"deleteWordForward":{const t=s.substring(r).match(/^[^\w]*\w*/);t&&(c+=t[0].length);break}case"deleteContentBackward":r===n&&(l-=1);break;case"deleteContentForward":r===n&&(c+=1)}t.preventDefault();this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:s,change:i||"",willCommit:!1,selStart:l,selEnd:c}})}));this._setEventListeners(i,o,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(t=>t.target.value))}blurListener&&i.addEventListener("blur",blurListener);if(this.data.comb){const t=(this.data.rect[2]-this.data.rect[0])/r;i.classList.add("comb");i.style.letterSpacing=`calc(${t}px * var(--total-scale-factor) - 1ch)`}}else{i=document.createElement("div");i.textContent=this.data.fieldValue;i.style.verticalAlign="middle";i.style.display="table-cell";this.data.hasOwnCanvas&&(i.hidden=!0)}this._setTextStyle(i);this._setBackgroundColor(i);this._setDefaultPropertiesFromJS(i);this.container.append(i);return this.container}}class SignatureWidgetAnnotationElement extends WidgetAnnotationElement{constructor(t){super(t,{isRenderable:!!t.data.hasOwnCanvas})}}class CheckboxWidgetAnnotationElement extends WidgetAnnotationElement{constructor(t){super(t,{isRenderable:t.renderForms})}render(){const t=this.annotationStorage,e=this.data,i=e.id;let a=t.getValue(i,{value:e.exportValue===e.fieldValue}).value;if("string"==typeof a){a="Off"!==a;t.setValue(i,{value:a})}this.container.classList.add("buttonWidgetAnnotation","checkBox");const s=document.createElement("input");Ss.add(s);s.setAttribute("data-element-id",i);s.disabled=e.readOnly;this._setRequired(s,this.data.required);s.type="checkbox";s.name=e.fieldName;a&&s.setAttribute("checked",!0);s.setAttribute("exportValue",e.exportValue);s.tabIndex=bs;s.addEventListener("change",(a=>{const{name:s,checked:r}=a.target;for(const a of this._getElementsByName(s,i)){const i=r&&a.exportValue===e.exportValue;a.domElement&&(a.domElement.checked=i);t.setValue(a.id,{value:i})}t.setValue(i,{value:r})}));s.addEventListener("resetform",(t=>{const i=e.defaultFieldValue||"Off";t.target.checked=i===e.exportValue}));if(this.enableScripting&&this.hasJSActions){s.addEventListener("updatefromsandbox",(e=>{const a={value(e){e.target.checked="Off"!==e.detail.value;t.setValue(i,{value:e.target.checked})}};this._dispatchEventFromSandbox(a,e)}));this._setEventListeners(s,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(t=>t.target.checked))}this._setBackgroundColor(s);this._setDefaultPropertiesFromJS(s);this.container.append(s);return this.container}}class RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const t=this.annotationStorage,e=this.data,i=e.id;let a=t.getValue(i,{value:e.fieldValue===e.buttonValue}).value;if("string"==typeof a){a=a!==e.buttonValue;t.setValue(i,{value:a})}if(a)for(const a of this._getElementsByName(e.fieldName,i))t.setValue(a.id,{value:!1});const s=document.createElement("input");Ss.add(s);s.setAttribute("data-element-id",i);s.disabled=e.readOnly;this._setRequired(s,this.data.required);s.type="radio";s.name=e.fieldName;a&&s.setAttribute("checked",!0);s.tabIndex=bs;s.addEventListener("change",(e=>{const{name:a,checked:s}=e.target;for(const e of this._getElementsByName(a,i))t.setValue(e.id,{value:!1});t.setValue(i,{value:s})}));s.addEventListener("resetform",(t=>{const i=e.defaultFieldValue;t.target.checked=null!=i&&i===e.buttonValue}));if(this.enableScripting&&this.hasJSActions){const a=e.buttonValue;s.addEventListener("updatefromsandbox",(e=>{const s={value:e=>{const s=a===e.detail.value;for(const a of this._getElementsByName(e.target.name)){const e=s&&a.id===i;a.domElement&&(a.domElement.checked=e);t.setValue(a.id,{value:e})}}};this._dispatchEventFromSandbox(s,e)}));this._setEventListeners(s,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(t=>t.target.checked))}this._setBackgroundColor(s);this._setDefaultPropertiesFromJS(s);this.container.append(s);return this.container}}class PushButtonWidgetAnnotationElement extends LinkAnnotationElement{constructor(t){super(t,{ignoreBorder:t.data.hasAppearance})}render(){const t=super.render();t.classList.add("buttonWidgetAnnotation","pushButton");const e=t.lastChild;if(this.enableScripting&&this.hasJSActions&&e){this._setDefaultPropertiesFromJS(e);e.addEventListener("updatefromsandbox",(t=>{this._dispatchEventFromSandbox({},t)}))}return t}}class ChoiceWidgetAnnotationElement extends WidgetAnnotationElement{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const t=this.annotationStorage,e=this.data.id,i=t.getValue(e,{value:this.data.fieldValue}),a=document.createElement("select");Ss.add(a);a.setAttribute("data-element-id",e);a.disabled=this.data.readOnly;this._setRequired(a,this.data.required);a.name=this.data.fieldName;a.tabIndex=bs;let s=this.data.combo&&this.data.options.length>0;if(!this.data.combo){a.size=this.data.options.length;this.data.multiSelect&&(a.multiple=!0)}a.addEventListener("resetform",(t=>{const e=this.data.defaultFieldValue;for(const t of a.options)t.selected=t.value===e}));for(const t of this.data.options){const e=document.createElement("option");e.textContent=t.displayValue;e.value=t.exportValue;if(i.value.includes(t.exportValue)){e.setAttribute("selected",!0);s=!1}a.append(e)}let r=null;if(s){const t=document.createElement("option");t.value=" ";t.setAttribute("hidden",!0);t.setAttribute("selected",!0);a.prepend(t);r=()=>{t.remove();a.removeEventListener("input",r);r=null};a.addEventListener("input",r)}const getValue=t=>{const e=t?"value":"textContent",{options:i,multiple:s}=a;return s?Array.prototype.filter.call(i,(t=>t.selected)).map((t=>t[e])):-1===i.selectedIndex?null:i[i.selectedIndex][e]};let n=getValue(!1);const getItems=t=>{const e=t.target.options;return Array.prototype.map.call(e,(t=>({displayValue:t.textContent,exportValue:t.value})))};if(this.enableScripting&&this.hasJSActions){a.addEventListener("updatefromsandbox",(i=>{const s={value(i){r?.();const s=i.detail.value,o=new Set(Array.isArray(s)?s:[s]);for(const t of a.options)t.selected=o.has(t.value);t.setValue(e,{value:getValue(!0)});n=getValue(!1)},multipleSelection(t){a.multiple=!0},remove(i){const s=a.options,r=i.detail.remove;s[r].selected=!1;a.remove(r);if(s.length>0){-1===Array.prototype.findIndex.call(s,(t=>t.selected))&&(s[0].selected=!0)}t.setValue(e,{value:getValue(!0),items:getItems(i)});n=getValue(!1)},clear(i){for(;0!==a.length;)a.remove(0);t.setValue(e,{value:null,items:[]});n=getValue(!1)},insert(i){const{index:s,displayValue:r,exportValue:o}=i.detail.insert,l=a.children[s],c=document.createElement("option");c.textContent=r;c.value=o;l?l.before(c):a.append(c);t.setValue(e,{value:getValue(!0),items:getItems(i)});n=getValue(!1)},items(i){const{items:s}=i.detail;for(;0!==a.length;)a.remove(0);for(const t of s){const{displayValue:e,exportValue:i}=t,s=document.createElement("option");s.textContent=e;s.value=i;a.append(s)}a.options.length>0&&(a.options[0].selected=!0);t.setValue(e,{value:getValue(!0),items:getItems(i)});n=getValue(!1)},indices(i){const a=new Set(i.detail.indices);for(const t of i.target.options)t.selected=a.has(t.index);t.setValue(e,{value:getValue(!0)});n=getValue(!1)},editable(t){t.target.disabled=!t.detail.editable}};this._dispatchEventFromSandbox(s,i)}));a.addEventListener("input",(i=>{const a=getValue(!0),s=getValue(!1);t.setValue(e,{value:a});i.preventDefault();this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:n,change:s,changeEx:a,willCommit:!1,commitKey:1,keyDown:!1}})}));this._setEventListeners(a,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],(t=>t.target.value))}else a.addEventListener("input",(function(i){t.setValue(e,{value:getValue(!0)})}));this.data.combo&&this._setTextStyle(a);this._setBackgroundColor(a);this._setDefaultPropertiesFromJS(a);this.container.append(a);return this.container}}class PopupAnnotationElement extends AnnotationElement{constructor(t){const{data:e,elements:i}=t;super(t,{isRenderable:AnnotationElement._hasPopupData(e)});this.elements=i;this.popup=null}render(){this.container.classList.add("popupAnnotation");this.container.style.display="none";const t=[];for(const e of this.elements){e.container.ariaHasPopup="dialog";t.push(e.data.id);e.addHighlightArea()}this.container.setAttribute("aria-controls",t.map((t=>`${z}${t}`)).join(","));return this.container}}class FreeTextAnnotationElement extends AnnotationElement{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0});this.textContent=t.data.textContent;this.textPosition=t.data.textPosition;this.annotationEditorType=f.FREETEXT}render(){this.container.classList.add("freeTextAnnotation");if(this.textContent){const t=document.createElement("div");t.classList.add("annotationTextContent");t.setAttribute("role","comment");for(const e of this.textContent){const i=document.createElement("span");i.textContent=e;t.append(i)}this.container.append(t)}!this.data.popupRef&&this.hasPopupData&&this._createPopup();this._editOnDoubleClick();return this.container}}var Gs=new WeakMap;class LineAnnotationElement extends AnnotationElement{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0});annotation_layer_classPrivateFieldInitSpec(this,Gs,null)}render(){this.container.classList.add("lineAnnotation");const{data:t,width:e,height:i}=this,a=this.svgFactory.create(e,i,!0),s=annotation_layer_classPrivateFieldSet(Gs,this,this.svgFactory.createElement("svg:line"));s.setAttribute("x1",t.rect[2]-t.lineCoordinates[0]);s.setAttribute("y1",t.rect[3]-t.lineCoordinates[1]);s.setAttribute("x2",t.rect[2]-t.lineCoordinates[2]);s.setAttribute("y2",t.rect[3]-t.lineCoordinates[3]);s.setAttribute("stroke-width",t.borderStyle.width||1);s.setAttribute("stroke","transparent");s.setAttribute("fill","transparent");a.append(s);this.container.append(a);!t.popupRef&&this.hasPopupData&&this._createPopup();return this.container}getElementsToTriggerPopup(){return annotation_layer_classPrivateFieldGet(Gs,this)}addHighlightArea(){this.container.classList.add("highlightArea")}}var Ms=new WeakMap;class SquareAnnotationElement extends AnnotationElement{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0});annotation_layer_classPrivateFieldInitSpec(this,Ms,null)}render(){this.container.classList.add("squareAnnotation");const{data:t,width:e,height:i}=this,a=this.svgFactory.create(e,i,!0),s=t.borderStyle.width,r=annotation_layer_classPrivateFieldSet(Ms,this,this.svgFactory.createElement("svg:rect"));r.setAttribute("x",s/2);r.setAttribute("y",s/2);r.setAttribute("width",e-s);r.setAttribute("height",i-s);r.setAttribute("stroke-width",s||1);r.setAttribute("stroke","transparent");r.setAttribute("fill","transparent");a.append(r);this.container.append(a);!t.popupRef&&this.hasPopupData&&this._createPopup();return this.container}getElementsToTriggerPopup(){return annotation_layer_classPrivateFieldGet(Ms,this)}addHighlightArea(){this.container.classList.add("highlightArea")}}var Is=new WeakMap;class CircleAnnotationElement extends AnnotationElement{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0});annotation_layer_classPrivateFieldInitSpec(this,Is,null)}render(){this.container.classList.add("circleAnnotation");const{data:t,width:e,height:i}=this,a=this.svgFactory.create(e,i,!0),s=t.borderStyle.width,r=annotation_layer_classPrivateFieldSet(Is,this,this.svgFactory.createElement("svg:ellipse"));r.setAttribute("cx",e/2);r.setAttribute("cy",i/2);r.setAttribute("rx",e/2-s/2);r.setAttribute("ry",i/2-s/2);r.setAttribute("stroke-width",s||1);r.setAttribute("stroke","transparent");r.setAttribute("fill","transparent");a.append(r);this.container.append(a);!t.popupRef&&this.hasPopupData&&this._createPopup();return this.container}getElementsToTriggerPopup(){return annotation_layer_classPrivateFieldGet(Is,this)}addHighlightArea(){this.container.classList.add("highlightArea")}}var Ts=new WeakMap;class PolylineAnnotationElement extends AnnotationElement{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0});annotation_layer_classPrivateFieldInitSpec(this,Ts,null);this.containerClassName="polylineAnnotation";this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);const{data:{rect:t,vertices:e,borderStyle:i,popupRef:a},width:s,height:r}=this;if(!e)return this.container;const n=this.svgFactory.create(s,r,!0);let o=[];for(let i=0,a=e.length;i=0&&s.setAttribute("stroke-width",e||1);if(i)for(let t=0,e=annotation_layer_classPrivateFieldGet(Ds,this).length;t{"Enter"===t.key&&(a?t.metaKey:t.ctrlKey)&&annotation_layer_assertClassBrand(Os,this,_download).call(this)}));!e.popupRef&&this.hasPopupData?this._createPopup():i.classList.add("popupTriggerArea");t.append(i);return t}getElementsToTriggerPopup(){return annotation_layer_classPrivateFieldGet(Ls,this)}addHighlightArea(){this.container.classList.add("highlightArea")}}function _download(){this.downloadManager?.openOrDownloadData(this.content,this.filename)}var Ns,Ws=new WeakMap,Us=new WeakMap,js=new WeakMap,Hs=new WeakMap,zs=new WeakMap,$s=new WeakSet;class AnnotationLayer{constructor(t){let{div:e,accessibilityManager:i,annotationCanvasMap:a,annotationEditorUIManager:s,page:r,viewport:n,structTreeLayer:o}=t;annotation_layer_classPrivateMethodInitSpec(this,$s);annotation_layer_classPrivateFieldInitSpec(this,Ws,null);annotation_layer_classPrivateFieldInitSpec(this,Us,null);annotation_layer_classPrivateFieldInitSpec(this,js,new Map);annotation_layer_classPrivateFieldInitSpec(this,Hs,null);annotation_layer_classPrivateFieldInitSpec(this,zs,new Map);this.div=e;annotation_layer_classPrivateFieldSet(Ws,this,i);annotation_layer_classPrivateFieldSet(Us,this,a);annotation_layer_classPrivateFieldSet(Hs,this,o||null);this.page=r;this.viewport=n;this.zIndex=0;this._annotationEditorUIManager=s}hasEditableAnnotations(){return annotation_layer_classPrivateFieldGet(js,this).size>0}getAnnotation(t){return annotation_layer_classPrivateFieldGet(zs,this).get(t)}getAnnotationAtPoint(t,e){const i=annotation_layer_classPrivateFieldGet(zs,this).values();for(const a of i)if(a.data?.quadPoints){const i=a.data.quadPoints;for(let s=0,r=i.length;s=_&&t<=p&&e>=f&&e<=g)return a}}else if(a.data?.parentRect||a.data?.rect){const[i,s,r,n]=a.data.parentRect||a.data.rect;if(t>=i&&t<=r&&e>=s&&e<=n)return a}return null}async render(t){const{annotations:e}=t,i=this.div;setLayerDimensions(i,this.viewport);const a=new Map,s={data:null,layer:i,linkService:t.linkService,downloadManager:t.downloadManager,imageResourcesPath:t.imageResourcesPath||"",renderForms:!1!==t.renderForms,svgFactory:new DOMSVGFactory,annotationStorage:t.annotationStorage||new AnnotationStorage,enableScripting:!0===t.enableScripting,hasJSActions:t.hasJSActions,fieldObjects:t.fieldObjects,parent:this,elements:null};for(const t of e){if(t.noHTML)continue;const e=t.annotationType===x.POPUP;if(e){const e=a.get(t.id);if(!e)continue;s.elements=e}else if(t.rect[2]===t.rect[0]||t.rect[3]===t.rect[1])continue;s.data=t;const i=AnnotationElementFactory.create(s);if(!i.isRenderable)continue;annotation_layer_classPrivateFieldGet(zs,this).set(i.data.id,i);if(!e&&t.popupRef){const e=a.get(t.popupRef);e?e.push(i):a.set(t.popupRef,[i])}const r=i.render();t.hidden&&(r.style.visibility="hidden");await annotation_layer_assertClassBrand($s,this,_appendElement).call(this,r,t.id);if(i._isEditable){annotation_layer_classPrivateFieldGet(js,this).set(i.data.id,i);this._annotationEditorUIManager?.renderAnnotationElement(i)}}annotation_layer_assertClassBrand($s,this,_setAnnotationCanvasMap).call(this)}async addLinkAnnotations(t,e){const i={data:null,layer:this.div,linkService:e,svgFactory:new DOMSVGFactory,parent:this};for(const e of t){e.borderStyle||=AnnotationLayer._defaultBorderStyle;i.data=e;const t=AnnotationElementFactory.create(i);if(!t.isRenderable)continue;const a=t.render();await annotation_layer_assertClassBrand($s,this,_appendElement).call(this,a,e.id)}}update(t){let{viewport:e}=t;const i=this.div;this.viewport=e;setLayerDimensions(i,{rotation:e.rotation});annotation_layer_assertClassBrand($s,this,_setAnnotationCanvasMap).call(this);i.hidden=!1}getEditableAnnotations(){return Array.from(annotation_layer_classPrivateFieldGet(js,this).values())}getEditableAnnotation(t){return annotation_layer_classPrivateFieldGet(js,this).get(t)}static get _defaultBorderStyle(){return shadow(this,"_defaultBorderStyle",Object.freeze({width:1,rawWidth:1,style:C,dashArray:[3],horizontalCornerRadius:0,verticalCornerRadius:0}))}}async function _appendElement(t,e){const i=t.firstChild||t,a=i.id=`${z}${e}`,s=await(annotation_layer_classPrivateFieldGet(Hs,this)?.getAriaAttributes(a));if(s)for(const[t,e]of s)i.setAttribute(t,e);this.div.append(t);annotation_layer_classPrivateFieldGet(Ws,this)?.moveElementInDOM(this.div,t,i,!1)}function _setAnnotationCanvasMap(){if(!annotation_layer_classPrivateFieldGet(Us,this))return;const t=this.div;for(const[e,i]of annotation_layer_classPrivateFieldGet(Us,this)){const a=t.querySelector(`[data-annotation-id="${e}"]`);if(!a)continue;i.className="annotationContent";const{firstChild:s}=a;s?"CANVAS"===s.nodeName?s.replaceWith(i):s.classList.contains("annotationContent")?s.after(i):s.before(i):a.append(i);const r=annotation_layer_classPrivateFieldGet(js,this).get(e);if(r)if(r._hasNoCanvas){this._annotationEditorUIManager?.setMissingCanvas(e,a.id,i);r._hasNoCanvas=!1}else r.canvas=i}annotation_layer_classPrivateFieldGet(Us,this).clear()}function freetext_defineProperty(t,e,i){return(e=function freetext_toPropertyKey(t){var e=function freetext_toPrimitive(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function freetext_classPrivateFieldInitSpec(t,e,i){freetext_checkPrivateRedeclaration(t,e),e.set(t,i)}function freetext_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function freetext_classPrivateFieldGet(t,e){return t.get(freetext_assertClassBrand(t,e))}function freetext_classPrivateFieldSet(t,e,i){return t.set(freetext_assertClassBrand(t,e),i),i}function freetext_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}const Vs=/\r\n?|\n/g;var qs=new WeakMap,Xs=new WeakMap,Ks=new WeakMap,Ys=new WeakMap,Qs=new WeakMap,Js=new WeakSet;class FreeTextEditor extends AnnotationEditor{static get _keyboardManager(){const t=FreeTextEditor.prototype,arrowChecker=t=>t.isEmpty(),e=AnnotationEditorUIManager.TRANSLATE_SMALL,i=AnnotationEditorUIManager.TRANSLATE_BIG;return shadow(this,"_keyboardManager",new KeyboardManager([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],t.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],t.commitOrRemove],[["ArrowLeft","mac+ArrowLeft"],t._translateEmpty,{args:[-e,0],checker:arrowChecker}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t._translateEmpty,{args:[-i,0],checker:arrowChecker}],[["ArrowRight","mac+ArrowRight"],t._translateEmpty,{args:[e,0],checker:arrowChecker}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t._translateEmpty,{args:[i,0],checker:arrowChecker}],[["ArrowUp","mac+ArrowUp"],t._translateEmpty,{args:[0,-e],checker:arrowChecker}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t._translateEmpty,{args:[0,-i],checker:arrowChecker}],[["ArrowDown","mac+ArrowDown"],t._translateEmpty,{args:[0,e],checker:arrowChecker}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t._translateEmpty,{args:[0,i],checker:arrowChecker}]]))}constructor(t){super({...t,name:"freeTextEditor"});!function freetext_classPrivateMethodInitSpec(t,e){freetext_checkPrivateRedeclaration(t,e),e.add(t)}(this,Js);freetext_classPrivateFieldInitSpec(this,qs,void 0);freetext_classPrivateFieldInitSpec(this,Xs,"");freetext_classPrivateFieldInitSpec(this,Ks,`${this.id}-editor`);freetext_classPrivateFieldInitSpec(this,Ys,null);freetext_classPrivateFieldInitSpec(this,Qs,void 0);freetext_classPrivateFieldSet(qs,this,t.color||FreeTextEditor._defaultColor||AnnotationEditor._defaultLineColor);freetext_classPrivateFieldSet(Qs,this,t.fontSize||FreeTextEditor._defaultFontSize)}static initialize(t,e){AnnotationEditor.initialize(t,e);const i=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(i.getPropertyValue("--freetext-padding"))}static updateDefaultParams(t,e){switch(t){case g.FREETEXT_SIZE:FreeTextEditor._defaultFontSize=e;break;case g.FREETEXT_COLOR:FreeTextEditor._defaultColor=e}}updateParams(t,e){switch(t){case g.FREETEXT_SIZE:freetext_assertClassBrand(Js,this,_updateFontSize).call(this,e);break;case g.FREETEXT_COLOR:freetext_assertClassBrand(Js,this,_updateColor).call(this,e)}}static get defaultPropertiesToUpdate(){return[[g.FREETEXT_SIZE,FreeTextEditor._defaultFontSize],[g.FREETEXT_COLOR,FreeTextEditor._defaultColor||AnnotationEditor._defaultLineColor]]}get propertiesToUpdate(){return[[g.FREETEXT_SIZE,freetext_classPrivateFieldGet(Qs,this)],[g.FREETEXT_COLOR,freetext_classPrivateFieldGet(qs,this)]]}_translateEmpty(t,e){this._uiManager.translateSelectedEditors(t,e,!0)}getInitialTranslation(){const t=this.parentScale;return[-FreeTextEditor._internalPadding*t,-(FreeTextEditor._internalPadding+freetext_classPrivateFieldGet(Qs,this))*t]}rebuild(){if(this.parent){super.rebuild();null!==this.div&&(this.isAttachedToDOM||this.parent.add(this))}}enableEditMode(){if(!super.enableEditMode())return!1;this.overlayDiv.classList.remove("enabled");this.editorDiv.contentEditable=!0;this._isDraggable=!1;this.div.removeAttribute("aria-activedescendant");freetext_classPrivateFieldSet(Ys,this,new AbortController);const t=this._uiManager.combinedSignal(freetext_classPrivateFieldGet(Ys,this));this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:t});this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:t});this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:t});this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:t});this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:t});return!0}disableEditMode(){if(!super.disableEditMode())return!1;this.overlayDiv.classList.add("enabled");this.editorDiv.contentEditable=!1;this.div.setAttribute("aria-activedescendant",freetext_classPrivateFieldGet(Ks,this));this._isDraggable=!0;freetext_classPrivateFieldGet(Ys,this)?.abort();freetext_classPrivateFieldSet(Ys,this,null);this.div.focus({preventScroll:!0});this.isEditing=!1;this.parent.div.classList.add("freetextEditing");return!0}focusin(t){if(this._focusEventsAllowed){super.focusin(t);t.target!==this.editorDiv&&this.editorDiv.focus()}}onceAdded(t){if(!this.width){this.enableEditMode();t&&this.editorDiv.focus();this._initialOptions?.isCentered&&this.center();this._initialOptions=null}}isEmpty(){return!this.editorDiv||""===this.editorDiv.innerText.trim()}remove(){this.isEditing=!1;if(this.parent){this.parent.setEditingState(!0);this.parent.div.classList.add("freetextEditing")}super.remove()}commit(){if(!this.isInEditMode())return;super.commit();this.disableEditMode();const t=freetext_classPrivateFieldGet(Xs,this),e=freetext_classPrivateFieldSet(Xs,this,freetext_assertClassBrand(Js,this,_extractText).call(this).trimEnd());if(t===e)return;const setText=t=>{freetext_classPrivateFieldSet(Xs,this,t);if(t){freetext_assertClassBrand(Js,this,_setContent).call(this);this._uiManager.rebuild(this);freetext_assertClassBrand(Js,this,_setEditorDimensions).call(this)}else this.remove()};this.addCommands({cmd:()=>{setText(e)},undo:()=>{setText(t)},mustExec:!1});freetext_assertClassBrand(Js,this,_setEditorDimensions).call(this)}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode();this.editorDiv.focus()}keydown(t){if(t.target===this.div&&"Enter"===t.key){this.enterInEditMode();t.preventDefault()}}editorDivKeydown(t){FreeTextEditor._keyboardManager.exec(this,t)}editorDivFocus(t){this.isEditing=!0}editorDivBlur(t){this.isEditing=!1}editorDivInput(t){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment");this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox");this.editorDiv.setAttribute("aria-multiline",!0)}get canChangeContent(){return!0}render(){if(this.div)return this.div;let t,e;if(this._isCopy||this.annotationElementId){t=this.x;e=this.y}super.render();this.editorDiv=document.createElement("div");this.editorDiv.className="internal";this.editorDiv.setAttribute("id",freetext_classPrivateFieldGet(Ks,this));this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text2");this.editorDiv.setAttribute("data-l10n-attrs","default-content");this.enableEditing();this.editorDiv.contentEditable=!0;const{style:i}=this.editorDiv;i.fontSize=`calc(${freetext_classPrivateFieldGet(Qs,this)}px * var(--total-scale-factor))`;i.color=freetext_classPrivateFieldGet(qs,this);this.div.append(this.editorDiv);this.overlayDiv=document.createElement("div");this.overlayDiv.classList.add("overlay","enabled");this.div.append(this.overlayDiv);if(this._isCopy||this.annotationElementId){const[i,a]=this.parentDimensions;if(this.annotationElementId){const{position:s}=this._initialData;let[r,n]=this.getInitialTranslation();[r,n]=this.pageTranslationToScreen(r,n);const[o,l]=this.pageDimensions,[c,d]=this.pageTranslation;let h,u;switch(this.rotation){case 0:h=t+(s[0]-c)/o;u=e+this.height-(s[1]-d)/l;break;case 90:h=t+(s[0]-c)/o;u=e-(s[1]-d)/l;[r,n]=[n,-r];break;case 180:h=t-this.width+(s[0]-c)/o;u=e-(s[1]-d)/l;[r,n]=[-r,-n];break;case 270:h=t+(s[0]-c-this.height*l)/o;u=e+(s[1]-d-this.width*o)/l;[r,n]=[-n,r]}this.setAt(h*i,u*a,r,n)}else this._moveAfterPaste(t,e);freetext_assertClassBrand(Js,this,_setContent).call(this);this._isDraggable=!0;this.editorDiv.contentEditable=!1}else{this._isDraggable=!1;this.editorDiv.contentEditable=!0}return this.div}editorDivPaste(t){const e=t.clipboardData||window.clipboardData,{types:i}=e;if(1===i.length&&"text/plain"===i[0])return;t.preventDefault();const a=_deserializeContent.call(FreeTextEditor,e.getData("text")||"").replaceAll(Vs,"\n");if(!a)return;const s=activeWindow.getSelection();if(!s.rangeCount)return;this.editorDiv.normalize();s.deleteFromDocument();const r=s.getRangeAt(0);if(!a.includes("\n")){r.insertNode(document.createTextNode(a));this.editorDiv.normalize();s.collapseToStart();return}const{startContainer:n,startOffset:o}=r,l=[],c=[];if(n.nodeType===Node.TEXT_NODE){const t=n.parentElement;c.push(n.nodeValue.slice(o).replaceAll(Vs,""));if(t!==this.editorDiv){let e=l;for(const i of this.editorDiv.childNodes)i!==t?e.push(_getNodeContent.call(FreeTextEditor,i)):e=c}l.push(n.nodeValue.slice(0,o).replaceAll(Vs,""))}else if(n===this.editorDiv){let t=l,e=0;for(const i of this.editorDiv.childNodes){e++===o&&(t=c);t.push(_getNodeContent.call(FreeTextEditor,i))}}freetext_classPrivateFieldSet(Xs,this,`${l.join("\n")}${a}${c.join("\n")}`);freetext_assertClassBrand(Js,this,_setContent).call(this);const d=new Range;let h=Math.sumPrecise(l.map((t=>t.length)));for(const{firstChild:t}of this.editorDiv.childNodes)if(t.nodeType===Node.TEXT_NODE){const e=t.nodeValue.length;if(h<=e){d.setStart(t,h);d.setEnd(t,h);break}h-=e}s.removeAllRanges();s.addRange(d)}get contentDiv(){return this.editorDiv}static async deserialize(t,e,i){let a=null;if(t instanceof FreeTextAnnotationElement){const{data:{defaultAppearanceData:{fontSize:e,fontColor:i},rect:s,rotation:r,id:n,popupRef:o},textContent:l,textPosition:c,parent:{page:{pageNumber:d}}}=t;if(!l||0===l.length)return null;a=t={annotationType:f.FREETEXT,color:Array.from(i),fontSize:e,value:l.join("\n"),position:c,pageIndex:d-1,rect:s.slice(0),rotation:r,id:n,deleted:!1,popupRef:o}}const s=await super.deserialize(t,e,i);freetext_classPrivateFieldSet(Qs,s,t.fontSize);freetext_classPrivateFieldSet(qs,s,util_Util.makeHexColor(...t.color));freetext_classPrivateFieldSet(Xs,s,_deserializeContent.call(FreeTextEditor,t.value));s.annotationElementId=t.id||null;s._initialData=a;return s}serialize(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const e=FreeTextEditor._internalPadding*this.parentScale,i=this.getRect(e,e),a=AnnotationEditor._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:freetext_classPrivateFieldGet(qs,this)),s={annotationType:f.FREETEXT,color:a,fontSize:freetext_classPrivateFieldGet(Qs,this),value:freetext_assertClassBrand(Js,this,_serializeContent).call(this),pageIndex:this.pageIndex,rect:i,rotation:this.rotation,structTreeParentId:this._structTreeParentId};if(t){s.isCopy=!0;return s}if(this.annotationElementId&&!freetext_assertClassBrand(Js,this,_hasElementChanged).call(this,s))return null;s.id=this.annotationElementId;return s}renderAnnotationElement(t){const e=super.renderAnnotationElement(t);if(this.deleted)return e;const{style:i}=e;i.fontSize=`calc(${freetext_classPrivateFieldGet(Qs,this)}px * var(--total-scale-factor))`;i.color=freetext_classPrivateFieldGet(qs,this);e.replaceChildren();for(const t of freetext_classPrivateFieldGet(Xs,this).split("\n")){const i=document.createElement("div");i.append(t?document.createTextNode(t):document.createElement("br"));e.append(i)}const a=FreeTextEditor._internalPadding*this.parentScale;t.updateEdited({rect:this.getRect(a,a),popupContent:freetext_classPrivateFieldGet(Xs,this)});return e}resetAnnotationElement(t){super.resetAnnotationElement(t);t.resetEdited()}}Ns=FreeTextEditor;function _updateFontSize(t){const setFontsize=t=>{this.editorDiv.style.fontSize=`calc(${t}px * var(--total-scale-factor))`;this.translate(0,-(t-freetext_classPrivateFieldGet(Qs,this))*this.parentScale);freetext_classPrivateFieldSet(Qs,this,t);freetext_assertClassBrand(Js,this,_setEditorDimensions).call(this)},e=freetext_classPrivateFieldGet(Qs,this);this.addCommands({cmd:setFontsize.bind(this,t),undo:setFontsize.bind(this,e),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:g.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}function _updateColor(t){const setColor=t=>{freetext_classPrivateFieldSet(qs,this,this.editorDiv.style.color=t)},e=freetext_classPrivateFieldGet(qs,this);this.addCommands({cmd:setColor.bind(this,t),undo:setColor.bind(this,e),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:g.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}function _extractText(){const t=[];this.editorDiv.normalize();let e=null;for(const i of this.editorDiv.childNodes)if(e?.nodeType!==Node.TEXT_NODE||"BR"!==i.nodeName){t.push(_getNodeContent.call(Ns,i));e=i}return t.join("\n")}function _setEditorDimensions(){const[t,e]=this.parentDimensions;let i;if(this.isAttachedToDOM)i=this.div.getBoundingClientRect();else{const{currentLayer:t,div:e}=this,a=e.style.display,s=e.classList.contains("hidden");e.classList.remove("hidden");e.style.display="hidden";t.div.append(this.div);i=e.getBoundingClientRect();e.remove();e.style.display=a;e.classList.toggle("hidden",s)}if(this.rotation%180==this.parentRotation%180){this.width=i.width/t;this.height=i.height/e}else{this.width=i.height/t;this.height=i.width/e}this.fixAndSetPosition()}function _getNodeContent(t){return(t.nodeType===Node.TEXT_NODE?t.nodeValue:t.innerText).replaceAll(Vs,"")}function _setContent(){this.editorDiv.replaceChildren();if(freetext_classPrivateFieldGet(Xs,this))for(const t of freetext_classPrivateFieldGet(Xs,this).split("\n")){const e=document.createElement("div");e.append(t?document.createTextNode(t):document.createElement("br"));this.editorDiv.append(e)}}function _serializeContent(){return freetext_classPrivateFieldGet(Xs,this).replaceAll(" "," ")}function _deserializeContent(t){return t.replaceAll(" "," ")}function _hasElementChanged(t){const{value:e,fontSize:i,color:a,pageIndex:s}=this._initialData;return this._hasBeenMoved||t.value!==e||t.fontSize!==i||t.color.some(((t,e)=>t!==a[e]))||t.pageIndex!==s}freetext_defineProperty(FreeTextEditor,"_freeTextDefaultContent","");freetext_defineProperty(FreeTextEditor,"_internalPadding",0);freetext_defineProperty(FreeTextEditor,"_defaultColor",null);freetext_defineProperty(FreeTextEditor,"_defaultFontSize",10);freetext_defineProperty(FreeTextEditor,"_type","freetext");freetext_defineProperty(FreeTextEditor,"_editorType",f.FREETEXT);class Outline{toSVGPath(){unreachable("Abstract method `toSVGPath` must be implemented.")}get box(){unreachable("Abstract getter `box` must be implemented.")}serialize(t,e){unreachable("Abstract method `serialize` must be implemented.")}static _rescale(t,e,i,a,s,r){r||=new Float32Array(t.length);for(let n=0,o=t.length;n5&&void 0!==arguments[5]?arguments[5]:0;freedraw_classPrivateMethodInitSpec(this,ur);freedraw_classPrivateFieldInitSpec(this,Zs,void 0);freedraw_classPrivateFieldInitSpec(this,tr,[]);freedraw_classPrivateFieldInitSpec(this,er,void 0);freedraw_classPrivateFieldInitSpec(this,ir,void 0);freedraw_classPrivateFieldInitSpec(this,ar,[]);freedraw_classPrivateFieldInitSpec(this,sr,new Float32Array(18));freedraw_classPrivateFieldInitSpec(this,rr,void 0);freedraw_classPrivateFieldInitSpec(this,nr,void 0);freedraw_classPrivateFieldInitSpec(this,or,void 0);freedraw_classPrivateFieldInitSpec(this,lr,void 0);freedraw_classPrivateFieldInitSpec(this,cr,void 0);freedraw_classPrivateFieldInitSpec(this,dr,void 0);freedraw_classPrivateFieldInitSpec(this,hr,[]);freedraw_classPrivateFieldSet(Zs,this,e);freedraw_classPrivateFieldSet(dr,this,a*i);freedraw_classPrivateFieldSet(ir,this,s);freedraw_classPrivateFieldGet(sr,this).set([NaN,NaN,NaN,NaN,r,n],6);freedraw_classPrivateFieldSet(er,this,o);freedraw_classPrivateFieldSet(lr,this,_r._*i);freedraw_classPrivateFieldSet(or,this,pr._*i);freedraw_classPrivateFieldSet(cr,this,i);freedraw_classPrivateFieldGet(hr,this).push(r,n)}isEmpty(){return isNaN(freedraw_classPrivateFieldGet(sr,this)[8])}add(t){let{x:e,y:i}=t;freedraw_classPrivateFieldSet(rr,this,e);freedraw_classPrivateFieldSet(nr,this,i);const[a,s,r,n]=freedraw_classPrivateFieldGet(Zs,this);let[o,l,c,d]=freedraw_classPrivateFieldGet(sr,this).subarray(8,12);const h=e-c,u=i-d,_=Math.hypot(h,u);if(_=6;t-=6)isNaN(e[t])?i.push(`L${e[t+4]} ${e[t+5]}`):i.push(`C${e[t]} ${e[t+1]} ${e[t+2]} ${e[t+3]} ${e[t+4]} ${e[t+5]}`);freedraw_assertClassBrand(ur,this,_toSVGPathStart).call(this,i);return i.join(" ")}newFreeDrawOutline(t,e,i,a,s,r){return new FreeDrawOutline(t,e,i,a,s,r)}getOutlines(){const t=freedraw_classPrivateFieldGet(ar,this),e=freedraw_classPrivateFieldGet(tr,this),i=freedraw_classPrivateFieldGet(sr,this),[a,s,r,n]=freedraw_classPrivateFieldGet(Zs,this),o=new Float32Array((freedraw_classPrivateFieldGet(hr,this)?.length??0)+2);for(let t=0,e=o.length-2;t=6;t-=6)for(let i=0;i<6;i+=2)if(isNaN(e[t+i])){l[c]=l[c+1]=NaN;c+=2}else{l[c]=e[t+i];l[c+1]=e[t+i+1];c+=2}freedraw_assertClassBrand(ur,this,_getOutlineStart).call(this,l,c);return this.newFreeDrawOutline(l,o,freedraw_classPrivateFieldGet(Zs,this),freedraw_classPrivateFieldGet(cr,this),freedraw_classPrivateFieldGet(er,this),freedraw_classPrivateFieldGet(ir,this))}}function _getLastCoords(){const t=freedraw_classPrivateFieldGet(sr,this).subarray(4,6),e=freedraw_classPrivateFieldGet(sr,this).subarray(16,18),[i,a,s,r]=freedraw_classPrivateFieldGet(Zs,this);return[(freedraw_classPrivateFieldGet(rr,this)+(t[0]-e[0])/2-i)/s,(freedraw_classPrivateFieldGet(nr,this)+(t[1]-e[1])/2-a)/r,(freedraw_classPrivateFieldGet(rr,this)+(e[0]-t[0])/2-i)/s,(freedraw_classPrivateFieldGet(nr,this)+(e[1]-t[1])/2-a)/r]}function _toSVGPathTwoPoints(){const[t,e,i,a]=freedraw_classPrivateFieldGet(Zs,this),[s,r,n,o]=freedraw_assertClassBrand(ur,this,_getLastCoords).call(this);return`M${(freedraw_classPrivateFieldGet(sr,this)[2]-t)/i} ${(freedraw_classPrivateFieldGet(sr,this)[3]-e)/a} L${(freedraw_classPrivateFieldGet(sr,this)[4]-t)/i} ${(freedraw_classPrivateFieldGet(sr,this)[5]-e)/a} L${s} ${r} L${n} ${o} L${(freedraw_classPrivateFieldGet(sr,this)[16]-t)/i} ${(freedraw_classPrivateFieldGet(sr,this)[17]-e)/a} L${(freedraw_classPrivateFieldGet(sr,this)[14]-t)/i} ${(freedraw_classPrivateFieldGet(sr,this)[15]-e)/a} Z`}function _toSVGPathStart(t){const e=freedraw_classPrivateFieldGet(tr,this);t.push(`L${e[4]} ${e[5]} Z`)}function _toSVGPathEnd(t){const[e,i,a,s]=freedraw_classPrivateFieldGet(Zs,this),r=freedraw_classPrivateFieldGet(sr,this).subarray(4,6),n=freedraw_classPrivateFieldGet(sr,this).subarray(16,18),[o,l,c,d]=freedraw_assertClassBrand(ur,this,_getLastCoords).call(this);t.push(`L${(r[0]-e)/a} ${(r[1]-i)/s} L${o} ${l} L${c} ${d} L${(n[0]-e)/a} ${(n[1]-i)/s}`)}function _getOutlineTwoPoints(t){const e=freedraw_classPrivateFieldGet(sr,this),[i,a,s,r]=freedraw_classPrivateFieldGet(Zs,this),[n,o,l,c]=freedraw_assertClassBrand(ur,this,_getLastCoords).call(this),d=new Float32Array(36);d.set([NaN,NaN,NaN,NaN,(e[2]-i)/s,(e[3]-a)/r,NaN,NaN,NaN,NaN,(e[4]-i)/s,(e[5]-a)/r,NaN,NaN,NaN,NaN,n,o,NaN,NaN,NaN,NaN,l,c,NaN,NaN,NaN,NaN,(e[16]-i)/s,(e[17]-a)/r,NaN,NaN,NaN,NaN,(e[14]-i)/s,(e[15]-a)/r],0);return this.newFreeDrawOutline(d,t,freedraw_classPrivateFieldGet(Zs,this),freedraw_classPrivateFieldGet(cr,this),freedraw_classPrivateFieldGet(er,this),freedraw_classPrivateFieldGet(ir,this))}function _getOutlineStart(t,e){const i=freedraw_classPrivateFieldGet(tr,this);t.set([NaN,NaN,NaN,NaN,i[4],i[5]],e);return e+6}function _getOutlineEnd(t,e){const i=freedraw_classPrivateFieldGet(sr,this).subarray(4,6),a=freedraw_classPrivateFieldGet(sr,this).subarray(16,18),[s,r,n,o]=freedraw_classPrivateFieldGet(Zs,this),[l,c,d,h]=freedraw_assertClassBrand(ur,this,_getLastCoords).call(this);t.set([NaN,NaN,NaN,NaN,(i[0]-s)/n,(i[1]-r)/o,NaN,NaN,NaN,NaN,l,c,NaN,NaN,NaN,NaN,d,h,NaN,NaN,NaN,NaN,(a[0]-s)/n,(a[1]-r)/o],e);return e+24}var _r={_:8},pr={_:_r._+2},fr=new WeakMap,gr=new WeakMap,vr=new WeakMap,mr=new WeakMap,Pr=new WeakMap,wr=new WeakMap,yr=new WeakMap,Fr=new WeakSet;class FreeDrawOutline extends Outline{constructor(t,e,i,a,s,r){super();freedraw_classPrivateMethodInitSpec(this,Fr);freedraw_classPrivateFieldInitSpec(this,fr,void 0);freedraw_classPrivateFieldInitSpec(this,gr,new Float32Array(4));freedraw_classPrivateFieldInitSpec(this,vr,void 0);freedraw_classPrivateFieldInitSpec(this,mr,void 0);freedraw_classPrivateFieldInitSpec(this,Pr,void 0);freedraw_classPrivateFieldInitSpec(this,wr,void 0);freedraw_classPrivateFieldInitSpec(this,yr,void 0);freedraw_classPrivateFieldSet(yr,this,t);freedraw_classPrivateFieldSet(Pr,this,e);freedraw_classPrivateFieldSet(fr,this,i);freedraw_classPrivateFieldSet(wr,this,a);freedraw_classPrivateFieldSet(vr,this,s);freedraw_classPrivateFieldSet(mr,this,r);this.lastPoint=[NaN,NaN];freedraw_assertClassBrand(Fr,this,_computeMinMax).call(this,r);const[n,o,l,c]=freedraw_classPrivateFieldGet(gr,this);for(let e=0,i=t.length;e5&&void 0!==arguments[5]?arguments[5]:0)}getNewOutline(t,e){const[i,a,s,r]=freedraw_classPrivateFieldGet(gr,this),[n,o,l,c]=freedraw_classPrivateFieldGet(fr,this),d=s*l,h=r*c,u=i*l+n,_=a*c+o,p=this.newOutliner({x:freedraw_classPrivateFieldGet(Pr,this)[0]*d+u,y:freedraw_classPrivateFieldGet(Pr,this)[1]*h+_},freedraw_classPrivateFieldGet(fr,this),freedraw_classPrivateFieldGet(wr,this),t,freedraw_classPrivateFieldGet(mr,this),e??freedraw_classPrivateFieldGet(vr,this));for(let t=2;t1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];!function highlight_classPrivateMethodInitSpec(t,e){highlight_checkPrivateRedeclaration(t,e),e.add(t)}(this,Cr);highlight_classPrivateFieldInitSpec(this,br,void 0);highlight_classPrivateFieldInitSpec(this,Sr,void 0);highlight_classPrivateFieldInitSpec(this,Ar,[]);highlight_classPrivateFieldInitSpec(this,xr,[]);const s=[1/0,1/0,-1/0,-1/0],r=10**-4;for(const{x:i,y:a,width:n,height:o}of t){const t=Math.floor((i-e)/r)*r,l=Math.ceil((i+n+e)/r)*r,c=Math.floor((a-e)/r)*r,d=Math.ceil((a+o+e)/r)*r,h=[t,c,d,!0],u=[l,c,d,!1];highlight_classPrivateFieldGet(Ar,this).push(h,u);util_Util.rectBoundingBox(t,c,l,d,s)}const n=s[2]-s[0]+2*i,o=s[3]-s[1]+2*i,l=s[0]-i,c=s[1]-i,d=highlight_classPrivateFieldGet(Ar,this).at(a?-1:-2),h=[d[0],d[2]];for(const t of highlight_classPrivateFieldGet(Ar,this)){const[e,i,a]=t;t[0]=(e-l)/n;t[1]=(i-c)/o;t[2]=(a-c)/o}highlight_classPrivateFieldSet(br,this,new Float32Array([l,c,n,o]));highlight_classPrivateFieldSet(Sr,this,h)}getOutlines(){highlight_classPrivateFieldGet(Ar,this).sort(((t,e)=>t[0]-e[0]||t[1]-e[1]||t[2]-e[2]));const t=[];for(const e of highlight_classPrivateFieldGet(Ar,this))if(e[3]){t.push(...highlight_assertClassBrand(Cr,this,_breakEdge).call(this,e));highlight_assertClassBrand(Cr,this,_insert).call(this,e)}else{highlight_assertClassBrand(Cr,this,_remove).call(this,e);t.push(...highlight_assertClassBrand(Cr,this,_breakEdge).call(this,e))}return highlight_assertClassBrand(Cr,this,_getOutlines).call(this,t)}}function _getOutlines(t){const e=[],i=new Set;for(const i of t){const[t,a,s]=i;e.push([t,a,i],[t,s,i])}e.sort(((t,e)=>t[1]-e[1]||t[0]-e[0]));for(let t=0,a=e.length;t0;){const t=i.values().next().value;let[e,r,n,o,l]=t;i.delete(t);let c=e,d=r;s=[e,n];a.push(s);for(;;){let t;if(i.has(o))t=o;else{if(!i.has(l))break;t=l}i.delete(t);[e,r,n,o,l]=t;if(c!==e){s.push(c,d,e,d===r?r:n);c=e}d=d===r?n:r}s.push(c,d)}return new HighlightOutline(a,highlight_classPrivateFieldGet(br,this),highlight_classPrivateFieldGet(Sr,this))}function _binarySearch(t){const e=highlight_classPrivateFieldGet(xr,this);let i=0,a=e.length-1;for(;i<=a;){const s=i+a>>1,r=e[s][0];if(r===t)return s;r=0;t--){const[a,s]=highlight_classPrivateFieldGet(xr,this)[t];if(a!==e)break;if(a===e&&s===i){highlight_classPrivateFieldGet(xr,this).splice(t,1);return}}}function _breakEdge(t){const[e,i,a]=t,s=[[e,i,a]],r=highlight_assertClassBrand(Cr,this,_binarySearch).call(this,a);for(let t=0;t=i)if(o>a)s[t][1]=a;else{if(1===r)return[];s.splice(t,1);t--;r--}else{s[t][2]=i;o>a&&s.push([e,a,o])}}}return s}var Er,kr=new WeakMap,Gr=new WeakMap;class HighlightOutline extends Outline{constructor(t,e,i){super();highlight_classPrivateFieldInitSpec(this,kr,void 0);highlight_classPrivateFieldInitSpec(this,Gr,void 0);highlight_classPrivateFieldSet(Gr,this,t);highlight_classPrivateFieldSet(kr,this,e);this.lastPoint=i}toSVGPath(){const t=[];for(const e of highlight_classPrivateFieldGet(Gr,this)){let[i,a]=e;t.push(`M${i} ${a}`);for(let s=2;s5&&void 0!==arguments[5]?arguments[5]:0)}}function color_picker_classPrivateFieldInitSpec(t,e,i){color_picker_checkPrivateRedeclaration(t,e),e.set(t,i)}function color_picker_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function color_picker_classPrivateGetter(t,e,i){return i(color_picker_assertClassBrand(t,e))}function color_picker_classPrivateFieldGet(t,e){return t.get(color_picker_assertClassBrand(t,e))}function color_picker_classPrivateFieldSet(t,e,i){return t.set(color_picker_assertClassBrand(t,e),i),i}function color_picker_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var Mr=new WeakMap,Ir=new WeakMap,Tr=new WeakMap,Rr=new WeakMap,Dr=new WeakMap,Br=new WeakMap,Lr=new WeakMap,Or=new WeakMap,Nr=new WeakMap,Wr=new WeakMap,Ur=new WeakMap,jr=new WeakSet;class ColorPicker{static get _keyboardManager(){return shadow(this,"_keyboardManager",new KeyboardManager([[["Escape","mac+Escape"],ColorPicker.prototype._hideDropdownFromKeyboard],[[" ","mac+ "],ColorPicker.prototype._colorSelectFromKeyboard],[["ArrowDown","ArrowRight","mac+ArrowDown","mac+ArrowRight"],ColorPicker.prototype._moveToNext],[["ArrowUp","ArrowLeft","mac+ArrowUp","mac+ArrowLeft"],ColorPicker.prototype._moveToPrevious],[["Home","mac+Home"],ColorPicker.prototype._moveToBeginning],[["End","mac+End"],ColorPicker.prototype._moveToEnd]]))}constructor(t){let{editor:e=null,uiManager:i=null}=t;!function color_picker_classPrivateMethodInitSpec(t,e){color_picker_checkPrivateRedeclaration(t,e),e.add(t)}(this,jr);color_picker_classPrivateFieldInitSpec(this,Mr,null);color_picker_classPrivateFieldInitSpec(this,Ir,null);color_picker_classPrivateFieldInitSpec(this,Tr,void 0);color_picker_classPrivateFieldInitSpec(this,Rr,null);color_picker_classPrivateFieldInitSpec(this,Dr,!1);color_picker_classPrivateFieldInitSpec(this,Br,!1);color_picker_classPrivateFieldInitSpec(this,Lr,null);color_picker_classPrivateFieldInitSpec(this,Or,void 0);color_picker_classPrivateFieldInitSpec(this,Nr,null);color_picker_classPrivateFieldInitSpec(this,Wr,null);color_picker_classPrivateFieldInitSpec(this,Ur,void 0);if(e){color_picker_classPrivateFieldSet(Br,this,!1);color_picker_classPrivateFieldSet(Ur,this,g.HIGHLIGHT_COLOR);color_picker_classPrivateFieldSet(Lr,this,e)}else{color_picker_classPrivateFieldSet(Br,this,!0);color_picker_classPrivateFieldSet(Ur,this,g.HIGHLIGHT_DEFAULT_COLOR)}color_picker_classPrivateFieldSet(Wr,this,e?._uiManager||i);color_picker_classPrivateFieldSet(Or,this,color_picker_classPrivateFieldGet(Wr,this)._eventBus);color_picker_classPrivateFieldSet(Tr,this,e?.color||color_picker_classPrivateFieldGet(Wr,this)?.highlightColors.values().next().value||"#FFFF98");zr._||(zr._=Object.freeze({blue:"pdfjs-editor-colorpicker-blue",green:"pdfjs-editor-colorpicker-green",pink:"pdfjs-editor-colorpicker-pink",red:"pdfjs-editor-colorpicker-red",yellow:"pdfjs-editor-colorpicker-yellow"}))}renderButton(){const t=color_picker_classPrivateFieldSet(Mr,this,document.createElement("button"));t.className="colorPicker";t.tabIndex="0";t.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-button");t.setAttribute("aria-haspopup",!0);const e=color_picker_classPrivateFieldGet(Wr,this)._signal;t.addEventListener("click",color_picker_assertClassBrand(jr,this,_openDropdown).bind(this),{signal:e});t.addEventListener("keydown",color_picker_assertClassBrand(jr,this,color_picker_keyDown).bind(this),{signal:e});const i=color_picker_classPrivateFieldSet(Ir,this,document.createElement("span"));i.className="swatch";i.setAttribute("aria-hidden",!0);i.style.backgroundColor=color_picker_classPrivateFieldGet(Tr,this);t.append(i);return t}renderMainDropdown(){const t=color_picker_classPrivateFieldSet(Rr,this,color_picker_assertClassBrand(jr,this,_getDropdownRoot).call(this));t.setAttribute("aria-orientation","horizontal");t.setAttribute("aria-labelledby","highlightColorPickerLabel");return t}_colorSelectFromKeyboard(t){if(t.target===color_picker_classPrivateFieldGet(Mr,this)){color_picker_assertClassBrand(jr,this,_openDropdown).call(this,t);return}const e=t.target.getAttribute("data-color");e&&color_picker_assertClassBrand(jr,this,_colorSelect).call(this,e,t)}_moveToNext(t){color_picker_classPrivateGetter(jr,this,_get_isDropdownVisible)?t.target!==color_picker_classPrivateFieldGet(Mr,this)?t.target.nextSibling?.focus():color_picker_classPrivateFieldGet(Rr,this).firstChild?.focus():color_picker_assertClassBrand(jr,this,_openDropdown).call(this,t)}_moveToPrevious(t){if(t.target!==color_picker_classPrivateFieldGet(Rr,this)?.firstChild&&t.target!==color_picker_classPrivateFieldGet(Mr,this)){color_picker_classPrivateGetter(jr,this,_get_isDropdownVisible)||color_picker_assertClassBrand(jr,this,_openDropdown).call(this,t);t.target.previousSibling?.focus()}else color_picker_classPrivateGetter(jr,this,_get_isDropdownVisible)&&this._hideDropdownFromKeyboard()}_moveToBeginning(t){color_picker_classPrivateGetter(jr,this,_get_isDropdownVisible)?color_picker_classPrivateFieldGet(Rr,this).firstChild?.focus():color_picker_assertClassBrand(jr,this,_openDropdown).call(this,t)}_moveToEnd(t){color_picker_classPrivateGetter(jr,this,_get_isDropdownVisible)?color_picker_classPrivateFieldGet(Rr,this).lastChild?.focus():color_picker_assertClassBrand(jr,this,_openDropdown).call(this,t)}hideDropdown(){color_picker_classPrivateFieldGet(Rr,this)?.classList.add("hidden");color_picker_classPrivateFieldGet(Nr,this)?.abort();color_picker_classPrivateFieldSet(Nr,this,null)}_hideDropdownFromKeyboard(){if(!color_picker_classPrivateFieldGet(Br,this))if(color_picker_classPrivateGetter(jr,this,_get_isDropdownVisible)){this.hideDropdown();color_picker_classPrivateFieldGet(Mr,this).focus({preventScroll:!0,focusVisible:color_picker_classPrivateFieldGet(Dr,this)})}else color_picker_classPrivateFieldGet(Lr,this)?.unselect()}updateColor(t){color_picker_classPrivateFieldGet(Ir,this)&&(color_picker_classPrivateFieldGet(Ir,this).style.backgroundColor=t);if(!color_picker_classPrivateFieldGet(Rr,this))return;const e=color_picker_classPrivateFieldGet(Wr,this).highlightColors.values();for(const i of color_picker_classPrivateFieldGet(Rr,this).children)i.setAttribute("aria-selected",e.next().value===t)}destroy(){color_picker_classPrivateFieldGet(Mr,this)?.remove();color_picker_classPrivateFieldSet(Mr,this,null);color_picker_classPrivateFieldSet(Ir,this,null);color_picker_classPrivateFieldGet(Rr,this)?.remove();color_picker_classPrivateFieldSet(Rr,this,null)}}Er=ColorPicker;function _getDropdownRoot(){const t=document.createElement("div"),e=color_picker_classPrivateFieldGet(Wr,this)._signal;t.addEventListener("contextmenu",noContextMenu,{signal:e});t.className="dropdown";t.role="listbox";t.setAttribute("aria-multiselectable",!1);t.setAttribute("aria-orientation","vertical");t.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-dropdown");for(const[i,a]of color_picker_classPrivateFieldGet(Wr,this).highlightColors){const s=document.createElement("button");s.tabIndex="0";s.role="option";s.setAttribute("data-color",a);s.title=i;s.setAttribute("data-l10n-id",zr._[i]);const r=document.createElement("span");s.append(r);r.className="swatch";r.style.backgroundColor=a;s.setAttribute("aria-selected",a===color_picker_classPrivateFieldGet(Tr,this));s.addEventListener("click",color_picker_assertClassBrand(jr,this,_colorSelect).bind(this,a),{signal:e});t.append(s)}t.addEventListener("keydown",color_picker_assertClassBrand(jr,this,color_picker_keyDown).bind(this),{signal:e});return t}function _colorSelect(t,e){e.stopPropagation();color_picker_classPrivateFieldGet(Or,this).dispatch("switchannotationeditorparams",{source:this,type:color_picker_classPrivateFieldGet(Ur,this),value:t})}function color_picker_keyDown(t){Er._keyboardManager.exec(this,t)}function _openDropdown(t){if(color_picker_classPrivateGetter(jr,this,_get_isDropdownVisible)){this.hideDropdown();return}color_picker_classPrivateFieldSet(Dr,this,0===t.detail);if(!color_picker_classPrivateFieldGet(Nr,this)){color_picker_classPrivateFieldSet(Nr,this,new AbortController);window.addEventListener("pointerdown",color_picker_assertClassBrand(jr,this,color_picker_pointerDown).bind(this),{signal:color_picker_classPrivateFieldGet(Wr,this).combinedSignal(color_picker_classPrivateFieldGet(Nr,this))})}if(color_picker_classPrivateFieldGet(Rr,this)){color_picker_classPrivateFieldGet(Rr,this).classList.remove("hidden");return}const e=color_picker_classPrivateFieldSet(Rr,this,color_picker_assertClassBrand(jr,this,_getDropdownRoot).call(this));color_picker_classPrivateFieldGet(Mr,this).append(e)}function color_picker_pointerDown(t){color_picker_classPrivateFieldGet(Rr,this)?.contains(t.target)||this.hideDropdown()}function _get_isDropdownVisible(t){return color_picker_classPrivateFieldGet(Rr,t)&&!color_picker_classPrivateFieldGet(Rr,t).classList.contains("hidden")}var Hr,zr={_:null};function highlight_defineProperty(t,e,i){return(e=function highlight_toPropertyKey(t){var e=function highlight_toPrimitive(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function editor_highlight_classPrivateFieldInitSpec(t,e,i){editor_highlight_checkPrivateRedeclaration(t,e),e.set(t,i)}function editor_highlight_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function highlight_toSetter(t,e,i){e||(e=[]);var a=e.length++;return Object.defineProperty({},"_",{set:function(s){e[a]=s,t.apply(i,e)}})}function editor_highlight_classPrivateFieldGet(t,e){return t.get(editor_highlight_assertClassBrand(t,e))}function editor_highlight_classPrivateFieldSet(t,e,i){return t.set(editor_highlight_assertClassBrand(t,e),i),i}function editor_highlight_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var $r,Vr=new WeakMap,qr=new WeakMap,Xr=new WeakMap,Kr=new WeakMap,Yr=new WeakMap,Qr=new WeakMap,Jr=new WeakMap,Zr=new WeakMap,tn=new WeakMap,en=new WeakMap,an=new WeakMap,sn=new WeakMap,rn=new WeakMap,nn=new WeakMap,on=new WeakMap,ln=new WeakMap,cn=new WeakMap,dn=new WeakMap,hn=new WeakSet;class HighlightEditor extends AnnotationEditor{static get _keyboardManager(){const t=HighlightEditor.prototype;return shadow(this,"_keyboardManager",new KeyboardManager([[["ArrowLeft","mac+ArrowLeft"],t._moveCaret,{args:[0]}],[["ArrowRight","mac+ArrowRight"],t._moveCaret,{args:[1]}],[["ArrowUp","mac+ArrowUp"],t._moveCaret,{args:[2]}],[["ArrowDown","mac+ArrowDown"],t._moveCaret,{args:[3]}]]))}constructor(t){super({...t,name:"highlightEditor"});!function editor_highlight_classPrivateMethodInitSpec(t,e){editor_highlight_checkPrivateRedeclaration(t,e),e.add(t)}(this,hn);editor_highlight_classPrivateFieldInitSpec(this,Vr,null);editor_highlight_classPrivateFieldInitSpec(this,qr,0);editor_highlight_classPrivateFieldInitSpec(this,Xr,void 0);editor_highlight_classPrivateFieldInitSpec(this,Kr,null);editor_highlight_classPrivateFieldInitSpec(this,Yr,null);editor_highlight_classPrivateFieldInitSpec(this,Qr,null);editor_highlight_classPrivateFieldInitSpec(this,Jr,null);editor_highlight_classPrivateFieldInitSpec(this,Zr,0);editor_highlight_classPrivateFieldInitSpec(this,tn,null);editor_highlight_classPrivateFieldInitSpec(this,en,null);editor_highlight_classPrivateFieldInitSpec(this,an,null);editor_highlight_classPrivateFieldInitSpec(this,sn,!1);editor_highlight_classPrivateFieldInitSpec(this,rn,null);editor_highlight_classPrivateFieldInitSpec(this,nn,void 0);editor_highlight_classPrivateFieldInitSpec(this,on,null);editor_highlight_classPrivateFieldInitSpec(this,ln,"");editor_highlight_classPrivateFieldInitSpec(this,cn,void 0);editor_highlight_classPrivateFieldInitSpec(this,dn,"");this.color=t.color||HighlightEditor._defaultColor;editor_highlight_classPrivateFieldSet(cn,this,t.thickness||HighlightEditor._defaultThickness);editor_highlight_classPrivateFieldSet(nn,this,t.opacity||HighlightEditor._defaultOpacity);editor_highlight_classPrivateFieldSet(Xr,this,t.boxes||null);editor_highlight_classPrivateFieldSet(dn,this,t.methodOfCreation||"");editor_highlight_classPrivateFieldSet(ln,this,t.text||"");this._isDraggable=!1;this.defaultL10nId="pdfjs-editor-highlight-editor";if(t.highlightId>-1){editor_highlight_classPrivateFieldSet(sn,this,!0);editor_highlight_assertClassBrand(hn,this,_createFreeOutlines).call(this,t);editor_highlight_assertClassBrand(hn,this,_addToDrawLayer).call(this)}else if(editor_highlight_classPrivateFieldGet(Xr,this)){editor_highlight_classPrivateFieldSet(Vr,this,t.anchorNode);editor_highlight_classPrivateFieldSet(qr,this,t.anchorOffset);editor_highlight_classPrivateFieldSet(Jr,this,t.focusNode);editor_highlight_classPrivateFieldSet(Zr,this,t.focusOffset);editor_highlight_assertClassBrand(hn,this,_createOutlines).call(this);editor_highlight_assertClassBrand(hn,this,_addToDrawLayer).call(this);this.rotate(this.rotation)}}get telemetryInitialData(){return{action:"added",type:editor_highlight_classPrivateFieldGet(sn,this)?"free_highlight":"highlight",color:this._uiManager.highlightColorNames.get(this.color),thickness:editor_highlight_classPrivateFieldGet(cn,this),methodOfCreation:editor_highlight_classPrivateFieldGet(dn,this)}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.highlightColorNames.get(this.color)}}static computeTelemetryFinalData(t){return{numberOfColors:t.get("color").size}}static initialize(t,e){AnnotationEditor.initialize(t,e);HighlightEditor._defaultColor||=e.highlightColors?.values().next().value||"#fff066"}static updateDefaultParams(t,e){switch(t){case g.HIGHLIGHT_DEFAULT_COLOR:HighlightEditor._defaultColor=e;break;case g.HIGHLIGHT_THICKNESS:HighlightEditor._defaultThickness=e}}translateInPage(t,e){}get toolbarPosition(){return editor_highlight_classPrivateFieldGet(rn,this)}updateParams(t,e){switch(t){case g.HIGHLIGHT_COLOR:editor_highlight_assertClassBrand(hn,this,highlight_updateColor).call(this,e);break;case g.HIGHLIGHT_THICKNESS:editor_highlight_assertClassBrand(hn,this,_updateThickness).call(this,e)}}static get defaultPropertiesToUpdate(){return[[g.HIGHLIGHT_DEFAULT_COLOR,HighlightEditor._defaultColor],[g.HIGHLIGHT_THICKNESS,HighlightEditor._defaultThickness]]}get propertiesToUpdate(){return[[g.HIGHLIGHT_COLOR,this.color||HighlightEditor._defaultColor],[g.HIGHLIGHT_THICKNESS,editor_highlight_classPrivateFieldGet(cn,this)||HighlightEditor._defaultThickness],[g.HIGHLIGHT_FREE,editor_highlight_classPrivateFieldGet(sn,this)]]}async addEditToolbar(){const t=await super.addEditToolbar();if(!t)return null;if(this._uiManager.highlightColors){editor_highlight_classPrivateFieldSet(Yr,this,new ColorPicker({editor:this}));t.addColorPicker(editor_highlight_classPrivateFieldGet(Yr,this))}return t}disableEditing(){super.disableEditing();this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing();this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(editor_highlight_assertClassBrand(hn,this,_getRotation).call(this))}getBaseTranslation(){return[0,0]}getRect(t,e){return super.getRect(t,e,editor_highlight_assertClassBrand(hn,this,_getRotation).call(this))}onceAdded(t){this.annotationElementId||this.parent.addUndoableEditor(this);t&&this.div.focus()}remove(){editor_highlight_assertClassBrand(hn,this,_cleanDrawLayer).call(this);this._reportTelemetry({action:"deleted"});super.remove()}rebuild(){if(this.parent){super.rebuild();if(null!==this.div){editor_highlight_assertClassBrand(hn,this,_addToDrawLayer).call(this);this.isAttachedToDOM||this.parent.add(this)}}}setParent(t){let e=!1;if(this.parent&&!t)editor_highlight_assertClassBrand(hn,this,_cleanDrawLayer).call(this);else if(t){editor_highlight_assertClassBrand(hn,this,_addToDrawLayer).call(this,t);e=!this.parent&&this.div?.classList.contains("selectedEditor")}super.setParent(t);this.show(this._isVisible);e&&this.select()}rotate(t){const{drawLayer:e}=this.parent;let i;if(editor_highlight_classPrivateFieldGet(sn,this)){t=(t-this.rotation+360)%360;i=_rotateBbox.call(HighlightEditor,editor_highlight_classPrivateFieldGet(en,this).box,t)}else i=_rotateBbox.call(HighlightEditor,[this.x,this.y,this.width,this.height],t);e.updateProperties(editor_highlight_classPrivateFieldGet(an,this),{bbox:i,root:{"data-main-rotation":t}});e.updateProperties(editor_highlight_classPrivateFieldGet(on,this),{bbox:_rotateBbox.call(HighlightEditor,editor_highlight_classPrivateFieldGet(Qr,this).box,t),root:{"data-main-rotation":t}})}render(){if(this.div)return this.div;const t=super.render();if(editor_highlight_classPrivateFieldGet(ln,this)){t.setAttribute("aria-label",editor_highlight_classPrivateFieldGet(ln,this));t.setAttribute("role","mark")}editor_highlight_classPrivateFieldGet(sn,this)?t.classList.add("free"):this.div.addEventListener("keydown",editor_highlight_assertClassBrand(hn,this,_keydown).bind(this),{signal:this._uiManager._signal});const e=editor_highlight_classPrivateFieldSet(tn,this,document.createElement("div"));t.append(e);e.setAttribute("aria-hidden","true");e.className="internal";e.style.clipPath=editor_highlight_classPrivateFieldGet(Kr,this);const[i,a]=this.parentDimensions;this.setDims(this.width*i,this.height*a);bindEvents(this,editor_highlight_classPrivateFieldGet(tn,this),["pointerover","pointerleave"]);this.enableEditing();return t}pointerover(){this.isSelected||this.parent?.drawLayer.updateProperties(editor_highlight_classPrivateFieldGet(on,this),{rootClass:{hovered:!0}})}pointerleave(){this.isSelected||this.parent?.drawLayer.updateProperties(editor_highlight_classPrivateFieldGet(on,this),{rootClass:{hovered:!1}})}_moveCaret(t){this.parent.unselect(this);switch(t){case 0:case 2:editor_highlight_assertClassBrand(hn,this,_setCaret).call(this,!0);break;case 1:case 3:editor_highlight_assertClassBrand(hn,this,_setCaret).call(this,!1)}}select(){super.select();editor_highlight_classPrivateFieldGet(on,this)&&this.parent?.drawLayer.updateProperties(editor_highlight_classPrivateFieldGet(on,this),{rootClass:{hovered:!1,selected:!0}})}unselect(){super.unselect();if(editor_highlight_classPrivateFieldGet(on,this)){this.parent?.drawLayer.updateProperties(editor_highlight_classPrivateFieldGet(on,this),{rootClass:{selected:!1}});editor_highlight_classPrivateFieldGet(sn,this)||editor_highlight_assertClassBrand(hn,this,_setCaret).call(this,!1)}}get _mustFixPosition(){return!editor_highlight_classPrivateFieldGet(sn,this)}show(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._isVisible;super.show(t);if(this.parent){this.parent.drawLayer.updateProperties(editor_highlight_classPrivateFieldGet(an,this),{rootClass:{hidden:!t}});this.parent.drawLayer.updateProperties(editor_highlight_classPrivateFieldGet(on,this),{rootClass:{hidden:!t}})}}static startHighlighting(t,e,i){let{target:a,x:s,y:r}=i;const{x:n,y:o,width:l,height:c}=a.getBoundingClientRect(),d=new AbortController,h=t.combinedSignal(d),pointerUpCallback=e=>{d.abort();editor_highlight_assertClassBrand(HighlightEditor,this,_endHighlight).call(this,t,e)};window.addEventListener("blur",pointerUpCallback,{signal:h});window.addEventListener("pointerup",pointerUpCallback,{signal:h});window.addEventListener("pointerdown",stopEvent,{capture:!0,passive:!1,signal:h});window.addEventListener("contextmenu",noContextMenu,{signal:h});a.addEventListener("pointermove",editor_highlight_assertClassBrand(HighlightEditor,this,_highlightMove).bind(this,t),{signal:h});this._freeHighlight=new FreeHighlightOutliner({x:s,y:r},[n,o,l,c],t.scale,this._defaultThickness/2,e,.001);({id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=t.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:this._defaultColor,"fill-opacity":this._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:this._freeHighlight.toSVGPath()}},!0,!0))}static async deserialize(t,e,i){let a=null;if(t instanceof HighlightAnnotationElement){const{data:{quadPoints:e,rect:i,rotation:s,id:r,color:n,opacity:o,popupRef:l},parent:{page:{pageNumber:c}}}=t;a=t={annotationType:f.HIGHLIGHT,color:Array.from(n),opacity:o,quadPoints:e,boxes:null,pageIndex:c-1,rect:i.slice(0),rotation:s,id:r,deleted:!1,popupRef:l}}else if(t instanceof InkAnnotationElement){const{data:{inkLists:e,rect:i,rotation:s,id:r,color:n,borderStyle:{rawWidth:o},popupRef:l},parent:{page:{pageNumber:c}}}=t;a=t={annotationType:f.HIGHLIGHT,color:Array.from(n),thickness:o,inkLists:e,boxes:null,pageIndex:c-1,rect:i.slice(0),rotation:s,id:r,deleted:!1,popupRef:l}}const{color:s,quadPoints:r,inkLists:n,opacity:o}=t,l=await super.deserialize(t,e,i);l.color=util_Util.makeHexColor(...s);editor_highlight_classPrivateFieldSet(nn,l,o||1);n&&editor_highlight_classPrivateFieldSet(cn,l,t.thickness);l.annotationElementId=t.id||null;l._initialData=a;const[c,d]=l.pageDimensions,[h,u]=l.pageTranslation;if(r){const t=editor_highlight_classPrivateFieldSet(Xr,l,[]);for(let e=0;e0&&void 0!==arguments[0]&&arguments[0];if(this.isEmpty()||t)return null;if(this.deleted)return this.serializeDeleted();const e=this.getRect(0,0),i=AnnotationEditor._colorManager.convert(this.color),a={annotationType:f.HIGHLIGHT,color:i,opacity:editor_highlight_classPrivateFieldGet(nn,this),thickness:editor_highlight_classPrivateFieldGet(cn,this),quadPoints:editor_highlight_assertClassBrand(hn,this,_serializeBoxes).call(this),outlines:editor_highlight_assertClassBrand(hn,this,_serializeOutlines).call(this,e),pageIndex:this.pageIndex,rect:e,rotation:editor_highlight_assertClassBrand(hn,this,_getRotation).call(this),structTreeParentId:this._structTreeParentId};if(this.annotationElementId&&!editor_highlight_assertClassBrand(hn,this,highlight_hasElementChanged).call(this,a))return null;a.id=this.annotationElementId;return a}renderAnnotationElement(t){t.updateEdited({rect:this.getRect(0,0)});return null}static canCreateNewEmptyEditor(){return!1}}Hr=HighlightEditor;function _createOutlines(){const t=new HighlightOutliner(editor_highlight_classPrivateFieldGet(Xr,this),.001);editor_highlight_classPrivateFieldSet(en,this,t.getOutlines());[this.x,this.y,this.width,this.height]=editor_highlight_classPrivateFieldGet(en,this).box;const e=new HighlightOutliner(editor_highlight_classPrivateFieldGet(Xr,this),.0025,.001,"ltr"===this._uiManager.direction);editor_highlight_classPrivateFieldSet(Qr,this,e.getOutlines());const{lastPoint:i}=editor_highlight_classPrivateFieldGet(Qr,this);editor_highlight_classPrivateFieldSet(rn,this,[(i[0]-this.x)/this.width,(i[1]-this.y)/this.height])}function _createFreeOutlines(t){let{highlightOutlines:e,highlightId:i,clipPathId:a}=t;editor_highlight_classPrivateFieldSet(en,this,e);editor_highlight_classPrivateFieldSet(Qr,this,e.getNewOutline(editor_highlight_classPrivateFieldGet(cn,this)/2+1.5,.0025));if(i>=0){editor_highlight_classPrivateFieldSet(an,this,i);editor_highlight_classPrivateFieldSet(Kr,this,a);this.parent.drawLayer.finalizeDraw(i,{bbox:e.box,path:{d:e.toSVGPath()}});editor_highlight_classPrivateFieldSet(on,this,this.parent.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:!0},bbox:editor_highlight_classPrivateFieldGet(Qr,this).box,path:{d:editor_highlight_classPrivateFieldGet(Qr,this).toSVGPath()}},!0))}else if(this.parent){const t=this.parent.viewport.rotation;this.parent.drawLayer.updateProperties(editor_highlight_classPrivateFieldGet(an,this),{bbox:_rotateBbox.call(Hr,editor_highlight_classPrivateFieldGet(en,this).box,(t-this.rotation+360)%360),path:{d:e.toSVGPath()}});this.parent.drawLayer.updateProperties(editor_highlight_classPrivateFieldGet(on,this),{bbox:_rotateBbox.call(Hr,editor_highlight_classPrivateFieldGet(Qr,this).box,t),path:{d:editor_highlight_classPrivateFieldGet(Qr,this).toSVGPath()}})}const[s,r,n,o]=e.box;switch(this.rotation){case 0:this.x=s;this.y=r;this.width=n;this.height=o;break;case 90:{const[t,e]=this.parentDimensions;this.x=r;this.y=1-s;this.width=n*e/t;this.height=o*t/e;break}case 180:this.x=1-s;this.y=1-r;this.width=n;this.height=o;break;case 270:{const[t,e]=this.parentDimensions;this.x=1-r;this.y=s;this.width=n*e/t;this.height=o*t/e;break}}const{lastPoint:l}=editor_highlight_classPrivateFieldGet(Qr,this);editor_highlight_classPrivateFieldSet(rn,this,[(l[0]-s)/n,(l[1]-r)/o])}function highlight_updateColor(t){const setColorAndOpacity=(t,e)=>{this.color=t;editor_highlight_classPrivateFieldSet(nn,this,e);this.parent?.drawLayer.updateProperties(editor_highlight_classPrivateFieldGet(an,this),{root:{fill:t,"fill-opacity":e}});editor_highlight_classPrivateFieldGet(Yr,this)?.updateColor(t)},e=this.color,i=editor_highlight_classPrivateFieldGet(nn,this);this.addCommands({cmd:setColorAndOpacity.bind(this,t,Hr._defaultOpacity),undo:setColorAndOpacity.bind(this,e,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:g.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0});this._reportTelemetry({action:"color_changed",color:this._uiManager.highlightColorNames.get(t)},!0)}function _updateThickness(t){const e=editor_highlight_classPrivateFieldGet(cn,this),setThickness=t=>{editor_highlight_classPrivateFieldSet(cn,this,t);editor_highlight_assertClassBrand(hn,this,_changeThickness).call(this,t)};this.addCommands({cmd:setThickness.bind(this,t),undo:setThickness.bind(this,e),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:g.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0});this._reportTelemetry({action:"thickness_changed",thickness:t},!0)}function _changeThickness(t){if(!editor_highlight_classPrivateFieldGet(sn,this))return;editor_highlight_assertClassBrand(hn,this,_createFreeOutlines).call(this,{highlightOutlines:editor_highlight_classPrivateFieldGet(en,this).getNewOutline(t/2)});this.fixAndSetPosition();const[e,i]=this.parentDimensions;this.setDims(this.width*e,this.height*i)}function _cleanDrawLayer(){if(null!==editor_highlight_classPrivateFieldGet(an,this)&&this.parent){this.parent.drawLayer.remove(editor_highlight_classPrivateFieldGet(an,this));editor_highlight_classPrivateFieldSet(an,this,null);this.parent.drawLayer.remove(editor_highlight_classPrivateFieldGet(on,this));editor_highlight_classPrivateFieldSet(on,this,null)}}function _addToDrawLayer(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.parent;if(null===editor_highlight_classPrivateFieldGet(an,this)){({id:highlight_toSetter(editor_highlight_classPrivateFieldSet,[an,this])._,clipPathId:highlight_toSetter(editor_highlight_classPrivateFieldSet,[Kr,this])._}=t.drawLayer.draw({bbox:editor_highlight_classPrivateFieldGet(en,this).box,root:{viewBox:"0 0 1 1",fill:this.color,"fill-opacity":editor_highlight_classPrivateFieldGet(nn,this)},rootClass:{highlight:!0,free:editor_highlight_classPrivateFieldGet(sn,this)},path:{d:editor_highlight_classPrivateFieldGet(en,this).toSVGPath()}},!1,!0));editor_highlight_classPrivateFieldSet(on,this,t.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:editor_highlight_classPrivateFieldGet(sn,this)},bbox:editor_highlight_classPrivateFieldGet(Qr,this).box,path:{d:editor_highlight_classPrivateFieldGet(Qr,this).toSVGPath()}},editor_highlight_classPrivateFieldGet(sn,this)));editor_highlight_classPrivateFieldGet(tn,this)&&(editor_highlight_classPrivateFieldGet(tn,this).style.clipPath=editor_highlight_classPrivateFieldGet(Kr,this))}}function _rotateBbox(t,e){let[i,a,s,r]=t;switch(e){case 90:return[1-a-r,i,r,s];case 180:return[1-i-s,1-a-r,s,r];case 270:return[a,1-i-s,r,s]}return[i,a,s,r]}function _keydown(t){Hr._keyboardManager.exec(this,t)}function _setCaret(t){if(!editor_highlight_classPrivateFieldGet(Vr,this))return;const e=activeWindow.getSelection();t?e.setPosition(editor_highlight_classPrivateFieldGet(Vr,this),editor_highlight_classPrivateFieldGet(qr,this)):e.setPosition(editor_highlight_classPrivateFieldGet(Jr,this),editor_highlight_classPrivateFieldGet(Zr,this))}function _getRotation(){return editor_highlight_classPrivateFieldGet(sn,this)?this.rotation:0}function _serializeBoxes(){if(editor_highlight_classPrivateFieldGet(sn,this))return null;const[t,e]=this.pageDimensions,[i,a]=this.pageTranslation,s=editor_highlight_classPrivateFieldGet(Xr,this),r=new Float32Array(8*s.length);let n=0;for(const{x:o,y:l,width:c,height:d}of s){const s=o*t+i,h=(1-l)*e+a;r[n]=r[n+4]=s;r[n+1]=r[n+3]=h;r[n+2]=r[n+6]=s+c*t;r[n+5]=r[n+7]=h-d*e;n+=8}return r}function _serializeOutlines(t){return editor_highlight_classPrivateFieldGet(en,this).serialize(t,editor_highlight_assertClassBrand(hn,this,_getRotation).call(this))}function _highlightMove(t,e){this._freeHighlight.add(e)&&t.drawLayer.updateProperties(this._freeHighlightId,{path:{d:this._freeHighlight.toSVGPath()}})}function _endHighlight(t,e){this._freeHighlight.isEmpty()?t.drawLayer.remove(this._freeHighlightId):t.createAndAddNewEditor(e,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"});this._freeHighlightId=-1;this._freeHighlight=null;this._freeHighlightClipId=""}function highlight_hasElementChanged(t){const{color:e}=this._initialData;return t.color.some(((t,i)=>t!==e[i]))}highlight_defineProperty(HighlightEditor,"_defaultColor",null);highlight_defineProperty(HighlightEditor,"_defaultOpacity",1);highlight_defineProperty(HighlightEditor,"_defaultThickness",12);highlight_defineProperty(HighlightEditor,"_type","highlight");highlight_defineProperty(HighlightEditor,"_editorType",f.HIGHLIGHT);highlight_defineProperty(HighlightEditor,"_freeHighlightId",-1);highlight_defineProperty(HighlightEditor,"_freeHighlight",null);highlight_defineProperty(HighlightEditor,"_freeHighlightClipId","");function draw_defineProperty(t,e,i){return(e=function draw_toPropertyKey(t){var e=function draw_toPrimitive(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function draw_classPrivateFieldInitSpec(t,e,i){draw_checkPrivateRedeclaration(t,e),e.set(t,i)}function draw_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function draw_classPrivateFieldSet(t,e,i){return t.set(draw_assertClassBrand(t,e),i),i}function draw_classPrivateFieldGet(t,e){return t.get(draw_assertClassBrand(t,e))}function draw_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var un=new WeakMap;class DrawingOptions{constructor(){draw_classPrivateFieldInitSpec(this,un,Object.create(null))}updateProperty(t,e){this[t]=e;this.updateSVGProperty(t,e)}updateProperties(t){if(t)for(const[e,i]of Object.entries(t))e.startsWith("_")||this.updateProperty(e,i)}updateSVGProperty(t,e){draw_classPrivateFieldGet(un,this)[t]=e}toSVGProperties(){const t=draw_classPrivateFieldGet(un,this);draw_classPrivateFieldSet(un,this,Object.create(null));return{root:t}}reset(){draw_classPrivateFieldSet(un,this,Object.create(null))}updateAll(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this;this.updateProperties(t)}clone(){unreachable("Not implemented")}}var _n=new WeakMap,pn=new WeakMap,fn=new WeakSet;class DrawingEditor extends AnnotationEditor{constructor(t){super(t);!function draw_classPrivateMethodInitSpec(t,e){draw_checkPrivateRedeclaration(t,e),e.add(t)}(this,fn);draw_classPrivateFieldInitSpec(this,_n,null);draw_classPrivateFieldInitSpec(this,pn,void 0);draw_defineProperty(this,"_drawId",null);draw_classPrivateFieldSet(pn,this,t.mustBeCommitted||!1);this._addOutlines(t)}_addOutlines(t){if(t.drawOutlines){draw_assertClassBrand(fn,this,_createDrawOutlines).call(this,t);draw_assertClassBrand(fn,this,draw_addToDrawLayer).call(this)}}static _mergeSVGProperties(t,e){const i=new Set(Object.keys(t));for(const[a,s]of Object.entries(e))i.has(a)?Object.assign(t[a],s):t[a]=s;return t}static getDefaultDrawingOptions(t){unreachable("Not implemented")}static get typesMap(){unreachable("Not implemented")}static get isDrawer(){return!0}static get supportMultipleDrawings(){return!1}static updateDefaultParams(t,e){const i=this.typesMap.get(t);i&&this._defaultDrawingOptions.updateProperty(i,e);if(this._currentParent){gn._.updateProperty(i,e);this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties())}}updateParams(t,e){const i=this.constructor.typesMap.get(t);i&&this._updateProperty(t,i,e)}static get defaultPropertiesToUpdate(){const t=[],e=this._defaultDrawingOptions;for(const[i,a]of this.typesMap)t.push([i,e[a]]);return t}get propertiesToUpdate(){const t=[],{_drawingOptions:e}=this;for(const[i,a]of this.constructor.typesMap)t.push([i,e[a]]);return t}_updateProperty(t,e,i){const a=this._drawingOptions,s=a[e],setter=t=>{a.updateProperty(e,t);const i=draw_classPrivateFieldGet(_n,this).updateProperty(e,t);i&&draw_assertClassBrand(fn,this,_updateBbox).call(this,i);this.parent?.drawLayer.updateProperties(this._drawId,a.toSVGProperties())};this.addCommands({cmd:setter.bind(this,i),undo:setter.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:t,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){this.parent?.drawLayer.updateProperties(this._drawId,DrawingEditor._mergeSVGProperties(draw_classPrivateFieldGet(_n,this).getPathResizingSVGProperties(draw_assertClassBrand(fn,this,_convertToDrawSpace).call(this)),{bbox:draw_assertClassBrand(fn,this,_rotateBox).call(this)}))}_onResized(){this.parent?.drawLayer.updateProperties(this._drawId,DrawingEditor._mergeSVGProperties(draw_classPrivateFieldGet(_n,this).getPathResizedSVGProperties(draw_assertClassBrand(fn,this,_convertToDrawSpace).call(this)),{bbox:draw_assertClassBrand(fn,this,_rotateBox).call(this)}))}_onTranslating(t,e){this.parent?.drawLayer.updateProperties(this._drawId,{bbox:draw_assertClassBrand(fn,this,_rotateBox).call(this)})}_onTranslated(){this.parent?.drawLayer.updateProperties(this._drawId,DrawingEditor._mergeSVGProperties(draw_classPrivateFieldGet(_n,this).getPathTranslatedSVGProperties(draw_assertClassBrand(fn,this,_convertToDrawSpace).call(this),this.parentDimensions),{bbox:draw_assertClassBrand(fn,this,_rotateBox).call(this)}))}_onStartDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!0}})}_onStopDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!1}})}commit(){super.commit();this.disableEditMode();this.disableEditing()}disableEditing(){super.disableEditing();this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing();this.div.classList.toggle("disabled",!1)}getBaseTranslation(){return[0,0]}get isResizable(){return!0}onceAdded(t){this.annotationElementId||this.parent.addUndoableEditor(this);this._isDraggable=!0;if(draw_classPrivateFieldGet(pn,this)){draw_classPrivateFieldSet(pn,this,!1);this.commit();this.parent.setSelected(this);t&&this.isOnScreen&&this.div.focus()}}remove(){draw_assertClassBrand(fn,this,draw_cleanDrawLayer).call(this);super.remove()}rebuild(){if(this.parent){super.rebuild();if(null!==this.div){draw_assertClassBrand(fn,this,draw_addToDrawLayer).call(this);draw_assertClassBrand(fn,this,_updateBbox).call(this,draw_classPrivateFieldGet(_n,this).box);this.isAttachedToDOM||this.parent.add(this)}}}setParent(t){let e=!1;if(this.parent&&!t){this._uiManager.removeShouldRescale(this);draw_assertClassBrand(fn,this,draw_cleanDrawLayer).call(this)}else if(t){this._uiManager.addShouldRescale(this);draw_assertClassBrand(fn,this,draw_addToDrawLayer).call(this,t);e=!this.parent&&this.div?.classList.contains("selectedEditor")}super.setParent(t);e&&this.select()}rotate(){this.parent&&this.parent.drawLayer.updateProperties(this._drawId,DrawingEditor._mergeSVGProperties({bbox:draw_assertClassBrand(fn,this,_rotateBox).call(this)},draw_classPrivateFieldGet(_n,this).updateRotation((this.parentRotation-this.rotation+360)%360)))}onScaleChanging(){this.parent&&draw_assertClassBrand(fn,this,_updateBbox).call(this,draw_classPrivateFieldGet(_n,this).updateParentDimensions(this.parentDimensions,this.parent.scale))}static onScaleChangingWhenDrawing(){}render(){if(this.div)return this.div;let t,e;if(this._isCopy){t=this.x;e=this.y}const i=super.render();i.classList.add("draw");const a=document.createElement("div");i.append(a);a.setAttribute("aria-hidden","true");a.className="internal";const[s,r]=this.parentDimensions;this.setDims(this.width*s,this.height*r);this._uiManager.addShouldRescale(this);this.disableEditing();this._isCopy&&this._moveAfterPaste(t,e);return i}static createDrawerInstance(t,e,i,a,s){unreachable("Not implemented")}static startDrawing(t,e,i,a){const{target:s,offsetX:r,offsetY:n,pointerId:o,pointerType:l}=a;if(wn._&&wn._!==l)return;const{viewport:{rotation:c}}=t,{width:d,height:h}=s.getBoundingClientRect(),u=vn._=new AbortController,_=t.combinedSignal(u);Pn._||(Pn._=o);wn._??(wn._=l);window.addEventListener("pointerup",(t=>{Pn._===t.pointerId?this._endDraw(t):yn._?.delete(t.pointerId)}),{signal:_});window.addEventListener("pointercancel",(t=>{Pn._===t.pointerId?this._currentParent.endDrawingSession():yn._?.delete(t.pointerId)}),{signal:_});window.addEventListener("pointerdown",(t=>{if(wn._===t.pointerType){(yn._||(yn._=new Set)).add(t.pointerId);if(gn._.isCancellable()){gn._.removeLastElement();gn._.isEmpty()?this._currentParent.endDrawingSession(!0):this._endDraw(null)}}}),{capture:!0,passive:!1,signal:_});window.addEventListener("contextmenu",noContextMenu,{signal:_});s.addEventListener("pointermove",this._drawMove.bind(this),{signal:_});s.addEventListener("touchmove",(t=>{t.timeStamp===Fn._&&stopEvent(t)}),{signal:_});t.toggleDrawing();e._editorUndoBar?.hide();if(gn._)t.drawLayer.updateProperties(this._currentDrawId,gn._.startNew(r,n,d,h,c));else{e.updateUIForDefaultProperties(this);gn._=this.createDrawerInstance(r,n,d,h,c);mn._=this.getDefaultDrawingOptions();this._currentParent=t;({id:this._currentDrawId}=t.drawLayer.draw(this._mergeSVGProperties(mn._.toSVGProperties(),gn._.defaultSVGProperties),!0,!1))}}static _drawMove(t){Fn._=-1;if(!gn._)return;const{offsetX:e,offsetY:i,pointerId:a}=t;if(Pn._===a)if(yn._?.size>=1)this._endDraw(t);else{this._currentParent.drawLayer.updateProperties(this._currentDrawId,gn._.add(e,i));Fn._=t.timeStamp;stopEvent(t)}}static _cleanup(t){if(t){this._currentDrawId=-1;this._currentParent=null;gn._=null;mn._=null;wn._=null;Fn._=NaN}if(vn._){vn._.abort();vn._=null;Pn._=NaN;yn._=null}}static _endDraw(t){const e=this._currentParent;if(e){e.toggleDrawing(!0);this._cleanup(!1);t?.target===e.div&&e.drawLayer.updateProperties(this._currentDrawId,gn._.end(t.offsetX,t.offsetY));if(this.supportMultipleDrawings){const t=gn._,i=this._currentDrawId,a=t.getLastElement();e.addCommands({cmd:()=>{e.drawLayer.updateProperties(i,t.setLastElement(a))},undo:()=>{e.drawLayer.updateProperties(i,t.removeLastElement())},mustExec:!1,type:g.DRAW_STEP})}else this.endDrawing(!1)}}static endDrawing(t){const e=this._currentParent;if(!e)return null;e.toggleDrawing(!0);e.cleanUndoStack(g.DRAW_STEP);if(!gn._.isEmpty()){const{pageDimensions:[i,a],scale:s}=e,r=e.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,drawOutlines:gn._.getOutlines(i*s,a*s,s,this._INNER_MARGIN),drawingOptions:mn._,mustBeCommitted:!t});this._cleanup(!0);return r}e.drawLayer.remove(this._currentDrawId);this._cleanup(!0);return null}createDrawingOptions(t){}static deserializeDraw(t,e,i,a,s,r){unreachable("Not implemented")}static async deserialize(t,e,i){const{rawDims:{pageWidth:a,pageHeight:s,pageX:r,pageY:n}}=e.viewport,o=this.deserializeDraw(r,n,a,s,this._INNER_MARGIN,t),l=await super.deserialize(t,e,i);l.createDrawingOptions(t);draw_assertClassBrand(fn,l,_createDrawOutlines).call(l,{drawOutlines:o});draw_assertClassBrand(fn,l,draw_addToDrawLayer).call(l);l.onScaleChanging();l.rotate();return l}serializeDraw(t){const[e,i]=this.pageTranslation,[a,s]=this.pageDimensions;return draw_classPrivateFieldGet(_n,this).serialize([e,i,a,s],t)}renderAnnotationElement(t){t.updateEdited({rect:this.getRect(0,0)});return null}static canCreateNewEmptyEditor(){return!1}}$r=DrawingEditor;function _createDrawOutlines(t){let{drawOutlines:e,drawId:i,drawingOptions:a}=t;draw_classPrivateFieldSet(_n,this,e);this._drawingOptions||=a;if(i>=0){this._drawId=i;this.parent.drawLayer.finalizeDraw(i,e.defaultProperties)}else this._drawId=draw_assertClassBrand(fn,this,_createDrawing).call(this,e,this.parent);draw_assertClassBrand(fn,this,_updateBbox).call(this,e.box)}function _createDrawing(t,e){const{id:i}=e.drawLayer.draw($r._mergeSVGProperties(this._drawingOptions.toSVGProperties(),t.defaultSVGProperties),!1,!1);return i}function draw_cleanDrawLayer(){if(null!==this._drawId&&this.parent){this.parent.drawLayer.remove(this._drawId);this._drawId=null;this._drawingOptions.reset()}}function draw_addToDrawLayer(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.parent;if(null===this._drawId||this.parent!==t)if(null===this._drawId){this._drawingOptions.updateAll();this._drawId=draw_assertClassBrand(fn,this,_createDrawing).call(this,draw_classPrivateFieldGet(_n,this),t)}else this.parent.drawLayer.updateParent(this._drawId,t.drawLayer)}function _convertToParentSpace(t){let[e,i,a,s]=t;const{parentDimensions:[r,n],rotation:o}=this;switch(o){case 90:return[i,1-e,a*(n/r),s*(r/n)];case 180:return[1-e,1-i,a,s];case 270:return[1-i,e,a*(n/r),s*(r/n)];default:return[e,i,a,s]}}function _convertToDrawSpace(){const{x:t,y:e,width:i,height:a,parentDimensions:[s,r],rotation:n}=this;switch(n){case 90:return[1-e,t,i*(s/r),a*(r/s)];case 180:return[1-t,1-e,i,a];case 270:return[e,1-t,i*(s/r),a*(r/s)];default:return[t,e,i,a]}}function _updateBbox(t){[this.x,this.y,this.width,this.height]=draw_assertClassBrand(fn,this,_convertToParentSpace).call(this,t);if(this.div){this.fixAndSetPosition();const[t,e]=this.parentDimensions;this.setDims(this.width*t,this.height*e)}this._onResized()}function _rotateBox(){const{x:t,y:e,width:i,height:a,rotation:s,parentRotation:r,parentDimensions:[n,o]}=this;switch((4*s+r)/90){case 1:return[1-e-a,t,a,i];case 2:return[1-t-i,1-e-a,i,a];case 3:return[e,1-t-i,a,i];case 4:return[t,e-i*(n/o),a*(o/n),i*(n/o)];case 5:return[1-e,t,i*(n/o),a*(o/n)];case 6:return[1-t-a*(o/n),1-e,a*(o/n),i*(n/o)];case 7:return[e-i*(n/o),1-t-a*(o/n),i*(n/o),a*(o/n)];case 8:return[t-i,e-a,i,a];case 9:return[1-e,t-i,a,i];case 10:return[1-t,1-e,i,a];case 11:return[e-a,1-t,a,i];case 12:return[t-a*(o/n),e,a*(o/n),i*(n/o)];case 13:return[1-e-i*(n/o),t-a*(o/n),i*(n/o),a*(o/n)];case 14:return[1-t,1-e-i*(n/o),a*(o/n),i*(n/o)];case 15:return[e,1-t,i*(n/o),a*(o/n)];default:return[t,e,i,a]}}draw_defineProperty(DrawingEditor,"_currentDrawId",-1);draw_defineProperty(DrawingEditor,"_currentParent",null);var gn={_:null},vn={_:null},mn={_:null},Pn={_:NaN},wn={_:null},yn={_:null},Fn={_:NaN};draw_defineProperty(DrawingEditor,"_INNER_MARGIN",3);function inkdraw_classPrivateMethodInitSpec(t,e){inkdraw_checkPrivateRedeclaration(t,e),e.add(t)}function inkdraw_classPrivateFieldInitSpec(t,e,i){inkdraw_checkPrivateRedeclaration(t,e),e.set(t,i)}function inkdraw_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function inkdraw_classPrivateFieldGet(t,e){return t.get(inkdraw_assertClassBrand(t,e))}function inkdraw_classPrivateFieldSet(t,e,i){return t.set(inkdraw_assertClassBrand(t,e),i),i}function inkdraw_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var bn=new WeakMap,Sn=new WeakMap,An=new WeakMap,xn=new WeakMap,Cn=new WeakMap,En=new WeakMap,kn=new WeakMap,Gn=new WeakMap,Mn=new WeakMap,In=new WeakMap,Tn=new WeakMap,Rn=new WeakSet;class InkDrawOutliner{constructor(t,e,i,a,s,r){inkdraw_classPrivateMethodInitSpec(this,Rn);inkdraw_classPrivateFieldInitSpec(this,bn,new Float64Array(6));inkdraw_classPrivateFieldInitSpec(this,Sn,void 0);inkdraw_classPrivateFieldInitSpec(this,An,void 0);inkdraw_classPrivateFieldInitSpec(this,xn,void 0);inkdraw_classPrivateFieldInitSpec(this,Cn,void 0);inkdraw_classPrivateFieldInitSpec(this,En,void 0);inkdraw_classPrivateFieldInitSpec(this,kn,"");inkdraw_classPrivateFieldInitSpec(this,Gn,0);inkdraw_classPrivateFieldInitSpec(this,Mn,new InkDrawOutline);inkdraw_classPrivateFieldInitSpec(this,In,void 0);inkdraw_classPrivateFieldInitSpec(this,Tn,void 0);inkdraw_classPrivateFieldSet(In,this,i);inkdraw_classPrivateFieldSet(Tn,this,a);inkdraw_classPrivateFieldSet(xn,this,s);inkdraw_classPrivateFieldSet(Cn,this,r);[t,e]=inkdraw_assertClassBrand(Rn,this,_normalizePoint).call(this,t,e);const n=inkdraw_classPrivateFieldSet(Sn,this,[NaN,NaN,NaN,NaN,t,e]);inkdraw_classPrivateFieldSet(En,this,[t,e]);inkdraw_classPrivateFieldSet(An,this,[{line:n,points:inkdraw_classPrivateFieldGet(En,this)}]);inkdraw_classPrivateFieldGet(bn,this).set(n,0)}updateProperty(t,e){"stroke-width"===t&&inkdraw_classPrivateFieldSet(Cn,this,e)}isEmpty(){return!inkdraw_classPrivateFieldGet(An,this)||0===inkdraw_classPrivateFieldGet(An,this).length}isCancellable(){return inkdraw_classPrivateFieldGet(En,this).length<=10}add(t,e){[t,e]=inkdraw_assertClassBrand(Rn,this,_normalizePoint).call(this,t,e);const[i,a,s,r]=inkdraw_classPrivateFieldGet(bn,this).subarray(2,6),n=t-s,o=e-r;if(Math.hypot(inkdraw_classPrivateFieldGet(In,this)*n,inkdraw_classPrivateFieldGet(Tn,this)*o)<=2)return null;inkdraw_classPrivateFieldGet(En,this).push(t,e);if(isNaN(i)){inkdraw_classPrivateFieldGet(bn,this).set([s,r,t,e],2);inkdraw_classPrivateFieldGet(Sn,this).push(NaN,NaN,NaN,NaN,t,e);return{path:{d:this.toSVGPath()}}}isNaN(inkdraw_classPrivateFieldGet(bn,this)[0])&&inkdraw_classPrivateFieldGet(Sn,this).splice(6,6);inkdraw_classPrivateFieldGet(bn,this).set([i,a,s,r,t,e],0);inkdraw_classPrivateFieldGet(Sn,this).push(...Outline.createBezierPoints(i,a,s,r,t,e));return{path:{d:this.toSVGPath()}}}end(t,e){const i=this.add(t,e);return i||(2===inkdraw_classPrivateFieldGet(En,this).length?{path:{d:this.toSVGPath()}}:null)}startNew(t,e,i,a,s){inkdraw_classPrivateFieldSet(In,this,i);inkdraw_classPrivateFieldSet(Tn,this,a);inkdraw_classPrivateFieldSet(xn,this,s);[t,e]=inkdraw_assertClassBrand(Rn,this,_normalizePoint).call(this,t,e);const r=inkdraw_classPrivateFieldSet(Sn,this,[NaN,NaN,NaN,NaN,t,e]);inkdraw_classPrivateFieldSet(En,this,[t,e]);const n=inkdraw_classPrivateFieldGet(An,this).at(-1);if(n){n.line=new Float32Array(n.line);n.points=new Float32Array(n.points)}inkdraw_classPrivateFieldGet(An,this).push({line:r,points:inkdraw_classPrivateFieldGet(En,this)});inkdraw_classPrivateFieldGet(bn,this).set(r,0);inkdraw_classPrivateFieldSet(Gn,this,0);this.toSVGPath();return null}getLastElement(){return inkdraw_classPrivateFieldGet(An,this).at(-1)}setLastElement(t){if(!inkdraw_classPrivateFieldGet(An,this))return inkdraw_classPrivateFieldGet(Mn,this).setLastElement(t);inkdraw_classPrivateFieldGet(An,this).push(t);inkdraw_classPrivateFieldSet(Sn,this,t.line);inkdraw_classPrivateFieldSet(En,this,t.points);inkdraw_classPrivateFieldSet(Gn,this,0);return{path:{d:this.toSVGPath()}}}removeLastElement(){if(!inkdraw_classPrivateFieldGet(An,this))return inkdraw_classPrivateFieldGet(Mn,this).removeLastElement();inkdraw_classPrivateFieldGet(An,this).pop();inkdraw_classPrivateFieldSet(kn,this,"");for(let t=0,e=inkdraw_classPrivateFieldGet(An,this).length;tt??NaN)),h,u,_,p),points:f(o[t].map((t=>t??NaN)),h,u,_,p)});const g=new this.prototype.constructor;g.build(d,i,a,1,l,c,s);return g}get box(){return inkdraw_classPrivateFieldGet(Dn,this)}updateProperty(t,e){return"stroke-width"===t?inkdraw_assertClassBrand(zn,this,inkdraw_updateThickness).call(this,e):null}updateParentDimensions(t,e){let[i,a]=t;const[s,r]=inkdraw_assertClassBrand(zn,this,_getMarginComponents).call(this);inkdraw_classPrivateFieldSet(Nn,this,i);inkdraw_classPrivateFieldSet(Wn,this,a);inkdraw_classPrivateFieldSet(Un,this,e);const[n,o]=inkdraw_assertClassBrand(zn,this,_getMarginComponents).call(this),l=n-s,c=o-r,d=inkdraw_classPrivateFieldGet(Dn,this);d[0]-=l;d[1]-=c;d[2]+=2*l;d[3]+=2*c;return d}updateRotation(t){inkdraw_classPrivateFieldSet(Bn,this,t);return{path:{transform:this.rotationTransform}}}get viewBox(){return inkdraw_classPrivateFieldGet(Dn,this).map(Outline.svgRound).join(" ")}get defaultProperties(){const[t,e]=inkdraw_classPrivateFieldGet(Dn,this);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${Outline.svgRound(t)} ${Outline.svgRound(e)}`}}}get rotationTransform(){const[,,t,e]=inkdraw_classPrivateFieldGet(Dn,this);let i=0,a=0,s=0,r=0,n=0,o=0;switch(inkdraw_classPrivateFieldGet(Bn,this)){case 90:a=e/t;s=-t/e;n=t;break;case 180:i=-1;r=-1;n=t;o=e;break;case 270:a=-e/t;s=t/e;o=e;break;default:return""}return`matrix(${i} ${a} ${s} ${r} ${Outline.svgRound(n)} ${Outline.svgRound(o)})`}getPathResizingSVGProperties(t){let[e,i,a,s]=t;const[r,n]=inkdraw_assertClassBrand(zn,this,_getMarginComponents).call(this),[o,l,c,d]=inkdraw_classPrivateFieldGet(Dn,this);if(Math.abs(c-r)<=Outline.PRECISION||Math.abs(d-n)<=Outline.PRECISION){const t=e+a/2-(o+c/2),r=i+s/2-(l+d/2);return{path:{"transform-origin":`${Outline.svgRound(e)} ${Outline.svgRound(i)}`,transform:`${this.rotationTransform} translate(${t} ${r})`}}}const h=(a-2*r)/(c-2*r),u=(s-2*n)/(d-2*n),_=c/a,p=d/s;return{path:{"transform-origin":`${Outline.svgRound(o)} ${Outline.svgRound(l)}`,transform:`${this.rotationTransform} scale(${_} ${p}) translate(${Outline.svgRound(r)} ${Outline.svgRound(n)}) scale(${h} ${u}) translate(${Outline.svgRound(-r)} ${Outline.svgRound(-n)})`}}}getPathResizedSVGProperties(t){let[e,i,a,s]=t;const[r,n]=inkdraw_assertClassBrand(zn,this,_getMarginComponents).call(this),o=inkdraw_classPrivateFieldGet(Dn,this),[l,c,d,h]=o;o[0]=e;o[1]=i;o[2]=a;o[3]=s;if(Math.abs(d-r)<=Outline.PRECISION||Math.abs(h-n)<=Outline.PRECISION){const t=e+a/2-(l+d/2),r=i+s/2-(c+h/2);for(const{line:e,points:i}of inkdraw_classPrivateFieldGet(On,this)){Outline._translate(e,t,r,e);Outline._translate(i,t,r,i)}return{root:{viewBox:this.viewBox},path:{"transform-origin":`${Outline.svgRound(e)} ${Outline.svgRound(i)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}const u=(a-2*r)/(d-2*r),_=(s-2*n)/(h-2*n),p=-u*(l+r)+e+r,f=-_*(c+n)+i+n;if(1!==u||1!==_||0!==p||0!==f)for(const{line:t,points:e}of inkdraw_classPrivateFieldGet(On,this)){Outline._rescale(t,p,f,u,_,t);Outline._rescale(e,p,f,u,_,e)}return{root:{viewBox:this.viewBox},path:{"transform-origin":`${Outline.svgRound(e)} ${Outline.svgRound(i)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}getPathTranslatedSVGProperties(t,e){let[i,a]=t;const[s,r]=e,n=inkdraw_classPrivateFieldGet(Dn,this),o=i-n[0],l=a-n[1];if(inkdraw_classPrivateFieldGet(Nn,this)===s&&inkdraw_classPrivateFieldGet(Wn,this)===r)for(const{line:t,points:e}of inkdraw_classPrivateFieldGet(On,this)){Outline._translate(t,o,l,t);Outline._translate(e,o,l,e)}else{const t=inkdraw_classPrivateFieldGet(Nn,this)/s,e=inkdraw_classPrivateFieldGet(Wn,this)/r;inkdraw_classPrivateFieldSet(Nn,this,s);inkdraw_classPrivateFieldSet(Wn,this,r);for(const{line:i,points:a}of inkdraw_classPrivateFieldGet(On,this)){Outline._rescale(i,o,l,t,e,i);Outline._rescale(a,o,l,t,e,a)}n[2]*=t;n[3]*=e}n[0]=i;n[1]=a;return{root:{viewBox:this.viewBox},path:{d:this.toSVGPath(),"transform-origin":`${Outline.svgRound(i)} ${Outline.svgRound(a)}`}}}get defaultSVGProperties(){const t=inkdraw_classPrivateFieldGet(Dn,this);return{root:{viewBox:this.viewBox},rootClass:{draw:!0},path:{d:this.toSVGPath(),"transform-origin":`${Outline.svgRound(t[0])} ${Outline.svgRound(t[1])}`,transform:this.rotationTransform||null},bbox:t}}}function _getMarginComponents(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:inkdraw_classPrivateFieldGet(Hn,this);const e=inkdraw_classPrivateFieldGet(Ln,this)+t/2*inkdraw_classPrivateFieldGet(Un,this);return inkdraw_classPrivateFieldGet(jn,this)%180==0?[e/inkdraw_classPrivateFieldGet(Nn,this),e/inkdraw_classPrivateFieldGet(Wn,this)]:[e/inkdraw_classPrivateFieldGet(Wn,this),e/inkdraw_classPrivateFieldGet(Nn,this)]}function _getBBoxWithNoMargin(){const[t,e,i,a]=inkdraw_classPrivateFieldGet(Dn,this),[s,r]=inkdraw_assertClassBrand(zn,this,_getMarginComponents).call(this,0);return[t+s,e+r,i-2*s,a-2*r]}function _computeBbox(){const t=inkdraw_classPrivateFieldSet(Dn,this,new Float32Array([1/0,1/0,-1/0,-1/0]));for(const{line:e}of inkdraw_classPrivateFieldGet(On,this)){if(e.length<=12){for(let i=4,a=e.length;i0&&void 0!==arguments[0]&&arguments[0];if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const{lines:e,points:i,rect:a}=this.serializeDraw(t),{_drawingOptions:{stroke:s,"stroke-opacity":r,"stroke-width":n}}=this,o={annotationType:f.INK,color:AnnotationEditor._colorManager.convert(s),opacity:r,thickness:n,paths:{lines:e,points:i},pageIndex:this.pageIndex,rect:a,rotation:this.rotation,structTreeParentId:this._structTreeParentId};if(t){o.isCopy=!0;return o}if(this.annotationElementId&&!function ink_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}(Vn,this,ink_hasElementChanged).call(this,o))return null;o.id=this.annotationElementId;return o}renderAnnotationElement(t){const{points:e,rect:i}=this.serializeDraw(!1);t.updateEdited({rect:i,thickness:this._drawingOptions["stroke-width"],points:e});return null}}function ink_hasElementChanged(t){const{color:e,thickness:i,opacity:a,pageIndex:s}=this._initialData;return this._hasBeenMoved||this._hasBeenResized||t.color.some(((t,i)=>t!==e[i]))||t.thickness!==i||t.opacity!==a||t.pageIndex!==s}ink_defineProperty(InkEditor,"_type","ink");ink_defineProperty(InkEditor,"_editorType",f.INK);ink_defineProperty(InkEditor,"_defaultDrawingOptions",null);class ContourDrawOutline extends InkDrawOutline{toSVGPath(){let t=super.toSVGPath();t.endsWith("Z")||(t+="Z");return t}}function signaturedraw_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}class SignatureExtractor{static extractContoursFromText(t,e,i,a,s,r){let{fontFamily:n,fontStyle:o,fontWeight:l}=e,c=new OffscreenCanvas(1,1),d=c.getContext("2d",{alpha:!1});const h=d.font=`${o} ${l} 200px ${n}`,{actualBoundingBoxLeft:u,actualBoundingBoxRight:_,actualBoundingBoxAscent:p,actualBoundingBoxDescent:f,fontBoundingBoxAscent:g,fontBoundingBoxDescent:v,width:m}=d.measureText(t),P=1.5,w=Math.ceil(Math.max(Math.abs(u)+Math.abs(_)||0,m)*P),y=Math.ceil(Math.max(Math.abs(p)+Math.abs(f)||200,Math.abs(g)+Math.abs(v)||200)*P);c=new OffscreenCanvas(w,y);d=c.getContext("2d",{alpha:!0,willReadFrequently:!0});d.font=h;d.filter="grayscale(1)";d.fillStyle="white";d.fillRect(0,0,w,y);d.fillStyle="black";d.fillText(t,.5*w/2,1.5*y/2);const b=signaturedraw_assertClassBrand(SignatureExtractor,this,_toUint).call(this,d.getImageData(0,0,w,y).data),S=signaturedraw_assertClassBrand(SignatureExtractor,this,_getHistogram).call(this,b),A=signaturedraw_assertClassBrand(SignatureExtractor,this,_guessThreshold).call(this,S),x=signaturedraw_assertClassBrand(SignatureExtractor,this,_findContours).call(this,b,w,y,A);return this.processDrawnLines({lines:{curves:x,width:w,height:y},pageWidth:i,pageHeight:a,rotation:s,innerMargin:r,mustSmooth:!0,areContours:!0})}static process(t,e,i,a,s){const[r,n,o]=signaturedraw_assertClassBrand(SignatureExtractor,this,_getGrayPixels).call(this,t),[l,c]=signaturedraw_assertClassBrand(SignatureExtractor,this,_bilateralFilter).call(this,r,n,o,Math.hypot(n,o)*signaturedraw_assertClassBrand(SignatureExtractor,this,qn)._.sigmaSFactor,signaturedraw_assertClassBrand(SignatureExtractor,this,qn)._.sigmaR,signaturedraw_assertClassBrand(SignatureExtractor,this,qn)._.kernelSize),d=signaturedraw_assertClassBrand(SignatureExtractor,this,_guessThreshold).call(this,c),h=signaturedraw_assertClassBrand(SignatureExtractor,this,_findContours).call(this,l,n,o,d);return this.processDrawnLines({lines:{curves:h,width:n,height:o},pageWidth:e,pageHeight:i,rotation:a,innerMargin:s,mustSmooth:!0,areContours:!0})}static processDrawnLines(t){let{lines:e,pageWidth:i,pageHeight:a,rotation:s,innerMargin:r,mustSmooth:n,areContours:o}=t;s%180!=0&&([i,a]=[a,i]);const{curves:l,width:c,height:d}=e,h=e.thickness??0,u=[],_=Math.min(i/c,a/d),p=_/i,f=_/a,g=[];for(const{points:t}of l){const e=n?signaturedraw_assertClassBrand(SignatureExtractor,this,_douglasPeucker).call(this,t):t;if(!e)continue;g.push(e);const i=e.length,a=new Float32Array(i),s=new Float32Array(3*(2===i?2:i-2));u.push({line:s,points:a});if(2===i){a[0]=e[0]*p;a[1]=e[1]*f;s.set([NaN,NaN,NaN,NaN,a[0],a[1]],0);continue}let[r,o,l,c]=e;r*=p;o*=f;l*=p;c*=f;a.set([r,o,l,c],0);s.set([NaN,NaN,NaN,NaN,r,o],0);for(let t=4;t=-128&&l<=127?Int8Array:o>=-32768&&l<=32767?Int16Array:Int32Array;const d=i.length,h=8+3*d,u=new Uint32Array(h);let _=0;u[_++]=h*Uint32Array.BYTES_PER_ELEMENT+(c-2*d)*e.BYTES_PER_ELEMENT;u[_++]=0;u[_++]=r;u[_++]=n;u[_++]=a?0:1;u[_++]=Math.max(0,Math.floor(s??0));u[_++]=d;u[_++]=e.BYTES_PER_ELEMENT;for(const t of i){u[_++]=t.length-2;u[_++]=t[0];u[_++]=t[1]}const p=new CompressionStream("deflate-raw"),f=p.writable.getWriter();await f.ready;f.write(u);const g=e.prototype.constructor;for(const t of i){const e=new g(t.length-2);for(let i=2,a=t.length;i{await s.ready;await s.close()})).catch((()=>{}));let r=null,n=0;for await(const t of i){r||=new Uint8Array(new Uint32Array(t.buffer,0,4)[0]);r.set(t,n);n+=t.length}const o=new Uint32Array(r.buffer,0,r.length>>2),l=o[1];if(0!==l)throw new Error(`Invalid version: ${l}`);const c=o[2],d=o[3],h=0===o[4],u=o[5],_=o[6],p=o[7],f=[],g=(8+3*_)*Uint32Array.BYTES_PER_ELEMENT;let v;switch(p){case Int8Array.BYTES_PER_ELEMENT:v=new Int8Array(r.buffer,g);break;case Int16Array.BYTES_PER_ELEMENT:v=new Int16Array(r.buffer,g);break;case Int32Array.BYTES_PER_ELEMENT:v=new Int32Array(r.buffer,g)}n=0;for(let t=0;t<_;t++){const e=o[3*t+8],i=new Float32Array(e+2);f.push(i);for(let e=0;e<2;e++)i[e]=o[3*t+8+e+1];for(let t=0;t0?0:4:1===i?a+6:2-a}function _clockwiseNonZero(t,e,i,a,s,r,n){const o=signaturedraw_assertClassBrand($n,this,_neighborIndexToId).call(this,i,a,s,r);for(let s=0;s<8;s++){const r=(-s+o-n+16)%8;if(0!==t[(i+signaturedraw_assertClassBrand($n,this,Xn)._[2*r])*e+(a+signaturedraw_assertClassBrand($n,this,Xn)._[2*r+1])])return r}return-1}function _counterClockwiseNonZero(t,e,i,a,s,r,n){const o=signaturedraw_assertClassBrand($n,this,_neighborIndexToId).call(this,i,a,s,r);for(let s=0;s<8;s++){const r=(s+o+n+16)%8;if(0!==t[(i+signaturedraw_assertClassBrand($n,this,Xn)._[2*r])*e+(a+signaturedraw_assertClassBrand($n,this,Xn)._[2*r+1])])return r}return-1}function _findContours(t,e,i,a){const s=t.length,r=new Int32Array(s);for(let e=0;e=1&&0===r[a+1])){1!==s&&(n=Math.abs(s));continue}o+=1;d+=1;s>1&&(n=s)}const h=[i,t],u=d===i+1,_={isHole:u,points:h,id:o,parent:0};l.push(_);let p;for(const t of l)if(t.id===n){p=t;break}p?p.isHole?_.parent=u?p.parent:n:_.parent=u?n:p.parent:_.parent=u?n:0;const f=signaturedraw_assertClassBrand($n,this,_clockwiseNonZero).call(this,r,e,t,i,c,d,0);if(-1===f){r[a]=-o;1!==r[a]&&(n=Math.abs(r[a]));continue}let g=signaturedraw_assertClassBrand($n,this,Xn)._[2*f],v=signaturedraw_assertClassBrand($n,this,Xn)._[2*f+1];const m=t+g,P=i+v;c=m;d=P;let w=t,y=i;for(;;){const s=signaturedraw_assertClassBrand($n,this,_counterClockwiseNonZero).call(this,r,e,w,y,c,d,1);g=signaturedraw_assertClassBrand($n,this,Xn)._[2*s];v=signaturedraw_assertClassBrand($n,this,Xn)._[2*s+1];const l=w+g,u=y+v;h.push(u,l);const _=w*e+y;0===r[_+1]?r[_]=-o:1===r[_]&&(r[_]=o);if(l===t&&u===i&&w===m&&y===P){1!==r[a]&&(n=Math.abs(r[a]));break}c=w;d=y;w=l;y=u}}}return l}function _douglasPeuckerHelper(t,e,i,a){if(i-e<=4){for(let s=e;sw){y=a;w=e}}if(w>(l*P)**2){signaturedraw_assertClassBrand($n,this,_douglasPeuckerHelper).call(this,t,e,y+2,a);signaturedraw_assertClassBrand($n,this,_douglasPeuckerHelper).call(this,t,y,i,a)}else a.push(s,r)}function _douglasPeucker(t){const e=[],i=t.length;signaturedraw_assertClassBrand($n,this,_douglasPeuckerHelper).call(this,t,0,i,e);e.push(t[i-2],t[i-1]);return e.length<=4?null:e}function _bilateralFilter(t,e,i,a,s,r){const n=new Float32Array(r**2),o=-2*a**2,l=r>>1;for(let t=0;t=i))for(let i=0;i=e)continue;const _=t[u*e+a],f=n[o*r+i]*c[Math.abs(_-d)];h+=_*f;p+=f}}_[u[o]=Math.round(h/p)]++}return[u,_]}function _getHistogram(t){const e=new Uint32Array(256);for(const i of t)e[i]++;return e}function _toUint(t){const e=t.length,i=new Uint8ClampedArray(e>>2);let a=-1/0,s=1/0;for(let e=0,r=i.length;ea&&(a=r);r0!==t));let r=s,n=s;for(e=s;e<256;e++){const s=t[e];if(s>i){if(e-r>a){a=e-r;n=e-1}i=s;r=e}}for(e=n-1;e>=0&&!(t[e]>t[e+1]);e--);return e}function _getGrayPixels(t){const e=t,{width:i,height:a}=t,{maxDim:s}=signaturedraw_assertClassBrand($n,this,qn)._;let r=i,n=a;if(i>s||a>s){let o=i,l=a,c=Math.log2(Math.max(i,a)/s);const d=Math.floor(c);c=c===d?d-1:d;for(let i=0;i{e?.updateEditSignatureButton(t)}))}getSignaturePreview(){const{newCurves:t,areContours:e,thickness:i,width:a,height:s}=signature_classPrivateFieldGet(Qn,this),r=Math.max(a,s);return{areContours:e,outline:SignatureExtractor.processDrawnLines({lines:{curves:t.map((t=>({points:t}))),thickness:i,width:a,height:s},pageWidth:r,pageHeight:r,rotation:0,innerMargin:0,mustSmooth:!1,areContours:e}).outline}}async addEditToolbar(){const t=await super.addEditToolbar();if(!t)return null;if(this._uiManager.signatureManager&&null!==signature_classPrivateFieldGet(Yn,this)){await t.addEditSignatureButton(this._uiManager.signatureManager,signature_classPrivateFieldGet(Jn,this),signature_classPrivateFieldGet(Yn,this));t.show()}return t}addSignature(t,e,i,a){const{x:s,y:r}=this,{outline:n}=signature_classPrivateFieldSet(Qn,this,t);signature_classPrivateFieldSet(Kn,this,n instanceof ContourDrawOutline);signature_classPrivateFieldSet(Yn,this,i);this.div.setAttribute("data-l10n-args",JSON.stringify({description:i}));let o;if(signature_classPrivateFieldGet(Kn,this))o=SignatureEditor.getDefaultDrawingOptions();else{o=SignatureEditor._defaultDrawnSignatureOptions.clone();o.updateProperties({"stroke-width":n.thickness})}this._addOutlines({drawOutlines:n,drawingOptions:o});const[l,c]=this.parentDimensions,[,d]=this.pageDimensions;let h=e/d;h=h>=1?.5:h;this.width*=h/this.height;if(this.width>=1){h*=.9/this.width;this.width=.9}this.height=h;this.setDims(l*this.width,c*this.height);this.x=s;this.y=r;this.center();this._onResized();this.onScaleChanging();this.rotate();this._uiManager.addToAnnotationStorage(this);this.setUuid(a);this._reportTelemetry({action:"pdfjs.signature.inserted",data:{hasBeenSaved:!!a,hasDescription:!!i}});this.div.hidden=!1}getFromImage(t){const{rawDims:{pageWidth:e,pageHeight:i},rotation:a}=this.parent.viewport;return SignatureExtractor.process(t,e,i,a,SignatureEditor._INNER_MARGIN)}getFromText(t,e){const{rawDims:{pageWidth:i,pageHeight:a},rotation:s}=this.parent.viewport;return SignatureExtractor.extractContoursFromText(t,e,i,a,s,SignatureEditor._INNER_MARGIN)}getDrawnSignature(t){const{rawDims:{pageWidth:e,pageHeight:i},rotation:a}=this.parent.viewport;return SignatureExtractor.processDrawnLines({lines:t,pageWidth:e,pageHeight:i,rotation:a,innerMargin:SignatureEditor._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions(t){let{areContours:e,thickness:i}=t;if(e)this._drawingOptions=SignatureEditor.getDefaultDrawingOptions();else{this._drawingOptions=SignatureEditor._defaultDrawnSignatureOptions.clone();this._drawingOptions.updateProperties({"stroke-width":i})}}serialize(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isEmpty())return null;const{lines:e,points:i,rect:a}=this.serializeDraw(t),{_drawingOptions:{"stroke-width":s}}=this,r={annotationType:f.SIGNATURE,isSignature:!0,areContours:signature_classPrivateFieldGet(Kn,this),color:[0,0,0],thickness:signature_classPrivateFieldGet(Kn,this)?0:s,pageIndex:this.pageIndex,rect:a,rotation:this.rotation,structTreeParentId:this._structTreeParentId};if(t){r.paths={lines:e,points:i};r.uuid=signature_classPrivateFieldGet(Jn,this);r.isCopy=!0}else r.lines=e;signature_classPrivateFieldGet(Yn,this)&&(r.accessibilityData={type:"Figure",alt:signature_classPrivateFieldGet(Yn,this)});return r}static deserializeDraw(t,e,i,a,s,r){return r.areContours?ContourDrawOutline.deserialize(t,e,i,a,s,r):InkDrawOutline.deserialize(t,e,i,a,s,r)}static async deserialize(t,e,i){const a=await super.deserialize(t,e,i);signature_classPrivateFieldSet(Kn,a,t.areContours);signature_classPrivateFieldSet(Yn,a,t.accessibilityData?.alt||"");signature_classPrivateFieldSet(Jn,a,t.uuid);return a}}signature_defineProperty(SignatureEditor,"_type","signature");signature_defineProperty(SignatureEditor,"_editorType",f.SIGNATURE);signature_defineProperty(SignatureEditor,"_defaultDrawingOptions",null);function stamp_defineProperty(t,e,i){return(e=function stamp_toPropertyKey(t){var e=function stamp_toPrimitive(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function stamp_classPrivateFieldInitSpec(t,e,i){stamp_checkPrivateRedeclaration(t,e),e.set(t,i)}function stamp_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function stamp_classPrivateFieldGet(t,e){return t.get(stamp_assertClassBrand(t,e))}function stamp_classPrivateFieldSet(t,e,i){return t.set(stamp_assertClassBrand(t,e),i),i}function stamp_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var Zn=new WeakMap,to=new WeakMap,eo=new WeakMap,io=new WeakMap,ao=new WeakMap,so=new WeakMap,ro=new WeakMap,no=new WeakMap,oo=new WeakMap,lo=new WeakMap,co=new WeakMap,ho=new WeakSet;class StampEditor extends AnnotationEditor{constructor(t){super({...t,name:"stampEditor"});!function stamp_classPrivateMethodInitSpec(t,e){stamp_checkPrivateRedeclaration(t,e),e.add(t)}(this,ho);stamp_classPrivateFieldInitSpec(this,Zn,null);stamp_classPrivateFieldInitSpec(this,to,null);stamp_classPrivateFieldInitSpec(this,eo,null);stamp_classPrivateFieldInitSpec(this,io,null);stamp_classPrivateFieldInitSpec(this,ao,null);stamp_classPrivateFieldInitSpec(this,so,"");stamp_classPrivateFieldInitSpec(this,ro,null);stamp_classPrivateFieldInitSpec(this,no,!1);stamp_classPrivateFieldInitSpec(this,oo,null);stamp_classPrivateFieldInitSpec(this,lo,!1);stamp_classPrivateFieldInitSpec(this,co,!1);stamp_classPrivateFieldSet(io,this,t.bitmapUrl);stamp_classPrivateFieldSet(ao,this,t.bitmapFile);this.defaultL10nId="pdfjs-editor-stamp-editor"}static initialize(t,e){AnnotationEditor.initialize(t,e)}static isHandlingMimeForPasting(t){return X.includes(t)}static paste(t,e){e.pasteEditor({mode:f.STAMP},{bitmapFile:t.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1);super.altTextFinish()}get telemetryFinalData(){return{type:"stamp",hasAltText:!!this.altTextData?.altText}}static computeTelemetryFinalData(t){const e=t.get("hasAltText");return{hasAltText:e.get(!0)??0,hasNoAltText:e.get(!1)??0}}async mlGuessAltText(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.hasAltTextData())return null;const{mlManager:i}=this._uiManager;if(!i)throw new Error("No ML.");if(!await i.isEnabledFor("altText"))throw new Error("ML isn't enabled for alt text.");const{data:a,width:s,height:r}=t||this.copyCanvas(null,null,!0).imageData,n=await i.guess({name:"altText",request:{data:a,width:s,height:r,channels:a.length/(s*r)}});if(!n)throw new Error("No response from the AI service.");if(n.error)throw new Error("Error from the AI service.");if(n.cancel)return null;if(!n.output)throw new Error("No valid response from the AI service.");const o=n.output;await this.setGuessedAltText(o);e&&!this.hasAltTextData()&&(this.altTextData={alt:o,decorative:!1});return o}remove(){if(stamp_classPrivateFieldGet(to,this)){stamp_classPrivateFieldSet(Zn,this,null);this._uiManager.imageManager.deleteId(stamp_classPrivateFieldGet(to,this));stamp_classPrivateFieldGet(ro,this)?.remove();stamp_classPrivateFieldSet(ro,this,null);if(stamp_classPrivateFieldGet(oo,this)){activeWindow.clearTimeout(stamp_classPrivateFieldGet(oo,this));stamp_classPrivateFieldSet(oo,this,null)}}super.remove()}rebuild(){if(this.parent){super.rebuild();if(null!==this.div){stamp_classPrivateFieldGet(to,this)&&null===stamp_classPrivateFieldGet(ro,this)&&stamp_assertClassBrand(ho,this,_getBitmap).call(this);this.isAttachedToDOM||this.parent.add(this)}}else stamp_classPrivateFieldGet(to,this)&&stamp_assertClassBrand(ho,this,_getBitmap).call(this)}onceAdded(t){this._isDraggable=!0;t&&this.div.focus()}isEmpty(){return!(stamp_classPrivateFieldGet(eo,this)||stamp_classPrivateFieldGet(Zn,this)||stamp_classPrivateFieldGet(io,this)||stamp_classPrivateFieldGet(ao,this)||stamp_classPrivateFieldGet(to,this)||stamp_classPrivateFieldGet(no,this))}get isResizable(){return!0}render(){if(this.div)return this.div;let t,e;if(this._isCopy){t=this.x;e=this.y}super.render();this.div.hidden=!0;this.addAltTextButton();stamp_classPrivateFieldGet(no,this)||(stamp_classPrivateFieldGet(Zn,this)?stamp_assertClassBrand(ho,this,_createCanvas).call(this):stamp_assertClassBrand(ho,this,_getBitmap).call(this));this._isCopy&&this._moveAfterPaste(t,e);this._uiManager.addShouldRescale(this);return this.div}setCanvas(t,e){const{id:i,bitmap:a}=this._uiManager.imageManager.getFromCanvas(t,e);e.remove();if(i&&this._uiManager.imageManager.isValidId(i)){stamp_classPrivateFieldSet(to,this,i);a&&stamp_classPrivateFieldSet(Zn,this,a);stamp_classPrivateFieldSet(no,this,!1);stamp_assertClassBrand(ho,this,_createCanvas).call(this)}}_onResized(){this.onScaleChanging()}onScaleChanging(){if(!this.parent)return;null!==stamp_classPrivateFieldGet(oo,this)&&activeWindow.clearTimeout(stamp_classPrivateFieldGet(oo,this));stamp_classPrivateFieldSet(oo,this,activeWindow.setTimeout((()=>{stamp_classPrivateFieldSet(oo,this,null);stamp_assertClassBrand(ho,this,_drawBitmap).call(this)}),200))}copyCanvas(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t||(t=224);const{width:a,height:s}=stamp_classPrivateFieldGet(Zn,this),r=new OutputScale;let n=stamp_classPrivateFieldGet(Zn,this),o=a,l=s,c=null;if(e){if(a>e||s>e){const t=Math.min(e/a,e/s);o=Math.floor(a*t);l=Math.floor(s*t)}c=document.createElement("canvas");const t=c.width=Math.ceil(o*r.sx),i=c.height=Math.ceil(l*r.sy);stamp_classPrivateFieldGet(lo,this)||(n=stamp_assertClassBrand(ho,this,_scaleBitmap).call(this,t,i));const d=c.getContext("2d");d.filter=this._uiManager.hcmFilter;let h="white",u="#cfcfd8";if("none"!==this._uiManager.hcmFilter)u="black";else if(window.matchMedia?.("(prefers-color-scheme: dark)").matches){h="#8f8f9d";u="#42414d"}const _=15,p=_*r.sx,f=_*r.sy,g=new OffscreenCanvas(2*p,2*f),v=g.getContext("2d");v.fillStyle=h;v.fillRect(0,0,2*p,2*f);v.fillStyle=u;v.fillRect(0,0,p,f);v.fillRect(p,f,p,f);d.fillStyle=d.createPattern(g,"repeat");d.fillRect(0,0,t,i);d.drawImage(n,0,0,n.width,n.height,0,0,t,i)}let d=null;if(i){let e,i;if(r.symmetric&&n.widtht||s>t){const r=Math.min(t/a,t/s);e=Math.floor(a*r);i=Math.floor(s*r);stamp_classPrivateFieldGet(lo,this)||(n=stamp_assertClassBrand(ho,this,_scaleBitmap).call(this,e,i))}}const o=new OffscreenCanvas(e,i).getContext("2d",{willReadFrequently:!0});o.drawImage(n,0,0,n.width,n.height,0,0,e,i);d={width:e,height:i,data:o.getImageData(0,0,e,i).data}}return{canvas:c,width:o,height:l,imageData:d}}static async deserialize(t,e,i){let a=null,s=!1;if(t instanceof StampAnnotationElement){const{data:{rect:r,rotation:n,id:o,structParent:l,popupRef:c},container:d,parent:{page:{pageNumber:h}},canvas:u}=t;let _,p;if(u){delete t.canvas;({id:_,bitmap:p}=i.imageManager.getFromCanvas(d.id,u));u.remove()}else{s=!0;t._hasNoCanvas=!0}const g=(await e._structTree.getAriaAttributes(`${z}${o}`))?.get("aria-label")||"";a=t={annotationType:f.STAMP,bitmapId:_,bitmap:p,pageIndex:h-1,rect:r.slice(0),rotation:n,id:o,deleted:!1,accessibilityData:{decorative:!1,altText:g},isSvg:!1,structParent:l,popupRef:c}}const r=await super.deserialize(t,e,i),{rect:n,bitmap:o,bitmapUrl:l,bitmapId:c,isSvg:d,accessibilityData:h}=t;if(s){i.addMissingCanvas(t.id,r);stamp_classPrivateFieldSet(no,r,!0)}else if(c&&i.imageManager.isValidId(c)){stamp_classPrivateFieldSet(to,r,c);o&&stamp_classPrivateFieldSet(Zn,r,o)}else stamp_classPrivateFieldSet(io,r,l);stamp_classPrivateFieldSet(lo,r,d);const[u,_]=r.pageDimensions;r.width=(n[2]-n[0])/u;r.height=(n[3]-n[1])/_;r.annotationElementId=t.id||null;h&&(r.altTextData=h);r._initialData=a;stamp_classPrivateFieldSet(co,r,!!a);return r}serialize(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const i={annotationType:f.STAMP,bitmapId:stamp_classPrivateFieldGet(to,this),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:stamp_classPrivateFieldGet(lo,this),structTreeParentId:this._structTreeParentId};if(t){i.bitmapUrl=stamp_assertClassBrand(ho,this,_serializeBitmap).call(this,!0);i.accessibilityData=this.serializeAltText(!0);i.isCopy=!0;return i}const{decorative:a,altText:s}=this.serializeAltText(!1);!a&&s&&(i.accessibilityData={type:"Figure",alt:s});if(this.annotationElementId){const t=stamp_assertClassBrand(ho,this,stamp_hasElementChanged).call(this,i);if(t.isSame)return null;t.isSameAltText?delete i.accessibilityData:i.accessibilityData.structParent=this._initialData.structParent??-1}i.id=this.annotationElementId;if(null===e)return i;e.stamps||=new Map;const r=stamp_classPrivateFieldGet(lo,this)?(i.rect[2]-i.rect[0])*(i.rect[3]-i.rect[1]):null;if(e.stamps.has(stamp_classPrivateFieldGet(to,this))){if(stamp_classPrivateFieldGet(lo,this)){const t=e.stamps.get(stamp_classPrivateFieldGet(to,this));if(r>t.area){t.area=r;t.serialized.bitmap.close();t.serialized.bitmap=stamp_assertClassBrand(ho,this,_serializeBitmap).call(this,!1)}}}else{e.stamps.set(stamp_classPrivateFieldGet(to,this),{area:r,serialized:i});i.bitmap=stamp_assertClassBrand(ho,this,_serializeBitmap).call(this,!1)}return i}renderAnnotationElement(t){t.updateEdited({rect:this.getRect(0,0)});return null}}function _getBitmapFetched(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t){stamp_classPrivateFieldSet(Zn,this,t.bitmap);if(!e){stamp_classPrivateFieldSet(to,this,t.id);stamp_classPrivateFieldSet(lo,this,t.isSvg)}t.file&&stamp_classPrivateFieldSet(so,this,t.file.name);stamp_assertClassBrand(ho,this,_createCanvas).call(this)}else this.remove()}function _getBitmapDone(){stamp_classPrivateFieldSet(eo,this,null);this._uiManager.enableWaiting(!1);if(stamp_classPrivateFieldGet(ro,this))if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&stamp_classPrivateFieldGet(Zn,this)){this._editToolbar.hide();this._uiManager.editAltText(this,!0)}else{if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&stamp_classPrivateFieldGet(Zn,this)){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}}function _getBitmap(){if(stamp_classPrivateFieldGet(to,this)){this._uiManager.enableWaiting(!0);this._uiManager.imageManager.getFromId(stamp_classPrivateFieldGet(to,this)).then((t=>stamp_assertClassBrand(ho,this,_getBitmapFetched).call(this,t,!0))).finally((()=>stamp_assertClassBrand(ho,this,_getBitmapDone).call(this)));return}if(stamp_classPrivateFieldGet(io,this)){const t=stamp_classPrivateFieldGet(io,this);stamp_classPrivateFieldSet(io,this,null);this._uiManager.enableWaiting(!0);stamp_classPrivateFieldSet(eo,this,this._uiManager.imageManager.getFromUrl(t).then((t=>stamp_assertClassBrand(ho,this,_getBitmapFetched).call(this,t))).finally((()=>stamp_assertClassBrand(ho,this,_getBitmapDone).call(this))));return}if(stamp_classPrivateFieldGet(ao,this)){const t=stamp_classPrivateFieldGet(ao,this);stamp_classPrivateFieldSet(ao,this,null);this._uiManager.enableWaiting(!0);stamp_classPrivateFieldSet(eo,this,this._uiManager.imageManager.getFromFile(t).then((t=>stamp_assertClassBrand(ho,this,_getBitmapFetched).call(this,t))).finally((()=>stamp_assertClassBrand(ho,this,_getBitmapDone).call(this))));return}const t=document.createElement("input");t.type="file";t.accept=X.join(",");const e=this._uiManager._signal;stamp_classPrivateFieldSet(eo,this,new Promise((i=>{t.addEventListener("change",(async()=>{if(t.files&&0!==t.files.length){this._uiManager.enableWaiting(!0);const e=await this._uiManager.imageManager.getFromFile(t.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}});stamp_assertClassBrand(ho,this,_getBitmapFetched).call(this,e)}else this.remove();i()}),{signal:e});t.addEventListener("cancel",(()=>{this.remove();i()}),{signal:e})})).finally((()=>stamp_assertClassBrand(ho,this,_getBitmapDone).call(this))));t.click()}function _createCanvas(){const{div:t}=this;let{width:e,height:i}=stamp_classPrivateFieldGet(Zn,this);const[a,s]=this.pageDimensions,r=.75;if(this.width){e=this.width*a;i=this.height*s}else if(e>r*a||i>r*s){const t=Math.min(r*a/e,r*s/i);e*=t;i*=t}const[n,o]=this.parentDimensions;this.setDims(e*n/a,i*o/s);this._uiManager.enableWaiting(!1);const l=stamp_classPrivateFieldSet(ro,this,document.createElement("canvas"));l.setAttribute("role","img");this.addContainer(l);this.width=e/a;this.height=i/s;this._initialOptions?.isCentered?this.center():this.fixAndSetPosition();this._initialOptions=null;this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&!this.annotationElementId||(t.hidden=!1);stamp_assertClassBrand(ho,this,_drawBitmap).call(this);if(!stamp_classPrivateFieldGet(co,this)){this.parent.addUndoableEditor(this);stamp_classPrivateFieldSet(co,this,!0)}this._reportTelemetry({action:"inserted_image"});stamp_classPrivateFieldGet(so,this)&&this.div.setAttribute("aria-description",stamp_classPrivateFieldGet(so,this))}function _scaleBitmap(t,e){const{width:i,height:a}=stamp_classPrivateFieldGet(Zn,this);let s=i,r=a,n=stamp_classPrivateFieldGet(Zn,this);for(;s>2*t||r>2*e;){const i=s,a=r;s>2*t&&(s=s>=16384?Math.floor(s/2)-1:Math.ceil(s/2));r>2*e&&(r=r>=16384?Math.floor(r/2)-1:Math.ceil(r/2));const o=new OffscreenCanvas(s,r);o.getContext("2d").drawImage(n,0,0,i,a,0,0,s,r);n=o.transferToImageBitmap()}return n}function _drawBitmap(){const[t,e]=this.parentDimensions,{width:i,height:a}=this,s=new OutputScale,r=Math.ceil(i*t*s.sx),n=Math.ceil(a*e*s.sy),o=stamp_classPrivateFieldGet(ro,this);if(!o||o.width===r&&o.height===n)return;o.width=r;o.height=n;const l=stamp_classPrivateFieldGet(lo,this)?stamp_classPrivateFieldGet(Zn,this):stamp_assertClassBrand(ho,this,_scaleBitmap).call(this,r,n),c=o.getContext("2d");c.filter=this._uiManager.hcmFilter;c.drawImage(l,0,0,l.width,l.height,0,0,r,n)}function _serializeBitmap(t){if(t){if(stamp_classPrivateFieldGet(lo,this)){const t=this._uiManager.imageManager.getSvgUrl(stamp_classPrivateFieldGet(to,this));if(t)return t}const t=document.createElement("canvas");({width:t.width,height:t.height}=stamp_classPrivateFieldGet(Zn,this));t.getContext("2d").drawImage(stamp_classPrivateFieldGet(Zn,this),0,0);return t.toDataURL()}if(stamp_classPrivateFieldGet(lo,this)){const[t,e]=this.pageDimensions,i=Math.round(this.width*t*PixelsPerInch.PDF_TO_CSS_UNITS),a=Math.round(this.height*e*PixelsPerInch.PDF_TO_CSS_UNITS),s=new OffscreenCanvas(i,a);s.getContext("2d").drawImage(stamp_classPrivateFieldGet(Zn,this),0,0,stamp_classPrivateFieldGet(Zn,this).width,stamp_classPrivateFieldGet(Zn,this).height,0,0,i,a);return s.transferToImageBitmap()}return structuredClone(stamp_classPrivateFieldGet(Zn,this))}function stamp_hasElementChanged(t){const{pageIndex:e,accessibilityData:{altText:i}}=this._initialData,a=t.pageIndex===e,s=(t.accessibilityData?.alt||"")===i;return{isSame:!this._hasBeenMoved&&!this._hasBeenResized&&a&&s,isSameAltText:s}}stamp_defineProperty(StampEditor,"_type","stamp");stamp_defineProperty(StampEditor,"_editorType",f.STAMP);function annotation_editor_layer_classPrivateFieldInitSpec(t,e,i){annotation_editor_layer_checkPrivateRedeclaration(t,e),e.set(t,i)}function annotation_editor_layer_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function annotation_editor_layer_classPrivateGetter(t,e,i){return i(annotation_editor_layer_assertClassBrand(t,e))}function annotation_editor_layer_classPrivateFieldGet(t,e){return t.get(annotation_editor_layer_assertClassBrand(t,e))}function annotation_editor_layer_classPrivateFieldSet(t,e,i){return t.set(annotation_editor_layer_assertClassBrand(t,e),i),i}function annotation_editor_layer_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var uo=new WeakMap,_o=new WeakMap,po=new WeakMap,fo=new WeakMap,go=new WeakMap,vo=new WeakMap,mo=new WeakMap,Po=new WeakMap,wo=new WeakMap,yo=new WeakMap,Fo=new WeakMap,bo=new WeakMap,So=new WeakMap,Ao=new WeakMap,xo=new WeakSet;class AnnotationEditorLayer{constructor(t){let{uiManager:e,pageIndex:i,div:a,structTreeLayer:s,accessibilityManager:r,annotationLayer:n,drawLayer:o,textLayer:l,viewport:c,l10n:d}=t;!function annotation_editor_layer_classPrivateMethodInitSpec(t,e){annotation_editor_layer_checkPrivateRedeclaration(t,e),e.add(t)}(this,xo);annotation_editor_layer_classPrivateFieldInitSpec(this,uo,void 0);annotation_editor_layer_classPrivateFieldInitSpec(this,_o,!1);annotation_editor_layer_classPrivateFieldInitSpec(this,po,null);annotation_editor_layer_classPrivateFieldInitSpec(this,fo,null);annotation_editor_layer_classPrivateFieldInitSpec(this,go,null);annotation_editor_layer_classPrivateFieldInitSpec(this,vo,new Map);annotation_editor_layer_classPrivateFieldInitSpec(this,mo,!1);annotation_editor_layer_classPrivateFieldInitSpec(this,Po,!1);annotation_editor_layer_classPrivateFieldInitSpec(this,wo,!1);annotation_editor_layer_classPrivateFieldInitSpec(this,yo,null);annotation_editor_layer_classPrivateFieldInitSpec(this,Fo,null);annotation_editor_layer_classPrivateFieldInitSpec(this,bo,null);annotation_editor_layer_classPrivateFieldInitSpec(this,So,null);annotation_editor_layer_classPrivateFieldInitSpec(this,Ao,void 0);const h=[...Eo._.values()];if(!AnnotationEditorLayer._initialized){AnnotationEditorLayer._initialized=!0;for(const t of h)t.initialize(d,e)}e.registerEditorTypes(h);annotation_editor_layer_classPrivateFieldSet(Ao,this,e);this.pageIndex=i;this.div=a;annotation_editor_layer_classPrivateFieldSet(uo,this,r);annotation_editor_layer_classPrivateFieldSet(po,this,n);this.viewport=c;annotation_editor_layer_classPrivateFieldSet(bo,this,l);this.drawLayer=o;this._structTree=s;annotation_editor_layer_classPrivateFieldGet(Ao,this).addLayer(this)}get isEmpty(){return 0===annotation_editor_layer_classPrivateFieldGet(vo,this).size}get isInvisible(){return this.isEmpty&&annotation_editor_layer_classPrivateFieldGet(Ao,this).getMode()===f.NONE}updateToolbar(t){annotation_editor_layer_classPrivateFieldGet(Ao,this).updateToolbar(t)}updateMode(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:annotation_editor_layer_classPrivateFieldGet(Ao,this).getMode();annotation_editor_layer_assertClassBrand(xo,this,_cleanup).call(this);switch(t){case f.NONE:this.disableTextSelection();this.togglePointerEvents(!1);this.toggleAnnotationLayerPointerEvents(!0);this.disableClick();return;case f.INK:this.disableTextSelection();this.togglePointerEvents(!0);this.enableClick();break;case f.HIGHLIGHT:this.enableTextSelection();this.togglePointerEvents(!1);this.disableClick();break;default:this.disableTextSelection();this.togglePointerEvents(!0);this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);const{classList:e}=this.div;for(const i of Eo._.values())e.toggle(`${i._type}Editing`,t===i._editorType);this.div.hidden=!1}hasTextLayer(t){return t===annotation_editor_layer_classPrivateFieldGet(bo,this)?.div}setEditingState(t){annotation_editor_layer_classPrivateFieldGet(Ao,this).setEditingState(t)}addCommands(t){annotation_editor_layer_classPrivateFieldGet(Ao,this).addCommands(t)}cleanUndoStack(t){annotation_editor_layer_classPrivateFieldGet(Ao,this).cleanUndoStack(t)}toggleDrawing(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.div.classList.toggle("drawing",!t)}togglePointerEvents(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.div.classList.toggle("disabled",!t)}toggleAnnotationLayerPointerEvents(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];annotation_editor_layer_classPrivateFieldGet(po,this)?.div.classList.toggle("disabled",!t)}async enable(){annotation_editor_layer_classPrivateFieldSet(wo,this,!0);this.div.tabIndex=0;this.togglePointerEvents(!0);const t=new Set;for(const e of annotation_editor_layer_classPrivateFieldGet(vo,this).values()){e.enableEditing();e.show(!0);if(e.annotationElementId){annotation_editor_layer_classPrivateFieldGet(Ao,this).removeChangedExistingAnnotation(e);t.add(e.annotationElementId)}}if(!annotation_editor_layer_classPrivateFieldGet(po,this)){annotation_editor_layer_classPrivateFieldSet(wo,this,!1);return}const e=annotation_editor_layer_classPrivateFieldGet(po,this).getEditableAnnotations();for(const i of e){i.hide();if(annotation_editor_layer_classPrivateFieldGet(Ao,this).isDeletedAnnotationElement(i.data.id))continue;if(t.has(i.data.id))continue;const e=await this.deserialize(i);if(e){this.addOrRebuild(e);e.enableEditing()}}annotation_editor_layer_classPrivateFieldSet(wo,this,!1)}disable(){annotation_editor_layer_classPrivateFieldSet(Po,this,!0);this.div.tabIndex=-1;this.togglePointerEvents(!1);const t=new Map,e=new Map;for(const i of annotation_editor_layer_classPrivateFieldGet(vo,this).values()){i.disableEditing();if(i.annotationElementId)if(null===i.serialize()){e.set(i.annotationElementId,i);this.getEditableAnnotation(i.annotationElementId)?.show();i.remove()}else t.set(i.annotationElementId,i)}if(annotation_editor_layer_classPrivateFieldGet(po,this)){const i=annotation_editor_layer_classPrivateFieldGet(po,this).getEditableAnnotations();for(const a of i){const{id:i}=a.data;if(annotation_editor_layer_classPrivateFieldGet(Ao,this).isDeletedAnnotationElement(i))continue;let s=e.get(i);if(s){s.resetAnnotationElement(a);s.show(!1);a.show()}else{s=t.get(i);if(s){annotation_editor_layer_classPrivateFieldGet(Ao,this).addChangedExistingAnnotation(s);s.renderAnnotationElement(a)&&s.show(!1)}a.show()}}}annotation_editor_layer_assertClassBrand(xo,this,_cleanup).call(this);this.isEmpty&&(this.div.hidden=!0);const{classList:i}=this.div;for(const t of Eo._.values())i.remove(`${t._type}Editing`);this.disableTextSelection();this.toggleAnnotationLayerPointerEvents(!0);annotation_editor_layer_classPrivateFieldSet(Po,this,!1)}getEditableAnnotation(t){return annotation_editor_layer_classPrivateFieldGet(po,this)?.getEditableAnnotation(t)||null}setActiveEditor(t){annotation_editor_layer_classPrivateFieldGet(Ao,this).getActive()!==t&&annotation_editor_layer_classPrivateFieldGet(Ao,this).setActiveEditor(t)}enableTextSelection(){this.div.tabIndex=-1;if(annotation_editor_layer_classPrivateFieldGet(bo,this)?.div&&!annotation_editor_layer_classPrivateFieldGet(So,this)){annotation_editor_layer_classPrivateFieldSet(So,this,new AbortController);const t=annotation_editor_layer_classPrivateFieldGet(Ao,this).combinedSignal(annotation_editor_layer_classPrivateFieldGet(So,this));annotation_editor_layer_classPrivateFieldGet(bo,this).div.addEventListener("pointerdown",annotation_editor_layer_assertClassBrand(xo,this,_textLayerPointerDown).bind(this),{signal:t});annotation_editor_layer_classPrivateFieldGet(bo,this).div.classList.add("highlighting")}}disableTextSelection(){this.div.tabIndex=0;if(annotation_editor_layer_classPrivateFieldGet(bo,this)?.div&&annotation_editor_layer_classPrivateFieldGet(So,this)){annotation_editor_layer_classPrivateFieldGet(So,this).abort();annotation_editor_layer_classPrivateFieldSet(So,this,null);annotation_editor_layer_classPrivateFieldGet(bo,this).div.classList.remove("highlighting")}}enableClick(){if(annotation_editor_layer_classPrivateFieldGet(fo,this))return;annotation_editor_layer_classPrivateFieldSet(fo,this,new AbortController);const t=annotation_editor_layer_classPrivateFieldGet(Ao,this).combinedSignal(annotation_editor_layer_classPrivateFieldGet(fo,this));this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:t});const e=this.pointerup.bind(this);this.div.addEventListener("pointerup",e,{signal:t});this.div.addEventListener("pointercancel",e,{signal:t})}disableClick(){annotation_editor_layer_classPrivateFieldGet(fo,this)?.abort();annotation_editor_layer_classPrivateFieldSet(fo,this,null)}attach(t){annotation_editor_layer_classPrivateFieldGet(vo,this).set(t.id,t);const{annotationElementId:e}=t;e&&annotation_editor_layer_classPrivateFieldGet(Ao,this).isDeletedAnnotationElement(e)&&annotation_editor_layer_classPrivateFieldGet(Ao,this).removeDeletedAnnotationElement(t)}detach(t){annotation_editor_layer_classPrivateFieldGet(vo,this).delete(t.id);annotation_editor_layer_classPrivateFieldGet(uo,this)?.removePointerInTextLayer(t.contentDiv);!annotation_editor_layer_classPrivateFieldGet(Po,this)&&t.annotationElementId&&annotation_editor_layer_classPrivateFieldGet(Ao,this).addDeletedAnnotationElement(t)}remove(t){this.detach(t);annotation_editor_layer_classPrivateFieldGet(Ao,this).removeEditor(t);t.div.remove();t.isAttachedToDOM=!1}changeParent(t){if(t.parent!==this){if(t.parent&&t.annotationElementId){annotation_editor_layer_classPrivateFieldGet(Ao,this).addDeletedAnnotationElement(t.annotationElementId);AnnotationEditor.deleteAnnotationElement(t);t.annotationElementId=null}this.attach(t);t.parent?.detach(t);t.setParent(this);if(t.div&&t.isAttachedToDOM){t.div.remove();this.div.append(t.div)}}}add(t){if(t.parent!==this||!t.isAttachedToDOM){this.changeParent(t);annotation_editor_layer_classPrivateFieldGet(Ao,this).addEditor(t);this.attach(t);if(!t.isAttachedToDOM){const e=t.render();this.div.append(e);t.isAttachedToDOM=!0}t.fixAndSetPosition();t.onceAdded(!annotation_editor_layer_classPrivateFieldGet(wo,this));annotation_editor_layer_classPrivateFieldGet(Ao,this).addToAnnotationStorage(t);t._reportTelemetry(t.telemetryInitialData)}}moveEditorInDOM(t){if(!t.isAttachedToDOM)return;const e=t.div.ownerDocument,{activeElement:i}=e;if(t.div.contains(i)&&!annotation_editor_layer_classPrivateFieldGet(go,this)){t._focusEventsAllowed=!1;annotation_editor_layer_classPrivateFieldSet(go,this,activeWindow.setTimeout((()=>{annotation_editor_layer_classPrivateFieldSet(go,this,null);if(t.div.contains(e.activeElement))t._focusEventsAllowed=!0;else{t.div.addEventListener("focusin",(()=>{t._focusEventsAllowed=!0}),{once:!0,signal:annotation_editor_layer_classPrivateFieldGet(Ao,this)._signal});i.focus()}}),0))}t._structTreeParentId=annotation_editor_layer_classPrivateFieldGet(uo,this)?.moveElementInDOM(this.div,t.div,t.contentDiv,!0)}addOrRebuild(t){if(t.needsToBeRebuilt()){t.parent||=this;t.rebuild();t.show()}else this.add(t)}addUndoableEditor(t){this.addCommands({cmd:()=>t._uiManager.rebuild(t),undo:()=>{t.remove()},mustExec:!1})}getNextId(){return annotation_editor_layer_classPrivateFieldGet(Ao,this).getId()}combinedSignal(t){return annotation_editor_layer_classPrivateFieldGet(Ao,this).combinedSignal(t)}canCreateNewEmptyEditor(){return annotation_editor_layer_classPrivateGetter(xo,this,_get_currentEditorType)?.canCreateNewEmptyEditor()}async pasteEditor(t,e){this.updateToolbar(t);await annotation_editor_layer_classPrivateFieldGet(Ao,this).updateMode(t.mode);const{offsetX:i,offsetY:a}=annotation_editor_layer_assertClassBrand(xo,this,_getCenterPoint).call(this),s=this.getNextId(),r=annotation_editor_layer_assertClassBrand(xo,this,_createNewEditor).call(this,{parent:this,id:s,x:i,y:a,uiManager:annotation_editor_layer_classPrivateFieldGet(Ao,this),isCentered:!0,...e});r&&this.add(r)}async deserialize(t){return await(Eo._.get(t.annotationType??t.annotationEditorType)?.deserialize(t,this,annotation_editor_layer_classPrivateFieldGet(Ao,this)))||null}createAndAddNewEditor(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=this.getNextId(),s=annotation_editor_layer_assertClassBrand(xo,this,_createNewEditor).call(this,{parent:this,id:a,x:t.offsetX,y:t.offsetY,uiManager:annotation_editor_layer_classPrivateFieldGet(Ao,this),isCentered:e,...i});s&&this.add(s);return s}addNewEditor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.createAndAddNewEditor(annotation_editor_layer_assertClassBrand(xo,this,_getCenterPoint).call(this),!0,t)}setSelected(t){annotation_editor_layer_classPrivateFieldGet(Ao,this).setSelected(t)}toggleSelected(t){annotation_editor_layer_classPrivateFieldGet(Ao,this).toggleSelected(t)}unselect(t){annotation_editor_layer_classPrivateFieldGet(Ao,this).unselect(t)}pointerup(t){const{isMac:e}=util_FeatureTest.platform;if(0!==t.button||t.ctrlKey&&e)return;if(t.target!==this.div)return;if(!annotation_editor_layer_classPrivateFieldGet(mo,this))return;annotation_editor_layer_classPrivateFieldSet(mo,this,!1);if(annotation_editor_layer_classPrivateGetter(xo,this,_get_currentEditorType)?.isDrawer&&annotation_editor_layer_classPrivateGetter(xo,this,_get_currentEditorType).supportMultipleDrawings)return;if(!annotation_editor_layer_classPrivateFieldGet(_o,this)){annotation_editor_layer_classPrivateFieldSet(_o,this,!0);return}const i=annotation_editor_layer_classPrivateFieldGet(Ao,this).getMode();i!==f.STAMP&&i!==f.SIGNATURE?this.createAndAddNewEditor(t,!1):annotation_editor_layer_classPrivateFieldGet(Ao,this).unselectAll()}pointerdown(t){annotation_editor_layer_classPrivateFieldGet(Ao,this).getMode()===f.HIGHLIGHT&&this.enableTextSelection();if(annotation_editor_layer_classPrivateFieldGet(mo,this)){annotation_editor_layer_classPrivateFieldSet(mo,this,!1);return}const{isMac:e}=util_FeatureTest.platform;if(0!==t.button||t.ctrlKey&&e)return;if(t.target!==this.div)return;annotation_editor_layer_classPrivateFieldSet(mo,this,!0);if(annotation_editor_layer_classPrivateGetter(xo,this,_get_currentEditorType)?.isDrawer){this.startDrawingSession(t);return}const i=annotation_editor_layer_classPrivateFieldGet(Ao,this).getActive();annotation_editor_layer_classPrivateFieldSet(_o,this,!i||i.isEmpty())}startDrawingSession(t){this.div.focus({preventScroll:!0});if(annotation_editor_layer_classPrivateFieldGet(yo,this)){annotation_editor_layer_classPrivateGetter(xo,this,_get_currentEditorType).startDrawing(this,annotation_editor_layer_classPrivateFieldGet(Ao,this),!1,t);return}annotation_editor_layer_classPrivateFieldGet(Ao,this).setCurrentDrawingSession(this);annotation_editor_layer_classPrivateFieldSet(yo,this,new AbortController);const e=annotation_editor_layer_classPrivateFieldGet(Ao,this).combinedSignal(annotation_editor_layer_classPrivateFieldGet(yo,this));this.div.addEventListener("blur",(t=>{let{relatedTarget:e}=t;if(e&&!this.div.contains(e)){annotation_editor_layer_classPrivateFieldSet(Fo,this,null);this.commitOrRemove()}}),{signal:e});annotation_editor_layer_classPrivateGetter(xo,this,_get_currentEditorType).startDrawing(this,annotation_editor_layer_classPrivateFieldGet(Ao,this),!1,t)}pause(t){if(t){const{activeElement:t}=document;this.div.contains(t)&&annotation_editor_layer_classPrivateFieldSet(Fo,this,t)}else annotation_editor_layer_classPrivateFieldGet(Fo,this)&&activeWindow.setTimeout((()=>{annotation_editor_layer_classPrivateFieldGet(Fo,this)?.focus();annotation_editor_layer_classPrivateFieldSet(Fo,this,null)}),0)}endDrawingSession(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!annotation_editor_layer_classPrivateFieldGet(yo,this))return null;annotation_editor_layer_classPrivateFieldGet(Ao,this).setCurrentDrawingSession(null);annotation_editor_layer_classPrivateFieldGet(yo,this).abort();annotation_editor_layer_classPrivateFieldSet(yo,this,null);annotation_editor_layer_classPrivateFieldSet(Fo,this,null);return annotation_editor_layer_classPrivateGetter(xo,this,_get_currentEditorType).endDrawing(t)}findNewParent(t,e,i){const a=annotation_editor_layer_classPrivateFieldGet(Ao,this).findParent(e,i);if(null===a||a===this)return!1;a.changeParent(t);return!0}commitOrRemove(){if(annotation_editor_layer_classPrivateFieldGet(yo,this)){this.endDrawingSession();return!0}return!1}onScaleChanging(){annotation_editor_layer_classPrivateFieldGet(yo,this)&&annotation_editor_layer_classPrivateGetter(xo,this,_get_currentEditorType).onScaleChangingWhenDrawing(this)}destroy(){this.commitOrRemove();if(annotation_editor_layer_classPrivateFieldGet(Ao,this).getActive()?.parent===this){annotation_editor_layer_classPrivateFieldGet(Ao,this).commitOrRemove();annotation_editor_layer_classPrivateFieldGet(Ao,this).setActiveEditor(null)}if(annotation_editor_layer_classPrivateFieldGet(go,this)){activeWindow.clearTimeout(annotation_editor_layer_classPrivateFieldGet(go,this));annotation_editor_layer_classPrivateFieldSet(go,this,null)}for(const t of annotation_editor_layer_classPrivateFieldGet(vo,this).values()){annotation_editor_layer_classPrivateFieldGet(uo,this)?.removePointerInTextLayer(t.contentDiv);t.setParent(null);t.isAttachedToDOM=!1;t.div.remove()}this.div=null;annotation_editor_layer_classPrivateFieldGet(vo,this).clear();annotation_editor_layer_classPrivateFieldGet(Ao,this).removeLayer(this)}render(t){let{viewport:e}=t;this.viewport=e;setLayerDimensions(this.div,e);for(const t of annotation_editor_layer_classPrivateFieldGet(Ao,this).getEditors(this.pageIndex)){this.add(t);t.rebuild()}this.updateMode()}update(t){let{viewport:e}=t;annotation_editor_layer_classPrivateFieldGet(Ao,this).commitOrRemove();annotation_editor_layer_assertClassBrand(xo,this,_cleanup).call(this);const i=this.viewport.rotation,a=e.rotation;this.viewport=e;setLayerDimensions(this.div,{rotation:a});if(i!==a)for(const t of annotation_editor_layer_classPrivateFieldGet(vo,this).values())t.rotate(a)}get pageDimensions(){const{pageWidth:t,pageHeight:e}=this.viewport.rawDims;return[t,e]}get scale(){return annotation_editor_layer_classPrivateFieldGet(Ao,this).viewParameters.realScale}}function _textLayerPointerDown(t){annotation_editor_layer_classPrivateFieldGet(Ao,this).unselectAll();const{target:e}=t;if(e===annotation_editor_layer_classPrivateFieldGet(bo,this).div||("img"===e.getAttribute("role")||e.classList.contains("endOfContent"))&&annotation_editor_layer_classPrivateFieldGet(bo,this).div.contains(e)){const{isMac:e}=util_FeatureTest.platform;if(0!==t.button||t.ctrlKey&&e)return;annotation_editor_layer_classPrivateFieldGet(Ao,this).showAllEditors("highlight",!0,!0);annotation_editor_layer_classPrivateFieldGet(bo,this).div.classList.add("free");this.toggleDrawing();HighlightEditor.startHighlighting(this,"ltr"===annotation_editor_layer_classPrivateFieldGet(Ao,this).direction,{target:annotation_editor_layer_classPrivateFieldGet(bo,this).div,x:t.x,y:t.y});annotation_editor_layer_classPrivateFieldGet(bo,this).div.addEventListener("pointerup",(()=>{annotation_editor_layer_classPrivateFieldGet(bo,this).div.classList.remove("free");this.toggleDrawing(!0)}),{once:!0,signal:annotation_editor_layer_classPrivateFieldGet(Ao,this)._signal});t.preventDefault()}}function _get_currentEditorType(t){return Eo._.get(annotation_editor_layer_classPrivateFieldGet(Ao,t).getMode())}function _createNewEditor(t){const e=annotation_editor_layer_classPrivateGetter(xo,this,_get_currentEditorType);return e?new e.prototype.constructor(t):null}function _getCenterPoint(){const{x:t,y:e,width:i,height:a}=this.div.getBoundingClientRect(),s=Math.max(0,t),r=Math.max(0,e),n=(s+Math.min(activeWindow.innerWidth,t+i))/2-t,o=(r+Math.min(activeWindow.innerHeight,e+a))/2-e,[l,c]=this.viewport.rotation%180==0?[n,o]:[o,n];return{offsetX:l,offsetY:c}}function _cleanup(){for(const t of annotation_editor_layer_classPrivateFieldGet(vo,this).values())t.isEmpty()&&t.remove()}!function annotation_editor_layer_defineProperty(t,e,i){return(e=function annotation_editor_layer_toPropertyKey(t){var e=function annotation_editor_layer_toPrimitive(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}(AnnotationEditorLayer,"_initialized",!1);var Co,Eo={_:new Map([FreeTextEditor,InkEditor,StampEditor,HighlightEditor,SignatureEditor].map((t=>[t._editorType,t])))};function draw_layer_classPrivateFieldInitSpec(t,e,i){draw_layer_checkPrivateRedeclaration(t,e),e.set(t,i)}function draw_layer_checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function draw_layer_classPrivateFieldSet(t,e,i){return t.set(draw_layer_assertClassBrand(t,e),i),i}function draw_layer_classPrivateFieldGet(t,e){return t.get(draw_layer_assertClassBrand(t,e))}function draw_layer_assertClassBrand(t,e,i){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:i;throw new TypeError("Private element is not present on this object")}var ko=new WeakMap,Go=new WeakMap,Mo=new WeakMap,Io=new WeakSet;class DrawLayer{constructor(t){let{pageIndex:e}=t;!function draw_layer_classPrivateMethodInitSpec(t,e){draw_layer_checkPrivateRedeclaration(t,e),e.add(t)}(this,Io);draw_layer_classPrivateFieldInitSpec(this,ko,null);draw_layer_classPrivateFieldInitSpec(this,Go,new Map);draw_layer_classPrivateFieldInitSpec(this,Mo,new Map);this.pageIndex=e}setParent(t){if(draw_layer_classPrivateFieldGet(ko,this)){if(draw_layer_classPrivateFieldGet(ko,this)!==t){if(draw_layer_classPrivateFieldGet(Go,this).size>0)for(const e of draw_layer_classPrivateFieldGet(Go,this).values()){e.remove();t.append(e)}draw_layer_classPrivateFieldSet(ko,this,t)}}else draw_layer_classPrivateFieldSet(ko,this,t)}static get _svgFactory(){return shadow(this,"_svgFactory",new DOMSVGFactory)}draw(t){var e,i;let a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=(To._=(e=To._,i=e++,e),i),n=draw_layer_assertClassBrand(Io,this,_createSVG).call(this),o=DrawLayer._svgFactory.createElement("defs");n.append(o);const l=DrawLayer._svgFactory.createElement("path");o.append(l);const c=`path_p${this.pageIndex}_${r}`;l.setAttribute("id",c);l.setAttribute("vector-effect","non-scaling-stroke");a&&draw_layer_classPrivateFieldGet(Mo,this).set(r,l);const d=s?draw_layer_assertClassBrand(Io,this,_createClipPath).call(this,o,c):null,h=DrawLayer._svgFactory.createElement("use");n.append(h);h.setAttribute("href",`#${c}`);this.updateProperties(n,t);draw_layer_classPrivateFieldGet(Go,this).set(r,n);return{id:r,clipPathId:`url(#${d})`}}drawOutline(t,e){var i,a;const s=(To._=(i=To._,a=i++,i),a),r=draw_layer_assertClassBrand(Io,this,_createSVG).call(this),n=DrawLayer._svgFactory.createElement("defs");r.append(n);const o=DrawLayer._svgFactory.createElement("path");n.append(o);const l=`path_p${this.pageIndex}_${s}`;o.setAttribute("id",l);o.setAttribute("vector-effect","non-scaling-stroke");let c;if(e){const t=DrawLayer._svgFactory.createElement("mask");n.append(t);c=`mask_p${this.pageIndex}_${s}`;t.setAttribute("id",c);t.setAttribute("maskUnits","objectBoundingBox");const e=DrawLayer._svgFactory.createElement("rect");t.append(e);e.setAttribute("width","1");e.setAttribute("height","1");e.setAttribute("fill","white");const i=DrawLayer._svgFactory.createElement("use");t.append(i);i.setAttribute("href",`#${l}`);i.setAttribute("stroke","none");i.setAttribute("fill","black");i.setAttribute("fill-rule","nonzero");i.classList.add("mask")}const d=DrawLayer._svgFactory.createElement("use");r.append(d);d.setAttribute("href",`#${l}`);c&&d.setAttribute("mask",`url(#${c})`);const h=d.cloneNode();r.append(h);d.classList.add("mainOutline");h.classList.add("secondaryOutline");this.updateProperties(r,t);draw_layer_classPrivateFieldGet(Go,this).set(s,r);return s}finalizeDraw(t,e){draw_layer_classPrivateFieldGet(Mo,this).delete(t);this.updateProperties(t,e)}updateProperties(t,e){if(!e)return;const{root:i,bbox:a,rootClass:s,path:r}=e,n="number"==typeof t?draw_layer_classPrivateFieldGet(Go,this).get(t):t;if(n){i&&draw_layer_assertClassBrand(Io,this,_updateProperties).call(this,n,i);a&&_setBox.call(DrawLayer,n,a);if(s){const{classList:t}=n;for(const[e,i]of Object.entries(s))t.toggle(e,i)}if(r){const t=n.firstChild.firstChild;draw_layer_assertClassBrand(Io,this,_updateProperties).call(this,t,r)}}}updateParent(t,e){if(e===this)return;const i=draw_layer_classPrivateFieldGet(Go,this).get(t);if(i){draw_layer_classPrivateFieldGet(ko,e).append(i);draw_layer_classPrivateFieldGet(Go,this).delete(t);draw_layer_classPrivateFieldGet(Go,e).set(t,i)}}remove(t){draw_layer_classPrivateFieldGet(Mo,this).delete(t);if(null!==draw_layer_classPrivateFieldGet(ko,this)){draw_layer_classPrivateFieldGet(Go,this).get(t).remove();draw_layer_classPrivateFieldGet(Go,this).delete(t)}}destroy(){draw_layer_classPrivateFieldSet(ko,this,null);for(const t of draw_layer_classPrivateFieldGet(Go,this).values())t.remove();draw_layer_classPrivateFieldGet(Go,this).clear();draw_layer_classPrivateFieldGet(Mo,this).clear()}}Co=DrawLayer;function _setBox(t,e){let[i,a,s,r]=e;const{style:n}=t;n.top=100*a+"%";n.left=100*i+"%";n.width=100*s+"%";n.height=100*r+"%"}function _createSVG(){const t=Co._svgFactory.create(1,1,!0);draw_layer_classPrivateFieldGet(ko,this).append(t);t.setAttribute("aria-hidden",!0);return t}function _createClipPath(t,e){const i=Co._svgFactory.createElement("clipPath");t.append(i);const a=`clip_${e}`;i.setAttribute("id",a);i.setAttribute("clipPathUnits","objectBoundingBox");const s=Co._svgFactory.createElement("use");i.append(s);s.setAttribute("href",`#${e}`);s.classList.add("clip");return a}function _updateProperties(t,e){for(const[i,a]of Object.entries(e))null===a?t.removeAttribute(i):t.setAttribute(i,a)}var To={_:0};globalThis._pdfjsTestingUtils={HighlightOutliner};globalThis.pdfjsLib={AbortException,AnnotationEditorLayer,AnnotationEditorParamsType:g,AnnotationEditorType:f,AnnotationEditorUIManager,AnnotationLayer,AnnotationMode:p,AnnotationType:x,build:Fs,ColorPicker,createValidAbsoluteUrl,DOMSVGFactory,DrawLayer,FeatureTest:util_FeatureTest,fetchData,getDocument,getFilenameFromUrl,getPdfFilenameFromUrl,getUuid,getXfaPageViewport,GlobalWorkerOptions,ImageKind:A,InvalidPDFException,isDataScheme,isPdfFile,isValidExplicitDest:wi,MathClamp,noContextMenu,normalizeUnicode,OPS:T,OutputScale,PageViewport,PasswordResponses:O,PDFDataRangeTransport,PDFDateString:display_utils_PDFDateString,PDFWorker,PermissionFlag:v,PixelsPerInch,RenderingCancelledException,ResponseException,setLayerDimensions,shadow,SignatureExtractor,stopEvent,SupportedImageMimeTypes:X,TextLayer,TouchManager,updateUrlHash,Util:util_Util,VerbosityLevel:I,version:ys,XfaLayer:xfa_layer_XfaLayer};export{AbortException,AnnotationEditorLayer,g as AnnotationEditorParamsType,f as AnnotationEditorType,AnnotationEditorUIManager,AnnotationLayer,p as AnnotationMode,x as AnnotationType,ColorPicker,DOMSVGFactory,DrawLayer,util_FeatureTest as FeatureTest,GlobalWorkerOptions,A as ImageKind,InvalidPDFException,MathClamp,T as OPS,OutputScale,PDFDataRangeTransport,display_utils_PDFDateString as PDFDateString,PDFWorker,O as PasswordResponses,v as PermissionFlag,PixelsPerInch,RenderingCancelledException,ResponseException,SignatureExtractor,X as SupportedImageMimeTypes,TextLayer,TouchManager,util_Util as Util,I as VerbosityLevel,xfa_layer_XfaLayer as XfaLayer,Fs as build,createValidAbsoluteUrl,fetchData,getDocument,getFilenameFromUrl,getPdfFilenameFromUrl,getUuid,getXfaPageViewport,isDataScheme,isPdfFile,wi as isValidExplicitDest,noContextMenu,normalizeUnicode,setLayerDimensions,shadow,stopEvent,updateUrlHash,ys as version};/** * @licstart The following is the entire license notice for the * JavaScript code in this page * * Copyright 2024 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * @licend The above is the entire license notice for the * JavaScript code in this page */ /** * pdfjsVersion = 5.3.34 * pdfjsBuild = cc1e2a3e0 */var e={34:(e,t,i)=>{var a=i(4901);e.exports=function(e){return"object"==typeof e?null!==e:a(e)}},81:(e,t,i)=>{var a=i(9565),s=i(9306),n=i(8551),r=i(6823),o=i(851),l=TypeError;e.exports=function(e,t){var i=arguments.length<2?o(e):t;if(s(i))return n(a(i,e));throw new l(r(e)+" is not iterable")}},283:(e,t,i)=>{var a=i(9504),s=i(9039),n=i(4901),r=i(9297),o=i(3724),l=i(350).CONFIGURABLE,d=i(3706),c=i(1181),u=c.enforce,h=c.get,_=String,p=Object.defineProperty,g=a("".slice),f=a("".replace),v=a([].join),m=o&&!s((function(){return 8!==p((function(){}),"length",{value:8}).length})),w=String(String).split("String"),b=e.exports=function(e,t,i){"Symbol("===g(_(t),0,7)&&(t="["+f(_(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]");i&&i.getter&&(t="get "+t);i&&i.setter&&(t="set "+t);(!r(e,"name")||l&&e.name!==t)&&(o?p(e,"name",{value:t,configurable:!0}):e.name=t);m&&i&&r(i,"arity")&&e.length!==i.arity&&p(e,"length",{value:i.arity});try{i&&r(i,"constructor")&&i.constructor?o&&p(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var a=u(e);r(a,"source")||(a.source=v(w,"string"==typeof t?t:""));return e};Function.prototype.toString=b((function toString(){return n(this)&&h(this).source||d(this)}),"toString")},350:(e,t,i)=>{var a=i(3724),s=i(9297),n=Function.prototype,r=a&&Object.getOwnPropertyDescriptor,o=s(n,"name"),l=o&&"something"===function something(){}.name,d=o&&(!a||a&&r(n,"name").configurable);e.exports={EXISTS:o,PROPER:l,CONFIGURABLE:d}},373:(e,t,i)=>{var a=i(4576),s=i(7476),n=i(9039),r=i(9306),o=i(4488),l=i(4644),d=i(3709),c=i(3763),u=i(9519),h=i(3607),_=l.aTypedArray,p=l.exportTypedArrayMethod,g=a.Uint16Array,f=g&&s(g.prototype.sort),v=!(!f||n((function(){f(new g(2),null)}))&&n((function(){f(new g(2),{})}))),m=!!f&&!n((function(){if(u)return u<74;if(d)return d<67;if(c)return!0;if(h)return h<602;var e,t,i=new g(516),a=Array(516);for(e=0;e<516;e++){t=e%4;i[e]=515-e;a[e]=e-2*t+3}f(i,(function(e,t){return(e/4|0)-(t/4|0)}));for(e=0;e<516;e++)if(i[e]!==a[e])return!0}));p("sort",(function sort(e){void 0!==e&&r(e);return m?f(this,e):o(_(this),function(e){return function(t,i){return void 0!==e?+e(t,i)||0:i!=i?-1:t!=t?1:0===t&&0===i?1/t>0&&1/i<0?1:-1:t>i}}(e))}),!m||v)},397:(e,t,i)=>{var a=i(7751);e.exports=a("document","documentElement")},421:e=>{e.exports={}},507:(e,t,i)=>{var a=i(9565);e.exports=function(e,t,i){for(var s,n,r=i?e:e.iterator,o=e.next;!(s=a(o,r)).done;)if(void 0!==(n=t(s.value)))return n}},616:(e,t,i)=>{var a=i(9039);e.exports=!a((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},655:(e,t,i)=>{var a=i(6955),s=String;e.exports=function(e){if("Symbol"===a(e))throw new TypeError("Cannot convert a Symbol value to a string");return s(e)}},679:(e,t,i)=>{var a=i(1625),s=TypeError;e.exports=function(e,t){if(a(t,e))return e;throw new s("Incorrect invocation")}},741:e=>{var t=Math.ceil,i=Math.floor;e.exports=Math.trunc||function trunc(e){var a=+e;return(a>0?i:t)(a)}},747:(e,t,i)=>{var a=i(6699),s=i(6193),n=i(4659),r=Error.captureStackTrace;e.exports=function(e,t,i,o){n&&(r?r(e,t):a(e,"stack",s(i,o)))}},757:(e,t,i)=>{var a=i(7751),s=i(4901),n=i(1625),r=i(7040),o=Object;e.exports=r?function(e){return"symbol"==typeof e}:function(e){var t=a("Symbol");return s(t)&&n(t.prototype,o(e))}},851:(e,t,i)=>{var a=i(6955),s=i(5966),n=i(4117),r=i(6269),o=i(8227)("iterator");e.exports=function(e){if(!n(e))return s(e,o)||s(e,"@@iterator")||r[a(e)]}},1056:(e,t,i)=>{var a=i(4913).f;e.exports=function(e,t,i){i in e||a(e,i,{configurable:!0,get:function(){return t[i]},set:function(e){t[i]=e}})}},1072:(e,t,i)=>{var a=i(1828),s=i(8727);e.exports=Object.keys||function keys(e){return a(e,s)}},1108:(e,t,i)=>{var a=i(6955);e.exports=function(e){var t=a(e);return"BigInt64Array"===t||"BigUint64Array"===t}},1134:(e,t,i)=>{var a=i(4644),s=i(3839).findLastIndex,n=a.aTypedArray;(0,a.exportTypedArrayMethod)("findLastIndex",(function findLastIndex(e){return s(n(this),e,arguments.length>1?arguments[1]:void 0)}))},1148:(e,t,i)=>{var a=i(6518),s=i(9565),n=i(2652),r=i(9306),o=i(8551),l=i(1767),d=i(9539),c=i(4549)("every",TypeError);a({target:"Iterator",proto:!0,real:!0,forced:c},{every:function every(e){o(this);try{r(e)}catch(e){d(this,"throw",e)}if(c)return s(c,this,e);var t=l(this),i=0;return!n(t,(function(t,a){if(!e(t,i++))return a()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},1181:(e,t,i)=>{var a,s,n,r=i(8622),o=i(4576),l=i(34),d=i(6699),c=i(9297),u=i(7629),h=i(6119),_=i(421),p="Object already initialized",g=o.TypeError,f=o.WeakMap;if(r||u.state){var v=u.state||(u.state=new f);v.get=v.get;v.has=v.has;v.set=v.set;a=function(e,t){if(v.has(e))throw new g(p);t.facade=e;v.set(e,t);return t};s=function(e){return v.get(e)||{}};n=function(e){return v.has(e)}}else{var m=h("state");_[m]=!0;a=function(e,t){if(c(e,m))throw new g(p);t.facade=e;d(e,m,t);return t};s=function(e){return c(e,m)?e[m]:{}};n=function(e){return c(e,m)}}e.exports={set:a,get:s,has:n,enforce:function(e){return n(e)?s(e):a(e,{})},getterFor:function(e){return function(t){var i;if(!l(t)||(i=s(t)).type!==e)throw new g("Incompatible receiver, "+e+" required");return i}}}},1291:(e,t,i)=>{var a=i(741);e.exports=function(e){var t=+e;return t!=t||0===t?0:a(t)}},1548:(e,t,i)=>{var a=i(4576),s=i(9039),n=i(9519),r=i(4215),o=a.structuredClone;e.exports=!!o&&!s((function(){if("DENO"===r&&n>92||"NODE"===r&&n>94||"BROWSER"===r&&n>97)return!1;var e=new ArrayBuffer(8),t=o(e,{transfer:[e]});return 0!==e.byteLength||8!==t.byteLength}))},1625:(e,t,i)=>{var a=i(9504);e.exports=a({}.isPrototypeOf)},1698:(e,t,i)=>{var a=i(6518),s=i(4204);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("union")},{union:s})},1701:(e,t,i)=>{var a=i(6518),s=i(9565),n=i(9306),r=i(8551),o=i(1767),l=i(9462),d=i(6319),c=i(9539),u=i(4549),h=i(6395),_=!h&&u("map",TypeError),p=l((function(){var e=this.iterator,t=r(s(this.next,e));if(!(this.done=!!t.done))return d(e,this.mapper,[t.value,this.counter++],!0)}));a({target:"Iterator",proto:!0,real:!0,forced:h||_},{map:function map(e){r(this);try{n(e)}catch(e){c(this,"throw",e)}return _?s(_,this,e):new p(o(this),{mapper:e})}})},1767:e=>{e.exports=function(e){return{iterator:e,next:e.next,done:!1}}},1828:(e,t,i)=>{var a=i(9504),s=i(9297),n=i(5397),r=i(9617).indexOf,o=i(421),l=a([].push);e.exports=function(e,t){var i,a=n(e),d=0,c=[];for(i in a)!s(o,i)&&s(a,i)&&l(c,i);for(;t.length>d;)s(a,i=t[d++])&&(~r(c,i)||l(c,i));return c}},1903:(e,t,i)=>{var a=i(4644),s=i(3839).findLast,n=a.aTypedArray;(0,a.exportTypedArrayMethod)("findLast",(function findLast(e){return s(n(this),e,arguments.length>1?arguments[1]:void 0)}))},2106:(e,t,i)=>{var a=i(283),s=i(4913);e.exports=function(e,t,i){i.get&&a(i.get,t,{getter:!0});i.set&&a(i.set,t,{setter:!0});return s.f(e,t,i)}},2140:(e,t,i)=>{var a={};a[i(8227)("toStringTag")]="z";e.exports="[object z]"===String(a)},2195:(e,t,i)=>{var a=i(9504),s=a({}.toString),n=a("".slice);e.exports=function(e){return n(s(e),8,-1)}},2211:(e,t,i)=>{var a=i(9039);e.exports=!a((function(){function F(){}F.prototype.constructor=null;return Object.getPrototypeOf(new F)!==F.prototype}))},2222:(e,t,i)=>{var a=i(6518),s=i(7751),n=i(9039),r=i(2812),o=i(655),l=i(7416),d=s("URL"),c=l&&n((function(){d.canParse()})),u=n((function(){return 1!==d.canParse.length}));a({target:"URL",stat:!0,forced:!c||u},{canParse:function canParse(e){var t=r(arguments.length,1),i=o(e),a=t<2||void 0===arguments[1]?void 0:o(arguments[1]);try{return!!new d(i,a)}catch(e){return!1}}})},2278:(e,t,i)=>{var a=i(3724),s=i(4913),n=i(6980);e.exports=function(e,t,i){a?s.f(e,t,n(0,i)):e[t]=i}},2360:(e,t,i)=>{var a,s=i(8551),n=i(6801),r=i(8727),o=i(421),l=i(397),d=i(4055),c=i(6119),u="prototype",h="script",_=c("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(e){return"<"+h+">"+e+""},NullProtoObjectViaActiveX=function(e){e.write(scriptTag(""));e.close();var t=e.parentWindow.Object;e=null;return t},NullProtoObject=function(){try{a=new ActiveXObject("htmlfile")}catch(e){}NullProtoObject="undefined"!=typeof document?document.domain&&a?NullProtoObjectViaActiveX(a):function(){var e,t=d("iframe"),i="java"+h+":";t.style.display="none";l.appendChild(t);t.src=String(i);(e=t.contentWindow.document).open();e.write(scriptTag("document.F=Object"));e.close();return e.F}():NullProtoObjectViaActiveX(a);for(var e=r.length;e--;)delete NullProtoObject[u][r[e]];return NullProtoObject()};o[_]=!0;e.exports=Object.create||function create(e,t){var i;if(null!==e){EmptyConstructor[u]=s(e);i=new EmptyConstructor;EmptyConstructor[u]=null;i[_]=e}else i=NullProtoObject();return void 0===t?i:n.f(i,t)}},2475:(e,t,i)=>{var a=i(6518),s=i(8527);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("isSupersetOf",(function(e){return!e}))},{isSupersetOf:s})},2489:(e,t,i)=>{var a=i(6518),s=i(9565),n=i(9306),r=i(8551),o=i(1767),l=i(9462),d=i(6319),c=i(6395),u=i(9539),h=i(4549),_=!c&&h("filter",TypeError),p=l((function(){for(var e,t,i=this.iterator,a=this.predicate,n=this.next;;){e=r(s(n,i));if(this.done=!!e.done)return;t=e.value;if(d(i,a,[t,this.counter++],!0))return t}}));a({target:"Iterator",proto:!0,real:!0,forced:c||_},{filter:function filter(e){r(this);try{n(e)}catch(e){u(this,"throw",e)}return _?s(_,this,e):new p(o(this),{predicate:e})}})},2529:e=>{e.exports=function(e,t){return{value:e,done:t}}},2603:(e,t,i)=>{var a=i(655);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:a(e)}},2652:(e,t,i)=>{var a=i(6080),s=i(9565),n=i(8551),r=i(6823),o=i(4209),l=i(6198),d=i(1625),c=i(81),u=i(851),h=i(9539),_=TypeError,Result=function(e,t){this.stopped=e;this.result=t},p=Result.prototype;e.exports=function(e,t,i){var g,f,v,m,w,b,P,y=i&&i.that,C=!(!i||!i.AS_ENTRIES),S=!(!i||!i.IS_RECORD),x=!(!i||!i.IS_ITERATOR),E=!(!i||!i.INTERRUPTED),A=a(t,y),stop=function(e){g&&h(g,"normal",e);return new Result(!0,e)},callFn=function(e){if(C){n(e);return E?A(e[0],e[1],stop):A(e[0],e[1])}return E?A(e,stop):A(e)};if(S)g=e.iterator;else if(x)g=e;else{if(!(f=u(e)))throw new _(r(e)+" is not iterable");if(o(f)){for(v=0,m=l(e);m>v;v++)if((w=callFn(e[v]))&&d(p,w))return w;return new Result(!1)}g=c(e,f)}b=S?e.next:g.next;for(;!(P=s(b,g)).done;){try{w=callFn(P.value)}catch(e){h(g,"throw",e)}if("object"==typeof w&&w&&d(p,w))return w}return new Result(!1)}},2777:(e,t,i)=>{var a=i(9565),s=i(34),n=i(757),r=i(5966),o=i(4270),l=i(8227),d=TypeError,c=l("toPrimitive");e.exports=function(e,t){if(!s(e)||n(e))return e;var i,l=r(e,c);if(l){void 0===t&&(t="default");i=a(l,e,t);if(!s(i)||n(i))return i;throw new d("Can't convert object to primitive value")}void 0===t&&(t="number");return o(e,t)}},2787:(e,t,i)=>{var a=i(9297),s=i(4901),n=i(8981),r=i(6119),o=i(2211),l=r("IE_PROTO"),d=Object,c=d.prototype;e.exports=o?d.getPrototypeOf:function(e){var t=n(e);if(a(t,l))return t[l];var i=t.constructor;return s(i)&&t instanceof i?i.prototype:t instanceof d?c:null}},2796:(e,t,i)=>{var a=i(9039),s=i(4901),n=/#|\.prototype\./,isForced=function(e,t){var i=o[r(e)];return i===d||i!==l&&(s(t)?a(t):!!t)},r=isForced.normalize=function(e){return String(e).replace(n,".").toLowerCase()},o=isForced.data={},l=isForced.NATIVE="N",d=isForced.POLYFILL="P";e.exports=isForced},2812:e=>{var t=TypeError;e.exports=function(e,i){if(e{var a=i(4576).navigator,s=a&&a.userAgent;e.exports=s?String(s):""},2967:(e,t,i)=>{var a=i(6706),s=i(34),n=i(7750),r=i(3506);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,i={};try{(e=a(Object.prototype,"__proto__","set"))(i,[]);t=i instanceof Array}catch(e){}return function setPrototypeOf(i,a){n(i);r(a);if(!s(i))return i;t?e(i,a):i.__proto__=a;return i}}():void 0)},3167:(e,t,i)=>{var a=i(4901),s=i(34),n=i(2967);e.exports=function(e,t,i){var r,o;n&&a(r=t.constructor)&&r!==i&&s(o=r.prototype)&&o!==i.prototype&&n(e,o);return e}},3238:(e,t,i)=>{var a=i(4576),s=i(7811),n=i(7394),r=a.DataView;e.exports=function(e){if(!s||0!==n(e))return!1;try{new r(e);return!1}catch(e){return!0}}},3392:(e,t,i)=>{var a=i(9504),s=0,n=Math.random(),r=a(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+r(++s+n,36)}},3440:(e,t,i)=>{var a=i(7080),s=i(4402),n=i(9286),r=i(5170),o=i(3789),l=i(8469),d=i(507),c=s.has,u=s.remove;e.exports=function difference(e){var t=a(this),i=o(e),s=n(t);r(t)<=i.size?l(t,(function(e){i.includes(e)&&u(s,e)})):d(i.getIterator(),(function(e){c(t,e)&&u(s,e)}));return s}},3506:(e,t,i)=>{var a=i(3925),s=String,n=TypeError;e.exports=function(e){if(a(e))return e;throw new n("Can't set "+s(e)+" as a prototype")}},3579:(e,t,i)=>{var a=i(6518),s=i(9565),n=i(2652),r=i(9306),o=i(8551),l=i(1767),d=i(9539),c=i(4549)("some",TypeError);a({target:"Iterator",proto:!0,real:!0,forced:c},{some:function some(e){o(this);try{r(e)}catch(e){d(this,"throw",e)}if(c)return s(c,this,e);var t=l(this),i=0;return n(t,(function(t,a){if(e(t,i++))return a()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},3607:(e,t,i)=>{var a=i(2839).match(/AppleWebKit\/(\d+)\./);e.exports=!!a&&+a[1]},3650:(e,t,i)=>{var a=i(7080),s=i(4402),n=i(9286),r=i(3789),o=i(507),l=s.add,d=s.has,c=s.remove;e.exports=function symmetricDifference(e){var t=a(this),i=r(e).getIterator(),s=n(t);o(i,(function(e){d(t,e)?c(s,e):l(s,e)}));return s}},3706:(e,t,i)=>{var a=i(9504),s=i(4901),n=i(7629),r=a(Function.toString);s(n.inspectSource)||(n.inspectSource=function(e){return r(e)});e.exports=n.inspectSource},3709:(e,t,i)=>{var a=i(2839).match(/firefox\/(\d+)/i);e.exports=!!a&&+a[1]},3717:(e,t)=>{t.f=Object.getOwnPropertySymbols},3724:(e,t,i)=>{var a=i(9039);e.exports=!a((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},3763:(e,t,i)=>{var a=i(2839);e.exports=/MSIE|Trident/.test(a)},3789:(e,t,i)=>{var a=i(9306),s=i(8551),n=i(9565),r=i(1291),o=i(1767),l="Invalid size",d=RangeError,c=TypeError,u=Math.max,SetRecord=function(e,t){this.set=e;this.size=u(t,0);this.has=a(e.has);this.keys=a(e.keys)};SetRecord.prototype={getIterator:function(){return o(s(n(this.keys,this.set)))},includes:function(e){return n(this.has,this.set,e)}};e.exports=function(e){s(e);var t=+e.size;if(t!=t)throw new c(l);var i=r(t);if(i<0)throw new d(l);return new SetRecord(e,i)}},3838:(e,t,i)=>{var a=i(7080),s=i(5170),n=i(8469),r=i(3789);e.exports=function isSubsetOf(e){var t=a(this),i=r(e);return!(s(t)>i.size)&&!1!==n(t,(function(e){if(!i.includes(e))return!1}),!0)}},3839:(e,t,i)=>{var a=i(6080),s=i(7055),n=i(8981),r=i(6198),createMethod=function(e){var t=1===e;return function(i,o,l){for(var d,c=n(i),u=s(c),h=r(u),_=a(o,l);h-- >0;)if(_(d=u[h],h,c))switch(e){case 0:return d;case 1:return h}return t?-1:void 0}};e.exports={findLast:createMethod(0),findLastIndex:createMethod(1)}},3853:(e,t,i)=>{var a=i(6518),s=i(4449);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("isDisjointFrom",(function(e){return!e}))},{isDisjointFrom:s})},3925:(e,t,i)=>{var a=i(34);e.exports=function(e){return a(e)||null===e}},4055:(e,t,i)=>{var a=i(4576),s=i(34),n=a.document,r=s(n)&&s(n.createElement);e.exports=function(e){return r?n.createElement(e):{}}},4114:(e,t,i)=>{var a=i(6518),s=i(8981),n=i(6198),r=i(4527),o=i(6837);a({target:"Array",proto:!0,arity:1,forced:i(9039)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function push(e){var t=s(this),i=n(t),a=arguments.length;o(i+a);for(var l=0;l{e.exports=function(e){return null==e}},4204:(e,t,i)=>{var a=i(7080),s=i(4402).add,n=i(9286),r=i(3789),o=i(507);e.exports=function union(e){var t=a(this),i=r(e).getIterator(),l=n(t);o(i,(function(e){s(l,e)}));return l}},4209:(e,t,i)=>{var a=i(8227),s=i(6269),n=a("iterator"),r=Array.prototype;e.exports=function(e){return void 0!==e&&(s.Array===e||r[n]===e)}},4215:(e,t,i)=>{var a=i(4576),s=i(2839),n=i(2195),userAgentStartsWith=function(e){return s.slice(0,e.length)===e};e.exports=userAgentStartsWith("Bun/")?"BUN":userAgentStartsWith("Cloudflare-Workers")?"CLOUDFLARE":userAgentStartsWith("Deno/")?"DENO":userAgentStartsWith("Node.js/")?"NODE":a.Bun&&"string"==typeof Bun.version?"BUN":a.Deno&&"object"==typeof Deno.version?"DENO":"process"===n(a.process)?"NODE":a.window&&a.document?"BROWSER":"REST"},4270:(e,t,i)=>{var a=i(9565),s=i(4901),n=i(34),r=TypeError;e.exports=function(e,t){var i,o;if("string"===t&&s(i=e.toString)&&!n(o=a(i,e)))return o;if(s(i=e.valueOf)&&!n(o=a(i,e)))return o;if("string"!==t&&s(i=e.toString)&&!n(o=a(i,e)))return o;throw new r("Can't convert object to primitive value")}},4373:(e,t,i)=>{var a=i(8981),s=i(5610),n=i(6198);e.exports=function fill(e){for(var t=a(this),i=n(t),r=arguments.length,o=s(r>1?arguments[1]:void 0,i),l=r>2?arguments[2]:void 0,d=void 0===l?i:s(l,i);d>o;)t[o++]=e;return t}},4376:(e,t,i)=>{var a=i(2195);e.exports=Array.isArray||function isArray(e){return"Array"===a(e)}},4402:(e,t,i)=>{var a=i(9504),s=Set.prototype;e.exports={Set,add:a(s.add),has:a(s.has),remove:a(s.delete),proto:s}},4449:(e,t,i)=>{var a=i(7080),s=i(4402).has,n=i(5170),r=i(3789),o=i(8469),l=i(507),d=i(9539);e.exports=function isDisjointFrom(e){var t=a(this),i=r(e);if(n(t)<=i.size)return!1!==o(t,(function(e){if(i.includes(e))return!1}),!0);var c=i.getIterator();return!1!==l(c,(function(e){if(s(t,e))return d(c,"normal",!1)}))}},4483:(e,t,i)=>{var a,s,n,r,o=i(4576),l=i(9429),d=i(1548),c=o.structuredClone,u=o.ArrayBuffer,h=o.MessageChannel,_=!1;if(d)_=function(e){c(e,{transfer:[e]})};else if(u)try{h||(a=l("worker_threads"))&&(h=a.MessageChannel);if(h){s=new h;n=new u(2);r=function(e){s.port1.postMessage(null,[e])};if(2===n.byteLength){r(n);0===n.byteLength&&(_=r)}}}catch(e){}e.exports=_},4488:(e,t,i)=>{var a=i(7680),s=Math.floor,sort=function(e,t){var i=e.length;if(i<8)for(var n,r,o=1;o0;)e[r]=e[--r];r!==o++&&(e[r]=n)}else for(var l=s(i/2),d=sort(a(e,0,l),t),c=sort(a(e,l),t),u=d.length,h=c.length,_=0,p=0;_{var a=i(9519),s=i(9039),n=i(4576).String;e.exports=!!Object.getOwnPropertySymbols&&!s((function(){var e=Symbol("symbol detection");return!n(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&a&&a<41}))},4527:(e,t,i)=>{var a=i(3724),s=i(4376),n=TypeError,r=Object.getOwnPropertyDescriptor,o=a&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=o?function(e,t){if(s(e)&&!r(e,"length").writable)throw new n("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},4549:(e,t,i)=>{var a=i(4576);e.exports=function(e,t){var i=a.Iterator,s=i&&i.prototype,n=s&&s[e],r=!1;if(n)try{n.call({next:function(){return{done:!0}},return:function(){r=!0}},-1)}catch(e){e instanceof t||(r=!1)}if(!r)return n}},4576:function(e){var check=function(e){return e&&e.Math===Math&&e};e.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof global&&global)||check("object"==typeof this&&this)||function(){return this}()||Function("return this")()},4601:(e,t,i)=>{var a=i(7751),s=i(9297),n=i(6699),r=i(1625),o=i(2967),l=i(7740),d=i(1056),c=i(3167),u=i(2603),h=i(7584),_=i(747),p=i(3724),g=i(6395);e.exports=function(e,t,i,f){var v="stackTraceLimit",m=f?2:1,w=e.split("."),b=w[w.length-1],P=a.apply(null,w);if(P){var y=P.prototype;!g&&s(y,"cause")&&delete y.cause;if(!i)return P;var C=a("Error"),S=t((function(e,t){var i=u(f?t:e,void 0),a=f?new P(e):new P;void 0!==i&&n(a,"message",i);_(a,S,a.stack,2);this&&r(y,this)&&c(a,this,S);arguments.length>m&&h(a,arguments[m]);return a}));S.prototype=y;if("Error"!==b)o?o(S,C):l(S,C,{name:!0});else if(p&&v in P){d(S,P,v);d(S,P,"prepareStackTrace")}l(S,P);if(!g)try{y.name!==b&&n(y,"name",b);y.constructor=S}catch(e){}return S}}},4603:(e,t,i)=>{var a=i(6840),s=i(9504),n=i(655),r=i(2812),o=URLSearchParams,l=o.prototype,d=s(l.append),c=s(l.delete),u=s(l.forEach),h=s([].push),_=new o("a=1&a=2&b=3");_.delete("a",1);_.delete("b",void 0);_+""!="a=2"&&a(l,"delete",(function(e){var t=arguments.length,i=t<2?void 0:arguments[1];if(t&&void 0===i)return c(this,e);var a=[];u(this,(function(e,t){h(a,{key:t,value:e})}));r(t,1);for(var s,o=n(e),l=n(i),_=0,p=0,g=!1,f=a.length;_{var a=i(6518),s=i(6043);a({target:"Promise",stat:!0},{withResolvers:function withResolvers(){var e=s.f(this);return{promise:e.promise,resolve:e.resolve,reject:e.reject}}})},4644:(e,t,i)=>{var a,s,n,r=i(7811),o=i(3724),l=i(4576),d=i(4901),c=i(34),u=i(9297),h=i(6955),_=i(6823),p=i(6699),g=i(6840),f=i(2106),v=i(1625),m=i(2787),w=i(2967),b=i(8227),P=i(3392),y=i(1181),C=y.enforce,S=y.get,x=l.Int8Array,E=x&&x.prototype,A=l.Uint8ClampedArray,k=A&&A.prototype,B=x&&m(x),T=E&&m(E),I=Object.prototype,D=l.TypeError,M=b("toStringTag"),L=P("TYPED_ARRAY_TAG"),G="TypedArrayConstructor",O=r&&!!w&&"Opera"!==h(l.opera),N=!1,R={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},j={BigInt64Array:8,BigUint64Array:8},getTypedArrayConstructor=function(e){var t=m(e);if(c(t)){var i=S(t);return i&&u(i,G)?i[G]:getTypedArrayConstructor(t)}},isTypedArray=function(e){if(!c(e))return!1;var t=h(e);return u(R,t)||u(j,t)};for(a in R)(n=(s=l[a])&&s.prototype)?C(n)[G]=s:O=!1;for(a in j)(n=(s=l[a])&&s.prototype)&&(C(n)[G]=s);if(!O||!d(B)||B===Function.prototype){B=function TypedArray(){throw new D("Incorrect invocation")};if(O)for(a in R)l[a]&&w(l[a],B)}if(!O||!T||T===I){T=B.prototype;if(O)for(a in R)l[a]&&w(l[a].prototype,T)}O&&m(k)!==T&&w(k,T);if(o&&!u(T,M)){N=!0;f(T,M,{configurable:!0,get:function(){return c(this)?this[L]:void 0}});for(a in R)l[a]&&p(l[a],L,a)}e.exports={NATIVE_ARRAY_BUFFER_VIEWS:O,TYPED_ARRAY_TAG:N&&L,aTypedArray:function(e){if(isTypedArray(e))return e;throw new D("Target is not a typed array")},aTypedArrayConstructor:function(e){if(d(e)&&(!w||v(B,e)))return e;throw new D(_(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,i,a){if(o){if(i)for(var s in R){var n=l[s];if(n&&u(n.prototype,e))try{delete n.prototype[e]}catch(i){try{n.prototype[e]=t}catch(e){}}}T[e]&&!i||g(T,e,i?t:O&&E[e]||t,a)}},exportTypedArrayStaticMethod:function(e,t,i){var a,s;if(o){if(w){if(i)for(a in R)if((s=l[a])&&u(s,e))try{delete s[e]}catch(e){}if(B[e]&&!i)return;try{return g(B,e,i?t:O&&B[e]||t)}catch(e){}}for(a in R)!(s=l[a])||s[e]&&!i||g(s,e,t)}},getTypedArrayConstructor,isView:function isView(e){if(!c(e))return!1;var t=h(e);return"DataView"===t||u(R,t)||u(j,t)},isTypedArray,TypedArray:B,TypedArrayPrototype:T}},4659:(e,t,i)=>{var a=i(9039),s=i(6980);e.exports=!a((function(){var e=new Error("a");if(!("stack"in e))return!0;Object.defineProperty(e,"stack",s(1,7));return 7!==e.stack}))},4732:(e,t,i)=>{var a=i(4644),s=i(9504),n=i(9306),r=i(5370),o=a.aTypedArray,l=a.getTypedArrayConstructor,d=a.exportTypedArrayMethod,c=s(a.TypedArrayPrototype.sort);d("toSorted",(function toSorted(e){void 0!==e&&n(e);var t=o(this),i=r(l(t),t);return c(i,e)}))},4901:e=>{var t="object"==typeof document&&document.all;e.exports=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(e){return"function"==typeof e}},4913:(e,t,i)=>{var a=i(3724),s=i(5917),n=i(8686),r=i(8551),o=i(6969),l=TypeError,d=Object.defineProperty,c=Object.getOwnPropertyDescriptor,u="enumerable",h="configurable",_="writable";t.f=a?n?function defineProperty(e,t,i){r(e);t=o(t);r(i);if("function"==typeof e&&"prototype"===t&&"value"in i&&_ in i&&!i[_]){var a=c(e,t);if(a&&a[_]){e[t]=i.value;i={configurable:h in i?i[h]:a[h],enumerable:u in i?i[u]:a[u],writable:!1}}}return d(e,t,i)}:d:function defineProperty(e,t,i){r(e);t=o(t);r(i);if(s)try{return d(e,t,i)}catch(e){}if("get"in i||"set"in i)throw new l("Accessors not supported");"value"in i&&(e[t]=i.value);return e}},4916:(e,t,i)=>{var a=i(7751),createSetLike=function(e){return{size:e,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},createSetLikeWithInfinitySize=function(e){return{size:e,has:function(){return!0},keys:function(){throw new Error("e")}}};e.exports=function(e,t){var i=a("Set");try{(new i)[e](createSetLike(0));try{(new i)[e](createSetLike(-1));return!1}catch(a){if(!t)return!0;try{(new i)[e](createSetLikeWithInfinitySize(-1/0));return!1}catch(a){var s=new i;s.add(1);s.add(2);return t(s[e](createSetLikeWithInfinitySize(1/0)))}}}catch(e){return!1}}},5024:(e,t,i)=>{var a=i(6518),s=i(3650);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("symmetricDifference")},{symmetricDifference:s})},5031:(e,t,i)=>{var a=i(7751),s=i(9504),n=i(8480),r=i(3717),o=i(8551),l=s([].concat);e.exports=a("Reflect","ownKeys")||function ownKeys(e){var t=n.f(o(e)),i=r.f;return i?l(t,i(e)):t}},5044:(e,t,i)=>{var a=i(4644),s=i(4373),n=i(5854),r=i(6955),o=i(9565),l=i(9504),d=i(9039),c=a.aTypedArray,u=a.exportTypedArrayMethod,h=l("".slice);u("fill",(function fill(e){var t=arguments.length;c(this);var i="Big"===h(r(this),0,3)?n(e):+e;return o(s,this,i,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),d((function(){var e=0;new Int8Array(2).fill({valueOf:function(){return e++}});return 1!==e})))},5169:(e,t,i)=>{var a=i(3238),s=TypeError;e.exports=function(e){if(a(e))throw new s("ArrayBuffer is detached");return e}},5170:(e,t,i)=>{var a=i(6706),s=i(4402);e.exports=a(s.proto,"size","get")||function(e){return e.size}},5370:(e,t,i)=>{var a=i(6198);e.exports=function(e,t,i){for(var s=0,n=arguments.length>2?i:a(t),r=new e(n);n>s;)r[s]=t[s++];return r}},5397:(e,t,i)=>{var a=i(7055),s=i(7750);e.exports=function(e){return a(s(e))}},5610:(e,t,i)=>{var a=i(1291),s=Math.max,n=Math.min;e.exports=function(e,t){var i=a(e);return i<0?s(i+t,0):n(i,t)}},5636:(e,t,i)=>{var a=i(4576),s=i(9504),n=i(6706),r=i(7696),o=i(5169),l=i(7394),d=i(4483),c=i(1548),u=a.structuredClone,h=a.ArrayBuffer,_=a.DataView,p=Math.min,g=h.prototype,f=_.prototype,v=s(g.slice),m=n(g,"resizable","get"),w=n(g,"maxByteLength","get"),b=s(f.getInt8),P=s(f.setInt8);e.exports=(c||d)&&function(e,t,i){var a,s=l(e),n=void 0===t?s:r(t),g=!m||!m(e);o(e);if(c){e=u(e,{transfer:[e]});if(s===n&&(i||g))return e}if(s>=n&&(!i||g))a=v(e,0,n);else{var f=i&&!g&&w?{maxByteLength:w(e)}:void 0;a=new h(n,f);for(var y=new _(e),C=new _(a),S=p(n,s),x=0;x{var a=i(7629);e.exports=function(e,t){return a[e]||(a[e]=t||{})}},5781:(e,t,i)=>{var a=i(6518),s=i(7751),n=i(2812),r=i(655),o=i(7416),l=s("URL");a({target:"URL",stat:!0,forced:!o},{parse:function parse(e){var t=n(arguments.length,1),i=r(e),a=t<2||void 0===arguments[1]?void 0:r(arguments[1]);try{return new l(i,a)}catch(e){return null}}})},5854:(e,t,i)=>{var a=i(2777),s=TypeError;e.exports=function(e){var t=a(e,"number");if("number"==typeof t)throw new s("Can't convert number to bigint");return BigInt(t)}},5876:(e,t,i)=>{var a=i(6518),s=i(3838);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("isSubsetOf",(function(e){return e}))},{isSubsetOf:s})},5917:(e,t,i)=>{var a=i(3724),s=i(9039),n=i(4055);e.exports=!a&&!s((function(){return 7!==Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a}))},5966:(e,t,i)=>{var a=i(9306),s=i(4117);e.exports=function(e,t){var i=e[t];return s(i)?void 0:a(i)}},6043:(e,t,i)=>{var a=i(9306),s=TypeError,PromiseCapability=function(e){var t,i;this.promise=new e((function(e,a){if(void 0!==t||void 0!==i)throw new s("Bad Promise constructor");t=e;i=a}));this.resolve=a(t);this.reject=a(i)};e.exports.f=function(e){return new PromiseCapability(e)}},6080:(e,t,i)=>{var a=i(7476),s=i(9306),n=i(616),r=a(a.bind);e.exports=function(e,t){s(e);return void 0===t?e:n?r(e,t):function(){return e.apply(t,arguments)}}},6119:(e,t,i)=>{var a=i(5745),s=i(3392),n=a("keys");e.exports=function(e){return n[e]||(n[e]=s(e))}},6193:(e,t,i)=>{var a=i(9504),s=Error,n=a("".replace),r=String(new s("zxcasd").stack),o=/\n\s*at [^:]*:[^\n]*/,l=o.test(r);e.exports=function(e,t){if(l&&"string"==typeof e&&!s.prepareStackTrace)for(;t--;)e=n(e,o,"");return e}},6198:(e,t,i)=>{var a=i(8014);e.exports=function(e){return a(e.length)}},6269:e=>{e.exports={}},6279:(e,t,i)=>{var a=i(6840);e.exports=function(e,t,i){for(var s in t)a(e,s,t[s],i);return e}},6280:(e,t,i)=>{var a=i(6518),s=i(4576),n=i(8745),r=i(4601),o="WebAssembly",l=s[o],d=7!==new Error("e",{cause:7}).cause,exportGlobalErrorCauseWrapper=function(e,t){var i={};i[e]=r(e,t,d);a({global:!0,constructor:!0,arity:1,forced:d},i)},exportWebAssemblyErrorCauseWrapper=function(e,t){if(l&&l[e]){var i={};i[e]=r(o+"."+e,t,d);a({target:o,stat:!0,constructor:!0,arity:1,forced:d},i)}};exportGlobalErrorCauseWrapper("Error",(function(e){return function Error(t){return n(e,this,arguments)}}));exportGlobalErrorCauseWrapper("EvalError",(function(e){return function EvalError(t){return n(e,this,arguments)}}));exportGlobalErrorCauseWrapper("RangeError",(function(e){return function RangeError(t){return n(e,this,arguments)}}));exportGlobalErrorCauseWrapper("ReferenceError",(function(e){return function ReferenceError(t){return n(e,this,arguments)}}));exportGlobalErrorCauseWrapper("SyntaxError",(function(e){return function SyntaxError(t){return n(e,this,arguments)}}));exportGlobalErrorCauseWrapper("TypeError",(function(e){return function TypeError(t){return n(e,this,arguments)}}));exportGlobalErrorCauseWrapper("URIError",(function(e){return function URIError(t){return n(e,this,arguments)}}));exportWebAssemblyErrorCauseWrapper("CompileError",(function(e){return function CompileError(t){return n(e,this,arguments)}}));exportWebAssemblyErrorCauseWrapper("LinkError",(function(e){return function LinkError(t){return n(e,this,arguments)}}));exportWebAssemblyErrorCauseWrapper("RuntimeError",(function(e){return function RuntimeError(t){return n(e,this,arguments)}}))},6319:(e,t,i)=>{var a=i(8551),s=i(9539);e.exports=function(e,t,i,n){try{return n?t(a(i)[0],i[1]):t(i)}catch(t){s(e,"throw",t)}}},6395:e=>{e.exports=!1},6469:(e,t,i)=>{var a=i(8227),s=i(2360),n=i(4913).f,r=a("unscopables"),o=Array.prototype;void 0===o[r]&&n(o,r,{configurable:!0,value:s(null)});e.exports=function(e){o[r][e]=!0}},6518:(e,t,i)=>{var a=i(4576),s=i(7347).f,n=i(6699),r=i(6840),o=i(9433),l=i(7740),d=i(2796);e.exports=function(e,t){var i,c,u,h,_,p=e.target,g=e.global,f=e.stat;if(i=g?a:f?a[p]||o(p,{}):a[p]&&a[p].prototype)for(c in t){h=t[c];u=e.dontCallGetSet?(_=s(i,c))&&_.value:i[c];if(!d(g?c:p+(f?".":"#")+c,e.forced)&&void 0!==u){if(typeof h==typeof u)continue;l(h,u)}(e.sham||u&&u.sham)&&n(h,"sham",!0);r(i,c,h,e)}}},6573:(e,t,i)=>{var a=i(3724),s=i(2106),n=i(3238),r=ArrayBuffer.prototype;a&&!("detached"in r)&&s(r,"detached",{configurable:!0,get:function detached(){return n(this)}})},6699:(e,t,i)=>{var a=i(3724),s=i(4913),n=i(6980);e.exports=a?function(e,t,i){return s.f(e,t,n(1,i))}:function(e,t,i){e[t]=i;return e}},6706:(e,t,i)=>{var a=i(9504),s=i(9306);e.exports=function(e,t,i){try{return a(s(Object.getOwnPropertyDescriptor(e,t)[i]))}catch(e){}}},6801:(e,t,i)=>{var a=i(3724),s=i(8686),n=i(4913),r=i(8551),o=i(5397),l=i(1072);t.f=a&&!s?Object.defineProperties:function defineProperties(e,t){r(e);for(var i,a=o(t),s=l(t),d=s.length,c=0;d>c;)n.f(e,i=s[c++],a[i]);return e}},6823:e=>{var t=String;e.exports=function(e){try{return t(e)}catch(e){return"Object"}}},6837:e=>{var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw t("Maximum allowed index exceeded");return e}},6840:(e,t,i)=>{var a=i(4901),s=i(4913),n=i(283),r=i(9433);e.exports=function(e,t,i,o){o||(o={});var l=o.enumerable,d=void 0!==o.name?o.name:t;a(i)&&n(i,d,o);if(o.global)l?e[t]=i:r(t,i);else{try{o.unsafe?e[t]&&(l=!0):delete e[t]}catch(e){}l?e[t]=i:s.f(e,t,{value:i,enumerable:!1,configurable:!o.nonConfigurable,writable:!o.nonWritable})}return e}},6955:(e,t,i)=>{var a=i(2140),s=i(4901),n=i(2195),r=i(8227)("toStringTag"),o=Object,l="Arguments"===n(function(){return arguments}());e.exports=a?n:function(e){var t,i,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,t){try{return e[t]}catch(e){}}(t=o(e),r))?i:l?n(t):"Object"===(a=n(t))&&s(t.callee)?"Arguments":a}},6969:(e,t,i)=>{var a=i(2777),s=i(757);e.exports=function(e){var t=a(e,"string");return s(t)?t:t+""}},6980:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},7040:(e,t,i)=>{var a=i(4495);e.exports=a&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},7055:(e,t,i)=>{var a=i(9504),s=i(9039),n=i(2195),r=Object,o=a("".split);e.exports=s((function(){return!r("z").propertyIsEnumerable(0)}))?function(e){return"String"===n(e)?o(e,""):r(e)}:r},7080:(e,t,i)=>{var a=i(4402).has;e.exports=function(e){a(e);return e}},7347:(e,t,i)=>{var a=i(3724),s=i(9565),n=i(8773),r=i(6980),o=i(5397),l=i(6969),d=i(9297),c=i(5917),u=Object.getOwnPropertyDescriptor;t.f=a?u:function getOwnPropertyDescriptor(e,t){e=o(e);t=l(t);if(c)try{return u(e,t)}catch(e){}if(d(e,t))return r(!s(n.f,e,t),e[t])}},7357:(e,t,i)=>{var a=i(6518),s=i(9504),n=i(7750),r=i(1291),o=i(655),l=i(9039),d=s("".charAt);a({target:"String",proto:!0,forced:l((function(){return"\ud842"!=="𠮷".at(-2)}))},{at:function at(e){var t=o(n(this)),i=t.length,a=r(e),s=a>=0?a:i+a;return s<0||s>=i?void 0:d(t,s)}})},7394:(e,t,i)=>{var a=i(4576),s=i(6706),n=i(2195),r=a.ArrayBuffer,o=a.TypeError;e.exports=r&&s(r.prototype,"byteLength","get")||function(e){if("ArrayBuffer"!==n(e))throw new o("ArrayBuffer expected");return e.byteLength}},7416:(e,t,i)=>{var a=i(9039),s=i(8227),n=i(3724),r=i(6395),o=s("iterator");e.exports=!a((function(){var e=new URL("b?a=1&b=2&c=3","https://a"),t=e.searchParams,i=new URLSearchParams("a=1&a=2&b=3"),a="";e.pathname="c%20d";t.forEach((function(e,i){t.delete("b");a+=i+e}));i.delete("a",2);i.delete("b",void 0);return r&&(!e.toJSON||!i.has("a",1)||i.has("a",2)||!i.has("a",void 0)||i.has("b"))||!t.size&&(r||!n)||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[o]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==a||"x"!==new URL("https://x",void 0).host}))},7467:(e,t,i)=>{var a=i(7628),s=i(4644),n=s.aTypedArray,r=s.exportTypedArrayMethod,o=s.getTypedArrayConstructor;r("toReversed",(function toReversed(){return a(n(this),o(this))}))},7476:(e,t,i)=>{var a=i(2195),s=i(9504);e.exports=function(e){if("Function"===a(e))return s(e)}},7566:(e,t,i)=>{var a=i(6840),s=i(9504),n=i(655),r=i(2812),o=URLSearchParams,l=o.prototype,d=s(l.getAll),c=s(l.has),u=new o("a=1");!u.has("a",2)&&u.has("a",void 0)||a(l,"has",(function has(e){var t=arguments.length,i=t<2?void 0:arguments[1];if(t&&void 0===i)return c(this,e);var a=d(this,e);r(t,1);for(var s=n(i),o=0;o{var a=i(34),s=i(6699);e.exports=function(e,t){a(t)&&"cause"in t&&s(e,"cause",t.cause)}},7588:(e,t,i)=>{var a=i(6518),s=i(9565),n=i(2652),r=i(9306),o=i(8551),l=i(1767),d=i(9539),c=i(4549)("forEach",TypeError);a({target:"Iterator",proto:!0,real:!0,forced:c},{forEach:function forEach(e){o(this);try{r(e)}catch(e){d(this,"throw",e)}if(c)return s(c,this,e);var t=l(this),i=0;n(t,(function(t){e(t,i++)}),{IS_RECORD:!0})}})},7628:(e,t,i)=>{var a=i(6198);e.exports=function(e,t){for(var i=a(e),s=new t(i),n=0;n{var a=i(6395),s=i(4576),n=i(9433),r="__core-js_shared__",o=e.exports=s[r]||n(r,{});(o.versions||(o.versions=[])).push({version:"3.42.0",mode:a?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.42.0/LICENSE",source:"https://github.com/zloirock/core-js"})},7642:(e,t,i)=>{var a=i(6518),s=i(3440);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("difference",(function(e){return 0===e.size}))},{difference:s})},7657:(e,t,i)=>{var a,s,n,r=i(9039),o=i(4901),l=i(34),d=i(2360),c=i(2787),u=i(6840),h=i(8227),_=i(6395),p=h("iterator"),g=!1;[].keys&&("next"in(n=[].keys())?(s=c(c(n)))!==Object.prototype&&(a=s):g=!0);!l(a)||r((function(){var e={};return a[p].call(e)!==e}))?a={}:_&&(a=d(a));o(a[p])||u(a,p,(function(){return this}));e.exports={IteratorPrototype:a,BUGGY_SAFARI_ITERATORS:g}},7680:(e,t,i)=>{var a=i(9504);e.exports=a([].slice)},7696:(e,t,i)=>{var a=i(1291),s=i(8014),n=RangeError;e.exports=function(e){if(void 0===e)return 0;var t=a(e),i=s(t);if(t!==i)throw new n("Wrong length or index");return i}},7740:(e,t,i)=>{var a=i(9297),s=i(5031),n=i(7347),r=i(4913);e.exports=function(e,t,i){for(var o=s(t),l=r.f,d=n.f,c=0;c{var a=i(4117),s=TypeError;e.exports=function(e){if(a(e))throw new s("Can't call method on "+e);return e}},7751:(e,t,i)=>{var a=i(4576),s=i(4901);e.exports=function(e,t){return arguments.length<2?(i=a[e],s(i)?i:void 0):a[e]&&a[e][t];var i}},7811:e=>{e.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},7936:(e,t,i)=>{var a=i(6518),s=i(5636);s&&a({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function transferToFixedLength(){return s(this,arguments.length?arguments[0]:void 0,!1)}})},8004:(e,t,i)=>{var a=i(6518),s=i(9039),n=i(8750);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("intersection",(function(e){return 2===e.size&&e.has(1)&&e.has(2)}))||s((function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))}))},{intersection:n})},8014:(e,t,i)=>{var a=i(1291),s=Math.min;e.exports=function(e){var t=a(e);return t>0?s(t,9007199254740991):0}},8100:(e,t,i)=>{var a=i(6518),s=i(5636);s&&a({target:"ArrayBuffer",proto:!0},{transfer:function transfer(){return s(this,arguments.length?arguments[0]:void 0,!0)}})},8107:(e,t,i)=>{var a=i(6518),s=i(8981),n=i(6198),r=i(1291),o=i(6469);a({target:"Array",proto:!0},{at:function at(e){var t=s(this),i=n(t),a=r(e),o=a>=0?a:i+a;return o<0||o>=i?void 0:t[o]}});o("at")},8111:(e,t,i)=>{var a=i(6518),s=i(4576),n=i(679),r=i(8551),o=i(4901),l=i(2787),d=i(2106),c=i(2278),u=i(9039),h=i(9297),_=i(8227),p=i(7657).IteratorPrototype,g=i(3724),f=i(6395),v="constructor",m="Iterator",w=_("toStringTag"),b=TypeError,P=s[m],y=f||!o(P)||P.prototype!==p||!u((function(){P({})})),C=function Iterator(){n(this,p);if(l(this)===p)throw new b("Abstract class Iterator not directly constructable")},defineIteratorPrototypeAccessor=function(e,t){g?d(p,e,{configurable:!0,get:function(){return t},set:function(t){r(this);if(this===p)throw new b("You can't redefine this property");h(this,e)?this[e]=t:c(this,e,t)}}):p[e]=t};h(p,w)||defineIteratorPrototypeAccessor(w,m);!y&&h(p,v)&&p[v]!==Object||defineIteratorPrototypeAccessor(v,C);C.prototype=p;a({global:!0,constructor:!0,forced:y},{Iterator:C})},8140:(e,t,i)=>{var a=i(4644),s=i(6198),n=i(1291),r=a.aTypedArray;(0,a.exportTypedArrayMethod)("at",(function at(e){var t=r(this),i=s(t),a=n(e),o=a>=0?a:i+a;return o<0||o>=i?void 0:t[o]}))},8227:(e,t,i)=>{var a=i(4576),s=i(5745),n=i(9297),r=i(3392),o=i(4495),l=i(7040),d=a.Symbol,c=s("wks"),u=l?d.for||d:d&&d.withoutSetter||r;e.exports=function(e){n(c,e)||(c[e]=o&&n(d,e)?d[e]:u("Symbol."+e));return c[e]}},8229:(e,t,i)=>{var a=i(9590),s=RangeError;e.exports=function(e,t){var i=a(e);if(i%t)throw new s("Wrong offset");return i}},8235:(e,t,i)=>{var a=i(9504),s=i(9297),n=SyntaxError,r=parseInt,o=String.fromCharCode,l=a("".charAt),d=a("".slice),c=a(/./.exec),u={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":"\t"},h=/^[\da-f]{4}$/i,_=/^[\u0000-\u001F]$/;e.exports=function(e,t){for(var i=!0,a="";t{var a=i(6518),s=i(3724),n=i(4576),r=i(7751),o=i(9504),l=i(9565),d=i(4901),c=i(34),u=i(4376),h=i(9297),_=i(655),p=i(6198),g=i(2278),f=i(9039),v=i(8235),m=i(4495),w=n.JSON,b=n.Number,P=n.SyntaxError,y=w&&w.parse,C=r("Object","keys"),S=Object.getOwnPropertyDescriptor,x=o("".charAt),E=o("".slice),A=o(/./.exec),k=o([].push),B=/^\d$/,T=/^[1-9]$/,I=/^[\d-]$/,D=/^[\t\n\r ]$/,internalize=function(e,t,i,a){var s,n,r,o,d,_=e[t],g=a&&_===a.value,f=g&&"string"==typeof a.source?{source:a.source}:{};if(c(_)){var v=u(_),m=g?a.nodes:v?[]:{};if(v){s=m.length;r=p(_);for(o=0;o{var a=i(9504),s=i(507),n=i(4402),r=n.Set,o=n.proto,l=a(o.forEach),d=a(o.keys),c=d(new r).next;e.exports=function(e,t,i){return i?s({iterator:d(e),next:c},t):l(e,t)}},8480:(e,t,i)=>{var a=i(1828),s=i(8727).concat("length","prototype");t.f=Object.getOwnPropertyNames||function getOwnPropertyNames(e){return a(e,s)}},8527:(e,t,i)=>{var a=i(7080),s=i(4402).has,n=i(5170),r=i(3789),o=i(507),l=i(9539);e.exports=function isSupersetOf(e){var t=a(this),i=r(e);if(n(t){var a=i(34),s=String,n=TypeError;e.exports=function(e){if(a(e))return e;throw new n(s(e)+" is not an object")}},8574:(e,t,i)=>{var a=i(4215);e.exports="NODE"===a},8622:(e,t,i)=>{var a=i(4576),s=i(4901),n=a.WeakMap;e.exports=s(n)&&/native code/.test(String(n))},8686:(e,t,i)=>{var a=i(3724),s=i(9039);e.exports=a&&s((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},8721:(e,t,i)=>{var a=i(3724),s=i(9504),n=i(2106),r=URLSearchParams.prototype,o=s(r.forEach);a&&!("size"in r)&&n(r,"size",{get:function size(){var e=0;o(this,(function(){e++}));return e},configurable:!0,enumerable:!0})},8727:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},8745:(e,t,i)=>{var a=i(616),s=Function.prototype,n=s.apply,r=s.call;e.exports="object"==typeof Reflect&&Reflect.apply||(a?r.bind(n):function(){return r.apply(n,arguments)})},8750:(e,t,i)=>{var a=i(7080),s=i(4402),n=i(5170),r=i(3789),o=i(8469),l=i(507),d=s.Set,c=s.add,u=s.has;e.exports=function intersection(e){var t=a(this),i=r(e),s=new d;n(t)>i.size?l(i.getIterator(),(function(e){u(t,e)&&c(s,e)})):o(t,(function(e){i.includes(e)&&c(s,e)}));return s}},8773:(e,t)=>{var i={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,s=a&&!i.call({1:2},1);t.f=s?function propertyIsEnumerable(e){var t=a(this,e);return!!t&&t.enumerable}:i},8845:(e,t,i)=>{var a=i(4576),s=i(9565),n=i(4644),r=i(6198),o=i(8229),l=i(8981),d=i(9039),c=a.RangeError,u=a.Int8Array,h=u&&u.prototype,_=h&&h.set,p=n.aTypedArray,g=n.exportTypedArrayMethod,f=!d((function(){var e=new Uint8ClampedArray(2);s(_,e,{length:1,0:3},1);return 3!==e[1]})),v=f&&n.NATIVE_ARRAY_BUFFER_VIEWS&&d((function(){var e=new u(2);e.set(1);e.set("2",1);return 0!==e[0]||2!==e[1]}));g("set",(function set(e){p(this);var t=o(arguments.length>1?arguments[1]:void 0,1),i=l(e);if(f)return s(_,this,i,t);var a=this.length,n=r(i),d=0;if(n+t>a)throw new c("Wrong length");for(;d{var a=i(7750),s=Object;e.exports=function(e){return s(a(e))}},9039:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},9286:(e,t,i)=>{var a=i(4402),s=i(8469),n=a.Set,r=a.add;e.exports=function(e){var t=new n;s(e,(function(e){r(t,e)}));return t}},9297:(e,t,i)=>{var a=i(9504),s=i(8981),n=a({}.hasOwnProperty);e.exports=Object.hasOwn||function hasOwn(e,t){return n(s(e),t)}},9306:(e,t,i)=>{var a=i(4901),s=i(6823),n=TypeError;e.exports=function(e){if(a(e))return e;throw new n(s(e)+" is not a function")}},9429:(e,t,i)=>{var a=i(4576),s=i(8574);e.exports=function(e){if(s){try{return a.process.getBuiltinModule(e)}catch(e){}try{return Function('return require("'+e+'")')()}catch(e){}}}},9433:(e,t,i)=>{var a=i(4576),s=Object.defineProperty;e.exports=function(e,t){try{s(a,e,{value:t,configurable:!0,writable:!0})}catch(i){a[e]=t}return t}},9462:(e,t,i)=>{var a=i(9565),s=i(2360),n=i(6699),r=i(6279),o=i(8227),l=i(1181),d=i(5966),c=i(7657).IteratorPrototype,u=i(2529),h=i(9539),_=o("toStringTag"),p="IteratorHelper",g="WrapForValidIterator",f=l.set,createIteratorProxyPrototype=function(e){var t=l.getterFor(e?g:p);return r(s(c),{next:function next(){var i=t(this);if(e)return i.nextHandler();if(i.done)return u(void 0,!0);try{var a=i.nextHandler();return i.returnHandlerResult?a:u(a,i.done)}catch(e){i.done=!0;throw e}},return:function(){var i=t(this),s=i.iterator;i.done=!0;if(e){var n=d(s,"return");return n?a(n,s):u(void 0,!0)}if(i.inner)try{h(i.inner.iterator,"normal")}catch(e){return h(s,"throw",e)}s&&h(s,"normal");return u(void 0,!0)}})},v=createIteratorProxyPrototype(!0),m=createIteratorProxyPrototype(!1);n(m,_,"Iterator Helper");e.exports=function(e,t,i){var a=function Iterator(a,s){if(s){s.iterator=a.iterator;s.next=a.next}else s=a;s.type=t?g:p;s.returnHandlerResult=!!i;s.nextHandler=e;s.counter=0;s.done=!1;f(this,s)};a.prototype=t?v:m;return a}},9504:(e,t,i)=>{var a=i(616),s=Function.prototype,n=s.call,r=a&&s.bind.bind(n,n);e.exports=a?r:function(e){return function(){return n.apply(e,arguments)}}},9519:(e,t,i)=>{var a,s,n=i(4576),r=i(2839),o=n.process,l=n.Deno,d=o&&o.versions||l&&l.version,c=d&&d.v8;c&&(s=(a=c.split("."))[0]>0&&a[0]<4?1:+(a[0]+a[1]));!s&&r&&(!(a=r.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=r.match(/Chrome\/(\d+)/))&&(s=+a[1]);e.exports=s},9539:(e,t,i)=>{var a=i(9565),s=i(8551),n=i(5966);e.exports=function(e,t,i){var r,o;s(e);try{if(!(r=n(e,"return"))){if("throw"===t)throw i;return i}r=a(r,e)}catch(e){o=!0;r=e}if("throw"===t)throw i;if(o)throw r;s(r);return i}},9565:(e,t,i)=>{var a=i(616),s=Function.prototype.call;e.exports=a?s.bind(s):function(){return s.apply(s,arguments)}},9577:(e,t,i)=>{var a=i(9928),s=i(4644),n=i(1108),r=i(1291),o=i(5854),l=s.aTypedArray,d=s.getTypedArrayConstructor,c=s.exportTypedArrayMethod,u=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(e){return 8===e}}();c("with",{with:function(e,t){var i=l(this),s=r(e),c=n(i)?o(t):+t;return a(i,d(i),s,c)}}.with,!u)},9590:(e,t,i)=>{var a=i(1291),s=RangeError;e.exports=function(e){var t=a(e);if(t<0)throw new s("The argument can't be less than 0");return t}},9617:(e,t,i)=>{var a=i(5397),s=i(5610),n=i(6198),createMethod=function(e){return function(t,i,r){var o=a(t),l=n(o);if(0===l)return!e&&-1;var d,c=s(r,l);if(e&&i!=i){for(;l>c;)if((d=o[c++])!=d)return!0}else for(;l>c;c++)if((e||c in o)&&o[c]===i)return e||c||0;return!e&&-1}};e.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},9928:(e,t,i)=>{var a=i(6198),s=i(1291),n=RangeError;e.exports=function(e,t,i,r){var o=a(e),l=s(i),d=l<0?o+l:l;if(d>=o||d<0)throw new n("Incorrect index");for(var c=new t(o),u=0;u2&&void 0!==arguments[2]&&arguments[2],a=e.offsetParent;if(!a)return;let s=e.offsetTop,n=e.offsetLeft;for(;a.clientHeight===a.scrollHeight&&a.clientWidth===a.scrollWidth||i&&(a.classList.contains("markedContent")||"hidden"===getComputedStyle(a).overflow);){s+=a.offsetTop;n+=a.offsetLeft;a=a.offsetParent;if(!a)return}if(t){void 0!==t.top&&(s+=t.top);if(void 0!==t.left){n+=t.left;a.scrollLeft=n}}a.scrollTop=s}function watchScroll(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const debounceScroll=function(i){s||(s=activeWindow.requestAnimationFrame((function viewAreaElementScrolled(){s=null;const i=e.scrollLeft,n=a.lastX;i!==n&&(a.right=i>n);a.lastX=i;const r=e.scrollTop,o=a.lastY;r!==o&&(a.down=r>o);a.lastY=r;t(a)})))},a={right:!0,down:!0,lastX:e.scrollLeft,lastY:e.scrollTop,_eventHandler:debounceScroll};let s=null;e.addEventListener("scroll",debounceScroll,{useCapture:!0,signal:i});i?.addEventListener("abort",(()=>activeWindow.cancelAnimationFrame(s)),{once:!0});return a}function parseQueryString(e){const t=new Map;for(const[i,a]of new URLSearchParams(e))t.set(i.toLowerCase(),a);return t}const Ce=/[\x00-\x1F]/g;function removeNullCharacters(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Ce.test(e)?t?e.replaceAll(Ce,(e=>"\0"===e?"":" ")):e.replaceAll("\0",""):e}function binarySearchFirstItem(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.length-1;if(a<0||!t(e[a]))return e.length;if(t(e[i]))return i;for(;i>1;t(e[s])?a=s:i=s+1}return i}function approximateFraction(e){if(Math.floor(e)===e)return[e,1];const t=1/e;if(t>8)return[1,8];if(Math.floor(t)===t)return[1,t];const i=e>1?t:e;let a,s=0,n=1,r=1,o=1;for(;;){const e=s+r,t=n+o;if(t>8)break;if(i<=e/t){r=e;o=t}else{s=e;n=t}}a=i-s/nl}:function isElementBottomAfterViewTop(e){const t=e.div;return t.offsetTop+t.clientTop+t.clientHeight>r});_>0&&_=i){a=t[e-1].div;s=a.offsetTop+a.clientTop}for(let i=e-2;i>=0;--i){a=t[i].div;if(a.offsetTop+a.clientTop+a.clientHeight<=s)break;e=i}return e}(_,i,r));let p=s?d:-1;for(let e=_;e=o&&(p=v);else if((s?n:h)>p)break;if(v<=r||h>=o||f<=l||n>=d)continue;const m=Math.max(0,r-h),w=Math.max(0,l-n),b=m+Math.max(0,v-o),P=(_-(w+Math.max(0,f-d)))/_,y=(g-b)/g*P*100|0;c.push({id:t.id,x:n,y:h,visibleArea:100===y?null:{minX:w,minY:m,maxX:Math.min(f,d)-n,maxY:Math.min(v,o)-h},view:t,percent:y,widthPercent:100*P|0});u.add(t.id)}const g=c[0],f=c.at(-1);a&&c.sort((function(e,t){const i=e.percent-t.percent;return Math.abs(i)>.001?-i:e.id-t.id}));return{first:g,last:f,views:c,ids:u}}function normalizeWheelEventDirection(e){let t=Math.hypot(e.deltaX,e.deltaY);const i=Math.atan2(e.deltaY,e.deltaX);-.25*Math.PI0&&_classPrivateFieldGet(ke,this).setProperty("--progressBar-end-offset",`${t}px`)}setDisableAutoFetch(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5e3;if(100!==_classPrivateFieldGet(Ae,this)&&!isNaN(_classPrivateFieldGet(Ae,this))){_classPrivateFieldGet(Ee,this)&&activeWindow.clearTimeout(_classPrivateFieldGet(Ee,this));this.show();_classPrivateFieldSet(Ee,this,activeWindow.setTimeout((()=>{_classPrivateFieldSet(Ee,this,null);this.hide()}),e))}}hide(){if(_classPrivateFieldGet(Be,this)){_classPrivateFieldSet(Be,this,!1);_classPrivateFieldGet(xe,this).add("hidden")}}show(){if(!_classPrivateFieldGet(Be,this)){_classPrivateFieldSet(Be,this,!0);_classPrivateFieldGet(xe,this).remove("hidden")}}}function getActiveOrFocusedElement(){let e=document,t=e.activeElement||e.querySelector(":focus");for(;t?.shadowRoot;){e=t.shadowRoot;t=e.activeElement||e.querySelector(":focus")}return t}function apiPageLayoutToViewerModes(e){let t=Pe.VERTICAL,i=Fe.NONE;switch(e){case"SinglePage":t=Pe.PAGE;break;case"OneColumn":break;case"TwoPageLeft":t=Pe.PAGE;case"TwoColumnLeft":i=Fe.ODD;break;case"TwoPageRight":t=Pe.PAGE;case"TwoColumnRight":i=Fe.EVEN}return{scrollMode:t,spreadMode:i}}function toggleCheckedBtn(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;e?.classList.toggle("is-active",t);e?.setAttribute("aria-checked",t);i?.classList.toggle("hidden",!t)}function toggleExpandedBtn(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;e?.classList.toggle("toggled",t);e?.setAttribute("aria-expanded",t);i?.classList.toggle("hidden",!t)}const Te=function(){const e=document.createElement("div");e.style.width="round(down, calc(1.6666666666666665 * 792px), 1px)";return"calc(1320px)"===e.style.width?Math.fround:e=>e}();__webpack_require__(6573),__webpack_require__(8100),__webpack_require__(7936),__webpack_require__(2489),__webpack_require__(1701),__webpack_require__(8140),__webpack_require__(5044),__webpack_require__(1903),__webpack_require__(1134),__webpack_require__(8845),__webpack_require__(373),__webpack_require__(7467),__webpack_require__(4732),__webpack_require__(9577);const Ie=0,De=1,Me=2,Le=3,Ge=4,Oe=5,Ne=6,Re=7;function getCharacterType(e){return function isAlphabeticalScript(e){return e<11904}(e)?function isAscii(e){return!(65408&e)}(e)?function isAsciiSpace(e){return 32===e||9===e||13===e||10===e}(e)?Ie:function isAsciiAlpha(e){return e>=97&&e<=122||e>=65&&e<=90}(e)||function isAsciiDigit(e){return e>=48&&e<=57}(e)||95===e?De:Me:function isThai(e){return 3584==(65408&e)}(e)?Re:160===e?Ie:De:function isHan(e){return e>=13312&&e<=40959||e>=63744&&e<=64255}(e)?Le:function isKatakana(e){return e>=12448&&e<=12543}(e)?Ge:function isHiragana(e){return e>=12352&&e<=12447}(e)?Oe:function isHalfwidthKatakana(e){return e>=65376&&e<=65439}(e)?Ne:De}let je;function pdf_find_controller_classPrivateFieldInitSpec(e,t,i){pdf_find_controller_checkPrivateRedeclaration(e,t),t.set(e,i)}function pdf_find_controller_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateGetter(e,t,i){return i(pdf_find_controller_assertClassBrand(e,t))}function pdf_find_controller_classPrivateFieldGet(e,t){return e.get(pdf_find_controller_assertClassBrand(e,t))}function pdf_find_controller_classPrivateFieldSet(e,t,i){return e.set(pdf_find_controller_assertClassBrand(e,t),i),i}function pdf_find_controller_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}const Ve={FOUND:0,NOT_FOUND:1,WRAPPED:2,PENDING:3},We={"‐":"-","‘":"'","’":"'","‚":"'","‛":"'","“":'"',"”":'"',"„":'"',"‟":'"',"¼":"1/4","½":"1/2","¾":"3/4"},ze=new Set([12441,12442,2381,2509,2637,2765,2893,3021,3149,3277,3387,3388,3405,3530,3642,3770,3972,4153,4154,5908,5940,6098,6752,6980,7082,7083,7154,7155,11647,43014,43052,43204,43347,43456,43766,44013,3158,3953,3954,3962,3963,3964,3965,3968,3956]);let Ue;const He=/\p{M}+/gu,$e=/([.*+?^${}()|[\]\\])|(\p{P})|(\s+)|(\p{M})|(\p{L})/gu,qe=/([^\p{M}])\p{M}*$/u,Xe=/^\p{M}*([^\p{M}])/u,Ke=/[\uAC00-\uD7AF\uFA6C\uFACF-\uFAD1\uFAD5-\uFAD7]+/g,Ze=new Map,Qe=new Map;let Ye=null,Je=null;function normalize(e){const t=[];let i;for(;null!==(i=Ke.exec(e));){let{index:e}=i;for(const a of i[0]){let i=Ze.get(a);if(!i){i=a.normalize("NFD").length;Ze.set(a,i)}t.push([i,e++])}}const a=t.length>0;let s;if(!a&&Ye)s=Ye;else if(a&&Je)s=Je;else{const e=Object.keys(We).join(""),t=function getNormalizeWithNFKC(){je||=" ¨ª¯²-µ¸-º¼-¾IJ-ijĿ-ŀʼnſDŽ-njDZ-dzʰ-ʸ˘-˝ˠ-ˤʹͺ;΄-΅·ϐ-ϖϰ-ϲϴ-ϵϹևٵ-ٸक़-य़ড়-ঢ়য়ਲ਼ਸ਼ਖ਼-ਜ਼ਫ਼ଡ଼-ଢ଼ำຳໜ-ໝ༌གྷཌྷདྷབྷཛྷཀྵჼᴬ-ᴮᴰ-ᴺᴼ-ᵍᵏ-ᵪᵸᶛ-ᶿẚ-ẛάέήίόύώΆ᾽-῁ΈΉ῍-῏ΐΊ῝-῟ΰΎ῭-`ΌΏ´-῾ - ‑‗․-… ″-‴‶-‷‼‾⁇-⁉⁗ ⁰-ⁱ⁴-₎ₐ-ₜ₨℀-℃℅-ℇ℉-ℓℕ-№ℙ-ℝ℠-™ℤΩℨK-ℭℯ-ℱℳ-ℹ℻-⅀ⅅ-ⅉ⅐-ⅿ↉∬-∭∯-∰〈-〉①-⓪⨌⩴-⩶⫝̸ⱼ-ⱽⵯ⺟⻳⼀-⿕ 〶〸-〺゛-゜ゟヿㄱ-ㆎ㆒-㆟㈀-㈞㈠-㉇㉐-㉾㊀-㏿ꚜ-ꚝꝰꟲ-ꟴꟸ-ꟹꭜ-ꭟꭩ豈-嗀塚晴凞-羽蘒諸逸-都飯-舘並-龎ff-stﬓ-ﬗיִײַ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-﷼︐-︙︰-﹄﹇-﹒﹔-﹦﹨-﹫ﹰ-ﹲﹴﹶ-ﻼ!-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ¢-₩";return je}();s=new RegExp([`[${e}]`,`[${t}]`,`${"(?:゙|゚)"}\\n`,"\\p{M}+(?:-\\n)?",`${"\\p{Ll}-\\n(?=\\p{Ll})|\\p{Lu}-\\n(?=\\p{L})"}`,"\\S-\\n",`${"(?:\\p{Ideographic}|[぀-ヿ])"}\\n`,"\\n",a?"[\\u1100-\\u1112\\ud7a4-\\ud7af\\ud84a\\ud84c\\ud850\\ud854\\ud857\\ud85f]":"\\u0000"].map((e=>`(${e})`)).join("|"),"gum");a?Je=s:Ye=s}const n=[];for(;null!==(i=He.exec(e));)n.push([i[0].length,i.index]);let r=e.normalize("NFD");const o=[0,0];let l=0,d=0,c=0,u=0,h=0,_=!1;r=r.replace(s,((e,i,a,s,r,p,g,f,v,m,w)=>{w-=u;if(i){const e=We[i],t=e.length;for(let e=1;e>1),g=new Int32Array(o.length>>1);for(let e=0,t=o.length;e>1]=o[e];g[e>>1]=o[e+1]}return[r,[p,g],_]}function getOriginalIndex(e,t,i){if(!e)return[t,i];const[a,s]=e,n=t,r=t+i-1;let o=binarySearchFirstItem(a,(e=>e>=n));a[o]>n&&--o;let l=binarySearchFirstItem(a,(e=>e>=r),o);a[l]>r&&--l;const d=n+s[o];return[d,r+s[l]+1-d]}var et=new WeakMap,tt=new WeakMap,it=new WeakMap,st=new WeakSet;class PDFFindController{constructor(e){let{linkService:t,eventBus:i,updateMatchesCountOnProgress:a=!0}=e;!function _classPrivateMethodInitSpec(e,t){pdf_find_controller_checkPrivateRedeclaration(e,t),t.add(e)}(this,st);pdf_find_controller_classPrivateFieldInitSpec(this,et,null);pdf_find_controller_classPrivateFieldInitSpec(this,tt,!0);pdf_find_controller_classPrivateFieldInitSpec(this,it,0);this._linkService=t;this._eventBus=i;pdf_find_controller_classPrivateFieldSet(tt,this,a);this.onIsPageVisible=null;pdf_find_controller_assertClassBrand(st,this,_reset).call(this);i._on("find",pdf_find_controller_assertClassBrand(st,this,_onFind).bind(this));i._on("findbarclose",pdf_find_controller_assertClassBrand(st,this,_onFindBarClose).bind(this))}get highlightMatches(){return this._highlightMatches}get pageMatches(){return this._pageMatches}get pageMatchesLength(){return this._pageMatchesLength}get selected(){return this._selected}get state(){return pdf_find_controller_classPrivateFieldGet(et,this)}setDocument(e){this._pdfDocument&&pdf_find_controller_assertClassBrand(st,this,_reset).call(this);if(e){this._pdfDocument=e;this._firstPageCapability.resolve()}}scrollMatchIntoView(e){let{element:t=null,selectedLeft:i=0,pageIndex:a=-1,matchIndex:s=-1}=e;if(!this._scrollMatches||!t)return;if(-1===s||s!==this._selected.matchIdx)return;if(-1===a||a!==this._selected.pageIdx)return;this._scrollMatches=!1;scrollIntoView(t,{top:-50,left:i+-400},!0)}match(e,t,i){const a=this._hasDiacritics[i];let s=!1;"string"==typeof e?[s,e]=pdf_find_controller_assertClassBrand(st,this,_convertToRegExpString).call(this,e,a):e=e.sort().reverse().map((e=>{const[t,i]=pdf_find_controller_assertClassBrand(st,this,_convertToRegExpString).call(this,e,a);s||=t;return`(${i})`})).join("|");if(!e)return;const{caseSensitive:n,entireWord:r}=pdf_find_controller_classPrivateFieldGet(et,this);e=new RegExp(e,`g${s?"u":""}${n?"":"i"}`);const o=[];let l;for(;null!==(l=e.exec(t));)r&&!pdf_find_controller_assertClassBrand(st,this,_isEntireWord).call(this,t,l.index,l[0].length)||o.push({index:l.index,length:l[0].length});return o}}function _onFind(e){if(!e)return;const t=this._pdfDocument,{type:i}=e;(null===pdf_find_controller_classPrivateFieldGet(et,this)||pdf_find_controller_assertClassBrand(st,this,_shouldDirtyMatch).call(this,e))&&(this._dirtyMatch=!0);pdf_find_controller_classPrivateFieldSet(et,this,e);"highlightallchange"!==i&&pdf_find_controller_assertClassBrand(st,this,_updateUIState).call(this,Ve.PENDING);this._firstPageCapability.promise.then((()=>{if(!this._pdfDocument||t&&this._pdfDocument!==t)return;pdf_find_controller_assertClassBrand(st,this,_extractText).call(this);const e=!this._highlightMatches,a=!!this._findTimeout;if(this._findTimeout){activeWindow.clearTimeout(this._findTimeout);this._findTimeout=null}if(i)if(this._dirtyMatch)pdf_find_controller_assertClassBrand(st,this,_nextMatch).call(this);else if("again"===i){pdf_find_controller_assertClassBrand(st,this,_nextMatch).call(this);e&&pdf_find_controller_classPrivateFieldGet(et,this).highlightAll&&pdf_find_controller_assertClassBrand(st,this,_updateAllPages).call(this)}else if("highlightallchange"===i){a?pdf_find_controller_assertClassBrand(st,this,_nextMatch).call(this):this._highlightMatches=!0;pdf_find_controller_assertClassBrand(st,this,_updateAllPages).call(this)}else pdf_find_controller_assertClassBrand(st,this,_nextMatch).call(this);else this._findTimeout=activeWindow.setTimeout((()=>{pdf_find_controller_assertClassBrand(st,this,_nextMatch).call(this);this._findTimeout=null}),250)}))}function _reset(){this._highlightMatches=!1;this._scrollMatches=!1;this._pdfDocument=null;this._pageMatches=[];this._pageMatchesLength=[];pdf_find_controller_classPrivateFieldSet(it,this,0);pdf_find_controller_classPrivateFieldSet(et,this,null);this._selected={pageIdx:-1,matchIdx:-1};this._offset={pageIdx:null,matchIdx:null,wrapped:!1};this._extractTextPromises=[];this._pageContents=[];this._pageDiffs=[];this._hasDiacritics=[];this._matchesCountTotal=0;this._pagesToSearch=null;this._pendingFindMatches=new Set;this._resumePageIdx=null;this._dirtyMatch=!1;activeWindow.clearTimeout(this._findTimeout);this._findTimeout=null;this._firstPageCapability=Promise.withResolvers()}function _get_query(e){const{query:t}=pdf_find_controller_classPrivateFieldGet(et,e)||{};if("string"==typeof t){if(t!==e._rawQuery){e._rawQuery=t;[e._normalizedQuery]=normalize(t)}return e._normalizedQuery}return(t||[]).filter((e=>!!e)).map((e=>normalize(e)[0]))}function _shouldDirtyMatch(e){const t=e.query,i=pdf_find_controller_classPrivateFieldGet(et,this).query,a=typeof t;if(a!==typeof i)return!0;if("string"===a){if(t!==i)return!0}else if(JSON.stringify(t)!==JSON.stringify(i))return!0;switch(e.type){case"again":const e=this._selected.pageIdx+1,t=this._linkService;return e>=1&&e<=t.pagesCount&&e!==t.page&&!(this.onIsPageVisible?.(e)??1);case"highlightallchange":return!1}return!0}function _isEntireWord(e,t,i){let a=e.slice(0,t).match(qe);if(a){const i=e.charCodeAt(t),s=a[1].charCodeAt(0);if(getCharacterType(i)===getCharacterType(s))return!1}a=e.slice(t+i).match(Xe);if(a){const s=e.charCodeAt(t+i-1),n=a[1].charCodeAt(0);if(getCharacterType(s)===getCharacterType(n))return!1}return!0}function _convertToRegExpString(e,t){const{matchDiacritics:i}=pdf_find_controller_classPrivateFieldGet(et,this);let a=!1;const s="[ ]*";(e=e.replaceAll($e,((e,s,n,r,o,l)=>{if(s)return`[ ]*\\${s}[ ]*`;if(n)return`[ ]*${n}[ ]*`;if(r)return"[ ]+";if(i)return o||l;if(o)return ze.has(o.charCodeAt(0))?o:"";if(t){a=!0;return`${l}\\p{M}*`}return l}))).endsWith(s)&&(e=e.slice(0,e.length-4));if(i&&t){Ue||=String.fromCharCode(...ze);a=!0;e=`${e}(?=[${Ue}]|[^\\p{M}]|$)`}return[a,e]}function _calculateMatch(e){var t;if(!pdf_find_controller_classPrivateFieldGet(et,this))return;const i=_classPrivateGetter(st,this,_get_query);if(0===i.length)return;const a=this._pageContents[e],s=this.match(i,a,e),n=this._pageMatches[e]=[],r=this._pageMatchesLength[e]=[],o=this._pageDiffs[e];s?.forEach((e=>{let{index:t,length:i}=e;const[a,s]=getOriginalIndex(o,t,i);if(s){n.push(a);r.push(s)}}));pdf_find_controller_classPrivateFieldGet(et,this).highlightAll&&pdf_find_controller_assertClassBrand(st,this,_updatePage).call(this,e);if(this._resumePageIdx===e){this._resumePageIdx=null;pdf_find_controller_assertClassBrand(st,this,_nextPageMatch).call(this)}const l=n.length;this._matchesCountTotal+=l;pdf_find_controller_classPrivateFieldGet(tt,this)?l>0&&pdf_find_controller_assertClassBrand(st,this,_updateUIResultsCount).call(this):pdf_find_controller_classPrivateFieldSet(it,this,(t=pdf_find_controller_classPrivateFieldGet(it,this),++t))===this._linkService.pagesCount&&pdf_find_controller_assertClassBrand(st,this,_updateUIResultsCount).call(this)}function _extractText(){if(this._extractTextPromises.length>0)return;let e=Promise.resolve();const t={disableNormalization:!0},i=this._pdfDocument;for(let a=0,s=this._linkService.pagesCount;a{i&&i===this._pdfDocument?await i.getPage(a+1).then((e=>e.getTextContent(t))).then((e=>{const t=[];for(const i of e.items){t.push(i.str);i.hasEOL&&t.push("\n")}[this._pageContents[a],this._pageDiffs[a],this._hasDiacritics[a]]=normalize(t.join(""));n()}),(e=>{console.error(`Unable to get text content for page ${a+1}`,e);this._pageContents[a]="";this._pageDiffs[a]=null;this._hasDiacritics[a]=!1;n()})):n()}))}}function _updatePage(e){this._scrollMatches&&this._selected.pageIdx===e&&(this._linkService.page=e+1);this._eventBus.dispatch("updatetextlayermatches",{source:this,pageIndex:e})}function _updateAllPages(){this._eventBus.dispatch("updatetextlayermatches",{source:this,pageIndex:-1})}function _nextMatch(){const e=pdf_find_controller_classPrivateFieldGet(et,this).findPrevious,t=this._linkService.page-1,i=this._linkService.pagesCount;this._highlightMatches=!0;if(this._dirtyMatch){this._dirtyMatch=!1;this._selected.pageIdx=this._selected.matchIdx=-1;if(this._firstSearch){this._firstSearch=!1;this._offset.pageIdx=0}else this._offset.pageIdx=t;this._offset.matchIdx=null;this._offset.wrapped=!1;this._resumePageIdx=null;this._pageMatches.length=0;this._pageMatchesLength.length=0;pdf_find_controller_classPrivateFieldSet(it,this,0);this._matchesCountTotal=0;pdf_find_controller_assertClassBrand(st,this,_updateAllPages).call(this);for(let e=0;e{this._pendingFindMatches.delete(e);pdf_find_controller_assertClassBrand(st,this,_calculateMatch).call(this,e)}))}}if(0===_classPrivateGetter(st,this,_get_query).length){pdf_find_controller_assertClassBrand(st,this,_updateUIState).call(this,Ve.FOUND);return}if(this._resumePageIdx)return;const a=this._offset;this._pagesToSearch=i;if(null!==a.matchIdx){const t=this._pageMatches[a.pageIdx].length;if(!e&&a.matchIdx+10){a.matchIdx=e?a.matchIdx-1:a.matchIdx+1;pdf_find_controller_assertClassBrand(st,this,_updateMatch).call(this,!0);return}pdf_find_controller_assertClassBrand(st,this,_advanceOffsetPage).call(this,e)}pdf_find_controller_assertClassBrand(st,this,_nextPageMatch).call(this)}function _matchesReady(e){const t=this._offset,i=e.length,a=pdf_find_controller_classPrivateFieldGet(et,this).findPrevious;if(i){t.matchIdx=a?i-1:0;pdf_find_controller_assertClassBrand(st,this,_updateMatch).call(this,!0);return!0}pdf_find_controller_assertClassBrand(st,this,_advanceOffsetPage).call(this,a);if(t.wrapped){t.matchIdx=null;if(this._pagesToSearch<0){pdf_find_controller_assertClassBrand(st,this,_updateMatch).call(this,!1);return!0}}return!1}function _nextPageMatch(){null!==this._resumePageIdx&&console.error("There can only be one pending page.");let e=null;do{const t=this._offset.pageIdx;e=this._pageMatches[t];if(!e){this._resumePageIdx=t;break}}while(!pdf_find_controller_assertClassBrand(st,this,_matchesReady).call(this,e))}function _advanceOffsetPage(e){const t=this._offset,i=this._linkService.pagesCount;t.pageIdx=e?t.pageIdx-1:t.pageIdx+1;t.matchIdx=null;this._pagesToSearch--;if(t.pageIdx>=i||t.pageIdx<0){t.pageIdx=e?i-1:0;t.wrapped=!0}}function _updateMatch(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=Ve.NOT_FOUND;const i=this._offset.wrapped;this._offset.wrapped=!1;if(e){const e=this._selected.pageIdx;this._selected.pageIdx=this._offset.pageIdx;this._selected.matchIdx=this._offset.matchIdx;t=i?Ve.WRAPPED:Ve.FOUND;-1!==e&&e!==this._selected.pageIdx&&pdf_find_controller_assertClassBrand(st,this,_updatePage).call(this,e)}pdf_find_controller_assertClassBrand(st,this,_updateUIState).call(this,t,pdf_find_controller_classPrivateFieldGet(et,this).findPrevious);if(-1!==this._selected.pageIdx){this._scrollMatches=!0;pdf_find_controller_assertClassBrand(st,this,_updatePage).call(this,this._selected.pageIdx)}}function _onFindBarClose(e){const t=this._pdfDocument;this._firstPageCapability.promise.then((()=>{if(this._pdfDocument&&(!t||this._pdfDocument===t)){if(this._findTimeout){activeWindow.clearTimeout(this._findTimeout);this._findTimeout=null}if(this._resumePageIdx){this._resumePageIdx=null;this._dirtyMatch=!0}pdf_find_controller_assertClassBrand(st,this,_updateUIState).call(this,Ve.FOUND);this._highlightMatches=!1;pdf_find_controller_assertClassBrand(st,this,_updateAllPages).call(this)}}))}function _requestMatchesCount(){const{pageIdx:e,matchIdx:t}=this._selected;let i=0,a=this._matchesCountTotal;if(-1!==t){for(let t=0;ta)&&(i=a=0);return{current:i,total:a}}function _updateUIResultsCount(){this._eventBus.dispatch("updatefindmatchescount",{source:this,matchesCount:pdf_find_controller_assertClassBrand(st,this,_requestMatchesCount).call(this)})}function _updateUIState(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];(pdf_find_controller_classPrivateFieldGet(tt,this)||pdf_find_controller_classPrivateFieldGet(it,this)===this._linkService.pagesCount&&e!==Ve.PENDING)&&this._eventBus.dispatch("updatefindcontrolstate",{source:this,state:e,previous:t,entireWord:pdf_find_controller_classPrivateFieldGet(et,this)?.entireWord??null,matchesCount:pdf_find_controller_assertClassBrand(st,this,_requestMatchesCount).call(this),rawQuery:pdf_find_controller_classPrivateFieldGet(et,this)?.query??null})}function pdf_find_bar_classPrivateFieldInitSpec(e,t,i){pdf_find_bar_checkPrivateRedeclaration(e,t),t.set(e,i)}function pdf_find_bar_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function pdf_find_bar_classPrivateFieldGet(e,t){return e.get(pdf_find_bar_assertClassBrand(e,t))}function pdf_find_bar_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}function _defineProperty(e,t,i){return(t=function _toPropertyKey(e){var t=function _toPrimitive(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class IPDFFindBar{constructor(){_defineProperty(this,"opened",!1)}reset(){}open(){}close(){}updateResultsCount(){let{current:e=0,total:t=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}}updateUIState(e,t,i){}showSearch(){}}var nt=new WeakMap,rt=new WeakMap,ot=new WeakSet;class PDFFindBar extends IPDFFindBar{constructor(e,t,i){super();!function pdf_find_bar_classPrivateMethodInitSpec(e,t){pdf_find_bar_checkPrivateRedeclaration(e,t),t.add(e)}(this,ot);pdf_find_bar_classPrivateFieldInitSpec(this,nt,void 0);pdf_find_bar_classPrivateFieldInitSpec(this,rt,new ResizeObserver(pdf_find_bar_assertClassBrand(ot,this,_resizeObserverCallback).bind(this)));this.opened=!1;this.bar=e.bar;this.toggleButton=e.toggleButton;this.findField=e.findField;this.highlightAll=e.highlightAllCheckbox;this.caseSensitive=e.caseSensitiveCheckbox;this.matchDiacritics=e.matchDiacriticsCheckbox;this.entireWord=e.entireWordCheckbox;this.findMsg=e.findMsg;this.findResultsCount=e.findResultsCount;this.findPreviousButton=e.findPreviousButton;this.findNextButton=e.findNextButton;this.eventBus=i;!function pdf_find_bar_classPrivateFieldSet(e,t,i){return e.set(pdf_find_bar_assertClassBrand(e,t),i),i}(nt,this,t);const a=new Map([[this.highlightAll,"highlightallchange"],[this.caseSensitive,"casesensitivitychange"],[this.entireWord,"entirewordchange"],[this.matchDiacritics,"diacriticmatchingchange"]]);this.toggleButton.addEventListener("click",(()=>{this.toggle()}));this.findField.addEventListener("input",(()=>{this.dispatchEvent("")}));this.bar.addEventListener("keydown",(e=>{let{keyCode:t,shiftKey:i,target:s}=e;switch(t){case 13:if(s===this.findField)this.dispatchEvent("again",i);else if(a.has(s)){s.checked=!s.checked;this.dispatchEvent(a.get(s))}break;case 27:this.close()}}));this.findPreviousButton.addEventListener("click",(()=>{this.dispatchEvent("again",!0)}));this.findNextButton.addEventListener("click",(()=>{this.dispatchEvent("again",!1)}));for(const[e,t]of a)e.addEventListener("click",(()=>{this.dispatchEvent(t)}))}reset(){this.updateUIState()}dispatchEvent(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.eventBus.dispatch("find",{source:this,type:e,query:this.findField.value,caseSensitive:this.caseSensitive.checked,entireWord:this.entireWord.checked,highlightAll:this.highlightAll.checked,findPrevious:t,matchDiacritics:this.matchDiacritics.checked})}updateUIState(e,t,i){const{findField:a,findMsg:s}=this;let n="",r="";switch(e){case Ve.FOUND:break;case Ve.PENDING:r="pending";break;case Ve.NOT_FOUND:n="pdfjs-find-not-found";r="notFound";break;case Ve.WRAPPED:n=t?"pdfjs-find-reached-top":"pdfjs-find-reached-bottom"}a.setAttribute("data-status",r);a.setAttribute("aria-invalid",e===Ve.NOT_FOUND);s.setAttribute("data-status",r);if(n)s.setAttribute("data-l10n-id",n);else{s.removeAttribute("data-l10n-id");s.textContent=""}this.updateResultsCount(i)}updateResultsCount(){let{current:e=0,total:t=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{findResultsCount:i}=this;if(t>0){const a=1e3;i.setAttribute("data-l10n-id",t>a?"pdfjs-find-match-count-limit":"pdfjs-find-match-count");i.setAttribute("data-l10n-args",JSON.stringify({limit:a,current:e,total:t}))}else{i.removeAttribute("data-l10n-id");i.textContent=""}}open(){if(!this.opened){pdf_find_bar_classPrivateFieldGet(rt,this).observe(pdf_find_bar_classPrivateFieldGet(nt,this));pdf_find_bar_classPrivateFieldGet(rt,this).observe(this.bar);this.opened=!0;toggleExpandedBtn(this.toggleButton,!0,this.bar)}this.findField.select();this.findField.focus()}close(){if(this.opened){pdf_find_bar_classPrivateFieldGet(rt,this).disconnect();this.opened=!1;toggleExpandedBtn(this.toggleButton,!1,this.bar);this.eventBus.dispatch("findbarclose",{source:this})}}toggle(){this.opened?this.close():this.open()}}function _resizeObserverCallback(){const{bar:e}=this;e.classList.remove("wrapContainers");e.clientHeight>e.firstElementChild.clientHeight&&e.classList.add("wrapContainers")}__webpack_require__(8335);function pdf_link_service_defineProperty(e,t,i){return(t=function pdf_link_service_toPropertyKey(e){var t=function pdf_link_service_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}const lt={NONE:0,SELF:1,BLANK:2,PARENT:3,TOP:4};class PDFLinkService{constructor(){let{eventBus:e,externalLinkTarget:t=null,externalLinkRel:i=null,ignoreDestinationZoom:a=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};pdf_link_service_defineProperty(this,"externalLinkEnabled",!0);this.eventBus=e;this.externalLinkTarget=t;this.externalLinkRel=i;this._ignoreDestinationZoom=a;this.baseUrl=null;this.pdfDocument=null;this.pdfViewer=null;this.pdfHistory=null}setDocument(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.baseUrl=t;this.pdfDocument=e}setViewer(e){this.pdfViewer=e}setHistory(e){this.pdfHistory=e}get pagesCount(){return this.pdfDocument?this.pdfDocument.numPages:0}get page(){return this.pdfDocument?this.pdfViewer.currentPageNumber:1}set page(e){this.pdfDocument&&(this.pdfViewer.currentPageNumber=e)}get rotation(){return this.pdfDocument?this.pdfViewer.pagesRotation:0}set rotation(e){this.pdfDocument&&(this.pdfViewer.pagesRotation=e)}get isInPresentationMode(){return!!this.pdfDocument&&this.pdfViewer.isInPresentationMode}async goToDestination(e){if(!this.pdfDocument)return;let t,i,a;if("string"==typeof e){t=e;i=await this.pdfDocument.getDestination(e)}else{t=null;i=await e}if(!Array.isArray(i)){null!==i&&console.error(`goToDestination: "${i}" is not a valid destination array, for dest="${e}".`);return}const[s]=i;if(s&&"object"==typeof s){a=this.pdfDocument.cachedPageNumber(s);if(!a)try{a=await this.pdfDocument.getPageIndex(s)+1}catch{console.error(`goToDestination: "${s}" is not a valid page reference, for dest="${e}".`);return}}else Number.isInteger(s)&&(a=s+1);if(!a||a<1||a>this.pagesCount)console.error(`goToDestination: "${a}" is not a valid page number, for dest="${e}".`);else{if(this.pdfHistory){this.pdfHistory.pushCurrentPosition();this.pdfHistory.push({namedDest:t,explicitDest:i,pageNumber:a})}this.pdfViewer.scrollPageIntoView({pageNumber:a,destArray:i,ignoreDestinationZoom:this._ignoreDestinationZoom})}}goToPage(e){if(!this.pdfDocument)return;const t="string"==typeof e&&this.pdfViewer.pageLabelToPageNumber(e)||0|e;if(Number.isInteger(t)&&t>0&&t<=this.pagesCount){if(this.pdfHistory){this.pdfHistory.pushCurrentPosition();this.pdfHistory.pushPage(t)}this.pdfViewer.scrollPageIntoView({pageNumber:t})}else console.error(`PDFLinkService.goToPage: "${e}" is not a valid page.`)}addLinkAttributes(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!t||"string"!=typeof t)throw new Error('A valid "url" parameter must provided.');const a=i?lt.BLANK:this.externalLinkTarget,s=this.externalLinkRel;if(this.externalLinkEnabled)e.href=e.title=t;else{e.href="";e.title=`Disabled: ${t}`;e.onclick=()=>!1}let n="";switch(a){case lt.NONE:break;case lt.SELF:n="_self";break;case lt.BLANK:n="_blank";break;case lt.PARENT:n="_parent";break;case lt.TOP:n="_top"}e.target=n;e.rel="string"==typeof s?s:"noopener noreferrer nofollow"}getDestinationHash(e){if("string"==typeof e){if(e.length>0)return this.getAnchorUrl("#"+escape(e))}else if(Array.isArray(e)){const t=JSON.stringify(e);if(t.length>0)return this.getAnchorUrl("#"+escape(t))}return this.getAnchorUrl("")}getAnchorUrl(e){return this.baseUrl?this.baseUrl+e:e}setHash(e){if(!this.pdfDocument)return;let t,i;if(e.includes("=")){const a=parseQueryString(e);if(a.has("search")){const e=a.get("search").replaceAll('"',""),t="true"===a.get("phrase");this.eventBus.dispatch("findfromurlhash",{source:this,query:t?e:e.match(/\S+/g)})}a.has("page")&&(t=0|a.get("page")||1);if(a.has("zoom")){const e=a.get("zoom").split(","),t=e[0],s=parseFloat(t);t.includes("Fit")?"Fit"===t||"FitB"===t?i=[null,{name:t}]:"FitH"===t||"FitBH"===t||"FitV"===t||"FitBV"===t?i=[null,{name:t},e.length>1?0|e[1]:null]:"FitR"===t?5!==e.length?console.error('PDFLinkService.setHash: Not enough parameters for "FitR".'):i=[null,{name:t},0|e[1],0|e[2],0|e[3],0|e[4]]:console.error(`PDFLinkService.setHash: "${t}" is not a valid zoom value.`):i=[null,{name:"XYZ"},e.length>1?0|e[1]:null,e.length>2?0|e[2]:null,s?s/100:t]}i?this.pdfViewer.scrollPageIntoView({pageNumber:t||this.page,destArray:i,allowNegativeOffset:!0}):t&&(this.page=t);a.has("pagemode")&&this.eventBus.dispatch("pagemode",{source:this,mode:a.get("pagemode")});a.has("nameddest")&&this.goToDestination(a.get("nameddest"))}else{i=unescape(e);try{i=JSON.parse(i);Array.isArray(i)||(i=i.toString())}catch{}"string"==typeof i||A(i)?this.goToDestination(i):console.error(`PDFLinkService.setHash: "${unescape(e)}" is not a valid destination.`)}}executeNamedAction(e){if(this.pdfDocument){switch(e){case"GoBack":this.pdfHistory?.back();break;case"GoForward":this.pdfHistory?.forward();break;case"NextPage":this.pdfViewer.nextPage();break;case"PrevPage":this.pdfViewer.previousPage();break;case"LastPage":this.page=this.pagesCount;break;case"FirstPage":this.page=1}this.eventBus.dispatch("namedaction",{source:this,action:e})}}async executeSetOCGState(e){if(!this.pdfDocument)return;const t=this.pdfDocument,i=await this.pdfViewer.optionalContentConfigPromise;if(t===this.pdfDocument){i.setOCGState(e);this.pdfViewer.optionalContentConfigPromise=Promise.resolve(i)}}}class SimpleLinkService extends PDFLinkService{setDocument(e){}}function pdf_sidebar_classPrivateFieldInitSpec(e,t,i){pdf_sidebar_checkPrivateRedeclaration(e,t),t.set(e,i)}function pdf_sidebar_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function pdf_sidebar_classPrivateFieldGet(e,t){return e.get(pdf_sidebar_assertClassBrand(e,t))}function pdf_sidebar_classPrivateFieldSet(e,t,i){return e.set(pdf_sidebar_assertClassBrand(e,t),i),i}function pdf_sidebar_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}const dt=140,ct="sidebarResizing";var ut,ht=new WeakMap,_t=new WeakMap,pt=new WeakMap,gt=new WeakMap,ft=new WeakSet;class PDFSidebar{constructor(e){let{elements:t,eventBus:i,l10n:a}=e;!function pdf_sidebar_classPrivateMethodInitSpec(e,t){pdf_sidebar_checkPrivateRedeclaration(e,t),t.add(e)}(this,ft);pdf_sidebar_classPrivateFieldInitSpec(this,ht,!1);pdf_sidebar_classPrivateFieldInitSpec(this,_t,null);pdf_sidebar_classPrivateFieldInitSpec(this,pt,null);pdf_sidebar_classPrivateFieldInitSpec(this,gt,null);this.isOpen=!1;this.active=pe;this.isInitialViewSet=!1;this.isInitialEventDispatched=!1;this.onToggled=null;this.onUpdateThumbnails=null;this.outerContainer=t.outerContainer;this.sidebarContainer=t.sidebarContainer;this.toggleButton=t.toggleButton;this.resizer=t.resizer;this.thumbnailButton=t.thumbnailButton;this.outlineButton=t.outlineButton;this.attachmentsButton=t.attachmentsButton;this.layersButton=t.layersButton;this.thumbnailView=t.thumbnailView;this.outlineView=t.outlineView;this.attachmentsView=t.attachmentsView;this.layersView=t.layersView;this._currentOutlineItemButton=t.currentOutlineItemButton;this.eventBus=i;pdf_sidebar_classPrivateFieldSet(ht,this,"rtl"===a.getDirection());pdf_sidebar_assertClassBrand(ft,this,_addEventListeners).call(this)}reset(){this.isInitialViewSet=!1;this.isInitialEventDispatched=!1;pdf_sidebar_assertClassBrand(ft,this,_hideUINotification).call(this,!0);this.outlineReady.promise.catch((()=>{}));this.outlineReady.reject();this.outlineReady=Promise.withResolvers();this.haveOutline=!1;this.outlineButton?.classList.toggle("disabled",!1);this.attachmentsButton?.classList.toggle("disabled",!1);this.layersButton?.classList.toggle("disabled",!1);this._currentOutlineItemButton?.classList.toggle("disabled",!0)}get visibleView(){return this.isOpen?this.active:_e}async setInitialView(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_e;if(!this.isInitialViewSet){try{await this.outlineReady.promise}catch{return}this.isInitialViewSet=!0;if(e!==he){this.switchView(e,!0);this.isInitialEventDispatched||pdf_sidebar_assertClassBrand(ft,this,_dispatchEvent).call(this)}else pdf_sidebar_assertClassBrand(ft,this,_dispatchEvent).call(this)}}switchView(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=e!==this.active;let a=!1;switch(e){case _e:this.isOpen&&this.close();return;case pe:this.isOpen&&i&&(a=!0);break;case ge:if(!this.haveOutline)return;break;case fe:if(!this.attachmentsButton||this.attachmentsButton?.classList.contains("disabled"))return;break;case ve:if(!this.layersButton||this.layersButton?.classList.contains("disabled"))return;break;default:console.error(`PDFSidebar.switchView: "${e}" is not a valid view.`);return}this.active=e;toggleCheckedBtn(this.thumbnailButton,e===pe,this.thumbnailView);toggleCheckedBtn(this.outlineButton,e===ge,this.outlineView);toggleCheckedBtn(this.attachmentsButton,e===fe,this.attachmentsView);toggleCheckedBtn(this.layersButton,e===ve,this.layersView);if(!t||this.isOpen){if(a){this.onUpdateThumbnails();this.onToggled()}i&&pdf_sidebar_assertClassBrand(ft,this,_dispatchEvent).call(this)}else this.open()}open(){if(!this.isOpen){this.isOpen=!0;toggleExpandedBtn(this.toggleButton,!0);this.outerContainer.classList.add("sidebarMoving","sidebarOpen");this.active===pe&&this.onUpdateThumbnails();this.onToggled();pdf_sidebar_assertClassBrand(ft,this,_dispatchEvent).call(this);pdf_sidebar_assertClassBrand(ft,this,_hideUINotification).call(this)}}close(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(this.isOpen){this.isOpen=!1;toggleExpandedBtn(this.toggleButton,!1);this.outerContainer.classList.add("sidebarMoving");this.outerContainer.classList.remove("sidebarOpen");this.onToggled();pdf_sidebar_assertClassBrand(ft,this,_dispatchEvent).call(this);e?.detail>0&&this.toggleButton.blur()}}toggle(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;!1===(arguments.length>1?arguments[1]:void 0)||this.isOpen?this.close(e):this.open()}get outerContainerWidth(){return pdf_sidebar_classPrivateFieldGet(pt,this)||pdf_sidebar_classPrivateFieldSet(pt,this,this.outerContainer.clientWidth)}}function _dispatchEvent(){this.isInitialViewSet&&(this.isInitialEventDispatched||=!0);this.eventBus.dispatch("sidebarviewchanged",{source:this,view:this.visibleView})}function _showUINotification(){}function _hideUINotification(){}function _addEventListeners(){const{eventBus:e,outerContainer:t}=this;this.sidebarContainer?.addEventListener("transitionend",(i=>{if(i.target===this.sidebarContainer){t.classList.remove("sidebarMoving");e.dispatch("resize",{source:this})}}));this.toggleButton?.addEventListener("click",(e=>{this.toggle(e)}));this.thumbnailButton?.addEventListener("click",(()=>{this.switchView(pe)}));this.outlineButton?.addEventListener("click",(()=>{this.switchView(ge)}));this.outlineButton?.addEventListener("dblclick",(()=>{e.dispatch("toggleoutlinetree",{source:this})}));this.attachmentsButton?.addEventListener("click",(()=>{this.switchView(fe)}));this.layersButton?.addEventListener("click",(()=>{this.switchView(ve)}));this.layersButton?.addEventListener("dblclick",(()=>{e.dispatch("resetlayers",{source:this})}));this._currentOutlineItemButton?.addEventListener("click",(()=>{e.dispatch("currentoutlineitem",{source:this})}));const onTreeLoaded=(e,t,i)=>{t?.classList.toggle("disabled",!e);e?pdf_sidebar_assertClassBrand(ft,this,_showUINotification).call(this):this.active===i&&this.switchView(pe)};this.outlineReady=Promise.withResolvers();e._on("outlineloaded",(e=>{onTreeLoaded(e.outlineCount,this.outlineButton,ge);this.outlineReady.resolve();this.haveOutline=!!e.outlineCount;e.currentOutlineItemPromise.then((e=>{this.isInitialViewSet&&this._currentOutlineItemButton?.classList.toggle("disabled",!e)}))}));e._on("attachmentsloaded",(e=>{onTreeLoaded(e.attachmentsCount,this.attachmentsButton,fe)}));e._on("layersloaded",(e=>{onTreeLoaded(e.layersCount,this.layersButton,ve)}));e._on("presentationmodechanged",(e=>{e.state===de&&this.visibleView===pe&&this.onUpdateThumbnails()}));this.resizer.addEventListener("mousedown",(e=>{if(0!==e.button)return;this.startX=e.clientX;this.startWidth=pdf_sidebar_classPrivateFieldGet(gt,this)||dt;t.classList.add(ct);pdf_sidebar_classPrivateFieldSet(_t,this,new AbortController);const i={signal:pdf_sidebar_classPrivateFieldGet(_t,this).signal},a=e.view;a.addEventListener("mousemove",pdf_sidebar_assertClassBrand(ft,this,_mouseMove).bind(this),i);a.addEventListener("mouseup",pdf_sidebar_assertClassBrand(ft,this,_mouseUp).bind(this),i);a.addEventListener("blur",pdf_sidebar_assertClassBrand(ft,this,_mouseUp).bind(this),i)}));e._on("resize",(i=>{pdf_sidebar_classPrivateFieldSet(pt,this,null);if(!pdf_sidebar_classPrivateFieldGet(gt,this))return;if(!this.isOpen){pdf_sidebar_assertClassBrand(ft,this,_updateWidth).call(this,pdf_sidebar_classPrivateFieldGet(gt,this));return}t.classList.add(ct);const a=pdf_sidebar_assertClassBrand(ft,this,_updateWidth).call(this,pdf_sidebar_classPrivateFieldGet(gt,this));Promise.resolve().then((()=>{t.classList.remove(ct);a&&e.dispatch("resize",{source:this})}))}));this.eventBus._on("togglesidebar",(e=>{this.toggle(e.open)}))}function _updateWidth(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const t=Math.floor(this.outerContainerWidth/2);e>t&&(e=t);e1||a)&&vt.set("maxCanvasPixels",5242880);a&&vt.set("useSystemFonts",!1)}const mt=1,wt=2,bt=4,Pt=8,Ft=16,yt=128,Ct={BOOLEAN:1,NUMBER:2,OBJECT:4,STRING:8,UNDEFINED:16},St={allowedGlobalEvents:{value:null,kind:mt},canvasMaxAreaInBytes:{value:-1,kind:mt+bt},isInAutomation:{value:!1,kind:mt},localeProperties:{value:{lang:navigator.language||"en-US"},kind:mt},maxCanvasDim:{value:32767,kind:mt+wt},nimbusDataStr:{value:"",kind:mt},supportsCaretBrowsingMode:{value:!1,kind:mt},supportsDocumentFonts:{value:!0,kind:mt},supportsIntegratedFind:{value:!1,kind:mt},supportsMouseWheelZoomCtrlKey:{value:!0,kind:mt},supportsMouseWheelZoomMetaKey:{value:!0,kind:mt},supportsPinchToZoom:{value:!0,kind:mt},supportsPrinting:{value:!0,kind:mt},toolbarDensity:{value:0,kind:mt+Ft},altTextLearnMoreUrl:{value:"",kind:wt+yt},annotationEditorMode:{value:0,kind:wt+yt},annotationMode:{value:2,kind:wt+yt},capCanvasAreaFactor:{value:200,kind:wt+yt},cursorToolOnLoad:{value:0,kind:wt+yt},debuggerSrc:{value:"./debugger.mjs",kind:wt},defaultZoomDelay:{value:400,kind:wt+yt},defaultZoomValue:{value:"",kind:wt+yt},disableHistory:{value:!1,kind:wt},disablePageLabels:{value:!1,kind:wt+yt},enableAltText:{value:!1,kind:wt+yt},enableAltTextModelDownload:{value:!0,kind:wt+yt+Ft},enableAutoLinking:{value:!0,kind:wt+yt},enableDetailCanvas:{value:!0,kind:wt},enableGuessAltText:{value:!0,kind:wt+yt+Ft},enableHighlightFloatingButton:{value:!1,kind:wt+yt},enableNewAltTextWhenAddingImage:{value:!0,kind:wt+yt},enablePermissions:{value:!1,kind:wt+yt},enablePrintAutoRotate:{value:!0,kind:wt+yt},enableScripting:{value:!0,kind:wt+yt},enableSignatureEditor:{value:!1,kind:wt+yt},enableUpdatedAddImage:{value:!1,kind:wt+yt},externalLinkRel:{value:"noopener noreferrer nofollow",kind:wt},externalLinkTarget:{value:0,kind:wt+yt},highlightEditorColors:{value:"yellow=#FFFF98,green=#53FFBC,blue=#80EBFF,pink=#FFCBE6,red=#FF4F5F",kind:wt+yt},historyUpdateUrl:{value:!1,kind:wt+yt},ignoreDestinationZoom:{value:!1,kind:wt+yt},imageResourcesPath:{value:"./images/",kind:wt},maxCanvasPixels:{value:2**25,kind:wt},minDurationToUpdateCanvas:{value:500,kind:wt},forcePageColors:{value:!1,kind:wt+yt},pageColorsBackground:{value:"Canvas",kind:wt+yt},pageColorsForeground:{value:"CanvasText",kind:wt+yt},pdfBugEnabled:{value:!1,kind:wt+yt},printResolution:{value:150,kind:wt},sidebarViewOnLoad:{value:-1,kind:wt+yt},scrollModeOnLoad:{value:-1,kind:wt+yt},spreadModeOnLoad:{value:-1,kind:wt+yt},textLayerMode:{value:1,kind:wt+yt},viewerCssTheme:{value:0,kind:wt+yt},viewOnLoad:{value:0,kind:wt+yt},cMapPacked:{value:!0,kind:bt},cMapUrl:{value:"../web/cmaps/",kind:bt},disableAutoFetch:{value:!1,kind:bt+yt},disableFontFace:{value:!1,kind:bt+yt},disableRange:{value:!1,kind:bt+yt},disableStream:{value:!1,kind:bt+yt},docBaseUrl:{value:"",kind:bt},enableHWA:{value:!0,kind:bt+wt+yt},enableXfa:{value:!0,kind:bt+yt},fontExtraProperties:{value:!1,kind:bt},iccUrl:{value:"../web/iccs/",kind:bt},isEvalSupported:{value:!0,kind:bt},isOffscreenCanvasSupported:{value:!0,kind:bt},maxImageSize:{value:-1,kind:bt},pdfBug:{value:!1,kind:bt},standardFontDataUrl:{value:"../web/standard_fonts/",kind:bt},useSystemFonts:{value:void 0,kind:bt,type:Ct.BOOLEAN+Ct.UNDEFINED},verbosity:{value:1,kind:bt},wasmUrl:{value:"../web/wasm/",kind:bt},workerPort:{value:null,kind:Pt},workerSrc:{value:"../build/pdf.worker.mjs",kind:Pt}};St.defaultUrl={value:"compressed.tracemonkey-pldi-09.pdf",kind:wt};St.sandboxBundleSrc={value:"../build/pdf.sandbox.mjs",kind:wt};St.enableFakeMLManager={value:!0,kind:wt};St.disablePreferences={value:!1,kind:wt};class AppOptions{static get(e){return app_options_assertClassBrand(AppOptions,this,xt)._.get(e)}static getAll(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=Object.create(null);for(const a in St){const s=St[a];(!e||e&s.kind)&&(i[a]=t?s.value:app_options_assertClassBrand(AppOptions,this,xt)._.get(a))}return i}static set(e,t){this.setAll({[e]:t})}static setAll(e){let t,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._hasInvokedSet||=!0;for(const a in e){const s=St[a],n=e[a];if(!s||!(typeof n==typeof s.value||Ct[(typeof n).toUpperCase()]&s.type))continue;const{kind:r}=s;if(!i||r&mt||r&yt){this.eventBus&&r&Ft&&(t||=new Map).set(a,n);app_options_assertClassBrand(AppOptions,this,xt)._.set(a,n)}}if(t)for(const[e,i]of t)this.eventBus.dispatch(e.toLowerCase(),{source:this,value:i})}}ut=AppOptions;!function app_options_defineProperty(e,t,i){return(t=function app_options_toPropertyKey(e){var t=function app_options_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}(AppOptions,"eventBus",void 0);var xt={_:new Map};(()=>{for(const e in St)app_options_assertClassBrand(ut,ut,xt)._.set(e,St[e].value);for(const[e,t]of vt)app_options_assertClassBrand(ut,ut,xt)._.set(e,t);ut._hasInvokedSet=!1;ut._checkDisablePreferences=()=>{if(ut.get("disablePreferences"))return!0;ut._hasInvokedSet&&console.warn('The Preferences may override manually set AppOptions; please use the "disablePreferences"-option to prevent that.');return!1}})();class BaseExternalServices{updateFindControlState(e){}updateFindMatchesCount(e){}initPassiveLoading(){}reportTelemetry(e){}async createL10n(){throw new Error("Not implemented: createL10n")}createScripting(){throw new Error("Not implemented: createScripting")}createSignatureStorage(){throw new Error("Not implemented: createSignatureStorage")}updateEditorStates(e){throw new Error("Not implemented: updateEditorStates")}dispatchGlobalEvent(e){}}function preferences_classPrivateFieldInitSpec(e,t,i){(function preferences_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,i)}function preferences_classPrivateFieldGet(e,t){return e.get(preferences_assertClassBrand(e,t))}function preferences_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var Et=new WeakMap,At=new WeakMap;class BasePreferences{constructor(){preferences_classPrivateFieldInitSpec(this,Et,Object.freeze({}));preferences_classPrivateFieldInitSpec(this,At,null);!function preferences_classPrivateFieldSet(e,t,i){return e.set(preferences_assertClassBrand(e,t),i),i}(At,this,this._readFromStorage(preferences_classPrivateFieldGet(Et,this)).then((e=>{let{browserPrefs:t,prefs:i}=e;AppOptions._checkDisablePreferences()||AppOptions.setAll({...t,...i},!0)})))}async _writeToStorage(e){throw new Error("Not implemented: _writeToStorage")}async _readFromStorage(e){throw new Error("Not implemented: _readFromStorage")}async reset(){await preferences_classPrivateFieldGet(At,this);AppOptions.setAll(preferences_classPrivateFieldGet(Et,this),!0);await this._writeToStorage(preferences_classPrivateFieldGet(Et,this))}async set(e,t){await preferences_classPrivateFieldGet(At,this);AppOptions.setAll({[e]:t},!0);await this._writeToStorage(AppOptions.getAll(yt))}async get(e){await preferences_classPrivateFieldGet(At,this);return AppOptions.get(e)}get initializedPromise(){return preferences_classPrivateFieldGet(At,this)}}function download_manager_classPrivateFieldInitSpec(e,t,i){(function download_manager_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,i)}function download_manager_classPrivateFieldGet(e,t){return e.get(function download_manager_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}(e,t))}function download(e,t){const i=activeDocument,a=i.createElement("a");if(!a.click)throw new Error('DownloadManager: "a.click()" is not supported.');a.href=e;a.target="_parent";"download"in a&&(a.download=t);(i.body||i.documentElement).append(a);a.click();a.remove()}var kt=new WeakMap;class DownloadManager{constructor(){download_manager_classPrivateFieldInitSpec(this,kt,new WeakMap)}downloadData(e,t,i){download(URL.createObjectURL(new Blob([e],{type:i})),t)}openOrDownloadData(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const a=E(t),s=a?"application/pdf":"";if(a){let a,n=download_manager_classPrivateFieldGet(kt,this).get(e);if(!n){n=URL.createObjectURL(new Blob([e],{type:s}));download_manager_classPrivateFieldGet(kt,this).set(e,n)}a="?file="+encodeURIComponent(n+"#"+t);i&&(a+=`#${escape(i)}`);try{window.open(a);return!0}catch(t){console.error("openOrDownloadData:",t);URL.revokeObjectURL(n);download_manager_classPrivateFieldGet(kt,this).delete(e)}}this.downloadData(e,t,s);return!1}download(e,t,i){let a;if(e)a=URL.createObjectURL(new Blob([e],{type:"application/pdf"}));else{if(!h(t,"http://example.com")){console.error(`download - not a valid URL: ${t}`);return}a=t+"#pdfjs.action=download"}download(a,i)}}function event_utils_classPrivateFieldInitSpec(e,t,i){(function event_utils_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,i)}function event_utils_classPrivateFieldGet(e,t){return e.get(event_utils_assertClassBrand(e,t))}function event_utils_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}const Bt="event",Tt="timeout";async function waitOnEventOrTimeout(e){let{target:t,name:i,delay:a=0}=e;if("object"!=typeof t||!i||"string"!=typeof i||!(Number.isInteger(a)&&a>=0))throw new Error("waitOnEventOrTimeout - invalid parameters.");const{promise:s,resolve:n}=Promise.withResolvers(),r=new AbortController;function handler(e){r.abort();activeWindow.clearTimeout(o);n(e)}t[t instanceof EventBus?"_on":"addEventListener"](i,handler.bind(null,Bt),{signal:r.signal});const o=activeWindow.setTimeout(handler.bind(null,Tt),a);return s}var It=new WeakMap;class EventBus{constructor(){event_utils_classPrivateFieldInitSpec(this,It,Object.create(null))}on(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._on(e,t,{external:!0,once:i?.once,signal:i?.signal})}off(e,t){this._off(e,t)}dispatch(e,t){const i=event_utils_classPrivateFieldGet(It,this)[e];if(!i||0===i.length)return;let a;for(const{listener:s,external:n,once:r}of i.slice(0)){r&&this._off(e,s);n?(a||=[]).push(s):s(t)}if(a){for(const e of a)e(t);a=null}}_on(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;if(i?.signal instanceof AbortSignal){const{signal:s}=i;if(s.aborted){console.error("Cannot use an `aborted` signal.");return}const onAbort=()=>this._off(e,t);a=()=>s.removeEventListener("abort",onAbort);s.addEventListener("abort",onAbort)}(event_utils_classPrivateFieldGet(It,this)[e]||=[]).push({listener:t,external:!0===i?.external,once:!0===i?.once,rmAbort:a})}_off(e,t){const i=event_utils_classPrivateFieldGet(It,this)[e];if(i)for(let e=0,a=i.length;e2&&void 0!==arguments[2]&&arguments[2];super();!function password_prompt_classPrivateMethodInitSpec(e,t){password_prompt_checkPrivateRedeclaration(e,t),t.add(e)}(this,Gt);password_prompt_classPrivateFieldInitSpec(this,Dt,null);password_prompt_classPrivateFieldInitSpec(this,Mt,null);password_prompt_classPrivateFieldInitSpec(this,Lt,null);this.dialog=e.dialog;this.label=e.label;this.input=e.input;this.submitButton=e.submitButton;this.cancelButton=e.cancelButton;this.overlayManager=t;this._isViewerEmbedded=i;this.submitButton.addEventListener("click",password_prompt_assertClassBrand(Gt,this,_verify).bind(this));this.cancelButton.addEventListener("click",this.close.bind(this));this.input.addEventListener("keydown",(e=>{13===e.keyCode&&password_prompt_assertClassBrand(Gt,this,_verify).call(this)}));this.overlayManager.register(this.dialog,!0);this.dialog.addEventListener("close",password_prompt_assertClassBrand(Gt,this,_cancel).bind(this))}async open(){await(password_prompt_classPrivateFieldGet(Dt,this)?.promise);password_prompt_classPrivateFieldSet(Dt,this,Promise.withResolvers());try{await this.overlayManager.open(this.dialog)}catch(e){password_prompt_classPrivateFieldGet(Dt,this).resolve();throw e}const e=password_prompt_classPrivateFieldGet(Lt,this)===M.INCORRECT_PASSWORD;this._isViewerEmbedded&&!e||this.input.focus();this.label.setAttribute("data-l10n-id",e?"pdfjs-password-invalid":"pdfjs-password-label")}async close(){this.overlayManager.closeIfActive(this.dialog)}async setUpdateCallback(e,t){password_prompt_classPrivateFieldGet(Dt,this)&&await password_prompt_classPrivateFieldGet(Dt,this).promise;password_prompt_classPrivateFieldSet(Mt,this,e);password_prompt_classPrivateFieldSet(Lt,this,t)}}function _verify(){const e=this.input.value;e?.length>0&&password_prompt_assertClassBrand(Gt,this,_invokeCallback).call(this,e)}function _cancel(){password_prompt_assertClassBrand(Gt,this,_invokeCallback).call(this,new Error("PasswordPrompt cancelled."));password_prompt_classPrivateFieldGet(Dt,this).resolve()}function _invokeCallback(e){if(password_prompt_classPrivateFieldGet(Mt,this)){this.close();this.input.value="";password_prompt_classPrivateFieldGet(Mt,this).call(this,e);password_prompt_classPrivateFieldSet(Mt,this,null)}}function overlay_manager_classPrivateFieldInitSpec(e,t,i){(function overlay_manager_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,i)}function overlay_manager_classPrivateFieldSet(e,t,i){return e.set(overlay_manager_assertClassBrand(e,t),i),i}function overlay_manager_classPrivateFieldGet(e,t){return e.get(overlay_manager_assertClassBrand(e,t))}function overlay_manager_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var Ot=new WeakMap,Nt=new WeakMap;class OverlayManager{constructor(){overlay_manager_classPrivateFieldInitSpec(this,Ot,new WeakMap);overlay_manager_classPrivateFieldInitSpec(this,Nt,null)}get active(){return overlay_manager_classPrivateFieldGet(Nt,this)}async register(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if("object"!=typeof e)throw new Error("Not enough parameters.");if(overlay_manager_classPrivateFieldGet(Ot,this).has(e))throw new Error("The overlay is already registered.");overlay_manager_classPrivateFieldGet(Ot,this).set(e,{canForceClose:t});e.addEventListener("cancel",(e=>{let{target:t}=e;overlay_manager_classPrivateFieldGet(Nt,this)===t&&overlay_manager_classPrivateFieldSet(Nt,this,null)}))}async open(e){if(!overlay_manager_classPrivateFieldGet(Ot,this).has(e))throw new Error("The overlay does not exist.");if(overlay_manager_classPrivateFieldGet(Nt,this)){if(overlay_manager_classPrivateFieldGet(Nt,this)===e)throw new Error("The overlay is already active.");if(!overlay_manager_classPrivateFieldGet(Ot,this).get(e).canForceClose)throw new Error("Another overlay is currently active.");await this.close()}overlay_manager_classPrivateFieldSet(Nt,this,e);e.showModal()}async close(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:overlay_manager_classPrivateFieldGet(Nt,this);if(!overlay_manager_classPrivateFieldGet(Ot,this).has(e))throw new Error("The overlay does not exist.");if(!overlay_manager_classPrivateFieldGet(Nt,this))throw new Error("The overlay is currently not active.");if(overlay_manager_classPrivateFieldGet(Nt,this)!==e)throw new Error("Another overlay is currently active.");e.close();overlay_manager_classPrivateFieldSet(Nt,this,null)}async closeIfActive(e){overlay_manager_classPrivateFieldGet(Nt,this)===e&&await this.close(e)}}const Rt="selected";class BaseTreeViewer{constructor(e){this.container=e.container;this.eventBus=e.eventBus;this._l10n=e.l10n;this.reset()}reset(){this._pdfDocument=null;this._lastToggleIsShow=!0;this._currentTreeItem=null;this.container.textContent="";this.container.classList.remove("treeWithDeepNesting")}_dispatchEvent(e){throw new Error("Not implemented: _dispatchEvent")}_bindLink(e,t){throw new Error("Not implemented: _bindLink")}_normalizeTextContent(e){return removeNullCharacters(e,!0)||"–"}_addToggleButton(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=document.createElement("div");i.className="treeItemToggler";t&&i.classList.add("treeItemsHidden");i.onclick=t=>{t.stopPropagation();i.classList.toggle("treeItemsHidden");if(t.shiftKey){const t=!i.classList.contains("treeItemsHidden");this._toggleTreeItem(e,t)}};e.prepend(i)}_toggleTreeItem(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._l10n.pause();this._lastToggleIsShow=t;for(const i of e.querySelectorAll(".treeItemToggler"))i.classList.toggle("treeItemsHidden",!t);this._l10n.resume()}_toggleAllTreeItems(){this._toggleTreeItem(this.container,!this._lastToggleIsShow)}_finishRendering(e,t){if(arguments.length>2&&void 0!==arguments[2]&&arguments[2]){this.container.classList.add("treeWithDeepNesting");this._lastToggleIsShow=!e.querySelector(".treeItemsHidden")}this._l10n.pause();this.container.append(e);this._l10n.resume();this._dispatchEvent(t)}renderTree(e){throw new Error("Not implemented: render")}_updateCurrentTreeItem(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(this._currentTreeItem){this._currentTreeItem.classList.remove(Rt);this._currentTreeItem=null}if(e){e.classList.add(Rt);this._currentTreeItem=e}}_scrollToCurrentTreeItem(e){if(!e)return;this._l10n.pause();let t=e.parentNode;for(;t&&t!==this.container;){if(t.classList.contains("treeItem")){const e=t.firstElementChild;e?.classList.remove("treeItemsHidden")}t=t.parentNode}this._l10n.resume();this._updateCurrentTreeItem(e);this.container.scrollTo(e.offsetLeft,e.offsetTop+-100)}}class PDFOutlineViewer extends BaseTreeViewer{constructor(e){super(e);this.linkService=e.linkService;this.downloadManager=e.downloadManager;this.eventBus._on("toggleoutlinetree",this._toggleAllTreeItems.bind(this));this.eventBus._on("currentoutlineitem",this._currentOutlineItem.bind(this));this.eventBus._on("pagechanging",(e=>{this._currentPageNumber=e.pageNumber}));this.eventBus._on("pagesloaded",(e=>{this._isPagesLoaded=!!e.pagesCount;this._currentOutlineItemCapability?.resolve(this._isPagesLoaded)}));this.eventBus._on("sidebarviewchanged",(e=>{this._sidebarView=e.view}))}setPageNumber(e){this._currentPageNumber=e}reset(){super.reset();this._outline=null;this._pageNumberToDestHashCapability=null;this._currentPageNumber=1;this._isPagesLoaded=null;this._currentOutlineItemCapability?.resolve(!1);this._currentOutlineItemCapability=null}_dispatchEvent(e){this._currentOutlineItemCapability=Promise.withResolvers();0===e||this._pdfDocument?.loadingParams.disableAutoFetch?this._currentOutlineItemCapability.resolve(!1):null!==this._isPagesLoaded&&this._currentOutlineItemCapability.resolve(this._isPagesLoaded);this.eventBus.dispatch("outlineloaded",{source:this,outlineCount:e,currentOutlineItemPromise:this._currentOutlineItemCapability.promise})}_bindLink(e,t){let{url:i,newWindow:a,action:s,attachment:n,dest:r,setOCGState:o}=t;const{linkService:l}=this;if(i)l.addLinkAttributes(e,i,a);else if(s){e.href=l.getAnchorUrl("");e.onclick=()=>{l.executeNamedAction(s);return!1}}else if(n){e.href=l.getAnchorUrl("");e.onclick=()=>{this.downloadManager.openOrDownloadData(n.content,n.filename);return!1}}else if(o){e.href=l.getAnchorUrl("");e.onclick=()=>{l.executeSetOCGState(o);return!1}}else{e.href=l.getDestinationHash(r);e.onclick=e=>{this._updateCurrentTreeItem(e.target.parentNode);r&&l.goToDestination(r);return!1}}}_setStyles(e,t){let{bold:i,italic:a}=t;i&&(e.style.fontWeight="bold");a&&(e.style.fontStyle="italic")}_addToggleButton(e,t){let{count:i,items:a}=t,s=!1;if(i<0){let e=a.length;if(e>0){const t=[...a];for(;t.length>0;){const{count:i,items:a}=t.shift();if(i>0&&a.length>0){e+=a.length;t.push(...a)}}}Math.abs(i)===e&&(s=!0)}super._addToggleButton(e,s)}_toggleAllTreeItems(){this._outline&&super._toggleAllTreeItems()}renderTree(e){let{outline:t,pdfDocument:i}=e;this._outline&&this.reset();this._outline=t||null;this._pdfDocument=i||null;if(!t){this._dispatchEvent(0);return}const a=document.createDocumentFragment(),s=[{parent:a,items:t}];let n=0,r=!1;for(;s.length>0;){const e=s.shift();for(const t of e.items){const i=document.createElement("div");i.className="treeItem";const a=document.createElement("a");this._bindLink(a,t);this._setStyles(a,t);a.textContent=this._normalizeTextContent(t.title);i.append(a);if(t.items.length>0){r=!0;this._addToggleButton(i,t);const e=document.createElement("div");e.className="treeItems";i.append(e);s.push({parent:e,items:t.items})}e.parent.append(i);n++}}this._finishRendering(a,n,r)}async _currentOutlineItem(){if(!this._isPagesLoaded)throw new Error("_currentOutlineItem: All pages have not been loaded.");if(!this._outline||!this._pdfDocument)return;const e=await this._getPageNumberToDestHash(this._pdfDocument);if(e){this._updateCurrentTreeItem(null);if(this._sidebarView===ge)for(let t=this._currentPageNumber;t>0;t--){const i=e.get(t);if(!i)continue;const a=this.container.querySelector(`a[href="${i}"]`);if(a){this._scrollToCurrentTreeItem(a.parentNode);break}}}}async _getPageNumberToDestHash(e){if(this._pageNumberToDestHashCapability)return this._pageNumberToDestHashCapability.promise;this._pageNumberToDestHashCapability=Promise.withResolvers();const t=new Map,i=new Map,a=[{nesting:0,items:this._outline}];for(;a.length>0;){const s=a.shift(),n=s.nesting;for(const{dest:r,items:o}of s.items){let s,l;if("string"==typeof r){s=await e.getDestination(r);if(e!==this._pdfDocument)return null}else s=r;if(Array.isArray(s)){const[a]=s;a&&"object"==typeof a?l=e.cachedPageNumber(a):Number.isInteger(a)&&(l=a+1);if(Number.isInteger(l)&&(!t.has(l)||n>i.get(l))){const e=this.linkService.getDestinationHash(r);t.set(l,e);i.set(l,n)}}o.length>0&&a.push({nesting:n+1,items:o})}}this._pageNumberToDestHashCapability.resolve(t.size>0?t:null);return this._pageNumberToDestHashCapability.promise}}class FluentType{constructor(e){this.value=e}valueOf(){return this.value}}class FluentNone extends FluentType{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"???")}toString(e){return`{${this.value}}`}}class FluentNumber extends FluentType{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e);this.opts=t}toString(e){if(e)try{return e.memoizeIntlObject(Intl.NumberFormat,this.opts).format(this.value)}catch(t){e.reportError(t)}return this.value.toString(10)}}class FluentDateTime extends FluentType{static supportsValue(e){if("number"==typeof e)return!0;if(e instanceof Date)return!0;if(e instanceof FluentType)return FluentDateTime.supportsValue(e.valueOf());if("Temporal"in globalThis){const t=globalThis.Temporal;if(e instanceof t.Instant||e instanceof t.PlainDateTime||e instanceof t.PlainDate||e instanceof t.PlainMonthDay||e instanceof t.PlainTime||e instanceof t.PlainYearMonth)return!0}return!1}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e instanceof FluentDateTime){t={...e.opts,...t};e=e.value}else e instanceof FluentType&&(e=e.valueOf());"object"==typeof e&&"calendarId"in e&&void 0===t.calendar&&(t={...t,calendar:e.calendarId});super(e);this.opts=t}[Symbol.toPrimitive](e){return"string"===e?this.toString():this.toNumber()}toNumber(){const e=this.value;if("number"==typeof e)return e;if(e instanceof Date)return e.getTime();if("epochMilliseconds"in e)return e.epochMilliseconds;if("toZonedDateTime"in e)return e.toZonedDateTime("UTC").epochMilliseconds;throw new TypeError("Unwrapping a non-number value as a number")}toString(e){if(e)try{return e.memoizeIntlObject(Intl.DateTimeFormat,this.opts).format(this.value)}catch(t){e.reportError(t)}return"number"==typeof this.value||this.value instanceof Date?new Date(this.value).toISOString():this.value.toString()}}function match(e,t,i){if(i===t)return!0;if(i instanceof FluentNumber&&t instanceof FluentNumber&&i.value===t.value)return!0;if(t instanceof FluentNumber&&"string"==typeof i){if(i===e.memoizeIntlObject(Intl.PluralRules,t.opts).select(t.value))return!0}return!1}function getDefault(e,t,i){if(t[i])return resolvePattern(e,t[i].value);e.reportError(new RangeError("No default"));return new FluentNone}function getArguments(e,t){const i=[],a=Object.create(null);for(const s of t)"narg"===s.type?a[s.name]=resolveExpression(e,s.value):i.push(resolveExpression(e,s));return{positional:i,named:a}}function resolveExpression(e,t){switch(t.type){case"str":return t.value;case"num":return new FluentNumber(t.value,{minimumFractionDigits:t.precision});case"var":return function resolveVariableReference(e,t){let i,{name:a}=t;if(e.params){if(!Object.prototype.hasOwnProperty.call(e.params,a))return new FluentNone(`$${a}`);i=e.params[a]}else{if(!e.args||!Object.prototype.hasOwnProperty.call(e.args,a)){e.reportError(new ReferenceError(`Unknown variable: $${a}`));return new FluentNone(`$${a}`)}i=e.args[a]}if(i instanceof FluentType)return i;switch(typeof i){case"string":return i;case"number":return new FluentNumber(i);case"object":if(FluentDateTime.supportsValue(i))return new FluentDateTime(i);default:e.reportError(new TypeError(`Variable type not supported: $${a}, ${typeof i}`));return new FluentNone(`$${a}`)}}(e,t);case"mesg":return function resolveMessageReference(e,t){let{name:i,attr:a}=t;const s=e.bundle._messages.get(i);if(!s){e.reportError(new ReferenceError(`Unknown message: ${i}`));return new FluentNone(i)}if(a){const t=s.attributes[a];if(t)return resolvePattern(e,t);e.reportError(new ReferenceError(`Unknown attribute: ${a}`));return new FluentNone(`${i}.${a}`)}if(s.value)return resolvePattern(e,s.value);e.reportError(new ReferenceError(`No value: ${i}`));return new FluentNone(i)}(e,t);case"term":return function resolveTermReference(e,t){let{name:i,attr:a,args:s}=t;const n=`-${i}`,r=e.bundle._terms.get(n);if(!r){e.reportError(new ReferenceError(`Unknown term: ${n}`));return new FluentNone(n)}if(a){const t=r.attributes[a];if(t){e.params=getArguments(e,s).named;const i=resolvePattern(e,t);e.params=null;return i}e.reportError(new ReferenceError(`Unknown attribute: ${a}`));return new FluentNone(`${n}.${a}`)}e.params=getArguments(e,s).named;const o=resolvePattern(e,r.value);e.params=null;return o}(e,t);case"func":return function resolveFunctionReference(e,t){let{name:i,args:a}=t,s=e.bundle._functions[i];if(!s){e.reportError(new ReferenceError(`Unknown function: ${i}()`));return new FluentNone(`${i}()`)}if("function"!=typeof s){e.reportError(new TypeError(`Function ${i}() is not callable`));return new FluentNone(`${i}()`)}try{let t=getArguments(e,a);return s(t.positional,t.named)}catch(t){e.reportError(t);return new FluentNone(`${i}()`)}}(e,t);case"select":return function resolveSelectExpression(e,t){let{selector:i,variants:a,star:s}=t,n=resolveExpression(e,i);if(n instanceof FluentNone)return getDefault(e,a,s);for(const t of a){if(match(e,n,resolveExpression(e,t.key)))return resolvePattern(e,t.value)}return getDefault(e,a,s)}(e,t);default:return new FluentNone}}function resolveComplexPattern(e,t){if(e.dirty.has(t)){e.reportError(new RangeError("Cyclic reference"));return new FluentNone}e.dirty.add(t);const i=[],a=e.bundle._useIsolating&&t.length>1;for(const s of t)if("string"!=typeof s){e.placeables++;if(e.placeables>100){e.dirty.delete(t);throw new RangeError(`Too many placeables expanded: ${e.placeables}, max allowed is 100`)}a&&i.push("⁨");i.push(resolveExpression(e,s).toString(e));a&&i.push("⁩")}else i.push(e.bundle._transform(s));e.dirty.delete(t);return i.join("")}function resolvePattern(e,t){return"string"==typeof t?e.bundle._transform(t):resolveComplexPattern(e,t)}class Scope{constructor(e,t,i){this.dirty=new WeakSet;this.params=null;this.placeables=0;this.bundle=e;this.errors=t;this.args=i}reportError(e){if(!(this.errors&&e instanceof Error))throw e;this.errors.push(e)}memoizeIntlObject(e,t){let i=this.bundle._intls.get(e);if(!i){i={};this.bundle._intls.set(e,i)}let a=JSON.stringify(t);i[a]||(i[a]=new e(this.bundle.locales,t));return i[a]}}function values(e,t){const i=Object.create(null);for(const[a,s]of Object.entries(e))t.includes(a)&&(i[a]=s.valueOf());return i}const jt=["unitDisplay","currencyDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"];function NUMBER(e,t){let i=e[0];if(i instanceof FluentNone)return new FluentNone(`NUMBER(${i.valueOf()})`);if(i instanceof FluentNumber)return new FluentNumber(i.valueOf(),{...i.opts,...values(t,jt)});if(i instanceof FluentDateTime)return new FluentNumber(i.toNumber(),{...values(t,jt)});throw new TypeError("Invalid argument to NUMBER")}const Vt=["dateStyle","timeStyle","fractionalSecondDigits","dayPeriod","hour12","weekday","era","year","month","day","hour","minute","second","timeZoneName"];function DATETIME(e,t){let i=e[0];if(i instanceof FluentNone)return new FluentNone(`DATETIME(${i.valueOf()})`);if(i instanceof FluentDateTime||i instanceof FluentNumber)return new FluentDateTime(i,values(t,Vt));throw new TypeError("Invalid argument to DATETIME")}const Wt=new Map;class FluentBundle{constructor(e){let{functions:t,useIsolating:i=!0,transform:a=e=>e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._terms=new Map;this._messages=new Map;this.locales=Array.isArray(e)?e:[e];this._functions={NUMBER,DATETIME,...t};this._useIsolating=i;this._transform=a;this._intls=function getMemoizerForLocale(e){const t=Array.isArray(e)?e.join(" "):e;let i=Wt.get(t);if(void 0===i){i=new Map;Wt.set(t,i)}return i}(e)}hasMessage(e){return this._messages.has(e)}getMessage(e){return this._messages.get(e)}addResource(e){let{allowOverrides:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=[];for(let a=0;a1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if("string"==typeof e)return this._transform(e);let a=new Scope(this,i,t);try{return resolveComplexPattern(a,e).toString(a)}catch(e){if(a.errors&&e instanceof Error){a.errors.push(e);return(new FluentNone).toString(a)}throw e}}}const zt=/^(-?[a-zA-Z][\w-]*) *= */gm,Ut=/\.([a-zA-Z][\w-]*) *= */y,Ht=/\*?\[/y,$t=/(-?[0-9]+(?:\.([0-9]+))?)/y,qt=/([a-zA-Z][\w-]*)/y,Xt=/([$-])?([a-zA-Z][\w-]*)(?:\.([a-zA-Z][\w-]*))?/y,Kt=/^[A-Z][A-Z0-9_-]*$/,Zt=/([^{}\n\r]+)/y,Qt=/([^\\"\n\r]*)/y,Yt=/\\([\\"])/y,Jt=/\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{6})/y,ei=/^\n+/,ti=/ +$/,ii=/ *\r?\n/g,ai=/( *)$/,si=/{\s*/y,ni=/\s*}/y,ri=/\[\s*/y,oi=/\s*] */y,li=/\s*\(\s*/y,di=/\s*->\s*/y,ci=/\s*:\s*/y,ui=/\s*,?\s*/y,hi=/\s+/y;class FluentResource{constructor(e){this.body=[];zt.lastIndex=0;let t=0;for(;;){let i=zt.exec(e);if(null===i)break;t=zt.lastIndex;try{this.body.push(parseMessage(i[1]))}catch(e){if(e instanceof SyntaxError)continue;throw e}}function test(i){i.lastIndex=t;return i.test(e)}function consumeChar(i,a){if(e[t]===i){t++;return!0}if(a)throw new a(`Expected ${i}`);return!1}function consumeToken(e,i){if(test(e)){t=e.lastIndex;return!0}if(i)throw new i(`Expected ${e.toString()}`);return!1}function match(i){i.lastIndex=t;let a=i.exec(e);if(null===a)throw new SyntaxError(`Expected ${i.toString()}`);t=i.lastIndex;return a}function match1(e){return match(e)[1]}function parseMessage(e){let t=parsePattern(),i=function parseAttributes(){let e=Object.create(null);for(;test(Ut);){let t=match1(Ut),i=parsePattern();if(null===i)throw new SyntaxError("Expected attribute value");e[t]=i}return e}();if(null===t&&0===Object.keys(i).length)throw new SyntaxError("Expected message value or attributes");return{id:e,value:t,attributes:i}}function parsePattern(){let i;test(Zt)&&(i=match1(Zt));if("{"===e[t]||"}"===e[t])return parsePatternElements(i?[i]:[],1/0);let a=parseIndent();if(a){if(i)return parsePatternElements([i,a],a.length);a.value=trim(a.value,ei);return parsePatternElements([a],a.length)}return i?trim(i,ti):null}function parsePatternElements(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1?arguments[1]:void 0;for(;;){if(test(Zt)){i.push(match1(Zt));continue}if("{"===e[t]){i.push(parsePlaceable());continue}if("}"===e[t])throw new SyntaxError("Unbalanced closing brace");let s=parseIndent();if(!s)break;i.push(s);a=Math.min(a,s.length)}let s=i.length-1,n=i[s];"string"==typeof n&&(i[s]=trim(n,ti));let r=[];for(let e of i){e instanceof Indent&&(e=e.value.slice(0,e.value.length-a));e&&r.push(e)}return r}function parsePlaceable(){consumeToken(si,SyntaxError);let e=parseInlineExpression();if(consumeToken(ni))return e;if(consumeToken(di)){let t=function parseVariants(){let e,t=[],i=0;for(;test(Ht);){consumeChar("*")&&(e=i);let a=parseVariantKey(),s=parsePattern();if(null===s)throw new SyntaxError("Expected variant value");t[i++]={key:a,value:s}}if(0===i)return null;if(void 0===e)throw new SyntaxError("Expected default variant");return{variants:t,star:e}}();consumeToken(ni,SyntaxError);return{type:"select",selector:e,...t}}throw new SyntaxError("Unclosed placeable")}function parseInlineExpression(){if("{"===e[t])return parsePlaceable();if(test(Xt)){let[,i,a,s=null]=match(Xt);if("$"===i)return{type:"var",name:a};if(consumeToken(li)){let n=function parseArguments(){let i=[];for(;;){switch(e[t]){case")":t++;return i;case void 0:throw new SyntaxError("Unclosed argument list")}i.push(parseArgument());consumeToken(ui)}}();if("-"===i)return{type:"term",name:a,attr:s,args:n};if(Kt.test(a))return{type:"func",name:a,args:n};throw new SyntaxError("Function names must be all upper-case")}return"-"===i?{type:"term",name:a,attr:s,args:[]}:{type:"mesg",name:a,attr:s}}return parseLiteral()}function parseArgument(){let e=parseInlineExpression();return"mesg"!==e.type?e:consumeToken(ci)?{type:"narg",name:e.name,value:parseLiteral()}:e}function parseVariantKey(){consumeToken(ri,SyntaxError);let e;e=test($t)?parseNumberLiteral():{type:"str",value:match1(qt)};consumeToken(oi,SyntaxError);return e}function parseLiteral(){if(test($t))return parseNumberLiteral();if('"'===e[t])return function parseStringLiteral(){consumeChar('"',SyntaxError);let i="";for(;;){i+=match1(Qt);if("\\"!==e[t]){if(consumeChar('"'))return{type:"str",value:i};throw new SyntaxError("Unclosed string literal")}i+=parseEscapeSequence()}}();throw new SyntaxError("Invalid expression")}function parseNumberLiteral(){let[,e,t=""]=match($t),i=t.length;return{type:"num",value:parseFloat(e),precision:i}}function parseEscapeSequence(){if(test(Yt))return match1(Yt);if(test(Jt)){let[,e,t]=match(Jt),i=parseInt(e||t,16);return i<=55295||57344<=i?String.fromCodePoint(i):"�"}throw new SyntaxError("Unknown escape sequence")}function parseIndent(){let i=t;consumeToken(hi);switch(e[t]){case".":case"[":case"*":case"}":case void 0:return!1;case"{":return makeIndent(e.slice(i,t))}return" "===e[t-1]&&makeIndent(e.slice(i,t))}function trim(e,t){return e.replace(t,"")}function makeIndent(e){let t=e.replace(ii,"\n"),i=ai.exec(e)[1].length;return new Indent(t,i)}}}class Indent{constructor(e,t){this.value=e;this.length=t}}const _i=/<|&#?\w+;/,pi={"http://www.w3.org/1999/xhtml":["em","strong","small","s","cite","q","dfn","abbr","data","time","code","var","samp","kbd","sub","sup","i","b","u","mark","bdi","bdo","span","br","wbr"]},gi={"http://www.w3.org/1999/xhtml":{global:["title","aria-description","aria-label","aria-valuetext"],a:["download"],area:["download","alt"],input:["alt","placeholder"],menuitem:["label"],menu:["label"],optgroup:["label"],option:["label"],track:["label"],img:["alt"],textarea:["placeholder"],th:["abbr"]},"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul":{global:["accesskey","aria-label","aria-valuetext","label","title","tooltiptext"],description:["value"],key:["key","keycode"],label:["value"],textbox:["placeholder","value"]}};function translateElement(e,t){const{value:i}=t;if("string"==typeof i)if("title"===e.localName&&"http://www.w3.org/1999/xhtml"===e.namespaceURI)e.textContent=i;else if(_i.test(i)){const t=e.ownerDocument.createElementNS("http://www.w3.org/1999/xhtml","template");t.innerHTML=i;!function overlayChildNodes(e,t){for(const i of e.childNodes)if(i.nodeType!==i.TEXT_NODE)if(i.hasAttribute("data-l10n-name")){const a=getNodeForNamedElement(t,i);e.replaceChild(a,i)}else if(isElementAllowed(i)){const t=createSanitizedElement(i);e.replaceChild(t,i)}else{console.warn(`An element of forbidden type "${i.localName}" was found in the translation. Only safe text-level elements and elements with data-l10n-name are allowed.`);e.replaceChild(createTextNodeFromTextContent(i),i)}t.textContent="";t.appendChild(e)}(t.content,e)}else e.textContent=i;overlayAttributes(t,e)}function hasAttribute(e,t){if(!e)return!1;for(let i of e)if(i.name===t)return!0;return!1}function overlayAttributes(e,t){const i=t.hasAttribute("data-l10n-attrs")?t.getAttribute("data-l10n-attrs").split(",").map((e=>e.trim())):null;for(const a of Array.from(t.attributes))isAttrNameLocalizable(a.name,t,i)&&!hasAttribute(e.attributes,a.name)&&t.removeAttribute(a.name);if(e.attributes)for(const a of Array.from(e.attributes))isAttrNameLocalizable(a.name,t,i)&&t.getAttribute(a.name)!==a.value&&t.setAttribute(a.name,a.value)}function getNodeForNamedElement(e,t){const i=t.getAttribute("data-l10n-name"),a=e.querySelector(`[data-l10n-name="${i}"]`);if(!a){console.warn(`An element named "${i}" wasn't found in the source.`);return createTextNodeFromTextContent(t)}if(a.localName!==t.localName){console.warn(`An element named "${i}" was found in the translation but its type ${t.localName} didn't match the element found in the source (${a.localName}).`);return createTextNodeFromTextContent(t)}e.removeChild(a);return shallowPopulateUsing(t,a.cloneNode(!1))}function createSanitizedElement(e){const t=e.ownerDocument.createElement(e.localName);return shallowPopulateUsing(e,t)}function createTextNodeFromTextContent(e){return e.ownerDocument.createTextNode(e.textContent)}function isElementAllowed(e){const t=pi[e.namespaceURI];return t&&t.includes(e.localName)}function isAttrNameLocalizable(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(i&&i.includes(e))return!0;const a=gi[t.namespaceURI];if(!a)return!1;const s=e.toLowerCase(),n=t.localName;if(a.global.includes(s))return!0;if(!a[n])return!1;if(a[n].includes(s))return!0;if("http://www.w3.org/1999/xhtml"===t.namespaceURI&&"input"===n&&"value"===s){const e=t.type.toLowerCase();if("submit"===e||"button"===e||"reset"===e)return!0}return!1}function shallowPopulateUsing(e,t){t.textContent=e.textContent;overlayAttributes(e,t);return t}class CachedIterable extends Array{static from(e){return e instanceof this?e:new this(e)}}Symbol.iterator;class CachedAsyncIterable extends CachedIterable{constructor(e){super();if(Symbol.asyncIterator in Object(e))this.iterator=e[Symbol.asyncIterator]();else{if(!(Symbol.iterator in Object(e)))throw new TypeError("Argument must implement the iteration protocol.");this.iterator=e[Symbol.iterator]()}}[Symbol.asyncIterator](){const e=this;let t=0;return{async next(){e.length<=t&&e.push(e.iterator.next());return e[t++]}}}async touchNext(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=0;for(;t++0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;this.resourceIds=e;this.generateBundles=t;this.onChange(!0)}addResourceIds(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.resourceIds.push(...e);this.onChange(t);return this.resourceIds.length}removeResourceIds(e){this.resourceIds=this.resourceIds.filter((t=>!e.includes(t)));this.onChange();return this.resourceIds.length}async formatWithFallback(e,t){const i=[];let a=!1;for await(const s of this.bundles){a=!0;const n=keysFromBundle(t,s,e,i);if(0===n.size)break;if("undefined"!=typeof console){const e=s.locales[0],t=Array.from(n).join(", ");console.warn(`[fluent] Missing translations in ${e}: ${t}`)}}a||"undefined"==typeof console||console.warn(`[fluent] Request for keys failed because no resource bundles got generated.\n keys: ${JSON.stringify(e)}.\n resourceIds: ${JSON.stringify(this.resourceIds)}.`);return i}formatMessages(e){return this.formatWithFallback(e,messageFromBundle)}formatValues(e){return this.formatWithFallback(e,valueFromBundle)}async formatValue(e,t){const[i]=await this.formatValues([{id:e,args:t}]);return i}handleEvent(){this.onChange()}onChange(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.bundles=CachedAsyncIterable.from(this.generateBundles(this.resourceIds));e&&this.bundles.touchNext(2)}}function valueFromBundle(e,t,i,a){return i.value?e.formatPattern(i.value,a,t):null}function messageFromBundle(e,t,i,a){const s={value:null,attributes:null};i.value&&(s.value=e.formatPattern(i.value,a,t));let n=Object.keys(i.attributes);if(n.length>0){s.attributes=new Array(n.length);for(let[r,o]of n.entries()){let n=e.formatPattern(i.attributes[o],a,t);s.attributes[r]={name:o,value:n}}}return s}function keysFromBundle(e,t,i,a){const s=[],n=new Set;i.forEach(((i,r)=>{let{id:o,args:l}=i;if(void 0!==a[r])return;let d=t.getMessage(o);if(d){s.length=0;a[r]=e(t,s,d,l);if(s.length>0&&"undefined"!=typeof console){const e=t.locales[0],i=s.join(", ");console.warn(`[fluent][resolver] errors in ${e}/${o}: ${i}.`)}}else n.add(o)}));return n}const fi="data-l10n-id",vi="data-l10n-args",mi=`[${fi}]`;class DOMLocalization extends Localization{constructor(e,t){super(e,t);this.roots=new Set;this.pendingrAF=null;this.pendingElements=new Set;this.windowElement=null;this.mutationObserver=null;this.observerConfig={attributes:!0,characterData:!1,childList:!0,subtree:!0,attributeFilter:[fi,vi]}}onChange(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];super.onChange(e);this.roots&&this.translateRoots()}setAttributes(e,t,i){e.setAttribute(fi,t);i?e.setAttribute(vi,JSON.stringify(i)):e.removeAttribute(vi);return e}getAttributes(e){return{id:e.getAttribute(fi),args:JSON.parse(e.getAttribute(vi)||null)}}connectRoot(e){for(const t of this.roots)if(t===e||t.contains(e)||e.contains(t))throw new Error("Cannot add a root that overlaps with existing root.");if(this.windowElement){if(this.windowElement!==e.ownerDocument.defaultView)throw new Error("Cannot connect a root:\n DOMLocalization already has a root from a different window.")}else{this.windowElement=e.ownerDocument.defaultView;this.mutationObserver=new this.windowElement.MutationObserver((e=>this.translateMutations(e)))}this.roots.add(e);this.mutationObserver.observe(e,this.observerConfig)}disconnectRoot(e){this.roots.delete(e);this.pauseObserving();if(0===this.roots.size){this.mutationObserver=null;this.windowElement&&this.pendingrAF&&this.windowElement.cancelAnimationFrame(this.pendingrAF);this.windowElement=null;this.pendingrAF=null;this.pendingElements.clear();return!0}this.resumeObserving();return!1}translateRoots(){const e=Array.from(this.roots);return Promise.all(e.map((e=>this.translateFragment(e))))}pauseObserving(){if(this.mutationObserver){this.translateMutations(this.mutationObserver.takeRecords());this.mutationObserver.disconnect()}}resumeObserving(){if(this.mutationObserver)for(const e of this.roots)this.mutationObserver.observe(e,this.observerConfig)}translateMutations(e){for(const t of e)switch(t.type){case"attributes":t.target.hasAttribute("data-l10n-id")&&this.pendingElements.add(t.target);break;case"childList":for(const e of t.addedNodes)if(e.nodeType===e.ELEMENT_NODE)if(e.childElementCount)for(const t of this.getTranslatables(e))this.pendingElements.add(t);else e.hasAttribute(fi)&&this.pendingElements.add(e)}this.pendingElements.size>0&&null===this.pendingrAF&&(this.pendingrAF=this.windowElement.requestAnimationFrame((()=>{this.translateElements(Array.from(this.pendingElements));this.pendingElements.clear();this.pendingrAF=null})))}translateFragment(e){return this.translateElements(this.getTranslatables(e))}async translateElements(e){if(!e.length)return;const t=e.map(this.getKeysForElement),i=await this.formatMessages(t);return this.applyTranslations(e,i)}applyTranslations(e,t){this.pauseObserving();for(let i=0;i1&&void 0!==arguments[1]?arguments[1]:null;l10n_classPrivateFieldInitSpec(this,wi,void 0);l10n_classPrivateFieldInitSpec(this,bi,void 0);l10n_classPrivateFieldInitSpec(this,Pi,void 0);l10n_classPrivateFieldInitSpec(this,Fi,void 0);l10n_classPrivateFieldSet(Pi,this,_fixupLangCode.call(L10n,t));l10n_classPrivateFieldSet(Fi,this,a);l10n_classPrivateFieldSet(wi,this,i??l10n_isRTL.call(L10n,l10n_classPrivateFieldGet(Pi,this))?"rtl":"ltr")}_setL10n(e){l10n_classPrivateFieldSet(Fi,this,e)}getLanguage(){return l10n_classPrivateFieldGet(Pi,this)}getDirection(){return l10n_classPrivateFieldGet(wi,this)}async get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2?arguments[2]:void 0;if(Array.isArray(e)){e=e.map((e=>({id:e})));return(await l10n_classPrivateFieldGet(Fi,this).formatMessages(e)).map((e=>e.value))}const a=await l10n_classPrivateFieldGet(Fi,this).formatMessages([{id:e,args:t}]);return a[0]?.value||i}async translate(e){(l10n_classPrivateFieldGet(bi,this)||l10n_classPrivateFieldSet(bi,this,new Set)).add(e);try{l10n_classPrivateFieldGet(Fi,this).connectRoot(e);await l10n_classPrivateFieldGet(Fi,this).translateRoots()}catch{}}async translateOnce(e){try{await l10n_classPrivateFieldGet(Fi,this).translateElements([e])}catch(e){console.error("translateOnce:",e)}}async destroy(){if(l10n_classPrivateFieldGet(bi,this)){for(const e of l10n_classPrivateFieldGet(bi,this))l10n_classPrivateFieldGet(Fi,this).disconnectRoot(e);l10n_classPrivateFieldGet(bi,this).clear();l10n_classPrivateFieldSet(bi,this,null)}l10n_classPrivateFieldGet(Fi,this).pauseObserving()}pause(){l10n_classPrivateFieldGet(Fi,this).pauseObserving()}resume(){l10n_classPrivateFieldGet(Fi,this).resumeObserving()}}function _fixupLangCode(e){return{en:"en-us",es:"es-es",fy:"fy-nl",ga:"ga-ie",gu:"gu-in",hi:"hi-in",hy:"hy-am",nb:"nb-no",ne:"ne-np",nn:"nn-no",pa:"pa-in",pt:"pt-pt",sv:"sv-se",zh:"zh-cn"}[e=e?.toLowerCase()||"en-us"]||e}function l10n_isRTL(e){const t=e.split("-",1)[0];return["ar","he","fa","ps","ur"].includes(t)}var yi;function genericl10n_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}function PLATFORM(){const{isAndroid:e,isLinux:t,isMac:i,isWindows:a}=g.platform;return t?"linux":a?"windows":i?"macos":e?"android":"other"}function createBundle(e,t){const i=new FluentResource(t),a=new FluentBundle(e,{functions:{PLATFORM}}),s=a.addResource(i);s.length&&console.error("L10n errors",s);return a}class genericl10n_GenericL10n extends L10n{constructor(e){super({lang:e});const t=e?_generateBundles.bind(genericl10n_GenericL10n,"en-us",this.getLanguage()):_generateBundlesFallback.bind(genericl10n_GenericL10n,this.getLanguage());this._setL10n(new DOMLocalization([],t))}}yi=genericl10n_GenericL10n;async function*_generateBundles(e,t){const{baseURL:i,paths:a}=await genericl10n_assertClassBrand(yi,this,_getPaths).call(this),s=[t];if(e!==t){const i=t.split("-",1)[0];i!==t&&s.push(i);s.push(e)}const n=s.map((e=>[e,genericl10n_assertClassBrand(yi,this,_createBundle).call(this,e,i,a)]));for(const[e,t]of n){const i=await t;i?yield i:"en-us"===e&&(yield genericl10n_assertClassBrand(yi,this,_createBundleFallback).call(this,e))}}async function _createBundle(e,t,i){const a=i[e];if(!a)return null;const s=new URL(a,t);return createBundle(e,await f(s,"text"))}async function _getPaths(){try{const{href:e}=document.querySelector('link[type="application/l10n"]'),t=await f(e,"json");return{baseURL:e.substring(0,e.lastIndexOf("/")+1)||"./",paths:t}}catch{}return{baseURL:"./",paths:Object.create(null)}}async function*_generateBundlesFallback(e){yield genericl10n_assertClassBrand(yi,this,_createBundleFallback).call(this,e)}async function _createBundleFallback(e){return createBundle(e,'pdfjs-previous-button =\n .title = Previous Page\npdfjs-previous-button-label = Previous\npdfjs-next-button =\n .title = Next Page\npdfjs-next-button-label = Next\npdfjs-page-input =\n .title = Page\npdfjs-of-pages = of { $pagesCount }\npdfjs-page-of-pages = ({ $pageNumber } of { $pagesCount })\npdfjs-zoom-out-button =\n .title = Zoom Out\npdfjs-zoom-out-button-label = Zoom Out\npdfjs-zoom-in-button =\n .title = Zoom In\npdfjs-zoom-in-button-label = Zoom In\npdfjs-zoom-select =\n .title = Zoom\npdfjs-presentation-mode-button =\n .title = Switch to Presentation Mode\npdfjs-presentation-mode-button-label = Presentation Mode\npdfjs-open-file-button =\n .title = Open File\npdfjs-open-file-button-label = Open\npdfjs-print-button =\n .title = Print\npdfjs-print-button-label = Print\npdfjs-save-button =\n .title = Save\npdfjs-save-button-label = Save\npdfjs-download-button =\n .title = Download\npdfjs-download-button-label = Download\npdfjs-bookmark-button =\n .title = Current Page (View URL from Current Page)\npdfjs-bookmark-button-label = Current Page\npdfjs-tools-button =\n .title = Tools\npdfjs-tools-button-label = Tools\npdfjs-first-page-button =\n .title = Go to First Page\npdfjs-first-page-button-label = Go to First Page\npdfjs-last-page-button =\n .title = Go to Last Page\npdfjs-last-page-button-label = Go to Last Page\npdfjs-page-rotate-cw-button =\n .title = Rotate Clockwise\npdfjs-page-rotate-cw-button-label = Rotate Clockwise\npdfjs-page-rotate-ccw-button =\n .title = Rotate Counterclockwise\npdfjs-page-rotate-ccw-button-label = Rotate Counterclockwise\npdfjs-cursor-text-select-tool-button =\n .title = Enable Text Selection Tool\npdfjs-cursor-text-select-tool-button-label = Text Selection Tool\npdfjs-cursor-hand-tool-button =\n .title = Enable Hand Tool\npdfjs-cursor-hand-tool-button-label = Hand Tool\npdfjs-scroll-page-button =\n .title = Use Page Scrolling\npdfjs-scroll-page-button-label = Page Scrolling\npdfjs-scroll-vertical-button =\n .title = Use Vertical Scrolling\npdfjs-scroll-vertical-button-label = Vertical Scrolling\npdfjs-scroll-horizontal-button =\n .title = Use Horizontal Scrolling\npdfjs-scroll-horizontal-button-label = Horizontal Scrolling\npdfjs-scroll-wrapped-button =\n .title = Use Wrapped Scrolling\npdfjs-scroll-wrapped-button-label = Wrapped Scrolling\npdfjs-spread-none-button =\n .title = Do not join page spreads\npdfjs-spread-none-button-label = No Spreads\npdfjs-spread-odd-button =\n .title = Join page spreads starting with odd-numbered pages\npdfjs-spread-odd-button-label = Odd Spreads\npdfjs-spread-even-button =\n .title = Join page spreads starting with even-numbered pages\npdfjs-spread-even-button-label = Even Spreads\npdfjs-document-properties-button =\n .title = Document Properties…\npdfjs-document-properties-button-label = Document Properties…\npdfjs-document-properties-file-name = File name:\npdfjs-document-properties-file-size = File size:\npdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } KB ({ $b } bytes)\npdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)\npdfjs-document-properties-title = Title:\npdfjs-document-properties-author = Author:\npdfjs-document-properties-subject = Subject:\npdfjs-document-properties-keywords = Keywords:\npdfjs-document-properties-creation-date = Creation Date:\npdfjs-document-properties-modification-date = Modification Date:\npdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }\npdfjs-document-properties-creator = Creator:\npdfjs-document-properties-producer = PDF Producer:\npdfjs-document-properties-version = PDF Version:\npdfjs-document-properties-page-count = Page Count:\npdfjs-document-properties-page-size = Page Size:\npdfjs-document-properties-page-size-unit-inches = in\npdfjs-document-properties-page-size-unit-millimeters = mm\npdfjs-document-properties-page-size-orientation-portrait = portrait\npdfjs-document-properties-page-size-orientation-landscape = landscape\npdfjs-document-properties-page-size-name-a-three = A3\npdfjs-document-properties-page-size-name-a-four = A4\npdfjs-document-properties-page-size-name-letter = Letter\npdfjs-document-properties-page-size-name-legal = Legal\npdfjs-document-properties-page-size-dimension-string = { $width } × { $height } { $unit } ({ $orientation })\npdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }, { $orientation })\npdfjs-document-properties-linearized = Fast Web View:\npdfjs-document-properties-linearized-yes = Yes\npdfjs-document-properties-linearized-no = No\npdfjs-document-properties-close-button = Close\npdfjs-print-progress-message = Preparing document for printing…\npdfjs-print-progress-percent = { $progress }%\npdfjs-print-progress-close-button = Cancel\npdfjs-printing-not-supported = Warning: Printing is not fully supported by this browser.\npdfjs-printing-not-ready = Warning: The PDF is not fully loaded for printing.\npdfjs-toggle-sidebar-button =\n .title = Toggle Sidebar\npdfjs-toggle-sidebar-notification-button =\n .title = Toggle Sidebar (document contains outline/attachments/layers)\npdfjs-toggle-sidebar-button-label = Toggle Sidebar\npdfjs-document-outline-button =\n .title = Show Document Outline (double-click to expand/collapse all items)\npdfjs-document-outline-button-label = Document Outline\npdfjs-attachments-button =\n .title = Show Attachments\npdfjs-attachments-button-label = Attachments\npdfjs-layers-button =\n .title = Show Layers (double-click to reset all layers to the default state)\npdfjs-layers-button-label = Layers\npdfjs-thumbs-button =\n .title = Show Thumbnails\npdfjs-thumbs-button-label = Thumbnails\npdfjs-current-outline-item-button =\n .title = Find Current Outline Item\npdfjs-current-outline-item-button-label = Current Outline Item\npdfjs-findbar-button =\n .title = Find in Document\npdfjs-findbar-button-label = Find\npdfjs-additional-layers = Additional Layers\npdfjs-thumb-page-title =\n .title = Page { $page }\npdfjs-thumb-page-canvas =\n .aria-label = Thumbnail of Page { $page }\npdfjs-find-input =\n .title = Find\n .placeholder = Find in document…\npdfjs-find-previous-button =\n .title = Find the previous occurrence of the phrase\npdfjs-find-previous-button-label = Previous\npdfjs-find-next-button =\n .title = Find the next occurrence of the phrase\npdfjs-find-next-button-label = Next\npdfjs-find-highlight-checkbox = Highlight All\npdfjs-find-match-case-checkbox-label = Match Case\npdfjs-find-match-diacritics-checkbox-label = Match Diacritics\npdfjs-find-entire-word-checkbox-label = Whole Words\npdfjs-find-reached-top = Reached top of document, continued from bottom\npdfjs-find-reached-bottom = Reached end of document, continued from top\npdfjs-find-match-count =\n { $total ->\n [one] { $current } of { $total } match\n *[other] { $current } of { $total } matches\n }\npdfjs-find-match-count-limit =\n { $limit ->\n [one] More than { $limit } match\n *[other] More than { $limit } matches\n }\npdfjs-find-not-found = Phrase not found\npdfjs-page-scale-width = Page Width\npdfjs-page-scale-fit = Page Fit\npdfjs-page-scale-auto = Automatic Zoom\npdfjs-page-scale-actual = Actual Size\npdfjs-page-scale-percent = { $scale }%\npdfjs-page-landmark =\n .aria-label = Page { $page }\npdfjs-loading-error = An error occurred while loading the PDF.\npdfjs-invalid-file-error = Invalid or corrupted PDF file.\npdfjs-missing-file-error = Missing PDF file.\npdfjs-unexpected-response-error = Unexpected server response.\npdfjs-rendering-error = An error occurred while rendering the page.\npdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: "short", timeStyle: "medium") }\npdfjs-text-annotation-type =\n .alt = [{ $type } Annotation]\npdfjs-password-label = Enter the password to open this PDF file.\npdfjs-password-invalid = Invalid password. Please try again.\npdfjs-password-ok-button = OK\npdfjs-password-cancel-button = Cancel\npdfjs-web-fonts-disabled = Web fonts are disabled: unable to use embedded PDF fonts.\npdfjs-editor-free-text-button =\n .title = Text\npdfjs-editor-free-text-button-label = Text\npdfjs-editor-ink-button =\n .title = Draw\npdfjs-editor-ink-button-label = Draw\npdfjs-editor-stamp-button =\n .title = Add or edit images\npdfjs-editor-stamp-button-label = Add or edit images\npdfjs-editor-highlight-button =\n .title = Highlight\npdfjs-editor-highlight-button-label = Highlight\npdfjs-highlight-floating-button1 =\n .title = Highlight\n .aria-label = Highlight\npdfjs-highlight-floating-button-label = Highlight\npdfjs-editor-signature-button =\n .title = Add signature\npdfjs-editor-signature-button-label = Add signature\npdfjs-editor-highlight-editor =\n .aria-label = Highlight editor\npdfjs-editor-ink-editor =\n .aria-label = Drawing editor\npdfjs-editor-signature-editor1 =\n .aria-description = Signature editor: { $description }\npdfjs-editor-stamp-editor =\n .aria-label = Image editor\npdfjs-editor-remove-ink-button =\n .title = Remove drawing\npdfjs-editor-remove-freetext-button =\n .title = Remove text\npdfjs-editor-remove-stamp-button =\n .title = Remove image\npdfjs-editor-remove-highlight-button =\n .title = Remove highlight\npdfjs-editor-remove-signature-button =\n .title = Remove signature\npdfjs-editor-free-text-color-input = Color\npdfjs-editor-free-text-size-input = Size\npdfjs-editor-ink-color-input = Color\npdfjs-editor-ink-thickness-input = Thickness\npdfjs-editor-ink-opacity-input = Opacity\npdfjs-editor-stamp-add-image-button =\n .title = Add image\npdfjs-editor-stamp-add-image-button-label = Add image\npdfjs-editor-free-highlight-thickness-input = Thickness\npdfjs-editor-free-highlight-thickness-title =\n .title = Change thickness when highlighting items other than text\npdfjs-editor-add-signature-container =\n .aria-label = Signature controls and saved signatures\npdfjs-editor-signature-add-signature-button =\n .title = Add new signature\npdfjs-editor-signature-add-signature-button-label = Add new signature\npdfjs-editor-add-saved-signature-button =\n .title = Saved signature: { $description }\npdfjs-free-text2 =\n .aria-label = Text Editor\n .default-content = Start typing…\npdfjs-editor-alt-text-button =\n .aria-label = Alt text\npdfjs-editor-alt-text-button-label = Alt text\npdfjs-editor-alt-text-edit-button =\n .aria-label = Edit alt text\npdfjs-editor-alt-text-dialog-label = Choose an option\npdfjs-editor-alt-text-dialog-description = Alt text (alternative text) helps when people can’t see the image or when it doesn’t load.\npdfjs-editor-alt-text-add-description-label = Add a description\npdfjs-editor-alt-text-add-description-description = Aim for 1-2 sentences that describe the subject, setting, or actions.\npdfjs-editor-alt-text-mark-decorative-label = Mark as decorative\npdfjs-editor-alt-text-mark-decorative-description = This is used for ornamental images, like borders or watermarks.\npdfjs-editor-alt-text-cancel-button = Cancel\npdfjs-editor-alt-text-save-button = Save\npdfjs-editor-alt-text-decorative-tooltip = Marked as decorative\npdfjs-editor-alt-text-textarea =\n .placeholder = For example, “A young man sits down at a table to eat a meal”\npdfjs-editor-resizer-top-left =\n .aria-label = Top left corner — resize\npdfjs-editor-resizer-top-middle =\n .aria-label = Top middle — resize\npdfjs-editor-resizer-top-right =\n .aria-label = Top right corner — resize\npdfjs-editor-resizer-middle-right =\n .aria-label = Middle right — resize\npdfjs-editor-resizer-bottom-right =\n .aria-label = Bottom right corner — resize\npdfjs-editor-resizer-bottom-middle =\n .aria-label = Bottom middle — resize\npdfjs-editor-resizer-bottom-left =\n .aria-label = Bottom left corner — resize\npdfjs-editor-resizer-middle-left =\n .aria-label = Middle left — resize\npdfjs-editor-highlight-colorpicker-label = Highlight color\npdfjs-editor-colorpicker-button =\n .title = Change color\npdfjs-editor-colorpicker-dropdown =\n .aria-label = Color choices\npdfjs-editor-colorpicker-yellow =\n .title = Yellow\npdfjs-editor-colorpicker-green =\n .title = Green\npdfjs-editor-colorpicker-blue =\n .title = Blue\npdfjs-editor-colorpicker-pink =\n .title = Pink\npdfjs-editor-colorpicker-red =\n .title = Red\npdfjs-editor-highlight-show-all-button-label = Show all\npdfjs-editor-highlight-show-all-button =\n .title = Show all\npdfjs-editor-new-alt-text-dialog-edit-label = Edit alt text (image description)\npdfjs-editor-new-alt-text-dialog-add-label = Add alt text (image description)\npdfjs-editor-new-alt-text-textarea =\n .placeholder = Write your description here…\npdfjs-editor-new-alt-text-description = Short description for people who can’t see the image or when the image doesn’t load.\npdfjs-editor-new-alt-text-disclaimer1 = This alt text was created automatically and may be inaccurate.\npdfjs-editor-new-alt-text-disclaimer-learn-more-url = Learn more\npdfjs-editor-new-alt-text-create-automatically-button-label = Create alt text automatically\npdfjs-editor-new-alt-text-not-now-button = Not now\npdfjs-editor-new-alt-text-error-title = Couldn’t create alt text automatically\npdfjs-editor-new-alt-text-error-description = Please write your own alt text or try again later.\npdfjs-editor-new-alt-text-error-close-button = Close\npdfjs-editor-new-alt-text-ai-model-downloading-progress = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)\n .aria-valuetext = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)\npdfjs-editor-new-alt-text-added-button =\n .aria-label = Alt text added\npdfjs-editor-new-alt-text-added-button-label = Alt text added\npdfjs-editor-new-alt-text-missing-button =\n .aria-label = Missing alt text\npdfjs-editor-new-alt-text-missing-button-label = Missing alt text\npdfjs-editor-new-alt-text-to-review-button =\n .aria-label = Review alt text\npdfjs-editor-new-alt-text-to-review-button-label = Review alt text\npdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = Created automatically: { $generatedAltText }\npdfjs-image-alt-text-settings-button =\n .title = Image alt text settings\npdfjs-image-alt-text-settings-button-label = Image alt text settings\npdfjs-editor-alt-text-settings-dialog-label = Image alt text settings\npdfjs-editor-alt-text-settings-automatic-title = Automatic alt text\npdfjs-editor-alt-text-settings-create-model-button-label = Create alt text automatically\npdfjs-editor-alt-text-settings-create-model-description = Suggests descriptions to help people who can’t see the image or when the image doesn’t load.\npdfjs-editor-alt-text-settings-download-model-label = Alt text AI model ({ $totalSize } MB)\npdfjs-editor-alt-text-settings-ai-model-description = Runs locally on your device so your data stays private. Required for automatic alt text.\npdfjs-editor-alt-text-settings-delete-model-button = Delete\npdfjs-editor-alt-text-settings-download-model-button = Download\npdfjs-editor-alt-text-settings-downloading-model-button = Downloading…\npdfjs-editor-alt-text-settings-editor-title = Alt text editor\npdfjs-editor-alt-text-settings-show-dialog-button-label = Show alt text editor right away when adding an image\npdfjs-editor-alt-text-settings-show-dialog-description = Helps you make sure all your images have alt text.\npdfjs-editor-alt-text-settings-close-button = Close\npdfjs-editor-undo-bar-message-highlight = Highlight removed\npdfjs-editor-undo-bar-message-freetext = Text removed\npdfjs-editor-undo-bar-message-ink = Drawing removed\npdfjs-editor-undo-bar-message-stamp = Image removed\npdfjs-editor-undo-bar-message-signature = Signature removed\npdfjs-editor-undo-bar-message-multiple =\n { $count ->\n [one] { $count } annotation removed\n *[other] { $count } annotations removed\n }\npdfjs-editor-undo-bar-undo-button =\n .title = Undo\npdfjs-editor-undo-bar-undo-button-label = Undo\npdfjs-editor-undo-bar-close-button =\n .title = Close\npdfjs-editor-undo-bar-close-button-label = Close\npdfjs-editor-add-signature-dialog-label = This modal allows the user to create a signature to add to a PDF document. The user can edit the name (which also serves as the alt text), and optionally save the signature for repeated use.\npdfjs-editor-add-signature-dialog-title = Add a signature\npdfjs-editor-add-signature-type-button = Type\n .title = Type\npdfjs-editor-add-signature-draw-button = Draw\n .title = Draw\npdfjs-editor-add-signature-image-button = Image\n .title = Image\npdfjs-editor-add-signature-type-input =\n .aria-label = Type your signature\n .placeholder = Type your signature\npdfjs-editor-add-signature-draw-placeholder = Draw your signature\npdfjs-editor-add-signature-draw-thickness-range-label = Thickness\npdfjs-editor-add-signature-draw-thickness-range =\n .title = Drawing thickness: { $thickness }\npdfjs-editor-add-signature-image-placeholder = Drag a file here to upload\npdfjs-editor-add-signature-image-browse-link =\n { PLATFORM() ->\n [macos] Or choose image files\n *[other] Or browse image files\n }\npdfjs-editor-add-signature-description-label = Description (alt text)\npdfjs-editor-add-signature-description-input =\n .title = Description (alt text)\npdfjs-editor-add-signature-description-default-when-drawing = Signature\npdfjs-editor-add-signature-clear-button-label = Clear signature\npdfjs-editor-add-signature-clear-button =\n .title = Clear signature\npdfjs-editor-add-signature-save-checkbox = Save signature\npdfjs-editor-add-signature-save-warning-message = You’ve reached the limit of 5 saved signatures. Remove one to save more.\npdfjs-editor-add-signature-image-upload-error-title = Couldn’t upload image\npdfjs-editor-add-signature-image-upload-error-description = Check your network connection or try another image.\npdfjs-editor-add-signature-error-close-button = Close\npdfjs-editor-add-signature-cancel-button = Cancel\npdfjs-editor-add-signature-add-button = Add\npdfjs-editor-delete-signature-button1 =\n .title = Remove saved signature\npdfjs-editor-delete-signature-button-label1 = Remove saved signature\npdfjs-editor-add-signature-edit-button-label = Edit description\npdfjs-editor-edit-signature-dialog-title = Edit description\npdfjs-editor-edit-signature-update-button = Update')}function annotation_editor_layer_builder_classPrivateFieldInitSpec(e,t,i){(function annotation_editor_layer_builder_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,i)}function annotation_editor_layer_builder_classPrivateFieldGet(e,t){return e.get(annotation_editor_layer_builder_assertClassBrand(e,t))}function annotation_editor_layer_builder_classPrivateFieldSet(e,t,i){return e.set(annotation_editor_layer_builder_assertClassBrand(e,t),i),i}function annotation_editor_layer_builder_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var Ci=new WeakMap,Si=new WeakMap,xi=new WeakMap,Ei=new WeakMap,Ai=new WeakMap,ki=new WeakMap;class AnnotationEditorLayerBuilder{constructor(e){annotation_editor_layer_builder_classPrivateFieldInitSpec(this,Ci,null);annotation_editor_layer_builder_classPrivateFieldInitSpec(this,Si,null);annotation_editor_layer_builder_classPrivateFieldInitSpec(this,xi,null);annotation_editor_layer_builder_classPrivateFieldInitSpec(this,Ei,null);annotation_editor_layer_builder_classPrivateFieldInitSpec(this,Ai,null);annotation_editor_layer_builder_classPrivateFieldInitSpec(this,ki,void 0);this.pdfPage=e.pdfPage;this.accessibilityManager=e.accessibilityManager;this.l10n=e.l10n;this.l10n||=new genericl10n_GenericL10n;this.annotationEditorLayer=null;this.div=null;this._cancelled=!1;annotation_editor_layer_builder_classPrivateFieldSet(ki,this,e.uiManager);annotation_editor_layer_builder_classPrivateFieldSet(Ci,this,e.annotationLayer||null);annotation_editor_layer_builder_classPrivateFieldSet(Ai,this,e.textLayer||null);annotation_editor_layer_builder_classPrivateFieldSet(Si,this,e.drawLayer||null);annotation_editor_layer_builder_classPrivateFieldSet(xi,this,e.onAppend||null);annotation_editor_layer_builder_classPrivateFieldSet(Ei,this,e.structTreeLayer||null)}async render(e){let{viewport:t,intent:i="display"}=e;if("display"!==i)return;if(this._cancelled)return;const s=t.clone({dontFlip:!0});if(this.div){this.annotationEditorLayer.update({viewport:s});this.show();return}const n=this.div=document.createElement("div");n.className="annotationEditorLayer";n.hidden=!0;n.dir=annotation_editor_layer_builder_classPrivateFieldGet(ki,this).direction;annotation_editor_layer_builder_classPrivateFieldGet(xi,this)?.call(this,n);this.annotationEditorLayer=new a({uiManager:annotation_editor_layer_builder_classPrivateFieldGet(ki,this),div:n,structTreeLayer:annotation_editor_layer_builder_classPrivateFieldGet(Ei,this),accessibilityManager:this.accessibilityManager,pageIndex:this.pdfPage.pageNumber-1,l10n:this.l10n,viewport:s,annotationLayer:annotation_editor_layer_builder_classPrivateFieldGet(Ci,this),textLayer:annotation_editor_layer_builder_classPrivateFieldGet(Ai,this),drawLayer:annotation_editor_layer_builder_classPrivateFieldGet(Si,this)});const r={viewport:s,div:n,annotations:null,intent:i};this.annotationEditorLayer.render(r);this.show()}cancel(){this._cancelled=!0;this.div&&this.annotationEditorLayer.destroy()}hide(){if(this.div){this.annotationEditorLayer.pause(!0);this.div.hidden=!0}}show(){if(this.div&&!this.annotationEditorLayer.isInvisible){this.div.hidden=!1;this.annotationEditorLayer.pause(!1)}}}function annotation_layer_builder_classPrivateFieldInitSpec(e,t,i){annotation_layer_builder_checkPrivateRedeclaration(e,t),t.set(e,i)}function annotation_layer_builder_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function annotation_layer_builder_classPrivateFieldGet(e,t){return e.get(annotation_layer_builder_assertClassBrand(e,t))}function annotation_layer_builder_classPrivateFieldSet(e,t,i){return e.set(annotation_layer_builder_assertClassBrand(e,t),i),i}function annotation_layer_builder_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var Bi=new WeakMap,Ti=new WeakMap,Ii=new WeakMap,Di=new WeakMap,Mi=new WeakMap,Li=new WeakSet;class AnnotationLayerBuilder{constructor(e){let{pdfPage:t,linkService:i,downloadManager:a,annotationStorage:s=null,imageResourcesPath:n="",renderForms:r=!0,enableScripting:o=!1,hasJSActionsPromise:l=null,fieldObjectsPromise:d=null,annotationCanvasMap:c=null,accessibilityManager:u=null,annotationEditorUIManager:h=null,onAppend:_=null}=e;!function annotation_layer_builder_classPrivateMethodInitSpec(e,t){annotation_layer_builder_checkPrivateRedeclaration(e,t),t.add(e)}(this,Li);annotation_layer_builder_classPrivateFieldInitSpec(this,Bi,null);annotation_layer_builder_classPrivateFieldInitSpec(this,Ti,!1);annotation_layer_builder_classPrivateFieldInitSpec(this,Ii,null);annotation_layer_builder_classPrivateFieldInitSpec(this,Di,null);annotation_layer_builder_classPrivateFieldInitSpec(this,Mi,!1);this.pdfPage=t;this.linkService=i;this.downloadManager=a;this.imageResourcesPath=n;this.renderForms=r;this.annotationStorage=s;this.enableScripting=o;this._hasJSActionsPromise=l||Promise.resolve(!1);this._fieldObjectsPromise=d||Promise.resolve(null);this._annotationCanvasMap=c;this._accessibilityManager=u;this._annotationEditorUIManager=h;annotation_layer_builder_classPrivateFieldSet(Ii,this,_);this.annotationLayer=null;this.div=null;this._cancelled=!1;this._eventBus=i.eventBus}async render(e){let{viewport:t,intent:i="display",structTreeLayer:a=null}=e;if(this.div){if(this._cancelled||!this.annotationLayer)return;this.annotationLayer.update({viewport:t.clone({dontFlip:!0})});return}const[s,n,r]=await Promise.all([this.pdfPage.getAnnotations({intent:i}),this._hasJSActionsPromise,this._fieldObjectsPromise]);if(this._cancelled)return;const o=this.div=document.createElement("div");o.className="annotationLayer";annotation_layer_builder_classPrivateFieldGet(Ii,this)?.call(this,o);if(0!==s.length){annotation_layer_builder_assertClassBrand(Li,this,_initAnnotationLayer).call(this,t,a);await this.annotationLayer.render({annotations:s,imageResourcesPath:this.imageResourcesPath,renderForms:this.renderForms,linkService:this.linkService,downloadManager:this.downloadManager,annotationStorage:this.annotationStorage,enableScripting:this.enableScripting,hasJSActions:n,fieldObjects:r});annotation_layer_builder_classPrivateFieldSet(Bi,this,s);this.linkService.isInPresentationMode&&annotation_layer_builder_assertClassBrand(Li,this,_updatePresentationModeState).call(this,ue);if(!annotation_layer_builder_classPrivateFieldGet(Di,this)){annotation_layer_builder_classPrivateFieldSet(Di,this,new AbortController);this._eventBus?._on("presentationmodechanged",(e=>{annotation_layer_builder_assertClassBrand(Li,this,_updatePresentationModeState).call(this,e.state)}),{signal:annotation_layer_builder_classPrivateFieldGet(Di,this).signal})}}else{annotation_layer_builder_classPrivateFieldSet(Bi,this,s);this.hide(!0)}}cancel(){this._cancelled=!0;annotation_layer_builder_classPrivateFieldGet(Di,this)?.abort();annotation_layer_builder_classPrivateFieldSet(Di,this,null)}hide(){annotation_layer_builder_classPrivateFieldSet(Ti,this,!(arguments.length>0&&void 0!==arguments[0]&&arguments[0]));this.div&&(this.div.hidden=!0)}hasEditableAnnotations(){return!!this.annotationLayer?.hasEditableAnnotations()}async injectLinkAnnotations(e){let{inferredLinks:t,viewport:i,structTreeLayer:a=null}=e;if(null===annotation_layer_builder_classPrivateFieldGet(Bi,this))throw new Error("`render` method must be called before `injectLinkAnnotations`.");if(this._cancelled||annotation_layer_builder_classPrivateFieldGet(Mi,this))return;annotation_layer_builder_classPrivateFieldSet(Mi,this,!0);const s=annotation_layer_builder_classPrivateFieldGet(Bi,this).length?annotation_layer_builder_assertClassBrand(Li,this,_checkInferredLinks).call(this,t):t;if(s.length){if(!this.annotationLayer){annotation_layer_builder_assertClassBrand(Li,this,_initAnnotationLayer).call(this,i,a);W(this.div,i)}await this.annotationLayer.addLinkAnnotations(s,this.linkService);annotation_layer_builder_classPrivateFieldGet(Ti,this)||(this.div.hidden=!1)}}getAnnotationAtPoint(e,t){return this.annotationLayer?.getAnnotationAtPoint(e,t)||null}}function _initAnnotationLayer(e,t){this.annotationLayer=new o({div:this.div,accessibilityManager:this._accessibilityManager,annotationCanvasMap:this._annotationCanvasMap,annotationEditorUIManager:this._annotationEditorUIManager,page:this.pdfPage,viewport:e.clone({dontFlip:!0}),structTreeLayer:t})}function _updatePresentationModeState(e){if(!this.div)return;let t=!1;switch(e){case ue:t=!0;break;case de:break;default:return}for(const e of this.div.childNodes)e.hasAttribute("data-internal-link")||(e.inert=t)}function _checkInferredLinks(e){function annotationRects(e){if(!e.quadPoints)return[e.rect];const t=[];for(let i=2,a=e.quadPoints.length;i{let t;for(const i of annotation_layer_builder_classPrivateFieldGet(Bi,this)){if(i.annotationType!==d.LINK||!i.url)continue;const a=intersectAnnotations(i,e);if(0!==a.length){t??=areaRects(annotationRects(e));if(areaRects(a)/t>.5)return!1}}return!0}))}__webpack_require__(2222);function autolinker_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}function DOMRectToPDF(e,t){let{width:i,height:a,left:s,top:n}=e;if(0===i||0===a)return null;const r=t.textLayer.div.getBoundingClientRect(),o=t.getPagePoint(s-r.left,n-r.top),l=t.getPagePoint(s-r.left+i,n-r.top+a);return Z.normalizeRect([o[0],o[1],l[0],l[1]])}function calculateLinkPosition(e,t){const i=e.getClientRects();if(1===i.length)return{rect:DOMRectToPDF(i[0],t)};const a=[1/0,1/0,-1/0,-1/0],s=[];let n=0;for(const e of i){const i=DOMRectToPDF(e,t);if(null!==i){s[n]=s[n+4]=i[0];s[n+1]=s[n+3]=i[3];s[n+2]=s[n+6]=i[2];s[n+5]=s[n+7]=i[1];Z.rectBoundingBox(...i,a);n+=8}}return{quadPoints:s,rect:a}}function textPosition(e,t){let i=e;do{if(i.nodeType===Node.TEXT_NODE){const e=i.textContent.length;if(t<=e)return[i,t];t-=e}else if(i.firstChild){i=i.firstChild;continue}for(;!i.nextSibling&&i!==e;)i=i.parentNode;i!==e&&(i=i.nextSibling)}while(i!==e);throw new Error("Offset is bigger than container's contents length.")}class Autolinker{static findLinks(e){autolinker_assertClassBrand(Autolinker,this,Oi)._??(Oi._=autolinker_assertClassBrand(Autolinker,this,/\b(?:https?:\/\/|mailto:|www\.)(?:[\0-\x08\x0E-\x1F\$\+0-9=A-Z\^`-z\|~-\x9F\xA2-\xA6\xA8-\xAA\xAC-\xB5\xB8-\xBA\xBC-\xBE\xC0-\u037D\u037F-\u0386\u0388-\u0559\u0560-\u0588\u058B-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7-\u05F2\u05F5-\u0608\u060B\u060E-\u061A\u061C\u0620-\u0669\u066E-\u06D3\u06D5-\u06FF\u070E-\u07F6\u07FA-\u082F\u083F-\u085D\u085F-\u0963\u0966-\u096F\u0971-\u09FC\u09FE-\u0A75\u0A77-\u0AEF\u0AF1-\u0C76\u0C78-\u0C83\u0C85-\u0DF3\u0DF5-\u0E4E\u0E50-\u0E59\u0E5C-\u0F03\u0F13\u0F15-\u0F39\u0F3E-\u0F84\u0F86-\u0FCF\u0FD5-\u0FD8\u0FDB-\u1049\u1050-\u10FA\u10FC-\u135F\u1369-\u13FF\u1401-\u166D\u166F-\u167F\u1681-\u169A\u169D-\u16EA\u16EE-\u1734\u1737-\u17D3\u17D7\u17DB-\u17FF\u180B-\u1943\u1946-\u1A1D\u1A20-\u1A9F\u1AA7\u1AAE-\u1B4D\u1B50-\u1B59\u1B61-\u1B7C\u1B80-\u1BFB\u1C00-\u1C3A\u1C40-\u1C7D\u1C80-\u1CBF\u1CC8-\u1CD2\u1CD4-\u1FFF\u200B-\u200F\u202A-\u202E\u2044\u2052\u2060-\u207C\u207F-\u208C\u208F-\u2307\u230C-\u2328\u232B-\u2767\u2776-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2CF8\u2CFD\u2D00-\u2D6F\u2D71-\u2DFF\u2E2F\u2E50\u2E51\u2E5E-\u2FFF\u3004-\u3007\u3012\u3013\u3020-\u302F\u3031-\u303C\u303E-\u309F\u30A1-\u30FA\u30FC-\uA4FD\uA500-\uA60C\uA610-\uA672\uA674-\uA67D\uA67F-\uA6F1\uA6F8-\uA873\uA878-\uA8CD\uA8D0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA95E\uA960-\uA9C0\uA9CE-\uA9DD\uA9E0-\uAA5B\uAA60-\uAADD\uAAE0-\uAAEF\uAAF2-\uABEA\uABEC-\uFD3D\uFD40-\uFE0F\uFE1A-\uFE2F\uFE53\uFE62\uFE64-\uFE67\uFE69\uFE6C-\uFEFE\uFF00\uFF04\uFF0B\uFF10-\uFF19\uFF1C-\uFF1E\uFF21-\uFF3A\uFF3E\uFF40-\uFF5A\uFF5C\uFF5E\uFF66-\u{100FF}\u{10103}-\u{1039E}\u{103A0}-\u{103CF}\u{103D1}-\u{1056E}\u{10570}-\u{10856}\u{10858}-\u{1091E}\u{10920}-\u{1093E}\u{10940}-\u{10A4F}\u{10A59}-\u{10A7E}\u{10A80}-\u{10AEF}\u{10AF7}-\u{10B38}\u{10B40}-\u{10B98}\u{10B9D}-\u{10D6D}\u{10D6F}-\u{10EAC}\u{10EAE}-\u{10F54}\u{10F5A}-\u{10F85}\u{10F8A}-\u{11046}\u{1104E}-\u{110BA}\u{110BD}\u{110C2}-\u{1113F}\u{11144}-\u{11173}\u{11176}-\u{111C4}\u{111C9}-\u{111CC}\u{111CE}-\u{111DA}\u{111DC}\u{111E0}-\u{11237}\u{1123E}-\u{112A8}\u{112AA}-\u{113D3}\u{113D6}\u{113D9}-\u{1144A}\u{11450}-\u{11459}\u{1145C}\u{1145E}-\u{114C5}\u{114C7}-\u{115C0}\u{115D8}-\u{11640}\u{11644}-\u{1165F}\u{1166D}-\u{116B8}\u{116BA}-\u{1173B}\u{1173F}-\u{1183A}\u{1183C}-\u{11943}\u{11947}-\u{119E1}\u{119E3}-\u{11A3E}\u{11A47}-\u{11A99}\u{11A9D}\u{11AA3}-\u{11AFF}\u{11B0A}-\u{11BE0}\u{11BE2}-\u{11C40}\u{11C46}-\u{11C6F}\u{11C72}-\u{11EF6}\u{11EF9}-\u{11F42}\u{11F50}-\u{11FFE}\u{12000}-\u{1246F}\u{12475}-\u{12FF0}\u{12FF3}-\u{16A6D}\u{16A70}-\u{16AF4}\u{16AF6}-\u{16B36}\u{16B3C}-\u{16B43}\u{16B45}-\u{16D6C}\u{16D70}-\u{16E96}\u{16E9B}-\u{16FE1}\u{16FE3}-\u{1BC9E}\u{1BCA0}-\u{1DA86}\u{1DA8C}-\u{1E5FE}\u{1E600}-\u{1E95D}\u{1E960}-\u{10FFFF}]|\/|[\0-\x08\x0E-\x1F!-Z\\\^-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uFEFE\uFF00-\u{10FFFF}]+[\0-\x08\x0E-\x1F\$\+0-9=A-Z\^`-z\|~-\x9F\xA2-\xA6\xA8-\xAA\xAC-\xB5\xB8-\xBA\xBC-\xBE\xC0-\u037D\u037F-\u0386\u0388-\u0559\u0560-\u0588\u058B-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7-\u05F2\u05F5-\u0608\u060B\u060E-\u061A\u061C\u0620-\u0669\u066E-\u06D3\u06D5-\u06FF\u070E-\u07F6\u07FA-\u082F\u083F-\u085D\u085F-\u0963\u0966-\u096F\u0971-\u09FC\u09FE-\u0A75\u0A77-\u0AEF\u0AF1-\u0C76\u0C78-\u0C83\u0C85-\u0DF3\u0DF5-\u0E4E\u0E50-\u0E59\u0E5C-\u0F03\u0F13\u0F15-\u0F39\u0F3E-\u0F84\u0F86-\u0FCF\u0FD5-\u0FD8\u0FDB-\u1049\u1050-\u10FA\u10FC-\u135F\u1369-\u13FF\u1401-\u166D\u166F-\u167F\u1681-\u169A\u169D-\u16EA\u16EE-\u1734\u1737-\u17D3\u17D7\u17DB-\u17FF\u180B-\u1943\u1946-\u1A1D\u1A20-\u1A9F\u1AA7\u1AAE-\u1B4D\u1B50-\u1B59\u1B61-\u1B7C\u1B80-\u1BFB\u1C00-\u1C3A\u1C40-\u1C7D\u1C80-\u1CBF\u1CC8-\u1CD2\u1CD4-\u1FFF\u200B-\u200F\u202A-\u202E\u2044\u2052\u2060-\u207C\u207F-\u208C\u208F-\u2307\u230C-\u2328\u232B-\u2767\u2776-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2CF8\u2CFD\u2D00-\u2D6F\u2D71-\u2DFF\u2E2F\u2E50\u2E51\u2E5E-\u2FFF\u3004-\u3007\u3012\u3013\u3020-\u302F\u3031-\u303C\u303E-\u309F\u30A1-\u30FA\u30FC-\uA4FD\uA500-\uA60C\uA610-\uA672\uA674-\uA67D\uA67F-\uA6F1\uA6F8-\uA873\uA878-\uA8CD\uA8D0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA95E\uA960-\uA9C0\uA9CE-\uA9DD\uA9E0-\uAA5B\uAA60-\uAADD\uAAE0-\uAAEF\uAAF2-\uABEA\uABEC-\uFD3D\uFD40-\uFE0F\uFE1A-\uFE2F\uFE53\uFE62\uFE64-\uFE67\uFE69\uFE6C-\uFEFE\uFF00\uFF04\uFF0B\uFF10-\uFF19\uFF1C-\uFF1E\uFF21-\uFF3A\uFF3E\uFF40-\uFF5A\uFF5C\uFF5E\uFF66-\u{100FF}\u{10103}-\u{1039E}\u{103A0}-\u{103CF}\u{103D1}-\u{1056E}\u{10570}-\u{10856}\u{10858}-\u{1091E}\u{10920}-\u{1093E}\u{10940}-\u{10A4F}\u{10A59}-\u{10A7E}\u{10A80}-\u{10AEF}\u{10AF7}-\u{10B38}\u{10B40}-\u{10B98}\u{10B9D}-\u{10D6D}\u{10D6F}-\u{10EAC}\u{10EAE}-\u{10F54}\u{10F5A}-\u{10F85}\u{10F8A}-\u{11046}\u{1104E}-\u{110BA}\u{110BD}\u{110C2}-\u{1113F}\u{11144}-\u{11173}\u{11176}-\u{111C4}\u{111C9}-\u{111CC}\u{111CE}-\u{111DA}\u{111DC}\u{111E0}-\u{11237}\u{1123E}-\u{112A8}\u{112AA}-\u{113D3}\u{113D6}\u{113D9}-\u{1144A}\u{11450}-\u{11459}\u{1145C}\u{1145E}-\u{114C5}\u{114C7}-\u{115C0}\u{115D8}-\u{11640}\u{11644}-\u{1165F}\u{1166D}-\u{116B8}\u{116BA}-\u{1173B}\u{1173F}-\u{1183A}\u{1183C}-\u{11943}\u{11947}-\u{119E1}\u{119E3}-\u{11A3E}\u{11A47}-\u{11A99}\u{11A9D}\u{11AA3}-\u{11AFF}\u{11B0A}-\u{11BE0}\u{11BE2}-\u{11C40}\u{11C46}-\u{11C6F}\u{11C72}-\u{11EF6}\u{11EF9}-\u{11F42}\u{11F50}-\u{11FFE}\u{12000}-\u{1246F}\u{12475}-\u{12FF0}\u{12FF3}-\u{16A6D}\u{16A70}-\u{16AF4}\u{16AF6}-\u{16B36}\u{16B3C}-\u{16B43}\u{16B45}-\u{16D6C}\u{16D70}-\u{16E96}\u{16E9B}-\u{16FE1}\u{16FE3}-\u{1BC9E}\u{1BCA0}-\u{1DA86}\u{1DA8C}-\u{1E5FE}\u{1E600}-\u{1E95D}\u{1E960}-\u{10FFFF}])+|\b[\0-\x08\x0E-\x1F!-'\*-;=\?A-Z\\\^-z\|~-\x9F\xA1-\u0F39\u0F3E-\u167F\u1681-\u169A\u169D-\u1FFF\u200B-\u2019\u201B-\u201D\u201F-\u2027\u202A-\u202E\u2030-\u2044\u2047-\u205E\u2060-\u207C\u207F-\u208C\u208F-\u2307\u230C-\u2328\u232B-\u2767\u2776-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2E21\u2E2A-\u2E41\u2E43-\u2E54\u2E5D-\u2FFF\u3001-\u3007\u3012\u3013\u301C\u3020-\uFD3D\uFD40-\uFE16\uFE19-\uFE34\uFE45\uFE46\uFE49-\uFE58\uFE5F-\uFEFE\uFF00-\uFF07\uFF0A-\uFF3A\uFF3C\uFF3E-\uFF5A\uFF5C\uFF5E\uFF61\uFF64-\u{10FFFF}]+@([\0-\x08\x0E-\x1F\$\+0-9=A-Z\^`-z\|~-\x9F\xA2-\xA6\xA8-\xAA\xAC-\xB5\xB8-\xBA\xBC-\xBE\xC0-\u037D\u037F-\u0386\u0388-\u0559\u0560-\u0588\u058B-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7-\u05F2\u05F5-\u0608\u060B\u060E-\u061A\u061C\u0620-\u0669\u066E-\u06D3\u06D5-\u06FF\u070E-\u07F6\u07FA-\u082F\u083F-\u085D\u085F-\u0963\u0966-\u096F\u0971-\u09FC\u09FE-\u0A75\u0A77-\u0AEF\u0AF1-\u0C76\u0C78-\u0C83\u0C85-\u0DF3\u0DF5-\u0E4E\u0E50-\u0E59\u0E5C-\u0F03\u0F13\u0F15-\u0F39\u0F3E-\u0F84\u0F86-\u0FCF\u0FD5-\u0FD8\u0FDB-\u1049\u1050-\u10FA\u10FC-\u135F\u1369-\u13FF\u1401-\u166D\u166F-\u167F\u1681-\u169A\u169D-\u16EA\u16EE-\u1734\u1737-\u17D3\u17D7\u17DB-\u17FF\u180B-\u1943\u1946-\u1A1D\u1A20-\u1A9F\u1AA7\u1AAE-\u1B4D\u1B50-\u1B59\u1B61-\u1B7C\u1B80-\u1BFB\u1C00-\u1C3A\u1C40-\u1C7D\u1C80-\u1CBF\u1CC8-\u1CD2\u1CD4-\u1FFF\u200B-\u200F\u202A-\u202E\u2044\u2052\u2060-\u207C\u207F-\u208C\u208F-\u2307\u230C-\u2328\u232B-\u2767\u2776-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2CF8\u2CFD\u2D00-\u2D6F\u2D71-\u2DFF\u2E2F\u2E50\u2E51\u2E5E-\u2FFF\u3004-\u3007\u3012\u3013\u3020-\u302F\u3031-\u303C\u303E-\u309F\u30A1-\u30FA\u30FC-\uA4FD\uA500-\uA60C\uA610-\uA672\uA674-\uA67D\uA67F-\uA6F1\uA6F8-\uA873\uA878-\uA8CD\uA8D0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA95E\uA960-\uA9C0\uA9CE-\uA9DD\uA9E0-\uAA5B\uAA60-\uAADD\uAAE0-\uAAEF\uAAF2-\uABEA\uABEC-\uFD3D\uFD40-\uFE0F\uFE1A-\uFE2F\uFE53\uFE62\uFE64-\uFE67\uFE69\uFE6C-\uFEFE\uFF00\uFF04\uFF0B\uFF10-\uFF19\uFF1C-\uFF1E\uFF21-\uFF3A\uFF3E\uFF40-\uFF5A\uFF5C\uFF5E\uFF66-\u{100FF}\u{10103}-\u{1039E}\u{103A0}-\u{103CF}\u{103D1}-\u{1056E}\u{10570}-\u{10856}\u{10858}-\u{1091E}\u{10920}-\u{1093E}\u{10940}-\u{10A4F}\u{10A59}-\u{10A7E}\u{10A80}-\u{10AEF}\u{10AF7}-\u{10B38}\u{10B40}-\u{10B98}\u{10B9D}-\u{10D6D}\u{10D6F}-\u{10EAC}\u{10EAE}-\u{10F54}\u{10F5A}-\u{10F85}\u{10F8A}-\u{11046}\u{1104E}-\u{110BA}\u{110BD}\u{110C2}-\u{1113F}\u{11144}-\u{11173}\u{11176}-\u{111C4}\u{111C9}-\u{111CC}\u{111CE}-\u{111DA}\u{111DC}\u{111E0}-\u{11237}\u{1123E}-\u{112A8}\u{112AA}-\u{113D3}\u{113D6}\u{113D9}-\u{1144A}\u{11450}-\u{11459}\u{1145C}\u{1145E}-\u{114C5}\u{114C7}-\u{115C0}\u{115D8}-\u{11640}\u{11644}-\u{1165F}\u{1166D}-\u{116B8}\u{116BA}-\u{1173B}\u{1173F}-\u{1183A}\u{1183C}-\u{11943}\u{11947}-\u{119E1}\u{119E3}-\u{11A3E}\u{11A47}-\u{11A99}\u{11A9D}\u{11AA3}-\u{11AFF}\u{11B0A}-\u{11BE0}\u{11BE2}-\u{11C40}\u{11C46}-\u{11C6F}\u{11C72}-\u{11EF6}\u{11EF9}-\u{11F42}\u{11F50}-\u{11FFE}\u{12000}-\u{1246F}\u{12475}-\u{12FF0}\u{12FF3}-\u{16A6D}\u{16A70}-\u{16AF4}\u{16AF6}-\u{16B36}\u{16B3C}-\u{16B43}\u{16B45}-\u{16D6C}\u{16D70}-\u{16E96}\u{16E9B}-\u{16FE1}\u{16FE3}-\u{1BC9E}\u{1BCA0}-\u{1DA86}\u{1DA8C}-\u{1E5FE}\u{1E600}-\u{1E95D}\u{1E960}-\u{10FFFF}]+(?:\.[\0-\x08\x0E-\x1F\$\+0-9=A-Z\^`-z\|~-\x9F\xA2-\xA6\xA8-\xAA\xAC-\xB5\xB8-\xBA\xBC-\xBE\xC0-\u037D\u037F-\u0386\u0388-\u0559\u0560-\u0588\u058B-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7-\u05F2\u05F5-\u0608\u060B\u060E-\u061A\u061C\u0620-\u0669\u066E-\u06D3\u06D5-\u06FF\u070E-\u07F6\u07FA-\u082F\u083F-\u085D\u085F-\u0963\u0966-\u096F\u0971-\u09FC\u09FE-\u0A75\u0A77-\u0AEF\u0AF1-\u0C76\u0C78-\u0C83\u0C85-\u0DF3\u0DF5-\u0E4E\u0E50-\u0E59\u0E5C-\u0F03\u0F13\u0F15-\u0F39\u0F3E-\u0F84\u0F86-\u0FCF\u0FD5-\u0FD8\u0FDB-\u1049\u1050-\u10FA\u10FC-\u135F\u1369-\u13FF\u1401-\u166D\u166F-\u167F\u1681-\u169A\u169D-\u16EA\u16EE-\u1734\u1737-\u17D3\u17D7\u17DB-\u17FF\u180B-\u1943\u1946-\u1A1D\u1A20-\u1A9F\u1AA7\u1AAE-\u1B4D\u1B50-\u1B59\u1B61-\u1B7C\u1B80-\u1BFB\u1C00-\u1C3A\u1C40-\u1C7D\u1C80-\u1CBF\u1CC8-\u1CD2\u1CD4-\u1FFF\u200B-\u200F\u202A-\u202E\u2044\u2052\u2060-\u207C\u207F-\u208C\u208F-\u2307\u230C-\u2328\u232B-\u2767\u2776-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2CF8\u2CFD\u2D00-\u2D6F\u2D71-\u2DFF\u2E2F\u2E50\u2E51\u2E5E-\u2FFF\u3004-\u3007\u3012\u3013\u3020-\u302F\u3031-\u303C\u303E-\u309F\u30A1-\u30FA\u30FC-\uA4FD\uA500-\uA60C\uA610-\uA672\uA674-\uA67D\uA67F-\uA6F1\uA6F8-\uA873\uA878-\uA8CD\uA8D0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA95E\uA960-\uA9C0\uA9CE-\uA9DD\uA9E0-\uAA5B\uAA60-\uAADD\uAAE0-\uAAEF\uAAF2-\uABEA\uABEC-\uFD3D\uFD40-\uFE0F\uFE1A-\uFE2F\uFE53\uFE62\uFE64-\uFE67\uFE69\uFE6C-\uFEFE\uFF00\uFF04\uFF0B\uFF10-\uFF19\uFF1C-\uFF1E\uFF21-\uFF3A\uFF3E\uFF40-\uFF5A\uFF5C\uFF5E\uFF66-\u{100FF}\u{10103}-\u{1039E}\u{103A0}-\u{103CF}\u{103D1}-\u{1056E}\u{10570}-\u{10856}\u{10858}-\u{1091E}\u{10920}-\u{1093E}\u{10940}-\u{10A4F}\u{10A59}-\u{10A7E}\u{10A80}-\u{10AEF}\u{10AF7}-\u{10B38}\u{10B40}-\u{10B98}\u{10B9D}-\u{10D6D}\u{10D6F}-\u{10EAC}\u{10EAE}-\u{10F54}\u{10F5A}-\u{10F85}\u{10F8A}-\u{11046}\u{1104E}-\u{110BA}\u{110BD}\u{110C2}-\u{1113F}\u{11144}-\u{11173}\u{11176}-\u{111C4}\u{111C9}-\u{111CC}\u{111CE}-\u{111DA}\u{111DC}\u{111E0}-\u{11237}\u{1123E}-\u{112A8}\u{112AA}-\u{113D3}\u{113D6}\u{113D9}-\u{1144A}\u{11450}-\u{11459}\u{1145C}\u{1145E}-\u{114C5}\u{114C7}-\u{115C0}\u{115D8}-\u{11640}\u{11644}-\u{1165F}\u{1166D}-\u{116B8}\u{116BA}-\u{1173B}\u{1173F}-\u{1183A}\u{1183C}-\u{11943}\u{11947}-\u{119E1}\u{119E3}-\u{11A3E}\u{11A47}-\u{11A99}\u{11A9D}\u{11AA3}-\u{11AFF}\u{11B0A}-\u{11BE0}\u{11BE2}-\u{11C40}\u{11C46}-\u{11C6F}\u{11C72}-\u{11EF6}\u{11EF9}-\u{11F42}\u{11F50}-\u{11FFE}\u{12000}-\u{1246F}\u{12475}-\u{12FF0}\u{12FF3}-\u{16A6D}\u{16A70}-\u{16AF4}\u{16AF6}-\u{16B36}\u{16B3C}-\u{16B43}\u{16B45}-\u{16D6C}\u{16D70}-\u{16E96}\u{16E9B}-\u{16FE1}\u{16FE3}-\u{1BC9E}\u{1BCA0}-\u{1DA86}\u{1DA8C}-\u{1E5FE}\u{1E600}-\u{1E95D}\u{1E960}-\u{10FFFF}]+)+)/gmu));const[t,i]=normalize(e),a=t.matchAll(autolinker_assertClassBrand(Autolinker,this,Oi)._),s=[];for(const e of a){const[t,a]=e;let n;if(t.startsWith("www.")||t.startsWith("http://")||t.startsWith("https://"))n=t;else{if(!URL.canParse(`http://${a}`))continue;n=t.startsWith("mailto:")?t:`mailto:${t}`}const r=h(n,null,{addDefaultProtocol:!0});if(r){const[a,n]=getOriginalIndex(i,e.index,t.length);s.push({url:r.href,index:a,length:n})}}return s}static processLinks(e){return this.findLinks(e._textHighlighter.textContentItemsStr.join("\n")).map((t=>{var i,a;return function createLinkAnnotation(e,t,i){let{url:a,index:s,length:n}=e;const r=t._textHighlighter,[{begin:o,end:l}]=r._convertMatches([s],[n]),c=new Range;c.setStart(...textPosition(r.textDivs[o.divIdx],o.offset));c.setEnd(...textPosition(r.textDivs[l.divIdx],l.offset));return{id:`inferred_link_${i}`,unsafeUrl:a,url:a,annotationType:d.LINK,rotation:0,...calculateLinkPosition(c,t),borderStyle:null}}(t,e,(Gi._=autolinker_assertClassBrand(Autolinker,this,(i=autolinker_assertClassBrand(Autolinker,this,Gi)._,a=i++,i)),a))}))}}var Gi={_:0},Oi={_:void 0};function base_pdf_page_view_defineProperty(e,t,i){return(t=function base_pdf_page_view_toPropertyKey(e){var t=function base_pdf_page_view_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function base_pdf_page_view_classPrivateFieldInitSpec(e,t,i){base_pdf_page_view_checkPrivateRedeclaration(e,t),t.set(e,i)}function base_pdf_page_view_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function base_pdf_page_view_classPrivateFieldGet(e,t){return e.get(base_pdf_page_view_assertClassBrand(e,t))}function base_pdf_page_view_classPrivateFieldSet(e,t,i){return e.set(base_pdf_page_view_assertClassBrand(e,t),i),i}function base_pdf_page_view_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var Ni=new WeakMap,Ri=new WeakMap,ji=new WeakMap,Vi=new WeakMap,Wi=new WeakMap,zi=new WeakMap,Ui=new WeakMap,Hi=new WeakMap,$i=new WeakMap,qi=new WeakSet;class BasePDFPageView{constructor(e){!function base_pdf_page_view_classPrivateMethodInitSpec(e,t){base_pdf_page_view_checkPrivateRedeclaration(e,t),t.add(e)}(this,qi);base_pdf_page_view_classPrivateFieldInitSpec(this,Ni,!1);base_pdf_page_view_classPrivateFieldInitSpec(this,Ri,null);base_pdf_page_view_classPrivateFieldInitSpec(this,ji,0);base_pdf_page_view_classPrivateFieldInitSpec(this,Vi,null);base_pdf_page_view_classPrivateFieldInitSpec(this,Wi,se);base_pdf_page_view_classPrivateFieldInitSpec(this,zi,null);base_pdf_page_view_classPrivateFieldInitSpec(this,Ui,0);base_pdf_page_view_classPrivateFieldInitSpec(this,Hi,null);base_pdf_page_view_defineProperty(this,"canvas",null);base_pdf_page_view_defineProperty(this,"div",null);base_pdf_page_view_defineProperty(this,"eventBus",null);base_pdf_page_view_defineProperty(this,"id",null);base_pdf_page_view_defineProperty(this,"pageColors",null);base_pdf_page_view_defineProperty(this,"renderingQueue",null);base_pdf_page_view_defineProperty(this,"renderTask",null);base_pdf_page_view_defineProperty(this,"resume",null);base_pdf_page_view_classPrivateFieldInitSpec(this,$i,(e=>{base_pdf_page_view_classPrivateFieldGet(zi,this)?.call(this,!1);if(!this.renderingQueue||this.renderingQueue.isHighestPriority(this))e();else{this.renderingState=re;this.resume=()=>{this.renderingState=ne;e()}}}));base_pdf_page_view_classPrivateFieldSet(Ni,this,Ni.has(function _checkInRHS(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?typeof e:"null"));return e}(e))?base_pdf_page_view_classPrivateFieldGet(Ni,e):e.enableHWA||!1);this.eventBus=e.eventBus;this.id=e.id;this.pageColors=e.pageColors||null;this.renderingQueue=e.renderingQueue;base_pdf_page_view_classPrivateFieldSet(ji,this,e.minDurationToUpdateCanvas??500)}get renderingState(){return base_pdf_page_view_classPrivateFieldGet(Wi,this)}set renderingState(e){if(e!==base_pdf_page_view_classPrivateFieldGet(Wi,this)){base_pdf_page_view_classPrivateFieldSet(Wi,this,e);if(base_pdf_page_view_classPrivateFieldGet(Ri,this)){activeWindow.clearTimeout(base_pdf_page_view_classPrivateFieldGet(Ri,this));base_pdf_page_view_classPrivateFieldSet(Ri,this,null)}switch(e){case re:this.div.classList.remove("loading");base_pdf_page_view_classPrivateFieldSet(Ui,this,0);base_pdf_page_view_classPrivateFieldGet(zi,this)?.call(this,!1);break;case ne:this.div.classList.add("loadingIcon");base_pdf_page_view_classPrivateFieldSet(Ri,this,activeWindow.setTimeout((()=>{this.div.classList.add("loading");base_pdf_page_view_classPrivateFieldSet(Ri,this,null)}),0));base_pdf_page_view_classPrivateFieldSet(Ui,this,Date.now());break;case se:case oe:this.div.classList.remove("loadingIcon","loading");base_pdf_page_view_classPrivateFieldSet(Ui,this,0)}}}_createCanvas(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{pageColors:i}=this,a=!(!i?.background||!i?.foreground),s=this.canvas,n=!s&&!a&&!t;let r=this.canvas=this.div.ownerDocument.createElement("canvas");base_pdf_page_view_classPrivateFieldSet(zi,this,(t=>{if(n){let i=base_pdf_page_view_classPrivateFieldGet(Hi,this);if(!t&&base_pdf_page_view_classPrivateFieldGet(ji,this)>0){if(Date.now()-base_pdf_page_view_classPrivateFieldGet(Ui,this){if(e instanceof j){t();base_pdf_page_view_classPrivateFieldSet(Vi,this,null)}};let s=null;try{await a.promise;base_pdf_page_view_classPrivateFieldGet(zi,this)?.call(this,!0)}catch(e){if(e instanceof j)return;s=e;base_pdf_page_view_classPrivateFieldGet(zi,this)?.call(this,!0)}finally{base_pdf_page_view_classPrivateFieldSet(Vi,this,s);a===this.renderTask&&(this.renderTask=null)}this.renderingState=oe;i(a);if(s)throw s}cancelRendering(){let{cancelExtraDelay:e=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.renderTask){this.renderTask.cancel(e);this.renderTask=null}this.resume=null}dispatchPageRender(){this.eventBus.dispatch("pagerender",{source:this,pageNumber:this.id})}dispatchPageRendered(e,t){this.eventBus.dispatch("pagerendered",{source:this,pageNumber:this.id,cssTransform:e,isDetailView:t,timestamp:performance.now(),error:base_pdf_page_view_classPrivateFieldGet(Vi,this)})}}function _resetTempCanvas(){if(base_pdf_page_view_classPrivateFieldGet(Hi,this)){base_pdf_page_view_classPrivateFieldGet(Hi,this).width=base_pdf_page_view_classPrivateFieldGet(Hi,this).height=0;base_pdf_page_view_classPrivateFieldSet(Hi,this,null)}}function draw_layer_builder_classPrivateFieldInitSpec(e,t,i){(function draw_layer_builder_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,i)}function draw_layer_builder_classPrivateFieldSet(e,t,i){return e.set(draw_layer_builder_assertClassBrand(e,t),i),i}function draw_layer_builder_classPrivateFieldGet(e,t){return e.get(draw_layer_builder_assertClassBrand(e,t))}function draw_layer_builder_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var Xi=new WeakMap;class DrawLayerBuilder{constructor(e){draw_layer_builder_classPrivateFieldInitSpec(this,Xi,null);this.pageIndex=e.pageIndex}async render(e){let{intent:t="display"}=e;"display"!==t||draw_layer_builder_classPrivateFieldGet(Xi,this)||this._cancelled||draw_layer_builder_classPrivateFieldSet(Xi,this,new p({pageIndex:this.pageIndex}))}cancel(){this._cancelled=!0;if(draw_layer_builder_classPrivateFieldGet(Xi,this)){draw_layer_builder_classPrivateFieldGet(Xi,this).destroy();draw_layer_builder_classPrivateFieldSet(Xi,this,null)}}setParent(e){draw_layer_builder_classPrivateFieldGet(Xi,this)?.setParent(e)}getDrawLayer(){return draw_layer_builder_classPrivateFieldGet(Xi,this)}}function pdf_page_detail_view_defineProperty(e,t,i){return(t=function pdf_page_detail_view_toPropertyKey(e){var t=function pdf_page_detail_view_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function pdf_page_detail_view_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function pdf_page_detail_view_classPrivateFieldGet(e,t){return e.get(pdf_page_detail_view_assertClassBrand(e,t))}function pdf_page_detail_view_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var Ki=new WeakMap,Zi=new WeakSet;class PDFPageDetailView extends BasePDFPageView{constructor(e){let{pageView:t}=e;super(t);!function pdf_page_detail_view_classPrivateMethodInitSpec(e,t){pdf_page_detail_view_checkPrivateRedeclaration(e,t),t.add(e)}(this,Zi);!function pdf_page_detail_view_classPrivateFieldInitSpec(e,t,i){pdf_page_detail_view_checkPrivateRedeclaration(e,t),t.set(e,i)}(this,Ki,null);pdf_page_detail_view_defineProperty(this,"renderingCancelled",!1);this.pageView=t;this.renderingId="detail"+this.id;this.div=t.div}setPdfPage(e){this.pageView.setPdfPage(e)}get pdfPage(){return this.pageView.pdfPage}get renderingState(){return super.renderingState}set renderingState(e){this.renderingCancelled=!1;super.renderingState=e}reset(){let{keepCanvas:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=this.renderingCancelled||this.renderingState===ne||this.renderingState===re;this.cancelRendering();this.renderingState=se;this.renderingCancelled=t;e||this._resetCanvas()}update(){let{visibleArea:e=null,underlyingViewUpdated:t=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t){this.cancelRendering();this.renderingState=se;return}if(!pdf_page_detail_view_assertClassBrand(Zi,this,_shouldRenderDifferentArea).call(this,e))return;const{viewport:i,maxCanvasPixels:a,capCanvasAreaFactor:s}=this.pageView,n=e.maxX-e.minX,r=e.maxY-e.minY,o=n*r*D.pixelRatio**2,l=(Math.sqrt(D.capPixels(a,s)/o)-1)/2;let d=Math.min(1,l);d<0&&(d=0);const c=n*d,u=r*d,h=Math.max(0,e.minX-c),_=Math.min(i.width,e.maxX+c),p=Math.max(0,e.minY-u),g=Math.min(i.height,e.maxY+u);!function pdf_page_detail_view_classPrivateFieldSet(e,t,i){return e.set(pdf_page_detail_view_assertClassBrand(e,t),i),i}(Ki,this,{minX:h,minY:p,width:_-h,height:g-p,scale:i.scale});this.reset({keepCanvas:!0})}async draw(){if(this.pageView.detailView!==this)return;const e=this.pageView.renderingState===oe||this.renderingState===oe;if(this.renderingState!==se){console.error("Must be in new state before drawing");this.reset()}const{div:t,pdfPage:i,viewport:a}=this.pageView;if(!i){this.renderingState=oe;throw new Error("pdfPage is not loaded")}this.renderingState=ne;const s=this.pageView._ensureCanvasWrapper(),{canvas:n,prevCanvas:r,ctx:o}=this._createCanvas((e=>{"CANVAS"===s.firstElementChild?.tagName?s.firstElementChild.after(e):s.prepend(e)}),e);n.setAttribute("aria-hidden","true");const{width:l,height:d}=a,c=pdf_page_detail_view_classPrivateFieldGet(Ki,this),{pixelRatio:u}=D,h=[u,0,0,u,-c.minX*u,-c.minY*u];n.width=c.width*u;n.height=c.height*u;const{style:_}=n;_.width=100*c.width/l+"%";_.height=100*c.height/d+"%";_.top=100*c.minY/d+"%";_.left=100*c.minX/l+"%";const p=this._drawCanvas(this.pageView._getRenderingContext(o,h),(()=>{this.canvas?.remove();this.canvas=r}),(()=>{this.dispatchPageRendered(!1,!0)}));t.setAttribute("data-loaded",!0);this.dispatchPageRender();return p}}function _shouldRenderDifferentArea(e){if(!pdf_page_detail_view_classPrivateFieldGet(Ki,this))return!0;const t=pdf_page_detail_view_classPrivateFieldGet(Ki,this).minX,i=pdf_page_detail_view_classPrivateFieldGet(Ki,this).minY,a=pdf_page_detail_view_classPrivateFieldGet(Ki,this).width+t,s=pdf_page_detail_view_classPrivateFieldGet(Ki,this).height+i;if(e.minXa||e.maxY>s)return!0;const{width:n,height:r,scale:o}=this.pageView.viewport;if(pdf_page_detail_view_classPrivateFieldGet(Ki,this).scale!==o)return!0;const l=e.minX-t,d=a-e.maxX,c=e.minY-i,u=s-e.maxY;return t>0&&d/l>3||a3||i>0&&u/c>3||s3}function struct_tree_layer_builder_classPrivateFieldInitSpec(e,t,i){struct_tree_layer_builder_checkPrivateRedeclaration(e,t),t.set(e,i)}function struct_tree_layer_builder_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function struct_tree_layer_builder_classPrivateFieldGet(e,t){return e.get(struct_tree_layer_builder_assertClassBrand(e,t))}function struct_tree_layer_builder_classPrivateFieldSet(e,t,i){return e.set(struct_tree_layer_builder_assertClassBrand(e,t),i),i}function struct_tree_layer_builder_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}const Qi={Document:null,DocumentFragment:null,Part:"group",Sect:"group",Div:"group",Aside:"note",NonStruct:"none",P:null,H:"heading",Title:null,FENote:"note",Sub:"group",Lbl:null,Span:null,Em:null,Strong:null,Link:"link",Annot:"note",Form:"form",Ruby:null,RB:null,RT:null,RP:null,Warichu:null,WT:null,WP:null,L:"list",LI:"listitem",LBody:null,Table:"table",TR:"row",TH:"columnheader",TD:"cell",THead:"columnheader",TBody:null,TFoot:null,Caption:null,Figure:"figure",Formula:null,Artifact:null},Yi=/^H(\d+)$/;var Ji=new WeakMap,ea=new WeakMap,ta=new WeakMap,ia=new WeakMap,aa=new WeakMap,sa=new WeakMap,na=new WeakSet;class StructTreeLayerBuilder{constructor(e,t){!function struct_tree_layer_builder_classPrivateMethodInitSpec(e,t){struct_tree_layer_builder_checkPrivateRedeclaration(e,t),t.add(e)}(this,na);struct_tree_layer_builder_classPrivateFieldInitSpec(this,Ji,void 0);struct_tree_layer_builder_classPrivateFieldInitSpec(this,ea,null);struct_tree_layer_builder_classPrivateFieldInitSpec(this,ta,void 0);struct_tree_layer_builder_classPrivateFieldInitSpec(this,ia,new Map);struct_tree_layer_builder_classPrivateFieldInitSpec(this,aa,void 0);struct_tree_layer_builder_classPrivateFieldInitSpec(this,sa,null);struct_tree_layer_builder_classPrivateFieldSet(Ji,this,e.getStructTree());struct_tree_layer_builder_classPrivateFieldSet(aa,this,t)}async render(){if(struct_tree_layer_builder_classPrivateFieldGet(ta,this))return struct_tree_layer_builder_classPrivateFieldGet(ta,this);const{promise:e,resolve:t,reject:i}=Promise.withResolvers();struct_tree_layer_builder_classPrivateFieldSet(ta,this,e);try{struct_tree_layer_builder_classPrivateFieldSet(ea,this,struct_tree_layer_builder_assertClassBrand(na,this,_walk).call(this,await struct_tree_layer_builder_classPrivateFieldGet(Ji,this)))}catch(e){i(e)}struct_tree_layer_builder_classPrivateFieldSet(Ji,this,null);struct_tree_layer_builder_classPrivateFieldGet(ea,this)?.classList.add("structTree");t(struct_tree_layer_builder_classPrivateFieldGet(ea,this));return e}async getAriaAttributes(e){try{await this.render();return struct_tree_layer_builder_classPrivateFieldGet(ia,this).get(e)}catch{}return null}hide(){struct_tree_layer_builder_classPrivateFieldGet(ea,this)&&!struct_tree_layer_builder_classPrivateFieldGet(ea,this).hidden&&(struct_tree_layer_builder_classPrivateFieldGet(ea,this).hidden=!0)}show(){struct_tree_layer_builder_classPrivateFieldGet(ea,this)?.hidden&&(struct_tree_layer_builder_classPrivateFieldGet(ea,this).hidden=!1)}addElementsToTextLayer(){if(struct_tree_layer_builder_classPrivateFieldGet(sa,this)){for(const[e,t]of struct_tree_layer_builder_classPrivateFieldGet(sa,this))document.getElementById(e)?.append(t);struct_tree_layer_builder_classPrivateFieldGet(sa,this).clear();struct_tree_layer_builder_classPrivateFieldSet(sa,this,null)}}}function _setAttributes(e,t){const{alt:i,id:a,lang:s}=e;if(void 0!==i){let a=!1;const s=removeNullCharacters(i);for(const t of e.children)if("annotation"===t.type){let e=struct_tree_layer_builder_classPrivateFieldGet(ia,this).get(t.id);if(!e){e=new Map;struct_tree_layer_builder_classPrivateFieldGet(ia,this).set(t.id,e)}e.set("aria-label",s);a=!0}a||t.setAttribute("aria-label",s)}void 0!==a&&t.setAttribute("aria-owns",a);void 0!==s&&t.setAttribute("lang",removeNullCharacters(s,!0))}function _addImageInTextLayer(e,t){const{alt:i,bbox:a,children:s}=e,n=s?.[0];if(!struct_tree_layer_builder_classPrivateFieldGet(aa,this)||!i||!a||"content"!==n?.type)return!1;const{id:r}=n;if(!r)return!1;t.setAttribute("aria-owns",r);const o=document.createElement("span");(struct_tree_layer_builder_classPrivateFieldGet(sa,this)||struct_tree_layer_builder_classPrivateFieldSet(sa,this,new Map)).set(r,o);o.setAttribute("role","img");o.setAttribute("aria-label",removeNullCharacters(i));const{pageHeight:l,pageX:d,pageY:c}=struct_tree_layer_builder_classPrivateFieldGet(aa,this),u="calc(var(--total-scale-factor) *",{style:h}=o;h.width=`${u}${a[2]-a[0]}px)`;h.height=`${u}${a[3]-a[1]}px)`;h.left=`${u}${a[0]-d}px)`;h.top=`${u}${l-a[3]+c}px)`;return!0}function _walk(e){if(!e)return null;const t=document.createElement("span");if("role"in e){const{role:i}=e,a=i.match(Yi);if(a){t.setAttribute("role","heading");t.setAttribute("aria-level",a[1])}else Qi[i]&&t.setAttribute("role",Qi[i]);if("Figure"===i&&struct_tree_layer_builder_assertClassBrand(na,this,_addImageInTextLayer).call(this,e,t))return t}struct_tree_layer_builder_assertClassBrand(na,this,_setAttributes).call(this,e,t);if(e.children)if(1===e.children.length&&"id"in e.children[0])struct_tree_layer_builder_assertClassBrand(na,this,_setAttributes).call(this,e.children[0],t);else for(const i of e.children)t.append(struct_tree_layer_builder_assertClassBrand(na,this,_walk).call(this,i));return t}function text_accessibility_classPrivateFieldInitSpec(e,t,i){text_accessibility_checkPrivateRedeclaration(e,t),t.set(e,i)}function text_accessibility_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function text_accessibility_classPrivateFieldGet(e,t){return e.get(text_accessibility_assertClassBrand(e,t))}function text_accessibility_classPrivateFieldSet(e,t,i){return e.set(text_accessibility_assertClassBrand(e,t),i),i}function text_accessibility_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var ra=new WeakMap,oa=new WeakMap,la=new WeakMap,da=new WeakMap,ca=new WeakMap,ua=new WeakSet;class TextAccessibilityManager{constructor(e){!function text_accessibility_classPrivateMethodInitSpec(e,t){text_accessibility_checkPrivateRedeclaration(e,t),t.add(e)}(this,ua);text_accessibility_classPrivateFieldInitSpec(this,ra,!1);text_accessibility_classPrivateFieldInitSpec(this,oa,null);text_accessibility_classPrivateFieldInitSpec(this,la,new Map);text_accessibility_classPrivateFieldInitSpec(this,da,new Map);text_accessibility_classPrivateFieldInitSpec(this,ca,null);text_accessibility_classPrivateFieldSet(ca,this,e)}setTextMapping(e){text_accessibility_classPrivateFieldSet(oa,this,e)}enable(){if(text_accessibility_classPrivateFieldGet(ra,this))throw new Error("TextAccessibilityManager is already enabled.");if(!text_accessibility_classPrivateFieldGet(oa,this))throw new Error("Text divs and strings have not been set.");text_accessibility_classPrivateFieldSet(ra,this,!0);text_accessibility_classPrivateFieldSet(oa,this,text_accessibility_classPrivateFieldGet(oa,this).slice());text_accessibility_classPrivateFieldGet(oa,this).sort(_compareElementPositions);if(text_accessibility_classPrivateFieldGet(la,this).size>0){const e=text_accessibility_classPrivateFieldGet(oa,this),t=text_accessibility_classPrivateFieldGet(ca,this).ownerDocument;for(const[i,a]of text_accessibility_classPrivateFieldGet(la,this)){t.getElementById(i)?text_accessibility_assertClassBrand(ua,this,_addIdToAriaOwns).call(this,i,e[a]):text_accessibility_classPrivateFieldGet(la,this).delete(i)}}for(const[e,t]of text_accessibility_classPrivateFieldGet(da,this))this.addPointerInTextLayer(e,t);text_accessibility_classPrivateFieldGet(da,this).clear()}disable(){if(text_accessibility_classPrivateFieldGet(ra,this)){text_accessibility_classPrivateFieldGet(da,this).clear();text_accessibility_classPrivateFieldSet(oa,this,null);text_accessibility_classPrivateFieldSet(ra,this,!1)}}removePointerInTextLayer(e){if(!text_accessibility_classPrivateFieldGet(ra,this)){text_accessibility_classPrivateFieldGet(da,this).delete(e);return}const t=text_accessibility_classPrivateFieldGet(oa,this);if(!t||0===t.length)return;const{id:i}=e,a=text_accessibility_classPrivateFieldGet(la,this).get(i);if(void 0===a)return;const s=t[a];text_accessibility_classPrivateFieldGet(la,this).delete(i);let n=s.getAttribute("aria-owns");if(n?.includes(i)){n=n.split(" ").filter((e=>e!==i)).join(" ");if(n)s.setAttribute("aria-owns",n);else{s.removeAttribute("aria-owns");s.setAttribute("role","presentation")}}}addPointerInTextLayer(e,t){const{id:i}=e;if(!i)return null;if(!text_accessibility_classPrivateFieldGet(ra,this)){text_accessibility_classPrivateFieldGet(da,this).set(e,t);return null}t&&this.removePointerInTextLayer(e);const a=text_accessibility_classPrivateFieldGet(oa,this);if(!a||0===a.length)return null;const s=binarySearchFirstItem(a,(t=>_compareElementPositions.call(TextAccessibilityManager,e,t)<0)),n=Math.max(0,s-1),r=a[n];text_accessibility_assertClassBrand(ua,this,_addIdToAriaOwns).call(this,i,r);text_accessibility_classPrivateFieldGet(la,this).set(i,n);const o=r.parentNode;return o?.classList.contains("markedContent")?o.id:null}moveElementInDOM(e,t,i,a){const s=this.addPointerInTextLayer(i,a);if(!e.hasChildNodes()){e.append(t);return s}const n=Array.from(e.childNodes).filter((e=>e!==t));if(0===n.length)return s;const r=i||t,o=binarySearchFirstItem(n,(e=>_compareElementPositions.call(TextAccessibilityManager,r,e)<0));0===o?n[0].before(t):n[o-1].after(t);return s}}function _compareElementPositions(e,t){const i=e.getBoundingClientRect(),a=t.getBoundingClientRect();if(0===i.width&&0===i.height)return 1;if(0===a.width&&0===a.height)return-1;const s=i.y,n=i.y+i.height,r=i.y+i.height/2,o=a.y,l=a.y+a.height,d=a.y+a.height/2;if(r<=o&&d>=n)return-1;if(d<=s&&r>=l)return 1;return i.x+i.width/2-(a.x+a.width/2)}function _addIdToAriaOwns(e,t){const i=t.getAttribute("aria-owns");i?.includes(e)||t.setAttribute("aria-owns",i?`${i} ${e}`:e);t.removeAttribute("role")}function text_highlighter_classPrivateFieldInitSpec(e,t,i){(function text_highlighter_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,i)}function text_highlighter_classPrivateFieldSet(e,t,i){return e.set(text_highlighter_assertClassBrand(e,t),i),i}function text_highlighter_classPrivateFieldGet(e,t){return e.get(text_highlighter_assertClassBrand(e,t))}function text_highlighter_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var ha=new WeakMap;class TextHighlighter{constructor(e){let{findController:t,eventBus:i,pageIndex:a}=e;text_highlighter_classPrivateFieldInitSpec(this,ha,null);this.findController=t;this.matches=[];this.eventBus=i;this.pageIdx=a;this.textDivs=null;this.textContentItems=null;this.enabled=!1}get textContentItemsStr(){return this.textContentItems?this.textContentItems.map((e=>e.str)):null}setTextMapping(e,t){this.textDivs=e;this.textContentItems=t}enable(){if(!this.textDivs||!this.textContentItems)throw new Error("Text divs and strings have not been set.");if(this.enabled)throw new Error("TextHighlighter is already enabled.");this.enabled=!0;if(!text_highlighter_classPrivateFieldGet(ha,this)){text_highlighter_classPrivateFieldSet(ha,this,new AbortController);this.eventBus._on("updatetextlayermatches",(e=>{e.pageIndex!==this.pageIdx&&-1!==e.pageIndex||this._updateMatches()}),{signal:text_highlighter_classPrivateFieldGet(ha,this).signal})}this._updateMatches()}disable(){if(this.enabled){this.enabled=!1;text_highlighter_classPrivateFieldGet(ha,this)?.abort();text_highlighter_classPrivateFieldSet(ha,this,null);this._updateMatches(!0)}}_convertMatches(e,t){if(!e)return[];const{textContentItemsStr:i}=this;let a=0,s=0;const n=i.length-1,r=[];for(let o=0,l=e.length;o=s+i[a].length;){s+=i[a].length;a++}a===i.length&&console.error("Could not find a matching mapping");const d={begin:{divIdx:a,offset:l-s}};l+=t[o];for(;a!==n&&l>s+i[a].length;){s+=i[a].length;a++}d.end={divIdx:a,offset:l-s};r.push(d)}return r}_renderMatches(e){if(0===e.length)return;const{findController:t,pageIdx:i}=this,{textContentItemsStr:a,textDivs:s}=this,n=i===t.selected.pageIdx,r=t.selected.matchIdx;let o=null;const l={divIdx:-1,offset:void 0};function beginText(e,t){const i=e.divIdx;s[i].textContent="";return appendTextToDiv(i,0,e.offset,t)}function appendTextToDiv(e,t,i,n){let r=s[e];if(r.nodeType===Node.TEXT_NODE){const t=document.createElement("span");r.before(t);t.append(r);s[e]=t;r=t}const o=a[e].substring(t,i),l=document.createTextNode(o);if(n){const e=document.createElement("span");e.className=`${n} appended`;e.append(l);r.append(e);if(n.includes("selected")){const{left:t}=e.getClientRects()[0];return t-r.getBoundingClientRect().left}return 0}r.append(l);return 0}let d=r,c=d+1;if(t.state.highlightAll){d=0;c=e.length}else if(!n)return;let u=-1,h=-1;for(let a=d;a0&&void 0!==arguments[0]&&arguments[0];if(!this.enabled&&!e)return;const{findController:t,matches:i,pageIdx:a}=this,{textContentItemsStr:s,textDivs:n}=this;let r=-1;for(const e of i){for(let t=Math.max(r,e.begin.divIdx),i=e.end.divIdx;t<=i;t++){const e=n[t];e.textContent=s[t];e.className=e.classList.contains("textLayerNode")?"textLayerNode":""}r=e.end.divIdx+1}if(!t?.highlightMatches||e)return;const o=t.pageMatches[a]||null,l=t.pageMatchesLength[a]||null;this.matches=this._convertMatches(o,l);this._renderMatches(this.matches)}}function text_layer_builder_classPrivateFieldInitSpec(e,t,i){text_layer_builder_checkPrivateRedeclaration(e,t),t.set(e,i)}function text_layer_builder_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateSetter(e,t,i,a){return t(text_layer_builder_assertClassBrand(e,i),a),a}function text_layer_builder_classPrivateGetter(e,t,i){return i(text_layer_builder_assertClassBrand(e,t))}function text_layer_builder_classPrivateFieldSet(e,t,i){return e.set(text_layer_builder_assertClassBrand(e,t),i),i}function text_layer_builder_classPrivateFieldGet(e,t){return e.get(text_layer_builder_assertClassBrand(e,t))}function text_layer_builder_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var _a=new WeakMap,pa=new WeakMap,ga=new WeakMap,fa=new WeakMap,va=new WeakSet;class TextLayerBuilder{get renderingDone(){return text_layer_builder_classPrivateFieldGet(ga,this)}get textLayer(){return text_layer_builder_classPrivateFieldGet(fa,this)}constructor(e){let{pdfPage:t,highlighter:i=null,accessibilityManager:a=null,enablePermissions:s=!1,onAppend:n=null,rootEl:r}=e;!function text_layer_builder_classPrivateMethodInitSpec(e,t){text_layer_builder_checkPrivateRedeclaration(e,t),t.add(e)}(this,va);text_layer_builder_classPrivateFieldInitSpec(this,_a,!1);text_layer_builder_classPrivateFieldInitSpec(this,pa,null);text_layer_builder_classPrivateFieldInitSpec(this,ga,!1);text_layer_builder_classPrivateFieldInitSpec(this,fa,null);this.pdfPage=t;this.highlighter=i;this.accessibilityManager=a;text_layer_builder_classPrivateFieldSet(_a,this,!0===s);text_layer_builder_classPrivateFieldSet(pa,this,n);this.rootEl=r;this.div=document.createElement("div");this.div.tabIndex=0;this.div.className="textLayer"}async render(e){let{viewport:t,textContentParams:i=null}=e;if(text_layer_builder_classPrivateFieldGet(ga,this)&&text_layer_builder_classPrivateFieldGet(fa,this)){text_layer_builder_classPrivateFieldGet(fa,this).update({viewport:t,onBefore:this.hide.bind(this)});this.show();return}this.cancel();text_layer_builder_classPrivateFieldSet(fa,this,new q({textContentSource:this.pdfPage.streamTextContent(i||{includeMarkedContent:!0,disableNormalization:!0,includeChars:!0}),container:this.div,viewport:t}));const{textDivs:a,textContentItems:s}=text_layer_builder_classPrivateFieldGet(fa,this);this.highlighter?.setTextMapping(a,s);this.accessibilityManager?.setTextMapping(a);await text_layer_builder_classPrivateFieldGet(fa,this).render();text_layer_builder_classPrivateFieldSet(ga,this,!0);const n=document.createElement("div");n.className="endOfContent";this.div.append(n);text_layer_builder_assertClassBrand(va,this,_bindMouse).call(this,n);text_layer_builder_classPrivateFieldGet(pa,this)?.call(this,this.div);this.highlighter?.enable();this.accessibilityManager?.enable()}hide(){if(!this.div.hidden&&text_layer_builder_classPrivateFieldGet(ga,this)){this.highlighter?.disable();this.div.hidden=!0}}show(){if(this.div.hidden&&text_layer_builder_classPrivateFieldGet(ga,this)){this.div.hidden=!1;this.highlighter?.enable()}}cancel(){text_layer_builder_classPrivateFieldGet(fa,this)?.cancel();text_layer_builder_classPrivateFieldSet(fa,this,null);this.highlighter?.disable();this.accessibilityManager?.disable();text_layer_builder_assertClassBrand(va,this,_removeGlobalSelectionListener).call(this,this.div)}}function _get_textLayers(e){let t=ma._.get(e.rootEl);if(!t){t=new Map;ma._.set(e.rootEl,t)}return t}function _get_selectionChangeAbortController(e){return wa._.get(e.rootEl)}function _set_selectionChangeAbortController(e,t){t?wa._.set(e.rootEl,t):wa._.delete(e.rootEl)}function _bindMouse(e){const{div:t}=this;t.addEventListener("mousedown",(()=>{t.classList.add("selecting")}));t.addEventListener("copy",(e=>{if(!text_layer_builder_classPrivateFieldGet(_a,this)){const i=t.doc.getSelection();e.clipboardData.setData("text/plain",removeNullCharacters(T(i.toString().replaceAll(/[\n\r]+/g," "))))}H(e)}));text_layer_builder_classPrivateGetter(va,this,_get_textLayers).set(t,e);text_layer_builder_assertClassBrand(va,this,_enableGlobalSelectionListener).call(this)}function _removeGlobalSelectionListener(e){text_layer_builder_classPrivateGetter(va,this,_get_textLayers).delete(e);if(0===text_layer_builder_classPrivateGetter(va,this,_get_textLayers).size){text_layer_builder_classPrivateGetter(va,this,_get_selectionChangeAbortController)?.abort();_classPrivateSetter(va,_set_selectionChangeAbortController,this,null)}}function _enableGlobalSelectionListener(){if(text_layer_builder_classPrivateGetter(va,this,_get_selectionChangeAbortController))return;_classPrivateSetter(va,_set_selectionChangeAbortController,this,new AbortController);const{signal:e}=text_layer_builder_classPrivateGetter(va,this,_get_selectionChangeAbortController),reset=(e,t)=>{t.append(e);e.style.width="";e.style.height="";t.classList.remove("selecting")},{rootEl:t}=this;let i=!1;t.addEventListener("pointerdown",(()=>{i=!0}),{signal:e});t.addEventListener("pointerup",(e=>{i=!1;text_layer_builder_classPrivateGetter(va,this,_get_textLayers).forEach(reset);const t=e.view.getSelection();if(0===t.rangeCount||t.isCollapsed)return;const a=t.getRangeAt(0),{startContainer:s,endContainer:n}=a,r=s.nodeType!==s.TEXT_NODE&&!s.hasClass?.("textLayerNode"),o=n.nodeType!==n.TEXT_NODE&&!n.hasClass?.("textLayerNode");if(r||o){const e=a.cloneContents().querySelectorAll(".textLayerNode");if(0===e.length)return;const fix=(t,i)=>{const s=t.closest(".page");if(!s||!s.instanceOf(HTMLElement))return;if(Number(s.dataset.pageNumber)-1!==this.pdfPage._pageIndex)return;const n="start"===i?e.item(0):e.item(e.length-1),r=text_layer_builder_classPrivateFieldGet(fa,this).textDivs[n.dataset.idx];r&&("start"===i?a.setStartBefore(r.lastChild):a.setEndAfter(r.lastChild))};r&&fix(s,"start");o&&fix(n,"end")}}),{signal:e});t.win.addEventListener("blur",(()=>{i=!1;text_layer_builder_classPrivateGetter(va,this,_get_textLayers).forEach(reset)}),{signal:e});t.doc.addEventListener("keyup",(()=>{i||text_layer_builder_classPrivateGetter(va,this,_get_textLayers).forEach(reset)}),{signal:e});var a;t.doc.addEventListener("selectionchange",(()=>{const e=t.doc.getSelection();if(0===e.rangeCount){text_layer_builder_classPrivateGetter(va,this,_get_textLayers).forEach(reset);return}const i=new Set;for(let t=0;t{i===this._optionalContentConfigPromise&&(pdf_page_view_classPrivateFieldGet(Ma,this).initialOptionalContent=e.hasInitialVisibility)}));e.l10n||this.l10n.translate(this.div)}}setPdfPage(e){if(this._isStandalone&&("CanvasText"===this.pageColors?.foreground||"Canvas"===this.pageColors?.background)){this._container?.style.setProperty("--hcm-highlight-filter",e.filterFactory.addHighlightHCMFilter("highlight","CanvasText","Canvas","HighlightText","Highlight"));this._container?.style.setProperty("--hcm-highlight-selected-filter",e.filterFactory.addHighlightHCMFilter("highlight_selected","CanvasText","Canvas","HighlightText","Highlight"))}this.pdfPage=e;this.pdfPageRotate=e.rotate;const t=(this.rotation+this.pdfPageRotate)%360;this.viewport=e.getViewport({scale:this.scale*R.PDF_TO_CSS_UNITS,rotation:t});pdf_page_view_assertClassBrand(Ga,this,_setDimensions).call(this);this.reset()}destroy(){this.reset();this.pdfPage?.cleanup()}hasEditableAnnotations(){return!!this.annotationLayer?.hasEditableAnnotations()}get _textHighlighter(){return z(this,"_textHighlighter",new TextHighlighter({pageIndex:this.id-1,eventBus:this.eventBus,findController:pdf_page_view_classPrivateFieldGet(xa,this).findController}))}_resetCanvas(){super._resetCanvas();pdf_page_view_classPrivateFieldSet(Aa,this,null)}reset(){let{keepAnnotationLayer:e=!1,keepAnnotationEditorLayer:t=!1,keepXfaLayer:i=!1,keepTextLayer:a=!1,keepCanvasWrapper:s=!1,preserveDetailViewState:n=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.cancelRendering({keepAnnotationLayer:e,keepAnnotationEditorLayer:t,keepXfaLayer:i,keepTextLayer:a});this.renderingState=se;const r=this.div,o=r.childNodes,l=e&&this.annotationLayer?.div||null,d=t&&this.annotationEditorLayer?.div||null,c=i&&this.xfaLayer?.div||null,u=a&&this.textLayer?.div||null,h=s&&pdf_page_view_classPrivateFieldGet(Fa,this)||null;for(let e=o.length-1;e>=0;e--){const t=o[e];switch(t){case l:case d:case c:case u:case h:continue}t.remove();const i=pdf_page_view_classPrivateFieldGet(La,this).indexOf(t);i>=0&&(pdf_page_view_classPrivateFieldGet(La,this)[i]=null)}r.removeAttribute("data-loaded");l&&this.annotationLayer.hide();d&&this.annotationEditorLayer.hide();c&&this.xfaLayer.hide();u&&this.textLayer.hide();this.structTreeLayer?.hide();if(!s&&pdf_page_view_classPrivateFieldGet(Fa,this)){pdf_page_view_classPrivateFieldSet(Fa,this,null);this._resetCanvas()}if(!n){this.detailView?.reset({keepCanvas:s});s||(this.detailView=null)}}toggleEditingMode(e){pdf_page_view_classPrivateFieldSet(Sa,this,e);this.hasEditableAnnotations()&&this.reset({keepAnnotationLayer:!0,keepAnnotationEditorLayer:!0,keepXfaLayer:!0,keepTextLayer:!0,keepCanvasWrapper:!0})}updateVisibleArea(e){if(this.enableDetailCanvas)if(pdf_page_view_classPrivateFieldGet(Ea,this)&&this.maxCanvasPixels>0&&e){this.detailView??=new PDFPageDetailView({pageView:this});this.detailView.update({visibleArea:e})}else if(this.detailView){this.detailView.reset();this.detailView=null}}update(e){let{scale:t=0,rotation:i=null,optionalContentConfigPromise:a=null,drawingDelay:s=-1}=e;this.scale=t||this.scale;"number"==typeof i&&(this.rotation=i);if(a instanceof Promise){this._optionalContentConfigPromise=a;a.then((e=>{a===this._optionalContentConfigPromise&&(pdf_page_view_classPrivateFieldGet(Ma,this).initialOptionalContent=e.hasInitialVisibility)}))}pdf_page_view_classPrivateFieldGet(Ma,this).directDrawing=!0;const n=(this.rotation+this.pdfPageRotate)%360;this.viewport=this.viewport.clone({scale:this.scale*R.PDF_TO_CSS_UNITS,rotation:n});pdf_page_view_assertClassBrand(Ga,this,_setDimensions).call(this);this._isStandalone&&this._container?.style.setProperty("--scale-factor",this.viewport.scale);pdf_page_view_assertClassBrand(Ga,this,_computeScale).call(this);if(this.canvas){const e=pdf_page_view_classPrivateFieldGet(Ca,this)&&pdf_page_view_classPrivateFieldGet(Ea,this),t=s>=0&&s<1e3;if(t||e){if(t&&!e&&this.renderingState!==oe){this.cancelRendering({keepAnnotationLayer:!0,keepAnnotationEditorLayer:!0,keepXfaLayer:!0,keepTextLayer:!0,cancelExtraDelay:s});this.renderingState=oe;pdf_page_view_classPrivateFieldGet(Ma,this).directDrawing=!1}this.cssTransform({redrawAnnotationLayer:!0,redrawAnnotationEditorLayer:!0,redrawXfaLayer:!0,redrawTextLayer:!t,hideTextLayer:t});if(!t){this.detailView?.update({underlyingViewUpdated:!0});this.dispatchPageRendered(!0,!1)}return}}this.cssTransform({});this.reset({keepAnnotationLayer:!0,keepAnnotationEditorLayer:!0,keepXfaLayer:!0,keepTextLayer:!0,keepCanvasWrapper:!0,preserveDetailViewState:!0});this.detailView?.update({underlyingViewUpdated:!0})}cancelRendering(){let{keepAnnotationLayer:e=!1,keepAnnotationEditorLayer:t=!1,keepXfaLayer:i=!1,keepTextLayer:a=!1,cancelExtraDelay:s=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super.cancelRendering({cancelExtraDelay:s});if(this.textLayer&&(!a||!this.textLayer.div)){this.textLayer.cancel();this.textLayer=null}if(this.annotationLayer&&(!e||!this.annotationLayer.div)){this.annotationLayer.cancel();this.annotationLayer=null;this._annotationCanvasMap=null}this.structTreeLayer&&!this.textLayer&&(this.structTreeLayer=null);if(this.annotationEditorLayer&&(!t||!this.annotationEditorLayer.div)){if(this.drawLayer){this.drawLayer.cancel();this.drawLayer=null}this.annotationEditorLayer.cancel();this.annotationEditorLayer=null}if(this.xfaLayer&&(!i||!this.xfaLayer.div)){this.xfaLayer.cancel();this.xfaLayer=null;this._textHighlighter?.disable()}}cssTransform(e){let{redrawAnnotationLayer:t=!1,redrawAnnotationEditorLayer:i=!1,redrawXfaLayer:a=!1,redrawTextLayer:s=!1,hideTextLayer:n=!1}=e;const{canvas:r}=this;if(!r)return;const o=pdf_page_view_classPrivateFieldGet(Aa,this);if(this.viewport!==o){const e=(360+this.viewport.rotation-o.rotation)%360;if(90===e||270===e){const{width:t,height:i}=this.viewport,a=i/t,s=t/i;r.style.transform=`rotate(${e}deg) scale(${a},${s})`}else r.style.transform=0===e?"":`rotate(${e}deg)`}t&&this.annotationLayer&&pdf_page_view_assertClassBrand(Ga,this,_renderAnnotationLayer).call(this);if(i&&this.annotationEditorLayer){this.drawLayer&&pdf_page_view_assertClassBrand(Ga,this,_renderDrawLayer).call(this);pdf_page_view_assertClassBrand(Ga,this,_renderAnnotationEditorLayer).call(this)}a&&this.xfaLayer&&pdf_page_view_assertClassBrand(Ga,this,_renderXfaLayer).call(this);if(this.textLayer)if(n){this.textLayer.hide();this.structTreeLayer?.hide()}else s&&pdf_page_view_assertClassBrand(Ga,this,_renderTextLayer).call(this)}get width(){return this.viewport.width}get height(){return this.viewport.height}getPagePointFromEvent(e){const t=(pdf_page_view_classPrivateFieldGet(Fa,this)||this.div).getBoundingClientRect();return this.getPagePoint(e.clientX-t.left,e.clientY-t.top)}getPagePoint(e,t){return this.viewport.convertToPdfPoint(e,t)}_ensureCanvasWrapper(){let e=pdf_page_view_classPrivateFieldGet(Fa,this);if(!e){e=pdf_page_view_classPrivateFieldSet(Fa,this,document.createElement("div"));e.classList.add("canvasWrapper");pdf_page_view_assertClassBrand(Ga,this,_addLayer).call(this,e,"canvasWrapper")}return e}_getRenderingContext(e,t){return{canvasContext:e,transform:t,viewport:this.viewport,annotationMode:pdf_page_view_classPrivateFieldGet(Pa,this),optionalContentConfigPromise:this._optionalContentConfigPromise,annotationCanvasMap:this._annotationCanvasMap,pageColors:this.pageColors,isEditing:pdf_page_view_classPrivateFieldGet(Sa,this),background:this.pageBackground,invert:this.pageInvert}}async draw(){if(this.renderingState!==se){console.error("Must be in new state before drawing");this.reset()}const{div:e,l10n:t,pdfPage:i,viewport:a}=this;if(!i){this.renderingState=oe;throw new Error("pdfPage is not loaded")}this.renderingState=ne;const s=this._ensureCanvasWrapper();if(!this.textLayer&&pdf_page_view_classPrivateFieldGet(Ia,this)!==me&&!i.isPureXfa){this._accessibilityManager||=new TextAccessibilityManager(e);this.textLayer=new TextLayerBuilder({rootEl:this.rootEl,pdfPage:i,highlighter:this._textHighlighter,accessibilityManager:this._accessibilityManager,enablePermissions:pdf_page_view_classPrivateFieldGet(Ia,this)===be,onAppend:e=>{this.l10n.pause();pdf_page_view_assertClassBrand(Ga,this,_addLayer).call(this,e,"textLayer");this.l10n.resume()}})}if(!this.annotationLayer&&pdf_page_view_classPrivateFieldGet(Pa,this)!==l.DISABLE){const{annotationStorage:e,annotationEditorUIManager:t,downloadManager:a,enableScripting:s,fieldObjectsPromise:n,hasJSActionsPromise:r,linkService:o}=pdf_page_view_classPrivateFieldGet(xa,this);this._annotationCanvasMap||=new Map;this.annotationLayer=new AnnotationLayerBuilder({pdfPage:i,annotationStorage:e,imageResourcesPath:this.imageResourcesPath,renderForms:pdf_page_view_classPrivateFieldGet(Pa,this)===l.ENABLE_FORMS,linkService:o,downloadManager:a,enableScripting:s,hasJSActionsPromise:r,fieldObjectsPromise:n,annotationCanvasMap:this._annotationCanvasMap,accessibilityManager:this._accessibilityManager,annotationEditorUIManager:t,onAppend:e=>{pdf_page_view_assertClassBrand(Ga,this,_addLayer).call(this,e,"annotationLayer")}})}const{width:n,height:r}=a;pdf_page_view_classPrivateFieldSet(Aa,this,a);const{canvas:o,prevCanvas:d,ctx:c}=this._createCanvas((e=>{s.prepend(e)}));o.setAttribute("role","presentation");this.outputScale||pdf_page_view_assertClassBrand(Ga,this,_computeScale).call(this);const{outputScale:u}=this;pdf_page_view_classPrivateFieldSet(Ca,this,pdf_page_view_classPrivateFieldGet(Ea,this));const h=approximateFraction(u.sx),_=approximateFraction(u.sy),p=o.width=floorToDivide(Te(n*u.sx),h[0]),g=o.height=floorToDivide(Te(r*u.sy),_[0]),f=floorToDivide(Te(n),h[1]),v=floorToDivide(Te(r),_[1]);u.sx=p/f;u.sy=g/v;if(pdf_page_view_classPrivateFieldGet(Ba,this)!==h[1]){e.style.setProperty("--scale-round-x",`${h[1]}px`);pdf_page_view_classPrivateFieldSet(Ba,this,h[1])}if(pdf_page_view_classPrivateFieldGet(Ta,this)!==_[1]){e.style.setProperty("--scale-round-y",`${_[1]}px`);pdf_page_view_classPrivateFieldSet(Ta,this,_[1])}const m=u.scaled?[u.sx,0,0,u.sy,0,0]:null,w=this._drawCanvas(this._getRenderingContext(c,m),(()=>{d?.remove();this._resetCanvas()}),(e=>{pdf_page_view_classPrivateFieldGet(Ma,this).regularAnnotations=!e.separateAnnots;this.dispatchPageRendered(!1,!1)})).then((async()=>{this.structTreeLayer||=new StructTreeLayerBuilder(i,a.rawDims);const e=pdf_page_view_assertClassBrand(Ga,this,_renderTextLayer).call(this);if(this.annotationLayer){await pdf_page_view_assertClassBrand(Ga,this,_renderAnnotationLayer).call(this);pdf_page_view_classPrivateFieldGet(ya,this)&&this.annotationLayer&&this.textLayer&&await pdf_page_view_assertClassBrand(Ga,this,_injectLinkAnnotations).call(this,e)}const{annotationEditorUIManager:n}=pdf_page_view_classPrivateFieldGet(xa,this);if(n){this.drawLayer||=new DrawLayerBuilder({pageIndex:this.id});await pdf_page_view_assertClassBrand(Ga,this,_renderDrawLayer).call(this);this.drawLayer.setParent(s);this.annotationEditorLayer||=new AnnotationEditorLayerBuilder({uiManager:n,pdfPage:i,l10n:t,structTreeLayer:this.structTreeLayer,accessibilityManager:this._accessibilityManager,annotationLayer:this.annotationLayer?.annotationLayer,textLayer:this.textLayer,drawLayer:this.drawLayer.getDrawLayer(),onAppend:e=>{pdf_page_view_assertClassBrand(Ga,this,_addLayer).call(this,e,"annotationEditorLayer")}});pdf_page_view_assertClassBrand(Ga,this,_renderAnnotationEditorLayer).call(this)}}));if(i.isPureXfa){if(!this.xfaLayer){const{annotationStorage:e,linkService:t}=pdf_page_view_classPrivateFieldGet(xa,this);this.xfaLayer=new XfaLayerBuilder({pdfPage:i,annotationStorage:e,linkService:t})}pdf_page_view_assertClassBrand(Ga,this,_renderXfaLayer).call(this)}e.setAttribute("data-loaded",!0);this.dispatchPageRender();return w}setPageLabel(e){this.pageLabel="string"==typeof e?e:null;this.div.setAttribute("data-l10n-args",JSON.stringify({page:this.pageLabel??this.id}));null!==this.pageLabel?this.div.setAttribute("data-page-label",this.pageLabel):this.div.removeAttribute("data-page-label")}get thumbnailCanvas(){const{directDrawing:e,initialOptionalContent:t,regularAnnotations:i}=pdf_page_view_classPrivateFieldGet(Ma,this);return e&&t&&i?this.canvas:null}}function _addLayer(e,t){const i=ba.get(t),a=pdf_page_view_classPrivateFieldGet(La,this)[i];pdf_page_view_classPrivateFieldGet(La,this)[i]=e;if(a)a.replaceWith(e);else{for(let t=i-1;t>=0;t--){const i=pdf_page_view_classPrivateFieldGet(La,this)[t];if(i){i.after(e);return}}this.div.insertBefore(e,this.div.firstChild)}}function _setDimensions(){const{div:e,viewport:t}=this;if(t.userUnit!==pdf_page_view_classPrivateFieldGet(Da,this)){1!==t.userUnit?e.style.setProperty("--user-unit",t.userUnit):e.style.removeProperty("--user-unit");pdf_page_view_classPrivateFieldSet(Da,this,t.userUnit)}if(this.pdfPage){if(pdf_page_view_classPrivateFieldGet(ka,this)===t.rotation)return;pdf_page_view_classPrivateFieldSet(ka,this,t.rotation)}W(e,t,!0,!1)}function _dispatchLayerRendered(e,t){this.eventBus.dispatch(e,{source:this,pageNumber:this.id,error:t})}async function _renderAnnotationLayer(){let e=null;try{await this.annotationLayer.render({viewport:this.viewport,intent:"display",structTreeLayer:this.structTreeLayer})}catch(t){console.error("#renderAnnotationLayer:",t);e=t}finally{pdf_page_view_assertClassBrand(Ga,this,_dispatchLayerRendered).call(this,"annotationlayerrendered",e)}}async function _renderAnnotationEditorLayer(){let e=null;try{await this.annotationEditorLayer.render({viewport:this.viewport,intent:"display"})}catch(t){console.error("#renderAnnotationEditorLayer:",t);e=t}finally{pdf_page_view_assertClassBrand(Ga,this,_dispatchLayerRendered).call(this,"annotationeditorlayerrendered",e)}}async function _renderDrawLayer(){try{await this.drawLayer.render({intent:"display"})}catch(e){console.error("#renderDrawLayer:",e)}}async function _renderXfaLayer(){let e=null;try{const e=await this.xfaLayer.render({viewport:this.viewport,intent:"display"});e?.textDivs&&this._textHighlighter&&pdf_page_view_assertClassBrand(Ga,this,_buildXfaTextContentItems).call(this,e.textDivs)}catch(t){console.error("#renderXfaLayer:",t);e=t}finally{if(this.xfaLayer?.div){this.l10n.pause();pdf_page_view_assertClassBrand(Ga,this,_addLayer).call(this,this.xfaLayer.div,"xfaLayer");this.l10n.resume()}pdf_page_view_assertClassBrand(Ga,this,_dispatchLayerRendered).call(this,"xfalayerrendered",e)}}async function _renderTextLayer(){if(!this.textLayer)return;let e=null;try{await this.textLayer.render({viewport:this.viewport})}catch(t){if(t instanceof i)return;console.error("#renderTextLayer:",t);e=t}pdf_page_view_assertClassBrand(Ga,this,_dispatchLayerRendered).call(this,"textlayerrendered",e);pdf_page_view_assertClassBrand(Ga,this,_renderStructTreeLayer).call(this)}async function _renderStructTreeLayer(){if(!this.textLayer)return;const e=await(this.structTreeLayer?.render());if(e){this.l10n.pause();this.structTreeLayer?.addElementsToTextLayer();this.canvas&&e.parentNode!==this.canvas&&this.canvas.append(e);this.l10n.resume()}this.structTreeLayer?.show()}async function _buildXfaTextContentItems(e){const t=await this.pdfPage.getTextContent();this._textHighlighter.setTextMapping(e,t.items);this._textHighlighter.enable()}async function _injectLinkAnnotations(e){let t=null;try{await e;if(!this.annotationLayer)return;await this.annotationLayer.injectLinkAnnotations({inferredLinks:Autolinker.processLinks(this),viewport:this.viewport,structTreeLayer:this.structTreeLayer})}catch(e){console.error("#injectLinkAnnotations:",e);t=e}}function _computeScale(){const{width:e,height:t}=this.viewport,i=this.outputScale=new D;if(0===this.maxCanvasPixels){const e=1/this.scale;i.sx*=e;i.sy*=e;pdf_page_view_classPrivateFieldSet(Ea,this,!0)}else pdf_page_view_classPrivateFieldSet(Ea,this,i.limitCanvas(e,t,this.maxCanvasPixels,this.maxCanvasDim,this.capCanvasAreaFactor))}class PDFRenderingQueue{constructor(){this.pdfViewer=null;this.pdfThumbnailViewer=null;this.onIdle=null;this.highestPriorityPage=null;this.idleTimeout=null;this.printing=!1;this.isThumbnailViewEnabled=!1;Object.defineProperty(this,"hasViewer",{value:()=>!!this.pdfViewer})}close(){activeWindow.clearTimeout(this.idleTimeout)}setViewer(e){this.pdfViewer=e}setThumbnailViewer(e){this.pdfThumbnailViewer=e}isHighestPriority(e){return this.highestPriorityPage===e.renderingId}renderHighestPriority(e){if(this.idleTimeout){activeWindow.clearTimeout(this.idleTimeout);this.idleTimeout=null}this.pdfViewer.forceRendering(e)||this.isThumbnailViewEnabled&&this.pdfThumbnailViewer?.forceRendering()||this.printing||this.onIdle&&(this.idleTimeout=activeWindow.setTimeout(this.onIdle.bind(this),3e4))}getHighestPriority(e,t,i){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const n=e.views,r=n.length;if(0===r)return null;for(let e=0;er){const a=e.ids;for(let e=1,s=l-o;e{this.renderHighestPriority()})).catch((e=>{e instanceof j||console.error("renderView:",e)}))}return!0}}function pdf_scripting_manager_classPrivateFieldInitSpec(e,t,i){pdf_scripting_manager_checkPrivateRedeclaration(e,t),t.set(e,i)}function pdf_scripting_manager_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function pdf_scripting_manager_classPrivateFieldGet(e,t){return e.get(pdf_scripting_manager_assertClassBrand(e,t))}function pdf_scripting_manager_classPrivateFieldSet(e,t,i){return e.set(pdf_scripting_manager_assertClassBrand(e,t),i),i}function pdf_scripting_manager_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var Oa=new WeakMap,Na=new WeakMap,Ra=new WeakMap,ja=new WeakMap,Va=new WeakMap,Wa=new WeakMap,za=new WeakMap,Ua=new WeakMap,Ha=new WeakMap,$a=new WeakMap,qa=new WeakMap,Xa=new WeakSet;class PDFScriptingManager{constructor(e){let{eventBus:t,externalServices:i=null,docProperties:a=null}=e;!function pdf_scripting_manager_classPrivateMethodInitSpec(e,t){pdf_scripting_manager_checkPrivateRedeclaration(e,t),t.add(e)}(this,Xa);pdf_scripting_manager_classPrivateFieldInitSpec(this,Oa,null);pdf_scripting_manager_classPrivateFieldInitSpec(this,Na,null);pdf_scripting_manager_classPrivateFieldInitSpec(this,Ra,null);pdf_scripting_manager_classPrivateFieldInitSpec(this,ja,null);pdf_scripting_manager_classPrivateFieldInitSpec(this,Va,null);pdf_scripting_manager_classPrivateFieldInitSpec(this,Wa,null);pdf_scripting_manager_classPrivateFieldInitSpec(this,za,null);pdf_scripting_manager_classPrivateFieldInitSpec(this,Ua,null);pdf_scripting_manager_classPrivateFieldInitSpec(this,Ha,!1);pdf_scripting_manager_classPrivateFieldInitSpec(this,$a,null);pdf_scripting_manager_classPrivateFieldInitSpec(this,qa,null);pdf_scripting_manager_classPrivateFieldSet(Va,this,t);pdf_scripting_manager_classPrivateFieldSet(Wa,this,i);pdf_scripting_manager_classPrivateFieldSet(Ra,this,a)}setViewer(e){pdf_scripting_manager_classPrivateFieldSet(Ua,this,e)}async setDocument(e){pdf_scripting_manager_classPrivateFieldGet(za,this)&&await pdf_scripting_manager_assertClassBrand(Xa,this,_destroyScripting).call(this);pdf_scripting_manager_classPrivateFieldSet(za,this,e);if(!e)return;const[t,i,a]=await Promise.all([e.getFieldObjects(),e.getCalculationOrderIds(),e.getJSActions()]);if(!t&&!a){await pdf_scripting_manager_assertClassBrand(Xa,this,_destroyScripting).call(this);return}if(e!==pdf_scripting_manager_classPrivateFieldGet(za,this))return;try{pdf_scripting_manager_classPrivateFieldSet($a,this,pdf_scripting_manager_assertClassBrand(Xa,this,_initScripting).call(this))}catch(e){console.error("setDocument:",e);await pdf_scripting_manager_assertClassBrand(Xa,this,_destroyScripting).call(this);return}const s=pdf_scripting_manager_classPrivateFieldGet(Va,this);pdf_scripting_manager_classPrivateFieldSet(ja,this,new AbortController);const{signal:n}=pdf_scripting_manager_classPrivateFieldGet(ja,this);s._on("updatefromsandbox",(e=>{e?.source===window&&pdf_scripting_manager_assertClassBrand(Xa,this,_updateFromSandbox).call(this,e.detail)}),{signal:n});s._on("dispatcheventinsandbox",(e=>{pdf_scripting_manager_classPrivateFieldGet($a,this)?.dispatchEventInSandbox(e.detail)}),{signal:n});s._on("pagechanging",(e=>{let{pageNumber:t,previous:i}=e;if(t!==i){pdf_scripting_manager_assertClassBrand(Xa,this,_dispatchPageClose).call(this,i);pdf_scripting_manager_assertClassBrand(Xa,this,_dispatchPageOpen).call(this,t)}}),{signal:n});s._on("pagerendered",(e=>{let{pageNumber:t}=e;this._pageOpenPending.has(t)&&t===pdf_scripting_manager_classPrivateFieldGet(Ua,this).currentPageNumber&&pdf_scripting_manager_assertClassBrand(Xa,this,_dispatchPageOpen).call(this,t)}),{signal:n});s._on("pagesdestroy",(async()=>{await pdf_scripting_manager_assertClassBrand(Xa,this,_dispatchPageClose).call(this,pdf_scripting_manager_classPrivateFieldGet(Ua,this).currentPageNumber);await(pdf_scripting_manager_classPrivateFieldGet($a,this)?.dispatchEventInSandbox({id:"doc",name:"WillClose"}));pdf_scripting_manager_classPrivateFieldGet(Oa,this)?.resolve()}),{signal:n});try{const n=await pdf_scripting_manager_classPrivateFieldGet(Ra,this).call(this,e);if(e!==pdf_scripting_manager_classPrivateFieldGet(za,this))return;await pdf_scripting_manager_classPrivateFieldGet($a,this).createSandbox({objects:t,calculationOrder:i,appInfo:{platform:navigator.platform,language:navigator.language},docInfo:{...n,actions:a}});s.dispatch("sandboxcreated",{source:this})}catch(e){console.error("setDocument:",e);await pdf_scripting_manager_assertClassBrand(Xa,this,_destroyScripting).call(this);return}await(pdf_scripting_manager_classPrivateFieldGet($a,this)?.dispatchEventInSandbox({id:"doc",name:"Open"}));await pdf_scripting_manager_assertClassBrand(Xa,this,_dispatchPageOpen).call(this,pdf_scripting_manager_classPrivateFieldGet(Ua,this).currentPageNumber,!0);Promise.resolve().then((()=>{e===pdf_scripting_manager_classPrivateFieldGet(za,this)&&pdf_scripting_manager_classPrivateFieldSet(Ha,this,!0)}))}async dispatchWillSave(){return pdf_scripting_manager_classPrivateFieldGet($a,this)?.dispatchEventInSandbox({id:"doc",name:"WillSave"})}async dispatchDidSave(){return pdf_scripting_manager_classPrivateFieldGet($a,this)?.dispatchEventInSandbox({id:"doc",name:"DidSave"})}async dispatchWillPrint(){if(pdf_scripting_manager_classPrivateFieldGet($a,this)){await(pdf_scripting_manager_classPrivateFieldGet(qa,this)?.promise);pdf_scripting_manager_classPrivateFieldSet(qa,this,Promise.withResolvers());try{await pdf_scripting_manager_classPrivateFieldGet($a,this).dispatchEventInSandbox({id:"doc",name:"WillPrint"})}catch(e){pdf_scripting_manager_classPrivateFieldGet(qa,this).resolve();pdf_scripting_manager_classPrivateFieldSet(qa,this,null);throw e}await pdf_scripting_manager_classPrivateFieldGet(qa,this).promise}}async dispatchDidPrint(){return pdf_scripting_manager_classPrivateFieldGet($a,this)?.dispatchEventInSandbox({id:"doc",name:"DidPrint"})}get destroyPromise(){return pdf_scripting_manager_classPrivateFieldGet(Na,this)?.promise||null}get ready(){return pdf_scripting_manager_classPrivateFieldGet(Ha,this)}get _pageOpenPending(){return z(this,"_pageOpenPending",new Set)}get _visitedPages(){return z(this,"_visitedPages",new Map)}}async function _updateFromSandbox(e){const t=pdf_scripting_manager_classPrivateFieldGet(Ua,this),i=t.isInPresentationMode||t.isChangingPresentationMode,{id:a,siblings:s,command:n,value:r}=e;if(!a){switch(n){case"clear":console.clear();break;case"error":console.error(r);break;case"layout":if(!i){const e=apiPageLayoutToViewerModes(r);t.spreadMode=e.spreadMode}break;case"page-num":t.currentPageNumber=r+1;break;case"print":await t.pagesPromise;pdf_scripting_manager_classPrivateFieldGet(Va,this).dispatch("print",{source:this});break;case"println":console.log(r);break;case"zoom":i||(t.currentScaleValue=r);break;case"SaveAs":pdf_scripting_manager_classPrivateFieldGet(Va,this).dispatch("download",{source:this});break;case"FirstPage":t.currentPageNumber=1;break;case"LastPage":t.currentPageNumber=t.pagesCount;break;case"NextPage":t.nextPage();break;case"PrevPage":t.previousPage();break;case"ZoomViewIn":i||t.increaseScale();break;case"ZoomViewOut":i||t.decreaseScale();break;case"WillPrintFinished":pdf_scripting_manager_classPrivateFieldGet(qa,this)?.resolve();pdf_scripting_manager_classPrivateFieldSet(qa,this,null)}return}if(i&&e.focus)return;delete e.id;delete e.siblings;const o=s?[a,...s]:[a];for(const t of o){const i=document.querySelector(`[data-element-id="${t}"]`);i?i.dispatchEvent(new CustomEvent("updatefromsandbox",{detail:e})):pdf_scripting_manager_classPrivateFieldGet(za,this)?.annotationStorage.setValue(t,e)}}async function _dispatchPageOpen(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=pdf_scripting_manager_classPrivateFieldGet(za,this),a=this._visitedPages;t&&pdf_scripting_manager_classPrivateFieldSet(Oa,this,Promise.withResolvers());if(!pdf_scripting_manager_classPrivateFieldGet(Oa,this))return;const s=pdf_scripting_manager_classPrivateFieldGet(Ua,this).getPageView(e-1);if(s?.renderingState!==oe){this._pageOpenPending.add(e);return}this._pageOpenPending.delete(e);const n=(async()=>{const t=await(a.has(e)?null:s.pdfPage?.getJSActions());i===pdf_scripting_manager_classPrivateFieldGet(za,this)&&await(pdf_scripting_manager_classPrivateFieldGet($a,this)?.dispatchEventInSandbox({id:"page",name:"PageOpen",pageNumber:e,actions:t}))})();a.set(e,n)}async function _dispatchPageClose(e){const t=pdf_scripting_manager_classPrivateFieldGet(za,this),i=this._visitedPages;if(!pdf_scripting_manager_classPrivateFieldGet(Oa,this))return;if(this._pageOpenPending.has(e))return;const a=i.get(e);if(a){i.set(e,null);await a;t===pdf_scripting_manager_classPrivateFieldGet(za,this)&&await(pdf_scripting_manager_classPrivateFieldGet($a,this)?.dispatchEventInSandbox({id:"page",name:"PageClose",pageNumber:e}))}}function _initScripting(){pdf_scripting_manager_classPrivateFieldSet(Na,this,Promise.withResolvers());if(pdf_scripting_manager_classPrivateFieldGet($a,this))throw new Error("#initScripting: Scripting already exists.");return pdf_scripting_manager_classPrivateFieldGet(Wa,this).createScripting()}async function _destroyScripting(){if(pdf_scripting_manager_classPrivateFieldGet($a,this)){if(pdf_scripting_manager_classPrivateFieldGet(Oa,this)){await Promise.race([pdf_scripting_manager_classPrivateFieldGet(Oa,this).promise,new Promise((e=>{activeWindow.setTimeout(e,1e3)}))]).catch((()=>{}));pdf_scripting_manager_classPrivateFieldSet(Oa,this,null)}pdf_scripting_manager_classPrivateFieldSet(za,this,null);try{await pdf_scripting_manager_classPrivateFieldGet($a,this).destroySandbox()}catch{}pdf_scripting_manager_classPrivateFieldGet(qa,this)?.reject(new Error("Scripting destroyed."));pdf_scripting_manager_classPrivateFieldSet(qa,this,null);pdf_scripting_manager_classPrivateFieldGet(ja,this)?.abort();pdf_scripting_manager_classPrivateFieldSet(ja,this,null);this._pageOpenPending.clear();this._visitedPages.clear();pdf_scripting_manager_classPrivateFieldSet($a,this,null);pdf_scripting_manager_classPrivateFieldSet(Ha,this,!1);pdf_scripting_manager_classPrivateFieldGet(Na,this)?.resolve()}else{pdf_scripting_manager_classPrivateFieldSet(za,this,null);pdf_scripting_manager_classPrivateFieldGet(Na,this)?.resolve()}}function pdf_thumbnail_view_classPrivateMethodInitSpec(e,t){(function pdf_thumbnail_view_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function pdf_thumbnail_view_classPrivateGetter(e,t,i){return i(pdf_thumbnail_view_assertClassBrand(e,t))}function pdf_thumbnail_view_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}function zeroCanvas(e){e.width=0;e.height=0}class TempImageFactory{static getCanvas(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:document;const a=pdf_thumbnail_view_assertClassBrand(TempImageFactory,this,Ka)._?.ownerDocument!==i?i.createElement("canvas"):pdf_thumbnail_view_assertClassBrand(TempImageFactory,this,Ka)._;a.width=e;a.height=t;const s=a.getContext("2d",{alpha:!1});s.save();s.fillStyle="rgb(255, 255, 255)";s.fillRect(0,0,e,t);s.restore();return[a,a.getContext("2d")]}static destroyCanvas(){pdf_thumbnail_view_assertClassBrand(TempImageFactory,this,Ka)._&&zeroCanvas(pdf_thumbnail_view_assertClassBrand(TempImageFactory,this,Ka)._);Ka._=pdf_thumbnail_view_assertClassBrand(TempImageFactory,this,null)}}var Ka={_:null},Za=new WeakSet;class PDFThumbnailView{constructor(e){let{container:t,eventBus:i,id:a,defaultViewport:s,optionalContentConfigPromise:n,linkService:r,renderingQueue:o,maxCanvasPixels:l,maxCanvasDim:d,pageColors:c,enableHWA:u,pageBackground:h,pageInvert:_}=e;pdf_thumbnail_view_classPrivateMethodInitSpec(this,Za);this.id=a;this.renderingId="thumbnail"+a;this.pageLabel=null;this.pdfPage=null;this.rotation=0;this.viewport=s;this.pdfPageRotate=s.rotation;this._optionalContentConfigPromise=n||null;this.maxCanvasPixels=l??AppOptions.get("maxCanvasPixels");this.maxCanvasDim=d||AppOptions.get("maxCanvasDim");this.pageColors=c||null;this.enableHWA=u||!1;this.pageBackground=h||null;this.pageInvert=_||!1;this.eventBus=i;this.linkService=r;this.renderingQueue=o;this.renderTask=null;this.renderingState=se;this.resume=null;const p=t.ownerDocument,g=p.createElement("a");g.href=r.getAnchorUrl("#page="+a);g.setAttribute("data-l10n-id","pdfjs-thumb-page-title");g.setAttribute("data-l10n-args",pdf_thumbnail_view_classPrivateGetter(Za,this,_get_pageL10nArgs));g.onclick=function(){r.goToPage(a);return!1};this.anchor=g;const f=p.createElement("div");f.className="thumbnail";f.setAttribute("data-page-number",this.id);f.setAttribute("data-page-label",this.pageLabel??this.id);this.div=f;pdf_thumbnail_view_assertClassBrand(Za,this,_updateDims).call(this);const v=p.createElement("div");v.className="thumbnailImage";this._placeholderImg=v;f.append(v);g.append(f);t.append(g)}setPdfPage(e){this.pdfPage=e;this.pdfPageRotate=e.rotate;const t=(this.rotation+this.pdfPageRotate)%360;this.viewport=e.getViewport({scale:1,rotation:t});this.reset()}reset(){this.cancelRendering();this.renderingState=se;this.div.removeAttribute("data-loaded");this.image?.replaceWith(this._placeholderImg);pdf_thumbnail_view_assertClassBrand(Za,this,_updateDims).call(this);if(this.image){this.image.removeAttribute("src");delete this.image}}update(e){let{rotation:t=null}=e;"number"==typeof t&&(this.rotation=t);const i=(this.rotation+this.pdfPageRotate)%360;this.viewport=this.viewport.clone({scale:1,rotation:i});this.reset()}cancelRendering(){if(this.renderTask){this.renderTask.cancel();this.renderTask=null}this.resume=null}async draw(){if(this.renderingState!==se){console.error("Must be in new state before drawing");return}const{pageColors:e,pdfPage:t}=this;if(!t){this.renderingState=oe;throw new Error("pdfPage is not loaded")}this.renderingState=ne;const{ctx:i,canvas:a,transform:s}=pdf_thumbnail_view_assertClassBrand(Za,this,_getPageDrawContext).call(this,2),n={canvasContext:i,transform:s,viewport:this.viewport.clone({scale:2*this.scale}),optionalContentConfigPromise:this._optionalContentConfigPromise,pageColors:e,background:this.pageBackground,invert:this.pageInvert},r=this.renderTask=t.render(n);r.onContinue=e=>{if(this.renderingQueue.isHighestPriority(this))e();else{this.renderingState=re;this.resume=()=>{this.renderingState=ne;e()}}};let o=null;try{await r.promise}catch(e){if(e instanceof j){zeroCanvas(a);return}o=e}finally{r===this.renderTask&&(this.renderTask=null)}this.renderingState=oe;pdf_thumbnail_view_assertClassBrand(Za,this,_convertCanvasToImage).call(this,a);zeroCanvas(a);this.eventBus.dispatch("thumbnailrendered",{source:this,pageNumber:this.id,pdfPage:t});if(o)throw o}setImage(e){if(this.renderingState!==se)return;const{thumbnailCanvas:t,pdfPage:i,scale:a}=e;if(t){this.pdfPage||this.setPdfPage(i);if(!(a0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.enableHWA;const i=this.div.ownerDocument.createElement("canvas"),a=i.getContext("2d",{alpha:!1,willReadFrequently:!t}),s=new D,n=e*this.canvasWidth,r=e*this.canvasHeight;s.limitCanvas(n,r,this.maxCanvasPixels,this.maxCanvasDim);i.width=n*s.sx|0;i.height=r*s.sy|0;return{ctx:a,canvas:i,transform:s.scaled?[s.sx,0,0,s.sy,0,0]:null}}function _convertCanvasToImage(e){if(this.renderingState!==oe)throw new Error("#convertCanvasToImage: Rendering has not finished.");const t=pdf_thumbnail_view_assertClassBrand(Za,this,_reduceImage).call(this,e),i=this.div.ownerDocument.createElement("img");i.className="thumbnailImage";i.setAttribute("data-l10n-id","pdfjs-thumb-page-canvas");i.setAttribute("data-l10n-args",pdf_thumbnail_view_classPrivateGetter(Za,this,_get_pageL10nArgs));i.src=t.toDataURL();this.image=i;this.div.setAttribute("data-loaded",!0);this._placeholderImg.replaceWith(i);zeroCanvas(t)}function _getReducedImageDims(e){const t=e.width<<3,i=e.height<<3,a=new D;a.sx=a.sy=1;a.limitCanvas(t,i,this.maxCanvasPixels,this.maxCanvasDim);return[t*a.sx|0,i*a.sy|0]}function _reduceImage(e){const{ctx:t,canvas:i}=pdf_thumbnail_view_assertClassBrand(Za,this,_getPageDrawContext).call(this,1,!0);if(e.width<=2*i.width){t.drawImage(e,0,0,e.width,e.height,0,0,i.width,i.height);return i}let[a,s]=pdf_thumbnail_view_assertClassBrand(Za,this,_getReducedImageDims).call(this,i);const[n,r]=TempImageFactory.getCanvas(a,s,this.div.ownerDocument);for(;a>e.width||s>e.height;){a>>=1;s>>=1}r.drawImage(e,0,0,e.width,e.height,0,0,a,s);for(;a>2*i.width;){r.drawImage(n,0,0,a,s,0,0,a>>1,s>>1);a>>=1;s>>=1}t.drawImage(n,0,0,a,s,0,0,i.width,i.height);return i}function _get_pageL10nArgs(e){return JSON.stringify({page:e.pageLabel??e.id})}function pdf_thumbnail_viewer_classPrivateMethodInitSpec(e,t){(function pdf_thumbnail_viewer_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function pdf_thumbnail_viewer_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}const Qa="selected";var Ya=new WeakSet;class PDFThumbnailViewer{constructor(e){let{container:t,eventBus:i,linkService:a,renderingQueue:s,maxCanvasPixels:n,maxCanvasDim:r,pageColors:o,abortSignal:l,enableHWA:d,pageBackground:c,pageInvert:u}=e;pdf_thumbnail_viewer_classPrivateMethodInitSpec(this,Ya);this.container=t;this.eventBus=i;this.linkService=a;this.renderingQueue=s;this.maxCanvasPixels=n;this.maxCanvasDim=r;this.pageColors=o||null;this.enableHWA=d||!1;this.pageBackground=c||null;this.pageInvert=u||!1;this.scroll=watchScroll(this.container,pdf_thumbnail_viewer_assertClassBrand(Ya,this,_scrollUpdated).bind(this),l);pdf_thumbnail_viewer_assertClassBrand(Ya,this,_resetView).call(this)}getThumbnail(e){return this._thumbnails[e]}scrollThumbnailIntoView(e){if(!this.pdfDocument)return;const t=this._thumbnails[e-1];if(!t){console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.');return}if(e!==this._currentPageNumber){this._thumbnails[this._currentPageNumber-1].div.classList.remove(Qa);t.div.classList.add(Qa)}const{first:i,last:a,views:s}=pdf_thumbnail_viewer_assertClassBrand(Ya,this,_getVisibleThumbs).call(this);if(s.length>0){let n=!1;if(e<=i.id||e>=a.id)n=!0;else for(const{id:t,percent:i}of s)if(t===e){n=i<100;break}n&&scrollIntoView(t.div,{top:-19})}this._currentPageNumber=e}get pagesRotation(){return this._pagesRotation}set pagesRotation(e){if(!isValidRotation(e))throw new Error("Invalid thumbnails rotation angle.");if(!this.pdfDocument)return;if(this._pagesRotation===e)return;this._pagesRotation=e;const t={rotation:e};for(const e of this._thumbnails)e.update(t)}cleanup(){for(const e of this._thumbnails)e.renderingState!==oe&&e.reset();TempImageFactory.destroyCanvas()}setDocument(e){if(this.pdfDocument){pdf_thumbnail_viewer_assertClassBrand(Ya,this,_cancelRendering).call(this);pdf_thumbnail_viewer_assertClassBrand(Ya,this,_resetView).call(this)}this.pdfDocument=e;if(!e){pdf_thumbnail_viewer_assertClassBrand(Ya,this,_cancelRendering).call(this);return}const t=e.getPage(1),i=e.getOptionalContentConfig({intent:"display"});t.then((t=>{const a=e.numPages,s=t.getViewport({scale:1});for(let e=1;e<=a;++e){const t=new PDFThumbnailView({container:this.container,eventBus:this.eventBus,id:e,defaultViewport:s.clone(),optionalContentConfigPromise:i,linkService:this.linkService,renderingQueue:this.renderingQueue,maxCanvasPixels:this.maxCanvasPixels,maxCanvasDim:this.maxCanvasDim,pageColors:this.pageColors,enableHWA:this.enableHWA,pageBackground:this.pageBackground,pageInvert:this.pageInvert});this._thumbnails.push(t)}this._thumbnails[0]?.setPdfPage(t);this._thumbnails[this._currentPageNumber-1].div.classList.add(Qa)})).catch((e=>{String(e).contains("destroyed")||console.error("Unable to initialize thumbnail viewer",e)}))}setPageLabels(e){if(this.pdfDocument){if(e)if(Array.isArray(e)&&this.pdfDocument.numPages===e.length)this._pageLabels=e;else{this._pageLabels=null;console.error("PDFThumbnailViewer_setPageLabels: Invalid page labels.")}else this._pageLabels=null;for(let e=0,t=this._thumbnails.length;e{this.pdfDocument&&this.renderingQueue.renderView(i)}));return!0}return!1}}function _scrollUpdated(){this.renderingQueue.renderHighestPriority()}function _getVisibleThumbs(){return getVisibleElements({scrollEl:this.container,views:this._thumbnails})}function _resetView(){this._thumbnails=[];this._currentPageNumber=1;this._pageLabels=null;this._pagesRotation=0;this.container.textContent=""}function _cancelRendering(){for(const e of this._thumbnails)e.cancelRendering()}async function _ensurePdfPageLoaded(e){if(e.pdfPage)return e.pdfPage;try{const t=await this.pdfDocument.getPage(e.id);e.pdfPage||e.setPdfPage(t);return t}catch(e){String(e).contains("destroyed")||console.error("Unable to get page for thumb view",e);return null}}function _getScrollAhead(e){return 1===e.first?.id||e.last?.id!==this._thumbnails.length&&this.scroll.down}__webpack_require__(1148),__webpack_require__(3579);function pdf_viewer_classPrivateMethodInitSpec(e,t){pdf_viewer_checkPrivateRedeclaration(e,t),t.add(e)}function pdf_viewer_classPrivateFieldInitSpec(e,t,i){pdf_viewer_checkPrivateRedeclaration(e,t),t.set(e,i)}function pdf_viewer_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function pdf_viewer_classPrivateFieldGet(e,t){return e.get(pdf_viewer_assertClassBrand(e,t))}function pdf_viewer_classPrivateFieldSet(e,t,i){return e.set(pdf_viewer_assertClassBrand(e,t),i),i}function pdf_viewer_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}const Ja=1e4,es=5e3,ts=250;function isValidAnnotationEditorMode(e){return Object.values(n).includes(e)&&e!==n.DISABLE}var is=new WeakMap,as=new WeakMap,ss=new WeakSet;class PDFPageViewBuffer{constructor(e){pdf_viewer_classPrivateMethodInitSpec(this,ss);pdf_viewer_classPrivateFieldInitSpec(this,is,new Set);pdf_viewer_classPrivateFieldInitSpec(this,as,0);pdf_viewer_classPrivateFieldSet(as,this,e)}push(e){const t=pdf_viewer_classPrivateFieldGet(is,this);t.has(e)&&t.delete(e);t.add(e);t.size>pdf_viewer_classPrivateFieldGet(as,this)&&pdf_viewer_assertClassBrand(ss,this,_destroyFirstView).call(this)}resize(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;pdf_viewer_classPrivateFieldSet(as,this,e);const i=pdf_viewer_classPrivateFieldGet(is,this);if(t){const e=i.size;let a=1;for(const s of i){if(t.has(s.id)){i.delete(s);i.add(s)}if(++a>e)break}}for(;i.size>pdf_viewer_classPrivateFieldGet(as,this);)pdf_viewer_assertClassBrand(ss,this,_destroyFirstView).call(this)}has(e){return pdf_viewer_classPrivateFieldGet(is,this).has(e)}[Symbol.iterator](){return pdf_viewer_classPrivateFieldGet(is,this).keys()}}function _destroyFirstView(){const e=pdf_viewer_classPrivateFieldGet(is,this).keys().next().value;e?.destroy();pdf_viewer_classPrivateFieldGet(is,this).delete(e)}var ns=new WeakMap,rs=new WeakMap,os=new WeakMap,ls=new WeakMap,ds=new WeakMap,cs=new WeakMap,us=new WeakMap,hs=new WeakMap,_s=new WeakMap,ps=new WeakMap,gs=new WeakMap,fs=new WeakMap,vs=new WeakMap,ms=new WeakMap,ws=new WeakMap,bs=new WeakMap,Ps=new WeakMap,Fs=new WeakMap,ys=new WeakMap,Cs=new WeakMap,Ss=new WeakMap,xs=new WeakMap,Es=new WeakMap,As=new WeakMap,ks=new WeakMap,Bs=new WeakMap,Ts=new WeakMap,Is=new WeakMap,Ds=new WeakMap,Ms=new WeakMap,Ls=new WeakSet;class PDFViewer{constructor(e){pdf_viewer_classPrivateMethodInitSpec(this,Ls);pdf_viewer_classPrivateFieldInitSpec(this,ns,null);pdf_viewer_classPrivateFieldInitSpec(this,rs,null);pdf_viewer_classPrivateFieldInitSpec(this,os,null);pdf_viewer_classPrivateFieldInitSpec(this,ls,n.NONE);pdf_viewer_classPrivateFieldInitSpec(this,ds,null);pdf_viewer_classPrivateFieldInitSpec(this,cs,l.ENABLE_FORMS);pdf_viewer_classPrivateFieldInitSpec(this,us,null);pdf_viewer_classPrivateFieldInitSpec(this,hs,null);pdf_viewer_classPrivateFieldInitSpec(this,_s,!1);pdf_viewer_classPrivateFieldInitSpec(this,ps,!1);pdf_viewer_classPrivateFieldInitSpec(this,gs,!1);pdf_viewer_classPrivateFieldInitSpec(this,fs,!1);pdf_viewer_classPrivateFieldInitSpec(this,vs,!1);pdf_viewer_classPrivateFieldInitSpec(this,ms,!0);pdf_viewer_classPrivateFieldInitSpec(this,ws,null);pdf_viewer_classPrivateFieldInitSpec(this,bs,0);pdf_viewer_classPrivateFieldInitSpec(this,Ps,null);pdf_viewer_classPrivateFieldInitSpec(this,Fs,null);pdf_viewer_classPrivateFieldInitSpec(this,ys,null);pdf_viewer_classPrivateFieldInitSpec(this,Cs,null);pdf_viewer_classPrivateFieldInitSpec(this,Ss,!1);pdf_viewer_classPrivateFieldInitSpec(this,xs,null);pdf_viewer_classPrivateFieldInitSpec(this,Es,!1);pdf_viewer_classPrivateFieldInitSpec(this,As,0);pdf_viewer_classPrivateFieldInitSpec(this,ks,new ResizeObserver(pdf_viewer_assertClassBrand(Ls,this,pdf_viewer_resizeObserverCallback).bind(this)));pdf_viewer_classPrivateFieldInitSpec(this,Bs,null);pdf_viewer_classPrivateFieldInitSpec(this,Ts,null);pdf_viewer_classPrivateFieldInitSpec(this,Is,null);pdf_viewer_classPrivateFieldInitSpec(this,Ds,!0);pdf_viewer_classPrivateFieldInitSpec(this,Ms,we);const t="5.3.34";if(Y!==t)throw new Error(`The API version "${Y}" does not match the Viewer version "${t}".`);this.container=e.container;this.viewer=e.viewer||e.container.firstElementChild;if("DIV"!==this.container?.tagName||"DIV"!==this.viewer?.tagName)throw new Error("Invalid `container` and/or `viewer` option.");if(this.container.offsetParent&&"absolute"!==getComputedStyle(this.container).position)throw new Error("The `container` must be absolutely positioned.");pdf_viewer_classPrivateFieldGet(ks,this).observe(this.container);this.eventBus=e.eventBus;this.linkService=e.linkService||new SimpleLinkService;this.downloadManager=e.downloadManager||null;this.findController=e.findController||null;pdf_viewer_classPrivateFieldSet(rs,this,e.altTextManager||null);pdf_viewer_classPrivateFieldSet(Is,this,e.signatureManager||null);pdf_viewer_classPrivateFieldSet(hs,this,e.editorUndoBar||null);this.findController&&(this.findController.onIsPageVisible=e=>this._getVisiblePages().ids.has(e));this._scriptingManager=e.scriptingManager||null;pdf_viewer_classPrivateFieldSet(Ms,this,e.textLayerMode??we);pdf_viewer_classPrivateFieldSet(cs,this,e.annotationMode??l.ENABLE_FORMS);pdf_viewer_classPrivateFieldSet(ls,this,e.annotationEditorMode??n.NONE);pdf_viewer_classPrivateFieldSet(os,this,e.annotationEditorHighlightColors||null);pdf_viewer_classPrivateFieldSet(ps,this,!0===e.enableHighlightFloatingButton);pdf_viewer_classPrivateFieldSet(fs,this,!0===e.enableUpdatedAddImage);pdf_viewer_classPrivateFieldSet(vs,this,!0===e.enableNewAltTextWhenAddingImage);this.imageResourcesPath=e.imageResourcesPath||"";this.enablePrintAutoRotate=e.enablePrintAutoRotate||!1;this.removePageBorders=e.removePageBorders||!1;this.maxCanvasPixels=e.maxCanvasPixels;this.maxCanvasDim=e.maxCanvasDim;this.capCanvasAreaFactor=e.capCanvasAreaFactor;this.enableDetailCanvas=e.enableDetailCanvas??!0;this.l10n=e.l10n;this.l10n||=new genericl10n_GenericL10n;pdf_viewer_classPrivateFieldSet(gs,this,e.enablePermissions||!1);this.pageColors=e.pageColors||null;pdf_viewer_classPrivateFieldSet(Ps,this,e.mlManager||null);pdf_viewer_classPrivateFieldSet(_s,this,e.enableHWA||!1);pdf_viewer_classPrivateFieldSet(Ds,this,!1!==e.supportsPinchToZoom);pdf_viewer_classPrivateFieldSet(ms,this,!1!==e.enableAutoLinking);pdf_viewer_classPrivateFieldSet(bs,this,e.minDurationToUpdateCanvas??500);this.pageBackground=e.pageBackground||null;this.pageInvert=e.pageInvert||null;this.defaultRenderingQueue=!e.renderingQueue;if(this.defaultRenderingQueue){this.renderingQueue=new PDFRenderingQueue;this.renderingQueue.setViewer(this)}else this.renderingQueue=e.renderingQueue;const{abortSignal:i}=e;i?.addEventListener("abort",(()=>{pdf_viewer_classPrivateFieldGet(ks,this).disconnect();pdf_viewer_classPrivateFieldSet(ks,this,null)}),{once:!0});this.scroll=watchScroll(this.container,this._scrollUpdate.bind(this),i);this.presentationModeState=le;this._resetView();this.removePageBorders&&this.viewer.classList.add("removePageBorders");pdf_viewer_assertClassBrand(Ls,this,_updateContainerHeightCss).call(this);this.eventBus._on("thumbnailrendered",(e=>{let{pageNumber:t,pdfPage:i}=e;const a=this._pages[t-1];pdf_viewer_classPrivateFieldGet(ns,this).has(a)||i?.cleanup()}));e.l10n||this.l10n.translate(this.container)}get pagesCount(){return this._pages.length}getPageView(e){return this._pages[e]}getCachedPageViews(){return new Set(pdf_viewer_classPrivateFieldGet(ns,this))}get pageViewsReady(){return this._pages.every((e=>e?.pdfPage))}get renderForms(){return pdf_viewer_classPrivateFieldGet(cs,this)===l.ENABLE_FORMS}get enableScripting(){return!!this._scriptingManager}get currentPageNumber(){return this._currentPageNumber}set currentPageNumber(e){if(!Number.isInteger(e))throw new Error("Invalid page number.");this.pdfDocument&&(this._setCurrentPageNumber(e,!0)||console.error(`currentPageNumber: "${e}" is not a valid page.`))}_setCurrentPageNumber(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this._currentPageNumber===e){t&&pdf_viewer_assertClassBrand(Ls,this,_resetCurrentPageView).call(this);return!0}if(!(0=0&&(t=i+1)}this._setCurrentPageNumber(t,!0)||console.error(`currentPageLabel: "${e}" is not a valid page.`)}get currentScale(){return 0!==this._currentScale?this._currentScale:1}set currentScale(e){if(isNaN(e))throw new Error("Invalid numeric scale.");this.pdfDocument&&pdf_viewer_assertClassBrand(Ls,this,_setScale).call(this,e,{noScroll:!1})}get currentScaleValue(){return this._currentScaleValue}set currentScaleValue(e){this.pdfDocument&&pdf_viewer_assertClassBrand(Ls,this,_setScale).call(this,e,{noScroll:!1})}get pagesRotation(){return this._pagesRotation}set pagesRotation(e){if(!isValidRotation(e))throw new Error("Invalid pages rotation angle.");if(!this.pdfDocument)return;(e%=360)<0&&(e+=360);if(this._pagesRotation===e)return;this._pagesRotation=e;const t=this._currentPageNumber;this.refresh(!0,{rotation:e});this._currentScaleValue&&pdf_viewer_assertClassBrand(Ls,this,_setScale).call(this,this._currentScaleValue,{noScroll:!0});this.eventBus.dispatch("rotationchanging",{source:this,pagesRotation:e,pageNumber:t});this.defaultRenderingQueue&&this.update()}get firstPagePromise(){return this.pdfDocument?this._firstPageCapability.promise:null}get onePageRendered(){return this.pdfDocument?this._onePageRenderedCapability.promise:null}get pagesPromise(){return this.pdfDocument?this._pagesCapability.promise:null}get _layerProperties(){const e=this;return z(this,"_layerProperties",{get annotationEditorUIManager(){return pdf_viewer_classPrivateFieldGet(ds,e)},get annotationStorage(){return e.pdfDocument?.annotationStorage},get downloadManager(){return e.downloadManager},get enableScripting(){return!!e._scriptingManager},get fieldObjectsPromise(){return e.pdfDocument?.getFieldObjects()},get findController(){return e.findController},get hasJSActionsPromise(){return e.pdfDocument?.hasJSActions()},get linkService(){return e.linkService}})}async getAllText(){const e=[],t=[];for(let i=1,a=this.pdfDocument.numPages;i<=a;++i){if(pdf_viewer_classPrivateFieldGet(Es,this))return null;t.length=0;const a=await this.pdfDocument.getPage(i),{items:s}=await a.getTextContent();for(const e of s){e.str&&t.push(e.str);e.hasEOL&&t.push("\n")}e.push(removeNullCharacters(t.join("")))}return e.join("\n")}setDocument(e){const t=this.container.ownerDocument;if(this.pdfDocument){this.eventBus.dispatch("pagesdestroy",{source:this});this._cancelRendering();this._resetView();this.findController?.setDocument(null);this._scriptingManager?.setDocument(null);pdf_viewer_classPrivateFieldGet(ds,this)?.destroy();pdf_viewer_classPrivateFieldSet(ds,this,null)}this.pdfDocument=e;if(!e){this._cancelRendering();return}const i=e.numPages,a=e.getPage(1),s=e.getOptionalContentConfig({intent:"display"}),o=pdf_viewer_classPrivateFieldGet(gs,this)?e.getPermissions():Promise.resolve(),{eventBus:l,pageColors:d,viewer:c}=this;pdf_viewer_classPrivateFieldSet(ws,this,new AbortController);const{signal:u}=pdf_viewer_classPrivateFieldGet(ws,this);if(i>Ja){console.warn("Forcing PAGE-scrolling for performance reasons, given the length of the document.");const e=this._scrollMode=Pe.PAGE;l.dispatch("scrollmodechanged",{source:this,mode:e})}this._pagesCapability.promise.then((()=>{l.dispatch("pagesloaded",{source:this,pagesCount:i})}),(()=>{}));l._on("pagerender",(e=>{const t=this._pages[e.pageNumber-1];t&&pdf_viewer_classPrivateFieldGet(ns,this).push(t)}),{signal:u});const onAfterDraw=e=>{if(!e.cssTransform&&!e.isDetailView){this._onePageRenderedCapability.resolve({timestamp:e.timestamp});l._off("pagerendered",onAfterDraw)}};l._on("pagerendered",onAfterDraw,{signal:u});Promise.all([a,o]).then((a=>{let[o,h]=a;if(e!==this.pdfDocument)return;this._firstPageCapability.resolve(o);this._optionalContentConfigPromise=s;const{annotationEditorMode:_,annotationMode:p,textLayerMode:g}=pdf_viewer_assertClassBrand(Ls,this,_initializePermissions).call(this,h);if(g!==me){const e=pdf_viewer_classPrivateFieldSet(xs,this,document.createElement("div"));e.classList.add("hiddenCopyElement");c.before(e)}if(_!==n.DISABLE){const t=_;if(e.isPureXfa)console.warn("Warning: XFA-editing is not implemented.");else if(isValidAnnotationEditorMode(t)){pdf_viewer_classPrivateFieldSet(ds,this,new r(this.container,c,pdf_viewer_classPrivateFieldGet(rs,this),pdf_viewer_classPrivateFieldGet(Is,this),l,e,d,pdf_viewer_classPrivateFieldGet(os,this),pdf_viewer_classPrivateFieldGet(ps,this),pdf_viewer_classPrivateFieldGet(fs,this),pdf_viewer_classPrivateFieldGet(vs,this),pdf_viewer_classPrivateFieldGet(Ps,this),pdf_viewer_classPrivateFieldGet(hs,this),pdf_viewer_classPrivateFieldGet(Ds,this)));l.dispatch("annotationeditoruimanager",{source:this,uiManager:pdf_viewer_classPrivateFieldGet(ds,this)});if(t!==n.NONE){pdf_viewer_assertClassBrand(Ls,this,_preloadEditingData).call(this,t);pdf_viewer_classPrivateFieldGet(ds,this).updateMode(t)}}else console.error(`Invalid AnnotationEditor mode: ${t}`)}const f=this._scrollMode===Pe.PAGE?null:c,v=this.currentScale,m=o.getViewport({scale:v*R.PDF_TO_CSS_UNITS});c.style.setProperty("--scale-factor",m.scale);d?.background&&c.style.setProperty("--page-bg-color",d.background);if("CanvasText"===d?.foreground||"Canvas"===d?.background){c.style.setProperty("--hcm-highlight-filter",e.filterFactory.addHighlightHCMFilter("highlight","CanvasText","Canvas","HighlightText","Highlight"));c.style.setProperty("--hcm-highlight-selected-filter",e.filterFactory.addHighlightHCMFilter("highlight_selected","CanvasText","Canvas","HighlightText","ButtonText"))}for(let e=1;e<=i;++e){const t=new PDFPageView({container:f,eventBus:l,id:e,scale:v,defaultViewport:m.clone(),optionalContentConfigPromise:s,renderingQueue:this.renderingQueue,textLayerMode:g,annotationMode:p,imageResourcesPath:this.imageResourcesPath,maxCanvasPixels:this.maxCanvasPixels,maxCanvasDim:this.maxCanvasDim,capCanvasAreaFactor:this.capCanvasAreaFactor,enableDetailCanvas:this.enableDetailCanvas,pageColors:d,l10n:this.l10n,layerProperties:this._layerProperties,enableHWA:pdf_viewer_classPrivateFieldGet(_s,this),enableAutoLinking:pdf_viewer_classPrivateFieldGet(ms,this),minDurationToUpdateCanvas:pdf_viewer_classPrivateFieldGet(bs,this),pageBackground:this.pageBackground,pageInvert:this.pageInvert,rootEl:this.container});this._pages.push(t)}this._pages[0]?.setPdfPage(o);this._scrollMode===Pe.PAGE?pdf_viewer_assertClassBrand(Ls,this,_ensurePageViewVisible).call(this):this._spreadMode!==Fe.NONE&&this._updateSpreadMode();pdf_viewer_assertClassBrand(Ls,this,_onePageRenderedOrForceFetch).call(this,u).then((async()=>{if(e!==this.pdfDocument)return;this.findController?.setDocument(e);this._scriptingManager?.setDocument(e);pdf_viewer_classPrivateFieldGet(xs,this)&&t.addEventListener("copy",pdf_viewer_assertClassBrand(Ls,this,_copyCallback).bind(this,g),{signal:u});pdf_viewer_classPrivateFieldGet(ds,this)&&l.dispatch("annotationeditormodechanged",{source:this,mode:pdf_viewer_classPrivateFieldGet(ls,this)});if(e.loadingParams.disableAutoFetch||i>es){this._pagesCapability.resolve();return}let a=i-1;if(a<=0)this._pagesCapability.resolve();else for(let t=2;t<=i;++t){const i=e.getPage(t).then((i=>{if(e!==this.pdfDocument)return;const s=this._pages[t-1];s.pdfPage||s.setPdfPage(i);0==--a&&this._pagesCapability.resolve()}),(e=>{String(e).contains("destroyed")||console.error(`Unable to get page ${t} to initialize viewer`,e);0==--a&&this._pagesCapability.resolve()}));t%ts==0&&await i}}));l.dispatch("pagesinit",{source:this});e.getMetadata().then((t=>{let{info:i}=t;e===this.pdfDocument&&i.Language&&(c.lang=i.Language)}));this.defaultRenderingQueue&&this.update()})).catch((e=>{String(e).contains("destroyed")||console.error("Unable to initialize viewer",e);this._pagesCapability.reject(e)}))}setPageLabels(e){if(this.pdfDocument){if(e)if(Array.isArray(e)&&this.pdfDocument.numPages===e.length)this._pageLabels=e;else{this._pageLabels=null;console.error("setPageLabels: Invalid page labels.")}else this._pageLabels=null;for(let e=0,t=this._pages.length;e{pdf_viewer_classPrivateFieldSet(Fs,this,null);this.update()}),100));this.update()}}pageLabelToPageNumber(e){if(!this._pageLabels)return null;const t=this._pageLabels.indexOf(e);return t<0?null:t+1}scrollPageIntoView(e){let{pageNumber:t,destArray:i=null,allowNegativeOffset:a=!1,ignoreDestinationZoom:s=!1}=e;if(!this.pdfDocument)return;const n=Number.isInteger(t)&&this._pages[t-1];if(!n){console.error(`scrollPageIntoView: "${t}" is not a valid pageNumber parameter.`);return}if(this.isInPresentationMode||!i){this._setCurrentPageNumber(t,!0);return}let r,o,l=0,d=0,c=0,u=0;const h=n.rotation%180!=0,_=(h?n.height:n.width)/n.scale/R.PDF_TO_CSS_UNITS,p=(h?n.width:n.height)/n.scale/R.PDF_TO_CSS_UNITS;let g=0;switch(i[1].name){case"XYZ":l=i[2];d=i[3];g=i[4];l=null!==l?l:0;d=null!==d?d:p;break;case"Fit":case"FitB":g="page-fit";break;case"FitH":case"FitBH":d=i[2];g="page-width";if(null===d&&this._location){l=this._location.left;d=this._location.top}else("number"!=typeof d||d<0)&&(d=p);break;case"FitV":case"FitBV":l=i[2];c=_;u=p;g="page-height";break;case"FitR":l=i[2];d=i[3];c=i[4]-l;u=i[5]-d;let e=40,t=16;this.removePageBorders&&(e=t=0);r=(this.container.clientWidth-e)/c/R.PDF_TO_CSS_UNITS;o=(this.container.clientHeight-t)/u/R.PDF_TO_CSS_UNITS;g=Math.min(Math.abs(r),Math.abs(o));break;default:console.error(`scrollPageIntoView: "${i[1].name}" is not a valid destination type.`);return}s||(g&&g!==this._currentScale?this.currentScaleValue=g:0===this._currentScale&&(this.currentScaleValue=ee));if("page-fit"===g&&!i[4]){pdf_viewer_assertClassBrand(Ls,this,_scrollIntoView).call(this,n);return}const f=[n.viewport.convertToViewportPoint(l,d),n.viewport.convertToViewportPoint(l+c,d+u)];let v=Math.min(f[0][0],f[1][0]),m=Math.min(f[0][1],f[1][1]);if(!a){v=Math.max(v,0);m=Math.max(m,0)}pdf_viewer_assertClassBrand(Ls,this,_scrollIntoView).call(this,n,{left:v,top:m})}_updateLocation(e){const t=this._currentScale,i=this._currentScaleValue,a=parseFloat(i)===t?Math.round(1e4*t)/100:i,s=e.id,n=this._pages[s-1],r=this.container,o=n.getPagePoint(r.scrollLeft-e.x,r.scrollTop-e.y),l=Math.round(o[0]),d=Math.round(o[1]);let c=`#page=${s}`;this.isInPresentationMode||(c+=`&zoom=${a},${l},${d}`);this._location={pageNumber:s,scale:a,top:d,left:l,rotation:this._pagesRotation,pdfOpenParams:c}}update(){const e=this._getVisiblePages(),t=e.views,i=t.length;if(0===i)return;const a=Math.max(10,2*i+1);pdf_viewer_classPrivateFieldGet(ns,this).resize(a,e.ids);for(const{view:e,visibleArea:i}of t)e.updateVisibleArea(i);for(const t of pdf_viewer_classPrivateFieldGet(ns,this))e.ids.has(t.id)||t.updateVisibleArea(null);this.renderingQueue.renderHighestPriority(e);const s=this._spreadMode===Fe.NONE&&(this._scrollMode===Pe.PAGE||this._scrollMode===Pe.VERTICAL),n=this._currentPageNumber;let r=!1;for(const e of t){if(e.percent<100)break;if(e.id===n&&s){r=!0;break}}this._setCurrentPageNumber(r?n:t[0].id);this._updateLocation(e.first);this.eventBus.dispatch("updateviewarea",{source:this,location:this._location})}containsElement(e){return this.container.contains(e)}focus(){this.container.focus()}get _isContainerRtl(){return"rtl"===getComputedStyle(this.container).direction}get isInPresentationMode(){return this.presentationModeState===ue}get isChangingPresentationMode(){return this.presentationModeState===ce}get isHorizontalScrollbarEnabled(){return!this.isInPresentationMode&&this.container.scrollWidth>this.container.clientWidth}get isVerticalScrollbarEnabled(){return!this.isInPresentationMode&&this.container.scrollHeight>this.container.clientHeight}_getVisiblePages(){const e=this._scrollMode===Pe.PAGE?pdf_viewer_classPrivateFieldGet(Bs,this).pages:this._pages,t=this._scrollMode===Pe.HORIZONTAL,i=t&&this._isContainerRtl;return getVisibleElements({scrollEl:this.container,views:e,sortByVisibility:!0,horizontal:t,rtl:i})}cleanup(){for(const e of this._pages)e.renderingState!==oe&&e.reset()}_cancelRendering(){for(const e of this._pages)e.cancelRendering()}forceRendering(e){if(!this.pdfDocument)return!1;const t=e||this._getVisiblePages(),i=pdf_viewer_assertClassBrand(Ls,this,pdf_viewer_getScrollAhead).call(this,t),a=this._spreadMode!==Fe.NONE&&this._scrollMode!==Pe.HORIZONTAL,s=null!==pdf_viewer_classPrivateFieldGet(Ts,this)||null!==pdf_viewer_classPrivateFieldGet(Fs,this)&&t.views.some((e=>e.detailView?.renderingCancelled)),n=this.renderingQueue.getHighestPriority(t,this._pages,i,a,s);if(n){pdf_viewer_assertClassBrand(Ls,this,pdf_viewer_ensurePdfPageLoaded).call(this,n).then((()=>{this.pdfDocument&&this.renderingQueue.renderView(n)}));return!0}return!1}get hasEqualPageSizes(){const e=this._pages[0];for(let t=1,i=this._pages.length;t{const i=t.pdfPage.getViewport({scale:1}),a=isPortraitOrientation(i);if(void 0===e)e=a;else if(this.enablePrintAutoRotate&&a!==e)return{width:i.height,height:i.width,rotation:(i.rotation-90)%360};return{width:i.width,height:i.height,rotation:i.rotation}}))}get optionalContentConfigPromise(){if(!this.pdfDocument)return Promise.resolve(null);if(!this._optionalContentConfigPromise){console.error("optionalContentConfigPromise: Not initialized yet.");return this.pdfDocument.getOptionalContentConfig({intent:"display"})}return this._optionalContentConfigPromise}set optionalContentConfigPromise(e){if(!(e instanceof Promise))throw new Error(`Invalid optionalContentConfigPromise: ${e}`);if(this.pdfDocument&&this._optionalContentConfigPromise){this._optionalContentConfigPromise=e;this.refresh(!1,{optionalContentConfigPromise:e});this.eventBus.dispatch("optionalcontentconfigchanged",{source:this,promise:e})}}get scrollMode(){return this._scrollMode}set scrollMode(e){if(this._scrollMode!==e){if(!isValidScrollMode(e))throw new Error(`Invalid scroll mode: ${e}`);if(!(this.pagesCount>Ja)){this._previousScrollMode=this._scrollMode;this._scrollMode=e;this.eventBus.dispatch("scrollmodechanged",{source:this,mode:e});this._updateScrollMode(this._currentPageNumber)}}}_updateScrollMode(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=this._scrollMode,i=this.viewer;i.classList.toggle("scrollHorizontal",t===Pe.HORIZONTAL);i.classList.toggle("scrollWrapped",t===Pe.WRAPPED);if(this.pdfDocument&&e){t===Pe.PAGE?pdf_viewer_assertClassBrand(Ls,this,_ensurePageViewVisible).call(this):this._previousScrollMode===Pe.PAGE&&this._updateSpreadMode();this._currentScaleValue&&isNaN(this._currentScaleValue)&&pdf_viewer_assertClassBrand(Ls,this,_setScale).call(this,this._currentScaleValue,{noScroll:!0});this._setCurrentPageNumber(e,!0);this.update()}}get spreadMode(){return this._spreadMode}set spreadMode(e){if(this._spreadMode!==e){if(!isValidSpreadMode(e))throw new Error(`Invalid spread mode: ${e}`);this._spreadMode=e;this.eventBus.dispatch("spreadmodechanged",{source:this,mode:e});this._updateSpreadMode(this._currentPageNumber)}}_updateSpreadMode(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!this.pdfDocument)return;const t=this.viewer,i=this._pages;if(this._scrollMode===Pe.PAGE)pdf_viewer_assertClassBrand(Ls,this,_ensurePageViewVisible).call(this);else{t.textContent="";if(this._spreadMode===Fe.NONE)for(const e of this._pages)t.append(e.div);else{const e=this._spreadMode-1;let a=null;for(let s=0,n=i.length;s1&&void 0!==arguments[1]&&arguments[1];switch(this._scrollMode){case Pe.WRAPPED:{const{views:i}=this._getVisiblePages(),a=new Map;for(const{id:e,y:t,percent:s,widthPercent:n}of i){if(0===s||n<100)continue;let i=a.get(t);i||a.set(t,i||=[]);i.push(e)}for(const i of a.values()){const a=i.indexOf(e);if(-1===a)continue;const s=i.length;if(1===s)break;if(t)for(let t=a-1,s=0;t>=s;t--){const a=i[t],s=i[t+1]-1;if(as)return s-e}if(t){const t=i[0];if(te)return t-e+1}break}break}case Pe.HORIZONTAL:break;case Pe.PAGE:case Pe.VERTICAL:{if(this._spreadMode===Fe.NONE)break;const i=this._spreadMode-1;if(t&&e%2!==i)break;if(!t&&e%2===i)break;const{views:a}=this._getVisiblePages(),s=t?e-1:e+1;for(const{id:e,percent:t,widthPercent:i}of a)if(e===s){if(t>0&&100===i)return 2;break}break}}return 1}nextPage(){const e=this._currentPageNumber,t=this.pagesCount;if(e>=t)return!1;const i=this._getPageAdvance(e,!1)||1;this.currentPageNumber=Math.min(e+i,t);return!0}previousPage(){const e=this._currentPageNumber;if(e<=1)return!1;const t=this._getPageAdvance(e,!0)||1;this.currentPageNumber=Math.max(e-t,1);return!0}updateScale(e){let{drawingDelay:t,scaleFactor:i=null,steps:a=null,origin:s}=e;if(null===a&&null===i)throw new Error("Invalid updateScale options: either `steps` or `scaleFactor` must be provided.");if(!this.pdfDocument)return;let n=this._currentScale;if(i>0&&1!==i)n=Math.round(n*i*100)/100;else if(a){const e=a>0?1.1:1/1.1,t=a>0?Math.ceil:Math.floor;a=Math.abs(a);do{n=t(10*(n*e).toFixed(2))/10}while(--a>0)}n=k(n,ie,10);pdf_viewer_assertClassBrand(Ls,this,_setScale).call(this,n,{noScroll:!1,drawingDelay:t,origin:s})}increaseScale(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.updateScale({...e,steps:e.steps??1})}decreaseScale(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.updateScale({...e,steps:-(e.steps??1)})}get containerTopLeft(){if(pdf_viewer_classPrivateFieldGet(us,this))return pdf_viewer_classPrivateFieldGet(us,this);const e=this.container.getBoundingClientRect();return pdf_viewer_classPrivateFieldSet(us,this,[e.top,e.left])}get annotationEditorMode(){return pdf_viewer_classPrivateFieldGet(ds,this)?pdf_viewer_classPrivateFieldGet(ls,this):n.DISABLE}set annotationEditorMode(e){let{mode:t,editId:i=null,isFromKeyboard:a=!1}=e;if(!pdf_viewer_classPrivateFieldGet(ds,this))throw new Error("The AnnotationEditor is not enabled.");if(pdf_viewer_classPrivateFieldGet(ls,this)===t)return;if(!isValidAnnotationEditorMode(t))throw new Error(`Invalid AnnotationEditor mode: ${t}`);if(!this.pdfDocument)return;pdf_viewer_assertClassBrand(Ls,this,_preloadEditingData).call(this,t);const{eventBus:s,pdfDocument:r}=this,updater=async()=>{pdf_viewer_assertClassBrand(Ls,this,_cleanupSwitchAnnotationEditorMode).call(this);pdf_viewer_classPrivateFieldSet(ls,this,t);await pdf_viewer_classPrivateFieldGet(ds,this).updateMode(t,i,a);t===pdf_viewer_classPrivateFieldGet(ls,this)&&r===this.pdfDocument&&s.dispatch("annotationeditormodechanged",{source:this,mode:t})};if(t===n.NONE||pdf_viewer_classPrivateFieldGet(ls,this)===n.NONE){const e=t!==n.NONE;e||this.pdfDocument.annotationStorage.resetModifiedIds();for(const t of this._pages)t.toggleEditingMode(e);const i=pdf_viewer_assertClassBrand(Ls,this,_switchToEditAnnotationMode).call(this);if(e&&i){pdf_viewer_assertClassBrand(Ls,this,_cleanupSwitchAnnotationEditorMode).call(this);pdf_viewer_classPrivateFieldSet(ys,this,new AbortController);const e=AbortSignal.any([pdf_viewer_classPrivateFieldGet(ws,this).signal,pdf_viewer_classPrivateFieldGet(ys,this).signal]);s._on("pagerendered",(e=>{let{pageNumber:t}=e;i.delete(t);0===i.size&&pdf_viewer_classPrivateFieldSet(Cs,this,activeWindow.setTimeout(updater,0))}),{signal:e});return}}updater()}refresh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Object.create(null);if(this.pdfDocument){for(const e of this._pages)e.update(t);pdf_viewer_assertClassBrand(Ls,this,_cleanupTimeouts).call(this);e||this.update()}}}function _initializePermissions(e){const t={annotationEditorMode:pdf_viewer_classPrivateFieldGet(ls,this),annotationMode:pdf_viewer_classPrivateFieldGet(cs,this),textLayerMode:pdf_viewer_classPrivateFieldGet(Ms,this)};if(!e)return t;e.includes(N.COPY)||pdf_viewer_classPrivateFieldGet(Ms,this)!==we||(t.textLayerMode=be);e.includes(N.MODIFY_CONTENTS)||(t.annotationEditorMode=n.DISABLE);e.includes(N.MODIFY_ANNOTATIONS)||e.includes(N.FILL_INTERACTIVE_FORMS)||pdf_viewer_classPrivateFieldGet(cs,this)!==l.ENABLE_FORMS||(t.annotationMode=l.ENABLE);return t}async function _onePageRenderedOrForceFetch(e){const t=this.container.ownerDocument;if("hidden"===t.visibilityState||!this.container.offsetParent||0===this._getVisiblePages().views.length)return;const i=Promise.withResolvers(),a=new AbortController;t.addEventListener("visibilitychange",(()=>{"hidden"===t.visibilityState&&i.resolve()}),{signal:AbortSignal.any([e,a.signal])});await Promise.race([this._onePageRenderedCapability.promise,i.promise]);a.abort()}function _copyCallback(e,t){const i=this.container.ownerDocument.getSelection(),{focusNode:a,anchorNode:s}=i;if(s&&a&&i.containsNode(pdf_viewer_classPrivateFieldGet(xs,this))){if(pdf_viewer_classPrivateFieldGet(Ss,this)||e===be){H(t);return}pdf_viewer_classPrivateFieldSet(Ss,this,!0);const{classList:i}=this.viewer;i.add("copyAll");const a=new AbortController;window.addEventListener("keydown",(e=>pdf_viewer_classPrivateFieldSet(Es,this,"Escape"===e.key)),{signal:a.signal});this.getAllText().then((async e=>{null!==e&&await navigator.clipboard.writeText(e)})).catch((e=>{console.warn(`Something goes wrong when extracting the text: ${e.message}`)})).finally((()=>{pdf_viewer_classPrivateFieldSet(Ss,this,!1);pdf_viewer_classPrivateFieldSet(Es,this,!1);a.abort();i.remove("copyAll")}));H(t)}}function _ensurePageViewVisible(){if(this._scrollMode!==Pe.PAGE)throw new Error("#ensurePageViewVisible: Invalid scrollMode value.");const e=this._currentPageNumber,t=pdf_viewer_classPrivateFieldGet(Bs,this),i=this.viewer;i.textContent="";t.pages.length=0;if(this._spreadMode!==Fe.NONE||this.isInPresentationMode){const a=new Set,s=this._spreadMode-1;if(-1===s)a.add(e-1);else if(e%2!==s){a.add(e-1);a.add(e)}else{a.add(e-2);a.add(e-1)}const n=document.createElement("div");n.className="spread";if(this.isInPresentationMode){const e=document.createElement("div");e.className="dummyPage";n.append(e)}for(const e of a){const i=this._pages[e];if(i){n.append(i.div);t.pages.push(i)}}i.append(n)}else{const a=this._pages[e-1];i.append(a.div);t.pages.push(a)}t.scrollDown=e>=t.previousPageNumber;t.previousPageNumber=e}function _scrollIntoView(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const{div:i,id:a}=e;this._currentPageNumber!==a&&this._setCurrentPageNumber(a);if(this._scrollMode===Pe.PAGE){pdf_viewer_assertClassBrand(Ls,this,_ensurePageViewVisible).call(this);this.update()}if(!t&&!this.isInPresentationMode){const e=i.offsetLeft+i.clientLeft,a=e+i.clientWidth,{scrollLeft:s,clientWidth:n}=this.container;(this._scrollMode===Pe.HORIZONTAL||es+n)&&(t={left:0,top:0})}scrollIntoView(i,t);!this._currentScaleValue&&this._location&&(this._location=null)}function _isSameScale(e){return e===this._currentScale||Math.abs(e-this._currentScale)<1e-15}function _setScaleUpdatePages(e,t,i){let{noScroll:a=!1,preset:s=!1,drawingDelay:n=-1,origin:r=null}=i;this._currentScaleValue=t.toString();if(pdf_viewer_assertClassBrand(Ls,this,_isSameScale).call(this,e)){s&&this.eventBus.dispatch("scalechanging",{source:this,scale:e,presetValue:t});return}this.viewer.style.setProperty("--scale-factor",e*R.PDF_TO_CSS_UNITS);const o=n>=0&&n<1e3;this.refresh(!0,{scale:e,drawingDelay:o?n:-1});o&&pdf_viewer_classPrivateFieldSet(Ts,this,activeWindow.setTimeout((()=>{pdf_viewer_classPrivateFieldSet(Ts,this,null);this.refresh()}),n));const l=this._currentScale;this._currentScale=e;if(!a){let t,i=this._currentPageNumber;if(this._location&&!this.isInPresentationMode&&!this.isChangingPresentationMode){i=this._location.pageNumber;t=[null,{name:"XYZ"},this._location.left,this._location.top,null]}this.scrollPageIntoView({pageNumber:i,destArray:t,allowNegativeOffset:!0});if(Array.isArray(r)){const t=e/l-1,[i,a]=this.containerTopLeft;this.container.scrollLeft+=(r[0]-a)*t;this.container.scrollTop+=(r[1]-i)*t}}this.eventBus.dispatch("scalechanging",{source:this,scale:e,presetValue:s?t:void 0});this.defaultRenderingQueue&&this.update()}function _get_pageWidthScaleFactor(e){return e._spreadMode!==Fe.NONE&&e._scrollMode!==Pe.HORIZONTAL?2:1}function _setScale(e,t){let i=parseFloat(e);if(i>0){t.preset=!1;pdf_viewer_assertClassBrand(Ls,this,_setScaleUpdatePages).call(this,i,e,t)}else{const a=this._pages[this._currentPageNumber-1];if(!a)return;let s=40,n=16;if(this.isInPresentationMode){s=n=4;this._spreadMode!==Fe.NONE&&(s*=2)}else this.removePageBorders?s=n=0:this._scrollMode===Pe.HORIZONTAL&&([s,n]=[n,s]);const r=(this.container.clientWidth-s)/a.width*a.scale/function pdf_viewer_classPrivateGetter(e,t,i){return i(pdf_viewer_assertClassBrand(e,t))}(Ls,this,_get_pageWidthScaleFactor),o=(this.container.clientHeight-n)/a.height*a.scale;switch(e){case"page-actual":i=1;break;case"page-width":i=r;break;case"page-height":i=o;break;case"page-fit":i=Math.min(r,o);break;case"auto":const t=isPortraitOrientation(a)?r:Math.min(o,r);i=Math.min(1.25,t);break;default:console.error(`#setScale: "${e}" is an unknown zoom value.`);return}t.preset=!0;pdf_viewer_assertClassBrand(Ls,this,_setScaleUpdatePages).call(this,i,e,t)}}function _resetCurrentPageView(){const e=this._pages[this._currentPageNumber-1];this.isInPresentationMode&&pdf_viewer_assertClassBrand(Ls,this,_setScale).call(this,this._currentScaleValue,{noScroll:!0});pdf_viewer_assertClassBrand(Ls,this,_scrollIntoView).call(this,e)}function _switchToEditAnnotationMode(){const e=this._getVisiblePages(),t=[],{ids:i,views:a}=e;for(const e of a){const{view:a}=e;a.hasEditableAnnotations()?t.push(e):i.delete(a.id)}if(0===t.length)return null;this.renderingQueue.renderHighestPriority({first:t[0],last:t.at(-1),views:t,ids:i});return i}async function pdf_viewer_ensurePdfPageLoaded(e){if(e.pdfPage)return e.pdfPage;try{const t=await this.pdfDocument.getPage(e.id);e.pdfPage||e.setPdfPage(t);return t}catch(e){String(e).contains("destroyed")||console.error("Unable to get page for page view",e);return null}}function pdf_viewer_getScrollAhead(e){if(1===e.first?.id)return!0;if(e.last?.id===this.pagesCount)return!1;switch(this._scrollMode){case Pe.PAGE:return pdf_viewer_classPrivateFieldGet(Bs,this).scrollDown;case Pe.HORIZONTAL:return this.scroll.right}return this.scroll.down}function _updateContainerHeightCss(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.container.clientHeight;e!==pdf_viewer_classPrivateFieldGet(As,this)&&pdf_viewer_classPrivateFieldSet(As,this,e)}function pdf_viewer_resizeObserverCallback(e){for(const t of e)if(t.target===this.container){pdf_viewer_assertClassBrand(Ls,this,_updateContainerHeightCss).call(this,Math.floor(t.borderBoxSize[0].blockSize));pdf_viewer_classPrivateFieldSet(us,this,null);break}}function _cleanupTimeouts(){if(null!==pdf_viewer_classPrivateFieldGet(Ts,this)){activeWindow.clearTimeout(pdf_viewer_classPrivateFieldGet(Ts,this));pdf_viewer_classPrivateFieldSet(Ts,this,null)}if(null!==pdf_viewer_classPrivateFieldGet(Fs,this)){activeWindow.clearTimeout(pdf_viewer_classPrivateFieldGet(Fs,this));pdf_viewer_classPrivateFieldSet(Fs,this,null)}}function _cleanupSwitchAnnotationEditorMode(){pdf_viewer_classPrivateFieldGet(ys,this)?.abort();pdf_viewer_classPrivateFieldSet(ys,this,null);if(null!==pdf_viewer_classPrivateFieldGet(Cs,this)){activeWindow.clearTimeout(pdf_viewer_classPrivateFieldGet(Cs,this));pdf_viewer_classPrivateFieldSet(Cs,this,null)}}function _preloadEditingData(e){switch(e){case n.STAMP:pdf_viewer_classPrivateFieldGet(Ps,this)?.loadModel("altText");break;case n.SIGNATURE:pdf_viewer_classPrivateFieldGet(Is,this)?.loadSignatures()}}__webpack_require__(5781);class GenericScripting{constructor(e){this._ready=new Promise(((t,i)=>{import( /*webpackIgnore: true*/ /*@vite-ignore*/ e).then((e=>{t(e.QuickJSSandbox())})).catch(i)}))}async createSandbox(e){(await this._ready).create(e)}async dispatchEventInSandbox(e){const t=await this._ready;activeWindow.setTimeout((()=>t.dispatchEvent(e)),0)}async destroySandbox(){(await this._ready).nukeSandbox()}}function generic_signature_storage_classPrivateFieldInitSpec(e,t,i){generic_signature_storage_checkPrivateRedeclaration(e,t),t.set(e,i)}function generic_signature_storage_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function generic_signature_storage_classPrivateFieldGet(e,t){return e.get(generic_signature_storage_assertClassBrand(e,t))}function generic_signature_storage_classPrivateFieldSet(e,t,i){return e.set(generic_signature_storage_assertClassBrand(e,t),i),i}function generic_signature_storage_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}const Gs="pdfjs.signature";var Os=new WeakMap,Ns=new WeakMap,Rs=new WeakMap,js=new WeakSet;class SignatureStorage{constructor(e,t){!function generic_signature_storage_classPrivateMethodInitSpec(e,t){generic_signature_storage_checkPrivateRedeclaration(e,t),t.add(e)}(this,js);generic_signature_storage_classPrivateFieldInitSpec(this,Os,void 0);generic_signature_storage_classPrivateFieldInitSpec(this,Ns,null);generic_signature_storage_classPrivateFieldInitSpec(this,Rs,null);generic_signature_storage_classPrivateFieldSet(Os,this,e);generic_signature_storage_classPrivateFieldSet(Rs,this,t)}async getAll(){if(generic_signature_storage_classPrivateFieldGet(Rs,this)){window.addEventListener("storage",(e=>{let{key:t}=e;if(t===Gs){generic_signature_storage_classPrivateFieldSet(Ns,this,null);generic_signature_storage_classPrivateFieldGet(Os,this)?.dispatch("storedsignatureschanged",{source:this})}}),{signal:generic_signature_storage_classPrivateFieldGet(Rs,this)});generic_signature_storage_classPrivateFieldSet(Rs,this,null)}if(!generic_signature_storage_classPrivateFieldGet(Ns,this)){generic_signature_storage_classPrivateFieldSet(Ns,this,new Map);const e=localStorage.getItem(Gs);if(e)for(const[t,i]of Object.entries(JSON.parse(e)))generic_signature_storage_classPrivateFieldGet(Ns,this).set(t,i)}return generic_signature_storage_classPrivateFieldGet(Ns,this)}async isFull(){return 5===await this.size()}async size(){return(await this.getAll()).size}async create(e){if(await this.isFull())return null;const t=b();generic_signature_storage_classPrivateFieldGet(Ns,this).set(t,e);generic_signature_storage_assertClassBrand(js,this,_save).call(this);return t}async delete(e){const t=await this.getAll();if(!t.has(e))return!1;t.delete(e);generic_signature_storage_assertClassBrand(js,this,_save).call(this);return!0}}function _save(){localStorage.setItem(Gs,JSON.stringify(Object.fromEntries(generic_signature_storage_classPrivateFieldGet(Ns,this))))}class ExternalServices extends BaseExternalServices{async createL10n(){return new genericl10n_GenericL10n(AppOptions.get("localeProperties")?.lang)}createScripting(){return new GenericScripting(AppOptions.get("sandboxBundleSrc"))}createSignatureStorage(e,t){return new SignatureStorage(e,t)}}0;function new_alt_text_manager_classPrivateMethodInitSpec(e,t){new_alt_text_manager_checkPrivateRedeclaration(e,t),t.add(e)}function new_alt_text_manager_classPrivateFieldInitSpec(e,t,i){new_alt_text_manager_checkPrivateRedeclaration(e,t),t.set(e,i)}function new_alt_text_manager_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _toSetter(e,t,i){t||(t=[]);var a=t.length++;return Object.defineProperty({},"_",{set:function(s){t[a]=s,e.apply(i,t)}})}function new_alt_text_manager_classPrivateFieldGet(e,t){return e.get(new_alt_text_manager_assertClassBrand(e,t))}function new_alt_text_manager_classPrivateFieldSet(e,t,i){return e.set(new_alt_text_manager_assertClassBrand(e,t),i),i}function new_alt_text_manager_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var Vs=new WeakMap,Ws=new WeakMap,zs=new WeakMap,Us=new WeakMap,Hs=new WeakMap,$s=new WeakMap,qs=new WeakMap,Xs=new WeakMap,Ks=new WeakMap,Zs=new WeakMap,Qs=new WeakMap,Ys=new WeakMap,Js=new WeakMap,en=new WeakMap,tn=new WeakMap,an=new WeakMap,sn=new WeakMap,nn=new WeakMap,rn=new WeakMap,on=new WeakMap,ln=new WeakMap,dn=new WeakMap,cn=new WeakMap,un=new WeakMap,hn=new WeakMap,_n=new WeakSet;class NewAltTextManager{constructor(e,t,i){let{descriptionContainer:a,dialog:s,imagePreview:n,cancelButton:r,disclaimer:o,notNowButton:l,saveButton:d,textarea:c,learnMore:u,errorCloseButton:h,createAutomaticallyButton:_,downloadModel:p,downloadModelDescription:g,title:f}=e;new_alt_text_manager_classPrivateMethodInitSpec(this,_n);new_alt_text_manager_classPrivateFieldInitSpec(this,Vs,new_alt_text_manager_assertClassBrand(_n,this,new_alt_text_manager_cancel).bind(this));new_alt_text_manager_classPrivateFieldInitSpec(this,Ws,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,zs,null);new_alt_text_manager_classPrivateFieldInitSpec(this,Us,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,Hs,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,$s,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,qs,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,Xs,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,Ks,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,Zs,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,Qs,!1);new_alt_text_manager_classPrivateFieldInitSpec(this,Ys,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,Js,null);new_alt_text_manager_classPrivateFieldInitSpec(this,en,null);new_alt_text_manager_classPrivateFieldInitSpec(this,tn,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,an,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,sn,!1);new_alt_text_manager_classPrivateFieldInitSpec(this,nn,!1);new_alt_text_manager_classPrivateFieldInitSpec(this,rn,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,on,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,ln,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,dn,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,cn,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,un,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,hn,null);new_alt_text_manager_classPrivateFieldSet(Us,this,r);new_alt_text_manager_classPrivateFieldSet(Ws,this,_);new_alt_text_manager_classPrivateFieldSet(Hs,this,a);new_alt_text_manager_classPrivateFieldSet($s,this,s);new_alt_text_manager_classPrivateFieldSet(qs,this,o);new_alt_text_manager_classPrivateFieldSet(on,this,l);new_alt_text_manager_classPrivateFieldSet(tn,this,n);new_alt_text_manager_classPrivateFieldSet(dn,this,c);new_alt_text_manager_classPrivateFieldSet(rn,this,u);new_alt_text_manager_classPrivateFieldSet(cn,this,f);new_alt_text_manager_classPrivateFieldSet(Xs,this,p);new_alt_text_manager_classPrivateFieldSet(Ks,this,g);new_alt_text_manager_classPrivateFieldSet(ln,this,t);new_alt_text_manager_classPrivateFieldSet(Zs,this,i);s.addEventListener("close",new_alt_text_manager_assertClassBrand(_n,this,_close).bind(this));s.addEventListener("contextmenu",(e=>{e.target!==new_alt_text_manager_classPrivateFieldGet(dn,this)&&e.preventDefault()}));r.addEventListener("click",new_alt_text_manager_classPrivateFieldGet(Vs,this));l.addEventListener("click",new_alt_text_manager_classPrivateFieldGet(Vs,this));d.addEventListener("click",new_alt_text_manager_assertClassBrand(_n,this,new_alt_text_manager_save).bind(this));h.addEventListener("click",(()=>{new_alt_text_manager_assertClassBrand(_n,this,_toggleError).call(this,!1)}));_.addEventListener("click",(async()=>{const e="true"!==_.getAttribute("aria-pressed");new_alt_text_manager_classPrivateFieldGet(zs,this)._reportTelemetry({action:"pdfjs.image.alt_text.ai_generation_check",data:{status:e}});if(new_alt_text_manager_classPrivateFieldGet(un,this)){new_alt_text_manager_classPrivateFieldGet(un,this).setPreference("enableGuessAltText",e);await new_alt_text_manager_classPrivateFieldGet(un,this).mlManager.toggleService("altText",e)}new_alt_text_manager_assertClassBrand(_n,this,_toggleGuessAltText).call(this,e,!1)}));c.addEventListener("focus",(()=>{new_alt_text_manager_classPrivateFieldSet(nn,this,new_alt_text_manager_classPrivateFieldGet(sn,this));new_alt_text_manager_assertClassBrand(_n,this,_toggleLoading).call(this,!1);new_alt_text_manager_assertClassBrand(_n,this,_toggleTitleAndDisclaimer).call(this)}));c.addEventListener("blur",(()=>{c.value||new_alt_text_manager_assertClassBrand(_n,this,_toggleLoading).call(this,new_alt_text_manager_classPrivateFieldGet(nn,this));new_alt_text_manager_assertClassBrand(_n,this,_toggleTitleAndDisclaimer).call(this)}));c.addEventListener("input",(()=>{new_alt_text_manager_assertClassBrand(_n,this,_toggleTitleAndDisclaimer).call(this)}));i._on("enableguessalttext",(e=>{let{value:t}=e;new_alt_text_manager_assertClassBrand(_n,this,_toggleGuessAltText).call(this,t,!1)}));new_alt_text_manager_classPrivateFieldGet(ln,this).register(s);new_alt_text_manager_classPrivateFieldGet(rn,this).addEventListener("click",(()=>{new_alt_text_manager_classPrivateFieldGet(zs,this)._reportTelemetry({action:"pdfjs.image.alt_text.info",data:{topic:"alt_text"}})}))}async editAltText(e,t,i){if(new_alt_text_manager_classPrivateFieldGet(zs,this)||!t)return;if(i&&t.hasAltTextData()){t.altTextFinish();return}new_alt_text_manager_classPrivateFieldSet(Qs,this,i);let{mlManager:a}=e,s=!!a;new_alt_text_manager_assertClassBrand(_n,this,_toggleTitleAndDisclaimer).call(this);if(a&&!a.isReady("altText")){s=!1;a.hasProgress?new_alt_text_manager_assertClassBrand(_n,this,_setProgress).call(this):a=null}else new_alt_text_manager_classPrivateFieldGet(Xs,this).classList.toggle("hidden",!0);const n=a?.isEnabledFor("altText");new_alt_text_manager_classPrivateFieldSet(zs,this,t);new_alt_text_manager_classPrivateFieldSet(un,this,e);new_alt_text_manager_classPrivateFieldGet(un,this).removeEditListeners();({altText:_toSetter(new_alt_text_manager_classPrivateFieldSet,[hn,this])._}=t.altTextData);new_alt_text_manager_classPrivateFieldGet(dn,this).value=new_alt_text_manager_classPrivateFieldGet(hn,this)??"";let r,o,l;if(a){({canvas:r,width:o,height:l,imageData:_toSetter(new_alt_text_manager_classPrivateFieldSet,[an,this])._}=t.copyCanvas(224,180,!0));s&&new_alt_text_manager_assertClassBrand(_n,this,_toggleGuessAltText).call(this,await n,!0)}else({canvas:r,width:o,height:l}=t.copyCanvas(224,180,!1));r.setAttribute("role","presentation");const{style:d}=r;d.width=`${o}px`;d.height=`${l}px`;new_alt_text_manager_classPrivateFieldGet(tn,this).append(r);new_alt_text_manager_assertClassBrand(_n,this,_toggleNotNow).call(this);new_alt_text_manager_assertClassBrand(_n,this,_toggleAI).call(this,s);new_alt_text_manager_assertClassBrand(_n,this,_toggleError).call(this,!1);try{await new_alt_text_manager_classPrivateFieldGet(ln,this).open(new_alt_text_manager_classPrivateFieldGet($s,this))}catch(e){new_alt_text_manager_assertClassBrand(_n,this,_close).call(this);throw e}}destroy(){new_alt_text_manager_classPrivateFieldSet(un,this,null);new_alt_text_manager_assertClassBrand(_n,this,_finish).call(this)}}function _toggleLoading(e){if(new_alt_text_manager_classPrivateFieldGet(un,this)&&new_alt_text_manager_classPrivateFieldGet(sn,this)!==e){new_alt_text_manager_classPrivateFieldSet(sn,this,e);new_alt_text_manager_classPrivateFieldGet(Hs,this).classList.toggle("loading",e)}}function _toggleError(e){new_alt_text_manager_classPrivateFieldGet(un,this)&&new_alt_text_manager_classPrivateFieldGet($s,this).classList.toggle("error",e)}async function _toggleGuessAltText(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(new_alt_text_manager_classPrivateFieldGet(un,this)){new_alt_text_manager_classPrivateFieldGet($s,this).classList.toggle("aiDisabled",!e);new_alt_text_manager_classPrivateFieldGet(Ws,this).setAttribute("aria-pressed",e);if(e){const{altTextLearnMoreUrl:e}=new_alt_text_manager_classPrivateFieldGet(un,this).mlManager;e&&(new_alt_text_manager_classPrivateFieldGet(rn,this).href=e);new_alt_text_manager_assertClassBrand(_n,this,_mlGuessAltText).call(this,t)}else{new_alt_text_manager_assertClassBrand(_n,this,_toggleLoading).call(this,!1);new_alt_text_manager_classPrivateFieldSet(sn,this,!1);new_alt_text_manager_assertClassBrand(_n,this,_toggleTitleAndDisclaimer).call(this)}}}function _toggleNotNow(){new_alt_text_manager_classPrivateFieldGet(on,this).classList.toggle("hidden",!new_alt_text_manager_classPrivateFieldGet(Qs,this));new_alt_text_manager_classPrivateFieldGet(Us,this).classList.toggle("hidden",new_alt_text_manager_classPrivateFieldGet(Qs,this))}function _toggleAI(e){if(new_alt_text_manager_classPrivateFieldGet(un,this)&&new_alt_text_manager_classPrivateFieldGet(Js,this)!==e){new_alt_text_manager_classPrivateFieldSet(Js,this,e);new_alt_text_manager_classPrivateFieldGet($s,this).classList.toggle("noAi",!e);new_alt_text_manager_assertClassBrand(_n,this,_toggleTitleAndDisclaimer).call(this)}}function _toggleTitleAndDisclaimer(){const e=new_alt_text_manager_classPrivateFieldGet(sn,this)||new_alt_text_manager_classPrivateFieldGet(Ys,this)&&new_alt_text_manager_classPrivateFieldGet(Ys,this)===new_alt_text_manager_classPrivateFieldGet(dn,this).value;new_alt_text_manager_classPrivateFieldGet(qs,this).hidden=!e;const t=new_alt_text_manager_classPrivateFieldGet(sn,this)||!!new_alt_text_manager_classPrivateFieldGet(dn,this).value;if(new_alt_text_manager_classPrivateFieldGet(en,this)!==t){new_alt_text_manager_classPrivateFieldSet(en,this,t);new_alt_text_manager_classPrivateFieldGet(cn,this).setAttribute("data-l10n-id",t?"pdfjs-editor-new-alt-text-dialog-edit-label":"pdfjs-editor-new-alt-text-dialog-add-label")}}async function _mlGuessAltText(e){if(new_alt_text_manager_classPrivateFieldGet(sn,this))return;if(new_alt_text_manager_classPrivateFieldGet(dn,this).value)return;if(e&&null!==new_alt_text_manager_classPrivateFieldGet(hn,this))return;new_alt_text_manager_classPrivateFieldSet(Ys,this,new_alt_text_manager_classPrivateFieldGet(zs,this).guessedAltText);if(null===new_alt_text_manager_classPrivateFieldGet(hn,this)&&new_alt_text_manager_classPrivateFieldGet(Ys,this)){new_alt_text_manager_assertClassBrand(_n,this,_addAltText).call(this,new_alt_text_manager_classPrivateFieldGet(Ys,this));return}new_alt_text_manager_assertClassBrand(_n,this,_toggleLoading).call(this,!0);new_alt_text_manager_assertClassBrand(_n,this,_toggleTitleAndDisclaimer).call(this);let t=!1;try{const e=await new_alt_text_manager_classPrivateFieldGet(zs,this).mlGuessAltText(new_alt_text_manager_classPrivateFieldGet(an,this),!1);if(e){new_alt_text_manager_classPrivateFieldSet(Ys,this,e);new_alt_text_manager_classPrivateFieldSet(nn,this,new_alt_text_manager_classPrivateFieldGet(sn,this));new_alt_text_manager_classPrivateFieldGet(sn,this)&&new_alt_text_manager_assertClassBrand(_n,this,_addAltText).call(this,e)}}catch(e){console.error(e);t=!0}new_alt_text_manager_assertClassBrand(_n,this,_toggleLoading).call(this,!1);new_alt_text_manager_assertClassBrand(_n,this,_toggleTitleAndDisclaimer).call(this);t&&new_alt_text_manager_classPrivateFieldGet(un,this)&&new_alt_text_manager_assertClassBrand(_n,this,_toggleError).call(this,!0)}function _addAltText(e){if(new_alt_text_manager_classPrivateFieldGet(un,this)&&!new_alt_text_manager_classPrivateFieldGet(dn,this).value){new_alt_text_manager_classPrivateFieldGet(dn,this).value=e;new_alt_text_manager_assertClassBrand(_n,this,_toggleTitleAndDisclaimer).call(this)}}function _setProgress(){new_alt_text_manager_classPrivateFieldGet(Xs,this).classList.toggle("hidden",!1);const callback=async e=>{let{detail:{finished:t,total:i,totalLoaded:a}}=e;const s=1e6;a=Math.min(.99*i,a);const n=new_alt_text_manager_classPrivateFieldGet(Ks,this).ariaValueMax=Math.round(i/s),r=new_alt_text_manager_classPrivateFieldGet(Ks,this).ariaValueNow=Math.round(a/s);new_alt_text_manager_classPrivateFieldGet(Ks,this).setAttribute("data-l10n-args",JSON.stringify({totalSize:n,downloadedSize:r}));if(!t)return;new_alt_text_manager_classPrivateFieldGet(Zs,this)._off("loadaiengineprogress",callback);new_alt_text_manager_classPrivateFieldGet(Xs,this).classList.toggle("hidden",!0);new_alt_text_manager_assertClassBrand(_n,this,_toggleAI).call(this,!0);if(!new_alt_text_manager_classPrivateFieldGet(un,this))return;const{mlManager:o}=new_alt_text_manager_classPrivateFieldGet(un,this);o.toggleService("altText",!0);new_alt_text_manager_assertClassBrand(_n,this,_toggleGuessAltText).call(this,await o.isEnabledFor("altText"),!0)};new_alt_text_manager_classPrivateFieldGet(Zs,this)._on("loadaiengineprogress",callback)}function new_alt_text_manager_cancel(){new_alt_text_manager_classPrivateFieldGet(zs,this).altTextData={cancel:!0};const e=new_alt_text_manager_classPrivateFieldGet(dn,this).value.trim();new_alt_text_manager_classPrivateFieldGet(zs,this)._reportTelemetry({action:"pdfjs.image.alt_text.dismiss",data:{alt_text_type:e?"present":"empty",flow:new_alt_text_manager_classPrivateFieldGet(Qs,this)?"image_add":"alt_text_edit"}});new_alt_text_manager_classPrivateFieldGet(zs,this)._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!0,alt_text_type:"skipped"}});new_alt_text_manager_assertClassBrand(_n,this,_finish).call(this)}function _finish(){new_alt_text_manager_classPrivateFieldGet(ln,this).closeIfActive(new_alt_text_manager_classPrivateFieldGet($s,this))}function _close(){const e=new_alt_text_manager_classPrivateFieldGet(tn,this).firstChild;e.remove();e.width=e.height=0;new_alt_text_manager_classPrivateFieldSet(an,this,null);new_alt_text_manager_assertClassBrand(_n,this,_toggleLoading).call(this,!1);new_alt_text_manager_classPrivateFieldGet(un,this)?.addEditListeners();new_alt_text_manager_classPrivateFieldGet(zs,this).altTextFinish();new_alt_text_manager_classPrivateFieldGet(un,this)?.setSelected(new_alt_text_manager_classPrivateFieldGet(zs,this));new_alt_text_manager_classPrivateFieldSet(zs,this,null);new_alt_text_manager_classPrivateFieldSet(un,this,null)}function _extractWords(e){return new Set(e.toLowerCase().split(/[^\p{L}\p{N}]+/gu).filter((e=>!!e)))}function new_alt_text_manager_save(){const e=new_alt_text_manager_classPrivateFieldGet(dn,this).value.trim();new_alt_text_manager_classPrivateFieldGet(zs,this).altTextData={altText:e,decorative:!1};new_alt_text_manager_classPrivateFieldGet(zs,this).altTextData.guessedAltText=new_alt_text_manager_classPrivateFieldGet(Ys,this);if(new_alt_text_manager_classPrivateFieldGet(Ys,this)&&new_alt_text_manager_classPrivateFieldGet(Ys,this)!==e){const t=new_alt_text_manager_assertClassBrand(_n,this,_extractWords).call(this,new_alt_text_manager_classPrivateFieldGet(Ys,this)),i=new_alt_text_manager_assertClassBrand(_n,this,_extractWords).call(this,e);new_alt_text_manager_classPrivateFieldGet(zs,this)._reportTelemetry({action:"pdfjs.image.alt_text.user_edit",data:{total_words:t.size,words_removed:t.difference(i).size,words_added:i.difference(t).size}})}new_alt_text_manager_classPrivateFieldGet(zs,this)._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!0,alt_text_type:e?"present":"empty"}});new_alt_text_manager_classPrivateFieldGet(zs,this)._reportTelemetry({action:"pdfjs.image.alt_text.save",data:{alt_text_type:e?"present":"empty",flow:new_alt_text_manager_classPrivateFieldGet(Qs,this)?"image_add":"alt_text_edit"}});new_alt_text_manager_assertClassBrand(_n,this,_finish).call(this)}var pn=new WeakMap,gn=new WeakMap,fn=new WeakMap,vn=new WeakMap,mn=new WeakMap,wn=new WeakMap,bn=new WeakMap,Pn=new WeakMap,Fn=new WeakSet;class ImageAltTextSettings{constructor(e,t,i,a){let{dialog:s,createModelButton:n,aiModelSettings:r,learnMore:o,closeButton:l,deleteModelButton:d,downloadModelButton:c,showAltTextDialogButton:u}=e;new_alt_text_manager_classPrivateMethodInitSpec(this,Fn);new_alt_text_manager_classPrivateFieldInitSpec(this,pn,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,gn,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,fn,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,vn,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,mn,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,wn,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,bn,void 0);new_alt_text_manager_classPrivateFieldInitSpec(this,Pn,void 0);new_alt_text_manager_classPrivateFieldSet(vn,this,s);new_alt_text_manager_classPrivateFieldSet(pn,this,r);new_alt_text_manager_classPrivateFieldSet(gn,this,n);new_alt_text_manager_classPrivateFieldSet(fn,this,c);new_alt_text_manager_classPrivateFieldSet(Pn,this,u);new_alt_text_manager_classPrivateFieldSet(bn,this,t);new_alt_text_manager_classPrivateFieldSet(mn,this,i);new_alt_text_manager_classPrivateFieldSet(wn,this,a);const{altTextLearnMoreUrl:h}=a;h&&(o.href=h);s.addEventListener("contextmenu",B);n.addEventListener("click",(async e=>{const t=new_alt_text_manager_assertClassBrand(Fn,this,_togglePref).call(this,"enableGuessAltText",e);await a.toggleService("altText",t);new_alt_text_manager_assertClassBrand(Fn,this,_reportTelemetry).call(this,{type:"stamp",action:"pdfjs.image.alt_text.settings_ai_generation_check",data:{status:t}})}));u.addEventListener("click",(e=>{const t=new_alt_text_manager_assertClassBrand(Fn,this,_togglePref).call(this,"enableNewAltTextWhenAddingImage",e);new_alt_text_manager_assertClassBrand(Fn,this,_reportTelemetry).call(this,{type:"stamp",action:"pdfjs.image.alt_text.settings_edit_alt_text_check",data:{status:t}})}));d.addEventListener("click",new_alt_text_manager_assertClassBrand(Fn,this,_delete).bind(this,!0));c.addEventListener("click",new_alt_text_manager_assertClassBrand(Fn,this,_download).bind(this,!0));l.addEventListener("click",new_alt_text_manager_assertClassBrand(Fn,this,_finish2).bind(this));o.addEventListener("click",(()=>{new_alt_text_manager_assertClassBrand(Fn,this,_reportTelemetry).call(this,{type:"stamp",action:"pdfjs.image.alt_text.info",data:{topic:"ai_generation"}})}));i._on("enablealttextmodeldownload",(e=>{let{value:t}=e;t?new_alt_text_manager_assertClassBrand(Fn,this,_download).call(this,!1):new_alt_text_manager_assertClassBrand(Fn,this,_delete).call(this,!1)}));new_alt_text_manager_classPrivateFieldGet(bn,this).register(s)}async open(e){let{enableGuessAltText:t,enableNewAltTextWhenAddingImage:i}=e;const{enableAltTextModelDownload:a}=new_alt_text_manager_classPrivateFieldGet(wn,this);new_alt_text_manager_classPrivateFieldGet(gn,this).disabled=!a;new_alt_text_manager_classPrivateFieldGet(gn,this).setAttribute("aria-pressed",a&&t);new_alt_text_manager_classPrivateFieldGet(Pn,this).setAttribute("aria-pressed",i);new_alt_text_manager_classPrivateFieldGet(pn,this).classList.toggle("download",!a);await new_alt_text_manager_classPrivateFieldGet(bn,this).open(new_alt_text_manager_classPrivateFieldGet(vn,this));new_alt_text_manager_assertClassBrand(Fn,this,_reportTelemetry).call(this,{type:"stamp",action:"pdfjs.image.alt_text.settings_displayed"})}}function _reportTelemetry(e){new_alt_text_manager_classPrivateFieldGet(mn,this).dispatch("reporttelemetry",{source:this,details:{type:"editing",data:e}})}async function _download(){if(arguments.length>0&&void 0!==arguments[0]&&arguments[0]){new_alt_text_manager_classPrivateFieldGet(fn,this).disabled=!0;const e=new_alt_text_manager_classPrivateFieldGet(fn,this).firstChild;e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-settings-downloading-model-button");await new_alt_text_manager_classPrivateFieldGet(wn,this).downloadModel("altText");e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-settings-download-model-button");new_alt_text_manager_classPrivateFieldGet(gn,this).disabled=!1;new_alt_text_manager_assertClassBrand(Fn,this,_setPref).call(this,"enableGuessAltText",!0);new_alt_text_manager_classPrivateFieldGet(wn,this).toggleService("altText",!0);new_alt_text_manager_assertClassBrand(Fn,this,_setPref).call(this,"enableAltTextModelDownload",!0);new_alt_text_manager_classPrivateFieldGet(fn,this).disabled=!1}new_alt_text_manager_classPrivateFieldGet(pn,this).classList.toggle("download",!1);new_alt_text_manager_classPrivateFieldGet(gn,this).setAttribute("aria-pressed",!0)}async function _delete(){if(arguments.length>0&&void 0!==arguments[0]&&arguments[0]){await new_alt_text_manager_classPrivateFieldGet(wn,this).deleteModel("altText");new_alt_text_manager_assertClassBrand(Fn,this,_setPref).call(this,"enableGuessAltText",!1);new_alt_text_manager_assertClassBrand(Fn,this,_setPref).call(this,"enableAltTextModelDownload",!1)}new_alt_text_manager_classPrivateFieldGet(pn,this).classList.toggle("download",!0);new_alt_text_manager_classPrivateFieldGet(gn,this).disabled=!0;new_alt_text_manager_classPrivateFieldGet(gn,this).setAttribute("aria-pressed",!1)}function _togglePref(e,t){let{target:i}=t;const a="true"!==i.getAttribute("aria-pressed");new_alt_text_manager_assertClassBrand(Fn,this,_setPref).call(this,e,a);i.setAttribute("aria-pressed",a);return a}function _setPref(e,t){new_alt_text_manager_classPrivateFieldGet(mn,this).dispatch("setpreference",{source:this,name:e,value:t})}function _finish2(){new_alt_text_manager_classPrivateFieldGet(bn,this).closeIfActive(new_alt_text_manager_classPrivateFieldGet(vn,this))}function alt_text_manager_classPrivateFieldInitSpec(e,t,i){alt_text_manager_checkPrivateRedeclaration(e,t),t.set(e,i)}function alt_text_manager_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function alt_text_manager_classPrivateFieldGet(e,t){return e.get(alt_text_manager_assertClassBrand(e,t))}function alt_text_manager_classPrivateFieldSet(e,t,i){return e.set(alt_text_manager_assertClassBrand(e,t),i),i}function alt_text_manager_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var yn=new WeakMap,Cn=new WeakMap,Sn=new WeakMap,xn=new WeakMap,En=new WeakMap,An=new WeakMap,kn=new WeakMap,Bn=new WeakMap,Tn=new WeakMap,In=new WeakMap,Dn=new WeakMap,Mn=new WeakMap,Ln=new WeakMap,Gn=new WeakMap,On=new WeakMap,Nn=new WeakMap,Rn=new WeakMap,jn=new WeakMap,Vn=new WeakSet;class AltTextManager{constructor(e,t,i,a){let{dialog:s,optionDescription:n,optionDecorative:r,textarea:o,cancelButton:l,saveButton:d}=e;!function alt_text_manager_classPrivateMethodInitSpec(e,t){alt_text_manager_checkPrivateRedeclaration(e,t),t.add(e)}(this,Vn);alt_text_manager_classPrivateFieldInitSpec(this,yn,null);alt_text_manager_classPrivateFieldInitSpec(this,Cn,null);alt_text_manager_classPrivateFieldInitSpec(this,Sn,void 0);alt_text_manager_classPrivateFieldInitSpec(this,xn,void 0);alt_text_manager_classPrivateFieldInitSpec(this,En,void 0);alt_text_manager_classPrivateFieldInitSpec(this,An,!1);alt_text_manager_classPrivateFieldInitSpec(this,kn,void 0);alt_text_manager_classPrivateFieldInitSpec(this,Bn,void 0);alt_text_manager_classPrivateFieldInitSpec(this,Tn,void 0);alt_text_manager_classPrivateFieldInitSpec(this,In,void 0);alt_text_manager_classPrivateFieldInitSpec(this,Dn,void 0);alt_text_manager_classPrivateFieldInitSpec(this,Mn,void 0);alt_text_manager_classPrivateFieldInitSpec(this,Ln,null);alt_text_manager_classPrivateFieldInitSpec(this,Gn,null);alt_text_manager_classPrivateFieldInitSpec(this,On,null);alt_text_manager_classPrivateFieldInitSpec(this,Nn,null);alt_text_manager_classPrivateFieldInitSpec(this,Rn,void 0);alt_text_manager_classPrivateFieldInitSpec(this,jn,null);alt_text_manager_classPrivateFieldSet(xn,this,s);alt_text_manager_classPrivateFieldSet(kn,this,n);alt_text_manager_classPrivateFieldSet(Bn,this,r);alt_text_manager_classPrivateFieldSet(Dn,this,o);alt_text_manager_classPrivateFieldSet(Sn,this,l);alt_text_manager_classPrivateFieldSet(In,this,d);alt_text_manager_classPrivateFieldSet(Tn,this,i);alt_text_manager_classPrivateFieldSet(En,this,a);alt_text_manager_classPrivateFieldSet(Rn,this,t);const c=alt_text_manager_assertClassBrand(Vn,this,alt_text_manager_updateUIState).bind(this);s.addEventListener("close",alt_text_manager_assertClassBrand(Vn,this,alt_text_manager_close).bind(this));s.addEventListener("contextmenu",(e=>{e.target!==alt_text_manager_classPrivateFieldGet(Dn,this)&&e.preventDefault()}));l.addEventListener("click",alt_text_manager_assertClassBrand(Vn,this,alt_text_manager_finish).bind(this));d.addEventListener("click",alt_text_manager_assertClassBrand(Vn,this,alt_text_manager_save).bind(this));n.addEventListener("change",c);r.addEventListener("change",c);alt_text_manager_classPrivateFieldGet(Tn,this).register(s)}async editAltText(e,t){if(alt_text_manager_classPrivateFieldGet(Cn,this)||!t)return;alt_text_manager_assertClassBrand(Vn,this,_createSVGElement).call(this);alt_text_manager_classPrivateFieldSet(An,this,!1);alt_text_manager_classPrivateFieldSet(yn,this,new AbortController);const i={signal:alt_text_manager_classPrivateFieldGet(yn,this).signal},a=alt_text_manager_assertClassBrand(Vn,this,_onClick).bind(this);for(const e of[alt_text_manager_classPrivateFieldGet(kn,this),alt_text_manager_classPrivateFieldGet(Bn,this),alt_text_manager_classPrivateFieldGet(Dn,this),alt_text_manager_classPrivateFieldGet(In,this),alt_text_manager_classPrivateFieldGet(Sn,this)])e.addEventListener("click",a,i);const{altText:s,decorative:n}=t.altTextData;if(!0===n){alt_text_manager_classPrivateFieldGet(Bn,this).checked=!0;alt_text_manager_classPrivateFieldGet(kn,this).checked=!1}else{alt_text_manager_classPrivateFieldGet(Bn,this).checked=!1;alt_text_manager_classPrivateFieldGet(kn,this).checked=!0}alt_text_manager_classPrivateFieldSet(Ln,this,alt_text_manager_classPrivateFieldGet(Dn,this).value=s?.trim()||"");alt_text_manager_assertClassBrand(Vn,this,alt_text_manager_updateUIState).call(this);alt_text_manager_classPrivateFieldSet(Cn,this,t);alt_text_manager_classPrivateFieldSet(Mn,this,e);alt_text_manager_classPrivateFieldGet(Mn,this).removeEditListeners();alt_text_manager_classPrivateFieldSet(Gn,this,new AbortController);alt_text_manager_classPrivateFieldGet(En,this)._on("resize",alt_text_manager_assertClassBrand(Vn,this,_setPosition).bind(this),{signal:alt_text_manager_classPrivateFieldGet(Gn,this).signal});try{await alt_text_manager_classPrivateFieldGet(Tn,this).open(alt_text_manager_classPrivateFieldGet(xn,this));alt_text_manager_assertClassBrand(Vn,this,_setPosition).call(this)}catch(e){alt_text_manager_assertClassBrand(Vn,this,alt_text_manager_close).call(this);throw e}}destroy(){alt_text_manager_classPrivateFieldSet(Mn,this,null);alt_text_manager_assertClassBrand(Vn,this,alt_text_manager_finish).call(this);alt_text_manager_classPrivateFieldGet(On,this)?.remove();alt_text_manager_classPrivateFieldSet(On,this,alt_text_manager_classPrivateFieldSet(Nn,this,null))}}function _createSVGElement(){if(alt_text_manager_classPrivateFieldGet(On,this))return;const e=new _,t=alt_text_manager_classPrivateFieldSet(On,this,e.createElement("svg"));t.setAttribute("width","0");t.setAttribute("height","0");const i=e.createElement("defs");t.append(i);const a=e.createElement("mask");i.append(a);a.setAttribute("id","alttext-manager-mask");a.setAttribute("maskContentUnits","objectBoundingBox");let s=e.createElement("rect");a.append(s);s.setAttribute("fill","white");s.setAttribute("width","1");s.setAttribute("height","1");s.setAttribute("x","0");s.setAttribute("y","0");s=alt_text_manager_classPrivateFieldSet(Nn,this,e.createElement("rect"));a.append(s);s.setAttribute("fill","black");alt_text_manager_classPrivateFieldGet(xn,this).append(t)}function _setPosition(){if(!alt_text_manager_classPrivateFieldGet(Cn,this))return;const e=alt_text_manager_classPrivateFieldGet(xn,this),{style:t}=e,{x:i,y:a,width:s,height:n}=alt_text_manager_classPrivateFieldGet(Rn,this).getBoundingClientRect(),{innerWidth:r,innerHeight:o}=window,{width:l,height:d}=e.getBoundingClientRect(),{x:c,y:u,width:h,height:_}=alt_text_manager_classPrivateFieldGet(Cn,this).getClientDimensions(),p=10,g="ltr"===alt_text_manager_classPrivateFieldGet(Mn,this).direction,f=Math.max(c,i),v=Math.min(c+h,i+s),m=Math.max(u,a),w=Math.min(u+_,a+n);alt_text_manager_classPrivateFieldGet(Nn,this).setAttribute("width",""+(v-f)/r);alt_text_manager_classPrivateFieldGet(Nn,this).setAttribute("height",""+(w-m)/o);alt_text_manager_classPrivateFieldGet(Nn,this).setAttribute("x",""+f/r);alt_text_manager_classPrivateFieldGet(Nn,this).setAttribute("y",""+m/o);let b=null,P=Math.max(u,0);P+=Math.min(o-(P+d),0);g?c+h+p+ll+p&&(b=c-l-p):c>l+p?b=c-l-p:c+h+p+ld+p?P=u-d-p:u+_+p+d{u.dispatch("switchannotationeditorparams",{source:this,type:s[e],value:t})};t.addEventListener("input",(function(){dispatchEvent("FREETEXT_SIZE",this.valueAsNumber)}));i.addEventListener("input",(function(){dispatchEvent("FREETEXT_COLOR",this.value)}));a.addEventListener("input",(function(){dispatchEvent("INK_COLOR",this.value)}));n.addEventListener("input",(function(){dispatchEvent("INK_THICKNESS",this.valueAsNumber)}));r.addEventListener("input",(function(){dispatchEvent("INK_OPACITY",this.valueAsNumber)}));o.addEventListener("click",(()=>{u.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{action:"pdfjs.image.add_image_click"}}});dispatchEvent("CREATE")}));l.addEventListener("input",(function(){dispatchEvent("HIGHLIGHT_THICKNESS",this.valueAsNumber)}));d.addEventListener("click",(function(){const e="true"===this.getAttribute("aria-pressed");this.setAttribute("aria-pressed",!e);dispatchEvent("HIGHLIGHT_SHOW_ALL",!e)}));c.addEventListener("click",(()=>{dispatchEvent("CREATE")}));u._on("annotationeditorparamschanged",(e=>{for(const[o,c]of e.details)switch(o){case s.FREETEXT_SIZE:t.value=c;break;case s.FREETEXT_COLOR:i.value=c;break;case s.INK_COLOR:a.value=c;break;case s.INK_THICKNESS:n.value=c;break;case s.INK_OPACITY:r.value=c;break;case s.HIGHLIGHT_DEFAULT_COLOR:u.dispatch("mainhighlightcolorpickerupdatecolor",{source:this,value:c});break;case s.HIGHLIGHT_THICKNESS:l.value=c;break;case s.HIGHLIGHT_FREE:l.disabled=!c;break;case s.HIGHLIGHT_SHOW_ALL:d.setAttribute("aria-pressed",c)}}))}function caret_browsing_classPrivateFieldInitSpec(e,t,i){caret_browsing_checkPrivateRedeclaration(e,t),t.set(e,i)}function caret_browsing_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function caret_browsing_classPrivateFieldGet(e,t){return e.get(caret_browsing_assertClassBrand(e,t))}function caret_browsing_classPrivateFieldSet(e,t,i){return e.set(caret_browsing_assertClassBrand(e,t),i),i}function caret_browsing_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}const Un=.1;var Hn=new WeakMap,$n=new WeakMap,qn=new WeakMap,Xn=new WeakSet;class CaretBrowsingMode{constructor(e,t,i,a){!function caret_browsing_classPrivateMethodInitSpec(e,t){caret_browsing_checkPrivateRedeclaration(e,t),t.add(e)}(this,Xn);caret_browsing_classPrivateFieldInitSpec(this,Hn,void 0);caret_browsing_classPrivateFieldInitSpec(this,$n,0);caret_browsing_classPrivateFieldInitSpec(this,qn,void 0);caret_browsing_classPrivateFieldSet(Hn,this,t);caret_browsing_classPrivateFieldSet(qn,this,i);if(!a)return;caret_browsing_classPrivateFieldSet($n,this,a.getBoundingClientRect().height);const s=new ResizeObserver((e=>{for(const t of e)if(t.target===a){caret_browsing_classPrivateFieldSet($n,this,Math.floor(t.borderBoxSize[0].blockSize));break}}));s.observe(a);e.addEventListener("abort",(()=>s.disconnect()),{once:!0})}moveCaret(e,t){const i=caret_browsing_classPrivateFieldGet(Hn,this).ownerDocument.getSelection();if(0===i.rangeCount)return;const{focusNode:a}=i,s=a.nodeType!==Node.ELEMENT_NODE?a.parentElement:a,n=s.closest(".textLayer");if(!n)return;const r=caret_browsing_classPrivateFieldGet(Hn,this).ownerDocument.createTreeWalker(n,NodeFilter.SHOW_TEXT);r.currentNode=a;const o=s.getBoundingClientRect();let l=null;const d=(e?r.previousSibling:r.nextSibling).bind(r);for(;d();){const e=r.currentNode.parentElement;if(!caret_browsing_assertClassBrand(Xn,this,_isOnSameLine).call(this,o,e.getBoundingClientRect())){l=e;break}}if(!l){const s=caret_browsing_assertClassBrand(Xn,this,_getNodeOnNextPage).call(this,n,e);if(!s)return;if(t){const t=(e?r.firstChild():r.lastChild())||a;i.extend(t,e?0:t.length);const n=caret_browsing_classPrivateFieldGet(Hn,this).ownerDocument.createRange();n.setStart(s,e?s.length:0);n.setEnd(s,e?s.length:0);i.addRange(n);return}const[o]=caret_browsing_assertClassBrand(Xn,this,_getCaretPosition).call(this,i,e),{parentElement:l}=s;caret_browsing_assertClassBrand(Xn,this,_setCaretPosition).call(this,t,i,l,l.getBoundingClientRect(),o);return}const[c,u]=caret_browsing_assertClassBrand(Xn,this,_getCaretPosition).call(this,i,e),h=l.getBoundingClientRect();if(caret_browsing_assertClassBrand(Xn,this,_isUnderOver).call(this,h,c,u,e))caret_browsing_assertClassBrand(Xn,this,_setCaretPosition).call(this,t,i,l,h,c);else{for(;d();){const a=r.currentNode.parentElement,s=a.getBoundingClientRect();if(!caret_browsing_assertClassBrand(Xn,this,_isOnSameLine).call(this,h,s))break;if(caret_browsing_assertClassBrand(Xn,this,_isUnderOver).call(this,s,c,u,e)){caret_browsing_assertClassBrand(Xn,this,_setCaretPosition).call(this,t,i,a,s,c);return}}caret_browsing_assertClassBrand(Xn,this,_setCaretPosition).call(this,t,i,l,h,c)}}}Wn=CaretBrowsingMode;function _isOnSameLine(e,t){const i=e.y,a=e.bottom,s=e.y+e.height/2,n=t.y,r=t.bottom,o=t.y+t.height/2;return i<=o&&o<=a||n<=s&&s<=r}function _isUnderOver(e,t,i,a){const s=e.y+e.height/2;return(a?i>=s:i<=s)&&e.x-Un<=t&&t<=e.right+Un}function _isVisible(e){const t=caret_browsing_classPrivateFieldGet(Hn,this).ownerDocument;return e.top>=caret_browsing_classPrivateFieldGet($n,this)&&e.left>=0&&e.bottom<=(activeWindow.innerHeight||t.documentElement.clientHeight)&&e.right<=(activeWindow.innerWidth||t.documentElement.clientWidth)}function _getCaretPosition(e,t){const{focusNode:i,focusOffset:a}=e,s=caret_browsing_classPrivateFieldGet(Hn,this).ownerDocument.createRange();s.setStart(i,a);s.setEnd(i,a);const n=s.getBoundingClientRect();return[n.x,t?n.top:n.bottom]}function _caretPositionFromPoint(e,t){if(!activeDocument.caretPositionFromPoint){const{startContainer:i,startOffset:a}=activeDocument.caretRangeFromPoint(e,t);return{offsetNode:i,offset:a}}return activeDocument.caretPositionFromPoint(e,t)}function _setCaretPositionHelper(e,t,i,a,s){s||=a.getBoundingClientRect();if(t<=s.x+Un){i?e.extend(a.firstChild,0):e.setPosition(a.firstChild,0);return}if(s.right-Un<=t){const{lastChild:t}=a;i?e.extend(t,t.length):e.setPosition(t,t.length);return}const n=s.y+s.height/2;let r=_caretPositionFromPoint.call(Wn,t,n),o=r.offsetNode?.parentElement;if(o&&o!==a){const e=o.ownerDocument.elementsFromPoint(t,n),i=[];for(const t of e){if(t===a)break;const{style:e}=t;i.push([t,e.visibility]);e.visibility="hidden"}r=_caretPositionFromPoint.call(Wn,t,n);o=r.offsetNode?.parentElement;for(const[e,t]of i)e.style.visibility=t}o===a?i?e.extend(r.offsetNode,r.offset):e.setPosition(r.offsetNode,r.offset):i?e.extend(a.firstChild,0):e.setPosition(a.firstChild,0)}function _setCaretPosition(e,t,i,a,s){if(caret_browsing_assertClassBrand(Xn,this,_isVisible).call(this,a))caret_browsing_assertClassBrand(Xn,this,_setCaretPositionHelper).call(this,t,s,e,i,a);else{caret_browsing_classPrivateFieldGet(Hn,this).addEventListener("scrollend",caret_browsing_assertClassBrand(Xn,this,_setCaretPositionHelper).bind(this,t,s,e,i,null),{once:!0});i.scrollIntoView()}}function _getNodeOnNextPage(e,t){for(;;){const i=e.closest(".page"),a=parseInt(i.getAttribute("data-page-number")),s=t?a-1:a+1;if(!(e=caret_browsing_classPrivateFieldGet(qn,this).querySelector(`.page[data-page-number="${s}"] .textLayer`)))return null;const n=e.ownerDocument.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=t?n.lastChild():n.firstChild();if(r)return r}}function editor_undo_bar_defineProperty(e,t,i){return(t=function editor_undo_bar_toPropertyKey(e){var t=function editor_undo_bar_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function editor_undo_bar_classPrivateFieldInitSpec(e,t,i){(function editor_undo_bar_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,i)}function editor_undo_bar_classPrivateFieldGet(e,t){return e.get(editor_undo_bar_assertClassBrand(e,t))}function editor_undo_bar_classPrivateFieldSet(e,t,i){return e.set(editor_undo_bar_assertClassBrand(e,t),i),i}function editor_undo_bar_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var Kn=new WeakMap,Zn=new WeakMap,Qn=new WeakMap,Yn=new WeakMap,Jn=new WeakMap,er=new WeakMap,tr=new WeakMap,ir=new WeakMap;class EditorUndoBar{constructor(e,t){let{container:i,message:a,undoButton:s,closeButton:n}=e;editor_undo_bar_classPrivateFieldInitSpec(this,Kn,null);editor_undo_bar_classPrivateFieldInitSpec(this,Zn,void 0);editor_undo_bar_classPrivateFieldInitSpec(this,Qn,null);editor_undo_bar_classPrivateFieldInitSpec(this,Yn,null);editor_undo_bar_classPrivateFieldInitSpec(this,Jn,null);editor_undo_bar_defineProperty(this,"isOpen",!1);editor_undo_bar_classPrivateFieldInitSpec(this,er,void 0);editor_undo_bar_classPrivateFieldInitSpec(this,tr,null);editor_undo_bar_classPrivateFieldInitSpec(this,ir,void 0);editor_undo_bar_classPrivateFieldSet(Zn,this,i);editor_undo_bar_classPrivateFieldSet(er,this,a);editor_undo_bar_classPrivateFieldSet(ir,this,s);editor_undo_bar_classPrivateFieldSet(Kn,this,n);editor_undo_bar_classPrivateFieldSet(Qn,this,t)}destroy(){editor_undo_bar_classPrivateFieldGet(Jn,this)?.abort();editor_undo_bar_classPrivateFieldSet(Jn,this,null);this.hide()}show(e,t){if(!editor_undo_bar_classPrivateFieldGet(Jn,this)){editor_undo_bar_classPrivateFieldSet(Jn,this,new AbortController);const e={signal:editor_undo_bar_classPrivateFieldGet(Jn,this).signal},t=this.hide.bind(this);editor_undo_bar_classPrivateFieldGet(Zn,this).addEventListener("contextmenu",B,e);editor_undo_bar_classPrivateFieldGet(Kn,this).addEventListener("click",t,e);editor_undo_bar_classPrivateFieldGet(Qn,this)._on("beforeprint",t,e);editor_undo_bar_classPrivateFieldGet(Qn,this)._on("download",t,e)}this.hide();if("string"==typeof t)editor_undo_bar_classPrivateFieldGet(er,this).setAttribute("data-l10n-id",ar._[t]);else{editor_undo_bar_classPrivateFieldGet(er,this).setAttribute("data-l10n-id",ar._._multiple);editor_undo_bar_classPrivateFieldGet(er,this).setAttribute("data-l10n-args",JSON.stringify({count:t}))}this.isOpen=!0;editor_undo_bar_classPrivateFieldGet(Zn,this).hidden=!1;editor_undo_bar_classPrivateFieldSet(tr,this,new AbortController);editor_undo_bar_classPrivateFieldGet(ir,this).addEventListener("click",(()=>{e();this.hide()}),{signal:editor_undo_bar_classPrivateFieldGet(tr,this).signal});editor_undo_bar_classPrivateFieldSet(Yn,this,activeWindow.setTimeout((()=>{editor_undo_bar_classPrivateFieldGet(Zn,this).focus();editor_undo_bar_classPrivateFieldSet(Yn,this,null)}),100))}hide(){if(this.isOpen){this.isOpen=!1;editor_undo_bar_classPrivateFieldGet(Zn,this).hidden=!0;editor_undo_bar_classPrivateFieldGet(tr,this)?.abort();editor_undo_bar_classPrivateFieldSet(tr,this,null);if(editor_undo_bar_classPrivateFieldGet(Yn,this)){activeWindow.clearTimeout(editor_undo_bar_classPrivateFieldGet(Yn,this));editor_undo_bar_classPrivateFieldSet(Yn,this,null)}}}}var ar={_:Object.freeze({highlight:"pdfjs-editor-undo-bar-message-highlight",freetext:"pdfjs-editor-undo-bar-message-freetext",stamp:"pdfjs-editor-undo-bar-message-stamp",ink:"pdfjs-editor-undo-bar-message-ink",signature:"pdfjs-editor-undo-bar-message-signature",_multiple:"pdfjs-editor-undo-bar-message-multiple"})};function pdf_attachment_viewer_classPrivateMethodInitSpec(e,t){(function pdf_attachment_viewer_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}var sr=new WeakSet;class PDFAttachmentViewer extends BaseTreeViewer{constructor(e){super(e);pdf_attachment_viewer_classPrivateMethodInitSpec(this,sr);this.downloadManager=e.downloadManager;this.eventBus._on("fileattachmentannotation",function pdf_attachment_viewer_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}(sr,this,_appendAttachment).bind(this))}reset(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];super.reset();this._attachments=null;e||(this._renderedCapability=Promise.withResolvers());this._pendingDispatchEvent=!1}async _dispatchEvent(e){this._renderedCapability.resolve();if(0===e&&!this._pendingDispatchEvent){this._pendingDispatchEvent=!0;await waitOnEventOrTimeout({target:this.eventBus,name:"annotationlayerrendered",delay:1e3});if(!this._pendingDispatchEvent)return}this._pendingDispatchEvent=!1;this.eventBus.dispatch("attachmentsloaded",{source:this,attachmentsCount:e})}_bindLink(e,t){let{content:i,description:a,filename:s}=t;a&&(e.title=a);e.onclick=()=>{this.downloadManager.openOrDownloadData(i,s);return!1}}renderTree(e){let{attachments:t,keepRenderedCapability:i=!1}=e;this._attachments&&this.reset(i);this._attachments=t||null;if(!t){this._dispatchEvent(0);return}const a=document.createDocumentFragment();let s=0;for(const e in t){const i=t[e],n=document.createElement("div");n.className="treeItem";const r=document.createElement("a");this._bindLink(r,i);r.textContent=this._normalizeTextContent(i.filename);n.append(r);a.append(n);s++}this._finishRendering(a,s)}}function _appendAttachment(e){const t=this._renderedCapability.promise;t.then((()=>{if(t!==this._renderedCapability.promise)return;const i=this._attachments||Object.create(null);for(const t in i)if(e.filename===t)return;i[e.filename]=e;this.renderTree({attachments:i,keepRenderedCapability:!0})}))}function grab_to_pan_classPrivateFieldInitSpec(e,t,i){grab_to_pan_checkPrivateRedeclaration(e,t),t.set(e,i)}function grab_to_pan_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function grab_to_pan_classPrivateFieldSet(e,t,i){return e.set(grab_to_pan_assertClassBrand(e,t),i),i}function grab_to_pan_classPrivateFieldGet(e,t){return e.get(grab_to_pan_assertClassBrand(e,t))}function grab_to_pan_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}const nr="grab-to-pan-grab";var rr=new WeakMap,or=new WeakMap,lr=new WeakMap,dr=new WeakSet;class GrabToPan{constructor(e){let{element:t}=e;!function grab_to_pan_classPrivateMethodInitSpec(e,t){grab_to_pan_checkPrivateRedeclaration(e,t),t.add(e)}(this,dr);grab_to_pan_classPrivateFieldInitSpec(this,rr,null);grab_to_pan_classPrivateFieldInitSpec(this,or,null);grab_to_pan_classPrivateFieldInitSpec(this,lr,null);this.element=t;this.document=t.ownerDocument;(this.overlay=document.createElement("div")).className="grab-to-pan-grabbing"}activate(){if(!grab_to_pan_classPrivateFieldGet(rr,this)){grab_to_pan_classPrivateFieldSet(rr,this,new AbortController);this.element.addEventListener("mousedown",grab_to_pan_assertClassBrand(dr,this,_onMouseDown).bind(this),{capture:!0,signal:grab_to_pan_classPrivateFieldGet(rr,this).signal});this.element.classList.add(nr)}}deactivate(){if(grab_to_pan_classPrivateFieldGet(rr,this)){grab_to_pan_classPrivateFieldGet(rr,this).abort();grab_to_pan_classPrivateFieldSet(rr,this,null);grab_to_pan_assertClassBrand(dr,this,_endPan).call(this);this.element.classList.remove(nr)}}toggle(){grab_to_pan_classPrivateFieldGet(rr,this)?this.deactivate():this.activate()}ignoreTarget(e){return e.matches("a[href], a[href] *, input, textarea, button, button *, select, option")}}function _onMouseDown(e){if(0!==e.button||this.ignoreTarget(e.target))return;if(e.originalTarget)try{e.originalTarget.tagName}catch{return}this.scrollLeftStart=this.element.scrollLeft;this.scrollTopStart=this.element.scrollTop;this.clientXStart=e.clientX;this.clientYStart=e.clientY;grab_to_pan_classPrivateFieldSet(or,this,new AbortController);const t=grab_to_pan_assertClassBrand(dr,this,_endPan).bind(this),i={capture:!0,signal:grab_to_pan_classPrivateFieldGet(or,this).signal};this.document.addEventListener("mousemove",grab_to_pan_assertClassBrand(dr,this,_onMouseMove).bind(this),i);this.document.addEventListener("mouseup",t,i);grab_to_pan_classPrivateFieldSet(lr,this,new AbortController);this.element.addEventListener("scroll",t,{capture:!0,signal:grab_to_pan_classPrivateFieldGet(lr,this).signal});H(e);const a=this.document.activeElement;a&&!a.contains(e.target)&&a.blur()}function _onMouseMove(e){grab_to_pan_classPrivateFieldGet(lr,this)?.abort();grab_to_pan_classPrivateFieldSet(lr,this,null);if(!(1&e.buttons)){grab_to_pan_assertClassBrand(dr,this,_endPan).call(this);return}const t=e.clientX-this.clientXStart,i=e.clientY-this.clientYStart;this.element.scrollTo({top:this.scrollTopStart-i,left:this.scrollLeftStart-t,behavior:"instant"});this.overlay.parentNode||this.document.body.append(this.overlay)}function _endPan(){grab_to_pan_classPrivateFieldGet(or,this)?.abort();grab_to_pan_classPrivateFieldSet(or,this,null);grab_to_pan_classPrivateFieldGet(lr,this)?.abort();grab_to_pan_classPrivateFieldSet(lr,this,null);this.overlay.remove()}function pdf_cursor_tools_classPrivateFieldInitSpec(e,t,i){pdf_cursor_tools_checkPrivateRedeclaration(e,t),t.set(e,i)}function pdf_cursor_tools_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function pdf_cursor_tools_classPrivateFieldSet(e,t,i){return e.set(pdf_cursor_tools_assertClassBrand(e,t),i),i}function pdf_cursor_tools_classPrivateFieldGet(e,t){return e.get(pdf_cursor_tools_assertClassBrand(e,t))}function pdf_cursor_tools_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var cr=new WeakMap,ur=new WeakMap,hr=new WeakSet;class PDFCursorTools{constructor(e){let{container:t,eventBus:i,cursorToolOnLoad:a=ye.SELECT}=e;!function pdf_cursor_tools_classPrivateMethodInitSpec(e,t){pdf_cursor_tools_checkPrivateRedeclaration(e,t),t.add(e)}(this,hr);pdf_cursor_tools_classPrivateFieldInitSpec(this,cr,ye.SELECT);pdf_cursor_tools_classPrivateFieldInitSpec(this,ur,null);this.container=t;this.eventBus=i;pdf_cursor_tools_assertClassBrand(hr,this,pdf_cursor_tools_addEventListeners).call(this);Promise.resolve().then((()=>{this.switchTool(a)}))}get activeTool(){return pdf_cursor_tools_classPrivateFieldGet(cr,this)}switchTool(e){null===pdf_cursor_tools_classPrivateFieldGet(ur,this)&&pdf_cursor_tools_assertClassBrand(hr,this,_switchTool).call(this,e)}get _handTool(){return z(this,"_handTool",new GrabToPan({element:this.container}))}}function _switchTool(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e===pdf_cursor_tools_classPrivateFieldGet(cr,this)){null!==pdf_cursor_tools_classPrivateFieldGet(ur,this)&&this.eventBus.dispatch("cursortoolchanged",{source:this,tool:e,disabled:t});return}const disableActiveTool=()=>{switch(pdf_cursor_tools_classPrivateFieldGet(cr,this)){case ye.SELECT:break;case ye.HAND:this._handTool.deactivate();case ye.ZOOM:}};switch(e){case ye.SELECT:disableActiveTool();break;case ye.HAND:disableActiveTool();this._handTool.activate();break;case ye.ZOOM:default:console.error(`switchTool: "${e}" is an unsupported value.`);return}pdf_cursor_tools_classPrivateFieldSet(cr,this,e);this.eventBus.dispatch("cursortoolchanged",{source:this,tool:e,disabled:t})}function pdf_cursor_tools_addEventListeners(){this.eventBus._on("switchcursortool",(i=>{if(i.reset){if(null!==pdf_cursor_tools_classPrivateFieldGet(ur,this)){e=n.NONE;t=de;enableActive()}}else this.switchTool(i.tool)}));let e=n.NONE,t=de;const disableActive=()=>{pdf_cursor_tools_classPrivateFieldGet(ur,this)??pdf_cursor_tools_classPrivateFieldSet(ur,this,pdf_cursor_tools_classPrivateFieldGet(cr,this));pdf_cursor_tools_assertClassBrand(hr,this,_switchTool).call(this,ye.SELECT,!0)},enableActive=()=>{if(null!==pdf_cursor_tools_classPrivateFieldGet(ur,this)&&e===n.NONE&&t===de){pdf_cursor_tools_assertClassBrand(hr,this,_switchTool).call(this,pdf_cursor_tools_classPrivateFieldGet(ur,this));pdf_cursor_tools_classPrivateFieldSet(ur,this,null)}};this.eventBus._on("annotationeditormodechanged",(t=>{let{mode:i}=t;e=i;i===n.NONE?enableActive():disableActive()}));this.eventBus._on("presentationmodechanged",(e=>{let{state:i}=e;t=i;i===de?enableActive():i===ue&&disableActive()}))}function pdf_document_properties_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function pdf_document_properties_classPrivateFieldSet(e,t,i){return e.set(pdf_document_properties_assertClassBrand(e,t),i),i}function pdf_document_properties_classPrivateFieldGet(e,t){return e.get(pdf_document_properties_assertClassBrand(e,t))}function pdf_document_properties_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}const _r=["en-us","en-lr","my"],pr={"8.5x11":"pdfjs-document-properties-page-size-name-letter","8.5x14":"pdfjs-document-properties-page-size-name-legal"},gr={"297x420":"pdfjs-document-properties-page-size-name-a-three","210x297":"pdfjs-document-properties-page-size-name-a-four"};function getPageName(e,t,i){return i[`${t?e.width:e.height}x${t?e.height:e.width}`]}var fr=new WeakMap,vr=new WeakSet;class PDFDocumentProperties{constructor(e,t,i,a,s,n){let{dialog:r,fields:o,closeButton:l}=e;!function pdf_document_properties_classPrivateMethodInitSpec(e,t){pdf_document_properties_checkPrivateRedeclaration(e,t),t.add(e)}(this,vr);!function pdf_document_properties_classPrivateFieldInitSpec(e,t,i){pdf_document_properties_checkPrivateRedeclaration(e,t),t.set(e,i)}(this,fr,null);this.dialog=r;this.fields=o;this.overlayManager=t;this.l10n=a;this._fileNameLookup=s;this._titleLookup=n;pdf_document_properties_assertClassBrand(vr,this,pdf_document_properties_reset).call(this);l.addEventListener("click",this.close.bind(this));this.overlayManager.register(this.dialog);i._on("pagechanging",(e=>{this._currentPageNumber=e.pageNumber}));i._on("rotationchanging",(e=>{this._pagesRotation=e.pagesRotation}))}async open(){await Promise.all([this.overlayManager.open(this.dialog),this._dataAvailableCapability.promise]);const e=this._currentPageNumber,t=this._pagesRotation;if(pdf_document_properties_classPrivateFieldGet(fr,this)&&e===pdf_document_properties_classPrivateFieldGet(fr,this)._currentPageNumber&&t===pdf_document_properties_classPrivateFieldGet(fr,this)._pagesRotation){pdf_document_properties_assertClassBrand(vr,this,_updateUI).call(this);return}const[{info:i,metadata:a,contentLength:s},n]=await Promise.all([this.pdfDocument.getMetadata(),this.pdfDocument.getPage(e)]),[r,o,l,d,c,u,h]=await Promise.all([this._fileNameLookup(),pdf_document_properties_assertClassBrand(vr,this,_parseFileSize).call(this,s),this._titleLookup(),pdf_document_properties_assertClassBrand(vr,this,_parseDate).call(this,a?.get("xmp:createdate"),i.CreationDate),pdf_document_properties_assertClassBrand(vr,this,_parseDate).call(this,a?.get("xmp:modifydate"),i.ModDate),pdf_document_properties_assertClassBrand(vr,this,_parsePageSize).call(this,getPageSizeInches(n),t),pdf_document_properties_assertClassBrand(vr,this,_parseLinearization).call(this,i.IsLinearized)]);pdf_document_properties_classPrivateFieldSet(fr,this,Object.freeze({fileName:r,fileSize:o,title:l,author:a?.get("dc:creator")?.join("\n")||i.Author,subject:a?.get("dc:subject")?.join("\n")||i.Subject,keywords:a?.get("pdf:keywords")||i.Keywords,creationDate:d,modificationDate:c,creator:a?.get("xmp:creatortool")||i.Creator,producer:a?.get("pdf:producer")||i.Producer,version:i.PDFFormatVersion,pageCount:this.pdfDocument.numPages,pageSize:u,linearized:h,_currentPageNumber:e,_pagesRotation:t}));pdf_document_properties_assertClassBrand(vr,this,_updateUI).call(this);const{length:_}=await this.pdfDocument.getDownloadInfo();if(s===_)return;const p=Object.assign(Object.create(null),pdf_document_properties_classPrivateFieldGet(fr,this));p.fileSize=await pdf_document_properties_assertClassBrand(vr,this,_parseFileSize).call(this,_);pdf_document_properties_classPrivateFieldSet(fr,this,Object.freeze(p));pdf_document_properties_assertClassBrand(vr,this,_updateUI).call(this)}async close(){this.overlayManager.close(this.dialog)}setDocument(e){if(this.pdfDocument){pdf_document_properties_assertClassBrand(vr,this,pdf_document_properties_reset).call(this);pdf_document_properties_assertClassBrand(vr,this,_updateUI).call(this)}if(e){this.pdfDocument=e;this._dataAvailableCapability.resolve()}}}function pdf_document_properties_reset(){this.pdfDocument=null;pdf_document_properties_classPrivateFieldSet(fr,this,null);this._dataAvailableCapability=Promise.withResolvers();this._currentPageNumber=1;this._pagesRotation=0}function _updateUI(){if(!pdf_document_properties_classPrivateFieldGet(fr,this)||this.overlayManager.active===this.dialog)for(const e in this.fields){const t=pdf_document_properties_classPrivateFieldGet(fr,this)?.[e];this.fields[e].textContent=t||0===t?t:"-"}}async function _parseFileSize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const t=e/1024,i=t/1024;return t?this.l10n.get(i>=1?"pdfjs-document-properties-size-mb":"pdfjs-document-properties-size-kb",{mb:i,kb:t,b:e}):void 0}async function _parsePageSize(e,t){if(!e)return;t%180!=0&&(e={width:e.height,height:e.width});const i=isPortraitOrientation(e),a=_r.includes(this.l10n.getLanguage());let s={width:Math.round(100*e.width)/100,height:Math.round(100*e.height)/100},n={width:Math.round(25.4*e.width*10)/10,height:Math.round(25.4*e.height*10)/10},r=getPageName(s,i,pr)||getPageName(n,i,gr);if(!(r||Number.isInteger(n.width)&&Number.isInteger(n.height))){const t={width:25.4*e.width,height:25.4*e.height},a={width:Math.round(n.width),height:Math.round(n.height)};if(Math.abs(t.width-a.width)<.1&&Math.abs(t.height-a.height)<.1){r=getPageName(a,i,gr);if(r){s={width:Math.round(a.width/25.4*100)/100,height:Math.round(a.height/25.4*100)/100};n=a}}}const[{width:o,height:l},d,c,u]=await Promise.all([a?s:n,this.l10n.get(a?"pdfjs-document-properties-page-size-unit-inches":"pdfjs-document-properties-page-size-unit-millimeters"),r&&this.l10n.get(r),this.l10n.get(i?"pdfjs-document-properties-page-size-orientation-portrait":"pdfjs-document-properties-page-size-orientation-landscape")]);return this.l10n.get(c?"pdfjs-document-properties-page-size-dimension-name-string":"pdfjs-document-properties-page-size-dimension-string",{width:o,height:l,unit:d,name:c,orientation:u})}async function _parseDate(e,t){const i=Date.parse(e)||G.toDateObject(t);return i?this.l10n.get("pdfjs-document-properties-date-time-string",{dateObj:i.valueOf()}):void 0}function _parseLinearization(e){return this.l10n.get(e?"pdfjs-document-properties-linearized-yes":"pdfjs-document-properties-linearized-no")}function pdf_history_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function pdf_history_classPrivateFieldSet(e,t,i){return e.set(pdf_history_assertClassBrand(e,t),i),i}function pdf_history_classPrivateFieldGet(e,t){return e.get(pdf_history_assertClassBrand(e,t))}function pdf_history_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}function getCurrentHash(){return document.location.hash}var mr=new WeakMap,wr=new WeakSet;class PDFHistory{constructor(e){let{linkService:t,eventBus:i}=e;!function pdf_history_classPrivateMethodInitSpec(e,t){pdf_history_checkPrivateRedeclaration(e,t),t.add(e)}(this,wr);!function pdf_history_classPrivateFieldInitSpec(e,t,i){pdf_history_checkPrivateRedeclaration(e,t),t.set(e,i)}(this,mr,null);this.linkService=t;this.eventBus=i;this._initialized=!1;this._fingerprint="";this.reset();this.eventBus._on("pagesinit",(()=>{this._isPagesLoaded=!1;this.eventBus._on("pagesloaded",(e=>{this._isPagesLoaded=!!e.pagesCount}),{once:!0})}))}initialize(e){let{fingerprint:t,resetHistory:i=!1,updateUrl:a=!1}=e;if(!t||"string"!=typeof t){console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.');return}this._initialized&&this.reset();const s=""!==this._fingerprint&&this._fingerprint!==t;this._fingerprint=t;this._updateUrl=!0===a;this._initialized=!0;pdf_history_assertClassBrand(wr,this,_bindEvents).call(this);const n=window.history.state;this._popStateInProgress=!1;this._blockHashChange=0;this._currentHash=getCurrentHash();this._numPositionUpdates=0;this._uid=this._maxUid=0;this._destination=null;this._position=null;if(!pdf_history_assertClassBrand(wr,this,_isValidState).call(this,n,!0)||i){const{hash:e,page:t,rotation:a}=pdf_history_assertClassBrand(wr,this,_parseCurrentHash).call(this,!0);if(!e||s||i){pdf_history_assertClassBrand(wr,this,_pushOrReplaceState).call(this,null,!0);return}pdf_history_assertClassBrand(wr,this,_pushOrReplaceState).call(this,{hash:e,page:t,rotation:a},!0);return}const r=n.destination;pdf_history_assertClassBrand(wr,this,_updateInternalState).call(this,r,n.uid,!0);void 0!==r.rotation&&(this._initialRotation=r.rotation);if(r.dest){this._initialBookmark=JSON.stringify(r.dest);this._destination.page=null}else r.hash?this._initialBookmark=r.hash:r.page&&(this._initialBookmark=`page=${r.page}`)}reset(){if(this._initialized){pdf_history_assertClassBrand(wr,this,_pageHide).call(this);this._initialized=!1;pdf_history_assertClassBrand(wr,this,_unbindEvents).call(this)}if(this._updateViewareaTimeout){activeWindow.clearTimeout(this._updateViewareaTimeout);this._updateViewareaTimeout=null}this._initialBookmark=null;this._initialRotation=null}push(e){let{namedDest:t=null,explicitDest:i,pageNumber:a}=e;if(!this._initialized)return;if(t&&"string"!=typeof t){console.error(`PDFHistory.push: "${t}" is not a valid namedDest parameter.`);return}if(!Array.isArray(i)){console.error(`PDFHistory.push: "${i}" is not a valid explicitDest parameter.`);return}if(!pdf_history_assertClassBrand(wr,this,_isValidPage).call(this,a)&&(null!==a||this._destination)){console.error(`PDFHistory.push: "${a}" is not a valid pageNumber parameter.`);return}const s=t||JSON.stringify(i);if(!s)return;let n=!1;if(this._destination&&(function isDestHashesEqual(e,t){if("string"!=typeof e||"string"!=typeof t)return!1;if(e===t)return!0;if(parseQueryString(e).get("nameddest")===t)return!0;return!1}(this._destination.hash,s)||function isDestArraysEqual(e,t){function isEntryEqual(e,t){if(typeof e!=typeof t)return!1;if(Array.isArray(e)||Array.isArray(t))return!1;if(null!==e&&"object"==typeof e&&null!==t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!isEntryEqual(e[i],t[i]))return!1;return!0}return e===t||Number.isNaN(e)&&Number.isNaN(t)}if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let i=0,a=e.length;i{this._popStateInProgress=!1}))}}}pushPage(e){if(this._initialized)if(pdf_history_assertClassBrand(wr,this,_isValidPage).call(this,e)){if(this._destination?.page!==e&&!this._popStateInProgress){pdf_history_assertClassBrand(wr,this,_pushOrReplaceState).call(this,{dest:null,hash:`page=${e}`,page:e,rotation:this.linkService.rotation});if(!this._popStateInProgress){this._popStateInProgress=!0;Promise.resolve().then((()=>{this._popStateInProgress=!1}))}}}else console.error(`PDFHistory.pushPage: "${e}" is not a valid page number.`)}pushCurrentPosition(){this._initialized&&!this._popStateInProgress&&pdf_history_assertClassBrand(wr,this,_tryPushCurrentPosition).call(this)}back(){if(!this._initialized||this._popStateInProgress)return;const e=window.history.state;pdf_history_assertClassBrand(wr,this,_isValidState).call(this,e)&&e.uid>0&&window.history.back()}forward(){if(!this._initialized||this._popStateInProgress)return;const e=window.history.state;pdf_history_assertClassBrand(wr,this,_isValidState).call(this,e)&&e.uid0)}get initialBookmark(){return this._initialized?this._initialBookmark:null}get initialRotation(){return this._initialized?this._initialRotation:null}}function _pushOrReplaceState(e){const t=arguments.length>1&&void 0!==arguments[1]&&arguments[1]||!this._destination,i={fingerprint:this._fingerprint,uid:t?this._uid:this._uid+1,destination:e};pdf_history_assertClassBrand(wr,this,_updateInternalState).call(this,e,i.uid);let a;if(this._updateUrl&&e?.hash){const{href:t,protocol:i}=document.location;"file:"!==i&&(a=K(t,e.hash))}t?window.history.replaceState(i,"",a):window.history.pushState(i,"",a)}function _tryPushCurrentPosition(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this._position)return;let t=this._position;if(e){t=Object.assign(Object.create(null),this._position);t.temporary=!0}if(!this._destination){pdf_history_assertClassBrand(wr,this,_pushOrReplaceState).call(this,t);return}if(this._destination.temporary){pdf_history_assertClassBrand(wr,this,_pushOrReplaceState).call(this,t,!0);return}if(this._destination.hash===t.hash)return;if(!this._destination.page&&this._numPositionUpdates<=50)return;let i=!1;if(this._destination.page>=t.first&&this._destination.page<=t.page){if(void 0!==this._destination.dest||!this._destination.first)return;i=!0}pdf_history_assertClassBrand(wr,this,_pushOrReplaceState).call(this,t,i)}function _isValidPage(e){return Number.isInteger(e)&&e>0&&e<=this.linkService.pagesCount}function _isValidState(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return!1;if(e.fingerprint!==this._fingerprint){if(!t)return!1;{if("string"!=typeof e.fingerprint||e.fingerprint.length!==this._fingerprint.length)return!1;const[t]=performance.getEntriesByType("navigation");if("reload"!==t?.type)return!1}}return!(!Number.isInteger(e.uid)||e.uid<0)&&(null!==e.destination&&"object"==typeof e.destination)}function _updateInternalState(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this._updateViewareaTimeout){activeWindow.clearTimeout(this._updateViewareaTimeout);this._updateViewareaTimeout=null}i&&e?.temporary&&delete e.temporary;this._destination=e;this._uid=t;this._maxUid=Math.max(this._maxUid,t);this._numPositionUpdates=0}function _parseCurrentHash(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=unescape(getCurrentHash()).substring(1),i=parseQueryString(t),a=i.get("nameddest")||"";let s=0|i.get("page");(!pdf_history_assertClassBrand(wr,this,_isValidPage).call(this,s)||e&&a.length>0)&&(s=null);return{hash:t,page:s,rotation:this.linkService.rotation}}function _updateViewarea(e){let{location:t}=e;if(this._updateViewareaTimeout){activeWindow.clearTimeout(this._updateViewareaTimeout);this._updateViewareaTimeout=null}this._position={hash:t.pdfOpenParams.substring(1),page:this.linkService.page,first:t.pageNumber,rotation:t.rotation};if(!this._popStateInProgress){this._isPagesLoaded&&this._destination&&!this._destination.page&&this._numPositionUpdates++;this._updateViewareaTimeout=activeWindow.setTimeout((()=>{this._popStateInProgress||pdf_history_assertClassBrand(wr,this,_tryPushCurrentPosition).call(this,!0);this._updateViewareaTimeout=null}),1e3)}}function _popState(e){let{state:t}=e;const i=getCurrentHash(),a=this._currentHash!==i;this._currentHash=i;if(!t){this._uid++;const{hash:e,page:t,rotation:i}=pdf_history_assertClassBrand(wr,this,_parseCurrentHash).call(this);pdf_history_assertClassBrand(wr,this,_pushOrReplaceState).call(this,{hash:e,page:t,rotation:i},!0);return}if(!pdf_history_assertClassBrand(wr,this,_isValidState).call(this,t))return;this._popStateInProgress=!0;if(a){this._blockHashChange++;waitOnEventOrTimeout({target:window,name:"hashchange",delay:1e3}).then((()=>{this._blockHashChange--}))}const s=t.destination;pdf_history_assertClassBrand(wr,this,_updateInternalState).call(this,s,t.uid,!0);isValidRotation(s.rotation)&&(this.linkService.rotation=s.rotation);s.dest?this.linkService.goToDestination(s.dest):s.hash?this.linkService.setHash(s.hash):s.page&&(this.linkService.page=s.page);Promise.resolve().then((()=>{this._popStateInProgress=!1}))}function _pageHide(){this._destination&&!this._destination.temporary||pdf_history_assertClassBrand(wr,this,_tryPushCurrentPosition).call(this)}function _bindEvents(){if(pdf_history_classPrivateFieldGet(mr,this))return;pdf_history_classPrivateFieldSet(mr,this,new AbortController);const{signal:e}=pdf_history_classPrivateFieldGet(mr,this);this.eventBus._on("updateviewarea",pdf_history_assertClassBrand(wr,this,_updateViewarea).bind(this),{signal:e});window.addEventListener("popstate",pdf_history_assertClassBrand(wr,this,_popState).bind(this),{signal:e});window.addEventListener("pagehide",pdf_history_assertClassBrand(wr,this,_pageHide).bind(this),{signal:e})}function _unbindEvents(){pdf_history_classPrivateFieldGet(mr,this)?.abort();pdf_history_classPrivateFieldSet(mr,this,null)}function pdf_layer_viewer_classPrivateMethodInitSpec(e,t){(function pdf_layer_viewer_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function pdf_layer_viewer_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var br=new WeakSet;class PDFLayerViewer extends BaseTreeViewer{constructor(e){super(e);pdf_layer_viewer_classPrivateMethodInitSpec(this,br);this.eventBus._on("optionalcontentconfigchanged",(e=>{pdf_layer_viewer_assertClassBrand(br,this,_updateLayers).call(this,e.promise)}));this.eventBus._on("resetlayers",(()=>{pdf_layer_viewer_assertClassBrand(br,this,_updateLayers).call(this)}));this.eventBus._on("togglelayerstree",this._toggleAllTreeItems.bind(this))}reset(){super.reset();this._optionalContentConfig=null;this._optionalContentVisibility?.clear();this._optionalContentVisibility=null}_dispatchEvent(e){this.eventBus.dispatch("layersloaded",{source:this,layersCount:e})}_bindLink(e,t){let{groupId:i,input:a}=t;const setVisibility=()=>{const e=a.checked;this._optionalContentConfig.setVisibility(i,e);const t=this._optionalContentVisibility.get(i);t&&(t.visible=e);this.eventBus.dispatch("optionalcontentconfig",{source:this,promise:Promise.resolve(this._optionalContentConfig)})};e.onclick=t=>{if(t.target===a){setVisibility();return!0}if(t.target!==e)return!0;a.checked=!a.checked;setVisibility();return!1}}_setNestedName(e,t){let{name:i=null}=t;if("string"!=typeof i){e.setAttribute("data-l10n-id","pdfjs-additional-layers");e.style.fontStyle="italic";this._l10n.translateOnce(e)}else e.textContent=this._normalizeTextContent(i)}_addToggleButton(e,t){let{name:i=null}=t;super._addToggleButton(e,null===i)}_toggleAllTreeItems(){this._optionalContentConfig&&super._toggleAllTreeItems()}renderTree(e){let{optionalContentConfig:t,pdfDocument:i}=e;this._optionalContentConfig&&this.reset();this._optionalContentConfig=t||null;this._pdfDocument=i||null;const a=t?.getOrder();if(!a){this._dispatchEvent(0);return}this._optionalContentVisibility=new Map;const s=document.createDocumentFragment(),n=[{parent:s,groups:a}];let r=0,o=!1;for(;n.length>0;){const e=n.shift();for(const i of e.groups){const a=document.createElement("div");a.className="treeItem";const s=document.createElement("a");a.append(s);if("object"==typeof i){o=!0;this._addToggleButton(a,i);this._setNestedName(s,i);const e=document.createElement("div");e.className="treeItems";a.append(e);n.push({parent:e,groups:i.order})}else{const e=t.getGroup(i),a=document.createElement("input");this._bindLink(s,{groupId:i,input:a});a.type="checkbox";a.checked=e.visible;this._optionalContentVisibility.set(i,{input:a,visible:a.checked});const n=document.createElement("label");n.textContent=this._normalizeTextContent(e.name);n.append(a);s.append(n);r++}e.parent.append(a)}}this._finishRendering(s,r,o)}}async function _updateLayers(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!this._optionalContentConfig)return;const t=this._pdfDocument,i=await(e||t.getOptionalContentConfig({intent:"display"}));if(t===this._pdfDocument)if(e)for(const[e,t]of this._optionalContentVisibility){const a=i.getGroup(e);a&&t.visible!==a.visible&&(t.input.checked=t.visible=!t.visible)}else{this.eventBus.dispatch("optionalcontentconfig",{source:this,promise:Promise.resolve(i)});this.renderTree({optionalContentConfig:i,pdfDocument:this._pdfDocument})}}function pdf_presentation_mode_classPrivateFieldInitSpec(e,t,i){pdf_presentation_mode_checkPrivateRedeclaration(e,t),t.set(e,i)}function pdf_presentation_mode_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function pdf_presentation_mode_classPrivateFieldGet(e,t){return e.get(pdf_presentation_mode_assertClassBrand(e,t))}function pdf_presentation_mode_classPrivateFieldSet(e,t,i){return e.set(pdf_presentation_mode_assertClassBrand(e,t),i),i}function pdf_presentation_mode_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}const Pr="pdfPresentationMode",Fr="pdfPresentationModeControls",yr=Math.PI/6;var Cr=new WeakMap,Sr=new WeakMap,xr=new WeakMap,Er=new WeakMap,Ar=new WeakSet;class PDFPresentationMode{constructor(e){let{container:t,pdfViewer:i,eventBus:a}=e;!function pdf_presentation_mode_classPrivateMethodInitSpec(e,t){pdf_presentation_mode_checkPrivateRedeclaration(e,t),t.add(e)}(this,Ar);pdf_presentation_mode_classPrivateFieldInitSpec(this,Cr,le);pdf_presentation_mode_classPrivateFieldInitSpec(this,Sr,null);pdf_presentation_mode_classPrivateFieldInitSpec(this,xr,null);pdf_presentation_mode_classPrivateFieldInitSpec(this,Er,null);this.container=t;this.pdfViewer=i;this.eventBus=a;this.contextMenuOpen=!1;this.mouseScrollTimeStamp=0;this.mouseScrollDelta=0;this.touchSwipeState=null}async request(){const{container:e,pdfViewer:t}=this;if(this.active||!t.pagesCount||!e.requestFullscreen)return!1;pdf_presentation_mode_assertClassBrand(Ar,this,_addFullscreenChangeListeners).call(this);pdf_presentation_mode_assertClassBrand(Ar,this,_notifyStateChange).call(this,ce);const i=e.requestFullscreen();pdf_presentation_mode_classPrivateFieldSet(Sr,this,{pageNumber:t.currentPageNumber,scaleValue:t.currentScaleValue,scrollMode:t.scrollMode,spreadMode:null,annotationEditorMode:null});if(!(t.spreadMode===Fe.NONE||t.pageViewsReady&&t.hasEqualPageSizes)){console.warn("Ignoring Spread modes when entering PresentationMode, since the document may contain varying page sizes.");pdf_presentation_mode_classPrivateFieldGet(Sr,this).spreadMode=t.spreadMode}t.annotationEditorMode!==n.DISABLE&&(pdf_presentation_mode_classPrivateFieldGet(Sr,this).annotationEditorMode=t.annotationEditorMode);try{await i;t.focus();return!0}catch{pdf_presentation_mode_assertClassBrand(Ar,this,_removeFullscreenChangeListeners).call(this);pdf_presentation_mode_assertClassBrand(Ar,this,_notifyStateChange).call(this,de)}return!1}get active(){return pdf_presentation_mode_classPrivateFieldGet(Cr,this)===ce||pdf_presentation_mode_classPrivateFieldGet(Cr,this)===ue}}function _mouseWheel(e){if(!this.active)return;e.preventDefault();const t=function normalizeWheelEventDelta(e){const t=e.deltaMode;let i=normalizeWheelEventDirection(e);t===WheelEvent.DOM_DELTA_PIXEL?i/=900:t===WheelEvent.DOM_DELTA_LINE&&(i/=30);return i}(e),i=Date.now(),a=this.mouseScrollTimeStamp;if(!(i>a&&i-a<50)){(this.mouseScrollDelta>0&&t<0||this.mouseScrollDelta<0&&t>0)&&pdf_presentation_mode_assertClassBrand(Ar,this,_resetMouseScrollState).call(this);this.mouseScrollDelta+=t;if(Math.abs(this.mouseScrollDelta)>=.1){const e=this.mouseScrollDelta;pdf_presentation_mode_assertClassBrand(Ar,this,_resetMouseScrollState).call(this);(e>0?this.pdfViewer.previousPage():this.pdfViewer.nextPage())&&(this.mouseScrollTimeStamp=i)}}}function _notifyStateChange(e){pdf_presentation_mode_classPrivateFieldSet(Cr,this,e);this.eventBus.dispatch("presentationmodechanged",{source:this,state:e})}function _enter(){pdf_presentation_mode_assertClassBrand(Ar,this,_notifyStateChange).call(this,ue);this.container.classList.add(Pr);activeWindow.setTimeout((()=>{this.pdfViewer.scrollMode=Pe.PAGE;null!==pdf_presentation_mode_classPrivateFieldGet(Sr,this).spreadMode&&(this.pdfViewer.spreadMode=Fe.NONE);this.pdfViewer.currentPageNumber=pdf_presentation_mode_classPrivateFieldGet(Sr,this).pageNumber;this.pdfViewer.currentScaleValue="page-fit";null!==pdf_presentation_mode_classPrivateFieldGet(Sr,this).annotationEditorMode&&(this.pdfViewer.annotationEditorMode={mode:n.NONE})}),0);pdf_presentation_mode_assertClassBrand(Ar,this,_addWindowListeners).call(this);pdf_presentation_mode_assertClassBrand(Ar,this,_showControls).call(this);this.contextMenuOpen=!1;document.getSelection().empty()}function _exit(){const e=this.pdfViewer.currentPageNumber;this.container.classList.remove(Pr);activeWindow.setTimeout((()=>{pdf_presentation_mode_assertClassBrand(Ar,this,_removeFullscreenChangeListeners).call(this);pdf_presentation_mode_assertClassBrand(Ar,this,_notifyStateChange).call(this,de);this.pdfViewer.scrollMode=pdf_presentation_mode_classPrivateFieldGet(Sr,this).scrollMode;null!==pdf_presentation_mode_classPrivateFieldGet(Sr,this).spreadMode&&(this.pdfViewer.spreadMode=pdf_presentation_mode_classPrivateFieldGet(Sr,this).spreadMode);this.pdfViewer.currentScaleValue=pdf_presentation_mode_classPrivateFieldGet(Sr,this).scaleValue;this.pdfViewer.currentPageNumber=e;null!==pdf_presentation_mode_classPrivateFieldGet(Sr,this).annotationEditorMode&&(this.pdfViewer.annotationEditorMode={mode:pdf_presentation_mode_classPrivateFieldGet(Sr,this).annotationEditorMode});pdf_presentation_mode_classPrivateFieldSet(Sr,this,null)}),0);pdf_presentation_mode_assertClassBrand(Ar,this,_removeWindowListeners).call(this);pdf_presentation_mode_assertClassBrand(Ar,this,_hideControls).call(this);pdf_presentation_mode_assertClassBrand(Ar,this,_resetMouseScrollState).call(this);this.contextMenuOpen=!1}function _mouseDown(e){if(this.contextMenuOpen){this.contextMenuOpen=!1;e.preventDefault()}else if(!(0!==e.button||e.target.href&&e.target.parentNode?.hasAttribute("data-internal-link"))){e.preventDefault();e.shiftKey?this.pdfViewer.previousPage():this.pdfViewer.nextPage()}}function _contextMenu(){this.contextMenuOpen=!0}function _showControls(){this.controlsTimeout?activeWindow.clearTimeout(this.controlsTimeout):this.container.classList.add(Fr);this.controlsTimeout=activeWindow.setTimeout((()=>{this.container.classList.remove(Fr);delete this.controlsTimeout}),3e3)}function _hideControls(){if(this.controlsTimeout){activeWindow.clearTimeout(this.controlsTimeout);this.container.classList.remove(Fr);delete this.controlsTimeout}}function _resetMouseScrollState(){this.mouseScrollTimeStamp=0;this.mouseScrollDelta=0}function _touchSwipe(e){if(this.active)if(e.touches.length>1)this.touchSwipeState=null;else switch(e.type){case"touchstart":this.touchSwipeState={startX:e.touches[0].pageX,startY:e.touches[0].pageY,endX:e.touches[0].pageX,endY:e.touches[0].pageY};break;case"touchmove":if(null===this.touchSwipeState)return;this.touchSwipeState.endX=e.touches[0].pageX;this.touchSwipeState.endY=e.touches[0].pageY;e.preventDefault();break;case"touchend":if(null===this.touchSwipeState)return;let t=0;const i=this.touchSwipeState.endX-this.touchSwipeState.startX,a=this.touchSwipeState.endY-this.touchSwipeState.startY,s=Math.abs(Math.atan2(a,i));Math.abs(i)>50&&(s<=yr||s>=Math.PI-yr)?t=i:Math.abs(a)>50&&Math.abs(s-Math.PI/2)<=yr&&(t=a);t>0?this.pdfViewer.previousPage():t<0&&this.pdfViewer.nextPage()}}function _addWindowListeners(){if(pdf_presentation_mode_classPrivateFieldGet(Er,this))return;pdf_presentation_mode_classPrivateFieldSet(Er,this,new AbortController);const{signal:e}=pdf_presentation_mode_classPrivateFieldGet(Er,this),t=pdf_presentation_mode_assertClassBrand(Ar,this,_touchSwipe).bind(this);window.addEventListener("mousemove",pdf_presentation_mode_assertClassBrand(Ar,this,_showControls).bind(this),{signal:e});window.addEventListener("mousedown",pdf_presentation_mode_assertClassBrand(Ar,this,_mouseDown).bind(this),{signal:e});window.addEventListener("wheel",pdf_presentation_mode_assertClassBrand(Ar,this,_mouseWheel).bind(this),{passive:!1,signal:e});window.addEventListener("keydown",pdf_presentation_mode_assertClassBrand(Ar,this,_resetMouseScrollState).bind(this),{signal:e});window.addEventListener("contextmenu",pdf_presentation_mode_assertClassBrand(Ar,this,_contextMenu).bind(this),{signal:e});window.addEventListener("touchstart",t,{signal:e});window.addEventListener("touchmove",t,{signal:e});window.addEventListener("touchend",t,{signal:e})}function _removeWindowListeners(){pdf_presentation_mode_classPrivateFieldGet(Er,this)?.abort();pdf_presentation_mode_classPrivateFieldSet(Er,this,null)}function _addFullscreenChangeListeners(){if(!pdf_presentation_mode_classPrivateFieldGet(xr,this)){pdf_presentation_mode_classPrivateFieldSet(xr,this,new AbortController);window.addEventListener("fullscreenchange",(()=>{document.fullscreenElement?pdf_presentation_mode_assertClassBrand(Ar,this,_enter).call(this):pdf_presentation_mode_assertClassBrand(Ar,this,_exit).call(this)}),{signal:pdf_presentation_mode_classPrivateFieldGet(xr,this).signal})}}function _removeFullscreenChangeListeners(){pdf_presentation_mode_classPrivateFieldGet(xr,this)?.abort();pdf_presentation_mode_classPrivateFieldSet(xr,this,null)}let kr=null,Br=null,Tr=null,Ir={initialized:!1};class PDFPrintService{constructor(e){let{pdfDocument:t,pagesOverview:i,printContainer:a,printResolution:s,printAnnotationStoragePromise:n=null}=e;this.pdfDocument=t;this.pagesOverview=i;this.printContainer=a;this._printResolution=s||150;this._optionalContentConfigPromise=t.getOptionalContentConfig({intent:"print"});this._printAnnotationStoragePromise=n||Promise.resolve();this.currentPage=-1;this.scratchCanvas=document.createElement("canvas")}layout(){this.throwIfInactive();const e=document.querySelector("body");e.setAttribute("data-pdfjsprinting",!0);const{width:t,height:i}=this.pagesOverview[0];this.pagesOverview.every((e=>e.width===t&&e.height===i))||console.warn("Not all pages have the same size. The printed result may be incorrect!");this.pageStyleSheet=document.createElement("style");this.pageStyleSheet.textContent=`@page { size: ${t}pt ${i}pt;}`;e.append(this.pageStyleSheet)}destroy(){if(kr!==this)return;this.printContainer.textContent="";document.querySelector("body").removeAttribute("data-pdfjsprinting");if(this.pageStyleSheet){this.pageStyleSheet.remove();this.pageStyleSheet=null}this.scratchCanvas.width=this.scratchCanvas.height=0;this.scratchCanvas=null;kr=null;ensureOverlay().then((function(){Tr.closeIfActive(Br)}))}renderPages(){if(this.pdfDocument.isPureXfa){!function getXfaHtmlForPrinting(e,t){const i=t.allXfaHtml,a=new SimpleLinkService,s=Math.round(100*R.PDF_TO_CSS_UNITS)/100;for(const n of i.children){const i=document.createElement("div");i.className="xfaPrintedPage";e.append(i);const r=new XfaLayerBuilder({pdfPage:null,annotationStorage:t.annotationStorage,linkService:a,xfaHtml:n}),o=P(n,{scale:s});r.render({viewport:o,intent:"print"});i.append(r.div)}}(this.printContainer,this.pdfDocument);return Promise.resolve()}const e=this.pagesOverview.length,renderNextPage=(t,i)=>{this.throwIfInactive();if(++this.currentPage>=e){renderProgress(e,e);t();return}const a=this.currentPage;renderProgress(a,e);(function renderPage(e,t,i,a,s,n,r){const o=kr.scratchCanvas,d=s/R.PDF;o.width=Math.floor(a.width*d);o.height=Math.floor(a.height*d);const c=o.getContext("2d");c.save();c.fillStyle="rgb(255, 255, 255)";c.fillRect(0,0,o.width,o.height);c.restore();return Promise.all([t.getPage(i),r]).then((function(e){let[t,i]=e;const s={canvasContext:c,transform:[d,0,0,d,0,0],viewport:t.getViewport({scale:1,rotation:a.rotation}),intent:"print",annotationMode:l.ENABLE_STORAGE,optionalContentConfigPromise:n,printAnnotationStorage:i};return t.render(s).promise.catch((e=>{e instanceof j||console.error(e);throw e}))}))})(0,this.pdfDocument,a+1,this.pagesOverview[a],this._printResolution,this._optionalContentConfigPromise,this._printAnnotationStoragePromise).then(this.useRenderedPage.bind(this)).then((function(){renderNextPage(t,i)}),i)};return new Promise(renderNextPage)}useRenderedPage(){this.throwIfInactive();const e=document.createElement("img");this.scratchCanvas.toBlob((t=>{e.src=URL.createObjectURL(t)}));const t=document.createElement("div");t.className="printedPage";t.append(e);this.printContainer.append(t);const{promise:i,resolve:a,reject:s}=Promise.withResolvers();e.onload=a;e.onerror=s;i.catch((()=>{})).then((()=>{URL.revokeObjectURL(e.src)}));return i}performPrint(){this.throwIfInactive();return new Promise((e=>{activeWindow.setTimeout((()=>{if(this.active){Mr.call(window);activeWindow.setTimeout(e,20)}else e()}),0)}))}get active(){return this===kr}throwIfInactive(){if(!this.active)throw new Error("This print request was cancelled or completed.")}}const Dr={addEventListener:()=>{}},Mr=Dr.print;Dr.print=function(){if(kr)console.warn("Ignored window.print() because of a pending print job.");else{ensureOverlay().then((function(){kr&&Tr.open(Br)}));try{dispatchEvent("beforeprint")}finally{if(kr){const e=kr;kr.renderPages().then((()=>e.performPrint())).catch((()=>{})).then((()=>{e.active&&abort()}))}else{console.error("Expected print service to be initialized.");ensureOverlay().then((function(){Tr.closeIfActive(Br)}))}}}};function dispatchEvent(e){const t=new CustomEvent(e,{bubbles:!1,cancelable:!1,detail:"custom"});window.dispatchEvent(t)}function abort(){if(kr){kr.destroy();dispatchEvent("afterprint")}}function renderProgress(e,t){Br||=document.getElementById("printServiceDialog");const i=Math.round(100*e/t),a=Br.querySelector("progress"),s=Br.querySelector(".relative-progress");a.value=i;s.setAttribute("data-l10n-args",JSON.stringify({progress:i}))}Dr.addEventListener("keydown",(function(e){if(80===e.keyCode&&(e.ctrlKey||e.metaKey)&&!e.altKey&&(!e.shiftKey||window.chrome||window.opera)){window.print();e.preventDefault();e.stopImmediatePropagation()}}),!0);if("onbeforeprint"in Dr){const stopPropagationIfNeeded=function(e){"custom"!==e.detail&&e.stopImmediatePropagation()};window.addEventListener("beforeprint",stopPropagationIfNeeded);window.addEventListener("afterprint",stopPropagationIfNeeded)}let Lr;function ensureOverlay(){if(!Lr){Tr=Ir.overlayManager;if(!Tr)throw new Error("The overlay manager has not yet been initialized.");Br||=document.getElementById("printServiceDialog");Lr=Tr.register(Br,!0);document.getElementById("printCancel").onclick=abort;Br.addEventListener("close",abort)}return Lr}class PDFPrintServiceFactory{static initGlobals(e){Ir=e}static get supportsPrinting(){return z(this,"supportsPrinting",!0)}static createPrintService(e){if(kr)throw new Error("The print service is created and active.");return kr=new PDFPrintService(e)}}function secondary_toolbar_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function secondary_toolbar_classPrivateFieldGet(e,t){return e.get(secondary_toolbar_assertClassBrand(e,t))}function secondary_toolbar_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var Gr=new WeakMap,Or=new WeakSet;class SecondaryToolbar{constructor(e,t){!function secondary_toolbar_classPrivateMethodInitSpec(e,t){secondary_toolbar_checkPrivateRedeclaration(e,t),t.add(e)}(this,Or);!function secondary_toolbar_classPrivateFieldInitSpec(e,t,i){secondary_toolbar_checkPrivateRedeclaration(e,t),t.set(e,i)}(this,Gr,void 0);!function secondary_toolbar_classPrivateFieldSet(e,t,i){return e.set(secondary_toolbar_assertClassBrand(e,t),i),i}(Gr,this,e);const i=[{element:e.presentationModeButton,eventName:"presentationmode",close:!0},{element:e.printButton,eventName:"print",close:!0},{element:e.downloadButton,eventName:"download",close:!0},{element:e.viewBookmarkButton,eventName:null,close:!0},{element:e.firstPageButton,eventName:"firstpage",close:!0},{element:e.lastPageButton,eventName:"lastpage",close:!0},{element:e.pageRotateCwButton,eventName:"rotatecw",close:!1},{element:e.pageRotateCcwButton,eventName:"rotateccw",close:!1},{element:e.cursorSelectToolButton,eventName:"switchcursortool",eventDetails:{tool:ye.SELECT},close:!0},{element:e.cursorHandToolButton,eventName:"switchcursortool",eventDetails:{tool:ye.HAND},close:!0},{element:e.scrollPageButton,eventName:"switchscrollmode",eventDetails:{mode:Pe.PAGE},close:!0},{element:e.scrollVerticalButton,eventName:"switchscrollmode",eventDetails:{mode:Pe.VERTICAL},close:!0},{element:e.scrollHorizontalButton,eventName:"switchscrollmode",eventDetails:{mode:Pe.HORIZONTAL},close:!0},{element:e.scrollWrappedButton,eventName:"switchscrollmode",eventDetails:{mode:Pe.WRAPPED},close:!0},{element:e.spreadNoneButton,eventName:"switchspreadmode",eventDetails:{mode:Fe.NONE},close:!0},{element:e.spreadOddButton,eventName:"switchspreadmode",eventDetails:{mode:Fe.ODD},close:!0},{element:e.spreadEvenButton,eventName:"switchspreadmode",eventDetails:{mode:Fe.EVEN},close:!0},{element:e.imageAltTextSettingsButton,eventName:"imagealttextsettings",close:!0},{element:e.documentPropertiesButton,eventName:"documentproperties",close:!0}];i.push({element:e.openFileButton,eventName:"openfile",close:!0});this.eventBus=t;this.opened=!1;secondary_toolbar_assertClassBrand(Or,this,secondary_toolbar_bindListeners).call(this,i);this.reset()}get isOpen(){return this.opened}setPageNumber(e){this.pageNumber=e;secondary_toolbar_assertClassBrand(Or,this,secondary_toolbar_updateUIState).call(this)}setPagesCount(e){this.pagesCount=e;secondary_toolbar_assertClassBrand(Or,this,secondary_toolbar_updateUIState).call(this)}reset(){this.pageNumber=0;this.pagesCount=0;secondary_toolbar_assertClassBrand(Or,this,secondary_toolbar_updateUIState).call(this);this.eventBus.dispatch("switchcursortool",{source:this,reset:!0});secondary_toolbar_assertClassBrand(Or,this,_scrollModeChanged).call(this,{mode:Pe.VERTICAL});secondary_toolbar_assertClassBrand(Or,this,_spreadModeChanged).call(this,{mode:Fe.NONE})}open(){if(this.opened)return;this.opened=!0;const{toggleButton:e,toolbar:t}=secondary_toolbar_classPrivateFieldGet(Gr,this);toggleExpandedBtn(e,!0,t)}close(){if(!this.opened)return;this.opened=!1;const{toggleButton:e,toolbar:t}=secondary_toolbar_classPrivateFieldGet(Gr,this);toggleExpandedBtn(e,!1,t)}toggle(){this.opened?this.close():this.open()}}function secondary_toolbar_updateUIState(){const{firstPageButton:e,lastPageButton:t,pageRotateCwButton:i,pageRotateCcwButton:a}=secondary_toolbar_classPrivateFieldGet(Gr,this);e.disabled=this.pageNumber<=1;t.disabled=this.pageNumber>=this.pagesCount;i.disabled=0===this.pagesCount;a.disabled=0===this.pagesCount}function secondary_toolbar_bindListeners(e){const{eventBus:t}=this,{toggleButton:i}=secondary_toolbar_classPrivateFieldGet(Gr,this);i.addEventListener("click",this.toggle.bind(this));for(const{element:i,eventName:a,close:s,eventDetails:n}of e)i.addEventListener("click",(e=>{null!==a&&t.dispatch(a,{source:this,...n});s&&this.close();t.dispatch("reporttelemetry",{source:this,details:{type:"buttons",data:{id:i.id}}})}));t._on("cursortoolchanged",secondary_toolbar_assertClassBrand(Or,this,_cursorToolChanged).bind(this));t._on("scrollmodechanged",secondary_toolbar_assertClassBrand(Or,this,_scrollModeChanged).bind(this));t._on("spreadmodechanged",secondary_toolbar_assertClassBrand(Or,this,_spreadModeChanged).bind(this))}function _cursorToolChanged(e){let{tool:t,disabled:i}=e;const{cursorSelectToolButton:a,cursorHandToolButton:s}=secondary_toolbar_classPrivateFieldGet(Gr,this);toggleCheckedBtn(a,t===ye.SELECT);toggleCheckedBtn(s,t===ye.HAND);a.disabled=i;s.disabled=i}function _scrollModeChanged(e){let{mode:t}=e;const{scrollPageButton:i,scrollVerticalButton:a,scrollHorizontalButton:s,scrollWrappedButton:n,spreadNoneButton:r,spreadOddButton:o,spreadEvenButton:l}=secondary_toolbar_classPrivateFieldGet(Gr,this);toggleCheckedBtn(i,t===Pe.PAGE);toggleCheckedBtn(a,t===Pe.VERTICAL);toggleCheckedBtn(s,t===Pe.HORIZONTAL);toggleCheckedBtn(n,t===Pe.WRAPPED);const d=this.pagesCount>Ja;i.disabled=d;a.disabled=d;s.disabled=d;n.disabled=d;const c=t===Pe.HORIZONTAL;r.disabled=c;o.disabled=c;l.disabled=c}function _spreadModeChanged(e){let{mode:t}=e;const{spreadNoneButton:i,spreadOddButton:a,spreadEvenButton:s}=secondary_toolbar_classPrivateFieldGet(Gr,this);toggleCheckedBtn(i,t===Fe.NONE);toggleCheckedBtn(a,t===Fe.ODD);toggleCheckedBtn(s,t===Fe.EVEN)}function signature_manager_classPrivateMethodInitSpec(e,t){signature_manager_checkPrivateRedeclaration(e,t),t.add(e)}function signature_manager_classPrivateFieldInitSpec(e,t,i){signature_manager_checkPrivateRedeclaration(e,t),t.set(e,i)}function signature_manager_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function signature_manager_classPrivateFieldGet(e,t){return e.get(signature_manager_assertClassBrand(e,t))}function signature_manager_classPrivateFieldSet(e,t,i){return e.set(signature_manager_assertClassBrand(e,t),i),i}function signature_manager_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var Nr=new WeakMap,Rr=new WeakMap,jr=new WeakMap,Vr=new WeakMap,Wr=new WeakMap,zr=new WeakMap,Ur=new WeakMap,Hr=new WeakMap,$r=new WeakMap,qr=new WeakMap,Xr=new WeakMap,Kr=new WeakMap,Zr=new WeakMap,Qr=new WeakMap,Yr=new WeakMap,Jr=new WeakMap,eo=new WeakMap,to=new WeakMap,io=new WeakMap,ao=new WeakMap,so=new WeakMap,no=new WeakMap,ro=new WeakMap,oo=new WeakMap,lo=new WeakMap,co=new WeakMap,uo=new WeakMap,ho=new WeakMap,_o=new WeakMap,po=new WeakMap,go=new WeakMap,fo=new WeakMap,vo=new WeakMap,mo=new WeakMap,wo=new WeakMap,bo=new WeakMap,Po=new WeakSet;class SignatureManager{constructor(e,t,i,a,s,n,r){let{dialog:o,panels:l,typeButton:d,typeInput:c,drawButton:u,drawPlaceholder:h,drawSVG:_,drawThickness:p,imageButton:g,imageSVG:f,imagePlaceholder:v,imagePicker:m,imagePickerLink:w,description:b,clearButton:P,cancelButton:y,addButton:C,errorCloseButton:S,errorBar:x,saveCheckbox:E,saveContainer:A}=e;signature_manager_classPrivateMethodInitSpec(this,Po);signature_manager_classPrivateFieldInitSpec(this,Nr,void 0);signature_manager_classPrivateFieldInitSpec(this,Rr,null);signature_manager_classPrivateFieldInitSpec(this,jr,void 0);signature_manager_classPrivateFieldInitSpec(this,Vr,void 0);signature_manager_classPrivateFieldInitSpec(this,Wr,void 0);signature_manager_classPrivateFieldInitSpec(this,zr,void 0);signature_manager_classPrivateFieldInitSpec(this,Ur,void 0);signature_manager_classPrivateFieldInitSpec(this,Hr,null);signature_manager_classPrivateFieldInitSpec(this,$r,void 0);signature_manager_classPrivateFieldInitSpec(this,qr,null);signature_manager_classPrivateFieldInitSpec(this,Xr,"");signature_manager_classPrivateFieldInitSpec(this,Kr,null);signature_manager_classPrivateFieldInitSpec(this,Zr,void 0);signature_manager_classPrivateFieldInitSpec(this,Qr,void 0);signature_manager_classPrivateFieldInitSpec(this,Yr,void 0);signature_manager_classPrivateFieldInitSpec(this,Jr,null);signature_manager_classPrivateFieldInitSpec(this,eo,null);signature_manager_classPrivateFieldInitSpec(this,to,void 0);signature_manager_classPrivateFieldInitSpec(this,io,void 0);signature_manager_classPrivateFieldInitSpec(this,ao,void 0);signature_manager_classPrivateFieldInitSpec(this,so,void 0);signature_manager_classPrivateFieldInitSpec(this,no,void 0);signature_manager_classPrivateFieldInitSpec(this,ro,void 0);signature_manager_classPrivateFieldInitSpec(this,oo,void 0);signature_manager_classPrivateFieldInitSpec(this,lo,void 0);signature_manager_classPrivateFieldInitSpec(this,co,null);signature_manager_classPrivateFieldInitSpec(this,uo,void 0);signature_manager_classPrivateFieldInitSpec(this,ho,null);signature_manager_classPrivateFieldInitSpec(this,_o,null);signature_manager_classPrivateFieldInitSpec(this,po,!1);signature_manager_classPrivateFieldInitSpec(this,go,void 0);signature_manager_classPrivateFieldInitSpec(this,fo,void 0);signature_manager_classPrivateFieldInitSpec(this,vo,void 0);signature_manager_classPrivateFieldInitSpec(this,mo,void 0);signature_manager_classPrivateFieldInitSpec(this,wo,void 0);signature_manager_classPrivateFieldInitSpec(this,bo,null);signature_manager_classPrivateFieldSet(Nr,this,C);signature_manager_classPrivateFieldSet(jr,this,P);signature_manager_classPrivateFieldSet(Vr,this,b.lastElementChild);signature_manager_classPrivateFieldSet(zr,this,b.firstElementChild);signature_manager_classPrivateFieldSet(Ur,this,o);signature_manager_classPrivateFieldSet(Zr,this,_);signature_manager_classPrivateFieldSet($r,this,h);signature_manager_classPrivateFieldSet(Qr,this,p);signature_manager_classPrivateFieldSet(Yr,this,x);signature_manager_classPrivateFieldSet(so,this,f);signature_manager_classPrivateFieldSet(ao,this,v);signature_manager_classPrivateFieldSet(to,this,m);signature_manager_classPrivateFieldSet(io,this,w);signature_manager_classPrivateFieldSet(vo,this,a);signature_manager_classPrivateFieldSet(no,this,E);signature_manager_classPrivateFieldSet(ro,this,A);signature_manager_classPrivateFieldSet(lo,this,i);signature_manager_classPrivateFieldSet(uo,this,c);signature_manager_classPrivateFieldSet(fo,this,s);signature_manager_classPrivateFieldSet(wo,this,n);signature_manager_classPrivateFieldSet(go,this,r);signature_manager_classPrivateFieldSet(mo,this,new EditDescriptionDialog(t,a));Fo._||(Fo._=Object.freeze({signature:"pdfjs-editor-add-signature-description-default-when-drawing"}));o.addEventListener("close",signature_manager_assertClassBrand(Po,this,signature_manager_close).bind(this));o.addEventListener("contextmenu",(e=>{const{target:t}=e;t!==signature_manager_classPrivateFieldGet(uo,this)&&t!==signature_manager_classPrivateFieldGet(zr,this)&&e.preventDefault()}));o.addEventListener("drop",(e=>{H(e)}));y.addEventListener("click",signature_manager_assertClassBrand(Po,this,signature_manager_cancel).bind(this));C.addEventListener("click",signature_manager_assertClassBrand(Po,this,_add).bind(this));P.addEventListener("click",(()=>{signature_manager_assertClassBrand(Po,this,signature_manager_reportTelemetry).call(this,{type:"signature",action:"pdfjs.signature.clear",data:{type:signature_manager_classPrivateFieldGet(ho,this)}});signature_manager_assertClassBrand(Po,this,_initTab).call(this,null)}),{passive:!0});signature_manager_classPrivateFieldGet(zr,this).addEventListener("input",(()=>{signature_manager_classPrivateFieldGet(Vr,this).disabled=""===signature_manager_classPrivateFieldGet(zr,this).value}),{passive:!0});signature_manager_classPrivateFieldGet(Vr,this).addEventListener("click",(()=>{signature_manager_classPrivateFieldGet(zr,this).value="";signature_manager_classPrivateFieldGet(Vr,this).disabled=!0}),{passive:!0});S.addEventListener("click",(()=>{x.hidden=!0}),{passive:!0});signature_manager_assertClassBrand(Po,this,_initTabButtons).call(this,d,u,g,l);m.accept=$.join(",");r._on("storedsignatureschanged",signature_manager_assertClassBrand(Po,this,_signaturesChanged).bind(this));a.register(o)}getSignature(e){return this.open(e)}async loadSignatures(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!signature_manager_classPrivateFieldGet(lo,this)||!e&&signature_manager_classPrivateFieldGet(lo,this).previousElementSibling||!signature_manager_classPrivateFieldGet(wo,this))return;if(!signature_manager_classPrivateFieldGet(co,this)){signature_manager_classPrivateFieldSet(co,this,signature_manager_classPrivateFieldGet(wo,this).getAll().then((async e=>[e,await Promise.all(Array.from(e.values(),(e=>{let{signatureData:t}=e;return U.decompressSignature(t)})))])));if(!e)return}const[t,i]=await signature_manager_classPrivateFieldGet(co,this);signature_manager_classPrivateFieldSet(co,this,null);let a=0;for(const[e,{description:s}]of t){const t=i[a++];if(t){t.curves=t.outlines.map((e=>({points:e})));delete t.outlines;signature_manager_assertClassBrand(Po,this,_addToolbarButton).call(this,t,e,s)}}}async renderEditButton(e){const t=document.createElement("button");t.classList.add("altText","editDescription");t.tabIndex=0;t.title=e.description;const i=document.createElement("span");t.append(i);i.setAttribute("data-l10n-id","pdfjs-editor-add-signature-edit-button-label");t.addEventListener("click",(()=>{signature_manager_classPrivateFieldGet(mo,this).open(e)}),{passive:!0});return t}async open(e){let{uiManager:t,editor:i}=e;signature_manager_classPrivateFieldGet(Rr,this)||signature_manager_classPrivateFieldSet(Rr,this,new Map(signature_manager_classPrivateFieldGet(oo,this).keys().map((e=>[e,{value:"",default:""}]))));signature_manager_classPrivateFieldSet(bo,this,t);signature_manager_classPrivateFieldSet(Wr,this,i);signature_manager_classPrivateFieldGet(bo,this).removeEditListeners();const a=await signature_manager_classPrivateFieldGet(wo,this).isFull();signature_manager_classPrivateFieldGet(ro,this).classList.toggle("fullStorage",a);signature_manager_classPrivateFieldGet(no,this).checked=!a;await signature_manager_classPrivateFieldGet(vo,this).open(signature_manager_classPrivateFieldGet(Ur,this));const s=signature_manager_classPrivateFieldGet(oo,this).get("type");s.focus();s.click()}destroy(){signature_manager_classPrivateFieldSet(bo,this,null);signature_manager_assertClassBrand(Po,this,signature_manager_finish).call(this)}}function _initTabButtons(e,t,i,a){const s=signature_manager_classPrivateFieldSet(oo,this,new Map([["type",e],["draw",t],["image",i]])),tabCallback=e=>{for(const[t,i]of s)if(i===e.target){i.setAttribute("aria-selected",!0);i.setAttribute("tabindex",0);a.setAttribute("data-selected",t);signature_manager_assertClassBrand(Po,this,_initTab).call(this,t)}else{i.setAttribute("aria-selected",!1);i.setAttribute("tabindex",-1)}},n=Array.from(s.values());for(let e=0,t=n.length;e{let{key:i}=t;"ArrowLeft"!==i&&"ArrowRight"!==i||n[e+("ArrowLeft"===i?-1:1)]?.focus()}),{passive:!0})}}function _resetCommon(){signature_manager_classPrivateFieldSet(po,this,!1);signature_manager_classPrivateFieldGet(zr,this).value="";signature_manager_classPrivateFieldGet(ho,this)&&(signature_manager_classPrivateFieldGet(Rr,this).get(signature_manager_classPrivateFieldGet(ho,this)).value="")}function _resetTab(e){switch(e){case"type":signature_manager_classPrivateFieldGet(uo,this).value="";break;case"draw":signature_manager_classPrivateFieldSet(Hr,this,null);signature_manager_classPrivateFieldSet(Kr,this,null);signature_manager_classPrivateFieldSet(Xr,this,"");signature_manager_classPrivateFieldGet(qr,this)?.remove();signature_manager_classPrivateFieldSet(qr,this,null);signature_manager_classPrivateFieldGet($r,this).hidden=!1;signature_manager_classPrivateFieldGet(Qr,this).value=1;break;case"image":signature_manager_classPrivateFieldGet(ao,this).hidden=!1;signature_manager_classPrivateFieldGet(eo,this)?.remove();signature_manager_classPrivateFieldSet(eo,this,null)}}function _initTab(e){if(e&&signature_manager_classPrivateFieldGet(ho,this)===e)return;signature_manager_classPrivateFieldGet(ho,this)&&(signature_manager_classPrivateFieldGet(Rr,this).get(signature_manager_classPrivateFieldGet(ho,this)).value=signature_manager_classPrivateFieldGet(zr,this).value);e&&signature_manager_classPrivateFieldSet(ho,this,e);signature_manager_classPrivateFieldGet(Yr,this).hidden=!0;const t=!e;t?signature_manager_assertClassBrand(Po,this,_resetCommon).call(this):signature_manager_classPrivateFieldGet(zr,this).value=signature_manager_classPrivateFieldGet(Rr,this).get(signature_manager_classPrivateFieldGet(ho,this)).value;signature_manager_classPrivateFieldGet(Vr,this).disabled=""===signature_manager_classPrivateFieldGet(zr,this).value;signature_manager_classPrivateFieldGet(_o,this)?.abort();signature_manager_classPrivateFieldSet(_o,this,new AbortController);switch(signature_manager_classPrivateFieldGet(ho,this)){case"type":signature_manager_assertClassBrand(Po,this,_initTypeTab).call(this,t);break;case"draw":signature_manager_assertClassBrand(Po,this,_initDrawTab).call(this,t);break;case"image":signature_manager_assertClassBrand(Po,this,_initImageTab).call(this,t)}}function _disableButtons(e){signature_manager_classPrivateFieldGet(no,this).disabled=signature_manager_classPrivateFieldGet(jr,this).disabled=signature_manager_classPrivateFieldGet(Nr,this).disabled=signature_manager_classPrivateFieldGet(zr,this).disabled=!e}function _initTypeTab(e){e&&signature_manager_assertClassBrand(Po,this,_resetTab).call(this,"type");signature_manager_assertClassBrand(Po,this,_disableButtons).call(this,signature_manager_classPrivateFieldGet(uo,this).value);const{signal:t}=signature_manager_classPrivateFieldGet(_o,this),i={passive:!0,signal:t};signature_manager_classPrivateFieldGet(uo,this).addEventListener("input",(()=>{const{value:e}=signature_manager_classPrivateFieldGet(uo,this);if(!signature_manager_classPrivateFieldGet(po,this)){signature_manager_classPrivateFieldGet(Rr,this).get("type").default=signature_manager_classPrivateFieldGet(zr,this).value=e;signature_manager_classPrivateFieldGet(Vr,this).disabled=""===e}signature_manager_assertClassBrand(Po,this,_disableButtons).call(this,e)}),i);signature_manager_classPrivateFieldGet(zr,this).addEventListener("input",(()=>{signature_manager_classPrivateFieldSet(po,this,signature_manager_classPrivateFieldGet(uo,this).value!==signature_manager_classPrivateFieldGet(zr,this).value)}),i)}function _initDrawTab(e){e&&signature_manager_assertClassBrand(Po,this,_resetTab).call(this,"draw");signature_manager_assertClassBrand(Po,this,_disableButtons).call(this,signature_manager_classPrivateFieldGet(qr,this));const{signal:t}=signature_manager_classPrivateFieldGet(_o,this),i={signal:t};let a=NaN;const drawCallback=e=>{const{pointerId:s}=e;if(!isNaN(a)&&a!==s)return;a=s;e.preventDefault();signature_manager_classPrivateFieldGet(Zr,this).setPointerCapture(s);const{width:n,height:r}=signature_manager_classPrivateFieldGet(Zr,this).getBoundingClientRect();let{offsetX:o,offsetY:l}=e;o=Math.round(o);l=Math.round(l);e.target===signature_manager_classPrivateFieldGet($r,this)&&(signature_manager_classPrivateFieldGet($r,this).hidden=!0);if(!signature_manager_classPrivateFieldGet(Hr,this)){signature_manager_classPrivateFieldSet(Hr,this,{width:n,height:r,thickness:parseInt(signature_manager_classPrivateFieldGet(Qr,this).value),curves:[]});signature_manager_assertClassBrand(Po,this,_disableButtons).call(this,!0);const e=new _,t=signature_manager_classPrivateFieldSet(qr,this,e.createElement("path"));t.setAttribute("stroke-width",signature_manager_classPrivateFieldGet(Qr,this).value);signature_manager_classPrivateFieldGet(Zr,this).append(t);signature_manager_classPrivateFieldGet(Zr,this).addEventListener("pointerdown",drawCallback,i);signature_manager_classPrivateFieldGet($r,this).removeEventListener("pointerdown",drawCallback);""===signature_manager_classPrivateFieldGet(zr,this).value&&signature_manager_classPrivateFieldGet(fo,this).get(Fo._.signature).then((e=>{signature_manager_classPrivateFieldGet(Rr,this).get("draw").default=e;signature_manager_classPrivateFieldGet(zr,this).value||=e;signature_manager_classPrivateFieldGet(Vr,this).disabled=""===signature_manager_classPrivateFieldGet(zr,this).value}))}signature_manager_classPrivateFieldSet(Kr,this,[o,l]);signature_manager_classPrivateFieldGet(Hr,this).curves.push({points:signature_manager_classPrivateFieldGet(Kr,this)});signature_manager_classPrivateFieldSet(Xr,this,signature_manager_classPrivateFieldGet(Xr,this)+`M ${o} ${l}`);signature_manager_classPrivateFieldGet(qr,this).setAttribute("d",signature_manager_classPrivateFieldGet(Xr,this));const d=new AbortController,c={signal:AbortSignal.any([t,d.signal])};signature_manager_classPrivateFieldGet(Zr,this).addEventListener("contextmenu",B,c);signature_manager_classPrivateFieldGet(Zr,this).addEventListener("pointermove",(e=>{e.preventDefault();let{offsetX:t,offsetY:i}=e;t=Math.round(t);i=Math.round(i);const a=signature_manager_classPrivateFieldGet(Kr,this);if(!(t<0||i<0||t>n||i>r||t===a.at(-2)&&i===a.at(-1))){if(a.length>=4){const[e,s,n,r]=a.slice(-4);signature_manager_classPrivateFieldSet(Xr,this,signature_manager_classPrivateFieldGet(Xr,this)+`C${(e+5*n)/6} ${(s+5*r)/6} ${(5*n+t)/6} ${(5*r+i)/6} ${(n+t)/2} ${(r+i)/2}`)}else signature_manager_classPrivateFieldSet(Xr,this,signature_manager_classPrivateFieldGet(Xr,this)+`L${t} ${i}`);a.push(t,i);signature_manager_classPrivateFieldGet(qr,this).setAttribute("d",signature_manager_classPrivateFieldGet(Xr,this))}}),c);signature_manager_classPrivateFieldGet(Zr,this).addEventListener("pointerup",(e=>{const{pointerId:t}=e;if(isNaN(a)||a===t){a=NaN;e.preventDefault();signature_manager_classPrivateFieldGet(Zr,this).releasePointerCapture(t);d.abort();if(2===signature_manager_classPrivateFieldGet(Kr,this).length){signature_manager_classPrivateFieldSet(Xr,this,signature_manager_classPrivateFieldGet(Xr,this)+`L${signature_manager_classPrivateFieldGet(Kr,this)[0]} ${signature_manager_classPrivateFieldGet(Kr,this)[1]}`);signature_manager_classPrivateFieldGet(qr,this).setAttribute("d",signature_manager_classPrivateFieldGet(Xr,this))}}}),c)};signature_manager_classPrivateFieldGet(Hr,this)?signature_manager_classPrivateFieldGet(Zr,this).addEventListener("pointerdown",drawCallback,i):signature_manager_classPrivateFieldGet($r,this).addEventListener("pointerdown",drawCallback,i);signature_manager_classPrivateFieldGet(Qr,this).addEventListener("input",(()=>{const{value:e}=signature_manager_classPrivateFieldGet(Qr,this);signature_manager_classPrivateFieldGet(Qr,this).setAttribute("data-l10n-args",JSON.stringify({thickness:e}));if(signature_manager_classPrivateFieldGet(Hr,this)){signature_manager_classPrivateFieldGet(qr,this).setAttribute("stroke-width",e);signature_manager_classPrivateFieldGet(Hr,this).thickness=e}}),i)}function _initImageTab(e){e&&signature_manager_assertClassBrand(Po,this,_resetTab).call(this,"image");signature_manager_assertClassBrand(Po,this,_disableButtons).call(this,signature_manager_classPrivateFieldGet(eo,this));const{signal:t}=signature_manager_classPrivateFieldGet(_o,this),i={signal:t},a={passive:!0,signal:t};signature_manager_classPrivateFieldGet(io,this).addEventListener("keydown",(e=>{const{key:t}=e;if("Enter"===t||" "===t){H(e);signature_manager_classPrivateFieldGet(to,this).click()}}),i);signature_manager_classPrivateFieldGet(to,this).addEventListener("click",(()=>{signature_manager_classPrivateFieldGet(Ur,this).classList.toggle("waiting",!0)}),a);signature_manager_classPrivateFieldGet(to,this).addEventListener("change",(async()=>{const e=signature_manager_classPrivateFieldGet(to,this).files?.[0];if(e&&$.includes(e.type))await signature_manager_assertClassBrand(Po,this,_extractSignature).call(this,e);else{signature_manager_classPrivateFieldGet(Yr,this).hidden=!1;signature_manager_classPrivateFieldGet(Ur,this).classList.toggle("waiting",!1)}}),a);signature_manager_classPrivateFieldGet(to,this).addEventListener("cancel",(()=>{signature_manager_classPrivateFieldGet(Ur,this).classList.toggle("waiting",!1)}),a);signature_manager_classPrivateFieldGet(ao,this).addEventListener("dragover",(e=>{const{dataTransfer:t}=e;for(const{type:i}of t.items)if($.includes(i)){t.dropEffect="copy"===t.effectAllowed?"copy":"move";H(e);return}t.dropEffect="none"}),i);signature_manager_classPrivateFieldGet(ao,this).addEventListener("drop",(e=>{const{dataTransfer:{files:t}}=e;if(t?.length){for(const e of t)if($.includes(e.type)){signature_manager_assertClassBrand(Po,this,_extractSignature).call(this,e);break}H(e);signature_manager_classPrivateFieldGet(Ur,this).classList.toggle("waiting",!0)}}),i)}async function _extractSignature(e){let t;try{t=await signature_manager_classPrivateFieldGet(bo,this).imageManager.getFromFile(e)}catch(e){console.error("SignatureManager.#extractSignature.",e)}if(!t){signature_manager_classPrivateFieldGet(Yr,this).hidden=!1;signature_manager_classPrivateFieldGet(Ur,this).classList.toggle("waiting",!1);return}const{outline:i}=signature_manager_classPrivateFieldSet(Jr,this,signature_manager_classPrivateFieldGet(Wr,this).getFromImage(t.bitmap));if(!i){signature_manager_classPrivateFieldGet(Ur,this).classList.toggle("waiting",!1);return}signature_manager_classPrivateFieldGet(ao,this).hidden=!0;signature_manager_assertClassBrand(Po,this,_disableButtons).call(this,!0);const a=new _,s=signature_manager_classPrivateFieldSet(eo,this,a.createElement("path"));signature_manager_classPrivateFieldGet(so,this).setAttribute("viewBox",i.viewBox);signature_manager_classPrivateFieldGet(so,this).setAttribute("preserveAspectRatio","xMidYMid meet");signature_manager_classPrivateFieldGet(so,this).append(s);s.setAttribute("d",i.toSVGPath());signature_manager_classPrivateFieldGet(Rr,this).get("image").default=e.name;if(""===signature_manager_classPrivateFieldGet(zr,this).value){signature_manager_classPrivateFieldGet(zr,this).value=e.name||"";signature_manager_classPrivateFieldGet(Vr,this).disabled=""===signature_manager_classPrivateFieldGet(zr,this).value}signature_manager_classPrivateFieldGet(Ur,this).classList.toggle("waiting",!1)}function _getOutlineForType(){return signature_manager_classPrivateFieldGet(Wr,this).getFromText(signature_manager_classPrivateFieldGet(uo,this).value,window.getComputedStyle(signature_manager_classPrivateFieldGet(uo,this)))}function _getOutlineForDraw(){const{width:e,height:t}=signature_manager_classPrivateFieldGet(Zr,this).getBoundingClientRect();return signature_manager_classPrivateFieldGet(Wr,this).getDrawnSignature(signature_manager_classPrivateFieldGet(Hr,this),e,t)}function signature_manager_reportTelemetry(e){signature_manager_classPrivateFieldGet(go,this).dispatch("reporttelemetry",{source:this,details:{type:"editing",data:e}})}function _addToolbarButton(e,t,i){const{curves:a,areContours:n,thickness:r,width:o,height:l}=e,d=Math.max(o,l),c=U.processDrawnLines({lines:{curves:a,thickness:r,width:o,height:l},pageWidth:d,pageHeight:d,rotation:0,innerMargin:0,mustSmooth:!1,areContours:n});if(!c)return;const{outline:u}=c,h=new _,p=document.createElement("div"),g=document.createElement("button");g.addEventListener("click",(()=>{signature_manager_classPrivateFieldGet(go,this).dispatch("switchannotationeditorparams",{source:this,type:s.CREATE,value:{signatureData:{lines:{curves:a,thickness:r,width:o,height:l},mustSmooth:!1,areContours:n,description:i,uuid:t,heightInPage:40}}})}));p.append(g);p.classList.add("toolbarAddSignatureButtonContainer");const f=h.create(1,1,!0);g.append(f);const v=document.createElement("span");v.ariaHidden=!0;g.append(v);g.classList.add("toolbarAddSignatureButton");g.type="button";v.textContent=i;g.setAttribute("data-l10n-id","pdfjs-editor-add-saved-signature-button");g.setAttribute("data-l10n-args",JSON.stringify({description:i}));g.tabIndex=0;const m=h.createElement("path");f.append(m);f.setAttribute("viewBox",u.viewBox);f.setAttribute("preserveAspectRatio","xMidYMid meet");n&&m.classList.add("contours");m.setAttribute("d",u.toSVGPath());const w=document.createElement("button");p.append(w);w.classList.add("toolbarButton","deleteButton");w.setAttribute("data-l10n-id","pdfjs-editor-delete-signature-button1");w.type="button";w.tabIndex=0;w.addEventListener("click",(async()=>{if(await signature_manager_classPrivateFieldGet(wo,this).delete(t)){p.remove();signature_manager_assertClassBrand(Po,this,signature_manager_reportTelemetry).call(this,{type:"signature",action:"pdfjs.signature.delete_saved",data:{savedCount:await signature_manager_classPrivateFieldGet(wo,this).size()}})}}));const b=document.createElement("span");w.append(b);b.setAttribute("data-l10n-id","pdfjs-editor-delete-signature-button-label1");signature_manager_classPrivateFieldGet(lo,this).before(p)}async function _signaturesChanged(){const e=signature_manager_classPrivateFieldGet(lo,this).parentElement;for(;e.firstElementChild!==signature_manager_classPrivateFieldGet(lo,this);)e.firstElementChild.remove();signature_manager_classPrivateFieldSet(co,this,null);await this.loadSignatures(!0)}function signature_manager_cancel(){signature_manager_assertClassBrand(Po,this,signature_manager_finish).call(this)}function signature_manager_finish(){signature_manager_classPrivateFieldGet(vo,this).closeIfActive(signature_manager_classPrivateFieldGet(Ur,this))}function signature_manager_close(){null===signature_manager_classPrivateFieldGet(Wr,this)._drawId&&signature_manager_classPrivateFieldGet(Wr,this).remove();signature_manager_classPrivateFieldGet(bo,this)?.addEditListeners();signature_manager_classPrivateFieldGet(_o,this)?.abort();signature_manager_classPrivateFieldSet(_o,this,null);signature_manager_classPrivateFieldSet(bo,this,null);signature_manager_classPrivateFieldSet(Wr,this,null);signature_manager_assertClassBrand(Po,this,_resetCommon).call(this);for(const[e]of signature_manager_classPrivateFieldGet(oo,this))signature_manager_assertClassBrand(Po,this,_resetTab).call(this,e);signature_manager_assertClassBrand(Po,this,_disableButtons).call(this,!1);signature_manager_classPrivateFieldSet(ho,this,null);signature_manager_classPrivateFieldSet(Rr,this,null)}async function _add(){let e;const t=signature_manager_classPrivateFieldGet(ho,this);switch(t){case"type":e=signature_manager_assertClassBrand(Po,this,_getOutlineForType).call(this);break;case"draw":e=signature_manager_assertClassBrand(Po,this,_getOutlineForDraw).call(this);break;case"image":e=signature_manager_classPrivateFieldGet(Jr,this)}let i=null;const a=signature_manager_classPrivateFieldGet(zr,this).value;if(signature_manager_classPrivateFieldGet(no,this).checked){const{newCurves:t,areContours:s,thickness:n,width:r,height:o}=e,l=await U.compressSignature({outlines:t,areContours:s,thickness:n,width:r,height:o});i=await signature_manager_classPrivateFieldGet(wo,this).create({description:a,signatureData:l});i?signature_manager_assertClassBrand(Po,this,_addToolbarButton).call(this,{curves:t.map((e=>({points:e}))),areContours:s,thickness:n,width:r,height:o},i,a):console.warn("SignatureManager.add: cannot save the signature.")}const s=signature_manager_classPrivateFieldGet(Rr,this).get(t);signature_manager_assertClassBrand(Po,this,signature_manager_reportTelemetry).call(this,{type:"signature",action:"pdfjs.signature.created",data:{type:t,saved:!!i,savedCount:await signature_manager_classPrivateFieldGet(wo,this).size(),descriptionChanged:a!==s.default}});signature_manager_classPrivateFieldGet(Wr,this).addSignature(e,40,signature_manager_classPrivateFieldGet(zr,this).value,i);signature_manager_assertClassBrand(Po,this,signature_manager_finish).call(this)}var Fo={_:null},yo=new WeakMap,Co=new WeakMap,So=new WeakMap,xo=new WeakMap,Eo=new WeakMap,Ao=new WeakMap,ko=new WeakMap,Bo=new WeakSet;class EditDescriptionDialog{constructor(e,t){let{dialog:i,description:a,cancelButton:s,updateButton:n,editSignatureView:r}=e;signature_manager_classPrivateMethodInitSpec(this,Bo);signature_manager_classPrivateFieldInitSpec(this,yo,void 0);signature_manager_classPrivateFieldInitSpec(this,Co,void 0);signature_manager_classPrivateFieldInitSpec(this,So,void 0);signature_manager_classPrivateFieldInitSpec(this,xo,void 0);signature_manager_classPrivateFieldInitSpec(this,Eo,void 0);signature_manager_classPrivateFieldInitSpec(this,Ao,void 0);signature_manager_classPrivateFieldInitSpec(this,ko,void 0);const o=signature_manager_classPrivateFieldSet(So,this,a.firstElementChild);signature_manager_classPrivateFieldSet(Ao,this,r);signature_manager_classPrivateFieldSet(xo,this,i);signature_manager_classPrivateFieldSet(Eo,this,t);i.addEventListener("close",signature_manager_assertClassBrand(Bo,this,_close2).bind(this));i.addEventListener("contextmenu",(e=>{e.target!==signature_manager_classPrivateFieldGet(So,this)&&e.preventDefault()}));s.addEventListener("click",signature_manager_assertClassBrand(Bo,this,_cancel2).bind(this));n.addEventListener("click",signature_manager_assertClassBrand(Bo,this,_update).bind(this));const l=a.lastElementChild;l.addEventListener("click",(()=>{o.value="";l.disabled=!0;n.disabled=""===signature_manager_classPrivateFieldGet(Co,this)}));o.addEventListener("input",(()=>{const{value:e}=o;l.disabled=""===e;n.disabled=e===signature_manager_classPrivateFieldGet(Co,this);r.setAttribute("aria-label",e)}),{passive:!0});t.register(i)}async open(e){signature_manager_classPrivateFieldSet(ko,this,e._uiManager);signature_manager_classPrivateFieldSet(yo,this,e);signature_manager_classPrivateFieldSet(Co,this,signature_manager_classPrivateFieldGet(So,this).value=e.description);signature_manager_classPrivateFieldGet(So,this).dispatchEvent(new Event("input"));signature_manager_classPrivateFieldGet(ko,this).removeEditListeners();const{areContours:t,outline:i}=e.getSignaturePreview(),a=(new _).createElement("path");signature_manager_classPrivateFieldGet(Ao,this).append(a);signature_manager_classPrivateFieldGet(Ao,this).setAttribute("viewBox",i.viewBox);a.setAttribute("d",i.toSVGPath());t&&a.classList.add("contours");await signature_manager_classPrivateFieldGet(Eo,this).open(signature_manager_classPrivateFieldGet(xo,this))}}async function _update(){signature_manager_classPrivateFieldGet(yo,this)._reportTelemetry({action:"pdfjs.signature.edit_description",data:{hasBeenChanged:!0}});signature_manager_classPrivateFieldGet(yo,this).description=signature_manager_classPrivateFieldGet(So,this).value;signature_manager_assertClassBrand(Bo,this,signature_manager_finish2).call(this)}function _cancel2(){signature_manager_classPrivateFieldGet(yo,this)._reportTelemetry({action:"pdfjs.signature.edit_description",data:{hasBeenChanged:!1}});signature_manager_assertClassBrand(Bo,this,signature_manager_finish2).call(this)}function signature_manager_finish2(){signature_manager_classPrivateFieldGet(Eo,this).closeIfActive(signature_manager_classPrivateFieldGet(xo,this))}function _close2(){signature_manager_classPrivateFieldGet(ko,this)?.addEditListeners();signature_manager_classPrivateFieldSet(ko,this,null);signature_manager_classPrivateFieldSet(yo,this,null);signature_manager_classPrivateFieldGet(Ao,this).firstElementChild.remove()}function toolbar_classPrivateFieldInitSpec(e,t,i){toolbar_checkPrivateRedeclaration(e,t),t.set(e,i)}function toolbar_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function toolbar_classPrivateFieldGet(e,t){return e.get(toolbar_assertClassBrand(e,t))}function toolbar_classPrivateFieldSet(e,t,i){return e.set(toolbar_assertClassBrand(e,t),i),i}function toolbar_assertClassBrand(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}var To=new WeakMap,Io=new WeakMap,Do=new WeakSet;class Toolbar{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;!function toolbar_classPrivateMethodInitSpec(e,t){toolbar_checkPrivateRedeclaration(e,t),t.add(e)}(this,Do);toolbar_classPrivateFieldInitSpec(this,To,null);toolbar_classPrivateFieldInitSpec(this,Io,void 0);toolbar_classPrivateFieldSet(Io,this,e);this.eventBus=t;const a=[{element:e.previous,eventName:"previouspage"},{element:e.next,eventName:"nextpage"},{element:e.zoomIn,eventName:"zoomin"},{element:e.zoomOut,eventName:"zoomout"},{element:e.print,eventName:"print"},{element:e.download,eventName:"download"},{element:e.editorFreeTextButton,eventName:"switchannotationeditormode",eventDetails:{get mode(){const{classList:t}=e.editorFreeTextButton;return t.contains("toggled")?n.NONE:n.FREETEXT}}},{element:e.editorHighlightButton,eventName:"switchannotationeditormode",eventDetails:{get mode(){const{classList:t}=e.editorHighlightButton;return t.contains("toggled")?n.NONE:n.HIGHLIGHT}}},{element:e.editorInkButton,eventName:"switchannotationeditormode",eventDetails:{get mode(){const{classList:t}=e.editorInkButton;return t.contains("toggled")?n.NONE:n.INK}}},{element:e.editorStampButton,eventName:"switchannotationeditormode",eventDetails:{get mode(){const{classList:t}=e.editorStampButton;return t.contains("toggled")?n.NONE:n.STAMP}},telemetry:{type:"editing",data:{action:"pdfjs.image.icon_click"}}},{element:e.editorSignatureButton,eventName:"switchannotationeditormode",eventDetails:{get mode(){const{classList:t}=e.editorSignatureButton;return t.contains("toggled")?n.NONE:n.SIGNATURE}}}];toolbar_assertClassBrand(Do,this,toolbar_bindListeners).call(this,a);toolbar_assertClassBrand(Do,this,_updateToolbarDensity).call(this,{value:i});this.reset()}setPageNumber(e,t){this.pageNumber=e;this.pageLabel=t;toolbar_assertClassBrand(Do,this,toolbar_updateUIState).call(this,!1)}setPagesCount(e,t){this.pagesCount=e;this.hasPageLabels=t;toolbar_assertClassBrand(Do,this,toolbar_updateUIState).call(this,!0)}setPageScale(e,t){this.pageScaleValue=(e||t).toString();this.pageScale=t;toolbar_assertClassBrand(Do,this,toolbar_updateUIState).call(this,!1)}reset(){toolbar_classPrivateFieldSet(To,this,null);this.pageNumber=0;this.pageLabel=null;this.hasPageLabels=!1;this.pagesCount=0;this.pageScaleValue=ee;this.pageScale=1;toolbar_assertClassBrand(Do,this,toolbar_updateUIState).call(this,!0);this.updateLoadingIndicatorState();toolbar_assertClassBrand(Do,this,_editorModeChanged).call(this,{mode:n.DISABLE})}updateLoadingIndicatorState(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{pageNumber:t}=toolbar_classPrivateFieldGet(Io,this);t.classList.toggle("loading",e)}}function _updateToolbarDensity(e){let{value:t}=e,i="normal";switch(t){case 1:i="compact";break;case 2:i="touch"}}function toolbar_bindListeners(e){const{eventBus:t}=this,{editorHighlightColorPicker:i,editorHighlightButton:a,pageNumber:s,scaleSelect:r}=toolbar_classPrivateFieldGet(Io,this),o=this;for(const{element:i,eventName:a,eventDetails:s,telemetry:n}of e)i.addEventListener("click",(e=>{null!==a&&t.dispatch(a,{source:this,...s,isFromKeyboard:0===e.detail});n&&t.dispatch("reporttelemetry",{source:this,details:n})}));s.addEventListener("click",(function(){this.select()}));s.addEventListener("change",(function(){t.dispatch("pagenumberchanged",{source:o,value:this.value})}));r.addEventListener("change",(function(){"custom"!==this.value&&t.dispatch("scalechanged",{source:o,value:this.value})}));r.addEventListener("click",(function(e){let{target:t}=e;this.value===o.pageScaleValue&&"OPTION"===t.tagName.toUpperCase()&&this.blur()}));r.oncontextmenu=B;t._on("annotationeditormodechanged",toolbar_assertClassBrand(Do,this,_editorModeChanged).bind(this));t._on("showannotationeditorui",(e=>{let{mode:t}=e;if(t===n.HIGHLIGHT)a.click()}));t._on("toolbardensity",toolbar_assertClassBrand(Do,this,_updateToolbarDensity).bind(this));if(i){t._on("annotationeditoruimanager",(e=>{let{uiManager:t}=e;const a=toolbar_classPrivateFieldSet(To,this,new u({uiManager:t}));t.setMainHighlightColorPicker(a);i.append(a.renderMainDropdown())}));t._on("mainhighlightcolorpickerupdatecolor",(e=>{let{value:t}=e;toolbar_classPrivateFieldGet(To,this)?.updateColor(t)}))}}function _editorModeChanged(e){let{mode:t}=e;const{editorFreeTextButton:i,editorFreeTextParamsToolbar:a,editorHighlightButton:s,editorHighlightParamsToolbar:r,editorInkButton:o,editorInkParamsToolbar:l,editorStampButton:d,editorStampParamsToolbar:c,editorSignatureButton:u,editorSignatureParamsToolbar:h}=toolbar_classPrivateFieldGet(Io,this);toggleExpandedBtn(i,t===n.FREETEXT,a);toggleExpandedBtn(s,t===n.HIGHLIGHT,r);toggleExpandedBtn(o,t===n.INK,l);toggleExpandedBtn(d,t===n.STAMP,c);toggleExpandedBtn(u,t===n.SIGNATURE,h);const _=t===n.DISABLE;i.disabled=_;s.disabled=_;o.disabled=_;d.disabled=_;u.disabled=_}function toolbar_updateUIState(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{pageNumber:t,pagesCount:i,pageScaleValue:a,pageScale:s}=this,n=toolbar_classPrivateFieldGet(Io,this);if(e){if(this.hasPageLabels){n.pageNumber.type="text";n.numPages.setAttribute("data-l10n-id","pdfjs-page-of-pages")}else{n.pageNumber.type="number";n.numPages.setAttribute("data-l10n-id","pdfjs-of-pages");n.numPages.setAttribute("data-l10n-args",JSON.stringify({pagesCount:i}))}n.pageNumber.max=i}if(this.hasPageLabels){n.pageNumber.value=this.pageLabel;n.numPages.setAttribute("data-l10n-args",JSON.stringify({pageNumber:t,pagesCount:i}))}else n.pageNumber.value=t;n.previous.disabled=t<=1;n.next.disabled=t>=i;n.zoomOut.disabled=s<=ie;n.zoomIn.disabled=s>=10;let r=!1;for(const e of n.scaleSelect.options)if(e.value===a){e.selected=!0;r=!0}else e.selected=!1;if(!r){n.customScaleOption.selected=!0;n.customScaleOption.setAttribute("data-l10n-args",JSON.stringify({scale:Math.round(1e4*s)/100}))}}class ViewHistory{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20;this.fingerprint=e;this.cacheSize=t;this._initializedPromise=this._readFromStorage().then((e=>{const t=JSON.parse(e||"{}");let i=-1;if(Array.isArray(t.files)){for(;t.files.length>=this.cacheSize;)t.files.shift();for(let e=0,a=t.files.length;e0&&void 0!==arguments[0]?arguments[0]:this.appConfig;this.appConfig=t;try{await this.preferences.initializedPromise}catch(e){console.error("initialize:",e)}AppOptions.get("pdfBugEnabled")&&await this._parseHashParams();switch(AppOptions.get("viewerCssTheme")){case 1:e="light";break;case 2:e="dark"}this.l10n=await this.externalServices.createL10n();document.getElementsByTagName("html")[0].dir=this.l10n.getDirection();this.l10n.translate(t?.appContainer||document.documentElement);this.isViewerEmbedded&&AppOptions.get("externalLinkTarget")===lt.NONE&&AppOptions.set("externalLinkTarget",lt.TOP);await this._initializeViewerComponents();this.bindEvents();this.bindWindowEvents();this._initializedCapability.settled=!0;this._initializedCapability.resolve()},async _parseHashParams(){},async _initializeViewerComponents(){const{appConfig:e,externalServices:t,l10n:i,mlManager:a}=this,s=this._globalAbortController.signal,r=new EventBus;this.eventBus=AppOptions.eventBus=r;a?.setEventBus(r,s);const o=this.overlayManager=new OverlayManager,l=this.pdfRenderingQueue=new PDFRenderingQueue;l.onIdle=this._cleanup.bind(this);const d=this.pdfLinkService=new PDFLinkService({eventBus:r,externalLinkTarget:AppOptions.get("externalLinkTarget"),externalLinkRel:AppOptions.get("externalLinkRel"),ignoreDestinationZoom:AppOptions.get("ignoreDestinationZoom")}),c=this.downloadManager=new DownloadManager,u=this.findController=new PDFFindController({linkService:d,eventBus:r,updateMatchesCountOnProgress:!0}),h=this.pdfScriptingManager=new PDFScriptingManager({eventBus:r,externalServices:t,docProperties:this._scriptingDocProperties.bind(this)}),_=e.mainContainer,p=e.viewerContainer,g=AppOptions.get("annotationEditorMode"),f=AppOptions.get("forcePageColors")||window.matchMedia("(forced-colors: active)").matches?{background:AppOptions.get("pageColorsBackground"),foreground:AppOptions.get("pageColorsForeground")}:null;let v;v=AppOptions.get("enableUpdatedAddImage")?e.newAltTextDialog?new NewAltTextManager(e.newAltTextDialog,o,r):null:e.altTextDialog?new AltTextManager(e.altTextDialog,_,o,r):null;e.editorUndoBar&&(this.editorUndoBar=new EditorUndoBar(e.editorUndoBar,r));const m=AppOptions.get("enableSignatureEditor")&&e.addSignatureDialog?new SignatureManager(e.addSignatureDialog,e.editSignatureDialog,e.annotationEditorParams?.editorSignatureAddSignature||null,o,i,t.createSignatureStorage(r,s),r):null,w=AppOptions.get("enableHWA"),b=AppOptions.get("maxCanvasPixels"),P=AppOptions.get("maxCanvasDim"),y=AppOptions.get("capCanvasAreaFactor"),C=this.pdfViewer=new PDFViewer({container:_,viewer:p,eventBus:r,renderingQueue:l,linkService:d,downloadManager:c,altTextManager:v,signatureManager:m,editorUndoBar:this.editorUndoBar,findController:u,scriptingManager:AppOptions.get("enableScripting")&&h,l10n:i,textLayerMode:AppOptions.get("textLayerMode"),annotationMode:AppOptions.get("annotationMode"),annotationEditorMode:g,annotationEditorHighlightColors:AppOptions.get("highlightEditorColors"),enableHighlightFloatingButton:AppOptions.get("enableHighlightFloatingButton"),enableUpdatedAddImage:AppOptions.get("enableUpdatedAddImage"),enableNewAltTextWhenAddingImage:AppOptions.get("enableNewAltTextWhenAddingImage"),imageResourcesPath:AppOptions.get("imageResourcesPath"),enablePrintAutoRotate:AppOptions.get("enablePrintAutoRotate"),maxCanvasPixels:b,maxCanvasDim:P,capCanvasAreaFactor:y,enableDetailCanvas:AppOptions.get("enableDetailCanvas"),enablePermissions:AppOptions.get("enablePermissions"),pageColors:f,mlManager:a,abortSignal:s,enableHWA:w,supportsPinchToZoom:this.supportsPinchToZoom,enableAutoLinking:AppOptions.get("enableAutoLinking"),minDurationToUpdateCanvas:AppOptions.get("minDurationToUpdateCanvas")});l.setViewer(C);d.setViewer(C);h.setViewer(C);if(e.sidebar?.thumbnailView){this.pdfThumbnailViewer=new PDFThumbnailViewer({container:e.sidebar.thumbnailView,eventBus:r,renderingQueue:l,linkService:d,maxCanvasPixels:b,maxCanvasDim:P,pageColors:f,abortSignal:s,enableHWA:w});l.setThumbnailViewer(this.pdfThumbnailViewer)}if(!this.isViewerEmbedded&&!AppOptions.get("disableHistory")){this.pdfHistory=new PDFHistory({linkService:d,eventBus:r});d.setHistory(this.pdfHistory)}!this.supportsIntegratedFind&&e.findBar&&(this.findBar=new PDFFindBar(e.findBar,e.principalContainer,r));if(e.annotationEditorParams)if(g!==n.DISABLE){const t=e.toolbar?.editorSignatureButton;t&&AppOptions.get("enableSignatureEditor")&&(t.parentElement.hidden=!1);this.annotationEditorParams=new AnnotationEditorParams(e.annotationEditorParams,r)}else for(const e of["editorModeButtons","editorModeSeparator"])document.getElementById(e)?.classList.add("hidden");a&&e.secondaryToolbar?.imageAltTextSettingsButton&&(this.imageAltTextSettings=new ImageAltTextSettings(e.altTextSettingsDialog,o,r,a));e.documentProperties&&(this.pdfDocumentProperties=new PDFDocumentProperties(e.documentProperties,o,r,i,(()=>this._docFilename),(()=>this._docTitle)));e.secondaryToolbar?.cursorHandToolButton&&(this.pdfCursorTools=new PDFCursorTools({container:_,eventBus:r,cursorToolOnLoad:AppOptions.get("cursorToolOnLoad")}));e.toolbar&&(this.toolbar=new Toolbar(e.toolbar,r,AppOptions.get("toolbarDensity")));if(e.secondaryToolbar){if(AppOptions.get("enableAltText")){e.secondaryToolbar.imageAltTextSettingsButton?.classList.remove("hidden");e.secondaryToolbar.imageAltTextSettingsSeparator?.classList.remove("hidden")}this.secondaryToolbar=new SecondaryToolbar(e.secondaryToolbar,r)}this.supportsFullscreen&&e.secondaryToolbar?.presentationModeButton&&(this.pdfPresentationMode=new PDFPresentationMode({container:_,pdfViewer:C,eventBus:r}));e.passwordOverlay&&(this.passwordPrompt=new PasswordPrompt(e.passwordOverlay,o,this.isViewerEmbedded));e.sidebar?.outlineView&&(this.pdfOutlineViewer=new PDFOutlineViewer({container:e.sidebar.outlineView,eventBus:r,l10n:i,linkService:d,downloadManager:c}));e.sidebar?.attachmentsView&&(this.pdfAttachmentViewer=new PDFAttachmentViewer({container:e.sidebar.attachmentsView,eventBus:r,l10n:i,downloadManager:c}));e.sidebar?.layersView&&(this.pdfLayerViewer=new PDFLayerViewer({container:e.sidebar.layersView,eventBus:r,l10n:i}));if(e.sidebar){this.pdfSidebar=new PDFSidebar({elements:e.sidebar,eventBus:r,l10n:i});this.pdfSidebar.onToggled=this.forceRendering.bind(this);this.pdfSidebar.onUpdateThumbnails=()=>{for(const e of C.getCachedPageViews())e.renderingState===oe&&this.pdfThumbnailViewer.getThumbnail(e.id-1)?.setImage(e);this.pdfThumbnailViewer.scrollThumbnailIntoView(C.currentPageNumber)}}},async run(e){},get externalServices(){return z(this,"externalServices",new ExternalServices)},get initialized(){return this._initializedCapability.settled},get initializedPromise(){return this._initializedCapability.promise},updateZoom(e,t,i){this.pdfViewer.isInPresentationMode||this.pdfViewer.updateScale({drawingDelay:AppOptions.get("defaultZoomDelay"),steps:e,scaleFactor:t,origin:i})},zoomIn(){const e=this.pdfViewer.container.getBoundingClientRect(),t=[e.left+e.width/2,e.top+e.height/2];this.updateZoom(1,null,t)},zoomOut(){const e=this.pdfViewer.container.getBoundingClientRect(),t=[e.left+e.width/2,e.top+e.height/2];this.updateZoom(-1,null,t)},zoomReset(){this.pdfViewer.isInPresentationMode||(this.pdfViewer.currentScaleValue=ee)},touchPinchCallback(e,t,i){if(this.supportsPinchToZoom){const a=this._accumulateFactor(this.pdfViewer.currentScale,i/t,"_touchUnusedFactor");this.updateZoom(null,a,e)}else{const a=30,s=this._accumulateTicks((i-t)/a,"_touchUnusedTicks");this.updateZoom(s,null,e)}},touchPinchEndCallback(){this._touchUnusedTicks=0;this._touchUnusedFactor=1},get pagesCount(){return this.pdfDocument?this.pdfDocument.numPages:0},get page(){return this.pdfViewer.currentPageNumber},set page(e){this.pdfViewer.currentPageNumber=e},get supportsPrinting(){return z(this,"supportsPrinting",AppOptions.get("supportsPrinting")&&PDFPrintServiceFactory.supportsPrinting)},get supportsFullscreen(){return z(this,"supportsFullscreen",document.fullscreenEnabled)},get supportsPinchToZoom(){return z(this,"supportsPinchToZoom",AppOptions.get("supportsPinchToZoom"))},get supportsIntegratedFind(){return z(this,"supportsIntegratedFind",AppOptions.get("supportsIntegratedFind"))},get loadingBar(){const e=document.getElementById("loadingBar"),t=e?new ProgressBar(e):null;return z(this,"loadingBar",t)},get supportsMouseWheelZoomCtrlKey(){return z(this,"supportsMouseWheelZoomCtrlKey",AppOptions.get("supportsMouseWheelZoomCtrlKey"))},get supportsMouseWheelZoomMetaKey(){return z(this,"supportsMouseWheelZoomMetaKey",AppOptions.get("supportsMouseWheelZoomMetaKey"))},get supportsCaretBrowsingMode(){return AppOptions.get("supportsCaretBrowsingMode")},moveCaret(e,t){this._caretBrowsing||=new CaretBrowsingMode(this._globalAbortController.signal,this.appConfig.mainContainer,this.appConfig.viewerContainer,this.appConfig.toolbar?.container);this._caretBrowsing.moveCaret(e,t)},setTitleUsingUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.url=e;this.baseUrl=K(e,"",!0);t&&(this._downloadUrl=t===e?this.baseUrl:K(t,"",!0));x(e)&&this._hideViewBookmark();let i=w(e,"");if(!i)try{i=decodeURIComponent(m(e))}catch{}this.setTitle(i||e)},setTitle(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._title;this._title=e;if(this.isViewerEmbedded)return;const t=this._hasAnnotationEditors&&!this.pdfRenderingQueue.printing;document.title=`${t?"* ":""}${e}`},get _docFilename(){return this._contentDispositionFilename||w(this.url)},get _docTitle(){const{documentInfo:e,metadata:t}=this,i=t?.get("dc:title");return i&&"Untitled"!==i&&!/[\uFFF0-\uFFFF]/g.test(i)?i:e.Title},_hideViewBookmark(){const{secondaryToolbar:e}=this.appConfig;e?.viewBookmarkButton.classList.add("hidden");e?.presentationModeButton.classList.contains("hidden")&&document.getElementById("viewBookmarkSeparator")?.classList.add("hidden")},async close(){this._unblockDocumentLoadEvent();this._hideViewBookmark();if(!this.pdfLoadingTask)return;if(this.pdfDocument?.annotationStorage.size>0&&this._annotationStorageModified)try{await this.save()}catch{}const e=[];e.push(this.pdfLoadingTask.destroy());this.pdfLoadingTask=null;if(this.pdfDocument){this.pdfDocument=null;this.pdfThumbnailViewer?.setDocument(null);this.pdfViewer.setDocument(null);this.pdfLinkService.setDocument(null);this.pdfDocumentProperties?.setDocument(null);this.findController?.setDocument(null)}this.pdfLinkService.externalLinkEnabled=!0;this.store=null;this.isInitialViewSet=!1;this.url="";this.baseUrl="";this._downloadUrl="";this.documentInfo=null;this.metadata=null;this._contentDispositionFilename=null;this._contentLength=null;this._saveInProgress=!1;this._hasAnnotationEditors=!1;e.push(this.pdfScriptingManager.destroyPromise,this.passwordPrompt.close());this.setTitle();this.pdfSidebar?.reset();this.pdfOutlineViewer?.reset();this.pdfAttachmentViewer?.reset();this.pdfLayerViewer?.reset();this.pdfHistory?.reset();this.findBar?.reset();this.toolbar?.reset();this.secondaryToolbar?.reset();this._PDFBug?.cleanup();this.findBar?.close();this.passwordPrompt?.close();this.pdfRenderingQueue?.close();await Promise.all(e)},async open(e){this.pdfLoadingTask&&await this.close();const t=AppOptions.getAll(Pt);Object.assign(y,t);e.url&&this.setTitleUsingUrl(e.originalUrl||e.url,e.url);const i=AppOptions.getAll(bt),a=v({...i,...e});this.pdfLoadingTask=a;a.onPassword=(e,t)=>{this.isViewerEmbedded&&this._unblockDocumentLoadEvent();this.pdfLinkService.externalLinkEnabled=!1;this.passwordPrompt.setUpdateCallback(e,t);this.passwordPrompt.open()};a.onProgress=e=>{let{loaded:t,total:i}=e;this.progress(t/i)};return a.promise.then((e=>{this.load(e)}),(e=>{if(a!==this.pdfLoadingTask)return;let t="pdfjs-loading-error";e instanceof S?t="pdfjs-invalid-file-error":e instanceof V&&(t=e.missing?"pdfjs-missing-file-error":"pdfjs-unexpected-response-error");return this._documentError(t,{message:e.message}).then((()=>{throw e}))}))},async download(){},async save(){},async downloadOrSave(){},async _documentError(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this._unblockDocumentLoadEvent();const i=await this._otherError(e||"pdfjs-loading-error",t);this.eventBus.dispatch("documenterror",{source:this,message:i,reason:t?.message??null})},async _otherError(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const i=await this.l10n.get(e),a=[`PDF.js v${Y||"?"} (build: ${c||"?"})`];if(t){a.push(`Message: ${t.message}`);if(t.stack)a.push(`Stack: ${t.stack}`);else{t.filename&&a.push(`File: ${t.filename}`);t.lineNumber&&a.push(`Line: ${t.lineNumber}`)}}console.error(`${i}\n\n${a.join("\n")}`);return i},progress(e){const t=Math.round(100*e);if(this.loadingBar&&!(t<=this.loadingBar.percent)){this.loadingBar.percent=t;(this.pdfDocument?.loadingParams.disableAutoFetch??AppOptions.get("disableAutoFetch"))&&this.loadingBar.setDisableAutoFetch()}},load(e){this.pdfDocument=e;e.getDownloadInfo().then((e=>{let{length:t}=e;this._contentLength=t;this.loadingBar?.hide();n.then((()=>{this.eventBus.dispatch("documentloaded",{source:this})}))}));const t=e.getPageLayout().catch((()=>{})),i=e.getPageMode().catch((()=>{})),a=e.getOpenAction().catch((()=>{}));this.toolbar?.setPagesCount(e.numPages,!1);this.secondaryToolbar?.setPagesCount(e.numPages);this.pdfLinkService.setDocument(e);this.pdfDocumentProperties?.setDocument(e);const s=this.pdfViewer;s.setDocument(e);const{firstPagePromise:n,onePageRendered:r,pagesPromise:o}=s;this.pdfThumbnailViewer?.setDocument(e);const l=(this.store=new ViewHistory(e.fingerprints[0])).getMultiple({page:null,zoom:ee,scrollLeft:"0",scrollTop:"0",rotation:null,sidebarView:he,scrollMode:Pe.UNKNOWN,spreadMode:Fe.UNKNOWN,sidebarWidth:this.sidebarMinWidth}).catch((()=>{}));n.then((n=>{this.loadingBar?.setWidth(this.appConfig.viewerContainer);this._initializeAnnotationStorageCallbacks(e);Promise.all([Se,l,t,i,a]).then((async t=>{let[i,a,n,r,l]=t;const d=AppOptions.get("viewOnLoad");this._initializePdfHistory({fingerprint:e.fingerprints[0],viewOnLoad:d,initialDest:l?.dest});const c=this.initialBookmark,u=AppOptions.get("defaultZoomValue");let h=u?`zoom=${u}`:null,_=null,p=AppOptions.get("sidebarViewOnLoad"),g=AppOptions.get("scrollModeOnLoad"),f=AppOptions.get("spreadModeOnLoad");if(a?.page&&d!==Lo){h=`page=${a.page}&zoom=${u||a.zoom},${a.scrollLeft},${a.scrollTop}`;_=parseInt(a.rotation,10);p===he&&(p=0|a.sidebarView);g===Pe.UNKNOWN&&(g=0|a.scrollMode);f===Fe.UNKNOWN&&(f=0|a.spreadMode)}r&&p===he&&(p=function apiPageModeToSidebarView(e){switch(e){case"UseNone":return _e;case"UseThumbs":return pe;case"UseOutlines":return ge;case"UseAttachments":return fe;case"UseOC":return ve}return _e}(r));if(n&&g===Pe.UNKNOWN&&f===Fe.UNKNOWN){f=apiPageLayoutToViewerModes(n).spreadMode}const v=localStorage.getItem("pdfjs.sidebarView"),m=this.isEmbed?null:localStorage.getItem("pdfjs.sidebarWidth");let w=m?parseInt(m):this.sidebarMinWidth;p=v?parseInt(v):p;({hash:h,rotation:_,sidebarView:p,scrollMode:g,spreadMode:f,sidebarWidth:w}=this.getInitialViewOverrides(a,h,{rotation:_,sidebarView:p,scrollMode:g,spreadMode:f,sidebarWidth:w}));this.setInitialView(h,{rotation:_,sidebarView:p,scrollMode:g,spreadMode:f,sidebarWidth:w});this.eventBus.dispatch("documentinit",{source:this});this.isViewerEmbedded;await Promise.race([o,new Promise((e=>{activeWindow.setTimeout(e,1e4)}))]);if((c||h)&&!s.hasEqualPageSizes){this.initialBookmark=c;s.currentScaleValue=s.currentScaleValue;this.setInitialView(h)}})).catch((()=>{this.setInitialView()})).then((function(){s.update()}))}));o.then((()=>{this._unblockDocumentLoadEvent();this._initializeAutoPrint(e,a)}),(e=>{this._documentError("pdfjs-loading-error",{message:e.message})}));const d=this._initializePageLabels(e);r.then((t=>{this.externalServices.reportTelemetry({type:"pageInfo",timestamp:t.timestamp});this.pdfOutlineViewer&&e.getOutline().then((t=>{if(e!==this.pdfDocument)return[];this.pdfOutlineViewer.renderTree({outline:t,pdfDocument:e});return d})).then((e=>{this.pdfOutlineViewer.setPageLabels(e)}));this.pdfAttachmentViewer&&e.getAttachments().then((t=>{e===this.pdfDocument&&this.pdfAttachmentViewer.renderTree({attachments:t})}));this.pdfLayerViewer&&s.optionalContentConfigPromise.then((t=>{e===this.pdfDocument&&this.pdfLayerViewer.renderTree({optionalContentConfig:t,pdfDocument:e})}))}));this._initializeMetadata(e)},getInitialViewOverrides(e,t,i){let{rotation:a,sidebarView:s,scrollMode:n,spreadMode:r,sidebarWidth:o}=i;return{hash:t,rotation:a,sidebarView:s,scrollMode:n,spreadMode:r,sidebarWidth:o}},async _scriptingDocProperties(e){if(!this.documentInfo){await new Promise((e=>{this.eventBus._on("metadataloaded",e,{once:!0})}));if(e!==this.pdfDocument)return null}if(!this._contentLength){await new Promise((e=>{this.eventBus._on("documentloaded",e,{once:!0})}));if(e!==this.pdfDocument)return null}return{...this.documentInfo,baseURL:this.baseUrl,filesize:this._contentLength,filename:this._docFilename,metadata:this.metadata?.getRaw(),authors:this.metadata?.get("dc:creator"),numPages:this.pagesCount,URL:this.url}},async _initializeAutoPrint(e,t){},async _initializeMetadata(e){const{info:t,metadata:i,contentDispositionFilename:a,contentLength:s}=await e.getMetadata();if(e!==this.pdfDocument)return;this.documentInfo=t;this.metadata=i;this._contentDispositionFilename??=a;this._contentLength??=s;const n=this._docTitle;n?this.setTitle(`${n} - ${this._contentDispositionFilename||this._title}`):this._contentDispositionFilename&&this.setTitle(this._contentDispositionFilename);!t.IsXFAPresent||t.IsAcroFormPresent||e.isPureXfa?!t.IsAcroFormPresent&&!t.IsXFAPresent||this.pdfViewer.renderForms||console.warn("Warning: Interactive form support is not enabled"):e.loadingParams.enableXfa?console.warn("Warning: XFA Foreground documents are not supported"):console.warn("Warning: XFA support is not enabled");this.eventBus.dispatch("metadataloaded",{source:this})},async _initializePageLabels(e){const t=await e.getPageLabels();if(e!==this.pdfDocument)return[];if(!t||AppOptions.get("disablePageLabels"))return[];const i=t.length;let a=0,s=0;for(let e=0;e=i||s>=i)return[];const{pdfViewer:n,pdfThumbnailViewer:r,toolbar:o}=this;n.setPageLabels(t);r?.setPageLabels(t);o?.setPagesCount(i,!0);o?.setPageNumber(n.currentPageNumber,n.currentPageLabel);return t},_initializePdfHistory(e){let{fingerprint:t,viewOnLoad:i,initialDest:a=null}=e;if(this.pdfHistory){this.pdfHistory.initialize({fingerprint:t,resetHistory:i===Lo,updateUrl:AppOptions.get("historyUpdateUrl")});if(this.pdfHistory.initialBookmark){this.initialBookmark=this.pdfHistory.initialBookmark;this.initialRotation=this.pdfHistory.initialRotation}if(a&&!this.initialBookmark&&i===Mo){this.initialBookmark=JSON.stringify(a);this.pdfHistory.push({explicitDest:a,pageNumber:null})}}},_initializeAnnotationStorageCallbacks(e){if(e!==this.pdfDocument)return;const{annotationStorage:t}=e;t.onSetModified=()=>{this._annotationStorageModified=!0};t.onResetModified=()=>{delete this._annotationStorageModified};t.onAnnotationEditor=e=>{this._hasAnnotationEditors=!!e;this.setTitle()}},setInitialView(e){let{rotation:t,sidebarView:i,scrollMode:a,spreadMode:s,sidebarWidth:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const setRotation=e=>{isValidRotation(e)&&(this.pdfViewer.pagesRotation=e)};this.isInitialViewSet=!0;this.pdfSidebar?.setInitialView(i);void 0!==n&&this.pdfSidebarResizer?._updateWidth(n);((e,t)=>{isValidScrollMode(e)&&(this.pdfViewer.scrollMode=e);isValidSpreadMode(t)&&(this.pdfViewer.spreadMode=t)})(a,s);if(this.initialBookmark){setRotation(this.initialRotation);delete this.initialRotation;this.pdfLinkService.setHash(this.initialBookmark);this.initialBookmark=null}else if(e){setRotation(t);this.pdfLinkService.setHash(e)}this.toolbar?.setPageNumber(this.pdfViewer.currentPageNumber,this.pdfViewer.currentPageLabel);this.secondaryToolbar?.setPageNumber(this.pdfViewer.currentPageNumber);this.pdfOutlineViewer?.setPageNumber(this.pdfViewer.currentPageNumber);this.pdfViewer.currentScaleValue||(this.pdfViewer.currentScaleValue=ee)},_cleanup(){if(this.pdfDocument){this.pdfViewer.cleanup();this.pdfThumbnailViewer?.cleanup();this.pdfDocument.cleanup(AppOptions.get("fontExtraProperties"))}},forceRendering(){this.pdfRenderingQueue.printing=!!this.printService;this.pdfRenderingQueue.isThumbnailViewEnabled=this.pdfSidebar?.visibleView===pe;this.pdfRenderingQueue.renderHighestPriority()},beforePrint(){this._printAnnotationStoragePromise=this.pdfScriptingManager.dispatchWillPrint().catch((()=>{})).then((()=>this.pdfDocument?.annotationStorage.print));if(!this.printService)if(this.supportsPrinting)if(this.pdfViewer.pageViewsReady){this.printService=PDFPrintServiceFactory.createPrintService({pdfDocument:this.pdfDocument,pagesOverview:this.pdfViewer.getPagesOverview(),printContainer:this.appConfig.printContainer,printResolution:AppOptions.get("printResolution"),printAnnotationStoragePromise:this._printAnnotationStoragePromise});this.forceRendering();this.setTitle();this.printService.layout();this._hasAnnotationEditors&&this.externalServices.reportTelemetry({type:"editing",data:{type:"print",stats:this.pdfDocument?.annotationStorage.editorStats}})}else this.l10n.get("pdfjs-printing-not-ready").then((e=>{window.alert(e)}));else this._otherError("pdfjs-printing-not-supported")},afterPrint(){if(this._printAnnotationStoragePromise){this._printAnnotationStoragePromise.then((()=>{this.pdfScriptingManager.dispatchDidPrint()}));this._printAnnotationStoragePromise=null}if(this.printService){this.printService.destroy();this.printService=null;this.pdfDocument?.annotationStorage.resetModified()}this.forceRendering();this.setTitle()},rotatePages(e){this.pdfViewer.pagesRotation+=e},requestPresentationMode(){this.pdfPresentationMode?.request()},triggerPrinting(){},bindEvents(){if(this._eventBusAbortController)return;const e={signal:(this._eventBusAbortController=new AbortController).signal},{eventBus:t,externalServices:i,pdfDocumentProperties:a,pdfViewer:s,preferences:n}=this;t._on("resize",onResize.bind(this),e);t._on("hashchange",onHashchange.bind(this),e);t._on("beforeprint",this.beforePrint.bind(this),e);t._on("afterprint",this.afterPrint.bind(this),e);t._on("pagerender",onPageRender.bind(this),e);t._on("pagerendered",onPageRendered.bind(this),e);t._on("updateviewarea",onUpdateViewarea.bind(this),e);t._on("pagechanging",onPageChanging.bind(this),e);t._on("scalechanging",onScaleChanging.bind(this),e);t._on("rotationchanging",onRotationChanging.bind(this),e);t._on("sidebarviewchanged",onSidebarViewChanged.bind(this),e);t._on("pagemode",onPageMode.bind(this),e);t._on("namedaction",onNamedAction.bind(this),e);t._on("presentationmodechanged",(e=>s.presentationModeState=e.state),e);t._on("presentationmode",this.requestPresentationMode.bind(this),e);t._on("switchannotationeditormode",(e=>s.annotationEditorMode=e),e);t._on("print",this.triggerPrinting.bind(this),e);t._on("download",this.downloadOrSave.bind(this),e);t._on("firstpage",(()=>this.page=1),e);t._on("lastpage",(()=>this.page=this.pagesCount),e);t._on("nextpage",(()=>s.nextPage()),e);t._on("previouspage",(()=>s.previousPage()),e);t._on("zoomin",this.zoomIn.bind(this),e);t._on("zoomout",this.zoomOut.bind(this),e);t._on("zoomreset",this.zoomReset.bind(this),e);t._on("pagenumberchanged",onPageNumberChanged.bind(this),e);t._on("scalechanged",(e=>s.currentScaleValue=e.value),e);t._on("rotatecw",this.rotatePages.bind(this,90),e);t._on("rotateccw",this.rotatePages.bind(this,-90),e);t._on("optionalcontentconfig",(e=>s.optionalContentConfigPromise=e.promise),e);t._on("switchscrollmode",(e=>s.scrollMode=e.mode),e);t._on("scrollmodechanged",onViewerModesChanged.bind(this,"scrollMode"),e);t._on("switchspreadmode",(e=>s.spreadMode=e.mode),e);t._on("spreadmodechanged",onViewerModesChanged.bind(this,"spreadMode"),e);t._on("imagealttextsettings",onImageAltTextSettings.bind(this),e);t._on("documentproperties",(()=>a?.open()),e);t._on("findfromurlhash",onFindFromUrlHash.bind(this),e);t._on("updatefindmatchescount",onUpdateFindMatchesCount.bind(this),e);t._on("updatefindcontrolstate",onUpdateFindControlState.bind(this),e)},bindWindowEvents(){if(this._windowAbortController)return;this._windowAbortController=new AbortController;const{eventBus:e,appConfig:{mainContainer:t},pdfViewer:i,_windowAbortController:{signal:a}}=this,{container:s}=i;this._touchManager=new X({container:s,isPinchingDisabled:()=>i.isInPresentationMode,isPinchingStopped:()=>this.overlayManager.active,onPinching:this.touchPinchCallback.bind(this),onPinchEnd:this.touchPinchEndCallback.bind(this),signal:a});const mockWin_addEventListener=()=>{};s.addEventListener("wheel",onWheel.bind(this),{passive:!1,signal:a});mockWin_addEventListener("click",onClick.bind(this),{signal:a});mockWin_addEventListener("keydown",onKeyDown.bind(this),{signal:a});mockWin_addEventListener("keyup",onKeyUp.bind(this),{signal:a});mockWin_addEventListener("resize",(()=>e.dispatch("resize",{source:window})),{signal:a});mockWin_addEventListener("hashchange",(()=>{e.dispatch("hashchange",{source:window,hash:document.location.hash.substring(1)})}),{signal:a});mockWin_addEventListener("beforeprint",(()=>e.dispatch("beforeprint",{source:window})),{signal:a});mockWin_addEventListener("afterprint",(()=>e.dispatch("afterprint",{source:window})),{signal:a});mockWin_addEventListener("updatefromsandbox",(t=>{e.dispatch("updatefromsandbox",{source:window,detail:t.detail})}),{signal:a})},unbindEvents(){this._eventBusAbortController?.abort();this._eventBusAbortController=null},unbindWindowEvents(){this._windowAbortController?.abort();this._windowAbortController=null;this._touchManager=null},async testingClose(){this.unbindEvents();this.unbindWindowEvents();this._globalAbortController?.abort();this._globalAbortController=null;this.findBar?.close();await Promise.all([this.l10n?.destroy(),this.close()])},_accumulateTicks(e,t){(this[t]>0&&e<0||this[t]<0&&e>0)&&(this[t]=0);this[t]+=e;const i=Math.trunc(this[t]);this[t]-=i;return i},_accumulateFactor(e,t,i){if(1===t)return 1;(this[i]>1&&t<1||this[i]<1&&t>1)&&(this[i]=1);const a=Math.floor(e*t*this[i]*100)/(100*e);this[i]=t/a;return a},_unblockDocumentLoadEvent(){document.blockUnblockOnload?.(!1);this._unblockDocumentLoadEvent=()=>{}},get scriptingReady(){return this.pdfScriptingManager.ready}};new Set(["null","http://mozilla.github.io","https://mozilla.github.io"]);function onPageRender(e){let{pageNumber:t}=e;t===this.page&&this.toolbar?.updateLoadingIndicatorState(!0)}function onPageRendered(e){let{pageNumber:t,isDetailView:i,error:a}=e;t===this.page&&this.toolbar?.updateLoadingIndicatorState(!1);if(!i&&this.pdfSidebar?.visibleView===pe){const e=this.pdfViewer.getPageView(t-1),i=this.pdfThumbnailViewer?.getThumbnail(t-1);e&&i?.setImage(e)}a&&this._otherError("pdfjs-rendering-error",a)}function onPageMode(e){let t,{mode:i}=e;switch(i){case"thumbs":t=pe;break;case"bookmarks":case"outline":t=ge;break;case"attachments":t=fe;break;case"layers":t=ve;break;case"none":t=_e;break;default:console.error('Invalid "pagemode" hash parameter: '+i);return}this.pdfSidebar?.switchView(t,!0)}function onNamedAction(e){switch(e.action){case"GoToPage":this.appConfig.toolbar?.pageNumber.select();break;case"Find":this.supportsIntegratedFind||this.findBar?.toggle();break;case"Print":this.triggerPrinting();break;case"SaveAs":this.downloadOrSave()}}function onSidebarViewChanged(e){let{view:t}=e;this.pdfRenderingQueue.isThumbnailViewEnabled=t===pe;if(this.isInitialViewSet){this.store?.set("sidebarView",t).catch((()=>{}));localStorage.setItem("pdfjs.sidebarView",t.toString())}}function onUpdateViewarea(e){let{location:t}=e;this.location=t;this.isInitialViewSet&&!this.isEmbed&&this.store?.setMultiple({page:t.pageNumber,zoom:t.scale,scrollLeft:t.left,scrollTop:t.top,rotation:t.rotation}).catch((()=>{}));this.appConfig.secondaryToolbar&&(this.appConfig.secondaryToolbar.viewBookmarkButton.href=this.pdfLinkService.getAnchorUrl(t.pdfOpenParams))}function onViewerModesChanged(e,t){this.isInitialViewSet&&!this.pdfViewer.isInPresentationMode&&this.store?.set(e,t.mode).catch((()=>{}))}function onResize(e){const{pdfDocument:t,pdfViewer:i,pdfRenderingQueue:a,pdfSidebarResizer:s}=this;if(a.printing&&window.matchMedia("print").matches)return;if(!t)return;const n=i.currentScaleValue;"auto"!==n&&"page-fit"!==n&&"page-width"!==n||(i.currentScaleValue=n);i.update();e.source===s&&localStorage.setItem("pdfjs.sidebarWidth",s._width.toString())}function onHashchange(e){const t=e.hash;t&&(this.isInitialViewSet?this.pdfHistory?.popStateInProgress||this.pdfLinkService.setHash(t):this.initialBookmark=t)}function onPageNumberChanged(e){const{pdfViewer:t}=this;""!==e.value&&this.pdfLinkService.goToPage(e.value);e.value!==t.currentPageNumber.toString()&&e.value!==t.currentPageLabel&&this.toolbar?.setPageNumber(t.currentPageNumber,t.currentPageLabel)}function onImageAltTextSettings(){this.imageAltTextSettings?.open({enableGuessAltText:AppOptions.get("enableGuessAltText"),enableNewAltTextWhenAddingImage:AppOptions.get("enableNewAltTextWhenAddingImage")})}function onFindFromUrlHash(e){this.eventBus.dispatch("find",{source:e.source,type:"",query:e.query,caseSensitive:!1,entireWord:!1,highlightAll:!0,findPrevious:!1,matchDiacritics:!0})}function onUpdateFindMatchesCount(e){let{matchesCount:t}=e;this.supportsIntegratedFind?this.externalServices.updateFindMatchesCount(t):this.findBar?.updateResultsCount(t)}function onUpdateFindControlState(e){let{state:t,previous:i,entireWord:a,matchesCount:s,rawQuery:n}=e;this.supportsIntegratedFind?this.externalServices.updateFindControlState({result:t,findPrevious:i,entireWord:a,matchesCount:s,rawQuery:n}):this.findBar?.updateUIState(t,i,s)}function onScaleChanging(e){this.toolbar?.setPageScale(e.presetValue,e.scale);this.pdfViewer.update()}function onRotationChanging(e){this.pdfThumbnailViewer&&(this.pdfThumbnailViewer.pagesRotation=e.pagesRotation);this.forceRendering();this.pdfViewer.currentPageNumber=e.pageNumber}function onPageChanging(e){let{pageNumber:t,pageLabel:i}=e;this.toolbar?.setPageNumber(t,i);this.secondaryToolbar?.setPageNumber(t);this.pdfSidebar?.visibleView===pe&&this.pdfThumbnailViewer?.scrollThumbnailIntoView(t);const a=this.pdfViewer.getPageView(t-1);this.toolbar?.updateLoadingIndicatorState(a?.renderingState===ne)}let Oo=null;function onWheel(e){const{pdfViewer:t,supportsMouseWheelZoomCtrlKey:i,supportsMouseWheelZoomMetaKey:a,supportsPinchToZoom:s,appConfig:{mainContainer:n}}=this;if(t.isInPresentationMode)return;const r=e.deltaMode;let o=Math.exp(-e.deltaY/100);const l=e.ctrlKey&&!this._isCtrlKeyDown&&r===WheelEvent.DOM_DELTA_PIXEL&&0===e.deltaX&&(Math.abs(o-1)<.05||!1)&&0===e.deltaZ,d=[e.clientX,e.clientY];if(l||e.ctrlKey&&i||e.metaKey&&a){e.preventDefault();if(Oo||this._isScrolling||"hidden"===n.ownerDocument.visibilityState||this.overlayManager.active)return;if(l&&s){o=this._accumulateFactor(t.currentScale,o,"_wheelUnusedFactor");this.updateZoom(null,o,d)}else{const t=normalizeWheelEventDirection(e);let i=0;if(r===WheelEvent.DOM_DELTA_LINE||r===WheelEvent.DOM_DELTA_PAGE)i=Math.abs(t)>=1?Math.sign(t):this._accumulateTicks(t,"_wheelUnusedTicks");else{const e=30;i=this._accumulateTicks(t/e,"_wheelUnusedTicks")}this.updateZoom(i,null,d)}}else!function setZoomDisabledTimeout(){Oo&&activeWindow.clearTimeout(Oo);Oo=activeWindow.setTimeout((function(){Oo=null}),1e3)}()}function closeSecondaryToolbar(e){let{target:t}=e;if(!this.secondaryToolbar?.isOpen)return;const{toolbar:i,secondaryToolbar:a}=this.appConfig;(this.pdfViewer.containsElement(t)||i?.container.contains(t)&&!a?.toolbar.contains(t)&&!a?.toggleButton.contains(t))&&this.secondaryToolbar.close()}function closeEditorUndoBar(e){this.editorUndoBar?.isOpen&&this.appConfig.secondaryToolbar?.toolbar.contains(e.target)&&this.editorUndoBar.hide()}function onClick(e){closeSecondaryToolbar.call(this,e);closeEditorUndoBar.call(this,e)}function onKeyUp(e){"Control"===e.key&&(this._isCtrlKeyDown=!1)}function onKeyDown(e){this._isCtrlKeyDown="Control"===e.key;this.editorUndoBar?.isOpen&&9!==e.keyCode&&16!==e.keyCode&&(13!==e.keyCode&&32!==e.keyCode||getActiveOrFocusedElement()!==this.appConfig.editorUndoBar.undoButton)&&this.editorUndoBar.hide();if(this.overlayManager.active)return;const{eventBus:t,pdfViewer:i}=this,a=i.isInPresentationMode;let s=!1,n=!1;const r=(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0);if(1===r||8===r||5===r||12===r)switch(e.keyCode){case 70:if(!this.supportsIntegratedFind&&!e.shiftKey){this.findBar?.open();s=!0}break;case 71:if(!this.supportsIntegratedFind){const{state:e}=this.findController;if(e){const i={source:window,type:"again",findPrevious:5===r||12===r};t.dispatch("find",{...e,...i})}s=!0}break;case 61:case 107:case 187:case 171:this.zoomIn();s=!0;break;case 173:case 109:case 189:this.zoomOut();s=!0;break;case 48:case 96:if(!a){activeWindow.setTimeout((()=>{this.zoomReset()}));s=!1}break;case 38:if(a||this.page>1){this.page=1;s=!0;n=!0}break;case 40:if(a||this.page1){this.page=1;s=!0;n=!0}break;case 35:if(a||this.page0?i.nextPage():i.previousPage();s=!0}}if(4===r)switch(e.keyCode){case 13:case 32:if(!a&&"page-fit"!==i.currentScaleValue)break;i.previousPage();s=!0;break;case 38:this.moveCaret(!0,!0);s=!0;break;case 40:this.moveCaret(!1,!0);s=!0;break;case 82:this.rotatePages(-90)}s||a||(e.keyCode>=33&&e.keyCode<=40||32===e.keyCode&&"BUTTON"!==l)&&(n=!0);n&&!i.containsElement(o)&&i.focus();s&&e.preventDefault()}}function viewer_defineProperty(e,t,i){return(t=function viewer_toPropertyKey(e){var t=function viewer_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class ObsidianPreferences extends BasePreferences{constructor(e){super();viewer_defineProperty(this,"preferences",null);this.preferences=e}async _writeToStorage(){}async _readFromStorage(){return this.preferences}async getAll(){return this.preferences}async set(e,t){}async get(e){return this.preferences[e]}}class ObsidianServices extends BaseExternalServices{constructor(e,t){super();this.preferences=e;this.l10n=t}createDownloadManager(){return new DownloadManager}createPreferences(){return new ObsidianPreferences(this.preferences)}createL10n(){return this.l10n}createScripting(){return null}}const noop=()=>{};function createObsidianPDFViewer(e){const{baseConfig:t,l10n:i,eventBus:a,removePageBorders:s,dom:n,subpath:r,height:o,isEmbed:l,pageBackground:d,pageInvert:c}=e;AppOptions.setAll(t);const u=new ObsidianServices(t,i),h=Object.create(Go,{supportsPrinting:{configurable:!1,get:()=>!1},loadingBar:{configurable:!1,get:()=>null},externalServices:{configurable:!1,get:()=>u}});h.l10n=i;h.removePageBorders=s;h.eventBus=a;h.appConfig={appContainer:n.containerEl,mainContainer:n.viewerContainerEl};h.preferences=u.preferences;h._initializedCapability={...Promise.withResolvers(),settled:!1};h._globalAbortController=new AbortController;h.isViewerEmbedded=!1;h.setTitle=noop;h.progress=noop;h.beforePrint=noop;h.afterPrint=noop;h._forceCssTheme=noop;h.dom=void 0!==n?n:null;h.pageInvert=c;h.pageBackground=d&&CSS.supports("color",d)?d:null;h.subpath=void 0!==r?r:null;h.height=void 0!==o?o:"auto";h.isEmbed=void 0!==l&&l;h.onViewerReattached=function onViewerReattached(){if(!this.isInitialViewSet)return;const{pageNumber:e,scale:t,left:i,top:a}=this.location||{};e&&this.pdfLinkService.setHash(`page=${e}&zoom=${t},${i},${a}`)};h.setHeight=function setHeight(e){const{toolbar:t,pdfViewer:i,dom:a}=this,s=t.toolbarEl.clientHeight;"number"==typeof e?a.containerEl.style.height=`${e+s}px`:"page"===e&&i._pagesCapability&&i._pagesCapability.promise.then((()=>{const e=i.getPageView(i._currentPageNumber-1).viewport;a.containerEl.style.height=`${e.height+s}px`}));this.height=e??"auto"};h.setBackground=function setBackground(e,t){this.pageBackground=e;this.pageInvert=t;this.pdfViewer.pageBackground=e;this.pdfViewer.pageInvert=t;this.pdfViewer._pages.forEach((i=>{i.pageBackground=e;i.pageInvert=t;i.update({})}));this.pdfViewer.update();this.pdfThumbnailViewer.pageBackground=e;this.pdfThumbnailViewer.pageInvert=t;this.pdfThumbnailViewer._thumbnails.forEach((i=>{i.pageBackground=e;i.pageInvert=t;i.update({})}))};h.applySubpath=function applySubpath(e){const t=e.includes("=");if(!t){this.isInitialViewSet&&this.pdfLinkService.setHash(e);this.subpath=e;return}const i=t?parseQueryString(e):null,a=i?.get("zoom"),s=i?.get("page"),n=i?.get("search"),r=[];for(const[e,t]of[["zoom",a],["page",s],["search",n]])t&&r.push(`${e}=${t}`);if(r.length){this.isInitialViewSet&&this.pdfLinkService.setHash(r.join("&"));this.subpath=e}if(this.isEmbed){const e=i?.get("height")??this.height;e&&this.setHeight("page"===e||"auto"===e?e:parseInt(e))}};h._initializeViewerComponents=async function _initializeViewerComponents(){const{l10n:e,eventBus:t,removePageBorders:i}=this,{contentEl:a,outlineViewEl:s,sidebarContainerEl:n,thumbnailViewEl:r,viewerContainerEl:o,viewerEl:l}=this.dom;this.overlayManager=new OverlayManager;const d=this.pdfRenderingQueue=new PDFRenderingQueue;d.onIdle=this._cleanup.bind(this);const c=this.pdfLinkService=new PDFLinkService({eventBus:t,externalLinkTarget:AppOptions.get("externalLinkTarget"),externalLinkRel:AppOptions.get("externalLinkRel"),ignoreDestinationZoom:AppOptions.get("ignoreDestinationZoom")}),u=this.downloadManager=this.externalServices.createDownloadManager(),h=this.findController=new PDFFindController({linkService:c,eventBus:t}),_=new PDFScriptingManager({eventBus:t,sandboxBundleSrc:null,scriptingFactory:this.externalServices,docPropertiesLookup:this._scriptingDocProperties.bind(this)});this.pdfScriptingManager=_;this.findBar||(this.findBar=new PDFFindBar(a,t,this.l10n));const p=AppOptions.get("enableHWA"),g=this.pdfViewer=new PDFViewer({container:o,viewer:l,eventBus:t,renderingQueue:d,linkService:c,downloadManager:u,altTextManager:null,findController:h,removePageBorders:i,l10n:e,textLayerMode:AppOptions.get("textLayerMode"),annotationMode:AppOptions.get("annotationMode"),annotationEditorMode:AppOptions.get("annotationEditorMode"),annotationEditorHighlightColors:AppOptions.get("highlightEditorColors"),enableHighlightFloatingButton:AppOptions.get("enableHighlightFloatingButton"),enableUpdatedAddImage:AppOptions.get("enableUpdatedAddImage"),enableNewAltTextWhenAddingImage:AppOptions.get("enableNewAltTextWhenAddingImage"),imageResourcesPath:AppOptions.get("imageResourcesPath"),enablePrintAutoRotate:AppOptions.get("enablePrintAutoRotate"),maxCanvasPixels:AppOptions.get("maxCanvasPixels"),enablePermissions:AppOptions.get("enablePermissions"),mlManager:null,abortSignal:this._globalAbortController.signal,enableHWA:p,pageBackground:this.pageBackground,pageInvert:this.pageInvert}),f=this.pdfThumbnailViewer=new PDFThumbnailViewer({container:r,eventBus:t,renderingQueue:d,linkService:c,pageBackground:this.pageBackground,pageInvert:this.pageInvert,abortSignal:this._globalAbortController.signal,enableHWA:p});this.pdfOutlineViewer?this.pdfOutlineViewer.linkService=c:this.pdfOutlineViewer=new PDFOutlineViewer({container:s,eventBus:t,linkService:c,downloadManager:u});const v=this.pdfSidebar=new PDFSidebar({elements:{outerContainer:a,outlineView:s,sidebarContainer:n,thumbnailView:r,resizer:n.createDiv("pdf-sidebar-resizer")},pdfViewer:g,pdfThumbnailViewer:f,eventBus:t,l10n:e});d.setViewer(g);d.setThumbnailViewer(f);c.setViewer(g);v.onToggled=this.forceRendering.bind(this);v.onUpdateThumbnails=()=>{for(const e of g.getCachedPageViews())e.renderingState===oe&&this.pdfThumbnailViewer.getThumbnail(e.id-1)?.setImage(e);this.pdfThumbnailViewer.scrollThumbnailIntoView(g.currentPageNumber)}};h.getInitialViewOverrides=function getInitialViewOverrides(e,t,i){const{subpath:a,height:s,isEmbed:n}=this,{rotation:r,scrollMode:o,spreadMode:l,sidebarWidth:d}=i,c=a?.includes("=");let{sidebarView:u}=i;if(a&&!c)return{hash:a,rotation:r,sidebarView:u,scrollMode:o,spreadMode:l,sidebarWidth:d};const h=c?parseQueryString(a):null,_=AppOptions.get("viewOnLoad"),p=h?.get("search"),g=h?.get("height")??s;let f=h?.get("page")??e.page,v=h?.get("zoom")??AppOptions.get("defaultZoomValue");if(n){u=0;f=h?.get("page");g&&this.setHeight("page"===g||"auto"===g?g:parseInt(g))}else!a&&e.page&&1!==_&&v&&(v+=`,${e.scrollLeft},${e.scrollTop}`);const m=[];for(const[e,t]of[["zoom",v],["page",f],["search",p]])t&&m.push(`${e}=${t}`);return{hash:m.join("&"),rotation:r,sidebarView:u,scrollMode:o,spreadMode:l,sidebarWidth:d}};a._on("resize",(()=>{"page"===h.height&&h.setHeight("page")}));return h}function createPromiseWithResolvers(){return Promise.withResolvers()}globalThis.pdfjsViewer={AppOptions,approximateFraction,BasePreferences,createObsidianPDFViewer,createPromiseWithResolvers,DEFAULT_SCALE:1,DEFAULT_SCALE_VALUE:ee,DownloadManager,EventBus,FindState:Ve,IL10n,IPasswordPrompt,IPDFFindBar,LinkTarget:lt,MAX_SCALE:10,MIN_SCALE:ie,ObsidianServices,parseQueryString,PDFFindController,PDFLinkService,PDFPageView,PDFRenderingQueue,PDFScriptingManager,PDFSidebar,PDFThumbnailView,PDFThumbnailViewer,PDFViewer,PDFViewerApplication:Go,removeNullCharacters,scrollIntoView,SIDEBAR_MIN_WIDTH:dt};export{AppOptions,BasePreferences,te as DEFAULT_SCALE,ee as DEFAULT_SCALE_VALUE,DownloadManager,EventBus,Ve as FindState,IL10n,IPDFFindBar,IPasswordPrompt,lt as LinkTarget,ae as MAX_SCALE,ie as MIN_SCALE,ObsidianServices,PDFFindController,PDFLinkService,PDFPageView,PDFRenderingQueue,PDFScriptingManager,PDFSidebar,PDFThumbnailView,PDFThumbnailViewer,PDFViewer,Go as PDFViewerApplication,dt as SIDEBAR_MIN_WIDTH,approximateFraction,createObsidianPDFViewer,createPromiseWithResolvers,parseQueryString,removeNullCharacters,scrollIntoView};/** * @licstart The following is the entire license notice for the * JavaScript code in this page * * Copyright 2024 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * @licend The above is the entire license notice for the * JavaScript code in this page */ /** * pdfjsVersion = 5.3.34 * pdfjsBuild = cc1e2a3e0 */var e={34:(e,t,r)=>{var a=r(4901);e.exports=function(e){return"object"==typeof e?null!==e:a(e)}},81:(e,t,r)=>{var a=r(9565),n=r(9306),i=r(8551),s=r(6823),o=r(851),c=TypeError;e.exports=function(e,t){var r=arguments.length<2?o(e):t;if(n(r))return i(a(r,e));throw new c(s(e)+" is not iterable")}},116:(e,t,r)=>{var a=r(6518),n=r(9565),i=r(2652),s=r(9306),o=r(8551),c=r(1767),l=r(9539),h=r(4549)("find",TypeError);a({target:"Iterator",proto:!0,real:!0,forced:h},{find:function find(e){o(this);try{s(e)}catch(e){l(this,"throw",e)}if(h)return n(h,this,e);var t=c(this),r=0;return i(t,(function(t,a){if(e(t,r++))return a(t)}),{IS_RECORD:!0,INTERRUPTED:!0}).result}})},283:(e,t,r)=>{var a=r(9504),n=r(9039),i=r(4901),s=r(9297),o=r(3724),c=r(350).CONFIGURABLE,l=r(3706),h=r(1181),u=h.enforce,d=h.get,f=String,g=Object.defineProperty,p=a("".slice),m=a("".replace),b=a([].join),y=o&&!n((function(){return 8!==g((function(){}),"length",{value:8}).length})),w=String(String).split("String"),v=e.exports=function(e,t,r){"Symbol("===p(f(t),0,7)&&(t="["+m(f(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]");r&&r.getter&&(t="get "+t);r&&r.setter&&(t="set "+t);(!s(e,"name")||c&&e.name!==t)&&(o?g(e,"name",{value:t,configurable:!0}):e.name=t);y&&r&&s(r,"arity")&&e.length!==r.arity&&g(e,"length",{value:r.arity});try{r&&s(r,"constructor")&&r.constructor?o&&g(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var a=u(e);s(a,"source")||(a.source=b(w,"string"==typeof t?t:""));return e};Function.prototype.toString=v((function toString(){return i(this)&&d(this).source||l(this)}),"toString")},350:(e,t,r)=>{var a=r(3724),n=r(9297),i=Function.prototype,s=a&&Object.getOwnPropertyDescriptor,o=n(i,"name"),c=o&&"something"===function something(){}.name,l=o&&(!a||a&&s(i,"name").configurable);e.exports={EXISTS:o,PROPER:c,CONFIGURABLE:l}},373:(e,t,r)=>{var a=r(4576),n=r(7476),i=r(9039),s=r(9306),o=r(4488),c=r(4644),l=r(3709),h=r(3763),u=r(9519),d=r(3607),f=c.aTypedArray,g=c.exportTypedArrayMethod,p=a.Uint16Array,m=p&&n(p.prototype.sort),b=!(!m||i((function(){m(new p(2),null)}))&&i((function(){m(new p(2),{})}))),y=!!m&&!i((function(){if(u)return u<74;if(l)return l<67;if(h)return!0;if(d)return d<602;var e,t,r=new p(516),a=Array(516);for(e=0;e<516;e++){t=e%4;r[e]=515-e;a[e]=e-2*t+3}m(r,(function(e,t){return(e/4|0)-(t/4|0)}));for(e=0;e<516;e++)if(r[e]!==a[e])return!0}));g("sort",(function sort(e){void 0!==e&&s(e);return y?m(this,e):o(f(this),function(e){return function(t,r){return void 0!==e?+e(t,r)||0:r!=r?-1:t!=t?1:0===t&&0===r?1/t>0&&1/r<0?1:-1:t>r}}(e))}),!y||b)},397:(e,t,r)=>{var a=r(7751);e.exports=a("document","documentElement")},421:e=>{e.exports={}},507:(e,t,r)=>{var a=r(9565);e.exports=function(e,t,r){for(var n,i,s=r?e:e.iterator,o=e.next;!(n=a(o,s)).done;)if(void 0!==(i=t(n.value)))return i}},531:(e,t,r)=>{var a=r(6518),n=r(9565),i=r(9306),s=r(8551),o=r(1767),c=r(8646),l=r(9462),h=r(9539),u=r(6395),d=r(4549),f=!u&&d("flatMap",TypeError),g=l((function(){for(var e,t,r=this.iterator,a=this.mapper;;){if(t=this.inner)try{if(!(e=s(n(t.next,t.iterator))).done)return e.value;this.inner=null}catch(e){h(r,"throw",e)}e=s(n(this.next,r));if(this.done=!!e.done)return;try{this.inner=c(a(e.value,this.counter++),!1)}catch(e){h(r,"throw",e)}}}));a({target:"Iterator",proto:!0,real:!0,forced:u||f},{flatMap:function flatMap(e){s(this);try{i(e)}catch(e){h(this,"throw",e)}return f?n(f,this,e):new g(o(this),{mapper:e,inner:null})}})},616:(e,t,r)=>{var a=r(9039);e.exports=!a((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},655:(e,t,r)=>{var a=r(6955),n=String;e.exports=function(e){if("Symbol"===a(e))throw new TypeError("Cannot convert a Symbol value to a string");return n(e)}},679:(e,t,r)=>{var a=r(1625),n=TypeError;e.exports=function(e,t){if(a(t,e))return e;throw new n("Incorrect invocation")}},741:e=>{var t=Math.ceil,r=Math.floor;e.exports=Math.trunc||function trunc(e){var a=+e;return(a>0?r:t)(a)}},747:(e,t,r)=>{var a=r(6699),n=r(6193),i=r(4659),s=Error.captureStackTrace;e.exports=function(e,t,r,o){i&&(s?s(e,t):a(e,"stack",n(r,o)))}},757:(e,t,r)=>{var a=r(7751),n=r(4901),i=r(1625),s=r(7040),o=Object;e.exports=s?function(e){return"symbol"==typeof e}:function(e){var t=a("Symbol");return n(t)&&i(t.prototype,o(e))}},851:(e,t,r)=>{var a=r(6955),n=r(5966),i=r(4117),s=r(6269),o=r(8227)("iterator");e.exports=function(e){if(!i(e))return n(e,o)||n(e,"@@iterator")||s[a(e)]}},944:e=>{var t=TypeError;e.exports=function(e){var r=e&&e.alphabet;if(void 0===r||"base64"===r||"base64url"===r)return r||"base64";throw new t("Incorrect `alphabet` option")}},1056:(e,t,r)=>{var a=r(4913).f;e.exports=function(e,t,r){r in e||a(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})}},1072:(e,t,r)=>{var a=r(1828),n=r(8727);e.exports=Object.keys||function keys(e){return a(e,n)}},1103:e=>{e.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}},1108:(e,t,r)=>{var a=r(6955);e.exports=function(e){var t=a(e);return"BigInt64Array"===t||"BigUint64Array"===t}},1134:(e,t,r)=>{var a=r(4644),n=r(3839).findLastIndex,i=a.aTypedArray;(0,a.exportTypedArrayMethod)("findLastIndex",(function findLastIndex(e){return n(i(this),e,arguments.length>1?arguments[1]:void 0)}))},1148:(e,t,r)=>{var a=r(6518),n=r(9565),i=r(2652),s=r(9306),o=r(8551),c=r(1767),l=r(9539),h=r(4549)("every",TypeError);a({target:"Iterator",proto:!0,real:!0,forced:h},{every:function every(e){o(this);try{s(e)}catch(e){l(this,"throw",e)}if(h)return n(h,this,e);var t=c(this),r=0;return!i(t,(function(t,a){if(!e(t,r++))return a()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},1181:(e,t,r)=>{var a,n,i,s=r(8622),o=r(4576),c=r(34),l=r(6699),h=r(9297),u=r(7629),d=r(6119),f=r(421),g="Object already initialized",p=o.TypeError,m=o.WeakMap;if(s||u.state){var b=u.state||(u.state=new m);b.get=b.get;b.has=b.has;b.set=b.set;a=function(e,t){if(b.has(e))throw new p(g);t.facade=e;b.set(e,t);return t};n=function(e){return b.get(e)||{}};i=function(e){return b.has(e)}}else{var y=d("state");f[y]=!0;a=function(e,t){if(h(e,y))throw new p(g);t.facade=e;l(e,y,t);return t};n=function(e){return h(e,y)?e[y]:{}};i=function(e){return h(e,y)}}e.exports={set:a,get:n,has:i,enforce:function(e){return i(e)?n(e):a(e,{})},getterFor:function(e){return function(t){var r;if(!c(t)||(r=n(t)).type!==e)throw new p("Incompatible receiver, "+e+" required");return r}}}},1291:(e,t,r)=>{var a=r(741);e.exports=function(e){var t=+e;return t!=t||0===t?0:a(t)}},1548:(e,t,r)=>{var a=r(4576),n=r(9039),i=r(9519),s=r(4215),o=a.structuredClone;e.exports=!!o&&!n((function(){if("DENO"===s&&i>92||"NODE"===s&&i>94||"BROWSER"===s&&i>97)return!1;var e=new ArrayBuffer(8),t=o(e,{transfer:[e]});return 0!==e.byteLength||8!==t.byteLength}))},1549:(e,t,r)=>{var a=r(6518),n=r(4576),i=r(9143),s=r(4154),o=n.Uint8Array,c=!o||!o.prototype.setFromBase64||!function(){var e=new o([255,255,255,255,255]);try{e.setFromBase64("MjYyZg===")}catch(t){return 50===e[0]&&54===e[1]&&50===e[2]&&255===e[3]&&255===e[4]}}();o&&a({target:"Uint8Array",proto:!0,forced:c},{setFromBase64:function setFromBase64(e){s(this);var t=i(e,arguments.length>1?arguments[1]:void 0,this,this.length);return{read:t.read,written:t.written}}})},1625:(e,t,r)=>{var a=r(9504);e.exports=a({}.isPrototypeOf)},1689:(e,t,r)=>{var a=r(6518),n=r(4576),i=r(8745),s=r(7680),o=r(6043),c=r(9306),l=r(1103),h=n.Promise,u=!1;a({target:"Promise",stat:!0,forced:!h||!h.try||l((function(){h.try((function(e){u=8===e}),8)})).error||!u},{try:function(e){var t=arguments.length>1?s(arguments,1):[],r=o.f(this),a=l((function(){return i(c(e),void 0,t)}));(a.error?r.reject:r.resolve)(a.value);return r.promise}})},1698:(e,t,r)=>{var a=r(6518),n=r(4204);a({target:"Set",proto:!0,real:!0,forced:!r(4916)("union")},{union:n})},1701:(e,t,r)=>{var a=r(6518),n=r(9565),i=r(9306),s=r(8551),o=r(1767),c=r(9462),l=r(6319),h=r(9539),u=r(4549),d=r(6395),f=!d&&u("map",TypeError),g=c((function(){var e=this.iterator,t=s(n(this.next,e));if(!(this.done=!!t.done))return l(e,this.mapper,[t.value,this.counter++],!0)}));a({target:"Iterator",proto:!0,real:!0,forced:d||f},{map:function map(e){s(this);try{i(e)}catch(e){h(this,"throw",e)}return f?n(f,this,e):new g(o(this),{mapper:e})}})},1767:e=>{e.exports=function(e){return{iterator:e,next:e.next,done:!1}}},1806:(e,t,r)=>{var a=r(6518),n=r(8551),i=r(2652),s=r(1767),o=[].push;a({target:"Iterator",proto:!0,real:!0},{toArray:function toArray(){var e=[];i(s(n(this)),o,{that:e,IS_RECORD:!0});return e}})},1828:(e,t,r)=>{var a=r(9504),n=r(9297),i=r(5397),s=r(9617).indexOf,o=r(421),c=a([].push);e.exports=function(e,t){var r,a=i(e),l=0,h=[];for(r in a)!n(o,r)&&n(a,r)&&c(h,r);for(;t.length>l;)n(a,r=t[l++])&&(~s(h,r)||c(h,r));return h}},1903:(e,t,r)=>{var a=r(4644),n=r(3839).findLast,i=a.aTypedArray;(0,a.exportTypedArrayMethod)("findLast",(function findLast(e){return n(i(this),e,arguments.length>1?arguments[1]:void 0)}))},2106:(e,t,r)=>{var a=r(283),n=r(4913);e.exports=function(e,t,r){r.get&&a(r.get,t,{getter:!0});r.set&&a(r.set,t,{setter:!0});return n.f(e,t,r)}},2140:(e,t,r)=>{var a={};a[r(8227)("toStringTag")]="z";e.exports="[object z]"===String(a)},2195:(e,t,r)=>{var a=r(9504),n=a({}.toString),i=a("".slice);e.exports=function(e){return i(n(e),8,-1)}},2211:(e,t,r)=>{var a=r(9039);e.exports=!a((function(){function F(){}F.prototype.constructor=null;return Object.getPrototypeOf(new F)!==F.prototype}))},2278:(e,t,r)=>{var a=r(3724),n=r(4913),i=r(6980);e.exports=function(e,t,r){a?n.f(e,t,i(0,r)):e[t]=r}},2303:(e,t,r)=>{var a=r(4576),n=r(9504),i=a.Uint8Array,s=a.SyntaxError,o=a.parseInt,c=Math.min,l=/[^\da-f]/i,h=n(l.exec),u=n("".slice);e.exports=function(e,t){var r=e.length;if(r%2!=0)throw new s("String should be an even number of characters");for(var a=t?c(t.length,r/2):r/2,n=t||new i(a),d=0,f=0;f{var a,n=r(8551),i=r(6801),s=r(8727),o=r(421),c=r(397),l=r(4055),h=r(6119),u="prototype",d="script",f=h("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(e){return"<"+d+">"+e+""},NullProtoObjectViaActiveX=function(e){e.write(scriptTag(""));e.close();var t=e.parentWindow.Object;e=null;return t},NullProtoObject=function(){try{a=new ActiveXObject("htmlfile")}catch(e){}NullProtoObject="undefined"!=typeof document?document.domain&&a?NullProtoObjectViaActiveX(a):function(){var e,t=l("iframe"),r="java"+d+":";t.style.display="none";c.appendChild(t);t.src=String(r);(e=t.contentWindow.document).open();e.write(scriptTag("document.F=Object"));e.close();return e.F}():NullProtoObjectViaActiveX(a);for(var e=s.length;e--;)delete NullProtoObject[u][s[e]];return NullProtoObject()};o[f]=!0;e.exports=Object.create||function create(e,t){var r;if(null!==e){EmptyConstructor[u]=n(e);r=new EmptyConstructor;EmptyConstructor[u]=null;r[f]=e}else r=NullProtoObject();return void 0===t?r:i.f(r,t)}},2475:(e,t,r)=>{var a=r(6518),n=r(8527);a({target:"Set",proto:!0,real:!0,forced:!r(4916)("isSupersetOf",(function(e){return!e}))},{isSupersetOf:n})},2489:(e,t,r)=>{var a=r(6518),n=r(9565),i=r(9306),s=r(8551),o=r(1767),c=r(9462),l=r(6319),h=r(6395),u=r(9539),d=r(4549),f=!h&&d("filter",TypeError),g=c((function(){for(var e,t,r=this.iterator,a=this.predicate,i=this.next;;){e=s(n(i,r));if(this.done=!!e.done)return;t=e.value;if(l(r,a,[t,this.counter++],!0))return t}}));a({target:"Iterator",proto:!0,real:!0,forced:h||f},{filter:function filter(e){s(this);try{i(e)}catch(e){u(this,"throw",e)}return f?n(f,this,e):new g(o(this),{predicate:e})}})},2529:e=>{e.exports=function(e,t){return{value:e,done:t}}},2603:(e,t,r)=>{var a=r(655);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:a(e)}},2652:(e,t,r)=>{var a=r(6080),n=r(9565),i=r(8551),s=r(6823),o=r(4209),c=r(6198),l=r(1625),h=r(81),u=r(851),d=r(9539),f=TypeError,Result=function(e,t){this.stopped=e;this.result=t},g=Result.prototype;e.exports=function(e,t,r){var p,m,b,y,w,v,x,S=r&&r.that,k=!(!r||!r.AS_ENTRIES),C=!(!r||!r.IS_RECORD),T=!(!r||!r.IS_ITERATOR),_=!(!r||!r.INTERRUPTED),O=a(t,S),stop=function(e){p&&d(p,"normal",e);return new Result(!0,e)},callFn=function(e){if(k){i(e);return _?O(e[0],e[1],stop):O(e[0],e[1])}return _?O(e,stop):O(e)};if(C)p=e.iterator;else if(T)p=e;else{if(!(m=u(e)))throw new f(s(e)+" is not iterable");if(o(m)){for(b=0,y=c(e);y>b;b++)if((w=callFn(e[b]))&&l(g,w))return w;return new Result(!1)}p=h(e,m)}v=C?e.next:p.next;for(;!(x=n(v,p)).done;){try{w=callFn(x.value)}catch(e){d(p,"throw",e)}if("object"==typeof w&&w&&l(g,w))return w}return new Result(!1)}},2777:(e,t,r)=>{var a=r(9565),n=r(34),i=r(757),s=r(5966),o=r(4270),c=r(8227),l=TypeError,h=c("toPrimitive");e.exports=function(e,t){if(!n(e)||i(e))return e;var r,c=s(e,h);if(c){void 0===t&&(t="default");r=a(c,e,t);if(!n(r)||i(r))return r;throw new l("Can't convert object to primitive value")}void 0===t&&(t="number");return o(e,t)}},2787:(e,t,r)=>{var a=r(9297),n=r(4901),i=r(8981),s=r(6119),o=r(2211),c=s("IE_PROTO"),l=Object,h=l.prototype;e.exports=o?l.getPrototypeOf:function(e){var t=i(e);if(a(t,c))return t[c];var r=t.constructor;return n(r)&&t instanceof r?r.prototype:t instanceof l?h:null}},2796:(e,t,r)=>{var a=r(9039),n=r(4901),i=/#|\.prototype\./,isForced=function(e,t){var r=o[s(e)];return r===l||r!==c&&(n(t)?a(t):!!t)},s=isForced.normalize=function(e){return String(e).replace(i,".").toLowerCase()},o=isForced.data={},c=isForced.NATIVE="N",l=isForced.POLYFILL="P";e.exports=isForced},2804:e=>{var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=t+"+/",a=t+"-_",inverse=function(e){for(var t={},r=0;r<64;r++)t[e.charAt(r)]=r;return t};e.exports={i2c:r,c2i:inverse(r),i2cUrl:a,c2iUrl:inverse(a)}},2812:e=>{var t=TypeError;e.exports=function(e,r){if(e{var a=r(4576).navigator,n=a&&a.userAgent;e.exports=n?String(n):""},2967:(e,t,r)=>{var a=r(6706),n=r(34),i=r(7750),s=r(3506);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=a(Object.prototype,"__proto__","set"))(r,[]);t=r instanceof Array}catch(e){}return function setPrototypeOf(r,a){i(r);s(a);if(!n(r))return r;t?e(r,a):r.__proto__=a;return r}}():void 0)},3167:(e,t,r)=>{var a=r(4901),n=r(34),i=r(2967);e.exports=function(e,t,r){var s,o;i&&a(s=t.constructor)&&s!==r&&n(o=s.prototype)&&o!==r.prototype&&i(e,o);return e}},3238:(e,t,r)=>{var a=r(4576),n=r(7811),i=r(7394),s=a.DataView;e.exports=function(e){if(!n||0!==i(e))return!1;try{new s(e);return!1}catch(e){return!0}}},3392:(e,t,r)=>{var a=r(9504),n=0,i=Math.random(),s=a(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+s(++n+i,36)}},3440:(e,t,r)=>{var a=r(7080),n=r(4402),i=r(9286),s=r(5170),o=r(3789),c=r(8469),l=r(507),h=n.has,u=n.remove;e.exports=function difference(e){var t=a(this),r=o(e),n=i(t);s(t)<=r.size?c(t,(function(e){r.includes(e)&&u(n,e)})):l(r.getIterator(),(function(e){h(t,e)&&u(n,e)}));return n}},3463:e=>{var t=TypeError;e.exports=function(e){if("string"==typeof e)return e;throw new t("Argument is not a string")}},3506:(e,t,r)=>{var a=r(3925),n=String,i=TypeError;e.exports=function(e){if(a(e))return e;throw new i("Can't set "+n(e)+" as a prototype")}},3579:(e,t,r)=>{var a=r(6518),n=r(9565),i=r(2652),s=r(9306),o=r(8551),c=r(1767),l=r(9539),h=r(4549)("some",TypeError);a({target:"Iterator",proto:!0,real:!0,forced:h},{some:function some(e){o(this);try{s(e)}catch(e){l(this,"throw",e)}if(h)return n(h,this,e);var t=c(this),r=0;return i(t,(function(t,a){if(e(t,r++))return a()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},3607:(e,t,r)=>{var a=r(2839).match(/AppleWebKit\/(\d+)\./);e.exports=!!a&&+a[1]},3609:(e,t,r)=>{var a=r(6518),n=r(8981),i=r(6198),s=r(4527),o=r(4606),c=r(6837);a({target:"Array",proto:!0,arity:1,forced:1!==[].unshift(0)||!function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(e){return e instanceof TypeError}}()},{unshift:function unshift(e){var t=n(this),r=i(t),a=arguments.length;if(a){c(r+a);for(var l=r;l--;){var h=l+a;l in t?t[h]=t[l]:o(t,h)}for(var u=0;u{var a=r(7080),n=r(4402),i=r(9286),s=r(3789),o=r(507),c=n.add,l=n.has,h=n.remove;e.exports=function symmetricDifference(e){var t=a(this),r=s(e).getIterator(),n=i(t);o(r,(function(e){l(t,e)?h(n,e):c(n,e)}));return n}},3706:(e,t,r)=>{var a=r(9504),n=r(4901),i=r(7629),s=a(Function.toString);n(i.inspectSource)||(i.inspectSource=function(e){return s(e)});e.exports=i.inspectSource},3709:(e,t,r)=>{var a=r(2839).match(/firefox\/(\d+)/i);e.exports=!!a&&+a[1]},3717:(e,t)=>{t.f=Object.getOwnPropertySymbols},3724:(e,t,r)=>{var a=r(9039);e.exports=!a((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},3763:(e,t,r)=>{var a=r(2839);e.exports=/MSIE|Trident/.test(a)},3789:(e,t,r)=>{var a=r(9306),n=r(8551),i=r(9565),s=r(1291),o=r(1767),c="Invalid size",l=RangeError,h=TypeError,u=Math.max,SetRecord=function(e,t){this.set=e;this.size=u(t,0);this.has=a(e.has);this.keys=a(e.keys)};SetRecord.prototype={getIterator:function(){return o(n(i(this.keys,this.set)))},includes:function(e){return i(this.has,this.set,e)}};e.exports=function(e){n(e);var t=+e.size;if(t!=t)throw new h(c);var r=s(t);if(r<0)throw new l(c);return new SetRecord(e,r)}},3838:(e,t,r)=>{var a=r(7080),n=r(5170),i=r(8469),s=r(3789);e.exports=function isSubsetOf(e){var t=a(this),r=s(e);return!(n(t)>r.size)&&!1!==i(t,(function(e){if(!r.includes(e))return!1}),!0)}},3839:(e,t,r)=>{var a=r(6080),n=r(7055),i=r(8981),s=r(6198),createMethod=function(e){var t=1===e;return function(r,o,c){for(var l,h=i(r),u=n(h),d=s(u),f=a(o,c);d-- >0;)if(f(l=u[d],d,h))switch(e){case 0:return l;case 1:return d}return t?-1:void 0}};e.exports={findLast:createMethod(0),findLastIndex:createMethod(1)}},3853:(e,t,r)=>{var a=r(6518),n=r(4449);a({target:"Set",proto:!0,real:!0,forced:!r(4916)("isDisjointFrom",(function(e){return!e}))},{isDisjointFrom:n})},3925:(e,t,r)=>{var a=r(34);e.exports=function(e){return a(e)||null===e}},3972:(e,t,r)=>{var a=r(34),n=String,i=TypeError;e.exports=function(e){if(void 0===e||a(e))return e;throw new i(n(e)+" is not an object or undefined")}},4055:(e,t,r)=>{var a=r(4576),n=r(34),i=a.document,s=n(i)&&n(i.createElement);e.exports=function(e){return s?i.createElement(e):{}}},4114:(e,t,r)=>{var a=r(6518),n=r(8981),i=r(6198),s=r(4527),o=r(6837);a({target:"Array",proto:!0,arity:1,forced:r(9039)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function push(e){var t=n(this),r=i(t),a=arguments.length;o(r+a);for(var c=0;c{e.exports=function(e){return null==e}},4154:(e,t,r)=>{var a=r(6955),n=TypeError;e.exports=function(e){if("Uint8Array"===a(e))return e;throw new n("Argument is not an Uint8Array")}},4204:(e,t,r)=>{var a=r(7080),n=r(4402).add,i=r(9286),s=r(3789),o=r(507);e.exports=function union(e){var t=a(this),r=s(e).getIterator(),c=i(t);o(r,(function(e){n(c,e)}));return c}},4209:(e,t,r)=>{var a=r(8227),n=r(6269),i=a("iterator"),s=Array.prototype;e.exports=function(e){return void 0!==e&&(n.Array===e||s[i]===e)}},4215:(e,t,r)=>{var a=r(4576),n=r(2839),i=r(2195),userAgentStartsWith=function(e){return n.slice(0,e.length)===e};e.exports=userAgentStartsWith("Bun/")?"BUN":userAgentStartsWith("Cloudflare-Workers")?"CLOUDFLARE":userAgentStartsWith("Deno/")?"DENO":userAgentStartsWith("Node.js/")?"NODE":a.Bun&&"string"==typeof Bun.version?"BUN":a.Deno&&"object"==typeof Deno.version?"DENO":"process"===i(a.process)?"NODE":a.window&&a.document?"BROWSER":"REST"},4270:(e,t,r)=>{var a=r(9565),n=r(4901),i=r(34),s=TypeError;e.exports=function(e,t){var r,o;if("string"===t&&n(r=e.toString)&&!i(o=a(r,e)))return o;if(n(r=e.valueOf)&&!i(o=a(r,e)))return o;if("string"!==t&&n(r=e.toString)&&!i(o=a(r,e)))return o;throw new s("Can't convert object to primitive value")}},4373:(e,t,r)=>{var a=r(8981),n=r(5610),i=r(6198);e.exports=function fill(e){for(var t=a(this),r=i(t),s=arguments.length,o=n(s>1?arguments[1]:void 0,r),c=s>2?arguments[2]:void 0,l=void 0===c?r:n(c,r);l>o;)t[o++]=e;return t}},4376:(e,t,r)=>{var a=r(2195);e.exports=Array.isArray||function isArray(e){return"Array"===a(e)}},4402:(e,t,r)=>{var a=r(9504),n=Set.prototype;e.exports={Set,add:a(n.add),has:a(n.has),remove:a(n.delete),proto:n}},4449:(e,t,r)=>{var a=r(7080),n=r(4402).has,i=r(5170),s=r(3789),o=r(8469),c=r(507),l=r(9539);e.exports=function isDisjointFrom(e){var t=a(this),r=s(e);if(i(t)<=r.size)return!1!==o(t,(function(e){if(r.includes(e))return!1}),!0);var h=r.getIterator();return!1!==c(h,(function(e){if(n(t,e))return l(h,"normal",!1)}))}},4483:(e,t,r)=>{var a,n,i,s,o=r(4576),c=r(9429),l=r(1548),h=o.structuredClone,u=o.ArrayBuffer,d=o.MessageChannel,f=!1;if(l)f=function(e){h(e,{transfer:[e]})};else if(u)try{d||(a=c("worker_threads"))&&(d=a.MessageChannel);if(d){n=new d;i=new u(2);s=function(e){n.port1.postMessage(null,[e])};if(2===i.byteLength){s(i);0===i.byteLength&&(f=s)}}}catch(e){}e.exports=f},4488:(e,t,r)=>{var a=r(7680),n=Math.floor,sort=function(e,t){var r=e.length;if(r<8)for(var i,s,o=1;o0;)e[s]=e[--s];s!==o++&&(e[s]=i)}else for(var c=n(r/2),l=sort(a(e,0,c),t),h=sort(a(e,c),t),u=l.length,d=h.length,f=0,g=0;f{var a=r(9519),n=r(9039),i=r(4576).String;e.exports=!!Object.getOwnPropertySymbols&&!n((function(){var e=Symbol("symbol detection");return!i(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&a&&a<41}))},4527:(e,t,r)=>{var a=r(3724),n=r(4376),i=TypeError,s=Object.getOwnPropertyDescriptor,o=a&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=o?function(e,t){if(n(e)&&!s(e,"length").writable)throw new i("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},4549:(e,t,r)=>{var a=r(4576);e.exports=function(e,t){var r=a.Iterator,n=r&&r.prototype,i=n&&n[e],s=!1;if(i)try{i.call({next:function(){return{done:!0}},return:function(){s=!0}},-1)}catch(e){e instanceof t||(s=!1)}if(!s)return i}},4576:function(e){var check=function(e){return e&&e.Math===Math&&e};e.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof global&&global)||check("object"==typeof this&&this)||function(){return this}()||Function("return this")()},4601:(e,t,r)=>{var a=r(7751),n=r(9297),i=r(6699),s=r(1625),o=r(2967),c=r(7740),l=r(1056),h=r(3167),u=r(2603),d=r(7584),f=r(747),g=r(3724),p=r(6395);e.exports=function(e,t,r,m){var b="stackTraceLimit",y=m?2:1,w=e.split("."),v=w[w.length-1],x=a.apply(null,w);if(x){var S=x.prototype;!p&&n(S,"cause")&&delete S.cause;if(!r)return x;var k=a("Error"),C=t((function(e,t){var r=u(m?t:e,void 0),a=m?new x(e):new x;void 0!==r&&i(a,"message",r);f(a,C,a.stack,2);this&&s(S,this)&&h(a,this,C);arguments.length>y&&d(a,arguments[y]);return a}));C.prototype=S;if("Error"!==v)o?o(C,k):c(C,k,{name:!0});else if(g&&b in x){l(C,x,b);l(C,x,"prepareStackTrace")}c(C,x);if(!p)try{S.name!==v&&i(S,"name",v);S.constructor=C}catch(e){}return C}}},4603:(e,t,r)=>{var a=r(6840),n=r(9504),i=r(655),s=r(2812),o=URLSearchParams,c=o.prototype,l=n(c.append),h=n(c.delete),u=n(c.forEach),d=n([].push),f=new o("a=1&a=2&b=3");f.delete("a",1);f.delete("b",void 0);f+""!="a=2"&&a(c,"delete",(function(e){var t=arguments.length,r=t<2?void 0:arguments[1];if(t&&void 0===r)return h(this,e);var a=[];u(this,(function(e,t){d(a,{key:t,value:e})}));s(t,1);for(var n,o=i(e),c=i(r),f=0,g=0,p=!1,m=a.length;f{var a=r(6823),n=TypeError;e.exports=function(e,t){if(!delete e[t])throw new n("Cannot delete property "+a(t)+" of "+a(e))}},4628:(e,t,r)=>{var a=r(6518),n=r(6043);a({target:"Promise",stat:!0},{withResolvers:function withResolvers(){var e=n.f(this);return{promise:e.promise,resolve:e.resolve,reject:e.reject}}})},4644:(e,t,r)=>{var a,n,i,s=r(7811),o=r(3724),c=r(4576),l=r(4901),h=r(34),u=r(9297),d=r(6955),f=r(6823),g=r(6699),p=r(6840),m=r(2106),b=r(1625),y=r(2787),w=r(2967),v=r(8227),x=r(3392),S=r(1181),k=S.enforce,C=S.get,T=c.Int8Array,_=T&&T.prototype,O=c.Uint8ClampedArray,M=O&&O.prototype,R=T&&y(T),D=_&&y(_),E=Object.prototype,N=c.TypeError,j=v("toStringTag"),L=x("TYPED_ARRAY_TAG"),U="TypedArrayConstructor",q=s&&!!w&&"Opera"!==d(c.opera),X=!1,H={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},W={BigInt64Array:8,BigUint64Array:8},getTypedArrayConstructor=function(e){var t=y(e);if(h(t)){var r=C(t);return r&&u(r,U)?r[U]:getTypedArrayConstructor(t)}},isTypedArray=function(e){if(!h(e))return!1;var t=d(e);return u(H,t)||u(W,t)};for(a in H)(i=(n=c[a])&&n.prototype)?k(i)[U]=n:q=!1;for(a in W)(i=(n=c[a])&&n.prototype)&&(k(i)[U]=n);if(!q||!l(R)||R===Function.prototype){R=function TypedArray(){throw new N("Incorrect invocation")};if(q)for(a in H)c[a]&&w(c[a],R)}if(!q||!D||D===E){D=R.prototype;if(q)for(a in H)c[a]&&w(c[a].prototype,D)}q&&y(M)!==D&&w(M,D);if(o&&!u(D,j)){X=!0;m(D,j,{configurable:!0,get:function(){return h(this)?this[L]:void 0}});for(a in H)c[a]&&g(c[a],L,a)}e.exports={NATIVE_ARRAY_BUFFER_VIEWS:q,TYPED_ARRAY_TAG:X&&L,aTypedArray:function(e){if(isTypedArray(e))return e;throw new N("Target is not a typed array")},aTypedArrayConstructor:function(e){if(l(e)&&(!w||b(R,e)))return e;throw new N(f(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,r,a){if(o){if(r)for(var n in H){var i=c[n];if(i&&u(i.prototype,e))try{delete i.prototype[e]}catch(r){try{i.prototype[e]=t}catch(e){}}}D[e]&&!r||p(D,e,r?t:q&&_[e]||t,a)}},exportTypedArrayStaticMethod:function(e,t,r){var a,n;if(o){if(w){if(r)for(a in H)if((n=c[a])&&u(n,e))try{delete n[e]}catch(e){}if(R[e]&&!r)return;try{return p(R,e,r?t:q&&R[e]||t)}catch(e){}}for(a in H)!(n=c[a])||n[e]&&!r||p(n,e,t)}},getTypedArrayConstructor,isView:function isView(e){if(!h(e))return!1;var t=d(e);return"DataView"===t||u(H,t)||u(W,t)},isTypedArray,TypedArray:R,TypedArrayPrototype:D}},4659:(e,t,r)=>{var a=r(9039),n=r(6980);e.exports=!a((function(){var e=new Error("a");if(!("stack"in e))return!0;Object.defineProperty(e,"stack",n(1,7));return 7!==e.stack}))},4732:(e,t,r)=>{var a=r(4644),n=r(9504),i=r(9306),s=r(5370),o=a.aTypedArray,c=a.getTypedArrayConstructor,l=a.exportTypedArrayMethod,h=n(a.TypedArrayPrototype.sort);l("toSorted",(function toSorted(e){void 0!==e&&i(e);var t=o(this),r=s(c(t),t);return h(r,e)}))},4901:e=>{var t="object"==typeof document&&document.all;e.exports=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(e){return"function"==typeof e}},4913:(e,t,r)=>{var a=r(3724),n=r(5917),i=r(8686),s=r(8551),o=r(6969),c=TypeError,l=Object.defineProperty,h=Object.getOwnPropertyDescriptor,u="enumerable",d="configurable",f="writable";t.f=a?i?function defineProperty(e,t,r){s(e);t=o(t);s(r);if("function"==typeof e&&"prototype"===t&&"value"in r&&f in r&&!r[f]){var a=h(e,t);if(a&&a[f]){e[t]=r.value;r={configurable:d in r?r[d]:a[d],enumerable:u in r?r[u]:a[u],writable:!1}}}return l(e,t,r)}:l:function defineProperty(e,t,r){s(e);t=o(t);s(r);if(n)try{return l(e,t,r)}catch(e){}if("get"in r||"set"in r)throw new c("Accessors not supported");"value"in r&&(e[t]=r.value);return e}},4916:(e,t,r)=>{var a=r(7751),createSetLike=function(e){return{size:e,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},createSetLikeWithInfinitySize=function(e){return{size:e,has:function(){return!0},keys:function(){throw new Error("e")}}};e.exports=function(e,t){var r=a("Set");try{(new r)[e](createSetLike(0));try{(new r)[e](createSetLike(-1));return!1}catch(a){if(!t)return!0;try{(new r)[e](createSetLikeWithInfinitySize(-1/0));return!1}catch(a){var n=new r;n.add(1);n.add(2);return t(n[e](createSetLikeWithInfinitySize(1/0)))}}}catch(e){return!1}}},4979:(e,t,r)=>{var a=r(6518),n=r(4576),i=r(7751),s=r(6980),o=r(4913).f,c=r(9297),l=r(679),h=r(3167),u=r(2603),d=r(5002),f=r(6193),g=r(3724),p=r(6395),m="DOMException",b=i("Error"),y=i(m),w=function DOMException(){l(this,v);var e=arguments.length,t=u(e<1?void 0:arguments[0]),r=u(e<2?void 0:arguments[1],"Error"),a=new y(t,r),n=new b(t);n.name=m;o(a,"stack",s(1,f(n.stack,1)));h(a,this,w);return a},v=w.prototype=y.prototype,x="stack"in new b(m),S="stack"in new y(1,2),k=y&&g&&Object.getOwnPropertyDescriptor(n,m),C=!(!k||k.writable&&k.configurable),T=x&&!C&&!S;a({global:!0,constructor:!0,forced:p||T},{DOMException:T?w:y});var _=i(m),O=_.prototype;if(O.constructor!==_){p||o(O,"constructor",s(1,_));for(var M in d)if(c(d,M)){var R=d[M],D=R.s;c(_,D)||o(_,D,s(6,R.c))}}},5002:e=>{e.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},5024:(e,t,r)=>{var a=r(6518),n=r(3650);a({target:"Set",proto:!0,real:!0,forced:!r(4916)("symmetricDifference")},{symmetricDifference:n})},5031:(e,t,r)=>{var a=r(7751),n=r(9504),i=r(8480),s=r(3717),o=r(8551),c=n([].concat);e.exports=a("Reflect","ownKeys")||function ownKeys(e){var t=i.f(o(e)),r=s.f;return r?c(t,r(e)):t}},5044:(e,t,r)=>{var a=r(4644),n=r(4373),i=r(5854),s=r(6955),o=r(9565),c=r(9504),l=r(9039),h=a.aTypedArray,u=a.exportTypedArrayMethod,d=c("".slice);u("fill",(function fill(e){var t=arguments.length;h(this);var r="Big"===d(s(this),0,3)?i(e):+e;return o(n,this,r,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),l((function(){var e=0;new Int8Array(2).fill({valueOf:function(){return e++}});return 1!==e})))},5169:(e,t,r)=>{var a=r(3238),n=TypeError;e.exports=function(e){if(a(e))throw new n("ArrayBuffer is detached");return e}},5170:(e,t,r)=>{var a=r(6706),n=r(4402);e.exports=a(n.proto,"size","get")||function(e){return e.size}},5370:(e,t,r)=>{var a=r(6198);e.exports=function(e,t,r){for(var n=0,i=arguments.length>2?r:a(t),s=new e(i);i>n;)s[n]=t[n++];return s}},5397:(e,t,r)=>{var a=r(7055),n=r(7750);e.exports=function(e){return a(n(e))}},5610:(e,t,r)=>{var a=r(1291),n=Math.max,i=Math.min;e.exports=function(e,t){var r=a(e);return r<0?n(r+t,0):i(r,t)}},5623:(e,t,r)=>{var a=r(6518),n=r(4576),i=r(9504),s=r(4154),o=r(5169),c=i(1..toString);n.Uint8Array&&a({target:"Uint8Array",proto:!0},{toHex:function toHex(){s(this);o(this.buffer);for(var e="",t=0,r=this.length;t{var a=r(4576),n=r(9504),i=r(6706),s=r(7696),o=r(5169),c=r(7394),l=r(4483),h=r(1548),u=a.structuredClone,d=a.ArrayBuffer,f=a.DataView,g=Math.min,p=d.prototype,m=f.prototype,b=n(p.slice),y=i(p,"resizable","get"),w=i(p,"maxByteLength","get"),v=n(m.getInt8),x=n(m.setInt8);e.exports=(h||l)&&function(e,t,r){var a,n=c(e),i=void 0===t?n:s(t),p=!y||!y(e);o(e);if(h){e=u(e,{transfer:[e]});if(n===i&&(r||p))return e}if(n>=i&&(!r||p))a=b(e,0,i);else{var m=r&&!p&&w?{maxByteLength:w(e)}:void 0;a=new d(i,m);for(var S=new f(e),k=new f(a),C=g(i,n),T=0;T{var a=r(7629);e.exports=function(e,t){return a[e]||(a[e]=t||{})}},5781:(e,t,r)=>{var a=r(6518),n=r(7751),i=r(2812),s=r(655),o=r(7416),c=n("URL");a({target:"URL",stat:!0,forced:!o},{parse:function parse(e){var t=i(arguments.length,1),r=s(e),a=t<2||void 0===arguments[1]?void 0:s(arguments[1]);try{return new c(r,a)}catch(e){return null}}})},5854:(e,t,r)=>{var a=r(2777),n=TypeError;e.exports=function(e){var t=a(e,"number");if("number"==typeof t)throw new n("Can't convert number to bigint");return BigInt(t)}},5876:(e,t,r)=>{var a=r(6518),n=r(3838);a({target:"Set",proto:!0,real:!0,forced:!r(4916)("isSubsetOf",(function(e){return e}))},{isSubsetOf:n})},5917:(e,t,r)=>{var a=r(3724),n=r(9039),i=r(4055);e.exports=!a&&!n((function(){return 7!==Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},5966:(e,t,r)=>{var a=r(9306),n=r(4117);e.exports=function(e,t){var r=e[t];return n(r)?void 0:a(r)}},6043:(e,t,r)=>{var a=r(9306),n=TypeError,PromiseCapability=function(e){var t,r;this.promise=new e((function(e,a){if(void 0!==t||void 0!==r)throw new n("Bad Promise constructor");t=e;r=a}));this.resolve=a(t);this.reject=a(r)};e.exports.f=function(e){return new PromiseCapability(e)}},6080:(e,t,r)=>{var a=r(7476),n=r(9306),i=r(616),s=a(a.bind);e.exports=function(e,t){n(e);return void 0===t?e:i?s(e,t):function(){return e.apply(t,arguments)}}},6119:(e,t,r)=>{var a=r(5745),n=r(3392),i=a("keys");e.exports=function(e){return i[e]||(i[e]=n(e))}},6193:(e,t,r)=>{var a=r(9504),n=Error,i=a("".replace),s=String(new n("zxcasd").stack),o=/\n\s*at [^:]*:[^\n]*/,c=o.test(s);e.exports=function(e,t){if(c&&"string"==typeof e&&!n.prepareStackTrace)for(;t--;)e=i(e,o,"");return e}},6198:(e,t,r)=>{var a=r(8014);e.exports=function(e){return a(e.length)}},6269:e=>{e.exports={}},6279:(e,t,r)=>{var a=r(6840);e.exports=function(e,t,r){for(var n in t)a(e,n,t[n],r);return e}},6280:(e,t,r)=>{var a=r(6518),n=r(4576),i=r(8745),s=r(4601),o="WebAssembly",c=n[o],l=7!==new Error("e",{cause:7}).cause,exportGlobalErrorCauseWrapper=function(e,t){var r={};r[e]=s(e,t,l);a({global:!0,constructor:!0,arity:1,forced:l},r)},exportWebAssemblyErrorCauseWrapper=function(e,t){if(c&&c[e]){var r={};r[e]=s(o+"."+e,t,l);a({target:o,stat:!0,constructor:!0,arity:1,forced:l},r)}};exportGlobalErrorCauseWrapper("Error",(function(e){return function Error(t){return i(e,this,arguments)}}));exportGlobalErrorCauseWrapper("EvalError",(function(e){return function EvalError(t){return i(e,this,arguments)}}));exportGlobalErrorCauseWrapper("RangeError",(function(e){return function RangeError(t){return i(e,this,arguments)}}));exportGlobalErrorCauseWrapper("ReferenceError",(function(e){return function ReferenceError(t){return i(e,this,arguments)}}));exportGlobalErrorCauseWrapper("SyntaxError",(function(e){return function SyntaxError(t){return i(e,this,arguments)}}));exportGlobalErrorCauseWrapper("TypeError",(function(e){return function TypeError(t){return i(e,this,arguments)}}));exportGlobalErrorCauseWrapper("URIError",(function(e){return function URIError(t){return i(e,this,arguments)}}));exportWebAssemblyErrorCauseWrapper("CompileError",(function(e){return function CompileError(t){return i(e,this,arguments)}}));exportWebAssemblyErrorCauseWrapper("LinkError",(function(e){return function LinkError(t){return i(e,this,arguments)}}));exportWebAssemblyErrorCauseWrapper("RuntimeError",(function(e){return function RuntimeError(t){return i(e,this,arguments)}}))},6319:(e,t,r)=>{var a=r(8551),n=r(9539);e.exports=function(e,t,r,i){try{return i?t(a(r)[0],r[1]):t(r)}catch(t){n(e,"throw",t)}}},6395:e=>{e.exports=!1},6469:(e,t,r)=>{var a=r(8227),n=r(2360),i=r(4913).f,s=a("unscopables"),o=Array.prototype;void 0===o[s]&&i(o,s,{configurable:!0,value:n(null)});e.exports=function(e){o[s][e]=!0}},6518:(e,t,r)=>{var a=r(4576),n=r(7347).f,i=r(6699),s=r(6840),o=r(9433),c=r(7740),l=r(2796);e.exports=function(e,t){var r,h,u,d,f,g=e.target,p=e.global,m=e.stat;if(r=p?a:m?a[g]||o(g,{}):a[g]&&a[g].prototype)for(h in t){d=t[h];u=e.dontCallGetSet?(f=n(r,h))&&f.value:r[h];if(!l(p?h:g+(m?".":"#")+h,e.forced)&&void 0!==u){if(typeof d==typeof u)continue;c(d,u)}(e.sham||u&&u.sham)&&i(d,"sham",!0);s(r,h,d,e)}}},6573:(e,t,r)=>{var a=r(3724),n=r(2106),i=r(3238),s=ArrayBuffer.prototype;a&&!("detached"in s)&&n(s,"detached",{configurable:!0,get:function detached(){return i(this)}})},6699:(e,t,r)=>{var a=r(3724),n=r(4913),i=r(6980);e.exports=a?function(e,t,r){return n.f(e,t,i(1,r))}:function(e,t,r){e[t]=r;return e}},6706:(e,t,r)=>{var a=r(9504),n=r(9306);e.exports=function(e,t,r){try{return a(n(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(e){}}},6801:(e,t,r)=>{var a=r(3724),n=r(8686),i=r(4913),s=r(8551),o=r(5397),c=r(1072);t.f=a&&!n?Object.defineProperties:function defineProperties(e,t){s(e);for(var r,a=o(t),n=c(t),l=n.length,h=0;l>h;)i.f(e,r=n[h++],a[r]);return e}},6823:e=>{var t=String;e.exports=function(e){try{return t(e)}catch(e){return"Object"}}},6837:e=>{var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw t("Maximum allowed index exceeded");return e}},6840:(e,t,r)=>{var a=r(4901),n=r(4913),i=r(283),s=r(9433);e.exports=function(e,t,r,o){o||(o={});var c=o.enumerable,l=void 0!==o.name?o.name:t;a(r)&&i(r,l,o);if(o.global)c?e[t]=r:s(t,r);else{try{o.unsafe?e[t]&&(c=!0):delete e[t]}catch(e){}c?e[t]=r:n.f(e,t,{value:r,enumerable:!1,configurable:!o.nonConfigurable,writable:!o.nonWritable})}return e}},6955:(e,t,r)=>{var a=r(2140),n=r(4901),i=r(2195),s=r(8227)("toStringTag"),o=Object,c="Arguments"===i(function(){return arguments}());e.exports=a?i:function(e){var t,r,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=o(e),s))?r:c?i(t):"Object"===(a=i(t))&&n(t.callee)?"Arguments":a}},6969:(e,t,r)=>{var a=r(2777),n=r(757);e.exports=function(e){var t=a(e,"string");return n(t)?t:t+""}},6980:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},7040:(e,t,r)=>{var a=r(4495);e.exports=a&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},7055:(e,t,r)=>{var a=r(9504),n=r(9039),i=r(2195),s=Object,o=a("".split);e.exports=n((function(){return!s("z").propertyIsEnumerable(0)}))?function(e){return"String"===i(e)?o(e,""):s(e)}:s},7080:(e,t,r)=>{var a=r(4402).has;e.exports=function(e){a(e);return e}},7347:(e,t,r)=>{var a=r(3724),n=r(9565),i=r(8773),s=r(6980),o=r(5397),c=r(6969),l=r(9297),h=r(5917),u=Object.getOwnPropertyDescriptor;t.f=a?u:function getOwnPropertyDescriptor(e,t){e=o(e);t=c(t);if(h)try{return u(e,t)}catch(e){}if(l(e,t))return s(!n(i.f,e,t),e[t])}},7357:(e,t,r)=>{var a=r(6518),n=r(9504),i=r(7750),s=r(1291),o=r(655),c=r(9039),l=n("".charAt);a({target:"String",proto:!0,forced:c((function(){return"\ud842"!=="𠮷".at(-2)}))},{at:function at(e){var t=o(i(this)),r=t.length,a=s(e),n=a>=0?a:r+a;return n<0||n>=r?void 0:l(t,n)}})},7394:(e,t,r)=>{var a=r(4576),n=r(6706),i=r(2195),s=a.ArrayBuffer,o=a.TypeError;e.exports=s&&n(s.prototype,"byteLength","get")||function(e){if("ArrayBuffer"!==i(e))throw new o("ArrayBuffer expected");return e.byteLength}},7416:(e,t,r)=>{var a=r(9039),n=r(8227),i=r(3724),s=r(6395),o=n("iterator");e.exports=!a((function(){var e=new URL("b?a=1&b=2&c=3","https://a"),t=e.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),a="";e.pathname="c%20d";t.forEach((function(e,r){t.delete("b");a+=r+e}));r.delete("a",2);r.delete("b",void 0);return s&&(!e.toJSON||!r.has("a",1)||r.has("a",2)||!r.has("a",void 0)||r.has("b"))||!t.size&&(s||!i)||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[o]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==a||"x"!==new URL("https://x",void 0).host}))},7467:(e,t,r)=>{var a=r(7628),n=r(4644),i=n.aTypedArray,s=n.exportTypedArrayMethod,o=n.getTypedArrayConstructor;s("toReversed",(function toReversed(){return a(i(this),o(this))}))},7476:(e,t,r)=>{var a=r(2195),n=r(9504);e.exports=function(e){if("Function"===a(e))return n(e)}},7566:(e,t,r)=>{var a=r(6840),n=r(9504),i=r(655),s=r(2812),o=URLSearchParams,c=o.prototype,l=n(c.getAll),h=n(c.has),u=new o("a=1");!u.has("a",2)&&u.has("a",void 0)||a(c,"has",(function has(e){var t=arguments.length,r=t<2?void 0:arguments[1];if(t&&void 0===r)return h(this,e);var a=l(this,e);s(t,1);for(var n=i(r),o=0;o{var a=r(34),n=r(6699);e.exports=function(e,t){a(t)&&"cause"in t&&n(e,"cause",t.cause)}},7588:(e,t,r)=>{var a=r(6518),n=r(9565),i=r(2652),s=r(9306),o=r(8551),c=r(1767),l=r(9539),h=r(4549)("forEach",TypeError);a({target:"Iterator",proto:!0,real:!0,forced:h},{forEach:function forEach(e){o(this);try{s(e)}catch(e){l(this,"throw",e)}if(h)return n(h,this,e);var t=c(this),r=0;i(t,(function(t){e(t,r++)}),{IS_RECORD:!0})}})},7628:(e,t,r)=>{var a=r(6198);e.exports=function(e,t){for(var r=a(e),n=new t(r),i=0;i{var a=r(6395),n=r(4576),i=r(9433),s="__core-js_shared__",o=e.exports=n[s]||i(s,{});(o.versions||(o.versions=[])).push({version:"3.42.0",mode:a?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.42.0/LICENSE",source:"https://github.com/zloirock/core-js"})},7642:(e,t,r)=>{var a=r(6518),n=r(3440);a({target:"Set",proto:!0,real:!0,forced:!r(4916)("difference",(function(e){return 0===e.size}))},{difference:n})},7657:(e,t,r)=>{var a,n,i,s=r(9039),o=r(4901),c=r(34),l=r(2360),h=r(2787),u=r(6840),d=r(8227),f=r(6395),g=d("iterator"),p=!1;[].keys&&("next"in(i=[].keys())?(n=h(h(i)))!==Object.prototype&&(a=n):p=!0);!c(a)||s((function(){var e={};return a[g].call(e)!==e}))?a={}:f&&(a=l(a));o(a[g])||u(a,g,(function(){return this}));e.exports={IteratorPrototype:a,BUGGY_SAFARI_ITERATORS:p}},7680:(e,t,r)=>{var a=r(9504);e.exports=a([].slice)},7696:(e,t,r)=>{var a=r(1291),n=r(8014),i=RangeError;e.exports=function(e){if(void 0===e)return 0;var t=a(e),r=n(t);if(t!==r)throw new i("Wrong length or index");return r}},7740:(e,t,r)=>{var a=r(9297),n=r(5031),i=r(7347),s=r(4913);e.exports=function(e,t,r){for(var o=n(t),c=s.f,l=i.f,h=0;h{var a=r(4117),n=TypeError;e.exports=function(e){if(a(e))throw new n("Can't call method on "+e);return e}},7751:(e,t,r)=>{var a=r(4576),n=r(4901);e.exports=function(e,t){return arguments.length<2?(r=a[e],n(r)?r:void 0):a[e]&&a[e][t];var r}},7811:e=>{e.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},7936:(e,t,r)=>{var a=r(6518),n=r(5636);n&&a({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function transferToFixedLength(){return n(this,arguments.length?arguments[0]:void 0,!1)}})},7979:(e,t,r)=>{var a=r(8551);e.exports=function(){var e=a(this),t="";e.hasIndices&&(t+="d");e.global&&(t+="g");e.ignoreCase&&(t+="i");e.multiline&&(t+="m");e.dotAll&&(t+="s");e.unicode&&(t+="u");e.unicodeSets&&(t+="v");e.sticky&&(t+="y");return t}},8004:(e,t,r)=>{var a=r(6518),n=r(9039),i=r(8750);a({target:"Set",proto:!0,real:!0,forced:!r(4916)("intersection",(function(e){return 2===e.size&&e.has(1)&&e.has(2)}))||n((function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))}))},{intersection:i})},8014:(e,t,r)=>{var a=r(1291),n=Math.min;e.exports=function(e){var t=a(e);return t>0?n(t,9007199254740991):0}},8100:(e,t,r)=>{var a=r(6518),n=r(5636);n&&a({target:"ArrayBuffer",proto:!0},{transfer:function transfer(){return n(this,arguments.length?arguments[0]:void 0,!0)}})},8107:(e,t,r)=>{var a=r(6518),n=r(8981),i=r(6198),s=r(1291),o=r(6469);a({target:"Array",proto:!0},{at:function at(e){var t=n(this),r=i(t),a=s(e),o=a>=0?a:r+a;return o<0||o>=r?void 0:t[o]}});o("at")},8111:(e,t,r)=>{var a=r(6518),n=r(4576),i=r(679),s=r(8551),o=r(4901),c=r(2787),l=r(2106),h=r(2278),u=r(9039),d=r(9297),f=r(8227),g=r(7657).IteratorPrototype,p=r(3724),m=r(6395),b="constructor",y="Iterator",w=f("toStringTag"),v=TypeError,x=n[y],S=m||!o(x)||x.prototype!==g||!u((function(){x({})})),k=function Iterator(){i(this,g);if(c(this)===g)throw new v("Abstract class Iterator not directly constructable")},defineIteratorPrototypeAccessor=function(e,t){p?l(g,e,{configurable:!0,get:function(){return t},set:function(t){s(this);if(this===g)throw new v("You can't redefine this property");d(this,e)?this[e]=t:h(this,e,t)}}):g[e]=t};d(g,w)||defineIteratorPrototypeAccessor(w,y);!S&&d(g,b)&&g[b]!==Object||defineIteratorPrototypeAccessor(b,k);k.prototype=g;a({global:!0,constructor:!0,forced:S},{Iterator:k})},8140:(e,t,r)=>{var a=r(4644),n=r(6198),i=r(1291),s=a.aTypedArray;(0,a.exportTypedArrayMethod)("at",(function at(e){var t=s(this),r=n(t),a=i(e),o=a>=0?a:r+a;return o<0||o>=r?void 0:t[o]}))},8227:(e,t,r)=>{var a=r(4576),n=r(5745),i=r(9297),s=r(3392),o=r(4495),c=r(7040),l=a.Symbol,h=n("wks"),u=c?l.for||l:l&&l.withoutSetter||s;e.exports=function(e){i(h,e)||(h[e]=o&&i(l,e)?l[e]:u("Symbol."+e));return h[e]}},8229:(e,t,r)=>{var a=r(9590),n=RangeError;e.exports=function(e,t){var r=a(e);if(r%t)throw new n("Wrong offset");return r}},8237:(e,t,r)=>{var a=r(6518),n=r(2652),i=r(9306),s=r(8551),o=r(1767),c=r(9539),l=r(4549),h=r(8745),u=r(9039),d=TypeError,f=u((function(){[].keys().reduce((function(){}),void 0)})),g=!f&&l("reduce",d);a({target:"Iterator",proto:!0,real:!0,forced:f||g},{reduce:function reduce(e){s(this);try{i(e)}catch(e){c(this,"throw",e)}var t=arguments.length<2,r=t?void 0:arguments[1];if(g)return h(g,this,t?[e]:[e,r]);var a=o(this),l=0;n(a,(function(a){if(t){t=!1;r=a}else r=e(r,a,l);l++}),{IS_RECORD:!0});if(t)throw new d("Reduce of empty iterator with no initial value");return r}})},8469:(e,t,r)=>{var a=r(9504),n=r(507),i=r(4402),s=i.Set,o=i.proto,c=a(o.forEach),l=a(o.keys),h=l(new s).next;e.exports=function(e,t,r){return r?n({iterator:l(e),next:h},t):c(e,t)}},8480:(e,t,r)=>{var a=r(1828),n=r(8727).concat("length","prototype");t.f=Object.getOwnPropertyNames||function getOwnPropertyNames(e){return a(e,n)}},8527:(e,t,r)=>{var a=r(7080),n=r(4402).has,i=r(5170),s=r(3789),o=r(507),c=r(9539);e.exports=function isSupersetOf(e){var t=a(this),r=s(e);if(i(t){var a=r(34),n=String,i=TypeError;e.exports=function(e){if(a(e))return e;throw new i(n(e)+" is not an object")}},8574:(e,t,r)=>{var a=r(4215);e.exports="NODE"===a},8622:(e,t,r)=>{var a=r(4576),n=r(4901),i=a.WeakMap;e.exports=n(i)&&/native code/.test(String(i))},8646:(e,t,r)=>{var a=r(9565),n=r(8551),i=r(1767),s=r(851);e.exports=function(e,t){t&&"string"==typeof e||n(e);var r=s(e);return i(n(void 0!==r?a(r,e):e))}},8686:(e,t,r)=>{var a=r(3724),n=r(9039);e.exports=a&&n((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},8721:(e,t,r)=>{var a=r(3724),n=r(9504),i=r(2106),s=URLSearchParams.prototype,o=n(s.forEach);a&&!("size"in s)&&i(s,"size",{get:function size(){var e=0;o(this,(function(){e++}));return e},configurable:!0,enumerable:!0})},8727:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},8745:(e,t,r)=>{var a=r(616),n=Function.prototype,i=n.apply,s=n.call;e.exports="object"==typeof Reflect&&Reflect.apply||(a?s.bind(i):function(){return s.apply(i,arguments)})},8750:(e,t,r)=>{var a=r(7080),n=r(4402),i=r(5170),s=r(3789),o=r(8469),c=r(507),l=n.Set,h=n.add,u=n.has;e.exports=function intersection(e){var t=a(this),r=s(e),n=new l;i(t)>r.size?c(r.getIterator(),(function(e){u(t,e)&&h(n,e)})):o(t,(function(e){r.includes(e)&&h(n,e)}));return n}},8773:(e,t)=>{var r={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,n=a&&!r.call({1:2},1);t.f=n?function propertyIsEnumerable(e){var t=a(this,e);return!!t&&t.enumerable}:r},8845:(e,t,r)=>{var a=r(4576),n=r(9565),i=r(4644),s=r(6198),o=r(8229),c=r(8981),l=r(9039),h=a.RangeError,u=a.Int8Array,d=u&&u.prototype,f=d&&d.set,g=i.aTypedArray,p=i.exportTypedArrayMethod,m=!l((function(){var e=new Uint8ClampedArray(2);n(f,e,{length:1,0:3},1);return 3!==e[1]})),b=m&&i.NATIVE_ARRAY_BUFFER_VIEWS&&l((function(){var e=new u(2);e.set(1);e.set("2",1);return 0!==e[0]||2!==e[1]}));p("set",(function set(e){g(this);var t=o(arguments.length>1?arguments[1]:void 0,1),r=c(e);if(m)return n(f,this,r,t);var a=this.length,i=s(r),l=0;if(i+t>a)throw new h("Wrong length");for(;l{var a=r(7750),n=Object;e.exports=function(e){return n(a(e))}},9039:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},9143:(e,t,r)=>{var a=r(4576),n=r(9504),i=r(3972),s=r(3463),o=r(9297),c=r(2804),l=r(944),h=r(5169),u=c.c2i,d=c.c2iUrl,f=a.SyntaxError,g=a.TypeError,p=n("".charAt),skipAsciiWhitespace=function(e,t){for(var r=e.length;t>16&255,n>>8&255,255&n];if(2===a){if(r&&0!==i[1])throw new f("Extra bits");return[i[0]]}if(3===a){if(r&&0!==i[2])throw new f("Extra bits");return[i[0],i[1]]}return i},writeBytes=function(e,t,r){for(var a=t.length,n=0;n0){if("stop-before-partial"===c)break;if("loose"!==c)throw new f("Missing padding");if(1===w.length)throw new f("Malformed padding: exactly one additional character");b=writeBytes(m,decodeBase64Chunk(w,n,!1),b)}y=e.length;break}var x=p(e,v);++v;if("="===x){if(w.length<2)throw new f("Padding is too early");v=skipAsciiWhitespace(e,v);if(2===w.length){if(v===e.length){if("stop-before-partial"===c)break;throw new f("Malformed padding: only one =")}if("="===p(e,v)){++v;v=skipAsciiWhitespace(e,v)}}if(v{var a=r(4402),n=r(8469),i=a.Set,s=a.add;e.exports=function(e){var t=new i;n(e,(function(e){s(t,e)}));return t}},9297:(e,t,r)=>{var a=r(9504),n=r(8981),i=a({}.hasOwnProperty);e.exports=Object.hasOwn||function hasOwn(e,t){return i(n(e),t)}},9306:(e,t,r)=>{var a=r(4901),n=r(6823),i=TypeError;e.exports=function(e){if(a(e))return e;throw new i(n(e)+" is not a function")}},9429:(e,t,r)=>{var a=r(4576),n=r(8574);e.exports=function(e){if(n){try{return a.process.getBuiltinModule(e)}catch(e){}try{return Function('return require("'+e+'")')()}catch(e){}}}},9432:(e,t,r)=>{var a=r(6518),n=r(4576),i=r(5370),s=r(9143),o=n.Uint8Array;o&&a({target:"Uint8Array",stat:!0},{fromBase64:function fromBase64(e){var t=s(e,arguments.length>1?arguments[1]:void 0,null,9007199254740991);return i(o,t.bytes)}})},9433:(e,t,r)=>{var a=r(4576),n=Object.defineProperty;e.exports=function(e,t){try{n(a,e,{value:t,configurable:!0,writable:!0})}catch(r){a[e]=t}return t}},9462:(e,t,r)=>{var a=r(9565),n=r(2360),i=r(6699),s=r(6279),o=r(8227),c=r(1181),l=r(5966),h=r(7657).IteratorPrototype,u=r(2529),d=r(9539),f=o("toStringTag"),g="IteratorHelper",p="WrapForValidIterator",m=c.set,createIteratorProxyPrototype=function(e){var t=c.getterFor(e?p:g);return s(n(h),{next:function next(){var r=t(this);if(e)return r.nextHandler();if(r.done)return u(void 0,!0);try{var a=r.nextHandler();return r.returnHandlerResult?a:u(a,r.done)}catch(e){r.done=!0;throw e}},return:function(){var r=t(this),n=r.iterator;r.done=!0;if(e){var i=l(n,"return");return i?a(i,n):u(void 0,!0)}if(r.inner)try{d(r.inner.iterator,"normal")}catch(e){return d(n,"throw",e)}n&&d(n,"normal");return u(void 0,!0)}})},b=createIteratorProxyPrototype(!0),y=createIteratorProxyPrototype(!1);i(y,f,"Iterator Helper");e.exports=function(e,t,r){var a=function Iterator(a,n){if(n){n.iterator=a.iterator;n.next=a.next}else n=a;n.type=t?p:g;n.returnHandlerResult=!!r;n.nextHandler=e;n.counter=0;n.done=!1;m(this,n)};a.prototype=t?b:y;return a}},9479:(e,t,r)=>{var a=r(4576),n=r(3724),i=r(2106),s=r(7979),o=r(9039),c=a.RegExp,l=c.prototype;n&&o((function(){var e=!0;try{c(".","d")}catch(t){e=!1}var t={},r="",a=e?"dgimsy":"gimsy",addGetter=function(e,a){Object.defineProperty(t,e,{get:function(){r+=a;return!0}})},n={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};e&&(n.hasIndices="d");for(var i in n)addGetter(i,n[i]);return Object.getOwnPropertyDescriptor(l,"flags").get.call(t)!==a||r!==a}))&&i(l,"flags",{configurable:!0,get:s})},9504:(e,t,r)=>{var a=r(616),n=Function.prototype,i=n.call,s=a&&n.bind.bind(i,i);e.exports=a?s:function(e){return function(){return i.apply(e,arguments)}}},9519:(e,t,r)=>{var a,n,i=r(4576),s=r(2839),o=i.process,c=i.Deno,l=o&&o.versions||c&&c.version,h=l&&l.v8;h&&(n=(a=h.split("."))[0]>0&&a[0]<4?1:+(a[0]+a[1]));!n&&s&&(!(a=s.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=s.match(/Chrome\/(\d+)/))&&(n=+a[1]);e.exports=n},9539:(e,t,r)=>{var a=r(9565),n=r(8551),i=r(5966);e.exports=function(e,t,r){var s,o;n(e);try{if(!(s=i(e,"return"))){if("throw"===t)throw r;return r}s=a(s,e)}catch(e){o=!0;s=e}if("throw"===t)throw r;if(o)throw s;n(s);return r}},9565:(e,t,r)=>{var a=r(616),n=Function.prototype.call;e.exports=a?n.bind(n):function(){return n.apply(n,arguments)}},9577:(e,t,r)=>{var a=r(9928),n=r(4644),i=r(1108),s=r(1291),o=r(5854),c=n.aTypedArray,l=n.getTypedArrayConstructor,h=n.exportTypedArrayMethod,u=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(e){return 8===e}}();h("with",{with:function(e,t){var r=c(this),n=s(e),h=i(r)?o(t):+t;return a(r,l(r),n,h)}}.with,!u)},9590:(e,t,r)=>{var a=r(1291),n=RangeError;e.exports=function(e){var t=a(e);if(t<0)throw new n("The argument can't be less than 0");return t}},9617:(e,t,r)=>{var a=r(5397),n=r(5610),i=r(6198),createMethod=function(e){return function(t,r,s){var o=a(t),c=i(o);if(0===c)return!e&&-1;var l,h=n(s,c);if(e&&r!=r){for(;c>h;)if((l=o[h++])!=l)return!0}else for(;c>h;h++)if((e||h in o)&&o[h]===r)return e||h||0;return!e&&-1}};e.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},9631:(e,t,r)=>{var a=r(6518),n=r(4576),i=r(9504),s=r(3972),o=r(4154),c=r(5169),l=r(2804),h=r(944),u=l.i2c,d=l.i2cUrl,f=i("".charAt);n.Uint8Array&&a({target:"Uint8Array",proto:!0},{toBase64:function toBase64(){var e=o(this),t=arguments.length?s(arguments[0]):void 0,r="base64"===h(t)?u:d,a=!!t&&!!t.omitPadding;c(this.buffer);for(var n,i="",l=0,g=e.length,at=function(e){return f(r,n>>6*e&63)};l+2{var a=r(6518),n=r(4576),i=r(3463),s=r(4154),o=r(5169),c=r(2303);n.Uint8Array&&a({target:"Uint8Array",proto:!0},{setFromHex:function setFromHex(e){s(this);i(e);o(this.buffer);var t=c(e,this).read;return{read:t,written:t/2}}})},9928:(e,t,r)=>{var a=r(6198),n=r(1291),i=RangeError;e.exports=function(e,t,r,s){var o=a(e),c=n(r),l=c<0?o+c:c;if(l>=o||l<0)throw new i("Incorrect index");for(var h=new t(o),u=0;u=Fe&&console.log(`Info: ${e}`)}function warn(e){br>=Ce&&console.log(`Warning: ${e}`)}function unreachable(e){throw new Error(e)}function assert(e,t){e||unreachable(t)}function createValidAbsoluteUrl(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!e)return null;if(r&&"string"==typeof e){if(r.addDefaultProtocol&&e.startsWith("www.")){const t=e.match(/\./g);t?.length>=2&&(e=`http://${e}`)}if(r.tryConvertEncoding)try{e=stringToUTF8String(e)}catch{}}const a=t?URL.parse(e,t):URL.parse(e);return function _isValidProtocol(e){switch(e?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(a)?a:null}function shadow(e,t,r){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];Object.defineProperty(e,t,{value:r,enumerable:!a,configurable:!0,writable:!1});return r}const yr=function BaseExceptionClosure(){function BaseException(e,t){this.message=e;this.name=t}BaseException.prototype=new Error;BaseException.constructor=BaseException;return BaseException}();class PasswordException extends yr{constructor(e,t){super(e,"PasswordException");this.code=t}}class UnknownErrorException extends yr{constructor(e,t){super(e,"UnknownErrorException");this.details=t}}class InvalidPDFException extends yr{constructor(e){super(e,"InvalidPDFException")}}class ResponseException extends yr{constructor(e,t,r){super(e,"ResponseException");this.status=t;this.missing=r}}class FormatError extends yr{constructor(e){super(e,"FormatError")}}class AbortException extends yr{constructor(e){super(e,"AbortException")}}function bytesToString(e){"object"==typeof e&&void 0!==e?.length||unreachable("Invalid argument for bytesToString");const t=e.length,r=8192;if(t>24&255,e>>16&255,e>>8&255,255&e)}function objectSize(e){return Object.keys(e).length}class FeatureTest{static get isLittleEndian(){return shadow(this,"isLittleEndian",function isLittleEndian(){const e=new Uint8Array(4);e[0]=1;return 1===new Uint32Array(e.buffer,0,1)[0]}())}static get isEvalSupported(){return shadow(this,"isEvalSupported",function isEvalSupported(){try{new Function("");return!0}catch{return!1}}())}static get isOffscreenCanvasSupported(){return shadow(this,"isOffscreenCanvasSupported","undefined"!=typeof OffscreenCanvas)}static get isImageDecoderSupported(){return shadow(this,"isImageDecoderSupported","undefined"!=typeof ImageDecoder)}static get platform(){const{platform:e,userAgent:t}=navigator;return shadow(this,"platform",{isAndroid:t.includes("Android"),isLinux:e.includes("Linux"),isMac:e.includes("Mac"),isWindows:e.includes("Win"),isFirefox:t.includes("Firefox")})}static get isCSSRoundSupported(){return shadow(this,"isCSSRoundSupported",globalThis.CSS?.supports?.("width: round(1.5px, 1px)"))}}const wr=Array.from(Array(256).keys(),(e=>e.toString(16).padStart(2,"0")));function uint8(e){return e<0?0:e>255?255:Math.round(e)}function rotateRGB180(e,t,r){const[a,n,i]=function rgbToHsv(e,t,r){e/=255;t/=255;r/=255;const a=Math.max(e,t,r),n=Math.min(e,t,r),i=a,s=a-n,o=0===a?0:s/a;let c;if(a===n)c=0;else{switch(a){case e:c=(t-r)/s+(tt+t+r+r+a+a));const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]:null}class Util{static makeHexColor(e,t,r){return`#${wr[e]}${wr[t]}${wr[r]}`}static hexToRgb(e){return hexToRgb(e)}static invertHexColor(e){const[t,r,a]=hexToRgb(e),[n,i,s]=rotateRGB180(255-t,255-r,255-a);return`#${wr[n]}${wr[i]}${wr[s]}`}static scaleMinMax(e,t){let r;if(e[0]){if(e[0]<0){r=t[0];t[0]=t[2];t[2]=r}t[0]*=e[0];t[2]*=e[0];if(e[3]<0){r=t[1];t[1]=t[3];t[3]=r}t[1]*=e[3];t[3]*=e[3]}else{r=t[0];t[0]=t[1];t[1]=r;r=t[2];t[2]=t[3];t[3]=r;if(e[1]<0){r=t[1];t[1]=t[3];t[3]=r}t[1]*=e[1];t[3]*=e[1];if(e[2]<0){r=t[0];t[0]=t[2];t[2]=r}t[0]*=e[2];t[2]*=e[2]}t[0]+=e[4];t[1]+=e[5];t[2]+=e[4];t[3]+=e[5]}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static applyTransform(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const a=e[r],n=e[r+1];e[r]=a*t[0]+n*t[2]+t[4];e[r+1]=a*t[1]+n*t[3]+t[5]}static applyTransformToBezier(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const a=t[0],n=t[1],i=t[2],s=t[3],o=t[4],c=t[5];for(let t=0;t<6;t+=2){const l=e[r+t],h=e[r+t+1];e[r+t]=l*a+h*i+o;e[r+t+1]=l*n+h*s+c}}static applyInverseTransform(e,t){const r=e[0],a=e[1],n=t[0]*t[3]-t[1]*t[2];e[0]=(r*t[3]-a*t[2]+t[2]*t[5]-t[4]*t[3])/n;e[1]=(-r*t[1]+a*t[0]+t[4]*t[1]-t[5]*t[0])/n}static axialAlignedBoundingBox(e,t,r){const a=t[0],n=t[1],i=t[2],s=t[3],o=t[4],c=t[5],l=e[0],h=e[1],u=e[2],d=e[3];let f=a*l+o,g=f,p=a*u+o,m=p,b=s*h+c,y=b,w=s*d+c,v=w;if(0!==n||0!==i){const e=n*l,t=n*u,r=i*h,a=i*d;f+=r;m+=r;p+=a;g+=a;b+=e;v+=e;w+=t;y+=t}r[0]=Math.min(r[0],f,p,g,m);r[1]=Math.min(r[1],b,w,y,v);r[2]=Math.max(r[2],f,p,g,m);r[3]=Math.max(r[3],b,w,y,v)}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e,t){const r=e[0],a=e[1],n=e[2],i=e[3],s=r**2+a**2,o=r*n+a*i,c=n**2+i**2,l=(s+c)/2,h=Math.sqrt(l**2-(s*c-o**2));t[0]=Math.sqrt(l+h||1);t[1]=Math.sqrt(l-h||1)}static normalizeRect(e){const t=e.slice(0);if(e[0]>e[2]){t[0]=e[2];t[2]=e[0]}if(e[1]>e[3]){t[1]=e[3];t[3]=e[1]}return t}static intersect(e,t){const r=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),a=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(r>a)return null;const n=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),i=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return n>i?null:[r,n,a,i]}static pointBoundingBox(e,t,r){r[0]=Math.min(r[0],e);r[1]=Math.min(r[1],t);r[2]=Math.max(r[2],e);r[3]=Math.max(r[3],t)}static rectBoundingBox(e,t,r,a,n){n[0]=Math.min(n[0],e,r);n[1]=Math.min(n[1],t,a);n[2]=Math.max(n[2],e,r);n[3]=Math.max(n[3],t,a)}static bezierBoundingBox(e,t,r,a,n,i,s,o,c){c[0]=Math.min(c[0],e,s);c[1]=Math.min(c[1],t,o);c[2]=Math.max(c[2],e,s);c[3]=Math.max(c[3],t,o);_assertClassBrand(Util,this,_getExtremum).call(this,e,r,n,s,t,a,i,o,3*(3*(r-n)-e+s),6*(e-2*r+n),3*(r-e),c);_assertClassBrand(Util,this,_getExtremum).call(this,e,r,n,s,t,a,i,o,3*(3*(a-i)-t+o),6*(t-2*a+i),3*(a-t),c)}}r=Util;function _getExtremumOnCurve(e,t,r,a,n,i,s,o,c,l){if(c<=0||c>=1)return;const h=1-c,u=c*c,d=u*c,f=h*(h*(h*e+3*c*t)+3*u*r)+d*a,g=h*(h*(h*n+3*c*i)+3*u*s)+d*o;l[0]=Math.min(l[0],f);l[1]=Math.min(l[1],g);l[2]=Math.max(l[2],f);l[3]=Math.max(l[3],g)}function _getExtremum(e,t,a,n,i,s,o,c,l,h,u,d){if(Math.abs(l)<1e-12){Math.abs(h)>=1e-12&&_assertClassBrand(r,this,_getExtremumOnCurve).call(this,e,t,a,n,i,s,o,c,-u/h,d);return}const f=h**2-4*u*l;if(f<0)return;const g=Math.sqrt(f),p=2*l;_assertClassBrand(r,this,_getExtremumOnCurve).call(this,e,t,a,n,i,s,o,c,(-h+g)/p,d);_assertClassBrand(r,this,_getExtremumOnCurve).call(this,e,t,a,n,i,s,o,c,(-h-g)/p,d)}const vr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];function stringToPDFString(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e[0]>="ï"){let r;if("þ"===e[0]&&"ÿ"===e[1]){r="utf-16be";e.length%2==1&&(e=e.slice(0,-1))}else if("ÿ"===e[0]&&"þ"===e[1]){r="utf-16le";e.length%2==1&&(e=e.slice(0,-1))}else"ï"===e[0]&&"»"===e[1]&&"¿"===e[2]&&(r="utf-8");if(r)try{const a=new TextDecoder(r,{fatal:!0}),n=stringToBytes(e),i=a.decode(n);return t||!i.includes("")?i:i.replaceAll(/\x1b[^\x1b]*(?:\x1b|$)/g,"")}catch(e){warn(`stringToPDFString: "${e}".`)}}const r=[];for(let a=0,n=e.length;a0&&void 0!==arguments[0]?arguments[0]:new Date;return[e.getUTCFullYear().toString(),(e.getUTCMonth()+1).toString().padStart(2,"0"),e.getUTCDate().toString().padStart(2,"0"),e.getUTCHours().toString().padStart(2,"0"),e.getUTCMinutes().toString().padStart(2,"0"),e.getUTCSeconds().toString().padStart(2,"0")].join("")}let xr=null,Sr=null;function MathClamp(e,t,r){return Math.min(Math.max(e,t),r)}function toHexUtil(e){return Uint8Array.prototype.toHex?e.toHex():Array.from(e,(e=>wr[e])).join("")}"function"!=typeof Math.sumPrecise&&(Math.sumPrecise=function(e){return e.reduce(((e,t)=>e+t),0)});"function"!=typeof AbortSignal.any&&(AbortSignal.any=function(e){const t=new AbortController,{signal:r}=t;for(const a of e)if(a.aborted){t.abort(a.reason);return r}for(const a of e)a.addEventListener("abort",(()=>{t.abort(a.reason)}),{signal:r});return r});__webpack_require__(1148);const kr=Symbol("CIRCULAR_REF"),Ar=Symbol("EOF");let Cr=Object.create(null),Fr=Object.create(null),Ir=Object.create(null);class Name{constructor(e){this.name=e}static get(e){return Fr[e]||=new Name(e)}}class Cmd{constructor(e){this.cmd=e}static get(e){return Cr[e]||=new Cmd(e)}}const Tr=function nonSerializableClosure(){return Tr};class Dict{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this._map=new Map;this.xref=e;this.objId=null;this.suppressEncryption=!1;this.__nonSerializable__=Tr}assignXref(e){this.xref=e}get size(){return this._map.size}get(e,t,r){let a=this._map.get(e);if(void 0===a&&void 0!==t){a=this._map.get(t);void 0===a&&void 0!==r&&(a=this._map.get(r))}return a instanceof Ref&&this.xref?this.xref.fetch(a,this.suppressEncryption):a}async getAsync(e,t,r){let a=this._map.get(e);if(void 0===a&&void 0!==t){a=this._map.get(t);void 0===a&&void 0!==r&&(a=this._map.get(r))}return a instanceof Ref&&this.xref?this.xref.fetchAsync(a,this.suppressEncryption):a}getArray(e,t,r){let a=this._map.get(e);if(void 0===a&&void 0!==t){a=this._map.get(t);void 0===a&&void 0!==r&&(a=this._map.get(r))}a instanceof Ref&&this.xref&&(a=this.xref.fetch(a,this.suppressEncryption));if(Array.isArray(a)){a=a.slice();for(let e=0,t=a.length;e{unreachable("Should not call `set` on the empty dictionary.")};return shadow(this,"empty",e)}static merge(e){let{xref:t,dictArray:r,mergeSubDicts:a=!1}=e;const n=new Dict(t),i=new Map;for(const e of r)if(e instanceof Dict)for(const[t,r]of e._map){let e=i.get(t);if(void 0===e){e=[];i.set(t,e)}else if(!(a&&r instanceof Dict))continue;e.push(r)}for(const[e,r]of i){if(1===r.length||!(r[0]instanceof Dict)){n._map.set(e,r[0]);continue}const a=new Dict(t);for(const e of r)for(const[t,r]of e._map)a._map.has(t)||a._map.set(t,r);a.size>0&&n._map.set(e,a)}i.clear();return n.size>0?n:Dict.empty}clone(){const e=new Dict(this.xref);for(const t of this.getKeys())e.set(t,this.getRaw(t));return e}delete(e){delete this._map[e]}}class Ref{constructor(e,t){this.num=e;this.gen=t}toString(){return 0===this.gen?`${this.num}R`:`${this.num}R${this.gen}`}static fromString(e){const t=Ir[e];if(t)return t;const r=/^(\d+)R(\d*)$/.exec(e);return r&&"0"!==r[1]?Ir[e]=new Ref(parseInt(r[1]),r[2]?parseInt(r[2]):0):null}static get(e,t){const r=0===t?`${e}R`:`${e}R${t}`;return Ir[r]||=new Ref(e,t)}}class RefSet{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this._set=new Set(e?._set)}has(e){return this._set.has(e.toString())}put(e){this._set.add(e.toString())}remove(e){this._set.delete(e.toString())}[Symbol.iterator](){return this._set.values()}clear(){this._set.clear()}}class RefSetCache{constructor(){this._map=new Map}get size(){return this._map.size}get(e){return this._map.get(e.toString())}has(e){return this._map.has(e.toString())}put(e,t){this._map.set(e.toString(),t)}putAlias(e,t){this._map.set(e.toString(),this.get(t))}[Symbol.iterator](){return this._map.values()}clear(){this._map.clear()}*values(){yield*this._map.values()}*items(){for(const[e,t]of this._map)yield[Ref.fromString(e),t]}}function isName(e,t){return e instanceof Name&&(void 0===t||e.name===t)}function isCmd(e,t){return e instanceof Cmd&&(void 0===t||e.cmd===t)}function isDict(e,t){return e instanceof Dict&&(void 0===t||isName(e.get("Type"),t))}function isRefsEqual(e,t){return e.num===t.num&&e.gen===t.gen}class BaseStream{get length(){unreachable("Abstract getter `length` accessed")}get isEmpty(){unreachable("Abstract getter `isEmpty` accessed")}get isDataLoaded(){return shadow(this,"isDataLoaded",!0)}getByte(){unreachable("Abstract method `getByte` called")}getBytes(e){unreachable("Abstract method `getBytes` called")}async getImageData(e,t){return this.getBytes(e,t)}async asyncGetBytes(){unreachable("Abstract method `asyncGetBytes` called")}get isAsync(){return!1}get isAsyncDecoder(){return!1}get canAsyncDecodeImageFromBuffer(){return!1}async getTransferableImage(){return null}peekByte(){const e=this.getByte();-1!==e&&this.pos--;return e}peekBytes(e){const t=this.getBytes(e);this.pos-=t.length;return t}getUint16(){const e=this.getByte(),t=this.getByte();return-1===e||-1===t?-1:(e<<8)+t}getInt32(){return(this.getByte()<<24)+(this.getByte()<<16)+(this.getByte()<<8)+this.getByte()}getByteRange(e,t){unreachable("Abstract method `getByteRange` called")}getString(e){return bytesToString(this.getBytes(e))}skip(e){this.pos+=e||1}reset(){unreachable("Abstract method `reset` called")}moveStart(){unreachable("Abstract method `moveStart` called")}makeSubStream(e,t){unreachable("Abstract method `makeSubStream` called")}getBaseStreams(){return null}}const _r=/^[1-9]\.\d$/,Or=2**31-1,Mr=[1,0,0,1,0,0],Rr=["ColorSpace","ExtGState","Font","Pattern","Properties","Shading","XObject"],Pr=["ExtGState","Font","Properties","XObject"];function getLookupTableFactory(e){let t;return function(){if(e){t=Object.create(null);e(t);e=null}return t}}class MissingDataException extends yr{constructor(e,t){super(`Missing data [${e}, ${t})`,"MissingDataException");this.begin=e;this.end=t}}class ParserEOFException extends yr{constructor(e){super(e,"ParserEOFException")}}class XRefEntryException extends yr{constructor(e){super(e,"XRefEntryException")}}class XRefParseException extends yr{constructor(e){super(e,"XRefParseException")}}function arrayBuffersToBytes(e){const t=e.length;if(0===t)return new Uint8Array(0);if(1===t)return new Uint8Array(e[0]);let r=0;for(let a=0;a1&&void 0!==arguments[1]&&arguments[1];assert(Number.isInteger(e)&&e>0,"The number should be a positive integer.");const r="M".repeat(e/1e3|0)+Dr[e%1e3/100|0]+Dr[10+(e%100/10|0)]+Dr[20+e%10];return t?r.toLowerCase():r}function log2(e){return e>0?Math.ceil(Math.log2(e)):0}function readInt8(e,t){return e[t]<<24>>24}function readInt16(e,t){return(e[t]<<24|e[t+1]<<16)>>16}function readUint16(e,t){return e[t]<<8|e[t+1]}function readUint32(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function isWhiteSpace(e){return 32===e||9===e||13===e||10===e}function isNumberArray(e,t){return Array.isArray(e)?(null===t||e.length===t)&&e.every((e=>"number"==typeof e)):ArrayBuffer.isView(e)&&!(e instanceof BigInt64Array||e instanceof BigUint64Array)&&(null===t||e.length===t)}function lookupMatrix(e,t){return isNumberArray(e,6)?e:t}function lookupRect(e,t){return isNumberArray(e,4)?e:t}function lookupNormalRect(e,t){return isNumberArray(e,4)?Util.normalizeRect(e):t}function parseXFAPath(e){const t=/(.+)\[(\d+)\]$/;return e.split(".").map((e=>{const r=e.match(t);return r?{name:r[1],pos:parseInt(r[2],10)}:{name:e,pos:0}}))}function escapePDFName(e){const t=[];let r=0;for(let a=0,n=e.length;a126||35===n||40===n||41===n||60===n||62===n||91===n||93===n||123===n||125===n||47===n||37===n){r"\n"===e?"\\n":"\r"===e?"\\r":`\\${e}`))}function _collectJS(e,t,r,a){if(!e)return;let n=null;if(e instanceof Ref){if(a.has(e))return;n=e;a.put(n);e=t.fetch(e)}if(Array.isArray(e))for(const n of e)_collectJS(n,t,r,a);else if(e instanceof Dict){if(isName(e.get("S"),"JavaScript")){const t=e.get("JS");let a;t instanceof BaseStream?a=t.getString():"string"==typeof t&&(a=t);a&&=stringToPDFString(a,!0).replaceAll("\0","");a&&r.push(a)}_collectJS(e.getRaw("Next"),t,r,a)}n&&a.remove(n)}function collectActions(e,t,r){const a=Object.create(null),n=getInheritableProperty({dict:t,key:"AA",stopWhenFound:!1});if(n)for(let t=n.length-1;t>=0;t--){const i=n[t];if(i instanceof Dict)for(const t of i.getKeys()){const n=r[t];if(!n)continue;const s=[];_collectJS(i.getRaw(t),e,s,new RefSet);s.length>0&&(a[n]=s)}}if(t.has("A")){const r=[];_collectJS(t.get("A"),e,r,new RefSet);r.length>0&&(a.Action=r)}return objectSize(a)>0?a:null}const Er={60:"<",62:">",38:"&",34:""",39:"'"};function*codePointIter(e){for(let t=0,r=e.length;t55295&&(r<57344||r>65533)&&t++;yield r}}function encodeToXmlString(e){const t=[];let r=0;for(let a=0,n=e.length;a55295&&(n<57344||n>65533)&&a++;r=a+1}}if(0===t.length)return e;r1&&void 0!==arguments[1]&&arguments[1];const r=/^("|').*("|')$/.exec(e);if(r&&r[1]===r[2]){if(new RegExp(`[^\\\\]${r[1]}`).test(e.slice(1,-1))){t&&warn(`FontFamily contains unescaped ${r[1]}: ${e}.`);return!1}}else for(const r of e.split(/[ \t]+/))if(/^(\d|(-(\d|-)))/.test(r)||!/^[\w-\\]+$/.test(r)){t&&warn(`FontFamily contains invalid : ${e}.`);return!1}return!0}function validateCSSFont(e){const t=new Set(["100","200","300","400","500","600","700","800","900","1000","normal","bold","bolder","lighter"]),{fontFamily:r,fontWeight:a,italicAngle:n}=e;if(!validateFontName(r,!0))return!1;const i=a?a.toString():"";e.fontWeight=t.has(i)?i:"400";const s=parseFloat(n);e.italicAngle=isNaN(s)||s<-90||s>90?"14":n.toString();return!0}function recoverJsURL(e){const t=new RegExp("^\\s*("+["app.launchURL","window.open","xfa.host.gotoURL"].join("|").replaceAll(".","\\.")+")\\((?:'|\")([^'\"]*)(?:'|\")(?:,\\s*(\\w+)\\)|\\))","i").exec(e);return t?.[2]?{url:t[2],newWindow:"app.launchURL"===t[1]&&"true"===t[3]}:null}function numberToString(e){if(Number.isInteger(e))return e.toString();const t=Math.round(100*e);return t%100==0?(t/100).toString():t%10==0?e.toFixed(1):e.toFixed(2)}function getNewAnnotationsMap(e){if(!e)return null;const t=new Map;for(const[r,a]of e){if(!r.startsWith(m))continue;let e=t.get(a.pageIndex);if(!e){e=[];t.set(a.pageIndex,e)}e.push(a)}return t.size>0?t:null}function stringToAsciiOrUTF16BE(e){return function isAscii(e){return/^[\x00-\x7F]*$/.test(e)}(e)?e:stringToUTF16String(e,!0)}function stringToUTF16HexString(e){const t=[];for(let r=0,a=e.length;r>8&255],wr[255&a])}return t.join("")}function stringToUTF16String(e){const t=[];arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&t.push("þÿ");for(let r=0,a=e.length;r>8&255),String.fromCharCode(255&a))}return t.join("")}function getRotationMatrix(e,t,r){switch(e){case 90:return[0,1,-1,0,t,0];case 180:return[-1,0,0,-1,t,r];case 270:return[0,-1,1,0,0,r];default:throw new Error("Invalid rotation")}}function getSizeInBytes(e){return Math.ceil(Math.ceil(Math.log2(1+e))/8)}__webpack_require__(4603),__webpack_require__(7566),__webpack_require__(8721);function _defineProperty(e,t,r){return(t=function _toPropertyKey(e){var t=function _toPrimitive(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function qcms_utils_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}class QCMS{static get _memoryArray(){const e=qcms_utils_assertClassBrand(QCMS,this,Nr)._;return e?.byteLength?e:Nr._=qcms_utils_assertClassBrand(QCMS,this,new Uint8Array(this._memory.buffer))}}var Nr={_:null};_defineProperty(QCMS,"_memory",null);_defineProperty(QCMS,"_mustAddAlpha",!1);_defineProperty(QCMS,"_destBuffer",null);_defineProperty(QCMS,"_destOffset",0);_defineProperty(QCMS,"_destLength",0);_defineProperty(QCMS,"_cssColor","");_defineProperty(QCMS,"_makeHexColor",null);let jr;const Lr="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};"undefined"!=typeof TextDecoder&&Lr.decode();let Ur=null;function getUint8ArrayMemory0(){null!==Ur&&0!==Ur.byteLength||(Ur=new Uint8Array(jr.memory.buffer));return Ur}let qr=0;function passArray8ToWasm0(e,t){const r=t(1*e.length,1)>>>0;getUint8ArrayMemory0().set(e,r/1);qr=e.length;return r}const Xr=Object.freeze({RGB8:0,0:"RGB8",RGBA8:1,1:"RGBA8",BGRA8:2,2:"BGRA8",Gray8:3,3:"Gray8",GrayA8:4,4:"GrayA8",CMYK:5,5:"CMYK"}),Hr=Object.freeze({Perceptual:0,0:"Perceptual",RelativeColorimetric:1,1:"RelativeColorimetric",Saturation:2,2:"Saturation",AbsoluteColorimetric:3,3:"AbsoluteColorimetric"});function __wbg_get_imports(){const e={wbg:{}};e.wbg.__wbg_copyresult_b08ee7d273f295dd=function(e,t){!function copy_result(e,t){const{_mustAddAlpha:r,_destBuffer:a,_destOffset:n,_destLength:i,_memoryArray:s}=QCMS;if(t!==i)if(r)for(let r=e,i=e+t,o=n;r>>0,t>>>0)};e.wbg.__wbg_copyrgb_d60ce17bb05d9b67=function(e){!function copy_rgb(e){const{_destBuffer:t,_destOffset:r,_memoryArray:a}=QCMS;t[r]=a[e];t[r+1]=a[e+1];t[r+2]=a[e+2]}(e>>>0)};e.wbg.__wbg_makecssRGB_893bf0cd9fdb302d=function(e){!function make_cssRGB(e){const{_memoryArray:t}=QCMS;QCMS._cssColor=QCMS._makeHexColor(t[e],t[e+1],t[e+2])}(e>>>0)};e.wbg.__wbindgen_init_externref_table=function(){const e=jr.__wbindgen_export_0,t=e.grow(4);e.set(0,void 0);e.set(t+0,void 0);e.set(t+1,null);e.set(t+2,!0);e.set(t+3,!1)};e.wbg.__wbindgen_throw=function(e,t){throw new Error(function getStringFromWasm0(e,t){e>>>=0;return Lr.decode(getUint8ArrayMemory0().subarray(e,e+t))}(e,t))};return e}function __wbg_finalize_init(e,t){jr=e.exports;__wbg_init.__wbindgen_wasm_module=t;Ur=null;jr.__wbindgen_start();return jr}async function __wbg_init(e){if(void 0!==jr)return jr;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?({module_or_path:e}=e):console.warn("using deprecated parameters for the initialization function; pass a single object instead"));const t=__wbg_get_imports();("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e));const{instance:r,module:a}=await async function __wbg_load(e,t){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if("application/wasm"==e.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}const r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}{const r=await WebAssembly.instantiate(e,t);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}(await e,t);return __wbg_finalize_init(r,a)}function _classPrivateMethodInitSpec(e,t){(function _checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function colorspace_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}class ColorSpace{constructor(e,t){this.name=e;this.numComps=t}getRgb(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Uint8ClampedArray(3);this.getRgbItem(e,t,r,0);return r}getRgbHex(e,t){const r=this.getRgb(e,t,Wr._);return Util.makeHexColor(r[0],r[1],r[2])}getRgbItem(e,t,r,a){unreachable("Should not call ColorSpace.getRgbItem")}getRgbBuffer(e,t,r,a,n,i,s){unreachable("Should not call ColorSpace.getRgbBuffer")}getOutputLength(e,t){unreachable("Should not call ColorSpace.getOutputLength")}isPassthrough(e){return!1}isDefaultDecode(e,t){return ColorSpace.isDefaultDecode(e,this.numComps)}fillRgb(e,t,r,a,n,i,s,o,c){const l=t*r;let h=null;const u=1<u&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){const t=s<=8?new Uint8Array(u):new Uint16Array(u);for(let e=0;e=.99554525?1:MathClamp(1.055*e**(1/2.4)-.055,0,1)}function _decodeL(e){return e<0?-colorspace_assertClassBrand($r,this,_decodeL).call(this,-e):e>8?((e+16)/116)**3:e*ta._}function _compensateBlackPoint(e,t,r){if(0===e[0]&&0===e[1]&&0===e[2]){r[0]=t[0];r[1]=t[1];r[2]=t[2];return}const a=colorspace_assertClassBrand($r,this,_decodeL).call(this,0),n=(1-a)/(1-colorspace_assertClassBrand($r,this,_decodeL).call(this,e[0])),i=1-n,s=(1-a)/(1-colorspace_assertClassBrand($r,this,_decodeL).call(this,e[1])),o=1-s,c=(1-a)/(1-colorspace_assertClassBrand($r,this,_decodeL).call(this,e[2])),l=1-c;r[0]=t[0]*n+i;r[1]=t[1]*s+o;r[2]=t[2]*c+l}function _normalizeWhitePointToFlat(e,t,r){if(1===e[0]&&1===e[2]){r[0]=t[0];r[1]=t[1];r[2]=t[2];return}const a=r;colorspace_assertClassBrand($r,this,_matrixProduct).call(this,Vr._,t,a);const n=Zr._;colorspace_assertClassBrand($r,this,_toFlat).call(this,e,a,n);colorspace_assertClassBrand($r,this,_matrixProduct).call(this,Kr._,n,r)}function _normalizeWhitePointToD(e,t,r){const a=r;colorspace_assertClassBrand($r,this,_matrixProduct).call(this,Vr._,t,a);const n=Zr._;colorspace_assertClassBrand($r,this,_toD).call(this,e,a,n);colorspace_assertClassBrand($r,this,_matrixProduct).call(this,Kr._,n,r)}function _toRgb3(e,t,r,a,n){const i=MathClamp(e[t]*n,0,1),s=MathClamp(e[t+1]*n,0,1),o=MathClamp(e[t+2]*n,0,1),c=1===i?1:i**this.GR,l=1===s?1:s**this.GG,h=1===o?1:o**this.GB,u=this.MXA*c+this.MXB*l+this.MXC*h,d=this.MYA*c+this.MYB*l+this.MYC*h,f=this.MZA*c+this.MZB*l+this.MZC*h,g=Qr._;g[0]=u;g[1]=d;g[2]=f;const p=ea._;colorspace_assertClassBrand($r,this,_normalizeWhitePointToFlat).call(this,this.whitePoint,g,p);const m=Qr._;colorspace_assertClassBrand($r,this,_compensateBlackPoint).call(this,this.blackPoint,p,m);const b=ea._;colorspace_assertClassBrand($r,this,_normalizeWhitePointToD).call(this,Yr._,m,b);const y=Qr._;colorspace_assertClassBrand($r,this,_matrixProduct).call(this,Jr._,b,y);r[a]=255*colorspace_assertClassBrand($r,this,_sRGBTransferFunction).call(this,y[0]);r[a+1]=255*colorspace_assertClassBrand($r,this,_sRGBTransferFunction).call(this,y[1]);r[a+2]=255*colorspace_assertClassBrand($r,this,_sRGBTransferFunction).call(this,y[2])}var Vr={_:new Float32Array([.8951,.2664,-.1614,-.7502,1.7135,.0367,.0389,-.0685,1.0296])},Kr={_:new Float32Array([.9869929,-.1470543,.1599627,.4323053,.5183603,.0492912,-.0085287,.0400428,.9684867])},Jr={_:new Float32Array([3.2404542,-1.5371385,-.4985314,-.969266,1.8760108,.041556,.0556434,-.2040259,1.0572252])},Yr={_:new Float32Array([1,1,1])},Zr={_:new Float32Array(3)},Qr={_:new Float32Array(3)},ea={_:new Float32Array(3)},ta={_:(24/116)**3/8},ra=new WeakSet;class LabCS extends ColorSpace{constructor(e,t,r){super("Lab",3);_classPrivateMethodInitSpec(this,ra);if(!e)throw new FormatError("WhitePoint missing - required for color space Lab");[this.XW,this.YW,this.ZW]=e;[this.amin,this.amax,this.bmin,this.bmax]=r||[-100,100,-100,100];[this.XB,this.YB,this.ZB]=t||[0,0,0];if(this.XW<0||this.ZW<0||1!==this.YW)throw new FormatError("Invalid WhitePoint components, no fallback available");if(this.XB<0||this.YB<0||this.ZB<0){info("Invalid BlackPoint, falling back to default");this.XB=this.YB=this.ZB=0}if(this.amin>this.amax||this.bmin>this.bmax){info("Invalid Range, falling back to defaults");this.amin=-100;this.amax=100;this.bmin=-100;this.bmax=100}}getRgbItem(e,t,r,a){colorspace_assertClassBrand(ra,this,_toRgb4).call(this,e,t,!1,r,a)}getRgbBuffer(e,t,r,a,n,i,s){const o=(1<=6/29?e**3:108/841*(e-4/29)}function _decode(e,t,r,a){return r+e*(a-r)/t}function _toRgb4(e,t,r,a,n){let i=e[t],s=e[t+1],o=e[t+2];if(!1!==r){i=colorspace_assertClassBrand(ra,this,_decode).call(this,i,r,0,100);s=colorspace_assertClassBrand(ra,this,_decode).call(this,s,r,this.amin,this.amax);o=colorspace_assertClassBrand(ra,this,_decode).call(this,o,r,this.bmin,this.bmax)}s>this.amax?s=this.amax:sthis.bmax?o=this.bmax:ofunction qcms_convert_one(e,t,r){jr.qcms_convert_one(e,t,r)}(_classPrivateFieldGet(aa,this),255*e[t],r)));break;case 3:a=Xr.RGB8;_classPrivateFieldSet(na,this,((e,t,r)=>function qcms_convert_three(e,t,r,a,n){jr.qcms_convert_three(e,t,r,a,n)}(_classPrivateFieldGet(aa,this),255*e[t],255*e[t+1],255*e[t+2],r)));break;case 4:a=Xr.CMYK;_classPrivateFieldSet(na,this,((e,t,r)=>function qcms_convert_four(e,t,r,a,n,i){jr.qcms_convert_four(e,t,r,a,n,i)}(_classPrivateFieldGet(aa,this),255*e[t],255*e[t+1],255*e[t+2],255*e[t+3],r)));break;default:throw new Error(`Unsupported number of components: ${r}`)}_classPrivateFieldSet(aa,this,function qcms_transformer_from_memory(e,t,r){const a=passArray8ToWasm0(e,jr.__wbindgen_malloc),n=qr;return jr.qcms_transformer_from_memory(a,n,t,r)>>>0}(e,a,Hr.Perceptual));if(!_classPrivateFieldGet(aa,this))throw new Error("Failed to create ICC color space");oa._.register(this,_classPrivateFieldGet(aa,this))}getRgbHex(e,t){_classPrivateFieldGet(na,this).call(this,e,t,!0);return QCMS._cssColor}getRgbItem(e,t,r,a){QCMS._destBuffer=r;QCMS._destOffset=a;QCMS._destLength=3;_classPrivateFieldGet(na,this).call(this,e,t,!1);QCMS._destBuffer=null}getRgbBuffer(e,t,r,a,n,i,s){e=e.subarray(t,t+r*this.numComps);if(8!==i){const t=255/((1<{!function qcms_drop_transformer(e){jr.qcms_drop_transformer(e)}(e)}))};class CmykICCBasedCS extends IccColorSpace{constructor(){super(new Uint8Array(fetchSync(`${la._}CGATS001Compat-v2-micro.icc`)),"DeviceCMYK",4)}static setOptions(e){let{iccUrl:t}=e;la._=icc_colorspace_assertClassBrand(CmykICCBasedCS,this,t)}static get isUsable(){let e=!1;IccColorSpace.isUsable&&(icc_colorspace_assertClassBrand(CmykICCBasedCS,this,la)._?e=!0:warn("No CMYK ICC profile support due to missing `iccUrl` API option"));return shadow(this,"isUsable",e)}}var ca,la={_:void 0};class Stream extends BaseStream{constructor(e,t,r,a){super();this.bytes=e instanceof Uint8Array?e:new Uint8Array(e);this.start=t||0;this.pos=this.start;this.end=t+r||this.bytes.length;this.dict=a}get length(){return this.end-this.start}get isEmpty(){return 0===this.length}getByte(){return this.pos>=this.end?-1:this.bytes[this.pos++]}getBytes(e){const t=this.bytes,r=this.pos,a=this.end;if(!e)return t.subarray(r,a);let n=r+e;n>a&&(n=a);this.pos=n;return t.subarray(r,n)}getByteRange(e,t){e<0&&(e=0);t>this.end&&(t=this.end);return this.bytes.subarray(e,t)}reset(){this.pos=this.start}moveStart(){this.start=this.pos}makeSubStream(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return new Stream(this.bytes.buffer,e,t,r)}}class StringStream extends Stream{constructor(e){super(stringToBytes(e))}}class NullStream extends Stream{constructor(){super(new Uint8Array(0))}}class ChunkedStream extends Stream{constructor(e,t,r){super(new Uint8Array(e),0,e,null);this.chunkSize=t;this._loadedChunks=new Set;this.numChunks=Math.ceil(e/t);this.manager=r;this.progressiveDataLength=0;this.lastSuccessfulEnsureByteChunk=-1}getMissingChunks(){const e=[];for(let t=0,r=this.numChunks;t=this.end?this.numChunks:Math.floor(t/this.chunkSize);for(let e=r;ethis.numChunks)&&t!==this.lastSuccessfulEnsureByteChunk){if(!this._loadedChunks.has(t))throw new MissingDataException(e,e+1);this.lastSuccessfulEnsureByteChunk=t}}ensureRange(e,t){if(e>=t)return;if(t<=this.progressiveDataLength)return;const r=Math.floor(e/this.chunkSize);if(r>this.numChunks)return;const a=Math.min(Math.floor((t-1)/this.chunkSize)+1,this.numChunks);for(let n=r;n=this.end)return-1;e>=this.progressiveDataLength&&this.ensureByte(e);return this.bytes[this.pos++]}getBytes(e){const t=this.bytes,r=this.pos,a=this.end;if(!e){a>this.progressiveDataLength&&this.ensureRange(r,a);return t.subarray(r,a)}let n=r+e;n>a&&(n=a);n>this.progressiveDataLength&&this.ensureRange(r,n);this.pos=n;return t.subarray(r,n)}getByteRange(e,t){e<0&&(e=0);t>this.end&&(t=this.end);t>this.progressiveDataLength&&this.ensureRange(e,t);return this.bytes.subarray(e,t)}makeSubStream(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;t?e+t>this.progressiveDataLength&&this.ensureRange(e,e+t):e>=this.progressiveDataLength&&this.ensureByte(e);function ChunkedStreamSubstream(){}ChunkedStreamSubstream.prototype=Object.create(this);ChunkedStreamSubstream.prototype.getMissingChunks=function(){const e=this.chunkSize,t=Math.floor(this.start/e),r=Math.floor((this.end-1)/e)+1,a=[];for(let e=t;e{const readChunk=i=>{let{value:s,done:o}=i;try{if(o){const t=arrayBuffersToBytes(a);a=null;e(t);return}n+=s.byteLength;r.isStreamingSupported&&this.onProgress({loaded:n});a.push(s);r.read().then(readChunk,t)}catch(e){t(e)}};r.read().then(readChunk,t)})).then((t=>{this.aborted||this.onReceiveData({chunk:t,begin:e})}))}requestAllChunks(){if(!(arguments.length>0&&void 0!==arguments[0]&&arguments[0])){const e=this.stream.getMissingChunks();this._requestChunks(e)}return this._loadedStreamCapability.promise}_requestChunks(e){const t=this.currRequestId++,r=new Set;this._chunksNeededByRequest.set(t,r);for(const t of e)this.stream.hasChunk(t)||r.add(t);if(0===r.size)return Promise.resolve();const a=Promise.withResolvers();this._promisesByRequest.set(t,a);const n=[];for(const e of r){let r=this._requestsByChunk.get(e);if(!r){r=[];this._requestsByChunk.set(e,r);n.push(e)}r.push(t)}if(n.length>0){const e=this.groupChunks(n);for(const t of e){const e=t.beginChunk*this.chunkSize,r=Math.min(t.endChunk*this.chunkSize,this.length);this.sendRequest(e,r).catch(a.reject)}}return a.promise.catch((e=>{if(!this.aborted)throw e}))}getStream(){return this.stream}requestRange(e,t){t=Math.min(t,this.length);const r=this.getBeginChunk(e),a=this.getEndChunk(t),n=[];for(let e=r;e0&&void 0!==arguments[0]?arguments[0]:[];const t=[];for(const r of e){const e=this.getBeginChunk(r.begin),a=this.getEndChunk(r.end);for(let r=e;re-t));return this._requestChunks(t)}groupChunks(e){const t=[];let r=-1,a=-1;for(let n=0,i=e.length;n=0&&a+1!==i){t.push({beginChunk:r,endChunk:a+1});r=i}n+1===e.length&&t.push({beginChunk:r,endChunk:i+1});a=i}return t}onProgress(e){this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize+e.loaded,total:this.length})}onReceiveData(e){const t=e.chunk,r=void 0===e.begin,a=r?this.progressiveDataLength:e.begin,n=a+t.byteLength,i=Math.floor(a/this.chunkSize),s=n0||o.push(r)}}}if(!this.disableAutoFetch&&0===this._requestsByChunk.size){let e;if(1===this.stream.numChunksLoaded){const t=this.stream.numChunks-1;this.stream.hasChunk(t)||(e=t)}else e=this.stream.nextEmptyChunk(s);Number.isInteger(e)&&this._requestChunks([e])}for(const e of o){const t=this._promisesByRequest.get(e);this._promisesByRequest.delete(e);t.resolve()}this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize,total:this.length})}onError(e){this._loadedStreamCapability.reject(e)}getBeginChunk(e){return Math.floor(e/this.chunkSize)}getEndChunk(e){return Math.floor((e-1)/this.chunkSize)+1}abort(e){this.aborted=!0;this.pdfNetworkStream?.cancelAllRequests(e);for(const t of this._promisesByRequest.values())t.reject(e)}}function convertToRGBA(e){switch(e.kind){case T:return convertBlackAndWhiteToRGBA(e);case _:return function convertRGBToRGBA(e){let{src:t,srcPos:r=0,dest:a,destPos:n=0,width:i,height:s}=e,o=0;const c=i*s*3,l=c>>2,h=new Uint32Array(t.buffer,r,l);if(FeatureTest.isLittleEndian){for(;o>>24|t<<8|4278190080;a[n+2]=t>>>16|r<<16|4278190080;a[n+3]=r>>>8|4278190080}for(let e=4*o,i=r+c;e>>8|255;a[n+2]=t<<16|r>>>16|255;a[n+3]=r<<8|255}for(let e=4*o,i=r+c;e>3,d=7&n,f=t.length;a=new Uint32Array(a.buffer);let g=0;for(let e=0;er||t>r)return!0;const a=e*t;if(this._hasMaxArea)return a>this.MAX_AREA;if(a(this.MAX_AREA=image_resizer_assertClassBrand(ImageResizer,this,ua)._**2)}static getReducePowerForJPX(e,t,r){const a=e*t,n=2**30/(4*r);if(!this.needsToBeResized(e,t))return a>n?Math.ceil(Math.log2(a/n)):0;const{MAX_DIM:i,MAX_AREA:s}=this,o=Math.max(e/i,t/i,Math.sqrt(a/Math.min(n,s)));return Math.ceil(Math.log2(o))}static get MAX_DIM(){return shadow(this,"MAX_DIM",this._guessMax(2048,65537,0,1))}static get MAX_AREA(){this._hasMaxArea=!0;return shadow(this,"MAX_AREA",this._guessMax(image_resizer_assertClassBrand(ImageResizer,this,ua)._,this.MAX_DIM,128,0)**2)}static set MAX_AREA(e){if(e>=0){this._hasMaxArea=!0;shadow(this,"MAX_AREA",e)}}static setOptions(e){let{canvasMaxAreaInBytes:t=-1,isImageDecoderSupported:r=!1}=e;this._hasMaxArea||(this.MAX_AREA=t>>2);da._=image_resizer_assertClassBrand(ImageResizer,this,r)}static _areGoodDims(e,t){try{const r=new OffscreenCanvas(e,t),a=r.getContext("2d");a.fillRect(0,0,1,1);const n=a.getImageData(0,0,1,1).data[3];r.width=r.height=1;return 0!==n}catch{return!1}}static _guessMax(e,t,r,a){for(;e+r+11&&void 0!==arguments[1]&&arguments[1])._createImage()}async _createImage(){const{_imgData:e}=this,{width:t,height:r}=e;if(t*r*4>Or){const e=image_resizer_assertClassBrand(ha,this,_rescaleImageData).call(this);if(e)return e}const a=this._encodeBMP();let n,i;if(await ImageResizer.canUseImageDecoder){n=new ImageDecoder({data:a,type:"image/bmp",preferAnimation:!1,transfer:[a.buffer]});i=n.decode().catch((e=>{warn(`BMP image decoding failed: ${e}`);return createImageBitmap(new Blob([this._encodeBMP().buffer],{type:"image/bmp"}))})).finally((()=>{n.close()}))}else i=createImageBitmap(new Blob([a.buffer],{type:"image/bmp"}));const{MAX_AREA:s,MAX_DIM:o}=ImageResizer,c=Math.max(t/o,r/o,Math.sqrt(t*r/s)),l=Math.max(c,2),h=Math.round(10*(c+1.25))/10/l,u=Math.floor(Math.log2(h)),d=new Array(u+2).fill(2);d[0]=l;d.splice(-1,1,h/(1<>3,s=r+3&-4;if(r!==s){const e=new Uint8Array(s*t);let a=0;for(let i=0,o=t*r;i>s,c=a>>s;let l,h=a;try{l=new Uint8Array(i)}catch{let e=Math.floor(Math.log2(i+1));for(;;)try{l=new Uint8Array(2**e-1);break}catch{e-=1}h=Math.floor((2**e-1)/(4*r));const t=r*h*4;t>s;e1&&void 0!==arguments[1]?arguments[1]:null;const r=this.pos;let a;if(e){this.ensureBuffer(r+e);a=r+e;for(;!this.eof&&this.bufferLengthn&&(a=n)}else{for(;!this.eof;)this.readBlock(t);a=this.bufferLength}this.pos=a;return this.buffer.subarray(r,a)}async getImageData(e,t){if(!this.canAsyncDecodeImageFromBuffer)return this.isAsyncDecoder?this.decodeImage(null,t):this.getBytes(e,t);const r=await this.stream.asyncGetBytes();return this.decodeImage(r,t)}reset(){this.pos=0}makeSubStream(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(void 0===t)for(;!this.eof;)this.readBlock();else{const r=e+t;for(;this.bufferLength<=r&&!this.eof;)this.readBlock()}return new Stream(this.buffer,e,t,r)}getBaseStreams(){return this.str?this.str.getBaseStreams():null}}class StreamsSequenceStream extends DecodeStream{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e=e.filter((e=>e instanceof BaseStream));let r=0;for(const t of e)r+=t instanceof DecodeStream?t._rawMinBufferLength:t.length;super(r);this.streams=e;this._onError=t}readBlock(){const e=this.streams;if(0===e.length){this.eof=!0;return}const t=e.shift();let r;try{r=t.getBytes()}catch(e){if(this._onError){this._onError(e,t.dict?.objId);return}throw e}const a=this.bufferLength,n=a+r.length;this.ensureBuffer(n).set(r,a);this.bufferLength=n}getBaseStreams(){const e=[];for(const t of this.streams){const r=t.getBaseStreams();r&&e.push(...r)}return e.length>0?e:null}}var ga;function colorspace_utils_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}class ColorSpaceUtils{static parse(e){let{cs:t,xref:r,resources:a=null,pdfFunctionFactory:n,globalColorSpaceCache:i,localColorSpaceCache:s,asyncIfNotCached:o=!1}=e;const c={xref:r,resources:a,pdfFunctionFactory:n,globalColorSpaceCache:i,localColorSpaceCache:s};let l,h,u;if(t instanceof Ref){h=t;const e=i.getByRef(h)||s.getByRef(h);if(e)return e;t=r.fetch(t)}if(t instanceof Name){l=t.name;const e=s.getByName(l);if(e)return e}try{u=colorspace_utils_assertClassBrand(ColorSpaceUtils,this,_parse).call(this,t,c)}catch(e){if(o&&!(e instanceof MissingDataException))return Promise.reject(e);throw e}if(l||h){s.set(l,h,u);h&&i.set(null,h,u)}return o?Promise.resolve(u):u}static get gray(){return shadow(this,"gray",new DeviceGrayCS)}static get rgb(){return shadow(this,"rgb",new DeviceRgbCS)}static get rgba(){return shadow(this,"rgba",new DeviceRgbaCS)}static get cmyk(){if(CmykICCBasedCS.isUsable)try{return shadow(this,"cmyk",new CmykICCBasedCS)}catch{warn("CMYK fallback: DeviceCMYK")}return shadow(this,"cmyk",new DeviceCmykCS)}}ga=ColorSpaceUtils;function _subParse(e,t){const{globalColorSpaceCache:r}=t;let a;if(e instanceof Ref){a=e;const t=r.getByRef(a);if(t)return t}const n=colorspace_utils_assertClassBrand(ga,this,_parse).call(this,e,t);a&&r.set(null,a,n);return n}function _parse(e,t){const{xref:r,resources:a,pdfFunctionFactory:n,globalColorSpaceCache:i}=t;if((e=r.fetchIfRef(e))instanceof Name)switch(e.name){case"G":case"DeviceGray":return this.gray;case"RGB":case"DeviceRGB":return this.rgb;case"DeviceRGBA":return this.rgba;case"CMYK":case"DeviceCMYK":return this.cmyk;case"Pattern":return new PatternCS(null);default:if(a instanceof Dict){const r=a.get("ColorSpace");if(r instanceof Dict){const a=r.get(e.name);if(a){if(a instanceof Name)return colorspace_utils_assertClassBrand(ga,this,_parse).call(this,a,t);e=a;break}}}warn(`Unrecognized ColorSpace: ${e.name}`);return this.gray}if(Array.isArray(e)){const a=r.fetchIfRef(e[0]).name;let s,o,c,l,h,u;switch(a){case"G":case"DeviceGray":return this.gray;case"RGB":case"DeviceRGB":return this.rgb;case"CMYK":case"DeviceCMYK":return this.cmyk;case"CalGray":s=r.fetchIfRef(e[1]);l=s.getArray("WhitePoint");h=s.getArray("BlackPoint");u=s.get("Gamma");return new CalGrayCS(l,h,u);case"CalRGB":s=r.fetchIfRef(e[1]);l=s.getArray("WhitePoint");h=s.getArray("BlackPoint");u=s.getArray("Gamma");const d=s.getArray("Matrix");return new CalRGBCS(l,h,u,d);case"ICCBased":const f=e[1]instanceof Ref;if(f){const t=i.getByRef(e[1]);if(t)return t}const g=r.fetchIfRef(e[1]),p=g.dict;o=p.get("N");if(IccColorSpace.isUsable)try{const t=new IccColorSpace(g.getBytes(),"ICCBased",o);f&&i.set(null,e[1],t);return t}catch(t){if(t instanceof MissingDataException)throw t;warn(`ICCBased color space (${e[1]}): "${t}".`)}const m=p.getRaw("Alternate");if(m){const e=colorspace_utils_assertClassBrand(ga,this,_subParse).call(this,m,t);if(e.numComps===o)return e;warn("ICCBased color space: Ignoring incorrect /Alternate entry.")}if(1===o)return this.gray;if(3===o)return this.rgb;if(4===o)return this.cmyk;break;case"Pattern":c=e[1]||null;c&&(c=colorspace_utils_assertClassBrand(ga,this,_subParse).call(this,c,t));return new PatternCS(c);case"I":case"Indexed":c=colorspace_utils_assertClassBrand(ga,this,_subParse).call(this,e[1],t);const b=MathClamp(r.fetchIfRef(e[2]),0,255),y=r.fetchIfRef(e[3]);return new IndexedCS(c,b,y);case"Separation":case"DeviceN":const w=r.fetchIfRef(e[1]);o=Array.isArray(w)?w.length:1;c=colorspace_utils_assertClassBrand(ga,this,_subParse).call(this,e[2],t);const v=n.create(e[3]);return new AlternateCS(o,c,v);case"Lab":s=r.fetchIfRef(e[1]);l=s.getArray("WhitePoint");h=s.getArray("BlackPoint");const x=s.getArray("Range");return new LabCS(l,h,x);default:warn(`Unimplemented ColorSpace object: ${a}`);return this.gray}}warn(`Unrecognized ColorSpace object: ${e}`);return this.gray}class JpegError extends yr{constructor(e){super(e,"JpegError")}}class DNLMarkerError extends yr{constructor(e,t){super(e,"DNLMarkerError");this.scanLines=t}}class EOIMarkerError extends yr{constructor(e){super(e,"EOIMarkerError")}}const pa=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),ma=4017,ba=799,ya=3406,wa=2276,va=1567,xa=3784,Sa=5793,ka=2896;function buildHuffmanTable(e,t){let r,a,n=0,i=16;for(;i>0&&!e[i-1];)i--;const s=[{children:[],index:0}];let o,c=s[0];for(r=0;r0;)c=s.pop();c.index++;s.push(c);for(;s.length<=r;){s.push(o={children:[],index:0});c.children[c.index]=o.children;c=o}n++}if(r+19&&void 0!==arguments[9]&&arguments[9];const h=r.mcusPerLine,u=r.progressive,d=t;let f=0,g=0;function readBit(){if(g>0){g--;return f>>g&1}f=e[t++];if(255===f){const a=e[t++];if(a){if(220===a&&l){const a=readUint16(e,t+=2);t+=2;if(a>0&&a!==r.scanLines)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",a)}else if(217===a){if(l){const e=y*(8===r.precision?8:0);if(e>0&&Math.round(r.scanLines/e)>=5)throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter",e)}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new JpegError(`unexpected marker ${(f<<8|a).toString(16)}`)}}g=7;return f>>>7}function decodeHuffman(e){let t=e;for(;;){t=t[readBit()];switch(typeof t){case"number":return t;case"object":continue}throw new JpegError("invalid huffman sequence")}}function receive(e){let t=0;for(;e>0;){t=t<<1|readBit();e--}return t}function receiveAndExtend(e){if(1===e)return 1===readBit()?1:-1;const t=receive(e);return t>=1<0){p--;return}let r=i;const a=s;for(;r<=a;){const a=decodeHuffman(e.huffmanTableAC),n=15&a,i=a>>4;if(0===n){if(i<15){p=receive(i)+(1<>4;if(0===n)if(l<15){p=receive(l)+(1<>4;if(0===a){if(i<15)break;n+=16;continue}n+=i;const s=pa[n];e.blockData[t+s]=receiveAndExtend(a);n++}};let _,O=0;const M=1===w?a[0].blocksPerLine*a[0].blocksPerColumn:h*r.mcusPerColumn;let R,D;for(;O<=M;){const r=n?Math.min(M-O,n):M;if(r>0){for(x=0;x0?"unexpected":"excessive"} MCU data, current marker is: ${_.invalid}`);t=_.offset}if(!(_.marker>=65488&&_.marker<=65495))break;t+=2}return t-d}function quantizeAndInverse(e,t,r){const a=e.quantizationTable,n=e.blockData;let i,s,o,c,l,h,u,d,f,g,p,m,b,y,w,v,x;if(!a)throw new JpegError("missing required Quantization Table.");for(let e=0;e<64;e+=8){f=n[t+e];g=n[t+e+1];p=n[t+e+2];m=n[t+e+3];b=n[t+e+4];y=n[t+e+5];w=n[t+e+6];v=n[t+e+7];f*=a[e];if(g|p|m|b|y|w|v){g*=a[e+1];p*=a[e+2];m*=a[e+3];b*=a[e+4];y*=a[e+5];w*=a[e+6];v*=a[e+7];i=Sa*f+128>>8;s=Sa*b+128>>8;o=p;c=w;l=ka*(g-v)+128>>8;d=ka*(g+v)+128>>8;h=m<<4;u=y<<4;i=i+s+1>>1;s=i-s;x=o*xa+c*va+128>>8;o=o*va-c*xa+128>>8;c=x;l=l+u+1>>1;u=l-u;d=d+h+1>>1;h=d-h;i=i+c+1>>1;c=i-c;s=s+o+1>>1;o=s-o;x=l*wa+d*ya+2048>>12;l=l*ya-d*wa+2048>>12;d=x;x=h*ba+u*ma+2048>>12;h=h*ma-u*ba+2048>>12;u=x;r[e]=i+d;r[e+7]=i-d;r[e+1]=s+u;r[e+6]=s-u;r[e+2]=o+h;r[e+5]=o-h;r[e+3]=c+l;r[e+4]=c-l}else{x=Sa*f+512>>10;r[e]=x;r[e+1]=x;r[e+2]=x;r[e+3]=x;r[e+4]=x;r[e+5]=x;r[e+6]=x;r[e+7]=x}}for(let e=0;e<8;++e){f=r[e];g=r[e+8];p=r[e+16];m=r[e+24];b=r[e+32];y=r[e+40];w=r[e+48];v=r[e+56];if(g|p|m|b|y|w|v){i=Sa*f+2048>>12;s=Sa*b+2048>>12;o=p;c=w;l=ka*(g-v)+2048>>12;d=ka*(g+v)+2048>>12;h=m;u=y;i=4112+(i+s+1>>1);s=i-s;x=o*xa+c*va+2048>>12;o=o*va-c*xa+2048>>12;c=x;l=l+u+1>>1;u=l-u;d=d+h+1>>1;h=d-h;i=i+c+1>>1;c=i-c;s=s+o+1>>1;o=s-o;x=l*wa+d*ya+2048>>12;l=l*ya-d*wa+2048>>12;d=x;x=h*ba+u*ma+2048>>12;h=h*ma-u*ba+2048>>12;u=x;f=i+d;v=i-d;g=s+u;w=s-u;p=o+h;y=o-h;m=c+l;b=c-l;f<16?f=0:f>=4080?f=255:f>>=4;g<16?g=0:g>=4080?g=255:g>>=4;p<16?p=0:p>=4080?p=255:p>>=4;m<16?m=0:m>=4080?m=255:m>>=4;b<16?b=0:b>=4080?b=255:b>>=4;y<16?y=0:y>=4080?y=255:y>>=4;w<16?w=0:w>=4080?w=255:w>>=4;v<16?v=0:v>=4080?v=255:v>>=4;n[t+e]=f;n[t+e+8]=g;n[t+e+16]=p;n[t+e+24]=m;n[t+e+32]=b;n[t+e+40]=y;n[t+e+48]=w;n[t+e+56]=v}else{x=Sa*f+8192>>14;x=x<-2040?0:x>=2024?255:x+2056>>4;n[t+e]=x;n[t+e+8]=x;n[t+e+16]=x;n[t+e+24]=x;n[t+e+32]=x;n[t+e+40]=x;n[t+e+48]=x;n[t+e+56]=x}}}function buildComponentData(e,t){const r=t.blocksPerLine,a=t.blocksPerColumn,n=new Int16Array(64);for(let e=0;e2&&void 0!==arguments[2]?arguments[2]:t;const a=e.length-1;let n=r=a)return null;const i=readUint16(e,t);if(i>=65472&&i<=65534)return{invalid:null,marker:i,offset:t};let s=readUint16(e,n);for(;!(s>=65472&&s<=65534);){if(++n>=a)return null;s=readUint16(e,n)}return{invalid:i.toString(16),marker:s,offset:n}}function prepareComponents(e){const t=Math.ceil(e.samplesPerLine/8/e.maxH),r=Math.ceil(e.scanLines/8/e.maxV);for(const a of e.components){const n=Math.ceil(Math.ceil(e.samplesPerLine/8)*a.h/e.maxH),i=Math.ceil(Math.ceil(e.scanLines/8)*a.v/e.maxV),s=t*a.h,o=64*(r*a.v)*(s+1);a.blockData=new Int16Array(o);a.blocksPerLine=n;a.blocksPerColumn=i}e.mcusPerLine=t;e.mcusPerColumn=r}function readDataBlock(e,t){const r=readUint16(e,t);let a=(t+=2)+r-2;const n=findNextFileMarker(e,a,t);if(n?.invalid){warn("readDataBlock - incorrect length, current marker is: "+n.invalid);a=n.offset}const i=e.subarray(t,a);return{appData:i,oldOffset:t,newOffset:t+i.length}}function skipData(e,t){const r=readUint16(e,t),a=(t+=2)+r-2,n=findNextFileMarker(e,a,t);return n?.invalid?n.offset:a}class JpegImage{constructor(){let{decodeTransform:e=null,colorTransform:t=-1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._decodeTransform=e;this._colorTransform=t}static canUseImageDecoder(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,r=null,a=0,n=null,i=readUint16(e,a);a+=2;if(65496!==i)throw new JpegError("SOI not found");i=readUint16(e,a);a+=2;e:for(;65497!==i;){switch(i){case 65505:const{appData:t,oldOffset:s,newOffset:o}=readDataBlock(e,a);a=o;if(69===t[0]&&120===t[1]&&105===t[2]&&102===t[3]&&0===t[4]&&0===t[5]){if(r)throw new JpegError("Duplicate EXIF-blocks found.");r={exifStart:s+6,exifEnd:o}}i=readUint16(e,a);a+=2;continue;case 65472:case 65473:case 65474:n=e[a+7];break e;case 65535:255!==e[a]&&a--}a=skipData(e,a);i=readUint16(e,a);a+=2}return 4===n||3===n&&0===t?null:r||{}}parse(e){let t,r,{dnlScanLines:a=null}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=0,i=null,s=null,o=0;const c=[],l=[],h=[];let u=readUint16(e,n);n+=2;if(65496!==u)throw new JpegError("SOI not found");u=readUint16(e,n);n+=2;e:for(;65497!==u;){let d,f,g;switch(u){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:const{appData:p,newOffset:m}=readDataBlock(e,n);n=m;65504===u&&74===p[0]&&70===p[1]&&73===p[2]&&70===p[3]&&0===p[4]&&(i={version:{major:p[5],minor:p[6]},densityUnits:p[7],xDensity:p[8]<<8|p[9],yDensity:p[10]<<8|p[11],thumbWidth:p[12],thumbHeight:p[13],thumbData:p.subarray(14,14+3*p[12]*p[13])});65518===u&&65===p[0]&&100===p[1]&&111===p[2]&&98===p[3]&&101===p[4]&&(s={version:p[5]<<8|p[6],flags0:p[7]<<8|p[8],flags1:p[9]<<8|p[10],transformCode:p[11]});break;case 65499:const b=readUint16(e,n);n+=2;const y=b+n-2;let w;for(;n>4){if(t>>4!=1)throw new JpegError("DQT - invalid table spec");for(f=0;f<64;f++){w=pa[f];r[w]=readUint16(e,n);n+=2}}else for(f=0;f<64;f++){w=pa[f];r[w]=e[n++]}c[15&t]=r}break;case 65472:case 65473:case 65474:if(t)throw new JpegError("Only single frame JPEGs supported");n+=2;t={};t.extended=65473===u;t.progressive=65474===u;t.precision=e[n++];const v=readUint16(e,n);n+=2;t.scanLines=a||v;t.samplesPerLine=readUint16(e,n);n+=2;t.components=[];t.componentIds={};const x=e[n++];let S=0,k=0;for(d=0;d>4,i=15&e[n+1];S>4?l:h)[15&t]=buildHuffmanTable(r,i)}break;case 65501:n+=2;r=readUint16(e,n);n+=2;break;case 65498:const T=1==++o&&!a;n+=2;const _=e[n++],O=[];for(d=0;d<_;d++){const r=e[n++],a=t.componentIds[r],i=t.components[a];i.index=r;const s=e[n++];i.huffmanTableDC=h[s>>4];i.huffmanTableAC=l[15&s];O.push(i)}const M=e[n++],R=e[n++],D=e[n++];try{n+=decodeScan(e,n,t,O,r,M,R,D>>4,15&D,T)}catch(t){if(t instanceof DNLMarkerError){warn(`${t.message} -- attempting to re-parse the JPEG image.`);return this.parse(e,{dnlScanLines:t.scanLines})}if(t instanceof EOIMarkerError){warn(`${t.message} -- ignoring the rest of the image data.`);break e}throw t}break;case 65500:n+=4;break;case 65535:255!==e[n]&&n--;break;default:const E=findNextFileMarker(e,n-2,n-3);if(E?.invalid){warn("JpegImage.parse - unexpected data, current marker is: "+E.invalid);n=E.offset;break}if(!E||n>=e.length-1){warn("JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).");break e}throw new JpegError("JpegImage.parse - unknown marker: "+u.toString(16))}u=readUint16(e,n);n+=2}if(!t)throw new JpegError("JpegImage.parse - no frame data found.");this.width=t.samplesPerLine;this.height=t.scanLines;this.jfif=i;this.adobe=s;this.components=[];for(const e of t.components){const r=c[e.quantizationId];r&&(e.quantizationTable=r);this.components.push({index:e.index,output:buildComponentData(0,e),scaleX:e.h/t.maxH,scaleY:e.v/t.maxV,blocksPerLine:e.blocksPerLine,blocksPerColumn:e.blocksPerColumn})}this.numComponents=this.components.length}_getLinearizedBlockData(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const a=this.width/e,n=this.height/t;let i,s,o,c,l,h,u,d,f,g,p,m=0;const b=this.components.length,y=e*t*b,w=new Uint8ClampedArray(y),v=new Uint32Array(e),x=4294967288;let S;for(u=0;u>8)+k[f+1];return w}get _isColorConversionNeeded(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this._colorTransform&&(82!==this.components[0].index||71!==this.components[1].index||66!==this.components[2].index):1===this._colorTransform}_convertYccToRgb(e){let t,r,a;for(let n=0,i=e.length;n4)throw new JpegError("Unsupported color mode");const s=this._getLinearizedBlockData(t,r,i);if(1===this.numComponents&&(a||n)){const e=s.length*(a?4:3),t=new Uint8ClampedArray(e);let r=0;if(a)!function grayToRGBA(e,t){if(FeatureTest.isLittleEndian)for(let r=0,a=e.length;r0&&(e=e.subarray(t));break}return e}var Ca={_:FeatureTest.isImageDecoderSupported};function openjpeg_defineProperty(e,t,r){return(t=function openjpeg_toPropertyKey(e){var t=function openjpeg_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var OpenJPEG=async function(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=new Promise(((r,a)=>{e=r;t=a})),n="./this.program",quit_=(e,t)=>{throw t},i=import.meta.url;try{new URL(".",i).href}catch{}var s,o,c,l,h,u,d=console.log.bind(console),f=console.error.bind(console),g=!1;function updateMemoryViews(){var e=s.buffer;c=new Int8Array(e);new Int16Array(e);l=new Uint8Array(e);new Uint16Array(e);h=new Int32Array(e);u=new Uint32Array(e);new Float32Array(e);new Float64Array(e);new BigInt64Array(e);new BigUint64Array(e)}var p=0,m=null;class ExitStatus{constructor(e){openjpeg_defineProperty(this,"name","ExitStatus");this.message=`Program terminated with exit(${e})`;this.status=e}}var callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(r)},b=[],addOnPostRun=e=>b.push(e),y=[],addOnPreRun=e=>y.push(e),w=!0,v=0,x={},handleException=e=>{if(e instanceof ExitStatus||"unwind"==e)return o;quit_(0,e)},keepRuntimeAlive=()=>w||v>0,_proc_exit=e=>{o=e;if(!keepRuntimeAlive()){r.onExit?.(e);g=!0}quit_(0,new ExitStatus(e))},_exit=(e,t)=>{o=e;_proc_exit(e)},callUserCallback=e=>{if(!g)try{e();(()=>{if(!keepRuntimeAlive())try{_exit(o)}catch(e){handleException(e)}})()}catch(e){handleException(e)}},growMemory=e=>{var t=(e-s.buffer.byteLength+65535)/65536|0;try{s.grow(t);updateMemoryViews();return 1}catch(e){}},S={},getEnvStrings=()=>{if(!getEnvStrings.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:n||"./this.program"};for(var t in S)void 0===S[t]?delete e[t]:e[t]=S[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);getEnvStrings.strings=r}return getEnvStrings.strings},lengthBytesUTF8=e=>{for(var t=0,r=0;r=55296&&a<=57343){t+=4;++r}else t+=3}return t},k=[null,[],[]],C="undefined"!=typeof TextDecoder?new TextDecoder:void 0,UTF8ArrayToString=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(var r=t+(arguments.length>2&&void 0!==arguments[2]?arguments[2]:NaN),a=t;e[a]&&!(a>=r);)++a;if(a-t>16&&e.buffer&&C)return C.decode(e.subarray(t,a));for(var n="";t>10,56320|1023&c)}}else n+=String.fromCharCode((31&i)<<6|s)}else n+=String.fromCharCode(i)}return n},printChar=(e,t)=>{var r=k[e];if(0===t||10===t){(1===e?d:f)(UTF8ArrayToString(r));r.length=0}else r.push(t)},UTF8ToString=(e,t)=>e?UTF8ArrayToString(l,e,t):"";r.noExitRuntime&&(w=r.noExitRuntime);r.print&&(d=r.print);r.printErr&&(f=r.printErr);r.wasmBinary&&r.wasmBinary;r.arguments&&r.arguments;r.thisProgram&&(n=r.thisProgram);r.writeArrayToMemory=(e,t)=>{c.set(e,t)};var T={l:()=>function abort(e){r.onAbort?.(e);f(e="Aborted("+e+")");g=!0;e+=". Build with -sASSERTIONS for more info.";var a=new WebAssembly.RuntimeError(e);t(a);throw a}(""),k:()=>{w=!1;v=0},m:(e,t)=>{if(x[e]){clearTimeout(x[e].id);delete x[e]}if(!t)return 0;var r=setTimeout((()=>{delete x[e];callUserCallback((()=>O(e,performance.now())))}),t);x[e]={id:r,timeout_ms:t};return 0},g:function _copy_pixels_1(e,t){e>>=2;const a=r.imageData=new Uint8ClampedArray(t),n=h.subarray(e,e+t);a.set(n)},f:function _copy_pixels_3(e,t,a,n){e>>=2;t>>=2;a>>=2;const i=r.imageData=new Uint8ClampedArray(3*n),s=h.subarray(e,e+n),o=h.subarray(t,t+n),c=h.subarray(a,a+n);for(let e=0;e>=2;t>>=2;a>>=2;n>>=2;const s=r.imageData=new Uint8ClampedArray(4*i),o=h.subarray(e,e+i),c=h.subarray(t,t+i),l=h.subarray(a,a+i),u=h.subarray(n,n+i);for(let e=0;e{var t,r,a=l.length,n=2147483648;if((e>>>=0)>n)return!1;for(var i=1;i<=4;i*=2){var s=a*(1+.2/i);s=Math.min(s,e+100663296);var o=Math.min(n,(t=Math.max(e,s),r=65536,Math.ceil(t/r)*r));if(growMemory(o))return!0}return!1},p:(e,t)=>{var r=0,a=0;for(var n of getEnvStrings()){var i=t+r;u[e+a>>2]=i;r+=((e,t,r,a)=>{if(!(a>0))return 0;for(var n=r,i=r+a-1,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s));if(o<=127){if(r>=i)break;t[r++]=o}else if(o<=2047){if(r+1>=i)break;t[r++]=192|o>>6;t[r++]=128|63&o}else if(o<=65535){if(r+2>=i)break;t[r++]=224|o>>12;t[r++]=128|o>>6&63;t[r++]=128|63&o}else{if(r+3>=i)break;t[r++]=240|o>>18;t[r++]=128|o>>12&63;t[r++]=128|o>>6&63;t[r++]=128|63&o}}t[r]=0;return r-n})(n,l,i,1/0)+1;a+=4}return 0},q:(e,t)=>{var r=getEnvStrings();u[e>>2]=r.length;var a=0;for(var n of r)a+=lengthBytesUTF8(n)+1;u[t>>2]=a;return 0},b:e=>52,o:function _fd_seek(e,t,r,a){t=(n=t)<-9007199254740992||n>9007199254740992?NaN:Number(n);var n;return 70},c:(e,t,r,a)=>{for(var n=0,i=0;i>2],o=u[t+4>>2];t+=8;for(var c=0;c>2]=n;return 0},r:function _gray_to_rgba(e,t){e>>=2;const a=r.imageData=new Uint8ClampedArray(4*t),n=h.subarray(e,e+t);for(let e=0;e>=2;t>>=2;const n=r.imageData=new Uint8ClampedArray(4*a),i=h.subarray(e,e+a),s=h.subarray(t,t+a);for(let e=0;e>=2;t>>=2;a>>=2;const i=r.imageData=new Uint8ClampedArray(4*n),s=h.subarray(e,e+n),o=h.subarray(t,t+n),c=h.subarray(a,a+n);for(let e=0;e{r.instantiateWasm(e,((e,r)=>{t(receiveInstance(e))}))}))}(),O=(_.t,r._malloc=_.u,r._free=_.v,r._jp2_decode=_.w,_.x);!function preInit(){if(r.preInit){"function"==typeof r.preInit&&(r.preInit=[r.preInit]);for(;r.preInit.length>0;)r.preInit.shift()()}}();!function run(){if(p>0)m=run;else{!function preRun(){if(r.preRun){"function"==typeof r.preRun&&(r.preRun=[r.preRun]);for(;r.preRun.length;)addOnPreRun(r.preRun.shift())}callRuntimeCallbacks(y)}();if(p>0)m=run;else if(r.setStatus){r.setStatus("Running...");setTimeout((()=>{setTimeout((()=>r.setStatus("")),1);doRun()}),1)}else doRun()}function doRun(){r.calledRun=!0;if(!g){!function initRuntime(){_.t()}();e(r);r.onRuntimeInitialized?.();!function postRun(){if(r.postRun){"function"==typeof r.postRun&&(r.postRun=[r.postRun]);for(;r.postRun.length;)addOnPostRun(r.postRun.shift())}callRuntimeCallbacks(b)}()}}}();return a};const Fa=OpenJPEG;var Ia;function jpx_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}class JpxError extends yr{constructor(e){super(e,"JpxError")}}class JpxImage{static setOptions(e){let{handler:t,useWasm:r,useWorkerFetch:a,wasmUrl:n}=e;Ma._=jpx_assertClassBrand(JpxImage,this,r);Ra._=jpx_assertClassBrand(JpxImage,this,a);Pa._=jpx_assertClassBrand(JpxImage,this,n);a||(Oa._=jpx_assertClassBrand(JpxImage,this,t))}static async decode(e){let{numComponents:t=4,isIndexedColormap:r=!1,smaskInData:a=!1,reducePower:n=0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!jpx_assertClassBrand(JpxImage,this,Ba)._){const{promise:e,resolve:t}=Promise.withResolvers(),r=[e];jpx_assertClassBrand(JpxImage,this,Ma)._?r.push(Fa({warn,instantiateWasm:jpx_assertClassBrand(JpxImage,this,_instantiateWasm).bind(this,t)})):jpx_assertClassBrand(JpxImage,this,_getJsModule).call(this,t);Ba._=jpx_assertClassBrand(JpxImage,this,Promise.race(r))}const i=await jpx_assertClassBrand(JpxImage,this,Ba)._;if(!i)throw new JpxError("OpenJPEG failed to initialize");let s;try{const o=e.length;s=i._malloc(o);i.writeArrayToMemory(e,s);if(i._jp2_decode(s,o,t>0?t:0,!!r,!!a,n)){const{errorMessages:e}=i;if(e){delete i.errorMessages;throw new JpxError(e)}throw new JpxError("Unknown error")}const{imageData:c}=i;i.imageData=null;return c}finally{s&&i._free(s)}}static cleanup(){Ba._=jpx_assertClassBrand(JpxImage,this,null)}static parseImageProperties(e){let t=e.getByte();for(;t>=0;){const r=t;t=e.getByte();if(65361===(r<<8|t)){e.skip(4);const t=e.getInt32()>>>0,r=e.getInt32()>>>0,a=e.getInt32()>>>0,n=e.getInt32()>>>0;e.skip(16);return{width:t-a,height:r-n,bitsPerComponent:8,componentsCount:e.getUint16()}}}throw new JpxError("No size marker found in JPX stream")}}Ia=JpxImage;async function _getJsModule(e){const t=`${jpx_assertClassBrand(Ia,this,Pa)._}openjpeg_nowasm_fallback.js`;let r=null;try{r=(await import( /*webpackIgnore: true*/ /*@vite-ignore*/ t)).default()}catch(e){warn(`JpxImage#getJsModule: ${e}`)}e(r)}async function _instantiateWasm(e,t,r){const a="openjpeg.wasm";try{jpx_assertClassBrand(Ia,this,_a)._||(jpx_assertClassBrand(Ia,this,Ra)._?_a._=jpx_assertClassBrand(Ia,this,await fetchBinaryData(`${jpx_assertClassBrand(Ia,this,Pa)._}${a}`)):_a._=jpx_assertClassBrand(Ia,this,await jpx_assertClassBrand(Ia,this,Oa)._.sendWithPromise("FetchBinaryData",{type:"wasmFactory",filename:a})));return r((await WebAssembly.instantiate(jpx_assertClassBrand(Ia,this,_a)._,t)).instance)}catch(t){warn(`JpxImage#instantiateWasm: ${t}`);jpx_assertClassBrand(Ia,this,_getJsModule).call(this,e);return null}finally{Oa._=jpx_assertClassBrand(Ia,this,null)}}var Ta,_a={_:null},Oa={_:null},Ba={_:null},Ma={_:!0},Ra={_:!0},Pa={_:null};__webpack_require__(8107),__webpack_require__(7357);function operator_list_defineProperty(e,t,r){return(t=function operator_list_toPropertyKey(e){var t=function operator_list_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function addState(e,t,r,a,n){let i=e;for(let e=0,r=t.length-1;e1e3){l=Math.max(l,d);f+=u+2;d=0;u=0}h.push({transform:t,x:d,y:f,w:r.width,h:r.height});d+=r.width+2;u=Math.max(u,r.height)}const g=Math.max(l,d)+1,p=f+u+1,m=new Uint8Array(g*p*4),b=g<<2;for(let e=0;e=0;){t[i-4]=t[i];t[i-3]=t[i+1];t[i-2]=t[i+2];t[i-1]=t[i+3];t[i+r]=t[i+r-4];t[i+r+1]=t[i+r-3];t[i+r+2]=t[i+r-2];t[i+r+3]=t[i+r-1];i-=b}}const y={width:g,height:p};if(e.isOffscreenCanvasSupported){const e=new OffscreenCanvas(g,p);e.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(m.buffer),g,p),0,0);y.bitmap=e.transferToImageBitmap();y.data=null}else{y.kind=O;y.data=m}r.splice(i,4*c,ar);a.splice(i,4*c,[y,h]);return i+1}));addState(Da,[Ee,je,Qt,Ne],null,(function iterateImageMaskGroup(e,t){const r=e.fnArray,a=(t-(e.iCurr-3))%4;switch(a){case 0:return r[t]===Ee;case 1:return r[t]===je;case 2:return r[t]===Qt;case 3:return r[t]===Ne}throw new Error(`iterateImageMaskGroup - invalid pos: ${a}`)}),(function foundImageMaskGroup(e,t){const r=e.fnArray,a=e.argsArray,n=e.iCurr,i=n-3,s=n-2,o=n-1;let c=Math.floor((t-i)/4);if(c<10)return t-(t-i)%4;let l,h,u=!1;const d=a[o][0],f=a[s][0],g=a[s][1],p=a[s][2],m=a[s][3];if(g===p){u=!0;l=s+4;let e=o+4;for(let t=1;t=4&&r[i-4]===r[s]&&r[i-3]===r[o]&&r[i-2]===r[c]&&r[i-1]===r[l]&&a[i-4][0]===h&&a[i-4][1]===u){d++;f-=5}let g=f+4;for(let e=1;e{const t=e.argsArray,r=t[e.iCurr-1][0];if(r!==Ge&&r!==$e&&r!==Je&&r!==Ye&&r!==Ze&&r!==Qe)return!0;const a=t[e.iCurr-2];return 1===a[0]&&0===a[1]&&0===a[2]&&1===a[3]}),(()=>!1),((e,t)=>{const{fnArray:r,argsArray:a}=e,n=e.iCurr,i=n-3,s=n-2,o=a[n-1],c=a[s],[,[l],h]=o;if(h){Util.scaleMinMax(c,h);for(let e=0,t=l.length;e=r)break}a=(a||Da)[e[t]];if(a&&!Array.isArray(a)){i.iCurr=t;t++;if(!a.checkFn||(0,a.checkFn)(i)){n=a;a=null}else a=null}else t++}this.state=a;this.match=n;this.lastProcessed=t}flush(){for(;this.match;){const e=this.queue.fnArray.length;this.lastProcessed=(0,this.match.processFn)(this.context,e);this.match=null;this.state=null;this._optimize()}}reset(){this.state=null;this.match=null;this.lastProcessed=0}}class OperatorList{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;this._streamSink=t;this.fnArray=[];this.argsArray=[];this.optimizer=!t||e&p?new NullOptimizer(this):new QueueOptimizer(this);this.dependencies=new Set;this._totalLength=0;this.weight=0;this._resolved=t?null:Promise.resolve()}static setOptions(e){let{isOffscreenCanvasSupported:t}=e;this.isOffscreenCanvasSupported=t}get length(){return this.argsArray.length}get ready(){return this._resolved||this._streamSink.ready}get totalLength(){return this._totalLength+this.length}addOp(e,t){this.optimizer.push(e,t);this.weight++;this._streamSink&&(this.weight>=OperatorList.CHUNK_SIZE||this.weight>=OperatorList.CHUNK_SIZE_ABOUT&&(e===Ne||e===it))&&this.flush()}addImageOps(e,t,r){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(a){this.addOp(Ee);this.addOp(De,[[["SMask",!1]]])}void 0!==r&&this.addOp(Ht,["OC",r]);this.addOp(e,t);void 0!==r&&this.addOp(Wt,[]);a&&this.addOp(Ne)}addDependency(e){if(!this.dependencies.has(e)){this.dependencies.add(e);this.addOp(Ie,[e])}}addDependencies(e){for(const t of e)this.addDependency(t)}addOpList(e){if(e instanceof OperatorList){for(const t of e.dependencies)this.dependencies.add(t);for(let t=0,r=e.length;t0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.optimizer.flush();const r=this.length;this._totalLength+=r;this._streamSink.enqueue({fnArray:this.fnArray,argsArray:this.argsArray,lastChunk:e,separateAnnots:t,length:r},1,this._transfers);this.dependencies.clear();this.fnArray.length=0;this.argsArray.length=0;this.weight=0;this.optimizer.reset()}}Ta=OperatorList;operator_list_defineProperty(OperatorList,"CHUNK_SIZE",1e3);operator_list_defineProperty(OperatorList,"CHUNK_SIZE_ABOUT",Ta.CHUNK_SIZE-5);operator_list_defineProperty(OperatorList,"isOffscreenCanvasSupported",!1);__webpack_require__(3609),__webpack_require__(116),__webpack_require__(9479),__webpack_require__(7588);function hexToInt(e,t){let r=0;for(let a=0;a<=t;a++)r=r<<8|e[a];return r>>>0}function hexToStr(e,t){return 1===t?String.fromCharCode(e[0],e[1]):3===t?String.fromCharCode(e[0],e[1],e[2],e[3]):String.fromCharCode(...e.subarray(0,t+1))}function addHex(e,t,r){let a=0;for(let n=r;n>=0;n--){a+=e[n]+t[n];e[n]=255&a;a>>=8}}function incHex(e,t){let r=1;for(let a=t;a>=0&&r>0;a--){r+=e[a];e[a]=255&r;r>>=8}}const Ea=16;class BinaryCMapStream{constructor(e){this.buffer=e;this.pos=0;this.end=e.length;this.tmpBuf=new Uint8Array(19)}readByte(){return this.pos>=this.end?-1:this.buffer[this.pos++]}readNumber(){let e,t=0;do{const r=this.readByte();if(r<0)throw new FormatError("unexpected EOF in bcmap");e=!(128&r);t=t<<7|127&r}while(!e);return t}readSigned(){const e=this.readNumber();return 1&e?~(e>>>1):e>>>1}readHex(e,t){e.set(this.buffer.subarray(this.pos,this.pos+t+1));this.pos+=t+1}readHexNumber(e,t){let r;const a=this.tmpBuf;let n=0;do{const e=this.readByte();if(e<0)throw new FormatError("unexpected EOF in bcmap");r=!(128&e);a[n++]=127&e}while(!r);let i=t,s=0,o=0;for(;i>=0;){for(;o<8&&a.length>0;){s|=a[--n]<>=8;o-=8}}readHexSigned(e,t){this.readHexNumber(e,t);const r=1&e[t]?255:0;let a=0;for(let n=0;n<=t;n++){a=(1&a)<<8|e[n];e[n]=a>>1^r}}readString(){const e=this.readNumber(),t=new Array(e);for(let r=0;r=0;){const e=d>>5;if(7===e){switch(31&d){case 0:a.readString();break;case 1:i=a.readString()}continue}const r=!!(16&d),n=15&d;if(n+1>Ea)throw new Error("BinaryCMapReader.process: Invalid dataSize.");const f=1,g=a.readNumber();switch(e){case 0:a.readHex(s,n);a.readHexNumber(o,n);addHex(o,s,n);t.addCodespaceRange(n+1,hexToInt(s,n),hexToInt(o,n));for(let e=1;e=0;--n){a[r+n]=255&s;s>>=8}}}}class AsciiHexStream extends DecodeStream{constructor(e,t){t&&(t*=.5);super(t);this.str=e;this.dict=e.dict;this.firstDigit=-1}readBlock(){const e=this.str.getBytes(8e3);if(!e.length){this.eof=!0;return}const t=e.length+1>>1,r=this.ensureBuffer(this.bufferLength+t);let a=this.bufferLength,n=this.firstDigit;for(const t of e){let e;if(t>=48&&t<=57)e=15&t;else{if(!(t>=65&&t<=70||t>=97&&t<=102)){if(62===t){this.eof=!0;break}continue}e=9+(15&t)}if(n<0)n=e;else{r[a++]=n<<4|e;n=-1}}if(n>=0&&this.eof){r[a++]=n<<4;n=-1}this.firstDigit=n;this.bufferLength=a}}const Na=-1,ja=[[-1,-1],[-1,-1],[7,8],[7,7],[6,6],[6,6],[6,5],[6,5],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2]],La=[[-1,-1],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]],Ua=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]],qa=[[-1,-1],[-1,-1],[12,-2],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]],Xa=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]],Ha=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];class CCITTFaxDecoder{constructor(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("function"!=typeof e?.next)throw new Error('CCITTFaxDecoder - invalid "source" parameter.');this.source=e;this.eof=!1;this.encoding=r.K||0;this.eoline=r.EndOfLine||!1;this.byteAlign=r.EncodedByteAlign||!1;this.columns=r.Columns||1728;this.rows=r.Rows||0;this.eoblock=r.EndOfBlock??!0;this.black=r.BlackIs1||!1;this.codingLine=new Uint32Array(this.columns+1);this.refLine=new Uint32Array(this.columns+2);this.codingLine[0]=this.columns;this.codingPos=0;this.row=0;this.nextLine2D=this.encoding<0;this.inputBits=0;this.inputBuf=0;this.outputBits=0;this.rowsDone=!1;for(;0===(t=this._lookBits(12));)this._eatBits(1);1===t&&this._eatBits(12);if(this.encoding>0){this.nextLine2D=!this._lookBits(1);this._eatBits(1)}}readNextChar(){if(this.eof)return-1;const e=this.refLine,t=this.codingLine,r=this.columns;let a,n,i,s,o;if(0===this.outputBits){this.rowsDone&&(this.eof=!0);if(this.eof)return-1;this.err=!1;let i,o,c;if(this.nextLine2D){for(s=0;t[s]=64);do{o+=c=this._getWhiteCode()}while(c>=64)}else{do{i+=c=this._getWhiteCode()}while(c>=64);do{o+=c=this._getBlackCode()}while(c>=64)}this._addPixels(t[this.codingPos]+i,n);t[this.codingPos]0?--a:++a;for(;e[a]<=t[this.codingPos]&&e[a]0?--a:++a;for(;e[a]<=t[this.codingPos]&&e[a]0?--a:++a;for(;e[a]<=t[this.codingPos]&&e[a]=64);else do{i+=c=this._getWhiteCode()}while(c>=64);this._addPixels(t[this.codingPos]+i,n);n^=1}}let l=!1;this.byteAlign&&(this.inputBits&=-8);if(this.eoblock||this.row!==this.rows-1){i=this._lookBits(12);if(this.eoline)for(;i!==Na&&1!==i;){this._eatBits(1);i=this._lookBits(12)}else for(;0===i;){this._eatBits(1);i=this._lookBits(12)}if(1===i){this._eatBits(12);l=!0}else i===Na&&(this.eof=!0)}else this.rowsDone=!0;if(!this.eof&&this.encoding>0&&!this.rowsDone){this.nextLine2D=!this._lookBits(1);this._eatBits(1)}if(this.eoblock&&l&&this.byteAlign){i=this._lookBits(12);if(1===i){this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1)}if(this.encoding>=0)for(s=0;s<4;++s){i=this._lookBits(12);1!==i&&info("bad rtc code: "+i);this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1)}}this.eof=!0}}else if(this.err&&this.eoline){for(;;){i=this._lookBits(13);if(i===Na){this.eof=!0;return-1}if(i>>1==1)break;this._eatBits(1)}this._eatBits(12);if(this.encoding>0){this._eatBits(1);this.nextLine2D=!(1&i)}}this.outputBits=t[0]>0?t[this.codingPos=0]:t[this.codingPos=1];this.row++}if(this.outputBits>=8){o=1&this.codingPos?0:255;this.outputBits-=8;if(0===this.outputBits&&t[this.codingPos]i){o<<=i;1&this.codingPos||(o|=255>>8-i);this.outputBits-=i;i=0}else{o<<=this.outputBits;1&this.codingPos||(o|=255>>8-this.outputBits);i-=this.outputBits;this.outputBits=0;if(t[this.codingPos]0){o<<=i;i=0}}}while(i)}this.black&&(o^=255);return o}_addPixels(e,t){const r=this.codingLine;let a=this.codingPos;if(e>r[a]){if(e>this.columns){info("row is wrong length");this.err=!0;e=this.columns}1&a^t&&++a;r[a]=e}this.codingPos=a}_addPixelsNeg(e,t){const r=this.codingLine;let a=this.codingPos;if(e>r[a]){if(e>this.columns){info("row is wrong length");this.err=!0;e=this.columns}1&a^t&&++a;r[a]=e}else if(e0&&e=n){const t=r[e-n];if(t[0]===a){this._eatBits(a);return[!0,t[1],!0]}}}return[!1,0,!1]}_getTwoDimCode(){let e,t=0;if(this.eoblock){t=this._lookBits(7);e=ja[t];if(e?.[0]>0){this._eatBits(e[0]);return e[1]}}else{const e=this._findTableCode(1,7,ja);if(e[0]&&e[2])return e[1]}info("Bad two dim code");return Na}_getWhiteCode(){let e,t=0;if(this.eoblock){t=this._lookBits(12);if(t===Na)return 1;e=t>>5?Ua[t>>3]:La[t];if(e[0]>0){this._eatBits(e[0]);return e[1]}}else{let e=this._findTableCode(1,9,Ua);if(e[0])return e[1];e=this._findTableCode(11,12,La);if(e[0])return e[1]}info("bad white code");this._eatBits(1);return 1}_getBlackCode(){let e,t;if(this.eoblock){e=this._lookBits(13);if(e===Na)return 1;t=e>>7?!(e>>9)&&e>>7?Xa[(e>>1)-64]:Ha[e>>7]:qa[e];if(t[0]>0){this._eatBits(t[0]);return t[1]}}else{let e=this._findTableCode(2,6,Ha);if(e[0])return e[1];e=this._findTableCode(7,12,Xa,64);if(e[0])return e[1];e=this._findTableCode(10,13,qa);if(e[0])return e[1]}info("bad black code");this._eatBits(1);return 1}_lookBits(e){let t;for(;this.inputBits>16-e;this.inputBuf=this.inputBuf<<8|t;this.inputBits+=8}return this.inputBuf>>this.inputBits-e&65535>>16-e}_eatBits(e){(this.inputBits-=e)<0&&(this.inputBits=0)}}class CCITTFaxStream extends DecodeStream{constructor(e,t,r){super(t);this.str=e;this.dict=e.dict;r instanceof Dict||(r=Dict.empty);const a={next:()=>e.getByte()};this.ccittFaxDecoder=new CCITTFaxDecoder(a,{K:r.get("K"),EndOfLine:r.get("EndOfLine"),EncodedByteAlign:r.get("EncodedByteAlign"),Columns:r.get("Columns"),Rows:r.get("Rows"),EndOfBlock:r.get("EndOfBlock"),BlackIs1:r.get("BlackIs1")})}readBlock(){for(;!this.eof;){const e=this.ccittFaxDecoder.readNextChar();if(-1===e){this.eof=!0;return}this.ensureBuffer(this.bufferLength+1);this.buffer[this.bufferLength++]=e}}}function flate_stream_classPrivateMethodInitSpec(e,t){(function flate_stream_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function flate_stream_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const Wa=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),za=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),Ga=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),$a=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],Va=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];var Ka=new WeakSet;class FlateStream extends DecodeStream{constructor(e,t){super(t);flate_stream_classPrivateMethodInitSpec(this,Ka);this.str=e;this.dict=e.dict;const r=e.getByte(),a=e.getByte();if(-1===r||-1===a)throw new FormatError(`Invalid header in flate stream: ${r}, ${a}`);if(8!=(15&r))throw new FormatError(`Unknown compression method in flate stream: ${r}, ${a}`);if(((r<<8)+a)%31!=0)throw new FormatError(`Bad FCHECK in flate stream: ${r}, ${a}`);if(32&a)throw new FormatError(`FDICT bit set in flate stream: ${r}, ${a}`);this.codeSize=0;this.codeBuf=0}async getImageData(e,t){const r=await this.asyncGetBytes();return r?r.length<=e?r:r.subarray(0,e):this.getBytes(e)}async asyncGetBytes(){this.str.reset();const e=this.str.getBytes();try{const{readable:t,writable:r}=new DecompressionStream("deflate"),a=r.getWriter();await a.ready;a.write(e).then((async()=>{await a.ready;await a.close()})).catch((()=>{}));const n=[];let i=0;for await(const e of t){n.push(e);i+=e.byteLength}const s=new Uint8Array(i);let o=0;for(const e of n){s.set(e,o);o+=e.byteLength}return s}catch{this.str=new Stream(e,2,e.length,this.str.dict);this.reset();return null}}get isAsync(){return!0}getBits(e){const t=this.str;let r,a=this.codeSize,n=this.codeBuf;for(;a>e;this.codeSize=a-=e;return r}getCode(e){const t=this.str,r=e[0],a=e[1];let n,i=this.codeSize,s=this.codeBuf;for(;i>16,l=65535&o;if(c<1||i>c;this.codeSize=i-c;return l}generateHuffmanTable(e){const t=e.length;let r,a=0;for(r=0;ra&&(a=e[r]);const n=1<>=1}for(r=e;r>=1;if(0===t){let t;if(-1===(t=a.getByte())){flate_stream_assertClassBrand(Ka,this,_endsStreamOnError).call(this,"Bad block header in flate stream");return}let r=t;if(-1===(t=a.getByte())){flate_stream_assertClassBrand(Ka,this,_endsStreamOnError).call(this,"Bad block header in flate stream");return}r|=t<<8;if(-1===(t=a.getByte())){flate_stream_assertClassBrand(Ka,this,_endsStreamOnError).call(this,"Bad block header in flate stream");return}let n=t;if(-1===(t=a.getByte())){flate_stream_assertClassBrand(Ka,this,_endsStreamOnError).call(this,"Bad block header in flate stream");return}n|=t<<8;if(n!==(65535&~r)&&(0!==r||0!==n))throw new FormatError("Bad uncompressed block length in flate stream");this.codeBuf=0;this.codeSize=0;const i=this.bufferLength,s=i+r;e=this.ensureBuffer(s);this.bufferLength=s;if(0===r)-1===a.peekByte()&&(this.eof=!0);else{const t=a.getBytes(r);e.set(t,i);t.length0;)h[o++]=f}n=this.generateHuffmanTable(h.subarray(0,e));i=this.generateHuffmanTable(h.subarray(e,l))}}e=this.buffer;let s=e?e.length:0,o=this.bufferLength;for(;;){let t=this.getCode(n);if(t<256){if(o+1>=s){e=this.ensureBuffer(o+1);s=e.length}e[o++]=t;continue}if(256===t){this.bufferLength=o;return}t-=257;t=za[t];let a=t>>16;a>0&&(a=this.getBits(a));r=(65535&t)+a;t=this.getCode(i);t=Ga[t];a=t>>16;a>0&&(a=this.getBits(a));const c=(65535&t)+a;if(o+r>=s){e=this.ensureBuffer(o+r);s=e.length}for(let t=0;t>9&127;this.clow=this.clow<<7&65535;this.ct-=7;this.a=32768}byteIn(){const e=this.data;let t=this.bp;if(255===e[t])if(e[t+1]>143){this.clow+=65280;this.ct=8}else{t++;this.clow+=e[t]<<9;this.ct=7;this.bp=t}else{t++;this.clow+=t65535){this.chigh+=this.clow>>16;this.clow&=65535}}readBit(e,t){let r=e[t]>>1,a=1&e[t];const n=Ja[r],i=n.qe;let s,o=this.a-i;if(this.chigh>15&1;this.clow=this.clow<<1&65535;this.ct--}while(!(32768&o));this.a=o;e[t]=r<<1|a;return s}}class Jbig2Error extends yr{constructor(e){super(e,"Jbig2Error")}}class ContextCache{getContexts(e){return e in this?this[e]:this[e]=new Int8Array(65536)}}class DecodingContext{constructor(e,t,r){this.data=e;this.start=t;this.end=r}get decoder(){return shadow(this,"decoder",new ArithmeticDecoder(this.data,this.start,this.end))}get contextCache(){return shadow(this,"contextCache",new ContextCache)}}function decodeInteger(e,t,r){const a=e.getContexts(t);let n=1;function readBits(e){let t=0;for(let i=0;i>>0}const i=readBits(1),s=readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(32)+4436:readBits(12)+340:readBits(8)+84:readBits(6)+20:readBits(4)+4:readBits(2);let o;0===i?o=s:s>0&&(o=-s);return o>=-2147483648&&o<=Or?o:null}function decodeIAID(e,t,r){const a=e.getContexts("IAID");let n=1;for(let e=0;ee.y-t.y||e.x-t.x));const h=l.length,u=new Int8Array(h),d=new Int8Array(h),f=[];let g,p,m=0,b=0,y=0,w=0;for(p=0;p=C&&N<_&&e>=T){H=H<<1&m;for(p=0;p=0&&L=0){U=R[j][L];U&&(H|=U<=e?l<<=1:l=l<<1|x[o][c]}for(f=0;f=w||c<0||c>=y?l<<=1:l=l<<1|a[o][c]}const g=S.readBit(k,l);t[s]=g}}return x}function decodeTextRegion(e,t,r,a,n,i,s,o,c,l,h,u,d,f,g,p,m,b,y){if(e&&t)throw new Jbig2Error("refinement with Huffman is not supported");const w=[];let v,x;for(v=0;v1&&(n=e?y.readBits(b):decodeInteger(k,"IAIT",S));const i=s*C+n,T=e?f.symbolIDTable.decode(y):decodeIAID(k,S,c),_=t&&(e?y.readBit():decodeInteger(k,"IARI",S));let O=o[T],M=O[0].length,R=O.length;if(_){const e=decodeInteger(k,"IARDW",S),t=decodeInteger(k,"IARDH",S);M+=e;R+=t;O=decodeRefinement(M,R,g,O,(e>>1)+decodeInteger(k,"IARDX",S),(t>>1)+decodeInteger(k,"IARDY",S),!1,p,m)}let D=0;l?1&u?D=R-1:a+=R-1:u>1?a+=M-1:D=M-1;const E=i-(1&u?0:R-1),N=a-(2&u?M-1:0);let j,L,U;if(l)for(j=0;j>5&7;const c=[31&s];let l=t+6;if(7===s){o=536870911&readUint32(e,l-1);l+=3;let t=o+7>>3;c[0]=e[l++];for(;--t>0;)c.push(e[l++])}else if(5===s||6===s)throw new Jbig2Error("invalid referred-to flags");r.retainBits=c;let h=4;r.number<=256?h=1:r.number<=65536&&(h=2);const u=[];let d,f;for(d=0;d>>24&255;i[3]=t.height>>16&255;i[4]=t.height>>8&255;i[5]=255&t.height;for(d=l,f=e.length;d>2&3;e.huffmanDWSelector=t>>4&3;e.bitmapSizeSelector=t>>6&1;e.aggregationInstancesSelector=t>>7&1;e.bitmapCodingContextUsed=!!(256&t);e.bitmapCodingContextRetained=!!(512&t);e.template=t>>10&3;e.refinementTemplate=t>>12&1;l+=2;if(!e.huffman){c=0===e.template?4:1;s=[];for(o=0;o>2&3;h.stripSize=1<>4&3;h.transposed=!!(64&u);h.combinationOperator=u>>7&3;h.defaultPixelValue=u>>9&1;h.dsOffset=u<<17>>27;h.refinementTemplate=u>>15&1;if(h.huffman){const e=readUint16(a,l);l+=2;h.huffmanFS=3&e;h.huffmanDS=e>>2&3;h.huffmanDT=e>>4&3;h.huffmanRefinementDW=e>>6&3;h.huffmanRefinementDH=e>>8&3;h.huffmanRefinementDX=e>>10&3;h.huffmanRefinementDY=e>>12&3;h.huffmanRefinementSizeSelector=!!(16384&e)}if(h.refinement&&!h.refinementTemplate){s=[];for(o=0;o<2;o++){s.push({x:readInt8(a,l),y:readInt8(a,l+1)});l+=2}h.refinementAt=s}h.numberOfSymbolInstances=readUint32(a,l);l+=4;i=[h,r.referredTo,a,l,n];break;case 16:const d={},f=a[l++];d.mmr=!!(1&f);d.template=f>>1&3;d.patternWidth=a[l++];d.patternHeight=a[l++];d.maxPatternIndex=readUint32(a,l);l+=4;i=[d,r.number,a,l,n];break;case 22:case 23:const g={};g.info=readRegionSegmentInformation(a,l);l+=rn;const p=a[l++];g.mmr=!!(1&p);g.template=p>>1&3;g.enableSkip=!!(8&p);g.combinationOperator=p>>4&7;g.defaultPixelValue=p>>7&1;g.gridWidth=readUint32(a,l);l+=4;g.gridHeight=readUint32(a,l);l+=4;g.gridOffsetX=4294967295&readUint32(a,l);l+=4;g.gridOffsetY=4294967295&readUint32(a,l);l+=4;g.gridVectorX=readUint16(a,l);l+=2;g.gridVectorY=readUint16(a,l);l+=2;i=[g,r.referredTo,a,l,n];break;case 38:case 39:const m={};m.info=readRegionSegmentInformation(a,l);l+=rn;const b=a[l++];m.mmr=!!(1&b);m.template=b>>1&3;m.prediction=!!(8&b);if(!m.mmr){c=0===m.template?4:1;s=[];for(o=0;o>2&1;y.combinationOperator=w>>3&3;y.requiresBuffer=!!(32&w);y.combinationOperatorOverride=!!(64&w);i=[y];break;case 49:case 50:case 51:case 62:break;case 53:i=[r.number,a,l,n];break;default:throw new Jbig2Error(`segment type ${r.typeName}(${r.type}) is not implemented`)}const h="on"+r.typeName;h in t&&t[h].apply(t,i)}function processSegments(e,t){for(let r=0,a=e.length;r>3,r=new Uint8ClampedArray(t*e.height);e.defaultPixelValue&&r.fill(255);this.buffer=r}drawBitmap(e,t){const r=this.currentPageInfo,a=e.width,n=e.height,i=r.width+7>>3,s=r.combinationOperatorOverride?e.combinationOperator:r.combinationOperator,o=this.buffer,c=128>>(7&e.x);let l,h,u,d,f=e.y*i+(e.x>>3);switch(s){case 0:for(l=0;l>=1;if(!u){u=128;d++}}f+=i}break;case 2:for(l=0;l>=1;if(!u){u=128;d++}}f+=i}break;default:throw new Jbig2Error(`operator ${s} is not supported`)}}onImmediateGenericRegion(e,t,r,a){const n=e.info,i=new DecodingContext(t,r,a),s=decodeBitmap(e.mmr,n.width,n.height,e.template,e.prediction,null,e.at,i);this.drawBitmap(n,s)}onImmediateLosslessGenericRegion(){this.onImmediateGenericRegion(...arguments)}onSymbolDictionary(e,t,r,a,n,i){let s,o;if(e.huffman){s=function getSymbolDictionaryHuffmanTables(e,t,r){let a,n,i,s,o=0;switch(e.huffmanDHSelector){case 0:case 1:a=getStandardTable(e.huffmanDHSelector+4);break;case 3:a=getCustomHuffmanTable(o,t,r);o++;break;default:throw new Jbig2Error("invalid Huffman DH selector")}switch(e.huffmanDWSelector){case 0:case 1:n=getStandardTable(e.huffmanDWSelector+2);break;case 3:n=getCustomHuffmanTable(o,t,r);o++;break;default:throw new Jbig2Error("invalid Huffman DW selector")}if(e.bitmapSizeSelector){i=getCustomHuffmanTable(o,t,r);o++}else i=getStandardTable(1);s=e.aggregationInstancesSelector?getCustomHuffmanTable(o,t,r):getStandardTable(1);return{tableDeltaHeight:a,tableDeltaWidth:n,tableBitmapSize:i,tableAggregateInstances:s}}(e,r,this.customTables);o=new Reader(a,n,i)}let c=this.symbols;c||(this.symbols=c={});const l=[];for(const e of r){const t=c[e];t&&l.push(...t)}const h=new DecodingContext(a,n,i);c[t]=function decodeSymbolDictionary(e,t,r,a,n,i,s,o,c,l,h,u){if(e&&t)throw new Jbig2Error("symbol refinement with Huffman is not supported");const d=[];let f=0,g=log2(r.length+a);const p=h.decoder,m=h.contextCache;let b,y;if(e){b=getStandardTable(1);y=[];g=Math.max(g,1)}for(;d.length1)w=decodeTextRegion(e,t,a,f,0,n,1,r.concat(d),g,0,0,1,0,i,c,l,h,0,u);else{const e=decodeIAID(m,p,g),t=decodeInteger(m,"IARDX",p),n=decodeInteger(m,"IARDY",p);w=decodeRefinement(a,f,c,e=32){let r,a,s;switch(t){case 32:if(0===e)throw new Jbig2Error("no previous value in symbol ID table");a=n.readBits(2)+3;r=i[e-1].prefixLength;break;case 33:a=n.readBits(3)+3;r=0;break;case 34:a=n.readBits(7)+11;r=0;break;default:throw new Jbig2Error("invalid code length in symbol ID table")}for(s=0;s=0;m--){O=e?decodeMMRBitmap(_,c,l,!0):decodeBitmap(!1,c,l,r,!1,null,C,g);T[m]=O}for(M=0;M=0;b--){D^=T[b][M][R];E|=D<>8;L=u+M*d-R*f>>8;if(j>=0&&j+x<=a&&L>=0&&L+S<=n)for(m=0;m=n)){q=p[t];U=N[m];for(b=0;b=0&&e>1&7),c=1+(a>>4&7),l=[];let h,u,d=n;do{h=s.readBits(o);u=s.readBits(c);l.push(new HuffmanLine([d,h,u,0]));d+=1<>t&1;if(t<=0)this.children[r]=new HuffmanTreeNode(e);else{let a=this.children[r];a||(this.children[r]=a=new HuffmanTreeNode(null));a.buildTree(e,t-1)}}decodeNode(e){if(this.isLeaf){if(this.isOOB)return null;const t=e.readBits(this.rangeLength);return this.rangeLow+(this.isLowerRange?-t:t)}const t=this.children[e.readBit()];if(!t)throw new Jbig2Error("invalid Huffman data");return t.decodeNode(e)}}class HuffmanTable{constructor(e,t){t||this.assignPrefixCodes(e);this.rootNode=new HuffmanTreeNode(null);for(let t=0,r=e.length;t0&&this.rootNode.buildTree(r,r.prefixLength-1)}}decode(e){return this.rootNode.decodeNode(e)}assignPrefixCodes(e){const t=e.length;let r=0;for(let a=0;a=this.end)throw new Jbig2Error("end of data while reading bit");this.currentByte=this.data[this.position++];this.shift=7}const e=this.currentByte>>this.shift&1;this.shift--;return e}readBits(e){let t,r=0;for(t=e-1;t>=0;t--)r|=this.readBit()<=this.end?-1:this.data[this.position++]}}function getCustomHuffmanTable(e,t,r){let a=0;for(let n=0,i=t.length;n>r&1;r--}}if(a&&!o){const e=5;for(let t=0;t>>t&(1<0;if(e<256){d[0]=e;f=1}else{if(!(e>=258)){if(256===e){h=9;s=258;f=0;continue}this.eof=!0;delete this.lzwState;break}if(e=0;t--){d[t]=o[r];r=l[r]}}else d[f++]=d[0]}if(n){l[s]=u;c[s]=c[u]+1;o[s]=d[0];s++;h=s+i&s+i-1?h:0|Math.min(Math.log(s+i)/.6931471805599453+1,12)}u=e;g+=f;if(a15))throw new FormatError(`Unsupported predictor: ${a}`);this.readBlock=2===a?this.readBlockTiff:this.readBlockPng;this.str=e;this.dict=e.dict;const n=this.colors=r.get("Colors")||1,i=this.bits=r.get("BPC","BitsPerComponent")||8,s=this.columns=r.get("Columns")||1;this.pixBytes=n*i+7>>3;this.rowBytes=s*n*i+7>>3;return this}readBlockTiff(){const e=this.rowBytes,t=this.bufferLength,r=this.ensureBuffer(t+e),a=this.bits,n=this.colors,i=this.str.getBytes(e);this.eof=!i.length;if(this.eof)return;let s,o=0,c=0,l=0,h=0,u=t;if(1===a&&1===n)for(s=0;s>1;e^=e>>2;e^=e>>4;o=(1&e)<<7;r[u++]=e}else if(8===a){for(s=0;s>8&255;r[u++]=255&e}}else{const e=new Uint8Array(n+1),u=(1<>l-a)&u;l-=a;c=c<=8){r[f++]=c>>h-8&255;h-=8}}h>0&&(r[f++]=(c<<8-h)+(o&(1<<8-h)-1))}this.bufferLength+=e}readBlockPng(){const e=this.rowBytes,t=this.pixBytes,r=this.str.getByte(),a=this.str.getBytes(e);this.eof=!a.length;if(this.eof)return;const n=this.bufferLength,i=this.ensureBuffer(n+e);let s=i.subarray(n-e,n);0===s.length&&(s=new Uint8Array(e));let o,c,l,h=n;switch(r){case 0:for(o=0;o>1)+a[o];for(;o>1)+a[o]&255;h++}break;case 4:for(o=0;o0){const e=this.str.getBytes(a);t.set(e,r);r+=a}}else{a=257-a;t=this.ensureBuffer(r+a+1);t.fill(e[1],r,r+a);r+=a}this.bufferLength=r}}function parser_classPrivateMethodInitSpec(e,t){(function parser_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}var nn=new WeakSet;class Parser{constructor(e){let{lexer:t,xref:r,allowStreams:a=!1,recoveryMode:n=!1}=e;parser_classPrivateMethodInitSpec(this,nn);this.lexer=t;this.xref=r;this.allowStreams=a;this.recoveryMode=n;this.imageCache=Object.create(null);this._imageId=0;this.refill()}refill(){this.buf1=this.lexer.getObj();this.buf2=this.lexer.getObj()}shift(){if(this.buf2 instanceof Cmd&&"ID"===this.buf2.cmd){this.buf1=this.buf2;this.buf2=null}else{this.buf1=this.buf2;this.buf2=this.lexer.getObj()}}tryShift(){try{this.shift();return!0}catch(e){if(e instanceof MissingDataException)throw e;return!1}}getObj(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=this.buf1;this.shift();if(t instanceof Cmd)switch(t.cmd){case"BI":return this.makeInlineImage(e);case"[":const r=[];for(;!isCmd(this.buf1,"]")&&this.buf1!==Ar;)r.push(this.getObj(e));if(this.buf1===Ar){if(this.recoveryMode)return r;throw new ParserEOFException("End of file inside array.")}this.shift();return r;case"<<":const a=new Dict(this.xref);for(;!isCmd(this.buf1,">>")&&this.buf1!==Ar;){if(!(this.buf1 instanceof Name)){info("Malformed dictionary: key must be a name object");this.shift();continue}const t=this.buf1.name;this.shift();if(this.buf1===Ar)break;a.set(t,this.getObj(e))}if(this.buf1===Ar){if(this.recoveryMode)return a;throw new ParserEOFException("End of file inside dictionary.")}if(isCmd(this.buf2,"stream"))return this.allowStreams?this.makeStream(a,e):a;this.shift();return a;default:return t}if(Number.isInteger(t)){if(Number.isInteger(this.buf1)&&isCmd(this.buf2,"R")){const e=Ref.get(t,this.buf1);this.shift();this.shift();return e}return t}return"string"==typeof t&&e?e.decryptString(t):t}findDefaultInlineStreamEnd(e){const{knownCommands:t}=this.lexer,r=e.pos;let a,n,i=0;for(;-1!==(a=e.getByte());)if(0===i)i=69===a?1:0;else if(1===i)i=73===a?2:0;else if(32===a||10===a||13===a){n=e.pos;const r=e.peekBytes(15),s=r.length;if(0===s)break;for(let e=0;e127))){i=0;break}}if(2!==i)continue;if(!t){warn("findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.");continue}const o=new Lexer(new Stream(e.peekBytes(75)),t);o._hexStringWarn=()=>{};let c=0;for(;;){const e=o.getObj();if(e===Ar){i=0;break}if(e instanceof Cmd){const r=t[e.cmd];if(!r){i=0;break}if(r.variableArgs?c<=r.numArgs:c===r.numArgs)break;c=0}else c++}if(2===i)break}else i=0;if(-1===a){warn("findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker");if(n){warn('... trying to recover by using the last "EI" occurrence.');e.skip(-(e.pos-n))}}let s=4;e.skip(-s);a=e.peekByte();e.skip(s);isWhiteSpace(a)||s--;return e.pos-s-r}findDCTDecodeInlineStreamEnd(e){const t=e.pos;let r,a,n=!1;for(;-1!==(r=e.getByte());)if(255===r){switch(e.getByte()){case 0:break;case 255:e.skip(-1);break;case 217:n=!0;break;case 192:case 193:case 194:case 195:case 197:case 198:case 199:case 201:case 202:case 203:case 205:case 206:case 207:case 196:case 204:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239:case 254:a=e.getUint16();a>2?e.skip(a-2):e.skip(-2)}if(n)break}const i=e.pos-t;if(-1===r){warn("Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead.");e.skip(-i);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return i}findASCII85DecodeInlineStreamEnd(e){const t=e.pos;let r;for(;-1!==(r=e.getByte());)if(126===r){const t=e.pos;r=e.peekByte();for(;isWhiteSpace(r);){e.skip();r=e.peekByte()}if(62===r){e.skip();break}if(e.pos>t){const t=e.peekBytes(2);if(69===t[0]&&73===t[1])break}}const a=e.pos-t;if(-1===r){warn("Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead.");e.skip(-a);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return a}findASCIIHexDecodeInlineStreamEnd(e){const t=e.pos;let r;for(;-1!==(r=e.getByte())&&62!==r;);const a=e.pos-t;if(-1===r){warn("Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead.");e.skip(-a);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return a}inlineStreamSkipEI(e){let t,r=0;for(;-1!==(t=e.getByte());)if(0===r)r=69===t?1:0;else if(1===r)r=73===t?2:0;else if(2===r)break}makeInlineImage(e){const t=this.lexer,r=t.stream,a=Object.create(null);let n;for(;!isCmd(this.buf1,"ID")&&this.buf1!==Ar;){if(!(this.buf1 instanceof Name))throw new FormatError("Dictionary key must be a name object");const t=this.buf1.name;this.shift();if(this.buf1===Ar)break;a[t]=this.getObj(e)}-1!==t.beginInlineImagePos&&(n=r.pos-t.beginInlineImagePos);const i=this.xref.fetchIfRef(a.F||a.Filter);let s;if(i instanceof Name)s=i.name;else if(Array.isArray(i)){const e=this.xref.fetchIfRef(i[0]);e instanceof Name&&(s=e.name)}const o=r.pos;let c,l;switch(s){case"DCT":case"DCTDecode":c=this.findDCTDecodeInlineStreamEnd(r);break;case"A85":case"ASCII85Decode":c=this.findASCII85DecodeInlineStreamEnd(r);break;case"AHx":case"ASCIIHexDecode":c=this.findASCIIHexDecodeInlineStreamEnd(r);break;default:c=this.findDefaultInlineStreamEnd(r)}if(c<1e3&&n>0){const e=r.pos;r.pos=t.beginInlineImagePos;l=function getInlineImageCacheKey(e){const t=[],r=e.length;let a=0;for(;a=a){let a=!1;for(const e of n){const t=e.length;let n=0;for(;n=i){a=!0;break}if(n>=t){if(isWhiteSpace(s[c+o+n])){info(`Found "${bytesToString([...r,...e])}" when searching for endstream command.`);a=!0}break}}if(a){t.pos+=c;return t.pos-e}}c++}t.pos+=o}return-1}const sn=[1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function toHexDigit(e){return e>=48&&e<=57?15&e:e>=65&&e<=70||e>=97&&e<=102?9+(15&e):-1}class Lexer{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.stream=e;this.nextChar();this.strBuf=[];this.knownCommands=t;this._hexStringNumWarn=0;this.beginInlineImagePos=-1}nextChar(){return this.currentChar=this.stream.getByte()}peekChar(){return this.stream.peekByte()}getNumber(){let e=this.currentChar,t=!1,r=0,a=1;if(45===e){a=-1;e=this.nextChar();45===e&&(e=this.nextChar())}else 43===e&&(e=this.nextChar());if(10===e||13===e)do{e=this.nextChar()}while(10===e||13===e);if(46===e){r=10;e=this.nextChar()}if(e<48||e>57){const t=`Invalid number: ${String.fromCharCode(e)} (charCode ${e})`;if(isWhiteSpace(e)||40===e||60===e||-1===e){info(`Lexer.getNumber - "${t}".`);return 0}throw new FormatError(t)}let n=e-48,i=0,s=1;for(;(e=this.nextChar())>=0;)if(e>=48&&e<=57){const a=e-48;if(t)i=10*i+a;else{0!==r&&(r*=10);n=10*n+a}}else if(46===e){if(0!==r)break;r=1}else if(45===e)warn("Badly formatted number: minus sign in the middle");else{if(69!==e&&101!==e)break;e=this.peekChar();if(43===e||45===e){s=45===e?-1:1;this.nextChar()}else if(e<48||e>57)break;t=!0}0!==r&&(n/=r);t&&(n*=10**(s*i));return a*n}getString(){let e=1,t=!1;const r=this.strBuf;r.length=0;let a=this.nextChar();for(;;){let n=!1;switch(0|a){case-1:warn("Unterminated string");t=!0;break;case 40:++e;r.push("(");break;case 41:if(0==--e){this.nextChar();t=!0}else r.push(")");break;case 92:a=this.nextChar();switch(a){case-1:warn("Unterminated string");t=!0;break;case 110:r.push("\n");break;case 114:r.push("\r");break;case 116:r.push("\t");break;case 98:r.push("\b");break;case 102:r.push("\f");break;case 92:case 40:case 41:r.push(String.fromCharCode(a));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:let e=15&a;a=this.nextChar();n=!0;if(a>=48&&a<=55){e=(e<<3)+(15&a);a=this.nextChar();if(a>=48&&a<=55){n=!1;e=(e<<3)+(15&a)}}r.push(String.fromCharCode(e));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:r.push(String.fromCharCode(a))}break;default:r.push(String.fromCharCode(a))}if(t)break;n||(a=this.nextChar())}return r.join("")}getName(){let e,t;const r=this.strBuf;r.length=0;for(;(e=this.nextChar())>=0&&!sn[e];)if(35===e){e=this.nextChar();if(sn[e]){warn("Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number.");r.push("#");break}const a=toHexDigit(e);if(-1!==a){t=e;e=this.nextChar();const n=toHexDigit(e);if(-1===n){warn(`Lexer_getName: Illegal digit (${String.fromCharCode(e)}) in hexadecimal number.`);r.push("#",String.fromCharCode(t));if(sn[e])break;r.push(String.fromCharCode(e));continue}r.push(String.fromCharCode(a<<4|n))}else r.push("#",String.fromCharCode(e))}else r.push(String.fromCharCode(e));r.length>127&&warn(`Name token is longer than allowed by the spec: ${r.length}`);return Name.get(r.join(""))}_hexStringWarn(e){5!=this._hexStringNumWarn++?this._hexStringNumWarn>5||warn(`getHexString - ignoring invalid character: ${e}`):warn("getHexString - ignoring additional invalid characters.")}getHexString(){const e=this.strBuf;e.length=0;let t=this.currentChar,r=-1,a=-1;this._hexStringNumWarn=0;for(;;){if(t<0){warn("Unterminated hex string");break}if(62===t){this.nextChar();break}if(1!==sn[t]){a=toHexDigit(t);if(-1===a)this._hexStringWarn(t);else if(-1===r)r=a;else{e.push(String.fromCharCode(r<<4|a));r=-1}t=this.nextChar()}else t=this.nextChar()}-1!==r&&e.push(String.fromCharCode(r<<4));return e.join("")}getObj(){let e=!1,t=this.currentChar;for(;;){if(t<0)return Ar;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(1!==sn[t])break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:this.nextChar();return Cmd.get("[");case 93:this.nextChar();return Cmd.get("]");case 60:t=this.nextChar();if(60===t){this.nextChar();return Cmd.get("<<")}return this.getHexString();case 62:t=this.nextChar();if(62===t){this.nextChar();return Cmd.get(">>")}return Cmd.get(">");case 123:this.nextChar();return Cmd.get("{");case 125:this.nextChar();return Cmd.get("}");case 41:this.nextChar();throw new FormatError(`Illegal character: ${t}`)}let r=String.fromCharCode(t);if(t<32||t>127){const e=this.peekChar();if(e>=32&&e<=127){this.nextChar();return Cmd.get(r)}}const a=this.knownCommands;let n=void 0!==a?.[r];for(;(t=this.nextChar())>=0&&!sn[t];){const e=r+String.fromCharCode(t);if(n&&void 0===a[e])break;if(128===r.length)throw new FormatError(`Command token too long: ${r.length}`);r=e;n=void 0!==a?.[r]}if("true"===r)return!0;if("false"===r)return!1;if("null"===r)return null;"BI"===r&&(this.beginInlineImagePos=this.stream.pos);return Cmd.get(r)}skipToNextLine(){let e=this.currentChar;for(;e>=0;){if(13===e){e=this.nextChar();10===e&&this.nextChar();break}if(10===e){this.nextChar();break}e=this.nextChar()}}}class Linearization{static create(e){function getInt(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const a=e.get(t);if(Number.isInteger(a)&&(r?a>=0:a>0))return a;throw new Error(`The "${t}" parameter in the linearization dictionary is invalid.`)}const t=new Parser({lexer:new Lexer(e),xref:null}),r=t.getObj(),a=t.getObj(),n=t.getObj(),i=t.getObj();let s,o;if(!(Number.isInteger(r)&&Number.isInteger(a)&&isCmd(n,"obj")&&i instanceof Dict&&"number"==typeof(s=i.get("Linearized"))&&s>0))return null;if((o=getInt(i,"L"))!==e.length)throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.');return{length:o,hints:function getHints(e){const t=e.get("H");let r;if(Array.isArray(t)&&(2===(r=t.length)||4===r)){for(let e=0;e0))throw new Error(`Hint (${e}) in the linearization dictionary is invalid.`)}return t}throw new Error("Hint array in the linearization dictionary is invalid.")}(i),objectNumberFirst:getInt(i,"O"),endFirst:getInt(i,"E"),numPages:getInt(i,"N"),mainXRefEntriesOffset:getInt(i,"T"),pageFirst:i.has("P")?getInt(i,"P",!0):0}}}const on=["Adobe-GB1-UCS2","Adobe-CNS1-UCS2","Adobe-Japan1-UCS2","Adobe-Korea1-UCS2","78-EUC-H","78-EUC-V","78-H","78-RKSJ-H","78-RKSJ-V","78-V","78ms-RKSJ-H","78ms-RKSJ-V","83pv-RKSJ-H","90ms-RKSJ-H","90ms-RKSJ-V","90msp-RKSJ-H","90msp-RKSJ-V","90pv-RKSJ-H","90pv-RKSJ-V","Add-H","Add-RKSJ-H","Add-RKSJ-V","Add-V","Adobe-CNS1-0","Adobe-CNS1-1","Adobe-CNS1-2","Adobe-CNS1-3","Adobe-CNS1-4","Adobe-CNS1-5","Adobe-CNS1-6","Adobe-GB1-0","Adobe-GB1-1","Adobe-GB1-2","Adobe-GB1-3","Adobe-GB1-4","Adobe-GB1-5","Adobe-Japan1-0","Adobe-Japan1-1","Adobe-Japan1-2","Adobe-Japan1-3","Adobe-Japan1-4","Adobe-Japan1-5","Adobe-Japan1-6","Adobe-Korea1-0","Adobe-Korea1-1","Adobe-Korea1-2","B5-H","B5-V","B5pc-H","B5pc-V","CNS-EUC-H","CNS-EUC-V","CNS1-H","CNS1-V","CNS2-H","CNS2-V","ETHK-B5-H","ETHK-B5-V","ETen-B5-H","ETen-B5-V","ETenms-B5-H","ETenms-B5-V","EUC-H","EUC-V","Ext-H","Ext-RKSJ-H","Ext-RKSJ-V","Ext-V","GB-EUC-H","GB-EUC-V","GB-H","GB-V","GBK-EUC-H","GBK-EUC-V","GBK2K-H","GBK2K-V","GBKp-EUC-H","GBKp-EUC-V","GBT-EUC-H","GBT-EUC-V","GBT-H","GBT-V","GBTpc-EUC-H","GBTpc-EUC-V","GBpc-EUC-H","GBpc-EUC-V","H","HKdla-B5-H","HKdla-B5-V","HKdlb-B5-H","HKdlb-B5-V","HKgccs-B5-H","HKgccs-B5-V","HKm314-B5-H","HKm314-B5-V","HKm471-B5-H","HKm471-B5-V","HKscs-B5-H","HKscs-B5-V","Hankaku","Hiragana","KSC-EUC-H","KSC-EUC-V","KSC-H","KSC-Johab-H","KSC-Johab-V","KSC-V","KSCms-UHC-H","KSCms-UHC-HW-H","KSCms-UHC-HW-V","KSCms-UHC-V","KSCpc-EUC-H","KSCpc-EUC-V","Katakana","NWP-H","NWP-V","RKSJ-H","RKSJ-V","Roman","UniCNS-UCS2-H","UniCNS-UCS2-V","UniCNS-UTF16-H","UniCNS-UTF16-V","UniCNS-UTF32-H","UniCNS-UTF32-V","UniCNS-UTF8-H","UniCNS-UTF8-V","UniGB-UCS2-H","UniGB-UCS2-V","UniGB-UTF16-H","UniGB-UTF16-V","UniGB-UTF32-H","UniGB-UTF32-V","UniGB-UTF8-H","UniGB-UTF8-V","UniJIS-UCS2-H","UniJIS-UCS2-HW-H","UniJIS-UCS2-HW-V","UniJIS-UCS2-V","UniJIS-UTF16-H","UniJIS-UTF16-V","UniJIS-UTF32-H","UniJIS-UTF32-V","UniJIS-UTF8-H","UniJIS-UTF8-V","UniJIS2004-UTF16-H","UniJIS2004-UTF16-V","UniJIS2004-UTF32-H","UniJIS2004-UTF32-V","UniJIS2004-UTF8-H","UniJIS2004-UTF8-V","UniJISPro-UCS2-HW-V","UniJISPro-UCS2-V","UniJISPro-UTF8-V","UniJISX0213-UTF32-H","UniJISX0213-UTF32-V","UniJISX02132004-UTF32-H","UniJISX02132004-UTF32-V","UniKS-UCS2-H","UniKS-UCS2-V","UniKS-UTF16-H","UniKS-UTF16-V","UniKS-UTF32-H","UniKS-UTF32-V","UniKS-UTF8-H","UniKS-UTF8-V","V","WP-Symbol"],cn=2**24-1;class CMap{constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.codespaceRanges=[[],[],[],[]];this.numCodespaceRanges=0;this._map=[];this.name="";this.vertical=!1;this.useCMap=null;this.builtInCMap=e}addCodespaceRange(e,t,r){this.codespaceRanges[e-1].push(t,r);this.numCodespaceRanges++}mapCidRange(e,t,r){if(t-e>cn)throw new Error("mapCidRange - ignoring data above MAX_MAP_RANGE.");for(;e<=t;)this._map[e++]=r++}mapBfRange(e,t,r){if(t-e>cn)throw new Error("mapBfRange - ignoring data above MAX_MAP_RANGE.");const a=r.length-1;for(;e<=t;){this._map[e++]=r;const t=r.charCodeAt(a)+1;t>255?r=r.substring(0,a-1)+String.fromCharCode(r.charCodeAt(a-1)+1)+"\0":r=r.substring(0,a)+String.fromCharCode(t)}}mapBfRangeToArray(e,t,r){if(t-e>cn)throw new Error("mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.");const a=r.length;let n=0;for(;e<=t&&n>>0;const s=n[i];for(let e=0,t=s.length;e=t&&a<=n){r.charcode=a;r.length=i+1;return}}}r.charcode=0;r.length=1}getCharCodeLength(e){const t=this.codespaceRanges;for(let r=0,a=t.length;r=n&&e<=i)return r+1}}return 1}get length(){return this._map.length}get isIdentityCMap(){if("Identity-H"!==this.name&&"Identity-V"!==this.name)return!1;if(65536!==this._map.length)return!1;for(let e=0;e<65536;e++)if(this._map[e]!==e)return!1;return!0}}class IdentityCMap extends CMap{constructor(e,t){super();this.vertical=e;this.addCodespaceRange(t,0,65535)}mapCidRange(e,t,r){unreachable("should not call mapCidRange")}mapBfRange(e,t,r){unreachable("should not call mapBfRange")}mapBfRangeToArray(e,t,r){unreachable("should not call mapBfRangeToArray")}mapOne(e,t){unreachable("should not call mapCidOne")}lookup(e){return Number.isInteger(e)&&e<=65535?e:void 0}contains(e){return Number.isInteger(e)&&e<=65535}forEach(e){for(let t=0;t<=65535;t++)e(t,t)}charCodeOf(e){return Number.isInteger(e)&&e<=65535?e:-1}getMap(){const e=new Array(65536);for(let t=0;t<=65535;t++)e[t]=t;return e}get length(){return 65536}get isIdentityCMap(){unreachable("should not access .isIdentityCMap")}}function strToInt(e){let t=0;for(let r=0;r>>0}function expectString(e){if("string"!=typeof e)throw new FormatError("Malformed CMap: expected string.")}function expectInt(e){if(!Number.isInteger(e))throw new FormatError("Malformed CMap: expected int.")}function parseBfChar(e,t){for(;;){let r=t.getObj();if(r===Ar)break;if(isCmd(r,"endbfchar"))return;expectString(r);const a=strToInt(r);r=t.getObj();expectString(r);const n=r;e.mapOne(a,n)}}function parseBfRange(e,t){for(;;){let r=t.getObj();if(r===Ar)break;if(isCmd(r,"endbfrange"))return;expectString(r);const a=strToInt(r);r=t.getObj();expectString(r);const n=strToInt(r);r=t.getObj();if(Number.isInteger(r)||"string"==typeof r){const t=Number.isInteger(r)?String.fromCharCode(r):r;e.mapBfRange(a,n,t)}else{if(!isCmd(r,"["))break;{r=t.getObj();const i=[];for(;!isCmd(r,"]")&&r!==Ar;){i.push(r);r=t.getObj()}e.mapBfRangeToArray(a,n,i)}}}throw new FormatError("Invalid bf range.")}function parseCidChar(e,t){for(;;){let r=t.getObj();if(r===Ar)break;if(isCmd(r,"endcidchar"))return;expectString(r);const a=strToInt(r);r=t.getObj();expectInt(r);const n=r;e.mapOne(a,n)}}function parseCidRange(e,t){for(;;){let r=t.getObj();if(r===Ar)break;if(isCmd(r,"endcidrange"))return;expectString(r);const a=strToInt(r);r=t.getObj();expectString(r);const n=strToInt(r);r=t.getObj();expectInt(r);const i=r;e.mapCidRange(a,n,i)}}function parseCodespaceRange(e,t){for(;;){let r=t.getObj();if(r===Ar)break;if(isCmd(r,"endcodespacerange"))return;if("string"!=typeof r)break;const a=strToInt(r);r=t.getObj();if("string"!=typeof r)break;const n=strToInt(r);e.addCodespaceRange(r.length,a,n)}throw new FormatError("Invalid codespace range.")}function parseWMode(e,t){const r=t.getObj();Number.isInteger(r)&&(e.vertical=!!r)}function parseCMapName(e,t){const r=t.getObj();r instanceof Name&&(e.name=r.name)}async function parseCMap(e,t,r,a){let n,i;e:for(;;)try{const r=t.getObj();if(r===Ar)break;if(r instanceof Name){"WMode"===r.name?parseWMode(e,t):"CMapName"===r.name&&parseCMapName(e,t);n=r}else if(r instanceof Cmd)switch(r.cmd){case"endcmap":break e;case"usecmap":n instanceof Name&&(i=n.name);break;case"begincodespacerange":parseCodespaceRange(e,t);break;case"beginbfchar":parseBfChar(e,t);break;case"begincidchar":parseCidChar(e,t);break;case"beginbfrange":parseBfRange(e,t);break;case"begincidrange":parseCidRange(e,t)}}catch(e){if(e instanceof MissingDataException)throw e;warn("Invalid cMap data: "+e);continue}!a&&i&&(a=i);return a?extendCMap(e,r,a):e}async function extendCMap(e,t,r){e.useCMap=await createBuiltInCMap(r,t);if(0===e.numCodespaceRanges){const t=e.useCMap.codespaceRanges;for(let r=0;rextendCMap(n,t,e)));const i=new Lexer(new Stream(r));return parseCMap(n,i,t,null)}class CMapFactory{static async create(e){let{encoding:t,fetchBuiltInCMap:r,useCMap:a}=e;if(t instanceof Name)return createBuiltInCMap(t.name,r);if(t instanceof BaseStream){const e=await parseCMap(new CMap,new Lexer(t),r,a);return e.isIdentityCMap?createBuiltInCMap(e.name,r):e}throw new Error("Encoding required.")}}const ln=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],hn=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","centoldstyle","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","","threequartersemdash","","questionsmall","","","","","Ethsmall","","","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","","","","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hypheninferior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","asuperior","centsuperior","","","","","Aacutesmall","Agravesmall","Acircumflexsmall","Adieresissmall","Atildesmall","Aringsmall","Ccedillasmall","Eacutesmall","Egravesmall","Ecircumflexsmall","Edieresissmall","Iacutesmall","Igravesmall","Icircumflexsmall","Idieresissmall","Ntildesmall","Oacutesmall","Ogravesmall","Ocircumflexsmall","Odieresissmall","Otildesmall","Uacutesmall","Ugravesmall","Ucircumflexsmall","Udieresissmall","","eightsuperior","fourinferior","threeinferior","sixinferior","eightinferior","seveninferior","Scaronsmall","","centinferior","twoinferior","","Dieresissmall","","Caronsmall","osuperior","fiveinferior","","commainferior","periodinferior","Yacutesmall","","dollarinferior","","","Thornsmall","","nineinferior","zeroinferior","Zcaronsmall","AEsmall","Oslashsmall","questiondownsmall","oneinferior","Lslashsmall","","","","","","","Cedillasmall","","","","","","OEsmall","figuredash","hyphensuperior","","","","","exclamdownsmall","","Ydieresissmall","","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","ninesuperior","zerosuperior","","esuperior","rsuperior","tsuperior","","","isuperior","ssuperior","dsuperior","","","","","","lsuperior","Ogoneksmall","Brevesmall","Macronsmall","bsuperior","nsuperior","msuperior","commasuperior","periodsuperior","Dotaccentsmall","Ringsmall","","","",""],un=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","space","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron"],dn=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls","","","",""],fn=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","bullet","Euro","bullet","quotesinglbase","florin","quotedblbase","ellipsis","dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE","bullet","Zcaron","bullet","bullet","quoteleft","quoteright","quotedblleft","quotedblright","bullet","endash","emdash","tilde","trademark","scaron","guilsinglright","oe","bullet","zcaron","Ydieresis","space","exclamdown","cent","sterling","currency","yen","brokenbar","section","dieresis","copyright","ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron","degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph","periodcentered","cedilla","onesuperior","ordmasculine","guillemotright","onequarter","onehalf","threequarters","questiondown","Agrave","Aacute","Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute","Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth","Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash","Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls","agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla","egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex","idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis","divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn","ydieresis"],gn=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","universal","numbersign","existential","percent","ampersand","suchthat","parenleft","parenright","asteriskmath","plus","comma","minus","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","congruent","Alpha","Beta","Chi","Delta","Epsilon","Phi","Gamma","Eta","Iota","theta1","Kappa","Lambda","Mu","Nu","Omicron","Pi","Theta","Rho","Sigma","Tau","Upsilon","sigma1","Omega","Xi","Psi","Zeta","bracketleft","therefore","bracketright","perpendicular","underscore","radicalex","alpha","beta","chi","delta","epsilon","phi","gamma","eta","iota","phi1","kappa","lambda","mu","nu","omicron","pi","theta","rho","sigma","tau","upsilon","omega1","omega","xi","psi","zeta","braceleft","bar","braceright","similar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Euro","Upsilon1","minute","lessequal","fraction","infinity","florin","club","diamond","heart","spade","arrowboth","arrowleft","arrowup","arrowright","arrowdown","degree","plusminus","second","greaterequal","multiply","proportional","partialdiff","bullet","divide","notequal","equivalence","approxequal","ellipsis","arrowvertex","arrowhorizex","carriagereturn","aleph","Ifraktur","Rfraktur","weierstrass","circlemultiply","circleplus","emptyset","intersection","union","propersuperset","reflexsuperset","notsubset","propersubset","reflexsubset","element","notelement","angle","gradient","registerserif","copyrightserif","trademarkserif","product","radical","dotmath","logicalnot","logicaland","logicalor","arrowdblboth","arrowdblleft","arrowdblup","arrowdblright","arrowdbldown","lozenge","angleleft","registersans","copyrightsans","trademarksans","summation","parenlefttp","parenleftex","parenleftbt","bracketlefttp","bracketleftex","bracketleftbt","bracelefttp","braceleftmid","braceleftbt","braceex","","angleright","integral","integraltp","integralex","integralbt","parenrighttp","parenrightex","parenrightbt","bracketrighttp","bracketrightex","bracketrightbt","bracerighttp","bracerightmid","bracerightbt",""],pn=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","a1","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","","","","","","","","","","","","","","","","","","","","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191",""];function getEncoding(e){switch(e){case"WinAnsiEncoding":return fn;case"StandardEncoding":return dn;case"MacRomanEncoding":return un;case"SymbolSetEncoding":return gn;case"ZapfDingbatsEncoding":return pn;case"ExpertEncoding":return ln;case"MacExpertEncoding":return hn;default:return null}}const mn=getLookupTableFactory((function(e){e.A=65;e.AE=198;e.AEacute=508;e.AEmacron=482;e.AEsmall=63462;e.Aacute=193;e.Aacutesmall=63457;e.Abreve=258;e.Abreveacute=7854;e.Abrevecyrillic=1232;e.Abrevedotbelow=7862;e.Abrevegrave=7856;e.Abrevehookabove=7858;e.Abrevetilde=7860;e.Acaron=461;e.Acircle=9398;e.Acircumflex=194;e.Acircumflexacute=7844;e.Acircumflexdotbelow=7852;e.Acircumflexgrave=7846;e.Acircumflexhookabove=7848;e.Acircumflexsmall=63458;e.Acircumflextilde=7850;e.Acute=63177;e.Acutesmall=63412;e.Acyrillic=1040;e.Adblgrave=512;e.Adieresis=196;e.Adieresiscyrillic=1234;e.Adieresismacron=478;e.Adieresissmall=63460;e.Adotbelow=7840;e.Adotmacron=480;e.Agrave=192;e.Agravesmall=63456;e.Ahookabove=7842;e.Aiecyrillic=1236;e.Ainvertedbreve=514;e.Alpha=913;e.Alphatonos=902;e.Amacron=256;e.Amonospace=65313;e.Aogonek=260;e.Aring=197;e.Aringacute=506;e.Aringbelow=7680;e.Aringsmall=63461;e.Asmall=63329;e.Atilde=195;e.Atildesmall=63459;e.Aybarmenian=1329;e.B=66;e.Bcircle=9399;e.Bdotaccent=7682;e.Bdotbelow=7684;e.Becyrillic=1041;e.Benarmenian=1330;e.Beta=914;e.Bhook=385;e.Blinebelow=7686;e.Bmonospace=65314;e.Brevesmall=63220;e.Bsmall=63330;e.Btopbar=386;e.C=67;e.Caarmenian=1342;e.Cacute=262;e.Caron=63178;e.Caronsmall=63221;e.Ccaron=268;e.Ccedilla=199;e.Ccedillaacute=7688;e.Ccedillasmall=63463;e.Ccircle=9400;e.Ccircumflex=264;e.Cdot=266;e.Cdotaccent=266;e.Cedillasmall=63416;e.Chaarmenian=1353;e.Cheabkhasiancyrillic=1212;e.Checyrillic=1063;e.Chedescenderabkhasiancyrillic=1214;e.Chedescendercyrillic=1206;e.Chedieresiscyrillic=1268;e.Cheharmenian=1347;e.Chekhakassiancyrillic=1227;e.Cheverticalstrokecyrillic=1208;e.Chi=935;e.Chook=391;e.Circumflexsmall=63222;e.Cmonospace=65315;e.Coarmenian=1361;e.Csmall=63331;e.D=68;e.DZ=497;e.DZcaron=452;e.Daarmenian=1332;e.Dafrican=393;e.Dcaron=270;e.Dcedilla=7696;e.Dcircle=9401;e.Dcircumflexbelow=7698;e.Dcroat=272;e.Ddotaccent=7690;e.Ddotbelow=7692;e.Decyrillic=1044;e.Deicoptic=1006;e.Delta=8710;e.Deltagreek=916;e.Dhook=394;e.Dieresis=63179;e.DieresisAcute=63180;e.DieresisGrave=63181;e.Dieresissmall=63400;e.Digammagreek=988;e.Djecyrillic=1026;e.Dlinebelow=7694;e.Dmonospace=65316;e.Dotaccentsmall=63223;e.Dslash=272;e.Dsmall=63332;e.Dtopbar=395;e.Dz=498;e.Dzcaron=453;e.Dzeabkhasiancyrillic=1248;e.Dzecyrillic=1029;e.Dzhecyrillic=1039;e.E=69;e.Eacute=201;e.Eacutesmall=63465;e.Ebreve=276;e.Ecaron=282;e.Ecedillabreve=7708;e.Echarmenian=1333;e.Ecircle=9402;e.Ecircumflex=202;e.Ecircumflexacute=7870;e.Ecircumflexbelow=7704;e.Ecircumflexdotbelow=7878;e.Ecircumflexgrave=7872;e.Ecircumflexhookabove=7874;e.Ecircumflexsmall=63466;e.Ecircumflextilde=7876;e.Ecyrillic=1028;e.Edblgrave=516;e.Edieresis=203;e.Edieresissmall=63467;e.Edot=278;e.Edotaccent=278;e.Edotbelow=7864;e.Efcyrillic=1060;e.Egrave=200;e.Egravesmall=63464;e.Eharmenian=1335;e.Ehookabove=7866;e.Eightroman=8551;e.Einvertedbreve=518;e.Eiotifiedcyrillic=1124;e.Elcyrillic=1051;e.Elevenroman=8554;e.Emacron=274;e.Emacronacute=7702;e.Emacrongrave=7700;e.Emcyrillic=1052;e.Emonospace=65317;e.Encyrillic=1053;e.Endescendercyrillic=1186;e.Eng=330;e.Enghecyrillic=1188;e.Enhookcyrillic=1223;e.Eogonek=280;e.Eopen=400;e.Epsilon=917;e.Epsilontonos=904;e.Ercyrillic=1056;e.Ereversed=398;e.Ereversedcyrillic=1069;e.Escyrillic=1057;e.Esdescendercyrillic=1194;e.Esh=425;e.Esmall=63333;e.Eta=919;e.Etarmenian=1336;e.Etatonos=905;e.Eth=208;e.Ethsmall=63472;e.Etilde=7868;e.Etildebelow=7706;e.Euro=8364;e.Ezh=439;e.Ezhcaron=494;e.Ezhreversed=440;e.F=70;e.Fcircle=9403;e.Fdotaccent=7710;e.Feharmenian=1366;e.Feicoptic=996;e.Fhook=401;e.Fitacyrillic=1138;e.Fiveroman=8548;e.Fmonospace=65318;e.Fourroman=8547;e.Fsmall=63334;e.G=71;e.GBsquare=13191;e.Gacute=500;e.Gamma=915;e.Gammaafrican=404;e.Gangiacoptic=1002;e.Gbreve=286;e.Gcaron=486;e.Gcedilla=290;e.Gcircle=9404;e.Gcircumflex=284;e.Gcommaaccent=290;e.Gdot=288;e.Gdotaccent=288;e.Gecyrillic=1043;e.Ghadarmenian=1346;e.Ghemiddlehookcyrillic=1172;e.Ghestrokecyrillic=1170;e.Gheupturncyrillic=1168;e.Ghook=403;e.Gimarmenian=1331;e.Gjecyrillic=1027;e.Gmacron=7712;e.Gmonospace=65319;e.Grave=63182;e.Gravesmall=63328;e.Gsmall=63335;e.Gsmallhook=667;e.Gstroke=484;e.H=72;e.H18533=9679;e.H18543=9642;e.H18551=9643;e.H22073=9633;e.HPsquare=13259;e.Haabkhasiancyrillic=1192;e.Hadescendercyrillic=1202;e.Hardsigncyrillic=1066;e.Hbar=294;e.Hbrevebelow=7722;e.Hcedilla=7720;e.Hcircle=9405;e.Hcircumflex=292;e.Hdieresis=7718;e.Hdotaccent=7714;e.Hdotbelow=7716;e.Hmonospace=65320;e.Hoarmenian=1344;e.Horicoptic=1e3;e.Hsmall=63336;e.Hungarumlaut=63183;e.Hungarumlautsmall=63224;e.Hzsquare=13200;e.I=73;e.IAcyrillic=1071;e.IJ=306;e.IUcyrillic=1070;e.Iacute=205;e.Iacutesmall=63469;e.Ibreve=300;e.Icaron=463;e.Icircle=9406;e.Icircumflex=206;e.Icircumflexsmall=63470;e.Icyrillic=1030;e.Idblgrave=520;e.Idieresis=207;e.Idieresisacute=7726;e.Idieresiscyrillic=1252;e.Idieresissmall=63471;e.Idot=304;e.Idotaccent=304;e.Idotbelow=7882;e.Iebrevecyrillic=1238;e.Iecyrillic=1045;e.Ifraktur=8465;e.Igrave=204;e.Igravesmall=63468;e.Ihookabove=7880;e.Iicyrillic=1048;e.Iinvertedbreve=522;e.Iishortcyrillic=1049;e.Imacron=298;e.Imacroncyrillic=1250;e.Imonospace=65321;e.Iniarmenian=1339;e.Iocyrillic=1025;e.Iogonek=302;e.Iota=921;e.Iotaafrican=406;e.Iotadieresis=938;e.Iotatonos=906;e.Ismall=63337;e.Istroke=407;e.Itilde=296;e.Itildebelow=7724;e.Izhitsacyrillic=1140;e.Izhitsadblgravecyrillic=1142;e.J=74;e.Jaarmenian=1345;e.Jcircle=9407;e.Jcircumflex=308;e.Jecyrillic=1032;e.Jheharmenian=1355;e.Jmonospace=65322;e.Jsmall=63338;e.K=75;e.KBsquare=13189;e.KKsquare=13261;e.Kabashkircyrillic=1184;e.Kacute=7728;e.Kacyrillic=1050;e.Kadescendercyrillic=1178;e.Kahookcyrillic=1219;e.Kappa=922;e.Kastrokecyrillic=1182;e.Kaverticalstrokecyrillic=1180;e.Kcaron=488;e.Kcedilla=310;e.Kcircle=9408;e.Kcommaaccent=310;e.Kdotbelow=7730;e.Keharmenian=1364;e.Kenarmenian=1343;e.Khacyrillic=1061;e.Kheicoptic=998;e.Khook=408;e.Kjecyrillic=1036;e.Klinebelow=7732;e.Kmonospace=65323;e.Koppacyrillic=1152;e.Koppagreek=990;e.Ksicyrillic=1134;e.Ksmall=63339;e.L=76;e.LJ=455;e.LL=63167;e.Lacute=313;e.Lambda=923;e.Lcaron=317;e.Lcedilla=315;e.Lcircle=9409;e.Lcircumflexbelow=7740;e.Lcommaaccent=315;e.Ldot=319;e.Ldotaccent=319;e.Ldotbelow=7734;e.Ldotbelowmacron=7736;e.Liwnarmenian=1340;e.Lj=456;e.Ljecyrillic=1033;e.Llinebelow=7738;e.Lmonospace=65324;e.Lslash=321;e.Lslashsmall=63225;e.Lsmall=63340;e.M=77;e.MBsquare=13190;e.Macron=63184;e.Macronsmall=63407;e.Macute=7742;e.Mcircle=9410;e.Mdotaccent=7744;e.Mdotbelow=7746;e.Menarmenian=1348;e.Mmonospace=65325;e.Msmall=63341;e.Mturned=412;e.Mu=924;e.N=78;e.NJ=458;e.Nacute=323;e.Ncaron=327;e.Ncedilla=325;e.Ncircle=9411;e.Ncircumflexbelow=7754;e.Ncommaaccent=325;e.Ndotaccent=7748;e.Ndotbelow=7750;e.Nhookleft=413;e.Nineroman=8552;e.Nj=459;e.Njecyrillic=1034;e.Nlinebelow=7752;e.Nmonospace=65326;e.Nowarmenian=1350;e.Nsmall=63342;e.Ntilde=209;e.Ntildesmall=63473;e.Nu=925;e.O=79;e.OE=338;e.OEsmall=63226;e.Oacute=211;e.Oacutesmall=63475;e.Obarredcyrillic=1256;e.Obarreddieresiscyrillic=1258;e.Obreve=334;e.Ocaron=465;e.Ocenteredtilde=415;e.Ocircle=9412;e.Ocircumflex=212;e.Ocircumflexacute=7888;e.Ocircumflexdotbelow=7896;e.Ocircumflexgrave=7890;e.Ocircumflexhookabove=7892;e.Ocircumflexsmall=63476;e.Ocircumflextilde=7894;e.Ocyrillic=1054;e.Odblacute=336;e.Odblgrave=524;e.Odieresis=214;e.Odieresiscyrillic=1254;e.Odieresissmall=63478;e.Odotbelow=7884;e.Ogoneksmall=63227;e.Ograve=210;e.Ogravesmall=63474;e.Oharmenian=1365;e.Ohm=8486;e.Ohookabove=7886;e.Ohorn=416;e.Ohornacute=7898;e.Ohorndotbelow=7906;e.Ohorngrave=7900;e.Ohornhookabove=7902;e.Ohorntilde=7904;e.Ohungarumlaut=336;e.Oi=418;e.Oinvertedbreve=526;e.Omacron=332;e.Omacronacute=7762;e.Omacrongrave=7760;e.Omega=8486;e.Omegacyrillic=1120;e.Omegagreek=937;e.Omegaroundcyrillic=1146;e.Omegatitlocyrillic=1148;e.Omegatonos=911;e.Omicron=927;e.Omicrontonos=908;e.Omonospace=65327;e.Oneroman=8544;e.Oogonek=490;e.Oogonekmacron=492;e.Oopen=390;e.Oslash=216;e.Oslashacute=510;e.Oslashsmall=63480;e.Osmall=63343;e.Ostrokeacute=510;e.Otcyrillic=1150;e.Otilde=213;e.Otildeacute=7756;e.Otildedieresis=7758;e.Otildesmall=63477;e.P=80;e.Pacute=7764;e.Pcircle=9413;e.Pdotaccent=7766;e.Pecyrillic=1055;e.Peharmenian=1354;e.Pemiddlehookcyrillic=1190;e.Phi=934;e.Phook=420;e.Pi=928;e.Piwrarmenian=1363;e.Pmonospace=65328;e.Psi=936;e.Psicyrillic=1136;e.Psmall=63344;e.Q=81;e.Qcircle=9414;e.Qmonospace=65329;e.Qsmall=63345;e.R=82;e.Raarmenian=1356;e.Racute=340;e.Rcaron=344;e.Rcedilla=342;e.Rcircle=9415;e.Rcommaaccent=342;e.Rdblgrave=528;e.Rdotaccent=7768;e.Rdotbelow=7770;e.Rdotbelowmacron=7772;e.Reharmenian=1360;e.Rfraktur=8476;e.Rho=929;e.Ringsmall=63228;e.Rinvertedbreve=530;e.Rlinebelow=7774;e.Rmonospace=65330;e.Rsmall=63346;e.Rsmallinverted=641;e.Rsmallinvertedsuperior=694;e.S=83;e.SF010000=9484;e.SF020000=9492;e.SF030000=9488;e.SF040000=9496;e.SF050000=9532;e.SF060000=9516;e.SF070000=9524;e.SF080000=9500;e.SF090000=9508;e.SF100000=9472;e.SF110000=9474;e.SF190000=9569;e.SF200000=9570;e.SF210000=9558;e.SF220000=9557;e.SF230000=9571;e.SF240000=9553;e.SF250000=9559;e.SF260000=9565;e.SF270000=9564;e.SF280000=9563;e.SF360000=9566;e.SF370000=9567;e.SF380000=9562;e.SF390000=9556;e.SF400000=9577;e.SF410000=9574;e.SF420000=9568;e.SF430000=9552;e.SF440000=9580;e.SF450000=9575;e.SF460000=9576;e.SF470000=9572;e.SF480000=9573;e.SF490000=9561;e.SF500000=9560;e.SF510000=9554;e.SF520000=9555;e.SF530000=9579;e.SF540000=9578;e.Sacute=346;e.Sacutedotaccent=7780;e.Sampigreek=992;e.Scaron=352;e.Scarondotaccent=7782;e.Scaronsmall=63229;e.Scedilla=350;e.Schwa=399;e.Schwacyrillic=1240;e.Schwadieresiscyrillic=1242;e.Scircle=9416;e.Scircumflex=348;e.Scommaaccent=536;e.Sdotaccent=7776;e.Sdotbelow=7778;e.Sdotbelowdotaccent=7784;e.Seharmenian=1357;e.Sevenroman=8550;e.Shaarmenian=1351;e.Shacyrillic=1064;e.Shchacyrillic=1065;e.Sheicoptic=994;e.Shhacyrillic=1210;e.Shimacoptic=1004;e.Sigma=931;e.Sixroman=8549;e.Smonospace=65331;e.Softsigncyrillic=1068;e.Ssmall=63347;e.Stigmagreek=986;e.T=84;e.Tau=932;e.Tbar=358;e.Tcaron=356;e.Tcedilla=354;e.Tcircle=9417;e.Tcircumflexbelow=7792;e.Tcommaaccent=354;e.Tdotaccent=7786;e.Tdotbelow=7788;e.Tecyrillic=1058;e.Tedescendercyrillic=1196;e.Tenroman=8553;e.Tetsecyrillic=1204;e.Theta=920;e.Thook=428;e.Thorn=222;e.Thornsmall=63486;e.Threeroman=8546;e.Tildesmall=63230;e.Tiwnarmenian=1359;e.Tlinebelow=7790;e.Tmonospace=65332;e.Toarmenian=1337;e.Tonefive=444;e.Tonesix=388;e.Tonetwo=423;e.Tretroflexhook=430;e.Tsecyrillic=1062;e.Tshecyrillic=1035;e.Tsmall=63348;e.Twelveroman=8555;e.Tworoman=8545;e.U=85;e.Uacute=218;e.Uacutesmall=63482;e.Ubreve=364;e.Ucaron=467;e.Ucircle=9418;e.Ucircumflex=219;e.Ucircumflexbelow=7798;e.Ucircumflexsmall=63483;e.Ucyrillic=1059;e.Udblacute=368;e.Udblgrave=532;e.Udieresis=220;e.Udieresisacute=471;e.Udieresisbelow=7794;e.Udieresiscaron=473;e.Udieresiscyrillic=1264;e.Udieresisgrave=475;e.Udieresismacron=469;e.Udieresissmall=63484;e.Udotbelow=7908;e.Ugrave=217;e.Ugravesmall=63481;e.Uhookabove=7910;e.Uhorn=431;e.Uhornacute=7912;e.Uhorndotbelow=7920;e.Uhorngrave=7914;e.Uhornhookabove=7916;e.Uhorntilde=7918;e.Uhungarumlaut=368;e.Uhungarumlautcyrillic=1266;e.Uinvertedbreve=534;e.Ukcyrillic=1144;e.Umacron=362;e.Umacroncyrillic=1262;e.Umacrondieresis=7802;e.Umonospace=65333;e.Uogonek=370;e.Upsilon=933;e.Upsilon1=978;e.Upsilonacutehooksymbolgreek=979;e.Upsilonafrican=433;e.Upsilondieresis=939;e.Upsilondieresishooksymbolgreek=980;e.Upsilonhooksymbol=978;e.Upsilontonos=910;e.Uring=366;e.Ushortcyrillic=1038;e.Usmall=63349;e.Ustraightcyrillic=1198;e.Ustraightstrokecyrillic=1200;e.Utilde=360;e.Utildeacute=7800;e.Utildebelow=7796;e.V=86;e.Vcircle=9419;e.Vdotbelow=7806;e.Vecyrillic=1042;e.Vewarmenian=1358;e.Vhook=434;e.Vmonospace=65334;e.Voarmenian=1352;e.Vsmall=63350;e.Vtilde=7804;e.W=87;e.Wacute=7810;e.Wcircle=9420;e.Wcircumflex=372;e.Wdieresis=7812;e.Wdotaccent=7814;e.Wdotbelow=7816;e.Wgrave=7808;e.Wmonospace=65335;e.Wsmall=63351;e.X=88;e.Xcircle=9421;e.Xdieresis=7820;e.Xdotaccent=7818;e.Xeharmenian=1341;e.Xi=926;e.Xmonospace=65336;e.Xsmall=63352;e.Y=89;e.Yacute=221;e.Yacutesmall=63485;e.Yatcyrillic=1122;e.Ycircle=9422;e.Ycircumflex=374;e.Ydieresis=376;e.Ydieresissmall=63487;e.Ydotaccent=7822;e.Ydotbelow=7924;e.Yericyrillic=1067;e.Yerudieresiscyrillic=1272;e.Ygrave=7922;e.Yhook=435;e.Yhookabove=7926;e.Yiarmenian=1349;e.Yicyrillic=1031;e.Yiwnarmenian=1362;e.Ymonospace=65337;e.Ysmall=63353;e.Ytilde=7928;e.Yusbigcyrillic=1130;e.Yusbigiotifiedcyrillic=1132;e.Yuslittlecyrillic=1126;e.Yuslittleiotifiedcyrillic=1128;e.Z=90;e.Zaarmenian=1334;e.Zacute=377;e.Zcaron=381;e.Zcaronsmall=63231;e.Zcircle=9423;e.Zcircumflex=7824;e.Zdot=379;e.Zdotaccent=379;e.Zdotbelow=7826;e.Zecyrillic=1047;e.Zedescendercyrillic=1176;e.Zedieresiscyrillic=1246;e.Zeta=918;e.Zhearmenian=1338;e.Zhebrevecyrillic=1217;e.Zhecyrillic=1046;e.Zhedescendercyrillic=1174;e.Zhedieresiscyrillic=1244;e.Zlinebelow=7828;e.Zmonospace=65338;e.Zsmall=63354;e.Zstroke=437;e.a=97;e.aabengali=2438;e.aacute=225;e.aadeva=2310;e.aagujarati=2694;e.aagurmukhi=2566;e.aamatragurmukhi=2622;e.aarusquare=13059;e.aavowelsignbengali=2494;e.aavowelsigndeva=2366;e.aavowelsigngujarati=2750;e.abbreviationmarkarmenian=1375;e.abbreviationsigndeva=2416;e.abengali=2437;e.abopomofo=12570;e.abreve=259;e.abreveacute=7855;e.abrevecyrillic=1233;e.abrevedotbelow=7863;e.abrevegrave=7857;e.abrevehookabove=7859;e.abrevetilde=7861;e.acaron=462;e.acircle=9424;e.acircumflex=226;e.acircumflexacute=7845;e.acircumflexdotbelow=7853;e.acircumflexgrave=7847;e.acircumflexhookabove=7849;e.acircumflextilde=7851;e.acute=180;e.acutebelowcmb=791;e.acutecmb=769;e.acutecomb=769;e.acutedeva=2388;e.acutelowmod=719;e.acutetonecmb=833;e.acyrillic=1072;e.adblgrave=513;e.addakgurmukhi=2673;e.adeva=2309;e.adieresis=228;e.adieresiscyrillic=1235;e.adieresismacron=479;e.adotbelow=7841;e.adotmacron=481;e.ae=230;e.aeacute=509;e.aekorean=12624;e.aemacron=483;e.afii00208=8213;e.afii08941=8356;e.afii10017=1040;e.afii10018=1041;e.afii10019=1042;e.afii10020=1043;e.afii10021=1044;e.afii10022=1045;e.afii10023=1025;e.afii10024=1046;e.afii10025=1047;e.afii10026=1048;e.afii10027=1049;e.afii10028=1050;e.afii10029=1051;e.afii10030=1052;e.afii10031=1053;e.afii10032=1054;e.afii10033=1055;e.afii10034=1056;e.afii10035=1057;e.afii10036=1058;e.afii10037=1059;e.afii10038=1060;e.afii10039=1061;e.afii10040=1062;e.afii10041=1063;e.afii10042=1064;e.afii10043=1065;e.afii10044=1066;e.afii10045=1067;e.afii10046=1068;e.afii10047=1069;e.afii10048=1070;e.afii10049=1071;e.afii10050=1168;e.afii10051=1026;e.afii10052=1027;e.afii10053=1028;e.afii10054=1029;e.afii10055=1030;e.afii10056=1031;e.afii10057=1032;e.afii10058=1033;e.afii10059=1034;e.afii10060=1035;e.afii10061=1036;e.afii10062=1038;e.afii10063=63172;e.afii10064=63173;e.afii10065=1072;e.afii10066=1073;e.afii10067=1074;e.afii10068=1075;e.afii10069=1076;e.afii10070=1077;e.afii10071=1105;e.afii10072=1078;e.afii10073=1079;e.afii10074=1080;e.afii10075=1081;e.afii10076=1082;e.afii10077=1083;e.afii10078=1084;e.afii10079=1085;e.afii10080=1086;e.afii10081=1087;e.afii10082=1088;e.afii10083=1089;e.afii10084=1090;e.afii10085=1091;e.afii10086=1092;e.afii10087=1093;e.afii10088=1094;e.afii10089=1095;e.afii10090=1096;e.afii10091=1097;e.afii10092=1098;e.afii10093=1099;e.afii10094=1100;e.afii10095=1101;e.afii10096=1102;e.afii10097=1103;e.afii10098=1169;e.afii10099=1106;e.afii10100=1107;e.afii10101=1108;e.afii10102=1109;e.afii10103=1110;e.afii10104=1111;e.afii10105=1112;e.afii10106=1113;e.afii10107=1114;e.afii10108=1115;e.afii10109=1116;e.afii10110=1118;e.afii10145=1039;e.afii10146=1122;e.afii10147=1138;e.afii10148=1140;e.afii10192=63174;e.afii10193=1119;e.afii10194=1123;e.afii10195=1139;e.afii10196=1141;e.afii10831=63175;e.afii10832=63176;e.afii10846=1241;e.afii299=8206;e.afii300=8207;e.afii301=8205;e.afii57381=1642;e.afii57388=1548;e.afii57392=1632;e.afii57393=1633;e.afii57394=1634;e.afii57395=1635;e.afii57396=1636;e.afii57397=1637;e.afii57398=1638;e.afii57399=1639;e.afii57400=1640;e.afii57401=1641;e.afii57403=1563;e.afii57407=1567;e.afii57409=1569;e.afii57410=1570;e.afii57411=1571;e.afii57412=1572;e.afii57413=1573;e.afii57414=1574;e.afii57415=1575;e.afii57416=1576;e.afii57417=1577;e.afii57418=1578;e.afii57419=1579;e.afii57420=1580;e.afii57421=1581;e.afii57422=1582;e.afii57423=1583;e.afii57424=1584;e.afii57425=1585;e.afii57426=1586;e.afii57427=1587;e.afii57428=1588;e.afii57429=1589;e.afii57430=1590;e.afii57431=1591;e.afii57432=1592;e.afii57433=1593;e.afii57434=1594;e.afii57440=1600;e.afii57441=1601;e.afii57442=1602;e.afii57443=1603;e.afii57444=1604;e.afii57445=1605;e.afii57446=1606;e.afii57448=1608;e.afii57449=1609;e.afii57450=1610;e.afii57451=1611;e.afii57452=1612;e.afii57453=1613;e.afii57454=1614;e.afii57455=1615;e.afii57456=1616;e.afii57457=1617;e.afii57458=1618;e.afii57470=1607;e.afii57505=1700;e.afii57506=1662;e.afii57507=1670;e.afii57508=1688;e.afii57509=1711;e.afii57511=1657;e.afii57512=1672;e.afii57513=1681;e.afii57514=1722;e.afii57519=1746;e.afii57534=1749;e.afii57636=8362;e.afii57645=1470;e.afii57658=1475;e.afii57664=1488;e.afii57665=1489;e.afii57666=1490;e.afii57667=1491;e.afii57668=1492;e.afii57669=1493;e.afii57670=1494;e.afii57671=1495;e.afii57672=1496;e.afii57673=1497;e.afii57674=1498;e.afii57675=1499;e.afii57676=1500;e.afii57677=1501;e.afii57678=1502;e.afii57679=1503;e.afii57680=1504;e.afii57681=1505;e.afii57682=1506;e.afii57683=1507;e.afii57684=1508;e.afii57685=1509;e.afii57686=1510;e.afii57687=1511;e.afii57688=1512;e.afii57689=1513;e.afii57690=1514;e.afii57694=64298;e.afii57695=64299;e.afii57700=64331;e.afii57705=64287;e.afii57716=1520;e.afii57717=1521;e.afii57718=1522;e.afii57723=64309;e.afii57793=1460;e.afii57794=1461;e.afii57795=1462;e.afii57796=1467;e.afii57797=1464;e.afii57798=1463;e.afii57799=1456;e.afii57800=1458;e.afii57801=1457;e.afii57802=1459;e.afii57803=1474;e.afii57804=1473;e.afii57806=1465;e.afii57807=1468;e.afii57839=1469;e.afii57841=1471;e.afii57842=1472;e.afii57929=700;e.afii61248=8453;e.afii61289=8467;e.afii61352=8470;e.afii61573=8236;e.afii61574=8237;e.afii61575=8238;e.afii61664=8204;e.afii63167=1645;e.afii64937=701;e.agrave=224;e.agujarati=2693;e.agurmukhi=2565;e.ahiragana=12354;e.ahookabove=7843;e.aibengali=2448;e.aibopomofo=12574;e.aideva=2320;e.aiecyrillic=1237;e.aigujarati=2704;e.aigurmukhi=2576;e.aimatragurmukhi=2632;e.ainarabic=1593;e.ainfinalarabic=65226;e.aininitialarabic=65227;e.ainmedialarabic=65228;e.ainvertedbreve=515;e.aivowelsignbengali=2504;e.aivowelsigndeva=2376;e.aivowelsigngujarati=2760;e.akatakana=12450;e.akatakanahalfwidth=65393;e.akorean=12623;e.alef=1488;e.alefarabic=1575;e.alefdageshhebrew=64304;e.aleffinalarabic=65166;e.alefhamzaabovearabic=1571;e.alefhamzaabovefinalarabic=65156;e.alefhamzabelowarabic=1573;e.alefhamzabelowfinalarabic=65160;e.alefhebrew=1488;e.aleflamedhebrew=64335;e.alefmaddaabovearabic=1570;e.alefmaddaabovefinalarabic=65154;e.alefmaksuraarabic=1609;e.alefmaksurafinalarabic=65264;e.alefmaksurainitialarabic=65267;e.alefmaksuramedialarabic=65268;e.alefpatahhebrew=64302;e.alefqamatshebrew=64303;e.aleph=8501;e.allequal=8780;e.alpha=945;e.alphatonos=940;e.amacron=257;e.amonospace=65345;e.ampersand=38;e.ampersandmonospace=65286;e.ampersandsmall=63270;e.amsquare=13250;e.anbopomofo=12578;e.angbopomofo=12580;e.angbracketleft=12296;e.angbracketright=12297;e.angkhankhuthai=3674;e.angle=8736;e.anglebracketleft=12296;e.anglebracketleftvertical=65087;e.anglebracketright=12297;e.anglebracketrightvertical=65088;e.angleleft=9001;e.angleright=9002;e.angstrom=8491;e.anoteleia=903;e.anudattadeva=2386;e.anusvarabengali=2434;e.anusvaradeva=2306;e.anusvaragujarati=2690;e.aogonek=261;e.apaatosquare=13056;e.aparen=9372;e.apostrophearmenian=1370;e.apostrophemod=700;e.apple=63743;e.approaches=8784;e.approxequal=8776;e.approxequalorimage=8786;e.approximatelyequal=8773;e.araeaekorean=12686;e.araeakorean=12685;e.arc=8978;e.arighthalfring=7834;e.aring=229;e.aringacute=507;e.aringbelow=7681;e.arrowboth=8596;e.arrowdashdown=8675;e.arrowdashleft=8672;e.arrowdashright=8674;e.arrowdashup=8673;e.arrowdblboth=8660;e.arrowdbldown=8659;e.arrowdblleft=8656;e.arrowdblright=8658;e.arrowdblup=8657;e.arrowdown=8595;e.arrowdownleft=8601;e.arrowdownright=8600;e.arrowdownwhite=8681;e.arrowheaddownmod=709;e.arrowheadleftmod=706;e.arrowheadrightmod=707;e.arrowheadupmod=708;e.arrowhorizex=63719;e.arrowleft=8592;e.arrowleftdbl=8656;e.arrowleftdblstroke=8653;e.arrowleftoverright=8646;e.arrowleftwhite=8678;e.arrowright=8594;e.arrowrightdblstroke=8655;e.arrowrightheavy=10142;e.arrowrightoverleft=8644;e.arrowrightwhite=8680;e.arrowtableft=8676;e.arrowtabright=8677;e.arrowup=8593;e.arrowupdn=8597;e.arrowupdnbse=8616;e.arrowupdownbase=8616;e.arrowupleft=8598;e.arrowupleftofdown=8645;e.arrowupright=8599;e.arrowupwhite=8679;e.arrowvertex=63718;e.asciicircum=94;e.asciicircummonospace=65342;e.asciitilde=126;e.asciitildemonospace=65374;e.ascript=593;e.ascriptturned=594;e.asmallhiragana=12353;e.asmallkatakana=12449;e.asmallkatakanahalfwidth=65383;e.asterisk=42;e.asteriskaltonearabic=1645;e.asteriskarabic=1645;e.asteriskmath=8727;e.asteriskmonospace=65290;e.asterisksmall=65121;e.asterism=8258;e.asuperior=63209;e.asymptoticallyequal=8771;e.at=64;e.atilde=227;e.atmonospace=65312;e.atsmall=65131;e.aturned=592;e.aubengali=2452;e.aubopomofo=12576;e.audeva=2324;e.augujarati=2708;e.augurmukhi=2580;e.aulengthmarkbengali=2519;e.aumatragurmukhi=2636;e.auvowelsignbengali=2508;e.auvowelsigndeva=2380;e.auvowelsigngujarati=2764;e.avagrahadeva=2365;e.aybarmenian=1377;e.ayin=1506;e.ayinaltonehebrew=64288;e.ayinhebrew=1506;e.b=98;e.babengali=2476;e.backslash=92;e.backslashmonospace=65340;e.badeva=2348;e.bagujarati=2732;e.bagurmukhi=2604;e.bahiragana=12400;e.bahtthai=3647;e.bakatakana=12496;e.bar=124;e.barmonospace=65372;e.bbopomofo=12549;e.bcircle=9425;e.bdotaccent=7683;e.bdotbelow=7685;e.beamedsixteenthnotes=9836;e.because=8757;e.becyrillic=1073;e.beharabic=1576;e.behfinalarabic=65168;e.behinitialarabic=65169;e.behiragana=12409;e.behmedialarabic=65170;e.behmeeminitialarabic=64671;e.behmeemisolatedarabic=64520;e.behnoonfinalarabic=64621;e.bekatakana=12505;e.benarmenian=1378;e.bet=1489;e.beta=946;e.betasymbolgreek=976;e.betdagesh=64305;e.betdageshhebrew=64305;e.bethebrew=1489;e.betrafehebrew=64332;e.bhabengali=2477;e.bhadeva=2349;e.bhagujarati=2733;e.bhagurmukhi=2605;e.bhook=595;e.bihiragana=12403;e.bikatakana=12499;e.bilabialclick=664;e.bindigurmukhi=2562;e.birusquare=13105;e.blackcircle=9679;e.blackdiamond=9670;e.blackdownpointingtriangle=9660;e.blackleftpointingpointer=9668;e.blackleftpointingtriangle=9664;e.blacklenticularbracketleft=12304;e.blacklenticularbracketleftvertical=65083;e.blacklenticularbracketright=12305;e.blacklenticularbracketrightvertical=65084;e.blacklowerlefttriangle=9699;e.blacklowerrighttriangle=9698;e.blackrectangle=9644;e.blackrightpointingpointer=9658;e.blackrightpointingtriangle=9654;e.blacksmallsquare=9642;e.blacksmilingface=9787;e.blacksquare=9632;e.blackstar=9733;e.blackupperlefttriangle=9700;e.blackupperrighttriangle=9701;e.blackuppointingsmalltriangle=9652;e.blackuppointingtriangle=9650;e.blank=9251;e.blinebelow=7687;e.block=9608;e.bmonospace=65346;e.bobaimaithai=3610;e.bohiragana=12412;e.bokatakana=12508;e.bparen=9373;e.bqsquare=13251;e.braceex=63732;e.braceleft=123;e.braceleftbt=63731;e.braceleftmid=63730;e.braceleftmonospace=65371;e.braceleftsmall=65115;e.bracelefttp=63729;e.braceleftvertical=65079;e.braceright=125;e.bracerightbt=63742;e.bracerightmid=63741;e.bracerightmonospace=65373;e.bracerightsmall=65116;e.bracerighttp=63740;e.bracerightvertical=65080;e.bracketleft=91;e.bracketleftbt=63728;e.bracketleftex=63727;e.bracketleftmonospace=65339;e.bracketlefttp=63726;e.bracketright=93;e.bracketrightbt=63739;e.bracketrightex=63738;e.bracketrightmonospace=65341;e.bracketrighttp=63737;e.breve=728;e.brevebelowcmb=814;e.brevecmb=774;e.breveinvertedbelowcmb=815;e.breveinvertedcmb=785;e.breveinverteddoublecmb=865;e.bridgebelowcmb=810;e.bridgeinvertedbelowcmb=826;e.brokenbar=166;e.bstroke=384;e.bsuperior=63210;e.btopbar=387;e.buhiragana=12406;e.bukatakana=12502;e.bullet=8226;e.bulletinverse=9688;e.bulletoperator=8729;e.bullseye=9678;e.c=99;e.caarmenian=1390;e.cabengali=2458;e.cacute=263;e.cadeva=2330;e.cagujarati=2714;e.cagurmukhi=2586;e.calsquare=13192;e.candrabindubengali=2433;e.candrabinducmb=784;e.candrabindudeva=2305;e.candrabindugujarati=2689;e.capslock=8682;e.careof=8453;e.caron=711;e.caronbelowcmb=812;e.caroncmb=780;e.carriagereturn=8629;e.cbopomofo=12568;e.ccaron=269;e.ccedilla=231;e.ccedillaacute=7689;e.ccircle=9426;e.ccircumflex=265;e.ccurl=597;e.cdot=267;e.cdotaccent=267;e.cdsquare=13253;e.cedilla=184;e.cedillacmb=807;e.cent=162;e.centigrade=8451;e.centinferior=63199;e.centmonospace=65504;e.centoldstyle=63394;e.centsuperior=63200;e.chaarmenian=1401;e.chabengali=2459;e.chadeva=2331;e.chagujarati=2715;e.chagurmukhi=2587;e.chbopomofo=12564;e.cheabkhasiancyrillic=1213;e.checkmark=10003;e.checyrillic=1095;e.chedescenderabkhasiancyrillic=1215;e.chedescendercyrillic=1207;e.chedieresiscyrillic=1269;e.cheharmenian=1395;e.chekhakassiancyrillic=1228;e.cheverticalstrokecyrillic=1209;e.chi=967;e.chieuchacirclekorean=12919;e.chieuchaparenkorean=12823;e.chieuchcirclekorean=12905;e.chieuchkorean=12618;e.chieuchparenkorean=12809;e.chochangthai=3594;e.chochanthai=3592;e.chochingthai=3593;e.chochoethai=3596;e.chook=392;e.cieucacirclekorean=12918;e.cieucaparenkorean=12822;e.cieuccirclekorean=12904;e.cieuckorean=12616;e.cieucparenkorean=12808;e.cieucuparenkorean=12828;e.circle=9675;e.circlecopyrt=169;e.circlemultiply=8855;e.circleot=8857;e.circleplus=8853;e.circlepostalmark=12342;e.circlewithlefthalfblack=9680;e.circlewithrighthalfblack=9681;e.circumflex=710;e.circumflexbelowcmb=813;e.circumflexcmb=770;e.clear=8999;e.clickalveolar=450;e.clickdental=448;e.clicklateral=449;e.clickretroflex=451;e.club=9827;e.clubsuitblack=9827;e.clubsuitwhite=9831;e.cmcubedsquare=13220;e.cmonospace=65347;e.cmsquaredsquare=13216;e.coarmenian=1409;e.colon=58;e.colonmonetary=8353;e.colonmonospace=65306;e.colonsign=8353;e.colonsmall=65109;e.colontriangularhalfmod=721;e.colontriangularmod=720;e.comma=44;e.commaabovecmb=787;e.commaaboverightcmb=789;e.commaaccent=63171;e.commaarabic=1548;e.commaarmenian=1373;e.commainferior=63201;e.commamonospace=65292;e.commareversedabovecmb=788;e.commareversedmod=701;e.commasmall=65104;e.commasuperior=63202;e.commaturnedabovecmb=786;e.commaturnedmod=699;e.compass=9788;e.congruent=8773;e.contourintegral=8750;e.control=8963;e.controlACK=6;e.controlBEL=7;e.controlBS=8;e.controlCAN=24;e.controlCR=13;e.controlDC1=17;e.controlDC2=18;e.controlDC3=19;e.controlDC4=20;e.controlDEL=127;e.controlDLE=16;e.controlEM=25;e.controlENQ=5;e.controlEOT=4;e.controlESC=27;e.controlETB=23;e.controlETX=3;e.controlFF=12;e.controlFS=28;e.controlGS=29;e.controlHT=9;e.controlLF=10;e.controlNAK=21;e.controlNULL=0;e.controlRS=30;e.controlSI=15;e.controlSO=14;e.controlSOT=2;e.controlSTX=1;e.controlSUB=26;e.controlSYN=22;e.controlUS=31;e.controlVT=11;e.copyright=169;e.copyrightsans=63721;e.copyrightserif=63193;e.cornerbracketleft=12300;e.cornerbracketlefthalfwidth=65378;e.cornerbracketleftvertical=65089;e.cornerbracketright=12301;e.cornerbracketrighthalfwidth=65379;e.cornerbracketrightvertical=65090;e.corporationsquare=13183;e.cosquare=13255;e.coverkgsquare=13254;e.cparen=9374;e.cruzeiro=8354;e.cstretched=663;e.curlyand=8911;e.curlyor=8910;e.currency=164;e.cyrBreve=63185;e.cyrFlex=63186;e.cyrbreve=63188;e.cyrflex=63189;e.d=100;e.daarmenian=1380;e.dabengali=2470;e.dadarabic=1590;e.dadeva=2342;e.dadfinalarabic=65214;e.dadinitialarabic=65215;e.dadmedialarabic=65216;e.dagesh=1468;e.dageshhebrew=1468;e.dagger=8224;e.daggerdbl=8225;e.dagujarati=2726;e.dagurmukhi=2598;e.dahiragana=12384;e.dakatakana=12480;e.dalarabic=1583;e.dalet=1491;e.daletdagesh=64307;e.daletdageshhebrew=64307;e.dalethebrew=1491;e.dalfinalarabic=65194;e.dammaarabic=1615;e.dammalowarabic=1615;e.dammatanaltonearabic=1612;e.dammatanarabic=1612;e.danda=2404;e.dargahebrew=1447;e.dargalefthebrew=1447;e.dasiapneumatacyrilliccmb=1157;e.dblGrave=63187;e.dblanglebracketleft=12298;e.dblanglebracketleftvertical=65085;e.dblanglebracketright=12299;e.dblanglebracketrightvertical=65086;e.dblarchinvertedbelowcmb=811;e.dblarrowleft=8660;e.dblarrowright=8658;e.dbldanda=2405;e.dblgrave=63190;e.dblgravecmb=783;e.dblintegral=8748;e.dbllowline=8215;e.dbllowlinecmb=819;e.dbloverlinecmb=831;e.dblprimemod=698;e.dblverticalbar=8214;e.dblverticallineabovecmb=782;e.dbopomofo=12553;e.dbsquare=13256;e.dcaron=271;e.dcedilla=7697;e.dcircle=9427;e.dcircumflexbelow=7699;e.dcroat=273;e.ddabengali=2465;e.ddadeva=2337;e.ddagujarati=2721;e.ddagurmukhi=2593;e.ddalarabic=1672;e.ddalfinalarabic=64393;e.dddhadeva=2396;e.ddhabengali=2466;e.ddhadeva=2338;e.ddhagujarati=2722;e.ddhagurmukhi=2594;e.ddotaccent=7691;e.ddotbelow=7693;e.decimalseparatorarabic=1643;e.decimalseparatorpersian=1643;e.decyrillic=1076;e.degree=176;e.dehihebrew=1453;e.dehiragana=12391;e.deicoptic=1007;e.dekatakana=12487;e.deleteleft=9003;e.deleteright=8998;e.delta=948;e.deltaturned=397;e.denominatorminusonenumeratorbengali=2552;e.dezh=676;e.dhabengali=2471;e.dhadeva=2343;e.dhagujarati=2727;e.dhagurmukhi=2599;e.dhook=599;e.dialytikatonos=901;e.dialytikatonoscmb=836;e.diamond=9830;e.diamondsuitwhite=9826;e.dieresis=168;e.dieresisacute=63191;e.dieresisbelowcmb=804;e.dieresiscmb=776;e.dieresisgrave=63192;e.dieresistonos=901;e.dihiragana=12386;e.dikatakana=12482;e.dittomark=12291;e.divide=247;e.divides=8739;e.divisionslash=8725;e.djecyrillic=1106;e.dkshade=9619;e.dlinebelow=7695;e.dlsquare=13207;e.dmacron=273;e.dmonospace=65348;e.dnblock=9604;e.dochadathai=3598;e.dodekthai=3604;e.dohiragana=12393;e.dokatakana=12489;e.dollar=36;e.dollarinferior=63203;e.dollarmonospace=65284;e.dollaroldstyle=63268;e.dollarsmall=65129;e.dollarsuperior=63204;e.dong=8363;e.dorusquare=13094;e.dotaccent=729;e.dotaccentcmb=775;e.dotbelowcmb=803;e.dotbelowcomb=803;e.dotkatakana=12539;e.dotlessi=305;e.dotlessj=63166;e.dotlessjstrokehook=644;e.dotmath=8901;e.dottedcircle=9676;e.doubleyodpatah=64287;e.doubleyodpatahhebrew=64287;e.downtackbelowcmb=798;e.downtackmod=725;e.dparen=9375;e.dsuperior=63211;e.dtail=598;e.dtopbar=396;e.duhiragana=12389;e.dukatakana=12485;e.dz=499;e.dzaltone=675;e.dzcaron=454;e.dzcurl=677;e.dzeabkhasiancyrillic=1249;e.dzecyrillic=1109;e.dzhecyrillic=1119;e.e=101;e.eacute=233;e.earth=9793;e.ebengali=2447;e.ebopomofo=12572;e.ebreve=277;e.ecandradeva=2317;e.ecandragujarati=2701;e.ecandravowelsigndeva=2373;e.ecandravowelsigngujarati=2757;e.ecaron=283;e.ecedillabreve=7709;e.echarmenian=1381;e.echyiwnarmenian=1415;e.ecircle=9428;e.ecircumflex=234;e.ecircumflexacute=7871;e.ecircumflexbelow=7705;e.ecircumflexdotbelow=7879;e.ecircumflexgrave=7873;e.ecircumflexhookabove=7875;e.ecircumflextilde=7877;e.ecyrillic=1108;e.edblgrave=517;e.edeva=2319;e.edieresis=235;e.edot=279;e.edotaccent=279;e.edotbelow=7865;e.eegurmukhi=2575;e.eematragurmukhi=2631;e.efcyrillic=1092;e.egrave=232;e.egujarati=2703;e.eharmenian=1383;e.ehbopomofo=12573;e.ehiragana=12360;e.ehookabove=7867;e.eibopomofo=12575;e.eight=56;e.eightarabic=1640;e.eightbengali=2542;e.eightcircle=9319;e.eightcircleinversesansserif=10129;e.eightdeva=2414;e.eighteencircle=9329;e.eighteenparen=9349;e.eighteenperiod=9369;e.eightgujarati=2798;e.eightgurmukhi=2670;e.eighthackarabic=1640;e.eighthangzhou=12328;e.eighthnotebeamed=9835;e.eightideographicparen=12839;e.eightinferior=8328;e.eightmonospace=65304;e.eightoldstyle=63288;e.eightparen=9339;e.eightperiod=9359;e.eightpersian=1784;e.eightroman=8567;e.eightsuperior=8312;e.eightthai=3672;e.einvertedbreve=519;e.eiotifiedcyrillic=1125;e.ekatakana=12456;e.ekatakanahalfwidth=65396;e.ekonkargurmukhi=2676;e.ekorean=12628;e.elcyrillic=1083;e.element=8712;e.elevencircle=9322;e.elevenparen=9342;e.elevenperiod=9362;e.elevenroman=8570;e.ellipsis=8230;e.ellipsisvertical=8942;e.emacron=275;e.emacronacute=7703;e.emacrongrave=7701;e.emcyrillic=1084;e.emdash=8212;e.emdashvertical=65073;e.emonospace=65349;e.emphasismarkarmenian=1371;e.emptyset=8709;e.enbopomofo=12579;e.encyrillic=1085;e.endash=8211;e.endashvertical=65074;e.endescendercyrillic=1187;e.eng=331;e.engbopomofo=12581;e.enghecyrillic=1189;e.enhookcyrillic=1224;e.enspace=8194;e.eogonek=281;e.eokorean=12627;e.eopen=603;e.eopenclosed=666;e.eopenreversed=604;e.eopenreversedclosed=606;e.eopenreversedhook=605;e.eparen=9376;e.epsilon=949;e.epsilontonos=941;e.equal=61;e.equalmonospace=65309;e.equalsmall=65126;e.equalsuperior=8316;e.equivalence=8801;e.erbopomofo=12582;e.ercyrillic=1088;e.ereversed=600;e.ereversedcyrillic=1101;e.escyrillic=1089;e.esdescendercyrillic=1195;e.esh=643;e.eshcurl=646;e.eshortdeva=2318;e.eshortvowelsigndeva=2374;e.eshreversedloop=426;e.eshsquatreversed=645;e.esmallhiragana=12359;e.esmallkatakana=12455;e.esmallkatakanahalfwidth=65386;e.estimated=8494;e.esuperior=63212;e.eta=951;e.etarmenian=1384;e.etatonos=942;e.eth=240;e.etilde=7869;e.etildebelow=7707;e.etnahtafoukhhebrew=1425;e.etnahtafoukhlefthebrew=1425;e.etnahtahebrew=1425;e.etnahtalefthebrew=1425;e.eturned=477;e.eukorean=12641;e.euro=8364;e.evowelsignbengali=2503;e.evowelsigndeva=2375;e.evowelsigngujarati=2759;e.exclam=33;e.exclamarmenian=1372;e.exclamdbl=8252;e.exclamdown=161;e.exclamdownsmall=63393;e.exclammonospace=65281;e.exclamsmall=63265;e.existential=8707;e.ezh=658;e.ezhcaron=495;e.ezhcurl=659;e.ezhreversed=441;e.ezhtail=442;e.f=102;e.fadeva=2398;e.fagurmukhi=2654;e.fahrenheit=8457;e.fathaarabic=1614;e.fathalowarabic=1614;e.fathatanarabic=1611;e.fbopomofo=12552;e.fcircle=9429;e.fdotaccent=7711;e.feharabic=1601;e.feharmenian=1414;e.fehfinalarabic=65234;e.fehinitialarabic=65235;e.fehmedialarabic=65236;e.feicoptic=997;e.female=9792;e.ff=64256;e.f_f=64256;e.ffi=64259;e.f_f_i=64259;e.ffl=64260;e.f_f_l=64260;e.fi=64257;e.f_i=64257;e.fifteencircle=9326;e.fifteenparen=9346;e.fifteenperiod=9366;e.figuredash=8210;e.filledbox=9632;e.filledrect=9644;e.finalkaf=1498;e.finalkafdagesh=64314;e.finalkafdageshhebrew=64314;e.finalkafhebrew=1498;e.finalmem=1501;e.finalmemhebrew=1501;e.finalnun=1503;e.finalnunhebrew=1503;e.finalpe=1507;e.finalpehebrew=1507;e.finaltsadi=1509;e.finaltsadihebrew=1509;e.firsttonechinese=713;e.fisheye=9673;e.fitacyrillic=1139;e.five=53;e.fivearabic=1637;e.fivebengali=2539;e.fivecircle=9316;e.fivecircleinversesansserif=10126;e.fivedeva=2411;e.fiveeighths=8541;e.fivegujarati=2795;e.fivegurmukhi=2667;e.fivehackarabic=1637;e.fivehangzhou=12325;e.fiveideographicparen=12836;e.fiveinferior=8325;e.fivemonospace=65301;e.fiveoldstyle=63285;e.fiveparen=9336;e.fiveperiod=9356;e.fivepersian=1781;e.fiveroman=8564;e.fivesuperior=8309;e.fivethai=3669;e.fl=64258;e.f_l=64258;e.florin=402;e.fmonospace=65350;e.fmsquare=13209;e.fofanthai=3615;e.fofathai=3613;e.fongmanthai=3663;e.forall=8704;e.four=52;e.fourarabic=1636;e.fourbengali=2538;e.fourcircle=9315;e.fourcircleinversesansserif=10125;e.fourdeva=2410;e.fourgujarati=2794;e.fourgurmukhi=2666;e.fourhackarabic=1636;e.fourhangzhou=12324;e.fourideographicparen=12835;e.fourinferior=8324;e.fourmonospace=65300;e.fournumeratorbengali=2551;e.fouroldstyle=63284;e.fourparen=9335;e.fourperiod=9355;e.fourpersian=1780;e.fourroman=8563;e.foursuperior=8308;e.fourteencircle=9325;e.fourteenparen=9345;e.fourteenperiod=9365;e.fourthai=3668;e.fourthtonechinese=715;e.fparen=9377;e.fraction=8260;e.franc=8355;e.g=103;e.gabengali=2455;e.gacute=501;e.gadeva=2327;e.gafarabic=1711;e.gaffinalarabic=64403;e.gafinitialarabic=64404;e.gafmedialarabic=64405;e.gagujarati=2711;e.gagurmukhi=2583;e.gahiragana=12364;e.gakatakana=12460;e.gamma=947;e.gammalatinsmall=611;e.gammasuperior=736;e.gangiacoptic=1003;e.gbopomofo=12557;e.gbreve=287;e.gcaron=487;e.gcedilla=291;e.gcircle=9430;e.gcircumflex=285;e.gcommaaccent=291;e.gdot=289;e.gdotaccent=289;e.gecyrillic=1075;e.gehiragana=12370;e.gekatakana=12466;e.geometricallyequal=8785;e.gereshaccenthebrew=1436;e.gereshhebrew=1523;e.gereshmuqdamhebrew=1437;e.germandbls=223;e.gershayimaccenthebrew=1438;e.gershayimhebrew=1524;e.getamark=12307;e.ghabengali=2456;e.ghadarmenian=1394;e.ghadeva=2328;e.ghagujarati=2712;e.ghagurmukhi=2584;e.ghainarabic=1594;e.ghainfinalarabic=65230;e.ghaininitialarabic=65231;e.ghainmedialarabic=65232;e.ghemiddlehookcyrillic=1173;e.ghestrokecyrillic=1171;e.gheupturncyrillic=1169;e.ghhadeva=2394;e.ghhagurmukhi=2650;e.ghook=608;e.ghzsquare=13203;e.gihiragana=12366;e.gikatakana=12462;e.gimarmenian=1379;e.gimel=1490;e.gimeldagesh=64306;e.gimeldageshhebrew=64306;e.gimelhebrew=1490;e.gjecyrillic=1107;e.glottalinvertedstroke=446;e.glottalstop=660;e.glottalstopinverted=662;e.glottalstopmod=704;e.glottalstopreversed=661;e.glottalstopreversedmod=705;e.glottalstopreversedsuperior=740;e.glottalstopstroke=673;e.glottalstopstrokereversed=674;e.gmacron=7713;e.gmonospace=65351;e.gohiragana=12372;e.gokatakana=12468;e.gparen=9378;e.gpasquare=13228;e.gradient=8711;e.grave=96;e.gravebelowcmb=790;e.gravecmb=768;e.gravecomb=768;e.gravedeva=2387;e.gravelowmod=718;e.gravemonospace=65344;e.gravetonecmb=832;e.greater=62;e.greaterequal=8805;e.greaterequalorless=8923;e.greatermonospace=65310;e.greaterorequivalent=8819;e.greaterorless=8823;e.greateroverequal=8807;e.greatersmall=65125;e.gscript=609;e.gstroke=485;e.guhiragana=12368;e.guillemotleft=171;e.guillemotright=187;e.guilsinglleft=8249;e.guilsinglright=8250;e.gukatakana=12464;e.guramusquare=13080;e.gysquare=13257;e.h=104;e.haabkhasiancyrillic=1193;e.haaltonearabic=1729;e.habengali=2489;e.hadescendercyrillic=1203;e.hadeva=2361;e.hagujarati=2745;e.hagurmukhi=2617;e.haharabic=1581;e.hahfinalarabic=65186;e.hahinitialarabic=65187;e.hahiragana=12399;e.hahmedialarabic=65188;e.haitusquare=13098;e.hakatakana=12495;e.hakatakanahalfwidth=65418;e.halantgurmukhi=2637;e.hamzaarabic=1569;e.hamzalowarabic=1569;e.hangulfiller=12644;e.hardsigncyrillic=1098;e.harpoonleftbarbup=8636;e.harpoonrightbarbup=8640;e.hasquare=13258;e.hatafpatah=1458;e.hatafpatah16=1458;e.hatafpatah23=1458;e.hatafpatah2f=1458;e.hatafpatahhebrew=1458;e.hatafpatahnarrowhebrew=1458;e.hatafpatahquarterhebrew=1458;e.hatafpatahwidehebrew=1458;e.hatafqamats=1459;e.hatafqamats1b=1459;e.hatafqamats28=1459;e.hatafqamats34=1459;e.hatafqamatshebrew=1459;e.hatafqamatsnarrowhebrew=1459;e.hatafqamatsquarterhebrew=1459;e.hatafqamatswidehebrew=1459;e.hatafsegol=1457;e.hatafsegol17=1457;e.hatafsegol24=1457;e.hatafsegol30=1457;e.hatafsegolhebrew=1457;e.hatafsegolnarrowhebrew=1457;e.hatafsegolquarterhebrew=1457;e.hatafsegolwidehebrew=1457;e.hbar=295;e.hbopomofo=12559;e.hbrevebelow=7723;e.hcedilla=7721;e.hcircle=9431;e.hcircumflex=293;e.hdieresis=7719;e.hdotaccent=7715;e.hdotbelow=7717;e.he=1492;e.heart=9829;e.heartsuitblack=9829;e.heartsuitwhite=9825;e.hedagesh=64308;e.hedageshhebrew=64308;e.hehaltonearabic=1729;e.heharabic=1607;e.hehebrew=1492;e.hehfinalaltonearabic=64423;e.hehfinalalttwoarabic=65258;e.hehfinalarabic=65258;e.hehhamzaabovefinalarabic=64421;e.hehhamzaaboveisolatedarabic=64420;e.hehinitialaltonearabic=64424;e.hehinitialarabic=65259;e.hehiragana=12408;e.hehmedialaltonearabic=64425;e.hehmedialarabic=65260;e.heiseierasquare=13179;e.hekatakana=12504;e.hekatakanahalfwidth=65421;e.hekutaarusquare=13110;e.henghook=615;e.herutusquare=13113;e.het=1495;e.hethebrew=1495;e.hhook=614;e.hhooksuperior=689;e.hieuhacirclekorean=12923;e.hieuhaparenkorean=12827;e.hieuhcirclekorean=12909;e.hieuhkorean=12622;e.hieuhparenkorean=12813;e.hihiragana=12402;e.hikatakana=12498;e.hikatakanahalfwidth=65419;e.hiriq=1460;e.hiriq14=1460;e.hiriq21=1460;e.hiriq2d=1460;e.hiriqhebrew=1460;e.hiriqnarrowhebrew=1460;e.hiriqquarterhebrew=1460;e.hiriqwidehebrew=1460;e.hlinebelow=7830;e.hmonospace=65352;e.hoarmenian=1392;e.hohipthai=3627;e.hohiragana=12411;e.hokatakana=12507;e.hokatakanahalfwidth=65422;e.holam=1465;e.holam19=1465;e.holam26=1465;e.holam32=1465;e.holamhebrew=1465;e.holamnarrowhebrew=1465;e.holamquarterhebrew=1465;e.holamwidehebrew=1465;e.honokhukthai=3630;e.hookabovecomb=777;e.hookcmb=777;e.hookpalatalizedbelowcmb=801;e.hookretroflexbelowcmb=802;e.hoonsquare=13122;e.horicoptic=1001;e.horizontalbar=8213;e.horncmb=795;e.hotsprings=9832;e.house=8962;e.hparen=9379;e.hsuperior=688;e.hturned=613;e.huhiragana=12405;e.huiitosquare=13107;e.hukatakana=12501;e.hukatakanahalfwidth=65420;e.hungarumlaut=733;e.hungarumlautcmb=779;e.hv=405;e.hyphen=45;e.hypheninferior=63205;e.hyphenmonospace=65293;e.hyphensmall=65123;e.hyphensuperior=63206;e.hyphentwo=8208;e.i=105;e.iacute=237;e.iacyrillic=1103;e.ibengali=2439;e.ibopomofo=12583;e.ibreve=301;e.icaron=464;e.icircle=9432;e.icircumflex=238;e.icyrillic=1110;e.idblgrave=521;e.ideographearthcircle=12943;e.ideographfirecircle=12939;e.ideographicallianceparen=12863;e.ideographiccallparen=12858;e.ideographiccentrecircle=12965;e.ideographicclose=12294;e.ideographiccomma=12289;e.ideographiccommaleft=65380;e.ideographiccongratulationparen=12855;e.ideographiccorrectcircle=12963;e.ideographicearthparen=12847;e.ideographicenterpriseparen=12861;e.ideographicexcellentcircle=12957;e.ideographicfestivalparen=12864;e.ideographicfinancialcircle=12950;e.ideographicfinancialparen=12854;e.ideographicfireparen=12843;e.ideographichaveparen=12850;e.ideographichighcircle=12964;e.ideographiciterationmark=12293;e.ideographiclaborcircle=12952;e.ideographiclaborparen=12856;e.ideographicleftcircle=12967;e.ideographiclowcircle=12966;e.ideographicmedicinecircle=12969;e.ideographicmetalparen=12846;e.ideographicmoonparen=12842;e.ideographicnameparen=12852;e.ideographicperiod=12290;e.ideographicprintcircle=12958;e.ideographicreachparen=12867;e.ideographicrepresentparen=12857;e.ideographicresourceparen=12862;e.ideographicrightcircle=12968;e.ideographicsecretcircle=12953;e.ideographicselfparen=12866;e.ideographicsocietyparen=12851;e.ideographicspace=12288;e.ideographicspecialparen=12853;e.ideographicstockparen=12849;e.ideographicstudyparen=12859;e.ideographicsunparen=12848;e.ideographicsuperviseparen=12860;e.ideographicwaterparen=12844;e.ideographicwoodparen=12845;e.ideographiczero=12295;e.ideographmetalcircle=12942;e.ideographmooncircle=12938;e.ideographnamecircle=12948;e.ideographsuncircle=12944;e.ideographwatercircle=12940;e.ideographwoodcircle=12941;e.ideva=2311;e.idieresis=239;e.idieresisacute=7727;e.idieresiscyrillic=1253;e.idotbelow=7883;e.iebrevecyrillic=1239;e.iecyrillic=1077;e.ieungacirclekorean=12917;e.ieungaparenkorean=12821;e.ieungcirclekorean=12903;e.ieungkorean=12615;e.ieungparenkorean=12807;e.igrave=236;e.igujarati=2695;e.igurmukhi=2567;e.ihiragana=12356;e.ihookabove=7881;e.iibengali=2440;e.iicyrillic=1080;e.iideva=2312;e.iigujarati=2696;e.iigurmukhi=2568;e.iimatragurmukhi=2624;e.iinvertedbreve=523;e.iishortcyrillic=1081;e.iivowelsignbengali=2496;e.iivowelsigndeva=2368;e.iivowelsigngujarati=2752;e.ij=307;e.ikatakana=12452;e.ikatakanahalfwidth=65394;e.ikorean=12643;e.ilde=732;e.iluyhebrew=1452;e.imacron=299;e.imacroncyrillic=1251;e.imageorapproximatelyequal=8787;e.imatragurmukhi=2623;e.imonospace=65353;e.increment=8710;e.infinity=8734;e.iniarmenian=1387;e.integral=8747;e.integralbottom=8993;e.integralbt=8993;e.integralex=63733;e.integraltop=8992;e.integraltp=8992;e.intersection=8745;e.intisquare=13061;e.invbullet=9688;e.invcircle=9689;e.invsmileface=9787;e.iocyrillic=1105;e.iogonek=303;e.iota=953;e.iotadieresis=970;e.iotadieresistonos=912;e.iotalatin=617;e.iotatonos=943;e.iparen=9380;e.irigurmukhi=2674;e.ismallhiragana=12355;e.ismallkatakana=12451;e.ismallkatakanahalfwidth=65384;e.issharbengali=2554;e.istroke=616;e.isuperior=63213;e.iterationhiragana=12445;e.iterationkatakana=12541;e.itilde=297;e.itildebelow=7725;e.iubopomofo=12585;e.iucyrillic=1102;e.ivowelsignbengali=2495;e.ivowelsigndeva=2367;e.ivowelsigngujarati=2751;e.izhitsacyrillic=1141;e.izhitsadblgravecyrillic=1143;e.j=106;e.jaarmenian=1393;e.jabengali=2460;e.jadeva=2332;e.jagujarati=2716;e.jagurmukhi=2588;e.jbopomofo=12560;e.jcaron=496;e.jcircle=9433;e.jcircumflex=309;e.jcrossedtail=669;e.jdotlessstroke=607;e.jecyrillic=1112;e.jeemarabic=1580;e.jeemfinalarabic=65182;e.jeeminitialarabic=65183;e.jeemmedialarabic=65184;e.jeharabic=1688;e.jehfinalarabic=64395;e.jhabengali=2461;e.jhadeva=2333;e.jhagujarati=2717;e.jhagurmukhi=2589;e.jheharmenian=1403;e.jis=12292;e.jmonospace=65354;e.jparen=9381;e.jsuperior=690;e.k=107;e.kabashkircyrillic=1185;e.kabengali=2453;e.kacute=7729;e.kacyrillic=1082;e.kadescendercyrillic=1179;e.kadeva=2325;e.kaf=1499;e.kafarabic=1603;e.kafdagesh=64315;e.kafdageshhebrew=64315;e.kaffinalarabic=65242;e.kafhebrew=1499;e.kafinitialarabic=65243;e.kafmedialarabic=65244;e.kafrafehebrew=64333;e.kagujarati=2709;e.kagurmukhi=2581;e.kahiragana=12363;e.kahookcyrillic=1220;e.kakatakana=12459;e.kakatakanahalfwidth=65398;e.kappa=954;e.kappasymbolgreek=1008;e.kapyeounmieumkorean=12657;e.kapyeounphieuphkorean=12676;e.kapyeounpieupkorean=12664;e.kapyeounssangpieupkorean=12665;e.karoriisquare=13069;e.kashidaautoarabic=1600;e.kashidaautonosidebearingarabic=1600;e.kasmallkatakana=12533;e.kasquare=13188;e.kasraarabic=1616;e.kasratanarabic=1613;e.kastrokecyrillic=1183;e.katahiraprolongmarkhalfwidth=65392;e.kaverticalstrokecyrillic=1181;e.kbopomofo=12558;e.kcalsquare=13193;e.kcaron=489;e.kcedilla=311;e.kcircle=9434;e.kcommaaccent=311;e.kdotbelow=7731;e.keharmenian=1412;e.kehiragana=12369;e.kekatakana=12465;e.kekatakanahalfwidth=65401;e.kenarmenian=1391;e.kesmallkatakana=12534;e.kgreenlandic=312;e.khabengali=2454;e.khacyrillic=1093;e.khadeva=2326;e.khagujarati=2710;e.khagurmukhi=2582;e.khaharabic=1582;e.khahfinalarabic=65190;e.khahinitialarabic=65191;e.khahmedialarabic=65192;e.kheicoptic=999;e.khhadeva=2393;e.khhagurmukhi=2649;e.khieukhacirclekorean=12920;e.khieukhaparenkorean=12824;e.khieukhcirclekorean=12906;e.khieukhkorean=12619;e.khieukhparenkorean=12810;e.khokhaithai=3586;e.khokhonthai=3589;e.khokhuatthai=3587;e.khokhwaithai=3588;e.khomutthai=3675;e.khook=409;e.khorakhangthai=3590;e.khzsquare=13201;e.kihiragana=12365;e.kikatakana=12461;e.kikatakanahalfwidth=65399;e.kiroguramusquare=13077;e.kiromeetorusquare=13078;e.kirosquare=13076;e.kiyeokacirclekorean=12910;e.kiyeokaparenkorean=12814;e.kiyeokcirclekorean=12896;e.kiyeokkorean=12593;e.kiyeokparenkorean=12800;e.kiyeoksioskorean=12595;e.kjecyrillic=1116;e.klinebelow=7733;e.klsquare=13208;e.kmcubedsquare=13222;e.kmonospace=65355;e.kmsquaredsquare=13218;e.kohiragana=12371;e.kohmsquare=13248;e.kokaithai=3585;e.kokatakana=12467;e.kokatakanahalfwidth=65402;e.kooposquare=13086;e.koppacyrillic=1153;e.koreanstandardsymbol=12927;e.koroniscmb=835;e.kparen=9382;e.kpasquare=13226;e.ksicyrillic=1135;e.ktsquare=13263;e.kturned=670;e.kuhiragana=12367;e.kukatakana=12463;e.kukatakanahalfwidth=65400;e.kvsquare=13240;e.kwsquare=13246;e.l=108;e.labengali=2482;e.lacute=314;e.ladeva=2354;e.lagujarati=2738;e.lagurmukhi=2610;e.lakkhangyaothai=3653;e.lamaleffinalarabic=65276;e.lamalefhamzaabovefinalarabic=65272;e.lamalefhamzaaboveisolatedarabic=65271;e.lamalefhamzabelowfinalarabic=65274;e.lamalefhamzabelowisolatedarabic=65273;e.lamalefisolatedarabic=65275;e.lamalefmaddaabovefinalarabic=65270;e.lamalefmaddaaboveisolatedarabic=65269;e.lamarabic=1604;e.lambda=955;e.lambdastroke=411;e.lamed=1500;e.lameddagesh=64316;e.lameddageshhebrew=64316;e.lamedhebrew=1500;e.lamfinalarabic=65246;e.lamhahinitialarabic=64714;e.laminitialarabic=65247;e.lamjeeminitialarabic=64713;e.lamkhahinitialarabic=64715;e.lamlamhehisolatedarabic=65010;e.lammedialarabic=65248;e.lammeemhahinitialarabic=64904;e.lammeeminitialarabic=64716;e.largecircle=9711;e.lbar=410;e.lbelt=620;e.lbopomofo=12556;e.lcaron=318;e.lcedilla=316;e.lcircle=9435;e.lcircumflexbelow=7741;e.lcommaaccent=316;e.ldot=320;e.ldotaccent=320;e.ldotbelow=7735;e.ldotbelowmacron=7737;e.leftangleabovecmb=794;e.lefttackbelowcmb=792;e.less=60;e.lessequal=8804;e.lessequalorgreater=8922;e.lessmonospace=65308;e.lessorequivalent=8818;e.lessorgreater=8822;e.lessoverequal=8806;e.lesssmall=65124;e.lezh=622;e.lfblock=9612;e.lhookretroflex=621;e.lira=8356;e.liwnarmenian=1388;e.lj=457;e.ljecyrillic=1113;e.ll=63168;e.lladeva=2355;e.llagujarati=2739;e.llinebelow=7739;e.llladeva=2356;e.llvocalicbengali=2529;e.llvocalicdeva=2401;e.llvocalicvowelsignbengali=2531;e.llvocalicvowelsigndeva=2403;e.lmiddletilde=619;e.lmonospace=65356;e.lmsquare=13264;e.lochulathai=3628;e.logicaland=8743;e.logicalnot=172;e.logicalnotreversed=8976;e.logicalor=8744;e.lolingthai=3621;e.longs=383;e.lowlinecenterline=65102;e.lowlinecmb=818;e.lowlinedashed=65101;e.lozenge=9674;e.lparen=9383;e.lslash=322;e.lsquare=8467;e.lsuperior=63214;e.ltshade=9617;e.luthai=3622;e.lvocalicbengali=2444;e.lvocalicdeva=2316;e.lvocalicvowelsignbengali=2530;e.lvocalicvowelsigndeva=2402;e.lxsquare=13267;e.m=109;e.mabengali=2478;e.macron=175;e.macronbelowcmb=817;e.macroncmb=772;e.macronlowmod=717;e.macronmonospace=65507;e.macute=7743;e.madeva=2350;e.magujarati=2734;e.magurmukhi=2606;e.mahapakhhebrew=1444;e.mahapakhlefthebrew=1444;e.mahiragana=12414;e.maichattawalowleftthai=63637;e.maichattawalowrightthai=63636;e.maichattawathai=3659;e.maichattawaupperleftthai=63635;e.maieklowleftthai=63628;e.maieklowrightthai=63627;e.maiekthai=3656;e.maiekupperleftthai=63626;e.maihanakatleftthai=63620;e.maihanakatthai=3633;e.maitaikhuleftthai=63625;e.maitaikhuthai=3655;e.maitholowleftthai=63631;e.maitholowrightthai=63630;e.maithothai=3657;e.maithoupperleftthai=63629;e.maitrilowleftthai=63634;e.maitrilowrightthai=63633;e.maitrithai=3658;e.maitriupperleftthai=63632;e.maiyamokthai=3654;e.makatakana=12510;e.makatakanahalfwidth=65423;e.male=9794;e.mansyonsquare=13127;e.maqafhebrew=1470;e.mars=9794;e.masoracirclehebrew=1455;e.masquare=13187;e.mbopomofo=12551;e.mbsquare=13268;e.mcircle=9436;e.mcubedsquare=13221;e.mdotaccent=7745;e.mdotbelow=7747;e.meemarabic=1605;e.meemfinalarabic=65250;e.meeminitialarabic=65251;e.meemmedialarabic=65252;e.meemmeeminitialarabic=64721;e.meemmeemisolatedarabic=64584;e.meetorusquare=13133;e.mehiragana=12417;e.meizierasquare=13182;e.mekatakana=12513;e.mekatakanahalfwidth=65426;e.mem=1502;e.memdagesh=64318;e.memdageshhebrew=64318;e.memhebrew=1502;e.menarmenian=1396;e.merkhahebrew=1445;e.merkhakefulahebrew=1446;e.merkhakefulalefthebrew=1446;e.merkhalefthebrew=1445;e.mhook=625;e.mhzsquare=13202;e.middledotkatakanahalfwidth=65381;e.middot=183;e.mieumacirclekorean=12914;e.mieumaparenkorean=12818;e.mieumcirclekorean=12900;e.mieumkorean=12609;e.mieumpansioskorean=12656;e.mieumparenkorean=12804;e.mieumpieupkorean=12654;e.mieumsioskorean=12655;e.mihiragana=12415;e.mikatakana=12511;e.mikatakanahalfwidth=65424;e.minus=8722;e.minusbelowcmb=800;e.minuscircle=8854;e.minusmod=727;e.minusplus=8723;e.minute=8242;e.miribaarusquare=13130;e.mirisquare=13129;e.mlonglegturned=624;e.mlsquare=13206;e.mmcubedsquare=13219;e.mmonospace=65357;e.mmsquaredsquare=13215;e.mohiragana=12418;e.mohmsquare=13249;e.mokatakana=12514;e.mokatakanahalfwidth=65427;e.molsquare=13270;e.momathai=3617;e.moverssquare=13223;e.moverssquaredsquare=13224;e.mparen=9384;e.mpasquare=13227;e.mssquare=13235;e.msuperior=63215;e.mturned=623;e.mu=181;e.mu1=181;e.muasquare=13186;e.muchgreater=8811;e.muchless=8810;e.mufsquare=13196;e.mugreek=956;e.mugsquare=13197;e.muhiragana=12416;e.mukatakana=12512;e.mukatakanahalfwidth=65425;e.mulsquare=13205;e.multiply=215;e.mumsquare=13211;e.munahhebrew=1443;e.munahlefthebrew=1443;e.musicalnote=9834;e.musicalnotedbl=9835;e.musicflatsign=9837;e.musicsharpsign=9839;e.mussquare=13234;e.muvsquare=13238;e.muwsquare=13244;e.mvmegasquare=13241;e.mvsquare=13239;e.mwmegasquare=13247;e.mwsquare=13245;e.n=110;e.nabengali=2472;e.nabla=8711;e.nacute=324;e.nadeva=2344;e.nagujarati=2728;e.nagurmukhi=2600;e.nahiragana=12394;e.nakatakana=12490;e.nakatakanahalfwidth=65413;e.napostrophe=329;e.nasquare=13185;e.nbopomofo=12555;e.nbspace=160;e.ncaron=328;e.ncedilla=326;e.ncircle=9437;e.ncircumflexbelow=7755;e.ncommaaccent=326;e.ndotaccent=7749;e.ndotbelow=7751;e.nehiragana=12397;e.nekatakana=12493;e.nekatakanahalfwidth=65416;e.newsheqelsign=8362;e.nfsquare=13195;e.ngabengali=2457;e.ngadeva=2329;e.ngagujarati=2713;e.ngagurmukhi=2585;e.ngonguthai=3591;e.nhiragana=12435;e.nhookleft=626;e.nhookretroflex=627;e.nieunacirclekorean=12911;e.nieunaparenkorean=12815;e.nieuncieuckorean=12597;e.nieuncirclekorean=12897;e.nieunhieuhkorean=12598;e.nieunkorean=12596;e.nieunpansioskorean=12648;e.nieunparenkorean=12801;e.nieunsioskorean=12647;e.nieuntikeutkorean=12646;e.nihiragana=12395;e.nikatakana=12491;e.nikatakanahalfwidth=65414;e.nikhahitleftthai=63641;e.nikhahitthai=3661;e.nine=57;e.ninearabic=1641;e.ninebengali=2543;e.ninecircle=9320;e.ninecircleinversesansserif=10130;e.ninedeva=2415;e.ninegujarati=2799;e.ninegurmukhi=2671;e.ninehackarabic=1641;e.ninehangzhou=12329;e.nineideographicparen=12840;e.nineinferior=8329;e.ninemonospace=65305;e.nineoldstyle=63289;e.nineparen=9340;e.nineperiod=9360;e.ninepersian=1785;e.nineroman=8568;e.ninesuperior=8313;e.nineteencircle=9330;e.nineteenparen=9350;e.nineteenperiod=9370;e.ninethai=3673;e.nj=460;e.njecyrillic=1114;e.nkatakana=12531;e.nkatakanahalfwidth=65437;e.nlegrightlong=414;e.nlinebelow=7753;e.nmonospace=65358;e.nmsquare=13210;e.nnabengali=2467;e.nnadeva=2339;e.nnagujarati=2723;e.nnagurmukhi=2595;e.nnnadeva=2345;e.nohiragana=12398;e.nokatakana=12494;e.nokatakanahalfwidth=65417;e.nonbreakingspace=160;e.nonenthai=3603;e.nonuthai=3609;e.noonarabic=1606;e.noonfinalarabic=65254;e.noonghunnaarabic=1722;e.noonghunnafinalarabic=64415;e.nooninitialarabic=65255;e.noonjeeminitialarabic=64722;e.noonjeemisolatedarabic=64587;e.noonmedialarabic=65256;e.noonmeeminitialarabic=64725;e.noonmeemisolatedarabic=64590;e.noonnoonfinalarabic=64653;e.notcontains=8716;e.notelement=8713;e.notelementof=8713;e.notequal=8800;e.notgreater=8815;e.notgreaternorequal=8817;e.notgreaternorless=8825;e.notidentical=8802;e.notless=8814;e.notlessnorequal=8816;e.notparallel=8742;e.notprecedes=8832;e.notsubset=8836;e.notsucceeds=8833;e.notsuperset=8837;e.nowarmenian=1398;e.nparen=9385;e.nssquare=13233;e.nsuperior=8319;e.ntilde=241;e.nu=957;e.nuhiragana=12396;e.nukatakana=12492;e.nukatakanahalfwidth=65415;e.nuktabengali=2492;e.nuktadeva=2364;e.nuktagujarati=2748;e.nuktagurmukhi=2620;e.numbersign=35;e.numbersignmonospace=65283;e.numbersignsmall=65119;e.numeralsigngreek=884;e.numeralsignlowergreek=885;e.numero=8470;e.nun=1504;e.nundagesh=64320;e.nundageshhebrew=64320;e.nunhebrew=1504;e.nvsquare=13237;e.nwsquare=13243;e.nyabengali=2462;e.nyadeva=2334;e.nyagujarati=2718;e.nyagurmukhi=2590;e.o=111;e.oacute=243;e.oangthai=3629;e.obarred=629;e.obarredcyrillic=1257;e.obarreddieresiscyrillic=1259;e.obengali=2451;e.obopomofo=12571;e.obreve=335;e.ocandradeva=2321;e.ocandragujarati=2705;e.ocandravowelsigndeva=2377;e.ocandravowelsigngujarati=2761;e.ocaron=466;e.ocircle=9438;e.ocircumflex=244;e.ocircumflexacute=7889;e.ocircumflexdotbelow=7897;e.ocircumflexgrave=7891;e.ocircumflexhookabove=7893;e.ocircumflextilde=7895;e.ocyrillic=1086;e.odblacute=337;e.odblgrave=525;e.odeva=2323;e.odieresis=246;e.odieresiscyrillic=1255;e.odotbelow=7885;e.oe=339;e.oekorean=12634;e.ogonek=731;e.ogonekcmb=808;e.ograve=242;e.ogujarati=2707;e.oharmenian=1413;e.ohiragana=12362;e.ohookabove=7887;e.ohorn=417;e.ohornacute=7899;e.ohorndotbelow=7907;e.ohorngrave=7901;e.ohornhookabove=7903;e.ohorntilde=7905;e.ohungarumlaut=337;e.oi=419;e.oinvertedbreve=527;e.okatakana=12458;e.okatakanahalfwidth=65397;e.okorean=12631;e.olehebrew=1451;e.omacron=333;e.omacronacute=7763;e.omacrongrave=7761;e.omdeva=2384;e.omega=969;e.omega1=982;e.omegacyrillic=1121;e.omegalatinclosed=631;e.omegaroundcyrillic=1147;e.omegatitlocyrillic=1149;e.omegatonos=974;e.omgujarati=2768;e.omicron=959;e.omicrontonos=972;e.omonospace=65359;e.one=49;e.onearabic=1633;e.onebengali=2535;e.onecircle=9312;e.onecircleinversesansserif=10122;e.onedeva=2407;e.onedotenleader=8228;e.oneeighth=8539;e.onefitted=63196;e.onegujarati=2791;e.onegurmukhi=2663;e.onehackarabic=1633;e.onehalf=189;e.onehangzhou=12321;e.oneideographicparen=12832;e.oneinferior=8321;e.onemonospace=65297;e.onenumeratorbengali=2548;e.oneoldstyle=63281;e.oneparen=9332;e.oneperiod=9352;e.onepersian=1777;e.onequarter=188;e.oneroman=8560;e.onesuperior=185;e.onethai=3665;e.onethird=8531;e.oogonek=491;e.oogonekmacron=493;e.oogurmukhi=2579;e.oomatragurmukhi=2635;e.oopen=596;e.oparen=9386;e.openbullet=9702;e.option=8997;e.ordfeminine=170;e.ordmasculine=186;e.orthogonal=8735;e.oshortdeva=2322;e.oshortvowelsigndeva=2378;e.oslash=248;e.oslashacute=511;e.osmallhiragana=12361;e.osmallkatakana=12457;e.osmallkatakanahalfwidth=65387;e.ostrokeacute=511;e.osuperior=63216;e.otcyrillic=1151;e.otilde=245;e.otildeacute=7757;e.otildedieresis=7759;e.oubopomofo=12577;e.overline=8254;e.overlinecenterline=65098;e.overlinecmb=773;e.overlinedashed=65097;e.overlinedblwavy=65100;e.overlinewavy=65099;e.overscore=175;e.ovowelsignbengali=2507;e.ovowelsigndeva=2379;e.ovowelsigngujarati=2763;e.p=112;e.paampssquare=13184;e.paasentosquare=13099;e.pabengali=2474;e.pacute=7765;e.padeva=2346;e.pagedown=8671;e.pageup=8670;e.pagujarati=2730;e.pagurmukhi=2602;e.pahiragana=12401;e.paiyannoithai=3631;e.pakatakana=12497;e.palatalizationcyrilliccmb=1156;e.palochkacyrillic=1216;e.pansioskorean=12671;e.paragraph=182;e.parallel=8741;e.parenleft=40;e.parenleftaltonearabic=64830;e.parenleftbt=63725;e.parenleftex=63724;e.parenleftinferior=8333;e.parenleftmonospace=65288;e.parenleftsmall=65113;e.parenleftsuperior=8317;e.parenlefttp=63723;e.parenleftvertical=65077;e.parenright=41;e.parenrightaltonearabic=64831;e.parenrightbt=63736;e.parenrightex=63735;e.parenrightinferior=8334;e.parenrightmonospace=65289;e.parenrightsmall=65114;e.parenrightsuperior=8318;e.parenrighttp=63734;e.parenrightvertical=65078;e.partialdiff=8706;e.paseqhebrew=1472;e.pashtahebrew=1433;e.pasquare=13225;e.patah=1463;e.patah11=1463;e.patah1d=1463;e.patah2a=1463;e.patahhebrew=1463;e.patahnarrowhebrew=1463;e.patahquarterhebrew=1463;e.patahwidehebrew=1463;e.pazerhebrew=1441;e.pbopomofo=12550;e.pcircle=9439;e.pdotaccent=7767;e.pe=1508;e.pecyrillic=1087;e.pedagesh=64324;e.pedageshhebrew=64324;e.peezisquare=13115;e.pefinaldageshhebrew=64323;e.peharabic=1662;e.peharmenian=1402;e.pehebrew=1508;e.pehfinalarabic=64343;e.pehinitialarabic=64344;e.pehiragana=12410;e.pehmedialarabic=64345;e.pekatakana=12506;e.pemiddlehookcyrillic=1191;e.perafehebrew=64334;e.percent=37;e.percentarabic=1642;e.percentmonospace=65285;e.percentsmall=65130;e.period=46;e.periodarmenian=1417;e.periodcentered=183;e.periodhalfwidth=65377;e.periodinferior=63207;e.periodmonospace=65294;e.periodsmall=65106;e.periodsuperior=63208;e.perispomenigreekcmb=834;e.perpendicular=8869;e.perthousand=8240;e.peseta=8359;e.pfsquare=13194;e.phabengali=2475;e.phadeva=2347;e.phagujarati=2731;e.phagurmukhi=2603;e.phi=966;e.phi1=981;e.phieuphacirclekorean=12922;e.phieuphaparenkorean=12826;e.phieuphcirclekorean=12908;e.phieuphkorean=12621;e.phieuphparenkorean=12812;e.philatin=632;e.phinthuthai=3642;e.phisymbolgreek=981;e.phook=421;e.phophanthai=3614;e.phophungthai=3612;e.phosamphaothai=3616;e.pi=960;e.pieupacirclekorean=12915;e.pieupaparenkorean=12819;e.pieupcieuckorean=12662;e.pieupcirclekorean=12901;e.pieupkiyeokkorean=12658;e.pieupkorean=12610;e.pieupparenkorean=12805;e.pieupsioskiyeokkorean=12660;e.pieupsioskorean=12612;e.pieupsiostikeutkorean=12661;e.pieupthieuthkorean=12663;e.pieuptikeutkorean=12659;e.pihiragana=12404;e.pikatakana=12500;e.pisymbolgreek=982;e.piwrarmenian=1411;e.planckover2pi=8463;e.planckover2pi1=8463;e.plus=43;e.plusbelowcmb=799;e.pluscircle=8853;e.plusminus=177;e.plusmod=726;e.plusmonospace=65291;e.plussmall=65122;e.plussuperior=8314;e.pmonospace=65360;e.pmsquare=13272;e.pohiragana=12413;e.pointingindexdownwhite=9759;e.pointingindexleftwhite=9756;e.pointingindexrightwhite=9758;e.pointingindexupwhite=9757;e.pokatakana=12509;e.poplathai=3611;e.postalmark=12306;e.postalmarkface=12320;e.pparen=9387;e.precedes=8826;e.prescription=8478;e.primemod=697;e.primereversed=8245;e.product=8719;e.projective=8965;e.prolongedkana=12540;e.propellor=8984;e.propersubset=8834;e.propersuperset=8835;e.proportion=8759;e.proportional=8733;e.psi=968;e.psicyrillic=1137;e.psilipneumatacyrilliccmb=1158;e.pssquare=13232;e.puhiragana=12407;e.pukatakana=12503;e.pvsquare=13236;e.pwsquare=13242;e.q=113;e.qadeva=2392;e.qadmahebrew=1448;e.qafarabic=1602;e.qaffinalarabic=65238;e.qafinitialarabic=65239;e.qafmedialarabic=65240;e.qamats=1464;e.qamats10=1464;e.qamats1a=1464;e.qamats1c=1464;e.qamats27=1464;e.qamats29=1464;e.qamats33=1464;e.qamatsde=1464;e.qamatshebrew=1464;e.qamatsnarrowhebrew=1464;e.qamatsqatanhebrew=1464;e.qamatsqatannarrowhebrew=1464;e.qamatsqatanquarterhebrew=1464;e.qamatsqatanwidehebrew=1464;e.qamatsquarterhebrew=1464;e.qamatswidehebrew=1464;e.qarneyparahebrew=1439;e.qbopomofo=12561;e.qcircle=9440;e.qhook=672;e.qmonospace=65361;e.qof=1511;e.qofdagesh=64327;e.qofdageshhebrew=64327;e.qofhebrew=1511;e.qparen=9388;e.quarternote=9833;e.qubuts=1467;e.qubuts18=1467;e.qubuts25=1467;e.qubuts31=1467;e.qubutshebrew=1467;e.qubutsnarrowhebrew=1467;e.qubutsquarterhebrew=1467;e.qubutswidehebrew=1467;e.question=63;e.questionarabic=1567;e.questionarmenian=1374;e.questiondown=191;e.questiondownsmall=63423;e.questiongreek=894;e.questionmonospace=65311;e.questionsmall=63295;e.quotedbl=34;e.quotedblbase=8222;e.quotedblleft=8220;e.quotedblmonospace=65282;e.quotedblprime=12318;e.quotedblprimereversed=12317;e.quotedblright=8221;e.quoteleft=8216;e.quoteleftreversed=8219;e.quotereversed=8219;e.quoteright=8217;e.quoterightn=329;e.quotesinglbase=8218;e.quotesingle=39;e.quotesinglemonospace=65287;e.r=114;e.raarmenian=1404;e.rabengali=2480;e.racute=341;e.radeva=2352;e.radical=8730;e.radicalex=63717;e.radoverssquare=13230;e.radoverssquaredsquare=13231;e.radsquare=13229;e.rafe=1471;e.rafehebrew=1471;e.ragujarati=2736;e.ragurmukhi=2608;e.rahiragana=12425;e.rakatakana=12521;e.rakatakanahalfwidth=65431;e.ralowerdiagonalbengali=2545;e.ramiddlediagonalbengali=2544;e.ramshorn=612;e.ratio=8758;e.rbopomofo=12566;e.rcaron=345;e.rcedilla=343;e.rcircle=9441;e.rcommaaccent=343;e.rdblgrave=529;e.rdotaccent=7769;e.rdotbelow=7771;e.rdotbelowmacron=7773;e.referencemark=8251;e.reflexsubset=8838;e.reflexsuperset=8839;e.registered=174;e.registersans=63720;e.registerserif=63194;e.reharabic=1585;e.reharmenian=1408;e.rehfinalarabic=65198;e.rehiragana=12428;e.rekatakana=12524;e.rekatakanahalfwidth=65434;e.resh=1512;e.reshdageshhebrew=64328;e.reshhebrew=1512;e.reversedtilde=8765;e.reviahebrew=1431;e.reviamugrashhebrew=1431;e.revlogicalnot=8976;e.rfishhook=638;e.rfishhookreversed=639;e.rhabengali=2525;e.rhadeva=2397;e.rho=961;e.rhook=637;e.rhookturned=635;e.rhookturnedsuperior=693;e.rhosymbolgreek=1009;e.rhotichookmod=734;e.rieulacirclekorean=12913;e.rieulaparenkorean=12817;e.rieulcirclekorean=12899;e.rieulhieuhkorean=12608;e.rieulkiyeokkorean=12602;e.rieulkiyeoksioskorean=12649;e.rieulkorean=12601;e.rieulmieumkorean=12603;e.rieulpansioskorean=12652;e.rieulparenkorean=12803;e.rieulphieuphkorean=12607;e.rieulpieupkorean=12604;e.rieulpieupsioskorean=12651;e.rieulsioskorean=12605;e.rieulthieuthkorean=12606;e.rieultikeutkorean=12650;e.rieulyeorinhieuhkorean=12653;e.rightangle=8735;e.righttackbelowcmb=793;e.righttriangle=8895;e.rihiragana=12426;e.rikatakana=12522;e.rikatakanahalfwidth=65432;e.ring=730;e.ringbelowcmb=805;e.ringcmb=778;e.ringhalfleft=703;e.ringhalfleftarmenian=1369;e.ringhalfleftbelowcmb=796;e.ringhalfleftcentered=723;e.ringhalfright=702;e.ringhalfrightbelowcmb=825;e.ringhalfrightcentered=722;e.rinvertedbreve=531;e.rittorusquare=13137;e.rlinebelow=7775;e.rlongleg=636;e.rlonglegturned=634;e.rmonospace=65362;e.rohiragana=12429;e.rokatakana=12525;e.rokatakanahalfwidth=65435;e.roruathai=3619;e.rparen=9389;e.rrabengali=2524;e.rradeva=2353;e.rragurmukhi=2652;e.rreharabic=1681;e.rrehfinalarabic=64397;e.rrvocalicbengali=2528;e.rrvocalicdeva=2400;e.rrvocalicgujarati=2784;e.rrvocalicvowelsignbengali=2500;e.rrvocalicvowelsigndeva=2372;e.rrvocalicvowelsigngujarati=2756;e.rsuperior=63217;e.rtblock=9616;e.rturned=633;e.rturnedsuperior=692;e.ruhiragana=12427;e.rukatakana=12523;e.rukatakanahalfwidth=65433;e.rupeemarkbengali=2546;e.rupeesignbengali=2547;e.rupiah=63197;e.ruthai=3620;e.rvocalicbengali=2443;e.rvocalicdeva=2315;e.rvocalicgujarati=2699;e.rvocalicvowelsignbengali=2499;e.rvocalicvowelsigndeva=2371;e.rvocalicvowelsigngujarati=2755;e.s=115;e.sabengali=2488;e.sacute=347;e.sacutedotaccent=7781;e.sadarabic=1589;e.sadeva=2360;e.sadfinalarabic=65210;e.sadinitialarabic=65211;e.sadmedialarabic=65212;e.sagujarati=2744;e.sagurmukhi=2616;e.sahiragana=12373;e.sakatakana=12469;e.sakatakanahalfwidth=65403;e.sallallahoualayhewasallamarabic=65018;e.samekh=1505;e.samekhdagesh=64321;e.samekhdageshhebrew=64321;e.samekhhebrew=1505;e.saraaathai=3634;e.saraaethai=3649;e.saraaimaimalaithai=3652;e.saraaimaimuanthai=3651;e.saraamthai=3635;e.saraathai=3632;e.saraethai=3648;e.saraiileftthai=63622;e.saraiithai=3637;e.saraileftthai=63621;e.saraithai=3636;e.saraothai=3650;e.saraueeleftthai=63624;e.saraueethai=3639;e.saraueleftthai=63623;e.sarauethai=3638;e.sarauthai=3640;e.sarauuthai=3641;e.sbopomofo=12569;e.scaron=353;e.scarondotaccent=7783;e.scedilla=351;e.schwa=601;e.schwacyrillic=1241;e.schwadieresiscyrillic=1243;e.schwahook=602;e.scircle=9442;e.scircumflex=349;e.scommaaccent=537;e.sdotaccent=7777;e.sdotbelow=7779;e.sdotbelowdotaccent=7785;e.seagullbelowcmb=828;e.second=8243;e.secondtonechinese=714;e.section=167;e.seenarabic=1587;e.seenfinalarabic=65202;e.seeninitialarabic=65203;e.seenmedialarabic=65204;e.segol=1462;e.segol13=1462;e.segol1f=1462;e.segol2c=1462;e.segolhebrew=1462;e.segolnarrowhebrew=1462;e.segolquarterhebrew=1462;e.segoltahebrew=1426;e.segolwidehebrew=1462;e.seharmenian=1405;e.sehiragana=12379;e.sekatakana=12475;e.sekatakanahalfwidth=65406;e.semicolon=59;e.semicolonarabic=1563;e.semicolonmonospace=65307;e.semicolonsmall=65108;e.semivoicedmarkkana=12444;e.semivoicedmarkkanahalfwidth=65439;e.sentisquare=13090;e.sentosquare=13091;e.seven=55;e.sevenarabic=1639;e.sevenbengali=2541;e.sevencircle=9318;e.sevencircleinversesansserif=10128;e.sevendeva=2413;e.seveneighths=8542;e.sevengujarati=2797;e.sevengurmukhi=2669;e.sevenhackarabic=1639;e.sevenhangzhou=12327;e.sevenideographicparen=12838;e.seveninferior=8327;e.sevenmonospace=65303;e.sevenoldstyle=63287;e.sevenparen=9338;e.sevenperiod=9358;e.sevenpersian=1783;e.sevenroman=8566;e.sevensuperior=8311;e.seventeencircle=9328;e.seventeenparen=9348;e.seventeenperiod=9368;e.seventhai=3671;e.sfthyphen=173;e.shaarmenian=1399;e.shabengali=2486;e.shacyrillic=1096;e.shaddaarabic=1617;e.shaddadammaarabic=64609;e.shaddadammatanarabic=64606;e.shaddafathaarabic=64608;e.shaddakasraarabic=64610;e.shaddakasratanarabic=64607;e.shade=9618;e.shadedark=9619;e.shadelight=9617;e.shademedium=9618;e.shadeva=2358;e.shagujarati=2742;e.shagurmukhi=2614;e.shalshelethebrew=1427;e.shbopomofo=12565;e.shchacyrillic=1097;e.sheenarabic=1588;e.sheenfinalarabic=65206;e.sheeninitialarabic=65207;e.sheenmedialarabic=65208;e.sheicoptic=995;e.sheqel=8362;e.sheqelhebrew=8362;e.sheva=1456;e.sheva115=1456;e.sheva15=1456;e.sheva22=1456;e.sheva2e=1456;e.shevahebrew=1456;e.shevanarrowhebrew=1456;e.shevaquarterhebrew=1456;e.shevawidehebrew=1456;e.shhacyrillic=1211;e.shimacoptic=1005;e.shin=1513;e.shindagesh=64329;e.shindageshhebrew=64329;e.shindageshshindot=64300;e.shindageshshindothebrew=64300;e.shindageshsindot=64301;e.shindageshsindothebrew=64301;e.shindothebrew=1473;e.shinhebrew=1513;e.shinshindot=64298;e.shinshindothebrew=64298;e.shinsindot=64299;e.shinsindothebrew=64299;e.shook=642;e.sigma=963;e.sigma1=962;e.sigmafinal=962;e.sigmalunatesymbolgreek=1010;e.sihiragana=12375;e.sikatakana=12471;e.sikatakanahalfwidth=65404;e.siluqhebrew=1469;e.siluqlefthebrew=1469;e.similar=8764;e.sindothebrew=1474;e.siosacirclekorean=12916;e.siosaparenkorean=12820;e.sioscieuckorean=12670;e.sioscirclekorean=12902;e.sioskiyeokkorean=12666;e.sioskorean=12613;e.siosnieunkorean=12667;e.siosparenkorean=12806;e.siospieupkorean=12669;e.siostikeutkorean=12668;e.six=54;e.sixarabic=1638;e.sixbengali=2540;e.sixcircle=9317;e.sixcircleinversesansserif=10127;e.sixdeva=2412;e.sixgujarati=2796;e.sixgurmukhi=2668;e.sixhackarabic=1638;e.sixhangzhou=12326;e.sixideographicparen=12837;e.sixinferior=8326;e.sixmonospace=65302;e.sixoldstyle=63286;e.sixparen=9337;e.sixperiod=9357;e.sixpersian=1782;e.sixroman=8565;e.sixsuperior=8310;e.sixteencircle=9327;e.sixteencurrencydenominatorbengali=2553;e.sixteenparen=9347;e.sixteenperiod=9367;e.sixthai=3670;e.slash=47;e.slashmonospace=65295;e.slong=383;e.slongdotaccent=7835;e.smileface=9786;e.smonospace=65363;e.sofpasuqhebrew=1475;e.softhyphen=173;e.softsigncyrillic=1100;e.sohiragana=12381;e.sokatakana=12477;e.sokatakanahalfwidth=65407;e.soliduslongoverlaycmb=824;e.solidusshortoverlaycmb=823;e.sorusithai=3625;e.sosalathai=3624;e.sosothai=3595;e.sosuathai=3626;e.space=32;e.spacehackarabic=32;e.spade=9824;e.spadesuitblack=9824;e.spadesuitwhite=9828;e.sparen=9390;e.squarebelowcmb=827;e.squarecc=13252;e.squarecm=13213;e.squarediagonalcrosshatchfill=9641;e.squarehorizontalfill=9636;e.squarekg=13199;e.squarekm=13214;e.squarekmcapital=13262;e.squareln=13265;e.squarelog=13266;e.squaremg=13198;e.squaremil=13269;e.squaremm=13212;e.squaremsquared=13217;e.squareorthogonalcrosshatchfill=9638;e.squareupperlefttolowerrightfill=9639;e.squareupperrighttolowerleftfill=9640;e.squareverticalfill=9637;e.squarewhitewithsmallblack=9635;e.srsquare=13275;e.ssabengali=2487;e.ssadeva=2359;e.ssagujarati=2743;e.ssangcieuckorean=12617;e.ssanghieuhkorean=12677;e.ssangieungkorean=12672;e.ssangkiyeokkorean=12594;e.ssangnieunkorean=12645;e.ssangpieupkorean=12611;e.ssangsioskorean=12614;e.ssangtikeutkorean=12600;e.ssuperior=63218;e.sterling=163;e.sterlingmonospace=65505;e.strokelongoverlaycmb=822;e.strokeshortoverlaycmb=821;e.subset=8834;e.subsetnotequal=8842;e.subsetorequal=8838;e.succeeds=8827;e.suchthat=8715;e.suhiragana=12377;e.sukatakana=12473;e.sukatakanahalfwidth=65405;e.sukunarabic=1618;e.summation=8721;e.sun=9788;e.superset=8835;e.supersetnotequal=8843;e.supersetorequal=8839;e.svsquare=13276;e.syouwaerasquare=13180;e.t=116;e.tabengali=2468;e.tackdown=8868;e.tackleft=8867;e.tadeva=2340;e.tagujarati=2724;e.tagurmukhi=2596;e.taharabic=1591;e.tahfinalarabic=65218;e.tahinitialarabic=65219;e.tahiragana=12383;e.tahmedialarabic=65220;e.taisyouerasquare=13181;e.takatakana=12479;e.takatakanahalfwidth=65408;e.tatweelarabic=1600;e.tau=964;e.tav=1514;e.tavdages=64330;e.tavdagesh=64330;e.tavdageshhebrew=64330;e.tavhebrew=1514;e.tbar=359;e.tbopomofo=12554;e.tcaron=357;e.tccurl=680;e.tcedilla=355;e.tcheharabic=1670;e.tchehfinalarabic=64379;e.tchehinitialarabic=64380;e.tchehmedialarabic=64381;e.tcircle=9443;e.tcircumflexbelow=7793;e.tcommaaccent=355;e.tdieresis=7831;e.tdotaccent=7787;e.tdotbelow=7789;e.tecyrillic=1090;e.tedescendercyrillic=1197;e.teharabic=1578;e.tehfinalarabic=65174;e.tehhahinitialarabic=64674;e.tehhahisolatedarabic=64524;e.tehinitialarabic=65175;e.tehiragana=12390;e.tehjeeminitialarabic=64673;e.tehjeemisolatedarabic=64523;e.tehmarbutaarabic=1577;e.tehmarbutafinalarabic=65172;e.tehmedialarabic=65176;e.tehmeeminitialarabic=64676;e.tehmeemisolatedarabic=64526;e.tehnoonfinalarabic=64627;e.tekatakana=12486;e.tekatakanahalfwidth=65411;e.telephone=8481;e.telephoneblack=9742;e.telishagedolahebrew=1440;e.telishaqetanahebrew=1449;e.tencircle=9321;e.tenideographicparen=12841;e.tenparen=9341;e.tenperiod=9361;e.tenroman=8569;e.tesh=679;e.tet=1496;e.tetdagesh=64312;e.tetdageshhebrew=64312;e.tethebrew=1496;e.tetsecyrillic=1205;e.tevirhebrew=1435;e.tevirlefthebrew=1435;e.thabengali=2469;e.thadeva=2341;e.thagujarati=2725;e.thagurmukhi=2597;e.thalarabic=1584;e.thalfinalarabic=65196;e.thanthakhatlowleftthai=63640;e.thanthakhatlowrightthai=63639;e.thanthakhatthai=3660;e.thanthakhatupperleftthai=63638;e.theharabic=1579;e.thehfinalarabic=65178;e.thehinitialarabic=65179;e.thehmedialarabic=65180;e.thereexists=8707;e.therefore=8756;e.theta=952;e.theta1=977;e.thetasymbolgreek=977;e.thieuthacirclekorean=12921;e.thieuthaparenkorean=12825;e.thieuthcirclekorean=12907;e.thieuthkorean=12620;e.thieuthparenkorean=12811;e.thirteencircle=9324;e.thirteenparen=9344;e.thirteenperiod=9364;e.thonangmonthothai=3601;e.thook=429;e.thophuthaothai=3602;e.thorn=254;e.thothahanthai=3607;e.thothanthai=3600;e.thothongthai=3608;e.thothungthai=3606;e.thousandcyrillic=1154;e.thousandsseparatorarabic=1644;e.thousandsseparatorpersian=1644;e.three=51;e.threearabic=1635;e.threebengali=2537;e.threecircle=9314;e.threecircleinversesansserif=10124;e.threedeva=2409;e.threeeighths=8540;e.threegujarati=2793;e.threegurmukhi=2665;e.threehackarabic=1635;e.threehangzhou=12323;e.threeideographicparen=12834;e.threeinferior=8323;e.threemonospace=65299;e.threenumeratorbengali=2550;e.threeoldstyle=63283;e.threeparen=9334;e.threeperiod=9354;e.threepersian=1779;e.threequarters=190;e.threequartersemdash=63198;e.threeroman=8562;e.threesuperior=179;e.threethai=3667;e.thzsquare=13204;e.tihiragana=12385;e.tikatakana=12481;e.tikatakanahalfwidth=65409;e.tikeutacirclekorean=12912;e.tikeutaparenkorean=12816;e.tikeutcirclekorean=12898;e.tikeutkorean=12599;e.tikeutparenkorean=12802;e.tilde=732;e.tildebelowcmb=816;e.tildecmb=771;e.tildecomb=771;e.tildedoublecmb=864;e.tildeoperator=8764;e.tildeoverlaycmb=820;e.tildeverticalcmb=830;e.timescircle=8855;e.tipehahebrew=1430;e.tipehalefthebrew=1430;e.tippigurmukhi=2672;e.titlocyrilliccmb=1155;e.tiwnarmenian=1407;e.tlinebelow=7791;e.tmonospace=65364;e.toarmenian=1385;e.tohiragana=12392;e.tokatakana=12488;e.tokatakanahalfwidth=65412;e.tonebarextrahighmod=741;e.tonebarextralowmod=745;e.tonebarhighmod=742;e.tonebarlowmod=744;e.tonebarmidmod=743;e.tonefive=445;e.tonesix=389;e.tonetwo=424;e.tonos=900;e.tonsquare=13095;e.topatakthai=3599;e.tortoiseshellbracketleft=12308;e.tortoiseshellbracketleftsmall=65117;e.tortoiseshellbracketleftvertical=65081;e.tortoiseshellbracketright=12309;e.tortoiseshellbracketrightsmall=65118;e.tortoiseshellbracketrightvertical=65082;e.totaothai=3605;e.tpalatalhook=427;e.tparen=9391;e.trademark=8482;e.trademarksans=63722;e.trademarkserif=63195;e.tretroflexhook=648;e.triagdn=9660;e.triaglf=9668;e.triagrt=9658;e.triagup=9650;e.ts=678;e.tsadi=1510;e.tsadidagesh=64326;e.tsadidageshhebrew=64326;e.tsadihebrew=1510;e.tsecyrillic=1094;e.tsere=1461;e.tsere12=1461;e.tsere1e=1461;e.tsere2b=1461;e.tserehebrew=1461;e.tserenarrowhebrew=1461;e.tserequarterhebrew=1461;e.tserewidehebrew=1461;e.tshecyrillic=1115;e.tsuperior=63219;e.ttabengali=2463;e.ttadeva=2335;e.ttagujarati=2719;e.ttagurmukhi=2591;e.tteharabic=1657;e.ttehfinalarabic=64359;e.ttehinitialarabic=64360;e.ttehmedialarabic=64361;e.tthabengali=2464;e.tthadeva=2336;e.tthagujarati=2720;e.tthagurmukhi=2592;e.tturned=647;e.tuhiragana=12388;e.tukatakana=12484;e.tukatakanahalfwidth=65410;e.tusmallhiragana=12387;e.tusmallkatakana=12483;e.tusmallkatakanahalfwidth=65391;e.twelvecircle=9323;e.twelveparen=9343;e.twelveperiod=9363;e.twelveroman=8571;e.twentycircle=9331;e.twentyhangzhou=21316;e.twentyparen=9351;e.twentyperiod=9371;e.two=50;e.twoarabic=1634;e.twobengali=2536;e.twocircle=9313;e.twocircleinversesansserif=10123;e.twodeva=2408;e.twodotenleader=8229;e.twodotleader=8229;e.twodotleadervertical=65072;e.twogujarati=2792;e.twogurmukhi=2664;e.twohackarabic=1634;e.twohangzhou=12322;e.twoideographicparen=12833;e.twoinferior=8322;e.twomonospace=65298;e.twonumeratorbengali=2549;e.twooldstyle=63282;e.twoparen=9333;e.twoperiod=9353;e.twopersian=1778;e.tworoman=8561;e.twostroke=443;e.twosuperior=178;e.twothai=3666;e.twothirds=8532;e.u=117;e.uacute=250;e.ubar=649;e.ubengali=2441;e.ubopomofo=12584;e.ubreve=365;e.ucaron=468;e.ucircle=9444;e.ucircumflex=251;e.ucircumflexbelow=7799;e.ucyrillic=1091;e.udattadeva=2385;e.udblacute=369;e.udblgrave=533;e.udeva=2313;e.udieresis=252;e.udieresisacute=472;e.udieresisbelow=7795;e.udieresiscaron=474;e.udieresiscyrillic=1265;e.udieresisgrave=476;e.udieresismacron=470;e.udotbelow=7909;e.ugrave=249;e.ugujarati=2697;e.ugurmukhi=2569;e.uhiragana=12358;e.uhookabove=7911;e.uhorn=432;e.uhornacute=7913;e.uhorndotbelow=7921;e.uhorngrave=7915;e.uhornhookabove=7917;e.uhorntilde=7919;e.uhungarumlaut=369;e.uhungarumlautcyrillic=1267;e.uinvertedbreve=535;e.ukatakana=12454;e.ukatakanahalfwidth=65395;e.ukcyrillic=1145;e.ukorean=12636;e.umacron=363;e.umacroncyrillic=1263;e.umacrondieresis=7803;e.umatragurmukhi=2625;e.umonospace=65365;e.underscore=95;e.underscoredbl=8215;e.underscoremonospace=65343;e.underscorevertical=65075;e.underscorewavy=65103;e.union=8746;e.universal=8704;e.uogonek=371;e.uparen=9392;e.upblock=9600;e.upperdothebrew=1476;e.upsilon=965;e.upsilondieresis=971;e.upsilondieresistonos=944;e.upsilonlatin=650;e.upsilontonos=973;e.uptackbelowcmb=797;e.uptackmod=724;e.uragurmukhi=2675;e.uring=367;e.ushortcyrillic=1118;e.usmallhiragana=12357;e.usmallkatakana=12453;e.usmallkatakanahalfwidth=65385;e.ustraightcyrillic=1199;e.ustraightstrokecyrillic=1201;e.utilde=361;e.utildeacute=7801;e.utildebelow=7797;e.uubengali=2442;e.uudeva=2314;e.uugujarati=2698;e.uugurmukhi=2570;e.uumatragurmukhi=2626;e.uuvowelsignbengali=2498;e.uuvowelsigndeva=2370;e.uuvowelsigngujarati=2754;e.uvowelsignbengali=2497;e.uvowelsigndeva=2369;e.uvowelsigngujarati=2753;e.v=118;e.vadeva=2357;e.vagujarati=2741;e.vagurmukhi=2613;e.vakatakana=12535;e.vav=1493;e.vavdagesh=64309;e.vavdagesh65=64309;e.vavdageshhebrew=64309;e.vavhebrew=1493;e.vavholam=64331;e.vavholamhebrew=64331;e.vavvavhebrew=1520;e.vavyodhebrew=1521;e.vcircle=9445;e.vdotbelow=7807;e.vecyrillic=1074;e.veharabic=1700;e.vehfinalarabic=64363;e.vehinitialarabic=64364;e.vehmedialarabic=64365;e.vekatakana=12537;e.venus=9792;e.verticalbar=124;e.verticallineabovecmb=781;e.verticallinebelowcmb=809;e.verticallinelowmod=716;e.verticallinemod=712;e.vewarmenian=1406;e.vhook=651;e.vikatakana=12536;e.viramabengali=2509;e.viramadeva=2381;e.viramagujarati=2765;e.visargabengali=2435;e.visargadeva=2307;e.visargagujarati=2691;e.vmonospace=65366;e.voarmenian=1400;e.voicediterationhiragana=12446;e.voicediterationkatakana=12542;e.voicedmarkkana=12443;e.voicedmarkkanahalfwidth=65438;e.vokatakana=12538;e.vparen=9393;e.vtilde=7805;e.vturned=652;e.vuhiragana=12436;e.vukatakana=12532;e.w=119;e.wacute=7811;e.waekorean=12633;e.wahiragana=12431;e.wakatakana=12527;e.wakatakanahalfwidth=65436;e.wakorean=12632;e.wasmallhiragana=12430;e.wasmallkatakana=12526;e.wattosquare=13143;e.wavedash=12316;e.wavyunderscorevertical=65076;e.wawarabic=1608;e.wawfinalarabic=65262;e.wawhamzaabovearabic=1572;e.wawhamzaabovefinalarabic=65158;e.wbsquare=13277;e.wcircle=9446;e.wcircumflex=373;e.wdieresis=7813;e.wdotaccent=7815;e.wdotbelow=7817;e.wehiragana=12433;e.weierstrass=8472;e.wekatakana=12529;e.wekorean=12638;e.weokorean=12637;e.wgrave=7809;e.whitebullet=9702;e.whitecircle=9675;e.whitecircleinverse=9689;e.whitecornerbracketleft=12302;e.whitecornerbracketleftvertical=65091;e.whitecornerbracketright=12303;e.whitecornerbracketrightvertical=65092;e.whitediamond=9671;e.whitediamondcontainingblacksmalldiamond=9672;e.whitedownpointingsmalltriangle=9663;e.whitedownpointingtriangle=9661;e.whiteleftpointingsmalltriangle=9667;e.whiteleftpointingtriangle=9665;e.whitelenticularbracketleft=12310;e.whitelenticularbracketright=12311;e.whiterightpointingsmalltriangle=9657;e.whiterightpointingtriangle=9655;e.whitesmallsquare=9643;e.whitesmilingface=9786;e.whitesquare=9633;e.whitestar=9734;e.whitetelephone=9743;e.whitetortoiseshellbracketleft=12312;e.whitetortoiseshellbracketright=12313;e.whiteuppointingsmalltriangle=9653;e.whiteuppointingtriangle=9651;e.wihiragana=12432;e.wikatakana=12528;e.wikorean=12639;e.wmonospace=65367;e.wohiragana=12434;e.wokatakana=12530;e.wokatakanahalfwidth=65382;e.won=8361;e.wonmonospace=65510;e.wowaenthai=3623;e.wparen=9394;e.wring=7832;e.wsuperior=695;e.wturned=653;e.wynn=447;e.x=120;e.xabovecmb=829;e.xbopomofo=12562;e.xcircle=9447;e.xdieresis=7821;e.xdotaccent=7819;e.xeharmenian=1389;e.xi=958;e.xmonospace=65368;e.xparen=9395;e.xsuperior=739;e.y=121;e.yaadosquare=13134;e.yabengali=2479;e.yacute=253;e.yadeva=2351;e.yaekorean=12626;e.yagujarati=2735;e.yagurmukhi=2607;e.yahiragana=12420;e.yakatakana=12516;e.yakatakanahalfwidth=65428;e.yakorean=12625;e.yamakkanthai=3662;e.yasmallhiragana=12419;e.yasmallkatakana=12515;e.yasmallkatakanahalfwidth=65388;e.yatcyrillic=1123;e.ycircle=9448;e.ycircumflex=375;e.ydieresis=255;e.ydotaccent=7823;e.ydotbelow=7925;e.yeharabic=1610;e.yehbarreearabic=1746;e.yehbarreefinalarabic=64431;e.yehfinalarabic=65266;e.yehhamzaabovearabic=1574;e.yehhamzaabovefinalarabic=65162;e.yehhamzaaboveinitialarabic=65163;e.yehhamzaabovemedialarabic=65164;e.yehinitialarabic=65267;e.yehmedialarabic=65268;e.yehmeeminitialarabic=64733;e.yehmeemisolatedarabic=64600;e.yehnoonfinalarabic=64660;e.yehthreedotsbelowarabic=1745;e.yekorean=12630;e.yen=165;e.yenmonospace=65509;e.yeokorean=12629;e.yeorinhieuhkorean=12678;e.yerahbenyomohebrew=1450;e.yerahbenyomolefthebrew=1450;e.yericyrillic=1099;e.yerudieresiscyrillic=1273;e.yesieungkorean=12673;e.yesieungpansioskorean=12675;e.yesieungsioskorean=12674;e.yetivhebrew=1434;e.ygrave=7923;e.yhook=436;e.yhookabove=7927;e.yiarmenian=1397;e.yicyrillic=1111;e.yikorean=12642;e.yinyang=9775;e.yiwnarmenian=1410;e.ymonospace=65369;e.yod=1497;e.yoddagesh=64313;e.yoddageshhebrew=64313;e.yodhebrew=1497;e.yodyodhebrew=1522;e.yodyodpatahhebrew=64287;e.yohiragana=12424;e.yoikorean=12681;e.yokatakana=12520;e.yokatakanahalfwidth=65430;e.yokorean=12635;e.yosmallhiragana=12423;e.yosmallkatakana=12519;e.yosmallkatakanahalfwidth=65390;e.yotgreek=1011;e.yoyaekorean=12680;e.yoyakorean=12679;e.yoyakthai=3618;e.yoyingthai=3597;e.yparen=9396;e.ypogegrammeni=890;e.ypogegrammenigreekcmb=837;e.yr=422;e.yring=7833;e.ysuperior=696;e.ytilde=7929;e.yturned=654;e.yuhiragana=12422;e.yuikorean=12684;e.yukatakana=12518;e.yukatakanahalfwidth=65429;e.yukorean=12640;e.yusbigcyrillic=1131;e.yusbigiotifiedcyrillic=1133;e.yuslittlecyrillic=1127;e.yuslittleiotifiedcyrillic=1129;e.yusmallhiragana=12421;e.yusmallkatakana=12517;e.yusmallkatakanahalfwidth=65389;e.yuyekorean=12683;e.yuyeokorean=12682;e.yyabengali=2527;e.yyadeva=2399;e.z=122;e.zaarmenian=1382;e.zacute=378;e.zadeva=2395;e.zagurmukhi=2651;e.zaharabic=1592;e.zahfinalarabic=65222;e.zahinitialarabic=65223;e.zahiragana=12374;e.zahmedialarabic=65224;e.zainarabic=1586;e.zainfinalarabic=65200;e.zakatakana=12470;e.zaqefgadolhebrew=1429;e.zaqefqatanhebrew=1428;e.zarqahebrew=1432;e.zayin=1494;e.zayindagesh=64310;e.zayindageshhebrew=64310;e.zayinhebrew=1494;e.zbopomofo=12567;e.zcaron=382;e.zcircle=9449;e.zcircumflex=7825;e.zcurl=657;e.zdot=380;e.zdotaccent=380;e.zdotbelow=7827;e.zecyrillic=1079;e.zedescendercyrillic=1177;e.zedieresiscyrillic=1247;e.zehiragana=12380;e.zekatakana=12476;e.zero=48;e.zeroarabic=1632;e.zerobengali=2534;e.zerodeva=2406;e.zerogujarati=2790;e.zerogurmukhi=2662;e.zerohackarabic=1632;e.zeroinferior=8320;e.zeromonospace=65296;e.zerooldstyle=63280;e.zeropersian=1776;e.zerosuperior=8304;e.zerothai=3664;e.zerowidthjoiner=65279;e.zerowidthnonjoiner=8204;e.zerowidthspace=8203;e.zeta=950;e.zhbopomofo=12563;e.zhearmenian=1386;e.zhebrevecyrillic=1218;e.zhecyrillic=1078;e.zhedescendercyrillic=1175;e.zhedieresiscyrillic=1245;e.zihiragana=12376;e.zikatakana=12472;e.zinorhebrew=1454;e.zlinebelow=7829;e.zmonospace=65370;e.zohiragana=12382;e.zokatakana=12478;e.zparen=9397;e.zretroflexhook=656;e.zstroke=438;e.zuhiragana=12378;e.zukatakana=12474;e[".notdef"]=0;e.angbracketleftbig=9001;e.angbracketleftBig=9001;e.angbracketleftbigg=9001;e.angbracketleftBigg=9001;e.angbracketrightBig=9002;e.angbracketrightbig=9002;e.angbracketrightBigg=9002;e.angbracketrightbigg=9002;e.arrowhookleft=8618;e.arrowhookright=8617;e.arrowlefttophalf=8636;e.arrowleftbothalf=8637;e.arrownortheast=8599;e.arrownorthwest=8598;e.arrowrighttophalf=8640;e.arrowrightbothalf=8641;e.arrowsoutheast=8600;e.arrowsouthwest=8601;e.backslashbig=8726;e.backslashBig=8726;e.backslashBigg=8726;e.backslashbigg=8726;e.bardbl=8214;e.bracehtipdownleft=65079;e.bracehtipdownright=65079;e.bracehtipupleft=65080;e.bracehtipupright=65080;e.braceleftBig=123;e.braceleftbig=123;e.braceleftbigg=123;e.braceleftBigg=123;e.bracerightBig=125;e.bracerightbig=125;e.bracerightbigg=125;e.bracerightBigg=125;e.bracketleftbig=91;e.bracketleftBig=91;e.bracketleftbigg=91;e.bracketleftBigg=91;e.bracketrightBig=93;e.bracketrightbig=93;e.bracketrightbigg=93;e.bracketrightBigg=93;e.ceilingleftbig=8968;e.ceilingleftBig=8968;e.ceilingleftBigg=8968;e.ceilingleftbigg=8968;e.ceilingrightbig=8969;e.ceilingrightBig=8969;e.ceilingrightbigg=8969;e.ceilingrightBigg=8969;e.circledotdisplay=8857;e.circledottext=8857;e.circlemultiplydisplay=8855;e.circlemultiplytext=8855;e.circleplusdisplay=8853;e.circleplustext=8853;e.contintegraldisplay=8750;e.contintegraltext=8750;e.coproductdisplay=8720;e.coproducttext=8720;e.floorleftBig=8970;e.floorleftbig=8970;e.floorleftbigg=8970;e.floorleftBigg=8970;e.floorrightbig=8971;e.floorrightBig=8971;e.floorrightBigg=8971;e.floorrightbigg=8971;e.hatwide=770;e.hatwider=770;e.hatwidest=770;e.intercal=7488;e.integraldisplay=8747;e.integraltext=8747;e.intersectiondisplay=8898;e.intersectiontext=8898;e.logicalanddisplay=8743;e.logicalandtext=8743;e.logicalordisplay=8744;e.logicalortext=8744;e.parenleftBig=40;e.parenleftbig=40;e.parenleftBigg=40;e.parenleftbigg=40;e.parenrightBig=41;e.parenrightbig=41;e.parenrightBigg=41;e.parenrightbigg=41;e.prime=8242;e.productdisplay=8719;e.producttext=8719;e.radicalbig=8730;e.radicalBig=8730;e.radicalBigg=8730;e.radicalbigg=8730;e.radicalbt=8730;e.radicaltp=8730;e.radicalvertex=8730;e.slashbig=47;e.slashBig=47;e.slashBigg=47;e.slashbigg=47;e.summationdisplay=8721;e.summationtext=8721;e.tildewide=732;e.tildewider=732;e.tildewidest=732;e.uniondisplay=8899;e.unionmultidisplay=8846;e.unionmultitext=8846;e.unionsqdisplay=8852;e.unionsqtext=8852;e.uniontext=8899;e.vextenddouble=8741;e.vextendsingle=8739})),bn=getLookupTableFactory((function(e){e.space=32;e.a1=9985;e.a2=9986;e.a202=9987;e.a3=9988;e.a4=9742;e.a5=9990;e.a119=9991;e.a118=9992;e.a117=9993;e.a11=9755;e.a12=9758;e.a13=9996;e.a14=9997;e.a15=9998;e.a16=9999;e.a105=1e4;e.a17=10001;e.a18=10002;e.a19=10003;e.a20=10004;e.a21=10005;e.a22=10006;e.a23=10007;e.a24=10008;e.a25=10009;e.a26=10010;e.a27=10011;e.a28=10012;e.a6=10013;e.a7=10014;e.a8=10015;e.a9=10016;e.a10=10017;e.a29=10018;e.a30=10019;e.a31=10020;e.a32=10021;e.a33=10022;e.a34=10023;e.a35=9733;e.a36=10025;e.a37=10026;e.a38=10027;e.a39=10028;e.a40=10029;e.a41=10030;e.a42=10031;e.a43=10032;e.a44=10033;e.a45=10034;e.a46=10035;e.a47=10036;e.a48=10037;e.a49=10038;e.a50=10039;e.a51=10040;e.a52=10041;e.a53=10042;e.a54=10043;e.a55=10044;e.a56=10045;e.a57=10046;e.a58=10047;e.a59=10048;e.a60=10049;e.a61=10050;e.a62=10051;e.a63=10052;e.a64=10053;e.a65=10054;e.a66=10055;e.a67=10056;e.a68=10057;e.a69=10058;e.a70=10059;e.a71=9679;e.a72=10061;e.a73=9632;e.a74=10063;e.a203=10064;e.a75=10065;e.a204=10066;e.a76=9650;e.a77=9660;e.a78=9670;e.a79=10070;e.a81=9687;e.a82=10072;e.a83=10073;e.a84=10074;e.a97=10075;e.a98=10076;e.a99=10077;e.a100=10078;e.a101=10081;e.a102=10082;e.a103=10083;e.a104=10084;e.a106=10085;e.a107=10086;e.a108=10087;e.a112=9827;e.a111=9830;e.a110=9829;e.a109=9824;e.a120=9312;e.a121=9313;e.a122=9314;e.a123=9315;e.a124=9316;e.a125=9317;e.a126=9318;e.a127=9319;e.a128=9320;e.a129=9321;e.a130=10102;e.a131=10103;e.a132=10104;e.a133=10105;e.a134=10106;e.a135=10107;e.a136=10108;e.a137=10109;e.a138=10110;e.a139=10111;e.a140=10112;e.a141=10113;e.a142=10114;e.a143=10115;e.a144=10116;e.a145=10117;e.a146=10118;e.a147=10119;e.a148=10120;e.a149=10121;e.a150=10122;e.a151=10123;e.a152=10124;e.a153=10125;e.a154=10126;e.a155=10127;e.a156=10128;e.a157=10129;e.a158=10130;e.a159=10131;e.a160=10132;e.a161=8594;e.a163=8596;e.a164=8597;e.a196=10136;e.a165=10137;e.a192=10138;e.a166=10139;e.a167=10140;e.a168=10141;e.a169=10142;e.a170=10143;e.a171=10144;e.a172=10145;e.a173=10146;e.a162=10147;e.a174=10148;e.a175=10149;e.a176=10150;e.a177=10151;e.a178=10152;e.a179=10153;e.a193=10154;e.a180=10155;e.a199=10156;e.a181=10157;e.a200=10158;e.a182=10159;e.a201=10161;e.a183=10162;e.a184=10163;e.a197=10164;e.a185=10165;e.a194=10166;e.a198=10167;e.a186=10168;e.a195=10169;e.a187=10170;e.a188=10171;e.a189=10172;e.a190=10173;e.a191=10174;e.a89=10088;e.a90=10089;e.a93=10090;e.a94=10091;e.a91=10092;e.a92=10093;e.a205=10094;e.a85=10095;e.a206=10096;e.a86=10097;e.a87=10098;e.a88=10099;e.a95=10100;e.a96=10101;e[".notdef"]=0})),yn=getLookupTableFactory((function(e){e[63721]=169;e[63193]=169;e[63720]=174;e[63194]=174;e[63722]=8482;e[63195]=8482;e[63729]=9127;e[63730]=9128;e[63731]=9129;e[63740]=9131;e[63741]=9132;e[63742]=9133;e[63726]=9121;e[63727]=9122;e[63728]=9123;e[63737]=9124;e[63738]=9125;e[63739]=9126;e[63723]=9115;e[63724]=9116;e[63725]=9117;e[63734]=9118;e[63735]=9119;e[63736]=9120}));function getUnicodeForGlyph(e,t){let r=t[e];if(void 0!==r)return r;if(!e)return-1;if("u"===e[0]){const t=e.length;let a;if(7===t&&"n"===e[1]&&"i"===e[2])a=e.substring(3);else{if(!(t>=5&&t<=7))return-1;a=e.substring(1)}if(a===a.toUpperCase()){r=parseInt(a,16);if(r>=0)return r}}return-1}const wn=[[0,127],[128,255],[256,383],[384,591],[592,687,7424,7551,7552,7615],[688,767,42752,42783],[768,879,7616,7679],[880,1023],[11392,11519],[1024,1279,1280,1327,11744,11775,42560,42655],[1328,1423],[1424,1535],[42240,42559],[1536,1791,1872,1919],[1984,2047],[2304,2431],[2432,2559],[2560,2687],[2688,2815],[2816,2943],[2944,3071],[3072,3199],[3200,3327],[3328,3455],[3584,3711],[3712,3839],[4256,4351,11520,11567],[6912,7039],[4352,4607],[7680,7935,11360,11391,42784,43007],[7936,8191],[8192,8303,11776,11903],[8304,8351],[8352,8399],[8400,8447],[8448,8527],[8528,8591],[8592,8703,10224,10239,10496,10623,11008,11263],[8704,8959,10752,11007,10176,10223,10624,10751],[8960,9215],[9216,9279],[9280,9311],[9312,9471],[9472,9599],[9600,9631],[9632,9727],[9728,9983],[9984,10175],[12288,12351],[12352,12447],[12448,12543,12784,12799],[12544,12591,12704,12735],[12592,12687],[43072,43135],[12800,13055],[13056,13311],[44032,55215],[55296,57343],[67840,67871],[19968,40959,11904,12031,12032,12255,12272,12287,13312,19903,131072,173791,12688,12703],[57344,63743],[12736,12783,63744,64255,194560,195103],[64256,64335],[64336,65023],[65056,65071],[65040,65055],[65104,65135],[65136,65279],[65280,65519],[65520,65535],[3840,4095],[1792,1871],[1920,1983],[3456,3583],[4096,4255],[4608,4991,4992,5023,11648,11743],[5024,5119],[5120,5759],[5760,5791],[5792,5887],[6016,6143],[6144,6319],[10240,10495],[40960,42127],[5888,5919,5920,5951,5952,5983,5984,6015],[66304,66351],[66352,66383],[66560,66639],[118784,119039,119040,119295,119296,119375],[119808,120831],[1044480,1048573],[65024,65039,917760,917999],[917504,917631],[6400,6479],[6480,6527],[6528,6623],[6656,6687],[11264,11359],[11568,11647],[19904,19967],[43008,43055],[65536,65663,65664,65791,65792,65855],[65856,65935],[66432,66463],[66464,66527],[66640,66687],[66688,66735],[67584,67647],[68096,68191],[119552,119647],[73728,74751,74752,74879],[119648,119679],[7040,7103],[7168,7247],[7248,7295],[43136,43231],[43264,43311],[43312,43359],[43520,43615],[65936,65999],[66e3,66047],[66208,66271,66176,66207,67872,67903],[127024,127135,126976,127023]];function getUnicodeRangeFor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;if(-1!==t){const r=wn[t];for(let a=0,n=r.length;a=r[a]&&e<=r[a+1])return t}for(let t=0,r=wn.length;t=r[a]&&e<=r[a+1])return t}return-1}const vn=new RegExp("^(\\s)|(\\p{Mn})|(\\p{Cf})$","u"),xn=new Map;const Sn=!0,kn=1,An=2,Cn=4,Fn=32,In=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function recoverGlyphName(e,t){if(void 0!==t[e])return e;const r=getUnicodeForGlyph(e,t);if(-1!==r)for(const e in t)if(t[e]===r)return e;info("Unable to recover a standard glyph name for: "+e);return e}function type1FontGlyphMapping(e,t,r){const a=Object.create(null);let n,i,s;const o=!!(e.flags&Cn);if(e.isInternalFont){s=t;for(i=0;i=0?n:0}}else if(e.baseEncodingName){s=getEncoding(e.baseEncodingName);for(i=0;i=0?n:0}}else if(o)for(i in t)a[i]=t[i];else{s=dn;for(i=0;i=0?n:0}}const c=e.differences;let l;if(c)for(i in c){const e=c[i];n=r.indexOf(e);if(-1===n){l||(l=mn());const t=recoverGlyphName(e,l);t!==e&&(n=r.indexOf(t))}a[i]=n>=0?n:0}return a}function normalizeFontName(e){return e.replaceAll(/[,_]/g,"-").replaceAll(/\s/g,"")}const Tn=getLookupTableFactory((e=>{e[8211]=65074;e[8212]=65073;e[8229]=65072;e[8230]=65049;e[12289]=65041;e[12290]=65042;e[12296]=65087;e[12297]=65088;e[12298]=65085;e[12299]=65086;e[12300]=65089;e[12301]=65090;e[12302]=65091;e[12303]=65092;e[12304]=65083;e[12305]=65084;e[12308]=65081;e[12309]=65082;e[12310]=65047;e[12311]=65048;e[65103]=65076;e[65281]=65045;e[65288]=65077;e[65289]=65078;e[65292]=65040;e[65306]=65043;e[65307]=65044;e[65311]=65046;e[65339]=65095;e[65341]=65096;e[65343]=65075;e[65371]=65079;e[65373]=65080}));__webpack_require__(1806);const _n=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],On=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],Bn=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],Mn=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],Rn=391,Pn=[null,{id:"hstem",min:2,stackClearing:!0,stem:!0},null,{id:"vstem",min:2,stackClearing:!0,stem:!0},{id:"vmoveto",min:1,stackClearing:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1,undefStack:!0},{id:"return",min:0,undefStack:!0},null,null,{id:"endchar",min:0,stackClearing:!0},null,null,null,{id:"hstemhm",min:2,stackClearing:!0,stem:!0},{id:"hintmask",min:0,stackClearing:!0},{id:"cntrmask",min:0,stackClearing:!0},{id:"rmoveto",min:2,stackClearing:!0},{id:"hmoveto",min:1,stackClearing:!0},{id:"vstemhm",min:2,stackClearing:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1,undefStack:!0},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],Dn=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]+e[t-1]}},{id:"sub",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]-e[t-1]}},{id:"div",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]/e[t-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn(e,t){e[t-1]=-e[t-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]*e[t-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}];class CFFParser{constructor(e,t,r){this.bytes=e.getBytes();this.properties=t;this.seacAnalysisEnabled=!!r}parse(){const e=this.properties,t=new CFF;this.cff=t;const r=this.parseHeader(),a=this.parseIndex(r.endPos),n=this.parseIndex(a.endPos),i=this.parseIndex(n.endPos),s=this.parseIndex(i.endPos),o=this.parseDict(n.obj.get(0)),c=this.createDict(CFFTopDict,o,t.strings);t.header=r.obj;t.names=this.parseNameIndex(a.obj);t.strings=this.parseStringIndex(i.obj);t.topDict=c;t.globalSubrIndex=s.obj;this.parsePrivateDict(t.topDict);t.isCIDFont=c.hasName("ROS");const l=c.getByName("CharStrings"),h=this.parseIndex(l).obj,u=c.getByName("FontMatrix");u&&(e.fontMatrix=u);const d=c.getByName("FontBBox");if(d){e.ascent=Math.max(d[3],d[1]);e.descent=Math.min(d[1],d[3]);e.ascentScaled=!0}let f,g;if(t.isCIDFont){const e=this.parseIndex(c.getByName("FDArray")).obj;for(let r=0,a=e.count;r=t)throw new FormatError("Invalid CFF header");if(0!==r){info("cff data is shifted");e=e.subarray(r);this.bytes=e}const a=e[0],n=e[1],i=e[2],s=e[3];return{obj:new CFFHeader(a,n,i,s),endPos:i}}parseDict(e){let t=0;function parseOperand(){let r=e[t++];if(30===r)return function parseFloatOperand(){let r="";const a=15,n=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],i=e.length;for(;t>4,o=15&i;if(s===a)break;r+=n[s];if(o===a)break;r+=n[o]}return parseFloat(r)}();if(28===r){r=readInt16(e,t);t+=2;return r}if(29===r){r=e[t++];r=r<<8|e[t++];r=r<<8|e[t++];r=r<<8|e[t++];return r}if(r>=32&&r<=246)return r-139;if(r>=247&&r<=250)return 256*(r-247)+e[t++]+108;if(r>=251&&r<=254)return-256*(r-251)-e[t++]-108;warn('CFFParser_parseDict: "'+r+'" is a reserved command.');return NaN}let r=[];const a=[];t=0;const n=e.length;for(;t10)return!1;let n=e.stackSize;const i=e.stack;let s=t.length;for(let o=0;o=4){n-=4;if(this.seacAnalysisEnabled){e.seac=i.slice(n,n+4);return!1}}l=Pn[c]}else if(c>=32&&c<=246){i[n]=c-139;n++}else if(c>=247&&c<=254){i[n]=c<251?(c-247<<8)+t[o]+108:-(c-251<<8)-t[o]-108;o++;n++}else if(255===c){i[n]=(t[o]<<24|t[o+1]<<16|t[o+2]<<8|t[o+3])/65536;o+=4;n++}else if(19===c||20===c){e.hints+=n>>1;if(0===e.hints){t.copyWithin(o-1,o,-1);o-=1;s-=1;continue}o+=e.hints+7>>3;n%=2;l=Pn[c]}else{if(10===c||29===c){const t=10===c?r:a;if(!t){l=Pn[c];warn("Missing subrsIndex for "+l.id);return!1}let s=32768;t.count<1240?s=107:t.count<33900&&(s=1131);const o=i[--n]+s;if(o<0||o>=t.count||isNaN(o)){l=Pn[c];warn("Out of bounds subrIndex for "+l.id);return!1}e.stackSize=n;e.callDepth++;if(!this.parseCharString(e,t.get(o),r,a))return!1;e.callDepth--;n=e.stackSize;continue}if(11===c){e.stackSize=n;return!0}if(0===c&&o===t.length){t[o-1]=14;l=Pn[14]}else{if(9===c){t.copyWithin(o-1,o,-1);o-=1;s-=1;continue}l=Pn[c]}}if(l){if(l.stem){e.hints+=n>>1;if(3===c||23===c)e.hasVStems=!0;else if(e.hasVStems&&(1===c||18===c)){warn("CFF stem hints are in wrong order");t[o-1]=1===c?3:23}}if("min"in l&&!e.undefStack&&n=2&&l.stem?n%=2:n>1&&warn("Found too many parameters for stack-clearing command");n>0&&(e.width=i[n-1])}if("stackDelta"in l){"stackFn"in l&&l.stackFn(i,n);n+=l.stackDelta}else if(l.stackClearing)n=0;else if(l.resetStack){n=0;e.undefStack=!1}else if(l.undefStack){n=0;e.undefStack=!0;e.firstStackClearing=!1}}}s=i.length){warn("Invalid fd index for glyph index.");u=!1}if(u){f=i[t].privateDict;d=f.subrsIndex}}else r&&(d=r);u&&(u=this.parseCharString(h,l,d,a));if(null!==h.width){const t=f.getByName("nominalWidthX");c[e]=t+h.width}else{const t=f.getByName("defaultWidthX");c[e]=t}null!==h.seac&&(o[e]=h.seac);u||t.set(e,new Uint8Array([14]))}return{charStrings:t,seacs:o,widths:c}}emptyPrivateDictionary(e){const t=this.createDict(CFFPrivateDict,[],e.strings);e.setByKey(18,[0,0]);e.privateDict=t}parsePrivateDict(e){if(!e.hasName("Private")){this.emptyPrivateDictionary(e);return}const t=e.getByName("Private");if(!Array.isArray(t)||2!==t.length){e.removeByName("Private");return}const r=t[0],a=t[1];if(0===r||a>=this.bytes.length){this.emptyPrivateDictionary(e);return}const n=a+r,i=this.bytes.subarray(a,n),s=this.parseDict(i),o=this.createDict(CFFPrivateDict,s,e.strings);e.privateDict=o;0===o.getByName("ExpansionFactor")&&o.setByName("ExpansionFactor",.06);if(!o.getByName("Subrs"))return;const c=o.getByName("Subrs"),l=a+c;if(0===c||l>=this.bytes.length){this.emptyPrivateDictionary(e);return}const h=this.parseIndex(l);o.subrsIndex=h.obj}parseCharsets(e,t,r,a){if(0===e)return new CFFCharset(!0,jn.ISO_ADOBE,_n);if(1===e)return new CFFCharset(!0,jn.EXPERT,On);if(2===e)return new CFFCharset(!0,jn.EXPERT_SUBSET,Bn);const n=this.bytes,i=e,s=n[e++],o=[a?0:".notdef"];let c,l,h;t-=1;switch(s){case 0:for(h=0;h=65535){warn("Not enough space in charstrings to duplicate first glyph.");return}const e=this.charStrings.get(0);this.charStrings.add(e);this.isCIDFont&&this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0])}hasGlyphId(e){if(e<0||e>=this.charStrings.count)return!1;return this.charStrings.get(e).length>0}}class CFFHeader{constructor(e,t,r,a){this.major=e;this.minor=t;this.hdrSize=r;this.offSize=a}}class CFFStrings{constructor(){this.strings=[]}get(e){return e>=0&&e<=390?Mn[e]:e-Rn<=this.strings.length?this.strings[e-Rn]:Mn[0]}getSID(e){let t=Mn.indexOf(e);if(-1!==t)return t;t=this.strings.indexOf(e);return-1!==t?t+Rn:-1}add(e){this.strings.push(e)}get count(){return this.strings.length}}class CFFIndex{constructor(){this.objects=[];this.length=0}add(e){this.length+=e.length;this.objects.push(e)}set(e,t){this.length+=t.length-this.objects[e].length;this.objects[e]=t}get(e){return this.objects[e]}get count(){return this.objects.length}}class CFFDict{constructor(e,t){this.keyToNameMap=e.keyToNameMap;this.nameToKeyMap=e.nameToKeyMap;this.defaults=e.defaults;this.types=e.types;this.opcodes=e.opcodes;this.order=e.order;this.strings=t;this.values=Object.create(null)}setByKey(e,t){if(!(e in this.keyToNameMap))return!1;if(0===t.length)return!0;for(const r of t)if(isNaN(r)){warn(`Invalid CFFDict value: "${t}" for key "${e}".`);return!0}const r=this.types[e];"num"!==r&&"sid"!==r&&"offset"!==r||(t=t[0]);this.values[e]=t;return!0}setByName(e,t){if(!(e in this.nameToKeyMap))throw new FormatError(`Invalid dictionary name "${e}"`);this.values[this.nameToKeyMap[e]]=t}hasName(e){return this.nameToKeyMap[e]in this.values}getByName(e){if(!(e in this.nameToKeyMap))throw new FormatError(`Invalid dictionary name ${e}"`);const t=this.nameToKeyMap[e];return t in this.values?this.values[t]:this.defaults[t]}removeByName(e){delete this.values[this.nameToKeyMap[e]]}static createTables(e){const t={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]};for(const r of e){const e=Array.isArray(r[0])?(r[0][0]<<8)+r[0][1]:r[0];t.keyToNameMap[e]=r[1];t.nameToKeyMap[r[1]]=e;t.types[e]=r[2];t.defaults[e]=r[3];t.opcodes[e]=Array.isArray(r[0])?r[0]:[r[0]];t.order.push(e)}return t}}const En=[[[12,30],"ROS",["sid","sid","num"],null],[[12,20],"SyntheticBase","num",null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","num",0],[[12,2],"ItalicAngle","num",0],[[12,3],"UnderlinePosition","num",-100],[[12,4],"UnderlineThickness","num",50],[[12,5],"PaintType","num",0],[[12,6],"CharstringType","num",2],[[12,7],"FontMatrix",["num","num","num","num","num","num"],[.001,0,0,.001,0,0]],[13,"UniqueID","num",null],[5,"FontBBox",["num","num","num","num"],[0,0,0,0]],[[12,8],"StrokeWidth","num",0],[14,"XUID","array",null],[15,"charset","offset",0],[16,"Encoding","offset",0],[17,"CharStrings","offset",0],[18,"Private",["offset","offset"],null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","num",0],[[12,32],"CIDFontRevision","num",0],[[12,33],"CIDFontType","num",0],[[12,34],"CIDCount","num",8720],[[12,35],"UIDBase","num",null],[[12,37],"FDSelect","offset",null],[[12,36],"FDArray","offset",null],[[12,38],"FontName","sid",null]];class CFFTopDict extends CFFDict{static get tables(){return shadow(this,"tables",this.createTables(En))}constructor(e){super(CFFTopDict.tables,e);this.privateDict=null}}const Nn=[[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","num",.039625],[[12,10],"BlueShift","num",7],[[12,11],"BlueFuzz","num",1],[10,"StdHW","num",null],[11,"StdVW","num",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","num",0],[[12,17],"LanguageGroup","num",0],[[12,18],"ExpansionFactor","num",.06],[[12,19],"initialRandomSeed","num",0],[20,"defaultWidthX","num",0],[21,"nominalWidthX","num",0],[19,"Subrs","offset",null]];class CFFPrivateDict extends CFFDict{static get tables(){return shadow(this,"tables",this.createTables(Nn))}constructor(e){super(CFFPrivateDict.tables,e);this.subrsIndex=null}}const jn={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2};class CFFCharset{constructor(e,t,r,a){this.predefined=e;this.format=t;this.charset=r;this.raw=a}}class CFFEncoding{constructor(e,t,r,a){this.predefined=e;this.format=t;this.encoding=r;this.raw=a}}class CFFFDSelect{constructor(e,t){this.format=e;this.fdSelect=t}getFDIndex(e){return e<0||e>=this.fdSelect.length?-1:this.fdSelect[e]}}class CFFOffsetTracker{constructor(){this.offsets=Object.create(null)}isTracking(e){return e in this.offsets}track(e,t){if(e in this.offsets)throw new FormatError(`Already tracking location of ${e}`);this.offsets[e]=t}offset(e){for(const t in this.offsets)this.offsets[t]+=e}setEntryLocation(e,t,r){if(!(e in this.offsets))throw new FormatError(`Not tracking location of ${e}`);const a=r.data,n=this.offsets[e];for(let e=0,r=t.length;e>24&255;a[s]=l>>16&255;a[o]=l>>8&255;a[c]=255&l}}}class CFFCompiler{constructor(e){this.cff=e}compile(){const e=this.cff,t={data:[],length:0,add(e){try{this.data.push(...e)}catch{this.data=this.data.concat(e)}this.length=this.data.length}},r=this.compileHeader(e.header);t.add(r);const a=this.compileNameIndex(e.names);t.add(a);if(e.isCIDFont&&e.topDict.hasName("FontMatrix")){const t=e.topDict.getByName("FontMatrix");e.topDict.removeByName("FontMatrix");for(const r of e.fdArray){let e=t.slice(0);r.hasName("FontMatrix")&&(e=Util.transform(e,r.getByName("FontMatrix")));r.setByName("FontMatrix",e)}}const n=e.topDict.getByName("XUID");n?.length>16&&e.topDict.removeByName("XUID");e.topDict.setByName("charset",0);let i=this.compileTopDicts([e.topDict],t.length,e.isCIDFont);t.add(i.output);const s=i.trackers[0],o=this.compileStringIndex(e.strings.strings);t.add(o);const c=this.compileIndex(e.globalSubrIndex);t.add(c);if(e.encoding&&e.topDict.hasName("Encoding"))if(e.encoding.predefined)s.setEntryLocation("Encoding",[e.encoding.format],t);else{const r=this.compileEncoding(e.encoding);s.setEntryLocation("Encoding",[t.length],t);t.add(r)}const l=this.compileCharset(e.charset,e.charStrings.count,e.strings,e.isCIDFont);s.setEntryLocation("charset",[t.length],t);t.add(l);const h=this.compileCharStrings(e.charStrings);s.setEntryLocation("CharStrings",[t.length],t);t.add(h);if(e.isCIDFont){s.setEntryLocation("FDSelect",[t.length],t);const r=this.compileFDSelect(e.fdSelect);t.add(r);i=this.compileTopDicts(e.fdArray,t.length,!0);s.setEntryLocation("FDArray",[t.length],t);t.add(i.output);const a=i.trackers;this.compilePrivateDicts(e.fdArray,a,t)}this.compilePrivateDicts([e.topDict],[s],t);t.add([0]);return t.data}encodeNumber(e){return Number.isInteger(e)?this.encodeInteger(e):this.encodeFloat(e)}static get EncodeFloatRegExp(){return shadow(this,"EncodeFloatRegExp",/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/)}encodeFloat(e){let t=e.toString();const r=CFFCompiler.EncodeFloatRegExp.exec(t);if(r){const a=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length));t=(Math.round(e*a)/a).toString()}let a,n,i="";for(a=0,n=t.length;a=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?[28,e>>8&255,255&e]:[29,e>>24&255,e>>16&255,e>>8&255,255&e];return t}compileHeader(e){return[e.major,e.minor,4,e.offSize]}compileNameIndex(e){const t=new CFFIndex;for(const r of e){const e=Math.min(r.length,127);let a=new Array(e);for(let t=0;t"~"||"["===e||"]"===e||"("===e||")"===e||"{"===e||"}"===e||"<"===e||">"===e||"/"===e||"%"===e)&&(e="_");a[t]=e}a=a.join("");""===a&&(a="Bad_Font_Name");t.add(stringToBytes(a))}return this.compileIndex(t)}compileTopDicts(e,t,r){const a=[];let n=new CFFIndex;for(const i of e){if(r){i.removeByName("CIDFontVersion");i.removeByName("CIDFontRevision");i.removeByName("CIDFontType");i.removeByName("CIDCount");i.removeByName("UIDBase")}const e=new CFFOffsetTracker,s=this.compileDict(i,e);a.push(e);n.add(s);e.offset(t)}n=this.compileIndex(n,a);return{trackers:a,output:n}}compilePrivateDicts(e,t,r){for(let a=0,n=e.length;a>8&255,255&e])}else{n=new Uint8Array(1+2*i);n[0]=0;let t=0;const a=e.charset.length;let s=!1;for(let i=1;i>8&255;n[i+1]=255&o}}return this.compileTypedArray(n)}compileEncoding(e){return this.compileTypedArray(e.raw)}compileFDSelect(e){const t=e.format;let r,a;switch(t){case 0:r=new Uint8Array(1+e.fdSelect.length);r[0]=t;for(a=0;a>8&255,255&n,i];for(a=1;a>8&255,255&a,t);i=t}}const o=(s.length-3)/3;s[1]=o>>8&255;s[2]=255&o;s.push(a>>8&255,255&a);r=new Uint8Array(s)}return this.compileTypedArray(r)}compileTypedArray(e){return Array.from(e)}compileIndex(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=e.objects,a=r.length;if(0===a)return[0,0];const n=[a>>8&255,255&a];let i,s,o=1;for(i=0;i>8&255,255&c):3===s?n.push(c>>16&255,c>>8&255,255&c):n.push(c>>>24&255,c>>16&255,c>>8&255,255&c);r[i]&&(c+=r[i].length)}for(i=0;i0&&void 0!==arguments[0]?arguments[0]:[];this._map=e}get length(){return this._map.length}forEach(e){for(const t in this._map)e(t,this._map[t].codePointAt(0))}has(e){return void 0!==this._map[e]}get(e){return this._map[e]}charCodeOf(e){const t=this._map;if(t.length<=65536)return t.indexOf(e);for(const r in t)if(t[r]===e)return 0|r;return-1}amend(e){for(const t in e)this._map[t]=e[t]}}class IdentityToUnicodeMap{constructor(e,t){this.firstChar=e;this.lastChar=t}get length(){return this.lastChar+1-this.firstChar}forEach(e){for(let t=this.firstChar,r=this.lastChar;t<=r;t++)e(t,t)}has(e){return this.firstChar<=e&&e<=this.lastChar}get(e){if(this.firstChar<=e&&e<=this.lastChar)return String.fromCharCode(e)}charCodeOf(e){return Number.isInteger(e)&&e>=this.firstChar&&e<=this.lastChar?e:-1}amend(e){unreachable("Should not call amend()")}}class CFFFont{constructor(e,t){this.properties=t;const r=new CFFParser(e,t,Sn);this.cff=r.parse();this.cff.duplicateFirstGlyph();const a=new CFFCompiler(this.cff);this.seacs=this.cff.seacs;try{this.data=a.compile()}catch{warn("Failed to compile font "+t.loadedName);this.data=e}this._createBuiltInEncoding()}get numGlyphs(){return this.cff.charStrings.count}getCharset(){return this.cff.charset.charset}getGlyphMapping(){const e=this.cff,t=this.properties,{cidToGidMap:r,cMap:a}=t,n=e.charset.charset;let i,s;if(t.composite){let t,o;if(r?.length>0){t=Object.create(null);for(let e=0,a=r.length;e=0){const a=r[t];a&&(n[e]=a)}}n.length>0&&(this.properties.builtInEncoding=n)}}function font_renderer_defineProperty(e,t,r){return(t=function font_renderer_toPropertyKey(e){var t=function font_renderer_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function getFloat214(e,t){return readInt16(e,t)/16384}function getSubroutineBias(e){const t=e.length;let r=32768;t<1240?r=107:t<33900&&(r=1131);return r}function parseCmap(e,t,r){const a=1===readUint16(e,t+2)?readUint32(e,t+8):readUint32(e,t+16),n=readUint16(e,t+a);let i,s,o;if(4===n){readUint16(e,t+a+2);const r=readUint16(e,t+a+6)>>1;s=t+a+14;i=[];for(o=0;o>1;r0;)h.push({flags:i})}for(r=0;r>1;y=!0;break;case 4:s+=n.pop();moveTo(i,s);y=!0;break;case 5:for(;n.length>0;){i+=n.shift();s+=n.shift();lineTo(i,s)}break;case 6:for(;n.length>0;){i+=n.shift();lineTo(i,s);if(0===n.length)break;s+=n.shift();lineTo(i,s)}break;case 7:for(;n.length>0;){s+=n.shift();lineTo(i,s);if(0===n.length)break;i+=n.shift();lineTo(i,s)}break;case 8:for(;n.length>0;){l=i+n.shift();u=s+n.shift();h=l+n.shift();d=u+n.shift();i=h+n.shift();s=d+n.shift();bezierCurveTo(l,u,h,d,i,s)}break;case 10:m=n.pop();b=null;if(r.isCFFCIDFont){const e=r.fdSelect.getFDIndex(a);if(e>=0&&eMath.abs(s-t)?i+=n.shift():s+=n.shift();bezierCurveTo(l,u,h,d,i,s);break;default:throw new FormatError(`unknown operator: 12 ${w}`)}break;case 14:if(n.length>=4){const e=n.pop(),a=n.pop();s=n.pop();i=n.pop();t.save();t.translate(i,s);let o=lookupCmap(r.cmap,String.fromCharCode(r.glyphNameMap[dn[e]]));compileCharString(r.glyphs[o.glyphId],t,r,o.glyphId);t.restore();o=lookupCmap(r.cmap,String.fromCharCode(r.glyphNameMap[dn[a]]));compileCharString(r.glyphs[o.glyphId],t,r,o.glyphId)}return;case 19:case 20:o+=n.length>>1;c+=o+7>>3;y=!0;break;case 21:s+=n.pop();i+=n.pop();moveTo(i,s);y=!0;break;case 22:i+=n.pop();moveTo(i,s);y=!0;break;case 24:for(;n.length>2;){l=i+n.shift();u=s+n.shift();h=l+n.shift();d=u+n.shift();i=h+n.shift();s=d+n.shift();bezierCurveTo(l,u,h,d,i,s)}i+=n.shift();s+=n.shift();lineTo(i,s);break;case 25:for(;n.length>6;){i+=n.shift();s+=n.shift();lineTo(i,s)}l=i+n.shift();u=s+n.shift();h=l+n.shift();d=u+n.shift();i=h+n.shift();s=d+n.shift();bezierCurveTo(l,u,h,d,i,s);break;case 26:n.length%2&&(i+=n.shift());for(;n.length>0;){l=i;u=s+n.shift();h=l+n.shift();d=u+n.shift();i=h;s=d+n.shift();bezierCurveTo(l,u,h,d,i,s)}break;case 27:n.length%2&&(s+=n.shift());for(;n.length>0;){l=i+n.shift();u=s;h=l+n.shift();d=u+n.shift();i=h+n.shift();s=d;bezierCurveTo(l,u,h,d,i,s)}break;case 28:n.push(readInt16(e,c));c+=2;break;case 29:m=n.pop()+r.gsubrsBias;b=r.gsubrs[m];b&&parse(b);break;case 30:for(;n.length>0;){l=i;u=s+n.shift();h=l+n.shift();d=u+n.shift();i=h+n.shift();s=d+(1===n.length?n.shift():0);bezierCurveTo(l,u,h,d,i,s);if(0===n.length)break;l=i+n.shift();u=s;h=l+n.shift();d=u+n.shift();s=d+n.shift();i=h+(1===n.length?n.shift():0);bezierCurveTo(l,u,h,d,i,s)}break;case 31:for(;n.length>0;){l=i+n.shift();u=s;h=l+n.shift();d=u+n.shift();s=d+n.shift();i=h+(1===n.length?n.shift():0);bezierCurveTo(l,u,h,d,i,s);if(0===n.length)break;l=i;u=s+n.shift();h=l+n.shift();d=u+n.shift();i=h+n.shift();s=d+(1===n.length?n.shift():0);bezierCurveTo(l,u,h,d,i,s)}break;default:if(w<32)throw new FormatError(`unknown operator: ${w}`);if(w<247)n.push(w-139);else if(w<251)n.push(256*(w-247)+e[c++]+108);else if(w<255)n.push(256*-(w-251)-e[c++]-108);else{n.push((e[c]<<24|e[c+1]<<16|e[c+2]<<8|e[c+3])/65536);c+=4}}y&&(n.length=0)}}(e)}class Commands{constructor(){font_renderer_defineProperty(this,"cmds",[]);font_renderer_defineProperty(this,"transformStack",[]);font_renderer_defineProperty(this,"currentTransform",[1,0,0,1,0,0])}add(e,t){if(t){const{currentTransform:r}=this;for(let e=0,a=t.length;e=0&&e2*readUint16(e,t)}const i=[];let s=n(t,0);for(let r=a;re.getSize()+3&-4)))}write(){const e=this.getSize(),t=new DataView(new ArrayBuffer(e)),r=e>131070,a=r?4:2,n=new DataView(new ArrayBuffer((this.glyphs.length+1)*a));r?n.setUint32(0,0):n.setUint16(0,0);let i=0,s=0;for(const e of this.glyphs){i+=e.write(i,t);i=i+3&-4;s+=a;r?n.setUint32(s,i):n.setUint16(s,i>>1)}return{isLocationLong:r,loca:new Uint8Array(n.buffer),glyf:new Uint8Array(t.buffer)}}scale(e){for(let t=0,r=this.glyphs.length;te.getSize())));return this.header.getSize()+e}write(e,t){if(!this.header)return 0;const r=e;e+=this.header.write(e,t);if(this.simple)e+=this.simple.write(e,t);else for(const r of this.composites)e+=r.write(e,t);return e-r}scale(e){if(!this.header)return;const t=(this.header.xMin+this.header.xMax)/2;this.header.scale(t,e);if(this.simple)this.simple.scale(t,e);else for(const r of this.composites)r.scale(t,e)}}class GlyphHeader{constructor(e){let{numberOfContours:t,xMin:r,yMin:a,xMax:n,yMax:i}=e;this.numberOfContours=t;this.xMin=r;this.yMin=a;this.xMax=n;this.yMax=i}static parse(e,t){return[10,new GlyphHeader({numberOfContours:t.getInt16(e),xMin:t.getInt16(e+2),yMin:t.getInt16(e+4),xMax:t.getInt16(e+6),yMax:t.getInt16(e+8)})]}getSize(){return 10}write(e,t){t.setInt16(e,this.numberOfContours);t.setInt16(e+2,this.xMin);t.setInt16(e+4,this.yMin);t.setInt16(e+6,this.xMax);t.setInt16(e+8,this.yMax);return 10}scale(e,t){this.xMin=Math.round(e+(this.xMin-e)*t);this.xMax=Math.round(e+(this.xMax-e)*t)}}class Contour{constructor(e){let{flags:t,xCoordinates:r,yCoordinates:a}=e;this.xCoordinates=r;this.yCoordinates=a;this.flags=t}}class SimpleGlyph{constructor(e){let{contours:t,instructions:r}=e;this.contours=t;this.instructions=r}static parse(e,t,r){const a=[];for(let n=0;n255?e+=2:o>0&&(e+=1);t=i;o=Math.abs(s-r);o>255?e+=2:o>0&&(e+=1);r=s}}return e}write(e,t){const r=e,a=[],n=[],i=[];let s=0,o=0;for(const r of this.contours){for(let e=0,t=r.xCoordinates.length;e=0?18:2;a.push(e)}else a.push(l)}s=c;const h=r.yCoordinates[e];l=h-o;if(0===l){t|=32;n.push(0)}else{const e=Math.abs(l);if(e<=255){t|=l>=0?36:4;n.push(e)}else n.push(l)}o=h;i.push(t)}t.setUint16(e,a.length-1);e+=2}t.setUint16(e,this.instructions.length);e+=2;if(this.instructions.length){new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e);e+=this.instructions.length}for(const r of i)t.setUint8(e++,r);for(let r=0,n=a.length;r=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(e+=2):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(e+=2);return e}write(e,t){const r=e;2&this.flags?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(this.flags|=1):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(this.flags|=1);t.setUint16(e,this.flags);t.setUint16(e+2,this.glyphIndex);e+=4;if(1&this.flags){if(2&this.flags){t.setInt16(e,this.argument1);t.setInt16(e+2,this.argument2)}else{t.setUint16(e,this.argument1);t.setUint16(e+2,this.argument2)}e+=4}else{t.setUint8(e,this.argument1);t.setUint8(e+1,this.argument2);e+=2}if(256&this.flags){t.setUint16(e,this.instructions.length);e+=2;if(this.instructions.length){new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e);e+=this.instructions.length}}return e-r}scale(e,t){}}function writeInt16(e,t,r){e[t]=r>>8&255;e[t+1]=255&r}function writeInt32(e,t,r){e[t]=r>>24&255;e[t+1]=r>>16&255;e[t+2]=r>>8&255;e[t+3]=255&r}function writeData(e,t,r){if(r instanceof Uint8Array)e.set(r,t);else if("string"==typeof r)for(let a=0,n=r.length;ar;){r<<=1;a++}const n=r*t;return{range:n,entry:a,rangeShift:t*e-n}}toArray(){let e=this.sfnt;const t=this.tables,r=Object.keys(t);r.sort();const a=r.length;let n,i,s,o,c,l=12+16*a;const h=[l];for(n=0;n>>0;h.push(l)}const u=new Uint8Array(l);for(n=0;n>>0}writeInt32(u,l+4,e);writeInt32(u,l+8,h[n]);writeInt32(u,l+12,t[c].length);l+=16}return u}addTable(e,t){if(e in this.tables)throw new Error("Table "+e+" already exists");this.tables[e]=t}}const Kn=[4],Jn=[5],Yn=[6],Zn=[7],Qn=[8],ei=[12,35],ti=[14],ri=[21],ai=[22],ni=[30],ii=[31];class Type1CharString{constructor(){this.width=0;this.lsb=0;this.flexing=!1;this.output=[];this.stack=[]}convert(e,t,r){const a=e.length;let n,i,s,o=!1;for(let c=0;ca)return!0;const n=a-e;for(let e=n;e>8&255,255&t);else{t=65536*t|0;this.output.push(255,t>>24&255,t>>16&255,t>>8&255,255&t)}}this.output.push(...t);r?this.stack.splice(n,e):this.stack.length=0;return!1}}function isHexDigit(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function decrypt(e,t,r){if(r>=e.length)return new Uint8Array(0);let a,n,i=0|t;for(a=0;a>8;i=52845*(t+i)+22719&65535}return o}function isSpecial(e){return 47===e||91===e||93===e||123===e||125===e||40===e||41===e}class Type1Parser{constructor(e,t,r){if(t){const t=e.getBytes(),r=!((isHexDigit(t[0])||isWhiteSpace(t[0]))&&isHexDigit(t[1])&&isHexDigit(t[2])&&isHexDigit(t[3])&&isHexDigit(t[4])&&isHexDigit(t[5])&&isHexDigit(t[6])&&isHexDigit(t[7]));e=new Stream(r?decrypt(t,55665,4):function decryptAscii(e,t,r){let a=0|t;const n=e.length,i=new Uint8Array(n>>>1);let s,o;for(s=0,o=0;s>8;a=52845*(e+a)+22719&65535}}return i.slice(r,o)}(t,55665,4))}this.seacAnalysisEnabled=!!r;this.stream=e;this.nextChar()}readNumberArray(){this.getToken();const e=[];for(;;){const t=this.getToken();if(null===t||"]"===t||"}"===t)break;e.push(parseFloat(t||0))}return e}readNumber(){const e=this.getToken();return parseFloat(e||0)}readInt(){const e=this.getToken();return 0|parseInt(e||0,10)}readBoolean(){return"true"===this.getToken()?1:0}nextChar(){return this.currentChar=this.stream.getByte()}prevChar(){this.stream.skip(-2);return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(-1===t)return null;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!isWhiteSpace(t))break;t=this.nextChar()}if(isSpecial(t)){this.nextChar();return String.fromCharCode(t)}let r="";do{r+=String.fromCharCode(t);t=this.nextChar()}while(t>=0&&!isWhiteSpace(t)&&!isSpecial(t));return r}readCharStrings(e,t){return-1===t?e:decrypt(e,4330,t)}extractFontProgram(e){const t=this.stream,r=[],a=[],n=Object.create(null);n.lenIV=4;const i={subrs:[],charstrings:[],properties:{privateData:n}};let s,o,c,l;for(;null!==(s=this.getToken());)if("/"===s){s=this.getToken();switch(s){case"CharStrings":this.getToken();this.getToken();this.getToken();this.getToken();for(;;){s=this.getToken();if(null===s||"end"===s)break;if("/"!==s)continue;const e=this.getToken();o=this.readInt();this.getToken();c=o>0?t.getBytes(o):new Uint8Array(0);l=i.properties.privateData.lenIV;const r=this.readCharStrings(c,l);this.nextChar();s=this.getToken();"noaccess"===s?this.getToken():"/"===s&&this.prevChar();a.push({glyph:e,encoded:r})}break;case"Subrs":this.readInt();this.getToken();for(;"dup"===this.getToken();){const e=this.readInt();o=this.readInt();this.getToken();c=o>0?t.getBytes(o):new Uint8Array(0);l=i.properties.privateData.lenIV;const a=this.readCharStrings(c,l);this.nextChar();s=this.getToken();"noaccess"===s&&this.getToken();r[e]=a}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":const e=this.readNumberArray();e.length>0&&e.length,0;break;case"StemSnapH":case"StemSnapV":i.properties.privateData[s]=this.readNumberArray();break;case"StdHW":case"StdVW":i.properties.privateData[s]=this.readNumberArray()[0];break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":i.properties.privateData[s]=this.readNumber();break;case"ExpansionFactor":i.properties.privateData[s]=this.readNumber()||.06;break;case"ForceBold":i.properties.privateData[s]=this.readBoolean()}}for(const{encoded:t,glyph:n}of a){const a=new Type1CharString,s=a.convert(t,r,this.seacAnalysisEnabled);let o=a.output;s&&(o=[14]);const c={glyphName:n,charstring:o,width:a.width,lsb:a.lsb,seac:a.seac};".notdef"===n?i.charstrings.unshift(c):i.charstrings.push(c);if(e.builtInEncoding){const t=e.builtInEncoding.indexOf(n);t>-1&&void 0===e.widths[t]&&t>=e.firstChar&&t<=e.lastChar&&(e.widths[t]=a.width)}}return i}extractFontHeader(e){let t;for(;null!==(t=this.getToken());)if("/"===t){t=this.getToken();switch(t){case"FontMatrix":const r=this.readNumberArray();e.fontMatrix=r;break;case"Encoding":const a=this.getToken();let n;if(/^\d+$/.test(a)){n=[];const e=0|parseInt(a,10);this.getToken();for(let r=0;r=n){s+=r;for(;s=0&&(a[e]=n)}}return type1FontGlyphMapping(e,a,r)}hasGlyphId(e){if(e<0||e>=this.numGlyphs)return!1;if(0===e)return!0;return this.charstrings[e-1].charstring.length>0}getSeacs(e){const t=[];for(let r=0,a=e.length;r0;e--)t[e]-=t[e-1];f.setByName(e,t)}i.topDict.privateDict=f;const p=new CFFIndex;for(h=0,u=a.length;h0&&e.toUnicode.amend(t)}class fonts_Glyph{constructor(e,t,r,a,n,i,s,o,c){this.originalCharCode=e;this.fontChar=t;this.unicode=r;this.accent=a;this.width=n;this.vmetric=i;this.operatorListId=s;this.isSpace=o;this.isInFont=c}get category(){return shadow(this,"category",function getCharUnicodeCategory(e){const t=xn.get(e);if(t)return t;const r=e.match(vn),a={isWhitespace:!!r?.[1],isZeroWidthDiacritic:!!r?.[2],isInvisibleFormatMark:!!r?.[3]};xn.set(e,a);return a}(this.unicode),!0)}}function int16(e,t){return(e<<8)+t}function writeSignedInt16(e,t,r){e[t+1]=r;e[t]=r>>>8}function signedInt16(e,t){const r=(e<<8)+t;return 32768&r?r-65536:r}function string16(e){return String.fromCharCode(e>>8&255,255&e)}function safeString16(e){e>32767?e=32767:e<-32768&&(e=-32768);return String.fromCharCode(e>>8&255,255&e)}function isTrueTypeCollectionFile(e){return"ttcf"===bytesToString(e.peekBytes(4))}function getFontFileType(e,t){let r,a,{type:n,subtype:i,composite:s}=t;if(function isTrueTypeFile(e){const t=e.peekBytes(4);return 65536===readUint32(t,0)||"true"===bytesToString(t)}(e)||isTrueTypeCollectionFile(e))r=s?"CIDFontType2":"TrueType";else if(function isOpenTypeFile(e){return"OTTO"===bytesToString(e.peekBytes(4))}(e))r=s?"CIDFontType2":"OpenType";else if(function isType1File(e){const t=e.peekBytes(2);return 37===t[0]&&33===t[1]||128===t[0]&&1===t[1]}(e))r=s?"CIDFontType0":"MMType1"===n?"MMType1":"Type1";else if(function isCFFFile(e){const t=e.peekBytes(4);return t[0]>=1&&t[3]>=1&&t[3]<=4}(e))if(s){r="CIDFontType0";a="CIDFontType0C"}else{r="MMType1"===n?"MMType1":"Type1";a="Type1C"}else{warn("getFontFileType: Unable to detect correct font file Type/Subtype.");r=n;a=i}return[r,a]}function applyStandardFontGlyphMap(e,t){for(const r in t)e[+r]=t[r]}function buildToFontChar(e,t,r){const a=[];let n;for(let r=0,i=e.length;r2&&void 0!==arguments[2]&&arguments[2];switch(t.length){case 1:return t.charCodeAt(0);case 2:return t.charCodeAt(0)<<8|t.charCodeAt(1)}const a=`Unsupported CID string (charCode ${e}): "${t}".`;if(r)throw new FormatError(a);warn(a);return t}function adjustMapping(e,t,r,a){const n=Object.create(null),i=new Map,s=[],o=new Set;let c=0;let l=si[c][0],h=si[c][1];let u=null;for(const f in e){let g=e[f];if(!t(g))continue;if(l>h){c++;if(c>=si.length){warn("Ran out of space in font private use area.");break}l=si[c][0];h=si[c][1]}const p=l++;0===g&&(g=r);let m=a.get(f);if("string"==typeof m)if(1===m.length)m=m.codePointAt(0);else{if(!u){u=new Map;for(let e=64256;e<=64335;e++){const t=String.fromCharCode(e).normalize("NFKD");t.length>1&&u.set(t,e)}}m=u.get(m)||m.codePointAt(0)}if(m&&!(d=m,si[0][0]<=d&&d<=si[0][1]||si[1][0]<=d&&d<=si[1][1])&&!o.has(g)){i.set(m,g);o.add(g)}n[p]=g;s[f]=p}var d;return{toFontChar:s,charCodeToGlyphId:n,toUnicodeExtraMap:i,nextAvailableFontCharCode:l}}function createCmapTable(e,t,r){const a=function getRanges(e,t,r){const a=[];for(const t in e)e[t]>=r||a.push({fontCharCode:0|t,glyphId:e[t]});if(t)for(const[e,n]of t)n>=r||a.push({fontCharCode:e,glyphId:n});0===a.length&&a.push({fontCharCode:0,glyphId:0});a.sort(((e,t)=>e.fontCharCode-t.fontCharCode));const n=[],i=a.length;for(let e=0;e65535?2:1;let i,s,o,c,l="\0\0"+string16(n)+"\0\0"+string32(4+8*n);for(i=a.length-1;i>=0&&!(a[i][0]<=65535);--i);const h=i+1;a[i][0]<65535&&65535===a[i][1]&&(a[i][1]=65534);const u=a[i][1]<65535?1:0,d=h+u,f=OpenTypeFileBuilder.getSearchParams(d,2);let g,p,m,b,y="",w="",v="",x="",S="",k=0;for(i=0,s=h;i0){w+="ÿÿ";y+="ÿÿ";v+="\0";x+="\0\0"}const C="\0\0"+string16(2*d)+string16(f.range)+string16(f.entry)+string16(f.rangeShift)+w+"\0\0"+y+v+x+S;let T="",_="";if(n>1){l+="\0\0\n"+string32(4+8*n+4+C.length);T="";for(i=0,s=a.length;ie||!o)&&(o=e);c 123 are reserved for internal usage");s|=1<65535&&(c=65535)}else{o=0;c=255}const h=e.bbox||[0,0,0,0],u=r.unitsPerEm||(e.fontMatrix?1/Math.max(...e.fontMatrix.slice(0,4).map(Math.abs)):1e3),d=e.ascentScaled?1:u/oi,f=r.ascent||Math.round(d*(e.ascent||h[3]));let g=r.descent||Math.round(d*(e.descent||h[1]));g>0&&e.descent>0&&h[1]<0&&(g=-g);const p=r.yMax||f,m=-r.yMin||-g;return"\0$ô\0\0\0Š»\0\0\0ŒŠ»\0\0ß\x001\0\0\0\0"+String.fromCharCode(e.fixedPitch?9:0)+"\0\0\0\0\0\0"+string32(a)+string32(n)+string32(i)+string32(s)+"*21*"+string16(e.italicAngle?1:0)+string16(o||e.firstChar)+string16(c||e.lastChar)+string16(f)+string16(g)+"\0d"+string16(p)+string16(m)+"\0\0\0\0\0\0\0\0"+string16(e.xHeight)+string16(e.capHeight)+string16(0)+string16(o||e.firstChar)+"\0"}function createPostTable(e){return"\0\0\0"+string32(Math.floor(65536*e.italicAngle))+"\0\0\0\0"+string32(e.fixedPitch?1:0)+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}function createPostscriptName(e){return e.replaceAll(/[^\x21-\x7E]|[[\](){}<>/%]/g,"").slice(0,63)}function createNameTable(e,t){t||(t=[[],[]]);const r=[t[0][0]||"Original licence",t[0][1]||e,t[0][2]||"Unknown",t[0][3]||"uniqueID",t[0][4]||e,t[0][5]||"Version 0.11",t[0][6]||createPostscriptName(e),t[0][7]||"Unknown",t[0][8]||"Unknown",t[0][9]||"Unknown"],a=[];let n,i,s,o,c;for(n=0,i=r.length;n0;if((s||o)&&"CIDFontType2"===r&&this.cidEncoding.startsWith("Identity-")){const r=e.cidToGidMap,a=[];applyStandardFontGlyphMap(a,Wn());/Arial-?Black/i.test(t)?applyStandardFontGlyphMap(a,zn()):/Calibri/i.test(t)&&applyStandardFontGlyphMap(a,Gn());if(r){for(const e in a){const t=a[e];void 0!==r[t]&&(a[+e]=r[t])}r.length!==this.toUnicode.length&&e.hasIncludedToUnicodeMap&&this.toUnicode instanceof IdentityToUnicodeMap&&this.toUnicode.forEach((function(e,t){const n=a[e];void 0===r[n]&&(a[+e]=t)}))}this.toUnicode instanceof IdentityToUnicodeMap||this.toUnicode.forEach((function(e,t){a[+e]=t}));this.toFontChar=a;this.toUnicode=new ToUnicodeMap(a)}else if(/Symbol/i.test(a))this.toFontChar=buildToFontChar(gn,mn(),this.differences);else if(/Dingbats/i.test(a))this.toFontChar=buildToFontChar(pn,bn(),this.differences);else if(s||o){const e=buildToFontChar(this.defaultEncoding,mn(),this.differences);"CIDFontType2"!==r||this.cidEncoding.startsWith("Identity-")||this.toUnicode instanceof IdentityToUnicodeMap||this.toUnicode.forEach((function(t,r){e[+t]=r}));this.toFontChar=e}else{const e=mn(),r=[];this.toUnicode.forEach(((t,a)=>{if(!this.composite){const r=getUnicodeForGlyph(this.differences[t]||this.defaultEncoding[t],e);-1!==r&&(a=r)}r[+t]=a}));this.composite&&this.toUnicode instanceof IdentityToUnicodeMap&&/Tahoma|Verdana/i.test(t)&&applyStandardFontGlyphMap(r,Wn());this.toFontChar=r}amendFallbackToUnicode(e);this.loadedName=a.split("-",1)[0]}checkAndRepair(e,t,r){const a=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "];function readTables(e,t){const r=Object.create(null);r["OS/2"]=null;r.cmap=null;r.head=null;r.hhea=null;r.hmtx=null;r.maxp=null;r.name=null;r.post=null;for(let n=0;n>>0,a=e.getInt32()>>>0,n=e.getInt32()>>>0,i=e.pos;e.pos=e.start||0;e.skip(a);const s=e.getBytes(n);e.pos=i;if("head"===t){s[8]=s[9]=s[10]=s[11]=0;s[17]|=32}return{tag:t,checksum:r,length:n,offset:a,data:s}}function readOpenTypeHeader(e){return{version:e.getString(4),numTables:e.getUint16(),searchRange:e.getUint16(),entrySelector:e.getUint16(),rangeShift:e.getUint16()}}function sanitizeGlyph(e,t,r,a,n,i){const s={length:0,sizeOfInstructions:0};if(t<0||t>=e.length||r>e.length||r-t<=12)return s;const o=e.subarray(t,r),c=signedInt16(o[2],o[3]),l=signedInt16(o[4],o[5]),h=signedInt16(o[6],o[7]),u=signedInt16(o[8],o[9]);if(c>h){writeSignedInt16(o,2,h);writeSignedInt16(o,6,c)}if(l>u){writeSignedInt16(o,4,u);writeSignedInt16(o,8,l)}const d=signedInt16(o[0],o[1]);if(d<0){if(d<-1)return s;a.set(o,n);s.length=o.length;return s}let f,g=10,p=0;for(f=0;fo.length)return s;if(!i&&b>0){a.set(o.subarray(0,m),n);a.set([0,0],n+m);a.set(o.subarray(y,v),n+m+2);v-=b;o.length-v>3&&(v=v+3&-4);s.length=v;return s}if(o.length-v>3){v=v+3&-4;a.set(o.subarray(0,v),n);s.length=v;return s}a.set(o,n);s.length=o.length;return s}function readNameTable(e){const r=(t.start||0)+e.offset;t.pos=r;const a=[[],[]],n=[],i=e.length,s=r+i;if(0!==t.getUint16()||i<6)return[a,n];const o=t.getUint16(),c=t.getUint16();let l,h;for(l=0;ls)continue;t.pos=i;const o=e.name;if(e.encoding){let r="";for(let a=0,n=e.length;a0&&(l+=e-1)}}else{if(m||y){warn("TT: nested FDEFs not allowed");p=!0}m=!0;u=l;s=d.pop();t.functionsDefined[s]={data:c,i:l}}else if(!m&&!y){s=d.at(-1);if(isNaN(s))info("TT: CALL empty stack (or invalid entry).");else{t.functionsUsed[s]=!0;if(s in t.functionsStackDeltas){const e=d.length+t.functionsStackDeltas[s];if(e<0){warn("TT: CALL invalid functions stack delta.");t.hintsValid=!1;return}d.length=e}else if(s in t.functionsDefined&&!g.includes(s)){f.push({data:c,i:l,stackTop:d.length-1});g.push(s);o=t.functionsDefined[s];if(!o){warn("TT: CALL non-existent function");t.hintsValid=!1;return}c=o.data;l=o.i}}}if(!m&&!y){let t=0;e<=142?t=n[e]:e>=192&&e<=223?t=-1:e>=224&&(t=-2);if(e>=113&&e<=117){a=d.pop();isNaN(a)||(t=2*-a)}for(;t<0&&d.length>0;){d.pop();t++}for(;t>0;){d.push(NaN);t--}}}t.tooComplexToFollowFunctions=p;const w=[c];l>c.length&&w.push(new Uint8Array(l-c.length));if(u>h){warn("TT: complementing a missing function tail");w.push(new Uint8Array([34,45]))}!function foldTTTable(e,t){if(t.length>1){let r,a,n=0;for(r=0,a=t.length;r>>0,i=[];for(let t=0;t>>0);const s={ttcTag:t,majorVersion:r,minorVersion:a,numFonts:n,offsetTable:i};switch(r){case 1:return s;case 2:s.dsigTag=e.getInt32()>>>0;s.dsigLength=e.getInt32()>>>0;s.dsigOffset=e.getInt32()>>>0;return s}throw new FormatError(`Invalid TrueType Collection majorVersion: ${r}.`)}(e),n=t.split("+");let i;for(let s=0;s0||!(r.cMap instanceof IdentityCMap));if("OTTO"===i.version&&!t||!s.head||!s.hhea||!s.maxp||!s.post){c=new Stream(s["CFF "].data);o=new CFFFont(c,r);return this.convert(e,o,r)}delete s.glyf;delete s.loca;delete s.fpgm;delete s.prep;delete s["cvt "];this.isOpenType=!0}if(!s.maxp)throw new FormatError('Required "maxp" table is not found');t.pos=(t.start||0)+s.maxp.offset;let h=t.getInt32();const u=t.getUint16();if(65536!==h&&20480!==h){if(6===s.maxp.length)h=20480;else{if(!(s.maxp.length>=32))throw new FormatError('"maxp" table has a wrong version number');h=65536}!function writeUint32(e,t,r){e[t+3]=255&r;e[t+2]=r>>>8;e[t+1]=r>>>16;e[t]=r>>>24}(s.maxp.data,0,h)}if(r.scaleFactors?.length===u&&l){const{scaleFactors:e}=r,t=int16(s.head.data[50],s.head.data[51]),a=new GlyfTable({glyfTable:s.glyf.data,isGlyphLocationsLong:t,locaTable:s.loca.data,numGlyphs:u});a.scale(e);const{glyf:n,loca:i,isLocationLong:o}=a.write();s.glyf.data=n;s.loca.data=i;if(o!==!!t){s.head.data[50]=0;s.head.data[51]=o?1:0}const c=s.hmtx.data;for(let t=0;t>8&255;c[r+1]=255&a;writeSignedInt16(c,r+2,Math.round(e[t]*signedInt16(c[r+2],c[r+3])))}}let d=u+1,f=!0;if(d>65535){f=!1;d=u;warn("Not enough space in glyfs to duplicate first glyph.")}let g=0,p=0;if(h>=65536&&s.maxp.length>=32){t.pos+=8;if(t.getUint16()>2){s.maxp.data[14]=0;s.maxp.data[15]=2}t.pos+=4;g=t.getUint16();t.pos+=4;p=t.getUint16()}s.maxp.data[4]=d>>8;s.maxp.data[5]=255&d;const m=function sanitizeTTPrograms(e,t,r,a){const n={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};e&&sanitizeTTProgram(e,n);t&&sanitizeTTProgram(t,n);e&&function checkInvalidFunctions(e,t){if(!e.tooComplexToFollowFunctions)if(e.functionsDefined.length>t){warn("TT: more functions defined than expected");e.hintsValid=!1}else for(let r=0,a=e.functionsUsed.length;rt){warn("TT: invalid function id: "+r);e.hintsValid=!1;return}if(e.functionsUsed[r]&&!e.functionsDefined[r]){warn("TT: undefined function: "+r);e.hintsValid=!1;return}}}(n,a);if(r&&1&r.length){const e=new Uint8Array(r.length+1);e.set(r.data);r.data=e}return n.hintsValid}(s.fpgm,s.prep,s["cvt "],g);if(!m){delete s.fpgm;delete s.prep;delete s["cvt "]}!function sanitizeMetrics(e,t,r,a,n,i){if(!t){r&&(r.data=null);return}e.pos=(e.start||0)+t.offset;e.pos+=4;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;const s=e.getUint16();e.pos+=8;e.pos+=2;let o=e.getUint16();if(0!==s){if(!(2&int16(a.data[44],a.data[45]))){t.data[22]=0;t.data[23]=0}}if(o>n){info(`The numOfMetrics (${o}) should not be greater than the numGlyphs (${n}).`);o=n;t.data[34]=(65280&o)>>8;t.data[35]=255&o}const c=n-o-(r.length-4*o>>1);if(c>0){const e=new Uint8Array(r.length+2*c);e.set(r.data);if(i){e[r.length]=r.data[2];e[r.length+1]=r.data[3]}r.data=e}}(t,s.hhea,s.hmtx,s.head,d,f);if(!s.head)throw new FormatError('Required "head" table is not found');!function sanitizeHead(e,t,r){const a=e.data,n=function int32(e,t,r,a){return(e<<24)+(t<<16)+(r<<8)+a}(a[0],a[1],a[2],a[3]);if(n>>16!=1){info("Attempting to fix invalid version in head table: "+n);a[0]=0;a[1]=1;a[2]=0;a[3]=0}const i=int16(a[50],a[51]);if(i<0||i>1){info("Attempting to fix invalid indexToLocFormat in head table: "+i);const e=t+1;if(r===e<<1){a[50]=0;a[51]=0}else{if(r!==e<<2)throw new FormatError("Could not fix indexToLocFormat: "+i);a[50]=0;a[51]=1}}}(s.head,u,l?s.loca.length:0);let b=Object.create(null);if(l){const e=int16(s.head.data[50],s.head.data[51]),t=function sanitizeGlyphLocations(e,t,r,a,n,i,s){let o,c,l;if(a){o=4;c=function fontItemDecodeLong(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};l=function fontItemEncodeLong(e,t,r){e[t]=r>>>24&255;e[t+1]=r>>16&255;e[t+2]=r>>8&255;e[t+3]=255&r}}else{o=2;c=function fontItemDecode(e,t){return e[t]<<9|e[t+1]<<1};l=function fontItemEncode(e,t,r){e[t]=r>>9&255;e[t+1]=r>>1&255}}const h=i?r+1:r,u=o*(1+h),d=new Uint8Array(u);d.set(e.data.subarray(0,u));e.data=d;const f=t.data,g=f.length,p=new Uint8Array(g);let m,b;const y=[];for(m=0,b=0;mg&&(e=g);y.push({index:m,offset:e,endOffset:0})}y.sort(((e,t)=>e.offset-t.offset));for(m=0;me.index-t.index));for(m=0;ms&&(s=e.sizeOfInstructions);x+=t;l(d,b,x)}if(0===x){const e=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(m=0,b=o;mr+x)t.data=p.subarray(0,r+x);else{t.data=new Uint8Array(r+x);t.data.set(p.subarray(0,x))}t.data.set(p.subarray(0,r),x);l(e.data,d.length-o,x+r)}else t.data=p.subarray(0,x);return{missingGlyphs:v,maxSizeOfInstructions:s}}(s.loca,s.glyf,u,e,m,f,p);b=t.missingGlyphs;if(h>=65536&&s.maxp.length>=32){s.maxp.data[26]=t.maxSizeOfInstructions>>8;s.maxp.data[27]=255&t.maxSizeOfInstructions}}if(!s.hhea)throw new FormatError('Required "hhea" table is not found');if(0===s.hhea.data[10]&&0===s.hhea.data[11]){s.hhea.data[10]=255;s.hhea.data[11]=255}const y={unitsPerEm:int16(s.head.data[18],s.head.data[19]),yMax:signedInt16(s.head.data[42],s.head.data[43]),yMin:signedInt16(s.head.data[38],s.head.data[39]),ascent:signedInt16(s.hhea.data[4],s.hhea.data[5]),descent:signedInt16(s.hhea.data[6],s.hhea.data[7]),lineGap:signedInt16(s.hhea.data[8],s.hhea.data[9])};this.ascent=y.ascent/y.unitsPerEm;this.descent=y.descent/y.unitsPerEm;this.lineGap=y.lineGap/y.unitsPerEm;if(this.cssFontInfo?.lineHeight){this.lineHeight=this.cssFontInfo.metrics.lineHeight;this.lineGap=this.cssFontInfo.metrics.lineGap}else this.lineHeight=this.ascent-this.descent+this.lineGap;s.post&&function readPostScriptTable(e,r,a){const n=(t.start||0)+e.offset;t.pos=n;const i=n+e.length,s=t.getInt32();t.skip(28);let o,c,l=!0;switch(s){case 65536:o=In;break;case 131072:const e=t.getUint16();if(e!==a){l=!1;break}const n=[];for(c=0;c=32768){l=!1;break}n.push(e)}if(!l)break;const h=[],u=[];for(;t.pos65535)throw new FormatError("Max size of CID is 65,535");let n=-1;t?n=a:void 0!==e[a]&&(n=e[a]);n>=0&&n>>0;let h=!1;if(o?.platformId!==n||o?.encodingId!==i){if(0!==n||0!==i&&1!==i&&3!==i)if(1===n&&0===i)h=!0;else if(3!==n||1!==i||!a&&o){if(r&&3===n&&0===i){h=!0;let r=!0;if(e>3;e.push(a);r=Math.max(a,r)}const a=[];for(let e=0;e<=r;e++)a.push({firstCode:t.getUint16(),entryCount:t.getUint16(),idDelta:signedInt16(t.getByte(),t.getByte()),idRangePos:t.pos+t.getUint16()});for(let r=0;r<256;r++)if(0===e[r]){t.pos=a[0].idRangePos+2*r;f=t.getUint16();u.push({charCode:r,glyphId:f})}else{const n=a[e[r]];for(d=0;d>1;t.skip(6);const r=[];let a;for(a=0;a>1)-(e-a);n.offsetIndex=s;o=Math.max(o,s+n.end-n.start+1)}else n.offsetIndex=-1}const c=[];for(d=0;d>>0;for(d=0;d>>0,r=t.getInt32()>>>0;let a=t.getInt32()>>>0;for(let t=e;t<=r;t++)u.push({charCode:t,glyphId:a++})}}}u.sort(((e,t)=>e.charCode-t.charCode));const g=[],p=new Set;for(const e of u){const{charCode:t}=e;if(!p.has(t)){p.add(t);g.push(e)}}return{platformId:o.platformId,encodingId:o.encodingId,mappings:g,hasShortCmap:h}}(s.cmap,t,this.isSymbolicFont,r.hasEncoding),a=e.platformId,n=e.encodingId,i=e.mappings;let o=[],c=!1;!r.hasEncoding||"MacRomanEncoding"!==r.baseEncodingName&&"WinAnsiEncoding"!==r.baseEncodingName||(o=getEncoding(r.baseEncodingName));if(r.hasEncoding&&!this.isSymbolicFont&&(3===a&&1===n||1===a&&0===n)){const e=mn();for(let t=0;t<256;t++){let s;s=void 0!==this.differences[t]?this.differences[t]:o.length&&""!==o[t]?o[t]:dn[t];if(!s)continue;const c=recoverGlyphName(s,e);let l;3===a&&1===n?l=e[c]:1===a&&0===n&&(l=un.indexOf(c));if(void 0===l){if(!r.glyphNames&&r.hasIncludedToUnicodeMap&&!(this.toUnicode instanceof IdentityToUnicodeMap)){const e=this.toUnicode.get(t);e&&(l=e.codePointAt(0))}if(void 0===l)continue}for(const e of i)if(e.charCode===l){w[t]=e.glyphId;break}}}else if(0===a){for(const e of i)w[e.charCode]=e.glyphId;c=!0}else if(3===a&&0===n)for(const e of i){let t=e.charCode;t>=61440&&t<=61695&&(t&=255);w[t]=e.glyphId}else for(const e of i)w[e.charCode]=e.glyphId;if(r.glyphNames&&(o.length||this.differences.length))for(let e=0;e<256;++e){if(!c&&void 0!==w[e])continue;const t=this.differences[e]||o[e];if(!t)continue;const a=r.glyphNames.indexOf(t);a>0&&hasGlyph(a)&&(w[e]=a)}}0===w.length&&(w[0]=0);let v=d-1;f||(v=0);if(!r.cssFontInfo){const e=adjustMapping(w,hasGlyph,v,this.toUnicode);this.toFontChar=e.toFontChar;s.cmap={tag:"cmap",data:createCmapTable(e.charCodeToGlyphId,e.toUnicodeExtraMap,d)};s["OS/2"]&&function validateOS2Table(e,t){t.pos=(t.start||0)+e.offset;const r=t.getUint16();t.skip(60);const a=t.getUint16();if(r<4&&768&a)return!1;if(t.getUint16()>t.getUint16())return!1;t.skip(6);if(0===t.getUint16())return!1;e.data[8]=e.data[9]=0;return!0}(s["OS/2"],t)||(s["OS/2"]={tag:"OS/2",data:createOS2Table(r,e.charCodeToGlyphId,y)})}if(!l)try{c=new Stream(s["CFF "].data);o=new CFFParser(c,r,Sn).parse();o.duplicateFirstGlyph();const e=new CFFCompiler(o);s["CFF "].data=e.compile()}catch{warn("Failed to compile font "+r.loadedName)}if(s.name){const[t,a]=readNameTable(s.name);s.name.data=createNameTable(e,t);this.psName=t[0][6]||null;r.composite||function adjustTrueTypeToUnicode(e,t,r){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(e.hasEncoding)return;if(e.toUnicode instanceof IdentityToUnicodeMap)return;if(!t)return;if(0===r.length)return;if(e.defaultEncoding===fn)return;for(const e of r)if(!isWinNameRecord(e))return;const a=fn,n=[],i=mn();for(const e in a){const t=a[e];if(""===t)continue;const r=i[t];void 0!==r&&(n[e]=String.fromCharCode(r))}n.length>0&&e.toUnicode.amend(n)}(r,this.isSymbolicFont,a)}else s.name={tag:"name",data:createNameTable(this.name)};const x=new OpenTypeFileBuilder(i.version);for(const e in s)x.addTable(e,s[e].data);return x.toArray()}convert(e,t,r){r.fixedPitch=!1;r.builtInEncoding&&function adjustType1ToUnicode(e,t){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(t===e.defaultEncoding)return;if(e.toUnicode instanceof IdentityToUnicodeMap)return;const r=[],a=mn();for(const n in t){if(e.hasEncoding&&(e.baseEncodingName||void 0!==e.differences[n]))continue;const i=getUnicodeForGlyph(t[n],a);-1!==i&&(r[n]=String.fromCharCode(i))}r.length>0&&e.toUnicode.amend(r)}(r,r.builtInEncoding);let a=1;t instanceof CFFFont&&(a=t.numGlyphs-1);const i=t.getGlyphMapping(r);let s=null,o=i,c=null;if(!r.cssFontInfo){s=adjustMapping(i,t.hasGlyphId.bind(t),a,this.toUnicode);this.toFontChar=s.toFontChar;o=s.charCodeToGlyphId;c=s.toUnicodeExtraMap}const l=t.numGlyphs;function getCharCodes(e,t){let r=null;for(const a in e)t===e[a]&&(r||=[]).push(0|a);return r}function createCharCode(e,t){for(const r in e)if(t===e[r])return 0|r;s.charCodeToGlyphId[s.nextAvailableFontCharCode]=t;return s.nextAvailableFontCharCode++}const h=t.seacs;if(s&&h?.length){const e=r.fontMatrix||n,a=t.getCharset(),o=Object.create(null);for(let t in h){t|=0;const r=h[t],n=dn[r[2]],c=dn[r[3]],l=a.indexOf(n),u=a.indexOf(c);if(l<0||u<0)continue;const d={x:r[0]*e[0]+r[1]*e[2]+e[4],y:r[0]*e[1]+r[1]*e[3]+e[5]},f=getCharCodes(i,t);if(f)for(const e of f){const t=s.charCodeToGlyphId,r=createCharCode(t,l),a=createCharCode(t,u);o[e]={baseFontCharCode:r,accentFontCharCode:a,accentOffset:d}}}r.seacMap=o}const u=r.fontMatrix?1/Math.max(...r.fontMatrix.slice(0,4).map(Math.abs)):1e3,d=new OpenTypeFileBuilder("OTTO");d.addTable("CFF ",t.data);d.addTable("OS/2",createOS2Table(r,o));d.addTable("cmap",createCmapTable(o,c,l));d.addTable("head","\0\0\0\0\0\0\0\0\0\0_<õ\0\0"+safeString16(u)+"\0\0\0\0ž\v~'\0\0\0\0ž\v~'\0\0"+safeString16(r.descent)+"ÿ"+safeString16(r.ascent)+string16(r.italicAngle?2:0)+"\0\0\0\0\0\0\0");d.addTable("hhea","\0\0\0"+safeString16(r.ascent)+safeString16(r.descent)+"\0\0ÿÿ\0\0\0\0\0\0"+safeString16(r.capHeight)+safeString16(Math.tan(r.italicAngle)*r.xHeight)+"\0\0\0\0\0\0\0\0\0\0\0\0"+string16(l));d.addTable("hmtx",function fontFieldsHmtx(){const e=t.charstrings,r=t.cff?t.cff.widths:null;let a="\0\0\0\0";for(let t=1,n=l;t1&&void 0!==arguments[1]&&arguments[1],i=this._glyphCache[e];if(i?.isSpace===n)return i;let s=e;if(this.cMap?.contains(e)){s=this.cMap.lookup(e);"string"==typeof s&&(s=convertCidString(e,s))}r=this.widths[s];"number"!=typeof r&&(r=this.defaultWidth);const o=this.vmetrics?.[s];let c=this.toUnicode.get(e)||e;"number"==typeof c&&(c=String.fromCharCode(c));let l=void 0!==this.toFontChar[e];t=this.toFontChar[e]||e;if(this.missingFile){const a=this.differences[e]||this.defaultEncoding[e];if((".notdef"===a||""===a)&&"Type1"===this.type){t=32;if(""===a){r||=this._spaceWidth;c=String.fromCharCode(t)}}t=function mapSpecialUnicodeValues(e){return e>=65520&&e<=65535?0:e>=62976&&e<=63743?yn()[e]||e:173===e?45:e}(t)}this.isType3Font&&(a=t);let h=null;if(this.seacMap?.[e]){l=!0;const r=this.seacMap[e];t=r.baseFontCharCode;h={fontChar:String.fromCodePoint(r.accentFontCharCode),offset:r.accentOffset}}let u="";"number"==typeof t&&(t<=1114111?u=String.fromCodePoint(t):warn(`charToGlyph - invalid fontCharCode: ${t}`));if(this.missingFile&&this.vertical&&1===u.length){const e=Tn()[u.charCodeAt(0)];e&&(u=c=String.fromCharCode(e))}i=new fonts_Glyph(e,u,c,h,r,o,a,n,l);return this._glyphCache[e]=i}charsToGlyphs(e){let t=this._charsCache[e];if(t)return t;t=[];if(this.cMap){const r=Object.create(null),a=e.length;let n=0;for(;nt.length%2==1,a=this.toUnicode instanceof IdentityToUnicodeMap?e=>this.toUnicode.charCodeOf(e):e=>this.toUnicode.charCodeOf(String.fromCodePoint(e));for(let n=0,i=e.length;n55295&&(i<57344||i>65533)&&n++;if(this.toUnicode){const e=a(i);if(-1!==e){if(hasCurrentBufErrors()){t.push(r.join(""));r.length=0}for(let t=(this.cMap?this.cMap.getCharCodeLength(e):1)-1;t>=0;t--)r.push(String.fromCharCode(e>>8*t&255));continue}}if(!hasCurrentBufErrors()){t.push(r.join(""));r.length=0}r.push(String.fromCodePoint(i))}t.push(r.join(""));return t}}class ErrorFont{constructor(e){this.error=e;this.loadedName="g_font_error";this.missingFile=!0}charsToGlyphs(){return[]}encodeString(e){return[e]}exportData(){return{error:this.error}}}function pattern_defineProperty(e,t,r){return(t=function pattern_toPropertyKey(e){var t=function pattern_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const hi=2,ui=3,di=4,fi=5,gi=6,pi=7;class Pattern{constructor(){unreachable("Cannot initialize Pattern.")}static parseShading(e,t,r,a,n,i){const s=e instanceof BaseStream?e.dict:e,o=s.get("ShadingType");try{switch(o){case hi:case ui:return new RadialAxialShading(s,t,r,a,n,i);case di:case fi:case gi:case pi:return new MeshShading(e,t,r,a,n,i);default:throw new FormatError("Unsupported ShadingType: "+o)}}catch(e){if(e instanceof MissingDataException)throw e;warn(e);return new DummyShading}}}class BaseShading{getIR(){unreachable("Abstract method `getIR` called.")}}pattern_defineProperty(BaseShading,"SMALL_NUMBER",1e-6);class RadialAxialShading extends BaseShading{constructor(e,t,r,a,n,i){super();this.shadingType=e.get("ShadingType");let s=0;this.shadingType===hi?s=4:this.shadingType===ui&&(s=6);this.coordsArr=e.getArray("Coords");if(!isNumberArray(this.coordsArr,s))throw new FormatError("RadialAxialShading: Invalid /Coords array.");const o=ColorSpaceUtils.parse({cs:e.getRaw("CS")||e.getRaw("ColorSpace"),xref:t,resources:r,pdfFunctionFactory:a,globalColorSpaceCache:n,localColorSpaceCache:i});this.bbox=lookupNormalRect(e.getArray("BBox"),null);let c=0,l=1;const h=e.getArray("Domain");isNumberArray(h,2)&&([c,l]=h);let u=!1,d=!1;const f=e.getArray("Extend");(function isBooleanArray(e,t){return Array.isArray(e)&&(null===t||e.length===t)&&e.every((e=>"boolean"==typeof e))})(f,2)&&([u,d]=f);if(!(this.shadingType!==ui||u&&d)){const[e,t,r,a,n,i]=this.coordsArr,s=Math.hypot(e-a,t-n);r<=i+s&&i<=r+s&&warn("Unsupported radial gradient.")}this.extendStart=u;this.extendEnd=d;const g=e.getRaw("Function"),p=a.create(g,!0),m=(l-c)/840,b=this.colorStops=[];if(c>=l||m<=0){info("Bad shading domain.");return}const y=new Float32Array(o.numComps),w=new Float32Array(1);let v=0;w[0]=c;p(w,0,y,0);const x=new Uint8ClampedArray(3);o.getRgb(y,0,x);let[S,k,C]=x;b.push([0,Util.makeHexColor(S,k,C)]);let T=1;w[0]=c+m;p(w,0,y,0);o.getRgb(y,0,x);let[_,O,M]=x,R=_-S+1,D=O-k+1,E=M-C+1,N=_-S-1,j=O-k-1,L=M-C-1;for(let e=2;e<840;e++){w[0]=c+e*m;p(w,0,y,0);o.getRgb(y,0,x);const[t,r,a]=x,n=e-v;R=Math.min(R,(t-S+1)/n);D=Math.min(D,(r-k+1)/n);E=Math.min(E,(a-C+1)/n);N=Math.max(N,(t-S-1)/n);j=Math.max(j,(r-k-1)/n);L=Math.max(L,(a-C-1)/n);if(!(N<=R&&j<=D&&L<=E)){const e=Util.makeHexColor(_,O,M);b.push([T/840,e]);R=t-_+1;D=r-O+1;E=a-M+1;N=t-_-1;j=r-O-1;L=a-M-1;v=T;S=_;k=O;C=M}T=e;_=t;O=r;M=a}b.push([1,Util.makeHexColor(_,O,M)]);let U="transparent";e.has("Background")&&(U=o.getRgbHex(e.get("Background"),0));if(!u){b.unshift([0,U]);b[1][0]+=BaseShading.SMALL_NUMBER}if(!d){b.at(-1)[0]-=BaseShading.SMALL_NUMBER;b.push([1,U])}this.colorStops=b}getIR(){const{coordsArr:e,shadingType:t}=this;let r,a,n,i,s;if(t===hi){a=[e[0],e[1]];n=[e[2],e[3]];i=null;s=null;r="axial"}else if(t===ui){a=[e[0],e[1]];n=[e[3],e[4]];i=e[2];s=e[5];r="radial"}else unreachable(`getPattern type unknown: ${t}`);return["RadialAxial",r,this.bbox,this.colorStops,a,n,i,s]}}class MeshStreamReader{constructor(e,t){this.stream=e;this.context=t;this.buffer=0;this.bufferLength=0;const r=t.numComps;this.tmpCompsBuf=new Float32Array(r);const a=t.colorSpace.numComps;this.tmpCsCompsBuf=t.colorFn?new Float32Array(a):this.tmpCompsBuf}get hasData(){if(this.stream.end)return this.stream.pos0)return!0;const e=this.stream.getByte();if(e<0)return!1;this.buffer=e;this.bufferLength=8;return!0}readBits(e){const{stream:t}=this;let{buffer:r,bufferLength:a}=this;if(32===e){if(0===a)return t.getInt32()>>>0;r=r<<24|t.getByte()<<16|t.getByte()<<8|t.getByte();const e=t.getByte();this.buffer=e&(1<>a)>>>0}if(8===e&&0===a)return t.getByte();for(;a>a}align(){this.buffer=0;this.bufferLength=0}readFlag(){return this.readBits(this.context.bitsPerFlag)}readCoordinate(){const{bitsPerCoordinate:e,decode:t}=this.context,r=this.readBits(e),a=this.readBits(e),n=e<32?1/((1<i?i:e;t=t>s?s:t;r=re*n[t])):r;let s,o=-2;const c=[];for(const[e,t]of a.map(((e,t)=>[e,t])).sort(((e,t)=>{let[r]=e,[a]=t;return r-a})))if(-1!==e)if(e===o+1){s.push(i[t]);o+=1}else{o=e;s=[i[t]];c.push(e,s)}return c}(e),r=new Dict(null);r.set("BaseFont",Name.get(e));r.set("Type",Name.get("Font"));r.set("Subtype",Name.get("CIDFontType2"));r.set("Encoding",Name.get("Identity-H"));r.set("CIDToGIDMap",Name.get("Identity"));r.set("W",t);r.set("FirstChar",t[0]);r.set("LastChar",t.at(-2)+t.at(-1).length-1);const a=new Dict(null);r.set("FontDescriptor",a);const n=new Dict(null);n.set("Ordering","Identity");n.set("Registry","Adobe");n.set("Supplement",0);r.set("CIDSystemInfo",n);return r}class PostScriptParser{constructor(e){this.lexer=e;this.operators=[];this.token=null;this.prev=null}nextToken(){this.prev=this.token;this.token=this.lexer.getToken()}accept(e){if(this.token.type===e){this.nextToken();return!0}return!1}expect(e){if(this.accept(e))return!0;throw new FormatError(`Unexpected symbol: found ${this.token.type} expected ${e}.`)}parse(){this.nextToken();this.expect(ss.LBRACE);this.parseBlock();this.expect(ss.RBRACE);return this.operators}parseBlock(){for(;;)if(this.accept(ss.NUMBER))this.operators.push(this.prev.value);else if(this.accept(ss.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(ss.LBRACE))return;this.parseCondition()}}parseCondition(){const e=this.operators.length;this.operators.push(null,null);this.parseBlock();this.expect(ss.RBRACE);if(this.accept(ss.IF)){this.operators[e]=this.operators.length;this.operators[e+1]="jz"}else{if(!this.accept(ss.LBRACE))throw new FormatError("PS Function: error parsing conditional.");{const t=this.operators.length;this.operators.push(null,null);const r=this.operators.length;this.parseBlock();this.expect(ss.RBRACE);this.expect(ss.IFELSE);this.operators[t]=this.operators.length;this.operators[t+1]="j";this.operators[e]=r;this.operators[e+1]="jz"}}}}const ss={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5};class PostScriptToken{static get opCache(){return shadow(this,"opCache",Object.create(null))}constructor(e,t){this.type=e;this.value=t}static getOperator(e){return PostScriptToken.opCache[e]||=new PostScriptToken(ss.OPERATOR,e)}static get LBRACE(){return shadow(this,"LBRACE",new PostScriptToken(ss.LBRACE,"{"))}static get RBRACE(){return shadow(this,"RBRACE",new PostScriptToken(ss.RBRACE,"}"))}static get IF(){return shadow(this,"IF",new PostScriptToken(ss.IF,"IF"))}static get IFELSE(){return shadow(this,"IFELSE",new PostScriptToken(ss.IFELSE,"IFELSE"))}}class PostScriptLexer{constructor(e){this.stream=e;this.nextChar();this.strBuf=[]}nextChar(){return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(t<0)return Ar;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!isWhiteSpace(t))break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new PostScriptToken(ss.NUMBER,this.getNumber());case 123:this.nextChar();return PostScriptToken.LBRACE;case 125:this.nextChar();return PostScriptToken.RBRACE}const r=this.strBuf;r.length=0;r[0]=String.fromCharCode(t);for(;(t=this.nextChar())>=0&&(t>=65&&t<=90||t>=97&&t<=122);)r.push(String.fromCharCode(t));const a=r.join("");switch(a.toLowerCase()){case"if":return PostScriptToken.IF;case"ifelse":return PostScriptToken.IFELSE;default:return PostScriptToken.getOperator(a)}}getNumber(){let e=this.currentChar;const t=this.strBuf;t.length=0;t[0]=String.fromCharCode(e);for(;(e=this.nextChar())>=0&&(e>=48&&e<=57||45===e||46===e);)t.push(String.fromCharCode(e));const r=parseFloat(t.join(""));if(isNaN(r))throw new FormatError(`Invalid floating point number: ${r}`);return r}}var os;function image_utils_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function image_utils_defineProperty(e,t,r){return(t=function image_utils_toPropertyKey(e){var t=function image_utils_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function image_utils_classPrivateFieldGet(e,t){return e.get(image_utils_assertClassBrand(e,t))}function _classPrivateGetter(e,t,r){return r(image_utils_assertClassBrand(e,t))}function image_utils_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}class BaseLocalCache{constructor(e){this._onlyRefs=!0===e?.onlyRefs;if(!this._onlyRefs){this._nameRefMap=new Map;this._imageMap=new Map}this._imageCache=new RefSetCache}getByName(e){this._onlyRefs&&unreachable("Should not call `getByName` method.");const t=this._nameRefMap.get(e);return t?this.getByRef(t):this._imageMap.get(e)||null}getByRef(e){return this._imageCache.get(e)||null}set(e,t,r){unreachable("Abstract method `set` called.")}}class LocalImageCache extends BaseLocalCache{set(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2?arguments[2]:void 0;if("string"!=typeof e)throw new Error('LocalImageCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;this._nameRefMap.set(e,t);this._imageCache.put(t,r)}else this._imageMap.has(e)||this._imageMap.set(e,r)}}class LocalColorSpaceCache extends BaseLocalCache{set(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2?arguments[2]:void 0;if("string"!=typeof e&&!t)throw new Error('LocalColorSpaceCache.set - expected "name" and/or "ref" argument.');if(t){if(this._imageCache.has(t))return;null!==e&&this._nameRefMap.set(e,t);this._imageCache.put(t,r)}else this._imageMap.has(e)||this._imageMap.set(e,r)}}class LocalFunctionCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(){let e=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0;if(!e)throw new Error('LocalFunctionCache.set - expected "ref" argument.');this._imageCache.has(e)||this._imageCache.put(e,t)}}class LocalGStateCache extends BaseLocalCache{set(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2?arguments[2]:void 0;if("string"!=typeof e)throw new Error('LocalGStateCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;this._nameRefMap.set(e,t);this._imageCache.put(t,r)}else this._imageMap.has(e)||this._imageMap.set(e,r)}}class LocalTilingPatternCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(){let e=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0;if(!e)throw new Error('LocalTilingPatternCache.set - expected "ref" argument.');this._imageCache.has(e)||this._imageCache.put(e,t)}}class RegionalImageCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(){let e=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0;if(!e)throw new Error('RegionalImageCache.set - expected "ref" argument.');this._imageCache.has(e)||this._imageCache.put(e,t)}}class GlobalColorSpaceCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(){let e=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0;if(!e)throw new Error('GlobalColorSpaceCache.set - expected "ref" argument.');this._imageCache.has(e)||this._imageCache.put(e,t)}clear(){this._imageCache.clear()}}var cs=new WeakMap,ls=new WeakSet;class GlobalImageCache{constructor(){!function image_utils_classPrivateMethodInitSpec(e,t){image_utils_checkPrivateRedeclaration(e,t),t.add(e)}(this,ls);!function image_utils_classPrivateFieldInitSpec(e,t,r){image_utils_checkPrivateRedeclaration(e,t),t.set(e,r)}(this,cs,new RefSet);this._refCache=new RefSetCache;this._imageCache=new RefSetCache}shouldCache(e,t){let r=this._refCache.get(e);if(!r){r=new Set;this._refCache.put(e,r)}r.add(t);return!(r.size0&&void 0!==arguments[0]&&arguments[0])){image_utils_classPrivateFieldGet(cs,this).clear();this._refCache.clear()}this._imageCache.clear()}}os=GlobalImageCache;function _get_byteSize(e){let t=0;for(const r of e._imageCache)t+=r.byteSize;return t}function _get_cacheLimitReached(e){return!(e._imageCache.size1&&void 0!==arguments[1]&&arguments[1];e instanceof Ref?t=e:e instanceof Dict?t=e.objId:e instanceof BaseStream&&(t=e.dict?.objId);if(t){const e=this._localFunctionCache.getByRef(t);if(e)return e}const n=this.xref.fetchIfRef(e);if(Array.isArray(n)){if(!a)throw new Error('PDFFunctionFactory.create - expected "parseArray" argument.');r=PDFFunction.parseArray(this,n)}else r=PDFFunction.parse(this,n);t&&this._localFunctionCache.set(null,t,r);return r}get _localFunctionCache(){return shadow(this,"_localFunctionCache",new LocalFunctionCache)}}function toNumberArray(e){return Array.isArray(e)?isNumberArray(e,null)?e:e.map((e=>+e)):null}class PDFFunction{static getSampleArray(e,t,r,a){let n,i,s=1;for(n=0,i=e.length;n>c)*h;l&=(1<0&&(d=i[u-1]);let f=r[1];u>1,c=a.length>>1,l=new PostScriptEvaluator(s),h=Object.create(null);let u=8192;const d=new Float32Array(c);return function constructPostScriptFn(e,t,r,a){let i,s,f="";const g=d;for(i=0;ie&&(s=e)}m[i]=s}if(u>0){u--;h[f]=m}r.set(m,a)}}}function isPDFFunction(e){let t;if(e instanceof Dict)t=e;else{if(!(e instanceof BaseStream))return!1;t=e.dict}return t.has("FunctionType")}class PostScriptStack{constructor(e){this.stack=e?Array.from(e):[]}push(e){if(this.stack.length>=PostScriptStack.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");this.stack.push(e)}pop(){if(this.stack.length<=0)throw new Error("PostScript function stack underflow.");return this.stack.pop()}copy(e){if(this.stack.length+e>=PostScriptStack.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");const t=this.stack;for(let r=t.length-e,a=e-1;a>=0;a--,r++)t.push(t[r])}index(e){this.push(this.stack[this.stack.length-e-1])}roll(e,t){const r=this.stack,a=r.length-e,n=r.length-1,i=a+(t-Math.floor(t/e)*e);for(let e=a,t=n;e0?t.push(s<>o);break;case"ceiling":s=t.pop();t.push(Math.ceil(s));break;case"copy":s=t.pop();t.copy(s);break;case"cos":s=t.pop();t.push(Math.cos(s%360/180*Math.PI));break;case"cvi":s=0|t.pop();t.push(s);break;case"cvr":break;case"div":o=t.pop();s=t.pop();t.push(s/o);break;case"dup":t.copy(1);break;case"eq":o=t.pop();s=t.pop();t.push(s===o);break;case"exch":t.roll(2,1);break;case"exp":o=t.pop();s=t.pop();t.push(s**o);break;case"false":t.push(!1);break;case"floor":s=t.pop();t.push(Math.floor(s));break;case"ge":o=t.pop();s=t.pop();t.push(s>=o);break;case"gt":o=t.pop();s=t.pop();t.push(s>o);break;case"idiv":o=t.pop();s=t.pop();t.push(s/o|0);break;case"index":s=t.pop();t.index(s);break;case"le":o=t.pop();s=t.pop();t.push(s<=o);break;case"ln":s=t.pop();t.push(Math.log(s));break;case"log":s=t.pop();t.push(Math.log10(s));break;case"lt":o=t.pop();s=t.pop();t.push(s=t?new AstLiteral(t):e.max<=t?e:new AstMin(e,t)}class PostScriptCompiler{compile(e,t,r){const a=[],n=[],i=t.length>>1,s=r.length>>1;let o,c,l,h,u,d,f,g,p=0;for(let e=0;et.min){o.unshift("Math.max(",i,", ");o.push(")")}if(s2&&void 0!==arguments[2]&&arguments[2]?r="ttb":t||(r="rtl");return{str:e,dir:r}}const ds=[],fs=[];function bidi(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=!0;const n=e.length;if(0===n||r)return createBidiText(e,a,r);ds.length=n;fs.length=n;let i,s,o=0;for(i=0;i4){a=!0;t=0}else{a=!1;t=1}const c=[];for(i=0;i=0&&"ET"===fs[e];--e)fs[e]="EN";for(let e=i+1;e0&&(t=fs[i-1]);let r=u;e+1g&&isOdd(g)&&(m=g)}for(g=p;g>=m;--g){let e=-1;for(i=0,s=c.length;i=0){reverseValues(ds,e,i);e=-1}}else e<0&&(e=i);e>=0&&reverseValues(ds,e,c.length)}for(i=0,s=ds.length;i"!==e||(ds[i]="")}return createBidiText(ds.join(""),a)}const gs={style:"normal",weight:"normal"},ps={style:"normal",weight:"bold"},ms={style:"italic",weight:"normal"},bs={style:"italic",weight:"bold"},ys=new Map([["Times-Roman",{local:["Times New Roman","Times-Roman","Times","Liberation Serif","Nimbus Roman","Nimbus Roman L","Tinos","Thorndale","TeX Gyre Termes","FreeSerif","Linux Libertine O","Libertinus Serif","DejaVu Serif","Bitstream Vera Serif","Ubuntu"],style:gs,ultimate:"serif"}],["Times-Bold",{alias:"Times-Roman",style:ps,ultimate:"serif"}],["Times-Italic",{alias:"Times-Roman",style:ms,ultimate:"serif"}],["Times-BoldItalic",{alias:"Times-Roman",style:bs,ultimate:"serif"}],["Helvetica",{local:["Helvetica","Helvetica Neue","Arial","Arial Nova","Liberation Sans","Arimo","Nimbus Sans","Nimbus Sans L","A030","TeX Gyre Heros","FreeSans","DejaVu Sans","Albany","Bitstream Vera Sans","Arial Unicode MS","Microsoft Sans Serif","Apple Symbols","Cantarell"],path:"LiberationSans-Regular.ttf",style:gs,ultimate:"sans-serif"}],["Helvetica-Bold",{alias:"Helvetica",path:"LiberationSans-Bold.ttf",style:ps,ultimate:"sans-serif"}],["Helvetica-Oblique",{alias:"Helvetica",path:"LiberationSans-Italic.ttf",style:ms,ultimate:"sans-serif"}],["Helvetica-BoldOblique",{alias:"Helvetica",path:"LiberationSans-BoldItalic.ttf",style:bs,ultimate:"sans-serif"}],["Courier",{local:["Courier","Courier New","Liberation Mono","Nimbus Mono","Nimbus Mono L","Cousine","Cumberland","TeX Gyre Cursor","FreeMono","Linux Libertine Mono O","Libertinus Mono"],style:gs,ultimate:"monospace"}],["Courier-Bold",{alias:"Courier",style:ps,ultimate:"monospace"}],["Courier-Oblique",{alias:"Courier",style:ms,ultimate:"monospace"}],["Courier-BoldOblique",{alias:"Courier",style:bs,ultimate:"monospace"}],["ArialBlack",{local:["Arial Black"],style:{style:"normal",weight:"900"},fallback:"Helvetica-Bold"}],["ArialBlack-Bold",{alias:"ArialBlack"}],["ArialBlack-Italic",{alias:"ArialBlack",style:{style:"italic",weight:"900"},fallback:"Helvetica-BoldOblique"}],["ArialBlack-BoldItalic",{alias:"ArialBlack-Italic"}],["ArialNarrow",{local:["Arial Narrow","Liberation Sans Narrow","Helvetica Condensed","Nimbus Sans Narrow","TeX Gyre Heros Cn"],style:gs,fallback:"Helvetica"}],["ArialNarrow-Bold",{alias:"ArialNarrow",style:ps,fallback:"Helvetica-Bold"}],["ArialNarrow-Italic",{alias:"ArialNarrow",style:ms,fallback:"Helvetica-Oblique"}],["ArialNarrow-BoldItalic",{alias:"ArialNarrow",style:bs,fallback:"Helvetica-BoldOblique"}],["Calibri",{local:["Calibri","Carlito"],style:gs,fallback:"Helvetica"}],["Calibri-Bold",{alias:"Calibri",style:ps,fallback:"Helvetica-Bold"}],["Calibri-Italic",{alias:"Calibri",style:ms,fallback:"Helvetica-Oblique"}],["Calibri-BoldItalic",{alias:"Calibri",style:bs,fallback:"Helvetica-BoldOblique"}],["Wingdings",{local:["Wingdings","URW Dingbats"],style:gs}],["Wingdings-Regular",{alias:"Wingdings"}],["Wingdings-Bold",{alias:"Wingdings"}]]),ws=new Map([["Arial-Black","ArialBlack"]]);function getFamilyName(e){const t=new Set(["thin","extralight","ultralight","demilight","semilight","light","book","regular","normal","medium","demibold","semibold","bold","extrabold","ultrabold","black","heavy","extrablack","ultrablack","roman","italic","oblique","ultracondensed","extracondensed","condensed","semicondensed","normal","semiexpanded","expanded","extraexpanded","ultraexpanded","bolditalic"]);return e.split(/[- ,+]+/g).filter((e=>!t.has(e.toLowerCase()))).join(" ")}function generateFont(e,t,r){let{alias:a,local:n,path:i,fallback:s,style:o,ultimate:c}=e,l=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],h=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],u=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"";const d={style:null,ultimate:null};if(n){const e=u?` ${u}`:"";for(const r of n)t.push(`local(${r}${e})`)}if(a){const e=ys.get(a),n=u||function getStyleToAppend(e){switch(e){case ps:return"Bold";case ms:return"Italic";case bs:return"Bold Italic";default:if("bold"===e?.weight)return"Bold";if("italic"===e?.style)return"Italic"}return""}(o);Object.assign(d,generateFont(e,t,r,l&&!s,h&&!i,n))}o&&(d.style=o);c&&(d.ultimate=c);if(l&&s){const e=ys.get(s),{ultimate:a}=generateFont(e,t,r,l,h&&!i,u);d.ultimate||=a}h&&i&&r&&t.push(`url(${r}${i})`);return d}function getFontSubstitution(e,t,r,a,n,i){if(a.startsWith("InvalidPDFjsFont_"))return null;"TrueType"!==i&&"Type1"!==i||!/^[A-Z]{6}\+/.test(a)||(a=a.slice(7));const s=a=normalizeFontName(a);let o=e.get(s);if(o)return o;let c=ys.get(a);if(!c)for(const[e,t]of ws)if(a.startsWith(e)){a=`${t}${a.substring(e.length)}`;c=ys.get(a);break}let l=!1;if(!c){c=ys.get(n);l=!0}const h=`${t.getDocId()}_s${t.createFontId()}`;if(!c){if(!validateFontName(a)){warn(`Cannot substitute the font because of its name: ${a}`);e.set(s,null);return null}const t=/bold/gi.test(a),r=/oblique|italic/gi.test(a),n=t&&r&&bs||t&&ps||r&&ms||gs;o={css:`"${getFamilyName(a)}",${h}`,guessFallback:!0,loadedName:h,baseFontName:a,src:`local(${a})`,style:n};e.set(s,o);return o}const u=[];l&&validateFontName(a)&&u.push(`local(${a})`);const{style:d,ultimate:f}=generateFont(c,u,r),g=null===f,p=g?"":`,${f}`;o={css:`"${getFamilyName(a)}",${h}${p}`,guessFallback:g,loadedName:h,baseFontName:a,src:u.join(","),style:d};e.set(s,o);return o}const vs=3285377520,xs=4294901760,Ss=65535;class MurmurHash3_64{constructor(e){this.h1=e?4294967295&e:vs;this.h2=e?4294967295&e:vs}update(e){let t,r;if("string"==typeof e){t=new Uint8Array(2*e.length);r=0;for(let a=0,n=e.length;a>>8;t[r++]=255&n}}}else{if(!ArrayBuffer.isView(e))throw new Error("Invalid data format, must be a string or TypedArray.");t=e.slice();r=t.byteLength}const a=r>>2,n=r-4*a,i=new Uint32Array(t.buffer,0,a);let s=0,o=0,c=this.h1,l=this.h2;const h=3432918353,u=461845907,d=11601,f=13715;for(let e=0;e>>17;s=s*u&xs|s*f&Ss;c^=s;c=c<<13|c>>>19;c=5*c+3864292196}else{o=i[e];o=o*h&xs|o*d&Ss;o=o<<15|o>>>17;o=o*u&xs|o*f&Ss;l^=o;l=l<<13|l>>>19;l=5*l+3864292196}s=0;switch(n){case 3:s^=t[4*a+2]<<16;case 2:s^=t[4*a+1]<<8;case 1:s^=t[4*a];s=s*h&xs|s*d&Ss;s=s<<15|s>>>17;s=s*u&xs|s*f&Ss;1&a?c^=s:l^=s}this.h1=c;this.h2=l}hexdigest(){let e=this.h1,t=this.h2;e^=t>>>1;e=3981806797*e&xs|36045*e&Ss;t=4283543511*t&xs|(2950163797*(t<<16|e>>>16)&xs)>>>16;e^=t>>>1;e=444984403*e&xs|60499*e&Ss;t=3301882366*t&xs|(3120437893*(t<<16|e>>>16)&xs)>>>16;e^=t>>>1;return(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}}function image_classPrivateMethodInitSpec(e,t){(function image_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function image_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}function resizeImageMask(e,t,r,a,n,i){const s=n*i;let o;o=t<=8?new Uint8Array(s):t<=16?new Uint16Array(s):new Uint32Array(s);const c=r/n,l=a/i;let h,u,d,f,g=0;const p=new Uint16Array(n),m=r;for(h=0;h0&&Number.isInteger(a.height)&&a.height>0&&(a.width!==g||a.height!==p)){warn("PDFImage - using the Width/Height of the image data, rather than the image dictionary.");g=a.width;p=a.height}else{const e="number"==typeof g&&g>0,t="number"==typeof p&&p>0;if(!e||!t){if(!a.fallbackDims)throw new FormatError(`Invalid image width: ${g} or height: ${p}`);warn("PDFImage - using the Width/Height of the parent image, for SMask/Mask data.");e||(g=a.fallbackDims.width);t||(p=a.fallbackDims.height)}}this.width=g;this.height=p;this.interpolate=u.get("I","Interpolate");this.imageMask=u.get("IM","ImageMask")||!1;this.matte=u.get("Matte")||!1;let m=a.bitsPerComponent;if(!m){m=u.get("BPC","BitsPerComponent");if(!m){if(!this.imageMask)throw new FormatError(`Bits per component missing in image: ${this.imageMask}`);m=1}}this.bpc=m;if(!this.imageMask){let e=u.getRaw("CS")||u.getRaw("ColorSpace");const i=!!e;if(i)this.jpxDecoderOptions?.smaskInData&&(e=Name.get("DeviceRGBA"));else if(this.jpxDecoderOptions)e=Name.get("DeviceRGBA");else switch(a.numComps){case 1:e=Name.get("DeviceGray");break;case 3:e=Name.get("DeviceRGB");break;case 4:e=Name.get("DeviceCMYK");break;default:throw new Error(`Images with ${a.numComps} color components not supported.`)}this.colorSpace=ColorSpaceUtils.parse({cs:e,xref:t,resources:n?r:null,pdfFunctionFactory:c,globalColorSpaceCache:l,localColorSpaceCache:h});this.numComps=this.colorSpace.numComps;if(this.jpxDecoderOptions){this.jpxDecoderOptions.numComponents=i?this.numComps:0;this.jpxDecoderOptions.isIndexedColormap="Indexed"===this.colorSpace.name}}this.decode=u.getArray("D","Decode");this.needsDecode=!1;if(this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode,m)||o&&!ColorSpace.isDefaultDecode(this.decode,1))){this.needsDecode=!0;const e=(1<0,l=(n+7>>3)*i,h=t.getBytes(l),u=1===n&&1===i&&c===(0===h.length||!!(128&h[0]));if(u)return{isSingleOpaquePixel:u};if(r){if(ImageResizer.needsToBeResized(n,i)){const e=new Uint8ClampedArray(n*i*4);convertBlackAndWhiteToRGBA({src:h,dest:e,width:n,height:i,nonBlackColor:0,inverseDecode:c});return ImageResizer.createImage({kind:O,data:e,width:n,height:i,interpolate:s})}const e=new OffscreenCanvas(n,i),t=e.getContext("2d"),r=t.createImageData(n,i);convertBlackAndWhiteToRGBA({src:h,dest:r.data,width:n,height:i,nonBlackColor:0,inverseDecode:c});t.putImageData(r,0,0);return{data:null,width:n,height:i,interpolate:s,bitmap:e.transferToImageBitmap()}}const d=h.byteLength;let f;if(t instanceof DecodeStream&&(!c||l===d))f=h;else if(c){f=new Uint8Array(l);f.set(h);f.fill(255,d)}else f=new Uint8Array(h);if(c)for(let e=0;e>7&1;s[d+1]=u>>6&1;s[d+2]=u>>5&1;s[d+3]=u>>4&1;s[d+4]=u>>3&1;s[d+5]=u>>2&1;s[d+6]=u>>1&1;s[d+7]=1&u;d+=8}if(d>=1}}}}else{let r=0;u=0;for(d=0,h=i;d>a;n<0?n=0:n>l&&(n=l);s[d]=n;u&=(1<s[a+1]){t=255;break}}o[h]=t}}}if(o)for(h=0,d=3,u=t*a;h0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=this.drawWidth,a=this.drawHeight,n={width:r,height:a,interpolate:this.interpolate,kind:0,data:null},i=this.numComps,s=this.width,o=this.height,c=this.bpc,l=s*i*c+7>>3,h=t&&ImageResizer.needsToBeResized(r,a);if(!this.smask&&!this.mask&&"DeviceRGBA"===this.colorSpace.name){n.kind=O;const e=n.data=await this.getImageBytes(o*s*4,{});return t?h?ImageResizer.createImage(n,!1):this.createBitmap(O,r,a,e):n}if(!e){let e;"DeviceGray"===this.colorSpace.name&&1===c?e=T:"DeviceRGB"!==this.colorSpace.name||8!==c||this.needsDecode||(e=_);if(e&&!this.smask&&!this.mask&&r===s&&a===o){const i=await image_assertClassBrand(ks,this,_getImage).call(this,s,o);if(i)return i;const c=await this.getImageBytes(o*l,{});if(t)return h?ImageResizer.createImage({data:c,kind:e,width:r,height:a,interpolate:this.interpolate},this.needsDecode):this.createBitmap(e,s,o,c);n.kind=e;n.data=c;if(this.needsDecode){assert(e===T,"PDFImage.createImageData: The image must be grayscale.");const t=n.data;for(let e=0,r=t.length;e>3,s=await this.getImageBytes(a*i,{internal:!0}),o=this.getComponents(s);let c,l;if(1===n){l=r*a;if(this.needsDecode)for(c=0;c1&&void 0!==arguments[1]&&arguments[1];if(Array.isArray(e)){for(const t of e){const e=normalizeBlendMode(t,!0);if(e)return e}warn(`Unsupported blend mode Array: ${e}`);return"source-over"}if(!(e instanceof Name))return t?null:"source-over";switch(e.name){case"Normal":case"Compatible":return"source-over";case"Multiply":return"multiply";case"Screen":return"screen";case"Overlay":return"overlay";case"Darken":return"darken";case"Lighten":return"lighten";case"ColorDodge":return"color-dodge";case"ColorBurn":return"color-burn";case"HardLight":return"hard-light";case"SoftLight":return"soft-light";case"Difference":return"difference";case"Exclusion":return"exclusion";case"Hue":return"hue";case"Saturation":return"saturation";case"Color":return"color";case"Luminosity":return"luminosity"}if(t)return null;warn(`Unsupported blend mode: ${e.name}`);return"source-over"}function addCachedImageOps(e,t){let{objId:r,fn:a,args:n,optionalContent:i,hasMask:s}=t;r&&e.addDependency(r);e.addImageOps(a,n,i,s);a===Qt&&n[0]?.count>0&&n[0].count++}class TimeSlotManager{constructor(){this.reset()}check(){if(++this.checked0&&void 0!==arguments[0]?arguments[0]:null;const t=Object.create(this);t.options=Object.assign(Object.create(null),this.options,e);return t}hasBlendModes(e,t){if(!(e instanceof Dict))return!1;if(e.objId&&t.has(e.objId))return!1;const r=new RefSet(t);e.objId&&r.put(e.objId);const a=[e],n=this.xref;for(;a.length;){const e=a.shift(),t=e.get("ExtGState");if(t instanceof Dict)for(let e of t.getRawValues()){if(e instanceof Ref){if(r.has(e))continue;try{e=n.fetch(e)}catch(t){r.put(e);info(`hasBlendModes - ignoring ExtGState: "${t}".`);continue}}if(!(e instanceof Dict))continue;e.objId&&r.put(e.objId);const t=e.get("BM");if(t instanceof Name){if("Normal"!==t.name)return!0}else if(void 0!==t&&Array.isArray(t))for(const e of t)if(e instanceof Name&&"Normal"!==e.name)return!0}const i=e.get("XObject");if(i instanceof Dict)for(let e of i.getRawValues()){if(e instanceof Ref){if(r.has(e))continue;try{e=n.fetch(e)}catch(t){r.put(e);info(`hasBlendModes - ignoring XObject: "${t}".`);continue}}if(!(e instanceof BaseStream))continue;e.dict.objId&&r.put(e.dict.objId);const t=e.dict.get("Resources");if(t instanceof Dict&&(!t.objId||!r.has(t.objId))){a.push(t);t.objId&&r.put(t.objId)}}}for(const e of r)t.put(e);return!1}async fetchBuiltInCMap(e){const t=this.builtInCMapCache.get(e);if(t)return t;let r;r=this.options.useWorkerFetch?{cMapData:await fetchBinaryData(`${this.options.cMapUrl}${e}.bcmap`),isCompressed:!0}:await this.handler.sendWithPromise("FetchBinaryData",{type:"cMapReaderFactory",name:e});this.builtInCMapCache.set(e,r);return r}async fetchStandardFontData(e){const t=this.standardFontDataCache.get(e);if(t)return new Stream(t);if(this.options.useSystemFonts&&"Symbol"!==e&&"ZapfDingbats"!==e)return null;const r=Un()[e];let a;try{a=this.options.useWorkerFetch?await fetchBinaryData(`${this.options.standardFontDataUrl}${r}`):await this.handler.sendWithPromise("FetchBinaryData",{type:"standardFontDataFactory",filename:r})}catch(e){warn(e);return null}this.standardFontDataCache.set(e,a);return new Stream(a)}async buildFormXObject(e,t,r,a,n,i,s,o){const{dict:c}=t,l=lookupMatrix(c.getArray("Matrix"),null),h=lookupNormalRect(c.getArray("BBox"),null);let u,d;c.has("OC")&&(u=await this.parseMarkedContentProps(c.get("OC"),e));void 0!==u&&a.addOp(Ht,["OC",u]);const f=c.get("Group");if(f){d={matrix:l,bbox:h,smask:r,isolated:!1,knockout:!1};let t=null;if(isName(f.get("S"),"Transparency")){d.isolated=f.get("I")||!1;d.knockout=f.get("K")||!1;if(f.has("CS")){const r=this._getColorSpace(f.getRaw("CS"),e,s);t=r instanceof ColorSpace?r:await this._handleColorSpace(r)}}if(r?.backdrop){t||=ColorSpaceUtils.rgb;r.backdrop=t.getRgbHex(r.backdrop,0)}a.addOp(Kt,[d])}const g=[l&&new Float32Array(l),!f&&h&&new Float32Array(h)||null];a.addOp($t,g);const p=c.get("Resources");await this.getOperatorList({stream:t,task:n,resources:p instanceof Dict?p:e,operatorList:a,initialState:i,prevRefs:o});a.addOp(Vt,[]);f&&a.addOp(Jt,[d]);void 0!==u&&a.addOp(Wt,[])}_sendImgData(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const a=t?[t.bitmap||t.data.buffer]:null;return this.parsingType3Font||r?this.handler.send("commonobj",[e,"Image",t],a):this.handler.send("obj",[e,this.pageIndex,"Image",t],a)}async buildPaintImageXObject(e){let{resources:t,image:r,isInline:a=!1,operatorList:n,cacheKey:i,localImageCache:s,localColorSpaceCache:o}=e;const{maxImageSize:c,ignoreErrors:l,isOffscreenCanvasSupported:h}=this.options,{dict:u}=r,d=u.objId,f=u.get("W","Width"),g=u.get("H","Height");if(!f||"number"!=typeof f||!g||"number"!=typeof g){warn("Image dimensions are missing, or not numbers.");return}if(-1!==c&&f*g>c){const e="Image exceeded maximum allowed size and was removed.";if(!l)throw new Error(e);warn(e);return}let p;u.has("OC")&&(p=await this.parseMarkedContentProps(u.get("OC"),t));let m,b,y;if(u.get("IM","ImageMask")||!1){m=await PDFImage.createMask({image:r,isOffscreenCanvasSupported:h&&!this.parsingType3Font});if(m.isSingleOpaquePixel){b=sr;y=[];n.addImageOps(b,y,p);if(i){const e={fn:b,args:y,optionalContent:p};s.set(i,d,e);d&&this._regionalImageCache.set(null,d,e)}return}if(this.parsingType3Font){y=function compileType3Glyph(e){let{data:t,width:r,height:a}=e;if(r>1e3||a>1e3)return null;const n=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),i=r+1,s=new Uint8Array(i*(a+1));let o,c,l;const h=r+7&-8,u=new Uint8Array(h*a);let d=0;for(const e of t){let t=128;for(;t>0;){u[d++]=e&t?0:255;t>>=1}}let f=0;d=0;if(0!==u[d]){s[0]=1;++f}for(c=1;c>2)+(u[d+1]?4:0)+(u[d-h+1]?8:0);if(n[e]){s[l+c]=n[e];++f}d++}if(u[d-h]!==u[d]){s[l+c]=u[d]?2:4;++f}if(f>1e3)return null}d=h*(a-1);l=o*i;if(0!==u[d]){s[l]=8;++f}for(c=1;c1e3)return null;const g=new Int32Array([0,i,-1,0,-i,0,0,0,1]),p=[],{a:m,b,c:y,d:w,e:v,f:x}=(new DOMMatrix).scaleSelf(1/r,-1/a).translateSelf(0,-a);for(o=0;f&&o<=a;o++){let e=o*i;const t=e+r;for(;e>4;s[e]&=l>>2|l<<2}a=e%i;n=e/i|0;p.push(dr,m*a+y*n+v,b*a+w*n+x);s[e]||--f}while(c!==e);--o}return[hr,[new Float32Array(p)],new Float32Array([0,0,r,a])]}(m);if(y){n.addImageOps(or,y,p);return}warn("Cannot compile Type3 glyph.");n.addImageOps(Qt,[m],p);return}const e=`mask_${this.idFactory.createObjId()}`;n.addDependency(e);m.dataLen=m.bitmap?m.width*m.height*4:m.data.length;this._sendImgData(e,m);b=Qt;y=[{data:e,width:m.width,height:m.height,interpolate:m.interpolate,count:1}];n.addImageOps(b,y,p);if(i){const t={objId:e,fn:b,args:y,optionalContent:p};s.set(i,d,t);d&&this._regionalImageCache.set(null,d,t)}return}const w=u.has("SMask")||u.has("Mask");if(a&&f+g<200&&!w){try{const e=new PDFImage({xref:this.xref,res:t,image:r,isInline:a,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:o});m=await e.createImageData(!0,!1);n.addImageOps(rr,[m],p)}catch(e){const t=`Unable to decode inline image: "${e}".`;if(!l)throw new Error(t);warn(t)}return}let v=`img_${this.idFactory.createObjId()}`,x=!1,S=null;if(this.parsingType3Font)v=`${this.idFactory.getDocId()}_type3_${v}`;else if(i&&d){x=this.globalImageCache.shouldCache(d,this.pageIndex);if(x){assert(!a,"Cannot cache an inline image globally.");v=`${this.idFactory.getDocId()}_${v}`}}n.addDependency(v);b=tr;y=[v,f,g];n.addImageOps(b,y,p,w);if(x){S={objId:v,fn:b,args:y,optionalContent:p,hasMask:w,byteSize:0};if(this.globalImageCache.hasDecodeFailed(d)){this.globalImageCache.setData(d,S);this._sendImgData(v,null,x);return}if(f*g>25e4||w){const e=await this.handler.sendWithPromise("commonobj",[v,"CopyLocalImage",{imageRef:d}]);if(e){this.globalImageCache.setData(d,S);this.globalImageCache.addByteSize(d,e);return}}}PDFImage.buildImage({xref:this.xref,res:t,image:r,isInline:a,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:o}).then((async e=>{m=await e.createImageData(!1,h);m.dataLen=m.bitmap?m.width*m.height*4:m.data.length;m.ref=d;x&&this.globalImageCache.addByteSize(d,m.dataLen);return this._sendImgData(v,m,x)})).catch((e=>{warn(`Unable to decode image "${v}": "${e}".`);d&&this.globalImageCache.addDecodeFailed(d);return this._sendImgData(v,null,x)}));if(i){const e={objId:v,fn:b,args:y,optionalContent:p,hasMask:w};s.set(i,d,e);if(d){this._regionalImageCache.set(null,d,e);if(x){assert(S,"The global cache-data must be available.");this.globalImageCache.setData(d,S)}}}}handleSMask(e,t,r,a,n,i,s){const o=e.get("G"),c={subtype:e.get("S").name,backdrop:e.get("BC")},l=e.get("TR");if(isPDFFunction(l)){const e=this._pdfFunctionFactory.create(l),t=new Uint8Array(256),r=new Float32Array(1);for(let a=0;a<256;a++){r[0]=a/255;e(r,0,r,0);t[a]=255*r[0]|0}c.transferMap=t}return this.buildFormXObject(t,o,c,r,a,n.state.clone({newPath:!0}),i,s)}handleTransferFunction(e){let t;if(Array.isArray(e))t=e;else{if(!isPDFFunction(e))return null;t=[e]}const r=[];let a=0,n=0;for(const e of t){const t=this.xref.fetchIfRef(e);a++;if(isName(t,"Identity")){r.push(null);continue}if(!isPDFFunction(t))return null;const i=this._pdfFunctionFactory.create(t),s=new Uint8Array(256),o=new Float32Array(1);for(let e=0;e<256;e++){o[0]=e/255;i(o,0,o,0);s[e]=255*o[0]|0}r.push(s);n++}return 1!==a&&4!==a||0===n?null:r}handleTilingType(e,t,r,a,n,i,s,o){const c=new OperatorList,l=Dict.merge({xref:this.xref,dictArray:[n.get("Resources"),r]});return this.getOperatorList({stream:a,task:s,resources:l,operatorList:c}).then((function(){const r=c.getIR(),a=getTilingPatternIR(r,n,t);i.addDependencies(c.dependencies);i.addOp(e,a);n.objId&&o.set(null,n.objId,{operatorListIR:r,dict:n})})).catch((e=>{if(!(e instanceof AbortException)){if(!this.options.ignoreErrors)throw e;warn(`handleTilingType - ignoring pattern: "${e}".`)}}))}async handleSetFont(e,t,r,a,n,i){let s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null;const c=t?.[0]instanceof Name?t[0].name:null,l=await this.loadFont(c,r,e,n,s,o);l.font.isType3Font&&a.addDependencies(l.type3Dependencies);i.font=l.font;l.send(this.handler);return l.loadedName}handleText(e,t){const r=t.font,a=r.charsToGlyphs(e);if(r.data){(!!(t.textRenderingMode&C)||"Pattern"===t.fillColorSpace.name||r.disableFontFace)&&PartialEvaluator.buildFontPaths(r,a,this.handler,this.options)}return a}ensureStateFont(e){if(e.font)return;const t=new FormatError("Missing setFont (Tf) operator before text rendering operator.");if(!this.options.ignoreErrors)throw t;warn(`ensureStateFont: "${t}".`)}async setGState(e){let{resources:t,gState:r,operatorList:a,cacheKey:n,task:i,stateManager:s,localGStateCache:o,localColorSpaceCache:c,seenRefs:l}=e;const h=r.objId;let u=!0;const d=[];let f=Promise.resolve();for(const[e,n]of r)switch(e){case"Type":break;case"LW":if("number"!=typeof n){warn(`Invalid LW (line width): ${n}`);break}d.push([e,Math.abs(n)]);break;case"LC":case"LJ":case"ML":case"D":case"RI":case"FL":case"CA":case"ca":d.push([e,n]);break;case"Font":u=!1;f=f.then((()=>this.handleSetFont(t,null,n[0],a,i,s.state).then((function(t){a.addDependency(t);d.push([e,[t,n[1]]])}))));break;case"BM":d.push([e,normalizeBlendMode(n)]);break;case"SMask":if(isName(n,"None")){d.push([e,!1]);break}if(n instanceof Dict){u=!1;f=f.then((()=>this.handleSMask(n,t,a,i,s,c,l)));d.push([e,!0])}else warn("Unsupported SMask type");break;case"TR":const r=this.handleTransferFunction(n);d.push([e,r]);break;case"OP":case"op":case"OPM":case"BG":case"BG2":case"UCR":case"UCR2":case"TR2":case"HT":case"SM":case"SA":case"AIS":case"TK":info("graphic state operator "+e);break;default:info("Unknown graphic state operator "+e)}await f;d.length>0&&a.addOp(De,[d]);u&&o.set(n,h,d)}loadFont(e,t,r,a){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;const errorFont=async()=>new TranslatedFont({loadedName:"g_font_error",font:new ErrorFont(`Font "${e}" is not available.`),dict:t});let s;if(t)t instanceof Ref&&(s=t);else{const t=r.get("Font");t&&(s=t.getRaw(e))}if(s){if(this.type3FontRefs?.has(s))return errorFont();if(this.fontCache.has(s))return this.fontCache.get(s);try{t=this.xref.fetchIfRef(s)}catch(e){warn(`loadFont - lookup failed: "${e}".`)}}if(!(t instanceof Dict)){if(!this.options.ignoreErrors&&!this.parsingType3Font){warn(`Font "${e}" is not available.`);return errorFont()}warn(`Font "${e}" is not available -- attempting to fallback to a default font.`);t=n||PartialEvaluator.fallbackFontDict}if(t.cacheKey&&this.fontCache.has(t.cacheKey))return this.fontCache.get(t.cacheKey);const{promise:o,resolve:c}=Promise.withResolvers();let l;try{l=this.preEvaluateFont(t);l.cssFontInfo=i}catch(e){warn(`loadFont - preEvaluateFont failed: "${e}".`);return errorFont()}const{descriptor:h,hash:u}=l,d=s instanceof Ref;let f;if(u&&h instanceof Dict){const e=h.fontAliases||=Object.create(null);if(e[u]){const t=e[u].aliasRef;if(d&&t&&this.fontCache.has(t)){this.fontCache.putAlias(s,t);return this.fontCache.get(s)}}else e[u]={fontID:this.idFactory.createFontId()};d&&(e[u].aliasRef=s);f=e[u].fontID}else f=this.idFactory.createFontId();assert(f?.startsWith("f"),'The "fontID" must be (correctly) defined.');if(d)this.fontCache.put(s,o);else{t.cacheKey=`cacheKey_${f}`;this.fontCache.put(t.cacheKey,o)}t.loadedName=`${this.idFactory.getDocId()}_${f}`;this.translateFont(l).then((async e=>{const n=new TranslatedFont({loadedName:t.loadedName,font:e,dict:t});if(e.isType3Font)try{await n.loadType3Data(this,r,a)}catch(e){throw new Error(`Type3 font load error: ${e}`)}c(n)})).catch((e=>{warn(`loadFont - translateFont failed: "${e}".`);c(new TranslatedFont({loadedName:t.loadedName,font:new ErrorFont(e?.message),dict:t}))}));return o}buildPath(e,t,r){const{pathMinMax:a,pathBuffer:n}=r;switch(0|e){case ze:{const e=r.currentPointX=t[0],i=r.currentPointY=t[1],s=t[2],o=t[3],c=e+s,l=i+o;0===s||0===o?n.push(ur,e,i,dr,c,l,gr):n.push(ur,e,i,dr,c,i,dr,c,l,dr,e,l,gr);Util.rectBoundingBox(e,i,c,l,a);break}case Le:{const e=r.currentPointX=t[0],i=r.currentPointY=t[1];n.push(ur,e,i);Util.pointBoundingBox(e,i,a);break}case Ue:{const e=r.currentPointX=t[0],i=r.currentPointY=t[1];n.push(dr,e,i);Util.pointBoundingBox(e,i,a);break}case qe:{const e=r.currentPointX,i=r.currentPointY,[s,o,c,l,h,u]=t;r.currentPointX=h;r.currentPointY=u;n.push(fr,s,o,c,l,h,u);Util.bezierBoundingBox(e,i,s,o,c,l,h,u,a);break}case Xe:{const e=r.currentPointX,i=r.currentPointY,[s,o,c,l]=t;r.currentPointX=c;r.currentPointY=l;n.push(fr,e,i,s,o,c,l);Util.bezierBoundingBox(e,i,e,i,s,o,c,l,a);break}case He:{const e=r.currentPointX,i=r.currentPointY,[s,o,c,l]=t;r.currentPointX=c;r.currentPointY=l;n.push(fr,s,o,c,l,c,l);Util.bezierBoundingBox(e,i,s,o,c,l,c,l,a);break}case We:n.push(gr)}}_getColorSpace(e,t,r){return ColorSpaceUtils.parse({cs:e,xref:this.xref,resources:t,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:r,asyncIfNotCached:!0})}async _handleColorSpace(e){try{return await e}catch(e){if(e instanceof AbortException)return null;if(this.options.ignoreErrors){warn(`_handleColorSpace - ignoring ColorSpace: "${e}".`);return null}throw e}}parseShading(e){let t,{shading:r,resources:a,localColorSpaceCache:n,localShadingPatternCache:i}=e,s=i.get(r);if(s)return s;try{t=Pattern.parseShading(r,this.xref,a,this._pdfFunctionFactory,this.globalColorSpaceCache,n).getIR()}catch(e){if(e instanceof AbortException)return null;if(this.options.ignoreErrors){warn(`parseShading - ignoring shading: "${e}".`);i.set(r,null);return null}throw e}s=`pattern_${this.idFactory.createObjId()}`;this.parsingType3Font&&(s=`${this.idFactory.getDocId()}_type3_${s}`);i.set(r,s);this.parsingType3Font?this.handler.send("commonobj",[s,"Pattern",t]):this.handler.send("obj",[s,this.pageIndex,"Pattern",t]);return s}handleColorN(e,t,r,a,n,i,s,o,c,l){const h=r.pop();if(h instanceof Name){const u=n.getRaw(h.name),d=u instanceof Ref&&c.getByRef(u);if(d)try{const n=a.base?a.base.getRgbHex(r,0):null,i=getTilingPatternIR(d.operatorListIR,d.dict,n);e.addOp(t,i);return}catch{}const f=this.xref.fetchIfRef(u);if(f){const n=f instanceof BaseStream?f.dict:f,h=n.get("PatternType");if(h===Cs){const o=a.base?a.base.getRgbHex(r,0):null;return this.handleTilingType(t,o,i,f,n,e,s,c)}if(h===Fs){const r=n.get("Shading"),a=this.parseShading({shading:r,resources:i,localColorSpaceCache:o,localShadingPatternCache:l});if(a){const r=lookupMatrix(n.getArray("Matrix"),null);e.addOp(t,["Shading",a,r])}return}throw new FormatError(`Unknown PatternType: ${h}`)}}throw new FormatError(`Unknown PatternName: ${h}`)}_parseVisibilityExpression(e,t,r){if(++t>10){warn("Visibility expression is too deeply nested");return}const a=e.length,n=this.xref.fetchIfRef(e[0]);if(!(a<2)&&n instanceof Name){switch(n.name){case"And":case"Or":case"Not":r.push(n.name);break;default:warn(`Invalid operator ${n.name} in visibility expression`);return}for(let n=1;n0)return{type:"OCMD",expression:t}}const t=r.get("OCGs");if(Array.isArray(t)||t instanceof Dict){const e=[];if(Array.isArray(t))for(const r of t)e.push(r.toString());else e.push(t.objId);return{type:a,ids:e,policy:r.get("P")instanceof Name?r.get("P").name:null,expression:null}}if(t instanceof Ref)return{type:a,id:t.toString()}}return null}getOperatorList(e){let{stream:t,task:r,resources:a,operatorList:n,initialState:i=null,fallbackFontDict:s=null,prevRefs:o=null}=e;const c=t.dict?.objId,l=new RefSet(o);if(c){if(o?.has(c))throw new Error(`getOperatorList - ignoring circular reference: ${c}`);l.put(c)}a||=Dict.empty;i||=new EvalState;if(!n)throw new Error('getOperatorList: missing "operatorList" parameter');const h=this,u=this.xref,d=new LocalImageCache,f=new LocalColorSpaceCache,g=new LocalGStateCache,p=new LocalTilingPatternCache,m=new Map,b=a.get("XObject")||Dict.empty,y=a.get("Pattern")||Dict.empty,w=new StateManager(i),v=new EvaluatorPreprocessor(t,u,w),x=new TimeSlotManager;function closePendingRestoreOPS(e){for(let e=0,t=v.savedStatesDepth;e{w.state.fillColorSpace=e||ColorSpaceUtils.gray})));return}case kt:{const t=h._getColorSpace(e[0],a,f);if(t instanceof ColorSpace){w.state.strokeColorSpace=t;continue}next(h._handleColorSpace(t).then((e=>{w.state.strokeColorSpace=e||ColorSpaceUtils.gray})));return}case It:k=w.state.fillColorSpace;e=[k.getRgbHex(e,0)];t=Mt;break;case Ct:k=w.state.strokeColorSpace;e=[k.getRgbHex(e,0)];t=Bt;break;case Ot:w.state.fillColorSpace=ColorSpaceUtils.gray;e=[ColorSpaceUtils.gray.getRgbHex(e,0)];t=Mt;break;case _t:w.state.strokeColorSpace=ColorSpaceUtils.gray;e=[ColorSpaceUtils.gray.getRgbHex(e,0)];t=Bt;break;case Pt:w.state.fillColorSpace=ColorSpaceUtils.cmyk;e=[ColorSpaceUtils.cmyk.getRgbHex(e,0)];t=Mt;break;case Rt:w.state.strokeColorSpace=ColorSpaceUtils.cmyk;e=[ColorSpaceUtils.cmyk.getRgbHex(e,0)];t=Bt;break;case Mt:w.state.fillColorSpace=ColorSpaceUtils.rgb;e=[ColorSpaceUtils.rgb.getRgbHex(e,0)];break;case Bt:w.state.strokeColorSpace=ColorSpaceUtils.rgb;e=[ColorSpaceUtils.rgb.getRgbHex(e,0)];break;case Tt:k=w.state.patternFillColorSpace;if(!k){if(isNumberArray(e,null)){e=[ColorSpaceUtils.gray.getRgbHex(e,0)];t=Mt;break}e=[];t=lr;break}if("Pattern"===k.name){next(h.handleColorN(n,Tt,e,k,y,a,r,f,p,m));return}e=[k.getRgbHex(e,0)];t=Mt;break;case Ft:k=w.state.patternStrokeColorSpace;if(!k){if(isNumberArray(e,null)){e=[ColorSpaceUtils.gray.getRgbHex(e,0)];t=Bt;break}e=[];t=cr;break}if("Pattern"===k.name){next(h.handleColorN(n,Ft,e,k,y,a,r,f,p,m));return}e=[k.getRgbHex(e,0)];t=Bt;break;case Dt:let _;try{const t=a.get("Shading");if(!t)throw new FormatError("No shading resource found");_=t.get(e[0].name);if(!_)throw new FormatError("No shading object found")}catch(e){if(e instanceof AbortException)continue;if(h.options.ignoreErrors){warn(`getOperatorList - ignoring Shading: "${e}".`);continue}throw e}const O=h.parseShading({shading:_,resources:a,localColorSpaceCache:f,localShadingPatternCache:m});if(!O)continue;e=[O];t=Dt;break;case De:T=e[0]instanceof Name;C=e[0].name;if(T){const t=g.getByName(C);if(t){t.length>0&&n.addOp(De,[t]);e=null;continue}}next(new Promise((function(e,t){if(!T)throw new FormatError("GState must be referred to by name.");const i=a.get("ExtGState");if(!(i instanceof Dict))throw new FormatError("ExtGState should be a dictionary.");const s=i.get(C);if(!(s instanceof Dict))throw new FormatError("GState should be a dictionary.");h.setGState({resources:a,gState:s,operatorList:n,cacheKey:C,task:r,stateManager:w,localGStateCache:g,localColorSpaceCache:f,seenRefs:l}).then(e,t)})).catch((function(e){if(!(e instanceof AbortException)){if(!h.options.ignoreErrors)throw e;warn(`getOperatorList - ignoring ExtGState: "${e}".`)}})));return;case Te:{const[t]=e;if("number"!=typeof t){warn(`Invalid setLineWidth: ${t}`);continue}e[0]=Math.abs(t);break}case Le:case Ue:case qe:case Xe:case He:case We:case ze:h.buildPath(t,e,w.state);continue;case Ge:case $e:case Ve:case Ke:case Je:case Ye:case Ze:case Qe:case et:{const{state:{pathBuffer:e,pathMinMax:r}}=w;t!==$e&&t!==Ze&&t!==Qe||e.push(gr);if(0===e.length)n.addOp(or,[t,[null],null]);else{n.addOp(or,[t,[new Float32Array(e)],r.slice()]);e.length=0;r.set([1/0,1/0,-1/0,-1/0],0)}continue}case pt:n.addOp(t,[new Float32Array(e)]);continue;case Ut:case qt:case zt:case Gt:continue;case Ht:if(!(e[0]instanceof Name)){warn(`Expected name for beginMarkedContentProps arg0=${e[0]}`);n.addOp(Ht,["OC",null]);continue}if("OC"===e[0].name){next(h.parseMarkedContentProps(e[1],a).then((e=>{n.addOp(Ht,["OC",e])})).catch((e=>{if(!(e instanceof AbortException)){if(!h.options.ignoreErrors)throw e;warn(`getOperatorList - ignoring beginMarkedContentProps: "${e}".`);n.addOp(Ht,["OC",null])}})));return}e=[e[0].name,e[1]instanceof Dict?e[1].get("MCID"):null];break;default:if(null!==e){for(c=0,S=e.length;c{if(!(e instanceof AbortException)){if(!this.options.ignoreErrors)throw e;warn(`getOperatorList - ignoring errors during "${r.name}" task: "${e}".`);closePendingRestoreOPS()}}))}getTextContent(e){let{stream:t,task:r,resources:a,stateManager:i=null,includeMarkedContent:s=!1,sink:o,seenStyles:c=new Set,viewBox:l,lang:h=null,markedContentData:u=null,disableNormalization:d=!1,keepWhiteSpace:f=!1,prevRefs:g=null,includeChars:p=!1}=e;const m=t.dict?.objId,b=new RefSet(g);if(m){if(g?.has(m))throw new Error(`getTextContent - ignoring circular reference: ${m}`);b.put(m)}a||=Dict.empty;i||=new StateManager(new TextState);s&&(u||={level:0});const y={items:[],styles:Object.create(null),lang:h},w={initialized:!1,str:[],totalWidth:0,totalHeight:0,width:0,height:0,vertical:!1,prevTransform:null,textAdvanceScale:0,spaceInFlowMin:0,spaceInFlowMax:0,trackingSpaceMin:1/0,negativeSpaceMax:-1/0,notASpace:-1/0,transform:null,fontName:null,hasEOL:!1,chars:[]},v=[" "," "];let x=0;function saveLastChar(e){const t=(x+1)%2,r=" "!==v[x]&&" "===v[t];v[x]=e;x=t;return!f&&r}function shouldAddWhitepsace(){return!f&&" "!==v[x]&&" "===v[(x+1)%2]}function resetLastChars(){v[0]=v[1]=" ";x=0}const S=this,k=this.xref,C=[];let T=null;const _=new LocalImageCache,O=new LocalGStateCache,M=new EvaluatorPreprocessor(t,k,i);let R;const D=new Set;function pushChar(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;if(p)try{const a=R.font,i=Util.transform(R.ctm,R.textMatrix);let s=a.ascent,o=a.descent;o>0&&(o=-o);if(s&&o){s>1&&(s=.75);o<-.5&&(o=-.25)}else{s=.75;o=-.25}a.capHeight&&a.capHeight0){c[1]=a.bbox[1]*R.fontMatrix[3];c[3]=a.bbox[3]*R.fontMatrix[3]}}const l=[1/0,1/0,-1/0,-1/0];Util.axialAlignedBoundingBox(c,i,l);const h=t+l.join("");if(!D.has(h)){D.add(h);w.chars.push({c:t,u:r,r:l})}}catch(e){console.error(e)}}function pushWhitespace(e){let{width:t=0,height:r=0,transform:a=w.prevTransform,fontName:n=w.fontName}=e;pushChar(t," ");y.items.push({str:" ",dir:"ltr",width:t,height:r,transform:a,fontName:n,hasEOL:!1})}function getCurrentTextTransform(){const e=R.font,t=[R.fontSize*R.textHScale,0,0,R.fontSize,0,R.textRise];if(e.isType3Font&&(R.fontSize<=1||e.isCharBBox)&&!isArrayEqual(R.fontMatrix,n)){const r=e.bbox[3]-e.bbox[1];r>0&&(t[3]*=r*R.fontMatrix[3])}return Util.transform(R.ctm,Util.transform(R.textMatrix,t))}function ensureTextContentItem(){if(w.initialized)return w;const{font:e,loadedName:t}=R;if(!c.has(t)){c.add(t);y.styles[t]={fontFamily:e.fallbackName,ascent:e.ascent,descent:e.descent,vertical:e.vertical};if(S.options.fontExtraProperties&&e.systemFontInfo){const r=y.styles[t];r.fontSubstitution=e.systemFontInfo.css;r.fontSubstitutionLoadedName=e.systemFontInfo.loadedName}}w.fontName=t;const r=w.transform=getCurrentTextTransform();if(e.vertical){w.width=w.totalWidth=Math.hypot(r[0],r[1]);w.height=w.totalHeight=0;w.vertical=!0}else{w.width=w.totalWidth=0;w.height=w.totalHeight=Math.hypot(r[2],r[3]);w.vertical=!1}const a=Math.hypot(R.textLineMatrix[0],R.textLineMatrix[1]),n=Math.hypot(R.ctm[0],R.ctm[1]);w.textAdvanceScale=n*a;const{fontSize:i}=R;w.trackingSpaceMin=.102*i;w.notASpace=.03*i;w.negativeSpaceMax=-.2*i;w.spaceInFlowMin=.102*i;w.spaceInFlowMax=.6*i;w.hasEOL=!1;w.initialized=!0;return w}function updateAdvanceScale(){if(!w.initialized)return;const e=Math.hypot(R.textLineMatrix[0],R.textLineMatrix[1]),t=Math.hypot(R.ctm[0],R.ctm[1])*e;if(t!==w.textAdvanceScale){if(w.vertical){w.totalHeight+=w.height*w.textAdvanceScale;w.height=0}else{w.totalWidth+=w.width*w.textAdvanceScale;w.width=0}w.textAdvanceScale=t}}function runBidiTransform(e){let t=e.str.join("");d||(t=function normalizeUnicode(e){if(!xr){xr=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu;Sr=new Map([["ſt","ſt"]])}return e.replaceAll(xr,((e,t,r)=>t?t.normalize("NFKC"):Sr.get(r)))}(t));const r=bidi(t,-1,e.vertical);return{str:r.str,dir:r.dir,width:Math.abs(e.totalWidth),height:Math.abs(e.totalHeight),transform:e.transform,fontName:e.fontName,hasEOL:e.hasEOL,chars:e.chars}}async function handleSetFont(e,t){const i=await S.loadFont(e,t,a,r);R.loadedName=i.loadedName;R.font=i.font;R.fontMatrix=i.font.fontMatrix||n}function applyInverseRotation(e,t,r){const a=Math.hypot(r[0],r[1]);return[(r[0]*e+r[1]*t)/a,(r[2]*e+r[3]*t)/a]}function compareWithLastPosition(e){const t=getCurrentTextTransform();let r=t[4],a=t[5];if(R.font?.vertical){if(rl[2]||a+el[3])return!1}else if(r+el[2]||al[3])return!1;if(!R.font||!w.prevTransform)return!0;let n=w.prevTransform[4],i=w.prevTransform[5];if(n===r&&i===a)return!0;let s=-1;t[0]&&0===t[1]&&0===t[2]?s=t[0]>0?0:180:t[1]&&0===t[0]&&0===t[3]&&(s=t[1]>0?90:270);switch(s){case 0:break;case 90:[r,a]=[a,r];[n,i]=[i,n];break;case 180:[r,a,n,i]=[-r,-a,-n,-i];break;case 270:[r,a]=[-a,-r];[n,i]=[-i,-n];break;default:[r,a]=applyInverseRotation(r,a,t);[n,i]=applyInverseRotation(n,i,w.prevTransform)}if(R.font.vertical){const e=(i-a)/w.textAdvanceScale,t=r-n,s=Math.sign(w.height);if(e.5*w.width){appendEOL();return!0}resetLastChars();flushTextContentItem();return!0}if(Math.abs(t)>w.width){appendEOL();return!0}e<=s*w.notASpace&&resetLastChars();if(e<=s*w.trackingSpaceMin)if(shouldAddWhitepsace()){resetLastChars();flushTextContentItem();pushWhitespace({height:Math.abs(e)})}else w.height+=e;else if(!addFakeSpaces(e,w.prevTransform,s))if(0===w.str.length){resetLastChars();pushWhitespace({height:Math.abs(e)})}else w.height+=e;Math.abs(t)>.25*w.width&&flushTextContentItem();return!0}const o=(r-n)/w.textAdvanceScale,c=a-i,h=Math.sign(w.width);if(o.5*w.height){appendEOL();return!0}resetLastChars();flushTextContentItem();return!0}if(Math.abs(c)>w.height){appendEOL();return!0}o<=h*w.notASpace&&resetLastChars();if(o<=h*w.trackingSpaceMin)if(shouldAddWhitepsace()){resetLastChars();flushTextContentItem();pushWhitespace({width:Math.abs(o)})}else w.width+=o;else if(!addFakeSpaces(o,w.prevTransform,h))if(0===w.str.length){resetLastChars();pushWhitespace({width:Math.abs(o)})}else w.width+=o;Math.abs(c)>.25*w.height&&flushTextContentItem();return!0}function buildTextContentItem(e){let{chars:t,extraSpacing:r}=e;const a=R.font;if(!t){const e=R.charSpacing+r;e&&(a.vertical?R.translateTextMatrix(0,-e):R.translateTextMatrix(e*R.textHScale,0));f&&compareWithLastPosition(0);return}const n=a.charsToGlyphs(t),i=R.fontMatrix[0]*R.fontSize;for(let e=0,t=n.length;e0&&void 0!==arguments[0]&&arguments[0];const t=y.items.length;if(0!==t&&!(e&&t<10)){o.enqueue(y,t);y.items=[];y.styles=Object.create(null)}}const E=new TimeSlotManager;return new Promise((function promiseBody(e,t){const next=function(r){enqueueChunk(!0);Promise.all([r,o.ready]).then((function(){try{promiseBody(e,t)}catch(e){t(e)}}),t)};r.ensureNotTerminated();E.reset();const n={};let g,p,m,w=[];for(;!(g=E.check());){w.length=0;n.args=w;if(!M.read(n))break;const e=R;R=i.state;const t=n.fn;w=n.args;switch(0|t){case ht:const t=w[0].name,n=w[1];if(R.font&&t===R.fontName&&n===R.fontSize)break;flushTextContentItem();R.fontName=t;R.fontSize=n;next(handleSetFont(t,null));return;case dt:R.textRise=w[0];break;case ct:R.textHScale=w[0]/100;break;case lt:R.leading=w[0];break;case ft:R.translateTextLineMatrix(w[0],w[1]);R.textMatrix=R.textLineMatrix.slice();break;case gt:R.leading=-w[1];R.translateTextLineMatrix(w[0],w[1]);R.textMatrix=R.textLineMatrix.slice();break;case mt:R.carriageReturn();break;case pt:R.setTextMatrix(w[0],w[1],w[2],w[3],w[4],w[5]);R.setTextLineMatrix(w[0],w[1],w[2],w[3],w[4],w[5]);updateAdvanceScale();break;case st:R.charSpacing=w[0];break;case ot:R.wordSpacing=w[0];break;case nt:R.textMatrix=Mr.slice();R.textLineMatrix=Mr.slice();break;case yt:if(!i.state.font){S.ensureStateFont(i.state);continue}const g=(R.font.vertical?1:-1)*R.fontSize/1e3,v=w[0];for(let e=0,t=v.length;e0){const e=C.join("");C.length=0;buildTextContentItem({chars:e,extraSpacing:0})}break;case bt:if(!i.state.font){S.ensureStateFont(i.state);continue}buildTextContentItem({chars:w[0],extraSpacing:0});break;case wt:if(!i.state.font){S.ensureStateFont(i.state);continue}R.carriageReturn();buildTextContentItem({chars:w[0],extraSpacing:0});break;case vt:if(!i.state.font){S.ensureStateFont(i.state);continue}R.wordSpacing=w[0];R.charSpacing=w[1];R.carriageReturn();buildTextContentItem({chars:w[2],extraSpacing:0});break;case Lt:flushTextContentItem();T??=a.get("XObject")||Dict.empty;m=w[0]instanceof Name;p=w[0].name;if(m&&_.getByName(p))break;next(new Promise((function(e,t){if(!m)throw new FormatError("XObject must be referred to by name.");let n=T.getRaw(p);if(n instanceof Ref){if(_.getByRef(n)){e();return}if(S.globalImageCache.getData(n,S.pageIndex)){e();return}n=k.fetch(n)}if(!(n instanceof BaseStream))throw new FormatError("XObject should be a stream");const{dict:g}=n,y=g.get("Subtype");if(!(y instanceof Name))throw new FormatError("XObject should have a Name subtype");if("Form"!==y.name){_.set(p,g.objId,!0);e();return}const w=i.state.clone(),v=new StateManager(w),x=lookupMatrix(g.getArray("Matrix"),null);x&&v.transform(x);const C=g.get("Resources");enqueueChunk();const O={enqueueInvoked:!1,enqueue(e,t){this.enqueueInvoked=!0;o.enqueue(e,t)},get desiredSize(){return o.desiredSize},get ready(){return o.ready}};S.getTextContent({stream:n,task:r,resources:C instanceof Dict?C:a,stateManager:v,includeMarkedContent:s,sink:O,seenStyles:c,viewBox:l,lang:h,markedContentData:u,disableNormalization:d,keepWhiteSpace:f,prevRefs:b}).then((function(){O.enqueueInvoked||_.set(p,g.objId,!0);e()}),t)})).catch((function(e){if(!(e instanceof AbortException)){if(!S.options.ignoreErrors)throw e;warn(`getTextContent - ignoring XObject: "${e}".`)}})));return;case De:m=w[0]instanceof Name;p=w[0].name;if(m&&O.getByName(p))break;next(new Promise((function(e,t){if(!m)throw new FormatError("GState must be referred to by name.");const r=a.get("ExtGState");if(!(r instanceof Dict))throw new FormatError("ExtGState should be a dictionary.");const n=r.get(p);if(!(n instanceof Dict))throw new FormatError("GState should be a dictionary.");const i=n.get("Font");if(i){flushTextContentItem();R.fontName=null;R.fontSize=i[1];handleSetFont(null,i[0]).then(e,t)}else{O.set(p,n.objId,!0);e()}})).catch((function(e){if(!(e instanceof AbortException)){if(!S.options.ignoreErrors)throw e;warn(`getTextContent - ignoring ExtGState: "${e}".`)}})));return;case Xt:flushTextContentItem();if(s){u.level++;y.items.push({type:"beginMarkedContent",tag:w[0]instanceof Name?w[0].name:null})}break;case Ht:flushTextContentItem();if(s){u.level++;let e=null;w[1]instanceof Dict&&(e=w[1].get("MCID"));y.items.push({type:"beginMarkedContentProps",id:Number.isInteger(e)?`${S.idFactory.getPageObjId()}_mc${e}`:null,tag:w[0]instanceof Name?w[0].name:null})}break;case Wt:flushTextContentItem();if(s){if(0===u.level)break;u.level--;y.items.push({type:"endMarkedContent"})}break;case Ne:!e||e.font===R.font&&e.fontSize===R.fontSize&&e.fontName===R.fontName||flushTextContentItem()}if(y.items.length>=o.desiredSize){g=!0;break}}if(g)next(Is);else{flushTextContentItem();enqueueChunk();e()}})).catch((e=>{if(!(e instanceof AbortException)){if(!this.options.ignoreErrors)throw e;warn(`getTextContent - ignoring errors during "${r.name}" task: "${e}".`);flushTextContentItem();enqueueChunk()}}))}async extractDataStructures(e,t){const r=this.xref;let a;const n=this.readToUnicode(t.toUnicode);if(t.composite){const r=e.get("CIDSystemInfo");r instanceof Dict&&(t.cidSystemInfo={registry:stringToPDFString(r.get("Registry")),ordering:stringToPDFString(r.get("Ordering")),supplement:r.get("Supplement")});try{const t=e.get("CIDToGIDMap");t instanceof BaseStream&&(a=t.getBytes())}catch(e){if(!this.options.ignoreErrors)throw e;warn(`extractDataStructures - ignoring CIDToGIDMap data: "${e}".`)}}const i=[];let s,o=null;if(e.has("Encoding")){s=e.get("Encoding");if(s instanceof Dict){o=s.get("BaseEncoding");o=o instanceof Name?o.name:null;if(s.has("Differences")){const e=s.get("Differences");let t=0;for(const a of e){const e=r.fetchIfRef(a);if("number"==typeof e)t=e;else{if(!(e instanceof Name))throw new FormatError(`Invalid entry in 'Differences' array: ${e}`);i[t++]=e.name}}}}else if(s instanceof Name)o=s.name;else{const e="Encoding is not a Name nor a Dict";if(!this.options.ignoreErrors)throw new FormatError(e);warn(e)}"MacRomanEncoding"!==o&&"MacExpertEncoding"!==o&&"WinAnsiEncoding"!==o&&(o=null)}const c=!t.file||t.isInternalFont,l=Hn()[t.name];o&&c&&l&&(o=null);if(o)t.defaultEncoding=getEncoding(o);else{const e=!!(t.flags&Cn),r=!!(t.flags&Fn);s=dn;"TrueType"!==t.type||r||(s=fn);if(e||l){s=un;c&&(/Symbol/i.test(t.name)?s=gn:/Dingbats/i.test(t.name)?s=pn:/Wingdings/i.test(t.name)&&(s=fn))}t.defaultEncoding=s}t.differences=i;t.baseEncodingName=o;t.hasEncoding=!!o||i.length>0;t.dict=e;t.toUnicode=await n;const h=await this.buildToUnicode(t);t.toUnicode=h;a&&(t.cidToGidMap=this.readCidToGidMap(a,h));return t}_simpleFontToUnicode(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];assert(!e.composite,"Must be a simple font.");const r=[],a=e.defaultEncoding.slice(),n=e.baseEncodingName,i=e.differences;for(const e in i){const t=i[e];".notdef"!==t&&(a[e]=t)}const s=mn();for(const i in a){let o=a[i];if(""===o)continue;let c=s[o];if(void 0!==c){r[i]=String.fromCharCode(c);continue}let l=0;switch(o[0]){case"G":3===o.length&&(l=parseInt(o.substring(1),16));break;case"g":5===o.length&&(l=parseInt(o.substring(1),16));break;case"C":case"c":if(o.length>=3&&o.length<=4){const r=o.substring(1);if(t){l=parseInt(r,16);break}l=+r;if(Number.isNaN(l)&&Number.isInteger(parseInt(r,16)))return this._simpleFontToUnicode(e,!0)}break;case"u":c=getUnicodeForGlyph(o,s);-1!==c&&(l=c);break;default:switch(o){case"f_h":case"f_t":case"T_h":r[i]=o.replaceAll("_","");continue}}if(l>0&&l<=1114111&&Number.isInteger(l)){if(n&&l===+i){const e=getEncoding(n);if(e&&(o=e[i])){r[i]=String.fromCharCode(s[o]);continue}}r[i]=String.fromCodePoint(l)}}return r}async buildToUnicode(e){e.hasIncludedToUnicodeMap=e.toUnicode?.length>0;if(e.hasIncludedToUnicodeMap){!e.composite&&e.hasEncoding&&(e.fallbackToUnicode=this._simpleFontToUnicode(e));return e.toUnicode}if(!e.composite)return new ToUnicodeMap(this._simpleFontToUnicode(e));if(e.composite&&(e.cMap.builtInCMap&&!(e.cMap instanceof IdentityCMap)||"Adobe"===e.cidSystemInfo?.registry&&("GB1"===e.cidSystemInfo.ordering||"CNS1"===e.cidSystemInfo.ordering||"Japan1"===e.cidSystemInfo.ordering||"Korea1"===e.cidSystemInfo.ordering))){const{registry:t,ordering:r}=e.cidSystemInfo,a=Name.get(`${t}-${r}-UCS2`),n=await CMapFactory.create({encoding:a,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}),i=[],s=[];e.cMap.forEach((function(e,t){if(t>65535)throw new FormatError("Max size of CID is 65,535");const r=n.lookup(t);if(r){s.length=0;for(let e=0,t=r.length;e>1;(0!==n||t.has(i))&&(r[i]=n)}return r}extractWidths(e,t,r){const a=this.xref;let n=[],i=0;const s=[];let o;if(r.composite){const t=e.get("DW");i="number"==typeof t?Math.ceil(t):1e3;const c=e.get("W");if(Array.isArray(c))for(let e=0,t=c.length;e{const t=c.get(e),a=new OperatorList;return i.getOperatorList({stream:t,task:r,resources:l,operatorList:a}).then((()=>{switch(a.fnArray[0]){case St:evaluator_assertClassBrand(Os,this,_removeType3ColorOperators).call(this,a,b);break;case xt:b||evaluator_assertClassBrand(Os,this,_guessType3FontBBox).call(this,a)}h[e]=a.getIR();for(const e of a.dependencies)n.add(e)})).catch((function(t){warn(`Type3 font resource "${e}" is not available.`);const r=new OperatorList;h[e]=r.getIR()}))}));evaluator_classPrivateFieldSet(_s,this,o.then((()=>{a.charProcOperatorList=h;if(this._bbox){a.isCharBBox=!0;a.bbox=this._bbox}})));return evaluator_classPrivateFieldGet(_s,this)}}function _removeType3ColorOperators(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:NaN;const r=Util.normalizeRect(e.argsArray[0].slice(2)),a=r[2]-r[0],n=r[3]-r[1],i=Math.hypot(a,n);if(0===a||0===n){e.fnArray.splice(0,1);e.argsArray.splice(0,1)}else if(0===t||Math.round(i/t)>=10){this._bbox??=[1/0,1/0,-1/0,-1/0];Util.rectBoundingBox(...r,this._bbox)}let s=0,o=e.length;for(;s0&&void 0!==arguments[0]?arguments[0]:new EvalState;this.state=e;this.stateStack=[]}save(){const e=this.state;this.stateStack.push(this.state);this.state=e.clone()}restore(){const e=this.stateStack.pop();e&&(this.state=e)}transform(e){this.state.ctm=Util.transform(this.state.ctm,e)}}class TextState{constructor(){this.ctm=new Float32Array(Mr);this.fontName=null;this.fontSize=0;this.loadedName=null;this.font=null;this.fontMatrix=n;this.textMatrix=Mr.slice();this.textLineMatrix=Mr.slice();this.charSpacing=0;this.wordSpacing=0;this.leading=0;this.textHScale=1;this.textRise=0}setTextMatrix(e,t,r,a,n,i){const s=this.textMatrix;s[0]=e;s[1]=t;s[2]=r;s[3]=a;s[4]=n;s[5]=i}setTextLineMatrix(e,t,r,a,n,i){const s=this.textLineMatrix;s[0]=e;s[1]=t;s[2]=r;s[3]=a;s[4]=n;s[5]=i}translateTextMatrix(e,t){const r=this.textMatrix;r[4]=r[0]*e+r[2]*t+r[4];r[5]=r[1]*e+r[3]*t+r[5]}translateTextLineMatrix(e,t){const r=this.textLineMatrix;r[4]=r[0]*e+r[2]*t+r[4];r[5]=r[1]*e+r[3]*t+r[5]}carriageReturn(){this.translateTextLineMatrix(0,-this.leading);this.textMatrix=this.textLineMatrix.slice()}clone(){const e=Object.create(this);e.textMatrix=this.textMatrix.slice();e.textLineMatrix=this.textLineMatrix.slice();e.fontMatrix=this.fontMatrix.slice();return e}}class EvalState{constructor(){this.ctm=new Float32Array(Mr);this.font=null;this.textRenderingMode=k;this._fillColorSpace=this._strokeColorSpace=ColorSpaceUtils.gray;this.patternFillColorSpace=null;this.patternStrokeColorSpace=null;this.currentPointX=this.currentPointY=0;this.pathMinMax=new Float32Array([1/0,1/0,-1/0,-1/0]);this.pathBuffer=[]}get fillColorSpace(){return this._fillColorSpace}set fillColorSpace(e){this._fillColorSpace=this.patternFillColorSpace=e}get strokeColorSpace(){return this._strokeColorSpace}set strokeColorSpace(e){this._strokeColorSpace=this.patternStrokeColorSpace=e}clone(){let{newPath:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=Object.create(this);if(e){t.pathBuffer=[];t.pathMinMax=new Float32Array([1/0,1/0,-1/0,-1/0])}return t}}class EvaluatorPreprocessor{static get opMap(){return shadow(this,"opMap",Object.assign(Object.create(null),{w:{id:Te,numArgs:1,variableArgs:!1},J:{id:_e,numArgs:1,variableArgs:!1},j:{id:Oe,numArgs:1,variableArgs:!1},M:{id:Be,numArgs:1,variableArgs:!1},d:{id:Me,numArgs:2,variableArgs:!1},ri:{id:Re,numArgs:1,variableArgs:!1},i:{id:Pe,numArgs:1,variableArgs:!1},gs:{id:De,numArgs:1,variableArgs:!1},q:{id:Ee,numArgs:0,variableArgs:!1},Q:{id:Ne,numArgs:0,variableArgs:!1},cm:{id:je,numArgs:6,variableArgs:!1},m:{id:Le,numArgs:2,variableArgs:!1},l:{id:Ue,numArgs:2,variableArgs:!1},c:{id:qe,numArgs:6,variableArgs:!1},v:{id:Xe,numArgs:4,variableArgs:!1},y:{id:He,numArgs:4,variableArgs:!1},h:{id:We,numArgs:0,variableArgs:!1},re:{id:ze,numArgs:4,variableArgs:!1},S:{id:Ge,numArgs:0,variableArgs:!1},s:{id:$e,numArgs:0,variableArgs:!1},f:{id:Ve,numArgs:0,variableArgs:!1},F:{id:Ve,numArgs:0,variableArgs:!1},"f*":{id:Ke,numArgs:0,variableArgs:!1},B:{id:Je,numArgs:0,variableArgs:!1},"B*":{id:Ye,numArgs:0,variableArgs:!1},b:{id:Ze,numArgs:0,variableArgs:!1},"b*":{id:Qe,numArgs:0,variableArgs:!1},n:{id:et,numArgs:0,variableArgs:!1},W:{id:tt,numArgs:0,variableArgs:!1},"W*":{id:rt,numArgs:0,variableArgs:!1},BT:{id:nt,numArgs:0,variableArgs:!1},ET:{id:it,numArgs:0,variableArgs:!1},Tc:{id:st,numArgs:1,variableArgs:!1},Tw:{id:ot,numArgs:1,variableArgs:!1},Tz:{id:ct,numArgs:1,variableArgs:!1},TL:{id:lt,numArgs:1,variableArgs:!1},Tf:{id:ht,numArgs:2,variableArgs:!1},Tr:{id:ut,numArgs:1,variableArgs:!1},Ts:{id:dt,numArgs:1,variableArgs:!1},Td:{id:ft,numArgs:2,variableArgs:!1},TD:{id:gt,numArgs:2,variableArgs:!1},Tm:{id:pt,numArgs:6,variableArgs:!1},"T*":{id:mt,numArgs:0,variableArgs:!1},Tj:{id:bt,numArgs:1,variableArgs:!1},TJ:{id:yt,numArgs:1,variableArgs:!1},"'":{id:wt,numArgs:1,variableArgs:!1},'"':{id:vt,numArgs:3,variableArgs:!1},d0:{id:xt,numArgs:2,variableArgs:!1},d1:{id:St,numArgs:6,variableArgs:!1},CS:{id:kt,numArgs:1,variableArgs:!1},cs:{id:At,numArgs:1,variableArgs:!1},SC:{id:Ct,numArgs:4,variableArgs:!0},SCN:{id:Ft,numArgs:33,variableArgs:!0},sc:{id:It,numArgs:4,variableArgs:!0},scn:{id:Tt,numArgs:33,variableArgs:!0},G:{id:_t,numArgs:1,variableArgs:!1},g:{id:Ot,numArgs:1,variableArgs:!1},RG:{id:Bt,numArgs:3,variableArgs:!1},rg:{id:Mt,numArgs:3,variableArgs:!1},K:{id:Rt,numArgs:4,variableArgs:!1},k:{id:Pt,numArgs:4,variableArgs:!1},sh:{id:Dt,numArgs:1,variableArgs:!1},BI:{id:Et,numArgs:0,variableArgs:!1},ID:{id:Nt,numArgs:0,variableArgs:!1},EI:{id:jt,numArgs:1,variableArgs:!1},Do:{id:Lt,numArgs:1,variableArgs:!1},MP:{id:Ut,numArgs:1,variableArgs:!1},DP:{id:qt,numArgs:2,variableArgs:!1},BMC:{id:Xt,numArgs:1,variableArgs:!1},BDC:{id:Ht,numArgs:2,variableArgs:!1},EMC:{id:Wt,numArgs:0,variableArgs:!1},BX:{id:zt,numArgs:0,variableArgs:!1},EX:{id:Gt,numArgs:0,variableArgs:!1},BM:null,BD:null,true:null,fa:null,fal:null,fals:null,false:null,nu:null,nul:null,null:null}))}constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new StateManager;this.parser=new Parser({lexer:new Lexer(e,EvaluatorPreprocessor.opMap),xref:t});this.stateManager=r;this.nonProcessedArgs=[];this._isPathOp=!1;this._numInvalidPathOPS=0}get savedStatesDepth(){return this.stateManager.stateStack.length}read(e){let t=e.args;for(;;){const r=this.parser.getObj();if(r instanceof Cmd){const a=r.cmd,n=EvaluatorPreprocessor.opMap[a];if(!n){warn(`Unknown command "${a}".`);continue}const i=n.id,s=n.numArgs;let o=null!==t?t.length:0;this._isPathOp||(this._numInvalidPathOPS=0);this._isPathOp=i>=Le&&i<=et;if(n.variableArgs)o>s&&info(`Command ${a}: expected [0, ${s}] args, but received ${o} args.`);else{if(o!==s){const e=this.nonProcessedArgs;for(;o>s;){e.push(t.shift());o--}for(;oEvaluatorPreprocessor.MAX_INVALID_PATH_OPS)throw new FormatError(`Invalid ${e}`);warn(`Skipping ${e}`);null!==t&&(t.length=0);continue}}this.preprocessCommand(i,t);e.fn=i;e.args=t;return!0}if(r===Ar)return!1;if(null!==r){null===t&&(t=[]);t.push(r);if(t.length>33)throw new FormatError("Too many arguments")}}}preprocessCommand(e,t){switch(0|e){case Ee:this.stateManager.save();break;case Ne:this.stateManager.restore();break;case je:this.stateManager.transform(t)}}}evaluator_defineProperty(EvaluatorPreprocessor,"MAX_INVALID_PATH_OPS",10);class DefaultAppearanceEvaluator extends EvaluatorPreprocessor{constructor(e){super(new StringStream(e))}parse(){const e={fn:0,args:[]},t={fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3)};try{for(;;){e.args.length=0;if(!this.read(e))break;if(0!==this.savedStatesDepth)continue;const{fn:r,args:a}=e;switch(0|r){case ht:const[e,r]=a;e instanceof Name&&(t.fontName=e.name);"number"==typeof r&&r>0&&(t.fontSize=r);break;case Mt:ColorSpaceUtils.rgb.getRgbItem(a,0,t.fontColor,0);break;case Ot:ColorSpaceUtils.gray.getRgbItem(a,0,t.fontColor,0);break;case Pt:ColorSpaceUtils.cmyk.getRgbItem(a,0,t.fontColor,0)}}}catch(e){warn(`parseDefaultAppearance - ignoring errors: "${e}".`)}return t}}function parseDefaultAppearance(e){return new DefaultAppearanceEvaluator(e).parse()}class AppearanceStreamEvaluator extends EvaluatorPreprocessor{constructor(e,t,r,a){super(e);this.stream=e;this.evaluatorOptions=t;this.xref=r;this.globalColorSpaceCache=a;this.resources=e.dict?.get("Resources")}parse(){const e={fn:0,args:[]};let t={scaleFactor:1,fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3),fillColorSpace:ColorSpaceUtils.gray},r=!1;const a=[];try{for(;;){e.args.length=0;if(r||!this.read(e))break;const{fn:n,args:i}=e;switch(0|n){case Ee:a.push({scaleFactor:t.scaleFactor,fontSize:t.fontSize,fontName:t.fontName,fontColor:t.fontColor.slice(),fillColorSpace:t.fillColorSpace});break;case Ne:t=a.pop()||t;break;case pt:t.scaleFactor*=Math.hypot(i[0],i[1]);break;case ht:const[e,n]=i;e instanceof Name&&(t.fontName=e.name);"number"==typeof n&&n>0&&(t.fontSize=n*t.scaleFactor);break;case At:t.fillColorSpace=ColorSpaceUtils.parse({cs:i[0],xref:this.xref,resources:this.resources,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:this._localColorSpaceCache});break;case It:t.fillColorSpace.getRgbItem(i,0,t.fontColor,0);break;case Mt:ColorSpaceUtils.rgb.getRgbItem(i,0,t.fontColor,0);break;case Ot:ColorSpaceUtils.gray.getRgbItem(i,0,t.fontColor,0);break;case Pt:ColorSpaceUtils.cmyk.getRgbItem(i,0,t.fontColor,0);break;case bt:case yt:case wt:case vt:r=!0}}}catch(e){warn(`parseAppearanceStream - ignoring errors: "${e}".`)}this.stream.reset();delete t.scaleFactor;delete t.fillColorSpace;return t}get _localColorSpaceCache(){return shadow(this,"_localColorSpaceCache",new LocalColorSpaceCache)}get _pdfFunctionFactory(){return shadow(this,"_pdfFunctionFactory",new PDFFunctionFactory({xref:this.xref,isEvalSupported:this.evaluatorOptions.isEvalSupported}))}}function getPdfColor(e,t){if(e[0]===e[1]&&e[1]===e[2]){return`${numberToString(e[0]/255)} ${t?"g":"G"}`}return Array.from(e,(e=>numberToString(e/255))).join(" ")+" "+(t?"rg":"RG")}class FakeUnicodeFont{constructor(e,t){this.xref=e;this.widths=null;this.firstChar=1/0;this.lastChar=-1/0;this.fontFamily=t;const r=new OffscreenCanvas(1,1);this.ctxMeasure=r.getContext("2d",{willReadFrequently:!0});FakeUnicodeFont._fontNameId||(FakeUnicodeFont._fontNameId=1);this.fontName=Name.get(`InvalidPDFjsFont_${t}_${FakeUnicodeFont._fontNameId++}`)}get fontDescriptorRef(){if(!FakeUnicodeFont._fontDescriptorRef){const e=new Dict(this.xref);e.set("Type",Name.get("FontDescriptor"));e.set("FontName",this.fontName);e.set("FontFamily","MyriadPro Regular");e.set("FontBBox",[0,0,0,0]);e.set("FontStretch",Name.get("Normal"));e.set("FontWeight",400);e.set("ItalicAngle",0);FakeUnicodeFont._fontDescriptorRef=this.xref.getNewPersistentRef(e)}return FakeUnicodeFont._fontDescriptorRef}get descendantFontRef(){const e=new Dict(this.xref);e.set("BaseFont",this.fontName);e.set("Type",Name.get("Font"));e.set("Subtype",Name.get("CIDFontType0"));e.set("CIDToGIDMap",Name.get("Identity"));e.set("FirstChar",this.firstChar);e.set("LastChar",this.lastChar);e.set("FontDescriptor",this.fontDescriptorRef);e.set("DW",1e3);const t=[],r=[...this.widths.entries()].sort();let a=null,n=null;for(const[e,i]of r)if(a)if(e===a+n.length)n.push(i);else{t.push(a,n);a=e;n=[i]}else{a=e;n=[i]}a&&t.push(a,n);e.set("W",t);const i=new Dict(this.xref);i.set("Ordering","Identity");i.set("Registry","Adobe");i.set("Supplement",0);e.set("CIDSystemInfo",i);return this.xref.getNewPersistentRef(e)}get baseFontRef(){const e=new Dict(this.xref);e.set("BaseFont",this.fontName);e.set("Type",Name.get("Font"));e.set("Subtype",Name.get("Type0"));e.set("Encoding",Name.get("Identity-H"));e.set("DescendantFonts",[this.descendantFontRef]);e.set("ToUnicode",Name.get("Identity-H"));return this.xref.getNewPersistentRef(e)}get resources(){const e=new Dict(this.xref),t=new Dict(this.xref);t.set(this.fontName.name,this.baseFontRef);e.set("Font",t);return e}_createContext(){this.widths=new Map;this.ctxMeasure.font=`1000px ${this.fontFamily}`;return this.ctxMeasure}createFontResources(e){const t=this._createContext();for(const r of e.split(/\r\n?|\n/))for(const e of r.split("")){const r=e.charCodeAt(0);if(this.widths.has(r))continue;const a=t.measureText(e),n=Math.ceil(a.width);this.widths.set(r,n);this.firstChar=Math.min(r,this.firstChar);this.lastChar=Math.max(r,this.lastChar)}return this.resources}static getFirstPositionInfo(e,t,r){const[a,n,o,c]=e;let l=o-a,h=c-n;t%180!=0&&([l,h]=[h,l]);const u=i*r;return{coords:[0,h+s*r-u],bbox:[0,0,l,h],matrix:0!==t?getRotationMatrix(t,h,u):void 0}}createAppearance(e,t,r,a,n,o){const c=this._createContext(),l=[];let h=-1/0;for(const t of e.split(/\r\n?|\n/)){l.push(t);const e=c.measureText(t).width;h=Math.max(h,e);for(const e of codePointIter(t)){const t=String.fromCodePoint(e);let r=this.widths.get(e);if(void 0===r){const a=c.measureText(t);r=Math.ceil(a.width);this.widths.set(e,r);this.firstChar=Math.min(e,this.firstChar);this.lastChar=Math.max(e,this.lastChar)}}}h*=a/1e3;const[u,d,f,g]=t;let p=f-u,m=g-d;r%180!=0&&([p,m]=[m,p]);let b=1;h>p&&(b=p/h);let y=1;const w=i*a,v=s*a,x=w*l.length;x>m&&(y=m/x);const S=a*Math.min(b,y),k=["q",`0 0 ${numberToString(p)} ${numberToString(m)} re W n`,"BT",`1 0 0 1 0 ${numberToString(m+v)} Tm 0 Tc ${getPdfColor(n,!0)}`,`/${this.fontName.name} ${numberToString(S)} Tf`],{resources:C}=this;if(1!==(o="number"==typeof o&&o>=0&&o<=1?o:1)){k.push("/R0 gs");const e=new Dict(this.xref),t=new Dict(this.xref);t.set("ca",o);t.set("CA",o);t.set("Type",Name.get("ExtGState"));e.set("R0",t);C.set("ExtGState",e)}const T=numberToString(w);for(const e of l)k.push(`0 -${T} Td <${stringToUTF16HexString(e)}> Tj`);k.push("ET","Q");const _=k.join("\n"),O=new Dict(this.xref);O.set("Subtype",Name.get("Form"));O.set("Type",Name.get("XObject"));O.set("BBox",[0,0,p,m]);O.set("Length",_.length);O.set("Resources",C);if(r){const e=getRotationMatrix(r,p,m);O.set("Matrix",e)}const M=new StringStream(_);M.dict=O;return M}}class NameOrNumberTree{constructor(e,t,r){this.root=e;this.xref=t;this._type=r}getAll(){const e=new Map;if(!this.root)return e;const t=this.xref,r=new RefSet;r.put(this.root);const a=[this.root];for(;a.length>0;){const n=t.fetchIfRef(a.shift());if(!(n instanceof Dict))continue;if(n.has("Kids")){const e=n.get("Kids");if(!Array.isArray(e))continue;for(const t of e){if(r.has(t))throw new FormatError(`Duplicate entry in "${this._type}" tree.`);a.push(t);r.put(t)}continue}const i=n.get(this._type);if(Array.isArray(i))for(let r=0,a=i.length;r10){warn(`Search depth limit reached for "${this._type}" tree.`);return null}const n=r.get("Kids");if(!Array.isArray(n))return null;let i=0,s=n.length-1;for(;i<=s;){const a=i+s>>1,o=t.fetchIfRef(n[a]),c=o.get("Limits");if(et.fetchIfRef(c[1]))){r=o;break}i=a+1}}if(i>s)return null}const n=r.get(this._type);if(Array.isArray(n)){let r=0,a=n.length-2;for(;r<=a;){const i=r+a>>1,s=i+(1&i),o=t.fetchIfRef(n[s]);if(eo))return n[s+1];r=s+2}}}return null}get(e){return this.xref.fetchIfRef(this.getRaw(e))}}class NameTree extends NameOrNumberTree{constructor(e,t){super(e,t,"Names")}}class NumberTree extends NameOrNumberTree{constructor(e,t){super(e,t,"Nums")}}function clearGlobalCaches(){!function clearPatternCaches(){mi=Object.create(null)}();!function clearPrimitiveCaches(){Cr=Object.create(null);Fr=Object.create(null);Ir=Object.create(null)}();!function clearUnicodeCaches(){xn.clear()}();JpxImage.cleanup()}function file_spec_classPrivateFieldInitSpec(e,t,r){(function file_spec_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function file_spec_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}function pickPlatformItem(e){return e instanceof Dict?e.has("UF")?e.get("UF"):e.has("F")?e.get("F"):e.has("Unix")?e.get("Unix"):e.has("Mac")?e.get("Mac"):e.has("DOS")?e.get("DOS"):null:null}var Bs=new WeakMap;class FileSpec{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];file_spec_classPrivateFieldInitSpec(this,Bs,!1);if(e instanceof Dict){this.xref=t;this.root=e;e.has("FS")&&(this.fs=e.get("FS"));e.has("RF")&&warn("Related file specifications are not supported");r||(e.has("EF")?function file_spec_classPrivateFieldSet(e,t,r){return e.set(file_spec_assertClassBrand(e,t),r),r}(Bs,this,!0):warn("Non-embedded file specifications are not supported"))}}get filename(){let e="";const t=pickPlatformItem(this.root);t&&"string"==typeof t&&(e=stringToPDFString(t,!0).replaceAll("\\\\","\\").replaceAll("\\/","/").replaceAll("\\","/"));return shadow(this,"filename",e||"unnamed")}get content(){if(!function file_spec_classPrivateFieldGet(e,t){return e.get(file_spec_assertClassBrand(e,t))}(Bs,this))return null;this._contentRef||=pickPlatformItem(this.root?.get("EF"));let e=null;if(this._contentRef){const t=this.xref.fetchIfRef(this._contentRef);t instanceof BaseStream?e=t.getBytes():warn("Embedded file specification points to non-existing/invalid content")}else warn("Embedded file specification does not have any content");return e}get description(){let e="";const t=this.root?.get("Desc");t&&"string"==typeof t&&(e=stringToPDFString(t));return shadow(this,"description",e)}get serializable(){return{rawFilename:this.filename,filename:(e=this.filename,e.substring(e.lastIndexOf("/")+1)),content:this.content,description:this.description};var e}}const Ms=0,Rs=-2,Ds=-3,Es=-4,Ns=-5,js=-6,Ls=-9;function isWhitespace(e,t){const r=e[t];return" "===r||"\n"===r||"\r"===r||"\t"===r}class XMLParserBase{_resolveEntities(e){return e.replaceAll(/&([^;]+);/g,((e,t)=>{if("#x"===t.substring(0,2))return String.fromCodePoint(parseInt(t.substring(2),16));if("#"===t.substring(0,1))return String.fromCodePoint(parseInt(t.substring(1),10));switch(t){case"lt":return"<";case"gt":return">";case"amp":return"&";case"quot":return'"';case"apos":return"'"}return this.onResolveEntity(t)}))}_parseContent(e,t){const r=[];let a=t;function skipWs(){for(;a"!==e[a]&&"/"!==e[a];)++a;const n=e.substring(t,a);skipWs();for(;a"!==e[a]&&"/"!==e[a]&&"?"!==e[a];){skipWs();let t="",n="";for(;a"!==e[r]&&"?"!==e[r]&&"/"!==e[r];)++r;const a=e.substring(t,r);!function skipWs(){for(;r"!==e[r+1]);)++r;return{name:a,value:e.substring(n,r),parsed:r-t}}parseXml(e){let t=0;for(;t",r);if(t<0){this.onError(Ls);return}this.onEndElement(e.substring(r,t));r=t+1;break;case"?":++r;const a=this._parseProcessingInstruction(e,r);if("?>"!==e.substring(r+a.parsed,r+a.parsed+2)){this.onError(Ds);return}this.onPi(a.name,a.value);r+=a.parsed+2;break;case"!":if("--"===e.substring(r+1,r+3)){t=e.indexOf("--\x3e",r+3);if(t<0){this.onError(Ns);return}this.onComment(e.substring(r+3,t));r=t+3}else if("[CDATA["===e.substring(r+1,r+8)){t=e.indexOf("]]>",r+8);if(t<0){this.onError(Rs);return}this.onCdata(e.substring(r+8,t));r=t+3}else{if("DOCTYPE"!==e.substring(r+1,r+8)){this.onError(js);return}{const a=e.indexOf("[",r+8);let n=!1;t=e.indexOf(">",r+8);if(t<0){this.onError(Es);return}if(a>0&&t>a){t=e.indexOf("]>",r+8);if(t<0){this.onError(Es);return}n=!0}const i=e.substring(r+8,t+(n?1:0));this.onDoctype(i);r=t+(n?2:1)}}break;default:const n=this._parseContent(e,r);if(null===n){this.onError(js);return}let i=!1;if("/>"===e.substring(r+n.parsed,r+n.parsed+2))i=!0;else if(">"!==e.substring(r+n.parsed,r+n.parsed+1)){this.onError(Ls);return}this.onBeginElement(n.name,n.attributes,i);r+=n.parsed+(i?2:1)}}else{for(;re.textContent)).join(""):this.nodeValue||""}get children(){return this.childNodes||[]}hasChildNodes(){return this.childNodes?.length>0}searchNode(e,t){if(t>=e.length)return this;const r=e[t];if(r.name.startsWith("#")&&t0){a.push([n,0]);n=n.childNodes[0]}else{if(0===a.length)return null;for(;0!==a.length;){const[e,t]=a.pop(),r=t+1;if(r");for(const t of this.childNodes)t.dump(e);e.push(``)}else this.nodeValue?e.push(`>${encodeToXmlString(this.nodeValue)}`):e.push("/>")}else e.push(encodeToXmlString(this.nodeValue))}}class SimpleXMLParser extends XMLParserBase{constructor(e){let{hasAttributes:t=!1,lowerCaseName:r=!1}=e;super();this._currentFragment=null;this._stack=null;this._errorCode=Ms;this._hasAttributes=t;this._lowerCaseName=r}parseFromString(e){this._currentFragment=[];this._stack=[];this._errorCode=Ms;this.parseXml(e);if(this._errorCode!==Ms)return;const[t]=this._currentFragment;return t?{documentElement:t}:void 0}onText(e){if(function isWhitespaceString(e){for(let t=0,r=e.length;t\\376\\377([^<]+)/g,(function(e,t){const r=t.replaceAll(/\\([0-3])([0-7])([0-7])/g,(function(e,t,r,a){return String.fromCharCode(64*t+8*r+1*a)})).replaceAll(/&(amp|apos|gt|lt|quot);/g,(function(e,t){switch(t){case"amp":return"&";case"apos":return"'";case"gt":return">";case"lt":return"<";case"quot":return'"'}throw new Error(`_repair: ${t} isn't defined.`)})),a=[">"];for(let e=0,t=r.length;e=32&&t<127&&60!==t&&62!==t&&38!==t?a.push(String.fromCharCode(t)):a.push("&#x"+(65536+t).toString(16).substring(1)+";")}return a.join("")}))}_getSequence(e){const t=e.nodeName;return"rdf:bag"!==t&&"rdf:seq"!==t&&"rdf:alt"!==t?null:e.childNodes.filter((e=>"rdf:li"===e.nodeName))}_parseArray(e){if(!e.hasChildNodes())return;const[t]=e.childNodes,r=this._getSequence(t)||[];this._metadataMap.set(e.nodeName,r.map((e=>e.textContent.trim())))}_parse(e){let t=e.documentElement;if("rdf:rdf"!==t.nodeName){t=t.firstChild;for(;t&&"rdf:rdf"!==t.nodeName;)t=t.nextSibling}if(t&&"rdf:rdf"===t.nodeName&&t.hasChildNodes())for(const e of t.childNodes)if("rdf:description"===e.nodeName)for(const t of e.childNodes){const e=t.nodeName;switch(e){case"#text":continue;case"dc:creator":case"dc:subject":this._parseArray(t);continue}this._metadataMap.set(e,t.textContent.trim())}}get serializable(){return{parsedData:this._metadataMap,rawData:this._data}}}var Us;function struct_tree_classPrivateMethodInitSpec(e,t){(function struct_tree_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function struct_tree_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const qs=1,Xs=2,Hs=3,Ws=4,zs=5;var Gs,$s=new WeakSet;class StructTreeRoot{constructor(e,t,r){struct_tree_classPrivateMethodInitSpec(this,$s);this.xref=e;this.dict=t;this.ref=r instanceof Ref?r:null;this.roleMap=new Map;this.structParentIds=null}init(){this.readRoleMap()}addAnnotationIdToPage(e,t){struct_tree_assertClassBrand($s,this,_addIdToPage).call(this,e,t,Ws)}readRoleMap(){const e=this.dict.get("RoleMap");if(e instanceof Dict)for(const[t,r]of e)r instanceof Name&&this.roleMap.set(t,r.name)}static async canCreateStructureTree(e){let{catalogRef:t,pdfManager:r,newAnnotationsByPage:a}=e;if(!(t instanceof Ref)){warn("Cannot save the struct tree: no catalog reference.");return!1}let n=0,i=!0;for(const[e,t]of a){const{ref:a}=await r.getPage(e);if(!(a instanceof Ref)){warn(`Cannot save the struct tree: page ${e} has no ref.`);i=!0;break}for(const e of t)if(e.accessibilityData?.type){e.parentTreeId=n++;i=!1}}if(i){for(const e of a.values())for(const t of e)delete t.parentTreeId;return!1}return!0}static async createStructureTree(e){let{newAnnotationsByPage:t,xref:r,catalogRef:a,pdfManager:n,changes:i}=e;const s=await n.ensureCatalog("cloneDict"),o=new RefSetCache;o.put(a,s);const c=r.getNewTemporaryRef();s.set("StructTreeRoot",c);const l=new Dict(r);l.set("Type",Name.get("StructTreeRoot"));const h=r.getNewTemporaryRef();l.set("ParentTree",h);const u=[];l.set("K",u);o.put(c,l);const d=new Dict(r),f=[];d.set("Nums",f);const g=await struct_tree_assertClassBrand(StructTreeRoot,this,_writeKids).call(this,{newAnnotationsByPage:t,structTreeRootRef:c,structTreeRoot:null,kids:u,nums:f,xref:r,pdfManager:n,changes:i,cache:o});l.set("ParentTreeNextKey",g);o.put(h,d);for(const[e,t]of o.items())i.put(e,{data:t})}async canUpdateStructTree(e){let{pdfManager:t,newAnnotationsByPage:r}=e;if(!this.ref){warn("Cannot update the struct tree: no root reference.");return!1}let a=this.dict.get("ParentTreeNextKey");if(!Number.isInteger(a)||a<0){warn("Cannot update the struct tree: invalid next key.");return!1}const n=this.dict.get("ParentTree");if(!(n instanceof Dict)){warn("Cannot update the struct tree: ParentTree isn't a dict.");return!1}const i=n.get("Nums");if(!Array.isArray(i)){warn("Cannot update the struct tree: nums isn't an array.");return!1}const s=new NumberTree(n,this.xref);for(const e of r.keys()){const{pageDict:r}=await t.getPage(e);if(!r.has("StructParents"))continue;const a=r.get("StructParents");if(!Number.isInteger(a)||!Array.isArray(s.get(a))){warn(`Cannot save the struct tree: page ${e} has a wrong id.`);return!1}}let o=!0;for(const[e,n]of r){const{pageDict:r}=await t.getPage(e);_collectParents.call(StructTreeRoot,{elements:n,xref:this.xref,pageDict:r,numberTree:s});for(const e of n)if(e.accessibilityData?.type){e.accessibilityData.structParent>=0||(e.parentTreeId=a++);o=!1}}if(o){for(const e of r.values())for(const t of e){delete t.parentTreeId;delete t.structTreeParent}return!1}return!0}async updateStructureTree(e){let{newAnnotationsByPage:t,pdfManager:r,changes:a}=e;const{ref:n,xref:i}=this,s=this.dict.clone(),o=new RefSetCache;o.put(n,s);let c,l=s.getRaw("ParentTree");if(l instanceof Ref)c=i.fetch(l);else{c=l;l=i.getNewTemporaryRef();s.set("ParentTree",l)}c=c.clone();o.put(l,c);let h=c.getRaw("Nums"),u=null;if(h instanceof Ref){u=h;h=i.fetch(u)}h=h.slice();u||c.set("Nums",h);const d=await _writeKids.call(StructTreeRoot,{newAnnotationsByPage:t,structTreeRootRef:n,structTreeRoot:this,kids:null,nums:h,xref:i,pdfManager:r,changes:a,cache:o});if(-1!==d){s.set("ParentTreeNextKey",d);u&&o.put(u,h);for(const[e,t]of o.items())a.put(e,{data:t})}}}Us=StructTreeRoot;function _addIdToPage(e,t,r){if(!(e instanceof Ref)||t<0)return;this.structParentIds||=new RefSetCache;let a=this.structParentIds.get(e);if(!a){a=[];this.structParentIds.put(e,a)}a.push([t,r])}async function _writeKids(e){let{newAnnotationsByPage:t,structTreeRootRef:r,structTreeRoot:a,kids:n,nums:i,xref:s,pdfManager:o,changes:c,cache:l}=e;const h=Name.get("OBJR");let u,d=-1;for(const[e,f]of t){const t=await o.getPage(e),{ref:g}=t,p=g instanceof Ref;for(const{accessibilityData:o,ref:m,parentTreeId:b,structTreeParent:y}of f){if(!o?.type)continue;const{structParent:f}=o;if(a&&Number.isInteger(f)&&f>=0){let r=(u||=new Map).get(e);if(void 0===r){r=new StructTreePage(a,t.pageDict).collectObjects(g);u.set(e,r)}const n=r?.get(f);if(n){const e=s.fetch(n).clone();_writeProperties.call(Us,e,o);c.put(n,{data:e});continue}}d=Math.max(d,b);const w=s.getNewTemporaryRef(),v=new Dict(s);_writeProperties.call(Us,v,o);await struct_tree_assertClassBrand(Us,this,_updateParentTag).call(this,{structTreeParent:y,tagDict:v,newTagRef:w,structTreeRootRef:r,fallbackKids:n,xref:s,cache:l});const x=new Dict(s);v.set("K",x);x.set("Type",h);p&&x.set("Pg",g);x.set("Obj",m);l.put(w,v);i.push(b,w)}}return d+1}function _writeProperties(e,t){let{type:r,title:a,lang:n,alt:i,expanded:s,actualText:o}=t;e.set("S",Name.get(r));a&&e.set("T",stringToAsciiOrUTF16BE(a));n&&e.set("Lang",stringToAsciiOrUTF16BE(n));i&&e.set("Alt",stringToAsciiOrUTF16BE(i));s&&e.set("E",stringToAsciiOrUTF16BE(s));o&&e.set("ActualText",stringToAsciiOrUTF16BE(o))}function _collectParents(e){let{elements:t,xref:r,pageDict:a,numberTree:n}=e;const i=new Map;for(const e of t)if(e.structTreeParentId){const t=parseInt(e.structTreeParentId.split("_mc")[1],10);let r=i.get(t);if(!r){r=[];i.set(t,r)}r.push(e)}const s=a.get("StructParents");if(!Number.isInteger(s))return;const o=n.get(s),updateElement=(e,t,a)=>{const n=i.get(e);if(n){const e=t.getRaw("P"),i=r.fetchIfRef(e);if(e instanceof Ref&&i instanceof Dict){const e={ref:a,dict:t};for(const t of n)t.structTreeParent=e}return!0}return!1};for(const e of o){if(!(e instanceof Ref))continue;const t=r.fetch(e),a=t.get("K");if(Number.isInteger(a))updateElement(a,t,e);else if(Array.isArray(a))for(let n of a){n=r.fetchIfRef(n);if(Number.isInteger(n)&&updateElement(n,t,e))break;if(!(n instanceof Dict))continue;if(!isName(n.get("Type"),"MCR"))break;const a=n.get("MCID");if(Number.isInteger(a)&&updateElement(a,t,e))break}}}async function _updateParentTag(e){let t,{structTreeParent:r,tagDict:a,newTagRef:n,structTreeRootRef:i,fallbackKids:s,xref:o,cache:c}=e,l=null;if(r){({ref:l}=r);t=r.dict.getRaw("P")||i}else t=i;a.set("P",t);const h=o.fetchIfRef(t);if(!h){s.push(n);return}let u=c.get(t);if(!u){u=h.clone();c.put(t,u)}const d=u.getRaw("K");let f=d instanceof Ref?c.get(d):null;if(!f){f=o.fetchIfRef(d);f=Array.isArray(f)?f.slice():[d];const e=o.getNewTemporaryRef();u.set("K",e);c.put(e,f)}const g=f.indexOf(l);f.splice(g>=0?g+1:f.length,0,n)}class StructElementNode{constructor(e,t){this.tree=e;this.xref=e.xref;this.dict=t;this.kids=[];this.parseKids()}get role(){const e=this.dict.get("S"),t=e instanceof Name?e.name:"",{root:r}=this.tree;return r.roleMap.get(t)??t}parseKids(){let e=null;const t=this.dict.getRaw("Pg");t instanceof Ref&&(e=t.toString());const r=this.dict.get("K");if(Array.isArray(r))for(const t of r){const r=this.parseKid(e,this.xref.fetchIfRef(t));r&&this.kids.push(r)}else{const t=this.parseKid(e,r);t&&this.kids.push(t)}}parseKid(e,t){if(Number.isInteger(t))return this.tree.pageDict.objId!==e?null:new StructElement({type:qs,mcid:t,pageObjId:e});if(!(t instanceof Dict))return null;const r=t.getRaw("Pg");r instanceof Ref&&(e=r.toString());const a=t.get("Type")instanceof Name?t.get("Type").name:null;if("MCR"===a){if(this.tree.pageDict.objId!==e)return null;const r=t.getRaw("Stm");return new StructElement({type:Xs,refObjId:r instanceof Ref?r.toString():null,pageObjId:e,mcid:t.get("MCID")})}if("OBJR"===a){if(this.tree.pageDict.objId!==e)return null;const r=t.getRaw("Obj");return new StructElement({type:Hs,refObjId:r instanceof Ref?r.toString():null,pageObjId:e})}return new StructElement({type:zs,dict:t})}}class StructElement{constructor(e){let{type:t,dict:r=null,mcid:a=null,pageObjId:n=null,refObjId:i=null}=e;this.type=t;this.dict=r;this.mcid=a;this.pageObjId=n;this.refObjId=i;this.parentNode=null}}class StructTreePage{constructor(e,t){this.root=e;this.xref=e?.xref??null;this.rootDict=e?.dict??null;this.pageDict=t;this.nodes=[]}collectObjects(e){if(!(this.root&&this.rootDict&&e instanceof Ref))return null;const t=this.rootDict.get("ParentTree");if(!t)return null;const r=this.root.structParentIds?.get(e);if(!r)return null;const a=new Map,n=new NumberTree(t,this.xref);for(const[e]of r){const t=n.getRaw(e);t instanceof Ref&&a.set(e,t)}return a}parse(e){if(!(this.root&&this.rootDict&&e instanceof Ref))return;const t=this.rootDict.get("ParentTree");if(!t)return;const r=this.pageDict.get("StructParents"),a=this.root.structParentIds?.get(e);if(!Number.isInteger(r)&&!a)return;const n=new Map,i=new NumberTree(t,this.xref);if(Number.isInteger(r)){const e=i.get(r);if(Array.isArray(e))for(const t of e)t instanceof Ref&&this.addNode(this.xref.fetch(t),n)}if(a)for(const[e,t]of a){const r=i.get(e);if(r){const e=this.addNode(this.xref.fetchIfRef(r),n);1===e?.kids?.length&&e.kids[0].type===Hs&&(e.kids[0].type=t)}}}addNode(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(r>40){warn("StructTree MAX_DEPTH reached.");return null}if(!(e instanceof Dict))return null;if(t.has(e))return t.get(e);const a=new StructElementNode(this,e);t.set(e,a);const n=e.get("P");if(!(n instanceof Dict)||isName(n.get("Type"),"StructTreeRoot")){this.addTopLevelNode(e,a)||t.delete(e);return a}const i=this.addNode(n,t,r+1);if(!i)return a;let s=!1;for(const t of i.kids)if(t.type===zs&&t.dict===e){t.parentNode=a;s=!0}s||t.delete(e);return a}addTopLevelNode(e,t){const r=this.rootDict.get("K");if(!r)return!1;if(r instanceof Dict){if(r.objId!==e.objId)return!1;this.nodes[0]=t;return!0}if(!Array.isArray(r))return!0;let a=!1;for(let n=0;n2&&void 0!==arguments[2]?arguments[2]:0;if(r>40){warn("StructTree too deep to be fully serialized.");return}const a=Object.create(null);a.role=e.role;a.children=[];t.children.push(a);let n=e.dict.get("Alt");"string"!=typeof n&&(n=e.dict.get("ActualText"));"string"==typeof n&&(a.alt=stringToPDFString(n));const i=e.dict.get("A");if(i instanceof Dict){const e=lookupNormalRect(i.getArray("BBox"),null);if(e)a.bbox=e;else{const e=i.get("Width"),t=i.get("Height");"number"==typeof e&&e>0&&"number"==typeof t&&t>0&&(a.bbox=[0,0,e,t])}}const s=e.dict.get("Lang");"string"==typeof s&&(a.lang=stringToPDFString(s));for(const t of e.kids){const e=t.type===zs?t.parentNode:null;e?nodeToSerializable(e,a,r+1):t.type===qs||t.type===Xs?a.children.push({type:"content",id:`p${t.pageObjId}_mc${t.mcid}`}):t.type===Hs?a.children.push({type:"object",id:t.refObjId}):t.type===Ws&&a.children.push({type:"annotation",id:`pdfjs_internal_id_${t.refObjId}`})}}const e=Object.create(null);e.children=[];e.role="Root";for(const t of this.nodes)t&&nodeToSerializable(t,e);return e}}function catalog_defineProperty(e,t,r){return(t=function catalog_toPropertyKey(e){var t=function catalog_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function catalog_classPrivateFieldInitSpec(e,t,r){catalog_checkPrivateRedeclaration(e,t),t.set(e,r)}function catalog_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function catalog_classPrivateFieldGet(e,t){return e.get(catalog_assertClassBrand(e,t))}function catalog_classPrivateFieldSet(e,t,r){return e.set(catalog_assertClassBrand(e,t),r),r}function catalog_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const Vs=function _isValidExplicitDest(e,t,r){if(!Array.isArray(r)||r.length<2)return!1;const[a,n,...i]=r;if(!e(a)&&!Number.isInteger(a))return!1;if(!t(n))return!1;const s=i.length;let o=!0;switch(n.name){case"XYZ":if(s<2||s>3)return!1;break;case"Fit":case"FitB":return 0===s;case"FitH":case"FitBH":case"FitV":case"FitBV":if(s>1)return!1;break;case"FitR":if(4!==s)return!1;o=!1;break;default:return!1}for(const e of i)if(!("number"==typeof e||o&&null===e))return!1;return!0}.bind(null,(e=>e instanceof Ref),isName);function fetchDest(e){e instanceof Dict&&(e=e.get("D"));return Vs(e)?e:null}function fetchRemoteDest(e){let t=e.get("D");if(t){t instanceof Name&&(t=t.name);if("string"==typeof t)return stringToPDFString(t,!0);if(Vs(t))return JSON.stringify(t)}return null}var Ks=new WeakMap,Js=new WeakMap,Ys=new WeakSet;class Catalog{constructor(e,t){!function catalog_classPrivateMethodInitSpec(e,t){catalog_checkPrivateRedeclaration(e,t),t.add(e)}(this,Ys);catalog_classPrivateFieldInitSpec(this,Ks,null);catalog_classPrivateFieldInitSpec(this,Js,null);catalog_defineProperty(this,"builtInCMapCache",new Map);catalog_defineProperty(this,"fontCache",new RefSetCache);catalog_defineProperty(this,"globalColorSpaceCache",new GlobalColorSpaceCache);catalog_defineProperty(this,"globalImageCache",new GlobalImageCache);catalog_defineProperty(this,"nonBlendModesSet",new RefSet);catalog_defineProperty(this,"pageDictCache",new RefSetCache);catalog_defineProperty(this,"pageIndexCache",new RefSetCache);catalog_defineProperty(this,"pageKidsCountCache",new RefSetCache);catalog_defineProperty(this,"standardFontDataCache",new Map);catalog_defineProperty(this,"systemFontCache",new Map);this.pdfManager=e;this.xref=t;catalog_classPrivateFieldSet(Js,this,t.getCatalogObj());if(!(catalog_classPrivateFieldGet(Js,this)instanceof Dict))throw new FormatError("Catalog object is not a dictionary.");this.toplevelPagesDict}cloneDict(){return catalog_classPrivateFieldGet(Js,this).clone()}get version(){const e=catalog_classPrivateFieldGet(Js,this).get("Version");if(e instanceof Name){if(_r.test(e.name))return shadow(this,"version",e.name);warn(`Invalid PDF catalog version: ${e.name}`)}return shadow(this,"version",null)}get lang(){const e=catalog_classPrivateFieldGet(Js,this).get("Lang");return shadow(this,"lang",e&&"string"==typeof e?stringToPDFString(e):null)}get needsRendering(){const e=catalog_classPrivateFieldGet(Js,this).get("NeedsRendering");return shadow(this,"needsRendering","boolean"==typeof e&&e)}get collection(){let e=null;try{const t=catalog_classPrivateFieldGet(Js,this).get("Collection");t instanceof Dict&&t.size>0&&(e=t)}catch(e){if(e instanceof MissingDataException)throw e;info("Cannot fetch Collection entry; assuming no collection is present.")}return shadow(this,"collection",e)}get acroForm(){let e=null;try{const t=catalog_classPrivateFieldGet(Js,this).get("AcroForm");t instanceof Dict&&t.size>0&&(e=t)}catch(e){if(e instanceof MissingDataException)throw e;info("Cannot fetch AcroForm entry; assuming no forms are present.")}return shadow(this,"acroForm",e)}get acroFormRef(){const e=catalog_classPrivateFieldGet(Js,this).getRaw("AcroForm");return shadow(this,"acroFormRef",e instanceof Ref?e:null)}get metadata(){const e=catalog_classPrivateFieldGet(Js,this).getRaw("Metadata");if(!(e instanceof Ref))return shadow(this,"metadata",null);let t=null;try{const r=this.xref.fetch(e,!this.xref.encrypt?.encryptMetadata);if(r instanceof BaseStream&&r.dict instanceof Dict){const e=r.dict.get("Type"),a=r.dict.get("Subtype");if(isName(e,"Metadata")&&isName(a,"XML")){const e=stringToUTF8String(r.getString());e&&(t=new MetadataParser(e).serializable)}}}catch(e){if(e instanceof MissingDataException)throw e;info(`Skipping invalid Metadata: "${e}".`)}return shadow(this,"metadata",t)}get markInfo(){let e=null;try{e=catalog_assertClassBrand(Ys,this,_readMarkInfo).call(this)}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read mark info.")}return shadow(this,"markInfo",e)}get structTreeRoot(){let e=null;try{e=catalog_assertClassBrand(Ys,this,_readStructTreeRoot).call(this)}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable read to structTreeRoot info.")}return shadow(this,"structTreeRoot",e)}get toplevelPagesDict(){const e=catalog_classPrivateFieldGet(Js,this).get("Pages");if(!(e instanceof Dict))throw new FormatError("Invalid top-level pages dictionary.");return shadow(this,"toplevelPagesDict",e)}get documentOutline(){let e=null;try{e=catalog_assertClassBrand(Ys,this,_readDocumentOutline).call(this)}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read document outline.")}return shadow(this,"documentOutline",e)}get permissions(){let e=null;try{e=catalog_assertClassBrand(Ys,this,_readPermissions).call(this)}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read permissions.")}return shadow(this,"permissions",e)}get optionalContentConfig(){let e=null;try{const t=catalog_classPrivateFieldGet(Js,this).get("OCProperties");if(!t)return shadow(this,"optionalContentConfig",null);const r=t.get("D");if(!r)return shadow(this,"optionalContentConfig",null);const a=t.get("OCGs");if(!Array.isArray(a))return shadow(this,"optionalContentConfig",null);const n=new RefSetCache;for(const e of a)e instanceof Ref&&!n.has(e)&&n.put(e,catalog_assertClassBrand(Ys,this,_readOptionalContentGroup).call(this,e));e=catalog_assertClassBrand(Ys,this,_readOptionalContentConfig).call(this,r,n)}catch(e){if(e instanceof MissingDataException)throw e;warn(`Unable to read optional content config: ${e}`)}return shadow(this,"optionalContentConfig",e)}setActualNumPages(){catalog_classPrivateFieldSet(Ks,this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:null)}get hasActualNumPages(){return null!==catalog_classPrivateFieldGet(Ks,this)}get _pagesCount(){const e=this.toplevelPagesDict.get("Count");if(!Number.isInteger(e))throw new FormatError("Page count in top-level pages dictionary is not an integer.");return shadow(this,"_pagesCount",e)}get numPages(){return catalog_classPrivateFieldGet(Ks,this)??this._pagesCount}get destinations(){const e=catalog_assertClassBrand(Ys,this,_readDests).call(this),t=Object.create(null);for(const r of e)if(r instanceof NameTree)for(const[e,a]of r.getAll()){const r=fetchDest(a);r&&(t[stringToPDFString(e,!0)]=r)}else if(r instanceof Dict)for(const[e,a]of r){const r=fetchDest(a);r&&(t[stringToPDFString(e,!0)]||=r)}return shadow(this,"destinations",t)}getDestination(e){if(this.hasOwnProperty("destinations"))return this.destinations[e]??null;const t=catalog_assertClassBrand(Ys,this,_readDests).call(this);for(const r of t)if(r instanceof NameTree||r instanceof Dict){const t=fetchDest(r.get(e));if(t)return t}if(t.length){const t=this.destinations[e];if(t)return t}return null}get pageLabels(){let e=null;try{e=catalog_assertClassBrand(Ys,this,_readPageLabels).call(this)}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read page labels.")}return shadow(this,"pageLabels",e)}get pageLayout(){const e=catalog_classPrivateFieldGet(Js,this).get("PageLayout");let t="";if(e instanceof Name)switch(e.name){case"SinglePage":case"OneColumn":case"TwoColumnLeft":case"TwoColumnRight":case"TwoPageLeft":case"TwoPageRight":t=e.name}return shadow(this,"pageLayout",t)}get pageMode(){const e=catalog_classPrivateFieldGet(Js,this).get("PageMode");let t="UseNone";if(e instanceof Name)switch(e.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"FullScreen":case"UseOC":case"UseAttachments":t=e.name}return shadow(this,"pageMode",t)}get viewerPreferences(){const e=catalog_classPrivateFieldGet(Js,this).get("ViewerPreferences");if(!(e instanceof Dict))return shadow(this,"viewerPreferences",null);let t=null;for(const[r,a]of e){let e;switch(r){case"HideToolbar":case"HideMenubar":case"HideWindowUI":case"FitWindow":case"CenterWindow":case"DisplayDocTitle":case"PickTrayByPDFSize":"boolean"==typeof a&&(e=a);break;case"NonFullScreenPageMode":if(a instanceof Name)switch(a.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"UseOC":e=a.name;break;default:e="UseNone"}break;case"Direction":if(a instanceof Name)switch(a.name){case"L2R":case"R2L":e=a.name;break;default:e="L2R"}break;case"ViewArea":case"ViewClip":case"PrintArea":case"PrintClip":if(a instanceof Name)switch(a.name){case"MediaBox":case"CropBox":case"BleedBox":case"TrimBox":case"ArtBox":e=a.name;break;default:e="CropBox"}break;case"PrintScaling":if(a instanceof Name)switch(a.name){case"None":case"AppDefault":e=a.name;break;default:e="AppDefault"}break;case"Duplex":if(a instanceof Name)switch(a.name){case"Simplex":case"DuplexFlipShortEdge":case"DuplexFlipLongEdge":e=a.name;break;default:e="None"}break;case"PrintPageRange":if(Array.isArray(a)&&a.length%2==0){a.every(((e,t,r)=>Number.isInteger(e)&&e>0&&(0===t||e>=r[t-1])&&e<=this.numPages))&&(e=a)}break;case"NumCopies":Number.isInteger(a)&&a>0&&(e=a);break;default:warn(`Ignoring non-standard key in ViewerPreferences: ${r}.`);continue}if(void 0!==e){t??=Object.create(null);t[r]=e}else warn(`Bad value, for key "${r}", in ViewerPreferences: ${a}.`)}return shadow(this,"viewerPreferences",t)}get openAction(){const e=catalog_classPrivateFieldGet(Js,this).get("OpenAction"),t=Object.create(null);if(e instanceof Dict){const r=new Dict(this.xref);r.set("A",e);const a={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:r,resultObj:a});Array.isArray(a.dest)?t.dest=a.dest:a.action&&(t.action=a.action)}else Vs(e)&&(t.dest=e);return shadow(this,"openAction",objectSize(t)>0?t:null)}get attachments(){const e=catalog_classPrivateFieldGet(Js,this).get("Names");let t=null;if(e instanceof Dict&&e.has("EmbeddedFiles")){const r=new NameTree(e.getRaw("EmbeddedFiles"),this.xref);for(const[e,a]of r.getAll()){const r=new FileSpec(a,this.xref);t??=Object.create(null);t[stringToPDFString(e,!0)]=r.serializable}}return shadow(this,"attachments",t)}get xfaImages(){const e=catalog_classPrivateFieldGet(Js,this).get("Names");let t=null;if(e instanceof Dict&&e.has("XFAImages")){const r=new NameTree(e.getRaw("XFAImages"),this.xref);for(const[e,a]of r.getAll())if(a instanceof BaseStream){t??=new Map;t.set(stringToPDFString(e,!0),a.getBytes())}}return shadow(this,"xfaImages",t)}get jsActions(){const e=catalog_assertClassBrand(Ys,this,_collectJavaScript).call(this);let t=collectActions(this.xref,catalog_classPrivateFieldGet(Js,this),ke);if(e){t||=Object.create(null);for(const[r,a]of e)r in t?t[r].push(a):t[r]=[a]}return shadow(this,"jsActions",t)}async cleanup(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];clearGlobalCaches();this.globalColorSpaceCache.clear();this.globalImageCache.clear(e);this.pageKidsCountCache.clear();this.pageIndexCache.clear();this.pageDictCache.clear();this.nonBlendModesSet.clear();for(const{dict:e}of await Promise.all(this.fontCache))delete e.cacheKey;this.fontCache.clear();this.builtInCMapCache.clear();this.standardFontDataCache.clear();this.systemFontCache.clear()}async getPageDict(e){const t=[this.toplevelPagesDict],r=new RefSet,a=catalog_classPrivateFieldGet(Js,this).getRaw("Pages");a instanceof Ref&&r.put(a);const n=this.xref,i=this.pageKidsCountCache,s=this.pageIndexCache,o=this.pageDictCache;let c=0;for(;t.length;){const a=t.pop();if(a instanceof Ref){const l=i.get(a);if(l>=0&&c+l<=e){c+=l;continue}if(r.has(a))throw new FormatError("Pages tree contains circular reference.");r.put(a);const h=await(o.get(a)||n.fetchAsync(a));if(h instanceof Dict){let t=h.getRaw("Type");t instanceof Ref&&(t=await n.fetchAsync(t));if(isName(t,"Page")||!h.has("Kids")){i.has(a)||i.put(a,1);s.has(a)||s.put(a,c);if(c===e)return[h,a];c++;continue}}t.push(h);continue}if(!(a instanceof Dict))throw new FormatError("Page dictionary kid reference points to wrong type of object.");const{objId:l}=a;let h=a.getRaw("Count");h instanceof Ref&&(h=await n.fetchAsync(h));if(Number.isInteger(h)&&h>=0){l&&!i.has(l)&&i.put(l,h);if(c+h<=e){c+=h;continue}}let u=a.getRaw("Kids");u instanceof Ref&&(u=await n.fetchAsync(u));if(!Array.isArray(u)){let t=a.getRaw("Type");t instanceof Ref&&(t=await n.fetchAsync(t));if(isName(t,"Page")||!a.has("Kids")){if(c===e)return[a,null];c++;continue}throw new FormatError("Page dictionary kids object is not an array.")}for(let e=u.length-1;e>=0;e--){const r=u[e];t.push(r);a===this.toplevelPagesDict&&r instanceof Ref&&!o.has(r)&&o.put(r,n.fetchAsync(r))}}throw new Error(`Page index ${e} not found.`)}async getAllPageDicts(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{ignoreErrors:t}=this.pdfManager.evaluatorOptions,r=[{currentNode:this.toplevelPagesDict,posInKids:0}],a=new RefSet,n=catalog_classPrivateFieldGet(Js,this).getRaw("Pages");n instanceof Ref&&a.put(n);const i=new Map,s=this.xref,o=this.pageIndexCache;let c=0;function addPageDict(e,t){t&&!o.has(t)&&o.put(t,c);i.set(c++,[e,t])}function addPageError(r){if(r instanceof XRefEntryException&&!e)throw r;if(e&&t&&0===c){warn(`getAllPageDicts - Skipping invalid first page: "${r}".`);r=Dict.empty}i.set(c++,[r,null])}for(;r.length>0;){const e=r.at(-1),{currentNode:t,posInKids:n}=e;let i=t.getRaw("Kids");if(i instanceof Ref)try{i=await s.fetchAsync(i)}catch(e){addPageError(e);break}if(!Array.isArray(i)){addPageError(new FormatError("Page dictionary kids object is not an array."));break}if(n>=i.length){r.pop();continue}const o=i[n];let c;if(o instanceof Ref){if(a.has(o)){addPageError(new FormatError("Pages tree contains circular reference."));break}a.put(o);try{c=await s.fetchAsync(o)}catch(e){addPageError(e);break}}else c=o;if(!(c instanceof Dict)){addPageError(new FormatError("Page dictionary kid reference points to wrong type of object."));break}let l=c.getRaw("Type");if(l instanceof Ref)try{l=await s.fetchAsync(l)}catch(e){addPageError(e);break}isName(l,"Page")||!c.has("Kids")?addPageDict(c,o instanceof Ref?o:null):r.push({currentNode:c,posInKids:0});e.posInKids++}return i}getPageIndex(e){const t=this.pageIndexCache.get(e);if(void 0!==t)return Promise.resolve(t);const r=this.xref;let a=0;const next=t=>function pagesBeforeRef(t){let a,n=0;return r.fetchAsync(t).then((function(r){if(isRefsEqual(t,e)&&!isDict(r,"Page")&&!(r instanceof Dict&&!r.has("Type")&&r.has("Contents")))throw new FormatError("The reference does not point to a /Page dictionary.");if(!r)return null;if(!(r instanceof Dict))throw new FormatError("Node must be a dictionary.");a=r.getRaw("Parent");return r.getAsync("Parent")})).then((function(e){if(!e)return null;if(!(e instanceof Dict))throw new FormatError("Parent must be a dictionary.");return e.getAsync("Kids")})).then((function(e){if(!e)return null;const i=[];let s=!1;for(const a of e){if(!(a instanceof Ref))throw new FormatError("Kid must be a reference.");if(isRefsEqual(a,t)){s=!0;break}i.push(r.fetchAsync(a).then((function(e){if(!(e instanceof Dict))throw new FormatError("Kid node must be a dictionary.");e.has("Count")?n+=e.get("Count"):n++})))}if(!s)throw new FormatError("Kid reference not found in parent's kids.");return Promise.all(i).then((()=>[n,a]))}))}(t).then((t=>{if(!t){this.pageIndexCache.put(e,a);return a}const[r,n]=t;a+=r;return next(n)}));return next(e)}get baseUrl(){const e=catalog_classPrivateFieldGet(Js,this).get("URI");if(e instanceof Dict){const t=e.get("Base");if("string"==typeof t){const e=createValidAbsoluteUrl(t,null,{tryConvertEncoding:!0});if(e)return shadow(this,"baseUrl",e.href)}}return shadow(this,"baseUrl",this.pdfManager.docBaseUrl)}static parseDestDictionary(e){let{destDict:t,resultObj:r,docBaseUrl:a=null,docAttachments:n=null}=e;if(!(t instanceof Dict)){warn("parseDestDictionary: `destDict` must be a dictionary.");return}let i,s,o=t.get("A");if(!(o instanceof Dict))if(t.has("Dest"))o=t.get("Dest");else{o=t.get("AA");o instanceof Dict&&(o.has("D")?o=o.get("D"):o.has("U")&&(o=o.get("U")))}if(o instanceof Dict){const e=o.get("S");if(!(e instanceof Name)){warn("parseDestDictionary: Invalid type in Action dictionary.");return}const t=e.name;switch(t){case"ResetForm":const e=o.get("Flags"),a=!(1&("number"==typeof e?e:0)),c=[],l=[];for(const e of o.get("Fields")||[])e instanceof Ref?l.push(e.toString()):"string"==typeof e&&c.push(stringToPDFString(e));r.resetForm={fields:c,refs:l,include:a};break;case"URI":i=o.get("URI");i instanceof Name&&(i="/"+i.name);break;case"GoTo":s=o.get("D");break;case"Launch":case"GoToR":const h=o.get("F");if(h instanceof Dict){const e=new FileSpec(h,null,!0),{rawFilename:t}=e.serializable;i=t}else"string"==typeof h&&(i=h);const u=fetchRemoteDest(o);u&&"string"==typeof i&&(i=i.split("#",1)[0]+"#"+u);const d=o.get("NewWindow");"boolean"==typeof d&&(r.newWindow=d);break;case"GoToE":const f=o.get("T");let g;if(n&&f instanceof Dict){const e=f.get("R"),t=f.get("N");isName(e,"C")&&"string"==typeof t&&(g=n[stringToPDFString(t,!0)])}if(g){r.attachment=g;const e=fetchRemoteDest(o);e&&(r.attachmentDest=e)}else warn('parseDestDictionary - unimplemented "GoToE" action.');break;case"Named":const p=o.get("N");p instanceof Name&&(r.action=p.name);break;case"SetOCGState":const m=o.get("State"),b=o.get("PreserveRB");if(!Array.isArray(m)||0===m.length)break;const y=[];for(const e of m)if(e instanceof Name)switch(e.name){case"ON":case"OFF":case"Toggle":y.push(e.name)}else e instanceof Ref&&y.push(e.toString());if(y.length!==m.length)break;r.setOCGState={state:y,preserveRB:"boolean"!=typeof b||b};break;case"JavaScript":const w=o.get("JS");let v;w instanceof BaseStream?v=w.getString():"string"==typeof w&&(v=w);const x=v&&recoverJsURL(stringToPDFString(v,!0));if(x){i=x.url;r.newWindow=x.newWindow;break}default:if("JavaScript"===t||"SubmitForm"===t)break;warn(`parseDestDictionary - unsupported action: "${t}".`)}}else t.has("Dest")&&(s=t.get("Dest"));if("string"==typeof i){const e=createValidAbsoluteUrl(i,a,{addDefaultProtocol:!0,tryConvertEncoding:!0});e&&(r.url=e.href);r.unsafeUrl=i}if(s){s instanceof Name&&(s=s.name);"string"==typeof s?r.dest=stringToPDFString(s,!0):Vs(s)&&(r.dest=s)}}}Gs=Catalog;function _readMarkInfo(){const e=catalog_classPrivateFieldGet(Js,this).get("MarkInfo");if(!(e instanceof Dict))return null;const t={Marked:!1,UserProperties:!1,Suspects:!1};for(const r in t){const a=e.get(r);"boolean"==typeof a&&(t[r]=a)}return t}function _readStructTreeRoot(){const e=catalog_classPrivateFieldGet(Js,this).getRaw("StructTreeRoot"),t=this.xref.fetchIfRef(e);if(!(t instanceof Dict))return null;const r=new StructTreeRoot(this.xref,t,e);r.init();return r}function _readDocumentOutline(){let e=catalog_classPrivateFieldGet(Js,this).get("Outlines");if(!(e instanceof Dict))return null;e=e.getRaw("First");if(!(e instanceof Ref))return null;const t={items:[]},r=[{obj:e,parent:t}],a=new RefSet;a.put(e);const n=this.xref,i=new Uint8ClampedArray(3);for(;r.length>0;){const t=r.shift(),s=n.fetchIfRef(t.obj);if(null===s)continue;s.has("Title")||warn("Invalid outline item encountered.");const o={url:null,dest:null,action:null};Gs.parseDestDictionary({destDict:s,resultObj:o,docBaseUrl:this.baseUrl,docAttachments:this.attachments});const c=s.get("Title"),l=s.get("F")||0,h=s.getArray("C"),u=s.get("Count");let d=i;!isNumberArray(h,3)||0===h[0]&&0===h[1]&&0===h[2]||(d=ColorSpaceUtils.rgb.getRgb(h,0));const f={action:o.action,attachment:o.attachment,dest:o.dest,url:o.url,unsafeUrl:o.unsafeUrl,newWindow:o.newWindow,setOCGState:o.setOCGState,title:"string"==typeof c?stringToPDFString(c):"",color:d,count:Number.isInteger(u)?u:void 0,bold:!!(2&l),italic:!!(1&l),items:[]};t.parent.items.push(f);e=s.getRaw("First");if(e instanceof Ref&&!a.has(e)){r.push({obj:e,parent:f});a.put(e)}e=s.getRaw("Next");if(e instanceof Ref&&!a.has(e)){r.push({obj:e,parent:t.parent});a.put(e)}}return t.items.length>0?t.items:null}function _readPermissions(){const e=this.xref.trailer.get("Encrypt");if(!(e instanceof Dict))return null;let t=e.get("P");if("number"!=typeof t)return null;t+=2**32;const r=[];for(const e in S){const a=S[e];t&a&&r.push(a)}return r}function _readOptionalContentGroup(e){const t=this.xref.fetch(e),r={id:e.toString(),name:null,intent:null,usage:{print:null,view:null},rbGroups:[]},a=t.get("Name");"string"==typeof a&&(r.name=stringToPDFString(a));let n=t.getArray("Intent");Array.isArray(n)||(n=[n]);n.every((e=>e instanceof Name))&&(r.intent=n.map((e=>e.name)));const i=t.get("Usage");if(!(i instanceof Dict))return r;const s=r.usage,o=i.get("Print");if(o instanceof Dict){const e=o.get("PrintState");if(e instanceof Name)switch(e.name){case"ON":case"OFF":s.print={printState:e.name}}}const c=i.get("View");if(c instanceof Dict){const e=c.get("ViewState");if(e instanceof Name)switch(e.name){case"ON":case"OFF":s.view={viewState:e.name}}}return r}function _readOptionalContentConfig(e,t){function parseOnOff(e){const r=[];if(Array.isArray(e))for(const a of e)a instanceof Ref&&t.has(a)&&r.push(a.toString());return r}function parseOrder(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!Array.isArray(e))return null;const n=[];for(const i of e){if(i instanceof Ref&&t.has(i)){a.put(i);n.push(i.toString());continue}const e=parseNestedOrder(i,r);e&&n.push(e)}if(r>0)return n;const i=[];for(const[e]of t.items())a.has(e)||i.push(e.toString());i.length&&n.push({name:null,order:i});return n}function parseNestedOrder(e,t){if(++t>n){warn("parseNestedOrder - reached MAX_NESTED_LEVELS.");return null}const a=r.fetchIfRef(e);if(!Array.isArray(a))return null;const i=r.fetchIfRef(a[0]);if("string"!=typeof i)return null;const s=parseOrder(a.slice(1),t);return s?.length?{name:stringToPDFString(i),order:s}:null}const r=this.xref,a=new RefSet,n=10;!function parseRBGroups(e){if(Array.isArray(e))for(const a of e){const e=r.fetchIfRef(a);if(!Array.isArray(e)||!e.length)continue;const n=new Set;for(const r of e)if(r instanceof Ref&&t.has(r)&&!n.has(r.toString())){n.add(r.toString());t.get(r).rbGroups.push(n)}}}(e.get("RBGroups"));return{name:"string"==typeof e.get("Name")?stringToPDFString(e.get("Name")):null,creator:"string"==typeof e.get("Creator")?stringToPDFString(e.get("Creator")):null,baseState:e.get("BaseState")instanceof Name?e.get("BaseState").name:null,on:parseOnOff(e.get("ON")),off:parseOnOff(e.get("OFF")),order:parseOrder(e.get("Order")),groups:[...t]}}function _readDests(){const e=catalog_classPrivateFieldGet(Js,this).get("Names"),t=[];e?.has("Dests")&&t.push(new NameTree(e.getRaw("Dests"),this.xref));catalog_classPrivateFieldGet(Js,this).has("Dests")&&t.push(catalog_classPrivateFieldGet(Js,this).get("Dests"));return t}function _readPageLabels(){const e=catalog_classPrivateFieldGet(Js,this).getRaw("PageLabels");if(!e)return null;const t=new Array(this.numPages);let r=null,a="";const n=new NumberTree(e,this.xref).getAll();let i="",s=1;for(let e=0,o=this.numPages;e=1))throw new FormatError("Invalid start in PageLabel dictionary.");s=e}else s=1}switch(r){case"D":i=s;break;case"R":case"r":i=toRomanNumerals(s,"r"===r);break;case"A":case"a":const e=26,t="a"===r?97:65,a=s-1;i=String.fromCharCode(t+a%e).repeat(Math.floor(a/e)+1);break;default:if(r)throw new FormatError(`Invalid style "${r}" in PageLabel dictionary.`);i=""}t[e]=a+i;s++}return t}function _collectJavaScript(){const e=catalog_classPrivateFieldGet(Js,this).get("Names");let t=null;function appendIfJavaScriptDict(e,r){if(!(r instanceof Dict))return;if(!isName(r.get("S"),"JavaScript"))return;let a=r.get("JS");if(a instanceof BaseStream)a=a.getString();else if("string"!=typeof a)return;a=stringToPDFString(a,!0).replaceAll("\0","");a&&(t||=new Map).set(e,a)}if(e instanceof Dict&&e.has("JavaScript")){const t=new NameTree(e.getRaw("JavaScript"),this.xref);for(const[e,r]of t.getAll())appendIfJavaScriptDict(stringToPDFString(e,!0),r)}const r=catalog_classPrivateFieldGet(Js,this).get("OpenAction");r&&appendIfJavaScriptDict("OpenAction",r);return t}function object_loader_classPrivateMethodInitSpec(e,t){(function object_loader_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function object_loader_defineProperty(e,t,r){return(t=function object_loader_toPropertyKey(e){var t=function object_loader_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function object_loader_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}function addChildren(e,t){if(e instanceof Dict)e=e.getRawValues();else if(e instanceof BaseStream)e=e.dict.getRawValues();else if(!Array.isArray(e))return;for(const a of e)((r=a)instanceof Ref||r instanceof Dict||r instanceof BaseStream||Array.isArray(r))&&t.push(a);var r}var Zs=new WeakSet;class ObjectLoader{constructor(e,t,r){object_loader_classPrivateMethodInitSpec(this,Zs);object_loader_defineProperty(this,"refSet",new RefSet);this.dict=e;this.keys=t;this.xref=r}async load(){const{keys:e,dict:t}=this,r=[];for(const a of e){const e=t.getRaw(a);void 0!==e&&r.push(e)}await object_loader_assertClassBrand(Zs,this,_walk).call(this,r);this.refSet=null}static async load(e,t,r){if(r.stream.isDataLoaded)return;const a=new ObjectLoader(e,t,r);await a.load()}}async function _walk(e){const t=[],r=[];for(;e.length;){let a=e.pop();if(a instanceof Ref){if(this.refSet.has(a))continue;try{this.refSet.put(a);a=this.xref.fetch(a)}catch(e){if(!(e instanceof MissingDataException)){warn(`ObjectLoader.#walk - requesting all data: "${e}".`);await this.xref.stream.manager.requestAllChunks();return}t.push(a);r.push({begin:e.begin,end:e.end})}}if(a instanceof BaseStream){const e=a.getBaseStreams();if(e){let n=!1;for(const t of e)if(!t.isDataLoaded){n=!0;r.push({begin:t.start,end:t.end})}n&&t.push(a)}}addChildren(a,e)}if(r.length){await this.xref.stream.manager.requestRanges(r);for(const e of t)e instanceof Ref&&this.refSet.remove(e);await object_loader_assertClassBrand(Zs,this,_walk).call(this,t)}}const Qs=Symbol(),eo=Symbol(),to=Symbol(),ro=Symbol(),ao=Symbol(),no=Symbol(),io=Symbol(),so=Symbol(),oo=Symbol(),co=Symbol("content"),lo=Symbol("data"),ho=Symbol(),uo=Symbol("extra"),fo=Symbol(),go=Symbol(),po=Symbol(),mo=Symbol(),bo=Symbol(),yo=Symbol(),wo=Symbol(),vo=Symbol(),xo=Symbol(),So=Symbol(),ko=Symbol(),Ao=Symbol(),Co=Symbol(),Fo=Symbol(),Io=Symbol(),_o=Symbol(),Oo=Symbol(),Bo=Symbol(),Mo=Symbol(),Ro=Symbol(),Po=Symbol(),Do=Symbol(),Eo=Symbol(),No=Symbol(),jo=Symbol(),Lo=Symbol(),Uo=Symbol(),qo=Symbol(),Xo=Symbol(),Ho=Symbol(),Wo=Symbol(),zo=Symbol(),Go=Symbol("namespaceId"),$o=Symbol("nodeName"),Vo=Symbol(),Ko=Symbol(),Jo=Symbol(),Yo=Symbol(),Zo=Symbol(),Qo=Symbol(),ec=Symbol(),tc=Symbol(),rc=Symbol("root"),ac=Symbol(),nc=Symbol(),ic=Symbol(),sc=Symbol(),oc=Symbol(),cc=Symbol(),lc=Symbol(),hc=Symbol(),uc=Symbol(),dc=Symbol(),fc=Symbol(),gc=Symbol("uid");__webpack_require__(531);const pc=Symbol(),mc={config:{id:0,check:e=>e.startsWith("http://www.xfa.org/schema/xci/")},connectionSet:{id:1,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-connection-set/")},datasets:{id:2,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-data/")},form:{id:3,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-form/")},localeSet:{id:4,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-locale-set/")},pdf:{id:5,check:e=>"http://ns.adobe.com/xdp/pdf/"===e},signature:{id:6,check:e=>"http://www.w3.org/2000/09/xmldsig#"===e},sourceSet:{id:7,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-source-set/")},stylesheet:{id:8,check:e=>"http://www.w3.org/1999/XSL/Transform"===e},template:{id:9,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-template/")},xdc:{id:10,check:e=>e.startsWith("http://www.xfa.org/schema/xdc/")},xdp:{id:11,check:e=>"http://ns.adobe.com/xdp/"===e},xfdf:{id:12,check:e=>"http://ns.adobe.com/xfdf/"===e},xhtml:{id:13,check:e=>"http://www.w3.org/1999/xhtml"===e},xmpmeta:{id:14,check:e=>"http://ns.adobe.com/xmpmeta/"===e}},bc={pt:e=>e,cm:e=>e/2.54*72,mm:e=>e/25.4*72,in:e=>72*e,px:e=>e},yc=/([+-]?\d+\.?\d*)(.*)/;function stripQuotes(e){return e.startsWith("'")||e.startsWith('"')?e.slice(1,-1):e}function getInteger(e){let{data:t,defaultValue:r,validate:a}=e;if(!t)return r;t=t.trim();const n=parseInt(t,10);return!isNaN(n)&&a(n)?n:r}function getFloat(e){let{data:t,defaultValue:r,validate:a}=e;if(!t)return r;t=t.trim();const n=parseFloat(t);return!isNaN(n)&&a(n)?n:r}function getKeyword(e){let{data:t,defaultValue:r,validate:a}=e;if(!t)return r;t=t.trim();return a(t)?t:r}function getStringOption(e,t){return getKeyword({data:e,defaultValue:t[0],validate:e=>t.includes(e)})}function getMeasurement(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0";t||="0";if(!e)return getMeasurement(t);const r=e.trim().match(yc);if(!r)return getMeasurement(t);const[,a,n]=r,i=parseFloat(a);if(isNaN(i))return getMeasurement(t);if(0===i)return 0;const s=bc[n];return s?s(i):i}function getRatio(e){if(!e)return{num:1,den:1};const t=e.split(":",2).map((e=>parseFloat(e.trim()))).filter((e=>!isNaN(e)));1===t.length&&t.push(1);if(0===t.length)return{num:1,den:1};const[r,a]=t;return{num:r,den:a}}function getRelevant(e){return e?e.trim().split(/\s+/).map((e=>({excluded:"-"===e[0],viewname:e.substring(1)}))):[]}class HTMLResult{static get FAILURE(){return shadow(this,"FAILURE",new HTMLResult(!1,null,null,null))}static get EMPTY(){return shadow(this,"EMPTY",new HTMLResult(!0,null,null,null))}constructor(e,t,r,a){this.success=e;this.html=t;this.bbox=r;this.breakNode=a}isBreak(){return!!this.breakNode}static breakNode(e){return new HTMLResult(!1,null,null,e)}static success(e){return new HTMLResult(!0,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,null)}}class FontFinder{constructor(e){this.fonts=new Map;this.cache=new Map;this.warned=new Set;this.defaultFont=null;this.add(e)}add(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;for(const t of e)this.addPdfFont(t);for(const e of this.fonts.values())e.regular||(e.regular=e.italic||e.bold||e.bolditalic);if(!t||0===t.size)return;const r=this.fonts.get("PdfJS-Fallback-PdfJS-XFA");for(const e of t)this.fonts.set(e,r)}addPdfFont(e){const t=e.cssFontInfo,r=t.fontFamily;let a=this.fonts.get(r);if(!a){a=Object.create(null);this.fonts.set(r,a);this.defaultFont||(this.defaultFont=a)}let n="";const i=parseFloat(t.fontWeight);0!==parseFloat(t.italicAngle)?n=i>=700?"bolditalic":"italic":i>=700&&(n="bold");if(!n){(e.name.includes("Bold")||e.psName?.includes("Bold"))&&(n="bold");(e.name.includes("Italic")||e.name.endsWith("It")||e.psName?.includes("Italic")||e.psName?.endsWith("It"))&&(n+="italic")}n||(n="regular");a[n]=e}getDefault(){return this.defaultFont}find(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=this.fonts.get(e)||this.cache.get(e);if(r)return r;const a=/,|-|_| |bolditalic|bold|italic|regular|it/gi;let n=e.replaceAll(a,"");r=this.fonts.get(n);if(r){this.cache.set(e,r);return r}n=n.toLowerCase();const i=[];for(const[e,t]of this.fonts.entries())e.replaceAll(a,"").toLowerCase().startsWith(n)&&i.push(t);if(0===i.length)for(const[,e]of this.fonts.entries())e.regular.name?.replaceAll(a,"").toLowerCase().startsWith(n)&&i.push(e);if(0===i.length){n=n.replaceAll(/psmt|mt/gi,"");for(const[e,t]of this.fonts.entries())e.replaceAll(a,"").toLowerCase().startsWith(n)&&i.push(t)}if(0===i.length)for(const e of this.fonts.values())e.regular.name?.replaceAll(a,"").toLowerCase().startsWith(n)&&i.push(e);if(i.length>=1){1!==i.length&&t&&warn(`XFA - Too many choices to guess the correct font: ${e}`);this.cache.set(e,i[0]);return i[0]}if(t&&!this.warned.has(e)){this.warned.add(e);warn(`XFA - Cannot find the font: ${e}`)}return null}}function selectFont(e,t){return"italic"===e.posture?"bold"===e.weight?t.bolditalic:t.italic:"bold"===e.weight?t.bold:t.regular}class FontInfo{constructor(e,t,r,a){this.lineHeight=r;this.paraMargin=t||{top:0,bottom:0,left:0,right:0};if(!e){[this.pdfFont,this.xfaFont]=this.defaultFont(a);return}this.xfaFont={typeface:e.typeface,posture:e.posture,weight:e.weight,size:e.size,letterSpacing:e.letterSpacing};const n=a.find(e.typeface);if(n){this.pdfFont=selectFont(e,n);this.pdfFont||([this.pdfFont,this.xfaFont]=this.defaultFont(a))}else[this.pdfFont,this.xfaFont]=this.defaultFont(a)}defaultFont(e){const t=e.find("Helvetica",!1)||e.find("Myriad Pro",!1)||e.find("Arial",!1)||e.getDefault();if(t?.regular){const e=t.regular;return[e,{typeface:e.cssFontInfo.fontFamily,posture:"normal",weight:"normal",size:10,letterSpacing:0}]}return[null,{typeface:"Courier",posture:"normal",weight:"normal",size:10,letterSpacing:0}]}}class FontSelector{constructor(e,t,r,a){this.fontFinder=a;this.stack=[new FontInfo(e,t,r,a)]}pushData(e,t,r){const a=this.stack.at(-1);for(const t of["typeface","posture","weight","size","letterSpacing"])e[t]||(e[t]=a.xfaFont[t]);for(const e of["top","bottom","left","right"])isNaN(t[e])&&(t[e]=a.paraMargin[e]);const n=new FontInfo(e,t,r||a.lineHeight,this.fontFinder);n.pdfFont||(n.pdfFont=a.pdfFont);this.stack.push(n)}popFont(){this.stack.pop()}topFont(){return this.stack.at(-1)}}class TextMeasure{constructor(e,t,r,a){this.glyphs=[];this.fontSelector=new FontSelector(e,t,r,a);this.extraHeight=0}pushData(e,t,r){this.fontSelector.pushData(e,t,r)}popFont(e){return this.fontSelector.popFont()}addPara(){const e=this.fontSelector.topFont();this.extraHeight+=e.paraMargin.top+e.paraMargin.bottom}addString(e){if(!e)return;const t=this.fontSelector.topFont(),r=t.xfaFont.size;if(t.pdfFont){const a=t.xfaFont.letterSpacing,n=t.pdfFont,i=n.lineHeight||1.2,s=t.lineHeight||Math.max(1.2,i)*r,o=i-(void 0===n.lineGap?.2:n.lineGap),c=Math.max(1,o)*r,l=r/1e3,h=n.defaultWidth||n.charsToGlyphs(" ")[0].width;for(const t of e.split(/[\u2029\n]/)){const e=n.encodeString(t).join(""),r=n.charsToGlyphs(e);for(const e of r){const t=e.width||h;this.glyphs.push([t*l+a,s,c,e.unicode,!1])}this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop()}else{for(const t of e.split(/[\u2029\n]/)){for(const e of t.split(""))this.glyphs.push([r,1.2*r,r,e,!1]);this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop()}}compute(e){let t=-1,r=0,a=0,n=0,i=0,s=0,o=!1,c=!0;for(let l=0,h=this.glyphs.length;le){a=Math.max(a,i);i=0;n+=s;s=m;t=-1;r=0;o=!0;c=!1}else{s=Math.max(m,s);r=i;i+=h;t=l}else if(i+h>e){n+=s;s=m;if(-1!==t){l=t;a=Math.max(a,r);i=0;t=-1;r=0}else{a=Math.max(a,i);i=h}o=!0;c=!1}else{i+=h;s=Math.max(m,s)}}a=Math.max(a,i);n+=s+this.extraHeight;return{width:1.02*a,height:n,isBroken:o}}}const wc=/^[^.[]+/,vc=/^[^\]]+/,xc=0,Sc=1,kc=2,Ac=3,Cc=4,Fc=new Map([["$data",(e,t)=>e.datasets?e.datasets.data:e],["$record",(e,t)=>(e.datasets?e.datasets.data:e)[Ao]()[0]],["$template",(e,t)=>e.template],["$connectionSet",(e,t)=>e.connectionSet],["$form",(e,t)=>e.form],["$layout",(e,t)=>e.layout],["$host",(e,t)=>e.host],["$dataWindow",(e,t)=>e.dataWindow],["$event",(e,t)=>e.event],["!",(e,t)=>e.datasets],["$xfa",(e,t)=>e],["xfa",(e,t)=>e],["$",(e,t)=>t]]),Ic=new WeakMap;function parseExpression(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=e.match(wc);if(!a)return null;let[n]=a;const i=[{name:n,cacheName:"."+n,index:0,js:null,formCalc:null,operator:xc}];let s=n.length;for(;s4&&void 0!==arguments[4])||arguments[4];const n=parseExpression(r,!(arguments.length>3&&void 0!==arguments[3])||arguments[3]);if(!n)return null;const i=Fc.get(n[0].name);let s,o=0;if(i){s=!0;e=[i(e,t)];o=1}else{s=null===t;e=[t||e]}for(let r=n.length;o0&&h.push(e)}if(0!==h.length||s||0!==o)e=isFinite(l)?h.filter((e=>le[l])):h.flat();else{const r=t[_o]();if(!(t=r))return null;o=-1;e=[t]}}return 0===e.length?null:e}function createDataNode(e,t,r){const a=parseExpression(r);if(!a)return null;if(a.some((e=>e.operator===Sc)))return null;const n=Fc.get(a[0].name);let i=0;if(n){e=n(e,t);i=1}else e=t||e;for(let t=a.length;i2&&void 0!==arguments[2]&&arguments[2];this[Go]=e;this[$o]=t;this[jc]=r;this[qc]=null;this[Bc]=[];this[gc]=`${t}${zc++}`;this[Bo]=null}get isXFAObject(){return!0}get isXFAObjectArray(){return!1}createNodes(e){let t=this,r=null;for(const{name:a,index:n}of e){for(let e=0,i=isFinite(n)?n:0;e<=i;e++){const e=t[Go]===Gc?-1:t[Go];r=new XmlObject(e,a);t[to](r)}t=r}return r}[Ko](e){if(!this[jc]||!this[Jo](e))return!1;const t=e[$o],r=this[t];if(!(r instanceof XFAObjectArray)){null!==r&&this[tc](r);this[t]=e;this[to](e);return!0}if(r.push(e)){this[to](e);return!0}let a="";this.id?a=` (id: ${this.id})`:this.name&&(a=` (name: ${this.name} ${this.h.value})`);warn(`XFA - node "${this[$o]}"${a} has already enough "${t}"!`);return!1}[Jo](e){return this.hasOwnProperty(e[$o])&&e[Go]===this[Go]}[Uo](){return!1}[Qs](){return!1}[Eo](){return!1}[No](){return!1}[Qo](){this.para&&this[Oo]()[uo].paraStack.pop()}[ec](){this[Oo]()[uo].paraStack.push(this.para)}[ic](e){this.id&&this[Go]===mc.template.id&&e.set(this.id,this)}[Oo](){return this[Bo].template}[qo](){return!1}[Xo](){return!1}[to](e){e[qc]=this;this[Bc].push(e);!e[Bo]&&this[Bo]&&(e[Bo]=this[Bo])}[tc](e){const t=this[Bc].indexOf(e);this[Bc].splice(t,1)}[Mo](){return this.hasOwnProperty("value")}[oc](e){}[Yo](e){}[fo](){}[ao](e){delete this[jc];if(this[io]){e.clean(this[io]);delete this[io]}}[Po](e){return this[Bc].indexOf(e)}[Do](e,t){t[qc]=this;this[Bc].splice(e,0,t);!t[Bo]&&this[Bo]&&(t[Bo]=this[Bo])}[Ho](){return!this.name}[zo](){return""}[lc](){return 0===this[Bc].length?this[co]:this[Bc].map((e=>e[lc]())).join("")}get[Oc](){const e=Object.getPrototypeOf(this);if(!e._attributes){const t=e._attributes=new Set;for(const e of Object.getOwnPropertyNames(this)){if(null===this[e]||this[e]instanceof XFAObject||this[e]instanceof XFAObjectArray)break;t.add(e)}}return shadow(this,Oc,e._attributes)}[Lo](e){let t=this;for(;t;){if(t===e)return!0;t=t[_o]()}return!1}[_o](){return this[qc]}[Io](){return this[_o]()}[Ao](){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?this[e]:this[Bc]}[ho](){const e=Object.create(null);this[co]&&(e.$content=this[co]);for(const t of Object.getOwnPropertyNames(this)){const r=this[t];null!==r&&(r instanceof XFAObject?e[t]=r[ho]():r instanceof XFAObjectArray?r.isEmpty()||(e[t]=r.dump()):e[t]=r)}return e}[fc](){return null}[uc](){return HTMLResult.EMPTY}*[Co](){for(const e of this[Ao]())yield e}*[Dc](e,t){for(const r of this[Co]())if(!e||t===e.has(r[$o])){const e=this[bo](),t=r[uc](e);t.success||(this[uo].failingNode=r);yield t}}[go](){return null}[eo](e,t){this[uo].children.push(e)}[bo](){}[ro](e){let{filter:t=null,include:r=!0}=e;if(this[uo].generator){const e=this[bo](),t=this[uo].failingNode[uc](e);if(!t.success)return t;t.html&&this[eo](t.html,t.bbox);delete this[uo].failingNode}else this[uo].generator=this[Dc](t,r);for(;;){const e=this[uo].generator.next();if(e.done)break;const t=e.value;if(!t.success)return t;t.html&&this[eo](t.html,t.bbox)}this[uo].generator=null;return HTMLResult.EMPTY}[sc](e){this[Hc]=new Set(Object.keys(e))}[Nc](e){const t=this[Oc],r=this[Hc];return[...e].filter((e=>t.has(e)&&!r.has(e)))}[ac](e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;for(const r of this[Bc])r[Xc](e,t)}[Xc](e,t){const r=this[Ec](e,t);r?this[Tc](r,e,t):this[ac](e,t)}[Ec](e,t){const{use:r,usehref:a}=this;if(!r&&!a)return null;let n=null,i=null,s=null,o=r;if(a){o=a;a.startsWith("#som(")&&a.endsWith(")")?i=a.slice(5,-1):a.startsWith(".#som(")&&a.endsWith(")")?i=a.slice(6,-1):a.startsWith("#")?s=a.slice(1):a.startsWith(".#")&&(s=a.slice(2))}else r.startsWith("#")?s=r.slice(1):i=r;this.use=this.usehref="";if(s)n=e.get(s);else{n=searchNode(e.get(rc),this,i,!0,!1);n&&(n=n[0])}if(!n){warn(`XFA - Invalid prototype reference: ${o}.`);return null}if(n[$o]!==this[$o]){warn(`XFA - Incompatible prototype: ${n[$o]} !== ${this[$o]}.`);return null}if(t.has(n)){warn("XFA - Cycle detected in prototypes use.");return null}t.add(n);const c=n[Ec](e,t);c&&n[Tc](c,e,t);n[ac](e,t);t.delete(n);return n}[Tc](e,t,r){if(r.has(e)){warn("XFA - Cycle detected in prototypes use.");return}!this[co]&&e[co]&&(this[co]=e[co]);new Set(r).add(e);for(const t of this[Nc](e[Hc])){this[t]=e[t];this[Hc]&&this[Hc].add(t)}for(const a of Object.getOwnPropertyNames(this)){if(this[Oc].has(a))continue;const n=this[a],i=e[a];if(n instanceof XFAObjectArray){for(const e of n[Bc])e[Xc](t,r);for(let a=n[Bc].length,s=i[Bc].length;aXFAObject[Mc](e))):"object"==typeof e&&null!==e?Object.assign({},e):e}[so](){const e=Object.create(Object.getPrototypeOf(this));for(const t of Object.getOwnPropertySymbols(this))try{e[t]=this[t]}catch{shadow(e,t,this[t])}e[gc]=`${e[$o]}${zc++}`;e[Bc]=[];for(const t of Object.getOwnPropertyNames(this)){if(this[Oc].has(t)){e[t]=XFAObject[Mc](this[t]);continue}const r=this[t];e[t]=r instanceof XFAObjectArray?new XFAObjectArray(r[Lc]):null}for(const t of this[Bc]){const r=t[$o],a=t[so]();e[Bc].push(a);a[qc]=e;null===e[r]?e[r]=a:e[r][Bc].push(a)}return e}[Ao](){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?this[Bc].filter((t=>t[$o]===e)):this[Bc]}[yo](e){return this[e]}[wo](e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return Array.from(this[vo](e,t,r))}[vo](e,t){var r=this;let a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return function*(){if("parent"!==e){for(const a of r[Bc]){a[$o]===e&&(yield a);a.name===e&&(yield a);(t||a[Ho]())&&(yield*a[vo](e,t,!1))}a&&r[Oc].has(e)&&(yield new XFAAttribute(r,e,r[e]))}else yield r[qc]}()}}class XFAObjectArray{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0;this[Lc]=e;this[Bc]=[]}get isXFAObject(){return!1}get isXFAObjectArray(){return!0}push(e){if(this[Bc].length<=this[Lc]){this[Bc].push(e);return!0}warn(`XFA - node "${e[$o]}" accepts no more than ${this[Lc]} children`);return!1}isEmpty(){return 0===this[Bc].length}dump(){return 1===this[Bc].length?this[Bc][0][ho]():this[Bc].map((e=>e[ho]()))}[so](){const e=new XFAObjectArray(this[Lc]);e[Bc]=this[Bc].map((e=>e[so]()));return e}get children(){return this[Bc]}clear(){this[Bc].length=0}}class XFAAttribute{constructor(e,t,r){this[qc]=e;this[$o]=t;this[co]=r;this[oo]=!1;this[gc]="attribute"+zc++}[_o](){return this[qc]}[jo](){return!0}[xo](){return this[co].trim()}[oc](e){e=e.value||"";this[co]=e.toString()}[lc](){return this[co]}[Lo](e){return this[qc]===e||this[qc][Lo](e)}}class XmlObject extends XFAObject{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};super(e,t);this[co]="";this[Rc]=null;if("#text"!==t){const e=new Map;this[_c]=e;for(const[t,a]of Object.entries(r))e.set(t,new XFAAttribute(this,t,a));if(r.hasOwnProperty(Vo)){const e=r[Vo].xfa.dataNode;void 0!==e&&("dataGroup"===e?this[Rc]=!1:"dataValue"===e&&(this[Rc]=!0))}}this[oo]=!1}[dc](e){const t=this[$o];if("#text"===t){e.push(encodeToXmlString(this[co]));return}const r=utf8StringToString(t),a=this[Go]===Gc?"xfa:":"";e.push(`<${a}${r}`);for(const[t,r]of this[_c].entries()){const a=utf8StringToString(t);e.push(` ${a}="${encodeToXmlString(r[co])}"`)}null!==this[Rc]&&(this[Rc]?e.push(' xfa:dataNode="dataValue"'):e.push(' xfa:dataNode="dataGroup"'));if(this[co]||0!==this[Bc].length){e.push(">");if(this[co])"string"==typeof this[co]?e.push(encodeToXmlString(this[co])):this[co][dc](e);else for(const t of this[Bc])t[dc](e);e.push(``)}else e.push("/>")}[Ko](e){if(this[co]){const e=new XmlObject(this[Go],"#text");this[to](e);e[co]=this[co];this[co]=""}this[to](e);return!0}[Yo](e){this[co]+=e}[fo](){if(this[co]&&this[Bc].length>0){const e=new XmlObject(this[Go],"#text");this[to](e);e[co]=this[co];delete this[co]}}[uc](){return"#text"===this[$o]?HTMLResult.success({name:"#text",value:this[co]}):HTMLResult.EMPTY}[Ao](){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e?this[Bc].filter((t=>t[$o]===e)):this[Bc]}[mo](){return this[_c]}[yo](e){const t=this[_c].get(e);return void 0!==t?t:this[Ao](e)}*[vo](e,t){const r=this[_c].get(e);r&&(yield r);for(const r of this[Bc]){r[$o]===e&&(yield r);t&&(yield*r[vo](e,t))}}*[po](e,t){const r=this[_c].get(e);!r||t&&r[oo]||(yield r);for(const r of this[Bc])yield*r[po](e,t)}*[ko](e,t,r){for(const a of this[Bc]){a[$o]!==e||r&&a[oo]||(yield a);t&&(yield*a[ko](e,t,r))}}[jo](){return null===this[Rc]?0===this[Bc].length||this[Bc][0][Go]===mc.xhtml.id:this[Rc]}[xo](){return null===this[Rc]?0===this[Bc].length?this[co].trim():this[Bc][0][Go]===mc.xhtml.id?this[Bc][0][lc]().trim():null:this[co].trim()}[oc](e){e=e.value||"";this[co]=e.toString()}[ho](){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=Object.create(null);e&&(t.$ns=this[Go]);this[co]&&(t.$content=this[co]);t.$name=this[$o];t.children=[];for(const r of this[Bc])t.children.push(r[ho](e));t.attributes=Object.create(null);for(const[e,r]of this[_c])t.attributes[e]=r[co];return t}}class ContentObject extends XFAObject{constructor(e,t){super(e,t);this[co]=""}[Yo](e){this[co]+=e}[fo](){}}class OptionObject extends ContentObject{constructor(e,t,r){super(e,t);this[Uc]=r}[fo](){this[co]=getKeyword({data:this[co],defaultValue:this[Uc][0],validate:e=>this[Uc].includes(e)})}[ao](e){super[ao](e);delete this[Uc]}}class StringObject extends ContentObject{[fo](){this[co]=this[co].trim()}}class IntegerObject extends ContentObject{constructor(e,t,r,a){super(e,t);this[Pc]=r;this[Wc]=a}[fo](){this[co]=getInteger({data:this[co],defaultValue:this[Pc],validate:this[Wc]})}[ao](e){super[ao](e);delete this[Pc];delete this[Wc]}}class Option01 extends IntegerObject{constructor(e,t){super(e,t,0,(e=>1===e))}}class Option10 extends IntegerObject{constructor(e,t){super(e,t,1,(e=>0===e))}}function measureToString(e){return"string"==typeof e?"0px":Number.isInteger(e)?`${e}px`:`${e.toFixed(2)}px`}const $c={anchorType(e,t){const r=e[Io]();if(r&&(!r.layout||"position"===r.layout)){"transform"in t||(t.transform="");switch(e.anchorType){case"bottomCenter":t.transform+="translate(-50%, -100%)";break;case"bottomLeft":t.transform+="translate(0,-100%)";break;case"bottomRight":t.transform+="translate(-100%,-100%)";break;case"middleCenter":t.transform+="translate(-50%,-50%)";break;case"middleLeft":t.transform+="translate(0,-50%)";break;case"middleRight":t.transform+="translate(-100%,-50%)";break;case"topCenter":t.transform+="translate(-50%,0)";break;case"topRight":t.transform+="translate(-100%,0)"}}},dimensions(e,t){const r=e[Io]();let a=e.w;const n=e.h;if(r.layout?.includes("row")){const t=r[uo],n=e.colSpan;let i;if(-1===n){i=Math.sumPrecise(t.columnWidths.slice(t.currentColumn));t.currentColumn=0}else{i=Math.sumPrecise(t.columnWidths.slice(t.currentColumn,t.currentColumn+n));t.currentColumn=(t.currentColumn+e.colSpan)%t.columnWidths.length}isNaN(i)||(a=e.w=i)}t.width=""!==a?measureToString(a):"auto";t.height=""!==n?measureToString(n):"auto"},position(e,t){const r=e[Io]();if(!r?.layout||"position"===r.layout){t.position="absolute";t.left=measureToString(e.x);t.top=measureToString(e.y)}},rotate(e,t){if(e.rotate){"transform"in t||(t.transform="");t.transform+=`rotate(-${e.rotate}deg)`;t.transformOrigin="top left"}},presence(e,t){switch(e.presence){case"invisible":t.visibility="hidden";break;case"hidden":case"inactive":t.display="none"}},hAlign(e,t){if("para"===e[$o])switch(e.hAlign){case"justifyAll":t.textAlign="justify-all";break;case"radix":t.textAlign="left";break;default:t.textAlign=e.hAlign}else switch(e.hAlign){case"left":t.alignSelf="start";break;case"center":t.alignSelf="center";break;case"right":t.alignSelf="end"}},margin(e,t){e.margin&&(t.margin=e.margin[fc]().margin)}};function setMinMaxDimensions(e,t){if("position"===e[Io]().layout){e.minW>0&&(t.minWidth=measureToString(e.minW));e.maxW>0&&(t.maxWidth=measureToString(e.maxW));e.minH>0&&(t.minHeight=measureToString(e.minH));e.maxH>0&&(t.maxHeight=measureToString(e.maxH))}}function layoutText(e,t,r,a,n,i){const s=new TextMeasure(t,r,a,n);"string"==typeof e?s.addString(e):e[Zo](s);return s.compute(i)}function layoutNode(e,t){let r=null,a=null,n=!1;if((!e.w||!e.h)&&e.value){let i=0,s=0;if(e.margin){i=e.margin.leftInset+e.margin.rightInset;s=e.margin.topInset+e.margin.bottomInset}let o=null,c=null;if(e.para){c=Object.create(null);o=""===e.para.lineHeight?null:e.para.lineHeight;c.top=""===e.para.spaceAbove?0:e.para.spaceAbove;c.bottom=""===e.para.spaceBelow?0:e.para.spaceBelow;c.left=""===e.para.marginLeft?0:e.para.marginLeft;c.right=""===e.para.marginRight?0:e.para.marginRight}let l=e.font;if(!l){const t=e[Oo]();let r=e[_o]();for(;r&&r!==t;){if(r.font){l=r.font;break}r=r[_o]()}}const h=(e.w||t.width)-i,u=e[Bo].fontFinder;if(e.value.exData&&e.value.exData[co]&&"text/html"===e.value.exData.contentType){const t=layoutText(e.value.exData[co],l,c,o,u,h);a=t.width;r=t.height;n=t.isBroken}else{const t=e.value[lc]();if(t){const e=layoutText(t,l,c,o,u,h);a=e.width;r=e.height;n=e.isBroken}}null===a||e.w||(a+=i);null===r||e.h||(r+=s)}return{w:a,h:r,isBroken:n}}function computeBbox(e,t,r){let a;if(""!==e.w&&""!==e.h)a=[e.x,e.y,e.w,e.h];else{if(!r)return null;let n=e.w;if(""===n){if(0===e.maxW){const t=e[Io]();n="position"===t.layout&&""!==t.w?0:e.minW}else n=Math.min(e.maxW,r.width);t.attributes.style.width=measureToString(n)}let i=e.h;if(""===i){if(0===e.maxH){const t=e[Io]();i="position"===t.layout&&""!==t.h?0:e.minH}else i=Math.min(e.maxH,r.height);t.attributes.style.height=measureToString(i)}a=[e.x,e.y,n,i]}return a}function fixDimensions(e){const t=e[Io]();if(t.layout?.includes("row")){const r=t[uo],a=e.colSpan;let n;n=-1===a?Math.sumPrecise(r.columnWidths.slice(r.currentColumn)):Math.sumPrecise(r.columnWidths.slice(r.currentColumn,r.currentColumn+a));isNaN(n)||(e.w=n)}t.layout&&"position"!==t.layout&&(e.x=e.y=0);"table"===e.layout&&""===e.w&&Array.isArray(e.columnWidths)&&(e.w=Math.sumPrecise(e.columnWidths))}function layoutClass(e){switch(e.layout){case"position":default:return"xfaPosition";case"lr-tb":return"xfaLrTb";case"rl-row":return"xfaRlRow";case"rl-tb":return"xfaRlTb";case"row":return"xfaRow";case"table":return"xfaTable";case"tb":return"xfaTb"}}function toStyle(e){const t=Object.create(null);for(var r=arguments.length,a=new Array(r>1?r-1:0),n=1;n=0)return;const r="padding"+("left"===("right"===e.textAlign?"right":"left")?"Left":"Right"),a=getMeasurement(e[r],"0px");e[r]=a-t+"px"}function setAccess(e,t){switch(e.access){case"nonInteractive":t.push("xfaNonInteractive");break;case"readOnly":t.push("xfaReadOnly");break;case"protected":t.push("xfaDisabled")}}function isPrintOnly(e){return e.relevant.length>0&&!e.relevant[0].excluded&&"print"===e.relevant[0].viewname}function getCurrentPara(e){const t=e[Oo]()[uo].paraStack;return t.length?t.at(-1):null}function setPara(e,t,r){if(r.attributes.class?.includes("xfaRich")){if(t){""===e.h&&(t.height="auto");""===e.w&&(t.width="auto")}const a=getCurrentPara(e);if(a){const e=r.attributes.style;e.display="flex";e.flexDirection="column";switch(a.vAlign){case"top":e.justifyContent="start";break;case"bottom":e.justifyContent="end";break;case"middle":e.justifyContent="center"}const t=a[fc]();for(const[r,a]of Object.entries(t))r in e||(e[r]=a)}}}function setFontFamily(e,t,r,a){if(!r){delete a.fontFamily;return}const n=stripQuotes(e.typeface);a.fontFamily=`"${n}"`;const i=r.find(n);if(i){const{fontFamily:r}=i.regular.cssFontInfo;r!==n&&(a.fontFamily=`"${r}"`);const s=getCurrentPara(t);if(s&&""!==s.lineHeight)return;if(a.lineHeight)return;const o=selectFont(e,i);o&&(a.lineHeight=Math.max(1.2,o.lineHeight))}}function fixURL(e){const t=createValidAbsoluteUrl(e,null,{addDefaultProtocol:!0,tryConvertEncoding:!0});return t?t.href:null}function createLine(e,t){return{name:"div",attributes:{class:["lr-tb"===e.layout?"xfaLr":"xfaRl"]},children:t}}function flushHTML(e){if(!e[uo])return null;const t={name:"div",attributes:e[uo].attributes,children:e[uo].children};if(e[uo].failingNode){const r=e[uo].failingNode[go]();r&&(e.layout.endsWith("-tb")?t.children.push(createLine(e,[r])):t.children.push(r))}return 0===t.children.length?null:t}function addHTML(e,t,r){const a=e[uo],n=a.availableSpace,[i,s,o,c]=r;switch(e.layout){case"position":a.width=Math.max(a.width,i+o);a.height=Math.max(a.height,s+c);a.children.push(t);break;case"lr-tb":case"rl-tb":if(!a.line||1===a.attempt){a.line=createLine(e,[]);a.children.push(a.line);a.numberInLine=0}a.numberInLine+=1;a.line.children.push(t);if(0===a.attempt){a.currentWidth+=o;a.height=Math.max(a.height,a.prevHeight+c)}else{a.currentWidth=o;a.prevHeight=a.height;a.height+=c;a.attempt=0}a.width=Math.max(a.width,a.currentWidth);break;case"rl-row":case"row":{a.children.push(t);a.width+=o;a.height=Math.max(a.height,c);const e=measureToString(a.height);for(const t of a.children)t.attributes.style.height=e;break}case"table":case"tb":a.width=MathClamp(o,a.width,n.width);a.height+=c;a.children.push(t)}}function getAvailableSpace(e){const t=e[uo].availableSpace,r=e.margin?e.margin.topInset+e.margin.bottomInset:0,a=e.margin?e.margin.leftInset+e.margin.rightInset:0;switch(e.layout){case"lr-tb":case"rl-tb":return 0===e[uo].attempt?{width:t.width-a-e[uo].currentWidth,height:t.height-r-e[uo].prevHeight}:{width:t.width-a,height:t.height-r-e[uo].height};case"rl-row":case"row":return{width:Math.sumPrecise(e[uo].columnWidths.slice(e[uo].currentColumn)),height:t.height-a};case"table":case"tb":return{width:t.width-a,height:t.height-r-e[uo].height};default:return t}}function checkDimensions(e,t){if(null===e[Oo]()[uo].firstUnsplittable)return!0;if(0===e.w||0===e.h)return!0;const r=e[Io](),a=r[uo]?.attempt||0,[,n,i,s]=function getTransformedBBox(e){let t,r,a=""===e.w?NaN:e.w,n=""===e.h?NaN:e.h,[i,s]=[0,0];switch(e.anchorType||""){case"bottomCenter":[i,s]=[a/2,n];break;case"bottomLeft":[i,s]=[0,n];break;case"bottomRight":[i,s]=[a,n];break;case"middleCenter":[i,s]=[a/2,n/2];break;case"middleLeft":[i,s]=[0,n/2];break;case"middleRight":[i,s]=[a,n/2];break;case"topCenter":[i,s]=[a/2,0];break;case"topRight":[i,s]=[a,0]}switch(e.rotate||0){case 0:[t,r]=[-i,-s];break;case 90:[t,r]=[-s,i];[a,n]=[n,-a];break;case 180:[t,r]=[i,s];[a,n]=[-a,-n];break;case 270:[t,r]=[s,-i];[a,n]=[-n,a]}return[e.x+t+Math.min(0,a),e.y+r+Math.min(0,n),Math.abs(a),Math.abs(n)]}(e);switch(r.layout){case"lr-tb":case"rl-tb":return 0===a?e[Oo]()[uo].noLayoutFailure?""!==e.w?Math.round(i-t.width)<=2:t.width>2:!(""!==e.h&&Math.round(s-t.height)>2)&&(""!==e.w?Math.round(i-t.width)<=2||0===r[uo].numberInLine&&t.height>2:t.width>2):!!e[Oo]()[uo].noLayoutFailure||!(""!==e.h&&Math.round(s-t.height)>2)&&((""===e.w||Math.round(i-t.width)<=2||!r[Xo]())&&t.height>2);case"table":case"tb":return!!e[Oo]()[uo].noLayoutFailure||(""===e.h||e[qo]()?(""===e.w||Math.round(i-t.width)<=2||!r[Xo]())&&t.height>2:Math.round(s-t.height)<=2);case"position":if(e[Oo]()[uo].noLayoutFailure)return!0;if(""===e.h||Math.round(s+n-t.height)<=2)return!0;return s+n>e[Oo]()[uo].currentContentArea.h;case"rl-row":case"row":return!!e[Oo]()[uo].noLayoutFailure||(""===e.h||Math.round(s-t.height)<=2);default:return!0}}const Vc=mc.template.id,Kc="http://www.w3.org/2000/svg",Jc=/^H(\d+)$/,Yc=new Set(["image/gif","image/jpeg","image/jpg","image/pjpeg","image/png","image/apng","image/x-png","image/bmp","image/x-ms-bmp","image/tiff","image/tif","application/octet-stream"]),Zc=[[[66,77],"image/bmp"],[[255,216,255],"image/jpeg"],[[73,73,42,0],"image/tiff"],[[77,77,0,42],"image/tiff"],[[71,73,70,56,57,97],"image/gif"],[[137,80,78,71,13,10,26,10],"image/png"]];function getBorderDims(e){if(!e||!e.border)return{w:0,h:0};const t=e.border[So]();return t?{w:t.widths[0]+t.widths[2]+t.insets[0]+t.insets[2],h:t.widths[1]+t.widths[3]+t.insets[1]+t.insets[3]}:{w:0,h:0}}function hasMargin(e){return e.margin&&(e.margin.topInset||e.margin.rightInset||e.margin.bottomInset||e.margin.leftInset)}function _setValue(e,t){if(!e.value){const t=new Value({});e[to](t);e.value=t}e.value[oc](t)}function*getContainedChildren(e){for(const t of e[Ao]())t instanceof SubformSet?yield*t[Co]():yield t}function isRequired(e){return"error"===e.validate?.nullTest}function setTabIndex(e){for(;e;){if(!e.traversal){e[cc]=e[_o]()[cc];return}if(e[cc])return;let t=null;for(const r of e.traversal[Ao]())if("next"===r.operation){t=r;break}if(!t||!t.ref){e[cc]=e[_o]()[cc];return}const r=e[Oo]();e[cc]=++r[cc];const a=r[nc](t.ref,e);if(!a)return;e=a[0]}}function applyAssist(e,t){const r=e.assist;if(r){const e=r[uc]();e&&(t.title=e);const a=r.role.match(Jc);if(a){const e="heading",r=a[1];t.role=e;t["aria-level"]=r}}if("table"===e.layout)t.role="table";else if("row"===e.layout)t.role="row";else{const r=e[_o]();"row"===r.layout&&(t.role="TH"===r.assist?.role?"columnheader":"cell")}}function ariaLabel(e){if(!e.assist)return null;const t=e.assist;return t.speak&&""!==t.speak[co]?t.speak[co]:t.toolTip?t.toolTip[co]:null}function valueToHtml(e){return HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:Object.create(null)},children:[{name:"span",attributes:{style:Object.create(null)},value:e}]})}function setFirstUnsplittable(e){const t=e[Oo]();if(null===t[uo].firstUnsplittable){t[uo].firstUnsplittable=e;t[uo].noLayoutFailure=!0}}function unsetFirstUnsplittable(e){const t=e[Oo]();t[uo].firstUnsplittable===e&&(t[uo].noLayoutFailure=!1)}function handleBreak(e){if(e[uo])return!1;e[uo]=Object.create(null);if("auto"===e.targetType)return!1;const t=e[Oo]();let r=null;if(e.target){r=t[nc](e.target,e[_o]());if(!r)return!1;r=r[0]}const{currentPageArea:a,currentContentArea:n}=t[uo];if("pageArea"===e.targetType){r instanceof PageArea||(r=null);if(e.startNew){e[uo].target=r||a;return!0}if(r&&r!==a){e[uo].target=r;return!0}return!1}r instanceof ContentArea||(r=null);const i=r&&r[_o]();let s,o=i;if(e.startNew)if(r){const e=i.contentArea.children,t=e.indexOf(n),a=e.indexOf(r);-1!==t&&te;a[uo].noLayoutFailure=!0;const s=t[uc](r);e[eo](s.html,s.bbox);a[uo].noLayoutFailure=n;t[Io]=i}class AppearanceFilter extends StringObject{constructor(e){super(Vc,"appearanceFilter");this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Arc extends XFAObject{constructor(e){super(Vc,"arc",!0);this.circular=getInteger({data:e.circular,defaultValue:0,validate:e=>1===e});this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.startAngle=getFloat({data:e.startAngle,defaultValue:0,validate:e=>!0});this.sweepAngle=getFloat({data:e.sweepAngle,defaultValue:360,validate:e=>!0});this.use=e.use||"";this.usehref=e.usehref||"";this.edge=null;this.fill=null}[uc](){const e=this.edge||new Edge({}),t=e[fc](),r=Object.create(null);"visible"===this.fill?.presence?Object.assign(r,this.fill[fc]()):r.fill="transparent";r.strokeWidth=measureToString("visible"===e.presence?e.thickness:0);r.stroke=t.color;let a;const n={xmlns:Kc,style:{width:"100%",height:"100%",overflow:"visible"}};if(360===this.sweepAngle)a={name:"ellipse",attributes:{xmlns:Kc,cx:"50%",cy:"50%",rx:"50%",ry:"50%",style:r}};else{const e=this.startAngle*Math.PI/180,t=this.sweepAngle*Math.PI/180,i=this.sweepAngle>180?1:0,[s,o,c,l]=[50*(1+Math.cos(e)),50*(1-Math.sin(e)),50*(1+Math.cos(e+t)),50*(1-Math.sin(e+t))];a={name:"path",attributes:{xmlns:Kc,d:`M ${s} ${o} A 50 50 0 ${i} 0 ${c} ${l}`,vectorEffect:"non-scaling-stroke",style:r}};Object.assign(n,{viewBox:"0 0 100 100",preserveAspectRatio:"none"})}const i={name:"svg",children:[a],attributes:n};if(hasMargin(this[_o]()[_o]()))return HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[i]});i.attributes.style.position="absolute";return HTMLResult.success(i)}}class Area extends XFAObject{constructor(e){super(Vc,"area",!0);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.id=e.id||"";this.name=e.name||"";this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.desc=null;this.extras=null;this.area=new XFAObjectArray;this.draw=new XFAObjectArray;this.exObject=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.field=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray}*[Co](){yield*getContainedChildren(this)}[Ho](){return!0}[No](){return!0}[eo](e,t){const[r,a,n,i]=t;this[uo].width=Math.max(this[uo].width,r+n);this[uo].height=Math.max(this[uo].height,a+i);this[uo].children.push(e)}[bo](){return this[uo].availableSpace}[uc](e){const t=toStyle(this,"position"),r={style:t,id:this[gc],class:["xfaArea"]};isPrintOnly(this)&&r.class.push("xfaPrintOnly");this.name&&(r.xfaName=this.name);const a=[];this[uo]={children:a,width:0,height:0,availableSpace:e};const n=this[ro]({filter:new Set(["area","draw","field","exclGroup","subform","subformSet"]),include:!0});if(!n.success){if(n.isBreak())return n;delete this[uo];return HTMLResult.FAILURE}t.width=measureToString(this[uo].width);t.height=measureToString(this[uo].height);const i={name:"div",attributes:r,children:a},s=[this.x,this.y,this[uo].width,this[uo].height];delete this[uo];return HTMLResult.success(i,s)}}class Assist extends XFAObject{constructor(e){super(Vc,"assist",!0);this.id=e.id||"";this.role=e.role||"";this.use=e.use||"";this.usehref=e.usehref||"";this.speak=null;this.toolTip=null}[uc](){return this.toolTip?.[co]||null}}class Barcode extends XFAObject{constructor(e){super(Vc,"barcode",!0);this.charEncoding=getKeyword({data:e.charEncoding?e.charEncoding.toLowerCase():"",defaultValue:"",validate:e=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e)||e.match(/iso-8859-\d{2}/)});this.checksum=getStringOption(e.checksum,["none","1mod10","1mod10_1mod11","2mod10","auto"]);this.dataColumnCount=getInteger({data:e.dataColumnCount,defaultValue:-1,validate:e=>e>=0});this.dataLength=getInteger({data:e.dataLength,defaultValue:-1,validate:e=>e>=0});this.dataPrep=getStringOption(e.dataPrep,["none","flateCompress"]);this.dataRowCount=getInteger({data:e.dataRowCount,defaultValue:-1,validate:e=>e>=0});this.endChar=e.endChar||"";this.errorCorrectionLevel=getInteger({data:e.errorCorrectionLevel,defaultValue:-1,validate:e=>e>=0&&e<=8});this.id=e.id||"";this.moduleHeight=getMeasurement(e.moduleHeight,"5mm");this.moduleWidth=getMeasurement(e.moduleWidth,"0.25mm");this.printCheckDigit=getInteger({data:e.printCheckDigit,defaultValue:0,validate:e=>1===e});this.rowColumnRatio=getRatio(e.rowColumnRatio);this.startChar=e.startChar||"";this.textLocation=getStringOption(e.textLocation,["below","above","aboveEmbedded","belowEmbedded","none"]);this.truncate=getInteger({data:e.truncate,defaultValue:0,validate:e=>1===e});this.type=getStringOption(e.type?e.type.toLowerCase():"",["aztec","codabar","code2of5industrial","code2of5interleaved","code2of5matrix","code2of5standard","code3of9","code3of9extended","code11","code49","code93","code128","code128a","code128b","code128c","code128sscc","datamatrix","ean8","ean8add2","ean8add5","ean13","ean13add2","ean13add5","ean13pwcd","fim","logmars","maxicode","msi","pdf417","pdf417macro","plessey","postauscust2","postauscust3","postausreplypaid","postausstandard","postukrm4scc","postusdpbc","postusimb","postusstandard","postus5zip","qrcode","rfid","rss14","rss14expanded","rss14limited","rss14stacked","rss14stackedomni","rss14truncated","telepen","ucc128","ucc128random","ucc128sscc","upca","upcaadd2","upcaadd5","upcapwcd","upce","upceadd2","upceadd5","upcean2","upcean5","upsmaxicode"]);this.upsMode=getStringOption(e.upsMode,["usCarrier","internationalCarrier","secureSymbol","standardSymbol"]);this.use=e.use||"";this.usehref=e.usehref||"";this.wideNarrowRatio=getRatio(e.wideNarrowRatio);this.encrypt=null;this.extras=null}}class Bind extends XFAObject{constructor(e){super(Vc,"bind",!0);this.match=getStringOption(e.match,["once","dataRef","global","none"]);this.ref=e.ref||"";this.picture=null}}class BindItems extends XFAObject{constructor(e){super(Vc,"bindItems");this.connection=e.connection||"";this.labelRef=e.labelRef||"";this.ref=e.ref||"";this.valueRef=e.valueRef||""}}class Bookend extends XFAObject{constructor(e){super(Vc,"bookend");this.id=e.id||"";this.leader=e.leader||"";this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||""}}class BooleanElement extends Option01{constructor(e){super(Vc,"boolean");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[uc](e){return valueToHtml(1===this[co]?"1":"0")}}class Border extends XFAObject{constructor(e){super(Vc,"border",!0);this.break=getStringOption(e.break,["close","open"]);this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.corner=new XFAObjectArray(4);this.edge=new XFAObjectArray(4);this.extras=null;this.fill=null;this.margin=null}[So](){if(!this[uo]){const e=this.edge.children.slice();if(e.length<4){const t=e.at(-1)||new Edge({});for(let r=e.length;r<4;r++)e.push(t)}const t=e.map((e=>e.thickness)),r=[0,0,0,0];if(this.margin){r[0]=this.margin.topInset;r[1]=this.margin.rightInset;r[2]=this.margin.bottomInset;r[3]=this.margin.leftInset}this[uo]={widths:t,insets:r,edges:e}}return this[uo]}[fc](){const{edges:e}=this[So](),t=e.map((e=>{const t=e[fc]();t.color||="#000000";return t})),r=Object.create(null);this.margin&&Object.assign(r,this.margin[fc]());"visible"===this.fill?.presence&&Object.assign(r,this.fill[fc]());if(this.corner.children.some((e=>0!==e.radius))){const e=this.corner.children.map((e=>e[fc]()));if(2===e.length||3===e.length){const t=e.at(-1);for(let r=e.length;r<4;r++)e.push(t)}r.borderRadius=e.map((e=>e.radius)).join(" ")}switch(this.presence){case"invisible":case"hidden":r.borderStyle="";break;case"inactive":r.borderStyle="none";break;default:r.borderStyle=t.map((e=>e.style)).join(" ")}r.borderWidth=t.map((e=>e.width)).join(" ");r.borderColor=t.map((e=>e.color)).join(" ");return r}}class Break extends XFAObject{constructor(e){super(Vc,"break",!0);this.after=getStringOption(e.after,["auto","contentArea","pageArea","pageEven","pageOdd"]);this.afterTarget=e.afterTarget||"";this.before=getStringOption(e.before,["auto","contentArea","pageArea","pageEven","pageOdd"]);this.beforeTarget=e.beforeTarget||"";this.bookendLeader=e.bookendLeader||"";this.bookendTrailer=e.bookendTrailer||"";this.id=e.id||"";this.overflowLeader=e.overflowLeader||"";this.overflowTarget=e.overflowTarget||"";this.overflowTrailer=e.overflowTrailer||"";this.startNew=getInteger({data:e.startNew,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class BreakAfter extends XFAObject{constructor(e){super(Vc,"breakAfter",!0);this.id=e.id||"";this.leader=e.leader||"";this.startNew=getInteger({data:e.startNew,defaultValue:0,validate:e=>1===e});this.target=e.target||"";this.targetType=getStringOption(e.targetType,["auto","contentArea","pageArea"]);this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||"";this.script=null}}class BreakBefore extends XFAObject{constructor(e){super(Vc,"breakBefore",!0);this.id=e.id||"";this.leader=e.leader||"";this.startNew=getInteger({data:e.startNew,defaultValue:0,validate:e=>1===e});this.target=e.target||"";this.targetType=getStringOption(e.targetType,["auto","contentArea","pageArea"]);this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||"";this.script=null}[uc](e){this[uo]={};return HTMLResult.FAILURE}}class Button extends XFAObject{constructor(e){super(Vc,"button",!0);this.highlight=getStringOption(e.highlight,["inverted","none","outline","push"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[uc](e){const t=this[_o]()[_o](),r={name:"button",attributes:{id:this[gc],class:["xfaButton"],style:{}},children:[]};for(const e of t.event.children){if("click"!==e.activity||!e.script)continue;const t=recoverJsURL(e.script[co]);if(!t)continue;const a=fixURL(t.url);a&&r.children.push({name:"a",attributes:{id:"link"+this[gc],href:a,newWindow:t.newWindow,class:["xfaLink"],style:{}},children:[]})}return HTMLResult.success(r)}}class Calculate extends XFAObject{constructor(e){super(Vc,"calculate",!0);this.id=e.id||"";this.override=getStringOption(e.override,["disabled","error","ignore","warning"]);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.message=null;this.script=null}}class Caption extends XFAObject{constructor(e){super(Vc,"caption",!0);this.id=e.id||"";this.placement=getStringOption(e.placement,["left","bottom","inline","right","top"]);this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.reserve=Math.ceil(getMeasurement(e.reserve));this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.font=null;this.margin=null;this.para=null;this.value=null}[oc](e){_setValue(this,e)}[So](e){if(!this[uo]){let{width:t,height:r}=e;switch(this.placement){case"left":case"right":case"inline":t=this.reserve<=0?t:this.reserve;break;case"top":case"bottom":r=this.reserve<=0?r:this.reserve}this[uo]=layoutNode(this,{width:t,height:r})}return this[uo]}[uc](e){if(!this.value)return HTMLResult.EMPTY;this[ec]();const t=this.value[uc](e).html;if(!t){this[Qo]();return HTMLResult.EMPTY}const r=this.reserve;if(this.reserve<=0){const{w:t,h:r}=this[So](e);switch(this.placement){case"left":case"right":case"inline":this.reserve=t;break;case"top":case"bottom":this.reserve=r}}const a=[];"string"==typeof t?a.push({name:"#text",value:t}):a.push(t);const n=toStyle(this,"font","margin","visibility");switch(this.placement){case"left":case"right":this.reserve>0&&(n.width=measureToString(this.reserve));break;case"top":case"bottom":this.reserve>0&&(n.height=measureToString(this.reserve))}setPara(this,null,t);this[Qo]();this.reserve=r;return HTMLResult.success({name:"div",attributes:{style:n,class:["xfaCaption"]},children:a})}}class Certificate extends StringObject{constructor(e){super(Vc,"certificate");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Certificates extends XFAObject{constructor(e){super(Vc,"certificates",!0);this.credentialServerPolicy=getStringOption(e.credentialServerPolicy,["optional","required"]);this.id=e.id||"";this.url=e.url||"";this.urlPolicy=e.urlPolicy||"";this.use=e.use||"";this.usehref=e.usehref||"";this.encryption=null;this.issuers=null;this.keyUsage=null;this.oids=null;this.signing=null;this.subjectDNs=null}}class CheckButton extends XFAObject{constructor(e){super(Vc,"checkButton",!0);this.id=e.id||"";this.mark=getStringOption(e.mark,["default","check","circle","cross","diamond","square","star"]);this.shape=getStringOption(e.shape,["square","round"]);this.size=getMeasurement(e.size,"10pt");this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[uc](e){const t=toStyle(this,"margin"),r=measureToString(this.size);t.width=t.height=r;let a,n,i;const s=this[_o]()[_o](),o=s.items.children.length&&s.items.children[0][uc]().html||[],c={on:(void 0!==o[0]?o[0]:"on").toString(),off:(void 0!==o[1]?o[1]:"off").toString()},l=(s.value?.[lc]()||"off")===c.on||void 0,h=s[Io](),u=s[gc];let d;if(h instanceof ExclGroup){i=h[gc];a="radio";n="xfaRadio";d=h[lo]?.[gc]||h[gc]}else{a="checkbox";n="xfaCheckbox";d=s[lo]?.[gc]||s[gc]}const f={name:"input",attributes:{class:[n],style:t,fieldId:u,dataId:d,type:a,checked:l,xfaOn:c.on,xfaOff:c.off,"aria-label":ariaLabel(s),"aria-required":!1}};i&&(f.attributes.name=i);if(isRequired(s)){f.attributes["aria-required"]=!0;f.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[f]})}}class ChoiceList extends XFAObject{constructor(e){super(Vc,"choiceList",!0);this.commitOn=getStringOption(e.commitOn,["select","exit"]);this.id=e.id||"";this.open=getStringOption(e.open,["userControl","always","multiSelect","onEntry"]);this.textEntry=getInteger({data:e.textEntry,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[uc](e){const t=toStyle(this,"border","margin"),r=this[_o]()[_o](),a={fontSize:`calc(${r.font?.size||10}px * var(--total-scale-factor))`},n=[];if(r.items.children.length>0){const e=r.items;let t=0,i=0;if(2===e.children.length){t=e.children[0].save;i=1-t}const s=e.children[t][uc]().html,o=e.children[i][uc]().html;let c=!1;const l=r.value?.[lc]()||"";for(let e=0,t=s.length;e1&&void 0!==arguments[1]?arguments[1]:[0,0,0],[r,a,n]=t;if(!e)return{r,g:a,b:n};const i=e.split(",",3).map((e=>MathClamp(parseInt(e.trim(),10),0,255))).map((e=>isNaN(e)?0:e));if(i.length<3)return{r,g:a,b:n};[r,a,n]=i;return{r,g:a,b:n}}(e.value):"";this.extras=null}[Mo](){return!1}[fc](){return this.value?Util.makeHexColor(this.value.r,this.value.g,this.value.b):null}}class Comb extends XFAObject{constructor(e){super(Vc,"comb");this.id=e.id||"";this.numberOfCells=getInteger({data:e.numberOfCells,defaultValue:0,validate:e=>e>=0});this.use=e.use||"";this.usehref=e.usehref||""}}class Connect extends XFAObject{constructor(e){super(Vc,"connect",!0);this.connection=e.connection||"";this.id=e.id||"";this.ref=e.ref||"";this.usage=getStringOption(e.usage,["exportAndImport","exportOnly","importOnly"]);this.use=e.use||"";this.usehref=e.usehref||"";this.picture=null}}class ContentArea extends XFAObject{constructor(e){super(Vc,"contentArea",!0);this.h=getMeasurement(e.h);this.id=e.id||"";this.name=e.name||"";this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.w=getMeasurement(e.w);this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.desc=null;this.extras=null}[uc](e){const t={left:measureToString(this.x),top:measureToString(this.y),width:measureToString(this.w),height:measureToString(this.h)},r=["xfaContentarea"];isPrintOnly(this)&&r.push("xfaPrintOnly");return HTMLResult.success({name:"div",children:[],attributes:{style:t,class:r,id:this[gc]}})}}class Corner extends XFAObject{constructor(e){super(Vc,"corner",!0);this.id=e.id||"";this.inverted=getInteger({data:e.inverted,defaultValue:0,validate:e=>1===e});this.join=getStringOption(e.join,["square","round"]);this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.radius=getMeasurement(e.radius);this.stroke=getStringOption(e.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]);this.thickness=getMeasurement(e.thickness,"0.5pt");this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[fc](){const e=toStyle(this,"visibility");e.radius=measureToString("square"===this.join?0:this.radius);return e}}class DateElement extends ContentObject{constructor(e){super(Vc,"date");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[fo](){const e=this[co].trim();this[co]=e?new Date(e):null}[uc](e){return valueToHtml(this[co]?this[co].toString():"")}}class DateTime extends ContentObject{constructor(e){super(Vc,"dateTime");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[fo](){const e=this[co].trim();this[co]=e?new Date(e):null}[uc](e){return valueToHtml(this[co]?this[co].toString():"")}}class DateTimeEdit extends XFAObject{constructor(e){super(Vc,"dateTimeEdit",!0);this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.picker=getStringOption(e.picker,["host","none"]);this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.comb=null;this.extras=null;this.margin=null}[uc](e){const t=toStyle(this,"border","font","margin"),r=this[_o]()[_o](),a={name:"input",attributes:{type:"text",fieldId:r[gc],dataId:r[lo]?.[gc]||r[gc],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(r),"aria-required":!1}};if(isRequired(r)){a.attributes["aria-required"]=!0;a.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[a]})}}class Decimal extends ContentObject{constructor(e){super(Vc,"decimal");this.fracDigits=getInteger({data:e.fracDigits,defaultValue:2,validate:e=>!0});this.id=e.id||"";this.leadDigits=getInteger({data:e.leadDigits,defaultValue:-1,validate:e=>!0});this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[fo](){const e=parseFloat(this[co].trim());this[co]=isNaN(e)?null:e}[uc](e){return valueToHtml(null!==this[co]?this[co].toString():"")}}class DefaultUi extends XFAObject{constructor(e){super(Vc,"defaultUi",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class Desc extends XFAObject{constructor(e){super(Vc,"desc",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}}class DigestMethod extends OptionObject{constructor(e){super(Vc,"digestMethod",["","SHA1","SHA256","SHA512","RIPEMD160"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class DigestMethods extends XFAObject{constructor(e){super(Vc,"digestMethods",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.digestMethod=new XFAObjectArray}}class Draw extends XFAObject{constructor(e){super(Vc,"draw",!0);this.anchorType=getStringOption(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.locale=e.locale||"";this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.rotate=getInteger({data:e.rotate,defaultValue:0,validate:e=>e%90==0});this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.border=null;this.caption=null;this.desc=null;this.extras=null;this.font=null;this.keep=null;this.margin=null;this.para=null;this.traversal=null;this.ui=null;this.value=null;this.setProperty=new XFAObjectArray}[oc](e){_setValue(this,e)}[uc](e){setTabIndex(this);if("hidden"===this.presence||"inactive"===this.presence)return HTMLResult.EMPTY;fixDimensions(this);this[ec]();const t=this.w,r=this.h,{w:a,h:n,isBroken:i}=layoutNode(this,e);if(a&&""===this.w){if(i&&this[Io]()[Xo]()){this[Qo]();return HTMLResult.FAILURE}this.w=a}n&&""===this.h&&(this.h=n);setFirstUnsplittable(this);if(!checkDimensions(this,e)){this.w=t;this.h=r;this[Qo]();return HTMLResult.FAILURE}unsetFirstUnsplittable(this);const s=toStyle(this,"font","hAlign","dimensions","position","presence","rotate","anchorType","border","margin");setMinMaxDimensions(this,s);if(s.margin){s.padding=s.margin;delete s.margin}const o=["xfaDraw"];this.font&&o.push("xfaFont");isPrintOnly(this)&&o.push("xfaPrintOnly");const c={style:s,id:this[gc],class:o};this.name&&(c.xfaName=this.name);const l={name:"div",attributes:c,children:[]};applyAssist(this,c);const h=computeBbox(this,l,e),u=this.value?this.value[uc](e).html:null;if(null===u){this.w=t;this.h=r;this[Qo]();return HTMLResult.success(createWrapper(this,l),h)}l.children.push(u);setPara(this,s,u);this.w=t;this.h=r;this[Qo]();return HTMLResult.success(createWrapper(this,l),h)}}class Edge extends XFAObject{constructor(e){super(Vc,"edge",!0);this.cap=getStringOption(e.cap,["square","butt","round"]);this.id=e.id||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.stroke=getStringOption(e.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]);this.thickness=getMeasurement(e.thickness,"0.5pt");this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[fc](){const e=toStyle(this,"visibility");Object.assign(e,{linecap:this.cap,width:measureToString(this.thickness),color:this.color?this.color[fc]():"#000000",style:""});if("visible"!==this.presence)e.style="none";else switch(this.stroke){case"solid":e.style="solid";break;case"dashDot":case"dashDotDot":case"dashed":e.style="dashed";break;case"dotted":e.style="dotted";break;case"embossed":e.style="ridge";break;case"etched":e.style="groove";break;case"lowered":e.style="inset";break;case"raised":e.style="outset"}return e}}class Encoding extends OptionObject{constructor(e){super(Vc,"encoding",["adbe.x509.rsa_sha1","adbe.pkcs7.detached","adbe.pkcs7.sha1"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Encodings extends XFAObject{constructor(e){super(Vc,"encodings",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.encoding=new XFAObjectArray}}class Encrypt extends XFAObject{constructor(e){super(Vc,"encrypt",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=null}}class EncryptData extends XFAObject{constructor(e){super(Vc,"encryptData",!0);this.id=e.id||"";this.operation=getStringOption(e.operation,["encrypt","decrypt"]);this.target=e.target||"";this.use=e.use||"";this.usehref=e.usehref||"";this.filter=null;this.manifest=null}}class Encryption extends XFAObject{constructor(e){super(Vc,"encryption",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new XFAObjectArray}}class EncryptionMethod extends OptionObject{constructor(e){super(Vc,"encryptionMethod",["","AES256-CBC","TRIPLEDES-CBC","AES128-CBC","AES192-CBC"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class EncryptionMethods extends XFAObject{constructor(e){super(Vc,"encryptionMethods",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.encryptionMethod=new XFAObjectArray}}class Event extends XFAObject{constructor(e){super(Vc,"event",!0);this.activity=getStringOption(e.activity,["click","change","docClose","docReady","enter","exit","full","indexChange","initialize","mouseDown","mouseEnter","mouseExit","mouseUp","postExecute","postOpen","postPrint","postSave","postSign","postSubmit","preExecute","preOpen","prePrint","preSave","preSign","preSubmit","ready","validationState"]);this.id=e.id||"";this.listen=getStringOption(e.listen,["refOnly","refAndDescendents"]);this.name=e.name||"";this.ref=e.ref||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.encryptData=null;this.execute=null;this.script=null;this.signData=null;this.submit=null}}class ExData extends ContentObject{constructor(e){super(Vc,"exData");this.contentType=e.contentType||"";this.href=e.href||"";this.id=e.id||"";this.maxLength=getInteger({data:e.maxLength,defaultValue:-1,validate:e=>e>=-1});this.name=e.name||"";this.rid=e.rid||"";this.transferEncoding=getStringOption(e.transferEncoding,["none","base64","package"]);this.use=e.use||"";this.usehref=e.usehref||""}[Eo](){return"text/html"===this.contentType}[Ko](e){if("text/html"===this.contentType&&e[Go]===mc.xhtml.id){this[co]=e;return!0}if("text/xml"===this.contentType){this[co]=e;return!0}return!1}[uc](e){return"text/html"===this.contentType&&this[co]?this[co][uc](e):HTMLResult.EMPTY}}class ExObject extends XFAObject{constructor(e){super(Vc,"exObject",!0);this.archive=e.archive||"";this.classId=e.classId||"";this.codeBase=e.codeBase||"";this.codeType=e.codeType||"";this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.exObject=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}}class ExclGroup extends XFAObject{constructor(e){super(Vc,"exclGroup",!0);this.access=getStringOption(e.access,["open","nonInteractive","protected","readOnly"]);this.accessKey=e.accessKey||"";this.anchorType=getStringOption(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.layout=getStringOption(e.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]);this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.bind=null;this.border=null;this.calculate=null;this.caption=null;this.desc=null;this.extras=null;this.margin=null;this.para=null;this.traversal=null;this.validate=null;this.connect=new XFAObjectArray;this.event=new XFAObjectArray;this.field=new XFAObjectArray;this.setProperty=new XFAObjectArray}[No](){return!0}[Mo](){return!0}[oc](e){for(const t of this.field.children){if(!t.value){const e=new Value({});t[to](e);t.value=e}t.value[oc](e)}}[Xo](){return this.layout.endsWith("-tb")&&0===this[uo].attempt&&this[uo].numberInLine>0||this[_o]()[Xo]()}[qo](){const e=this[Io]();if(!e[qo]())return!1;if(void 0!==this[uo]._isSplittable)return this[uo]._isSplittable;if("position"===this.layout||this.layout.includes("row")){this[uo]._isSplittable=!1;return!1}if(e.layout?.endsWith("-tb")&&0!==e[uo].numberInLine)return!1;this[uo]._isSplittable=!0;return!0}[go](){return flushHTML(this)}[eo](e,t){addHTML(this,e,t)}[bo](){return getAvailableSpace(this)}[uc](e){setTabIndex(this);if("hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return HTMLResult.EMPTY;fixDimensions(this);const t=[],r={id:this[gc],class:[]};setAccess(this,r.class);this[uo]||=Object.create(null);Object.assign(this[uo],{children:t,attributes:r,attempt:0,line:null,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const a=this[qo]();a||setFirstUnsplittable(this);if(!checkDimensions(this,e))return HTMLResult.FAILURE;const n=new Set(["field"]);if(this.layout.includes("row")){const e=this[Io]().columnWidths;if(Array.isArray(e)&&e.length>0){this[uo].columnWidths=e;this[uo].currentColumn=0}}const i=toStyle(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),s=["xfaExclgroup"],o=layoutClass(this);o&&s.push(o);isPrintOnly(this)&&s.push("xfaPrintOnly");r.style=i;r.class=s;this.name&&(r.xfaName=this.name);this[ec]();const c="lr-tb"===this.layout||"rl-tb"===this.layout,l=c?2:1;for(;this[uo].attempte>=1||-1===e});this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.locale=e.locale||"";this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.rotate=getInteger({data:e.rotate,defaultValue:0,validate:e=>e%90==0});this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.bind=null;this.border=null;this.calculate=null;this.caption=null;this.desc=null;this.extras=null;this.font=null;this.format=null;this.items=new XFAObjectArray(2);this.keep=null;this.margin=null;this.para=null;this.traversal=null;this.ui=null;this.validate=null;this.value=null;this.bindItems=new XFAObjectArray;this.connect=new XFAObjectArray;this.event=new XFAObjectArray;this.setProperty=new XFAObjectArray}[No](){return!0}[oc](e){_setValue(this,e)}[uc](e){setTabIndex(this);if(!this.ui){this.ui=new Ui({});this.ui[Bo]=this[Bo];this[to](this.ui);let e;switch(this.items.children.length){case 0:e=new TextEdit({});this.ui.textEdit=e;break;case 1:e=new CheckButton({});this.ui.checkButton=e;break;case 2:e=new ChoiceList({});this.ui.choiceList=e}this.ui[to](e)}if(!this.ui||"hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return HTMLResult.EMPTY;this.caption&&delete this.caption[uo];this[ec]();const t=this.caption?this.caption[uc](e).html:null,r=this.w,a=this.h;let n=0,i=0;if(this.margin){n=this.margin.leftInset+this.margin.rightInset;i=this.margin.topInset+this.margin.bottomInset}let s=null;if(""===this.w||""===this.h){let t=null,r=null,a=0,o=0;if(this.ui.checkButton)a=o=this.ui.checkButton.size;else{const{w:t,h:r}=layoutNode(this,e);if(null!==t){a=t;o=r}else o=function fonts_getMetrics(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=null;if(e){const t=stripQuotes(e.typeface),a=e[Bo].fontFinder.find(t);r=selectFont(e,a)}if(!r)return{lineHeight:12,lineGap:2,lineNoGap:10};const a=e.size||10,n=r.lineHeight?Math.max(t?0:1.2,r.lineHeight):1.2,i=void 0===r.lineGap?.2:r.lineGap;return{lineHeight:n*a,lineGap:i*a,lineNoGap:Math.max(1,n-i)*a}}(this.font,!0).lineNoGap}s=getBorderDims(this.ui[So]());a+=s.w;o+=s.h;if(this.caption){const{w:n,h:i,isBroken:s}=this.caption[So](e);if(s&&this[Io]()[Xo]()){this[Qo]();return HTMLResult.FAILURE}t=n;r=i;switch(this.caption.placement){case"left":case"right":case"inline":t+=a;break;case"top":case"bottom":r+=o}}else{t=a;r=o}if(t&&""===this.w){t+=n;this.w=Math.min(this.maxW<=0?1/0:this.maxW,this.minW+1e>=1&&e<=5});this.appearanceFilter=null;this.certificates=null;this.digestMethods=null;this.encodings=null;this.encryptionMethods=null;this.handler=null;this.lockDocument=null;this.mdp=null;this.reasons=null;this.timeStamp=null}}class Float extends ContentObject{constructor(e){super(Vc,"float");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[fo](){const e=parseFloat(this[co].trim());this[co]=isNaN(e)?null:e}[uc](e){return valueToHtml(null!==this[co]?this[co].toString():"")}}class template_Font extends XFAObject{constructor(e){super(Vc,"font",!0);this.baselineShift=getMeasurement(e.baselineShift);this.fontHorizontalScale=getFloat({data:e.fontHorizontalScale,defaultValue:100,validate:e=>e>=0});this.fontVerticalScale=getFloat({data:e.fontVerticalScale,defaultValue:100,validate:e=>e>=0});this.id=e.id||"";this.kerningMode=getStringOption(e.kerningMode,["none","pair"]);this.letterSpacing=getMeasurement(e.letterSpacing,"0");this.lineThrough=getInteger({data:e.lineThrough,defaultValue:0,validate:e=>1===e||2===e});this.lineThroughPeriod=getStringOption(e.lineThroughPeriod,["all","word"]);this.overline=getInteger({data:e.overline,defaultValue:0,validate:e=>1===e||2===e});this.overlinePeriod=getStringOption(e.overlinePeriod,["all","word"]);this.posture=getStringOption(e.posture,["normal","italic"]);this.size=getMeasurement(e.size,"10pt");this.typeface=e.typeface||"Courier";this.underline=getInteger({data:e.underline,defaultValue:0,validate:e=>1===e||2===e});this.underlinePeriod=getStringOption(e.underlinePeriod,["all","word"]);this.use=e.use||"";this.usehref=e.usehref||"";this.weight=getStringOption(e.weight,["normal","bold"]);this.extras=null;this.fill=null}[ao](e){super[ao](e);this[Bo].usedTypefaces.add(this.typeface)}[fc](){const e=toStyle(this,"fill"),t=e.color;if(t)if("#000000"===t)delete e.color;else if(!t.startsWith("#")){e.background=t;e.backgroundClip="text";e.color="transparent"}this.baselineShift&&(e.verticalAlign=measureToString(this.baselineShift));e.fontKerning="none"===this.kerningMode?"none":"normal";e.letterSpacing=measureToString(this.letterSpacing);if(0!==this.lineThrough){e.textDecoration="line-through";2===this.lineThrough&&(e.textDecorationStyle="double")}if(0!==this.overline){e.textDecoration="overline";2===this.overline&&(e.textDecorationStyle="double")}e.fontStyle=this.posture;e.fontSize=measureToString(.99*this.size);setFontFamily(this,this,this[Bo].fontFinder,e);if(0!==this.underline){e.textDecoration="underline";2===this.underline&&(e.textDecorationStyle="double")}e.fontWeight=this.weight;return e}}class Format extends XFAObject{constructor(e){super(Vc,"format",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.picture=null}}class Handler extends StringObject{constructor(e){super(Vc,"handler");this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Hyphenation extends XFAObject{constructor(e){super(Vc,"hyphenation");this.excludeAllCaps=getInteger({data:e.excludeAllCaps,defaultValue:0,validate:e=>1===e});this.excludeInitialCap=getInteger({data:e.excludeInitialCap,defaultValue:0,validate:e=>1===e});this.hyphenate=getInteger({data:e.hyphenate,defaultValue:0,validate:e=>1===e});this.id=e.id||"";this.pushCharacterCount=getInteger({data:e.pushCharacterCount,defaultValue:3,validate:e=>e>=0});this.remainCharacterCount=getInteger({data:e.remainCharacterCount,defaultValue:3,validate:e=>e>=0});this.use=e.use||"";this.usehref=e.usehref||"";this.wordCharacterCount=getInteger({data:e.wordCharacterCount,defaultValue:7,validate:e=>e>=0})}}class Image extends StringObject{constructor(e){super(Vc,"image");this.aspect=getStringOption(e.aspect,["fit","actual","height","none","width"]);this.contentType=e.contentType||"";this.href=e.href||"";this.id=e.id||"";this.name=e.name||"";this.transferEncoding=getStringOption(e.transferEncoding,["base64","none","package"]);this.use=e.use||"";this.usehref=e.usehref||""}[uc](){if(this.contentType&&!Yc.has(this.contentType.toLowerCase()))return HTMLResult.EMPTY;let e=this[Bo].images?.get(this.href);if(!e&&(this.href||!this[co]))return HTMLResult.EMPTY;e||"base64"!==this.transferEncoding||(e=function fromBase64Util(e){return Uint8Array.fromBase64?Uint8Array.fromBase64(e):stringToBytes(atob(e))}(this[co]));if(!e)return HTMLResult.EMPTY;if(!this.contentType){for(const[t,r]of Zc)if(e.length>t.length&&t.every(((t,r)=>t===e[r]))){this.contentType=r;break}if(!this.contentType)return HTMLResult.EMPTY}const t=new Blob([e],{type:this.contentType});let r;switch(this.aspect){case"fit":case"actual":break;case"height":r={height:"100%",objectFit:"fill"};break;case"none":r={width:"100%",height:"100%",objectFit:"fill"};break;case"width":r={width:"100%",objectFit:"fill"}}const a=this[_o]();return HTMLResult.success({name:"img",attributes:{class:["xfaImage"],style:r,src:URL.createObjectURL(t),alt:a?ariaLabel(a[_o]()):null}})}}class ImageEdit extends XFAObject{constructor(e){super(Vc,"imageEdit",!0);this.data=getStringOption(e.data,["link","embed"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[uc](e){return"embed"===this.data?HTMLResult.success({name:"div",children:[],attributes:{}}):HTMLResult.EMPTY}}class Integer extends ContentObject{constructor(e){super(Vc,"integer");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[fo](){const e=parseInt(this[co].trim(),10);this[co]=isNaN(e)?null:e}[uc](e){return valueToHtml(null!==this[co]?this[co].toString():"")}}class Issuers extends XFAObject{constructor(e){super(Vc,"issuers",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new XFAObjectArray}}class Items extends XFAObject{constructor(e){super(Vc,"items",!0);this.id=e.id||"";this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.ref=e.ref||"";this.save=getInteger({data:e.save,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}[uc](){const e=[];for(const t of this[Ao]())e.push(t[lc]());return HTMLResult.success(e)}}class Keep extends XFAObject{constructor(e){super(Vc,"keep",!0);this.id=e.id||"";const t=["none","contentArea","pageArea"];this.intact=getStringOption(e.intact,t);this.next=getStringOption(e.next,t);this.previous=getStringOption(e.previous,t);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class KeyUsage extends XFAObject{constructor(e){super(Vc,"keyUsage");const t=["","yes","no"];this.crlSign=getStringOption(e.crlSign,t);this.dataEncipherment=getStringOption(e.dataEncipherment,t);this.decipherOnly=getStringOption(e.decipherOnly,t);this.digitalSignature=getStringOption(e.digitalSignature,t);this.encipherOnly=getStringOption(e.encipherOnly,t);this.id=e.id||"";this.keyAgreement=getStringOption(e.keyAgreement,t);this.keyCertSign=getStringOption(e.keyCertSign,t);this.keyEncipherment=getStringOption(e.keyEncipherment,t);this.nonRepudiation=getStringOption(e.nonRepudiation,t);this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Line extends XFAObject{constructor(e){super(Vc,"line",!0);this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.slope=getStringOption(e.slope,["\\","/"]);this.use=e.use||"";this.usehref=e.usehref||"";this.edge=null}[uc](){const e=this[_o]()[_o](),t=this.edge||new Edge({}),r=t[fc](),a=Object.create(null),n="visible"===t.presence?t.thickness:0;a.strokeWidth=measureToString(n);a.stroke=r.color;let i,s,o,c,l="100%",h="100%";if(e.w<=n){[i,s,o,c]=["50%",0,"50%","100%"];l=a.strokeWidth}else if(e.h<=n){[i,s,o,c]=[0,"50%","100%","50%"];h=a.strokeWidth}else"\\"===this.slope?[i,s,o,c]=[0,0,"100%","100%"]:[i,s,o,c]=[0,"100%","100%",0];const u={name:"svg",children:[{name:"line",attributes:{xmlns:Kc,x1:i,y1:s,x2:o,y2:c,style:a}}],attributes:{xmlns:Kc,width:l,height:h,style:{overflow:"visible"}}};if(hasMargin(e))return HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[u]});u.attributes.style.position="absolute";return HTMLResult.success(u)}}class Linear extends XFAObject{constructor(e){super(Vc,"linear",!0);this.id=e.id||"";this.type=getStringOption(e.type,["toRight","toBottom","toLeft","toTop"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[fc](e){e=e?e[fc]():"#FFFFFF";return`linear-gradient(${this.type.replace(/([RBLT])/," $1").toLowerCase()}, ${e}, ${this.color?this.color[fc]():"#000000"})`}}class LockDocument extends ContentObject{constructor(e){super(Vc,"lockDocument");this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}[fo](){this[co]=getStringOption(this[co],["auto","0","1"])}}class Manifest extends XFAObject{constructor(e){super(Vc,"manifest",!0);this.action=getStringOption(e.action,["include","all","exclude"]);this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.ref=new XFAObjectArray}}class Margin extends XFAObject{constructor(e){super(Vc,"margin",!0);this.bottomInset=getMeasurement(e.bottomInset,"0");this.id=e.id||"";this.leftInset=getMeasurement(e.leftInset,"0");this.rightInset=getMeasurement(e.rightInset,"0");this.topInset=getMeasurement(e.topInset,"0");this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[fc](){return{margin:measureToString(this.topInset)+" "+measureToString(this.rightInset)+" "+measureToString(this.bottomInset)+" "+measureToString(this.leftInset)}}}class Mdp extends XFAObject{constructor(e){super(Vc,"mdp");this.id=e.id||"";this.permissions=getInteger({data:e.permissions,defaultValue:2,validate:e=>1===e||3===e});this.signatureType=getStringOption(e.signatureType,["filler","author"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Medium extends XFAObject{constructor(e){super(Vc,"medium");this.id=e.id||"";this.imagingBBox=function getBBox(e){const t=-1;if(!e)return{x:t,y:t,width:t,height:t};const r=e.split(",",4).map((e=>getMeasurement(e.trim(),"-1")));if(r.length<4||r[2]<0||r[3]<0)return{x:t,y:t,width:t,height:t};const[a,n,i,s]=r;return{x:a,y:n,width:i,height:s}}(e.imagingBBox);this.long=getMeasurement(e.long);this.orientation=getStringOption(e.orientation,["portrait","landscape"]);this.short=getMeasurement(e.short);this.stock=e.stock||"";this.trayIn=getStringOption(e.trayIn,["auto","delegate","pageFront"]);this.trayOut=getStringOption(e.trayOut,["auto","delegate"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Message extends XFAObject{constructor(e){super(Vc,"message",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.text=new XFAObjectArray}}class NumericEdit extends XFAObject{constructor(e){super(Vc,"numericEdit",!0);this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.comb=null;this.extras=null;this.margin=null}[uc](e){const t=toStyle(this,"border","font","margin"),r=this[_o]()[_o](),a={name:"input",attributes:{type:"text",fieldId:r[gc],dataId:r[lo]?.[gc]||r[gc],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(r),"aria-required":!1}};if(isRequired(r)){a.attributes["aria-required"]=!0;a.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[a]})}}class Occur extends XFAObject{constructor(e){super(Vc,"occur",!0);this.id=e.id||"";this.initial=""!==e.initial?getInteger({data:e.initial,defaultValue:"",validate:e=>!0}):"";this.max=""!==e.max?getInteger({data:e.max,defaultValue:1,validate:e=>!0}):"";this.min=""!==e.min?getInteger({data:e.min,defaultValue:1,validate:e=>!0}):"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[ao](){const e=this[_o](),t=this.min;""===this.min&&(this.min=e instanceof PageArea||e instanceof PageSet?0:1);""===this.max&&(this.max=""===t?e instanceof PageArea||e instanceof PageSet?-1:1:this.min);-1!==this.max&&this.max!0});this.name=e.name||"";this.numbered=getInteger({data:e.numbered,defaultValue:1,validate:e=>!0});this.oddOrEven=getStringOption(e.oddOrEven,["any","even","odd"]);this.pagePosition=getStringOption(e.pagePosition,["any","first","last","only","rest"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.desc=null;this.extras=null;this.medium=null;this.occur=null;this.area=new XFAObjectArray;this.contentArea=new XFAObjectArray;this.draw=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.field=new XFAObjectArray;this.subform=new XFAObjectArray}[Wo](){if(!this[uo]){this[uo]={numberOfUse:0};return!0}return!this.occur||-1===this.occur.max||this[uo].numberOfUsee.oddOrEven===t&&e.pagePosition===r));if(a)return a;a=this.pageArea.children.find((e=>"any"===e.oddOrEven&&e.pagePosition===r));if(a)return a;a=this.pageArea.children.find((e=>"any"===e.oddOrEven&&"any"===e.pagePosition));return a||this.pageArea.children[0]}}class Para extends XFAObject{constructor(e){super(Vc,"para",!0);this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.lineHeight=e.lineHeight?getMeasurement(e.lineHeight,"0pt"):"";this.marginLeft=e.marginLeft?getMeasurement(e.marginLeft,"0pt"):"";this.marginRight=e.marginRight?getMeasurement(e.marginRight,"0pt"):"";this.orphans=getInteger({data:e.orphans,defaultValue:0,validate:e=>e>=0});this.preserve=e.preserve||"";this.radixOffset=e.radixOffset?getMeasurement(e.radixOffset,"0pt"):"";this.spaceAbove=e.spaceAbove?getMeasurement(e.spaceAbove,"0pt"):"";this.spaceBelow=e.spaceBelow?getMeasurement(e.spaceBelow,"0pt"):"";this.tabDefault=e.tabDefault?getMeasurement(this.tabDefault):"";this.tabStops=(e.tabStops||"").trim().split(/\s+/).map(((e,t)=>t%2==1?getMeasurement(e):e));this.textIndent=e.textIndent?getMeasurement(e.textIndent,"0pt"):"";this.use=e.use||"";this.usehref=e.usehref||"";this.vAlign=getStringOption(e.vAlign,["top","bottom","middle"]);this.widows=getInteger({data:e.widows,defaultValue:0,validate:e=>e>=0});this.hyphenation=null}[fc](){const e=toStyle(this,"hAlign");""!==this.marginLeft&&(e.paddingLeft=measureToString(this.marginLeft));""!==this.marginRight&&(e.paddingRight=measureToString(this.marginRight));""!==this.spaceAbove&&(e.paddingTop=measureToString(this.spaceAbove));""!==this.spaceBelow&&(e.paddingBottom=measureToString(this.spaceBelow));if(""!==this.textIndent){e.textIndent=measureToString(this.textIndent);fixTextIndent(e)}this.lineHeight>0&&(e.lineHeight=measureToString(this.lineHeight));""!==this.tabDefault&&(e.tabSize=measureToString(this.tabDefault));this.tabStops.length;this.hyphenatation&&Object.assign(e,this.hyphenatation[fc]());return e}}class PasswordEdit extends XFAObject{constructor(e){super(Vc,"passwordEdit",!0);this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.passwordChar=e.passwordChar||"*";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}}class template_Pattern extends XFAObject{constructor(e){super(Vc,"pattern",!0);this.id=e.id||"";this.type=getStringOption(e.type,["crossHatch","crossDiagonal","diagonalLeft","diagonalRight","horizontal","vertical"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[fc](e){e=e?e[fc]():"#FFFFFF";const t=this.color?this.color[fc]():"#000000",r="repeating-linear-gradient",a=`${e},${e} 5px,${t} 5px,${t} 10px`;switch(this.type){case"crossHatch":return`${r}(to top,${a}) ${r}(to right,${a})`;case"crossDiagonal":return`${r}(45deg,${a}) ${r}(-45deg,${a})`;case"diagonalLeft":return`${r}(45deg,${a})`;case"diagonalRight":return`${r}(-45deg,${a})`;case"horizontal":return`${r}(to top,${a})`;case"vertical":return`${r}(to right,${a})`}return""}}class Picture extends StringObject{constructor(e){super(Vc,"picture");this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Proto extends XFAObject{constructor(e){super(Vc,"proto",!0);this.appearanceFilter=new XFAObjectArray;this.arc=new XFAObjectArray;this.area=new XFAObjectArray;this.assist=new XFAObjectArray;this.barcode=new XFAObjectArray;this.bindItems=new XFAObjectArray;this.bookend=new XFAObjectArray;this.boolean=new XFAObjectArray;this.border=new XFAObjectArray;this.break=new XFAObjectArray;this.breakAfter=new XFAObjectArray;this.breakBefore=new XFAObjectArray;this.button=new XFAObjectArray;this.calculate=new XFAObjectArray;this.caption=new XFAObjectArray;this.certificate=new XFAObjectArray;this.certificates=new XFAObjectArray;this.checkButton=new XFAObjectArray;this.choiceList=new XFAObjectArray;this.color=new XFAObjectArray;this.comb=new XFAObjectArray;this.connect=new XFAObjectArray;this.contentArea=new XFAObjectArray;this.corner=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.dateTimeEdit=new XFAObjectArray;this.decimal=new XFAObjectArray;this.defaultUi=new XFAObjectArray;this.desc=new XFAObjectArray;this.digestMethod=new XFAObjectArray;this.digestMethods=new XFAObjectArray;this.draw=new XFAObjectArray;this.edge=new XFAObjectArray;this.encoding=new XFAObjectArray;this.encodings=new XFAObjectArray;this.encrypt=new XFAObjectArray;this.encryptData=new XFAObjectArray;this.encryption=new XFAObjectArray;this.encryptionMethod=new XFAObjectArray;this.encryptionMethods=new XFAObjectArray;this.event=new XFAObjectArray;this.exData=new XFAObjectArray;this.exObject=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.execute=new XFAObjectArray;this.extras=new XFAObjectArray;this.field=new XFAObjectArray;this.fill=new XFAObjectArray;this.filter=new XFAObjectArray;this.float=new XFAObjectArray;this.font=new XFAObjectArray;this.format=new XFAObjectArray;this.handler=new XFAObjectArray;this.hyphenation=new XFAObjectArray;this.image=new XFAObjectArray;this.imageEdit=new XFAObjectArray;this.integer=new XFAObjectArray;this.issuers=new XFAObjectArray;this.items=new XFAObjectArray;this.keep=new XFAObjectArray;this.keyUsage=new XFAObjectArray;this.line=new XFAObjectArray;this.linear=new XFAObjectArray;this.lockDocument=new XFAObjectArray;this.manifest=new XFAObjectArray;this.margin=new XFAObjectArray;this.mdp=new XFAObjectArray;this.medium=new XFAObjectArray;this.message=new XFAObjectArray;this.numericEdit=new XFAObjectArray;this.occur=new XFAObjectArray;this.oid=new XFAObjectArray;this.oids=new XFAObjectArray;this.overflow=new XFAObjectArray;this.pageArea=new XFAObjectArray;this.pageSet=new XFAObjectArray;this.para=new XFAObjectArray;this.passwordEdit=new XFAObjectArray;this.pattern=new XFAObjectArray;this.picture=new XFAObjectArray;this.radial=new XFAObjectArray;this.reason=new XFAObjectArray;this.reasons=new XFAObjectArray;this.rectangle=new XFAObjectArray;this.ref=new XFAObjectArray;this.script=new XFAObjectArray;this.setProperty=new XFAObjectArray;this.signData=new XFAObjectArray;this.signature=new XFAObjectArray;this.signing=new XFAObjectArray;this.solid=new XFAObjectArray;this.speak=new XFAObjectArray;this.stipple=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray;this.subjectDN=new XFAObjectArray;this.subjectDNs=new XFAObjectArray;this.submit=new XFAObjectArray;this.text=new XFAObjectArray;this.textEdit=new XFAObjectArray;this.time=new XFAObjectArray;this.timeStamp=new XFAObjectArray;this.toolTip=new XFAObjectArray;this.traversal=new XFAObjectArray;this.traverse=new XFAObjectArray;this.ui=new XFAObjectArray;this.validate=new XFAObjectArray;this.value=new XFAObjectArray;this.variables=new XFAObjectArray}}class Radial extends XFAObject{constructor(e){super(Vc,"radial",!0);this.id=e.id||"";this.type=getStringOption(e.type,["toEdge","toCenter"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[fc](e){e=e?e[fc]():"#FFFFFF";const t=this.color?this.color[fc]():"#000000";return`radial-gradient(circle at center, ${"toEdge"===this.type?`${e},${t}`:`${t},${e}`})`}}class Reason extends StringObject{constructor(e){super(Vc,"reason");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Reasons extends XFAObject{constructor(e){super(Vc,"reasons",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.reason=new XFAObjectArray}}class Rectangle extends XFAObject{constructor(e){super(Vc,"rectangle",!0);this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.corner=new XFAObjectArray(4);this.edge=new XFAObjectArray(4);this.fill=null}[uc](){const e=this.edge.children.length?this.edge.children[0]:new Edge({}),t=e[fc](),r=Object.create(null);"visible"===this.fill?.presence?Object.assign(r,this.fill[fc]()):r.fill="transparent";r.strokeWidth=measureToString("visible"===e.presence?e.thickness:0);r.stroke=t.color;const a=(this.corner.children.length?this.corner.children[0]:new Corner({}))[fc](),n={name:"svg",children:[{name:"rect",attributes:{xmlns:Kc,width:"100%",height:"100%",x:0,y:0,rx:a.radius,ry:a.radius,style:r}}],attributes:{xmlns:Kc,style:{overflow:"visible"},width:"100%",height:"100%"}};if(hasMargin(this[_o]()[_o]()))return HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[n]});n.attributes.style.position="absolute";return HTMLResult.success(n)}}class RefElement extends StringObject{constructor(e){super(Vc,"ref");this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Script extends StringObject{constructor(e){super(Vc,"script");this.binding=e.binding||"";this.contentType=e.contentType||"";this.id=e.id||"";this.name=e.name||"";this.runAt=getStringOption(e.runAt,["client","both","server"]);this.use=e.use||"";this.usehref=e.usehref||""}}class SetProperty extends XFAObject{constructor(e){super(Vc,"setProperty");this.connection=e.connection||"";this.ref=e.ref||"";this.target=e.target||""}}class SignData extends XFAObject{constructor(e){super(Vc,"signData",!0);this.id=e.id||"";this.operation=getStringOption(e.operation,["sign","clear","verify"]);this.ref=e.ref||"";this.target=e.target||"";this.use=e.use||"";this.usehref=e.usehref||"";this.filter=null;this.manifest=null}}class Signature extends XFAObject{constructor(e){super(Vc,"signature",!0);this.id=e.id||"";this.type=getStringOption(e.type,["PDF1.3","PDF1.6"]);this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.filter=null;this.manifest=null;this.margin=null}}class Signing extends XFAObject{constructor(e){super(Vc,"signing",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new XFAObjectArray}}class Solid extends XFAObject{constructor(e){super(Vc,"solid",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[fc](e){return e?e[fc]():"#FFFFFF"}}class Speak extends StringObject{constructor(e){super(Vc,"speak");this.disable=getInteger({data:e.disable,defaultValue:0,validate:e=>1===e});this.id=e.id||"";this.priority=getStringOption(e.priority,["custom","caption","name","toolTip"]);this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Stipple extends XFAObject{constructor(e){super(Vc,"stipple",!0);this.id=e.id||"";this.rate=getInteger({data:e.rate,defaultValue:50,validate:e=>e>=0&&e<=100});this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[fc](e){const t=this.rate/100;return Util.makeHexColor(Math.round(e.value.r*(1-t)+this.value.r*t),Math.round(e.value.g*(1-t)+this.value.g*t),Math.round(e.value.b*(1-t)+this.value.b*t))}}class Subform extends XFAObject{constructor(e){super(Vc,"subform",!0);this.access=getStringOption(e.access,["open","nonInteractive","protected","readOnly"]);this.allowMacro=getInteger({data:e.allowMacro,defaultValue:0,validate:e=>1===e});this.anchorType=getStringOption(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.columnWidths=(e.columnWidths||"").trim().split(/\s+/).map((e=>"-1"===e?-1:getMeasurement(e)));this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.layout=getStringOption(e.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]);this.locale=e.locale||"";this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.mergeMode=getStringOption(e.mergeMode,["consumeData","matchTemplate"]);this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.restoreState=getStringOption(e.restoreState,["manual","auto"]);this.scope=getStringOption(e.scope,["name","none"]);this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.bind=null;this.bookend=null;this.border=null;this.break=null;this.calculate=null;this.desc=null;this.extras=null;this.keep=null;this.margin=null;this.occur=null;this.overflow=null;this.pageSet=null;this.para=null;this.traversal=null;this.validate=null;this.variables=null;this.area=new XFAObjectArray;this.breakAfter=new XFAObjectArray;this.breakBefore=new XFAObjectArray;this.connect=new XFAObjectArray;this.draw=new XFAObjectArray;this.event=new XFAObjectArray;this.exObject=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.field=new XFAObjectArray;this.proto=new XFAObjectArray;this.setProperty=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray}[Io](){const e=this[_o]();return e instanceof SubformSet?e[Io]():e}[No](){return!0}[Xo](){return this.layout.endsWith("-tb")&&0===this[uo].attempt&&this[uo].numberInLine>0||this[_o]()[Xo]()}*[Co](){yield*getContainedChildren(this)}[go](){return flushHTML(this)}[eo](e,t){addHTML(this,e,t)}[bo](){return getAvailableSpace(this)}[qo](){const e=this[Io]();if(!e[qo]())return!1;if(void 0!==this[uo]._isSplittable)return this[uo]._isSplittable;if("position"===this.layout||this.layout.includes("row")){this[uo]._isSplittable=!1;return!1}if(this.keep&&"none"!==this.keep.intact){this[uo]._isSplittable=!1;return!1}if(e.layout?.endsWith("-tb")&&0!==e[uo].numberInLine)return!1;this[uo]._isSplittable=!0;return!0}[uc](e){setTabIndex(this);if(this.break){if("auto"!==this.break.after||""!==this.break.afterTarget){const e=new BreakAfter({targetType:this.break.after,target:this.break.afterTarget,startNew:this.break.startNew.toString()});e[Bo]=this[Bo];this[to](e);this.breakAfter.push(e)}if("auto"!==this.break.before||""!==this.break.beforeTarget){const e=new BreakBefore({targetType:this.break.before,target:this.break.beforeTarget,startNew:this.break.startNew.toString()});e[Bo]=this[Bo];this[to](e);this.breakBefore.push(e)}if(""!==this.break.overflowTarget){const e=new Overflow({target:this.break.overflowTarget,leader:this.break.overflowLeader,trailer:this.break.overflowTrailer});e[Bo]=this[Bo];this[to](e);this.overflow.push(e)}this[tc](this.break);this.break=null}if("hidden"===this.presence||"inactive"===this.presence)return HTMLResult.EMPTY;(this.breakBefore.children.length>1||this.breakAfter.children.length>1)&&warn("XFA - Several breakBefore or breakAfter in subforms: please file a bug.");if(this.breakBefore.children.length>=1){const e=this.breakBefore.children[0];if(handleBreak(e))return HTMLResult.breakNode(e)}if(this[uo]?.afterBreakAfter)return HTMLResult.EMPTY;fixDimensions(this);const t=[],r={id:this[gc],class:[]};setAccess(this,r.class);this[uo]||=Object.create(null);Object.assign(this[uo],{children:t,line:null,attributes:r,attempt:0,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const a=this[Oo](),n=a[uo].noLayoutFailure,i=this[qo]();i||setFirstUnsplittable(this);if(!checkDimensions(this,e))return HTMLResult.FAILURE;const s=new Set(["area","draw","exclGroup","field","subform","subformSet"]);if(this.layout.includes("row")){const e=this[Io]().columnWidths;if(Array.isArray(e)&&e.length>0){this[uo].columnWidths=e;this[uo].currentColumn=0}}const o=toStyle(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),c=["xfaSubform"],l=layoutClass(this);l&&c.push(l);r.style=o;r.class=c;this.name&&(r.xfaName=this.name);if(this.overflow){const t=this.overflow[So]();if(t.addLeader){t.addLeader=!1;handleOverflow(this,t.leader,e)}}this[ec]();const h="lr-tb"===this.layout||"rl-tb"===this.layout,u=h?2:1;for(;this[uo].attempt=1){const e=this.breakAfter.children[0];if(handleBreak(e)){this[uo].afterBreakAfter=y;return HTMLResult.breakNode(e)}}delete this[uo];return y}}class SubformSet extends XFAObject{constructor(e){super(Vc,"subformSet",!0);this.id=e.id||"";this.name=e.name||"";this.relation=getStringOption(e.relation,["ordered","choice","unordered"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.bookend=null;this.break=null;this.desc=null;this.extras=null;this.occur=null;this.overflow=null;this.breakAfter=new XFAObjectArray;this.breakBefore=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray}*[Co](){yield*getContainedChildren(this)}[Io](){let e=this[_o]();for(;!(e instanceof Subform);)e=e[_o]();return e}[No](){return!0}}class SubjectDN extends ContentObject{constructor(e){super(Vc,"subjectDN");this.delimiter=e.delimiter||",";this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[fo](){this[co]=new Map(this[co].split(this.delimiter).map((e=>{(e=e.split("=",2))[0]=e[0].trim();return e})))}}class SubjectDNs extends XFAObject{constructor(e){super(Vc,"subjectDNs",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.subjectDN=new XFAObjectArray}}class Submit extends XFAObject{constructor(e){super(Vc,"submit",!0);this.embedPDF=getInteger({data:e.embedPDF,defaultValue:0,validate:e=>1===e});this.format=getStringOption(e.format,["xdp","formdata","pdf","urlencoded","xfd","xml"]);this.id=e.id||"";this.target=e.target||"";this.textEncoding=getKeyword({data:e.textEncoding?e.textEncoding.toLowerCase():"",defaultValue:"",validate:e=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e)||e.match(/iso-8859-\d{2}/)});this.use=e.use||"";this.usehref=e.usehref||"";this.xdpContent=e.xdpContent||"";this.encrypt=null;this.encryptData=new XFAObjectArray;this.signData=new XFAObjectArray}}class Template extends XFAObject{constructor(e){super(Vc,"template",!0);this.baseProfile=getStringOption(e.baseProfile,["full","interactiveForms"]);this.extras=null;this.subform=new XFAObjectArray}[fo](){0===this.subform.children.length&&warn("XFA - No subforms in template node.");this.subform.children.length>=2&&warn("XFA - Several subforms in template node: please file a bug.");this[cc]=5e3}[qo](){return!0}[nc](e,t){return e.startsWith("#")?[this[Ro].get(e.slice(1))]:searchNode(this,t,e,!0,!0)}*[hc](){if(!this.subform.children.length)return HTMLResult.success({name:"div",children:[]});this[uo]={overflowNode:null,firstUnsplittable:null,currentContentArea:null,currentPageArea:null,noLayoutFailure:!1,pageNumber:1,pagePosition:"first",oddOrEven:"odd",blankOrNotBlank:"nonBlank",paraStack:[]};const e=this.subform.children[0];e.pageSet[no]();const t=e.pageSet.pageArea.children,r={name:"div",children:[]};let a=null,n=null,i=null;if(e.breakBefore.children.length>=1){n=e.breakBefore.children[0];i=n.target}else if(e.subform.children.length>=1&&e.subform.children[0].breakBefore.children.length>=1){n=e.subform.children[0].breakBefore.children[0];i=n.target}else if(e.break?.beforeTarget){n=e.break;i=n.beforeTarget}else if(e.subform.children.length>=1&&e.subform.children[0].break?.beforeTarget){n=e.subform.children[0].break;i=n.beforeTarget}if(n){const e=this[nc](i,n[_o]());if(e instanceof PageArea){a=e;n[uo]={}}}a||=t[0];a[uo]={numberOfUse:1};const s=a[_o]();s[uo]={numberOfUse:1,pageIndex:s.pageArea.children.indexOf(a),pageSetIndex:0};let o,c=null,l=null,h=!0,u=0,d=0;for(;;){if(h)u=0;else{r.children.pop();if(3==++u){warn("XFA - Something goes wrong: please file a bug.");return r}}o=null;this[uo].currentPageArea=a;const t=a[uc]().html;r.children.push(t);if(c){this[uo].noLayoutFailure=!0;t.children.push(c[uc](a[uo].space).html);c=null}if(l){this[uo].noLayoutFailure=!0;t.children.push(l[uc](a[uo].space).html);l=null}const n=a.contentArea.children,i=t.children.filter((e=>e.attributes.class.includes("xfaContentarea")));h=!1;this[uo].firstUnsplittable=null;this[uo].noLayoutFailure=!1;const flush=t=>{const r=e[go]();if(r){h||=r.children?.length>0;i[t].children.push(r)}};for(let t=d,a=n.length;t0;i[t].children.push(u.html)}else!h&&r.children.length>1&&r.children.pop();return r}if(u.isBreak()){const e=u.breakNode;flush(t);if("auto"===e.targetType)continue;if(e.leader){c=this[nc](e.leader,e[_o]());c=c?c[0]:null}if(e.trailer){l=this[nc](e.trailer,e[_o]());l=l?l[0]:null}if("pageArea"===e.targetType){o=e[uo].target;t=1/0}else if(e[uo].target){o=e[uo].target;d=e[uo].index+1;t=1/0}else t=e[uo].index}else if(this[uo].overflowNode){const e=this[uo].overflowNode;this[uo].overflowNode=null;const r=e[So](),a=r.target;r.addLeader=null!==r.leader;r.addTrailer=null!==r.trailer;flush(t);const i=t;t=1/0;if(a instanceof PageArea)o=a;else if(a instanceof ContentArea){const e=n.indexOf(a);if(-1!==e)e>i?t=e-1:d=e;else{o=a[_o]();d=o.contentArea.children.indexOf(a)}}}else flush(t)}this[uo].pageNumber+=1;o&&(o[Wo]()?o[uo].numberOfUse+=1:o=null);a=o||a[Fo]();yield null}}}class Text extends ContentObject{constructor(e){super(Vc,"text");this.id=e.id||"";this.maxChars=getInteger({data:e.maxChars,defaultValue:0,validate:e=>e>=0});this.name=e.name||"";this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}[Qs](){return!0}[Ko](e){if(e[Go]===mc.xhtml.id){this[co]=e;return!0}warn(`XFA - Invalid content in Text: ${e[$o]}.`);return!1}[Yo](e){this[co]instanceof XFAObject||super[Yo](e)}[fo](){"string"==typeof this[co]&&(this[co]=this[co].replaceAll("\r\n","\n"))}[So](){return"string"==typeof this[co]?this[co].split(/[\u2029\u2028\n]/).filter((e=>!!e)).join("\n"):this[co][lc]()}[uc](e){if("string"==typeof this[co]){const e=valueToHtml(this[co]).html;if(this[co].includes("\u2029")){e.name="div";e.children=[];this[co].split("\u2029").map((e=>e.split(/[\u2028\n]/).flatMap((e=>[{name:"span",value:e},{name:"br"}])))).forEach((t=>{e.children.push({name:"p",children:t})}))}else if(/[\u2028\n]/.test(this[co])){e.name="div";e.children=[];this[co].split(/[\u2028\n]/).forEach((t=>{e.children.push({name:"span",value:t},{name:"br"})}))}return HTMLResult.success(e)}return this[co][uc](e)}}class TextEdit extends XFAObject{constructor(e){super(Vc,"textEdit",!0);this.allowRichText=getInteger({data:e.allowRichText,defaultValue:0,validate:e=>1===e});this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.multiLine=getInteger({data:e.multiLine,defaultValue:"",validate:e=>0===e||1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.vScrollPolicy=getStringOption(e.vScrollPolicy,["auto","off","on"]);this.border=null;this.comb=null;this.extras=null;this.margin=null}[uc](e){const t=toStyle(this,"border","font","margin");let r;const a=this[_o]()[_o]();""===this.multiLine&&(this.multiLine=a instanceof Draw?1:0);r=1===this.multiLine?{name:"textarea",attributes:{dataId:a[lo]?.[gc]||a[gc],fieldId:a[gc],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(a),"aria-required":!1}}:{name:"input",attributes:{type:"text",dataId:a[lo]?.[gc]||a[gc],fieldId:a[gc],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(a),"aria-required":!1}};if(isRequired(a)){r.attributes["aria-required"]=!0;r.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[r]})}}class Time extends StringObject{constructor(e){super(Vc,"time");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[fo](){const e=this[co].trim();this[co]=e?new Date(e):null}[uc](e){return valueToHtml(this[co]?this[co].toString():"")}}class TimeStamp extends XFAObject{constructor(e){super(Vc,"timeStamp");this.id=e.id||"";this.server=e.server||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class ToolTip extends StringObject{constructor(e){super(Vc,"toolTip");this.id=e.id||"";this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Traversal extends XFAObject{constructor(e){super(Vc,"traversal",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.traverse=new XFAObjectArray}}class Traverse extends XFAObject{constructor(e){super(Vc,"traverse",!0);this.id=e.id||"";this.operation=getStringOption(e.operation,["next","back","down","first","left","right","up"]);this.ref=e.ref||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.script=null}get name(){return this.operation}[Ho](){return!1}}class Ui extends XFAObject{constructor(e){super(Vc,"ui",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.picture=null;this.barcode=null;this.button=null;this.checkButton=null;this.choiceList=null;this.dateTimeEdit=null;this.defaultUi=null;this.imageEdit=null;this.numericEdit=null;this.passwordEdit=null;this.signature=null;this.textEdit=null}[So](){if(void 0===this[uo]){for(const e of Object.getOwnPropertyNames(this)){if("extras"===e||"picture"===e)continue;const t=this[e];if(t instanceof XFAObject){this[uo]=t;return t}}this[uo]=null}return this[uo]}[uc](e){const t=this[So]();return t?t[uc](e):HTMLResult.EMPTY}}class Validate extends XFAObject{constructor(e){super(Vc,"validate",!0);this.formatTest=getStringOption(e.formatTest,["warning","disabled","error"]);this.id=e.id||"";this.nullTest=getStringOption(e.nullTest,["disabled","error","warning"]);this.scriptTest=getStringOption(e.scriptTest,["error","disabled","warning"]);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.message=null;this.picture=null;this.script=null}}class Value extends XFAObject{constructor(e){super(Vc,"value",!0);this.id=e.id||"";this.override=getInteger({data:e.override,defaultValue:0,validate:e=>1===e});this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.arc=null;this.boolean=null;this.date=null;this.dateTime=null;this.decimal=null;this.exData=null;this.float=null;this.image=null;this.integer=null;this.line=null;this.rectangle=null;this.text=null;this.time=null}[oc](e){const t=this[_o]();if(t instanceof Field&&t.ui?.imageEdit){if(!this.image){this.image=new Image({});this[to](this.image)}this.image[co]=e[co];return}const r=e[$o];if(null===this[r]){for(const e of Object.getOwnPropertyNames(this)){const t=this[e];if(t instanceof XFAObject){this[e]=null;this[tc](t)}}this[e[$o]]=e;this[to](e)}else this[r][co]=e[co]}[lc](){if(this.exData)return"string"==typeof this.exData[co]?this.exData[co].trim():this.exData[co][lc]().trim();for(const e of Object.getOwnPropertyNames(this)){if("image"===e)continue;const t=this[e];if(t instanceof XFAObject)return(t[co]||"").toString().trim()}return null}[uc](e){for(const t of Object.getOwnPropertyNames(this)){const r=this[t];if(r instanceof XFAObject)return r[uc](e)}return HTMLResult.EMPTY}}class Variables extends XFAObject{constructor(e){super(Vc,"variables",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.manifest=new XFAObjectArray;this.script=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}[Ho](){return!0}}class TemplateNamespace{static[pc](e,t){if(TemplateNamespace.hasOwnProperty(e)){const r=TemplateNamespace[e](t);r[sc](t);return r}}static appearanceFilter(e){return new AppearanceFilter(e)}static arc(e){return new Arc(e)}static area(e){return new Area(e)}static assist(e){return new Assist(e)}static barcode(e){return new Barcode(e)}static bind(e){return new Bind(e)}static bindItems(e){return new BindItems(e)}static bookend(e){return new Bookend(e)}static boolean(e){return new BooleanElement(e)}static border(e){return new Border(e)}static break(e){return new Break(e)}static breakAfter(e){return new BreakAfter(e)}static breakBefore(e){return new BreakBefore(e)}static button(e){return new Button(e)}static calculate(e){return new Calculate(e)}static caption(e){return new Caption(e)}static certificate(e){return new Certificate(e)}static certificates(e){return new Certificates(e)}static checkButton(e){return new CheckButton(e)}static choiceList(e){return new ChoiceList(e)}static color(e){return new Color(e)}static comb(e){return new Comb(e)}static connect(e){return new Connect(e)}static contentArea(e){return new ContentArea(e)}static corner(e){return new Corner(e)}static date(e){return new DateElement(e)}static dateTime(e){return new DateTime(e)}static dateTimeEdit(e){return new DateTimeEdit(e)}static decimal(e){return new Decimal(e)}static defaultUi(e){return new DefaultUi(e)}static desc(e){return new Desc(e)}static digestMethod(e){return new DigestMethod(e)}static digestMethods(e){return new DigestMethods(e)}static draw(e){return new Draw(e)}static edge(e){return new Edge(e)}static encoding(e){return new Encoding(e)}static encodings(e){return new Encodings(e)}static encrypt(e){return new Encrypt(e)}static encryptData(e){return new EncryptData(e)}static encryption(e){return new Encryption(e)}static encryptionMethod(e){return new EncryptionMethod(e)}static encryptionMethods(e){return new EncryptionMethods(e)}static event(e){return new Event(e)}static exData(e){return new ExData(e)}static exObject(e){return new ExObject(e)}static exclGroup(e){return new ExclGroup(e)}static execute(e){return new Execute(e)}static extras(e){return new Extras(e)}static field(e){return new Field(e)}static fill(e){return new Fill(e)}static filter(e){return new Filter(e)}static float(e){return new Float(e)}static font(e){return new template_Font(e)}static format(e){return new Format(e)}static handler(e){return new Handler(e)}static hyphenation(e){return new Hyphenation(e)}static image(e){return new Image(e)}static imageEdit(e){return new ImageEdit(e)}static integer(e){return new Integer(e)}static issuers(e){return new Issuers(e)}static items(e){return new Items(e)}static keep(e){return new Keep(e)}static keyUsage(e){return new KeyUsage(e)}static line(e){return new Line(e)}static linear(e){return new Linear(e)}static lockDocument(e){return new LockDocument(e)}static manifest(e){return new Manifest(e)}static margin(e){return new Margin(e)}static mdp(e){return new Mdp(e)}static medium(e){return new Medium(e)}static message(e){return new Message(e)}static numericEdit(e){return new NumericEdit(e)}static occur(e){return new Occur(e)}static oid(e){return new Oid(e)}static oids(e){return new Oids(e)}static overflow(e){return new Overflow(e)}static pageArea(e){return new PageArea(e)}static pageSet(e){return new PageSet(e)}static para(e){return new Para(e)}static passwordEdit(e){return new PasswordEdit(e)}static pattern(e){return new template_Pattern(e)}static picture(e){return new Picture(e)}static proto(e){return new Proto(e)}static radial(e){return new Radial(e)}static reason(e){return new Reason(e)}static reasons(e){return new Reasons(e)}static rectangle(e){return new Rectangle(e)}static ref(e){return new RefElement(e)}static script(e){return new Script(e)}static setProperty(e){return new SetProperty(e)}static signData(e){return new SignData(e)}static signature(e){return new Signature(e)}static signing(e){return new Signing(e)}static solid(e){return new Solid(e)}static speak(e){return new Speak(e)}static stipple(e){return new Stipple(e)}static subform(e){return new Subform(e)}static subformSet(e){return new SubformSet(e)}static subjectDN(e){return new SubjectDN(e)}static subjectDNs(e){return new SubjectDNs(e)}static submit(e){return new Submit(e)}static template(e){return new Template(e)}static text(e){return new Text(e)}static textEdit(e){return new TextEdit(e)}static time(e){return new Time(e)}static timeStamp(e){return new TimeStamp(e)}static toolTip(e){return new ToolTip(e)}static traversal(e){return new Traversal(e)}static traverse(e){return new Traverse(e)}static ui(e){return new Ui(e)}static validate(e){return new Validate(e)}static value(e){return new Value(e)}static variables(e){return new Variables(e)}}const Qc=mc.datasets.id;function createText(e){const t=new Text({});t[co]=e;return t}class Binder{constructor(e){this.root=e;this.datasets=e.datasets;this.data=e.datasets?.data||new XmlObject(mc.datasets.id,"data");this.emptyMerge=0===this.data[Ao]().length;this.root.form=this.form=e.template[so]()}_isConsumeData(){return!this.emptyMerge&&this._mergeMode}_isMatchTemplate(){return!this._isConsumeData()}bind(){this._bindElement(this.form,this.data);return this.form}getData(){return this.data}_bindValue(e,t,r){e[lo]=t;if(e[Mo]())if(t[jo]()){const r=t[xo]();e[oc](createText(r))}else if(e instanceof Field&&"multiSelect"===e.ui?.choiceList?.open){const r=t[Ao]().map((e=>e[co].trim())).join("\n");e[oc](createText(r))}else this._isConsumeData()&&warn("XFA - Nodes haven't the same type.");else!t[jo]()||this._isMatchTemplate()?this._bindElement(e,t):warn("XFA - Nodes haven't the same type.")}_findDataByNameToConsume(e,t,r,a){if(!e)return null;let n,i;for(let a=0;a<3;a++){n=r[ko](e,!1,!0);for(;;){i=n.next().value;if(!i)break;if(t===i[jo]())return i}if(r[Go]===mc.datasets.id&&"data"===r[$o])break;r=r[_o]()}if(!a)return null;n=this.data[ko](e,!0,!1);i=n.next().value;if(i)return i;n=this.data[po](e,!0);i=n.next().value;return i?.[jo]()?i:null}_setProperties(e,t){if(e.hasOwnProperty("setProperty"))for(const{ref:r,target:a,connection:n}of e.setProperty.children){if(n)continue;if(!r)continue;const i=searchNode(this.root,t,r,!1,!1);if(!i){warn(`XFA - Invalid reference: ${r}.`);continue}const[s]=i;if(!s[Lo](this.data)){warn("XFA - Invalid node: must be a data node.");continue}const o=searchNode(this.root,e,a,!1,!1);if(!o){warn(`XFA - Invalid target: ${a}.`);continue}const[c]=o;if(!c[Lo](e)){warn("XFA - Invalid target: must be a property or subproperty.");continue}const l=c[_o]();if(c instanceof SetProperty||l instanceof SetProperty){warn("XFA - Invalid target: cannot be a setProperty or one of its properties.");continue}if(c instanceof BindItems||l instanceof BindItems){warn("XFA - Invalid target: cannot be a bindItems or one of its properties.");continue}const h=s[lc](),u=c[$o];if(c instanceof XFAAttribute){const e=Object.create(null);e[u]=h;const t=Reflect.construct(Object.getPrototypeOf(l).constructor,[e]);l[u]=t[u]}else if(c.hasOwnProperty(co)){c[lo]=s;c[co]=h;c[fo]()}else warn("XFA - Invalid node to use in setProperty")}}_bindItems(e,t){if(!e.hasOwnProperty("items")||!e.hasOwnProperty("bindItems")||e.bindItems.isEmpty())return;for(const t of e.items.children)e[tc](t);e.items.clear();const r=new Items({}),a=new Items({});e[to](r);e.items.push(r);e[to](a);e.items.push(a);for(const{ref:n,labelRef:i,valueRef:s,connection:o}of e.bindItems.children){if(o)continue;if(!n)continue;const e=searchNode(this.root,t,n,!1,!1);if(e)for(const t of e){if(!t[Lo](this.datasets)){warn(`XFA - Invalid ref (${n}): must be a datasets child.`);continue}const e=searchNode(this.root,t,i,!0,!1);if(!e){warn(`XFA - Invalid label: ${i}.`);continue}const[o]=e;if(!o[Lo](this.datasets)){warn("XFA - Invalid label: must be a datasets child.");continue}const c=searchNode(this.root,t,s,!0,!1);if(!c){warn(`XFA - Invalid value: ${s}.`);continue}const[l]=c;if(!l[Lo](this.datasets)){warn("XFA - Invalid value: must be a datasets child.");continue}const h=createText(o[lc]()),u=createText(l[lc]());r[to](h);r.text.push(h);a[to](u);a.text.push(u)}else warn(`XFA - Invalid reference: ${n}.`)}}_bindOccurrences(e,t,r){let a;if(t.length>1){a=e[so]();a[tc](a.occur);a.occur=null}this._bindValue(e,t[0],r);this._setProperties(e,t[0]);this._bindItems(e,t[0]);if(1===t.length)return;const n=e[_o](),i=e[$o],s=n[Po](e);for(let e=1,o=t.length;et.name===e.name)).length:r[a].children.length;const i=r[Po](e)+1,s=t.initial-n;if(s){const t=e[so]();t[tc](t.occur);t.occur=null;r[a].push(t);r[Do](i,t);for(let e=1;e0)this._bindOccurrences(a,[e[0]],null);else if(this.emptyMerge){const e=t[Go]===Qc?-1:t[Go],r=a[lo]=new XmlObject(e,a.name||"root");t[to](r);this._bindElement(a,r)}continue}if(!a[No]())continue;let e=!1,n=null,i=null,s=null;if(a.bind){switch(a.bind.match){case"none":this._setAndBind(a,t);continue;case"global":e=!0;break;case"dataRef":if(!a.bind.ref){warn(`XFA - ref is empty in node ${a[$o]}.`);this._setAndBind(a,t);continue}i=a.bind.ref}a.bind.picture&&(n=a.bind.picture[co])}const[o,c]=this._getOccurInfo(a);if(i){s=searchNode(this.root,t,i,!0,!1);if(null===s){s=createDataNode(this.data,t,i);if(!s)continue;this._isConsumeData()&&(s[oo]=!0);this._setAndBind(a,s);continue}this._isConsumeData()&&(s=s.filter((e=>!e[oo])));s.length>c?s=s.slice(0,c):0===s.length&&(s=null);s&&this._isConsumeData()&&s.forEach((e=>{e[oo]=!0}))}else{if(!a.name){this._setAndBind(a,t);continue}if(this._isConsumeData()){const r=[];for(;r.length0?r:null}else{s=t[ko](a.name,!1,this.emptyMerge).next().value;if(!s){if(0===o){r.push(a);continue}const e=t[Go]===Qc?-1:t[Go];s=a[lo]=new XmlObject(e,a.name);this.emptyMerge&&(s[oo]=!0);t[to](s);this._setAndBind(a,s);continue}this.emptyMerge&&(s[oo]=!0);s=[s]}}s?this._bindOccurrences(a,s,n):o>0?this._setAndBind(a,t):r.push(a)}r.forEach((e=>e[_o]()[tc](e)))}}class DataHandler{constructor(e,t){this.data=t;this.dataset=e.datasets||null}serialize(e){const t=[[-1,this.data[Ao]()]];for(;t.length>0;){const r=t.at(-1),[a,n]=r;if(a+1===n.length){t.pop();continue}const i=n[++r[0]],s=e.get(i[gc]);if(s)i[oc](s);else{const t=i[mo]();for(const r of t.values()){const t=e.get(r[gc]);if(t){r[oc](t);break}}}const o=i[Ao]();o.length>0&&t.push([-1,o])}const r=[''];if(this.dataset)for(const e of this.dataset[Ao]())"data"!==e[$o]&&e[dc](r);this.data[dc](r);r.push("");return r.join("")}}const el=mc.config.id;class Acrobat extends XFAObject{constructor(e){super(el,"acrobat",!0);this.acrobat7=null;this.autoSave=null;this.common=null;this.validate=null;this.validateApprovalSignatures=null;this.submitUrl=new XFAObjectArray}}class Acrobat7 extends XFAObject{constructor(e){super(el,"acrobat7",!0);this.dynamicRender=null}}class ADBE_JSConsole extends OptionObject{constructor(e){super(el,"ADBE_JSConsole",["delegate","Enable","Disable"])}}class ADBE_JSDebugger extends OptionObject{constructor(e){super(el,"ADBE_JSDebugger",["delegate","Enable","Disable"])}}class AddSilentPrint extends Option01{constructor(e){super(el,"addSilentPrint")}}class AddViewerPreferences extends Option01{constructor(e){super(el,"addViewerPreferences")}}class AdjustData extends Option10{constructor(e){super(el,"adjustData")}}class AdobeExtensionLevel extends IntegerObject{constructor(e){super(el,"adobeExtensionLevel",0,(e=>e>=1&&e<=8))}}class Agent extends XFAObject{constructor(e){super(el,"agent",!0);this.name=e.name?e.name.trim():"";this.common=new XFAObjectArray}}class AlwaysEmbed extends ContentObject{constructor(e){super(el,"alwaysEmbed")}}class Amd extends StringObject{constructor(e){super(el,"amd")}}class config_Area extends XFAObject{constructor(e){super(el,"area");this.level=getInteger({data:e.level,defaultValue:0,validate:e=>e>=1&&e<=3});this.name=getStringOption(e.name,["","barcode","coreinit","deviceDriver","font","general","layout","merge","script","signature","sourceSet","templateCache"])}}class Attributes extends OptionObject{constructor(e){super(el,"attributes",["preserve","delegate","ignore"])}}class AutoSave extends OptionObject{constructor(e){super(el,"autoSave",["disabled","enabled"])}}class Base extends StringObject{constructor(e){super(el,"base")}}class BatchOutput extends XFAObject{constructor(e){super(el,"batchOutput");this.format=getStringOption(e.format,["none","concat","zip","zipCompress"])}}class BehaviorOverride extends ContentObject{constructor(e){super(el,"behaviorOverride")}[fo](){this[co]=new Map(this[co].trim().split(/\s+/).filter((e=>e.includes(":"))).map((e=>e.split(":",2))))}}class Cache extends XFAObject{constructor(e){super(el,"cache",!0);this.templateCache=null}}class Change extends Option01{constructor(e){super(el,"change")}}class Common extends XFAObject{constructor(e){super(el,"common",!0);this.data=null;this.locale=null;this.localeSet=null;this.messaging=null;this.suppressBanner=null;this.template=null;this.validationMessaging=null;this.versionControl=null;this.log=new XFAObjectArray}}class Compress extends XFAObject{constructor(e){super(el,"compress");this.scope=getStringOption(e.scope,["imageOnly","document"])}}class CompressLogicalStructure extends Option01{constructor(e){super(el,"compressLogicalStructure")}}class CompressObjectStream extends Option10{constructor(e){super(el,"compressObjectStream")}}class Compression extends XFAObject{constructor(e){super(el,"compression",!0);this.compressLogicalStructure=null;this.compressObjectStream=null;this.level=null;this.type=null}}class Config extends XFAObject{constructor(e){super(el,"config",!0);this.acrobat=null;this.present=null;this.trace=null;this.agent=new XFAObjectArray}}class Conformance extends OptionObject{constructor(e){super(el,"conformance",["A","B"])}}class ContentCopy extends Option01{constructor(e){super(el,"contentCopy")}}class Copies extends IntegerObject{constructor(e){super(el,"copies",1,(e=>e>=1))}}class Creator extends StringObject{constructor(e){super(el,"creator")}}class CurrentPage extends IntegerObject{constructor(e){super(el,"currentPage",0,(e=>e>=0))}}class Data extends XFAObject{constructor(e){super(el,"data",!0);this.adjustData=null;this.attributes=null;this.incrementalLoad=null;this.outputXSL=null;this.range=null;this.record=null;this.startNode=null;this.uri=null;this.window=null;this.xsl=null;this.excludeNS=new XFAObjectArray;this.transform=new XFAObjectArray}}class Debug extends XFAObject{constructor(e){super(el,"debug",!0);this.uri=null}}class DefaultTypeface extends ContentObject{constructor(e){super(el,"defaultTypeface");this.writingScript=getStringOption(e.writingScript,["*","Arabic","Cyrillic","EastEuropeanRoman","Greek","Hebrew","Japanese","Korean","Roman","SimplifiedChinese","Thai","TraditionalChinese","Vietnamese"])}}class Destination extends OptionObject{constructor(e){super(el,"destination",["pdf","pcl","ps","webClient","zpl"])}}class DocumentAssembly extends Option01{constructor(e){super(el,"documentAssembly")}}class Driver extends XFAObject{constructor(e){super(el,"driver",!0);this.name=e.name?e.name.trim():"";this.fontInfo=null;this.xdc=null}}class DuplexOption extends OptionObject{constructor(e){super(el,"duplexOption",["simplex","duplexFlipLongEdge","duplexFlipShortEdge"])}}class DynamicRender extends OptionObject{constructor(e){super(el,"dynamicRender",["forbidden","required"])}}class Embed extends Option01{constructor(e){super(el,"embed")}}class config_Encrypt extends Option01{constructor(e){super(el,"encrypt")}}class config_Encryption extends XFAObject{constructor(e){super(el,"encryption",!0);this.encrypt=null;this.encryptionLevel=null;this.permissions=null}}class EncryptionLevel extends OptionObject{constructor(e){super(el,"encryptionLevel",["40bit","128bit"])}}class Enforce extends StringObject{constructor(e){super(el,"enforce")}}class Equate extends XFAObject{constructor(e){super(el,"equate");this.force=getInteger({data:e.force,defaultValue:1,validate:e=>0===e});this.from=e.from||"";this.to=e.to||""}}class EquateRange extends XFAObject{constructor(e){super(el,"equateRange");this.from=e.from||"";this.to=e.to||"";this._unicodeRange=e.unicodeRange||""}get unicodeRange(){const e=[],t=/U\+([0-9a-fA-F]+)/,r=this._unicodeRange;for(let a of r.split(",").map((e=>e.trim())).filter((e=>!!e))){a=a.split("-",2).map((e=>{const r=e.match(t);return r?parseInt(r[1],16):0}));1===a.length&&a.push(a[0]);e.push(a)}return shadow(this,"unicodeRange",e)}}class Exclude extends ContentObject{constructor(e){super(el,"exclude")}[fo](){this[co]=this[co].trim().split(/\s+/).filter((e=>e&&["calculate","close","enter","exit","initialize","ready","validate"].includes(e)))}}class ExcludeNS extends StringObject{constructor(e){super(el,"excludeNS")}}class FlipLabel extends OptionObject{constructor(e){super(el,"flipLabel",["usePrinterSetting","on","off"])}}class config_FontInfo extends XFAObject{constructor(e){super(el,"fontInfo",!0);this.embed=null;this.map=null;this.subsetBelow=null;this.alwaysEmbed=new XFAObjectArray;this.defaultTypeface=new XFAObjectArray;this.neverEmbed=new XFAObjectArray}}class FormFieldFilling extends Option01{constructor(e){super(el,"formFieldFilling")}}class GroupParent extends StringObject{constructor(e){super(el,"groupParent")}}class IfEmpty extends OptionObject{constructor(e){super(el,"ifEmpty",["dataValue","dataGroup","ignore","remove"])}}class IncludeXDPContent extends StringObject{constructor(e){super(el,"includeXDPContent")}}class IncrementalLoad extends OptionObject{constructor(e){super(el,"incrementalLoad",["none","forwardOnly"])}}class IncrementalMerge extends Option01{constructor(e){super(el,"incrementalMerge")}}class Interactive extends Option01{constructor(e){super(el,"interactive")}}class Jog extends OptionObject{constructor(e){super(el,"jog",["usePrinterSetting","none","pageSet"])}}class LabelPrinter extends XFAObject{constructor(e){super(el,"labelPrinter",!0);this.name=getStringOption(e.name,["zpl","dpl","ipl","tcpl"]);this.batchOutput=null;this.flipLabel=null;this.fontInfo=null;this.xdc=null}}class Layout extends OptionObject{constructor(e){super(el,"layout",["paginate","panel"])}}class Level extends IntegerObject{constructor(e){super(el,"level",0,(e=>e>0))}}class Linearized extends Option01{constructor(e){super(el,"linearized")}}class Locale extends StringObject{constructor(e){super(el,"locale")}}class LocaleSet extends StringObject{constructor(e){super(el,"localeSet")}}class Log extends XFAObject{constructor(e){super(el,"log",!0);this.mode=null;this.threshold=null;this.to=null;this.uri=null}}class MapElement extends XFAObject{constructor(e){super(el,"map",!0);this.equate=new XFAObjectArray;this.equateRange=new XFAObjectArray}}class MediumInfo extends XFAObject{constructor(e){super(el,"mediumInfo",!0);this.map=null}}class config_Message extends XFAObject{constructor(e){super(el,"message",!0);this.msgId=null;this.severity=null}}class Messaging extends XFAObject{constructor(e){super(el,"messaging",!0);this.message=new XFAObjectArray}}class Mode extends OptionObject{constructor(e){super(el,"mode",["append","overwrite"])}}class ModifyAnnots extends Option01{constructor(e){super(el,"modifyAnnots")}}class MsgId extends IntegerObject{constructor(e){super(el,"msgId",1,(e=>e>=1))}}class NameAttr extends StringObject{constructor(e){super(el,"nameAttr")}}class NeverEmbed extends ContentObject{constructor(e){super(el,"neverEmbed")}}class NumberOfCopies extends IntegerObject{constructor(e){super(el,"numberOfCopies",null,(e=>e>=2&&e<=5))}}class OpenAction extends XFAObject{constructor(e){super(el,"openAction",!0);this.destination=null}}class Output extends XFAObject{constructor(e){super(el,"output",!0);this.to=null;this.type=null;this.uri=null}}class OutputBin extends StringObject{constructor(e){super(el,"outputBin")}}class OutputXSL extends XFAObject{constructor(e){super(el,"outputXSL",!0);this.uri=null}}class Overprint extends OptionObject{constructor(e){super(el,"overprint",["none","both","draw","field"])}}class Packets extends StringObject{constructor(e){super(el,"packets")}[fo](){"*"!==this[co]&&(this[co]=this[co].trim().split(/\s+/).filter((e=>["config","datasets","template","xfdf","xslt"].includes(e))))}}class PageOffset extends XFAObject{constructor(e){super(el,"pageOffset");this.x=getInteger({data:e.x,defaultValue:"useXDCSetting",validate:e=>!0});this.y=getInteger({data:e.y,defaultValue:"useXDCSetting",validate:e=>!0})}}class PageRange extends StringObject{constructor(e){super(el,"pageRange")}[fo](){const e=this[co].trim().split(/\s+/).map((e=>parseInt(e,10))),t=[];for(let r=0,a=e.length;r!1))}}class Pcl extends XFAObject{constructor(e){super(el,"pcl",!0);this.name=e.name||"";this.batchOutput=null;this.fontInfo=null;this.jog=null;this.mediumInfo=null;this.outputBin=null;this.pageOffset=null;this.staple=null;this.xdc=null}}class Pdf extends XFAObject{constructor(e){super(el,"pdf",!0);this.name=e.name||"";this.adobeExtensionLevel=null;this.batchOutput=null;this.compression=null;this.creator=null;this.encryption=null;this.fontInfo=null;this.interactive=null;this.linearized=null;this.openAction=null;this.pdfa=null;this.producer=null;this.renderPolicy=null;this.scriptModel=null;this.silentPrint=null;this.submitFormat=null;this.tagged=null;this.version=null;this.viewerPreferences=null;this.xdc=null}}class Pdfa extends XFAObject{constructor(e){super(el,"pdfa",!0);this.amd=null;this.conformance=null;this.includeXDPContent=null;this.part=null}}class Permissions extends XFAObject{constructor(e){super(el,"permissions",!0);this.accessibleContent=null;this.change=null;this.contentCopy=null;this.documentAssembly=null;this.formFieldFilling=null;this.modifyAnnots=null;this.plaintextMetadata=null;this.print=null;this.printHighQuality=null}}class PickTrayByPDFSize extends Option01{constructor(e){super(el,"pickTrayByPDFSize")}}class config_Picture extends StringObject{constructor(e){super(el,"picture")}}class PlaintextMetadata extends Option01{constructor(e){super(el,"plaintextMetadata")}}class Presence extends OptionObject{constructor(e){super(el,"presence",["preserve","dissolve","dissolveStructure","ignore","remove"])}}class Present extends XFAObject{constructor(e){super(el,"present",!0);this.behaviorOverride=null;this.cache=null;this.common=null;this.copies=null;this.destination=null;this.incrementalMerge=null;this.layout=null;this.output=null;this.overprint=null;this.pagination=null;this.paginationOverride=null;this.script=null;this.validate=null;this.xdp=null;this.driver=new XFAObjectArray;this.labelPrinter=new XFAObjectArray;this.pcl=new XFAObjectArray;this.pdf=new XFAObjectArray;this.ps=new XFAObjectArray;this.submitUrl=new XFAObjectArray;this.webClient=new XFAObjectArray;this.zpl=new XFAObjectArray}}class Print extends Option01{constructor(e){super(el,"print")}}class PrintHighQuality extends Option01{constructor(e){super(el,"printHighQuality")}}class PrintScaling extends OptionObject{constructor(e){super(el,"printScaling",["appdefault","noScaling"])}}class PrinterName extends StringObject{constructor(e){super(el,"printerName")}}class Producer extends StringObject{constructor(e){super(el,"producer")}}class Ps extends XFAObject{constructor(e){super(el,"ps",!0);this.name=e.name||"";this.batchOutput=null;this.fontInfo=null;this.jog=null;this.mediumInfo=null;this.outputBin=null;this.staple=null;this.xdc=null}}class Range extends ContentObject{constructor(e){super(el,"range")}[fo](){this[co]=this[co].split(",",2).map((e=>e.split("-").map((e=>parseInt(e.trim(),10))))).filter((e=>e.every((e=>!isNaN(e))))).map((e=>{1===e.length&&e.push(e[0]);return e}))}}class Record extends ContentObject{constructor(e){super(el,"record")}[fo](){this[co]=this[co].trim();const e=parseInt(this[co],10);!isNaN(e)&&e>=0&&(this[co]=e)}}class Relevant extends ContentObject{constructor(e){super(el,"relevant")}[fo](){this[co]=this[co].trim().split(/\s+/)}}class Rename extends ContentObject{constructor(e){super(el,"rename")}[fo](){this[co]=this[co].trim();(this[co].toLowerCase().startsWith("xml")||new RegExp("[\\p{L}_][\\p{L}\\d._\\p{M}-]*","u").test(this[co]))&&warn("XFA - Rename: invalid XFA name")}}class RenderPolicy extends OptionObject{constructor(e){super(el,"renderPolicy",["server","client"])}}class RunScripts extends OptionObject{constructor(e){super(el,"runScripts",["both","client","none","server"])}}class config_Script extends XFAObject{constructor(e){super(el,"script",!0);this.currentPage=null;this.exclude=null;this.runScripts=null}}class ScriptModel extends OptionObject{constructor(e){super(el,"scriptModel",["XFA","none"])}}class Severity extends OptionObject{constructor(e){super(el,"severity",["ignore","error","information","trace","warning"])}}class SilentPrint extends XFAObject{constructor(e){super(el,"silentPrint",!0);this.addSilentPrint=null;this.printerName=null}}class Staple extends XFAObject{constructor(e){super(el,"staple");this.mode=getStringOption(e.mode,["usePrinterSetting","on","off"])}}class StartNode extends StringObject{constructor(e){super(el,"startNode")}}class StartPage extends IntegerObject{constructor(e){super(el,"startPage",0,(e=>!0))}}class SubmitFormat extends OptionObject{constructor(e){super(el,"submitFormat",["html","delegate","fdf","xml","pdf"])}}class SubmitUrl extends StringObject{constructor(e){super(el,"submitUrl")}}class SubsetBelow extends IntegerObject{constructor(e){super(el,"subsetBelow",100,(e=>e>=0&&e<=100))}}class SuppressBanner extends Option01{constructor(e){super(el,"suppressBanner")}}class Tagged extends Option01{constructor(e){super(el,"tagged")}}class config_Template extends XFAObject{constructor(e){super(el,"template",!0);this.base=null;this.relevant=null;this.startPage=null;this.uri=null;this.xsl=null}}class Threshold extends OptionObject{constructor(e){super(el,"threshold",["trace","error","information","warning"])}}class To extends OptionObject{constructor(e){super(el,"to",["null","memory","stderr","stdout","system","uri"])}}class TemplateCache extends XFAObject{constructor(e){super(el,"templateCache");this.maxEntries=getInteger({data:e.maxEntries,defaultValue:5,validate:e=>e>=0})}}class Trace extends XFAObject{constructor(e){super(el,"trace",!0);this.area=new XFAObjectArray}}class Transform extends XFAObject{constructor(e){super(el,"transform",!0);this.groupParent=null;this.ifEmpty=null;this.nameAttr=null;this.picture=null;this.presence=null;this.rename=null;this.whitespace=null}}class Type extends OptionObject{constructor(e){super(el,"type",["none","ascii85","asciiHex","ccittfax","flate","lzw","runLength","native","xdp","mergedXDP"])}}class Uri extends StringObject{constructor(e){super(el,"uri")}}class config_Validate extends OptionObject{constructor(e){super(el,"validate",["preSubmit","prePrint","preExecute","preSave"])}}class ValidateApprovalSignatures extends ContentObject{constructor(e){super(el,"validateApprovalSignatures")}[fo](){this[co]=this[co].trim().split(/\s+/).filter((e=>["docReady","postSign"].includes(e)))}}class ValidationMessaging extends OptionObject{constructor(e){super(el,"validationMessaging",["allMessagesIndividually","allMessagesTogether","firstMessageOnly","noMessages"])}}class Version extends OptionObject{constructor(e){super(el,"version",["1.7","1.6","1.5","1.4","1.3","1.2"])}}class VersionControl extends XFAObject{constructor(e){super(el,"VersionControl");this.outputBelow=getStringOption(e.outputBelow,["warn","error","update"]);this.sourceAbove=getStringOption(e.sourceAbove,["warn","error"]);this.sourceBelow=getStringOption(e.sourceBelow,["update","maintain"])}}class ViewerPreferences extends XFAObject{constructor(e){super(el,"viewerPreferences",!0);this.ADBE_JSConsole=null;this.ADBE_JSDebugger=null;this.addViewerPreferences=null;this.duplexOption=null;this.enforce=null;this.numberOfCopies=null;this.pageRange=null;this.pickTrayByPDFSize=null;this.printScaling=null}}class WebClient extends XFAObject{constructor(e){super(el,"webClient",!0);this.name=e.name?e.name.trim():"";this.fontInfo=null;this.xdc=null}}class Whitespace extends OptionObject{constructor(e){super(el,"whitespace",["preserve","ltrim","normalize","rtrim","trim"])}}class Window extends ContentObject{constructor(e){super(el,"window")}[fo](){const e=this[co].split(",",2).map((e=>parseInt(e.trim(),10)));if(e.some((e=>isNaN(e))))this[co]=[0,0];else{1===e.length&&e.push(e[0]);this[co]=e}}}class Xdc extends XFAObject{constructor(e){super(el,"xdc",!0);this.uri=new XFAObjectArray;this.xsl=new XFAObjectArray}}class Xdp extends XFAObject{constructor(e){super(el,"xdp",!0);this.packets=null}}class Xsl extends XFAObject{constructor(e){super(el,"xsl",!0);this.debug=null;this.uri=null}}class Zpl extends XFAObject{constructor(e){super(el,"zpl",!0);this.name=e.name?e.name.trim():"";this.batchOutput=null;this.flipLabel=null;this.fontInfo=null;this.xdc=null}}class ConfigNamespace{static[pc](e,t){if(ConfigNamespace.hasOwnProperty(e))return ConfigNamespace[e](t)}static acrobat(e){return new Acrobat(e)}static acrobat7(e){return new Acrobat7(e)}static ADBE_JSConsole(e){return new ADBE_JSConsole(e)}static ADBE_JSDebugger(e){return new ADBE_JSDebugger(e)}static addSilentPrint(e){return new AddSilentPrint(e)}static addViewerPreferences(e){return new AddViewerPreferences(e)}static adjustData(e){return new AdjustData(e)}static adobeExtensionLevel(e){return new AdobeExtensionLevel(e)}static agent(e){return new Agent(e)}static alwaysEmbed(e){return new AlwaysEmbed(e)}static amd(e){return new Amd(e)}static area(e){return new config_Area(e)}static attributes(e){return new Attributes(e)}static autoSave(e){return new AutoSave(e)}static base(e){return new Base(e)}static batchOutput(e){return new BatchOutput(e)}static behaviorOverride(e){return new BehaviorOverride(e)}static cache(e){return new Cache(e)}static change(e){return new Change(e)}static common(e){return new Common(e)}static compress(e){return new Compress(e)}static compressLogicalStructure(e){return new CompressLogicalStructure(e)}static compressObjectStream(e){return new CompressObjectStream(e)}static compression(e){return new Compression(e)}static config(e){return new Config(e)}static conformance(e){return new Conformance(e)}static contentCopy(e){return new ContentCopy(e)}static copies(e){return new Copies(e)}static creator(e){return new Creator(e)}static currentPage(e){return new CurrentPage(e)}static data(e){return new Data(e)}static debug(e){return new Debug(e)}static defaultTypeface(e){return new DefaultTypeface(e)}static destination(e){return new Destination(e)}static documentAssembly(e){return new DocumentAssembly(e)}static driver(e){return new Driver(e)}static duplexOption(e){return new DuplexOption(e)}static dynamicRender(e){return new DynamicRender(e)}static embed(e){return new Embed(e)}static encrypt(e){return new config_Encrypt(e)}static encryption(e){return new config_Encryption(e)}static encryptionLevel(e){return new EncryptionLevel(e)}static enforce(e){return new Enforce(e)}static equate(e){return new Equate(e)}static equateRange(e){return new EquateRange(e)}static exclude(e){return new Exclude(e)}static excludeNS(e){return new ExcludeNS(e)}static flipLabel(e){return new FlipLabel(e)}static fontInfo(e){return new config_FontInfo(e)}static formFieldFilling(e){return new FormFieldFilling(e)}static groupParent(e){return new GroupParent(e)}static ifEmpty(e){return new IfEmpty(e)}static includeXDPContent(e){return new IncludeXDPContent(e)}static incrementalLoad(e){return new IncrementalLoad(e)}static incrementalMerge(e){return new IncrementalMerge(e)}static interactive(e){return new Interactive(e)}static jog(e){return new Jog(e)}static labelPrinter(e){return new LabelPrinter(e)}static layout(e){return new Layout(e)}static level(e){return new Level(e)}static linearized(e){return new Linearized(e)}static locale(e){return new Locale(e)}static localeSet(e){return new LocaleSet(e)}static log(e){return new Log(e)}static map(e){return new MapElement(e)}static mediumInfo(e){return new MediumInfo(e)}static message(e){return new config_Message(e)}static messaging(e){return new Messaging(e)}static mode(e){return new Mode(e)}static modifyAnnots(e){return new ModifyAnnots(e)}static msgId(e){return new MsgId(e)}static nameAttr(e){return new NameAttr(e)}static neverEmbed(e){return new NeverEmbed(e)}static numberOfCopies(e){return new NumberOfCopies(e)}static openAction(e){return new OpenAction(e)}static output(e){return new Output(e)}static outputBin(e){return new OutputBin(e)}static outputXSL(e){return new OutputXSL(e)}static overprint(e){return new Overprint(e)}static packets(e){return new Packets(e)}static pageOffset(e){return new PageOffset(e)}static pageRange(e){return new PageRange(e)}static pagination(e){return new Pagination(e)}static paginationOverride(e){return new PaginationOverride(e)}static part(e){return new Part(e)}static pcl(e){return new Pcl(e)}static pdf(e){return new Pdf(e)}static pdfa(e){return new Pdfa(e)}static permissions(e){return new Permissions(e)}static pickTrayByPDFSize(e){return new PickTrayByPDFSize(e)}static picture(e){return new config_Picture(e)}static plaintextMetadata(e){return new PlaintextMetadata(e)}static presence(e){return new Presence(e)}static present(e){return new Present(e)}static print(e){return new Print(e)}static printHighQuality(e){return new PrintHighQuality(e)}static printScaling(e){return new PrintScaling(e)}static printerName(e){return new PrinterName(e)}static producer(e){return new Producer(e)}static ps(e){return new Ps(e)}static range(e){return new Range(e)}static record(e){return new Record(e)}static relevant(e){return new Relevant(e)}static rename(e){return new Rename(e)}static renderPolicy(e){return new RenderPolicy(e)}static runScripts(e){return new RunScripts(e)}static script(e){return new config_Script(e)}static scriptModel(e){return new ScriptModel(e)}static severity(e){return new Severity(e)}static silentPrint(e){return new SilentPrint(e)}static staple(e){return new Staple(e)}static startNode(e){return new StartNode(e)}static startPage(e){return new StartPage(e)}static submitFormat(e){return new SubmitFormat(e)}static submitUrl(e){return new SubmitUrl(e)}static subsetBelow(e){return new SubsetBelow(e)}static suppressBanner(e){return new SuppressBanner(e)}static tagged(e){return new Tagged(e)}static template(e){return new config_Template(e)}static templateCache(e){return new TemplateCache(e)}static threshold(e){return new Threshold(e)}static to(e){return new To(e)}static trace(e){return new Trace(e)}static transform(e){return new Transform(e)}static type(e){return new Type(e)}static uri(e){return new Uri(e)}static validate(e){return new config_Validate(e)}static validateApprovalSignatures(e){return new ValidateApprovalSignatures(e)}static validationMessaging(e){return new ValidationMessaging(e)}static version(e){return new Version(e)}static versionControl(e){return new VersionControl(e)}static viewerPreferences(e){return new ViewerPreferences(e)}static webClient(e){return new WebClient(e)}static whitespace(e){return new Whitespace(e)}static window(e){return new Window(e)}static xdc(e){return new Xdc(e)}static xdp(e){return new Xdp(e)}static xsl(e){return new Xsl(e)}static zpl(e){return new Zpl(e)}}const tl=mc.connectionSet.id;class ConnectionSet extends XFAObject{constructor(e){super(tl,"connectionSet",!0);this.wsdlConnection=new XFAObjectArray;this.xmlConnection=new XFAObjectArray;this.xsdConnection=new XFAObjectArray}}class EffectiveInputPolicy extends XFAObject{constructor(e){super(tl,"effectiveInputPolicy");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class EffectiveOutputPolicy extends XFAObject{constructor(e){super(tl,"effectiveOutputPolicy");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Operation extends StringObject{constructor(e){super(tl,"operation");this.id=e.id||"";this.input=e.input||"";this.name=e.name||"";this.output=e.output||"";this.use=e.use||"";this.usehref=e.usehref||""}}class RootElement extends StringObject{constructor(e){super(tl,"rootElement");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class SoapAction extends StringObject{constructor(e){super(tl,"soapAction");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class SoapAddress extends StringObject{constructor(e){super(tl,"soapAddress");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class connection_set_Uri extends StringObject{constructor(e){super(tl,"uri");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class WsdlAddress extends StringObject{constructor(e){super(tl,"wsdlAddress");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class WsdlConnection extends XFAObject{constructor(e){super(tl,"wsdlConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.effectiveInputPolicy=null;this.effectiveOutputPolicy=null;this.operation=null;this.soapAction=null;this.soapAddress=null;this.wsdlAddress=null}}class XmlConnection extends XFAObject{constructor(e){super(tl,"xmlConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.uri=null}}class XsdConnection extends XFAObject{constructor(e){super(tl,"xsdConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.rootElement=null;this.uri=null}}class ConnectionSetNamespace{static[pc](e,t){if(ConnectionSetNamespace.hasOwnProperty(e))return ConnectionSetNamespace[e](t)}static connectionSet(e){return new ConnectionSet(e)}static effectiveInputPolicy(e){return new EffectiveInputPolicy(e)}static effectiveOutputPolicy(e){return new EffectiveOutputPolicy(e)}static operation(e){return new Operation(e)}static rootElement(e){return new RootElement(e)}static soapAction(e){return new SoapAction(e)}static soapAddress(e){return new SoapAddress(e)}static uri(e){return new connection_set_Uri(e)}static wsdlAddress(e){return new WsdlAddress(e)}static wsdlConnection(e){return new WsdlConnection(e)}static xmlConnection(e){return new XmlConnection(e)}static xsdConnection(e){return new XsdConnection(e)}}const rl=mc.datasets.id;class datasets_Data extends XmlObject{constructor(e){super(rl,"data",e)}[Uo](){return!0}}class Datasets extends XFAObject{constructor(e){super(rl,"datasets",!0);this.data=null;this.Signature=null}[Ko](e){const t=e[$o];("data"===t&&e[Go]===rl||"Signature"===t&&e[Go]===mc.signature.id)&&(this[t]=e);this[to](e)}}class DatasetsNamespace{static[pc](e,t){if(DatasetsNamespace.hasOwnProperty(e))return DatasetsNamespace[e](t)}static datasets(e){return new Datasets(e)}static data(e){return new datasets_Data(e)}}const al=mc.localeSet.id;class CalendarSymbols extends XFAObject{constructor(e){super(al,"calendarSymbols",!0);this.name="gregorian";this.dayNames=new XFAObjectArray(2);this.eraNames=null;this.meridiemNames=null;this.monthNames=new XFAObjectArray(2)}}class CurrencySymbol extends StringObject{constructor(e){super(al,"currencySymbol");this.name=getStringOption(e.name,["symbol","isoname","decimal"])}}class CurrencySymbols extends XFAObject{constructor(e){super(al,"currencySymbols",!0);this.currencySymbol=new XFAObjectArray(3)}}class DatePattern extends StringObject{constructor(e){super(al,"datePattern");this.name=getStringOption(e.name,["full","long","med","short"])}}class DatePatterns extends XFAObject{constructor(e){super(al,"datePatterns",!0);this.datePattern=new XFAObjectArray(4)}}class DateTimeSymbols extends ContentObject{constructor(e){super(al,"dateTimeSymbols")}}class Day extends StringObject{constructor(e){super(al,"day")}}class DayNames extends XFAObject{constructor(e){super(al,"dayNames",!0);this.abbr=getInteger({data:e.abbr,defaultValue:0,validate:e=>1===e});this.day=new XFAObjectArray(7)}}class Era extends StringObject{constructor(e){super(al,"era")}}class EraNames extends XFAObject{constructor(e){super(al,"eraNames",!0);this.era=new XFAObjectArray(2)}}class locale_set_Locale extends XFAObject{constructor(e){super(al,"locale",!0);this.desc=e.desc||"";this.name="isoname";this.calendarSymbols=null;this.currencySymbols=null;this.datePatterns=null;this.dateTimeSymbols=null;this.numberPatterns=null;this.numberSymbols=null;this.timePatterns=null;this.typeFaces=null}}class locale_set_LocaleSet extends XFAObject{constructor(e){super(al,"localeSet",!0);this.locale=new XFAObjectArray}}class Meridiem extends StringObject{constructor(e){super(al,"meridiem")}}class MeridiemNames extends XFAObject{constructor(e){super(al,"meridiemNames",!0);this.meridiem=new XFAObjectArray(2)}}class Month extends StringObject{constructor(e){super(al,"month")}}class MonthNames extends XFAObject{constructor(e){super(al,"monthNames",!0);this.abbr=getInteger({data:e.abbr,defaultValue:0,validate:e=>1===e});this.month=new XFAObjectArray(12)}}class NumberPattern extends StringObject{constructor(e){super(al,"numberPattern");this.name=getStringOption(e.name,["full","long","med","short"])}}class NumberPatterns extends XFAObject{constructor(e){super(al,"numberPatterns",!0);this.numberPattern=new XFAObjectArray(4)}}class NumberSymbol extends StringObject{constructor(e){super(al,"numberSymbol");this.name=getStringOption(e.name,["decimal","grouping","percent","minus","zero"])}}class NumberSymbols extends XFAObject{constructor(e){super(al,"numberSymbols",!0);this.numberSymbol=new XFAObjectArray(5)}}class TimePattern extends StringObject{constructor(e){super(al,"timePattern");this.name=getStringOption(e.name,["full","long","med","short"])}}class TimePatterns extends XFAObject{constructor(e){super(al,"timePatterns",!0);this.timePattern=new XFAObjectArray(4)}}class TypeFace extends XFAObject{constructor(e){super(al,"typeFace",!0);this.name=""|e.name}}class TypeFaces extends XFAObject{constructor(e){super(al,"typeFaces",!0);this.typeFace=new XFAObjectArray}}class LocaleSetNamespace{static[pc](e,t){if(LocaleSetNamespace.hasOwnProperty(e))return LocaleSetNamespace[e](t)}static calendarSymbols(e){return new CalendarSymbols(e)}static currencySymbol(e){return new CurrencySymbol(e)}static currencySymbols(e){return new CurrencySymbols(e)}static datePattern(e){return new DatePattern(e)}static datePatterns(e){return new DatePatterns(e)}static dateTimeSymbols(e){return new DateTimeSymbols(e)}static day(e){return new Day(e)}static dayNames(e){return new DayNames(e)}static era(e){return new Era(e)}static eraNames(e){return new EraNames(e)}static locale(e){return new locale_set_Locale(e)}static localeSet(e){return new locale_set_LocaleSet(e)}static meridiem(e){return new Meridiem(e)}static meridiemNames(e){return new MeridiemNames(e)}static month(e){return new Month(e)}static monthNames(e){return new MonthNames(e)}static numberPattern(e){return new NumberPattern(e)}static numberPatterns(e){return new NumberPatterns(e)}static numberSymbol(e){return new NumberSymbol(e)}static numberSymbols(e){return new NumberSymbols(e)}static timePattern(e){return new TimePattern(e)}static timePatterns(e){return new TimePatterns(e)}static typeFace(e){return new TypeFace(e)}static typeFaces(e){return new TypeFaces(e)}}const nl=mc.signature.id;class signature_Signature extends XFAObject{constructor(e){super(nl,"signature",!0)}}class SignatureNamespace{static[pc](e,t){if(SignatureNamespace.hasOwnProperty(e))return SignatureNamespace[e](t)}static signature(e){return new signature_Signature(e)}}const il=mc.stylesheet.id;class Stylesheet extends XFAObject{constructor(e){super(il,"stylesheet",!0)}}class StylesheetNamespace{static[pc](e,t){if(StylesheetNamespace.hasOwnProperty(e))return StylesheetNamespace[e](t)}static stylesheet(e){return new Stylesheet(e)}}const sl=mc.xdp.id;class xdp_Xdp extends XFAObject{constructor(e){super(sl,"xdp",!0);this.uuid=e.uuid||"";this.timeStamp=e.timeStamp||"";this.config=null;this.connectionSet=null;this.datasets=null;this.localeSet=null;this.stylesheet=new XFAObjectArray;this.template=null}[Jo](e){const t=mc[e[$o]];return t&&e[Go]===t.id}}class XdpNamespace{static[pc](e,t){if(XdpNamespace.hasOwnProperty(e))return XdpNamespace[e](t)}static xdp(e){return new xdp_Xdp(e)}}const ol=mc.xhtml.id,cl=Symbol(),ll=new Set(["color","font","font-family","font-size","font-stretch","font-style","font-weight","margin","margin-bottom","margin-left","margin-right","margin-top","letter-spacing","line-height","orphans","page-break-after","page-break-before","page-break-inside","tab-interval","tab-stop","text-align","text-decoration","text-indent","vertical-align","widows","kerning-mode","xfa-font-horizontal-scale","xfa-font-vertical-scale","xfa-spacerun","xfa-tab-stops"]),hl=new Map([["page-break-after","breakAfter"],["page-break-before","breakBefore"],["page-break-inside","breakInside"],["kerning-mode",e=>"none"===e?"none":"normal"],["xfa-font-horizontal-scale",e=>`scaleX(${Math.max(0,parseInt(e)/100).toFixed(2)})`],["xfa-font-vertical-scale",e=>`scaleY(${Math.max(0,parseInt(e)/100).toFixed(2)})`],["xfa-spacerun",""],["xfa-tab-stops",""],["font-size",(e,t)=>measureToString(.99*(e=t.fontSize=Math.abs(getMeasurement(e))))],["letter-spacing",e=>measureToString(getMeasurement(e))],["line-height",e=>measureToString(getMeasurement(e))],["margin",e=>measureToString(getMeasurement(e))],["margin-bottom",e=>measureToString(getMeasurement(e))],["margin-left",e=>measureToString(getMeasurement(e))],["margin-right",e=>measureToString(getMeasurement(e))],["margin-top",e=>measureToString(getMeasurement(e))],["text-indent",e=>measureToString(getMeasurement(e))],["font-family",e=>e],["vertical-align",e=>measureToString(getMeasurement(e))]]),ul=/\s+/g,dl=/[\r\n]+/g,fl=/\r\n?/g;function mapStyle(e,t,r){const a=Object.create(null);if(!e)return a;const n=Object.create(null);for(const[t,r]of e.split(";").map((e=>e.split(":",2)))){const e=hl.get(t);if(""===e)continue;let i=r;e&&(i="string"==typeof e?e:e(r,n));t.endsWith("scale")?a.transform=a.transform?`${a[t]} ${i}`:i:a[t.replaceAll(/-([a-zA-Z])/g,((e,t)=>t.toUpperCase()))]=i}a.fontFamily&&setFontFamily({typeface:a.fontFamily,weight:a.fontWeight||"normal",posture:a.fontStyle||"normal",size:n.fontSize||0},t,t[Bo].fontFinder,a);if(r&&a.verticalAlign&&"0px"!==a.verticalAlign&&a.fontSize){const e=.583,t=.333,r=getMeasurement(a.fontSize);a.fontSize=measureToString(r*e);a.verticalAlign=measureToString(Math.sign(getMeasurement(a.verticalAlign))*r*t)}r&&a.fontSize&&(a.fontSize=`calc(${a.fontSize} * var(--total-scale-factor))`);fixTextIndent(a);return a}const gl=new Set(["body","html"]);class XhtmlObject extends XmlObject{constructor(e,t){super(ol,t);this[cl]=!1;this.style=e.style||""}[ao](e){super[ao](e);this.style=function checkStyle(e){return e.style?e.style.split(";").filter((e=>!!e.trim())).map((e=>e.split(":",2).map((e=>e.trim())))).filter((t=>{let[r,a]=t;"font-family"===r&&e[Bo].usedTypefaces.add(a);return ll.has(r)})).map((e=>e.join(":"))).join(";"):""}(this)}[Qs](){return!gl.has(this[$o])}[Yo](e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1])this[cl]=!0;else{e=e.replaceAll(dl,"");this.style.includes("xfa-spacerun:yes")||(e=e.replaceAll(ul," "))}e&&(this[co]+=e)}[Zo](e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const r=Object.create(null),a={top:NaN,bottom:NaN,left:NaN,right:NaN};let n=null;for(const[e,t]of this.style.split(";").map((e=>e.split(":",2))))switch(e){case"font-family":r.typeface=stripQuotes(t);break;case"font-size":r.size=getMeasurement(t);break;case"font-weight":r.weight=t;break;case"font-style":r.posture=t;break;case"letter-spacing":r.letterSpacing=getMeasurement(t);break;case"margin":const e=t.split(/ \t/).map((e=>getMeasurement(e)));switch(e.length){case 1:a.top=a.bottom=a.left=a.right=e[0];break;case 2:a.top=a.bottom=e[0];a.left=a.right=e[1];break;case 3:a.top=e[0];a.bottom=e[2];a.left=a.right=e[1];break;case 4:a.top=e[0];a.left=e[1];a.bottom=e[2];a.right=e[3]}break;case"margin-top":a.top=getMeasurement(t);break;case"margin-bottom":a.bottom=getMeasurement(t);break;case"margin-left":a.left=getMeasurement(t);break;case"margin-right":a.right=getMeasurement(t);break;case"line-height":n=getMeasurement(t)}e.pushData(r,a,n);if(this[co])e.addString(this[co]);else for(const t of this[Ao]())"#text"!==t[$o]?t[Zo](e):e.addString(t[co]);t&&e.popFont()}[uc](e){const t=[];this[uo]={children:t};this[ro]({});if(0===t.length&&!this[co])return HTMLResult.EMPTY;let r;r=this[cl]?this[co]?this[co].replaceAll(fl,"\n"):void 0:this[co]||void 0;return HTMLResult.success({name:this[$o],attributes:{href:this.href,style:mapStyle(this.style,this,this[cl])},children:t,value:r})}}class A extends XhtmlObject{constructor(e){super(e,"a");this.href=fixURL(e.href)||""}}class B extends XhtmlObject{constructor(e){super(e,"b")}[Zo](e){e.pushFont({weight:"bold"});super[Zo](e);e.popFont()}}class Body extends XhtmlObject{constructor(e){super(e,"body")}[uc](e){const t=super[uc](e),{html:r}=t;if(!r)return HTMLResult.EMPTY;r.name="div";r.attributes.class=["xfaRich"];return t}}class Br extends XhtmlObject{constructor(e){super(e,"br")}[lc](){return"\n"}[Zo](e){e.addString("\n")}[uc](e){return HTMLResult.success({name:"br"})}}class Html extends XhtmlObject{constructor(e){super(e,"html")}[uc](e){const t=[];this[uo]={children:t};this[ro]({});if(0===t.length)return HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:{}},value:this[co]||""});if(1===t.length){const e=t[0];if(e.attributes?.class.includes("xfaRich"))return HTMLResult.success(e)}return HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:{}},children:t})}}class I extends XhtmlObject{constructor(e){super(e,"i")}[Zo](e){e.pushFont({posture:"italic"});super[Zo](e);e.popFont()}}class Li extends XhtmlObject{constructor(e){super(e,"li")}}class Ol extends XhtmlObject{constructor(e){super(e,"ol")}}class P extends XhtmlObject{constructor(e){super(e,"p")}[Zo](e){super[Zo](e,!1);e.addString("\n");e.addPara();e.popFont()}[lc](){return this[_o]()[Ao]().at(-1)===this?super[lc]():super[lc]()+"\n"}}class Span extends XhtmlObject{constructor(e){super(e,"span")}}class Sub extends XhtmlObject{constructor(e){super(e,"sub")}}class Sup extends XhtmlObject{constructor(e){super(e,"sup")}}class Ul extends XhtmlObject{constructor(e){super(e,"ul")}}class XhtmlNamespace{static[pc](e,t){if(XhtmlNamespace.hasOwnProperty(e))return XhtmlNamespace[e](t)}static a(e){return new A(e)}static b(e){return new B(e)}static body(e){return new Body(e)}static br(e){return new Br(e)}static html(e){return new Html(e)}static i(e){return new I(e)}static li(e){return new Li(e)}static ol(e){return new Ol(e)}static p(e){return new P(e)}static span(e){return new Span(e)}static sub(e){return new Sub(e)}static sup(e){return new Sup(e)}static ul(e){return new Ul(e)}}const pl={config:ConfigNamespace,connection:ConnectionSetNamespace,datasets:DatasetsNamespace,localeSet:LocaleSetNamespace,signature:SignatureNamespace,stylesheet:StylesheetNamespace,template:TemplateNamespace,xdp:XdpNamespace,xhtml:XhtmlNamespace};class UnknownNamespace{constructor(e){this.namespaceId=e}[pc](e,t){return new XmlObject(this.namespaceId,e,t)}}class Root extends XFAObject{constructor(e){super(-1,"root",Object.create(null));this.element=null;this[Ro]=e}[Ko](e){this.element=e;return!0}[fo](){super[fo]();if(this.element.template instanceof Template){this[Ro].set(rc,this.element);this.element.template[ac](this[Ro]);this.element.template[Ro]=this[Ro]}}}class Empty extends XFAObject{constructor(){super(-1,"",Object.create(null))}[Ko](e){return!1}}class Builder{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this._namespaceStack=[];this._nsAgnosticLevel=0;this._namespacePrefixes=new Map;this._namespaces=new Map;this._nextNsId=Math.max(...Object.values(mc).map((e=>{let{id:t}=e;return t})));this._currentNamespace=e||new UnknownNamespace(++this._nextNsId)}buildRoot(e){return new Root(e)}build(e){let{nsPrefix:t,name:r,attributes:a,namespace:n,prefixes:i}=e;const s=null!==n;if(s){this._namespaceStack.push(this._currentNamespace);this._currentNamespace=this._searchNamespace(n)}i&&this._addNamespacePrefix(i);if(a.hasOwnProperty(Vo)){const e=pl.datasets,t=a[Vo];let r=null;for(const[a,n]of Object.entries(t)){if(this._getNamespaceToUse(a)===e){r={xfa:n};break}}r?a[Vo]=r:delete a[Vo]}const o=this._getNamespaceToUse(t),c=o?.[pc](r,a)||new Empty;c[Uo]()&&this._nsAgnosticLevel++;(s||i||c[Uo]())&&(c[io]={hasNamespace:s,prefixes:i,nsAgnostic:c[Uo]()});return c}isNsAgnostic(){return this._nsAgnosticLevel>0}_searchNamespace(e){let t=this._namespaces.get(e);if(t)return t;for(const[r,{check:a}]of Object.entries(mc))if(a(e)){t=pl[r];if(t){this._namespaces.set(e,t);return t}break}t=new UnknownNamespace(++this._nextNsId);this._namespaces.set(e,t);return t}_addNamespacePrefix(e){for(const{prefix:t,value:r}of e){const e=this._searchNamespace(r);let a=this._namespacePrefixes.get(t);if(!a){a=[];this._namespacePrefixes.set(t,a)}a.push(e)}}_getNamespaceToUse(e){if(!e)return this._currentNamespace;const t=this._namespacePrefixes.get(e);if(t?.length>0)return t.at(-1);warn(`Unknown namespace prefix: ${e}.`);return null}clean(e){const{hasNamespace:t,prefixes:r,nsAgnostic:a}=e;t&&(this._currentNamespace=this._namespaceStack.pop());r&&r.forEach((e=>{let{prefix:t}=e;this._namespacePrefixes.get(t).pop()}));a&&this._nsAgnosticLevel--}}class XFAParser extends XMLParserBase{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super();this._builder=new Builder(e);this._stack=[];this._globalData={usedTypefaces:new Set};this._ids=new Map;this._current=this._builder.buildRoot(this._ids);this._errorCode=Ms;this._whiteRegex=/^\s+$/;this._nbsps=/\xa0+/g;this._richText=t}parse(e){this.parseXml(e);if(this._errorCode===Ms){this._current[fo]();return this._current.element}}onText(e){e=e.replace(this._nbsps,(e=>e.slice(1)+" "));this._richText||this._current[Qs]()?this._current[Yo](e,this._richText):this._whiteRegex.test(e)||this._current[Yo](e.trim())}onCdata(e){this._current[Yo](e)}_mkAttributes(e,t){let r=null,a=null;const n=Object.create({});for(const{name:i,value:s}of e)if("xmlns"===i)r?warn(`XFA - multiple namespace definition in <${t}>`):r=s;else if(i.startsWith("xmlns:")){const e=i.substring(6);a??=[];a.push({prefix:e,value:s})}else{const e=i.indexOf(":");if(-1===e)n[i]=s;else{const t=n[Vo]??=Object.create(null),[r,a]=[i.slice(0,e),i.slice(e+1)];(t[r]||=Object.create(null))[a]=s}}return[r,a,n]}_getNameAndPrefix(e,t){const r=e.indexOf(":");return-1===r?[e,null]:[e.substring(r+1),t?"":e.substring(0,r)]}onBeginElement(e,t,r){const[a,n,i]=this._mkAttributes(t,e),[s,o]=this._getNameAndPrefix(e,this._builder.isNsAgnostic()),c=this._builder.build({nsPrefix:o,name:s,attributes:i,namespace:a,prefixes:n});c[Bo]=this._globalData;if(r){c[fo]();this._current[Ko](c)&&c[ic](this._ids);c[ao](this._builder)}else{this._stack.push(this._current);this._current=c}}onEndElement(e){const t=this._current;if(t[Eo]()&&"string"==typeof t[co]){const e=new XFAParser;e._globalData=this._globalData;const r=e.parse(t[co]);t[co]=null;t[Ko](r)}t[fo]();this._current=this._stack.pop();this._current[Ko](t)&&t[ic](this._ids);t[ao](this._builder)}onError(e){this._errorCode=e}}class XFAFactory{constructor(e){try{this.root=(new XFAParser).parse(XFAFactory._createDocument(e));const t=new Binder(this.root);this.form=t.bind();this.dataHandler=new DataHandler(this.root,t.getData());this.form[Bo].template=this.form}catch(e){warn(`XFA - an error occurred during parsing and binding: ${e}`)}}isValid(){return!(!this.root||!this.form)}_createPagesHelper(){const e=this.form[hc]();return new Promise(((t,r)=>{const nextIteration=()=>{try{const r=e.next();r.done?t(r.value):setTimeout(nextIteration,0)}catch(e){r(e)}};setTimeout(nextIteration,0)}))}async _createPages(){try{this.pages=await this._createPagesHelper();this.dims=this.pages.children.map((e=>{const{width:t,height:r}=e.attributes.style;return[0,0,parseInt(t),parseInt(r)]}))}catch(e){warn(`XFA - an error occurred during layout: ${e}`)}}getBoundingBox(e){return this.dims[e]}async getNumPages(){this.pages||await this._createPages();return this.dims.length}setImages(e){this.form[Bo].images=e}setFonts(e){this.form[Bo].fontFinder=new FontFinder(e);const t=[];for(let e of this.form[Bo].usedTypefaces){e=stripQuotes(e);this.form[Bo].fontFinder.find(e)||t.push(e)}return t.length>0?t:null}appendFonts(e,t){this.form[Bo].fontFinder.add(e,t)}async getPages(){this.pages||await this._createPages();const e=this.pages;this.pages=null;return e}serializeData(e){return this.dataHandler.serialize(e)}static _createDocument(e){return e["/xdp:xdp"]?Object.values(e).join(""):e["xdp:xdp"]}static getRichTextAsHtml(e){if(!e||"string"!=typeof e)return null;try{let t=new XFAParser(XhtmlNamespace,!0).parse(e);if(!["body","xhtml"].includes(t[$o])){const e=XhtmlNamespace.body({});e[to](t);t=e}const r=t[uc]();if(!r.success)return null;const{html:a}=r,{attributes:n}=a;if(n){n.class&&(n.class=n.class.filter((e=>!e.startsWith("xfa"))));n.dir="auto"}return{html:a,str:t[lc]()}}catch(e){warn(`XFA - an error occurred during parsing of rich text: ${e}`)}return null}}function annotation_classPrivateFieldInitSpec(e,t,r){(function annotation_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function annotation_classPrivateFieldSet(e,t,r){return e.set(annotation_assertClassBrand(e,t),r),r}function annotation_classPrivateFieldGet(e,t){return e.get(annotation_assertClassBrand(e,t))}function annotation_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}class AnnotationFactory{static createGlobals(e){return Promise.all([e.ensureCatalog("acroForm"),e.ensureDoc("xfaDatasets"),e.ensureCatalog("structTreeRoot"),e.ensureCatalog("baseUrl"),e.ensureCatalog("attachments"),e.ensureCatalog("globalColorSpaceCache")]).then((t=>{let[r,a,n,i,s,o]=t;return{pdfManager:e,acroForm:r instanceof Dict?r:Dict.empty,xfaDatasets:a,structTreeRoot:n,baseUrl:i,attachments:s,globalColorSpaceCache:o}}),(e=>{warn(`createGlobals: "${e}".`);return null}))}static async create(e,t,r,a,n,i,s){const o=n?await this._getPageIndex(e,t,r.pdfManager):null;return r.pdfManager.ensure(this,"_create",[e,t,r,a,n,i,o,s])}static _create(e,t,r,a){let n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null;const c=e.fetchIfRef(t);if(!(c instanceof Dict))return;const{acroForm:l,pdfManager:h}=r,u=t instanceof Ref?t.toString():`annot_${a.createObjId()}`;let d=c.get("Subtype");d=d instanceof Name?d.name:null;const f={xref:e,ref:t,dict:c,subtype:d,id:u,annotationGlobals:r,collectFields:n,orphanFields:i,needAppearances:!n&&!0===l.get("NeedAppearances"),pageIndex:s,evaluatorOptions:h.evaluatorOptions,pageRef:o};switch(d){case"Link":return new LinkAnnotation(f);case"Text":return new TextAnnotation(f);case"Widget":let e=getInheritableProperty({dict:c,key:"FT"});e=e instanceof Name?e.name:null;switch(e){case"Tx":return new TextWidgetAnnotation(f);case"Btn":return new ButtonWidgetAnnotation(f);case"Ch":return new ChoiceWidgetAnnotation(f);case"Sig":return new SignatureWidgetAnnotation(f)}warn(`Unimplemented widget field type "${e}", falling back to base field type.`);return new WidgetAnnotation(f);case"Popup":return new PopupAnnotation(f);case"FreeText":return new FreeTextAnnotation(f);case"Line":return new LineAnnotation(f);case"Square":return new SquareAnnotation(f);case"Circle":return new CircleAnnotation(f);case"PolyLine":return new PolylineAnnotation(f);case"Polygon":return new PolygonAnnotation(f);case"Caret":return new CaretAnnotation(f);case"Ink":return new InkAnnotation(f);case"Highlight":return new HighlightAnnotation(f);case"Underline":return new UnderlineAnnotation(f);case"Squiggly":return new SquigglyAnnotation(f);case"StrikeOut":return new StrikeOutAnnotation(f);case"Stamp":return new StampAnnotation(f);case"FileAttachment":return new FileAttachmentAnnotation(f);default:n||warn(d?`Unimplemented annotation type "${d}", falling back to base annotation.`:"Annotation is missing the required /Subtype.");return new Annotation(f)}}static async _getPageIndex(e,t,r){try{const a=await e.fetchIfRefAsync(t);if(!(a instanceof Dict))return-1;const n=a.getRaw("P");if(n instanceof Ref)try{return await r.ensureCatalog("getPageIndex",[n])}catch(e){info(`_getPageIndex -- not a valid page reference: "${e}".`)}if(a.has("Kids"))return-1;const i=await r.ensureDoc("numPages");for(let e=0;e1&&void 0!==arguments[1]?arguments[1]:new Uint8ClampedArray(3);if(!Array.isArray(e))return t;const r=t||new Uint8ClampedArray(3);switch(e.length){case 0:return null;case 1:ColorSpaceUtils.gray.getRgbItem(e,0,r,0);return r;case 3:ColorSpaceUtils.rgb.getRgbItem(e,0,r,0);return r;case 4:ColorSpaceUtils.cmyk.getRgbItem(e,0,r,0);return r;default:return t}}function getPdfColorArray(e){return Array.from(e,(e=>e/255))}function getQuadPoints(e,t){const r=e.getArray("QuadPoints");if(!isNumberArray(r,null)||0===r.length||r.length%8>0)return null;const a=new Float32Array(r.length);for(let e=0,n=r.length;et[2]||gt[3]))return null;a.set([d,p,f,p,d,g,f,g],e)}return a}function getTransformMatrix(e,t,r){const a=new Float32Array([1/0,1/0,-1/0,-1/0]);Util.axialAlignedBoundingBox(t,r,a);const[n,i,s,o]=a;if(n===s||i===o)return[1,0,0,1,e[0],e[1]];const c=(e[2]-e[0])/(s-n),l=(e[3]-e[1])/(o-i);return[c,0,0,l,e[0]-n*c,e[1]-i*l]}class Annotation{constructor(e){const{dict:t,xref:r,annotationGlobals:a,ref:n,orphanFields:i}=e,s=i?.get(n);s&&t.set("Parent",s);this.setTitle(t.get("T"));this.setContents(t.get("Contents"));this.setModificationDate(t.get("M"));this.setFlags(t.get("F"));this.setRectangle(t.getArray("Rect"));this.setColor(t.getArray("C"));this.setBorderStyle(t);this.setAppearance(t);this.setOptionalContent(t);const o=t.get("MK");this.setBorderAndBackgroundColors(o);this.setRotation(o,t);this.ref=e.ref instanceof Ref?e.ref:null;this._streams=[];this.appearance&&this._streams.push(this.appearance);const c=!!(this.flags&ne),l=!!(this.flags&ie);this.data={annotationFlags:this.flags,borderStyle:this.borderStyle,color:this.color,backgroundColor:this.backgroundColor,borderColor:this.borderColor,rotation:this.rotation,contentsObj:this._contents,hasAppearance:!!this.appearance,id:e.id,modificationDate:this.modificationDate,rect:this.rectangle,subtype:e.subtype,hasOwnCanvas:!1,noRotate:!!(this.flags&re),noHTML:c&&l,isEditable:!1,structParent:-1};if(a.structTreeRoot){let r=t.get("StructParent");this.data.structParent=r=Number.isInteger(r)&&r>=0?r:-1;a.structTreeRoot.addAnnotationIdToPage(e.pageRef,r)}if(e.collectFields){const a=t.get("Kids");if(Array.isArray(a)){const e=[];for(const t of a)t instanceof Ref&&e.push(t.toString());0!==e.length&&(this.data.kidIds=e)}this.data.actions=collectActions(r,t,Se);this.data.fieldName=this._constructFieldName(t);this.data.pageIndex=e.pageIndex}const h=t.get("IT");h instanceof Name&&(this.data.it=h.name);this._isOffscreenCanvasSupported=e.evaluatorOptions.isOffscreenCanvasSupported;this._fallbackFontDict=null;this._needAppearances=!1}_hasFlag(e,t){return!!(e&t)}_buildFlags(e,t){let{flags:r}=this;if(void 0===e){if(void 0===t)return;return t?r&~te:r&~ee|te}if(e){r|=te;return t?r&~ae|ee:r&~ee|ae}r&=~(ee|ae);return t?r&~te:r|te}_isViewable(e){return!this._hasFlag(e,Q)&&!this._hasFlag(e,ae)}_isPrintable(e){return this._hasFlag(e,te)&&!this._hasFlag(e,ee)&&!this._hasFlag(e,Q)}mustBeViewed(e,t){const r=e?.get(this.data.id)?.noView;return void 0!==r?!r:this.viewable&&!this._hasFlag(this.flags,ee)}mustBePrinted(e){const t=e?.get(this.data.id)?.noPrint;return void 0!==t?!t:this.printable}mustBeViewedWhenEditing(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return e?!this.data.isEditable:!t?.has(this.data.id)}get viewable(){return null!==this.data.quadPoints&&(0===this.flags||this._isViewable(this.flags))}get printable(){return null!==this.data.quadPoints&&(0!==this.flags&&this._isPrintable(this.flags))}_parseStringHelper(e){const t="string"==typeof e?stringToPDFString(e):"";return{str:t,dir:t&&"rtl"===bidi(t).dir?"rtl":"ltr"}}setDefaultAppearance(e){const{dict:t,annotationGlobals:r}=e,a=getInheritableProperty({dict:t,key:"DA"})||r.acroForm.get("DA");this._defaultAppearance="string"==typeof a?a:"";this.data.defaultAppearanceData=parseDefaultAppearance(this._defaultAppearance)}setTitle(e){this._title=this._parseStringHelper(e)}setContents(e){this._contents=this._parseStringHelper(e)}setModificationDate(e){this.modificationDate="string"==typeof e?e:null}setFlags(e){this.flags=Number.isInteger(e)&&e>0?e:0;this.flags&Q&&"Annotation"!==this.constructor.name&&(this.flags^=Q)}hasFlag(e){return this._hasFlag(this.flags,e)}setRectangle(e){this.rectangle=lookupNormalRect(e,[0,0,0,0])}setColor(e){this.color=getRgbColor(e)}setLineEndings(e){this.lineEndings=["None","None"];if(Array.isArray(e)&&2===e.length)for(let t=0;t<2;t++){const r=e[t];if(r instanceof Name)switch(r.name){case"None":continue;case"Square":case"Circle":case"Diamond":case"OpenArrow":case"ClosedArrow":case"Butt":case"ROpenArrow":case"RClosedArrow":case"Slash":this.lineEndings[t]=r.name;continue}warn(`Ignoring invalid lineEnding: ${r}`)}}setRotation(e,t){this.rotation=0;let r=e instanceof Dict?e.get("R")||0:t.get("Rotate")||0;if(Number.isInteger(r)&&0!==r){r%=360;r<0&&(r+=360);r%90==0&&(this.rotation=r)}}setBorderAndBackgroundColors(e){if(e instanceof Dict){this.borderColor=getRgbColor(e.getArray("BC"),null);this.backgroundColor=getRgbColor(e.getArray("BG"),null)}else this.borderColor=this.backgroundColor=null}setBorderStyle(e){this.borderStyle=new AnnotationBorderStyle;if(e instanceof Dict)if(e.has("BS")){const t=e.get("BS");if(t instanceof Dict){const e=t.get("Type");if(!e||isName(e,"Border")){this.borderStyle.setWidth(t.get("W"),this.rectangle);this.borderStyle.setStyle(t.get("S"));this.borderStyle.setDashArray(t.getArray("D"))}}}else if(e.has("Border")){const t=e.getArray("Border");if(Array.isArray(t)&&t.length>=3){this.borderStyle.setHorizontalCornerRadius(t[0]);this.borderStyle.setVerticalCornerRadius(t[1]);this.borderStyle.setWidth(t[2],this.rectangle);4===t.length&&this.borderStyle.setDashArray(t[3],!0)}}else this.borderStyle.setWidth(0)}setAppearance(e){this.appearance=null;const t=e.get("AP");if(!(t instanceof Dict))return;const r=t.get("N");if(r instanceof BaseStream){this.appearance=r;return}if(!(r instanceof Dict))return;const a=e.get("AS");if(!(a instanceof Name&&r.has(a.name)))return;const n=r.get(a.name);n instanceof BaseStream&&(this.appearance=n)}setOptionalContent(e){this.oc=null;const t=e.get("OC");t instanceof Name?warn("setOptionalContent: Support for /Name-entry is not implemented."):t instanceof Dict&&(this.oc=t)}async loadResources(e,t){const r=await t.dict.getAsync("Resources");r&&await ObjectLoader.load(r,e,r.xref);return r}async getOperatorList(e,t,r,a){const{hasOwnCanvas:n,id:i,rect:s}=this.data;let o=this.appearance;const c=!!(n&&r&l);if(c&&(0===this.width||0===this.height)){this.data.hasOwnCanvas=!1;return{opList:new OperatorList,separateForm:!1,separateCanvas:!1}}if(!o){if(!c)return{opList:new OperatorList,separateForm:!1,separateCanvas:!1};o=new StringStream("");o.dict=new Dict}const h=o.dict,u=await this.loadResources(Rr,o),d=lookupRect(h.getArray("BBox"),[0,0,1,1]),f=lookupMatrix(h.getArray("Matrix"),Mr),g=getTransformMatrix(s,d,f),p=new OperatorList;let m;this.oc&&(m=await e.parseMarkedContentProps(this.oc,null));void 0!==m&&p.addOp(Ht,["OC",m]);p.addOp(Yt,[i,s,g,f,c]);await e.getOperatorList({stream:o,task:t,resources:u,operatorList:p,fallbackFontDict:this._fallbackFontDict});p.addOp(Zt,[]);void 0!==m&&p.addOp(Wt,[]);this.reset();return{opList:p,separateForm:!1,separateCanvas:c}}async save(e,t,r,a){return null}get hasTextContent(){return!1}async extractTextContent(e,t,r){if(!this.appearance)return;const a=await this.loadResources(Pr,this.appearance),n=[],i=[];let s=null;const o={desiredSize:Math.Infinity,ready:!0,enqueue(e,t){for(const t of e.items)if(void 0!==t.str){s||=t.transform.slice(-2);i.push(t.str);if(t.hasEOL){n.push(i.join("").trimEnd());i.length=0}}}};await e.getTextContent({stream:this.appearance,task:t,resources:a,includeMarkedContent:!0,keepWhiteSpace:!0,sink:o,viewBox:r});this.reset();i.length&&n.push(i.join("").trimEnd());if(n.length>1||n[0]){const e=this.appearance.dict,t=lookupRect(e.getArray("BBox"),null),r=lookupMatrix(e.getArray("Matrix"),null);this.data.textPosition=this._transformPoint(s,t,r);this.data.textContent=n}}_transformPoint(e,t,r){const{rect:a}=this.data;t||=[0,0,1,1];r||=[1,0,0,1,0,0];const n=getTransformMatrix(a,t,r);n[4]-=a[0];n[5]-=a[1];const i=e.slice();Util.applyTransform(i,n);Util.applyTransform(i,r);return i}getFieldObject(){return this.data.kidIds?{id:this.data.id,actions:this.data.actions,name:this.data.fieldName,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,type:"",kidIds:this.data.kidIds,page:this.data.pageIndex,rotation:this.rotation}:null}reset(){for(const e of this._streams)e.reset()}_constructFieldName(e){if(!e.has("T")&&!e.has("Parent")){warn("Unknown field name, falling back to empty field name.");return""}if(!e.has("Parent"))return stringToPDFString(e.get("T"));const t=[];e.has("T")&&t.unshift(stringToPDFString(e.get("T")));let r=e;const a=new RefSet;e.objId&&a.put(e.objId);for(;r.has("Parent");){r=r.get("Parent");if(!(r instanceof Dict)||r.objId&&a.has(r.objId))break;r.objId&&a.put(r.objId);r.has("T")&&t.unshift(stringToPDFString(r.get("T")))}return t.join(".")}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}}class AnnotationBorderStyle{constructor(){this.width=1;this.rawWidth=1;this.style=be;this.dashArray=[3];this.horizontalCornerRadius=0;this.verticalCornerRadius=0}setWidth(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0,0,0,0];if(e instanceof Name)this.width=0;else if("number"==typeof e){if(e>0){this.rawWidth=e;const r=(t[2]-t[0])/2,a=(t[3]-t[1])/2;if(r>0&&a>0&&(e>r||e>a)){warn(`AnnotationBorderStyle.setWidth - ignoring width: ${e}`);e=1}}this.width=e}}setStyle(e){if(e instanceof Name)switch(e.name){case"S":this.style=be;break;case"D":this.style=ye;break;case"B":this.style=we;break;case"I":this.style=ve;break;case"U":this.style=xe}}setDashArray(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(Array.isArray(e)){let r=!0,a=!0;for(const t of e){if(!(+t>=0)){r=!1;break}t>0&&(a=!1)}if(0===e.length||r&&!a){this.dashArray=e;t&&this.setStyle(Name.get("D"))}else this.width=0}else e&&(this.width=0)}setHorizontalCornerRadius(e){Number.isInteger(e)&&(this.horizontalCornerRadius=e)}setVerticalCornerRadius(e){Number.isInteger(e)&&(this.verticalCornerRadius=e)}}class MarkupAnnotation extends Annotation{constructor(e){super(e);const{dict:t}=e;if(t.has("IRT")){const e=t.getRaw("IRT");this.data.inReplyTo=e instanceof Ref?e.toString():null;const r=t.get("RT");this.data.replyType=r instanceof Name?r.name:Z}let r=null;if(this.data.replyType===Y){const e=t.get("IRT");this.setTitle(e.get("T"));this.data.titleObj=this._title;this.setContents(e.get("Contents"));this.data.contentsObj=this._contents;if(e.has("CreationDate")){this.setCreationDate(e.get("CreationDate"));this.data.creationDate=this.creationDate}else this.data.creationDate=null;if(e.has("M")){this.setModificationDate(e.get("M"));this.data.modificationDate=this.modificationDate}else this.data.modificationDate=null;r=e.getRaw("Popup");if(e.has("C")){this.setColor(e.getArray("C"));this.data.color=this.color}else this.data.color=null}else{this.data.titleObj=this._title;this.setCreationDate(t.get("CreationDate"));this.data.creationDate=this.creationDate;r=t.getRaw("Popup");t.has("C")||(this.data.color=null)}this.data.popupRef=r instanceof Ref?r.toString():null;t.has("RC")&&(this.data.richText=XFAFactory.getRichTextAsHtml(t.get("RC")))}setCreationDate(e){this.creationDate="string"==typeof e?e:null}_setDefaultAppearance(e){let{xref:t,extra:r,strokeColor:a,fillColor:n,blendMode:i,strokeAlpha:s,fillAlpha:o,pointsCallback:c}=e;const l=this.data.rect=[1/0,1/0,-1/0,-1/0],h=["q"];r&&h.push(r);a&&h.push(`${a[0]} ${a[1]} ${a[2]} RG`);n&&h.push(`${n[0]} ${n[1]} ${n[2]} rg`);const u=this.data.quadPoints||Float32Array.from([this.rectangle[0],this.rectangle[3],this.rectangle[2],this.rectangle[3],this.rectangle[0],this.rectangle[1],this.rectangle[2],this.rectangle[1]]);for(let e=0,t=u.length;e"string"==typeof e)).map((e=>stringToPDFString(e))):e instanceof Name?stringToPDFString(e.name):"string"==typeof e?stringToPDFString(e):null}hasFieldFlag(e){return!!(this.data.fieldFlags&e)}_isViewable(e){return!0}mustBeViewed(e,t){return t?this.viewable:super.mustBeViewed(e,t)&&!this._hasFlag(this.flags,ae)}getRotationMatrix(e){let t=e?.get(this.data.id)?.rotation;void 0===t&&(t=this.rotation);return 0===t?Mr:getRotationMatrix(t,this.width,this.height)}getBorderAndBackgroundAppearances(e){let t=e?.get(this.data.id)?.rotation;void 0===t&&(t=this.rotation);if(!this.backgroundColor&&!this.borderColor)return"";const r=0===t||180===t?`0 0 ${this.width} ${this.height} re`:`0 0 ${this.height} ${this.width} re`;let a="";this.backgroundColor&&(a=`${getPdfColor(this.backgroundColor,!0)} ${r} f `);if(this.borderColor){a+=`${this.borderStyle.width||1} w ${getPdfColor(this.borderColor,!1)} ${r} S `}return a}async getOperatorList(e,t,r,a){if(r&d&&!(this instanceof SignatureWidgetAnnotation)&&!this.data.noHTML&&!this.data.hasOwnCanvas)return{opList:new OperatorList,separateForm:!0,separateCanvas:!1};if(!this._hasText)return super.getOperatorList(e,t,r,a);const n=await this._getAppearance(e,t,r,a);if(this.appearance&&null===n)return super.getOperatorList(e,t,r,a);const i=new OperatorList;if(!this._defaultAppearance||null===n)return{opList:i,separateForm:!1,separateCanvas:!1};const s=!!(this.data.hasOwnCanvas&&r&l),o=[0,0,this.width,this.height],c=getTransformMatrix(this.data.rect,o,[1,0,0,1,0,0]);let h;this.oc&&(h=await e.parseMarkedContentProps(this.oc,null));void 0!==h&&i.addOp(Ht,["OC",h]);i.addOp(Yt,[this.data.id,this.data.rect,c,this.getRotationMatrix(a),s]);const u=new StringStream(n);await e.getOperatorList({stream:u,task:t,resources:this._fieldResources.mergedResources,operatorList:i});i.addOp(Zt,[]);void 0!==h&&i.addOp(Wt,[]);return{opList:i,separateForm:!1,separateCanvas:s}}_getMKDict(e){const t=new Dict(null);e&&t.set("R",e);this.borderColor&&t.set("BC",getPdfColorArray(this.borderColor));this.backgroundColor&&t.set("BG",getPdfColorArray(this.backgroundColor));return t.size>0?t:null}amendSavedDict(e,t){}setValue(e,t,r,a){const{dict:n,ref:i}=function getParentToUpdate(e,t,r){const a=new RefSet,n=e,i={dict:null,ref:null};for(;e instanceof Dict&&!a.has(t);){a.put(t);if(e.has("T"))break;if(!((t=e.getRaw("Parent"))instanceof Ref))return i;e=r.fetch(t)}if(e instanceof Dict&&e!==n){i.dict=e;i.ref=t}return i}(e,this.ref,r);if(n){if(!a.has(i)){const e=n.clone();e.set("V",t);a.put(i,{data:e});return e}}else e.set("V",t);return null}async save(e,t,r,a){const n=r?.get(this.data.id),i=this._buildFlags(n?.noView,n?.noPrint);let s=n?.value,o=n?.rotation;if(s===this.data.fieldValue||void 0===s){if(!this._hasValueFromXFA&&void 0===o&&void 0===i)return;s||=this.data.fieldValue}if(void 0===o&&!this._hasValueFromXFA&&Array.isArray(s)&&Array.isArray(this.data.fieldValue)&&isArrayEqual(s,this.data.fieldValue)&&void 0===i)return;void 0===o&&(o=this.rotation);let c=null;if(!this._needAppearances){c=await this._getAppearance(e,t,u,r);if(null===c&&void 0===i)return}let l=!1;if(c?.needAppearances){l=!0;c=null}const{xref:h}=e,d=h.fetchIfRef(this.ref);if(!(d instanceof Dict))return;const f=new Dict(h);for(const e of d.getKeys())"AP"!==e&&f.set(e,d.getRaw(e));if(void 0!==i){f.set("F",i);if(null===c&&!l){const e=d.getRaw("AP");e&&f.set("AP",e)}}const g={path:this.data.fieldName,value:s},p=this.setValue(f,Array.isArray(s)?s.map(stringToAsciiOrUTF16BE):stringToAsciiOrUTF16BE(s),h,a);this.amendSavedDict(r,p||f);const m=this._getMKDict(o);m&&f.set("MK",m);a.put(this.ref,{data:f,xfa:g,needAppearances:l});if(null!==c){const e=h.getNewTemporaryRef(),t=new Dict(h);f.set("AP",t);t.set("N",e);const n=this._getSaveFieldResources(h),i=new StringStream(c),s=i.dict=new Dict(h);s.set("Subtype",Name.get("Form"));s.set("Resources",n);const l=o%180==0?[0,0,this.width,this.height]:[0,0,this.height,this.width];s.set("BBox",l);const u=this.getRotationMatrix(r);u!==Mr&&s.set("Matrix",u);a.put(e,{data:i,xfa:null,needAppearances:!1})}f.set("M",`D:${getModificationDate()}`)}async _getAppearance(e,t,r,a){if(this.data.password)return null;const n=a?.get(this.data.id);let i,s;if(n){i=n.formattedValue||n.value;s=n.rotation}if(void 0===s&&void 0===i&&!this._needAppearances&&(!this._hasValueFromXFA||this.appearance))return null;const c=this.getBorderAndBackgroundAppearances(a);if(void 0===i){i=this.data.fieldValue;if(!i)return`/Tx BMC q ${c}Q EMC`}Array.isArray(i)&&1===i.length&&(i=i[0]);assert("string"==typeof i,"Expected `value` to be a string.");i=i.trimEnd();if(this.data.combo){const e=this.data.options.find((e=>{let{exportValue:t}=e;return i===t}));i=e?.displayValue||i}if(""===i)return`/Tx BMC q ${c}Q EMC`;void 0===s&&(s=this.rotation);let l,h=-1;if(this.data.multiLine){l=i.split(/\r\n?|\n/).map((e=>e.normalize("NFC")));h=l.length}else l=[i.replace(/\r\n?|\n/,"").normalize("NFC")];let{width:d,height:f}=this;90!==s&&270!==s||([d,f]=[f,d]);this._defaultAppearance||(this.data.defaultAppearanceData=parseDefaultAppearance(this._defaultAppearance="/Helvetica 0 Tf 0 g"));let g,p,m,b=await WidgetAnnotation._getFontData(e,t,this.data.defaultAppearanceData,this._fieldResources.mergedResources);const y=[];let w=!1;for(const e of l){const t=b.encodeString(e);t.length>1&&(w=!0);y.push(t.join(""))}if(w&&r&u)return{needAppearances:!0};if(w&&this._isOffscreenCanvasSupported){const r=this.data.comb?"monospace":"sans-serif",a=new FakeUnicodeFont(e.xref,r),n=a.createFontResources(l.join("")),s=n.getRaw("Font");if(this._fieldResources.mergedResources.has("Font")){const e=this._fieldResources.mergedResources.get("Font");for(const t of s.getKeys())e.set(t,s.getRaw(t))}else this._fieldResources.mergedResources.set("Font",s);const o=a.fontName.name;b=await WidgetAnnotation._getFontData(e,t,{fontName:o,fontSize:0},n);for(let e=0,t=y.length;e2)return`/Tx BMC q ${c}BT `+g+` 1 0 0 1 ${numberToString(2)} ${numberToString(k)} Tm (${escapeString(y[0])}) Tj ET Q EMC`;return`/Tx BMC q ${c}BT `+g+` 1 0 0 1 0 0 Tm ${this._renderText(y[0],b,p,d,S,{shift:0},2,k)} ET Q EMC`}static async _getFontData(e,t,r,a){const n=new OperatorList,i={font:null,clone(){return this}},{fontName:s,fontSize:o}=r;await e.handleSetFont(a,[s&&Name.get(s),o],null,n,t,i,null);return i.font}_getTextWidth(e,t){return Math.sumPrecise(t.charsToGlyphs(e).map((e=>e.width)))/1e3}_computeFontSize(e,t,r,a,n){let{fontSize:s}=this.data.defaultAppearanceData,o=(s||12)*i,c=Math.round(e/o);if(!s){const roundWithTwoDigits=e=>Math.floor(100*e)/100;if(-1===n){const n=this._getTextWidth(r,a);s=roundWithTwoDigits(Math.min(e/i,t/n));c=1}else{const l=r.split(/\r\n?|\n/),h=[];for(const e of l){const t=a.encodeString(e).join(""),r=a.charsToGlyphs(t),n=a.getCharPositions(t);h.push({line:t,glyphs:r,positions:n})}const isTooBig=r=>{let n=0;for(const i of h){n+=this._splitLine(null,a,r,t,i).length*r;if(n>e)return!0}return!1};c=Math.max(c,n);for(;;){o=e/c;s=roundWithTwoDigits(o/i);if(!isTooBig(s))break;c++}}const{fontName:l,fontColor:h}=this.data.defaultAppearanceData;this._defaultAppearance=function createDefaultAppearance(e){let{fontSize:t,fontName:r,fontColor:a}=e;return`/${escapePDFName(r)} ${t} Tf ${getPdfColor(a,!0)}`}({fontSize:s,fontName:l,fontColor:h})}return[this._defaultAppearance,s,e/c]}_renderText(e,t,r,a,n,i,s,o){let c;if(1===n){c=(a-this._getTextWidth(e,t)*r)/2}else if(2===n){c=a-this._getTextWidth(e,t)*r-s}else c=s;const l=numberToString(c-i.shift);i.shift=c;return`${l} ${o=numberToString(o)} Td (${escapeString(e)}) Tj`}_getSaveFieldResources(e){const{localResources:t,appearanceResources:r,acroFormResources:a}=this._fieldResources,n=this.data.defaultAppearanceData?.fontName;if(!n)return t||Dict.empty;for(const e of[t,r])if(e instanceof Dict){const t=e.get("Font");if(t instanceof Dict&&t.has(n))return e}if(a instanceof Dict){const r=a.get("Font");if(r instanceof Dict&&r.has(n)){const a=new Dict(e);a.set(n,r.getRaw(n));const i=new Dict(e);i.set("Font",a);return Dict.merge({xref:e,dictArray:[i,t],mergeSubDicts:!0})}}return t||Dict.empty}getFieldObject(){return null}}class TextWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);const{dict:t}=e;if(t.has("PMD")){this.flags|=ee;this.data.hidden=!0;warn("Barcodes are not supported")}this.data.hasOwnCanvas=this.data.readOnly&&!this.data.noHTML;this._hasText=!0;"string"!=typeof this.data.fieldValue&&(this.data.fieldValue="");let r=getInheritableProperty({dict:t,key:"Q"});(!Number.isInteger(r)||r<0||r>2)&&(r=null);this.data.textAlignment=r;let a=getInheritableProperty({dict:t,key:"MaxLen"});(!Number.isInteger(a)||a<0)&&(a=0);this.data.maxLen=a;this.data.multiLine=this.hasFieldFlag(ce);this.data.comb=this.hasFieldFlag(me)&&!this.data.multiLine&&!this.data.password&&!this.hasFieldFlag(fe)&&0!==this.data.maxLen;this.data.doNotScroll=this.hasFieldFlag(pe)}get hasTextContent(){return!!this.appearance&&!this._needAppearances}_getCombAppearance(e,t,r,a,n,i,s,o,c,l,h){const u=n/this.data.maxLen,d=this.getBorderAndBackgroundAppearances(h),f=[],g=t.getCharPositions(r);for(const[e,t]of g)f.push(`(${escapeString(r.substring(e,t))}) Tj`);const p=f.join(` ${numberToString(u)} 0 Td `);return`/Tx BMC q ${d}BT `+e+` 1 0 0 1 ${numberToString(s)} ${numberToString(o+c)} Tm ${p} ET Q EMC`}_getMultilineAppearance(e,t,r,a,n,i,s,o,c,l,h,u){const d=[],f=n-2*o,g={shift:0};for(let e=0,i=t.length;e4&&void 0!==arguments[4]?arguments[4]:{};e=n.line||e;const i=n.glyphs||t.charsToGlyphs(e);if(i.length<=1)return[e];const s=n.positions||t.getCharPositions(e),o=r/1e3,c=[];let l=-1,h=-1,u=-1,d=0,f=0;for(let t=0,r=i.length;ta){c.push(e.substring(d,r));d=r;f=p;l=-1;u=-1}else{f+=p;l=r;h=n;u=t}else if(f+p>a)if(-1!==l){c.push(e.substring(d,h));d=h;t=u+1;l=-1;f=0}else{c.push(e.substring(d,r));d=r;f=p}else f+=p}dt?`\\${t}`:"\\s+"));new RegExp(`^\\s*${i}\\s*$`).test(this.data.fieldValue)&&(this.data.textContent=this.data.fieldValue.split("\n"))}getFieldObject(){return{id:this.data.id,value:this.data.fieldValue,defaultValue:this.data.defaultFieldValue||"",multiline:this.data.multiLine,password:this.data.password,charLimit:this.data.maxLen,comb:this.data.comb,editable:!this.data.readOnly,hidden:this.data.hidden,name:this.data.fieldName,rect:this.data.rect,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:"text"}}}class ButtonWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);this.checkedAppearance=null;this.uncheckedAppearance=null;const t=this.hasFieldFlag(he),r=this.hasFieldFlag(ue);this.data.checkBox=!t&&!r;this.data.radioButton=t&&!r;this.data.pushButton=r;this.data.isTooltipOnly=!1;if(this.data.checkBox)this._processCheckBox(e);else if(this.data.radioButton)this._processRadioButton(e);else if(this.data.pushButton){this.data.hasOwnCanvas=!0;this.data.noHTML=!1;this._processPushButton(e)}else warn("Invalid field flags for button widget annotation")}async getOperatorList(e,t,r,a){if(this.data.pushButton)return super.getOperatorList(e,t,r,!1,a);let n=null,i=null;if(a){const e=a.get(this.data.id);n=e?e.value:null;i=e?e.rotation:null}if(null===n&&this.appearance)return super.getOperatorList(e,t,r,a);null==n&&(n=this.data.checkBox?this.data.fieldValue===this.data.exportValue:this.data.fieldValue===this.data.buttonValue);const s=n?this.checkedAppearance:this.uncheckedAppearance;if(s){const n=this.appearance,o=lookupMatrix(s.dict.getArray("Matrix"),Mr);i&&s.dict.set("Matrix",this.getRotationMatrix(a));this.appearance=s;const c=super.getOperatorList(e,t,r,a);this.appearance=n;s.dict.set("Matrix",o);return c}return{opList:new OperatorList,separateForm:!1,separateCanvas:!1}}async save(e,t,r,a){this.data.checkBox?this._saveCheckbox(e,t,r,a):this.data.radioButton&&this._saveRadioButton(e,t,r,a)}async _saveCheckbox(e,t,r,a){if(!r)return;const n=r.get(this.data.id),i=this._buildFlags(n?.noView,n?.noPrint);let s=n?.rotation,o=n?.value;if(void 0===s&&void 0===i){if(void 0===o)return;if(this.data.fieldValue===this.data.exportValue===o)return}let c=e.xref.fetchIfRef(this.ref);if(!(c instanceof Dict))return;c=c.clone();void 0===s&&(s=this.rotation);void 0===o&&(o=this.data.fieldValue===this.data.exportValue);const l={path:this.data.fieldName,value:o?this.data.exportValue:""},h=Name.get(o?this.data.exportValue:"Off");this.setValue(c,h,e.xref,a);c.set("AS",h);c.set("M",`D:${getModificationDate()}`);void 0!==i&&c.set("F",i);const u=this._getMKDict(s);u&&c.set("MK",u);a.put(this.ref,{data:c,xfa:l,needAppearances:!1})}async _saveRadioButton(e,t,r,a){if(!r)return;const n=r.get(this.data.id),i=this._buildFlags(n?.noView,n?.noPrint);let s=n?.rotation,o=n?.value;if(void 0===s&&void 0===i){if(void 0===o)return;if(this.data.fieldValue===this.data.buttonValue===o)return}let c=e.xref.fetchIfRef(this.ref);if(!(c instanceof Dict))return;c=c.clone();void 0===o&&(o=this.data.fieldValue===this.data.buttonValue);void 0===s&&(s=this.rotation);const l={path:this.data.fieldName,value:o?this.data.buttonValue:""},h=Name.get(o?this.data.buttonValue:"Off");o&&this.setValue(c,h,e.xref,a);c.set("AS",h);c.set("M",`D:${getModificationDate()}`);void 0!==i&&c.set("F",i);const u=this._getMKDict(s);u&&c.set("MK",u);a.put(this.ref,{data:c,xfa:l,needAppearances:!1})}_getDefaultCheckedAppearance(e,t){const{width:r,height:a}=this,n=[0,0,r,a],i=.8*Math.min(r,a);let s,o;if("check"===t){s={width:.755*i,height:.705*i};o="3"}else if("disc"===t){s={width:.791*i,height:.705*i};o="l"}else unreachable(`_getDefaultCheckedAppearance - unsupported type: ${t}`);const c=`q BT /PdfJsZaDb ${i} Tf 0 g ${numberToString((r-s.width)/2)} ${numberToString((a-s.height)/2)} Td (${o}) Tj ET Q`,l=new Dict(e.xref);l.set("FormType",1);l.set("Subtype",Name.get("Form"));l.set("Type",Name.get("XObject"));l.set("BBox",n);l.set("Matrix",[1,0,0,1,0,0]);l.set("Length",c.length);const h=new Dict(e.xref),u=new Dict(e.xref);u.set("PdfJsZaDb",this.fallbackFontDict);h.set("Font",u);l.set("Resources",h);this.checkedAppearance=new StringStream(c);this.checkedAppearance.dict=l;this._streams.push(this.checkedAppearance)}_processCheckBox(e){const t=e.dict.get("AP");if(!(t instanceof Dict))return;const r=t.get("N");if(!(r instanceof Dict))return;const a=this._decodeFormValue(e.dict.get("AS"));"string"==typeof a&&(this.data.fieldValue=a);const n=null!==this.data.fieldValue&&"Off"!==this.data.fieldValue?this.data.fieldValue:"Yes",i=this._decodeFormValue(r.getKeys());if(0===i.length)i.push("Off",n);else if(1===i.length)"Off"===i[0]?i.push(n):i.unshift("Off");else if(i.includes(n)){i.length=0;i.push("Off",n)}else{const e=i.find((e=>"Off"!==e));i.length=0;i.push("Off",e)}i.includes(this.data.fieldValue)||(this.data.fieldValue="Off");this.data.exportValue=i[1];const s=r.get(this.data.exportValue);this.checkedAppearance=s instanceof BaseStream?s:null;const o=r.get("Off");this.uncheckedAppearance=o instanceof BaseStream?o:null;this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,"check");this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance);this._fallbackFontDict=this.fallbackFontDict;null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processRadioButton(e){this.data.buttonValue=null;const t=e.dict.get("Parent");if(t instanceof Dict){this.parent=e.dict.getRaw("Parent");const r=t.get("V");r instanceof Name&&(this.data.fieldValue=this._decodeFormValue(r))}const r=e.dict.get("AP");if(!(r instanceof Dict))return;const a=r.get("N");if(!(a instanceof Dict))return;for(const e of a.getKeys())if("Off"!==e){this.data.buttonValue=this._decodeFormValue(e);break}const n=a.get(this.data.buttonValue);this.checkedAppearance=n instanceof BaseStream?n:null;const i=a.get("Off");this.uncheckedAppearance=i instanceof BaseStream?i:null;this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,"disc");this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance);this._fallbackFontDict=this.fallbackFontDict;null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processPushButton(e){const{dict:t,annotationGlobals:r}=e;if(t.has("A")||t.has("AA")||this.data.alternativeText){this.data.isTooltipOnly=!t.has("A")&&!t.has("AA");Catalog.parseDestDictionary({destDict:t,resultObj:this.data,docBaseUrl:r.baseUrl,docAttachments:r.attachments})}else warn("Push buttons without action dictionaries are not supported")}getFieldObject(){let e,t="button";if(this.data.checkBox){t="checkbox";e=this.data.exportValue}else if(this.data.radioButton){t="radiobutton";e=this.data.buttonValue}return{id:this.data.id,value:this.data.fieldValue||"Off",defaultValue:this.data.defaultFieldValue,exportValues:e,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,hidden:this.data.hidden,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:t}}get fallbackFontDict(){const e=new Dict;e.set("BaseFont",Name.get("ZapfDingbats"));e.set("Type",Name.get("FallbackType"));e.set("Subtype",Name.get("FallbackType"));e.set("Encoding",Name.get("ZapfDingbatsEncoding"));return shadow(this,"fallbackFontDict",e)}}class ChoiceWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);const{dict:t,xref:r}=e;this.indices=t.getArray("I");this.hasIndices=Array.isArray(this.indices)&&this.indices.length>0;this.data.options=[];const a=getInheritableProperty({dict:t,key:"Opt"});if(Array.isArray(a))for(let e=0,t=a.length;e=0&&t0&&(this.data.options=this.data.fieldValue.map((e=>({exportValue:e,displayValue:e}))));this.data.combo=this.hasFieldFlag(de);this.data.multiSelect=this.hasFieldFlag(ge);this._hasText=!0}getFieldObject(){const e=this.data.combo?"combobox":"listbox",t=this.data.fieldValue.length>0?this.data.fieldValue[0]:null;return{id:this.data.id,value:t,defaultValue:this.data.defaultFieldValue,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,numItems:this.data.fieldValue.length,multipleSelection:this.data.multiSelect,hidden:this.data.hidden,actions:this.data.actions,items:this.data.options,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:e}}amendSavedDict(e,t){if(!this.hasIndices)return;let r=e?.get(this.data.id)?.value;Array.isArray(r)||(r=[r]);const a=[],{options:n}=this.data;for(let e=0,t=0,i=n.length;er){r=a;t=e}}[f,g]=this._computeFontSize(e,c-4,t,d,-1)}const p=g*i,m=(p-g)/2,b=Math.floor(l/p);let y=0;if(u.length>0){const e=Math.min(...u),t=Math.max(...u);y=Math.max(0,t-b+1);y>e&&(y=e)}const w=Math.min(y+b+1,h),v=["/Tx BMC q",`1 1 ${c} ${l} re W n`];if(u.length){v.push("0.600006 0.756866 0.854904 rg");for(const e of u)y<=e&&ee.trimEnd()));const{coords:e,bbox:t,matrix:a}=FakeUnicodeFont.getFirstPositionInfo(this.rectangle,this.rotation,r);this.data.textPosition=this._transformPoint(e,t,a)}if(this._isOffscreenCanvasSupported){const n=e.dict.get("CA"),i=new FakeUnicodeFont(a,"sans-serif");this.appearance=i.createAppearance(this._contents.str,this.rectangle,this.rotation,r,t,n);this._streams.push(this.appearance)}else warn("FreeTextAnnotation: OffscreenCanvas is not supported, annotation may not render correctly.")}}get hasTextContent(){return this._hasAppearance}static createNewDict(e,t,r){let{apRef:a,ap:n}=r;const{color:i,fontSize:s,oldAnnotation:o,rect:c,rotation:l,user:h,value:u}=e,d=o||new Dict(t);d.set("Type",Name.get("Annot"));d.set("Subtype",Name.get("FreeText"));if(o){d.set("M",`D:${getModificationDate()}`);d.delete("RC")}else d.set("CreationDate",`D:${getModificationDate()}`);d.set("Rect",c);const f=`/Helv ${s} Tf ${getPdfColor(i,!0)}`;d.set("DA",f);d.set("Contents",stringToAsciiOrUTF16BE(u));d.set("F",4);d.set("Border",[0,0,0]);d.set("Rotate",l);h&&d.set("T",stringToAsciiOrUTF16BE(h));if(a||n){const e=new Dict(t);d.set("AP",e);a?e.set("N",a):e.set("N",n)}return d}static async createNewAppearanceStream(e,t,r){const{baseFontRef:a,evaluator:n,task:s}=r,{color:o,fontSize:c,rect:l,rotation:h,value:u}=e,d=new Dict(t),f=new Dict(t);if(a)f.set("Helv",a);else{const e=new Dict(t);e.set("BaseFont",Name.get("Helvetica"));e.set("Type",Name.get("Font"));e.set("Subtype",Name.get("Type1"));e.set("Encoding",Name.get("WinAnsiEncoding"));f.set("Helv",e)}d.set("Font",f);const g=await WidgetAnnotation._getFontData(n,s,{fontName:"Helv",fontSize:c},d),[p,m,b,y]=l;let w=b-p,v=y-m;h%180!=0&&([w,v]=[v,w]);const x=u.split("\n"),S=c/1e3;let k=-1/0;const C=[];for(let e of x){const t=g.encodeString(e);if(t.length>1)return null;e=t.join("");C.push(e);let r=0;const a=g.charsToGlyphs(e);for(const e of a)r+=e.width*S;k=Math.max(k,r)}let T=1;k>w&&(T=w/k);let _=1;const O=i*c,M=1*c,R=O*x.length;R>v&&(_=v/R);const D=c*Math.min(T,_);let E,N,j;switch(h){case 0:j=[1,0,0,1];N=[l[0],l[1],w,v];E=[l[0],l[3]-M];break;case 90:j=[0,1,-1,0];N=[l[1],-l[2],w,v];E=[l[1],-l[0]-M];break;case 180:j=[-1,0,0,-1];N=[-l[2],-l[3],w,v];E=[-l[2],-l[1]-M];break;case 270:j=[0,-1,1,0];N=[-l[3],l[0],w,v];E=[-l[3],l[2]-M]}const L=["q",`${j.join(" ")} 0 0 cm`,`${N.join(" ")} re W n`,"BT",`${getPdfColor(o,!0)}`,`0 Tc /Helv ${numberToString(D)} Tf`];L.push(`${E.join(" ")} Td (${escapeString(C[0])}) Tj`);const U=numberToString(O);for(let e=1,t=C.length;e{e.push(`${a[0]} ${a[1]} m`,`${a[2]} ${a[3]} l`,"S");return[t[0]-c,t[7]-c,t[2]+c,t[3]+c]}})}}}class SquareAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:r}=e;this.data.annotationType=N;this.data.hasOwnCanvas=this.data.noRotate;this.data.noHTML=!1;if(!this.appearance){const e=this.color?getPdfColorArray(this.color):[0,0,0],a=t.get("CA"),n=getRgbColor(t.getArray("IC"),null),i=n?getPdfColorArray(n):null,s=i?a:null;if(0===this.borderStyle.width&&!i)return;this._setDefaultAppearance({xref:r,extra:`${this.borderStyle.width} w`,strokeColor:e,fillColor:i,strokeAlpha:a,fillAlpha:s,pointsCallback:(e,t)=>{const r=t[4]+this.borderStyle.width/2,a=t[5]+this.borderStyle.width/2,n=t[6]-t[4]-this.borderStyle.width,s=t[3]-t[7]-this.borderStyle.width;e.push(`${r} ${a} ${n} ${s} re`);i?e.push("B"):e.push("S");return[t[0],t[7],t[2],t[3]]}})}}}class CircleAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:r}=e;this.data.annotationType=j;if(!this.appearance){const e=this.color?getPdfColorArray(this.color):[0,0,0],a=t.get("CA"),n=getRgbColor(t.getArray("IC"),null),i=n?getPdfColorArray(n):null,s=i?a:null;if(0===this.borderStyle.width&&!i)return;const o=4/3*Math.tan(Math.PI/8);this._setDefaultAppearance({xref:r,extra:`${this.borderStyle.width} w`,strokeColor:e,fillColor:i,strokeAlpha:a,fillAlpha:s,pointsCallback:(e,t)=>{const r=t[0]+this.borderStyle.width/2,a=t[1]-this.borderStyle.width/2,n=t[6]-this.borderStyle.width/2,s=t[7]+this.borderStyle.width/2,c=r+(n-r)/2,l=a+(s-a)/2,h=(n-r)/2*o,u=(s-a)/2*o;e.push(`${c} ${s} m`,`${c+h} ${s} ${n} ${l+u} ${n} ${l} c`,`${n} ${l-u} ${c+h} ${a} ${c} ${a} c`,`${c-h} ${a} ${r} ${l-u} ${r} ${l} c`,`${r} ${l+u} ${c-h} ${s} ${c} ${s} c`,"h");i?e.push("B"):e.push("S");return[t[0],t[7],t[2],t[3]]}})}}}class PolylineAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:r}=e;this.data.annotationType=U;this.data.hasOwnCanvas=this.data.noRotate;this.data.noHTML=!1;this.data.vertices=null;if(!(this instanceof PolygonAnnotation)){this.setLineEndings(t.getArray("LE"));this.data.lineEndings=this.lineEndings}const a=t.getArray("Vertices");if(!isNumberArray(a,null))return;const n=this.data.vertices=Float32Array.from(a);if(!this.appearance){const e=this.color?getPdfColorArray(this.color):[0,0,0],a=t.get("CA"),i=this.borderStyle.width||1,s=2*i,o=[1/0,1/0,-1/0,-1/0];for(let e=0,t=n.length;e{for(let t=0,r=n.length;t{for(const t of this.data.inkLists){for(let r=0,a=t.length;r{e.push(`${t[0]} ${t[1]} m`,`${t[2]} ${t[3]} l`,`${t[6]} ${t[7]} l`,`${t[4]} ${t[5]} l`,"f");return[t[0],t[7],t[2],t[3]]}})}}else this.data.popupRef=null}static createNewDict(e,t,r){let{apRef:a,ap:n}=r;const{color:i,oldAnnotation:s,opacity:o,rect:c,rotation:l,user:h,quadPoints:u}=e,d=s||new Dict(t);d.set("Type",Name.get("Annot"));d.set("Subtype",Name.get("Highlight"));d.set(s?"M":"CreationDate",`D:${getModificationDate()}`);d.set("CreationDate",`D:${getModificationDate()}`);d.set("Rect",c);d.set("F",4);d.set("Border",[0,0,0]);d.set("Rotate",l);d.set("QuadPoints",u);d.set("C",getPdfColorArray(i));d.set("CA",o);h&&d.set("T",stringToAsciiOrUTF16BE(h));if(a||n){const e=new Dict(t);d.set("AP",e);e.set("N",a||n)}return d}static async createNewAppearanceStream(e,t,r){const{color:a,rect:n,outlines:i,opacity:s}=e,o=[`${getPdfColor(a,!0)}`,"/R0 gs"],c=[];for(const e of i){c.length=0;c.push(`${numberToString(e[0])} ${numberToString(e[1])} m`);for(let t=2,r=e.length;t{e.push(`${t[4]} ${t[5]+1.3} m`,`${t[6]} ${t[7]+1.3} l`,"S");return[t[0],t[7],t[2],t[3]]}})}}else this.data.popupRef=null}}class SquigglyAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:r}=e;this.data.annotationType=H;if(this.data.quadPoints=getQuadPoints(t,null)){if(!this.appearance){const e=this.color?getPdfColorArray(this.color):[0,0,0],a=t.get("CA");this._setDefaultAppearance({xref:r,extra:"[] 0 d 1 w",strokeColor:e,strokeAlpha:a,pointsCallback:(e,t)=>{const r=(t[1]-t[5])/6;let a=r,n=t[4];const i=t[5],s=t[6];e.push(`${n} ${i+a} m`);do{n+=2;a=0===a?r:0;e.push(`${n} ${i+a} l`)}while(n{e.push((t[0]+t[4])/2+" "+(t[1]+t[5])/2+" m",(t[2]+t[6])/2+" "+(t[3]+t[7])/2+" l","S");return[t[0],t[7],t[2],t[3]]}})}}else this.data.popupRef=null}}var ml=new WeakMap;class StampAnnotation extends MarkupAnnotation{constructor(e){super(e);annotation_classPrivateFieldInitSpec(this,ml,null);this.data.annotationType=z;this.data.hasOwnCanvas=this.data.noRotate;this.data.isEditable=!this.data.noHTML;this.data.noHTML=!1}mustBeViewedWhenEditing(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(e){if(!this.data.isEditable)return!0;annotation_classPrivateFieldGet(ml,this)??annotation_classPrivateFieldSet(ml,this,this.data.hasOwnCanvas);this.data.hasOwnCanvas=!0;return!0}if(null!==annotation_classPrivateFieldGet(ml,this)){this.data.hasOwnCanvas=annotation_classPrivateFieldGet(ml,this);annotation_classPrivateFieldSet(ml,this,null)}return!t?.has(this.data.id)}static async createImage(e,t){const{width:r,height:a}=e,n=new OffscreenCanvas(r,a),i=n.getContext("2d",{alpha:!0});i.drawImage(e,0,0);const s=i.getImageData(0,0,r,a).data,o=new Uint32Array(s.buffer),c=o.some(FeatureTest.isLittleEndian?e=>e>>>24!=255:e=>!!(255&~e));if(c){i.fillStyle="white";i.fillRect(0,0,r,a);i.drawImage(e,0,0)}const l=n.convertToBlob({type:"image/jpeg",quality:1}).then((e=>e.arrayBuffer())),h=Name.get("XObject"),u=Name.get("Image"),d=new Dict(t);d.set("Type",h);d.set("Subtype",u);d.set("BitsPerComponent",8);d.set("ColorSpace",Name.get("DeviceRGB"));d.set("Filter",Name.get("DCTDecode"));d.set("BBox",[0,0,r,a]);d.set("Width",r);d.set("Height",a);let f=null;if(c){const e=new Uint8Array(o.length);if(FeatureTest.isLittleEndian)for(let t=0,r=o.length;t>>24;else for(let t=0,r=o.length;t=0&&i<=1?i:null}}const bl={get r(){return shadow(this,"r",new Uint8Array([7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21]))},get k(){return shadow(this,"k",new Int32Array([-680876936,-389564586,606105819,-1044525330,-176418897,1200080426,-1473231341,-45705983,1770035416,-1958414417,-42063,-1990404162,1804603682,-40341101,-1502002290,1236535329,-165796510,-1069501632,643717713,-373897302,-701558691,38016083,-660478335,-405537848,568446438,-1019803690,-187363961,1163531501,-1444681467,-51403784,1735328473,-1926607734,-378558,-2022574463,1839030562,-35309556,-1530992060,1272893353,-155497632,-1094730640,681279174,-358537222,-722521979,76029189,-640364487,-421815835,530742520,-995338651,-198630844,1126891415,-1416354905,-57434055,1700485571,-1894986606,-1051523,-2054922799,1873313359,-30611744,-1560198380,1309151649,-145523070,-1120210379,718787259,-343485551]))}};function calculateMD5(e,t,r){let a=1732584193,n=-271733879,i=-1732584194,s=271733878;const o=r+72&-64,c=new Uint8Array(o);let l,h;for(l=0;l>5&255;c[l++]=r>>13&255;c[l++]=r>>21&255;c[l++]=r>>>29&255;l+=3;const d=new Int32Array(16),{k:f,r:g}=bl;for(l=0;l>>32-i)|0;r=a}a=a+r|0;n=n+o|0;i=i+u|0;s=s+p|0}return new Uint8Array([255&a,a>>8&255,a>>16&255,a>>>24&255,255&n,n>>8&255,n>>16&255,n>>>24&255,255&i,i>>8&255,i>>16&255,i>>>24&255,255&s,s>>8&255,s>>16&255,s>>>24&255])}function decodeString(e){try{return stringToUTF8String(e)}catch(t){warn(`UTF-8 decoding failed: "${t}".`);return e}}class DatasetXMLParser extends SimpleXMLParser{constructor(e){super(e);this.node=null}onEndElement(e){const t=super.onEndElement(e);if(t&&"xfa:datasets"===e){this.node=t;throw new Error("Aborting DatasetXMLParser.")}}}class DatasetReader{constructor(e){if(e.datasets)this.node=new SimpleXMLParser({hasAttributes:!0}).parseFromString(e.datasets).documentElement;else{const t=new DatasetXMLParser({hasAttributes:!0});try{t.parseFromString(e["xdp:xdp"])}catch{}this.node=t.node}}getValue(e){if(!this.node||!e)return"";const t=this.node.searchNode(parseXFAPath(e),0);if(!t)return"";const r=t.firstChild;return"value"===r?.nodeName?t.children.map((e=>decodeString(e.textContent))):decodeString(t.textContent)}}class Word64{constructor(e,t){this.high=0|e;this.low=0|t}and(e){this.high&=e.high;this.low&=e.low}xor(e){this.high^=e.high;this.low^=e.low}shiftRight(e){if(e>=32){this.low=this.high>>>e-32|0;this.high=0}else{this.low=this.low>>>e|this.high<<32-e;this.high=this.high>>>e|0}}rotateRight(e){let t,r;if(32&e){r=this.low;t=this.high}else{t=this.low;r=this.high}e&=31;this.low=t>>>e|r<<32-e;this.high=r>>>e|t<<32-e}not(){this.high=~this.high;this.low=~this.low}add(e){const t=(this.low>>>0)+(e.low>>>0);let r=(this.high>>>0)+(e.high>>>0);t>4294967295&&(r+=1);this.low=0|t;this.high=0|r}copyTo(e,t){e[t]=this.high>>>24&255;e[t+1]=this.high>>16&255;e[t+2]=this.high>>8&255;e[t+3]=255&this.high;e[t+4]=this.low>>>24&255;e[t+5]=this.low>>16&255;e[t+6]=this.low>>8&255;e[t+7]=255&this.low}assign(e){this.high=e.high;this.low=e.low}}const yl={get k(){return shadow(this,"k",[new Word64(1116352408,3609767458),new Word64(1899447441,602891725),new Word64(3049323471,3964484399),new Word64(3921009573,2173295548),new Word64(961987163,4081628472),new Word64(1508970993,3053834265),new Word64(2453635748,2937671579),new Word64(2870763221,3664609560),new Word64(3624381080,2734883394),new Word64(310598401,1164996542),new Word64(607225278,1323610764),new Word64(1426881987,3590304994),new Word64(1925078388,4068182383),new Word64(2162078206,991336113),new Word64(2614888103,633803317),new Word64(3248222580,3479774868),new Word64(3835390401,2666613458),new Word64(4022224774,944711139),new Word64(264347078,2341262773),new Word64(604807628,2007800933),new Word64(770255983,1495990901),new Word64(1249150122,1856431235),new Word64(1555081692,3175218132),new Word64(1996064986,2198950837),new Word64(2554220882,3999719339),new Word64(2821834349,766784016),new Word64(2952996808,2566594879),new Word64(3210313671,3203337956),new Word64(3336571891,1034457026),new Word64(3584528711,2466948901),new Word64(113926993,3758326383),new Word64(338241895,168717936),new Word64(666307205,1188179964),new Word64(773529912,1546045734),new Word64(1294757372,1522805485),new Word64(1396182291,2643833823),new Word64(1695183700,2343527390),new Word64(1986661051,1014477480),new Word64(2177026350,1206759142),new Word64(2456956037,344077627),new Word64(2730485921,1290863460),new Word64(2820302411,3158454273),new Word64(3259730800,3505952657),new Word64(3345764771,106217008),new Word64(3516065817,3606008344),new Word64(3600352804,1432725776),new Word64(4094571909,1467031594),new Word64(275423344,851169720),new Word64(430227734,3100823752),new Word64(506948616,1363258195),new Word64(659060556,3750685593),new Word64(883997877,3785050280),new Word64(958139571,3318307427),new Word64(1322822218,3812723403),new Word64(1537002063,2003034995),new Word64(1747873779,3602036899),new Word64(1955562222,1575990012),new Word64(2024104815,1125592928),new Word64(2227730452,2716904306),new Word64(2361852424,442776044),new Word64(2428436474,593698344),new Word64(2756734187,3733110249),new Word64(3204031479,2999351573),new Word64(3329325298,3815920427),new Word64(3391569614,3928383900),new Word64(3515267271,566280711),new Word64(3940187606,3454069534),new Word64(4118630271,4000239992),new Word64(116418474,1914138554),new Word64(174292421,2731055270),new Word64(289380356,3203993006),new Word64(460393269,320620315),new Word64(685471733,587496836),new Word64(852142971,1086792851),new Word64(1017036298,365543100),new Word64(1126000580,2618297676),new Word64(1288033470,3409855158),new Word64(1501505948,4234509866),new Word64(1607167915,987167468),new Word64(1816402316,1246189591)])}};function ch(e,t,r,a,n){e.assign(t);e.and(r);n.assign(t);n.not();n.and(a);e.xor(n)}function maj(e,t,r,a,n){e.assign(t);e.and(r);n.assign(t);n.and(a);e.xor(n);n.assign(r);n.and(a);e.xor(n)}function sigma(e,t,r){e.assign(t);e.rotateRight(28);r.assign(t);r.rotateRight(34);e.xor(r);r.assign(t);r.rotateRight(39);e.xor(r)}function sigmaPrime(e,t,r){e.assign(t);e.rotateRight(14);r.assign(t);r.rotateRight(18);e.xor(r);r.assign(t);r.rotateRight(41);e.xor(r)}function littleSigma(e,t,r){e.assign(t);e.rotateRight(1);r.assign(t);r.rotateRight(8);e.xor(r);r.assign(t);r.shiftRight(7);e.xor(r)}function littleSigmaPrime(e,t,r){e.assign(t);e.rotateRight(19);r.assign(t);r.rotateRight(61);e.xor(r);r.assign(t);r.shiftRight(6);e.xor(r)}function calculateSHA512(e,t,r){let a,n,i,s,o,c,l,h,u=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(u){a=new Word64(3418070365,3238371032);n=new Word64(1654270250,914150663);i=new Word64(2438529370,812702999);s=new Word64(355462360,4144912697);o=new Word64(1731405415,4290775857);c=new Word64(2394180231,1750603025);l=new Word64(3675008525,1694076839);h=new Word64(1203062813,3204075428)}else{a=new Word64(1779033703,4089235720);n=new Word64(3144134277,2227873595);i=new Word64(1013904242,4271175723);s=new Word64(2773480762,1595750129);o=new Word64(1359893119,2917565137);c=new Word64(2600822924,725511199);l=new Word64(528734635,4215389547);h=new Word64(1541459225,327033209)}const d=128*Math.ceil((r+17)/128),f=new Uint8Array(d);let g,p;for(g=0;g>>29&255;f[g++]=r>>21&255;f[g++]=r>>13&255;f[g++]=r>>5&255;f[g++]=r<<3&255;const b=new Array(80);for(g=0;g<80;g++)b[g]=new Word64(0,0);const{k:y}=yl;let w=new Word64(0,0),v=new Word64(0,0),x=new Word64(0,0),S=new Word64(0,0),k=new Word64(0,0),C=new Word64(0,0),T=new Word64(0,0),_=new Word64(0,0);const O=new Word64(0,0),M=new Word64(0,0),R=new Word64(0,0),D=new Word64(0,0);let E,N;for(g=0;g>>t|e<<32-t}function calculate_sha256_ch(e,t,r){return e&t^~e&r}function calculate_sha256_maj(e,t,r){return e&t^e&r^t&r}function calculate_sha256_sigma(e){return rotr(e,2)^rotr(e,13)^rotr(e,22)}function calculate_sha256_sigmaPrime(e){return rotr(e,6)^rotr(e,11)^rotr(e,25)}function calculate_sha256_littleSigma(e){return rotr(e,7)^rotr(e,18)^e>>>3}function calculateSHA256(e,t,r){let a=1779033703,n=3144134277,i=1013904242,s=2773480762,o=1359893119,c=2600822924,l=528734635,h=1541459225;const u=64*Math.ceil((r+9)/64),d=new Uint8Array(u);let f,g;for(f=0;f>>29&255;d[f++]=r>>21&255;d[f++]=r>>13&255;d[f++]=r>>5&255;d[f++]=r<<3&255;const m=new Uint32Array(64),{k:b}=wl;for(f=0;f>>10)+m[g-7]+calculate_sha256_littleSigma(m[g-15])+m[g-16]|0;let e,t,r=a,u=n,p=i,w=s,v=o,x=c,S=l,k=h;for(g=0;g<64;++g){e=k+calculate_sha256_sigmaPrime(v)+calculate_sha256_ch(v,x,S)+b[g]+m[g];t=calculate_sha256_sigma(r)+calculate_sha256_maj(r,u,p);k=S;S=x;x=v;v=w+e|0;w=p;p=u;u=r;r=e+t|0}a=a+r|0;n=n+u|0;i=i+p|0;s=s+w|0;o=o+v|0;c=c+x|0;l=l+S|0;h=h+k|0}var y;return new Uint8Array([a>>24&255,a>>16&255,a>>8&255,255&a,n>>24&255,n>>16&255,n>>8&255,255&n,i>>24&255,i>>16&255,i>>8&255,255&i,s>>24&255,s>>16&255,s>>8&255,255&s,o>>24&255,o>>16&255,o>>8&255,255&o,c>>24&255,c>>16&255,c>>8&255,255&c,l>>24&255,l>>16&255,l>>8&255,255&l,h>>24&255,h>>16&255,h>>8&255,255&h])}class DecryptStream extends DecodeStream{constructor(e,t,r){super(t);this.str=e;this.dict=e.dict;this.decrypt=r;this.nextChunk=null;this.initialized=!1}readBlock(){let e;if(this.initialized)e=this.nextChunk;else{e=this.str.getBytes(512);this.initialized=!0}if(!e?.length){this.eof=!0;return}this.nextChunk=this.str.getBytes(512);const t=this.nextChunk?.length>0;e=(0,this.decrypt)(e,!t);const r=this.bufferLength,a=r+e.length;this.ensureBuffer(a).set(e,r);this.bufferLength=a}}var vl;function crypto_classPrivateMethodInitSpec(e,t){(function crypto_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}function crypto_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}function crypto_defineProperty(e,t,r){return(t=function crypto_toPropertyKey(e){var t=function crypto_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class ARCFourCipher{constructor(e){this.a=0;this.b=0;const t=new Uint8Array(256),r=e.length;for(let e=0;e<256;++e)t[e]=e;for(let a=0,n=0;a<256;++a){const i=t[a];n=n+i+e[a%r]&255;t[a]=t[n];t[n]=i}this.s=t}encryptBlock(e){let t=this.a,r=this.b;const a=this.s,n=e.length,i=new Uint8Array(n);for(let s=0;st<128?t<<1:t<<1^27)));this.buffer=new Uint8Array(16);this.bufferPosition=0}_expandKey(e){unreachable("Cannot call `_expandKey` on the base class")}_decrypt(e,t){let r,a,n;const i=new Uint8Array(16);i.set(e);for(let e=0,r=this._keySize;e<16;++e,++r)i[e]^=t[r];for(let e=this._cyclesOfRepetition-1;e>=1;--e){r=i[13];i[13]=i[9];i[9]=i[5];i[5]=i[1];i[1]=r;r=i[14];a=i[10];i[14]=i[6];i[10]=i[2];i[6]=r;i[2]=a;r=i[15];a=i[11];n=i[7];i[15]=i[3];i[11]=r;i[7]=a;i[3]=n;for(let e=0;e<16;++e)i[e]=this._inv_s[i[e]];for(let r=0,a=16*e;r<16;++r,++a)i[r]^=t[a];for(let e=0;e<16;e+=4){const t=this._mix[i[e]],a=this._mix[i[e+1]],n=this._mix[i[e+2]],s=this._mix[i[e+3]];r=t^a>>>8^a<<24^n>>>16^n<<16^s>>>24^s<<8;i[e]=r>>>24&255;i[e+1]=r>>16&255;i[e+2]=r>>8&255;i[e+3]=255&r}}r=i[13];i[13]=i[9];i[9]=i[5];i[5]=i[1];i[1]=r;r=i[14];a=i[10];i[14]=i[6];i[10]=i[2];i[6]=r;i[2]=a;r=i[15];a=i[11];n=i[7];i[15]=i[3];i[11]=r;i[7]=a;i[3]=n;for(let e=0;e<16;++e){i[e]=this._inv_s[i[e]];i[e]^=t[e]}return i}_encrypt(e,t){const r=this._s;let a,n,i;const s=new Uint8Array(16);s.set(e);for(let e=0;e<16;++e)s[e]^=t[e];for(let e=1;e=a;--r)if(e[r]!==t){t=0;break}o-=t;i[i.length-1]=e.subarray(0,16-t)}}const c=new Uint8Array(o);for(let e=0,t=0,r=i.length;e2&&void 0!==arguments[2]?arguments[2]:null;const a=e.length,n=this.buffer;let i=this.bufferPosition;if(r)this.iv=r;else{for(let t=0;i<16&&t=256&&(o=255&(27^o))}for(let t=0;t<4;++t){r[e]=a^=r[e-32];e++;r[e]=n^=r[e-32];e++;r[e]=i^=r[e-32];e++;r[e]=s^=r[e-32];e++}}return r}}class PDFBase{_hash(e,t,r){unreachable("Abstract method `_hash` called")}checkOwnerPassword(e,t,r,a){const n=new Uint8Array(e.length+56);n.set(e,0);n.set(t,e.length);n.set(r,e.length+t.length);return isArrayEqual(this._hash(e,n,r),a)}checkUserPassword(e,t,r){const a=new Uint8Array(e.length+8);a.set(e,0);a.set(t,e.length);return isArrayEqual(this._hash(e,a,[]),r)}getOwnerKey(e,t,r,a){const n=new Uint8Array(e.length+56);n.set(e,0);n.set(t,e.length);n.set(r,e.length+t.length);const i=this._hash(e,n,r);return new AES256Cipher(i).decryptBlock(a,!1,new Uint8Array(16))}getUserKey(e,t,r){const a=new Uint8Array(e.length+8);a.set(e,0);a.set(t,e.length);const n=this._hash(e,a,[]);return new AES256Cipher(n).decryptBlock(r,!1,new Uint8Array(16))}}class PDF17 extends PDFBase{_hash(e,t,r){return calculateSHA256(t,0,t.length)}}class PDF20 extends PDFBase{_hash(e,t,r){let a=calculateSHA256(t,0,t.length).subarray(0,32),n=[0],i=0;for(;i<64||n.at(-1)>i-32;){const t=e.length+a.length+r.length,l=new Uint8Array(t);let h=0;l.set(e,h);h+=e.length;l.set(a,h);h+=a.length;l.set(r,h);const u=new Uint8Array(64*t);for(let e=0,r=0;e<64;e++,r+=t)u.set(l,r);n=new AES128Cipher(a.subarray(0,16)).encrypt(u,a.subarray(16,32));const d=Math.sumPrecise(n.slice(0,16))%3;0===d?a=calculateSHA256(n,0,n.length):1===d?a=(s=n,o=0,c=n.length,calculateSHA512(s,o,c,!0)):2===d&&(a=calculateSHA512(n,0,n.length));i++}var s,o,c;return a.subarray(0,32)}}class CipherTransform{constructor(e,t){this.StringCipherConstructor=e;this.StreamCipherConstructor=t}createStream(e,t){const r=new this.StreamCipherConstructor;return new DecryptStream(e,t,(function cipherTransformDecryptStream(e,t){return r.decryptBlock(e,t)}))}decryptString(e){const t=new this.StringCipherConstructor;let r=stringToBytes(e);r=t.decryptBlock(r,!0);return bytesToString(r)}encryptString(e){const t=new this.StringCipherConstructor;if(t instanceof AESBaseCipher){const r=16-e.length%16;e+=String.fromCharCode(r).repeat(r);const a=new Uint8Array(16);crypto.getRandomValues(a);let n=stringToBytes(e);n=t.encrypt(n,a);const i=new Uint8Array(16+n.length);i.set(a);i.set(n,16);return bytesToString(i)}let r=stringToBytes(e);r=t.encrypt(r);return bytesToString(r)}}var xl=new WeakSet;class CipherTransformFactory{static get _defaultPasswordBytes(){return shadow(this,"_defaultPasswordBytes",new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]))}constructor(e,t,r){crypto_classPrivateMethodInitSpec(this,xl);const a=e.get("Filter");if(!isName(a,"Standard"))throw new FormatError("unknown encryption method");this.filterName=a.name;this.dict=e;const n=e.get("V");if(!Number.isInteger(n)||1!==n&&2!==n&&4!==n&&5!==n)throw new FormatError("unsupported encryption algorithm");this.algorithm=n;let i=e.get("Length");if(!i)if(n<=3)i=40;else{const t=e.get("CF"),r=e.get("StmF");if(t instanceof Dict&&r instanceof Name){t.suppressEncryption=!0;const e=t.get(r.name);i=e?.get("Length")||128;i<40&&(i<<=3)}}if(!Number.isInteger(i)||i<40||i%8!=0)throw new FormatError("invalid key length");const s=stringToBytes(e.get("O")),o=stringToBytes(e.get("U")),c=s.subarray(0,32),l=o.subarray(0,32),h=e.get("P"),u=e.get("R"),d=(4===n||5===n)&&!1!==e.get("EncryptMetadata");this.encryptMetadata=d;const f=stringToBytes(t);let g,p;if(r){if(6===u)try{r=utf8StringToString(r)}catch{warn("CipherTransformFactory: Unable to convert UTF8 encoded password.")}g=stringToBytes(r)}if(5!==n)p=crypto_assertClassBrand(xl,this,_prepareKeyData).call(this,f,g,c,l,h,u,i,d);else{const t=s.subarray(32,40),r=s.subarray(40,48),a=o.subarray(0,48),n=o.subarray(32,40),i=o.subarray(40,48),h=stringToBytes(e.get("OE")),d=stringToBytes(e.get("UE")),f=stringToBytes(e.get("Perms"));p=crypto_assertClassBrand(xl,this,_createEncryptionKey).call(this,u,g,c,t,r,a,l,n,i,h,d,f)}if(!p){if(!r)throw new PasswordException("No password given",pr);const e=crypto_assertClassBrand(xl,this,_decodeUserPassword).call(this,g,c,u,i);p=crypto_assertClassBrand(xl,this,_prepareKeyData).call(this,f,e,c,l,h,u,i,d)}if(!p)throw new PasswordException("Incorrect Password",mr);if(4===n&&p.length<16){this.encryptionKey=new Uint8Array(16);this.encryptionKey.set(p)}else this.encryptionKey=p;if(n>=4){const t=e.get("CF");t instanceof Dict&&(t.suppressEncryption=!0);this.cf=t;this.stmf=e.get("StmF")||Name.get("Identity");this.strf=e.get("StrF")||Name.get("Identity");this.eff=e.get("EFF")||this.stmf}}createCipherTransform(e,t){if(4===this.algorithm||5===this.algorithm)return new CipherTransform(crypto_assertClassBrand(xl,this,_buildCipherConstructor).call(this,this.cf,this.strf,e,t,this.encryptionKey),crypto_assertClassBrand(xl,this,_buildCipherConstructor).call(this,this.cf,this.stmf,e,t,this.encryptionKey));const r=crypto_assertClassBrand(xl,this,_buildObjectKey).call(this,e,t,this.encryptionKey,!1),cipherConstructor=function(){return new ARCFourCipher(r)};return new CipherTransform(cipherConstructor,cipherConstructor)}}vl=CipherTransformFactory;function _createEncryptionKey(e,t,r,a,n,i,s,o,c,l,h,u){if(t){const e=Math.min(127,t.length);t=t.subarray(0,e)}else t=[];const d=6===e?new PDF20:new PDF17;return d.checkUserPassword(t,o,s)?d.getUserKey(t,c,h):t.length&&d.checkOwnerPassword(t,a,i,r)?d.getOwnerKey(t,n,i,l):null}function _prepareKeyData(e,t,r,a,n,i,s,o){const c=40+r.length+e.length,l=new Uint8Array(c);let h,u,d=0;if(t){u=Math.min(32,t.length);for(;d>8&255;l[d++]=n>>16&255;l[d++]=n>>>24&255;l.set(e,d);d+=e.length;if(i>=4&&!o){l.fill(255,d,d+4);d+=4}let f=calculateMD5(l,0,d);const g=s>>3;if(i>=3)for(h=0;h<50;++h)f=calculateMD5(f,0,g);const p=f.subarray(0,g);let m,b;if(i>=3){d=0;l.set(vl._defaultPasswordBytes,d);d+=32;l.set(e,d);d+=e.length;m=new ARCFourCipher(p);b=m.encryptBlock(calculateMD5(l,0,d));u=p.length;const t=new Uint8Array(u);for(h=1;h<=19;++h){for(let e=0;ea[t]===e))?p:null}function _decodeUserPassword(e,t,r,a){const n=new Uint8Array(32);let i=0;const s=Math.min(32,e.length);for(;i>3;if(r>=3)for(o=0;o<50;++o)c=calculateMD5(c,0,c.length);let h,u;if(r>=3){u=t;const e=new Uint8Array(l);for(o=19;o>=0;o--){for(let t=0;t3&&void 0!==arguments[3]&&arguments[3];const n=r.length,i=new Uint8Array(n+9);i.set(r);let s=n;i[s++]=255&e;i[s++]=e>>8&255;i[s++]=e>>16&255;i[s++]=255&t;i[s++]=t>>8&255;if(a){i[s++]=115;i[s++]=65;i[s++]=108;i[s++]=84}return calculateMD5(i,0,s).subarray(0,Math.min(n+5,16))}function _buildCipherConstructor(e,t,r,a,n){if(!(t instanceof Name))throw new FormatError("Invalid crypt filter name.");const i=this,s=e.get(t.name),o=s?.get("CFM");if(!o||"None"===o.name)return function(){return new NullCipher};if("V2"===o.name)return function(){return new ARCFourCipher(crypto_assertClassBrand(xl,i,_buildObjectKey).call(i,r,a,n,!1))};if("AESV2"===o.name)return function(){return new AES128Cipher(crypto_assertClassBrand(xl,i,_buildObjectKey).call(i,r,a,n,!0))};if("AESV3"===o.name)return function(){return new AES256Cipher(n)};throw new FormatError("Unknown crypto method")}function xref_classPrivateFieldInitSpec(e,t,r){(function xref_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,r)}function xref_classPrivateFieldGet(e,t){return e.get(xref_assertClassBrand(e,t))}function xref_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}var Sl=new WeakMap;class XRef{constructor(e,t){xref_classPrivateFieldInitSpec(this,Sl,null);this.stream=e;this.pdfManager=t;this.entries=[];this._xrefStms=new Set;this._cacheMap=new Map;this._pendingRefs=new RefSet;this._newPersistentRefNum=null;this._newTemporaryRefNum=null;this._persistentRefsCache=null}getNewPersistentRef(e){null===this._newPersistentRefNum&&(this._newPersistentRefNum=this.entries.length||1);const t=this._newPersistentRefNum++;this._cacheMap.set(t,e);return Ref.get(t,0)}getNewTemporaryRef(){if(null===this._newTemporaryRefNum){this._newTemporaryRefNum=this.entries.length||1;if(this._newPersistentRefNum){this._persistentRefsCache=new Map;for(let e=this._newTemporaryRefNum;e0&&void 0!==arguments[0]&&arguments[0];if(a){warn("Indexing all PDF objects");e=this.indexObjects()}else e=this.readXRef();e.assignXref(this);this.trailer=e;try{t=e.get("Encrypt")}catch(e){if(e instanceof MissingDataException)throw e;warn(`XRef.parse - Invalid "Encrypt" reference: "${e}".`)}if(t instanceof Dict){const r=e.get("ID"),a=r?.length?r[0]:"";t.suppressEncryption=!0;this.encrypt=new CipherTransformFactory(t,a,this.pdfManager.password)}try{r=e.get("Root")}catch(e){if(e instanceof MissingDataException)throw e;warn(`XRef.parse - Invalid "Root" reference: "${e}".`)}if(r instanceof Dict)try{if(r.get("Pages")instanceof Dict){this.root=r;return}}catch(e){if(e instanceof MissingDataException)throw e;warn(`XRef.parse - Invalid "Pages" reference: "${e}".`)}if(!a)throw new XRefParseException;throw new InvalidPDFException("Invalid Root reference.")}processXRefTable(e){"tableState"in this||(this.tableState={entryNum:0,streamPos:e.lexer.stream.pos,parserBuf1:e.buf1,parserBuf2:e.buf2});if(!isCmd(this.readXRefTable(e),"trailer"))throw new FormatError("Invalid XRef table: could not find trailer dictionary");let t=e.getObj();t instanceof Dict||!t.dict||(t=t.dict);if(!(t instanceof Dict))throw new FormatError("Invalid XRef table: could not parse trailer dictionary");delete this.tableState;return t}readXRefTable(e){const t=e.lexer.stream,r=this.tableState;t.pos=r.streamPos;e.buf1=r.parserBuf1;e.buf2=r.parserBuf2;let a;for(;;){if(!("firstEntryNum"in r)||!("entryCount"in r)){if(isCmd(a=e.getObj(),"trailer"))break;r.firstEntryNum=a;r.entryCount=e.getObj()}let n=r.firstEntryNum;const i=r.entryCount;if(!Number.isInteger(n)||!Number.isInteger(i))throw new FormatError("Invalid XRef table: wrong types in subsection header");for(let a=r.entryNum;a0;){const[s,o]=i;if(!Number.isInteger(s)||!Number.isInteger(o))throw new FormatError(`Invalid XRef range fields: ${s}, ${o}`);if(!Number.isInteger(r)||!Number.isInteger(a)||!Number.isInteger(n))throw new FormatError(`Invalid XRef entry fields length: ${s}, ${o}`);for(let i=t.entryNum;i=e.length);){r+=String.fromCharCode(a);a=e[t]}return r}function skipUntil(e,t,r){const a=r.length,n=e.length;let i=0;for(;t=a)break;t++;i++}return i}const e=/\b(endobj|\d+\s+\d+\s+obj|xref|trailer\s*<<)\b/g,t=/\b(startxref|\d+\s+\d+\s+obj)\b/g,r=/^(\d+)\s+(\d+)\s+obj\b/,a=new Uint8Array([116,114,97,105,108,101,114]),n=new Uint8Array([115,116,97,114,116,120,114,101,102]),i=new Uint8Array([47,88,82,101,102]);this.entries.length=0;this._cacheMap.clear();const s=this.stream;s.pos=0;const o=s.getBytes(),c=bytesToString(o),l=o.length;let h=s.start;const u=[],d=[];for(;h=l)break;f=o[h]}while(10!==f&&13!==f);continue}const g=readToken(o,h);let p;if(g.startsWith("xref")&&(4===g.length||/\s/.test(g[4]))){h+=skipUntil(o,h,a);u.push(h);h+=skipUntil(o,h,n)}else if(p=r.exec(g)){const t=0|p[1],r=0|p[2],a=h+g.length;let n,u=!1;if(this.entries[t]){if(this.entries[t].gen===r)try{new Parser({lexer:new Lexer(s.makeSubStream(a))}).getObj();u=!0}catch(e){e instanceof ParserEOFException?warn(`indexObjects -- checking object (${g}): "${e}".`):u=!0}}else u=!0;u&&(this.entries[t]={offset:h-s.start,gen:r,uncompressed:!0});e.lastIndex=a;const f=e.exec(c);if(f){n=e.lastIndex+1-h;if("endobj"!==f[1]){warn(`indexObjects: Found "${f[1]}" inside of another "obj", caused by missing "endobj" -- trying to recover.`);n-=f[1].length+1}}else n=l-h;const m=o.subarray(h,h+n),b=skipUntil(m,0,i);if(b0&&void 0!==arguments[0]&&arguments[0];const t=this.stream,r=new Set;for(;this.startXRefQueue.length;){try{const e=this.startXRefQueue[0];if(r.has(e)){warn("readXRef - skipping XRef table since it was already parsed.");this.startXRefQueue.shift();continue}r.add(e);t.pos=e+t.start;const s=new Parser({lexer:new Lexer(t),xref:this,allowStreams:!0});let o,c=s.getObj();if(isCmd(c,"xref")){o=this.processXRefTable(s);this.topDict||(this.topDict=o);c=o.get("XRefStm");if(Number.isInteger(c)&&!this._xrefStms.has(c)){this._xrefStms.add(c);this.startXRefQueue.push(c);xref_classPrivateFieldGet(Sl,this)??(n=this,i=c,(a=Sl).set(xref_assertClassBrand(a,n),i))}}else{if(!Number.isInteger(c))throw new FormatError("Invalid XRef stream header");if(!(Number.isInteger(s.getObj())&&isCmd(s.getObj(),"obj")&&(c=s.getObj())instanceof BaseStream))throw new FormatError("Invalid XRef stream");o=this.processXRefStream(c);this.topDict||(this.topDict=o);if(!o)throw new FormatError("Failed to read XRef stream")}c=o.get("Prev");Number.isInteger(c)?this.startXRefQueue.push(c):c instanceof Ref&&this.startXRefQueue.push(c.num)}catch(e){if(e instanceof MissingDataException)throw e;info("(while reading XRef): "+e)}this.startXRefQueue.shift()}var a,n,i;if(this.topDict)return this.topDict;if(!e)throw new XRefParseException}get lastXRefStreamPos(){return xref_classPrivateFieldGet(Sl,this)??(this._xrefStms.size>0?Math.max(...this._xrefStms):null)}getEntry(e){const t=this.entries[e];return t&&!t.free&&t.offset?t:null}fetchIfRef(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e instanceof Ref?this.fetch(e,t):e}fetch(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!(e instanceof Ref))throw new Error("ref object is not a reference");const r=e.num,a=this._cacheMap.get(r);if(void 0!==a){a instanceof Dict&&!a.objId&&(a.objId=e.toString());return a}let n=this.getEntry(r);if(null===n)return n;if(this._pendingRefs.has(e)){this._pendingRefs.remove(e);warn(`Ignoring circular reference: ${e}.`);return kr}this._pendingRefs.put(e);try{n=n.uncompressed?this.fetchUncompressed(e,n,t):this.fetchCompressed(e,n,t);this._pendingRefs.remove(e)}catch(t){this._pendingRefs.remove(e);throw t}n instanceof Dict?n.objId=e.toString():n instanceof BaseStream&&(n.dict.objId=e.toString());return n}fetchUncompressed(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const a=e.gen;let n=e.num;if(t.gen!==a){const i=`Inconsistent generation in XRef: ${e}`;if(this._generationFallback&&t.gen0?e:1)}get view(){const{cropBox:e,mediaBox:t}=this;if(e!==t&&!isArrayEqual(e,t)){const r=Util.intersect(e,t);if(r&&r[2]-r[0]>0&&r[3]-r[1]>0)return shadow(this,"view",r);warn("Empty /CropBox and /MediaBox intersection.")}return shadow(this,"view",t)}get rotate(){let e=document_assertClassBrand(Cl,this,_getInheritableProperty).call(this,"Rotate")||0;e%90!=0?e=0:e>=360?e%=360:e<0&&(e=(e%360+360)%360);return shadow(this,"rotate",e)}async getContentStream(){const e=await this.pdfManager.ensure(this,"content");return e instanceof BaseStream?e:Array.isArray(e)?new StreamsSequenceStream(e,document_assertClassBrand(Cl,this,_onSubStreamError).bind(this)):new NullStream}get xfaData(){return shadow(this,"xfaData",this.xfaFactory?{bbox:this.xfaFactory.getBoundingBox(this.pageIndex)}:null)}async saveNewAnnotations(e,t,r,a,n){if(this.xfaFactory)throw new Error("XFA: Cannot save new annotations.");const i=document_assertClassBrand(Cl,this,_createPartialEvaluator).call(this,e),s=new RefSetCache,o=new RefSet;await document_assertClassBrand(Cl,this,_replaceIdByRef).call(this,r,s,o);const c=this.pageDict,l=this.annotations.filter((e=>!(e instanceof Ref&&s.has(e)))),h=await AnnotationFactory.saveNewAnnotations(i,t,r,a,n);for(const{ref:e}of h.annotations)e instanceof Ref&&!o.has(e)&&l.push(e);const u=c.clone();u.set("Annots",l);n.put(this.ref,{data:u});for(const e of s)n.put(e,{data:null})}async save(e,t,r,a){const n=document_assertClassBrand(Cl,this,_createPartialEvaluator).call(this,e),i=await this._parsedAnnotations,s=[];for(const e of i)s.push(e.save(n,t,r,a).catch((function(e){warn(`save - ignoring annotation data during "${t.name}" task: "${e}".`);return null})));return Promise.all(s)}async loadResources(e){await(document_classPrivateFieldGet(Al,this)??document_classPrivateFieldSet(Al,this,this.pdfManager.ensure(this,"resources")));await ObjectLoader.load(this.resources,e,this.xref)}async getOperatorList(e){let{handler:t,sink:r,task:a,intent:n,cacheKey:i,annotationStorage:s=null,modifiedIds:o=null}=e;const u=this.getContentStream(),p=this.loadResources(Rr),b=document_assertClassBrand(Cl,this,_createPartialEvaluator).call(this,t),y=this.xfaFactory?null:getNewAnnotationsMap(s),w=y?.get(this.pageIndex);let v=Promise.resolve(null),x=null;if(w){const e=this.pdfManager.ensureDoc("annotationGlobals");let t;const r=new Set;for(const{bitmapId:e,bitmap:t}of w)!e||t||r.has(e)||r.add(e);const{isOffscreenCanvasSupported:n}=this.evaluatorOptions;if(r.size>0){const e=w.slice();for(const[t,a]of s)t.startsWith(m)&&a.bitmap&&r.has(a.bitmapId)&&e.push(a);t=AnnotationFactory.generateImages(e,this.xref,n)}else t=AnnotationFactory.generateImages(w,this.xref,n);x=new RefSet;v=Promise.all([e,document_assertClassBrand(Cl,this,_replaceIdByRef).call(this,w,x,null)]).then((e=>{let[r]=e;return r?AnnotationFactory.printNewAnnotations(r,b,a,w,t):null}))}const S=Promise.all([u,p]).then((async e=>{let[s]=e;const o=await document_assertClassBrand(Cl,this,_getMergedResources).call(this,s.dict,Rr),c=new OperatorList(n,r);t.send("StartRenderPage",{transparency:b.hasBlendModes(o,this.nonBlendModesSet),pageIndex:this.pageIndex,cacheKey:i});await b.getOperatorList({stream:s,task:a,resources:o,operatorList:c});return c}));let[k,C,T]=await Promise.all([S,this._parsedAnnotations,v]);if(T){C=C.filter((e=>!(e.ref&&x.has(e.ref))));for(let e=0,t=T.length;ee.ref&&isRefsEqual(e.ref,r.refToReplace)));if(a>=0){C.splice(a,1,r);T.splice(e--,1);t--}}}C=C.concat(T)}if(0===C.length||n&f){k.flush(!0);return{length:k.totalLength}}const _=!!(n&d),O=!!(n&g),M=!!(n&c),R=!!(n&l),D=!!(n&h),E=[];for(const e of C)(M||R&&e.mustBeViewed(s,_)&&e.mustBeViewedWhenEditing(O,o)||D&&e.mustBePrinted(s))&&E.push(e.getOperatorList(b,a,n,s).catch((function(e){warn(`getOperatorList - ignoring annotation data during "${a.name}" task: "${e}".`);return{opList:null,separateForm:!1,separateCanvas:!1}})));const N=await Promise.all(E);let j=!1,L=!1;for(const{opList:e,separateForm:t,separateCanvas:r}of N){k.addOpList(e);j||=t;L||=r}k.flush(!0,{form:j,canvas:L});return{length:k.totalLength}}async extractTextContent(e){let{handler:t,task:r,includeMarkedContent:a,disableNormalization:n,sink:i,includeChars:s}=e;const o=this.getContentStream(),c=this.loadResources(Pr),l=this.pdfManager.ensureCatalog("lang"),[h,,u]=await Promise.all([o,c,l]),d=await document_assertClassBrand(Cl,this,_getMergedResources).call(this,h.dict,Pr);return document_assertClassBrand(Cl,this,_createPartialEvaluator).call(this,t).getTextContent({stream:h,task:r,resources:d,includeMarkedContent:a,disableNormalization:n,sink:i,viewBox:this.view,lang:u,includeChars:s})}async getStructTree(){const e=await this.pdfManager.ensureCatalog("structTreeRoot");if(!e)return null;await this._parsedAnnotations;try{const t=await this.pdfManager.ensure(this,"_parseStructTree",[e]);return await this.pdfManager.ensure(t,"serializable")}catch(e){warn(`getStructTree: "${e}".`);return null}}_parseStructTree(e){const t=new StructTreePage(e,this.pageDict);t.parse(this.ref);return t}async getAnnotationsData(e,t,r){const a=await this._parsedAnnotations;if(0===a.length)return a;const n=[],i=[];let s;const o=!!(r&c),u=!!(r&l),d=!!(r&h);for(const r of a){const a=o||u&&r.viewable;(a||d&&r.printable)&&n.push(r.data);if(r.hasTextContent&&a){s??=document_assertClassBrand(Cl,this,_createPartialEvaluator).call(this,e);i.push(r.extractTextContent(s,t,[-1/0,-1/0,1/0,1/0]).catch((function(e){warn(`getAnnotationsData - ignoring textContent during "${t.name}" task: "${e}".`)})))}}await Promise.all(i);return n}get annotations(){const e=document_assertClassBrand(Cl,this,_getInheritableProperty).call(this,"Annots");return shadow(this,"annotations",Array.isArray(e)?e:[])}get _parsedAnnotations(){return shadow(this,"_parsedAnnotations",this.pdfManager.ensure(this,"annotations").then((async e=>{if(0===e.length)return e;const[t,r]=await Promise.all([this.pdfManager.ensureDoc("annotationGlobals"),this.pdfManager.ensureDoc("fieldObjects")]);if(!t)return[];const a=r?.orphanFields,n=[];for(const r of e)n.push(AnnotationFactory.create(this.xref,r,t,this._localIdFactory,!1,a,this.ref).catch((function(e){warn(`_parsedAnnotations: "${e}".`);return null})));const i=[];let s,o;for(const e of await Promise.all(n))e&&(e instanceof WidgetAnnotation?(o||=[]).push(e):e instanceof PopupAnnotation?(s||=[]).push(e):i.push(e));o&&i.push(...o);s&&i.push(...s);return i})))}get jsActions(){return shadow(this,"jsActions",collectActions(this.xref,this.pageDict,Ae))}}function _createPartialEvaluator(e){return new PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalColorSpaceCache:this.globalColorSpaceCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions})}function _getInheritableProperty(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=getInheritableProperty({dict:this.pageDict,key:e,getArray:t,stopWhenFound:!1});return Array.isArray(r)?1!==r.length&&r[0]instanceof Dict?Dict.merge({xref:this.xref,dictArray:r}):r[0]:r}function _getBoundingBox(e){if(this.xfaData)return this.xfaData.bbox;const t=lookupNormalRect(document_assertClassBrand(Cl,this,_getInheritableProperty).call(this,e,!0),null);if(t){if(t[2]-t[0]>0&&t[3]-t[1]>0)return t;warn(`Empty, or invalid, /${e} entry.`)}return null}function _onSubStreamError(e,t){if(!this.evaluatorOptions.ignoreErrors)throw e;warn(`getContentStream - ignoring sub-stream (${t}): "${e}".`)}async function _replaceIdByRef(e,t,r){const a=[];for(const n of e)if(n.id){const e=Ref.fromString(n.id);if(!e){warn(`A non-linked annotation cannot be modified: ${n.id}`);continue}if(n.deleted){t.put(e,e);if(n.popupRef){const e=Ref.fromString(n.popupRef);e&&t.put(e,e)}continue}r?.put(e);n.ref=e;a.push(this.xref.fetchAsync(e).then((e=>{e instanceof Dict&&(n.oldAnnotation=e.clone())}),(()=>{warn(`Cannot fetch \`oldAnnotation\` for: ${e}.`)})));delete n.id}await Promise.all(a)}async function _getMergedResources(e,t){const r=e?.get("Resources");if(!(r instanceof Dict&&r.size))return this.resources;await ObjectLoader.load(r,t,this.xref);return Dict.merge({xref:this.xref,dictArray:[r,this.resources],mergeSubDicts:!0})}const Fl=new Uint8Array([37,80,68,70,45]),Il=new Uint8Array([115,116,97,114,116,120,114,101,102]),Tl=new Uint8Array([101,110,100,111,98,106]);function find(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1024,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=t.length,i=e.peekBytes(r),s=i.length-n;if(s<=0)return!1;if(a){const r=n-1;let a=i.length-1;for(;a>=r;){let s=0;for(;s=n){e.pos+=a-r;return!0}a--}}else{let r=0;for(;r<=s;){let a=0;for(;a=n){e.pos+=r;return!0}r++}}return!1}var _l=new WeakMap,Bl=new WeakMap,Ml=new WeakSet;class PDFDocument{constructor(e,t){document_classPrivateMethodInitSpec(this,Ml);document_classPrivateFieldInitSpec(this,_l,new Map);document_classPrivateFieldInitSpec(this,Bl,null);if(t.length<=0)throw new InvalidPDFException("The PDF file is empty, i.e. its size is zero bytes.");this.pdfManager=e;this.stream=t;this.xref=new XRef(t,e);const r={font:0};this._globalIdFactory=class{static getDocId(){return`g_${e.docId}`}static createFontId(){return"f"+ ++r.font}static createObjId(){unreachable("Abstract method `createObjId` called.")}static getPageObjId(){unreachable("Abstract method `getPageObjId` called.")}}}parse(e){this.xref.parse(e);this.catalog=new Catalog(this.pdfManager,this.xref)}get linearization(){let e=null;try{e=Linearization.create(this.stream)}catch(e){if(e instanceof MissingDataException)throw e;info(e)}return shadow(this,"linearization",e)}get startXRef(){const e=this.stream;let t=0;if(this.linearization){e.reset();if(find(e,Tl)){e.skip(6);let r=e.peekByte();for(;isWhiteSpace(r);){e.pos++;r=e.peekByte()}t=e.pos-e.start}}else{const r=1024,a=Il.length;let n=!1,i=e.end;for(;!n&&i>0;){i-=r-a;i<0&&(i=0);e.pos=i;n=find(e,Il,r,!0)}if(n){e.skip(9);let r;do{r=e.getByte()}while(isWhiteSpace(r));let a="";for(;r>=32&&r<=57;){a+=String.fromCharCode(r);r=e.getByte()}t=parseInt(a,10);isNaN(t)&&(t=0)}}return shadow(this,"startXRef",t)}checkHeader(){const e=this.stream;e.reset();if(!find(e,Fl))return;e.moveStart();e.skip(Fl.length);let t,r="";for(;(t=e.getByte())>32&&r.length<7;)r+=String.fromCharCode(t);_r.test(r)?document_classPrivateFieldSet(Bl,this,r):warn(`Invalid PDF header version: ${r}`)}parseStartXRef(){this.xref.setStartXRef(this.startXRef)}get numPages(){let e=0;e=this.catalog.hasActualNumPages?this.catalog.numPages:this.xfaFactory?this.xfaFactory.getNumPages():this.linearization?this.linearization.numPages:this.catalog.numPages;return shadow(this,"numPages",e)}get _xfaStreams(){const{acroForm:e}=this.catalog;if(!e)return null;const t=e.get("XFA"),r=new Map(["xdp:xdp","template","datasets","config","connectionSet","localeSet","stylesheet","/xdp:xdp"].map((e=>[e,null])));if(t instanceof BaseStream&&!t.isEmpty){r.set("xdp:xdp",t);return r}if(!Array.isArray(t)||0===t.length)return null;for(let e=0,a=t.length;e{})),document_assertClassBrand(Ml,this,_loadXfaImages).call(this)])}serializeXfaData(e){return this.xfaFactory?this.xfaFactory.serializeData(e):null}get version(){return this.catalog.version||document_classPrivateFieldGet(Bl,this)}get formInfo(){const e={hasFields:!1,hasAcroForm:!1,hasXfa:!1,hasSignatures:!1},{acroForm:t}=this.catalog;if(!t)return shadow(this,"formInfo",e);try{const r=t.get("Fields"),a=Array.isArray(r)&&r.length>0;e.hasFields=a;const n=t.get("XFA");e.hasXfa=Array.isArray(n)&&n.length>0||n instanceof BaseStream&&!n.isEmpty;const i=!!(1&t.get("SigFlags")),s=i&&document_assertClassBrand(Ml,this,_hasOnlyDocumentSignatures).call(this,r);e.hasAcroForm=a&&!s;e.hasSignatures=i}catch(e){if(e instanceof MissingDataException)throw e;warn(`Cannot fetch form information: "${e}".`)}return shadow(this,"formInfo",e)}get documentInfo(){const{catalog:e,formInfo:t,xref:r}=this,a={PDFFormatVersion:this.version,Language:e.lang,EncryptFilterName:r.encrypt?.filterName??null,IsLinearized:!!this.linearization,IsAcroFormPresent:t.hasAcroForm,IsXFAPresent:t.hasXfa,IsCollectionPresent:!!e.collection,IsSignaturesPresent:t.hasSignatures};let n;try{n=r.trailer.get("Info")}catch(e){if(e instanceof MissingDataException)throw e;info("The document information dictionary is invalid.")}if(!(n instanceof Dict))return shadow(this,"documentInfo",a);for(const[e,t]of n){switch(e){case"Title":case"Author":case"Subject":case"Keywords":case"Creator":case"Producer":case"CreationDate":case"ModDate":if("string"==typeof t){a[e]=stringToPDFString(t);continue}break;case"Trapped":if(t instanceof Name){a[e]=t;continue}break;default:let r;switch(typeof t){case"string":r=stringToPDFString(t);break;case"number":case"boolean":r=t;break;default:t instanceof Name&&(r=t)}if(void 0===r){warn(`Bad value, for custom key "${e}", in Info: ${t}.`);continue}a.Custom??=Object.create(null);a.Custom[e]=r;continue}warn(`Bad value, for key "${e}", in Info: ${t}.`)}return shadow(this,"documentInfo",a)}get fingerprints(){const e="\0".repeat(16);function validate(t){return"string"==typeof t&&16===t.length&&t!==e}const t=this.xref.trailer.get("ID");let r,a;if(Array.isArray(t)&&validate(t[0])){r=stringToBytes(t[0]);t[1]!==t[0]&&validate(t[1])&&(a=stringToBytes(t[1]))}else r=calculateMD5(this.stream.getByteRange(0,1024),0,1024);return shadow(this,"fingerprints",[toHexUtil(r),a?toHexUtil(a):null])}getPage(e){const t=document_classPrivateFieldGet(_l,this).get(e);if(t)return t;const{catalog:r,linearization:a,xfaFactory:n}=this;let i;i=n?Promise.resolve([Dict.empty,null]):a?.pageFirst===e?document_assertClassBrand(Ml,this,_getLinearizationPage).call(this,e):r.getPageDict(e);i=i.then((t=>{let[a,i]=t;return new Page({pdfManager:this.pdfManager,xref:this.xref,pageIndex:e,pageDict:a,ref:i,globalIdFactory:this._globalIdFactory,fontCache:r.fontCache,builtInCMapCache:r.builtInCMapCache,standardFontDataCache:r.standardFontDataCache,globalColorSpaceCache:r.globalColorSpaceCache,globalImageCache:r.globalImageCache,systemFontCache:r.systemFontCache,nonBlendModesSet:r.nonBlendModesSet,xfaFactory:n})}));document_classPrivateFieldGet(_l,this).set(e,i);return i}async checkFirstPage(){if(!(arguments.length>0&&void 0!==arguments[0]&&arguments[0]))try{await this.getPage(0)}catch(e){if(e instanceof XRefEntryException){document_classPrivateFieldGet(_l,this).delete(0);await this.cleanup();throw new XRefParseException}}}async checkLastPage(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const{catalog:t,pdfManager:r}=this;t.setActualNumPages();let a;try{await Promise.all([r.ensureDoc("xfaFactory"),r.ensureDoc("linearization"),r.ensureCatalog("numPages")]);if(this.xfaFactory)return;a=this.linearization?this.linearization.numPages:t.numPages;if(!Number.isInteger(a))throw new FormatError("Page count is not an integer.");if(a<=1)return;await this.getPage(a-1)}catch(n){document_classPrivateFieldGet(_l,this).delete(a-1);await this.cleanup();if(n instanceof XRefEntryException&&!e)throw new XRefParseException;warn(`checkLastPage - invalid /Pages tree /Count: ${a}.`);let i;try{i=await t.getAllPageDicts(e)}catch(r){if(r instanceof XRefEntryException&&!e)throw new XRefParseException;t.setActualNumPages(1);return}for(const[e,[a,n]]of i){let i;if(a instanceof Error){i=Promise.reject(a);i.catch((()=>{}))}else i=Promise.resolve(new Page({pdfManager:r,xref:this.xref,pageIndex:e,pageDict:a,ref:n,globalIdFactory:this._globalIdFactory,fontCache:t.fontCache,builtInCMapCache:t.builtInCMapCache,standardFontDataCache:t.standardFontDataCache,globalColorSpaceCache:this.globalColorSpaceCache,globalImageCache:t.globalImageCache,systemFontCache:t.systemFontCache,nonBlendModesSet:t.nonBlendModesSet,xfaFactory:null}));document_classPrivateFieldGet(_l,this).set(e,i)}t.setActualNumPages(i.size)}}async fontFallback(e,t){const{catalog:r,pdfManager:a}=this;for(const n of await Promise.all(r.fontCache))if(n.loadedName===e){n.fallback(t,a.evaluatorOptions);return}}async cleanup(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.catalog?this.catalog.cleanup(e):clearGlobalCaches()}get fieldObjects(){return shadow(this,"fieldObjects",this.pdfManager.ensureDoc("formInfo").then((async e=>{if(!e.hasFields)return null;const t=await this.annotationGlobals;if(!t)return null;const{acroForm:r}=t,a=new RefSet,n=Object.create(null),i=new Map,s=new RefSetCache;for(const e of r.get("Fields"))await document_assertClassBrand(Ml,this,_collectFieldObjects).call(this,"",null,e,i,t,a,s);const o=[];for(const[e,t]of i)o.push(Promise.all(t).then((t=>{(t=t.filter((e=>!!e))).length>0&&(n[e]=t)})));await Promise.all(o);return{allFields:objectSize(n)>0?n:null,orphanFields:s}})))}get hasJSActions(){return shadow(this,"hasJSActions",this.pdfManager.ensureDoc("_parseHasJSActions"))}async _parseHasJSActions(){const[e,t]=await Promise.all([this.pdfManager.ensureCatalog("jsActions"),this.pdfManager.ensureDoc("fieldObjects")]);return!!e||!!t?.allFields&&Object.values(t.allFields).some((e=>e.some((e=>null!==e.actions))))}get calculationOrderIds(){const e=this.catalog.acroForm?.get("CO");if(!Array.isArray(e)||0===e.length)return shadow(this,"calculationOrderIds",null);const t=[];for(const r of e)r instanceof Ref&&t.push(r.toString());return shadow(this,"calculationOrderIds",t.length?t:null)}get annotationGlobals(){return shadow(this,"annotationGlobals",AnnotationFactory.createGlobals(this.pdfManager))}}function _hasOnlyDocumentSignatures(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return!!Array.isArray(e)&&e.every((e=>{if(!((e=this.xref.fetchIfRef(e))instanceof Dict))return!1;if(e.has("Kids")){if(++t>10){warn("#hasOnlyDocumentSignatures: maximum recursion depth reached");return!1}return document_assertClassBrand(Ml,this,_hasOnlyDocumentSignatures).call(this,e.get("Kids"),t)}const r=isName(e.get("FT"),"Sig"),a=e.get("Rect"),n=Array.isArray(a)&&a.every((e=>0===e));return r&&n}))}async function _loadXfaImages(){const e=await this.pdfManager.ensureCatalog("xfaImages");e&&this.xfaFactory.setImages(e)}async function _loadXfaFonts(e,t){const r=await this.pdfManager.ensureCatalog("acroForm");if(!r)return;const a=await r.getAsync("DR");if(!(a instanceof Dict))return;await ObjectLoader.load(a,["Font"],this.xref);const n=a.get("Font");if(!(n instanceof Dict))return;const i=Object.assign(Object.create(null),this.pdfManager.evaluatorOptions,{useSystemFonts:!1}),{builtInCMapCache:s,fontCache:o,standardFontDataCache:c}=this.catalog,l=new PartialEvaluator({xref:this.xref,handler:e,pageIndex:-1,idFactory:this._globalIdFactory,fontCache:o,builtInCMapCache:s,standardFontDataCache:c,options:i}),h=new OperatorList,u=[],d={get font(){return u.at(-1)},set font(e){u.push(e)},clone(){return this}},parseFont=(e,r,n)=>l.handleSetFont(a,[Name.get(e),1],null,h,t,d,r,n).catch((e=>{warn(`loadXfaFonts: "${e}".`);return null})),f=[];for(const[e,t]of n){const r=t.get("FontDescriptor");if(!(r instanceof Dict))continue;let a=r.get("FontFamily");a=a.replaceAll(/[ ]+(\d)/g,"$1");const n={fontFamily:a,fontWeight:r.get("FontWeight"),italicAngle:-r.get("ItalicAngle")};validateCSSFont(n)&&f.push(parseFont(e,null,n))}await Promise.all(f);const g=this.xfaFactory.setFonts(u);if(!g)return;i.ignoreErrors=!0;f.length=0;u.length=0;const p=new Set;for(const e of g)getXfaFontName(`${e}-Regular`)||p.add(e);p.size&&g.push("PdfJS-Fallback");for(const e of g)if(!p.has(e))for(const t of[{name:"Regular",fontWeight:400,italicAngle:0},{name:"Bold",fontWeight:700,italicAngle:0},{name:"Italic",fontWeight:400,italicAngle:12},{name:"BoldItalic",fontWeight:700,italicAngle:12}]){const r=`${e}-${t.name}`;f.push(parseFont(r,getXfaFontDict(r),{fontFamily:e,fontWeight:t.fontWeight,italicAngle:t.italicAngle}))}await Promise.all(f);this.xfaFactory.appendFonts(u,p)}async function _getLinearizationPage(e){const{catalog:t,linearization:r,xref:a}=this,n=Ref.get(r.objectNumberFirst,0);try{const e=await a.fetchAsync(n);if(e instanceof Dict){let r=e.getRaw("Type");r instanceof Ref&&(r=await a.fetchAsync(r));if(isName(r,"Page")||!e.has("Type")&&!e.has("Kids")&&e.has("Contents")){t.pageKidsCountCache.has(n)||t.pageKidsCountCache.put(n,1);t.pageIndexCache.has(n)||t.pageIndexCache.put(n,0);return[e,n]}}throw new FormatError("The Linearization dictionary doesn't point to a valid Page dictionary.")}catch(r){warn(`_getLinearizationPage: "${r.message}".`);return t.getPageDict(e)}}async function _collectFieldObjects(e,t,r,a,n,i,s){const{xref:o}=this;if(!(r instanceof Ref)||i.has(r))return;i.put(r);const c=await o.fetchAsync(r);if(!(c instanceof Dict))return;let l=await c.getAsync("Subtype");l=l instanceof Name?l.name:null;if("Link"===l)return;if(c.has("T")){const t=stringToPDFString(await c.getAsync("T"));e=""===e?t:`${e}.${t}`}else{let r=c;for(;;){r=r.getRaw("Parent")||t;if(r instanceof Ref){if(i.has(r))break;r=await o.fetchAsync(r)}if(!(r instanceof Dict))break;if(r.has("T")){const t=stringToPDFString(await r.getAsync("T"));e=""===e?t:`${e}.${t}`;break}}}t&&!c.has("Parent")&&isName(c.get("Subtype"),"Widget")&&s.put(r,t);a.has(e)||a.set(e,[]);a.get(e).push(AnnotationFactory.create(o,r,n,null,!0,s,null).then((e=>e?.getFieldObject())).catch((function(e){warn(`#collectFieldObjects: "${e}".`);return null})));if(!c.has("Kids"))return;const h=await c.getAsync("Kids");if(Array.isArray(h))for(const t of h)await document_assertClassBrand(Ml,this,_collectFieldObjects).call(this,e,r,t,a,n,i,s)}class BasePdfManager{constructor(e){let{docBaseUrl:t,docId:r,enableXfa:a,evaluatorOptions:n,handler:i,password:s}=e;this._docBaseUrl=function parseDocBaseUrl(e){if(e){const t=createValidAbsoluteUrl(e);if(t)return t.href;warn(`Invalid absolute docBaseUrl: "${e}".`)}return null}(t);this._docId=r;this._password=s;this.enableXfa=a;n.isOffscreenCanvasSupported&&=FeatureTest.isOffscreenCanvasSupported;n.isImageDecoderSupported&&=FeatureTest.isImageDecoderSupported;this.evaluatorOptions=Object.freeze(n);ImageResizer.setOptions(n);JpegStream.setOptions(n);OperatorList.setOptions(n);const o={...n,handler:i};JpxImage.setOptions(o);IccColorSpace.setOptions(o);CmykICCBasedCS.setOptions(o)}get docId(){return this._docId}get password(){return this._password}get docBaseUrl(){return this._docBaseUrl}ensureDoc(e,t){return this.ensure(this.pdfDocument,e,t)}ensureXRef(e,t){return this.ensure(this.pdfDocument.xref,e,t)}ensureCatalog(e,t){return this.ensure(this.pdfDocument.catalog,e,t)}getPage(e){return this.pdfDocument.getPage(e)}fontFallback(e,t){return this.pdfDocument.fontFallback(e,t)}cleanup(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.pdfDocument.cleanup(e)}async ensure(e,t,r){unreachable("Abstract method `ensure` called")}requestRange(e,t){unreachable("Abstract method `requestRange` called")}requestLoadedStream(){unreachable("Abstract method `requestLoadedStream` called")}sendProgressiveData(e){unreachable("Abstract method `sendProgressiveData` called")}updatePassword(e){this._password=e}terminate(e){unreachable("Abstract method `terminate` called")}}class LocalPdfManager extends BasePdfManager{constructor(e){super(e);const t=new Stream(e.source);this.pdfDocument=new PDFDocument(this,t);this._loadedStreamPromise=Promise.resolve(t)}async ensure(e,t,r){const a=e[t];return"function"==typeof a?a.apply(e,r):a}requestRange(e,t){return Promise.resolve()}requestLoadedStream(){return this._loadedStreamPromise}terminate(e){}}class NetworkPdfManager extends BasePdfManager{constructor(e){super(e);this.streamManager=new ChunkedStreamManager(e.source,{msgHandler:e.handler,length:e.length,disableAutoFetch:e.disableAutoFetch,rangeChunkSize:e.rangeChunkSize});this.pdfDocument=new PDFDocument(this,this.streamManager.getStream())}async ensure(e,t,r){try{const a=e[t];return"function"==typeof a?a.apply(e,r):a}catch(a){if(!(a instanceof MissingDataException))throw a;await this.requestRange(a.begin,a.end);return this.ensure(e,t,r)}}requestRange(e,t){return this.streamManager.requestRange(e,t)}requestLoadedStream(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.streamManager.requestAllChunks(e)}sendProgressiveData(e){this.streamManager.onReceiveData({chunk:e})}terminate(e){this.streamManager.abort(e)}}function message_handler_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function message_handler_classPrivateFieldGet(e,t){return e.get(message_handler_assertClassBrand(e,t))}function message_handler_assertClassBrand(e,t,r){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:r;throw new TypeError("Private element is not present on this object")}const Rl=1,Pl=2,Dl=1,El=2,Nl=3,jl=4,Ll=5,ql=6,Xl=7,Hl=8;function onFn(){}function wrapReason(e){if(e instanceof AbortException||e instanceof InvalidPDFException||e instanceof PasswordException||e instanceof ResponseException||e instanceof UnknownErrorException)return e;e instanceof Error||"object"==typeof e&&null!==e||unreachable('wrapReason: Expected "reason" to be a (possibly cloned) Error.');switch(e.name){case"AbortException":return new AbortException(e.message);case"InvalidPDFException":return new InvalidPDFException(e.message);case"PasswordException":return new PasswordException(e.message,e.code);case"ResponseException":return new ResponseException(e.message,e.status,e.missing);case"UnknownErrorException":return new UnknownErrorException(e.message,e.details)}return new UnknownErrorException(e.message,e.toString())}var Wl,zl=new WeakMap,Gl=new WeakSet;class MessageHandler{constructor(e,t,r){!function message_handler_classPrivateMethodInitSpec(e,t){message_handler_checkPrivateRedeclaration(e,t),t.add(e)}(this,Gl);!function message_handler_classPrivateFieldInitSpec(e,t,r){message_handler_checkPrivateRedeclaration(e,t),t.set(e,r)}(this,zl,new AbortController);this.sourceName=e;this.targetName=t;this.comObj=r;this.callbackId=1;this.streamId=1;this.streamSinks=Object.create(null);this.streamControllers=Object.create(null);this.callbackCapabilities=Object.create(null);this.actionHandler=Object.create(null);r.addEventListener("message",message_handler_assertClassBrand(Gl,this,_onMessage).bind(this),{signal:message_handler_classPrivateFieldGet(zl,this).signal})}on(e,t){const r=this.actionHandler;if(r[e])throw new Error(`There is already an actionName called "${e}"`);r[e]=t}send(e,t,r){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},r)}sendWithPromise(e,t,r){const a=this.callbackId++,n=Promise.withResolvers();this.callbackCapabilities[a]=n;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:a,data:t},r)}catch(e){n.reject(e)}return n.promise}sendWithStream(e,t,r,a){const n=this.streamId++,i=this.sourceName,s=this.targetName,o=this.comObj;return new ReadableStream({start:r=>{const c=Promise.withResolvers();this.streamControllers[n]={controller:r,startCall:c,pullCall:null,cancelCall:null,isClosed:!1};o.postMessage({sourceName:i,targetName:s,action:e,streamId:n,data:t,desiredSize:r.desiredSize},a);return c.promise},pull:e=>{const t=Promise.withResolvers();this.streamControllers[n].pullCall=t;o.postMessage({sourceName:i,targetName:s,stream:ql,streamId:n,desiredSize:e.desiredSize});return t.promise},cancel:e=>{assert(e instanceof Error,"cancel must have a valid reason");const t=Promise.withResolvers();this.streamControllers[n].cancelCall=t;this.streamControllers[n].isClosed=!0;o.postMessage({sourceName:i,targetName:s,stream:Dl,streamId:n,reason:wrapReason(e)});return t.promise}},r)}destroy(){message_handler_classPrivateFieldGet(zl,this)?.abort();!function message_handler_classPrivateFieldSet(e,t,r){return e.set(message_handler_assertClassBrand(e,t),r),r}(zl,this,null)}}function _onMessage(e){let{data:t}=e;if(t.targetName!==this.sourceName)return;if(t.stream){message_handler_assertClassBrand(Gl,this,_processStreamMessage).call(this,t);return}if(t.callback){const e=t.callbackId,r=this.callbackCapabilities[e];if(!r)throw new Error(`Cannot resolve callback ${e}`);delete this.callbackCapabilities[e];if(t.callback===Rl)r.resolve(t.data);else{if(t.callback!==Pl)throw new Error("Unexpected callback case");r.reject(wrapReason(t.reason))}return}const r=this.actionHandler[t.action];if(!r)throw new Error(`Unknown action from worker: ${t.action}`);if(t.callbackId){const e=this.sourceName,a=t.sourceName,n=this.comObj;Promise.try(r,t.data).then((function(r){n.postMessage({sourceName:e,targetName:a,callback:Rl,callbackId:t.callbackId,data:r})}),(function(r){n.postMessage({sourceName:e,targetName:a,callback:Pl,callbackId:t.callbackId,reason:wrapReason(r)})}))}else t.streamId?message_handler_assertClassBrand(Gl,this,_createStreamSink).call(this,t):r(t.data)}function _createStreamSink(e){const t=e.streamId,r=this.sourceName,a=e.sourceName,n=this.comObj,i=this,s=this.actionHandler[e.action],o={enqueue(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,s=arguments.length>2?arguments[2]:void 0;if(this.isCancelled)return;const o=this.desiredSize;this.desiredSize-=i;if(o>0&&this.desiredSize<=0){this.sinkCapability=Promise.withResolvers();this.ready=this.sinkCapability.promise}n.postMessage({sourceName:r,targetName:a,stream:jl,streamId:t,chunk:e},s)},close(){if(!this.isCancelled){this.isCancelled=!0;n.postMessage({sourceName:r,targetName:a,stream:Nl,streamId:t});delete i.streamSinks[t]}},error(e){assert(e instanceof Error,"error must have a valid reason");if(!this.isCancelled){this.isCancelled=!0;n.postMessage({sourceName:r,targetName:a,stream:Ll,streamId:t,reason:wrapReason(e)})}},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};o.sinkCapability.resolve();o.ready=o.sinkCapability.promise;this.streamSinks[t]=o;Promise.try(s,e.data,o).then((function(){n.postMessage({sourceName:r,targetName:a,stream:Hl,streamId:t,success:!0})}),(function(e){n.postMessage({sourceName:r,targetName:a,stream:Hl,streamId:t,reason:wrapReason(e)})}))}function _processStreamMessage(e){const t=e.streamId,r=this.sourceName,a=e.sourceName,n=this.comObj,i=this.streamControllers[t],s=this.streamSinks[t];switch(e.stream){case Hl:e.success?i.startCall.resolve():i.startCall.reject(wrapReason(e.reason));break;case Xl:e.success?i.pullCall.resolve():i.pullCall.reject(wrapReason(e.reason));break;case ql:if(!s){n.postMessage({sourceName:r,targetName:a,stream:Xl,streamId:t,success:!0});break}s.desiredSize<=0&&e.desiredSize>0&&s.sinkCapability.resolve();s.desiredSize=e.desiredSize;Promise.try(s.onPull||onFn).then((function(){n.postMessage({sourceName:r,targetName:a,stream:Xl,streamId:t,success:!0})}),(function(e){n.postMessage({sourceName:r,targetName:a,stream:Xl,streamId:t,reason:wrapReason(e)})}));break;case jl:assert(i,"enqueue should have stream controller");if(i.isClosed)break;i.controller.enqueue(e.chunk);break;case Nl:assert(i,"close should have stream controller");if(i.isClosed)break;i.isClosed=!0;i.controller.close();message_handler_assertClassBrand(Gl,this,_deleteStreamController).call(this,i,t);break;case Ll:assert(i,"error should have stream controller");i.controller.error(wrapReason(e.reason));message_handler_assertClassBrand(Gl,this,_deleteStreamController).call(this,i,t);break;case El:e.success?i.cancelCall.resolve():i.cancelCall.reject(wrapReason(e.reason));message_handler_assertClassBrand(Gl,this,_deleteStreamController).call(this,i,t);break;case Dl:if(!s)break;const o=wrapReason(e.reason);Promise.try(s.onCancel||onFn,o).then((function(){n.postMessage({sourceName:r,targetName:a,stream:El,streamId:t,success:!0})}),(function(e){n.postMessage({sourceName:r,targetName:a,stream:El,streamId:t,reason:wrapReason(e)})}));s.sinkCapability.reject(o);s.isCancelled=!0;delete this.streamSinks[t];break;default:throw new Error("Unexpected stream case")}}async function _deleteStreamController(e,t){await Promise.allSettled([e.startCall?.promise,e.pullCall?.promise,e.cancelCall?.promise]);delete this.streamControllers[t]}async function writeObject(e,t,r,a){let{encrypt:n=null}=a;const i=n?.createCipherTransform(e.num,e.gen);r.push(`${e.num} ${e.gen} obj\n`);t instanceof Dict?await writeDict(t,r,i):t instanceof BaseStream?await writeStream(t,r,i):(Array.isArray(t)||ArrayBuffer.isView(t))&&await writeArray(t,r,i);r.push("\nendobj\n")}async function writeDict(e,t,r){t.push("<<");for(const a of e.getKeys()){t.push(` /${escapePDFName(a)} `);await writeValue(e.getRaw(a),t,r)}t.push(">>")}async function writeStream(e,t,r){let a=e.getBytes();const{dict:n}=e,[i,s]=await Promise.all([n.getAsync("Filter"),n.getAsync("DecodeParms")]),o=isName(Array.isArray(i)?await n.xref.fetchIfRefAsync(i[0]):i,"FlateDecode");if(a.length>=256||o)try{const e=new CompressionStream("deflate"),t=e.writable.getWriter();await t.ready;t.write(a).then((async()=>{await t.ready;await t.close()})).catch((()=>{}));const r=await new Response(e.readable).arrayBuffer();a=new Uint8Array(r);let c,l;if(i){if(!o){c=Array.isArray(i)?[Name.get("FlateDecode"),...i]:[Name.get("FlateDecode"),i];s&&(l=Array.isArray(s)?[null,...s]:[null,s])}}else c=Name.get("FlateDecode");c&&n.set("Filter",c);l&&n.set("DecodeParms",l)}catch(e){info(`writeStream - cannot compress data: "${e}".`)}let c=bytesToString(a);r&&(c=r.encryptString(c));n.set("Length",c.length);await writeDict(n,t,r);t.push(" stream\n",c,"\nendstream")}async function writeArray(e,t,r){t.push("[");let a=!0;for(const n of e){a?a=!1:t.push(" ");await writeValue(n,t,r)}t.push("]")}async function writeValue(e,t,r){if(e instanceof Name)t.push(`/${escapePDFName(e.name)}`);else if(e instanceof Ref)t.push(`${e.num} ${e.gen} R`);else if(Array.isArray(e)||ArrayBuffer.isView(e))await writeArray(e,t,r);else if("string"==typeof e){r&&(e=r.encryptString(e));t.push(`(${escapeString(e)})`)}else"number"==typeof e?t.push(numberToString(e)):"boolean"==typeof e?t.push(e.toString()):e instanceof Dict?await writeDict(e,t,r):e instanceof BaseStream?await writeStream(e,t,r):null===e?t.push("null"):warn(`Unhandled value in writer: ${typeof e}, please file a bug.`)}function writeInt(e,t,r,a){for(let n=t+r-1;n>r-1;n--){a[n]=255&e;e>>=8}return r+t}function writeString(e,t,r){const a=e.length;for(let n=0;n1&&(i=r.documentElement.searchNode([n.at(-1)],0));i?i.childNodes=Array.isArray(a)?a.map((e=>new SimpleDOMNode("value",e))):[new SimpleDOMNode("#text",a)]:warn(`Node not found for path: ${t}`)}const a=[];r.documentElement.dump(a);return a.join("")}(n.fetchIfRef(r).getString(),a)}const i=new StringStream(t);i.dict=new Dict(n);i.dict.set("Type",Name.get("EmbeddedFile"));a.put(r,{data:i})}function getIndexes(e){const t=[];for(const{ref:r}of e)r.num===t.at(-2)+t.at(-1)?t[t.length-1]+=1:t.push(r.num,1);return t}function computeIDs(e,t,r){if(Array.isArray(t.fileIds)&&t.fileIds.length>0){const a=function computeMD5(e,t){const r=Math.floor(Date.now()/1e3),a=t.filename||"",n=[r.toString(),a,e.toString(),...t.infoMap.values()],i=Math.sumPrecise(n.map((e=>e.length))),s=new Uint8Array(i);let o=0;for(const e of n)o=writeString(e,o,s);return bytesToString(calculateMD5(s,0,s.length))}(e,t);r.set("ID",[t.fileIds[0],a])}}async function incrementalUpdate(e){let{originalData:t,xrefInfo:r,changes:a,xref:n=null,hasXfa:i=!1,xfaDatasetsRef:s=null,hasXfaDatasetsEntry:o=!1,needAppearances:c,acroFormRef:l=null,acroForm:h=null,xfaData:u=null,useXrefStream:d=!1}=e;await async function updateAcroform(e){let{xref:t,acroForm:r,acroFormRef:a,hasXfa:n,hasXfaDatasetsEntry:i,xfaDatasetsRef:s,needAppearances:o,changes:c}=e;!n||i||s||warn("XFA - Cannot save it");if(!o&&(!n||!s||i))return;const l=r.clone();if(n&&!i){const e=r.get("XFA").slice();e.splice(2,0,"datasets");e.splice(3,0,s);l.set("XFA",e)}o&&l.set("NeedAppearances",!0);c.put(a,{data:l})}({xref:n,acroForm:h,acroFormRef:l,hasXfa:i,hasXfaDatasetsEntry:o,xfaDatasetsRef:s,needAppearances:c,changes:a});i&&updateXFA({xfaData:u,xfaDatasetsRef:s,changes:a,xref:n});const f=function getTrailerDict(e,t,r){const a=new Dict(null);a.set("Prev",e.startXRef);const n=e.newRef;if(r){t.put(n,{data:""});a.set("Size",n.num+1);a.set("Type",Name.get("XRef"))}else a.set("Size",n.num);null!==e.rootRef&&a.set("Root",e.rootRef);null!==e.infoRef&&a.set("Info",e.infoRef);null!==e.encryptRef&&a.set("Encrypt",e.encryptRef);return a}(r,a,d),g=[],p=await async function writeChanges(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const a=[];for(const[n,{data:i}]of e.items())if(null!==i&&"string"!=typeof i){await writeObject(n,i,r,t);a.push({ref:n,data:r.join("")});r.length=0}else a.push({ref:n,data:i});return a.sort(((e,t)=>e.ref.num-t.ref.num))}(a,n,g);let m=t.length;const b=t.at(-1);if(10!==b&&13!==b){g.push("\n");m+=1}for(const{data:e}of p)null!==e&&g.push(e);await(d?async function getXRefStreamTable(e,t,r,a,n){const i=[];let s=0,o=0;for(const{ref:e,data:a}of r){let r;s=Math.max(s,t);if(null!==a){r=Math.min(e.gen,65535);i.push([1,t,r]);t+=a.length}else{r=Math.min(e.gen+1,65535);i.push([0,0,r])}o=Math.max(o,r)}a.set("Index",getIndexes(r));const c=[1,getSizeInBytes(s),getSizeInBytes(o)];a.set("W",c);computeIDs(t,e,a);const l=Math.sumPrecise(c),h=new Uint8Array(l*i.length),u=new Stream(h);u.dict=a;let d=0;for(const[e,t,r]of i){d=writeInt(e,c[0],d,h);d=writeInt(t,c[1],d,h);d=writeInt(r,c[2],d,h)}await writeObject(e.newRef,u,n,{});n.push("startxref\n",t.toString(),"\n%%EOF\n")}(r,m,p,f,g):async function getXRefTable(e,t,r,a,n){n.push("xref\n");const i=getIndexes(r);let s=0;for(const{ref:e,data:a}of r){if(e.num===i[s]){n.push(`${i[s]} ${i[s+1]}\n`);s+=2}if(null!==a){n.push(`${t.toString().padStart(10,"0")} ${Math.min(e.gen,65535).toString().padStart(5,"0")} n\r\n`);t+=a.length}else n.push(`0000000000 ${Math.min(e.gen+1,65535).toString().padStart(5,"0")} f\r\n`)}computeIDs(t,e,a);n.push("trailer\n");await writeDict(a,n);n.push("\nstartxref\n",t.toString(),"\n%%EOF\n")}(r,m,p,f,g));const y=t.length+Math.sumPrecise(g.map((e=>e.length))),w=new Uint8Array(y);w.set(t);let v=t.length;for(const e of g)v=writeString(e,v,w);return w}class PDFWorkerStream{constructor(e){this._msgHandler=e;this._contentLength=null;this._fullRequestReader=null;this._rangeRequestReaders=[]}getFullReader(){assert(!this._fullRequestReader,"PDFWorkerStream.getFullReader can only be called once.");this._fullRequestReader=new PDFWorkerStreamReader(this._msgHandler);return this._fullRequestReader}getRangeReader(e,t){const r=new PDFWorkerStreamRangeReader(e,t,this._msgHandler);this._rangeRequestReaders.push(r);return r}cancelAllRequests(e){this._fullRequestReader?.cancel(e);for(const t of this._rangeRequestReaders.slice(0))t.cancel(e)}}class PDFWorkerStreamReader{constructor(e){this._msgHandler=e;this.onProgress=null;this._contentLength=null;this._isRangeSupported=!1;this._isStreamingSupported=!1;const t=this._msgHandler.sendWithStream("GetReader");this._reader=t.getReader();this._headersReady=this._msgHandler.sendWithPromise("ReaderHeadersReady").then((e=>{this._isStreamingSupported=e.isStreamingSupported;this._isRangeSupported=e.isRangeSupported;this._contentLength=e.contentLength}))}get headersReady(){return this._headersReady}get contentLength(){return this._contentLength}get isStreamingSupported(){return this._isStreamingSupported}get isRangeSupported(){return this._isRangeSupported}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}class PDFWorkerStreamRangeReader{constructor(e,t,r){this._msgHandler=r;this.onProgress=null;const a=this._msgHandler.sendWithStream("GetRangeReader",{begin:e,end:t});this._reader=a.getReader()}get isStreamingSupported(){return!1}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}class WorkerTask{constructor(e){this.name=e;this.terminated=!1;this._capability=Promise.withResolvers()}get finished(){return this._capability.promise}finish(){this._capability.resolve()}terminate(){this.terminated=!0}ensureNotTerminated(){if(this.terminated)throw new Error("Worker task was terminated")}}class WorkerMessageHandler{static setup(e,t){let r=!1;e.on("test",(t=>{if(!r){r=!0;e.send("test",t instanceof Uint8Array)}}));e.on("configure",(e=>{!function setVerbosityLevel(e){Number.isInteger(e)&&(br=e)}(e.verbosity)}));e.on("GetDocRequest",(e=>this.createDocumentHandler(e,t)))}static createDocumentHandler(e,t){let r,a=!1,n=null;const i=new Set,s=getVerbosityLevel(),{docId:o,apiVersion:c}=e,l="5.3.34";if(c!==l)throw new Error(`The API version "${c}" does not match the Worker version "${l}".`);const buildMsg=(e,t)=>`The \`${e}.prototype\` contains unexpected enumerable property "${t}", thus breaking e.g. \`for...in\` iteration of ${e}s.`;for(const e in{})throw new Error(buildMsg("Object",e));for(const e in[])throw new Error(buildMsg("Array",e));const h=o+"_worker";let u=new MessageHandler(h,o,t);function ensureNotTerminated(){if(a)throw new Error("Worker was terminated")}function startWorkerTask(e){i.add(e)}function finishWorkerTask(e){e.finish();i.delete(e)}async function loadDocument(e){await r.ensureDoc("checkHeader");await r.ensureDoc("parseStartXRef");await r.ensureDoc("parse",[e]);await r.ensureDoc("checkFirstPage",[e]);await r.ensureDoc("checkLastPage",[e]);const t=await r.ensureDoc("isPureXfa");if(t){const e=new WorkerTask("loadXfaResources");startWorkerTask(e);await r.ensureDoc("loadXfaResources",[u,e]);finishWorkerTask(e)}const[a,n]=await Promise.all([r.ensureDoc("numPages"),r.ensureDoc("fingerprints")]);return{numPages:a,fingerprints:n,htmlForXfa:t?await r.ensureDoc("htmlForXfa"):null}}function setupDoc(e){function onSuccess(e){ensureNotTerminated();u.send("GetDoc",{pdfInfo:e})}function onFailure(e){ensureNotTerminated();if(e instanceof PasswordException){const t=new WorkerTask(`PasswordException: response ${e.code}`);startWorkerTask(t);u.sendWithPromise("PasswordRequest",e).then((function(e){let{password:a}=e;finishWorkerTask(t);r.updatePassword(a);pdfManagerReady()})).catch((function(){finishWorkerTask(t);u.send("DocException",e)}))}else u.send("DocException",wrapReason(e))}function pdfManagerReady(){ensureNotTerminated();loadDocument(!1).then(onSuccess,(function(e){ensureNotTerminated();e instanceof XRefParseException?r.requestLoadedStream().then((function(){ensureNotTerminated();loadDocument(!0).then(onSuccess,onFailure)})):onFailure(e)}))}ensureNotTerminated();(async function getPdfManager(e){let{data:t,password:r,disableAutoFetch:a,rangeChunkSize:i,length:s,docBaseUrl:c,enableXfa:l,evaluatorOptions:h}=e;const d={source:null,disableAutoFetch:a,docBaseUrl:c,docId:o,enableXfa:l,evaluatorOptions:h,handler:u,length:s,password:r,rangeChunkSize:i};if(t){d.source=t;return new LocalPdfManager(d)}const f=new PDFWorkerStream(u),g=f.getFullReader(),p=Promise.withResolvers();let m,b=[],y=0;g.headersReady.then((function(){if(g.isRangeSupported){d.source=f;d.length=g.contentLength;d.disableAutoFetch||=g.isStreamingSupported;m=new NetworkPdfManager(d);for(const e of b)m.sendProgressiveData(e);b=[];p.resolve(m);n=null}})).catch((function(e){p.reject(e);n=null}));new Promise((function(e,t){const readChunk=function(e){let{value:r,done:a}=e;try{ensureNotTerminated();if(a){if(!m){const e=arrayBuffersToBytes(b);b=[];s&&e.length!==s&&warn("reported HTTP length is different from actual");d.source=e;m=new LocalPdfManager(d);p.resolve(m)}n=null;return}y+=r.byteLength;g.isStreamingSupported||u.send("DocProgress",{loaded:y,total:Math.max(y,g.contentLength||0)});m?m.sendProgressiveData(r):b.push(r);g.read().then(readChunk,t)}catch(e){t(e)}};g.read().then(readChunk,t)})).catch((function(e){p.reject(e);n=null}));n=e=>{f.cancelAllRequests(e)};return p.promise})(e).then((function(e){if(a){e.terminate(new AbortException("Worker was terminated."));throw new Error("Worker was terminated")}r=e;r.requestLoadedStream(!0).then((e=>{u.send("DataLoaded",{length:e.bytes.byteLength})}))})).then(pdfManagerReady,onFailure)}u.on("GetPage",(function(e){return r.getPage(e.pageIndex).then((function(e){return Promise.all([r.ensure(e,"rotate"),r.ensure(e,"ref"),r.ensure(e,"userUnit"),r.ensure(e,"view")]).then((function(e){let[t,r,a,n]=e;return{rotate:t,ref:r,refStr:r?.toString()??null,userUnit:a,view:n}}))}))}));u.on("GetPageIndex",(function(e){const t=Ref.get(e.num,e.gen);return r.ensureCatalog("getPageIndex",[t])}));u.on("GetDestinations",(function(e){return r.ensureCatalog("destinations")}));u.on("GetDestination",(function(e){return r.ensureCatalog("getDestination",[e.id])}));u.on("GetPageLabels",(function(e){return r.ensureCatalog("pageLabels")}));u.on("GetPageLayout",(function(e){return r.ensureCatalog("pageLayout")}));u.on("GetPageMode",(function(e){return r.ensureCatalog("pageMode")}));u.on("GetViewerPreferences",(function(e){return r.ensureCatalog("viewerPreferences")}));u.on("GetOpenAction",(function(e){return r.ensureCatalog("openAction")}));u.on("GetAttachments",(function(e){return r.ensureCatalog("attachments")}));u.on("GetDocJSActions",(function(e){return r.ensureCatalog("jsActions")}));u.on("GetPageJSActions",(function(e){let{pageIndex:t}=e;return r.getPage(t).then((e=>r.ensure(e,"jsActions")))}));u.on("GetOutline",(function(e){return r.ensureCatalog("documentOutline")}));u.on("GetOptionalContentConfig",(function(e){return r.ensureCatalog("optionalContentConfig")}));u.on("GetPermissions",(function(e){return r.ensureCatalog("permissions")}));u.on("GetMetadata",(function(e){return Promise.all([r.ensureDoc("documentInfo"),r.ensureCatalog("metadata")])}));u.on("GetMarkInfo",(function(e){return r.ensureCatalog("markInfo")}));u.on("GetData",(function(e){return r.requestLoadedStream().then((e=>e.bytes))}));u.on("GetAnnotations",(function(e){let{pageIndex:t,intent:a}=e;return r.getPage(t).then((function(e){const r=new WorkerTask(`GetAnnotations: page ${t}`);startWorkerTask(r);return e.getAnnotationsData(u,r,a).then((e=>{finishWorkerTask(r);return e}),(e=>{finishWorkerTask(r);throw e}))}))}));u.on("GetFieldObjects",(function(e){return r.ensureDoc("fieldObjects").then((e=>e?.allFields||null))}));u.on("HasJSActions",(function(e){return r.ensureDoc("hasJSActions")}));u.on("GetCalculationOrderIds",(function(e){return r.ensureDoc("calculationOrderIds")}));u.on("SaveDocument",(async function(e){let{isPureXfa:t,numPages:a,annotationStorage:n,filename:i}=e;const s=[r.requestLoadedStream(),r.ensureCatalog("acroForm"),r.ensureCatalog("acroFormRef"),r.ensureDoc("startXRef"),r.ensureDoc("xref"),r.ensureDoc("linearization"),r.ensureCatalog("structTreeRoot")],o=new RefSetCache,c=[],l=t?null:getNewAnnotationsMap(n),[h,d,f,g,p,m,b]=await Promise.all(s),y=p.trailer.getRaw("Root")||null;let w;if(l){b?await b.canUpdateStructTree({pdfManager:r,newAnnotationsByPage:l})&&(w=b):await StructTreeRoot.canCreateStructureTree({catalogRef:y,pdfManager:r,newAnnotationsByPage:l})&&(w=null);const e=AnnotationFactory.generateImages(n.values(),p,r.evaluatorOptions.isOffscreenCanvasSupported),t=void 0===w?c:[];for(const[a,n]of l)t.push(r.getPage(a).then((t=>{const r=new WorkerTask(`Save (editor): page ${a}`);startWorkerTask(r);return t.saveNewAnnotations(u,r,n,e,o).finally((function(){finishWorkerTask(r)}))})));null===w?c.push(Promise.all(t).then((async()=>{await StructTreeRoot.createStructureTree({newAnnotationsByPage:l,xref:p,catalogRef:y,pdfManager:r,changes:o})}))):w&&c.push(Promise.all(t).then((async()=>{await w.updateStructureTree({newAnnotationsByPage:l,pdfManager:r,changes:o})})))}if(t)c.push(r.ensureDoc("serializeXfaData",[n]));else for(let e=0;ee.needAppearances)),k=d instanceof Dict&&d.get("XFA")||null;let C=null,T=!1;if(Array.isArray(k)){for(let e=0,t=k.length;e{p.resetNewTemporaryRef()}))}));u.on("GetOperatorList",(function(e,t){const a=e.pageIndex;r.getPage(a).then((function(r){const n=new WorkerTask(`GetOperatorList: page ${a}`);startWorkerTask(n);const i=s>=Fe?Date.now():0;r.getOperatorList({handler:u,sink:t,task:n,intent:e.intent,cacheKey:e.cacheKey,annotationStorage:e.annotationStorage,modifiedIds:e.modifiedIds}).then((function(e){finishWorkerTask(n);i&&info(`page=${a+1} - getOperatorList: time=${Date.now()-i}ms, len=${e.length}`);t.close()}),(function(e){finishWorkerTask(n);n.terminated||t.error(e)}))}))}));u.on("GetTextContent",(function(e,t){const{pageIndex:a,includeMarkedContent:n,disableNormalization:i,includeChars:o}=e;r.getPage(a).then((function(e){const r=new WorkerTask("GetTextContent: page "+a);startWorkerTask(r);const c=s>=Fe?Date.now():0;e.extractTextContent({handler:u,task:r,sink:t,includeMarkedContent:n,disableNormalization:i,includeChars:o}).then((function(){finishWorkerTask(r);c&&info(`page=${a+1} - getTextContent: time=`+(Date.now()-c)+"ms");t.close()}),(function(e){finishWorkerTask(r);r.terminated||t.error(e)}))}))}));u.on("GetStructTree",(function(e){return r.getPage(e.pageIndex).then((e=>r.ensure(e,"getStructTree")))}));u.on("FontFallback",(function(e){return r.fontFallback(e.id,u)}));u.on("Cleanup",(function(e){return r.cleanup(!0)}));u.on("Terminate",(function(e){a=!0;const t=[];if(r){r.terminate(new AbortException("Worker was terminated."));const e=r.cleanup();t.push(e);r=null}else clearGlobalCaches();n?.(new AbortException("Worker was terminated."));for(const e of i){t.push(e.finished);e.terminate()}return Promise.all(t).then((function(){u.destroy();u=null}))}));u.on("Ready",(function(t){setupDoc(e);e=null}));return h}static initializeFromPort(e){const t=new MessageHandler("worker","main",e);this.setup(t,e);t.send("ready",null)}}Wl=WorkerMessageHandler;"undefined"==typeof window&&!a&&"undefined"!=typeof self&&"function"==typeof self.postMessage&&"onmessage"in self&&Wl.initializeFromPort(self);globalThis.pdfjsWorker={WorkerMessageHandler};export{WorkerMessageHandler};ChromDingbatsOTF%8in? "&*.159=AEILPTX\`dhlptw{  #'+/37;?CGKNRVZ^bfjnrvy} "%(+.147:=?BEHKNQTWZ]_behknqtwz}a1a10a100a101a102a103a104a105a106a107a108a109a11a110a111a112a117a118a119a12a120a121a122a123a124a125a126a127a128a129a13a130a131a132a133a134a135a136a137a138a139a14a140a141a142a143a144a145a146a147a148a149a15a150a151a152a153a154a155a156a157a158a159a16a160a161a162a163a164a165a166a167a168a169a17a170a171a172a173a174a175a176a177a178a179a18a180a181a182a183a184a185a186a187a188a189a19a190a191a192a193a194a195a196a197a198a199a2a20a200a201a202a203a204a205a206a21a22a23a24a25a26a27a28a29a3a30a31a32a33a34a35a36a37a38a39a4a40a41a42a43a44a45a46a47a48a49a5a50a51a52a53a54a55a56a57a58a59a6a60a61a62a63a64a65a66a67a68a69a7a70a71a72a73a74a75a76a77a78a79a8a81a82a83a84a85a86a87a88a89a9a90a91a92a93a94a95a96a97a98a99 Chrom Dingbats OTFNormalJ%q/ N ]  'tU6q"!^o^-E4 >5VE B !!W!!!""_"##i##$_$$%%+%@%r%%%&8&&'<''("(g()?))*(*M***+N++,G,- -.7.x.///00-0141233F3~3668R9?;<<<==`==@K@v@AAABBCEEG GGHUIJKLNgO6QIQoTU^XYZ[\]^`aEb b8bbbbc c c6ccdd$d2dBdrdddeeteeef f;ffg)glggqjdeb\43jsw24c`VRxTd4d>B8=µ,4ebEgOMPoq`gvP1`E,U4,vrlhqnstT2znjlzmTqpm'vKIT =aKKa%EFa!I!IaF#L ##MIO 9""="9") I?s $ex h 1TBDSjvaYjJkv h 1TBDSjvaYiJkv 8w%w/ei@}rA"3BM:=_X4a2{k}vdwҪ̨ө'%x7QjnD5GRTEGRTE: ;ȥͨb?JcUR|_L:fNBE=qpoI8FRSEFRTDvw[- 9 @,%lo: :2 .5l)TY3avvwwޖ#u:9o,,**}55ZCCrt\ؕ4@vT Y6{>D2+;쳯ƈgcai:ƌJk`^(9@'3B|<J+`~6ҵP4¶rV`kqkqq PPD-,kq]^p HY~lI3_'6bE!<";18[urzvJ@[BEdxjWyfimgt|itP#Ɛ0|toYg[Y<778K DwtǠߞu|{}xw{{egjŚxz|y}~wyjdmm;oj~suwummnl~jksx~pwYux`gktshzmt~wx=r~orrkhqˊwag]}zmkXnivzwn_p uKdͨtomhyaWy y W>a\xvermkqovkc/n˗ p!_J .vCөw%nBRԹvs?{o;{|testyv3"U\zx~g"gք|}oll{||u4NyĜfM 3xnhhbchX|xu%vMw}%лI6:L=?zvR3:JI93BJ##vwf9"-%"q9q9%"-PP"9LvЭwf_qHXO@FRXH{͔O@@OO@GR͂U{΃RF@OO@@OľΓq#_K)3v9w 73nd0vg4hxf4ng6i6~mfjiulgYc0t[#ßw_ڟߍr{ys{w}zu߿~{vgy˰uyߠ߿v~y4Ϧ)=`fH]Ytixtn|r{Sk1{|vv{zTxK\mg~wz@aRrr~|tkmqo/ْCop{s{scpfmn;Ixthvjz|jק[1s|}EZ)aꝟ̈́ɣvџ|}X||ȾxqmapWTONؙLKN\PS{p/#X? D":kf\ib(^szXzqxgrz22<)*<22Hwq~ynL~w}x+;53螏UfD7ZTX}~1Xrvibbivr/ { ~1iFm,vѥ=xwW\ބtȓ]tjsF uifebaguWV~u%2;tn_OFtxxEQrZnL{ 52{}x7|cU||ĝP?mwso`n^W|xorr{uxF#YQ}zczwx}CL 7 l3 ^k WeVgZdoMzatyrZ}hp hL hS\QQh" f0k Խ´˻|\{j{xqvwqlxh1.mX`eI}w" ǮhOTfFOxmylhwwhhq{z# `uͽl>Sosapjc: )P*5*׼ȭf^fjfe_zX4aun][P\ĹǼ`f}>^66QU-# ^^jTvT0M'GJeRIaQw?O-իsp}p[RPѪfOEqNN}/LG(/Ug# rgkWĎ>V†f .*<#~/)" `HĊKEgTWdvä=gyp2;{ϵܼ{pɭėgx2hs$ Ta|: @%Xz4XsfS_\Kg<=y ixsYKxӲ)zkyt{ ǑDTzDu}<6Z9y{D$}|jLp{{wB*}OmeYCiJ>|yʍѨcܼyjcxel_n{o{{dv}RJt " k jQ~JqpMv} t ?GB" Fk ~׾ػD58JMdžգƭ^R=PfQeThNXE}޿L %[A" K0cqTG@@P\?kVS^qXrcȒoBRfoSVd’}dt "  d <Xh,uu}޽pL T^A7" TB\U5fcix"vɨ`THwT=_d}޹gL 7SEO" oἛpaρ_FSSeXsu[TWYL^XlZ8stxw|zt;ˤ]SVvSMKm}t ;>" rk .U) H#r.}72L Dd5^D`U|hdP9YԶmTPCCI[>\c|{oZXkmXVr`ztĴtORitQVc! }޽gL Bg9SC`" V Jf¢ѷq`2RA6;GྲྀC)gp NoȠĩSXRp\M}ݸt :ȼD&M ēNS";5S40#y%}!' :k jXVei[mӠvZQw,s$t77uu99o,,++}h65[Z\}r & k *Ҍx}~TT\,W# \k οŰ®rTTy^F3J,"7\=Wt|jwqzJ} 6%+W& `@܌NaόfX\y_P~kY9μV:\yh`uqnO0>U6?9}N^ # + _H7 8   V} L& iڝafЛŻtTZwnaDHp-D*'B:&aI KDxD9EAvKJwM eE5k]aWdMF%)JL=bɈL3&E%g#vEwmL(&M=la\aeЎ4Ege$E)5Jʊ֫XMFvwMu MۥqLPDNsDdQ(uHkDnMv#vT x >qL"rvwANfP|01<KNSNKnvw?L̨ÿchU=WHnQɓÅzY{(_pNC:LWVmqayYZdhhtssIOn^\vwmw}cDi]Hu_Q2n˺zM]M+PDwU 9]]Qh^Yxz]{_suzRXdliWTYUu141GTznjjtlppxjnvwnncP(: itxk㢤O]ky~q_qvkMivxr~{jdW_j`#vT x)">Lq>5Crvw80|OV`PFGpGNKNSk뮱w2e6xY]gjwsrhjz[a1vPgqPMOyuaZda=8Bc,,#Ekzjnszpmjng\qlrwvrnf>ooخ(;z  m f T?4[_ 3=Geހ8VB'=[A8 ''>?N֠A@sd~˕iBE@@yLA]RR^^RƦR]Ğ?Hy~wppwwppwnhuqqutqqvmoҥuqqvvqquCCi Ci vwliHIjkMrmlţsTNr^xTbXk'shn"!__q"~63yx7~3ȚyR5Uxz3UMOO7wy\2t: xE}{=|=1|A65~A{vLT F}}-}-EiO''x`Ocq;x;gDYvET [73Y[46ZZ45Z]45\2~S$ttY$~V%vSOwPI}~SS&̉6;&fXYcZVX_{v{JwJE5 YbbYYbbY ƨ\Ǟᳯuw9wΥj{{s~q еۯǢR~~Msh;;h4_Lumxo~&fjBBjG\{yy~y~}\)|M,zz) z}wf~m{xawrxw{rtTy~s}xzkuwwgk]]l~DvtTyvUywSww@usQwuPxxPvsٔ~nz"M~~XxtQvtSyxTwrBH/||| ؒ3pxyvwJ5 n?_ nn LtvuwBO 2 B$O)4c0c045v?w8?}DD%q:,*}:,8ai$$bauߒvGwC vG5,t2Ns72vAU|S"_"b8,vKw -{hp|v8q6]v?w< /Oo.zvaqZ\edd]\gd\[f1v0w1Ey H tvElbo`wyhvj~Edp|j`otfZvwwFw<1\1s\s0y-/s|{-s0\x` ~g wHקw` wg HקRU@szvxalINyy{OeÊώddx̎sp]h^ak R!@͗ȿyyy{mOSeGRTR!@dJRTp]h^yakk䂹I@sbFyI@WDqsyxmSGg`{{~QU@oiin MVdJQU@yk"U@zvxalsbINWDqsxñόddg`{{~xoiiMV̈RU@~eLynpn ±sBYJ@R@ubynR!@~TYԊȂS@{xx`uZbyʝY~TeYRU@`^R!@{xx`Zy~eLpYe½RU@`s^BY9px~sn rw$vdw>>ZD_DDW3z~||~~|{hmyym^gܹ~z~~j~ieg:~X\wzvy/{rbQzzlax!?fs:]ғ{zpncdsiz,vJwگ ëp+ܺ.+)qJNLrUNC+\pk7wԝ6vS죂i:ܹi*ìvBhs7Skhf:\|qECqVUVqrLJEqq).|:fh+SshCBxhj*sg]y:]gsSj6hx#v@wqгdϰg ݺ'}-IIpRIU\1vٟ1s92ݺs=es19\r7UnRRRnpI-7r}'9se>=vd\2]o]9\1dvFҷ8[AϲdAdG_vd8[ AղdX1ϲ=*vFwҿ}⬞t5~Ե6('geKKfWKL(atx4yҞ~3tj~gBu Զg5tDYs4jxZfBagLLfVWVffKeLgg'6BfZ~5jsY}DDwX㢬x5tZ` B`~Ztjx3~XwVvvܪw 0=v}{=`vv@}{v=5=v{}W=   xv*=}v/{WvvIwN5UxU v |lUgwwww__L |UlxU CUxlU|__U~ʷʷvwwxp_FU UxNl| vCBwEB"D5fkkaYdke0>ZbeZovxwvb[^ac^=1fYYfcYak1cZYefY\b??vwlZg_\Yi~[vqwq9ǛogVv|ocnhelxɠw~auvvkkjqqqeɀvl~t_uvvkkjqqq[gw{y|{~~og|oneaW[Onmr}Vvchl[M[Utcp~~v~uMv[lU~ttcp~~xWg[wO{nmry~{z~KN" K=F)( I**((%/%U: 3rz}zsim.dfeaef2pt}wF QmņQ`OgD rll~|t{ @yMP]xiFMx){yljotie~x0&xN`QNNƔO[: f; \74[Z66ZZ65Z[73\}uIjkU{wRiiOvH(A F%'FF%> I%#H== Gz GHG>nx*&x;  m vUT z 0UvVT R}0V: c; T? ]!---/-.__,,/%-5-1010/_%-,/.+.‹ۢڪܩASQ+S+Q!+"+!*:*<%: }f25\\72acQ= z HFZ cHc<= z Hf d~8VB'ٻ0?4[| =-L7.ei8A= z ': "5#u"3: u##vwGU: }%W2!8!RT Z[IYUiff![ \ te"t1"t"c)U: |P[YR [7!V2$ZZ &"%Z $#= 4LTj +:)L .8 7z K ;( *lU8 =.8ޝ$׋ag9|vluph>dmaoc=hiy҉8 z ܋=a}>kt;ga~ًTV7EVy9zVE7UU=Ss &:z#K[6!qu~z|xpcqSs &x#[P$+QBDSjvaYgJkv?: _ sv|zzres _ rv}zyqfr}9c a ,09>CKRZ_dix $>BFUY^din )7AKXei /8AJQ^kw $(0 3   ! , [% [ 55[Z55 # Z55Z H- . Z 55Z [55 F $ '  %1 ; + - % , @ A H/ H > H% ~>22~>h[lX||uu|XlG) G6 _Mqukpzneq.#}zwze}/RaPh O 2 0 %%H 0  vHw ĺ&d ?  M kJ }dz~>1 } }}}  xyz w - wȒĸ^.p. yyd U^`lf S c u = c ' z tcgb~ pbYRw zK[6! ϯ^ "8ƃ tNrn R_UXjr q yg ZV lvwI " Q ]_ [S* vqquuqqu Jk  JrrJ 䂹U@ V U uvx~ x xk   || ~}[si {    > 5T   ChromFixedOTF#*++ol>k "+4>EKMQ]eEuroGcaronIJIdotScedillaarrowbotharrowdownarrowleftarrowrightarrowupgcaronijliraprescriptionscedilla h Chrom Fixed OTF"#$%&'()*+,-./0123456789:;B}?_ !C=]\^<>tDa~ gEpqFyo`GmnecH|jxklIJKLMNOPQs rz R {viwAuhSTfbUV@WXYZd[N"A;>y W <q2[x9[z  9 K m  G ' & _ %FaZxs[y_1a.O7w s5X[q68pk,A{ J [ !!#!g!}!!!!""-""# #%#J#$$6$$$% %6%v%&U&&' '3'S'(((A())3))*?**+ +>+q+++,R,w,--f-...&.H.P.^.l.z../f/0 01:12 2'2y223%3c34455V5566d6{66667%7e77868899Z9c`c3-U`V_UFZNJ:¬[ ËZ5:.T(,[S:UT:[,%0,UCYTD:M xwT $ j$M /T -&"$,=%,$  csy`r $ r K- 9 M T % @ }y $M ۾c`^GXebXXbbXyuuyyuuyH$  ݼT 1~|yxϭʱXsrfeuzuwrcR[]Vx#!$ [\ tKK 4 UZ>_-$24yU#X]|67.Jy~dV9lG *2?dY1}UNVLV1-9!A詸v?]| sūzo٣sfUGrF)(Cn_5fRRCYT3!$(pB}v}|}{F z!4{b9zTX>X1G+51C,\]fOS\9oR8]PfU[9G Xi%/ N zwa 6-)+,9++D/ N “<#5)6&@ . G / '$iBVc5h37rUc=VV:VMMc7L-;AD1'+%W =0ܦqeSDrD 5ksd>SPZVT>(3nNuVpuU_V5_58rT75VHTX=y9| {jHyT#7DC #7!S y;| vKg~T#8DC $7!S h7 Z[p2ZZ3To>XeT[[fTX>F ,FX8T6XCyh "yb@h\ShBD $LTo EqZ l Hh%D2 l %.01,5/, 2 l  v 1v 62 ^?,C^B ^C5v l 2 -&%yrLy1TZ6GP5 YGYq28 -3&^LDMBYTssfTY<F ,TTXTX!u -S[NCCDjU7iU߭8 F :NX&#XRT4\X%)TXZF AxT D{3TX9[׿EyVG|3V[9.xyzҮʳWrrhdq{qwrdPY]Uxy|"826;KCWE=8!+--.+=' 9!Ol¨`JLTKD[/'.dC+$V2S#g$4>d mwW Qj% d vW 2I A d b & b (v d IwW /Ezv{œw-kly68|Z`VDeYHE41!8?UԓVIbF]ckeix0.zqd ̼W <|y{~ϭƲXsuies{uxraR[RUxA -P,UY=Rj('7lB vV&1^v}vqrrtsrqn|||* B2?+J3**3$fpp_piykJPIHOU`n9U\G$jOcΐ [TX:`&t< $Aihiwvv~wngjӁ³`؄ (B.̵uh2MUmdPW#L:7g߀݀ۀ:JJ]#jLKZTwsvwFwmbn҂þ@_y .D1ͽog;PTb@cUW&K(6s؃~?ISa"nKJYS]Y7 vGHIWcҧsnȁ?zwzx~}|`|rw ??@9z옺kjQQPOZRM ,|TBi 0i&ZD# > t- * ,18-1'# n ad^J$|j+ſ5,` M( = ) * |B NXcke~g.bvSjqbp}+TX~{_VҙhSpu4fɥĐTˏ֑IW!udIKcl> $(A# d>_‘Y*r `{Cqc"^i™tzn]^@BhB_\d P8kP4nusnkTY[ûA 8FX]gdYYdg]}yz{|xx{/, o$]p U ^zKzx Y] |fMuK{^.X/} ap ] } s ^yKyx .KuMuo0 vw0ئNSq*^cXh-ZS,D[qYwxz{Ͷ_w}^WeqsojdSLk^bh7`ȵ* $y W(@)wG&o|ޱh$ @nf#$G-1:DЧwvn,ZA/3 6>g3XYٶ_Zvrl=Y**^Vδ$ȽgyJd0Qi~|_4ǽ}|yx˼ÞXrngfpxtvseWUgJuM, |`x${I +'OLry$Tx4%= 6*$4E18,d{7^pyv|wh |Xx@ru+PIFNbM̊:ܴ\ȎnNAP+wu@rxh @DWP뜡٤@wPnVȈx[\EXb:fOJM[bhN=wii=A  A=isUAnAU -;oƝamddU`cx.vwh XX@@ERSCDRSE|vt4R;SĿsgFMU[^\Q>E0(7$˫1d  ew!v@-]Dqrm]t}evysxޏͨ´uvr?) O߼׺ҺһocLK}mlMLf][YY{mgLllLh__c[[g>9*@M83C|a|G9MTp^@T-'*Ψų|%+F!E@$O9w<K9T9T!R!''``"N"O`vwQ,:X%>;*=fIY[MF]''U$v>>3Q Q "v Kwwbs{ă  Hf4ˤ|pX4U[t`kT K)d$CbpvtPGQeEOSlUqq$t s D[U$G< f.H5!/ CߙzdA9\\^egmƓ&rZ Fi(Z" Z ,}, ) ,1:-1" ^ V Y MR" | V 1$(Am" |~aaVu~E\+0;Kg쪖^";I'JPwh.TGGLT==Mû[IISUGGS|Hllregonh]llseeonhZllsegpnh{{{V{VV77777|oY\:~gOX6D (7: e,qBfSay\~;Q=,"M&?H#A|dw,I7slkmk``tilvg kpqdctoj{!_X lbbɁjEc oj6"T" 7 D3  V#VH J |@l  8ckva`s[5+Ba6UQX&Íw!%S!TH J #K-7wP,#OTRdfbaKORQwYxwOS44 4̑dRf5fw Pd17w<YP ApCD p1H,Wi 17wCRP UjID o1H,Wi C7 |c§wޡˈVY^Ur^w_rXMoxY]OOpHEAtuTmy8@OXĢ5+:ok1:T:n I&]FD"CM+(F"F{ ~P=!=!x!PyP@!=u{ }P}Py\=!=!Q\wPsPsZ=@! ++Pf(f'q /FPPpbg'c(+˷YT6Tv6nJNf^V$T4Cq }+q {{ ~ 6%.C]T$Fo 1i'Y5 ݂ h y) ' )0:)"5 :~5 roY o %'@45 1v~ `U?T%Tw Az|U <2Q2bPVl1{ ( ApzSݽ 9֪Wجz}vzaohilus|jozg÷'-ƧrYpP/"N?6{xl.Ooi~SLSZFYTT[>Ms EUxSAUTrF<, KЕ@ JɐTuTj=Vnhho|bU^oonnU  |L|LLv,bb:oˮů99VZh%IbVveECDBDCDDiIFCBedCCs7й~G8Tp9Z!EE^bjT7|J||b-#?' (/ټZ4=>TpYXJCXū->[ǻ T||~ɶžYrnigvzxsq_XVtJuDs8оI8Wo9b*EGe_X V65;=m#mm+52oXo%oWo U5'U5$5zg2"$'4%M CS"=c X Lk! c bwX 2}" "'?#'R! c X <T9'7! |,YKXgoeh?U쌂,HfZm}vcKt!Q {ˣGˁќ;WERٜ5IG$1+xg{njgas|uy{c X 6$)\! w-@qXT:J]_v|w^noFf%%sU&Xj"峰iFegxisLliY$9ON^^vGw̽WTU+]]UQfʜ$~mwGc-sUߙ'wh @'%qS%Y'u>_[z|i[jX~uss&vJi\Z³_rfjdpv|u1D14c U4K:Yŭњ;kEc`]_]iv3wȿlȣbi)~lgWX`WT-5"UTeڍwiKPZ delcs~rc ɽvy|~ƹ\speiw||ܞqragJv]! f ܒ!X1_gb+3Mp`e XxL22?C++>ѷٶ=n8ZOIÊjdirh]ak: : 'FGuFGvZBwh VZZTTBUBVvFwh OLLFTFOTOO>>|\h|m:\mNOGGgǘtwz#gJJpmtϐ[Tg:h&r:$Bf !X6x JܶeM3+8.ô_2>C++?L2| 4 D̏ ,'OMyi]'\J)|B}dL 1 v   lnpajjsjR@wg !PǛ UD{hccoӰԘTwXbw 7w m E ~w)F~.J~E\ m E _ D\ _ n\ _ n\ w9cJTYQ¶iŐjT,?6WTJUy/ 7;6C;3/( J0""! "/0=OR$-qtegxmcn˽n]gg]]gg]}yy}}yy}~+ Zi¸tu (2_0zpP2Uc^US8\53 rΉOE fLK[T|‹'+‹*2`(- awv+tk?DD,{昷ppY3TY]TQAV4 *݈ߑG@eKRZS+ZV")ZlzޅxsăJ~{|z}}}hswuڴOCE=摷pp\.S[]UPA]8.݈߃HDeJSZS>t3Szt|㞌Ƣrqg3t6!3GihnnzpmlvwzmYkRimye2v}vjI?,}z1~zu|aHv a+}PL vU%(|J4r978b5B=[]cn9¦V=Qb3,4[؇;YMyFcvpdq% WxõȮlvznvhtn_PniwfasݿؾgZpR1 J8/igj2QsstHmQZ[|w* yըwWAhG?bUC1#V5edc1Kg^f$V<T!EL *9|~|+kp|3e12MJpgZXt=UI>0PҊ y/5Bf:SOabZv GDjd'XPT4ZZVNeΚ2${lG`|}ɳto]Nca{umW{hirtGV͋YhgzceawcB||˳soॢ`H`^zsk]{giorEUнˈYcg{afbu}wy|}ɻÞYrnebszzttcXWfJuvJ9V|U|:0׷X_wL%$Q2mD;7Kf?aPĶݻ]/?/?nrBLAFBMSD8 躳d;`\JtUÃkhU&S^|b1Y㲿x?9 UqZbTKOBb? Aj&%+ ? y' & '1<w+ |ag ܪr (  6%8 ; 3 ? ,$(1+ @Yvh%iEiT'(hTv9414T94\539Tt [PmCCUo?@>((PU[U('@?B1uj !X2u̾KX=4;XXS%61j >i!"V2KV<5XVT$;1fXkKw6 4 RY2f̼KZ<5ͼXZT$1Z`_<  GZ_U++`UCZ TEU>t '.U'+g '2b& ( bwy'1T%2})=@E@&xKAAtI x uy> 19c c=p.8BUqv,3Zis}$:Ncv$18AJSZ`ft$-6?HQX^di7047Z_`C51 1+,=>G= +*% /%#3$Ŋ 8.9K/ O6E;$$ %Gরz_;ZOJÊjehqh]al =8T   IDҷ A  |ag  QS] |_4 >$U@ g[@jTIeO@7 <*="20(/ա 3Q ~1~~2X N xwa  !!Ξt '$-&;' rqtP)'@ X*K yk \ ~## CNw h  . s>_  : .  Z 1 : Mof0 & y"y 4 ^6 s B T.  3 ChromFixedOTF-Bold$*+,]@ %)-9BIS\eIdotIJijScedillascedillaGcarongcaronliraEuroprescriptionarrowleftarrowuparrowrightarrowdownarrowboth Chrom Fixed OTF BoldChrom Fixed OTFh 7|B gdfj}srx{e~oAuiwvptykcm4`BRh&9Ng~/w s_= " i  & W - v 2 & d Eo s|CCV9)Q?bd)A)DKv%_d ` !#!L!!"{"""#1#I#h##$ $$$$%3%Z%&&&5&]&&'&'''(&(())*,*F*_*****+:+,5,T,p,,- -)---..Z../!/K/\/00N0{01e223`34W445O55666J6a667 717D7W7n7777778"8C8949M9k9:::;4;A;c;q;;;<R+)2'T'  4:vbwG% 4 T2)V+R>S4"N 3iYk g( jvA@g hHAAHH@)@H1E 9"Y =_$_$$|Nm XaƼZPPZaXSvSw(]l4E|Q|B\`xSf?ƍ9B9CiMW4ᐦʶhHX (pE|P7Dܳyf$#^[𺡡*#@jofOBӟȰwP>3N.9MOkFWV@wF7#-+.$,ss|u lկ{h1? gc~aRЊdAL[[6HMQ|ijQ ssu1l@F_Yh20!&0EVutbܥZSH^bQCdv]\7Hn|S"2l6=XihWM NlU췬4 >C1T\gk]QTlVPZ¸ްW]Oim7>`|hm߁<(mBN 1-&# o;\utso<7P\ʦBP|DDm 7 7 1vDvl1)Fe;7 ^ \]M*(]L ^^^^^^ ]M ]L-(**~ApE+ S>}wV#ƊvT@+z2}ebid[[eibyw;j&rW/0-#]KxĤoT=Lt?-gɢ?L D#50Rbk0?N|<@@.NIx?Z-09FgnM>k. ;JU2y3 tj@`7R.wp"+a}U4: ?Ou2 09uG Ez G9&AOe0XZ0wX("*Jp(J  Z0>(X1w׭#(Kp)J!!]+ی;ylF !A Mb3-6X #&p=#p#>0>0&p&0>2 ` ?t By"zX$/CIS.=Px 2 94*E4 ]LTD30>--z 2 (70&2 ,20MR %_0{J<.u."J.=y0\%*Bv!/1MB"%0 D8Z MP}ܽ_6xz ITP $&% vI$ FFǥªQhf~yspk&Zku'V /b@.X $%P,!`A;,*1z; M_%3*'06Ms1I919(wAEr$*!rIܲ}.c0vʙjdb"B2="xb[dh+X\a02 8``y j(E%!/5s[$vk~Xk0(0vk kx0i!E#gy02 EM0G7_#Ew042z0%E9_G2 50"1"1042 qp**Ual%%MM%zzSvSwC>Ҩ6Dn%M/zbz/vwӱ:Nf0lfGkhE1#@Yv-w<N{|:4 u\ghl3+H--Wɞz\F|8:n)1(guX`[OhG`bמƶ|;L(zKh{ US}gZwL-vL7Hָ4Y>KJ4]"|:h+xheeI8+5UbRTh<99󲳁z|:*Dz/B<|r-eRS$'#NL> zi:G|"E":)7<2A窶_lJDn=k̭ŠΩxF| DPzzz۽5MZ$SQ$p.&q>i P (p-A%7-9F-J;J@ -/JAs={jw8Bsm5FrZ8baylqrfslmtx@-=;Hu:gϗђUdBF-AB` RQyoaЬH-:|K m@/O)91;1P7(6d4<1"@C,ڜU3}j (!%VR{mcF3+^8_U3}uUj=' (!{mF38+0b=E^8d-7(u-ORI- "6")U3H)3UU3;5-QE.zlKQ*,QvvuIfI`jRqQLrQNPhZ[_`jrNOPQsj`aa`k QFEQRCCRJ"%%% 4J4+*46J$V&`&U&S.vn 11E.@@`EͤԱ}utkA.L@I6x&ntxs{frPYqk^}~z:l%7H qhzy y j  yո99:99:99!!!!!!!! IqsasdFZˮyuj_^7;C)55ɷXq' H ` Y#ކ\Y|wmGƔ~bwuv$t=[DJΧckVgm{ wR-+TTNlR(&Sv]E]^y/$99:99:99  " "  /'TB)ީ__dA<<<S[A$8658#ĶaUV`aRS`J g H''JJ + H^^z9&>-z8nTWsVlFƤdx|y|L'r'wP;N,q˲ήzm藗PJWTxjiKppup{cB䶜trnsud^fgv-wNk{$ v6=E*F**D"QwơXDe ]P&.D|YWfN ٚ$)?omnHUP*d`iPdZZdi`zowD <@ M" m|wD  `bj mzwD ,+%ǯ6!*9 3" mtޏwqx{~ٽʚ5u}afmvutsf8^IV|/" iD k K," ~MMQT^ĺ\RQ\^TzvvyzuuzQ" 1@~HPA1ڝ|>3[@:9"ZPvwl]m|@vxaKbXaVLD"$08KZwzTjTl8XejrO ;A G' O Mbj 4`' y{R &*(%Ů2",7!9G' ym|Hk %' {w41!A$A14b  ۿ* ){(6 0"P ЌPHGj|9F+xrzFVܫ׿pnU}bufwcnZ8qobiZsNfBsn4gȳ=B[_ƦQ@:sJ9-vz99 xw; ?BQ p[! 9 xw; BuaT~Q p[! 9 tw; r,-#Ǯ6$':#ep[! 9 w4 2zz{}㭖5axvnwttmkl(l=_yb= zM {+ ) 9 `,FNS e? = ~@M ~+ ) 9 Z; FUbȼZNNZgUvux~rsv'Q p[! |?vS@)R{ƙksMbt7}Ѡ] _[xhn[TH>xnt9zM^sxf \1D=NӻhȏĖGunoisbyoÞMv[!Ez̫Z՗Э·UbQUj<9:ʾ󲳋|0\+heeI8!9 .|}}zwU ww? ^$ U wwMv`j q$ U sw#s,,$ǭ6$(9#$ U $r Kr [$ W @ *)3 W Hwaj <3 wg11%ɮ;"$0%3  rKLRC~0BpnwQHbGmwL997:D YlNoOC0o֥"+XO@]g7CCC*(w>@<|\]y#X蛲f|}:Da/#\`xhjjXWO"I69ѺjhľssMSt8}֟ϓHv?Qӎgg):G~Mv} 0.9~x|~~}txnUy~ЮW  /(?풣suTg cbUY'] %5ۅNbCoO>RoMvYF.55#?͂|~}vzq]|̫[6/E吢wy\F(ieY]. d$*ՆXiHsSDXq'u'拶m:S@~涵|"s%sg_^2:&;.H  Çy`[`iTW^@%@b5>$L5$1Iizߋ:A/}77@ y8%M.".Lgp{u 60D@搡xz@^A(jdZ]. e( *Յ YjGtSEVp)+(4."=#=.4bH Gwqn)&xU_m"O6"Q0%+Mi/C0Lwyw6&N,!.Lf KN*-Q=C@ lq/ީ哭hgfK_{"%x.O=}y~QsZsy&拯Bw5F !@A Mb376X d)@> &=k>㋲Bwi ׀P @/M1PKWE[5V\s8v G [ _^\ swB/'//,B1/1++߇!+`+1+w=1,.L..-- ^+.+yK򝟕&9c ]5CGz4Le}$6CLlqx .6>CIWaqu~*16;EOSW`ir{'J*1Qbb1?Nz/GG * }M ~+ )  9*Q )3$2!=+R;4([AG'#2C ?+!A면_mK;mAiǮàΤzK/ ..& LB"!+ G:Z O 8%05tW%. xdCz:A0, a[OiG`bƌnjͅgcfxK> ڰ 87]fz| OucRqYZ`B8 `1< HT  V%-Ao ?6?19C R0  RC~0B,F ^)- wB."A--C Zdǻ[OO[dZ 'Kl(K% |< &v4TT{4: 4  J 6 p[* S  Qh ` B ɯum-)\bfA2 B9dͺ_?BS )>  vw F2bdg6 EWLP0M0XL[ '_ fljbbjmd |<  E ^F  Y .y}R tu2y{P ? w  w | N g  Ҝ(  fZV#'0 ʻXM0_^^  +Y , vzw] |w f y$ | E+, g|{v V R w IB׌ /<    TlT w   Swq   $  EKMQ]eEuroGcaronIJIdotScedillaarrowbotharrowdownarrowleftarrowrightarrowupgcaronijliraprescriptionscedilla Chrom Fixed OTF Bold ItalicChroh Fixed OTF"#$%&'()*+,-./0123456789:;B}?_ !C=]\^<>tDa~ gEpqFyo`GmnecH|jxklIJKLMNOPQs rz R {viwAuhSTfbUV@WXYZd[D&@v)x7n:^8nE n 6 R u < H  +\3Y VK}Hg)b2~L!;,Lp)D]zZ9j? ]sc L } !\!" "m""#/#$8$L$l$$$$%M%u%%%%&'&@&&'E'g''( (D((()=)j)*%*+-+o+++,J,x,,-.--./.m./2///020`00011^12&2233%3F3p33334 445A56s77A7e7778/8}89D9:Q::;:;;;<&>v>??Bhc4 1>46 B PkK } L< AA1@~RPA1 =j3X@<z9,Z\ P<Zd z8\ Aow1J49i9@ zww .# @ vwBͮ#f U"q# @ Wm fZ L # @ zwv 1D: @ \?]gɺiWMIXHΕ}yspwuy|)I# @ w;wPr}}{{ʦ?vuaiz{{ppi=UIVse# 6d<wwjnȫf6 t 9y ȣpqD#qC6MO8nmyzve8a9$¼wov"z `\4M9%YLMvVwFqʵաd׺`r[Bc7u+.ypv$ؼz `oXNBJ%.zp.~|}|: xUW= @'6 t 8H YF(-91 uYf s!*{@V N |@ v% UK t CT zww .( T vwsDϮ#N X"R( T 4 L f m e ( '䡋u3 * @ 01p6T L(6 j1M~Hk08H01 WD(93{wD#C%awhGc=EZ}2]jqͮdzoj~Hf1\lY^"@UHcCqyT/!u(~KV pN |Je ! pV mK ;} ;yVI2|?xeVX:?3 ɪmw- nf eqbA8P#d+<'U ypp<2|DzgYZ7;)  ɪxow4 pf `glABF*W!AH #&rd4 :#rn#;y04 >B 6 m&r&6 ?} =: gTA?4 Q6 A;C y"Ay."4 6 ;"6rv^ [ y/%S@|\^sN h x w.+ u vwb kI Ϯ!f V $+ u b 4J iJ + b J U@>Qx3A;C h + V> y"smv ^Ȍ [ )y/LS@|g\:EPכN : h4 8pfqVXX44 {vu~fg<4 n a664 n t 7: 'k74 6 ;} &: { fA746c.4 6 fG0tKn&: Nw4 >+[Az0qB UB a2[_K .} SO (J.ul N>-~ <sߏwO[ 'L)ol N>#~ ;bry{}~˦<vt`gwyxМrpj9RHUqyW$FO1 E-]IO $MF#>4,/a0=OB0f+XOA]e{8B0zBt=@z=.% fP\gz0dw qwX v ra$ w mwX ?fF "̯#,$ w X 8Z L eZ $ y!=@ $ |>vwlYm|b,{zWVXhYL.n/[bj#zxtt'A3-glvw wX ,qzw˦?vs`itzvwshk+U+m4 6 j@4 6 v^wI9k4 6 .YG44 6 : e4 ;Ln 4 GUKO4 vn  K 4 6 ObUG: B hB 6 1A14 K piF y1-C-F y1\ m>w 8;iڔ y. =E= q˒ L b : tpf l.*X]a n(% hm,q#'M^_j #P#XB!Fi|5|D:?o=,qnB:֜Њagdel%hNLܵ|_QHkGfdힼƱA uw|ww ! ~as?"̮#f P"g" ; , 55z#A |5j ! |9q\ü}tGds6˞l+`VxhgwrGB-f-l}ryg@,4M\ĺ_ƚŇ>vnjc}cyx㖫A uw|t; ,! |9|ڰcE? ? *tlDvq<"stvdKM,1L4dl}9iJ>4NLڵbtrk~l_{A Kw|^hʹeUIHTLϑ}yrpupw{! s#ɿH,Kj J vw_6X8@ZD_ZI\i&#ɿQȎ i0i-Nj I;--т^Bͺ ?_7V ױص:?fAjx\[VF%#:,vwih -vzҭ߾Xu|eTatsshklqDYHUaNNoR|VL x U'j "y;;j%;S"u"PĤ}T2Gt? kcKU9:T,Y}yHFyx~}%/0Qy:pbO䫣tA ww~qzy|{㭝9bp}voyyxook)\=`rh" ; ~, |:xGpjZBSTi[mID x2M:[ HX5-A4c87ը[rAnsv|w|34q`aEt\RvyNjdckv ˌtcЮݘӧ(ZQyWRwgQ\u vwJ{xŋğœ :ѢY`OZy.rtx KcSqFhY9~Co(tqsdgd%%|[ |%x/{,b|w/h D/"1/=dApD |w0h{ xiebd' H yyE[6% KhMvX#F{ťbݘڭϷ`aFLk8?C{w1f'xidbb&Jp1}|yy{{bѴ]Fyʸk=k$xxu~ovNwCZѕ̤ʲl`7[rI3v毮||I Nz lxvxf p#l9+ n-w7 $ʭ /H|AAondüȬlQHNVWSncȿpLJKXV?`?yոm$!xDH%$MKw5/ 00 2(54 wrobucNiÊҮzvra]+"6 BJǯ5vwlRo\QX^@Pk_^\Z}sgZCPQgcpQSnpr˷]P;:F=K`|9xF? <s pjSS2$$Bƥx ٺhRe_DT;w::E&&;{ i;&x)% /wK.dTTp p /f h/*w**w .S^9O! J- -Ϳj^NQWMZjy y v  ++W#M#)O m^s  O "vJuI -WNΨ{n%$Ռ11hCqdI'byyΡ$w&<T o XC |e&H#4 I5\&90竲mfDIy>tѪ٦lI_ vw 42 a swv \s@"̭$f R#5 I 1 a v %m  fZ e (g2 _ n> !5 J <*٠/ |I>nEVGFbTI=,_={`ɰE# )%agnաgjKGfQX`FԶҪlgFB^NH^|!!!` zcTn_g.P bP _uu__o_oo dedUdep BbJmxD\,1<5,A9c t-Fl?`OXw}"]5XU#[9>D|.Ew4]H!_yëkVC_[_vK0]imԸWjNTfT<"{ IU wx w՜>R\XefxUm|ZXo!w.U!ut&!h7 )H< ^~f 17 (~7 (ə|mV)< ^~N |~7}fCUj\wu Kqǻ˽aR?KP-IOSw ' 4L{ .''~n"V'D [{ m;.e Ъ^eC\"_{h d,>mtPqptw<y@ 1 5b}[}aAaW4K&oEsb1y}P\ =kبj_X.'C,wj A3gԹ`N3A],JS&pjb8z~P\ =fj_X.'.I4wl A3gzԹcS9Aa,JSeT$WF^ |9|EVߛjk@wtM}\VFOtsʁoiMdMfbpFFg°xFLqM͠ɡw?/\Utu;o |Y8L{LcLPvzwkK %Mz-* (Q KQ v w LN^RSM LNLRSM Qɿ?re MQzOKV= U <WĔ{vfO;o ? :HwOWvqU}FD 1J:|A4x#14.x#1_%_%%+i &T w,YDx ~wx H. x ow_t7 #Ȯ "0H!. x ' ^a. x s> ). &5+%% i aYw,A9w,1%i % J^0}K gn DE{lfaW&9% % J^0f n DE{jf;W]^D=rhdo !jDh*U o  CDo 2J< T>  01J vzw\%M* (jKvvF ?R |= |G>':˫G ?>;x8ln'x8ogVCZiYc mU Lskv-FdEj~J`WKv4{wxQ5=soOSreFb_ylj{fullss;y,\ Z=;;;_c_s  v*BШ"H}{̸WD;ލ cWh\bpP_t NNR553P0[S14AO3;? 9]ӢzrdWRKooZFx,X;|pwZW(b  .8 jZH#SB7Vi۴=K 8qz{}~㯜=bq~unxwwrro-]=`rD=Vѡ|ufQ?x/@fPBUKop^@y/ Z>)^VV V4 !4 0b0Rb%b2Sb6 k(6  k|<[11MK5.?"IQTX3T,] ww e) c qwE +gEή%N 0 :- c E !r hr if) |vihü~tFbsJwl,\Zxhcq\X2)22D9bſ}?uQ ±7껖fkA`8`t[YɊx.V@dl{dqr~约] m> ) U BVx0?81G]Ovϊw}]{;_^uhhLuy~sy~Aw_X 5M 9"n~FԚe 2\ZvHw_RR7ccFLA ݛ|:RxX 4L 8n~GҚf 2pw)p{ ;j{?`x!Xڴ`S"QSUN{}g<×wlutsd2KQZ˫cv`WciXnX56 ^+:&#ٙųĢKaAT@LVrĸ}7vwlWƻpFNx]V`h\M): Hcjp d}{{M9vnrS~竤c wwE q~zx㭜=bp~vnvwvsrp,]=`s) "v@g }t9$;TDrl[씶> y3 5+)κjV9/:=c2  EzzxNUY*GIJ:vbw[%npF#+#+&FH2,:vbw%#&F~Z*E* F#&|ܛZ9 9 i^Jz_L|NRoRh_̲ϳmMKL`K9NVhVl\żųrLIQUU|?٫׭נ9?WI : B<5ٕȵrS ?wOzyPg(8 68 h@wbhJh=V =K? J@N h@KC(w(HH(N i(Gx:G\\|=ܰW|}| U :}TFFe 9#D 94D ? ;b=ƂZ*#}X"?J ;-\ > ^حi\S1!);uIV{^FV},T=J<S<}wRn$ƽzb0y(|(jvج{LJ[\X&, RxYηj[De]f>K1J3[ߙf }InhnQ[f wq |Z q "" 1Wq 2Fm cq -m dq .vw  Sq 2 3Z eq ,vw$ $ Vq 5 vw$ $" 4vwbbm   +,? V+rˋ"A@ScNk X y7n%$LH;Q%%OH?S24 +. 14*6 $nSNA*oUa~luWW^h˶iZIOTMɖzqvsov}z٠I+vܩzvy3@[|u[V IN if_\&[$+pԅWg>RE]q{ zW@lyM%X=Hg.{u$L8&O勢sz^@.kh]^(r* kЅ`jJsUHWt-bWG&ީz~k&~~~|bUsųСg+I4!Lꊣsy\V GN if[\# r &iԅ^hGrSDUsޕN EbEߨ|}tlA<y5H27v8ouxVvh`\khlB}{E$0 qaz1vDmn_żƮnNERXW8E];v9HJfHV |tߊwH3إui[]gP 0 [Vsu]eӛS`@FYQAeəwi]lk2Ivv3!6R t= {}~i G !>zzz; .Y3CZ|wb {~~){櫦|_ _CSv@ #oD"Vw2 |`-$ 0URl\^Ex2.gI/.G6d8܊|+[cqwoxxwrqo._@arCnjzOz .wZwUzI5-}HN.Q 9Ew6<y3oWSljEWtpP p8u+UUrb_{;oqxqyl'|:gMtvy7o޾`aC; x,e kc[cMTzC g xuv GSg[x& W kwRpD̰$N W#*7' W   b L K' g ]; u' @YvMM? 4DU D v$ ggG? gD +M_eH erMU nD  9kU lHoo ? 60? yD :H\? D :3")gUv3E)\ w3I-k-:|OP+  a YT1V>Xs;yK&9c y;MQ]el.;DY^rw| "'<IU\afw{'.4:@EIRZft  %*/3=GPX\ejoty~0?3< 7 Qd< | N: == " ; |, AB <6FF.otQ<{ihdgn d  (CD4 H)W*/b3F*='#)]Tsuw-U HF y1W6yk^$;uF  z{C`ݿpbC7 ; 6 eclc[dMTzC g[x& 3 * 0 &D- {BV N |AL  rV by1 =| 7 U7 @ >7 Q< A; > aSIjHfeűTV U5S-354 %MK mD x-   տs\xi" S%WE^ OX\ d e y0  =K w4\  ) ksrjZg^Y ` zcTn_g bU&&V Kͱ mUVp]as 62   |>      c uwE "Eia wwv qr | g |   * W ow u zwb Z + Lf.2MW v4 F   w0 w- (  d  cc <} f y% y + (   Ly.?  Uq J x.   (  y-    Ř.  Ey2 ef.B Uw3 sw  (B*     V ChromFixedOTF-Italic#*+,[+ Bx %)-9BIS\eIdotIJijScedillascedillaGcarongcaronliraEuroprescriptionarrowleftarrowuparrowrightarrowdownarrowboth Chrom Fixed OTF ItalicChrom Fixed OTFh 7|B gdfj}srx{e~oAuiwvptykcm/bU<P!/CRg"gWo[2 . w ( H  H   =>^Ee k0S)p?9R+Ewg#`s1'H  !" "'"N"{""#/#$"$@$c$$$%%>%m%&I&g&&&'1'`''((?(a(()[)q))**6*+-+++,,J,e,,,-Q-. .#.I.../j////0K011@1f12)2e2334945p66-6q67 7(7I7k77778.8o88888899$9@9p999:/:N:n:;;<| I="ntrhfeii~>}۵~Ȩd I~Ud I~^4u*9LiYii'43u[Tu u[Qu%Wd4/Wʿ4f4"v+@ (Üw}m*Q +EGR/٬̺rufj )UTpniq w#W!qElrtlYQ>o)Y^mR |(Ĭūkm B5GD;Ĕpr aCņ`E*4m B5G;;Ĕgr |g8m|X+x`rTgc!bzϯ}rm]]9.`=egg9yKEWPǣvun`dT`h»vw{ 4vnw>nuqO3"zyz7@)F,6O4vnw >7)FtqXP4+O)3"kʫJ)$^#FtoInyyyUeMQ MTM TOq eOU0v~wUu {*{G |x$x5 ;YOwUDc|wF/&x gZ@+nߝAOF;C 9rTw*6 @|XSB2z GTk41R ~Cz 97>JCI|CQ ۘeSx M|c1ӢqMm̻83KIyjaXˣvSJ9A KȎ C22Y&PWZ8w ` < ;Ɖ 0ؒQ|]¥o~'"E:\Tr]S< Q˝дcT-#P UTb|v%NJ]/|(O 48NPgblFɳnDENA/6cؖv2f)|m_`d.J1+X% ZmT#D _kwϹcbABW9m;I a[.(bGb:}A%} UxX( BFʓf&.dqLbBC^0<|,Z$Z5 5 2$2*.@5 vlB-'HBVUaTUYԵHBBzM-'| D# HRDڛ$C,PKszYv^e-Z6~6p{uibcgd}߯n>ni ,X!4M!!2穲X)BzI G?ZZ -KIqtfsY…k~-7#jnJ~P,QqʰbzeH`e* 2, 2 X Ol:?PgbXXҞ,*E /Zk Qg@.$b7EPL0qAy}wndMBpF"QZ k\x0j sR NйJ]UT 8a'/ߨ> HG7E ^ : Z>B#J[a Ob p[9z:Q mb y99] pPE /Zk [a TU [:}CQ [b |B:]n#YE /Z y9+4 = `Xpj* ;`c`<- h* < * h- dXX* j- 1Z > .G D @G *E C*X Cyk{ev"| 6 8 [K:{_M-qq > {m* 9-ݥ_A83** vebvOC * k- &X :> q hQ * - ^ > cnjpjzfz+G%L6`&@9Eul* ;C\G* $s`m3Y)- ^ :Jyu$ֺl`&Bw{ eu-1=-üohz;Ob chXT:-:  m}Ȁ߂CG$g/BAcP> T*  Cm-j cbcj -C2X ym VFh"G-6 |g w"x#w"s qv jqv* +SPP5- j* J{_s* U- 7I,I* dE  sy{I> * B* [- Tw'wC kB> 8_Vn)F]fPF[N*  * N#`3vYw` `Zq\z'UUN"nN-  'ܦĹOSq;|xX@X-]8Vf@ |_x!{@3/20FVruf x$5HELH'&::|q vm1Q:\Pľ|g|LT?L_ J| |< rlRST<ꇿĿqpZQ 0q [bXQ6g*B!`օڃ[0bJPjb |w T=}ݨwQ7hEQ]w q qB|c XEeײ`|@* : U U^zY[MUMVbvRw jg h8w rg v܁Dw 28 #k[q6g zhG H;L- iG ;!8H/Uh  0 ^h  .d9>1ul!Xx 25ux SX|!x _X"7-R v;֕kpS sxStmez;UeL{{Yg~n¡_#t]qYorn8jyv|w<<h|XquXxۓe2VimY|:r]aabu0Tu]_fkz7V#qެYȑYxz{|ͿdwxOafnwupnSKb^gbvg #qwtf[hic> ]OVZ#ӏǧǭkPKrI)f»{lYj 6UXljf R p!4,.Xӄvq3a辪WS t{{wypig|iȌnB lmn,R#d?:K׹`vw߼led\MXzlBPlbZYU{naWflLWQu]LhnqRH!70?Q[* G F _[* d- E@"@* e- [ 8 ~GE {=LYIY= q=Ĭ~h㊧ްzueL?u&0PH$5pvjZJVRsjyN9w{y}}mZb  |" }t|uXE'd$$y׷f+#Y<8] AW5e/ .C97.'1 .}kiczhQeӪ|wfn]0' 9WҽţV%\X[Tz|mPa{uqqnC]be_j^pbqxvwKMY$n9S>MR$lv[h[j >y7޽t#'HM5]! :^*b";?303,+ 2 2!m c^#!j y{Yqe|  (?M_( '#ʚУ]gOF1COhyGw&HO OGR gGOVOA A'< =ڻhH_JtXsRuq\bcht6 ^0|{ޮyu计eT`\wudW}q^ZrKyxy𩧁njqiKfgoe B{$"ux߫ʼ{9* 9h p5{QKjƖh #j (ڶ(=RRRo4+L!S>5Qp3pnrscX_e]v}x|\sAxy{}|>< )&rS^)im ,k Z96@ѿϝ]hMeZ`\v]wgZ_ v a`eR 0evxlGin6sUۙb5_]v|we\qlGgpv 4tUڙd4s$kv # ƨrMecxilLsnbhjmta\v BvwgeXYUv baWV,fǚx%~nGj}wzxl]ifyukX}rdioWVjmscYmnv13  EžsxuhhaibA8z^"1^ɚ U}D{fac/qӖR O  C}&{y  rtZqw$# fwO zy; ,<+# ~ ӼqO l {{zzйʱ[s}iffv~zyuaRQ\Vm # ~ O U\ 8<\ 9# c=]qȼūJLWXNƓouw{vqE# a qVqV* 5k9-R x(*\R;W` 9\+x&j /*- X W[9>R+vz¢˫|wܾ{fMEZDC CDm`w6Q eR ~QI`UT"=D"0|xBun}~[ RƸ( $oB[ Uǹx$( [ T yE ,6( uvw=#\ 4F 4( \„ t/ P.&y ]wwlx#d-* C]@F )~TB-z D]t? zG .6/ _bwt5" 1N  1/ WcoVI"(- cc?WdW WUTc*`!':~N߼a~7Zk 4;Xo4W0N{ lxz|}һ˲Xs}mddp|{xv^PN]Uly{l} d'#% yzEx%hH% y{Z} Kz@- % y}Ѽ6.*zz{{ѻʲXs~kefs~}yv[RO]Um V% y~ @ޞ+ 7?  { % v?w][== >iAcgA@]d=]v`ghYWl_J?+q{;AXLHlmz1 2Us0_gqWLccWrÖ+){qY & |j]%H +5oyp{ SLk K $)7! ; awJ ~<yC  1:%! K r)l ! ; ƽvJ !qw~̾«Zs|hfer}~}uzUVLdJg" : }+ ; J ~\ 6B\ 6 ! ; HjvJ cmǼŵj[MQYOɕw}rtus{|" : {+ |9Xcjb~g>l̍o3Teqbh+U_~{\Vxjs|rvuv,YHmK˛Շ>Yu{XIKhvקŌv:w&|x}ө˳vl1U8gži{@Q ذAq `b]PX&&MwD~wy}ww|4 }%'9k' |3 xw&#' |4, ;yA  0 {Y' |82vn 3En 3)P' o w%u&a43 o wF :Og N;/Kp&o mw6y< 0>"3 o ,n 2Kn 1X3 |ƿw/P](}iLSf#"Un&5l7xKfb]^]y1_/\R" *'DۻE}yz|}ƹ©Ys}^bes~|zxbVNeKhFv5|ڷ_X7 s7Ōg8D>e_M!VK6Z }#s*s) Z 8) {*] bwI Cy8  1?~) ] ɽI ,|{zxݍ[s}cegu{|uviYPgJi,) ] I  8:bk) vUEw.l uqopm\G>>dl uqormcv.Žw`b˾i)rȼoLXeZS-!"sUTeۍnfe~]h}R.efoixrN wu!|&e$ N www ;,$ N w9z= 2=$ N k ={ V$ 1rpv U* 16rM R_ &M _- 01 :#V /deY"*7,4Iq^^V <D >7 >E1-* C[_ $KFziv#hzVG IkG NE *kFxgc| 6 f8 K:{M6q[q 1 T E% 9t.i\l|sU<NF >8 T > q _[NSіSDj* E \0iUk8W WV.-VV SX3UU2YsW[\[` :U8 <\*x'j .?=!j+2,R w)b%W>, |8eWWhmb}hLd֙x6F_ZmviK/P\ 〨ˢN˛т=YW1~)L~Gu #Mvp6:ȑwǺul؅x8}}mhzylPxɵ~s <4< sn~REMT[NJP0߈uZ5"V@S[KvGw zv͂{Gsl|{p\|¬vذD=Exs]#U_aTR#[A!ՉycF\IY`b w}‹Hwx _z !8:E%Ͳqhz:Pq ciEV3@Lty}laINVJ>`b XK6b<  ]x|‹%*‹Fw I2d=^w,+6 tkF@G ÿupX4UYbWR'V8 Ԉx_>]J[bR ] , 5D  4U1 c‹AcVk,Of&cUQ NdH ‹Gw~L (+1R w%ܕ`m.#O-7gPuW aenK!UzQ cU~y‹9‹Fw4 = H 18Gw? 0 oL y63@;1g2 bw++ 19c j)8im;FS,1?DNYdi #+2<QV^fnrv !'-37BMX`einrvzcM 3, 2 z OkE@ " : ~+ < 7ˊ^"F6wrK9 3I_ZZQL,?  Z~Egֲx|=6 :U S^wY[MKLNl&MMO_5`\9“U< :@RUkmp0Q 0< {` Pc vST#2eܝ<  8Q4 H,A,娰^27wZD&㛋Ơ "rQq p]9{9Q ob z88^ qQE /]k  C8 .[*+ ;ɚ4O(,! g  NK>\8Wd@ +- `* W! U R^l=8CB@Ēslaj_Ufq D \7 \E qS<3 "9;!֘x 4yRo HKYLK,%O#1O * C~* Z- Rx&xC iC - i ;w OD:V ^7rvFdTSt*h[|?Q jR ~I qsug``ic  AF +8 B, T U QTڶ |_3  bMF?+$|!=ٟB6  Z <vYz|L pqsleghe uYœym  #2' * _- /E U   @3e3  _x  ; swJ ~ F3e=_w  |` cJ` Ŀ  T }wSvg  =  T c  Z p xwP ] twI a ^  | 0X U S ] R  ~ vCw !8 T V   9 tv} W[ݽi  ym S q_laUhq v24w w  )d / i  $] 8 ݛ w:  qw   W  xw   Z  ; ChromSerifOTF&<|D/>Euro Chrom Serif OTF{ $,JT`hq %3NUhz4<HYcq #*ISq*0DWbi{ "(-;?LY^bntw !! x_l* ." k}tt 6& >z pl|ltufn+* +;M 7NM"9+ - W $@ ) p ia4 2q:^ Ltryxz.  $ mIə&}O!s .|P ׆vAOWPؓ x$e%-9 [ jw ) F -O?IN # pu|p~ufn+M }= 9e$ފ}; D-; 9 =o&_Ym) ; '( 7  㛲ڕ>[ \DW DtBunJDw?Θ#gI ; l/|{cW vU m,8oyudu eMr zx z}|Rcz}p| < ~ *5 ns|n Q jqd G C \C oxuv(ru  / {qmm o7_UuBiysqe\rPy/s xчp  ~~csm_m ٝe  3 oovb ) ) c{o Xt3x vj`uT2@< tA+5 { ww l [5w BrRK*8y x*T8?j) k ?2>]Zo < iz7 uo }Xif`C7F'窰 ottootto, ˝ җבxՅwA VF] II& putpputp [zZ}[o o}toouto ovto o}wooub ~{ m xp% % Ϗx` #,fvwxl}# $w mlCD h ixp ¸^T vFw  x*`ISAfh u (v \mmlYYS v nv f|dZ  QT iv|to d  < v*w .o} cvw (` Xvc s0vw sZvw sv?w s0 snntsn = w  B [v h 7|B gdfj}srx{e~oAuiwvptykcmGaQ4~qr}>] ~ J ~ T  _ L g 0DX0'>`Tk LjU_n(y^_uD^ @ { !/!^!q!!""4"Y""# #=#X#k###$%%'%<%O%%%%&&&f&&&&&'#'['(2(D(Z((()r))**1*\*+e+++,,-,9,D,P,j,-)-Z---...`...//6/Q////0"01h12,2h223 33#3J3[33344 4474N4o4445u636Q67:7P7p78889\9  sw DDPʂ]_XN=N]nsqnnssnXvwCD =D vm!awmkmm&!%aUlaaTka Zu!Y`Ƚ!x!Ivw?&zi4Kp_E\iLX9D)WX-Tu|MvdO`DdkD%:|jpnvĩw$#w4t()j[<%`'%`&:Ԍɔ&X[$MM<%`'%`%:Ԍɔ&XZ$NM9~Wwڋ14wwɰiY81\p}mN|mswtWAGܙ-þlv|eUM ^%q'1qyevws,\OgUlr}oqɢ>@l:asfqGfJqmd_~:~,^ppQ`7Q:Lv,cv||||zz~a~| 8vx? y`_x@8sVV ѶC@_f@ F3D!Sdg^u!ǐ1$dWL@C<vA@h"P'c}E`Ll9mAERaL:]濲q2G^l4=9:z׵C5&U&:iAg.ظUT3Mfervtu'QiscdTN<#8#sXxbTJ[ vקͭ[RVYh<w&CC< v(vwxtPv[Tfy9 ylrrllrrl~QlQkc c]QkQlwcϾ_w8ᥳѾDF-V&inجHOcxFyci=sFPa nt} z7  ӻtaZ}c~kNrjmoho"R~Q =$LZ;%lW٫qRMq2B#r -K+5Z :^F[2~]M>EπŹ\ZvQ'}{_`tfxshwwwxq|ms\l{. ʋ:r;4/C4xڜfwlg7Z뫆{j9 IQypx o}9wawW-;"uYLXrg|li?R| {K[{ b .ފ};o Ds2.h3xʆqk}dtnK{wDwe%֊7o @yw9%hN #xʆqkaEq@}ʝZφ{I gFtG/#I' (Cguojk]&h;<* jřSҥϷw=MM@k7x=6gLLg1@k7sv*B jwD܆sDSW|}su~onzmx}{y~!Vՙِ =E"i$luzVxŞRgK}RPѠǐxpinpv_Wՙِxφz=:Cq=ww]YsYhtkK _ WN~i=xKtFڣʐ[q{\xՇ= x v3x_ : [ p iaa D2q:rpm 7fxԄmtY &tF2 3!'y2"S>$pz-88- yi .r*y:yo/2/oʋ~;OÍ5bsub.92xфoocOj:O#*7[}y}#8877ɾ19}wqwtqU ptv47y>>Mk0n -c?'Iv5w=`ax~b:>ByÎxwoߕv5w3.;f#U`NZx}dvmv'}x{8C )xĆd8'-}df tUylp~YxWwdT&@ѥxlxzwtn$yxŠz**pTv*r L(loxul(hu x~*JDFo){ ޱ?0g?Z4ۤg<#v?z~8|`=rggrc4}m^*w##HM@Ys^$r~ y} OJ/]anUfn+kC/ @ )>CX7K4_'Hf sww-ϝ$.I{rDklmfpM2R ?VQt0'cym_smr[g882J̶xwwgdsaIC)ϼúkGH[zZ}Yo lm&jm`,`#wհ[7XM"/+ =sv6a/¡zyww_SHES8k>zxIn&nnEئ'lfywlkd ︿ZA-v[;3ϐϾz6gduGqpqOj஭|d8twZ$dS~hwcbxtAo:S1&?v*swNlZx{¡dHP>x|Z|hYQ OZkYh[zY}^~q vmWBzU 71WxTxWz|ЛPh=z{Mdȟ 8˜ОFz; N${aF Ddy=z~dD FxaD{LK˗Kyywwɬghtrbcmniid\Hg[ausYv#]HsZ__aI]]mssmmssmRs ~hE]bmMt|xg{k`h_x{{4h? i J8]whcI%a쌶٧Ra6d,J8!R̰:3v2Hwy}s{ϡ$_~*@ihk}zzT-iPvO^uy wP xQP cvhch^_'}}ICC0~o,6Yڻ-ˤQ˓xlqRSPE|p`Y0FmRVweZ> i snIJdŹŹXQQ]XQQ]d;LL;;LL;cwHT>wU{?}}>c>{`{RMV g( R`w y|}~~}c N$ Yvd"wGkVObSwv}|k3r`[XOo3 MsjPНM ntvs5wwTGZ Yb'\wLG! y_k*3b$ \|wTG b%[ZG Xwdx_l*{|{ٝe czor|usutwT \Z gj[j[o:: Wg  mggmrw[[[~IؓD"D{xSzx<sRhw"?Ik%\V~vD|qz)!wȨsnhFy~h0Vv] ̌ΩTR2yw$˲ş1"Yf3 Zxw #P'Zxw |c!, Ztw *8 , { ]6{& >z #l\ls B LP- W s wc!rAq`ԎxI s w8  ˞Al`ԎxއuADxp6sv zНY xI m[mXqAL4_XEm?R&&K K[vvIww3~_ : ~LiL gtuvT 0'0 $ [ fwt b8 )[ p iaa D:q2rp1L \uvT [ {ʚ p ia4 3q9^ R0 \0 cvvqwoYY`aaabYXoYYXYpnWWPvͯwt oXZA.p%9WWernzxx]R#jzI&i[EZC VNM87!z $P| יqAJNG،|xъm O1"җڌ :s{lW | c!t2n wb8 2} z˙.|PO?G  ZJ r ?~K^P$ [%4wm f!.;皗ڒxԄD; J&twE\x%⻳_-8inĥe}`#8FTz|rqxwnuY!Fx,CH:LJsfOnw904gDc{o7 ˉ mF'Onw<4ODc{o7 f鱾F'(otx.*Ojw %*) O Et\wvHmM_z) OFD:؀(><kJ+wͭd=ܘ@$܀@ )\HW@WC{O @9g  nggnʁ[p0sJmqR&VjY_T |"XmjbsnI5C^Me͉W$5JAm1aK~}R]dTz¥ʤWDreӐ7cVva%n1 ϪTR͕¸cym_s3N880Jډe. O wh&|=^d'nwF( d$ jwe( d%Xw( yK :' 3' :' $ 6' k% ߖ# rk [k q vw ÿ=/#HeX sL`ia8$e2 ^ .j,YbWPaumn Km̾ZTOv)s ~ [?q|XF y~~٘e ^zuwrtfvtT q nw/4 FOX v7;;t W q nw{!e%-9!0 ;SX A$ q jwL: DIX x:s%q L¿ HeX tLi~qѰqRzc|zqQPvT q yw/= HFX t5y0 [0 cvw Uwv'|l Ll 0v2wG5`OK#HeXgpw@},fNdRnkh96Balƃݶ¿ʫ~tv. " W9'vE!-% $w % @% R'UI% 0 Z0  šqw@xA (F$ swu[yC{'_ukvmJ`lI.Z P'@lA K `' ]@//,Ps4UZ 3z  wQxؿ>V{] @NՏX ̩((`);ԌȒ(Y]%NP=(`)'`(<=((`(<Ȓ'Z]%OMɒ'Z]%NNsy wBsy ƬgQ^-7Q~zaUj^tkyqRz< }VF]YFWl&/:*& w_VYYQQ,&Id#hoM |cmnm|cv; ?Wlf3[Ww^e|),r[Ww>W$4. wwm_p_cpp6dOqH eOoH|pX{j`f1΋zxtrNJ B6(FkQxtZ6bPtanPMj}i|kQ]s}|~v|xqaxjDkixgY-G剉xyyz!}V^n9c ߑ {6?Oilu07Ceny~)4<R_x (4GRt{(/6>S_ex&5DMTZ_hkx #,28=AEZv\5}j{fjfx_}k wd 2 kR s,ǹ 1/T|SPr=z{M ! " . o Dws2$F—3x` < w# &= (><WC/ ${ft`G2I:E #:r{l {] ~v o5ub ;i$ iO2zщlc 8 a D Sex} Tt|~ ouA CNO c% x{^Ia L ʒxφy؉u?xYCx b}|r ? |`c uoo S*-VS)-SS)/SV*/S5#74"6 Qtrj nWNj E J wY xI ovuU ¡txwtspoT ~lp]eqkַ." D]Peh]Z]z\|^~zSLPzt\ Bҗڑ F3 އuADp6 |wx~kp 6 [6 Ev * @ ) {2 7K4i'H B m9ID8~ jupm 1H1T\_DD HmM_} 10S(_V'5iRUcR;Xx z|ss RH@Z }} gQ],8Q As`Ԏ ç6tB1xjT\} TVzV}Vo{^ rp Bv ʆ{< 887 9 u~xz[Ȉ)ݼVj ͵ n Zf T_yT_^T jƞ1~ 4"26"4  y={ ovA xssxxssx {>z } w |t i& 2 wh DjW} {>  Zj_pxzqqz ƈjXr~bO vr? vw txK n w ƝgN # {pmm   F# t eO>`  f ]] fO p Cj7N [ YVexqhTV|l T Zw Iw M +ik fs{f{ /x1h x & hI zkf Q r  Z hy?f eE *_ ] ;c/e3i~͖Oz ph EE '1' UU5 aa) wn]S ng c\[gc^\d fe ?? cqr\bc] vB5w w  MEu ~frvp  gmpggoog gpa gt po a oa 4 Z*0ZZ) wAv- b]s{x 54bWOC ] `HI0p  & Wi\l y~_8 x Ż[QQZ[P . 6 01 8 t oa  vDw   Al! _vv Si  ֋ @ .vw loITvi UZÓNj Ԑ(7S9 )y 'vw   h +Hu sgcvMw w  h 7|B gdfj}srx{e~oAuiwvptykcmKxta>QYtLQ\(Eg J L # P u  }PxF=_e6IvPd#cl%t!p  y !0!Q!m!"("2"W"""##`#$ $$/$A$|$$%x&&&"&6&`&h&o&|&&'5'W'j''((5(((()):)****+(+F+,C,,,,--)-H-m-..Q....//8///00;0x00011F12q233O3a344!494d445595R5`5p555556 67787[777789/9?9:!!~=w>\d\[fc^7ǖݟiXWjgKTp8_O3/=vw(n t Cn t CvfJ Efwf!]ff̌5+GfI[f"fI\f Kk+(J+%i+=vwpjxQ.Ipsnψ(x&,k{"d!oh+T=7&T  PhT^gl;=ɻ}xwV T8A"AvN{>Ѭ$$|o\b~wuw{r\laЖ䜦fif[__kd+j̡a4%,+ IkL Pũtwpkxl-HϷ?YTsYξĭAYR`{p=vw\ (Ӧrccsf`tC *Y˶Tra9t|B!p¤aoi|oPNKU8Svvvvw]Uox}jvdiv{~z}vvVNyxyyjcmdk}z{u{qqssxml|szugo}sX~lfhsyxz~{{njzgqq>vtsw?vnvvrrqKqn!3 w 4w= ]gmWL{ПpS7Pox??!~ bvKwwxxZ;~22JryދλQ+y<CW{#2]$ 9H"&#"wN( (zq_r Mev4giGo!!ר,M!P'Rw߰ɑ'o 6A}Y(m-qa1Wn[mtrpqn`kmtjLnH  `<C+ >1LnԬ_P09r[|v$vw#$$%$LE11;2"cN(S ӆ׆mtYN9Iuilmmxlkh`xkoRlJP^HM0~w1,j*m"TJRH>@F[ysLЛ?$U@eЮXQ X'wp{F{$ڐɕBYtc{~:/8=c\[gf^ \[gi^3v,9=V2u3]gmW<ҋ词S:Rox \[gh^ ks8S8Ms>G ss?7K7P~=i=p)s{⚐޾37l8m%bhaٓ/aQ{ezjqYmeDF4\fe][fc^mf#%  Ѽu`%}NE_io#K~OB(R_A)r ]ѧ~pPUu0A %(x*L( 3Y =`Dc}[J6>rȐK_e:  mU1409@̈|#N~<aycܡYE%ub g"70`SSqNkSx} DE+%,.88m=(dF=1& 4j|l\Nf.0_O8}h߷6B8L.0BNmfwnLmU0x 66< {)Jx|mq|Xr+c|"]hImMlRgvv 6-Ec}B9r;}|Fm@V#]hIxMlRxPv`wE00Ї}K8`{m3Q@.% 4jl[Jl(6YBEݣɒvں6VfppNfVhVhd̸hIYY͹hJ~ PkV \ ' +c#ĉG^lSJo{YunauTz*^ЫďN VhNJmY{1hw}|<@hjUUmdjᭃh~IYNkT`BbϪh{IbNa_ J/ؙ~8ydxInOhIu}KᫍÏ\l\lh҆}W[Q~|= ֎vvv C|r7 QEH Hx {<!^ !^ngvî6:@FxN:@#=J;hbm1d^ݯo^n DRZ h-m/U+Bn5 ^{35[NyGfGx |e|֠v h6K?۴j&WuIuNcaw}X>F47ٙ?͟4wG =}]FGDqy*yzcD?Erd:|A4bA~|xvɬghtrfcnhfdcjHg_auJv==)5]dg[\eg[7DWbu sqNKhsu v'vv"w!uwۜmSytxopOkpuz}ɋ˴pgc_xwx9;Bl}l#v$Mm[qTƭՑt`{o?lXƊŇh?i=7r.-\ 5IZH-wjwV\$8}|qlg?HY8Qd_b*=k$M|beqlSQu_\|^yFjaRAW3dpr}jbkloHu? xvJq0Z[)1U 98 @<XtdcO.jҦ\a{pqW;R6I6v6CJ{rzz0QC6bgebwkmm1t7sMZy|{uv˝ ou }w{X }u {>vsTDGsxWR~Qv>q4Z[)-U 98 "J@_\:5ܖ;VMUye_f\?<wP]|`\&jiĸĸYRR^YRR^b;LL;;LL;>Q;1w>1oo1I1oIooL{byF/%ZD<<"#vDZ~@ pV`J Vqysqt0Mv/w,w~d~|v}wj~xol Vbjdpt]k Tvٱuizᗤ gN3D&! bYvnw]3`+O`KRzwKF et@!痬j/>[__*;JN55NL8 %% L Xme5 nL vvvvw*St7#P8s 9i >Dvw~i >vqbyF?͋ZD<<"#v{XZ@i Z@ o[J1t5&R5s ]:)p=i>YjVhXjWh@378xXwbWp~fY=ϡz'7]df[]ej[Kwv$w Kwv"& KwNv)& T ـ@E~|D TkwwИtuiP7 KNދNnfn T _w O]}qjjqrjjr hD4bYf uR`d}uAhgt~`Dkl\a^b!O}V(jo DI1]klxhg5Yv3} W7{f{ܼdX~m.8@m=*^E=1& 4j{lapkhf$0_D0fzh<rsU!S& Uv"!Q r @v)&!Қ6,/!/*e85ZS& 5S(\ w' S)\ Қb6b4hK MdU@6Bgi0 0.L.0LNg0\fwxL֎v'Dr7 7hE0~|B tvrtqjPQ|wWHx {X!^ !^n!& Q|wE0 &(QWIx zX ^ "^nN!)Qn\hy>fIx zeE +_ ^ "U :5E~}D TuvsܗtpiPQE0 Npm em >vnw\TVTVTQTU[QRQR[^STVv¬wZ Akza)fU9YL.VLH !Lvϊܵ&> ʴhUe8S@L4y?Fark wc ! & k wc v"A! k wc pv)! k Қ3d! ^*g8NwiLf d2{='8sFX(gvvA}hA=9w6&6)@?@d`Pݯm^p R`dFxP<>%``yIܞЕ`h7F1pR0n(v "&].1*U;KZ2zhS6[QWh}}nnny>ru}~.gI֑mbUWr^P R* ;q& P vMwR7" 7;P {wR)#6P nRE}|D TqssΘqrqP}#; $ P R? #6vT[8&i89 }17;qkkqqkkq}LTQk) m7φαvrwi\BA9Kespqvf)'GRG_wۉWn;ER5o#FgƼhlnyx^˧žˋϿg2j_YvcˆND+OIT|ӏDzypsqnR=N ꚟm3DJ-NY'Lx[y +& L `# +v(I׃ M [$ 4 9)I !M }[y +@> [zg)  ||> [zgV"k, ] Њ gV)D/FT3 vguiI Wlfle nw]'@xȜZd ,F;l'*@,'e-Zq]l hl Dv٪v w'%'1'A#խxb!!ziU]O&ngd4 >I^Է"rgg;Fdw0}.wS I ( [p& 0}.wS q 'l|8 ,p(0}.wS /p)0}z&)/mfma#wvMwd++~@r/ rtM6 (| _w6( oj{zX |Vi\M a#V~@r+ آ^-] Њ I `8Y?jǪюh~I:ZNܼ%bmS wΊ  d*;k h2CYxpxvs>/lhR!44 g5Q0/> F3jse CB.]07yyW,y^çBgp[3G,z+G}mO6%~PďN&PzlԽwjnniL̍d(N]ovp{j85 !⮪@K|FW^ng>f+0xvvMs |G }{qhZFY5 }vYx~8~tľ`D%uy{wyvu/HP3./mvgYsox 5 NhL6yiBKb d*B- w9 f5  oab{'" ~%/5 vm~*1etsppvj~^j_T#%Ɠ̞~ywvox`}*1sTA `  R Q(R?7@G!R_l|S7@0Ƨfnohgoog9 9: 8ǔ $Ż\QQY[PHkqqkkppkA(w1[_x^^F}ɦu}u~}tcrn{@{~B ttuhlz/x/hM~%# 1" IIII|| GL1[ MԹ]oh  { G 3{ 2uG 5BwGLGLe1W h W h  h_ ?u_ ?3h2V ?V ?vIwVF.M%}|fqy}ozvm𙭞_~a}jqgbxremx{p|kf|rron&Sr`cUckocg\ovgujjuokcU`g ivmoxg][[]\gxmig ovw~==8=8=pJ J J }vᣊvvȣw 80p00kGv΂ u ~u y~_8΂ & Y {~m%btvPwKPSMP֋>v4;*1 wdQLxQ, J,&IK#uM4|c}|}||{;~vs2VWnh3cXj\[n 'hcWjVW +"jkY\>ee0\u~vsn]j eVIW!ෛxs\Ȍ:}l8Iz 0v5YwS uxk]j Yx\mGNRr+z X?Ƈݮ{~y}x|)xa_9c  z-nt@Xfns!,8FO_  (;GLX`ox'06<G[fqx ,9>BNZ`fq| ukKpjyMhخ[~o Å7M0P66͢C }NK~D$͎ "# l, D& @yxȜPd 6F;'p o p $4hK MdU k% V1wve # / M6 yxqt ,[zg D/ rOi^OX}k]) H Dx <%^ ^n |ll w]% - 0-(?Aī R R(S@ n w |vw U5n    ChromSerifOTF-BoldItalic)} \nMJd/JYEuro Chrom Serif OTF Bold ItalicChrom Serif OTFq0CPZam 29Jov&5GY_lu~ .6>DKRlz #049IYhqx~  *.7@IMSW]bfm6mmf % ! \y? \i^, X#xi(tovuvtpq 'y0 { & D zJo ' ɋ`k].8 xU 'CQc=:! ܶtvko2ily?au╭ /mi`Sꭞv + ny{W}տv Z'j*޾޷& ppysvvz @C g#G{-cp eq% t=_s`յپ p/k'xfUQp,gHZ mff VrFb  c~fypj=d mjkslr +r ?-(L v-FP^U;EVB]x 5N lSUs2 ߮bxti ˥ ( 0>>?@G00r$$ww(;h9/qkPk8azw$'/hdlj`jdp\ 7vw"N~fephejN{kephevfLLfwuf+.%f;ff;fwL0K.wL*6fDf6f.Gp_&&yLljQ/R E_3e߂WL"+^ 0G vwiTnx|w|zv{wekrrǎ{crWfoqlpult}xxu`l{[\^pnv{}c_^lpxphvxp~so{qlrr/vpqw;plppttqKql05b mO bpbnlam}О~uS(Wx::0~((< ySES} c08$~K2GbLբkZG2~ %-wS`:I{R}'uttaL^w:pSrMisy:)X;Q"I"Po6x>Y?REZPKK~w4f'.X1Qhvwx{tzcVJ0j_񾜷:J#LFKc~ɢec %c_v*GwP y*b**F GI<@o" =_~c*8%@R6=m{x}zhol{_m])%<" $|w4{-([+J? 2 0KJnms+ǡؠޫʋXw?Y\yrslSvh$14RȮ~ gKYz^kI PpتͶ U89C>Chs1qOLeJG9y׷꾽Ų[aeEKeehfvw>E\n.c%7k|l|YK *WA4/(G榛U !, k~&G'(T(Cb`lkcCb`ljc6vw['mL(r3yxz{z<D7|kb`jlb_m/vw}U8U}S/gZZYZZ/vwu^}GU8UG~(Xl(;kƚƼe)TMGgm{IUqY<.N?Yj3.< >yf\ww  лu`"@E_jo"L~O @'P\@(pZѧ~pPWv0? %$w(K&4Y >lDe}[K5?sǺÛQ@(_v? [i^, h tMƩ>-%,'s':18X͛ EPhcvzMohv_retuџUU8 ;y.-/BKq<}GE5I2~~~u|peTDyrI"DؾNj'Rn,,%`a}w s] wr 7u=kjQ p7U}~ oL~}{* v~]qlN~}|L 7_u"sI6GRhz glcyӯ07eh`t}`~_j?gY4;&qlwo~|shG4\E99IГsu^nLkyz?hѮidyɤa {tR[[ǨÍ {tybjfvku`n!wVņuzwap`E?w]w|s "- k]asnhhoo`Nd-ОĚv1wvdpy}ttQhqt}1lPghurxDdTqŧh|t|yKphSU~rǨÎ {u|{Rv`wqv`wwncPypʍG{PoxSḫUzQɤhqo Uqqhl 9cZpdQy `Y rkojqdWm!U~yM ?*-L!v/FP\U;CVBo]}Xv֫g&o#TU#ZxM'c9 !hy [zMjjcd]FiM \?*-L#v-FP^#sĭ{~ ȷvXkQsNnlpW^ifuYdB]}8'l@#vl+z˩VO%;P fqt^[yu8%DOhwp{Rw_!y؍y0TQKGS]mr~p|ztؓtpn8+&;^ccfKw~&a@nXX Qv)Te?Ҵ&xFb^yɃkk]#8 U hr;!oe #(sų>vSww\{yThl1o Xa ljQwvw=py{zzϫ˪Oht}zw.o ji*(o diˀCX sjtWBOc `ikghȮ?~pAw[W_h{{8:|gڞƑhYOL GPuxlXX ֮]lyj Ĉx~/jH\jObyKrQXX > 3{f3o;v2$ƙ\v412P1yd^[\p^u1!Q}f/vwF;@YIw{ 'zppxuvvxXwt h.q D zMo O3/ߔ9 ~ wZ Bwe-nwc;,>=[MLdc]i2Xz6Jqpn~4j!Qcfk^n_m┙~~Єg<$<-`˸~ZvCwvxly{NⲣuUKv<h]m s|r5u8}`7U/_8ټ%Ⱈ]nG,cn~!?PGh7Ui5 ڞ= eWp:haٵp+v;cWp n|V[f~toylOsCg%/nv3IhB_Lv3twW{@ ٓL{HzB?p?D=0~풒sg[(?%>TdxKhky^`{}cVO2^@uԶ*֯hp[hE_wp~ ڵ|}pDsAxOyNhjoݸ˴uwSM šУ֟SuYPo&).@|S>fMSUs2k4ANv+r#96u|]gesrvkoZ=JE|{LAavUwwptP&е۷uvt`qi}2l΢chth9em[L8MfXlTUső% l\"TO}V۷ηvv`} M.A 8ˎx}k8r<zV}WnJ۹usWXvàΤԮsT9P7:XN2J'2QNF{r!m n`j^Re`x m.0mwOxPlvjbavĠͣԭO ` ~5R˿}Y@O+W +V4@) e2@.YxkCDOWD}d8m ruJOim m㓬a/~w<fhm7'}To 諆K"`jԸŹOwmmWgݧptTJ.bvbwv 蕻UIP QhFHzl%m rkZ2 )hosmsjv}}you`#NuO|cTpjv_ww ~ "]grzfsjtkpw}}}}yb7*hbkpR0]1X0~w^]KpivwwwA" f߱vhvuuxx|k0֮tjWij"A{قw;spH.4U|su{hwls{_ݱyE |~}y8juz RvFytyxusv ~ozzrQ +p `iCG~/wG񝦥ҸGѮ7wl]GzIol/x}y`dNARKo#N;vS]AyG mCѸ?ӦGw/~G#mKRN>c`z|.xq^yI]? k8|/EHvvߏwPA|{yxɬghtrfcnhg0dciHg_auLv$)$UL9:/{mzz|]hƞ2_-ckkcckkcv+vOwjchޠ)?]ݘȵpk[dc\yhhb&.2al#B,vwwCkO0nkrg{pFeJ|ޕ^ssg|OXg7}Y"OVM\#x}k]]mP^dʢ`j{efuiyvew]ʾͺULJ[THJ[9x|34}xW45ng_bbxo5WY3xp|d``eo33ٽ¤֤Yl,,*0}\rǡ|y+tVTrd}Y"u=!}Y!p,bqLN>vvwwWwCxGvwxѩ؞ żbx& gï|wpqb'7IU:KV~mn+(4wcNO}pu_fwonvdR[dw;KϾP`ixrnzVK hK ywXW+1UU+1XX+.UU+/X8!11 88#12#7Y8zCpnfH -!2Dzp?/a>( C̺ $rvpTo{l~on ?jo d9, 3wQ+zc^$RxrmqA _ MqA ܯy`b{l Sv]HeCD]yN=:'X+1UU+-XX+2UU+/W8 22$8821#8 L:Z0@wn7 TMK{baZ >=xQVwd[6vw,pp8J8oMoo^R mfakhvfNu̮iOifOigtnci Iw+!5NvcMvwwO l|zmkںõvqkgyX8bB.Sn _Td`yzҴWvܱdB,li~d0l0((< nIwPI*} r|ln{ yʿ^g}~vvw bq!^f,}vq|E{np}fs$_;ҕm^d8Mo:Rk?r$4$.rI~@p J ~wwp3p3pH 97a* ]~npk Mvwwwx }a$<^R cfakh9 _|nqk w[[w\Ny!}ap[̮iO\lae~gtnci y+3p3yH alX((xsP|l`o4PZ=\*)ϯqhknrixvjzoldגO.< Qw*r s 2g"Jp)ÞyhohpJ/l>r xwgB ){knfnJ0k>r )ĝxgojpJ-n>c. i-XX s ֮XpIj ¦~y~|/iK\jUNyKltQD& X'k;?&yoo3b@&zxwoL ![壏،hw|xuKzMtc\ʭ B"~ L=ʢO6.C3#qImf\qz|k~U\gd I+¹GuMy!+j𶅪_:[mF?zxXw4 obbvD xMo ' 0 t%*[4 n_cw?0 %& [4 q (0 %B [vj( n^cx?0 :P ~={qnrprT[t o( n_cw?0 m. : XfZ98[t 7:Yd( dq (0 ƺƻ[PP[\PP\Ժkqqkkqqk~LZv wwumwb[:oz`CDQŤ5`ShcVa9(vMM(^!&m߷3\cװqfZI+g}$o} "Wonn+wv4jsT;} t|lny yIs˴oQcSk^n_X┙~~z`<0.-#L/ *_/ Z hx" [.5N hi/ \ g eg fV<t{ _fVlRU $ & fOlTUs2 .4N fl!qQVt$ qa. e-~5n . k{}Y@Q+W wzos(..+D/ElfRi Rd]\_pshKl _VV!vvbwpx u3oDvh`cwhO p +P =|tpqmpT~37 *~3n {Y@Q6 @) Kv& z7 B ׌N# #P 쀢=|tqpmpT  # V. : /n'(6('g( Zhbf df )vw\ Qo a@C4@)bbfP#yq2 A.M_tU@Q+wd w,TN 1 y- *d w) - h& d w) - B d , ) - E. : yw5UKJp{~~||w8o~rz ['& wYtkCDOZDw~^LM{u wǓnaeww E }}~x8l~tz 'o. : fk<SV}M(ޠ*:gǧÎ yt>'VuEi{Rv`fXwf!qRV őaẞ5\ lvo(q/=`xEضemp}V۽ηsĭs!ފHk}prTqZpD0MSxmqps$ <5tՌVpFg@)LpNzseKPċKtg~n p9njү|p9d B\ŽoXjpeO`u2 PTI`iohzpBI\"9ЖSÌVvVQ(]!yw܍y~/MMNOS]mqo{vsܒurp:+&>W[V[Gw!a@n*BSxvNww@؅ nlfcƦFYy zؐ}sJ>g2NeLk^ip}wfH| j`Xt֤dggRdr|tytzrNK\~rTOlyKrQ+FXX xw> @` RvCwruxxutv ~~q|zsL .ps` 0') (m< ?"=Uiw|~d\b}Hr. wf~ˋ\OAdT@r Bw[ 0~Bw;`C6:Weí07 W7K  O\Ż[QP[\^ A(wcc_o^^F}ɦqy~tcr0vvA0Hٟ֫fzvl~trtrs03z#I-!Z FOFUUFNFSSi50)\ {д|zywzi&mI bnkak}Н 5b mІ2sI bnkao|О|sT i5050)c yzyzzc |{xwzimm@ mal{ԝ~ s@ mam|؞}uT 5b mm[2s@ laj|Ԝ s@ lal|؝~uT vLnw0%M{ξ|Tsz~szwn]ivshloqrsrjuxЖvypbWrtgl8V_ WvWWwJs@;YQlsaqnlP^Xpy·t{Xpk]g_Z۽ul]p^aijizz{U^VmutnluƸzXks[vxuhT_o`xvzibIijvxijxXvww7T778989}9:f:x:;L;g;;;<u?N?z??@ @'@<@A`AmB6C  sw I2n|qwmdovi5: n tsnNvw$29vwq Gzrv v_d-chwd_B@__Ζ&J+hb;hAhf;h"cIJ+dJBGJGvvvw8adŪ]mHlRe{u0^V^*}v)`PxizLD+XDM\F*̂{p   0 0 oT3HH\9y[b.~]mZ{vyib`fҨMx{paqj_V`k ǩaP0E;~NRUu۳xa]R}hHL 6ȌEQo”ěS8\nOe#Nvw9uwq~rk Ts4vw!IL S!|~J/=09K*4s6vwm9|`( :QpC x+zuGCJ )7 fvvwwRsqsl~o|lry~~~elbLyvvÜzxo{oopppfqzzyx{pvzjxsjox|fktw}^|xpyqtV}f_tҠvswSy}}sasy vzw z ^auЗzfTfw~sT}Tnm  ="&Glm~o*׵Q91U@)v\ڃ, :hϳ-xus?X%mGc@I-4Z$W\J{'nJ+=dU5V¥,ዪαܥH[8PmTqvy.B(;$  >෷QT_/%dp{rd`oSzl's|ཷ  s)z vl|as|fTfw~lrrllrrlҘvvw3YNoNo cҘvw߃NoNoyW*[DֵT+DIdDnw̋ԒPrDb^[XWUQ4AHnt訢بtnnttny}  ӻua*@ahp!SQ ;#KX:$iV٫qRMq3A!q,J)5[9_F\~\Mog|yvc œpuwtt:Gyd{p} dIiѕOvt}~y,]z-5䣋(~L}}}-{›umxtv*u:J \qi{vnttnrX>k8]jY|}}wd|pgpkgjSYy`k顳E˜vwhm~PvKyUwh dk< slxvwb.. tlxvv:Mzguis Y}즢 vrvrt (px|\yl"wÝvmxtu[wiijpuqnztlNp٢ʠvw_R~oZplss{yS{]toBvr{zr?KG[$&1ࣥ à{pzvs/8tuRn XY O͝ ǜyn{wuNMzjlp yaI y U} EW}W2 MzOʜ;}T}I{žyvlc!jk}jʑvv2wwZxw T{x$  {Úwmy|^g3b5{xf 5fuy_ sRXtS]<$ Grq]ZG00_} ůY}K\+;_{ypvoo"Ky~XK aA(p:prxJs/j \.|~(|bcOh&uroa{_i n@njau+@GsyvQ `gr%Mhd{}x~{~|%;P'{¢v?w2L}|zzSSbrz[ Xmao }rzd^Ssj RR^IxUyg[ٯP  -P]kh4:A<v vKwT k(Af pAYQp`5:y}ye.wvIA`##IO@Ysv@w " yV z Xԋa p8 EzOm_ 6 n[)/b!pjOw~ʕUl7,g\~v{usul-;A2ZE1P8WjDWXY rcg\bONm { -!r֫ovwibt)S,NŜYhttxvr̺ζ[awtw >BXXXz|rytre)S8 >H+WH޽Ý‸xZnv bauRlX!2\ s aWϟxr#XxwwfhZ|4/d+yhOottoottovv$wwSpHm3tPtӱ|Ynyuqx?C8K{xl+T` YW6|x{q|s:gaYkHvgv-H s/u{yv)pk auєӔPvZ *U{n\0B}_{S5RGR;^}lyTdO誨v^)i"hvvMwrtL9Fpw[[/w|zzssmrvCwԹl pnkįIZ }~}s!};le`aabj  wj krh\wt9ohXSkzkzumE{xN|mؾkvX wM r B | Y7|{P] ` v_w<cɃ2ir}~4Jnz~P)Fsjw{}|suY; RPʎv^ww 8IRy)sw}Ĝ0T?/}j@ڣ{}/W{fnyzzyW>*3k܍S!wpnbD V}}mpwfvwi uxW\N9Wy|ukIsp|sl1qizuy{sxMvw ~]~~s L /z z p vt OvU qtxy ~{tu_Pk  ւG:kvгaixϜ</P| iZ>yKw^Ey}xmRIIZTp9'v? <lb BЇ:ɚ >ˠѝ`Il-s]cIabc{GztdxC^<1sVikLO\vˏwbhK}{ywɬghtrfcillhgf_Hg_auLvll8nssnnssnQ2X _x}|uv5v<# ۥ{diWaWp} t> ma P2pcq~;{өa4cvIt_yYwNֳ咍xpffhVUj쑤ɣ~lm}kP>VvBaalgqsi| LCASL@?RGs34s`24q_``_tq4^`2sq__``q34vJwSjHHݑ>+2t |twd5\Sra Go c7t;8c9s9HwPzj9 6e]@^)x8|IİȵūϹp}*|ʺ|{{yq\8ABa7^`XvpUWZ=`VV4ZvoZfcGgksuRQ\Qھ߾vanJInqX_xuR s # 'yQ),TR',QQ'.RT).Q3"52!43 14 3GB^xfZI&b댵ئ]a{qrY*I9 S:*w&zp~}{poq~:Vdze5'3yVѸʷҘdZW Jw lh xuܙi 6h vs٘i vmb'y|55G>>;BQq_6N.tt;lxRVxeZQ).TR'/QtQ'+RT),Qt3 5243#14"3G4tYt.ʤGtxmqRlTPC|_`Zsnd ŹŹ\QQ]TQQ]d;JL;;LN;ҋiTwH 3 }vv} Pv[wmO̹whuvq{|g3GrzSTXOw36 kh|j}lsfZrv˒:Wvlz\DLz [ smIwL!tok|hxw|zn~Ģ˵gdRvwIh~.xnxLcs;O{\])ؤYc@4"#Ckԁltϴ pH[Q sI 6I  wShg  1 )Iqt r}2xqiavw$v 8 ~` Fy6u <Hrn]- ~/xri Onnxg 1 O~2GNwuz}h wt fZrg{ ,Us&T_`h&9jlEAVͲҨ|smm\JBƤֺƓdn ssn X _} pfttS' N ' yV  V dx axqO' Z uwXF O cy gqpV5 h|vL Z ߬ me sqsrql m dx aprW' Z  X ew `rrU' # Z : 9XO(i9 :T^ ¸^TT^^T @  ew `rrU' ] p nj譺R]4c{T{8yBIr!me6롄]{z{|y.`|-rNv*-|r}zx|ywqkzws/Xv] !tng}gzy ģʵgdo ظ vpsnj O: sw$6 hm< /t Pv*A BD " wV z swڠV 8 G | y4 $6F 64  2 /t Pv*A # s * Dw s fV ! G y * s EF * s  * %# X M5z{ĝvmzyx]81a]8&o^H--9̲ Uzʑvv/,wVwbw V|&x,ۜ×Z b{tmxvw)Zb5b{xfWv?xmT]` Zq wtqTsqq f w$ qw f 3V^ $  l= F 6$  w m` C xtrsppl $  bw$ @X % ҨvvVww&pWSXWUWV\Zn[ZXXpnVX7vè Rr<{o9bDeqz&)~ ]eS_W=jgfGxnq!Kh www )  "ܢyuV z ww 3V^ Rt)  F )  H :  7  ! [ Yi/o gb,^Ssl LQ^IxWyfF ? G } >m9fU~-+;_Sɔ؛{~f}mt3yK{XkW `A0r8opucsۡ%b,vu7L}tltyjeuD>Dp[M{?Kktz||@aI:~qsw{mX{(K^<ɡd("H tX 3 ( x  $" ( v =w|CU }" ( v ڬ Le tqjsqql " ( v  ~3 ( T# v :8 :v@3 ( vT_@¸^TT_^T  ʀ wSN IMHHXvB֨ PudbvdeDx`[+j\PӼMgo陭T' t)Xiͻ |kVY@omܭî(~rni}gyx Ţ˴ieѣ{cg\bONi  "-! jDž‸swZ- hx ‸ zw{ : G ~ U= зpX[ T ‸󢕢̋w{'U Ac- ‸ { Z- # 7 r,  # yV { 7  : G } H,  4 U ,  r, IZX ] Fnw [_W & =X % Ҁ S#z/Ԏ N ( xb5(RgqX|dG`yKPaToD iT ;$4%SLw w; % zV } ~ ;8; ovO= 99 FS . p ov wS + |] b (# bww |_~y={[ O 2z y pp sw o:~ Lvkv-wH wΎXXYz}uzvuj dv5k tf哯Mvw# Tj?}^~y=|[ C &z } tp uu yX % X r? d8{e> n T^"ޙ#61Ȕ ßxn{wvOj(P~[\>zMy~Z Jwt ~콗*YWWW{qonCg]ӯb(k ߃s xtzy7d{9w i8*{qonms^S^' t:{I[VB7FqRz^qfrmrK! EBʵlXz~bpvwvAXbpϱ_RclYyTϠIa\@<s2)78cծ\WÒanfZF֥ptz\T`jrsDuyvwl m [txzxxuzy}^d lR vCpwԋ(% mmll̨QR {~~v!};lc]`cek eR [v  QlaoQ{s|d ^Ssn{RK^xIg}\?! [ٯpwP FR TvP}w ywtr ~{xqWzI á8R Jg~9O~|sdZmir4r}YmP wsv #3=Zsv m{ f"/esw  amk)((sccX si9 9/h;9j/T_¹]TDT_^Tmgglng s=9wwųnqZDbYv貴uovCrt}ťs W xurrpp s> 6 G z -^ YiYYeY  s ?Ky ~~ s DK4H Ȝ i\avИyfThw~sz k t{ [ :KKy ~~䀔 ey }~؀ [ F 4HY uؗz nzY wԘx [z k uz ek s{ >ow13f|lr~zzu_Ýwvtrwgz~|xof`uyz~rl|wwvvEsUec vVaxWv>tvvX>w90y{[LJ[yx۫¸oxxfgqPгôɱqwyf[o\̻}xlvs;kkmT^gvx|vw{{cxafryyxFc(Sbϗx|tzz{Mehww|vxzhvvwwXGTUGGVVH5;,,Iݲ  outoovuo u B 0 '0 j / nS3Haszlh cli s rZswlzD 'NRvBw6B\ekNA:߿zSc&dWX1՗!R."cy,RDSXI(~enonJ~ev; ?Wlf3[Ww^e|),r[Ww>W$4. wwm_p_pcsv,{ uStUp"Twxpp~h|z^ 4/n SRflwƵ{x{aYxΒ{{uo*}p}U]7X1+o4`Sv)|!l@ҝ5}}g$ky_idNN~p*Wu|wklw~[G:z5LgSjx{ptgay0}{{z}.Jk0y?hdl9c 14ag',NSYkr!*7Wcn7Sbq~,2?DLQUajq -@S^dl&6FUdmv{ "-6HZ_gou"&-3:AFKYgu    ( 4 : > B M U ` k o v }     % + 1 7 ; A F J N Rpuuppuup % a q8 G{Rj_  ! RT O nq^H.+_ \ 8N-Il&(5'ߊv}Z<~Ym 5 h|E 6 |M.,g!pj : 7 X|ᐠΔ voyvvs6wJ r p؝B yVYY ? d,yq> = pX[ T + ] MX:'ZLֵeoNVO>j{ j / 9 N il< " 2 ~.t /}O~}zA {Q,qZ5v n2kkp {z_y/ւl_~XK@藹 _^wr| 鎗 #3=Z ņgY'| -Ɩ S . xb B7Z@ dbau6 {|vo?K J ֈ {{||yux}lu c ۏ]Py @zMvzZ Ad uLZAWiL-` Ζovte ɧ_{|V~ vL T1 |v  ϥŹ̌Qp 1Nrr}d4:/m29RBh utxw{z@:}t}D ZZstw Qbnw \y_÷Ʋ ) t9w7y|f 6{(D`eU ]< Gx   Ow tX rt}z v̟w 5M^ E&Nj mggmng j{[S:{緄{ oiɲؾy  [v{n |  }{z }rk T ­ vv K {ڀv ~ }ycAs { y jD ʜ i ϢY[ l  N { vw  G =w  LZvor ﯉w yEqU l  "&+1357>@CHKRUX[`dinuy|  *3<JV`my !-2:CJS^fqz "&+2@M[do{ (4@N\jvAlphaBetaGammaEpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsialphabetagammadeltaepsilonzetaetathetaiotakappalambdanuxiomicronpirhosigma1sigmatauupsilonphichipsiomegatheta1Upsilon1phi1omega1minutesecondEuroIfrakturweierstrassRfrakturOmegaalepharrowleftarrowuparrowrightarrowdownarrowbothcarriagereturnarrowdblleftarrowdbluparrowdblrightarrowdbldownarrowdblbothuniversalpartialdiffexistentialemptysetDeltagradientelementnotelementsuchthatproductsummationasteriskmathradicalproportionalinfinityanglelogicalandlogicalorintersectionunionintegralthereforesimilarcongruentapproxequalnotequalequivalencelessequalgreaterequalpropersubsetpropersupersetnotsubsetreflexsubsetreflexsupersetcirclepluscirclemultiplyperpendiculardotmathintegraltpintegralbtangleleftanglerightlozengespadeclubheartdiamondcopyrightserifregisterseriftrademarkserifradicalexarrowvertexarrowhorizexregistersanscopyrightsanstrademarksansparenlefttpparenleftexparenleftbtbracketlefttpbracketleftexbracketleftbtbracelefttpbraceleftmidbraceleftbtbraceexintegralexparenrighttpparenrightexparenrightbtbracketrighttpbracketrightexbracketrightbtbracerighttpbracerightmidbracerightbtapple Chrom Symbol OTF  <>@\e1tycA;h&\'seSzVmy-y n < L   o i.@ Mabq.G$8X !r""K"y""#1#S##$$N$$%F%k%&&3&t&'1'''()))* *&*I**+ +T++,F,,,,,-$-z--.1.}.../-/E/_//0001U122223E33444:4W4h444445555C5k555566!6EEzwBdiuuiJ" KvdJcwa{dodd$J%c\occ\nc']rJ$]JsJ*]|pwpy߀?gMGTf3k\Slqyc#@e%ivo:E'f~͕~}~;^ *v5+ րӊƙ\`88&l}yP]׋8>v<۲ج{fadwsOVªlןgy}qRH u{M`iիMI'MT$Vo[D:_ [Ъ |yjRQJ_f, F3="TtlR H'$]WL@H<KvC{i%N4mKyErUc8mAE]aL:`泲o4Jea4=5:|ѼL5,U&:i@޽h0حUT3VfdsKvw*Hu;* <9pTmcijayj!uݢOJvix)zܲ7 " )v;vv޵rto{q{z||z~j]jqugԔ" vwzzE[> !: : vwzQ D[D[MzëBt;íw2[2JihVAKvVuQwSwHMY" N /i<dy%ڤiN =riirsf%fysdKb]M N|ҋ'S9mZRmS([Sũ&?iq5S'DRw0vwEEM k2rجSҋėRDSk=&rtKS9e^%c;SKftY}T}nk8HG98HI7ǹȻZON[[ON]wT, ^vaYSwclyұRWѧwr_gi{5]obd\Jq5sx{k~rcfe~vwfrrrrpqpqhsrrrgfpqh: ^7 " K   mOSjvSxxvr}eZt茰ק=߾{vsgk&e0{vn1wMT|YaY|y]}zqg{ye`\{ 6]㥲22(3 x҆ BN clXsrB!3vx0ۡiOztOui;0kU](y% CIn\}x/1|CџoAv׵w$ {{' y* }< ll& zPBIccIB>C``C>"8@A8"PJ8=WJ5xi|jxwffx|korroj; $ }& ; B$ afy}wrWyĝjsCнƮyt|yy?==C8Gq& (w(Ykmf&6|u_QzySmlRtFgyb; |XdWt' yThvȕ\t~]yڅeIY\apXv=w 1yXd[L1 yE |=yyi\dpXeiJɝ͎`y+;M[cy[shMhsy]VyG{jCCwςyzOBGccGB>G``G>C6;? SF:`K;+8 xJѭV|(#^͇yb}[]Xʏp.f`{orkg|bv= yqw!y{f@&* ! &e,zOG(s /KZǂne8i/F6_vw^ ~[g:|F*Q.Z?hAcpR$LLU{{.:]xol@Nzt&F%9Ak⤎bbRMHB~sn3A=| :2&WyCH咭PxwOxBNI7(Q]Afk:Hm`U V I7~&Gqۢb\SLBEzXc' spLvJf+$ jڑ}uermkmVX**v1}'~Y^.kg( ;_vh!'hh''I &sH>(fכ362ʱإ(2S.0yo7@a^ >$HkGf%eƷ&NA6ʻrb^=R6, m #="0N^ϺŕѭZW?g`A]svwz:(';:(';zqqp) ) ) Htvw}8 Y 1Z@ ml{}tvw_Y 26 #|8 TY 16 $|8 vEwdESdETR&9ְKW9c5%d%BQaOK1,5"(f=mL~~IVޭpIJonmm`>Ͱ]equB%2D?A*иݍ͍dq9#utc\]MM\_KM[wWWY\wr-Pwg9Kw3۸ӬgKVP@EHdj\JkF&&T/Hqvs[j^XCPA Z3>P!%u'H7VXfm]ecc\\e˼ůvR$Ѭd{,BЋ|Θ*U$wӞ9! Lp|oy|iFJ&8{y/xqvAD=G.[cxw{`^WRո)d%`P5zu@6@ {,m 'e&q{,6|Zua(R?43>/M"vo(au| vviwCxCGnpuv|O]jkkl~tjz}U\vT[G}Žb]aw]lypeZ`d@]KJ]o>tqjvsongwF "1E$[-dh4$EE-1;v"I d-[$E11-EE$4hǻ鱲F pde-%[Oh-E4hhO%e;v"I y4E-hO[%-edSe%Ovw|%H-Go662puF-kT4>|:|L>a  ab1bQ=H5j  b1]j:=Vh*&/h;v!wC4z1b  j)>LV|;:;|VL)@x!a ??,i d) ci,c) da!A54545v]UwUR9U6UR8QwHnP ;'5V0HYYWX{~mY6Th+wz`@ٱ'Ȫbt;YWYT"T" s lBVU@<@ )@Eǿbs};EOVf²ϾLwHv0J16gZVTMa4BHOAAD栣iX]Z`M\aưɿkUʡ֦QqIVmZaaPw\b;vZwkkZ;vqwTTT_z z vaU Q#'$2'QQA/'SS/'AzbwU A/%K /%ASTR'2$'#RT-  Xjt'n]v1qrg 'ʐ.A\s||zqos~`Ho787R oggnog-R mggpogagnnggnng_`_|~j|}ofSc_ecf\@jaspL: : 0{ xf{}seKrclf`^4^]kwW {}2 ecb\@hcrmVW {}2 dcc\@hbrmv58wr5Z<Z08T>MT/B dB dB = vEW> = vQ E[EWG F)!9'(34)G @13(T'8&473!X ZvwED OgD6+1?0hG ET!)F'(@>)!G !!,!>@(T'D:G(X |$mqqnnoUom_p50 5R! zT?d12232300d0012dd11! 50 5rwTEfoutpoutpMv+83Юyxsnh^OY:)wpye_xddghF.FhL zlnSnTXL ZzlzlXsnTnSQv}whX XOVt88:|vwg,b]^Ļta-oDDoh-aTtdV_LȦƱweHbjцv<Oq(pu~okŴgG_^m|p}zͰKKJKl8Hg{|yr|d_FbSFGP̯ЙqtItvqkvw j Ca]]vHrxu||r]]aCqRVV o|vw"^"|vv|ۥ -pbYj^@MոlBx}|yvkd$61# ; ׷# z12Q2O R/.SH //R, =C  @4ur C~ ,Ŝ;O;ynxqztHϵyX9CPcvyݦ4lxÉn_*ÍJ ylw$J y4lxyeJ Kt;(vI SpOOpwDT'O R/-SH ./R, =<DP@҂BJZfj|̶"RY]R5`ݷγoXD3N3#*# vP`ɼDD.r~W*`b1T ? Ar)!.7.eXW  ;<<>;;{>Q5 6֩@Xn5- -L-@'g-^m-^'S e;5r6;- @33E? 8`XW~r6T ? W`]373!r ;b<<>;db>yQ. ,t;mі_- --g@-9ddL9-S ^m+@lEvTqi?eΩʩnARnvvvunruvtup%+!7'v<5++x{A9c ?:-0GOV]ag| #*1@MV_fmrw| lrrllrrl + S..K ..SS..S ! <C <4 4 C * / }' < }9 ( ThxT mrqmlrql Th S..S =C =<=< Q6. D 6 ®xT 55V A ® Ǵh|}rfSbf y% V << e \@ ol{{  | '  v5w 1 E w E[z  55  < 5 e y/ đvw  R//RS w tw|l SS EvDw _K / + >vw zM gn Q@5 67 A   )T // Copyright 2014 PDFium Authors. 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 Google Inc. 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. Digitized data copyright (c) 2010 Google Corporation with Reserved Font Arimo, Tinos and Cousine. Copyright (c) 2012 Red Hat, Inc. with Reserved Font Name Liberation. This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. "Reserved Font Name" refers to any names specified as such after the copyright statement(s). "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). "Modified Version" refers to any derivative made by adding to, deleting, or substituting ? in part or in whole ? any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 1) Neither the Font Software nor any of its individual components,in Original or Modified Versions, may be sold by itself. 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. TERMINATION This license becomes null and void if any of the above conditions are not met. DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. 0FFTMh%@GDEF'|&GPOS(JGSUB`cmapw cvt __Jfpgms#gasp lglyf֫?+&8hhead^<6hheact$hmtx  kernӠTlocaɣ: Tmaxp nameR3post-ѵprep; mj_<ϒND>NCRT/Zz33f Px1ASC !Q3>`: D9s#s3ZmfV9P99sQssGs/ss?sKsXsAsGVUV^u3TV9T9s9TV9TV;{VVV#=s9-sBs<sPTsP#T99s9PTsHs9ssD!=+Qs3ss9s=s5 -s\T k3Zd13,WsG9`R-s]^^gr333333TVVVV99h999T9T9T9T9TV9T{{{{V#Vs4s4s4s4s4s4BsPsPsPsPsP99r99PPPPPPd1ss3s<3s<3s<TsPTsPTsPTsPTTVsPVsPVsPVsPVsP9TT9TT9TT9TT 9999999X9E99Gss9ss9j999TP9TP9TPTP8V;sHV;sHV;sHV;sH{{{{{{9V#sV#=D=D=D9s3s<B9TV;sH$'Ln$.?$$k93SV=9T9V&T9TVZV#?Vy`jS9V#PMk9PsVMBkSZ9vs sBP *y)OyPP Q9PQVZTV;95s3V;.9TVTGVn '6@#s<^UsP5PsP:sRsS&k4sPsP UkPsH9@9@ s9TP999V#sPPs>k9999ssA)UU\]~V+lsss 6)}%UXrTg5+UdH1d+ddd1d1d"g{mm))s+kUFQ@;@<fB##g#5+-qgWW>~~_s    " & 0 3 : < > D  !!!!"!&!.!^!!"""""""")"+"H"a"e###!%%% %%%%%$%,%4%<%l%%%%%%%%%%%%%%%&<&@&B&`&c&f&l ~r    & 0 2 9 < > D  !!!!"!&!.![!!"""""""")"+"H"`"d### %%% %%%%%$%,%4%<%P%%%%%%%%%%%%%%%&:&@&B&`&c&e&jG/vn}y!52*) D7(JI@=:74-&ܾܹܶܮܢOLK.,+( bcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?w<   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`apcdhvnj)tiB=qDEfu7:9@kzvbm<@A8l{  8 %wKRoNOPxSQL@EYXUTSRQPONMLKJIHGFEDCBA@?>=<;:9876510/.-,('&%$#"! ,E#F` &`&#HH-,E#F#a &a&#HH-,E#F` a F`&#HH-,E#F#a ` &a a&#HH-,E#F`@a f`&#HH-,E#F#a@` &a@a&#HH-, <<-, E# D# ZQX# D#Y QX# MD#Y &QX# D#Y!!-, EhD ` EFvhE`D-, C#Ce -, C#C -,(#p(>(#p(E: -, E%EadPQXED!!Y-,I#D-, EC`D-,CCe -, i@a ,b`+ d#da\XaY-,E+)#D)z-,Ee,#DE+#D-,KRXED!!Y-,KQXED!!Y-,%# `#-,%# a#-,%-,F#F`F# F`ab# # pE` PXaFY`h:-, E%FRKQ[X%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-,CC -,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,KSX%Id#Ei@ab aj#D#!# 9/Y-,KSX %Idi &%Id#ab aj#D&#D#D& 9# 9//Y-,E#E`#E`#E`#vhb -,H+-, ETX@D E@aD!!Y-,E0/E#Ea``iD-,KQX/#p#B!!Y-,KQX %EiSXD!!Y!!Y-,EC`c`iD-,/ED-,E# E`D-,E#E`D-,K#QX34 34YDD-,CX&EXdf`d `f X!@YaY#XeY)#D#)!!!!!Y-,CTXKS#KQZX8!!Y!!!!Y-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%%%% F%`#B< XY%%)) EeD%%)%% XY%%CH%%%%`CH!Y!!!!!!!-,% F%#B%%EH!!!!-,% %%CH!!!-,E# E P X#e#Y#h @PX!@Y#XeY`D-,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,!KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-, #KSKQZX#8!!Y-,%ISX @8!Y-,F#F`#Fa#  Fab@@pE`h:-, #Id#SX<!Y-,KRX}zY-,KKTB-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY@cTX@C`BYYYYY-,Eh#KQX# E d@PX|Yh`YD-,%%#>#> #eB #B#?#? #eB#B-,zE#-P/@Go@5/_/_o ='==U=Uݸ</A  @@(F<&`ѐ`ѐѰF F@&@)AF@"'F!@#=  @`p@`з @ H=`е@ F_</A ?O@@(&)F/?@Fp5P&<<@P<'''F(F5&& &_o@F@ F_6FvP&uP&tP&sP&)pppppphpYp@tp FonHnF2U3U3UaP&`_2_P&^ZH\F'[ZxZF12UU2Uo?_S@S(,F@S"F@SFRQ(QOPOO)OYOiO@)F%IFHF!GF5FF2UU2UU @= @ 0p?_/Oo?_o_TS++KRKP[%S@QZUZ[XYBK2SX`YKdSX@YKSXBYststust+++++++st++++st++++++ssu+++++++++++++++++ssssttt++++ss+s+s+tu++++s+s+s+++++sss+++st+st+st+s+st+stu+t++++s++st+++s++su+++++++sts+sssssssss}y:wW%')L?]%uy!1=DsN0Ess`HjgaAohQ^UD,,,,Fx*2p^$v  z 0 Z 0b@HX$dXJjD8*R n !0!""Z"#J#$$j$%@%%&l&'6'(&(())))*b**+H,,t--.(.\/B/0@01B1p2 26223J334R445D556F6d6z677707H7`7z78 8868N8f888889P9h99999:B; ;";:;R;l;;>.>H>`>v>>?H?`?x????@@@@@@@AVAbAzAAAAABBB4BLBdBxBBBBBCrCCCCCCDD.DFD^DvDDDDDDEE0EHEF$F:FPFhF~FFFFFGG0GRGjH.HFHZHHHHI I"I8ILIdIIJJ(Jt$jP„^ú2J&0Xftʂʐʞ:l˞2bΌ$τ ^ИZ2|ҜӐVԪ:Հն:jִDdU./<"2<"2/<"2#<"23!%!!D $hUD@[   V f   9 I Y  ˙ F v   I     @HF V 4 &   @ H  @Hd  @@.H      T d t F " 2   @IpxHr D T d 2  $  h   r D T d 6       @(PUH6 V f v "        @;?H  $ 8   @-,1H     ` p D T t  @H  /?9/^]_]+]qqqrrr+rr^]+]]]]q_qq+qqrrrrrrrrr^]]]]]+qqqqqqqqqr+r+r+^]]]]+]]qqqrr^]]]qqq9/^]3210#!! & D6@#/ 0@?32/]q/]]q10#!#!'9#Rs M M @& L   R@ R  @    ! @2 H     O   /3?399//]q]q33223322/+332299//++ć++10+++3##!##53#533!33!!ERPPOFTR3TToH5F^}}LLhV5@I5- H.@ H@ H@ H4@ M M'@ M@ M2 L@ L L-#6"" G*n); H;n@H)) An@[&5HKn  @H @H Gt0@F.@-6 H6u!* ***$F@!!`p!!"//99//]q]9922/]]+23333/]2/++]+9///]++329/3210+++++++++++#5.'%.#.54>753.'24.'>V8u~mrwI6S=NuHBwbmkh@WP VO5G,2D(J"32#3%2#".54>4.#"32>4.#"32>8`IK_77`LH_7AH`88aJI_76`"2"%5"#4$!3#"2"%6"#4$"3#}i..i}g))g)f}j..i~f)WrCDrVToDCpuVqCCqUTpDDqZ8FT@. LG( LI L L( L@- L  L?I9II/GBJ!@ H/O0@H'VM@#0JB $RO4/G!4_o *47.54>32>73267#".'#".4&#">.'326Z3Z|I *(ZgQ`5BmK3zG8L"^A-Z+ ;7L3^TH!Q_m=~v9 LAMQ3ZB&RM9SY<[l49HVG0d--5>Vg'rQ.P;"0m}6@ H@ H?9/++]q10#!bfW.@ ` p   H ??/+3/]q10.54>7!MpI##IpMPrI""IrPWootuWD?@) o   `O0 ??/]]]qq2/]q10>54.'!PrI""IrPMpI##IpMWutooK@+        ?3/]393333/]/933107''7'73DDoh=y{=hVY Q@,  @ 0 ?32]q+M9/32_^]+M10#!5!3!q9hh1"@ 0   //]210%#>5#!(0$!BCn]N##NRR(1PX?//105!P1@ 0/9/]103!!1%0@ M L/?/82/]8310++3#) Q'&@n)n@  s#s??/]q10#".54>324.#"32>JjjHGngI0M7;P10N97N2KJCCՕs./tÓu00u: S@$4D+;K no@ H t?2?329/+33/]32/10]]35!5%!!]a CPG!"7@o!$n p_ s s??3/9/]3/2/1035>54&#"%>32!G0wJ^[Z_ >sxrx>Nzsiyqr@^ZaaSn?5f^cvprA/);u@K&n'7 o1'11' o= o @H 6s,O&&&&#s,s ` p 0 @  ?3/]q?3/]9/9/+9///910#".'%32654.+532>54&#"%>32)?~|y= !8Q7ep5Q^*b\*WF,a]Wk U^|r6$IrNWR(`l9FsK-K6dg?L)*K:Wc`Xc`/kU= ;Xoh v@:?o?Oo ?Oo@H n@ Ht??39/3329/+]q33223/+]qr310!!5!34>7!S:8 o7:5 )/.?:(! M !!@H! o@4&5H* n_ o  s$$$$$ ts?  @  ?3/]]q?9/]q3//]+99//3+310+#".'%32654.#"!!!>32:CÀvyE 4L6i}9S5FZ1O*Uhr<jI9eN!>0~8Z@"5&%5DzK)0i@ Mnn@1&)H2)o$tP`.s P .s??3/]9/]]q3/q2+9/10+#"32.#">324.#"326)o4o$H*o_o @!&/HSHo_ o  @&/H $Cu99M/uMu??9/99/+]+99//q9910#".54>75.54>324.#"32>4.#"32>4<|}<0Ph7;^B#=vs{t8#B_<>kN,*G64F*(H9>oZMwV3  Q-5X?"#@YG'$8b@> M%o n:/o_@&)H4to *s  s  ?3/q?9/]q3/+]q9/210+#".'%32>7#".54>32%4.#"32>'[lK[E9Z@#BS^0\j9C~tz~A6N3/J42L1'K;$&P~W%KH6ns'<(Azmpy?S?O_ @Pp?_@"H //+]^]]]qqqqrr+r^]]]]qqqqrrr^]]]+qqqrrrr^]]]]qqqqrrrr^]]]qq/^]210!#>5#! (1$ RCn]N##NRR(V}Yh@8RR?_ /]]]3/]39=/33/3++++10 VABU#X)H@3 @?O@H0p @`p/]q/+]q/]32105!5!UJV}Yh@8RR_ ?/]2/]]]39=/33/2++++1075 5V@}DEy^m#'B@ ' $$) 0 %$?3/?9/9/]9/3210!>54&#"%>32!m#:JNK<&?ZfW9sj3VA* K}xEI!BdO?86=I0UyZGJW3237332>54.#"32>7#".54>$324.#"32>7>VLc*G2F[m;_L Dvf 'u/;oX5R욅൉]/"EinV=>jVo?}ÆEywR}qR,Mg<:dI*ka-+XZx_PW 8L.l/PT)c( L"@7 L\\+0+%[0 _ 0 `_ ?3/]q?3//]]]3/10++%2>7#"$&546$32.#"SyY;dόUUϗc:YxLkc//d/L`1aLpEm  e:iVG-S@'EonJq X L@1M M8 MM [0@Z0@__??/^]]q10+++++#!!24.+32>qjnCxeYo?˰\R{q6G>{ R@5 0 @  Z 0__o _ _??9/]q/]2]99//q103!!!!!TV ?@& 0 Z 0_/@1H_??9/+]/]2]9/10!!!!/LT-p, M, M& M&@/ M\)\ / /0/)[0_$__??3/9//]]]99//10++++%2>75!5!#"$&546$32.#"&@veQf0qSXϛiy,`m+;Q3vn=kyA @R^  DI M M @ M L L     @ H 0 Z 0 @ M ?2?3993+3/]2]3/+833/839910+++++]]++!!!! X'{X"@PZ 0_??/]]103!!'c!0[. L @ L L@ L&&.\022222;2K2k2/2222222[2{22O2;2/2 2222222K2{2?2 2+22222222k2_2K242222222{22o2T2;2/22222222 2+2K2{22;2K2k22222222222t2[2O242 2g2@22222{2o2D2+22 22222;2K2k222;2[2{22222/2272222t2K2$2 222222k2_2@22?22222?2O222 2 \ 0&&.?22?399//3/]22^]]]]]qq_qqqqqqqrrrrrrr^]]]qqqqrrrrrrrrrrr^]]]]]]]]]]]qrrrrrrr^]]]]]]]]]]qqqqqqqqqqqrrrrrrr^]]]]]]]]]qqqqq_qq2293310++++!46767#.'&'!!67>7!     V3l-52OG@<44<@GO:80j'Z*1540,*&=p@$ H \@P`p 0 @ H \ 0 @ L L   ?2?399//++/]22+]qrq22+10!!!&'.5!Qo=,,&X(*.'b23T'w&ȳ M& M M @> M M M[)0)@)`)p))) ))[ 0    _#_??/]]q]qq10++++++#"$&546$324.#"32>bY]  ^5hegh45hele0ǥhm  efoEEonJKN @/ M[0`pZ 0_/@!H_ ??9/+]/]2qq10+#!!!24&#!!2>=~…yƂ?׃9B_?[MAvhmq7">WTm$8@ 6 M62@J M2,([%[:0:@:`:p:: ::/[0*_  _4_?3/3/?/]]]qq99//10]]]]]+]+3267#".'.546$324.#"32>G|6DP.<6vF_iIK]  ^5hegh45hele0Ǎy:I) 9gXv efoEEonJKp@K( L[ ? O  p 0Z 0__o@!H_?2?9/+]9/]2]qq2/]839910+!!!!2 4&#!!2>QńA/SrC}}B_=;maOfEgd`9N;=m;@B M! M*Z)2Z)) Z? Z  O _ o  2-_$**$_ 0 0 @  ?3/]q?3/99/]99//10++#".'%32654.'.54>32.#"F垌֙_ .QyV@jK5!ӄܟY',RtGHyW0'^?АqYS')V[PԋCH M@ L M M M@1 M`/ /_p0`@!?o ??39//]q83/]qr83933]]]]10++++++)!67>7!B4" !1w-^'.*)-&_/0!@ L  L/ L L@ L( L L@ L)! )/000 002@y I$k292Y2+2222I2i222;2 2)2 2W2y2f2I2;2&2 2222222{2292Y2i2222222}2[2?2O2$2 2k22222_22+2K222W222t2[2O22;22222k222_2422222222$2D2d2j22@222k2P2D2+222222242T2t222222{2o2P2D2+2292222t2K2[202$2 22222O2o2222222p22O2_2)/ ?2?3399//3^]]]]]]qqqqq_qrrrrrrr^]]]]]]]]]]]qqqqrrrrrrrrrr^]]]]]]qqqqqqrrrrrrrr^]^]]]]qqqq_qqqqqrrrrrr^]]]]]]]^]^]]]]]qqqq/^]]]q833/^]83933333310++++++++).'&'!!67>7!67>7!   +  J  +/%f07;;831,@|194JF@>9;??FG8<3z9D @   @+    / _  ? o   0  @ ?2?39/333/]82/]]qr8399//q83839310]]]! ! ! ! A8996T1d#5@ @ K[ +K[k Z + ; [   ; K k {  + ; k   K {  {     ; K  [  $ 4   4 D t l  p  0 `    @ p     0 :  @D  P    ` p O 0    p _  0 @ ??39/33/]]]]]qqqqqqrrrrr^]]]qqqr_rrr^]qqqrrr^]qqqr^]qq/^]]q82+M82910!! !? 5RV5BB?T= p M@ M( M M@H  @ H@ H__?2?2/+]3+_q99//+310++++)5!5!!R#3sW+@ 0??/]q3/]10!!!sWu&,@ M M/?/83/]8310++33#) W7)@ 0@??/]2/]105!!5!W-E@ M M@ @H?33/2/+83829=/3310++ #!BT/r//105!NNB?0@!p/?_/]q/]10 5!+<N5D1 L@% M M L62 F"))))"FFOFG@)H?54.#"%>32327#"&'#32>5N{V.CtX(;( @qoen:# ((-je 8ʐ-Q=$G;6X="+SzN`Q%7;O2#;-GuV/2c_v&<) heep  #B9MK.Kb3$4M@%G6p6 -F$(H@ H(O 2O ?3???3/++]22qq10#".'#!>5!3>324&#"3261fk0`VH3uha.lq+TB((@T+kt!{ϗT.J663(#Sb =p`Sy"UmjT"P7N 7@FFO"GO  @O?3/]?3//]3/10".54>32.#"3267R@F{ivI `XqhPl  GyP|ӑL8aLSced Ki?T\$5D@*%F!!@$(H!7p7/G0*O1O ??3?3?/]qq+]2210!.5##".54>3234&4&5!4.#"32>L1zfa/1fl5bTD(AS+6S9*TB))46i[Ty{ΕT.H3 '26 O{"#kS!*Zc$VP-N'OF%F@''+H)/)O)_)o))$GR$$R Q?2/]?9//2]+3/10".54>32!3267"!.JuFSft6J6V=J^ Als+K7"nEՏԃ:Y߇DuU1?B.hW9?dF#W @ L_F0@HQ O??32?/+q3/322/]3/]q10+!#5354>32.#"3螞Hz[0]%-'3 ||q>iN,  1 UTNZO3ET@3$4F//@$(H/GpGF>G0*9O$!AO Q?2/?3?3?/]q3/q+]2210".'%32>5<765##".54>3234>7!4.#"32>TksE cP2S;!1zgb/2gll0 Dq(@S*6S:po*SB(N+Mk@!AJCnQ:i^Qy}˒O\g73($Tvt:fR"*X^!Sda@&M F  !!!p!!!!!!F$(H@ H P?3?3?/++]2]qr]10+>32!4.#"!!9wbU&.J53S5!8S  '0  EmZ&>.vFAlP,u @$W g      &6F  @ H / F$(H@ H{ H ?2??9/933+]/++]2]3/+833]39910]]]]]!!!! By.TjZlE@0Fp@P`??]]qqqqr]qq103!4O9( L@U L 9F -F,,,;T;;;;;;;;;T;;;/;;;;;;;`;;/; F 0  @$(H 3P!&- ?22??32/+]2]]]]qq_qqqqrr]9/210++!4.#"!4.'!3>323>32!4.#" '?-+F3 4l|CQ_8Y{M#'?-*E3_?iK*-SsEH#JC5 5@@|pysCZ7@pXQ_?iK*+OnCdO#a@&MF###%%%p%%%%%% F  $(H @ H P ?2??3/++]2]qr]10+!4.#"!4.'!3>32L.J53S324&#"32>EΉʉFCΊ΃=~x|#@Z6>aB"|ΕSR}y͖TTzaZ++ZWQ$6]"@M M%G8p8-F$(H@ H(O 2O ?3???3/++]22qq10++#".'#!4&'!3>324&#"32>1fk0_VI3uga/po*SA)(AR*6T9"{ЖU-I6(5;aS$(48k\Tz#UmjT#+[TWZO!2D@*" F@$(H4p4,G0.O'O?3???3/]qq+]22104>324>7!!46767##".%4.#"32>T2gll01zfa/(@S*6S:*SB({ϕT\g73($S6i_TlS!*Zb$VO^ L@ H/_ F$(H@ HP ???3/++]2]]q3/+10+34.'!3>32.#" *9P;1 7&iu<#NG9 ;FE;]A#  HO;:@ M! L@ M2F*F)@F H)) FO=P=0==@=/= F 2/Q$*p**/***$Q  ?3/]?3/]]]99/]]qr]q99//+10+++#".'732>54.'.54>32.#"A|sg}T *>S50S="1UsADh@5!!.5##".5.I53S R .O v . O... .......@01!!! !!-ϸ;;r:d:  L L@3 L L          @ H @O  O  ?2?39/3]]q/]83333/+]83339310++++! ! !! 3/1x/ bWh:#$? ͱ?3/ 901%!#"'52676?!H&TQW_eL5U@3)T)IRY *f0/D: P@2GG @   O_PP?2?2/]]qr/99//]1035!5!!D )J\!W-W@6( L( L! ,,(_  0P" ++??9/9/]]33/]22/3910++".54.'5>546;#";-EmM( 75.54&+532++9]O!8K+*K9!O]9Ŋ!323267TKKBm.'C=:3T)RPN&-k0D4 =?F*  &.  2*:s@  ; K [ {  + ; k  [  [ k  + K [   @H @H @H @H ;  @H @vyH d  + ; K i   @adHt ;      [ k { $ 4     0 $   8 { T d     @ P ?@     @ P p ??9/^]]qqqqq_qrrrr^]]]]]]]qqqqqrrrr+rr^]]]++qq++++qr^]qr^]q9/^]3210!3 ,+3D$:?%/ְͰܱ22ͱ22 ܰ"2 Ͱ!2 &0167#5&'&5476753&'C)@B*xiqxqwuۢngn`<\[9, em鎌d])^0@ M( L%#'n n)  0n@7&5H)2@&=#5354>32.#"!!!267^ 327'#"&''7.732>54.#"0p<+L9!!9L++L9!!9Lj@ M M  @e;/O  pPP` \ ;   0 @     @O     ??399//]q332329/]qr^]332292/^]qr83^]3/]qr^]83^]993310++]!!!!!5!5!7!5!! !RP!!쓢T9=@ H@ P  @ H?/99//+]/+2210!!  5 K]ʹV MW L@ LF L$@ LJ( LDQILH5H"HHIY"TH?I@H"I??I",_-H,@H,QDYD2@'---- '0'@'' ?2/]/]3/]9933/+9////+999910++++++2.#"#".'732654.'.54>7.5464.'>?WxQ'9I)pi.Ng9UpB3I/)C/:x|gU .DX5z~*T~T?mG8O0&E3 GoN]d0Qi8)H4BhI"1;A'5& 0JlP,QE60=O2NZ1DnP%-<$AP-:)!-HkN1P?01AP0'6) IE'5% "4c@J  P  0 ` A_o/?_@+324.#"32>%32>7#".54>32.#"4^dc^44^dqp`TnP+`~ަ`8T9)@0! 9TtOhd00bdNtS9 />):T5d^44^dd^4r~ݥ`,OoTަ``ށ>hK**3/+UD)?q\`k:%?S.).%'He-2A@ L L( L 8(  @4H  C?o@H9 3?@H/#3,?223?3/+qr9//+]]+]229/10+++"&54>?54.#"'>3232>7#"&'#'2>=as.Ng9&%+KjEAiL)! ?GQ"o#7&\6).ia4>4>H&04<2CB5_5o55@Hp44@H4C55C4++??9///+]+q93/]99//2/8329910++#".54>324.#"32>##!24&+3264^dc^44^dqp`TnP+`~ަ`EuJ`NKEBCd^44^dd^4r~ݥ`,OoTަ``9/q^v;9324.#"32>3WuBBuW22WuBBuW3,;##<--<##;,VBsU11UsBCsU00UsC#=--=#"=..=14 u@E  @ /_o  @ @!H_@/]]]+]+3M2/9/3_^]+M2210#!5!3!5!oUT=3!K@* L   # _ o   ??3/]9/3/]2/10+'>54&#"'>32!5KTTC*'*U +HfBGiE",DSM?jy5Q@638"*1b.P<" 8M-5P@534,~5m@B"#0-#--#7 0 (""""@H""(  P ` p  ?3/]q?3/+]q9/9/9///910#".'732654.+532>54&#"'>32~TqG!7615)183-$.+*32Mc9DfC"IO-A)cp$;J' -0/1%~#',,- 3M33E'@[.9WU*@/?_/]q/105!W +V!:'G@F""") F@ H P  ??33??3/+]q22q210!.5##"&'#!!32>5! +1:!4Q(C42D*N+1@%0* 7@hK)-QsFB"IC6G/O@+ MO _  0`/3?29/]/]]3/]9/]10+###".54>3!ÛQ`52_Xu-XXT]2D@  0//]10! 1`W̹س M@% M@ M K4  $@/_dH 0P`0`p;pSXHDJH@!58H/ ??9/^]]]qq+++qr^]q_q+r/^]]/]9/33310+++#"'532654&#*73GtU-8*K>8B >!^['F3v% #"RRRj T@ H H    0@ H?2?3+]29/33/32/]10++535733Rylzuy-'Q L @) L L L)  @H #??/+]]10++++#".54>324.#"32>+U~TP{T+)S~TXQ&!1!!3##0!4#1M\33[NK\44\K;N//N:7!32>7#".!r#:JNK<& ?ZfW9sj3VA* K}xE8BdO?86=I0Ux[GJV=Xf8P0 YtD8i_3&$V&ʴ%+5+53&$@ &Z%+5+53+&$@ &%+5+53&$@ & 0%+5+53&$@ &%+55+553&$P@ 8%+55?55@[ ZR^+ ; K   ?_o_ _ _ o    _ _?2?299//]q/]_q9///]q9++3210!!!!!!!!#!>C=\h 8C>oTW&&x !1*%+5&(5 &ô  %+5+5&(@  &<  %+5+5+&(s@  & %+5+5&(s@  & %+55+55&,&%+5+5hf&,@ &J%+5+5+&,& %+5+5b&,@ &%+55+55q!u@N L L[##Z _/   @36H @+1H @$)H @"H @H _ _??9/+++++]32/3/32q9/10++#!#53!24.+!!32>qjƁnCxedYo?˰\RTR{p5=z=&1@ &/%+5+5T&2@ (&), %+5+5T&2@ (&T(+ %+5+5T+&2)&.( %+5+5T&2(&3C %+5+5T&2(&,* %+55+55VV }@!H#3C !H, < L @;!H#3C!H,<L 0 P   @`p  H?+]q3/]310]+]+]+]+ 7   Vd```Ff``bT&20@ M* M$ M$ M@ M M M@ M L @ M M M M@ M L M @; M+*'[ 4'[0*+."_  ._ ?3/?3/99/]]329910+++++++++++++++++7&546$3273#"'4&'32>%.#"ml] gJRprbԔ[a+++k?le0)+-f>gh4Ic! e'#u^㴥hMd>KlcAE{J&8I&%+5+5{J&8@ &l%+5+5{J+&8& %+5+5{J&8@ &%+55+55#5&<@  &_ %+5+5B@'[ Z 0__ _o_ o    ??99//]]/]2210#!!!!24&#!!2>=~…'RƂ?׃9B_?[|J?sgn|%$AX?>@ L L@, L9FF2@ H2@ H22'FAAPA&F''$(H'@ H'9"P-'O??9/++]]]9///++10+++#"&'532654.54>54&#"!4>32,_fG><>=QJ2KXK2!292!]Xgl<{~rm5!2;2!2JXJ28IzX1  E9.D;9I_B.E:25>(AN o{B6[zD6UD6-)17AUq4x&DCE&FI)%+5+54x&Dt @ E& EH)%+5+54x&DKF&KE)%+5+54x&DRE&ҴP`)%+5+54x&DiE&״IG)%+55+554x&DP )J&ٴOE)%+55+55BN=LU@  L  L&@& L&R0GDD /8F99SF////W_W WG@7HJGO _ o  D0QRR>MQ$)$/$5>O8 888?33/]2?3/]329/32/]3/+]]q3/9/329910+++"&'#".54>?54.#"%>32>32!3267%2>="!.?MeOO~X/Ex[+?(%;* ArrtE`t6J7U;J^ Al9\B#0U@&K3+K7"nqt2T="+SzN`Q%7;O2#;-GuV/k92Y߇AqS/?B.hW91Oe3- #B9MK?dFPW7N&Fx#  (!%+5P-&HC(&ߴ),%+5+5P-&HtK@ (&b(+%+5+5P-&HK@ )&.(%+5+5P-&Hi@ (& ,*%+55+55&C~&%+5+5rp&t@ &S%+5+5&K@ & %+5+5c&i@ &%+55+55P'5@ L@ Lش L% L@ L.(G%!'!@, H!'!'7.G%'&&!+OP`!3O ??99//]933/39/99//+3/]9910+++++#".54>32.'57.'!%4&#"326XEtT.DΉʊGCΊ.Z"F.ܦ9D%(Q' d~x|#@Z6}Foz̓RInkJHn5zF.X*.qPsK#d&QR @ $& /?"%+5+5P&RC$&մ%( %+5+5P&Rtz@ $&^$' %+5+5P&RK%&*$ %+5+5P&RR$&/? %+5+5P&Ri@ $&(& %+55+5514 M@(   @?]+M9/_^]+M10535!53xqm#/@ L 0 L L@ L L M@( M'($G 1G ('+!O+O ?3?39/329910+++++++#"&'#7.54>3273&#"4&'32>EΉc@q;;CΊh?e;6aB"|ΕS.+|Ity͖T+(rJs\GE/Q"4%#+Z\&XC\&Xtx\&XK\&XiWh&\tFW"2O@#G4+!F""$(H"@ H"0O&O @5;H !???+3?3/++]22q10!3>32#".'#!4&#"3263uga/1fk0_VIop*SA)(AR*lu2<k\PtuƐQ-I6(5;a OecN Wh&\i3&$MN@ &%+5+5<[&DMG&EF)%+5+53&$@ &&%+5+5<&DNE&JV)%+5+53b&$Q  %+53234&4&=!54.#"32>;1zfa/1fl5bTD"(AS+6S9*TB)AUO{")46i[QvwǏP.H3 '26~hN'T_!R&(M^N& %+5+5P-[&HM@ *& ()%+5+5&(a & %+5+5P-&HN(&-9%+5+5&(Om &  %+5+5P-&HO (*%+5W&(Qj %+]5Ph-N&HQ3333%+532!4.#"!#535!!!9wbU&.J53S5!Ӡ8S  '0  Em>^&>.vFAlP,9&.'Ҵ  %+5+59u&Nyٴ  %+5u: @ M( M M @ M M  @ H  F$(H@ H ?2?39933/++]23/8+3339910+++++!!!! By.Tj:@Zl&/&m %+5+5jhf&OO@ &M%+5+59&/%+59&O: %+5&/r@ %+5?5&OK@ y%+5?5&/O %+5q&OO H H++ E@&/?  Z   _??99//923/33/29/]10357!%!'3ABѓߓt) z@PF  p  `    :  5   ??99//92]3]]]qqqq]qq22/]22/]r10!57!7}}31EEJ=&1@ &Z%+5+5d&Qt@ $&d$'"%+5+59=&1%+59dO&Q .$"%+5=+&1&%+5+5d&QL$&&,"%+5+5,'Q_B@+$$% po?]]]]]]qqqqqq5+5K9P8@. LZ5;)Z 0)_/$ _?2/]???2/]29/]10+".'732>54.#"!4.'!3>32Js\H %,46C$ CgGLc9  a{Quj2*g-C+*!-VR'^U';cHD%\ZL?EE>dF'@̋ВNWdO3g@+2 L F...555p555555%F$(H@ H%P) P????3/++]2]qr]910+"&'532>54.#"!4.'!3>32E8S  '1 .J53S.?iK*-SsEH#JC5 5@@|p@pXAlP,T&2MN@ *&() %+5+5P[&RM @ &&$% %+5+5T&2(&-9 %+5+5P&RNP@ $&)5 %+5+5T&21@ (&o)2 %+55+55P&RS@ $&d%. %+55+55T+& M @K M[+;K++---@ H#[0__o( _ (_?22?329/]q/]]+_q9///]210++!#"$&546$32!!!!!.#"3267&k6Y] 8c0e^^,gh45id.V&j b B|onFPKN*:C_@@G++ %F&&AF@"'.HEE1G Q@@6;.O"6O%%%?33/]2?329//]+3/9/29910"&'#".54>32>32!32674&#"32>"!.hvBEāʉFCΊBGjt6J7U;J^ Al~x|#@Z6>aB"+K7"nOPLSR}y͖TPIQHY߇AqS/?B.hW92aZ++Z?dF&5@ & %+5+5 &Ut@ &I!%+5+59&5Դ'%+59O&U9X(%+5+&5f&%%+5+58&UL8& &%+5+5;&6@ >&>A %+5+5H&Vt9@ <&[ %+5+5H&VK@ =&B< %+5+5;W&6x /E> %+5HWO&Vx C< %+5;+&6Z@ >&@F %+5+5H&VL@ <& >D %+5+5W'xC7W8'xW+&7!@ & %+5+5&WoK@  ""["" %+]]5O@    ok  + { ;  [ k ; {  + ; [ k { Z  K[@*4H t@Hk{T;$kT;$Tdt[D+[4 @P$4pTd;$h4DTt;[$ D 7{@Co+;K K[ 0p _ _  ??9/322^]]_]qrrrrr^]]]]]]qqqqqqqqrrrrr^]]]]]]]]qqqrrrrr^]]]]]]]]]qqqrrrrrrrr^]]]]+]qq/^]+]qrr32]qr^]r^]+M99103#!#53!5!9rm8q@H( L_F  O_o@&,H O  OO?/]q32?3/32/]+q3/22/]3/3/10+"&=#535#53733#3#3267|X͹32.#"!Hz[0]%-'3 >iN,  1 qW K @( L  n  u P`p u ??9/]32/39/332910+.#"3#!#737>32  A9 $% 1V\31,B=k>iN, 3D&$'P-3@!PB@B0B BB8g=@%%+55+5?55]]]]5<&D'Ptc7@Pr@r0r rrJ&[mp)%۴OE)%+55+5+55]]]]5&&`%+5+5B&t@ V&VY .%+5+5T&@ 3&T36%+5+5&tz@ 0&b03 %+5+5;9'6H9O'kV9'798'W y@=& 6 F )9I &6F)9I 0@p@%H/?_/]q32/+]q]/]933]]10#'##53Ӡ> y@3)9I&6F)9I 0@p@%73'P~Y4$2?"$?2"3W~3YuB'>**>'BuY3@ FS?9/105!'p#l'L L@* L  L L_  @H #//+]10++++#".54>324.#"32>#(E]44]E((E]44]E("/.""./"n5]E''E]54]E((E]4-""-/""/LW@m M M  K[  K[4t 7@,1HO?@"%H@H ??++^]qr_r+r^]]]qqqrrr/^]/]9/810++".54>73326793W?$ 07?B1-5?W3J20Q>+ *s5*3 !@ L LDdt@mH   $!4!!!!!!!!!!!d!t!P!4!D! !!!!!!!!!!t!!`!D!T!0!!$!!A!@6@H /?_/]q23+_^]]]]]]]]]]]qqqqqqqqqqqrrr//^]+]10++".#"#>3232>73,YTK" /VI-ZTI! .V&/& --fX:&/& .-fX: =@(  /?_/]q22//]10#53#532X" +" +4@#/?_/]q/]3/]105!E!$%nJU h @ H    @#H@H/?_/]q++22/]3/]3/3/+1053%53!53i;L!%v)$&$Tk`5%HHHHHHHHHH@ H@HHHHHHHHHHH@ H@HHH@ H@HHHHHHHHHHH@ H@HHHHHHHHHHHHH@HHHHH@H@HHHHH@HHH@HH@H@HH@HHH~~H}}H||H{{H@zzHyyHxxHwwHvvHuuH@ttHssHrrHqqHppH@ooHnnHmmH@llHkkHjjH@iiHhhH@ggH@ffHeeH@ddHccHbbH@aaH``H__H@^^H]]H@\\H@[[HZZHYYH@XXHWWH@VVHUUHTTH@SSHRRHQQH@PPHOOH@NNH@MMHLLHKKHJJHIIH@HHHGGHFFHEEHDDH@CCH@BBHAAH@@H??H>>H@==H<KbY]  ^5hegh45hele0;phm  efoEEonJK,.H@1R  ^ R^ 0%)H@#H`/ @@%)H@#H?2?9/++q83]]]]3/++]q82933++++10%!.'&'!!H  +u0^&-)*.'^-!0=1T L@   @ H @H0 _ __??9//]]++9////10!!!5!5w9\GWT2='@Z Z 0`?2?/]q10!!!! s3Z M@+\ [ Z0_  _?2?9/332/]]99//]1035 5!!!ZQGsv B7#5<?S (3@(\/ [!55555w5f5'5G5W555555555v5g585H5%555555555w5X5E5&56555555555w5f5W5F5'5755555555v55g5H5955&55555555h5U5F5755555555b5r5S5D5@555&5555555555u5V5f5G565'555g55555555t5f5R5D505"5555555555r5d5V5@525$55555555555d5V545"5557555555p5d5P5D555T5t55555;5 555@5555[5k5{54555)[O_o0_/_' ?22?2/]^]_]]]]]]qqqqrrrrrrrr_rrr^]]]]]]]]]]]]qqqqqqqqqqqqqqqrrrrrrrrrr_rrrrrr^]]]]]]]]]]]]]]qqqqqqqqqqqrrrrrrrrrr^]]]]]]]]]]]qqqqqqqqqqqqqrrrrrrrrrr^]]]]]]]]]]]]qqqqqq9/3322104&+32>5#".54>;5!32+;#"*TwM$6ܒGJ**JGە6$MwTژq2YzcXnwÊKKwnƖXHzY2D;`#2@%%%%%%%h%x%Y%J%)%9%%%%%%x%%%i%Z%K%9%% %%%%%%%%y%j%(%8%% %%%%%%%8%H%h%%)%%%%%x%%i%Z%K%% %%%%%%%y%j%(%% %%%%%%%s%`%B%R%4%%&%%%%%%@%%t%f%%%g%%%%%%%%F%V%v%2%$%%%%%%%%t%f%B%4%%&%%%%%%y%V%f%$%%%7%%%%%%%t%P%D%+%%%%%%%T%d%%;%$%%%%%{%%%4%T%d%Z Zd K:@mDt $4Td `O 0 % Z Dp  0    _ ??339/32/]]q^]^]]]]]_]]qqqqqqrrrrrrrr^]]]]q9/32^]]]]]qqqqqqqqrrrrrrrrrrr_r^]]]]]]]qqqqqqqqqqrrrrrrrrr^]]]]]]]]]]qqqq_qqqqqqqrrrrrrrrrr^]]]]]]]]]qqqqqqqrrrrrrrrr^]]]]]]]]]]qqqqqqqqqq10!#".5!;!32>5!#(чA#JsQ  QsJ#AѐUC-PpF  FpP1ƒCS5q@B M M,$ @$`$Oo$$1[7 Z111&&&&##&_%_??322/3//]q2/qq2/99//]]3310++267>3!!>54.#"!5!2.54>$5b0hq >a7ibcj7e> pf0bRߍf35Vel99leV3fߛRb&,@ &%+55+55#5&<R & %+55+55P&~TN@ :&:=%+5+5M&T@ 8&N8;%?H?@H?H?@H?@H?@H?@H?@H?@H?@H?@H?@H?@H?H?@H?@H?@H?@H?@H?@H?@H?@H?@H?@H?@H?@H?H?@H?H?@H?H?@H?@H?@H?@H?H?@H?H?@H?H?@H?H?@H?H?@H?H?H?H?H?H?H?H?H?@H?H?H?H?H?H?H?H?H?H?H?H?@ H?H?@ H?H?@ H?H?H?H?H?H?H?@ H?H?@ H?H?@ H?H?@ H?H?@"H?H?H?H?H?H?H?@ H?H?@ H?H?@H?H?H?H?H?H?H?H?~~H?}}H?||H?{{H?zzH?yyH?xxH?wwH?vvH?uuH?ttH?ssH?rrH?qqH?ppH?ooH?nnH?mmH?llH?kkH?jjH?iiH?hhH?ggH?ffH?eeH?ddH?ccH?bbH?aaH?``H?__H?^^H?]]H?\\H?[[H?ZZH?YYH?XXH?WWH?VVH?UUH?TTH?@SSH?RRH?@QQH?PPH?OOH?NNH?MMH?LLH?KKH?JJH?IIH?HHH?GGH?@FFH?EEH?@DDH?CCH?@BBH?AAH?@@@H???H?@>>H?@==H?@<7!!.'32>7.#"\AUoHIu[B ( 60#$*  ,E0'L?/ #7M30H.8^E&'E]675/:M9 B?7.aY*-\]Jd;(XW >l L@ L1 4F@ H +F@! F$(H@ H0O11&9P &O???9/9/++]29/+910++#"&'#!463232>54.#5>54.#"4owe7 lq9#=Q.9s\: 9AF":X;$P~Yq,C/6P5XtB7'9\5/ZRIoR8 7] #A[88^D'rc$?/EoOXk:  M@ M    @ HkT +K4{d ++Kk[kO ;K[k4 l+;KdtKK[4 :tK[ @pOo @O@ M ?2?/33+/]82^]]]]]]]qqq_qrrrr^]]]]]qqqqr^]]]]]]qqqr^]]]]]qqqr^]qq3/8+39/^]9_^]33310++!>7!!>7*'u% 5: >MOIG?{7nu~FXV2 L.@ L///2/2)G4 G0)).@H.@HO L/@ L/O0O$??2+9/+]+3+/]99//]3+9910+4.'32>".'#".54>75!b 7H(CkL):Y=Fa< '+' C:\?!GɁƇGI`UEufX(LiSBpQ./Rsj5rTlLEun_!:MN7h@? L  L*F00##095GO0//'R+$$$Q  ?3/]?3/]9/9/]3/]9///910++%267#".54>75.54>32.#"3"K:!Mg\kh3*Mj?=_A"8lfFr^N"*eETX3XxEB{^8UM<"B4!/TtF9]B(*BW3?jM,(A-{98A90; A:HJBo6@ M% M L M@ M&0@54.'.54>75#!5!D(Ga86s^<  #A\:@lD.Pk{@ "$" >{lQ/8E+&CkT*WQDJ%(*%3$'Jz`PA=kXdN#b @' LF###%%%p%%%%%% F  $(H @ H P ????3/++]2]qr]10+4.#"!4&'!3>32M,G45W=!  @TlH]U)XKe=)PsKSDy*01//L5,\eZ%C@!F@"&H' F0@"&HO/  Q Q??9/q/+]2+210#".5322>7!"!.lv>yp6-'D4  3A)'D3 z1B\vx] /op/r-ll-: w@Z 0 L0 L @ H F?O>p`??]]qqqq]]qqr^]3/+10++3.5! 5@F!N @<3u: @ M( M M @ M M  @ H  F$(H@ H ?2?39933/++]23/8+3339910+++++!!!! J#j:2 T##@ M M@ M M!@ M#    @  @ H%k%T% %+%K%%%%4%%%%%%%%%%%{%%d% %+%%+%K%k%%%%[%k%%%%%%%O% %;%%%%K%[%k%4% %l+%;%K%%%%%%%%%%d%t%%K%%%%K%[%4% %:%%%%t%K%[%%%%% %@%p%%%%%%%O%o% %%%@ P?2/9/3^]]]]]]]qqq_qrrrr^]]]]]qqqqr^]]]]]]qqqr^]]]]]qqqr^]qq3/+82/^]839/9_^]3310+++++).'!'.#"'>32Tڈ   ! ,+0 60c9QtYG" -9>:0W_[SIE`=  +\b`]:'@#F"""@@DH"@25H"@$(H") F@DH25H$(H@$ H))p)))))) P  ??33??3]qr/++++]22+++]210!.5##"&'#!!32>5!Q&zV4W+F42P: ,56ci0* 7@hK)-QsFB"IC6:V г M M@ M  L M M @Ff I@qH Vv6FV"pRbD0"rTd@@HbrTB4&dt@P4g`DT `pDT 0dt@$47p_@oP/?P@ ? ?3?3^]]]qqqqqqrrr_^]]]]]]]qqqqqqqqrrrrrrrrr^]]]]]]]]_]]]qqqqqqqqqqqqqqr+rrrrrr^]]]]]]]]]]]]]qqqrr^]+]]qqq//8393310++++++!!>54&'!?lNz)8O2Nc^:PNQw--qBoH@ M< L, L L@ M>F*/9$*C9@ 7CC7??9/99992/+]]2/9////+]+9310+++++'>54.'.54>75.54>75+5!D(Ga86s^<  #A\:@lD4o|CwW32Oa/ DPLLEe=5Ys=dq=5D-&CkT*WQDJ%(*%3$'Jz`L_"="5>3!804,s@  $a$,13 |H7 s|ںJL} yWO-=@G/&G@$*H@ H O)O???/++]q210#".'#!4>324.#"32>@wk7[M>EyrɖX%D_9;S54M5Q6vŎO%27 WwJOڂZc4.W}O9E2[OoO9W  L @ M6 M@ M--# F ;F#3O*..*??3/99/2/9/10++++'>54.'.54>32.#"T,Mj>(SOF4!%  *Lg>-]XL:!2Ryis;*2:"7UA- :J3%  +@X='RL@J$(*%2$ +=YzQ;oCKB$0MdhdPQ:/R@"(G@3!#".'4.'#"32>Dˈ͊E_ '/1<0%JDvX3}yA_@i~GJʁҊB(^l|$?reV$-[^,Svp:!r@U( L/? F 0  o#`#p#####OO ?2?]]]qr2/]9/2/]10+"5>3!!3267#"&5'OE5 +36+0277|  (4  T:K@% MFp F@ H P??3/+]]qr210+#"&5!32>54.'!T;}ˆ_l;R4$,*#;ۚR.eo?p%(qPWjR%/8@-FF &F11111v11T1F1$14111111111y1f1T1F1 111111d1t1161V11111111v11I11"1111111v11B1411&11111b141D1T1&111@7H1&1F1V1v1 1111t11f1)19111g1111@]`HI1&16111111Y1i1y1D161 111111111$141D1d1 1711111t1K1[1/1?1111111`1p11?1O1 111O1o11111011)R!-Q??32?32^]]]]qqqqqqr_rrrrrr^]]]]]]_]]qqqqqqqqrr+rrr^]]]]]]qqq+qrrrrrr^]]]]]]]]]qqqqqqqqrrrrrrr^]]]]]]]]qqqqqqq/9/32910#.54>746324&#">jQuyÉJ7! !.'!'.#"'>5!!.5!!B[97{Œ};;[=ErU`zu;k;uzpUqEQqO=@ =..(=F<<3F((F &?????t?f?4?&???????f??D?6????????y?f?T?B?4?&? ???????t?f?)?I????????t?f?9?I?"??????v????T?F?$?4???????y??&?F?V?f? ??@?????r?d?V?)?9??h????V?f???9??&????????i?[?I?&?6? ??????y?k?V?4?&? ?8??????{?d?K????+??????P?`?????O?_?????<<8O#. Q-?32?3329/^]]qqqqq_qrrrrrrrrr_rr^]]]]]]]]]qqqqqqqqqqrrrrrrr^]]]]]]]]qqqqqqqrrrrrrrr^]]]]]]]]]]]]qqqqqqqqrrrrrrrrrrrr^]]]]]]]]]qqqqqqqq^]/]9/99/9/1032>54.'7#".'##".54>7326=!^U6I,=`DyG:ohJrT::TrJho:GxD`>,H6Vaڎ0ZNHjI ]ȉH &V>A(%+5+5&(y<@ & %HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH}}HzzHwwHttHqqHnnHkkHhhHeeHbbH__H\\HYYHVVHSSHPPHMMHJJHGGH H H H++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++55+553t@H L M-!Z 5@3-.0-Z?00 .0..'_p0_1._?3/]??29/]qr3/]]2+M910++>32#".'732>=4.#"!!5!$g~Kuo5*fJv_L %,46C$ >H ==H <7#"$&546$32.#"!!QxV:b̊TS̕a9WuK[c8"8d/L`1aLpEm  e:iVG-S@'2_WYe7;6,`&,&@% @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @H @}}H @yyH @uuH @rrH @nnH @ggH @ccH @``H @\\H @UUH @QQH @JJH@ @CCH @??H @88H 77H 44H 33H 22H 11H ..H ))H @ ((H @&&H %%H $$H ##H H @H @H @H H H H H H @ H++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++55+55-x&/x'H@ H@5 H\!,Z'[1+_!_!o!!!!!,``,_???9/]qr/]99//2+]++10#!!#"&'532>7!!24&#!!26xAÂM1-5AUnH:(%$#&C{y=֋\ZtC~N" 8bړ32!4.#"!!5!%[hv@DkNXB9 HiC! _&@ &K%+5+57&CL8>&J&!)%+5+5h6 @ \Z Z   t `  $ D T      d t P D        D t   +  d ; K    [ k  4    t ` T 0 $     P D +   4 D d t   i    t + [   @uK {  $  { d P 4 D   7   p 4 T d      + ; K k  T  +  ` ?3??_^]]]]qqqqqqrrrrr^]]]]]]]qqqqrrrrrr^]]]]qqqqqqqrrrrrrrrr^]]]qqqqrrrrrrr^]]]]]]]]]]qqqqq/^]9/10!!!!!c&'i'hsh3$wU M@, M [0 Z_ _ o    __??9/]qr/2]9/10++#!!!!24&#!!26wAÂ%{y=֋xZtC7!!չx"@7-= $-6th>ksU=(E-@#&)'- -Z'  ('''&'''/@  ///////V/ /9////i//[/I/&/ /// //9/Y/i///////v/Y/F/)/////v// /)/Y////////f//T/B/4/&//////////r/`/R/D/2/$///////////t/`/R/D/2/$/@//g////////t/b/T/F/2//$/////////t//f/D/T/2/$//////////d/t/P/D/ /0///7//////p/d/P/$/D////////T/t/ /////p//O/ //)& @ L ,(?22?339/3339+32^]]]]]]q_qqqqqqrrrrrrrrr^]]]]]]]]]_]]]qqqqqqqqqqqqqqrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]qqqqqqqqqqqqqrrrrrrrrrrrrrr^]]]]qqqqqqqrrr^]]]]]]]]qqqqqqqqq/^]833/833/]833/839/32999910!".'!.'!3!2>7!!##"  %+.,0F8009F0,.+% Gd  -=G$Nj@W@jNDi$G=-  .8(@X L\ /* Z* * *Z4:\@ H/__o %_% _0 `p?2/]q?3/]9/]q9/+]99//9/910+".'%32654&+532654&#"%>32~~c :OhC;;{l?^E/^vtI(Ih?CsU1J4c]]7\D&kaeY`d[`(DZ1=\j94_TEoS9 1QqI]o>7m@) M  M \ @P`p 0 M@ M\ 0  ?2?399///]22++]]qr22++103!!!46767eL2b'.*F?(X&,,7>&J@ &# %+5+5Z M@, L  Z 0a?2?39/99/]23/]833/839910++!2>7!!#!'4>L1,2.(  ##@iNDk#H>.  O'H@ H@ H\ Z  `` ???/]9/+]++10!#"&'532>7!!i1-5AUnH:(%$#&C~N" 8bړ!0=+T27#@Z Z 0`?2?/]10!!!!s3T&7  L@C L  94d4d0 @`??39/3/]83/]_]]qr^]839_^]339/10++#".'732>?! !(Oa}VGC=R&N,#71.3*+>S~V+.K7%XG (3]@(\/ )[ IY @&+H[!@&+H!5555555i5y5[55)5I55555i55[5)595I55 55555Y5i55F5)55 55555555i5F55)55555i55[5)595I55 5555i55F5)55 55555555r5`5T5@54555555t55+5;5[55@g555545D5t55555555p5d5@5455555[5555$5755555D5t5+5555555p5@5`555555_5o555 50_/_'    ??99//]3232^]]]]qqq_qqqrrrrr^]]]]qqqqqqqqrrrr^]]]]]qqqqqq_qqqqqqrrrrrrrr^]]]]]]]qqqqqqqqqqrrrrrrrrr^]]]]]]]qqqqqqqqq+/+^]9/3322104&+32>5#".54>;5!32+;#"d,3TwM${OܒGJCCJGەO{$MwT3,ژq2YzcXnwÊKKwnƖXHzY2D;h S\  "H @$H Z @%H @H Z 0 `??2?3/]++3/++q10!!!!3'9hsstn<@$ MZ Z @H 0   _ ??39/3/]]+210+!#"&5!3267!'_n|C?kR\F'#?HiC!  s@0ZZ 6 '          u  @ H   H @ H  H @ H  H @H     v  @ H   @H      s d S E 4 %          p d R D 2 $          r d R D 6 $   h    D d       D d ;      T d @ 4    8  p @@ 0 P  0 P p   @ P p  / Z 0 `?2?33/]^]]]qqqr_rrr^]]]]]]]]qqqqqqqqqrrrrrr_r^]]]]]]]]]]]]]]qqqqqqqqq_qqqqqqrrrrrrrrrrrrrr+^]+]]]]]]++q++r++^]+]]]]]]]]qqqq9/103!!!!!ssh\  @H ZZ  @H @ HdR@HrdRD2$dtRD2$rdRF4&t@ H@Hr`TB4"vdVD6$t`4T gTt+TtK4pdPD0$7 @`@@4`P`?ZO_ 0@  `?22?33?/]r^]]]]qqr_rr^]]]]]]]]]]]]]]qqqqqqqrrrrrrr^]]]]]_]]]]qqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr+^]+]]]]]]]]qqqqqqqqqqqqqqqrrrrrrrrrrrrr^]]]]]]]]]]]]]]+qq++^]9/3/+]103!!!!!3#ssst;@#[Z __o __ ??9/]qr/2102#!!5!4&#!!26{y=AÂ;8}nP7!5!.#"'>32#".'7_d8"8c[KuW9äST̔b:Vx7eYW_2'@S-GVi:emEpLa1`L/.n@ , M M( M( M"@, M%Z  [0 Z 0  _ `  *_???9/?/]2q9/310+++++#".'!!!!>324.#"32>Z_ 'e⎟W,ZZ\Y,,Z[aW(ǥh\χؖQfoEEonJK#7o M@ MZ p 0@[ 0__ ?2?9/9/]]3/]83]]q29910++3.54>3!!!3!!"#}CrS/Ań#=_B}PEfOam;/N9d<ND^8@@&**4 G 0G:`:p:4O)O??9/3qq/]q99/104.#"32>2!".54>7>7>z!>Y7;`E%%BY4;_B$ɋIAApg`1afXjL1HjaM!M_`KKoFs    0EhaCsT0:"-a L@ L*G F/$F$(H@ H "R$$#RR??9/9/++]29/910++2#!32>54.+32>54&#]M'CX1;cJ)B\9<`D@V3`r:>hQ4R:% #>Y=:u$8'*;$2#C>::@ HF$(H@ HO??/++]3/+10!!::h:@KH v9I   F`pH O  O?22?3?/]]99//]3]]]]q3]q3/10#!#3>7!3#B(+,}876|ޭ~+hV/'P-NH:)" M@ M L @ L" ((H)!)) !  @ H +++;+[+k+/+++++++[+{++O+++++?+O+++++++ +/+?+_+o++++++ +/+O+_++++++ ?+O+o++++++ ++++++_+o+++?+_+++++k?+o++++++/+_+++++++++?+O++ ++:++++++`++O++++@B++o+P+?++++++p+?+_++ +" )!?33?3393339933^]]]]]]qqqqqqqqqrrrrr^]]]]]qr^]qqqrr^]qr^]_]]]]]qqqqq3/+8333/83339/^]32999910++++"&'!.'!3>7!!##X:>,'8+&&+8'-> ,;=7}KV+ & +VK8<75N9y7 L(@= LH /*F* * * G5;O;H/R% +R% Q?2/]?3/]]9/9/]99//9/910++"&'732654.#52>54&#"'>32) &4@"PY+NmA?hK)NH=3% IrX[i9&C[48fM.8q,'=*O@2># !9-( 'B\:EwW1]:a@ L L @  @$(H $(H@ H ?2?399/++]2]+]210++!!4>7!M:PVM&<@<:]&*@ &#%+5+5:e @ L F$(H@ H @ H ?2?393993/+8333/++]29910+!>7!!#!$)5'~ 5>2:0 (RK<8A:Z@=)vg+;KFOO ???/9/]3]]]]]]]qq10!!#".'532>7!l*,3F^A-/' &+$#);|ˆP!F~ \:ڶ L @ L H  $(H @ H H @$(H`$4T  ;kt[4D4dtTd {dK4 K$+;kiDt+k4T{dK$ 9Dt@G+pO 0P`   ?33?3993^]]]]qqq_qqqqrrrrr^]]]]]]qqqqrrr^]]]]]qqqqrrrrrr^]]]]]]qqrrrrr^]]]]qqq+^]2/++]293310++!##!>7!#4>7ft( &nuGF@:AHHA1tCIGF: R@F@$(H  F  $(H @ H O ?2?39/]q/++]2+]210!!!!!}:T1:PNRF:>@F@$(H F$(H@ HO?3?/++]+]10!!!F}:|:WQSP7NF::@O(8HXh @H@HF'B'gwWgFRH69H14H+.H@ H   u c  @H        b r T B  0       P ` p 2 B $         r d P 2 B   $      r T d 6 F  "     @ Hv b  @KH        f v B $ 4       j  @>nqHd  & F V     d t F V 4 "     @CFH d t V D & 6   9 @C58H  b @ P $ 4    ` p  @ ` p  @ HO?2?+^]q_qqqrr_rrr+^]]]]]]+]qqqqqqqqrrr+r^]]]qqqqqqqqqqrr+rr+rr^]]]]]]]]]]qqqqqqqqqqqrrrrrrrrr^]]]]]]_]]]]]qq+qqqqq/+++++^]q^]++^]qr+M10!!!!:x:|Wh:\RW6GW.P@-7!AGHG %YYYYYYYrYDYTYdY"Y2YYYYYYYYYYYdYtYVYBY4Y&YYYYYYYYYYYdYtYBYRY4Y"YYYYYYYYYYYFYVYvY0Y$YYYYYYYYYYYvYdYVYDY6Y$YYY@YYYYYYYYrYDYTYdY2Y$YYYYYYYYYYfYvYBY4Y"YYYYYYYYYtYYfYDYTY6Y$YYYhYYYYYFYVYvY4YYYYYYYdYYY@YY$YYYtYYY0Y$YYY8YYYYY[YY$YDYYYYYYY Y@@3YPYpYYYYYY_YYY Y0YYCUOK3234&4&5!>324.#"32>%4&#"326-^b,WPC-p^Y+-^c1ZM?/k_Z+T#8H%/H2%H9$aa$H9##8H$^e"{ЖU-I6(5;aYi[Ty{ΕT.H3 '26k\TykS!*Zc$Vk#UmjT#d:[h: B@ H F F$(H H O?2?3?/++]3/103!!!3#:|S::@#( L F@$(HF P ?2?9/3/q+]210+32>7!!#".5k$=-!;:<#+U\d9JrN(:~!9*  +RuI:  @(+H     t F f   $   v b T F 4 &         T d F 4  &       t 6 F f $   v d 6 V )        r d R D 6 $         d t F V 2 @$        t f T F   " h      v T d F 4      v d R D 6 $       v d 6 F   8     P p  @    0 @ `     @ P p @ H O?2?33/+]^]]]qqqqqr_rrr_rrr^]]]]]]]]]qqqqqqqqqqqqrrrrrrrrrrr^]]]]]]]]]]qqqqqqqqqqqqrrrrrrrrrrrrr^]]]]]]qqqqqqqqqqrrrrrrrrrr^]]]]]]]]]]qqqqqqq^]+]9/10)!!!!!w<;:||h:@ H   @(+Hy    @H &6ffTF$ʖfD&6fvT&FFf brTF$4tVfD6$@vTdF"2gtVfD&tbP$4@Pp4 7$4TdkTTd+; H@ O ?33?22?/+]^]_]]]]]qqqrrrrrr^]]]]]]]]qqqq_qqqqqqrrrrrrrrrrrrr^]]]]]]]]]qqqqqqqqqqqqqrrrrrrrrrrrr^]]]]qqqqqqqqqrrrrrr^]]]]]]]]]]]qqqqq+^]q+q3/9/103!!!!!3#=<:||&:K L@# LF F R O R ??9//q9/210++2#!!5!32>54.+9tvE]78\BMzU-|M(':%&7$F: x L@* LF`$ F@$(H F  $(H @ H R   R ?3?39//++]2]]+]9/]]10++2#!!32>54&+!54&+7!5!.#"%>32#".4 lP:P352O9X` Ivi{F@oyGh de%GiD=cE%cSLa8LӇ|͒P?iN(a@!G/ o  G* F  $(H @ H O?O&O &O????9/r/++]29/]310#".'#!!3>324&#"326BDŽuM Mv~:tnsy ;S2r||ΕSEm1:TcvBTzaZ+:e@ M M  LF@ ?F0R@HR ?3?9/+9]/]3/]8329910+++ !.54>3!!#";BB2U?#@zqfg\aM /KeBOuL&INHMP-&Cv HP-&Hi@ (& ,*%+55+55 Wd75 L0@. M!! F333999p999# F$(H@ H#R (P---- --@H--P???99//+]q332/++]3/]322]qr]99//10++"&'532>54.#"!#535!!!3>32E8S  '1 .J53S.r?iK*-SsE A9. |p@pXAlP,-&t@ &W %+5+5P7N$Z@5 FF @ H &GOO y- O@?2/]?3/]]9//2+3/9/10".54>32.#"!!3267R@F{ivI `Xek5nfPl  GyP|ӑL8aLSced Ki?HOV&Of -.H @ #$H @ H @H @H @H H H22H@ -.H%+5++55++++++++e&i@&% H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H ||H {{H xxH ttH qqH ppH mmH jjH iiH ffH bbH __H [[H XXH TTH PPH MMH IIH FFH BBH ;;H 44H 00H ))H $$H ##H @ ""H @ H @H @H @H H H H H H+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++55+55WMk:$/! L@c L)vg+;K%Foo +F1@1/R%OO %R???9//]q99//]]]23]]]]]]]qq10++!!#".'532>7!!2#%32>54&+d*,3F^A-/' &+$#)354&+32L.J53S'HbY]  ^5hegh45hele0}}hm  efoEEonJKPN+!5#5!#".54>324&#"32>tAEΉʉFCΊ΃=~x|#@Z6>aB"M}}/|ΕSR}y͖TTzaZ++Z3@\@$H0 Z 0_??3//]3/]+103!!d=FH@ BH@ H F$(H@ HO???/++]3/++103!!Hl::&:A1&д250%+5+5=&ZC{&:@ 1&o140%+5+5=&Zt&&:u@ 1&530%+55+55=&Zi#5&<" &̴ %+5+5Wh&\CPX/Ͱ/ܰͰ015!PPX/Ͱ/ܰͰ015!P>4?//105!>?//105!?//105!T'BB?A@- O_o 0 ?/]]qr]21054>733(0#?Cn\O##NRR(?+@   0   ?/]]210#>5#!)0#Cm]N$$NQS(B@-  O o    0     //]]]qr]210%#>5#!(1$ BCn]N##NRR(?)@ 0  ?/]]210##.=#0)(SQN$$N]mC?h]@+ _p_@ H ?/+]q]2/]qr]21054>733!54>733C)0#3(0#?Cn\O##NRR(Cn\O##NRR(?h U@6   P    ? 0  ?/]]r]2/]q]210#>5#!#>5#!h(9LR)0#Do]N$HQDo]N$$NQS(h|@Y  / O  O o    o  o@+.H@ H 0  //]++]q]2/]qr]210%#>5#!#>5#!h(0$R)0#BCn]N##NRR(Cn]N##NRR(v 8@  0@  /?229/]910#5!%LMJxsU@$  0@  ?22/229/]3291053%%%%#5UUTVdd3A}: L@ L  L L /3/]2/10++++#".54>32/Pk=4.#"32>2#".54>4.#"32>2#".54>4.#"32>~,:hN-.Ni<32 (>I&1@*nk,;$`[.("# . lyODp@G  Z   _  _@`pO / ?  /     _ ??99//]q]qr32/33/2299//10!!!!!#53!}:もtо^8@' M)( L-((.'+n  n)8n@&5H):@&=#535#5354>32.#"!!!!!267^ 54.'.54632.#"4.+32>"A0}qhQlPn:ĂAVX} " ³S^>YO$=,#>V41aL/'0EC :O00eQ4u%GhBKSCeD" z{q0M8=o_/V'%1 K<_D=0 ! !9V?sy|& $ ";YCY6$9] O=@ M7..3%n$$n?9-3o 960@G-//O(s%%/%%%s @P @ ?3/]q?3/]99//]q]q3232/]32223/9310+%267#".'#73.5467#73>32.#"!!!!HV  >ll}|F (Mu(WLwelA TJ/J7#GT7R\RPe:Nt#{D7aLJR GpQ  CrS/6!59M@  L L4@ L. L* L$@ L889667@5999977979"D,:_"o"""O@0$'H`pO /? 8?1I'6????3/]3/]]qq+q/]22]99//]]qr883]3]10++++++".54>32.#"3267#".54>32#34.#"32>cW(?fCKqP/ B;UEFT74>324&#">FPU .?UnF@D!E%\uS\0A{oD69". 6U:jk3g_S=#  Dh@'LnHbn&`VET(6EVd+?*@ L$ L  L@ L H @6"""" ,A/A H  @% 0 @  ;1'''   ! ?33?399//]]99///]2+]299//32+10++++!5!!#!&'.53#".54>324.#"32>{Z)B+U~TP{T+)S~TXQ&,. +. G./([(12+c,3oM\33[NK\44\K8J--J79L..L}*2v L@A L @-2,/-/,---oO_4 -%+/-0?32?3]q2/]+M9/2910++#367>73#46767#.'&'%##5!#     77-T8"''$=H=#')#7 U9q@C M M0(  (0(@(`(p(?O((5Z;"Z550****''*_)_??322/3//]]2/2/99//]]q3310++267>3!!>54.#"!5!2.54>]/dm; WvH 3a[[a3 JwX=oe/]Rߍf35+esJel99leJse+3fߛRX|H"/B@#I1/I0//) ??9/9//]29/10".54>32!32>7.#"kƆE,Lfv?qQ@NX.Kt]M"H$Sn;L]53WJ<"]ob}]<Oу-# 73!;H:RR:H;'"bADp*$*pDAb"V@ @ /299/105>73.'#"bADp*$*pDAb"V;H:RR:H;#b^B@  //29910.'3#>7!5;H:RR:H;#}"bADp*$*pDAb"V@ @ /299/10%>7#.'53+"bADp*$*pDAb"V;H:RR:H;b^B$@@ //29929910#.'5>73!.'3#>7;H:RR:H;;H:RR:H;'"bADp*$*pDAb""bADp*$*pDAb"&@@@ /299299/105>73.'>7#.'5"bADp*$*pDAb""bADp*$*pDAb";H:RR:H;;H:RR:H;H#(@#  /299299/3210!!5>73.'>7#.'5 "bADp*$*pDAb""bADp*$*pDAb"hPX;H:RR:H;;H:RR:H;5-Ca@+  M  M@ M%%.F@ HE:F@H3R?)%% O)?O ??3/9/3/++29/10+++]#".54>3236454&#"7>32.#"32>  Z}e^Q#,D`}NLzjo974-'kBn^))2)C5( "2 3WC/1iji0uJ@mO;~a:VL, "\$>-+F\a`(.L6Q+@  M M M M@+ M M   0P@7]`HO9@` Pp _??9/3]]qr^]]+qr^]293310++++++35!.'!+p DV/aR9:Sa-O9$@Z Z 0`/2/?/]10!!!C9TH9D @)P`@-H[O [  [ 0@2 H_O_o/?O*:H _/9+]?9/]q39+/]rr99//]+r105 5!! !^qK9G8U9X@ @?/]105!U9jT@ @@C Mo   / _  ;  p O o ?/9/]qqr^]q//+839/9333+}ć+}10##5!3p7PHm#3Eu"@ L L L L4'/G>$9*C@/ ? O ? O   /]q332/332/]9910++++#"&'#".54>32>32%"32>54..#"326m/VvHgAESa8FxV1/VxHgACP_7K|X0);`GJe;p1T>"4`UMc9o1T>#4aq`e^f5G))H5/J35H*'G6_` //103!!^j8^@  //3//104>32#4.#"Dzbc{Fg5_NN^4tLLtbl98ld9%Q#@! L L!F  0@#&H'&P P/?9/+]q3/2/10++".'532>54>32.#"+*%>$,<$4ec(W?$,<%3e95H*Wc6  6G'Wc6+97>@! M=0 L<0 L+@" L,0 L M0 L0 L0 L @$ L 0 L:@+ 9%.6* ?/]23/33/10+++++++++++"&'&#"5>323267"&'.#"5>323267.KKY'C=:3T)RPN&-k0D4 =?F)KKBm.'C=:3TSL244D4 =?F)/ !'-  2*,  &..2*%H+@. M  %5E  * : J  /?  @M%(H?@$(H@"H 0 0  0 p  @ ` p  ?O@H/+]q32/]q]q32/++]3+299//]3]92]910+#7#5!!5!33!!́ՁGZӃ#JdGP B@   @ ??/]/]9//]3322105!5!5!d8d13 @#RR @$%(H @$(H@ H0@/]3/39=/33//++33/+3/++++10 5!1@wAZ13 @#RR @#%(H @$(H@ H0@/2/]39=/33//++3/+22/++++105 55!1?7 #@i y iy///10]]3 %! {RVdG,@  P?_?/]/]/]/]107!!d>T"  H  ///10+#47632#"'.'&#"TR?K3% !$ V{{?0(4 ''#i  H ///10+3#".54>3232765"Z(g>2%!%}86'"%)j%?33105! %iH??103#ؑHK"??310!!#(in"??3105!# (%%H"??3103!!Hn%H"??3105!3 %H' ???23103!!#iHnnH'???33105!3# %K( ?2?33105!!# i%n%H( ?3?33105!3! %nH 3  @  ?32??3223105!3!!# i%nnqj% ??3233105!5! AّH*A ?2?3103#3#ّhHK Kj 1  ???23310!!!!#(iijב" 3     ?3?2310!###בnn#j ? A    ??3?3310!!#!!#htjo"j 1    ???333105!5!5!# i(qב) 4A    ?2?33105!### ܑב%nj ? A    ??3?3310#!5#!5!ґttj)F)ޑqH 1   ???233103!!!!iH"ב%H 4 A    ?3?33103!!33A$Hn#nqH ?  A    ?2??33103!!3!!ّK$hH"qH 2    ???332105!5!5!3 iqב)%H 4A    ?3?3310!5!333$ב%nqH ?A      ??3?3310!5!3!3!5!$KqFH 6    ????2233103!!!!#iiH"ב"H 8     ??3?323103!!#3#AHnn KH I A     ?3?3??223310#3!!#3!!jt " "H 8  @   ????3322105!5!5!3# iqבKH ;A   @ ??3?332105!3#3# 㑑h%K#KH I  A     ?3??3?2233103#3!5!#!5!A㑑tHK )ޑj 9     ?2??3333105!!#5! iiq"h :   @  ?22?333105!!### ב%nnj J    ?3?32?333310#!5!3!!#!5jtttAޑ"בqH :@     ?3??3333105!3!5! Aّ"%H :  @  ?33?333105!333! ב%nnqH L@  A      ?3?32?3333103!!3!5!5!AH"oHL  @    ?32?32??33222233105!5!5!3!!!!# iiiqב"ב"HM  @     ?3?3322?3322223103!!###!5!33AבHnnnnH ]     ?3?32?3?3222332233103!!#!5!3!!#3!5!AבttH"ޑ" mH/?3310!!Umm?/3310!!UH??3310!!U H??/310!!* H??/310!!* *g #'+/37;?CGKOSW[_cgkosw{1mUE- y@ xlTD, xeM5@ dL4qYA)}@ |pX@(|aQ9 @ `P8u]=%@!t\<$x||xiI1!@hH0 gckhd`h_[WT\XTSOKHPLHC?GD@32#".732>54.#"Fz^^{GG{^^zFV9bLLc::cLLb9d^{GG{^^zFFz^Lc99cLLc::c# /]/102#"'&5467>76jnk5RS4l9R46n9:m64R9) //103!32>54.#")Ex[[xEEx[[xE}A[xEEx[[xEEx)+"@" '//103!4>32#".'32>54.#")Q:cKKc::cKKc:MEx[[xEEx[[xE}AKc::cKKc::cK[xEEx[[xEExscu" //10#"'.5476324'&#"3276c%%%V3eK#%HJfgGJL33FF3331HH13}5V%#%H%V5fHJJGgF3333FE6116y!-9D@] $ t $t+{+{D"(?4.(.(.1%+7+>:h:Y:G:::b^0H[[׀ؙٙW .. -- .. --#_[)4`@7*/$'!04h4Y4K4=442-_oO-_--- /99//]^]3]]]]332/99//3310#"'&54676324&#"326%4&#"326327'#"'ZZZZ. -- ., // ,0^b>LLH[[ -- .. -- ..[_#Fs;3F/@ H4.4$w##@M H H;;  H;/4#4;B p ?   9+>0/43?3O33/^]]]]]/]]]]10]]]]+]]++]]]+373#'#5.''7.'#5367'7>7"327654'.B 965--,,(17:"B?n0+(. P(9p6Eu0bb0uE`cc1u;  -;q9>_1(,=20db2/aac02P&/b@>++++""""P'''@%(H /+^]2qr/]32/qr]qr9/3210.'&547>32!!#!5!"327654&'&7Z#GS,e>SW;=>B.*PlzS++VSzmQR FF;G,+G>>=T,G;QAQF@(1A;NN?  33FF;A1?J777B??/^]]]99/r]]r9910.'.'.547>323267632#"'.'#"'&547632"327654'&6%( ? .@$    TVWvvWTTUzGSZ>==@XY<>><      "O-@" '*R*Qm}VXTTuuWV+ >=X[===>ZW>>;/(@& 0 ` p  "@ H"O_/]//+3/]/10#"'!727>'#"'&547>7>76 (_E#%?BXc$&}V+B,-SZB?N9En&86_,+i?~BCF_?BWVc %%1E[wK`_B?[J;*U/;q9S<K/@9M?4=C /)//99//]923/]10)7>7>7654&5#"&'&547632.'.547>3267>32#"&'.'FTl)@4:Z+X-;a)OII]P3N(a2+C.=#!K2dmy;*&StsOP"4&sN&(PNmVb(%)LtvSP<3=-Q}.-L'fZy'&@) @ P p  ///]10^]].'.'.'.547632>32b*gL8E+%DFfbN/"X2U#F)N7>-qEEt/'xSEj( #&b<^Q2P;`N]]5(o]H: 9Pwc;kM;!0@! @O_o! //]9/9/]2103#>54&'&'#"&547632L3:0./9@%%Hl9:Q0*%#Jj9:;b&J5-L9<f"&#"&547632#"&547632%%5$&%X3999>Q0*%#Jj9:;b&J5-L9<gu#R#p@' LF%%/%?%##_! F  0  @H Q O!  S??3?332?/+q33/22/]3/]]]2210+5!!!#5354>32.#"39螞Hz[0]%-'3 :||q>iN,  1 U#Rg@% LF!!/!?!_F 0@HQO ?2??32?/+q33/22/]3/]]]10+!!!#5354>32.#"3:螞Hz[0]%-'3 4||q>iN,  1 UW Dس M@" M@ M ?/]q/]+/]10++#"'532654#*7>32 GtU-8*K>q &9#[j,G3v% Em\D"@_/]/]q10! 1g9\ '@ / ?    H /+9//]9/10#>5#53\"-1l,G=30T&# T@3/?o@H  @P` ??39/3329/q3322]3/+]q310#5!533354>232'LpJDeF($1:44"3 O.9[?!7^D& 8I*  @<5>#@Y+p,@   ??2/]]29/10#4>7!5!p@_>(Ie75.546324&#"32>4.#"32>y#HoLLoH#*5) .O8 9M.'=+Z:Vh2G*5++=$//$!"-7&b@ L L@p@"5#53f"-1l+H=30`.g\I @@  @ /]9//]291046733#g,(-1lNWu/0`.WT @_@ H/+]/10%5!+WU @_@ H/+]/1057!W++ _@D& 6 F )9I &6F)9I0`@p_@ H/+]32/]q]/]933]]10#'##53ƟӠ+ ?@(0`@p_@ H/+]22//]q93310#53373˟)@__@ H/+]22/3/]1053!53uX@= L L 0P`@p @H  _@ H/+]23/+/]]q10++".#"#>3232>73,YTK" /VI-ZTI! .V&/& --fX:&/& .-fX: 1@p  ?p _@ H/+]22/]]]10#573#5732X"+"+L@8 P0`p _@ H/+]2//]]qr10".'332>73[P~Y4$2?"$?2"3W~0Oh9 2##2 9hO0P B$<V_birx$$7h$9h$:$  # S >b (  &. j (  8G \ + |{Copyright (c) 2007 Red Hat, Inc. All rights reserved. LIBERATION is a trademark of Red Hat, Inc.Copyright (c) 2007 Red Hat, Inc. All rights reserved. LIBERATION is a trademark of Red Hat, Inc.Liberation SansLiberation SansBoldBoldAscender - Liberation Sans BoldAscender - Liberation Sans BoldLiberation Sans BoldLiberation Sans BoldVersion 1.07.4Version 1.07.4LiberationSans-BoldLiberationSans-BoldLiberation is a trademark of Red Hat, Inc. registered in U.S. Patent and Trademark Office and certain other jurisdictions.Liberation is a trademark of Red Hat, Inc. registered in U.S. Patent and Trademark Office and certain other jurisdictions.Ascender CorporationAscender CorporationSteve MattesonSteve Mattesonhttp://www.ascendercorp.com/http://www.ascendercorp.com/http://www.ascendercorp.com/typedesigners.htmlhttp://www.ascendercorp.com/typedesigners.htmlLicensed under the Liberation Fonts license, see https://fedoraproject.org/wiki/Licensing/LiberationFontLicenseLicensed under the Liberation Fonts license, see https://fedoraproject.org/wiki/Licensing/LiberationFontLicensehttps://fedoraproject.org/wiki/Licensing/LiberationFontLicensehttps://fedoraproject.org/wiki/Licensing/LiberationFontLicense  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a bcdefghjikmlnoqprsutvwxzy{}|~     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~uni00A0uni00ADuni037Euni00B2uni00B3uni00B5uni2219uni00B9AmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflex Tcommaaccent tcommaaccentTcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongs Aringacute aringacuteAEacuteaeacute Oslashacute oslashacute Scommaaccent scommaaccentuni021Auni021Buni02C9tonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammaEpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsi IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdanuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni0400 afii10023 afii10051 afii10052 afii10053 afii10054 afii10055 afii10056 afii10057 afii10058 afii10059 afii10060 afii10061uni040D afii10062 afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022 afii10024 afii10025 afii10026 afii10027 afii10028 afii10029 afii10030 afii10031 afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038 afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045 afii10046 afii10047 afii10048 afii10049 afii10065 afii10066 afii10067 afii10068 afii10069 afii10070 afii10072 afii10073 afii10074 afii10075 afii10076 afii10077 afii10078 afii10079 afii10080 afii10081 afii10082 afii10083 afii10084 afii10085 afii10086 afii10087 afii10088 afii10089 afii10090 afii10091 afii10092 afii10093 afii10094 afii10095 afii10096 afii10097uni0450 afii10071 afii10099 afii10100 afii10101 afii10102 afii10103 afii10104 afii10105 afii10106 afii10107 afii10108 afii10109uni045D afii10110 afii10193 afii10147 afii10195 afii10050 afii10098WgravewgraveWacutewacute Wdieresis wdieresisYgraveygraveuni2010uni2011 afii00208 underscoredbl quotereversedminutesecond exclamdbluni203Euni2215uni207FlirapesetaEuro afii61248 afii61289 afii61352uni2126 estimated oneeighth threeeighths fiveeighths seveneighths arrowleftarrowup arrowright arrowdown arrowboth arrowupdn arrowupdnbseuni2206 orthogonal intersection equivalencehouse revlogicalnot integraltp integralbtSF100000SF110000SF010000SF030000SF020000SF040000SF080000SF090000SF060000SF070000SF050000SF430000SF240000SF510000SF520000SF390000SF220000SF210000SF250000SF500000SF490000SF380000SF280000SF270000SF260000SF360000SF370000SF420000SF190000SF200000SF230000SF470000SF480000SF410000SF450000SF460000SF400000SF540000SF530000SF440000upblockdnblockblocklfblockrtblockltshadeshadedkshade filledboxH22073H18543H18551 filledrecttriaguptriagrttriagdntriaglfcircleH18533 invbullet invcircle openbullet smileface invsmilefacesunfemalemalespadeclubheartdiamond musicalnotemusicalnotedbluni266CuniFB01uniFB02uniF005middot commaaccent foursuperior fivesuperior sevensuperior eightsuperior cyrillicbrevecaroncommaaccentcommaaccentrotategrave.ucacute.uc circumflex.uccaron.uc dieresis.uctilde.uchungarumlaut.ucbreve.uc   LNDFLTcyrl$grek.latn8 `nDFLTcyrl&grek>latnJMKD SRB kerng .L^l\bpzp8ZpZpj,vFPz*d6\ @  2 \  , N h & T j .<FPz$<V_birx 7h9h:`cmapw cvt ]d Bfpgms#gasp <glyfڐ %xhead>i<6hhea|t$hmtxӠ kernbc^O0Dloca dTmaxp nameeZstpost!ѵTprepq '}_<ϒN1T =>NC +T dRT~/Z]33Zf  Px1ASC!!Q3>`: D9OsAsp1JLX}989.9sUs!sssss_sss0Y|{|$d$V$$9d$9$s$$$$9dV$9d$VwVVV9oRUs!s #s?:s?J#9#9$s#9###?;#sVUsn9css=evsLssHs'=s>hsHK>k3dWG`sj9~Xbfs&bbnQV$V$V$V$9$9$9$9$$9d9d9d9d9d~9#wwwwVV$#s s s s s s *s?s?s?s?s?9#9#99#:#?????dE*UUUUsss s s ds?ds?ds?ds?$::V$s?V$s?V$s?V$s?V$s?9d9d9d9d$#$#9$99$9#9$9#999$9#B$s#s9$$s#s#$9#$9$+#$#9$#$#$#$#9d?9d?9d?g:$#$$#VsVsVsVsKVwUwUwUwUwUwU9cVsV9#ss *9#*VsVLJjD:?9q9$$$_V$$9d9$$V$$B9d$V$V`V?9$V9%9Cf9sl71%vl9C%ssi1?CBLO@E9f@L/b79Cf?f7V$V$$dV9$9$sV%$$k7#$$$oV$k$$$$$$9d$V$dk7?NV$$$$$*V#s ]'E<s? UU$##?#s?#s?s+UjU{UM&&j#s?s?##?s9#9#9$?%#$UsU9d?$#9c9c9cVs88s,k9999ss2ZHI!OVT+\ss;s!$ +*%]b?+}d|Q1dDd;ddWdWd"g{mm+))s+kUFQ@;@<fBJJ]PFU]X@-o:>~~_s    " & 0 3 : < > D  !!!!"!&!.!^!!"""""""")"+"H"a"e###!%%% %%%%%$%,%4%<%l%%%%%%%%%%%%%%%&<&@&B&`&c&f&l ~r    & 0 2 9 < > D  !!!!"!&!.![!!"""""""")"+"H"`"d### %%% %%%%%$%,%4%<%P%%%%%%%%%%%%%%%&:&@&B&`&c&e&jG/vn}y!52*) D7(JI@=:74-&ܾܹܶܮܢOLK.,+( bcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?w<   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`apcdhvnj)tiB=qDEfu7:9@kzvbm<@A8l{  8 %wKRoNOPxSQL@EYXUTSRQPONMLKJIHGFEDCBA@?>=<;:9876510/.-,('&%$#"! ,E#F` &`&#HH-,E#F#a &a&#HH-,E#F` a F`&#HH-,E#F#a ` &a a&#HH-,E#F`@a f`&#HH-,E#F#a@` &a@a&#HH-, <<-, E# D# ZQX# D#Y QX# MD#Y &QX# D#Y!!-, EhD ` EFvhE`D-, C#Ce -, C#C -,(#p(>(#p(E: -, E%EadPQXED!!Y-,I#D-, EC`D-,CCe -, i@a ,b`+ d#da\XaY-,E+)#D)z-,Ee,#DE+#D-,KRXED!!Y-,KQXED!!Y-,%# `#-,%# a#-,%-,F#F`F# F`ab# # pE` PXaFY`h:-, E%FRKQ[X%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-,CC -,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,KSX%Id#Ei@ab aj#D#!# 9/Y-,KSX %Idi &%Id#ab aj#D&#D#D& 9# 9//Y-,E#E`#E`#E`#vhb -,H+-, ETX@D E@aD!!Y-,E0/E#Ea``iD-,KQX/#p#B!!Y-,KQX %EiSXD!!Y!!Y-,EC`c`iD-,/ED-,E# E`D-,E#E`D-,K#QX34 34YDD-,CX&EXdf`d `f X!@YaY#XeY)#D#)!!!!!Y-,CTXKS#KQZX8!!Y!!!!Y-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%%%% F%`#B< XY%%)) EeD%%)%% XY%%CH%%%%`CH!Y!!!!!!!-,% F%#B%%EH!!!!-,% %%CH!!!-,E# E P X#e#Y#h @PX!@Y#XeY`D-,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,!KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-, #KSKQZX#8!!Y-,%ISX @8!Y-,F#F`#Fa#  Fab@@pE`h:-, #Id#SX<!Y-,KRX}zY-,KKTB-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY@cTX@C`BYYYYY-,Eh#KQX# E d@PX|Yh`YD-,%%#>#> #eB #B#?#? #eB#B-,zE#-P/@2o@@ ===U=Uݸ</A  @@F0GOd`@  @`p_<@2/?O@&)F/?@F5P&'%%`K&&&&_o@FG2mvP&uP&tP&sP&/y?yOyqopGoGU3U3Um)mlaP&`_2_P&cGbb bF)b9bIb^G][\[3[G2@AU2UU2Uo?Y_S@S(,F@S"F@SFRQ(QOPOO)OYOiOGu@=PNMMMMGLG2KG2JGIIGHG2G2UU2UU@=@ 0p?_/Oo?_o_TS++KRKP[%S@QZUZ[XYBK2SX`YKdSX@YKSXBYststust+++++++t++t++++tss+st++++++sssu++++++++s+t+++++ss+++++++s++++++s+s+tu++++ss+st++++++t+st+st+++sssss++++t+++su+++++++sssssssssss}y:wW' ,"-mB?]%u\1DsNpp`HjgaAohS}D,,,,`.T`(V  0 Z   ` 0 TVPbpT&>PHD>< !""#$&$%^%&H&'@'(t))v*2*+X,,-<-./D/0&012Z23&34b45\6D67788999:^:;0;;<<=@==>.>>>?????@@$@@@@@AA.AHA^AvAAB.BFB^BvBBBCCCCDD"D:DE2EHE`ExEEEFFFFG G$GPTPjPPPPPPQQHQjQQR0RHR`RRSS,SDS\SSST TdT|TTTTTUUVVVVVWW*WXXXXYY Y6YNYfY~YYYYYYZ Z"Z8Z[[6[N[f[~[[[[[\\,\@\X\p\\\\\]]]2]J]^^,^V^n^^^^^^^_ _._D___`&`t``aaaaHavaaab4bNbVb^bc ccc$cccddd&dddldde(e0e8eefgjgggggghhirijfjkdlllmfmnnoopRpqXqrVrstzu@vvv6vNvfv~vvw0wHwwwwwx~yy~|T|`|x}} }r}z}~^~f@Ā372.#4&'2>"8L҆!p RoE`[IMf;-Nhu};nY_4 *1C\k:X_I2]G*r'9%C3R9op;-XR*XY?[xLLxZ?'~.Pm>9,=%>WtMQ-E+! K3Ep.H]a5@`^a^_`_`^_a_a_4QA4,"'4[['[[c% I/T<_`fc'ccccWc6cucWcGc6cccccc'ccc[cKc"32>7654&2#".5467>"32>7654&#3"?pU1 cw|5>lO. _ry4:3+ ,*:5-2`?pU1 cw|5>lO. _ry4:3+ ,*:5-2 > IvU%]0~["$MxT%[.W9gT5Y%IE9fPmMJA| IvU%]0~["$MxT%[.W9gT5Y%IE9fPmMJA%1B;O_ @6I*DfCB BA A; ;3 3<L  +   33/X?XOXKAJE4A''"*FFSSXPIP  XI!"-a aKJ/?OfSUS[AY'A44!97.54>32>73267#"&'#"&2>7.'>54&#"1@r\ 8lhK|Y0L] )3!Iq0>GO*(]39'!?+[@F[{T"B<4"<3((P>'1F ?lN,C:'E3bWpV 2;A!Rf9 A`@UeP&*RQS,NjS8okc+" <9." -cc`+.@V9+G1g,E .8H0363N@*6Fv&6FfvVfv@$'HoFVv @HF6&vfVF4$vfVF6&vfV&fVD6&tdTD4$@vdTD4$p`P@0$ip`TD4$tdTD4$dTD4$9rrrrr_^]]]]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]_]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrr^]]]]]]]]]]]]]qqqqqqqqqqqqqqrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqq?/+^]+]qqqr10#!IJWj=@'   H   ??/]]2]]9/3]10]]!&547jHKIKAÁlɳL- oLWn@ +@.1H/?   HT tdtdTDD4$td4$tdk$ jK4$@4d4+k;$ :_rr^]]]]]]]]qqqqqqqqqrrrrrrr^]]]]]]qqqqqqqqrrrrrrr^]]]]]]]]qqqqqqrrrrrrrr^]]]]]]]]]]q??/^]2_^]]9/3]q_q+r10$4.'!  &8$ KVAÂWdrOJrXm3@!   `    ?/]]q]10]]]7''7'73>DDoh=y{=h} a@< _  @ 0P ?32]q+9/_^]32^]+10#!5!3!q9hh1S@     @H   XYX]+/]10//]+/+<+}]2910%#>7#![ $.7 #@4$;!BCn]N##NRR(18o#@P/?O//]]107!8//.17@ @HXYX+?0//]+/+<+}103!.;!;14@??/+}10]3LK) U_58@#   o&&71o/s)s??/]]10]]]]2#".5467>2>7>54&#"Sj>L]jtz>^e4N_mty7[L>IO54.#"%>32! %0zsU2+<#'D9,R|nqj22Vq{j&,Std\W]e;(7!*G5;QZ11ZPNrd\Y\c8\;K@,))!::+!o6o= ,+:s;;1s&s??9//32]9/910]]2>54&#"%>32#".'%32>54&+7/iW9MP[x^cfo:0]V?fH'D~|x?#9O18S7lpk,=0WGHSZ^4^V)/YQL~]: /LhBWyG6aO&2C) 8M-]]P w@H Rq0/tX+?3?339/332/]33/]]q/+<++10]!!7!3>7!j66)r* !#Xo273 +10,t@ #o.+fvW@-HvUe,(sss??9//3]2]]]q+qq2]2/]10]]!!>32#".'%32>54.#"!<O+W1>N0Nd9N׉pqA 0H3CeC!3E(Ab' 6jewƎO5]K-*?*,Mf9:T6.-_~"4g@D   +oo*6'#o0tP`&s &s??9/]]q/]2]]2]]10]]]]]".54>32.#">3232>54.#"ko9_EpM JBs'5gO]3Mb[3V>#0A&-XE+EwYJ}_)IFHY1_[oȘZi|(MoG4L1"Cf2@ @ o @H s??/+2/]2]]10!!67!,TydM#f3 p'9Ma@< & "5-- oIo--O5o#?o@ H :u((Du0u??9/99/+]]99]]10]]]]2#".54>75.54>2>54&#""32>54.en;+QvJ3U<"FЋws8Ci<\_E<32#".'%32>4.#"32>7>1CLY6R[1Qx_uB &fUpJTN,[UI@/A(6ZA%/B'&K@0 %8&9gVqđS>yrDIL"M(S|T0KR'e*I7(OtK-G12P;,YB \@@ HXYX ]+??0//]+]/+<+}10!!7 7N7 7B j@$   @ H  XYX+?/]10//]+]/+<+}]2910! #>7#!7 7 $.8 #@4$7 RCn]N##NRR(|}h@8RR?_ /]]]3/]39=/33/3++++10 |AB{#~)L@7 ?O@H0p @`p/]q/+]q/]32105!5!{J|}h@8RR_ ?/]2/]]]39=/33/2++++1075 5|@}DEy%)f@8()R&'(')&'&')'&H&&!G+ + +' ! '&_XYX+??99/3/]q9//+<++10]2!>7>54&#"%>!hzCAiC"<. 3I`:E[6`en\4!4/ZVVhR%*0:'FgQD$+B=>'?S]d(Xc6jw_x@9 P72 2 l#' `"! p   T/HHT///zzzzzzz@H H;T T*oe" B4[BMzzzzoz_zOz?z/zzzF^]]]]]]]]qqq/?99//^]32/^]+]r3/]9/99//]333210^]]]]#".5467##".54>3237332>54.#"32>7#".54>$324.#"32>7>wLc*G2F[m;_L Dvf 'u/;oX5R욅൉]/"EinV=>54.#!!2>54&#!6H~=.UxIGlI%e?&W{M#!?];ӼH_[-,TyMIsU9 8Qe9}c)I0K4,;#52T@Z`d+G@-  ""!- -@-[`'__@-`-P--]qqr??/]qq2]2]1032>7#".54>32.#"*S{RNgO+xЄI4cNJR 1LjD~C=T^2*H]3uLe;\{|࿛l;@lNG,SA'[$y@S [ oP` \   0 @ P    __ lmX@]r+??/]q//+<+}q]]q]q10]]2#!32>54.+ޣ]=miAtƐR8i`Lᖅ߳[.cJӊb`0$ s@   @1H  \0@P_ _ _lmX+??9///]q/+<+}+]9/310]3!!!!!$T,E,HV-$ v@'\0@P@!H _/@1H_lmX P ]q+??9/+]10+//]q/+<+}ć10]!!!!0U,de,Ld-@-"-^)*))*)))H)H)@6 H ))@H/++*[`   )$*a--$_$_lmX+??9/99/]q/9/]+2]2_]+++F.(*)). +</+<+H+}10_]]]%#".546$32.#"32>?!7!xCmNv8Ȑ[ 1NnIņE)Xa>pbQ.'f.I1[݂8{@lNN.VB'\ނMi="$ @h   R \   0@ R\0@P` lmX@ P ]r+?2?39/32/]q3/+<++ćq2//+<++10]]!!!!!!vv'mrm\1$\@dt@@D&,H_@P`\`p0@P@9&-HP` lmXp@0<rr^]]]]]]]]]+??/^]]]+]qr//+<+}]]]qq+q_rr10_]3!$'y@@0\O 0@0 _ _lmX+??99/33/]q]/F( +</+<+H+}]10]]".'%32>7!7!inC !1E.2B, ,?Lx8g\:1S<"&?S-&mp9$C @h H   RR^    \0@P     @+H lmX  @    P ]]]qrqq+?3?29]+]2]/]q//+<+}ć9]+++10]]]]]+]!!!! e'q{$kX@6 \0@P_lmXP]+??//]q/+<+}q10]3!!$'-c$0@V-..#""6Ff#(%(."((((/00^0&f@H2^ ! !! F V f   !( ! "./!lmXi2)222;2222Y2I2;22t2V2F222222v2f2I22f2)22P2@222$222222222t2d2P2B242&22222222t2b2T2F262&222222222@22r2d2V2F2$2222222222v2f2V2B242&222222222v2T2F262"222222222d2V2F242&22222222t2f2V2D26222i222222v2V2"222222222i2V242&22@3222222y2R2@2022292222rrrr^]]]_]_]]]]]]]]qqqqqqqqqqqrrrrrrrrrrr^]]]]]]]]]]]]]qqqqqqqqqqqqrrrrrrrrrrrrr^]]]]]]]]]]]]]]]qqqqqqqqqqqqqqqrrrrrrrrrrrrrr^]]]]]]]]]]]]]qqqqqq^]]]]qqqqqqqqrrrr]]]]]]qqqrr+?3?29//]q/+<+}+]q//+<+}9]_]33]10]]]]]]]!>767#.'&'!!67>7!  $! d^X-t7q/74NIB?935>BJR=;640]-4773,[$@        R  R^{ 0@O^  0@P , #    lmX@P]rq+?3?29]]//]q/+<+}]]q_qq/F( +</+<+H+}++10_]]]]]!!!67>7!t^y k+*$S#'+%[.ud1J@2[o---- -P-`---3"[`%_ _@33`3qqq??/]q]q]q102#".5467>$"32>7>54.V Q k{Rl|Q0XQօ1i0^Wڃ.`1_@xo%K"Azl$R]].$Yh@@[  \   0 @ P     _ _lmX@/]]+??9/10//]q/+<+}ć]10]2#!!!2654.#!R|EQb!$B[7:nbrDRt7O3dp*Bj@C # [#[o>>>> >P>`>>>D3[`###6_ a+_@DD`Dqqq?/?310/]q]q]q9/]9910232>7#".'.5467>$"32>7>54.V sق[Y((&-[1of6 v{> k{Rl|Q0XQօ1i0ߩmbX 8gXes.`1_@xo%K"Azl$R]].$@O\ [` \0@P__lmX @ rq+??39/2910//]q/+<+}ć]9+}10!!!!2 2>54.#!gy8CoO0ClM*&BX2QBoP^j@ 8U:4I-`A=\@<66\9%%0$$$??-\/?O-(a _?r??99/]3]q]q2]10]]]".'%32>54.'.54>32.#"X̍Q! ,JjHL[3&KoJ^{HZwÊRvBcC"-OnB3kdXB&P0a`16P5/L8/B0&>_d_d31Y}LCZk.@&-=,"!-=UoIir<sL@-\ P_lmXp  qq+?2?10//]q]/+<+}10]]!!7!9,,cw!@_  \@O#\@#H _ lmXP#]+?333?9999//+]]/F"(" +</+<+H+}]qqF"(" +</+<+H+}10]]]%2>7!#".54>7!Oz[<'n㒁ΎL' (Ie"N~\dχB;rm785"_+6Q6@ #3#س#&H@]HR ^R ]{ +    /?O O ?_]]q]qq?3?3310]]/]9/]]q++ć++10++]q)!67>7!1r-4w-^'.*)-&_/.@&!$ $  R RR-'-^...'[k! Td@.R\0@/?O...0''- O0?0/0_0]]]]?33?29/39]]/]]]++29/]]33]2++++10]]]])4.5!!67>7!67>7! Y$  N< 0N#, GZ`$;831,0w6>?JF@>9 *\(/-9<3z9. @          & 6 )9)9&6R  b  R^ 0@ /  / ? O       _ ]]]q?2?3/]]]q]]++ć++10]]]]]]]]]]!! !!59o9)[$@eRbR^O_o  \0P`lmXp `  ]]]+?3?910/]//+<+}]]3/]2/++ć++10!! !Dpp$CBB?]# z@yHv@Hb @+ H /? O __?9?9/]]3]]]]+3+}10+]]+])7!7!!:(i-(^3WZ_@M0@P@ HlmX+??/]+q/F( +</+<+H+}10]!!!6r%%Wuo-@??/+}103!) RW@ i   9 I Y   @!$H  V f v  M lmXY 9 )          { i Y I ; +          y i Y )           { i Y I 9        i @Y 9 )           } m _ M = -           { k Y K ; +           { k [ O ? /   i        o [ K ? /         { k [ K ; +     @,     o _   9     rrrrr^]]_]]]]]]]]]qqqqqqqqqqqqqqrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]_]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]qqqqqqqqqqqqqqqrrrrrrrrrrrrr^]]]]]]]]]]]]]]]qqqqq+??/^]]/F( +</+<+H+}^]+]qqrr10_]]]7!!7!%)%WUB@& @p`]]]?329/q33q2q210 #!B!T/10/105!xNN!//10 7!T+ 7N@O@`  %555E5 AO455KOOOOOOOOOO OOQ/Q()EG/?O((/(_(o(((#Q.OJ AAA@ HA54.JO?>54&#"%>323267#32>7)*V-dl"FUjGNsL&-Nix?D;>7- HtjGu(5GE< TE!5T;2Sl9QvT5 $-B>90ClM*V(' P\T'9$6[C#&>@b77G< <<<P<<<<<@ @,$   K O,'4O$'OXYX@q+??999??/]//+<+}ćq]qrq10]]]]2#"&'#!>7!#3>"32>7>54&WQ~U- X}d}   T 84`P? 5J-3QA3 GN2\Q0p:˂=h^;4% +32.#"Sl S{otq8 M_ntw9ki7QQ8S@3Zig2O\2>q^(^-osI):cIZe%QY--)yq:'=@f 11  0"!"!K""!""""? ?p??;G / ? O   "0(3O(OXYXP?]+??999??/]]/]q]q/+<+}]10]]]%#".5467>323>7!!4>7'2>7>54&#"$LUd ^^/VH: L/D-8dQ-h?˂=6H)P>=t6 ,2 !Qh,M!xm Oe3S&js?:N#/o@N $/ G'''P'`'''''1/G/?OQ//*RQV f   $  ?3]]?9//]]2]q]2]10]]32>7#".54>32'>54&#"f][*B4'Lnkns;Wpl4 cP"LG9,jq->$J@iJ(>rd[32.#"3讞% 5]`-Q$  C< %||qDlJ' @AUWM:R@j @@  ***>066K///T TpTTT0KG/?O6/ >NC*$NPCO$0/$ QXYXPT]+???3/999992/]]2/]q]q/FS(/S +</+<+H+}]10]]".'%32>7>767##".5467323>7!>54.#"32>ij= ^P:V?+ ?SlHOW/ 39gR;   R 5I*3SA2 YT,\RAW%HiEB=AeE=(L:#6`P1p?5M2>9) ,=K(lm7#L9S8K_2b%g`'U#'@`''RK) )$%%R%K&'&''&'O&&&&&'& &$%%P XYX+??339939?3//]//+<++ćq]q/+<++10]]]3>32!>54&#"!YO IZoEv MK/^Q= vk10.*J8 .-)sS..) ?B(Ji@#\@TKPOSXYX   /      qqqqq]]]q+?2??3/]q//+<+}10]7!!)):$W\@QKOO@-H PSXYX /qq]]]q+?32??399/+]q/F( +</+<+H+}3/10]]7!"&'732>7!((2V$ ! "0"  5TuZ &>.vFAlP,# @|     R RK    KO    0 P ` p   XYX O / ]]]+??2?9]]83/]//+<+}ć9]+++10]]]]!!!! ؼU B'KZZl#\@Y ` KP` XYXCr^]^]]]]]]+??//^]q/+<+}^]]]q10^]3!# 4#M@@?  677K898998988+K#K P? 9+#67(78P0(XYXB`BBoBOB BBB0BBBB0BB?^]]^]]]qq^]]]]]qq+?32?3?399//^]q/+<+}ć3//q/+<+}ć3///+<+}10^]]]"!>54#"!>7!3>32>32!>=&*-QA/ w{~.PB/ v  AM_<| FTgA z|(KiA{%&! y)KkAS"KC0,9;/L5wq2T?#$Z&ss%%$y#M+@\''*+R*+K+- -RKO P"XYX+?2?9?9//]//+<++ćq]q/+<++10]]!>54&#"!>7!3>32v LL/^Q= v  IZoES..) ?B(Ji@S"KC0,9;*J8 .-)s?M-Z@@))GP/ //!G / ? O  O&OXYX/P/]q+??/]]]q]q10]]#".54>324.#"32>7>bk|C]vy>6M0,ZQC 8L--XPB a;qha8lxB^;Bzd0U$Hb>Ayf4WWN?@3  "GPA:?.21122\343343333@$H 3033@1H334.?* 439O O*93XYX AApAAPA]q]]q+????999910//]+]+]F@(433@ +</+<+H+}ć]q10]"32>7>54&%>32#"&'#!>7!4`P? 5J-3SB3 M#JVd7!!>7##".5467>322>7>54&#" U $LWeS[5[K9 '=71( <!N-/E.7aQ-m?̂<0L5%!Qh,L!pvNg4Y&1O8#zNi@ARKOP`!PXYX!/!_!]]]+???9910]/]//+<++ć10.#"!>7!3>32L4'{#e   "CIS2 U >#FB;<>9>[;-K9@8%%  G*(((O''''P'';;P; ;@;0G %  0V0f0Ue0+Q("Q @;0; ;;;P;]]qrrr?3?399]q]q/]3]]]r]]2]]10]]]]]]]]]#"&'732>54.'.54>32.#"Cx) $:S81Q;!7U9O`6Kf]lE bU+K7 &D^7FyZ3NYX,$$5#!4$ ) 2MmLZ}O$DnQE> .# + .IjV8@#   K  O   @# H  O OXYX!!]]+??32992//+]F (  +</+<+H+}10]]%#".5467#73733#32670%^5;`D% f%0#h/&1# 8U8-U9*)U:+@+ $$KOP?O -- -p----K+*+*+**+***O***** ***"+ P"XYX+???3999//]]qr/F,(+**, +</+<+H+}]qr]]]qqrF,(, +</+<+H+}10]]]32>7!!4>7##"&54>7v LL/_Q< v HZpE:..(?B(Ji@^"KC0,9;*J8 .-* n:@ 4DT@` HR MR L  $  /P` p`P]]]qqqrq?3?3310]q/]q9/]++ć++10+]q)!>7!n!G !"<.:HHDDHF`c:)+@+)(y((y'' @HJZ #  H@HuR 0@f R"@  R@D  R("(M))) RMd""F"i,<f"))@(H)+" ()@+++?+ +]]]]q?3?29+]/9]]]]]]]]++ć++ć++ć++10]]]]++]]]+]]]]]]).'&5!!67>7!67>7!+!E    &-*    P#)++)#Q n:CD""C|B"$$"B|: /@q      jt${+ %H$e{+t$@` %H)R MR N?Op  O O  `   P @ 0  `   0  ]qrrr]]qr?3?2]]q]/]Ƈ++ć++]+qr]qrq]+qr]qrq10]]]]!! !! Ժ$(4&2[W:%@fu1AQ%5E RL R$$M%%%$P%/%%'@'''P'P%$ P?/33?333/]]qr]]9/]++ć++]]qqq10]]#"&'732>?!>7!:8eoT4S&&1&A><#G",9W_2 .K70" 4CJC4 3AHB5 : @ZUZ4D ;KM P ` p `pOOPP?9?9/]q]3]3+}]]]q]]]q10]]#7!7!!#& ()'v7(\W:@F   #12"2 "22M218#") )8lmX+??9/999999999//]F;(; +</+<+H+}10]]]".5467654.'7>7>;#";;_B$=2G,&5ZF1 C%L-?+ < 1ET,$;,AB8P%W:S3:4#!*<%6U>R3M32S?*  "1@' -54W@;K[ T4TK;kDd $td dT4$t;+d4D [KktdTD @>{dTD$;r_rrrr^]]]]]]]]]]qqqqqqqqrrrrrrrrr^]]]]]qqqqrrrrrrr^]]]]]]]]qqqqrrrrrrr^]]]]]]]qqq^]]]qqqqrrrrr]]]qqr??9/qr10!WueW=@[  4 4&%M%5%%5%%%%%% %P%5%%&54+< =+=<=lmX?]+??9/999999999//]]F>(5%%> +</+<+H+}]10]]]]2+732>7>?.5467>54&+7;_B$=2G,&5ZF1 C7UvM%L-?+ < 1ET,$;,AB8P%:S3;"+;&6V>JnJ%3M362T?*  "2@' M-54vHf@?     0@ ~B^]q^]^]]]qq/9/9//^]]10]"&'.#"5>323267yKKBm.'C=:3TPJ6n0D4 =?F*  &.,2*L:@ RR@=H@#)HlmX@     0      ]]]qqq]]]qq+?/0//+]q+F( +</+<+H+++10]]!35 5,+Lb%?3&/ְͰ'ְ6> .  % #99999 9%99@  %..........@  %............@0167#7&'&54776?3&'ω;$@/c1e [U@TM GZ/Ps53%2rkiJd e[~+,@U ""!$% %  %%q   ,:J.%($ ! $ v! (t/ uXYX+?2]]?29/329999]2]2/3//F-( - +</+<+H+}9/10]]#!7>?#73>32.#"!!!267P*6'^r 3Clkcb5SG%:, 5!xY_wk&i{_e50Sm<0TI.K8~k"ZfHH"64@-#@` (2 /+/_^]]q10467'7>327'#"&''7.732>54.#"0p<+L9!!9L++L9!!9L'@o   RbR^q      w  w   lmX+?3?99//]33232//]/+<+}3/]2/++ć++10]!!!!!7!7!7!7!!! R..Q &쓢TW@ { T  4  d D   4       ` D  $      t d          d T 4 $    t ; +        d 4   D    [ K  k   T D      @/  4 $      D $   ;  r_r^]]]]]]]]qqqqqqqqqrrrrrr^]]]]]qqqqrrrrrrr^]]]]]]]]qqqqrrrrrrr^]]]]]]]qqq^]]]]qqqqqr^]]]]qqr??99//9/]qr3210!!w|I[o@BG G& & M@EW1o/WWo] oE MMo;(R6J@6,v# v?/993333/]]]9910]]]]]]2.#"#".'732>54.'.54>7.54>>54.WsF pSqs/IZ+Af?#A\9?EIgwG tj3cO10Sm/Y@& 77 33 J5?U5U5&@ 0`p@FH/O_ T@EO0E:00::0:0:+[o[O[?[/[_[]]]]]]??99//]]99+/_^]+]q99//10^]]#".54>324.#"32>".54>32.#"32>74^dc^44^dqp`TnP+`~ަ`hd00bdNtS9 />):T58T9)@0! 9Ttd^44^dd^4r~ݥ`,OoTަ``?q\`k:%?S.).%'He>>hK**3/+UD)h ;H@++  <3 @5H ,@% H %%% 8;C+=;==)C )??39/]]339]+/]]9/+9910]]]#"&5467##".54>?654&#"'>323267'32>7:BG-7F.2K2@e~>{ ,&($} /  bMX3&.-&  4.  "7&!6F&N_4$*($Xg]b8  963/#;,HRs@M * *   O   OP`? /]32/]]]]]]9/]]9/10]]%73!73CNCiGo)'iGo)'KN@@ H?/+10%!5!nt>/=F@ :: 1<9=0)00====@ H4=4=&@ 0`p@?H/O_ =4<2CB54C55C4+HoHOH?H/H_H]]]]]]??9///23+/_^]+]q99//+]3]29310^]#".54>324.#"32>##!24&+3264^dc^44^dqp`TnP+`~ަ`EuJ`NKEBCd^44^dd^4r~ݥ`,OoTަ``9/q^v;9']@@    @    #@)]?+/_^]q10^]]]]#".54>324.#"32>>3WuBBuW22WuBBuW3,;##<--<##;,VBsU11UsBCsU00UsC#=--=#"=..=WZ @  O_    @ Pp  ooO/ OoOoO/O/9rrr^]]]]qqqqqrrrr^]]]^]]]]]qq/32^]+?9/_^]32^]+3210#!5!3!5!oUT=G -@" ??/3]2107>54&#"'>32!G$_c`K.,#$?{?\>2M`\N]x9R?56?+'(9"c[3D'32#".'7326(D<>L)**;6L`9v.E,@N-RuGJe?22.A!~2-',*48I-YZ >1! M?3S; "8G$035//]107! +Ws:4@C& %'((K%&%%&%%o%%?%O%%%%%&%6K@$HH@: H  %(. P '&XYX@666`6O6/666]q]]]]]q+?3?3?3999//]+++]F5(5 +</+<+H+}ć/]]qF5(&%%5 +</+<+H+}10]]".5<7##"&'#!!32>7!3267k1@%*jQ;MI#v:C+I:) p   &c$5"  Wa1)!<MX-QsFB ) jR@\    `@ p p9r^]]]qqqqqrrrrrr^]]q?2/39/^]/^]9/]10###".54>3!ϜÛQ`52_Xu-XXT]2~Dg@8P`ppoXYX+/0//]qrqrF( +</+<+H+}10]!~; ;1XW7@! H0  P]//99/]9+10]"&'732654&#*737)QJ4: b0FWWu#* SABaqb c@1    XYX+?2?3/]/F ( +</+<+H+}10]]]73?33b[ʯtylzuyf<+?@"    -$??]]/]]10]]#".54>324.#"32>7><@pZFqP,=m["-72) ",30+viu?(KlDdr>+:$ 'I=6.>%$KC 7&0y@T % %Pp/   @    @ 0@`/?O  /]22/]q]9/]]9/]]10]]#77!#77IIG)na'G)na'b&y' 4K?@ o_K@  % o @  %?55+]]5+55]]]5bD&y' rnI6@ o_@ & %o   %?5+]5+5]]]5n&s' 4K/@55O5?555---:?55]]5]]]]]5:%)u@6H&()R)&'&&'''&&!G*' !+ '(&)_XYX +]+/?32992/9/F*(&''* +</+<+H++10]]".54>7>7!3267!hzCAiC#;. 3I`:E[6`en \=44/ZVVhR%)0:'FgQD$+B=>'?S]d(Xc63&$]&%+5+53&$@&`%+]]]5+53+&$}@&O%+]5+5C&$R[@&/  0%+]5+53&$iK&@&_5%+]]]55+553&$P@8O%+]]55?553@ARc   \ /?O@$H_ _   __lmX+?22?339/9/32+]/]]9/9///+<+}3++10]!!!!!!!!#!EF>-CE+I,=%+) \h 8C?oQW&&x]0///B!%+]]55$&(@  &6 %+5+5$&( & %+5+5$+&([@  & %+5+5$&(iK@  &%+55+55$t&,@ &S%+5+5$f&,1&%+5+5$N+&,@ & %+5+5$L&,iK@ &%+55+55#@k  # #\   0 @ P    [ oP`%_O/_ #_lmX+??9/]qr32]]q]q//]q/+<+}10]2#!#73!!32>54.+ޣ]=mis*te,GtƐR8i`Lᖅ߳[.RTJӊb`0$&1R[@ &/%+5+5d&2@ 2&O36%+5+5d&2D2&+25%+5+5d+&2@ 3&u82%+5+5d&2R[@ 2&=M%+5+5d&2iK@ 2&64%+55+55~~ y@!H#3C !H, < L @8!H#3C!H,<Lp @`p  H?+]q/]q10]+]+]+]+ 7   ~d```Ff``b#z!.;@ ,24"-1/*@H H  [o//// /P/`///=*[` -1/*,24"4_"_??2299/]q]q]q2+2910273#"&'#7.5467>$"&4'32>7>xN=? pIsEG k{R'WPO|l|Q53Ir1i0^.-|N{.`1_@xo%K"yQFdK4Azl$Rw&8B@ "&#&%+5+5w&8@ "&"%%+5+5w+&8@ #&c("%+5+5w&8iK@ "&~&$%+55+55&<@  & %+5+5$.k@> [\0@P__lmX+??99////]q/+<+}ć10])!32#!7!2654.#!K',|EQ,!$B[7:nbrDt7O3#?|@L32 H6(H//?H(((A>??K?O%Q>9PXYX+??99?/]//+<+}]99//10]]]]36$32#"&'732654.54>54&#"#2Yf7+?K?+%8B8%:kZq6D26=#PS$7?7$+BKB+IF6YE1'JkDEeJ834"$3/1D^ET_3  TH-=2.:O9:SB8>J35<>cG 7&DCh@ P&OQT@%+5+5 7&DtP&PS@%+5+5 7&DK@ Q&VP@%+5+5 T&DR@ P&[k@%+5+5 7&Di@ P&TR@%+55+55 7&DP)@ U&ZP@%+55+55*NET`@ ! ;; BGX;$``F& **XXXXXXPX`XXbb_b23JG/?O22/22@H22-%`FQ``O8[-Q=8OO  $  Q?33]?39/9/+]/]2]]]]]q9/3]33]2]9210]]]]]32>7#"&'#".54>;7>54&#"%>32632%#"32>7%>54&#"][*B4'Lnk..hpw=NsL&-Nix?D;>7- Htjr)pl4 (q$1GE<cP"LG9,jq->$J@iJ(shHV/2Sl9QwU6 $-B>90ClM*?2q32.'7"32>54&/kD%$I ' ,D.Rvu:OۍC>6B+!GqP*1M7CsT/j.](1m69xTlBt[}ИT  G9o3:iV)P?'Cu[U`#&QR'@ ,&7G%%+5+5?&RC@ .&&/2 %+5+5?&Rtl.&.1 %+5+5?&RK@ /&k4. %+5+5?&RR @ .&9I %+5+5?&Ri"@ .&20 %+55+55EH ]@B?o?Oo 0`0@`  ?9/]3]q2]q10535!53xq*\'6@[22',##,+G(P((((88@88P8p888G/?O+,/  /O O ??99/]]]qr]q910]]]]7.54>3273#"'.#"%4&'32>7>*68]R7<]bj:}F*,ZQC D>#-XPB &8aaEia1C2+Bzd0UAyf4WU&XC@ ,&-0%%+5+5U&Xt]@ ,&,/%%+5+5U&XK%@ -&Z2,%%+5+5U&Xi@ ,&t0.%%+55+55W&\t@ &&&)%%+5+5W;@>:$$&GP=28;;89:;:8\9:9:899999@$H 909P9`99@$H9:9 2.O! O.:9!XYX=P=]r+????999//]+]+]F<(:99< +</+<+H+}ć]q10]]"32>7>54&%3>32#"&'#!!4`P? 5J-3SB3 M #JVd323>?!7!7!3#!4>7'2>7654&#"$LUd^^-SH9 L/D-6`N,d=};4E'[EzP=t6 ,2 McU=sgK`1N%em$&(MN@  & %+5+5?:[&HM@ 0&x13 %+5+5$&(@  &%+5+5?C&HN@ 0&5D %+5+5$&(O@  & %+5+5?:&HO 02 %+5$W&(QE"%+55?l:N&HQO55F %+]55$+&(@  &%+5+5?R&HL@ 0&28 %+5+5d+&*@ /&4. %+5+5W&JK@ T&gYS0%+5+5d&*@ .&3= %+5+5W&JN@ S&Xg0%+5+5d&*O@ .&.0 %+5+5W&JO SU0%+5d9&*9'4: %+5+5WI&J@ \&]W0%+5+5$+&+@  &  %+5+5#z&K#O@ )&.(&%+5+5$?@  \   0@   \  0@P `a    lmXP]+?3?299//]3232//]q/+<+}q//+<+}10]]]!!!#737!!7!3# 7!vv{!{&'&r&&{!{w&&\ªP#/@x+ RK1 ()).+*)R)K*/*//*/O*****+@H+R...@H../(# )*#P 0@XYX 1q+?]?39999?39/+]3+2//]//+<++]q/+<++10]]!!3>32!>54&#"!#737Y9! IZoEwn MK/^Q= n!̋10.*J8 .-)+..) ?B(Ji@$&,@ &%+5+55&R@ &z%+5+5$&,MN@ &%+5+5#[&M@ &%+5+5$c&,@ & %+5+5#(&N@ & %+5+5W\&,Qg %+55W\&LQqY %+55$&,O @ &%+5+5#:c@AKPOXYX /0qqqqq]]]q+??10/]q//+<+}10]3!#:$f&,-'@ o  o_]]]]q5]]5#W&LM9>!@(&&H!@ H!@ H_?]]]]]]qq55++++&-w&8 %+5+5$W@U /? K  O   @-H   PXYX /qq]]]q+?39??399/+]q/F(   +</+<+H+}3/]q]10]]"&'732>7!#'##7362V$ ! "0"  5Tu@W &>.vFAlP,d>$9C&.'9 %+5+5#9&N'p %+5+5#: @f  + &)  RK    KO    0  @H  XYXO ]+??2?9+]]83/]//+<+}ć9]+}+10]]]]]]]]!!!! ؼUXB'KZ:@Zl$k&/@ & %+5+5#g_&O2O&%+5+5$9k&/>'ߴ %+5+59\&O'I %+5+5$r&//  %+]55#&OHK-@@ H? /  %+]]5?5+]5$k&/O)%+55#&OOɴ%+55]5k t@E     \0@P   _lmX+??99//9//]q/+<+}10]3?!%!$],'mP+M-@Aϕߕs y@J KPO   XYX /  q]]+??99//9//]q/+<+}10!?!7njl)l*31EEJ$&1&%+5+5#&Qtk,&,/%%+5+5$9&1'i %+5+5#9M&Q 7'28%%+5+5$+&1@ &%+5+5#&QL@ ,&.4%%+5+5U'QK1:H: H728%%+5?5++]55$?@~==!!899\ 0OA'-\ ! !! 0 @ P    !982 !- 2'& _ _2lmX@AA`Aqqq+????399999//]q/+<+}ć/]]q_qF@(@ +</+<+H+}9/10_]]]".'732>7>54&#"!>7!3>32LJx^F!'1/@0$8 uxLsP " ,k|RC(6Ki#?U3u+!%Q] ,/.V`2Up>D%\ZL?EE>dF'0a Y}`A"#WM;@\91677K   =$(KO 76(.P.P$#.XYX =q+??3??9999999//]/+<+}ć]/F<(  < +</+<+H+}10]]]]"&'732>7>54&#"!>7!3>322V$ ! "/"  LL/^Q= v  IZoE 6TuW &>...) ?B(Ji@S"KC0,9;*J8 .-)AlP,d&2MN@ 2&35%+5+5?[&RM@ .&u/1 %+5+5d&2@ 2&7A%+5+5?&RN @ .&3B %+5+5d&2H2&2;%+55+55?&RS9@ .&.7 %+55+55g3 4@.$\$%$$%$$?$_$%$$0[P    @'H6_$!__%*__lmXO606]]+??2??29/+]/]]q9//qF5(%$$5 +</+<+H+}ć9/310!#".547>$323!!!!!%267.#"4::K'H6",eE^+I-4`')', 0W{T׃[d\ +W'WT):_N3R^@vII<<--( ($^^H44V 0GVVVVVVVVPV`VV``AG/?OQ^^F#YR+9R#FQ  $  ?33]?9//]]]]]]q29/2]99]]]10]]]32>7#"&'#".54>32>32%4.#"32>767>7>%>54&#"][*B4'Lnk~9%`nx>k|C]@jYL"Krpl4 /6M0,ZQC 7M--XOBcP"LG9,jq->$J@iJ(OI):$;qha#5$FHAyf#*kb;eO$&5&" %+5+5#&Ut@  & #%+5+5$9&5*'%+ %+5+59zN&U+'&,%+5+5$+&5[@ &v!' %+5+5#&ULe@  &"(%+5+5A&6>&,>A$%+5+51&Vt :&:='%+5+5A+&6+@ ?&D>$%+5+5-&VK@ ;&c@:'%+5+5WA&6xAT9%+55W-K&Vx=P%+55A+&6^@ >&@F$%+5+5E&VL@ :&@ &? /  %+]]5+5#&]L@  & %+5+5#.J@, /KOQXYX+??/99//]/+<+}]10]]>32.#"! 5]`-Q$  C< DlJ' @AqW9|@=  q` uv XYX+???3299//]]F( +</+<+H+}10]] !#737>32.#"3% 5]`-Q$  C< %|%qDlJ' @AUx=&$'PC-3@!===8=B%O%+]]55+5?55]]5 &D'Pz0@xxxxU&x}ZP%ZP@%+55+5+55]]]53&& %+5+5*&ta& adB%+5+5#z&@ <&z @   `/]29/]10#73373==[//10!7!!Nc'@ @ @/2/10]".5467332>73JtQ*-; $C9, ?_,Mh<  *>))>+IwU.JS?10/107!J))pl'4@"    #//10]]]]#".54>324.#"32>(E]44]E((E]44]E("/.""./"n5]E''E]54]E((E]4-""-/""/jW !@   ///10]]".54>7332672(I7 1A$ 6',#2%OW,C.,L@47<<&& D:@@p@  /23/]10]]]".#"#>3232>73p,QKD% $?bI-SJB% $?a&/& --fX:&/& .-fX:: %@  @ H/32/]+]107!!7!:     + +@ @//10]7!~!$%U 9@ @ H @ H @/9/23/++1073%73!73,,L,,!%v)3&$TӴ%+5?5D'({T9  @ %`O]]]]qqq5+]5?5b'+xTB@H@ H0  @  %P O]]qq5+]]5?5++',TE@ @ H@%Po_?]]]]]]qq5+]5?5+9'2T;42M@22% ]]]]]]]55+]5?5 '<T-:@     @ %o]]]]]q5+]]5?5G&v3TS<F@3:=)%:@.H/::::::::o:_:O:?:::]]]]]]]]]]]qq+5+5?5$+U&U^@& %+555+5553$${%$2f@4/?\0@P_lmX+??/]q/F( +</+<+H+}]10]!!2,*d@X&6F,<LR \R ^     `?/]]?3?29/]]]99]]]++ć++10]]'!%.5Y,# $-rb)QE12FR(H$(#=$+d5Q@31&[` [o1111 1P1`1117_)__??9/]q]q/]q99//10!!2#".5467>$"32>7>54.,K,V Q k{Rl|Q0X;?Qօ1i0^Wڃ.`1_@xo%K"Azl$R]].$\,$C.@V,<,(#&H(HR]R  ^ H/?O/]]??23310]]/]]9/+++ć++10++]q%!.'&'!!u -2+u,^'.+*.'^-$0$1e ?@&@P` /    _ __??9//]]]]10!!!7!7,9,--W,,GWd2$@TR\R\0@P 0@ `lmXP  ]]+??20q/]q3/+<++3//+<++10]]!!!!s$Y3 |@b b  @* H /?/? _ _?2?29/]2/]2]+9/33+}ć+}10#7 7!!!/2!),G+  -Bs7<`v *7@++[# #P## #0#P#`#######1[//?o )**+7 * *^  *   0 P  P  7a) +almXP9]+?22?22//]qqF8( 8 +</+<+H+}3/]q3/]q10]32>54.#7#".54>;7!32+#";/6R`5:V8&LgzC`ECux=ZQ&@.Pb77S8Bq4e]:aE'BziLH~cS'._f7aH);(<@&& )!) && "##^ ! !  0  0 P ` p  !  ^   / ? O    ^ @0P`*) ! _  !" lmX`*P**]]]+?3?9/329909/]qr//+<+}3//]qqF)(  ) +</+<+H+}3//]]qF)(! ) +</+<+H+}]]]]10]]!#".547!;!32>7!#SS~y;RT}&LvW:ZZXܝU:k_FNL   jg FpP1ƒC9t@J 87'"/ 5[P;"[555)))))0' *_)_??322222/]]]]]]9999]10]]]]]267>;!>54.#"!732.546$X7}˔-(#J,?_f52\RXM$7!!.=##".5467>"32>7>54.dJtT5 ""  NLD   "M_uKTX. ee-M?1)RMD*CM%D]8BE>/Beva0=>:5_G*6f].r6y5#Qc2U$0_] ?kN+W <@ 4444%H/H:P:`::@,H:>>%$$K   @$H 0 P `  @H  4O55$%!*O!OXYX+/??9999/9?3//+]+]F=( = +</+<+H+}ć]+]9/]910]]6$32#"&'#!"32>54.#7>54&-[m<1Qj96\E'Ezd6 ;-a5=D"=gK*%HiD(DjK'Q.VwJS^: 8Rj@kF8&9\5#GkH/Q:!%7!!>7l N  E1 :61._-:T]YIG?{7ou~FX74l@I--33!G0 11+O_oO6P66G++/+?+O++++14O 02O&??992/]]]]]]q9/993]10]%2>54.'".'#".54>77!-JoK&$2%TSL;# 8NX )-) )D1Zq{@\r$G;gP:aRH!#3F_}P=^A!]6gnwEΏKBu\Ŏ_8M9m@E   1/1?1O1117##;;7G,H/?O12R$'11'RO ??9/999/]]]9/]910]]]%267#".54>?.54>32.#"3"YE.brS\f60UwG'D4?sdEucQ#gB"A1.Ql?EmCOO=+B.0TrBCeG) '9J,IoJ%3Q:T?81$'6"!F?;K1n@6P@6% %H0.P`/?85H/'?'O''''''4/5Q6/?22/]]]2]10]]]'>54.'.54>?#!7@"JpC;W97gP0-;# 'F_8>nR0>kT !#! %̽@J'3&(:Q;1aYO a%)-)!,FeIZC%WM)@k  KP 0P`+"K0O"'P'XYX+?3?3?39?9999///]q/+<+}ć]qrqF*(* +</+<+H+}10]]!>54&#"!64'!3>32 LL/^Q= t IZoE1.-)..) ?B(Ji@SDy*01/*J8 lL#/v@T('   )*H--P-`-----1O1HP`O))Q $Q??9//]]]910]]]]]]]]]2#".54672>7!"!>54&߹%orR^3I$*MD; $2*LD9z M@[U;xx:Pvo-mA/CZ7p+k;{.~oC :@< 0/ K  O o    @$'H  @H  XYX+??99/+q+]q/F(   +</+<+H+}]]]q10%!.5467!`* V;E'>N0%: @n    RK    KO  O  P `    XYX/ ]+?3?29]]83/]//+<+}ć9]+}+10]]]]!!!! Ef.*q: 2!|@QK I! RK!!!F%O##   /?OP?2?0/]]3]]]9]]33++]]]]10]]).5!'.#"'>32/ +12 #. 2!f9QoK.KRLQXVSIE\7  +\bX:*@Y##$%"#$#%K"#""#""""O""P"""",,p,# K@$H 0P`@H" % #P XYX+?????3999/+]+]/F+(+ +</+<+H+}ć/]]]q]qF+(#""+ +</+<+H+}10]]!>7##"&'#!!32>7!9V9OI#vAM2YI6p  ,56ci0*!<LY-QsFB"IC6i_:{@: G_oP`P`p RK@ HO?3?33/]q3+]+}+]qr]q10%>54&'!!!N}W/ " -OlG_g#:8"TJ:1pF@V ;; 0, ,  ?93. $HP``HH90E@EEH/.?.O......4 O EQF /?29/9/]]]]9/9910]]]]]]]]'>54.'.54>75.54>?+7$QnA/Ne7%gN5U>2bM0-:-!;R29oY7Dӏ;fJ*6Zs< EQLL&̹ 5P:.:$ )JsU'7)"%:U?0^XP"`)D)!-" +FiLXd!8O2?"7>3!#32>7#".5467r;?C""GD>'K?1',56s%o.-  498>[;k||ںJL}  !2, #?X5A)WO+@9 GP'''''--K@$H 0P`@H"O OXYX+??9999?3/]+]+]/F,(, +</+<+H+}ć]]10]]2#"&'#!>"32>54.gyBK{j/SUs6V@-2&sBChH%2DO>wreGB7 WvK.W}O6>L[GgB Ln=O5P@6 4- -%H`7p7HP/`////?/O//* O?/99/]]]]10]]]]2.#"'>54.'.54>|2&0:":fTB-8^F8u_=-0('>ZD3^UJ a ")/(!6MgGE}L@:3J@3,,HP%%%/%?%%55051G/?O)O  O??/]]]]]10]]".5467>3!#".''2>54&'#"sv<  J% -67"LYyJ GFlOk>pa$T(w4DLT.~ߦaHlFs/#O_#?x9:(@_  +(K(((*'J'*J*JK'(''(''''' '@'P'`''(''(O(O XYX@* ***]]]]+?2?99//]]F)(('') +</+<+H+}]]]]]10]]]"7>3!!32>7#".54677'OE5'+25%m.-  498>[;k|  !2, #?X5A)fd:'r@9  H))?)K'&''&&&'O&&&&&&'P'XYX+?22?99/]]/F(('&&( +</+<+H+}]]10]]32>54&'!#".54>7tRV>\B) =`lcm:v:!RN^2WtCl-2Xgʶq@+X\))% U@WcR#3@,#))!!!P5?5/H)%H)  ! * ))+)F)V)<)!+!F!V!7>">54.R[1YONZo>MӆAiK(^[h&ɚ/& heT$ &P7fYeiBugkY^v̮8W? [l/Q;"LWP$!@>   t   @!H{ %H{ Ht@\%H[T  RM R N  &!?O  !  &  P@&&]]??3?399]/]]]9]++ć++]]+r+]rq+r+]rq10]]]]]]]]2>7!!!'.#"7>16RDLb8 bW <"@!!  K0@KP " "M!!! 0P`p $#  O"!XYX`$]+?32?3?2399999/]/F#(!# +</+<+H+}]]/F#(# +</+<+H+}]/F#(# +</+<+H+}10]]]%>7!!$467!!FMjI-vyWיOOC ep1P: GqQ`}t8ky*c/7-M8!7hOG@$88/ /GG*F*E&EGEFGF@HEFEFEEE E@E EEE=GPIF=G11/1?1O1111EFFBO!,7Q66XYX+?32?329/9/]]/]9]]FH(FEEH +</+<+H+}9]]]]10]]]32>7>54&'7#".'##".54>7326?! "2!5P:)Y^6hj6b^FgI. I]sEX]0S # #7&Sm1H%%B2.V|N$C fV}R'O&~>%Eb>>cE$9mew*M#0P9 C&i@ & %+55+55fd&i@ (&n,*!%+55+55?&RT@ .&.1 %+5+5fd&T@ (&(+!%+5+57h&T@ H&HK1%+5+5$$&(iK@  &%+55+555~@K54/ [@&&&&7.///\0101/100 0P010.)_3_01_3lmX+?2??9/22//]q]/+<+}ć]]9/10]]]>32#".'732>7>54&#"!!7!A'g{K KwzIu\F"-:&.@.  s|6mf[#9,,$396n2-C*'!A`@@GI  k$5&q@ & %+5+5d/H@) **+1[`_%_ %_??9//]q22]9/2]10]".54>32.#"!!32>7ǝI4cNJR 1LjD^yW-*S{RNgO+x\{|࿛l;@lNG,SA'4`UT^2*H]3uLe;A6$\,$L&,iK@ &%+55+55-r&1@[ \#$##$$# &1'%%''\   -/?O[---3%$  #$'_ 1_&&$` `$lmX+??9/?9933]]/]q9///+<+}ć99+}10]2#!!#"&'732>7! !2>54&#!}nJT0t6ZUTaqH$>0$ *-2?N2mxEoN*|P2b^ou=O" 8bړ5O5Y[%!@g! \   O  @H  \0@P[#! `_  lmX+?3?339/3322]]//]q/+<+}ć9/+]//+<+}10]2#!!!!!! !2>54&#!nJTu-v'mm'mx8EoN*|P2b^ou=\15O5Y[Zp@C[!\ P_  _lmX+?2?39/22//]q]/+<+}ć]10]]]]>32!>54&#"!!7!!A(Ybl; QP hrUE9,,8^ V$_D!X^ _$`&!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!~~H!}}H!||H!{{H!zzH!yyH!xxH!wwH!uuH!ttH!ssH!rrH!qqH!ppH!ooH!mmH!llH!kkH!jjH!hhH!ggH!eeH!ddH!ccH!bbH!``H!__H!]]H![[H!ZZH!XXH!WWH!VVH!UUH!SSH!RRH!PPH!NNH!MMH!KKH!JJH!HHH!FFH!EEH!CCH!@@H!>>H!;;H!88H!66H!33H!..H!++H!))H!&&H!!!H!H!H!H!@ H!@ H& %+5+5++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++$&CP27G&J@ &y'%+5+5#h @r c  \ P \@P` lmXP  ]]+?3/?32//]q/+<+}]q/F ( +</+<+H+}9/]/F ( +</+<+H+}10]]!!!!!O&'i'Ohsh3$$Zm@D   [0\   0 @ P    __ _ lmX+??9//]q//+<+}ć]]]10]2#!!! !2>54&#!enJT0#,AxEoN*|P2b^ou=5O5Y[${%$5l@8P`/?\0@P_lmX+??/]q/F( +</+<+H+}3/]]10]!!5,'doh@|    ^\ 0P`p ``lmXO]+?32/3?2299/]3]/F( +</+<+H+}39]3+}]]]]qq10]]]]%3#!#3>7!!OxO.^\T$MHNT,th>ks^>$(-@ )9I%5E&6F'&&^%$%%$bc  b  $',/%%%-  ?O,----^0  $' ,a %&- lmX/]+?3?29/32999//]q]/+<+}3/]]93/]9]]+}ć+}ć+}ć+}]]]10]!"&'!.'!3!2>7!!#v@*X  "}!4//tt5DY>6>90/ %('v] 0?H$Vk<W?jODi$G=-  :c@:16[,[<!!!"!_'1 _' _??9/999/]3]]2]]]9/910".'%32>54&+732>54&#"%>32M~W 5MfD;gK+;-;J{Z2h_x0'ovqv=0[Q7_F(H8fW[:]A#3S;R`4U=IYwoKa[,3Z|IP}\<1Mg?bs@$@(   R R ^    P  @3H  ^0@P   lmX+?22?339//]q/+<+}/+]/+<+}++10]3!!!>767$  9L 2b'.*F?(X&,,$G&J@ &# %+5+5$`@lRb  R\  0@  ?\0@P  a lmX+?222?3339/99//]q/+<+}ć]]]]9++ć++10]!2>7!!#!5't9H^? 4"A9.> $('v?gNIW*H7&  n@?^\ 0@ @ H  `` lmX+??3299?//+q93/+<+}ć+}10!#"&'732>7!!Vit6ZUTaqH$>0$ *-2?N2O" 8bړ$0$+d2$~@L\\0@P 0@ `lmXP ]+?3?22q///]q/+<+}/+<+}10]]!!!!s$Y3d&s77@l 0R^RcO/?OP`  `??333999/]]]]]]9++ć++10]]]]]#"&'732>?! ! 9ipSJw-v"E'#??@$)5>UT*, .K7%XN8 *7@y++[ # #0#@#`#######1[/?O )**+7 * *^  *  @ P `    7a) +almX`9]+?22?22//]]F8( 8 +</+<+H+}3/]3/]q10]32>54.#7#".54>;7!32+#"; R`5:V8&6gzC`/-ux=Z;&@Pb77S8,q4e]:aE'BziLH~cS'._f7aH);$h @:   \\@% H 0@P `lmX+?3/?22//]q+]q//+<+}F ( +</+<+H+}310]]]!!!!3O'9hsst@R  \ 0\     _  lmX+?3?9/3299//]F(   +</+<+H+}qq//+<+}]]10]!#"&5467!3267!k*`kt? QPv}\K'#û N$bAba $ @I    \   \ 00p@;$H\0@P`  lmX0  ]]+?3?22//]q/+<+}/+]q]qF ( +</+<+H+}+/F (  +</+<+H+}10_^]]]3!!!!!$ss$h@      \    \P 0p\0@P ` lmX0]]+?3?/2//]q/+<+}/]qr]qF( +</+<+H+}+/F(   +</+<+H+}310_^]]]]!!!!!!30OhssstK@)[\   __  _lmX+??9////+<+}ć]102#!!7! !2>54&#!nJTX9,mx_EoN*|P2b^ou=5O5Y[$#@\[ \ 0\0@P__lmX+?3?339///]q/+<+}ć/qq/+<+}9/10]]!! 2#!! !2>54&#!'TnJT0'mxEoN*|P2b^ou=5O5Y[$Zh@A  [ \   0 @ P    _ _  lmX0]+?3?9///]q/+<+}ć]]10]2#!! !2>54&#!enJT0'mxEoN*|P2b^ou=5O5Y[*-|@S[o   0 P `  /p/(()/?O(#__ #_??9/99/]]3]]2]]]q]q39/102#".'%32>7!7!>54&#"'>NޕJo[:QlGbrM-"Q`A'tQ~=lW_"32>7>54.ۘP ڔLv'm${_mH`nH*OpQօ1i0^WڃτטS@xo%K"Azl$R]].}@Ic \ 0 [?O __  lmX+?222?9/29/]/qq/+<+}9+}10#.54>3!!! !"3!,'VH.Rhe}wCrR/7R4P=[{Ltp63XC(E3 7ND]!FV@8 88 +@GHHPHH6HP`6 O;;,+O??9/9/]9]q]q10]]%2>7>54.#"".547>7>7>32D5`O;5J.5bS=!8M%m~D$vBtjc1-ci[qWD3#UmXjo9oŬBrW$@?[;>mW :CdB CƃkU    '<^aCgE$9laJOq2'D(5@e   5 G$G,P,,,,,7p75(444K 0O4/5!(R55!/R!QXYX+??999/999/]q/F6(6 +</+<+H+}ć]]q910]]]]]]#"$'>3232654&+72654&#"0Ne50U?%Uׂxt^yku>/u0vсSU)SH8 A@]A( $9O2ZU)k{l1#B`: LU?GPI3232>7#".54>7>54.D3J7%Eotuh/5fbXR&ij;X@+Q|oi):plbt=+H 6(0BiI'/Pj$8(8BgH&7Zu>PrS<" $!<0GY@=H 999pPIPIIEG$/$?$O$$$?Q,,1OQ??9//]]]]]q2]10>54.#"'>32#".5>7>322>7>54.#"4Yt@00,:8?@ޙP"oxuz>dY7gWDQh@" 1TA<]F1 j}'Y}N$   O뜍؉>Awe@ v8'6 =c|?;+R?&$NyU@:n?:NH::'g@=+"$""""'  P  P  @  @ "!!@3  N  "%%&&''&&&@Y'''''' P)  "  %R/ '&!   XYX@)]+?3?39/]]329/]qq]/9/]/+<+}]]99+}ć+}ć+}ć+}]]]]q]]]]]q10]]]"&'!.'!3>7!!##c7%V,)%\\%0D5*B:W6;B6yKV+ & *UK|8<A N9u@L77((/5G 0*H 0@;@;`; R%/ R% Q??9/999]/]]q]9/910]]]"&'732>54H>54&#"'>321D,&C2}BsV2UG<4) SuX\h7:Xk12U>#A|,%=+%:*QD #?29: 8+PsI#&E_9EgG&&7!!#![  )2!%! W:0 -E1+A:@N&&MK?O OO XYX+???3299//]]]/+<+}99+}]]10]]]!!#".'732>7!=`SNUeA)*% $ $018JaB |ˆP!F~ #:"@V JEyKvE F  R*:ZH*:ZH@*P  R%5U@ H% 5 U  H @.O XYX  ]]+?3?399//]/+<+}+]+]+]q//+<+}+]+]+933]10]]]]]]]]]!>7##!>7!3b l=H*vCIGCGF@F: RUO?W2#: @_KO  _  K   O   O  XYX+?333?3339/]q32//]//+<+}ć]]q/+<+}10]!!!!!TTZ}Z:T1:?MR#M+@\''*+R*+K+- -RKO P"XYX+?2?9?9//]//+<++ćq]q/+<++10]]!>54&#"!>7!3>32v LL/^Q= v  IZoES..) ?B(Ji@S"KC0,9;*J8 .-)sWNS?UNF#MPW:\?W@Vl@ZZ77  /\,\,#I ,K+++ 0P`p 9GjPjjjjnTG/?O_IAL#/ bAOWLO4,+XYXn nnPn]q]]+?3?3??999/]]]9/]]/Fm(+m +</+<+H+}910]]]]"&'!>7##".5467>323>733>32%2>7>54&#""32>7>54&usT "GQ\7JsN) \zR>]F2  V EP\8KuP) St/TG7LP/QB2 Cp/SF6 cP-J;- Dh^!Q*/E.7aQ-m?̂<0L5 =Tbe_K2A|1G/2\Q;s:˂=!Qh,L!pvNg4Y&bt!Ph,L!pt Nd3Y&jk:[Uh:0@0 ))  !K?Oo2K0/0/0//0///O///// //O!/'0 P'XYX`202]]+???39999///]]qr/F1(0//1 +</+<+H+}]q]F1(1 +</+<+H+}310]]]]]32>7!3##4>7##"&54>7v LL/_Q< v1$tOHZpE:..(?B(Ji@^+e,9;*J8 .-* j:@\  K  KO!@!`!@H  P XYX+?3?39/2399//+/]]qF ( +</+<+H+}/+<+}10]]]]32>7!!#".5467GAA!<<@%aQ!LWd97!32>7!!4>7##"&'#"&5467!-QA/ w{~.PB/ v  AM_<| FTgA z(KiA_%&! y)KkA\"KC0,9;/L5wq1U?#$Z&$&$yUh:?\@ 33   .123405:.0//K.-..----?-O--- -p-- -`-----..! K?O p `KO`p 30O5!-(:(P5 ./XYXAPA]]+?3??2299///]q]F@(@ +</+<+H+}3//]q]qF@(@ +</+<+H+}33//]q]qF@(.--@ +</+<+H+}310]]]]]]"&'#"&5467!32>7!32>7!3##4>7#| FTgA z{-QA/ w{~.PB/ vuP AM_wq1U?#$Z&$&$y(KiA_%&! y)KkA\,9;/L5M0:u@8 G!  K   R  O RXYX+??9/33//F (  +</+<+H+}ć]10]]]#"&'!7!3232654&+0MЃs'UhzC277zhuS\Y+gMHv^RHJ&:!@k     G 0K#/##!K 0O!RRXYX+?3??329////]qF"(" +</+<+H+}ć]]]/+<+}3/]10]]]!!32#"&'32654&+0UhzCMЃsh277zhu::MHvW\Y+%o^RHJ&H:@E  GOK 0ORR XYX+?2?239///]qF( +</+<+H+}ć]]10]]32#"&'32654&+UhzCMЃsh277zhu:MHvW\Y+%o^RHJ*M-t@JG"P"""""/0/$(()$/O( ((%OO %Q??9/9]9]]/]3]2]]]q39/10]]2#".'%32>7!7!>54&#"%>i\zH9[nkrC #3?"9T<& %6XUQoUM,csLk>7`L2H/&IhB#ffSUGxY2#P7@[3& +G/ ? O  GP9KO#OO0OXYX+???9/?/]//+<+}ć]q9/]910]]]]#".5<7#!!3>324.#"32>7>_gxAZTmnru<2G,)SK? 3F**RI> a;qh  1:Tit>8l|B^;Bzd/U$Hb>Ayf3W:@  eH HeH HNK @ ` G/?OR_oRXYX+?3?9/]22/]q/]]q/+<+}99]+}++qq++qq10]] !.54>3!!#";A@6#N{U^6X>")=*M -E[8eM$>/3%?:'C H?:&Hi@ 0&42 %+55+55#W?@=5:;R;K    A#&-" "RK!!!!O &@HR#   @H 2"! ;:-2P 202@22PXYX+??]?39999?39/+]3+2//]//+<++]qF@(  @ +</+<+H++10]]]]]]"&'732>7>54&#"!#737!!!3>322V$ ! "0" z MK/^Q= n!8! IZoE 5TuW &>.g..) ?B(Ji@10.*J8 .-)AlP,# T@/ KO OOXYX+??//]]/+<+}9/10!!?!%O::e +?_N.|@R  '',**P`0&,G/?O%)O( !&&!OO ??9/9]]]9]]]/]]2]2]2]9/10]]%267#".5467>32.#"!!Sv Votq8 M_ntw9kl;[Q2P?06%[ig2O\2>q^(^-osI):cIZe@eF  xl-KV#V&OY ((H &&H ##H ""H H @ H @H @H @ H%+5+++++++++#&i@ &%+55+55$W\MI:(5@a  M(&((&(&5))KG1O117O&!(O(5R.(!O).R XYX+?32??39/299//]]]9/F6(6 +</+<+H+}ć99+}10]]]]32#"&'!#".'732>732654&+UhzCMЃs=`SNUeA)*% $ $018JaB277zhu:MHvW\Y+gˆP!F~ o^RHJ%:%@i  %KKOG!O!!'%OR XYX+?2?3?329/3322]]//]/+<+}ć9//F&(& +</+<+H+}ć10]]]32#"&'!!!!32654&+UhzCMЃsVZTbSh277zhu:MHvW\Y+1:To^RHJ#$a&t?& %+5+5U'CW&\@ &&)5%%+5+5Uh:/@/ ((.!KOP?O 1K/././../...O..... ...!&/ P&XYX+???3999/]//]]qr/F0(/..0 +</+<+H+}]]]qqrF0(0 +</+<+H+}9/]10]]]#32>7!!4>7##"&54>7GRYv LL/_Q< v HZpE8`r..(?B(Ji@^"KC0,9;*J8 .-* d!9!7!7!2#".5467>$"32>7>54.,, V Q k{Rl|Q0XzzQօ1i0^Wڃ.`1_@xo%K"Azl$R]].?M5!7#7!%#".54>324.#"32>7>},,<bk|C]vy>6M0,ZQC 8L--XPB Mz}^a;qha8lxB^;Bzd0U$Hb>Ayf4W$,v@; \0@P_lmX+??/]q/F( +</+<+H+}3/]33310]]3!!P|d#Z@4 KO_XYX+??/]//+<+}3/]33310]3!!OtD::&:A/&03.%+5+5c&ZCM*&д+.)%+5+5&:@ /&/2.%+5+5c&Zt&@ *&*-)%+5+5&:iK@ /&31.%+55+55c&Zi@ *&%.,)%+55+55&<" & %+5+5W&\C:@ &&'*%%+5+58o/Ͱ/ְͰ017!8//8o/Ͱ/ְͰ017!8//,Bo@MP/?O `@ p p9r^]]]qqqqqrrrrrr^]//^]qr]107!,  K@ +;K [K; ;+k[K o_O?/o_O?/o_O?/9rrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqq_qrrrrrrrrrrrr^]]]]]]]]]]]]qqq^]]]]]qq//^]]107!&'/10/107!&'!T'BB%+55?Q@   XYXVvFFfV 9) VF vfVF$vfF6&@vdRB4$p`PD0 ipdTD4tdT4 td@0 9rrrr^]]]_]]]]]]]]]]]]qqqqqqqqqqqqqqrrrrrrrrrrrrrrr^]]]]]]]]]]]]_]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrr^]]]]]]]]]]]]]]]qqqqqqqrrrrrr^]]]]]^]]]]]]qqqqqqrr]]]]qqrrr+?_]910//]F( +</+<+H+}]29107>733& $.8 #?3$3?Cn\O##NRR(?Q j@4   @ P 0 @    XYX+?]10//]]qF (  +</+<+H+}]2910#>7#!+ $.8!Fk3Cm]N$HQQ@     @H O   XYX+/]10//]+/+<+}]2910%#>7#!] $.7 #@4%3 BCn]N##NRR(?U`@)    0  XYX+?910//]F(  +</+<+H+}2/]q3910##.54?U3*!&"B9/hBH^?@Y p 0    XYX+?]99332103//F( +</+<+H+}]293//]]qF( +</+<+H+}]29107>733!7>733i& %.9!#?3$33& $.8 #?3$3?Cn\O##NRR(Cn\O##NRR(?@] o      @P0@   XYX+?]33210//]]qF( +</+<+H+}]293]q//F(   +</+<+H+}]]2910#>7#!#>7#! $/7!$@3$3, $.8!Fk3Do]N$$NQS(Do]N$HQ7@1     @HO   XYX+/]33210//]+/+<+}]293///+<+}]2910%#>7#!#>7#! $.8 #@3%3, $-8!#?3$3BCn]N##NRR(Cn]N##NRR(v] q@ R@/ `  P ?/9/329/]qq3]]++10#7!%뛿(F-eS(Jx2sd@d   R    P  PXYX+?/99//32932999//]q]F( +</+<+H++10]]]73%% %%#7!(N5Uo(V"n(6V(OVdd3Z}@ @P `   /    y &VF&VvfVFҖ6&VFvftdTD6"vfVD4@$ldTF6&pdP@4$td$;rr_rr^]]]]]]]]]]qqqqqqqqqqqqqq_qrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqrrrrr^]]]]]]]qqqqqrrrr^]]]]]]^]]]]]qq^]]qqqr/^]+/_^]q]10]]]]#".54>32/Pk=, ڏˏYK2$9_rrrr_^]]]]]]]]]_]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrr+rr^]]]]]]+]]]]]]]]+qqqqqqqq+qqqqqqrrr+rrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqrrrrrrrrrrrrr^]]]]]]]]]]]]qqqq^]]]]qqqqqqqrrrrrrr]]]]]]]qqqrr????3222/]]]]]+}102#".5467>"32>7654&2#".5467>"32>7654&%2#".5467>"32>7654&#32ZD' P_d*2W?$ L[a*.)#  E/*$ '/2ZD' P_d*2W?$ L[a*.)#  E/*$ 't2ZD' P_d*2W?$ L[a*.)#  E/*$ ''>:_DK&eI>_CI%iEy.SB+Hq.R@W>:5:_DK&eI>_CI%iEy.SB+Hq.R@W>:5y:_DK&eI>_CI%iEy.SB+Hq.R@W>:5z5(@[0@PP/?/]]]q10!@2zz& H H++IN@4*O`//]/]]]]]]]]9/10]%73 CiGo)'!a<@'%@`/?O/]/]q]9/10]#77IG)na'O&-4@#@ H   O]]]]]]55]]55+T//10!5!4TY2@??/+}10]+3>\ %\@4& &      %!P' /3]q22/]q3+}2]]]10>54&#"#>533>32J*+=^Dc.8C*ZVO{-'$`[.("# . [T.l@N    \    0 @ P     wa almX+??99//32//]q/+<+}]10]]!!!!!#73!+M}(%:32(tо4@u  ! #$$4$$q44444444/4440+,:J6$'#41 #w w/ 1't0/ u XYX+?2]]?299//]32]3299992]2/3//]qF5(445 +</+<+H+}9/10]]]#737#737>32.#"!!!!!267#!7>7޻Bmkcb5SG%:, yY_w*6']upt_e50Sm<0TI.K8|pk"Zf'&i;{,dq @bb GG 33'+k;kky$$NM`32E+*(y'7VpEEEE@ HEE;eqqy`p;; ;s*)(uee8eHeXexeeQxJx(J++(e(e(7x-xqulmXsFssfs6ssssswsgsswsgsWs4s%sssssWsGs&s@sssss Ds6s#sssssssssssusesTsFs6s&sssssssssssusesVsGs6s'sssssssssssusesVsFs6s'ssssssssusfsWs8s'sssssssssysisZsGs7ssss@sssssss{sjsYsHs9s)ss sssssssdsUsFs7ssjssssvsgsUsFs7s'ssssssssssWs'ssssssssssws7s&sss:sssss_r_r_rrr^]]]]]]]]]]]]qqqqqqqqqqqrrrrrrrrrrrr^]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrr^]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqq^]]]]qqqqqqqrrrrrr]]]]]]qqqqrr+????99//32]q299^]//]/+<+}ć99//+]/]Fr(r +</+<+H+}223/_]9910]]]]]#3267#"&547#7+#!23733".'732>54.'.54>32.#"32>54.+F&! F*jh I^Jٕk:evA%E}/O}Z7 PO&A06O4*QA(3`X@@4'4H(*VF-9jYHvR-#?Z6F % hW(-W`X/^bJl:^D#<6" "7P9?]<y}04 !5N7JmG# BgF8N19{@Q,))(( 4/4?4O44;o!/!?!O!!"w# #(w))))/)#)#)s/s??99//]3232/]]10]]]]]]]"!!!!3267#".5#73>7#73>32.#"KH@( 6XLE`JkZZ|I ~ *{ddU(&2=uc:% }uC=(EpP,1y̚9x20SmXWVYXYVWXWXVWYWYW,I9,$,SS[ B'L4WY????99]/99//+}10267#".547>32.#"%2#".5467>"32>7654&#3AO=ZwKPuM%\wCKlF!1;Of 6 ?pU1 cw|5>lO. _ry4:3+ ,*:5-2>SC&@gH&2YzGDK^#*Je; ?K-M MO IvU%]0~["$MxT%[.W9gT5Y%IE9fPmMJA%$*5D@U 4400 ##%; oBF< ; 0)(; q(1((1((1(  ( );<610<06- )-u,,t 6vXYX+??9/99999999//FE(1((E +</+<+H+}]]10]]]]232>73#".546?7>7>">7>54&MxS,bw"90(?4-.9GZpFHmJ%#F#%#J!K 9hc.!Bt0%Db<##b|c,0<<5P53g_S=#)LlC5b   Dh@(6,x  2:* )C5@N$ 3CS  <L\/ / y Ry@ H"   R y   @H  7p"p* *0****@/H*E 73 #".54>324.#"32>7>!{!$& @pZFqP,=m[ *4/& *0.(=,,&X(*.'b23iu?(KlDdr>)7" &E;3,;$#G@5@*2{@M  @  -2,/-/,/-O--4 -%+/-0`404P4]]]?32/32/]+9/_^]2910^]]#367>73#46767#.'&'%##5!_     75-T8"''$=H=#')#7 ]9t@K 0(  ((0(@(`(p((?O((5[;;"[5**''*_)_??322/3/]]]99//]]q3310]]]]267>3!!>54.#"!5!2.54>]/dm; WvH 3a[[a3 JwX=oe/]Rߍf35+esJel99leJse+3fߛRbH"/J@,@##_#P#`#p##1///) ?2]]?9//]2]qq210".54>32!32>7.#"uƆE,Lfv?qQ@NX.Kt]M"H$Sn;L]53WJ<"]ob}]<Oу-# K@.OOZZZZ?555]]]5]]]]]555]]q5$' ^'GLWS@4_O/OPPPPP?555]]]]5]]]]555]]]]]5bB@  //29910#.'5>73!;H:RR:H;'"bADp*$*pDAb"V@ @ /299/105>73.'#"bADp*$*pDAb"V;H:RR:H;#bB@  //29910.'3#>7!5;H:RR:H;#}"bADp*$*pDAb"V@ @ /299/10%>7#.'53+"bADp*$*pDAb"V;H:RR:H;bB$@@ //29929910#.'5>73!.'3#>7;H:RR:H;;H:RR:H;'"bADp*$*pDAb""bADp*$*pDAb"&@@@ /299299/105>73.'>7#.'5"bADp*$*pDAb""bADp*$*pDAb";H:RR:H;;H:RR:H;H#(@#  /299299/3210!!5>73.'>7#.'5 "bADp*$*pDAb""bADp*$*pDAb"hPX;H:RR:H;;H:RR:H;?-CY@8+  %%.P`E:/?O3R?)%% O)?O ??3/9/3/]]29/10]]]]#".54>3236454&#"7>32.#"32>  Z}e^Q#,D`}NLzjo974-'kBn^))2)C5( "2 3WC/1iji0uJ@mO;~a:VL, "\$>-+F\a`(.L6Q+C@(   _??9/3]]]2]]93]3]1035!.'!+p DV/aR9:Sa-OW$@H H/?O`/2?/]10!!!CW6*Wb _@6c  c    __?9/9]99]/]9/+}ć+}105 5!! !\qKW,Ƙ}9@ ?/]105!}9|T6@  //9//9]3310]]]]##5!37PQv#3E@""  4'/G>@K@ H$9*C/ ? O ? O   GGGGpG`G@G0GGGGGG]]]]q]]]]]]]]/]q332/332/+]9910]]]]#"&'#".54>32>32%"32>54..#"326v/VvHgAESa8FxV1/VxHgACP_7K|X0);`GJe;p1T>"4`UMc9o1T>#4aq`e^f5G))H5/J35H*'G6_` //103!!^j8^@ 0 ]]//3//104>32#4.#"Dzbc{Fg5_NN^4tLLtbl98ldW%3@"$$ !H P P??/]q10]]]".'532>54>32.#"+*%>$,<$4ec(W?$,<%3eW5H*aWc6  6G'Wc6DR7<&@ 7)   @ H >87)((#77,4#,  T>>>>t>d>D>$>>"$>>>>>>t>T>4>$>>>>>>>>>>>t>`>T>D>4>$>>>>>>>>>>>t>`>T>@>4>$>>>t>d>T>D>4>$>>>>@>>>>>p>d>P>D>0>$>>>o>>>>>>T>4>>>>>d>D>4>$>>>>>>>>>>>d>D>$>>?_^]]]]]]]]]]]]qqqqqqqqqrrrrrrrrr^]]]]]]]]]]]]]]qqqqqqqqqqrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqrr^]]^]]]]]]]^]q/9/9/9/9//+^]]3210_]]"&'&#"5>323267"&'.#"5>323267GKKY'C=:3TPJ6n0D4 =?F)HHBm.'C=:3TSL244D4 =?F)/ !'-,2*)  &..2*;%f+@    J Z EU +;  @ H D  +K[@HD 4 T t  k[;{[KoO//? `@_?_@ @b/joO0pPO/O/9rr^]]]]]]qqqqqqrrrrrr^]]]]]]]qqqqqrrrr^]]]]]]]qqqqqqrrrrrr^]]]qq^]]]qqq_qqqrrr]qqqqqr/]q/+]q]2323222/+399//]33_]]10#7#5!!5!33!!ՁGZӃ#JdGP +@  /]/9//33/33105!5!5!d8dWY o@< RR /0@/]/9=///]33/++++3/10 5!W@wAZWY s@?RR  /0@/2/]39=/33//]3/22/++++105 55!W?7 #@i y iy///10]]3 %! {RVdG////107!!d>T"  H  ///10+#47632#"'.'&#"TR?K3% !$ V{{?0(4 ''#i  H ///10+3#".54>3232765"Z(g>2%!%}86'"%)j%?33105! %iH??103#ؑHK"??310!!#(in"??3105!# (%%H"??3103!!Hn%H"??3105!3 %H' ???23103!!#iHnnH'???33105!3# %K( ?2?33105!!# i%n%H( ?3?33105!3! %nH 3  @  ?32??3223105!3!!# i%nnqj% ??3233105!5! AّH*A ?2?3103#3#ّhHK Kj 1  ???23310!!!!#(iijב" 3     ?3?2310!###בnn#j ? A    ??3?3310!!#!!#htjo"j 1    ???333105!5!5!# i(qב) 4A    ?2?33105!### ܑב%nj ? A    ??3?3310#!5#!5!ґttj)F)ޑqH 1   ???233103!!!!iH"ב%H 4 A    ?3?33103!!33A$Hn#nqH ?  A    ?2??33103!!3!!ّK$hH"qH 2    ???332105!5!5!3 iqב)%H 4A    ?3?3310!5!333$ב%nqH ?A      ??3?3310!5!3!3!5!$KqFH 6    ????2233103!!!!#iiH"ב"H 8     ??3?323103!!#3#AHnn KH I A     ?3?3??223310#3!!#3!!jt " "H 8  @   ????3322105!5!5!3# iqבKH ;A   @ ??3?332105!3#3# 㑑h%K#KH I  A     ?3??3?2233103#3!5!#!5!A㑑tHK )ޑj 9     ?2??3333105!!#5! iiq"h :   @  ?22?333105!!### ב%nnj J    ?3?32?333310#!5!3!!#!5jtttAޑ"בqH :@     ?3??3333105!3!5! Aّ"%H :  @  ?33?333105!333! ב%nnqH L@  A      ?3?32?3333103!!3!5!5!AH"oHL  @    ?32?32??33222233105!5!5!3!!!!# iiiqב"ב"HM  @     ?3?3322?3322223103!!###!5!33AבHnnnnH ]     ?3?32?3?3222332233103!!#!5!3!!#3!5!AבttH"ޑ" mH/?3310!!Umm?/3310!!UH??3310!!U H??/310!!* H??/310!!* *g #'+/37;?CGKOSW[_cgkosw{1mUE- y@ xlTD, xeM5@ dL4qYA)}@ |pX@(|aQ9 @ `P8u]=%@!t\<$x||xiI1!@hH0 gckhd`h_[WT\XTSOKHPLHC?GD@32#".732>54.#"Fz^^{GG{^^zFV9bLLc::cLLb9d^{GG{^^zFFz^Lc99cLLc::c#@  /O/]/102#"'&5467>76jnk5RS4l9R46n9:m64R9) //103!32>54.#")Ex[[xEEx[[xE}A[xEEx[[xEEx)+"@" '//103!4>32#".'32>54.#")Q:cKKc::cKKc:MEx[[xEEx[[xE}AKc::cKKc::cK[xEEx[[xEExscu"<@$   @  @//]10]]]]]#"'.5476324'&#"3276c%%%V3eK#%HJfgGJL33FF3331HH13}5V%#%H%V5fHJJGgF3333FE6116y!-9D@] $ t $t+{+{D"(?4.(.(.1%+7+>:h:Y:G:::b^0H[[׀ؙٙW .. -- .. --#_[)4`@7*/$'!04h4Y4K4=442-_oO-_--- /99//]^]3]]]]332/99//3310#"'&54676324&#"326%4&#"326327'#"'ZZZZ. -- ., // ,0^b>LLH[[ -- .. -- ..[_#Fs;3F/@ H4.4$w##@M H H;;  H;/4#4;B p ?   9+>0/43?3O33/^]]]]]/]]]]10]]]]+]]++]]]+373#'#5.''7.'#5367'7>7"327654'.B 965--,,(17:"B?n0+(. P(9p6Eu0bb0uE`cc1u;  -;q9>_1(,=20db2/aac02P&/b@>++++""""P'''@%(H /+^]2qr/]32/qr]qr9/3210.'&547>32!!#!5!"327654&'&7Z#GS,e>SW;=>B.*PlzS++VSzmQR FF;G,+G>>=T,G;QAQF@(1A;NN?  33FF;A1?J777B??/^]]]99/r]]r9910.'.'.547>323267632#"'.'#"'&547632"327654'&6%( ? .@$    TVWvvWTTUzGSZ>==@XY<>><      "O-@" '*R*Qm}VXTTuuWV+ >=X[===>ZW>>;/(@& 0 ` p  "@ H"O_/]//+3/]/10#"'!727>'#"'&547>7>76 (_E#%?BXc$&}V+B,-SZB?N9En&86_,+i?~BCF_?BWVc %%1E[wK`_B?[J;*U/;q9S<K/@9M?4=C /)//99//]923/]10)7>7>7654&5#"&'&547632.'.547>3267>32#"&'.'FTl)@4:Z+X-;a)OII]P3N(a2+C.=#!K2dmy;*&StsOP"4&sN&(PNmVb(%)LtvSP<3=-Q}.-L'fZy'&@) @ P p  ///]10^]].'.'.'.547632>32b*gL8E+%DFfbN/"X2U#F)N7>-qEEt/'xSEj( #&b<^Q2P;`N]]5(o]H: 9Pwc;kM;!0@! @O_o! //]9/9/]2103#>54&'&'#"&547632L3:0./9@%%Hl9:Q0*%#Jj9:;b&J5-L9<f"&#"&547632#"&547632%%5$&%X3999>Q0*%#Jj9:;b&J5-L9<guJ&IL1%H%@H%@ H   ]]55]5+++J&IOW!@!!H!H!@ H!@H!H!H!@H!@ H]]5]5++++++++]W+@ H 0 ///]9+10]2#"'732654&#*7>rPX'S\.6*RF24 ;9:TB5Q7v'& mD<@XYX+/0//F( +</+<+H+}10!; ;1P9   /10#>7#73h %-6Al(,G=30T&F @H@ H܀X+?3?39/329/+]q/F( +</+<+H+}3/3310]#7!7333XTg >BK+U%o@3  $%@ H% 0@ '%% H@ H%"??9/99+q+q/]]+210]]!!>32#".'732>54&#"#$G61O9+RzN@aC(./, 5(<&7Q5?fJ(5F(*+#/82/&@ @  ?2?9/910#>7!7!OwU8B`|JpCOYSH]!1?U@1   - ;;;'A52""8*??9/99/99//99]10]]2#".54>75.54>2>54&#""32654.wWL4A(QyQEfC!"4A'8-Pn % (*)7 <<032E &^RE^ O>1U>#5I+.A-O82K1"#&,0}<2#087? //10"&'732>76*6B*7VC1pMhJ*F1#9J&1CnO,X   ?/10#>7#73p %-6D l(+H=30`.@tI   ?/10>733#\C16D l(NWu/0`.-@//10%73] +5@ @//]107%! ~++ @  /39/]10#'##737}+ @ /29/]10#73373Hki/Ko:@@p@  /23/]10]]]".#"#>3232>73,QKD% $?bI-SJB% $?a&/& --fX:&/& .-fX:: @ @ H@/32/+10?!!57!:    ++c'@ @@ /2/10]".5332673JtQ*.>#Nj?_,OpD)>)LXEoP+@3 2$<V_birx$$7h$9h$:$J  # S Lw 6 @ 2m  (, k 8 \ | |Copyright (c) 2007 Red Hat, Inc. All rights reserved. LIBERATION is a trademark of Red Hat, Inc.Copyright (c) 2007 Red Hat, Inc. All rights reserved. LIBERATION is a trademark of Red Hat, Inc.Liberation SansLiberation SansBold ItalicBold ItalicAscender - Liberation Sans Bold ItalicAscender - Liberation Sans Bold ItalicLiberation Sans Bold ItalicLiberation Sans Bold ItalicVersion 1.07.4Version 1.07.4LiberationSans-BoldItalicLiberationSans-BoldItalicLiberation is a trademark of Red Hat, Inc. registered in U.S. Patent and Trademark Office and certain other jurisdictions.Liberation is a trademark of Red Hat, Inc. registered in U.S. Patent and Trademark Office and certain other jurisdictions.Ascender CorporationAscender CorporationSteve MattesonSteve Mattesonhttp://www.ascendercorp.com/http://www.ascendercorp.com/http://www.ascendercorp.com/typedesigners.htmlhttp://www.ascendercorp.com/typedesigners.htmlLicensed under the Liberation Fonts license, see https://fedoraproject.org/wiki/Licensing/LiberationFontLicenseLicensed under the Liberation Fonts license, see https://fedoraproject.org/wiki/Licensing/LiberationFontLicensehttps://fedoraproject.org/wiki/Licensing/LiberationFontLicensehttps://fedoraproject.org/wiki/Licensing/LiberationFontLicense  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a bcdefghjikmlnoqprsutvwxzy{}|~     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~uni00A0uni00ADuni037Euni00B2uni00B3uni00B5uni2219uni00B9AmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflex Tcommaaccent tcommaaccentTcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongs Aringacute aringacuteAEacuteaeacute Oslashacute oslashacute Scommaaccent scommaaccentuni021Auni021Buni02C9tonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammaEpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsi IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdanuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni0400 afii10023 afii10051 afii10052 afii10053 afii10054 afii10055 afii10056 afii10057 afii10058 afii10059 afii10060 afii10061uni040D afii10062 afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022 afii10024 afii10025 afii10026 afii10027 afii10028 afii10029 afii10030 afii10031 afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038 afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045 afii10046 afii10047 afii10048 afii10049 afii10065 afii10066 afii10067 afii10068 afii10069 afii10070 afii10072 afii10073 afii10074 afii10075 afii10076 afii10077 afii10078 afii10079 afii10080 afii10081 afii10082 afii10083 afii10084 afii10085 afii10086 afii10087 afii10088 afii10089 afii10090 afii10091 afii10092 afii10093 afii10094 afii10095 afii10096 afii10097uni0450 afii10071 afii10099 afii10100 afii10101 afii10102 afii10103 afii10104 afii10105 afii10106 afii10107 afii10108 afii10109uni045D afii10110 afii10193 afii10147 afii10195 afii10050 afii10098WgravewgraveWacutewacute Wdieresis wdieresisYgraveygraveuni2010uni2011 afii00208 underscoredbl quotereversedminutesecond exclamdbluni203Euni2215uni207FlirapesetaEuro afii61248 afii61289 afii61352uni2126 estimated oneeighth threeeighths fiveeighths seveneighths arrowleftarrowup arrowright arrowdown arrowboth arrowupdn arrowupdnbseuni2206 orthogonal intersection equivalencehouse revlogicalnot integraltp integralbtSF100000SF110000SF010000SF030000SF020000SF040000SF080000SF090000SF060000SF070000SF050000SF430000SF240000SF510000SF520000SF390000SF220000SF210000SF250000SF500000SF490000SF380000SF280000SF270000SF260000SF360000SF370000SF420000SF190000SF200000SF230000SF470000SF480000SF410000SF450000SF460000SF400000SF540000SF530000SF440000upblockdnblockblocklfblockrtblockltshadeshadedkshade filledboxH22073H18543H18551 filledrecttriaguptriagrttriagdntriaglfcircleH18533 invbullet invcircle openbullet smileface invsmilefacesunfemalemalespadeclubheartdiamond musicalnotemusicalnotedbluni266CuniFB01uniFB02uniF005middot commaaccent foursuperior fivesuperior sevensuperior eightsuperior cyrillicbrevecaroncommaaccentcommaaccentrotategrave.ucacute.uc circumflex.uccaron.uc dieresis.uctilde.uchungarumlaut.ucbreve.uc   LNDFLTcyrl$grek.latn8 `nDFLTcyrl&grek>latnJMKD SRB kern g"<N\LVdnnx$F`nF`NJ (V``f84BT~ \  . 4 > H z J P ~ J  6 T  ( ^ p z $<V_birx7h9h:NCkdRT/ZM33Zf  Px1ASC!W3>`: D99Ms'sV!`9x9%i9P9sYs5ss0s s.ssss6sF9Q9&sVV?q?V??9e?9QV?s???9oV?9e?V:VVV999W(s`s.sCsEsE9Ess"!"!"s"sCssE"9]sVpfaz@ssss-s?YsLd?k3dA5L9G=es`/AVVVVVVqV?V?V?V?9Q9Q9Q9Q"?9o9o9o9o9o9VV"s4s4s4s4s4s4 CsEsEsEsE9Y9Y9:9YsCs"sIsIsIsIsIdR,sVsVsVsVsVs.Vs.Vs.qCqCqCqC?E"sEV?sEV?sEV?sEV?sEV?sE9es9es9es9es?s">s"9Q9*9Q9Y9Q9Y99Q9YQ!V?""s?!s?s?@!s?3!s?s&?s&?s&3?s"9osC9osC9osCeE?"??"V:V:V:V:9]9sVsVsVsVsVsVfVV!sVs. 9,V:9QMVG5V9OLIIZ3.VV??^V??9e9QV?V??09o?V?V~V9QVF"q"?fhForC"=q"We?"bc7sC\[CDKfh8G^kv;C?fhsCfh;CV?V?Z?eV:9Q9Q????V5>V?Z?CV?V???|??9o?V?q\zV?c]?b?q>5>.?ts.i-',lCsEsVsV"|"g"sCs"sC"EY$VVB&5& "FsEsEs"!C!+H"s""VsV9osC?"fffViisk`ssDa3VMV\ssNsT%nX=>c|8d3i1dLdAdd?dAd"g{mm%))s+kUFQ@;@<fBEETX'NK8ZXZ /qH>~~_s    " & 0 3 : < > D  !!!!"!&!.!^!!"""""""")"+"H"a"e###!%%% %%%%%$%,%4%<%l%%%%%%%%%%%%%%%&<&@&B&`&c&f&l ~r    & 0 2 9 < > D  !!!!"!&!.![!!"""""""")"+"H"`"d### %%% %%%%%$%,%4%<%P%%%%%%%%%%%%%%%&:&@&B&`&c&e&jG/vn}y!52*) D7(JI@=:74-&ܾܹܶܮܢOLK.,+( bcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?w<   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`apcdhvnj)tiB=qDEfu7:9@kzvbm<@A8l{  8 %wKRoNOPxSQL@EYXUTSRQPONMLKJIHGFEDCBA@?>=<;:9876510/.-,('&%$#"! ,E#F` &`&#HH-,E#F#a &a&#HH-,E#F` a F`&#HH-,E#F#a ` &a a&#HH-,E#F`@a f`&#HH-,E#F#a@` &a@a&#HH-, <<-, E# D# ZQX# D#Y QX# MD#Y &QX# D#Y!!-, EhD ` EFvhE`D-, C#Ce -, C#C -,(#p(>(#p(E: -, E%EadPQXED!!Y-,I#D-, EC`D-,CCe -, i@a ,b`+ d#da\XaY-,E+)#D)z-,Ee,#DE+#D-,KRXED!!Y-,KQXED!!Y-,%# `#-,%# a#-,%-,F#F`F# F`ab# # pE` PXaFY`h:-, E%FRKQ[X%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-,CC -,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,KSX%Id#Ei@ab aj#D#!# 9/Y-,KSX %Idi &%Id#ab aj#D&#D#D& 9# 9//Y-,E#E`#E`#E`#vhb -,H+-, ETX@D E@aD!!Y-,E0/E#Ea``iD-,KQX/#p#B!!Y-,KQX %EiSXD!!Y!!Y-,EC`c`iD-,/ED-,E# E`D-,E#E`D-,K#QX34 34YDD-,CX&EXdf`d `f X!@YaY#XeY)#D#)!!!!!Y-,CTXKS#KQZX8!!Y!!!!Y-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%%%% F%`#B< XY%%)) EeD%%)%% XY%%CH%%%%`CH!Y!!!!!!!-,% F%#B%%EH!!!!-,% %%CH!!!-,E# E P X#e#Y#h @PX!@Y#XeY`D-,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,!KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-, #KSKQZX#8!!Y-,%ISX @8!Y-,F#F`#Fa#  Fab@@pE`h:-, #Id#SX<!Y-,KRX}zY-,KKTB-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY@cTX@C`BYYYYY-,Eh#KQX# E d@PX|Yh`YD-,%%#>#> #eB #B#?#? #eB#B-,zE#-P/@o@P(F(F+/o@Pp F@FF@36FF=U=UU<P&`p@`p@ 2F?#@B2? `p/oOߩ +@ F:@A P@ $F$$$PZH$Ж@W F_oϔߔ<@F@ F_@%FЏF0@o   @'F 0Fmuuuuts?sP&и@>rF5qF5@p&,F p0poF5nF5U3U3Um)ml`P&_P&KA [ 16F @1&*F^Z2\F1[ZHZF12UU2Uo?YRRRR-4F@R $FQQ@Q58F@Q%(FP N)/FN"F MMHMXMMMMML$-FL FLLKF7IF HF5GF5FFFF2UU2UU?_/Oo?oTS++KRKP[%S@QZUZ[XYBK2SX`YKdSX@YKSXBYtstu+++++stu++++s++stu++t++s++sssu+++++++++st+++ss++++++t+++s++st+++s+stst+st+st+++sts+s++s++++su^s++^stssstst^s++s+ss+s+sstu++++++t++^s++^sst+++ssssssss}y:wW~ rj[Ltdje"39+kknL^[^t^eoz iqBHjgaASEyjDXXXXT 8 T TPHd  !H"h#H#$& &'8(()4)-./02P3h45h67?@<@AB$BLBDEdFlGHIKLMpNPOP8TTU`VXWY`Z<[\^0_c d|ehj`jlmmoptvpvyy| }~LxD$8Hx(PDt(XL <l@t8h P8h,l0`$T 4d$L| P0d$T4dX\ŒdʐhҐҸlӄӜD֜$L|ר٤,Tڄڴl4dޔ,@p,\ $<l|@p8l PDt(X0HL(d$D P Pdt , < L |   H X  $\ <p,d00xd "#$&&,'(*8+D,8-h/0l234$4X44445,67 88888:<=<=l==>>??@AACEhFFHII,I<ILI\IlI|IJL$L4MLNdOpPQSTT@UVX XY|Z\]x]_``a b`cledf<fLgXghgxggj jkmlor`stuwxlyyy{|}}~4Dp 8hp(l,`,d Tl(h8,l4xHHx0ŒxĨ0d <ΐ4ҐHHt\ՌH֌h״dذ`4ڐd ܔP,ޘ ߈XPHl$TD|`|t|hh`lXpx8 |,D  l   DdU./<2<2/<2<23!%!!D $hUDM%L@ @&H/@ Hp?/]/+3/]]q10]+]]#373I(((#Y@=/  @oOp9npn...@p.. $o%%@GH%%E o @H (?s3)>t>>9>).%o%%%4s P `   X+?3//]2?3//]9]332/+3/+q9///]q]3/]10]]]]]]]]]]]]]#7.'7.54>?3.'4.'>0Gr  /IgE`Le:TdrSZ7 ucVGlB!"32>7654&2#".5467>"32>7654&5^G) Zjq/7_F( Xjq0%F>4B<#C>4?h5^G) Zjq/7_F( Xjq0%F>4B<#C>4? IvU%]0~["$MxT%[.WlCxbjHb\Dx_oK`VT IvU%]0~["$MxT%[.WlCxbjHb\Dx_oK`V!=Oa@60.@75V`MyFF{C;;{:q959U9e9)@, H%% PI",I8A3SF"X@XpXX@""@ HX"X"= @7O========cKH@ H3F8A>S'==>]Q''?''>Q?322/]q9/999/+3/]2/99//+]]_]910_]]+]]]]]]]]]]]]]]]3267#"&'#".54>7.54>32>7267.'>54.#">GS0(e. 3 9&J;R}jd08mh 6f^EsR-'D^o{?+4A((F>7hY@+K@3GoM("@\ Og;+<%4W="=}{t3&) ?;615ggi7.gmp66/5vyw47#73+ "*{9K X*35WKB AAi|p%@///]q/]/]]107!iРP>@ @ H//+10373P++'I@?Oo??/]8/810]3tD Yb3\@At33-{((" [k[k T d o&&&51o/s )s??/]3/]10]]]]]]]]]2#".54>7>2>7>54&#"Qi= (^Sg; P`pv|LkT wlLkT w7ry?S>54.#"'>32! 7}^6"=U3m%RxfYm=;dv(]wb[ZfyL3Q9ww%L]42]PU{ld`dk>0a=@z88r..Z$j$z$Z#j#z#@t H%<no!n6?54.#"'6$32#".'732>54.+76$SQJ8"9R6w": ]i83`U?}~rsC 3QpIJpK'*Kf<|(?[?,J5zo/YQN^; {WtDAh>0.[J.)Ie<>s3Ǹ??LFH.x,@&y**yz%%rZjZj  $ H H,@FH H+o,,n####.o@ H,,(s    sP`tX+??3/]9/]]33//+3/]3/9/3/++9++10]]]]]]]!!>32#".'732>54.#"#W!r6FU1Yn=G̅jmE *HkJN[1)E]3`4A 5e]wŠK2XxG+(Q@(,ZZCdB!9,ss'9@X%{33s++|:/J/!!%! #n2/222o;(o5s-s p -s??3/]9/]]3/23/]9/]10]]]]]]]]".54676>32.#">3232>54&#"ck9 %~gDxcHrQNrX75.54>2>54&#""32>54.`o<-SvJ2T 4K`;ayE9fRa^6 &gWa55Qa-bm@bD(O?(.StG3X@$)PwO,UB)FI'=@`u44z**t!!5/E/%:&*&&  oo(((((? o2n@ Hs77_7o777 #s  -s ??3/]9/]2/+3/3/]310]]]]]]]]]]#".54>32#"&'732>4.#"32>76>lad3Jv_l; %b$v[PnT7"A[9HzY1">V42j]G ^mBnOqȕW>yrDIL"M-U\J:bG(7g`?`@!"FkI=Q:#@@ H?//+3/107373))))k&: B@    @!%H     /3?/]+93/]10]%#>7#7373, "*{9K X(A((35WKB AAf@ @H(H(H@3H0Pp?0p?o/]33]]/]/]310]+]]+]++]]]]5 Z;XeP@:@`pO0/_oP/]]]/]3/]]]q3105!5!Xf@ @H(H(H@3H0Pp0p??o/]]]33/]3/]10]+]]+]++]]]]75 5Z㚙on^m'+}@&z *Zz +((#0@# H-"###)(O"_"o""""?3/]/]9/]3/+q99//9910]]]2#>7>54.#"'>73eo<=ay<*O@- AYh30XD(&E`;&W''6`MaeJ#3;H.NqU@9F[=0Q9 z(Te9j]r@&nv&&fEvEEf\gWwWiTY44\8J@@ H H}ee)e9e%U{ H H H":2:B:::-9 99u??Q??2?B?3 33Z3"^ $ ^$ h%%i)y)))))) $$   H HR111111+111tt/2Ht@"*Hkt{ttt=$RRR@ HRGG$G GGB,k %$c$"B6YBMۀtpttttttt@t0t tttttpt`tPt@t0t ttt3237332>54.#"32>7#"$&54>$324.#"32>7>Cvb8O1E]uGT}Q(Gr<`I6't+&>kO-S㸋^0Viy+72oj?v$\"?Y8UW-_cEy`E `/@&+ -YE+:gSxݩf0C(Tx10.Qpޢ\@tt`!09p?4!sܴFv2TfF$P@vI(XhxR \R ^  ) i  {+;@36H@ H/_ ?2?339/32/]_]++]3/]q9=/]++++10_]]]!!#3 .'!%KP$ $,d )NA+,AO((?*@+v j(UUeIYiI$O _ o ;   Z&@U H&&[/?O@ H,*  R ^@ H *_O __lmX+??9/]qq9/+3//+<++ć3/+]]q9/+9]]10]]]]]]]!2#!!2654&#!!2>54&#!Phu?GmI%.RoJ\KpNpD,SxK 7Pd9SbC**_]@pYkpq+@(# yj e((f5*E*U*9I\@DH+\?`p-!Z/  @H _O_0+@+P++++++&_lmX+?3/]?3/]/+]3/]]q3/+10]]]]]]]]]#".54>32.#"32>7N1zɁݒH6dxŠT>aWR4gfZ}c&QIa9\{|࿛l;;`|B7/WE)k^s@1Qi8?@Y  +{{Td[??O_^    @ H __ lmX+??/+3//+<+}]3/]q10]]]]]]]2#!!2>54.+b?rn5]IfO瘅ܰX+Xxr7?i ~@Pp    /   R ^@ H_O _ _lmX+??9/]qr/+3//+<++ć3/]99//]]103!!!!!?X_<?C l@; 'H R^@ H_/_o@H_lmX+?3?9/+]/+3//+<++ć3/+9/10!!#!fne-@" z&|}y j U'e'UZjZ!%!!*)R)^--++--Z@H`/[? O _  /  @H *_/-_----$__$_)lmX+?32?3/]9/]/+]q3/]q3/+9/9/F.(-. +</+<+H++10]]]]]]]]]]]]]%#".546$32.#"32>?!7!n8rOw8S8[XS6ot[x[3[ U0T>$Wڄ;6\xB6/S?%iauB-8? ~@HW  R ^   R^@ H _ lmX+?2?39/32?3/+3//+<++ć3/3//+<++]10!!#3!3ttsTQ"W&*H@(#H?R^@ HlmX+?2?3/+2//+<++]]++]1033Q@[dt)9p R ^O0p/\/  __@PlmX+?2/]?99/]3/]]]qq3/F( +</+<+H++9/]10]]"&'732>7!7!}pd767#.'&'#367>7!  2|  # )3j,3043,`%L_-5987/f(`/C#(0,(#G?@+g(HHI0 H  @(H e u F V  @ HR @  R@%OpR@"   @ H   lmX+?33/22?3/3/+3//+<++3/]]qq3//+<++ć++10+]]]+]+]+]+]]!#367>73 .0)]'QA+0)e3o3r@Q+22+*$%%$yYi;v   V f 4ZO/_///5"Z/@H'_ _??/+]3/]10]]]]]]]]]]]]]]2#".5467>$"32>7>54.ޙO K ̗b 8kb͖c :lUԀ1i0^Wڃ.`1_Jʀ+W'kk5K}*Z&kk6?Il@CzW[/  R ^    @ H _@ H _ lmX+?3?9/+/+3//+<++ć3/]]10]]2#!#!2654.#!TtFOӄXj6-RsF6dZnyA;A\<e}*D@ ()v)y @H'Y'i'V f 5: J *CC);%66&. * * Z#Z@@/@@@@$"32>7>54.ޙO y $6H-F&R1UwN, ʆC ̗b 8kb͖c :lUԀ1i0kBY6 3_W _{.`1_Jʀ+W'kk5K}*Z&kk6?@wv {VfWR^dtP@H [@ HR^@ H__lmX+?22/3?9/2/+3//+<++ć3/+]3/+9/]]]++10]]]]!!#!2 2654&#!Gqdh{E pUeI3`Vpx:@;@k:$7t7p6;3[-"d"t"dt;;tDTDTyk%\$$9[/Zpo/?=\@ H/V/I/xK/*`%% _@P?2/]?3/99]]]]]/+3/]]q9/]2/10]]]]]]]]]]]]]]]".'732>54.'.54>32.#"hÈQ 8^^bm:"TlXtD_nyL6TuNhY()TXWM/[W%>\=?eK3H93;W|Zi^+,OnA30L5#?W36G2):Yc\k@D/__oOR^/_lmX+?3?22/]3//+<++33/]q/]]]]q10#!7!Z圜!@euYW) R^9P_o0/# # R^   @6:HP`p_@ H _lmX+??399993/3/+qr+3/F"( " +</+<+H++]3/]]]qqrr^]3/F"(" +</+<+H++10^]]]]]".54>7332>73hN 2XzHWwUs6ps785$MJlG#,`odψB@73 /D -Y#)'%)#Y/.0!%H!@=H!!!v!T! %HO_ H HvK[{9+/H@ HH@ H Hi X I  HR!)!L   R O  R/)/^000R^   G W H)X))x)g)()8))GWg )) 0V0f0002 2222222@-2H{292I2Y2)2I2Y2i22222 @ H0/!  /) 222222222{2k@292 2222222{2k2Y2K292 222222y2i2Y2I292)222222f2V2)2222222{2i2I2)22 222222222y2k2]2I2;2-22 222222222y2k2[2K2;2+22 22222222@2y2i2Y2K2;2)22 2i22222222{2k2[2K2;2/22 22222222{2;2+22 22222222{2o2229222rrr_^]]]]]]]]]]]qqqqqqqqqqqqrrrrrrrrrrrrrrrr_^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]qqqqqqqrrrrrrrrrrrrr^]]]]]]]]]]]]qqqqqqqqqqqqr?3/33?3/33/3/+^]^]]qq+qr3/]89=///]]]]]]]q]]]]++ć++ć++ć++10+]]_]+++]++]]]]]+]+q+]]]++]!#.'&'#367>732>73~G/]ߎO  K,5057<@?=4n&?{2:4EC=<7m8;=CFEhy4 @  $-HH$-H@H%,H@B%,Hk      R KR L @3@     O    @"&Hp   / O _  @@ H   ?22/3?33/39/+8]3/]]+]q8999//]88++ć++10]]+q+q++++! # 3 3 p^'\#@i$$$R^RLRKO@p @@ HlmX+?3?33/39/33/+]]83/]]qq89=/++ć++/]]q3/+<++10]]qqq#3 3qs20HH9^ @$4D %*H Hf+;K%*H@ HIYi@A H    RM/ @ H__?2?2/+3/3/]3/++99//]+10]++r]++r)7!7!!:uVWu%@F H *Zjz@@RP`/?OO??/]qq3/]++2/]3/]10]+]!#3'rWu5@rV} H??/8/]810+]]]3@ WW`F@(vRO/??/]22/]/]++3/10]73#7!AWs(@ :HH@0HvHy0@`p @P`0AH@:H?Oo/_o@H 9 0@?>54&#"'>32326732>7C ]U#K[pJNuP(/Qm{?j^1UC3BllY^1 J'*(VSK8!,A,W\5  ML#5T;2Sl9QvT5 $.[W'C3>gJ),NlAW'.%$ 7N7 =/733>"32>7654&P|T, X|c{   S $KUb@sbK"?Y6>dQ>^N2\Q2w?˂=h^;4% +7#".5467>32.#"8ZF6QoWga/ EUcim5Y^53J1EnW> gz!oZ(^-ouL+.TuG-J5(Zi0j&E'=@@vj%Ueu9,I,* *  */"RK"""""""/"o"""@$H""?;G@ H"/4P (PXYX+??9?3?3/+3/+q3/F>(""> +</+<+H++10]]]]]]]".5467>323>73#467#'2>7654.#"P|T, X|c{  R  $KTb@sbK"?Y6=eQ=^2\Q-|?˂=h^ .3. 'H<+ X4/D-&]xbOAbC"%[tyU{|E'N%3@t{11{++*% I @6 H F)0)O))))))53F@@ H P33.PP??9/9//+r23/]]qr3/+10]]]]]]32>7#".54>32'>54.#"8\K9Hkhdm9Uxnl5 $B\80jaP91A$?-YH-9mec:hW267#Ba?JbE @J H@ HRK@ HP QXYX+?3?32?99/+]33///+<++/+]9/10]+##737>32.#"3 &GpV C  &3!Iz;fL+*='aWaM:R@xJ9Z9j9%#j9BIBv5U'e''*" *F56R6K))))/pOT0TTI@P`;G0@ H560/F)KP$@ H >P PXYX+??9/+?9?39/+r3/]]q3/]qr3/FS()S +</+<+H++10]]]]]]]]]".'732>7>767##".5467323>7332>7>54.#"]_7 udHnO5 ?RlHO~X/ 29fQ;   Jzif6ocO$AX3>eP< W%B]8*LQ%LwS<(L:#7aP1m?5L0>7( +y.dp*Y CcB %Yq;l"#@   @W H R K   / O  %WRK@ H #  PXYX+??39?3/+3//+<++]93/]q3//+<++10+]]]>32#>54&#"#3"HWiC ~ T_@q\Av K /L5$Z&s'QOX3]Q~!B7(!  @U/2HO  / FRK`@ HSXYX      rrrrrr+??3?3/+qr3//+<++3/]q+q10733""NҴ :W@N  H/FRK@'-H@$H@ H@H PSXYX+???399/+/+++r3/F( +</+<+H++3/]10+]73"&'732673!!!"E 2;< 'Bc 7 T\@>jN-"V  &*H @ H WW  г&/H @ H  u  e u  & F V f   R  N  RK       /  ?O_RK@ H   XYX+?22/3?3?39/+3//+<++ć]3}/]q83/]899++ć++ć10]]]]++]]]]++!#373 H iP|kE/!p@KV`O/RK`_@ HXYX+?2?/+qqr2//+<++]qqr10]]33! 4"KMA_+ H#@ H9@ARAKB201R1K23233233 222i2y222CCiCTC&CFC CVCCCCCC C)CCCCCvCYC6CC$CCRK@ H;P*%@30 P"12A2XYXCCCCCCCvCbCTCDC2C$CCCCCCCCCCCvC@dCVCFC6C$CCCCCCCCCCCtCfCTCDC6C CCCCCCCCCCCvCdCVCDC6CCCCCCCCCrCdCVCDC4C&CCCCCCCCCfCVC6C&CCCCCCCvCbCPCDC$CCCCCCtCTCDC$C CjC@`CCCCCCtCdCDCCCCCCCDC+CCCCCCC{CDC0C CC:CCCrrr^]]_]]]]]]]]qqqqqqqqrrrrrrrrrrr^]]]]]]]]]]qqq_qqqqqqqrrrrrrrrrrr^]]]]]]]]]]]]]]qqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqq+?2/3/3??93?/+3//+<++ć^]]]]]]]]qqrrrrr3/]]]q3//+<++9/3//+<++10_]++!>54&#"#>733>32>32#>54&#"| LV9gR<v  @L];y DSe@ | LV9gR<vz00+KO3]QS"KC0,9;/L5wq2T?#$Z&sz00+KO2\Q"M'"@X H &'R'K/O) R K@ H &P  'XYX+?2?3?9/+3//+<++ć3/]q3//+<++10]]+!>54&#"#>733>32~ T_@q\Av  "HWiC 'QOX3]QS"KC0,9;/L5$Z&sC2M3`@C/t**"{/  G0O5`5p5'G @ H P,P??/+q3/]]q10]]]]]]]]#".5>7>324.#"32>7>2 kd`o= fijm8"A\95kaP &C[66i^O 4i;t5;qh/d6~v88lcMlE Lt7c*RtH!Mu733>32"32>7654&*{  R $KUbdQ>^h^#4>Y'H;* $-2/D-2\Q2w?˂=&]xbO@cC"%[tyU{|EWeM'=ѵ%H@ HUeu@; H* *  */$RKoP/???-2H?@$H;G@ H"/4P (PXYX?r+??9?3?3/+++3/]]qq3/F>(> +</+<+H++10]]]+]++".5467>323>73#>767#'2>7654.#"P|T, X|c{  "U $KUb@sbK"?Y6=eQ=^2\Q-|?˂=h^=7,64/D-&]xbOAbC"%[tyU{|"N!s@JW !_!o!!@(+H!@H!@ H!!#  R K   @ H   P XYX+?3??9/+3//+<++ć3/+++qr10]].#"#>733>32/@fM2 n  =BK- Jr>>#FB;<>9>[;K;@.::d:49d8p6T5 !!+!+k5H2H@C H )I**`*****= Io / ? O  @H 2-Q$ ****$Q ?3/?3/]99/+]q3/]q99//+10]]]]]]]]]#".'732>54.'.54>32.#"D}o]eC/E_?@kM+&Ec=AuY5GyZRfB zg5]F)&Ea<9u^<=UT) =[;8(?+.H3(9+%2F_@RsH!=aEOF$:))7*!0Ge],@T H /O_ R  K    Q   PXYX+??3/3929/]q33/F(  +</+<+H++ć/]/]39/10+%#"&5467#73733#3267%X0Ua ~}ix/}*0- fT I{:*.VJ:'&@\l>N/?O@ H$4Dt"& v  &''$ RK  ?  ? O  @H )RK$'$$'$$''$$$/$$@#H$@H$$  P  'XYX+?22/3??999/++]r3/F(('$$( +</+<+H++3/+]qr3/F((  ( +</+<+H++310]]]]]]]]]]]]+]]]32>73#4>7##"&5467~ T_@q\Av  "HWiC :{'QOX3]Q^"KC0,9;/L5$Z&pb:@Af HR MR K   H ` @P@@),H0@H @ H ?3?339/3+/+q+8]3/]89=/+]++ć++10+]!#3>73նe !! :@?D??B?f5:(@ H(%H@HfvT@%H6 4 d t 9 %H0H;[)&+';'' H=(R!KR  OR'!'L(((RKW8!H!X!!!8HX!!(((V(f(6(v(((((***9*I*Y*y*****i*y**6*F**@ H***@ H *9*@@H('!&6 @ H' ****v*f*F*4*****v*f*T*F*6* ********i*V*4*******t*d*T*F*4*&** ********v*V*)********v*d*R*@*0*$******t*@d*T*$******@*4*$***i*****T*;*$****t*D*********{*d* ***9**rr^]]_]]]]]]]]]qqqqqqqrrrrrrrr^]]]]]]]]]]qqqqqqqqrrrr_rrrrrrrr^]]]]]]]]]]]]qqqqqqqqqqqqrrrrrrrrrrrr^]]]]]]]]]]qqqqqqqq?33/3?399+^]3/3/3/+8^]+]]+qqqqrrrr3/]q89=///]]]++ć++ć++ć++10_]]+]]]]++]]]]+]]++]]+!#.'&'#367>7367>73,%#\(  U, NN(/3-,&RJ:! 7=9 $#B6d$$#D<: @F&        R LR M  @,    P   /    @=-2HP@ H      9      rrrrrr^]]]?22/3?3393/3/+^]+^]3/^]]99//^]98888++ć++ć10^]]]!# 33 ^+D,[Wg:@6[*& RMRK;K[@'_o_P`P`! !@!O@H/@H@H P??3?339]+/3/+]+q]3/]q89/qr89=/]++ć++10]]]]]!#"&'7326?3>737fpU!E+_Fٷp  ')R_p>z/. TSG?GK#l: @*&6fRL @#/2HW 6 F %   ' G g  H @H8   @H@H@ HPP    w V G 7 '         w g W 7 (  ʸ  x h        g G     G '        s c S C 4 #           t c S C 4 #     @      r b R B 0    i        t ` R B 2 "           t b T D 2 "           t b T B 4 $   9      _rr_rrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qq_qqqqqqqqqqqqqqrrrrrrrrrrrrrr^]]]]]]]qqqqqqqqrrrrr^]]]]]]]]]]]]qqqqqqqqqqq?2?2/++33//+^]]]++qrrrr+3/]++3/]10_]]]#7!7!!,8&ڋWA9@Vfv H H`p@] H_88888("#R#_, 4,48"#( 9(@>H889??9|/+999999999/]q3//3/]++/]33/]3/+]10++]".54>7654&'7>7>;#";n;[=8 ]U3VB. F?1E1 E .@P+EQ=GM0W&B\6   ,!SI8X>j4Q82T@, dN !! H89??9|/+999999999/+]]/]]33/]++/3/]3/+]]2/]310++]2+732>7>75.547>56&+74;[=8 ]U3VB. F?1E1 E .@P+EQ=GM0&B\6   +"SI8X>4Q8d2T@, dN?!! 323267jEIX&A<82Q)OMK%233E{4<=D),-  &.  2*@;^@BHx@$H@H@ H/]?]/+++]3/]q10]]+]]3##7(( D%?3/ Ͱ2%/3Ͱ2&/ְͰ#ܰ"Ͱ"'ְ6> . > % #9...@  %............@# 9" 9  9% "#$90167#7&'&54776?3&'em>WHs |"OJEq33|@ < qLv1rj/ 4>$,@u{#%@} H   o,,"## #R#q   o.@ H#(" u  / _ o  @ H (s(t,,,X+?3/]2?3/]9/+]q993299/+3/9/3/F-( - +</+<+H++9/99]10+]]]]]#!7>?#73>32.#"!!!2673%ȖDau7DngFz^@ pIr8h *=L-g6.|\f7;U82@Ds}7dTAU`s#7@*:JZH,:JZH,5 E U  @H # 5EU@!H#:"J"Z""H"-"5EU@H#5EU@H#:JZH-.$@ HF9V9f9F9f99999999999@ H9 )3 99999999t9f9V9F969&99999999t9d9R9B949"99999999999t9d9R9D929$99999999999v949$9@9999999999p9`9P9D909$99999999999p9`9P9D949$99999999999t9`9T9@949$99999999999t9d9T9D909 999i99999999t9d9@949 99999@T99999p9`9P9@909 99999999p9`9P9@9 9999999rrrr^]]]]]]]]]]]qqqqqqqqqqqqq_qqrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]_]]]]]]]]qqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]qqqqqqqqqqqqqqr/^]+]]qr/+]10_]+]]+]]+]]+]]+]]+]]+]]+]467'7>327'#"&''7.732>54.#")%dhc6IG~6ah`%+,&dfe6~GH4iff%)-Lf:9fM,,Mf9:fL-G6dge'+*&ai`6GG5die%)*&iif6I:fL,,Lf::fM,,Mf-+@pk+ &6{((8mK[ R^   RLRK  @:@ H u  uO _ o       X+?3?399//]]qqr33232/+]83/8339/3/339=/++ć++/+<++10]]]]_]]]_]]]]]]]!!!!#!7!7!7!33A;;} @}/}y9{*@ @?/+M9/321033զ v T=K_=@uDDjzcsl)|))NUNeNuNX\XlX|X   11*1BH/QLH,[//'V:I999HoVV@&7HV/V?VOVVVVVVaLH'I/?'O'_''@H'"QG,[[[[@/2HQQQQQ',HQ@+HQ[Q[B =Q4::4Q `p   /]3/]q?3/9999//++qr+q3333/+]3/]3/]]]+q2/]99//999910]]]]]]]]]]]#".'732>54.'.54>7.54>32.#">54.'&He?9KD~p[eC/E_?@kM+'Fb;AvY5)If<8_D&=^E/$kPUT) =[;8(?+.H3(;-%8NhC=^E/ &mNRsH!=aEOF&>.$7-%2Kl> >>@3 H33333@ H3>3>`p?Y$@ HR@ HRRM.C8O>_>o>>>8._.o...P8`88888 .8.8))YoY_YOY?Y/YYYYYYYYYYYYoY_YOY?Y/YYM^]]]]]]]]]]]]]]]qqqqqqqq??99//^]q]q3/]3/+/+3/]]]99//+q+qq3/10]]]]]]]]]]]]]]#".54>324.#"32>".54>32.#"32>74^dc^44^dq\c僂cc䂃ceb00abKpP7r &7H/Ec@!CdC1K8's:Rod^44^dd^4rcc䂃bb@r^bo;$;K'!2&.SvHHxV0-8#+Q?&Y.>O@m}UMeM+;K H/@' H?O  '((0>8     @;H/ ?  QE/?-o'''@H''"-;J  `/]]]332?3/+]q9//]3/]+]]q33/]9/10++]]]#".5467##".54>?654&#"'>323267'32>7%$4!9BN/6R9?gC D;!;0# 1NkG5  ȋ+TA( ).UC.'#9(7L-Na8<51 4&1P: k\  !<0%#;L(Lk@hgwhxgwh x   ;   @ H   _o@ H /o/]32/+]2/]/]_]+]q2/]10]]]]%73 !73 2 f  i m?s%m?s&dGC@/0H?3]]]]qq/]/]10%!5!?-;D@E{t {t:!J!!5"E""5'E''5&E&&5+E++:,J,,:J:J9@ H9 H6@ H/::A;A12<77.;;/22;2;`p?F$@ H;..2:/`0p00A@3A`A_AoA_2o233 2A33A2))FoF_FOF?F/FFFFFFFFFFFFoF_FOF?F/FFM^]]]]]]]]]]]]]]]qqqqqqqq??9///^]]]qqq223/3/+3/]]]99//]833/29310+++]]]]]]]]]]]]#".54>324.#"32>##!24&+3264^dc^44^dq\c僂cc䂃cRǡ3hUݟ_QPTd^44^dd^4rcc䂃bbP?~of{PEHU|T///10!5!|su\'V@ H  H H@& H 0 ? _ o  #@?]/]q]10++++#".54>324.#"32>-Ni;;hN..Nh;;iN-m0A&%A00A%&A0y;hM--Mh;7>54&#"'>32!HOS(3\G)DA ;1$} 3NkC?bB#8Zp9#D;/3g.K>48>I.3H$5"4V=!":N-BhUF!**-q5':չ H!@ H: 44@H   :44: )&9I 54&#"'>32#".'732>54.+L9F<(B9Da})%B1 0:= #<00?FA:R47J+,!.: @cD#,ER'6')>+#. .@u@/?O/?/]/]]1073WE:+@uDTds++E+U+e+@ H;%K%{%; K { 6Fv/OuW%5Eh%5!( H ##RK######h#x###@/2Hw#8###-v--e-6-F-V---'--------@F#H)---------x-g-H--*++R+K7@-%2H(x  'P*# +XYX---@H---p-a-P-@-0- ------------p-a-Q-A-0-!-----------r-c-R-A-2-!-----------s-b-S-C-3-"-----------r-b-S-C-3-$----------@-t-d-S-D-3-$-----------p-`-P-@-0- -----------p-b-R-B-4-"---i--------t-b-R-@-2-$-----------t-d-R-D-4-$-----------v-f-T-F-@"2-"---9------rr_rrrr_^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqq_qqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]]qqqqqqqqqqq+qq+?2?39/999323/3/^]+]q3/F,(, +</+<+H++ć]]]]]]]qqq+qqqqqrrrr3/]]+]q3/F,(##, +</+<+H++910_^]+]]]]]]]]]+]]]]332>733267#"&5##"&'%*<&9cO8v " 8&J>A\>Z^WR20C*2\Qb-%# a\_^*%5J@.ppP _  /3?3/2/]/]99//]10###".54>3!pqP`52_W3#-XXT]2f&@/@+H@H@H/+++]/1073++GWr@ScsScsس H H@1 H    @ H 0/]/]9/+/]/]9/810+++]]#"&'732654&#*73>QQ"IsQ60([K7@ek`H;-H1[,-)=3~ @Nx  R@H@ H&6F  & 6 F  d   @H Y i  9I          t f T D 6 &     f V &       t f V F 4 &          v F 6 &     V 6 &         y i [ K )      @     { o P @ 4 $           p ` P D 0    i        t d T D 4        p d T D $          d P D 0   9 r^]_]]]]]]]]]]]]qqqqqqqqqqqqqrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqq_qrrrrrrrrrrrrrr^]]]]]]]qqqqqqqqqqqqrrrrrrrrrrrr^]]]]]]]qqqqqqqqqqqqqqqqr?3/^]]3?2^]+]qqrr/qr2/+/+++3]1073?33=v{3kake61b@zzu u @, H H//@/P///3" ' `/]]]?/3/]]10++]]]]".5467>32"32>7>54&LrK%HhOMqK%Hh*J?2 *;$+K@3 W+OnCC ^V(+OnCC ^V(6`M*D1E+8dO*F^M%@Og w h x gwhx   4 T ;  4d@H? /o/]32/]+]_]q2/]/]]q2/]10]]]]%#7 73#7 73  'ot?'ot?`0&y#' ?^ ?55/q&y'  r?50&sS' ?^@ A?<<<]q5?55A;'+@ue JE U e  U e u  d t R % *H  ,(+{+++@$H+@HK[k++,# "["""@H""-@Ho_O/?*+@"P"`"""""oP/]]3/]?]9/]_]]]+]3/+]q99//]++]9910_]+]]]]]]]]]]]]".54>7>733267#7do<=ay<*O@- AYh30XD(&E`;&W''6`MaeK"3;H.NqU@9FZ>0Q9 z(Te9&$2@ &%+5+5&$&%+5+5&$Q& %+5+5&$^&6 0%+5+5&$g&2%+55+55&$P8%+55?55@ Ho    R^   R ^/_ _ O O    ` _lmX+?2?229/]qr3/]32/]3/]9/]3//+<++99++99//]]q10+!!#!!!!!#!_QXY_ + $!d<#2:3&3qW&&xx7/ %+5?i&(,@  &p %+5+5?i&(@  & %+5+5?i&(Z@  & %+5+5?i&(Z@  &%+55+55QT&,{@ &Z%+5+5QD&,a&%+5+5Q&,@ & %+5+5Q &,@ &%+55+55"#@8 y y Ueu *z[@<@H47H@R,/HO_% # #^    @ H _O#__ lmX+??9/]qr32/+3//+<+}3/]3/]+++]q9/10]]]]]]]]2#!#73!!!2>54.#!b=mn}vIj`0]IfO瘅ܰX+`Xxr7?&1@ &/%+5+5o&2M@ 4&.58%+5+5o&2%@ 4&47%+5+5o&2@ 5&m:4%+5+5o&2@ 4&?O%+5+5o&2@ 4&86%+55+55=s H@H H HH@HHH@HH H@H /q/]]q10++++++++++++ 7   bh^^i`fJb`g_iia!.<9@M-v y 1{191i1,t,6,f,YiVf*8%%$@] H +  +  H$ 1-2,*/!!!Z///////*Z@4?O_/@AFH@.2H@H2,1-5"_ 5_ ?3?399/+++]q3/83/]qr^]2/89910^]+]]+]]]]]]]]]]]]]]]]]]]]#"&'#%.5467>$3273"&4'32>7>34 J43 K̗b .fm.5[͖c Hg1i0^@54.54>54.#""/_c3.EPE.*>I>*4he*TND8-J;V8)>G>)-DOD-8S6CoU=.Oh;A]G624"$@@DPaDN2@U>/5D3 9+#MzX43&DCU@ T&^UX@%+5+543&Dtm@ T&TW@%+5+543&DK @ U&oZT@%+5+54F&DR@ T&]k@%+5+543{&Di @ T&XV@%+55+5543s&DP"@ Y&^T@%+55+55 NH[i@MzhhzaajNzNN@@|00:< + !: u;iI*F[[*2Fp**3*3*_ I @5 H CF0______kQG@ Hd-P8 PiiJQ%%8p2/22;@ H2;>8VP?332?3+/]]9/3/9/2/+3/]]q3/+99//]3/9910]]]]]]]]]]]32>7#"&'#".54>?>54&#"'>32>32%32>7%>54.#"{y3TD3Deb#'_vUPvN'0Sp~Amc4XF5Eopz/;phf3s)YVM:",?(Ye> !gJ)VHKS:hW267 6N7%?,?`t5#Ba?JbCWN&Fx;3%+5E'&HC*@ 4&058 %+5+5E'&Htf@ 4&47 %+5+5E'&HK@ 5&e:4 %+5+5E'{&Hi@ 4&l86 %+55+55Y&C@ &%+5+5Y&tW@ &%+5+5:&K@ &j %+5+5Y{&i@ &%+55+55C0J@{HHt::r@& H+"{""6#F#V#$#*%  ./@;//FG)F/F/F?FOFF@!$HF@HFFFL9F@ H1P$)$. /@ H//$$P$$$7>54.q0]6(P$0P9  ]nij6("JE= +5FoT:~u;fUB  A`0-K$5flC9{a@CAw7?pZD '6i`V"qxf&Q\ >EuW3;=$K='"G&QR@ (&1?#%+5+5I8&RC4@ 4&058 %+5+5I8&Rtf@ 4&47 %+5+5I8&RK @ 5&d:4 %+5+5I8&RR@ 4&j=K %+5+5I8{&Ri@ 4&m86 %+55+55R5u o@ @5H_/??O/?@ #H @O?]]/+]qr/]+]q9/3210535!53,\,:@ i7f) H @ H@ H H@c H0 H/ 66((t!!f!}//i//"0!- G/-?-O--@H-@H---<G @%H"/!0%3P  %P ???99?/+]r33/]++]299]]]]10]]]+]+++++]]7.5>7>3273#"'#.#"%4'32>7>%' fiiFJ kdhP  T35kaP |!U26i^O 5U/d6~v8CRg4i;s3G^I6sLt7cB3Ju32"32>7654&*{  RsS $KUbdQ>^h^ %09YuY4/D-2\Q2w?˂=&]xbO@cC"%[tyU{|Wg{&\i@  &$"%+55+55&$MN&%+5+5.-S&DM @ T&UW@%+5+5&$&J!%+5+5.-&DN@ T&Y`@%+5+5U&$Q %+5._-N&DQ) "]]99%+5q&&S,&),/ %+5+5C&Ftg@ 0&03%+5+5q&&@ -&2, %+5+5C&FK@ 1&g60%+5+5q&&O @ ,&,. %+5+5C&FO 02%+5q&&@ ,&.4 %+5+5C&FL@ 0&28%+5+5?&'5@ &$ %+5+5E&GK@ G;FF%+5?5"EE@w77jCT%d%t%9I*#!3!C!6 *..136<2<0-(@1@1@2<R7654.#"".5467>323>?!7!733##467#@sbK"?Y6=eQ=^2P|T, X|c{  ,  $KUbv&]xbOAbC"%[tyU{|2\Q-|?˂=h^ .3. )'H<+ X4/D-?i&(MN@  & %+5+5E'S&HM@ 4&{57 %+5+5?i&(@  &%+5+5E+&HN@ 4&9@ %+5+5?i&(O@  & %+5+5E'&HO 46 %+5?Ui&(Qc] %+5Ei'N&HQ9==== %+54@ W@H/?O R^   o   R^    @ H __  lmX+?22/3?399//32323/3/+r33/]//+<++3/qr3//+<++3/]+qr10]!!##7373!733# 7!~~ǚ,,,,))s-" +@VV%     @D H## R K   / O  -"%!!R ! K   @7 H @ H%Q" P    XYX+?33/3?9/]99/]q32/+33/+//+<++3/]q3//+<++9/10+]]]]]]>32#>54&#"##7373!!w"HWiC wv T_@q\An- Y/L5$Z&]'QOX3]Q!B7(Qx&,@ &%+5+5*'&R!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!@H!H!H!H!@H!H!H!H!@H!@H!H!@H!@H!@H!H!@H!@H!@H!H!@H!@H!@H!H!@H!@H!@H!H!H!@H!H!H!H!@H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!H!@H!H!H!H!@H!H!H!H!@H!@H!H!@H!@H!@H!H!@H!@~~H!@}}H!||H!@{{H!@zzH!@yyH!xxH!@wwH!@vvH!@uuH!ttH!ssH!@rrH!qqH!ppH!ooH!@nnH!mmH!llH!kkH!jjH!iiH!hhH!ggH!ffH!eeH!ddH!ccH!bbH!aaH!``H!__H!^^H!]]H!\\H![[H!ZZH!YYH!XXH!WWH!VVH!UUH!TTH!SSH!RRH!QQH!PPH!OOH!NNH!MMH!LLH!KKH!JJH!IIH!HHH!GGH!@FFH!EEH!DDH!CCH!@BBH!AAH!@@H!??H!@>>H!@==H!<>H @==H <>H@==H<jN-?9&.iX %+5"9V&Nt %+5"V:  &*H @ H    г&/H @ H   %     R  N  RK     o    d / ?  RK@ H   XYX+?22/3?33/39/+3//+<++ć3}/]]]q83/]899++ć++ć10]]]]]++]]]]++!#373 HҴeiP|:E/?&/@ & %+5+5! ?&O)O&%+5+5?9&/ִ %+59&Odƴ %+5?&/ %+5?5!&OK@  > %+5?5?&/OO %+5!&OO *%+5 @[ vp  @ H    R^    P` @ H     _lmX+??399//]9/+33/]//+<++3/+9/10]]]!!?3%_yiu2UU @W /  @=H   R K`_@ H @ XYX+?2?399//889/+qqr3//+<++3/]+]3/]]10]3?37 i~DDXHGz?&1&%+5+5&&Qt@ (&(+#%+5+5?9&1qM%+5&9M&Q,2#%+5?&1@ &%+5+5&*&QL@ (&*0#%+5+53&Qxs22%+5?6@H[9I%-5-E-e-(65 H/3R3^    k { _ / O  8&&R^@ H/3, _&,! _lmX+?2/?3?39?399999/+3//+<++ć3/]_]]q3/F7( 7 +</+<+H++9/10+]]]]]+"&'732>7>54&#"#>733>3 To,"_61ekzEmu>iMD%\ZL?EE>dF'7Q ѐL"WM5 1 H@ H  5RK`0@P9O_/o?O7)RK@ H)5/$#P/ PXYX+???3?39/+3//+<++ć3/]qrr^]qr3/F6(6 +</+<+H++9/10^]++]#"&'73267>54&#"#>733>32g 'BcG"E 2;< T_@q\Av  "HWiC >jN- T\'QOX3]QS"KC0,9;/L5$Z&o&2MN@ 4&57%+5+5C2S&RM@ 4&g57 %+5+5o&2 @ 4&9@%+5+5C2&RN@ 4&9@ %+5+5o&2+@ 4&4=%+55+55C&RSK@ 4&4= %+55+55e6@E Z j 6 9%44%-@HR^$%$$%$$%% $0$@$`$$$@DH$$/82Z?O_/@H_O*%_$_lmX+?22?3229/]qr/+]q3/]9/+]3/F7(%$$7 +</+<+H++ć99//+q10]]]]]]!#".547>$32!!!!!%2>7.#"}&i0O FKHi:Xv_ >8.;<9~˘e0(`($()&")  JJ====m *\G55R I @5 H /F0RORRRRRR^BG@ H P\\GW:P*'$GP?332?3329/9//+3/]]q3/+9/210]]]]]]]]]]]]]]]]]]]32>7#"&'#".5>7>32>32%4.#"32>7>%>54.#"8[J8Gjh3Oق`n< ei1Lynk4 O"A\95j`P %B[66i^O #@\80jaP?1A$?-YH-c^eW9oh/d6~v8c]]d:hW267MlE Lt7c*RrGJu&Ut@ "&"% !%+5+5?9&5# %+59N&UsԴ** %+5?&5B@ &! %+5+5"j&ULH@ "&$* !%+5+5:@-&6tI@ <&D$%+5+5&VL@ <&>D )%+5+5W\'x7W,&xW\&7@ &K %+5+5]&WK@ 'G&&%+5?5\@b /?O/?__ o O   R^   / _ _  lmX+?3?9/3222/]3//+<++3/]q3/]]]]qq9910!!#!7!!7!ZX}}X32.#"! %ClR?3$.;fL+*='e8#{@ !HY H @ H @ H ?O/?_@H@p0p   R q  0@ u   Q  Xp`@0 p`@0 p@ 9rr^]]]]]]]]qqqqqqqqqqqrrrrrrrrr+/3/^]9/]9932/]]q33/]]F( +</+<+H++]]qqqr/+]q310+]++]+.#"3###737>32>.!  (GmQ R#  (@-C;fL+ &$'P -$8¶=@%%+55+5?55.&D'P*@ |&Y&k@ |@%^T@%+55+5+55+5&&%+5+5 &t@ j&jmC%+5+5&K=&=@!%+5+5,&t@ ;&;>%+5+5:9@'69K&LV9\'7Q9,&WM @ xUe  +[ 4 d  D t  $ T @ H@$H@  +;{ { ` P D 4            p ` T D 0 $          p d P @ 4 $           d P D 4  @         t d D 0 $          t T D           d T $        p ` @ 0  n      p P @       ` P 0    p ` @ 0  >  rr^]]]]]]]qqqqqqqqqrrrrrrrrrr^]]]]]]]]]]]_]qqqqqqqqqqqrrrrrrrrrrrr^]]]]]]]]]]]]]]qqqqqqqqqqqqqqqrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqq/^]3+/+]]]qqr3/]]9=/3310_]]]#'##73\t" @MDTt k  D T     [  4 K[@$H +;{   t d T D 4 $        t d 4 $        t d T D 4 $        ` P        ` 0        p ` P @     P      @ 0   n  @+    p P @      9  rr^]]]]]qqqqrrrrr^]]]]]]]]qqqqqrrrrrrrrr^]]]]]]]]]]]qqqqqq_qqqrrrrrrrrrrrr^]]]]]]]]]]]]qqqqqqqqqq/^]+2/]^]]]qqqrr3/]9=/]3310_]]#73373 ̵apSC@@ HTd @HDt @$H/ ; @H@Htd@0$tdTD4 t`PD4 p`P@0/@@/`P0`0o? j`pP@ 9r^]]]]]qqqqqqqqrrrrrrrr^]]]]]]qqqqqqqqrrrrrrrr^]]]]]]qqqqqqqqqqq_qqqqrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqq/++^]q+qqq/^]]]+qqrrr3/+10!7!&>@({   @  /?/]2/]3/10]]".'33273JnJ%tgS@uA[v3Vo=UN=oV3V ,N@ &@,1HfFH@H SyYIiY9) YI9)yi9) iYI& I6iY9tdTD2"i@p`P@0$pdTD$dPD4$9_rrrr^]]]]]]]]]]]]]qqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]_]]]]]]]]]]]]]]qqqqqrrrrrrrrr^]]]]]]]]]qqqqqqqqqqqqrrrrrrrrrr^]]]]]]]]]]qqqq?/^]++]qr+rr1073V"" s'[@ H  H H@+ H@ @#/_/?O/]q/10++++#".54>324.#"32>&BX22XB&&BX22XB&l$12$$21$2XB&&BX22XA&&AX21$$12&&2GUt@( H)9I{@*.H@H +;[k+ ; k {     tdTD4dTD$T4${k_+{k[K;+ @kK;${k_+{k[K; jo_K;+ [K;/k[;+:rrrr_^]]]]]]]]]]]]]qqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]qqqqqqqqrrrrrrrrrr^]]]]]]]]]]]qqqqqqqqqqqqrrrrrrrrrr^]]]]]]]]]]]qqqqqqqqq/^]/^]//]3/^]]++]qr10]+"&54>733267XZ)=HD:((& 4FU^J4V@- -32326737*LE@7CZ&9S;,LE>6D\%9S%-%>9-_N2%-%?8,_N3@ @1  h@ H  w f U  @'+H   @"H     v g  ( 8 @H@ H (8x         v g W F 7 (      V G 7 '        x g 7        w F 7 &       w g W        @ 8 )        w f U E 6 &           w g W G 7 &   i        t c T C 3            r b R B 4 "           r b R D 4 $   9  @    _rrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqqqrrr_rrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqrrrrrrrrrrr^]]]]]]]]qqqqqqqqqqqqrrrrrrrrr^]]]]]]]]]]]qqqqqqqqqqqqqr/^]32/+]q^]]]]]]q+qq+rrrrr/+]q_]]1073373<  //10]73~!$%A _@   @#*/H    O _ o    /32//]9/]+q]10]73%73!73!"B""!p%&$T{%+5?5&@/@+H@H@H/+++]/1073++Lb'(Tc{V%+5?5I'+T`{M%+5?5I',T`{V%+5?5!&2!T{6g44%+5?5g'<T{  %+5?5&vT{<B::55%+5?5.A&U2@& %+555+555$?%?Y@(@ HR^@ H_lmX+?3?/+3/F( +</+<+H++3/+10!#7@d Y i y  ) R \R^  Ht   +  Z?p_ ?33?2/]3/3/]9=/]]+++ć++10]]]'3!%.5 $: $, ^)PC1 2FR(?i(=?+e7@?fijdVkY9Ie 6 F  5j5 .(e(! @H@k H Z33/3333$"32>7>54.KޙO K ̗b 8kb͖c :lUԀ1i0^Wڃ.`1_Jʀ+W'kk5K}*Z&kk6Q",?.@LXhx8Hx H(xwR  \R^I@[Hv );K[{D+;@Hdt@ H/ ?22/3?33/_]+]q3/]+]qqrr9=/]]]+qqq++ć++]]10]+]]]%#.'&'#3 /P/Y#)%'*$X, ?0?1_ o@ P   @H`/@,H @ H _ O    __??9/]qr/+3/3/+3/]]+99//]]10!!!7!7&9`o2?~@LWWR^oO R^@ H_lmX+?22/3?32/+3//+<++3/]qr3//+<++]]10]!!#!} ?I3 @y L6)I  @/5H @H [@/5H@H[@/5H\ /  @ H  {4 _ _?2?29=/]]q33/+3/3/]3/99//]+q++q++q10]]+#7 7!!!!YcE7s\7<~c*7@!iVfX+h+:&J&53E3*%***  +7 R^   [?$?$_$$$$$$$91[/@H`77*+`  7 7  lmX+?3?399//3232/+]3/]]q9/3/F8( 8 +</+<+H++10]]]]]]]]]]]%".54>;7332+#?32>54.+";uIV݇#!1uIWއ.,|ck84ZwCE|cj84ZvBFAzm̎LAym̏L3ecXQ'3dcYR';+$@ V&f&:J@ H ''  *+++R+^ #%R%^ " " """`""""""/"?"""- R^   /_#"" % *`  +lmX+?2?39/9932993/33/3/]3/F,( , +</+<+H++3/]]]qq3/F,(" , +</+<+H++9/3//+<++10]]]+]]!#"&54>73;3>73+S3ZZ.RtF8On^6ZbVҐiS#! - !#"C];I3aYl|DU9@%vvo222o333euo  E J:J  ( H0 H)8p887) )9I| H0''( @ H((5Z ?O_;)"Z/55'@ H' +0'*_)_??32/+3/]33/]q299//+]3333+]]q]10]]]]]+]+]]]]]]]]]]]]]]267>;!7>54.#"!732.546$yݜUBז-(#H+v6;m_gX$EfA-P&-2F|\6r L΁~໒0*igk6FؒXt\&'pibQ&,@ &%+55+55&<@@  & %+55+55F&~Td@ H&sHK* %+5+5"&T@ >&>A#%+5+5"W&T-& -0(%+5+5?p&T4@ & %+5+5hA&Uj@%&n+1 %+555+555FM1G@wF4{=ooocsj>z>k66FV0%0. ((*(@ G H  @/@ HI9G*@ H*;P% 2P?2???3/+3/+]q3/310]]]]]]]]]]]]]23>73#.=##".5467>"32>7>54.SFmP2 "010+#  !J\qHQ}V, _a:bQ?4icX"7UM$@Y64;>Yfmi_%ewa/@B=8cK,6f].r6y5(_srT8nl%I|Z2W` >@w#euZjZZjzYiye u V G P`pA%$H// : 55H@::@H:::@%$$RK   @$H ) 9  %*P 4P$55!PXYX+??39/9992?3/]+]3/F?( ? +</+<+H++93/]+q9/99/10]]]]]]]]]]]]]]]6$32#"&'##"32>54.#7>54.-T`43Sl96\E'G}f7 :}!DOW+M\4&HkEHpM(4O.VwJS^: 8Rj@kF8&9\5褪 )S~T7^D' -JjF+G3oXa:@A+R  M  RK  H `   eu@/@H ?2/?39]]/+]83/3]3/]]89=/+]++ć++10]]>73#>7,r !"s630*Z*:]BD>;A@-o|A[/C4@,{..t  { dtk6r@Y H$#4#D#t##*$:$J$k00 0 11+33!G/?O@H6G+@ H+1P0 (H 2P&??9+332/+3/]+]q3/9/993]10]]]]+]]]]]]]]]%2>54.'".'#".54>77!YZ-&4/jh_I,&D\/ )-) ,I4R{go;asqBsZAn_R%+?.54>32.#"3"jFX+[h{LT[0/UvG'D49hZ>kYI)oK+N:#3XxE4h_S<#0CtPDi+B.+OnB?hN1 '9J,IoJ%(B/T?8*@+->% /I4$=+= 6c@>u [ k 5E %%-%]%I55'.?8G'@ H'/5Q ""6/?9322/+3/]399//210]]]]'>54.'.54>?#!7 LuF=[<9aH))3f ;W8?nS0FwP 061 IU+;, #2F3+MG>H#)+' -EbC]H"WM,¹, H H&@_ H+,R,K,/oP/?. R K@ H  + P%XYX+????39/+3//+<++ć3/]]qqr3/F-(- +</+<+H++10+++>54&#"#>54.'33>32z T_@q\Av"HWiC W.'QOX3]Q.*" %'& ,56/L5$Z&eE#1@7!"!>54.ع%orR^3I$>pdV# 3F&=pbT#0 3I@[U;xx:Pvo4ؤQ6SqD3~աR6PlA?:y@C  O/ RK    @ H XYX+??399/+q33/F(  +</+<+H++3]qq10]7#.54673&HA(9N2"V:  &*H @ H    г&/H @ H   %     R  N  RK     o    d / ?  RK@ H   XYX+?22/3?33/39/+3//+<++ć3}/]]]q83/]899++ć++ć10]]]]]++]]]]++!#373 HҴeiP|:E/z@b H3*)D 0    RKRM HC@/@ H@ H?P??33/39]]3/]+8/]+89=/]+++ć++ć9/]_]]]10_]]_]_]]]_]+_]'.#"'>32##,  0$*%)(6N;*δ|cJc=$Q_wA:-H@ U@ HrDTd" H0 H@ H&%/(?(O(((%5Euh%5%&&%&'(R(K&&&&@_o/RK@$H/?( '&& P XYX+???3?33/39/]]+3/F.(. +</+<+H++ć3/]qqr3/F.(&. +</+<+H++9}10]]]]]]+]++]]+]]!>7##".'##332>73 9DP2'H:*  I} 0L654&'3#3bj8bhpûm#;3D}o:7N@k{m}\k,Z,d t 6 F %E Z[1k11 H@@/@LLF>$I)8) ))>) )>3`NpNNN?NNNPG3@ H3CLQM.9 Q.) #M#/?9/99322/+3/]]9///]923/10]+]]]]]]]]]]]'>54.'.54>75.54>?"+7!6neXB%5Ys>A}mR/=[<9aH))3f ;W8?nS0L̀6dL.Cev3&295, JzO(8L2:K./BWlC+;, #2F3+MG>H#)+' /HhH\\ *BW6FaA& C2MR[{:4@ky HI /?O( HHO&&&&&224RK6++G/ 44&Q1P XYX+??3?22/399/]3/3/]]]3/F5(5 +</+<+H++3/9/]10]+]]+]3267#"&5467!#>7>767"7>3!#+1"M+^VnAGJ!"MLD'PG7-47% # 0"  gZ:HJL}  WVN2@!+f1j1z1h,x,uFVf@cHE<L, % !3!C!!GO00004$##RK/?@$H#)P PXYX+??9?3/+]3/F3(3 +</+<+H++ć3/]]10]]]]]]]+]]]]]]]]2#".'##>"32>7654&bp=bd;`O> SVdKoQ7>?KT,GsW=N?th$R*vH'4= WxI8gX5)6f\OGCN5@tdtdt@XHY[/k/5E6 F % 44+4[4I''!I,,y  p  7G@ H1,1&P0 p  ?3/]/93/+3/]]9/2]10]]]]]]+]]]]]4>32.#"'>54.'.C!Bdg>_K:"_?=kZG1<[<9aH))3f ;W8?nS0JJzI%3l-=6\zD.@."#2F3+MG>H#)+' 0MpD:1{@R t00+%u+ |***j* G#�`#/##?##@H##3/G@ H'Q P??22/+3/+]qq3/]3210]]]]]]]]".5467>3!#".''2>54&'#"hj6u( #*+/EՇiW&SR]~>pa$T(w4=agT}Q6(]n)I#Kg:#@B( H %RK # # ##@ Ho  O    PQ XYX+?2?99/]]]q+]3/F$(# $ +</+<+H++3/9/10+"7>3!!3267#"&5467N'PG7-47DЅ+1"M+^V  S# 0"  gZ9h:$@ yf" H H H@U H )$$G/ ? O  &RK!$!!$!!$$!!!@H!!P$XYX+?22/3?99/+qr3/F%($!!% +</+<+H++3/]q10]]]++++]]32>54&'3#".5467ycjIpR9" <]fPa6s:I8ep7_RW02Xgʶq@,X[#K*OGWR(9@z2j2c!s!! H@ H* %$ k{$./ -#-RM$$$$@PFO777777; G@ H-$/#P )PXYX+?2/2?3?3299/+3/]]9/]]q3/F:($: +</+<+H++10]]]]]]]]++]]]]2#.54>7>">7>54&ClM) qsOO^f5Hw uvp9W{K":/%qNcH @P0_\+j3΀;iBueq ZKD`h6@fJ.cpBp-ngkXyP@zz9y  JZj @ P ` RMRN O@@ H P/33/3?993?3/+83/]q89///++ć++]10]]]]]%#.#"'>323 #(ag$ !"#&&0@0'Uqi9W6R7 | >fKGvW<#@+  z { 4#+#Y"y"4"+"""*!d  H H H@ H H H@ HrTdEV) #!#RM""""FVfRK@H R KPo% #"!P XYX+?3?32?33/3/393/]]q3/F$($ +</+<+H++/]+3/F$($ +</+<+H++9/]3/F$("$ +</+<+H++10]]]]]]]+++]++++]]]]]]]]]]%>73#.546733\[9~}V͏OOoi3vz wIy[|zn5k/XR H(d#@q_COG@sy }k{DDjDk3{33* : " H44g4w44 22 --`pF77=GI$FF/GOI=G///@ H/$FFBP*7P6?32?329/9/+]3/]]9/39/9/]10]]]+]]]]]]]32>7654&'7#".'##".54>7326?3f)=(AbI2Y^2UzN$Z|[B_B&CWlDNzT,7Uw` # +D/g151R;!4cZUFt V}ROM~>%Ec=>cE$9i^OkJױ0W)7[A$?{&i@ & %+55+55h{&i@ %&d)' %+55+55C2&RT@ 4&47 %+5+5h&Tm@ %&%( %+5+5C&Tr@ H&HK/%+5+5?i?i&(Z@  &%+55+55Z5#@ y y-س H@I H)&   '' HO44444$0 R^$$$$0@P"FH@G H7.//R/^010110/222012_3$.)_  3/0_@lmX+?3/]?3?9/]q39929922/3/]/+<++ć3/++]q3/F6($6 +</+<+H++99//]q10+]]]]++]]]>32#"&'732>?>54&#"#!7!ZD"kz5%:]\j/%.7!*>. 'wy3zyj# 8]].K9x#4P7 RY  圜?&av@ & %+5+5e1@5$ fvjU+6*F*V**:J9 6 "\@]H,\-/-?--`-p----3"Z?O_/@H_O'_ O_ '_0,@,P,,,,,,?2/]?3/]9/]q/+]q23/]]q3/+9/10]]]]]]]]]]]".54>32.#"!!32>7ِG5cvS<_Usdw3ed^v\%0x\{|࿛l;;`|B7/WE)Fl$^s@1Ri7YIa9:@6Q",Q &,@ &%+55+55-&01@Rzj,z,Z#j#U"e"u"W'W H{Jj6V%5 H &HH@ H)Iiy* 15H "&H@`H H0''R'^&&&O&&O&& [/******2 @ H 0_O'_&_ _ lmX+?2?3?9/]qq/+3/]99//]]3//+<++ć++++10]]+++]+]]]]+]]]]]]]]]]!#"&'732>7!!2#!7! 4.#!3x8_XV_lC.  " 8:>HV41sEu{?Ĺvq+NnCljU%>k4aXhp;=Y9?_ @zZjUeu  R^   ?Oo@)H[/O/"R^@ H  _ O_lmX+??3?39/]qq33223/3/+3//+<++ć3/]qr9/+]3//+<++ć10]]]]]!!#3!3!2#%! 4.#! ~~s ssu{?ĹFq+NnCsT4aXhp;=Y9&!@   س H @ H`p$)H@THR^#!R^O !_p  _lmX+?2?229/]32?399/33//]/+<++ć3/3//+<++9/++]10++]]!#!7!!>32#>54&#"gD"^jr5½ijmy3mi]#圜 >#9OW ?&&  %+5+5?&C 4&J@ &)%+5+5?h H @w H R KP R ^_oP`p R^@ H_  lmX+/2?32?33/3/+3//+<++3/]qqr3/F ( +</+<+H++9/]3/F ( +</+<+H++10++!3!3!PPhh$>@`Z U e u jz [/?/R^@ H_O__lmX+??9/]qq/+r3//+<++ć3/]3/]10]]]]!!!2#!7! 4.#!P!UDu{?Ĺvq+NnCH4aXhp;=Y9?%?aChh]@ HY i {-&Hس HH@! HRK 15H "&H@bH HpR^/`p RK@ H__lmX+/33/3?32?32/+3/F( +</+<+H++2/]3]/3/F( +</+<+H++9/]++++3/3/F( +</+<+H++10++++]]]]]+]%3#!#3>7!!voPPn3]YX.TKx,SQP*h83Aݲ3?i(+x@%5eu@"%H" 2 b r  @ "%H" 2  @A"%He u W*W6#F#R^$#R#^"!""!RL$!* @/ +)**+*R*^+++++""@-H""@ H-@9/@ H  !$)`/ *++"##lmX+?33/33/3?39/]3299333/33/399/+]83/]+83/+89/3//+<++9/89++ć++ć++10]]]]+q+]q+]q]"&'#.'3332>73###b"X G0’/CBN9xx&=99EV9Sl!e13/~Oo_c{Dk ,FbB1aag k<@6zyhxU#U:u:F2V2f250++3.[_o/?8[>%\&&&&\@#H@H@ H3`O )O%_%O%_%%@H%% _) _@P?2/]?3/+]q9/]q9/+++q3/]3/]]3/]]9/]910]]]]]]]]]".'732>54&+732>54.#"'6$32)uV:VzUXa3cG`h7"A_=T~`FPbvA5]L2_J.Q3[NF:aG'&ImGi}>gK-K6$B[6=2Y}KO}Z8 /LhBit=?@V f YiJ Z  0H  HEUгH@ H  R@   R@   O   p  R@:@ HEU%JZ *   lmX+?2/3?33/33]q]q/+2//+<++3/]qq3//+<++ć++]]10++q++q]]333#>767?  蝹 8d3b'.('Y&-+Z?4&J@ &% %+5+5?@3DR^ R L    @-H  @ H @? H  R^@ H  `/ lmX+?22/3?33/39/]9999/+3//+<++ć3/]++83/+89++ć++10]32>73###Px&=99EV9Sl!e13/| ,FbB1aag {@FjzFV99y%EUe%EU*jz( H  15H "&H@6H H R^ @ H __ lmX+??32?3/+3/3//+<++9/++++10]+]]]]]]]]]!#"&'732>7!# x8_XV_lC.  " 8:>HV4QljU%>k?0?+o2?n?I3q&\7@HHR@R^ H@ @ H@ H@ H _??39/+333/3/+3/+89/]89=/+33++ć++++10]#"&'732>?3 3@noxK?x+UL0+DCM4B})>XR(*#%9^EYz *5@u!!i:&J&51E1U1*t--X+h+"%Vf**i*  +5 R^   @[?$?$O$_$$$$$7/[/@H`55*+`  5 5  lmX+?3?399//3232/+]3/]]q9/]q3/F6( 6 +</+<+H++10]]]]]]]]]]]]]]]%".54>;7332+#?32>54.+";Wk}E\d$#$q~C[j,,Mbn:2Sm;7=1Rk:9?vmΒN>vmϒO6g_XQ'YR';?h H@i HRK R ^   ?O/o@$FH R^@ H  _lmX+/3?32?33/3/+3//+<++3/+]q3/F (  +</+<+H++3/3/F ( +</+<+H++10++%#!3!3SoPe@aH0 H*R^O! R^  @ H _  lmX+?33/3?39/9329/+3/F (  +</+<+H++3/q3//+<++10]]]]++#"&5467332>73##anu7jjy}4pk`# 8# RY ?] @h R^ R ^   Pp/?_ R^@ H _ lmX+?22?33/33/3/+3//+<++3/]]]q3/F (  +</+<+H++9/3/F ( +</+<+H++10]33!3!3??h(>H@ HRK R ^   d R^   ; K   @FH ; [ k /   R^@ H   _lmX+/3?2?3/3/33/+3//+<++3/]_]]]+]q3/F(   +</+<+H++9/q3/F(  +</+<+H++3/3/F( +</+<+H++10++%#!3!3!3oP-@wjzZ j WgU e u WgR^ [/O//?O_O__lmX+??9/]qq/]3/]qr9/]3//+<++ć10]]]]]]!7!!2#!7! 4.#!5s$u{?ĹVq+NnC4aXhp;=Y9>@jzWgZ j U e u  [R^?O_?O/oR^@ H_O_lmX+?33/3?3/29/]qq/+r3//+<++ć3/]qr3//+<++9/]10]]]]]]!3 !2#!3! 4.#!.Du{?Ĺvq+NnC-4aXhp;=Y9>@djzZ Ueu[/O/R^    @ H _O _ lmX+??39/]qq/+r3//+<++ć3/]qr10]]]]!2#!3! 4.#!9u{?Ĺkq+NnC-4aXhp;=Y9K+@UeuUJZJ<5 5 ""&!ZK';';'K'[''''-\\;K[@#H@H/"_O##### _0@P?O_@H_ ?3/+]q?3/]9/]q/]_]++]q3/3/]qr39/10]_]]]]]]]]]"'>32#".'732>7!7!>54. <(qvӒMjke*ƙmbc5cx"32>7>54.ԒK ֏G~s"z\ͷ{\6eUԀ1i0^Wڃ((sXJʀ+W'K}*Z&kk6v@mUe g Zjz R^[?O R ^   o O   @ H __  lmX+?22/3?9/322/+3/]qr3//+<++99//]++10]]]]#.54$)#! !"3![*-aO4)5Zqud2Tn;e9Z~UI}Ib;.-NDiF@Pzz<<u *#%!u!D?$?=+=$7 7777G0OHBH*@-H*BP 8R7 P%??9/3/+23/]]q3/]10]]]]]]]]]]]"32>7>54.'2#".5467>7>7>:qcP%D]7BpZA "?V dhal9%l;g^X,X_SkTD6OgOiHQsI"%Td,M"Hg@ɾ&P,w7:|8NW   -Ell8`H)'D*7@-%{4I4  @N H G&&.G..O....97*55RK@ H5*Q77#1P#PXYX+?32?99/99/+3/F8(8 +</+<+H++ć3/]]]9]9/10+]]]]]]#"&'>3232654&+72654&#".Lc5,Q>%Glpdt[}ZU_3=@>|ތ\\-WM>H@^B( $:Q4ZU)ji+ @^dlP^^bAL?r^),O7@#u,,u60F0V0++k+{+++' H @ HI!I    @( H  )H3339F)@ H)3 $ P$P ?3/?3/99/+3/]99//+]]10++]]]]]"'>3232>7#".54>7>54.C8V?,&ձdY)4f`RV,qr?_E/&۸y\#;ogey@1P$9(0v}+Jc7FeK:)2@/NK'<(8v}3Sg4MoS?//3/#C,)B@ t@@*(f! @f Hx..[-k-,{,,&i&:JZDT+ z 1#I/?@P`D>F@ H6Q?  *Q *P??9/q3/+3/]qr39/10]]]]]]]]+]]]".5467>32654.#"'>32'2>7654.#"fl9aW2`UE3Z{G%P*%c0 ba`{L( :bMFoS;=_?sbC"}t7'6"&#lc. {ё׉?FrH:;2`K-*Yb#CAhI'E'NH:)@""" vUe%'5'E'%5E!!!  RN R L  ( ) "!R!M  RL" ()  ( @( '(()(R(K))))))@H/?+@7@ H    "'Q/ ()) !!XYX+?3333/3?39/]3299333/3339/]+83/]+q89/]3//+<++9/89/89999++ć++9999++ć++10]]]]]]]]]]]]]"&'#.'3332>?3###a8 /e!/+-\\28U뺺 "! _ W ICKL]2&2]LCWN;@ 99*@G H1,G!I"7G""0@O=I@ H1P' !!!P' P?2/?3/]9/9/+3/]]q9///910+]]"&'732>54.#72>54&#"'>32 %:R7/VA&)NqHCc=dR$F<0 JgNQ\19Yj16U:;pz,%=+0M72G-*L=EF 8+Gb>&E_9EeD$,CT.L{W/VJ:XVJ&X@ (&n-9#%+5+5" : H H @ Htu U e RM  RN     p  /  RK@ H  Q/ XYX+?22/3?39/]993/399/+3//+<++ć3/]]89/89999++ć++10]]]]]+++32>?3###\!;GY>8U뺽K.\:&2]LCW #Y:@zZ;Kk@^ HRKP RK?O/ ? O  @H   QP XYX+?2??3299/]+]3/]3//+<++9/]q399++10+]]]]!!#"&'732>7!ҸDiWKOY8"= '047##!>7Uҭ    T E_:<@=G==9,:*gfYP5"?: @bRK/o?O  R K   @ H Q/  XYX+?22/3?339/]32/3/+3//+<++ć3/]qr3//+<++10]!3#!#YYҴ__:6:C2MR"M'"@X H &'R'K/O) R K@ H &P  'XYX+?2?3?9/+3//+<++ć3/]q3//+<++10]]+!>54&#"#>733>32~ T_@q\Av  "HWiC 'QOX3]QS"KC0,9;/L5$Z&sW1NSCNF"KMPWg:\EWn=ShP@#BjblA|AjGzGT\\D[K;[;CS7 H6ضHE6*@ H+)++++% 5 % WW!!$! H\/66\6E877E76R6K777777`7p77777777$GffOffffffjQG@ H76TJP8/ _>P,XYX+/22?392?3?3/+3/]]]q9/]]q3/Fi(77i +</+<+H++9910+]]]]]]]]]+]++]]]]]]]]".5467>323>733>32#"&'###72>7654.#""32>7654&sIpM( Qr\r Rn!DMY6HqL( Rr\r Rq!DNZ9gWC9P07ZH7T9gVC ua7YH7T2\Q-|?˂=h^ .3. /D-2\Q2w?˂=h^#4>YI/D-&]xbOAbC"%[tvX{|M&]x3X&%[twW{|<:[YhM:)X@ HdtEU<L\@ H5Euu#3C%5 $$  ))RL@RK   ?_O+RK&)&&)&&))&/&&@"H&@H& &P"Q )XYX+?22/3?3?2?999/++]3/F*()&&* +</+<+H++3/]q3/F*( * +</+<+H++2/]3/F*(* +</+<+H++10]]]]]]]]+]]]]+32>733##4>7##"&5467~ T_@q\Av iP "HWiC :{'QOX3]Q^3,9;/L5$Z&:!@rrl|г Hг Hг H@' H"2Bbr"2Br"2Br@V H&6FRK?O#RK!!!!@ H P!XYX+?22/3?39/399/+3/F"(!" +</+<+H++3/]3//+<++10]]+]]]++++]]]32>73##".54>7CMN#>?B'eҴYRR>dF&D: A<  *, @_?  PV:A@1d9t99dtM]mM(](m(2$v@ Ht@ H$t444@ H3$3 $$$ ,,A A1 1%?RK?A??A??AA??.RKC27R7K.1..1..11./..@H. ;P%7.? "*211AXYX+?22/32/3?3?392/+]3/FB(1..B +</+<+H++3/]]]3/FB(B +</+<+H++9/3/FB(A??B +</+<+H++310]]]]]]]+]]+]+]]]]]]]]]]32>73#4>7##"&'#"&5467332>7 | LV9gR<v  @L];yESe@ | LV9gR<v:00,KO3]Q\"KC0,9;/L5wq1U?#$Z&00,KO2\Q_Vh:C@M&]&m&0 HM ] m M]mB@ HdAtAAEAUAd2t22d"t""i9$99v<<$<47##"&'#"&5467332>7332>733# AN_;yESe@ | QV9gR<v| LV9hU=viP,9;/L5wq1U?#$Z&00,KO2\Q_00,KO3]Q\3B:!@ejzcs@R H ! RK    G_o@H@H@ H# @ H !Q  Q PXYX+?32?329//+3/]+++q9/3/F"( " +</+<+H++ć10+]]]]#"&'!7!3232654.+C~rpdYbs?2=@>>bEO[X*6 Endl)A-&:#@"eujz csU@\ HG RKo?O%#RK  @ H #QP  XYX+?2?33/3?329//+3/F$(  $ +</+<+H++ć3/]]q3//+<++9/10+]]]]]]]!3#"&'33232654.+4ҴC~rpdδYbs?2=@>>bE:O[X*%6 Endl)A-&:@eujz csU@K HG_o@H@H@ H!  RK   @ HQ PXYX+?32?39//+3/F (  +</+<+H++ć3/]+++q10+]]]]]]#"&'33232654.+C~rpdδYbs?2=@>>bEO[X*%6 Endl)A- M)@ty  H)+%&I'/'''F@ O   +I/?@ HQP `p &/&&&&@H&&#P?3/+]?3/]9//+q3/]]q399//]10]]]+]2#"&'732>7!7!>54&#"'>#Pn@4Tyh *=M,InQ4ruki#M+btLk>:S52_W/_e "M9@r0#v:5%  * -G  /  G0 O   ;RK@ H%PQ2PXYX+??3?39/32?/+3//+<++ć3/]]q9/]]310]]]]]]]#".547##33>324.#"32>7> e^Zh9_ҴY_bcg49R3/`VH ";R00^TF 4i;t5;qh#':6}t88lcMlE Lt7c*RtH!Mu3!##"3!C?.IdҴY`DlK(.D-6&EcCaL/P=!<-E''C HE'{&Hi@ 4&l86 %+55+55"W 9:V4V"0@z H77 22     26R6K   _ < 0 p   ? O   ;"(RK@; H@ H"Q6 P 2(.. ...PXYX+??3?9/]9999/]q32/+33/+//+<++3/]qqr^]3/F:(  : +</+<+H++9/10^]^]]]]+]]"&'73267>54&#"##7373!!3>32G"E 2;; T_@q\An- "HWiC  'BcW T\'QOX3]Q!B7(/L5$Z&>jN-! @EVu  @/?O@ H RK@ H p   @ +.H `  @H S QXYX+?3??/+qq+qrr/+3//+<++3/+/]]10]]!#?3е:I:wCN2@5E *++H I@; H  4*0F@ H-Q**%P  /  @H P HH ?3/++]?3/+]9//+23/]3/+]9/10]]%2>7#".5467>32.#"!!7VD5PmWfa. CUail4W]42H0AjS>sfz">T25KvR,>oZ(^-ouL+.TuG-J5%S`5KV!&Oڹ 88H 77H 66H 55H 44H 33H 22H 11H 00H //H &&H @)!!H @H @H @H @H @H @ H @ H//H@$&&H@""H@ H@H@H@H%+5+++++++55++++++++++++++++++++{&iZ &&H @8!!H @H @H @H @H @H @H @ H @ H&%+55+55++++++++++WM:&5@zk{ H @ HbrU%%@ H R K  !5' 'R'K   @G/@H/@H/@ H///7/?O@H5Q!! Q P',PXYX+?32??329//]+]3/]+++9/]q3/F6( 6 +</+<+H++ć9/]q99++10+]]]+]+]]]#"&'!#"&'732>7!3232654.+C~rpdPDiWKOY8"= '04>bEO[X*؊O  P.6 Endl)A-"':'@j z c s   U@j H'RKG!@H!@H!@ H!!!)RK@ H'QP XYX+?22/3?329/3322?3/+3//+<++ć3/]+++9/3/F((( +</+<+H++10+]]]]]32#"&'!#3!32654.+Ybs?C~rpd[J_ҴYY=@>>bE:6 EnN[X*:6Kdl)A-" +@VV%   @I H  ## R K   / O  -"%!!R ! K   @7 H @ H%Q" P    XYX+?33/3?9/]99/]q32/+33/+//+<++3/]q3//+<++9/10]+]]]]]>32#>54&#"##7373!!w"HWiC wv T_@q\An- Y/L5$Z&]'QOX3]Q!B7(" &tG@ & %+5+5VJ'C? Wg&\@  &%1%+5+5VtJ:+|@%L!\!l!/?O++( && H @ H0 $$Td @ H$4D RL(RKD_o-RK(+((+((++((/((@#H(@H(( P$+XYX+?2/3?33/3?3?9/++]r3/F,(+((, +</+<+H++3/]qqr^]3/F,(, +</+<+H++9/3/F,(, +</+<+H++10^]]+^]]^]]++]]]]]]#32>73#4>7##"&5467 GW&~ T_@q\Av  "HWiC DH~{'QOX3]Q^"KC0,9;/L5$Z&o!;!7!7!2#".5467>$"32>7>54.>@:ޙO K ̗b 8kb͖c :lbbUԀ1i0^Wڃ.`1_Jʀ+W'kk5K}*Z&kk6C2M!;!7!7!%#".5>7>324.#"32>7>y{ kd`o= fijm8"A\95kaP &C[66i^O 3bbx4i;t5;qh/d6~v88lcMlE Lt7c*RtH!Mu733 #+y:K Y&4VKB AA K@tVf@!H4&t@ H ) V  %*H @"HI   @ H   vfF6&vfVF6&tfVF4$dRD4$rbRB2"r@`P@0 rbRB2$tdVD2"itbRB4$p`TD4 dP@0 @9rrrrr^]]]]_]]]]]]]]]]qqqqqqqqqqq_qqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]qqqqqqr?2/+^]]++]9^]+]]qq+qqrrr10]#>7#73 "*{9K X&4WKB A? A@+      @ H     /3/]+_]]]910]%#>7#73 "*{9K X&45VKB A?$@ / ?2/]39/910##.546?&X{)3Y.'U+ G* h@F  { ; {   @ H  @ H  ?322/+]q9/+_]qr910]]7>733!7>733 "*z9K X& #+y:K Y&4VKB AAÒ4VKB AA @+;+;7WGW5&GwH@Hw(HX   I    g w   ( H    yiH9) wg8)@vfWF6'wgUE6&tdSD5#t`P@2$rbRB4&vdT@B2$ip`RB2$rdTD6&dR@0 9rrr^]]_]]]_]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]_]]]]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]qqqqqqqqqqqqq?32222/^]]]qqqqr9/]]+qq9^]]]qqqqrr10_]]#>7#73#>7#73 "+y9K X& "*{9K X&4WKB AAÑ4WKB AA& q@(++wF'77G@. %H%gw(@H(  @H    (    vgWGW6&ueUF5&wgUE4$tdTE5#@ucTD4%pbRB4$tdTB2"ip`RB2$pbRD6&ydP@B2"9rr_r^]]_]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqq_qqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]qqqqqqqqqqr/322/^]]]+9/]+9^]]]]]]qq+qqrrrr10_]]%#>7#73#>7#73 "+y9K X& "*{9K X&25VKB AAÑ5VKB AAvX @g )){{i{g" p /  o/_  /?22/]q3/]]9/3210]]]q]]]]]q]]]#73%s Z-eg rxDsZ@[  p/o/_   ?22/22/]q3/3/]]qr9/3/9/]r1073%% %%#7G b9Yo Z%m :Z dYxxGa@9 6fvvI&6fv @ H  @ H   @HfVF&y&yiYY))iVF})n;+ {m]K=-_@0>rrr^]]]]]]]]_qqqqqqqqqqqrrrrrrrrr^]]]]]]qqqqqrrrr^]]]]]]qqqqrrrrr^]]]]]]qqqq/+^]q+/^]+^]]]]qqqrrr10_]]]]#".54>32,Mf:9cK++Kc9:fM,:fL--Lf:9dJ++Jd H@2 ?_o/_ /2222/]q/9/10!73!73!73++++++3-G[u@gHueet@Hzrr9Hu77F@HzDD Hu @Hzyl H_@ H> H1@ H H@ HIY3@ O@@@@@@ H@@}n@zayɇ@&)H6@HyfI;& ُďiV9$ɏi[F)+@ 9 !6Ffv R;vH\.i;$  ۏ͏iV9+ ُˏi[)֏tfI6֏dV4& ُƏym[K;$ ˏk[D+@ˏt[@4ԏ[O0$iۏď{dK;$ ۏďkT; ˏk_+9Џrrr_r^]]]]]]]]]]]qqqqqqqqqqqrrrrrrrrrrr^]]]]]]]]]]]qqqqqqqqqqqqrrrrrrrrrrr^]]]]]_]]]]]]]qqqqqqqqqrrrrrrrrrrr^]]]]]]]]]]]qqqqqqqqqqqr??3222??/^]3/^]8^]]]]]]]]]]qqqqqqqqqqqrrrrrrrr3/+q+q9/+]q9/]]810++++++_]]]+]+]+]+]+]+]2#".5467>"32>7654&2#".5467>"32>7654&%2#".5467>"32>7654&#32XB' Vfi)3YB&Vei'!?8.;6<7/82XB' Vfi)3YB&Vei'!?8.;6<7/8c2XB' Vfi)3YB&Vei'!?8.;6<7/8Х;_EL&fI>bDJ%kFl2ZIN7IE3ZGP;H@;_EL&fI>bDJ%kFl2ZIN7IE3ZGP;H@l;_EL&fI>bDJ%kFl2ZIN7IE3ZGP;H@z5@# H6F )2B@/?/]]]10]]+3@Ğzz&UV]@Egwhx [@#H@H//o/]/]_]++]q2/]10]]%73 _  i m?s(R\@"fviy`P$+H@H//o/]/]++]q2/]10]]7#7 73 'ot?M&T///10!5!^3@{p/_o??/8/]]]810]]!#3l~\%J @VH_="M"]"9I#)#)$%R% @#H9Y'6'''V'f''%(H'@; #H'' ''I'' R      $ %@ HIYy+;  ''''''''v'f'V'D'2'$'''''''''''t'd'P'D'4''''''''''t'`'P'D'4' ''''''''''t'd'T'4'$''''''''''t'T'D'$''''@ƴ'''t'`'T'D'$'''''''t'd'D'4''''''4'''j'''''t'd'4'$'''''''''''t'd'T'D'4''''''t'`'P'D'4' '''9''rr^]]_]]]]]]]]]]qqqqqqqqqqqqqqrrrrrrrrrrr^]]]]]]]]qqqqqqqqqrrrrrrrrrr^]]]]]]]]]]]]]]qqqqqqqqqqqqqrrrrrrrrrrrrrrr^]]]]]]]]]]]]]_]]qqqqqqqqqqqqqqqq/^]]]]3/+299/99/]q3/]++ć^]]]++qr3/]]]+]qr3/++10]]]_]]+>54&#"#>533>32I/4HiGdw+4@*Q]Kv0/1d^.("# . Y\0@Q     R ^    @ H  ` _/?/ _ lmX+?3?9/]q9/32/+33//+<++ć/3/99//10!!!!##73!\Q)n66{$Ձ:c@6zzZ j %$%"2B"(B(R(b((   @ H(,,& '*+./&/ &/R/q    o:0:@: 0  : :o<@ H /4. u+*u'&_o@H_o 4#s4t:::X+?3/]2?3/99//]]qr+]qr99223299/+3/]99//]]3/F;( ; +</+<+H++939310+]]]]]]]]]]]#!7>?#737#737>32.#"!!!!!2>73NeyCFbvEmgFy^@$6D(rhh +=M-,O@06UwI!.y\f7:V820$s}8gWD+E2N )_n@ |Zj<@ H%5Eu%(u((] H@@ H( H %[# )$#)Rr#'##'##IoH`n>oQ4o[KH[HkHHHH@H?HH/H/[?[o[[[[[@H####@!H#0#_0#H[QQ[H#h-o.@H..pfggRgqhihiihiih@ HhfPQV94C1u*O._.o...*#$u'* '())`)'P'`''))'LPighLuCC@IPI`IIIICX+?3/]32?3?9///]]]]333299/3/]9/+3//+<++ć3/+9/////]]]+]+]]_]+]Fo('##o +</+<+H++93310+++_]]+]]4.+3263#3267#"&5467#73732.#"#".'732>54.'.54>%+#32g-RsF8l^LH*!"$Q^Ohodn鍞 QKJX.K62VA%5dZKqS6XX-K63P8+R@'5^3OԄjtFA\<Ԝ+v1R~bV8u`*:'/" $7M5CdB!0L54;8 +!$ "3I3B]<nyA6d;@zz{::Ueu6%6.%.5.% !%9o$8o9 90999=..%%n0'$@ H$$u''-u00_'o''_'o''''0/0?000/000'0'0399s3s`?3/]?3/99//]q]q3232/+222233]3/]9/]9310]]]]]]]]]]&!!!!3267#".'#73>7>7#73$72.94lg]$AR Al @`Bj*PnW]qA@p AqN'Wc> sKy'J#Vb5ia0BmO+@Ä#J' +OqE#[c,0J^@--// Hz<<<IH@HEUe HA H4 H0.@0.0.6RC6'\7\G\\\\@>!H\\\\`````{`L`\`l`-`=``````````@@ HH`9```H``g``(` ``(@)6H@&H@HK1U>/- ! `````x`i`X`````h`X`H`9`(```ʸ```y`j`Z`I`9`)````g`H````````y`j`Z`J`;`)`` ``````@``z`i`Y`I`8`)``````````y`j`X`I`:`)`` ``````y`i`Z`I`8`)`` `i```````````~`n`^`8`(``````@vW]H``````~`o`_`8`(`/`?`O`` `````````~`k`Y`J`;`+`` `9``````_r_rrrrr^]]]]]]]]]]]]]]]]qqqqqqqqqqqqqq+qqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]]qqqqqqqqqqqqqqqrrrrrrrrrrrrrrr^]]]]]]]]]]]]]qqqqqqrrrrrrrrrr^]]]]]]]]]]]qqqqqqqq?3/^]3/???/+++]3/^]]]]]+qqq+qqqqqqrrrrrrrr3/]+qr99//8810+++_]++]+]]267#".5467>32.#"#32#".5467>"32>7654&Ij:ToFLlF!VmDDfE$#6%4R?.$805^G) Zjq/7_F( Xjq0%F>4B<#C>4?|PY6^F(2XyG"G&}b'*F^5 !9*#MwTUC-K6 IvU%]0~["$MxT%[.WlCxbjHb\Dx_oK`V*:@)1\l?1O1@\ H (((0 H!!%&"1"1 0 %0 R r&&@6666&&!! &"01%+!!++??9/9/9999/3/3/3/]]2/͇++10+]+]]]]]232673#"&546?7>7>">54.2P]DtV-0:V&E9EU6`mHH&G"r.HeE, aGtR.dlrϰ-A=6hmLuN(lnC!IKJpK&L#37=R=@>?>??>??>>/>>@13333@333K+?HG@G7?`=6IA>lmX+?3/?3/399//3/]]/]3//+<++99//]3/3/+3//+<++ć++10++]+]+]]+]+]]+]+]!7!".5467>32"32>7>54& #367>737{LrK%HhOMqK%Hh*J?2 *;$+K@3 WJ ++OnCC ^V(+OnCC ^V(6`M*D1E+8dO*F^M3.0)]'QA+0)e3z)1@ H @HYiy'H' HH@ H@,101@11+.?.O..+@,/,,)'/_o3o3*./'/  , ,P,, ,/33_3O33333O3333O33;33rr^]]]]qqqqrrrrrr?^]2/333/332r3/]33/]]]]]]9/]2210++++]+]+5#.'&'#367>53##5!l  (z $,6 3)"hoon9O@y7ucscsc%s%%c$s$$3Y3i32 HYi H:&1 $H1]1m1}1;1K1 $H ] m } ; K  +[k  + [ k 0\( \/O( (0(((((@c H((#)3)))))))"[/555JZrfT[@%H@H@ H;'@ H' 0'*_)_??32/+33/+++]3]]]q/]3]qq99//+]q]]10]]]]]+]]]+]+]]+]]]]]]]]267>;!5>54.#"!532.54>Z;mc*'!G`Y*=tlmt=*Y`G!'*cm;ZVj63~Ut|AA|tU~36jVX|H"/r@KZ@##[##T#d#t##+#;##1/;K@H///) ?2]]?9//]_]+]]2]]]qq210_]".54>32!32>7.#"kƆE,Lfv?qQ@NX.Kt]M"H$Sn;L]53WJ<"]ob}]<Oу-# N&s ' n R?555cN&' n >?555|:&>' Z >?555bB@  //29910#.'5>73!;H:RR:H;'"bADp*$*pDAb"V@ @ /299/105>73.'#"bADp*$*pDAb"V;H:RR:H;#bB@  //29910.'3#>7!5;H:RR:H;#}"bADp*$*pDAb"V@ @ /299/10%>7#.'53+"bADp*$*pDAb"V;H:RR:H;bB$@@ //29929910#.'5>73!.'3#>7;H:RR:H;;H:RR:H;'"bADp*$*pDAb""bADp*$*pDAb"&@@@ /299299/105>73.'>7#.'5"bADp*$*pDAb""bADp*$*pDAb";H:RR:H;;H:RR:H;H#(@#  /299299/3210!!5>73.'>7#.'5 "bADp*$*pDAb""bADp*$*pDAb"hPX;H:RR:H;;H:RR:H;8/E@y  HZ2j2DH@ H+C{CC@ H DDD@ H  * '@*''0F@OG323>54&#"7>32.#"32>  `a]N#/IfS*M@2;:6$*tCq^)$3@$5VC1 *A,BlS8.gkj0ΐM?kK32>32%"32>54..#"326o,RrGaFLTZ.EsS.,RtG^C JT^3ErQ-Fw83wM,F33G]3wN+F10G/FxNNj>?fH'7dXQh<>fI(7e~(F^66\E'(F^63]E)~` //103!!^j8^_@hxhx  yiI9+ iI)iI)  iV-k[K;/oK;/k[O;/o[@O;/ o[O;+ {o[O;+k[K ikTD4tdT4 {kK;/ 9r_rrrr^]]]]]]]]]]qqqqqqqrrrrrrrr^]]]]]]]]qqqqqqqqqrrrrrrrrr^]]]]]]]]]qqqqqqqqqqqqqrrrrrrrrrr^]]]]]]]]]]]]]qq_qqqqqqqqqqr^]]]]]]]]]qqqqqqqqrrrrrrrr/2//10]]4>32#4.#"Dzbc{Fg5_NN^4tLLtbl98ld9#8@#!!%! *F O   PP/?/]]3/2/10]]"&'532>54>32.#"$$K>#3B'2Z}K"K=$3B'2Y|9 %@T0^V( (AT,-^V)LP@!C@"H$X$$$HXA HB0 H=0 H*г H0@ H H 0 H0 H Hг HгH@ H?4Tt@3H[$- @ H $EDEdEEEE$EDEdEEE$EE;@-#@)(1$1411@ '323267"&'.#"5>323267T"  H  ///10+#47632#"'.'&#"TR?K3% !$ V{{?0(4 ''#i  H ///10+3#".54>3232765"Z(g>2%!%}86'"%)j%?33105! %iH??103#ؑHK"??310!!#(in"??3105!# (%%H"??3103!!Hn%H"??3105!3 %H' ???23103!!#iHnnH'???33105!3# %K( ?2?33105!!# i%n%H( ?3?33105!3! %nH 3  @  ?32??3223105!3!!# i%nnqj% ??3233105!5! AّH*A ?2?3103#3#ّhHK Kj 1  ???23310!!!!#(iijב" 3     ?3?2310!###בnn#j ? A    ??3?3310!!#!!#htjo"j 1    ???333105!5!5!# i(qב) 4A    ?2?33105!### ܑב%nj ? A    ??3?3310#!5#!5!ґttj)F)ޑqH 1   ???233103!!!!iH"ב%H 4 A    ?3?33103!!33A$Hn#nqH ?  A    ?2??33103!!3!!ّK$hH"qH 2    ???332105!5!5!3 iqב)%H 4A    ?3?3310!5!333$ב%nqH ?A      ??3?3310!5!3!3!5!$KqFH 6    ????2233103!!!!#iiH"ב"H 8     ??3?323103!!#3#AHnn KH I A     ?3?3??223310#3!!#3!!jt " "H 8  @   ????3322105!5!5!3# iqבKH ;A   @ ??3?332105!3#3# 㑑h%K#KH I  A     ?3??3?2233103#3!5!#!5!A㑑tHK )ޑj 9     ?2??3333105!!#5! iiq"h :   @  ?22?333105!!### ב%nnj J    ?3?32?333310#!5!3!!#!5jtttAޑ"בqH :@     ?3??3333105!3!5! Aّ"%H :  @  ?33?333105!333! ב%nnqH L@  A      ?3?32?3333103!!3!5!5!AH"oHL  @    ?32?32??33222233105!5!5!3!!!!# iiiqב"ב"HM  @     ?3?3322?3322223103!!###!5!33AבHnnnnH ]     ?3?32?3?3222332233103!!#!5!3!!#3!5!AבttH"ޑ" mH/?3310!!Umm?/3310!!UH??3310!!U H??/310!!* H??/310!!* *g #'+/37;?CGKOSW[_cgkosw{1mUE- y@ xlTD, xeM5@ dL4qYA)}@ |pX@(|aQ9 @ `P8u]=%@!t\<$x||xiI1!@hH0 gckhd`h_[WT\XTSOKHPLHC?GD@.)'.@D%T%K![!K[DT #//10]]]]4>32#".732>54.#"Fz^^{GG{^^zFV9bLLc::cLLb9d^{GG{^^zFFz^Lc99cLLc::c# /]/102#"'&5467>76jnk5RS4l9R46n9:m64R9) //103!32>54.#")Ex[[xEEx[[xE}A[xEEx[[xEEx)+"@" '//103!4>32#".'32>54.#")Q:cKKc::cKKc:MEx[[xEEx[[xE}AKc::cKKc::cK[xEEx[[xEExscu" //10#"'.5476324'&#"3276c%%%V3eK#%HJfgGJL33FF3331HH13}5V%#%H%V5fHJJGgF3333FE6116y!-9D@] $ t $t+{+{D"(?4.(.(.1%+7+>:h:Y:G:::b^0H[[׀ؙٙW .. -- .. --#_[)4`@7*/$'!04h4Y4K4=442-_oO-_--- /99//]^]3]]]]332/99//3310#"'&54676324&#"326%4&#"326327'#"'ZZZZ. -- ., // ,0^b>LLH[[ -- .. -- ..[_#Fs;3F/@ H4.4$w##@M H H;;  H;/4#4;B p ?   9+>0/43?3O33/^]]]]]/]]]]10]]]]+]]++]]]+373#'#5.''7.'#5367'7>7"327654'.B 965--,,(17:"B?n0+(. P(9p6Eu0bb0uE`cc1u;  -;q9>_1(,=20db2/aac02P&/b@>++++""""P'''@%(H /+^]2qr/]32/qr]qr9/3210.'&547>32!!#!5!"327654&'&7Z#GS,e>SW;=>B.*PlzS++VSzmQR FF;G,+G>>=T,G;QAQF@(1A;NN?  33FF;A1?J777B??/^]]]99/r]]r9910.'.'.547>323267632#"'.'#"'&547632"327654'&6%( ? .@$    TVWvvWTTUzGSZ>==@XY<>><      "O-@" '*R*Qm}VXTTuuWV+ >=X[===>ZW>>;/(@& 0 ` p  "@ H"O_/]//+3/]/10#"'!727>'#"'&547>7>76 (_E#%?BXc$&}V+B,-SZB?N9En&86_,+i?~BCF_?BWVc %%1E[wK`_B?[J;*U/;q9S<K/@9M?4=C /)//99//]923/]10)7>7>7654&5#"&'&547632.'.547>3267>32#"&'.'FTl)@4:Z+X-;a)OII]P3N(a2+C.=#!K2dmy;*&StsOP"4&sN&(PNmVb(%)LtvSP<3=-Q}.-L'fZy'&@) @ P p  ///]10^]].'.'.'.547632>32b*gL8E+%DFfbN/"X2U#F)N7>-qEEt/'xSEj( #&b<^Q2P;`N]]5(o]H: 9Pwc;kM;!0@! @O_o! //]9/9/]2103#>54&'&'#"&547632L3:0./9@%%Hl9:Q0*%#Jj9:;b&J5-L9<f"&#"&547632#"&547632%%5$&%X3999>Q0*%#Jj9:;b&J5-L9<guE.&IL9E.&IO9TDE@+ H 0 @ P  ?O P`p/]/]/]/9/810+#"&'732654&#*73~j$JoJ#10$ZL7@1>VMG.M8`:.!`X9f ,5Eд H  @  /2/910+]#>7#73RC1u6D X Wu/0`.'3 @jVfxFVf@u H%U   @HR  _o  @*2H @!$H  /?@H ?3?339/+]32/]]qq3/++]/]q3+++]10]]+]]]]#7!733!>?##kl}   8岲o-q %'# !&&"N'&v  H H H @I H%&@ H&& /?O(/?&&"@P`??3/]9/]q32//]3/]39/+310+++]+]!!>32#".'732654&#"#rCV<8[A$(OvO@aG- '9'QSM>2M|q'"?Z8HuR,":M+1&b]QJ#4R@6{   Y i    @H @ H ?3?2/++]3/]9/10]]]#>7!7!RxUVwN*aaffXqK(%7E@X H# H H H ; A3!A!A!A?+O++++++G;p/?O 8&&>.??9/93/]]]3/]]99//9]910++++2#".54>75.54>2>54&#""32654.;`E%2G,7HqXB,;L14VD2gBd =[;=*D04G($2dO1 -5Eд H  @  ?2/910+]#>7#73C1u6D X Wu/0`.+ +@( H0 H   /2/910++>733#1C1u6D X %Wu/0`.X0@r@0@_@ H/+]]q/10]%73}ϭ 0@p@0@_@ H/+]]q/]107%3 \ @ f v x@_H `p/ 0 `  @ p   P @ H@$H@ 0@_@ H/+]]q3+/+]]]qqr3/]]9=/3310+]]#'##7%3\_q @Q@Pp o  @ P     _  0 O_@$H0@_@ H/+]]q+2/]^]]]qqqrr3/]9=/]3310]]]#'73373x̻]tG?@'00@_@ H/+]]q32/]q32/321073!73w####B@)% *! @ /23/3/]10]]]".#"#>3232>73*LE?) d&9S;,LD>) f%9S(1("/-_N2(1("/,_N3q| j @DH +K[k@Hp@ 0@_@ H/+]]q32/]]_]/+]+10_]?33?3q4@   0@_@ H/+]]q2/3/10".'33273JnJ%tgS@uA[v)EZ1;6r1[E)X $<V\_birx$$7h$9$:$  #  S Bh ,  *@  ( 2 8_ \ C |Copyright (c) 2007 Red Hat, Inc. All rights reserved. LIBERATION is a trademark of Red Hat, Inc.Copyright (c) 2007 Red Hat, Inc. All rights reserved. LIBERATION is a trademark of Red Hat, Inc.Liberation SansLiberation SansItalicItalicAscender - Liberation Sans ItalicAscender - Liberation Sans ItalicLiberation Sans ItalicLiberation Sans ItalicVersion 1.07.4Version 1.07.4LiberationSans-ItalicLiberationSans-ItalicLiberation is a trademark of Red Hat, Inc. registered in U.S. Patent and Trademark Office and certain other jurisdictions.Liberation is a trademark of Red Hat, Inc. registered in U.S. Patent and Trademark Office and certain other jurisdictions.Ascender CorporationAscender CorporationSteve MattesonSteve Mattesonhttp://www.ascendercorp.com/http://www.ascendercorp.com/http://www.ascendercorp.com/typedesigners.htmlhttp://www.ascendercorp.com/typedesigners.htmlLicensed under the Liberation Fonts license, see https://fedoraproject.org/wiki/Licensing/LiberationFontLicenseLicensed under the Liberation Fonts license, see https://fedoraproject.org/wiki/Licensing/LiberationFontLicensehttps://fedoraproject.org/wiki/Licensing/LiberationFontLicensehttps://fedoraproject.org/wiki/Licensing/LiberationFontLicense  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a bcdefghjikmlnoqprsutvwxzy{}|~     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~uni00A0uni00ADuni037Euni00B2uni00B3uni00B5uni2219uni00B9AmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflex Tcommaaccent tcommaaccentTcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongs Aringacute aringacuteAEacuteaeacute Oslashacute oslashacute Scommaaccent scommaaccentuni021Auni021Buni02C9tonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammaEpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsi IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdanuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni0400 afii10023 afii10051 afii10052 afii10053 afii10054 afii10055 afii10056 afii10057 afii10058 afii10059 afii10060 afii10061uni040D afii10062 afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022 afii10024 afii10025 afii10026 afii10027 afii10028 afii10029 afii10030 afii10031 afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038 afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045 afii10046 afii10047 afii10048 afii10049 afii10065 afii10066 afii10067 afii10068 afii10069 afii10070 afii10072 afii10073 afii10074 afii10075 afii10076 afii10077 afii10078 afii10079 afii10080 afii10081 afii10082 afii10083 afii10084 afii10085 afii10086 afii10087 afii10088 afii10089 afii10090 afii10091 afii10092 afii10093 afii10094 afii10095 afii10096 afii10097uni0450 afii10071 afii10099 afii10100 afii10101 afii10102 afii10103 afii10104 afii10105 afii10106 afii10107 afii10108 afii10109uni045D afii10110 afii10193 afii10147 afii10195 afii10050 afii10098WgravewgraveWacutewacute Wdieresis wdieresisYgraveygraveuni2010uni2011 afii00208 underscoredbl quotereversedminutesecond exclamdbluni203Euni2215uni207FlirapesetaEuro afii61248 afii61289 afii61352uni2126 estimated oneeighth threeeighths fiveeighths seveneighths arrowleftarrowup arrowright arrowdown arrowboth arrowupdn arrowupdnbseuni2206 orthogonal intersection equivalencehouse revlogicalnot integraltp integralbtSF100000SF110000SF010000SF030000SF020000SF040000SF080000SF090000SF060000SF070000SF050000SF430000SF240000SF510000SF520000SF390000SF220000SF210000SF250000SF500000SF490000SF380000SF280000SF270000SF260000SF360000SF370000SF420000SF190000SF200000SF230000SF470000SF480000SF410000SF450000SF460000SF400000SF540000SF530000SF440000upblockdnblockblocklfblockrtblockltshadeshadedkshade filledboxH22073H18543H18551 filledrecttriaguptriagrttriagdntriaglfcircleH18533 invbullet invcircle openbullet smileface invsmilefacesunfemalemalespadeclubheartdiamond musicalnotemusicalnotedbluni266CuniFB01uniFB02uniF005middot commaaccent foursuperior fivesuperior sevensuperior eightsuperior cyrillicbrevecaroncommaaccentcommaaccentrotategrave.ucacute.uc circumflex.uccaron.uc dieresis.uctilde.uchungarumlaut.ucbreve.uc  LNDFLTcyrl$grek.latn8 `nDFLTcyrl&grek>latnJMKD SRB kern|j*<Zl~V\nxn.Pj8~~"d fhz  , ~ :   & ` 2 X ^ , R h  $6@RXf $<V\_birx 7h9:NC`gRT/Z33f Px1ASC@!Q3>`: D99Ws sIVHh !d9[99sPssgsNs/sRshsisYs`99edesTVVhV9g9 Vs9aV9aV].V  V.V-A999 sjsWsWsVsW9sVsssVssV99s1""\ss:sqsss-sSdk3zdA)HLP9wPsS88IVVVVVVhVVVV9 9999a9a9a9a9a9GV-VsWsWsWsWsWsWBWsWsWsWsW9 999sVssVsVsVsVsVdA,sssssVsWVsWVsWhWhWhWhWVsVVsWVsWVsWVsWVsW9gsV9gsV9gsV9gsVss 999 9 999\99 Vs[s~sUssssss9asV9asV9asVaV8V]9V]9V]9V]9.9..9ssssss V-V-A1A1A1sVsWB9G,V]9.933PW9F2AVVhX=VA9a9VX 3Z9aVl.V-buV.W9V-VFsj`VtVFVsjsjVsVOVV)`0U3?S`sV`?SVW.UhV]99 u.7V@VUkVcC@9aVh.7vV.UUU.@i`sWx@sWZ1xx ksVUsW#V+zk-+7UsWsWs W99@ s xk9asVJ   V-[[sk~KKKssQ7UUXYV`ess:sE%lXP=]8ed3W1d8dAdd?dAd"g{mm))s+kUFQ@;@<fBw5+-|ZjZH-/ H>~~_s    " & 0 3 : < > D  !!!!"!&!.!^!!"""""""")"+"H"a"e###!%%% %%%%%$%,%4%<%l%%%%%%%%%%%%%%%&<&@&B&`&c&f&l ~r    & 0 2 9 < > D  !!!!"!&!.![!!"""""""")"+"H"`"d### %%% %%%%%$%,%4%<%P%%%%%%%%%%%%%%%&:&@&B&`&c&e&jG/vn}y!52*) D7(JI@=:74-&ܾܹܶܮܢOLK.,+( bcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?w<   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`apcdhvnj)tiB=qDEfu7:9@kzvbm<@A8l{  8 %wKRoNOPxSQL@EYXUTSRQPONMLKJIHGFEDCBA@?>=<;:9876510/.-,('&%$#"! ,E#F` &`&#HH-,E#F#a &a&#HH-,E#F` a F`&#HH-,E#F#a ` &a a&#HH-,E#F`@a f`&#HH-,E#F#a@` &a@a&#HH-, <<-, E# D# ZQX# D#Y QX# MD#Y &QX# D#Y!!-, EhD ` EFvhE`D-, C#Ce -, C#C -,(#p(>(#p(E: -, E%EadPQXED!!Y-,I#D-, EC`D-,CCe -, i@a ,b`+ d#da\XaY-,E+)#D)z-,Ee,#DE+#D-,KRXED!!Y-,KQXED!!Y-,%# `#-,%# a#-,%-,F#F`F# F`ab# # pE` PXaFY`h:-, E%FRKQ[X%F ha%%?#!8!Y-, E%FPX%F ha%%?#!8!Y-,CC -,!! d#d@b-,!QX d#d b@/+Y`-,!QX d#dUb/+Y`-, d#d@b`#!-,KSX%Id#Ei@ab aj#D#!# 9/Y-,KSX %Idi &%Id#ab aj#D&#D#D& 9# 9//Y-,E#E`#E`#E`#vhb -,H+-, ETX@D E@aD!!Y-,E0/E#Ea``iD-,KQX/#p#B!!Y-,KQX %EiSXD!!Y!!Y-,EC`c`iD-,/ED-,E# E`D-,E#E`D-,K#QX34 34YDD-,CX&EXdf`d `f X!@YaY#XeY)#D#)!!!!!Y-,CTXKS#KQZX8!!Y!!!!Y-,CX%Ed `f X!@Ya#XeY)#D%% XY%% F%#B<%%%% F%`#B< XY%%)) EeD%%)%% XY%%CH%%%%`CH!Y!!!!!!!-,% F%#B%%EH!!!!-,% %%CH!!!-,E# E P X#e#Y#h @PX!@Y#XeY`D-,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,!KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-, #KSKQZX#8!!Y-,%ISX @8!Y-,F#F`#Fa#  Fab@@pE`h:-, #Id#SX<!Y-,KRX}zY-,KKTB-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY@cTX@C`BYYYYY-,Eh#KQX# E d@PX|Yh`YD-,%%#>#> #eB #B#?#? #eB#B-,zE#- @@ O P(F(F*F+_O_ F@FF@36FF=U=UU@F<P&(Pp@2F?Oop?а/?Э/?ЪO/o$PoF0@pЏO_oF1ts?sP&on<nF5U3U3U`P&_P&\F1[ZHZF12UU2Uo?QQ@Q58F@Q%(F@TPIF HF5GF5FFFF2UU2UU?_/Oo?oTS++KRKP[%S@QZUZ[XYBK2SX`YKdSX@YKSXBYtstu+++++stu+++t++ssu+++++++++++++++++s+tstusts++tus+stsststtsts^sstsss+ss+++s+tu++++++t++^s++^st++++ss^ssssss^}y:wW~j`jy"3kkk{Rni`[^^eoz iqHjgaAD,,,,`T2rP  D P ~  J d@(`,X@^(&* @ !"""#$6$%6%& &'X'(f))D*+d+,p--b..r.042V35|667~78p9::;T;<> >?v@8@@AABB^BCnCDDZDzDE EEF FJFlFGG(G@GXGrGGHH*HBHZHtHHHHI@IXIpIIIIJ4JKKK4KNKfKLLLLLMMNN*NBNZNrNNNNNOOOOOPP.PnQ Q"Q:QRQlQRR"R:RRRjRRRRRRS S"S6SNSfS~SST:TRTjTTTTTTUUU6UNUfU~UUUUUVV~WWW0WHW^WtWWWWXXXXYYYZlZZZZZ[[[.[[[\\\(\@\X\d]]]]]]^^(^______``*`B`Z`r```````aa`aabbb2bJbbb|bbbbccc0cHc`czcccccddfdeeff.fFf^fjfvffffg0gxgghDiijj^jkkllNlpo^oppppqrqzqqr,r4r,^(BZrp8@H`h4|^؏Nԏ܏"*2:‘RZT┌&Еؖ| 8Vؙ~hpxV nҠ<ΡLȡ⢂,4ģ̤ĥܦ2~6Nf~ʧ<^ Pd@753.'#4.'>" .NqNMtG@s_|dfBzu;rgX@$8rw|/Qj:AlM*\(F_7Hd= %5W@'2SbT|S,-PsK!^i C)8OmHMd>?P3 ,8Q6J2!!4DI+?S@ vy*@ H% H  H H H @ H H H@T'6 ,, ,,@,,, ,P,`,p,,,,@J''''@ H'O"E1;????/+qr/]qr99//883310++++++++]]#".54>32#3%2#".54>4.#"32>4.#"32>3WtBBsU10VuDBsU2;@rV12UtBCtU11Vv+?(*@,+?)'?,*>(+A,+@*&>,}i--h~g))g )f~k..jf)%cN !Nb_O""O|bN !Na_O""OH69IY@I${**bRrRRfGN[NI+Y+i+600%(,#|##,<\  *  *@8 H *0)&E6BI!I:-,JJM:,P,:,,: 666@= H6PH? O  MbErE6EFEJ0)M,&E ?Q?UQ3P??/]]q9]]]]/]/+]q9///]]99]910]+]]]]]]]]]]]]]]"&'#".54>7.54>32>732674.#">.'32>`:L]m@un53[~K (U]I{Z2BpS>U=Q#kF5j1 ;K0E*`d%AtV2JYBq{#HmI,OD7 B=0&73#.5*Za^X++X^aZ*iiii X+H@  WWHH@  ??/]]8210++]]]]#>54.'3+*Za^X++X^aZ*iiii!k@KM]mK[kBRCS  _ 0/ ?     ?]]]/]]3]]3qr910]]]]% '7%73-ww- ZgIHHIk)dG G@.    8 7?3]]322]]/]3210]]]]#!5!3!X`TT N H @ H @ P   @&)H @ H  //++]qr3+10+%#>5#5 {-1Xۨ5WKB AA[Op!@@p//]q//]105![Р~.@ @P@ H//+]qr1035393@y H) ??/8]810]+]3i P#'p@PY%i%F!V!f!VfYivy   yvn@)n?  s#s??/]]10^]]]]]]]]]]]]#".54>324.#"32>#MfgKKjeL(NqHLtO()OrIGrO+JJCCը߅78ߧއ;; ^@  n/@HDTdHt?2?33+/3]+/^]3/]/]2/]1035!5%3!gMW<g (@Muuze%V%)!Y!i!i##u'n@@&*H@*nt&&& @&H&\l|  s&t?9?3]]]9/+]33]/]q+210]]]]]]]]]]]35>54.#"'>32!g3O$D_:6_J/ Btkiq<3Upz|mVu||V<[>54&#"'>32?yst: +JlJEgy3fb3n[;w P{Yvl3"HoNU~R)ai7AkI8\B$N_57^Iqzo][-;eM>lV> ;Xp/7 u@Pvv@ H[ k {  op0Ps ??39/32/^]qr3322]/+3]q10]]]]]#!533!qh??Lw$% R,@V f UeZjU+e+U*e*&@YH $$$$D!# H# n@/.$%n! n ?  s(($t!ss g   ?3]]]?9//]q3/322]qr9+10_q_qr]]+]]]]]#".'732>54.#"#!!>32@~{orC (EeHFrQ,*NqH-LA5/!0civ@jF4[zF(K;#+TzOAmO,%A%5@uh$8@0zYiZjzTdT#d#t#T"d"t"5E22@- H%5Euon@/%%%%:/n  @&H *u 4s4s??3]9/2/+]2]q2/10]]]+]]]]]]]]]#".54>32.#">324.#"32>;so{z=EvH~gN{QJxT-1s`o=$HjF1dQ3(KjBAgH&jG^`CnP[QFҌ[_>upIvS-AjLNd:-Uzi D@-z i nP   _ @` t ??2/]q3/]q9/10]] #47!5! jGPe E9.Y)=Q@u((u!!uuuzzz zzzuUEeEUKeKZAjA4n*n$O n@>>>/>>>>SHn  $Cu99M/uMu??9/99/q]qr99//q9910]]]]]]]]]]]]]]]#".54>75.54>324.#"32>4.#"32>9u||w9/Oe6;]?!9pmso6!?]==hL,>dIGb?:fPUg7#DsVOoE FrQRpDZn>>mYMxW5 >Wj;Jc9:cJ:jW=  5WxL5X?##?X5*XH..HX3_I--Ja4AkM**Mm`$8@i'  t##t zz{Z(j(Yi H6%n/?O 0@: o /n @ &H4s_o*s"s  ?3]?9/]2/+]3/^]qr310]+]]]]]]]]]]]]#".'732>7#".54>324.#"32>GvQfHw[IyU0I]l7`l;?xo%IkFAhH'#FhE2gS5ݼ^!FpOEЌ/J3E|km{BNf;.UzKGzY3"Fk~:6@$@P@ H?//+]qr32105353k: Y@ H @ H @ P   @&)H @ H  /?/++]qr3+3310+%#>5#553 {-1XϜ5WKB AAeHj@H(H(H@3H Pp ?0p?o/]33]]/]/]310]+]+++5 eZ;dXGF@1@` p /_oP/]]]/]]3/]q3105!5!dXeHj@H(H(H@3H Pp 0p??o/]]]33/]3/]10]+]+++75 5eZ㚙on^T'%)@Du$$u##ZjZZzZ z :J H )))&&FF @@&,H!_  '&L_!?3]/]9/+]/9/q3/10]]]]]]]#>54.#"'>3253'%>ORO?''>NPM<%*MmC Cyzr{@GlUC<:DS7EhP?99FX;;\? z TpA8gn]re@zuuy//t&&f&cFVEfE{IJ8Z8j8;fR?6?F?R@&@6@F@%5E%5E9   H\f\\P:`:::5:E:9]9 99 }44 4K4 *h%) p"HH 1PP  R@_1o1111t=RR RR,kc$/?O 0@M6YGGBM/3]?99//]]33//]]q99//]r9]22210]]]]]]]]]]+]]]]]]]]]]]]]]]]]]]]]]#".5467##".54>3237332>54.#"32>7#"$&54>$324.#"32>7>nCva8O2E]uGT}Q(Gr<`I6't+&>kO-S㸋^0Vix,72oi?v$\"?Y8VW-_cEx`F `/@&+ -YE+:gSxݩf0C(Tx10.Qpޢ\@ts`!09p?4!sܴFv2TfG$PR@fvfviyiyse|jz9Yiu6VfZHUG%5*:  *:  0 %5P0`/_v  ?2?3]9/32]]q/]3]qq3/]q3]qq9=/33]qq]qq999910]]]]]]]]]]]]]]]]!!#3 .'!~?6d(RC-.DR(1!.@l  -u--z$$$  % &k{ Z@ H)Z@"/"""0)Z@(_)_)_??9/q9/^]2]q9/+9]]]10]]]]]]]]#!!24&#!!2>4.#!!2>ThuC!CeCUX.ATtH Q1\PsI{Y2k_,'TZ;hU= :ZwBrbB!=VC^<7#"$&546$32.x}@EuRmV!&pvV[.GDfPӘT+NkANOd9m  e<2[F*e d@F{+;{+;{{yZ@/  @Z@__??/^]]q10]]]]]]]]]#!!24.#!!2>ejңoR{:oNϰ]Q˂=H M @% H  Z@ _ _ _??9/q]/^]23/+99//103!!!!!-2< i H@: H Z@0 _?o@H_??9/+^]q]/^]23/+9/+10!!#!gg-@+j+B%R%UVVUz Y i jjI%Y%5{ @  $\@!!/ /`//[ !_"""_)_0 @   ?3/]q?9/]/]]]]]9/2/]10]]]]]]]]]]]]]]46$32.#"32>75!5!#"$&gYĐd#IhX|=BSqV[U/kYǥ e.V{M64U? @gfdk{YV  $  j    Z@ ?3?39/^]223/]839/]93q310]]]]]]]]]]]]]!#33 R͸>/8@(0 @`Z@_??/^]/]q1033!,,@ ) H H @H(   H* !%H* H* H!%HH@ H $$,\*$4..t.;... .ϫ.4. .......t...`.T.@.4........t..P.D.0..$.......p.4.D.d. ....t....`.4.T...gt.....P..$.D..4.D.d..........4.T.t.7@S..$.D.t... ....d..K..4......@.P.p.?.. .\@@%H*K$ $?3]?33+3/^]2]]]_]]]qqqqqrrrr^]]]qrrr^]]]]]]]qqqqqqqqqrrrrrrrr^]]]]]]]]]]]qqqqq^]]]qqq^]]]q29=/3310+++++++]+++]]!46767#.'&'#3>73V  wp3j,3032+a'@(-/5987/g'T/?B; Ĺ @' +H6 F  +H)9I !H H ) !H@5H&\DT0@p@@@H \@@+H  @+H ?33+?33+/^]2+]q/]_]q310]_]++]]++]+]+!#3&'.53:10)[#XH11*c-a'l@J[%% %R!!!T[fh [@) ))[     _#_??/]]]]q10]]]]]]]]]]]]#"$&546$324.#"32>_X\\A{~?A{{;ǥhm  efДPPәUVu@S *  % Z@@@Z@_/O_@ H_ ??9/+^]q/]2]q10]]]]]#!#!24&#!!26=yybQ}|>\uD=oaԒa}$8@ql|hhe"WU1Z'Z-l|Z(Z(,U,6Z662U22 [@%%:/[  ::*_ 4_ _/?3?]/]]]q992/10]]]]]]]]]]]]]]]]3267#".'.546$324.#"32>Mӆ5DS3@&[1VaFP\\A{~?A{{;Ǖu@Z9 3_Ws efДPPәUVh@> u|JZjrc@3%p@WIpTdB#3Z 0@`@ Z@_/_o_?2?9/]2/^]2]/]39/9310]_]]]+_]]]]_]]_]]]]]]]]!!#!24.#!!2>Ix~B'T[,TxL;RxM%I7h^ClN@^?)Hb]?@n>D>;61(! !!+!!Y:`6iv*Z))Z@A Z@H4Z@Hx;4@/Hw444:44/_o*Y*K***$_` R D  ?3]]]?3]]]]99]]+]]+/^]3/+]2/10]]]]]]]]]]]]]]]]]# $'732>54.'.54>32.#"Eۖ(:cfUf9?r`;wm`F(QrM5V{SbQ#?lPAvgL+Ym=%7ZA$<_BEV8& +:QkFd\*)RyP!3P6#53tН\9fSRn?]>Ɋk^+,`odψB M@JZjEUe:Zjz5Ueut {*: %5 *:4T 0`%5 P0`/y  ?3]?3]]q/]3]qq/]q_qq3]q_q9=/33]qq]qq10]]]]]]]]]]]!#367>73    -Y#)'%)#X0 .W@Iy,u{It F zIYiuGWg-[-k-{-dtU H @ HuDTd6zK[k H*:  % 5    *: %5*: %5'{'t''-*-:-----......{.o.[.O.O....@H .0.. .8x @@&Hw00060F0V00'0070g0w000000&000000x0000i0(080X000000000X0h0I0700000000(0H000X0h0000I0(0 0000000000|H90*00 000000000x0i0:0J0Z0)00 0h0000@0000|0k0\0K0<0+00 0000000000m0_0M0/0?00000000000m0}0[0M0;0-00 0800000000{0m0K0[090+00 000000000}0k0]0K0=0+00_0000000DT-'@{ H?33+]3?3]^]]_qq_qqqqqqqqqqqqqrrrrrrrrrrrrrrr^]]]]]]]]]]]]]]]qqqqqqqq_qqqqqqqrrrrrrrrrrrrrrrr^]]]]]]]]]]]]qqqq+qqqqrrrrr^]]]]qqqqqqqqqrrrrrr^]]]qqqq/+^]3_]]q/^]]+]_qqqqqqqqqq3]q_q9=///]]33]qq]qq33]qq]qq33]qq]qq10+]]]]]]]++]]]]]]]]]]]]]]]!#.'&'#367>732>73   a &h/79:70f&?|1:4EC><7m7;>CFEhy4.+ w@\I;& K[)9DT&6 )Q E 3   ]L+; RC&6     ` T 0 $       p d @ 4        t P D   $ T  4 d 4 d   K {    4 D jT d @ ; $       { d 0 $       p d @ 4   9      D t $ T T d @  0        @H     H @) r4DT ?2?39]]/]]q83/+]]]]+]8399//923]_]]qrrrrrr^]]]]]]]]]]]qqqqqqqqqqrrrr^]]qrr^]qrrrrrrrrrr^]]]]]]]]]]]qqqqqqqqqq10^]]_]]]]]]]]]]]]]]]]]]]! # 3 3 XYP} h)b-)S@  H@ Hi6FZ&Vv9I V  9  Y       Y y 6 ) 9        t V f B $ 4         v b T 6 F $        p d @  $ 4  i  @  t P ` D        T d t 0 @ $      $ D T t 9  p  $ 4 T d       4 T    p 0 `  / ;K{??39]3]]_]]]]qqqqqrrrr^]]]qqqqqqqqrrrrrrrrr^]]]]]]]]]_]qqqqqqqqqqqqqrrrrrrrrrrrr^]]qqqrrr^]]qqq/^]]]q9^]]2+M210+_^]]+]]#3 3 HH9aA z@#dtm}[)9IrTd@ H @ H@ H @ H__?2?22+/+]33/+]3310+]]]]]])5!5!!ZVW)1@0? ??/]]q]q210!#3Wu9G@(x H IF * ??/]8]810]]]+]3i W1@?@P??/]q]q21053#5!Ws HH@/HvHy6Ffv&FVf0AH@9H9Iiy )Yi @H9&6FH"8d@P$4tK4 `p@P"/2/?3]]^]_]]]]]]qqqqqqrrrrrr^]_]+]]+]+qqqq+rrrrrrr^]]]]]]]]]qqqqqqqqqrrrrrrrrr^]]]]]qqqrr^]]]]qqqqr/^]]qqq+q+qr^]+^]qr33++]qr10_]+]+++ #3΢pry i#@``///]q105!ij/@u@@/?/]/]]10] 53WsN2A@2y==y ( H + H%%F@. o8888CG@H?G0CCCC@ #H!Q(9Q 3_/P.3P?2?3/]q9/?+]q/]3/+]222/10]+]+]]"&54>?54.#"'>323267#".'#'2>=QW:W;4T>& 8gn*;"C&3I.E\u#VU*BwZ5_kN;C^:'C3@kN+.PQp7Q64T; ?bt5Y2ZIX`3@ i1y1y#@ HIYIY@? HG@  5*F05?5p555555%P /P?2???2]]qqrr/^]22]10+]]]]+]]!"&'##>533>324.#"32>r{32z>`EGmI&&IlFB`@"Yc80" +32.#"@iM` hl C|^9Vxm}U32WvDZj3gV3{@WU"e"Z2j29I6 F  yvF@*5 Gp555555 /P%P?2?2??]]qq/]]2210]]]]]]%#"!234.453#.532>54.#"52z{2>`EGmI&&JkFB`@hZ6Zb +/* 'H<+ %05ppg0.gxsb+.fWN%k@.Z#j#ZjUeI G@'%G0''''@#HP%% PP??9/9/+q/]2]q2/10]]]3267#"4>32'.#"#IrPu=flLdo/-cT:Ug9^H--[I/ӄ;XzJb<@   3 C  @j HF/O_?;_@VdH@',H 0`@/P P??32?]]]q++qr^]q/^]322/^]310+^]##5354>32.#"3i;fQ E-(3 Iz;eK+)<'aVWK1E@Hz11ve>U e Z:j:&6&)! yv /F@2"0GF@QH=##".54>3234>734.#"32>$]f@{d=dF&;UpHg]++aos.,1Pg6EcA@bD6gR2W&Gb<KQ"KxV)K:#E͇БMia>7( +32#4.#"#3=FTd>hM0XF@gI(7M28eT/EhE#.TxK~!B8'=s@ F0@*H     p      @"%HO  S???]q+qqrrrrrrrr9/+^]3210533 :W=3@ H( HF  @?@H@P_oO??O_ o?o@TORH/?O=@58Hp@#&HOpP S???]]]qq+qrr+^]]]]+qrrr^]]qqqqr^]]]qrrr+^]]]9/^]33/210++53#"&'532>536]H"A $ &1  Z>jN-+C. @T|zvV f Yiyt D  * t  T t t 0  @i H F0 ?  ? _   ? _  9 @SVH`   `   0 @  ????9^]qqr+^]qr/^]2/+_]]q833/]83_r9310]]]]]]]]!#33 0Ima />o@4F0p@"%HOp??]]]q+qqrrrrrr/^]qr10334#N;¹* H @ H";F .F///)/Y////////v/Y///F// F   6  =======i=y=[=I=+=;========i=[=)=9== ===i=====[=M=)=9=========}=+=K=[=k=========+=K=[=k== ===@======[=k=O=;=$= ========d=K=?=+====={====o=;== =j======[=O========d===+=K=======k=4===9====t==+=K=[== ======K=[={===`====O=0=/=@="5P(P/ ?22??2?2^]]]]]_]]qqqrrrrrr^]]]]]]]qqqqqqqrrrrrrr^]]]]]]]qqqqqqqqqqqrrrrrrrrrrrr^]]]]]]]qqq_qqqqqqqrrrrrr^]]]]]]]]]]]]qqqqqqqqq/^]q2/^]]]]]qqqq9/910++!4.#"#4.'33>323>32#4.#"/L79\A#8Ka@{3294U?@gI(>RjFZT'OjA-U}QS"KC0,9;/L5,\d/VN"t@;y tvy      G@$0$$@#H$GP P??/]]+q]10^]]]]]]]]]#".5!24.#"32>q{A~u8'KlDEoN),Mi>EpN*Dӏ0FҌ~b')c{~b('bWM&:@i8y8i*y*$$$@ HIYIY@? HG@''<1F0<?<p<<<<<<,P"6P?2???2]]qqrr/^]22]10+]]]+]]]#"&'##4.'33>324.#"32>(]pt.@Re?p](;bJ73#46767#4.#"32>CgQ=?Rg)KkBEb==aFv`)3inlh3%aN>@(0! F0(H ???3+/^]q23/]1034.'33>32.#"+:P9( 0>W7>"GB:;>9>[;8cQ9K7@Ut..ok%6*4 $I##H@ 09 I @H ,HO_ `9999@*'*H?99,)P $$$$$ P` p   ?3/]q?3/]q99]]+]q/]q3/+]q2/10]]]]]]]]#".'732>54.'.54632.#";pi^rM:aF'.RuFAg@ʳ 0DU.zt+MlA+ZUK8!+LwQ+@iLWQ'A01?**EfM~*9#JK,9' #/BX*,{@W(iy( i y  Hl| Ho F  @P ?  P??]32]/^]q332/]10+]+]]q]q%#"5#53733#3267*)U8}5x3?1 ҃UN?:%y@E!*!:!F@/    'F$$$$0$$$''''''p''@ HP ?2??2+]]qr/^]q]qr310]]32>53#.5##".5:4U?@gI(>RjFZT':ROjA-U}Qs"KC0,9;/L5,\e:[@79I6F:Jiy5Egw H@> H +{DTDT@ [*  K[`DT DTDT[D K[`DT `DTgDT[D K@c[7K[? `DT `P/ ?3?3^]]]_]]]]qqqqqqqqrrrr^]]]qqqqqqqqr^]]]]]]qqqqqqr^]]]]]]]]qqqrrrr^]]]]]]]]qr/^]83/^]]]]qrr839=/3310++]_]q]]q]q]q!#3>73ew:@?D??B?:*@$:)J)z)))5Eu6F6@ H9I9 H6F@ H6 F  @3 H9I H9I H #(#X###)**@I/2HI*4*&******y*6*F*f*******f*v*9*&****@ Yiy ,,,,,y,f,T,6,F,,,,,,,,t,f,9,,$,,,,,,,i,6,F, ,,,,V,f,,9,+,,,,,,,,,,r,d,V,4,D,",,,,,,,,,v,T,d,B,4,,&,,,,,,,,,f,v,T,6,F,$,,,,@,,,,f,,,D,T,6,,,i,,,,,,t,,6,F,f,$,,,,,,,,,i,V,D,,6,,,,,,,r,`,,$,T,8,,,,,t,K,0,,$,,,,,{,4,D,d,,,,,d,,,,?,,,@(HB4")#( H-#( H-#?3]+]+?3]]]+^]_]]]]]qqqqqqqrrrrrr^]]_]]]]]]qqqqqqqqrrrrrrrr^]]]]]]]]]]qqqqqqqqqqqqrrrrrrrrrrr^]]]]]]]]]]]]]]qqqqqqqrrrrr^]]]]]]]]]]]qqqqqqqq/^]83/^]]]]]]]]qqqqqqqrrr+839=///qr33333310+_q+q+q+q+]q+]q]q]qq!#.'&'#367>7367>73ѭ Ѳ P&,/-,&RJ:!C %'&$@B"#&$C: @Hyvy7 w  zx  @;   ) 9        & F f  H @  9  @tHv d V D 6 $        v d V D 6 $          F V  @H V f v D & 6  & 6 f v  v D T d 6 $         v d   & F V g F V  d V D 6 $      & 6 F 7f  @6=BH9 "       t ` T @ 4   @"H   P p  ?3?393^]_]+qqqqqqqqqqr_rr+r^]]]qqqqqqqqr^]]]]]]]]]qqqqqqqqr^]]]]]+]qrrrrrr^]]]]]]]]]]]]]qqqqqqqq+/^]r83/+^]qqqqrr8399//8892310]]_]]]]]]]]]]]]! # 3 3 ! D,[W:@;zi HrVf@$ HYF@$!!&!6!F!f!v!!!!!!! !!!@H!!!!!&!6!F!f!v!!&!6!F!f!v!!!!!!! !!&!F!V!f!!!!!! !!!!!!!!t!`!B!R!4! !!!!!!!!!!!d!t!B!R!$!4!!!!!!!!!!!d!t!V!B!$!4!!!g!!!!!!!!d!t!V!B!$!4!!!!!!@!!!!!`!p!D!T! !0!!!!!!!!!!!`!p!D!T! !0!!!7!!!!!!`!D!T! !!!!!!!!!`!! !0!P!P!!!!/!!!  P??3333^]]]q_qqqqqrrrrrrrr^]]]]]]]]qqqqqq_qqqrrrrrrrrrrrr^]]]]]]]]]]qqqqqqqqrrrrrrrrrrrr^]qrrrr+r^]q/83/^]]]]]]8399=//3310+_]]]]]+]]]]]]]]]!#"&'5326?3>73\&ObxN": 0O3S  Ծbo;v+5ZZH APRj1:  @NYitFVf({$ ;[ @'7H@H @(\dH     t ` T @ 4 D d  @ IRH   ?D d  $ D d  3>H @'H  P p  @ HPP?2?2+^]_]++qr^]]]+]qqqqqqqqq+/++^]33/^]q33_q10]]]]]]35!5!!18j&ڋ"W-`@A H H-!( ?@! / o  O / O o  +??9/]qr9/]]q3322210++".54.'5>546;#";AcB"7P33P7?[M4G)+G3M[?W)LlDi?X88X>jkl2T@,  ,AT3jmN]@ H@ HH@Hp@H@+H0@P$$HH@Hp@ H@H0$@z}H$n@ ruHTfiH@ [^HP`@ORH@ DGH>@8=H`p@H@H@p//?^]]++qrrrr+^]+_]]+q+r+rr+^]]+qqq+q+qr+++^]]]]qq+qqqr+r_rr++^]++]]9/^]103N~"W-b( H@7 H, & 0 /oO/Oo-,??9/]qr9/]q3322210++2654>75.54&+532+5^[O3G+*F4O[<7Q44Q7"BcAmje3TA,  ,@T2dlk>X88X?DlL)\)P' @Z)90 H 0 H г H@ H p  @ &323267LEIX&A<82Q(PMK%233E{4 ;=D),-  &.  2*:@[iFV9@HIYi6  y F  9   i y &    I Y y    t V f D  & 6  @H   @H$     @@Hf   @Hb r @ P " 2   @u|H  @@ nsH  l @@>ekH   v R b $ 4 D      d t  @GKH   @=;@H  7  T d t     T d  @H@  /]?^]_]+]qqrrrrr^]]+]]+qq_qqrrrrrrr+^]+]+qqqq+qr+r^]]+]]+qqqqqqrrrr^]]]]]qqq/^]]]]+qqqq3/103##5  %i?/3Ͱ2}/%3&/ְͰܱ22ͱ22 ܰ"2 Ͱ!2 ' !"$990167#5&'&576753.'$ & ?S|e[yf|Y ^9>NN" Zx7?ZW :P2@SF6F%5$' o',n#'n_  O_o2o  0Pp0@@H& Q#?o@%*H@ H,s,t2v222?3]2?39/++^]q32/+]qr/]9/q329/3910]]]#!5>=#534>32.#"!!!2>7P 9YsCFYV0cgF{cG '5A$rph,?(&C5%7PuM%.y\f7:V994$s}~8j\G*C0qs#7@wJZj,<JZj,<E U e # 3 EUe#3J"Z"j"-"="EUe#3EUe#3JZj-=.$/9)3 /]/]]10]]]]]]]]]]]]]]]]467'7>327'#"&''7.732>54.#")%dhc6IG~6ah`%+,&dfe6~GH4iff%),Mf:9fM,,Mf9:fM,G6dge'+*&ai`6GG5die%)*&iif6I:fL,,Lf::fL--Lfv@IFJjzEeuO @\  @  Q Q/  @)-H   ??39/^]q33]+q222/^]33229]2]210]]]]]]]]!!!!#!5!7!5!3 3A}@[sw}/}yN]@    H @ H   H @H  p  @H     @+H0 @ P   $      $  H H @Hp   @ H  @H0  $   @z}H   $ n @ ruH T  fiH  @ [^HP `  @ORH   @ DGH  > @8=H ` p     @!H @H@ p   / ?/99//^]]++qrrrr+^]+_]]+q+r+rr+^]]+qqq+q+qr+++^]]]]qq+qqqr+r_rr++^]++]]9/^]321033  sTMaO@u//zdU+UkU-QmQ-9m9}99U`u``S>s>>SZsZZyPPoPZP-Pt6F*I%*%-+$$ LLIK"I7KK7K7NFAIINN N@NNN!HN@HN-I,,XIA AAA@D"&HA7777ySjSSSwhS]72Q-' Q?2/39]]]]]]qq]]]]]]]/+]3//++]q29999//r10]]]]]]]]]]]]]]]]]]]]]]]2.#"#".'732>54.'.54>7.5464.'>LOlI.DT.}2Sm;DpF7R61O7:pk]uO 6Nd9:fL-9_{AAhA ;T5*K9!5Xq=:Y<1Rl<6]D'?bE-:" OG-@. .IjL-WI7 3@Q3IuS,@hM7C% (A/6H3$.IiJ-SG5.@P00E3#!4E'.B0"/F-Z{H@ H@H@H;- 9,0H+{o[O;/?@H@H/++]_qqqqqqqqqqrr+_rrrrrrr^]]]32/++++1053!53ӥø1[@oQ II*I EE*EL<9/I/6(F(6$F$9IZZ5QEQ:=446.F.6)F)9#I#9I2Q=_GoGG=G=0@ @@DH&o<7BWLRLBBBBBBBBLLLpLLLLBLBL!+??99//]q]q33/q/+]q99//]310]]]]]]]]]]]]q]]q#".54>324.#"32>%32>7#".54>32.#"4^dc^44^dq\-RtWccWtR-!CdC1K8's:RoKeb00abKpP7r &7H/Ec@d^44^dd^4rVsR-c䂃b-QsYHxV0-7#+Q?&@r^ao;$;K'!2&.Sv2A@-( H.( H( H H@ H3'' / 88@H8d8t88P88@ H8?@&HCC@3 H9 99 H   #33** P?3/]3/]29/]]3+]]]+]/+3//+_]]]+q332/]10+++++".54>?54.#"'>323267#".'#'2>=5V>!3Vq>'8#CQ +KlGDmM*#  *)9&&30P9 )J7 :8R4E\8<.<#;L /R>#<_B:2h'3MFo"7G%A 4+8AS q@Tj z j z jzjz_  @ `   _ ` /o/]32/]qq/]]q10]]]]%53 !53 vRTPQm?sm?sdG3@ P@ H?/+]]]/]]10%!5!1?H==$=:@^ H9/I/6(F(6$F$9I= H6.F.6)F)9#I#9IEE3>>E?E56@;;2??6?6?0@ @@<H&o226>4E DDD7666777p76E77E6!+??9///]q]]23//q/+]q99//833/293]10]]]]+]]]]+]#".54>324.#"32>##!24&+3264^dc^44^dq\-RtWccWtR-Rǡ3hUݟ_QPTd^44^dd^4rVsR-c䂃b-QsP?~of{PEHU| ///10!5!|s^z\'B H @! H H H   #?/]10++++#".54>324.#"32>-Ni;;hN..Nh;;iN-m0A&%A00A%&A0y;hM--Mh;54&#"'>32!+XdgR4GJDX.LkDAgG%6Sf_N3g=`QHIP1>KID3W@%!dVKIJ*q'5@ffV f Y"i"*@P H H0--- ` `"### @%H1 i"H"X""( G  ?3]?3]]9/9/+]3/q/]q2/9/910++]]]]#".'732654.+532>54&#"'>32WtI$ XUMS%8C=9=2 JGDT2Of;EhF#VZ4K0t'@Q+ CEHL-6 m 5(3!tpqP`52_W3#-XYT]2f~&@@&H/+]/^]1053wN~@ H HFV H@> H 0/o@ H P`p/]/9/+/]^]qr9/3]210++]++#"&'532>54&#*73AhK-1%)8#=HAk'^^)C0b %(dQP3} K@, 0`   0o ?2?33/3/]3/]/]2/]10]535733P{3klxk#  H @+ H  H  H$4d@& H@!H%p%%/% P ?3/]]]]/+/+]_]]q10++++#"&54>324.#"32>Ӱ+WX]T'2H00K33F+1K4ɾ[e55d\SnABnRTnBBnS @deue u eueu   p  ? o    p?  /o/]32/]]]q/]]]qqr10]]]]%#5 53#5 53ΨRRݪROot?ot?8N&y' @ p `   ?55]]]]58u&y' r/@o/ p `   3@ H?5+]]]]5]]5IN'  's.!@p`S@ H?55+]]]5V:%)@pyz##z$$Td:Jz H '''((F_@733267#".#5%>ORO?''>NPM<%*MmC Cyzr{@q2GlUC<:DS7EhP?99FX;;\? z TpA8gdR&$N&%+5+5R&$@ &L%+5+5R&$`@ &%+5+5R&$^@ &,%+5+5R&$l@ &%+55+55R&$P@ 8%+55?55@VtrVfsUem\)    Z_ _ _ _???29/9//3323/399/]99//q10]]]]]]]]]!!#!!!!!#! E !d<#2:3&3hNy&&x :0(%+5&(? &  %+5+5&(@  &(  %+5+5&(w & %+5+5&(y & %+55+55 &,&%+5+56&,F@ &E%+5+5h&,@ & %+5+54&,@ &%+55+55e!p@Eu [ [Z[  Z@#Z___??9/q32/33/2q9/10]]]]]]]3!2#!#%4.#!!!!2>ңojR{j:oN!`Q]H˂=9H &1@ & +%+5+5a&2(&ش), %+5+5a&2%@ (&%(+ %+5+5a&2@ )&.( %+5+5a&2(&1? %+5+5a&2(&,* %+55+55s H@H H HH@HHH@HH H@H /q/]]q10++++++++++++ 7   bh^^i`fJb`g_iiaG'3@Y,%T!e{lZi   tcU2[2r++T+&T&U%JZzd k ,([@5 5([ +#/_#_ ?3?399/]]]]q9910]]]]]]]]]]]]]]]]]]]]]]]#"&'#7&546$32734&'32>%.#"_QxXV\}RyUW11;;]{;23;\~?ǥh:6a  e86^pH,/V}qKU*.P)&8&%+5+5)&8@ &%%+5+5)&8@ & %+5+5)&8&%+55+55-)&<@  &A %+5+5_@?t{Z0 @ Z@__    ??99///^]22/]]q10]]]#!#3!24&#!!2>;y{b}|>RyO&XxG54.#"#4>32)W^P7CJN%\b6Q_Q6!1:1!!?Z9DkI'?xnfi5!3:3!7R_R7'BsU1 VO8M>9IbI3I:04?+%>-#MzXvp6.Pm>=ZE5/0&;9@UrWs&DCB&CF$%+5+5Ws&DtT@ B& BE$%+5+5Ws&DKC&HB$%+5+5Ws&DRB&KY$%+5+5Ws{&DiB&ʴFD$%+55+55Wss&DPG&ȴLB$%+55+55BN>OX@`6z${:ueDuDD|VjV~QjQeu)/),( H 5XF!OOO_OOOOP I =G@P/P?PPPZ,G-@H--GG@ H>PPP5@+I5SP8?Q!!J2,+,,,'P2JPP   ?3/]]?2?3/]]9/?2+9//+3/+]q2/9/]329910]+]]]]]]]]]]]]3267# #"&54>?54.#"'>32>32%32>5%.#""FmNu=flfJf]&C[ku<9X=6X@' :ip1?jo/P(QLB1d]ZS(-`Q6Rb7^H--[I/3]G*GlN3 ;C^:'C3@kN+FEJAXz3I3Wa?bt5īJbWNN&Fx (0( %+5W&HC&&'*%+5+5W&Htp@ &&T&)%+5+5W&HK@ '&,&%+5+5W{&Hi@ &&*(%+55+55 &C&´%+5+5/&t?@ &?%+5+5i&K@ & %+5+55{&i@ &%+55+55V''9@^d3d8k*k0 %5E22#G(@ (@H((((;2G-P P  @ HR$4D  5P??99//]]]+]33/9/]]q9/9+99/]910]]]]]]]".54>32.'57.'3%4.#"32>6}v84tGu++sL8xB-S*2QX/9x!GqPQsI!QvK$IokK VEr^-N#3p\JyzĊJ^Z,-\[,Z&QR@ &&/=$%+5+5V&RC#&$'%+5+5V&Rtg@ #&I#&%+5+5V&RK@ $&)#%+5+5V&RR@ #& ,:%+5+5V{&Ri@ #&'%%+55+55A$u K@0 _ ?_o @O?]]/]/]]]9/3210535!53ި,\"-@]u!!uz&&z,,BMDK &#G@/#G   @  ////// //@ H%)PP?3?399+]]]q/^]q]q9910]]]]]]]]]#"&'#7.5!2734&'32>%.#"XaEpN*%hBEoN)02tDt0.-iEwDm,1''b~U1-$)c&XC&&'*$%+5+5&XtW@ &&5&)$%+5+5&XK'&,&$%+5+5{&Xi&&*($%+55+55W&\t@  &6 #%+5+5W"6m@Lf4v4i&y&IYF V )&G@##8-!F""0"""!2P(P ??2?2?/^]22]10]]]]]]33>32#"&'##4.#"32>@Re?p]((]pt.;bJ54.#"52z{2,>`EGmI&&JkFB`@hZ6Zb +/* )'H<+ %05ppg0.gxsb+.f&(MzN & %+5+5WS&HM@ &&'&%+5+5&( & %+5+5W&HN@ &&+7%+5+5&(O% &  %+5+5W&HOD &(%+5U&(QP ´ %+5WUN&HQ} 22 %+5&(o & %+5+5W&HL&&(.%+5+5g&*@ /&"4.#%+5+5VW&JK@ G&LF)%+5+5g&*@ .&'3;#%+5+5VW&JN@ F&KW)%+5+5g&*O5%@ .&'.0#%+5+5VW&JO- FH)%+5gN&*N .2.#%+5VW &J8O&FJ)%+5+5 &+@  &  %+5+5>&K@#&(" %+5+5@H ZZ ;8DD0p @$H/_ P`_@ ?2?39/]q]2222]+]q/^]_]qqqrrr^]]3322/^]332210!!##5353!533#5!fs- )@B H! F@P   + $F0++++++p++@H#Q  P H?+2?3?9/32+]]qr/^]q3322]q910^]+>32#4.#"##5353!!=FTd>hM0XF@gI(,Y7M28eTWEhE#.TxK!B8'&,@ & %+5+5&R@ & %+5+5 1&,MN@ &%+5+5 1S&M@ &%+5+5l&,@ & %+5+5l&N@ & %+5+5\U&,Q %+5U}&LQ@ %+5]|&,O'%@ &%+5+5v:@F$ 4 @7H@4 t`@H$4HHH@&Hdt uy|HnqH@cfH0$CFH >@ 8;H@*-0H+k{@ 0 @@ H??^]+]]q_qqqr+r+^]+qqqq+++^]qqqq+r++^]+]]]]+qqqqrrrrrrr+^]]9/^]1033´:I&,-W&LM@o0]55]]]55 &-7@ &%+5+5W/@ H( H@1 H;@ H$F   $ D  @ H@H@3H@P_o 0@O@9H_ /?o?o@eORH/?O=@58Hp@#&HOp@/? P??/]3/]]]qq+qrr+^]]]]+qrrr^]]qqqq+r^]]]qqrr+++^]_]9/^]3//]+]q+]10++_]]"&'532>53#'##53M"A $ &1 6]ihW+C.@>jN-nN?&.ʹ  %+5N&NN  %+5: @H{tV f {YiC :* z,  p  P   @( H F0 ?  ?2?39]]/^]2/+]q839/]893310]]]]]]]]]]]!#33 0Il~: //&/&^ %+5+5[>&ON@ &K%+5+5N/&/ %+5~NG&O%+5/&/@  %+5?5i&O$KA@@H@H@HH@ H@ H  %+5?5++++++/&/O _%+5&OOBT%+5/ w@1ydtVV Z  @` H @H    _??9/]]9++/]q/3210qrqr]]!!573%hyUU f@*'' F @ p  @H H O??9/]9++]]]9/^]332210qq35737zz||DDXHGz &1@ &I%+5+5&Qt@ &&a&)$%+5+5N &1%+5NN&Q[ *&$%+5 &1&%+5+5&QL&&(.$%+5+5P&Qb47@5)))0 H/@[ H*6:6663'Z@3Z@Pp0P0'_-! _?2/???2/^]]]qr/]29/]310]++]]]".'732>54.#"#4.'33>328`O?%d;@N) 'QW^yF"gV|p5V(6s-A:k_Blb.>iMD%\ZL?EE=eF'@̋ВNWN5@y44Z4j4+4;4K4.@J H..1F@ `    7%F @%P+P????2/^]qr2]qqr9/10]+]]]"&'532>54.#"#4.'33>32"A $ &1 4U?@gI(>RjFZT'6]W+C.OjA-U}QS"KC0,9;/L5,\d>jN-a&2MN@ (&)( %+5+5VS&RM@ #&$#%+5+5a&2@ (&-5 %+5+5V&RN@ #&(4%+5+5a&2@ (&](1 %+55+55V"&RS @ #&g#,%+55+55a1@w f i V0Y*T//T/ ++[+Z" 0"/"O"?"_""""""@&H" -[    3___(__????9/]/]]/]/+]q99//]29910]]]]]]]]!#"$&546$32!!!!!%267."#"399Y^:94Lo L %%}}?@~j b<WJ΃єPV2N';D@fvaUZBjBl=Z=E:U:e:E4U4e4J0Z0j0J*Z*j*I &G@32%4.#"32>%.#".#IrPu=fl=?ɉqDuCwo/?*MnDErQ-/Ql>ErQ,-cT:Ug9^H--[I/[\]ZDӏ^SXz'~b')c{~b('b᫝Jbh&5&"%+5+5&Ut@  &J #%+5+5Nh&5#%+5NN&U^$ %+5h&5f&!'%+5+58&UL8 &"(%+5+5]-&6tI@ @&[@C%+5+59&Vt9@ 8&]8; %+5+5]&6KrG@ A&F@%+5+59&VK@ 9&>8 %+5+5]N&6x (H@%+59NK&Vx @8 %+5]&6s@ @&BH%+5+59&VL@ 8&:@ %+5+5.N'x[7N*,&xGW.&7!& %+5+5&WK%+55.e@>     /  @H Z   _ _  ??9/322/]32+]q9+M9_^]10!!#!5!!5!&8P@ &$%+55+55s&XP@ +&0&$%+55+55)&8@ &Q#%+55+55&XS@ &&d&/$%+55+55U)&8Q (g''%3H3H3H++++5U:&XQW 22%+5 &:y0&5/.%+5+5&ZK,&1+*%+5+5-)&<[ & %+5+5W&\K@ !&& %+5+5-)&<h@  & %+55+55A&=@  &J %+5+51&]t5@  &] %+5+5A&=O|%@  & %+5+51&]O  %+5A&=8@  & %+5+51&]L & %+5+5}س H@8 Ho  F0p@"%HOpP??]]q+qqrrrrrrrr/^]2/]10++!#4>32.#">;fQ E-(3 ;eK+)<'N@kzYiy U e u 6 &&"2r%5P&6F  _ P  Q //]9/32/q333qqq/10]]]]]]]]]]].#"3###737>32>.!  (GmQ R#  (@--;fL+ R>'=C$@z@@fvVf@ H H H  & '  (DBBB>2>>>/ >>  Zjz 0 EPEE0E`EEEE/E U e u  >>-p9@@@@@@ H@ '&&  9?999 /3//]]]39/32/+]9/]3//3]]]]q3/]q3]]939///]q]q]]310]+++]]]#!#&'.54>32.'!4.#"32>573&!á~$!&&BX22XB&$11$$ 1$p-O Ds O--O;"";O$J<))>I$_w,!!,,# #,#Ws>&D'PUtcZ#@e&jm$%ԴLB$%+55+5+55&& %+5+5B&t@ Y&IY\=%+5+5G&K@ 4&I47 %+5+5,&t@ .&^.1%+5+5]N'69NK')V.N'7N*,&sW B@v x@ H@/?/]3/]+]10]]#'##53ih B@vx@ H@/?/]2/]+]10]]#53373hi3XSQ@;[k4D H@!H/?@H@H/++]_q++/]]]/]q10!5!X%wI@3O@@73)JtT2u'8H**G8&u 2St3Up=+;$$;*=pU3 P@ @HS?/+1053 3s'Y@ H  H H@* H@_  #/?O/]]/]10++++#".54>324.#"32>&BX22XB&&BX22XB&l$11$$11$2XB&&BX22XA&&AX21$$11&&1PUL@7 H  H H _ @ H  P`p/]q/+/]q210+++#"&54>733267G(ij"054+1-:p fU/O=* -;F'*0 M@ H  H))9Yi@H@H Щ 9@H{I@H6}o-=M H[k{H &fvn@@`emHpRb@"2Rbr$4Ddt@ <@H;@95:Hdt0@P$p@HTdt@ H@ $'H@!HD0 @+ H @@H/?/]2+]q3//]+]q_qq+q++]]+]qqqrrrrr+_^]+]]]]]qqqqqqqqqrrrrrr+^]]]]]]]q+qq+qrrrrrr^]+]qqqq+qrrr^]++]q10++".#"#>3232673*TNG76 [-J;,TNE67\+J%-%>9-_N2%-%?8,_N3 o@R f bb @?O@)H@H/?/]22/++]^]q10]]]]]]53353@@+ H) *+@p @`/]_]]/]10_]]+53E!$%A S@5 H *//     ?/]]33/2/]/]9/q]10]+53%53!53EؖB!p%R&$Tl|^ %$$HHHHHH@ H@ H?5+++++++++]5~ @ H@!HtVfD&6@Ht@$HvTd@"HFVv4&H@%Hdt6FV$@HVf$4D@w|HRb 0@p@ goHDTcfH\_HW[H@QVH$4D@CFH0$<@ 8;H@)-0H  0 H/+]]]q_qqqr+rr+^]]]+]]q++++r+^]]_]+]qqq+qqqrrrr++^]]]]]+qqqqqr+rrrr+^]]]]]]+]q+/1053'(T(|1@ q@%//]]]]5+]]5?5 '+T%|_HHHH@ Hq@%o/]]]]5+]]5?5+++++U',T|\ H @ H @ H @ Hf@%o_O//]]]]]]]5+]]5?5++++&2T|'@ *((^@ (( %/]55+]]5?5A'<Tt|@@H@H@H@HH@H@H@H@HH@H@H@H@HH@H@H@H@HH@H@H@H@H@H@H@H@H@HH@H@HHHHHHHHHHHHHHHHHHHHH~~H}}H@||H@{{H@zzHyyHxxHwwHvvH@uuHttH@ssHrrH@qqH@ppH@ooHnnH@mmHllHkkH@jjHiiH@hhH@ggH@ffHeeH@ddH@ccHbbH@aaH@``H@__H@^^H@]]H\\H@[[HZZH@YYHXXH@WWH@VVH@UUH@TTH@SSHRRHQQHPPHOOH@NNH@MMH@LLHKKHJJHIIH@HHHGGHFFHEEHDDHCCHBBH@AAH@@H??H>>H==H<@::55%_]]]]qqq5+]]5?5+A&U<@ @H@HHH@H@H@H@HHH@H@H@H@H@H@H@HH@H@H@H@HH@H@H@H@HH@H@H@H@H@ H@wwH@ssH@nnH@mmH@jjH@eeH@ddH@``H^^H@]]H@WWH@VVH@UUHTTH@ OOH@JJH@==H@88H@77H@66H@33H22H11H@00H@**H@))H@((H$$H##H@""H@H@H@HHH@H@ H@H@ H&ܴ %+555+555++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++R$%/8@(Z@0P @`_??/^]q/]10!#/8=@jzeuYV H@@ HFfvIiy _O0@H0/_ H  ?3]+?2]]/+]3/]]]]qqq39=/3310]]]]++]]]]1073!%.'># ^(RE01FR((A= +a'+@i fYV VZU *+ %%Z%!!U! +*[;o0 @P[     +_((#_#_- -]]??9//]]]/^]qqqqqrr^]9910^]]]]]]]]]]]#"$&546$324.#"32>%!!_X\\A{~?A{{;Kǥhm  efДPPәUVР|,?. N@ t{ H6  @ H HH9o0/%5*:  % 5    *:  0o0v?2?3]/]]q2]qq/]3]qq9=/3]qq3]qq]]]]10]+++]+]]%#.'&'#3N|   z?/Y#)%')#Y- 0 1Z K@1R _0 @p _ __??9//]q3/]q39910q!!!5!5}9\a2 O@(Z@Z@o   @ H_?2?+]q/]/^]10!!#!ax 3l @i t WgTd t F V f 9ggd'   0 P `  F   _  _?2?92/]]]33/3qq/^]]99//]qq3qqqqr10]]]]]]]]q]35 5!!!lmCC|.7-)<u(3 H H H@H H)Z {Zt#Z/$Dt5D555555p5`55@ H#.`  "1`  ??99//3232+]_]]qq/]q3322]]10+++++#5#".54>;53324&+32>%;#"@ŅSSŃ@CɇHGʅC08\Y++Y\84iTTiqHHu5bXXb5.+;#@ZjUeZjZjJE Zd#Z Zkd4Dd%$%4%D%%%%%%%%%`%p%T%@%%@ H"`??339/]32+_]]]]]]q/^]]qq3]q2]q10_]]]]]]!#".53;332>53+SɆC/]\88_[-DɄSTh-Pd9I9dP1hTUW9@[e$e111 H    Ht66v68v8t7767** )50( `(p((o(("[P55@EH55055[O_o 0_; '0*_)_??32]/^]]]qqr/]]+r99//]]3310]]]]]]]]+]]+]]]]267>;!5>54.#"!532.54>Z;mc*'!G`Y*=tlmt=*Y`G!'*cm;ZVj63~Ut|AA|tU~36jV4&,@ &%+55+55-) r@  H@ H @ i6FZ&Vv9IV 9Y Yy6)9 tVfB$4vbT6F$pd@$4i@tP`D Tdt0@$$DTt9p$4Td4Tp0`/  _  @ H ;K{??39]3/+]32]]_]]]]qqqqqrrrr^]]]qqqqqqqqrrrrrrrrr^]]]]]]]]]_]qqqqqqqqqqqqqrrrrrrrrrrrr^]]qqqrrr^]]qqq/^]]]q9^]]2+M2/10+_^]]+]]#3 3%53!53 ӥHH9ayVe&~T!@ <&73#.'32>7.#"KAWoFEpV? .'$  ;]B6dR= -GfFB`@8^E&'E]68?A/:gn'BA:1pg04klVsD.fWI >@D{z<<jzfvJ2Z2j2%eu%0H400@0`00@:H0404H@0+@++++++@! F00P11&9P !&P ?32??9/9/^]2]q99//+]q910]]]]]]]]]]#"&'##463232>54.#5>54.#"I5oxf8cf5#=Q.9r[8GQW+HnI&&QYq9W73#>7z0:]?C?>C?-o|A[V2@Qsjv..j.ZjZjU e r&r3C22G@.//)4 G))/P@HHoZ.0P$??99]]++2/]]q9/9932/10]]]]]]]]]]]]4.'32>".'#".54>75!`1ELIf<#IoMQpE *-) <6fO1@{sr}BI`UsVQr[L`76_7tanHDspa!SwFjN9@1%5$E$7"*% H **F000##@%0HH@B H;5G?O_@%+H;;_;0P//O/_////////'P$ P ?3?39/]q9]q/+]+++2/99//910]+]]]]]]%2>7#".54>75.54>32.#"3"6`O?i TjN`\-*H`63U="2_WvC/}K[`7aKHmB4Jr08d'G5 .TtE:_E*(@V3>jM,VcXGDUJ9F% (PE-E.V`8@u&77'|'''usd$$$$9,,<Ld666&6V6///G!(22 O@!H @2/P@H!!!!!!!0/?9]]]]+32/^]+]q2/3/9/q10]]]]]]]]]]]]]]'>54.'.54>75#!5!+Jd96oZ: ~  $B^9*YRI61Uq@ "$" >{lQ/{@O1"9XD"D>38 !&'"-! $2JdCSDFjXN#d @. H#F@P% F   0  %%p%%@H#P ???2?+]]q/^]q2]q10+4.#"#4&'33>3294U?@gI(  >RjFZT'XVOjA-U}QSDy*01//L5,\dj %@l |$$sUe|JZjsEUe     !G@@-0H' G #H0''@#H'P P P??9/]+q/+]2+q310^]]]]]]]]]]]]]]]]]#".5322>7!"!. lv>yp6*>dI*,G^B>cH*#(Ea\uy]4ؤׁ43~ԡ~3:  @ F  _o o `@P`p?p?Oj`p?`7/?o???^]]]qqrrr^]]qqqrrr^]]]]qqrrr^]]]qqrr^]]]qq9/^]q2103.53 5@F!N @<4: @r f v iyV  T F      @  F0 ?  ?2?39]]/^]2/^]q839/893q310]]]]]]]]]!#33 0Im: /!<@esjz  e u fv~lTeuVT@; HTdt]mIeu&V*:Jz  !@E!??__@#0#`### !P ??399]/^]]]]qr83/839/9910]]]]]]]]]]+]]]_]]]]]_]]_]]_]]]]]]]]]]]]'.#"'>32#.'#$*-9( #H 7WIC$cIiC $Q_A8;8<>7w:)l@7 (HZj#F"_"""""" ""+F0`+++@H)"P ?32/?3?+]/^]2^]]q210]+!.5##"&'##332>53^8EV9Rx ;bJCdC!.;;3O5@: ?|EtU/4[~Ki"LC1:#@OWgw H F@[ k { [    ; [ k  @  K[`DT DTDT[D K[`DT `DTgDT[D K[@]7K[? `DT `P/ ?3?3^]]]_]]]]qqqqqqqqrrrr^]]]qqqqqqqqr^]]]]]]qqqqqqr^]]]]]]]]qqqrrrr^]]]]]]]]qr/83^]]qr239=/+3310]_]]]#3654&'3?jMz7|Nc^:`VQw--qVjJ@}zGGe!u!!i'U2S,9nB~BBB*B , ( H II,IlI|II _%O%p%%%_o%4?F   ???O?o?????? ????@ H?*G%P *@ H*H4*9 $$$9P?22/9/]9]+]+999/]/+]q99//]22/]r3/]qr910]+]]]]]]]]]4>75.54>75+5!'>54.'.V3n}DvW32Oa/ DPLJzMpD@]@( } ";ZC?Q1 6YT@O1"9XD"D>38 !&'"-! $2JdVNRO+:0s@#5 u (H(H.P ` . #F@oP@& H22/2 HO_o"P(P???22/22]2]+]q22]/10++]".5!#>="5>3!#32>7f;R4n$' 'OE5 +36% #E;^BHJL}P  S,8  W;O/@@zeujzj-z-K[k}kJZG@1&F0011@#H1`11 P+P???]]+q/^]q2]10]]]]]]]]#".'##4>324.#"32>;?sb>bPB54.'.54>32.F6XC1  L|\5r_= ~  #Da?Bq^H2.KnaDcI6t*191Phlj*D`H9%;YD"D>38 !&',$(3D]zQ/lB",w$V:/@^ z .e.u.d*t**|!!Z!j!&l&|&J&Z&oG@ @1(G  #P+P??2/]]q^]10]]]]]]]]]]#".54>3!#".'4.'#"32>0={{{|?V~9 #+,7+"-YSk=NuL&pLJʁҊB*csNJtc*2in4a:#c@2#  H - F" """$%O%%%%%@ HP#P ?2?+]]]q9/]]33/10]+]"5>3!!32>7#".5'OE5 +36D #E+;R4  S,8  ;^B:q@>jzV)G@/! F  0  !!p!!@ H! P??3]+]]q/^]]qr210]]]]]#".5332>54.'35q{mh3uIhA!(( ;ښR2ktc2lxDx)(qUWR#-@e"e!u!!JZEU- H@6 H @PG $G+H@@/P'P+P??32?3/q/]32q2/]10]++]]]]#.54>746324&#">Jnr}C1gmE`<T\1WPDL5׌GiHύfgMrPDLyӁXP@3{T{Zj)9 H@c HtEUe&6'7GeuV'7;[{D $ @)HF5}K[k? P?3??9]]_]]]]+]]/833//^]]q833/3910]]]_]]]]]]]]++]]]]]]]]]]]%#.#"'>323 #,(* "> 0F<;$i9W6R7 >fKGW,<@Zy Hyy   Hy FFH!!!o! !!P!!!!P ??32?33/]]qqq/^]3210]+]]+]%>53#.533.W|P%;||;&O|WwIy[|zn5k5nzzZyI SO?@S!!wz:: %%*%%% *I==(. . 3G@A3G?((A0AAA@ #HAAA A@A#>>8P#. P-?32?329/9]]+]qr/]^]]99//9/910]]]]]]32>54.'7#".'##".54>732>=3srfAW5=aCmg15e_DhM44MiC_e51gmD`>4VA3R98fZRyTpeȉH$Dc@@cD$HȀe¡pTyRZf8-T{N{&i&ٴ %+55+55{&i &$" %+55+55V&RT)@ #&F#&%+5+5&T@  & # %+5+5S&T@ @&7@C(%+5+5&(yHHHHHHHHHHHHH@ H & %+55+55++++++++++++++.O-@ e%u%%@G H H* : $4 *'Z-((( Z*_+&!_(+(_??3/]??9/322/^]/]]29/10]]++]]>32#".'7326=4&#"#!5!!m5)V\5XK@o)08!TP3{xi! ]d5 .{!eowz  圜/&aq@ &! %+5+5hy*@''')))u u IF % 5 *:D,[tD+%dt@0_ "O&&&_" _ 0@p?3/]q?3/]9/q/^]_]]q3/]]]q29/]10_]]]]]]]]]]]]]]"!!32>7#"$&546$32.o|I r MmZlO(l{V[.GDfD~npH2Ri7MOd9m  e<2[F*]6|,4&,@ &%+55+55 h- &/@b9   :  y t///{(((e  H+{*zZ0'''' $ 4  @HI$4@'H I !,Z+_!!__,_???9//2/]3q+qq+q/^]q10]]+]]]]]]]]]]]]]#!!#"&'532>7!!24&#!!26 =yy`1+1oWp@ljU%>k:i\yn@t{&6Z@+ H Z  @  Z__   _???39/3//^]32/^]2/+]10]]]#!!#3!3!24&#!!26=yy¿>V}|>GWp@sT:i\y./@ eu@L H%5E Z  0  Z0p _ _ ?2?29/32]]qr/^]/]]310]+]]!4&#"#!5!!>32q5tnb#$bpv8?zm  圜 &@ &% %+5+5&C 7:&^J@ &'%+5+5h ^@@ \ Z0@@Z@    _/?3?3/]]q/^]/]]qq9/10!3!3!""hhR$@Ft{& ZP @ Z@0@#H_@    __??9/]q]+q/^]2/]]]]qqq2/10]]]]#!!!!24&#!!26=yy!~}|>oWp@H:i\y%/ahE@_ srfU e ZjaS5E\Z_$4@ H$4@H \/__/3?22?]/3+q+q/^]]]]2/10]]]]]]]]_]_]]]]]]%3#!#3>7!!2)B7,CԺ1(.6 h83Aݲ3(G)H@)uucl|l|e u !(H@#H:J)5Eu'0H(8H @ H' 7 G H@I H H H" (Z) ) 4)t))))!  @ H  D t  +  @3D+t+++/++"'`/ )!?33?339/]q329933]_]]/]83/]]]]+83/]q39/93329/93310++++]+]+]_]]]++]]]]]]]".'#&'3332>73###R-0.U0BZLQ99QLZB0U.0- U#c{DkD{c1f# {Cp<@3!|pp`eu"e"u"| Z j ;K!@z H+3Z.@%H..8Z$$$_o$$pOo0@ -H@ H3_ )#@ H##_) _ 0p H?2/+]q?3/+9/q9/++]/]]]]qq99//]_]q2/+910_]+]]]]]]]_]]_]]]".'732>54&+532654.#"'>32mv^$B[yPMzU-GG'HhAMrS8!`ilx@(Ih?CuW3E2[OM7bK,%Ed@vw{7V;(DZ1=RW-5`SDkP7 2RsI_q>{@@A H  H \)  @ P    0  \/   ?22/?33/]/^]2q/]]]q3q10++]]]]333#46767ުd3b'.('Y&,,Z:&J@ &! %+5+5@hT t TzYi H:d t P 5 E    `  Z    /  / `/ ?2?39/]29]/]q83/]29/]893310]]]]+]]]]]]32>73###9QLZB0U.0-D{c1f# {@#uUsUe@. H%5jzZ @_$4@HI$4@H I __ ???]/3q+qq+q/^]]]q10]]]+]]]]]]]]!#"&'532>7!#^1+1k0 +a2nX H H H H H H H H H @ H++++++++++3hy&.77@oZjz)UeFdtVyTdFqVf:J  ?Oo@ _?2?3/99/8]22/8]39910]]]]]]]]]]]]]]]]]]]]]]#".'732>?3 3/QZmK B@:Q#S0%:59&1>XR( %4ZDYv(3@\FVfIYi;3;5+&+5'&')ZZ#Z.O  5p555O55$/`  "1`  ??99//3232]]]q/]]]332210]]]]]]]]+#5#".54>;53324&+32>%;#"@Ņ((Ń@CɇʅC \Y+W+Y\ iTTiqHHu5bXXb5.+;h J@/\ Z@pZ@   _/?2/?3/]/^]/]]q2/10%#!3!3Ŵ@F( H H*:JZ0@po@ Z   @   @H_/  ?3/?9/]32+]q/^]]/]]]]qqq310]++]#".5332>73#$^ks8rl45nh\# /\YR{l  r@LZ Z$ {dZD    p @   _?2/?33]]_]]]]]/^]/]]]]]qq9/1033!3!3h/}@T{T\Z Z ; K [ {     o   Z   _/?2/2/?33/]/^]]]]_]]q9/2/]]]10%#!3!3!3/-ӺҺ.d@Dt{&@Z/ @Z  _ __ ??9//]2/^]]]q]10]]]]!2#!!5!4&#!!26B}|>=yy5s3-:iZWp@ym@Lt{ & Z@PpZ @ Z@@ H_ _?3/?3/9/+]/^]2/]]]q/]]10]]]]#!3!24&#!!263=yy~}|>oWp@:i\yk@Lt{ & Z @` Z@_ _??9/]]/^]2/]]]q10]]]]#!3!24&#!!26=yy~}|>oWp@:i`yiy*@Qssesesee e jZ!!  Z  (($$&[ #p####@##@? H#P` #_&&&& _ 0@pO_ ?3/]?3/]q9/q/]]q3/+]]]q39/10]]]]]]]]]]]]]]"'6$32#".'732>7!5!.XfEG.[Vvq)QmWmM r I|*F[2324.#"32>ZZٿ* c蒟W3!#!3!!"`[T'B~xI%MwS;LxT,_NlC^h7I9bH)?^WsNDx?8@E,z--fvTT [Z#z##Z/j//{..I.i.**G@:0:::@ #H4 G @#H4P*0)@)))P?/]q39/2/+]9+]q]q2/10]]]]]]]]]]4.#"32>2#".54>7>7>'IhAErQ,,Mi>EpN*q{A:Γ9d[V+V[N|^C,Ca~r[%'\prY$$XFs   !2Ile7aH):$/@ *%*@! H  &,GG@/1@11@2#H1?11&F0 $Q&&&&&%PP??9/q9/^]q2]+q]q9/9]10+]]]2#!32>54.+32>54&#4LpD#hQ5Q:% #=Z=NuN':K,C/2F,'=+RL:6@#@'H0F0P??/^]q3/]+10!#:I:h:@A f"r"""yfv""b$DTI @*H F@o @ I PP  /3?22?/3333]]2/+10]]]]]]]]]]]]]]]]!!#!#3>7!3B100Fңw::9ˆ2h2;IWNHS:'a@X"  ZjzUeuJ!!!E*:% 5 " &F'  ' @1 ''!     P ?    _  0  @@/?)))o))P)?) ))))O)_)0)"@% H%PO_O '!?33?339/^]q3299+33]]]]qqqqqqr/]qr83/]]]]qqqqqqr839/39/8933]29/893]310]]]]]]]]]]]]]]"&'#.'3332>?3###SAaB-ؼ0A4004A0-BaA PUBEM\2&2\MBU #1^N7@55&&%&--F((3G I@@V$H    99I@ H-P#P#P`p ?2/]]q?3/]q9/q9/+]]]q99//]+2/9q10]]"&'732654.#52>54&#"'>32ʧ-~g`q7\x@@rV1c]#F<* >aNUb5,GX-8dK+1e},NV^[;N-&C4JV!7*Db?*Lh?9X=$)C]:EwW1:@  @k7#<Ŭ:MRJe9<9:&@ &!%+5+5:@u9y @{ H x /OI8 yG 6   F09I  O0/ P?O??2/?3/9/^]q2/8]]]]]qr3q/]29/89qq3]3qq]10]]]+]]32>?3###04A0-BaA:&2\MBU # :@*tUeu&frdV@= Ht HF@@`p6@H  PP ???/]3]]+3q3]]qr]10+]]+]]]]]]]]]]]!!#"&'532>7!h*,3G^A0 &#3(!"&ؕ]**^:@ k{d t @z7!#4>7% # <=9,:k?HH?<@<: @0F@O9/o    @1H F   0  P? ?2?39/^]qr/]q2+]qr]qr^]210!3#!#B紴:6:VNR:m@PF@O9/o   / F0P?3?/^]q]]qr]qr^]10#!#Ǵ/:I:WMSWNF#:H@+F _ 0 @ / P?2?]]]]9/^]]+M10!!#!#d:IW:\VW>5J_@ ]]]NHHH9HmR3@K H/  H 6G@ KG$DU' HA&$Dd4aa@4#HaTadaaa@a a0aaa&-PFP1[;P ??32?32?]]]_]]]+q/^]q3322]+M10_^]+]+]+++]#"&'##467##"3234.533>3232>754.#"4.#"32>>&Vei*.op-.reV&8U<<^A""@^=9V9n4X@5\F(#A\54&+ 4hggE`;tpJvR,61G.^W2: i H@: HG F@ F @  Q   O    Q ?3?39/^]q/]2]9/10++2#!332>54&+3&4hggE`;t<pJvR,:61G.^W ::  H@V HG@//?_@#'H F  @  Q   O   Q ??9/^]q/]q2+]qr]10++2#!332>54&+84hgUE`;tpJvR,:61G.^W7N(@Wv"vkk  G@    *FF@ H P  P$ `p@"H$/@ HP?3/+]?3/+]9/q/+qr3/]q29/]10]]]]]732>7!5!.#"'>32#".7dIgD"c"CgImv Bi]ZQ3rcj=; lh5aRZX,i[DtT05أx͗V6\zN'@Uy%%t!!vyG G@) F   0  P P/  #P???9/]?/^]q2]9/^]310]]]]]#".'##33!24.#"32>fsA޴!׽#Ca=?cF%'F^8>dF&>:6~b')c{~b('b: @Du H (+H %H4+)0 H  HG  F@   @[kQ/Q  ?3?9/]2/]83]q39/9310++]]q+q++] #.5463!##";Xvxk|6z\]^]W'CHW{&Hi@ &&*(%+55+55 W9@ 1 H@V H$$9F@P---; 9F0;;;;;;p;;;9(P!3P Q H??+9/322??]]qr/^]q3322]q9/10^]++]3#5353!!3>32#"&'532>54.#",FTd>hM6]H"A $ &1 0XF@gI(!B8'7M28eT>jN-+C.EhE#.TxK&t@ &U %+5+5WN(@qtt/*?$F#F$ $$@$`$$$$$$GP P /@ H  P## #`#p#####"H##?2/+]?3/+]9/q/]2/^]q3/9/]]10]]]]".54>32.#"!!32674r3QZ]iB vmIgC"c#DgJd =jVx؀50TtD[i,XZRa5gm Cz\69KV=&OԵ @88H @ 77H @66H 55H @ 44H @22H 11H @ 00H @**H ))H @ ((H @&&H %%H $$H ##H @""H @H @ H11H@ ()H@HH@ H%+5+]++++55++++++++++++++++++%{&i&%+55+55W=M :"-*@Ruj9Huj 9  H W g w  Hm Hu6F H@ H"#F@  G))@  H)/P//@]#H/0/m  ?       ?  j )  5   -Q"""""O""" P P#Q ???9/^]q/3]]qq]q]]]]]qq]]+q+]9/]210++]]]+q+]]+qq]]+qq]]]2#!!#"&'532>7!32>54&+M4hg>e*,3G^A0 &#3(!"&E`;tpJvR,ؕ]**^61G.^W,: H@ HF G@!P!!@2#H!F @Q POQ ?2??9/^]q3//]2]+q]9/3210++32#!!#3!32>54&+4hgfNE`;t:6JvR,:6E1G.^W )@U H! F@P   +# F0++++++p+++#Q  P H?+2?3?9/32]]qr/^]q3322]q910^]+>32#4.#"##5353!!=FTd>hM0XF@gI(,Y7M28eTWEhE#.TxK!B8'&t?@ &Q%+5+5'CW&\@  & %-%+5+5h: }@Y I O & F@O9/o F0  p  P/3?3/]qr/^]q]qr^]9/^]1033!3!#:Iha/!5!5!%#"$&546$324.#"32>,Nl_X\\A{~?A{{;bbhm  efДPPәUVVN*!5#5!#".5!24.#"32>fhq{A~u8'KlDEoN),Mi>EpN*3bbDӏ0FҌ~b')c{~b('b7@%Z@F@_??3/^]]/]103!# 8@$I0 F0P???/^]q3/]10!#!3!B٣8: &:A/&03.%+5+5&ZCH+&,/*%+5+5 &:@ /&K/2.%+5+5&Zt&@ +&]+.*%+5+5 &:@ /&31.%+55+55{&Zi@ +&/-*%+55+55-)&<" & %+5+5W&\Ci &!$%+5+5[Op/Ͱ/ܰͰ015![Р[Op/Ͱ/ܰͰ015![РrL+@?O/?o@&+H/+]q//105!rÉL+@?O/?o@&+H/+]q//105!ÉL+@?O/?o@&+H/+]q//105!ÉN&BBH /@ H@ H @  H ?/+2+10+54>733 y-2Y4VKB AAH 4 H  H @  H  ?/+3+10+#>5#53H {-1X5VKB A?H 3 H  H @  H  //+3+10+%#>5#53H {-1X35WKB AA~G /@ H@ H @  H  ?/+2+10+##.=AX1-{ ?A BKV5K_ Y@: H H@ H @ H    ?32/2]/^]]2+2+10++54>733!54>733 z-1X y-2Y4VKB AAÒ4VKB AAK_ k H@ H  @ H    @ H?  ?32/2]/]3+^]]2+10++#>5#53#>5#53_ y-1X {-1X5VKB AAÑ5VKB AAK_ h H@ H  @ H    @ H  /32/2/]/3+^]]2+10++%#>5#53#>5#53_ y-1X {-1X35WKB AAÐ5WKB AAv @@%  /o  /?/]q33/22/10#53%s`arxsV@2      ?//]3/3322/21053%%%%#5hihixxGQ|I H @' H H H?  0/]]]/]]]10++++#".54>32|-Lf:9cK++Kc9:fL-:fM,,Mf:9dJ++Jd V@= 0`0@`/ /3322/]]/^]q9/10!53!53!53(7+?Sg{@ vyf@ H` H\ HV H>@ H8 H4 H. H@ H H  H@  HJ;1@v y 1f@&@@@@@@rcYihh&hhhhvhYhFh)hhhhhyhkhVh9hhh&h h " )IYy"@-1H@H}}}}y}k}]}I};}-} }}}}}}}}}}}i}[}M}6})} }}}}}}}}}{}f}K}=} }}}}}}k}}]}9}+}} }}}}}}{}}Y} };}K}}}}}}{}}f};}K} }}}}}}}}i}y}]}9}I}+}}}}}@}}{}f}I}6} }}i}}}}}y}k}I};}} }}}}}}}y}[}k}9}}+}}}}}}y}k}9}&} }8}}}}}}Y}F})}}}}}}}}{}d}K}?}}}}}}}}p}_}@}}}mTw^E,O6'?????^]]]]]]]_]]]qqqqqqq_qqqqqrrrrrrrrrr^]]]]]]]]]qqqqqqqqqqrrrrrrrrrrr^]]]]]]]]]]qqqqqqqqqqrrrrrrrrr^]]]]]qqqqqqqqqrrrrrrrrrr^]]]]]]]]]]]]]qqqqqqqqqqq/++^]/^]]]]]]]qqqqqqqrr9/]q99//^]]883310++++++++++++_]]!#3%2#".54>4.#"32>2#".54>4.#"32>2#".54>4.#"32>0?lP..Qn%7#&:''8%"6'?lP..Qn%7#&:''8%"6'?lP..Qn%7#&:''8%"6' !SjfV&%VgjS!Ib:;aIGa;;a!SjfV&%VgjS!Ib:;aIGa;;a!SjfV&%VgjS!Ib:;aIGa;;aUzY(@ H H/0?/]]10++3U@ĞzUz&V `]5XQH@7jzjzO_0@`p/o/]/]q10]]%53 PQm?sYRB@0eueupo/o/]/]]q10]]%#5 53RQot?G&@ //]55]55T ///10!5!+u`b-o@@ H@ H??/++]8/]810!#3qe!o@ H $  !$ @& HK[@H@H/?/_]]]++]3/]+]22/]/]210+4.#"#4.533>32 /#HUw&1@*na.=%d^.("# . lyO.j@E  0Pp \  Q   _?O? _ ??9/^]]q]q22/3322/]q99//10!!!!##53!gQn{$Ձ:P:@Q::%5(,0 o4n+'0n O_o:o  0Pp0@FH*Q. Q+  @*-H   'o/_o4#s)4t%:::?3]]2?3]9/]q3]+]222/+^]qr/]9/33229/339910]]#!5>=#535#5354>32.#"!!!!!2>7P 9YsCFYV0cgF{cG '5A$rphh,?(&C5%7PuM%.y\f7:V994$s}8j\G*C0g/b@Gu[[[IkIIDmD[DiRiP}[k}[kT9d969F9%a5aEaL H1@^ H H -RIQQ0HAF'K%)H" 9I8f888YHK_?K_KKK@'H_KK@APA`AAAA@ HAF d[_HdPXHdFJHd;>Hd05Hd@ HOd_dodd HY@GHAHYAN54.'.54632.#"=yy+}|>iq{#J0i]ho5n)7(跪Ky\=cX(D1">W41`M/-6 9P00dR4\uD=oaԒ {zŃbNIbx6X@=: () 5O;pwit& U$ 6WV=@DIj&:+J+z++$;4;D;t;;.779-3n%n$$n@`@^H0Q9Q6@'/H-/?/?/(s%|%%%*%%ss% ?3]]?3]]]9/]qr3]+q222/+]q3//3/229/10]]]+%267#".'#73.5467#73>32.#"!!!!dx ?gaxyE (x(I{sag? yjDjO2 (c(l *Mr~d[DvW2Mr.5zC2WvD[d'Wc/%Qd9E+O@vy/B@  H< H H @ H H HJII45?@>,?@ H?"  P`&441:MJD'????33]/]/+99//883/3310++++++]]]#".54>32#34.#"32>3267#".54>32.#"3WtBBsU10VuDBsU2;+?(*@,+?)'?,/K6E^ -MoH^R&;a|ADjL0 SKlW}i--h~g))g1cN !Nb_O""O|K|Z2RW 6cL-Ey`g*(F^7 HU~'7@ 5(HH@CH H H( (`(p((((((333##  "&H @ H O93- "-/?9/9/9999]/++]3]2^]3/]]q2/310]]+++++]%2673#"&=5>74>324.#">3DExmo B"#B;bH4O5,OnB *s( '1M6Nhm IK;lS1*NoEcv&9S64U=!$=Q.!h.#7;@| H= r E U e  & !!%!  /=:I$I9.I$$$/$$$ I0@P )$H@H 3999@#,H98 @$H @H 8?3++/+]?33++?/]q22/]]]99//]]332]10]]]]]]]]]]+]!#3&'.53#"&54>324.#"32>5!&06+WX]T'/E-.G00C).H2{,,&Y'XR(.'b3ɾ[e55d\Qk@@kPRl??lz'/@ H @HYiy% H@I H,)*@@//**@*P**'%o(, * *P***%-?33]22/]3/]]9/]210++]+]+5#.'&'#367>53##5!l (z @&,7  3)"hool9@_e$e111 H    Ht66v68v8t7767** )50(  (`(p((/o(("[55@AH555055[?Oo0 '0*_)_??32/^]]q/]]+r99//]]3310]]]]]]]]+]]+]]]]267>;!5>54.#"!532.54>Z;mc*'!G`Y*=tlmt=*Y`G!'*cm;ZVj63~Ut|AA|tU~36jVX|H -R@2Z @!!_!P!`!p!!/ /---' ?2]]?9//]2]]qq210]".54>32!32>7.#"kƆE__pŽQ@NX.Kt]L#H$Tm;M\53WJ<"]oՋBO҂-#73!;H:RR:H;'"bADp*$*pDAb"V@ @ /299/105>73.'#"bADp*$*pDAb"V;H:RR:H;#b^B@  //29910.'3#>7!5;H:RR:H;#}"bADp*$*pDAb"V@ @ /299/10%>7#.'53+"bADp*$*pDAb"V;H:RR:H;b^B$@@ //29929910#.'5>73!.'3#>7;H:RR:H;;H:RR:H;'"bADp*$*pDAb""bADp*$*pDAb"&@@@ /299299/105>73.'>7#.'5"bADp*$*pDAb""bADp*$*pDAb";H:RR:H;;H:RR:H;H#(@#  /299299/3210!!5>73.'>7#.'5 "bADp*$*pDAb""bADp*$*pDAb"hPX;H:RR:H;;H:RR:H;8/E@]z!!DHUeJZzJ8Z8C8 H:C* : J %-5--- '0'''00(00F@`@@H@ HG323>54&#"7>32.#"32>  `a]N#/IfS*M@2;:7$*tCq^)$3@$5VC1 *A,BlS8.hjj0ΐM?kK32>32%"32>54..#"326],RsFaF KTZ.EsS.,RtG^CKT^3ErQ-Fw83wM+G33G]3wN+F10G/FxNNj>?fH'7dYQh<>fI(7e~(F^66\E'(F^63]E)~` //103!!^j8^#@K[K[ //3//10]]4>32#4.#"Dzbc{Fg5_NN^4tLLtbl98ldN#@ ""*"% %%%%%%@HL%/%?% %%@H%@H%%)%9% %%%%@Hk%{%%]%K%)%9%% %%%Hm%%H %%H%y%%%K%[%k%%H%%%}%%k%]%&%6%F%%%%%%p%@nwzH%@ekH%v%% %%)%%%@ORH%JNH%)% %%%%%%%%%54>32.#"$$K>#3B'2Z}K"K=$3B'2Y|N %@T0^V( (AT,B^V)8P,!C@$ H HA HB0 H=0 H*г H0@ H H 0 H0 H Hг HгH@) H?0P@`- @ H /E;@-#@)(1 1011@ '323267"&'.#"5>323267(EIAk-&A<82Q(PMK%233E{4 ;=D(EIAk-&A<82Q(PMK%233E{4 ;=D+ !%/  3+Z,  &.  2* A7$@l5: < *      dtP0 `o  _ o   /_o P   /]]3]22222/]q3/]q_qq3910_]]]]##5!!5!3!!!7 =X!l$ܔdGP 1@  ??/]/]9//33/33105!5!5!d8d?$ {@H(H(H@?H 0P @`@ HO_@PP/]33]]//+3//]q310]+]+++5 5!AZw쑑A$ y@H(H(H@>H 0P @`@ H@PO_P/]]]33//+3/]q310]+]+++75 55!AZXXu7 #@i y iy///10]]3 %! {RVdG////107!!d>T"  H  ///10+#47632#"'.'&#"TR?K3% !$ V{{?0(4 ''#i  H ///10+3#".54>3232765"Z(g>2%!%}86'"%)j%?33105! %iH??103#ؑHK"??310!!#(in"??3105!# (%%H"??3103!!Hn%H"??3105!3 %H' ???23103!!#iHnnH'???33105!3# %K( ?2?33105!!# i%n%H( ?3?33105!3! %nH 3  @  ?32??3223105!3!!# i%nnqj% ??3233105!5! AّH*A ?2?3103#3#ّhHK Kj 1  ???23310!!!!#(iijב" 3     ?3?2310!###בnn#j ? A    ??3?3310!!#!!#htjo"j 1    ???333105!5!5!# i(qב) 4A    ?2?33105!### ܑב%nj ? A    ??3?3310#!5#!5!ґttj)F)ޑqH 1   ???233103!!!!iH"ב%H 4 A    ?3?33103!!33A$Hn#nqH ?  A    ?2??33103!!3!!ّK$hH"qH 2    ???332105!5!5!3 iqב)%H 4A    ?3?3310!5!333$ב%nqH ?A      ??3?3310!5!3!3!5!$KqFH 6    ????2233103!!!!#iiH"ב"H 8     ??3?323103!!#3#AHnn KH I A     ?3?3??223310#3!!#3!!jt " "H 8  @   ????3322105!5!5!3# iqבKH ;A   @ ??3?332105!3#3# 㑑h%K#KH I  A     ?3??3?2233103#3!5!#!5!A㑑tHK )ޑj 9     ?2??3333105!!#5! iiq"h :   @  ?22?333105!!### ב%nnj J    ?3?32?333310#!5!3!!#!5jtttAޑ"בqH :@     ?3??3333105!3!5! Aّ"%H :  @  ?33?333105!333! ב%nnqH L@  A      ?3?32?3333103!!3!5!5!AH"oHL  @    ?32?32??33222233105!5!5!3!!!!# iiiqב"ב"HM  @     ?3?3322?3322223103!!###!5!33AבHnnnnH ]     ?3?32?3?3222332233103!!#!5!3!!#3!5!AבttH"ޑ" mH/?3310!!Umm?/3310!!UH??3310!!U H??/310!!* H??/310!!* *g #'+/37;?CGKOSW[_cgkosw{1mUE- y@ xlTD, xeM5@ dL4qYA)}@ |pX@(|aQ9 @ `P8u]=%@!t\<$x||xiI1!@hH0 gckhd`h_[WT\XTSOKHPLHC?GD@.)'.@D%T%K![!K[DT #//10]]]]4>32#".732>54.#"Fz^^{GG{^^zFV9bLLc::cLLb9d^{GG{^^zFFz^Lc99cLLc::c# /]/102#"'&5467>76jnk5RS4l9R46n9:m64R9) //103!32>54.#")Ex[[xEEx[[xE}A[xEEx[[xEEx)+"@" '//103!4>32#".'32>54.#")Q:cKKc::cKKc:MEx[[xEEx[[xE}AKc::cKKc::cK[xEEx[[xEExscu" //10#"'.5476324'&#"3276c%%%V3eK#%HJfgGJL33FF3331HH13}5V%#%H%V5fHJJGgF3333FE6116y!-9D@] $ t $t+{+{D"(?4.(.(.1%+7+>:h:Y:G:::b^0H[[׀ؙٙW .. -- .. --#_[)4`@7*/$'!04h4Y4K4=442-_oO-_--- /99//]^]3]]]]332/99//3310#"'&54676324&#"326%4&#"326327'#"'ZZZZ. -- ., // ,0^b>LLH[[ -- .. -- ..[_#Fs;3F/@ H4.4$w##@M H H;;  H;/4#4;B p ?   9+>0/43?3O33/^]]]]]/]]]]10]]]]+]]++]]]+373#'#5.''7.'#5367'7>7"327654'.B 965--,,(17:"B?n0+(. P(9p6Eu0bb0uE`cc1u;  -;q9>_1(,=20db2/aac02P&/b@>++++""""P'''@%(H /+^]2qr/]32/qr]qr9/3210.'&547>32!!#!5!"327654&'&7Z#GS,e>SW;=>B.*PlzS++VSzmQR FF;G,+G>>=T,G;QAQF@(1A;NN?  33FF;A1?J777B??/^]]]99/r]]r9910.'.'.547>323267632#"'.'#"'&547632"327654'&6%( ? .@$    TVWvvWTTUzGSZ>==@XY<>><      "O-@" '*R*Qm}VXTTuuWV+ >=X[===>ZW>>;/(@& 0 ` p  "@ H"O_/]//+3/]/10#"'!727>'#"'&547>7>76 (_E#%?BXc$&}V+B,-SZB?N9En&86_,+i?~BCF_?BWVc %%1E[wK`_B?[J;*U/;q9S<K/@9M?4=C /)//99//]923/]10)7>7>7654&5#"&'&547632.'.547>3267>32#"&'.'FTl)@4:Z+X-;a)OII]P3N(a2+C.=#!K2dmy;*&StsOP"4&sN&(PNmVb(%)LtvSP<3=-Q}.-L'fZy'&@) @ P p  ///]10^]].'.'.'.547632>32b*gL8E+%DFfbN/"X2U#F)N7>-qEEt/'xSEj( #&b<^Q2P;`N]]5(o]H: 9Pwc;kM;!0@! @O_o! //]9/9/]2103#>54&'&'#"&547632L3:0./9@%%Hl9:Q0*%#Jj9:;b&J5-L9<f"&#"&547632#"&547632%%5$&%X3999>Q0*%#Jj9:;b&J5-L9<guv#dC  @; H#F/  O o  O_Fo"SP P ?3?32???/]]2/]/]q3210+]##5354>32.#"3533i;fQ E-(3 ӆIz;eK+)<'ai:wZC  @5 HF/OoO_FoP P?3?32??/]]2/]/]q10+]##5354>32.#"33i;fQ E-(3 ӇIz;eK+)<'aI4wNK H@( H_?O  P`p/]/]/]q9/10++#"&'532>54&#*732AhK-1%)8#=H>4T< )C0b %(`)?w8@ o_]]]5NH K H@ H  `@ !H   /]+]q/310++#>5#53H,(u-1XWk/0V.3 l@JV V y@32|&IlFBeJ, '6$GVQK3M!r[6CgE$CAhJ(!;Q0/$U]QU%q!'Gf+4x6@!  `` ??2/]]q3/]9/10#4>7!5!x@jM+/Pk<4MalfXq-('QD H@@R H/ H+ HL7G H===222FGGG( ` `L8# B#-??]]9/99/]q2/q/]]3/q99]10++++4.#"32>4.#"32>7#".54>75.54>32 5)'5 6-06 #=1-;$$=..="#IqMMqJ#/= $7&#FhDHiE!&8$$?.0""0/''04()5#;**<6[B%%BZ6.H4 %4@#-O;"#@)u u I  I@  /?/]2/]10]]".'332673ToQ h]]h Q9[s9g``g9s[9|E $@ P` ?]q/310#>5#53E,(u-1XWu/0`.K /@  _oP  ?   /]q]q/21046733#,(u-1X%Wu/0`.j0@u@@@H_@ H/+]+/]]10]%53H4@"z@@O@H_@ H/+]+/]]10]573H A@v x@ H@@H_@ H/+]3+/+]10]]#'##573ih A@vx@ H@@H_@ H/+]+2/+]10]]#'53373hi-Z#@_@ H/+]32/1053!53ӥDYi@" H  H@ @_@ H/+]23/]]10++]".#"#>3232673*TNG76 [-J;,TNE67\+J%-%>9-_N2%-%?8,_N3  X@<f bb @@ H@H_@ H/+]2+2/+^]q10]]]]]5733573 7@  d @ @H _@ H/+]+2/^]10^]]".'3326734JtT2um[[ku 2St)EZ15<=41ZE)P B$7<V_biqrx$$7h$9h$:$  # S 4k    F (  8# \z  |WCopyright (c) 2007 Red Hat, Inc. All rights reserved. LIBERATION is a trademark of Red Hat, Inc.Copyright (c) 2007 Red Hat, Inc. All rights reserved. LIBERATION is a trademark of Red Hat, Inc.Liberation SansLiberation SansRegularRegularAscender - Liberation SansAscender - Liberation SansLiberation SansLiberation SansVersion 1.07.4Version 1.07.4LiberationSansLiberationSansLiberation is a trademark of Red Hat, Inc. registered in U.S. Patent and Trademark Office and certain other jurisdictions.Liberation is a trademark of Red Hat, Inc. registered in U.S. Patent and Trademark Office and certain other jurisdictions.Ascender CorporationAscender CorporationSteve MattesonSteve Mattesonhttp://www.ascendercorp.com/http://www.ascendercorp.com/http://www.ascendercorp.com/typedesigners.htmlhttp://www.ascendercorp.com/typedesigners.htmlLicensed under the Liberation Fonts license, see https://fedoraproject.org/wiki/Licensing/LiberationFontLicenseLicensed under the Liberation Fonts license, see https://fedoraproject.org/wiki/Licensing/LiberationFontLicensehttps://fedoraproject.org/wiki/Licensing/LiberationFontLicensehttps://fedoraproject.org/wiki/Licensing/LiberationFontLicense  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a bcdefghjikmlnoqprsutvwxzy{}|~     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~uni00A0uni00ADuni037Euni00B2uni00B3uni00B5uni2219uni00B9AmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflex Tcommaaccent tcommaaccentTcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongs Aringacute aringacuteAEacuteaeacute Oslashacute oslashacute Scommaaccent scommaaccentuni021Auni021Buni02C9tonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammaEpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsi IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdanuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni0400 afii10023 afii10051 afii10052 afii10053 afii10054 afii10055 afii10056 afii10057 afii10058 afii10059 afii10060 afii10061uni040D afii10062 afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022 afii10024 afii10025 afii10026 afii10027 afii10028 afii10029 afii10030 afii10031 afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038 afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045 afii10046 afii10047 afii10048 afii10049 afii10065 afii10066 afii10067 afii10068 afii10069 afii10070 afii10072 afii10073 afii10074 afii10075 afii10076 afii10077 afii10078 afii10079 afii10080 afii10081 afii10082 afii10083 afii10084 afii10085 afii10086 afii10087 afii10088 afii10089 afii10090 afii10091 afii10092 afii10093 afii10094 afii10095 afii10096 afii10097uni0450 afii10071 afii10099 afii10100 afii10101 afii10102 afii10103 afii10104 afii10105 afii10106 afii10107 afii10108 afii10109uni045D afii10110 afii10193 afii10147 afii10195 afii10050 afii10098WgravewgraveWacutewacute Wdieresis wdieresisYgraveygraveuni2010uni2011 afii00208 underscoredbl quotereversedminutesecond exclamdbluni203Euni2215uni207FlirapesetaEuro afii61248 afii61289 afii61352uni2126 estimated oneeighth threeeighths fiveeighths seveneighths arrowleftarrowup arrowright arrowdown arrowboth arrowupdn arrowupdnbseuni2206 orthogonal intersection equivalencehouse revlogicalnot integraltp integralbtSF100000SF110000SF010000SF030000SF020000SF040000SF080000SF090000SF060000SF070000SF050000SF430000SF240000SF510000SF520000SF390000SF220000SF210000SF250000SF500000SF490000SF380000SF280000SF270000SF260000SF360000SF370000SF420000SF190000SF200000SF230000SF470000SF480000SF410000SF450000SF460000SF400000SF540000SF530000SF440000upblockdnblockblocklfblockrtblockltshadeshadedkshade filledboxH22073H18543H18551 filledrecttriaguptriagrttriagdntriaglfcircleH18533 invbullet invcircle openbullet smileface invsmilefacesunfemalemalespadeclubheartdiamond musicalnotemusicalnotedbluni266CuniFB01uniFB02uniF005middotuniF004uni2074uni2075uni2077uni2078glyph571glyph572glyph573glyph574glyph575glyph576glyph577glyph578glyph579glyph580glyph581  LNDFLTcyrl$grek.latn8 `nDFLTcyrl&grek>latnJMKD SRB kernhh*8Vhz,jtLn &0$2\J6LRX.  & 4 Z ( @ b  8 J $ 6 d &h >DR $7<V_biqrx 7h9h:VUKLT/){W " #Ak"$@ E @@@@ Ak A j!  Aj! Aj!  Aj! Aj! ("E E (! AA  6#Ak"$ 6 A6 AA A6L A6$ A6P Aj6, Aj6T A:  AAr Aj$ A:    Aj$  @ Ak"("! ! Ak(" A~q"G@  k"(" ("6  6 j!  j"(" jAk(G@ (" ("6 6  j!  6  A|qjAk Ar6  (Ak"AM@ AvAk  g! A kvAs AtkAj AM A? A kvAs AtkAj" A?O "At"Aj6  Aj"(6 6 ( 6AA)B 7  A6@ E  j!@ AI@ !  @  jO O !  Ak! Apq"j!  k!@  k j   Aj" G  F  @ Aq"E@ !  A! !@ Ak" -: Aj! Aj! Aj" G  kA|K @ Ak -: Ak -: Ak -: Ak" -: Aj! Aj" G /@ E E A l"&"@ A z !   E@A A & '#Ak"$  6  AAr Aj$   E@A  E@A &  E@ A  @ AGK A AjA|q AM"Aj!@@ Ak" "(" j"("  j"Ak(G@   j"AjO@ (" ("6  6   k"6  A|qjAk Ar6  (Ak"AM@ AvAk  A g"kvAs AtkAj AM A? A kvAs AtkAj" A?O "At"Aj6  Aj"(6  6 ( 6AA)B 7  6   K  (" ("6  6   j"6   AjO@  6  A|qjAk 6  j"  k"6  A|qjAk Ar6  (Ak"AM@ AvAk  A g"kvAs AtkAj AM A? A kvAs AtkAj" A?O "At"Aj6  Aj"(6  6 ( 6AA)B 7A  A  M  A   A|qjAk 6A A &"E   (Ak"  K-  !  3#Ak"$  A jA v!A ( A Aj$   (0"M@ @  ($  ($ j6$ (0 k60 )8 |78  -DAq@ @  ($  (0! A60  ($j6$ )8 |78 A  @ @ @  ($  ( "6$ (0! A60 )8 |78  k!  j!  ( "6$ @@@ (! (!@ (@" K@    "60 AF@   K@ @  ($  ( "6$ (0!  @  ($  ($ j6$ (0 k60 )8 |78  j    "60 AF@   M  ( "6$ ! A60 )8 |78  j!  k!  j!  A60 ( 6$ )8 |78  j AAA A60 (DAr6D A   -A qE@   D  ~ ("A O@ ) @ ("AN@ ("(! Ak"6 Aj6  AA (! AL@ !  Aq (!@ AF@ !  Aq! @ Aj6 -! Aj"6 Ak6 -! Ak"6 A tAsq trA tAsq  Artr! Aj! ! Aj" G A!E Aj6 -! Ak6 A tAsq  tr! (! Av" AF6 AA "AA Aq"AFj"AA AvAq"AFj" AA AvAq"AF jj"6 )  t  tr tr r " 7 AM@@ AN@ ("(! Ak6 Aj6  A!AA (! AL Aq (!@ AF@ !  Aq! A!@ Aj6 -! Aj"6 Ak6 -! Ak"6 A tAsq trA tAsq  Artr! Aj! ! Aj" G E Aj6 -! Ak6 A tAsq  tr! Av"AF6 AA AF"AA Aq"AFj"AA AvAq"AFj"AA AvAq"AF jj6  t  tr  tr r  " 7 j#Ak"$@  L Aq    k"A AI"z E@@ A Ak"AK   Aj$ 1  (LAH@  D   D "F@ n        A'  AL@A ( ! (!@ !@  AtAq"6 AA AF"6 (" (O Aj6  -r"6 Ak"6  vAq Ak"t r! AK   ( @ A6(@ (AJ j @ ("@ ("A!@ ( A4lj(,"@  (! Aj" I (   ("@   @@ ( E@A! (AJ  (AJ   A! (AJ (AH  (" Atj!@ (" ("M Aj!  Atj!  kAq   Xv?Xv?Xv?Xv?    Xv?Xv?Xv?Xv?  A@k!   !  F @   Xv?Xv?Xv?Xv?    Xv?Xv?Xv?Xv?   @ Xv?Xv?Xv?Xv? @  P Xv?Xv?Xv?Xv? P Aj! Aj" G  Atj!@ (" ("M Aj!  Atj! kAq   ????    ????  A@k!   !  F @   ????    ????   @ ???? @  P ???? P Aj! Aj" G  (" (" k" J"  I! A j!  E@ E@ !A       U>U>U>U>     0 U>U>U>U>  Aj!A   Atj!  "K@@ A k"  A@j  U>U>U>U>  Ak"  A0k  U>U>U>U>  A@k! Aj" G  M" E@ A k"  A@j Uc?Uc?Uc?Uc?  Ak"  A0k Uc?Uc?Uc?Uc?   k" J" I! A j! E@ E@A!        vb?vb?vb?vb?     0 vb?vb?vb?vb? A! Aj  !  Atj !  I@@ A k"  A@j  vb?vb?vb?vb?  Ak"  A0k  vb?vb?vb?vb?  A@k! Aj" G M"E@ A k"  A@j v?v?v?v?  Ak"  A0k v?v?v?v?  @ E@ E@A!       Y=Y=Y=Y=     0 Y=Y=Y=Y=  Aj!A!   Atj!  I@@ A k"  A@j  Y=Y=Y=Y=  Ak"  A0k  Y=Y=Y=Y=  A@k! Aj" G E@ A k"  A@j ====  Ak"  A0k ====  @ E@ E@A!       s?s?s?s?     0 s?s?s?s?  Aj!A!   Atj!  I@@ A k"  A@j  s?s?s?s?  Ak"  A0k  s?s?s?s?  A@k! Aj" G  A k"  A@j sK@sK@sK@sK@  Ak"  A0k sK@sK@sK@sK@  ] @ (" ("l@@ ( Atj("@  (! (! Aj"  lI (  @@ (" ("G@ (!  A j"6 ( At"E  6 (!  Atj 6 Aj6A ( B7 AA/AA ~@@@ Akq  AGK  A AK"!A)"A AjA|q AM"AM@ AvAk  g! A kvAs AtkAj AM A? A kvAs AtkAj" A?O "" BR@@ z"! ~  j"At"Aj(" Aj"G@  C"  (" ("6  6  6  (6  6 ( 6 Aj! B  AA)B~ 7 B " BR A)! A? yk!@ P@A!  At"Aj(! BT A!  Aj"F @ E   C"  Ak! (" G  A0jA0 jw E  AtAj"F @  C"  (" G A!  &-{@  (" K  O  O  (" K  O  O Aj!- ("At! At! At! Ak!.  ( n!    n"/l kj!0 AG!' !@ ( " !  F@  pk!  k" I"A|q! Aq! Axq!1 Aq!( Ak!  At AtkAjl" Aj!) AF AFq!2 k l!* -   k" l" j!+ Ak!, .j!3  j!4   lAtj! /!! !@ 0   F"  k" K!  k! !At" ( ( lAtjj(! @@@@@@ @@@@@@ @ *Atj Atj!  k! AF    lAtj! AF  2  '  AM  E  A|q"Ak" A|qkAk"" Aq"#k!  ,  l"j Atj Av" Atkj!$ Atj At" Atjkj!%  +j!& ) kj!5A!  AG@ E A|q! Aq!   k lAtj! A! AkAI!@@ E A! A! A! E@@  lAtjA6 Ar lAtjA6 Ar lAtjA6 Ar lAtjA6 Aj! Aj" G E @  lAtjA6 Aj! Aj" G j!  Aj"G E At!   kAtj! A! AO   E A|q! Aq!A! AkAI! A! A|q"@@ Atj Atj(6 Ar"Atj Atj(6 Ar"Atj Atj(6 Ar"Atj Atj(6 Aj" I O @  k"AI 4  l"j Atj j"  kAtjI@ kAtj  3j AtjI  Atj!  !6 A|q" j! A! @ 6A"7j  Atj"8Z 7j 8Z 7j 8Z 7j 8Z 6 !6 Aj" G F A! !  kAq" @@ Atj Atj(6 Aj! Aj" G kA|K @ Atj Atj(6 Aj" Atj Atj(6 Aj" Atj Atj(6 Aj" Atj Atj(6 Aj" G E A! AO@@ (6 j" j" (6 j" j" (6 j" j" (6 j! j! Aj" G A! E @ (6 j! j! Aj" G   Atj! AG@ E  At! A! AO   E A! AO@@   j" j"   j" j"   j" j"   j! j! Aj" G A! E @   j! j! Aj" G  @  l!  l!A! A! @ Atj Atj(6 Ar" Atj Atj(6 Ar" Atj Atj(6 Ar" Atj Atj(6 " Aj! Aj" I @ O @ "A O@@ & At" j j % At" j jO 5j j $j jO !  j! Atj!  P!6A! @ 6A"7j Atj"8Z 7j 8Z 7j 8Z 7j 8Z 6 !6 Aj" G #E   ! A!  " kAq"@@ Atj Atj(6 Aj! Aj" G kA|K @ Atj Atj(6 Aj" Atj Atj(6 Aj" Atj Atj(6 Aj" Atj Atj(6 Aj" G j! j!  Aj"G  E@A ( ( lAt" E@A ( ( lAtj j 6 *Atj Atj!  k! @@@@@@ AG@   lAtj! AF  '  AM  E  A|q"Ak"A|qkAk" Aq"A k!  , l" j Atj Av"Atkj!" Atj At" Atjkj!# +j!$ ) kj!%A! A K!&@ l! l!A! A! @ Atj Atj(6 Ar"Atj Atj(6 Ar"Atj Atj(6 Ar"Atj Atj(6 "Aj! Aj" I @ O @ &E % At" j j " At"j jI@  $j j #j jI  j Atj!  P!6A! @  Atj 6A"7j 7j 7j 7j\VVV  6 !6 Aj" G ! A! !  kAq"@@ Atj Atj(6 Aj! Aj" G kA|K @ Atj Atj(6 Aj" Atj Atj(6 Aj" Atj Atj(6 Aj" Atj Atj(6 Aj" G j! j!  Aj" G  Atj! AF  E At! A! AO   E A! AO@@ (6 j" j" (6 j" j" (6 j" j" (6 j! j! Aj" G A! E @ (6 j! j! Aj" G E A|q! Aq!A! AkAI!  E A! AO@@   j" j"   j" j"   j" j"   j! j! Aj" G A! E @   j! j! Aj" G  @ E" E@ j! j! E@ j! j! E@ j! j! E@ j! j! Aj" G A! E @ @ j! j! Aj" G  @@ E A! A! A! E@@ Atj  lAtj(6 Ar"Atj  lAtj(6 Ar"Atj  lAtj(6 Ar"Atj  lAtj(6 Aj! Aj" G E @ Atj  lAtj(6 Aj! Aj" G j! j!  Aj" G  @ E"E@ A j! E@ A j! E@ A j! E@ A j! E@ A j! E@ A j! E@ A j! E@ A j! Aj" 1G A! (E @ @ A j! Aj" (G  @ E" E@ j! j! E@ j! j! E@ j! j! E@ j! j! Aj" G A! E @ @ j! j! Aj" G  @@ E A! A! A! E@@  lAtj Atj(6 Ar" lAtj Atj(6 Ar" lAtj Atj(6 Ar" lAtj Atj(6 Aj! Aj" G E @  lAtj Atj(6 Aj! Aj" G j! j! Aj" G !Aj!!  j" I Aj!  j" I A ~ )" )"U  Sk 6%~{|#Ak"$ A6( ( (l! @@@ (" AG@A AG  A6(  -\Aq A|q! Aj! Aj! Aj!A! @@@@@@@@@@@ (T"E  (P" M (X Atj)!0 Aj6P 0 .E@ AA*AA  (A AG@ AAAA  ( A(jA ((AF  AAAA  AF  @ )"0P~B 0 )8} P@ A6  (A AG@ AAAA  ( A$jA ($AM@ AA/AA  @ ((AG )"0P~B 0 )8} BR A6  @ ("AqE@ ($!  ($! (" E Aj" K@ AAAA  k6  Ak"6$A! ((!@ " ("@ A j!  G  ( qE@ AA*AA  @ ( O@ (!  )"0P~B 0 )8} S@ AA-AA  ( ($" E@ ( B7 AA&AA  6 ($"6  " ($G@ AAAA  (" E@ AAAA  ( E@  ((6 AA A jA  )8!0 ($! ("((" ("A(l"j" ("Aj" ("K@ CB"6 ( Al! ((" j! E  6 ("Aj!  j" ( Alj" Aj6  0 kAk" 7  ; 6@ AG @ ("E ( " (O  Alj 7 )8 ($kAk"0 )0W 070 -\Aq@ 5 (( 5R@ AAAA  A6(  (A AG@ AAAA  ( A(jA ((AG @ )"0P~B 0 )8} P@ (AF  -\" AqE@ (A,l (@@ (8@ )"0P~B 0 )8} !  (" AI  Ak" 6 j! E  )"0P~B 0 )8} S@ (@ AA-AA  AA-A (" A~O@ AA AA  @ (+"@ (+"A} kK@ AA AA   jAj" @  6+  (+ A6+   Aj" 6+  AA0AA A6 Aq:\  ((!  ( (( A(lj"A6 B7 AAAA ("((" ("A(l"j" ( ( Alj" )8"0B}"17  0 5|7 (!@ ("Aj" ("M@ (!  CB"6 ( Al! ((" j! E   6 ("Aj! Alj" Aj6 17 A;  j 6  @A (+ (+j ( " (F A AG  AAAA A! AA ( 6  (+ j6+@ -\Aq (," AH (" G (L (AF ( A,lj" (+" ((( A(lj" (G (+Aj" O @ ( Alj)"0 )8Q 0 . AA*AA (A AG@ AAAA ( A(jA ((AF  AAAA -\" A qAG Ar:\ ( ("A,lj(+AF (AF )8"0BQ @@A! Aj"A AG   A@kA (@AG A! A AG  AAA   6( ((! ((" @A!A! @ At" j"("@ (" @ (( j  (( j" (! ( ((" jB7  j! ((! Aj" I A6(  A6(  ((6(  ((6(  (" ("(L ("A,lj(+! (" (! ((" ( ( "   (" n" lklj" (" K"6 A j" K" (" I" 6@ J ANqE@ AA4A  (!  ( ("lj" (" K" 6 A j" K" ( " K" 6 J ANqE@ AA3A  @ (@ ( A  AA)A  @@@ A6$  4"0B}"2 4| 0>  4"1B}"3 4| 1>  2 4| 0> 4 !0  &6  0 3| 1>  (" 6 A (P" k I6 (4 A6D  4 Al! @ (" E@  " 6 E   6 E  A  ( M " E@ AAA ( B7   6 ( " k" @ jA  6 (" @ Aj!* Aj!+ Aj!! (!A!@ B Ak" "2B"0 4| 2" 6  0 4| 2" 6  0 4| 2"1"6  0 4 | 2"3"6 1B + At"j(""1|B} 1 t"AH  3B  *j(""1B| 1 t"AH   A t q""k uA G" 6  A t q"#k uA G" 6@ E ~B P  l"$A̙3O  $A(l!   Ak! Ak! "B|B!" #B|B!#AA 6 Aj! B "3!4B ( "  I""9B!:B ("  I"";B! 5> 6> 6 7 >| 8> 1 =| 8>A! @ (E E AA AF! D?!@@ ( j !(" k" AN@D!@ AI@ Ak!  D!@A AOAk!  AxJ D`!@ ApK@ Aj!  D!@Ah AhMAj! !(D@?D? @ AjB48 (jAk6 (! @@@ $E " 6 E@ AAA @ A  6   (K@ " E@ AAA ( B7 6  (" k"@ jA  6 $E  (! A!%@ % % ("n" lk" t #j" ("  H"6 t "j" ("  H"6 Aj t #j" ("  H"6 Aj t "j" ( " H" 6 < | ;  u"(k t u"6 : | 9  u")k t u" 6 l"B~B BR@ AAA Al! @@@ (" E "6 E E  A  (M   "E@ ( B7 AAA 6 ("k"E  jA  6 (! (!  ( "E@  i    g 6 (! (!  ($"E@  i    g 6$ @ )Aj!, (Aj!-A!@  (" n!@ ( Alj" ("@ (8!. (!/ (0! (< ( A@kA6 B78   6 60@ E Al"E A  .68 /6  A A"6 E A 60   lk" (j t" ("  J6  )j t" ("  J6  -j t" ("  H6  ,j t" ( " H6 Aj" G A(j! %Aj"% $G !Aj!! A$j! 'Aj"' (I Aj! ! Aj" (I A4j! Aj! Aj! &Aj"& (I A  AAA  AAA A E@ AAAA  (!  ( (l6  Aj6 AA   (6 A6 @  (AZ"6A AF   ((("(6  (6  (6  ( 6  (6 (Ar6 A  A A AAAA Aj$  ~@ ( " @ (" AN@ )! !  @@ ("AN@ ("(! Aj6 Ak!  AL@A!  (! AF@A!A  A! Ak"Aq@ AF@A! !  A~q! A! ! !@ Aj6 -! Aj"6 Ak6 -! Ak"6 A tAsq trA tAsq  Artr! Aj! ! Aj" G @ Aj"6 -! Ak6 A tAsq  tr! ! AtAk ! Aj6 A tAsq -Ar tr! 6 (! Av"AF6 AvAq"AF" AvAq"AF"  Aq"AF" jjj"kA j"6 ) AA t rAA t rAA t r  kA j"7 AN A!  ("AtAj(! BS@ Ak!A tAsAt!B! A  A NAj  A? kA tAsqAtAr!  Aj"k! ! A  ALAk ! 6 6  " 7  )(B@"7( AH@A!  AtAj(! BS@ Ak!A tAsAt!B!A  A NAj  A? kA tAsqAtAr!  Aj"k! !A  ALAk ! 6 6 " 7 B@ B"7( AH@A!  AtAj(! BS@ Ak!A tAsAt!B!A  A NAj  A? kA tAsqAtAr!  Aj"k! !A  ALAk ! 6 6 " 7 B@ B"7( AH@A!  AtAj(! BS@ Ak!A tAsAt!B!A  A NAj  A? kA tAsqAtAr!  Aj"k! !A  ALAk ! 6 6 " 7 B@ B"7( AH@A!  AtAj(! BS@ Ak!A tAsAt!B!A  A NAj  A? kA tAsqAtAr!  Aj"k! !A  ALAk ! 6 6 " 7 B@ B"7( AH@A!  AtAj(! BS@ Ak!A tAsAt!B!A  A NAj  A? kA tAsqAtAr!  Aj"k! !A  ALAk ! 6 6 " 7 B@ B#"7(A! AH AtAj(! BS@ Ak!A tAsAt!B!A  A NAj  A? kA tAsqAtAr!  Aj"k! !A  ALAk ! 6 6 " 7 B@ B*"7( AH@A!  AtAj(! BS@ Ak!A tAsAt!B!A  A NAj  A? kA tAsqAtAr!  Aj"k! !A  ALAk ! 6 6 7 B@ B17(A! Ak6 )("B7( Aq " @ ( "@  A6  ~@ BT@ !  @ Ak" B "B~ |A0r: BV ! BR@ !@ Ak" A n"Al jA0r: A K !   AO@ @    j!@ sAqE@@ AqE@ !  E@ !  !@  -: Aj! Aj"AqE   I A|q!@ AI  A@j"K @  (6  (6  (6  ( 6  (6  (6  (6  (6  ( 6  ($6$  ((6(  (,6,  (060  (464  (868  (<6< A@k! A@k" M M @  (6 Aj! Aj" I  AI@ !  Ak" I@ !  !@  -:  -:  -:  -: Aj! Aj" M  I@@  -: Aj! Aj" G O A60 ( 6$  ( ( (D!E@ Ar6DA 78 A{q6DA c {~}#Ak"I$@ -AqE  (G ( A,lj"J(+"E@ J4  ( (! (d"E@ (`! (! (! (! ( ! (  t v| r>  v x| r>  v y| r> sB|"s uR Aj" G A!# ;A6 (!AA"@  6  6 E  ($! ((!#Ak"$ A,l" (" (Lj"(!( ("! !/A!#A k" $  (Lj"(!@ ("Al" E @ At"E@ !   (L A,lj" ("Aj"A"@@ @ (! !@  /6  A"6 E   (" 6A!A! @@ ( Atj" (+ Alj" (A"$6 $E   (6 Aj" ("I Aj!  F Aj!E   ("@  A6 !A! @ ("@A! ("@ ( " @  A6 (! Aj! Aj" I (   A6 Aj! F Aj! E  A "@@ E A! ! AO@  A|q" Alj! !@  Atj   0  Aj! Aj" G F  @  Atj 6 Aj! Aj" G !A! (L A,lj(+! (! ( (   ("n" lklj" ("  K6 A  ( j"  K" ("  I6 ( ( lj" ("  K6 A  (j"  K" ( "  I6 A6 A6 A6 A6 (@@   Atj(A ! 5"rB}"v 5| r!w 5"sB}"t 5| s!x v 5 | r!r t 5| s!s (" (K@ 6 (! @ Aj! Aj!$ wBB}!v xBB}!w rBB}!t sBB}!xA!@ At"j(!  $j(!A! @  6  6 Aj! @  Ak" j"AK (""A vK ("* " t"  *K6 @  j"AK (""A vK ("* " t"  *K6 A!B "r"s v| r"yBB "u|B} u s t| r"" vkA vqA " yG! s w| r"yBB "u|B} u s x| r"" vkA vqA " yG! @  6  6 Aj!  l" (K@ 6 Aj" (I A4j! Aj! Aj" (I Aj!$ (! (! A6@ (Aj"   l""l"~B P@   l"6  A"6     ("@  A6 $E@ !  A! !@ (" @A! ("@ ( " @  A6 (! Aj! Aj" I (  A6 Aj!  F Aj!E !  (!  ("*6  ( "06  ("'6  ("56  6  "6  6A! A6 @ (!A! !@  Atj(!  (6  (6@ ("E ( ! AG@ A~q!1A!@  (6  (6  (6  ( 6  (6  (6  (6  (6 A j! A j! Aj" 1G AqE  (6  (6  (6  ( 6 A4j! Aj! Aj" G $AK@ !@  56  '6  06  *6 A6  6  "6  6 @ (!A! !@  Atj(!  (6  (6@ ("$E ( ! $AG@ $A~q!1A!@  (6  (6  (6  ( 6  (6  (6  (6  (6 A j! A j! Aj" 1G $AqE  (6  (6  (6  ( 6 A4j! Aj! Aj" G  )7  G Aj! Aj!   (!@ -,Aq@ AF  Aj! (!A! ! @ ($! A6, 6T (60 (! B7D 64 ( 6< (6@ (! 6L   K68 Aj! Aj!  F Aj!E  AF (! (! ! @ AjA~q! A!@ B7D A64 B7, 6T 6< 6 6L 68 B7 A6 B7 6 6 6 (6@ (6 Aj! Aj" G Aq B7D A64 B7, 6T 6< 6L 68 (6@ !    A j$@ E (Aj! ! !@@@ (TAF  (At" E  (At"@ A  ]@@ (!@@ (( ( O ( "  (Alj"(O ( Alj"(E Aj!A! @@  ( (  A$lj"( ( ($A(lj"( ( ( ( ?E@ Aj" (I   (AtjA6 A6 ( (   Aj  Aj  /\E  ( ! (! (! (@ A6 ( Alj( Alj"$("  k!  j!" $Aj! A!A!  j"(! @@ ( (F ( (F ( ($A(lj"( (l"*E (!A!@ ($"@@ E@ (@E  A64A! A  (! @  ((" Alj" Ak( A k(G@ Ak!  AjA 6( @ (" AsK Aj! @  j "K  (! (4" (8G   AtAr"At"E@ /AAA   68  6 (4! (! ($ !  Atj" 6  6  Aj64 ( j6 (" (j" 6   k"6$ 6  j! A  F   ((Aj6( A,j! (,! Aj!  AsM (! ( ! ($! ((h@  6x  6t  6p  6l  6h  6d  6` /AA Aj   6X  6T  6P  6L  6H  6D  6@ /AA A@k A64 A6@A ! ((! A, j 6 Aj! Aj" *G $(! A$j! Aj" I ( ! (! (k A j! ( A4lj" ($"  I6$  (! A6 (    Aj  Aj  /\E  (! (! (E ( Alj( ( "$Alj"(""E  k! Aj! ($! A! A!@@@@ ( (F ( (F ( A(lj"( (l"(E (!A!@ ($"@ (!@  (("  Alj"Ak( A k(G@ Ak!  AjA "6( (" j" I  K @@  (" (j6  k!  F  Aj"6( (," j" I  Aj! ! M    6$ Aj! Aj" (G A$j! Aj" "G j!   6$ ((hE@  6  $6  6  6  6  6  6 /AA  (! j!   68  $64  60  6,  6(  6$  6 /AA A j  @ Atj(E ( A4lj"($  ( Alj(Ak6$  k!  j! ]  Aj! !Aj"! (M  @ ;  k6A   @    @ A Aj$ 0E  ( (+!# ((" (! ;A6 A!A! ( "( (F@ #(AvAq! @ (" E @@ (D"@  Atj(E  ;A j!A! @ ("E (,!@ ( Alj" ("@ Aj! (! (!A! @  l@  A$lj! A!@  ( ( ( A(lj"( ( ( ( ?! (" ("l!@ @ E A!@@  ( ( ( Alj"( ( ( (?E@ (<"E   A6<  (@E@ (<  ( (F  ( ( F  AA,"E@ ;A6 (@! A6$  6  #6  6  6  6  6  6  6(  /6  (AJ6 A 1 ;( E Aj" ( (lI  E A!@ ( Alj"(<"@  A6< (! (! Aj"  lI Aj" (" ("lI (! Aj" I (! Aj" I ;( E  (! #Aj!# Aj! Aj" I A!# (,! ;( E @ (@ ("(E A!@ ((( Alj"( ( A4lj($Alj"(! (! (! (! (4 A64@ (D" @ Atj(E   F  F  k"  k"~B BR@ /AAA   l"AO@ /AAA   At"64  /AAA  Aj" ("(I ( ! (("(@ (! (+! ((! A!@@ (D"@  Atj(E  ($Aj! (AF@ !A!A! !i#A k"+$@@ (@@A! AF  (" (Alj"Ak(" Ak("F  (! ( (! (! (," (! Ak"! !@ AO@ Aq!  A|q" Alj!A! @ i  Alj"Aj Aj Aj \VVV Aj Aj Aj \VVV Aj Aj Aj \VVV Aj Aj Aj \VVV!i Aj" G i i i  "i i i ! F  @  ( (k"  K" ( (k"  K! Aj! Ak" A! A?K  + At"7"6 E   k! k!  k! + 6@ ($! + " 6 + "6 (! (! (! + ("Ao6 +  k" k6@ AH"E k" AKqE@A! E @ +Aj   lAtjc Aj" G  I"Ak! n!A!@A$"E  +!i  6  6  6  i    l6  F!  Aj" l 6  7"6 E@A! !    A 1  G ! + k6 + (Ao6 @ E AKqE@A!A! AO@@ +  Atj A6 "Aj" M  M  +  Atj   k6    I" Ak!  n!A!@A$"E  +!i  6  6  6  i    l6  F!   Aj" l 6  7"6 E@A! !    A 1  G ! Aj! Ak" A!   A! (" Alj"j!, Aj". >j!4  3j![ j!\  !k  !l  Atj!] M At"j!F  =j!G  Mj!H E )AFq!^  CAt"j!_  =j!` . !o =  ) Atj!a % 'j" Ak"Atj I AKr A%Ir!b@@@  I Mq  RI  SOq Aj!'  0 BK@ `A6 _A6 2   6 Aj"' ZAA 2 \  [ ' YAA@@@ :E@ XE   6N @@ AJ@ a(!  %("! AH  ! P(! D D(  jAjAuk6 ." N A! o!i l!j ! ! N EA IrE@@  iA"mj" "p "q   % jA"nj % nj % nj % nj\VVV p q   A"nZ  mj nZ  mj nZ  mj nZ j !j i !i Aj" >G 4! ,! ! > EF  Aj!@ kAqE@ ! !   Atj" ( % Atj( (jAjAuk6 !  "F @  Atj" ( (" % Atj(jAjAuk6  Aj"Atj" (  (jAjAuk6 Aj" G !  @ ^E@ " 6N @  Atj"(!  @ AN@ Aj!  H  )H(!-  (!-A!  Aj"   )N@ ! H   "Atj ( -jAjAuk6  6H   (Am6  " 3N @  At"j"(! AH@ %(! %  Aj G  H(! % E  G  =j  J !  ( jAu j6 Aj" 3G   6N @  Atj" (@ AJ@ =  )  )HAtj(!  %(! % AH  O  )N  % Atj ( jAjAuk6 Aj" 6G 3N @  "L A! ! k!i bE@@  iA"jj"Aj %  jAtj""m "n      A m n  "mZ % jj mZ % jj mZ % jj mZ i !i Aj" QG 7! Aj!  kAq@  Atj" (  Atj( (jAuj6 !  "F @  At"j" (  Aj"j(" (jAuj6  %j" (   Aj"Atj(jAuj6  G !  3N @@ "AN@  Atj F  H(! Aj!  (!A!  Aj"   N@ ! F   "Atj ! % Atj" ( ( jAuj6  3H 2   C ' ]AAA'E  '" (G Aj! 8At" AtAr"  K" (  (I!-  Atj"Aj ? &At"j"A j &H"!3 Aj Aj !6 Aj Aj !: 9 Aj   AH!>  Ak  J! 9 ? & Atj"8 AL"B!D &AJ"E AJr!F  AAtj!G A AAtkAtj Atj!H  &  &H! Aj!  1At" !AtAr"  I"NAtj!O L At"j!  Lj!! E &AFq!P  ?j"'A j!. 'Aj!7 'Aj!, 8A j!Q 8Aj!@@@@ " CI@ 2 A C k" AO j"  GAA 2 S  R HAA AE@ FE  N   ( D( >(jAjAuk6 BE@ 8(! ! Q  (! AH  5! K  (  :(jAjAuk6  ( ( 6(jAjAuk6 3(!(  P@  (Am6  (Am6  ( Am6 % %(Am6   "J@@  Atj!  AH@ (!  ( E AGr"  !( jAjAuk6 %(!  (   !( jAjAuk6 (!  (   !( jAjAuk6 ( !  (   !( jAjAuk6 Aj  @ & Aj"J@     Atj A   (!  &H@  Aj V ]   ! A    Aj V ]  !A A   "G  "L @  Atj!@ AH@  9AA    (! E@  9 Aj .  H" Aj 7  Aj ,  Aj ' \VVVA A j  ] V    L@  Ak Aj .  H" Aj 7  Aj ,  Aj ' \VVVA A j  ] V    'AA Aj V ]   Aj" G  0! (! @Aj"@ G    ( AtAjAuk6  ( 5(AtAjAuk6 K(" !  (  jAjAuk6 ! "!  H@@  Atj"  9 Atj  A  "Aj" G !  N @ 9 At"j!  j!  &H!1 AL@ 9(!4 AN@  ( 4   1"(jAjAuk6  ( ( (jAjAuk6  ( ( (jAjAuk6 ( ( jAj   ( 4AtAjAuk6  ( (AtAjAuk6  ( (AtAjAuk6 (AtAj  ?  & 1Atj"(Aj!4 (!) 1E@  ) ( 4jAuk6  ( ( (jAjAuk6  ( ( (jAjAuk6 ( ( jAj   ) ( 4jAuk6  ( ( (jAjAuk6  ( ( (jAjAuk6 ( ( jAj !  ( Auk6 Aj" G  N  ""J@@  Atj"  A   Aj" G !  N @ 9 At"j! @ AH@ (! AG  AL@  ( ( jAuj6  ( ( %(jAuj6  ( ( (jAuj6 ( ! (    j!@  Aj"J@   Atj A     N@        A      ( j6  ( %(j6  ( (j6 ( " !  (  jAuj6 Aj "G 2 N  - OAAA'  A! 2 j!X  Al"Kj!Y  Al"Lj!Z  At"6j![  A l"Mj!\  At"9j!] !o At"( (Au"s k!r@  "6  "6( (! (!" (!< (!, A68  64 A60  ,Ao"6,  < ,k" k"6<  6$@ *AH"^E " k"AKqE@A! ! AI   j i j  k l     Aj" G ! @ Atj" 6j  Atj" *8 Lj *8 Kj *8 >j *8 Aj" G -Aj!- Aj! Aj Aj" ! I   Av" *  *I"nAxq! Axq! A! ! @A0" E  ?"6 E@A! !    6( 6$ 6 6 A6 6 A6 6 6 6  lk  Aj" F"6, A 1  lAtj!  G ! @  M A j"   k" A # E Q  (""| ">B 5(""B}" "| |   | k"AH@  6  6 AA A!  6  " | |   |B} k"AH@  6  6 AA AjA!  6 A4j!A! Aj" G  AA4A A j$   @@ (@ ( "@ 4 (  A6 ("@  B7 (@ B7< (H A6H (X A6X  (,"@  A6, ( "@  B7 (4"E  B74 ([ ("@ ( (l"@ 4 A,j! Aj" G (   A6 ("@ ("@A!@ ( Atj("@  (! Aj" I (! A6  A6 ( A6 A6 (| A6| -AqE@ ( AjAA (8 A6 (8 A6 ("@ ("@  A6 (("@ ($@@  A(l"j($"@  ((" jA6$  j("@  ((" jA6  j("@  ((" jA6 Aj" ($I  A6(  A6 (`" A6` (d" A6d ("@@ (E ( @ A6(@ (AJ A6 ( ("E @ (!   6 " ($"@ ("AJ@A!@ ( A lj"("@ (  (! Aj" H (   A6  ~ ((( Alj" ( " (( A4lj" 5"B}" 5<| "  I! (" 5"B}" 58| "  I! ("  54| "  K! ("  50| "  K! A! ( (+ Alj(!@ (A kA j"E@ ! ! !  Aq Ak"t" I@ kB "B| ! A!A! Av t" I@ kB "B| ! I@ kB "B| !  O@A!  kB "B| ! A AA AF"j" KI A  j" IIq   k"A MKq   k"A MKq  @ ("@  A6 @ !@ ("@A! ("@ ( "@  A6 (! Aj! Aj" I (   A6 Aj! Aj" G  { Al!  Atj! (" ( "At"j! k (! (! (! (! @@@@ AI Aq AqE   O @@ Ak @  k"A4I At" Atjj"   jAtjI Atj jA8k"   jAtjKq  AtjI  Atj" Iq  !  A|q" j!A!@  A"j" Atj""8  j" 8  j" 8  j" 8   Atj"8  8  8  8  ! Aj" G  F  Aj!  kAq@  Atj"  Atj"*8   Atj*8 !  F @  Atj"  Atj"*8   At"j*8  Aj"Atj"  Atj"*8  j*8 Aj" G  @  k"AI  Atj! At" Atjj  AtjI@ Atj jA   (" "| "> B "" }    "| } k6   }    "| } k6 A4j! Aj" G  I@ (!@  A4l"j(, (" jA6, Aj" (I  (`(6 (d"@ " AA$"6dA! E  F 6, (A %E (" (! (!@ @A! Aq! AFA A~q!A!@A E A   (E    (AG ! Aj! Aj" G E !A  !@ E    (AG! A6   (`"A! A6`  A6 M! Aj$  @@ (<"E@ ( A A4l"E  (@ (!@  A4l"j(, (" jA6, Aj" ("I  (< (d(!A!@  A4lj"  (@ Atj(A4l"j"   (060        (d(" j"($6$  (,6, A6, Aj" (<"I (   (d(!A!@  A4l"j(, (d(" jA6, Aj" (I (<  6 (  6A (! (d(!A!@  A4l"j"  j($6$ (, (" j (d(" j"(,6, A6, Aj" (I A (`" A6`A @ E @ ("E (`"E (E ((( G ("E ("(( (, A! AO@ Axq! @  A4lj 6(  ArA4lj 6(  ArA4lj 6(  ArA4lj 6(  ArA4lj 6(  ArA4lj 6(  ArA4lj 6(  ArA4lj 6( Aj! Aj" G Aq"@@  A4lj 6( Aj! Aj" G  = A (d"E@ AA$"6d E   F (A %E ("(! (!@ @A! Aq! AFA A~q! A!@A E A   (E    (AG ! Aj! Aj" G E !A  !@ E    (AG! A6   (`" A6`A A6 M!  @AA0"  ("   )7  ("6  Al"6 E@ A @ (("@ (Al"E       A6  (($"6$  A("6( E@ ( A @ (((@ ($E @  A(l"j ((( j("6 Al! ((" j" 6 E@ A!@ (( A(lj( Aj" G ((    @ ((( j("@ (Al"@    ((!   ((" jA6  j ((( j("6 Al! ((" j" 6 E@ A!@ A(l" ((j( (( j( Aj" G ((    @ ((( j("@ (Al"@    ((!   ((" jA6  jB7 Aj" ($I   A6( A  ( A {#Ak"$ (`(! AA8"6 @ E  (`("6  l   (6 (! A64  6  ( " (6  (6$  (6(  (6,  A"60 @ @@ Al" (+j"(! (0 j"    (6  (6@ A K @ Aj Aj ("E Aj Aj  ("6  (6A!@ AG@ (Al"AkAK  Ak! Aj! A j! Aj! A!@ AI  AtjAj K@  AtjAjI  A|q!A!@  At"j Atj"" "     j      Aj" G F  Ar! Aq@  At"j Atj"(6  j (6 !  F @  At"j Atj"(6  j (6  Aj"At"j Atj"(6  j (6 Aj" G  (6 Aj" G !  A j@ ( "(0"  (   A6 Aj$  #Ak"$ @AA   (6 A Aj  (6 A Aj  (6 A8 Aj  (6 A Aj AJ@@ (+!  6 A Aj   Alj"(6 A Aj  (6 A9 Aj  (6 A7 Aj  ( 6p A8 Aj  (6` A Aj  (6P A: AjA A  (@ Aj! Aj!A!@  At" j(!   j(6D  6@ A A@k Aj" (I x  (60 A8 A0j  (6 A8 A jA!A A @ (AG@ ("AL  AlAk! Aj!A!@   Atj)B 7 A Aj Aj" G x  (6 A8 A A  Aj" G A A  Aj$  ~{#Ak"$@ Aq@A.A   @ AqE (`"E #Ak"$AA  A:O A :N  )7D  Aj"6@ A: A@k  )74  60 A: A0j  (6$  6 A8 A j@ (E (E @  Aj" 6  6 A Aj ( A4lj! #A0k"$ A ;. A :-  )7$  A-j" 6 A8 A j  (6  6 A: Aj  ( 6  6 A:  A0j$  6 A  Aj" (I A A  Aj$ @ AqE (`E AA$   )l7 A Aj  )t7 A Aj  )7 A Aj ( (`( QA A  @ AqE (`E ( (l"E (!@  (`( Q A,j! Aj" G AqE (!AA%    p A, AjAA @ (E (E A!@ ( Alj"/! )!  (6`  7X  6P A9 Aj Aj" (I A A @ (("E ($"E A!A!@@  A(lj"("E ("E )BW )BR A u   j! Aj" G E AA  ($@ ((!A!@   A(l"j("6D  6@ A: A@k ((!@ E A!  j(E @ (( j( Alj"!  )78  (  6 A A j Aj" G ((! @  j"(E A! (E @  j( Alj"/! )!  (6  7  6 A9  Aj" ((" j(I Aj" ($I A A  A A  Aj$ @AA" A6 A6  -Ar: AA,"6 E  AA"6 E  B70 A6, A6@AA0"@ A6 A6 AA"6    A6  A6(  6 9"6 E  9"6 E @A uE Ap"6 E@ Ap"6 E  A  >A  ~#Ak"$ (`! @@@ (AG (AG ((+  (AF AAA  @ (" E (! (! AO@ Axq!@ A4lj 6( ArA4lj 6( ArA4lj 6( ArA4lj 6( ArA4lj 6( ArA4lj 6( ArA4lj 6( ArA4lj 6( Aj! Aj" G Aq" E @ A4lj 6( Aj! Aj" G  r r rE@ AA1A B7 )7$     =!  AH@  6 AA A!  (" I@  6  6 AA AjA!  @ (" K@  6  6 AA Aj A6 (!   (lk (tn6  6 AH@  6 AA A jA!  ( " I@  64  60 AA A0jA!  @ (" K@  6  6 AA Aj A6 (!   (pk (xn6  6A! AL@  6@ AA A@k  (" K@  6T  6P AA Aj  @ (" I@  6  6 AA Aj (6$ (!  5t"  (lk|B} >$  6 AL@  6` AA Aj  (" K@  6t  6p AA Aj  @ ( " I@  6  6 AA Aj (6( ( !  5x"  (pk|B} >(  6 -\Ar:\  =E@     AA; AjA! Aj$  #A k"$ (`"E@ AAAA  AA ("E  @ (`!@@@  Atj(" (O@  6 AA Aj   Atj" (E   6 AA  A  A6 Aj" G  (@@ @ At""6@ E@ A61>1>1> 6?6?6?6?     ????  ! " " t?t?t?t?     1>1>1>1> 6?6?6?6?     ????  A j! A j! A j! Aj" G @ Aq"E *! *"Ct? *"8   C1 C68   C?8 AF *! *"Ct? *"8   C1 C68   C?8 AF *! *"Ct? *"8   C1 C68   C?8 AF * ! * "Ct? * "8   C1 C68   C?8 AF *! *"Ct? *"8   C1 C68   C?8 AF *! *"Ct? *"8   C1 C68   C?8 AF *! *"Ct? *"8   C1 C68   C?8 {@ E AO@ A|q!@ At"j"   j""  j"" A"        Aj" G  F  @ At"j" (  j"("  j"(" jAuk" j6  6   j6 Aj" G #Ak"$ !@ ( Atj"("E@ !  @  6 Aj! ""(" A!@ (" H@  6 ! @  N @  (N @ A @  6  Aj!  H  6  G@ Ak"(! !  ( Aj$ H {#Ak" $@ E@A!  @  (F@ ( F  6 6 6 6 ! !@ "Aj"At" j AjAm"6 Aj j AjAm" 6   l" j! ! ! AK 6@@@ E@ ( "E   A6  At" (M  ( "  AA2A ( "E  A6 A!  6  ("k"@  jA  6 (! (! ( ! @   lAtj"!@@ At"j(" AL Ak! @@ Aj j("AL@ Aq! A! AG  !  A  ANkAjAv" AxlAjAv"  K"Aj" Aq"A k"At! At!  Atk! AK q!A! !@   j  jA!@ " @`"   0"Z  Z  Z  Z  0Pp" Z  Z  Z  Z A@k! Aj! Aj" G !!   !@@  6 AF@ Aj! Aj!   6 Aj! A j! AJ Ak!    Atj   FrAq"!   ! ! Aj" G  Aq!A!@  F! Aj!   "! ! Aj" G E@ !    Atj   FrAq"!   ! Aj" G A6 ("E ( ! AO@ A|q!A!@ A6< B74 A6, B7$ A6 B7 A6 B7 A@k! Aj" G Aq"E A!@ A6 B7 Aj! Aj" G Aj$ @ E ("E ( ! AO@ A|q!@ A6< B74 A6, B7$ A6 B7 A6 B7 A@k! Aj" G Aq"E A!@ A6 B7 Aj! Aj" G {#Ak" $AA"E@ AA2AA   6  6 6 6@ "Aj"At"j AjAm"6 Aj j AjAm"6  l"j! ! ! AK  6 E@ A   A"6 E@ AAA A   (" At6 ! @  ( (lAtj"!@@ At"j(" AL Ak! @ Aj j("AL@A! AG@ Aq!A!@  F! Aj!  "! Aj" G Aq  !  A  ANkAjAv" AxlAjAv"  I"Aj" Aq"A k"At! At!  Atk! AK q!A! !@ E@ !    j  j!A!@ " @`"   0"Z  Z  Z  Z  0Pp" Z  Z  Z  Z Aj! A@k! Aj" G !  !@@  6 AF@ Aj! Aj!   6 Aj! A j! AJ Ak!   FrAq"!  Atj "! Aj" G   Atj   FrAq"  !! Aj" G A6@ E AO@ A|q!A!@ A6< B74 A6, B7$ A6 B7 A6 B7 A@k! Aj" G Aq"E A!@ A6 B7 Aj! Aj" G  Aj$ S - AF@ B7 A (" (O  Aj6 -Ar6 A6A  @ AM @A((E@ AqAF   AM@ A?qAr: AvAr:A A@qAG AOqE@ A?qAr: A vAr: AvA?qAr:A AkA?M@ A?qAr: AvAr: AvA?qAr: A vA?qAr:A AA6A :A ~~ "B4Aq"AG| E@  DaA DC m! (A@j 6   Ak6 BB? @@@@@@@@@@@ A k      ("Aj6 (6  ("Aj6 27  ("Aj6 37  ("Aj6 07  ("Aj6 17  (AjAxq"Aj6 +9     ("Aj6 47  ("Aj6 57  (AjAxq"Aj6 )7 o (",A0k"A K@A @A! A̙M@A  A l"j  AsK! Aj"6 , ! !A0k"A I  I@AA,"@ A6@ AL@ AA"6$ E   A6  A!  ~#A@j"$  6< A'j! A(j!@@@@@A!@ !  AsJ   j!@@@@ "-" @@@@ Aq"E@ !  A%G  ! @ -A%G@ !  Aj! - Aj"! A%F  k" As"J @     6< Aj!A!@ ,A0k" A K -A$G Aj!A! !  6  Aj"60A!  ! A!@@ (" E Aj l" AH  kK Aj!  j" I  A=! AH A    E@A!  A! (0! @ (" E  Aj" l" j" K   Aj!  K A   As    H!   AHq A=! +0   "AN  -! Aj! E A!@  Atj("@  Atj  nA! Aj"A G  A O@A! @  Atj( A! Aj"A G A!   :'A! ! ! k" J" AsJ A=!   j" H" J  A     A0  As A0  A  A  As ( A6 (H"@  A6H (D"@  A6D (l"@  A6l (t"@ ("@  (t"A6  A6t (x"@ ( "@  (x"A6 ("@  (x"A6 ("@  (x"A6 ("@  (x"A6  A6x ("@ 8 A6 ("@ 8 A6  {#Ak"$A!@ ((< ( @@ (t"E@ (x!  (! /!@ (x"E ( E -! @ @ (!@  Alj" /" O@  6  6 AA AjA!  @ /" E AF Ak" I  6  6 AA AjA!  Aj" G     @ Ak!A!@  Alj/ G@ Aj" G    @ E ( "E @@ -"@A!A!@ ("  Atj/" M@  6  6 AA AjA! Aj" G A" E A!@@  Atj"-" AO@  6D  6@ AA A@kA!   -"M@  6 AA AjA!  Atj! @ AG" (E  6P AA AjA!  @ E  6d  6` AA AjA!  @  F  6x  6t  6p AA AjA!  A6 Aj" G E!A!@@@ At"j(E@  j-  Aj" G  Aq  (AG A!@ Atj(@  Aj"G   A! AAAA! AO@ Aq!A!@  Atj" : A:  Ar" Atj" : A:  Ar" Atj" : A:  Ar" Atj" : A: Aj! Aj" G Aq"E @  Atj" : A: Aj! Aj" G   60A! AA A0j Aj" G  A!  A"  A! AAA   @ (x"E ( "E@ ( (x( (x( (x"( "  (x   A6x  (! @@ -" @ (! (! (!A!@@  Atj/A4lj(,@ Aj"G    6 AA A jA!  A4l" E A!@  Atj"/! - -  A4lj" A4lj"   (060       A4lj" ( ( lAt"6, E@ @ Aq!@ A4l jAk( Ak" A! AAA    j-6   j-6 Aj" G (x/"Ak!@ A4lj"( (l!  Atj"/A4lj(,! @ -E@ E  (,!A!A!@ AI  kAI A|q!A!@  At" j j  Aj" G  F  ! Aq" @@  At"j j(6 Aj! Aj" G  kA|K @  At"j  j(6  Aj"j  j(6  Aj"j  j(6  A j"j  j(6 Aj" G  E  -"Atj! A4lj(,!A! AG@ A~q!A!@  At" j  j("   JA AN lAtj(6  Ar" j  j("  HA AN lAtj(6 Aj! Aj" G AqE  At"j   j("   HA AN lAtj(6 Aj" G  A4l"  A! AAA  ("@A!@ A4lj(,"@  Aj" G   6  6 (t"E  (! /" @ A*j! A$j! Aj! Aj! Aj! A j! Aj! Ak!A!A!@@ (" Alj" /"M@  6  6 AA9 Aj  /"AjAqAM@ ( A4lj /;0  Ak" Aq" O@  6  6 AA8   @  F /  (" A4lj"(06            A4l"j")7  )7  )7  ) 7  )(7(  (060  )7 ( j"          (60 Aj O !  kAq"AO@  Aj" Aq"A k"j! ! !A!@    jAl"j"      " .  -"NAAR!  - P"Aq@  Y Aq@  j Y Aq@  j Y Aq@  j Y Aq@  j Y Aq@  j Y Aq@  j Y Aq@  j Y Aj" G @ !@  Alj"/"G@ !  G   ; Aj"AqG ( A4lj /;0 Aj! Aj" G (t"(!   (t   A6t  A! AAA Aj$  #A k"$@ (<"@A!@ (d( (@ Atj("A4lj(,E@  6 AA; AjA! ($  (( k| >(  6( 6$ B7 A,"6 E@ AAA  (A! ( 6+ ( (+E@ AAA  A A! ( 6+ ( "(+E@ AAA  A 6+A A! ( 6+ ( "(+E@ AAA  A 6,@ ("E (! A! AG@ A~q!A!@ A4lj" ( E@ ( (+ AljA (Akt6 Ar" A4lj" ( E@ ( (+ AljA (Akt6 Aj! Aj" G AqE A4lj"( ( (+ AljA (Akt6 @ (!A!@  (A"6+ E@ AAA  A,j! Aj" I  ( ( (l"6$ A(! (" 6(A E A ($E A!@@A!  A(l"j"A6 A6AA!  (" (("j 6 E A! Aj" ($I   E  A6 ("@A (p" (x" (Aklj" j"  I" ( "  IB}!A (l" (t" (Aklj" j" K" (" IB}!  (" IB}!  (" IB}! (!A!@  5" | ">  5"| "> B 5("B" | }B| >  |  }B | > A4j! Aj" G A!   6 AA= AjA!  A! A6 AAA   64  60 AA A0j   6(  6$  6 AA A j Aj$  #Ak"$  AA (`("AI"AtAj"n" lF  OqE@ AA$AA   (AF@ ( (A,lj  ( !A! -,"Aq@ (Aj! j"A O@  6 AA< A   Ar:, I@  AljAj!@  A Aj" Aj   j" AjA  (" ("  I6 Aj A jA Aj" Aj   j" A jA  ( 6$  ("   I6 Aj! Aj! Aj" G  Ak6A Aj$ #Ak"$@  Aj (`(AM@ @A!A  AA$AA  AM A~!A "   j6 (" (`("O@  6  6 AA< A    j A j HE@ AA$AA  A ( E  AA$AA  AA$AA Aj$ #Ak"$  6 @@ A  A j HE (  (AF@ ( (A,lj  ( A! (`(AI (+"Aj!A! !@  (6  (6 Aj A Aj! Aj" (`(I  AA#A Aj$  #Ak"$@ AA (`("AI"AjG@A! AA!A   (AF@ ( (A,lj  ( !  A j A!  j" AjA  ( "M@  6  6 AA A!  Aj (+ AljAjA Aj$ #Ak"$ (AF@ ( (A,lj  ( !@AA (`"(AI" O@A! AA$A    Asj6  Aj  (" (O@A! AAA  A!  j" (+ AljA ( Aj A j IE@A! AA$A  ( E A! AA$A Aj$  #Ak"$  6 (`!  (AF@ ( (A,lj  ( " -,Ar:,@ AM@A! AA#A   A (AO@A! AA#A  Aj AjA  ("6 AN@ AA#A A6 Aj AjA ("AkA|M@  6 AA? A!   ("  6 Aj AjA (AO@A! AA+A  Aj!  ( Ak6 @ (" E (Aq! (+!A! AO@ A;j! A2j! A*j! A!j! Aj! Aj! Aj! Axq!@  Al" j 6 j 6  j 6  j 6 j 6 j 6 j 6 j 6 Aj! Aj" G Aq"E @  Alj 6 Aj! Aj" G A! A  A j IE@ AA#A  ( @ AA#A   (AF@ ( (A,lj  ( ! (`(AO@ (+"(At! Aj! Aj! A! !@     (6 E"E@ Aj  E@ Aj  Aj! Aj" (`(I A! Aj$  #Ak"$ A6x@ AG@ AAA AAA   AjA Aj AjA Aj AjA Aj AjA (" (" (lO@  6p AA= Aj  ( A,lj!  n! (t!@ (,"AN  Gq (+Aj" F  6h  6d  6` AA= AjA!   6+@ (|"AkA M A G  A 6@ AA A@k (|  E@ AAA A68 @@@@ (+"@ (t" I   64  60 AA( A0j A68A!  (x"   (x"E    -\AvAqj"6x (t" (+" AkK@  6  6 AA' Aj A68A!   O@  6$  6 AA) A j A68A!   6+  (tAjG -\Ar:\ (|! A6 A A k (86@ (,"AF@A!@   lk" (I  ($O  ( I AA  ((O! -\Aq r:\ (!  -\AqAA (" Gr:\ ((( A(lj" 6  (t6 (x! (LE@ ( O@A!   6 AA  A6L (x! (! (((! @  A(lj" 6  (x"6 ("E@ A! ((( (A(lj 6 @A!  A! AA6A   Al! ((( (A(lj! E@ (A! ((( (A(ljA6 AA6A   6A!  @  A(lj"(" A 6A A! (((" ("A(lj 6  A!  A(ljA6 AA6A  (t"  A(lj"(I@A!  A!  Aj"6  Al! ((( (A(lj! E@ (A! ((( (A(lj"A6 A6 AA6A   6   6P AA AjA! Aj$  #Ak"$ A6L (,! @@ ((("E (E @  A(lj"(E@  )0B| .  AA*A   () .E@ AA*A   (A AG@ AAA  ( AjA (HAF AAA  (AG A6 @ ( (l"E (!A! AO@ Axq!@  A,ljA6+  ArA,ljA6+  ArA,ljA6+  ArA,ljA6+  ArA,ljA6+  ArA,ljA6+  ArA,ljA6+  ArA,ljA6+ Aj! Aj" G Aq"E @  A,ljA6+ Aj! Aj" G A! AjA Aj A@k AA ($ Aj!  E  A   (<"E  A6< ("2( 2(Alj"Ak(!6 Ak(!7 (!/ ( !0 (!8 ((E  Aj!@A ("AL  (!A!@@  A lj" (E  Aj" G A  ( " AA"E@ ( AA1A  A6A!A ("AF  (! AJ@@  A lj" (E@ (" (  (  A lj"A6  6A  Aj" G A  A lA j"E   6  ("A lj"A6  6 A6  Aj6A ( AAA (t"@  A6t (x"@  A6x (    (6 ((!+ ($!! ( ! /(! 0(!@@ /("Aq@ !A! #Ak" $@ @ !@A! AAA  A! AAA  (t!@@ ( ( k" ( (k"l" (K@   At""6t E@A!   6  E  At! E A  (x!@ (AK  A"6x  A!  A6 AA  6  6| ("E@A!  (!A!@@@@@ (4"@ (!A!A! AO@  Aq"A k!@  Atj"    G!G Aj" G G G G  "G G G ! @  Atj( j! Aj" G AF@ (E   (M  ( " A!  (E  (" A!   6  6 (4E@A!  (!A!A!@  At"j"("@  j (  (" j( j! Aj" (4I  ((! A!A!  k@A (("E  ("(!A AF  ( j"E@A!  A! ("(! AF@A!  (! Aj! (t!% (x! ( !" (! (! (!+@@@@@@@@@ E !E  AAAA!  AI  !@ 6p AA Aj  6` AA AjA!  AAA ("AK A!  O   (""AM  !E 6 AA A j  6 AA A!   I  AI@ !   G@ !  A!A- !E@AA: 6@ AA A@k  A-E@AA: 6P AA Aj @@ AI  I j M  !@A! AAA  A! AAA  @@  j"Ak-"At Ak-Aqr"AI AF  L  !@A! AAA  A! AAA  (!# A6 A6 B7 B7 B7 Ak"6  j k"6 1!IA! A6 Aj"6 Ak"6 IB I AF"I7 IBQ6@ Aq"AF @ IBR -AM A  B!J AO@ 1!J Ak"6 AA IBQ""6  AKj"6 JB J AF"JBQ6 IBB  J"I7 AF B!K@ JBR -AM A  AO@ 1!K Ak"6  AKj"6 KB K AF"KBQ6 AA JBQ"j"6 IBB  K"I7 AF @ KBR -AM A  B!J AO@ 1!J Ak6  AKj6 JB J AF"JBQ6 AA KBQ"j"6 IBB  J"I7 IA k7A E@ !@A! AAA  A! AAA  + k! "Ak"6  j" Ak"6 Ak-"AK"6 Av"I7 AA IBBQ"6 AqAj"   I!@@ E@A!  k6  Ak"6 -"AK"6 "JB  I"I7 AA JBBQA  j"6@ AI@ !  Ak"6 -"AK"6 "JB  I"I7 AAA JBBQ AM j"6 AF@ ! !  Ak"6 -""AK"6 "JB  I"I7 AAA JBBQ AM j"6 AF@ ! !  Ak"6 -"AK"6 "JB  I"I7 AAA JBBQ AM j"6 !  k"6 A K  AN@ Ak(! Ak6 Ak6  AL@A!  Aq@  AkF@A!A!  Aq!A!A! !A!@ Ak"6 - Ak"6 Ak6 -! Ak"6 t r  Aktr! Ak! ! Aj" G E Ak6 - Ak6 t r! Aq"AK6 AA AqAFA "AAA AqAF AxMj"AAA AqAF AvAq"AMj"AAA AqAF AvAq"AM jj6  t Avr  tr  tr  I7 Aj   kAaA AI  Aj  AaA AF B!IB!K A6 A6 B7 Ak"6  j j"Ak"6 Aq!@ AL@ !  Ak"6 1!I I7 IBV"6 AA IBBQ"6@ E Ak"6@ AH@ !  Ak"6 1!K KBV"6 K  I"J7 AAA KBBQ IBX j"6 AF@ ! J!I ! !  Ak"6@ AH@ !  Ak"6 1!L LBV"6 L  J"I7 AAA LBBQ KBX j"6 AF@ ! ! !  Ak"6B!K@ AH@ !  Ak"6 1!K KBV"6 K  I"I7 AAA KBBQ LBX j"6 ! A M@@ AN@ Ak(! Ak6 Ak6  A! AH A! @ Ak"6 - Ak"6 t r! AK ! Ak! ! Aq"AK6 AA AqAFA "AAA AqAF AxMj"AAA AqAF AvAq"AMj" AAA AqAF AvAq"AM jj6  t Avr  tr  tr  I7 A !3  "k! Aj!, A: Aj! Aj*! AJ@ #Ak! ! ! %!A!@ ! At Aj5AqAtrAj/!@ A Ak"AF! AJ@ !  Aj*! ) (  ( Av""Aq AvA0qr tr"6 AvAq Aq"Avr! Aq"k! "I! A!  ArJ@ At AqAtrAj/!@ A Ak" AF! AJ@ !  Aj*!  Aq" k! AvAq AvAqr! I "I!  AtAq A0qr Ajt r6@ AvAq AvAqr"AG AA Ak"AF! AJ@ !  Aj*!  E@ B7xA  AM@ A AqAĢj-"AvA AvAq" tAs Aq" vqjAj" AF"6| A 6x j  AqAĢj-"Aq" v! AF@ AvAj! AF@ AqAr6| A AvAq"tAs Avqj6x Aj   AqAĢj-" Aq"v"A AvAq"tAsqj6x A AvAq"tAs  vq AvjAj6|  j j j  AqAĢj-" Aq"v"A AvAq"tAsq AvjAj6x A AvAq"tAs  vq AvjAj6| j j j ! @ , (x"O@ (|" ,M  !@A! AAA  A! AAA   k6 I 7 Aq "AqrAA Aj" kAtv  N" Aq AJ" Asq@ !@A! AAA  A! AAA  @@ @ Aj! (  AtAuj"k6 ) 7 A tAsq AvAq trArAj t Atr!  A! AqE   6 @ A q@ Aj! (  AtAuj"k6 ) 7  Atj A tAsq A vAq trAr"Aj t Atr6 A gk" -Aq" IAr:  AqE  AtjA6 Aj!@@ Aq@ Aj!" (  AtAuj" k6 ) 7 "A tAsq A vAq trArAj t "Atr!  A! AqE   6 A:@ Aq@ Aj! (  AtAuj"k6 ) 7  Atj A tAsq A vAq trAr"Aj t Atr6 A gk:  AqE  AtjA6 Aj!@@ Aq@ Aj! (  AtAuj"k6 ) 7 A tAsq AvAq trArAj t Atr!  A! AqE   6 @ A q@ Aj! (  AtAuj"k6 ) 7  Atj A tAsq A vAq trAr"Aj t Atr6 A gk" -Aq"  IAr:  A qE  AtjA6 A j!@@ Aq@ Aj! (  AtAuj"k6 ) 7 A tAsq A vAq trArAj t Atr!  A! AqE   6 Aj"A:@ Aq@ Aj! (  AtAuj" k6 ) 7  Atj A tAsq A vAq trAr"Aj t Atr6 A gk:  AI  AtjA6 As!  Aqj! Aj!  J Aq!9 A j!( Aj!) Aj!& AN@ A l!1 At!: #Ak!A #Ak"t!-A t!. AjAvAqAj!; + Asj"Av"At"?Aj!< Aj"@Aq"At!= At!" AI!AA!@ ! -! A: AoqAs! @ AL@ Aj!  & Aq! Aj! %  lAtj!A! !A!@ ! -AvAq  Aq"Avrr"At Aj5AqAtrAj/!@  A Ak"AF! AJ@ !  Aj*! ) ( ( AvAq AvA0qr tr" 6 Aq"Av Aq"*Avr! Aq"k! "I!A!  ArJ@  -AvAq -Avrr"At AqAtrAj/!@  A Ak"AF! AJ@ !  Aj*! Av AvrAq!  Aq"k! I "I! AtAq A0qr Ajt r6A! A!@@@ AvAq AvAqr" A AqAĢj-"AvA AvAq" tAs  Aq"vqjAj" AF"! A ! j!   AqAĢj-"Aq"v" AqAĢj-" Aq"' j AvAq"j AvAq"4j! 'v" A tAsq AvjAj!A 4tAs vq AvjAj!  k6 I 7 Aq" Akq@  Aq" -Aq"  K"Ak"A  Oj! Aq" Akq@ -Aq" -Aq" I"AkA AKj!  ,M ,MqE@ !@A! AAA A! AAA  -! A;  AvrAA Aj" kAtv  N"Aq   J"Asq@ !@A! AAA A! AAA  @@ Aq@ Aj! (  AtAuj"k6 ) 7 A tAsq AvAq trArAj t Atr!  A! AqE   6 @ A q@ Aj! (  AtAuj"k6 ) 7  Atj A tAsq A vAq trAr"Aj t Atr6 A gk" -Aq"  KAr:  AqE  AtjA6 Aj!@@ @ Aj! (  AtAuj"k6 ) 7 A tAsq A vAq trArAj t Atr!  A! AqE   6 @ *@ Aj! (  AtAuj"k6 ) 7  Atj A tAsq A vAq trAr"Aj t Atr6 A gk:  AqE  AtjA6 Aj!@@ Aq@ Aj! ( AtAuj"k6 ) 7 A tAsq AvAq trArAj t Atr!  A! AqE   6 @ A q@ Aj! ( AtAuj"k6 ) 7  Atj A tAsq A vAq trAr"Aj t Atr6 A gk" -Aq"  KAr:  A qE  AtjA6 A j!@@ Aq@ Aj! ( AtAuj"k6 ) 7 A tAsq A vAq trArAj t Atr!  A! AqE   6 Aj!@ Aq@ Aj! ( AtAuj"k6 ) 7  Atj A tAsq A vAq trAr"Aj t Atr6 A gk:  AI  AtjA6 As! Aqj! Aj!  J @ AI AqE Aq!@@@@ 3@ & !A! AL  % Ak lAtj!@ Aj5!A! ("@  Atj!A! A!@@  qE AĈq" q@  ( AsAq ts .r6 Av! At q@  Atj" ( AsAq ts .r6 Av! At q@  :j" ( AsAq ts .r6 Av! At qE  1j" ( AsAq ts .r6 Av! Aj! At! Aj" AG i! Aj! ( k6 ) 7 Aj" H ) ( ! & ! E AL A! A    j!A! ! A >t"!@@  qE AĈq"' q@ Aq@  'r!A2 Att *q r! Av! Aj!  'At"5q@ Aq@  5r! A Att *qr! Av! Aj!  'At"5q@ Aq@  5r! A Att *qr! Av! Aj!  'At"'qE Aq@  'r! A Att *qr! Aj! Av! At! Aj" 4H  >vAqE @@  qE AĈq" q@  ( Atr -r6 Av! Aj! At q@  Atj" ( Atr -r6 Av! Aj! At q@  :j" ( Atr -r6 Av! Aj! At qE  1j" ( Atr -r6 Aj! Av! At! Aj! Aj" 4H ( k6 ) 7A!A!AqE ( AvAq Avr Avr (Asqr6 ( r"AvAĈq"Av Atr r! @ Ak" ( Ak(As Atqr6  (  (Asqr6  ( (As Avqr6 Aj! Aj! Aj! Aj! Aj" H ;E A ;  H @ AI @ AqAk"AI 3q@ AL A #Akt! % Aq lAtj! & Aq! A l! At! #Ak!A!@ Aj5!A! ("@ Atj!A!A! @@  qE AĈq" q@  ( AsAq ts r6 Av! At q@  Atj" ( AsAq ts r6 Av! At q@  j" ( AsAq ts r6 Av! At qE  j" ( AsAq ts r6 Av! Aj! At! Aj" AG i! Aj! ( k6 ) 7 Aj" H AK AL & Aq"! ( ) ! A!@ + Asj"A8I  AvAq"Aj"jI   j"Iq  jAjI Aj Iq AvAj"Aq"At!  At"j!  j! !GA!@ At"j"  j""HA HA G H APP HP"G   G AP"GA wwwwwwwwwwwwwwwwN GA NP GP HO  H!G Aj" G  F  G  ! !A !@ Av!  ("Av  Atrr r"6   (Atr"AvAݻq AtAݻ~qr r Asq6 Aj! Aj! Aj" H  AjAqkAkA AJ" N A l!, At!-A #Akt! + Asj"Av"At".Aj! Aj"#Aq"At!! At! AI!@@@@@@@  k"Ak"AO@A AH  AL  & Aq"! ( ) ! 9@A!    jI  j Kq   !j! !j!@ At"j"   jO  Aj" G !  #G A!  & !A!    jI  j"Iq   .jAjI Aj Iq   jI  Kq   !j! !j!  !j! !GA!@ At"j"  j" "HA HA G H APP AP HPA N P  jO  H!G Aj" G  #F  ! G  AtA̢j( ! AL   A!  ! ! !A !@ Av! A!  ( ("Av Atrr (Atr rAtAxqr (Asq6 Aj! Aj! Aj! Aj" H  ! ! @A!  ( (Asq6 Aj! Aj! Aj" H & Aq"! ( ) ! & ! ) ( ! %  lAtj!*A!@A! ( q"@ Ar!'  k! * Atj!3A!A!@  Aj!@ Aj   'j H" L@A!  3 At"+j!  (Asq!"A! ! A +t"!@@  qE AĈq" q@ Aq@  r!A2 Att "q r! Av! Aj!  At"1q@ Aq@  1r! A Att "qr! Av! Aj!  At"1q@ Aq@  1r! A Att "qr! Av! Aj!  At"qE Aq@  r! A Att "qr! Aj! Av! At! Aj" H  +vAqE @@  qE AĈq" q@  ( Atr r6 Av! Aj! At q@  Atj" ( Atr r6 Av! Aj! At q@  -j" ( Atr r6 Av! Aj! At qE  ,j" ( Atr r6 Aj! Av! At! Aj! Aj" H ( k6 ) 7A!A!AqE  ( AvAq Avr Avr (Asqr6 ( r"AvAĈq"Av Atr r! @ Ak" ( Ak(As Atqr6 (  (Asqr6 ( (As Avqr6 Aj! Aj! Aj! Aj! Aj" H Aj" H A! AL  AL  Aq"At! AI!A! @ % lAtj!@@ @ !A!   j!A!@  Atj" "G N"H H G 9R  Aj" G " F  @ A ("Aq"k  AH6 Aj! Aj" G A! Aj" G  !E (64 60 AA A0j  6 6 AA AjA!  A! Aj$     A tAj6lA! (t!@@ ( (k" ( ( k"l" (K@   At"6tA E   6  E  At"E A  (x!@ Aj" AjAv" Ajl" (M@ At!    At""6x  A   6 @ A  @ E (x" !@ AO@ A|q"Atj!A!@ Atj I I I I  Aj" G  F  @ A6 Aj! Aj" G Aj lAtj!A!@@ AI@ !   A|q"Atj!A!@  Atj I I I I  Aj" G  F  @ A6 Aj! Aj" G Aq"E AAA AF AF!  lAtj!A!@ AI@ !   A|q"Atj! !HA!@  Atj H  Aj" G  F  @  6 Aj! Aj" G  6  6|A E  ( j"AN@ !E  $ 6 AA $Aj  ` A6d A6` A6 (@ @@ (4"AM@ AG  (E  (!A! AO@  Aq"A k!A!@  Atj"    G!G Aj" G G G G  "G G G ! @  Atj( j! Aj" G (!" Aj" (K@ " "E   6  jA;  6 (!" (4E  (! A!A!@  At"j"("@  "j (  (" j( j! Aj" (4I  AG  ((!" (<"@ (t!,  6t (,@ Aq!- Aq! Aj!% AqE!.A! @ " &j! ( (Alj"(!@ .  (AkJ AKrr"E@  6   j"6  /;p A: (A: A6 A6  6   6   j"6  /;p A: (A:  Aj6h  6 A6   -AtA "6A! Aj! -! -AF@ AO@ A6 Ar   6A! A t j   6 At r !  6 A6  At6 (!*@ AL (E A!) -AG q!'@@@@@@ Ak E@A t"Av r! (|"At" (xjA j! (t!A! ("AO@ E  A l! At!A k!@A!@@ "("E @ Aq AqE (!@ (" AF! ("-!@ E@  6  Aj6  AM@  6  Aj6A!  A! A6 A!  Ak"6@  vAqE @  AF! ("-!@ E@  6  Aj6  AM@  6  Aj6A!  A! A6 A!  Ak"6     vAq"6 (|! Ak" (A r6  (Ar6  ( AtrAr6  A~ kAtj" (Ar6  ( AtrAr6 Ak" (Ar6  (Ar"6 @ Aq AqE (!@ (" AF! ("-!@ E@  6  Aj6  AM@  6  Aj6A!  A! A6 A!  Ak"6   vAqE@ (  @  AF! ("-!@ E@  6  Aj6  AM@  6  Aj6A!  A! A6 A!  Ak"6  j    vAq"6 Ak" (Ar6  (Ar6 ( AtrAr Ar"6 @ Aq AqE (!@ (" AF! ("-!@ E@  6  Aj6  AM@  6  Aj6A!  A! A6 A!  Ak"6   vAqE@ (  @  AF! ("-!@ E@  6  Aj6  AM@  6  Aj6A!  A! A6 A!  Ak"6  j    vAq"6 Ak" (Ar6  (Ar6 ( AtrAr Ar"6 Aq AqE (!@ (" AF! ("-!@ E@  6  Aj6  AM@  6  Aj6A!  A! A6 A!  Ak"6  vAq@@  AF! ("-!@ E@  6  Aj6  AM@  6  Aj6A!  A! A6 A!  Ak"6  j    vAq"6 (|! Ak" (Ar6  (A r6  ( AtrAr6  Atj" (Ar6  ( Ar6  ( AtrAr6  (Ar6 Aj! Aj! Aj" G  j! A j! Aj" ("A|qI  M  E A! A k! !@@  F@ !  Ak! (! A!@@ Al"v"Aq AqE (!@ (" AG! ("-!@ E@ AO@A! A6   6  Aj6A!   6  Aj6 A!  Ak"6@  vAqE   lAtj@  AG! ("-!@ E@ AO@A! A6   6  Aj6A!   6  Aj6 A!  Ak"6    vAq"6 (|!  (A tr6  ( AtAr tr6  (A tr6  rE@ A~ kAtj" (Ar6  ( AtrAr6 Ak" (Ar6 AG  Atj" (Ar6  ( Ar6  ( AtrAr6  (A tr" 6 (! ! Aj"  kI Aj! Aj! Aj" G  A!A!A! @@@@ (|"AG (AG AA t"Av r"k! Aj! (xAj! (! (! (! (h! (t! Aq @A! @ ! "("@@ Aq Aq"E   (l j-Atj"("("k!  AvK@ (!  AA  K" j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI ! E    Atk! AqE@ (!  A A  K" j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI E   (    (AvAq Ak" (AvAq AvAq AvAq Aqrrrr" Aj-Atj"("("k! Aj-!      AvK@ (!  AA  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI !  E    Atk! AqE@ (!  A A  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI E    ( "F6 (A r6  (Ar6 Ak" (Ar6 Ak" (Ar6 Ak" (  s"AtrAr6  AtrAr  Ar! @ Aq AqE   (l Av" Aqj-Atj"("("k!  AvK@ (!  AA  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI ! E    Atk! AqE@ (!  A A  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI E   (    (AvAq Ak" (AvAq AvAq AvAq Aqrrrr" Aj-Atj"("("k! Aj-!      AvK@ (!  AA  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI !  E    Atk! AqE@ (!  A A  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI E    ( "F6 (Ar6  (Ar6   sAtrAr  Ar! @ Aq AqE   (l Av" Aqj-Atj"("("k!  AvK@ (!  AA  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI ! E    Atk! AqE@ (!  A A  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI E   (    (AvAq Ak" (AvAq AvAq AvAq Aqrrrr" Aj-Atj"("("k! Aj-!      AvK@ (!  AA  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI !  E    Atk! AqE@ (!  A A  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI E    ( "F6 (Ar6  (Ar6   sAtrAr  Ar! @ Aq AqE   (l A v" Aqj-Atj"("("k!  AvK@ (!  AA  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI ! E    Atk! AqE@ (!  A A  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI E   (    (AvAq Ak" (AvAq AvAq AvAq Aqrrrr" Aj-Atj"("("k! Aj-!      AvK@ (!  AA  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI !  E    Atk! AqE@ (!  A A  K"j(6@@ (" Aj! -! -AF@ AO@  ( Aj6 Aj!A!   6 A t j!A!   6A! At j! Ak! At! At"AI E    ( "F6 (Ar6  (A r6  (Ar6  (Ar6  (  s"AtrAr6  AtrAr  Ar!  6 Aj! Aj! Aj" AG A j! Aj! A Ak" O BT Ak" > @  "I@ Ak"(E  (, k" 6, ! AJ AH@ AjA nAj! AF!@A A k" A O! @  M@AA (!  A v!A tAs!A! !@  (" v j6  q l! Aj" I AA (! E  6 Aj! (, j" 6,   j" " Atj   kAu J! AH A! @  M  kAuA l! A ! ("A I @ Aj!  A l"O A AGk AF AGqk"  kAuA lA kH@ A0jA`Ab AHj Aj" A m"Atj! A ! Awl j"AL@@ A l! Aj"AG @ (" n" l"F Aj" Fq k! @ AqE@D@C! AG   O  Ak-AqE  D@C! D?D?D?  FD? Av"F  K!@  -A-G ! ! 6   a  j"6 AO@@ A6  Ak" K@ Ak"A6 (Aj"6 AK  kAuA l! A ! ("A I @ Aj!  A l"O Aj"   I! @ " M"E@ Ak"(E  @ AG@ Aq!  AsA A " J A{Jq" j! AA~  j! Aq" Aw!@  Ak("E A !A! A p @ "Aj!  A l"pE As! kAuA l! A_qAF@A!  jA k"A AJ"  J!  A!  j jA k"A AJ"  J! A! AA r"J  AGjAj!@ A_q"AF@ AsJ  A AJ!   Au"s k ,"kAL@@ Ak"A0:  kAH Ak" : AkA-A+ AH:  k" AsJ   j" AsJ  A   j"    A0  As@@@ AF@ AjA r!    K"!@ 5 ,!@  G@  AjM @ Ak"A0:  AjK   G Ak"A0:   k Aj" M @ A A  O  AL @ 5 ," AjK@@ Ak"A0:  AjK A A N A k! Aj" O  A J !  @ AH Aj  I! AjA r! !@ 5 ,"F@ Ak"A0: @  G@  AjM @ Ak"A0:  AjK  A Aj! rE A A  k"  H k! Aj" O  AN A0 AjAA   k  ! A0 A jA A A  As   J!   AtAuA qj! @ A K A k!D0@!@ D0@! Ak" -A-F@   !    !  (," Au"s k ,"F@ Ak"A0: (,! Ar! A q! Ak" Aj: AkA-A+ AH: AqE ALq! Aj!@ " "Aj- r:  D0@!@ Aj" AjkAG Da q A.: Aj! Db A! A  k"j"kJ A   Aj  Aj"k" Ak H  "j"   A0   As   A0  kAA   A   As    J! Aj$ B A  (<"A 6AA #A k"$  ("6 (!  6  6   k"6  j!A! Aj!@@@@ (<   A j"A 6AA E@  ( "F  AN   AG  (,"6 6  (0j6   AA  ("K" j"  A k" (j6 A A j" ( k6  k!  k! !  A6 B7 (A r6A AF   (k A j$ K (<#Ak"$  Aq Aj"A 6AA ! )! Aj$B       j$ {|~}#Ak"$ A6 A! @@ ("AF AG@@ AG (AꠁG (AF  AA!  A! AAA"E  A6L@@@@  A6X A6T A6P A6 A6 A6 A6 A6 A6 A6\ A6, A6( A6$ A6 A6 A6 S"60    A6X A6T A6P A6 A6 A6\ A6, A6( A6$ A6 A6 A6 A6 A6 A6 A6 AA"@ S"6@ E  l A:| 9"6 E 9"6 E   { A "60 E  A6H A6D   4   A "@ A6< A6H @ A68 A6D @ A64 A6@ A$j"@ AA A6@ B7@ @  (@Ar6@  6  6  6A! A!@ Aj"E AA" A6@ A"6 E@ A  6$ A6 A6 A6 A6 A6, A6( (DAr6D A "E @ A6 6 5!6 @ 67 @ E -DAqE A6 @ A6 @ A6 ! ! A$j!@ E E (LE@ A4jAAAA  (0  (A! E@A  2 3   A j!A!@ E E (LE@ A4jAAAA  (0  A4j (!  E@A  2 3 ( "  @ E  (0  A4j ((A A 2 3 ( "  ( !A!@ E E (LE (0  A4j (! @ @A!@ E E (LE (0 A4j (!   A  3 2 ( "  2 3 ( "("@  ( "B7 (!@@ E@@ E AG A!A!  @@ ("AF AG ("( (G  (4AF  A6  AK A6  @@ Ak #Ak"$@@@ (AI ("(" (4G  (hG  (G (" (8G  (lG  (F  A6 A 6AA?   @ ( (l"E@ (!  C?A (tAs!9C?A (tAs!:C?A (LtAs!;C?A (tAs!< (! (! (`! (,!A!@ AI   At" j"I   j"Iq  I   j" Iq  I   j" Iq  I  Iq  I  Iq  I  Iq A|q! 9!. :!* ;!0 <!-A! @  At"j"!/  j" !,  j" ???? -  CCCC ???? .  j"+  ???? 0 , CCCC +   ???? * / CCCC +  Aj" G F  @  At" j"(!  j" (!  j" C? < (CCC? 9  j("=6 C? ; CC =6 C? : CC =6 Aj" G  ("A6 A6L A6 A6 A6  (Ak"6 AI A!@ ( A4lj" (d60  T   D   4  Aj" (I Aj$  #Ak"$@@@ (AI ("(" (4G  (hG (" (8G  (lF  A6 A 6AA   @ ( (l"E A ("tAs!AA Akt" (!A  (T! (! (`! (,!A!@ AI   At" j" I   j" Iq  I   j" Iq  I  Iq A|q! !+ !- !/A! @  At" j" +  j"  -". it?it?it?it?  j"  /"* YYYY "0 ????",  + ,9R  + . 6666 0 ? ? ? ? * '1'1'1'1 ????",  + ,9R  + . 7777 0 f?f?f?f? * 5?5?5?5? ????".  + .9R  Aj" G F  @  At" j"   j" ( k"9Cit?  j" ( k":CY (";C?" A AJ  H6  9C6 ;C ? :C'1C?" A AJ  H6  9C7 ;Cf? :C5?C?" A AJ  H6 Aj" G A6 Aj$     K!A!  @@@@ ("(AG @@ (4Ak (hAG @ (AG (8AG (lAG "("(! (! (`! (,! ( Aj" G  E A tAs!6A! AO@ A|q! 6!+A! @  Atj" ". "* +"7 * +"8 . ". 7 . 8    Aj" G F  @  Atj" 5B~ 6> Aj" G  Ak! ( (l! (,! ( @ E A! AO@ A|q!A!@  Atj"    Aj" G F  @  Atj" ( u6 Aj" G  E A! AO@ A|q!A!@  Atj"    Aj" G F  @  Atj" ( v6 Aj" G A6 Aj" G ( (l!@ E@ (AF@ (AF@ (,   E  (, (`   (, (` (   @@@ Ak (,   (, (` (   (, (` ( (  ( "A! Aj$ A & ~B! -DAqE@ ( "6$@@@ (0"@   ( ("AF  ($ j"6$ (0 k"60  (   6$ BU B!  (DAr6D AAA A60 (DAr6DB B!@  ( ( "BQ@ AAA (DAr6D )8 |78B  P  |!  }"BU )8 |78  #  ( (" "  Ij6A <~ ( (j" ("F@B   j6  k" S A (" AM! (" (k!@ "At!  k I  G@ "E@A ("@ @    (  6  6   j"6 @    ( j6  ~ (0" "O@  k60 ($ j6$ )8 |78  -DAq@ A60 ($ j6$ " )8|78 B  @ E@  A60 ( 6$  "}! BU@@ ) )8  ||T@ AAA A60 ( 6$ )8 |"78 )" }!  ( ( (D!@ 78 Ar6DB   Q  ( ( "BQ@ AAA (DAr6D )8 |78B  P  |!  }"BU )8 |78  L ( (j" ("F@A  k"   K"@    ( j6  #Ak"$@ (t AM@ AAA   A jA ( "Aq"E@ AAA  AlAj K@ AAA  Al"E A"6t E@    6  / "; E@A!  A!@ Aj A j"A  Alj" ( ; Aj A  ( ; Aj" A  ( ;A! Aj" (t/I Aj$  #Ak"$ (x"E@ AAAA  ( @ AAAA   -"At"I@ AAAA  A "E  @A!@  A j"A  Atj" ( ; Aj A  ( : Aj A  ( : Aj! Aj" G (x 6 A Aj$  #Ak"$@ AI (x  A jA / " AkAwM@  6 AA   Aj A jA / "E@ AAA   AjI  lAt"E " E@   " E@    A"E@     Aj!  6  6  ;  6 ( ! A6  : 6x@  A jA  j - AqAj:  j ( AqAv: Aj! Aj" G A!@A!A!@A  j-AjAv" AO"  kj J@A!   A j   ( 6 Aj!  j! Aj"Aq" I A! Aj"Aq I Aj$  #Ak"$ ("AG@  6 AA  @@ ( F@  A!  A! AAA  A!@A!  (H A ljAjA Aj! Aj" (I Aj$  #Ak"$@ AM@ AAA  -|@ AAAA!  A!  A(jA Aj A4jA Aj A,jA Aj!@@@@@ (("Ak AM@  6 AA AjA!  @ AF (0AF  60 AA A0j  A0jA (0AG A$"E@A! AA>A  A6 A6@ A68 A6H A6< A6D A6LA! A64 A6 AG@ A#F@ Aj AjA A j AjA Aj AjA Aj A@kA Aj A(  6$  Aq6  Av6  6  AvAq6  AvAq6 AA Aj   M@ !  !  "   AAAA  AqE@ AAA A  Ar6d   k"  (( Q  -dAqE  AAA A  AAA A      G@ AAA A  "   ( A  AA&AA  A Aj$  (A6 %E@A ("(! (!@ @A! Aq! AFA A~q!@A E A   (E    (AG ! Aj! Aj" G E !A  !@ E    (AG! A6  A A6 (A (A )@ ("E 6 E -\Ar:\ ! ( Y A:| (@Aq6 2 E@A (   NE@ AA0AA  | K#Ak"$ @@ AjJ  +6 Aj! Aj! Aj" G Aj$ j#Ak"$ @@  -:  -:  -:  -:  * 6 Aj! Aj! Aj" G Aj$ K#Ak"$ @@ A jA  ( 6 Aj! Aj! Aj" G Aj$ K#Ak"$ @@ A jA  ( 6 Aj! Aj! Aj" G Aj$ J#Ak"$ @@ AjJ  +8 Aj! Aj! Aj" G Aj$ h#Ak"$ @@  -:  -:  -:  -:  * 8 Aj! Aj! Aj" G Aj$ L#Ak"$ @@ A jA  ( 8 Aj! Aj! Aj" G Aj$ L#Ak"$ @@ A jA  ( 8 Aj! Aj! Aj" G Aj$  {#Ak"$ (AF@ ( (A,lj  ( ! @ E@ AA!A  (`!A!  AjA ("AO@ AAA  Aj G@A! AA!A  @ ("E (+! AO@ Axq!A!@ A6C A6; A62 A6* A6! A6 A6 A6 Aj! Aj" G Aq"E A!@ A6 Aj! Aj" G (+"  A6+ (  E@A!  @ Aj" A jA@ (,E (+"( ( G (" (`"(G ("@A! (  l" (AtAj(lG  At"6+ E  (   (AtAj( ( "E A! ( (" (AtAj(lG  At"E  (   (AtAj(@ ("E (+!A! @@ AI Aj"  AtjI@   AljI  A!j! Aj! Aj!  A|q"Atj!  Alj!A!@ Al" j  Atj"Z j Z j Z j Z Aj" G  F   !A!  "kAq" @@  (6 Aj! Aj! Aj! Aj" G  kAxK @  (6  (6  (6  ( 6!  (6*  (62  (6;  (6C Aj! A j! Aj" G  A! Aj" (I Aj$  B  #Ak"$ (AF@ ( (A,lj  ( ! AM@ AA$AA   A jA ( @ AA.AA  AM@ AA$AA  Aj AjA (+" !@@@ (,"E (!@ ( F  Aj! Aj" G   G  (, F  A j"6, Al"E@ (+ A6, B7+ AA%AA   6+ (, (,"kAl"@ AljA  (+! (,  Al j!A! (6 Aj A jA ( @ AA.AA  Aj AjA ("AO@ AAAA  Ak! @ Aj!A! @ AM@ AA$AA   A jA ( AG@ AA+AA  Aj A ("Aq"6 Ak" AvAj" lAj" I@ AA$AA  Aj!A! @@  A j   ( G@ AA0AA   j! Aj" (I  A  ("Aq"6 ( G@ AAAA   k" AvAj" lAj" I@ AA$AA  Aj!A! @@  A j   ( G@ AA0AA   j! Aj" (I  A jA ( ! B7 AqE -Aqr:  Aq"6@ E (+" @ (+!A!@  (F@ 6  Aj! Aj" G AA$AA   AvAq"6@ E (+"@ (+!A!@  (F@ 6  Aj! Aj" G AA$AA  k! Aj! Aj" (I @ AA$AA  A E   (,Aj6,A Aj$ #Ak"$@ (`("Aj G@ AA$A   A jA  ( G@ AA$A  E@A!  Aj! (`(!A!@  AjA ("Aq"Aj"6 AvAq6 AO@  6  6 AA A!  A4j!A! Aj! Aj" G Aj$   #Ak"$ (AF@ ( (A,lj  ( ! AM@ AA AA   A jA@ ( @ AAA  AM@ AA AA  Aj A jA (+! - ! @@@ (+"E@ !  !@ ( F  Aj! Aj" G   G  (+ F@  A j"6+  Al! (+! E@  A6+ B7+ AA AA  @ F (," E (+! A!@ Alj"(" @  kj6 ( " @  kj6 Aj" G  6+ (+ (+"kAl"@ AljA  (+! (+!  Aj6+  Alj! ( "@  B7 6 ( "A vAq6 AvAq6 Aj A jA ( @ AAA  Ak""6 E@ AA AA  @  Aj  6 A Aj$ 'A! (`(At G AA"AAA #Ak"$ AM@ AAAA  -Aq@ AAAA  ( (A,lj" -,Ar:,  A jA@ (("E@ ( Aj"A"6( E@ AAAA  6(  ( " ((I  Aj"At"E@ AAAA  6(  (("kAt"@  AtjA  6( ((!  ( "Atj(@  6 AA7 A  Ak"! ((" ( "Atj 6 E@ AAAA  Atj 6 @ ( Atj( Aj  A Aj$ #Ak"$ AM@ AA!AA  -Ar:  A jA@ ("E@ ( Aj"A"6 E@ AA!AA  6  ( " (I  Aj"At"E@ AA!AA  6  ("kAt"@  AtjA  6 (!  ( "Atj(@  6 AA7 A  Ak"! (" ( "Atj 6 E@ AA!AA  Atj 6 @ ( Atj( Aj  A Aj$ #Ak"$ E@ AA AA   A jAA Ak"E A!A!@ Aj" AjA ("AtAu Aq rAtq! Aj" G A E  AA AA Aj$ A! A AA"AA #A k"$A!@ AM@A! AAA  (L  AjA Aj AjA ("AvAq"AF@ A6L AAA  Ak"  AvAqAj" j"n" lG@ A6L AAA   I @ (D" AsM@  j"AI  A6L AAA  (H At"E@ A6L AAA  Aj! 6H@ @A  AM! A!@  Aj  (" ( (lO   j" Aj   (D"Atj" (;  (6A! Aj6D  j! Aj" G  A  AM! (D!A!@  6  ( (lO   Aj   (D" Atj" ;  (6A! Aj"6D  j! Aj" G  A6L  6 AA<  A j$  A @ At"Aj Aj"6 Aj 6 Aj"AG A0w#Ak"$@ A j Aj AA ( AtAj&"6 E A (&"@A(" ( AtjA6  E  AA6 Aj$AA6AA6AA*6AA6AA6 "A zcannot allocate opj_tcd_seg_data_chunk_t* array-+ 0X0x-0X+0X 0X-0x+0x 0xUnknown formatFailed to setup the reduction factorFailed to setup the decoderFailed to read the headernan*l_tile_len > UINT_MAX - OPJ_COMMON_CBLK_DATA_EXTRA - p_j2k->m_specific_param.m_decoder.m_sot_lengthinfFailed to decode the imageInvalid access to pi->include/tmp/openjpeg/src/bin/common/color.cALL_CPUSOPJ_NUM_THREADSNANOJP_DO_NOT_DISPLAY_TILE_INDEX_IF_TLMINFp_j2k->m_specific_param.m_decoder.m_sot_length > UINT_MAX - OPJ_COMMON_CBLK_DATA_EXTRA preccintsize (w,h)= stepsizes (m,e)=SOT marker for tile %u declares more tile-parts than found in TLM marker.(null)(%d,%d) %s} } [DEV] Dump an image_comp_header struct { [DEV] Dump an image_header struct { Image info { default tile { %s component %d { comp %d { Tile index: { Marker list: { Codestream index from main header: { Codestream info from main header: { Stream error while reading JP2 Header box Found a misplaced '%c%c%c%c' box outside jp2h box Malformed JP2 file format: first box must be JPEG 2000 signature box Malformed JP2 file format: second box must be file type box Not enough memory to handle jpeg2000 box Not enough memory with FTYP Box A marker ID was expected (0xff--) instead of %.8x mct=%x cblksty=%#x csty=%#x prg=%#x Integer overflow tdx=%u, tdy=%u tw=%u, th=%u tx0=%u, ty0=%u Invalid component index: %u Stream too short Marker handler function failed to read the marker segment Not enough memory for current precinct codeblock element Error reading SPCod SPCoc element Error reading SQcd or SQcc element A BPCC header box is available although BPC given by the IHDR box (%d) indicate components bit depth is constant Error with SIZ marker: illegal tile offset Invalid precinct Not enough memory to handle band precints Failed to decode all used components Size of code block data exceeds system limits Size of tile data exceeds system limits Cannot take in charge multiple MCT markers Corrupted PPM markers Not enough memory for tile resolutions Cannot take in charge multiple collections Invalid PCLR box. Reports 0 palette columns We do not support ROI in decoding HT codeblocks Cannot handle box of undefined sizes Cannot take in charge collections without same number of indixes Invalid tilec->win_xxx values Cannot handle box of less than 8 bytes Cannot handle XL box of less than 16 bytes Component index %u used several times Invalid PCLR box. Reports %d entries Not enough memory to create Tag-tree nodes Cannot take in charge mct data within multiple MCT records Cannot decode tile, memory error opj_j2k_apply_nb_tile_parts_correction error Problem with skipping JPEG2000 box, stream error Problem with reading JPEG2000 box, stream error Unknown marker Not enough memory to add tl marker Not enough memory to add mh marker Not enough memory to take in charge SIZ marker Error reading PPT marker Not enough memory to read PPT marker Error reading SOT marker Did not get expected SOT marker Error reading PLT marker Error reading MCT marker Not enough memory to read MCT marker Not enough space for expected SOP marker Expected SOP marker Error reading MCO marker Error reading RGN marker Error reading PPM marker Not enough memory to read PPM marker Error reading PLM marker Expected EPH marker Not enough space for required EPH marker Error reading CRG marker Unknown progression order in COD marker Unknown Scod value in COD marker Error reading COD marker Error reading QCD marker Crror reading CBD marker Error reading POC marker Error reading COC marker Error reading QCC marker Error reading MCC marker Not enough memory to read MCC marker required SIZ marker not found in main header required COD marker not found in main header required QCD marker not found in main header Not enough memory to handle jpeg2000 file header Not enough memory to read header Error with JP Signature : bad magic number In SOT marker, TPSot (%d) is not valid regards to the current number of tile-part (%d), giving up In SOT marker, TPSot (%d) is not valid regards to the previous number of tile-part (%d), giving up In SOT marker, TPSot (%d) is not valid regards to the current number of tile-part (header) (%d), giving up tiles require at least one resolution Marker is not compliant with its position Problem with seek function Error reading SPCod SPCoc element, Invalid cblkw/cblkh combination Invalid multiple component transformation Cannot take in charge collections other than array decorrelation Too large value for Nppm Not enough bytes to read Nppm bad placed jpeg codestream Main header start position=%lli Main header end position=%lli Marker size inconsistent with stream length Tile part length size inconsistent with stream length Cannot take in charge multiple data spanning Wrong flag Error with FTYP signature Box size Error with JP signature Box size Invalid precinct size Inconsistent marker size Invalid marker size Error with SIZ marker size Not enough memory to add a new validation procedure Not enough memory to decode tile Failed to decode the codestream in the JP2 file Cannot take in charge collections with indix shuffle Cannot allocate Tier 1 handle No decoded area parameters, set the decoded area to the whole image Not enough memory to create Tag-tree Not enough memory to reinitialize the tag tree Error reading SPCod SPCoc element, Invalid transformation found Error reading SPCod SPCoc element. Unsupported Mixed HT code-block style found Tile Y coordinates are not supported Tile X coordinates are not supported Image coordinates above INT_MAX are not supported JPEG2000 Header box not read yet, '%c%c%c%c' box will be ignored opj_j2k_merge_ppt() has already been called opj_j2k_build_tp_index_from_tlm(): tile index allocation failed Not enough memory to read SOT marker. Tile index allocation failed Ignoring ihdr box. First ihdr box already read Zppt %u already read Zppm %u already read PTERM check failure: %d synthesized 0xFF markers read cblkw=2^%d cblkh=2^%d qntsty=%d %s dx=%d, dy=%d roishift=%d numgbits=%d numlayers=%d %s numcomps=%d opj_jp2_apply_cdef: acn=%d, numcomps=%d opj_jp2_apply_cdef: cn=%d, numcomps=%d numresolutions=%d type=%#x, pos=%lli, len=%d %s sgnd=%d qmfbid=%d %s prec=%d nb of tile-part in tile [%d]=%d %s x1=%d, y1=%d %s x0=%d, y0=%d Failed to decode tile %d/%d Setting decoding area to %d,%d,%d,%d Failed to decode component %d Invalid value for numresolutions : %d, max value is set in openjpeg.h at %d Invalid component number: %d, regarding the number of components %d Too many POCs %d opj_j2k_read_tlm(): invalid tile number %d Invalid tile number %d Invalid tile part index for tile number %d. Got %d, expected %d Error with SIZ marker: number of component is illegal -> %d Not enough memory for cielab Cannot allocate cblk->decoded_data Failed to merge PPT data Failed to merge PPM data Invalid number of layers in COD marker : %d not in range [1-65535] %s:%d:color_cmyk_to_rgb CAN NOT CONVERT %s:%d:color_esycc_to_rgb CAN NOT CONVERT %s:%d:color_sycc_to_rgb CAN NOT CONVERT Stream too short, expected SOT Unable to set t1 handle as TLS Sot length is less than marker size + marker ID Stream does not end with EOC Cannot handle box sizes higher than 2^32 opj_pi_next_lrcp(): invalid compno0/compno1 opj_pi_next_rlcp(): invalid compno0/compno1 opj_pi_next_cprl(): invalid compno0/compno1 opj_pi_next_pcrl(): invalid compno0/compno1 opj_pi_next_rpcl(): invalid compno0/compno1 opj_t1_decode_cblk(): unsupported bpno_plus_one = %d >= 31 Failed to decode tile 1/1 Insufficient data for CMAP box. Need to read a PCLR box before the CMAP box. Insufficient data for CDEF box. Number of channel description is equal to zero in CDEF box. Stream error while reading JP2 Header box: no 'ihdr' box. Non conformant codestream TPsot==TNsot. Stream error while reading JP2 Header box: box length is inconsistent. Box length is inconsistent. Resolution factor is greater than the maximum resolution in the component. Component mapping seems wrong. Trying to correct. opj_j2k_build_tp_index_from_tlm(): tile %d has no registered tile-part in TLM marker segments. opj_j2k_read_tlm(): too many TLM markers. opj_j2k_read_tlm(): cannot allocate m_tile_part_infos. Incomplete channel definitions. Malformed HT codeblock. Invalid codeblock length values. We do not support more than 3 coding passes in an HT codeblock; This codeblocks has %d passes. Malformed HT codeblock. Decoding this codeblock is stopped. There are %d zero bitplanes in %d bitplanes. Cannot take in charge multiple transformation stages. Unknown marker has been detected and generated error. Codec provided to the opj_setup_decoder function is not a decompressor handler. Codec provided to the opj_read_header function is not a decompressor handler. Error reading TLM marker. Tiles don't all have the same dimension. Skip the MCT step. Number of components (%d) is inconsistent with a MCT. Skip the MCT step. JP2 box which are after the codestream will not be read by this function. Malformed HT codeblock. When the number of zero planes bitplanes is equal to the number of bitplanes, only the cleanup pass makes sense, but we have %d passes in this codeblock. Therefore, only the cleanup pass will be decoded. This message will not be displayed again. Image has less components than codestream. Need to decode the main header before begin to decode the remaining codestream. Psot value of the current tile-part is equal to zero, we assuming it is the last tile-part of the codestream. A malformed codeblock that has more than one coding pass, but zero length for 2nd and potentially the 3rd pass in an HT codeblock. tile-part[%d]: star_pos=%lli, end_header=%lli, end_pos=%lli. Tile %u has TPsot == 0 and TNsot == 0, but no other tile-parts were found. EOC is also missing. Component %d doesn't have a mapping. opj_j2k_read_tlm(): TLM marker not of expected size. A conforming JP2 reader shall ignore all Colour Specification boxes after the first, so we ignore this one. The signature box must be the first box in the file. The box must be the first box in the file. The ftyp box must be the second box in the file. Failed to decode. Malformed HT codeblock. Incorrect MEL segment sequence. Component %d is mapped twice. opj_j2k_read_tlm(): ST = 3 is invalid. Only one CMAP box is allowed. We need an image previously created. IHDR box_missing. Required. JP2H box missing. Required. Not sure how that happened. Main header has been correctly decoded. Tile %d/%d has been decoded. Header of tile %d / %d has been read. Empty SOT marker detected: Psot=%d. Direct use at #%d however pcol=%d. Implementation limitation: for palette mapping, pcol[%d] should be equal to %d, but is equal to %d. Invalid component/palette index for direct mapping %d. Invalid value for cmap[%d].mtyp = %d. Psot value is not correct regards to the JPEG2000 norm: %d. Malformed HT codeblock. VLC code produces significant samples outside the codeblock area. Unexpected OOM. 32 bits are not enough to decode this codeblock, since the number of bitplane, %d, is larger than 30. Bottom position of the decoded area (region_y1=%d) should be > 0. Right position of the decoded area (region_x1=%d) should be > 0. Up position of the decoded area (region_y0=%d) should be >= 0. Left position of the decoded area (region_x0=%d) should be >= 0. Error reading PPT marker: packet header have been previously found in the main header (PPM marker). Start to read j2k main header (%lld). Bottom position of the decoded area (region_y1=%d) is outside the image area (Ysiz=%d). Up position of the decoded area (region_y0=%d) is outside the image area (Ysiz=%d). Right position of the decoded area (region_x1=%d) is outside the image area (Xsiz=%d). Left position of the decoded area (region_x0=%d) is outside the image area (Xsiz=%d). Bottom position of the decoded area (region_y1=%d) is outside the image area (YOsiz=%d). Up position of the decoded area (region_y0=%d) is outside the image area (YOsiz=%d). Right position of the decoded area (region_x1=%d) is outside the image area (XOsiz=%d). Left position of the decoded area (region_x0=%d) is outside the image area (XOsiz=%d). Size x of the decoded component image is incorrect (comp[%d].w=%d). Size y of the decoded component image is incorrect (comp[%d].h=%d). Tile read, decoded and updated is not the desired one (%d vs %d). Invalid component index %d (>= %d). opj_read_header() should be called before opj_set_decoded_components(). Memory allocation failure in opj_jp2_apply_pclr(). image->comps[%d].data == NULL in opj_jp2_apply_pclr(). invalid box size %d (%x) Fail to read the current marker segment (%#x) Error with SIZ marker: IHDR w(%u) h(%u) vs. SIZ w(%u) h(%u) Error reading COC marker (bad number of components) Invalid number of tiles : %u x %u (maximum fixed by jpeg2000 norm is 65535 tiles) Invalid number of components (ihdr) Not enough memory to handle image header (ihdr) Wrong values for: w(%d) h(%d) numcomps(%d) (ihdr) Invalid values for comp = %d : dx=%u dy=%u (should be between 1 and 255 according to the JPEG2000 norm) Bad image header box (bad size) Bad COLR header box (bad size) Bad BPCC header box (bad size) Error with SIZ marker: negative or zero image size (%lld x %lld) skip: segment too long (%d) with max (%d) for codeblock %d (p=%d, b=%d, r=%d, c=%d) read: segment too long (%d) with max (%d) for codeblock %d (p=%d, b=%d, r=%d, c=%d) Despite JP2 BPC!=255, precision and/or sgnd values for comp[%d] is different than comp[0]: [0] prec(%d) sgnd(%d) [%d] prec(%d) sgnd(%d) bad component number in RGN (%d when there are only %d) Error with SIZ marker: number of component is not compatible with the remaining number of parameters ( %d vs %d) Error with SIZ marker: invalid tile size (tdx: %d, tdy: %d) Bad COLR header box (bad size: %d) Bad COLR header box (CIELab, bad size: %d) PTERM check failure: %d remaining bytes in code block (%d used / %d) Malformed HT codeblock. One of the following condition is not met: 2 <= Scup <= min(Lcup, 4079) Invalid values for comp = %d : prec=%u (should be between 1 and 38 according to the JPEG2000 norm. OpenJpeg only supports up to 31) Invalid bit number %d in opj_t2_read_packet_header() Stream error! Error on writing stream! Stream reached its end ! Expected a SOC marker Invalid box size %d for box '%c%c%c%c'. Need %d bytes, %d bytes remaining Malformed HT codeblock. Decoding this codeblock is stopped. U_q is larger than zero bitplanes + 1 Malformed HT codeblock. Decoding this codeblock is stopped. U_q islarger than bitplanes + 1 COLR BOX meth value is not a regular value (%d), so we will ignore the entire Colour Specification box. While reading CCP_QNTSTY element inside QCD or QCC marker segment, number of subbands (%d) is greater to OPJ_J2K_MAXBANDS (%d). So we limit the number of elements stored to OPJ_J2K_MAXBANDS (%d) and skip the rest. JP2 IHDR box: compression type indicate that the file is not a conforming JP2 file (%d) Tile index provided by the user is incorrect %d (max = %d) Error decoding component %d. The number of resolutions to remove (%d) is greater or equal than the number of resolutions of this component (%d) Modify the cp_reduce parameter. Image data has been updated with tile %d. A #Cf#C~ U_Q#5CND#C?1#C^D#CUw#5C#C#CfT#C"~ U"#5CND#C?"#C^D#CUo#5C#C/"~ $DVf$D6nΈ$DND^D$TD.">w~ $DVf$"D6"nΈ$DND^D$TD.">_QUfވ$2DND~1^Q$ DwU^TD$D6_Ut> $tD/"Ufވ$DND~1^Q$ DoU^TD$D6"t> $"D"?2>U2%^QrDD~dE]Uߙ6ob~qU%NDf^TE]Ug>U2%^Q/"D~dE]U6oD~qU%NDw^TEs]U?2~@$rDVf$D."wnΈ$D6^$DD>"~@$rDVf$D."ODnΈ$D6D^$DDv>"?1~d%fVsEfvե."ޘODn"%6odE^Dq>2ĥΈ?1w~d%VwEfvf."ޘ?3un"%ߙ6_QE^Dr>2ΈT~dE"%."^5>1fodf"E%>2sUV~q5>3ODT~dE%."f^5>1fo"f"E%>2wV~qr5>3_Tt~qOD"w^u?3ψsnf?1g&/"r~qG"W^7fn?2_T&ߙeC#NDC5#CU#."C~#weCΈ#C^5#CU#C>@#eC#NDC5#DCU#."C~#eCΈ#C^5#CU#C>@#oV$Ew$5/"@$EgOD$5?V$Eo$5?2@$DE_$5$Vw$E?1$."Dg$QE6?"$V@o$rEOD$."_$DE6$Vf5$>1Ef~Q_T$.""Dv5D@$>2E^OD$V5$>1EDf~Qo$.""v5r@$>2Es^?3 D2f%D"_NDDoV%D0/" Dwf%D7NDD?V%D0D%>UDf~ 6DvDv%NDUD^DT/"D%>UDf~ "6"DvD%NDUoD^DT_QDUv$>"DfD$61Dv~"U$ND_QD^D"$."o"DU3$>"Df$6odDv~"U$NDtD^DD$."?162uT~qsUf_Tv&uFtU^?62uT~qDUr"fODv&uF?2Uo^/"A !B!g!B!3333wwwwVQQVQQ4Q R4Q0RQRQR QR QR!RU!RU! VU!0VUV@R0RVPR RT`R STpR0SHR SHR0S8R S8R0S0RS0RS$RS$RSSSSSUTUTV@S0SVPS ST`S STpS0SQS@SQSPSHS`SHSpS8SS8SS4SS4SS0TS0TS( TS(0TS$@TS$PTS"`TT"pTTT TT0TT@TTPTT`TTpTTTTTUTUT UT0UT @UT PUT `UU pUUU UU0U!U@U!UPUAU`UAUpUUUUU!VU!VUA VUA0VU@VUPVU`VVpVVIV VIV0V%V@V%VPVV`VVpV VV VVWVWVWVWVV W WV0W0W A 7A 7A A  RS^\]_Q U!W"X#`$a%A ec&d't(x)P*Y+u,w-A 5./012345 Pj7pytf8h2pj9A 2rdhi:rloc;ccpb<rlcp=pamc>fedc?pfA A       A !    A  A  A A  A A  A  A A  A A d 0123456789ABCDEFppqqqqqqppqppppA qqpppqA pA kA lmkA A A A nA lolA A  /* THIS FILE IS GENERATED - DO NOT EDIT */ var OpenJPEG = (() => { return ( function(moduleArg = {}) { var moduleRtn; var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( // EMSCRIPTEN_START_ASM function instantiate(Ba){var a;var b=new Uint8Array(123);for(var c=25;c>=0;--c){b[48+c]=52+c;b[65+c]=c;b[97+c]=26+c}b[43]=62;b[47]=63;function i(j,k,l){var d,e,c=0,f=k,g=l.length,h=k+(g*3>>2)-(l[g-2]=="=")-(l[g-1]=="=");for(;c>4;if(f>2;if(f>>0;A=A>>>0;if(z+A>a.length)throw"trap: invalid memory.fill";a.fill(v,z,z+A)}function B(z,C,A){a.copyWithin(z,C,C+A)}function D(){throw new Error("abort")}function Aa(n){var E=new ArrayBuffer(16777216);var F=new Int8Array(E);var G=new Int16Array(E);var H=new Int32Array(E);var I=new Uint8Array(E);var J=new Uint16Array(E);var K=new Uint32Array(E);var L=new Float32Array(E);var M=new Float64Array(E);var N=Math.imul;var O=Math.fround;var P=Math.abs;var Q=Math.clz32;var R=Math.min;var S=Math.max;var T=Math.floor;var U=Math.ceil;var V=Math.trunc;var W=Math.sqrt;var X=n.a;var Y=X.a;var Z=X.b;var _=X.c;var $=X.d;var aa=X.e;var ba=X.f;var ca=X.g;var da=X.h;var ea=X.i;var fa=X.j;var ga=X.k;var ha=X.l;var ia=X.m;var ja=X.n;var ka=X.o;var la=X.p;var ma=X.q;var na=X.r;var oa=94352;var pa=0;var qa=0;var ra=0; // EMSCRIPTEN_START_FUNCS function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,C=0,D=0,E=0,M=0,P=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=O(0),ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,pa=0,qa=0,ra=0,ta=0,ua=0,va=0,wa=0,xa=0;aa=oa-96|0;oa=aa;E=H[a+8>>2];a:{b:{c:{if(!H[a>>2]){g=N(H[E+16>>2]-H[E+8>>2]|0,H[E+20>>2]-H[E+12>>2]|0)<<2;c=Ja(g);H[E+60>>2]=c;if(!c){Ca(H[a+32>>2],1,8023,0);d=a+28|0;break b}if(!g){break c}y(c,0,g);break c}c=H[E+60>>2];if(!c){break c}Da(c);H[E+60>>2]=0}if(!H[H[a+28>>2]>>2]){break a}qa=H[a+16>>2];c=H[qa+28>>2]+N(H[qa+24>>2],152)|0;wa=H[c-152>>2];xa=H[c-144>>2];ra=H[a+20>>2];ta=H[a+12>>2];va=H[a+4>>2];d=a+28|0;d:{q=H[b+4>>2];e=0;e:{if((q|0)<=0){break e}l=H[b>>2];c=0;f:{while(1){g=l+N(c,12)|0;if(!H[g>>2]){break f}c=c+1|0;if((q|0)!=(c|0)){continue}break}e=0;break e}e=H[g+4>>2]}if(e){break d}e=Fa(1,156);if(!e){Ca(H[a+32>>2],1,6313,0);break b}H[e+140>>2]=0;c=0;l=H[b+4>>2];g:{if((l|0)==2147483647){break g}g=H[b>>2];if((l|0)>0){while(1){q=g+N(c,12)|0;if(!H[q>>2]){l=H[q+8>>2];if(l){sa[l|0](H[q+4>>2]);g=H[b>>2]}b=g+N(c,12)|0;H[b+8>>2]=15;H[b+4>>2]=e;c=1;break g}c=c+1|0;if((l|0)!=(c|0)){continue}break}}g=Ia(g,N(l,12)+12|0);c=0;if(!g){break g}H[b>>2]=g;c=H[b+4>>2];g=g+N(c,12)|0;H[g+8>>2]=15;H[g+4>>2]=e;H[g>>2]=0;H[b+4>>2]=c+1;c=1}if(c){break d}Ca(H[a+32>>2],1,8338,0);b=H[e+116>>2];if(b){Da(b);H[e+116>>2]=0}b=H[e+120>>2];if(b){Da(b);H[e+120>>2]=0}Da(H[e+148>>2]);Da(e);break b}H[e+144>>2]=H[a+24>>2];W=H[a+40>>2];ba=H[a+36>>2];R=H[a+32>>2];P=H[ra+808>>2];b=H[ta+16>>2];h:{Z=H[ra+16>>2];i:{if(Z&64){l=oa-304|0;oa=l;j:{if(P){if(ba){Ca(R,1,3219,0);break j}Ca(R,1,3219,0);break j}j=H[e+116>>2];c=H[E+20>>2]-H[E+12>>2]|0;b=H[E+16>>2]-H[E+8>>2]|0;g=N(c,b);k:{l:{if(g>>>0>K[e+132>>2]){Da(j);f=g<<2;j=Ja(f);H[e+116>>2]=j;if(!j){j=0;break j}H[e+132>>2]=g;break l}if(!j){break k}f=g<<2}if(!f){break k}y(j,0,f)}j=H[e+120>>2];m:{if(K[e+136>>2]>2639){break m}Da(j);j=Ja(10560);H[e+120>>2]=j;if(j){break m}j=0;break j}H[e+136>>2]=2640;y(j,0,10560);H[e+128>>2]=c;H[e+124>>2]=b;n=H[E+24>>2];if(!n){j=1;break j}q=H[E+28>>2];j=1;n:{o:{p:{q:{f=H[E+52>>2];r:{if(f){c=H[E+4>>2];j=0;if(f>>>0>=4){b=f&-4;while(1){g=c+(m<<3)|0;j=H[g+28>>2]+(H[g+20>>2]+(H[g+12>>2]+(H[g+4>>2]+j|0)|0)|0)|0;m=m+4|0;z=z+4|0;if((b|0)!=(z|0)){continue}break}}b=f&3;if(b){while(1){j=H[(c+(m<<3)|0)+4>>2]+j|0;m=m+1|0;k=k+1|0;if((b|0)!=(k|0)){continue}break}}if(!H[e+144>>2]&(f|0)==1){break o}if(K[e+152>>2]>=j>>>0){break r}z=Ia(H[e+148>>2],j);if(z){break q}j=0;break j}if(!H[e+144>>2]){break j}}z=H[e+148>>2];if(z){break p}j=0;break j}H[e+152>>2]=j;H[e+148>>2]=z}if(!H[E+52>>2]){j=0;break n}f=H[E+4>>2];j=0;m=0;while(1){g=m<<3;c=g+f|0;b=H[c+4>>2];if(b){B(j+z|0,H[c>>2],b)}f=H[E+4>>2];j=H[(g+f|0)+4>>2]+j|0;m=m+1|0;if(m>>>0>2]){continue}break}break n}z=H[H[E+4>>2]>>2]}m=0;f=0;c=H[E+40>>2];g=0;s:{if(!c){break s}b=H[E>>2];f=H[b+8>>2];g=0;if((c|0)==1){break s}g=H[b+32>>2]}c=n-q|0;f=f+g|0;t:{if(!f){k=0;break t}m=1;b=H[E>>2];r=H[b>>2];k=0;if((f|0)==1){m=0;break t}k=H[b+24>>2]}S=c+1|0;ia=H[e+116>>2];$=H[e+120>>2];W=H[E+12>>2];t=H[E+20>>2];M=H[E+8>>2];ja=H[E+16>>2];u:{v:{w:{x:{y:{z:{A:{B:{if(!(!m|k)){if(!ba){break B}Ca(R,2,10806,0);f=1;break A}if(f>>>0<4){break A}if(ba){H[l+112>>2]=f;Ca(R,1,9590,l+112|0);break u}H[l+96>>2]=f;Ca(R,1,9590,l+96|0);j=0;break j}Ca(R,2,10806,0);m=H[E+24>>2];if(m>>>0>30){break z}P=1;if(m>>>0>=S>>>0){break x}break v}m=H[E+24>>2];if(m>>>0<=30){break y}if(!ba){break z}H[l+32>>2]=H[E+24>>2];Ca(R,1,12302,l+32|0);break u}H[l>>2]=m;Ca(R,1,12302,l);j=0;break j}if(m>>>0>>0){break w}if(f>>>0<2){P=f;break x}if((m|0)!=(S|0)){P=f;break x}P=1;if(I[26384]){break x}if(!ba){F[26384]=1;H[l+64>>2]=f;Ca(R,2,10299,l- -64|0);break x}if(!I[26384]){F[26384]=1;H[l+80>>2]=f;Ca(R,2,10299,l+80|0)}}if(!(!(r>>>0<2|j>>>0>>0)&k+r>>>0<=j>>>0)){if(ba){j=0;Ca(R,1,9532,0);break j}j=0;Ca(R,1,9532,0);break j}T=r+z|0;b=I[T-1|0];j=b<<4|I[T-2|0]&15;if(!(!(j>>>0<2|(b|0)==255)&(j|0)<=(r|0))){if(ba){j=0;Ca(R,1,15305,0);break j}j=0;Ca(R,1,15305,0);break j}ua=H[E+28>>2];H[l+272>>2]=0;H[l+280>>2]=0;H[l+264>>2]=0;H[l+268>>2]=0;H[l+296>>2]=0;H[l+300>>2]=0;H[l+284>>2]=0;H[l+288>>2]=0;c=j-1|0;H[l+276>>2]=c;f=(r+z|0)-j|0;H[l+256>>2]=f;q=I[f|0];b=8;H[l+272>>2]=8;i=f+1|0;H[l+256>>2]=i;g=j-2|0;H[l+276>>2]=g;n=(c|0)==1?q|15:q;c=0;q=c;H[l+264>>2]=n;H[l+268>>2]=c;H[l+280>>2]=!c&(n|0)==255;h=f&3;C:{D:{if((h|0)==3){break D}w=0;if(!((n|0)!=255|(c|0)!=0|I[i|0]<=143)){break C}c=255;c=j>>>0>=3?I[i|0]:c;m=j-3|0;H[l+276>>2]=m;f=!q&(n|0)==255;b=f?15:16;H[l+272>>2]=b;V=i+(j>>>0>2)|0;H[l+256>>2]=V;c=(g|0)==1?c|15:c;g=0;H[l+280>>2]=!g&(c|0)==255;g=c;i=n;c=f?7:8;f=c&31;if((c&63)>>>0>=32){U=i<>>32-f|q<>2]=n;H[l+268>>2]=c;if((h|0)==2){break D}f=255;w=0;if(!((g|0)!=255|(x|0)!=0|I[V|0]<=143)){break C}f=j>>>0>=4?I[V|0]:f;i=j-4|0;H[l+276>>2]=i;u=V+(j>>>0>3)|0;H[l+256>>2]=u;c=(m|0)==1?f|15:f;f=0;V=f;H[l+280>>2]=!f&(c|0)==255;f=!x&(g|0)==255;b=(f?7:8)+b|0;H[l+272>>2]=b;g=c;m=n;c=f?7:8;f=c&31;if((c&63)>>>0>=32){x=m<>>32-f|q<>2]=n;H[l+268>>2]=c;if((h|0)==1){break D}w=0;if(!((g|0)!=255|(V|0)!=0|I[u|0]<=143)){break C}c=255;c=j>>>0>=5?I[u|0]:c;H[l+276>>2]=j-5;H[l+256>>2]=u+(j>>>0>4);f=0;c=(i|0)==1?c|15:c;H[l+280>>2]=!f&(c|0)==255;g=!V&(g|0)==255;b=(g?7:8)+b|0;H[l+272>>2]=b;i=n;g=g?7:8;m=g&31;if((g&63)>>>0>=32){x=i<>>32-m|q<>2]=n;H[l+268>>2]=c}c=64-b|0;b=n;g=c&31;if((c&63)>>>0>=32){i=b<>>32-g|q<>2]=b;H[l+268>>2]=i;w=1}if(!w){if(ba){j=0;Ca(R,1,11470,0);break j}j=0;Ca(R,1,11470,0);break j}C=ja-M|0;i=j;u=i-2|0;H[l+244>>2]=u;V=r+z|0;c=V-3|0;H[l+224>>2]=c;b=I[V-2|0];f=b>>>0>143;H[l+248>>2]=f;q=0;n=b>>>4|0;H[l+232>>2]=n;H[l+236>>2]=0;v=(n&7)==7?3:4;H[l+240>>2]=v;b=(c&3)+1|0;w=b>>>0>>0?b:u;E:{F:{if(!u){j=0;H[l+244>>2]=u-w;break F}b=V-4|0;H[l+224>>2]=b;g=I[c|0];j=g>>>0>143;H[l+248>>2]=j;q=v&31;if((v&63)>>>0>=32){x=g<>>32-q;q=g<>2]=n;q=x;H[l+236>>2]=q;v=(f?(g&127)==127?7:8:8)+v|0;H[l+240>>2]=v;G:{if(w>>>0<2){f=j;break G}j=V-5|0;H[l+224>>2]=j;c=I[b|0];f=c>>>0>143;H[l+248>>2]=f;m=v&31;if((v&63)>>>0>=32){U=c<>>32-m;s=c<>2]=n;q=q|U;H[l+236>>2]=q;v=(g>>>0<=143?8:(c&127)==127?7:8)+v|0;H[l+240>>2]=v;if((w|0)==2){c=b;b=j;break G}g=V-6|0;H[l+224>>2]=g;b=I[j|0];m=b;f=b>>>0>143;H[l+248>>2]=f;h=v&31;if((v&63)>>>0>=32){x=b<>>32-h;s=b<>2]=n;q=q|x;H[l+236>>2]=q;v=(c>>>0<=143?8:(b&127)==127?7:8)+v|0;H[l+240>>2]=v;if((w|0)==3){c=j;b=g;break G}b=V-7|0;H[l+224>>2]=b;c=I[g|0];f=c>>>0>143;H[l+248>>2]=f;j=v&31;if((v&63)>>>0>=32){U=c<>>32-j;j=c<>2]=n;H[l+236>>2]=j;v=(m>>>0<=143?8:(c&127)==127?7:8)+v|0;H[l+240>>2]=v;c=g}g=u-w|0;H[l+244>>2]=g;if(v>>>0>32){break E}if((g|0)>=4){j=H[c-4>>2];H[l+224>>2]=c-5;H[l+244>>2]=g-4;break F}if((g|0)<=0){j=0;break F}u=g&1;H:{if((w|0)==(i-3|0)){h=24;j=0;break H}V=g&2147483646;h=24;j=0;c=b;w=0;while(1){x=c-1|0;H[l+224>>2]=x;m=I[c|0];b=c-2|0;H[l+224>>2]=b;H[l+244>>2]=g-1;c=I[x|0];g=g-2|0;H[l+244>>2]=g;j=m<>2]=b-1;b=I[b|0];H[l+244>>2]=g-1;j=b<>2]=h>>>0>143;g=f?(j&2130706432)==2130706432?7:8:8;c=g+(j>>>0<=2415919103?8:(j&8323072)==8323072?7:8)|0;m=j>>>16&255;b=c+(m>>>0<=143?8:(j&32512)==32512?7:8)|0;x=j>>>8&255;H[l+240>>2]=b+((x>>>0<=143?8:(j&127)==127?7:8)+v|0);b=m<>>24|x<>>0>=32){x=b<>>32-c;b=b<>2]=b|n;H[l+236>>2]=q|x}jc(l+192|0,z,r-i|0,255);V=0;I:{if(P>>>0<2){break I}jc(l+160|0,T,k,0);V=0;if((P|0)==2){break I}n=0;q=0;f=0;H[l+152>>2]=1;H[l+144>>2]=0;H[l+136>>2]=0;H[l+140>>2]=0;b=k-1|0;H[l+148>>2]=b;c=(r+z|0)+k|0;g=c-1|0;H[l+128>>2]=g;m=g&3;J:{if((k|0)<=0){c=g;break J}c=c-2|0;H[l+128>>2]=c;n=I[g|0]}H[l+136>>2]=n;H[l+140>>2]=0;h=n>>>0>143;H[l+152>>2]=h;v=(n&127)==127?7:8;H[l+144>>2]=v;K:{if(!m){break K}r=k-2|0;H[l+148>>2]=r;L:{if((k|0)<2){j=c;break L}j=c-1|0;H[l+128>>2]=j;f=I[c|0]}h=f>>>0>143;H[l+152>>2]=h;c=v&31;if((v&63)>>>0>=32){i=f<>>32-c;c=f<>2]=q;c=i;H[l+140>>2]=c;v=(n>>>0<=143?8:(f&127)==127?7:8)+v|0;H[l+144>>2]=v;if((m|0)==1){c=j;n=q;q=i;k=b;b=r;break K}i=k-3|0;H[l+148>>2]=i;M:{if((k|0)<3){g=j;break M}g=j-1|0;H[l+128>>2]=g;o=I[j|0]}h=o>>>0>143;H[l+152>>2]=h;b=v&31;if((v&63)>>>0>=32){U=o<>>32-b;b=o<>2]=n;H[l+140>>2]=b;v=(f>>>0<=143?8:(o&127)==127?7:8)+v|0;H[l+144>>2]=v;if((m|0)==2){c=g;k=r;b=i;break K}b=k-4|0;H[l+148>>2]=b;f=0;N:{if((k|0)<4){c=g;break N}c=g-1|0;H[l+128>>2]=c;f=I[g|0]}h=f>>>0>143;H[l+152>>2]=h;g=v&31;if((v&63)>>>0>=32){x=f<>>32-g;g=f<>2]=n;H[l+140>>2]=g;v=(o>>>0<=143?8:(f&127)==127?7:8)+v|0;H[l+144>>2]=v;k=i}if(v>>>0<=32){O:{if((k|0)>=5){j=H[c-3>>2];H[l+148>>2]=k-5;H[l+128>>2]=c-4;break O}j=0;if((k|0)<2){break O}k=24;while(1){f=c-1|0;H[l+128>>2]=f;c=I[c|0];g=b-1|0;H[l+148>>2]=g;j=c<>>0>1;c=f;k=k-8|0;b=g;if(i){continue}break}}i=j&255;H[l+152>>2]=i>>>0>143;g=h?(j&2130706432)==2130706432?7:8:8;c=g+(j>>>0<=2415919103?8:(j&8323072)==8323072?7:8)|0;k=j>>>16&255;b=c+(k>>>0<=143?8:(j&32512)==32512?7:8)|0;f=j>>>8&255;H[l+144>>2]=b+((f>>>0<=143?8:(j&127)==127?7:8)+v|0);b=k<>>24|f<>>0>=32){i=b<>>32-c;b=b<>2]=b|n;H[l+140>>2]=i|q}V=1}ca=t-W|0;X=S+1|0;F[$+2112|0]=0;o=$+2112|0;g=$a(l+256|0);if((C|0)>0){T=ua-1|0;c=$;f=o;b=ia;z=0;while(1){r=z;m=J[(p<<8|(ob(l+224|0)&127)<<1)+16656>>1];P:{if(p){break P}j=g-2|0;m=(j|0)==-1?m:0;if((g|0)>1){g=j;break P}g=$a(l+256|0)}q=H[l+236>>2];n=H[l+232>>2];j=H[l+240>>2];t=m>>>4|0;u=H[c>>2]|(t&3|m>>>2&48)<<_;H[c>>2]=u;h=m&16;p=m>>>5&7|h>>>4;k=j;j=m&7;z=k-j|0;n=((1<>>j;q=q>>>j|0;k=n;j=0;if((C|0)>(r|2)){j=J[(p<<8|(k&127)<<1)+16656>>1];Q:{if(p){break Q}k=g-2|0;j=(k|0)==-1?j:0;if((g|0)>1){g=k;break Q}g=$a(l+256|0)}k=j&7;z=z-k|0;p=j>>>4&1|j>>>5&7;n=((1<>>k;q=q>>>k|0;k=n}H[c>>2]=u|(j<<2&768|j&48)<<_+4;v=j>>>2&2|m>>>3&1;R:{if((v|0)!=3){break R}i=g-2|0;v=(i|0)==-1?4:3;if((g|0)>1){g=i;break R}g=$a(l+256|0)}S:{if(!v){H[l+120>>2]=1;H[l+124>>2]=1;k=0;break S}if(v>>>0<=2){i=I[(k&7)+20804|0];u=i>>>2&7;x=i&3;i=(((-1<>>x)+(i>>>5|0)|0)+1|0;k=(v|0)==1;H[l+124>>2]=k?1:i;H[l+120>>2]=k?i:1;k=u+x|0;break S}i=k;k=I[(k&7)+20804|0];W=k&3;i=i>>>W|0;if((v|0)==3){v=(k>>>5|0)+1|0;if((W|0)==3){H[l+124>>2]=i&1|2;k=k>>>2&7;H[l+120>>2]=v+((-1<>>1);k=k+4|0;break S}u=I[(i&7)+20804|0];x=u&3;i=i>>>x|0;w=k>>>2&7;H[l+120>>2]=v+(i&(-1<>>2&7;H[l+124>>2]=(((-1<>>w)+(u>>>5|0)|0)+1;k=k+(x+(w+W|0)|0)|0;break S}u=I[(i&7)+20804|0];x=u&3;i=i>>>x|0;w=k>>>2&7;H[l+120>>2]=((i&(-1<>>5|0)|0)+3;k=u>>>2&7;H[l+124>>2]=(((-1<>>w)+(u>>>5|0)|0)+3;k=k+(w+(x+W|0)|0)|0}T:{w=H[l+120>>2];if(w>>>0<=X>>>0){u=H[l+124>>2];if(u>>>0<=X>>>0){break T}}if(ba){j=0;Ca(R,1,15756,0);break j}j=0;Ca(R,1,15756,0);break j}H[l+240>>2]=z-k;i=k&31;if((k&63)>>>0>=32){x=0;q=q>>>i|0}else{x=q>>>i|0;q=((1<>>i}H[l+232>>2]=q;H[l+236>>2]=x;z=r+4|0;q=(z|0)<=(C|0)?255:255>>>(z-C<<1)|0;W=(ca|0)>1?q:q&85;if((j&240|t&15)&(W^-1)){if(ba){j=0;Ca(R,1,12194,0);break j}j=0;Ca(R,1,12194,0);break j}U:{V:{if(h){n=Na(l+192|0);i=w+(m<<19>>31)|0;H[l+208>>2]=H[l+208>>2]-i;k=H[l+204>>2];q=H[l+200>>2];h=i&31;if((i&63)>>>0>=32){x=0;q=k>>>h|0}else{x=k>>>h|0;q=((1<>>h}H[l+200>>2]=q;H[l+204>>2]=x;v=(n&(-1<>>8&1)<>2]=v}W:{if(m&32){n=Na(l+192|0);i=w+(m<<18>>31)|0;H[l+208>>2]=H[l+208>>2]-i;k=H[l+204>>2];q=H[l+200>>2];h=i&31;if((i&63)>>>0>=32){x=0;q=k>>>h|0}else{x=k>>>h|0;q=((1<>>h}H[l+200>>2]=q;H[l+204>>2]=x;q=n&(-1<>>9&1)<>2]=q+2<>>0>q>>>0?n:q)|128;break W}if(!(W&2)){break W}H[(C<<2)+b>>2]=0}i=b+4|0;X:{Y:{if(m&64){n=Na(l+192|0);h=w+(m<<17>>31)|0;H[l+208>>2]=H[l+208>>2]-h;k=H[l+204>>2];q=H[l+200>>2];t=h&31;if((h&63)>>>0>=32){x=0;q=k>>>t|0}else{x=k>>>t|0;q=((1<>>t}H[l+200>>2]=q;H[l+204>>2]=x;v=(n&(-1<>>10&1)<>2]=v}F[f+1|0]=0;Z:{if(m&128){n=Na(l+192|0);h=w+(m<<16>>31)|0;H[l+208>>2]=H[l+208>>2]-h;k=H[l+204>>2];q=H[l+200>>2];t=h&31;if((h&63)>>>0>=32){x=0;q=k>>>t|0}else{x=k>>>t|0;q=((1<>>t}H[l+200>>2]=q;H[l+204>>2]=x;q=n&(-1<>>11&1)<>2]=q+2<>2]=0}i=b+8|0;_:{$:{if(j&16){n=Na(l+192|0);m=u+(j<<19>>31)|0;H[l+208>>2]=H[l+208>>2]-m;k=H[l+204>>2];q=H[l+200>>2];h=m&31;if((m&63)>>>0>=32){x=0;q=k>>>h|0}else{x=k>>>h|0;q=((1<>>h}H[l+200>>2]=q;H[l+204>>2]=x;v=(n&(-1<>>8&1)<>2]=v}aa:{if(j&32){n=Na(l+192|0);m=u+(j<<18>>31)|0;H[l+208>>2]=H[l+208>>2]-m;k=H[l+204>>2];q=H[l+200>>2];h=m&31;if((m&63)>>>0>=32){x=0;q=k>>>h|0}else{x=k>>>h|0;q=((1<>>h}H[l+200>>2]=q;H[l+204>>2]=x;q=n&(-1<>>9&1)<>2]=q+2<>>0>q>>>0?n:q)|128;break aa}if(!(W&32)){break aa}H[i+(C<<2)>>2]=0}i=b+12|0;ba:{ca:{if(j&64){n=Na(l+192|0);m=u+(j<<17>>31)|0;H[l+208>>2]=H[l+208>>2]-m;k=H[l+204>>2];q=H[l+200>>2];h=m&31;if((m&63)>>>0>=32){x=0;q=k>>>h|0}else{x=k>>>h|0;q=((1<>>h}H[l+200>>2]=q;H[l+204>>2]=x;v=(n&(-1<>>10&1)<>2]=v}f=f+2|0;F[f|0]=0;da:{if(j&128){n=Na(l+192|0);m=u+(j<<16>>31)|0;H[l+208>>2]=H[l+208>>2]-m;k=H[l+204>>2];q=H[l+200>>2];h=m&31;if((m&63)>>>0>=32){x=0;q=k>>>h|0}else{x=k>>>h|0;q=((1<>>h}H[l+200>>2]=q;H[l+204>>2]=x;j=n&(-1<>>11&1)<>2]=j+2<>>0<128){break da}H[i+(C<<2)>>2]=0}_=_^16;c=(r&4)+c|0;b=b+16|0;if((z|0)<(C|0)){continue}break}}ma=Z&8;ka=$+1584|0;la=$+1056|0;fa=$+528|0;if((ca|0)>=3){na=N(C,12);s=C<<3;ea=ua-1|0;b=ua-2|0;A=3<>>1&2147483644)+4|0;u=2;while(1){Z=u;v=I[o|0];F[o|0]=0;_=_&-17^2;ea:{if((C|0)<=0){u=u+2|0;break ea}p=Z&4?fa:$;u=Z+2|0;f=ia+(N(C,Z)<<2)|0;t=0;b=o;r=0;while(1){h=r;v=v&255;c=I[b+1|0]>>>5&4|(v>>>7|t);m=J[(c<<8|(ob(l+224|0)&127)<<1)+18704>>1];fa:{if(c){break fa}c=g-2|0;m=(c|0)==-1?m:0;if((g|0)>1){g=c;break fa}g=$a(l+256|0)}j=H[l+236>>2];q=H[l+232>>2];c=H[l+240>>2];k=H[p>>2]|(m>>>4&3|m>>>2&48)<<_;H[p>>2]=k;T=m&64;W=m&128;t=T>>>5|W>>>6;n=c;c=m&7;w=n-c|0;n=((1<>>c;q=j>>>c|0;r=n;j=0;if((C|0)>(h|2)){c=I[b+2|0]>>>5&4|I[b+1|0]>>>7|t;j=J[(c<<8|(n&127)<<1)+18704>>1];ga:{if(c){break ga}c=g-2|0;j=(c|0)==-1?j:0;if((g|0)>1){g=c;break ga}g=$a(l+256|0)}c=j&7;w=w-c|0;t=(j>>>5|j>>>6)&2;n=((1<>>c;r=n;q=q>>>c|0}H[p>>2]=k|(j<<2&768|j&48)<<_+4;k=1;c=1;ha:{ia:{ja:{z=j>>>2&2|m>>>3&1;switch(z|0){case 0:break ha;case 3:break ia;default:break ja}}c=I[(r&7)+20804|0];x=c>>>2&7;k=r;r=c&3;i=(((-1<>>r)+(c>>>5|0)|0)+1|0;c=(z|0)==1;k=c?1:i;c=c?i:1;z=r+x|0;break ha}U=I[(r&7)+20804|0];k=U&3;c=r>>>k|0;S=I[(c&7)+20804|0];x=S&3;i=S>>>2&7;r=U>>>2&7;z=i+(r+(k+x|0)|0)|0;k=c>>>x|0;c=((k&(-1<>>5|0)|0)+1|0;k=(((-1<>>r)+(S>>>5|0)|0)+1|0}H[l+240>>2]=w-z;i=z&31;if((z&63)>>>0>=32){x=0;q=q>>>i|0}else{x=q>>>i|0;q=((1<>>i}H[l+232>>2]=q;H[l+236>>2]=x;r=m&240;if(r-1&r){n=c;q=v&127;c=I[b+1|0]&127;q=c>>>0>>0?q:c;c=q-2|0;c=n+(c>>>0<=q>>>0?c:0)|0}i=j&240;if(i-1&i){n=I[b+1|0]&127;q=I[b+2|0]&127;q=n>>>0>q>>>0?n:q;k=(q>>>0>2?q-2|0:0)+k|0}if(!(c>>>0<=X>>>0&k>>>0<=X>>>0)){if(ba){j=0;Ca(R,1,15856,0);break j}j=0;Ca(R,1,15856,0);break j}v=I[b+2|0];F[b+1|0]=0;F[b+2|0]=0;n=i|r>>>4;r=h+4|0;q=(r|0)<=(C|0)?255:255>>>(r-C<<1)|0;S=(u|0)>(ca|0)?q&85:q;if(n&(S^-1)){if(ba){j=0;Ca(R,1,12194,0);break j}j=0;Ca(R,1,12194,0);break j}ka:{la:{if(m&16){n=Na(l+192|0);w=(m<<19>>31)+c|0;H[l+208>>2]=H[l+208>>2]-w;i=H[l+204>>2];q=H[l+200>>2];z=w&31;if((w&63)>>>0>=32){x=0;q=i>>>z|0}else{x=i>>>z|0;q=((1<>>z}H[l+200>>2]=q;H[l+204>>2]=x;w=(n&(-1<>>8&1)<>2]=w}ma:{if(m&32){n=Na(l+192|0);w=(m<<18>>31)+c|0;H[l+208>>2]=H[l+208>>2]-w;i=H[l+204>>2];q=H[l+200>>2];z=w&31;if((w&63)>>>0>=32){x=0;q=i>>>z|0}else{x=i>>>z|0;q=((1<>>z}H[l+200>>2]=q;H[l+204>>2]=x;q=n&(-1<>>9&1)<>2]=q+2<>>0>q>>>0?n:q)|128;break ma}if(!(S&2)){break ma}H[(C<<2)+f>>2]=0}w=f+4|0;na:{oa:{if(T){n=Na(l+192|0);z=(m<<17>>31)+c|0;H[l+208>>2]=H[l+208>>2]-z;i=H[l+204>>2];q=H[l+200>>2];T=z&31;if((z&63)>>>0>=32){x=0;q=i>>>T|0}else{x=i>>>T|0;q=((1<>>T}H[l+200>>2]=q;H[l+204>>2]=x;Y=(n&(-1<>>10&1)<>2]=Y}pa:{if(W){q=Na(l+192|0);i=(m<<16>>31)+c|0;H[l+208>>2]=H[l+208>>2]-i;n=H[l+204>>2];c=H[l+200>>2];z=i&31;if((i&63)>>>0>=32){x=0;c=n>>>z|0}else{x=n>>>z|0;c=((1<>>z}H[l+200>>2]=c;H[l+204>>2]=x;c=q&(-1<>>11&1)<>2]=c+2<>2]=0}i=f+8|0;qa:{ra:{if(j&16){q=Na(l+192|0);m=(j<<19>>31)+k|0;H[l+208>>2]=H[l+208>>2]-m;n=H[l+204>>2];c=H[l+200>>2];w=m&31;if((m&63)>>>0>=32){x=0;c=n>>>w|0}else{x=n>>>w|0;c=((1<>>w}H[l+200>>2]=c;H[l+204>>2]=x;c=(q&(-1<>>8&1)<>2]=c}sa:{if(j&32){q=Na(l+192|0);m=(j<<18>>31)+k|0;H[l+208>>2]=H[l+208>>2]-m;n=H[l+204>>2];c=H[l+200>>2];w=m&31;if((m&63)>>>0>=32){x=0;c=n>>>w|0}else{x=n>>>w|0;c=((1<>>w}H[l+200>>2]=c;H[l+204>>2]=x;c=q&(-1<>>9&1)<>2]=c+2<>>0>>0?q:c)|128;break sa}if(!(S&32)){break sa}H[i+(C<<2)>>2]=0}i=f+12|0;ta:{ua:{if(j&64){q=Na(l+192|0);m=(j<<17>>31)+k|0;H[l+208>>2]=H[l+208>>2]-m;n=H[l+204>>2];c=H[l+200>>2];w=m&31;if((m&63)>>>0>=32){x=0;c=n>>>w|0}else{x=n>>>w|0;c=((1<>>w}H[l+200>>2]=c;H[l+204>>2]=x;c=(q&(-1<>>10&1)<>2]=c}b=b+2|0;va:{if(j&128){q=Na(l+192|0);k=(j<<16>>31)+k|0;H[l+208>>2]=H[l+208>>2]-k;n=H[l+204>>2];c=H[l+200>>2];m=k&31;if((k&63)>>>0>=32){x=0;c=n>>>m|0}else{x=n>>>m|0;c=((1<>>m}H[l+200>>2]=c;H[l+204>>2]=x;c=q&(-1<>>11&1)<>2]=c+2<>>0<128){break va}H[i+(C<<2)>>2]=0}_=_^16;p=(h&4)+p|0;f=f+16|0;if((r|0)<(C|0)){continue}break}}wa:{if(!(Z&2)|P>>>0<2){break wa}p=u&4;xa:{ya:{za:{Aa:{Ba:{if(V){w=p?$:fa;z=0;if((C|0)<=0){break Ba}q=ia+(N(C,Z-2|0)<<2)|0;while(1){j=ob(l+128|0);m=0;f=H[w>>2];if(f){m=q+(z<<2)|0;k=0;b=15;while(1){Ca:{if(!(b&f)){break Ca}n=b&286331153;if(n&f){H[m>>2]=D|H[m>>2]^((j^-1)&1)<>>1|0}if(f&n<<1){c=(C<<2)+m|0;H[c>>2]=D|H[c>>2]^((j^-1)&1)<>>1|0}if(f&n<<2){c=m+s|0;H[c>>2]=D|H[c>>2]^((j^-1)&1)<>>1|0}if(!(f&n<<3)){break Ca}c=m+na|0;H[c>>2]=D|H[c>>2]^((j^-1)&1)<>>1|0}m=m+4|0;b=b<<4;k=k+1|0;if((k|0)!=8){continue}break}m=Me(f)}w=w+4|0;H[l+144>>2]=H[l+144>>2]-m;c=H[l+140>>2];b=H[l+136>>2];j=m&31;if((m&63)>>>0>=32){x=0;b=c>>>j|0}else{x=c>>>j|0;b=((1<>>j}H[l+136>>2]=b;H[l+140>>2]=x;z=z+8|0;if((C|0)>(z|0)){continue}break}}c=0;j=0;Y=p?la:ka;m=Y;w=p?$:fa;b=w;if((C|0)>0){break za}b=!p;break Aa}Y=p?la:ka;b=!p}if(Z>>>0<=5){break wa}h=b?$:fa;if((C|0)<=0){break xa}b=b?la:ka;break ya}while(1){q=j>>>28|0;j=H[b>>2];q=j|(q|j<<4|j>>>4);H[m>>2]=q;q=q|H[b+4>>2]<<28;H[m>>2]=(q>>>1&2004318071|q<<1&-286331154|q)&(j^-1);m=m+4|0;b=b+4|0;c=c+8|0;if((C|0)>(c|0)){continue}break}if(Z>>>0<6){break wa}h=p?fa:$;b=p?ka:la}k=0;p=0;m=w;v=b;j=b;b=h;while(1){q=m+4|0;c=H[j>>2];n=H[m>>2];if(!ma){c=c|(n|(n<<4|p>>>28|n>>>4|H[q>>2]<<28))<<3&-2004318072}H[j>>2]=(H[b>>2]^-1)&c;b=b+4|0;j=j+4|0;p=n;m=q;k=k+8|0;if((C|0)>(k|0)){continue}break}if((C|0)<=0){break xa}T=ia+(N(C,Z-6|0)<<2)|0;pa=0;p=h;while(1){f=0;b=H[v>>2];if(b){W=pa|4;Z=C-pa|0;i=(pa<<2)+T|0;j=0;t=0;while(1){q=j;j=Na(l+160|0);S=(C|0)>(t+W|0)?t+4|0:Z;Da:{if((S|0)<=(t|0)){m=0;break Da}da=H[p>>2]^-1;x=t<<2;z=i+x|0;m=0;k=t;r=15<>>1|0}n=U<<1;if(n&b){if(j&1){f=f|n;b=da&116<<(k<<2)|b}m=m+1|0;j=j>>>1|0}n=U<<2;if(n&b){if(j&1){f=f|n;b=da&232<<(k<<2)|b}m=m+1|0;j=j>>>1|0}n=U<<3;if(!(n&b)){break Ea}if(j&1){f=f|n;b=da&192<<(k<<2)|b}m=m+1|0;j=j>>>1|0}c=c<<4;k=k+1|0;if((S|0)>(k|0)){continue}break}if(!(f>>>x&65535)){break Da}while(1){Fa:{if(!(f&r)){break Fa}n=r&286331153;if(n&f){H[z>>2]=A|(H[z>>2]|j<<31);m=m+1|0;j=j>>>1|0}if(n<<1&f){c=(C<<2)+z|0;H[c>>2]=A|(H[c>>2]|j<<31);m=m+1|0;j=j>>>1|0}if(n<<2&f){c=s+z|0;H[c>>2]=A|(H[c>>2]|j<<31);m=m+1|0;j=j>>>1|0}if(!(n<<3&f)){break Fa}c=z+na|0;H[c>>2]=A|(H[c>>2]|j<<31);m=m+1|0;j=j>>>1|0}r=r<<4;z=z+4|0;t=t+1|0;if((S|0)>(t|0)){continue}break}}H[l+176>>2]=H[l+176>>2]-m;j=H[l+172>>2];c=H[l+168>>2];n=m&31;if((m&63)>>>0>=32){x=0;c=j>>>n|0}else{x=j>>>n|0;c=((1<>>n}H[l+168>>2]=c;H[l+172>>2]=x;j=1;t=4;if(!(q&1)){continue}break}H[v+4>>2]=H[v+4>>2]|(f>>>27&14|f>>>29|f>>>28)&(H[p+4>>2]^-1)}j=H[p>>2]|f;q=j>>>3&286331153;c=q>>>4|q<<4|q;if(pa){b=Y-4|0;H[b>>2]=H[b>>2]|(H[w-4>>2]^-1)&q<<28}H[Y>>2]=H[Y>>2]|c&(H[w>>2]^-1);H[Y+4>>2]=H[Y+4>>2]|(H[w+4>>2]^-1)&j>>>31;v=v+4|0;p=p+4|0;Y=Y+4|0;w=w+4|0;pa=pa+8|0;if((C|0)>(pa|0)){continue}break}}if(!ha){break wa}y(h,0,ha)}if((u|0)<(ca|0)){continue}break}}Ga:{if(P>>>0<2){break Ga}f=(ca&3)-1|0;Ha:{if(V&f>>>0<2){if((C|0)<=0){break Ha}r=1<>2];if(o){m=n+(t<<2)|0;b=15;k=0;while(1){Ia:{if(!(b&o)){break Ia}p=b&286331153;if(p&o){H[m>>2]=r|H[m>>2]^((j^-1)&1)<>>1|0}if(o&p<<1){c=(C<<2)+m|0;H[c>>2]=r|H[c>>2]^((j^-1)&1)<>>1|0}if(o&p<<2){c=g+m|0;H[c>>2]=r|H[c>>2]^((j^-1)&1)<>>1|0}if(!(o&p<<3)){break Ia}c=m+q|0;H[c>>2]=r|H[c>>2]^((j^-1)&1)<>>1|0}m=m+4|0;b=b<<4;k=k+1|0;if((k|0)!=8){continue}break}m=Me(o)}w=w+4|0;H[l+144>>2]=H[l+144>>2]-m;c=H[l+140>>2];b=H[l+136>>2];j=m&31;if((m&63)>>>0>=32){x=0;b=c>>>j|0}else{x=c>>>j|0;b=((1<>>j}H[l+136>>2]=b;H[l+140>>2]=x;t=t+8|0;if((C|0)>(t|0)){continue}break}}if((C|0)<=0|f>>>0>1){break Ha}b=ca&4;m=b?fa:$;b=b?ka:la;c=0;j=0;while(1){g=j>>>28|0;j=H[m>>2];g=j|(g|j<<4|j>>>4);H[b>>2]=g;g=g|H[m+4>>2]<<28;H[b>>2]=(g>>>1&2004318071|g<<1&-286331154|g)&(j^-1);b=b+4|0;m=m+4|0;c=c+8|0;if((C|0)>(c|0)){continue}break}}P=(ca|0)>6?(ca-(ca+1&3)|0)-3|0:0;if((ca|0)<=(P|0)){break Ga}W=N(C,12);t=C<<3;s=3<>>0>=3){_=-1;if((c|0)<5){break La}if(S){break Ja}c=P&4;m=c?fa:$;j=c?ka:la;b=0;if(!ma){b=c?$:fa;c=0;f=0;while(1){g=f>>>28|0;_=-1;f=H[b>>2];H[j>>2]=(H[j>>2]|(f|(g|f<<4|f>>>4|H[b+4>>2]<<28))<<3&-2004318072)&(H[m>>2]^-1);m=m+4|0;j=j+4|0;b=b+4|0;c=c+8|0;if((C|0)>(c|0)){continue}break}break Ka}while(1){_=-1;H[j>>2]=H[j>>2]&(H[m>>2]^-1);m=m+4|0;j=j+4|0;b=b+8|0;if((C|0)>(b|0)){continue}break}break Ka}_=H[(b<<2)+20812>>2]}if(S){break Ja}}b=P&4;r=b?fa:$;p=b?ka:la;g=b?$:fa;v=b?la:ka;u=ia+(N(C,P)<<2)|0;h=0;while(1){f=0;b=H[p>>2]&_;if(b){V=h|4;Z=C-h|0;o=u+(h<<2)|0;j=0;i=0;while(1){q=j;j=Na(l+160|0);T=(C|0)>(i+V|0)?i+4|0:Z;Ma:{if((T|0)<=(i|0)){m=0;break Ma}x=i<<2;z=x+o|0;ha=(H[r>>2]^-1)&_;m=0;k=i;w=15<>>1|0}n=U<<1;if(n&b){if(j&1){f=f|n;b=ha&116<<(k<<2)|b}m=m+1|0;j=j>>>1|0}n=U<<2;if(n&b){if(j&1){f=f|n;b=ha&232<<(k<<2)|b}m=m+1|0;j=j>>>1|0}n=U<<3;if(!(n&b)){break Na}if(j&1){f=f|n;b=ha&192<<(k<<2)|b}m=m+1|0;j=j>>>1|0}c=c<<4;k=k+1|0;if((T|0)>(k|0)){continue}break}if(!(f>>>x&65535)){break Ma}while(1){Oa:{if(!(f&w)){break Oa}n=w&286331153;if(n&f){H[z>>2]=s|(H[z>>2]|j<<31);m=m+1|0;j=j>>>1|0}if(n<<1&f){c=(C<<2)+z|0;H[c>>2]=s|(H[c>>2]|j<<31);m=m+1|0;j=j>>>1|0}if(n<<2&f){c=t+z|0;H[c>>2]=s|(H[c>>2]|j<<31);m=m+1|0;j=j>>>1|0}if(!(n<<3&f)){break Oa}c=z+W|0;H[c>>2]=s|(H[c>>2]|j<<31);m=m+1|0;j=j>>>1|0}w=w<<4;z=z+4|0;i=i+1|0;if((T|0)>(i|0)){continue}break}}H[l+176>>2]=H[l+176>>2]-m;j=H[l+172>>2];c=H[l+168>>2];n=m&31;if((m&63)>>>0>=32){x=0;c=j>>>n|0}else{x=j>>>n|0;c=((1<>>n}H[l+168>>2]=c;H[l+172>>2]=x;j=1;i=4;if(!(q&1)){continue}break}H[p+4>>2]=H[p+4>>2]|(f>>>27&14|f>>>29|f>>>28)&(H[r+4>>2]^-1)}j=H[r>>2]|f;q=j>>>3&286331153;c=q>>>4|q<<4|q;if(h){b=v-4|0;H[b>>2]=H[b>>2]|(H[g-4>>2]^-1)&q<<28}H[v>>2]=H[v>>2]|c&(H[g>>2]^-1);H[v+4>>2]=H[v+4>>2]|(H[g+4>>2]^-1)&j>>>31;p=p+4|0;r=r+4|0;v=v+4|0;g=g+4|0;h=h+8|0;if((C|0)>(h|0)){continue}break}}P=P+4|0;if((ca|0)>(P|0)){continue}break}}j=1;if((ca|0)<=0|(C|0)<=0){break j}q=C&2147483644;n=C&3;g=M-ja>>>0>4294967292;p=0;while(1){j=ia+(N(p,C)<<2)|0;m=0;if(!g){while(1){c=H[j>>2];b=c&2147483647;H[j>>2]=(c|0)<0?0-b|0:b;c=H[j+4>>2];b=c&2147483647;H[j+4>>2]=(c|0)<0?0-b|0:b;c=H[j+8>>2];b=c&2147483647;H[j+8>>2]=(c|0)<0?0-b|0:b;c=H[j+12>>2];b=c&2147483647;H[j+12>>2]=(c|0)<0?0-b|0:b;j=j+16|0;m=m+4|0;if((q|0)!=(m|0)){continue}break}}m=0;if(n){while(1){c=H[j>>2];b=c&2147483647;H[j>>2]=(c|0)<0?0-b|0:b;j=j+4|0;m=m+1|0;if((n|0)!=(m|0)){continue}break}}j=1;p=p+1|0;if((ca|0)!=(p|0)){continue}break}break j}if(!ba){break v}H[l+52>>2]=H[E+24>>2];H[l+48>>2]=S;Ca(R,1,9686,l+48|0);break u}H[l+20>>2]=m;H[l+16>>2]=S;Ca(R,1,9686,l+16|0);j=0;break j}j=0}oa=l+304|0;if(j){break i}break b}H[e+108>>2]=(b<<9)+22336;c=0;b=H[e+116>>2];Pa:{Qa:{p=H[E+16>>2]-H[E+8>>2]|0;k=H[E+20>>2]-H[E+12>>2]|0;g=N(p,k);Ra:{Sa:{Ta:{if(g>>>0>K[e+132>>2]){Da(b);b=Ja(g<<2);H[e+116>>2]=b;if(!b){break Ra}H[e+132>>2]=g;break Ta}if(!b){break Sa}}g=g<<2;if(!g){break Sa}y(b,0,g)}b=H[e+120>>2];r=p+2|0;n=k+3>>>2|0;g=N(r,n+2|0);if(g>>>0<=K[e+136>>2]){z=g<<2;break Qa}Da(b);z=g<<2;b=Ja(z);H[e+120>>2]=b;if(b){break Qa}}b=0;break Pa}H[e+136>>2]=g;if(z){y(b,0,z)}Ua:{if(!r){break Ua}q=H[e+120>>2];b=q;l=p+1|0;if(l>>>0>=7){g=r&-8;while(1){H[b+24>>2]=1226833920;H[b+28>>2]=1226833920;H[b+16>>2]=1226833920;H[b+20>>2]=1226833920;H[b+8>>2]=1226833920;H[b+12>>2]=1226833920;H[b>>2]=1226833920;H[b+4>>2]=1226833920;b=b+32|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}g=r&7;if(g){c=0;while(1){H[b>>2]=1226833920;b=b+4|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}b=q+(N(r,n+1|0)<<2)|0;if(l>>>0>=7){g=r&-8;c=0;while(1){H[b+24>>2]=1226833920;H[b+28>>2]=1226833920;H[b+16>>2]=1226833920;H[b+20>>2]=1226833920;H[b+8>>2]=1226833920;H[b+12>>2]=1226833920;H[b>>2]=1226833920;H[b+4>>2]=1226833920;b=b+32|0;c=c+8|0;if((g|0)!=(c|0)){continue}break}}g=r&7;if(g){c=0;while(1){H[b>>2]=1226833920;b=b+4|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}b=k&3;if(!b){break Ua}g=(b|0)==1?1224736768:(b|0)==2?1207959552:1073741824;b=q+(N(n,r)<<2)|0;if(l>>>0>=7){c=r&-8;z=0;while(1){H[b+28>>2]=g;H[b+24>>2]=g;H[b+20>>2]=g;H[b+16>>2]=g;H[b+12>>2]=g;H[b+8>>2]=g;H[b+4>>2]=g;H[b>>2]=g;b=b+32|0;z=z+8|0;if((c|0)!=(z|0)){continue}break}}c=r&7;if(!c){break Ua}z=0;while(1){H[b>>2]=g;b=b+4|0;z=z+1|0;if((c|0)!=(z|0)){continue}break}}H[e+128>>2]=k;H[e+124>>2]=p;b=1}if(!b){break b}z=P+H[E+28>>2]|0;if((z|0)>=31){if(!ba){break h}H[aa+16>>2]=z;Ca(R,2,8716,aa+16|0);break b}ic(e);_a(e,18,46);_a(e,17,3);_a(e,0,4);if(H[E+64>>2]){break i}q=H[E+52>>2];Va:{if(!(q>>>0<=1&(!H[e+144>>2]|(q|0)!=1))){b=H[E+4>>2];g=0;if(q-1>>>0>=3){c=q&-4;while(1){l=(i<<3)+b|0;g=H[l+28>>2]+(H[l+20>>2]+(H[l+12>>2]+(H[l+4>>2]+g|0)|0)|0)|0;i=i+4|0;f=f+4|0;if((c|0)!=(f|0)){continue}break}}c=q&3;if(c){while(1){g=H[((i<<3)+b|0)+4>>2]+g|0;i=i+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}ja=H[e+148>>2];c=g+2|0;if(c>>>0>K[e+152>>2]){b=Ia(ja,c);if(!b){break b}H[e+148>>2]=b;b=b+g|0;F[b|0]=0;F[b+1|0]=0;H[e+152>>2]=c;ja=H[e+148>>2];if(!H[E+52>>2]){break Va}b=H[E+4>>2]}g=0;i=0;while(1){l=i<<3;c=l+b|0;b=H[c+4>>2];if(b){B(g+ja|0,H[c>>2],b)}b=H[E+4>>2];g=H[(l+b|0)+4>>2]+g|0;i=i+1|0;if(i>>>0>2]){continue}break}break Va}if((q|0)!=1){break i}ja=H[H[E+4>>2]>>2]}b=H[E+60>>2];if(b){$=H[e+116>>2];H[e+116>>2]=b}if(H[E+44>>2]){ia=Z&2;ha=Z&8;da=e+28|0;V=!(Z&1);_=2;while(1){l=U+ja|0;ma=H[E>>2]+N(S,24)|0;c=H[ma>>2];na=V|((H[E+28>>2]-4|0)<(z|0)|_>>>0>1);Wa:{if(!na){H[e+20>>2]=l;b=c+l|0;H[e+24>>2]=b;G[e+112>>1]=I[b|0]|I[b+1|0]<<8;F[b|0]=255;F[H[e+24>>2]+1|0]=255;H[e+8>>2]=0;H[e>>2]=0;H[e+16>>2]=l;break Wa}H[e+20>>2]=l;b=c+l|0;H[e+24>>2]=b;G[e+112>>1]=I[b|0]|I[b+1|0]<<8;F[b|0]=255;F[H[e+24>>2]+1|0]=255;H[e+104>>2]=e+28;H[e+16>>2]=l;H[e+12>>2]=0;b=c?I[l|0]<<16:16711680;H[e>>2]=b;j=1;c=l+1|0;g=I[l+1|0];Xa:{if(I[l|0]==255){if(g>>>0>=144){H[e+12>>2]=1;b=b|65280;break Xa}H[e+16>>2]=c;j=0;b=b+(g<<9)|0;break Xa}H[e+16>>2]=c;b=b|g<<8}H[e+8>>2]=j;H[e+4>>2]=32768;H[e>>2]=b<<7}x=H[ma>>2];Ya:{if(!H[ma+8>>2]|(z|0)<=0){break Ya}T=0;P=na&(ia|0)!=0;while(1){Za:{_a:{$a:{switch(_-1|0){default:if(!na){b=1<>>1|b;r=H[e+124>>2];n=r<<2;b=(n+H[e+120>>2]|0)+12|0;g=H[e+116>>2];m=0;c=H[e+128>>2];if(c>>>0>=4){if(!r){break Za}d=N(r,12);q=r<<3;f=0-o|0;while(1){c=0;while(1){l=b;b=H[b>>2];ab:{if(!b){break ab}if(!(!(b&495)|b&2097168)){b=H[e>>2];j=H[e+8>>2];bb:{if(j){break bb}j=(b|0)==255;k=H[e+16>>2];b=I[k|0];cb:{if(!j){H[e>>2]=b;H[e+16>>2]=k+1;break cb}if(b>>>0<=143){H[e>>2]=b;H[e+16>>2]=k+1;j=7;break bb}b=255;H[e>>2]=255}j=8}j=j-1|0;H[e+8>>2]=j;db:{if(!(b>>>j&1)){break db}eb:{if(j){break eb}j=(b|0)==255;k=H[e+16>>2];b=I[k|0];fb:{if(!j){H[e>>2]=b;H[e+16>>2]=k+1;break fb}if(b>>>0<=143){H[e>>2]=b;H[e+16>>2]=k+1;j=7;break eb}b=255;H[e>>2]=255}j=8}j=j-1|0;H[e+8>>2]=j;k=b>>>j&1;H[g>>2]=k?f:o;j=H[e+124>>2];b=l-4|0;H[b>>2]=H[b>>2]|32;H[l+4>>2]=H[l+4>>2]|8;H[l>>2]=H[l>>2]|k<<19|16;if(ha){break db}b=l+(-2-j<<2)|0;H[b+4>>2]=H[b+4>>2]|32768;H[b>>2]=H[b>>2]|k<<31|65536;b=b-4|0;H[b>>2]=H[b>>2]|131072}b=H[l>>2]|2097152;H[l>>2]=b}if(!(!(b&3960)|b&16777344)){b=H[e>>2];j=H[e+8>>2];gb:{if(j){break gb}j=(b|0)==255;k=H[e+16>>2];b=I[k|0];hb:{if(!j){H[e>>2]=b;H[e+16>>2]=k+1;break hb}if(b>>>0<=143){H[e>>2]=b;H[e+16>>2]=k+1;j=7;break gb}b=255;H[e>>2]=255}j=8}j=j-1|0;H[e+8>>2]=j;if(b>>>j&1){ib:{if(j){break ib}j=(b|0)==255;k=H[e+16>>2];b=I[k|0];jb:{if(!j){H[e>>2]=b;H[e+16>>2]=k+1;break jb}if(b>>>0<=143){H[e>>2]=b;H[e+16>>2]=k+1;j=7;break ib}b=255;H[e>>2]=255}j=8}j=j-1|0;H[e+8>>2]=j;j=b>>>j&1;H[g+n>>2]=j?f:o;b=l-4|0;H[b>>2]=H[b>>2]|256;H[l+4>>2]=H[l+4>>2]|64;b=H[l>>2]|j<<22|128}else{b=H[l>>2]}b=b|16777216;H[l>>2]=b}if(!(!(b&31680)|b&134218752)){b=H[e>>2];j=H[e+8>>2];kb:{if(j){break kb}j=(b|0)==255;k=H[e+16>>2];b=I[k|0];lb:{if(!j){H[e>>2]=b;H[e+16>>2]=k+1;break lb}if(b>>>0<=143){H[e>>2]=b;H[e+16>>2]=k+1;j=7;break kb}b=255;H[e>>2]=255}j=8}j=j-1|0;H[e+8>>2]=j;if(b>>>j&1){mb:{if(j){break mb}j=(b|0)==255;k=H[e+16>>2];b=I[k|0];nb:{if(!j){H[e>>2]=b;H[e+16>>2]=k+1;break nb}if(b>>>0<=143){H[e>>2]=b;H[e+16>>2]=k+1;j=7;break mb}b=255;H[e>>2]=255}j=8}j=j-1|0;H[e+8>>2]=j;j=b>>>j&1;H[g+q>>2]=j?f:o;b=l-4|0;H[b>>2]=H[b>>2]|2048;H[l+4>>2]=H[l+4>>2]|512;b=H[l>>2]|j<<25|1024}else{b=H[l>>2]}b=b|134217728;H[l>>2]=b}if(!(b&253440)|b&1073750016){break ab}b=H[e>>2];j=H[e+8>>2];ob:{if(j){break ob}j=(b|0)==255;k=H[e+16>>2];b=I[k|0];pb:{if(!j){H[e>>2]=b;H[e+16>>2]=k+1;break pb}if(b>>>0<=143){H[e>>2]=b;H[e+16>>2]=k+1;j=7;break ob}b=255;H[e>>2]=255}j=8}j=j-1|0;H[e+8>>2]=j;if(b>>>j&1){qb:{if(j){break qb}j=(b|0)==255;k=H[e+16>>2];b=I[k|0];rb:{if(!j){H[e>>2]=b;H[e+16>>2]=k+1;break rb}if(b>>>0<=143){H[e>>2]=b;H[e+16>>2]=k+1;j=7;break qb}b=255;H[e>>2]=255}j=8}j=j-1|0;H[e+8>>2]=j;k=b>>>j&1;H[d+g>>2]=k?f:o;j=H[e+124>>2];b=l-4|0;H[b>>2]=H[b>>2]|16384;H[l+4>>2]=H[l+4>>2]|4096;H[l>>2]=H[l>>2]|k<<28|8192;b=l+(j<<2)|0;H[b+4>>2]=H[b+4>>2]|4;H[b+12>>2]=H[b+12>>2]|1;H[b+8>>2]=H[b+8>>2]|k<<18|2}H[l>>2]=H[l>>2]|1073741824}g=g+4|0;b=l+4|0;c=c+1|0;if((r|0)!=(c|0)){continue}break}g=d+g|0;b=l+12|0;m=m+4|0;c=H[e+128>>2];if(m>>>0<(c&-4)>>>0){continue}break}}if(!r|c>>>0<=m>>>0){break _a}v=0;q=0-o|0;j=c;while(1){sb:{if((j|0)==(m|0)){j=m;break sb}d=b-4|0;k=H[b>>2];i=0;while(1){p=N(i,3);l=k>>>p|0;if(!(l&2097168|!(l&495))){c=H[e>>2];f=H[e+8>>2];tb:{if(f){break tb}l=(c|0)!=255;j=H[e+16>>2];c=I[j|0];ub:{if(!l){if(c>>>0>=144){c=255;H[e>>2]=255;break ub}H[e>>2]=c;H[e+16>>2]=j+1;f=7;break tb}H[e>>2]=c;H[e+16>>2]=j+1}f=8}f=f-1|0;H[e+8>>2]=f;vb:{if(!(c>>>f&1)){break vb}j=(N(i,r)<<2)+g|0;wb:{if(f){break wb}l=(c|0)!=255;n=H[e+16>>2];c=I[n|0];xb:{if(!l){if(c>>>0>=144){c=255;H[e>>2]=255;break xb}H[e>>2]=c;H[e+16>>2]=n+1;f=7;break wb}H[e>>2]=c;H[e+16>>2]=n+1}f=8}l=f-1|0;H[e+8>>2]=l;k=j;j=c>>>l&1;H[k>>2]=j?q:o;l=H[e+124>>2];H[d>>2]=H[d>>2]|32<>2]=H[b>>2]|(j<<19|16)<>2]=H[b+4>>2]|8<>2]=H[c+4>>2]|32768;H[c>>2]=H[c>>2]|j<<31|65536;c=c-4|0;H[c>>2]=H[c>>2]|131072}if((i|0)!=3){break vb}c=(l<<2)+b|0;H[c+4>>2]=H[c+4>>2]|4;H[c+12>>2]=H[c+12>>2]|1;H[c+8>>2]=H[c+8>>2]|j<<18|2}k=H[b>>2]|2097152<>2]=k;c=H[e+128>>2]}j=c;i=i+1|0;if(i>>>0>>0){continue}break}}g=g+4|0;b=b+4|0;v=v+1|0;if((r|0)!=(v|0)){continue}break}break _a}j=0;r=0;v=0;yb:{zb:{Ab:{D=H[e+124>>2];if(!((D|0)!=64|H[e+128>>2]!=64)){b=1<>>1|b;l=0-j|0;u=e+28|0;g=H[e+120>>2]+268|0;f=H[e+8>>2];c=H[e+4>>2];k=H[e>>2];m=H[e+104>>2];b=H[e+116>>2];if(Z&8){break Ab}while(1){v=0;while(1){q=b;n=g;g=H[g>>2];if(g){Bb:{if(g&2097168){break Bb}b=g&495;if(!b){break Bb}m=u+(I[b+H[e+108>>2]|0]<<2)|0;i=H[m>>2];b=H[i>>2];c=c-b|0;Cb:{if(k>>>16>>>0>>0){p=H[i+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[i+(d?8:12)>>2];while(1){Db:{if(f){break Db}f=H[e+16>>2];c=f+1|0;i=I[f+1|0];if(I[f|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Db}H[e+16>>2]=c;k=(i<<9)+k|0;f=7;break Db}H[e+16>>2]=c;f=8;k=(i<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?p:!p;break Cb}k=k-(b<<16)|0;if(!(c&32768)){p=H[i+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[i+(b?12:8)>>2];while(1){Eb:{if(f){break Eb}f=H[e+16>>2];d=f+1|0;i=I[f+1|0];if(I[f|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Eb}H[e+16>>2]=d;k=(i<<9)+k|0;f=7;break Eb}H[e+16>>2]=d;f=8;k=(i<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!p:p;break Cb}b=H[i+4>>2]}if(b){o=n-4|0;d=H[n+4>>2]>>>17&4|(H[o>>2]>>>19&1|(g>>>14&16|(g>>>16&64|g&170)));m=u+(I[d+24384|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;p=I[d+24640|0];Fb:{if(k>>>16>>>0>>0){i=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){Gb:{if(f){break Gb}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Gb}H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break Gb}H[e+16>>2]=c;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;d=d?i:!i;break Fb}k=k-(b<<16)|0;if(!(c&32768)){i=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){Hb:{if(f){break Hb}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Hb}H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break Hb}H[e+16>>2]=d;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}d=b?!i:i;break Fb}d=H[h+4>>2]}H[q>>2]=(p|0)==(d|0)?j:l;H[o>>2]=H[o>>2]|32;H[n+4>>2]=H[n+4>>2]|8;b=n-268|0;H[b>>2]=H[b>>2]|131072;b=n-260|0;H[b>>2]=H[b>>2]|32768;b=n-264|0;i=b;w=H[b>>2];b=d^p;H[i>>2]=w|b<<31|65536;g=b<<19|g|16}g=g|2097152}if(!(!(g&3960)|g&16777344)){p=g>>>3|0;m=u+(I[H[e+108>>2]+(p&495)|0]<<2)|0;o=H[m>>2];b=H[o>>2];c=c-b|0;Ib:{if(k>>>16>>>0>>0){i=H[o+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[o+(d?8:12)>>2];while(1){Jb:{if(f){break Jb}f=H[e+16>>2];c=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Jb}H[e+16>>2]=c;k=(o<<9)+k|0;f=7;break Jb}H[e+16>>2]=c;f=8;k=(o<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?i:!i;break Ib}k=k-(b<<16)|0;if(!(c&32768)){i=H[o+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[o+(b?12:8)>>2];while(1){Kb:{if(f){break Kb}f=H[e+16>>2];d=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Kb}H[e+16>>2]=d;k=(o<<9)+k|0;f=7;break Kb}H[e+16>>2]=d;f=8;k=(o<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!i:i;break Ib}b=H[o+4>>2]}if(b){o=n-4|0;d=H[n+4>>2]>>>20&4|(H[o>>2]>>>22&1|(g>>>15&16|(g>>>19&64|p&170)));m=u+(I[d+24384|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;p=I[d+24640|0];Lb:{if(k>>>16>>>0>>0){i=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){Mb:{if(f){break Mb}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Mb}H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break Mb}H[e+16>>2]=c;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?i:!i;break Lb}k=k-(b<<16)|0;if(!(c&32768)){i=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){Nb:{if(f){break Nb}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Nb}H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break Nb}H[e+16>>2]=d;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!i:i;break Lb}b=H[h+4>>2]}H[q+256>>2]=(p|0)==(b|0)?j:l;H[o>>2]=H[o>>2]|256;H[n+4>>2]=H[n+4>>2]|64;g=(b^p)<<22|g|128}g=g|16777216}if(!(!(g&31680)|g&134218752)){p=g>>>6|0;m=u+(I[H[e+108>>2]+(p&495)|0]<<2)|0;o=H[m>>2];b=H[o>>2];c=c-b|0;Ob:{if(k>>>16>>>0>>0){i=H[o+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[o+(d?8:12)>>2];while(1){Pb:{if(f){break Pb}f=H[e+16>>2];c=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Pb}H[e+16>>2]=c;k=(o<<9)+k|0;f=7;break Pb}H[e+16>>2]=c;f=8;k=(o<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?i:!i;break Ob}k=k-(b<<16)|0;if(!(c&32768)){i=H[o+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[o+(b?12:8)>>2];while(1){Qb:{if(f){break Qb}f=H[e+16>>2];d=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Qb}H[e+16>>2]=d;k=(o<<9)+k|0;f=7;break Qb}H[e+16>>2]=d;f=8;k=(o<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!i:i;break Ob}b=H[o+4>>2]}if(b){o=n-4|0;d=H[n+4>>2]>>>23&4|(H[o>>2]>>>25&1|(g>>>18&16|(g>>>22&64|p&170)));m=u+(I[d+24384|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;p=I[d+24640|0];Rb:{if(k>>>16>>>0>>0){i=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){Sb:{if(f){break Sb}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Sb}H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break Sb}H[e+16>>2]=c;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?i:!i;break Rb}k=k-(b<<16)|0;if(!(c&32768)){i=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){Tb:{if(f){break Tb}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Tb}H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break Tb}H[e+16>>2]=d;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!i:i;break Rb}b=H[h+4>>2]}H[q+512>>2]=(p|0)==(b|0)?j:l;H[o>>2]=H[o>>2]|2048;H[n+4>>2]=H[n+4>>2]|512;g=(b^p)<<25|g|1024}g=g|134217728}if(!(!(g&253440)|g&1073750016)){p=g>>>9|0;m=u+(I[H[e+108>>2]+(p&495)|0]<<2)|0;o=H[m>>2];b=H[o>>2];c=c-b|0;Ub:{if(k>>>16>>>0>>0){i=H[o+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[o+(d?8:12)>>2];while(1){Vb:{if(f){break Vb}f=H[e+16>>2];c=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Vb}H[e+16>>2]=c;k=(o<<9)+k|0;f=7;break Vb}H[e+16>>2]=c;f=8;k=(o<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?i:!i;break Ub}k=k-(b<<16)|0;if(!(c&32768)){i=H[o+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[o+(b?12:8)>>2];while(1){Wb:{if(f){break Wb}f=H[e+16>>2];d=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Wb}H[e+16>>2]=d;k=(o<<9)+k|0;f=7;break Wb}H[e+16>>2]=d;f=8;k=(o<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!i:i;break Ub}b=H[o+4>>2]}if(b){o=n-4|0;d=H[n+4>>2]>>>26&4|(H[o>>2]>>>28&1|(g>>>21&16|(g>>>25&64|p&170)));m=u+(I[d+24384|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;p=I[d+24640|0];Xb:{if(k>>>16>>>0>>0){i=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){Yb:{if(f){break Yb}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Yb}H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break Yb}H[e+16>>2]=c;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?i:!i;break Xb}k=k-(b<<16)|0;if(!(c&32768)){i=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){Zb:{if(f){break Zb}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break Zb}H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break Zb}H[e+16>>2]=d;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!i:i;break Xb}b=H[h+4>>2]}H[q+768>>2]=(p|0)==(b|0)?j:l;H[o>>2]=H[o>>2]|16384;H[n+4>>2]=H[n+4>>2]|4096;H[n+260>>2]=H[n+260>>2]|4;H[n+268>>2]=H[n+268>>2]|1;b=b^p;H[n+264>>2]=H[n+264>>2]|b<<18|2;g=b<<28|g|8192}g=g|1073741824}H[n>>2]=g}g=n+4|0;b=q+4|0;v=v+1|0;if((v|0)!=64){continue}break}g=n+12|0;b=q+772|0;q=r>>>0<60;r=r+4|0;if(q){continue}break}break zb}b=1<>>1|b;q=H[e+120>>2];g=(q+(D<<2)|0)+12|0;b=H[e+128>>2];f=H[e+8>>2];c=H[e+4>>2];k=H[e>>2];m=H[e+104>>2];p=H[e+116>>2];_b:{if(Z&8){$b:{if(b>>>0<4){break $b}if(D){t=N(D,12);o=D<<3;q=0-l|0;M=e+28|0;while(1){w=0;while(1){n=g;g=H[g>>2];if(g){ac:{if(g&2097168){break ac}b=g&495;if(!b){break ac}m=M+(I[b+H[e+108>>2]|0]<<2)|0;r=H[m>>2];b=H[r>>2];c=c-b|0;bc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;i=H[r+4>>2];if(c&32768){break bc}i=H[r+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[r+(b?12:8)>>2];while(1){cc:{if(f){break cc}f=H[e+16>>2];d=f+1|0;r=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(r<<8)+k|0;break cc}if(r>>>0<=143){H[e+16>>2]=d;k=(r<<9)+k|0;f=7;break cc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}i=b?!i:i;break bc}i=H[r+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[r+(d?8:12)>>2];while(1){dc:{if(f){break dc}f=H[e+16>>2];c=f+1|0;r=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(r<<8)+k|0;break dc}if(r>>>0<=143){H[e+16>>2]=c;k=(r<<9)+k|0;f=7;break dc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;i=d?i:!i}if(i){h=n-4|0;d=H[n+4>>2]>>>17&4|(H[h>>2]>>>19&1|(g>>>14&16|(g>>>16&64|g&170)));m=M+(I[d+24384|0]<<2)|0;u=H[m>>2];b=H[u>>2];c=c-b|0;i=I[d+24640|0];ec:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;s=H[u+4>>2];if(c&32768){break ec}r=H[u+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[u+(b?12:8)>>2];while(1){fc:{if(f){break fc}f=H[e+16>>2];d=f+1|0;u=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(u<<8)+k|0;break fc}if(u>>>0<=143){H[e+16>>2]=d;k=(u<<9)+k|0;f=7;break fc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}s=b?!r:r;break ec}r=H[u+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[u+(d?8:12)>>2];while(1){gc:{if(f){break gc}f=H[e+16>>2];c=f+1|0;u=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(u<<8)+k|0;break gc}if(u>>>0<=143){H[e+16>>2]=c;k=(u<<9)+k|0;f=7;break gc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;s=d?r:!r}b=s;H[p>>2]=(i|0)==(b|0)?l:q;H[h>>2]=H[h>>2]|32;H[n+4>>2]=H[n+4>>2]|8;g=(b^i)<<19|g|16}g=g|2097152}if(!(!(g&3960)|g&16777344)){i=g>>>3|0;m=M+(I[H[e+108>>2]+(i&495)|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;hc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;s=H[h+4>>2];if(c&32768){break hc}r=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){ic:{if(f){break ic}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(h<<8)+k|0;break ic}if(h>>>0<=143){H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break ic}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}s=b?!r:r;break hc}r=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){jc:{if(f){break jc}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(h<<8)+k|0;break jc}if(h>>>0<=143){H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break jc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;s=d?r:!r}if(s){u=n-4|0;d=H[n+4>>2]>>>20&4|(H[u>>2]>>>22&1|(g>>>15&16|(g>>>19&64|i&170)));m=M+(I[d+24384|0]<<2)|0;s=H[m>>2];b=H[s>>2];c=c-b|0;r=(D<<2)+p|0;i=I[d+24640|0];kc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;A=H[s+4>>2];if(c&32768){break kc}h=H[s+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[s+(b?12:8)>>2];while(1){lc:{if(f){break lc}f=H[e+16>>2];d=f+1|0;s=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(s<<8)+k|0;break lc}if(s>>>0<=143){H[e+16>>2]=d;k=(s<<9)+k|0;f=7;break lc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}A=b?!h:h;break kc}h=H[s+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[s+(d?8:12)>>2];while(1){mc:{if(f){break mc}f=H[e+16>>2];c=f+1|0;s=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(s<<8)+k|0;break mc}if(s>>>0<=143){H[e+16>>2]=c;k=(s<<9)+k|0;f=7;break mc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;A=d?h:!h}b=A;H[r>>2]=(i|0)==(b|0)?l:q;H[u>>2]=H[u>>2]|256;H[n+4>>2]=H[n+4>>2]|64;g=(b^i)<<22|g|128}g=g|16777216}if(!(!(g&31680)|g&134218752)){i=g>>>6|0;m=M+(I[H[e+108>>2]+(i&495)|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;nc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;s=H[h+4>>2];if(c&32768){break nc}r=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){oc:{if(f){break oc}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(h<<8)+k|0;break oc}if(h>>>0<=143){H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break oc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}s=b?!r:r;break nc}r=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){pc:{if(f){break pc}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(h<<8)+k|0;break pc}if(h>>>0<=143){H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break pc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;s=d?r:!r}if(s){u=n-4|0;d=H[n+4>>2]>>>23&4|(H[u>>2]>>>25&1|(g>>>18&16|(g>>>22&64|i&170)));m=M+(I[d+24384|0]<<2)|0;s=H[m>>2];b=H[s>>2];c=c-b|0;r=o+p|0;i=I[d+24640|0];qc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;A=H[s+4>>2];if(c&32768){break qc}h=H[s+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[s+(b?12:8)>>2];while(1){rc:{if(f){break rc}f=H[e+16>>2];d=f+1|0;s=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(s<<8)+k|0;break rc}if(s>>>0<=143){H[e+16>>2]=d;k=(s<<9)+k|0;f=7;break rc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}A=b?!h:h;break qc}h=H[s+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[s+(d?8:12)>>2];while(1){sc:{if(f){break sc}f=H[e+16>>2];c=f+1|0;s=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(s<<8)+k|0;break sc}if(s>>>0<=143){H[e+16>>2]=c;k=(s<<9)+k|0;f=7;break sc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;A=d?h:!h}b=A;H[r>>2]=(i|0)==(b|0)?l:q;H[u>>2]=H[u>>2]|2048;H[n+4>>2]=H[n+4>>2]|512;g=(b^i)<<25|g|1024}g=g|134217728}if(!(!(g&253440)|g&1073750016)){i=g>>>9|0;m=M+(I[H[e+108>>2]+(i&495)|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;tc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;s=H[h+4>>2];if(c&32768){break tc}r=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){uc:{if(f){break uc}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(h<<8)+k|0;break uc}if(h>>>0<=143){H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break uc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}s=b?!r:r;break tc}r=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){vc:{if(f){break vc}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(h<<8)+k|0;break vc}if(h>>>0<=143){H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break vc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;s=d?r:!r}if(s){u=n-4|0;d=H[n+4>>2]>>>26&4|(H[u>>2]>>>28&1|(g>>>21&16|(g>>>25&64|i&170)));m=M+(I[d+24384|0]<<2)|0;s=H[m>>2];b=H[s>>2];c=c-b|0;r=p+t|0;i=I[d+24640|0];wc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;A=H[s+4>>2];if(c&32768){break wc}h=H[s+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[s+(b?12:8)>>2];while(1){xc:{if(f){break xc}f=H[e+16>>2];d=f+1|0;s=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(s<<8)+k|0;break xc}if(s>>>0<=143){H[e+16>>2]=d;k=(s<<9)+k|0;f=7;break xc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}A=b?!h:h;break wc}h=H[s+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[s+(d?8:12)>>2];while(1){yc:{if(f){break yc}f=H[e+16>>2];c=f+1|0;s=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(s<<8)+k|0;break yc}if(s>>>0<=143){H[e+16>>2]=c;k=(s<<9)+k|0;f=7;break yc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;A=d?h:!h}b=A;H[r>>2]=(i|0)==(b|0)?l:q;H[u>>2]=H[u>>2]|16384;H[n+4>>2]=H[n+4>>2]|4096;d=n+(H[e+124>>2]<<2)|0;H[d+4>>2]=H[d+4>>2]|4;H[d+12>>2]=H[d+12>>2]|1;b=b^i;H[d+8>>2]=H[d+8>>2]|b<<18|2;g=b<<28|g|8192}g=g|1073741824}H[n>>2]=g}g=n+4|0;p=p+4|0;w=w+1|0;if((D|0)!=(w|0)){continue}break}g=n+12|0;p=p+t|0;j=j+4|0;b=H[e+128>>2];if(j>>>0<(b&-4)>>>0){continue}break}break $b}g=(b&-4)-1|0;j=(g&-4)+4|0;g=(q+(g<<1&-8)|0)+20|0}H[e+8>>2]=f;H[e+4>>2]=c;H[e>>2]=k;H[e+104>>2]=m;if(!D|b>>>0<=j>>>0){break _b}while(1){c=(b|0)==(j|0);f=0;b=j;if(!c){while(1){hc(e,g,(N(f,D)<<2)+p|0,l,f,H[e+124>>2]+2|0,1);f=f+1|0;b=H[e+128>>2];if(f>>>0>>0){continue}break}}g=g+4|0;p=p+4|0;v=v+1|0;if((D|0)!=(v|0)){continue}break}break _b}zc:{if(b>>>0<4){break zc}if(D){t=N(D,12);o=D<<3;q=0-l|0;M=e+28|0;while(1){w=0;while(1){n=g;g=H[g>>2];if(g){Ac:{if(g&2097168){break Ac}b=g&495;if(!b){break Ac}m=M+(I[b+H[e+108>>2]|0]<<2)|0;r=H[m>>2];b=H[r>>2];c=c-b|0;Bc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;i=H[r+4>>2];if(c&32768){break Bc}i=H[r+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[r+(b?12:8)>>2];while(1){Cc:{if(f){break Cc}f=H[e+16>>2];d=f+1|0;r=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(r<<8)+k|0;break Cc}if(r>>>0<=143){H[e+16>>2]=d;k=(r<<9)+k|0;f=7;break Cc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}i=b?!i:i;break Bc}i=H[r+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[r+(d?8:12)>>2];while(1){Dc:{if(f){break Dc}f=H[e+16>>2];c=f+1|0;r=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(r<<8)+k|0;break Dc}if(r>>>0<=143){H[e+16>>2]=c;k=(r<<9)+k|0;f=7;break Dc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;i=d?i:!i}if(i){h=n-4|0;d=H[n+4>>2]>>>17&4|(H[h>>2]>>>19&1|(g>>>14&16|(g>>>16&64|g&170)));m=M+(I[d+24384|0]<<2)|0;u=H[m>>2];b=H[u>>2];c=c-b|0;i=I[d+24640|0];Ec:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;d=H[u+4>>2];if(c&32768){break Ec}r=H[u+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[u+(b?12:8)>>2];while(1){Fc:{if(f){break Fc}f=H[e+16>>2];d=f+1|0;u=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(u<<8)+k|0;break Fc}if(u>>>0<=143){H[e+16>>2]=d;k=(u<<9)+k|0;f=7;break Fc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}d=b?!r:r;break Ec}r=H[u+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[u+(d?8:12)>>2];while(1){Gc:{if(f){break Gc}f=H[e+16>>2];c=f+1|0;u=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(u<<8)+k|0;break Gc}if(u>>>0<=143){H[e+16>>2]=c;k=(u<<9)+k|0;f=7;break Gc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;d=d?r:!r}H[p>>2]=(i|0)==(d|0)?l:q;H[h>>2]=H[h>>2]|32;H[n+4>>2]=H[n+4>>2]|8;b=n+(-2-H[e+124>>2]<<2)|0;H[b+4>>2]=H[b+4>>2]|32768;d=d^i;H[b>>2]=H[b>>2]|d<<31|65536;b=b-4|0;H[b>>2]=H[b>>2]|131072;g=d<<19|g|16}g=g|2097152}if(!(!(g&3960)|g&16777344)){i=g>>>3|0;m=M+(I[H[e+108>>2]+(i&495)|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;Hc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;s=H[h+4>>2];if(c&32768){break Hc}r=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){Ic:{if(f){break Ic}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(h<<8)+k|0;break Ic}if(h>>>0<=143){H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break Ic}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}s=b?!r:r;break Hc}r=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){Jc:{if(f){break Jc}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(h<<8)+k|0;break Jc}if(h>>>0<=143){H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break Jc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;s=d?r:!r}if(s){u=n-4|0;d=H[n+4>>2]>>>20&4|(H[u>>2]>>>22&1|(g>>>15&16|(g>>>19&64|i&170)));m=M+(I[d+24384|0]<<2)|0;s=H[m>>2];b=H[s>>2];c=c-b|0;r=(D<<2)+p|0;i=I[d+24640|0];Kc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;A=H[s+4>>2];if(c&32768){break Kc}h=H[s+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[s+(b?12:8)>>2];while(1){Lc:{if(f){break Lc}f=H[e+16>>2];d=f+1|0;s=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(s<<8)+k|0;break Lc}if(s>>>0<=143){H[e+16>>2]=d;k=(s<<9)+k|0;f=7;break Lc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}A=b?!h:h;break Kc}h=H[s+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[s+(d?8:12)>>2];while(1){Mc:{if(f){break Mc}f=H[e+16>>2];c=f+1|0;s=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(s<<8)+k|0;break Mc}if(s>>>0<=143){H[e+16>>2]=c;k=(s<<9)+k|0;f=7;break Mc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;A=d?h:!h}b=A;H[r>>2]=(i|0)==(b|0)?l:q;H[u>>2]=H[u>>2]|256;H[n+4>>2]=H[n+4>>2]|64;g=(b^i)<<22|g|128}g=g|16777216}if(!(!(g&31680)|g&134218752)){i=g>>>6|0;m=M+(I[H[e+108>>2]+(i&495)|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;Nc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;s=H[h+4>>2];if(c&32768){break Nc}r=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){Oc:{if(f){break Oc}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(h<<8)+k|0;break Oc}if(h>>>0<=143){H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break Oc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}s=b?!r:r;break Nc}r=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){Pc:{if(f){break Pc}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(h<<8)+k|0;break Pc}if(h>>>0<=143){H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break Pc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;s=d?r:!r}if(s){u=n-4|0;d=H[n+4>>2]>>>23&4|(H[u>>2]>>>25&1|(g>>>18&16|(g>>>22&64|i&170)));m=M+(I[d+24384|0]<<2)|0;s=H[m>>2];b=H[s>>2];c=c-b|0;r=o+p|0;i=I[d+24640|0];Qc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;A=H[s+4>>2];if(c&32768){break Qc}h=H[s+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[s+(b?12:8)>>2];while(1){Rc:{if(f){break Rc}f=H[e+16>>2];d=f+1|0;s=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(s<<8)+k|0;break Rc}if(s>>>0<=143){H[e+16>>2]=d;k=(s<<9)+k|0;f=7;break Rc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}A=b?!h:h;break Qc}h=H[s+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[s+(d?8:12)>>2];while(1){Sc:{if(f){break Sc}f=H[e+16>>2];c=f+1|0;s=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(s<<8)+k|0;break Sc}if(s>>>0<=143){H[e+16>>2]=c;k=(s<<9)+k|0;f=7;break Sc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;A=d?h:!h}b=A;H[r>>2]=(i|0)==(b|0)?l:q;H[u>>2]=H[u>>2]|2048;H[n+4>>2]=H[n+4>>2]|512;g=(b^i)<<25|g|1024}g=g|134217728}if(!(!(g&253440)|g&1073750016)){i=g>>>9|0;m=M+(I[H[e+108>>2]+(i&495)|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;Tc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;s=H[h+4>>2];if(c&32768){break Tc}r=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){Uc:{if(f){break Uc}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(h<<8)+k|0;break Uc}if(h>>>0<=143){H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break Uc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}s=b?!r:r;break Tc}r=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){Vc:{if(f){break Vc}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(h<<8)+k|0;break Vc}if(h>>>0<=143){H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break Vc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;s=d?r:!r}if(s){u=n-4|0;d=H[n+4>>2]>>>26&4|(H[u>>2]>>>28&1|(g>>>21&16|(g>>>25&64|i&170)));m=M+(I[d+24384|0]<<2)|0;s=H[m>>2];b=H[s>>2];c=c-b|0;r=p+t|0;i=I[d+24640|0];Wc:{if(k>>>16>>>0>=b>>>0){k=k-(b<<16)|0;A=H[s+4>>2];if(c&32768){break Wc}h=H[s+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[s+(b?12:8)>>2];while(1){Xc:{if(f){break Xc}f=H[e+16>>2];d=f+1|0;s=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=d;f=8;k=(s<<8)+k|0;break Xc}if(s>>>0<=143){H[e+16>>2]=d;k=(s<<9)+k|0;f=7;break Xc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}A=b?!h:h;break Wc}h=H[s+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[s+(d?8:12)>>2];while(1){Yc:{if(f){break Yc}f=H[e+16>>2];c=f+1|0;s=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=c;f=8;k=(s<<8)+k|0;break Yc}if(s>>>0<=143){H[e+16>>2]=c;k=(s<<9)+k|0;f=7;break Yc}H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;A=d?h:!h}b=A;H[r>>2]=(i|0)==(b|0)?l:q;H[u>>2]=H[u>>2]|16384;H[n+4>>2]=H[n+4>>2]|4096;d=n+(H[e+124>>2]<<2)|0;H[d+4>>2]=H[d+4>>2]|4;H[d+12>>2]=H[d+12>>2]|1;b=b^i;H[d+8>>2]=H[d+8>>2]|b<<18|2;g=b<<28|g|8192}g=g|1073741824}H[n>>2]=g}g=n+4|0;p=p+4|0;w=w+1|0;if((D|0)!=(w|0)){continue}break}g=n+12|0;p=p+t|0;j=j+4|0;b=H[e+128>>2];if(j>>>0<(b&-4)>>>0){continue}break}break zc}g=(b&-4)-1|0;j=(g&-4)+4|0;g=(q+(g<<1&-8)|0)+20|0}H[e+8>>2]=f;H[e+4>>2]=c;H[e>>2]=k;H[e+104>>2]=m;if(!D|b>>>0<=j>>>0){break _b}while(1){c=(b|0)==(j|0);f=0;b=j;if(!c){while(1){hc(e,g,(N(f,D)<<2)+p|0,l,f,H[e+124>>2]+2|0,0);f=f+1|0;b=H[e+128>>2];if(f>>>0>>0){continue}break}}g=g+4|0;p=p+4|0;v=v+1|0;if((D|0)!=(v|0)){continue}break}}break yb}while(1){v=0;while(1){q=b;n=g;g=H[g>>2];if(g){Zc:{if(g&2097168){break Zc}b=g&495;if(!b){break Zc}m=u+(I[b+H[e+108>>2]|0]<<2)|0;i=H[m>>2];b=H[i>>2];c=c-b|0;_c:{if(k>>>16>>>0>>0){p=H[i+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[i+(d?8:12)>>2];while(1){$c:{if(f){break $c}f=H[e+16>>2];c=f+1|0;i=I[f+1|0];if(I[f|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break $c}H[e+16>>2]=c;k=(i<<9)+k|0;f=7;break $c}H[e+16>>2]=c;f=8;k=(i<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?p:!p;break _c}k=k-(b<<16)|0;if(!(c&32768)){p=H[i+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[i+(b?12:8)>>2];while(1){ad:{if(f){break ad}f=H[e+16>>2];d=f+1|0;i=I[f+1|0];if(I[f|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break ad}H[e+16>>2]=d;k=(i<<9)+k|0;f=7;break ad}H[e+16>>2]=d;f=8;k=(i<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!p:p;break _c}b=H[i+4>>2]}if(b){o=n-4|0;d=H[n+4>>2]>>>17&4|(H[o>>2]>>>19&1|(g>>>14&16|(g>>>16&64|g&170)));m=u+(I[d+24384|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;p=I[d+24640|0];bd:{if(k>>>16>>>0>>0){i=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){cd:{if(f){break cd}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break cd}H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break cd}H[e+16>>2]=c;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?i:!i;break bd}k=k-(b<<16)|0;if(!(c&32768)){i=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){dd:{if(f){break dd}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break dd}H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break dd}H[e+16>>2]=d;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!i:i;break bd}b=H[h+4>>2]}H[q>>2]=(p|0)==(b|0)?j:l;H[o>>2]=H[o>>2]|32;H[n+4>>2]=H[n+4>>2]|8;g=(b^p)<<19|g|16}g=g|2097152}if(!(!(g&3960)|g&16777344)){p=g>>>3|0;m=u+(I[H[e+108>>2]+(p&495)|0]<<2)|0;o=H[m>>2];b=H[o>>2];c=c-b|0;ed:{if(k>>>16>>>0>>0){i=H[o+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[o+(d?8:12)>>2];while(1){fd:{if(f){break fd}f=H[e+16>>2];c=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break fd}H[e+16>>2]=c;k=(o<<9)+k|0;f=7;break fd}H[e+16>>2]=c;f=8;k=(o<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?i:!i;break ed}k=k-(b<<16)|0;if(!(c&32768)){i=H[o+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[o+(b?12:8)>>2];while(1){gd:{if(f){break gd}f=H[e+16>>2];d=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break gd}H[e+16>>2]=d;k=(o<<9)+k|0;f=7;break gd}H[e+16>>2]=d;f=8;k=(o<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!i:i;break ed}b=H[o+4>>2]}if(b){o=n-4|0;d=H[n+4>>2]>>>20&4|(H[o>>2]>>>22&1|(g>>>15&16|(g>>>19&64|p&170)));m=u+(I[d+24384|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;p=I[d+24640|0];hd:{if(k>>>16>>>0>>0){i=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){id:{if(f){break id}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break id}H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break id}H[e+16>>2]=c;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?i:!i;break hd}k=k-(b<<16)|0;if(!(c&32768)){i=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){jd:{if(f){break jd}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break jd}H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break jd}H[e+16>>2]=d;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!i:i;break hd}b=H[h+4>>2]}H[q+256>>2]=(p|0)==(b|0)?j:l;H[o>>2]=H[o>>2]|256;H[n+4>>2]=H[n+4>>2]|64;g=(b^p)<<22|g|128}g=g|16777216}if(!(!(g&31680)|g&134218752)){p=g>>>6|0;m=u+(I[H[e+108>>2]+(p&495)|0]<<2)|0;o=H[m>>2];b=H[o>>2];c=c-b|0;kd:{if(k>>>16>>>0>>0){i=H[o+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[o+(d?8:12)>>2];while(1){ld:{if(f){break ld}f=H[e+16>>2];c=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break ld}H[e+16>>2]=c;k=(o<<9)+k|0;f=7;break ld}H[e+16>>2]=c;f=8;k=(o<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?i:!i;break kd}k=k-(b<<16)|0;if(!(c&32768)){i=H[o+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[o+(b?12:8)>>2];while(1){md:{if(f){break md}f=H[e+16>>2];d=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break md}H[e+16>>2]=d;k=(o<<9)+k|0;f=7;break md}H[e+16>>2]=d;f=8;k=(o<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!i:i;break kd}b=H[o+4>>2]}if(b){o=n-4|0;d=H[n+4>>2]>>>23&4|(H[o>>2]>>>25&1|(g>>>18&16|(g>>>22&64|p&170)));m=u+(I[d+24384|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;p=I[d+24640|0];nd:{if(k>>>16>>>0>>0){i=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){od:{if(f){break od}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break od}H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break od}H[e+16>>2]=c;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?i:!i;break nd}k=k-(b<<16)|0;if(!(c&32768)){i=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){pd:{if(f){break pd}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break pd}H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break pd}H[e+16>>2]=d;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!i:i;break nd}b=H[h+4>>2]}H[q+512>>2]=(p|0)==(b|0)?j:l;H[o>>2]=H[o>>2]|2048;H[n+4>>2]=H[n+4>>2]|512;g=(b^p)<<25|g|1024}g=g|134217728}if(!(!(g&253440)|g&1073750016)){p=g>>>9|0;m=u+(I[H[e+108>>2]+(p&495)|0]<<2)|0;o=H[m>>2];b=H[o>>2];c=c-b|0;qd:{if(k>>>16>>>0>>0){i=H[o+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[o+(d?8:12)>>2];while(1){rd:{if(f){break rd}f=H[e+16>>2];c=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break rd}H[e+16>>2]=c;k=(o<<9)+k|0;f=7;break rd}H[e+16>>2]=c;f=8;k=(o<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?i:!i;break qd}k=k-(b<<16)|0;if(!(c&32768)){i=H[o+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[o+(b?12:8)>>2];while(1){sd:{if(f){break sd}f=H[e+16>>2];d=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break sd}H[e+16>>2]=d;k=(o<<9)+k|0;f=7;break sd}H[e+16>>2]=d;f=8;k=(o<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!i:i;break qd}b=H[o+4>>2]}if(b){o=n-4|0;d=H[n+4>>2]>>>26&4|(H[o>>2]>>>28&1|(g>>>21&16|(g>>>25&64|p&170)));m=u+(I[d+24384|0]<<2)|0;h=H[m>>2];b=H[h>>2];c=c-b|0;p=I[d+24640|0];td:{if(k>>>16>>>0>>0){i=H[h+4>>2];d=b>>>0>c>>>0;H[m>>2]=H[h+(d?8:12)>>2];while(1){ud:{if(f){break ud}f=H[e+16>>2];c=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break ud}H[e+16>>2]=c;k=(h<<9)+k|0;f=7;break ud}H[e+16>>2]=c;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=d?i:!i;break td}k=k-(b<<16)|0;if(!(c&32768)){i=H[h+4>>2];b=b>>>0>c>>>0;H[m>>2]=H[h+(b?12:8)>>2];while(1){vd:{if(f){break vd}f=H[e+16>>2];d=f+1|0;h=I[f+1|0];if(I[f|0]==255){if(h>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;k=k+65280|0;f=8;break vd}H[e+16>>2]=d;k=(h<<9)+k|0;f=7;break vd}H[e+16>>2]=d;f=8;k=(h<<8)+k|0}f=f-1|0;k=k<<1;c=c<<1;if(c>>>0<32768){continue}break}b=b?!i:i;break td}b=H[h+4>>2]}H[q+768>>2]=(p|0)==(b|0)?j:l;H[o>>2]=H[o>>2]|16384;H[n+4>>2]=H[n+4>>2]|4096;H[n+260>>2]=H[n+260>>2]|4;H[n+268>>2]=H[n+268>>2]|1;b=b^p;H[n+264>>2]=H[n+264>>2]|b<<18|2;g=b<<28|g|8192}g=g|1073741824}H[n>>2]=g}g=n+4|0;b=q+4|0;v=v+1|0;if((v|0)!=64){continue}break}g=n+12|0;b=q+772|0;q=r>>>0<60;r=r+4|0;if(q){continue}break}}H[e+8>>2]=f;H[e+4>>2]=c;H[e>>2]=k;H[e+104>>2]=m}break _a;case 0:if(!na){o=1<>>1|0;r=H[e+124>>2];d=r<<2;b=(d+H[e+120>>2]|0)+12|0;g=H[e+116>>2];k=0;c=H[e+128>>2];if(c>>>0>=4){if(!r){break Za}p=N(r,12);n=r<<3;i=0-o|0;while(1){c=0;while(1){l=b;b=H[b>>2];wd:{if(!b){break wd}if((b&2097168)==16){b=H[e>>2];h=H[e+8>>2];xd:{if(h){break xd}j=(b|0)==255;q=H[e+16>>2];b=I[q|0];yd:{if(!j){H[e>>2]=b;H[e+16>>2]=q+1;break yd}if(b>>>0<=143){H[e>>2]=b;H[e+16>>2]=q+1;h=7;break xd}b=255;H[e>>2]=255}h=8}j=h-1|0;H[e+8>>2]=j;j=b>>>j&1;b=H[g>>2];H[g>>2]=((j|0)==(b>>>31|0)?i:o)+b;b=H[l>>2]|1048576;H[l>>2]=b}if((b&16777344)==128){b=H[e>>2];h=H[e+8>>2];zd:{if(h){break zd}j=(b|0)==255;q=H[e+16>>2];b=I[q|0];Ad:{if(!j){H[e>>2]=b;H[e+16>>2]=q+1;break Ad}if(b>>>0<=143){H[e>>2]=b;H[e+16>>2]=q+1;h=7;break zd}b=255;H[e>>2]=255}h=8}q=h-1|0;H[e+8>>2]=q;j=d+g|0;f=H[j>>2];H[j>>2]=f+((b>>>q&1)==(f>>>31|0)?i:o);b=H[l>>2]|8388608;H[l>>2]=b}if((b&134218752)==1024){b=H[e>>2];h=H[e+8>>2];Bd:{if(h){break Bd}j=(b|0)==255;q=H[e+16>>2];b=I[q|0];Cd:{if(!j){H[e>>2]=b;H[e+16>>2]=q+1;break Cd}if(b>>>0<=143){H[e>>2]=b;H[e+16>>2]=q+1;h=7;break Bd}b=255;H[e>>2]=255}h=8}q=h-1|0;H[e+8>>2]=q;j=g+n|0;f=H[j>>2];H[j>>2]=f+((b>>>q&1)==(f>>>31|0)?i:o);b=H[l>>2]|67108864;H[l>>2]=b}if((b&1073750016)!=8192){break wd}b=H[e>>2];h=H[e+8>>2];Dd:{if(h){break Dd}j=(b|0)==255;q=H[e+16>>2];b=I[q|0];Ed:{if(!j){H[e>>2]=b;H[e+16>>2]=q+1;break Ed}if(b>>>0<=143){H[e>>2]=b;H[e+16>>2]=q+1;h=7;break Dd}b=255;H[e>>2]=255}h=8}q=h-1|0;H[e+8>>2]=q;j=g+p|0;f=H[j>>2];H[j>>2]=f+((b>>>q&1)==(f>>>31|0)?i:o);H[l>>2]=H[l>>2]|536870912}g=g+4|0;b=l+4|0;c=c+1|0;if((r|0)!=(c|0)){continue}break}g=g+p|0;b=l+12|0;k=k+4|0;c=H[e+128>>2];if(k>>>0<(c&-4)>>>0){continue}break}}if(!r|c>>>0<=k>>>0){break _a}v=0;j=0-o|0;d=c;while(1){Fd:{if((d|0)==(k|0)){d=k;break Fd}h=H[b>>2];i=0;while(1){d=N(i,3);if((2097168<>2];m=H[e+8>>2];Gd:{if(m){break Gd}l=(c|0)!=255;q=H[e+16>>2];c=I[q|0];Hd:{if(!l){if(c>>>0>=144){c=255;H[e>>2]=255;break Hd}H[e>>2]=c;H[e+16>>2]=q+1;m=7;break Gd}H[e>>2]=c;H[e+16>>2]=q+1}m=8}l=m-1|0;H[e+8>>2]=l;l=c>>>l&1;c=H[n>>2];H[n>>2]=((l|0)==(c>>>31|0)?j:o)+c;h=H[b>>2]|1048576<>2]=h;c=H[e+128>>2]}i=i+1|0;d=c;if(i>>>0>>0){continue}break}}g=g+4|0;b=b+4|0;v=v+1|0;if((r|0)!=(v|0)){continue}break}break _a}j=H[e+120>>2];d=H[e+116>>2];s=H[e+124>>2];c=H[e+128>>2];if(!((s|0)!=64|(c|0)!=64)){c=j+268|0;r=0;u=1<>>1|0;h=0-u|0;i=H[e+8>>2];g=H[e+4>>2];b=H[e>>2];k=H[e+104>>2];while(1){m=0;while(1){q=d;j=c;d=H[c>>2];if(d){l=c;if((d&2097168)==16){k=da+((d&1048576?16:d&495?15:14)<<2)|0;f=H[k>>2];c=H[f>>2];g=g-c|0;Id:{if(b>>>16>>>0>>0){p=H[f+4>>2];n=c>>>0>g>>>0;H[k>>2]=H[f+(n?8:12)>>2];while(1){Jd:{if(i){break Jd}f=H[e+16>>2];g=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8;break Jd}H[e+16>>2]=g;b=(o<<9)+b|0;i=7;break Jd}H[e+16>>2]=g;i=8;b=(o<<8)+b|0}i=i-1|0;b=b<<1;c=c<<1;if(c>>>0<32768){continue}break}g=c;n=n?p:!p;break Id}b=b-(c<<16)|0;if(!(g&32768)){p=H[f+4>>2];c=c>>>0>g>>>0;H[k>>2]=H[f+(c?12:8)>>2];while(1){Kd:{if(i){break Kd}f=H[e+16>>2];n=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8;break Kd}H[e+16>>2]=n;b=(o<<9)+b|0;i=7;break Kd}H[e+16>>2]=n;i=8;b=(o<<8)+b|0}i=i-1|0;b=b<<1;g=g<<1;if(g>>>0<32768){continue}break}n=c?!p:p;break Id}n=H[f+4>>2]}c=H[q>>2];H[q>>2]=((n|0)==(c>>>31|0)?h:u)+c;d=d|1048576}if((d&16777344)==128){k=da+((d&8388608?16:d&3960?15:14)<<2)|0;f=H[k>>2];c=H[f>>2];g=g-c|0;Ld:{if(b>>>16>>>0>>0){p=H[f+4>>2];n=c>>>0>g>>>0;H[k>>2]=H[f+(n?8:12)>>2];while(1){Md:{if(i){break Md}f=H[e+16>>2];g=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8;break Md}H[e+16>>2]=g;b=(o<<9)+b|0;i=7;break Md}H[e+16>>2]=g;i=8;b=(o<<8)+b|0}i=i-1|0;b=b<<1;c=c<<1;if(c>>>0<32768){continue}break}g=c;n=n?p:!p;break Ld}b=b-(c<<16)|0;if(!(g&32768)){p=H[f+4>>2];c=c>>>0>g>>>0;H[k>>2]=H[f+(c?12:8)>>2];while(1){Nd:{if(i){break Nd}f=H[e+16>>2];n=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8;break Nd}H[e+16>>2]=n;b=(o<<9)+b|0;i=7;break Nd}H[e+16>>2]=n;i=8;b=(o<<8)+b|0}i=i-1|0;b=b<<1;g=g<<1;if(g>>>0<32768){continue}break}n=c?!p:p;break Ld}n=H[f+4>>2]}c=H[q+256>>2];H[q+256>>2]=((n|0)==(c>>>31|0)?h:u)+c;d=d|8388608}if((d&134218752)==1024){k=da+((d&67108864?16:d&31680?15:14)<<2)|0;f=H[k>>2];c=H[f>>2];g=g-c|0;Od:{if(b>>>16>>>0>>0){p=H[f+4>>2];n=c>>>0>g>>>0;H[k>>2]=H[f+(n?8:12)>>2];while(1){Pd:{if(i){break Pd}f=H[e+16>>2];g=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8;break Pd}H[e+16>>2]=g;b=(o<<9)+b|0;i=7;break Pd}H[e+16>>2]=g;i=8;b=(o<<8)+b|0}i=i-1|0;b=b<<1;c=c<<1;if(c>>>0<32768){continue}break}g=c;n=n?p:!p;break Od}b=b-(c<<16)|0;if(!(g&32768)){p=H[f+4>>2];c=c>>>0>g>>>0;H[k>>2]=H[f+(c?12:8)>>2];while(1){Qd:{if(i){break Qd}f=H[e+16>>2];n=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8;break Qd}H[e+16>>2]=n;b=(o<<9)+b|0;i=7;break Qd}H[e+16>>2]=n;i=8;b=(o<<8)+b|0}i=i-1|0;b=b<<1;g=g<<1;if(g>>>0<32768){continue}break}n=c?!p:p;break Od}n=H[f+4>>2]}c=H[q+512>>2];H[q+512>>2]=((n|0)==(c>>>31|0)?h:u)+c;d=d|67108864}if((d&1073750016)==8192){k=da+((d&536870912?16:d&253440?15:14)<<2)|0;f=H[k>>2];c=H[f>>2];g=g-c|0;Rd:{if(b>>>16>>>0>>0){p=H[f+4>>2];n=c>>>0>g>>>0;H[k>>2]=H[f+(n?8:12)>>2];while(1){Sd:{if(i){break Sd}f=H[e+16>>2];g=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8;break Sd}H[e+16>>2]=g;b=(o<<9)+b|0;i=7;break Sd}H[e+16>>2]=g;i=8;b=(o<<8)+b|0}i=i-1|0;b=b<<1;c=c<<1;if(c>>>0<32768){continue}break}g=c;n=n?p:!p;break Rd}b=b-(c<<16)|0;if(!(g&32768)){p=H[f+4>>2];c=c>>>0>g>>>0;H[k>>2]=H[f+(c?12:8)>>2];while(1){Td:{if(i){break Td}f=H[e+16>>2];n=f+1|0;o=I[f+1|0];if(I[f|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8;break Td}H[e+16>>2]=n;b=(o<<9)+b|0;i=7;break Td}H[e+16>>2]=n;i=8;b=(o<<8)+b|0}i=i-1|0;b=b<<1;g=g<<1;if(g>>>0<32768){continue}break}n=c?!p:p;break Rd}n=H[f+4>>2]}c=H[q+768>>2];H[q+768>>2]=((n|0)==(c>>>31|0)?h:u)+c;d=d|536870912}H[l>>2]=d}c=j+4|0;d=q+4|0;m=m+1|0;if((m|0)!=64){continue}break}c=j+12|0;d=q+772|0;l=r>>>0<60;r=r+4|0;if(l){continue}break}H[e+8>>2]=i;H[e+4>>2]=g;H[e>>2]=b;H[e+104>>2]=k;break _a}v=1<>>1|0;r=s<<2;f=(r+j|0)+12|0;i=H[e+8>>2];g=H[e+4>>2];b=H[e>>2];k=H[e+104>>2];p=0;Ud:{if(c>>>0<4){break Ud}if(s){h=N(s,12);n=s<<3;t=0-v|0;while(1){m=0;while(1){l=f;j=H[f>>2];if(j){if((j&2097168)==16){k=da+((j&1048576?16:j&495?15:14)<<2)|0;f=H[k>>2];c=H[f>>2];g=g-c|0;Vd:{if(b>>>16>>>0>=c>>>0){b=b-(c<<16)|0;q=H[f+4>>2];if(g&32768){break Vd}o=H[f+4>>2];c=c>>>0>g>>>0;H[k>>2]=H[f+(c?12:8)>>2];while(1){Wd:{if(i){break Wd}f=H[e+16>>2];q=f+1|0;u=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=q;i=8;b=(u<<8)+b|0;break Wd}if(u>>>0<=143){H[e+16>>2]=q;b=(u<<9)+b|0;i=7;break Wd}H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8}i=i-1|0;b=b<<1;g=g<<1;if(g>>>0<32768){continue}break}q=c?!o:o;break Vd}o=H[f+4>>2];q=c>>>0>g>>>0;H[k>>2]=H[f+(q?8:12)>>2];while(1){Xd:{if(i){break Xd}f=H[e+16>>2];g=f+1|0;u=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=g;i=8;b=(u<<8)+b|0;break Xd}if(u>>>0<=143){H[e+16>>2]=g;b=(u<<9)+b|0;i=7;break Xd}H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8}i=i-1|0;b=b<<1;c=c<<1;if(c>>>0<32768){continue}break}g=c;q=q?o:!o}c=H[d>>2];H[d>>2]=((q|0)==(c>>>31|0)?t:v)+c;j=j|1048576}if((j&16777344)==128){k=da+((j&8388608?16:j&3960?15:14)<<2)|0;f=H[k>>2];c=H[f>>2];g=g-c|0;Yd:{if(b>>>16>>>0>=c>>>0){b=b-(c<<16)|0;q=H[f+4>>2];if(g&32768){break Yd}o=H[f+4>>2];c=c>>>0>g>>>0;H[k>>2]=H[f+(c?12:8)>>2];while(1){Zd:{if(i){break Zd}f=H[e+16>>2];q=f+1|0;u=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=q;i=8;b=(u<<8)+b|0;break Zd}if(u>>>0<=143){H[e+16>>2]=q;b=(u<<9)+b|0;i=7;break Zd}H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8}i=i-1|0;b=b<<1;g=g<<1;if(g>>>0<32768){continue}break}q=c?!o:o;break Yd}o=H[f+4>>2];q=c>>>0>g>>>0;H[k>>2]=H[f+(q?8:12)>>2];while(1){_d:{if(i){break _d}f=H[e+16>>2];g=f+1|0;u=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=g;i=8;b=(u<<8)+b|0;break _d}if(u>>>0<=143){H[e+16>>2]=g;b=(u<<9)+b|0;i=7;break _d}H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8}i=i-1|0;b=b<<1;c=c<<1;if(c>>>0<32768){continue}break}g=c;q=q?o:!o}f=q;c=d+r|0;q=H[c>>2];H[c>>2]=q+((f|0)==(q>>>31|0)?t:v);j=j|8388608}if((j&134218752)==1024){k=da+((j&67108864?16:j&31680?15:14)<<2)|0;f=H[k>>2];c=H[f>>2];g=g-c|0;$d:{if(b>>>16>>>0>=c>>>0){b=b-(c<<16)|0;q=H[f+4>>2];if(g&32768){break $d}o=H[f+4>>2];c=c>>>0>g>>>0;H[k>>2]=H[f+(c?12:8)>>2];while(1){ae:{if(i){break ae}f=H[e+16>>2];q=f+1|0;u=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=q;i=8;b=(u<<8)+b|0;break ae}if(u>>>0<=143){H[e+16>>2]=q;b=(u<<9)+b|0;i=7;break ae}H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8}i=i-1|0;b=b<<1;g=g<<1;if(g>>>0<32768){continue}break}q=c?!o:o;break $d}o=H[f+4>>2];q=c>>>0>g>>>0;H[k>>2]=H[f+(q?8:12)>>2];while(1){be:{if(i){break be}f=H[e+16>>2];g=f+1|0;u=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=g;i=8;b=(u<<8)+b|0;break be}if(u>>>0<=143){H[e+16>>2]=g;b=(u<<9)+b|0;i=7;break be}H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8}i=i-1|0;b=b<<1;c=c<<1;if(c>>>0<32768){continue}break}g=c;q=q?o:!o}f=q;c=d+n|0;q=H[c>>2];H[c>>2]=q+((f|0)==(q>>>31|0)?t:v);j=j|67108864}if((j&1073750016)==8192){k=da+((j&536870912?16:j&253440?15:14)<<2)|0;f=H[k>>2];c=H[f>>2];g=g-c|0;ce:{if(b>>>16>>>0>=c>>>0){b=b-(c<<16)|0;q=H[f+4>>2];if(g&32768){break ce}o=H[f+4>>2];c=c>>>0>g>>>0;H[k>>2]=H[f+(c?12:8)>>2];while(1){de:{if(i){break de}f=H[e+16>>2];q=f+1|0;u=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=q;i=8;b=(u<<8)+b|0;break de}if(u>>>0<=143){H[e+16>>2]=q;b=(u<<9)+b|0;i=7;break de}H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8}i=i-1|0;b=b<<1;g=g<<1;if(g>>>0<32768){continue}break}q=c?!o:o;break ce}o=H[f+4>>2];q=c>>>0>g>>>0;H[k>>2]=H[f+(q?8:12)>>2];while(1){ee:{if(i){break ee}f=H[e+16>>2];g=f+1|0;u=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=g;i=8;b=(u<<8)+b|0;break ee}if(u>>>0<=143){H[e+16>>2]=g;b=(u<<9)+b|0;i=7;break ee}H[e+12>>2]=H[e+12>>2]+1;b=b+65280|0;i=8}i=i-1|0;b=b<<1;c=c<<1;if(c>>>0<32768){continue}break}g=c;q=q?o:!o}f=q;c=d+h|0;q=H[c>>2];H[c>>2]=q+((f|0)==(q>>>31|0)?t:v);j=j|536870912}H[l>>2]=j}f=l+4|0;d=d+4|0;m=m+1|0;if((s|0)!=(m|0)){continue}break}f=l+12|0;d=d+h|0;p=p+4|0;c=H[e+128>>2];if(p>>>0<(c&-4)>>>0){continue}break}break Ud}l=(c&-4)-1|0;p=(l&-4)+4|0;f=(j+(l<<1&-8)|0)+20|0}H[e+8>>2]=i;H[e+4>>2]=g;H[e>>2]=b;H[e+104>>2]=k;if(!s|c>>>0<=p>>>0){break _a}w=0;l=0-v|0;b=c;while(1){fe:{if((b|0)==(p|0)){b=p;break fe}i=H[f>>2];h=0;while(1){m=N(h,3);if((2097168<>>m|0;j=da+((b&1048576?16:b&495?15:14)<<2)|0;H[e+104>>2]=j;q=H[j>>2];b=H[q>>2];c=H[e+4>>2]-b|0;H[e+4>>2]=c;g=H[e>>2];ge:{if(g>>>16>>>0>>0){n=H[q+4>>2];H[e+4>>2]=b;c=b>>>0>c>>>0;H[j>>2]=H[q+(c?8:12)>>2];i=H[e+8>>2];while(1){he:{if(i){break he}q=H[e+16>>2];j=q+1|0;r=I[q+1|0];if(I[q|0]==255){if(r>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;g=g+65280|0;i=8;break he}H[e+16>>2]=j;g=(r<<9)+g|0;i=7;break he}H[e+16>>2]=j;i=8;g=(r<<8)+g|0}i=i-1|0;H[e+8>>2]=i;g=g<<1;H[e>>2]=g;b=b<<1;H[e+4>>2]=b;if(b>>>0<32768){continue}break}c=c?n:!n;break ge}g=g-(b<<16)|0;H[e>>2]=g;if(!(c&32768)){n=H[q+4>>2];b=b>>>0>c>>>0;H[j>>2]=H[q+(b?12:8)>>2];i=H[e+8>>2];while(1){ie:{if(i){break ie}q=H[e+16>>2];j=q+1|0;r=I[q+1|0];if(I[q|0]==255){if(r>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;g=g+65280|0;i=8;break ie}H[e+16>>2]=j;g=(r<<9)+g|0;i=7;break ie}H[e+16>>2]=j;i=8;g=(r<<8)+g|0}i=i-1|0;H[e+8>>2]=i;g=g<<1;H[e>>2]=g;c=c<<1;H[e+4>>2]=c;if(c>>>0<32768){continue}break}c=b?!n:n;break ge}c=H[q+4>>2]}b=H[k>>2];H[k>>2]=((c|0)==(b>>>31|0)?l:v)+b;i=H[f>>2]|1048576<>2]=i;c=H[e+128>>2]}h=h+1|0;b=c;if(h>>>0>>0){continue}break}}f=f+4|0;d=d+4|0;w=w+1|0;if((s|0)!=(w|0)){continue}break};break _a;case 1:break $a}}M=0;r=0;je:{ke:{le:{X=H[e+124>>2];if(!((X|0)!=64|H[e+128>>2]!=64)){b=1<>>1|b;w=0-v|0;q=e+100|0;l=e+96|0;s=e+28|0;g=H[e+120>>2]+268|0;h=H[e+8>>2];b=H[e+4>>2];d=H[e>>2];j=H[e+104>>2];c=H[e+116>>2];if(Z&8){break le}while(1){u=0;while(1){k=c;f=g;g=H[g>>2];me:{ne:{oe:{if(!g){j=H[l>>2];g=H[j>>2];b=b-g|0;pe:{if(d>>>16>>>0>>0){n=H[j+4>>2];c=b>>>0>>0;H[l>>2]=H[j+(c?8:12)>>2];while(1){qe:{if(h){break qe}j=H[e+16>>2];b=j+1|0;p=I[j+1|0];if(I[j|0]==255){if(p>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break qe}H[e+16>>2]=b;d=(p<<9)+d|0;h=7;break qe}H[e+16>>2]=b;h=8;d=(p<<8)+d|0}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;c=c?n:!n;break pe}d=d-(g<<16)|0;if(!(b&32768)){n=H[j+4>>2];c=b>>>0>>0;H[l>>2]=H[j+(c?12:8)>>2];while(1){re:{if(h){break re}j=H[e+16>>2];g=j+1|0;p=I[j+1|0];if(I[j|0]==255){if(p>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break re}H[e+16>>2]=g;d=(p<<9)+d|0;h=7;break re}H[e+16>>2]=g;h=8;d=(p<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!n:n;break pe}c=H[j+4>>2]}if(!c){j=l;break me}c=H[q>>2];g=H[c>>2];b=b-g|0;se:{if(d>>>16>>>0>>0){p=H[c+4>>2];j=b>>>0>>0;c=H[(j?8:12)+c>>2];H[q>>2]=c;while(1){te:{if(h){break te}n=H[e+16>>2];b=n+1|0;i=I[n+1|0];if(I[n|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break te}H[e+16>>2]=b;d=(i<<9)+d|0;h=7;break te}H[e+16>>2]=b;h=8;d=(i<<8)+d|0}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;n=j?p:!p;break se}d=d-(g<<16)|0;if(!(b&32768)){p=H[c+4>>2];g=b>>>0>>0;c=H[(g?12:8)+c>>2];H[q>>2]=c;while(1){ue:{if(h){break ue}n=H[e+16>>2];j=n+1|0;i=I[n+1|0];if(I[n|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break ue}H[e+16>>2]=j;d=(i<<9)+d|0;h=7;break ue}H[e+16>>2]=j;h=8;d=(i<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}n=g?!p:p;break se}n=H[c+4>>2]}g=H[c>>2];b=b-g|0;ve:{if(d>>>16>>>0>>0){p=H[c+4>>2];j=c;c=b>>>0>>0;H[q>>2]=H[j+(c?8:12)>>2];while(1){we:{if(h){break we}j=H[e+16>>2];b=j+1|0;i=I[j+1|0];if(I[j|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break we}H[e+16>>2]=b;d=(i<<9)+d|0;h=7;break we}H[e+16>>2]=b;h=8;d=(i<<8)+d|0}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;c=c?p:!p;break ve}d=d-(g<<16)|0;if(!(b&32768)){p=H[c+4>>2];j=c;c=b>>>0>>0;H[q>>2]=H[j+(c?12:8)>>2];while(1){xe:{if(h){break xe}j=H[e+16>>2];g=j+1|0;i=I[j+1|0];if(I[j|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break xe}H[e+16>>2]=g;d=(i<<9)+d|0;h=7;break xe}H[e+16>>2]=g;h=8;d=(i<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!p:p;break ve}c=H[c+4>>2]}g=0;j=q;ye:{ze:{Ae:{Be:{Ce:{switch(c|n<<1){case 0:i=f-4|0;j=H[f+4>>2]>>>17&4|H[i>>2]>>>19&1;c=s+(I[j+24384|0]<<2)|0;n=H[c>>2];g=H[n>>2];b=b-g|0;De:{if(d>>>16>>>0>>0){p=H[n+4>>2];A=c;c=b>>>0>>0;H[A>>2]=H[n+(c?8:12)>>2];while(1){Ee:{if(h){break Ee}n=H[e+16>>2];b=n+1|0;m=I[n+1|0];if(I[n|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Ee}H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break Ee}H[e+16>>2]=b;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;n=c?p:!p;break De}d=d-(g<<16)|0;if(!(b&32768)){p=H[n+4>>2];A=c;c=b>>>0>>0;H[A>>2]=H[n+(c?12:8)>>2];while(1){Fe:{if(h){break Fe}n=H[e+16>>2];g=n+1|0;m=I[n+1|0];if(I[n|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Fe}H[e+16>>2]=g;d=(m<<9)+d|0;h=7;break Fe}H[e+16>>2]=g;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}n=c?!p:p;break De}n=H[n+4>>2]}g=I[j+24640|0];H[k>>2]=(n|0)==(g|0)?v:w;H[i>>2]=H[i>>2]|32;H[f+4>>2]=H[f+4>>2]|8;c=f-268|0;H[c>>2]=H[c>>2]|131072;c=f-260|0;H[c>>2]=H[c>>2]|32768;c=f-264|0;j=c;i=H[c>>2];c=g^n;H[j>>2]=i|c<<31|65536;j=c<<19;i=H[e+108>>2];c=s+(I[i+2|0]<<2)|0;n=H[c>>2];g=H[n>>2];b=b-g|0;Ge:{if(d>>>16>>>0>>0){p=H[n+4>>2];A=c;c=b>>>0>>0;H[A>>2]=H[n+(c?8:12)>>2];while(1){He:{if(h){break He}n=H[e+16>>2];b=n+1|0;m=I[n+1|0];if(I[n|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break He}H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break He}H[e+16>>2]=b;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;c=c?p:!p;break Ge}d=d-(g<<16)|0;if(!(b&32768)){p=H[n+4>>2];A=c;c=b>>>0>>0;H[A>>2]=H[n+(c?12:8)>>2];while(1){Ie:{if(h){break Ie}n=H[e+16>>2];g=n+1|0;m=I[n+1|0];if(I[n|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Ie}H[e+16>>2]=g;d=(m<<9)+d|0;h=7;break Ie}H[e+16>>2]=g;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!p:p;break Ge}c=H[n+4>>2]}g=j|16;if(!c){break Be}break;case 1:break Ce;case 2:break Ae;case 3:break ye;default:break ne}}m=f-4|0;n=H[f+4>>2]>>>20&4|(H[m>>2]>>>22&1|(g>>>15&16|(g>>>19&64|g>>>3&170)));j=s+(I[n+24384|0]<<2)|0;p=H[j>>2];c=H[p>>2];b=b-c|0;Je:{if(d>>>16>>>0>>0){i=H[p+4>>2];A=j;j=b>>>0>>0;H[A>>2]=H[p+(j?8:12)>>2];while(1){Ke:{if(h){break Ke}p=H[e+16>>2];b=p+1|0;o=I[p+1|0];if(I[p|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Ke}H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break Ke}H[e+16>>2]=b;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;j=j?i:!i;break Je}d=d-(c<<16)|0;if(!(b&32768)){i=H[p+4>>2];c=b>>>0>>0;H[j>>2]=H[p+(c?12:8)>>2];while(1){Le:{if(h){break Le}p=H[e+16>>2];j=p+1|0;o=I[p+1|0];if(I[p|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Le}H[e+16>>2]=j;d=(o<<9)+d|0;h=7;break Le}H[e+16>>2]=j;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}j=c?!i:i;break Je}j=H[p+4>>2]}c=I[n+24640|0];H[k+256>>2]=(j|0)==(c|0)?v:w;H[m>>2]=H[m>>2]|256;H[f+4>>2]=H[f+4>>2]|64;i=H[e+108>>2];g=(c^j)<<22|g|128}j=s+(I[(g>>>6&495)+i|0]<<2)|0;n=H[j>>2];c=H[n>>2];b=b-c|0;Me:{if(d>>>16>>>0>>0){p=H[n+4>>2];A=j;j=b>>>0>>0;H[A>>2]=H[n+(j?8:12)>>2];while(1){Ne:{if(h){break Ne}n=H[e+16>>2];b=n+1|0;m=I[n+1|0];if(I[n|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Ne}H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break Ne}H[e+16>>2]=b;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;c=j?p:!p;break Me}d=d-(c<<16)|0;if(!(b&32768)){p=H[n+4>>2];c=b>>>0>>0;H[j>>2]=H[n+(c?12:8)>>2];while(1){Oe:{if(h){break Oe}n=H[e+16>>2];j=n+1|0;m=I[n+1|0];if(I[n|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Oe}H[e+16>>2]=j;d=(m<<9)+d|0;h=7;break Oe}H[e+16>>2]=j;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!p:p;break Me}c=H[n+4>>2]}if(!c){break ze}}m=f-4|0;n=H[f+4>>2]>>>23&4|(H[m>>2]>>>25&1|(g>>>18&16|(g>>>22&64|g>>>6&170)));j=s+(I[n+24384|0]<<2)|0;p=H[j>>2];c=H[p>>2];b=b-c|0;Pe:{if(d>>>16>>>0>>0){i=H[p+4>>2];A=j;j=b>>>0>>0;H[A>>2]=H[p+(j?8:12)>>2];while(1){Qe:{if(h){break Qe}p=H[e+16>>2];b=p+1|0;o=I[p+1|0];if(I[p|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Qe}H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break Qe}H[e+16>>2]=b;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;j=j?i:!i;break Pe}d=d-(c<<16)|0;if(!(b&32768)){i=H[p+4>>2];c=b>>>0>>0;H[j>>2]=H[p+(c?12:8)>>2];while(1){Re:{if(h){break Re}p=H[e+16>>2];j=p+1|0;o=I[p+1|0];if(I[p|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Re}H[e+16>>2]=j;d=(o<<9)+d|0;h=7;break Re}H[e+16>>2]=j;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}j=c?!i:i;break Pe}j=H[p+4>>2]}c=I[n+24640|0];H[k+512>>2]=(j|0)==(c|0)?v:w;H[m>>2]=H[m>>2]|2048;H[f+4>>2]=H[f+4>>2]|512;g=(c^j)<<25|g|1024;i=H[e+108>>2]}j=s+(I[(g>>>9&495)+i|0]<<2)|0;p=H[j>>2];c=H[p>>2];b=b-c|0;Se:{if(d>>>16>>>0>>0){i=H[p+4>>2];n=b>>>0>>0;H[j>>2]=H[p+(n?8:12)>>2];while(1){Te:{if(h){break Te}p=H[e+16>>2];b=p+1|0;m=I[p+1|0];if(I[p|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Te}H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break Te}H[e+16>>2]=b;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;c=n?i:!i;break Se}d=d-(c<<16)|0;if(!(b&32768)){i=H[p+4>>2];c=b>>>0>>0;H[j>>2]=H[p+(c?12:8)>>2];while(1){Ue:{if(h){break Ue}p=H[e+16>>2];n=p+1|0;m=I[p+1|0];if(I[p|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Ue}H[e+16>>2]=n;d=(m<<9)+d|0;h=7;break Ue}H[e+16>>2]=n;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!i:i;break Se}c=H[p+4>>2]}if(!c){break ne}}M=f-4|0;t=H[f+4>>2]>>>26&4|(H[M>>2]>>>28&1|(g>>>21&16|(g>>>25&64|g>>>9&170)));j=s+(I[t+24384|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;break oe}Ve:{if(g&2097168){break Ve}j=s+(I[H[e+108>>2]+(g&495)|0]<<2)|0;p=H[j>>2];c=H[p>>2];b=b-c|0;We:{if(d>>>16>>>0>>0){i=H[p+4>>2];n=b>>>0>>0;H[j>>2]=H[p+(n?8:12)>>2];while(1){Xe:{if(h){break Xe}p=H[e+16>>2];b=p+1|0;m=I[p+1|0];if(I[p|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Xe}H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break Xe}H[e+16>>2]=b;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;c=n?i:!i;break We}d=d-(c<<16)|0;if(!(b&32768)){i=H[p+4>>2];c=b>>>0>>0;H[j>>2]=H[p+(c?12:8)>>2];while(1){Ye:{if(h){break Ye}p=H[e+16>>2];n=p+1|0;m=I[p+1|0];if(I[p|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Ye}H[e+16>>2]=n;d=(m<<9)+d|0;h=7;break Ye}H[e+16>>2]=n;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!i:i;break We}c=H[p+4>>2]}if(!c){break Ve}o=f-4|0;p=H[f+4>>2]>>>17&4|(H[o>>2]>>>19&1|(g>>>14&16|(g>>>16&64|g&170)));j=s+(I[p+24384|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;Ze:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[i+(n?8:12)>>2];while(1){_e:{if(h){break _e}i=H[e+16>>2];b=i+1|0;t=I[i+1|0];if(I[i|0]==255){if(t>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break _e}H[e+16>>2]=b;d=(t<<9)+d|0;h=7;break _e}H[e+16>>2]=b;h=8;d=(t<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;i=n?m:!m;break Ze}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[i+(c?12:8)>>2];while(1){$e:{if(h){break $e}i=H[e+16>>2];n=i+1|0;t=I[i+1|0];if(I[i|0]==255){if(t>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break $e}H[e+16>>2]=n;d=(t<<9)+d|0;h=7;break $e}H[e+16>>2]=n;h=8;d=(t<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}i=c?!m:m;break Ze}i=H[i+4>>2]}n=I[p+24640|0];H[k>>2]=(i|0)==(n|0)?v:w;H[o>>2]=H[o>>2]|32;H[f+4>>2]=H[f+4>>2]|8;c=f-268|0;H[c>>2]=H[c>>2]|131072;c=f-260|0;H[c>>2]=H[c>>2]|32768;c=f-264|0;p=c;A=H[c>>2];c=i^n;H[p>>2]=A|c<<31|65536;g=c<<19|g|16}af:{if(g&16777344){break af}p=g>>>3|0;j=s+(I[H[e+108>>2]+(p&495)|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;bf:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[i+(n?8:12)>>2];while(1){cf:{if(h){break cf}i=H[e+16>>2];b=i+1|0;o=I[i+1|0];if(I[i|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break cf}H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break cf}H[e+16>>2]=b;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;c=n?m:!m;break bf}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[i+(c?12:8)>>2];while(1){df:{if(h){break df}i=H[e+16>>2];n=i+1|0;o=I[i+1|0];if(I[i|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break df}H[e+16>>2]=n;d=(o<<9)+d|0;h=7;break df}H[e+16>>2]=n;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!m:m;break bf}c=H[i+4>>2]}if(!c){break af}o=f-4|0;p=H[f+4>>2]>>>20&4|(H[o>>2]>>>22&1|(g>>>15&16|(g>>>19&64|p&170)));j=s+(I[p+24384|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;ef:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[i+(n?8:12)>>2];while(1){ff:{if(h){break ff}i=H[e+16>>2];b=i+1|0;t=I[i+1|0];if(I[i|0]==255){if(t>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break ff}H[e+16>>2]=b;d=(t<<9)+d|0;h=7;break ff}H[e+16>>2]=b;h=8;d=(t<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;n=n?m:!m;break ef}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[i+(c?12:8)>>2];while(1){gf:{if(h){break gf}i=H[e+16>>2];n=i+1|0;t=I[i+1|0];if(I[i|0]==255){if(t>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break gf}H[e+16>>2]=n;d=(t<<9)+d|0;h=7;break gf}H[e+16>>2]=n;h=8;d=(t<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}n=c?!m:m;break ef}n=H[i+4>>2]}c=I[p+24640|0];H[k+256>>2]=(n|0)==(c|0)?v:w;H[o>>2]=H[o>>2]|256;H[f+4>>2]=H[f+4>>2]|64;g=(c^n)<<22|g|128}hf:{if(g&134218752){break hf}p=g>>>6|0;j=s+(I[H[e+108>>2]+(p&495)|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;jf:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[i+(n?8:12)>>2];while(1){kf:{if(h){break kf}i=H[e+16>>2];b=i+1|0;o=I[i+1|0];if(I[i|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break kf}H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break kf}H[e+16>>2]=b;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;c=n?m:!m;break jf}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[i+(c?12:8)>>2];while(1){lf:{if(h){break lf}i=H[e+16>>2];n=i+1|0;o=I[i+1|0];if(I[i|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break lf}H[e+16>>2]=n;d=(o<<9)+d|0;h=7;break lf}H[e+16>>2]=n;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!m:m;break jf}c=H[i+4>>2]}if(!c){break hf}o=f-4|0;p=H[f+4>>2]>>>23&4|(H[o>>2]>>>25&1|(g>>>18&16|(g>>>22&64|p&170)));j=s+(I[p+24384|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;mf:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[i+(n?8:12)>>2];while(1){nf:{if(h){break nf}i=H[e+16>>2];b=i+1|0;t=I[i+1|0];if(I[i|0]==255){if(t>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break nf}H[e+16>>2]=b;d=(t<<9)+d|0;h=7;break nf}H[e+16>>2]=b;h=8;d=(t<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;n=n?m:!m;break mf}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[i+(c?12:8)>>2];while(1){of:{if(h){break of}i=H[e+16>>2];n=i+1|0;t=I[i+1|0];if(I[i|0]==255){if(t>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break of}H[e+16>>2]=n;d=(t<<9)+d|0;h=7;break of}H[e+16>>2]=n;h=8;d=(t<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}n=c?!m:m;break mf}n=H[i+4>>2]}c=I[p+24640|0];H[k+512>>2]=(n|0)==(c|0)?v:w;H[o>>2]=H[o>>2]|2048;H[f+4>>2]=H[f+4>>2]|512;g=(c^n)<<25|g|1024}if(g&1073750016){break ne}p=g>>>9|0;j=s+(I[H[e+108>>2]+(p&495)|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;pf:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[i+(n?8:12)>>2];while(1){qf:{if(h){break qf}i=H[e+16>>2];b=i+1|0;o=I[i+1|0];if(I[i|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break qf}H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break qf}H[e+16>>2]=b;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;c=n?m:!m;break pf}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[i+(c?12:8)>>2];while(1){rf:{if(h){break rf}i=H[e+16>>2];n=i+1|0;o=I[i+1|0];if(I[i|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break rf}H[e+16>>2]=n;d=(o<<9)+d|0;h=7;break rf}H[e+16>>2]=n;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!m:m;break pf}c=H[i+4>>2]}if(!c){break ne}M=f-4|0;t=H[f+4>>2]>>>26&4|(H[M>>2]>>>28&1|(g>>>21&16|(g>>>25&64|p&170)));j=s+(I[t+24384|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0}sf:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[(n?8:12)+i>>2];while(1){tf:{if(h){break tf}p=H[e+16>>2];b=p+1|0;i=I[p+1|0];if(I[p|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break tf}H[e+16>>2]=b;d=(i<<9)+d|0;h=7;break tf}H[e+16>>2]=b;h=8;d=(i<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;n=n?m:!m;break sf}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[(c?12:8)+i>>2];while(1){uf:{if(h){break uf}p=H[e+16>>2];n=p+1|0;i=I[p+1|0];if(I[p|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break uf}H[e+16>>2]=n;d=(i<<9)+d|0;h=7;break uf}H[e+16>>2]=n;h=8;d=(i<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}n=c?!m:m;break sf}n=H[i+4>>2]}c=I[t+24640|0];H[k+768>>2]=(n|0)==(c|0)?v:w;H[M>>2]=H[M>>2]|16384;H[f+4>>2]=H[f+4>>2]|4096;H[f+260>>2]=H[f+260>>2]|4;H[f+268>>2]=H[f+268>>2]|1;c=c^n;H[f+264>>2]=H[f+264>>2]|c<<18|2;g=c<<28|g|8192}H[f>>2]=g&-1226833921}g=f+4|0;c=k+4|0;u=u+1|0;if((u|0)!=64){continue}break}g=f+12|0;c=k+772|0;n=r>>>0<60;r=r+4|0;if(n){continue}break}break ke}b=1<>>1|b;l=H[e+120>>2];c=(l+(X<<2)|0)+12|0;g=H[e+128>>2];h=H[e+8>>2];b=H[e+4>>2];d=H[e>>2];j=H[e+104>>2];p=H[e+116>>2];if(Z&8){vf:{if(g>>>0<4){break vf}if(X){n=e+100|0;q=e+96|0;w=N(X,12);u=X<<3;s=0-A|0;D=e+28|0;while(1){v=0;while(1){k=c;c=H[c>>2];wf:{xf:{yf:{if(c){zf:{if(c&2097168){break zf}j=D+(I[H[e+108>>2]+(c&495)|0]<<2)|0;f=H[j>>2];g=H[f>>2];b=b-g|0;Af:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[f+4>>2];if(b&32768){break Af}i=H[f+4>>2];g=b>>>0>>0;H[j>>2]=H[f+(g?12:8)>>2];while(1){Bf:{if(h){break Bf}f=H[e+16>>2];l=f+1|0;m=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=l;h=8;d=(m<<8)+d|0;break Bf}if(m>>>0<=143){H[e+16>>2]=l;d=(m<<9)+d|0;h=7;break Bf}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!i:i;break Af}i=H[f+4>>2];l=b>>>0>>0;H[j>>2]=H[f+(l?8:12)>>2];while(1){Cf:{if(h){break Cf}f=H[e+16>>2];b=f+1|0;m=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=b;h=8;d=(m<<8)+d|0;break Cf}if(m>>>0<=143){H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break Cf}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?i:!i}if(!l){break zf}o=k-4|0;f=H[k+4>>2]>>>17&4|(H[o>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));j=D+(I[f+24384|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;Df:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break Df}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[i+(g?12:8)>>2];while(1){Ef:{if(h){break Ef}i=H[e+16>>2];l=i+1|0;t=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=l;h=8;d=(t<<8)+d|0;break Ef}if(t>>>0<=143){H[e+16>>2]=l;d=(t<<9)+d|0;h=7;break Ef}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break Df}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[i+(l?8:12)>>2];while(1){Ff:{if(h){break Ff}i=H[e+16>>2];b=i+1|0;t=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=b;h=8;d=(t<<8)+d|0;break Ff}if(t>>>0<=143){H[e+16>>2]=b;d=(t<<9)+d|0;h=7;break Ff}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}g=I[f+24640|0];H[p>>2]=(l|0)==(g|0)?A:s;H[o>>2]=H[o>>2]|32;H[k+4>>2]=H[k+4>>2]|8;c=(g^l)<<19|c|16}Gf:{if(c&16777344){break Gf}f=c>>>3|0;j=D+(I[H[e+108>>2]+(f&495)|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;Hf:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break Hf}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[i+(g?12:8)>>2];while(1){If:{if(h){break If}i=H[e+16>>2];l=i+1|0;o=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=l;h=8;d=(o<<8)+d|0;break If}if(o>>>0<=143){H[e+16>>2]=l;d=(o<<9)+d|0;h=7;break If}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break Hf}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[i+(l?8:12)>>2];while(1){Jf:{if(h){break Jf}i=H[e+16>>2];b=i+1|0;o=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=b;h=8;d=(o<<8)+d|0;break Jf}if(o>>>0<=143){H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break Jf}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}if(!l){break Gf}o=k-4|0;f=H[k+4>>2]>>>20&4|(H[o>>2]>>>22&1|(c>>>15&16|(c>>>19&64|f&170)));j=D+(I[f+24384|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;Y=(X<<2)+p|0;Kf:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break Kf}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[i+(g?12:8)>>2];while(1){Lf:{if(h){break Lf}i=H[e+16>>2];l=i+1|0;t=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=l;h=8;d=(t<<8)+d|0;break Lf}if(t>>>0<=143){H[e+16>>2]=l;d=(t<<9)+d|0;h=7;break Lf}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break Kf}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[i+(l?8:12)>>2];while(1){Mf:{if(h){break Mf}i=H[e+16>>2];b=i+1|0;t=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=b;h=8;d=(t<<8)+d|0;break Mf}if(t>>>0<=143){H[e+16>>2]=b;d=(t<<9)+d|0;h=7;break Mf}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}g=I[f+24640|0];H[Y>>2]=(l|0)==(g|0)?A:s;H[o>>2]=H[o>>2]|256;H[k+4>>2]=H[k+4>>2]|64;c=(g^l)<<22|c|128}Nf:{if(c&134218752){break Nf}f=c>>>6|0;j=D+(I[H[e+108>>2]+(f&495)|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;Of:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break Of}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[i+(g?12:8)>>2];while(1){Pf:{if(h){break Pf}i=H[e+16>>2];l=i+1|0;o=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=l;h=8;d=(o<<8)+d|0;break Pf}if(o>>>0<=143){H[e+16>>2]=l;d=(o<<9)+d|0;h=7;break Pf}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break Of}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[i+(l?8:12)>>2];while(1){Qf:{if(h){break Qf}i=H[e+16>>2];b=i+1|0;o=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=b;h=8;d=(o<<8)+d|0;break Qf}if(o>>>0<=143){H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break Qf}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}if(!l){break Nf}o=k-4|0;f=H[k+4>>2]>>>23&4|(H[o>>2]>>>25&1|(c>>>18&16|(c>>>22&64|f&170)));j=D+(I[f+24384|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;Y=p+u|0;Rf:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break Rf}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[i+(g?12:8)>>2];while(1){Sf:{if(h){break Sf}i=H[e+16>>2];l=i+1|0;t=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=l;h=8;d=(t<<8)+d|0;break Sf}if(t>>>0<=143){H[e+16>>2]=l;d=(t<<9)+d|0;h=7;break Sf}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break Rf}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[i+(l?8:12)>>2];while(1){Tf:{if(h){break Tf}i=H[e+16>>2];b=i+1|0;t=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=b;h=8;d=(t<<8)+d|0;break Tf}if(t>>>0<=143){H[e+16>>2]=b;d=(t<<9)+d|0;h=7;break Tf}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}g=I[f+24640|0];H[Y>>2]=(l|0)==(g|0)?A:s;H[o>>2]=H[o>>2]|2048;H[k+4>>2]=H[k+4>>2]|512;c=(g^l)<<25|c|1024}if(c&1073750016){break xf}f=c>>>9|0;j=D+(I[H[e+108>>2]+(f&495)|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;Uf:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break Uf}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[i+(g?12:8)>>2];while(1){Vf:{if(h){break Vf}i=H[e+16>>2];l=i+1|0;o=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=l;h=8;d=(o<<8)+d|0;break Vf}if(o>>>0<=143){H[e+16>>2]=l;d=(o<<9)+d|0;h=7;break Vf}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break Uf}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[i+(l?8:12)>>2];while(1){Wf:{if(h){break Wf}i=H[e+16>>2];b=i+1|0;o=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=b;h=8;d=(o<<8)+d|0;break Wf}if(o>>>0<=143){H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break Wf}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}if(!l){break xf}t=k-4|0;o=H[k+4>>2]>>>26&4|(H[t>>2]>>>28&1|(c>>>21&16|(c>>>25&64|f&170)));j=D+(I[o+24384|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;break yf}l=H[q>>2];c=H[l>>2];b=b-c|0;Xf:{if(d>>>16>>>0>=c>>>0){d=d-(c<<16)|0;g=H[l+4>>2];if(b&32768){break Xf}j=H[l+4>>2];c=b>>>0>>0;H[q>>2]=H[l+(c?12:8)>>2];while(1){Yf:{if(h){break Yf}l=H[e+16>>2];g=l+1|0;f=I[l+1|0];if(I[l|0]!=255){H[e+16>>2]=g;h=8;d=(f<<8)+d|0;break Yf}if(f>>>0<=143){H[e+16>>2]=g;d=(f<<9)+d|0;h=7;break Yf}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}g=c?!j:j;break Xf}j=H[l+4>>2];g=b>>>0>>0;H[q>>2]=H[l+(g?8:12)>>2];while(1){Zf:{if(h){break Zf}l=H[e+16>>2];b=l+1|0;f=I[l+1|0];if(I[l|0]!=255){H[e+16>>2]=b;h=8;d=(f<<8)+d|0;break Zf}if(f>>>0<=143){H[e+16>>2]=b;d=(f<<9)+d|0;h=7;break Zf}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;g=g?j:!j}if(!g){j=q;break wf}g=H[n>>2];c=H[g>>2];b=b-c|0;_f:{if(d>>>16>>>0>=c>>>0){d=d-(c<<16)|0;l=H[g+4>>2];if(b&32768){break _f}f=H[g+4>>2];c=b>>>0>>0;g=H[(c?12:8)+g>>2];H[n>>2]=g;while(1){$f:{if(h){break $f}j=H[e+16>>2];l=j+1|0;i=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=l;h=8;d=(i<<8)+d|0;break $f}if(i>>>0<=143){H[e+16>>2]=l;d=(i<<9)+d|0;h=7;break $f}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=c?!f:f;break _f}f=H[g+4>>2];l=b>>>0>>0;g=H[(l?8:12)+g>>2];H[n>>2]=g;while(1){ag:{if(h){break ag}j=H[e+16>>2];b=j+1|0;i=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=b;h=8;d=(i<<8)+d|0;break ag}if(i>>>0<=143){H[e+16>>2]=b;d=(i<<9)+d|0;h=7;break ag}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;l=l?f:!f}c=H[g>>2];b=b-c|0;bg:{if(d>>>16>>>0>=c>>>0){d=d-(c<<16)|0;j=H[g+4>>2];if(b&32768){break bg}f=H[g+4>>2];c=b>>>0>>0;H[n>>2]=H[(c?12:8)+g>>2];while(1){cg:{if(h){break cg}j=H[e+16>>2];g=j+1|0;i=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=g;h=8;d=(i<<8)+d|0;break cg}if(i>>>0<=143){H[e+16>>2]=g;d=(i<<9)+d|0;h=7;break cg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}j=c?!f:f;break bg}f=H[g+4>>2];j=g;g=b>>>0>>0;H[n>>2]=H[j+(g?8:12)>>2];while(1){dg:{if(h){break dg}j=H[e+16>>2];b=j+1|0;i=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=b;h=8;d=(i<<8)+d|0;break dg}if(i>>>0<=143){H[e+16>>2]=b;d=(i<<9)+d|0;h=7;break dg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;j=g?f:!f}g=j;c=0;j=n;eg:{fg:{gg:{hg:{ig:{switch(g|l<<1){case 0:i=k-4|0;l=H[k+4>>2]>>>17&4|H[i>>2]>>>19&1;g=D+(I[l+24384|0]<<2)|0;j=H[g>>2];c=H[j>>2];b=b-c|0;jg:{if(d>>>16>>>0>=c>>>0){d=d-(c<<16)|0;f=H[j+4>>2];if(b&32768){break jg}f=H[j+4>>2];c=b>>>0>>0;H[g>>2]=H[j+(c?12:8)>>2];while(1){kg:{if(h){break kg}j=H[e+16>>2];g=j+1|0;m=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=g;h=8;d=(m<<8)+d|0;break kg}if(m>>>0<=143){H[e+16>>2]=g;d=(m<<9)+d|0;h=7;break kg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}f=c?!f:f;break jg}f=H[j+4>>2];m=g;g=b>>>0>>0;H[m>>2]=H[j+(g?8:12)>>2];while(1){lg:{if(h){break lg}j=H[e+16>>2];b=j+1|0;m=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=b;h=8;d=(m<<8)+d|0;break lg}if(m>>>0<=143){H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break lg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;f=g?f:!f}g=f;c=I[l+24640|0];H[p>>2]=(g|0)==(c|0)?A:s;H[i>>2]=H[i>>2]|32;H[k+4>>2]=H[k+4>>2]|8;l=(c^g)<<19;i=H[e+108>>2];g=D+(I[i+2|0]<<2)|0;j=H[g>>2];c=H[j>>2];b=b-c|0;mg:{if(d>>>16>>>0>=c>>>0){d=d-(c<<16)|0;f=H[j+4>>2];if(b&32768){break mg}f=H[j+4>>2];c=b>>>0>>0;H[g>>2]=H[j+(c?12:8)>>2];while(1){ng:{if(h){break ng}j=H[e+16>>2];g=j+1|0;m=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=g;h=8;d=(m<<8)+d|0;break ng}if(m>>>0<=143){H[e+16>>2]=g;d=(m<<9)+d|0;h=7;break ng}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}f=c?!f:f;break mg}f=H[j+4>>2];m=g;g=b>>>0>>0;H[m>>2]=H[j+(g?8:12)>>2];while(1){og:{if(h){break og}j=H[e+16>>2];b=j+1|0;m=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=b;h=8;d=(m<<8)+d|0;break og}if(m>>>0<=143){H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break og}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;f=g?f:!f}g=f;c=l|16;if(!g){break hg}break;case 1:break ig;case 2:break gg;case 3:break eg;default:break xf}}m=k-4|0;j=H[k+4>>2]>>>20&4|(H[m>>2]>>>22&1|(c>>>15&16|(c>>>19&64|c>>>3&170)));l=D+(I[j+24384|0]<<2)|0;f=H[l>>2];g=H[f>>2];b=b-g|0;t=(X<<2)+p|0;pg:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;i=H[f+4>>2];if(b&32768){break pg}i=H[f+4>>2];g=b>>>0>>0;H[l>>2]=H[f+(g?12:8)>>2];while(1){qg:{if(h){break qg}f=H[e+16>>2];l=f+1|0;o=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=l;h=8;d=(o<<8)+d|0;break qg}if(o>>>0<=143){H[e+16>>2]=l;d=(o<<9)+d|0;h=7;break qg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}i=g?!i:i;break pg}i=H[f+4>>2];o=l;l=b>>>0>>0;H[o>>2]=H[f+(l?8:12)>>2];while(1){rg:{if(h){break rg}f=H[e+16>>2];b=f+1|0;o=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=b;h=8;d=(o<<8)+d|0;break rg}if(o>>>0<=143){H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break rg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;i=l?i:!i}l=i;g=I[j+24640|0];H[t>>2]=(l|0)==(g|0)?A:s;H[m>>2]=H[m>>2]|256;H[k+4>>2]=H[k+4>>2]|64;i=H[e+108>>2];c=(g^l)<<22|c|128}l=D+(I[(c>>>6&495)+i|0]<<2)|0;j=H[l>>2];g=H[j>>2];b=b-g|0;sg:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;f=H[j+4>>2];if(b&32768){break sg}f=H[j+4>>2];g=b>>>0>>0;H[l>>2]=H[j+(g?12:8)>>2];while(1){tg:{if(h){break tg}j=H[e+16>>2];l=j+1|0;m=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=l;h=8;d=(m<<8)+d|0;break tg}if(m>>>0<=143){H[e+16>>2]=l;d=(m<<9)+d|0;h=7;break tg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}f=g?!f:f;break sg}f=H[j+4>>2];m=l;l=b>>>0>>0;H[m>>2]=H[j+(l?8:12)>>2];while(1){ug:{if(h){break ug}j=H[e+16>>2];b=j+1|0;m=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=b;h=8;d=(m<<8)+d|0;break ug}if(m>>>0<=143){H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break ug}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;f=l?f:!f}if(!f){break fg}}m=k-4|0;j=H[k+4>>2]>>>23&4|(H[m>>2]>>>25&1|(c>>>18&16|(c>>>22&64|c>>>6&170)));l=D+(I[j+24384|0]<<2)|0;f=H[l>>2];g=H[f>>2];b=b-g|0;t=p+u|0;vg:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;i=H[f+4>>2];if(b&32768){break vg}i=H[f+4>>2];g=b>>>0>>0;H[l>>2]=H[f+(g?12:8)>>2];while(1){wg:{if(h){break wg}f=H[e+16>>2];l=f+1|0;o=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=l;h=8;d=(o<<8)+d|0;break wg}if(o>>>0<=143){H[e+16>>2]=l;d=(o<<9)+d|0;h=7;break wg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}i=g?!i:i;break vg}i=H[f+4>>2];o=l;l=b>>>0>>0;H[o>>2]=H[f+(l?8:12)>>2];while(1){xg:{if(h){break xg}f=H[e+16>>2];b=f+1|0;o=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=b;h=8;d=(o<<8)+d|0;break xg}if(o>>>0<=143){H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break xg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;i=l?i:!i}l=i;g=I[j+24640|0];H[t>>2]=(l|0)==(g|0)?A:s;H[m>>2]=H[m>>2]|2048;H[k+4>>2]=H[k+4>>2]|512;c=(g^l)<<25|c|1024;i=H[e+108>>2]}j=D+(I[(c>>>9&495)+i|0]<<2)|0;f=H[j>>2];g=H[f>>2];b=b-g|0;yg:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[f+4>>2];if(b&32768){break yg}i=H[f+4>>2];g=b>>>0>>0;H[j>>2]=H[f+(g?12:8)>>2];while(1){zg:{if(h){break zg}f=H[e+16>>2];l=f+1|0;m=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=l;h=8;d=(m<<8)+d|0;break zg}if(m>>>0<=143){H[e+16>>2]=l;d=(m<<9)+d|0;h=7;break zg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!i:i;break yg}i=H[f+4>>2];l=b>>>0>>0;H[j>>2]=H[f+(l?8:12)>>2];while(1){Ag:{if(h){break Ag}f=H[e+16>>2];b=f+1|0;m=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=b;h=8;d=(m<<8)+d|0;break Ag}if(m>>>0<=143){H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break Ag}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?i:!i}if(!l){break xf}}t=k-4|0;o=H[k+4>>2]>>>26&4|(H[t>>2]>>>28&1|(c>>>21&16|(c>>>25&64|c>>>9&170)));j=D+(I[o+24384|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0}Y=p+w|0;Bg:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break Bg}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[(g?12:8)+i>>2];while(1){Cg:{if(h){break Cg}f=H[e+16>>2];l=f+1|0;i=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=l;h=8;d=(i<<8)+d|0;break Cg}if(i>>>0<=143){H[e+16>>2]=l;d=(i<<9)+d|0;h=7;break Cg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break Bg}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[(l?8:12)+i>>2];while(1){Dg:{if(h){break Dg}f=H[e+16>>2];b=f+1|0;i=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=b;h=8;d=(i<<8)+d|0;break Dg}if(i>>>0<=143){H[e+16>>2]=b;d=(i<<9)+d|0;h=7;break Dg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}g=I[o+24640|0];H[Y>>2]=(l|0)==(g|0)?A:s;H[t>>2]=H[t>>2]|16384;H[k+4>>2]=H[k+4>>2]|4096;f=k+(H[e+124>>2]<<2)|0;H[f+4>>2]=H[f+4>>2]|4;H[f+12>>2]=H[f+12>>2]|1;g=g^l;H[f+8>>2]=H[f+8>>2]|g<<18|2;c=g<<28|c|8192}H[k>>2]=c&-1226833921}c=k+4|0;p=p+4|0;v=v+1|0;if((X|0)!=(v|0)){continue}break}c=k+12|0;p=p+w|0;r=r+4|0;g=H[e+128>>2];if(r>>>0<(g&-4)>>>0){continue}break}break vf}c=(g&-4)-1|0;r=(c&-4)+4|0;c=(l+(c<<1&-8)|0)+20|0}H[e+8>>2]=h;H[e+4>>2]=b;H[e>>2]=d;H[e+104>>2]=j;if(!X|g>>>0<=r>>>0){break je}while(1){h=0;if(H[e+128>>2]!=(r|0)){while(1){gc(e,c,(N(h,X)<<2)+p|0,A,h,1);h=h+1|0;if(h>>>0>2]-r>>>0){continue}break}}H[c>>2]=H[c>>2]&-1226833921;p=p+4|0;c=c+4|0;M=M+1|0;if((X|0)!=(M|0)){continue}break}break je}Eg:{if(g>>>0<4){break Eg}if(X){n=e+100|0;q=e+96|0;w=N(X,12);u=X<<3;s=0-A|0;D=e+28|0;while(1){v=0;while(1){k=c;c=H[c>>2];Fg:{Gg:{Hg:{if(c){Ig:{if(c&2097168){break Ig}j=D+(I[H[e+108>>2]+(c&495)|0]<<2)|0;f=H[j>>2];g=H[f>>2];b=b-g|0;Jg:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[f+4>>2];if(b&32768){break Jg}i=H[f+4>>2];g=b>>>0>>0;H[j>>2]=H[f+(g?12:8)>>2];while(1){Kg:{if(h){break Kg}f=H[e+16>>2];l=f+1|0;m=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=l;h=8;d=(m<<8)+d|0;break Kg}if(m>>>0<=143){H[e+16>>2]=l;d=(m<<9)+d|0;h=7;break Kg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!i:i;break Jg}i=H[f+4>>2];l=b>>>0>>0;H[j>>2]=H[f+(l?8:12)>>2];while(1){Lg:{if(h){break Lg}f=H[e+16>>2];b=f+1|0;m=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=b;h=8;d=(m<<8)+d|0;break Lg}if(m>>>0<=143){H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break Lg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?i:!i}if(!l){break Ig}o=k-4|0;f=H[k+4>>2]>>>17&4|(H[o>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));j=D+(I[f+24384|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;Mg:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break Mg}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[i+(g?12:8)>>2];while(1){Ng:{if(h){break Ng}i=H[e+16>>2];l=i+1|0;t=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=l;h=8;d=(t<<8)+d|0;break Ng}if(t>>>0<=143){H[e+16>>2]=l;d=(t<<9)+d|0;h=7;break Ng}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break Mg}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[i+(l?8:12)>>2];while(1){Og:{if(h){break Og}i=H[e+16>>2];b=i+1|0;t=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=b;h=8;d=(t<<8)+d|0;break Og}if(t>>>0<=143){H[e+16>>2]=b;d=(t<<9)+d|0;h=7;break Og}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}g=I[f+24640|0];H[p>>2]=(l|0)==(g|0)?A:s;H[o>>2]=H[o>>2]|32;H[k+4>>2]=H[k+4>>2]|8;f=k+(-2-H[e+124>>2]<<2)|0;H[f+4>>2]=H[f+4>>2]|32768;l=g^l;H[f>>2]=H[f>>2]|l<<31|65536;g=f-4|0;H[g>>2]=H[g>>2]|131072;c=l<<19|c|16}Pg:{if(c&16777344){break Pg}f=c>>>3|0;j=D+(I[H[e+108>>2]+(f&495)|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;Qg:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break Qg}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[i+(g?12:8)>>2];while(1){Rg:{if(h){break Rg}i=H[e+16>>2];l=i+1|0;o=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=l;h=8;d=(o<<8)+d|0;break Rg}if(o>>>0<=143){H[e+16>>2]=l;d=(o<<9)+d|0;h=7;break Rg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break Qg}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[i+(l?8:12)>>2];while(1){Sg:{if(h){break Sg}i=H[e+16>>2];b=i+1|0;o=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=b;h=8;d=(o<<8)+d|0;break Sg}if(o>>>0<=143){H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break Sg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}if(!l){break Pg}o=k-4|0;f=H[k+4>>2]>>>20&4|(H[o>>2]>>>22&1|(c>>>15&16|(c>>>19&64|f&170)));j=D+(I[f+24384|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;Y=(X<<2)+p|0;Tg:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break Tg}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[i+(g?12:8)>>2];while(1){Ug:{if(h){break Ug}i=H[e+16>>2];l=i+1|0;t=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=l;h=8;d=(t<<8)+d|0;break Ug}if(t>>>0<=143){H[e+16>>2]=l;d=(t<<9)+d|0;h=7;break Ug}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break Tg}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[i+(l?8:12)>>2];while(1){Vg:{if(h){break Vg}i=H[e+16>>2];b=i+1|0;t=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=b;h=8;d=(t<<8)+d|0;break Vg}if(t>>>0<=143){H[e+16>>2]=b;d=(t<<9)+d|0;h=7;break Vg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}g=I[f+24640|0];H[Y>>2]=(l|0)==(g|0)?A:s;H[o>>2]=H[o>>2]|256;H[k+4>>2]=H[k+4>>2]|64;c=(g^l)<<22|c|128}Wg:{if(c&134218752){break Wg}f=c>>>6|0;j=D+(I[H[e+108>>2]+(f&495)|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;Xg:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break Xg}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[i+(g?12:8)>>2];while(1){Yg:{if(h){break Yg}i=H[e+16>>2];l=i+1|0;o=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=l;h=8;d=(o<<8)+d|0;break Yg}if(o>>>0<=143){H[e+16>>2]=l;d=(o<<9)+d|0;h=7;break Yg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break Xg}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[i+(l?8:12)>>2];while(1){Zg:{if(h){break Zg}i=H[e+16>>2];b=i+1|0;o=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=b;h=8;d=(o<<8)+d|0;break Zg}if(o>>>0<=143){H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break Zg}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}if(!l){break Wg}o=k-4|0;f=H[k+4>>2]>>>23&4|(H[o>>2]>>>25&1|(c>>>18&16|(c>>>22&64|f&170)));j=D+(I[f+24384|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;Y=p+u|0;_g:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break _g}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[i+(g?12:8)>>2];while(1){$g:{if(h){break $g}i=H[e+16>>2];l=i+1|0;t=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=l;h=8;d=(t<<8)+d|0;break $g}if(t>>>0<=143){H[e+16>>2]=l;d=(t<<9)+d|0;h=7;break $g}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break _g}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[i+(l?8:12)>>2];while(1){ah:{if(h){break ah}i=H[e+16>>2];b=i+1|0;t=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=b;h=8;d=(t<<8)+d|0;break ah}if(t>>>0<=143){H[e+16>>2]=b;d=(t<<9)+d|0;h=7;break ah}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}g=I[f+24640|0];H[Y>>2]=(l|0)==(g|0)?A:s;H[o>>2]=H[o>>2]|2048;H[k+4>>2]=H[k+4>>2]|512;c=(g^l)<<25|c|1024}if(c&1073750016){break Gg}f=c>>>9|0;j=D+(I[H[e+108>>2]+(f&495)|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;bh:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break bh}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[i+(g?12:8)>>2];while(1){ch:{if(h){break ch}i=H[e+16>>2];l=i+1|0;o=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=l;h=8;d=(o<<8)+d|0;break ch}if(o>>>0<=143){H[e+16>>2]=l;d=(o<<9)+d|0;h=7;break ch}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break bh}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[i+(l?8:12)>>2];while(1){dh:{if(h){break dh}i=H[e+16>>2];b=i+1|0;o=I[i+1|0];if(I[i|0]!=255){H[e+16>>2]=b;h=8;d=(o<<8)+d|0;break dh}if(o>>>0<=143){H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break dh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}if(!l){break Gg}t=k-4|0;o=H[k+4>>2]>>>26&4|(H[t>>2]>>>28&1|(c>>>21&16|(c>>>25&64|f&170)));j=D+(I[o+24384|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0;break Hg}l=H[q>>2];c=H[l>>2];b=b-c|0;eh:{if(d>>>16>>>0>=c>>>0){d=d-(c<<16)|0;g=H[l+4>>2];if(b&32768){break eh}j=H[l+4>>2];c=b>>>0>>0;H[q>>2]=H[l+(c?12:8)>>2];while(1){fh:{if(h){break fh}l=H[e+16>>2];g=l+1|0;f=I[l+1|0];if(I[l|0]!=255){H[e+16>>2]=g;h=8;d=(f<<8)+d|0;break fh}if(f>>>0<=143){H[e+16>>2]=g;d=(f<<9)+d|0;h=7;break fh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}g=c?!j:j;break eh}j=H[l+4>>2];g=b>>>0>>0;H[q>>2]=H[l+(g?8:12)>>2];while(1){gh:{if(h){break gh}l=H[e+16>>2];b=l+1|0;f=I[l+1|0];if(I[l|0]!=255){H[e+16>>2]=b;h=8;d=(f<<8)+d|0;break gh}if(f>>>0<=143){H[e+16>>2]=b;d=(f<<9)+d|0;h=7;break gh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;g=g?j:!j}if(!g){j=q;break Fg}g=H[n>>2];c=H[g>>2];b=b-c|0;hh:{if(d>>>16>>>0>=c>>>0){d=d-(c<<16)|0;l=H[g+4>>2];if(b&32768){break hh}f=H[g+4>>2];c=b>>>0>>0;g=H[(c?12:8)+g>>2];H[n>>2]=g;while(1){ih:{if(h){break ih}j=H[e+16>>2];l=j+1|0;i=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=l;h=8;d=(i<<8)+d|0;break ih}if(i>>>0<=143){H[e+16>>2]=l;d=(i<<9)+d|0;h=7;break ih}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=c?!f:f;break hh}f=H[g+4>>2];l=b>>>0>>0;g=H[(l?8:12)+g>>2];H[n>>2]=g;while(1){jh:{if(h){break jh}j=H[e+16>>2];b=j+1|0;i=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=b;h=8;d=(i<<8)+d|0;break jh}if(i>>>0<=143){H[e+16>>2]=b;d=(i<<9)+d|0;h=7;break jh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;l=l?f:!f}c=H[g>>2];b=b-c|0;kh:{if(d>>>16>>>0>=c>>>0){d=d-(c<<16)|0;j=H[g+4>>2];if(b&32768){break kh}f=H[g+4>>2];c=b>>>0>>0;H[n>>2]=H[(c?12:8)+g>>2];while(1){lh:{if(h){break lh}j=H[e+16>>2];g=j+1|0;i=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=g;h=8;d=(i<<8)+d|0;break lh}if(i>>>0<=143){H[e+16>>2]=g;d=(i<<9)+d|0;h=7;break lh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}j=c?!f:f;break kh}f=H[g+4>>2];j=g;g=b>>>0>>0;H[n>>2]=H[j+(g?8:12)>>2];while(1){mh:{if(h){break mh}j=H[e+16>>2];b=j+1|0;i=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=b;h=8;d=(i<<8)+d|0;break mh}if(i>>>0<=143){H[e+16>>2]=b;d=(i<<9)+d|0;h=7;break mh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;j=g?f:!f}g=j;c=0;j=n;nh:{oh:{ph:{qh:{rh:{switch(g|l<<1){case 0:i=k-4|0;l=H[k+4>>2]>>>17&4|H[i>>2]>>>19&1;g=D+(I[l+24384|0]<<2)|0;j=H[g>>2];c=H[j>>2];b=b-c|0;sh:{if(d>>>16>>>0>=c>>>0){d=d-(c<<16)|0;f=H[j+4>>2];if(b&32768){break sh}f=H[j+4>>2];c=b>>>0>>0;H[g>>2]=H[j+(c?12:8)>>2];while(1){th:{if(h){break th}j=H[e+16>>2];g=j+1|0;m=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=g;h=8;d=(m<<8)+d|0;break th}if(m>>>0<=143){H[e+16>>2]=g;d=(m<<9)+d|0;h=7;break th}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}f=c?!f:f;break sh}f=H[j+4>>2];m=g;g=b>>>0>>0;H[m>>2]=H[j+(g?8:12)>>2];while(1){uh:{if(h){break uh}j=H[e+16>>2];b=j+1|0;m=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=b;h=8;d=(m<<8)+d|0;break uh}if(m>>>0<=143){H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break uh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;f=g?f:!f}g=f;c=I[l+24640|0];H[p>>2]=(g|0)==(c|0)?A:s;H[i>>2]=H[i>>2]|32;H[k+4>>2]=H[k+4>>2]|8;l=k+(-2-H[e+124>>2]<<2)|0;H[l+4>>2]=H[l+4>>2]|32768;g=c^g;H[l>>2]=H[l>>2]|g<<31|65536;c=l-4|0;H[c>>2]=H[c>>2]|131072;l=g<<19;i=H[e+108>>2];g=D+(I[i+2|0]<<2)|0;j=H[g>>2];c=H[j>>2];b=b-c|0;vh:{if(d>>>16>>>0>=c>>>0){d=d-(c<<16)|0;f=H[j+4>>2];if(b&32768){break vh}f=H[j+4>>2];c=b>>>0>>0;H[g>>2]=H[j+(c?12:8)>>2];while(1){wh:{if(h){break wh}j=H[e+16>>2];g=j+1|0;m=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=g;h=8;d=(m<<8)+d|0;break wh}if(m>>>0<=143){H[e+16>>2]=g;d=(m<<9)+d|0;h=7;break wh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}f=c?!f:f;break vh}f=H[j+4>>2];m=g;g=b>>>0>>0;H[m>>2]=H[j+(g?8:12)>>2];while(1){xh:{if(h){break xh}j=H[e+16>>2];b=j+1|0;m=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=b;h=8;d=(m<<8)+d|0;break xh}if(m>>>0<=143){H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break xh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;f=g?f:!f}g=f;c=l|16;if(!g){break qh}break;case 1:break rh;case 2:break ph;case 3:break nh;default:break Gg}}m=k-4|0;j=H[k+4>>2]>>>20&4|(H[m>>2]>>>22&1|(c>>>15&16|(c>>>19&64|c>>>3&170)));l=D+(I[j+24384|0]<<2)|0;f=H[l>>2];g=H[f>>2];b=b-g|0;t=(X<<2)+p|0;yh:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;i=H[f+4>>2];if(b&32768){break yh}i=H[f+4>>2];g=b>>>0>>0;H[l>>2]=H[f+(g?12:8)>>2];while(1){zh:{if(h){break zh}f=H[e+16>>2];l=f+1|0;o=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=l;h=8;d=(o<<8)+d|0;break zh}if(o>>>0<=143){H[e+16>>2]=l;d=(o<<9)+d|0;h=7;break zh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}i=g?!i:i;break yh}i=H[f+4>>2];o=l;l=b>>>0>>0;H[o>>2]=H[f+(l?8:12)>>2];while(1){Ah:{if(h){break Ah}f=H[e+16>>2];b=f+1|0;o=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=b;h=8;d=(o<<8)+d|0;break Ah}if(o>>>0<=143){H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break Ah}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;i=l?i:!i}l=i;g=I[j+24640|0];H[t>>2]=(l|0)==(g|0)?A:s;H[m>>2]=H[m>>2]|256;H[k+4>>2]=H[k+4>>2]|64;i=H[e+108>>2];c=(g^l)<<22|c|128}l=D+(I[(c>>>6&495)+i|0]<<2)|0;j=H[l>>2];g=H[j>>2];b=b-g|0;Bh:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;f=H[j+4>>2];if(b&32768){break Bh}f=H[j+4>>2];g=b>>>0>>0;H[l>>2]=H[j+(g?12:8)>>2];while(1){Ch:{if(h){break Ch}j=H[e+16>>2];l=j+1|0;m=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=l;h=8;d=(m<<8)+d|0;break Ch}if(m>>>0<=143){H[e+16>>2]=l;d=(m<<9)+d|0;h=7;break Ch}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}f=g?!f:f;break Bh}f=H[j+4>>2];m=l;l=b>>>0>>0;H[m>>2]=H[j+(l?8:12)>>2];while(1){Dh:{if(h){break Dh}j=H[e+16>>2];b=j+1|0;m=I[j+1|0];if(I[j|0]!=255){H[e+16>>2]=b;h=8;d=(m<<8)+d|0;break Dh}if(m>>>0<=143){H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break Dh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;f=l?f:!f}if(!f){break oh}}m=k-4|0;j=H[k+4>>2]>>>23&4|(H[m>>2]>>>25&1|(c>>>18&16|(c>>>22&64|c>>>6&170)));l=D+(I[j+24384|0]<<2)|0;f=H[l>>2];g=H[f>>2];b=b-g|0;t=p+u|0;Eh:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;i=H[f+4>>2];if(b&32768){break Eh}i=H[f+4>>2];g=b>>>0>>0;H[l>>2]=H[f+(g?12:8)>>2];while(1){Fh:{if(h){break Fh}f=H[e+16>>2];l=f+1|0;o=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=l;h=8;d=(o<<8)+d|0;break Fh}if(o>>>0<=143){H[e+16>>2]=l;d=(o<<9)+d|0;h=7;break Fh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}i=g?!i:i;break Eh}i=H[f+4>>2];o=l;l=b>>>0>>0;H[o>>2]=H[f+(l?8:12)>>2];while(1){Gh:{if(h){break Gh}f=H[e+16>>2];b=f+1|0;o=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=b;h=8;d=(o<<8)+d|0;break Gh}if(o>>>0<=143){H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break Gh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;i=l?i:!i}l=i;g=I[j+24640|0];H[t>>2]=(l|0)==(g|0)?A:s;H[m>>2]=H[m>>2]|2048;H[k+4>>2]=H[k+4>>2]|512;c=(g^l)<<25|c|1024;i=H[e+108>>2]}j=D+(I[(c>>>9&495)+i|0]<<2)|0;f=H[j>>2];g=H[f>>2];b=b-g|0;Hh:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[f+4>>2];if(b&32768){break Hh}i=H[f+4>>2];g=b>>>0>>0;H[j>>2]=H[f+(g?12:8)>>2];while(1){Ih:{if(h){break Ih}f=H[e+16>>2];l=f+1|0;m=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=l;h=8;d=(m<<8)+d|0;break Ih}if(m>>>0<=143){H[e+16>>2]=l;d=(m<<9)+d|0;h=7;break Ih}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!i:i;break Hh}i=H[f+4>>2];l=b>>>0>>0;H[j>>2]=H[f+(l?8:12)>>2];while(1){Jh:{if(h){break Jh}f=H[e+16>>2];b=f+1|0;m=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=b;h=8;d=(m<<8)+d|0;break Jh}if(m>>>0<=143){H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break Jh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?i:!i}if(!l){break Gg}}t=k-4|0;o=H[k+4>>2]>>>26&4|(H[t>>2]>>>28&1|(c>>>21&16|(c>>>25&64|c>>>9&170)));j=D+(I[o+24384|0]<<2)|0;i=H[j>>2];g=H[i>>2];b=b-g|0}Y=p+w|0;Kh:{if(d>>>16>>>0>=g>>>0){d=d-(g<<16)|0;l=H[i+4>>2];if(b&32768){break Kh}m=H[i+4>>2];g=b>>>0>>0;H[j>>2]=H[(g?12:8)+i>>2];while(1){Lh:{if(h){break Lh}f=H[e+16>>2];l=f+1|0;i=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=l;h=8;d=(i<<8)+d|0;break Lh}if(i>>>0<=143){H[e+16>>2]=l;d=(i<<9)+d|0;h=7;break Lh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}l=g?!m:m;break Kh}m=H[i+4>>2];l=b>>>0>>0;H[j>>2]=H[(l?8:12)+i>>2];while(1){Mh:{if(h){break Mh}f=H[e+16>>2];b=f+1|0;i=I[f+1|0];if(I[f|0]!=255){H[e+16>>2]=b;h=8;d=(i<<8)+d|0;break Mh}if(i>>>0<=143){H[e+16>>2]=b;d=(i<<9)+d|0;h=7;break Mh}H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;l=l?m:!m}g=I[o+24640|0];H[Y>>2]=(l|0)==(g|0)?A:s;H[t>>2]=H[t>>2]|16384;H[k+4>>2]=H[k+4>>2]|4096;f=k+(H[e+124>>2]<<2)|0;H[f+4>>2]=H[f+4>>2]|4;H[f+12>>2]=H[f+12>>2]|1;g=g^l;H[f+8>>2]=H[f+8>>2]|g<<18|2;c=g<<28|c|8192}H[k>>2]=c&-1226833921}c=k+4|0;p=p+4|0;v=v+1|0;if((X|0)!=(v|0)){continue}break}c=k+12|0;p=p+w|0;r=r+4|0;g=H[e+128>>2];if(r>>>0<(g&-4)>>>0){continue}break}break Eg}c=(g&-4)-1|0;r=(c&-4)+4|0;c=(l+(c<<1&-8)|0)+20|0}H[e+8>>2]=h;H[e+4>>2]=b;H[e>>2]=d;H[e+104>>2]=j;if(!X|g>>>0<=r>>>0){break je}while(1){h=0;if(H[e+128>>2]!=(r|0)){while(1){gc(e,c,(N(h,X)<<2)+p|0,A,h,0);h=h+1|0;if(h>>>0>2]-r>>>0){continue}break}}H[c>>2]=H[c>>2]&-1226833921;p=p+4|0;c=c+4|0;M=M+1|0;if((X|0)!=(M|0)){continue}break}break je}while(1){u=0;while(1){k=c;f=g;g=H[g>>2];Nh:{Oh:{Ph:{if(!g){j=H[l>>2];g=H[j>>2];b=b-g|0;Qh:{if(d>>>16>>>0>>0){n=H[j+4>>2];c=b>>>0>>0;H[l>>2]=H[j+(c?8:12)>>2];while(1){Rh:{if(h){break Rh}j=H[e+16>>2];b=j+1|0;p=I[j+1|0];if(I[j|0]==255){if(p>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Rh}H[e+16>>2]=b;d=(p<<9)+d|0;h=7;break Rh}H[e+16>>2]=b;h=8;d=(p<<8)+d|0}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;c=c?n:!n;break Qh}d=d-(g<<16)|0;if(!(b&32768)){n=H[j+4>>2];c=b>>>0>>0;H[l>>2]=H[j+(c?12:8)>>2];while(1){Sh:{if(h){break Sh}j=H[e+16>>2];g=j+1|0;p=I[j+1|0];if(I[j|0]==255){if(p>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Sh}H[e+16>>2]=g;d=(p<<9)+d|0;h=7;break Sh}H[e+16>>2]=g;h=8;d=(p<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!n:n;break Qh}c=H[j+4>>2]}if(!c){j=l;break Nh}c=H[q>>2];g=H[c>>2];b=b-g|0;Th:{if(d>>>16>>>0>>0){p=H[c+4>>2];j=b>>>0>>0;c=H[(j?8:12)+c>>2];H[q>>2]=c;while(1){Uh:{if(h){break Uh}n=H[e+16>>2];b=n+1|0;i=I[n+1|0];if(I[n|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Uh}H[e+16>>2]=b;d=(i<<9)+d|0;h=7;break Uh}H[e+16>>2]=b;h=8;d=(i<<8)+d|0}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;n=j?p:!p;break Th}d=d-(g<<16)|0;if(!(b&32768)){p=H[c+4>>2];g=b>>>0>>0;c=H[(g?12:8)+c>>2];H[q>>2]=c;while(1){Vh:{if(h){break Vh}n=H[e+16>>2];j=n+1|0;i=I[n+1|0];if(I[n|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Vh}H[e+16>>2]=j;d=(i<<9)+d|0;h=7;break Vh}H[e+16>>2]=j;h=8;d=(i<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}n=g?!p:p;break Th}n=H[c+4>>2]}g=H[c>>2];b=b-g|0;Wh:{if(d>>>16>>>0>>0){p=H[c+4>>2];j=c;c=b>>>0>>0;H[q>>2]=H[j+(c?8:12)>>2];while(1){Xh:{if(h){break Xh}j=H[e+16>>2];b=j+1|0;i=I[j+1|0];if(I[j|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Xh}H[e+16>>2]=b;d=(i<<9)+d|0;h=7;break Xh}H[e+16>>2]=b;h=8;d=(i<<8)+d|0}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;c=c?p:!p;break Wh}d=d-(g<<16)|0;if(!(b&32768)){p=H[c+4>>2];j=c;c=b>>>0>>0;H[q>>2]=H[j+(c?12:8)>>2];while(1){Yh:{if(h){break Yh}j=H[e+16>>2];g=j+1|0;i=I[j+1|0];if(I[j|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Yh}H[e+16>>2]=g;d=(i<<9)+d|0;h=7;break Yh}H[e+16>>2]=g;h=8;d=(i<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!p:p;break Wh}c=H[c+4>>2]}g=0;j=q;Zh:{_h:{$h:{ai:{bi:{switch(c|n<<1){case 0:i=f-4|0;j=H[f+4>>2]>>>17&4|H[i>>2]>>>19&1;c=s+(I[j+24384|0]<<2)|0;n=H[c>>2];g=H[n>>2];b=b-g|0;ci:{if(d>>>16>>>0>>0){p=H[n+4>>2];A=c;c=b>>>0>>0;H[A>>2]=H[n+(c?8:12)>>2];while(1){di:{if(h){break di}n=H[e+16>>2];b=n+1|0;m=I[n+1|0];if(I[n|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break di}H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break di}H[e+16>>2]=b;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;g=c?p:!p;break ci}d=d-(g<<16)|0;if(!(b&32768)){p=H[n+4>>2];A=c;c=b>>>0>>0;H[A>>2]=H[n+(c?12:8)>>2];while(1){ei:{if(h){break ei}n=H[e+16>>2];g=n+1|0;m=I[n+1|0];if(I[n|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break ei}H[e+16>>2]=g;d=(m<<9)+d|0;h=7;break ei}H[e+16>>2]=g;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}g=c?!p:p;break ci}g=H[n+4>>2]}c=I[j+24640|0];H[k>>2]=(g|0)==(c|0)?v:w;H[i>>2]=H[i>>2]|32;H[f+4>>2]=H[f+4>>2]|8;j=(c^g)<<19;i=H[e+108>>2];c=s+(I[i+2|0]<<2)|0;n=H[c>>2];g=H[n>>2];b=b-g|0;fi:{if(d>>>16>>>0>>0){p=H[n+4>>2];A=c;c=b>>>0>>0;H[A>>2]=H[n+(c?8:12)>>2];while(1){gi:{if(h){break gi}n=H[e+16>>2];b=n+1|0;m=I[n+1|0];if(I[n|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break gi}H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break gi}H[e+16>>2]=b;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;g=g<<1;if(g>>>0<32768){continue}break}b=g;c=c?p:!p;break fi}d=d-(g<<16)|0;if(!(b&32768)){p=H[n+4>>2];A=c;c=b>>>0>>0;H[A>>2]=H[n+(c?12:8)>>2];while(1){hi:{if(h){break hi}n=H[e+16>>2];g=n+1|0;m=I[n+1|0];if(I[n|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break hi}H[e+16>>2]=g;d=(m<<9)+d|0;h=7;break hi}H[e+16>>2]=g;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!p:p;break fi}c=H[n+4>>2]}g=j|16;if(!c){break ai}break;case 1:break bi;case 2:break $h;case 3:break Zh;default:break Oh}}m=f-4|0;n=H[f+4>>2]>>>20&4|(H[m>>2]>>>22&1|(g>>>15&16|(g>>>19&64|g>>>3&170)));j=s+(I[n+24384|0]<<2)|0;p=H[j>>2];c=H[p>>2];b=b-c|0;ii:{if(d>>>16>>>0>>0){i=H[p+4>>2];A=j;j=b>>>0>>0;H[A>>2]=H[p+(j?8:12)>>2];while(1){ji:{if(h){break ji}p=H[e+16>>2];b=p+1|0;o=I[p+1|0];if(I[p|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break ji}H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break ji}H[e+16>>2]=b;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;j=j?i:!i;break ii}d=d-(c<<16)|0;if(!(b&32768)){i=H[p+4>>2];c=b>>>0>>0;H[j>>2]=H[p+(c?12:8)>>2];while(1){ki:{if(h){break ki}p=H[e+16>>2];j=p+1|0;o=I[p+1|0];if(I[p|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break ki}H[e+16>>2]=j;d=(o<<9)+d|0;h=7;break ki}H[e+16>>2]=j;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}j=c?!i:i;break ii}j=H[p+4>>2]}c=I[n+24640|0];H[k+256>>2]=(j|0)==(c|0)?v:w;H[m>>2]=H[m>>2]|256;H[f+4>>2]=H[f+4>>2]|64;i=H[e+108>>2];g=(c^j)<<22|g|128}j=s+(I[(g>>>6&495)+i|0]<<2)|0;n=H[j>>2];c=H[n>>2];b=b-c|0;li:{if(d>>>16>>>0>>0){p=H[n+4>>2];A=j;j=b>>>0>>0;H[A>>2]=H[n+(j?8:12)>>2];while(1){mi:{if(h){break mi}n=H[e+16>>2];b=n+1|0;m=I[n+1|0];if(I[n|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break mi}H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break mi}H[e+16>>2]=b;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;c=j?p:!p;break li}d=d-(c<<16)|0;if(!(b&32768)){p=H[n+4>>2];c=b>>>0>>0;H[j>>2]=H[n+(c?12:8)>>2];while(1){ni:{if(h){break ni}n=H[e+16>>2];j=n+1|0;m=I[n+1|0];if(I[n|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break ni}H[e+16>>2]=j;d=(m<<9)+d|0;h=7;break ni}H[e+16>>2]=j;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!p:p;break li}c=H[n+4>>2]}if(!c){break _h}}m=f-4|0;n=H[f+4>>2]>>>23&4|(H[m>>2]>>>25&1|(g>>>18&16|(g>>>22&64|g>>>6&170)));j=s+(I[n+24384|0]<<2)|0;p=H[j>>2];c=H[p>>2];b=b-c|0;oi:{if(d>>>16>>>0>>0){i=H[p+4>>2];A=j;j=b>>>0>>0;H[A>>2]=H[p+(j?8:12)>>2];while(1){pi:{if(h){break pi}p=H[e+16>>2];b=p+1|0;o=I[p+1|0];if(I[p|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break pi}H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break pi}H[e+16>>2]=b;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;j=j?i:!i;break oi}d=d-(c<<16)|0;if(!(b&32768)){i=H[p+4>>2];c=b>>>0>>0;H[j>>2]=H[p+(c?12:8)>>2];while(1){qi:{if(h){break qi}p=H[e+16>>2];j=p+1|0;o=I[p+1|0];if(I[p|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break qi}H[e+16>>2]=j;d=(o<<9)+d|0;h=7;break qi}H[e+16>>2]=j;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}j=c?!i:i;break oi}j=H[p+4>>2]}c=I[n+24640|0];H[k+512>>2]=(j|0)==(c|0)?v:w;H[m>>2]=H[m>>2]|2048;H[f+4>>2]=H[f+4>>2]|512;g=(c^j)<<25|g|1024;i=H[e+108>>2]}j=s+(I[(g>>>9&495)+i|0]<<2)|0;p=H[j>>2];c=H[p>>2];b=b-c|0;ri:{if(d>>>16>>>0>>0){i=H[p+4>>2];n=b>>>0>>0;H[j>>2]=H[p+(n?8:12)>>2];while(1){si:{if(h){break si}p=H[e+16>>2];b=p+1|0;m=I[p+1|0];if(I[p|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break si}H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break si}H[e+16>>2]=b;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;c=n?i:!i;break ri}d=d-(c<<16)|0;if(!(b&32768)){i=H[p+4>>2];c=b>>>0>>0;H[j>>2]=H[p+(c?12:8)>>2];while(1){ti:{if(h){break ti}p=H[e+16>>2];n=p+1|0;m=I[p+1|0];if(I[p|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break ti}H[e+16>>2]=n;d=(m<<9)+d|0;h=7;break ti}H[e+16>>2]=n;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!i:i;break ri}c=H[p+4>>2]}if(!c){break Oh}}M=f-4|0;t=H[f+4>>2]>>>26&4|(H[M>>2]>>>28&1|(g>>>21&16|(g>>>25&64|g>>>9&170)));j=s+(I[t+24384|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;break Ph}ui:{if(g&2097168){break ui}j=s+(I[H[e+108>>2]+(g&495)|0]<<2)|0;p=H[j>>2];c=H[p>>2];b=b-c|0;vi:{if(d>>>16>>>0>>0){i=H[p+4>>2];n=b>>>0>>0;H[j>>2]=H[p+(n?8:12)>>2];while(1){wi:{if(h){break wi}p=H[e+16>>2];b=p+1|0;m=I[p+1|0];if(I[p|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break wi}H[e+16>>2]=b;d=(m<<9)+d|0;h=7;break wi}H[e+16>>2]=b;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;c=n?i:!i;break vi}d=d-(c<<16)|0;if(!(b&32768)){i=H[p+4>>2];c=b>>>0>>0;H[j>>2]=H[p+(c?12:8)>>2];while(1){xi:{if(h){break xi}p=H[e+16>>2];n=p+1|0;m=I[p+1|0];if(I[p|0]==255){if(m>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break xi}H[e+16>>2]=n;d=(m<<9)+d|0;h=7;break xi}H[e+16>>2]=n;h=8;d=(m<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!i:i;break vi}c=H[p+4>>2]}if(!c){break ui}o=f-4|0;p=H[f+4>>2]>>>17&4|(H[o>>2]>>>19&1|(g>>>14&16|(g>>>16&64|g&170)));j=s+(I[p+24384|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;yi:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[i+(n?8:12)>>2];while(1){zi:{if(h){break zi}i=H[e+16>>2];b=i+1|0;t=I[i+1|0];if(I[i|0]==255){if(t>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break zi}H[e+16>>2]=b;d=(t<<9)+d|0;h=7;break zi}H[e+16>>2]=b;h=8;d=(t<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;n=n?m:!m;break yi}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[i+(c?12:8)>>2];while(1){Ai:{if(h){break Ai}i=H[e+16>>2];n=i+1|0;t=I[i+1|0];if(I[i|0]==255){if(t>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Ai}H[e+16>>2]=n;d=(t<<9)+d|0;h=7;break Ai}H[e+16>>2]=n;h=8;d=(t<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}n=c?!m:m;break yi}n=H[i+4>>2]}c=I[p+24640|0];H[k>>2]=(n|0)==(c|0)?v:w;H[o>>2]=H[o>>2]|32;H[f+4>>2]=H[f+4>>2]|8;g=(c^n)<<19|g|16}Bi:{if(g&16777344){break Bi}p=g>>>3|0;j=s+(I[H[e+108>>2]+(p&495)|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;Ci:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[i+(n?8:12)>>2];while(1){Di:{if(h){break Di}i=H[e+16>>2];b=i+1|0;o=I[i+1|0];if(I[i|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Di}H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break Di}H[e+16>>2]=b;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;c=n?m:!m;break Ci}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[i+(c?12:8)>>2];while(1){Ei:{if(h){break Ei}i=H[e+16>>2];n=i+1|0;o=I[i+1|0];if(I[i|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Ei}H[e+16>>2]=n;d=(o<<9)+d|0;h=7;break Ei}H[e+16>>2]=n;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!m:m;break Ci}c=H[i+4>>2]}if(!c){break Bi}o=f-4|0;p=H[f+4>>2]>>>20&4|(H[o>>2]>>>22&1|(g>>>15&16|(g>>>19&64|p&170)));j=s+(I[p+24384|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;Fi:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[i+(n?8:12)>>2];while(1){Gi:{if(h){break Gi}i=H[e+16>>2];b=i+1|0;t=I[i+1|0];if(I[i|0]==255){if(t>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Gi}H[e+16>>2]=b;d=(t<<9)+d|0;h=7;break Gi}H[e+16>>2]=b;h=8;d=(t<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;n=n?m:!m;break Fi}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[i+(c?12:8)>>2];while(1){Hi:{if(h){break Hi}i=H[e+16>>2];n=i+1|0;t=I[i+1|0];if(I[i|0]==255){if(t>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Hi}H[e+16>>2]=n;d=(t<<9)+d|0;h=7;break Hi}H[e+16>>2]=n;h=8;d=(t<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}n=c?!m:m;break Fi}n=H[i+4>>2]}c=I[p+24640|0];H[k+256>>2]=(n|0)==(c|0)?v:w;H[o>>2]=H[o>>2]|256;H[f+4>>2]=H[f+4>>2]|64;g=(c^n)<<22|g|128}Ii:{if(g&134218752){break Ii}p=g>>>6|0;j=s+(I[H[e+108>>2]+(p&495)|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;Ji:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[i+(n?8:12)>>2];while(1){Ki:{if(h){break Ki}i=H[e+16>>2];b=i+1|0;o=I[i+1|0];if(I[i|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Ki}H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break Ki}H[e+16>>2]=b;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;c=n?m:!m;break Ji}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[i+(c?12:8)>>2];while(1){Li:{if(h){break Li}i=H[e+16>>2];n=i+1|0;o=I[i+1|0];if(I[i|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Li}H[e+16>>2]=n;d=(o<<9)+d|0;h=7;break Li}H[e+16>>2]=n;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!m:m;break Ji}c=H[i+4>>2]}if(!c){break Ii}o=f-4|0;p=H[f+4>>2]>>>23&4|(H[o>>2]>>>25&1|(g>>>18&16|(g>>>22&64|p&170)));j=s+(I[p+24384|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;Mi:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[i+(n?8:12)>>2];while(1){Ni:{if(h){break Ni}i=H[e+16>>2];b=i+1|0;t=I[i+1|0];if(I[i|0]==255){if(t>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Ni}H[e+16>>2]=b;d=(t<<9)+d|0;h=7;break Ni}H[e+16>>2]=b;h=8;d=(t<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;n=n?m:!m;break Mi}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[i+(c?12:8)>>2];while(1){Oi:{if(h){break Oi}i=H[e+16>>2];n=i+1|0;t=I[i+1|0];if(I[i|0]==255){if(t>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Oi}H[e+16>>2]=n;d=(t<<9)+d|0;h=7;break Oi}H[e+16>>2]=n;h=8;d=(t<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}n=c?!m:m;break Mi}n=H[i+4>>2]}c=I[p+24640|0];H[k+512>>2]=(n|0)==(c|0)?v:w;H[o>>2]=H[o>>2]|2048;H[f+4>>2]=H[f+4>>2]|512;g=(c^n)<<25|g|1024}if(g&1073750016){break Oh}p=g>>>9|0;j=s+(I[H[e+108>>2]+(p&495)|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0;Pi:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[i+(n?8:12)>>2];while(1){Qi:{if(h){break Qi}i=H[e+16>>2];b=i+1|0;o=I[i+1|0];if(I[i|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Qi}H[e+16>>2]=b;d=(o<<9)+d|0;h=7;break Qi}H[e+16>>2]=b;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;c=n?m:!m;break Pi}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[i+(c?12:8)>>2];while(1){Ri:{if(h){break Ri}i=H[e+16>>2];n=i+1|0;o=I[i+1|0];if(I[i|0]==255){if(o>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Ri}H[e+16>>2]=n;d=(o<<9)+d|0;h=7;break Ri}H[e+16>>2]=n;h=8;d=(o<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}c=c?!m:m;break Pi}c=H[i+4>>2]}if(!c){break Oh}M=f-4|0;t=H[f+4>>2]>>>26&4|(H[M>>2]>>>28&1|(g>>>21&16|(g>>>25&64|p&170)));j=s+(I[t+24384|0]<<2)|0;i=H[j>>2];c=H[i>>2];b=b-c|0}Si:{if(d>>>16>>>0>>0){m=H[i+4>>2];n=b>>>0>>0;H[j>>2]=H[(n?8:12)+i>>2];while(1){Ti:{if(h){break Ti}p=H[e+16>>2];b=p+1|0;i=I[p+1|0];if(I[p|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Ti}H[e+16>>2]=b;d=(i<<9)+d|0;h=7;break Ti}H[e+16>>2]=b;h=8;d=(i<<8)+d|0}h=h-1|0;d=d<<1;c=c<<1;if(c>>>0<32768){continue}break}b=c;n=n?m:!m;break Si}d=d-(c<<16)|0;if(!(b&32768)){m=H[i+4>>2];c=b>>>0>>0;H[j>>2]=H[(c?12:8)+i>>2];while(1){Ui:{if(h){break Ui}p=H[e+16>>2];n=p+1|0;i=I[p+1|0];if(I[p|0]==255){if(i>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;d=d+65280|0;h=8;break Ui}H[e+16>>2]=n;d=(i<<9)+d|0;h=7;break Ui}H[e+16>>2]=n;h=8;d=(i<<8)+d|0}h=h-1|0;d=d<<1;b=b<<1;if(b>>>0<32768){continue}break}n=c?!m:m;break Si}n=H[i+4>>2]}c=I[t+24640|0];H[k+768>>2]=(n|0)==(c|0)?v:w;H[M>>2]=H[M>>2]|16384;H[f+4>>2]=H[f+4>>2]|4096;H[f+260>>2]=H[f+260>>2]|4;H[f+268>>2]=H[f+268>>2]|1;c=c^n;H[f+264>>2]=H[f+264>>2]|c<<18|2;g=c<<28|g|8192}H[f>>2]=g&-1226833921}g=f+4|0;c=k+4|0;u=u+1|0;if((u|0)!=64){continue}break}g=f+12|0;c=k+772|0;n=r>>>0<60;r=r+4|0;if(n){continue}break}}H[e+8>>2]=h;H[e+4>>2]=b;H[e>>2]=d;H[e+104>>2]=j}Vi:{if(!(Z&32)){break Vi}H[e+104>>2]=e+100;g=H[e+100>>2];b=H[g>>2];d=H[e+4>>2]-b|0;H[e+4>>2]=d;h=H[e>>2];Wi:{if(h>>>16>>>0>>0){H[e+4>>2]=b;g=H[(b>>>0>d>>>0?8:12)+g>>2];H[e+100>>2]=g;d=H[e+8>>2];while(1){Xi:{if(d){break Xi}l=H[e+16>>2];c=l+1|0;j=I[l+1|0];if(I[l|0]==255){if(j>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;h=h+65280|0;d=8;break Xi}H[e+16>>2]=c;h=(j<<9)+h|0;d=7;break Xi}H[e+16>>2]=c;d=8;h=(j<<8)+h|0}d=d-1|0;H[e+8>>2]=d;h=h<<1;H[e>>2]=h;b=b<<1;H[e+4>>2]=b;if(b>>>0<32768){continue}break}d=b;break Wi}h=h-(b<<16)|0;H[e>>2]=h;if(d&32768){break Wi}g=H[(b>>>0>d>>>0?12:8)+g>>2];H[e+100>>2]=g;b=H[e+8>>2];while(1){Yi:{if(b){break Yi}c=H[e+16>>2];b=c+1|0;l=I[c+1|0];if(I[c|0]==255){if(l>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;h=h+65280|0;b=8;break Yi}H[e+16>>2]=b;h=(l<<9)+h|0;b=7;break Yi}H[e+16>>2]=b;b=8;h=(l<<8)+h|0}b=b-1|0;H[e+8>>2]=b;h=h<<1;H[e>>2]=h;d=d<<1;H[e+4>>2]=d;if(d>>>0<32768){continue}break}}b=H[g>>2];d=d-b|0;H[e+4>>2]=d;Zi:{if(h>>>16>>>0>>0){H[e+4>>2]=b;g=H[(b>>>0>d>>>0?8:12)+g>>2];H[e+100>>2]=g;d=H[e+8>>2];while(1){_i:{if(d){break _i}l=H[e+16>>2];c=l+1|0;j=I[l+1|0];if(I[l|0]==255){if(j>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;h=h+65280|0;d=8;break _i}H[e+16>>2]=c;h=(j<<9)+h|0;d=7;break _i}H[e+16>>2]=c;d=8;h=(j<<8)+h|0}d=d-1|0;H[e+8>>2]=d;h=h<<1;H[e>>2]=h;b=b<<1;H[e+4>>2]=b;if(b>>>0<32768){continue}break}d=b;break Zi}h=h-(b<<16)|0;H[e>>2]=h;if(d&32768){break Zi}g=H[(b>>>0>d>>>0?12:8)+g>>2];H[e+100>>2]=g;b=H[e+8>>2];while(1){$i:{if(b){break $i}c=H[e+16>>2];b=c+1|0;l=I[c+1|0];if(I[c|0]==255){if(l>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;h=h+65280|0;b=8;break $i}H[e+16>>2]=b;h=(l<<9)+h|0;b=7;break $i}H[e+16>>2]=b;b=8;h=(l<<8)+h|0}b=b-1|0;H[e+8>>2]=b;h=h<<1;H[e>>2]=h;d=d<<1;H[e+4>>2]=d;if(d>>>0<32768){continue}break}}b=H[g>>2];d=d-b|0;H[e+4>>2]=d;aj:{if(h>>>16>>>0>>0){H[e+4>>2]=b;g=H[(b>>>0>d>>>0?8:12)+g>>2];H[e+100>>2]=g;d=H[e+8>>2];while(1){bj:{if(d){break bj}l=H[e+16>>2];c=l+1|0;j=I[l+1|0];if(I[l|0]==255){if(j>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;h=h+65280|0;d=8;break bj}H[e+16>>2]=c;h=(j<<9)+h|0;d=7;break bj}H[e+16>>2]=c;d=8;h=(j<<8)+h|0}d=d-1|0;H[e+8>>2]=d;h=h<<1;H[e>>2]=h;b=b<<1;H[e+4>>2]=b;if(b>>>0<32768){continue}break}d=b;break aj}h=h-(b<<16)|0;H[e>>2]=h;if(d&32768){break aj}g=H[(b>>>0>d>>>0?12:8)+g>>2];H[e+100>>2]=g;b=H[e+8>>2];while(1){cj:{if(b){break cj}c=H[e+16>>2];b=c+1|0;l=I[c+1|0];if(I[c|0]==255){if(l>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;h=h+65280|0;b=8;break cj}H[e+16>>2]=b;h=(l<<9)+h|0;b=7;break cj}H[e+16>>2]=b;b=8;h=(l<<8)+h|0}b=b-1|0;H[e+8>>2]=b;h=h<<1;H[e>>2]=h;d=d<<1;H[e+4>>2]=d;if(d>>>0<32768){continue}break}}b=H[g>>2];d=d-b|0;H[e+4>>2]=d;if(h>>>16>>>0>>0){H[e+4>>2]=b;H[e+100>>2]=H[(b>>>0>d>>>0?8:12)+g>>2];d=H[e+8>>2];while(1){dj:{if(d){break dj}g=H[e+16>>2];c=g+1|0;l=I[g+1|0];if(I[g|0]==255){if(l>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;h=h+65280|0;d=8;break dj}H[e+16>>2]=c;h=(l<<9)+h|0;d=7;break dj}H[e+16>>2]=c;d=8;h=(l<<8)+h|0}d=d-1|0;H[e+8>>2]=d;h=h<<1;H[e>>2]=h;b=b<<1;H[e+4>>2]=b;if(b>>>0<32768){continue}break}break Vi}c=h-(b<<16)|0;H[e>>2]=c;if(d&32768){break Vi}H[e+100>>2]=H[(b>>>0>d>>>0?12:8)+g>>2];h=H[e+8>>2];while(1){ej:{if(h){break ej}g=H[e+16>>2];b=g+1|0;l=I[g+1|0];if(I[g|0]==255){if(l>>>0>=144){H[e+12>>2]=H[e+12>>2]+1;c=c+65280|0;h=8;break ej}H[e+16>>2]=b;c=(l<<9)+c|0;h=7;break ej}H[e+16>>2]=b;h=8;c=(l<<8)+c|0}h=h-1|0;H[e+8>>2]=h;c=c<<1;H[e>>2]=c;d=d<<1;H[e+4>>2]=d;if(d>>>0<32768){continue}break}}}if(!P){break Za}ic(e);_a(e,18,46);_a(e,17,3);_a(e,0,4)}b=_+1|0;c=(b|0)==3;_=c?0:b;z=z-c|0;T=T+1|0;if(T>>>0>=K[ma+8>>2]){break Ya}if((z|0)>0){continue}break}}U=x+U|0;c=H[e+24>>2];b=J[e+112>>1];F[c|0]=b;F[c+1|0]=b>>>8;S=S+1|0;if(S>>>0>2]){continue}break}}fj:{if(!W){break fj}gj:{c=H[e+24>>2];g=H[e+16>>2];if(c>>>0>g+2>>>0){if(!ba){break gj}g=H[e+16>>2];c=H[e+24>>2];b=H[e+20>>2];H[aa+56>>2]=c-b;H[aa+52>>2]=g-b;H[aa+48>>2]=(c-g|0)-2;Ca(R,2,15235,aa+48|0);break fj}b=H[e+12>>2];if(b>>>0<3){break fj}if(ba){H[aa+80>>2]=H[e+12>>2];Ca(R,2,7107,aa+80|0);break fj}H[aa+64>>2]=b;Ca(R,2,7107,aa- -64|0);break fj}b=H[e+20>>2];H[aa+40>>2]=c-b;H[aa+36>>2]=g-b;H[aa+32>>2]=(c-g|0)-2;Ca(R,2,15235,aa+32|0)}if(!H[E+60>>2]){break i}H[e+116>>2]=$}l=H[ta+4>>2];g=H[E+12>>2];m=H[E+8>>2]-H[ta>>2]|0;c=H[ta+16>>2];if(c&1){b=H[qa+28>>2]+N(va,152)|0;m=(H[b-144>>2]+m|0)-H[b-152>>2]|0}j=g-l|0;if(c&2){b=H[qa+28>>2]+N(va,152)|0;j=(H[b-140>>2]+j|0)-H[b-148>>2]|0}k=H[E+60>>2];i=k;i=i?i:H[e+116>>2];o=H[e+128>>2];P=H[e+124>>2];n=H[ra+808>>2];hj:{if(!n){break hj}b=!o|!P;if((n|0)<=30){if(b){break hj}h=0;while(1){l=(N(h,P)<<2)+i|0;b=0;while(1){g=l+(b<<2)|0;q=H[g>>2];c=q>>31;c=(c^q)-c|0;if(c>>>n|0){c=c>>>H[ra+808>>2]|0;H[g>>2]=(q|0)<0?0-c|0:c}b=b+1|0;if((P|0)!=(b|0)){continue}break}h=h+1|0;if((o|0)!=(h|0)){continue}break}break hj}if(b){break hj}b=N(o,P)<<2;if(!b){break hj}y(i,0,b)}if(k){q=N(o,P);if(H[ra+20>>2]==1){if(!q){break a}b=0;if((q|0)!=1){j=i+4|0;l=q&-2;e=0;while(1){g=b<<2;c=g+i|0;H[c>>2]=H[c>>2]/2;c=g+j|0;H[c>>2]=H[c>>2]/2;b=b+2|0;e=e+2|0;if((l|0)!=(e|0)){continue}break}}if(!(q&1)){break a}b=(b<<2)+i|0;H[b>>2]=H[b>>2]/2;break a}if(!q){break a}ga=O(L[ta+32>>2]*O(.5));if(q>>>0>=4){c=q&-4;b=0;while(1){L[i>>2]=ga*O(H[i>>2]);L[i+4>>2]=ga*O(H[i+4>>2]);L[i+8>>2]=ga*O(H[i+8>>2]);L[i+12>>2]=ga*O(H[i+12>>2]);i=i+16|0;b=b+4|0;if((c|0)!=(b|0)){continue}break}}c=q&3;if(!c){break a}b=0;while(1){L[i>>2]=ga*O(H[i>>2]);i=i+4|0;b=b+1|0;if((c|0)!=(b|0)){continue}break}break a}r=xa-wa|0;if(H[ra+20>>2]==1){if(!o){break a}f=(H[qa+36>>2]+(N(j,r)<<2)|0)+(m<<2)|0;d=P&-4;j=0;while(1){b=0;if(d){k=f+(N(j,r)<<2)|0;n=(N(j,P)<<2)+i|0;while(1){q=b<<2;p=q+n|0;l=H[p+4>>2];g=H[p+8>>2];c=H[p+12>>2];q=k+q|0;H[q>>2]=H[p>>2]/2;H[q+12>>2]=(c|0)/2;H[q+8>>2]=(g|0)/2;H[q+4>>2]=(l|0)/2;b=b+4|0;if(d>>>0>b>>>0){continue}break}}ij:{if(b>>>0>=P>>>0){break ij}c=b+1|0;l=f+(N(j,r)<<2)|0;g=(N(j,P)<<2)+i|0;if(P-b&1){b=b<<2;H[b+l>>2]=H[b+g>>2]/2;b=c}if((c|0)==(P|0)){break ij}while(1){c=b<<2;H[c+l>>2]=H[c+g>>2]/2;c=c+4|0;H[c+l>>2]=H[c+g>>2]/2;b=b+2|0;if((P|0)!=(b|0)){continue}break}}j=j+1|0;if((o|0)!=(j|0)){continue}break}break a}if(!o|!P){break a}ga=O(L[ta+32>>2]*O(.5));j=(H[qa+36>>2]+(N(j,r)<<2)|0)+(m<<2)|0;g=P&-4;l=P&3;f=0;c=P-1>>>0<3;while(1){b=j;e=0;if(!c){while(1){L[b>>2]=ga*O(H[i>>2]);L[b+4>>2]=ga*O(H[i+4>>2]);L[b+8>>2]=ga*O(H[i+8>>2]);L[b+12>>2]=ga*O(H[i+12>>2]);b=b+16|0;i=i+16|0;e=e+4|0;if((g|0)!=(e|0)){continue}break}}e=0;if(l){while(1){L[b>>2]=ga*O(H[i>>2]);b=b+4|0;i=i+4|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}j=(r<<2)+j|0;f=f+1|0;if((o|0)!=(f|0)){continue}break}break a}H[aa>>2]=z;Ca(R,2,8716,aa)}H[H[d>>2]>>2]=0}Da(a);oa=aa+96|0} function gb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,C=0,D=0,E=0,J=0,M=0,Q=0,R=0,S=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=O(0),ia=0,ja=0,ka=0,la=0,ma=0,na=0,pa=0,qa=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ha=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ta=0,Va=0,Ya=0,Za=0,_a=0,$a=0,bb=0,cb=0,db=0,eb=O(0),fb=O(0),gb=0,jb=0,kb=0,lb=0,nb=0,ob=0,pb=0,sb=O(0),tb=0;Za=oa-16|0;oa=Za;a:{if(!(I[a+8|0]&128)|H[a+228>>2]!=(b|0)){break a}Ya=H[a+180>>2]+N(b,5644)|0;q=H[Ya+5596>>2];if(!q){mb(Ya);break a}j=H[a+100>>2];if(!j){j=H[a+96>>2]}k=H[j>>2];g=H[j+4>>2];r=H[j+8>>2];i=H[j+12>>2];m=H[a+60>>2];l=H[a+64>>2];j=H[Ya+5600>>2];Ha=oa-16|0;oa=Ha;R=H[a+232>>2];H[R+36>>2]=b;h=H[H[R+28>>2]+76>>2];H[R+64>>2]=1;H[R+60>>2]=i;H[R+56>>2]=r;H[R+52>>2]=g;H[R+48>>2]=k;H[R+32>>2]=h+N(b,5644);Da(H[R+68>>2]);r=0;H[R+68>>2]=0;b:{if(m){r=Fa(4,H[H[R+24>>2]+16>>2]);if(!r){break b}if(m>>>0>=4){k=l+12|0;g=l+8|0;i=l+4|0;h=m&-4;b=0;while(1){o=$<<2;H[(H[o+l>>2]<<2)+r>>2]=1;H[(H[i+o>>2]<<2)+r>>2]=1;H[(H[g+o>>2]<<2)+r>>2]=1;H[(H[k+o>>2]<<2)+r>>2]=1;$=$+4|0;b=b+4|0;if((h|0)!=(b|0)){continue}break}}b=m&3;if(b){while(1){H[(H[l+($<<2)>>2]<<2)+r>>2]=1;$=$+1|0;E=E+1|0;if((b|0)!=(E|0)){continue}break}}H[R+68>>2]=r}c:{t=H[R+24>>2];ia=H[t+16>>2];d:{if(!ia){break d}$=0;e:{while(1){f:{if(H[($<<2)+r>>2]?0:r){break f}g=H[t+24>>2]+N($,52)|0;p=H[g+4>>2];o=p-1|0;i=H[R+60>>2];h=o+i|0;l=0-!p|0;b=l;k=Ke(h,h>>>0>>0?b+1|0:b,p,0);s=H[g>>2];g=s-1|0;i=H[R+56>>2];h=g+i|0;m=0-!s|0;b=m;i=Ke(h,h>>>0>>0?b+1|0:b,s,0);h=H[R+52>>2];b=h+o|0;o=Ke(b,b>>>0>>0?l+1|0:l,p,0);p=H[H[H[R+20>>2]>>2]+20>>2]+N($,76)|0;l=H[p+20>>2]-H[p+24>>2]|0;if(l>>>0>31){break f}h=H[R+48>>2];b=h+g|0;h=Ke(b,b>>>0>>0?m+1|0:m,s,0);b=h-H[p>>2]|0;g:{if((b>>>0<=h>>>0?b:0)>>>l|0){break g}b=o-H[p+4>>2]|0;if((b>>>0<=o>>>0?b:0)>>>l|0){break g}h=H[p+8>>2];b=h-i|0;if((b>>>0<=h>>>0?b:0)>>>l|0){break g}h=H[p+12>>2];b=h-k|0;if(!((b>>>0<=h>>>0?b:0)>>>l|0)){break f}}H[R+64>>2]=0;break e}$=$+1|0;if((ia|0)!=($|0)){continue}break}if(!H[R+64>>2]){break e}E=0;while(1){o=H[H[H[R+20>>2]>>2]+20>>2]+N(E,76)|0;b=H[o+28>>2]+N(H[o+24>>2],152)|0;k=H[b-148>>2];g=H[b-140>>2];r=H[b-152>>2];i=H[b-144>>2];b=H[R+68>>2];h:{if(H[b+(E<<2)>>2]?0:b){break h}h=g-k|0;b=i-r|0;Ie(h,0,b);if(!(!ra|(g|0)==(k|0))){$=0;Ca(f,1,2982,0);break b}b=N(b,h);if(b>>>0>=1073741824){$=0;Ca(f,1,2982,0);break b}h=b<<2;H[o+44>>2]=h;i:{j:{k:{b=H[o+36>>2];if(b){if(h>>>0<=K[o+48>>2]){break h}if(H[o+40>>2]){break k}}b=Ja(h);H[o+36>>2]=b;h=b;b=H[o+44>>2];if(!(b?h:1)){break j}H[o+40>>2]=1;H[o+48>>2]=b;break h}Da(b);b=Ja(H[o+44>>2]);H[o+36>>2]=b;if(b){break i}H[o+48>>2]=0;H[o+40>>2]=0;H[o+44>>2]=0}$=0;Ca(f,1,2982,0);break b}H[o+40>>2]=1;H[o+48>>2]=H[o+44>>2]}E=E+1|0;t=H[R+24>>2];if(E>>>0>2]){continue}break}break d}A=H[t+24>>2];Q=H[H[H[R+20>>2]>>2]+20>>2];b=0;while(1){l:{if(H[(b<<2)+r>>2]?0:r){break l}M=Q+N(b,76)|0;o=H[M>>2];k=A+N(b,52)|0;w=H[k>>2];m=w-1|0;g=H[R+48>>2];i=m+g|0;s=0-!w|0;h=s;h=Ke(i,g>>>0>i>>>0?h+1|0:h,w,0);W=h>>>0>>0?o:h;H[M+56>>2]=W;o=H[M+4>>2];p=H[k+4>>2];k=p-1|0;g=H[R+52>>2];i=k+g|0;l=0-!p|0;h=l;h=Ke(i,g>>>0>i>>>0?h+1|0:h,p,0);z=h>>>0>>0?o:h;H[M+60>>2]=z;g=H[M+8>>2];i=H[R+56>>2];h=i+m|0;h=Ke(h,h>>>0>>0?s+1|0:s,w,0);o=g>>>0>>0?g:h;H[M+64>>2]=o;g=H[M+12>>2];i=H[R+60>>2];h=k+i|0;h=Ke(h,h>>>0>>0?l+1|0:l,p,0);h=g>>>0>>0?g:h;H[M+68>>2]=h;if(o>>>0>>0|h>>>0>>0){break c}ca=H[M+20>>2];if(!ca){break l}X=h-1|0;C=0-!h|0;w=o-1|0;p=0-!o|0;Z=z-1|0;s=0-!z|0;z=W-1|0;m=0-!W|0;o=H[M+28>>2];k=0;i=0;while(1){fa=o+N(k,152)|0;D=ca+(k^-1)|0;g=D&31;if((D&63)>>>0>=32){l=1<>>32-g}M=h;h=X+M|0;g=l+C|0;g=h>>>0>>0?g+1|0:g;W=D&31;if((D&63)>>>0>=32){h=g>>>W|0}else{h=((1<>>W}H[fa+148>>2]=h;h=l+p|0;v=h+1|0;g=h;h=w+M|0;g=h>>>0>>0?v:g;W=D&31;if((D&63)>>>0>=32){h=g>>>W|0}else{h=((1<>>W}H[fa+144>>2]=h;h=l+s|0;v=h+1|0;g=h;h=M+Z|0;g=h>>>0>>0?v:g;W=D&31;if((D&63)>>>0>=32){h=g>>>W|0}else{h=((1<>>W}H[fa+140>>2]=h;h=l+m|0;l=h+1|0;g=h;h=z+M|0;g=h>>>0>>0?l:g;l=D&31;if((D&63)>>>0>=32){h=g>>>l|0}else{h=((1<>>l}H[fa+136>>2]=h;k=k+1|0;i=k?i:i+1|0;if(i|(k|0)!=(ca|0)){continue}break}}b=b+1|0;if((ia|0)!=(b|0)){continue}break}}$=0;H[Ha+8>>2]=0;b=H[R+28>>2];da=Fa(1,8);if(da){H[da+4>>2]=b;H[da>>2]=t}if(!da){break b}m=H[H[R+20>>2]>>2];S=oa-144|0;oa=S;Q=H[R+36>>2];b=N(Q,5644);z=H[da+4>>2];va=b+H[z+76>>2]|0;ia=H[va+420>>2];t=0;g=0;Y=oa-32|0;oa=Y;sa=b+H[z+76>>2]|0;ya=H[sa+420>>2];ja=H[da>>2];ka=H[ja+16>>2];o=Ga(N(ka,528));m:{if(!o){break m}r=Ga(ka<<2);n:{if(!r){r=o;break n}s=H[z+76>>2]+N(Q,5644)|0;p=H[s+420>>2];b=p+1|0;h=Fa(b,240);o:{if(h){p:{if(b){ba=H[ja+16>>2];b=h;while(1){H[b+236>>2]=f;i=Fa(ba,16);H[b+200>>2]=i;if(!i){break p}i=H[ja+16>>2];H[b+196>>2]=i;v=0;ba=0;if(i){while(1){l=H[b+200>>2]+(v<<4)|0;k=H[s+5584>>2]+N(v,1080)|0;i=Fa(H[k+4>>2],16);H[l+12>>2]=i;if(!i){break p}H[l+8>>2]=H[k+4>>2];v=v+1|0;ba=H[ja+16>>2];if(v>>>0>>0){continue}break}}b=b+240|0;i=(n|0)==(p|0);n=n+1|0;if(!i){continue}break}}break o}b=H[h+4>>2];if(b){Da(b);H[h+4>>2]=0}b=h;n=0;while(1){v=H[b+200>>2];if(v){ba=0;k=H[b+196>>2];if(k){while(1){i=H[v+12>>2];if(i){Da(i);H[v+12>>2]=0;k=H[b+196>>2]}v=v+16|0;ba=ba+1|0;if(ba>>>0>>0){continue}break}v=H[b+200>>2]}Da(v);H[b+200>>2]=0}b=b+240|0;i=(n|0)==(p|0);n=n+1|0;if(!i){continue}break}Da(h)}h=0}if(h){q:{if(!ka){break q}b=o;if(ka>>>0>=8){C=r+28|0;w=r+24|0;p=r+20|0;s=r+16|0;l=r+12|0;n=r+8|0;k=r+4|0;i=ka&-8;while(1){A=u<<2;H[A+r>>2]=b;H[k+A>>2]=b+528;H[n+A>>2]=b+1056;H[l+A>>2]=b+1584;H[s+A>>2]=b+2112;H[p+A>>2]=b+2640;H[w+A>>2]=b+3168;H[A+C>>2]=b+3696;u=u+8|0;b=b+4224|0;t=t+8|0;if((i|0)!=(t|0)){continue}break}}i=ka&7;if(!i){break q}while(1){H[(u<<2)+r>>2]=b;u=u+1|0;b=b+528|0;V=V+1|0;if((i|0)!=(V|0)){continue}break}}k=r;n=0;s=H[(H[z+76>>2]+N(Q,5644)|0)+5584>>2];v=H[ja+24>>2];b=H[z+24>>2];r=(Q>>>0)/(b>>>0)|0;i=H[z+4>>2]+N(H[z+12>>2],Q-N(b,r)|0)|0;b=H[ja>>2];H[Y+20>>2]=b>>>0>>0?i:b;b=i+H[z+12>>2]|0;i=b>>>0>>0?-1:b;b=H[ja+8>>2];H[Y+16>>2]=b>>>0>i>>>0?i:b;i=H[z+8>>2]+N(r,H[z+16>>2])|0;b=H[ja+4>>2];H[Y+12>>2]=b>>>0>>0?i:b;b=i+H[z+16>>2]|0;i=b>>>0>>0?-1:b;b=H[ja+12>>2];H[Y+8>>2]=b>>>0>i>>>0?i:b;H[Y+24>>2]=0;H[Y+28>>2]=0;H[Y+4>>2]=2147483647;H[Y>>2]=2147483647;if(H[ja+16>>2]){while(1){r=k?H[k+(n<<2)>>2]:0;Z=H[v+4>>2];t=Z-1|0;l=H[Y+8>>2];i=t+l|0;A=0-!Z|0;b=A;Q=Ke(i,i>>>0>>0?b+1|0:b,Z,0);z=H[v>>2];p=z-1|0;l=H[Y+16>>2];i=p+l|0;C=0-!z|0;b=C;w=Ke(i,i>>>0>>0?b+1|0:b,z,0);i=H[Y+12>>2];b=i+t|0;l=Ke(b,b>>>0>>0?A+1|0:A,Z,0);i=H[Y+20>>2];b=i+p|0;b=Ke(b,b>>>0>>0?C+1|0:C,z,0);V=H[s+4>>2];if(V>>>0>K[Y+28>>2]){H[Y+28>>2]=V;V=H[s+4>>2]}if(V){ca=s+944|0;X=s+812|0;na=Q-1|0;Z=0-!Q|0;D=w-1|0;z=0-!w|0;fa=l-1|0;A=0-!l|0;M=b-1|0;Q=0-!b|0;t=0;while(1){b=t<<2;u=H[b+ca>>2];pa=H[b+X>>2];ba=0;if(r){H[r+4>>2]=u;H[r>>2]=pa;ba=r+8|0}V=V-1|0;r=pa+V|0;r:{if(r>>>0>31){break r}b=H[v>>2];if(b>>>0>-1>>>r>>>0){break r}i=H[Y+4>>2];b=b<>2]=b>>>0>i>>>0?i:b}r=u+V|0;s:{if(r>>>0>31){break s}b=H[v+4>>2];if(b>>>0>-1>>>r>>>0){break s}i=H[Y>>2];b=b<>2]=b>>>0>i>>>0?i:b}r=0;i=V&31;if((V&63)>>>0>=32){l=1<>>32-i}_=b;b=na+_|0;i=l;l=Z+i|0;w=b>>>0>>0?l+1|0:l;W=V&31;l=u&31;if((u&63)>>>0>=32){l=1<>>32-l}C=p;if((V&63)>>>0>=32){w=w>>>W|0}else{w=((1<>>W}b=C+w|0;p=b-1|0;C=(b>>>0>>0?l+1|0:l)-!b|0;W=u&31;b=i+A|0;wa=b+1|0;l=b;b=_+fa|0;l=b>>>0>>0?wa:l;if((u&63)>>>0>=32){p=C>>>W|0}else{p=((1<>>W}C=p;p=V&31;if((V&63)>>>0>=32){b=l>>>p|0}else{b=((1<>>p}W=(b|0)!=(w|0)?C-(b>>>u|0)&-1>>>u:0;b=i+z|0;w=b+1|0;l=b;b=D+_|0;C=b>>>0>>0?w:l;u=V&31;l=pa&31;if((pa&63)>>>0>=32){l=1<>>32-l;w=p}if((V&63)>>>0>=32){p=C>>>u|0}else{p=((1<>>u}b=w+p|0;w=(b>>>0>>0?l+1|0:l)-!b|0;l=b-1|0;C=pa&31;b=i+Q|0;wa=b+1|0;i=b;b=M+_|0;i=b>>>0>>0?wa:i;if((pa&63)>>>0>=32){l=w>>>C|0}else{l=((1<>>C}w=l;l=V&31;if((V&63)>>>0>=32){b=i>>>l|0}else{b=((1<>>l}b=(b|0)!=(p|0)?w-(b>>>pa|0)&-1>>>pa:0;if(ba){H[ba+4>>2]=W;H[ba>>2]=b;r=ba+8|0}b=N(b,W);if(b>>>0>K[Y+24>>2]){H[Y+24>>2]=b}t=t+1|0;if(t>>>0>2]){continue}break}}v=v+52|0;s=s+1080|0;n=n+1|0;if(n>>>0>2]){continue}break}}l=ya+1|0;X=H[Y+28>>2];ca=H[Y+24>>2];H[h+4>>2]=0;b=H[sa+8>>2]+1|0;A=N(ca,ka);Z=N(A,X);Ie(b,0,Z);t:{if(!ra){b=N(b,Z);H[h+8>>2]=b;b=Fa(b,2);H[h+4>>2]=b;if(b){break t}}Da(o);Da(k);b=H[h+4>>2];if(b){Da(b);H[h+4>>2]=0}if(!l){r=h;break n}r=0;t=h;while(1){b=H[t+200>>2];if(b){n=0;u=H[t+196>>2];if(u){while(1){i=H[b+12>>2];if(i){Da(i);H[b+12>>2]=0;u=H[t+196>>2]}b=b+16|0;n=n+1|0;if(u>>>0>n>>>0){continue}break}b=H[t+200>>2]}Da(b);H[t+200>>2]=0}t=t+240|0;b=(r|0)==(ya|0);r=r+1|0;if(!b){continue}break}r=h;break n}g=H[ja+24>>2];Q=H[Y+20>>2];H[h+204>>2]=Q;C=H[Y+12>>2];H[h+208>>2]=C;w=H[Y+16>>2];H[h+212>>2]=w;p=H[Y+8>>2];H[h+216>>2]=p;H[h+12>>2]=Z;H[h+16>>2]=A;H[h+20>>2]=ca;v=1;H[h+24>>2]=1;if(ka){t=H[h+200>>2];s=0;r=g;while(1){b=H[k+(s<<2)>>2];H[t>>2]=H[r>>2];H[t+4>>2]=H[r+4>>2];z=H[t+8>>2];u:{if(!z){break u}n=H[t+12>>2];if((z|0)!=1){i=z&-2;u=0;while(1){H[n>>2]=H[b>>2];H[n+4>>2]=H[b+4>>2];H[n+8>>2]=H[b+8>>2];H[n+12>>2]=H[b+12>>2];H[n+16>>2]=H[b+16>>2];H[n+20>>2]=H[b+20>>2];H[n+24>>2]=H[b+24>>2];H[n+28>>2]=H[b+28>>2];n=n+32|0;b=b+32|0;u=u+2|0;if((i|0)!=(u|0)){continue}break}}if(!(z&1)){break u}H[n>>2]=H[b>>2];H[n+4>>2]=H[b+4>>2];H[n+8>>2]=H[b+8>>2];H[n+12>>2]=H[b+12>>2]}r=r+52|0;t=t+16|0;s=s+1|0;if((ka|0)!=(s|0)){continue}break}}if(l>>>0>1){i=h;while(1){H[i+456>>2]=p;H[i+452>>2]=w;H[i+448>>2]=C;H[i+444>>2]=Q;H[i+264>>2]=1;H[i+260>>2]=ca;H[i+256>>2]=A;H[i+252>>2]=Z;if(ka){t=H[i+440>>2];s=0;r=g;while(1){b=H[k+(s<<2)>>2];H[t>>2]=H[r>>2];H[t+4>>2]=H[r+4>>2];z=H[t+8>>2];v:{if(!z){break v}n=H[t+12>>2];if((z|0)!=1){l=z&-2;u=0;while(1){H[n>>2]=H[b>>2];H[n+4>>2]=H[b+4>>2];H[n+8>>2]=H[b+8>>2];H[n+12>>2]=H[b+12>>2];H[n+16>>2]=H[b+16>>2];H[n+20>>2]=H[b+20>>2];H[n+24>>2]=H[b+24>>2];H[n+28>>2]=H[b+28>>2];n=n+32|0;b=b+32|0;u=u+2|0;if((l|0)!=(u|0)){continue}break}}if(!(z&1)){break v}H[n>>2]=H[b>>2];H[n+4>>2]=H[b+4>>2];H[n+8>>2]=H[b+8>>2];H[n+12>>2]=H[b+12>>2]}r=r+52|0;t=t+16|0;s=s+1|0;if((ka|0)!=(s|0)){continue}break}}b=H[i+8>>2];H[i+244>>2]=H[i+4>>2];H[i+248>>2]=b;b=(v|0)!=(ya|0);i=i+240|0;v=v+1|0;if(b){continue}break}}Da(o);Da(k);k=H[sa+420>>2];w:{if(I[sa+5640|0]&4){if((k|0)==-1){break w}n=sa+424|0;r=H[sa+8>>2];u=0;b=h;while(1){i=H[n+36>>2];H[b+44>>2]=1;H[b+84>>2]=i;H[b+48>>2]=H[n>>2];i=H[n+4>>2];H[b+68>>2]=0;H[b+72>>2]=0;H[b+52>>2]=i;H[b+60>>2]=H[n+12>>2];H[b+64>>2]=H[n+16>>2];i=H[n+8>>2];H[b+76>>2]=ca;H[b+56>>2]=i>>>0>>0?i:r;n=n+148|0;b=b+240|0;i=(k|0)==(u|0);u=u+1|0;if(!i){continue}break}break w}if((k|0)==-1){break w}g=H[sa+8>>2];r=H[sa+4>>2];b=h;if(k){i=k+1&-2;V=0;while(1){H[b+68>>2]=0;H[b+72>>2]=0;H[b+52>>2]=0;H[b+44>>2]=1;H[b+48>>2]=0;H[b+84>>2]=r;H[b+60>>2]=X;H[b+324>>2]=r;H[b+76>>2]=ca;H[b+56>>2]=g;H[b+308>>2]=0;H[b+312>>2]=0;H[b+292>>2]=0;H[b+284>>2]=1;H[b+288>>2]=0;H[b+300>>2]=X;H[b+296>>2]=g;H[b+316>>2]=ca;H[b+64>>2]=H[b+196>>2];H[b+304>>2]=H[b+436>>2];b=b+480|0;V=V+2|0;if((i|0)!=(V|0)){continue}break}}if(k&1){break w}H[b+68>>2]=0;H[b+72>>2]=0;H[b+52>>2]=0;H[b+44>>2]=1;H[b+48>>2]=0;H[b+84>>2]=r;H[b+60>>2]=X;H[b+76>>2]=ca;H[b+56>>2]=g;H[b+64>>2]=H[b+196>>2]}g=h;break m}Da(o)}Da(r)}oa=Y+32|0;h=g;x:{y:{if(!g){break y}A=ia+1|0;p=q;k=g;z:{A:{while(1){if(H[k+84>>2]==-1){break z}z=Ga(H[ja+16>>2]<<2);if(!z){break z}b=H[ja+16>>2]<<2;if(b){y(z,1,b)}if(fc(k)){while(1){E=H[m+20>>2];B:{C:{if(K[k+40>>2]>=K[va+12>>2]){break C}i=H[k+32>>2];b=N(H[k+28>>2],76)+E|0;if(i>>>0>=K[b+24>>2]){break C}r=H[b+28>>2]+N(i,152)|0;if(!H[r+24>>2]){break C}i=r+28|0;D=0;D:{while(1){b=i+N(D,36)|0;g=H[b+20>>2]+N(H[k+36>>2],40)|0;if(!Cb(R,H[k+28>>2],H[k+32>>2],H[b+16>>2],H[g>>2],H[g+4>>2],H[g+8>>2],H[g+12>>2])){D=D+1|0;if(D>>>0>2]){continue}break D}break}H[z+(H[k+28>>2]<<2)>>2]=0;H[S+136>>2]=0;if(!ec(H[da+4>>2],H[m+20>>2],va,k,S+140|0,p,S+136|0,j,f)){break A}D=H[k+32>>2];o=H[k+28>>2];u=H[S+136>>2];if(H[S+140>>2]){H[S+136>>2]=0;C=H[(H[m+20>>2]+N(o,76)|0)+28>>2]+N(D,152)|0;E=H[C+24>>2];if(E){Q=j-u|0;w=j+p|0;o=C+28|0;X=0;g=0;l=p+u|0;v=l;while(1){E:{if(H[o+8>>2]==H[o>>2]|H[o+12>>2]==H[o+4>>2]){break E}b=H[o+20>>2]+N(H[k+36>>2],40)|0;r=N(H[b+20>>2],H[b+16>>2]);if(!r){break E}E=H[b+24>>2];V=0;while(1){t=H[E+36>>2];if(t){F:{if(g|H[E+64>>2]){H[E+52>>2]=0;D=1;b=64;break F}D=H[E>>2];b=H[E+40>>2];G:{if(b){D=N(b,24)+D|0;if(H[D-20>>2]!=H[D-12>>2]){D=D-24|0;break G}b=b+1|0}else{b=1}H[E+40>>2]=b}n=H[D+20>>2];H:{I:{if(n>>>0>(v^-1)>>>0){break I}i=D+20|0;while(1){if(w>>>0>>0){break I}s=H[E+4>>2];g=H[E+52>>2];if((g|0)!=H[E+56>>2]){b=t}else{b=g<<1|1;s=Ia(s,b<<3);if(!s){Ca(f,1,1024,0);break A}H[E+56>>2]=b;H[E+4>>2]=s;g=H[E+52>>2];n=H[i>>2];b=H[E+36>>2]}i=(g<<3)+s|0;H[i+4>>2]=n;H[i>>2]=v;H[E+52>>2]=g+1;H[D>>2]=H[D>>2]+n;g=H[D+16>>2];i=g+H[D+4>>2]|0;H[D+4>>2]=i;t=b-g|0;H[E+36>>2]=t;H[D+8>>2]=i;v=n+v|0;i=0;if((b|0)==(g|0)){break H}H[E+40>>2]=H[E+40>>2]+1;i=D+44|0;n=H[D+44>>2];D=D+24|0;if((v^-1)>>>0>=n>>>0){continue}break}}g=H[k+28>>2];i=H[k+32>>2];b=H[k+36>>2];if(H[H[da+4>>2]+104>>2]){H[S+120>>2]=g;H[S+116>>2]=i;H[S+112>>2]=X;H[S+108>>2]=b;H[S+104>>2]=V;H[S+100>>2]=Q;H[S+96>>2]=n;Ca(f,1,14693,S+96|0);break A}H[S+88>>2]=g;H[S+84>>2]=i;H[S+80>>2]=X;H[S+76>>2]=b;H[S+72>>2]=V;H[S+68>>2]=Q;H[S+64>>2]=n;Ca(f,2,14693,S- -64|0);H[E+52>>2]=0;H[E+64>>2]=1;i=1}g=i;D=H[E+40>>2];b=44}H[b+E>>2]=D}E=E+68|0;V=V+1|0;if((r|0)!=(V|0)){continue}break}E=H[C+24>>2]}o=o+36|0;X=X+1|0;if(E>>>0>X>>>0){continue}break}D=H[k+32>>2];o=H[k+28>>2];b=g?Q:v-l|0}else{b=0}u=b+u|0}b=H[ja+24>>2]+N(o,52)|0;i=H[b+36>>2];H[b+36>>2]=i>>>0>>0?D:i;break B}E=H[m+20>>2]}H[S+136>>2]=0;if(!ec(H[da+4>>2],E,va,k,S+140|0,p,S+136|0,j,f)){break A}o=H[k+28>>2];u=H[S+136>>2];if(!H[S+140>>2]){break B}w=H[k+32>>2];b=H[(H[m+20>>2]+N(o,76)|0)+28>>2]+N(w,152)|0;r=H[b+24>>2];if(!r){break B}Q=j-u|0;s=b+28|0;C=H[k+36>>2];D=0;g=0;J:{K:{while(1){L:{if(H[s+8>>2]==H[s>>2]|H[s+12>>2]==H[s+4>>2]){break L}b=H[s+20>>2]+N(C,40)|0;i=N(H[b+20>>2],H[b+16>>2]);if(!i){break L}t=H[b+24>>2];X=0;while(1){n=H[t+36>>2];if(n){E=H[t>>2];V=H[t+40>>2];M:{if(V){E=N(V,24)+E|0;if(H[E-20>>2]!=H[E-12>>2]){E=E-24|0;break M}V=V+1|0}else{V=1}H[t+40>>2]=V}v=H[E+20>>2];D=D+v|0;if(Q>>>0>>0|v>>>0>D>>>0){break J}while(1){N:{l=H[E+16>>2];H[E+4>>2]=l+H[E+4>>2];b=n-l|0;if((l|0)==(n|0)){break N}V=V+1|0;H[t+40>>2]=V;v=H[E+44>>2];D=D+v|0;if(v>>>0>D>>>0){break K}E=E+24|0;n=b;if(D>>>0<=Q>>>0){continue}break K}break}H[t+36>>2]=b}t=t+68|0;X=X+1|0;if((i|0)!=(X|0)){continue}break}}s=s+36|0;g=g+1|0;if((r|0)!=(g|0)){continue}break}u=u+D|0;break B}H[t+36>>2]=b}if(!H[H[da+4>>2]+104>>2]){H[S+24>>2]=o;H[S+20>>2]=w;H[S+16>>2]=g;H[S+12>>2]=C;H[S+8>>2]=X;H[S+4>>2]=Q;H[S>>2]=v;Ca(f,2,14608,S);o=H[k+28>>2];u=u+Q|0;break B}H[S+56>>2]=o;H[S+52>>2]=w;H[S+48>>2]=g;H[S+44>>2]=C;H[S+40>>2]=X;H[S+36>>2]=Q;H[S+32>>2]=v;Ca(f,1,14608,S+32|0);break A}O:{if(!H[z+(o<<2)>>2]){break O}b=H[ja+24>>2]+N(o,52)|0;if(H[b+36>>2]){break O}H[b+36>>2]=H[(H[m+20>>2]+N(o,76)|0)+24>>2]-1}j=j-u|0;p=p+u|0;if(fc(k)){continue}break}}Da(z);k=k+240|0;ma=ma+1|0;if(ma>>>0<=K[va+420>>2]){continue}break}Db(h,A);H[Ha+8>>2]=p-q;b=1;break x}Db(h,A);Da(z);break y}Db(h,A)}b=0}oa=S+144|0;hb(da);if(!b){break b}$=H[H[R+32>>2]+5584>>2];s=H[H[R+20>>2]>>2];p=H[s+20>>2];H[Ha+12>>2]=1;E=0;b=H[R+32>>2];m=H[$+16>>2]>>>4&1&H[b+12>>2]==H[b+8>>2];t=H[s+16>>2];P:{if(!t){break P}while(1){b=H[R+68>>2];if(!(H[b+(E<<2)>>2]?0:b)){r=Ha+12|0;ma=0;qa=H[p+24>>2];Q:{if(!qa){break Q}l=H[R+44>>2];while(1){q=H[p+28>>2]+N(ma,152)|0;n=H[q+24>>2];if(n){j=q+28|0;qa=H[q+20>>2];g=H[q+16>>2];i=0;while(1){if(N(g,qa)){t=j+N(i,36)|0;k=0;while(1){w=H[t+20>>2]+N(k,40)|0;b=Cb(R,H[p+16>>2],ma,H[t+16>>2],H[w>>2],H[w+4>>2],H[w+8>>2],H[w+12>>2]);n=H[w+20>>2];o=H[w+16>>2];h=N(n,o);R:{if(b){if(!h){break R}o=0;while(1){h=H[w+24>>2]+N(o,68)|0;S:{if(!Cb(R,H[p+16>>2],ma,H[t+16>>2],H[h+8>>2],H[h+12>>2],H[h+16>>2],H[h+20>>2])){b=H[h+60>>2];if(!b){break S}Da(b);H[h+60>>2]=0;break S}if(!H[R+64>>2]){if(H[h+60>>2]|H[h+16>>2]==H[h+8>>2]|H[h+20>>2]==H[h+12>>2]){break S}}g=Fa(1,44);if(!g){H[Ha+12>>2]=0;break Q}b=H[R+64>>2];H[g+36>>2]=0;H[g+28>>2]=r;H[g+20>>2]=$;H[g+16>>2]=p;H[g+12>>2]=t;H[g+8>>2]=h;H[g+4>>2]=ma;H[g>>2]=b;H[g+40>>2]=m;H[g+32>>2]=f;H[g+24>>2]=H[l+4>>2]>1;ib(l,14,g);if(!H[Ha+12>>2]){break Q}}o=o+1|0;if(o>>>0>2],H[w+16>>2])>>>0){continue}break}break R}if(!h){break R}g=0;while(1){h=H[w+24>>2]+N(g,68)|0;b=H[h+60>>2];if(b){Da(b);H[h+60>>2]=0;n=H[w+20>>2];o=H[w+16>>2]}g=g+1|0;if(g>>>0>>0){continue}break}}k=k+1|0;g=H[q+16>>2];qa=H[q+20>>2];if(k>>>0>>0){continue}break}n=H[q+24>>2]}i=i+1|0;if(n>>>0>i>>>0){continue}break}qa=H[p+24>>2]}ma=ma+1|0;if(qa>>>0>ma>>>0){continue}break}}if(!H[Ha+12>>2]){break P}t=H[s+16>>2]}$=$+1080|0;p=p+76|0;E=E+1|0;if(E>>>0>>0){continue}break}}$=0;Ua(H[R+44>>2]);if(!H[Ha+12>>2]){break b}T:{if(H[R+64>>2]){break T}E=H[R+24>>2];if(!H[E+16>>2]){break T}p=0;while(1){g=H[H[H[R+20>>2]>>2]+20>>2]+N(p,76)|0;b=H[g+28>>2]+N(H[(H[E+24>>2]+N(p,52)|0)+36>>2],152)|0;r=H[b+136>>2];i=H[b+144>>2];j=H[b+140>>2];h=H[b+148>>2];Da(H[g+52>>2]);H[g+52>>2]=0;U:{b=H[R+68>>2];if((i|0)==(r|0)|(h|0)==(j|0)|(H[b+(p<<2)>>2]?0:b)){break U}h=h-j|0;b=i-r|0;Ie(h,0,b);if(ra){Ca(f,1,2982,0);break b}b=N(b,h);if(b>>>0>=1073741824){Ca(f,1,2982,0);break b}b=Ja(b<<2);H[g+52>>2]=b;if(b){break U}Ca(f,1,2982,0);break b}p=p+1|0;E=H[R+24>>2];if(p>>>0>2]){continue}break}}E=H[R+32>>2];qa=H[H[R+20>>2]>>2];if(H[qa+16>>2]){p=H[qa+20>>2];E=H[E+5584>>2];t=H[H[R+24>>2]+24>>2];r=0;while(1){V:{b=H[R+68>>2];if(H[b+(r<<2)>>2]?0:b){break V}m=H[t+36>>2]+1|0;if(H[E+20>>2]==1){fa=m;j=0;ta=oa-32|0;oa=ta;W:{X:{if(H[R+64>>2]){b=1;if((m|0)==1){break W}i=H[p+28>>2];h=i+N(H[p+24>>2],152)|0;s=H[h-144>>2];l=H[h-152>>2];if((s|0)==(l|0)){break W}g=m-1|0;n=g&1;z=H[R+44>>2];Q=H[z+4>>2];Y:{if((m|0)==2){h=i;break Y}o=g&-2;h=i;b=0;while(1){k=H[h+160>>2]-H[h+152>>2]|0;k=j>>>0>k>>>0?j:k;j=H[h+164>>2]-H[h+156>>2]|0;k=j>>>0>>0?k:j;j=H[h+312>>2]-H[h+304>>2]|0;k=j>>>0>>0?k:j;j=H[h+316>>2]-H[h+308>>2]|0;j=j>>>0>>0?k:j;h=h+304|0;b=b+2|0;if((o|0)!=(b|0)){continue}break}}b=0;if(n){k=H[h+160>>2]-H[h+152>>2]|0;j=j>>>0>k>>>0?j:k;h=H[h+164>>2]-H[h+156>>2]|0;j=h>>>0>>0?j:h}if(j>>>0>134217727){break W}n=H[i+4>>2];o=H[i+12>>2];k=H[i>>2];h=H[i+8>>2];q=j<<5;A=rb(q);H[ta+16>>2]=A;if(!A){break W}C=s-l|0;b=o-n|0;k=h-k|0;H[ta>>2]=A;while(1){w=H[p+36>>2];o=b;H[ta+8>>2]=b;b=k;H[ta+24>>2]=b;l=H[i+156>>2];n=H[i+164>>2];j=H[i+160>>2];h=H[i+152>>2];H[ta+28>>2]=(h|0)%2;k=j-h|0;H[ta+20>>2]=k-b;m=(Q|0)<2;b=n-l|0;Z:{if(!(!m&b>>>0>1)){h=0;if(!b){break Z}while(1){lc(ta+16|0,w+(N(h,C)<<2)|0);h=h+1|0;if((h|0)!=(b|0)){continue}break}break Z}s=b>>>0>>0?b:Q;n=s-1|0;l=(b>>>0)/(s>>>0)|0;j=0;while(1){Z=Ga(36);if(!Z){break X}h=H[ta+20>>2];H[Z>>2]=H[ta+16>>2];H[Z+4>>2]=h;h=H[ta+28>>2];H[Z+8>>2]=H[ta+24>>2];H[Z+12>>2]=h;H[Z+28>>2]=N(j,l);H[Z+24>>2]=w;H[Z+20>>2]=C;H[Z+16>>2]=k;h=(j|0)==(n|0);j=j+1|0;H[Z+32>>2]=h?b:N(l,j);h=rb(q);H[Z>>2]=h;if(!h){b=0;Ua(z);Da(Z);Da(A);break W}ib(z,10,Z);if((j|0)!=(s|0)){continue}break}Ua(z)}H[ta+4>>2]=b-o;H[ta+12>>2]=H[i+156>>2]%2;_:{if(!(!m&k>>>0>1)){j=8;h=0;if(k>>>0>=8){while(1){qb(ta,w+(h<<2)|0,C,8);h=j;j=h+8|0;if(k>>>0>=j>>>0){continue}break}}if(h>>>0>=k>>>0){break _}qb(ta,w+(h<<2)|0,C,k-h|0);break _}m=k>>>0>>0?k:Q;o=m-1|0;n=(k>>>0)/(m>>>0)|0;j=0;while(1){l=Ga(36);if(!l){break X}h=H[ta+4>>2];H[l>>2]=H[ta>>2];H[l+4>>2]=h;h=H[ta+12>>2];H[l+8>>2]=H[ta+8>>2];H[l+12>>2]=h;H[l+28>>2]=N(j,n);H[l+24>>2]=w;H[l+20>>2]=C;H[l+16>>2]=b;h=(j|0)==(o|0);j=j+1|0;H[l+32>>2]=h?k:N(n,j);h=rb(q);H[l>>2]=h;if(!h){b=0;Ua(z);Da(l);Da(A);break W}ib(z,11,l);if((j|0)!=(m|0)){continue}break}Ua(z)}i=i+152|0;g=g-1|0;if(g){continue}break}b=1;Da(A);break W}b=1;o=H[p+28>>2];Ta=o+N(fa,152)|0;jb=Ta-152|0;if(H[jb>>2]==H[Ta-144>>2]){break W}aa=Ta-148|0;if(H[aa>>2]==H[Ta-140>>2]){break W}s=H[o+4>>2];l=H[o+12>>2];m=H[o>>2];n=H[o+8>>2];M=H[p+68>>2];W=H[p+64>>2];ia=H[p+60>>2];ca=H[p+56>>2];Na=kc(p,fa);if(!Na){b=0;break W}$:{aa:{if((fa|0)!=1){b=fa-1|0;k=b&1;ba:{if((fa|0)==2){h=o;break ba}g=b&-2;h=o;b=0;while(1){i=H[h+160>>2]-H[h+152>>2]|0;i=i>>>0>>0?j:i;j=H[h+164>>2]-H[h+156>>2]|0;i=i>>>0>j>>>0?i:j;j=H[h+312>>2]-H[h+304>>2]|0;i=i>>>0>j>>>0?i:j;j=H[h+316>>2]-H[h+308>>2]|0;j=i>>>0>j>>>0?i:j;h=h+304|0;b=b+2|0;if((g|0)!=(b|0)){continue}break}}if(k){b=H[h+160>>2]-H[h+152>>2]|0;j=b>>>0>>0?j:b;b=H[h+164>>2]-H[h+156>>2]|0;j=b>>>0>>0?j:b}if(j>>>0>=268435456){break $}J=rb(j<<4);if(!J){break $}ca:{if(!fa){break ca}u=l-s|0;ba=n-m|0;_a=J-4|0;kb=J+28|0;Q=J+24|0;Va=J+16|0;bb=J-16|0;lb=J-32|0;nb=J-8|0;wa=J+4|0;$a=1;da:while(1){h=H[o+156>>2];cb=(h|0)%2|0;b=H[o+152>>2];ga=(b|0)%2|0;X=H[o+164>>2]-h|0;Ba=X-u|0;Z=H[o+160>>2]-b|0;Aa=Z-ba|0;_=ca;b=ca;i=ia;ma=i;j=W;g=j;h=M;v=h;k=H[p+20>>2];ea:{if((k|0)==($a|0)){break ea}q=k-$a|0;ma=0;b=0;if(ca){h=q&31;if((q&63)>>>0>=32){l=-1<>>32-h}b=ca+(b^-1)|0;h=l^-1;h=b>>>0>>0?h+1|0:h;j=q&31;if((q&63)>>>0>=32){b=h>>>j|0}else{b=((1<>>j}}if(ia){j=q&31;if((q&63)>>>0>=32){l=-1<>>32-j}h=ia+(h^-1)|0;j=l^-1;j=h>>>0>>0?j+1|0:j;i=q&31;if((q&63)>>>0>=32){ma=j>>>i|0}else{ma=((1<>>i}}h=0;j=0;if(W){i=q&31;if((q&63)>>>0>=32){l=-1<>>32-i}j=W+(j^-1)|0;i=l^-1;i=j>>>0>>0?i+1|0:i;g=q&31;if((q&63)>>>0>=32){j=i>>>g|0}else{j=((1<>>g}}if(M){i=q&31;if((q&63)>>>0>=32){l=-1<>>32-i}h=M+(h^-1)|0;i=l^-1;i=h>>>0>>0?i+1|0:i;g=q&31;if((q&63)>>>0>=32){h=i>>>g|0}else{h=((1<>>g}}g=0;_=0;s=1<>>0>>0){k=q&31;if((q&63)>>>0>=32){l=-1<>>32-k}n=i^-1;i=n+(ca-s|0)|0;k=l^-1;k=i>>>0>>0?k+1|0:k;n=q&31;if((q&63)>>>0>=32){_=k>>>n|0}else{_=((1<>>n}}if(s>>>0>>0){g=q&31;if((q&63)>>>0>=32){l=-1<>>32-g}k=i^-1;i=k+(W-s|0)|0;g=l^-1;g=i>>>0>>0?g+1|0:g;k=q&31;if((q&63)>>>0>=32){g=g>>>k|0}else{g=((1<>>k}}v=0;i=0;if(s>>>0>>0){k=q&31;if((q&63)>>>0>=32){l=-1<>>32-k}n=i^-1;i=n+(ia-s|0)|0;k=l^-1;k=i>>>0>>0?k+1|0:k;n=q&31;if((q&63)>>>0>=32){i=k>>>n|0}else{i=((1<>>n}}if(s>>>0>=M>>>0){break ea}n=q&31;if((q&63)>>>0>=32){l=-1<>>32-n}m=k^-1;k=m+(M-s|0)|0;n=l^-1;n=k>>>0>>0?n+1|0:n;m=q&31;if((q&63)>>>0>=32){v=n>>>m|0}else{v=((1<>>m}}n=H[o+180>>2];k=g-n|0;k=g>>>0>=k>>>0?k:0;g=k+2|0;g=g>>>0>>0?-1:g;Oa=g>>>0>>0?g:Aa;k=H[o+216>>2];g=j-k|0;g=g>>>0<=j>>>0?g:0;j=g+2|0;j=g>>>0>j>>>0?-1:j;Pa=j>>>0>>0?j:ba;g=(ga?Oa:Pa)<<1;j=(ga?Pa:Oa)<<1|1;ua=g>>>0>j>>>0?g:j;D=ua>>>0>>0;j=_-n|0;g=j>>>0<=_>>>0?j:0;j=g-2|0;m=g>>>0>=j>>>0?j:0;j=b-k|0;j=b>>>0>=j>>>0?j:0;b=j-2|0;l=b>>>0<=j>>>0?b:0;z=(ga?m:l)<<1;A=(ga?l:m)<<1|1;q=z>>>0>>0;s=H[o+184>>2];b=ma-s|0;j=b>>>0<=ma>>>0?b:0;b=j-2|0;n=b>>>0<=j>>>0?b:0;C=n;g=H[o+220>>2];b=i-g|0;j=b>>>0<=i>>>0?b:0;b=j-2|0;k=b>>>0<=j>>>0?b:0;w=k;b=h-s|0;h=b>>>0<=h>>>0?b:0;b=h+2|0;b=b>>>0>>0?-1:b;Qa=b>>>0>>0?b:u;s=Qa;b=v-g|0;h=b>>>0<=v>>>0?b:0;b=h+2|0;b=b>>>0>>0?-1:b;na=b>>>0>>0?b:Ba;ma=na;if(cb){w=n;C=k;ma=s;s=na}db=D?ua:Z;D=q?z:A;ob=u+na|0;pb=k+u|0;if(X){i=l<<3;j=Aa<<3;la=j+_a|0;h=(l|0)<(Aa|0);x=h?i+wa|0:la;z=(ba|0)>(Oa|0)?Oa:ba-1|0;v=0;ea=(ba|0)>1|(Aa|0)>0;b=ga<<2;S=(wa-b|0)+(m<<3)|0;xa=i+J|0;Y=xa+b|0;A=(Aa|0)>(Pa|0)?Pa:Aa;q=l+1|0;da=ba+Oa|0;ka=m+ba|0;pa=J+(D<<2)|0;b=ba<<3;za=b+nb|0;La=b+_a|0;Ma=j+nb|0;sa=!ba&(Aa|0)==1;b=db<<2;va=b+J|0;ja=b+_a|0;ya=((h?l:Aa)<<3)+_a|0;while(1){fa:{if(!(v>>>0>>0&n>>>0<=v>>>0|v>>>0>>0&v>>>0>=pb>>>0)){V=v+1|0;break fa}if(Z>>>0>ua>>>0){H[ja>>2]=0;H[va>>2]=0}V=v+1|0;Ra(Na,l,v,Pa,V,Y,2,0);Ra(Na,ka,v,da,V,S,2,0);ga:{ha:{ia:{if(!ga){if(!ea){break ga}if((l|0)>=(Pa|0)){break ha}ja:{ka:{if((l|0)>0){j=H[ya>>2];break ka}j=H[wa>>2];b=j;if((l|0)<0){break ja}}b=j;j=H[x>>2]}H[xa>>2]=H[xa>>2]-((b+j|0)+2>>2);h=l;j=q;b=j;if((A|0)<=(b|0)){break ia}while(1){j=J+(b<<3)|0;H[j>>2]=H[j>>2]-((H[wa+(h<<3)>>2]+H[j+4>>2]|0)+2>>2);h=b;b=b+1|0;if((A|0)!=(b|0)){continue}break}j=A;break ia}la:{if(!sa){j=l;if((Pa|0)<=(j|0)){break la}while(1){i=J+(j<<3)|0;h=H[i+4>>2];ma:{na:{if((j|0)>=0){b=j+1|0;g=H[((j|0)<(Aa|0)?i:Ma)>>2];break na}g=H[J>>2];b=0;j=j+1|0;_=J;if(j){break ma}}if((b|0)>=(Aa|0)){j=b;_=Ma;break ma}j=b;_=J+(b<<3)|0}b=_;H[i+4>>2]=h-((H[b>>2]+g|0)+2>>2);if((j|0)<(Pa|0)){continue}break}break la}H[J>>2]=H[J>>2]/2;break ga}j=m;if((Oa|0)<=(j|0)){break ga}while(1){b=j<<3;g=b+J|0;h=H[g>>2];oa:{if((j|0)<0){i=H[wa>>2];_=wa;break oa}i=H[((j|0)<(ba|0)?g+4|0:La)>>2];_=wa;if(!j){break oa}_=(j|0)>(ba|0)?La:b+_a|0}b=_;H[g>>2]=h+(H[b>>2]+i>>1);j=j+1|0;if((Oa|0)!=(j|0)){continue}break}break ga}if((j|0)>=(Pa|0)){break ha}while(1){b=J+(j<<3)|0;g=b;i=H[b>>2];pa:{qa:{if((j|0)>0){h=H[(((j|0)<(Aa|0)?j:Aa)<<3)+_a>>2];break qa}h=H[wa>>2];b=wa;if((j|0)<0){break pa}}b=la;if((j|0)>=(Aa|0)){break pa}b=wa+(j<<3)|0}H[g>>2]=i-((H[b>>2]+h|0)+2>>2);j=j+1|0;if((Pa|0)!=(j|0)){continue}break}}if((m|0)>=(Oa|0)){break ga}b=m;j=b;if((b|0)<(z|0)){while(1){b=J+(j<<3)|0;j=j+1|0;H[b+4>>2]=H[b+4>>2]+(H[J+(j<<3)>>2]+H[b>>2]>>1);if((j|0)!=(z|0)){continue}break}b=z}if((b|0)>=(Oa|0)){break ga}while(1){j=b;ra:{sa:{if((b|0)>=0){_=H[((b|0)<(ba|0)?J+(b<<3)|0:za)>>2];h=b+1|0;break sa}_=H[J>>2];h=0;b=j+1|0;i=J;if(b){break ra}}if((h|0)>=(ba|0)){b=h;i=za;break ra}b=h;i=J+(b<<3)|0}h=wa+(j<<3)|0;H[h>>2]=H[h>>2]+(H[i>>2]+_>>1);if((b|0)<(Oa|0)){continue}break}}if(!ab(Na,D,v,db,V,pa,1,0)){break aa}}v=V;if((X|0)!=(v|0)){continue}break}}o=o+152|0;h=s<<1;b=ma<<1|1;b=b>>>0>>0?h:b;ka=b>>>0>>0?b:X;ua=J+(n<<5)|0;j=Ba<<5;La=j+bb|0;b=(n|0)<(Ba|0);pa=b?ua+28|0:La+12|0;sa=b?ua+24|0:La+8|0;va=b?ua+20|0:La+4|0;ja=(n|0)<0?Va:b?ua+16|0:La;q=(u|0)>(na|0)?na:u-1|0;ea=((b?n:Ba)<<5)+bb|0;ya=(n|0)<=0;v=ya?Va:ea;V=(Ba|0)>0;ba=V|(u|0)>1;_=ua+(cb<<4)|0;ma=(J+(4-(cb<<2)<<2)|0)+(k<<5)|0;s=(Ba|0)>(Qa|0)?Qa:Ba;m=n+1|0;h=C<<1;b=w<<1|1;z=b>>>0>h>>>0?h:b;A=J+(z<<4)|0;b=u<<5;xa=b+lb|0;za=j+lb|0;C=!u&(Ba|0)==1;Ma=b+bb|0;S=Ma+12|0;Y=Ma+8|0;da=Ma+4|0;w=ea+12|0;i=ea+8|0;while(1){ta:{ua:{va:{wa:{l=D;if(db>>>0>l>>>0){b=db-l|0;D=(b>>>0>=4?4:b)+l|0;Ra(Na,l,n,D,Qa,_,1,8);Ra(Na,l,pb,D,ob,ma,1,8);if(!cb){if(!ba){break ta}if((n|0)>=(Qa|0)){break ua}H[ua>>2]=H[ua>>2]-((H[v>>2]+H[ja>>2]|0)+2>>2);xa:{if(!ya){j=H[ea+4>>2];h=i;b=w;break xa}j=H[J+20>>2];if((n|0)<0){break wa}h=Q;b=kb}H[ua+4>>2]=H[ua+4>>2]-((H[va>>2]+j|0)+2>>2);H[ua+8>>2]=H[ua+8>>2]-((H[h>>2]+H[sa>>2]|0)+2>>2);j=H[pa>>2];b=H[b>>2];break va}if(C){H[J>>2]=H[J>>2]/2;H[J+8>>2]=H[J+8>>2]/2;H[J+12>>2]=H[J+12>>2]/2;H[J+4>>2]=H[J+4>>2]/2;break ta}b=n;if((Qa|0)>(b|0)){while(1){g=J+(b<<5)|0;ya:{if((b|0)<0){h=H[J>>2];j=V|(b|0)!=-1;H[g+16>>2]=H[g+16>>2]-(((j?h:H[za>>2])+h|0)+2>>2);h=H[wa>>2];H[g+20>>2]=H[g+20>>2]-(((j?h:H[za+4>>2])+h|0)+2>>2);h=H[J+8>>2];H[g+24>>2]=H[g+24>>2]-(((j?h:H[za+8>>2])+h|0)+2>>2);h=H[J+12>>2];H[g+28>>2]=H[g+28>>2]-(((j?h:H[za+12>>2])+h|0)+2>>2);b=b+1|0;break ya}j=b+1|0;za:{if((j|0)<(Ba|0)){b=J+(j<<5)|0;H[g+16>>2]=H[g+16>>2]-((H[g>>2]+H[b>>2]|0)+2>>2);H[g+20>>2]=H[g+20>>2]-((H[g+4>>2]+H[b+4>>2]|0)+2>>2);H[g+24>>2]=H[g+24>>2]-((H[g+8>>2]+H[b+8>>2]|0)+2>>2);H[g+28>>2]=H[g+28>>2]-((H[g+12>>2]+H[b+12>>2]|0)+2>>2);break za}h=H[g+16>>2];if((b|0)<(Ba|0)){H[g+16>>2]=h-((H[g>>2]+H[za>>2]|0)+2>>2);H[g+20>>2]=H[g+20>>2]-((H[g+4>>2]+H[za+4>>2]|0)+2>>2);H[g+24>>2]=H[g+24>>2]-((H[g+8>>2]+H[za+8>>2]|0)+2>>2);H[g+28>>2]=H[g+28>>2]-((H[g+12>>2]+H[za+12>>2]|0)+2>>2);break za}H[g+16>>2]=h-((H[za>>2]<<1)+2>>2);H[g+20>>2]=H[g+20>>2]-((H[za+4>>2]<<1)+2>>2);H[g+24>>2]=H[g+24>>2]-((H[za+8>>2]<<1)+2>>2);H[g+28>>2]=H[g+28>>2]-((H[za+12>>2]<<1)+2>>2)}b=j}if((Qa|0)!=(b|0)){continue}break}}b=k;if((na|0)<=(b|0)){break ta}while(1){g=J+(b<<5)|0;Aa:{if((b|0)<0){H[g>>2]=H[g>>2]+(H[Va>>2]<<1>>1);H[g+4>>2]=H[g+4>>2]+(H[J+20>>2]<<1>>1);H[g+8>>2]=H[g+8>>2]+(H[J+24>>2]<<1>>1);H[g+12>>2]=H[g+12>>2]+(H[J+28>>2]<<1>>1);break Aa}j=H[g>>2];if(!b){h=(b|0)<(u|0);H[g>>2]=j+(H[Va>>2]+H[(h?g+16|0:Ma)>>2]>>1);H[g+4>>2]=H[g+4>>2]+(H[J+20>>2]+H[(h?g+20|0:da)>>2]>>1);H[g+8>>2]=H[g+8>>2]+(H[J+24>>2]+H[(h?g+24|0:Y)>>2]>>1);H[g+12>>2]=H[g+12>>2]+(H[J+28>>2]+H[(h?g+28|0:S)>>2]>>1);break Aa}if((b|0)<=(u|0)){h=(b|0)<(u|0);H[g>>2]=j+(H[g-16>>2]+H[(h?g+16|0:Ma)>>2]>>1);H[g+4>>2]=H[g+4>>2]+(H[g-12>>2]+H[(h?g+20|0:da)>>2]>>1);H[g+8>>2]=H[g+8>>2]+(H[g-8>>2]+H[(h?g+24|0:Y)>>2]>>1);H[g+12>>2]=H[g+12>>2]+(H[g-4>>2]+H[(h?g+28|0:S)>>2]>>1);break Aa}H[g>>2]=j+(H[Ma>>2]<<1>>1);H[g+4>>2]=H[g+4>>2]+(H[Ma+4>>2]<<1>>1);H[g+8>>2]=H[g+8>>2]+(H[Ma+8>>2]<<1>>1);H[g+12>>2]=H[g+12>>2]+(H[Ma+12>>2]<<1>>1)}b=b+1|0;if((na|0)!=(b|0)){continue}break}break ta}ba=Z;u=X;$a=$a+1|0;if((fa|0)!=($a|0)){continue da}break ca}H[ua+4>>2]=H[ua+4>>2]-((j<<1)+2>>2);H[ua+8>>2]=H[ua+8>>2]-((H[Q>>2]<<1)+2>>2);j=H[kb>>2];b=j}H[ua+12>>2]=H[ua+12>>2]-((b+j|0)+2>>2);g=n;j=m;b=j;if((s|0)>(b|0)){while(1){h=J+(j<<5)|0;b=Va+(g<<5)|0;H[h>>2]=H[h>>2]-((H[b>>2]+H[h+16>>2]|0)+2>>2);H[h+4>>2]=H[h+4>>2]-((H[b+4>>2]+H[h+20>>2]|0)+2>>2);H[h+8>>2]=H[h+8>>2]-((H[b+8>>2]+H[h+24>>2]|0)+2>>2);H[h+12>>2]=H[h+12>>2]-((H[b+12>>2]+H[h+28>>2]|0)+2>>2);g=j;j=g+1|0;if((s|0)!=(j|0)){continue}break}b=s}if((b|0)>=(Qa|0)){break ua}while(1){h=b<<5;x=h+Va|0;ga=h+J|0;g=(b|0)<(Ba|0);Ba:{if((b|0)<=0){h=H[Va>>2];if((b|0)>=0){j=g?x:La;H[ga>>2]=H[ga>>2]-((h+H[j>>2]|0)+2>>2);H[ga+4>>2]=H[ga+4>>2]-((H[J+20>>2]+H[j+4>>2]|0)+2>>2);H[ga+8>>2]=H[ga+8>>2]-((H[J+24>>2]+H[j+8>>2]|0)+2>>2);h=(H[J+28>>2]+H[j+12>>2]|0)+2|0;break Ba}H[ga>>2]=H[ga>>2]-((h<<1)+2>>2);H[ga+4>>2]=H[ga+4>>2]-((H[J+20>>2]<<1)+2>>2);H[ga+8>>2]=H[ga+8>>2]-((H[J+24>>2]<<1)+2>>2);h=(H[J+28>>2]<<1)+2|0;break Ba}la=((g?b:Ba)<<5)+bb|0;j=H[la>>2]+2|0;h=H[ga>>2];if(!g){H[ga>>2]=h-(j+H[La>>2]>>2);H[ga+4>>2]=H[ga+4>>2]-((H[la+4>>2]+H[La+4>>2]|0)+2>>2);H[ga+8>>2]=H[ga+8>>2]-((H[la+8>>2]+H[La+8>>2]|0)+2>>2);h=(H[la+12>>2]+H[La+12>>2]|0)+2|0;break Ba}H[ga>>2]=h-(j+H[x>>2]>>2);H[ga+4>>2]=H[ga+4>>2]-((H[la+4>>2]+H[x+4>>2]|0)+2>>2);H[ga+8>>2]=H[ga+8>>2]-((H[la+8>>2]+H[x+8>>2]|0)+2>>2);h=(H[la+12>>2]+H[x+12>>2]|0)+2|0}H[ga+12>>2]=H[ga+12>>2]-(h>>2);b=b+1|0;if((Qa|0)!=(b|0)){continue}break}}if((k|0)>=(na|0)){break ta}h=k;b=h;if((q|0)>(b|0)){while(1){b=J+(h<<5)|0;H[b+16>>2]=H[b+16>>2]+(H[b+32>>2]+H[b>>2]>>1);H[b+20>>2]=H[b+20>>2]+(H[b+36>>2]+H[b+4>>2]>>1);H[b+24>>2]=H[b+24>>2]+(H[b+40>>2]+H[b+8>>2]>>1);H[b+28>>2]=H[b+28>>2]+(H[b+44>>2]+H[b+12>>2]>>1);h=h+1|0;if((q|0)!=(h|0)){continue}break}b=q}if((b|0)>=(na|0)){break ta}while(1){h=b<<5;x=h+Va|0;Ca:{Da:{Ea:{if((b|0)<0){h=H[J>>2];if((b|0)!=-1){break Ea}if((u|0)<=0){H[x>>2]=H[x>>2]+(h+H[xa>>2]>>1);H[x+4>>2]=H[x+4>>2]+(H[xa+4>>2]+H[J+4>>2]>>1);H[x+8>>2]=H[x+8>>2]+(H[xa+8>>2]+H[J+8>>2]>>1);g=H[J+12>>2];h=H[xa+12>>2];break Da}break Ea}j=h+J|0;h=b+1|0;Fa:{if((h|0)<(u|0)){b=J+(h<<5)|0;H[x>>2]=H[x>>2]+(H[b>>2]+H[j>>2]>>1);H[x+4>>2]=H[x+4>>2]+(H[b+4>>2]+H[j+4>>2]>>1);H[x+8>>2]=H[x+8>>2]+(H[b+8>>2]+H[j+8>>2]>>1);H[x+12>>2]=H[x+12>>2]+(H[b+12>>2]+H[j+12>>2]>>1);break Fa}if((b|0)>=(u|0)){H[x>>2]=H[x>>2]+H[xa>>2];H[x+4>>2]=H[x+4>>2]+H[xa+4>>2];H[x+8>>2]=H[x+8>>2]+H[xa+8>>2];H[x+12>>2]=H[x+12>>2]+H[xa+12>>2];break Fa}H[x>>2]=H[x>>2]+(H[xa>>2]+H[j>>2]>>1);H[x+4>>2]=H[x+4>>2]+(H[xa+4>>2]+H[j+4>>2]>>1);H[x+8>>2]=H[x+8>>2]+(H[xa+8>>2]+H[j+8>>2]>>1);H[x+12>>2]=H[x+12>>2]+(H[xa+12>>2]+H[j+12>>2]>>1)}b=h;break Ca}H[x>>2]=h+H[x>>2];H[x+4>>2]=H[x+4>>2]+H[J+4>>2];H[x+8>>2]=H[x+8>>2]+H[J+8>>2];g=H[J+12>>2];h=g}H[x+12>>2]=H[x+12>>2]+(g+h>>1);b=b+1|0}if((na|0)!=(b|0)){continue}break}}if(ab(Na,l,z,D,ka,A,1,4)){continue}break}break}break aa}Da(J);b=1}g=H[Ta-16>>2];i=H[jb>>2];j=H[aa>>2];h=H[Ta-8>>2];Ra(Na,g-i|0,H[Ta-12>>2]-j|0,h-i|0,H[Ta-4>>2]-j|0,H[p+52>>2],1,h-g|0);Xa(Na);break W}Xa(Na);Da(J);b=0;break W}Xa(Na);b=0;break W}b=0;Ua(z);Da(A)}oa=ta+32|0;if(b){break V}break b}k=0;o=0;aa=oa+-64|0;oa=aa;Ga:{Ha:{if(H[R+64>>2]){n=H[p+28>>2];s=n+N(H[p+24>>2],152)|0;l=H[s-152>>2];g=1;S=H[R+44>>2];sa=H[S+4>>2];if((m|0)==1){break Ga}X=m-1|0;o=X&1;Ia:{if((m|0)==2){i=0;b=n;break Ia}g=X&-2;i=0;b=n;while(1){h=H[b+160>>2]-H[b+152>>2]|0;j=h>>>0>>0?i:h;h=H[b+164>>2]-H[b+156>>2]|0;j=h>>>0>>0?j:h;h=H[b+312>>2]-H[b+304>>2]|0;j=h>>>0>>0?j:h;h=H[b+316>>2]-H[b+308>>2]|0;i=h>>>0>>0?j:h;b=b+304|0;k=k+2|0;if((g|0)!=(k|0)){continue}break}}g=0;if(o){h=H[b+160>>2]-H[b+152>>2]|0;h=h>>>0>>0?i:h;b=H[b+164>>2]-H[b+156>>2]|0;i=b>>>0>>0?h:b}if(i>>>0>134217727){break Ga}m=H[s-144>>2];k=H[n+4>>2];j=H[n+12>>2];h=H[n>>2];b=H[n+8>>2];V=i<<5;ea=Ja(V);H[aa+32>>2]=ea;if(!ea){break Ga}o=j-k|0;j=b-h|0;b=sa>>>1|0;ba=b>>>0<=2?2:b;x=m-l|0;ma=x<<5;na=N(x,28);D=N(x,24);fa=N(x,20);M=x<<4;W=N(x,12);ia=x<<3;H[aa>>2]=ea;_=ea+32|0;h=H[p+36>>2];while(1){l=o;H[aa+8>>2]=l;b=j;H[aa+40>>2]=b;ka=H[n+156>>2];pa=H[n+164>>2];i=H[n+160>>2];g=H[n+152>>2];H[aa+56>>2]=0;H[aa+52>>2]=b;H[aa+48>>2]=0;s=(g|0)%2|0;H[aa+44>>2]=s;j=i-g|0;Q=j-b|0;H[aa+60>>2]=Q;H[aa+36>>2]=Q;w=(sa|0)<2;o=pa-ka|0;Ja:{if(!(!w&o>>>0>15)){m=0;i=h;if(o>>>0<8){break Ja}v=0;while(1){b=aa+32|0;Eb(b,i,x,8);Wa(b);b=0;if(j){while(1){k=(b<<2)+i|0;g=ea+(b<<5)|0;L[k>>2]=L[g>>2];L[k+(x<<2)>>2]=L[g+4>>2];L[k+ia>>2]=L[g+8>>2];L[k+W>>2]=L[g+12>>2];b=b+1|0;if((j|0)!=(b|0)){continue}break}b=0;while(1){k=(b<<2)+i|0;g=ea+(b<<5)|0;L[k+M>>2]=L[g+16>>2];L[k+fa>>2]=L[g+20>>2];L[k+D>>2]=L[g+24>>2];L[k+na>>2]=L[g+28>>2];b=b+1|0;if((j|0)!=(b|0)){continue}break}}i=i+ma|0;b=v+15|0;m=v+8|0;v=m;if(b>>>0>>0){continue}break}break Ja}i=o>>>3|0;C=i>>>0>>0?i:sa;q=(o>>>0)/(C>>>0)&-8;m=o&-8;k=0;i=h;while(1){A=Ga(48);if(!A){break Ha}g=Ja(V);H[A>>2]=g;if(!g){g=0;Ua(S);Da(A);Da(ea);break Ga}H[A+40>>2]=i;H[A+36>>2]=x;H[A+32>>2]=j;H[A+28>>2]=Q;H[A+24>>2]=0;H[A+20>>2]=b;H[A+16>>2]=0;H[A+12>>2]=s;H[A+8>>2]=b;H[A+4>>2]=Q;g=m-N(k,q)|0;k=k+1|0;g=(C|0)==(k|0)?g:q;H[A+44>>2]=g;ib(S,12,A);i=(N(g,x)<<2)+i|0;if((k|0)!=(C|0)){continue}break}Ua(S)}Ka:{if(m>>>0>=o>>>0){break Ka}b=aa+32|0;g=o-m|0;Eb(b,i,x,g);Wa(b);if(!j){break Ka}q=g&-4;C=g&3;s=0;k=ka+(m-pa|0)>>>0>4294967292;while(1){Q=(s<<2)+i|0;m=ea+(s<<5)|0;b=0;v=0;if(!k){while(1){L[Q+(N(b,x)<<2)>>2]=L[m+(b<<2)>>2];g=b|1;L[Q+(N(g,x)<<2)>>2]=L[m+(g<<2)>>2];g=b|2;L[Q+(N(g,x)<<2)>>2]=L[m+(g<<2)>>2];g=b|3;L[Q+(N(g,x)<<2)>>2]=L[m+(g<<2)>>2];b=b+4|0;v=v+4|0;if((q|0)!=(v|0)){continue}break}}v=0;if(C){while(1){L[Q+(N(b,x)<<2)>>2]=L[m+(b<<2)>>2];b=b+1|0;v=v+1|0;if((C|0)!=(v|0)){continue}break}}s=s+1|0;if((s|0)!=(j|0)){continue}break}}Y=o-l|0;H[aa+4>>2]=Y;b=H[n+156>>2];H[aa+28>>2]=Y;H[aa+24>>2]=0;H[aa+20>>2]=l;H[aa+16>>2]=0;va=(b|0)%2|0;H[aa+12>>2]=va;La:{if(!(!w&j>>>0>15)){k=h;if(j>>>0<8){break La}ca=o&-2;Z=o&1;z=Y&-2;A=Y&1;Q=l&-2;C=l&1;b=va<<5;ja=_-b|0;ya=b+ea|0;w=N(l,x)<<2;q=pa-1|0;s=(q|0)==(l+ka|0);i=j;while(1){b=0;v=0;Ma:{Na:{switch(l|0){default:while(1){u=(N(b,x)<<2)+k|0;g=H[u+4>>2];m=ya+(b<<6)|0;H[m>>2]=H[u>>2];H[m+4>>2]=g;g=H[u+28>>2];H[m+24>>2]=H[u+24>>2];H[m+28>>2]=g;g=H[u+20>>2];H[m+16>>2]=H[u+16>>2];H[m+20>>2]=g;g=H[u+12>>2];H[m+8>>2]=H[u+8>>2];H[m+12>>2]=g;g=b|1;u=ya+(g<<6)|0;m=(N(g,x)<<2)+k|0;g=H[m+28>>2];H[u+24>>2]=H[m+24>>2];H[u+28>>2]=g;g=H[m+20>>2];H[u+16>>2]=H[m+16>>2];H[u+20>>2]=g;g=H[m+12>>2];H[u+8>>2]=H[m+8>>2];H[u+12>>2]=g;g=H[m+4>>2];H[u>>2]=H[m>>2];H[u+4>>2]=g;b=b+2|0;v=v+2|0;if((Q|0)!=(v|0)){continue}break};break;case 0:break Ma;case 1:break Na}}if(!C){break Ma}m=ya+(b<<6)|0;g=(N(b,x)<<2)+k|0;b=H[g+4>>2];H[m>>2]=H[g>>2];H[m+4>>2]=b;b=H[g+28>>2];H[m+24>>2]=H[g+24>>2];H[m+28>>2]=b;b=H[g+20>>2];H[m+16>>2]=H[g+16>>2];H[m+20>>2]=b;b=H[g+12>>2];H[m+8>>2]=H[g+8>>2];H[m+12>>2]=b}Oa:{if((l|0)==(o|0)){break Oa}u=k+w|0;b=0;m=0;if(!s){while(1){da=u+(N(b,x)<<2)|0;g=H[da+4>>2];v=ja+(b<<6)|0;H[v>>2]=H[da>>2];H[v+4>>2]=g;g=H[da+28>>2];H[v+24>>2]=H[da+24>>2];H[v+28>>2]=g;g=H[da+20>>2];H[v+16>>2]=H[da+16>>2];H[v+20>>2]=g;g=H[da+12>>2];H[v+8>>2]=H[da+8>>2];H[v+12>>2]=g;g=b|1;da=ja+(g<<6)|0;v=u+(N(g,x)<<2)|0;g=H[v+28>>2];H[da+24>>2]=H[v+24>>2];H[da+28>>2]=g;g=H[v+20>>2];H[da+16>>2]=H[v+16>>2];H[da+20>>2]=g;g=H[v+12>>2];H[da+8>>2]=H[v+8>>2];H[da+12>>2]=g;g=H[v+4>>2];H[da>>2]=H[v>>2];H[da+4>>2]=g;b=b+2|0;m=m+2|0;if((z|0)!=(m|0)){continue}break}}if(!A){break Oa}m=ja+(b<<6)|0;g=u+(N(b,x)<<2)|0;b=H[g+4>>2];H[m>>2]=H[g>>2];H[m+4>>2]=b;b=H[g+28>>2];H[m+24>>2]=H[g+24>>2];H[m+28>>2]=b;b=H[g+20>>2];H[m+16>>2]=H[g+16>>2];H[m+20>>2]=b;b=H[g+12>>2];H[m+8>>2]=H[g+8>>2];H[m+12>>2]=b}Wa(aa);Pa:{if(!o){break Pa}b=0;v=0;if((q|0)!=(ka|0)){while(1){u=ea+(b<<5)|0;g=H[u+4>>2];m=(N(b,x)<<2)+k|0;H[m>>2]=H[u>>2];H[m+4>>2]=g;g=H[u+28>>2];H[m+24>>2]=H[u+24>>2];H[m+28>>2]=g;g=H[u+20>>2];H[m+16>>2]=H[u+16>>2];H[m+20>>2]=g;g=H[u+12>>2];H[m+8>>2]=H[u+8>>2];H[m+12>>2]=g;g=b|1;u=(N(g,x)<<2)+k|0;m=ea+(g<<5)|0;g=H[m+28>>2];H[u+24>>2]=H[m+24>>2];H[u+28>>2]=g;g=H[m+20>>2];H[u+16>>2]=H[m+16>>2];H[u+20>>2]=g;g=H[m+12>>2];H[u+8>>2]=H[m+8>>2];H[u+12>>2]=g;g=H[m+4>>2];H[u>>2]=H[m>>2];H[u+4>>2]=g;b=b+2|0;v=v+2|0;if((ca|0)!=(v|0)){continue}break}}if(!Z){break Pa}m=(N(b,x)<<2)+k|0;g=ea+(b<<5)|0;b=H[g+4>>2];H[m>>2]=H[g>>2];H[m+4>>2]=b;b=H[g+28>>2];H[m+24>>2]=H[g+24>>2];H[m+28>>2]=b;b=H[g+20>>2];H[m+16>>2]=H[g+16>>2];H[m+20>>2]=b;b=H[g+12>>2];H[m+8>>2]=H[g+8>>2];H[m+12>>2]=b}k=k+32|0;i=i-8|0;if(i>>>0>7){continue}break}break La}b=j>>>3|0;q=b>>>0>>0?b:ba;m=q>>>0<=1?1:q;s=(j>>>0)/(q>>>0)&-8;i=j&-8;g=0;k=h;while(1){w=Ga(48);if(!w){break Ha}b=Ja(V);H[w>>2]=b;if(!b){g=0;Ua(S);Da(w);Da(ea);break Ga}H[w+40>>2]=k;H[w+36>>2]=x;H[w+32>>2]=o;H[w+28>>2]=Y;H[w+24>>2]=0;H[w+20>>2]=l;H[w+16>>2]=0;H[w+12>>2]=va;H[w+8>>2]=l;H[w+4>>2]=Y;b=i-N(g,s)|0;g=g+1|0;b=(q|0)==(g|0)?b:s;H[w+44>>2]=b;ib(S,13,w);k=(b<<2)+k|0;if((g|0)!=(m|0)){continue}break}Ua(S)}w=j&7;Qa:{if(!w){break Qa}s=va<<5;Ra:{if(!l){break Ra}q=s+ea|0;C=w<<2;b=0;if((l|0)!=1){m=l&-2;i=0;while(1){g=!C;if(!g){B(q+(b<<6)|0,(N(b,x)<<2)+k|0,C)}if(!g){g=b|1;B(q+(g<<6)|0,(N(g,x)<<2)+k|0,C)}b=b+2|0;i=i+2|0;if((m|0)!=(i|0)){continue}break}}if(!(l&1)|!C){break Ra}B(q+(b<<6)|0,(N(b,x)<<2)+k|0,C)}Sa:{if((l|0)==(o|0)){break Sa}q=_-s|0;s=(N(l,x)<<2)+k|0;C=w<<2;b=0;if((ka|0)!=(pa+(l^-1)|0)){m=Y&-2;i=0;while(1){g=!C;if(!g){B(q+(b<<6)|0,s+(N(b,x)<<2)|0,C)}if(!g){g=b|1;B(q+(g<<6)|0,s+(N(g,x)<<2)|0,C)}b=b+2|0;i=i+2|0;if((m|0)!=(i|0)){continue}break}}if(!(Y&1)|!C){break Sa}B(q+(b<<6)|0,s+(N(b,x)<<2)|0,C)}Wa(aa);if(!o){break Qa}l=w<<2;b=0;if((pa|0)!=(ka+1|0)){m=o&-2;i=0;while(1){g=!l;if(!g){B((N(b,x)<<2)+k|0,ea+(b<<5)|0,l)}if(!g){g=b|1;B((N(g,x)<<2)+k|0,ea+(g<<5)|0,l)}b=b+2|0;i=i+2|0;if((m|0)!=(i|0)){continue}break}}if(!(o&1)|!l){break Qa}B((N(b,x)<<2)+k|0,ea+(b<<5)|0,l)}n=n+152|0;X=X-1|0;if(X){continue}break}g=1;Da(ea);break Ga}g=1;h=H[p+28>>2];x=h+N(m,152)|0;va=x-152|0;if(H[va>>2]==H[x-144>>2]){break Ga}ja=x-148|0;if(H[ja>>2]==H[x-140>>2]){break Ga}w=H[h+4>>2];q=H[h+12>>2];s=H[h>>2];l=H[h+8>>2];z=H[p+68>>2];A=H[p+64>>2];Q=H[p+60>>2];C=H[p+56>>2];la=kc(p,m);if(!la){g=0;break Ga}if((m|0)==1){i=H[x-16>>2];j=H[va>>2];h=H[ja>>2];b=H[x-8>>2];Ra(la,i-j|0,H[x-12>>2]-h|0,b-j|0,H[x-4>>2]-h|0,H[p+52>>2],1,b-i|0);Xa(la);break Ga}b=m-1|0;n=b&1;Ta:{if((m|0)==2){g=0;b=h;break Ta}k=b&-2;g=0;b=h;while(1){j=H[b+160>>2]-H[b+152>>2]|0;i=g>>>0>j>>>0?g:j;j=H[b+164>>2]-H[b+156>>2]|0;i=i>>>0>j>>>0?i:j;j=H[b+312>>2]-H[b+304>>2]|0;i=i>>>0>j>>>0?i:j;j=H[b+316>>2]-H[b+308>>2]|0;g=i>>>0>j>>>0?i:j;b=b+304|0;o=o+2|0;if((k|0)!=(o|0)){continue}break}}if(n){j=H[b+160>>2]-H[b+152>>2]|0;j=g>>>0>j>>>0?g:j;b=H[b+164>>2]-H[b+156>>2]|0;g=b>>>0>>0?j:b}Ua:{if(g>>>0>=134217728){break Ua}ea=Ja(g<<5);H[aa+32>>2]=ea;if(!ea){break Ua}H[aa>>2]=ea;Va:{if(m){n=q-w|0;b=l-s|0;ya=ea+32|0;s=m;v=H[p+20>>2];S=1;da=0;while(1){H[aa+8>>2]=n;H[aa+40>>2]=b;g=H[h+164>>2];i=H[h+160>>2];k=H[h+156>>2];j=H[h+152>>2];na=(j|0)%2|0;H[aa+44>>2]=na;u=(k|0)%2|0;H[aa+12>>2]=u;w=i-j|0;ia=w-b|0;H[aa+36>>2]=ia;Z=g-k|0;D=Z-n|0;H[aa+4>>2]=D;m=C;o=m;k=Q;i=k;g=A;X=g;j=z;_=j;Wa:{if(!da&(v|0)==(S|0)){break Wa}M=v-S|0;i=0;o=0;if(m){g=M&31;if((M&63)>>>0>=32){l=-1<>>32-g}j=m+(j^-1)|0;g=l^-1;g=j>>>0>>0?g+1|0:g;k=M&31;if((M&63)>>>0>=32){o=g>>>k|0}else{o=((1<>>k}}if(Q){i=M&31;if((M&63)>>>0>=32){l=-1<>>32-i}j=Q+(j^-1)|0;i=l^-1;i=j>>>0>>0?i+1|0:i;g=M&31;if((M&63)>>>0>=32){i=i>>>g|0}else{i=((1<>>g}}j=0;g=0;if(A){k=M&31;if((M&63)>>>0>=32){l=-1<>>32-k}g=A+(g^-1)|0;k=l^-1;k=g>>>0>>0?k+1|0:k;m=M&31;if((M&63)>>>0>=32){g=k>>>m|0}else{g=((1<>>m}}if(z){k=M&31;if((M&63)>>>0>=32){l=-1<>>32-k}j=z+(j^-1)|0;k=l^-1;k=j>>>0>>0?k+1|0:k;m=M&31;if((M&63)>>>0>=32){j=k>>>m|0}else{j=((1<>>m}}X=0;m=0;W=1<>>0>>0){m=M&31;if((M&63)>>>0>=32){l=-1<>>32-m}q=k^-1;k=q+(C-W|0)|0;m=l^-1;m=k>>>0>>0?m+1|0:m;l=M&31;if((M&63)>>>0>=32){m=m>>>l|0}else{m=((1<>>l}}if(A>>>0>W>>>0){l=M&31;if((M&63)>>>0>=32){l=-1<>>32-l}q=k^-1;k=q+(A-W|0)|0;l=l^-1;l=k>>>0>>0?l+1|0:l;q=M&31;if((M&63)>>>0>=32){X=l>>>q|0}else{X=((1<>>q}}_=0;k=0;if(Q>>>0>W>>>0){l=M&31;if((M&63)>>>0>=32){l=-1<>>32-l}q=k^-1;k=q+(Q-W|0)|0;l=l^-1;l=k>>>0>>0?l+1|0:l;q=M&31;if((M&63)>>>0>=32){k=l>>>q|0}else{k=((1<>>q}}if(z>>>0<=W>>>0){break Wa}l=M&31;if((M&63)>>>0>=32){l=-1<>>32-l}ca=q^-1;q=ca+(z-W|0)|0;l=l^-1;ca=q>>>0>>0?l+1|0:l;l=q;q=M&31;if((M&63)>>>0>=32){_=ca>>>q|0}else{_=((1<>>q}}ca=H[h+180>>2];l=X-ca|0;q=l>>>0<=X>>>0?l:0;l=q+4|0;l=l>>>0>>0?-1:l;ba=l>>>0>>0?l:ia;q=H[h+216>>2];l=g-q|0;l=g>>>0>=l>>>0?l:0;g=l+4|0;g=g>>>0>>0?-1:g;sa=b>>>0>g>>>0?g:b;l=(na?ba:sa)<<1;g=(na?sa:ba)<<1|1;fa=g>>>0>>0?l:g;M=fa>>>0>>0;g=m-ca|0;m=g>>>0<=m>>>0?g:0;g=m-4|0;V=g>>>0<=m>>>0?g:0;g=o-q|0;o=g>>>0<=o>>>0?g:0;g=o-4|0;ka=g>>>0<=o>>>0?g:0;W=(na?V:ka)<<1;ia=(na?ka:V)<<1|1;ca=W>>>0>>0;X=H[h+184>>2];g=i-X|0;g=g>>>0<=i>>>0?g:0;i=g-4|0;l=g>>>0>=i>>>0?i:0;m=l;q=H[h+220>>2];i=k-q|0;g=i>>>0<=k>>>0?i:0;i=g-4|0;k=g>>>0>=i>>>0?i:0;o=k;i=j-X|0;i=i>>>0<=j>>>0?i:0;j=i+4|0;j=i>>>0>j>>>0?-1:j;pa=j>>>0>>0?j:n;j=pa;i=_-q|0;g=i>>>0<=_>>>0?i:0;i=g+4|0;i=g>>>0>i>>>0?-1:i;g=i>>>0>>0?i:D;X=g;if(u){X=j;m=k;o=l;j=g}Y=M?fa:w;_=ca?W:ia;H[aa+60>>2]=ba;H[aa+56>>2]=V;H[aa+52>>2]=sa;H[aa+48>>2]=ka;Xa:{if(Z>>>0<8){b=7;i=0;break Xa}i=na<<5;ma=(ya-i|0)+(V<<6)|0;na=(i+ea|0)+(ka<<6)|0;D=b+ba|0;fa=b+V|0;M=g+n|0;W=k+n|0;ia=ea+(_<<5)|0;i=0;while(1){b=i|7;Ya:{if(!(i>>>0>>0&b>>>0>=l>>>0|i>>>0>>0&b>>>0>=W>>>0)){i=i+8|0;break Ya}b=Z-i|0;ca=b>>>0>=8?8:b;b=0;while(1){V=b+i|0;ba=V+1|0;q=b<<2;Ra(la,ka,V,sa,ba,q+na|0,16,0);Ra(la,fa,V,D,ba,q+ma|0,16,0);b=b+1|0;if((ca|0)!=(b|0)){continue}break}Wa(aa+32|0);b=i;i=i+8|0;if(!ab(la,_,b,Y,i,ia,8,1)){break Va}}b=i|7;if(Z>>>0>b>>>0){continue}break}}if(!(!(i>>>0>>0&b>>>0>=l>>>0)&(g+n>>>0<=i>>>0|k+n>>>0>b>>>0)|i>>>0>=Z>>>0)){fa=aa+32|0;D=0;ia=Z-i|0;if(ia){while(1){M=i+D|0;W=M+1|0;b=H[fa+16>>2];ca=D<<2;Ra(la,b,M,H[fa+20>>2],W,ca+((H[fa>>2]+(H[fa+12>>2]<<5)|0)+(b<<6)|0)|0,16,0);q=H[fa+24>>2];b=H[fa+8>>2];Ra(la,q+b|0,M,b+H[fa+28>>2]|0,W,(ca+((H[fa>>2]-(H[fa+12>>2]<<5)|0)+(q<<6)|0)|0)+32|0,16,0);D=D+1|0;if((ia|0)!=(D|0)){continue}break}}Wa(fa);if(!ab(la,_,i,Y,Z,ea+(_<<5)|0,8,1)){break Va}}H[aa+28>>2]=g;H[aa+24>>2]=k;H[aa+20>>2]=pa;H[aa+16>>2]=l;if(Y>>>0>_>>>0){j=j<<1;b=X<<1|1;b=b>>>0>>0?j:b;ia=b>>>0>>0?b:Z;b=u<<5;ca=(ya-b|0)+(k<<6)|0;X=(b+ea|0)+(l<<6)|0;q=g+n|0;g=k+n|0;j=m<<1;b=o<<1|1;i=b>>>0>j>>>0?j:b;j=ea+(i<<5)|0;while(1){b=Y-_|0;b=(b>>>0>=8?8:b)+_|0;Ra(la,_,l,b,pa,X,1,16);Ra(la,_,g,b,q,ca,1,16);Wa(aa);if(!ab(la,_,i,b,ia,j,1,8)){break Va}_=_+8|0;if(Y>>>0>_>>>0){continue}break}}h=h+152|0;b=w;n=Z;S=S+1|0;da=S?da:da+1|0;if(da|(s|0)!=(S|0)){continue}break}}g=1;i=H[x-16>>2];j=H[va>>2];h=H[ja>>2];b=H[x-8>>2];Ra(la,i-j|0,H[x-12>>2]-h|0,b-j|0,H[x-4>>2]-h|0,H[p+52>>2],1,b-i|0);Xa(la);Da(ea);break Ga}Xa(la);Da(ea);g=0;break Ga}Xa(la);g=0;break Ga}g=0;Ua(S);Da(ea)}oa=aa- -64|0;if(g){break V}break b}E=E+1080|0;t=t+52|0;p=p+76|0;r=r+1|0;if(r>>>0>2]){continue}break}E=H[R+32>>2];qa=H[H[R+20>>2]>>2]}i=H[E+16>>2];Za:{if(H[R+68>>2]|!i){break Za}t=H[qa+20>>2];k=H[t+28>>2];_a:{$a:{g=H[R+64>>2];if(g){r=H[qa+16>>2];if(r>>>0<3){break _a}j=H[t+24>>2];if(!((j|0)==H[t+100>>2]&(j|0)==H[t+176>>2])){Ca(f,1,10089,0);break b}h=H[H[R+24>>2]+24>>2];b=H[h+36>>2];ab:{if((b|0)!=H[h+88>>2]|(b|0)!=H[h+140>>2]){break ab}h=N(j,152);b=h+k|0;b=N(H[b-140>>2]-H[b-148>>2]|0,H[b-144>>2]-H[b-152>>2]|0);j=h+H[t+104>>2]|0;if((b|0)!=(N(H[j-140>>2]-H[j-148>>2]|0,H[j-144>>2]-H[j-152>>2]|0)|0)){break ab}h=h+H[t+180>>2]|0;if((N(H[h-140>>2]-H[h-148>>2]|0,H[h-144>>2]-H[h-152>>2]|0)|0)==(b|0)){break $a}}Ca(f,1,10089,0);break b}r=H[qa+16>>2];if(r>>>0<3){break _a}b=H[H[R+24>>2]+24>>2];h=H[b+36>>2];bb:{if((h|0)!=H[b+88>>2]){break bb}j=H[b+140>>2];if((j|0)!=(h|0)){break bb}h=N(h,152);b=k+h|0;b=N(H[b+148>>2]-H[b+140>>2]|0,H[b+144>>2]-H[b+136>>2]|0);h=h+H[t+104>>2]|0;if((b|0)!=(N(H[h+148>>2]-H[h+140>>2]|0,H[h+144>>2]-H[h+136>>2]|0)|0)){break bb}h=H[t+180>>2]+N(j,152)|0;if((N(H[h+148>>2]-H[h+140>>2]|0,H[h+144>>2]-H[h+136>>2]|0)|0)==(b|0)){break $a}}Ca(f,1,10089,0);break b}if((i|0)==2){if(!H[E+5608>>2]){break Za}z=Ga(r<<2);if(!z){break b}A=H[qa+16>>2];cb:{if(!A){break cb}db:{eb:{if(H[R+64>>2]){o=A&3;h=0;if(A>>>0>=4){break eb}p=0;break db}o=A&3;h=0;fb:{if(A>>>0<4){p=0;break fb}k=z+12|0;r=z+8|0;i=z+4|0;j=A&-4;p=0;g=0;while(1){n=p<<2;H[n+z>>2]=H[t+52>>2];H[i+n>>2]=H[t+128>>2];H[n+r>>2]=H[t+204>>2];H[k+n>>2]=H[t+280>>2];p=p+4|0;t=t+304|0;g=g+4|0;if((j|0)!=(g|0)){continue}break}}if(!o){break cb}while(1){H[z+(p<<2)>>2]=H[t+52>>2];p=p+1|0;t=t+76|0;h=h+1|0;if((o|0)!=(h|0)){continue}break}break cb}k=z+12|0;r=z+8|0;i=z+4|0;j=A&-4;p=0;g=0;while(1){n=p<<2;H[n+z>>2]=H[t+36>>2];H[i+n>>2]=H[t+112>>2];H[n+r>>2]=H[t+188>>2];H[k+n>>2]=H[t+264>>2];p=p+4|0;t=t+304|0;g=g+4|0;if((j|0)!=(g|0)){continue}break}}if(!o){break cb}while(1){H[z+(p<<2)>>2]=H[t+36>>2];p=p+1|0;t=t+76|0;h=h+1|0;if((o|0)!=(h|0)){continue}break}}h=H[E+5608>>2];n=0;Q=Ga(A<<3);j=0;gb:{if(!Q){break gb}if(!(!b|!A)){m=Q+(A<<2)|0;o=Q+12|0;r=Q+8|0;i=Q+4|0;t=A&-4;w=A&3;l=A-1|0;while(1){p=0;k=0;if(l>>>0>=3){while(1){g=p<<2;L[g+Q>>2]=L[H[g+z>>2]>>2];j=g|4;L[j+Q>>2]=L[H[j+z>>2]>>2];j=g|8;L[j+Q>>2]=L[H[j+z>>2]>>2];j=g|12;L[j+Q>>2]=L[H[j+z>>2]>>2];p=p+4|0;k=k+4|0;if((t|0)!=(k|0)){continue}break}}s=0;if(w){while(1){j=p<<2;L[j+Q>>2]=L[H[j+z>>2]>>2];p=p+1|0;s=s+1|0;if((w|0)!=(s|0)){continue}break}}g=0;p=h;while(1){j=g<<2;C=j+m|0;H[C>>2]=0;ha=O(0);s=0;k=0;if(l>>>0>2){while(1){q=s<<2;ha=O(O(L[p>>2]*L[q+Q>>2])+ha);L[C>>2]=ha;ha=O(O(L[p+4>>2]*L[i+q>>2])+ha);L[C>>2]=ha;ha=O(O(L[p+8>>2]*L[q+r>>2])+ha);L[C>>2]=ha;ha=O(O(L[p+12>>2]*L[o+q>>2])+ha);L[C>>2]=ha;s=s+4|0;p=p+16|0;k=k+4|0;if((t|0)!=(k|0)){continue}break}}k=0;if(w){while(1){ha=O(O(L[p>>2]*L[Q+(s<<2)>>2])+ha);L[C>>2]=ha;s=s+1|0;p=p+4|0;k=k+1|0;if((w|0)!=(k|0)){continue}break}}j=j+z|0;k=H[j>>2];H[j>>2]=k+4;L[k>>2]=ha;g=g+1|0;if((A|0)!=(g|0)){continue}break}n=n+1|0;if((n|0)!=(b|0)){continue}break}}Da(Q);j=1}b=j;Da(z);if(b){break Za}break b}if(H[H[E+5584>>2]+20>>2]==1){if(g){oc(H[t+36>>2],H[t+112>>2],H[t+188>>2],b);break Za}oc(H[t+52>>2],H[t+128>>2],H[t+204>>2],b);break Za}if(g){nc(H[t+36>>2],H[t+112>>2],H[t+188>>2],b);break Za}nc(H[t+52>>2],H[t+128>>2],H[t+204>>2],b);break Za}H[Ha>>2]=r;Ca(f,1,10150,Ha)}w=H[H[R+20>>2]>>2];if(!H[w+16>>2]){$=1;break b}q=H[R+68>>2];n=H[w+20>>2];b=H[H[R+32>>2]+5584>>2];o=H[H[R+24>>2]+24>>2];j=0;while(1){hb:{if(H[q+(j<<2)>>2]?0:q){break hb}h=H[n+28>>2];i=h+N(H[o+36>>2],152)|0;ib:{if(!H[R+64>>2]){g=H[i+148>>2]-H[i+140>>2]|0;qa=H[i+144>>2]-H[i+136>>2]|0;k=0;r=52;break ib}h=h+N(H[n+24>>2],152)|0;qa=H[i+8>>2]-H[i>>2]|0;k=H[h-144>>2]-(qa+H[h-152>>2]|0)|0;g=H[i+12>>2]-H[i+4>>2]|0;r=36}h=H[o+24>>2];jb:{if(H[o+32>>2]){h=1<>2];if(H[b+20>>2]==1){l=qa&-2;m=qa&1;t=0;h=k<<2;while(1){r=0;if((qa|0)!=1){while(1){k=H[b+1076>>2]+H[$>>2]|0;H[$>>2]=(i|0)>(k|0)?i:(k|0)<(p|0)?k:p;k=H[b+1076>>2]+H[$+4>>2]|0;H[$+4>>2]=(i|0)>(k|0)?i:(k|0)<(p|0)?k:p;$=$+8|0;r=r+2|0;if((l|0)!=(r|0)){continue}break}}if(m){r=H[b+1076>>2]+H[$>>2]|0;H[$>>2]=(i|0)>(r|0)?i:(p|0)>(r|0)?r:p;$=$+4|0}$=$+h|0;t=t+1|0;if((t|0)!=(g|0)){continue}break}break hb}t=i>>31;h=0;while(1){r=0;while(1){ha=L[$>>2];m=p;kb:{if(ha>O(2147483648)){break kb}m=i;if(ha>2];l=m;m=l>>31;eb=O(T(ha));sb=O(ha-eb);if(sbO(.5)){break lb}ha=O(eb*O(.5));fb=O(ha-O(T(ha)))==O(0)?eb:fb}ha=fb}if(O(P(ha))>31)|0;C=m+1|0;v=m;m=l+s|0;l=s>>>0>m>>>0?C:v;m=(l|0)<=(t|0)&i>>>0>m>>>0|(l|0)<(t|0)?i:m>>>0

    >>0&(l|0)<=0|(l|0)<0?m:p}H[$>>2]=m;$=$+4|0;r=r+1|0;if((qa|0)!=(r|0)){continue}break}$=(k<<2)+$|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}n=n+76|0;b=b+1080|0;o=o+52|0;$=1;j=j+1|0;if(j>>>0>2]){continue}break}break b}$=0;Ca(f,1,3372,0)}oa=Ha+16|0;if(!$){mb(Ya);H[a+8>>2]=H[a+8>>2]|32768;Ca(f,1,11451,0);break a}mb:{if(!c){break mb}b=0;m=H[a+232>>2];h=bc(m,1);if(!((h|0)==-1|d>>>0>>0)){nb:{b=1;d=H[m+24>>2];if(!H[d+16>>2]){break nb}i=H[d+24>>2];k=H[H[H[m+20>>2]>>2]+20>>2];while(1){b=H[i+24>>2];g=b&7;j=b>>>3|0;b=H[k+28>>2];o=b+N(H[i+36>>2],152)|0;ob:{if(H[m+64>>2]){b=b+N(H[k+24>>2],152)|0;d=H[o+8>>2]-H[o>>2]|0;r=H[b-144>>2]-(d+H[b-152>>2]|0)|0;h=H[o+12>>2]-H[o+4>>2]|0;b=36;break ob}h=H[o+148>>2]-H[o+140>>2]|0;d=H[o+144>>2]-H[o+136>>2]|0;r=0;b=52}b=H[b+k>>2];pb:{qb:{rb:{sb:{j=j+((g|0)!=0)|0;switch(((j|0)==3?4:j)-1|0){case 0:break rb;case 1:break qb;case 3:break sb;default:break pb}}if(!h){break pb}l=d<<2;if((h|0)!=1){o=h&-2;j=0;while(1){g=!l;if(!g){B(c,b,l)}d=r<<2;n=d+(b+l|0)|0;b=c+l|0;if(!g){B(b,n,l)}c=b+l|0;b=d+(l+n|0)|0;j=j+2|0;if((o|0)!=(j|0)){continue}break}}if(!(h&1)){break pb}if(l){B(c,b,l)}c=c+l|0;break pb}j=!h|!d;if(H[i+32>>2]){if(j){break pb}o=d&-8;n=d&7;j=0;g=d-1>>>0<7;while(1){d=0;if(!g){while(1){F[c|0]=H[b>>2];F[c+1|0]=H[b+4>>2];F[c+2|0]=H[b+8>>2];F[c+3|0]=H[b+12>>2];F[c+4|0]=H[b+16>>2];F[c+5|0]=H[b+20>>2];F[c+6|0]=H[b+24>>2];F[c+7|0]=H[b+28>>2];c=c+8|0;b=b+32|0;d=d+8|0;if((o|0)!=(d|0)){continue}break}}d=0;if(n){while(1){F[c|0]=H[b>>2];c=c+1|0;b=b+4|0;d=d+1|0;if((n|0)!=(d|0)){continue}break}}b=(r<<2)+b|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}break pb}if(j){break pb}o=d&-8;n=d&7;j=0;g=d-1>>>0<7;r=r<<2;while(1){d=0;if(!g){while(1){F[c|0]=H[b>>2];F[c+1|0]=H[b+4>>2];F[c+2|0]=H[b+8>>2];F[c+3|0]=H[b+12>>2];F[c+4|0]=H[b+16>>2];F[c+5|0]=H[b+20>>2];F[c+6|0]=H[b+24>>2];F[c+7|0]=H[b+28>>2];c=c+8|0;b=b+32|0;d=d+8|0;if((o|0)!=(d|0)){continue}break}}d=0;if(n){while(1){F[c|0]=H[b>>2];c=c+1|0;b=b+4|0;d=d+1|0;if((n|0)!=(d|0)){continue}break}}b=b+r|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}break pb}j=!h|!d;if(H[i+32>>2]){if(j){break pb}o=d&-8;n=d&7;j=0;g=d-1>>>0<7;while(1){d=0;if(!g){while(1){G[c>>1]=H[b>>2];G[c+2>>1]=H[b+4>>2];G[c+4>>1]=H[b+8>>2];G[c+6>>1]=H[b+12>>2];G[c+8>>1]=H[b+16>>2];G[c+10>>1]=H[b+20>>2];G[c+12>>1]=H[b+24>>2];G[c+14>>1]=H[b+28>>2];c=c+16|0;b=b+32|0;d=d+8|0;if((o|0)!=(d|0)){continue}break}}d=0;if(n){while(1){G[c>>1]=H[b>>2];c=c+2|0;b=b+4|0;d=d+1|0;if((n|0)!=(d|0)){continue}break}}b=(r<<2)+b|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}break pb}if(j){break pb}o=d&-8;n=d&7;j=0;g=d-1>>>0<7;while(1){d=0;if(!g){while(1){G[c>>1]=H[b>>2];G[c+2>>1]=H[b+4>>2];G[c+4>>1]=H[b+8>>2];G[c+6>>1]=H[b+12>>2];G[c+8>>1]=H[b+16>>2];G[c+10>>1]=H[b+20>>2];G[c+12>>1]=H[b+24>>2];G[c+14>>1]=H[b+28>>2];c=c+16|0;b=b+32|0;d=d+8|0;if((o|0)!=(d|0)){continue}break}}d=0;if(n){while(1){G[c>>1]=H[b>>2];c=c+2|0;b=b+4|0;d=d+1|0;if((n|0)!=(d|0)){continue}break}}b=(r<<2)+b|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}}k=k+76|0;i=i+52|0;b=1;tb=tb+1|0;if(tb>>>0>2]+16>>2]){continue}break}}}if(!b){break a}b=H[Ya+5596>>2];if(!b){break mb}Da(b);H[Ya+5596>>2]=0;H[Ya+5600>>2]=0}F[a+92|0]=I[a+92|0]&254;H[a+8>>2]=H[a+8>>2]&-129;gb=1;c=Sa(e);b=H[a+8>>2];if(!(c|ra)&(b|0)==64|(b|0)==256){break a}if((Ka(e,Za+10|0,2,f)|0)!=2){Ca(f,H[a+208>>2]?1:2,2472,0);gb=!H[a+208>>2];break a}Ea(Za+10|0,Za+12|0,2);b=H[Za+12>>2];if((b|0)==65424){break a}if((b|0)==65497){H[a+8>>2]=256;H[a+228>>2]=0;break a}if(!(Sa(e)|ra)){H[a+8>>2]=64;Ca(f,2,8419,0);break a}gb=0;Ca(f,1,8306,0)}oa=Za+16|0;return gb|0}function Za(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,x=0,z=0,A=0,C=0,D=0,E=0,J=0,M=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=O(0),Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,pa=0,qa=0,ta=0,ua=0,va=0,wa=0,xa=O(0);s=oa-80|0;oa=s;H[s+40>>2]=65424;z=N(H[a+132>>2],H[a+128>>2]);a:{b:{c:{l=H[a+8>>2];d:{if((l|0)!=8){j=0;if((l|0)!=256){break a}H[s+40>>2]=65497;break d}if(F[a+92|0]&1){break d}C=z&-2;E=z&1;R=s+77|0;S=s+76|0;T=s+72|0;n=65424;e:{f:{while(1){g:{h:{i:{j:{k:{l:{m:{n:{l=H[a+84>>2];if(!l){break n}p=l;l=H[a+80>>2];if(p>>>0<=l>>>0){break n}o=H[a+88>>2]+(l<<3)|0;n=H[o>>2];o=H[o+4>>2];H[a+80>>2]=l+1;if(!fb(j,n,o,k)){Ca(k,1,5440,0);j=0;break a}if((Ka(j,H[a+16>>2],2,k)|0)!=2){Ca(k,1,2472,0);j=0;break a}Ea(H[a+16>>2],s+40|0,2);if(H[s+40>>2]==65424){break m}Ca(k,1,4073,0);j=0;break a}if((n|0)==65427){break l}}while(1){if(!(Sa(j)|ra)){H[a+8>>2]=64;break l}if((Ka(j,H[a+16>>2],2,k)|0)!=2){Ca(k,1,2472,0);j=0;break a}Ea(H[a+16>>2],s+36|0,2);if(K[s+36>>2]<=1){Ca(k,1,6048,0);j=0;break a}o:{if(H[s+40>>2]!=32896){break o}if(Sa(j)|ra){break o}H[a+8>>2]=64;break l}r=H[a+8>>2];p:{if(!(r&16)){n=H[s+36>>2];break p}n=H[s+36>>2];l=H[a+24>>2];if(!l){break p}o=n+2|0;if(o>>>0>l>>>0){Ca(k,1,8370,0);j=0;break a}H[a+24>>2]=l-o}o=n-2|0;H[s+36>>2]=o;l=24912;t=H[s+40>>2];while(1){n=l;m=H[l>>2];if(m){l=l+12|0;if((m|0)!=(t|0)){continue}}break}if(!(r&H[n+4>>2])){Ca(k,1,5397,0);j=0;break a}q:{if(K[a+20>>2]>=o>>>0){l=H[a+16>>2];break q}l=Sa(j);r=ra;if((r|0)<0){l=1}else{l=l>>>0>>0&(r|0)<=0}if(l){Ca(k,1,5797,0);j=0;break a}l=Ia(H[a+16>>2],H[s+36>>2]);if(!l){Da(H[a+16>>2]);H[a+16>>2]=0;H[a+20>>2]=0;Ca(k,1,4973,0);j=0;break a}H[a+16>>2]=l;o=H[s+36>>2];H[a+20>>2]=o}l=Ka(j,l,o,k);if((l|0)!=H[s+36>>2]){Ca(k,1,2472,0);j=0;break a}o=H[n+8>>2];if(!o){Ca(k,1,11725,0);j=0;break a}if(!(sa[o|0](a,H[a+16>>2],l,k)|0)){H[s+32>>2]=H[s+40>>2];Ca(k,1,13959,s+32|0);j=0;break a}n=H[j+56>>2];t=H[s+36>>2];A=H[a+224>>2];o=H[A+40>>2];p=H[a+228>>2];x=N(p,40);l=o+x|0;M=H[l+20>>2];r=M+1|0;q=H[l+28>>2];if(r>>>0>q>>>0){X=O(O(q>>>0)+O(100));if(X=O(0)){o=~~X>>>0}else{o=0}H[l+28>>2]=o;r=Ia(H[l+24>>2],N(o,24));o=H[A+40>>2];l=x+o|0;if(!r){break k}H[l+24>>2]=r;M=H[l+20>>2];r=M+1|0}o=o+x|0;l=H[o+24>>2]+N(M,24)|0;H[l+16>>2]=t+4;n=(n-t|0)-4|0;H[l+8>>2]=n;H[l+12>>2]=n>>31;G[l>>1]=m;H[o+20>>2]=r;r:{if((m|0)!=65424){break r}l=H[o+16>>2];s:{if(!l){break s}p=H[o+4>>2];o=H[o+12>>2];if(p>>>0<=o>>>0){break s}l=l+N(o,24)|0;H[l>>2]=n;H[l+4>>2]=0}l=(H[j+56>>2]-H[s+36>>2]|0)-4|0;o=H[a+48>>2];n=H[a+52>>2];if((n|0)>0){p=1}else{p=l>>>0<=o>>>0&(n|0)>=0}if(p){break r}H[a+48>>2]=l;H[a+52>>2]=0}if(I[a+92|0]&4){if((ub(j,H[a+24>>2],k)|0)!=H[a+24>>2]|ra){Ca(k,1,2472,0);j=0;break a}H[s+40>>2]=65427;break l}if((Ka(j,H[a+16>>2],2,k)|0)!=2){Ca(k,1,2472,0);j=0;break a}Ea(H[a+16>>2],s+40|0,2);if(H[s+40>>2]!=65427){continue}break}}if(!(!(Sa(j)|ra)&H[a+8>>2]==64)){l=I[a+92|0];if(!(l&4)){l=N(H[a+228>>2],5644);o=H[a+180>>2];t:{u:{if(H[a+56>>2]){m=Sa(j);break u}m=H[a+24>>2];if(m>>>0<2){break t}}m=m-2|0;H[a+24>>2]=m}A=l+o|0;if(!m){break j}l=Sa(j);o=ra;if((o|0)<0){l=1}else{l=l>>>0>>0&(o|0)<=0}if(l){if(H[a+208>>2]){Ca(k,1,5842,0);j=0;break a}Ca(k,2,5842,0)}l=H[a+24>>2];if(l>>>0>=4294967294){Ca(k,1,1480,0);j=0;break a}o=H[A+5596>>2];v:{if(o){n=H[A+5600>>2];if(n>>>0>-3-l>>>0){Ca(k,1,1211,0);j=0;break a}l=Ia(o,(l+n|0)+2|0);if(l){H[A+5596>>2]=l;break j}Da(H[A+5596>>2]);H[A+5596>>2]=0;break v}l=Ga(l+2|0);H[A+5596>>2]=l;if(l){break j}}Ca(k,1,6176,0);j=0;break a}H[a+8>>2]=8;F[a+92|0]=l&250;break i}n=H[s+40>>2];break g}Da(H[l+24>>2]);a=H[A+40>>2]+N(p,40)|0;H[a+28>>2]=0;H[a+20>>2]=0;H[a+24>>2]=0;Ca(k,1,3863,0);j=0;break a}x=H[j+56>>2];n=x-2|0;t=H[j+60>>2];r=t-(x>>>0<2)|0;p=H[a+224>>2];P=H[p+40>>2];D=H[a+228>>2];q=N(D,40);o=P+q|0;l=H[o+16>>2]+N(H[o+12>>2],24)|0;H[l+8>>2]=n;H[l+12>>2]=r;r=l;l=t;v=H[a+24>>2];x=v+x|0;H[r+16>>2]=x;H[r+20>>2]=v>>>0>x>>>0?l+1|0:l;t=H[a+24>>2];M=H[o+20>>2];r=M+1|0;l=H[o+28>>2];w:{if(r>>>0<=l>>>0){l=H[o+24>>2];break w}X=O(O(l>>>0)+O(100));if(X=O(0)){l=~~X>>>0}else{l=0}H[o+28>>2]=l;l=Ia(H[o+24>>2],N(l,24));P=H[p+40>>2];o=q+P|0;if(!l){break f}H[o+24>>2]=l;M=H[o+20>>2];r=M+1|0}l=N(M,24)+l|0;H[l+16>>2]=t+2;H[l+8>>2]=n;H[l+12>>2]=n>>31;G[l>>1]=65427;H[(q+P|0)+20>>2]=r;x:{if(m){m=Ka(j,H[A+5596>>2]+H[A+5600>>2]|0,H[a+24>>2],k);l=8;if((m|0)==H[a+24>>2]){break x}l=64;if((m|0)!=-1){break x}Ca(k,1,2472,0);j=0;break a}m=0;l=H[a+24>>2]?64:8}H[a+8>>2]=l;H[A+5600>>2]=H[A+5600>>2]+m;y:{if(F[a+92|0]&1){break y}l=H[a+44>>2];if(H[a+76>>2]|((l|0)<0|(l|0)!=H[a+228>>2])){break y}if(!Fb(j)){break y}o=H[a+228>>2];n=H[a+180>>2]+N(o,5644)|0;l=H[n+5592>>2];o=H[H[a+224>>2]+40>>2]+N(o,40)|0;if((l|0)!=H[o+4>>2]){break y}p=l;l=H[n+5588>>2]+1|0;if(p>>>0<=l>>>0){break y}z:{o=H[o+16>>2]+N(l,24)|0;l=H[o>>2];o=H[o+4>>2];if((l|0)==H[j+56>>2]&(o|0)==H[j+60>>2]){break z}if(fb(j,l,o,k)){break z}Ca(k,1,5440,0);j=0;break a}if((Ka(j,H[a+16>>2],2,k)|0)!=2){Ca(k,1,2472,0);j=0;break a}Ea(H[a+16>>2],s+40|0,2);if(H[s+40>>2]==65424){break h}Ca(k,1,4073,0);j=0;break a}l=I[a+92|0];if((l&9)!=1){break i}F[a+92|0]=l|8;r=H[a+228>>2];if(H[(H[a+180>>2]+N(r,5644)|0)+5592>>2]==1){break i}if(!Fb(j)){break i}n=H[j+60>>2];t=n;o=H[j+56>>2];if((n&o)==-1){break i}A:{while(1){l=1;n=s+70|0;if((Ka(j,n,2,k)|0)!=2){break A}Ea(n,s- -64|0,2);if(H[s+64>>2]!=65424){break A}m=2472;if((Ka(j,n,2,k)|0)!=2){break c}Ea(n,s+60|0,2);if(H[s+60>>2]!=10){m=6048;break c}H[s+60>>2]=8;n=Ka(j,s+70|0,8,k);if((n|0)!=H[s+60>>2]){break c}if((n|0)!=8){m=4047;break c}Ea(s+70|0,s+56|0,2);Ea(T,s+52|0,4);Ea(S,s+48|0,1);Ea(R,s+44|0,1);if((r|0)!=H[s+56>>2]){n=H[s+52>>2];if(n>>>0<14){break A}n=n-12|0;H[s+52>>2]=n;n=ub(j,n,k);if(!ra&H[s+52>>2]==(n|0)){continue}break A}break}l=H[s+48>>2]!=H[s+44>>2]}if(!zc(j,o,t,k)){break b}if(l){break i}F[a+92|0]=I[a+92|0]&238|16;B:{if(!z){break B}o=H[a+180>>2];n=0;l=0;if((z|0)!=1){while(1){m=o+N(n,5644)|0;r=H[m+5592>>2];if(r){H[m+5592>>2]=r+1}m=o+N(n|1,5644)|0;r=H[m+5592>>2];if(r){H[m+5592>>2]=r+1}n=n+2|0;l=l+2|0;if((C|0)!=(l|0)){continue}break}}if(!E){break B}l=o+N(n,5644)|0;o=H[l+5592>>2];if(!o){break B}H[l+5592>>2]=o+1}Ca(k,2,9035,0)}if(F[a+92|0]&1){break h}if((Ka(j,H[a+16>>2],2,k)|0)!=2){if(!(!z|(z|0)!=(H[a+228>>2]+1|0))){j=H[a+180>>2];n=0;while(1){l=j+N(n,5644)|0;if(!(H[l+5588>>2]|H[l+5592>>2])){break e}n=n+1|0;if((z|0)!=(n|0)){continue}break}}Ca(k,1,2472,0);j=0;break a}Ea(H[a+16>>2],s+40|0,2)}n=H[s+40>>2];if(F[a+92|0]&1){break g}if((n|0)!=65497){continue}}break}if(H[a+8>>2]==256|(n|0)!=65497){break d}H[a+8>>2]=256;H[a+228>>2]=0;break d}Da(H[o+24>>2]);a=H[p+40>>2]+N(D,40)|0;H[a+28>>2]=0;H[a+20>>2]=0;H[a+24>>2]=0;Ca(k,1,3863,0);j=0;break a}H[s+16>>2]=n;Ca(k,4,11004,s+16|0);H[a+228>>2]=n;H[s+40>>2]=65497;H[a+8>>2]=256}n=H[a+228>>2];j=H[a+180>>2];C:{D:{if(F[a+92|0]&1){break D}E:{F:{if(n>>>0>=z>>>0){break F}m=j+N(n,5644)|0;while(1){if(H[m+5596>>2]){break F}n=n+1|0;H[a+228>>2]=n;m=m+5644|0;if((n|0)!=(z|0)){continue}break}break E}if((n|0)!=(z|0)){break D}}H[i>>2]=0;break C}G:{H:{l=j+N(n,5644)|0;if(H[l+5172>>2]){a=6837}else{if(!(I[l+5640|0]&2)){break G}r=H[l+5160>>2];I:{if(!r){m=0;break I}z=H[l+5164>>2];j=0;m=0;n=0;if(r>>>0>=4){A=r&-4;o=0;while(1){t=z+(n<<3)|0;m=H[t+28>>2]+(H[t+20>>2]+(H[t+12>>2]+(H[t+4>>2]+m|0)|0)|0)|0;n=n+4|0;o=o+4|0;if((A|0)!=(o|0)){continue}break}}o=r&3;if(!o){break I}while(1){m=H[(z+(n<<3)|0)+4>>2]+m|0;n=n+1|0;j=j+1|0;if((o|0)!=(j|0)){continue}break}}j=Ga(m);H[l+5172>>2]=j;if(j){break H}a=4009}Ca(k,1,a,0);Ca(k,1,8059,0);j=0;break a}H[l+5180>>2]=m;m=H[l+5164>>2];j=H[l+5160>>2];if(j){o=0;n=0;while(1){r=n<<3;t=r+m|0;z=H[t>>2];if(z){j=H[t+4>>2];if(j){B(H[l+5172>>2]+o|0,z,j)}j=r+H[l+5164>>2]|0;t=H[j+4>>2];Da(H[j>>2]);m=H[l+5164>>2];j=r+m|0;H[j>>2]=0;H[j+4>>2]=0;o=o+t|0;j=H[l+5160>>2]}n=n+1|0;if(n>>>0>>0){continue}break}}H[l+5160>>2]=0;Da(m);H[l+5164>>2]=0;H[l+5168>>2]=H[l+5172>>2];H[l+5176>>2]=H[l+5180>>2]}l=H[a+232>>2];Y=H[l+28>>2];o=H[a+228>>2];M=H[(H[Y+76>>2]+N(o,5644)|0)+5584>>2];j=H[l+24>>2];Z=H[j+24>>2];n=H[Y+24>>2];m=(o>>>0)/(n>>>0)|0;U=H[H[l+20>>2]>>2];l=o-N(m,n)|0;n=H[Y+12>>2];l=H[Y+4>>2]+N(l,n)|0;o=H[j>>2];o=l>>>0>o>>>0?l:o;H[U>>2]=o;n=l+n|0;l=l>>>0>n>>>0?-1:n;n=H[j+8>>2];l=l>>>0>>0?l:n;H[U+8>>2]=l;J:{K:{if(!((l|0)>(o|0)&(o|0)>=0)){Ca(k,1,6682,0);break K}n=H[U+20>>2];l=m;m=H[Y+16>>2];l=H[Y+8>>2]+N(l,m)|0;o=H[j+4>>2];o=l>>>0>o>>>0?l:o;H[U+4>>2]=o;m=l+m|0;l=l>>>0>m>>>0?-1:m;j=H[j+12>>2];j=j>>>0>l>>>0?l:j;H[U+12>>2]=j;if(!((j|0)>(o|0)&(o|0)>=0)){Ca(k,1,6644,0);break K}L:{if(H[M+4>>2]){if(H[U+16>>2]){break L}j=1;break J}Ca(k,1,5358,0);break K}M:{N:{while(1){H[Z+36>>2]=0;j=H[Z>>2];m=j>>31;z=j-1|0;l=H[U>>2];r=l;o=z+l|0;x=m-!j|0;l=x+(l>>31)|0;va=n,wa=Je(o,o>>>0>>0?l+1|0:l,j,m),H[va>>2]=wa;o=H[Z+4>>2];t=o>>31;r=o-1|0;l=H[U+4>>2];p=l;A=r+l|0;q=t-!o|0;l=q+(l>>31)|0;va=n,wa=Je(A,p>>>0>A>>>0?l+1|0:l,o,t),H[va+4>>2]=wa;l=H[U+8>>2];A=l;z=l+z|0;l=(l>>31)+x|0;va=n,wa=Je(z,z>>>0>>0?l+1|0:l,j,m),H[va+8>>2]=wa;j=H[U+12>>2];H[n+16>>2]=ga;l=q+(j>>31)|0;j=j+r|0;l=j>>>0>>0?l+1|0:l;va=n,wa=Je(j,l,o,t),H[va+12>>2]=wa;j=H[M+4>>2];H[n+20>>2]=j;l=H[Y+80>>2];H[n+24>>2]=j>>>0>>0?1:j-l|0;Da(H[n+52>>2]);H[n+68>>2]=0;H[n+60>>2]=0;H[n+64>>2]=0;H[n+52>>2]=0;H[n+56>>2]=0;j=N(j,152);l=H[n+28>>2];O:{if(!l){l=Ga(j);H[n+28>>2]=l;if(!l){break K}H[n+32>>2]=j;if(!j){break O}y(l,0,j);break O}if(j>>>0<=K[n+32>>2]){break O}l=Ia(l,j);if(!l){Ca(k,1,3090,0);Da(H[n+28>>2]);H[n+28>>2]=0;H[n+32>>2]=0;break K}H[n+28>>2]=l;o=H[n+32>>2];m=j-o|0;if(m){y(l+o|0,0,m)}H[n+32>>2]=j}j=H[n+20>>2];if(j){ja=M+944|0;ka=M+812|0;ea=M+28|0;o=H[n+28>>2];_=0;while(1){t=j-1|0;m=t&31;if((t&63)>>>0>=32){l=-1<>>32-m}z=r^-1;r=H[n>>2];m=z+r|0;A=l^-1;l=A+(r>>31)|0;l=m>>>0>>0?l+1|0:l;r=m;m=t&31;if((t&63)>>>0>=32){p=l>>m}else{p=((1<>>m}H[o>>2]=p;l=H[n+4>>2];r=l;m=l+z|0;l=(l>>31)+A|0;l=m>>>0>>0?l+1|0:l;r=m;m=t&31;if((t&63)>>>0>=32){q=l>>m}else{q=((1<>>m}H[o+4>>2]=q;l=H[n+8>>2];r=l;m=l+z|0;l=(l>>31)+A|0;l=m>>>0>>0?l+1|0:l;r=m;m=t&31;if((t&63)>>>0>=32){r=l>>m}else{r=((1<>>m}H[o+8>>2]=r;l=H[n+12>>2];x=l;m=l+z|0;l=(l>>31)+A|0;l=m>>>0>>0?l+1|0:l;x=m;m=t&31;if((t&63)>>>0>=32){x=l>>m}else{x=((1<>>m}H[o+12>>2]=x;C=r>>31;E=_<<2;R=H[E+ka>>2];m=R&31;if((R&63)>>>0>=32){l=1<>>32-m}P=v;m=P+r|0;l=l+C|0;C=m-1|0;m=(m>>>0

    >>0?l+1|0:l)-!m|0;l=R&31;if((R&63)>>>0>=32){l=m>>l}else{l=((1<>>l}C=l<>31;P=H[E+ja>>2];m=P&31;if((P&63)>>>0>=32){l=-1<>>32-m;m=-1<>>0>>0?l+1|0:l;E=m;m=P&31;if((P&63)>>>0>=32){l=l>>m}else{l=((1<>>m}l=l<>P:0;H[o+20>>2]=x;aa=p&-1<>R:0;H[o+16>>2]=m;Ie(m,0,x);if(!(!m|!ra)){break N}ca=N(m,x);if(ca>>>0>=107374183){break N}V=N(ca,40);if(_){P=P-1|0;R=R-1|0;l=$>>31;m=$+1|0;$=((m?l:l+1|0)&1)<<31|m>>>1;l=aa>>31;m=aa+1|0;aa=((m?l:l+1|0)&1)<<31|m>>>1;l=3}else{l=1}H[o+24>>2]=l;m=o+28|0;x=j;r=j&31;if((j&63)>>>0>=32){l=1<>>32-r}ia=j;r=l;j=H[M+12>>2];S=j>>>0

    >>0?j:P;j=S&31;if((S&63)>>>0>=32){l=-1<>>32-j;j=-1<>2];T=j>>>0>>0?j:R;j=T&31;if((T&63)>>>0>=32){l=-1<>>32-j;j=-1<>2];p=l;j=l+z|0;l=(l>>31)+A|0;l=j>>>0

    >>0?l+1|0:l;p=j;j=t&31;if((t&63)>>>0>=32){Q=l>>j}else{Q=((1<>>j}l=H[n>>2];p=l;j=l+z|0;l=(l>>31)+A|0;l=j>>>0

    >>0?l+1|0:l;p=j;j=t&31;if((t&63)>>>0>=32){ba=l>>j}else{ba=((1<>>j}j=0;p=z;C=p;q=A;E=q;l=t;break P}j=fa+1|0;p=j>>>1|0;q=t&31;if((t&63)>>>0>=32){l=p<>>32-q;p=p<>>0>C>>>0?l+1|0:l;q=H[n+4>>2];p=q+C|0;E=l;l=l+(q>>31)|0;l=p>>>0>>0?l+1|0:l;q=p;p=x&31;if((x&63)>>>0>=32){Q=l>>p}else{Q=((1<>>p}p=j&1;q=t&31;if((t&63)>>>0>=32){l=p<>>32-q;p=p<>2];D=v+p|0;q=p>>>0>>0?l+1|0:l;l=q+(v>>31)|0;l=v>>>0>D>>>0?l+1|0:l;v=D;D=x&31;if((x&63)>>>0>=32){ba=l>>D}else{ba=((1<>>D}l=x}D=l;v=H[n+8>>2];ha=v>>31;J=H[n+12>>2];H[m+4>>2]=Q;H[m>>2]=ba;H[m+16>>2]=j;l=(J>>31)+E|0;C=C+J|0;l=C>>>0>>0?l+1|0:l;E=C;C=D&31;if((D&63)>>>0>=32){l=l>>C}else{l=((1<>>C}H[m+12>>2]=l;l=q+ha|0;p=p+v|0;l=p>>>0>>0?l+1|0:l;q=p;p=D&31;if((D&63)>>>0>=32){l=l>>p}else{l=((1<>>p}H[m+8>>2]=l;da=1;p=H[ea>>2];j=(H[Z+24>>2]+(!H[M+20>>2]|!j?0:(j|0)==3?2:1)|0)-p|0;Q:{if((j|0)>=1024){da=898846567431158e293;if(j>>>0<2047){j=j-1023|0;break Q}da=Infinity;j=(j>>>0>=3069?3069:j)-2046|0;break Q}if((j|0)>-1023){break Q}da=2004168360008973e-307;if(j>>>0>4294965304){j=j+969|0;break Q}da=0;j=(j>>>0<=4294964336?-2960:j)+1938|0}qa=+H[ea+4>>2]*.00048828125+1;u(0,0);u(1,j+1023<<20);va=m,xa=O(qa*(da*+w())),L[va+32>>2]=xa;H[m+28>>2]=(p+H[M+804>>2]|0)-1;j=H[m+20>>2];R:{S:{if(!(j|!ca)){j=Ga(V);H[m+20>>2]=j;if(!j){Ca(k,1,2854,0);break K}if(V){y(j,0,V)}H[m+24>>2]=V;break S}if(V>>>0>K[m+24>>2]){j=Ia(j,V);if(!j){Ca(k,1,2854,0);Da(H[m+20>>2]);H[m+20>>2]=0;H[m+24>>2]=0;break K}H[m+20>>2]=j;l=H[m+24>>2];p=V-l|0;if(p){y(j+l|0,0,p)}H[m+24>>2]=V}if(!ca){break R}}j=H[m+20>>2];C=0;while(1){p=H[o+16>>2];l=(C>>>0)/(p>>>0)|0;p=C-N(l,p)|0;q=(p<>2];E=(q|0)>(E|0)?q:E;H[j>>2]=E;q=(l<>2];D=(q|0)>(D|0)?q:D;H[j+4>>2]=D;p=(p+1<>2];p=(p|0)<(q|0)?p:q;H[j+8>>2]=p;l=(l+1<>2];q=(l|0)<(q|0)?l:q;H[j+12>>2]=q;l=(p>>31)+pa|0;v=p;p=p+na|0;l=v>>>0>p>>>0?l+1|0:l;E=E>>T;v=p;p=T&31;if((T&63)>>>0>=32){l=l>>p}else{l=((1<>>p}v=l-E<>T;H[j+16>>2]=v;l=(q>>31)+ma|0;p=q+la|0;l=p>>>0>>0?l+1|0:l;D=D>>S;q=p;p=S&31;if((S&63)>>>0>=32){l=l>>p}else{l=((1<>>p}l=l-D<>S;H[j+20>>2]=l;p=N(l,v);Ie(p,0,68);if(ra){Ca(k,1,2935,0);break K}l=N(p,68);q=H[j+24>>2];T:{U:{if(!(q|!p)){q=Ga(l);H[j+24>>2]=q;if(!q){break K}if(!l){break U}y(q,0,l);break U}if(l>>>0<=K[j+28>>2]){break T}q=Ia(q,l);if(!q){Da(H[j+24>>2]);H[j+24>>2]=0;H[j+28>>2]=0;Ca(k,1,2549,0);break K}H[j+24>>2]=q;v=H[j+28>>2];J=l-v|0;if(!J){break U}y(q+v|0,0,J)}H[j+28>>2]=l}l=H[j+20>>2];q=H[j+16>>2];v=H[j+32>>2];V:{if(!v){l=sc(q,l,k);break V}l=qc(v,q,l,k)}H[j+32>>2]=l;l=H[j+20>>2];q=H[j+16>>2];v=H[j+36>>2];W:{if(!v){l=sc(q,l,k);break W}l=qc(v,q,l,k)}H[j+36>>2]=l;if(p){ba=D+1|0;ha=E+1|0;q=0;while(1){W=H[j+16>>2];v=(q>>>0)/(W>>>0)|0;l=H[j+24>>2]+N(q,68)|0;Q=H[l>>2];X:{if(Q){ta=H[l+56>>2];J=H[l+48>>2];ua=H[l+4>>2];Da(H[l+60>>2]);H[l+48>>2]=0;H[l+52>>2]=0;H[l- -64>>2]=0;H[l+56>>2]=0;H[l+60>>2]=0;H[l+40>>2]=0;H[l+44>>2]=0;H[l+32>>2]=0;H[l+36>>2]=0;H[l+24>>2]=0;H[l+28>>2]=0;H[l+16>>2]=0;H[l+20>>2]=0;H[l+8>>2]=0;H[l+12>>2]=0;H[l>>2]=Q;H[l+48>>2]=J;Y:{if(!J){break Y}J=N(J,24);if(!J){break Y}y(Q,0,J)}H[l+56>>2]=ta;H[l+4>>2]=ua;break X}J=Fa(10,24);H[l>>2]=J;if(!J){break K}H[l+48>>2]=10}J=q-N(v,W)|0;Q=J+E<>2];H[l+8>>2]=(Q|0)>(W|0)?Q:W;Q=v+D<>2];H[l+12>>2]=(Q|0)>(W|0)?Q:W;J=J+ha<>2];H[l+16>>2]=(J|0)<(Q|0)?J:Q;Q=l;l=v+ba<>2];H[Q+20>>2]=(l|0)<(v|0)?l:v;q=q+1|0;if((p|0)!=(q|0)){continue}break}}j=j+40|0;C=C+1|0;if((C|0)!=(ca|0)){continue}break}}ea=ea+8|0;m=m+36|0;fa=fa+1|0;if(fa>>>0>2]){continue}break}o=o+152|0;j=t;_=_+1|0;if(_>>>0>2]){continue}break}}Z=Z+52|0;n=n+76|0;M=M+1080|0;ga=ga+1|0;if(ga>>>0>2]){continue}break}j=1;break J}Ca(k,1,2982,0);break K}Ca(k,1,2373,0)}j=0}if(!j){Ca(k,1,3668,0);j=0;break a}j=H[a+228>>2];H[s+4>>2]=N(H[a+128>>2],H[a+132>>2]);H[s>>2]=j+1;Ca(k,4,11825,s);H[b>>2]=H[a+228>>2];H[i>>2]=1;if(c){b=bc(H[a+232>>2],0);H[c>>2]=b;j=0;if((b|0)==-1){break a}}b=H[H[H[a+232>>2]+20>>2]>>2];H[d>>2]=H[b>>2];H[e>>2]=H[b+4>>2];H[f>>2]=H[b+8>>2];H[g>>2]=H[b+12>>2];H[h>>2]=H[b+16>>2];H[a+8>>2]=H[a+8>>2]|128}j=1;break a}Ca(k,1,m,0)}Ca(k,1,3702,0);j=0}oa=s+80|0;return j|0}function fc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,L=0,M=0,O=0,P=0,Q=0,R=0,S=0,T=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{switch(H[a+84>>2]){case 0:k:{c=H[a+52>>2];b=H[a+196>>2];if(c>>>0>>0){q=H[a+64>>2];if(q>>>0>>0){break k}}Ca(H[a+236>>2],1,8491,0);break b}if(!H[a+44>>2]){k=H[a+36>>2];b=0;break i}H[a+44>>2]=0;i=H[a+68>>2];b=1;break i;case 1:l:{c=H[a+52>>2];b=H[a+196>>2];if(c>>>0>>0){q=H[a+64>>2];if(q>>>0>>0){break l}}Ca(H[a+236>>2],1,8536,0);break b}if(!H[a+44>>2]){e=H[a+36>>2];b=0;break e}H[a+44>>2]=0;i=H[a+48>>2];b=1;break e;case 2:m:{A=H[a+52>>2];x=H[a+196>>2];if(A>>>0>>0){r=H[a+64>>2];if(r>>>0>>0){break m}}Ca(H[a+236>>2],1,8671,0);break b}if(!H[a+44>>2]){y=H[a+40>>2];break f}H[a+228>>2]=0;H[a+232>>2]=0;H[a+44>>2]=0;j=H[a+200>>2];while(1){O=j+(u<<4)|0;l=H[O+8>>2];if(l){q=H[O+12>>2];b=0;while(1){g=l+(b^-1)|0;d=q+(b<<4)|0;s=g+H[d>>2]|0;n:{if(s>>>0>31){break n}c=H[O>>2];if(c>>>0>-1>>>s>>>0){break n}c=c<>>0>k>>>0?k:c:c;H[a+228>>2]=k}g=g+H[d+4>>2]|0;o:{if(g>>>0>31){break o}c=H[O+4>>2];if(c>>>0>-1>>>g>>>0){break o}c=c<>>0>i>>>0?i:c:c;H[a+232>>2]=i}b=b+1|0;if((l|0)!=(b|0)){continue}break}}u=u+1|0;if((x|0)!=(u|0)){continue}break};if(!k|!i){break d}if(!I[a|0]){H[a+108>>2]=H[a+208>>2];H[a+100>>2]=H[a+204>>2];H[a+112>>2]=H[a+216>>2];H[a+104>>2]=H[a+212>>2]}o=H[a+48>>2];b=1;break f;case 3:p:{A=H[a+52>>2];l=H[a+196>>2];if(A>>>0>>0){P=H[a+64>>2];if(P>>>0>>0){break p}}Ca(H[a+236>>2],1,8626,0);break b}if(!H[a+44>>2]){B=H[a+200>>2];e=H[a+28>>2];y=B+(e<<4)|0;E=H[a+40>>2];break g}H[a+228>>2]=0;H[a+232>>2]=0;H[a+44>>2]=0;B=H[a+200>>2];while(1){x=(p<<4)+B|0;s=H[x+8>>2];if(s){q=H[x+12>>2];b=0;while(1){g=s+(b^-1)|0;d=q+(b<<4)|0;j=g+H[d>>2]|0;q:{if(j>>>0>31){break q}c=H[x>>2];if(c>>>0>-1>>>j>>>0){break q}c=c<>>0>k>>>0?k:c:c;H[a+228>>2]=k}g=g+H[d+4>>2]|0;r:{if(g>>>0>31){break r}c=H[x+4>>2];if(c>>>0>-1>>>g>>>0){break r}c=c<>>0>i>>>0?i:c:c;H[a+232>>2]=i}b=b+1|0;if((s|0)!=(b|0)){continue}break}}p=p+1|0;if((l|0)!=(p|0)){continue}break};if(!k|!i){break d}s:{if(I[a|0]){p=H[a+108>>2];break s}p=H[a+208>>2];H[a+108>>2]=p;H[a+100>>2]=H[a+204>>2];H[a+112>>2]=H[a+216>>2];H[a+104>>2]=H[a+212>>2]}b=1;break g;case 4:break j;default:break d}}t:{p=H[a+52>>2];b=H[a+196>>2];if(p>>>0>>0){r=H[a+64>>2];if(r>>>0>>0){break t}}Ca(H[a+236>>2],1,8581,0);break d}if(!H[a+44>>2]){p=H[a+28>>2];o=H[a+200>>2]+(p<<4)|0;u=H[a+40>>2];b=0;break h}H[a+28>>2]=p;H[a+44>>2]=0;b=1;break h}u:while(1){v:{w:{if(!b){k=k+1|0;break w}H[a+40>>2]=i;if(K[a+56>>2]<=i>>>0){break b}e=H[a+48>>2];b=0;break v}b=1}x:while(1){y:{z:{A:{B:{if(!b){H[a+32>>2]=e;if(K[a+60>>2]<=e>>>0){break B}H[a+28>>2]=c;b=c;o=0;break y}H[a+36>>2]=k;if(K[a+76>>2]<=k>>>0){b=H[a+28>>2];o=1;break y}b=((N(H[a+16>>2],H[a+32>>2])+N(H[a+12>>2],H[a+40>>2])|0)+N(H[a+20>>2],H[a+28>>2])|0)+N(H[a+24>>2],k)|0;if(b>>>0>=K[a+8>>2]){break c}b=H[a+4>>2]+(b<<1)|0;if(J[b>>1]){break A}break a}i=H[a+40>>2]+1|0;break z}b=0;continue u}b=1;continue u}while(1){C:{D:{E:{if(!o){if(b>>>0>=q>>>0){break E}g=H[a+32>>2];d=H[a+200>>2]+(b<<4)|0;if(g>>>0>=K[d+8>>2]){break C}if(!I[a|0]){b=H[d+12>>2]+(g<<4)|0;H[a+76>>2]=N(H[b+12>>2],H[b+8>>2])}k=H[a+72>>2];b=1;continue x}b=b+1|0;H[a+28>>2]=b;break D}e=H[a+32>>2]+1|0;b=0;continue x}o=0;continue}o=1;continue}}}}F:while(1){G:{H:{if(!b){u=u+1|0;H[a+40>>2]=u;break H}if(p>>>0>=r>>>0){break b}H[a+228>>2]=0;H[a+232>>2]=0;o=H[a+200>>2]+(p<<4)|0;s=H[o+8>>2];if(!s){break b}q=H[o+12>>2];k=0;e=0;b=0;while(1){g=s+(b^-1)|0;d=q+(b<<4)|0;j=g+H[d>>2]|0;I:{if(j>>>0>31){break I}c=H[o>>2];if(c>>>0>-1>>>j>>>0){break I}c=c<>>0>e>>>0?e:c:c;H[a+228>>2]=e}g=g+H[d+4>>2]|0;J:{if(g>>>0>31){break J}c=H[o+4>>2];if(c>>>0>-1>>>g>>>0){break J}c=c<>>0>k>>>0?k:c:c;H[a+232>>2]=k}b=b+1|0;if((s|0)!=(b|0)){continue}break}if(!e|!k){break d}K:{if(I[a|0]){k=H[a+108>>2];break K}k=H[a+208>>2];H[a+108>>2]=k;H[a+100>>2]=H[a+204>>2];H[a+112>>2]=H[a+216>>2];H[a+104>>2]=H[a+212>>2]}b=0;break G}b=1}L:while(1){M:{N:{O:{P:{if(!b){H[a+224>>2]=k;if(K[a+112>>2]<=k>>>0){break P}B=H[a+100>>2];b=0;break M}if(K[a+56>>2]<=u>>>0){i=H[a+32>>2];b=1;break M}b=((N(H[a+16>>2],H[a+32>>2])+N(H[a+12>>2],u)|0)+N(H[a+20>>2],p)|0)+N(H[a+24>>2],H[a+36>>2])|0;if(b>>>0>=K[a+8>>2]){break c}b=H[a+4>>2]+(b<<1)|0;if(J[b>>1]){break O}break a}p=p+1|0;H[a+28>>2]=p;break N}b=0;continue F}b=1;continue F}while(1){Q:{R:{S:{T:{if(!b){H[a+220>>2]=B;if(K[a+104>>2]<=B>>>0){break S}i=H[a+48>>2];break T}i=i+1|0}H[a+32>>2]=i;b=H[a+60>>2];d=H[o+8>>2];if((b>>>0>>0?b:d)>>>0>i>>>0){g=H[o>>2];c=g;n=d+(i^-1)|0;m=n;d=m&31;if((m&63)>>>0>=32){b=c<>>32-d;v=g<>>0>=32){b=b>>>d|0}else{b=((1<>>d}if((q|0)!=(b|0)){break Q}b=m&31;if((m&63)>>>0>=32){b=-1>>>b|0}else{b=(1<>>b}c=H[o+4>>2];if((b&c)!=(c|0)){break Q}d=m&31;if((m&63)>>>0>=32){b=c<>>32-d;w=c<>2];j=F+d|0;O=Ke(j,d>>>0>j>>>0?h+1|0:h,w,b);b=h;L=H[a+208>>2];d=F+L|0;b=L>>>0>d>>>0?b+1|0:b;s=Ke(d,b,w,C);A=v-1|0;j=H[a+212>>2];l=A+j|0;d=f-!v|0;b=d;x=Ke(l,l>>>0>>0?b+1|0:b,v,f);D=H[a+204>>2];j=A+D|0;b=D>>>0>j>>>0?b+1|0:b;j=Ke(j,b,v,f);z=H[o+12>>2]+(i<<4)|0;M=H[z>>2];t=M+n|0;b=t&31;if((t&63)>>>0>=32){b=-1>>>b|0}else{b=(1<>>b}if((g|0)!=(b&g)){break Q}h=c;P=H[z+4>>2];n=P+n|0;e=n&31;if((n&63)>>>0>=32){b=c<>>32-e;e=c<>>0>=32){c=b>>>l|0}else{c=((1<>>l}if((h|0)!=(c|0)){break Q}l=H[a+224>>2];e=!!(Le(l,e,b)|ra);b=n&31;if((n&63)>>>0>=32){h=-1<>>32-b;b=-1<>>0>=32){h=n<>>32-e|b<>2];if((t&63)>>>0>=32){b=g<>>32-n;e=g<>>0>=32){h=-1<>>32-b;b=-1<>>0>=32){h=j<>>32-t|b<>2];if(!n|(!H[z+12>>2]|(j|0)==(x|0))){break Q}if((s|0)==(O|0)){break Q}u=H[a+68>>2];H[a+40>>2]=u;b=d;c=c+A|0;b=c>>>0>>0?b+1|0:b;g=(Ke(c,b,v,f)>>>M)-(j>>>M)|0;b=q;c=l+F|0;b=c>>>0>>0?b+1|0:b;S=a,T=N(n,(Ke(c,b,w,C)>>>P)-(s>>>P)|0)+g|0,H[S+36>>2]=T;b=1;continue L}c=H[a+220>>2];b=H[a+228>>2];B=c+b-(c>>>0)%(b>>>0)|0;break R}c=H[a+224>>2];b=H[a+232>>2];k=c+b-(c>>>0)%(b>>>0)|0;b=0;continue L}b=0;continue}b=1;continue}}}}U:while(1){V:{W:{if(!b){E=E+1|0;H[a+40>>2]=E;break W}H[a+224>>2]=p;if(K[a+112>>2]<=p>>>0){break b}v=H[a+100>>2];b=0;break V}b=1}X:while(1){Y:{Z:{_:{$:{if(!b){H[a+220>>2]=v;if(K[a+104>>2]<=v>>>0){break $}H[a+28>>2]=A;e=A;b=0;break Y}if(K[a+56>>2]<=E>>>0){u=H[a+32>>2];b=1;break Y}b=((N(H[a+16>>2],H[a+32>>2])+N(H[a+12>>2],E)|0)+N(H[a+20>>2],e)|0)+N(H[a+24>>2],H[a+36>>2])|0;if(b>>>0>=K[a+8>>2]){break c}b=H[a+4>>2]+(b<<1)|0;if(J[b>>1]){break _}break a}c=H[a+224>>2];b=H[a+232>>2];p=c+b-(c>>>0)%(b>>>0)|0;break Z}b=0;continue U}b=1;continue U}while(1){aa:{ba:{ca:{da:{if(!b){if(e>>>0>=P>>>0){break ca}u=H[a+48>>2];H[a+32>>2]=u;y=(e<<4)+B|0;break da}u=u+1|0;H[a+32>>2]=u}b=H[a+60>>2];d=H[y+8>>2];if((b>>>0>>0?b:d)>>>0>u>>>0){g=H[y>>2];c=g;f=d+(u^-1)|0;i=f;d=f&31;if((f&63)>>>0>=32){b=c<>>32-d;k=g<>>0>=32){b=b>>>d|0}else{b=((1<>>d}if((q|0)!=(b|0)){break aa}b=i&31;if((i&63)>>>0>=32){b=-1>>>b|0}else{b=(1<>>b}c=H[y+4>>2];if((b&c)!=(c|0)){break aa}d=i&31;if((i&63)>>>0>=32){b=c<>>32-d;o=c<>2];j=F+d|0;O=Ke(j,d>>>0>j>>>0?h+1|0:h,o,b);b=h;w=H[a+208>>2];d=w+F|0;b=w>>>0>d>>>0?b+1|0:b;s=Ke(d,b,o,n);C=k-1|0;j=H[a+212>>2];l=C+j|0;d=t-!k|0;b=d;x=Ke(l,l>>>0>>0?b+1|0:b,k,t);L=H[a+204>>2];j=C+L|0;b=L>>>0>j>>>0?b+1|0:b;j=Ke(j,b,k,t);D=H[y+12>>2]+(u<<4)|0;z=H[D>>2];m=z+f|0;b=m&31;if((m&63)>>>0>=32){b=-1>>>b|0}else{b=(1<>>b}if((g|0)!=(b&g)){break aa}h=c;M=H[D+4>>2];f=M+f|0;r=f&31;if((f&63)>>>0>=32){b=c<>>32-r;r=c<>>0>=32){c=b>>>l|0}else{c=((1<>>l}if((h|0)!=(c|0)){break aa}l=H[a+224>>2];r=!!(Le(l,r,b)|ra);b=f&31;if((f&63)>>>0>=32){h=-1<>>32-b;b=-1<>>0>=32){h=f<>>32-r|b<>2];if((m&63)>>>0>=32){b=g<>>32-f;f=g<>>0>=32){h=-1<>>32-b;b=-1<>>0>=32){h=f<>>32-m|b<>2];if(!f|(!H[D+12>>2]|(j|0)==(x|0))){break aa}if((s|0)==(O|0)){break aa}E=H[a+68>>2];H[a+40>>2]=E;b=d;c=c+C|0;b=c>>>0>>0?b+1|0:b;g=(Ke(c,b,k,t)>>>z)-(j>>>z)|0;b=q;c=l+F|0;b=c>>>0>>0?b+1|0:b;S=a,T=N(f,(Ke(c,b,o,n)>>>M)-(s>>>M)|0)+g|0,H[S+36>>2]=T;b=1;continue X}e=e+1|0;H[a+28>>2]=e;break ba}c=H[a+220>>2];b=H[a+228>>2];v=c+b-(c>>>0)%(b>>>0)|0;b=0;continue X}b=0;continue}b=1;continue}}}}ea:while(1){fa:{ga:{if(!b){y=y+1|0;H[a+40>>2]=y;break ga}H[a+32>>2]=o;if(K[a+60>>2]<=o>>>0){break b}E=H[a+108>>2];b=0;break fa}b=1}ha:while(1){ia:{ja:{ka:{la:{if(!b){H[a+224>>2]=E;if(K[a+112>>2]<=E>>>0){break la}B=H[a+100>>2];b=0;break ia}if(K[a+56>>2]<=y>>>0){p=H[a+28>>2];b=1;break ia}b=((N(H[a+16>>2],H[a+32>>2])+N(H[a+12>>2],y)|0)+N(H[a+20>>2],H[a+28>>2])|0)+N(H[a+24>>2],H[a+36>>2])|0;if(b>>>0>=K[a+8>>2]){break c}b=H[a+4>>2]+(b<<1)|0;if(J[b>>1]){break ka}break a}o=H[a+32>>2]+1|0;break ja}b=0;continue ea}b=1;continue ea}while(1){ma:{na:{oa:{pa:{if(!b){H[a+220>>2]=B;if(K[a+104>>2]<=B>>>0){break oa}H[a+28>>2]=A;p=A;break pa}p=p+1|0;H[a+28>>2]=p}if(p>>>0>>0){m=H[a+32>>2];e=H[a+200>>2]+(p<<4)|0;b=H[e+8>>2];if(m>>>0>=b>>>0){break ma}g=H[e>>2];c=g;f=b+(m^-1)|0;i=f;d=f&31;if((f&63)>>>0>=32){b=c<>>32-d;v=g<>>0>=32){b=b>>>d|0}else{b=((1<>>d}if((q|0)!=(b|0)){break ma}b=i&31;if((i&63)>>>0>=32){b=-1>>>b|0}else{b=(1<>>b}c=H[e+4>>2];if((b&c)!=(c|0)){break ma}d=i&31;if((i&63)>>>0>=32){b=c<>>32-d;w=c<>2];j=F+d|0;O=Ke(j,d>>>0>j>>>0?h+1|0:h,w,b);b=h;L=H[a+208>>2];d=F+L|0;b=L>>>0>d>>>0?b+1|0:b;s=Ke(d,b,w,n);C=v-1|0;j=H[a+212>>2];l=C+j|0;d=t-!v|0;b=d;x=Ke(l,l>>>0>>0?b+1|0:b,v,t);D=H[a+204>>2];j=C+D|0;b=D>>>0>j>>>0?b+1|0:b;j=Ke(j,b,v,t);z=H[e+12>>2]+(m<<4)|0;M=H[z>>2];m=M+f|0;b=m&31;if((m&63)>>>0>=32){b=-1>>>b|0}else{b=(1<>>b}if((g|0)!=(b&g)){break ma}h=c;P=H[z+4>>2];f=P+f|0;e=f&31;if((f&63)>>>0>=32){b=c<>>32-e;e=c<>>0>=32){c=b>>>l|0}else{c=((1<>>l}if((h|0)!=(c|0)){break ma}l=H[a+224>>2];e=!!(Le(l,e,b)|ra);b=f&31;if((f&63)>>>0>=32){h=-1<>>32-b;b=-1<>>0>=32){h=f<>>32-e|b<>2];if((m&63)>>>0>=32){b=g<>>32-f;f=g<>>0>=32){h=-1<>>32-b;b=-1<>>0>=32){h=f<>>32-m|b<>2];if(!f|(!H[z+12>>2]|(j|0)==(x|0))){break ma}if((s|0)==(O|0)){break ma}y=H[a+68>>2];H[a+40>>2]=y;b=d;c=c+C|0;b=c>>>0>>0?b+1|0:b;g=(Ke(c,b,v,t)>>>M)-(j>>>M)|0;b=q;c=l+F|0;b=c>>>0>>0?b+1|0:b;S=a,T=N(f,(Ke(c,b,w,n)>>>P)-(s>>>P)|0)+g|0,H[S+36>>2]=T;b=1;continue ha}c=H[a+220>>2];b=H[a+228>>2];B=c+b-(c>>>0)%(b>>>0)|0;break na}c=H[a+224>>2];b=H[a+232>>2];E=c+b-(c>>>0)%(b>>>0)|0;b=0;continue ha}b=0;continue}b=1;continue}}}}qa:while(1){ra:{sa:{if(!b){e=e+1|0;break sa}H[a+32>>2]=i;if(K[a+60>>2]<=i>>>0){break b}k=H[a+68>>2];b=0;break ra}b=1}ta:while(1){ua:{va:{wa:{xa:{if(!b){H[a+40>>2]=k;if(K[a+56>>2]<=k>>>0){break xa}H[a+28>>2]=c;b=c;o=0;break ua}H[a+36>>2]=e;if(K[a+76>>2]<=e>>>0){b=H[a+28>>2];o=1;break ua}b=((N(H[a+16>>2],H[a+32>>2])+N(H[a+12>>2],H[a+40>>2])|0)+N(H[a+20>>2],H[a+28>>2])|0)+N(H[a+24>>2],e)|0;if(b>>>0>=K[a+8>>2]){break c}b=H[a+4>>2]+(b<<1)|0;if(J[b>>1]){break wa}break a}i=H[a+32>>2]+1|0;break va}b=0;continue qa}b=1;continue qa}while(1){ya:{za:{Aa:{if(!o){if(b>>>0>=q>>>0){break Aa}g=H[a+32>>2];d=H[a+200>>2]+(b<<4)|0;if(g>>>0>=K[d+8>>2]){break ya}if(!I[a|0]){b=H[d+12>>2]+(g<<4)|0;H[a+76>>2]=N(H[b+12>>2],H[b+8>>2])}e=H[a+72>>2];b=1;continue ta}b=b+1|0;H[a+28>>2]=b;break za}k=H[a+40>>2]+1|0;b=0;continue ta}o=0;continue}o=1;continue}}}}return 0}Ca(H[a+236>>2],1,1343,0)}return 0}G[b>>1]=1;return 1}function yd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=O(0),t=0,u=0,v=0,w=O(0),x=0,z=0,A=0,C=O(0),D=O(0),E=O(0),G=0,J=0,K=0,L=0,M=0,Q=O(0),R=0,S=0,T=0;n=oa-8320|0;oa=n;H[n+64>>2]=0;j=2;h=H[a>>2];a:{b:{if((h|0)==176622093){break b}if((h|0)!=1375686655){if(!((h|0)!=201326592|H[a+4>>2]!=538988650)&H[a+8>>2]==176622093){break b}Y(1101);j=1;break a}j=0}h=Fa(1,96);g=0;c:{if(!h){break c}H[h+76>>2]=1;d:{e:{f:{switch(j|0){case 0:H[h+88>>2]=68;H[h+84>>2]=69;H[h+80>>2]=70;H[h+16>>2]=71;H[h+4>>2]=72;H[h+28>>2]=73;H[h+24>>2]=74;H[h+20>>2]=75;H[h>>2]=76;H[h+92>>2]=77;H[h+44>>2]=78;H[h+40>>2]=79;H[h+36>>2]=80;H[h+32>>2]=81;H[h+12>>2]=82;H[h+8>>2]=83;g=Ub();H[h+48>>2]=g;if(g){break e}break d;case 2:break f;default:break d}}H[h+88>>2]=84;H[h+84>>2]=85;H[h+80>>2]=86;H[h+16>>2]=87;H[h+4>>2]=88;H[h+92>>2]=89;H[h+44>>2]=90;H[h+40>>2]=91;H[h+36>>2]=92;H[h+32>>2]=93;H[h+28>>2]=94;H[h+24>>2]=95;H[h+20>>2]=96;H[h+12>>2]=97;H[h+8>>2]=98;H[h>>2]=99;g=Fa(1,136);g:{if(g){l=Ub();H[g>>2]=l;h:{if(!l){break h}H[g+108>>2]=0;H[g+112>>2]=0;F[g+124|0]=0;H[g+116>>2]=0;H[g+120>>2]=0;l=tb();H[g+4>>2]=l;if(!l){break h}l=tb();H[g+8>>2]=l;if(!l){break h}break g}Pc(g)}g=0}H[h+48>>2]=g;if(!g){break d}}H[h+72>>2]=1;H[h+64>>2]=1;H[h+60>>2]=0;H[h+52>>2]=0;H[h+56>>2]=0;H[h+68>>2]=1;g=h;break c}Da(h);g=0}if(g){H[g+60>>2]=0;H[g+72>>2]=100}if(g){H[g+56>>2]=0;H[g+68>>2]=101}if(g){H[g+52>>2]=0;H[g+64>>2]=102}h=n+68|0;if(h){y(h,0,8248);H[h+8248>>2]=0;H[h+8200>>2]=-1;H[h+8204>>2]=-1}if(d){H[n+8316>>2]=H[n+8316>>2]|1}H[n+60>>2]=b;H[n+56>>2]=a;H[n+52>>2]=a;j=1;b=0;h=n+52|0;i:{if(!h){break i}a=Fa(1,72);if(a){j:{H[a+64>>2]=1048576;l=Ga(1048576);H[a+32>>2]=l;if(!l){Da(a);a=0;break j}H[a+36>>2]=l;H[a+28>>2]=2;H[a+24>>2]=3;H[a+20>>2]=4;H[a+16>>2]=5;H[a+44>>2]=6;H[a+40>>2]=8;H[a+68>>2]=H[a+68>>2]|2}}else{a=0}if(!a){break i}if(a){H[a+4>>2]=0;H[a>>2]=h}b=H[h+8>>2];if(a){H[a+8>>2]=b;H[a+12>>2]=0}if(!(!a|!(I[a+68|0]&2))){H[a+16>>2]=64}if(a){H[a+24>>2]=66}if(a){H[a+28>>2]=67}b=a}a=n+68|0;if(!g|!a){a=0}else{k:{if(!H[g+76>>2]){Ca(g+52|0,1,9902,0);a=0;break k}sa[H[g+24>>2]](H[g+48>>2],a);a=1}}if(!a){Y(1153);jb(b);lb(g);break a}if(!b|!g){a=0}else{l:{if(!H[g+76>>2]){Ca(g+52|0,1,9983,0);a=0;break l}a=sa[H[g>>2]](b,H[g+48>>2],n- -64|0,g+52|0)|0}}if(!a){Y(1181);jb(b);lb(g);Va(H[n+64>>2]);break a}m:{if(!f){break m}if(g){a=sa[H[g+40>>2]](H[g+48>>2],f,g+52|0)|0}else{a=0}if(a){break m}Y(1116);jb(b);lb(g);Va(H[n+64>>2]);break a}a=H[n+64>>2];f=0;n:{if(!H[g+76>>2]|(!g|!b)){a=f}else{a=sa[H[g+4>>2]](H[g+48>>2],b,a,g+52|0)|0}if(a){if(!(!H[g+76>>2]|(!g|!b))){f=sa[H[g+16>>2]](H[g+48>>2],b,g+52|0)|0}if(f){break n}}Y(1316);lb(g);jb(b);Va(H[n+64>>2]);break a}jb(b);lb(g);k=H[n+64>>2];a=H[k+28>>2];if(a){Da(a);k=H[n+64>>2];H[k+28>>2]=0;H[k+32>>2]=0}v=H[k+16>>2];o:{p:{if(!c){if(!(!e|(v|0)!=4)){p=1;v=4;break o}q:{b=H[k+20>>2];if(!((b|0)==3|(v|0)!=3)){a=H[k+24>>2];if(H[a>>2]!=H[a+4>>2]|H[a+52>>2]==1){break q}H[k+20>>2]=3;break p}if(v>>>0>2){break q}H[k+20>>2]=2;break o}r:{switch(b-3|0){case 2:s:{t:{if(v>>>0<4){break t}f=H[k+24>>2];a=H[f>>2];if((a|0)!=H[f+52>>2]|(a|0)!=H[f+104>>2]|(a|0)!=H[f+156>>2]){break t}a=H[f+4>>2];if((a|0)!=H[f+56>>2]|(a|0)!=H[f+108>>2]){break t}if((a|0)==H[f+160>>2]){break s}}H[n+20>>2]=1053;H[n+16>>2]=1373;Ha(26080,8179,n+16|0);break o}g=N(H[f+12>>2],H[f+8>>2]);C=O(O(1)/O((-1<>2]^-1)>>>0));D=O(O(1)/O((-1<>2]^-1)>>>0));w=O(O(1)/O((-1<>2]^-1)>>>0));Q=O(O(1)/O((-1<>2]^-1)>>>0));a=0;while(1){if((a|0)!=(g|0)){h=a<<2;b=h+H[f+148>>2]|0;l=H[b>>2];c=h+H[f+96>>2]|0;j=H[c>>2];m=h+H[f+44>>2]|0;s=O(O(1)-O(C*O(H[h+H[f+200>>2]>>2])));E=O(O(O(O(1)-O(Q*O(H[m>>2])))*O(255))*s);if(O(P(E))>2]=h;E=O(O(O(O(1)-O(w*O(j|0)))*O(255))*s);if(O(P(E))>2]=h;s=O(O(O(O(1)-O(D*O(l|0)))*O(255))*s);if(O(P(s))>2]=c;a=a+1|0;continue}break};Da(H[f+200>>2]);a=H[k+24>>2];H[a+128>>2]=8;H[a+76>>2]=8;H[a+24>>2]=8;H[a+200>>2]=0;H[k+20>>2]=1;a=H[k+16>>2]-1|0;H[k+16>>2]=a;i=3;while(1){if(a>>>0<=i>>>0){break o}a=H[k+24>>2]+N(i,52)|0;B(a,a+52|0,52);i=i+1|0;a=H[k+16>>2];continue};case 0:break p;case 1:break r;default:break o}}g=H[k+24>>2];a=H[g>>2];u:{v:{if((a|0)!=H[g+52>>2]|(a|0)!=H[g+104>>2]){break v}a=H[g+4>>2];if((a|0)!=H[g+56>>2]){break v}if((a|0)==H[g+108>>2]){break u}}H[n+36>>2]=1115;H[n+32>>2]=1373;Ha(26080,8221,n+32|0);break o}a=H[g+24>>2];b=-1<>2]?0:a;j=H[g+84>>2]?0:a;m=N(H[g+12>>2],H[g+8>>2]);a=0;while(1){if((a|0)!=(m|0)){c=a<<2;i=c+H[g+44>>2]|0;f=c+H[g+148>>2]|0;s=O(H[f>>2]-l|0);h=c+H[g+96>>2]|0;C=O(H[h>>2]-j|0);D=O(H[i>>2]);w=O(O(O(s*O(1.4019900560379028))+O(O(C*O(-3680000008898787e-20))+D))+O(.5));if(O(P(w))>2]=(b|0)<(c|0)?b:(c|0)>0?c:0;w=O(O(O(s*O(-.7141128182411194))+O(O(D*O(1.0003000497817993))+O(C*O(-.34412500262260437))))+O(.5));if(O(P(w))>2]=(b|0)<(c|0)?b:(c|0)>0?c:0;s=O(O(O(s*O(-7999999979801942e-21))+O(O(D*O(.9998229742050171))+O(C*O(1.7720400094985962))))+O(.5));if(O(P(s))>2]=(b|0)<(c|0)?b:(c|0)>0?c:0;a=a+1|0;continue}break}H[k+20>>2]=1;break o}v=c>>>0>v>>>0?v:c;p=1;break o}w:{x:{c=H[k+24>>2];if(H[c>>2]!=1){break x}y:{switch(H[c+52>>2]-1|0){case 1:if(H[c+104>>2]!=2){break x}if(!(H[c+4>>2]!=1|H[c+56>>2]!=2|H[c+108>>2]!=2)){b=H[c+24>>2];i=H[c+148>>2];a=H[c+96>>2];j=H[c+44>>2];G=H[c+60>>2];q=H[c+8>>2];f=H[c+12>>2];c=N(q,f)<<2;h=Ja(c);g=Ja(c);l=Ja(c);if(!(!h|!g|!l)){m=-1<>2]&1;L=f-b|0;K=H[k>>2]&1;x=q-K|0;if(!b){c=l;f=g;b=h;break w}c=l;f=g;b=h;while(1){if((p|0)==(q|0)){break w}La(o,m,H[j>>2],0,0,b,f,c);p=p+1|0;c=c+4|0;f=f+4|0;b=b+4|0;j=j+4|0;continue}}Da(h);Da(g);Da(l);break o}if(H[c+4>>2]!=1|H[c+56>>2]!=1|H[c+108>>2]!=1){break x}a=H[c+24>>2];f=H[c+148>>2];b=H[c+96>>2];i=H[c+44>>2];t=H[c+60>>2];h=H[c+8>>2];x=H[c+12>>2];c=N(h,x)<<2;g=Ja(c);l=Ja(c);m=Ja(c);if(!(!g|!l|!m)){o=-1<>2]&1;a=h-z|0;G=a&1;u=a>>>1|0;J=a&-2;a=m;j=l;c=g;while(1){if((q|0)!=(x|0)){if(z){La(r,o,H[i>>2],0,0,c,j,a);j=j+4|0;c=c+4|0;i=i+4|0;a=a+4|0}h=0;while(1){if(h>>>0>>0){La(r,o,H[i>>2],H[b>>2],H[f>>2],c,j,a);La(r,o,H[i+4>>2],H[b>>2],H[f>>2],c+4|0,j+4|0,a+4|0);h=h+2|0;f=f+4|0;b=b+4|0;a=a+8|0;j=j+8|0;c=c+8|0;i=i+8|0;continue}break}z:{if(!G){break z}h=H[i>>2];A:{if((t|0)==(u|0)){La(r,o,h,0,0,c,j,a);break A}La(r,o,h,H[b>>2],H[f>>2],c,j,a)}a=a+4|0;j=j+4|0;c=c+4|0;i=i+4|0;if(t>>>0<=u>>>0){break z}f=f+4|0;b=b+4|0}q=q+1|0;continue}break}Da(H[H[k+24>>2]+44>>2]);a=H[k+24>>2];H[a+44>>2]=g;Da(H[a+96>>2]);a=H[k+24>>2];H[a+96>>2]=l;Da(H[a+148>>2]);a=H[k+24>>2];H[a+148>>2]=m;b=H[a+8>>2];H[a+112>>2]=b;H[a+60>>2]=b;b=H[a+12>>2];H[a+116>>2]=b;H[a+64>>2]=b;b=H[a>>2];H[a+104>>2]=b;H[a+52>>2]=b;b=H[a+4>>2];H[a+108>>2]=b;H[a+56>>2]=b;H[k+20>>2]=1;break o}Da(g);Da(l);Da(m);break o;case 0:break y;default:break x}}if(H[c+104>>2]!=1|H[c+4>>2]!=1|(H[c+56>>2]!=1|H[c+108>>2]!=1)){break x}b=H[c+24>>2];i=H[c+148>>2];a=H[c+96>>2];j=H[c+44>>2];o=N(H[c+12>>2],H[c+8>>2]);c=o<<2;g=Ja(c);l=Ja(c);m=Ja(c);if(!(!g|!l|!m)){q=-1<>2],H[a>>2],H[i>>2],h,b,f);c=c+1|0;f=f+4|0;b=b+4|0;h=h+4|0;i=i+4|0;a=a+4|0;j=j+4|0;continue}break}Da(H[H[k+24>>2]+44>>2]);a=H[k+24>>2];H[a+44>>2]=g;Da(H[a+96>>2]);a=H[k+24>>2];H[a+96>>2]=l;Da(H[a+148>>2]);H[H[k+24>>2]+148>>2]=m;H[k+20>>2]=1;break o}Da(g);Da(l);Da(m);break o}H[n+4>>2]=463;H[n>>2]=1373;Ha(26080,8264,n);break o}J=x>>>1|0;z=x&-2;R=L&-2;u=q<<2;while(1){if(M>>>0>>0){p=c+u|0;r=f+u|0;q=b+u|0;t=j+u|0;if(K){La(o,m,H[j>>2],0,0,b,f,c);La(o,m,H[t>>2],H[a>>2],H[i>>2],q,r,p);p=p+4|0;r=r+4|0;q=q+4|0;t=t+4|0;c=c+4|0;f=f+4|0;j=j+4|0;b=b+4|0}A=0;while(1){if(z>>>0>A>>>0){La(o,m,H[j>>2],H[a>>2],H[i>>2],b,f,c);La(o,m,H[j+4>>2],H[a>>2],H[i>>2],b+4|0,f+4|0,c+4|0);La(o,m,H[t>>2],H[a>>2],H[i>>2],q,r,p);La(o,m,H[t+4>>2],H[a>>2],H[i>>2],q+4|0,r+4|0,p+4|0);A=A+2|0;i=i+4|0;a=a+4|0;p=p+8|0;r=r+8|0;q=q+8|0;t=t+8|0;c=c+8|0;f=f+8|0;b=b+8|0;j=j+8|0;continue}break}B:{if((x|0)==(z|0)){break B}A=H[j>>2];C:{if((G|0)==(J|0)){La(o,m,A,0,0,b,f,c);La(o,m,H[t>>2],0,0,q,r,p);break C}La(o,m,A,H[a>>2],H[i>>2],b,f,c);La(o,m,H[t>>2],H[a>>2],H[i>>2],q,r,p)}c=c+4|0;f=f+4|0;b=b+4|0;j=j+4|0;if(G>>>0<=J>>>0){break B}i=i+4|0;a=a+4|0}M=M+2|0;c=c+u|0;f=f+u|0;b=b+u|0;j=j+u|0;continue}break}D:{if(!(L&1)){break D}if(K){La(o,m,H[j>>2],0,0,b,f,c);c=c+4|0;f=f+4|0;j=j+4|0;b=b+4|0}p=0;while(1){if(p>>>0>>0){La(o,m,H[j>>2],H[a>>2],H[i>>2],b,f,c);La(o,m,H[j+4>>2],H[a>>2],H[i>>2],b+4|0,f+4|0,c+4|0);p=p+2|0;i=i+4|0;a=a+4|0;c=c+8|0;f=f+8|0;b=b+8|0;j=j+8|0;continue}break}if((x|0)==(z|0)){break D}j=H[j>>2];if((G|0)==(J|0)){La(o,m,j,0,0,b,f,c);break D}La(o,m,j,H[a>>2],H[i>>2],b,f,c)}Da(H[H[k+24>>2]+44>>2]);a=H[k+24>>2];H[a+44>>2]=h;Da(H[a+96>>2]);a=H[k+24>>2];H[a+96>>2]=g;Da(H[a+148>>2]);a=H[k+24>>2];H[a+148>>2]=l;b=H[a+8>>2];H[a+112>>2]=b;H[a+60>>2]=b;b=H[a+12>>2];H[a+116>>2]=b;H[a+64>>2]=b;b=H[a>>2];H[a+104>>2]=b;H[a+52>>2]=b;b=H[a+4>>2];H[a+108>>2]=b;H[a+56>>2]=b;H[k+20>>2]=1;p=0}f=H[n+64>>2];E:{if(d){break E}b=0;while(1){if((b|0)==(v|0)){break E}d=H[f+24>>2]+N(b,52)|0;a=H[d+24>>2];if((a|0)!=8){F:{if(a>>>0<=7){h=N(H[d+12>>2],H[d+8>>2]);g=H[d+44>>2];if(H[d+32>>2]){c=1<>2];j=a>>31<<7|a>>>25;S=l,T=Je(a<<7,j,c,0),H[S>>2]=T;i=i+1|0;continue}}a=-1<>2],0,255),ra,a,0);H[c>>2]=l;i=i+1|0;continue}}a=a-8|0;c=N(H[d+12>>2],H[d+8>>2]);h=H[d+44>>2];i=0;if(H[d+32>>2]){while(1){if((c|0)==(i|0)){break F}g=h+(i<<2)|0;H[g>>2]=H[g>>2]>>a;i=i+1|0;continue}}while(1){if((c|0)==(i|0)){break F}g=h+(i<<2)|0;H[g>>2]=H[g>>2]>>>a;i=i+1|0;continue}}H[d+24>>2]=8}b=b+1|0;continue}}a=H[f+24>>2];b=N(H[a+12>>2],H[a+8>>2]);G:{if(!p){if(H[f+20>>2]==2){if(H[f+16>>2]==1){na(H[a+44>>2],b|0);break G}if(!e){break G}ea(H[a+44>>2],H[a+96>>2],b|0);break G}da(H[a+44>>2],H[a+96>>2],H[a+148>>2],b|0);break G}H:{switch(v-1|0){case 0:ca(H[a+44>>2],b|0);break G;case 2:ba(H[a+44>>2],H[a+96>>2],H[a+148>>2],b|0);break G;case 3:break H;default:break G}}aa(H[a+44>>2],H[a+96>>2],H[a+148>>2],H[a+200>>2],b|0)}Va(H[n+64>>2]);j=0}oa=n+8320|0;return j|0}function mc(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,L=0,M=0;j=H[a>>2];a:{if(j>>>0>>0|b>>>0>=d>>>0|b>>>0>=j>>>0){break a}j=H[a+4>>2];if(j>>>0>>0|c>>>0>=e>>>0|c>>>0>=j>>>0){break a}C=(c>>>0)/K[a+12>>2]|0;s=H[a+8>>2];F=(b>>>0)/(s>>>0)|0;J=(N(s,F)-b|0)+s|0;x=c;while(1){k=H[a+12>>2];j=k;j=(c|0)==(x|0)?j-((c>>>0)%(j>>>0)|0)|0:j;u=e-x|0;r=j>>>0>>0?j:u;z=r&-4;v=r&3;L=r&-8;G=r&7;w=r-1|0;M=(g|0)==2&(r|0)==1;I=N(k-j|0,s);A=(N(x-c|0,h)<<2)+f|0;D=F;u=b;while(1){j=(b|0)==(u|0)?J:s;k=d-u|0;q=j>>>0>>0?j:k;k=s-j|0;l=D<<2;j=H[l+(H[a+24>>2]+(N(H[a+16>>2],C)<<2)|0)>>2];b:{c:{d:{e:{f:{g:{if(i){h:{i:{j:{k:{if(j){l=((I<<2)+j|0)+(k<<2)|0;j=u-b|0;if((g|0)==1){break h}m=(N(g,j)<<2)+A|0;if((q|0)==1){break i}if(M){break j}if((g|0)!=8|q>>>0<=7){break k}if(!r){break b}o=q&-4;k=0;while(1){j=0;while(1){H[(j<<5)+m>>2]=H[(j<<2)+l>>2];n=j|1;H[(n<<5)+m>>2]=H[(n<<2)+l>>2];n=j|2;H[(n<<5)+m>>2]=H[(n<<2)+l>>2];n=j|3;H[(n<<5)+m>>2]=H[(n<<2)+l>>2];j=j+4|0;if(o>>>0>j>>>0){continue}break}if(j>>>0>>0){while(1){H[(j<<5)+m>>2]=H[(j<<2)+l>>2];j=j+1|0;if((q|0)!=(j|0)){continue}break}}l=(s<<2)+l|0;m=(h<<2)+m|0;k=k+1|0;if((r|0)!=(k|0)){continue}break}break b}if((g|0)!=1){if(!r){break b}p=q&-4;n=q&3;l=(N(u-b|0,g)<<2)+A|0;o=0;while(1){l:{if(!q){break l}m=0;j=0;k=0;if(q>>>0>=4){while(1){H[(N(g,j)<<2)+l>>2]=0;H[(N(j|1,g)<<2)+l>>2]=0;H[(N(j|2,g)<<2)+l>>2]=0;H[(N(j|3,g)<<2)+l>>2]=0;j=j+4|0;k=k+4|0;if((p|0)!=(k|0)){continue}break}}if(!n){break l}while(1){H[(N(g,j)<<2)+l>>2]=0;j=j+1|0;m=m+1|0;if((n|0)!=(m|0)){continue}break}}l=(h<<2)+l|0;o=o+1|0;if((r|0)!=(o|0)){continue}break}break b}if(!r){break b}l=q<<2;k=(u-b<<2)+A|0;o=0;if(w>>>0>=7){break g}break f}if(!r){break b}E=q&-4;p=q&3;n=0;break c}j=0;k=q&-4;if(k){while(1){H[(j<<3)+m>>2]=H[(j<<2)+l>>2];o=j|1;H[(o<<3)+m>>2]=H[(o<<2)+l>>2];o=j|2;H[(o<<3)+m>>2]=H[(o<<2)+l>>2];o=j|3;H[(o<<3)+m>>2]=H[(o<<2)+l>>2];j=j+4|0;if(k>>>0>j>>>0){continue}break}}if(j>>>0>=q>>>0){break b}o=0;k=j;n=q-j&3;if(n){while(1){H[(k<<3)+m>>2]=H[(k<<2)+l>>2];k=k+1|0;o=o+1|0;if((n|0)!=(o|0)){continue}break}}if(j-q>>>0>4294967292){break b}while(1){H[(k<<3)+m>>2]=H[(k<<2)+l>>2];j=k+1|0;H[(j<<3)+m>>2]=H[(j<<2)+l>>2];j=k+2|0;H[(j<<3)+m>>2]=H[(j<<2)+l>>2];j=k+3|0;H[(j<<3)+m>>2]=H[(j<<2)+l>>2];k=k+4|0;if((q|0)!=(k|0)){continue}break}break b}if(!r){break b}k=0;if(w>>>0>=3){while(1){H[m>>2]=H[l>>2];j=h<<2;m=j+m|0;p=l;l=s<<2;o=p+l|0;H[m>>2]=H[o>>2];m=j+m|0;o=l+o|0;H[m>>2]=H[o>>2];m=j+m|0;o=l+o|0;H[m>>2]=H[o>>2];l=l+o|0;m=j+m|0;k=k+4|0;if((z|0)!=(k|0)){continue}break}}j=0;if(!v){break b}while(1){H[m>>2]=H[l>>2];l=(s<<2)+l|0;m=(h<<2)+m|0;j=j+1|0;if((v|0)!=(j|0)){continue}break}break b}j=(j<<2)+A|0;if((q|0)!=4){if(!r){break b}m=q<<2;o=0;if(w>>>0>=3){break e}break d}if(!r){break b}o=0;if(w>>>0>=3){while(1){k=H[l+4>>2];H[j>>2]=H[l>>2];H[j+4>>2]=k;k=H[l+12>>2];H[j+8>>2]=H[l+8>>2];H[j+12>>2]=k;k=l;l=s<<2;k=k+l|0;n=H[k+12>>2];m=h<<2;j=m+j|0;H[j+8>>2]=H[k+8>>2];H[j+12>>2]=n;n=H[k+4>>2];H[j>>2]=H[k>>2];H[j+4>>2]=n;k=l+k|0;n=H[k+12>>2];j=j+m|0;H[j+8>>2]=H[k+8>>2];H[j+12>>2]=n;n=H[k+4>>2];H[j>>2]=H[k>>2];H[j+4>>2]=n;k=l+k|0;n=H[k+12>>2];j=j+m|0;H[j+8>>2]=H[k+8>>2];H[j+12>>2]=n;n=H[k+4>>2];H[j>>2]=H[k>>2];H[j+4>>2]=n;l=l+k|0;j=j+m|0;o=o+4|0;if((z|0)!=(o|0)){continue}break}}m=0;if(!v){break b}while(1){k=H[l+4>>2];H[j>>2]=H[l>>2];H[j+4>>2]=k;k=H[l+12>>2];H[j+8>>2]=H[l+8>>2];H[j+12>>2]=k;l=(s<<2)+l|0;j=(h<<2)+j|0;m=m+1|0;if((v|0)!=(m|0)){continue}break}break b}if(!j){j=Fa(1,N(H[a+8>>2],H[a+12>>2])<<2);if(!j){return 0}H[l+(H[a+24>>2]+(N(H[a+16>>2],C)<<2)|0)>>2]=j}l=((I<<2)+j|0)+(k<<2)|0;j=u-b|0;m:{n:{o:{p:{q:{r:{if((g|0)!=1){m=(N(g,j)<<2)+A|0;if((q|0)==1){break r}if((g|0)!=8|q>>>0<=7){break q}if(!r){break b}o=q&-4;k=0;while(1){j=0;while(1){H[(j<<2)+l>>2]=H[(j<<5)+m>>2];n=j|1;H[(n<<2)+l>>2]=H[(n<<5)+m>>2];n=j|2;H[(n<<2)+l>>2]=H[(n<<5)+m>>2];n=j|3;H[(n<<2)+l>>2]=H[(n<<5)+m>>2];j=j+4|0;if(o>>>0>j>>>0){continue}break}if(j>>>0>>0){while(1){H[(j<<2)+l>>2]=H[(j<<5)+m>>2];j=j+1|0;if((q|0)!=(j|0)){continue}break}}l=(s<<2)+l|0;m=(h<<2)+m|0;k=k+1|0;if((r|0)!=(k|0)){continue}break}break b}j=(j<<2)+A|0;if((q|0)==4){break p}if(!r){break b}m=q<<2;o=0;if(w>>>0>=3){break o}break n}if(!r){break b}o=0;if(w>>>0>=3){while(1){H[l>>2]=H[m>>2];j=s<<2;l=j+l|0;k=h<<2;m=k+m|0;H[l>>2]=H[m>>2];l=j+l|0;m=k+m|0;H[l>>2]=H[m>>2];l=j+l|0;m=k+m|0;H[l>>2]=H[m>>2];l=j+l|0;m=k+m|0;o=o+4|0;if((z|0)!=(o|0)){continue}break}}j=0;if(!v){break b}while(1){H[l>>2]=H[m>>2];l=(s<<2)+l|0;m=(h<<2)+m|0;j=j+1|0;if((v|0)!=(j|0)){continue}break}break b}if(!r){break b}E=q&-4;p=q&3;n=0;break m}if(!r){break b}o=0;if(w>>>0>=3){while(1){k=H[j+4>>2];H[l>>2]=H[j>>2];H[l+4>>2]=k;k=H[j+12>>2];H[l+8>>2]=H[j+8>>2];H[l+12>>2]=k;m=h<<2;j=m+j|0;n=H[j+12>>2];k=l;l=s<<2;k=k+l|0;H[k+8>>2]=H[j+8>>2];H[k+12>>2]=n;n=H[j+4>>2];H[k>>2]=H[j>>2];H[k+4>>2]=n;j=j+m|0;n=H[j+12>>2];k=l+k|0;H[k+8>>2]=H[j+8>>2];H[k+12>>2]=n;n=H[j+4>>2];H[k>>2]=H[j>>2];H[k+4>>2]=n;j=j+m|0;n=H[j+12>>2];k=l+k|0;H[k+8>>2]=H[j+8>>2];H[k+12>>2]=n;n=H[j+4>>2];H[k>>2]=H[j>>2];H[k+4>>2]=n;j=j+m|0;l=l+k|0;o=o+4|0;if((z|0)!=(o|0)){continue}break}}m=0;if(!v){break b}while(1){k=H[j+4>>2];H[l>>2]=H[j>>2];H[l+4>>2]=k;k=H[j+12>>2];H[l+8>>2]=H[j+8>>2];H[l+12>>2]=k;j=(h<<2)+j|0;l=(s<<2)+l|0;m=m+1|0;if((v|0)!=(m|0)){continue}break}break b}while(1){k=!m;if(!k){B(l,j,m)}p=j;j=h<<2;n=p+j|0;p=l;l=s<<2;p=p+l|0;if(!k){B(p,n,m)}n=j+n|0;p=l+p|0;if(!k){B(p,n,m)}n=j+n|0;p=l+p|0;if(!k){B(p,n,m)}j=j+n|0;l=l+p|0;o=o+4|0;if((z|0)!=(o|0)){continue}break}}k=0;if(!v){break b}while(1){if(m){B(l,j,m)}j=(h<<2)+j|0;l=(s<<2)+l|0;k=k+1|0;if((v|0)!=(k|0)){continue}break}break b}while(1){s:{if(!q){break s}k=0;j=0;o=0;if(q>>>0>=4){while(1){H[(j<<2)+l>>2]=H[(N(g,j)<<2)+m>>2];t=j|1;H[(t<<2)+l>>2]=H[(N(g,t)<<2)+m>>2];t=j|2;H[(t<<2)+l>>2]=H[(N(g,t)<<2)+m>>2];t=j|3;H[(t<<2)+l>>2]=H[(N(g,t)<<2)+m>>2];j=j+4|0;o=o+4|0;if((E|0)!=(o|0)){continue}break}}if(!p){break s}while(1){H[(j<<2)+l>>2]=H[(N(g,j)<<2)+m>>2];j=j+1|0;k=k+1|0;if((p|0)!=(k|0)){continue}break}}l=(s<<2)+l|0;m=(h<<2)+m|0;n=n+1|0;if((r|0)!=(n|0)){continue}break}break b}while(1){j=!l;if(!j){y(k,0,l)}p=k;k=h<<2;m=p+k|0;if(!j){y(m,0,l)}m=k+m|0;if(!j){y(m,0,l)}m=k+m|0;if(!j){y(m,0,l)}m=k+m|0;if(!j){y(m,0,l)}m=k+m|0;if(!j){y(m,0,l)}m=k+m|0;if(!j){y(m,0,l)}m=k+m|0;if(!j){y(m,0,l)}k=k+m|0;o=o+8|0;if((L|0)!=(o|0)){continue}break}}j=0;if(!G){break b}while(1){if(l){y(k,0,l)}k=(h<<2)+k|0;j=j+1|0;if((G|0)!=(j|0)){continue}break}break b}while(1){k=!m;if(!k){B(j,l,m)}p=l;l=s<<2;n=p+l|0;p=j;j=h<<2;p=p+j|0;if(!k){B(p,n,m)}n=l+n|0;p=j+p|0;if(!k){B(p,n,m)}n=l+n|0;p=j+p|0;if(!k){B(p,n,m)}l=l+n|0;j=j+p|0;o=o+4|0;if((z|0)!=(o|0)){continue}break}}k=0;if(!v){break b}while(1){if(m){B(j,l,m)}l=(s<<2)+l|0;j=(h<<2)+j|0;k=k+1|0;if((v|0)!=(k|0)){continue}break}break b}while(1){t:{if(!q){break t}k=0;j=0;o=0;if(q>>>0>=4){while(1){H[(N(g,j)<<2)+m>>2]=H[(j<<2)+l>>2];t=j|1;H[(N(t,g)<<2)+m>>2]=H[(t<<2)+l>>2];t=j|2;H[(N(t,g)<<2)+m>>2]=H[(t<<2)+l>>2];t=j|3;H[(N(t,g)<<2)+m>>2]=H[(t<<2)+l>>2];j=j+4|0;o=o+4|0;if((E|0)!=(o|0)){continue}break}}if(!p){break t}while(1){H[(N(g,j)<<2)+m>>2]=H[(j<<2)+l>>2];j=j+1|0;k=k+1|0;if((p|0)!=(k|0)){continue}break}}l=(s<<2)+l|0;m=(h<<2)+m|0;n=n+1|0;if((r|0)!=(n|0)){continue}break}}D=D+1|0;u=q+u|0;if(u>>>0>>0){continue}break}C=C+1|0;x=r+x|0;if(x>>>0>>0){continue}break}}return 1}function Qc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;h=oa-240|0;oa=h;r=1;a:{if(H[H[a>>2]+60>>2]|H[a+128>>2]){break a}b:{k=H[a+116>>2];c:{if(!k){d=H[a+120>>2];break c}f=H[b+16>>2];g=J[k+4>>1];d=H[a+120>>2];if(!(!d|!H[d+12>>2])){f=I[d+18|0]}d:{if(g){k=H[k>>2];while(1){i=k+N(e,6)|0;j=J[i>>1];if(j>>>0>=f>>>0){H[h+180>>2]=f;H[h+176>>2]=j;Ca(c,1,13715,h+176|0);r=0;break a}e:{i=J[i+4>>1];if(!i|(i|0)==65535){break e}i=i-1|0;if(i>>>0>>0){break e}H[h+164>>2]=f;H[h+160>>2]=i;Ca(c,1,13715,h+160|0);r=0;break a}e=e+1|0;if((g|0)!=(e|0)){continue}break}break d}if(f){break b}break c}while(1){f=f-1|0;e=0;while(1){if(J[k+N(e,6)>>1]!=(f|0)){e=e+1|0;if((g|0)!=(e|0)){continue}break b}break}if(f){continue}break}}f:{if(!d){break f}k=H[d+12>>2];if(!k){break f}g:{d=I[d+18|0];h:{if(d){e=0;j=1;while(1){g=H[b+16>>2];f=J[k+(e<<2)>>1];if(g>>>0<=f>>>0){H[h+148>>2]=g;H[h+144>>2]=f;Ca(c,1,13715,h+144|0);j=0}e=e+1|0;if((d|0)!=(e|0)){continue}break}g=Fa(d,4);if(!g){break h}e=0;while(1){f=k+(e<<2)|0;i=I[f+2|0];i:{if(i>>>0>=2){H[h+68>>2]=i;H[h+64>>2]=e;Ca(c,1,12094,h- -64|0);j=0;break i}f=I[f+3|0];if(f>>>0>=d>>>0){H[h+128>>2]=f;Ca(c,1,12038,h+128|0);j=0;break i}l=(i|0)!=1;m=(f<<2)+g|0;if(!(l|!H[m>>2])){H[h+80>>2]=f;Ca(c,1,11527,h+80|0);j=0;break i}if(!(i|!f)){H[h+100>>2]=f;H[h+96>>2]=e;Ca(c,1,11901,h+96|0);j=0;break i}if(!(l|(e|0)==(f|0))){H[h+120>>2]=f;H[h+116>>2]=e;H[h+112>>2]=e;Ca(c,1,11937,h+112|0);j=0;break i}H[m>>2]=1}e=e+1|0;if((d|0)!=(e|0)){continue}break}j=!j;e=0;while(1){j:{f=e<<2;if(I[(f+k|0)+2|0]?H[f+g>>2]:1){e=e+1|0;if((d|0)!=(e|0)){continue}if(j&1){break j}if(H[b+16>>2]!=1){break g}e=0;while(1){if(H[(e<<2)+g>>2]){e=e+1|0;if((d|0)!=(e|0)){continue}break g}break}i=0;Ca(c,2,9253,0);e=0;if(d>>>0>=4){j=d&252;f=0;while(1){m=k+(e<<2)|0;F[m+3|0]=e;F[m+2|0]=1;m=e|1;l=k+(m<<2)|0;F[l+3|0]=m;F[l+2|0]=1;m=e|2;l=k+(m<<2)|0;F[l+3|0]=m;F[l+2|0]=1;m=e|3;l=k+(m<<2)|0;F[l+3|0]=m;F[l+2|0]=1;e=e+4|0;f=f+4|0;if((j|0)!=(f|0)){continue}break}}d=d&3;if(!d){break g}while(1){f=k+(e<<2)|0;F[f+3|0]=e;F[f+2|0]=1;e=e+1|0;i=i+1|0;if((d|0)!=(i|0)){continue}break}break g}H[h+48>>2]=e;j=1;Ca(c,1,11101,h+48|0);e=e+1|0;if((d|0)!=(e|0)){continue}}break}Da(g);r=0;break a}g=Fa(d,4);if(g){break g}}r=0;Ca(c,1,12285,0);break a}Da(g)}d=H[a+120>>2];k:{if(!d){break k}t=H[d+12>>2];if(!t){Da(H[d+4>>2]);Da(H[H[a+120>>2]+8>>2]);Da(H[H[a+120>>2]>>2]);d=H[a+120>>2];g=H[d+12>>2];if(g){Da(g);d=H[a+120>>2]}Da(d);H[a+120>>2]=0;break k}m=H[b+24>>2];l:{k=I[d+18|0];m:{if(k){v=H[d>>2];j=H[d+4>>2];l=H[d+8>>2];e=0;n:{while(1){if(H[(m+N(J[t+(e<<2)>>1],52)|0)+44>>2]){e=e+1|0;if((k|0)!=(e|0)){continue}break n}break}H[h+32>>2]=e;Ca(c,1,13877,h+32|0);r=0;break a}g=Ga(N(k,52));if(!g){break m}i=0;while(1){d=t+(i<<2)|0;e=J[d>>1];f=N(I[d+2|0]?I[d+3|0]:i,52)+g|0;d=m+N(e,52)|0;e=H[d+4>>2];H[f>>2]=H[d>>2];H[f+4>>2]=e;H[f+48>>2]=H[d+48>>2];e=H[d+44>>2];H[f+40>>2]=H[d+40>>2];H[f+44>>2]=e;e=H[d+36>>2];H[f+32>>2]=H[d+32>>2];H[f+36>>2]=e;e=H[d+28>>2];H[f+24>>2]=H[d+24>>2];H[f+28>>2]=e;e=H[d+20>>2];H[f+16>>2]=H[d+16>>2];H[f+20>>2]=e;e=H[d+12>>2];H[f+8>>2]=H[d+8>>2];H[f+12>>2]=e;f=N(i,52)+g|0;d=Ja(N(H[d+8>>2],H[d+12>>2])<<2);H[f+44>>2]=d;if(!d){if(i){a=i&65535;while(1){Da(H[(N(a,52)+g|0)-8>>2]);a=a-1|0;if(a){continue}break}}Da(g);r=0;Ca(c,1,13825,0);break a}H[f+24>>2]=I[i+l|0];H[f+32>>2]=I[i+j|0];i=i+1|0;if((k|0)!=(i|0)){continue}break}u=J[H[a+120>>2]+16>>1];n=u-1|0;while(1){d=N(o,52)+g|0;i=N(H[d+12>>2],H[d+8>>2]);f=t+(o<<2)|0;e=H[(m+N(J[f>>1],52)|0)+44>>2];o:{if(!I[f+2|0]){if(!i){break o}l=H[d+44>>2];j=0;f=0;if(i>>>0>=4){q=i&-4;d=0;while(1){p=f<<2;H[p+l>>2]=H[e+p>>2];s=p|4;H[s+l>>2]=H[e+s>>2];s=p|8;H[s+l>>2]=H[e+s>>2];p=p|12;H[p+l>>2]=H[e+p>>2];f=f+4|0;d=d+4|0;if((q|0)!=(d|0)){continue}break}}d=i&3;if(!d){break o}while(1){i=f<<2;H[i+l>>2]=H[e+i>>2];f=f+1|0;j=j+1|0;if((d|0)!=(j|0)){continue}break}break o}if(!i){break o}d=I[f+3|0];j=(d<<2)+v|0;l=H[(N(d,52)+g|0)+44>>2];f=0;if((i|0)!=1){s=i&-2;d=0;while(1){q=f<<2;p=H[q+e>>2];H[l+q>>2]=H[j+(N(k,(p|0)>=0?(p|0)<(u|0)?p:n:0)<<2)>>2];q=q|4;p=H[q+e>>2];H[l+q>>2]=H[j+(N(k,(p|0)>=0?(p|0)<(u|0)?p:n:0)<<2)>>2];f=f+2|0;d=d+2|0;if((s|0)!=(d|0)){continue}break}}if(!(i&1)){break o}f=f<<2;d=H[f+e>>2];H[f+l>>2]=H[j+(N(k,(d|0)>=0?(d|0)<(u|0)?d:n:0)<<2)>>2]}o=o+1|0;if((k|0)!=(o|0)){continue}break}break l}g=Ga(N(k,52));if(g){break l}}r=0;Ca(c,1,13825,0);break a}d=H[b+16>>2];if(d){e=0;while(1){f=H[(m+N(e,52)|0)+44>>2];if(f){Da(f)}e=e+1|0;if((d|0)!=(e|0)){continue}break}}Da(m);H[b+16>>2]=k;H[b+24>>2]=g}e=H[a+116>>2];if(!e){break a}j=H[e>>2];l=J[e+4>>1];if(l){t=j+6|0;e=0;u=l-2&65535;i=1;while(1){d=H[b+16>>2];p=N(e,6)+j|0;f=J[p>>1];p:{if(d>>>0<=f>>>0){H[h+20>>2]=d;H[h+16>>2]=f;Ca(c,2,7334,h+16|0);break p}g=J[p+4>>1];if((g+1&65535)>>>0<=1){G[(H[b+24>>2]+N(f,52)|0)+48>>1]=J[p+2>>1];break p}k=g-1|0;m=k&65535;if(m>>>0>=d>>>0){H[h+4>>2]=d;H[h>>2]=m;Ca(c,2,7293,h);break p}q:{if(J[p+2>>1]|(f|0)==(m|0)){break q}g=H[b+24>>2];d=g+N(f,52)|0;H[h+232>>2]=H[d+48>>2];n=H[d+44>>2];H[h+224>>2]=H[d+40>>2];H[h+228>>2]=n;n=H[d+36>>2];H[h+216>>2]=H[d+32>>2];H[h+220>>2]=n;n=H[d+28>>2];H[h+208>>2]=H[d+24>>2];H[h+212>>2]=n;n=H[d+20>>2];H[h+200>>2]=H[d+16>>2];H[h+204>>2]=n;n=H[d+12>>2];H[h+192>>2]=H[d+8>>2];H[h+196>>2]=n;n=H[d+4>>2];H[h+184>>2]=H[d>>2];H[h+188>>2]=n;n=N(m,52);g=n+g|0;H[d+48>>2]=H[g+48>>2];o=H[g+44>>2];H[d+40>>2]=H[g+40>>2];H[d+44>>2]=o;o=H[g+36>>2];H[d+32>>2]=H[g+32>>2];H[d+36>>2]=o;o=H[g+28>>2];H[d+24>>2]=H[g+24>>2];H[d+28>>2]=o;o=H[g+20>>2];H[d+16>>2]=H[g+16>>2];H[d+20>>2]=o;o=H[g+12>>2];H[d+8>>2]=H[g+8>>2];H[d+12>>2]=o;o=H[g+4>>2];H[d>>2]=H[g>>2];H[d+4>>2]=o;g=H[h+188>>2];d=n+H[b+24>>2]|0;H[d>>2]=H[h+184>>2];H[d+4>>2]=g;H[d+48>>2]=H[h+232>>2];g=H[h+228>>2];H[d+40>>2]=H[h+224>>2];H[d+44>>2]=g;g=H[h+220>>2];H[d+32>>2]=H[h+216>>2];H[d+36>>2]=g;g=H[h+212>>2];H[d+24>>2]=H[h+208>>2];H[d+28>>2]=g;g=H[h+204>>2];H[d+16>>2]=H[h+200>>2];H[d+20>>2]=g;g=H[h+196>>2];H[d+8>>2]=H[h+192>>2];H[d+12>>2]=g;if(l>>>0<=e+1>>>0){break q}g=i;if(!(e-l&1)){g=k;d=N(i,6)+j|0;n=J[d>>1];r:{if((n|0)!=(f|0)){g=f;if((n|0)!=(m|0)){break r}}G[d>>1]=g}g=i+1|0}if((u|0)==(e&65535)){break q}while(1){d=k;n=N(g,6);o=n+j|0;q=J[o>>1];s:{if((q|0)!=(f|0)){d=f;if((m|0)!=(q|0)){break s}}G[o>>1]=d}d=k;n=n+t|0;o=J[n>>1];t:{if((o|0)!=(f|0)){d=f;if((m|0)!=(o|0)){break t}}G[n>>1]=d}g=g+2|0;if((l|0)!=(g&65535)){continue}break}}G[(H[b+24>>2]+N(f,52)|0)+48>>1]=J[p+2>>1]}i=i+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}e=H[a+116>>2];j=H[e>>2]}if(j){Da(j);e=H[a+116>>2]}Da(e);H[a+116>>2]=0;break a}r=0;Ca(c,1,9499,0)}oa=h+240|0;return r}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=O(0),p=0;k=oa-48|0;oa=k;H[a+8>>2]=1;a:{b:{d=k+40|0;c:{if((Ka(b,d,2,c)|0)!=2){break c}Ea(d,k+44|0,2);if(H[k+44>>2]!=65359){break c}H[a+8>>2]=2;d=H[b+56>>2];e=d-2|0;d=H[b+60>>2]-(d>>>0<2)|0;g=H[a+224>>2];H[g>>2]=e;H[g+4>>2]=d;H[k+16>>2]=e;H[k+20>>2]=d;Ca(c,4,12769,k+16|0);f=H[a+224>>2];j=H[f>>2];e=H[f+24>>2];d=e+1|0;g=H[f+32>>2];if(d>>>0<=g>>>0){g=H[f+28>>2];break b}o=O(O(g>>>0)+O(100));if(o=O(0)){d=~~o>>>0}else{d=0}H[f+32>>2]=d;g=Ia(H[f+28>>2],N(d,24));if(g){H[f+28>>2]=g;e=H[f+24>>2];d=e+1|0;break b}Da(H[f+28>>2]);H[f+32>>2]=0;H[f+24>>2]=0;H[f+28>>2]=0;Ca(c,1,3899,0)}Ca(c,1,15656,0);a=0;break a}e=N(e,24)+g|0;H[e+16>>2]=2;H[e+8>>2]=j;H[e+12>>2]=j>>31;G[e>>1]=65359;H[f+24>>2]=d;if((Ka(b,H[a+16>>2],2,c)|0)!=2){Ca(c,1,2472,0);a=0;break a}Ea(H[a+16>>2],k+40|0,2);d:{e:{g=H[k+40>>2];if((g|0)!=65424){while(1){e=24912;if(g>>>0<=65279){H[k>>2]=g;Ca(c,1,2268,k);a=0;break a}while(1){d=e;f=H[d>>2];if(f){e=d+12|0;if((f|0)!=(g|0)){continue}}break}f:{g:{if(f){break g}h=2;Ca(c,2,3847,0);e=2472;h:{i:{if((Ka(b,H[a+16>>2],2,c)|0)!=2){break i}while(1){Ea(H[a+16>>2],k+44|0,2);f=24912;g=H[k+44>>2];if(g>>>0>=65280){while(1){d=f;i=H[d>>2];if(i){f=d+12|0;if((g|0)!=(i|0)){continue}}break}if(!(H[d+4>>2]&H[a+8>>2])){e=5397;break i}if(i){if((i|0)==65424){H[k+40>>2]=65424;break f}j=H[b+56>>2];f=H[a+224>>2];g=H[f+24>>2];e=g+1|0;d=H[f+32>>2];if(e>>>0<=d>>>0){d=H[f+28>>2];break h}o=O(O(d>>>0)+O(100));if(o=O(0)){d=~~o>>>0}else{d=0}H[f+32>>2]=d;d=Ia(H[f+28>>2],N(d,24));if(d){H[f+28>>2]=d;g=H[f+24>>2];e=g+1|0;break h}Da(H[f+28>>2]);H[f+32>>2]=0;H[f+24>>2]=0;H[f+28>>2]=0;e=3899;break i}h=h+2|0}if((Ka(b,H[a+16>>2],2,c)|0)==2){continue}break}}Ca(c,1,e,0);Ca(c,1,9847,0);a=0;break a}d=N(g,24)+d|0;H[d+16>>2]=h;g=j-h|0;H[d+8>>2]=g;H[d+12>>2]=g>>31;G[d>>1]=0;H[f+24>>2]=e;H[k+40>>2]=i;g=24912;if((i|0)==65424){break f}while(1){d=g;f=H[d>>2];if(!f){break g}g=d+12|0;if((f|0)!=(i|0)){continue}break}}if(!(H[d+4>>2]&H[a+8>>2])){Ca(c,1,5397,0);a=0;break a}if((Ka(b,H[a+16>>2],2,c)|0)!=2){Ca(c,1,2472,0);a=0;break a}Ea(H[a+16>>2],k+36|0,2);e=H[k+36>>2];if(e>>>0<=1){Ca(c,1,6074,0);a=0;break a}e=e-2|0;H[k+36>>2]=e;g=H[a+16>>2];if(K[a+20>>2]>>0){g=Ia(g,e);if(!g){Da(H[a+16>>2]);H[a+16>>2]=0;H[a+20>>2]=0;Ca(c,1,4973,0);a=0;break a}H[a+16>>2]=g;e=H[k+36>>2];H[a+20>>2]=e}e=Ka(b,g,e,c);if((e|0)!=H[k+36>>2]){Ca(c,1,2472,0);a=0;break a}if(!(sa[H[d+8>>2]](a,H[a+16>>2],e,c)|0)){Ca(c,1,2490,0);a=0;break a}j=H[b+56>>2];i=H[k+36>>2];d=H[a+224>>2];g=H[d+24>>2];h=g+1|0;e=H[d+32>>2];j:{if(h>>>0<=e>>>0){e=H[d+28>>2];break j}o=O(O(e>>>0)+O(100));if(o=O(0)){e=~~o>>>0}else{e=0}H[d+32>>2]=e;e=Ia(H[d+28>>2],N(e,24));if(!e){break d}H[d+28>>2]=e;g=H[d+24>>2];h=g+1|0}e=N(g,24)+e|0;H[e+16>>2]=i+4;g=(j-i|0)-4|0;H[e+8>>2]=g;H[e+12>>2]=g>>31;G[e>>1]=f;H[d+24>>2]=h;if((Ka(b,H[a+16>>2],2,c)|0)!=2){Ca(c,1,2472,0);a=0;break a}m=(f|0)==65372?1:m;l=(f|0)==65362?1:l;n=(f|0)==65361?1:n;Ea(H[a+16>>2],k+40|0,2);g=H[k+40>>2];if((g|0)!=65424){continue}}break}if(n){break e}}Ca(c,1,4785,0);a=0;break a}if(!l){Ca(c,1,4831,0);a=0;break a}if(!m){Ca(c,1,4877,0);a=0;break a}d=0;e=0;h=0;j=oa-16|0;oa=j;m=1;k:{if(!(F[a+212|0]&1)){break k}l:{f=H[a+136>>2];if(!f){break l}m:{while(1){g=H[a+140>>2]+(h<<3)|0;l=H[g>>2];if(l){i=H[g+4>>2];g=d-i|0;g=d>>>0>=g>>>0?g:0;if(d>>>0>>0){f=i-d|0;l=d+l|0;while(1){if(f>>>0<4){d=5671;break m}Ea(l,j+12|0,4);d=H[j+12>>2];if((d^-1)>>>0>>0){d=5645;break m}i=f-4|0;n=i>>>0>>0;g=n?d-i|0:g;e=d+e|0;f=i-d|0;l=((n?0:d)+l|0)+4|0;if(d>>>0>>0){continue}break}f=H[a+136>>2]}d=g}h=h+1|0;if(h>>>0>>0){continue}break}if(!d){break l}m=0;Ca(c,1,3067,0);break k}m=0;Ca(c,1,d,0);break k}d=Ga(e);H[a+160>>2]=d;if(!d){m=0;Ca(c,1,4337,0);break k}H[a+148>>2]=e;h=H[a+140>>2];n:{f=H[a+136>>2];if(f){e=0;d=0;g=0;while(1){l=g<<3;n=l+h|0;i=H[n>>2];if(i){h=H[a+160>>2]+d|0;f=H[n+4>>2];o:{if(f>>>0<=e>>>0){if(f){B(h,i,f)}d=d+f|0;e=e-f|0;break o}if(e){B(h,i,e)}d=d+e|0;h=f-e|0;e=e+i|0;while(1){if(h>>>0<4){break n}Ea(e,j+8|0,4);e=e+4|0;i=H[a+160>>2]+d|0;f=h-4|0;h=H[j+8>>2];if(f>>>0>>0){if(f){B(i,e,f)}d=d+f|0;e=H[j+8>>2]-f|0;break o}if(h){B(i,e,h)}h=H[j+8>>2];d=h+d|0;e=e+h|0;h=f-h|0;if(h){continue}break}e=0}Da(H[l+H[a+140>>2]>>2]);h=H[a+140>>2];f=l+h|0;H[f>>2]=0;H[f+4>>2]=0;f=H[a+136>>2]}g=g+1|0;if(g>>>0>>0){continue}break}e=H[a+148>>2];d=H[a+160>>2]}H[a+168>>2]=e;H[a+144>>2]=d;H[a+136>>2]=0;Da(h);H[a+140>>2]=0;break k}m=0;Ca(c,1,5671,0)}oa=j+16|0;if(!m){Ca(c,1,8085,0);a=0;break a}Ca(c,4,11754,0);d=H[a+224>>2];e=H[b+56>>2];e=e-2|0;H[d+8>>2]=e;H[d+12>>2]=0;b=0;h=0;i=oa-16|0;oa=i;g=H[a+68>>2];p:{if(!g){H[a+76>>2]=1;break p}if(H[a+76>>2]){break p}d=H[a+72>>2];j=H[a+224>>2];e=H[j+40>>2];if((g|0)!=1){m=d+8|0;l=g&-2;while(1){n=b<<3;p=J[n+d>>1];f=e+N(p,40)|0;H[f>>2]=p;H[f+8>>2]=H[f+8>>2]+1;n=J[m+n>>1];f=e+N(n,40)|0;H[f>>2]=n;H[f+8>>2]=H[f+8>>2]+1;b=b+2|0;h=h+2|0;if((l|0)!=(h|0)){continue}break}}if(g&1){f=J[(b<<3)+d>>1];b=e+N(f,40)|0;H[b>>2]=f;H[b+8>>2]=H[b+8>>2]+1}f=H[j+36>>2];q:{if(f){b=0;while(1){if(!H[(e+N(b,40)|0)+8>>2]){H[i>>2]=b;Ca(c,1,9304,i);break q}b=b+1|0;if((f|0)!=(b|0)){continue}break}}f=H[j+8>>2];b=H[j+12>>2];e=0;while(1){r:{l=e<<3;m=H[H[a+224>>2]+40>>2]+N(J[l+d>>1],40)|0;h=H[m+16>>2];if(!h){h=Fa(H[m+8>>2],24);H[m+16>>2]=h;if(!h){break r}g=H[a+68>>2];d=H[a+72>>2]}p=h;h=H[m+4>>2];j=p+N(h,24)|0;H[j>>2]=f;H[j+4>>2]=b;l=H[(d+l|0)+4>>2];f=l+f|0;H[j+16>>2]=f;b=f>>>0>>0?b+1|0:b;H[j+20>>2]=b;H[m+4>>2]=h+1;e=e+1|0;if(g>>>0>e>>>0){continue}break p}break}Ca(c,1,6882,0)}H[a+76>>2]=1;if(!H[a+68>>2]){break p}d=H[H[a+224>>2]+40>>2];b=0;while(1){c=N(J[H[a+72>>2]+(b<<3)>>1],40);d=c+d|0;H[d+8>>2]=0;Da(H[d+16>>2]);d=H[H[a+224>>2]+40>>2];H[(c+d|0)+16>>2]=0;b=b+1|0;if(b>>>0>2]){continue}break}}oa=i+16|0;H[a+8>>2]=8;a=1;break a}Da(H[d+28>>2]);H[d+32>>2]=0;H[d+24>>2]=0;H[d+28>>2]=0;Ca(c,1,3899,0);a=0}oa=k+48|0;return a|0}function ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=oa-160|0;oa=f;a:{if(c>>>0<=35){c=0;Ca(d,1,6095,0);break a}c=c-36|0;h=(c>>>0)/3|0;if((N(h,3)|0)!=(c|0)){c=0;Ca(d,1,6095,0);break a}j=H[a+96>>2];c=f+156|0;Ea(b,c,2);G[a+104>>1]=H[f+156>>2];Ea(b+2|0,j+8|0,4);Ea(b+6|0,j+12|0,4);Ea(b+10|0,j,4);Ea(b+14|0,j+4|0,4);Ea(b+18|0,a+116|0,4);Ea(b+22|0,a+120|0,4);Ea(b+26|0,a+108|0,4);Ea(b+30|0,a+112|0,4);Ea(b+34|0,c,2);b:{c:{d:{c=H[f+156>>2];if(c>>>0<=16384){H[j+16>>2]=c;if((c|0)!=(h|0)){H[f+132>>2]=h;H[f+128>>2]=c;Ca(d,1,14980,f+128|0);c=0;break a}c=H[j+4>>2];g=H[j+12>>2];l=H[j+8>>2];e=H[j>>2];if(!(c>>>0>>0&l>>>0>e>>>0)){H[f+120>>2]=g-c;H[f+124>>2]=0-(c>>>0>g>>>0);H[f+112>>2]=l-e;H[f+116>>2]=0-(e>>>0>l>>>0);Ca(d,1,14542,f+112|0);c=0;break a}i=H[a+116>>2];k=H[a+120>>2];if(!(k?i:0)){H[f+4>>2]=k;H[f>>2]=i;Ca(d,1,15094,f);c=0;break a}e:{n=H[a+108>>2];f:{if(n>>>0>e>>>0){break f}i=i+n|0;if(e>>>0>=(i>>>0>>0?-1:i)>>>0){break f}i=H[a+112>>2];if(i>>>0>c>>>0){break f}k=i+k|0;if(c>>>0<(i>>>0>k>>>0?-1:k)>>>0){break e}}c=0;Ca(d,1,2792,0);break a}g:{if(H[a+248>>2]){break g}i=H[a+240>>2];if(!i){break g}k=H[a+244>>2];if(!k){break g}e=l-e|0;c=g-c|0;if((e|0)==(i|0)&(c|0)==(k|0)){break g}H[f+108>>2]=c;H[f+104>>2]=e;H[f+100>>2]=k;H[f+96>>2]=i;Ca(d,1,14006,f+96|0);c=0;break a}e=Fa(h,52);H[j+24>>2]=e;if(!e){break d}h:{if(!H[j+16>>2]){break h}c=f+152|0;Ea(b+36|0,c,1);h=H[f+152>>2];k=h>>>7|0;H[e+32>>2]=k;n=(h&127)+1|0;H[e+24>>2]=n;l=H[a+248>>2];Ea(b+37|0,c,1);H[e>>2]=H[f+152>>2];Ea(b+38|0,c,1);g=H[f+152>>2];H[e+4>>2]=g;c=0;i=H[e>>2];if(i-256>>>0<4294967041){h=0;break b}h=0;if(g-256>>>0<4294967041){break b}g=H[e+24>>2];if(g>>>0>31){break c}H[e+36>>2]=0;H[e+40>>2]=H[a+184>>2];h=1;if(K[j+16>>2]<=1){break h}k=l?0:k;l=l?0:n;b=b+39|0;while(1){Ea(b,f+152|0,1);i=H[f+152>>2];g=i>>>7|0;H[e+84>>2]=g;i=(i&127)+1|0;H[e+76>>2]=i;if(!(H[a+248>>2]|(I[a+212|0]&4|(i|0)==(l|0)&(g|0)==(k|0)))){H[f+84>>2]=g;H[f+80>>2]=i;H[f+76>>2]=h;H[f+72>>2]=k;H[f+68>>2]=l;H[f+64>>2]=h;Ca(d,2,14778,f- -64|0)}g=f+152|0;Ea(b+1|0,g,1);H[e+52>>2]=H[f+152>>2];Ea(b+2|0,g,1);g=H[f+152>>2];H[e+56>>2]=g;i=H[e+52>>2];if(i-256>>>0<4294967041|g-256>>>0<=4294967040){break b}g=H[e+76>>2];if(g>>>0>=32){break c}b=b+3|0;H[e+88>>2]=0;H[e+92>>2]=H[a+184>>2];e=e+52|0;h=h+1|0;if(h>>>0>2]){continue}break}}c=0;h=H[a+116>>2];if(!h){break a}g=H[a+120>>2];if(!g){break a}l=0-!h|0;e=l;p=H[a+108>>2];k=H[j+8>>2]-p|0;i=h-1|0;b=k+i|0;e=k>>>0>b>>>0?e+1|0:e;b=Ke(b,e,h,0);H[a+128>>2]=b;n=0-!g|0;e=n;q=H[a+112>>2];o=H[j+12>>2]-q|0;m=o;k=g-1|0;o=o+k|0;e=m>>>0>o>>>0?e+1|0:e;e=Ke(o,e,g,0);H[a+132>>2]=e;i:{if(!(!b|!e)){if(b>>>0<=65535/(e>>>0)>>>0){break i}}H[f+20>>2]=e;H[f+16>>2]=b;Ca(d,1,14120,f+16|0);break a}o=N(b,e);j:{if(I[a+92|0]&2){H[a+28>>2]=(H[a+28>>2]-p>>>0)/(h>>>0);H[a+32>>2]=(H[a+32>>2]-q>>>0)/(g>>>0);e=l;b=H[a+36>>2]-p|0;m=b;b=b+i|0;e=m>>>0>b>>>0?e+1|0:e;v=a,w=Ke(b,e,h,0),H[v+36>>2]=w;e=n;b=H[a+40>>2]-q|0;m=b;b=b+k|0;e=m>>>0>b>>>0?e+1|0:e;v=a,w=Ke(b,e,g,0),H[v+40>>2]=w;break j}H[a+40>>2]=e;H[a+36>>2]=b;H[a+28>>2]=0;H[a+32>>2]=0}b=Fa(o,5644);H[a+180>>2]=b;if(!b){Ca(d,1,3935,0);break a}b=Fa(H[j+16>>2],1080);H[H[a+12>>2]+5584>>2]=b;if(!H[H[a+12>>2]+5584>>2]){Ca(d,1,3935,0);break a}b=Fa(10,20);H[H[a+12>>2]+5616>>2]=b;b=H[a+12>>2];if(!H[b+5616>>2]){Ca(d,1,3935,0);break a}H[b+5624>>2]=10;b=Fa(10,20);H[H[a+12>>2]+5628>>2]=b;b=H[a+12>>2];if(!H[b+5628>>2]){Ca(d,1,3935,0);break a}H[b+5636>>2]=10;h=H[j+16>>2];k:{if(!h){break k}g=H[j+24>>2];b=0;if((h|0)!=1){l=h&-2;e=0;while(1){i=g+N(b,52)|0;if(!H[i+32>>2]){H[(H[H[a+12>>2]+5584>>2]+N(b,1080)|0)+1076>>2]=1<>2]-1}i=b|1;k=g+N(i,52)|0;if(!H[k+32>>2]){H[(H[H[a+12>>2]+5584>>2]+N(i,1080)|0)+1076>>2]=1<>2]-1}b=b+2|0;e=e+2|0;if((l|0)!=(e|0)){continue}break}}if(!(h&1)){break k}e=g+N(b,52)|0;if(H[e+32>>2]){break k}H[(H[H[a+12>>2]+5584>>2]+N(b,1080)|0)+1076>>2]=1<>2]-1}if(o){b=H[a+180>>2];e=0;while(1){h=Fa(H[j+16>>2],1080);H[b+5584>>2]=h;if(!h){Ca(d,1,3935,0);break a}b=b+5644|0;e=e+1|0;if(o>>>0>e>>>0){continue}break}}b=N(H[a+132>>2],H[a+128>>2]);H[H[a+224>>2]+36>>2]=b;b=Fa(b,40);d=H[a+224>>2];H[d+40>>2]=b;e=0;l:{if(!b){break l}e=1;if(!H[d+36>>2]){break l}d=0;while(1){m:{e=0;g=N(d,40);b=g+b|0;H[b+20>>2]=0;H[b+28>>2]=100;h=Fa(100,24);l=H[a+224>>2];b=H[l+40>>2];H[(g+b|0)+24>>2]=h;if(!h){break m}e=1;d=d+1|0;if(d>>>0>2]){continue}}break}}if(!e){break a}H[a+8>>2]=4;r=H[j+16>>2];if(r){b=H[a+112>>2];d=H[a+120>>2];c=b+N(d,H[a+132>>2]-1|0)|0;d=c+d|0;c=c>>>0>d>>>0?-1:d;d=H[j+12>>2];c=c>>>0>>0?c:d;l=c-1|0;k=0-!c|0;c=H[a+108>>2];d=H[a+116>>2];a=c+N(d,H[a+128>>2]-1|0)|0;d=a+d|0;a=a>>>0>d>>>0?-1:d;d=H[j+8>>2];a=a>>>0>>0?a:d;i=a-1|0;n=0-!a|0;a=H[j+4>>2];b=a>>>0>>0?b:a;o=b-1|0;p=0-!b|0;a=H[j>>2];b=a>>>0>>0?c:a;q=b-1|0;u=0-!b|0;a=H[j+24>>2];b=0;while(1){e=p;d=H[a+4>>2];c=d+o|0;j=Ke(c,c>>>0>>0?e+1|0:e,d,0);H[a+20>>2]=j;e=u;h=H[a>>2];c=h+q|0;s=Ke(c,c>>>0>>0?e+1|0:e,h,0);H[a+16>>2]=s;c=H[a+40>>2];g=c&31;if((c&63)>>>0>=32){e=-1<>>32-g}g=m^-1;e=e^-1;m=e;e=k;t=d+l|0;e=t>>>0>>0?e+1|0:e;e=Ke(t,e,d,0)-j|0;d=m;j=e;e=e+g|0;d=j>>>0>e>>>0?d+1|0:d;j=e;e=c&31;if((c&63)>>>0>=32){d=d>>>e|0}else{d=((1<>>e}H[a+12>>2]=d;e=n;d=h+i|0;e=d>>>0>>0?e+1|0:e;d=Ke(d,e,h,0)-s|0;e=m;d=d+g|0;e=d>>>0>>0?e+1|0:e;h=d;d=c&31;if((c&63)>>>0>=32){c=e>>>d|0}else{c=((1<>>d}H[a+8>>2]=c;a=a+52|0;b=b+1|0;if((r|0)!=(b|0)){continue}break}}c=1;break a}H[f+144>>2]=c;Ca(d,1,7932,f+144|0);c=0;break a}c=0;H[j+16>>2]=0;Ca(d,1,3935,0);break a}H[f+52>>2]=g;H[f+48>>2]=h;Ca(d,1,15402,f+48|0);break a}H[f+40>>2]=g;H[f+36>>2]=i;H[f+32>>2]=h;Ca(d,1,14340,f+32|0)}oa=f+160|0;return c|0}function Fc(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=oa+-64|0;oa=j;H[j+60>>2]=b;z=j+39|0;t=j+40|0;a:{b:{c:{d:{e:while(1){h=0;f:while(1){k=b;if((o^2147483647)<(h|0)){break d}o=h+o|0;g:{h:{i:{j:{h=b;i=I[h|0];if(i){while(1){k:{b=i&255;l:{if(!b){b=h;break l}if((b|0)!=37){break k}i=h;while(1){if(I[i+1|0]!=37){b=i;break l}h=h+1|0;n=I[i+2|0];b=i+2|0;i=b;if((n|0)==37){continue}break}}h=h-k|0;y=o^2147483647;if((h|0)>(y|0)){break d}if(a){Ma(a,k,h)}if(h){continue f}H[j+60>>2]=b;h=b+1|0;q=-1;i=F[b+1|0]-48|0;if(!(I[b+2|0]!=36|i>>>0>9)){x=1;q=i;h=b+3|0}H[j+60>>2]=h;l=0;i=F[h|0];b=i-32|0;m:{if(b>>>0>31){n=h;break m}n=h;b=1<>2]=n;l=b|l;i=F[h+1|0];b=i-32|0;if(b>>>0>=32){break m}h=n;b=1<>>0>9)){p:{if(!a){H[(b<<2)+e>>2]=10;b=0;break p}b=H[(b<<3)+d>>2]}p=b;b=n+3|0;i=1;break o}if(x){break j}b=n+1|0;if(!a){H[j+60>>2]=b;x=0;p=0;break n}h=H[c>>2];H[c>>2]=h+4;p=H[h>>2];i=0}x=i;H[j+60>>2]=b;if((p|0)>=0){break n}p=0-p|0;l=l|8192;break n}p=Ec(j+60|0);if((p|0)<0){break d}b=H[j+60>>2]}h=0;m=-1;u=0;q:{if(I[b|0]!=46){break q}if(I[b+1|0]==42){i=F[b+2|0]-48|0;r:{if(!(I[b+3|0]!=36|i>>>0>9)){b=b+4|0;s:{if(!a){H[(i<<2)+e>>2]=10;m=0;break s}m=H[(i<<3)+d>>2]}break r}if(x){break j}b=b+2|0;m=0;if(!a){break r}i=H[c>>2];H[c>>2]=i+4;m=H[i>>2]}H[j+60>>2]=b;u=(m|0)>=0;break q}H[j+60>>2]=b+1;m=Ec(j+60|0);b=H[j+60>>2];u=1}while(1){v=h;n=28;r=b;i=F[b|0];if(i-123>>>0<4294967238){break c}b=b+1|0;h=I[(i+N(h,58)|0)+25263|0];if((h-1&255)>>>0<8){continue}break}H[j+60>>2]=b;t:{if((h|0)!=27){if(!h){break c}if((q|0)>=0){if(!a){H[(q<<2)+e>>2]=h;continue e}h=(q<<3)+d|0;i=H[h+4>>2];H[j+48>>2]=H[h>>2];H[j+52>>2]=i;break t}if(!a){break g}Dc(j+48|0,h,c,g);break t}if((q|0)>=0){break c}h=0;if(!a){continue f}}if(I[a|0]&32){break b}i=l&-65537;l=l&8192?i:l;q=0;w=1072;n=t;u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{I:{J:{K:{r=I[r|0];h=r<<24>>24;h=v?(r&15)==3?h&-45:h:h;switch(h-88|0){case 0:case 32:break G;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break h;case 9:case 13:case 14:case 15:break u;case 11:break B;case 12:case 17:break E;case 22:break I;case 23:break F;case 24:break H;case 27:break A;case 29:break J;default:break K}}L:{switch(h-65|0){case 1:case 3:break h;case 0:case 4:case 5:case 6:break u;case 2:break z;default:break L}}if((h|0)==83){break y}break h}i=H[j+48>>2];r=H[j+52>>2];w=1072;break D}h=0;M:{switch(v|0){case 0:H[H[j+48>>2]>>2]=o;continue f;case 1:H[H[j+48>>2]>>2]=o;continue f;case 2:k=H[j+48>>2];H[k>>2]=o;H[k+4>>2]=o>>31;continue f;case 3:G[H[j+48>>2]>>1]=o;continue f;case 4:F[H[j+48>>2]]=o;continue f;case 6:H[H[j+48>>2]>>2]=o;continue f;case 7:break M;default:continue f}}k=H[j+48>>2];H[k>>2]=o;H[k+4>>2]=o>>31;continue f}m=m>>>0<=8?8:m;l=l|8;h=120}b=t;k=H[j+52>>2];r=k;i=H[j+48>>2];s=i;if(i|k){A=h&32;while(1){b=b-1|0;F[b|0]=A|I[(s&15)+25792|0];v=!k&s>>>0>15|(k|0)!=0;s=(k&15)<<28|s>>>4;k=k>>>4|0;if(v){continue}break}}k=b;if(!(l&8)|!(i|r)){break C}w=(h>>>4|0)+1072|0;q=2;break C}b=t;k=H[j+52>>2];r=k;i=H[j+48>>2];s=i;if(i|k){while(1){b=b-1|0;F[b|0]=s&7|48;v=!k&s>>>0>7|(k|0)!=0;s=(k&7)<<29|s>>>3;k=k>>>3|0;if(v){continue}break}}k=b;if(!(l&8)){break C}b=t-b|0;m=(b|0)<(m|0)?m:b+1|0;break C}i=H[j+48>>2];b=H[j+52>>2];r=b;if((b|0)<0){h=0-(b+((i|0)!=0)|0)|0;r=h;i=0-i|0;H[j+48>>2]=i;H[j+52>>2]=h;q=1;w=1072;break D}if(l&2048){q=1;w=1073;break D}q=l&1;w=q?1074:1072}k=cb(i,r,t)}if((m|0)<0&u){break d}l=u?l&-65537:l;if(!((i|r)!=0|m)){k=t;m=0;break h}b=!(i|r)+(t-k|0)|0;m=(b|0)<(m|0)?m:b;break h}h=I[j+48|0];break i}h=m>>>0>=2147483647?2147483647:m;l=h;n=(h|0)!=0;b=H[j+48>>2];k=b?b:1686;b=k;N:{O:{P:{Q:{if(!(b&3)|!h){break Q}while(1){if(!I[b|0]){break P}l=l-1|0;n=(l|0)!=0;b=b+1|0;if(!(b&3)){break Q}if(l){continue}break}}if(!n){break O}if(!(!I[b|0]|l>>>0<4)){while(1){n=H[b>>2];if(((16843008-n|n)&-2139062144)!=-2139062144){break P}b=b+4|0;l=l-4|0;if(l>>>0>3){continue}break}}if(!l){break O}}while(1){if(!I[b|0]){break N}b=b+1|0;l=l-1|0;if(l){continue}break}}b=0}b=b?b-k|0:h;n=b+k|0;if((m|0)>=0){l=i;m=b;break h}l=i;m=b;if(I[n|0]){break d}break h}h=H[j+48>>2];if(h|H[j+52>>2]){break x}h=0;break i}if(m){i=H[j+48>>2];break w}h=0;Oa(a,32,p,0,l);break v}H[j+12>>2]=0;H[j+8>>2]=h;i=j+8|0;H[j+48>>2]=i;m=-1}h=0;while(1){R:{k=H[i>>2];if(!k){break R}k=Cc(j+4|0,k);if((k|0)<0){break b}if(k>>>0>m-h>>>0){break R}i=i+4|0;h=h+k|0;if(m>>>0>h>>>0){continue}}break}n=61;if((h|0)<0){break c}Oa(a,32,p,h,l);if(!h){h=0;break v}n=0;i=H[j+48>>2];while(1){k=H[i>>2];if(!k){break v}m=j+4|0;k=Cc(m,k);n=k+n|0;if(n>>>0>h>>>0){break v}Ma(a,m,k);i=i+4|0;if(h>>>0>n>>>0){continue}break}}Oa(a,32,p,h,l^8192);h=(h|0)<(p|0)?p:h;continue f}if((m|0)<0&u){break d}n=61;h=sa[f|0](a,M[j+48>>3],p,m,l,h)|0;if((h|0)>=0){continue f}break c}i=I[h+1|0];h=h+1|0;continue}}if(a){break a}if(!x){break g}h=1;while(1){a=H[(h<<2)+e>>2];if(a){Dc((h<<3)+d|0,a,c,g);o=1;h=h+1|0;if((h|0)!=10){continue}break a}break}if(h>>>0>=10){o=1;break a}while(1){if(H[(h<<2)+e>>2]){break j}o=1;h=h+1|0;if((h|0)!=10){continue}break}break a}n=28;break c}F[j+39|0]=h;m=1;k=z;l=i}i=n-k|0;m=(i|0)<(m|0)?m:i;if((m|0)>(q^2147483647)){break d}n=61;b=m+q|0;h=(b|0)<(p|0)?p:b;if((y|0)<(h|0)){break c}Oa(a,32,h,b,l);Ma(a,w,q);Oa(a,48,h,b,l^65536);Oa(a,48,m,i,0);Ma(a,k,i);Oa(a,32,h,b,l^8192);b=H[j+60>>2];continue}break}break}o=0;break a}n=61}H[6597]=n}o=-1}oa=j- -64|0;return o}function qd(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;m=oa-560|0;oa=m;H[m+44>>2]=0;x(+b);h=s(1)|0;s(0)|0;a:{if((h|0)<0){u=1;z=1082;b=-b;x(+b);h=s(1)|0;s(0)|0;break a}if(e&2048){u=1;z=1085;break a}u=e&1;z=u?1088:1083;A=!u}b:{if((h&2146435072)==2146435072){h=u+3|0;Oa(a,32,c,h,e&-65537);Ma(a,z,u);d=f&32;Ma(a,b!=b?d?1207:1435:d?1312:1476,3);Oa(a,32,c,h,e^8192);n=(c|0)>(h|0)?c:h;break b}w=m+16|0;c:{d:{e:{b=Bc(b,m+44|0);b=b+b;if(b!=0){h=H[m+44>>2];H[m+44>>2]=h-1;y=f|32;if((y|0)!=97){break e}break c}y=f|32;if((y|0)==97){break c}l=H[m+44>>2];break d}l=h-29|0;H[m+44>>2]=l;b=b*268435456}k=(d|0)<0?6:d;r=(m+48|0)+((l|0)>=0?288:0)|0;h=r;while(1){d=b<4294967295&b>=0?~~b>>>0:0;H[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((l|0)<=0){i=l;g=h;j=r;break f}j=r;i=l;while(1){o=i>>>0>=29?29:i;g=h-4|0;g:{if(j>>>0>g>>>0){break g}p=0;while(1){q=0;d=H[g>>2];i=o&31;n=p;if((o&63)>>>0>=32){p=d<>>32-i;d=d<>>0>i>>>0?q+1|0:q;p=Ke(i,q,1e9,0);n=Ie(p,ra,-1e9);d=q;q=i+n|0;H[g>>2]=q;g=g-4|0;if(j>>>0<=g>>>0){continue}break}if(!d&i>>>0<1e9){break g}j=j-4|0;H[j>>2]=p}while(1){g=h;if(j>>>0>>0){h=g-4|0;if(!H[h>>2]){continue}}break}i=H[m+44>>2]-o|0;H[m+44>>2]=i;h=g;if((i|0)>0){continue}break}}if((i|0)<0){v=((k+25>>>0)/9|0)+1|0;p=(y|0)==102;while(1){d=0-i|0;n=d>>>0>=9?9:d;h:{if(g>>>0<=j>>>0){h=H[j>>2]?0:4;break h}q=1e9>>>n|0;o=-1<>2];H[h>>2]=(d>>>n|0)+i;i=N(q,d&o);h=h+4|0;if(h>>>0>>0){continue}break}h=H[j>>2]?0:4;if(!i){break h}H[g>>2]=i;g=g+4|0}i=n+H[m+44>>2]|0;H[m+44>>2]=i;j=h+j|0;d=p?r:j;g=g-d>>2>(v|0)?d+(v<<2)|0:g;if((i|0)<0){continue}break}}i=0;i:{if(g>>>0<=j>>>0){break i}i=N(r-j>>2,9);h=10;d=H[j>>2];if(d>>>0<10){break i}while(1){i=i+1|0;h=N(h,10);if(d>>>0>=h>>>0){continue}break}}d=(k-((y|0)!=102?i:0)|0)-((y|0)==103&(k|0)!=0)|0;if((d|0)<(N(g-r>>2,9)-9|0)){h=(m+48|0)+((l|0)<0?-4092:-3804)|0;l=d+9216|0;d=(l|0)/9|0;n=h+(d<<2)|0;h=10;d=l+N(d,-9)|0;if((d|0)<=7){while(1){h=N(h,10);d=d+1|0;if((d|0)!=8){continue}break}}l=H[n>>2];v=(l>>>0)/(h>>>0)|0;o=N(v,h);d=n+4|0;j:{if((l|0)==(o|0)&(d|0)==(g|0)){break j}l=l-o|0;k:{if(!(v&1)){b=9007199254740992;if(!(F[n-4|0]&1)|((h|0)!=1e9|j>>>0>=n>>>0)){break k}}b=9007199254740994}t=(d|0)==(g|0)?1:1.5;d=h>>>1|0;t=d>>>0>l>>>0?.5:(d|0)==(l|0)?t:1.5;if(!(I[z|0]!=45|A)){t=-t;b=-b}H[n>>2]=o;if(b+t==b){break j}d=h+o|0;H[n>>2]=d;if(d>>>0>=1e9){while(1){H[n>>2]=0;n=n-4|0;if(n>>>0>>0){j=j-4|0;H[j>>2]=0}d=H[n>>2]+1|0;H[n>>2]=d;if(d>>>0>999999999){continue}break}}i=N(r-j>>2,9);h=10;d=H[j>>2];if(d>>>0<10){break j}while(1){i=i+1|0;h=N(h,10);if(d>>>0>=h>>>0){continue}break}}d=n+4|0;g=d>>>0>>0?d:g}while(1){l=g;o=g>>>0<=j>>>0;if(!o){g=g-4|0;if(!H[g>>2]){continue}}break}l:{if((y|0)!=103){p=e&8;break l}h=k?k:1;d=(h|0)>(i|0)&(i|0)>-5;k=(d?i^-1:-1)+h|0;f=(d?-1:-2)+f|0;p=e&8;if(p){break l}g=-9;m:{if(o){break m}o=H[l-4>>2];if(!o){break m}d=10;g=0;if((o>>>0)%10|0){break m}while(1){h=g;g=g+1|0;d=N(d,10);if(!((o>>>0)%(d>>>0)|0)){continue}break}g=h^-1}d=N(l-r>>2,9);if((f&-33)==70){p=0;d=(d+g|0)-9|0;d=(d|0)>0?d:0;k=(d|0)>(k|0)?k:d;break l}p=0;d=((d+i|0)+g|0)-9|0;d=(d|0)>0?d:0;k=(d|0)>(k|0)?k:d}n=-1;o=k|p;if(((o?2147483645:2147483646)|0)<(k|0)){break b}q=(((o|0)!=0)+k|0)+1|0;h=f&-33;n:{if((h|0)==70){if((q^2147483647)<(i|0)){break b}g=(i|0)>0?i:0;break n}d=i>>31;g=cb((d^i)-d|0,0,w);if((w-g|0)<=1){while(1){g=g-1|0;F[g|0]=48;if((w-g|0)<2){continue}break}}v=g-2|0;F[v|0]=f;F[g-1|0]=(i|0)<0?45:43;g=w-v|0;if((g|0)>(q^2147483647)){break b}}d=g+q|0;if((d|0)>(u^2147483647)){break b}i=d+u|0;Oa(a,32,c,i,e);Ma(a,z,u);Oa(a,48,c,i,e^65536);o:{p:{q:{if((h|0)==70){h=m+16|9;f=j>>>0>r>>>0?r:j;j=f;while(1){g=cb(H[j>>2],0,h);r:{if((f|0)!=(j|0)){if(m+16>>>0>=g>>>0){break r}while(1){g=g-1|0;F[g|0]=48;if(m+16>>>0>>0){continue}break}break r}if((g|0)!=(h|0)){break r}g=g-1|0;F[g|0]=48}Ma(a,g,h-g|0);j=j+4|0;if(r>>>0>=j>>>0){continue}break}if(o){Ma(a,1684,1)}if((k|0)<=0|j>>>0>=l>>>0){break q}while(1){g=cb(H[j>>2],0,h);if(g>>>0>m+16>>>0){while(1){g=g-1|0;F[g|0]=48;if(m+16>>>0>>0){continue}break}}Ma(a,g,(k|0)>=9?9:k);g=k-9|0;j=j+4|0;if(l>>>0<=j>>>0){break p}d=(k|0)>9;k=g;if(d){continue}break}break p}s:{if((k|0)<0){break s}f=j>>>0>>0?l:j+4|0;l=m+16|9;h=j;while(1){g=cb(H[h>>2],0,l);if((l|0)==(g|0)){g=g-1|0;F[g|0]=48}t:{if((h|0)!=(j|0)){if(m+16>>>0>=g>>>0){break t}while(1){g=g-1|0;F[g|0]=48;if(m+16>>>0>>0){continue}break}break t}Ma(a,g,1);g=g+1|0;if(!(k|p)){break t}Ma(a,1684,1)}d=l-g|0;Ma(a,g,(d|0)<(k|0)?d:k);k=k-d|0;h=h+4|0;if(f>>>0<=h>>>0){break s}if((k|0)>=0){continue}break}}Oa(a,48,k+18|0,18,0);Ma(a,v,w-v|0);break o}g=k}Oa(a,48,g+9|0,9,0)}Oa(a,32,c,i,e^8192);n=(c|0)>(i|0)?c:i;break b}k=(f<<26>>31&9)+z|0;u:{if(d>>>0>11){break u}g=12-d|0;t=16;while(1){t=t*16;g=g-1|0;if(g){continue}break}if(I[k|0]==45){b=-(t+(-b-t));break u}b=b+t-t}h=H[m+44>>2];g=h>>31;g=cb((g^h)-g|0,0,w);if((w|0)==(g|0)){g=g-1|0;F[g|0]=48;h=H[m+44>>2]}r=u|2;j=f&32;l=g-2|0;F[l|0]=f+15;F[g-1|0]=(h|0)<0?45:43;g=!(e&8)&(d|0)<=0;h=m+16|0;while(1){f=h;i=P(b)<2147483647?~~b:-2147483648;F[h|0]=j|I[i+25792|0];b=(b-+(i|0))*16;h=h+1|0;if(!(g&b==0|(h-(m+16|0)|0)!=1)){F[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}n=-1;g=w-l|0;f=g+r|0;if((2147483645-f|0)<(d|0)){break b}i=f;f=m+16|0;j=h-f|0;d=d?(j-2|0)<(d|0)?d+2|0:j:j;h=i+d|0;Oa(a,32,c,h,e);Ma(a,k,r);Oa(a,48,c,h,e^65536);Ma(a,f,j);Oa(a,48,d-j|0,0,0);Ma(a,l,g);Oa(a,32,c,h,e^8192);n=(c|0)>(h|0)?c:h}oa=m+560|0;return n|0}function Zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;j=oa-80|0;oa=j;H[j+76>>2]=1;a:{b:{if(H[a+128>>2]!=1|H[a+132>>2]!=1|(H[a+108>>2]|H[a+112>>2])){break b}k=H[a+100>>2];if(H[k>>2]|H[k+4>>2]|(H[k+8>>2]!=H[a+116>>2]|H[k+12>>2]!=H[a+120>>2])){break b}if(!Za(a,j+72|0,0,j+68|0,j- -64|0,j+60|0,j+56|0,j+52|0,j+76|0,b,c)){break a}c:{d:{if(!H[j+76>>2]){break d}if(!gb(a,H[j+72>>2],0,0,b,c)){break d}b=H[a+100>>2];if(H[b+16>>2]){break c}d=1;break a}Ca(c,1,8776,0);break a}e=H[b+24>>2];while(1){b=N(g,52);Da(H[(b+e|0)+44>>2]);c=H[a+100>>2];e=H[c+24>>2];k=b+e|0;d=H[a+232>>2];n=H[H[H[d+20>>2]>>2]+20>>2]+N(g,76)|0;H[k+44>>2]=H[n+36>>2];H[k+36>>2]=H[(b+H[H[d+24>>2]+24>>2]|0)+36>>2];H[n+36>>2]=0;d=1;g=g+1|0;if(g>>>0>2]){continue}break}break a}H[a+80>>2]=0;H[a+84>>2]=0;Da(H[a+88>>2]);H[a+88>>2]=0;e:{if(!(H[a+28>>2]|H[a+32>>2]|H[a+36>>2]!=H[a+128>>2])){k=2;if(H[a+40>>2]==H[a+132>>2]){break e}}k=2;if(H[a+76>>2]){break e}if(!Fb(b)){break e}r=H[a+128>>2];k=N(r,H[a+132>>2]);if(k){i=k&1;h=H[H[a+224>>2]+40>>2];f:{if((k|0)==1){k=0;break f}l=k&-2;k=0;while(1){d=h+N(g,40)|0;f=H[d+4>>2];if(f){m=(H[d+16>>2]+N(f,24)|0)-8|0;f=H[m>>2];o=f;p=f>>>0>k>>>0;f=H[m+4>>2];m=p&(f|0)>=(n|0)|(f|0)>(n|0);k=m?o:k;n=m?f:n}f=H[d+44>>2];if(f){f=(H[d+56>>2]+N(f,24)|0)-8|0;d=H[f>>2];o=d;m=d>>>0>k>>>0;d=H[f+4>>2];f=m&(d|0)>=(n|0)|(d|0)>(n|0);k=f?o:k;n=f?d:n}g=g+2|0;e=e+2|0;if((l|0)!=(e|0)){continue}break}}g:{if(!i){break g}d=h+N(g,40)|0;h=H[d+4>>2];if(!h){break g}h=(H[d+16>>2]+N(h,24)|0)-8|0;d=H[h>>2];f=d;g=d>>>0>k>>>0;d=H[h+4>>2];h=g&(d|0)>=(n|0)|(d|0)>(n|0);k=h?f:k;n=h?d:n}k=k+2|0;n=k>>>0<2?n+1|0:n}else{k=2;n=0}g=0;f=H[a+32>>2];q=H[a+40>>2];h:{if(f>>>0>=q>>>0){break h}h=H[a+28>>2];i=H[a+36>>2];if(h>>>0>=i>>>0){break h}l=i-h&3;t=H[H[a+224>>2]+40>>2];u=h-i>>>0>4294967292;while(1){m=t+N(N(f,r),40)|0;d=h;e=0;if(l){while(1){g=H[(m+N(d,40)|0)+4>>2]+g|0;d=d+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(!u){while(1){e=m+N(d,40)|0;g=H[e+124>>2]+(H[e+84>>2]+(H[e+44>>2]+(H[e+4>>2]+g|0)|0)|0)|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}}f=f+1|0;if((q|0)!=(f|0)){continue}break}}f=Ga(g<<3);H[a+88>>2]=f;if(!g|!f){break e}g=0;d=H[a+40>>2];i=H[a+32>>2];i:{if(d>>>0<=i>>>0){break i}e=H[a+36>>2];if(e>>>0<=K[a+28>>2]){break i}while(1){l=H[a+28>>2];if(l>>>0>>0){t=H[H[a+224>>2]+40>>2]+N(N(H[a+128>>2],i),40)|0;while(1){h=t+N(l,40)|0;d=H[h+4>>2];if(d){r=d&3;h=H[h+16>>2];q=0;j:{if(d>>>0<4){d=0;break j}u=h+72|0;v=h+48|0;w=h+24|0;x=d&-4;d=0;f=0;while(1){m=N(d,24);p=m+h|0;s=H[p+4>>2];e=g<<3;o=e+H[a+88>>2]|0;H[o>>2]=H[p>>2];H[o+4>>2]=s;p=m+w|0;s=H[p+4>>2];o=e+H[a+88>>2]|0;H[o+8>>2]=H[p>>2];H[o+12>>2]=s;p=m+v|0;s=H[p+4>>2];o=e+H[a+88>>2]|0;H[o+16>>2]=H[p>>2];H[o+20>>2]=s;m=m+u|0;o=H[m+4>>2];e=e+H[a+88>>2]|0;H[e+24>>2]=H[m>>2];H[e+28>>2]=o;d=d+4|0;g=g+4|0;f=f+4|0;if((x|0)!=(f|0)){continue}break}}if(r){while(1){f=h+N(d,24)|0;m=H[f+4>>2];e=H[a+88>>2]+(g<<3)|0;H[e>>2]=H[f>>2];H[e+4>>2]=m;d=d+1|0;g=g+1|0;q=q+1|0;if((r|0)!=(q|0)){continue}break}}e=H[a+36>>2]}l=l+1|0;if(l>>>0>>0){continue}break}d=H[a+40>>2]}i=i+1|0;if(i>>>0>>0){continue}break}f=H[a+88>>2]}H[a+84>>2]=g;e=oa-208|0;oa=e;H[e+8>>2]=1;H[e+12>>2]=0;l=g<<3;k:{if(!l){break k}H[e+16>>2]=8;H[e+20>>2]=8;d=8;g=8;i=2;while(1){h=d;d=(g+8|0)+d|0;H[(e+16|0)+(i<<2)>>2]=d;i=i+1|0;g=h;if(d>>>0>>0){continue}break}h=(f+l|0)-8|0;l:{if(h>>>0<=f>>>0){g=0;i=1;d=1;h=0;break l}i=1;d=1;while(1){m:{if((i&3)==3){Gb(f,d,e+16|0);xb(e+8|0,2);d=d+2|0;break m}l=e+16|0;g=d-1|0;n:{if(K[l+(g<<2)>>2]>=h-f>>>0){wb(f,i,H[e+12>>2],d,0,l);break n}Gb(f,d,e+16|0)}if((d|0)==1){vb(e+8|0,1);d=0;break m}vb(e+8|0,g);d=1}i=H[e+8>>2]|1;H[e+8>>2]=i;f=f+8|0;if(h>>>0>f>>>0){continue}break}g=H[e+12>>2];h=(g|0)!=0}wb(f,i,g,d,0,e+16|0);i=H[e+8>>2];if(!(h|((d|0)!=1|(i|0)!=1))){break k}while(1){o:{if((d|0)<=1){h=Jc(i,g);xb(e+8|0,h);d=d+h|0;break o}g=e+8|0;vb(g,2);H[e+8>>2]=H[e+8>>2]^7;xb(g,1);l=f-8|0;i=e+16|0;h=d-2|0;wb(l-H[i+(h<<2)>>2]|0,H[e+8>>2],H[e+12>>2],d-1|0,1,i);vb(g,1);d=H[e+8>>2]|1;H[e+8>>2]=d;wb(l,d,H[e+12>>2],h,1,i);d=h}f=f-8|0;g=H[e+12>>2];i=H[e+8>>2];if(g|((d|0)!=1|(i|0)!=1)){continue}break}}oa=e+208|0}d=H[a+128>>2];e=0;p:{while(1){q:{if(!(!H[H[a+180>>2]+5596>>2]|((d|0)!=1|H[a+132>>2]!=1))){H[j+72>>2]=0;H[a+228>>2]=0;H[a+8>>2]=H[a+8>>2]|128;d=0;break q}d=0;if(!Za(a,j+72|0,0,j+68|0,j- -64|0,j+60|0,j+56|0,j+52|0,j+76|0,b,c)){break a}if(!H[j+76>>2]){break p}d=H[j+72>>2]}h=d+1|0;f=gb(a,d,0,0,b,c);g=N(H[a+128>>2],H[a+132>>2]);if(!f){H[j+4>>2]=g;H[j>>2]=h;Ca(c,1,7537,j);d=0;break a}H[j+36>>2]=g;H[j+32>>2]=h;Ca(c,4,11795,j+32|0);if(!Sc(H[a+232>>2],H[H[a+100>>2]+24>>2])){d=0;break a}r:{if(!(H[a+128>>2]!=1|H[a+132>>2]!=1)){g=H[a+100>>2];f=H[a+96>>2];if(H[g>>2]!=H[f>>2]|H[g+4>>2]!=H[f+4>>2]|(H[g+8>>2]!=H[f+8>>2]|H[g+12>>2]!=H[f+12>>2])){break r}}d=H[a+180>>2]+N(d,5644)|0;g=H[d+5596>>2];if(!g){break r}Da(g);H[d+5596>>2]=0;H[d+5600>>2]=0}H[j+16>>2]=h;Ca(c,4,16601,j+16|0);if(!(Sa(b)|ra)&H[a+8>>2]==64){break p}e=e+1|0;d=H[a+128>>2];if((e|0)==(N(d,H[a+132>>2])|0)){break p}h=H[a+84>>2];if(!h|(h|0)!=H[a+80>>2]){continue}break}zc(b,k,n,c)}d=Rc(a,c)}oa=j+80|0;return d|0}function $a(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=H[a+32>>2];a:{if(d){break a}b:{h=H[a+16>>2];if((h|0)>=6){b=H[a+8>>2];f=H[a+12>>2];d=h;break b}b=H[a+20>>2];c:{d:{if((b|0)>=5){c=H[a>>2];d=H[c>>2];H[a>>2]=c+4;g=b-4|0;break d}if((b|0)<=0){d=-1;break c}c=H[a>>2];e:{if((b|0)==1){e=-1;b=0;break e}e=-1;f=b-1|0;k=f&1;f:{if((b|0)==2){d=0;i=b;break f}j=f&-2;d=0;f=c;i=b;while(1){H[a>>2]=f+1;l=I[f|0];c=f+2|0;H[a>>2]=c;H[a+20>>2]=i-1;f=I[f+1|0];i=i-2|0;H[a+20>>2]=i;e=((255<>2]=f;c=I[c|0];H[a+20>>2]=i-1;e=(255<>2]=c+1;d=(255<>2]=g}b=H[a+24>>2];c=d>>>24|0;H[a+24>>2]=(c|0)==255;g=d>>>16&255;k=(g|0)==255;f=d&255;e=(f|0)==255;j=b+e|0;b=d>>>8&255;i=(b|0)==255;j=k+(j+i|0)|0;d=(h-j|0)+32|0;H[a+16>>2]=d;l=H[a+12>>2];b=c|(g|(b|f<<(e?7:8))<<(i?7:8))<<(k?7:8);f=(j-h|0)+32|0;c=f&31;if((f&63)>>>0>=32){i=b<>>32-c;g=b<>2];c=i|l;f=c;H[a+8>>2]=b;H[a+12>>2]=c;if((d|0)>=6){break b}d=0;break a}e=H[a+28>>2];i=H[(e<<2)+20752>>2];g:{if((f|0)<0){d=d-1|0;c=(-1<=11?11:e)+1|0;break g}g=b;h=63-i|0;c=h&31;if((h&63)>>>0>=32){g=f>>>c|0}else{g=((1<>>c}c=(g&(-1<>2]=d;H[a+28>>2]=e;g=b;h=i&31;if((i&63)>>>0>=32){b=b<>>32-h|f<>2]=g;H[a+12>>2]=b;i=H[a+44>>2]|c>>31;j=H[a+40>>2]&-64|c;H[a+40>>2]=j;H[a+44>>2]=i;if((d|0)<6){d=1;break a}b=H[(e<<2)+20752>>2];h:{if((f|0)<0){d=d-1|0;c=(-1<=11?11:e)+1|0;break h}k=g;h=63-b|0;c=h&31;if((h&63)>>>0>=32){k=f>>>c|0}else{k=((1<>>c}c=(k&(-1<>2]=d;H[a+28>>2]=e;k=g;h=b&31;if((b&63)>>>0>=32){b=g<>>32-h|f<>2]=k;H[a+12>>2]=b;b=c>>31<<7|c>>>25|i;h=b;j=j&-8065|c<<7;H[a+40>>2]=j;H[a+44>>2]=b;if((d|0)<6){d=2;break a}b=H[(e<<2)+20752>>2];i:{if((f|0)<0){d=d-1|0;c=(-1<=11?11:e)+1|0;break i}g=k;i=63-b|0;c=i&31;if((i&63)>>>0>=32){g=f>>>c|0}else{g=((1<>>c}c=(g&(-1<>2]=d;H[a+28>>2]=e;l=k;g=b&31;if((b&63)>>>0>=32){i=k<>>32-g|f<>2]=g;f=i;H[a+12>>2]=f;b=c>>31<<14|c>>>18|h;i=b;k=j&-1032193|c<<14;H[a+40>>2]=k;H[a+44>>2]=b;if((d|0)<6){d=3;break a}b=H[(e<<2)+20752>>2];j:{if((f|0)<0){d=d-1|0;c=(-1<=11?11:e)+1|0;break j}j=g;h=63-b|0;c=h&31;if((h&63)>>>0>=32){j=f>>>c|0}else{j=((1<>>c}c=(j&(-1<>2]=d;H[a+28>>2]=e;j=g;h=b&31;if((b&63)>>>0>=32){b=g<>>32-h|f<>2]=g;H[a+12>>2]=b;b=c>>31<<21|c>>>11|i;j=b;k=k&-132120577|c<<21;H[a+40>>2]=k;H[a+44>>2]=b;if((d|0)<6){d=4;break a}b=H[(e<<2)+20752>>2];k:{if((f|0)<0){c=(-1<=11?11:e)+1|0;d=d-1|0;break k}h=g;i=63-b|0;c=i&31;if((i&63)>>>0>=32){i=f>>>c|0}else{i=((1<>>c}c=(i&(-1<>2]=d;H[a+28>>2]=h;i=g;e=b&31;if((b&63)>>>0>=32){b=g<>>32-e|f<>2]=g;f=b;H[a+12>>2]=b;b=j&-4|(c>>31<<28|c>>>4);j=b;k=k&268435455|c<<28;H[a+40>>2]=k;H[a+44>>2]=b;if((d|0)<6){d=5;break a}b=H[(h<<2)+20752>>2];l:{if((f|0)<0){e=(-1<=11?11:h)+1|0;i=d-1|0;break l}i=g;e=63-b|0;c=e&31;if((e&63)>>>0>=32){i=f>>>c|0}else{i=((1<>>c}e=(i&(-1<>2]=i;H[a+28>>2]=h;d=g;c=b&31;if((b&63)>>>0>=32){b=d<>>32-c|f<>2]=g;H[a+12>>2]=b;b=j&-505|e<<3;l=b;H[a+40>>2]=k;H[a+44>>2]=b;d=6;if((i|0)<6){break a}b=H[(h<<2)+20752>>2];m:{if((c|0)<0){e=(-1<=11?11:h)+1|0;d=i-1|0;break m}d=g;e=63-b|0;f=e&31;if((e&63)>>>0>=32){f=c>>>f|0}else{f=((1<>>f}e=(f&(-1<>2]=d;H[a+28>>2]=h;j=g;f=b&31;if((b&63)>>>0>=32){i=g<>>32-f|c<>2]=g;f=i;H[a+12>>2]=f;i=k;b=l&-64513|e<<10;k=b;H[a+40>>2]=i;H[a+44>>2]=b;if((d|0)<6){d=7;break a}b=H[(h<<2)+20752>>2];n:{if((f|0)<0){d=d-1|0;c=(-1<=11?11:h)+1|0;break n}j=g;e=63-b|0;c=e&31;if((e&63)>>>0>=32){j=f>>>c|0}else{j=((1<>>c}c=(j&(-1<>2]=d;H[a+28>>2]=e;d=g;e=b&31;if((b&63)>>>0>=32){b=d<>>32-e|f<>2]=g;H[a+12>>2]=b;H[a+40>>2]=i;H[a+44>>2]=k&-8257537|c<<17;d=8}H[a+32>>2]=d-1;f=H[a+44>>2];b=f>>>7|0;c=H[a+40>>2];H[a+40>>2]=(f&127)<<25|c>>>7;H[a+44>>2]=b;return c&127}function ec(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0;p=oa-32|0;oa=p;H[p+24>>2]=f;r=H[(N(H[d+28>>2],76)+b|0)+28>>2]+N(H[d+32>>2],152)|0;a:{if(!(H[d+40>>2]|!H[r+24>>2])){k=r+28|0;while(1){b:{if(ac(k)){break b}b=H[d+36>>2];if(b>>>0>=K[k+24>>2]/40>>>0){Ca(i,1,2836,0);break a}b=H[k+20>>2]+N(b,40)|0;rc(H[b+32>>2]);rc(H[b+36>>2]);o=N(H[b+20>>2],H[b+16>>2]);if(!o){break b}b=H[b+24>>2];if(o>>>0>=8){q=o&-8;j=0;while(1){H[b+516>>2]=0;H[b+520>>2]=0;H[b+448>>2]=0;H[b+452>>2]=0;H[b+380>>2]=0;H[b+384>>2]=0;H[b+312>>2]=0;H[b+316>>2]=0;H[b+244>>2]=0;H[b+248>>2]=0;H[b+176>>2]=0;H[b+180>>2]=0;H[b+108>>2]=0;H[b+112>>2]=0;H[b+40>>2]=0;H[b+44>>2]=0;b=b+544|0;j=j+8|0;if((q|0)!=(j|0)){continue}break}}j=0;o=o&7;if(!o){break b}while(1){H[b+40>>2]=0;H[b+44>>2]=0;b=b+68|0;j=j+1|0;if((o|0)!=(j|0)){continue}break}}k=k+36|0;n=n+1|0;if(n>>>0>2]){continue}break}}q=f;c:{if(!(I[c|0]&2)){break c}if(h>>>0<=5){Ca(i,2,4196,0);break c}if(!(I[f|0]==255&I[f+1|0]==145)){Ca(i,2,4238,0);break c}q=f+6|0;H[p+24>>2]=q}l=Ga(20);if(!l){break a}d:{if(F[a+108|0]&1){q=H[a+40>>2];o=a+44|0;h=a+40|0;break d}if(I[c+5640|0]&2){q=H[c+5168>>2];o=c+5180|0;h=c+5168|0;break d}H[p+28>>2]=(f+h|0)-q;o=p+28|0;h=p+24|0}a=H[o>>2];H[l+12>>2]=0;H[l+16>>2]=0;H[l+8>>2]=q;H[l>>2]=q;H[l+4>>2]=a+q;if(!Ta(l,1)){tc(l);a=uc(l);hb(l);a=a+q|0;b=H[h>>2];d=H[o>>2];if(I[c|0]&4){if(b+(d-a|0)>>>0<=1){Ca(i,1,4422,0);break a}if(!(I[a|0]==255&I[a+1|0]==146)){Ca(i,1,4401,0);break a}a=a+2|0}a=a-b|0;H[o>>2]=d-a;H[h>>2]=a+b;H[e>>2]=0;H[g>>2]=H[p+24>>2]-f;x=1;break a}if(H[r+24>>2]){t=r+28|0;while(1){a=H[d+36>>2];b=H[t+20>>2];e:{if(ac(t)){break e}u=b+N(a,40)|0;z=N(H[u+20>>2],H[u+16>>2]);if(!z){break e}k=H[u+24>>2];v=0;while(1){f:{g:{if(!H[k+40>>2]){a=pc(l,H[u+32>>2],v,H[d+40>>2]+1|0);break g}a=Ta(l,1)}if(!a){H[k+36>>2]=0;break f}if(!H[k+40>>2]){b=0;while(1){a=b;b=b+1|0;if(!pc(l,H[u+36>>2],v,a)){continue}break}b=H[t+28>>2];H[k+32>>2]=3;H[k+24>>2]=b;H[k+28>>2]=(b-a|0)+1}a=1;h:{if(!Ta(l,1)){break h}a=2;if(!Ta(l,1)){break h}a=Ta(l,2);if((a|0)!=3){a=a+3|0;break h}a=Ta(l,5);if((a|0)!=31){a=a+6|0;break h}a=Ta(l,7)+37|0}H[k+36>>2]=a;b=0;while(1){a=b;b=b+1|0;if(Ta(l,1)){continue}break}H[k+32>>2]=a+H[k+32>>2];i:{a=H[k+40>>2];j:{k:{if(!a){a=H[(H[c+5584>>2]+N(H[d+28>>2],1080)|0)+16>>2];if(!H[k+48>>2]){b=Ia(H[k>>2],240);if(!b){break i}H[k>>2]=b;y(b+N(H[k+48>>2],24)|0,0,240);H[k+48>>2]=10}j=H[k>>2];nb(j);b=a&4?1:a&1?10:109;a=0;break k}b=H[k>>2];n=a-1|0;j=b+N(n,24)|0;if(H[j+4>>2]!=H[j+12>>2]){break j}n=H[(H[c+5584>>2]+N(H[d+28>>2],1080)|0)+16>>2];j=H[k+48>>2];if(j>>>0>>0){j=j+10|0;b=Ia(b,N(j,24));if(!b){break i}H[k>>2]=b;y(b+N(H[k+48>>2],24)|0,0,240);H[k+48>>2]=j;b=H[k>>2]}j=N(a,24)+b|0;nb(j);b=1;l:{if(n&4){break l}b=109;if(!(n&1)){break l}b=H[j-12>>2];b=(b|0)==1?2:(b|0)==10?2:1}}n=a;H[j+12>>2]=b}a=H[k+36>>2];if(I[(H[c+5584>>2]+N(H[d+28>>2],1080)|0)+16|0]&64){while(1){m=N(n,24);s=n?a:1;H[(m+H[k>>2]|0)+16>>2]=s;w=H[k+32>>2];j=0;b=a;if(s>>>0>=2){while(1){j=j+1|0;s=b>>>0>3;b=b>>>1|0;if(s){continue}break}}b=j+w|0;if(b>>>0>=33){H[p+16>>2]=b;Ca(i,1,15535,p+16|0);break i}j=Ta(l,b);b=H[k>>2];m=m+b|0;H[m+20>>2]=j;a=a-H[m+16>>2]|0;if((a|0)<=0){break f}j=H[(H[c+5584>>2]+N(H[d+28>>2],1080)|0)+16>>2];m=H[k+48>>2];if(m>>>0>>0){m=m+10|0;b=Ia(b,N(m,24));if(!b){break i}H[k>>2]=b;y(b+N(H[k+48>>2],24)|0,0,240);H[k+48>>2]=m;b=H[k>>2]}n=n+1|0;b=b+N(n,24)|0;nb(b);if(j&4){H[b+12>>2]=1;continue}if(j&1){j=b;b=H[b-12>>2];H[j+12>>2]=(b|0)==1?2:(b|0)==10?2:1}else{H[b+12>>2]=109}continue}}while(1){m=N(n,24);j=m+H[k>>2]|0;b=H[j+12>>2]-H[j+4>>2]|0;b=(a|0)>(b|0)?b:a;H[j+16>>2]=b;s=H[k+32>>2];j=0;if(b>>>0>=2){while(1){j=j+1|0;w=b>>>0>3;b=b>>>1|0;if(w){continue}break}}b=j+s|0;if(b>>>0>=33){H[p>>2]=b;Ca(i,1,15535,p);break i}j=Ta(l,b);b=H[k>>2];m=m+b|0;H[m+20>>2]=j;a=a-H[m+16>>2]|0;if((a|0)<=0){break f}j=H[(H[c+5584>>2]+N(H[d+28>>2],1080)|0)+16>>2];m=H[k+48>>2];if(m>>>0>>0){m=m+10|0;b=Ia(b,N(m,24));if(!b){break i}H[k>>2]=b;y(b+N(H[k+48>>2],24)|0,0,240);H[k+48>>2]=m;b=H[k>>2]}n=n+1|0;b=b+N(n,24)|0;nb(b);if(j&4){H[b+12>>2]=1;continue}if(j&1){j=b;b=H[b-12>>2];H[j+12>>2]=(b|0)==1?2:(b|0)==10?2:1}else{H[b+12>>2]=109}continue}}hb(l);break a}k=k+68|0;v=v+1|0;if((z|0)!=(v|0)){continue}break}}t=t+36|0;A=A+1|0;if(A>>>0>2]){continue}break}}if(!tc(l)){hb(l);break a}a=uc(l);hb(l);b=a+q|0;a=H[h>>2];if(I[c|0]&4){if(a+(H[o>>2]-b|0)>>>0<=1){Ca(i,1,4422,0);break a}if(!(I[b|0]==255&I[b+1|0]==146)){Ca(i,1,4401,0);break a}b=b+2|0}if((a|0)==(b|0)){break a}H[o>>2]=H[o>>2]+(a-b|0);H[h>>2]=b;x=1;H[e>>2]=1;H[g>>2]=H[p+24>>2]-f}oa=p+32|0;return x}function Eb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;o=N(c,5);j=(c<<2)+b|0;e=H[a>>2];f=H[a+12>>2]<<5;h=e+f|0;l=e-f|0;e=H[a+16>>2];k=H[a+28>>2];i=H[a+20>>2];q=H[a+8>>2];a:{b:{if(h&15|(b&15|d>>>0<8)){if(e>>>0>=i>>>0){break a}c:{switch(d-1|0){case 1:f=e+1|0;if(i-e&1){g=h+(e<<6)|0;e=(e<<2)+b|0;L[g>>2]=L[e>>2];L[g+4>>2]=L[e+(c<<2)>>2];e=f}if((f|0)==(i|0)){break a}while(1){f=h+(e<<6)|0;g=(e<<2)+b|0;L[f>>2]=L[g>>2];r=f;f=c<<2;L[r+4>>2]=L[f+g>>2];g=e+1|0;j=h+(g<<6)|0;g=(g<<2)+b|0;L[j>>2]=L[g>>2];L[j+4>>2]=L[f+g>>2];e=e+2|0;if((i|0)!=(e|0)){continue}break};break a;case 0:break c;default:break b}}f=e;j=i-e&3;if(j){while(1){L[h+(f<<6)>>2]=L[(f<<2)+b>>2];f=f+1|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}if(e-i>>>0>4294967292){break a}while(1){L[h+(f<<6)>>2]=L[(f<<2)+b>>2];e=f+1|0;L[h+(e<<6)>>2]=L[(e<<2)+b>>2];e=f+2|0;L[h+(e<<6)>>2]=L[(e<<2)+b>>2];e=f+3|0;L[h+(e<<6)>>2]=L[(e<<2)+b>>2];f=f+4|0;if((i|0)!=(f|0)){continue}break}break a}if(e>>>0>=i>>>0){break a}n=c<<4;m=N(c,12);s=c<<3;while(1){f=h+(e<<6)|0;g=(e<<2)+b|0;L[f>>2]=L[g>>2];p=c<<2;L[f+4>>2]=L[p+g>>2];L[f+8>>2]=L[g+s>>2];L[f+12>>2]=L[g+m>>2];L[f+16>>2]=L[g+n>>2];g=e+o<<2;L[f+20>>2]=L[g+b>>2];g=g+j|0;L[f+24>>2]=L[g>>2];L[f+28>>2]=L[g+p>>2];e=e+1|0;if((i|0)!=(e|0)){continue}break}break a}n=c<<4;m=N(c,12);s=c<<3;p=(d|0)==5;r=(d|0)==7;while(1){f=h+(e<<6)|0;g=(e<<2)+b|0;L[f>>2]=L[g>>2];t=c<<2;L[f+4>>2]=L[g+t>>2];L[f+8>>2]=L[g+s>>2];d:{if((d|0)==3){break d}L[f+12>>2]=L[g+m>>2];if((d|0)==4){break d}L[f+16>>2]=L[g+n>>2];if(p){break d}g=e+o<<2;L[f+20>>2]=L[g+b>>2];if((d|0)==6){break d}g=g+j|0;L[f+24>>2]=L[g>>2];if(r){break d}L[f+28>>2]=L[g+t>>2]}e=e+1|0;if((i|0)!=(e|0)){continue}break}}b=(q<<2)+b|0;i=b+(c<<2)|0;e=H[a+24>>2];h=l+32|0;e:{if(h&15|(b&15|d>>>0<8)){if(e>>>0>=k>>>0){break e}f:{switch(d-1|0){case 1:a=e+1|0;if(k-e&1){d=h+(e<<6)|0;e=b+(e<<2)|0;L[d>>2]=L[e>>2];L[d+4>>2]=L[e+(c<<2)>>2];e=a}if((a|0)==(k|0)){break e}while(1){a=h+(e<<6)|0;d=b+(e<<2)|0;L[a>>2]=L[d>>2];f=a;a=c<<2;L[f+4>>2]=L[a+d>>2];d=e+1|0;f=h+(d<<6)|0;d=b+(d<<2)|0;L[f>>2]=L[d>>2];L[f+4>>2]=L[a+d>>2];e=e+2|0;if((k|0)!=(e|0)){continue}break};break e;case 0:f=e;a=k-e&3;if(a){g=0;while(1){L[h+(f<<6)>>2]=L[b+(f<<2)>>2];f=f+1|0;g=g+1|0;if((a|0)!=(g|0)){continue}break}}if(e-k>>>0>4294967292){break e}while(1){L[h+(f<<6)>>2]=L[b+(f<<2)>>2];a=f+1|0;L[h+(a<<6)>>2]=L[b+(a<<2)>>2];a=f+2|0;L[h+(a<<6)>>2]=L[b+(a<<2)>>2];a=f+3|0;L[h+(a<<6)>>2]=L[b+(a<<2)>>2];f=f+4|0;if((k|0)!=(f|0)){continue}break};break e;default:break f}}g=c<<4;j=N(c,12);l=c<<3;q=(d|0)==5;n=(d|0)==7;while(1){a=h+(e<<6)|0;f=b+(e<<2)|0;L[a>>2]=L[f>>2];m=c<<2;L[a+4>>2]=L[m+f>>2];L[a+8>>2]=L[f+l>>2];g:{if((d|0)==3){break g}L[a+12>>2]=L[f+j>>2];if((d|0)==4){break g}L[a+16>>2]=L[f+g>>2];if(q){break g}f=e+o<<2;L[a+20>>2]=L[f+b>>2];if((d|0)==6){break g}f=f+i|0;L[a+24>>2]=L[f>>2];if(n){break g}L[a+28>>2]=L[f+m>>2]}e=e+1|0;if((k|0)!=(e|0)){continue}break}break e}if(e>>>0>=k>>>0){break e}f=c<<4;g=N(c,12);j=c<<3;while(1){a=h+(e<<6)|0;d=b+(e<<2)|0;L[a>>2]=L[d>>2];l=c<<2;L[a+4>>2]=L[l+d>>2];L[a+8>>2]=L[d+j>>2];L[a+12>>2]=L[d+g>>2];L[a+16>>2]=L[d+f>>2];d=e+o<<2;L[a+20>>2]=L[d+b>>2];d=d+i|0;L[a+24>>2]=L[d>>2];L[a+28>>2]=L[d+l>>2];e=e+1|0;if((k|0)!=(e|0)){continue}break}}}function Tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=oa-176|0;oa=d;a:{if(b&384){Pa(5943,11,c);break a}b:{if(!(b&1)){break b}e=H[a+96>>2];if(!e){break b}f=oa-80|0;oa=f;Pa(1792,13,c);F[f+79|0]=0;F[f+78|0]=9;g=H[e+4>>2];H[f+68>>2]=H[e>>2];H[f+72>>2]=g;j=f+78|0;H[f+64>>2]=j;Ha(c,7520,f- -64|0);g=H[e+12>>2];H[f+52>>2]=H[e+8>>2];H[f+56>>2]=g;H[f+48>>2]=j;Ha(c,7503,f+48|0);H[f+36>>2]=H[e+16>>2];H[f+32>>2]=j;Ha(c,7277,f+32|0);if(!(!H[e+24>>2]|!H[e+16>>2])){while(1){l=f+78|0;H[f+16>>2]=l;H[f+20>>2]=m;Ha(c,1824,f+16|0);j=H[e+24>>2];g=oa-48|0;oa=g;F[g+46|0]=9;F[g+47|0]=0;F[g+45|0]=9;n=N(m,52)+j|0;j=H[n+4>>2];H[g+36>>2]=H[n>>2];H[g+40>>2]=j;j=g+45|0;H[g+32>>2]=j;Ha(c,7209,g+32|0);H[g+20>>2]=H[n+24>>2];H[g+16>>2]=j;Ha(c,7455,g+16|0);H[g+4>>2]=H[n+32>>2];H[g>>2]=j;Ha(c,7428,g);oa=g+48|0;H[f>>2]=l;Ha(c,1702,f);m=m+1|0;if(m>>>0>2]){continue}break}}Pa(1710,2,c);oa=f+80|0}if(!(!(b&2)|!H[a+96>>2])){Pa(1931,36,c);e=H[a+112>>2];H[d+160>>2]=H[a+108>>2];H[d+164>>2]=e;Ha(c,2425,d+160|0);e=H[a+120>>2];H[d+144>>2]=H[a+116>>2];H[d+148>>2]=e;Ha(c,2391,d+144|0);e=H[a+132>>2];H[d+128>>2]=H[a+128>>2];H[d+132>>2]=e;Ha(c,2409,d+128|0);Sb(H[a+12>>2],H[H[a+96>>2]+16>>2],c);Pa(1710,2,c)}c:{if(!(b&8)|!H[a+96>>2]){break c}e=N(H[a+128>>2],H[a+132>>2]);if(!e){break c}h=H[a+180>>2];while(1){Sb(h,H[H[a+96>>2]+16>>2],c);h=h+5644|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}if(!(b&16)){break a}i=H[a+224>>2];Pa(1893,37,c);e=H[i>>2];b=H[i+4>>2];a=H[i+12>>2];H[d+120>>2]=H[i+8>>2];H[d+124>>2]=a;H[d+112>>2]=e;H[d+116>>2]=b;Ha(c,5730,d+112|0);Pa(1875,17,c);if(!(!H[i+28>>2]|!H[i+24>>2])){h=0;while(1){a=H[i+28>>2]+N(h,24)|0;g=J[a>>1];e=H[a+8>>2];b=H[a+12>>2];H[d+96>>2]=H[a+16>>2];H[d+88>>2]=e;H[d+92>>2]=b;H[d+80>>2]=g;Ha(c,7397,d+80|0);h=h+1|0;if(h>>>0>2]){continue}break}}Pa(1708,4,c);j=H[i+40>>2];d:{if(!j){break d}g=H[i+36>>2];if(!g){break d}k=0;h=0;while(1){a=j+N(h,40)|0;e=H[a+4>>2];e:{if(!e){break e}l=H[a+16>>2];if(!l){break e}b=H[l>>2];a=H[l+4>>2];if((a|0)<0){a=1}else{a=!b&(a|0)<=0}if(a|(H[l+8>>2]|H[l+12>>2])){break e}if(Kc(1439)){break d}}k=e+k|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}if(!k){break d}Pa(1858,16,c);if(H[i+36>>2]){k=H[i+40>>2];n=0;while(1){f=N(n,40);l=H[(f+k|0)+4>>2];H[d+68>>2]=l;H[d+64>>2]=n;Ha(c,7467,d- -64|0);k=H[i+40>>2];f:{if(!l){break f}h=0;if(!H[(f+k|0)+16>>2]){break f}while(1){m=H[(f+H[i+40>>2]|0)+16>>2]+N(h,24)|0;j=H[m>>2];g=H[m+4>>2];e=H[m+8>>2];b=H[m+12>>2];a=H[m+20>>2];H[d+56>>2]=H[m+16>>2];H[d+60>>2]=a;H[d+48>>2]=e;H[d+52>>2]=b;H[d+40>>2]=j;H[d+44>>2]=g;H[d+32>>2]=h;Ha(c,10938,d+32|0);h=h+1|0;if((l|0)!=(h|0)){continue}break}k=H[i+40>>2]}a=f+k|0;g:{if(!H[a+24>>2]){break g}h=0;if(!H[a+20>>2]){break g}while(1){a=H[(f+k|0)+24>>2]+N(h,24)|0;g=J[a>>1];e=H[a+8>>2];b=H[a+12>>2];H[d+16>>2]=H[a+16>>2];H[d+8>>2]=e;H[d+12>>2]=b;H[d>>2]=g;Ha(c,7397,d);h=h+1|0;k=H[i+40>>2];if(h>>>0>2]){continue}break}}n=n+1|0;if(n>>>0>2]){continue}break}}Pa(1708,4,c)}Pa(1710,2,c)}oa=d+176|0}function De(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=oa-128|0;oa=e;H[e+120>>2]=0;a:{if((c|0)!=8){Ca(d,1,4047,0);Ca(d,1,4047,0);break a}Ea(b,a+228|0,2);Ea(b+2|0,e+124|0,4);Ea(b+6|0,e+116|0,1);Ea(b+7|0,e+120|0,1);c=H[a+228>>2];i=H[a+128>>2];if(c>>>0>=N(i,H[a+132>>2])>>>0){H[e+112>>2]=c;Ca(d,1,7843,e+112|0);break a}h=H[a+180>>2]+N(c,5644)|0;j=(c>>>0)/(i>>>0)|0;b=H[e+116>>2];b:{f=H[a+44>>2];if((f|0)>=0&(c|0)!=(f|0)){break b}f=H[h+5588>>2]+1|0;if((f|0)==(b|0)){break b}H[e+104>>2]=f;H[e+100>>2]=b;H[e+96>>2]=c;Ca(d,1,7867,e+96|0);f=0;break a}H[h+5588>>2]=b;c:{b=H[e+124>>2];if(b-1>>>0<=12){if((b|0)!=12){break c}H[e+64>>2]=12;Ca(d,2,11864,e- -64|0);b=H[e+124>>2]}if(!b){Ca(d,4,10695,0);H[a+56>>2]=1}d:{e:{f:{g:{g=H[h+5592>>2];if(g){b=H[e+116>>2];if(b>>>0>>0){break g}H[e+52>>2]=g;H[e+48>>2]=b;Ca(d,1,5150,e+48|0);H[a+56>>2]=1;f=0;break a}f=H[e+120>>2];if(f){break f}break d}f=H[e+120>>2];if(!f){break e}}g=(I[a+92|0]>>>4&1)+f|0;H[e+120>>2]=g;b=H[e+116>>2];f=H[h+5592>>2];if(b>>>0>f-1>>>0){H[e+20>>2]=f;H[e+16>>2]=b;Ca(d,1,5051,e+16|0);H[a+56>>2]=1;f=0;break a}if(b>>>0>=g>>>0){H[e+36>>2]=g;H[e+32>>2]=b;Ca(d,1,5250,e+32|0);H[a+56>>2]=1;f=0;break a}H[h+5592>>2]=g}if((H[e+116>>2]+1|0)!=(g|0)){break d}F[a+92|0]=I[a+92|0]|1}b=H[e+124>>2];H[a+8>>2]=16;H[a+24>>2]=H[a+56>>2]?0:b-12|0;f=H[a+44>>2];h:{if((f|0)==-1){f=4;b=c-N(j,i)|0;if(!(b>>>0>2]|b>>>0>=K[a+36>>2]|j>>>0>2])){f=j>>>0>=K[a+40>>2]?4:0}F[a+92|0]=I[a+92|0]&251|f;b=H[a+228>>2];break h}b=H[a+228>>2];F[a+92|0]=I[a+92|0]&251|((f|0)!=(b|0)?4:0)}c=H[H[a+224>>2]+40>>2]+N(b,40)|0;H[c>>2]=b;H[c+12>>2]=H[e+116>>2];f=H[e+120>>2];if(!H[a+76>>2]){if(K[c+4>>2]>=f>>>0){f=1;break a}H[e>>2]=b;Ca(d,2,1612,e);H[a+76>>2]=1;f=H[e+120>>2]}b=H[a+228>>2];c=H[H[a+224>>2]+40>>2];if(f){b=N(b,40)+c|0;H[b+4>>2]=f;c=H[e+120>>2];H[b+8>>2]=c;b=H[b+16>>2];if(!b){b=Fa(c,24);H[(H[H[a+224>>2]+40>>2]+N(H[a+228>>2],40)|0)+16>>2]=b;if(b){f=1;break a}f=0;Ca(d,1,6947,0);break a}b=Ia(b,N(c,24));c=H[H[a+224>>2]+40>>2]+N(H[a+228>>2],40)|0;if(!b){Da(H[c+16>>2]);f=0;H[(H[H[a+224>>2]+40>>2]+N(H[a+228>>2],40)|0)+16>>2]=0;Ca(d,1,6947,0);break a}H[c+16>>2]=b;f=1;break a}i:{f=N(b,40)+c|0;g=H[f+16>>2];if(g){break i}H[f+8>>2]=10;g=Fa(10,24);c=H[H[a+224>>2]+40>>2];b=H[a+228>>2];H[(c+N(b,40)|0)+16>>2]=g;if(g){break i}f=0;H[(N(b,40)+c|0)+8>>2]=0;Ca(d,1,6947,0);break a}b=N(b,40)+c|0;c=H[e+116>>2];if(K[b+8>>2]>c>>>0){f=1;break a}f=1;h=b;b=c+1|0;H[h+8>>2]=b;b=Ia(g,N(b,24));c=H[H[a+224>>2]+40>>2]+N(H[a+228>>2],40)|0;if(!b){Da(H[c+16>>2]);f=0;a=H[H[a+224>>2]+40>>2]+N(H[a+228>>2],40)|0;H[a+8>>2]=0;H[a+16>>2]=0;Ca(d,1,6947,0);break a}H[c+16>>2]=b;break a}H[e+80>>2]=b;Ca(d,1,12133,e+80|0);f=0}oa=e+128|0;return f|0}function qb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=H[a+8>>2];e=g+H[a+4>>2]|0;a:{if(!H[a+12>>2]){if((e|0)<2|(d|0)<=0){break a}q=e&2147483644;m=e&3;r=e&1;s=g+1|0;h=H[a>>2];o=h+(e<<2)|0;t=e-4>>>1|0;a=e-1|0;u=h+(a<<2)|0;v=N(c,g)<<2;l=e>>>0<4;w=N(a>>>1|0,c)<<2;while(1){g=H[b+v>>2];e=H[b>>2]-(g+1>>1)|0;i=0;a=0;if(!l){while(1){j=a+1|0;x=H[(N(j,c)<<2)+b>>2];f=H[(N(a+s|0,c)<<2)+b>>2];p=h+(i<<2)|0;H[p>>2]=e;k=e;e=x-((g+f|0)+2>>2)|0;H[p+4>>2]=(k+e>>1)+g;i=i+2|0;k=(a|0)!=(t|0);g=f;a=j;if(k){continue}break}}H[h+(i<<2)>>2]=e;if(r){a=H[b+w>>2]-(g+1>>1)|0;H[u>>2]=a;e=a+e>>1;a=-8}else{a=-4}H[a+o>>2]=e+g;e=0;a=0;g=0;if(!l){while(1){H[(N(a,c)<<2)+b>>2]=H[h+(a<<2)>>2];f=a|1;H[(N(f,c)<<2)+b>>2]=H[h+(f<<2)>>2];f=a|2;H[(N(f,c)<<2)+b>>2]=H[h+(f<<2)>>2];f=a|3;H[(N(f,c)<<2)+b>>2]=H[h+(f<<2)>>2];a=a+4|0;g=g+4|0;if((q|0)!=(g|0)){continue}break}}if(m){while(1){H[(N(a,c)<<2)+b>>2]=H[h+(a<<2)>>2];a=a+1|0;e=e+1|0;if((m|0)!=(e|0)){continue}break}}b=b+4|0;n=n+1|0;if((n|0)!=(d|0)){continue}break}break a}b:{switch(e-1|0){case 0:if((d|0)<=0){break a}if(d>>>0>=4){c=d&2147483644;a=0;while(1){H[b>>2]=H[b>>2]/2;H[b+4>>2]=H[b+4>>2]/2;H[b+8>>2]=H[b+8>>2]/2;H[b+12>>2]=H[b+12>>2]/2;b=b+16|0;a=a+4|0;if((c|0)!=(a|0)){continue}break}}c=d&3;if(!c){break a}a=0;while(1){H[b>>2]=H[b>>2]/2;b=b+4|0;a=a+1|0;if((c|0)!=(a|0)){continue}break};break a;case 1:if((d|0)<=0){break a}a=H[a>>2];e=0;g=N(c,g)<<2;while(1){f=b+g|0;j=H[b>>2]-(H[f>>2]+1>>1)|0;H[a+4>>2]=j;f=j+H[f>>2]|0;H[a>>2]=f;H[b>>2]=f;H[(c<<2)+b>>2]=H[a+4>>2];b=b+4|0;e=e+1|0;if((e|0)!=(d|0)){continue}break};break a;default:break b}}if((e|0)<3|(d|0)<=0){break a}q=e&2147483644;m=e&3;h=H[a>>2];r=(h+(e<<2)|0)-4|0;a=e-2|0;s=h+(a<<2)|0;o=e&1;f=!o;t=((e-f|0)-4>>>1|0)+1|0;u=N(c,g)<<2;v=a-f>>>0<2;w=N((e>>>1|0)-1|0,c)<<2;x=e-1>>>0<3;while(1){l=b+u|0;g=H[l+(c<<2)>>2];a=H[l>>2];e=H[b>>2]-((g+a|0)+2>>2)|0;H[h>>2]=e+a;i=1;a=1;if(!v){while(1){p=H[(N(a,c)<<2)+b>>2];j=a+1|0;f=H[l+(N(j,c)<<2)>>2];y=h+(i<<2)|0;H[y>>2]=e;k=e;e=p-((g+f|0)+2>>2)|0;H[y+4>>2]=(k+e>>1)+g;i=i+2|0;k=(a|0)!=(t|0);a=j;g=f;if(k){continue}break}}H[h+(i<<2)>>2]=e;c:{if(!o){a=H[b+w>>2]-(g+1>>1)|0;H[s>>2]=(e+a>>1)+g;break c}a=e+g|0}H[r>>2]=a;e=0;a=0;g=0;if(!x){while(1){H[(N(a,c)<<2)+b>>2]=H[h+(a<<2)>>2];f=a|1;H[(N(f,c)<<2)+b>>2]=H[h+(f<<2)>>2];f=a|2;H[(N(f,c)<<2)+b>>2]=H[h+(f<<2)>>2];f=a|3;H[(N(f,c)<<2)+b>>2]=H[h+(f<<2)>>2];a=a+4|0;g=g+4|0;if((q|0)!=(g|0)){continue}break}}if(m){while(1){H[(N(a,c)<<2)+b>>2]=H[h+(a<<2)>>2];a=a+1|0;e=e+1|0;if((m|0)!=(e|0)){continue}break}}b=b+4|0;n=n+1|0;if((n|0)!=(d|0)){continue}break}}}function Nb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;r=oa-16|0;oa=r;a:{if(!c){Ca(d,1,11629,0);break a}t=H[c+16>>2];i=H[a+96>>2];if(t>>>0>2]){Ca(d,1,10570,0);break a}f=H[a+128>>2];g=N(f,H[a+132>>2]);if(g>>>0<=e>>>0){H[r>>2]=e;H[r+4>>2]=g-1;Ca(d,1,16362,r);g=0;break a}j=(e>>>0)/(f>>>0)|0;f=e-N(j,f)|0;h=H[a+108>>2]+N(f,H[a+116>>2])|0;H[c>>2]=h;g=H[i>>2];l=g>>>0>>0?h:g;H[c>>2]=l;f=H[a+108>>2]+N(H[a+116>>2],f+1|0)|0;H[c+8>>2]=f;g=H[H[a+96>>2]+8>>2];f=f>>>0>>0?f:g;H[c+8>>2]=f;i=H[a+112>>2]+N(j,H[a+120>>2])|0;H[c+4>>2]=i;g=H[H[a+96>>2]+4>>2];h=g>>>0>>0?i:g;H[c+4>>2]=h;i=H[a+112>>2]+N(H[a+120>>2],j+1|0)|0;H[c+12>>2]=i;g=H[H[a+96>>2]+12>>2];g=g>>>0>i>>>0?i:g;H[c+12>>2]=g;i=H[a+96>>2];m=H[i+16>>2];if(m){u=g-1|0;v=(g>>31)-!g|0;w=f-1|0;x=(f>>31)-!f|0;y=h-1|0;z=0-!h|0;A=l-1|0;B=0-!l|0;C=H[i+24>>2];g=H[c+24>>2];while(1){i=H[(C+N(q,52)|0)+40>>2];H[g+40>>2]=i;f=B;l=H[g>>2];h=l+A|0;f=l>>>0>h>>>0?f+1|0:f;n=Ke(h,f,l,0);H[g+16>>2]=n;f=z;h=H[g+4>>2];j=h+y|0;f=h>>>0>j>>>0?f+1|0:f;f=Ke(j,f,h,0);H[g+20>>2]=f;j=f;p=i;f=i&31;if((i&63)>>>0>=32){k=-1<>>32-f;f=-1<>31)+(i>>>0>>0)|0)|0;j=o;o=p&31;if((p&63)>>>0>=32){o=k>>o}else{o=((1<>>o}k=h>>31;s=k+v|0;j=h+u|0;s=j>>>0>>0?s+1|0:s;j=Je(j,s,h,k);h=i-j|0;j=f-((j>>31)+(i>>>0>>0)|0)|0;k=p&31;if((p&63)>>>0>=32){j=j>>k}else{j=((1<>>k}H[g+12>>2]=o-j;j=f-((n>>31)+(i>>>0>>0)|0)|0;h=i-n|0;n=p&31;if((p&63)>>>0>=32){n=j>>n}else{n=((1<>>n}j=l>>31;k=j+x|0;h=l+w|0;k=h>>>0>>0?k+1|0:k;l=Je(h,k,l,j);h=i-l|0;i=f-((l>>31)+(i>>>0>>0)|0)|0;f=h;h=p&31;if((p&63)>>>0>=32){f=i>>h}else{f=((1<>>h}H[g+8>>2]=n-f;g=g+52|0;q=q+1|0;if((q|0)!=(m|0)){continue}break}}if(m>>>0>>0){g=H[c+24>>2];while(1){f=N(m,52);Da(H[(f+g|0)+44>>2]);g=H[c+24>>2];H[(f+g|0)+44>>2]=0;m=m+1|0;if(m>>>0>2]){continue}break}H[c+16>>2]=H[H[a+96>>2]+16>>2]}g=H[a+100>>2];if(g){Va(g)}f=zb();H[a+100>>2]=f;g=0;if(!f){break a}Lb(c,f);H[a+44>>2]=e;if(!Ya(H[a+216>>2],24,d)){break a}h=H[a+216>>2];e=H[h>>2];m=H[h+8>>2];b:{if(e){g=1;i=e&1;if((e|0)==1){e=0}else{f=e&-2;q=0;while(1){e=0;c:{if(!g){break c}e=0;if(!(sa[H[m>>2]](a,b,d)|0)){break c}e=(sa[H[m+4>>2]](a,b,d)|0)!=0}g=e;m=m+8|0;q=q+2|0;if((f|0)!=(q|0)){continue}break}e=!g}g=i?0:g;if(!(e|!i)){g=(sa[H[m>>2]](a,b,d)|0)!=0}Qa(h);if(g){break b}Va(H[a+96>>2]);g=0;H[a+96>>2]=0;break a}Qa(h)}g=Ob(a,c)}oa=r+16|0;return g|0}function hc(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:{n=N(e,3);h=H[b>>2]>>>n|0;if(h&2097168){break a}h=h&495;if(!h){break a}o=a+28|0;l=o+(I[h+H[a+108>>2]|0]<<2)|0;H[a+104>>2]=l;k=H[l>>2];i=H[k>>2];h=H[a+4>>2]-i|0;H[a+4>>2]=h;j=H[a>>2];b:{if(j>>>16>>>0>>0){m=H[k+4>>2];H[a+4>>2]=i;h=h>>>0>>0;H[l>>2]=H[k+(h?8:12)>>2];k=h?m:!m;h=H[a+8>>2];while(1){c:{if(h){break c}h=H[a+16>>2];m=h+1|0;l=I[h+1|0];if(I[h|0]==255){if(l>>>0>=144){H[a+12>>2]=H[a+12>>2]+1;j=j+65280|0;h=8;break c}H[a+16>>2]=m;j=(l<<9)+j|0;h=7;break c}H[a+16>>2]=m;h=8;j=(l<<8)+j|0}h=h-1|0;H[a+8>>2]=h;j=j<<1;H[a>>2]=j;i=i<<1;H[a+4>>2]=i;if(i>>>0<32768){continue}break}h=i;break b}j=j-(i<<16)|0;H[a>>2]=j;if(!(h&32768)){m=H[k+4>>2];i=h>>>0>>0;H[l>>2]=H[k+(i?12:8)>>2];k=i?!m:m;i=H[a+8>>2];while(1){d:{if(i){break d}i=H[a+16>>2];m=i+1|0;l=I[i+1|0];if(I[i|0]==255){if(l>>>0>=144){H[a+12>>2]=H[a+12>>2]+1;j=j+65280|0;i=8;break d}H[a+16>>2]=m;j=(l<<9)+j|0;i=7;break d}H[a+16>>2]=m;i=8;j=(l<<8)+j|0}i=i-1|0;H[a+8>>2]=i;j=j<<1;H[a>>2]=j;h=h<<1;H[a+4>>2]=h;if(h>>>0<32768){continue}break}break b}k=H[k+4>>2]}e:{if(!k){break e}p=b-4|0;i=H[b>>2];k=H[b+4>>2]>>>n+17&4|(H[p>>2]>>>n+19&1|(i>>>n+16&64|i>>>n&170|i>>>(e?n+12|0:14)&16));m=o+(I[k+24384|0]<<2)|0;H[a+104>>2]=m;l=H[m>>2];i=H[l>>2];h=h-i|0;H[a+4>>2]=h;o=I[k+24640|0];f:{if(j>>>16>>>0>>0){k=H[l+4>>2];H[a+4>>2]=i;h=h>>>0>>0;H[m>>2]=H[l+(h?8:12)>>2];l=h?k:!k;h=H[a+8>>2];while(1){g:{if(h){break g}h=H[a+16>>2];m=h+1|0;k=I[h+1|0];if(I[h|0]==255){if(k>>>0>=144){H[a+12>>2]=H[a+12>>2]+1;j=j+65280|0;h=8;break g}H[a+16>>2]=m;j=(k<<9)+j|0;h=7;break g}H[a+16>>2]=m;h=8;j=(k<<8)+j|0}h=h-1|0;H[a+8>>2]=h;j=j<<1;H[a>>2]=j;i=i<<1;H[a+4>>2]=i;if(i>>>0<32768){continue}break}break f}k=j-(i<<16)|0;H[a>>2]=k;if(!(h&32768)){j=H[l+4>>2];i=h>>>0>>0;H[m>>2]=H[l+(i?12:8)>>2];l=i?!j:j;j=H[a+8>>2];while(1){h:{if(j){break h}j=H[a+16>>2];m=j+1|0;i=I[j+1|0];if(I[j|0]==255){if(i>>>0>=144){H[a+12>>2]=H[a+12>>2]+1;k=k+65280|0;j=8;break h}H[a+16>>2]=m;k=(i<<9)+k|0;j=7;break h}H[a+16>>2]=m;j=8;k=(i<<8)+k|0}j=j-1|0;H[a+8>>2]=j;k=k<<1;H[a>>2]=k;h=h<<1;H[a+4>>2]=h;if(h>>>0<32768){continue}break}break f}l=H[l+4>>2]}H[c>>2]=(l|0)==(o|0)?d:0-d|0;H[p>>2]=H[p>>2]|32<>2]=H[b>>2]|(c<<19|16)<>2]=H[b+4>>2]|8<>2]=H[a+4>>2]|32768;H[a>>2]=H[a>>2]|c<<31|65536;a=a-4|0;H[a>>2]=H[a>>2]|131072}if((e|0)!=3){break e}a=(f<<2)+b|0;H[a+4>>2]=H[a+4>>2]|1;H[a>>2]=H[a>>2]|c<<18|2;a=a-4|0;H[a>>2]=H[a>>2]|4}H[b>>2]=H[b>>2]|2097152<>2];a:{if(!(!(H[H[a+180>>2]+5596>>2]?H[a+128>>2]!=1|H[a+132>>2]!=1:1)|H[a+8>>2]==8)){Ca(g,1,10614,0);break a}m=H[b+16>>2];b:{if(!m){break b}k=H[a+184>>2];l=H[b+24>>2];if(m>>>0>=8){p=m&-8;while(1){H[(N(i,52)+l|0)+40>>2]=k;H[(N(i|1,52)+l|0)+40>>2]=k;H[(N(i|2,52)+l|0)+40>>2]=k;H[(N(i|3,52)+l|0)+40>>2]=k;H[(N(i|4,52)+l|0)+40>>2]=k;H[(N(i|5,52)+l|0)+40>>2]=k;H[(N(i|6,52)+l|0)+40>>2]=k;H[(N(i|7,52)+l|0)+40>>2]=k;i=i+8|0;n=n+8|0;if((p|0)!=(n|0)){continue}break}}m=m&7;if(!m){break b}while(1){H[(N(i,52)+l|0)+40>>2]=k;i=i+1|0;o=o+1|0;if((m|0)!=(o|0)){continue}break}}if(!(c|d|e|f)){Ca(g,4,6344,0);H[a+28>>2]=0;H[a+32>>2]=0;c=H[a+132>>2];H[a+36>>2]=H[a+128>>2];H[a+40>>2]=c;H[b>>2]=H[j>>2];H[b+4>>2]=H[j+4>>2];H[b+8>>2]=H[j+8>>2];H[b+12>>2]=H[j+12>>2];i=Ab(b,g);break a}if((c|0)<0){H[h>>2]=c;Ca(g,1,12602,h);i=0;break a}i=H[j+8>>2];if(i>>>0>>0){H[h+20>>2]=i;H[h+16>>2]=c;Ca(g,1,13070,h+16|0);i=0;break a}i=H[j>>2];c:{if(i>>>0>c>>>0){H[h+196>>2]=i;H[h+192>>2]=c;Ca(g,2,13422,h+192|0);H[a+28>>2]=0;c=H[j>>2];break c}H[a+28>>2]=(c-H[a+108>>2]>>>0)/K[a+116>>2]}H[b>>2]=c;if((d|0)<0){H[h+32>>2]=d;Ca(g,1,12538,h+32|0);i=0;break a}c=H[j+12>>2];if(c>>>0>>0){H[h+52>>2]=c;H[h+48>>2]=d;Ca(g,1,12897,h+48|0);i=0;break a}c=H[j+4>>2];d:{if(c>>>0>d>>>0){H[h+180>>2]=c;H[h+176>>2]=d;Ca(g,2,13247,h+176|0);H[a+32>>2]=0;d=H[j+4>>2];break d}H[a+32>>2]=(d-H[a+112>>2]>>>0)/K[a+120>>2]}H[b+4>>2]=d;i=0;if((e|0)<=0){H[h+64>>2]=e;Ca(g,1,12472,h- -64|0);break a}c=H[j>>2];if(c>>>0>e>>>0){H[h+84>>2]=c;H[h+80>>2]=e;Ca(g,1,13333,h+80|0);break a}c=H[j+8>>2];e:{if(c>>>0>>0){H[h+164>>2]=c;H[h+160>>2]=e;Ca(g,2,12982,h+160|0);H[a+36>>2]=H[a+128>>2];e=H[j+8>>2];break e}k=0;d=e-H[a+108>>2]|0;l=d;c=H[a+116>>2];d=d+c|0;k=l>>>0>d>>>0?1:k;q=a,r=Ke(d-1|0,k-!d|0,c,0),H[q+36>>2]=r}H[b+8>>2]=e;if((f|0)<=0){H[h+96>>2]=f;Ca(g,1,12405,h+96|0);break a}c=H[j+4>>2];if(c>>>0>f>>>0){H[h+116>>2]=c;H[h+112>>2]=f;Ca(g,1,13157,h+112|0);break a}c=H[j+12>>2];f:{if(c>>>0>>0){H[h+148>>2]=c;H[h+144>>2]=f;Ca(g,2,12808,h+144|0);H[a+40>>2]=H[a+132>>2];f=H[j+12>>2];break f}e=0;d=f-H[a+112>>2]|0;l=d;c=H[a+120>>2];d=d+c|0;e=l>>>0>d>>>0?1:e;q=a,r=Ke(d-1|0,e-!d|0,c,0),H[q+40>>2]=r}H[b+12>>2]=f;F[a+92|0]=I[a+92|0]|2;if(!Ab(b,g)){break a}a=H[b>>2];c=H[b+4>>2];d=H[b+12>>2];H[h+136>>2]=H[b+8>>2];H[h+140>>2]=d;H[h+128>>2]=a;H[h+132>>2]=c;Ca(g,4,7566,h+128|0);i=1}oa=h+208|0;return i|0}function gc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:{m=N(e,3);g=H[b>>2]>>>m|0;if(g&2097168){break a}n=a+28|0;k=n+(I[H[a+108>>2]+(g&495)|0]<<2)|0;H[a+104>>2]=k;j=H[k>>2];h=H[j>>2];g=H[a+4>>2]-h|0;H[a+4>>2]=g;i=H[a>>2];b:{if(i>>>16>>>0>>0){l=H[j+4>>2];H[a+4>>2]=h;g=g>>>0>>0;H[k>>2]=H[j+(g?8:12)>>2];j=g?l:!l;g=H[a+8>>2];while(1){c:{if(g){break c}g=H[a+16>>2];l=g+1|0;k=I[g+1|0];if(I[g|0]==255){if(k>>>0>=144){H[a+12>>2]=H[a+12>>2]+1;i=i+65280|0;g=8;break c}H[a+16>>2]=l;i=(k<<9)+i|0;g=7;break c}H[a+16>>2]=l;g=8;i=(k<<8)+i|0}g=g-1|0;H[a+8>>2]=g;i=i<<1;H[a>>2]=i;h=h<<1;H[a+4>>2]=h;if(h>>>0<32768){continue}break}g=h;break b}i=i-(h<<16)|0;H[a>>2]=i;if(!(g&32768)){l=H[j+4>>2];h=g>>>0>>0;H[k>>2]=H[j+(h?12:8)>>2];j=h?!l:l;h=H[a+8>>2];while(1){d:{if(h){break d}h=H[a+16>>2];l=h+1|0;k=I[h+1|0];if(I[h|0]==255){if(k>>>0>=144){H[a+12>>2]=H[a+12>>2]+1;i=i+65280|0;h=8;break d}H[a+16>>2]=l;i=(k<<9)+i|0;h=7;break d}H[a+16>>2]=l;h=8;i=(k<<8)+i|0}h=h-1|0;H[a+8>>2]=h;i=i<<1;H[a>>2]=i;g=g<<1;H[a+4>>2]=g;if(g>>>0<32768){continue}break}break b}j=H[j+4>>2]}if(!j){break a}j=n;n=b-4|0;h=H[b>>2];o=H[b+4>>2]>>>m+17&4|(H[n>>2]>>>m+19&1|(h>>>m+16&64|h>>>m&170|h>>>(e?m+12|0:14)&16));l=j+(I[o+24384|0]<<2)|0;H[a+104>>2]=l;k=H[l>>2];h=H[k>>2];g=g-h|0;H[a+4>>2]=g;e:{if(i>>>16>>>0>>0){j=H[k+4>>2];H[a+4>>2]=h;g=g>>>0>>0;H[l>>2]=H[k+(g?8:12)>>2];k=g?j:!j;g=H[a+8>>2];while(1){f:{if(g){break f}g=H[a+16>>2];l=g+1|0;j=I[g+1|0];if(I[g|0]==255){if(j>>>0>=144){H[a+12>>2]=H[a+12>>2]+1;i=i+65280|0;g=8;break f}H[a+16>>2]=l;i=(j<<9)+i|0;g=7;break f}H[a+16>>2]=l;g=8;i=(j<<8)+i|0}g=g-1|0;H[a+8>>2]=g;i=i<<1;H[a>>2]=i;h=h<<1;H[a+4>>2]=h;if(h>>>0<32768){continue}break}break e}j=i-(h<<16)|0;H[a>>2]=j;if(!(g&32768)){i=H[k+4>>2];h=g>>>0>>0;H[l>>2]=H[k+(h?12:8)>>2];k=h?!i:i;i=H[a+8>>2];while(1){g:{if(i){break g}i=H[a+16>>2];l=i+1|0;h=I[i+1|0];if(I[i|0]==255){if(h>>>0>=144){H[a+12>>2]=H[a+12>>2]+1;j=j+65280|0;i=8;break g}H[a+16>>2]=l;j=(h<<9)+j|0;i=7;break g}H[a+16>>2]=l;i=8;j=(h<<8)+j|0}i=i-1|0;H[a+8>>2]=i;j=j<<1;H[a>>2]=j;g=g<<1;H[a+4>>2]=g;if(g>>>0<32768){continue}break}break e}k=H[k+4>>2]}g=c;c=I[o+24640|0];H[g>>2]=(c|0)==(k|0)?d:0-d|0;H[n>>2]=H[n>>2]|32<>2]=H[b>>2]|(d<<19|16)<>2]=H[b+4>>2]|8<>2]<<2)+b|0;H[c+4>>2]=H[c+4>>2]|32768;H[c>>2]=H[c>>2]|d<<31|65536;c=c-4|0;H[c>>2]=H[c>>2]|131072}if((e|0)!=3){break a}a=(H[a+124>>2]<<2)+b|0;H[a+4>>2]=H[a+4>>2]|4;H[a+12>>2]=H[a+12>>2]|1;H[a+8>>2]=H[a+8>>2]|d<<18|2}}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=oa-112|0;oa=e;j=1024;a:{b:{h=Fa(1,1024);if(h){l=e+92|0;k=e+108|0;while(1){c:{d:{d=e+104|0;e:{if((Ka(b,d,8,c)|0)!=8){break e}Ea(d,e+88|0,4);Ea(k,l,4);f=8;f:{g:{h:{i:{switch(H[e+88>>2]){case 0:d=Sa(b);g=ra;if((g|0)<0){g=1}else{g=d>>>0<4294967288&(g|0)<=0}if(g){break h}Ca(c,1,8449,0);break e;case 1:break i;default:break f}}d=e+104|0;if((Ka(b,d,8,c)|0)!=8){break e}Ea(d,e+100|0,4);if(!H[e+100>>2]){break g}Ca(c,1,8449,0);break e}H[e+88>>2]=d+8;break f}Ea(k,e+88|0,4);f=16}d=H[e+92>>2];if((d|0)==1785737827){b=H[a+100>>2];if(b&4){H[a+100>>2]=b|8;break e}Ca(c,1,5702,0);Da(h);a=0;break a}i=H[e+88>>2];if(!i){Ca(c,1,3268,0);Da(h);a=0;break a}if(f>>>0>i>>>0){H[e+4>>2]=d;H[e>>2]=i;Ca(c,1,13933,e);break b}j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{if((d|0)<=1668246641){if((d|0)==1651532643){break r}if((d|0)==1667523942){break p}if((d|0)!=1668112752){break s}g=25296;break n}if((d|0)<=1783635999){if((d|0)==1668246642){break o}g=25264;if((d|0)==1768449138){break n}if((d|0)!=1718909296){break s}g=25240;break l}if((d|0)==1885564018){break q}if((d|0)==1783636e3){break m}g=25248;if((d|0)==1785737832){break l}}d=H[a+100>>2];if(d&1){break j}Ca(c,1,2062,0);Da(h);a=0;break a}g=25280;break n}g=25288;break n}g=25304;break n}g=25272}H[e+76>>2]=d&255;H[e+64>>2]=d>>>24;H[e+72>>2]=d>>>8&255;H[e+68>>2]=d>>>16&255;Ca(c,2,2011,e- -64|0);f=i-f|0;if(I[a+100|0]&4){break k}d=H[e+92>>2];H[e+48>>2]=d>>>24;H[e+60>>2]=d&255;H[e+52>>2]=d>>>16&255;H[e+56>>2]=d>>>8&255;Ca(c,2,6771,e+48|0);H[a+100>>2]=H[a+100>>2]|2147483647;d=ub(b,f,c);if(!ra&(d|0)==(f|0)){continue}Ca(c,1,3748,0);Da(h);a=0;break a}g=25232}f=i-f|0}d=f;f=Sa(b);i=ra;if((i|0)<0){f=1}else{f=(i|0)<=0&d>>>0>f>>>0}if(f){f=H[e+88>>2];a=H[e+92>>2];m=e,n=Sa(b),H[m+40>>2]=n;H[e+36>>2]=d;H[e+32>>2]=a&255;H[e+20>>2]=a>>>24;H[e+16>>2]=f;H[e+28>>2]=a>>>8&255;H[e+24>>2]=a>>>16&255;Ca(c,1,15680,e+16|0);break b}if(d>>>0<=j>>>0){f=h;break c}j=d;f=Ia(h,d);if(f){break c}Da(h);Ca(c,1,2193,0);a=0;break a}if(!(d&2)){Ca(c,1,2132,0);Da(h);a=0;break a}H[a+100>>2]=d|2147483647;d=i-f|0;f=ub(b,d,c);if(!ra&(d|0)==(f|0)){continue}if(!(I[a+100|0]&8)){break d}Ca(c,2,3748,0)}Da(h);a=1;break a}Ca(c,1,3748,0);Da(h);a=0;break a}if((Ka(b,f,d,c)|0)!=(d|0)){Ca(c,1,3798,0);Da(f);a=0;break a}h=f;if(sa[H[g+4>>2]](a,f,d,c)|0){continue}break}Da(f);a=0;break a}Ca(c,1,4923,0);a=0;break a}Da(h);a=0}oa=e+112|0;return a|0}function le(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=oa-16|0;oa=g;if(H[a+8>>2]==16){h=H[a+180>>2]+N(H[a+228>>2],5644)|0}else{h=H[a+12>>2]}a:{if(c>>>0<=1){Ca(d,1,4721,0);a=0;break a}Ea(b,g+12|0,2);if(H[g+12>>2]){Ca(d,2,5897,0);a=1;break a}if(c>>>0<=6){Ca(d,1,4721,0);a=0;break a}Ea(b+2|0,g+8|0,1);j=H[h+5628>>2];a=j;b:{c:{d:{e=H[h+5632>>2];if(!e){break d}i=H[g+8>>2];while(1){if((i|0)==H[a>>2]){break d}a=a+20|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}break c}if((e|0)!=(f|0)){break b}}if((e|0)==H[h+5636>>2]){a=e+10|0;H[h+5636>>2]=a;a=Ia(j,N(a,20));if(!a){Da(H[h+5628>>2]);H[h+5636>>2]=0;H[h+5628>>2]=0;H[h+5632>>2]=0;Ca(d,1,4747,0);a=0;break a}H[h+5628>>2]=a;e=H[h+5632>>2];f=N(H[h+5636>>2]-e|0,20);if(f){y(a+N(e,20)|0,0,f)}j=H[h+5628>>2];e=H[h+5632>>2]}a=N(e,20)+j|0;n=1}H[a>>2]=H[g+8>>2];Ea(b+3|0,g+12|0,2);if(H[g+12>>2]){Ca(d,2,5897,0);a=1;break a}Ea(b+5|0,g+4|0,2);f=H[g+4>>2];if(f>>>0>=2){Ca(d,2,3130,0);a=1;break a}e=c-7|0;if(f){c=b+7|0;j=0;while(1){if(e>>>0<=2){Ca(d,1,4721,0);a=0;break a}Ea(c,g+12|0,1);if(H[g+12>>2]!=1){Ca(d,2,5579,0);a=1;break a}Ea(c+1|0,g,2);f=H[g>>2];b=f&32767;H[a+4>>2]=b;i=e-3|0;e=(f>>>15|0)+1|0;k=N(e,b)+2|0;if(i>>>0>>0){Ca(d,1,4721,0);a=0;break a}c=c+3|0;f=0;if(b){while(1){Ea(c,g+12|0,e);if(H[g+12>>2]!=(f|0)){Ca(d,2,6259,0);a=1;break a}c=c+e|0;f=f+1|0;if(f>>>0>2]){continue}break}}Ea(c,g,2);e=H[g>>2];b=e&32767;H[g>>2]=b;if((b|0)!=H[a+4>>2]){Ca(d,2,3306,0);a=1;break a}e=(e>>>15|0)+1|0;l=N(e,b)+3|0;k=i-k|0;if(l>>>0>k>>>0){Ca(d,1,4721,0);a=0;break a}c=c+2|0;f=0;if(b){while(1){Ea(c,g+12|0,e);if(H[g+12>>2]!=(f|0)){Ca(d,2,6259,0);a=1;break a}c=c+e|0;f=f+1|0;if(f>>>0>2]){continue}break}}Ea(c,g+12|0,3);e=H[g+12>>2];H[a+8>>2]=0;H[a+12>>2]=0;F[a+16|0]=!(e&65536)|I[a+16|0]&254;i=e&255;H[g+8>>2]=i;e:{if(!i){break e}m=H[h+5620>>2];if(m){f=H[h+5616>>2];b=0;while(1){if((i|0)==H[f+8>>2]){H[a+8>>2]=f;break e}f=f+20|0;b=b+1|0;if((m|0)!=(b|0)){continue}break}}Ca(d,1,4721,0);a=0;break a}e=e>>>8&255;H[g+8>>2]=e;f:{if(!e){break f}i=H[h+5620>>2];if(i){f=H[h+5616>>2];b=0;while(1){if((e|0)==H[f+8>>2]){H[a+12>>2]=f;break f}f=f+20|0;b=b+1|0;if((i|0)!=(b|0)){continue}break}}Ca(d,1,4721,0);a=0;break a}e=k-l|0;c=c+3|0;j=j+1|0;if(j>>>0>2]){continue}break}}if(e){Ca(d,1,4721,0);a=0;break a}a=1;if(!n){break a}H[h+5632>>2]=H[h+5632>>2]+1;a=1}oa=g+16|0;return a|0}function gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(K[a+44>>2]>=8){i=H[a+40>>2];l=8;while(1){k=H[a+12>>2]<<5;e=H[a>>2];g=H[a+36>>2];b=H[a+16>>2];h=H[a+20>>2];a:{if(b>>>0>=h>>>0){break a}j=e+k|0;d=b+1|0;if(h-b&1){c=j+(b<<6)|0;b=(N(b,g)<<2)+i|0;f=H[b+4>>2];H[c>>2]=H[b>>2];H[c+4>>2]=f;f=H[b+28>>2];H[c+24>>2]=H[b+24>>2];H[c+28>>2]=f;f=H[b+20>>2];H[c+16>>2]=H[b+16>>2];H[c+20>>2]=f;f=H[b+12>>2];H[c+8>>2]=H[b+8>>2];H[c+12>>2]=f;b=d}if((d|0)==(h|0)){break a}while(1){d=(N(b,g)<<2)+i|0;f=H[d+4>>2];c=j+(b<<6)|0;H[c>>2]=H[d>>2];H[c+4>>2]=f;f=H[d+28>>2];H[c+24>>2]=H[d+24>>2];H[c+28>>2]=f;f=H[d+20>>2];H[c+16>>2]=H[d+16>>2];H[c+20>>2]=f;f=H[d+12>>2];H[c+8>>2]=H[d+8>>2];H[c+12>>2]=f;d=b+1|0;c=j+(d<<6)|0;d=(N(d,g)<<2)+i|0;f=H[d+28>>2];H[c+24>>2]=H[d+24>>2];H[c+28>>2]=f;f=H[d+20>>2];H[c+16>>2]=H[d+16>>2];H[c+20>>2]=f;f=H[d+12>>2];H[c+8>>2]=H[d+8>>2];H[c+12>>2]=f;f=H[d+4>>2];H[c>>2]=H[d>>2];H[c+4>>2]=f;b=b+2|0;if((h|0)!=(b|0)){continue}break}}b=H[a+24>>2];h=H[a+28>>2];b:{if(b>>>0>=h>>>0){break b}j=(e-k|0)+32|0;k=(N(g,H[a+8>>2])<<2)+i|0;d=b+1|0;if(h-b&1){c=j+(b<<6)|0;b=k+(N(b,g)<<2)|0;e=H[b+4>>2];H[c>>2]=H[b>>2];H[c+4>>2]=e;e=H[b+28>>2];H[c+24>>2]=H[b+24>>2];H[c+28>>2]=e;e=H[b+20>>2];H[c+16>>2]=H[b+16>>2];H[c+20>>2]=e;e=H[b+12>>2];H[c+8>>2]=H[b+8>>2];H[c+12>>2]=e;b=d}if((d|0)==(h|0)){break b}while(1){d=k+(N(b,g)<<2)|0;e=H[d+4>>2];c=j+(b<<6)|0;H[c>>2]=H[d>>2];H[c+4>>2]=e;e=H[d+28>>2];H[c+24>>2]=H[d+24>>2];H[c+28>>2]=e;e=H[d+20>>2];H[c+16>>2]=H[d+16>>2];H[c+20>>2]=e;e=H[d+12>>2];H[c+8>>2]=H[d+8>>2];H[c+12>>2]=e;d=b+1|0;c=j+(d<<6)|0;d=k+(N(d,g)<<2)|0;e=H[d+28>>2];H[c+24>>2]=H[d+24>>2];H[c+28>>2]=e;e=H[d+20>>2];H[c+16>>2]=H[d+16>>2];H[c+20>>2]=e;e=H[d+12>>2];H[c+8>>2]=H[d+8>>2];H[c+12>>2]=e;e=H[d+4>>2];H[c>>2]=H[d>>2];H[c+4>>2]=e;b=b+2|0;if((h|0)!=(b|0)){continue}break}}Wa(a);b=0;if(H[a+32>>2]){while(1){d=H[a>>2]+(b<<5)|0;c=H[d+4>>2];g=(N(H[a+36>>2],b)<<2)+i|0;H[g>>2]=H[d>>2];H[g+4>>2]=c;c=H[d+28>>2];H[g+24>>2]=H[d+24>>2];H[g+28>>2]=c;c=H[d+20>>2];H[g+16>>2]=H[d+16>>2];H[g+20>>2]=c;c=H[d+12>>2];H[g+8>>2]=H[d+8>>2];H[g+12>>2]=c;b=b+1|0;if(b>>>0>2]){continue}break}}i=i+32|0;l=l+8|0;if(l>>>0<=K[a+44>>2]){continue}break}}Da(H[a>>2]);Da(a)}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=H[b>>2]+7&-8;H[b>>2]=c+16;q=a;b=H[c>>2];a=H[c+4>>2];d=H[c+8>>2];c=H[c+12>>2];r=c;g=oa-32|0;oa=g;f=c&65535;e=d;d=0;c=c>>>16&32767;o=c;a:{if(c-15361>>>0<=2045){c=f<<4|e>>>28;d=e<<4|a>>>28;f=o-15360|0;a=a&268435455;b:{if((a|0)==134217728&(b|0)!=0|a>>>0>134217728){d=d+1|0;c=d?c:c+1|0;break b}if(b|(a|0)!=134217728){break b}a=d;d=d+(d&1)|0;c=a>>>0>d>>>0?c+1|0:c}a=d;d=c>>>0>1048575;b=d?0:a;a=d?0:c;c=0;e=f;f=d+f|0;e=e>>>0>f>>>0?1:c;break a}if(!(!(b|e|(a|f))|((c|0)!=32767|(d|0)!=0))){b=e;e=f<<4|b>>>28;b=b<<4|a>>>28;a=e|524288;f=2047;e=0;break a}if(o>>>0>17406){b=0;a=0;f=2047;e=0;break a}j=!(c|d);p=j?15360:15361;k=p-o|0;if((k|0)>112){b=0;a=0;f=0;e=0;break a}d=b;c=a;l=e;e=j?f:f|65536;f=e;h=l;m=128-k|0;c:{if(m&64){e=d;c=m+-64|0;d=c&31;if((c&63)>>>0>=32){c=b<>>32-d|a<>>0>=32){j=h<>>32-i|e<>>0>=32){e=0;h=c>>>h|0}else{e=c>>>h|0;h=((1<>>h}h=n|h;e=e|j;n=d;i=m&31;if((m&63)>>>0>=32){j=d<>>32-i|c<>2]=d;H[g+20>>2]=c;H[g+24>>2]=h;H[g+28>>2]=e;d:{if(k&64){c=l;b=k+-64|0;a=b&31;if((b&63)>>>0>=32){e=0;b=f>>>a|0}else{e=f>>>a|0;b=((1<>>a}a=e;l=0;f=0;break d}if(!k){break d}e=l;c=64-k|0;d=c&31;if((c&63)>>>0>=32){c=e<>>32-d|f<>>0>=32){j=0;a=a>>>b|0}else{j=a>>>b|0;a=((1<>>b}b=l|a;a=c|j;d=k&31;if((k&63)>>>0>=32){c=0;l=f>>>d|0}else{c=f>>>d|0;l=((1<>>d}f=c}H[g>>2]=b;H[g+4>>2]=a;H[g+8>>2]=l;H[g+12>>2]=f;a=H[g+8>>2];d=a<<4;a=H[g+12>>2]<<4|a>>>28;f=H[g>>2];b=H[g+4>>2];e=b;b=b>>>28|d;c=e&268435455;f=f|(o|0)!=(p|0)&(H[g+16>>2]|H[g+24>>2]|(H[g+20>>2]|H[g+28>>2]))!=0;e:{if((c|0)==134217728&(f|0)!=0|c>>>0>134217728){b=b+1|0;a=b?a:a+1|0;break e}if(f|(c|0)!=134217728){break e}c=a;a=b;b=b+(b&1)|0;a=a>>>0>b>>>0?c+1|0:c}f=a>>>0>1048575;a=f?a^1048576:a;e=0}oa=g+32|0;u(0,b|0);u(1,a|(r&-2147483648|f<<20));s=q,t=+w(),M[s>>3]=t}function Sc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;q=H[a+24>>2];if(!H[q+16>>2]){return 1}r=H[q+24>>2];o=H[H[H[a+20>>2]>>2]+20>>2];while(1){e=H[r+36>>2];H[b+36>>2]=e;c=N(e,152);e=H[o+28>>2];d=c+e|0;u=H[a+64>>2];a:{if(u){e=e+N(H[o+24>>2],152)|0;p=H[e-144>>2]-H[e-152>>2]|0;c=d+12|0;f=d+4|0;e=H[d+8>>2];h=H[d>>2];g=36;break a}c=d+148|0;f=d+140|0;e=H[d+144>>2];h=H[d+136>>2];p=e-h|0;g=52}v=H[g+o>>2];b:{c:{if(!v){break c}l=H[f>>2];n=H[c>>2];i=e-h|0;f=H[b+40>>2];c=f&31;if((f&63)>>>0>=32){d=-1<>>32-c;c=-1<>2];k=m+j|0;g=d^-1;c=g;c=k>>>0>>0?c+1|0:c;d=f&31;if((f&63)>>>0>=32){k=c>>>d|0}else{k=((1<>>d}d=H[b+8>>2];j=H[b+16>>2];m=j+m|0;c=g;c=m>>>0>>0?c+1|0:c;g=f&31;if((f&63)>>>0>=32){f=c>>>g|0}else{f=((1<>>g}c=f+d|0;d:{if(f>>>0>>0){s=h-f|0;g=0;if(c>>>0>=e>>>0){m=0;e=i;break d}e=c-h|0;m=i-e|0;break d}g=f-h|0;if(c>>>0>=e>>>0){e=i-g|0;s=0;m=0;break d}m=e-c|0;s=0;e=d}c=n-l|0;f=H[b+12>>2];i=f+k|0;e:{if(k>>>0>>0){t=l-k|0;k=0;j=0;if(i>>>0>=n>>>0){break e}j=c;c=i-l|0;j=j-c|0;break e}k=k-l|0;if(i>>>0>=n>>>0){c=c-k|0;t=0;j=0;break e}t=0;c=f;j=n-i|0}h=0;if((g|k|(m|j)|(c|e))<0){break b}i=N(k,p)+g|0;g=H[b+44>>2];l=N(d,t)+s|0;f:{g:{if(!(i|g|(l|(d|0)!=(p|0))|(d|0)!=(e|0))){if((c|0)!=(f|0)){break g}e=(u?36:52)+o|0;H[b+44>>2]=H[e>>2];H[e>>2]=0;break c}if(g){break f}}Ie(f,0,d);if(ra|!f){break b}d=N(d,f);if(d>>>0>1073741823){break b}d=Ja(d<<2);H[b+44>>2]=d;if(!d){break b}f=H[b+8>>2];g=H[b+12>>2];if((f|0)==(e|0)&(g|0)==(c|0)){break f}f=N(f,g)<<2;if(!f){break f}y(d,0,f)}if(!c){break c}g=c&1;e=e<<2;h=H[b+44>>2]+(l<<2)|0;d=(i<<2)+v|0;if((c|0)!=1){i=c&2147483646;c=0;while(1){l=!e;if(!l){B(h,d,e)}n=p<<2;d=n+d|0;f=(H[b+8>>2]<<2)+h|0;if(!l){B(f,d,e)}d=d+n|0;h=f+(H[b+8>>2]<<2)|0;c=c+2|0;if((i|0)!=(c|0)){continue}break}}if(!g|!e){break c}B(h,d,e)}o=o+76|0;r=r+52|0;b=b+52|0;h=1;w=w+1|0;if(w>>>0>2]){continue}}break}return h}function Bb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;if(a){a:{if(H[a>>2]){b=H[a+12>>2];if(b){mb(b);Da(H[a+12>>2]);H[a+12>>2]=0}b=H[a+16>>2];if(b){Da(b);H[a+16>>2]=0;H[a+20>>2]=0}Da(H[a+64>>2]);H[a+60>>2]=0;H[a+64>>2]=0;Da(H[a+72>>2]);H[a+72>>2]=0;Da(H[a+88>>2]);H[a+88>>2]=0;break a}b=H[a+44>>2];if(b){Da(b);H[a+44>>2]=0}b=H[a+32>>2];if(b){Da(b);H[a+32>>2]=0;H[a+36>>2]=0}b=H[a+52>>2];if(!b){break a}Da(b);H[a+52>>2]=0;H[a+56>>2]=0}dc(H[a+232>>2]);b=H[a+180>>2];if(b){e=N(H[a+128>>2],H[a+132>>2]);if(e){while(1){mb(b);b=b+5644|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}b=H[a+180>>2]}Da(b);H[a+180>>2]=0}b=H[a+140>>2];if(b){c=H[a+136>>2];if(c){b=0;while(1){e=H[H[a+140>>2]+(b<<3)>>2];if(e){Da(e);c=H[a+136>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=H[a+140>>2]}H[a+136>>2]=0;Da(b);H[a+140>>2]=0}Da(H[a+160>>2]);H[a+144>>2]=0;H[a+160>>2]=0;Da(H[a+124>>2]);H[a+124>>2]=0;if(!(I[a+212|0]&2)){Da(H[a+192>>2])}y(a+104|0,0,112);sb(H[a+216>>2]);H[a+216>>2]=0;sb(H[a+220>>2]);H[a+216>>2]=0;d=H[a+224>>2];if(d){b=H[d+28>>2];if(b){Da(b);H[d+28>>2]=0}c=H[d+40>>2];if(c){if(H[d+36>>2]){while(1){e=N(g,40);b=H[(e+c|0)+36>>2];if(b){Da(b);c=H[d+40>>2];H[(e+c|0)+36>>2]=0}b=H[(c+e|0)+16>>2];if(b){Da(b);c=H[d+40>>2];H[(e+c|0)+16>>2]=0}b=H[(c+e|0)+24>>2];if(b){Da(b);c=H[d+40>>2];H[(e+c|0)+24>>2]=0}g=g+1|0;if(g>>>0>2]){continue}break}}Da(c);H[d+40>>2]=0}Da(d)}H[a+224>>2]=0;Va(H[a+96>>2]);H[a+96>>2]=0;Va(H[a+100>>2]);H[a+100>>2]=0;f=H[a+236>>2];if(f){b:{if(!H[f+8>>2]){break b}if(H[f+12>>2]){H[f+40>>2]=0;while(1){if(H[f+24>>2]>0){continue}break}}H[f+16>>2]=1;Da(H[f>>2]);c=H[f+28>>2];if(!c){break b}while(1){b=H[c+4>>2];Da(c);H[f+28>>2]=b;c=b;if(b){continue}break}}d=H[f+36>>2];if(d){g=H[d+4>>2];if((g|0)>0){b=0;while(1){e=H[d>>2]+N(b,12)|0;c=H[e+8>>2];if(c){sa[c|0](H[e+4>>2]);g=H[d+4>>2]}b=b+1|0;if((g|0)>(b|0)){continue}break}}Da(H[d>>2]);Da(d)}Da(f)}H[a+236>>2]=0;Da(a)}}function ke(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=oa-16|0;oa=g;if(H[a+8>>2]==16){h=H[a+180>>2]+N(H[a+228>>2],5644)|0}else{h=H[a+12>>2]}a:{if(!c){Ca(d,1,4259,0);break a}i=H[a+96>>2];e=1;Ea(b,g+8|0,1);f=H[g+8>>2];if(f>>>0>=2){Ca(d,2,9792,0);break a}if((f+1|0)!=(c|0)){e=0;Ca(d,2,4259,0);break a}d=H[i+16>>2];b:{if(!d){break b}e=H[h+5584>>2];if(d>>>0>=8){i=d&-8;c=0;while(1){H[e+8636>>2]=0;H[e+7556>>2]=0;H[e+6476>>2]=0;H[e+5396>>2]=0;H[e+4316>>2]=0;H[e+3236>>2]=0;H[e+2156>>2]=0;H[e+1076>>2]=0;e=e+8640|0;c=c+8|0;if((i|0)!=(c|0)){continue}break}}d=d&7;if(!d){break b}c=0;while(1){H[e+1076>>2]=0;e=e+1080|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}c=H[h+5608>>2];if(c){Da(c);H[h+5608>>2]=0;f=H[g+8>>2]}if(!f){e=1;break a}i=0;while(1){b=b+1|0;Ea(b,g+12|0,1);c:{if(!H[h+5632>>2]){break c}d=H[h+5628>>2];if(H[d>>2]!=H[g+12>>2]){break c}f=H[d+4>>2];j=H[a+96>>2];if((f|0)!=H[j+16>>2]){break c}c=H[d+8>>2];if(c){e=0;f=N(f,f);if(H[c+16>>2]!=(N(f,H[(H[c>>2]<<2)+24896>>2])|0)){break a}k=Ga(f<<2);H[h+5608>>2]=k;if(!k){break a}sa[H[(H[c>>2]<<2)+25200>>2]](H[c+12>>2],k,f)}c=H[d+12>>2];if(!c){break c}e=0;d=H[j+16>>2];if(H[c+16>>2]!=(N(d,H[(H[c>>2]<<2)+24896>>2])|0)){break a}f=Ga(d<<2);if(!f){break a}sa[H[(H[c>>2]<<2)+25216>>2]](H[c+12>>2],f,d);c=H[j+16>>2];d:{if(!c){break d}j=c&7;e=H[h+5584>>2];e:{if(c>>>0<8){c=f;break e}k=c&-8;d=0;c=f;while(1){H[e+1076>>2]=H[c>>2];H[e+2156>>2]=H[c+4>>2];H[e+3236>>2]=H[c+8>>2];H[e+4316>>2]=H[c+12>>2];H[e+5396>>2]=H[c+16>>2];H[e+6476>>2]=H[c+20>>2];H[e+7556>>2]=H[c+24>>2];H[e+8636>>2]=H[c+28>>2];e=e+8640|0;c=c+32|0;d=d+8|0;if((k|0)!=(d|0)){continue}break}}d=0;if(!j){break d}while(1){H[e+1076>>2]=H[c>>2];e=e+1080|0;c=c+4|0;d=d+1|0;if((j|0)!=(d|0)){continue}break}}Da(f)}e=1;i=i+1|0;if(i>>>0>2]){continue}break}}oa=g+16|0;return e|0}function Cb(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=H[H[a+24>>2]+24>>2]+N(b,52)|0;l=H[m+4>>2];k=l-1|0;o=H[a+60>>2];j=k+o|0;p=0-!l|0;i=p;r=H[H[H[a+20>>2]>>2]+20>>2]+N(b,76)|0;n=H[r+12>>2];i=Ke(j,j>>>0>>0?i+1|0:i,l,0);q=i>>>0>n>>>0?n:i;j=H[m>>2];m=j-1|0;s=H[a+56>>2];n=m+s|0;o=0-!j|0;i=o;t=H[r+8>>2];i=Ke(n,n>>>0>>0?i+1|0:i,j,0);n=i>>>0>t>>>0?t:i;i=p;t=H[r+4>>2];s=H[a+52>>2];k=s+k|0;i=Ke(k,k>>>0>>0?i+1|0:i,l,0);k=i>>>0>>0?t:i;i=o;p=H[r>>2];l=m;m=H[a+48>>2];l=l+m|0;i=Ke(l,l>>>0>>0?i+1|0:i,j,0);i=i>>>0

    >>0?p:i;l=0;p=H[(H[H[a+32>>2]+5584>>2]+N(b,1080)|0)+20>>2];c=H[r+20>>2]+(c?0-c|0:-1)|0;a:{if(!c){a=n;l=i;b=k;break a}m=c-1|0;j=(d&1)<>>0>>0){a=c&31;l=i-j|0;if((c&63)>>>0>=32){i=-1<>>32-a;a=-1<>>0>>0?i+1|0:i;b=a;a=c&31;if((c&63)>>>0>=32){l=i>>>a|0}else{l=((1<>>a}}a=0;b=0;d=d>>>1<>>0>>0){b=c&31;o=k-d|0;if((c&63)>>>0>=32){i=-1<>>32-b;b=-1<>>0>>0?i+1|0:i;k=b;b=c&31;if((c&63)>>>0>=32){b=i>>>b|0}else{b=((1<>>b}}if(j>>>0>>0){a=c&31;k=n-j|0;if((c&63)>>>0>=32){i=-1<>>32-a;a=-1<>>0>>0?i+1|0:i;j=a;a=c&31;if((c&63)>>>0>=32){a=i>>>a|0}else{a=((1<>>a}}if(d>>>0>=q>>>0){q=0;break a}k=q-d|0;d=c&31;if((c&63)>>>0>=32){i=-1<>>32-d;d=-1<>>0>>0?i+1|0:i;j=d;d=c&31;if((c&63)>>>0>=32){q=i>>>d|0}else{q=((1<>>d}}c=(p|0)==1?2:3;d=c+a|0;d=(a>>>0>d>>>0?-1:d)>>>0>e>>>0;a=c+q|0;d=d&(a>>>0>>0?-1:a)>>>0>f>>>0;a=l-c|0;d=d&(a>>>0<=l>>>0?a:0)>>>0>>0;a=b-c|0;return d&(a>>>0<=b>>>0?a:0)>>>0>>0}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=oa-80|0;oa=e;H[e+76>>2]=1;k=H[a+44>>2];d=H[H[a+224>>2]+40>>2];a:{b:{if(!d|!H[d+16>>2]){break b}c:{d=d+N(k,40)|0;if(!H[d+4>>2]){d=H[a+52>>2];f=H[a+48>>2]+2|0;d=f>>>0<2?d+1|0:d;if(fb(b,f,d,c)){break c}Ca(c,1,5440,0);break a}d=H[d+16>>2];if(!fb(b,H[d>>2],H[d+4>>2],c)){Ca(c,1,5440,0);break a}if((Ka(b,H[a+16>>2],2,c)|0)!=2){Ca(c,1,2472,0);break a}Ea(H[a+16>>2],e+72|0,2);if(H[e+72>>2]==65424){break c}Ca(c,1,4073,0);break a}if(H[a+8>>2]!=256){break b}H[a+8>>2]=8}h=N(H[a+132>>2],H[a+128>>2]);d:{if(!h){break d}f=H[a+180>>2];d=0;if(h>>>0>=8){i=h&-8;while(1){H[(f+N(d,5644)|0)+5588>>2]=-1;H[(f+N(d|1,5644)|0)+5588>>2]=-1;H[(f+N(d|2,5644)|0)+5588>>2]=-1;H[(f+N(d|3,5644)|0)+5588>>2]=-1;H[(f+N(d|4,5644)|0)+5588>>2]=-1;H[(f+N(d|5,5644)|0)+5588>>2]=-1;H[(f+N(d|6,5644)|0)+5588>>2]=-1;H[(f+N(d|7,5644)|0)+5588>>2]=-1;d=d+8|0;j=j+8|0;if((i|0)!=(j|0)){continue}break}}h=h&7;if(!h){break d}while(1){H[(f+N(d,5644)|0)+5588>>2]=-1;d=d+1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}g=0;if(!Za(a,e+72|0,0,e+68|0,e- -64|0,e+60|0,e+56|0,e+52|0,e+76|0,b,c)){break a}h=k+1|0;while(1){e:{if(!H[e+76>>2]){break e}d=H[e+72>>2];if(!gb(a,d,0,0,b,c)){break a}i=H[a+128>>2];j=H[a+132>>2];f=d+1|0;H[e+32>>2]=f;H[e+36>>2]=N(i,j);Ca(c,4,11795,e+32|0);if(!Sc(H[a+232>>2],H[H[a+100>>2]+24>>2])){break a}g=H[a+180>>2]+N(d,5644)|0;i=H[g+5596>>2];if(i){Da(i);H[g+5596>>2]=0;H[g+5600>>2]=0}H[e+16>>2]=f;Ca(c,4,16601,e+16|0);if((d|0)==(k|0)){d=H[a+224>>2];f=H[d+8>>2];d=H[d+12>>2];f=f+2|0;d=f>>>0<2?d+1|0:d;if(fb(b,f,d,c)){break e}g=0;Ca(c,1,5440,0);break a}H[e+4>>2]=h;H[e>>2]=f;Ca(c,2,13648,e);g=0;if(Za(a,e+72|0,0,e+68|0,e- -64|0,e+60|0,e+56|0,e+52|0,e+76|0,b,c)){continue}break a}break}g=Rc(a,c)}oa=e+80|0;return g|0}function qc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=oa-256|0;oa=j;a:{if(!a){a=0;break a}if(!(H[a>>2]==(b|0)&H[a+4>>2]==(c|0))){H[a+4>>2]=c;H[a>>2]=b;H[j>>2]=c;H[j+128>>2]=b;e=c;g=b;while(1){o=i;i=i+1|0;h=i<<2;n=(e+1|0)/2|0;H[h+j>>2]=n;k=h+(j+128|0)|0;h=(g+1|0)/2|0;H[k>>2]=h;m=N(e,g);f=m+f|0;e=n;g=h;if(m>>>0>1){continue}break}H[a+8>>2]=f;b:{c:{d:{if(!f){b=H[a+12>>2];if(!b){break d}Da(b);H[a+12>>2]=0;break d}e=f<<4;if(e>>>0<=K[a+16>>2]){break b}f=Ia(H[a+12>>2],e);if(f){break c}Ca(d,1,6451,0);b=H[a+12>>2];if(!b){break d}Da(b);H[a+12>>2]=0}Da(a);a=0;break a}H[a+12>>2]=f;c=H[a+16>>2];b=e-c|0;if(b){y(c+f|0,0,b)}H[a+16>>2]=e;c=H[a+4>>2];b=H[a>>2]}g=H[a+12>>2];if(o){d=0;e=(N(b,c)<<4)+g|0;f=e;while(1){b=d<<2;k=H[b+j>>2];e:{if((k|0)<=0){break e}m=k-1|0;l=0;f:{g:{c=H[b+(j+128|0)>>2];if((c|0)<=0){n=k&1;i=0;if((k|0)!=1){break g}b=f;break f}while(1){b=f;f=c;while(1){h:{H[g>>2]=e;if((f|0)==1){g=g+16|0;e=e+16|0;break h}H[g+16>>2]=e;e=e+16|0;g=g+32|0;h=(f|0)>2;f=f-2|0;if(h){continue}}break}h=((l|0)==(m|0)|l)&1;f=h?e:b+(c<<4)|0;e=h?e:b;l=l+1|0;if((k|0)!=(l|0)){continue}break}break e}h=k&2147483646;while(1){b=(i|0)==(m|0);i=i+2|0;e=b?e:f;f=e;b=e;l=l+2|0;if((h|0)!=(l|0)){continue}break}}if(!n){f=e;break e}f=(c<<4)+b|0;c=((i|0)==(m|0)|i)&1;f=c?e:f;e=c?e:b}d=d+1|0;if((o|0)!=(d|0)){continue}break}}H[g>>2]=0}c=H[a+8>>2];if(!c){break a}e=H[a+12>>2];if(c>>>0>=4){b=c&-4;g=0;while(1){H[e+60>>2]=0;H[e+52>>2]=999;H[e+56>>2]=0;H[e+44>>2]=0;H[e+36>>2]=999;H[e+40>>2]=0;H[e+28>>2]=0;H[e+20>>2]=999;H[e+24>>2]=0;H[e+12>>2]=0;H[e+4>>2]=999;H[e+8>>2]=0;e=e- -64|0;g=g+4|0;if((b|0)!=(g|0)){continue}break}}b=c&3;if(!b){break a}g=0;while(1){H[e+12>>2]=0;H[e+4>>2]=999;H[e+8>>2]=0;e=e+16|0;g=g+1|0;if((b|0)!=(g|0)){continue}break}}oa=j+256|0;return a}function ob(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=H[a+16>>2];if(g>>>0>=32){return H[a+8>>2]}d=H[a+20>>2];a:{if((d|0)>=4){b=H[a>>2];c=H[b-3>>2];d=d-4|0;H[a+20>>2]=d;H[a>>2]=b-4;break a}if((d|0)<=0){break a}k=d&1;b=H[a>>2];b:{if((d|0)==1){e=24;break b}j=d&2147483646;e=24;while(1){h=b-1|0;H[a>>2]=h;i=I[b|0];b=b-2|0;H[a>>2]=b;H[a+20>>2]=d-1;h=I[h|0];d=d-2|0;H[a+20>>2]=d;c=i<>2]=b-1;b=I[b|0];H[a+20>>2]=d-1;c=b<>2];j=c&255;H[a+24>>2]=j>>>0>143;b=b?(c&2130706432)==2130706432?7:8:8;h=b+(c>>>0<=2415919103?8:(c&8323072)==8323072?7:8)|0;f=c>>>16&255;i=h+(f>>>0<=143?8:(c&32512)==32512?7:8)|0;e=c>>>8&255;k=i+(g+(e>>>0<=143?8:(c&127)==127?7:8)|0)|0;H[a+16>>2]=k;l=H[a+12>>2];b=f<>>24|e<>>0>=32){e=b<>>32-c;b=b<>2];b=e|l;h=b;H[a+8>>2]=g;H[a+12>>2]=b;if(k>>>0<=31){c:{if((d|0)>=4){b=H[a>>2];c=H[b-3>>2];H[a+20>>2]=d-4;H[a>>2]=b-4;break c}if((d|0)<=0){c=0;break c}i=d&1;b=H[a>>2];d:{if((d|0)==1){e=24;c=0;break d}l=d&2147483646;e=24;c=0;f=0;while(1){m=b-1|0;H[a>>2]=m;n=I[b|0];b=b-2|0;H[a>>2]=b;H[a+20>>2]=d-1;m=I[m|0];d=d-2|0;H[a+20>>2]=d;c=n<>2]=b-1;b=I[b|0];H[a+20>>2]=d-1;c=b<>2]=d>>>0>143;j=j>>>0<=143?8:(c&2130706432)==2130706432?7:8;i=j+(c>>>0<=2415919103?8:(c&8323072)==8323072?7:8)|0;f=c>>>16&255;l=i+(f>>>0<=143?8:(c&32512)==32512?7:8)|0;e=c>>>8&255;H[a+16>>2]=l+((e>>>0<=143?8:(c&127)==127?7:8)+k|0);b=a;a=f<>>24|e<>>0>=32){d=a<>>32-c;a=a<>2]=g;H[b+12>>2]=d|h}return g}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=H[a+96>>2];l=N(H[a+128>>2],H[a+132>>2]);a:{if(l){b=H[j+16>>2];m=N(b,1080);k=N(b,b)<<2;e=H[a+12>>2];b=H[a+180>>2];while(1){n=H[b+5584>>2];B(b,e,5644);H[b+5608>>2]=0;H[b+5588>>2]=-1;H[b+5168>>2]=0;H[b+5636>>2]=0;H[b+5616>>2]=0;H[b+5624>>2]=0;H[b+5628>>2]=0;H[b+5584>>2]=n;F[b+5640|0]=I[b+5640|0]&252;b:{if(!H[e+5608>>2]){break b}d=Ga(k);H[b+5608>>2]=d;if(!d){return 0}if(!k){break b}B(d,H[e+5608>>2],k)}d=N(H[e+5624>>2],20);f=Ga(d);H[b+5616>>2]=f;i=0;if(!f){break a}if(d){B(f,H[e+5616>>2],d)}g=H[e+5620>>2];if(g){d=H[e+5616>>2];f=H[b+5616>>2];h=0;while(1){if(H[d+12>>2]){g=Ga(H[d+16>>2]);H[f+12>>2]=g;if(!g){return 0}o=H[d+16>>2];if(o){B(g,H[d+12>>2],o)}g=H[e+5620>>2]}H[b+5624>>2]=H[b+5624>>2]+1;f=f+20|0;d=d+20|0;h=h+1|0;if(h>>>0>>0){continue}break}}d=N(H[e+5636>>2],20);f=Ga(d);H[b+5628>>2]=f;if(!f){break a}if(d){B(f,H[e+5628>>2],d)}i=H[e+5636>>2];H[b+5636>>2]=i;if(i){d=H[e+5628>>2];f=H[b+5628>>2];h=0;while(1){g=H[d+8>>2];if(g){H[f+8>>2]=H[b+5616>>2]+(g-H[e+5616>>2]|0)}g=H[d+12>>2];if(g){H[f+12>>2]=H[b+5616>>2]+(g-H[e+5616>>2]|0)}f=f+20|0;d=d+20|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}if(m){B(n,H[e+5584>>2],m)}b=b+5644|0;p=p+1|0;if((p|0)!=(l|0)){continue}break}}i=1;e=Fa(1,72);b=0;c:{if(!e){break c}F[e+40|0]=I[e+40|0]&254|1;d=Fa(1,4);H[e+20>>2]=d;b=e;if(d){break c}Da(b);b=0}H[a+232>>2]=b;if(!b){return 0}f=H[a+236>>2];e=0;H[b+28>>2]=a+104;H[b+24>>2]=j;d=Fa(1,848);H[H[b+20>>2]>>2]=d;d:{if(!d){break d}d=Fa(H[j+16>>2],76);h=H[H[b+20>>2]>>2];H[h+20>>2]=d;if(!d){break d}H[h+16>>2]=H[j+16>>2];e=H[a+188>>2];H[b+44>>2]=f;H[b>>2]=e;e=1}if(e){break a}dc(H[a+232>>2]);i=0;H[a+232>>2]=0;Ca(c,1,3668,0)}return i|0}function Na(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=H[a+16>>2];if(h>>>0>=32){return H[a+8>>2]}d=H[a+24>>2];a:{if((d|0)>=4){b=H[a>>2];c=H[b>>2];g=d-4|0;H[a+24>>2]=g;H[a>>2]=b+4;break a}c=H[a+28>>2]?-1:0;if((d|0)<=0){g=d;break a}j=d&1;b=H[a>>2];b:{if((d|0)==1){f=b;break b}i=d&2147483646;while(1){H[a>>2]=b+1;k=I[b|0];f=b+2|0;H[a>>2]=f;H[a+24>>2]=d-1;b=I[b+1|0];d=d-2|0;H[a+24>>2]=d;c=((255<>2]=f+1;b=I[f|0];H[a+24>>2]=d-1;c=(255<>2];i=c>>>24|0;H[a+20>>2]=(i|0)==255;f=c>>>16&255;d=c>>>8&255;b=b?7:8;c=c&255;e=b+((c|0)==255?7:8)|0;k=((d|0)==255?7:8)+e|0;j=(h+((f|0)==255?7:8)|0)+k|0;H[a+16>>2]=j;l=H[a+12>>2];b=c|(d<>>0>=32){f=b<>>32-c;b=b<>2];b=f|l;k=b;H[a+8>>2]=h;H[a+12>>2]=b;if(j>>>0<=31){c:{if((g|0)>=4){b=H[a>>2];d=H[b>>2];H[a+24>>2]=g-4;H[a>>2]=b+4;break c}e=0;d=H[a+28>>2]?-1:0;if((g|0)<=0){break c}l=g&1;b=H[a>>2];d:{if((g|0)==1){c=b;break d}m=g&2147483646;f=0;while(1){H[a>>2]=b+1;n=I[b|0];c=b+2|0;H[a>>2]=c;H[a+24>>2]=g-1;b=I[b+1|0];g=g-2|0;H[a+24>>2]=g;d=((255<>2]=c+1;b=I[c|0];H[a+24>>2]=g-1;d=(255<>>24|0;H[a+20>>2]=(c|0)==255;f=d>>>16&255;g=d>>>8&255;e=(i|0)==255?7:8;d=d&255;i=e+((d|0)==255?7:8)|0;l=((g|0)==255?7:8)+i|0;H[a+16>>2]=(((f|0)==255?7:8)+j|0)+l;b=a;a=d|(g<>>0>=32){f=a<>>32-c;a=a<>2]=h;H[b+12>>2]=f|k}return h}function Wc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;i=oa-32|0;oa=i;if(H[a+8>>2]==16){f=H[a+180>>2]+N(H[a+228>>2],5644)|0}else{f=H[a+12>>2]}a:{if(K[d>>2]<=4){a=0;Ca(e,1,2607,0);break a}f=H[f+5584>>2]+N(b,1080)|0;Ea(c,f+4|0,1);h=H[f+4>>2]+1|0;H[f+4>>2]=h;if(h>>>0>=34){H[i+4>>2]=33;H[i>>2]=h;Ca(e,1,7635,i);a=0;break a}g=H[a+184>>2];if(g>>>0>=h>>>0){H[i+24>>2]=h;H[i+20>>2]=g;H[i+16>>2]=b;Ca(e,1,16423,i+16|0);H[a+8>>2]=H[a+8>>2]|32768;a=0;break a}Ea(c+1|0,f+8|0,1);H[f+8>>2]=H[f+8>>2]+2;Ea(c+2|0,f+12|0,1);a=H[f+12>>2]+2|0;H[f+12>>2]=a;b=H[f+8>>2];if(!(!(b>>>0>10|a>>>0>10)&a+b>>>0<13)){a=0;Ca(e,1,5468,0);break a}Ea(c+3|0,f+16|0,1);if(I[f+16|0]&128){a=0;Ca(e,1,6564,0);break a}Ea(c+4|0,f+20|0,1);if(K[f+20>>2]>=2){a=0;Ca(e,1,6499,0);break a}b=H[d>>2]-5|0;H[d>>2]=b;a=1;h=H[f+4>>2];if(!(F[f|0]&1)){if(!h){break a}d=f+944|0;e=f+812|0;b=0;c=0;if(h>>>0>=4){k=h&-4;g=0;while(1){f=c<<2;H[f+e>>2]=15;H[d+f>>2]=15;j=f|4;H[j+e>>2]=15;H[d+j>>2]=15;j=f|8;H[j+e>>2]=15;H[d+j>>2]=15;f=f|12;H[f+e>>2]=15;H[d+f>>2]=15;c=c+4|0;g=g+4|0;if((k|0)!=(g|0)){continue}break}}f=h&3;if(!f){break a}while(1){a=c<<2;H[a+e>>2]=15;H[a+d>>2]=15;a=1;c=c+1|0;b=b+1|0;if((f|0)!=(b|0)){continue}break}break a}if(b>>>0>=h>>>0){b:{if(!h){g=0;break b}Ea(c+5|0,i+28|0,1);a=H[i+28>>2];H[f+944>>2]=a>>>4;H[f+812>>2]=a&15;g=H[f+4>>2];if(g>>>0>=2){h=f+944|0;k=f+812|0;a=c+6|0;c=1;while(1){Ea(a,i+28|0,1);c:{b=H[i+28>>2];if(b>>>0>=16){g=b&15;if(g){break c}}a=0;Ca(e,1,6025,0);break a}j=c<<2;H[j+k>>2]=g;H[h+j>>2]=b>>>4;a=a+1|0;c=c+1|0;g=H[f+4>>2];if(c>>>0>>0){continue}break}}b=H[d>>2]}H[d>>2]=b-g;a=1;break a}a=0;Ca(e,1,2607,0)}oa=i+32|0;return a}function Ce(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=oa-16|0;oa=f;H[f+12>>2]=c;j=H[a+96>>2];if(H[a+8>>2]==16){e=H[a+180>>2]+N(H[a+228>>2],5644)|0}else{e=H[a+12>>2]}F[e+5640|0]=I[e+5640|0]|1;a:{if(c>>>0<=4){c=0;Ca(d,1,4565,0);break a}Ea(b,e,1);if(K[e>>2]>=8){c=0;Ca(d,1,4531,0);break a}Ea(b+1|0,f+8|0,1);c=H[f+8>>2];H[e+4>>2]=c;if((c|0)>=5){Ca(d,1,4490,0);H[e+4>>2]=-1}Ea(b+2|0,e+8|0,2);l=H[e+8>>2];if(l-65536>>>0<=4294901760){H[f>>2]=l;Ca(d,1,8111,f);c=0;break a}c=H[a+188>>2];H[e+12>>2]=c?c:l;Ea(b+4|0,e+16|0,1);if(K[e+16>>2]>=2){c=0;Ca(d,1,5536,0);break a}o=b+5|0;H[f+12>>2]=H[f+12>>2]-5;m=H[j+16>>2];b:{if(!m){break b}g=H[e>>2]&1;h=H[e+5584>>2];b=0;if(m>>>0>=8){p=h+7560|0;q=h+6480|0;r=h+5400|0;s=h+4320|0;l=h+3240|0;j=h+2160|0;e=h+1080|0;c=m&-8;while(1){i=N(b,1080);H[i+h>>2]=g;H[e+i>>2]=g;H[j+i>>2]=g;H[i+l>>2]=g;H[i+s>>2]=g;H[i+r>>2]=g;H[i+q>>2]=g;H[i+p>>2]=g;b=b+8|0;k=k+8|0;if((c|0)!=(k|0)){continue}break}}c=m&7;if(!c){break b}while(1){H[N(b,1080)+h>>2]=g;b=b+1|0;n=n+1|0;if((c|0)!=(n|0)){continue}break}}c=0;if(!Wc(a,0,o,f+12|0,d)){Ca(d,1,4565,0);break a}if(H[f+12>>2]){Ca(d,1,4565,0);break a}if(H[a+8>>2]==16){b=H[a+180>>2]+N(H[a+228>>2],5644)|0}else{b=H[a+12>>2]}if(K[H[a+96>>2]+16>>2]>=2){b=H[b+5584>>2];j=H[b+4>>2]<<2;n=b+944|0;e=b+812|0;k=1;c=b;while(1){H[c+1084>>2]=H[b+4>>2];H[c+1088>>2]=H[b+8>>2];H[c+1092>>2]=H[b+12>>2];H[c+1096>>2]=H[b+16>>2];H[c+1100>>2]=H[b+20>>2];d=!j;if(!d){B(c+1892|0,e,j)}if(!d){B(c+2024|0,n,j)}c=c+1080|0;k=k+1|0;if(k>>>0>2]+16>>2]){continue}break}}c=1}oa=f+16|0;return c|0}function jc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;H[a+8>>2]=0;H[a+12>>2]=0;H[a>>2]=b;H[a+28>>2]=d;H[a+16>>2]=0;H[a+20>>2]=0;h=c-1|0;H[a+24>>2]=h;n=b&3;a:{if((c|0)<=0){e=b;b=d;break a}e=b+1|0;H[a>>2]=e;b=I[b|0]}g=b;i=8;H[a+16>>2]=8;j=(g|0)==255;H[a+20>>2]=j;H[a+8>>2]=g;H[a+12>>2]=0;b:{if((n|0)==3){break b}k=c-2|0;H[a+24>>2]=k;c:{if((c|0)<2){b=e;e=d;break c}b=e+1|0;H[a>>2]=b;e=I[e|0]}j=(e|0)==255;H[a+20>>2]=j;i=(g|0)==255?15:16;H[a+16>>2]=i;g=g|e<<8;H[a+8>>2]=g;H[a+12>>2]=0;if((n|0)==2){e=b;c=h;h=k;break b}o=c-3|0;H[a+24>>2]=o;d:{if((c|0)<3){f=b;b=d;break d}f=b+1|0;H[a>>2]=f;b=I[b|0]}j=(b|0)==255;H[a+20>>2]=j;l=((e|0)==255?7:8)+i|0;H[a+16>>2]=l;e=i&31;if((i&63)>>>0>=32){m=b<>>32-e;e=b<>2]=g;H[a+12>>2]=m;if((n|0)==1){e=f;i=l;c=k;h=o;break b}h=c-4|0;H[a+24>>2]=h;e:{if((c|0)<4){e=f;c=d;break e}e=f+1|0;H[a>>2]=e;c=I[f|0]}j=(c|0)==255;H[a+20>>2]=j;i=l+((b|0)==255?7:8)|0;H[a+16>>2]=i;b=l&31;if((l&63)>>>0>=32){f=c<>>32-b;b=c<>2]=g;H[a+12>>2]=b;c=o}f:{if((c|0)>=5){d=H[e>>2];H[a+24>>2]=c-5;H[a>>2]=e+4;break f}b=0;d=d?-1:0;if((c|0)<2){break f}while(1){c=e+1|0;H[a>>2]=c;e=I[e|0];f=h-1|0;H[a+24>>2]=f;d=(255<>>0>1;e=c;h=f;if(k){continue}break}}b=d>>>24|0;H[a+20>>2]=(b|0)==255;c=d>>>16&255;e=d>>>8&255;h=j?7:8;d=d&255;f=h+((d|0)==255?7:8)|0;k=((e|0)==255?7:8)+f|0;H[a+16>>2]=(((c|0)==255?7:8)+i|0)+k;b=d|(e<>>0>=32){d=a<>>32-b;a=a<>2]=a|g;H[c+12>>2]=d|m}function Ab(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;j=oa-32|0;oa=j;p=H[a+16>>2];a:{if(!p){k=1;break a}d=H[a>>2];c=d>>31;h=c;b:{if((c|0)<0){break b}e=H[a+4>>2];c=e>>31;l=c;if((c|0)<0){break b}f=H[a+8>>2];c=f>>31;m=c;if((c|0)<0){break b}i=H[a+12>>2];c=i>>31;if((c|0)<0){break b}a=H[a+24>>2];s=d-1|0;t=h-!d|0;u=e-1|0;v=l-!e|0;w=f-1|0;x=m-!f|0;y=i-1|0;z=c-!i|0;while(1){c=t;d=H[a>>2];e=d+s|0;c=d>>>0>e>>>0?c+1|0:c;h=Ke(e,c,d,0);H[a+16>>2]=h;c=v;e=H[a+4>>2];f=e+u|0;c=e>>>0>f>>>0?c+1|0:c;l=Ke(f,c,e,0);H[a+20>>2]=l;i=H[a+40>>2];f=i&31;if((i&63)>>>0>=32){c=1<>>32-f}n=g;k=c;f=n-1|0;c=c-!n|0;m=c;q=d>>31;g=q+x|0;r=d+w|0;g=r>>>0>>0?g+1|0:g;d=Je(r,g,d,q);c=(d>>31)+c|0;g=d;d=d+f|0;c=g>>>0>d>>>0?c+1|0:c;g=d;d=i&31;if((i&63)>>>0>=32){d=c>>d}else{d=((1<>>d}c=(h>>31)+m|0;g=h;h=f+h|0;c=g>>>0>h>>>0?c+1|0:c;g=d;d=i&31;if((i&63)>>>0>=32){c=c>>d}else{c=((1<>>d}c=g-c|0;if((c|0)<0){H[j+4>>2]=c;H[j>>2]=o;Ca(b,1,13510,j);k=0;break a}H[a+8>>2]=c;d=e>>31;c=d+z|0;h=e+y|0;c=h>>>0>>0?c+1|0:c;d=Je(h,c,e,d);c=(d>>31)+m|0;e=d;d=d+f|0;c=e>>>0>d>>>0?c+1|0:c;e=d;d=i&31;if((i&63)>>>0>=32){e=c>>d}else{e=((1<>>d}c=k+(l>>31)|0;d=l+n|0;c=d>>>0>>0?c+1|0:c;f=d-1|0;h=e;d=c-!d|0;e=f;c=i&31;if((i&63)>>>0>=32){c=d>>c}else{c=((1<>>c}c=h-c|0;if((c|0)<0){H[j+20>>2]=c;H[j+16>>2]=o;Ca(b,1,13579,j+16|0);k=0;break a}H[a+12>>2]=c;a=a+52|0;k=1;o=o+1|0;if((p|0)!=(o|0)){continue}break}break a}Ca(b,1,6720,0)}oa=j+32|0;return k}function sc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=oa-256|0;oa=j;f=Fa(1,20);a:{if(!f){Ca(c,1,6413,0);f=0;break a}H[f+4>>2]=b;H[f>>2]=a;H[j>>2]=b;H[j+128>>2]=a;while(1){p=g;g=g+1|0;h=g<<2;d=(b+1|0)/2|0;H[h+j>>2]=d;m=h+(j+128|0)|0;h=(a+1|0)/2|0;H[m>>2]=h;i=N(a,b);e=i+e|0;b=d;a=h;if(i>>>0>1){continue}break}H[f+8>>2]=e;if(!e){Da(f);f=0;break a}d=Fa(e,16);H[f+12>>2]=d;if(!d){Ca(c,1,3564,0);Da(f);f=0;break a}l=H[f+8>>2];H[f+16>>2]=l<<4;a=d;if(p){e=(N(H[f+4>>2],H[f>>2])<<4)+d|0;b=e;while(1){c=n<<2;i=H[c+j>>2];b:{if((i|0)<=0){break b}o=i-1|0;h=0;c:{c=H[c+(j+128|0)>>2];if((c|0)<=0){g=0;if((i|0)!=1){k=i&2147483646;while(1){m=(g|0)==(o|0);g=g+2|0;e=m?b:e;b=e;h=h+2|0;if((k|0)!=(h|0)){continue}break}}if(i&1){break c}b=e;break b}while(1){g=e;e=c;while(1){d:{H[a>>2]=b;if((e|0)==1){a=a+16|0;b=b+16|0;break d}H[a+16>>2]=b;b=b+16|0;a=a+32|0;k=(e|0)>2;e=e-2|0;if(k){continue}}break}k=((h|0)==(o|0)|h)&1;e=k?b:g+(c<<4)|0;b=k?b:g;h=h+1|0;if((i|0)!=(h|0)){continue}break}break b}g=((g|0)==(o|0)|g)&1;c=g?b:(c<<4)+e|0;b=g?b:e;e=c}n=n+1|0;if((n|0)!=(p|0)){continue}break}}H[a>>2]=0;e:{if(!l){break e}if(l>>>0>=4){a=l&-4;b=0;while(1){H[d+60>>2]=0;H[d+52>>2]=999;H[d+56>>2]=0;H[d+44>>2]=0;H[d+36>>2]=999;H[d+40>>2]=0;H[d+28>>2]=0;H[d+20>>2]=999;H[d+24>>2]=0;H[d+12>>2]=0;H[d+4>>2]=999;H[d+8>>2]=0;d=d- -64|0;b=b+4|0;if((a|0)!=(b|0)){continue}break}}a=l&3;if(!a){break e}b=0;while(1){H[d+12>>2]=0;H[d+4>>2]=999;H[d+8>>2]=0;d=d+16|0;b=b+1|0;if((a|0)!=(b|0)){continue}break}}}oa=j+256|0;return f}function Ia(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!b){return 0}a:{if(!a){a=kb(8,b);break a}if(!b){Da(a);a=0;break a}b:{if(b>>>0>4294967239){break b}h=b>>>0<=8?8:b+3&-4;b=h+8|0;c:{d:{k=a-4|0;f=k;c=H[f>>2];e=c+f|0;j=H[e>>2];g=j+e|0;e:{f:{if(H[g-4>>2]!=(j|0)){d=b+f|0;if(d+16>>>0<=g>>>0){c=H[e+4>>2];e=H[e+8>>2];H[c+8>>2]=e;H[e+4>>2]=c;c=g-d|0;H[d>>2]=c;H[(d+(c&-4)|0)-4>>2]=c|1;e=H[d>>2]-8|0;g:{if(e>>>0<=127){c=(e>>>3|0)-1|0;break g}g=Q(e);c=((e>>>29-g^4)-(g<<2)|0)+110|0;if(e>>>0<=4095){break g}c=((e>>>30-g^2)-(g<<1)|0)+71|0;c=c>>>0>=63?63:c}e=c<<4;H[d+4>>2]=e+26400;e=e+26408|0;H[d+8>>2]=H[e>>2];H[e>>2]=d;H[H[d+8>>2]+4>>2]=d;e=H[6859];d=c&31;if((c&63)>>>0>=32){c=1<>>32-d}H[6858]=g|H[6858];H[6859]=c|e;H[f>>2]=b;break d}if(d>>>0>g>>>0){break f}b=H[e+4>>2];d=H[e+8>>2];H[b+8>>2]=d;H[d+4>>2]=b;b=c+j|0;H[f>>2]=b;break d}if(c>>>0>=b+16>>>0){H[f>>2]=b;H[(f+(b&-4)|0)-4>>2]=b;d=b+f|0;b=c-b|0;H[d>>2]=b;H[(d+(b&-4)|0)-4>>2]=b|1;c=H[d>>2]-8|0;h:{if(c>>>0<=127){b=(c>>>3|0)-1|0;break h}f=Q(c);b=((c>>>29-f^4)-(f<<2)|0)+110|0;if(c>>>0<=4095){break h}b=((c>>>30-f^2)-(f<<1)|0)+71|0;b=b>>>0>=63?63:b}c=b<<4;H[d+4>>2]=c+26400;c=c+26408|0;H[d+8>>2]=H[c>>2];H[c>>2]=d;H[H[d+8>>2]+4>>2]=d;c=H[6859];d=b&31;if((b&63)>>>0>=32){b=1<>>32-d}H[6858]=e|H[6858];H[6859]=b|c;d=1;break c}d=1;if(b>>>0<=c>>>0){break e}}d=0}break c}H[(f+(b&-4)|0)-4>>2]=b;d=1}if(d){break a}b=kb(8,h);if(!b){break b}i=H[k>>2]-8|0;eb(b,a,h>>>0>>0?h:i);Da(a);i=b}a=i}return a}function Qb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;a:{d=Fa(1,48);if(d){b=H[a+224>>2];c=H[b+4>>2];H[d>>2]=H[b>>2];H[d+4>>2]=c;c=H[b+12>>2];H[d+8>>2]=H[b+8>>2];H[d+12>>2]=c;c=H[b+20>>2];H[d+16>>2]=H[b+16>>2];H[d+20>>2]=c;c=H[b+24>>2];H[d+24>>2]=c;f=Ga(N(c,24));H[d+28>>2]=f;if(!f){Da(d);return 0}b=H[H[a+224>>2]+28>>2];b:{if(b){c=N(H[d+24>>2],24);if(!c){break b}B(f,b,c);break b}Da(f);H[d+28>>2]=0}c=H[H[a+224>>2]+36>>2];H[d+36>>2]=c;b=Fa(c,40);H[d+40>>2]=b;if(!b){Da(H[d+28>>2]);Da(d);return 0}c:{if(H[H[a+224>>2]+40>>2]){if(!H[d+36>>2]){break c}while(1){e=N(h,40);c=H[(e+H[H[a+224>>2]+40>>2]|0)+20>>2];H[(b+e|0)+20>>2]=c;g=Ga(N(c,24));c=H[d+40>>2];f=c+e|0;H[f+24>>2]=g;if(!g){if(h){b=0;while(1){Da(H[(H[d+40>>2]+N(b,40)|0)+24>>2]);b=b+1|0;if((h|0)!=(b|0)){continue}break}c=H[d+40>>2]}break a}b=H[(e+H[H[a+224>>2]+40>>2]|0)+24>>2];d:{if(b){c=N(H[f+20>>2],24);if(c){B(g,b,c)}b=H[d+40>>2];break d}Da(g);b=H[d+40>>2];H[(e+b|0)+24>>2]=0}c=H[(e+H[H[a+224>>2]+40>>2]|0)+4>>2];H[(b+e|0)+4>>2]=c;g=Ga(N(c,24));c=H[d+40>>2];f=c+e|0;H[f+16>>2]=g;if(!g){if(h){b=0;while(1){a=N(b,40);Da(H[(a+H[d+40>>2]|0)+24>>2]);Da(H[(a+H[d+40>>2]|0)+16>>2]);b=b+1|0;if((h|0)!=(b|0)){continue}break}c=H[d+40>>2]}break a}b=H[(e+H[H[a+224>>2]+40>>2]|0)+16>>2];e:{if(b){c=N(H[f+4>>2],24);if(c){B(g,b,c)}b=H[d+40>>2];break e}Da(g);b=H[d+40>>2];H[(e+b|0)+16>>2]=0}c=b+e|0;H[c+32>>2]=0;H[c+36>>2]=0;h=h+1|0;if(h>>>0>2]){continue}break}break c}Da(b);H[d+40>>2]=0}}else{d=0}return d|0}Da(c);Da(H[d+28>>2]);Da(d);return 0}function kb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{while(1){if(a-1&a|b>>>0>4294967239){break b}j=a>>>0>8;a=j?a:8;d=H[6859];e=d;g=H[6858];b=b>>>0<=8?8:b+3&-4;c:{if(b>>>0<=127){i=(b>>>3|0)-1|0;break c}c=Q(b);i=((b>>>29-c^4)-(c<<2)|0)+110|0;if(b>>>0<=4095){break c}c=((b>>>30-c^2)-(c<<1)|0)+71|0;i=c>>>0>=63?63:c}h=i;f=h&31;if((h&63)>>>0>=32){c=0;d=d>>>f|0}else{c=d>>>f|0;d=((1<>>f}if(d|c){while(1){f=c;d:{if(c|d){e=c-1|0;g=e+1|0;i=e;e=d-1|0;g=(e|0)!=-1?g:i;c=Q(c^g);c=(c|0)==32?Q(d^e)+32|0:c;e=63-c|0;ra=0-(c>>>0>63)|0;break d}ra=0;e=64}g=e;e=g&31;if((g&63)>>>0>=32){c=0;i=f>>>e|0}else{c=f>>>e|0;i=((1<>>e}h=g+h|0;d=h<<4;f=H[d+26408>>2];e=d+26400|0;e:{if((f|0)!=(e|0)){d=Ib(f,a,b);if(d){break a}d=H[f+4>>2];g=H[f+8>>2];H[d+8>>2]=g;H[g+4>>2]=d;H[f+8>>2]=e;H[f+4>>2]=H[e+4>>2];H[e+4>>2]=f;H[H[f+4>>2]+8>>2]=f;h=h+1|0;d=(c&1)<<31|i>>>1;c=c>>>1|0;break e}d=H[6859];k=27432,l=H[6858]&Ne(-2,-1,h),H[k>>2]=l;H[6859]=ra&d;d=i^1}if(c|d){continue}break}g=H[6858];e=H[6859]}c=Q(e);f=63-((c|0)==32?Q(g)+32|0:c)|0;f:{if(!(e|g)){c=0;break f}d=f<<4;c=H[d+26408>>2];if(!e&g>>>0<1073741824){break f}h=99;e=d+26400|0;if((e|0)==(c|0)){break f}while(1){if(!h){break f}d=Ib(c,a,b);if(d){break a}h=h-1|0;c=H[c+8>>2];if((e|0)!=(c|0)){continue}break}}if(Lc((j?a+48|0:48)+b|0)){continue}break}if(!c){break b}f=(f<<4)+26400|0;if((f|0)==(c|0)){break b}while(1){d=Ib(c,a,b);if(d){break a}c=H[c+8>>2];if((f|0)!=(c|0)){continue}break}}d=0}return d}function Fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=H[a+48>>2];if(e>>>0>=b>>>0){H[a+48>>2]=e-b;H[a+36>>2]=H[a+36>>2]+b;e=c+H[a+60>>2]|0;d=b+H[a+56>>2]|0;e=d>>>0>>0?e+1|0:e;H[a+56>>2]=d;H[a+60>>2]=e;ra=c;return b|0}if(I[a+68|0]&4){H[a+48>>2]=0;H[a+36>>2]=e+H[a+36>>2];g=H[a+60>>2];c=H[a+56>>2];b=c+e|0;H[a+56>>2]=b;H[a+60>>2]=b>>>0>>0?g+1|0:g;ra=e?0:-1;return(e?e:-1)|0}if(e){H[a+48>>2]=0;H[a+36>>2]=H[a+32>>2];h=b;f=e;b=b-e|0;c=c-(e>>>0>h>>>0)|0}a:{if((c|0)>0){h=1}else{h=!!b&(c|0)>=0}if(h){while(1){h=H[a+12>>2];e=c+g|0;i=b+f|0;e=H[a+60>>2]+(i>>>0>>0?e+1|0:e)|0;j=i;i=i+H[a+56>>2]|0;e=j>>>0>i>>>0?e+1|0:e;if((e|0)==(h|0)&i>>>0>K[a+8>>2]|e>>>0>h>>>0){Ca(d,4,15630,0);H[a+48>>2]=0;H[a+36>>2]=H[a+32>>2];b=g+H[a+60>>2]|0;c=f+H[a+56>>2]|0;b=c>>>0>>0?b+1|0:b;H[a+56>>2]=c;H[a+60>>2]=b;d=H[a+8>>2];f=d-c|0;e=H[a+12>>2];g=e-((c>>>0>d>>>0)+b|0)|0;h=sa[H[a+28>>2]](d,e,H[a>>2])|0;i=H[a+68>>2];if(h){H[a+56>>2]=d;H[a+60>>2]=e}H[a+68>>2]=i|4;a=(c|0)==(d|0)&(b|0)==(e|0);b=a?-1:f;break a}e=sa[H[a+24>>2]](b,c,H[a>>2])|0;h=ra;i=h;if((e&i)==-1){Ca(d,4,15630,0);H[a+68>>2]=H[a+68>>2]|4;e=g+H[a+60>>2]|0;b=f+H[a+56>>2]|0;e=b>>>0>>0?e+1|0:e;H[a+56>>2]=b;H[a+60>>2]=e;a=!(g|f);b=a?-1:f;break a}g=g+i|0;f=e+f|0;g=f>>>0>>0?g+1|0:g;h=b;b=b-e|0;c=c-((e>>>0>h>>>0)+i|0)|0;if(!!b&(c|0)>=0|(c|0)>0){continue}break}}b=g+H[a+60>>2]|0;c=f+H[a+56>>2]|0;b=c>>>0>>0?b+1|0:b;H[a+56>>2]=c;H[a+60>>2]=b;ra=g;return f|0}ra=a?-1:g;return b|0}function Jd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=oa-80|0;oa=e;a:{if(c>>>0<=2){Ca(d,1,14478,0);break a}if(I[a+124|0]){Ca(d,4,11193,0);g=1;break a}g=1;Ea(b,a+40|0,1);Ea(b+1|0,a+52|0,1);Ea(b+2|0,a+44|0,1);f=b+3|0;b:{c:{d:{e:{f:{h=H[a+40>>2];switch(h-1|0){case 0:break f;case 1:break e;default:break d}}if(c>>>0<=6){H[e+16>>2]=c;Ca(d,1,15155,e+16|0);g=0;break a}if(!((c|0)==7|H[a+48>>2]==14)){H[e+48>>2]=c;Ca(d,2,15155,e+48|0)}Ea(f,a+48|0,4);if(H[a+48>>2]!=14){break b}f=Ga(36);if(!f){g=0;Ca(d,1,7993,0);break a}H[f>>2]=14;H[e+64>>2]=0;H[e+56>>2]=0;H[e+72>>2]=0;H[e+60>>2]=0;H[e+68>>2]=0;H[e+76>>2]=0;g=4470064;H[e+52>>2]=4470064;H[f+4>>2]=1145390592;g:{if((c|0)!=7){if((c|0)==35){Ea(b+7|0,e+76|0,4);Ea(b+11|0,e+72|0,4);Ea(b+15|0,e+68|0,4);Ea(b+19|0,e- -64|0,4);Ea(b+23|0,e+60|0,4);Ea(b+27|0,e+56|0,4);Ea(b+31|0,e+52|0,4);H[f+4>>2]=0;g=H[e+52>>2];c=H[e+56>>2];d=H[e+64>>2];i=H[e+68>>2];j=H[e+76>>2];h=H[e+72>>2];b=H[e+60>>2];break g}H[e+32>>2]=c;Ca(d,2,15191,e+32|0)}c=0;d=0;h=0;b=0}H[f+24>>2]=b;H[f+16>>2]=i;H[f+8>>2]=j;H[f+32>>2]=g;H[f+28>>2]=c;H[f+20>>2]=d;H[f+12>>2]=h;H[a+112>>2]=0;H[a+108>>2]=f;break b}b=c-3|0;H[a+112>>2]=b;d=Fa(1,b);H[a+108>>2]=d;if(!d){break c}if((c|0)<=3){break b}c=0;while(1){Ea(f,e+76|0,1);F[H[a+108>>2]+c|0]=H[e+76>>2];f=f+1|0;c=c+1|0;if((b|0)!=(c|0)){continue}break}break b}if(h>>>0<3){break a}H[e>>2]=h;Ca(d,4,15950,e);break a}g=0;H[a+112>>2]=0;break a}g=1;F[a+124|0]=1}oa=e+80|0;return g|0}function Ka(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;h=H[a+48>>2];if(h>>>0>=c>>>0){if(c){B(b,H[a+36>>2],c)}H[a+36>>2]=H[a+36>>2]+c;H[a+48>>2]=H[a+48>>2]-c;b=H[a+60>>2];d=H[a+56>>2]+c|0;b=d>>>0>>0?b+1|0:b;H[a+56>>2]=d;H[a+60>>2]=b;return c}if(I[a+68|0]&4){if(h){B(b,H[a+36>>2],h)}b=H[a+48>>2];H[a+48>>2]=0;H[a+36>>2]=b+H[a+36>>2];g=H[a+60>>2];c=b;b=H[a+56>>2]+b|0;g=c>>>0>b>>>0?g+1|0:g;H[a+56>>2]=b;H[a+60>>2]=g;return h?h:-1}a:{if(h){if(h){B(b,H[a+36>>2],h)}i=H[a+32>>2];H[a+36>>2]=i;e=H[a+48>>2];H[a+48>>2]=0;f=H[a+60>>2];g=H[a+56>>2]+e|0;f=g>>>0>>0?f+1|0:f;H[a+56>>2]=g;H[a+60>>2]=f;c=c-e|0;b=b+e|0;break a}i=H[a+32>>2];H[a+36>>2]=i}b:{while(1){c:{e=H[a>>2];f=H[a+16>>2];g=H[a+64>>2];d:{if(g>>>0>c>>>0){f=sa[f|0](i,g,e)|0;H[a+48>>2]=f;if((f|0)==-1){break b}if(c>>>0>f>>>0){if(f){B(b,H[a+36>>2],f)}i=H[a+32>>2];H[a+36>>2]=i;e=H[a+48>>2];break d}if(c){B(b,H[a+36>>2],c)}H[a+36>>2]=H[a+36>>2]+c;H[a+48>>2]=H[a+48>>2]-c;b=H[a+60>>2];d=H[a+56>>2]+c|0;b=d>>>0>>0?b+1|0:b;H[a+56>>2]=d;H[a+60>>2]=b;return c+h|0}e=sa[f|0](b,c,e)|0;H[a+48>>2]=e;if((e|0)==-1){break b}if(c>>>0<=e>>>0){break c}i=H[a+32>>2];H[a+36>>2]=i;f=e}H[a+48>>2]=0;g=H[a+60>>2];j=H[a+56>>2]+e|0;g=j>>>0>>0?g+1|0:g;H[a+56>>2]=j;H[a+60>>2]=g;b=b+e|0;c=c-e|0;h=f+h|0;continue}break}H[a+48>>2]=0;H[a+36>>2]=H[a+32>>2];f=H[a+60>>2];b=H[a+56>>2]+e|0;f=b>>>0>>0?f+1|0:f;H[a+56>>2]=b;H[a+60>>2]=f;return e+h|0}Ca(d,4,15630,0);H[a+48>>2]=0;H[a+68>>2]=H[a+68>>2]|4;return h?h:-1}function Rb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=oa-16|0;oa=g;o=H[H[a+96>>2]+16>>2];b=Fa(1,56);H[g+12>>2]=b;a:{if(!b){break a}j=H[H[a+96>>2]+16>>2];H[b+24>>2]=j;H[b>>2]=H[a+108>>2];H[b+4>>2]=H[a+112>>2];H[b+8>>2]=H[a+116>>2];H[b+12>>2]=H[a+120>>2];H[b+16>>2]=H[a+128>>2];h=H[a+132>>2];H[b+52>>2]=0;H[b+20>>2]=h;i=H[a+12>>2];H[b+32>>2]=H[i>>2];H[b+36>>2]=H[i+4>>2];H[b+40>>2]=H[i+8>>2];H[b+44>>2]=H[i+16>>2];a=Fa(j,1080);H[b+48>>2]=a;if(a){if(o){while(1){a=N(k,1080);d=a+H[b+48>>2]|0;c=a+H[i+5584>>2]|0;H[d+4>>2]=H[c>>2];a=H[c+4>>2];H[d+8>>2]=a;H[d+12>>2]=H[c+8>>2];H[d+16>>2]=H[c+12>>2];H[d+20>>2]=H[c+16>>2];H[d+24>>2]=H[c+20>>2];b:{if(a>>>0>32){break b}if(a){B(d+948|0,c+944|0,a)}a=H[c+4>>2];if(!a){break b}B(d+816|0,c+812|0,a)}a=H[c+24>>2];H[d+28>>2]=a;H[d+808>>2]=H[c+804>>2];f=1;c:{if((a|0)!=1){a=N(H[c+4>>2],3);if(a-3>>>0>95){break c}f=a-2|0}p=f&1;l=d+420|0;m=d+32|0;n=c+28|0;a=0;if((f|0)!=1){j=f&-2;f=0;while(1){h=a<<2;e=(a<<3)+n|0;H[h+m>>2]=H[e+4>>2];H[h+l>>2]=H[e>>2];e=a|1;h=e<<2;e=(e<<3)+n|0;H[h+m>>2]=H[e+4>>2];H[h+l>>2]=H[e>>2];a=a+2|0;f=f+2|0;if((j|0)!=(f|0)){continue}break}}if(!p){break c}e=a<<2;a=(a<<3)+n|0;H[e+m>>2]=H[a+4>>2];H[e+l>>2]=H[a>>2]}H[d+812>>2]=H[c+808>>2];k=k+1|0;if((k|0)!=(o|0)){continue}break}}e=b;break a}if(g+12|0){a=H[g+12>>2];b=H[a+48>>2];if(b){Da(b);a=H[g+12>>2]}Da(a);H[g+12>>2]=0}}oa=g+16|0;return e|0}function kc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=H[a+28>>2]+N(b,152)|0;d=H[f-144>>2]-H[f-152>>2]|0;e=H[f-140>>2]-H[f-148>>2]|0;c=e>>>0>=64?64:e;g=d>>>0>=64?64:d;a:{if(!(!d|!e|(!g|!c)|g>>>0>4294967295/(c>>>0)>>>2>>>0)){f=Fa(1,28);H[f+12>>2]=c;H[f+8>>2]=g;H[f+4>>2]=e;H[f>>2]=d;h=e;e=c+e|0;i=h>>>0>e>>>0?1:i;e=Ke(e-1|0,i-!e|0,c,0);H[f+20>>2]=e;c=0;h=d;d=d+g|0;c=h>>>0>d>>>0?1:c;c=Ke(d-1|0,c-!d|0,g,0);H[f+16>>2]=c;Ie(e,0,c);b:{if(ra){break b}c=Fa(4,N(c,e));H[f+24>>2]=c;if(!c){break b}break a}Da(f)}f=0}if(!f){return 0}c:{if(b){while(1){o=N(n,152);e=o+H[a+28>>2]|0;c=H[e+24>>2];if(c){r=e+28|0;d=H[e+20>>2];g=H[e+16>>2];l=0;while(1){if(N(d,g)){i=N(l,36)+r|0;m=0;while(1){k=H[i+20>>2]+N(m,40)|0;c=H[k+20>>2];j=H[k+16>>2];if(N(c,j)){g=0;while(1){d=H[k+24>>2]+N(g,68)|0;p=H[d+60>>2];if(p){j=H[d+12>>2];s=H[d+20>>2];t=H[d+16>>2];q=H[d+8>>2];d=q-H[i>>2]|0;h=H[i+16>>2];if(h&1){c=H[a+28>>2]+o|0;d=(H[c-144>>2]+d|0)-H[c-152>>2]|0}c=j-H[i+4>>2]|0;if(h&2){h=c;c=H[a+28>>2]+o|0;c=(h+H[c-140>>2]|0)-H[c-148>>2]|0}h=d;d=t-q|0;if(!ab(f,h,c,h+d|0,(s-j|0)+c|0,p,1,d)){break c}j=H[k+16>>2];c=H[k+20>>2]}g=g+1|0;if(g>>>0>>0){continue}break}g=H[e+16>>2];d=H[e+20>>2]}m=m+1|0;if(m>>>0>>0){continue}break}c=H[e+24>>2]}l=l+1|0;if(l>>>0>>0){continue}break}}n=n+1|0;if((n|0)!=(b|0)){continue}break}}return f}Xa(f);return 0}function Ob(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{b:{e=H[a+60>>2];if(!e){if(H[b+16>>2]){break b}return 1}i=Ga(N(e,52));if(!i){break a}e=0;if(H[b+16>>2]){d=H[b+24>>2];while(1){e=N(f,52);Da(H[(e+d|0)+44>>2]);d=H[b+24>>2];H[(e+d|0)+44>>2]=0;f=f+1|0;e=H[b+16>>2];if(f>>>0>>0){continue}break}}if(H[a+60>>2]){f=H[H[a+100>>2]+24>>2];e=0;while(1){h=N(H[H[a+64>>2]+(e<<2)>>2],52);d=h+f|0;c=H[d+4>>2];g=i+N(e,52)|0;H[g>>2]=H[d>>2];H[g+4>>2]=c;H[g+48>>2]=H[d+48>>2];c=H[d+44>>2];H[g+40>>2]=H[d+40>>2];H[g+44>>2]=c;c=H[d+36>>2];H[g+32>>2]=H[d+32>>2];H[g+36>>2]=c;c=H[d+28>>2];H[g+24>>2]=H[d+24>>2];H[g+28>>2]=c;c=H[d+20>>2];H[g+16>>2]=H[d+16>>2];H[g+20>>2]=c;c=H[d+12>>2];H[g+8>>2]=H[d+8>>2];H[g+12>>2]=c;f=H[H[a+100>>2]+24>>2];c=h+f|0;H[g+36>>2]=H[c+36>>2];H[g+44>>2]=H[c+44>>2];H[c+44>>2]=0;e=e+1|0;c=H[a+60>>2];if(e>>>0>>0){continue}break}e=H[b+16>>2]}if(e){d=H[H[a+100>>2]+24>>2];f=0;while(1){c=N(f,52);Da(H[(c+d|0)+44>>2]);d=H[H[a+100>>2]+24>>2];H[(c+d|0)+44>>2]=0;f=f+1|0;if(f>>>0>2]){continue}break}c=H[a+60>>2]}H[b+16>>2]=c;Da(H[b+24>>2]);H[b+24>>2]=i;return 1}e=H[b+24>>2];f=H[H[a+100>>2]+24>>2];while(1){h=N(d,52);c=h+e|0;H[c+36>>2]=H[(f+h|0)+36>>2];Da(H[c+44>>2]);e=H[b+24>>2];f=H[H[a+100>>2]+24>>2];c=h+f|0;H[(h+e|0)+44>>2]=H[c+44>>2];H[c+44>>2]=0;d=d+1|0;if(d>>>0>2]){continue}break}return 1}Va(H[a+96>>2]);H[a+96>>2]=0;return 0}function oe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=oa-16|0;oa=h;if(H[a+8>>2]==16){f=H[a+180>>2]+N(H[a+228>>2],5644)|0}else{f=H[a+12>>2]}a:{if(c>>>0<=1){Ca(d,1,4132,0);a=0;break a}Ea(b,h+12|0,2);b:{if(H[h+12>>2]){Ca(d,2,3608,0);break b}if(c>>>0<=6){Ca(d,1,4132,0);a=0;break a}Ea(b+2|0,h+12|0,2);e=H[f+5616>>2];k=I[h+12|0];c:{d:{e:{g=H[f+5620>>2];if(!g){a=e;break e}a=e;while(1){if(H[a+8>>2]==(k|0)){break e}a=a+20|0;i=i+1|0;if((i|0)!=(g|0)){continue}break}break d}if((g|0)!=(i|0)){break c}}if(H[f+5624>>2]==(g|0)){a=g+10|0;H[f+5624>>2]=a;a=Ia(e,N(a,20));e=H[f+5616>>2];if(!a){Da(e);H[f+5624>>2]=0;H[f+5616>>2]=0;H[f+5620>>2]=0;Ca(d,1,4158,0);a=0;break a}f:{if((a|0)==(e|0)){break f}l=H[f+5632>>2];if(!l){break f}m=H[f+5628>>2];i=0;while(1){g=N(i,20)+m|0;j=H[g+8>>2];if(j){H[g+8>>2]=a+(j-e|0)}j=H[g+12>>2];if(j){H[g+12>>2]=a+(j-e|0)}i=i+1|0;if((l|0)!=(i|0)){continue}break}}H[f+5616>>2]=a;e=H[f+5620>>2];g=N(H[f+5624>>2]-e|0,20);if(g){y(a+N(e,20)|0,0,g)}g=H[f+5620>>2];e=H[f+5616>>2]}H[f+5620>>2]=g+1;a=N(g,20)+e|0}e=H[a+12>>2];if(e){Da(e);H[a+12>>2]=0;H[a+16>>2]=0}H[a+8>>2]=k;e=H[h+12>>2];H[a>>2]=e>>>10&3;H[a+4>>2]=e>>>8&3;Ea(b+4|0,h+12|0,2);if(H[h+12>>2]){Ca(d,2,3023,0);break b}c=c-6|0;e=Ga(c);H[a+12>>2]=e;if(!e){Ca(d,1,4132,0);a=0;break a}if(c){B(e,b+6|0,c)}H[a+16>>2]=c}a=1}oa=h+16|0;return a|0}function Wa(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{if(!H[a+12>>2]){k=1;if(H[a+4>>2]>0|H[a+8>>2]>1){break b}break a}e=1;if(H[a+8>>2]>0){break b}if(H[a+4>>2]<2){break a}}b=H[a>>2];f=b+(e<<5)|0;g=H[a+16>>2];h=H[a+20>>2];if(g>>>0>>0){d=g;while(1){c=(d<<6)+f|0;L[c>>2]=L[c>>2]*O(1.2301740646362305);L[c+4>>2]=L[c+4>>2]*O(1.2301740646362305);L[c+8>>2]=L[c+8>>2]*O(1.2301740646362305);L[c+12>>2]=L[c+12>>2]*O(1.2301740646362305);L[c+16>>2]=L[c+16>>2]*O(1.2301740646362305);L[c+20>>2]=L[c+20>>2]*O(1.2301740646362305);L[c+24>>2]=L[c+24>>2]*O(1.2301740646362305);L[c+28>>2]=L[c+28>>2]*O(1.2301740646362305);d=d+1|0;if((h|0)!=(d|0)){continue}break}}i=b+(k<<5)|0;j=H[a+28>>2];c=H[a+24>>2];if(j>>>0>c>>>0){d=c;while(1){b=(d<<6)+i|0;L[b>>2]=L[b>>2]*O(1.625732421875);L[b+4>>2]=L[b+4>>2]*O(1.625732421875);L[b+8>>2]=L[b+8>>2]*O(1.625732421875);L[b+12>>2]=L[b+12>>2]*O(1.625732421875);L[b+16>>2]=L[b+16>>2]*O(1.625732421875);L[b+20>>2]=L[b+20>>2]*O(1.625732421875);L[b+24>>2]=L[b+24>>2]*O(1.625732421875);L[b+28>>2]=L[b+28>>2]*O(1.625732421875);d=d+1|0;if((j|0)!=(d|0)){continue}break}}b=f+32|0;d=H[a+8>>2];a=H[a+4>>2];e=a-e|0;e=(d|0)<(e|0)?d:e;pb(i,b,g,h,e,O(-.4435068666934967));l=i+32|0;d=d-k|0;a=(a|0)<(d|0)?a:d;pb(f,l,c,j,a,O(-.8829110860824585));pb(i,b,g,h,e,O(.05298011749982834));pb(f,l,c,j,a,O(1.5861343145370483))}}function dc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(a){b=H[a+20>>2];if(b){g=H[b>>2];if(g){d=H[g+20>>2];if(H[g+16>>2]){i=F[a+40|0]&1?16:17;while(1){c=H[d+28>>2];if(c){b=H[d+32>>2];l=(b>>>0)/152|0;j=0;if(b>>>0>=152){while(1){b=H[c+48>>2];if(b){f=H[c+52>>2];h=(f>>>0)/40|0;e=0;if(f>>>0>=40){while(1){bb(H[b+32>>2]);H[b+32>>2]=0;bb(H[b+36>>2]);H[b+36>>2]=0;sa[i|0](b);b=b+40|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}b=H[c+48>>2]}Da(b);H[c+48>>2]=0}b=H[c+84>>2];if(b){f=H[c+88>>2];h=(f>>>0)/40|0;e=0;if(f>>>0>=40){while(1){bb(H[b+32>>2]);H[b+32>>2]=0;bb(H[b+36>>2]);H[b+36>>2]=0;sa[i|0](b);b=b+40|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}b=H[c+84>>2]}Da(b);H[c+84>>2]=0}b=H[c+120>>2];if(b){f=H[c+124>>2];h=(f>>>0)/40|0;e=0;if(f>>>0>=40){while(1){bb(H[b+32>>2]);H[b+32>>2]=0;bb(H[b+36>>2]);H[b+36>>2]=0;sa[i|0](b);b=b+40|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}b=H[c+120>>2]}Da(b);H[c+120>>2]=0}c=c+152|0;j=j+1|0;if((l|0)!=(j|0)){continue}break}c=H[d+28>>2]}Da(c);H[d+28>>2]=0}a:{if(!H[d+40>>2]){break a}b=H[d+36>>2];if(!b){break a}Da(b);H[d+44>>2]=0;H[d+48>>2]=0;H[d+36>>2]=0;H[d+40>>2]=0}Da(H[d+52>>2]);d=d+76|0;k=k+1|0;if(k>>>0>2]){continue}break}d=H[g+20>>2]}Da(d);H[g+20>>2]=0;Da(H[H[a+20>>2]>>2]);b=H[a+20>>2];H[b>>2]=0}Da(b);H[a+20>>2]=0}Da(H[a+68>>2]);Da(a)}}function lc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=H[a+8>>2];f=c+H[a+4>>2]|0;a:{if(!H[a+12>>2]){if((f|0)<2){break a}h=(c<<2)+b|0;d=H[h>>2];e=H[b>>2]-(d+1>>1)|0;i=H[a>>2];b:{if(f>>>0<4){c=d;break b}k=(f-4>>>1|0)+1|0;a=1;while(1){c=a<<2;m=H[c+b>>2];c=H[c+h>>2];l=i+(g<<2)|0;H[l>>2]=e;j=e;e=m-((c+d|0)+2>>2)|0;H[l+4>>2]=(j+e>>1)+d;g=g+2|0;j=(a|0)!=(k|0);d=c;a=a+1|0;if(j){continue}break}}H[i+(g<<2)>>2]=e;if(f&1){d=f-1|0;a=H[(d<<1)+b>>2]-(c+1>>1)|0;H[i+(d<<2)>>2]=a;e=a+e>>1;d=-8}else{d=-4}a=f<<2;H[d+(a+i|0)>>2]=c+e;if(!a){break a}B(b,i,a);return}c:{switch(f-1|0){case 0:H[b>>2]=H[b>>2]/2;return;case 1:a=H[a>>2];c=(c<<2)+b|0;d=H[b>>2]-(H[c>>2]+1>>1)|0;H[a+4>>2]=d;H[a>>2]=d+H[c>>2];c=H[a+4>>2];H[b>>2]=H[a>>2];H[b+4>>2]=c;return;default:break c}}if((f|0)<3){break a}h=H[a>>2];k=(c<<2)+b|0;d=H[k+4>>2];a=H[k>>2];e=H[b>>2]-((d+a|0)+2>>2)|0;H[h>>2]=e+a;g=1;m=f-2|0;l=f&1;a=!l;d:{if(m-a>>>0<2){c=d;break d}o=((f-a|0)-4>>>1|0)+1|0;a=1;while(1){p=H[(a<<2)+b>>2];j=a+1|0;c=H[k+(j<<2)>>2];n=h+(g<<2)|0;H[n>>2]=e;i=e;e=p-((c+d|0)+2>>2)|0;H[n+4>>2]=(i+e>>1)+d;g=g+2|0;i=(a|0)!=(o|0);d=c;a=j;if(i){continue}break}}H[h+(g<<2)>>2]=e;e:{if(!l){g=H[((f<<1)+b|0)-4>>2]-(c+1>>1)|0;H[h+(m<<2)>>2]=(g+e>>1)+c;break e}g=c+e|0}a=f<<2;H[(a+h|0)-4>>2]=g;if(!a){break a}B(b,h,a)}}function bc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=H[a+24>>2];j=H[e+16>>2];if(!j){return 0}f=H[e+24>>2];e=H[H[H[a+20>>2]>>2]+20>>2];a:{b:{if(!b){b=0;while(1){c=H[f+24>>2];a=H[e+28>>2]+N(H[e+24>>2],152)|0;d=H[a-140>>2];g=H[a-144>>2]-H[a-152>>2]|0;a=H[a-148>>2];h=d-a|0;Ie(g,0,h);if(!(!ra|(a|0)==(d|0))){break a}a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;a=!c;d=N(g,h);Ie(c,0,d);if(!(!ra|a)){break a}a=-1;c=N(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}break b}b=0;if(!H[a+64>>2]){while(1){c=H[f+24>>2];a=H[e+28>>2]+N(H[e+24>>2],152)|0;d=H[a-4>>2];g=H[a-8>>2]-H[a-16>>2]|0;a=H[a-12>>2];h=d-a|0;Ie(g,0,h);if(!(!ra|(a|0)==(d|0))){break a}a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;a=!c;d=N(g,h);Ie(c,0,d);if(!(!ra|a)){break a}a=-1;c=N(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}break b}while(1){c=H[f+24>>2];a=H[e+28>>2]+N(H[e+24>>2],152)|0;d=H[a-140>>2];g=H[a-144>>2]-H[a-152>>2]|0;a=H[a-148>>2];h=d-a|0;Ie(g,0,h);if(!(!ra|(a|0)==(d|0))){break a}a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;a=!c;d=N(g,h);Ie(c,0,d);if(!(!ra|a)){break a}a=-1;c=N(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}}return a}return-1}function Sb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=oa-256|0;oa=d;if(a){Pa(1806,17,c);H[d+240>>2]=H[a>>2];Ha(c,2348,d+240|0);H[d+224>>2]=H[a+4>>2];Ha(c,2361,d+224|0);H[d+208>>2]=H[a+8>>2];Ha(c,7260,d+208|0);H[d+192>>2]=H[a+16>>2];Ha(c,2319,d+192|0);if((b|0)>0){while(1){e=H[a+5584>>2];H[d+176>>2]=h;Ha(c,1844,d+176|0);e=e+N(h,1080)|0;H[d+160>>2]=H[e>>2];Ha(c,2347,d+160|0);H[d+144>>2]=H[e+4>>2];Ha(c,7374,d+144|0);H[d+128>>2]=H[e+8>>2];Ha(c,7162,d+128|0);H[d+112>>2]=H[e+12>>2];Ha(c,7178,d+112|0);H[d+96>>2]=H[e+16>>2];Ha(c,2330,d+96|0);H[d+80>>2]=H[e+20>>2];Ha(c,7440,d+80|0);Pa(1567,23,c);if(H[e+4>>2]){i=e+944|0;j=e+812|0;f=0;while(1){g=f<<2;k=H[j+g>>2];H[d+68>>2]=H[i+g>>2];H[d+64>>2]=k;Ha(c,1693,d- -64|0);f=f+1|0;if(f>>>0>2]){continue}break}}Mc(c);H[d+48>>2]=H[e+24>>2];Ha(c,7194,d+48|0);H[d+32>>2]=H[e+804>>2];Ha(c,7243,d+32|0);i=1;Pa(1591,20,c);a:{if(H[e+24>>2]!=1){f=H[e+4>>2];if((f|0)<=0){break a}i=N(f,3)-2|0}j=e+28|0;f=0;while(1){g=j+(f<<3)|0;l=d,m=Ne(H[g>>2],H[g+4>>2],32),H[l+16>>2]=m;H[d+20>>2]=ra;Ha(c,1693,d+16|0);f=f+1|0;if((i|0)!=(f|0)){continue}break}}Mc(c);H[d>>2]=H[e+808>>2];Ha(c,7226,d);Pa(1707,5,c);h=h+1|0;if((h|0)!=(b|0)){continue}break}}Pa(1708,4,c)}oa=d+256|0}function Ge(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{e=b;if(e){if(!c){break j}if(!d){break i}e=Q(d)-Q(e)|0;if(e>>>0<=31){break h}break b}if((d|0)==1|d>>>0>1){break b}b=(a>>>0)/(c>>>0)|0;pa=a-N(b,c)|0;qa=0;ra=0;return b}if(!a){break g}if(!d){break f}f=d-1|0;if(f&d){break f}pa=a;qa=e&f;a=e>>>He(d)|0;ra=0;return a}f=c-1|0;if(!(f&c)){break e}k=(Q(c)+33|0)-Q(e)|0;g=0-k|0;break c}k=e+1|0;g=63-e|0;break c}pa=0;a=(e>>>0)/(d>>>0)|0;qa=e-N(a,d)|0;ra=0;return a}e=Q(d)-Q(e)|0;if(e>>>0<31){break d}break b}pa=a&f;qa=0;if((c|0)==1){break a}c=He(c);d=c&31;if((c&63)>>>0>=32){e=0;a=b>>>d|0}else{e=b>>>d|0;a=((1<>>d}ra=e;return a}k=e+1|0;g=63-e|0}f=a;e=k&63;h=e&31;if((e&63)>>>0>=32){e=0;f=b>>>h|0}else{e=b>>>h|0;f=((1<>>h}h=g&63;g=a;i=h&31;if((h&63)>>>0>=32){j=a<>>32-i|b<>>31;f=f<<1|b>>>31;l=e;i=g-(e+(f>>>0>h>>>0)|0)|0;m=i>>31;j=m;e=f;i=c&j;f=e-i|0;e=l-((d&j)+(e>>>0>>0)|0)|0;j=b<<1|a>>>31;a=n|a<<1;b=j|o;l=m&1;n=l;k=k-1|0;if(k){continue}break}}pa=f;qa=e;j=b<<1|a>>>31;a=l|a<<1;ra=j|o;return a}pa=a;qa=b;a=0;b=0}ra=b;return a}function Vc(a,b,c,d,e){var f=0,g=0,h=0,i=0;h=oa-16|0;oa=h;if(H[a+8>>2]==16){a=H[a+180>>2]+N(H[a+228>>2],5644)|0}else{a=H[a+12>>2]}f=H[d>>2];a:{if(!f){d=0;Ca(e,1,2642,0);break a}a=H[a+5584>>2];H[d>>2]=f-1;Ea(c,h+12|0,1);g=N(b,1080)+a|0;a=H[h+12>>2];H[g+804>>2]=a>>>5;b=a&31;H[g+24>>2]=b;a=c+1|0;b:{c:{d:{e:{f:{switch(b|0){case 0:f=H[d>>2];break e;case 1:break d;default:break f}}f=H[d>>2]>>>1|0}if(f>>>0>=98){H[h+4>>2]=97;H[h+8>>2]=97;H[h>>2]=f;Ca(e,2,16056,h);b=H[g+24>>2]}if(b){b=f;if(b){break d}a=0;break c}if(f){b=g+28|0;c=0;while(1){Ea(a,h+12|0,1);if(c>>>0<=96){e=H[h+12>>2];i=b+(c<<3)|0;H[i+4>>2]=0;H[i>>2]=e>>>3}a=a+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}}a=H[d>>2];if(a>>>0>>0){d=0;break a}a=a-f|0;break b}e=g+28|0;c=0;while(1){Ea(a,h+12|0,2);if(c>>>0<=96){f=e+(c<<3)|0;i=H[h+12>>2];H[f+4>>2]=i&2047;H[f>>2]=i>>>11}a=a+2|0;c=c+1|0;if((c|0)!=(b|0)){continue}break}a=b<<1}b=H[d>>2];if(a>>>0>b>>>0){d=0;break a}a=b-a|0}H[d>>2]=a;d=1;if(H[g+24>>2]!=1){break a}f=g+28|0;c=H[g+32>>2];e=H[g+28>>2];a=1;while(1){b=f+(a<<3)|0;H[b+4>>2]=c;H[b+12>>2]=c;g=e-((a>>>0)/3|0)|0;H[b+8>>2]=(g|0)>0?g:0;g=b;b=e-((a-1>>>0)/3|0)|0;H[g>>2]=(b|0)>0?b:0;a=a+2|0;if((a|0)!=97){continue}break}}oa=h+16|0;return d}function ue(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=oa-32|0;oa=f;g=1;a:{if(c>>>0<=1){g=0;Ca(d,1,10062,0);break a}if(H[a+76>>2]){break a}Ea(b,f+28|0,1);Ea(b+1|0,f+24|0,1);e=H[f+24>>2];i=e>>>4&3;if((i|0)==3){H[a+76>>2]=1;Ca(d,2,11558,0);break a}c=c-2|0;j=(e>>>5&2)+2|0;h=i+j|0;e=(c>>>0)/(h>>>0)|0;if((c|0)!=(N(e,h)|0)){H[a+76>>2]=1;Ca(d,2,11139,0);break a}if(c>>>0>>0){break a}b:{c=H[a+68>>2];if(c>>>0<=(e^-1)>>>0){c=c+e|0;if(c>>>0<536870912){break b}}H[a+76>>2]=1;Ca(d,2,9400,0);break a}h=Ia(H[a+72>>2],c<<3);if(!h){H[a+76>>2]=1;Ca(d,2,9443,0);break a}c=b+2|0;H[a+72>>2]=h;c:{if(i){k=e>>>0<=1?1:e;e=0;while(1){Ea(c,f+20|0,i);b=H[f+20>>2];if(b>>>0>=N(H[a+132>>2],H[a+128>>2])>>>0){break c}b=c+i|0;Ea(b,f+16|0,j);c=H[a+68>>2];g=h+(c<<3)|0;G[g>>1]=H[f+20>>2];H[g+4>>2]=H[f+16>>2];g=1;H[a+68>>2]=c+1;c=b+j|0;e=e+1|0;if((k|0)!=(e|0)){continue}break}break a}i=e>>>0<=1?1:e;b=H[a+68>>2];e=0;while(1){H[f+20>>2]=b;if(N(H[a+132>>2],H[a+128>>2])>>>0<=b>>>0){break c}Ea(c,f+16|0,j);k=H[a+68>>2];g=h+(k<<3)|0;G[g>>1]=b;H[g+4>>2]=H[f+16>>2];g=1;b=k+1|0;H[a+68>>2]=b;c=c+j|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}break a}H[a+76>>2]=1;H[f>>2]=b;Ca(d,2,7799,f)}oa=f+32|0;return g|0}function Ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=oa-16|0;oa=h;a:{if(!(I[a+100|0]&2)){Ca(d,1,11356,0);a=0;break a}H[a+104>>2]=0;b:{c:{d:{if(c){while(1){if(c>>>0<=7){Ca(d,1,3403,0);break b}g=h+12|0;Ea(b,g,4);e=H[h+12>>2];Ea(b+4|0,g,4);f=8;g=H[h+12>>2];e:{f:{g:{switch(e|0){case 1:if(c>>>0<16){e=3443;break c}Ea(b+8|0,h+8|0,4);if(H[h+8>>2]){e=8449;break c}Ea(b+12|0,h+12|0,4);e=H[h+12>>2];if(e){break f}e=3268;break c;case 0:break g;default:break e}}Ca(d,1,3268,0);break b}f=16}if(e>>>0>>0){Ca(d,1,9148,0);break b}if(c>>>0>>0){Ca(d,1,9076,0);a=0;break a}h:{i:{j=b+f|0;k=e-f|0;j:{k:{l:{m:{if((g|0)<=1668246641){if((g|0)==1651532643){break m}if((g|0)==1667523942){break k}if((g|0)!=1668112752){break i}f=25296;break j}if((g|0)==1885564018){break l}f=25264;if((g|0)==1768449138){break j}if((g|0)!=1668246642){break i}f=25272;break j}f=25280;break j}f=25288;break j}f=25304}if(sa[H[f+4>>2]](a,j,k,d)|0){break h}a=0;break a}H[a+104>>2]=H[a+104>>2]|2147483647}i=(g|0)==1768449138?1:i;b=b+e|0;c=c-e|0;if(c){continue}break}if(i){break d}}Ca(d,1,8976,0);a=0;break a}F[a+132|0]=1;H[a+100>>2]=H[a+100>>2]|4;a=1;break a}Ca(d,1,e,0)}Ca(d,1,1968,0);a=0}oa=h+16|0;return a|0}function Pb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{if(!c){break a}b:{e=H[a+184>>2];if(!e){break b}g=H[a+96>>2];if(!g|!H[g+16>>2]|(e|0)!=H[H[g+24>>2]+40>>2]){break b}h=H[c+16>>2];if(!h){break b}f=H[c+24>>2];if(H[f+40>>2]|H[f+44>>2]){break b}g=0;if(h>>>0>=8){j=h&-8;while(1){H[(f+N(g,52)|0)+40>>2]=e;H[(f+N(g|1,52)|0)+40>>2]=e;H[(f+N(g|2,52)|0)+40>>2]=e;H[(f+N(g|3,52)|0)+40>>2]=e;H[(f+N(g|4,52)|0)+40>>2]=e;H[(f+N(g|5,52)|0)+40>>2]=e;H[(f+N(g|6,52)|0)+40>>2]=e;H[(f+N(g|7,52)|0)+40>>2]=e;g=g+8|0;k=k+8|0;if((j|0)!=(k|0)){continue}break}}h=h&7;if(h){while(1){H[(f+N(g,52)|0)+40>>2]=e;g=g+1|0;l=l+1|0;if((h|0)!=(l|0)){continue}break}}if(Ab(c,d)){break b}return 0}f=H[a+100>>2];if(!f){f=zb();H[a+100>>2]=f;if(!f){break a}}Lb(c,f);if(!Ya(H[a+216>>2],22,d)){break a}h=H[a+216>>2];e=H[h>>2];f=H[h+8>>2];c:{if(e){i=1;j=e&1;if((e|0)==1){e=0}else{k=e&-2;g=0;while(1){e=0;d:{if(!i){break d}e=0;if(!(sa[H[f>>2]](a,b,d)|0)){break d}e=(sa[H[f+4>>2]](a,b,d)|0)!=0}i=e;f=f+8|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}e=!i}i=j?0:i;if(!(e|!j)){i=(sa[H[f>>2]](a,b,d)|0)!=0}Qa(h);if(i){break c}Va(H[a+96>>2]);H[a+96>>2]=0;return 0}Qa(h)}i=Ob(a,c)}return i|0}function Yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!Ya(H[b+8>>2],54,d)){return 0}j=H[b+4>>2];e=H[j>>2];h=H[j+8>>2];a:{if(e){f=1;k=e&1;if((e|0)==1){e=0}else{e=e&-2;while(1){i=0;b:{if(!f){break b}i=0;if(!(sa[H[h>>2]](b,a,d)|0)){break b}i=(sa[H[h+4>>2]](b,a,d)|0)!=0}f=i;h=h+8|0;g=g+2|0;if((e|0)!=(g|0)){continue}break}e=!f}f=k?0:f;if(!(e|!k)){f=(sa[H[h>>2]](b,a,d)|0)!=0}Qa(j);if(f){break a}return 0}Qa(j)}j=H[b+8>>2];e=H[j>>2];h=H[j+8>>2];c:{if(e){f=1;k=e&1;if((e|0)==1){e=0}else{e=e&-2;g=0;while(1){i=0;d:{if(!f){break d}i=0;if(!(sa[H[h>>2]](b,a,d)|0)){break d}i=(sa[H[h+4>>2]](b,a,d)|0)!=0}f=i;h=h+8|0;g=g+2|0;if((e|0)!=(g|0)){continue}break}e=!f}f=k?0:f;if(!(e|!k)){f=(sa[H[h>>2]](b,a,d)|0)!=0}Qa(j);if(f){break c}return 0}Qa(j)}if(!I[b+132|0]){Ca(d,1,11696,0);return 0}if(!I[b+133|0]){Ca(d,1,11667,0);return 0}d=Yb(a,H[b>>2],c,d);e:{if(!c){break e}a=H[c>>2];if(!a){break e}g=1;f:{g:{switch(H[b+48>>2]-12|0){case 5:g=2;break f;case 6:g=3;break f;case 12:g=4;break f;case 0:g=5;break f;case 4:break f;default:break g}}g=-1}H[a+20>>2]=g;c=H[b+108>>2];if(!c){break e}H[a+28>>2]=c;H[a+32>>2]=H[b+112>>2];H[b+108>>2]=0}return d|0}function Lb(a,b){var c=0,d=0,e=0,f=0,g=0;H[b>>2]=H[a>>2];H[b+4>>2]=H[a+4>>2];H[b+8>>2]=H[a+8>>2];H[b+12>>2]=H[a+12>>2];c=H[b+24>>2];if(c){d=H[b+16>>2];if(d){c=0;while(1){f=H[(H[b+24>>2]+N(c,52)|0)+44>>2];if(f){Da(f);d=H[b+16>>2]}c=c+1|0;if(d>>>0>c>>>0){continue}break}c=H[b+24>>2]}Da(c);H[b+24>>2]=0}c=H[a+16>>2];H[b+16>>2]=c;c=Ga(N(c,52));H[b+24>>2]=c;if(c){if(H[b+16>>2]){f=0;while(1){g=N(f,52);c=g+c|0;d=H[a+24>>2]+g|0;e=H[d+4>>2];H[c>>2]=H[d>>2];H[c+4>>2]=e;H[c+48>>2]=H[d+48>>2];e=H[d+44>>2];H[c+40>>2]=H[d+40>>2];H[c+44>>2]=e;e=H[d+36>>2];H[c+32>>2]=H[d+32>>2];H[c+36>>2]=e;e=H[d+28>>2];H[c+24>>2]=H[d+24>>2];H[c+28>>2]=e;e=H[d+20>>2];H[c+16>>2]=H[d+16>>2];H[c+20>>2]=e;e=H[d+12>>2];H[c+8>>2]=H[d+8>>2];H[c+12>>2]=e;c=H[b+24>>2];H[(g+c|0)+44>>2]=0;f=f+1|0;if(f>>>0>2]){continue}break}}H[b+20>>2]=H[a+20>>2];c=H[a+32>>2];H[b+32>>2]=c;a:{if(c){c=Ga(c);H[b+28>>2]=c;if(!c){H[b+28>>2]=0;H[b+32>>2]=0;return}b=H[a+32>>2];if(!b){break a}B(c,H[a+28>>2],b);return}H[b+28>>2]=0}return}H[b+16>>2]=0;H[b+24>>2]=0}function Yb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=zb();H[b+96>>2]=f;a:{b:{if(!f){break b}c:{if(Ya(H[b+220>>2],18,d)){if(Ya(H[b+220>>2],19,d)){break c}}break a}i=H[b+220>>2];e=H[i>>2];g=H[i+8>>2];d:{if(e){f=1;k=e&1;if((e|0)==1){e=0}else{e=e&-2;while(1){h=0;e:{if(!f){break e}h=0;if(!(sa[H[g>>2]](b,a,d)|0)){break e}h=(sa[H[g+4>>2]](b,a,d)|0)!=0}f=h;g=g+8|0;j=j+2|0;if((e|0)!=(j|0)){continue}break}e=!f}f=k?0:f;if(!(e|!k)){f=(sa[H[g>>2]](b,a,d)|0)!=0}Qa(i);if(f){break d}break a}Qa(i)}f:{if(Ya(H[b+216>>2],20,d)){if(Ya(H[b+216>>2],21,d)){break f}}break a}i=H[b+216>>2];e=H[i>>2];g=H[i+8>>2];g:{if(e){f=1;k=e&1;if((e|0)==1){e=0}else{e=e&-2;j=0;while(1){h=0;h:{if(!f){break h}h=0;if(!(sa[H[g>>2]](b,a,d)|0)){break h}h=(sa[H[g+4>>2]](b,a,d)|0)!=0}f=h;g=g+8|0;j=j+2|0;if((e|0)!=(j|0)){continue}break}e=!f}f=k?0:f;if(!(e|!k)){f=(sa[H[g>>2]](b,a,d)|0)!=0}Qa(i);if(f){break g}break a}Qa(i)}a=zb();H[c>>2]=a;if(!a){break b}Lb(H[b+96>>2],a);l=1}return l|0}Va(H[b+96>>2]);H[b+96>>2]=0;return 0}function pb(a,b,c,d,e,f){var g=0,h=O(0),i=0,j=O(0);g=(c<<6)+b|0;a=c?g+-64|0:a;i=d>>>0>>0?d:e;a:{if(i>>>0<=c>>>0){b=a;break a}h=L[a>>2];while(1){b=g;g=b-32|0;j=h;h=L[b>>2];L[g>>2]=O(O(j+h)*f)+L[g>>2];g=b-28|0;L[g>>2]=O(O(L[a+4>>2]+L[b+4>>2])*f)+L[g>>2];g=b-24|0;L[g>>2]=O(O(L[a+8>>2]+L[b+8>>2])*f)+L[g>>2];g=b-20|0;L[g>>2]=O(O(L[a+12>>2]+L[b+12>>2])*f)+L[g>>2];g=b-16|0;L[g>>2]=O(O(L[a+16>>2]+L[b+16>>2])*f)+L[g>>2];g=b-12|0;L[g>>2]=O(O(L[a+20>>2]+L[b+20>>2])*f)+L[g>>2];g=b-8|0;L[g>>2]=O(O(L[a+24>>2]+L[b+24>>2])*f)+L[g>>2];g=b-4|0;L[g>>2]=O(O(L[a+28>>2]+L[b+28>>2])*f)+L[g>>2];g=b- -64|0;a=b;c=c+1|0;if((i|0)!=(c|0)){continue}break}}if(d>>>0>e>>>0){a=g-32|0;f=O(f+f);L[a>>2]=O(L[b>>2]*f)+L[a>>2];a=g-28|0;L[a>>2]=O(L[b+4>>2]*f)+L[a>>2];a=g-24|0;L[a>>2]=O(L[b+8>>2]*f)+L[a>>2];a=g-20|0;L[a>>2]=O(L[b+12>>2]*f)+L[a>>2];a=g-16|0;L[a>>2]=O(L[b+16>>2]*f)+L[a>>2];a=g-12|0;L[a>>2]=O(L[b+20>>2]*f)+L[a>>2];a=g-8|0;L[a>>2]=O(L[b+24>>2]*f)+L[a>>2];a=g-4|0;L[a>>2]=O(L[b+28>>2]*f)+L[a>>2]}}function Lc(a){var b=0,c=0,d=0,e=0,f=0;d=H[6518];b=a+7&-8;c=b+7&-8;a=d+c|0;a:{b:{if(!(a>>>0<=d>>>0?c:0)){if(a>>>0<=ta()<<16>>>0){break b}if(ka(a|0)|0){break b}}H[6597]=48;d=-1;break a}H[6518]=a}if((d|0)!=-1){a=b+d|0;H[a-4>>2]=16;c=a-16|0;H[c>>2]=16;b=H[6856];if(b){f=H[b+8>>2]}else{f=0}c:{d:{if((f|0)==(d|0)){e=d-(H[d-4>>2]&-2)|0;f=H[e-4>>2];H[b+8>>2]=a;a=e-(f&-2)|0;if(F[(a+H[a>>2]|0)-4|0]&1){b=H[a+4>>2];e=H[a+8>>2];H[b+8>>2]=e;H[e+4>>2]=b;b=c-a|0;H[a>>2]=b;break c}a=d-16|0;break d}H[d>>2]=16;H[d+8>>2]=a;H[d+4>>2]=b;H[d+12>>2]=16;H[6856]=d;a=d+16|0}b=c-a|0;H[a>>2]=b}H[((b&-4)+a|0)-4>>2]=b|1;c=H[a>>2]-8|0;e:{if(c>>>0<=127){b=(c>>>3|0)-1|0;break e}e=Q(c);b=((c>>>29-e^4)-(e<<2)|0)+110|0;if(c>>>0<=4095){break e}b=((c>>>30-e^2)-(e<<1)|0)+71|0;b=b>>>0>=63?63:b}c=b<<4;H[a+4>>2]=c+26400;c=c+26408|0;H[a+8>>2]=H[c>>2];H[c>>2]=a;H[H[a+8>>2]+4>>2]=a;c=H[6858];e=H[6859];a=b&31;if((b&63)>>>0>=32){b=1<>>32-a}H[6858]=f|c;H[6859]=b|e}return(d|0)!=-1}function Hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=oa-16|0;oa=f;a:{if(H[a+120>>2]|c>>>0<3){break a}Ea(b,f+12|0,2);k=J[f+12>>1];if(k-1025>>>0<=4294966271){H[f>>2]=k;Ca(d,1,3526,f);break a}Ea(b+2|0,f+12|0,1);i=J[f+12>>1];if(!i){Ca(d,1,3174,0);break a}if(i+3>>>0>c>>>0){break a}h=Ga(N(i,k)<<2);if(!h){break a}j=Ga(i);if(!j){Da(h);break a}l=Ga(i);if(!l){Da(h);Da(j);break a}g=Ga(20);if(!g){Da(h);Da(j);Da(l);break a}d=b+3|0;H[g+8>>2]=j;H[g+4>>2]=l;G[g+16>>1]=k;H[g>>2]=h;m=H[f+12>>2];H[g+12>>2]=0;F[g+18|0]=m;H[a+120>>2]=g;while(1){Ea(d,f+12|0,1);F[e+j|0]=(I[f+12|0]&127)+1;F[e+l|0]=(H[f+12>>2]&128)>>>7;d=d+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}g=0;while(1){e=0;a=0;while(1){e=I[e+j|0]+7>>>3|0;e=e>>>0>=4?4:e;if((e+(d-b|0)|0)>(c|0)){e=0;break a}Ea(d,f+12|0,e);H[h>>2]=H[f+12>>2];h=h+4|0;d=d+e|0;a=a+1|0;e=a&65535;if(i>>>0>e>>>0){continue}break}e=1;g=g+1|0;if((g&65535)>>>0>>0){continue}break}}oa=f+16|0;return e|0}function zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=-1;e=-1;if(!(I[a+68|0]&8)){f=H[a+32>>2];H[a+36>>2]=f;a:{b:{c:{e=H[a+48>>2];if(e){while(1){e=sa[H[a+20>>2]](f,e,H[a>>2])|0;if((e|0)==-1){break c}f=e+H[a+36>>2]|0;H[a+36>>2]=f;e=H[a+48>>2]-e|0;H[a+48>>2]=e;if(e){continue}break}f=H[a+32>>2]}H[a+36>>2]=f;if(!!b&(c|0)>=0|(c|0)>0){break b}f=0;e=0;break a}H[a+68>>2]=H[a+68>>2]|8;Ca(d,4,15604,0);H[a+48>>2]=0;H[a+68>>2]=H[a+68>>2]|8;ra=-1;return-1}f=0;e=0;while(1){g=sa[H[a+24>>2]](b,c,H[a>>2])|0;h=ra;i=h;if((g&h)==-1){Ca(d,4,15589,0);H[a+68>>2]=H[a+68>>2]|8;b=e+H[a+60>>2]|0;c=f+H[a+56>>2]|0;b=c>>>0>>0?b+1|0:b;H[a+56>>2]=c;H[a+60>>2]=b;a=!(e|f);b=a?-1:f;ra=a?-1:e;return b|0}e=e+i|0;f=f+g|0;e=f>>>0>>0?e+1|0:e;h=b;b=b-g|0;c=c-(i+(g>>>0>h>>>0)|0)|0;if(!!b&(c|0)>=0|(c|0)>0){continue}break}}b=e+H[a+60>>2]|0;c=f+H[a+56>>2]|0;b=c>>>0>>0?b+1|0:b;H[a+56>>2]=c;H[a+60>>2]=b}ra=e;return f|0}function Kc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a;a:{if(b&3){while(1){c=I[b|0];if(!c|(c|0)==61){break a}b=b+1|0;if(b&3){continue}break}}b:{c:{d=H[b>>2];if(((d|16843008-d)&-2139062144)!=-2139062144){break c}while(1){c=d^1027423549;if(((16843008-c|c)&-2139062144)!=-2139062144){break c}d=H[b+4>>2];c=b+4|0;b=c;if(((16843008-d|d)&-2139062144)==-2139062144){continue}break}break b}c=b}while(1){b=c;d=I[b|0];if(!d){break a}c=b+1|0;if((d|0)!=61){continue}break}}if((a|0)==(b|0)){return 0}g=b-a|0;d:{if(I[g+a|0]){break d}f=H[6860];if(!f){break d}b=H[f>>2];if(!b){break d}while(1){e:{d=a;c=b;h=g;e=0;f:{if(!g){break f}e=I[d|0];if(e){g:{while(1){i=I[c|0];if((i|0)!=(e|0)|!i){break g}h=h-1|0;if(!h){break g}c=c+1|0;e=I[d+1|0];d=d+1|0;if(e){continue}break}e=0}}else{e=0}e=e-I[c|0]|0}if(!e){b=b+g|0;if(I[b|0]==61){break e}}b=H[f+4>>2];f=f+4|0;if(b){continue}break d}break}j=b+1|0}return j}function qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=oa-16|0;oa=g;a:{if(c>>>0<=1){Ca(d,1,3983,0);a=0;break a}if(F[a+212|0]&1){Ca(d,1,12668,0);a=0;break a}a=H[a+180>>2]+N(H[a+228>>2],5644)|0;F[a+5640|0]=I[a+5640|0]|2;Ea(b,g+12|0,1);e=H[a+5164>>2];b:{if(!e){f=H[g+12>>2]+1|0;e=Fa(f,8);H[a+5164>>2]=e;if(!e){Ca(d,1,4009,0);a=0;break a}H[a+5160>>2]=f;break b}f=H[g+12>>2];if(f>>>0>2]){break b}h=e;e=f+1|0;f=Ia(h,e<<3);if(!f){Ca(d,1,4009,0);a=0;break a}H[a+5164>>2]=f;h=H[a+5160>>2];i=e-h<<3;if(i){y(f+(h<<3)|0,0,i)}H[a+5160>>2]=e;e=H[a+5164>>2]}h=e;e=H[g+12>>2];if(H[h+(e<<3)>>2]){H[g>>2]=e;Ca(d,1,7063,g);a=0;break a}c=c-1|0;e=Ga(c);a=H[a+5164>>2];f=H[g+12>>2];H[a+(f<<3)>>2]=e;if(!e){Ca(d,1,4009,0);a=0;break a}H[(a+(f<<3)|0)+4>>2]=c;if(c){B(H[a+(H[g+12>>2]<<3)>>2],b+1|0,c)}a=1}oa=g+16|0;return a|0}function Ib(a,b,c){var d=0,e=0,f=0,g=0;e=a+4|0;d=(e+b|0)-1&0-b;b=H[a>>2];if(d+c>>>0<=(b+a|0)-4>>>0){f=H[a+4>>2];g=H[a+8>>2];H[f+8>>2]=g;H[g+4>>2]=f;if((d|0)!=(e|0)){d=d-e|0;f=a-(H[a-4>>2]&-2)|0;e=d+H[f>>2]|0;H[f>>2]=e;H[(f+(e&-4)|0)-4>>2]=e;a=a+d|0;b=b-d|0;H[a>>2]=b}a:{if(c+24>>>0<=b>>>0){e=a+c|0;b=(b-c|0)-8|0;H[e+8>>2]=b;g=e+8|0;H[(g+(b&-4)|0)-4>>2]=b|1;d=H[e+8>>2]-8|0;b:{if(d>>>0<=127){b=(d>>>3|0)-1|0;break b}f=Q(d);b=((d>>>29-f^4)-(f<<2)|0)+110|0;if(d>>>0<=4095){break b}b=((d>>>30-f^2)-(f<<1)|0)+71|0;b=b>>>0>=63?63:b}d=b<<4;H[e+12>>2]=d+26400;d=d+26408|0;H[e+16>>2]=H[d>>2];H[d>>2]=g;H[H[e+16>>2]+4>>2]=g;d=H[6858];f=H[6859];e=b&31;if((b&63)>>>0>=32){b=1<>>32-e}H[6858]=g|d;H[6859]=b|f;b=c+8|0;H[a>>2]=b;c=(b&-4)+a|0;break a}c=a+b|0}H[c-4>>2]=b;a=a+4|0}else{a=0}return a}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=oa-16|0;oa=g;i=H[H[a+96>>2]+16>>2];h=i>>>0<257?1:2;e=(h<<1)+5|0;f=(c>>>0)/(e>>>0)|0;a:{if(!((N(e,f)|0)==(c|0)&c>>>0>=e>>>0)){Ca(d,1,4643,0);a=0;break a}if(H[a+8>>2]==16){e=H[a+180>>2]+N(H[a+228>>2],5644)|0}else{e=H[a+12>>2]}a=0;c=I[e+5640|0];a=c&4?H[e+420>>2]+1|0:a;f=f+a|0;if(f>>>0>=32){H[g>>2]=f;Ca(d,1,7781,g);a=0;break a}F[e+5640|0]=c|4;if(a>>>0>>0){c=(e+N(a,148)|0)+424|0;while(1){Ea(b,c,1);b=b+1|0;Ea(b,c+4|0,h);b=b+h|0;Ea(b,c+8|0,2);d=H[c+8>>2];j=H[e+8>>2];H[c+8>>2]=d>>>0>>0?d:j;Ea(b+2|0,c+12|0,1);b=b+3|0;Ea(b,c+16|0,h);b=b+h|0;Ea(b,g+12|0,1);H[c+36>>2]=H[g+12>>2];d=H[c+16>>2];H[c+16>>2]=d>>>0>>0?d:i;c=c+148|0;b=b+1|0;a=a+1|0;if((f|0)!=(a|0)){continue}break}}H[e+420>>2]=f-1;a=1}oa=g+16|0;return a|0}function mb(a){var b=0,c=0,d=0,e=0;a:{if(!a){break a}b=H[a+5164>>2];if(b){c=H[a+5160>>2];if(c){b=0;while(1){d=H[H[a+5164>>2]+(b<<3)>>2];if(d){Da(d);c=H[a+5160>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=H[a+5164>>2]}H[a+5160>>2]=0;Da(b);H[a+5164>>2]=0}b=H[a+5172>>2];if(b){Da(b);H[a+5172>>2]=0}b=H[a+5584>>2];if(b){Da(b);H[a+5584>>2]=0}b=H[a+5612>>2];if(b){Da(b);H[a+5612>>2]=0}b=H[a+5608>>2];if(b){Da(b);H[a+5608>>2]=0}b=H[a+5628>>2];if(b){Da(b);H[a+5636>>2]=0;H[a+5628>>2]=0;H[a+5632>>2]=0}b=H[a+5616>>2];if(b){e=H[a+5620>>2];if(e){c=0;while(1){d=H[b+12>>2];if(d){Da(d);H[b+12>>2]=0;e=H[a+5620>>2]}b=b+20|0;c=c+1|0;if(e>>>0>c>>>0){continue}break}b=H[a+5616>>2]}Da(b);H[a+5616>>2]=0}b=H[a+5604>>2];if(b){Da(b);H[a+5604>>2]=0}b=H[a+5596>>2];if(!b){break a}Da(b);H[a+5596>>2]=0;H[a+5600>>2]=0}}function Kd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=oa-32|0;oa=e;a:{if(H[a+72>>2]){Ca(d,2,7015,0);c=1;break a}if((c|0)!=14){c=0;Ca(d,1,14445,0);break a}Ea(b,a+16|0,4);Ea(b+4|0,a+12|0,4);Ea(b+8|0,a+20|0,2);f=H[a+12>>2];b:{g=H[a+16>>2];c=H[a+20>>2];c:{if(!g){break c}c=H[a+20>>2];if(!f){break c}if(c){break b}c=0}H[e+8>>2]=c;H[e+4>>2]=g;H[e>>2]=f;Ca(d,1,14289,e);c=0;break a}if(c-16385>>>0<=4294950911){c=0;Ca(d,1,14203,0);break a}c=Fa(c,12);H[a+72>>2]=c;if(!c){c=0;Ca(d,1,14240,0);break a}c=1;Ea(b+10|0,a+24|0,1);Ea(b+11|0,a+28|0,1);f=H[a+28>>2];if((f|0)!=7){H[e+16>>2]=f;Ca(d,4,16272,e+16|0)}Ea(b+12|0,a+32|0,1);Ea(b+13|0,a+36|0,1);b=H[a>>2];F[b+212|0]=I[b+212|0]&251|(H[a+24>>2]==255?4:0);b=H[a>>2];H[b+240>>2]=H[a+12>>2];H[b+244>>2]=H[a+16>>2];F[a+133|0]=1}oa=e+32|0;return c|0}function Dc(a,b,c,d){a:{switch(b-9|0){case 0:b=H[c>>2];H[c>>2]=b+4;H[a>>2]=H[b>>2];return;case 6:b=H[c>>2];H[c>>2]=b+4;b=G[b>>1];H[a>>2]=b;H[a+4>>2]=b>>31;return;case 7:b=H[c>>2];H[c>>2]=b+4;H[a>>2]=J[b>>1];H[a+4>>2]=0;return;case 8:b=H[c>>2];H[c>>2]=b+4;b=F[b|0];H[a>>2]=b;H[a+4>>2]=b>>31;return;case 9:b=H[c>>2];H[c>>2]=b+4;H[a>>2]=I[b|0];H[a+4>>2]=0;return;case 16:b=H[c>>2]+7&-8;H[c>>2]=b+8;M[a>>3]=M[b>>3];return;case 17:sa[d|0](a,c);default:return;case 1:case 4:case 14:b=H[c>>2];H[c>>2]=b+4;b=H[b>>2];H[a>>2]=b;H[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=H[c>>2];H[c>>2]=b+4;H[a>>2]=H[b>>2];H[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=H[c>>2]+7&-8;H[c>>2]=b+8;c=H[b+4>>2];H[a>>2]=H[b>>2];H[a+4>>2]=c}function re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=oa-16|0;oa=g;a:{if(c>>>0<=1){Ca(d,1,4311,0);a=0;break a}F[a+212|0]=I[a+212|0]|1;Ea(b,g+12|0,1);e=H[a+140>>2];b:{if(!e){f=H[g+12>>2]+1|0;e=Fa(f,8);H[a+140>>2]=e;if(!e){Ca(d,1,4337,0);a=0;break a}H[a+136>>2]=f;break b}f=H[g+12>>2];if(f>>>0>2]){break b}h=e;e=f+1|0;f=Ia(h,e<<3);if(!f){Ca(d,1,4337,0);a=0;break a}H[a+140>>2]=f;h=H[a+136>>2];i=e-h<<3;if(i){y(f+(h<<3)|0,0,i)}H[a+136>>2]=e;e=H[a+140>>2]}h=e;e=H[g+12>>2];if(H[h+(e<<3)>>2]){H[g>>2]=e;Ca(d,1,7085,g);a=0;break a}c=c-1|0;e=Ga(c);a=H[a+140>>2];f=H[g+12>>2];H[a+(f<<3)>>2]=e;if(!e){Ca(d,1,4337,0);a=0;break a}H[(a+(f<<3)|0)+4>>2]=c;if(c){B(H[a+(H[g+12>>2]<<3)>>2],b+1|0,c)}a=1}oa=g+16|0;return a|0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=oa-32|0;oa=d;e=H[a+28>>2];H[d+16>>2]=e;f=H[a+20>>2];H[d+28>>2]=c;H[d+24>>2]=b;b=f-e|0;H[d+20>>2]=b;f=b+c|0;i=2;b=d+16|0;a:{while(1){b:{c:{d:{if(!Hb(_(H[a+60>>2],b|0,i|0,d+12|0)|0)){g=H[d+12>>2];if((g|0)==(f|0)){break d}if((g|0)>=0){break c}break b}if((f|0)!=-1){break b}}b=H[a+44>>2];H[a+28>>2]=b;H[a+20>>2]=b;H[a+16>>2]=b+H[a+48>>2];a=c;break a}h=H[b+4>>2];j=h>>>0>>0;e=(j?8:0)+b|0;h=g-(j?h:0)|0;H[e>>2]=h+H[e>>2];b=(j?12:4)+b|0;H[b>>2]=H[b>>2]-h;f=f-g|0;i=i-j|0;b=e;continue}break}H[a+28>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a>>2]=H[a>>2]|32;a=0;if((i|0)==2){break a}a=c-H[b+4>>2]|0}oa=d+32|0;return a|0}function Da(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;if(a){b=a-4|0;f=H[b>>2];c=f;d=b;e=H[a-8>>2];a=e&-2;if((a|0)!=(e|0)){d=b-a|0;c=H[d+4>>2];e=H[d+8>>2];H[c+8>>2]=e;H[e+4>>2]=c;c=a+f|0}a=b+f|0;b=H[a>>2];if((b|0)!=H[(a+b|0)-4>>2]){f=H[a+4>>2];a=H[a+8>>2];H[f+8>>2]=a;H[a+4>>2]=f;c=b+c|0}H[d>>2]=c;H[((c&-4)+d|0)-4>>2]=c|1;b=H[d>>2]-8|0;a:{if(b>>>0<=127){a=(b>>>3|0)-1|0;break a}c=Q(b);a=((b>>>29-c^4)-(c<<2)|0)+110|0;if(b>>>0<=4095){break a}a=((b>>>30-c^2)-(c<<1)|0)+71|0;a=a>>>0>=63?63:a}b=a<<4;H[d+4>>2]=b+26400;b=b+26408|0;H[d+8>>2]=H[b>>2];H[b>>2]=d;H[H[d+8>>2]+4>>2]=d;b=H[6858];c=H[6859];d=a&31;if((a&63)>>>0>=32){a=1<>>32-d}H[6858]=e|b;H[6859]=a|c}}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(K[a+44>>2]>=8){e=H[a+36>>2];j=e<<5;k=N(e,28);l=N(e,24);m=N(e,20);n=e<<4;o=N(e,12);p=e<<3;f=H[a+40>>2];g=8;while(1){Eb(a,f,H[a+36>>2],8);Wa(a);h=H[a+32>>2];if(h){i=H[a>>2];b=0;while(1){c=(b<<2)+f|0;d=i+(b<<5)|0;L[c>>2]=L[d>>2];L[c+(e<<2)>>2]=L[d+4>>2];L[c+p>>2]=L[d+8>>2];L[c+o>>2]=L[d+12>>2];b=b+1|0;if((h|0)!=(b|0)){continue}break}i=H[a>>2];b=0;while(1){c=(b<<2)+f|0;d=i+(b<<5)|0;L[c+n>>2]=L[d+16>>2];L[c+m>>2]=L[d+20>>2];L[c+l>>2]=L[d+24>>2];L[c+k>>2]=L[d+28>>2];b=b+1|0;if((h|0)!=(b|0)){continue}break}}f=f+j|0;g=g+8|0;if(g>>>0<=K[a+44>>2]){continue}break}}Da(H[a>>2]);Da(a)}function Ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=oa-16|0;oa=e;a:{if(H[a+116>>2]){break a}if(c>>>0<=1){Ca(d,1,8882,0);break a}Ea(b,e+12|0,2);f=H[e+12>>2];h=f&65535;if(!h){Ca(d,1,8915,0);break a}if(N(h,6)+2>>>0>c>>>0){Ca(d,1,8882,0);break a}d=Ga(N(f,6));if(!d){break a}c=Ga(8);H[a+116>>2]=c;if(!c){Da(d);break a}H[c>>2]=d;f=c;c=J[e+12>>1];G[f+4>>1]=c;if(!c){g=1;break a}c=0;while(1){g=e+12|0;Ea(b+2|0,g,2);f=d+N(c,6)|0;G[f>>1]=H[e+12>>2];Ea(b+4|0,g,2);G[f+2>>1]=H[e+12>>2];b=b+6|0;Ea(b,g,2);G[f+4>>1]=H[e+12>>2];g=1;c=c+1|0;if(c>>>0>2]+4>>1]){continue}break}}oa=e+16|0;return g|0}function Xb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=oa-32|0;oa=g;f=H[a+96>>2];a:{if(!f){Ca(d,1,13752,0);e=0;break a}f=Fa(4,H[f+16>>2]);e=0;if(!f){break a}if(b){j=H[a+96>>2];while(1){b:{e=H[(h<<2)+c>>2];c:{if(e>>>0>=K[j+16>>2]){H[g+16>>2]=e;Ca(d,1,2443,g+16|0);break c}i=f+(e<<2)|0;if(!H[i>>2]){break b}H[g>>2]=e;Ca(d,1,3487,g)}Da(f);e=0;break a}H[i>>2]=1;h=h+1|0;if((h|0)!=(b|0)){continue}break}}Da(f);Da(H[a+64>>2]);d:{if(b){d=b<<2;e=Ga(d);H[a+64>>2]=e;if(!e){H[a+60>>2]=0;e=0;break a}if(!d){break d}B(e,c,d);break d}H[a+64>>2]=0}H[a+60>>2]=b;e=1}oa=g+32|0;return e|0}function Pc(a){a=a|0;var b=0,c=0;if(a){Bb(H[a>>2]);H[a>>2]=0;b=H[a+72>>2];if(b){Da(b);H[a+72>>2]=0}b=H[a+68>>2];if(b){Da(b);H[a+68>>2]=0}b=H[a+108>>2];if(b){Da(b);H[a+108>>2]=0}b=H[a+116>>2];if(b){c=H[b>>2];if(c){Da(c);b=H[a+116>>2];H[b>>2]=0}Da(b);H[a+116>>2]=0}b=H[a+120>>2];if(b){c=H[b+12>>2];if(c){Da(c);b=H[a+120>>2];H[b+12>>2]=0}c=H[b+4>>2];if(c){Da(c);b=H[a+120>>2];H[b+4>>2]=0}c=H[b+8>>2];if(c){Da(c);b=H[a+120>>2];H[b+8>>2]=0}c=H[b>>2];if(c){Da(c);b=H[a+120>>2];H[b>>2]=0}Da(b);H[a+120>>2]=0}b=H[a+4>>2];if(b){sb(b);H[a+4>>2]=0}b=H[a+8>>2];if(b){sb(b);H[a+8>>2]=0}Da(a)}}function Ub(){var a=0,b=0,c=0;a:{a=Fa(1,256);if(a){H[a>>2]=1;H[a+208>>2]=1;F[a+212|0]=I[a+212|0]|6;b=Fa(1,5644);H[a+12>>2]=b;if(!b){break a}b=Fa(1,1e3);H[a+16>>2]=b;if(!b){break a}H[a+48>>2]=0;H[a+52>>2]=0;H[a+44>>2]=-1;H[a+20>>2]=1e3;b:{c=Fa(1,48);if(c){H[c+24>>2]=0;H[c+32>>2]=100;b=Fa(100,24);H[c+28>>2]=b;if(b){break b}Da(c)}H[a+224>>2]=0;break a}H[c+40>>2]=0;H[a+224>>2]=c;b=tb();H[a+220>>2]=b;if(!b){break a}b=tb();H[a+216>>2]=b;if(!b){break a}c:{if(!Kc(1419)){break c}}b=vc();H[a+236>>2]=b;if(!b){b=vc();H[a+236>>2]=b;if(!b){break a}}}else{a=0}return a}Bb(a);return 0}function wb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0;g=oa-240|0;oa=g;H[g+236>>2]=c;H[g+232>>2]=b;H[g>>2]=a;l=!e;a:{b:{c:{d:{if((b|0)!=1){h=a;i=1;break d}h=a;i=1;if(c){break d}e=a;break c}while(1){j=(d<<2)+f|0;e=h-H[j>>2]|0;if((db(e,a)|0)<=0){e=h;break c}k=l^-1;l=1;e:{if(!((k|(d|0)<2)&1)){j=H[j-8>>2];k=h-8|0;if((db(k,e)|0)>=0){break e}if((db(k-j|0,e)|0)>=0){break e}}H[(i<<2)+g>>2]=e;b=Jc(b,c);xb(g+232|0,b);i=i+1|0;d=b+d|0;h=e;c=H[g+236>>2];b=H[g+232>>2];if(c|(b|0)!=1){continue}break b}break}e=h;break b}if(!l){break a}}Ic(g,i);Gb(e,d,f)}oa=g+240|0}function Gc(a,b,c,d,e){var f=0,g=0,h=0;f=oa-208|0;oa=f;H[f+204>>2]=c;c=f+160|0;y(c,0,40);H[f+200>>2]=H[f+204>>2];a:{if((Fc(0,b,f+200|0,f+80|0,c,d,e)|0)<0){break a}c=H[a+76>>2]<0;g=H[a>>2];H[a>>2]=g&-33;b:{c:{d:{if(!H[a+48>>2]){H[a+48>>2]=80;H[a+28>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;h=H[a+44>>2];H[a+44>>2]=f;break d}if(H[a+16>>2]){break c}}if(Kb(a)){break b}}Fc(a,b,f+200|0,f+80|0,f+160|0,d,e)}if(h){sa[H[a+36>>2]](a,0,0)|0;H[a+48>>2]=0;H[a+44>>2]=h;H[a+28>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0}H[a>>2]=H[a>>2]|g&32;if(c){break a}}oa=f+208|0}function Be(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=oa-16|0;oa=e;if(H[a+8>>2]==16){g=H[a+180>>2]+N(H[a+228>>2],5644)|0}else{g=H[a+12>>2]}h=H[a+96>>2];f=K[h+16>>2]<257?1:2;a:{if(f>>>0>=c>>>0){c=0;Ca(d,1,4669,0);break a}H[e+12>>2]=(f^-1)+c;Ea(b,e+8|0,f);i=H[e+8>>2];if(i>>>0>=K[h+16>>2]){c=0;Ca(d,1,14067,0);break a}c=1;b=b+f|0;Ea(b,H[g+5584>>2]+N(i,1080)|0,1);if(!Wc(a,H[e+8>>2],b+1|0,e+12|0,d)){c=0;Ca(d,1,4669,0);break a}if(!H[e+12>>2]){break a}c=0;Ca(d,1,4669,0)}oa=e+16|0;return c|0}function Rc(a,b){var c=0,d=0,e=0,f=0,g=0;f=oa-32|0;oa=f;c=H[a+60>>2];a:{b:{if(c){g=1;while(1){e=H[H[a+64>>2]+(d<<2)>>2];if(!H[(H[H[a+100>>2]+24>>2]+N(e,52)|0)+44>>2]){H[f+16>>2]=e;Ca(b,2,7604,f+16|0);g=0;c=H[a+60>>2]}d=d+1|0;if(c>>>0>d>>>0){continue}break}break b}g=1;c=H[a+100>>2];e=1;if(!H[c+16>>2]){break a}while(1){if(!H[(H[c+24>>2]+N(d,52)|0)+44>>2]){H[f>>2]=d;Ca(b,2,7604,f);g=0;c=H[a+100>>2]}d=d+1|0;if(d>>>0>2]){continue}break}}e=1;if(g){break a}Ca(b,1,2897,0);e=0}oa=f+32|0;return e}function Gd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=oa-16|0;oa=f;e=H[a+120>>2];a:{if(!e){Ca(d,1,8836,0);c=0;break a}if(H[e+12>>2]){Ca(d,1,11598,0);c=0;break a}e=I[e+18|0];g=e<<2;if(g>>>0>c>>>0){Ca(d,1,8803,0);c=0;break a}g=Ga(g);c=0;if(!g){break a}if(e){d=0;while(1){c=f+12|0;Ea(b,c,2);h=g+(d<<2)|0;G[h>>1]=H[f+12>>2];Ea(b+2|0,c,1);F[h+2|0]=H[f+12>>2];Ea(b+3|0,c,1);F[h+3|0]=H[f+12>>2];b=b+4|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}H[H[a+120>>2]+12>>2]=g;c=1}oa=f+16|0;return c|0}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=oa-16|0;oa=e;g=H[H[a+96>>2]+16>>2];a:{if((g+2|0)!=(c|0)){Ca(d,1,4617,0);break a}Ea(b,e+12|0,2);if(H[e+12>>2]!=(g|0)){Ca(d,1,4617,0);break a}if(!g){f=1;break a}c=b+2|0;a=H[H[a+96>>2]+24>>2];b=0;while(1){Ea(c,e+8|0,1);f=H[e+8>>2];h=f&127;i=h+1|0;H[a+24>>2]=i;H[a+32>>2]=f>>>7&1;if(h>>>0>=31){H[e+4>>2]=i;H[e>>2]=b;Ca(d,1,15402,e);f=0;break a}a=a+52|0;f=1;c=c+1|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}}oa=e+16|0;return f|0}function ye(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=oa-16|0;oa=e;a:{b:{h=e+8|0;c:{if(K[H[a+96>>2]+16>>2]<=256){if(c){f=-1;g=1;break c}Ca(d,1,4695,0);a=0;break a}if(c>>>0<=1){break b}f=-2;g=2}Ea(b,h,g);H[e+12>>2]=c+f;c=H[e+8>>2];f=H[H[a+96>>2]+16>>2];if(c>>>0>=f>>>0){H[e+4>>2]=f;H[e>>2]=c;Ca(d,1,7712,e);a=0;break a}if(!Vc(a,c,b+g|0,e+12|0,d)){Ca(d,1,4695,0);a=0;break a}a=1;if(!H[e+12>>2]){break a}Ca(d,1,4695,0);a=0;break a}Ca(d,1,4695,0);a=0}oa=e+16|0;return a|0}function pc(a,b,c,d){var e=0,f=0,g=0;g=oa-128|0;oa=g;f=g;c=H[b+12>>2]+(c<<4)|0;e=H[c>>2];a:{if(!e){b=c;break a}while(1){H[f>>2]=c;f=f+4|0;b=e;c=b;e=H[c>>2];if(e){continue}break}}e=0;while(1){c=H[b+8>>2];if((e|0)>(c|0)){H[b+8>>2]=e;c=e}b:{if((c|0)>=(d|0)){break b}while(1){if(H[b+4>>2]<=(c|0)){break b}c:{if(Ta(a,1)){H[b+4>>2]=c;break c}c=c+1|0}if((c|0)<(d|0)){continue}break}}H[b+8>>2]=c;if((f|0)!=(g|0)){f=f-4|0;b=H[f>>2];e=c;continue}break}oa=g+128|0;return H[b+4>>2]<(d|0)}function Qd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=H[a+32>>2];H[a+36>>2]=f;a:{e=H[a+48>>2];if(e){while(1){e=sa[H[a+20>>2]](f,e,H[a>>2])|0;if((e|0)==-1){break a}f=e+H[a+36>>2]|0;H[a+36>>2]=f;e=H[a+48>>2]-e|0;H[a+48>>2]=e;if(e){continue}break}f=H[a+32>>2]}H[a+48>>2]=0;H[a+36>>2]=f;if(!(sa[H[a+28>>2]](b,c,H[a>>2])|0)){H[a+68>>2]=H[a+68>>2]|8;return 0}H[a+56>>2]=b;H[a+60>>2]=c;return 1}H[a+68>>2]=H[a+68>>2]|8;Ca(d,4,15604,0);H[a+68>>2]=H[a+68>>2]|8;return 0}function Ca(a,b,c,d){var e=0,f=0;e=oa-528|0;oa=e;a:{if(!a){break a}b:{c:{switch(b-1|0){case 0:b=a+12|0;break b;case 1:b=a+16|0;a=a+4|0;break b;case 3:break c;default:break a}}b=a+20|0;a=a+8|0}b=H[b>>2];if(!b|!c){break a}f=H[a>>2];y(e,0,512);H[e+524>>2]=d;a=oa-160|0;oa=a;H[a+148>>2]=e;H[a+152>>2]=511;y(a,0,144);H[a+76>>2]=-1;H[a+36>>2]=103;H[a+80>>2]=-1;H[a+44>>2]=a+159;H[a+84>>2]=a+148;F[e|0]=0;Gc(a,c,d,104,105);oa=a+160|0;F[e+511|0]=0;sa[b|0](e,f)}oa=e+528|0}function Md(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(H[a+100>>2]!=1){Ca(d,1,11401,0);return 0}a:{if(c>>>0<=7){break a}Ea(b,a+56|0,4);Ea(b+4|0,a+60|0,4);if(c&3){break a}c=c-8|0;e=c>>>2|0;H[a+64>>2]=e;b:{if(!c){break b}c=Fa(e,4);H[a+68>>2]=c;if(!c){Ca(d,1,2235,0);return 0}if(!H[a+64>>2]){break b}d=b+8|0;c=0;while(1){Ea(d,H[a+68>>2]+(c<<2)|0,4);d=d+4|0;c=c+1|0;if(c>>>0>2]){continue}break}}H[a+100>>2]=H[a+100>>2]|2;return 1}Ca(d,1,5955,0);return 0}function rc(a){var b=0,c=0,d=0;a:{if(!a){break a}b=H[a+8>>2];if(!b){break a}a=H[a+12>>2];if(b>>>0>=4){d=b&-4;while(1){H[a+60>>2]=0;H[a+52>>2]=999;H[a+56>>2]=0;H[a+44>>2]=0;H[a+36>>2]=999;H[a+40>>2]=0;H[a+28>>2]=0;H[a+20>>2]=999;H[a+24>>2]=0;H[a+12>>2]=0;H[a+4>>2]=999;H[a+8>>2]=0;a=a- -64|0;c=c+4|0;if((d|0)!=(c|0)){continue}break}}b=b&3;if(!b){break a}c=0;while(1){H[a+12>>2]=0;H[a+4>>2]=999;H[a+8>>2]=0;a=a+16|0;c=c+1|0;if((b|0)!=(c|0)){continue}break}}} function ze(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=oa-16|0;oa=e;H[e+12>>2]=c;a:{if(!(!Vc(a,0,b,e+12|0,d)|H[e+12>>2])){if(H[a+8>>2]==16){b=H[a+180>>2]+N(H[a+228>>2],5644)|0}else{b=H[a+12>>2]}f=1;if(K[H[a+96>>2]+16>>2]<2){break a}c=H[b+5584>>2];g=c+28|0;b=1;d=c;while(1){H[d+1104>>2]=H[c+24>>2];H[d+1884>>2]=H[c+804>>2];B(d+1108|0,g,776);d=d+1080|0;b=b+1|0;if(b>>>0>2]+16>>2]){continue}break}break a}Ca(d,1,4591,0)}oa=e+16|0;return f|0}function Cc(a,b){a:{b:{if(b>>>0<=127){break b}c:{if(!H[H[6885]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){F[a+1|0]=b&63|128;F[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){F[a+2|0]=b&63|128;F[a|0]=b>>>12|224;F[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){F[a+3|0]=b&63|128;F[a|0]=b>>>18|240;F[a+2|0]=b>>>6&63|128;F[a+1|0]=b>>>12&63|128;a=4;break a}}H[6597]=25;a=-1;break a}F[a|0]=b;a=1}return a}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!Ya(H[a+8>>2],54,c)){return 0}h=H[a+8>>2];d=H[h>>2];f=H[h+8>>2];a:{if(d){e=1;i=d&1;if((d|0)==1){d=0}else{d=d&-2;while(1){g=0;b:{if(!e){break b}g=0;if(!(sa[H[f>>2]](a,b,c)|0)){break b}g=(sa[H[f+4>>2]](a,b,c)|0)!=0}e=g;f=f+8|0;j=j+2|0;if((d|0)!=(j|0)){continue}break}d=!e}e=i?0:e;if(!(d|!i)){e=(sa[H[f>>2]](a,b,c)|0)!=0}Qa(h);if(e){break a}return 0}Qa(h)}return 1}function Ae(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=oa-16|0;oa=e;g=H[H[a+96>>2]+16>>2];f=g>>>0<257?1:2;a:{if((f+2|0)!=(c|0)){a=0;Ca(d,1,4285,0);break a}if(H[a+8>>2]==16){c=H[a+180>>2]+N(H[a+228>>2],5644)|0}else{c=H[a+12>>2]}Ea(b,e+12|0,f);a=1;b=b+f|0;Ea(b,e+8|0,1);f=H[e+12>>2];if(f>>>0>=g>>>0){H[e+4>>2]=g;H[e>>2]=f;Ca(d,1,14923,e);a=0;break a}Ea(b+1|0,(H[c+5584>>2]+N(f,1080)|0)+808|0,1)}oa=e+16|0;return a|0}function Fe(){var a=0,b=0,c=0;while(1){b=a<<4;c=b+26400|0;H[b+26404>>2]=c;H[b+26408>>2]=c;a=a+1|0;if((a|0)!=64){continue}break}Lc(48);a=oa-16|0;oa=a;a:{if(ma(a+12|0,a+8|0)|0){break a}b=yb((H[a+12>>2]<<2)+4|0);H[6860]=b;if(!b){break a}b=yb(H[a+8>>2]);if(b){c=H[6860];H[c+(H[a+12>>2]<<2)>>2]=0;if(!(la(c|0,b|0)|0)){break a}}H[6860]=0}oa=a+16|0;H[6876]=8192;H[6874]=94352;H[6867]=42;H[6885]=27608;H[6875]=65536}function Jb(a,b,c){var d=0,e=0,f=0;d=H[c+16>>2];a:{if(!d){if(Kb(c)){break a}d=H[c+16>>2]}e=H[c+20>>2];if(d-e>>>0>>0){return sa[H[c+36>>2]](c,a,b)|0}b:{c:{if(!b|H[c+80>>2]<0){break c}d=b;while(1){f=a+d|0;if(I[f-1|0]!=10){d=d-1|0;if(d){continue}break c}break}e=sa[H[c+36>>2]](c,a,d)|0;if(e>>>0>>0){break a}b=b-d|0;e=H[c+20>>2];break b}f=a;d=0}eb(e,f,b);H[c+20>>2]=H[c+20>>2]+b;e=b+d|0}return e}function Ne(a,b,c){var d=0,e=0,f=0,g=0;g=c&63;f=g;e=f&31;if(f>>>0>=32){f=-1>>>e|0}else{d=-1>>>e|0;f=d|(1<>>0>=32){d=f<>>32-e|d<>>0>=32){d=-1<>>32-d}a=c&a;b=b&d;d=e&31;if(e>>>0>=32){c=0;a=b>>>d|0}else{c=b>>>d|0;a=((1<>>d}a=a|g;ra=c|f;return a} function ib(a,b,c){var d=0;if(!H[a+12>>2]){sa[b|0](c,H[a+36>>2]);return}d=Ga(8);a:{if(!d){break a}H[d+4>>2]=c;H[d>>2]=b;b=Ga(8);if(!b){Da(d);return}H[b>>2]=d;c=N(H[a+4>>2],100);H[a+40>>2]=c;while(1){if((c|0)>2]){continue}break}H[b+4>>2]=H[a+20>>2];H[a+20>>2]=b;H[a+24>>2]=H[a+24>>2]+1;b=H[a+28>>2];if(!b){break a}H[H[b>>2]+8>>2]=0;H[a+28>>2]=H[b+4>>2];H[a+32>>2]=H[a+32>>2]-1;Da(b)}}function Xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;H[a+184>>2]=b;d=H[a+96>>2];a:{if(!d){break a}f=H[d+24>>2];if(!f){break a}e=H[a+12>>2];if(!e|!H[e+5584>>2]){break a}e=H[d+16>>2];if(!e){return 1}d=0;while(1){if(K[(H[H[a+12>>2]+5584>>2]+N(d,1080)|0)+4>>2]<=b>>>0){Ca(c,1,9177,0);return 0}H[(N(d,52)+f|0)+40>>2]=b;g=1;d=d+1|0;if((e|0)!=(d|0)){continue}break}}return g|0}function Mc(a){var b=0,c=0;b=H[a+76>>2];if(!((b|0)>=0&(!b|H[6867]!=(b&1073741823)))){a:{if(H[a+80>>2]==10){break a}b=H[a+20>>2];if((b|0)==H[a+16>>2]){break a}H[a+20>>2]=b+1;F[b|0]=10;return}Nc(a);return}b=a+76|0;c=H[b>>2];H[b>>2]=c?c:1073741823;b:{c:{if(H[a+80>>2]==10){break c}c=H[a+20>>2];if((c|0)==H[a+16>>2]){break c}H[a+20>>2]=c+1;F[c|0]=10;break b}Nc(a)}H[b>>2]=0}function La(a,b,c,d,e,f,g,h){var i=0,j=0;i=+O(e-a|0);j=i*1.402;if(P(j)<2147483647){e=~~j}else{e=-2147483648}e=e+c|0;H[f>>2]=(e|0)>=0?(b|0)>(e|0)?e:b:0;j=+O(d-a|0);i=j*.344+i*.714;if(P(i)<2147483647){a=~~i}else{a=-2147483648}a=c-a|0;H[g>>2]=(a|0)>=0?(a|0)<(b|0)?a:b:0;i=j*1.772;if(P(i)<2147483647){a=~~i}else{a=-2147483648}a=a+c|0;H[h>>2]=(a|0)>=0?(a|0)<(b|0)?a:b:0}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=H[a+84>>2];f=H[e>>2];d=H[e+4>>2];h=H[a+28>>2];g=H[a+20>>2]-h|0;g=d>>>0>>0?d:g;if(g){eb(f,h,g);f=g+H[e>>2]|0;H[e>>2]=f;d=H[e+4>>2]-g|0;H[e+4>>2]=d}d=c>>>0>d>>>0?d:c;if(d){eb(f,b,d);f=d+H[e>>2]|0;H[e>>2]=f;H[e+4>>2]=H[e+4>>2]-d}F[f|0]=0;b=H[a+44>>2];H[a+28>>2]=b;H[a+20>>2]=b;return c|0}function Db(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;if(a){c=H[a+4>>2];if(c){Da(c);H[a+4>>2]=0}if(b){c=a;while(1){d=H[c+200>>2];if(d){e=0;f=H[c+196>>2];if(f){while(1){g=H[d+12>>2];if(g){Da(g);H[d+12>>2]=0;f=H[c+196>>2]}d=d+16|0;e=e+1|0;if(e>>>0>>0){continue}break}d=H[c+200>>2]}Da(d);H[c+200>>2]=0}c=c+240|0;h=h+1|0;if((h|0)!=(b|0)){continue}break}}Da(a)}}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=H[c+8>>2];d=e>>>0<=1?1:e;f=H[c+4>>2];g=f-H[c>>2]|0;while(1){h=d;d=d<<1;if(h-g>>>0>>0){continue}break}if((e|0)!=(h|0)){d=Ga(h);if(!d){return-1}e=H[c>>2];if(e){if(g){B(d,e,g)}Da(H[c>>2])}H[c+8>>2]=h;H[c>>2]=d;f=d+g|0;H[c+4>>2]=f}if(b){B(f,a,b)}H[c+4>>2]=H[c+4>>2]+b;return b|0}function ic(a){H[a+100>>2]=20832;H[a+96>>2]=20832;H[a+92>>2]=20832;H[a+88>>2]=20832;H[a+84>>2]=20832;H[a+80>>2]=20832;H[a+76>>2]=20832;H[a+72>>2]=20832;H[a+68>>2]=20832;H[a+64>>2]=20832;H[a+60>>2]=20832;H[a+56>>2]=20832;H[a+52>>2]=20832;H[a+48>>2]=20832;H[a+44>>2]=20832;H[a+40>>2]=20832;H[a+36>>2]=20832;H[a+32>>2]=20832;H[a+28>>2]=20832}function Ta(a,b){var c=0,d=0,e=0,f=0;if((b|0)<=0){return 0}c=H[a+12>>2];d=H[a+16>>2];while(1){e=b;a:{if(d){break a}c=c<<8&65280;H[a+12>>2]=c;d=(c|0)==65280?7:8;H[a+16>>2]=d;b=H[a+8>>2];if(b>>>0>=K[a+4>>2]){break a}H[a+8>>2]=b+1;c=I[b|0]|c;H[a+12>>2]=c}d=d-1|0;H[a+16>>2]=d;b=e-1|0;f=(c>>>d&1)<>>0>1){continue}break}return f}function Id(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=oa-16|0;oa=f;e=H[a+24>>2];if((e|0)!=255){H[f>>2]=e;Ca(d,2,2678,f)}a:{b:{if(H[a+20>>2]==(c|0)){if(c){break b}e=1;break a}e=0;Ca(d,1,14510,0);break a}c=0;while(1){e=1;Ea(b,(H[a+72>>2]+N(c,12)|0)+8|0,1);b=b+1|0;c=c+1|0;if(c>>>0>2]){continue}break}}oa=f+16|0;return e|0}function Ea(a,b,c){var d=0,e=0;H[b>>2]=0;a:{if(!c){break a}d=c&3;b=b+c|0;if(c>>>0>=4){e=c&-4;c=0;while(1){F[b-1|0]=I[a|0];F[b-2|0]=I[a+1|0];F[b-3|0]=I[a+2|0];b=b-4|0;F[b|0]=I[a+3|0];a=a+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}if(!d){break a}c=0;while(1){b=b-1|0;F[b|0]=I[a|0];a=a+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}}function se(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=oa-16|0;oa=e;a:{if(!c){Ca(d,1,4106,0);a=0;break a}Ea(b,e+12|0,1);f=c-1|0;a=1;if(!f){break a}a=0;c=0;while(1){b=b+1|0;Ea(b,e+8|0,1);g=H[e+8>>2];c=g<<24>>31&(g&127|c)<<7;a=a+1|0;if((f|0)!=(a|0)){continue}break}a=1;if(!c){break a}Ca(d,1,4106,0);a=0}oa=e+16|0;return a|0}function nc(a,b,c,d){var e=0,f=0,g=O(0),h=0,i=O(0),j=0,k=O(0);if(d){while(1){e=f<<2;h=e+b|0;i=L[h>>2];j=a+e|0;g=L[j>>2];e=c+e|0;k=L[e>>2];L[j>>2]=O(k*O(1.4019999504089355))+g;L[h>>2]=O(g+O(i*O(-.3441300094127655)))+O(k*O(-.714139997959137));L[e>>2]=g+O(i*O(1.7719999551773071));f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function Gb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=oa-240|0;oa=f;H[f>>2]=a;g=1;a:{if((b|0)<2){break a}d=a;while(1){d=d-8|0;h=b-2|0;e=d-H[(h<<2)+c>>2]|0;if((db(a,e)|0)>=0){if((db(a,d)|0)>=0){break a}}i=e;e=(db(e,d)|0)>=0;d=e?i:d;H[(g<<2)+f>>2]=d;g=g+1|0;b=e?b-1|0:h;if((b|0)>1){continue}break}}Ic(f,g);oa=f+240|0}function Ic(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=8;f=oa-256|0;oa=f;if((b|0)>=2){h=(b<<2)+a|0;H[h>>2]=f;while(1){e=c>>>0>=256?256:c;eb(H[h>>2],H[a>>2],e);d=0;while(1){g=(d<<2)+a|0;d=d+1|0;eb(H[g>>2],H[(d<<2)+a>>2],e);H[g>>2]=H[g>>2]+e;if((b|0)!=(d|0)){continue}break}c=c-e|0;if(c){continue}break}}oa=f+256|0}function cd(a){a=a|0;var b=0,c=0,d=0,e=0;b=H[a+24>>2];if(b){c=H[a+28>>2];e=(c>>>0)/52|0;if(c>>>0>=52){while(1){c=H[b>>2];if(c){Da(c-1|0);H[b>>2]=0}c=H[b+4>>2];if(c){Da(c);H[b+4>>2]=0}c=H[b+8>>2];if(c){Da(c);H[b+8>>2]=0}b=b+52|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}b=H[a+24>>2]}Da(b);H[a+24>>2]=0}}function dd(a){a=a|0;var b=0,c=0,d=0,e=0;b=H[a+24>>2];if(b){c=H[a+28>>2];e=(c>>>0)/68|0;if(c>>>0>=68){while(1){c=H[b>>2];if(c){Da(c);H[b>>2]=0}c=H[b+4>>2];if(c){Da(c);H[b+4>>2]=0}Da(H[b+60>>2]);H[b+60>>2]=0;b=b+68|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}b=H[a+24>>2]}Da(b);H[a+24>>2]=0}}function id(a,b){a=a|0;b=b|0;var c=0,d=0;c=H[a+32>>2];b=H[a+28>>2];d=b+8|0;if(c>>>0>=d>>>0){while(1){qb(a,H[a+24>>2]+(b<<2)|0,H[a+20>>2],8);c=H[a+32>>2];b=d;d=b+8|0;if(c>>>0>=d>>>0){continue}break}}if(b>>>0>>0){qb(a,H[a+24>>2]+(b<<2)|0,H[a+20>>2],c-b|0)}Da(H[a>>2]);Da(a)}function cb(a,b,c){var d=0,e=0,f=0;a:{if(!b){d=a;e=b;break a}while(1){d=Ke(a,b,10,0);e=ra;a=Ie(d,e,246)+a|0;c=c-1|0;F[c|0]=a|48;f=b>>>0>9;a=d;b=e;if(f){continue}break}}if(d|e){while(1){c=c-1|0;a=(d>>>0)/10|0;F[c|0]=N(a,246)+d|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function Nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=oa-16|0;oa=e;a:{if(H[a+100>>2]){Ca(d,1,11302,0);a=0;break a}if((c|0)!=4){Ca(d,1,5991,0);a=0;break a}Ea(b,e+12|0,4);if(H[e+12>>2]!=218793738){Ca(d,1,5007,0);a=0;break a}H[a+100>>2]=H[a+100>>2]|1;a=1}oa=e+16|0;return a|0}function Ya(a,b,c){var d=0,e=0;a:{d=H[a>>2];e=H[a+4>>2];b:{if((d|0)!=(e|0)){e=H[a+8>>2];break b}d=e+10|0;H[a+4>>2]=d;e=Ia(H[a+8>>2],d<<2);if(!e){break a}H[a+8>>2]=e;d=H[a>>2]}H[(d<<2)+e>>2]=b;H[a>>2]=d+1;return 1}Da(H[a+8>>2]);H[a>>2]=0;H[a+4>>2]=0;Ca(c,1,6123,0);return 0}function Nc(a){var b=0,c=0,d=0;c=oa-16|0;oa=c;F[c+15|0]=10;b=H[a+16>>2];a:{if(!b){if(Kb(a)){break a}b=H[a+16>>2]}d=b;b=H[a+20>>2];if(!((d|0)==(b|0)|H[a+80>>2]==10)){H[a+20>>2]=b+1;F[b|0]=10;break a}if((sa[H[a+36>>2]](a,c+15|0,1)|0)!=1){break a}}oa=c+16|0}function Ec(a){var b=0,c=0,d=0,e=0,f=0;d=H[a>>2];b=F[d|0]-48|0;if(b>>>0>9){return 0}while(1){e=-1;if(c>>>0<=214748364){c=N(c,10);e=(c^2147483647)>>>0>>0?-1:c+b|0}b=d+1|0;H[a>>2]=b;f=F[d+1|0];c=e;d=b;b=f-48|0;if(b>>>0<10){continue}break}return c}function Bc(a,b){var c=0,d=0,e=0;x(+a);d=s(1)|0;e=s(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=Bc(a*0x10000000000000000,b);c=H[b>>2]+-64|0}H[b>>2]=c;return a}H[b>>2]=c-1022;u(0,e|0);u(1,d&-2146435073|1071644672);a=+w()}return a}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=O(0),f=0,g=0;d=oa-16|0;oa=d;if(c){while(1){Yc(a,d+12|0);e=L[d+12>>2];if(O(P(e))>2]=f;b=b+4|0;a=a+4|0;g=g+1|0;if((g|0)!=(c|0)){continue}break}}oa=d+16|0}function Va(a){var b=0,c=0,d=0;if(a){b=H[a+24>>2];if(b){c=H[a+16>>2];if(c){b=0;while(1){d=H[(H[a+24>>2]+N(b,52)|0)+44>>2];if(d){Da(d);c=H[a+16>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=H[a+24>>2]}Da(b)}b=H[a+28>>2];if(b){Da(b)}Da(a)}}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=oa-16|0;oa=d;if(c){while(1){Vb(a,d+8|0);e=M[d+8>>3];if(P(e)<2147483647){f=~~e}else{f=-2147483648}H[b>>2]=f;b=b+4|0;a=a+8|0;g=g+1|0;if((g|0)!=(c|0)){continue}break}}oa=d+16|0}function Bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=H[c+4>>2];e=H[c>>2]+H[c+8>>2]|0;if((d|0)==(e|0)){ra=-1;return-1}H[c+4>>2]=a+d;f=a;c=e-d|0;d=c;e=a>>>0>>0;a=c>>31;c=e&(a|0)>=(b|0)|(a|0)>(b|0);d=c?f:d;ra=c?b:a;return d|0}function Je(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=Ke(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;ra=(g^ra)-((a>>>0>>0)+g|0)|0;return b}function Xa(a){var b=0,c=0,d=0,e=0;if(a){b=H[a+20>>2];c=H[a+16>>2];if(N(b,c)){while(1){e=H[H[a+24>>2]+(d<<2)>>2];if(e){Da(e);c=H[a+16>>2];b=H[a+20>>2]}d=d+1|0;if(d>>>0>>0){continue}break}}Da(H[a+24>>2]);Da(a)}}function oc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(d){while(1){e=f<<2;g=e+a|0;h=c+e|0;i=H[h>>2];j=b+e|0;k=H[j>>2];e=H[g>>2]-(i+k>>2)|0;H[g>>2]=e+i;H[j>>2]=e;H[h>>2]=e+k;f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function fb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;H[a+48>>2]=0;H[a+36>>2]=H[a+32>>2];e=sa[H[a+28>>2]](b,c,H[a>>2])|0;d=H[a+68>>2];if(!e){H[a+68>>2]=d|4;return 0}H[a+56>>2]=b;H[a+60>>2]=c;H[a+68>>2]=d&-5;return 1}function Oa(a,b,c,d,e){var f=0;f=oa-256|0;oa=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;Oc(f,b,c?d:256);if(!c){while(1){Ma(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}Ma(a,f,d)}oa=f+256|0}function Ie(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=c>>>16|0;d=a>>>16|0;h=N(e,d);f=c&65535;a=a&65535;g=N(f,a);d=(g>>>16|0)+N(d,f)|0;a=(d&65535)+N(a,e)|0;ra=h+N(b,c)+(d>>>16)+(a>>>16)|0;return g&65535|a<<16}function Kb(a){var b=0;b=H[a+72>>2];H[a+72>>2]=b-1|b;b=H[a>>2];if(b&8){H[a>>2]=b|32;return-1}H[a+4>>2]=0;H[a+8>>2]=0;b=H[a+44>>2];H[a+28>>2]=b;H[a+20>>2]=b;H[a+16>>2]=b+H[a+48>>2];return 0}function tc(a){var b=0,c=0;a:{if(I[a+12|0]==255){H[a+12>>2]=65280;H[a+16>>2]=7;b=H[a+8>>2];c=0;if(b>>>0>=K[a+4>>2]){break a}H[a+8>>2]=b+1;H[a+12>>2]=I[b|0]|65280}H[a+16>>2]=0;c=1}return c}function Dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=H[c+4>>2];d=H[c>>2]+H[c+8>>2]|0;if((e|0)==(d|0)){return-1}d=d-e|0;b=b>>>0>d>>>0?d:b;if(b){B(a,e,b)}H[c+4>>2]=b+H[c+4>>2];return b|0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=oa-16|0;oa=d;if(c){while(1){Yc(a,d+12|0);L[b>>2]=L[d+12>>2];b=b+4|0;a=a+4|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}oa=d+16|0}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=oa-16|0;oa=d;if(c){while(1){Vb(a,d+8|0);L[b>>2]=M[d+8>>3];b=b+4|0;a=a+8|0;e=e+1|0;if((e|0)!=(c|0)){continue}break}}oa=d+16|0}function jd(a,b){a=a|0;b=b|0;b=H[a+28>>2];if(b>>>0>2]){while(1){lc(a,H[a+24>>2]+(N(H[a+20>>2],b)<<2)|0);b=b+1|0;if(b>>>0>2]){continue}break}}Da(H[a>>2]);Da(a)}function nd(a,b){a=a|0;b=+b;var c=0;ja(a|0,0)|0;a=(a|0)==2?27:(a|0)==1?26:14;a:{if(H[7170]>>>a-1&1){H[7202]=H[7202]|1<>2];if(c){sa[c|0](a)}}}function Tc(a,b){a=a|0;b=b|0;var c=0,d=0;c=H[a>>2];d=H[b>>2];a=H[a+4>>2];b=H[b+4>>2];return(c>>>0>d>>>0&(a|0)>=(b|0)|(a|0)>(b|0))-(c>>>0>>0&(a|0)<=(b|0)|(a|0)<(b|0))|0}function vd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=oa-16|0;oa=e;a=Hb(fa(H[a+60>>2],b|0,c|0,d&255,e+8|0)|0);oa=e+16|0;ra=a?-1:H[e+12>>2];return(a?-1:H[e+8>>2])|0}function yc(a,b,c,d){var e=0,f=0;e=oa-16|0;oa=e;if(c){while(1){Ea(a,e+12|0,d);L[b>>2]=K[e+12>>2];b=b+4|0;a=a+d|0;f=f+1|0;if((f|0)!=(c|0)){continue}break}}oa=e+16|0}function xc(a,b,c,d){var e=0,f=0;e=oa-16|0;oa=e;if(c){while(1){Ea(a,e+12|0,d);H[b>>2]=H[e+12>>2];b=b+4|0;a=a+d|0;f=f+1|0;if((f|0)!=(c|0)){continue}break}}oa=e+16|0}function Vb(a,b){F[b+7|0]=I[a|0];F[b+6|0]=I[a+1|0];F[b+5|0]=I[a+2|0];F[b+4|0]=I[a+3|0];F[b+3|0]=I[a+4|0];F[b+2|0]=I[a+5|0];F[b+1|0]=I[a+6|0];F[b|0]=I[a+7|0]}function Td(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(c){Ca(d,2,10224,0);if(!Nb(H[a>>2],b,c,d,e)){Ca(d,1,6210,0);return 0}a=Qc(a,c,d)}else{a=0}return a|0}function Sa(a){var b=0,c=0,d=0,e=0;b=H[a+12>>2];e=b;c=H[a+8>>2];if(!(b|c)){ra=0;return 0}d=H[a+56>>2];b=c-d|0;ra=e-(H[a+60>>2]+(c>>>0>>0)|0)|0;return b}function Xd(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return Za(H[a>>2],b,c,d,e,f,g,h,i,j,k)|0}function wc(a,b){var c=0;c=oa-16|0;oa=c;if(a){if(b&3){a=28}else{a=kb(b,a);H[c+12>>2]=a;a=a?0:48}a=a?0:H[c+12>>2]}else{a=0}oa=c+16|0;return a}function ed(a){a=a|0;var b=0;if(a){b=H[a+116>>2];if(b){Da(b);H[a+116>>2]=0}b=H[a+120>>2];if(b){Da(b);H[a+120>>2]=0}Da(H[a+148>>2]);Da(a)}} function vb(a,b){var c=0,d=0;a:{if(b>>>0<=31){d=H[a>>2];c=a+4|0;break a}b=b-32|0;c=a}c=H[c>>2];H[a>>2]=d<>2]=c<>>32-b}function xb(a,b){var c=0,d=0;c=H[a+4>>2];a:{if(b>>>0<=31){d=H[a>>2];break a}b=b-32|0;d=c;c=0}H[a+4>>2]=c>>>b;H[a>>2]=c<<32-b|d>>>b}function be(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!c){return 0}if(!Pb(H[a>>2],b,c,d)){Ca(d,1,6210,0);return 0}return Qc(a,c,d)|0}function pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(H[H[a+96>>2]+16>>2]<<2!=(c|0)){Ca(d,1,4464,0);a=0}else{a=1}return a|0}function vc(){var a=0,b=0;a=Fa(1,44);a:{if(a){H[a+16>>2]=0;b=Fa(1,8);H[a+36>>2]=b;if(b){break a}Da(a)}a=0}return a}function $b(a,b){a=a|0;b=b|0;if(!(!a|!b)){H[a+188>>2]=H[b+4>>2];H[a+184>>2]=H[b>>2];H[a+248>>2]=H[b+8248>>2]&2}}function tb(){var a=0,b=0;a=Fa(1,12);if(a){H[a+4>>2]=10;b=Fa(10,4);H[a+8>>2]=b;if(b){return a}Da(a)}return 0}function Ud(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Wb(H[a>>2],b,c,d,e,f,g)|0}function jb(a){var b=0;if(a){b=H[a+4>>2];if(b){sa[b|0](H[a>>2])}Da(H[a+32>>2]);H[a+32>>2]=0;Da(a)}}function _b(a,b){a=a|0;b=b|0;a:{if(!a){break a}H[a+208>>2]=b;if(!b){break a}F[a+92|0]=I[a+92|0]|8}}function Ad(a,b,c){a=a|0;b=b|0;c=c|0;b=H[c+8>>2];H[c+4>>2]=H[c>>2]+(a>>>0>b>>>0?b:a);return 1}function Wd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return gb(H[a>>2],b,c,d,e,f)|0}function te(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(c){a=1}else{Ca(d,1,4375,0);a=0}return a|0}function nb(a){H[a>>2]=0;H[a+4>>2]=0;H[a+16>>2]=0;H[a+20>>2]=0;H[a+8>>2]=0;H[a+12>>2]=0}function ad(a,b,c){a=a|0;b=b|0;c=c|0;return!H[a+8>>2]&(H[a+216>>2]!=0&H[a+220>>2]!=0)}function Ua(a){if(H[a+12>>2]){H[a+40>>2]=0;while(1){if(H[a+24>>2]>0){continue}break}}}function Yc(a,b){F[b+3|0]=I[a|0];F[b+2|0]=I[a+1|0];F[b+1|0]=I[a+2|0];F[b|0]=I[a+3|0]}function lb(a){if(a){sa[H[(H[a+76>>2]?20:16)+a>>2]](H[a+48>>2]);H[a+48>>2]=0;Da(a)}}function ae(a,b){a=a|0;b=b|0;$b(H[a>>2],b);F[a+124|0]=0;H[a+128>>2]=H[b+8248>>2]&1}function Fa(a,b){if(!a|!b){a=0}else{b=N(a,b);a=kb(8,b);if(a){Oc(a,0,b)}}return a}function Ha(a,b,c){var d=0;d=oa-16|0;oa=d;H[d+12>>2]=c;Gc(a,b,c,0,0);oa=d+16|0}function Me(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function bb(a){var b=0;if(a){b=H[a+12>>2];if(b){Da(b);H[a+12>>2]=0}Da(a)}}function Vd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Xb(H[a>>2],b,c,d)|0}function Pa(a,b,c){a:{if(H[c+76>>2]<0){a=Jb(a,b,c);break a}a=Jb(a,b,c)}}function Jc(a,b){a=Hc(a-1|0);if(!a){a=Hc(b);a=a?a|32:0}return a}function ac(a){return H[a+12>>2]==H[a+4>>2]|H[a+8>>2]==H[a>>2]}function Od(a,b,c){a=a|0;b=b|0;c=c|0;return Xc(H[a>>2],b,c)|0}function sb(a){var b=0;if(a){b=H[a+8>>2];if(b){Da(b)}Da(a)}}function Hc(a){var b=0,c=0,d=0;return b=He(a),c=0,d=a,d?b:c}function rd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ra=0;return 0}function ab(a,b,c,d,e,f,g,h){return mc(a,b,c,d,e,f,g,h,0)}function zc(a,b,c,d){return sa[H[a+44>>2]](a,b,c,d)|0}function _a(a,b,c){H[((b<<2)+a|0)+28>>2]=(c<<5)+20832}function Mb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 1}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;Tb(H[a>>2],b,c)}function ub(a,b,c){return sa[H[a+40>>2]](a,b,0,c)|0}function ne(a,b,c){a=a|0;b=b|0;c=c|0;ra=-1;return-1}function He(a){if(a){return 31-Q(a-1^a)|0}return 32}function Ra(a,b,c,d,e,f,g,h){mc(a,b,c,d,e,f,g,h,1)}function td(a){a=a|0;return Hb(Z(H[a+60>>2])|0)|0}function Hb(a){if(!a){return 0}H[6597]=a;return-1}function je(a,b,c){a=a|0;b=b|0;c=c|0;yc(a,b,c,2)}function ie(a,b,c){a=a|0;b=b|0;c=c|0;yc(a,b,c,4)}function fe(a,b,c){a=a|0;b=b|0;c=c|0;xc(a,b,c,2)}function ee(a,b,c){a=a|0;b=b|0;c=c|0;xc(a,b,c,4)}function Ma(a,b,c){if(!(I[a|0]&32)){Jb(b,c,a)}}function Le(a,b,c){Ge(a,0,b,c);ra=qa;return pa}function xe(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Zb(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function Ke(a,b,c,d){a=Ge(a,b,c,d);return a}function Ga(a){if(!a){return 0}return yb(a)}function Oc(a,b,c){if(c){y(a,b<<24>>24,c)}}function $d(a,b){a=a|0;b=b|0;_b(H[a>>2],b)}function uc(a){return H[a+8>>2]-H[a>>2]|0}function ld(a){a=a|0;ha();ga(a+128|0);D()}function Rd(a){a=a|0;return Qb(H[a>>2])|0}function Pd(a){a=a|0;return Rb(H[a>>2])|0}function yb(a){a=a|0;return kb(8,a)|0}function bd(a,b){a=a|0;b=b|0;return 0}function xd(a,b){a=a|0;b=b|0;$(a|0)}function wd(a,b){a=a|0;b=b|0;Y(a|0)}function Fb(a){return H[a+28>>2]!=2}function eb(a,b,c){if(c){B(a,b,c)}}function db(a,b){return Tc(a,b)}function rb(a){return wc(a,32)}function Ja(a){return wc(a,16)}function zb(){return Fa(1,36)}function sd(a){a=a|0;return 0}function md(a){a=a|0;Ac();D()}function cc(a,b){a=a|0;b=b|0}function hb(a){if(a){Da(a)}}function Qa(a){H[a>>2]=0}function kd(){Ac();D()}function Ac(){ia();D()} // EMSCRIPTEN_END_FUNCS a=I;m(n);var sa=[null,cc,xe,ne,Uc,Uc,fb,Qd,Fd,zd,jd,id,hd,gd,fd,ed,dd,cd,Zb,ad,$c,_c,Zc,Tc,Ee,De,Ce,Be,Ae,ze,ye,we,ve,ue,te,se,re,qe,pe,Mb,oe,me,Mb,Mb,le,ke,je,ie,he,ge,fe,ee,de,ce,Zd,Nd,Md,Ld,Kd,Jd,Id,Hd,Gd,Ed,Dd,Cd,Bd,Ad,Qb,Rb,Tb,Zb,Pb,_b,$b,Bb,Yb,bd,Xb,Xc,Nb,Wb,gb,Za,Rd,Pd,Sd,_d,be,bd,Vd,Od,Td,Ud,$d,ae,Pc,Wd,Xd,Yd,cc,xd,wd,od,qd,pd,kd,td,ud,vd,sd,rd,ld,md];function ta(){return E.byteLength/65536|0}function ya(za){za=za|0;var ua=ta()|0;var va=ua+za|0;if(ua{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})})}wasmBinaryFile??=findWasmBinary();var result=instantiateSync(wasmBinaryFile,info);return receiveInstance(result[0])}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};function _copy_pixels_1(compG_ptr,nb_pixels){compG_ptr>>=2;const imageData=Module.imageData=new Uint8ClampedArray(nb_pixels);const compG=HEAP32.subarray(compG_ptr,compG_ptr+nb_pixels);imageData.set(compG)}function _copy_pixels_3(compR_ptr,compG_ptr,compB_ptr,nb_pixels){compR_ptr>>=2;compG_ptr>>=2;compB_ptr>>=2;const imageData=Module.imageData=new Uint8ClampedArray(nb_pixels*3);const compR=HEAP32.subarray(compR_ptr,compR_ptr+nb_pixels);const compG=HEAP32.subarray(compG_ptr,compG_ptr+nb_pixels);const compB=HEAP32.subarray(compB_ptr,compB_ptr+nb_pixels);for(let i=0;i>=2;compG_ptr>>=2;compB_ptr>>=2;compA_ptr>>=2;const imageData=Module.imageData=new Uint8ClampedArray(nb_pixels*4);const compR=HEAP32.subarray(compR_ptr,compR_ptr+nb_pixels);const compG=HEAP32.subarray(compG_ptr,compG_ptr+nb_pixels);const compB=HEAP32.subarray(compB_ptr,compB_ptr+nb_pixels);const compA=HEAP32.subarray(compA_ptr,compA_ptr+nb_pixels);for(let i=0;i2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var _fd_close=fd=>52;var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);return 70}var printCharBuffers=[null,[],[]];var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer));buffer.length=0}else{buffer.push(curr)}};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0};function _gray_to_rgba(compG_ptr,nb_pixels){compG_ptr>>=2;const imageData=Module.imageData=new Uint8ClampedArray(nb_pixels*4);const compG=HEAP32.subarray(compG_ptr,compG_ptr+nb_pixels);for(let i=0;i>=2;compA_ptr>>=2;const imageData=Module.imageData=new Uint8ClampedArray(nb_pixels*4);const compG=HEAP32.subarray(compG_ptr,compG_ptr+nb_pixels);const compA=HEAP32.subarray(compA_ptr,compA_ptr+nb_pixels);for(let i=0;i>=2;compG_ptr>>=2;compB_ptr>>=2;const imageData=Module.imageData=new Uint8ClampedArray(nb_pixels*4);const compR=HEAP32.subarray(compR_ptr,compR_ptr+nb_pixels);const compG=HEAP32.subarray(compG_ptr,compG_ptr+nb_pixels);const compB=HEAP32.subarray(compB_ptr,compB_ptr+nb_pixels);for(let i=0;i{HEAP8.set(array,buffer)};{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"]}Module["writeArrayToMemory"]=writeArrayToMemory;var wasmImports={m:__abort_js,l:__emscripten_runtime_keepalive_clear,n:__setitimer_js,g:_copy_pixels_1,f:_copy_pixels_3,e:_copy_pixels_4,o:_emscripten_resize_heap,p:_environ_get,q:_environ_sizes_get,b:_fd_close,j:_fd_seek,c:_fd_write,r:_gray_to_rgba,i:_graya_to_rgba,d:_jsPrintWarning,k:_proc_exit,h:_rgb_to_rgba,a:_storeErrorMessage};var wasmExports=createWasm();var ___wasm_call_ctors=wasmExports["t"];var _malloc=Module["_malloc"]=wasmExports["u"];var _free=Module["_free"]=wasmExports["v"];var _jp2_decode=Module["_jp2_decode"]=wasmExports["w"];var __emscripten_timeout=wasmExports["x"];var dynCall_iji=Module["dynCall_iji"]=wasmExports["dynCall_iji"];var dynCall_jji=Module["dynCall_jji"]=wasmExports["dynCall_jji"];var dynCall_iiji=Module["dynCall_iiji"]=wasmExports["dynCall_iiji"];var dynCall_jiji=Module["dynCall_jiji"]=wasmExports["dynCall_jiji"];function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}preInit();run();moduleRtn=Module; return moduleRtn; } ); })(); export default OpenJPEG; asmg`````````````}`|`}}}`|||wbg!__wbg_copyresult_b08ee7d273f295ddwbg__wbg_copyrgb_d60ce17bb05d9b67wbg!__wbg_makecssRGB_893bf0cd9fdb302dwbg__wbindgen_throwwbg__wbindgen_init_externref_table        p<  ̧$ ~#Ak"$@@@@@@ AO@A A{K  A j"Axq!Aij(" E A!A k! AM@ A Avg"kvAq AtkA>j! AtAj("E@A!  A! A AvkA AGt!@@ (Axq" I  k" O ! " A! !  ("   AvAqj("G ! At!   A("A A jAq A I"Av"v"Aq@@ AsAq j"At"Aj" Aj("("G@  6  6  A A~ wq6  Ar6 j" (Ar6 Aj  Aȳ(M @@ E@Aij("E  hAtAj("(Axq k! !@@ (" (" (!@@  ( "F@ AA ("j(" A!  (" 6 6  Aj Aj !@ ! "Aj Aj ("! AA j(" A6 E @ (AtAj"( G@  (G@  6    6    6 E  6 ("@ 6  6 ("E  6  6  (Axq k"   I"!  ! ! @A t"A kr  tqh"At"Aj" Aj("("G@  6  6  A A~ wq6 Ar6 j"  k"Ar6 j 6Aȳ("@ AxqAj!Aг(!A("A Avt"qE@A  r6   ( !  6  6  6  6 Aг 6Aȳ 6 Aj  AijAij(A~ (wq6 @@ AO@  Ar6  j" Ar6  j 6Aȳ("E  AxqAj!Aг(!A("A Avt"qE@A  r6  ( ! 6  6  6  6    j"Ar6 j" (Ar6  Aг 6Aȳ 6 Aj  rE@A!A t"A kr q"E  hAtAj(! E  @  (Axq" k" I"! ("E@ (!   I"!     ! " E Aȳ("M  kOq (!@@  ( "F@ AA ("j(" A!  (" 6 6  Aj Aj !@ ! "Aj Aj ("! AA j(" A6 E @ (AtAj"( G@  (G@  6    6    6 E  6 ("@ 6  6 ("E  6  6  @@@@@ Aȳ("K@ A̳("O@ AjA|q"Av@! Aj"A6 A A|q AF"6 A At 6A ("E  ( !Aس ("Aس(j"6Aܳ Aܳ(" K6@@AԳ("@A!@  (" ("jF  ("  A("A ME@A 6 AA6A 6A 6A 6AıA6A̱A6AA6AԱAȱ6AȱA6AܱAб6AбAȱ6AAر6AرAб6AA6AAر6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AIJA6A̲A6AA6AԲAȲ6AȲA6AܲAв6AвAȲ6AAز6AزAв6AA6AAز6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AA6AԳ AjAxq"Ak"6AA6A̳ A(k"  kjAj"6  Ar6  jA(6AA6   I  Mr ( "Aq Av F  AA("  I6  j!A!@@@  ("G@ ("   ( "Aq Av F  A!@@  ("O@   (j"I  (!  AԳ AjAxq"Ak"6A̳ A(k"  kjAj"6  Ar6  jA(6AA6  A kAxqAk" AjI"A6A)! AjA)7  7A 6A 6A 6A Aj6 Aj!@ A6 Aj" I  F   (A~q6   k"Ar6  6 AO@  ;  AqAj!A("A Avt"qE@A r6   ( !  6 6  6  6  6 ( j6 AjAxqAk" Ar6 AjAxqAk"  j"k! AԳ(F  Aг(F  ("AqAF@  Axq"7  j!  j"(!  A~q6 Ar6 j 6 AO@ ;  AqAj!A("A Avt"qE@A  r6   ( !  6  6 6 6  A̳ k"6AԳAԳ(" j"6  Ar6 Ar6 Aj  Aг(!@  k"AM@AгA6AȳA6 Ar6 j" (Ar6  Aȳ 6Aг j"6  Ar6 j 6 Ar6 Aj   j6AԳAԳ("AjAxq"Ak"6A̳A̳( j" kjAj"6  Ar6 jA(6AA6  AԳ 6A̳A̳( j"6 Ar6  Aг 6AȳAȳ( j"6 Ar6 j 6 Aj  AA̳(" M A̳ k"6AԳAԳ(" j"6  Ar6 Ar6 Aj  AijAij(A~ (wq6 @ AO@  Ar6  j" Ar6 j 6 AO@ ;  AqAj!A("A Avt"qE@A  r6   ( !  6  6 6 6    j"Ar6 j" (Ar6 Aj Aj$ }#A0k"$@ (" AjI@ A6 A6 A:  (" j(" At AqAtr AvAq Avrr"AG AGq   Aj"M@ A6 A6 A:A   j- Aq"A K  A j"M@ A6 A6 A:A   j- "A Kr AG AGrr  Aj"A{M A j MqE@ A6 A6 A:A   j("At AqAtr AvAq Avrr !  Aj"A{M  MqE@ A6 A6 A:A   j("At AqAtr AvAq Avrr ! Aj" A{M  MqE@ A6 A6 A:A   j("At AqAtr AvAq Avrr ! Aj" A{M  OqE@ A6 A6 A:A   j("At AqAtr AvAq Avrr ! A j"A{M  OqE@ A6 A6 A:A   j("At AqAtr AvAq Avrr ! A  jA " E @  K@  j-"  A 6 A6A! A:   Aj"M@ A6 A6 A:A   j- l"E@ A 6 A6 A:   Aj"M@ A6 A6 A:A   j- l"E@ A 6 A6 A:A  A! A K  Al ! Aj"B7 B7A-@AAx"@ Ax6 Aj" )7 A j Aj)7 Aj )7 Aj" AA  j!  jA ! E  (!@@ (" M@ A:    j-":   A6 A6 A: @@  Aj"M@ A:    j-":   A6 A6 A: @  Aj"M@ A:    j-":   A6 A6 A:  AA A;  A턅F: @ (!  A{M Aj" ("MqE@ A6 A6 A:A   j("At AqAtr AvAq Avrr 6  A{M Aj" MqE@ A6 A6 A:A   j("At AqAtr AvAq Avrr 6  A{M A j" MqE@ A6 A6 A:A   j("At AqAtr AvAq Avrr 6$  A{M Aj" MqE@ A6 A6 A:A  j("At AqAtr AvAq Avrr 6,  A{M Aj" MqE@ A6 A6 A:A   j("At AqAtr AvAq Avrr 60  A{M Aj" MqE@ A6 A6 A:A  j("At AqAtr AvAq Avrr 64  A{M Aj" MqE@ A6 A6 A:A   j("At AqAtr AvAq Avrr 6<  A{M A j" MqE@ A6 A6 A:A  j("At AqAtr AvAq Avrr 6@  A{M A$j" MqE@ A6 A6 A:A   j("At AqAtr AvAq Avrr 6D  A{M A(j" MqE@ A6 A6 A:A  j("At AqAtr AvAq Avrr 6(  A{M A,j" MqE@ A6 A6 A:A   j("At AqAtr AvAq Avrr 68  A{M A0j MqE@ A6 A6 A:A  j("At AqAtr AvAq Avrr 6H Aj! A "@  2 Aj!  jA "@  2 Aj! @  jA "E@ A6 A6 A:  2 @ E  Aj" (O@ A6 A6 A:A  ( j- !@@@@ E@A!  A- At" Ax"E  A6,  6(  6$@ AqAk @ Aj! A!A!@}@ Atj" A}M@ ( AjO  A6 A6 A:C  ( j/" At AvrAq ! ($ F@ A$jAěM (( Atj CG8  Aj"6,  F Aj!E Aj" A,j(6  )$7 ("AxrAxG@ ( AtA  )7 Aj (6  A Ar A6 Aԛ6 A: E   AtA  @ Aj! A!A!@}  j" (O@ A6 A6 A:C  ( j- ! ($ F@ A$jAM (( Atj CC8  Aj"6,  F Aj!E Aj" A,j(6  )$7 ("AxrAxG@ ( AtA  )7 Aj (6 - ("AxF ErE@ ( AtA    AAA! A0j$   #Ak"$ A6 B7 @@@@@@ (0"AG A˲Gq A6 B7@@@@@@@@@@@@@@@@@ (l"@ -LAF@ A6, B7$A-AAx"E  A;` Ax6T Ax6H Ax6< Ax60 Ax6$ Ax6 Ax6 Ax6 (" /H"I  (! At! @ E@A!  A- Ax" E  E"E@ (" AxF ErE@ ( AtA  6  6  6 At" K @ E@A!  A- Ax" E  E@ Atj ( "AxF ErE@ ( AtA  6  6  6 Al" K @ E@A!  A- Ax" E  E@ Atj (" AxF ErE@ ( AtA  6  6  6 K @ E@A!  A- Ax" E  E@ Atj ($" AxF ErE@ (( AtA  6,  6(  6$  -M -N" l" ll" 60  ("64  G  At! (!  E@A!A  A- Ax"E ! @  (0" AxF ErE@ (4 AtA  ;`  68  64  60 ( " /J" I (! At! @ E@A!  A- Ax"E  E"E@  (<"AxF ErE@ (@ AtA  6D  6@  6< At" K @ E@A!  A- Ax"E  E@  Atj (H"AxF ErE@ (L AtA  6P  6L  6H Al" K @ E@A!  A- Ax"E  E@  Atj (T"AxF ErE@ (X AtA  6\  6X  6T A$jAܓN ((" 6 A̓6 ($! ((!A  A8j  (j "6 AtAj!A t"Aij(qE@  6 6 6 6AijAij( r6 @@  ("(AxqF@ !  A AvkA AGt!@  AvAqj"("E  At! ! (Axq G (" 6  6 A6 6 6 Aj 6 6 6 6 }| An" An" I"@@ Aj*C?! Aj*D?De?} *D?D?"C<_E@ C>  Ch/@C= > !!} C<_E@ C>  Ch/@C= > !} C<_E@ C>  Ch/@C= > !  CBCCB8 Aj  CHCCCCC8 Aj  CCCCCC8 A j! A j! Ak"  } An" An"  I"@ * ! *! *! *! *! * ! *! *! *!@ AjC? *" Aj*" Aj*""C C` C?^8 AjC?    "C C` C?^8 C?      "C C` C?^8 A j! A j! Ak" #Ak"$ (!@ ("AqE@ A q  ( 6  (!A!@  jAj Aq"A0r Aj A I: Ak! AK Av! AA  jAjA k%  (!A!@  jAj Aq"A0r A7j A I: Ak! AK Av! AA  jAjA k% Aj$ ~#A k"$@@   j"K A  ("At"  K" AM"B"B PE "AK    At6  (6AA 6 AjA  AjQ (AG  (! ( !  Ar ( ! 6 6 A j$ ~#A@j"$ (AxF@ ( ! A$j"A6 B7 A0j ("Aj)7 A8j Aj)7  )7( AjA A(j- Aj ("6  )"7 Aj 6  7 )! B7 Aj" Aj"(6 A6A-  7A Ax"E@AA   )7 Aj (6 A6 6 A@k$  ("AxF ErE@ ( AtA ( "AxF ErE@ ( AtA ("AxF ErE@ ( AtA ($"AxF ErE@ (( AtA (0"AxF ErE@ (4 AtA (<"AxF ErE@ (@ AtA (H"AxF ErE@ (L AtA (T"AxF ErE@ (X AtA }@@ ("@ ("E @ ("@ (P"E  @ Aj! Aj! Aj!@A  -Atj*CE" A C` CG^"A?K  Aj-!  j-: Aj j-: j-! Aj : Aj : Aj! Aj! Ak"  A Aȃ A A AA؃Y }@@ ("@ ("E @ ("@ (P"E  @ Aj! Aj! Aj!@A  -Atj*CE" A C` CG^"A?K  Aj-! Aj j-: Aj j-: j-! Aj :  : Aj! Aj! Ak"  A Aȃ A A AA؃Y ~#A k"$@@   j"K@A!  A!A  ("At"  K" AM""B PE "AK    6  (6AA 6 AjA  AjQ (AG  (! ( !  Ar ( ! 6 6 A j$ }@@ ("@ ("E @ ("@ (P"E  @ Aj! Aj! Aj!@A  -Atj*CE"A C` CG^"A?K   j-: Aj j-: j-! AjA: Aj : Aj! Aj! Ak"  A Aȃ A A AA؃Y }@@ ("@ ("E @ ("@ (P"E  @ Aj! Aj! Aj!@A  -Atj*CE"A C` CG^"A?K  Aj j-: Aj j-: j-! AjA:  : Aj! Aj! Ak"  A Aȃ A A AA؃Y } An" An" I"@@ Aj *CBCACB"C= C'>    CS>_C?8 Aj  Aj*CCCÒC ף"C= C'>    CS>_C,S?C?8   Aj*CCCÒCo;"C= C'>    CS>_Cv?C?8 A j! A j! Ak" }@@ ("@ ("E @ ("@ (P"E  @ Aj! Aj! Aj!@A  -Atj*CE"A C` CG^"A?K   j-: Aj j-: Aj j-: Aj! Aj! Ak"  A Aȃ A A AA؃Y  ("AxF ErE@ ( AtA ( "AxF ErE@ ( AtA ("AxF ErE@ ( AtA ($"AxF ErE@ (( AtA (0"AxF ErE@ (4 AtA (<"AxF ErE@ (@ AtA (H"AxF ErE@ (L AtA }@ (0AG (l (p (t (x A! (8C7 (PC7 (DC7"C ףCv?_E C ף7 Aj" Aj"8 (E Aj Aj(6 Aj Aj)7 Aj Aj)7 Aj Aj)7  )7 A6 B7 A6 B7 C}Q?D?    "'CɃ?   "&CU= "%CI8 C|? 'CR= %CS? &C @8 C? %Ce> &CF%e? 'C F%8 Aj"  1 Aj Aj 1 Aj Aj)7 Aj Aj)7 Aj Aj)7 Aj Aj(6  )T7x E A,j Aj Aj1 *4!( *@!) *L!* *,!+ *8!, *D!' *0!& *@ A O@  4   "E Ak-AqE Er A  " Bͅ7 BŹ7 ! B߅'7 Bá7  A6 6   ( (v  (! (!@@ "(" AqE @@ AqE@ AI   !  @@ /"E@A!   j!A! ! !@ " F  Aj ,"AN  Aj A`I  Aj ApI  Aj " k j! Ak" A!  k!  E@A!  Aq! AO@ A q!@   j",AJj Aj,AJj Aj,AJj Aj,AJj! Aj"G E  j!@  ,AJj! Aj! Ak"  / "O k!A!A!@@@ AvAqAk !  AqAv! Aq! (! (!@ Aq AqI@A! Aj!   (E   A!    (  A!  kAq!@ Aq" I!  O  Aj!   (E  (   (( !  ( ( - _@@ Ak("Axq"AA Aq" jO@ A  A'jK  )  AA.Ac AA.Ac j#A0k"$  6  6 A6 Aخ6 B7  AjB7(  B7  A j6 Aj l j#A0k"$  6  6 A6 A6 B7  AjB7(  B7  A j6 Aj l ( 6 AA+ c AA A - )7  A("A%  AA: A6 }}C?!@@@ "AF "Aq"E @ " "AK AKrE@ AN A AK  AI A A Avk"v" t G A Aqk    A !@@@@ AG@ AG @@ AJ AHkAq C  AN C AN  AH   @ AG@ AG   AN  @@@@ A AqAGE@C? AH! AN   jAG   " C?! AN     AF "  C! AM@ CK  AI""Aq"Ar! AuA~A j!A!@ AI AI@A!  Ar! Aj! At"Aj*C? Aj*" " " " AvAq AtjAj" " A`q" "  " C@@  " CBS>CU2l>C>C>Cm>C?" A`q" C@ "  "A`q" CO8v? C#" Aj*"  C@v?" " A`q" !  AO@ AM@ C"Cp6 C? CC>C;"  C?"A`q" !  AL   AN   C?   @@ A`q" "    """AL@ AF  Aq"AؘK   _E Aؘ|Gr    C<83  ^  Aq! A! } AKAA AvAjv j"AqArA Av"kv"k  AH! A| Aju q"   A~q"Cr1?" C5  Cr1?" " "    CL13CݵCU8Ca 6C*>" C " C?" Atj"AN@   @@@ AL@ AN  C ! A~M  Aj!  C! AK  Ak!  C !A}  A}MAj!  C!A  AOAk! AtAjAq !   CIqCIq  C`B C`B  |~|D?! @@@ "B "Aq" "rE "" E B "BQq @@@@@@@@ "Aq"AK @ AF@ AKr   AO  AG   Ak rE  AK D  BY  BS    AF   D BY  A!@@ AK A! AI Av! AM@   A k"v" t G A Aqk!  A k"v" t G A Aqk!      AG  BS   AG@ AG   BS   D?  ! @@ AH@ AxF A{Fr  A@G   E AFr AFr  D?!@ BY @@  "  D! @ AM@ D@C" AI"! B  "A?q"Ar! AuAwAx j!A!@ AI A.I@A!  Ar! Aj! At"Aȯj+D? Aj+" B B " " " At AvjAjB " " Bp"  " " D@ " DNEJ(~?DeɓJ?DA`t?DM&QUU?Do۶m?D33333?"Bp"  D " " Bp" D: ? D[/>" Aدj+" D ?" " Bp" !  @@ AM@ AI  AK  D"DD] T> D? DпDUUUUUU?D+eG" D`G?" Bp" !  DD BS AM DD AJ  AL   BY   Bp" "   """!@ B "AL@ AqAÄM  Aj r   eE   Ak r  D+eG<  dE  A! | AqAK~AA AvAjv j"A?qArA Av"kv"k  BS! A@ Aju qB "   Bp"DC.?"  D9B.? D9l a\ " " "    DФri7f>DkAD,%jV?DlfD>UUUUU?" D " D?""B Atj"AN@ B B  @@@ AL@ AxN  D`! ApM  Aj!  D! AK  Ak!  D`!Ah  AhMAj!  D!A  AOAk! AjB4 !  D? BS! BY  AkrE@ "  AF   DYnDYn  Du<7~Du<7~  Aj("(0"@ AA (4"@ AA (8"@ AA (@"AxF ErE@ (D AtA (P"@ AA (d"AxF ErE@ (h AtA (p"AxF ErE@ (t AtA (|"AxF ErE@ ( AtA ("AxF ErE@ ( AtA @ ("E  ("Ak6 AG Ajj @ ("E  ("Ak6 AG Ajj @ ("E  ("Ak6 AG Ajj AA AA  5 /A src/lib.rs invalid enum value passedLazy instance has previously been poisoned5*/usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/once_cell-1.21.3/src/lib.rshZreentrant inithZz /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/qcms-0.3.0/src/transform.rsZLZ7Z7Z7ZCZCZCZ Z!Z6CZ7CZ8CZ9IZ:IZ;IZW!ZX!ZY!Z,Z,assertion failed: (*transform).clut.as_ref().unwrap().len() >= ((transform.grid_size as i32).pow(4) * 3) as usizeZZ IZ IZ IZ$7Z(6Z,6Z'Z4Z)Z4Z(Z4ZZZZZZZZZZZnon-null function pointerincomplete pixels: should be a multiple of got +Z Z#Z  Z /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/alloc/src/slice.rshJ/usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/qcms-0.3.0/src/chain.rsV+V,V3V3V+VDVDVDV,VUVUVUV3V3V()V0DV1DV2DV3DVcUVeUVgUV*1V)1V- VDVDVDVVVVVV$VwV| VV0VV$VV!VVV V"VVXVVV V V VVV V  d V V%V7VCVGVgVs!$"VyA #VA $V/rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/alloc/src/slice.rs J/usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/qcms-0.3.0/src/iccread.rsInvalid offsetInvalid reserved bytesInvalid Profile/Device Class signatureUnsupported colorspace XTtag points beyond the end of the buffer X[unexpected type, expected 'sf32' X unexpected type, expected XYZmissing xyztag X X$ parametricCurve definition causes division by zero Xparametric function type not supported. X Xcurve size too largeunexpected type, expected CURV or PARAmissing curvetaginvalid nested curveType curveB curves required X X XInvalid clut precisionbad grid_pointsbad clut_sizeUnexpected lut typeBad channel countCLUT must not be empty.CLUT too large X X- X@  XH XC X5 X0 X# XCLUT size overflowCLUT only supports RGB and CMYKunknown rendering intent X X X /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/qcms-0.3.0/src/transform_util.rs\_G\_H \_W\_X \_i \_j \_x\_y \_~\_\_\_\_\_\_\_\_\_\_\_\_explicit panic\_\_] \_g \_y\_\_\_\_\_\_ \_\_\_\_/rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/alloc/src/slice.rsJ/rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/alloc/src/raw_vec/mod.rsXP./rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/alloc/src/string.rsK}/rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/alloc/src/raw_vec/mod.rsP.& '()/rust/deps/dlmalloc-0.2.7/src/dlmalloc.rsassertion failed: psize >= size + min_overhead) assertion failed: psize <= size + max_overhead) memory allocation of bytes failed4I library/std/src/alloc.rshd & *+,-./012345674capacity overflowcalled `Option::unwrap()` on a `None` valueindex out of bounds: the len is but the index is S s;==!=matchesassertion `left right` failed left: right:  right` failed: left:    0x00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899attempt to divide by zerorange start index out of range for slice of length $6"range end index h6"??5???CL>A @?A p producerslanguageRust processed-byrustc1.87.0 (17067e9ac 2025-05-09)walrus0.23.3 wasm-bindgen0.2.100ktarget_features+mutable-globals+nontrapping-fptoint+ bulk-memory+sign-ext+reference-types+ multivaluevar wf=Object.defineProperty,Sf=Object.defineProperties;var Cf=Object.getOwnPropertyDescriptors;var mr=Object.getOwnPropertySymbols;var bl=Object.prototype.hasOwnProperty,El=Object.prototype.propertyIsEnumerable;var Tl=(_,ct,xt)=>ct in _?wf(_,ct,{enumerable:!0,configurable:!0,writable:!0,value:xt}):_[ct]=xt,St=(_,ct)=>{for(var xt in ct||(ct={}))bl.call(ct,xt)&&Tl(_,xt,ct[xt]);if(mr)for(var xt of mr(ct))El.call(ct,xt)&&Tl(_,xt,ct[xt]);return _},li=(_,ct)=>Sf(_,Cf(ct));var mo=(_,ct)=>{var xt={};for(var Bt in _)bl.call(_,Bt)&&ct.indexOf(Bt)<0&&(xt[Bt]=_[Bt]);if(_!=null&&mr)for(var Bt of mr(_))ct.indexOf(Bt)<0&&El.call(_,Bt)&&(xt[Bt]=_[Bt]);return xt};/*! * pixi.js-legacy - v7.2.4 * Compiled Tue, 09 May 2023 00:59:18 UTC * * pixi.js-legacy is licensed under the MIT License. * http://www.opensource.org/licenses/mit-license */var PIXI=function(_){var yl;"use strict";var ct=(e=>(e[e.WEBGL_LEGACY=0]="WEBGL_LEGACY",e[e.WEBGL=1]="WEBGL",e[e.WEBGL2=2]="WEBGL2",e))(ct||{}),xt=(e=>(e[e.UNKNOWN=0]="UNKNOWN",e[e.WEBGL=1]="WEBGL",e[e.CANVAS=2]="CANVAS",e))(xt||{}),Bt=(e=>(e[e.COLOR=16384]="COLOR",e[e.DEPTH=256]="DEPTH",e[e.STENCIL=1024]="STENCIL",e))(Bt||{}),C=(e=>(e[e.NORMAL=0]="NORMAL",e[e.ADD=1]="ADD",e[e.MULTIPLY=2]="MULTIPLY",e[e.SCREEN=3]="SCREEN",e[e.OVERLAY=4]="OVERLAY",e[e.DARKEN=5]="DARKEN",e[e.LIGHTEN=6]="LIGHTEN",e[e.COLOR_DODGE=7]="COLOR_DODGE",e[e.COLOR_BURN=8]="COLOR_BURN",e[e.HARD_LIGHT=9]="HARD_LIGHT",e[e.SOFT_LIGHT=10]="SOFT_LIGHT",e[e.DIFFERENCE=11]="DIFFERENCE",e[e.EXCLUSION=12]="EXCLUSION",e[e.HUE=13]="HUE",e[e.SATURATION=14]="SATURATION",e[e.COLOR=15]="COLOR",e[e.LUMINOSITY=16]="LUMINOSITY",e[e.NORMAL_NPM=17]="NORMAL_NPM",e[e.ADD_NPM=18]="ADD_NPM",e[e.SCREEN_NPM=19]="SCREEN_NPM",e[e.NONE=20]="NONE",e[e.SRC_OVER=0]="SRC_OVER",e[e.SRC_IN=21]="SRC_IN",e[e.SRC_OUT=22]="SRC_OUT",e[e.SRC_ATOP=23]="SRC_ATOP",e[e.DST_OVER=24]="DST_OVER",e[e.DST_IN=25]="DST_IN",e[e.DST_OUT=26]="DST_OUT",e[e.DST_ATOP=27]="DST_ATOP",e[e.ERASE=26]="ERASE",e[e.SUBTRACT=28]="SUBTRACT",e[e.XOR=29]="XOR",e))(C||{}),Ut=(e=>(e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN",e))(Ut||{}),B=(e=>(e[e.RGBA=6408]="RGBA",e[e.RGB=6407]="RGB",e[e.RG=33319]="RG",e[e.RED=6403]="RED",e[e.RGBA_INTEGER=36249]="RGBA_INTEGER",e[e.RGB_INTEGER=36248]="RGB_INTEGER",e[e.RG_INTEGER=33320]="RG_INTEGER",e[e.RED_INTEGER=36244]="RED_INTEGER",e[e.ALPHA=6406]="ALPHA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",e[e.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",e[e.DEPTH_STENCIL=34041]="DEPTH_STENCIL",e))(B||{}),Be=(e=>(e[e.TEXTURE_2D=3553]="TEXTURE_2D",e[e.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",e[e.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",e[e.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",e[e.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",e[e.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",e[e.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",e))(Be||{}),H=(e=>(e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",e[e.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",e[e.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",e[e.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",e[e.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",e[e.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",e[e.BYTE=5120]="BYTE",e[e.SHORT=5122]="SHORT",e[e.INT=5124]="INT",e[e.FLOAT=5126]="FLOAT",e[e.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",e[e.HALF_FLOAT=36193]="HALF_FLOAT",e))(H||{}),ci=(e=>(e[e.FLOAT=0]="FLOAT",e[e.INT=1]="INT",e[e.UINT=2]="UINT",e))(ci||{}),kt=(e=>(e[e.NEAREST=0]="NEAREST",e[e.LINEAR=1]="LINEAR",e))(kt||{}),ae=(e=>(e[e.CLAMP=33071]="CLAMP",e[e.REPEAT=10497]="REPEAT",e[e.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",e))(ae||{}),Kt=(e=>(e[e.OFF=0]="OFF",e[e.POW2=1]="POW2",e[e.ON=2]="ON",e[e.ON_MANUAL=3]="ON_MANUAL",e))(Kt||{}),Gt=(e=>(e[e.NPM=0]="NPM",e[e.UNPACK=1]="UNPACK",e[e.PMA=2]="PMA",e[e.NO_PREMULTIPLIED_ALPHA=0]="NO_PREMULTIPLIED_ALPHA",e[e.PREMULTIPLY_ON_UPLOAD=1]="PREMULTIPLY_ON_UPLOAD",e[e.PREMULTIPLIED_ALPHA=2]="PREMULTIPLIED_ALPHA",e))(Gt||{}),Zt=(e=>(e[e.NO=0]="NO",e[e.YES=1]="YES",e[e.AUTO=2]="AUTO",e[e.BLEND=0]="BLEND",e[e.CLEAR=1]="CLEAR",e[e.BLIT=2]="BLIT",e))(Zt||{}),ui=(e=>(e[e.AUTO=0]="AUTO",e[e.MANUAL=1]="MANUAL",e))(ui||{}),Nt=(e=>(e.LOW="lowp",e.MEDIUM="mediump",e.HIGH="highp",e))(Nt||{}),_t=(e=>(e[e.NONE=0]="NONE",e[e.SCISSOR=1]="SCISSOR",e[e.STENCIL=2]="STENCIL",e[e.SPRITE=3]="SPRITE",e[e.COLOR=4]="COLOR",e))(_t||{}),go=(e=>(e[e.RED=1]="RED",e[e.GREEN=2]="GREEN",e[e.BLUE=4]="BLUE",e[e.ALPHA=8]="ALPHA",e))(go||{}),pt=(e=>(e[e.NONE=0]="NONE",e[e.LOW=2]="LOW",e[e.MEDIUM=4]="MEDIUM",e[e.HIGH=8]="HIGH",e))(pt||{}),Jt=(e=>(e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",e))(Jt||{});const _o={createCanvas:(e,t)=>{const s=document.createElement("canvas");return s.width=e,s.height=t,s},getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>{var e;return(e=document.baseURI)!=null?e:window.location.href},getFontFaceSet:()=>document.fonts,fetch:(e,t)=>fetch(e,t),parseXML:e=>new DOMParser().parseFromString(e,"text/xml")},N={ADAPTER:_o,RESOLUTION:1,CREATE_IMAGE_BITMAP:!1,ROUND_PIXELS:!1};var gr=/iPhone/i,vo=/iPod/i,xo=/iPad/i,yo=/\biOS-universal(?:.+)Mac\b/i,_r=/\bAndroid(?:.+)Mobile\b/i,To=/Android/i,$e=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,di=/Silk/i,ge=/Windows Phone/i,bo=/\bWindows(?:.+)ARM\b/i,Eo=/BlackBerry/i,wo=/BB10/i,So=/Opera Mini/i,Co=/\b(CriOS|Chrome)(?:.+)Mobile/i,Ao=/Mobile(?:.+)Firefox\b/i,Ro=function(e){return typeof e!="undefined"&&e.platform==="MacIntel"&&typeof e.maxTouchPoints=="number"&&e.maxTouchPoints>1&&typeof MSStream=="undefined"};function wl(e){return function(t){return t.test(e)}}function Io(e){var t={userAgent:"",platform:"",maxTouchPoints:0};!e&&typeof navigator!="undefined"?t={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof e=="string"?t.userAgent=e:e&&e.userAgent&&(t={userAgent:e.userAgent,platform:e.platform,maxTouchPoints:e.maxTouchPoints||0});var s=t.userAgent,i=s.split("[FBAN");typeof i[1]!="undefined"&&(s=i[0]),i=s.split("Twitter"),typeof i[1]!="undefined"&&(s=i[0]);var r=wl(s),n={apple:{phone:r(gr)&&!r(ge),ipod:r(vo),tablet:!r(gr)&&(r(xo)||Ro(t))&&!r(ge),universal:r(yo),device:(r(gr)||r(vo)||r(xo)||r(yo)||Ro(t))&&!r(ge)},amazon:{phone:r($e),tablet:!r($e)&&r(di),device:r($e)||r(di)},android:{phone:!r(ge)&&r($e)||!r(ge)&&r(_r),tablet:!r(ge)&&!r($e)&&!r(_r)&&(r(di)||r(To)),device:!r(ge)&&(r($e)||r(di)||r(_r)||r(To))||r(/\bokhttp\b/i)},windows:{phone:r(ge),tablet:r(bo),device:r(ge)||r(bo)},other:{blackberry:r(Eo),blackberry10:r(wo),opera:r(So),firefox:r(Ao),chrome:r(Co),device:r(Eo)||r(wo)||r(So)||r(Ao)||r(Co)},any:!1,phone:!1,tablet:!1};return n.any=n.apple.device||n.android.device||n.windows.device||n.other.device,n.phone=n.apple.phone||n.android.phone||n.windows.phone,n.tablet=n.apple.tablet||n.android.tablet||n.windows.tablet,n}const Qt=((yl=Io.default)!=null?yl:Io)(globalThis.navigator);N.RETINA_PREFIX=/@([0-9\.]+)x/,N.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT=!1;var vr=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function Rf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function xr(e,t,s){return s={path:t,exports:{},require:function(i,r){return Sl(i,r==null?s.path:r)}},e(s,s.exports),s.exports}function If(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Pf(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")&&Object.keys(e).length===1?e.default:e}function Mf(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),t}function Sl(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var Ye=xr(function(e){"use strict";var t=Object.prototype.hasOwnProperty,s="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(s=!1));function r(h,l,c){this.fn=h,this.context=l,this.once=c||!1}function n(h,l,c,u,d){if(typeof c!="function")throw new TypeError("The listener must be a function");var f=new r(c,u||h,d),p=s?s+l:l;return h._events[p]?h._events[p].fn?h._events[p]=[h._events[p],f]:h._events[p].push(f):(h._events[p]=f,h._eventsCount++),h}function o(h,l){--h._eventsCount===0?h._events=new i:delete h._events[l]}function a(){this._events=new i,this._eventsCount=0}a.prototype.eventNames=function(){var l=[],c,u;if(this._eventsCount===0)return l;for(u in c=this._events)t.call(c,u)&&l.push(s?u.slice(1):u);return Object.getOwnPropertySymbols?l.concat(Object.getOwnPropertySymbols(c)):l},a.prototype.listeners=function(l){var c=s?s+l:l,u=this._events[c];if(!u)return[];if(u.fn)return[u.fn];for(var d=0,f=u.length,p=new Array(f);d80*s){a=l=e[0],h=c=e[1];for(var p=s;pl&&(l=u),d>c&&(c=d);f=Math.max(l-a,c-h),f=f!==0?32767/f:0}return ps(n,o,s,a,h,f,0),o}function Po(e,t,s,i,r){var n,o;if(r===Er(e,t,s,i)>0)for(n=t;n=t;n-=i)o=Do(n,e[n],e[n+1],o);return o&&pi(o,o.next)&&(gs(o),o=o.next),o}function De(e,t){if(!e)return e;t||(t=e);var s=e,i;do if(i=!1,!s.steiner&&(pi(s,s.next)||dt(s.prev,s,s.next)===0)){if(gs(s),s=t=s.prev,s===s.next)break;i=!0}else s=s.next;while(i||s!==t);return t}function ps(e,t,s,i,r,n,o){if(!!e){!o&&n&&Ol(e,i,r,n);for(var a=e,h,l;e.prev!==e.next;){if(h=e.prev,l=e.next,n?Rl(e,i,r,n):Al(e)){t.push(h.i/s|0),t.push(e.i/s|0),t.push(l.i/s|0),gs(e),e=l.next,a=l.next;continue}if(e=l,e===a){o?o===1?(e=Il(De(e),t,s),ps(e,t,s,i,r,n,2)):o===2&&Pl(e,t,s,i,r,n):ps(De(e),t,s,i,r,n,1);break}}}}function Al(e){var t=e.prev,s=e,i=e.next;if(dt(t,s,i)>=0)return!1;for(var r=t.x,n=s.x,o=i.x,a=t.y,h=s.y,l=i.y,c=rn?r>o?r:o:n>o?n:o,f=a>h?a>l?a:l:h>l?h:l,p=i.next;p!==t;){if(p.x>=c&&p.x<=d&&p.y>=u&&p.y<=f&&qe(r,a,n,h,o,l,p.x,p.y)&&dt(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function Rl(e,t,s,i){var r=e.prev,n=e,o=e.next;if(dt(r,n,o)>=0)return!1;for(var a=r.x,h=n.x,l=o.x,c=r.y,u=n.y,d=o.y,f=ah?a>l?a:l:h>l?h:l,g=c>u?c>d?c:d:u>d?u:d,x=Tr(f,p,t,s,i),y=Tr(m,g,t,s,i),v=e.prevZ,T=e.nextZ;v&&v.z>=x&&T&&T.z<=y;){if(v.x>=f&&v.x<=m&&v.y>=p&&v.y<=g&&v!==r&&v!==o&&qe(a,c,h,u,l,d,v.x,v.y)&&dt(v.prev,v,v.next)>=0||(v=v.prevZ,T.x>=f&&T.x<=m&&T.y>=p&&T.y<=g&&T!==r&&T!==o&&qe(a,c,h,u,l,d,T.x,T.y)&&dt(T.prev,T,T.next)>=0))return!1;T=T.nextZ}for(;v&&v.z>=x;){if(v.x>=f&&v.x<=m&&v.y>=p&&v.y<=g&&v!==r&&v!==o&&qe(a,c,h,u,l,d,v.x,v.y)&&dt(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;T&&T.z<=y;){if(T.x>=f&&T.x<=m&&T.y>=p&&T.y<=g&&T!==r&&T!==o&&qe(a,c,h,u,l,d,T.x,T.y)&&dt(T.prev,T,T.next)>=0)return!1;T=T.nextZ}return!0}function Il(e,t,s){var i=e;do{var r=i.prev,n=i.next.next;!pi(r,n)&&Mo(r,i,i.next,n)&&ms(r,n)&&ms(n,r)&&(t.push(r.i/s|0),t.push(i.i/s|0),t.push(n.i/s|0),gs(i),gs(i.next),i=e=n),i=i.next}while(i!==e);return De(i)}function Pl(e,t,s,i,r,n){var o=e;do{for(var a=o.next.next;a!==o.prev;){if(o.i!==a.i&&kl(o,a)){var h=Bo(o,a);o=De(o,o.next),h=De(h,h.next),ps(o,t,s,i,r,n,0),ps(h,t,s,i,r,n,0);return}a=a.next}o=o.next}while(o!==e)}function Ml(e,t,s,i){var r=[],n,o,a,h,l;for(n=0,o=t.length;n=s.next.y&&s.next.y!==s.y){var a=s.x+(r-s.y)*(s.next.x-s.x)/(s.next.y-s.y);if(a<=i&&a>n&&(n=a,o=s.x=s.x&&s.x>=l&&i!==s.x&&qe(ro.x||s.x===o.x&&Fl(o,s)))&&(o=s,u=d)),s=s.next;while(s!==h);return o}function Fl(e,t){return dt(e.prev,e,t.prev)<0&&dt(t.next,e,e.next)<0}function Ol(e,t,s,i){var r=e;do r.z===0&&(r.z=Tr(r.x,r.y,t,s,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==e);r.prevZ.nextZ=null,r.prevZ=null,Ll(r)}function Ll(e){var t,s,i,r,n,o,a,h,l=1;do{for(s=e,e=null,n=null,o=0;s;){for(o++,i=s,a=0,t=0;t0||h>0&&i;)a!==0&&(h===0||!i||s.z<=i.z)?(r=s,s=s.nextZ,a--):(r=i,i=i.nextZ,h--),n?n.nextZ=r:e=r,r.prevZ=n,n=r;s=i}n.nextZ=null,l*=2}while(o>1);return e}function Tr(e,t,s,i,r){return e=(e-s)*r|0,t=(t-i)*r|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Ul(e){var t=e,s=e;do(t.x=(e-o)*(n-a)&&(e-o)*(i-a)>=(s-o)*(t-a)&&(s-o)*(n-a)>=(r-o)*(i-a)}function kl(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!Gl(e,t)&&(ms(e,t)&&ms(t,e)&&Hl(e,t)&&(dt(e.prev,e,t.prev)||dt(e,t.prev,t))||pi(e,t)&&dt(e.prev,e,e.next)>0&&dt(t.prev,t,t.next)>0)}function dt(e,t,s){return(t.y-e.y)*(s.x-t.x)-(t.x-e.x)*(s.y-t.y)}function pi(e,t){return e.x===t.x&&e.y===t.y}function Mo(e,t,s,i){var r=gi(dt(e,t,s)),n=gi(dt(e,t,i)),o=gi(dt(s,i,e)),a=gi(dt(s,i,t));return!!(r!==n&&o!==a||r===0&&mi(e,s,t)||n===0&&mi(e,i,t)||o===0&&mi(s,e,i)||a===0&&mi(s,t,i))}function mi(e,t,s){return t.x<=Math.max(e.x,s.x)&&t.x>=Math.min(e.x,s.x)&&t.y<=Math.max(e.y,s.y)&&t.y>=Math.min(e.y,s.y)}function gi(e){return e>0?1:e<0?-1:0}function Gl(e,t){var s=e;do{if(s.i!==e.i&&s.next.i!==e.i&&s.i!==t.i&&s.next.i!==t.i&&Mo(s,s.next,e,t))return!0;s=s.next}while(s!==e);return!1}function ms(e,t){return dt(e.prev,e,e.next)<0?dt(e,t,e.next)>=0&&dt(e,e.prev,t)>=0:dt(e,t,e.prev)<0||dt(e,e.next,t)<0}function Hl(e,t){var s=e,i=!1,r=(e.x+t.x)/2,n=(e.y+t.y)/2;do s.y>n!=s.next.y>n&&s.next.y!==s.y&&r<(s.next.x-s.x)*(n-s.y)/(s.next.y-s.y)+s.x&&(i=!i),s=s.next;while(s!==e);return i}function Bo(e,t){var s=new br(e.i,e.x,e.y),i=new br(t.i,t.x,t.y),r=e.next,n=t.prev;return e.next=t,t.prev=e,s.next=r,r.prev=s,i.next=s,s.prev=i,n.next=i,i.prev=n,i}function Do(e,t,s,i){var r=new br(e,t,s);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function gs(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function br(e,t,s){this.i=e,this.x=t,this.y=s,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}fi.deviation=function(e,t,s,i){var r=t&&t.length,n=r?t[0]*s:e.length,o=Math.abs(Er(e,0,n,s));if(r)for(var a=0,h=t.length;a0&&(i+=e[r-1].length,s.holes.push(i))}return s},yr.default=Cl;var Xl=xr(function(e,t){/*! https://mths.be/punycode v1.3.2 by @mathias */(function(s){var i=t&&!t.nodeType&&t,r=e&&!e.nodeType&&e,n=typeof vr=="object"&&vr;(n.global===n||n.window===n||n.self===n)&&(s=n);var o,a=2147483647,h=36,l=1,c=26,u=38,d=700,f=72,p=128,m="-",g=/^xn--/,x=/[^\x20-\x7E]/,y=/[\x2E\u3002\uFF0E\uFF61]/g,v={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},T=h-l,w=Math.floor,A=String.fromCharCode,b;function E(M){throw RangeError(v[M])}function R(M,X){for(var q=M.length,Z=[];q--;)Z[q]=X(M[q]);return Z}function F(M,X){var q=M.split("@"),Z="";q.length>1&&(Z=q[0]+"@",M=q[1]),M=M.replace(y,".");var J=M.split("."),st=R(J,X).join(".");return Z+st}function I(M){for(var X=[],q=0,Z=M.length,J,st;q=55296&&J<=56319&&q65535&&(X-=65536,q+=A(X>>>10&1023|55296),X=56320|X&1023),q+=A(X),q}).join("")}function P(M){return M-48<10?M-22:M-65<26?M-65:M-97<26?M-97:h}function S(M,X){return M+22+75*(M<26)-((X!=0)<<5)}function W(M,X,q){var Z=0;for(M=q?w(M/d):M>>1,M+=w(M/X);M>T*c>>1;Z+=h)M=w(M/T);return w(Z+(T+1)*M/(M+u))}function K(M){var X=[],q=M.length,Z,J=0,st=p,tt=f,rt,lt,yt,ot,ut,vt,Tt,pe,me;for(rt=M.lastIndexOf(m),rt<0&&(rt=0),lt=0;lt=128&&E("not-basic"),X.push(M.charCodeAt(lt));for(yt=rt>0?rt+1:0;yt=q&&E("invalid-input"),Tt=P(M.charCodeAt(yt++)),(Tt>=h||Tt>w((a-J)/ut))&&E("overflow"),J+=Tt*ut,pe=vt<=tt?l:vt>=tt+c?c:vt-tt,!(Ttw(a/me)&&E("overflow"),ut*=me;Z=X.length+1,tt=W(J-ot,Z,ot==0),w(J/Z)>a-st&&E("overflow"),st+=w(J/Z),J%=Z,X.splice(J++,0,st)}return L(X)}function k(M){var X,q,Z,J,st,tt,rt,lt,yt,ot,ut,vt=[],Tt,pe,me,hi;for(M=I(M),Tt=M.length,X=p,q=0,st=f,tt=0;tt=X&&utw((a-q)/pe)&&E("overflow"),q+=(rt-X)*pe,X=rt,tt=0;tta&&E("overflow"),ut==X){for(lt=q,yt=h;ot=yt<=st?l:yt>=st+c?c:yt-st,!(lt0&&a>o&&(a=o);for(var h=0;h=0?(u=l.substr(0,c),d=l.substr(c+1)):(u=l,d=""),f=decodeURIComponent(u),p=decodeURIComponent(d),Vl(r,f)?Array.isArray(r[f])?r[f].push(p):r[f]=[r[f],p]:r[f]=p}return r},_s=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},Wl=function(e,t,s,i){return t=t||"&",s=s||"=",e===null&&(e=void 0),typeof e=="object"?Object.keys(e).map(function(r){var n=encodeURIComponent(_s(r))+s;return Array.isArray(e[r])?e[r].map(function(o){return n+encodeURIComponent(_s(o))}).join(t):n+encodeURIComponent(_s(e[r]))}).join(t):i?encodeURIComponent(_s(i))+s+encodeURIComponent(_s(e)):""},wr=xr(function(e,t){"use strict";t.decode=t.parse=zl,t.encode=t.stringify=Wl}),No=vs,Fo=ic,jl=rc,Oo=sc,$l=Ht;function Ht(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var Yl=/^([a-z0-9.+-]+:)/i,ql=/:[0-9]*$/,Kl=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Zl=["<",">",'"',"`"," ","\r",` `," "],Jl=["{","}","|","\\","^","`"].concat(Zl),Sr=["'"].concat(Jl),Lo=["%","/","?",";","#"].concat(Sr),Uo=["/","?","#"],Ql=255,ko=/^[+a-z0-9A-Z_-]{0,63}$/,tc=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,ec={javascript:!0,"javascript:":!0},Cr={javascript:!0,"javascript:":!0},Ke={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function vs(e,t,s){if(e&&he.isObject(e)&&e instanceof Ht)return e;var i=new Ht;return i.parse(e,t,s),i}Ht.prototype.parse=function(e,t,s){if(!he.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var i=e.indexOf("?"),r=i!==-1&&i127?w+="x":w+=T[A];if(!w.match(ko)){var E=y.slice(0,f),R=y.slice(f+1),F=T.match(tc);F&&(E.push(F[1]),R.unshift(F[2])),R.length&&(a="/"+R.join(".")+a),this.hostname=E.join(".");break}}}this.hostname.length>Ql?this.hostname="":this.hostname=this.hostname.toLowerCase(),x||(this.hostname=Xl.toASCII(this.hostname));var I=this.port?":"+this.port:"",L=this.hostname||"";this.host=L+I,this.href+=this.host,x&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),a[0]!=="/"&&(a="/"+a))}if(!ec[c])for(var f=0,v=Sr.length;f0?s.host.split("@"):!1;w&&(s.auth=w.shift(),s.host=s.hostname=w.shift())}return s.search=e.search,s.query=e.query,(!he.isNull(s.pathname)||!he.isNull(s.search))&&(s.path=(s.pathname?s.pathname:"")+(s.search?s.search:"")),s.href=s.format(),s}if(!y.length)return s.pathname=null,s.search?s.path="/"+s.search:s.path=null,s.href=s.format(),s;for(var A=y.slice(-1)[0],b=(s.host||e.host||y.length>1)&&(A==="."||A==="..")||A==="",E=0,R=y.length;R>=0;R--)A=y[R],A==="."?y.splice(R,1):A===".."?(y.splice(R,1),E++):E&&(y.splice(R,1),E--);if(!g&&!x)for(;E--;E)y.unshift("..");g&&y[0]!==""&&(!y[0]||y[0].charAt(0)!=="/")&&y.unshift(""),b&&y.join("/").substr(-1)!=="/"&&y.push("");var F=y[0]===""||y[0]&&y[0].charAt(0)==="/";if(T){s.hostname=s.host=F?"":y.length?y.shift():"";var w=s.host&&s.host.indexOf("@")>0?s.host.split("@"):!1;w&&(s.auth=w.shift(),s.host=s.hostname=w.shift())}return g=g||s.host&&y.length,g&&!F&&y.unshift(""),y.length?s.pathname=y.join("/"):(s.pathname=null,s.path=null),(!he.isNull(s.pathname)||!he.isNull(s.search))&&(s.path=(s.pathname?s.pathname:"")+(s.search?s.search:"")),s.auth=e.auth||s.auth,s.slashes=s.slashes||e.slashes,s.href=s.format(),s},Ht.prototype.parseHost=function(){var e=this.host,t=ql.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};var Bf={parse:No,resolve:Fo,resolveObject:jl,format:Oo,Url:$l};const Go={parse:No,format:Oo,resolve:Fo};function te(e){if(typeof e!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(e)}`)}function xs(e){return e.split("?")[0].split("#")[0]}function nc(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function oc(e,t,s){return e.replace(new RegExp(nc(t),"g"),s)}function ac(e,t){let s="",i=0,r=-1,n=0,o=-1;for(let a=0;a<=e.length;++a){if(a2){const h=s.lastIndexOf("/");if(h!==s.length-1){h===-1?(s="",i=0):(s=s.slice(0,h),i=s.length-1-s.lastIndexOf("/")),r=a,n=0;continue}}else if(s.length===2||s.length===1){s="",i=0,r=a,n=0;continue}}t&&(s.length>0?s+="/..":s="..",i=2)}else s.length>0?s+=`/${e.slice(r+1,a)}`:s=e.slice(r+1,a),i=a-r-1;r=a,n=0}else o===46&&n!==-1?++n:n=-1}return s}const Ct={toPosix(e){return oc(e,"\\","/")},isUrl(e){return/^https?:/.test(this.toPosix(e))},isDataUrl(e){return/^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i.test(e)},hasProtocol(e){return/^[^/:]+:\//.test(this.toPosix(e))},getProtocol(e){te(e),e=this.toPosix(e);let t="";const s=/^file:\/\/\//.exec(e),i=/^[^/:]+:\/\//.exec(e),r=/^[^/:]+:\//.exec(e);if(s||i||r){const n=(s==null?void 0:s[0])||(i==null?void 0:i[0])||(r==null?void 0:r[0]);t=n,e=e.slice(n.length)}return t},toAbsolute(e,t,s){if(this.isDataUrl(e))return e;const i=xs(this.toPosix(t!=null?t:N.ADAPTER.getBaseUrl())),r=xs(this.toPosix(s!=null?s:this.rootname(i)));return te(e),e=this.toPosix(e),e.startsWith("/")?Ct.join(r,e.slice(1)):this.isAbsolute(e)?e:this.join(i,e)},normalize(e){if(e=this.toPosix(e),te(e),e.length===0)return".";let t="";const s=e.startsWith("/");this.hasProtocol(e)&&(t=this.rootname(e),e=e.slice(t.length));const i=e.endsWith("/");return e=ac(e,!1),e.length>0&&i&&(e+="/"),s?`/${e}`:t+e},isAbsolute(e){return te(e),e=this.toPosix(e),this.hasProtocol(e)?!0:e.startsWith("/")},join(...e){var s;if(e.length===0)return".";let t;for(let i=0;i0)if(t===void 0)t=r;else{const n=(s=e[i-1])!=null?s:"";this.extname(n)?t+=`/../${r}`:t+=`/${r}`}}return t===void 0?".":this.normalize(t)},dirname(e){if(te(e),e.length===0)return".";e=this.toPosix(e);let t=e.charCodeAt(0);const s=t===47;let i=-1,r=!0;const n=this.getProtocol(e),o=e;e=e.slice(n.length);for(let a=e.length-1;a>=1;--a)if(t=e.charCodeAt(a),t===47){if(!r){i=a;break}}else r=!1;return i===-1?s?"/":this.isUrl(o)?n+e:n:s&&i===1?"//":n+e.slice(0,i)},rootname(e){te(e),e=this.toPosix(e);let t="";if(e.startsWith("/")?t="/":t=this.getProtocol(e),this.isUrl(e)){const s=e.indexOf("/",t.length);s!==-1?t=e.slice(0,s):t=e,t.endsWith("/")||(t+="/")}return t},basename(e,t){te(e),t&&te(t),e=xs(this.toPosix(e));let s=0,i=-1,r=!0,n;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){const h=e.charCodeAt(n);if(h===47){if(!r){s=n+1;break}}else a===-1&&(r=!1,a=n+1),o>=0&&(h===t.charCodeAt(o)?--o===-1&&(i=n):(o=-1,i=a))}return s===i?i=a:i===-1&&(i=e.length),e.slice(s,i)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===47){if(!r){s=n+1;break}}else i===-1&&(r=!1,i=n+1);return i===-1?"":e.slice(s,i)},extname(e){te(e),e=xs(this.toPosix(e));let t=-1,s=0,i=-1,r=!0,n=0;for(let o=e.length-1;o>=0;--o){const a=e.charCodeAt(o);if(a===47){if(!r){s=o+1;break}continue}i===-1&&(r=!1,i=o+1),a===46?t===-1?t=o:n!==1&&(n=1):t!==-1&&(n=-1)}return t===-1||i===-1||n===0||n===1&&t===i-1&&t===s+1?"":e.slice(t,i)},parse(e){te(e);const t={root:"",dir:"",base:"",ext:"",name:""};if(e.length===0)return t;e=xs(this.toPosix(e));let s=e.charCodeAt(0);const i=this.isAbsolute(e);let r;const n="";t.root=this.rootname(e),i||this.hasProtocol(e)?r=1:r=0;let o=-1,a=0,h=-1,l=!0,c=e.length-1,u=0;for(;c>=r;--c){if(s=e.charCodeAt(c),s===47){if(!l){a=c+1;break}continue}h===-1&&(l=!1,h=c+1),s===46?o===-1?o=c:u!==1&&(u=1):o!==-1&&(u=-1)}return o===-1||h===-1||u===0||u===1&&o===h-1&&o===a+1?h!==-1&&(a===0&&i?t.base=t.name=e.slice(1,h):t.base=t.name=e.slice(a,h)):(a===0&&i?(t.name=e.slice(1,o),t.base=e.slice(1,h)):(t.name=e.slice(a,o),t.base=e.slice(a,h)),t.ext=e.slice(o,h)),t.dir=this.dirname(e),n&&(t.dir=n+t.dir),t},sep:"/",delimiter:":"},Ho={};function z(e,t,s=3){if(Ho[t])return;let i=new Error().stack;typeof i=="undefined"?console.warn("PixiJS Deprecation Warning: ",`${t} Deprecated since v${e}`):(i=i.split(` `).splice(s).join(` `),console.groupCollapsed?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",`${t} Deprecated since v${e}`),console.warn(i),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",`${t} Deprecated since v${e}`),console.warn(i))),Ho[t]=!0}function hc(){z("7.0.0","skipHello is deprecated, please use settings.RENDER_OPTIONS.hello")}function lc(){z("7.0.0",`sayHello is deprecated, please use Renderer's "hello" option`)}let Ar;function Xo(){return typeof Ar=="undefined"&&(Ar=function(){var s;const t={stencil:!0,failIfMajorPerformanceCaveat:N.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT};try{if(!N.ADAPTER.getWebGLRenderingContext())return!1;const i=N.ADAPTER.createCanvas();let r=i.getContext("webgl",t)||i.getContext("experimental-webgl",t);const n=!!((s=r==null?void 0:r.getContextAttributes())!=null&&s.stencil);if(r){const o=r.getExtension("WEBGL_lose_context");o&&o.loseContext()}return r=null,n}catch(i){return!1}}()),Ar}var cc={grad:.9,turn:360,rad:360/(2*Math.PI)},_e=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},bt=function(e,t,s){return t===void 0&&(t=0),s===void 0&&(s=Math.pow(10,t)),Math.round(s*e)/s+0},Xt=function(e,t,s){return t===void 0&&(t=0),s===void 0&&(s=1),e>s?s:e>t?e:t},Vo=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},zo=function(e){return{r:Xt(e.r,0,255),g:Xt(e.g,0,255),b:Xt(e.b,0,255),a:Xt(e.a)}},Rr=function(e){return{r:bt(e.r),g:bt(e.g),b:bt(e.b),a:bt(e.a,3)}},uc=/^#([0-9a-f]{3,8})$/i,_i=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},Wo=function(e){var t=e.r,s=e.g,i=e.b,r=e.a,n=Math.max(t,s,i),o=n-Math.min(t,s,i),a=o?n===t?(s-i)/o:n===s?2+(i-t)/o:4+(t-s)/o:0;return{h:60*(a<0?a+6:a),s:n?o/n*100:0,v:n/255*100,a:r}},jo=function(e){var t=e.h,s=e.s,i=e.v,r=e.a;t=t/360*6,s/=100,i/=100;var n=Math.floor(t),o=i*(1-s),a=i*(1-(t-n)*s),h=i*(1-(1-t+n)*s),l=n%6;return{r:255*[i,a,o,o,h,i][l],g:255*[h,i,i,a,o,o][l],b:255*[o,o,h,i,i,a][l],a:r}},$o=function(e){return{h:Vo(e.h),s:Xt(e.s,0,100),l:Xt(e.l,0,100),a:Xt(e.a)}},Yo=function(e){return{h:bt(e.h),s:bt(e.s),l:bt(e.l),a:bt(e.a,3)}},qo=function(e){return jo((s=(t=e).s,{h:t.h,s:(s*=((i=t.l)<50?i:100-i)/100)>0?2*s/(i+s)*100:0,v:i+s,a:t.a}));var t,s,i},ys=function(e){return{h:(t=Wo(e)).h,s:(r=(200-(s=t.s))*(i=t.v)/100)>0&&r<200?s*i/100/(r<=100?r:200-r)*100:0,l:r/2,a:t.a};var t,s,i,r},dc=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,fc=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,pc=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,mc=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ir={string:[[function(e){var t=uc.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?bt(parseInt(e[3]+e[3],16)/255,2):1}:e.length===6||e.length===8?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:e.length===8?bt(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=pc.exec(e)||mc.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:zo({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t=dc.exec(e)||fc.exec(e);if(!t)return null;var s,i,r=$o({h:(s=t[1],i=t[2],i===void 0&&(i="deg"),Number(s)*(cc[i]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return qo(r)},"hsl"]],object:[[function(e){var t=e.r,s=e.g,i=e.b,r=e.a,n=r===void 0?1:r;return _e(t)&&_e(s)&&_e(i)?zo({r:Number(t),g:Number(s),b:Number(i),a:Number(n)}):null},"rgb"],[function(e){var t=e.h,s=e.s,i=e.l,r=e.a,n=r===void 0?1:r;if(!_e(t)||!_e(s)||!_e(i))return null;var o=$o({h:Number(t),s:Number(s),l:Number(i),a:Number(n)});return qo(o)},"hsl"],[function(e){var t=e.h,s=e.s,i=e.v,r=e.a,n=r===void 0?1:r;if(!_e(t)||!_e(s)||!_e(i))return null;var o=function(a){return{h:Vo(a.h),s:Xt(a.s,0,100),v:Xt(a.v,0,100),a:Xt(a.a)}}({h:Number(t),s:Number(s),v:Number(i),a:Number(n)});return jo(o)},"hsv"]]},Ko=function(e,t){for(var s=0;s=.5},e.prototype.toHex=function(){return t=Rr(this.rgba),s=t.r,i=t.g,r=t.b,o=(n=t.a)<1?_i(bt(255*n)):"","#"+_i(s)+_i(i)+_i(r)+o;var t,s,i,r,n,o},e.prototype.toRgb=function(){return Rr(this.rgba)},e.prototype.toRgbString=function(){return t=Rr(this.rgba),s=t.r,i=t.g,r=t.b,(n=t.a)<1?"rgba("+s+", "+i+", "+r+", "+n+")":"rgb("+s+", "+i+", "+r+")";var t,s,i,r,n},e.prototype.toHsl=function(){return Yo(ys(this.rgba))},e.prototype.toHslString=function(){return t=Yo(ys(this.rgba)),s=t.h,i=t.s,r=t.l,(n=t.a)<1?"hsla("+s+", "+i+"%, "+r+"%, "+n+")":"hsl("+s+", "+i+"%, "+r+"%)";var t,s,i,r,n},e.prototype.toHsv=function(){return t=Wo(this.rgba),{h:bt(t.h),s:bt(t.s),v:bt(t.v),a:bt(t.a,3)};var t},e.prototype.invert=function(){return le({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},e.prototype.saturate=function(t){return t===void 0&&(t=.1),le(Pr(this.rgba,t))},e.prototype.desaturate=function(t){return t===void 0&&(t=.1),le(Pr(this.rgba,-t))},e.prototype.grayscale=function(){return le(Pr(this.rgba,-1))},e.prototype.lighten=function(t){return t===void 0&&(t=.1),le(Jo(this.rgba,t))},e.prototype.darken=function(t){return t===void 0&&(t=.1),le(Jo(this.rgba,-t))},e.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},e.prototype.alpha=function(t){return typeof t=="number"?le({r:(s=this.rgba).r,g:s.g,b:s.b,a:t}):bt(this.rgba.a,3);var s},e.prototype.hue=function(t){var s=ys(this.rgba);return typeof t=="number"?le({h:t,s:s.s,l:s.l,a:s.a}):bt(s.h)},e.prototype.isEqual=function(t){return this.toHex()===le(t).toHex()},e}(),le=function(e){return e instanceof vi?e:new vi(e)},Qo=[],gc=function(e){e.forEach(function(t){Qo.indexOf(t)<0&&(t(vi,Ir),Qo.push(t))})},Nf=function(){return new vi({r:255*Math.random(),g:255*Math.random(),b:255*Math.random()})};function _c(e,t){var s={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},i={};for(var r in s)i[s[r]]=r;var n={};e.prototype.toName=function(o){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var a,h,l=i[this.toHex()];if(l)return l;if(o!=null&&o.closest){var c=this.toRgb(),u=1/0,d="black";if(!n.length)for(var f in s)n[f]=new e(s[f]).toRgb();for(var p in s){var m=(a=c,h=n[p],Math.pow(a.r-h.r,2)+Math.pow(a.g-h.g,2)+Math.pow(a.b-h.b,2));mr===t[n]);if(e!==null&&t!==null){const r=Object.keys(e),n=Object.keys(t);return r.length!==n.length?!1:r.every(o=>e[o]===t[o])}return e===t}toRgba(){const[e,t,s,i]=this._components;return{r:e,g:t,b:s,a:i}}toRgb(){const[e,t,s]=this._components;return{r:e,g:t,b:s}}toRgbaString(){const[e,t,s]=this.toUint8RgbArray();return`rgba(${e},${t},${s},${this.alpha})`}toUint8RgbArray(e){const[t,s,i]=this._components;return e=e!=null?e:[],e[0]=Math.round(t*255),e[1]=Math.round(s*255),e[2]=Math.round(i*255),e}toRgbArray(e){e=e!=null?e:[];const[t,s,i]=this._components;return e[0]=t,e[1]=s,e[2]=i,e}toNumber(){return this._int}toLittleEndianNumber(){const e=this._int;return(e>>16)+(e&65280)+((e&255)<<16)}multiply(e){const[t,s,i,r]=Ze.temp.setValue(e)._components;return this._components[0]*=t,this._components[1]*=s,this._components[2]*=i,this._components[3]*=r,this.refreshInt(),this._value=null,this}premultiply(e,t=!0){return t&&(this._components[0]*=e,this._components[1]*=e,this._components[2]*=e),this._components[3]=e,this.refreshInt(),this._value=null,this}toPremultiplied(e,t=!0){if(e===1)return(255<<24)+this._int;if(e===0)return t?0:this._int;let s=this._int>>16&255,i=this._int>>8&255,r=this._int&255;return t&&(s=s*e+.5|0,i=i*e+.5|0,r=r*e+.5|0),(e*255<<24)+(s<<16)+(i<<8)+r}toHex(){const e=this._int.toString(16);return`#${"000000".substring(0,6-e.length)+e}`}toHexa(){const t=Math.round(this._components[3]*255).toString(16);return this.toHex()+"00".substring(0,2-t.length)+t}setAlpha(e){return this._components[3]=this._clamp(e),this}round(e){const[t,s,i]=this._components;return this._components[0]=Math.round(t*e)/e,this._components[1]=Math.round(s*e)/e,this._components[2]=Math.round(i*e)/e,this.refreshInt(),this._value=null,this}toArray(e){e=e!=null?e:[];const[t,s,i,r]=this._components;return e[0]=t,e[1]=s,e[2]=i,e[3]=r,e}normalize(e){let t,s,i,r;if((typeof e=="number"||e instanceof Number)&&e>=0&&e<=16777215){const n=e;t=(n>>16&255)/255,s=(n>>8&255)/255,i=(n&255)/255,r=1}else if((Array.isArray(e)||e instanceof Float32Array)&&e.length>=3&&e.length<=4)e=this._clamp(e),[t,s,i,r=1]=e;else if((e instanceof Uint8Array||e instanceof Uint8ClampedArray)&&e.length>=3&&e.length<=4)e=this._clamp(e,0,255),[t,s,i,r=255]=e,t/=255,s/=255,i/=255,r/=255;else if(typeof e=="string"||typeof e=="object"){if(typeof e=="string"){const o=Ze.HEX_PATTERN.exec(e);o&&(e=`#${o[2]}`)}const n=le(e);n.isValid()&&({r:t,g:s,b:i,a:r}=n.rgba,t/=255,s/=255,i/=255)}if(t!==void 0)this._components[0]=t,this._components[1]=s,this._components[2]=i,this._components[3]=r,this.refreshInt();else throw new Error(`Unable to convert color ${e}`)}refreshInt(){this._clamp(this._components);const[e,t,s]=this._components;this._int=(e*255<<16)+(t*255<<8)+(s*255|0)}_clamp(e,t=0,s=1){return typeof e=="number"?Math.min(Math.max(e,t),s):(e.forEach((i,r)=>{e[r]=Math.min(Math.max(i,t),s)}),e)}};let j=Ze;j.shared=new Ze,j.temp=new Ze,j.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;function vc(e,t=[]){return z("7.2.0","utils.hex2rgb is deprecated, use Color#toRgbArray instead"),j.shared.setValue(e).toRgbArray(t)}function ta(e){return z("7.2.0","utils.hex2string is deprecated, use Color#toHex instead"),j.shared.setValue(e).toHex()}function xc(e){return z("7.2.0","utils.string2hex is deprecated, use Color#toNumber instead"),j.shared.setValue(e).toNumber()}function ea(e){return z("7.2.0","utils.rgb2hex is deprecated, use Color#toNumber instead"),j.shared.setValue(e).toNumber()}function yc(){const e=[],t=[];for(let i=0;i<32;i++)e[i]=i,t[i]=i;e[C.NORMAL_NPM]=C.NORMAL,e[C.ADD_NPM]=C.ADD,e[C.SCREEN_NPM]=C.SCREEN,t[C.NORMAL]=C.NORMAL_NPM,t[C.ADD]=C.ADD_NPM,t[C.SCREEN]=C.SCREEN_NPM;const s=[];return s.push(t),s.push(e),s}const Br=yc();function Dr(e,t){return Br[t?1:0][e]}function Tc(e,t,s,i=!0){return z("7.2.0","utils.premultiplyRgba has moved to Color.premultiply"),j.shared.setValue(e).premultiply(t,i).toArray(s!=null?s:new Float32Array(4))}function bc(e,t){return z("7.2.0","utils.premultiplyTint has moved to Color.toPremultiplied"),j.shared.setValue(e).toPremultiplied(t)}function Ec(e,t,s,i=!0){return z("7.2.0","utils.premultiplyTintToRgba has moved to Color.premultiply"),j.shared.setValue(e).premultiply(t,i).toArray(s!=null?s:new Float32Array(4))}const sa=/^\s*data:(?:([\w-]+)\/([\w+.-]+))?(?:;charset=([\w-]+))?(?:;(base64))?,(.*)/i;function ia(e,t=null){const s=e*6;if(t=t||new Uint16Array(s),t.length!==s)throw new Error(`Out buffer length is incorrect, got ${t.length} and expected ${s}`);for(let i=0,r=0;i>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1}function Nr(e){return!(e&e-1)&&!!e}function Fr(e){let t=(e>65535?1:0)<<4;e>>>=t;let s=(e>255?1:0)<<3;return e>>>=s,t|=s,s=(e>15?1:0)<<2,e>>>=s,t|=s,s=(e>3?1:0)<<1,e>>>=s,t|=s,t|e>>1}function Ne(e,t,s){const i=e.length;let r;if(t>=i||s===0)return;s=t+s>i?i-t:s;const n=i-s;for(r=t;r(e.Renderer="renderer",e.Application="application",e.RendererSystem="renderer-webgl-system",e.RendererPlugin="renderer-webgl-plugin",e.CanvasRendererSystem="renderer-canvas-system",e.CanvasRendererPlugin="renderer-canvas-plugin",e.Asset="asset",e.LoadParser="load-parser",e.ResolveParser="resolve-parser",e.CacheParser="cache-parser",e.DetectionParser="detection-parser",e))(D||{});const Lr=e=>{if(typeof e=="function"||typeof e=="object"&&e.extension){if(!e.extension)throw new Error("Extension class must have an extension object");const t=typeof e.extension!="object"?{type:e.extension}:e.extension;e=li(St({},t),{ref:e})}if(typeof e=="object")e=St({},e);else throw new Error("Invalid extension type");return typeof e.type=="string"&&(e.type=[e.type]),e},ua=(e,t)=>{var s;return(s=Lr(e).priority)!=null?s:t},U={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...e){return e.map(Lr).forEach(t=>{t.type.forEach(s=>{var i,r;return(r=(i=this._removeHandlers)[s])==null?void 0:r.call(i,t)})}),this},add(...e){return e.map(Lr).forEach(t=>{t.type.forEach(s=>{const i=this._addHandlers,r=this._queue;i[s]?i[s](t):(r[s]=r[s]||[],r[s].push(t))})}),this},handle(e,t,s){const i=this._addHandlers,r=this._removeHandlers;if(i[e]||r[e])throw new Error(`Extension type ${e} already has a handler`);i[e]=t,r[e]=s;const n=this._queue;return n[e]&&(n[e].forEach(o=>t(o)),delete n[e]),this},handleByMap(e,t){return this.handle(e,s=>{t[s.name]=s.ref},s=>{delete t[s.name]})},handleByList(e,t,s=-1){return this.handle(e,i=>{t.includes(i.ref)||(t.push(i.ref),t.sort((r,n)=>ua(n,s)-ua(r,s)))},i=>{const r=t.indexOf(i.ref);r!==-1&&t.splice(r,1)})}};class bi{constructor(t){typeof t=="number"?this.rawBinaryData=new ArrayBuffer(t):t instanceof Uint8Array?this.rawBinaryData=t.buffer:this.rawBinaryData=t,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData)}get int8View(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View}get uint8View(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View}get int16View(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View}get uint16View(){return this._uint16View||(this._uint16View=new Uint16Array(this.rawBinaryData)),this._uint16View}get int32View(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View}view(t){return this[`${t}View`]}destroy(){this.rawBinaryData=null,this._int8View=null,this._uint8View=null,this._int16View=null,this._uint16View=null,this._int32View=null,this.uint32View=null,this.float32View=null}static sizeOf(t){switch(t){case"int8":case"uint8":return 1;case"int16":case"uint16":return 2;case"int32":case"uint32":case"float32":return 4;default:throw new Error(`${t} isn't a valid view type`)}}}const Pc=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(` `);function Mc(e){let t="";for(let s=0;s0&&(t+=` else `),s=0;--i){const r=Ei[i];if(r.test&&r.test(e,s))return new r(e,t)}throw new Error("Unrecognized source type to auto-detect Resource")}class Ot{constructor(t){this.items=[],this._name=t,this._aliasCount=0}emit(t,s,i,r,n,o,a,h){if(arguments.length>8)throw new Error("max arguments reached");const{name:l,items:c}=this;this._aliasCount++;for(let u=0,d=c.length;u0&&this.items.length>1&&(this._aliasCount=0,this.items=this.items.slice(0))}add(t){return t[this._name]&&(this.ensureNonAliasedItems(),this.remove(t),this.items.push(t)),this}remove(t){const s=this.items.indexOf(t);return s!==-1&&(this.ensureNonAliasedItems(),this.items.splice(s,1)),this}contains(t){return this.items.includes(t)}removeAll(){return this.ensureNonAliasedItems(),this.items.length=0,this}destroy(){this.removeAll(),this.items=null,this._name=null}get empty(){return this.items.length===0}get name(){return this._name}}Object.defineProperties(Ot.prototype,{dispatch:{value:Ot.prototype.emit},run:{value:Ot.prototype.emit}});class Je{constructor(t=0,s=0){this._width=t,this._height=s,this.destroyed=!1,this.internal=!1,this.onResize=new Ot("setRealSize"),this.onUpdate=new Ot("update"),this.onError=new Ot("onError")}bind(t){this.onResize.add(t),this.onUpdate.add(t),this.onError.add(t),(this._width||this._height)&&this.onResize.emit(this._width,this._height)}unbind(t){this.onResize.remove(t),this.onUpdate.remove(t),this.onError.remove(t)}resize(t,s){(t!==this._width||s!==this._height)&&(this._width=t,this._height=s,this.onResize.emit(t,s))}get valid(){return!!this._width&&!!this._height}update(){this.destroyed||this.onUpdate.emit()}load(){return Promise.resolve(this)}get width(){return this._width}get height(){return this._height}style(t,s,i){return!1}dispose(){}destroy(){this.destroyed||(this.destroyed=!0,this.dispose(),this.onError.removeAll(),this.onError=null,this.onResize.removeAll(),this.onResize=null,this.onUpdate.removeAll(),this.onUpdate=null)}static test(t,s){return!1}}class Qe extends Je{constructor(t,s){const{width:i,height:r}=s||{};if(!i||!r)throw new Error("BufferResource width or height invalid");super(i,r),this.data=t}upload(t,s,i){const r=t.gl;r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,s.alphaMode===Gt.UNPACK);const n=s.realWidth,o=s.realHeight;return i.width===n&&i.height===o?r.texSubImage2D(s.target,0,0,0,n,o,s.format,i.type,this.data):(i.width=n,i.height=o,r.texImage2D(s.target,0,i.internalFormat,n,o,0,s.format,i.type,this.data)),!0}dispose(){this.data=null}static test(t){return t instanceof Float32Array||t instanceof Uint8Array||t instanceof Uint32Array}}const Bc={scaleMode:kt.NEAREST,format:B.RGBA,alphaMode:Gt.NPM},ts=class extends Ye{constructor(e=null,t=null){super(),t=Object.assign({},ts.defaultOptions,t);const{alphaMode:s,mipmap:i,anisotropicLevel:r,scaleMode:n,width:o,height:a,wrapMode:h,format:l,type:c,target:u,resolution:d,resourceOptions:f}=t;e&&!(e instanceof Je)&&(e=zr(e,f),e.internal=!0),this.resolution=d||N.RESOLUTION,this.width=Math.round((o||0)*this.resolution)/this.resolution,this.height=Math.round((a||0)*this.resolution)/this.resolution,this._mipmap=i,this.anisotropicLevel=r,this._wrapMode=h,this._scaleMode=n,this.format=l,this.type=c,this.target=u,this.alphaMode=s,this.uid=Se(),this.touched=0,this.isPowerOfTwo=!1,this._refreshPOT(),this._glTextures={},this.dirtyId=0,this.dirtyStyleId=0,this.cacheId=null,this.valid=o>0&&a>0,this.textureCacheIds=[],this.destroyed=!1,this.resource=null,this._batchEnabled=0,this._batchLocation=0,this.parentTextureArray=null,this.setResource(e)}get realWidth(){return Math.round(this.width*this.resolution)}get realHeight(){return Math.round(this.height*this.resolution)}get mipmap(){return this._mipmap}set mipmap(e){this._mipmap!==e&&(this._mipmap=e,this.dirtyStyleId++)}get scaleMode(){return this._scaleMode}set scaleMode(e){this._scaleMode!==e&&(this._scaleMode=e,this.dirtyStyleId++)}get wrapMode(){return this._wrapMode}set wrapMode(e){this._wrapMode!==e&&(this._wrapMode=e,this.dirtyStyleId++)}setStyle(e,t){let s;return e!==void 0&&e!==this.scaleMode&&(this.scaleMode=e,s=!0),t!==void 0&&t!==this.mipmap&&(this.mipmap=t,s=!0),s&&this.dirtyStyleId++,this}setSize(e,t,s){return s=s||this.resolution,this.setRealSize(e*s,t*s,s)}setRealSize(e,t,s){return this.resolution=s||this.resolution,this.width=Math.round(e)/this.resolution,this.height=Math.round(t)/this.resolution,this._refreshPOT(),this.update(),this}_refreshPOT(){this.isPowerOfTwo=Nr(this.realWidth)&&Nr(this.realHeight)}setResolution(e){const t=this.resolution;return t===e?this:(this.resolution=e,this.valid&&(this.width=Math.round(this.width*t)/e,this.height=Math.round(this.height*t)/e,this.emit("update",this)),this._refreshPOT(),this)}setResource(e){if(this.resource===e)return this;if(this.resource)throw new Error("Resource can be set only once");return e.bind(this),this.resource=e,this}update(){this.valid?(this.dirtyId++,this.dirtyStyleId++,this.emit("update",this)):this.width>0&&this.height>0&&(this.valid=!0,this.emit("loaded",this),this.emit("update",this))}onError(e){this.emit("error",this,e)}destroy(){this.resource&&(this.resource.unbind(this),this.resource.internal&&this.resource.destroy(),this.resource=null),this.cacheId&&(delete Ft[this.cacheId],delete Pt[this.cacheId],this.cacheId=null),this.dispose(),ts.removeFromCache(this),this.textureCacheIds=null,this.destroyed=!0}dispose(){this.emit("dispose",this)}castToBaseTexture(){return this}static from(e,t,s=N.STRICT_TEXTURE_CACHE){const i=typeof e=="string";let r=null;if(i)r=e;else{if(!e._pixiId){const o=(t==null?void 0:t.pixiIdPrefix)||"pixiid";e._pixiId=`${o}_${Se()}`}r=e._pixiId}let n=Ft[r];if(i&&s&&!n)throw new Error(`The cacheId "${r}" does not exist in BaseTextureCache.`);return n||(n=new ts(e,t),n.cacheId=r,ts.addToCache(n,r)),n}static fromBuffer(e,t,s,i){e=e||new Float32Array(t*s*4);const r=new Qe(e,{width:t,height:s}),n=e instanceof Float32Array?H.FLOAT:H.UNSIGNED_BYTE;return new ts(r,Object.assign({},Bc,{type:n},i))}static addToCache(e,t){t&&(e.textureCacheIds.includes(t)||e.textureCacheIds.push(t),Ft[t]&&Ft[t]!==e&&console.warn(`BaseTexture added to the cache with an id [${t}] that already had an entry`),Ft[t]=e)}static removeFromCache(e){if(typeof e=="string"){const t=Ft[e];if(t){const s=t.textureCacheIds.indexOf(e);return s>-1&&t.textureCacheIds.splice(s,1),delete Ft[e],t}}else if(e!=null&&e.textureCacheIds){for(let t=0;t1){for(let u=0;u(e[e.POLY=0]="POLY",e[e.RECT=1]="RECT",e[e.CIRC=2]="CIRC",e[e.ELIP=3]="ELIP",e[e.RREC=4]="RREC",e))(it||{});class Y{constructor(t=0,s=0){this.x=0,this.y=0,this.x=t,this.y=s}clone(){return new Y(this.x,this.y)}copyFrom(t){return this.set(t.x,t.y),this}copyTo(t){return t.set(this.x,this.y),t}equals(t){return t.x===this.x&&t.y===this.y}set(t=0,s=t){return this.x=t,this.y=s,this}toString(){return`[@pixi/math:Point x=${this.x} y=${this.y}]`}}const Si=[new Y,new Y,new Y,new Y];class ${constructor(t=0,s=0,i=0,r=0){this.x=Number(t),this.y=Number(s),this.width=Number(i),this.height=Number(r),this.type=it.RECT}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}static get EMPTY(){return new $(0,0,0,0)}clone(){return new $(this.x,this.y,this.width,this.height)}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t}contains(t,s){return this.width<=0||this.height<=0?!1:t>=this.x&&t=this.y&&st.right?t.right:this.right)<=E)return!1;const F=this.yt.bottom?t.bottom:this.bottom)>F}const i=this.left,r=this.right,n=this.top,o=this.bottom;if(r<=i||o<=n)return!1;const a=Si[0].set(t.left,t.top),h=Si[1].set(t.left,t.bottom),l=Si[2].set(t.right,t.top),c=Si[3].set(t.right,t.bottom);if(l.x<=a.x||h.y<=a.y)return!1;const u=Math.sign(s.a*s.d-s.b*s.c);if(u===0||(s.apply(a,a),s.apply(h,h),s.apply(l,l),s.apply(c,c),Math.max(a.x,h.x,l.x,c.x)<=i||Math.min(a.x,h.x,l.x,c.x)>=r||Math.max(a.y,h.y,l.y,c.y)<=n||Math.min(a.y,h.y,l.y,c.y)>=o))return!1;const d=u*(h.y-a.y),f=u*(a.x-h.x),p=d*i+f*n,m=d*r+f*n,g=d*i+f*o,x=d*r+f*o;if(Math.max(p,m,g,x)<=d*a.x+f*a.y||Math.min(p,m,g,x)>=d*c.x+f*c.y)return!1;const y=u*(a.y-l.y),v=u*(l.x-a.x),T=y*i+v*n,w=y*r+v*n,A=y*i+v*o,b=y*r+v*o;return!(Math.max(T,w,A,b)<=y*a.x+v*a.y||Math.min(T,w,A,b)>=y*c.x+v*c.y)}pad(t=0,s=t){return this.x-=t,this.y-=s,this.width+=t*2,this.height+=s*2,this}fit(t){const s=Math.max(this.x,t.x),i=Math.min(this.x+this.width,t.x+t.width),r=Math.max(this.y,t.y),n=Math.min(this.y+this.height,t.y+t.height);return this.x=s,this.width=Math.max(i-s,0),this.y=r,this.height=Math.max(n-r,0),this}ceil(t=1,s=.001){const i=Math.ceil((this.x+this.width-s)*t)/t,r=Math.ceil((this.y+this.height-s)*t)/t;return this.x=Math.floor((this.x+s)*t)/t,this.y=Math.floor((this.y+s)*t)/t,this.width=i-this.x,this.height=r-this.y,this}enlarge(t){const s=Math.min(this.x,t.x),i=Math.max(this.x+this.width,t.x+t.width),r=Math.min(this.y,t.y),n=Math.max(this.y+this.height,t.y+t.height);return this.x=s,this.width=i-s,this.y=r,this.height=n-r,this}toString(){return`[@pixi/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}}class Ci{constructor(t=0,s=0,i=0){this.x=t,this.y=s,this.radius=i,this.type=it.CIRC}clone(){return new Ci(this.x,this.y,this.radius)}contains(t,s){if(this.radius<=0)return!1;const i=this.radius*this.radius;let r=this.x-t,n=this.y-s;return r*=r,n*=n,r+n<=i}getBounds(){return new $(this.x-this.radius,this.y-this.radius,this.radius*2,this.radius*2)}toString(){return`[@pixi/math:Circle x=${this.x} y=${this.y} radius=${this.radius}]`}}class Ai{constructor(t=0,s=0,i=0,r=0){this.x=t,this.y=s,this.width=i,this.height=r,this.type=it.ELIP}clone(){return new Ai(this.x,this.y,this.width,this.height)}contains(t,s){if(this.width<=0||this.height<=0)return!1;let i=(t-this.x)/this.width,r=(s-this.y)/this.height;return i*=i,r*=r,i+r<=1}getBounds(){return new $(this.x-this.width,this.y-this.height,this.width,this.height)}toString(){return`[@pixi/math:Ellipse x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}}class Fe{constructor(...t){let s=Array.isArray(t[0])?t[0]:t;if(typeof s[0]!="number"){const i=[];for(let r=0,n=s.length;rs!=c>s&&t<(l-a)*((s-h)/(c-h))+a&&(i=!i)}return i}toString(){return`[@pixi/math:PolygoncloseStroke=${this.closeStroke}points=${this.points.reduce((t,s)=>`${t}, ${s}`,"")}]`}}class Ri{constructor(t=0,s=0,i=0,r=0,n=20){this.x=t,this.y=s,this.width=i,this.height=r,this.radius=n,this.type=it.RREC}clone(){return new Ri(this.x,this.y,this.width,this.height,this.radius)}contains(t,s){if(this.width<=0||this.height<=0)return!1;if(t>=this.x&&t<=this.x+this.width&&s>=this.y&&s<=this.y+this.height){const i=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(s>=this.y+i&&s<=this.y+this.height-i||t>=this.x+i&&t<=this.x+this.width-i)return!0;let r=t-(this.x+i),n=s-(this.y+i);const o=i*i;if(r*r+n*n<=o||(r=t-(this.x+this.width-i),r*r+n*n<=o)||(n=s-(this.y+this.height-i),r*r+n*n<=o)||(r=t-(this.x+i),r*r+n*n<=o))return!0}return!1}toString(){return`[@pixi/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`}}class Q{constructor(t=1,s=0,i=0,r=1,n=0,o=0){this.array=null,this.a=t,this.b=s,this.c=i,this.d=r,this.tx=n,this.ty=o}fromArray(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5]}set(t,s,i,r,n,o){return this.a=t,this.b=s,this.c=i,this.d=r,this.tx=n,this.ty=o,this}toArray(t,s){this.array||(this.array=new Float32Array(9));const i=s||this.array;return t?(i[0]=this.a,i[1]=this.b,i[2]=0,i[3]=this.c,i[4]=this.d,i[5]=0,i[6]=this.tx,i[7]=this.ty,i[8]=1):(i[0]=this.a,i[1]=this.c,i[2]=this.tx,i[3]=this.b,i[4]=this.d,i[5]=this.ty,i[6]=0,i[7]=0,i[8]=1),i}apply(t,s){s=s||new Y;const i=t.x,r=t.y;return s.x=this.a*i+this.c*r+this.tx,s.y=this.b*i+this.d*r+this.ty,s}applyInverse(t,s){s=s||new Y;const i=1/(this.a*this.d+this.c*-this.b),r=t.x,n=t.y;return s.x=this.d*i*r+-this.c*i*n+(this.ty*this.c-this.tx*this.d)*i,s.y=this.a*i*n+-this.b*i*r+(-this.ty*this.a+this.tx*this.b)*i,s}translate(t,s){return this.tx+=t,this.ty+=s,this}scale(t,s){return this.a*=t,this.d*=s,this.c*=t,this.b*=s,this.tx*=t,this.ty*=s,this}rotate(t){const s=Math.cos(t),i=Math.sin(t),r=this.a,n=this.c,o=this.tx;return this.a=r*s-this.b*i,this.b=r*i+this.b*s,this.c=n*s-this.d*i,this.d=n*i+this.d*s,this.tx=o*s-this.ty*i,this.ty=o*i+this.ty*s,this}append(t){const s=this.a,i=this.b,r=this.c,n=this.d;return this.a=t.a*s+t.b*r,this.b=t.a*i+t.b*n,this.c=t.c*s+t.d*r,this.d=t.c*i+t.d*n,this.tx=t.tx*s+t.ty*r+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this}setTransform(t,s,i,r,n,o,a,h,l){return this.a=Math.cos(a+l)*n,this.b=Math.sin(a+l)*n,this.c=-Math.sin(a-h)*o,this.d=Math.cos(a-h)*o,this.tx=t-(i*this.a+r*this.c),this.ty=s-(i*this.b+r*this.d),this}prepend(t){const s=this.tx;if(t.a!==1||t.b!==0||t.c!==0||t.d!==1){const i=this.a,r=this.c;this.a=i*t.a+this.b*t.c,this.b=i*t.b+this.b*t.d,this.c=r*t.a+this.d*t.c,this.d=r*t.b+this.d*t.d}return this.tx=s*t.a+this.ty*t.c+t.tx,this.ty=s*t.b+this.ty*t.d+t.ty,this}decompose(t){const s=this.a,i=this.b,r=this.c,n=this.d,o=t.pivot,a=-Math.atan2(-r,n),h=Math.atan2(i,s),l=Math.abs(a+h);return l<1e-5||Math.abs(ws-l)<1e-5?(t.rotation=h,t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=a,t.skew.y=h),t.scale.x=Math.sqrt(s*s+i*i),t.scale.y=Math.sqrt(r*r+n*n),t.position.x=this.tx+(o.x*s+o.y*r),t.position.y=this.ty+(o.x*i+o.y*n),t}invert(){const t=this.a,s=this.b,i=this.c,r=this.d,n=this.tx,o=t*r-s*i;return this.a=r/o,this.b=-s/o,this.c=-i/o,this.d=t/o,this.tx=(i*this.ty-r*n)/o,this.ty=-(t*this.ty-s*n)/o,this}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this}clone(){const t=new Q;return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyTo(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyFrom(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this}toString(){return`[@pixi/math:Matrix a=${this.a} b=${this.b} c=${this.c} d=${this.d} tx=${this.tx} ty=${this.ty}]`}static get IDENTITY(){return new Q}static get TEMP_MATRIX(){return new Q}}const Oe=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],Le=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],Ue=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],ke=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],jr=[],ga=[],Ii=Math.sign;function Uc(){for(let e=0;e<16;e++){const t=[];jr.push(t);for(let s=0;s<16;s++){const i=Ii(Oe[e]*Oe[s]+Ue[e]*Le[s]),r=Ii(Le[e]*Oe[s]+ke[e]*Le[s]),n=Ii(Oe[e]*Ue[s]+Ue[e]*ke[s]),o=Ii(Le[e]*Ue[s]+ke[e]*ke[s]);for(let a=0;a<16;a++)if(Oe[a]===i&&Le[a]===r&&Ue[a]===n&&ke[a]===o){t.push(a);break}}}for(let e=0;e<16;e++){const t=new Q;t.set(Oe[e],Le[e],Ue[e],ke[e],0,0),ga.push(t)}}Uc();const at={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:e=>Oe[e],uY:e=>Le[e],vX:e=>Ue[e],vY:e=>ke[e],inv:e=>e&8?e&15:-e&7,add:(e,t)=>jr[e][t],sub:(e,t)=>jr[e][at.inv(t)],rotate180:e=>e^4,isVertical:e=>(e&3)===2,byDirection:(e,t)=>Math.abs(e)*2<=Math.abs(t)?t>=0?at.S:at.N:Math.abs(t)*2<=Math.abs(e)?e>0?at.E:at.W:t>0?e>0?at.SE:at.SW:e>0?at.NE:at.NW,matrixAppendRotationInv:(e,t,s=0,i=0)=>{const r=ga[at.inv(t)];r.tx=s,r.ty=i,e.append(r)}};class Te{constructor(t,s,i=0,r=0){this._x=i,this._y=r,this.cb=t,this.scope=s}clone(t=this.cb,s=this.scope){return new Te(t,s,this._x,this._y)}set(t=0,s=t){return(this._x!==t||this._y!==s)&&(this._x=t,this._y=s,this.cb.call(this.scope)),this}copyFrom(t){return(this._x!==t.x||this._y!==t.y)&&(this._x=t.x,this._y=t.y,this.cb.call(this.scope)),this}copyTo(t){return t.set(this._x,this._y),t}equals(t){return t.x===this._x&&t.y===this._y}toString(){return`[@pixi/math:ObservablePoint x=${0} y=${0} scope=${this.scope}]`}get x(){return this._x}set x(t){this._x!==t&&(this._x=t,this.cb.call(this.scope))}get y(){return this._y}set y(t){this._y!==t&&(this._y=t,this.cb.call(this.scope))}}const _a=class{constructor(){this.worldTransform=new Q,this.localTransform=new Q,this.position=new Te(this.onChange,this,0,0),this.scale=new Te(this.onChange,this,1,1),this.pivot=new Te(this.onChange,this,0,0),this.skew=new Te(this.updateSkew,this,0,0),this._rotation=0,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._localID=0,this._currentLocalID=0,this._worldID=0,this._parentID=0}onChange(){this._localID++}updateSkew(){this._cx=Math.cos(this._rotation+this.skew.y),this._sx=Math.sin(this._rotation+this.skew.y),this._cy=-Math.sin(this._rotation-this.skew.x),this._sy=Math.cos(this._rotation-this.skew.x),this._localID++}toString(){return`[@pixi/math:Transform position=(${this.position.x}, ${this.position.y}) rotation=${this.rotation} scale=(${this.scale.x}, ${this.scale.y}) skew=(${this.skew.x}, ${this.skew.y}) ]`}updateLocalTransform(){const e=this.localTransform;this._localID!==this._currentLocalID&&(e.a=this._cx*this.scale.x,e.b=this._sx*this.scale.x,e.c=this._cy*this.scale.y,e.d=this._sy*this.scale.y,e.tx=this.position.x-(this.pivot.x*e.a+this.pivot.y*e.c),e.ty=this.position.y-(this.pivot.x*e.b+this.pivot.y*e.d),this._currentLocalID=this._localID,this._parentID=-1)}updateTransform(e){const t=this.localTransform;if(this._localID!==this._currentLocalID&&(t.a=this._cx*this.scale.x,t.b=this._sx*this.scale.x,t.c=this._cy*this.scale.y,t.d=this._sy*this.scale.y,t.tx=this.position.x-(this.pivot.x*t.a+this.pivot.y*t.c),t.ty=this.position.y-(this.pivot.x*t.b+this.pivot.y*t.d),this._currentLocalID=this._localID,this._parentID=-1),this._parentID!==e._worldID){const s=e.worldTransform,i=this.worldTransform;i.a=t.a*s.a+t.b*s.c,i.b=t.a*s.b+t.b*s.d,i.c=t.c*s.a+t.d*s.c,i.d=t.c*s.b+t.d*s.d,i.tx=t.tx*s.a+t.ty*s.c+s.tx,i.ty=t.tx*s.b+t.ty*s.d+s.ty,this._parentID=e._worldID,this._worldID++}}setFromMatrix(e){e.decompose(this),this._localID++}get rotation(){return this._rotation}set rotation(e){this._rotation!==e&&(this._rotation=e,this.updateSkew())}};let Ss=_a;Ss.IDENTITY=new _a;var kc=`varying vec2 vTextureCoord; uniform sampler2D uSampler; void main(void){ gl_FragColor *= texture2D(uSampler, vTextureCoord); }`,Gc=`attribute vec2 aVertexPosition; attribute vec2 aTextureCoord; uniform mat3 projectionMatrix; varying vec2 vTextureCoord; void main(void){ gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); vTextureCoord = aTextureCoord; } `;function va(e,t,s){const i=e.createShader(t);return e.shaderSource(i,s),e.compileShader(i),i}function $r(e){const t=new Array(e);for(let s=0;se.type==="float"&&e.size===1&&!e.isArray,code:e=>` if(uv["${e}"] !== ud["${e}"].value) { ud["${e}"].value = uv["${e}"] gl.uniform1f(ud["${e}"].location, uv["${e}"]) } `},{test:(e,t)=>(e.type==="sampler2D"||e.type==="samplerCube"||e.type==="sampler2DArray")&&e.size===1&&!e.isArray&&(t==null||t.castToBaseTexture!==void 0),code:e=>`t = syncData.textureCount++; renderer.texture.bind(uv["${e}"], t); if(ud["${e}"].value !== t) { ud["${e}"].value = t; gl.uniform1i(ud["${e}"].location, t); ; // eslint-disable-line max-len }`},{test:(e,t)=>e.type==="mat3"&&e.size===1&&!e.isArray&&t.a!==void 0,code:e=>` gl.uniformMatrix3fv(ud["${e}"].location, false, uv["${e}"].toArray(true)); `,codeUbo:e=>` var ${e}_matrix = uv.${e}.toArray(true); data[offset] = ${e}_matrix[0]; data[offset+1] = ${e}_matrix[1]; data[offset+2] = ${e}_matrix[2]; data[offset + 4] = ${e}_matrix[3]; data[offset + 5] = ${e}_matrix[4]; data[offset + 6] = ${e}_matrix[5]; data[offset + 8] = ${e}_matrix[6]; data[offset + 9] = ${e}_matrix[7]; data[offset + 10] = ${e}_matrix[8]; `},{test:(e,t)=>e.type==="vec2"&&e.size===1&&!e.isArray&&t.x!==void 0,code:e=>` cv = ud["${e}"].value; v = uv["${e}"]; if(cv[0] !== v.x || cv[1] !== v.y) { cv[0] = v.x; cv[1] = v.y; gl.uniform2f(ud["${e}"].location, v.x, v.y); }`,codeUbo:e=>` v = uv.${e}; data[offset] = v.x; data[offset+1] = v.y; `},{test:e=>e.type==="vec2"&&e.size===1&&!e.isArray,code:e=>` cv = ud["${e}"].value; v = uv["${e}"]; if(cv[0] !== v[0] || cv[1] !== v[1]) { cv[0] = v[0]; cv[1] = v[1]; gl.uniform2f(ud["${e}"].location, v[0], v[1]); } `},{test:(e,t)=>e.type==="vec4"&&e.size===1&&!e.isArray&&t.width!==void 0,code:e=>` cv = ud["${e}"].value; v = uv["${e}"]; if(cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height) { cv[0] = v.x; cv[1] = v.y; cv[2] = v.width; cv[3] = v.height; gl.uniform4f(ud["${e}"].location, v.x, v.y, v.width, v.height) }`,codeUbo:e=>` v = uv.${e}; data[offset] = v.x; data[offset+1] = v.y; data[offset+2] = v.width; data[offset+3] = v.height; `},{test:(e,t)=>e.type==="vec4"&&e.size===1&&!e.isArray&&t.red!==void 0,code:e=>` cv = ud["${e}"].value; v = uv["${e}"]; if(cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.alpha) { cv[0] = v.red; cv[1] = v.green; cv[2] = v.blue; cv[3] = v.alpha; gl.uniform4f(ud["${e}"].location, v.red, v.green, v.blue, v.alpha) }`,codeUbo:e=>` v = uv.${e}; data[offset] = v.red; data[offset+1] = v.green; data[offset+2] = v.blue; data[offset+3] = v.alpha; `},{test:(e,t)=>e.type==="vec3"&&e.size===1&&!e.isArray&&t.red!==void 0,code:e=>` cv = ud["${e}"].value; v = uv["${e}"]; if(cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.a) { cv[0] = v.red; cv[1] = v.green; cv[2] = v.blue; gl.uniform3f(ud["${e}"].location, v.red, v.green, v.blue) }`,codeUbo:e=>` v = uv.${e}; data[offset] = v.red; data[offset+1] = v.green; data[offset+2] = v.blue; `},{test:e=>e.type==="vec4"&&e.size===1&&!e.isArray,code:e=>` cv = ud["${e}"].value; v = uv["${e}"]; if(cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) { cv[0] = v[0]; cv[1] = v[1]; cv[2] = v[2]; cv[3] = v[3]; gl.uniform4f(ud["${e}"].location, v[0], v[1], v[2], v[3]) }`}],Hc={float:` if (cv !== v) { cu.value = v; gl.uniform1f(location, v); }`,vec2:` if (cv[0] !== v[0] || cv[1] !== v[1]) { cv[0] = v[0]; cv[1] = v[1]; gl.uniform2f(location, v[0], v[1]) }`,vec3:` if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) { cv[0] = v[0]; cv[1] = v[1]; cv[2] = v[2]; gl.uniform3f(location, v[0], v[1], v[2]) }`,vec4:` if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) { cv[0] = v[0]; cv[1] = v[1]; cv[2] = v[2]; cv[3] = v[3]; gl.uniform4f(location, v[0], v[1], v[2], v[3]); }`,int:` if (cv !== v) { cu.value = v; gl.uniform1i(location, v); }`,ivec2:` if (cv[0] !== v[0] || cv[1] !== v[1]) { cv[0] = v[0]; cv[1] = v[1]; gl.uniform2i(location, v[0], v[1]); }`,ivec3:` if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) { cv[0] = v[0]; cv[1] = v[1]; cv[2] = v[2]; gl.uniform3i(location, v[0], v[1], v[2]); }`,ivec4:` if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) { cv[0] = v[0]; cv[1] = v[1]; cv[2] = v[2]; cv[3] = v[3]; gl.uniform4i(location, v[0], v[1], v[2], v[3]); }`,uint:` if (cv !== v) { cu.value = v; gl.uniform1ui(location, v); }`,uvec2:` if (cv[0] !== v[0] || cv[1] !== v[1]) { cv[0] = v[0]; cv[1] = v[1]; gl.uniform2ui(location, v[0], v[1]); }`,uvec3:` if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) { cv[0] = v[0]; cv[1] = v[1]; cv[2] = v[2]; gl.uniform3ui(location, v[0], v[1], v[2]); }`,uvec4:` if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) { cv[0] = v[0]; cv[1] = v[1]; cv[2] = v[2]; cv[3] = v[3]; gl.uniform4ui(location, v[0], v[1], v[2], v[3]); }`,bool:` if (cv !== v) { cu.value = v; gl.uniform1i(location, v); }`,bvec2:` if (cv[0] != v[0] || cv[1] != v[1]) { cv[0] = v[0]; cv[1] = v[1]; gl.uniform2i(location, v[0], v[1]); }`,bvec3:` if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) { cv[0] = v[0]; cv[1] = v[1]; cv[2] = v[2]; gl.uniform3i(location, v[0], v[1], v[2]); }`,bvec4:` if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) { cv[0] = v[0]; cv[1] = v[1]; cv[2] = v[2]; cv[3] = v[3]; gl.uniform4i(location, v[0], v[1], v[2], v[3]); }`,mat2:"gl.uniformMatrix2fv(location, false, v)",mat3:"gl.uniformMatrix3fv(location, false, v)",mat4:"gl.uniformMatrix4fv(location, false, v)",sampler2D:` if (cv !== v) { cu.value = v; gl.uniform1i(location, v); }`,samplerCube:` if (cv !== v) { cu.value = v; gl.uniform1i(location, v); }`,sampler2DArray:` if (cv !== v) { cu.value = v; gl.uniform1i(location, v); }`},Xc={float:"gl.uniform1fv(location, v)",vec2:"gl.uniform2fv(location, v)",vec3:"gl.uniform3fv(location, v)",vec4:"gl.uniform4fv(location, v)",mat4:"gl.uniformMatrix4fv(location, false, v)",mat3:"gl.uniformMatrix3fv(location, false, v)",mat2:"gl.uniformMatrix2fv(location, false, v)",int:"gl.uniform1iv(location, v)",ivec2:"gl.uniform2iv(location, v)",ivec3:"gl.uniform3iv(location, v)",ivec4:"gl.uniform4iv(location, v)",uint:"gl.uniform1uiv(location, v)",uvec2:"gl.uniform2uiv(location, v)",uvec3:"gl.uniform3uiv(location, v)",uvec4:"gl.uniform4uiv(location, v)",bool:"gl.uniform1iv(location, v)",bvec2:"gl.uniform2iv(location, v)",bvec3:"gl.uniform3iv(location, v)",bvec4:"gl.uniform4iv(location, v)",sampler2D:"gl.uniform1iv(location, v)",samplerCube:"gl.uniform1iv(location, v)",sampler2DArray:"gl.uniform1iv(location, v)"};function Vc(e,t){var i;const s=[` var v = null; var cv = null; var cu = null; var t = 0; var gl = renderer.gl; `];for(const r in e.uniforms){const n=t[r];if(!n){(i=e.uniforms[r])!=null&&i.group&&(e.uniforms[r].ubo?s.push(` renderer.shader.syncUniformBufferGroup(uv.${r}, '${r}'); `):s.push(` renderer.shader.syncUniformGroup(uv.${r}, syncData); `));continue}const o=e.uniforms[r];let a=!1;for(let h=0;h=ct.WEBGL2&&(t=e.getContext("webgl2",{})),t||(t=e.getContext("webgl",{})||e.getContext("experimental-webgl",{}),t?t.getExtension("WEBGL_draw_buffers"):t=null),es=t}return es}let Pi;function zc(){if(!Pi){Pi=Nt.MEDIUM;const e=Ta();e&&e.getShaderPrecisionFormat&&(Pi=e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision?Nt.HIGH:Nt.MEDIUM)}return Pi}function ba(e,t){const s=e.getShaderSource(t).split(` `).map((l,c)=>`${c}: ${l}`),i=e.getShaderInfoLog(t),r=i.split(` `),n={},o=r.map(l=>parseFloat(l.replace(/^ERROR\: 0\:([\d]+)\:.*$/,"$1"))).filter(l=>l&&!n[l]?(n[l]=!0,!0):!1),a=[""];o.forEach(l=>{s[l-1]=`%c${s[l-1]}%c`,a.push("background: #FF0000; color:#FFFFFF; font-size: 10px","font-size: 10px")});const h=s.join(` `);a[0]=h,console.error(i),console.groupCollapsed("click to view full shader code"),console.warn(...a),console.groupEnd()}function Wc(e,t,s,i){e.getProgramParameter(t,e.LINK_STATUS)||(e.getShaderParameter(s,e.COMPILE_STATUS)||ba(e,s),e.getShaderParameter(i,e.COMPILE_STATUS)||ba(e,i),console.error("PixiJS Error: Could not initialize shader."),e.getProgramInfoLog(t)!==""&&console.warn("PixiJS Warning: gl.getProgramInfoLog()",e.getProgramInfoLog(t)))}const jc={float:1,vec2:2,vec3:3,vec4:4,int:1,ivec2:2,ivec3:3,ivec4:4,uint:1,uvec2:2,uvec3:3,uvec4:4,bool:1,bvec2:2,bvec3:3,bvec4:4,mat2:4,mat3:9,mat4:16,sampler2D:1};function Ea(e){return jc[e]}let Mi=null;const wa={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",UNSIGNED_INT:"uint",UNSIGNED_INT_VEC2:"uvec2",UNSIGNED_INT_VEC3:"uvec3",UNSIGNED_INT_VEC4:"uvec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",INT_SAMPLER_2D:"sampler2D",UNSIGNED_INT_SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube",INT_SAMPLER_CUBE:"samplerCube",UNSIGNED_INT_SAMPLER_CUBE:"samplerCube",SAMPLER_2D_ARRAY:"sampler2DArray",INT_SAMPLER_2D_ARRAY:"sampler2DArray",UNSIGNED_INT_SAMPLER_2D_ARRAY:"sampler2DArray"};function Sa(e,t){if(!Mi){const s=Object.keys(wa);Mi={};for(let i=0;i0&&(s+=` else `),ithis.size&&this.flush(),this._vertexCount+=e.vertexData.length/2,this._indexCount+=e.indices.length,this._bufferedTextures[this._bufferSize]=e._texture.baseTexture,this._bufferedElements[this._bufferSize++]=e)}buildTexturesAndDrawCalls(){const{_bufferedTextures:e,maxTextures:t}=this,s=se._textureArrayPool,i=this.renderer.batch,r=this._tempBoundTextures,n=this.renderer.textureGC.count;let o=++V._globalBatch,a=0,h=s[0],l=0;i.copyBoundTextures(r,t);for(let c=0;c=t&&(i.boundArray(h,r,o,t),this.buildDrawCalls(h,l,c),l=c,h=s[++a],++o),u._batchEnabled=o,u.touched=n,h.elements[h.count++]=u)}h.count>0&&(i.boundArray(h,r,o,t),this.buildDrawCalls(h,l,this._bufferSize),++a,++o);for(let c=0;c0);for(let p=0;p=0;--r)t[r]=i[r]||null,t[r]&&(t[r]._batchLocation=r)}boundArray(t,s,i,r){const{elements:n,ids:o,count:a}=t;let h=0;for(let l=0;l=0&&u=ct.WEBGL2&&(i=t.getContext("webgl2",s)),i)this.webGLVersion=2;else if(this.webGLVersion=1,i=t.getContext("webgl",s)||t.getContext("experimental-webgl",s),!i)throw new Error("This browser does not support WebGL. Try using the canvas renderer");return this.gl=i,this.getExtensions(),this.gl}getExtensions(){const{gl:t}=this,s={loseContext:t.getExtension("WEBGL_lose_context"),anisotropicFiltering:t.getExtension("EXT_texture_filter_anisotropic"),floatTextureLinear:t.getExtension("OES_texture_float_linear"),s3tc:t.getExtension("WEBGL_compressed_texture_s3tc"),s3tc_sRGB:t.getExtension("WEBGL_compressed_texture_s3tc_srgb"),etc:t.getExtension("WEBGL_compressed_texture_etc"),etc1:t.getExtension("WEBGL_compressed_texture_etc1"),pvrtc:t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),atc:t.getExtension("WEBGL_compressed_texture_atc"),astc:t.getExtension("WEBGL_compressed_texture_astc")};this.webGLVersion===1?Object.assign(this.extensions,s,{drawBuffers:t.getExtension("WEBGL_draw_buffers"),depthTexture:t.getExtension("WEBGL_depth_texture"),vertexArrayObject:t.getExtension("OES_vertex_array_object")||t.getExtension("MOZ_OES_vertex_array_object")||t.getExtension("WEBKIT_OES_vertex_array_object"),uint32ElementIndex:t.getExtension("OES_element_index_uint"),floatTexture:t.getExtension("OES_texture_float"),floatTextureLinear:t.getExtension("OES_texture_float_linear"),textureHalfFloat:t.getExtension("OES_texture_half_float"),textureHalfFloatLinear:t.getExtension("OES_texture_half_float_linear")}):this.webGLVersion===2&&Object.assign(this.extensions,s,{colorBufferFloat:t.getExtension("EXT_color_buffer_float")})}handleContextLost(t){t.preventDefault(),setTimeout(()=>{this.gl.isContextLost()&&this.extensions.loseContext&&this.extensions.loseContext.restoreContext()},0)}handleContextRestored(){this.renderer.runners.contextChange.emit(this.gl)}destroy(){const t=this.renderer.view;this.renderer=null,t.removeEventListener!==void 0&&(t.removeEventListener("webglcontextlost",this.handleContextLost),t.removeEventListener("webglcontextrestored",this.handleContextRestored)),this.gl.useProgram(null),this.extensions.loseContext&&this.extensions.loseContext.loseContext()}postrender(){this.renderer.objectRenderer.renderingToScreen&&this.gl.flush()}validateContext(t){const s=t.getContextAttributes(),i="WebGL2RenderingContext"in globalThis&&t instanceof globalThis.WebGL2RenderingContext;i&&(this.webGLVersion=2),s&&!s.stencil&&console.warn("Provided WebGL context does not have a stencil buffer, masks may not render correctly");const r=i||!!t.getExtension("OES_element_index_uint");this.supports.uint32Indices=r,r||console.warn("Provided WebGL context does not support 32 index buffer, complex graphics may not render correctly")}}Ps.defaultOptions={context:null,antialias:!1,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default"},Ps.extension={type:D.RendererSystem,name:"context"},U.add(Ps);class eu extends Qe{upload(t,s,i){const r=t.gl;r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,s.alphaMode===Gt.UNPACK);const n=s.realWidth,o=s.realHeight;return i.width===n&&i.height===o?r.texSubImage2D(s.target,0,0,0,n,o,s.format,i.type,this.data):(i.width=n,i.height=o,r.texImage2D(s.target,0,i.internalFormat,n,o,0,s.format,i.type,this.data)),!0}}class Ni{constructor(t,s){this.width=Math.round(t||100),this.height=Math.round(s||100),this.stencil=!1,this.depth=!1,this.dirtyId=0,this.dirtyFormat=0,this.dirtySize=0,this.depthTexture=null,this.colorTextures=[],this.glFramebuffers={},this.disposeRunner=new Ot("disposeFramebuffer"),this.multisample=pt.NONE}get colorTexture(){return this.colorTextures[0]}addColorTexture(t=0,s){return this.colorTextures[t]=s||new V(null,{scaleMode:kt.NEAREST,resolution:1,mipmap:Kt.OFF,width:this.width,height:this.height}),this.dirtyId++,this.dirtyFormat++,this}addDepthTexture(t){return this.depthTexture=t||new V(new eu(null,{width:this.width,height:this.height}),{scaleMode:kt.NEAREST,resolution:1,width:this.width,height:this.height,mipmap:Kt.OFF,format:B.DEPTH_COMPONENT,type:H.UNSIGNED_SHORT}),this.dirtyId++,this.dirtyFormat++,this}enableDepth(){return this.depth=!0,this.dirtyId++,this.dirtyFormat++,this}enableStencil(){return this.stencil=!0,this.dirtyId++,this.dirtyFormat++,this}resize(t,s){if(t=Math.round(t),s=Math.round(s),!(t===this.width&&s===this.height)){this.width=t,this.height=s,this.dirtyId++,this.dirtySize++;for(let i=0;i{const r=this.source;this.url=r.src;const n=()=>{this.destroyed||(r.onload=null,r.onerror=null,this.resize(r.width,r.height),this._load=null,this.createBitmap?s(this.process()):s(this))};r.complete&&r.src?n():(r.onload=n,r.onerror=o=>{i(o),this.onError.emit(o)})}),this._load)}process(){const t=this.source;if(this._process!==null)return this._process;if(this.bitmap!==null||!globalThis.createImageBitmap)return Promise.resolve(this);const s=globalThis.createImageBitmap,i=!t.crossOrigin||t.crossOrigin==="anonymous";return this._process=fetch(t.src,{mode:i?"cors":"no-cors"}).then(r=>r.blob()).then(r=>s(r,0,0,t.width,t.height,{premultiplyAlpha:this.alphaMode===null||this.alphaMode===Gt.UNPACK?"premultiply":"none"})).then(r=>this.destroyed?Promise.reject():(this.bitmap=r,this.update(),this._process=null,Promise.resolve(this))),this._process}upload(t,s,i){if(typeof this.alphaMode=="number"&&(s.alphaMode=this.alphaMode),!this.createBitmap)return super.upload(t,s,i);if(!this.bitmap&&(this.process(),!this.bitmap))return!1;if(super.upload(t,s,i,this.bitmap),!this.preserveBitmap){let r=!0;const n=s._glTextures;for(const o in n){const a=n[o];if(a!==i&&a.dirtyId!==s.dirtyId){r=!1;break}}r&&(this.bitmap.close&&this.bitmap.close(),this.bitmap=null)}return!0}dispose(){this.source.onload=null,this.source.onerror=null,super.dispose(),this.bitmap&&(this.bitmap.close(),this.bitmap=null),this._process=null,this._load=null}static test(t){return typeof HTMLImageElement!="undefined"&&(typeof t=="string"||t instanceof HTMLImageElement)}}class Kr{constructor(){this.x0=0,this.y0=0,this.x1=1,this.y1=0,this.x2=1,this.y2=1,this.x3=0,this.y3=1,this.uvsFloat32=new Float32Array(8)}set(t,s,i){const r=s.width,n=s.height;if(i){const o=t.width/2/r,a=t.height/2/n,h=t.x/r+o,l=t.y/n+a;i=at.add(i,at.NW),this.x0=h+o*at.uX(i),this.y0=l+a*at.uY(i),i=at.add(i,2),this.x1=h+o*at.uX(i),this.y1=l+a*at.uY(i),i=at.add(i,2),this.x2=h+o*at.uX(i),this.y2=l+a*at.uY(i),i=at.add(i,2),this.x3=h+o*at.uX(i),this.y3=l+a*at.uY(i)}else this.x0=t.x/r,this.y0=t.y/n,this.x1=(t.x+t.width)/r,this.y1=t.y/n,this.x2=(t.x+t.width)/r,this.y2=(t.y+t.height)/n,this.x3=t.x/r,this.y3=(t.y+t.height)/n;this.uvsFloat32[0]=this.x0,this.uvsFloat32[1]=this.y0,this.uvsFloat32[2]=this.x1,this.uvsFloat32[3]=this.y1,this.uvsFloat32[4]=this.x2,this.uvsFloat32[5]=this.y2,this.uvsFloat32[6]=this.x3,this.uvsFloat32[7]=this.y3}toString(){return`[@pixi/core:TextureUvs x0=${this.x0} y0=${this.y0} x1=${this.x1} y1=${this.y1} x2=${this.x2} y2=${this.y2} x3=${this.x3} y3=${this.y3}]`}}const Pa=new Kr;function Oi(e){e.destroy=function(){},e.on=function(){},e.once=function(){},e.emit=function(){}}class O extends Ye{constructor(t,s,i,r,n,o,a){if(super(),this.noFrame=!1,s||(this.noFrame=!0,s=new $(0,0,1,1)),t instanceof O&&(t=t.baseTexture),this.baseTexture=t,this._frame=s,this.trim=r,this.valid=!1,this._uvs=Pa,this.uvMatrix=null,this.orig=i||s,this._rotate=Number(n||0),n===!0)this._rotate=2;else if(this._rotate%2!==0)throw new Error("attempt to use diamond-shaped UVs. If you are sure, set rotation manually");this.defaultAnchor=o?new Y(o.x,o.y):new Y(0,0),this.defaultBorders=a,this._updateID=0,this.textureCacheIds=[],t.valid?this.noFrame?t.valid&&this.onBaseTextureUpdated(t):this.frame=s:t.once("loaded",this.onBaseTextureUpdated,this),this.noFrame&&t.on("update",this.onBaseTextureUpdated,this)}update(){this.baseTexture.resource&&this.baseTexture.resource.update()}onBaseTextureUpdated(t){if(this.noFrame){if(!this.baseTexture.valid)return;this._frame.width=t.width,this._frame.height=t.height,this.valid=!0,this.updateUvs()}else this.frame=this._frame;this.emit("update",this)}destroy(t){if(this.baseTexture){if(t){const{resource:s}=this.baseTexture;(s==null?void 0:s.url)&&Pt[s.url]&&O.removeFromCache(s.url),this.baseTexture.destroy()}this.baseTexture.off("loaded",this.onBaseTextureUpdated,this),this.baseTexture.off("update",this.onBaseTextureUpdated,this),this.baseTexture=null}this._frame=null,this._uvs=null,this.trim=null,this.orig=null,this.valid=!1,O.removeFromCache(this),this.textureCacheIds=null}clone(){var r;const t=this._frame.clone(),s=this._frame===this.orig?t:this.orig.clone(),i=new O(this.baseTexture,!this.noFrame&&t,s,(r=this.trim)==null?void 0:r.clone(),this.rotate,this.defaultAnchor,this.defaultBorders);return this.noFrame&&(i._frame=t),i}updateUvs(){this._uvs===Pa&&(this._uvs=new Kr),this._uvs.set(this._frame,this.baseTexture,this.rotate),this._updateID++}static from(t,s={},i=N.STRICT_TEXTURE_CACHE){const r=typeof t=="string";let n=null;if(r)n=t;else if(t instanceof V){if(!t.cacheId){const a=(s==null?void 0:s.pixiIdPrefix)||"pixiid";t.cacheId=`${a}-${Se()}`,V.addToCache(t,t.cacheId)}n=t.cacheId}else{if(!t._pixiId){const a=(s==null?void 0:s.pixiIdPrefix)||"pixiid";t._pixiId=`${a}_${Se()}`}n=t._pixiId}let o=Pt[n];if(r&&i&&!o)throw new Error(`The cacheId "${n}" does not exist in TextureCache.`);return!o&&!(t instanceof V)?(s.resolution||(s.resolution=xe(t)),o=new O(new V(t,s)),o.baseTexture.cacheId=n,V.addToCache(o.baseTexture,n),O.addToCache(o,n)):!o&&t instanceof V&&(o=new O(t),O.addToCache(o,n)),o}static fromURL(t,s){const i=Object.assign({autoLoad:!1},s==null?void 0:s.resourceOptions),r=O.from(t,Object.assign({resourceOptions:i},s),!1),n=r.baseTexture.resource;return r.baseTexture.valid?Promise.resolve(r):n.load().then(()=>Promise.resolve(r))}static fromBuffer(t,s,i,r){return new O(V.fromBuffer(t,s,i,r))}static fromLoader(t,s,i,r){const n=new V(t,Object.assign({scaleMode:V.defaultOptions.scaleMode,resolution:xe(s)},r)),{resource:o}=n;o instanceof qr&&(o.url=s);const a=new O(n);return i||(i=s),V.addToCache(a.baseTexture,i),O.addToCache(a,i),i!==s&&(V.addToCache(a.baseTexture,s),O.addToCache(a,s)),a.baseTexture.valid?Promise.resolve(a):new Promise(h=>{a.baseTexture.once("loaded",()=>h(a))})}static addToCache(t,s){s&&(t.textureCacheIds.includes(s)||t.textureCacheIds.push(s),Pt[s]&&Pt[s]!==t&&console.warn(`Texture added to the cache with an id [${s}] that already had an entry`),Pt[s]=t)}static removeFromCache(t){if(typeof t=="string"){const s=Pt[t];if(s){const i=s.textureCacheIds.indexOf(t);return i>-1&&s.textureCacheIds.splice(i,1),delete Pt[t],s}}else if(t!=null&&t.textureCacheIds){for(let s=0;sthis.baseTexture.width,a=i+n>this.baseTexture.height;if(o||a){const h=o&&a?"and":"or",l=`X: ${s} + ${r} = ${s+r} > ${this.baseTexture.width}`,c=`Y: ${i} + ${n} = ${i+n} > ${this.baseTexture.height}`;throw new Error(`Texture Error: frame does not fit inside the base Texture dimensions: ${l} ${h} ${c}`)}this.valid=r&&n&&this.baseTexture.valid,!this.trim&&!this.rotate&&(this.orig=t),this.valid&&this.updateUvs()}get rotate(){return this._rotate}set rotate(t){this._rotate=t,this.valid&&this.updateUvs()}get width(){return this.orig.width}get height(){return this.orig.height}castToBaseTexture(){return this.baseTexture}static get EMPTY(){return O._EMPTY||(O._EMPTY=new O(new V),Oi(O._EMPTY),Oi(O._EMPTY.baseTexture)),O._EMPTY}static get WHITE(){if(!O._WHITE){const t=N.ADAPTER.createCanvas(16,16),s=t.getContext("2d");t.width=16,t.height=16,s.fillStyle="white",s.fillRect(0,0,16,16),O._WHITE=new O(V.from(t)),Oi(O._WHITE),Oi(O._WHITE.baseTexture)}return O._WHITE}}class ie extends O{constructor(t,s){super(t,s),this.valid=!0,this.filterFrame=null,this.filterPoolKey=null,this.updateUvs()}get framebuffer(){return this.baseTexture.framebuffer}get multisample(){return this.framebuffer.multisample}set multisample(t){this.framebuffer.multisample=t}resize(t,s,i=!0){const r=this.baseTexture.resolution,n=Math.round(t*r)/r,o=Math.round(s*r)/r;this.valid=n>0&&o>0,this._frame.width=this.orig.width=n,this._frame.height=this.orig.height=o,i&&this.baseTexture.resize(n,o),this.updateUvs()}setResolution(t){const{baseTexture:s}=this;s.resolution!==t&&(s.setResolution(t),this.resize(s.width,s.height,!1))}static create(t){return new ie(new Fi(t))}}class Zr{constructor(t){this.texturePool={},this.textureOptions=t||{},this.enableFullScreen=!1,this._pixelsWidth=0,this._pixelsHeight=0}createTexture(t,s,i=pt.NONE){const r=new Fi(Object.assign({width:t,height:s,resolution:1,multisample:i},this.textureOptions));return new ie(r)}getOptimalTexture(t,s,i=1,r=pt.NONE){let n;t=Math.ceil(t*i-1e-6),s=Math.ceil(s*i-1e-6),!this.enableFullScreen||t!==this._pixelsWidth||s!==this._pixelsHeight?(t=Ts(t),s=Ts(s),n=((t&65535)<<16|s&65535)>>>0,r>1&&(n+=r*4294967296)):n=r>1?-r:-1,this.texturePool[n]||(this.texturePool[n]=[]);let o=this.texturePool[n].pop();return o||(o=this.createTexture(t,s,r)),o.filterPoolKey=n,o.setResolution(i),o}getFilterTexture(t,s,i){const r=this.getOptimalTexture(t.width,t.height,s||t.resolution,i||pt.NONE);return r.filterFrame=t.filterFrame,r}returnTexture(t){const s=t.filterPoolKey;t.filterFrame=null,this.texturePool[s].push(t)}returnFilterTexture(t){this.returnTexture(t)}clear(t){if(t=t!==!1,t)for(const s in this.texturePool){const i=this.texturePool[s];if(i)for(let r=0;r0&&t.height>0;for(const s in this.texturePool){if(!(Number(s)<0))continue;const i=this.texturePool[s];if(i)for(let r=0;r1&&(c=this.getOptimalFilterTexture(l.width,l.height,s.resolution),c.filterFrame=l.filterFrame),i[u].apply(this,l,c,Zt.CLEAR,s);const d=l;l=c,c=d}i[u].apply(this,l,h.renderTexture,Zt.BLEND,s),u>1&&s.multisample>1&&this.returnFilterTexture(s.renderTexture),this.returnFilterTexture(l),this.returnFilterTexture(c)}s.clear(),this.statePool.push(s)}bindAndClear(t,s=Zt.CLEAR){const{renderTexture:i,state:r}=this.renderer;if(t===this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?this.renderer.projection.transform=this.activeState.transform:this.renderer.projection.transform=null,t!=null&&t.filterFrame){const o=this.tempRect;o.x=0,o.y=0,o.width=t.filterFrame.width,o.height=t.filterFrame.height,i.bind(t,t.filterFrame,o)}else t!==this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?i.bind(t):this.renderer.renderTexture.bind(t,this.activeState.bindingSourceFrame,this.activeState.bindingDestinationFrame);const n=r.stateId&1||this.forceClear;(s===Zt.CLEAR||s===Zt.BLIT&&n)&&this.renderer.framebuffer.clear(0,0,0,0)}applyFilter(t,s,i,r){const n=this.renderer;n.state.set(t.state),this.bindAndClear(i,r),t.uniforms.uSampler=s,t.uniforms.filterGlobals=this.globalUniforms,n.shader.bind(t),t.legacy=!!t.program.attributeData.aTextureCoord,t.legacy?(this.quadUv.map(s._frame,s.filterFrame),n.geometry.bind(this.quadUv),n.geometry.draw(Ut.TRIANGLES)):(n.geometry.bind(this.quad),n.geometry.draw(Ut.TRIANGLE_STRIP))}calculateSpriteMatrix(t,s){const{sourceFrame:i,destinationFrame:r}=this.activeState,{orig:n}=s._texture,o=t.set(r.width,0,0,r.height,i.x,i.y),a=s.worldTransform.copyTo(Q.TEMP_MATRIX);return a.invert(),o.prepend(a),o.scale(1/n.width,1/n.height),o.translate(s.anchor.x,s.anchor.y),o}destroy(){this.renderer=null,this.texturePool.clear(!1)}getOptimalFilterTexture(t,s,i=1,r=pt.NONE){return this.texturePool.getOptimalTexture(t,s,i,r)}getFilterTexture(t,s,i){if(typeof t=="number"){const n=t;t=s,s=n}t=t||this.activeState.renderTexture;const r=this.texturePool.getOptimalTexture(t.width,t.height,s||t.resolution,i||pt.NONE);return r.filterFrame=t.filterFrame,r}returnFilterTexture(t){this.texturePool.returnTexture(t)}emptyPool(){this.texturePool.clear(!0)}resize(){this.texturePool.setScreenSize(this.renderer.view)}transformAABB(t,s){const i=Li[0],r=Li[1],n=Li[2],o=Li[3];i.set(s.left,s.top),r.set(s.left,s.bottom),n.set(s.right,s.top),o.set(s.right,s.bottom),t.apply(i,i),t.apply(r,r),t.apply(n,n),t.apply(o,o);const a=Math.min(i.x,r.x,n.x,o.x),h=Math.min(i.y,r.y,n.y,o.y),l=Math.max(i.x,r.x,n.x,o.x),c=Math.max(i.y,r.y,n.y,o.y);s.x=a,s.y=h,s.width=l-a,s.height=c-h}roundFrame(t,s,i,r,n){if(!(t.width<=0||t.height<=0||i.width<=0||i.height<=0)){if(n){const{a:o,b:a,c:h,d:l}=n;if((Math.abs(a)>1e-4||Math.abs(h)>1e-4)&&(Math.abs(o)>1e-4||Math.abs(l)>1e-4))return}n=n?Qr.copyFrom(n):Qr.identity(),n.translate(-i.x,-i.y).scale(r.width/i.width,r.height/i.height).translate(r.x,r.y),this.transformAABB(n,t),t.ceil(s),this.transformAABB(n.invert(),t)}}}tn.extension={type:D.RendererSystem,name:"filter"},U.add(tn);class Da{constructor(t){this.framebuffer=t,this.stencil=null,this.dirtyId=-1,this.dirtyFormat=-1,this.dirtySize=-1,this.multisample=pt.NONE,this.msaaBuffer=null,this.blitFramebuffer=null,this.mipLevel=0}}const su=new $;class en{constructor(t){this.renderer=t,this.managedFramebuffers=[],this.unknownFramebuffer=new Ni(10,10),this.msaaSamples=null}contextChange(){this.disposeAll(!0);const t=this.gl=this.renderer.gl;if(this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.current=this.unknownFramebuffer,this.viewport=new $,this.hasMRT=!0,this.writeDepthTexture=!0,this.renderer.context.webGLVersion===1){let s=this.renderer.context.extensions.drawBuffers,i=this.renderer.context.extensions.depthTexture;N.PREFER_ENV===ct.WEBGL_LEGACY&&(s=null,i=null),s?t.drawBuffers=r=>s.drawBuffersWEBGL(r):(this.hasMRT=!1,t.drawBuffers=()=>{}),i||(this.writeDepthTexture=!1)}else this.msaaSamples=t.getInternalformatParameter(t.RENDERBUFFER,t.RGBA8,t.SAMPLES)}bind(t,s,i=0){const{gl:r}=this;if(t){const n=t.glFramebuffers[this.CONTEXT_UID]||this.initFramebuffer(t);this.current!==t&&(this.current=t,r.bindFramebuffer(r.FRAMEBUFFER,n.framebuffer)),n.mipLevel!==i&&(t.dirtyId++,t.dirtyFormat++,n.mipLevel=i),n.dirtyId!==t.dirtyId&&(n.dirtyId=t.dirtyId,n.dirtyFormat!==t.dirtyFormat?(n.dirtyFormat=t.dirtyFormat,n.dirtySize=t.dirtySize,this.updateFramebuffer(t,i)):n.dirtySize!==t.dirtySize&&(n.dirtySize=t.dirtySize,this.resizeFramebuffer(t)));for(let o=0;o>i,a=s.height>>i,h=o/s.width;this.setViewport(s.x*h,s.y*h,o,a)}else{const o=t.width>>i,a=t.height>>i;this.setViewport(0,0,o,a)}}else this.current&&(this.current=null,r.bindFramebuffer(r.FRAMEBUFFER,null)),s?this.setViewport(s.x,s.y,s.width,s.height):this.setViewport(0,0,this.renderer.width,this.renderer.height)}setViewport(t,s,i,r){const n=this.viewport;t=Math.round(t),s=Math.round(s),i=Math.round(i),r=Math.round(r),(n.width!==i||n.height!==r||n.x!==t||n.y!==s)&&(n.x=t,n.y=s,n.width=i,n.height=r,this.gl.viewport(t,s,i,r))}get size(){return this.current?{x:0,y:0,width:this.current.width,height:this.current.height}:{x:0,y:0,width:this.renderer.width,height:this.renderer.height}}clear(t,s,i,r,n=Bt.COLOR|Bt.DEPTH){const{gl:o}=this;o.clearColor(t,s,i,r),o.clear(n)}initFramebuffer(t){const{gl:s}=this,i=new Da(s.createFramebuffer());return i.multisample=this.detectSamples(t.multisample),t.glFramebuffers[this.CONTEXT_UID]=i,this.managedFramebuffers.push(t),t.disposeRunner.add(this),i}resizeFramebuffer(t){const{gl:s}=this,i=t.glFramebuffers[this.CONTEXT_UID];i.stencil&&(s.bindRenderbuffer(s.RENDERBUFFER,i.stencil),i.msaaBuffer?s.renderbufferStorageMultisample(s.RENDERBUFFER,i.multisample,s.DEPTH24_STENCIL8,t.width,t.height):s.renderbufferStorage(s.RENDERBUFFER,s.DEPTH_STENCIL,t.width,t.height));const r=t.colorTextures;let n=r.length;s.drawBuffers||(n=Math.min(n,1));for(let o=0;o1&&this.canMultisampleFramebuffer(t)?r.msaaBuffer=r.msaaBuffer||i.createRenderbuffer():r.msaaBuffer&&(i.deleteRenderbuffer(r.msaaBuffer),r.msaaBuffer=null,r.blitFramebuffer&&(r.blitFramebuffer.dispose(),r.blitFramebuffer=null));const a=[];for(let h=0;h1&&i.drawBuffers(a),t.depthTexture&&this.writeDepthTexture){const l=t.depthTexture;this.renderer.texture.bind(l,0),i.framebufferTexture2D(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.TEXTURE_2D,l._glTextures[this.CONTEXT_UID].texture,s)}(t.stencil||t.depth)&&!(t.depthTexture&&this.writeDepthTexture)?(r.stencil=r.stencil||i.createRenderbuffer(),i.bindRenderbuffer(i.RENDERBUFFER,r.stencil),r.msaaBuffer?i.renderbufferStorageMultisample(i.RENDERBUFFER,r.multisample,i.DEPTH24_STENCIL8,t.width,t.height):i.renderbufferStorage(i.RENDERBUFFER,i.DEPTH_STENCIL,t.width,t.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,r.stencil)):r.stencil&&(i.deleteRenderbuffer(r.stencil),r.stencil=null)}canMultisampleFramebuffer(t){return this.renderer.context.webGLVersion!==1&&t.colorTextures.length<=1&&!t.depthTexture}detectSamples(t){const{msaaSamples:s}=this;let i=pt.NONE;if(t<=1||s===null)return i;for(let r=0;r=0&&this.managedFramebuffers.splice(n,1),t.disposeRunner.remove(this),s||(r.deleteFramebuffer(i.framebuffer),i.msaaBuffer&&r.deleteRenderbuffer(i.msaaBuffer),i.stencil&&r.deleteRenderbuffer(i.stencil)),i.blitFramebuffer&&this.disposeFramebuffer(i.blitFramebuffer,s)}disposeAll(t){const s=this.managedFramebuffers;this.managedFramebuffers=[];for(let i=0;ii.createVertexArrayOES(),t.bindVertexArray=r=>i.bindVertexArrayOES(r),t.deleteVertexArray=r=>i.deleteVertexArrayOES(r)):(this.hasVao=!1,t.createVertexArray=()=>null,t.bindVertexArray=()=>null,t.deleteVertexArray=()=>null)}if(s.webGLVersion!==2){const i=t.getExtension("ANGLE_instanced_arrays");i?(t.vertexAttribDivisor=(r,n)=>i.vertexAttribDivisorANGLE(r,n),t.drawElementsInstanced=(r,n,o,a,h)=>i.drawElementsInstancedANGLE(r,n,o,a,h),t.drawArraysInstanced=(r,n,o,a)=>i.drawArraysInstancedANGLE(r,n,o,a)):this.hasInstance=!1}this.canUseUInt32ElementIndex=s.webGLVersion===2||!!s.extensions.uint32ElementIndex}bind(t,s){s=s||this.renderer.shader.shader;const{gl:i}=this;let r=t.glVertexArrayObjects[this.CONTEXT_UID],n=!1;r||(this.managedGeometries[t.id]=t,t.disposeRunner.add(this),t.glVertexArrayObjects[this.CONTEXT_UID]=r={},n=!0);const o=r[s.program.id]||this.initGeometryVao(t,s,n);this._activeGeometry=t,this._activeVao!==o&&(this._activeVao=o,this.hasVao?i.bindVertexArray(o):this.activateVao(t,s.program)),this.updateBuffers()}reset(){this.unbind()}updateBuffers(){const t=this._activeGeometry,s=this.renderer.buffer;for(let i=0;i0?this.maskStack[this.maskStack.length-1]._colorMask:15;i!==s&&this.renderer.gl.colorMask((i&1)!==0,(i&2)!==0,(i&4)!==0,(i&8)!==0)}destroy(){this.renderer=null}}nn.extension={type:D.RendererSystem,name:"mask"},U.add(nn);class La{constructor(t){this.renderer=t,this.maskStack=[],this.glConst=0}getStackLength(){return this.maskStack.length}setMaskStack(t){const{gl:s}=this.renderer,i=this.getStackLength();this.maskStack=t;const r=this.getStackLength();r!==i&&(r===0?s.disable(this.glConst):(s.enable(this.glConst),this._useCurrent()))}_useCurrent(){}destroy(){this.renderer=null,this.maskStack=null}}const Ua=new Q,ka=[],ki=class extends La{constructor(e){super(e),this.glConst=N.ADAPTER.getWebGLRenderingContext().SCISSOR_TEST}getStackLength(){const e=this.maskStack[this.maskStack.length-1];return e?e._scissorCounter:0}calcScissorRect(e){var o;if(e._scissorRectLocal)return;const t=e._scissorRect,{maskObject:s}=e,{renderer:i}=this,r=i.renderTexture,n=s.getBounds(!0,(o=ka.pop())!=null?o:new $);this.roundFrameToPixels(n,r.current?r.current.resolution:i.resolution,r.sourceFrame,r.destinationFrame,i.projection.transform),t&&n.fit(t),e._scissorRectLocal=n}static isMatrixRotated(e){if(!e)return!1;const{a:t,b:s,c:i,d:r}=e;return(Math.abs(s)>1e-4||Math.abs(i)>1e-4)&&(Math.abs(t)>1e-4||Math.abs(r)>1e-4)}testScissor(e){const{maskObject:t}=e;if(!t.isFastRect||!t.isFastRect()||ki.isMatrixRotated(t.worldTransform)||ki.isMatrixRotated(this.renderer.projection.transform))return!1;this.calcScissorRect(e);const s=e._scissorRectLocal;return s.width>0&&s.height>0}roundFrameToPixels(e,t,s,i,r){ki.isMatrixRotated(r)||(r=r?Ua.copyFrom(r):Ua.identity(),r.translate(-s.x,-s.y).scale(i.width/s.width,i.height/s.height).translate(i.x,i.y),this.renderer.filter.transformAABB(r,e),e.fit(i),e.x=Math.round(e.x*t),e.y=Math.round(e.y*t),e.width=Math.round(e.width*t),e.height=Math.round(e.height*t))}push(e){e._scissorRectLocal||this.calcScissorRect(e);const{gl:t}=this.renderer;e._scissorRect||t.enable(t.SCISSOR_TEST),e._scissorCounter++,e._scissorRect=e._scissorRectLocal,this._useCurrent()}pop(e){const{gl:t}=this.renderer;e&&ka.push(e._scissorRectLocal),this.getStackLength()>0?this._useCurrent():t.disable(t.SCISSOR_TEST)}_useCurrent(){const e=this.maskStack[this.maskStack.length-1]._scissorRect;let t;this.renderer.renderTexture.current?t=e.y:t=this.renderer.height-e.height-e.y,this.renderer.gl.scissor(e.x,t,e.width,e.height)}};let on=ki;on.extension={type:D.RendererSystem,name:"scissor"},U.add(on);class an extends La{constructor(t){super(t),this.glConst=N.ADAPTER.getWebGLRenderingContext().STENCIL_TEST}getStackLength(){const t=this.maskStack[this.maskStack.length-1];return t?t._stencilCounter:0}push(t){const s=t.maskObject,{gl:i}=this.renderer,r=t._stencilCounter;r===0&&(this.renderer.framebuffer.forceStencil(),i.clearStencil(0),i.clear(i.STENCIL_BUFFER_BIT),i.enable(i.STENCIL_TEST)),t._stencilCounter++;const n=t._colorMask;n!==0&&(t._colorMask=0,i.colorMask(!1,!1,!1,!1)),i.stencilFunc(i.EQUAL,r,4294967295),i.stencilOp(i.KEEP,i.KEEP,i.INCR),s.renderable=!0,s.render(this.renderer),this.renderer.batch.flush(),s.renderable=!1,n!==0&&(t._colorMask=n,i.colorMask((n&1)!==0,(n&2)!==0,(n&4)!==0,(n&8)!==0)),this._useCurrent()}pop(t){const s=this.renderer.gl;if(this.getStackLength()===0)s.disable(s.STENCIL_TEST);else{const i=this.maskStack.length!==0?this.maskStack[this.maskStack.length-1]:null,r=i?i._colorMask:15;r!==0&&(i._colorMask=0,s.colorMask(!1,!1,!1,!1)),s.stencilOp(s.KEEP,s.KEEP,s.DECR),t.renderable=!0,t.render(this.renderer),this.renderer.batch.flush(),t.renderable=!1,r!==0&&(i._colorMask=r,s.colorMask((r&1)!==0,(r&2)!==0,(r&4)!==0,(r&8)!==0)),this._useCurrent()}}_useCurrent(){const t=this.renderer.gl;t.stencilFunc(t.EQUAL,this.getStackLength(),4294967295),t.stencilOp(t.KEEP,t.KEEP,t.KEEP)}}an.extension={type:D.RendererSystem,name:"stencil"},U.add(an);class hn{constructor(t){this.renderer=t,this.plugins={},Object.defineProperties(this.plugins,{extract:{enumerable:!1,get(){return z("7.0.0","renderer.plugins.extract has moved to renderer.extract"),t.extract}},prepare:{enumerable:!1,get(){return z("7.0.0","renderer.plugins.prepare has moved to renderer.prepare"),t.prepare}},interaction:{enumerable:!1,get(){return z("7.0.0","renderer.plugins.interaction has been deprecated, use renderer.events"),t.events}}})}init(){const t=this.rendererPlugins;for(const s in t)this.plugins[s]=new t[s](this.renderer)}destroy(){for(const t in this.plugins)this.plugins[t].destroy(),this.plugins[t]=null}}hn.extension={type:[D.RendererSystem,D.CanvasRendererSystem],name:"_plugin"},U.add(hn);class ln{constructor(t){this.renderer=t,this.destinationFrame=null,this.sourceFrame=null,this.defaultFrame=null,this.projectionMatrix=new Q,this.transform=null}update(t,s,i,r){this.destinationFrame=t||this.destinationFrame||this.defaultFrame,this.sourceFrame=s||this.sourceFrame||t,this.calculateProjection(this.destinationFrame,this.sourceFrame,i,r),this.transform&&this.projectionMatrix.append(this.transform);const n=this.renderer;n.globalUniforms.uniforms.projectionMatrix=this.projectionMatrix,n.globalUniforms.update(),n.shader.shader&&n.shader.syncUniformGroup(n.shader.shader.uniforms.globals)}calculateProjection(t,s,i,r){const n=this.projectionMatrix,o=r?-1:1;n.identity(),n.a=1/s.width*2,n.d=o*(1/s.height*2),n.tx=-1-s.x*n.a,n.ty=-o-s.y*n.d}setTransform(t){}destroy(){this.renderer=null}}ln.extension={type:D.RendererSystem,name:"projection"},U.add(ln);const nu=new Ss;class cn{constructor(t){this.renderer=t,this._tempMatrix=new Q}generateTexture(t,s){const h=s||{},{region:i}=h,r=mo(h,["region"]),n=i||t.getLocalBounds(null,!0);n.width===0&&(n.width=1),n.height===0&&(n.height=1);const o=ie.create(St({width:n.width,height:n.height},r));this._tempMatrix.tx=-n.x,this._tempMatrix.ty=-n.y;const a=t.transform;return t.transform=nu,this.renderer.render(t,{renderTexture:o,transform:this._tempMatrix,skipUpdateTransform:!!t.parent,blit:!0}),t.transform=a,o}destroy(){}}cn.extension={type:[D.RendererSystem,D.CanvasRendererSystem],name:"textureGenerator"},U.add(cn);const He=new $,Ms=new $;class un{constructor(t){this.renderer=t,this.defaultMaskStack=[],this.current=null,this.sourceFrame=new $,this.destinationFrame=new $,this.viewportFrame=new $}contextChange(){var s;const t=(s=this.renderer)==null?void 0:s.gl.getContextAttributes();this._rendererPremultipliedAlpha=!!(t&&t.alpha&&t.premultipliedAlpha)}bind(t=null,s,i){const r=this.renderer;this.current=t;let n,o,a;t?(n=t.baseTexture,a=n.resolution,s||(He.width=t.frame.width,He.height=t.frame.height,s=He),i||(Ms.x=t.frame.x,Ms.y=t.frame.y,Ms.width=s.width,Ms.height=s.height,i=Ms),o=n.framebuffer):(a=r.resolution,s||(He.width=r._view.screen.width,He.height=r._view.screen.height,s=He),i||(i=He,i.width=s.width,i.height=s.height));const h=this.viewportFrame;h.x=i.x*a,h.y=i.y*a,h.width=i.width*a,h.height=i.height*a,t||(h.y=r.view.height-(h.y+h.height)),h.ceil(),this.renderer.framebuffer.bind(o,h),this.renderer.projection.update(i,s,a,!o),t?this.renderer.mask.setMaskStack(n.maskStack):this.renderer.mask.setMaskStack(this.defaultMaskStack),this.sourceFrame.copyFrom(s),this.destinationFrame.copyFrom(i)}clear(t,s){const i=this.current?this.current.baseTexture.clear:this.renderer.background.backgroundColor,r=j.shared.setValue(t||i);(this.current&&this.current.baseTexture.alphaMode>0||!this.current&&this._rendererPremultipliedAlpha)&&r.premultiply(r.alpha);const n=this.destinationFrame,o=this.current?this.current.baseTexture:this.renderer._view.screen,a=n.width!==o.width||n.height!==o.height;if(a){let{x:h,y:l,width:c,height:u}=this.viewportFrame;h=Math.round(h),l=Math.round(l),c=Math.round(c),u=Math.round(u),this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST),this.renderer.gl.scissor(h,l,c,u)}this.renderer.framebuffer.clear(r.red,r.green,r.blue,r.alpha,s),a&&this.renderer.scissor.pop()}resize(){this.bind(null)}reset(){this.bind(null)}destroy(){this.renderer=null}}un.extension={type:D.RendererSystem,name:"renderTexture"},U.add(un);class ou{}class Ga{constructor(t,s){this.program=t,this.uniformData=s,this.uniformGroups={},this.uniformDirtyGroups={},this.uniformBufferBindings={}}destroy(){this.uniformData=null,this.uniformGroups=null,this.uniformDirtyGroups=null,this.uniformBufferBindings=null,this.program=null}}function au(e,t){const s={},i=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES);for(let r=0;rc>u?1:-1);for(let c=0;c({data:n,offset:0,dataLen:0,dirty:0}));let s=0,i=0,r=0;for(let n=0;n1&&(s=Math.max(s,16)*o.data.size),o.dataLen=s,i%s!==0&&i<16){const a=i%s%16;i+=a,r+=a}i+s>16?(r=Math.ceil(r/16)*16,o.offset=r,r+=s,i=s):(o.offset=r,i+=s,r+=s)}return r=Math.ceil(r/16)*16,{uboElements:t,size:r}}function za(e,t){const s=[];for(const i in e)t[i]&&s.push(t[i]);return s.sort((i,r)=>i.index-r.index),s}function Wa(e,t){if(!e.autoManage)return{size:0,syncFunc:lu};const s=za(e.uniforms,t),{uboElements:i,size:r}=Va(s),n=[` var v = null; var v2 = null; var cv = null; var t = 0; var gl = renderer.gl var index = 0; var data = buffer.data; `];for(let o=0;o1){const u=Ea(a.data.type),d=Math.max(Xa[a.data.type]/16,1),f=u/d,p=(4-f%4)%4;n.push(` cv = ud.${l}.value; v = uv.${l}; offset = ${a.offset/4}; t = 0; for(var i=0; i < ${a.data.size*d}; i++) { for(var j = 0; j < ${f}; j++) { data[offset++] = v[t++]; } offset += ${p}; } `)}else{const u=cu[a.data.type];n.push(` cv = ud.${l}.value; v = uv.${l}; offset = ${a.offset/4}; ${u}; `)}}return n.push(` renderer.buffer.update(buffer); `),{size:r,syncFunc:new Function("ud","uv","renderer","syncData","buffer",n.join(` `))}}let uu=0;const Gi={textureCount:0,uboCount:0};class dn{constructor(t){this.destroyed=!1,this.renderer=t,this.systemCheck(),this.gl=null,this.shader=null,this.program=null,this.cache={},this._uboCache={},this.id=uu++}systemCheck(){if(!Aa())throw new Error("Current environment does not allow unsafe-eval, please use @pixi/unsafe-eval module to enable support.")}contextChange(t){this.gl=t,this.reset()}bind(t,s){t.disposeRunner.add(this),t.uniforms.globals=this.renderer.globalUniforms;const i=t.program,r=i.glPrograms[this.renderer.CONTEXT_UID]||this.generateProgram(t);return this.shader=t,this.program!==i&&(this.program=i,this.gl.useProgram(r.program)),s||(Gi.textureCount=0,Gi.uboCount=0,this.syncUniformGroup(t.uniformGroup,Gi)),r}setUniforms(t){const s=this.shader.program,i=s.glPrograms[this.renderer.CONTEXT_UID];s.syncUniforms(i.uniformData,t,this.renderer)}syncUniformGroup(t,s){const i=this.getGlProgram();(!t.static||t.dirtyId!==i.uniformDirtyGroups[t.id])&&(i.uniformDirtyGroups[t.id]=t.dirtyId,this.syncUniforms(t,i,s))}syncUniforms(t,s,i){(t.syncUniforms[this.shader.program.id]||this.createSyncGroups(t))(s.uniformData,t.uniforms,this.renderer,i)}createSyncGroups(t){const s=this.getSignature(t,this.shader.program.uniformData,"u");return this.cache[s]||(this.cache[s]=Vc(t,this.shader.program.uniformData)),t.syncUniforms[this.shader.program.id]=this.cache[s],t.syncUniforms[this.shader.program.id]}syncUniformBufferGroup(t,s){const i=this.getGlProgram();if(!t.static||t.dirtyId!==0||!i.uniformGroups[t.id]){t.dirtyId=0;const r=i.uniformGroups[t.id]||this.createSyncBufferGroup(t,i,s);t.buffer.update(),r(i.uniformData,t.uniforms,this.renderer,Gi,t.buffer)}this.renderer.buffer.bindBufferBase(t.buffer,i.uniformBufferBindings[s])}createSyncBufferGroup(t,s,i){const{gl:r}=this.renderer;this.renderer.buffer.bind(t.buffer);const n=this.gl.getUniformBlockIndex(s.program,i);s.uniformBufferBindings[i]=this.shader.uniformBindCount,r.uniformBlockBinding(s.program,n,this.shader.uniformBindCount),this.shader.uniformBindCount++;const o=this.getSignature(t,this.shader.program.uniformData,"ubo");let a=this._uboCache[o];if(a||(a=this._uboCache[o]=Wa(t,this.shader.program.uniformData)),t.autoManage){const h=new Float32Array(a.size/4);t.buffer.update(h)}return s.uniformGroups[t.id]=a.syncFunc,s.uniformGroups[t.id]}getSignature(t,s,i){const r=t.uniforms,n=[`${i}-`];for(const o in r)n.push(o),s[o]&&n.push(s[o].type);return n.join("-")}getGlProgram(){return this.shader?this.shader.program.glPrograms[this.renderer.CONTEXT_UID]:null}generateProgram(t){const s=this.gl,i=t.program,r=Ha(s,i);return i.glPrograms[this.renderer.CONTEXT_UID]=r,r}reset(){this.program=null,this.shader=null}disposeShader(t){this.shader===t&&(this.shader=null)}destroy(){this.renderer=null,this.destroyed=!0}}dn.extension={type:D.RendererSystem,name:"shader"},U.add(dn);class Bs{constructor(t){this.renderer=t}run(t){const{renderer:s}=this;s.runners.init.emit(s.options),t.hello&&console.log(`PixiJS 7.2.4 - ${s.rendererLogId} - https://pixijs.com`),s.resize(s.screen.width,s.screen.height)}destroy(){}}Bs.defaultOptions={hello:!1},Bs.extension={type:[D.RendererSystem,D.CanvasRendererSystem],name:"startup"},U.add(Bs);function du(e,t=[]){return t[C.NORMAL]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.ADD]=[e.ONE,e.ONE],t[C.MULTIPLY]=[e.DST_COLOR,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.SCREEN]=[e.ONE,e.ONE_MINUS_SRC_COLOR,e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.OVERLAY]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.DARKEN]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.LIGHTEN]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.COLOR_DODGE]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.COLOR_BURN]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.HARD_LIGHT]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.SOFT_LIGHT]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.DIFFERENCE]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.EXCLUSION]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.HUE]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.SATURATION]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.COLOR]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.LUMINOSITY]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.NONE]=[0,0],t[C.NORMAL_NPM]=[e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.ADD_NPM]=[e.SRC_ALPHA,e.ONE,e.ONE,e.ONE],t[C.SCREEN_NPM]=[e.SRC_ALPHA,e.ONE_MINUS_SRC_COLOR,e.ONE,e.ONE_MINUS_SRC_ALPHA],t[C.SRC_IN]=[e.DST_ALPHA,e.ZERO],t[C.SRC_OUT]=[e.ONE_MINUS_DST_ALPHA,e.ZERO],t[C.SRC_ATOP]=[e.DST_ALPHA,e.ONE_MINUS_SRC_ALPHA],t[C.DST_OVER]=[e.ONE_MINUS_DST_ALPHA,e.ONE],t[C.DST_IN]=[e.ZERO,e.SRC_ALPHA],t[C.DST_OUT]=[e.ZERO,e.ONE_MINUS_SRC_ALPHA],t[C.DST_ATOP]=[e.ONE_MINUS_DST_ALPHA,e.SRC_ALPHA],t[C.XOR]=[e.ONE_MINUS_DST_ALPHA,e.ONE_MINUS_SRC_ALPHA],t[C.SUBTRACT]=[e.ONE,e.ONE,e.ONE,e.ONE,e.FUNC_REVERSE_SUBTRACT,e.FUNC_ADD],t}const fu=0,pu=1,mu=2,gu=3,_u=4,vu=5,fn=class{constructor(){this.gl=null,this.stateId=0,this.polygonOffset=0,this.blendMode=C.NONE,this._blendEq=!1,this.map=[],this.map[fu]=this.setBlend,this.map[pu]=this.setOffset,this.map[mu]=this.setCullFace,this.map[gu]=this.setDepthTest,this.map[_u]=this.setFrontFace,this.map[vu]=this.setDepthMask,this.checks=[],this.defaultState=new ce,this.defaultState.blend=!0}contextChange(e){this.gl=e,this.blendModes=du(e),this.set(this.defaultState),this.reset()}set(e){if(e=e||this.defaultState,this.stateId!==e.data){let t=this.stateId^e.data,s=0;for(;t;)t&1&&this.map[s].call(this,!!(e.data&1<>1,s++;this.stateId=e.data}for(let t=0;tt.systems[n]),i=[...s,...Object.keys(t.systems).filter(n=>!s.includes(n))];for(const n of i)this.addSystem(t.systems[n],n)}addRunners(...t){t.forEach(s=>{this.runners[s]=new Ot(s)})}addSystem(t,s){const i=new t(this);if(this[s])throw new Error(`Whoops! The name "${s}" is already in use`);this[s]=i,this._systemsHash[s]=i;for(const r in this.runners)this.runners[r].add(i);return this}emitWithCustomOptions(t,s){const i=Object.keys(this._systemsHash);t.items.forEach(r=>{const n=i.find(o=>this._systemsHash[o]===r);r[t.name](s[n])})}destroy(){Object.values(this.runners).forEach(t=>{t.destroy()}),this._systemsHash={}}}const Hi=class{constructor(e){this.renderer=e,this.count=0,this.checkCount=0,this.maxIdle=Hi.defaultMaxIdle,this.checkCountMax=Hi.defaultCheckCountMax,this.mode=Hi.defaultMode}postrender(){!this.renderer.objectRenderer.renderingToScreen||(this.count++,this.mode!==ui.MANUAL&&(this.checkCount++,this.checkCount>this.checkCountMax&&(this.checkCount=0,this.run())))}run(){const e=this.renderer.texture,t=e.managedTextures;let s=!1;for(let i=0;ithis.maxIdle&&(e.destroyTexture(r,!0),t[i]=null,s=!0)}if(s){let i=0;for(let r=0;r=0;i--)this.unload(e.children[i])}destroy(){this.renderer=null}};let jt=Hi;jt.defaultMode=ui.AUTO,jt.defaultMaxIdle=3600,jt.defaultCheckCountMax=600,jt.extension={type:D.RendererSystem,name:"textureGC"},U.add(jt);class Xi{constructor(t){this.texture=t,this.width=-1,this.height=-1,this.dirtyId=-1,this.dirtyStyleId=-1,this.mipmap=!1,this.wrapMode=33071,this.type=H.UNSIGNED_BYTE,this.internalFormat=B.RGBA,this.samplerType=0}}function xu(e){let t;return"WebGL2RenderingContext"in globalThis&&e instanceof globalThis.WebGL2RenderingContext?t={[H.UNSIGNED_BYTE]:{[B.RGBA]:e.RGBA8,[B.RGB]:e.RGB8,[B.RG]:e.RG8,[B.RED]:e.R8,[B.RGBA_INTEGER]:e.RGBA8UI,[B.RGB_INTEGER]:e.RGB8UI,[B.RG_INTEGER]:e.RG8UI,[B.RED_INTEGER]:e.R8UI,[B.ALPHA]:e.ALPHA,[B.LUMINANCE]:e.LUMINANCE,[B.LUMINANCE_ALPHA]:e.LUMINANCE_ALPHA},[H.BYTE]:{[B.RGBA]:e.RGBA8_SNORM,[B.RGB]:e.RGB8_SNORM,[B.RG]:e.RG8_SNORM,[B.RED]:e.R8_SNORM,[B.RGBA_INTEGER]:e.RGBA8I,[B.RGB_INTEGER]:e.RGB8I,[B.RG_INTEGER]:e.RG8I,[B.RED_INTEGER]:e.R8I},[H.UNSIGNED_SHORT]:{[B.RGBA_INTEGER]:e.RGBA16UI,[B.RGB_INTEGER]:e.RGB16UI,[B.RG_INTEGER]:e.RG16UI,[B.RED_INTEGER]:e.R16UI,[B.DEPTH_COMPONENT]:e.DEPTH_COMPONENT16},[H.SHORT]:{[B.RGBA_INTEGER]:e.RGBA16I,[B.RGB_INTEGER]:e.RGB16I,[B.RG_INTEGER]:e.RG16I,[B.RED_INTEGER]:e.R16I},[H.UNSIGNED_INT]:{[B.RGBA_INTEGER]:e.RGBA32UI,[B.RGB_INTEGER]:e.RGB32UI,[B.RG_INTEGER]:e.RG32UI,[B.RED_INTEGER]:e.R32UI,[B.DEPTH_COMPONENT]:e.DEPTH_COMPONENT24},[H.INT]:{[B.RGBA_INTEGER]:e.RGBA32I,[B.RGB_INTEGER]:e.RGB32I,[B.RG_INTEGER]:e.RG32I,[B.RED_INTEGER]:e.R32I},[H.FLOAT]:{[B.RGBA]:e.RGBA32F,[B.RGB]:e.RGB32F,[B.RG]:e.RG32F,[B.RED]:e.R32F,[B.DEPTH_COMPONENT]:e.DEPTH_COMPONENT32F},[H.HALF_FLOAT]:{[B.RGBA]:e.RGBA16F,[B.RGB]:e.RGB16F,[B.RG]:e.RG16F,[B.RED]:e.R16F},[H.UNSIGNED_SHORT_5_6_5]:{[B.RGB]:e.RGB565},[H.UNSIGNED_SHORT_4_4_4_4]:{[B.RGBA]:e.RGBA4},[H.UNSIGNED_SHORT_5_5_5_1]:{[B.RGBA]:e.RGB5_A1},[H.UNSIGNED_INT_2_10_10_10_REV]:{[B.RGBA]:e.RGB10_A2,[B.RGBA_INTEGER]:e.RGB10_A2UI},[H.UNSIGNED_INT_10F_11F_11F_REV]:{[B.RGB]:e.R11F_G11F_B10F},[H.UNSIGNED_INT_5_9_9_9_REV]:{[B.RGB]:e.RGB9_E5},[H.UNSIGNED_INT_24_8]:{[B.DEPTH_STENCIL]:e.DEPTH24_STENCIL8},[H.FLOAT_32_UNSIGNED_INT_24_8_REV]:{[B.DEPTH_STENCIL]:e.DEPTH32F_STENCIL8}}:t={[H.UNSIGNED_BYTE]:{[B.RGBA]:e.RGBA,[B.RGB]:e.RGB,[B.ALPHA]:e.ALPHA,[B.LUMINANCE]:e.LUMINANCE,[B.LUMINANCE_ALPHA]:e.LUMINANCE_ALPHA},[H.UNSIGNED_SHORT_5_6_5]:{[B.RGB]:e.RGB},[H.UNSIGNED_SHORT_4_4_4_4]:{[B.RGBA]:e.RGBA},[H.UNSIGNED_SHORT_5_5_5_1]:{[B.RGBA]:e.RGBA}},t}class gn{constructor(t){this.renderer=t,this.boundTextures=[],this.currentLocation=-1,this.managedTextures=[],this._unknownBoundTextures=!1,this.unknownTexture=new V,this.hasIntegerTextures=!1}contextChange(){const t=this.gl=this.renderer.gl;this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.webGLVersion=this.renderer.context.webGLVersion,this.internalFormats=xu(t);const s=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);this.boundTextures.length=s;for(let r=0;r=0;--n){const o=s[n];o&&o._glTextures[r].samplerType!==ci.FLOAT&&this.renderer.texture.unbind(o)}}initTexture(t){const s=new Xi(this.gl.createTexture());return s.dirtyId=-1,t._glTextures[this.CONTEXT_UID]=s,this.managedTextures.push(t),t.on("dispose",this.destroyTexture,this),s}initTextureType(t,s){var i,r;s.internalFormat=(r=(i=this.internalFormats[t.type])==null?void 0:i[t.format])!=null?r:t.format,this.webGLVersion===2&&t.type===H.HALF_FLOAT?s.type=this.gl.HALF_FLOAT:s.type=t.type}updateTexture(t){var r;const s=t._glTextures[this.CONTEXT_UID];if(!s)return;const i=this.renderer;if(this.initTextureType(t,s),(r=t.resource)!=null&&r.upload(i,t,s))s.samplerType!==ci.FLOAT&&(this.hasIntegerTextures=!0);else{const n=t.realWidth,o=t.realHeight,a=i.gl;(s.width!==n||s.height!==o||s.dirtyId<0)&&(s.width=n,s.height=o,a.texImage2D(t.target,0,s.internalFormat,n,o,0,t.format,s.type,null))}t.dirtyStyleId!==s.dirtyStyleId&&this.updateTextureStyle(t),s.dirtyId=t.dirtyId}destroyTexture(t,s){const{gl:i}=this;if(t=t.castToBaseTexture(),t._glTextures[this.CONTEXT_UID]&&(this.unbind(t),i.deleteTexture(t._glTextures[this.CONTEXT_UID].texture),t.off("dispose",this.destroyTexture,this),delete t._glTextures[this.CONTEXT_UID],!s)){const r=this.managedTextures.indexOf(t);r!==-1&&Ne(this.managedTextures,r,1)}}updateTextureStyle(t){var i;const s=t._glTextures[this.CONTEXT_UID];!s||((t.mipmap===Kt.POW2||this.webGLVersion!==2)&&!t.isPowerOfTwo?s.mipmap=!1:s.mipmap=t.mipmap>=1,this.webGLVersion!==2&&!t.isPowerOfTwo?s.wrapMode=ae.CLAMP:s.wrapMode=t.wrapMode,(i=t.resource)!=null&&i.style(this.renderer,t,s)||this.setStyle(t,s),s.dirtyStyleId=t.dirtyStyleId)}setStyle(t,s){const i=this.gl;if(s.mipmap&&t.mipmap!==Kt.ON_MANUAL&&i.generateMipmap(t.target),i.texParameteri(t.target,i.TEXTURE_WRAP_S,s.wrapMode),i.texParameteri(t.target,i.TEXTURE_WRAP_T,s.wrapMode),s.mipmap){i.texParameteri(t.target,i.TEXTURE_MIN_FILTER,t.scaleMode===kt.LINEAR?i.LINEAR_MIPMAP_LINEAR:i.NEAREST_MIPMAP_NEAREST);const r=this.renderer.context.extensions.anisotropicFiltering;if(r&&t.anisotropicLevel>0&&t.scaleMode===kt.LINEAR){const n=Math.min(t.anisotropicLevel,i.getParameter(r.MAX_TEXTURE_MAX_ANISOTROPY_EXT));i.texParameterf(t.target,r.TEXTURE_MAX_ANISOTROPY_EXT,n)}}else i.texParameteri(t.target,i.TEXTURE_MIN_FILTER,t.scaleMode===kt.LINEAR?i.LINEAR:i.NEAREST);i.texParameteri(t.target,i.TEXTURE_MAG_FILTER,t.scaleMode===kt.LINEAR?i.LINEAR:i.NEAREST)}destroy(){this.renderer=null}}gn.extension={type:D.RendererSystem,name:"texture"},U.add(gn);class _n{constructor(t){this.renderer=t}contextChange(){this.gl=this.renderer.gl,this.CONTEXT_UID=this.renderer.CONTEXT_UID}bind(t){const{gl:s,CONTEXT_UID:i}=this,r=t._glTransformFeedbacks[i]||this.createGLTransformFeedback(t);s.bindTransformFeedback(s.TRANSFORM_FEEDBACK,r)}unbind(){const{gl:t}=this;t.bindTransformFeedback(t.TRANSFORM_FEEDBACK,null)}beginTransformFeedback(t,s){const{gl:i,renderer:r}=this;s&&r.shader.bind(s),i.beginTransformFeedback(t)}endTransformFeedback(){const{gl:t}=this;t.endTransformFeedback()}createGLTransformFeedback(t){const{gl:s,renderer:i,CONTEXT_UID:r}=this,n=s.createTransformFeedback();t._glTransformFeedbacks[r]=n,s.bindTransformFeedback(s.TRANSFORM_FEEDBACK,n);for(let o=0;o(e[e.INTERACTION=50]="INTERACTION",e[e.HIGH=25]="HIGH",e[e.NORMAL=0]="NORMAL",e[e.LOW=-25]="LOW",e[e.UTILITY=-50]="UTILITY",e))(Ee||{});class vn{constructor(t,s=null,i=0,r=!1){this.next=null,this.previous=null,this._destroyed=!1,this.fn=t,this.context=s,this.priority=i,this.once=r}match(t,s=null){return this.fn===t&&this.context===s}emit(t){this.fn&&(this.context?this.fn.call(this.context,t):this.fn(t));const s=this.next;return this.once&&this.destroy(!0),this._destroyed&&(this.next=null),s}connect(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this}destroy(t=!1){this._destroyed=!0,this.fn=null,this.context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);const s=this.next;return this.next=t?null:s,this.previous=null,s}}const Lt=class{constructor(){this.autoStart=!1,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=!1,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=!1,this._lastFrame=-1,this._head=new vn(null,null,1/0),this.deltaMS=1/Lt.targetFPMS,this.elapsedMS=1/Lt.targetFPMS,this._tick=e=>{this._requestId=null,this.started&&(this.update(e),this.started&&this._requestId===null&&this._head.next&&(this._requestId=requestAnimationFrame(this._tick)))}}_requestIfNeeded(){this._requestId===null&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick))}_cancelIfNeeded(){this._requestId!==null&&(cancelAnimationFrame(this._requestId),this._requestId=null)}_startIfPossible(){this.started?this._requestIfNeeded():this.autoStart&&this.start()}add(e,t,s=Ee.NORMAL){return this._addListener(new vn(e,t,s))}addOnce(e,t,s=Ee.NORMAL){return this._addListener(new vn(e,t,s,!0))}_addListener(e){let t=this._head.next,s=this._head;if(!t)e.connect(s);else{for(;t;){if(e.priority>t.priority){e.connect(s);break}s=t,t=t.next}e.previous||e.connect(s)}return this._startIfPossible(),this}remove(e,t){let s=this._head.next;for(;s;)s.match(e,t)?s=s.destroy():s=s.next;return this._head.next||this._cancelIfNeeded(),this}get count(){if(!this._head)return 0;let e=0,t=this._head;for(;t=t.next;)e++;return e}start(){this.started||(this.started=!0,this._requestIfNeeded())}stop(){this.started&&(this.started=!1,this._cancelIfNeeded())}destroy(){if(!this._protected){this.stop();let e=this._head.next;for(;e;)e=e.destroy(!0);this._head.destroy(),this._head=null}}update(e=performance.now()){let t;if(e>this.lastTime){if(t=this.elapsedMS=e-this.lastTime,t>this._maxElapsedMS&&(t=this._maxElapsedMS),t*=this.speed,this._minElapsedMS){const r=e-this._lastFrame|0;if(r{this._ticker.stop()},this.start=()=>{this._ticker.start()},this._ticker=null,this.ticker=t.sharedTicker?mt.shared:new mt,t.autoStart&&this.start()}static destroy(){if(this._ticker){const t=this._ticker;this.ticker=null,t.destroy()}}}xn.extension=D.Application,U.add(xn);const ja=[];U.handleByList(D.Renderer,ja);function $a(e){for(const t of ja)if(t.test(e))return new t(e);throw new Error("Unable to auto-detect a suitable renderer.")}var yu=`attribute vec2 aVertexPosition; attribute vec2 aTextureCoord; uniform mat3 projectionMatrix; varying vec2 vTextureCoord; void main(void) { gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); vTextureCoord = aTextureCoord; }`,Tu=`attribute vec2 aVertexPosition; uniform mat3 projectionMatrix; varying vec2 vTextureCoord; uniform vec4 inputSize; uniform vec4 outputFrame; vec4 filterVertexPosition( void ) { vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy; return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0); } vec2 filterTextureCoord( void ) { return aVertexPosition * (outputFrame.zw * inputSize.zw); } void main(void) { gl_Position = filterVertexPosition(); vTextureCoord = filterTextureCoord(); } `;const Ya=yu,yn=Tu;class Tn{constructor(t){this.renderer=t}contextChange(t){let s;if(this.renderer.context.webGLVersion===1){const i=t.getParameter(t.FRAMEBUFFER_BINDING);t.bindFramebuffer(t.FRAMEBUFFER,null),s=t.getParameter(t.SAMPLES),t.bindFramebuffer(t.FRAMEBUFFER,i)}else{const i=t.getParameter(t.DRAW_FRAMEBUFFER_BINDING);t.bindFramebuffer(t.DRAW_FRAMEBUFFER,null),s=t.getParameter(t.SAMPLES),t.bindFramebuffer(t.DRAW_FRAMEBUFFER,i)}s>=pt.HIGH?this.multisample=pt.HIGH:s>=pt.MEDIUM?this.multisample=pt.MEDIUM:s>=pt.LOW?this.multisample=pt.LOW:this.multisample=pt.NONE}destroy(){}}Tn.extension={type:D.RendererSystem,name:"_multisample"},U.add(Tn);class bu{constructor(t){this.buffer=t||null,this.updateID=-1,this.byteLength=-1,this.refCount=0}}class bn{constructor(t){this.renderer=t,this.managedBuffers={},this.boundBufferBases={}}destroy(){this.renderer=null}contextChange(){this.disposeAll(!0),this.gl=this.renderer.gl,this.CONTEXT_UID=this.renderer.CONTEXT_UID}bind(t){const{gl:s,CONTEXT_UID:i}=this,r=t._glBuffers[i]||this.createGLBuffer(t);s.bindBuffer(t.type,r.buffer)}unbind(t){const{gl:s}=this;s.bindBuffer(t,null)}bindBufferBase(t,s){const{gl:i,CONTEXT_UID:r}=this;if(this.boundBufferBases[s]!==t){const n=t._glBuffers[r]||this.createGLBuffer(t);this.boundBufferBases[s]=t,i.bindBufferBase(i.UNIFORM_BUFFER,s,n.buffer)}}bindBufferRange(t,s,i){const{gl:r,CONTEXT_UID:n}=this;i=i||0;const o=t._glBuffers[n]||this.createGLBuffer(t);r.bindBufferRange(r.UNIFORM_BUFFER,s||0,o.buffer,i*256,256)}update(t){const{gl:s,CONTEXT_UID:i}=this,r=t._glBuffers[i]||this.createGLBuffer(t);if(t._updateID!==r.updateID)if(r.updateID=t._updateID,s.bindBuffer(t.type,r.buffer),r.byteLength>=t.data.byteLength)s.bufferSubData(t.type,0,t.data);else{const n=t.static?s.STATIC_DRAW:s.DYNAMIC_DRAW;r.byteLength=t.data.byteLength,s.bufferData(t.type,t.data,n)}}dispose(t,s){if(!this.managedBuffers[t.id])return;delete this.managedBuffers[t.id];const i=t._glBuffers[this.CONTEXT_UID],r=this.gl;t.disposeRunner.remove(this),i&&(s||r.deleteBuffer(i.buffer),delete t._glBuffers[this.CONTEXT_UID])}disposeAll(t){const s=Object.keys(this.managedBuffers);for(let i=0;ii.resource).filter(i=>i).map(i=>i.load());return this._load=Promise.all(s).then(()=>{const{realWidth:i,realHeight:r}=this.items[0];return this.resize(i,r),Promise.resolve(this)}),this._load}}class qa extends Sn{constructor(t,s){const{width:i,height:r}=s||{};let n,o;Array.isArray(t)?(n=t,o=t.length):o=t,super(o,{width:i,height:r}),n&&this.initFromArray(n,s)}addBaseTextureAt(t,s){if(t.resource)this.addResourceAt(t.resource,s);else throw new Error("ArrayResource does not support RenderTexture");return this}bind(t){super.bind(t),t.target=Be.TEXTURE_2D_ARRAY}upload(t,s,i){const{length:r,itemDirtyIds:n,items:o}=this,{gl:a}=t;i.dirtyId<0&&a.texImage3D(a.TEXTURE_2D_ARRAY,0,i.internalFormat,this._width,this._height,r,0,s.format,i.type,null);for(let h=0;h0)if(e.resource)this.addResourceAt(e.resource,t);else throw new Error("CubeResource does not support copying of renderTexture.");else e.target=Be.TEXTURE_CUBE_MAP_POSITIVE_X+t,e.parentTextureArray=this.baseTexture,this.items[t]=e;return e.valid&&!this.valid&&this.resize(e.realWidth,e.realHeight),this.items[t]=e,this}upload(e,t,s){const i=this.itemDirtyIds;for(let r=0;r{if(this.url===null){t(this);return}try{const i=await N.ADAPTER.fetch(this.url,{mode:this.crossOrigin?"cors":"no-cors"});if(this.destroyed)return;const r=await i.blob();if(this.destroyed)return;const n=await createImageBitmap(r,{premultiplyAlpha:this.alphaMode===null||this.alphaMode===Gt.UNPACK?"premultiply":"none"});if(this.destroyed)return;this.source=n,this.update(),t(this)}catch(i){if(this.destroyed)return;s(i),this.onError.emit(i)}}),this._load)}upload(t,s,i){return this.source instanceof ImageBitmap?(typeof this.alphaMode=="number"&&(s.alphaMode=this.alphaMode),super.upload(t,s,i)):(this.load(),!1)}dispose(){this.source instanceof ImageBitmap&&this.source.close(),super.dispose(),this._load=null}static test(t){return!!globalThis.createImageBitmap&&typeof ImageBitmap!="undefined"&&(typeof t=="string"||t instanceof ImageBitmap)}static get EMPTY(){var t;return Ve._EMPTY=(t=Ve._EMPTY)!=null?t:N.ADAPTER.createCanvas(0,0),Ve._EMPTY}}const Vi=class extends be{constructor(e,t){t=t||{},super(N.ADAPTER.createCanvas()),this._width=0,this._height=0,this.svg=e,this.scale=t.scale||1,this._overrideWidth=t.width,this._overrideHeight=t.height,this._resolve=null,this._crossorigin=t.crossorigin,this._load=null,t.autoLoad!==!1&&this.load()}load(){return this._load?this._load:(this._load=new Promise(e=>{if(this._resolve=()=>{this.resize(this.source.width,this.source.height),e(this)},Vi.SVG_XML.test(this.svg.trim())){if(!btoa)throw new Error("Your browser doesn't support base64 conversions.");this.svg=`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(this.svg)))}`}this._loadSvg()}),this._load)}_loadSvg(){const e=new Image;be.crossOrigin(e,this.svg,this._crossorigin),e.src=this.svg,e.onerror=t=>{!this._resolve||(e.onerror=null,this.onError.emit(t))},e.onload=()=>{if(!this._resolve)return;const t=e.width,s=e.height;if(!t||!s)throw new Error("The SVG image must have width and height defined (in pixels), canvas API needs them.");let i=t*this.scale,r=s*this.scale;(this._overrideWidth||this._overrideHeight)&&(i=this._overrideWidth||this._overrideHeight/s*t,r=this._overrideHeight||this._overrideWidth/t*s),i=Math.round(i),r=Math.round(r);const n=this.source;n.width=i,n.height=r,n._pixiId=`canvas_${Se()}`,n.getContext("2d").drawImage(e,0,0,t,s,0,0,i,r),this._resolve(),this._resolve=null}}static getSize(e){const t=Vi.SVG_SIZE.exec(e),s={};return t&&(s[t[1]]=Math.round(parseFloat(t[3])),s[t[5]]=Math.round(parseFloat(t[7]))),s}dispose(){super.dispose(),this._resolve=null,this._crossorigin=null}static test(e,t){return t==="svg"||typeof e=="string"&&e.startsWith("data:image/svg+xml")||typeof e=="string"&&Vi.SVG_XML.test(e)}};let is=Vi;is.SVG_XML=/^(<\?xml[^?]+\?>)?\s*()]*-->)?\s*\]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*>/i;const Rn=class extends be{constructor(e,t){if(t=t||{},!(e instanceof HTMLVideoElement)){const s=document.createElement("video");s.setAttribute("preload","auto"),s.setAttribute("webkit-playsinline",""),s.setAttribute("playsinline",""),typeof e=="string"&&(e=[e]);const i=e[0].src||e[0];be.crossOrigin(s,i,t.crossorigin);for(let r=0;r{this.valid?t(this):(this._resolve=t,e.load())}),this._load}_onError(e){this.source.removeEventListener("error",this._onError,!0),this.onError.emit(e)}_isSourcePlaying(){const e=this.source;return!e.paused&&!e.ended&&this._isSourceReady()}_isSourceReady(){return this.source.readyState>2}_onPlayStart(){this.valid||this._onCanPlay(),this.autoUpdate&&!this._isConnectedToTicker&&(mt.shared.add(this.update,this),this._isConnectedToTicker=!0)}_onPlayStop(){this._isConnectedToTicker&&(mt.shared.remove(this.update,this),this._isConnectedToTicker=!1)}_onCanPlay(){const e=this.source;e.removeEventListener("canplay",this._onCanPlay),e.removeEventListener("canplaythrough",this._onCanPlay);const t=this.valid;this.resize(e.videoWidth,e.videoHeight),!t&&this._resolve&&(this._resolve(this),this._resolve=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&e.play()}dispose(){this._isConnectedToTicker&&(mt.shared.remove(this.update,this),this._isConnectedToTicker=!1);const e=this.source;e&&(e.removeEventListener("error",this._onError,!0),e.pause(),e.src="",e.load()),super.dispose()}get autoUpdate(){return this._autoUpdate}set autoUpdate(e){e!==this._autoUpdate&&(this._autoUpdate=e,!this._autoUpdate&&this._isConnectedToTicker?(mt.shared.remove(this.update,this),this._isConnectedToTicker=!1):this._autoUpdate&&!this._isConnectedToTicker&&this._isSourcePlaying()&&(mt.shared.add(this.update,this),this._isConnectedToTicker=!0))}get updateFPS(){return this._updateFPS}set updateFPS(e){e!==this._updateFPS&&(this._updateFPS=e)}static test(e,t){return globalThis.HTMLVideoElement&&e instanceof HTMLVideoElement||Rn.TYPES.includes(t)}};let zi=Rn;zi.TYPES=["mp4","m4v","webm","ogg","ogv","h264","avi","mov"],zi.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"},Ei.push(Ve,qr,Cn,zi,is,Qe,An,qa);class Eu{constructor(){this._glTransformFeedbacks={},this.buffers=[],this.disposeRunner=new Ot("disposeTransformFeedback")}bindBuffer(t,s){this.buffers[t]=s}destroy(){this.disposeRunner.emit(this,!1)}}const wu="7.2.4";V.prototype.getDrawableSource=function(){const t=this.resource;return t?t.bitmap||t.source:null},Fi.prototype._canvasRenderTarget=null,O.prototype.patternCache=null,O.prototype.tintCache=null;let Fs;function Ka(e){const t=N.ADAPTER.createCanvas(6,1),s=t.getContext("2d");return s.fillStyle=e,s.fillRect(0,0,6,1),t}function In(){if(typeof document=="undefined")return!1;if(Fs!==void 0)return Fs;const e=Ka("#ff00ff"),t=Ka("#ffff00"),i=N.ADAPTER.createCanvas(6,1).getContext("2d");i.globalCompositeOperation="multiply",i.drawImage(e,0,0),i.drawImage(t,2,0);const r=i.getImageData(2,0,1,1);if(!r)Fs=!1;else{const n=r.data;Fs=n[0]===255&&n[1]===0&&n[2]===0}return Fs}function Su(e=[]){return In()?(e[C.NORMAL]="source-over",e[C.ADD]="lighter",e[C.MULTIPLY]="multiply",e[C.SCREEN]="screen",e[C.OVERLAY]="overlay",e[C.DARKEN]="darken",e[C.LIGHTEN]="lighten",e[C.COLOR_DODGE]="color-dodge",e[C.COLOR_BURN]="color-burn",e[C.HARD_LIGHT]="hard-light",e[C.SOFT_LIGHT]="soft-light",e[C.DIFFERENCE]="difference",e[C.EXCLUSION]="exclusion",e[C.HUE]="hue",e[C.SATURATION]="saturation",e[C.COLOR]="color",e[C.LUMINOSITY]="luminosity"):(e[C.NORMAL]="source-over",e[C.ADD]="lighter",e[C.MULTIPLY]="source-over",e[C.SCREEN]="source-over",e[C.OVERLAY]="source-over",e[C.DARKEN]="source-over",e[C.LIGHTEN]="source-over",e[C.COLOR_DODGE]="source-over",e[C.COLOR_BURN]="source-over",e[C.HARD_LIGHT]="source-over",e[C.SOFT_LIGHT]="source-over",e[C.DIFFERENCE]="source-over",e[C.EXCLUSION]="source-over",e[C.HUE]="source-over",e[C.SATURATION]="source-over",e[C.COLOR]="source-over",e[C.LUMINOSITY]="source-over"),e[C.NORMAL_NPM]=e[C.NORMAL],e[C.ADD_NPM]=e[C.ADD],e[C.SCREEN_NPM]=e[C.SCREEN],e[C.SRC_IN]="source-in",e[C.SRC_OUT]="source-out",e[C.SRC_ATOP]="source-atop",e[C.DST_OVER]="destination-over",e[C.DST_IN]="destination-in",e[C.DST_OUT]="destination-out",e[C.DST_ATOP]="destination-atop",e[C.XOR]="xor",e[C.SUBTRACT]="source-over",e}const Cu=new Q;class Pn{constructor(t){this.activeResolution=1,this.smoothProperty="imageSmoothingEnabled",this.blendModes=Su(),this._activeBlendMode=null,this._projTransform=null,this._outerBlend=!1,this.renderer=t}init(){const t=this.renderer.background.alpha<1;if(this.rootContext=this.renderer.view.getContext("2d",{alpha:t}),this.activeContext=this.rootContext,!this.rootContext.imageSmoothingEnabled){const s=this.rootContext;s.webkitImageSmoothingEnabled?this.smoothProperty="webkitImageSmoothingEnabled":s.mozImageSmoothingEnabled?this.smoothProperty="mozImageSmoothingEnabled":s.oImageSmoothingEnabled?this.smoothProperty="oImageSmoothingEnabled":s.msImageSmoothingEnabled&&(this.smoothProperty="msImageSmoothingEnabled")}}setContextTransform(t,s,i){let r=t;const n=this._projTransform,o=this.activeResolution;i=i||o,n&&(r=Cu,r.copyFrom(t),r.prepend(n)),s?this.activeContext.setTransform(r.a*i,r.b*i,r.c*i,r.d*i,r.tx*o|0,r.ty*o|0):this.activeContext.setTransform(r.a*i,r.b*i,r.c*i,r.d*i,r.tx*o,r.ty*o)}clear(t,s){const{activeContext:i,renderer:r}=this,n=t?j.shared.setValue(t):this.renderer.background.backgroundColor;i.clearRect(0,0,r.width,r.height),t&&(i.globalAlpha=s!=null?s:this.renderer.background.alpha,i.fillStyle=n.toHex(),i.fillRect(0,0,r.width,r.height),i.globalAlpha=1)}setBlendMode(t,s){const i=t===C.SRC_IN||t===C.SRC_OUT||t===C.DST_IN||t===C.DST_ATOP;!s&&i&&(t=C.NORMAL),this._activeBlendMode!==t&&(this._activeBlendMode=t,this._outerBlend=i,this.activeContext.globalCompositeOperation=this.blendModes[t])}resize(){this.smoothProperty&&(this.rootContext[this.smoothProperty]=V.defaultOptions.scaleMode===kt.LINEAR)}invalidateBlendMode(){this._activeBlendMode=this.blendModes.indexOf(this.activeContext.globalCompositeOperation)}destroy(){this.renderer=null,this.rootContext=null,this.activeContext=null,this.smoothProperty=null}}Pn.extension={type:D.CanvasRendererSystem,name:"canvasContext"},U.add(Pn);class Mn{constructor(t){this._foundShapes=[],this.renderer=t}pushMask(t){const s=this.renderer,i=t.maskObject||t;s.canvasContext.activeContext.save();const r=this._foundShapes;if(this.recursiveFindShapes(i,r),r.length>0){const n=s.canvasContext.activeContext;n.beginPath();for(let o=0;o0){c=0,d=h[0],f=h[1];for(let p=2;p+2=0;m-=2)s.lineTo(h[m],h[m+1])}l[p].shape.closeStroke&&s.closePath()}}h[0]===h[h.length-2]&&h[1]===h[h.length-1]&&s.closePath()}else if(a.type===it.RECT)s.rect(a.x,a.y,a.width,a.height),s.closePath();else if(a.type===it.CIRC)s.arc(a.x,a.y,a.radius,0,2*Math.PI),s.closePath();else if(a.type===it.ELIP){const h=a.width*2,l=a.height*2,c=a.x-h/2,u=a.y-l/2,d=.5522848,f=h/2*d,p=l/2*d,m=c+h,g=u+l,x=c+h/2,y=u+l/2;s.moveTo(c,y),s.bezierCurveTo(c,y-p,x-f,u,x,u),s.bezierCurveTo(x+f,u,m,y-p,m,y),s.bezierCurveTo(m,y+p,x+f,g,x,g),s.bezierCurveTo(x-f,g,c,y+p,c,y),s.closePath()}else if(a.type===it.RREC){const h=a.x,l=a.y,c=a.width,u=a.height;let d=a.radius;const f=Math.min(c,u)/2;d=d>f?f:d,s.moveTo(h,l+d),s.lineTo(h,l+u-d),s.quadraticCurveTo(h,l+u,h+d,l+u),s.lineTo(h+c-d,l+u),s.quadraticCurveTo(h+c,l+u,h+c,l+u-d),s.lineTo(h+c,l+d),s.quadraticCurveTo(h+c,l,h+c-d,l),s.lineTo(h+d,l),s.quadraticCurveTo(h,l,h,l+d),s.closePath()}}}popMask(t){t.canvasContext.activeContext.restore(),t.canvasContext.invalidateBlendMode()}destroy(){}}Mn.extension={type:D.CanvasRendererSystem,name:"mask"},U.add(Mn);class Bn{constructor(t){this.renderer=t}render(t,s){const i=this.renderer;if(!i.view)return;const r=i.canvasContext;let n,o,a,h;s&&(n=s.renderTexture,o=s.clear,a=s.transform,h=s.skipUpdateTransform),this.renderingToScreen=!n,i.emit("prerender");const l=i.resolution;n?(n=n.castToBaseTexture(),n._canvasRenderTarget||(n._canvasRenderTarget=new bs(n.width,n.height,n.resolution),n.resource=new Cn(n._canvasRenderTarget.canvas),n.valid=!0),r.activeContext=n._canvasRenderTarget.context,i.canvasContext.activeResolution=n._canvasRenderTarget.resolution):(r.activeContext=r.rootContext,r.activeResolution=l);const c=r.activeContext;if(r._projTransform=a||null,n||(this.lastObjectRendered=t),!h){const d=t.enableTempParent();t.updateTransform(),t.disableTempParent(d)}if(c.save(),c.setTransform(1,0,0,1,0,0),c.globalAlpha=1,r._activeBlendMode=C.NORMAL,r._outerBlend=!1,c.globalCompositeOperation=r.blendModes[C.NORMAL],o!=null?o:i.background.clearBeforeRender)if(this.renderingToScreen){c.clearRect(0,0,i.width,i.height);const d=i.background;d.alpha>0&&(c.globalAlpha=d.backgroundColor.alpha,c.fillStyle=d.backgroundColor.toHex(),c.fillRect(0,0,i.width,i.height),c.globalAlpha=1)}else n=n,n._canvasRenderTarget.clear(),n.clear.alpha>0&&(c.globalAlpha=n.clear.alpha,c.fillStyle=n.clear.toHex(),c.fillRect(0,0,n.realWidth,n.realHeight),c.globalAlpha=1);const u=r.activeContext;r.activeContext=c,t.renderCanvas(i),r.activeContext=u,c.restore(),r.activeResolution=l,r._projTransform=null,i.emit("postrender")}destroy(){this.lastObjectRendered=null,this.render=null}}Bn.extension={type:D.CanvasRendererSystem,name:"objectRenderer"},U.add(Bn);const{deprecation:Rt}=ca,Dn=class extends mn{constructor(e){super(),this.type=xt.CANVAS,this.rendererLogId="Canvas",e=Object.assign({},N.RENDER_OPTIONS,e);const t={runners:["init","destroy","contextChange","resolutionChange","reset","update","postrender","prerender","resize"],systems:Dn.__systems,priority:["textureGenerator","background","_view","_plugin","startup","mask","canvasContext","objectRenderer"]};this.setup(t),"useContextAlpha"in e&&(Rt("7.0.0","options.useContextAlpha is deprecated, use options.backgroundAlpha instead"),e.backgroundAlpha=e.useContextAlpha===!1?1:e.backgroundAlpha),this._plugin.rendererPlugins=Dn.__plugins,this.options=e,this.startup.run(this.options)}static test(){return!0}generateTexture(e,t){return this.textureGenerator.generateTexture(e,t)}reset(){}render(e,t){this.objectRenderer.render(e,t)}clear(){this.canvasContext.clear()}destroy(e){this.runners.destroy.items.reverse(),this.emitWithCustomOptions(this.runners.destroy,{_view:e}),super.destroy()}get plugins(){return this._plugin.plugins}resize(e,t){this._view.resizeView(e,t)}get width(){return this._view.element.width}get height(){return this._view.element.height}get resolution(){return this._view.resolution}set resolution(e){this._view.resolution=e,this.runners.resolutionChange.emit(e)}get autoDensity(){return this._view.autoDensity}get view(){return this._view.element}get screen(){return this._view.screen}get lastObjectRendered(){return this.objectRenderer.lastObjectRendered}get renderingToScreen(){return this.objectRenderer.renderingToScreen}get clearBeforeRender(){return this.background.clearBeforeRender}get blendModes(){return Rt("7.0.0","renderer.blendModes has been deprecated, please use renderer.canvasContext.blendModes instead"),this.canvasContext.blendModes}get maskManager(){return Rt("7.0.0","renderer.maskManager has been deprecated, please use renderer.mask instead"),this.mask}get refresh(){return Rt("7.0.0","renderer.refresh has been deprecated"),!0}get rootContext(){return Rt("7.0.0","renderer.rootContext has been deprecated, please use renderer.canvasContext.rootContext instead"),this.canvasContext.rootContext}get context(){return Rt("7.0.0","renderer.context has been deprecated, please use renderer.canvasContext.activeContext instead"),this.canvasContext.activeContext}get smoothProperty(){return Rt("7.0.0","renderer.smoothProperty has been deprecated, please use renderer.canvasContext.smoothProperty instead"),this.canvasContext.smoothProperty}setBlendMode(e,t){Rt("7.0.0","renderer.setBlendMode has been deprecated, use renderer.canvasContext.setBlendMode instead"),this.canvasContext.setBlendMode(e,t)}invalidateBlendMode(){Rt("7.0.0","renderer.invalidateBlendMode has been deprecated, use renderer.canvasContext.invalidateBlendMode instead"),this.canvasContext.invalidateBlendMode()}setContextTransform(e,t,s){Rt("7.0.0","renderer.setContextTransform has been deprecated, use renderer.canvasContext.setContextTransform instead"),this.canvasContext.setContextTransform(e,t,s)}get backgroundColor(){return Rt("7.0.0","renderer.backgroundColor has been deprecated, use renderer.background.color instead."),this.background.color}set backgroundColor(e){Rt("7.0.0","renderer.backgroundColor has been deprecated, use renderer.background.color instead."),this.background.color=e}get backgroundAlpha(){return Rt("7.0.0","renderer.backgroundAlpha has been deprecated, use renderer.background.alpha instead."),this.background.alpha}set backgroundAlpha(e){Rt("7.0.0","renderer.backgroundAlpha has been deprecated, use renderer.background.alpha instead."),this.background.alpha=e}get preserveDrawingBuffer(){return Rt("7.0.0","renderer.preserveDrawingBuffer has been deprecated"),!1}get useContextAlpha(){return Rt("7.0.0","renderer.useContextAlpha has been deprecated"),!1}};let Ce=Dn;Ce.extension={type:D.Renderer,priority:0},Ce.__plugins={},Ce.__systems={},U.handleByMap(D.CanvasRendererPlugin,Ce.__plugins),U.handleByMap(D.CanvasRendererSystem,Ce.__systems),U.add(Ce);const gt={canvas:null,getTintedCanvas:(e,t)=>{const s=e.texture;t=gt.roundColor(t);const i=`#${`00000${(t|0).toString(16)}`.slice(-6)}`;s.tintCache=s.tintCache||{};const r=s.tintCache[i];let n;if(r){if(r.tintId===s._updateID)return s.tintCache[i];n=s.tintCache[i]}else n=N.ADAPTER.createCanvas();if(gt.tintMethod(s,t,n),n.tintId=s._updateID,gt.convertTintToImage&&n.toDataURL!==void 0){const o=new Image;o.src=n.toDataURL(),s.tintCache[i]=o}else s.tintCache[i]=n;return n},getTintedPattern:(e,t)=>{t=gt.roundColor(t);const s=`#${`00000${(t|0).toString(16)}`.slice(-6)}`;e.patternCache=e.patternCache||{};let i=e.patternCache[s];return(i==null?void 0:i.tintId)===e._updateID||(gt.canvas||(gt.canvas=N.ADAPTER.createCanvas()),gt.tintMethod(e,t,gt.canvas),i=gt.canvas.getContext("2d").createPattern(gt.canvas,"repeat"),i.tintId=e._updateID,e.patternCache[s]=i),i},tintWithMultiply:(e,t,s)=>{const i=s.getContext("2d"),r=e._frame.clone(),n=e.baseTexture.resolution;r.x*=n,r.y*=n,r.width*=n,r.height*=n,s.width=Math.ceil(r.width),s.height=Math.ceil(r.height),i.save(),i.fillStyle=`#${`00000${(t|0).toString(16)}`.slice(-6)}`,i.fillRect(0,0,r.width,r.height),i.globalCompositeOperation="multiply";const o=e.baseTexture.getDrawableSource();i.drawImage(o,r.x,r.y,r.width,r.height,0,0,r.width,r.height),i.globalCompositeOperation="destination-atop",i.drawImage(o,r.x,r.y,r.width,r.height,0,0,r.width,r.height),i.restore()},tintWithOverlay:(e,t,s)=>{const i=s.getContext("2d"),r=e._frame.clone(),n=e.baseTexture.resolution;r.x*=n,r.y*=n,r.width*=n,r.height*=n,s.width=Math.ceil(r.width),s.height=Math.ceil(r.height),i.save(),i.globalCompositeOperation="copy",i.fillStyle=`#${`00000${(t|0).toString(16)}`.slice(-6)}`,i.fillRect(0,0,r.width,r.height),i.globalCompositeOperation="destination-atop",i.drawImage(e.baseTexture.getDrawableSource(),r.x,r.y,r.width,r.height,0,0,r.width,r.height),i.restore()},tintWithPerPixel:(e,t,s)=>{const i=s.getContext("2d"),r=e._frame.clone(),n=e.baseTexture.resolution;r.x*=n,r.y*=n,r.width*=n,r.height*=n,s.width=Math.ceil(r.width),s.height=Math.ceil(r.height),i.save(),i.globalCompositeOperation="copy",i.drawImage(e.baseTexture.getDrawableSource(),r.x,r.y,r.width,r.height,0,0,r.width,r.height),i.restore();const[o,a,h]=j.shared.setValue(t).toArray(),l=i.getImageData(0,0,r.width,r.height),c=l.data;for(let u=0;uj.shared.setValue(e).round(gt.cacheStepsPerColorChannel).toNumber(),cacheStepsPerColorChannel:8,convertTintToImage:!1,canUseMultiply:In(),tintMethod:null};gt.tintMethod=gt.canUseMultiply?gt.tintWithMultiply:gt.tintWithPerPixel;class Os{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.rect=null,this.updateID=-1}isEmpty(){return this.minX>this.maxX||this.minY>this.maxY}clear(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}getRectangle(t){return this.minX>this.maxX||this.minY>this.maxY?$.EMPTY:(t=t||new $(0,0,1,1),t.x=this.minX,t.y=this.minY,t.width=this.maxX-this.minX,t.height=this.maxY-this.minY,t)}addPoint(t){this.minX=Math.min(this.minX,t.x),this.maxX=Math.max(this.maxX,t.x),this.minY=Math.min(this.minY,t.y),this.maxY=Math.max(this.maxY,t.y)}addPointMatrix(t,s){const{a:i,b:r,c:n,d:o,tx:a,ty:h}=t,l=i*s.x+n*s.y+a,c=r*s.x+o*s.y+h;this.minX=Math.min(this.minX,l),this.maxX=Math.max(this.maxX,l),this.minY=Math.min(this.minY,c),this.maxY=Math.max(this.maxY,c)}addQuad(t){let s=this.minX,i=this.minY,r=this.maxX,n=this.maxY,o=t[0],a=t[1];s=or?o:r,n=a>n?a:n,o=t[2],a=t[3],s=or?o:r,n=a>n?a:n,o=t[4],a=t[5],s=or?o:r,n=a>n?a:n,o=t[6],a=t[7],s=or?o:r,n=a>n?a:n,this.minX=s,this.minY=i,this.maxX=r,this.maxY=n}addFrame(t,s,i,r,n){this.addFrameMatrix(t.worldTransform,s,i,r,n)}addFrameMatrix(t,s,i,r,n){const o=t.a,a=t.b,h=t.c,l=t.d,c=t.tx,u=t.ty;let d=this.minX,f=this.minY,p=this.maxX,m=this.maxY,g=o*s+h*i+c,x=a*s+l*i+u;d=gp?g:p,m=x>m?x:m,g=o*r+h*i+c,x=a*r+l*i+u,d=gp?g:p,m=x>m?x:m,g=o*s+h*n+c,x=a*s+l*n+u,d=gp?g:p,m=x>m?x:m,g=o*r+h*n+c,x=a*r+l*n+u,d=gp?g:p,m=x>m?x:m,this.minX=d,this.minY=f,this.maxX=p,this.maxY=m}addVertexData(t,s,i){let r=this.minX,n=this.minY,o=this.maxX,a=this.maxY;for(let h=s;ho?l:o,a=c>a?c:a}this.minX=r,this.minY=n,this.maxX=o,this.maxY=a}addVertices(t,s,i,r){this.addVerticesMatrix(t.worldTransform,s,i,r)}addVerticesMatrix(t,s,i,r,n=0,o=n){const a=t.a,h=t.b,l=t.c,c=t.d,u=t.tx,d=t.ty;let f=this.minX,p=this.minY,m=this.maxX,g=this.maxY;for(let x=i;xr?t.maxX:r,this.maxY=t.maxY>n?t.maxY:n}addBoundsMask(t,s){const i=t.minX>s.minX?t.minX:s.minX,r=t.minY>s.minY?t.minY:s.minY,n=t.maxXl?n:l,this.maxY=o>c?o:c}}addBoundsMatrix(t,s){this.addFrameMatrix(s,t.minX,t.minY,t.maxX,t.maxY)}addBoundsArea(t,s){const i=t.minX>s.x?t.minX:s.x,r=t.minY>s.y?t.minY:s.y,n=t.maxXl?n:l,this.maxY=o>c?o:c}}pad(t=0,s=t){this.isEmpty()||(this.minX-=t,this.maxX+=t,this.minY-=s,this.maxY+=s)}addFramePad(t,s,i,r,n,o){t-=n,s-=o,i+=n,r+=o,this.minX=this.minXi?this.maxX:i,this.minY=this.minYr?this.maxY:r}}class ht extends Ye{constructor(){super(),this.tempDisplayObjectParent=null,this.transform=new Ss,this.alpha=1,this.visible=!0,this.renderable=!0,this.cullable=!1,this.cullArea=null,this.parent=null,this.worldAlpha=1,this._lastSortedIndex=0,this._zIndex=0,this.filterArea=null,this.filters=null,this._enabledFilters=null,this._bounds=new Os,this._localBounds=null,this._boundsID=0,this._boundsRect=null,this._localBoundsRect=null,this._mask=null,this._maskRefCount=0,this._destroyed=!1,this.isSprite=!1,this.isMask=!1}static mixin(t){const s=Object.keys(t);for(let i=0;i1)for(let t=0;tthis.children.length)throw new Error(`${e}addChildAt: The index ${t} supplied is out of bounds ${this.children.length}`);return e.parent&&e.parent.removeChild(e),e.parent=this,this.sortDirty=!0,e.transform._parentID=-1,this.children.splice(t,0,e),this._boundsID++,this.onChildrenChange(t),e.emit("added",this),this.emit("childAdded",e,this,t),e}swapChildren(e,t){if(e===t)return;const s=this.getChildIndex(e),i=this.getChildIndex(t);this.children[s]=t,this.children[i]=e,this.onChildrenChange(s=this.children.length)throw new Error(`The index ${t} supplied is out of bounds ${this.children.length}`);const s=this.getChildIndex(e);Ne(this.children,s,1),this.children.splice(t,0,e),this.onChildrenChange(t)}getChildAt(e){if(e<0||e>=this.children.length)throw new Error(`getChildAt: Index (${e}) does not exist.`);return this.children[e]}removeChild(...e){if(e.length>1)for(let t=0;t0&&r<=i){n=this.children.splice(s,r);for(let o=0;o1&&this.children.sort(Ru),this.sortDirty=!1}updateTransform(){this.sortableChildren&&this.sortDirty&&this.sortChildren(),this._boundsID++,this.transform.updateTransform(this.parent.transform),this.worldAlpha=this.alpha*this.parent.worldAlpha;for(let e=0,t=this.children.length;e0&&t.height>0))return;let s,i;this.cullArea?(s=this.cullArea,i=this.worldTransform):this._render!==Nn.prototype._render&&(s=this.getBounds(!0));const r=e.projection.transform;if(r&&(i?(i=Au.copyFrom(i),i.prepend(r)):i=r),s&&t.intersects(s,i))this._render(e);else if(this.cullArea)return;for(let n=0,o=this.children.length;n=r&&Ls.x=n&&Ls.y=r&&Us.x=n&&Us.y1?ee.from(Mu,Pu,s):ee.from(Ja,Bu,s)}render(t){const s=this.renderer,i=this.quad;let r=i.vertices;r[0]=r[6]=t._width*-t.anchor.x,r[1]=r[3]=t._height*-t.anchor.y,r[2]=r[4]=t._width*(1-t.anchor.x),r[5]=r[7]=t._height*(1-t.anchor.y);const n=t.uvRespectAnchor?t.anchor.x:0,o=t.uvRespectAnchor?t.anchor.y:0;r=i.uvs,r[0]=r[6]=-n,r[1]=r[3]=-o,r[2]=r[4]=1-n,r[5]=r[7]=1-o,i.invalidate();const a=t._texture,h=a.baseTexture,l=h.alphaMode>0,c=t.tileTransform.localTransform,u=t.uvMatrix;let d=h.isPowerOfTwo&&a.frame.width===h.width&&a.frame.height===h.height;d&&(h._glTextures[s.CONTEXT_UID]?d=h.wrapMode!==ae.CLAMP:h.wrapMode===ae.CLAMP&&(h.wrapMode=ae.REPEAT));const f=d?this.simpleShader:this.shader,p=a.width,m=a.height,g=t._width,x=t._height;ji.set(c.a*p/g,c.b*p/x,c.c*m/g,c.d*m/x,c.tx/g,c.ty/x),ji.invert(),d?ji.prepend(u.mapCoord):(f.uniforms.uMapCoord=u.mapCoord.toArray(!0),f.uniforms.uClampFrame=u.uClampFrame,f.uniforms.uClampOffset=u.uClampOffset),f.uniforms.uTransform=ji.toArray(!0),f.uniforms.uColor=j.shared.setValue(t.tint).premultiply(t.worldAlpha,l).toArray(f.uniforms.uColor),f.uniforms.translationMatrix=t.transform.worldTransform.toArray(!0),f.uniforms.uSampler=a,s.shader.bind(f),s.geometry.bind(i),this.state.blendMode=Dr(t.blendMode,l),s.state.set(this.state),s.geometry.draw(this.renderer.gl.TRIANGLES,6,0)}}Fn.extension={name:"tilingSprite",type:D.RendererPlugin},U.add(Fn);const $i=new Q,ks=new Q,ue=[new Y,new Y,new Y,new Y];Wi.prototype._renderCanvas=function(t){const s=this._texture;if(!s.baseTexture.valid)return;const i=t.canvasContext.activeContext,r=this.worldTransform,n=s.baseTexture,o=n.getDrawableSource(),a=n.resolution;if(this._textureID!==this._texture._updateID||this._cachedTint!==this.tintValue){this._textureID=this._texture._updateID;const f=new bs(s._frame.width,s._frame.height,a);this.tintValue!==16777215?(this._tintedCanvas=gt.getTintedCanvas(this,this.tintValue),f.context.drawImage(this._tintedCanvas,0,0)):f.context.drawImage(o,-s._frame.x*a,-s._frame.y*a),this._cachedTint=this.tintValue,this._canvasPattern=f.context.createPattern(f.canvas,"repeat")}i.globalAlpha=this.worldAlpha,t.canvasContext.setBlendMode(this.blendMode),this.tileTransform.updateLocalTransform();const h=this.tileTransform.localTransform,l=this._width,c=this._height;$i.identity(),ks.copyFrom(h),this.uvRespectAnchor||ks.translate(-this.anchor.x*l,-this.anchor.y*c),ks.scale(1/a,1/a),$i.prepend(ks),$i.prepend(r),t.canvasContext.setContextTransform($i),i.fillStyle=this._canvasPattern;const u=this.anchor.x*-l,d=this.anchor.y*-c;ue[0].set(u,d),ue[1].set(u+l,d),ue[2].set(u+l,d+c),ue[3].set(u,d+c);for(let f=0;f<4;f++)ks.applyInverse(ue[f],ue[f]);i.beginPath(),i.moveTo(ue[0].x,ue[0].y);for(let f=1;f<4;f++)i.lineTo(ue[f].x,ue[f].y);i.closePath(),i.fill()};class Qa extends It{constructor(t=1500,s,i=16384,r=!1){super();const n=16384;i>n&&(i=n),this._properties=[!1,!0,!1,!1,!1],this._maxSize=t,this._batchSize=i,this._buffers=null,this._bufferUpdateIDs=[],this._updateID=0,this.interactiveChildren=!1,this.blendMode=C.NORMAL,this.autoResize=r,this.roundPixels=!0,this.baseTexture=null,this.setProperties(s),this._tintColor=new j(0),this.tintRgb=new Float32Array(3),this.tint=16777215}setProperties(t){t&&(this._properties[0]="vertices"in t||"scale"in t?!!t.vertices||!!t.scale:this._properties[0],this._properties[1]="position"in t?!!t.position:this._properties[1],this._properties[2]="rotation"in t?!!t.rotation:this._properties[2],this._properties[3]="uvs"in t?!!t.uvs:this._properties[3],this._properties[4]="tint"in t||"alpha"in t?!!t.tint||!!t.alpha:this._properties[4])}updateTransform(){this.displayObjectUpdateTransform()}get tint(){return this._tintColor.value}set tint(t){this._tintColor.setValue(t),this._tintColor.toRgbArray(this.tintRgb)}render(t){!this.visible||this.worldAlpha<=0||!this.children.length||!this.renderable||(this.baseTexture||(this.baseTexture=this.children[0]._texture.baseTexture,this.baseTexture.valid||this.baseTexture.once("update",()=>this.onChildrenChange(0))),t.batch.setObjectRenderer(t.plugins.particle),t.plugins.particle.render(this))}onChildrenChange(t){const s=Math.floor(t/this._batchSize);for(;this._bufferUpdateIDs.lengthi&&!t.autoResize&&(o=i);let a=t._buffers;a||(a=t._buffers=this.generateBuffers(t));const h=s[0]._texture.baseTexture,l=h.alphaMode>0;this.state.blendMode=Dr(t.blendMode,l),n.state.set(this.state);const c=n.gl,u=t.worldTransform.copyTo(this.tempMatrix);u.prepend(n.globalUniforms.uniforms.projectionMatrix),this.shader.uniforms.translationMatrix=u.toArray(!0),this.shader.uniforms.uColor=j.shared.setValue(t.tintRgb).premultiply(t.worldAlpha,l).toArray(this.shader.uniforms.uColor),this.shader.uniforms.uSampler=h,this.renderer.shader.bind(this.shader);let d=!1;for(let f=0,p=0;fr&&(m=r),p>=a.length&&a.push(this._generateOneMoreBuffer(t));const g=a[p];g.uploadDynamic(s,f,m);const x=t._bufferUpdateIDs[p]||0;d=d||g._updateID0);r[o]=l,r[o+n]=l,r[o+n*2]=l,r[o+n*3]=l,o+=n*4}}destroy(){super.destroy(),this.shader&&(this.shader.destroy(),this.shader=null),this.tempMatrix=null}}On.extension={name:"particle",type:D.RendererPlugin},U.add(On),Qa.prototype.renderCanvas=function(t){if(!this.visible||this.worldAlpha<=0||!this.children.length||!this.renderable)return;const s=t.canvasContext.activeContext,i=this.worldTransform;let r=!0,n=0,o=0,a=0,h=0;t.canvasContext.setBlendMode(this.blendMode),s.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(let l=0;l(e[e.LINEAR_VERTICAL=0]="LINEAR_VERTICAL",e[e.LINEAR_HORIZONTAL=1]="LINEAR_HORIZONTAL",e))(Gs||{});const Yi={willReadFrequently:!0},G=class{static get experimentalLetterSpacingSupported(){let e=G._experimentalLetterSpacingSupported;if(e!==void 0){const t=N.ADAPTER.getCanvasRenderingContext2D().prototype;e=G._experimentalLetterSpacingSupported="letterSpacing"in t||"textLetterSpacing"in t}return e}constructor(e,t,s,i,r,n,o,a,h){this.text=e,this.style=t,this.width=s,this.height=i,this.lines=r,this.lineWidths=n,this.lineHeight=o,this.maxLineWidth=a,this.fontProperties=h}static measureText(e,t,s,i=G._canvas){s=s==null?t.wordWrap:s;const r=t.toFontString(),n=G.measureFont(r);n.fontSize===0&&(n.fontSize=t.fontSize,n.ascent=t.fontSize);const o=i.getContext("2d",Yi);o.font=r;const h=(s?G.wordWrap(e,t,i):e).split(/(?:\r\n|\r|\n)/),l=new Array(h.length);let c=0;for(let p=0;p0&&(i?r-=t:r+=(G.graphemeSegmenter(e).length-1)*t),r}static wordWrap(e,t,s=G._canvas){const i=s.getContext("2d",Yi);let r=0,n="",o="";const a=Object.create(null),{letterSpacing:h,whiteSpace:l}=t,c=G.collapseSpaces(l),u=G.collapseNewlines(l);let d=!c;const f=t.wordWrapWidth+h,p=G.tokenize(e);for(let m=0;mf)if(n!==""&&(o+=G.addLine(n),n="",r=0),G.canBreakWords(g,t.breakWords)){const y=G.wordWrapSplit(g);for(let v=0;vf&&(o+=G.addLine(n),d=!1,n="",r=0),n+=T,r+=b}}else{n.length>0&&(o+=G.addLine(n),n="",r=0);const y=m===p.length-1;o+=G.addLine(g,!y),d=!1,n="",r=0}else x+r>f&&(d=!1,o+=G.addLine(n),n="",r=0),(n.length>0||!G.isBreakingSpace(g)||d)&&(n+=g,r+=x)}return o+=G.addLine(n,!1),o}static addLine(e,t=!0){return e=G.trimRight(e),e=t?`${e} `:e,e}static getFromCache(e,t,s,i){let r=s[e];return typeof r!="number"&&(r=G._measureText(e,t,i)+t,s[e]=r),r}static collapseSpaces(e){return e==="normal"||e==="pre-line"}static collapseNewlines(e){return e==="normal"}static trimRight(e){if(typeof e!="string")return"";for(let t=e.length-1;t>=0;t--){const s=e[t];if(!G.isBreakingSpace(s))break;e=e.slice(0,-1)}return e}static isNewline(e){return typeof e!="string"?!1:G._newlines.includes(e.charCodeAt(0))}static isBreakingSpace(e,t){return typeof e!="string"?!1:G._breakingSpaces.includes(e.charCodeAt(0))}static tokenize(e){const t=[];let s="";if(typeof e!="string")return t;for(let i=0;io;--u){for(let p=0;p{if(typeof(Intl==null?void 0:Intl.Segmenter)=="function"){const e=new Intl.Segmenter;return t=>[...e.segment(t)].map(s=>s.segment)}return e=>[...e]})(),wt.experimentalLetterSpacing=!1,wt._fonts={},wt._newlines=[10,13],wt._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];const Ou=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],Hs=class{constructor(e){this.styleID=0,this.reset(),Un(this,e,e)}clone(){const e={};return Un(e,this,Hs.defaultStyle),new Hs(e)}reset(){Un(this,Hs.defaultStyle,Hs.defaultStyle)}get align(){return this._align}set align(e){this._align!==e&&(this._align=e,this.styleID++)}get breakWords(){return this._breakWords}set breakWords(e){this._breakWords!==e&&(this._breakWords=e,this.styleID++)}get dropShadow(){return this._dropShadow}set dropShadow(e){this._dropShadow!==e&&(this._dropShadow=e,this.styleID++)}get dropShadowAlpha(){return this._dropShadowAlpha}set dropShadowAlpha(e){this._dropShadowAlpha!==e&&(this._dropShadowAlpha=e,this.styleID++)}get dropShadowAngle(){return this._dropShadowAngle}set dropShadowAngle(e){this._dropShadowAngle!==e&&(this._dropShadowAngle=e,this.styleID++)}get dropShadowBlur(){return this._dropShadowBlur}set dropShadowBlur(e){this._dropShadowBlur!==e&&(this._dropShadowBlur=e,this.styleID++)}get dropShadowColor(){return this._dropShadowColor}set dropShadowColor(e){const t=Ln(e);this._dropShadowColor!==t&&(this._dropShadowColor=t,this.styleID++)}get dropShadowDistance(){return this._dropShadowDistance}set dropShadowDistance(e){this._dropShadowDistance!==e&&(this._dropShadowDistance=e,this.styleID++)}get fill(){return this._fill}set fill(e){const t=Ln(e);this._fill!==t&&(this._fill=t,this.styleID++)}get fillGradientType(){return this._fillGradientType}set fillGradientType(e){this._fillGradientType!==e&&(this._fillGradientType=e,this.styleID++)}get fillGradientStops(){return this._fillGradientStops}set fillGradientStops(e){Lu(this._fillGradientStops,e)||(this._fillGradientStops=e,this.styleID++)}get fontFamily(){return this._fontFamily}set fontFamily(e){this.fontFamily!==e&&(this._fontFamily=e,this.styleID++)}get fontSize(){return this._fontSize}set fontSize(e){this._fontSize!==e&&(this._fontSize=e,this.styleID++)}get fontStyle(){return this._fontStyle}set fontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.styleID++)}get fontVariant(){return this._fontVariant}set fontVariant(e){this._fontVariant!==e&&(this._fontVariant=e,this.styleID++)}get fontWeight(){return this._fontWeight}set fontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.styleID++)}get letterSpacing(){return this._letterSpacing}set letterSpacing(e){this._letterSpacing!==e&&(this._letterSpacing=e,this.styleID++)}get lineHeight(){return this._lineHeight}set lineHeight(e){this._lineHeight!==e&&(this._lineHeight=e,this.styleID++)}get leading(){return this._leading}set leading(e){this._leading!==e&&(this._leading=e,this.styleID++)}get lineJoin(){return this._lineJoin}set lineJoin(e){this._lineJoin!==e&&(this._lineJoin=e,this.styleID++)}get miterLimit(){return this._miterLimit}set miterLimit(e){this._miterLimit!==e&&(this._miterLimit=e,this.styleID++)}get padding(){return this._padding}set padding(e){this._padding!==e&&(this._padding=e,this.styleID++)}get stroke(){return this._stroke}set stroke(e){const t=Ln(e);this._stroke!==t&&(this._stroke=t,this.styleID++)}get strokeThickness(){return this._strokeThickness}set strokeThickness(e){this._strokeThickness!==e&&(this._strokeThickness=e,this.styleID++)}get textBaseline(){return this._textBaseline}set textBaseline(e){this._textBaseline!==e&&(this._textBaseline=e,this.styleID++)}get trim(){return this._trim}set trim(e){this._trim!==e&&(this._trim=e,this.styleID++)}get whiteSpace(){return this._whiteSpace}set whiteSpace(e){this._whiteSpace!==e&&(this._whiteSpace=e,this.styleID++)}get wordWrap(){return this._wordWrap}set wordWrap(e){this._wordWrap!==e&&(this._wordWrap=e,this.styleID++)}get wordWrapWidth(){return this._wordWrapWidth}set wordWrapWidth(e){this._wordWrapWidth!==e&&(this._wordWrapWidth=e,this.styleID++)}toFontString(){const e=typeof this.fontSize=="number"?`${this.fontSize}px`:this.fontSize;let t=this.fontFamily;Array.isArray(this.fontFamily)||(t=this.fontFamily.split(","));for(let s=t.length-1;s>=0;s--){let i=t[s].trim();!/([\"\'])[^\'\"]+\1/.test(i)&&!Ou.includes(i)&&(i=`"${i}"`),t[s]=i}return`${this.fontStyle} ${this.fontVariant} ${this.fontWeight} ${e} ${t.join(",")}`}};let de=Hs;de.defaultStyle={align:"left",breakWords:!1,dropShadow:!1,dropShadowAlpha:1,dropShadowAngle:Math.PI/6,dropShadowBlur:0,dropShadowColor:"black",dropShadowDistance:5,fill:"black",fillGradientType:Gs.LINEAR_VERTICAL,fillGradientStops:[],fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",leading:0,letterSpacing:0,lineHeight:0,lineJoin:"miter",miterLimit:10,padding:0,stroke:"black",strokeThickness:0,textBaseline:"alphabetic",trim:!1,whiteSpace:"pre",wordWrap:!1,wordWrapWidth:100};function Ln(e){const t=j.shared;return Array.isArray(e)?e.map(s=>t.setValue(s).toHex()):t.setValue(e).toHex()}function Lu(e,t){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let s=0;s0&&f>p&&(m=(p+f)/2);const g=p+u,x=s.lineHeight*(d+1);let y=g;d+1=s&&(o=e-a-1),h=h.replace("%value%",t[o].toString()),r+=h,r+=` `}return i=i.replace("%blur%",r),i=i.replace("%size%",e.toString()),i}const zu=` attribute vec2 aVertexPosition; uniform mat3 projectionMatrix; uniform float strength; varying vec2 vBlurTexCoords[%size%]; uniform vec4 inputSize; uniform vec4 outputFrame; vec4 filterVertexPosition( void ) { vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy; return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0); } vec2 filterTextureCoord( void ) { return aVertexPosition * (outputFrame.zw * inputSize.zw); } void main(void) { gl_Position = filterVertexPosition(); vec2 textureCoord = filterTextureCoord(); %blur% }`;function Wu(e,t){const s=Math.ceil(e/2);let i=zu,r="",n;t?n="vBlurTexCoords[%index%] = textureCoord + vec2(%sampleIndex% * strength, 0.0);":n="vBlurTexCoords[%index%] = textureCoord + vec2(0.0, %sampleIndex% * strength);";for(let o=0;o 0.0) { c.rgb /= c.a; } vec4 result; result.r = (m[0] * c.r); result.r += (m[1] * c.g); result.r += (m[2] * c.b); result.r += (m[3] * c.a); result.r += m[4]; result.g = (m[5] * c.r); result.g += (m[6] * c.g); result.g += (m[7] * c.b); result.g += (m[8] * c.a); result.g += m[9]; result.b = (m[10] * c.r); result.b += (m[11] * c.g); result.b += (m[12] * c.b); result.b += (m[13] * c.a); result.b += m[14]; result.a = (m[15] * c.r); result.a += (m[16] * c.g); result.a += (m[17] * c.b); result.a += (m[18] * c.a); result.a += m[19]; vec3 rgb = mix(c.rgb, result.rgb, uAlpha); // Premultiply alpha again. rgb *= result.a; gl_FragColor = vec4(rgb, result.a); } `;class Ki extends Et{constructor(){const t={m:new Float32Array([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]),uAlpha:1};super(yn,ju,t),this.alpha=1}_loadMatrix(t,s=!1){let i=t;s&&(this._multiply(i,this.uniforms.m,t),i=this._colorMatrix(i)),this.uniforms.m=i}_multiply(t,s,i){return t[0]=s[0]*i[0]+s[1]*i[5]+s[2]*i[10]+s[3]*i[15],t[1]=s[0]*i[1]+s[1]*i[6]+s[2]*i[11]+s[3]*i[16],t[2]=s[0]*i[2]+s[1]*i[7]+s[2]*i[12]+s[3]*i[17],t[3]=s[0]*i[3]+s[1]*i[8]+s[2]*i[13]+s[3]*i[18],t[4]=s[0]*i[4]+s[1]*i[9]+s[2]*i[14]+s[3]*i[19]+s[4],t[5]=s[5]*i[0]+s[6]*i[5]+s[7]*i[10]+s[8]*i[15],t[6]=s[5]*i[1]+s[6]*i[6]+s[7]*i[11]+s[8]*i[16],t[7]=s[5]*i[2]+s[6]*i[7]+s[7]*i[12]+s[8]*i[17],t[8]=s[5]*i[3]+s[6]*i[8]+s[7]*i[13]+s[8]*i[18],t[9]=s[5]*i[4]+s[6]*i[9]+s[7]*i[14]+s[8]*i[19]+s[9],t[10]=s[10]*i[0]+s[11]*i[5]+s[12]*i[10]+s[13]*i[15],t[11]=s[10]*i[1]+s[11]*i[6]+s[12]*i[11]+s[13]*i[16],t[12]=s[10]*i[2]+s[11]*i[7]+s[12]*i[12]+s[13]*i[17],t[13]=s[10]*i[3]+s[11]*i[8]+s[12]*i[13]+s[13]*i[18],t[14]=s[10]*i[4]+s[11]*i[9]+s[12]*i[14]+s[13]*i[19]+s[14],t[15]=s[15]*i[0]+s[16]*i[5]+s[17]*i[10]+s[18]*i[15],t[16]=s[15]*i[1]+s[16]*i[6]+s[17]*i[11]+s[18]*i[16],t[17]=s[15]*i[2]+s[16]*i[7]+s[17]*i[12]+s[18]*i[17],t[18]=s[15]*i[3]+s[16]*i[8]+s[17]*i[13]+s[18]*i[18],t[19]=s[15]*i[4]+s[16]*i[9]+s[17]*i[14]+s[18]*i[19]+s[19],t}_colorMatrix(t){const s=new Float32Array(t);return s[4]/=255,s[9]/=255,s[14]/=255,s[19]/=255,s}brightness(t,s){const i=[t,0,0,0,0,0,t,0,0,0,0,0,t,0,0,0,0,0,1,0];this._loadMatrix(i,s)}tint(t,s){const[i,r,n]=j.shared.setValue(t).toArray(),o=[i,0,0,0,0,0,r,0,0,0,0,0,n,0,0,0,0,0,1,0];this._loadMatrix(o,s)}greyscale(t,s){const i=[t,t,t,0,0,t,t,t,0,0,t,t,t,0,0,0,0,0,1,0];this._loadMatrix(i,s)}blackAndWhite(t){const s=[.3,.6,.1,0,0,.3,.6,.1,0,0,.3,.6,.1,0,0,0,0,0,1,0];this._loadMatrix(s,t)}hue(t,s){t=(t||0)/180*Math.PI;const i=Math.cos(t),r=Math.sin(t),n=Math.sqrt,o=1/3,a=n(o),h=i+(1-i)*o,l=o*(1-i)-a*r,c=o*(1-i)+a*r,u=o*(1-i)+a*r,d=i+o*(1-i),f=o*(1-i)-a*r,p=o*(1-i)-a*r,m=o*(1-i)+a*r,g=i+o*(1-i),x=[h,l,c,0,0,u,d,f,0,0,p,m,g,0,0,0,0,0,1,0];this._loadMatrix(x,s)}contrast(t,s){const i=(t||0)+1,r=-.5*(i-1),n=[i,0,0,0,r,0,i,0,0,r,0,0,i,0,r,0,0,0,1,0];this._loadMatrix(n,s)}saturate(t=0,s){const i=t*2/3+1,r=(i-1)*-.5,n=[i,r,r,0,0,r,i,r,0,0,r,r,i,0,0,0,0,0,1,0];this._loadMatrix(n,s)}desaturate(){this.saturate(-1)}negative(t){const s=[-1,0,0,1,0,0,-1,0,1,0,0,0,-1,1,0,0,0,0,1,0];this._loadMatrix(s,t)}sepia(t){const s=[.393,.7689999,.18899999,0,0,.349,.6859999,.16799999,0,0,.272,.5339999,.13099999,0,0,0,0,0,1,0];this._loadMatrix(s,t)}technicolor(t){const s=[1.9125277891456083,-.8545344976951645,-.09155508482755585,0,11.793603434377337,-.3087833385928097,1.7658908555458428,-.10601743074722245,0,-70.35205161461398,-.231103377548616,-.7501899197440212,1.847597816108189,0,30.950940869491138,0,0,0,1,0];this._loadMatrix(s,t)}polaroid(t){const s=[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0];this._loadMatrix(s,t)}toBGR(t){const s=[0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0];this._loadMatrix(s,t)}kodachrome(t){const s=[1.1285582396593525,-.3967382283601348,-.03992559172921793,0,63.72958762196502,-.16404339962244616,1.0835251566291304,-.05498805115633132,0,24.732407896706203,-.16786010706155763,-.5603416277695248,1.6014850761964943,0,35.62982807460946,0,0,0,1,0];this._loadMatrix(s,t)}browni(t){const s=[.5997023498159715,.34553243048391263,-.2708298674538042,0,47.43192855600873,-.037703249837783157,.8609577587992641,.15059552388459913,0,-36.96841498319127,.24113635128153335,-.07441037908422492,.44972182064877153,0,-7.562075277591283,0,0,0,1,0];this._loadMatrix(s,t)}vintage(t){const s=[.6279345635605994,.3202183420819367,-.03965408211312453,0,9.651285835294123,.02578397704808868,.6441188644374771,.03259127616149294,0,7.462829176470591,.0466055556782719,-.0851232987247891,.5241648018700465,0,5.159190588235296,0,0,0,1,0];this._loadMatrix(s,t)}colorTone(t,s,i,r,n){t=t||.2,s=s||.15,i=i||16770432,r=r||3375104;const o=j.shared,[a,h,l]=o.setValue(i).toArray(),[c,u,d]=o.setValue(r).toArray(),f=[.3,.59,.11,0,0,a,h,l,t,0,c,u,d,s,0,a-c,h-u,l-d,0,0];this._loadMatrix(f,n)}night(t,s){t=t||.1;const i=[t*-2,-t,0,0,0,-t,0,t,0,0,0,t,t*2,0,0,0,0,0,1,0];this._loadMatrix(i,s)}predator(t,s){const i=[11.224130630493164*t,-4.794486999511719*t,-2.8746118545532227*t,0*t,.40342438220977783*t,-3.6330697536468506*t,9.193157196044922*t,-2.951810836791992*t,0*t,-1.316135048866272*t,-3.2184197902679443*t,-4.2375030517578125*t,7.476448059082031*t,0*t,.8044459223747253*t,0,0,0,1,0];this._loadMatrix(i,s)}lsd(t){const s=[2,-.4,.5,0,0,-.5,2,-.4,0,0,-.4,-.5,3,0,0,0,0,0,1,0];this._loadMatrix(s,t)}reset(){const t=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0];this._loadMatrix(t,!1)}get matrix(){return this.uniforms.m}set matrix(t){this.uniforms.m=t}get alpha(){return this.uniforms.uAlpha}set alpha(t){this.uniforms.uAlpha=t}}Ki.prototype.grayscale=Ki.prototype.greyscale;var $u=`varying vec2 vFilterCoord; varying vec2 vTextureCoord; uniform vec2 scale; uniform mat2 rotation; uniform sampler2D uSampler; uniform sampler2D mapSampler; uniform highp vec4 inputSize; uniform vec4 inputClamp; void main(void) { vec4 map = texture2D(mapSampler, vFilterCoord); map -= 0.5; map.xy = scale * inputSize.zw * (rotation * map.xy); gl_FragColor = texture2D(uSampler, clamp(vec2(vTextureCoord.x + map.x, vTextureCoord.y + map.y), inputClamp.xy, inputClamp.zw)); } `,Yu=`attribute vec2 aVertexPosition; uniform mat3 projectionMatrix; uniform mat3 filterMatrix; varying vec2 vTextureCoord; varying vec2 vFilterCoord; uniform vec4 inputSize; uniform vec4 outputFrame; vec4 filterVertexPosition( void ) { vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy; return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0); } vec2 filterTextureCoord( void ) { return aVertexPosition * (outputFrame.zw * inputSize.zw); } void main(void) { gl_Position = filterVertexPosition(); vTextureCoord = filterTextureCoord(); vFilterCoord = ( filterMatrix * vec3( vTextureCoord, 1.0) ).xy; } `;class rh extends Et{constructor(t,s){const i=new Q;t.renderable=!1,super(Yu,$u,{mapSampler:t._texture,filterMatrix:i,scale:{x:1,y:1},rotation:new Float32Array([1,0,0,1])}),this.maskSprite=t,this.maskMatrix=i,s==null&&(s=20),this.scale=new Y(s,s)}apply(t,s,i,r){this.uniforms.filterMatrix=t.calculateSpriteMatrix(this.maskMatrix,this.maskSprite),this.uniforms.scale.x=this.scale.x,this.uniforms.scale.y=this.scale.y;const n=this.maskSprite.worldTransform,o=Math.sqrt(n.a*n.a+n.b*n.b),a=Math.sqrt(n.c*n.c+n.d*n.d);o!==0&&a!==0&&(this.uniforms.rotation[0]=n.a/o,this.uniforms.rotation[1]=n.b/o,this.uniforms.rotation[2]=n.c/a,this.uniforms.rotation[3]=n.d/a),t.applyFilter(this,s,i,r)}get map(){return this.uniforms.mapSampler}set map(t){this.uniforms.mapSampler=t}}var qu=`varying vec2 v_rgbNW; varying vec2 v_rgbNE; varying vec2 v_rgbSW; varying vec2 v_rgbSE; varying vec2 v_rgbM; varying vec2 vFragCoord; uniform sampler2D uSampler; uniform highp vec4 inputSize; /** Basic FXAA implementation based on the code on geeks3d.com with the modification that the texture2DLod stuff was removed since it's unsupported by WebGL. -- From: https://github.com/mitsuhiko/webgl-meincraft Copyright (c) 2011 by Armin Ronacher. Some 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. * The names of the contributors may not 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. */ #ifndef FXAA_REDUCE_MIN #define FXAA_REDUCE_MIN (1.0/ 128.0) #endif #ifndef FXAA_REDUCE_MUL #define FXAA_REDUCE_MUL (1.0 / 8.0) #endif #ifndef FXAA_SPAN_MAX #define FXAA_SPAN_MAX 8.0 #endif //optimized version for mobile, where dependent //texture reads can be a bottleneck vec4 fxaa(sampler2D tex, vec2 fragCoord, vec2 inverseVP, vec2 v_rgbNW, vec2 v_rgbNE, vec2 v_rgbSW, vec2 v_rgbSE, vec2 v_rgbM) { vec4 color; vec3 rgbNW = texture2D(tex, v_rgbNW).xyz; vec3 rgbNE = texture2D(tex, v_rgbNE).xyz; vec3 rgbSW = texture2D(tex, v_rgbSW).xyz; vec3 rgbSE = texture2D(tex, v_rgbSE).xyz; vec4 texColor = texture2D(tex, v_rgbM); vec3 rgbM = texColor.xyz; vec3 luma = vec3(0.299, 0.587, 0.114); float lumaNW = dot(rgbNW, luma); float lumaNE = dot(rgbNE, luma); float lumaSW = dot(rgbSW, luma); float lumaSE = dot(rgbSE, luma); float lumaM = dot(rgbM, luma); float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE))); float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE))); mediump vec2 dir; dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE)); dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE)); float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) * (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN); float rcpDirMin = 1.0 / (min(abs(dir.x), abs(dir.y)) + dirReduce); dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX), max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX), dir * rcpDirMin)) * inverseVP; vec3 rgbA = 0.5 * ( texture2D(tex, fragCoord * inverseVP + dir * (1.0 / 3.0 - 0.5)).xyz + texture2D(tex, fragCoord * inverseVP + dir * (2.0 / 3.0 - 0.5)).xyz); vec3 rgbB = rgbA * 0.5 + 0.25 * ( texture2D(tex, fragCoord * inverseVP + dir * -0.5).xyz + texture2D(tex, fragCoord * inverseVP + dir * 0.5).xyz); float lumaB = dot(rgbB, luma); if ((lumaB < lumaMin) || (lumaB > lumaMax)) color = vec4(rgbA, texColor.a); else color = vec4(rgbB, texColor.a); return color; } void main() { vec4 color; color = fxaa(uSampler, vFragCoord, inputSize.zw, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM); gl_FragColor = color; } `,Ku=` attribute vec2 aVertexPosition; uniform mat3 projectionMatrix; varying vec2 v_rgbNW; varying vec2 v_rgbNE; varying vec2 v_rgbSW; varying vec2 v_rgbSE; varying vec2 v_rgbM; varying vec2 vFragCoord; uniform vec4 inputSize; uniform vec4 outputFrame; vec4 filterVertexPosition( void ) { vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy; return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0); } void texcoords(vec2 fragCoord, vec2 inverseVP, out vec2 v_rgbNW, out vec2 v_rgbNE, out vec2 v_rgbSW, out vec2 v_rgbSE, out vec2 v_rgbM) { v_rgbNW = (fragCoord + vec2(-1.0, -1.0)) * inverseVP; v_rgbNE = (fragCoord + vec2(1.0, -1.0)) * inverseVP; v_rgbSW = (fragCoord + vec2(-1.0, 1.0)) * inverseVP; v_rgbSE = (fragCoord + vec2(1.0, 1.0)) * inverseVP; v_rgbM = vec2(fragCoord * inverseVP); } void main(void) { gl_Position = filterVertexPosition(); vFragCoord = aVertexPosition * outputFrame.zw; texcoords(vFragCoord, inputSize.zw, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM); } `;class nh extends Et{constructor(){super(Ku,qu)}}var Zu=`precision highp float; varying vec2 vTextureCoord; varying vec4 vColor; uniform float uNoise; uniform float uSeed; uniform sampler2D uSampler; float rand(vec2 co) { return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453); } void main() { vec4 color = texture2D(uSampler, vTextureCoord); float randomValue = rand(gl_FragCoord.xy * uSeed); float diff = (randomValue - 0.5) * uNoise; // Un-premultiply alpha before applying the color matrix. See issue #3539. if (color.a > 0.0) { color.rgb /= color.a; } color.r += diff; color.g += diff; color.b += diff; // Premultiply alpha again. color.rgb *= color.a; gl_FragColor = color; } `;class oh extends Et{constructor(t=.5,s=Math.random()){super(yn,Zu,{uNoise:0,uSeed:0}),this.noise=t,this.seed=s}get noise(){return this.uniforms.uNoise}set noise(t){this.uniforms.uNoise=t}get seed(){return this.uniforms.uSeed}set seed(t){this.uniforms.uSeed=t}}const Gn={AlphaFilter:sh,BlurFilter:ih,BlurFilterPass:qi,ColorMatrixFilter:Ki,DisplacementFilter:rh,FXAAFilter:nh,NoiseFilter:oh};Object.entries(Gn).forEach(([e,t])=>{Object.defineProperty(Gn,e,{get(){return z("7.1.0",`filters.${e} has moved to ${e}`),t}})});class Ju{constructor(){this.interactionFrequency=10,this._deltaTime=0,this._didMove=!1,this.tickerAdded=!1,this._pauseUpdate=!0}init(t){this.removeTickerListener(),this.events=t,this.interactionFrequency=10,this._deltaTime=0,this._didMove=!1,this.tickerAdded=!1,this._pauseUpdate=!0}get pauseUpdate(){return this._pauseUpdate}set pauseUpdate(t){this._pauseUpdate=t}addTickerListener(){this.tickerAdded||!this.domElement||(mt.system.add(this.tickerUpdate,this,Ee.INTERACTION),this.tickerAdded=!0)}removeTickerListener(){!this.tickerAdded||(mt.system.remove(this.tickerUpdate,this),this.tickerAdded=!1)}pointerMoved(){this._didMove=!0}update(){if(!this.domElement||this._pauseUpdate)return;if(this._didMove){this._didMove=!1;return}const t=this.events.rootPointerEvent;this.events.supportsTouchEvents&&t.pointerType==="touch"||globalThis.document.dispatchEvent(new PointerEvent("pointermove",{clientX:t.clientX,clientY:t.clientY}))}tickerUpdate(t){this._deltaTime+=t,!(this._deltaTimei.priority-r.priority)}dispatchEvent(t,s){t.propagationStopped=!1,t.propagationImmediatelyStopped=!1,this.propagate(t,s),this.dispatch.emit(s||t.type,t)}mapEvent(t){if(!this.rootTarget)return;const s=this.mappingTable[t.type];if(s)for(let i=0,r=s.length;i=0;r--)if(t.currentTarget=i[r],this.notifyTarget(t,s),t.propagationStopped||t.propagationImmediatelyStopped)return}}all(t,s,i=this._allInteractiveElements){if(i.length===0)return;t.eventPhase=t.BUBBLING_PHASE;const r=Array.isArray(s)?s:[s];for(let n=i.length-1;n>=0;n--)r.forEach(o=>{t.currentTarget=i[n],this.notifyTarget(t,o)})}propagationPath(t){const s=[t];for(let i=0;i=0;u--){const d=c[u],f=this.hitTestMoveRecursive(d,this._isInteractive(s)?s:d.eventMode,i,r,n,o||n(t,i));if(f){if(f.length>0&&!f[f.length-1].parent)continue;const p=t.isInteractive();(f.length>0||p)&&(p&&this._allInteractiveElements.push(t),f.push(t)),this._hitElements.length===0&&(this._hitElements=f),a=!0}}}const h=this._isInteractive(s),l=t.isInteractive();return l&&l&&this._allInteractiveElements.push(t),o||this._hitElements.length>0?null:a?this._hitElements:h&&!n(t,i)&&r(t,i)?l?[t]:[]:null}hitTestRecursive(t,s,i,r,n){if(this._interactivePrune(t)||n(t,i))return null;if((t.eventMode==="dynamic"||s==="dynamic")&&(Zi.pauseUpdate=!1),t.interactiveChildren&&t.children){const h=t.children;for(let l=h.length-1;l>=0;l--){const c=h[l],u=this.hitTestRecursive(c,this._isInteractive(s)?s:c.eventMode,i,r,n);if(u){if(u.length>0&&!u[u.length-1].parent)continue;const d=t.isInteractive();return(u.length>0||d)&&u.push(t),u}}}const o=this._isInteractive(s),a=t.isInteractive();return o&&r(t,i)?a?[t]:[]:null}_isInteractive(t){return t==="static"||t==="dynamic"}_interactivePrune(t){return!!(!t||t.isMask||!t.visible||!t.renderable||t.eventMode==="none"||t.eventMode==="passive"&&!t.interactiveChildren||t.isMask)}hitPruneFn(t,s){var i;if(t.hitArea&&(t.worldTransform.applyInverse(s,Hn),!t.hitArea.contains(Hn.x,Hn.y)))return!0;if(t._mask){const r=t._mask.isMaskData?t._mask.maskObject:t._mask;if(r&&!((i=r.containsPoint)!=null&&i.call(r,s)))return!0}return!1}hitTestFn(t,s){return t.eventMode==="passive"?!1:t.hitArea?!0:t.containsPoint?t.containsPoint(s):!1}notifyTarget(t,s){var n,o;s=s!=null?s:t.type;const i=`on${s}`;(o=(n=t.currentTarget)[i])==null||o.call(n,t);const r=t.eventPhase===t.CAPTURING_PHASE||t.eventPhase===t.AT_TARGET?`${s}capture`:s;this.notifyListeners(t,r),t.eventPhase===t.AT_TARGET&&this.notifyListeners(t,s)}mapPointerDown(t){if(!(t instanceof Yt)){console.warn("EventBoundary cannot map a non-pointer event as a pointer event");return}const s=this.createPointerEvent(t);if(this.dispatchEvent(s,"pointerdown"),s.pointerType==="touch")this.dispatchEvent(s,"touchstart");else if(s.pointerType==="mouse"||s.pointerType==="pen"){const r=s.button===2;this.dispatchEvent(s,r?"rightdown":"mousedown")}const i=this.trackingData(t.pointerId);i.pressTargetsByButton[t.button]=s.composedPath(),this.freeEvent(s)}mapPointerMove(t){var h,l,c;if(!(t instanceof Yt)){console.warn("EventBoundary cannot map a non-pointer event as a pointer event");return}this._allInteractiveElements.length=0,this._hitElements.length=0,this._isPointerMoveEvent=!0;const s=this.createPointerEvent(t);this._isPointerMoveEvent=!1;const i=s.pointerType==="mouse"||s.pointerType==="pen",r=this.trackingData(t.pointerId),n=this.findMountedTarget(r.overTargets);if(((h=r.overTargets)==null?void 0:h.length)>0&&n!==s.target){const u=t.type==="mousemove"?"mouseout":"pointerout",d=this.createPointerEvent(t,u,n);if(this.dispatchEvent(d,"pointerout"),i&&this.dispatchEvent(d,"mouseout"),!s.composedPath().includes(n)){const f=this.createPointerEvent(t,"pointerleave",n);for(f.eventPhase=f.AT_TARGET;f.target&&!s.composedPath().includes(f.target);)f.currentTarget=f.target,this.notifyTarget(f),i&&this.notifyTarget(f,"mouseleave"),f.target=f.target.parent;this.freeEvent(f)}this.freeEvent(d)}if(n!==s.target){const u=t.type==="mousemove"?"mouseover":"pointerover",d=this.clonePointerEvent(s,u);this.dispatchEvent(d,"pointerover"),i&&this.dispatchEvent(d,"mouseover");let f=n==null?void 0:n.parent;for(;f&&f!==this.rootTarget.parent&&f!==s.target;)f=f.parent;if(!f||f===this.rootTarget.parent){const m=this.clonePointerEvent(s,"pointerenter");for(m.eventPhase=m.AT_TARGET;m.target&&m.target!==n&&m.target!==this.rootTarget.parent;)m.currentTarget=m.target,this.notifyTarget(m),i&&this.notifyTarget(m,"mouseenter"),m.target=m.target.parent;this.freeEvent(m)}this.freeEvent(d)}const o=[],a=(l=this.enableGlobalMoveEvents)!=null?l:!0;this.moveOnAll?o.push("pointermove"):this.dispatchEvent(s,"pointermove"),a&&o.push("globalpointermove"),s.pointerType==="touch"&&(this.moveOnAll?o.splice(1,0,"touchmove"):this.dispatchEvent(s,"touchmove"),a&&o.push("globaltouchmove")),i&&(this.moveOnAll?o.splice(1,0,"mousemove"):this.dispatchEvent(s,"mousemove"),a&&o.push("globalmousemove"),this.cursor=(c=s.target)==null?void 0:c.cursor),o.length>0&&this.all(s,o),this._allInteractiveElements.length=0,this._hitElements.length=0,r.overTargets=s.composedPath(),this.freeEvent(s)}mapPointerOver(t){var o;if(!(t instanceof Yt)){console.warn("EventBoundary cannot map a non-pointer event as a pointer event");return}const s=this.trackingData(t.pointerId),i=this.createPointerEvent(t),r=i.pointerType==="mouse"||i.pointerType==="pen";this.dispatchEvent(i,"pointerover"),r&&this.dispatchEvent(i,"mouseover"),i.pointerType==="mouse"&&(this.cursor=(o=i.target)==null?void 0:o.cursor);const n=this.clonePointerEvent(i,"pointerenter");for(n.eventPhase=n.AT_TARGET;n.target&&n.target!==this.rootTarget.parent;)n.currentTarget=n.target,this.notifyTarget(n),r&&this.notifyTarget(n,"mouseenter"),n.target=n.target.parent;s.overTargets=i.composedPath(),this.freeEvent(i),this.freeEvent(n)}mapPointerOut(t){if(!(t instanceof Yt)){console.warn("EventBoundary cannot map a non-pointer event as a pointer event");return}const s=this.trackingData(t.pointerId);if(s.overTargets){const i=t.pointerType==="mouse"||t.pointerType==="pen",r=this.findMountedTarget(s.overTargets),n=this.createPointerEvent(t,"pointerout",r);this.dispatchEvent(n),i&&this.dispatchEvent(n,"mouseout");const o=this.createPointerEvent(t,"pointerleave",r);for(o.eventPhase=o.AT_TARGET;o.target&&o.target!==this.rootTarget.parent;)o.currentTarget=o.target,this.notifyTarget(o),i&&this.notifyTarget(o,"mouseleave"),o.target=o.target.parent;s.overTargets=null,this.freeEvent(n),this.freeEvent(o)}this.cursor=null}mapPointerUp(t){if(!(t instanceof Yt)){console.warn("EventBoundary cannot map a non-pointer event as a pointer event");return}const s=performance.now(),i=this.createPointerEvent(t);if(this.dispatchEvent(i,"pointerup"),i.pointerType==="touch")this.dispatchEvent(i,"touchend");else if(i.pointerType==="mouse"||i.pointerType==="pen"){const a=i.button===2;this.dispatchEvent(i,a?"rightup":"mouseup")}const r=this.trackingData(t.pointerId),n=this.findMountedTarget(r.pressTargetsByButton[t.button]);let o=n;if(n&&!i.composedPath().includes(n)){let a=n;for(;a&&!i.composedPath().includes(a);){if(i.currentTarget=a,this.notifyTarget(i,"pointerupoutside"),i.pointerType==="touch")this.notifyTarget(i,"touchendoutside");else if(i.pointerType==="mouse"||i.pointerType==="pen"){const h=i.button===2;this.notifyTarget(i,h?"rightupoutside":"mouseupoutside")}a=a.parent}delete r.pressTargetsByButton[t.button],o=a}if(o){const a=this.clonePointerEvent(i,"click");a.target=o,a.path=null,r.clicksByButton[t.button]||(r.clicksByButton[t.button]={clickCount:0,target:a.target,timeStamp:s});const h=r.clicksByButton[t.button];if(h.target===a.target&&s-h.timeStamp<200?++h.clickCount:h.clickCount=1,h.target=a.target,h.timeStamp=s,a.detail=h.clickCount,a.pointerType==="mouse"){const l=a.button===2;this.dispatchEvent(a,l?"rightclick":"click")}else a.pointerType==="touch"&&this.dispatchEvent(a,"tap");this.dispatchEvent(a,"pointertap"),this.freeEvent(a)}this.freeEvent(i)}mapPointerUpOutside(t){if(!(t instanceof Yt)){console.warn("EventBoundary cannot map a non-pointer event as a pointer event");return}const s=this.trackingData(t.pointerId),i=this.findMountedTarget(s.pressTargetsByButton[t.button]),r=this.createPointerEvent(t);if(i){let n=i;for(;n;)r.currentTarget=n,this.notifyTarget(r,"pointerupoutside"),r.pointerType==="touch"?this.notifyTarget(r,"touchendoutside"):(r.pointerType==="mouse"||r.pointerType==="pen")&&this.notifyTarget(r,r.button===2?"rightupoutside":"mouseupoutside"),n=n.parent;delete s.pressTargetsByButton[t.button]}this.freeEvent(r)}mapWheel(t){if(!(t instanceof ze)){console.warn("EventBoundary cannot map a non-wheel event as a wheel event");return}const s=this.createWheelEvent(t);this.dispatchEvent(s),this.freeEvent(s)}findMountedTarget(t){if(!t)return null;let s=t[0];for(let i=1;i(s==="globalMove"&&(this.rootBoundary.enableGlobalMoveEvents=i),t[s]=i,!0)}),this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onPointerOverOut=this.onPointerOverOut.bind(this),this.onWheel=this.onWheel.bind(this)}static get defaultEventMode(){return this._defaultEventMode}init(e){var i,r;const{view:t,resolution:s}=this.renderer;this.setTargetElement(t),this.resolution=s,Xn._defaultEventMode=(i=e.eventMode)!=null?i:"auto",Object.assign(this.features,(r=e.eventFeatures)!=null?r:{}),this.rootBoundary.enableGlobalMoveEvents=this.features.globalMove}resolutionChange(e){this.resolution=e}destroy(){this.setTargetElement(null),this.renderer=null}setCursor(e){e=e||"default";let t=!0;if(globalThis.OffscreenCanvas&&this.domElement instanceof OffscreenCanvas&&(t=!1),this.currentCursor===e)return;this.currentCursor=e;const s=this.cursorStyles[e];if(s)switch(typeof s){case"string":t&&(this.domElement.style.cursor=s);break;case"function":s(e);break;case"object":t&&Object.assign(this.domElement.style,s);break}else t&&typeof e=="string"&&!Object.prototype.hasOwnProperty.call(this.cursorStyles,e)&&(this.domElement.style.cursor=e)}get pointer(){return this.rootPointerEvent}onPointerDown(e){if(!this.features.click||(this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,this.supportsTouchEvents&&e.pointerType==="touch"))return;const t=this.normalizeToPointerData(e);this.autoPreventDefault&&t[0].isNormalized&&(e.cancelable||!("cancelable"in e))&&e.preventDefault();for(let s=0,i=t.length;s0&&(t=e.composedPath()[0]);const s=t!==this.domElement?"outside":"",i=this.normalizeToPointerData(e);for(let r=0,n=i.length;r{this._isMobileAccessibility=!0,this.activate(),this.destroyTouchHook()}),document.body.appendChild(t),this._hookDiv=t}destroyTouchHook(){!this._hookDiv||(document.body.removeChild(this._hookDiv),this._hookDiv=null)}activate(){var t;this._isActive||(this._isActive=!0,globalThis.document.addEventListener("mousemove",this._onMouseMove,!0),globalThis.removeEventListener("keydown",this._onKeyDown,!1),this.renderer.on("postrender",this.update,this),(t=this.renderer.view.parentNode)==null||t.appendChild(this.div))}deactivate(){var t;!this._isActive||this._isMobileAccessibility||(this._isActive=!1,globalThis.document.removeEventListener("mousemove",this._onMouseMove,!0),globalThis.addEventListener("keydown",this._onKeyDown,!1),this.renderer.off("postrender",this.update),(t=this.div.parentNode)==null||t.removeChild(this.div))}updateAccessibleObjects(t){if(!t.visible||!t.accessibleChildren)return;t.accessible&&t.isInteractive()&&(t._accessibleActive||this.addChild(t),t.renderId=this.renderId);const s=t.children;if(s)for(let i=0;i title : ${t.title}
    tabIndex: ${t.tabIndex}`}capHitArea(t){t.x<0&&(t.width+=t.x,t.x=0),t.y<0&&(t.height+=t.y,t.y=0);const{width:s,height:i}=this.renderer;t.x+t.width>s&&(t.width=s-t.x),t.y+t.height>i&&(t.height=i-t.y)}addChild(t){let s=this.pool.pop();s||(s=document.createElement("button"),s.style.width=`${Ji}px`,s.style.height=`${Ji}px`,s.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",s.style.position="absolute",s.style.zIndex=uh.toString(),s.style.borderStyle="none",navigator.userAgent.toLowerCase().includes("chrome")?s.setAttribute("aria-live","off"):s.setAttribute("aria-live","polite"),navigator.userAgent.match(/rv:.*Gecko\//)?s.setAttribute("aria-relevant","additions"):s.setAttribute("aria-relevant","text"),s.addEventListener("click",this._onClick.bind(this)),s.addEventListener("focus",this._onFocus.bind(this)),s.addEventListener("focusout",this._onFocusOut.bind(this))),s.style.pointerEvents=t.accessiblePointerEvents,s.type=t.accessibleType,t.accessibleTitle&&t.accessibleTitle!==null?s.title=t.accessibleTitle:(!t.accessibleHint||t.accessibleHint===null)&&(s.title=`displayObject ${t.tabIndex}`),t.accessibleHint&&t.accessibleHint!==null&&s.setAttribute("aria-label",t.accessibleHint),this.debug&&this.updateDebugHTML(s),t._accessibleActive=!0,t._accessibleDiv=s,s.displayObject=t,this.children.push(t),this.div.appendChild(t._accessibleDiv),t._accessibleDiv.tabIndex=t.tabIndex}_dispatchEvent(t,s){const{displayObject:i}=t.target,r=this.renderer.events.rootBoundary,n=Object.assign(new rs(r),{target:i});r.rootTarget=this.renderer.lastObjectRendered,s.forEach(o=>r.dispatchEvent(n,o))}_onClick(t){this._dispatchEvent(t,["click","pointertap","tap"])}_onFocus(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","assertive"),this._dispatchEvent(t,["mouseover"])}_onFocusOut(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","polite"),this._dispatchEvent(t,["mouseout"])}_onKeyDown(t){t.keyCode===id&&this.activate()}_onMouseMove(t){t.movementX===0&&t.movementY===0||this.deactivate()}destroy(){this.destroyTouchHook(),this.div=null,globalThis.document.removeEventListener("mousemove",this._onMouseMove,!0),globalThis.removeEventListener("keydown",this._onKeyDown),this.pool=null,this.children=null,this.renderer=null}}Vn.extension={name:"accessibility",type:[D.RendererPlugin,D.CanvasRendererPlugin]},U.add(Vn);const zn=class{constructor(e){this.stage=new It,e=Object.assign({forceCanvas:!1},e),this.renderer=$a(e),zn._plugins.forEach(t=>{t.init.call(this,e)})}render(){this.renderer.render(this.stage)}get view(){return this.renderer.view}get screen(){return this.renderer.screen}destroy(e,t){const s=zn._plugins.slice(0);s.reverse(),s.forEach(i=>{i.destroy.call(this)}),this.stage.destroy(t),this.stage=null,this.renderer.destroy(e),this.renderer=null}};let Wn=zn;Wn._plugins=[],U.handleByList(D.Application,Wn._plugins);class jn{static init(t){Object.defineProperty(this,"resizeTo",{set(s){globalThis.removeEventListener("resize",this.queueResize),this._resizeTo=s,s&&(globalThis.addEventListener("resize",this.queueResize),this.resize())},get(){return this._resizeTo}}),this.queueResize=()=>{!this._resizeTo||(this.cancelResize(),this._resizeId=requestAnimationFrame(()=>this.resize()))},this.cancelResize=()=>{this._resizeId&&(cancelAnimationFrame(this._resizeId),this._resizeId=null)},this.resize=()=>{if(!this._resizeTo)return;this.cancelResize();let s,i;if(this._resizeTo===globalThis.window)s=globalThis.innerWidth,i=globalThis.innerHeight;else{const{clientWidth:r,clientHeight:n}=this._resizeTo;s=r,i=n}this.renderer.resize(s,i),this.render()},this._resizeId=null,this._resizeTo=null,this.resizeTo=t.resizeTo||null}static destroy(){globalThis.removeEventListener("resize",this.queueResize),this.cancelResize(),this.cancelResize=null,this.queueResize=null,this.resizeTo=null,this.resize=null}}jn.extension=D.Application,U.add(jn);const fh={loader:D.LoadParser,resolver:D.ResolveParser,cache:D.CacheParser,detection:D.DetectionParser};U.handle(D.Asset,e=>{const t=e.ref;Object.entries(fh).filter(([s])=>!!t[s]).forEach(([s,i])=>{var r;return U.add(Object.assign(t[s],{extension:(r=t[s].extension)!=null?r:i}))})},e=>{const t=e.ref;Object.keys(fh).filter(s=>!!t[s]).forEach(s=>U.remove(t[s]))});class ld{constructor(t,s=!1){this._loader=t,this._assetList=[],this._isLoading=!1,this._maxConcurrent=1,this.verbose=s}add(t){t.forEach(s=>{this._assetList.push(s)}),this.verbose&&console.log("[BackgroundLoader] assets: ",this._assetList),this._isActive&&!this._isLoading&&this._next()}async _next(){if(this._assetList.length&&this._isActive){this._isLoading=!0;const t=[],s=Math.min(this._assetList.length,this._maxConcurrent);for(let i=0;i(Array.isArray(e)||(e=[e]),t?e.map(s=>typeof s=="string"?t(s):s):e),Qi=(e,t)=>{const s=t.split("?")[1];return s&&(e+=`?${s}`),e};function ph(e,t,s,i,r){const n=t[s];for(let o=0;o{const o=n.substring(1,n.length-1).split(",");r.push(o)}),ph(e,r,0,s,i)}else i.push(e);return i}const zs=e=>!Array.isArray(e);class cd{constructor(){this._parsers=[],this._cache=new Map,this._cacheMap=new Map}reset(){this._cacheMap.clear(),this._cache.clear()}has(t){return this._cache.has(t)}get(t){const s=this._cache.get(t);return s||console.warn(`[Assets] Asset id ${t} was not found in the Cache`),s}set(t,s){const i=fe(t);let r;for(let a=0;a{r[a]=s}));const n=Object.keys(r),o={cacheKeys:n,keys:i};if(i.forEach(a=>{this._cacheMap.set(a,o)}),n.forEach(a=>{this._cache.has(a)&&this._cache.get(a)!==s&&console.warn("[Cache] already has key:",a),this._cache.set(a,r[a])}),s instanceof O){const a=s;i.forEach(h=>{a.baseTexture!==O.EMPTY.baseTexture&&V.addToCache(a.baseTexture,h),O.addToCache(a,h)})}}remove(t){if(this._cacheMap.get(t),!this._cacheMap.has(t)){console.warn(`[Assets] Asset id ${t} was not found in the Cache`);return}const s=this._cacheMap.get(t);s.cacheKeys.forEach(r=>{this._cache.delete(r)}),s.keys.forEach(r=>{this._cacheMap.delete(r)})}get parsers(){return this._parsers}}const as=new cd;class ud{constructor(){this._parsers=[],this._parsersValidated=!1,this.parsers=new Proxy(this._parsers,{set:(t,s,i)=>(this._parsersValidated=!1,t[s]=i,!0)}),this.promiseCache={}}reset(){this._parsersValidated=!1,this.promiseCache={}}_getLoadPromiseAndParser(t,s){const i={promise:null,parser:null};return i.promise=(async()=>{var o,a;let r=null,n=null;if(s.loadParser&&(n=this._parserHash[s.loadParser],n||console.warn(`[Assets] specified load parser "${s.loadParser}" not found while loading ${t}`)),!n){for(let h=0;h({src:l})),a=o.length,h=o.map(async l=>{const c=Ct.toAbsolute(l.src);if(!r[l.src])try{this.promiseCache[c]||(this.promiseCache[c]=this._getLoadPromiseAndParser(c,l)),r[l.src]=await this.promiseCache[c].promise,s&&s(++i/a)}catch(u){throw delete this.promiseCache[c],delete r[l.src],new Error(`[Loader.load] Failed to load ${c}. ${u}`)}});return await Promise.all(h),n?r[o[0].src]:r}async unload(t){const i=fe(t,r=>({src:r})).map(async r=>{var a,h;const n=Ct.toAbsolute(r.src),o=this.promiseCache[n];if(o){const l=await o.promise;(h=(a=o.parser)==null?void 0:a.unload)==null||h.call(a,l,r,this),delete this.promiseCache[n]}});await Promise.all(i)}_validateParsers(){this._parsersValidated=!0,this._parserHash=this._parsers.filter(t=>t.name).reduce((t,s)=>(t[s.name]&&console.warn(`[Assets] loadParser name conflict "${s.name}"`),li(St({},t),{[s.name]:s})),{})}}var re=(e=>(e[e.Low=0]="Low",e[e.Normal=1]="Normal",e[e.High=2]="High",e))(re||{});const dd=".json",fd="application/json",gh={extension:{type:D.LoadParser,priority:re.Low},name:"loadJson",test(e){return os(e,fd)||Ae(e,dd)},async load(e){return await(await N.ADAPTER.fetch(e)).json()}};U.add(gh);const pd=".txt",md="text/plain",_h={name:"loadTxt",extension:{type:D.LoadParser,priority:re.Low},test(e){return os(e,md)||Ae(e,pd)},async load(e){return await(await N.ADAPTER.fetch(e)).text()}};U.add(_h);const gd=["normal","bold","100","200","300","400","500","600","700","800","900"],_d=[".ttf",".otf",".woff",".woff2"],vd=["font/ttf","font/otf","font/woff","font/woff2"],xd=/^(--|-?[A-Z_])[0-9A-Z_-]*$/i;function vh(e){const t=Ct.extname(e),r=Ct.basename(e,t).replace(/(-|_)/g," ").toLowerCase().split(" ").map(a=>a.charAt(0).toUpperCase()+a.slice(1));let n=r.length>0;for(const a of r)if(!a.match(xd)){n=!1;break}let o=r.join(" ");return n||(o=`"${o.replace(/[\\"]/g,"\\$&")}"`),o}const xh={extension:{type:D.LoadParser,priority:re.Low},name:"loadWebFont",test(e){return os(e,vd)||Ae(e,_d)},async load(e,t){var i,r,n,o,a,h;const s=N.ADAPTER.getFontFaceSet();if(s){const l=[],c=(r=(i=t.data)==null?void 0:i.family)!=null?r:vh(e),u=(a=(o=(n=t.data)==null?void 0:n.weights)==null?void 0:o.filter(f=>gd.includes(f)))!=null?a:["normal"],d=(h=t.data)!=null?h:{};for(let f=0;fN.ADAPTER.getFontFaceSet().delete(t))}};U.add(xh);let yh=0,$n;const yd={id:"checkImageBitmap",code:` async function checkImageBitmap() { try { if (typeof createImageBitmap !== 'function') return false; const response = await fetch('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII='); const imageBlob = await response.blob(); const imageBitmap = await createImageBitmap(imageBlob); return imageBitmap.width === 1 && imageBitmap.height === 1; } catch (e) { return false; } } checkImageBitmap().then((result) => { self.postMessage(result); }); `},Td={id:"loadImageBitmap",code:` async function loadImageBitmap(url) { const response = await fetch(url); if (!response.ok) { throw new Error(\`[WorkerManager.loadImageBitmap] Failed to fetch \${url}: \` + \`\${response.status} \${response.statusText}\`); } const imageBlob = await response.blob(); const imageBitmap = await createImageBitmap(imageBlob); return imageBitmap; } self.onmessage = async (event) => { try { const imageBitmap = await loadImageBitmap(event.data.data[0]); self.postMessage({ data: imageBitmap, uuid: event.data.uuid, id: event.data.id, }, [imageBitmap]); } catch(e) { self.postMessage({ error: e, uuid: event.data.uuid, id: event.data.id, }); } };`};let Yn;class bd{constructor(){this._initialized=!1,this._createdWorkers=0,this.workerPool=[],this.queue=[],this.resolveHash={}}isImageBitmapSupported(){return this._isImageBitmapSupported!==void 0?this._isImageBitmapSupported:(this._isImageBitmapSupported=new Promise(t=>{const s=URL.createObjectURL(new Blob([yd.code],{type:"application/javascript"})),i=new Worker(s);i.addEventListener("message",r=>{i.terminate(),URL.revokeObjectURL(s),t(r.data)})}),this._isImageBitmapSupported)}loadImageBitmap(t){return this._run("loadImageBitmap",[t])}async _initWorkers(){this._initialized||(this._initialized=!0)}getWorker(){$n===void 0&&($n=navigator.hardwareConcurrency||4);let t=this.workerPool.pop();return!t&&this._createdWorkers<$n&&(Yn||(Yn=URL.createObjectURL(new Blob([Td.code],{type:"application/javascript"}))),this._createdWorkers++,t=new Worker(Yn),t.addEventListener("message",s=>{this.complete(s.data),this.returnWorker(s.target),this.next()})),t}returnWorker(t){this.workerPool.push(t)}complete(t){t.error!==void 0?this.resolveHash[t.uuid].reject(t.error):this.resolveHash[t.uuid].resolve(t.data),this.resolveHash[t.uuid]=null}async _run(t,s){await this._initWorkers();const i=new Promise((r,n)=>{this.queue.push({id:t,arguments:s,resolve:r,reject:n})});return this.next(),i}next(){if(!this.queue.length)return;const t=this.getWorker();if(!t)return;const s=this.queue.pop(),i=s.id;this.resolveHash[yh]={resolve:s.resolve,reject:s.reject},t.postMessage({data:s.arguments,uuid:yh++,id:i})}}const Th=new bd;function Ws(e,t,s){const i=new O(e);return i.baseTexture.on("dispose",()=>{delete t.promiseCache[s]}),i}const Ed=[".jpeg",".jpg",".png",".webp",".avif"],wd=["image/jpeg","image/png","image/webp","image/avif"];async function bh(e){const t=await N.ADAPTER.fetch(e);if(!t.ok)throw new Error(`[loadImageBitmap] Failed to fetch ${e}: ${t.status} ${t.statusText}`);const s=await t.blob();return await createImageBitmap(s)}const js={name:"loadTextures",extension:{type:D.LoadParser,priority:re.High},config:{preferWorkers:!0,preferCreateImageBitmap:!0,crossOrigin:"anonymous"},test(e){return os(e,wd)||Ae(e,Ed)},async load(e,t,s){let i=null;globalThis.createImageBitmap&&this.config.preferCreateImageBitmap?this.config.preferWorkers&&await Th.isImageBitmapSupported()?i=await Th.loadImageBitmap(e):i=await bh(e):i=await new Promise(n=>{i=new Image,i.crossOrigin=this.config.crossOrigin,i.src=e,i.complete?n(i):i.onload=()=>{n(i)}});const r=new V(i,St({resolution:xe(e)},t.data));return r.resource.src=e,Ws(r,s,e)},unload(e){e.destroy(!0)}};U.add(js);const Sd=".svg",Cd="image/svg+xml",Eh={extension:{type:D.LoadParser,priority:re.High},name:"loadSVG",test(e){return os(e,Cd)||Ae(e,Sd)},async testParse(e){return is.test(e)},async parse(e,t,s){var o;const i=new is(e,(o=t==null?void 0:t.data)==null?void 0:o.resourceOptions);await i.load();const r=new V(i,St({resolution:xe(e)},t==null?void 0:t.data));return r.resource.src=e,Ws(r,s,e)},async load(e,t){return(await N.ADAPTER.fetch(e)).text()},unload:js.unload};U.add(Eh);class Ad{constructor(){this._defaultBundleIdentifierOptions={connector:"-",createBundleAssetId:(t,s)=>`${t}${this._bundleIdConnector}${s}`,extractAssetIdFromBundle:(t,s)=>s.replace(`${t}${this._bundleIdConnector}`,"")},this._bundleIdConnector=this._defaultBundleIdentifierOptions.connector,this._createBundleAssetId=this._defaultBundleIdentifierOptions.createBundleAssetId,this._extractAssetIdFromBundle=this._defaultBundleIdentifierOptions.extractAssetIdFromBundle,this._assetMap={},this._preferredOrder=[],this._parsers=[],this._resolverHash={},this._bundles={}}setBundleIdentifier(t){var s,i,r;if(this._bundleIdConnector=(s=t.connector)!=null?s:this._bundleIdConnector,this._createBundleAssetId=(i=t.createBundleAssetId)!=null?i:this._createBundleAssetId,this._extractAssetIdFromBundle=(r=t.extractAssetIdFromBundle)!=null?r:this._extractAssetIdFromBundle,this._extractAssetIdFromBundle("foo",this._createBundleAssetId("foo","bar"))!=="bar")throw new Error("[Resolver] GenerateBundleAssetId are not working correctly")}prefer(...t){t.forEach(s=>{this._preferredOrder.push(s),s.priority||(s.priority=Object.keys(s.params))}),this._resolverHash={}}set basePath(t){this._basePath=t}get basePath(){return this._basePath}set rootPath(t){this._rootPath=t}get rootPath(){return this._rootPath}get parsers(){return this._parsers}reset(){this.setBundleIdentifier(this._defaultBundleIdentifierOptions),this._assetMap={},this._preferredOrder=[],this._resolverHash={},this._rootPath=null,this._basePath=null,this._manifest=null,this._bundles={},this._defaultSearchParams=null}setDefaultSearchParams(t){if(typeof t=="string")this._defaultSearchParams=t;else{const s=t;this._defaultSearchParams=Object.keys(s).map(i=>`${encodeURIComponent(i)}=${encodeURIComponent(s[i])}`).join("&")}}addManifest(t){this._manifest&&console.warn("[Resolver] Manifest already exists, this will be overwritten"),this._manifest=t,t.bundles.forEach(s=>{this.addBundle(s.name,s.assets)})}addBundle(t,s){const i=[];Array.isArray(s)?s.forEach(r=>{if(typeof r.name=="string"){const n=this._createBundleAssetId(t,r.name);i.push(n),this.add([r.name,n],r.srcs,r.data)}else{const n=r.name.map(o=>this._createBundleAssetId(t,o));n.forEach(o=>{i.push(o)}),this.add([...r.name,...n],r.srcs)}}):Object.keys(s).forEach(r=>{i.push(this._createBundleAssetId(t,r)),this.add([r,this._createBundleAssetId(t,r)],s[r])}),this._bundles[t]=i}add(t,s,i){const r=fe(t);r.forEach(o=>{this.hasKey(o)&&console.warn(`[Resolver] already has key: ${o} overwriting`)}),Array.isArray(s)||(typeof s=="string"?s=mh(s):s=[s]);const n=s.map(o=>{var h;let a=o;if(typeof o=="string"){let l=!1;for(let c=0;c{this._assetMap[o]=n})}resolveBundle(t){const s=zs(t);t=fe(t);const i={};return t.forEach(r=>{const n=this._bundles[r];if(n){const o=this.resolve(n),a={};for(const h in o){const l=o[h];a[this._extractAssetIdFromBundle(r,h)]=l}i[r]=a}}),s?i[t[0]]:i}resolveUrl(t){const s=this.resolve(t);if(typeof t!="string"){const i={};for(const r in s)i[r]=s[r].src;return i}return s.src}resolve(t){const s=zs(t);t=fe(t);const i={};return t.forEach(r=>{var n;if(!this._resolverHash[r])if(this._assetMap[r]){let o=this._assetMap[r];const a=this._getPreferredOrder(o),h=o[0];a==null||a.priority.forEach(l=>{a.params[l].forEach(c=>{const u=o.filter(d=>d[l]?d[l]===c:!1);u.length&&(o=u)})}),this._resolverHash[r]=(n=o[0])!=null?n:h}else{let o=r;(this._basePath||this._rootPath)&&(o=Ct.toAbsolute(o,this._basePath,this._rootPath)),o=this._appendDefaultSearchParams(o),this._resolverHash[r]={src:o}}i[r]=this._resolverHash[r]}),s?i[t[0]]:i}hasKey(t){return!!this._assetMap[t]}hasBundle(t){return!!this._bundles[t]}_getPreferredOrder(t){for(let s=0;sn.params.format.includes(i.format));if(r)return r}return this._preferredOrder[0]}_appendDefaultSearchParams(t){if(!this._defaultSearchParams)return t;const s=/\?/.test(t)?"&":"?";return`${t}${s}${this._defaultSearchParams}`}}class wh{constructor(){this._detections=[],this._initialized=!1,this.resolver=new Ad,this.loader=new ud,this.cache=as,this._backgroundLoader=new ld(this.loader),this._backgroundLoader.active=!0,this.reset()}async init(t={}){var n,o,a,h;if(this._initialized){console.warn("[Assets]AssetManager already initialized, did you load before calling this Asset.init()?");return}if(this._initialized=!0,t.defaultSearchParams&&this.resolver.setDefaultSearchParams(t.defaultSearchParams),t.basePath&&(this.resolver.basePath=t.basePath),t.bundleIdentifier&&this.resolver.setBundleIdentifier(t.bundleIdentifier),t.manifest){let l=t.manifest;typeof l=="string"&&(l=await this.load(l)),this.resolver.addManifest(l)}const s=(o=(n=t.texturePreference)==null?void 0:n.resolution)!=null?o:1,i=typeof s=="number"?[s]:s;let r=[];if((a=t.texturePreference)!=null&&a.format){const l=(h=t.texturePreference)==null?void 0:h.format;r=typeof l=="string"?[l]:l;for(const c of this._detections)await c.test()||(r=await c.remove(r))}else for(const l of this._detections)await l.test()&&(r=await l.add(r));this.resolver.prefer({params:{format:r,resolution:i}}),t.preferences&&this.setPreferences(t.preferences)}add(t,s,i){this.resolver.add(t,s,i)}async load(t,s){this._initialized||await this.init();const i=zs(t),r=fe(t).map(a=>typeof a!="string"?(this.resolver.add(a.src,a),a.src):(this.resolver.hasKey(a)||this.resolver.add(a,a),a)),n=this.resolver.resolve(r),o=await this._mapLoadToResolve(n,s);return i?o[r[0]]:o}addBundle(t,s){this.resolver.addBundle(t,s)}async loadBundle(t,s){this._initialized||await this.init();let i=!1;typeof t=="string"&&(i=!0,t=[t]);const r=this.resolver.resolveBundle(t),n={},o=Object.keys(r);let a=0,h=0;const l=()=>{s==null||s(++a/h)},c=o.map(u=>{const d=r[u];return h+=Object.keys(d).length,this._mapLoadToResolve(d,l).then(f=>{n[u]=f})});return await Promise.all(c),i?n[t[0]]:n}async backgroundLoad(t){this._initialized||await this.init(),typeof t=="string"&&(t=[t]);const s=this.resolver.resolve(t);this._backgroundLoader.add(Object.values(s))}async backgroundLoadBundle(t){this._initialized||await this.init(),typeof t=="string"&&(t=[t]);const s=this.resolver.resolveBundle(t);Object.values(s).forEach(i=>{this._backgroundLoader.add(Object.values(i))})}reset(){this.resolver.reset(),this.loader.reset(),this.cache.reset(),this._initialized=!1}get(t){if(typeof t=="string")return as.get(t);const s={};for(let i=0;i{const l=n[a.src],c=[a.src];a.alias&&c.push(...a.alias),o[r[h]]=l,as.set(c,l)}),o}async unload(t){this._initialized||await this.init();const s=fe(t).map(r=>typeof r!="string"?r.src:r),i=this.resolver.resolve(s);await this._unloadFromResolved(i)}async unloadBundle(t){this._initialized||await this.init(),t=fe(t);const s=this.resolver.resolveBundle(t),i=Object.keys(s).map(r=>this._unloadFromResolved(s[r]));await Promise.all(i)}async _unloadFromResolved(t){const s=Object.values(t);s.forEach(i=>{as.remove(i.src)}),await this.loader.unload(s)}get detections(){return this._detections}get preferWorkers(){return js.config.preferWorkers}set preferWorkers(t){z("7.2.0","Assets.prefersWorkers is deprecated, use Assets.setPreferences({ preferWorkers: true }) instead."),this.setPreferences({preferWorkers:t})}setPreferences(t){this.loader.parsers.forEach(s=>{!s.config||Object.keys(s.config).filter(i=>i in t).forEach(i=>{s.config[i]=t[i]})})}}const $s=new wh;U.handleByList(D.LoadParser,$s.loader.parsers).handleByList(D.ResolveParser,$s.resolver.parsers).handleByList(D.CacheParser,$s.cache.parsers).handleByList(D.DetectionParser,$s.detections);const Sh={extension:D.CacheParser,test:e=>Array.isArray(e)&&e.every(t=>t instanceof O),getCacheableAssets:(e,t)=>{const s={};return e.forEach(i=>{t.forEach((r,n)=>{s[i+(n===0?"":n+1)]=r})}),s}};U.add(Sh);const Ch={extension:{type:D.DetectionParser,priority:1},test:async()=>{if(!globalThis.createImageBitmap)return!1;const e="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=",t=await N.ADAPTER.fetch(e).then(s=>s.blob());return createImageBitmap(t).then(()=>!0,()=>!1)},add:async e=>[...e,"avif"],remove:async e=>e.filter(t=>t!=="avif")};U.add(Ch);const Ah={extension:{type:D.DetectionParser,priority:0},test:async()=>{if(!globalThis.createImageBitmap)return!1;const e="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=",t=await N.ADAPTER.fetch(e).then(s=>s.blob());return createImageBitmap(t).then(()=>!0,()=>!1)},add:async e=>[...e,"webp"],remove:async e=>e.filter(t=>t!=="webp")};U.add(Ah);const Rh=["png","jpg","jpeg"],Ih={extension:{type:D.DetectionParser,priority:-1},test:()=>Promise.resolve(!0),add:async e=>[...e,...Rh],remove:async e=>e.filter(t=>!Rh.includes(t))};U.add(Ih);const Ph={extension:D.ResolveParser,test:js.test,parse:e=>{var t,s;return{resolution:parseFloat((s=(t=N.RETINA_PREFIX.exec(e))==null?void 0:t[1])!=null?s:"1"),format:e.split(".").pop(),src:e}}};U.add(Ph);var Dt=(e=>(e[e.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",e[e.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",e[e.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",e[e.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",e[e.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",e[e.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",e[e.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",e[e.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",e[e.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",e[e.COMPRESSED_RGBA8_ETC2_EAC=37496]="COMPRESSED_RGBA8_ETC2_EAC",e[e.COMPRESSED_SRGB8_ETC2=37493]="COMPRESSED_SRGB8_ETC2",e[e.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37497]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",e[e.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37494]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37495]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",e[e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",e[e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",e[e.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",e[e.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",e[e.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",e[e.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",e))(Dt||{});const Ys={[33776]:.5,[33777]:.5,[33778]:1,[33779]:1,[35916]:.5,[35917]:.5,[35918]:1,[35919]:1,[37488]:.5,[37489]:.5,[37490]:1,[37491]:1,[37492]:.5,[37496]:1,[37493]:.5,[37497]:1,[37494]:.5,[37495]:.5,[35840]:.5,[35842]:.5,[35841]:.25,[35843]:.25,[36196]:.5,[35986]:.5,[35986]:1,[34798]:1,[37808]:1};let we,hs;function Mh(){hs={s3tc:we.getExtension("WEBGL_compressed_texture_s3tc"),s3tc_sRGB:we.getExtension("WEBGL_compressed_texture_s3tc_srgb"),etc:we.getExtension("WEBGL_compressed_texture_etc"),etc1:we.getExtension("WEBGL_compressed_texture_etc1"),pvrtc:we.getExtension("WEBGL_compressed_texture_pvrtc")||we.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),atc:we.getExtension("WEBGL_compressed_texture_atc"),astc:we.getExtension("WEBGL_compressed_texture_astc")}}const Bh={extension:{type:D.DetectionParser,priority:2},test:async()=>{const t=N.ADAPTER.createCanvas().getContext("webgl");return t?(we=t,!0):(console.warn("WebGL not available for compressed textures."),!1)},add:async e=>{hs||Mh();const t=[];for(const s in hs)!hs[s]||t.push(s);return[...t,...e]},remove:async e=>(hs||Mh(),e.filter(t=>!(t in hs)))};U.add(Bh);class Dh extends Qe{constructor(t,s={width:1,height:1,autoLoad:!0}){let i,r;typeof t=="string"?(i=t,r=new Uint8Array):(i=null,r=t),super(r,s),this.origin=i,this.buffer=r?new bi(r):null,this._load=null,this.loaded=!1,this.origin!==null&&s.autoLoad!==!1&&this.load(),this.origin===null&&this.buffer&&(this._load=Promise.resolve(this),this.loaded=!0,this.onBlobLoaded(this.buffer.rawBinaryData))}onBlobLoaded(t){}load(){return this._load?this._load:(this._load=fetch(this.origin).then(t=>t.blob()).then(t=>t.arrayBuffer()).then(t=>(this.data=new Uint32Array(t),this.buffer=new bi(t),this.loaded=!0,this.onBlobLoaded(t),this.update(),this)),this._load)}}class Re extends Dh{constructor(t,s){super(t,s),this.format=s.format,this.levels=s.levels||1,this._width=s.width,this._height=s.height,this._extension=Re._formatToExtension(this.format),(s.levelBuffers||this.buffer)&&(this._levelBuffers=s.levelBuffers||Re._createLevelBuffers(t instanceof Uint8Array?t:this.buffer.uint8View,this.format,this.levels,4,4,this.width,this.height))}upload(t,s,i){const r=t.gl;if(!t.context.extensions[this._extension])throw new Error(`${this._extension} textures are not supported on the current machine`);if(!this._levelBuffers)return!1;for(let o=0,a=this.levels;o=33776&&t<=33779)return"s3tc";if(t>=37488&&t<=37497)return"etc";if(t>=35840&&t<=35843)return"pvrtc";if(t>=36196)return"etc1";if(t>=35986&&t<=34798)return"atc";throw new Error("Invalid (compressed) texture format given!")}static _createLevelBuffers(t,s,i,r,n,o,a){const h=new Array(i);let l=t.byteOffset,c=o,u=a,d=c+r-1&~(r-1),f=u+n-1&~(n-1),p=d*f*Ys[s];for(let m=0;m1?c:d,levelHeight:i>1?u:f,levelBuffer:new Uint8Array(t.buffer,l,p)},l+=p,c=c>>1||1,u=u>>1||1,d=c+r-1&~(r-1),f=u+n-1&~(n-1),p=d*f*Ys[s];return h}}const qn=4,tr=124,Rd=32,Nh=20,Id=542327876,er={SIZE:1,FLAGS:2,HEIGHT:3,WIDTH:4,MIPMAP_COUNT:7,PIXEL_FORMAT:19},Pd={SIZE:0,FLAGS:1,FOURCC:2,RGB_BITCOUNT:3,R_BIT_MASK:4,G_BIT_MASK:5,B_BIT_MASK:6,A_BIT_MASK:7},sr={DXGI_FORMAT:0,RESOURCE_DIMENSION:1,MISC_FLAG:2,ARRAY_SIZE:3,MISC_FLAGS2:4};var Md=(e=>(e[e.DXGI_FORMAT_UNKNOWN=0]="DXGI_FORMAT_UNKNOWN",e[e.DXGI_FORMAT_R32G32B32A32_TYPELESS=1]="DXGI_FORMAT_R32G32B32A32_TYPELESS",e[e.DXGI_FORMAT_R32G32B32A32_FLOAT=2]="DXGI_FORMAT_R32G32B32A32_FLOAT",e[e.DXGI_FORMAT_R32G32B32A32_UINT=3]="DXGI_FORMAT_R32G32B32A32_UINT",e[e.DXGI_FORMAT_R32G32B32A32_SINT=4]="DXGI_FORMAT_R32G32B32A32_SINT",e[e.DXGI_FORMAT_R32G32B32_TYPELESS=5]="DXGI_FORMAT_R32G32B32_TYPELESS",e[e.DXGI_FORMAT_R32G32B32_FLOAT=6]="DXGI_FORMAT_R32G32B32_FLOAT",e[e.DXGI_FORMAT_R32G32B32_UINT=7]="DXGI_FORMAT_R32G32B32_UINT",e[e.DXGI_FORMAT_R32G32B32_SINT=8]="DXGI_FORMAT_R32G32B32_SINT",e[e.DXGI_FORMAT_R16G16B16A16_TYPELESS=9]="DXGI_FORMAT_R16G16B16A16_TYPELESS",e[e.DXGI_FORMAT_R16G16B16A16_FLOAT=10]="DXGI_FORMAT_R16G16B16A16_FLOAT",e[e.DXGI_FORMAT_R16G16B16A16_UNORM=11]="DXGI_FORMAT_R16G16B16A16_UNORM",e[e.DXGI_FORMAT_R16G16B16A16_UINT=12]="DXGI_FORMAT_R16G16B16A16_UINT",e[e.DXGI_FORMAT_R16G16B16A16_SNORM=13]="DXGI_FORMAT_R16G16B16A16_SNORM",e[e.DXGI_FORMAT_R16G16B16A16_SINT=14]="DXGI_FORMAT_R16G16B16A16_SINT",e[e.DXGI_FORMAT_R32G32_TYPELESS=15]="DXGI_FORMAT_R32G32_TYPELESS",e[e.DXGI_FORMAT_R32G32_FLOAT=16]="DXGI_FORMAT_R32G32_FLOAT",e[e.DXGI_FORMAT_R32G32_UINT=17]="DXGI_FORMAT_R32G32_UINT",e[e.DXGI_FORMAT_R32G32_SINT=18]="DXGI_FORMAT_R32G32_SINT",e[e.DXGI_FORMAT_R32G8X24_TYPELESS=19]="DXGI_FORMAT_R32G8X24_TYPELESS",e[e.DXGI_FORMAT_D32_FLOAT_S8X24_UINT=20]="DXGI_FORMAT_D32_FLOAT_S8X24_UINT",e[e.DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS=21]="DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS",e[e.DXGI_FORMAT_X32_TYPELESS_G8X24_UINT=22]="DXGI_FORMAT_X32_TYPELESS_G8X24_UINT",e[e.DXGI_FORMAT_R10G10B10A2_TYPELESS=23]="DXGI_FORMAT_R10G10B10A2_TYPELESS",e[e.DXGI_FORMAT_R10G10B10A2_UNORM=24]="DXGI_FORMAT_R10G10B10A2_UNORM",e[e.DXGI_FORMAT_R10G10B10A2_UINT=25]="DXGI_FORMAT_R10G10B10A2_UINT",e[e.DXGI_FORMAT_R11G11B10_FLOAT=26]="DXGI_FORMAT_R11G11B10_FLOAT",e[e.DXGI_FORMAT_R8G8B8A8_TYPELESS=27]="DXGI_FORMAT_R8G8B8A8_TYPELESS",e[e.DXGI_FORMAT_R8G8B8A8_UNORM=28]="DXGI_FORMAT_R8G8B8A8_UNORM",e[e.DXGI_FORMAT_R8G8B8A8_UNORM_SRGB=29]="DXGI_FORMAT_R8G8B8A8_UNORM_SRGB",e[e.DXGI_FORMAT_R8G8B8A8_UINT=30]="DXGI_FORMAT_R8G8B8A8_UINT",e[e.DXGI_FORMAT_R8G8B8A8_SNORM=31]="DXGI_FORMAT_R8G8B8A8_SNORM",e[e.DXGI_FORMAT_R8G8B8A8_SINT=32]="DXGI_FORMAT_R8G8B8A8_SINT",e[e.DXGI_FORMAT_R16G16_TYPELESS=33]="DXGI_FORMAT_R16G16_TYPELESS",e[e.DXGI_FORMAT_R16G16_FLOAT=34]="DXGI_FORMAT_R16G16_FLOAT",e[e.DXGI_FORMAT_R16G16_UNORM=35]="DXGI_FORMAT_R16G16_UNORM",e[e.DXGI_FORMAT_R16G16_UINT=36]="DXGI_FORMAT_R16G16_UINT",e[e.DXGI_FORMAT_R16G16_SNORM=37]="DXGI_FORMAT_R16G16_SNORM",e[e.DXGI_FORMAT_R16G16_SINT=38]="DXGI_FORMAT_R16G16_SINT",e[e.DXGI_FORMAT_R32_TYPELESS=39]="DXGI_FORMAT_R32_TYPELESS",e[e.DXGI_FORMAT_D32_FLOAT=40]="DXGI_FORMAT_D32_FLOAT",e[e.DXGI_FORMAT_R32_FLOAT=41]="DXGI_FORMAT_R32_FLOAT",e[e.DXGI_FORMAT_R32_UINT=42]="DXGI_FORMAT_R32_UINT",e[e.DXGI_FORMAT_R32_SINT=43]="DXGI_FORMAT_R32_SINT",e[e.DXGI_FORMAT_R24G8_TYPELESS=44]="DXGI_FORMAT_R24G8_TYPELESS",e[e.DXGI_FORMAT_D24_UNORM_S8_UINT=45]="DXGI_FORMAT_D24_UNORM_S8_UINT",e[e.DXGI_FORMAT_R24_UNORM_X8_TYPELESS=46]="DXGI_FORMAT_R24_UNORM_X8_TYPELESS",e[e.DXGI_FORMAT_X24_TYPELESS_G8_UINT=47]="DXGI_FORMAT_X24_TYPELESS_G8_UINT",e[e.DXGI_FORMAT_R8G8_TYPELESS=48]="DXGI_FORMAT_R8G8_TYPELESS",e[e.DXGI_FORMAT_R8G8_UNORM=49]="DXGI_FORMAT_R8G8_UNORM",e[e.DXGI_FORMAT_R8G8_UINT=50]="DXGI_FORMAT_R8G8_UINT",e[e.DXGI_FORMAT_R8G8_SNORM=51]="DXGI_FORMAT_R8G8_SNORM",e[e.DXGI_FORMAT_R8G8_SINT=52]="DXGI_FORMAT_R8G8_SINT",e[e.DXGI_FORMAT_R16_TYPELESS=53]="DXGI_FORMAT_R16_TYPELESS",e[e.DXGI_FORMAT_R16_FLOAT=54]="DXGI_FORMAT_R16_FLOAT",e[e.DXGI_FORMAT_D16_UNORM=55]="DXGI_FORMAT_D16_UNORM",e[e.DXGI_FORMAT_R16_UNORM=56]="DXGI_FORMAT_R16_UNORM",e[e.DXGI_FORMAT_R16_UINT=57]="DXGI_FORMAT_R16_UINT",e[e.DXGI_FORMAT_R16_SNORM=58]="DXGI_FORMAT_R16_SNORM",e[e.DXGI_FORMAT_R16_SINT=59]="DXGI_FORMAT_R16_SINT",e[e.DXGI_FORMAT_R8_TYPELESS=60]="DXGI_FORMAT_R8_TYPELESS",e[e.DXGI_FORMAT_R8_UNORM=61]="DXGI_FORMAT_R8_UNORM",e[e.DXGI_FORMAT_R8_UINT=62]="DXGI_FORMAT_R8_UINT",e[e.DXGI_FORMAT_R8_SNORM=63]="DXGI_FORMAT_R8_SNORM",e[e.DXGI_FORMAT_R8_SINT=64]="DXGI_FORMAT_R8_SINT",e[e.DXGI_FORMAT_A8_UNORM=65]="DXGI_FORMAT_A8_UNORM",e[e.DXGI_FORMAT_R1_UNORM=66]="DXGI_FORMAT_R1_UNORM",e[e.DXGI_FORMAT_R9G9B9E5_SHAREDEXP=67]="DXGI_FORMAT_R9G9B9E5_SHAREDEXP",e[e.DXGI_FORMAT_R8G8_B8G8_UNORM=68]="DXGI_FORMAT_R8G8_B8G8_UNORM",e[e.DXGI_FORMAT_G8R8_G8B8_UNORM=69]="DXGI_FORMAT_G8R8_G8B8_UNORM",e[e.DXGI_FORMAT_BC1_TYPELESS=70]="DXGI_FORMAT_BC1_TYPELESS",e[e.DXGI_FORMAT_BC1_UNORM=71]="DXGI_FORMAT_BC1_UNORM",e[e.DXGI_FORMAT_BC1_UNORM_SRGB=72]="DXGI_FORMAT_BC1_UNORM_SRGB",e[e.DXGI_FORMAT_BC2_TYPELESS=73]="DXGI_FORMAT_BC2_TYPELESS",e[e.DXGI_FORMAT_BC2_UNORM=74]="DXGI_FORMAT_BC2_UNORM",e[e.DXGI_FORMAT_BC2_UNORM_SRGB=75]="DXGI_FORMAT_BC2_UNORM_SRGB",e[e.DXGI_FORMAT_BC3_TYPELESS=76]="DXGI_FORMAT_BC3_TYPELESS",e[e.DXGI_FORMAT_BC3_UNORM=77]="DXGI_FORMAT_BC3_UNORM",e[e.DXGI_FORMAT_BC3_UNORM_SRGB=78]="DXGI_FORMAT_BC3_UNORM_SRGB",e[e.DXGI_FORMAT_BC4_TYPELESS=79]="DXGI_FORMAT_BC4_TYPELESS",e[e.DXGI_FORMAT_BC4_UNORM=80]="DXGI_FORMAT_BC4_UNORM",e[e.DXGI_FORMAT_BC4_SNORM=81]="DXGI_FORMAT_BC4_SNORM",e[e.DXGI_FORMAT_BC5_TYPELESS=82]="DXGI_FORMAT_BC5_TYPELESS",e[e.DXGI_FORMAT_BC5_UNORM=83]="DXGI_FORMAT_BC5_UNORM",e[e.DXGI_FORMAT_BC5_SNORM=84]="DXGI_FORMAT_BC5_SNORM",e[e.DXGI_FORMAT_B5G6R5_UNORM=85]="DXGI_FORMAT_B5G6R5_UNORM",e[e.DXGI_FORMAT_B5G5R5A1_UNORM=86]="DXGI_FORMAT_B5G5R5A1_UNORM",e[e.DXGI_FORMAT_B8G8R8A8_UNORM=87]="DXGI_FORMAT_B8G8R8A8_UNORM",e[e.DXGI_FORMAT_B8G8R8X8_UNORM=88]="DXGI_FORMAT_B8G8R8X8_UNORM",e[e.DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM=89]="DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM",e[e.DXGI_FORMAT_B8G8R8A8_TYPELESS=90]="DXGI_FORMAT_B8G8R8A8_TYPELESS",e[e.DXGI_FORMAT_B8G8R8A8_UNORM_SRGB=91]="DXGI_FORMAT_B8G8R8A8_UNORM_SRGB",e[e.DXGI_FORMAT_B8G8R8X8_TYPELESS=92]="DXGI_FORMAT_B8G8R8X8_TYPELESS",e[e.DXGI_FORMAT_B8G8R8X8_UNORM_SRGB=93]="DXGI_FORMAT_B8G8R8X8_UNORM_SRGB",e[e.DXGI_FORMAT_BC6H_TYPELESS=94]="DXGI_FORMAT_BC6H_TYPELESS",e[e.DXGI_FORMAT_BC6H_UF16=95]="DXGI_FORMAT_BC6H_UF16",e[e.DXGI_FORMAT_BC6H_SF16=96]="DXGI_FORMAT_BC6H_SF16",e[e.DXGI_FORMAT_BC7_TYPELESS=97]="DXGI_FORMAT_BC7_TYPELESS",e[e.DXGI_FORMAT_BC7_UNORM=98]="DXGI_FORMAT_BC7_UNORM",e[e.DXGI_FORMAT_BC7_UNORM_SRGB=99]="DXGI_FORMAT_BC7_UNORM_SRGB",e[e.DXGI_FORMAT_AYUV=100]="DXGI_FORMAT_AYUV",e[e.DXGI_FORMAT_Y410=101]="DXGI_FORMAT_Y410",e[e.DXGI_FORMAT_Y416=102]="DXGI_FORMAT_Y416",e[e.DXGI_FORMAT_NV12=103]="DXGI_FORMAT_NV12",e[e.DXGI_FORMAT_P010=104]="DXGI_FORMAT_P010",e[e.DXGI_FORMAT_P016=105]="DXGI_FORMAT_P016",e[e.DXGI_FORMAT_420_OPAQUE=106]="DXGI_FORMAT_420_OPAQUE",e[e.DXGI_FORMAT_YUY2=107]="DXGI_FORMAT_YUY2",e[e.DXGI_FORMAT_Y210=108]="DXGI_FORMAT_Y210",e[e.DXGI_FORMAT_Y216=109]="DXGI_FORMAT_Y216",e[e.DXGI_FORMAT_NV11=110]="DXGI_FORMAT_NV11",e[e.DXGI_FORMAT_AI44=111]="DXGI_FORMAT_AI44",e[e.DXGI_FORMAT_IA44=112]="DXGI_FORMAT_IA44",e[e.DXGI_FORMAT_P8=113]="DXGI_FORMAT_P8",e[e.DXGI_FORMAT_A8P8=114]="DXGI_FORMAT_A8P8",e[e.DXGI_FORMAT_B4G4R4A4_UNORM=115]="DXGI_FORMAT_B4G4R4A4_UNORM",e[e.DXGI_FORMAT_P208=116]="DXGI_FORMAT_P208",e[e.DXGI_FORMAT_V208=117]="DXGI_FORMAT_V208",e[e.DXGI_FORMAT_V408=118]="DXGI_FORMAT_V408",e[e.DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE=119]="DXGI_FORMAT_SAMPLER_FEEDBACK_MIN_MIP_OPAQUE",e[e.DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE=120]="DXGI_FORMAT_SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE",e[e.DXGI_FORMAT_FORCE_UINT=121]="DXGI_FORMAT_FORCE_UINT",e))(Md||{}),Bd=(e=>(e[e.DDS_DIMENSION_TEXTURE1D=2]="DDS_DIMENSION_TEXTURE1D",e[e.DDS_DIMENSION_TEXTURE2D=3]="DDS_DIMENSION_TEXTURE2D",e[e.DDS_DIMENSION_TEXTURE3D=6]="DDS_DIMENSION_TEXTURE3D",e))(Bd||{});const Dd=1,Nd=2,Fd=4,Od=64,Ld=512,Ud=131072,kd=827611204,Gd=861165636,Hd=894720068,Xd=808540228,Vd=4,zd={[kd]:Dt.COMPRESSED_RGBA_S3TC_DXT1_EXT,[Gd]:Dt.COMPRESSED_RGBA_S3TC_DXT3_EXT,[Hd]:Dt.COMPRESSED_RGBA_S3TC_DXT5_EXT},Wd={[70]:Dt.COMPRESSED_RGBA_S3TC_DXT1_EXT,[71]:Dt.COMPRESSED_RGBA_S3TC_DXT1_EXT,[73]:Dt.COMPRESSED_RGBA_S3TC_DXT3_EXT,[74]:Dt.COMPRESSED_RGBA_S3TC_DXT3_EXT,[76]:Dt.COMPRESSED_RGBA_S3TC_DXT5_EXT,[77]:Dt.COMPRESSED_RGBA_S3TC_DXT5_EXT,[72]:Dt.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,[75]:Dt.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,[78]:Dt.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT};function Fh(e){const t=new Uint32Array(e);if(t[0]!==Id)throw new Error("Invalid DDS file magic word");const i=new Uint32Array(e,0,tr/Uint32Array.BYTES_PER_ELEMENT),r=i[er.HEIGHT],n=i[er.WIDTH],o=i[er.MIPMAP_COUNT],a=new Uint32Array(e,er.PIXEL_FORMAT*Uint32Array.BYTES_PER_ELEMENT,Rd/Uint32Array.BYTES_PER_ELEMENT),h=a[Dd];if(h&Fd){const l=a[Pd.FOURCC];if(l!==Xd){const v=zd[l],T=qn+tr,w=new Uint8Array(e,T);return[new Re(w,{format:v,width:n,height:r,levels:o})]}const c=qn+tr,u=new Uint32Array(t.buffer,c,Nh/Uint32Array.BYTES_PER_ELEMENT),d=u[sr.DXGI_FORMAT],f=u[sr.RESOURCE_DIMENSION],p=u[sr.MISC_FLAG],m=u[sr.ARRAY_SIZE],g=Wd[d];if(g===void 0)throw new Error(`DDSParser cannot parse texture data with DXGI format ${d}`);if(p===Vd)throw new Error("DDSParser does not support cubemap textures");if(f===6)throw new Error("DDSParser does not supported 3D texture data");const x=new Array,y=qn+tr+Nh;if(m===1)x.push(new Uint8Array(e,y));else{const v=Ys[g];let T=0,w=n,A=r;for(let E=0;E>>1,A=A>>>1}let b=y;for(let E=0;Enew Re(v,{format:g,width:n,height:r,levels:o}))}throw h&Od?new Error("DDSParser does not support uncompressed texture data."):h&Ld?new Error("DDSParser does not supported YUV uncompressed texture data."):h&Ud?new Error("DDSParser does not support single-channel (lumninance) texture data!"):h&Nd?new Error("DDSParser does not support single-channel (alpha) texture data!"):new Error("DDSParser failed to load a texture file due to an unknown reason!")}const Oh=[171,75,84,88,32,49,49,187,13,10,26,10],jd=67305985,ne={FILE_IDENTIFIER:0,ENDIANNESS:12,GL_TYPE:16,GL_TYPE_SIZE:20,GL_FORMAT:24,GL_INTERNAL_FORMAT:28,GL_BASE_INTERNAL_FORMAT:32,PIXEL_WIDTH:36,PIXEL_HEIGHT:40,PIXEL_DEPTH:44,NUMBER_OF_ARRAY_ELEMENTS:48,NUMBER_OF_FACES:52,NUMBER_OF_MIPMAP_LEVELS:56,BYTES_OF_KEY_VALUE_DATA:60},Kn=64,Zn={[H.UNSIGNED_BYTE]:1,[H.UNSIGNED_SHORT]:2,[H.INT]:4,[H.UNSIGNED_INT]:4,[H.FLOAT]:4,[H.HALF_FLOAT]:8},Lh={[B.RGBA]:4,[B.RGB]:3,[B.RG]:2,[B.RED]:1,[B.LUMINANCE]:1,[B.LUMINANCE_ALPHA]:2,[B.ALPHA]:1},Uh={[H.UNSIGNED_SHORT_4_4_4_4]:2,[H.UNSIGNED_SHORT_5_5_5_1]:2,[H.UNSIGNED_SHORT_5_6_5]:2};function kh(e,t,s=!1){const i=new DataView(t);if(!$d(e,i))return null;const r=i.getUint32(ne.ENDIANNESS,!0)===jd,n=i.getUint32(ne.GL_TYPE,r),o=i.getUint32(ne.GL_FORMAT,r),a=i.getUint32(ne.GL_INTERNAL_FORMAT,r),h=i.getUint32(ne.PIXEL_WIDTH,r),l=i.getUint32(ne.PIXEL_HEIGHT,r)||1,c=i.getUint32(ne.PIXEL_DEPTH,r)||1,u=i.getUint32(ne.NUMBER_OF_ARRAY_ELEMENTS,r)||1,d=i.getUint32(ne.NUMBER_OF_FACES,r),f=i.getUint32(ne.NUMBER_OF_MIPMAP_LEVELS,r),p=i.getUint32(ne.BYTES_OF_KEY_VALUE_DATA,r);if(l===0||c!==1)throw new Error("Only 2D textures are supported");if(d!==1)throw new Error("CubeTextures are not supported by KTXLoader yet!");if(u!==1)throw new Error("WebGL does not support array textures");const m=4,g=4,x=h+3&-4,y=l+3&-4,v=new Array(u);let T=h*l;n===0&&(T=x*y);let w;if(n!==0?Zn[n]?w=Zn[n]*Lh[o]:w=Uh[n]:w=Ys[a],w===void 0)throw new Error("Unable to resolve the pixel format stored in the *.ktx file!");const A=s?qd(i,p,r):null;let E=T*w,R=h,F=l,I=x,L=y,P=Kn+p;for(let S=0;S1||n!==0?R:I,levelHeight:f>1||n!==0?F:L,levelBuffer:new Uint8Array(t,K,E)},K+=E}P+=W+4,P=P%4!==0?P+4-P%4:P,R=R>>1||1,F=F>>1||1,I=R+m-1&~(m-1),L=F+g-1&~(g-1),E=I*L*w}return n!==0?{uncompressed:v.map(S=>{let W=S[0].levelBuffer,K=!1;return n===H.FLOAT?W=new Float32Array(S[0].levelBuffer.buffer,S[0].levelBuffer.byteOffset,S[0].levelBuffer.byteLength/4):n===H.UNSIGNED_INT?(K=!0,W=new Uint32Array(S[0].levelBuffer.buffer,S[0].levelBuffer.byteOffset,S[0].levelBuffer.byteLength/4)):n===H.INT&&(K=!0,W=new Int32Array(S[0].levelBuffer.buffer,S[0].levelBuffer.byteOffset,S[0].levelBuffer.byteLength/4)),{resource:new Qe(W,{width:S[0].levelWidth,height:S[0].levelHeight}),type:n,format:K?Yd(o):o}}),kvData:A}:{compressed:v.map(S=>new Re(null,{format:a,width:h,height:l,levels:f,levelBuffers:S})),kvData:A}}function $d(e,t){for(let s=0;st-r){console.error("KTXLoader: keyAndValueByteSize out of bounds");break}let h=0;for(;h{const h=new V(a,St({mipmap:Kt.OFF,alphaMode:Gt.NO_PREMULTIPLIED_ALPHA,resolution:xe(e)},t.data));return Ws(h,s,e)});return o.length===1?o[0]:o},unload(e){Array.isArray(e)?e.forEach(t=>t.destroy(!0)):e.destroy(!0)}};U.add(Gh);const Hh={extension:{type:D.LoadParser,priority:re.High},name:"loadKTX",test(e){return Ae(e,".ktx")},async load(e,t,s){const r=await(await N.ADAPTER.fetch(e)).arrayBuffer(),{compressed:n,uncompressed:o,kvData:a}=kh(e,r),h=n!=null?n:o,l=St({mipmap:Kt.OFF,alphaMode:Gt.NO_PREMULTIPLIED_ALPHA,resolution:xe(e)},t.data),c=h.map(u=>{h===o&&Object.assign(l,{type:u.type,format:u.format});const d=new V(u,l);return d.ktxKeyValueData=a,Ws(d,s,e)});return c.length===1?c[0]:c},unload(e){Array.isArray(e)?e.forEach(t=>t.destroy(!0)):e.destroy(!0)}};U.add(Hh);const Xh={extension:D.ResolveParser,test:e=>{const s=e.split("?")[0].split(".").pop();return["basis","ktx","dds"].includes(s)},parse:e=>{var i,r,n,o;if(e.split("?")[0].split(".").pop()==="ktx"){const a=[".s3tc.ktx",".s3tc_sRGB.ktx",".etc.ktx",".etc1.ktx",".pvrt.ktx",".atc.ktx",".astc.ktx"];if(a.some(h=>e.endsWith(h)))return{resolution:parseFloat((r=(i=N.RETINA_PREFIX.exec(e))==null?void 0:i[1])!=null?r:"1"),format:a.find(h=>e.endsWith(h)),src:e}}return{resolution:parseFloat((o=(n=N.RETINA_PREFIX.exec(e))==null?void 0:n[1])!=null?o:"1"),format:e.split(".").pop(),src:e}}};U.add(Xh);const Kd=new $,Zd=4,qs=class{constructor(e){this.renderer=e}async image(e,t,s){const i=new Image;return i.src=await this.base64(e,t,s),i}async base64(e,t,s){const i=this.canvas(e);if(i.toBlob!==void 0)return new Promise((r,n)=>{i.toBlob(o=>{if(!o){n(new Error("ICanvas.toBlob failed!"));return}const a=new FileReader;a.onload=()=>r(a.result),a.onerror=n,a.readAsDataURL(o)},t,s)});if(i.toDataURL!==void 0)return i.toDataURL(t,s);if(i.convertToBlob!==void 0){const r=await i.convertToBlob({type:t,quality:s});return new Promise((n,o)=>{const a=new FileReader;a.onload=()=>n(a.result),a.onerror=o,a.readAsDataURL(r)})}throw new Error("Extract.base64() requires ICanvas.toDataURL, ICanvas.toBlob, or ICanvas.convertToBlob to be implemented")}canvas(e,t){const{pixels:s,width:i,height:r,flipY:n}=this._rawPixels(e,t);n&&qs._flipY(s,i,r),qs._unpremultiplyAlpha(s);const o=new bs(i,r,1),a=new ImageData(new Uint8ClampedArray(s.buffer),i,r);return o.context.putImageData(a,0,0),o.canvas}pixels(e,t){const{pixels:s,width:i,height:r,flipY:n}=this._rawPixels(e,t);return n&&qs._flipY(s,i,r),qs._unpremultiplyAlpha(s),s}_rawPixels(e,t){const s=this.renderer;if(!s)throw new Error("The Extract has already been destroyed");let i,r=!1,n,o=!1;if(e&&(e instanceof ie?n=e:(n=s.generateTexture(e,{resolution:s.resolution,multisample:s.multisample}),o=!0)),n){if(i=n.baseTexture.resolution,t=t!=null?t:n.frame,r=!1,!o){s.renderTexture.bind(n);const u=n.framebuffer.glFramebuffers[s.CONTEXT_UID];u.blitFramebuffer&&s.framebuffer.bind(u.blitFramebuffer)}}else i=s.resolution,t||(t=Kd,t.width=s.width/i,t.height=s.height/i),r=!0,s.renderTexture.bind();const a=Math.round(t.width*i),h=Math.round(t.height*i),l=new Uint8Array(Zd*a*h),c=s.gl;return c.readPixels(Math.round(t.x*i),Math.round(t.y*i),a,h,c.RGBA,c.UNSIGNED_BYTE,l),o&&(n==null||n.destroy(!0)),{pixels:l,width:a,height:h,flipY:r}}destroy(){this.renderer=null}static _flipY(e,t,s){const i=t<<2,r=s>>1,n=new Uint8Array(i);for(let o=0;o=0&&a>=0&&r>=0&&n>=0)){t.length=0;return}const h=Math.ceil(2.3*Math.sqrt(o+a)),l=h*8+(r?4:0)+(n?4:0);if(t.length=l,l===0)return;if(h===0){t.length=8,t[0]=t[6]=s+r,t[1]=t[3]=i+n,t[2]=t[4]=s-r,t[5]=t[7]=i-n;return}let c=0,u=h*4+(r?2:0)+2,d=u,f=l;{const p=r+o,m=n,g=s+p,x=s-p,y=i+m;if(t[c++]=g,t[c++]=y,t[--u]=y,t[--u]=x,n){const v=i-m;t[d++]=x,t[d++]=v,t[--f]=v,t[--f]=g}}for(let p=1;p0||t&&i<=0){const r=s/2;for(let n=r+r%2;n=6){Vh(s,!1);const o=[];for(let l=0;l=0&&n>=0&&o.push(s,i,s+r,i,s+r,i+n,s,i+n)},triangulate(e,t){const s=e.points,i=t.points;if(s.length===0)return;const r=i.length/2;i.push(s[0],s[1],s[2],s[3],s[6],s[7],s[4],s[5]),t.indices.push(r,r+1,r+2,r+1,r+2,r+3)}},Wh={build(e){Ks.build(e)},triangulate(e,t){Ks.triangulate(e,t)}};var qt=(e=>(e.MITER="miter",e.BEVEL="bevel",e.ROUND="round",e))(qt||{}),Ie=(e=>(e.BUTT="butt",e.ROUND="round",e.SQUARE="square",e))(Ie||{});const Pe={adaptive:!0,maxLength:10,minSegments:8,maxSegments:2048,epsilon:1e-4,_segmentsCount(e,t=20){if(!this.adaptive||!e||isNaN(e))return t;let s=Math.ceil(e/this.maxLength);return sthis.maxSegments&&(s=this.maxSegments),s}},Jd=Pe;class to{static curveTo(t,s,i,r,n,o){const a=o[o.length-2],l=o[o.length-1]-s,c=a-t,u=r-s,d=i-t,f=Math.abs(l*d-c*u);if(f<1e-8||n===0)return(o[o.length-2]!==t||o[o.length-1]!==s)&&o.push(t,s),null;const p=l*l+c*c,m=u*u+d*d,g=l*u+c*d,x=n*Math.sqrt(p)/f,y=n*Math.sqrt(m)/f,v=x*g/p,T=y*g/m,w=x*d+y*c,A=x*u+y*l,b=c*(y+v),E=l*(y+v),R=d*(x+T),F=u*(x+T),I=Math.atan2(E-A,b-w),L=Math.atan2(F-A,R-w);return{cx:w+t,cy:A+s,radius:n,startAngle:I,endAngle:L,anticlockwise:c*u>d*l}}static arc(t,s,i,r,n,o,a,h,l){const c=a-o,u=Pe._segmentsCount(Math.abs(c)*n,Math.ceil(Math.abs(c)/ws)*40),d=c/(u*2),f=d*2,p=Math.cos(d),m=Math.sin(d),g=u-1,x=g%1/g;for(let y=0;y<=g;++y){const v=y+x*y,T=d+o+f*v,w=Math.cos(T),A=-Math.sin(T);l.push((p*w+m*A)*n+i,(p*-A+m*w)*n+r)}}}class jh{constructor(){this.reset()}begin(t,s,i){this.reset(),this.style=t,this.start=s,this.attribStart=i}end(t,s){this.attribSize=s-this.attribStart,this.size=t-this.start}reset(){this.style=null,this.size=0,this.start=0,this.attribStart=0,this.attribSize=0}}class ir{static curveLength(t,s,i,r,n,o,a,h){let c=0,u=0,d=0,f=0,p=0,m=0,g=0,x=0,y=0,v=0,T=0,w=t,A=s;for(let b=1;b<=10;++b)u=b/10,d=u*u,f=d*u,p=1-u,m=p*p,g=m*p,x=g*t+3*m*u*i+3*p*d*n+f*a,y=g*s+3*m*u*r+3*p*d*o+f*h,v=w-x,T=A-y,w=x,A=y,c+=Math.sqrt(v*v+T*T);return c}static curveTo(t,s,i,r,n,o,a){const h=a[a.length-2],l=a[a.length-1];a.length-=2;const c=Pe._segmentsCount(ir.curveLength(h,l,t,s,i,r,n,o));let u=0,d=0,f=0,p=0,m=0;a.push(h,l);for(let g=1,x=0;g<=c;++g)x=g/c,u=1-x,d=u*u,f=d*u,p=x*x,m=p*x,a.push(f*h+3*d*x*t+3*u*p*i+m*n,f*l+3*d*x*s+3*u*p*r+m*o)}}function $h(e,t,s,i,r,n,o,a){const h=e-s*r,l=t-i*r,c=e+s*n,u=t+i*n;let d,f;o?(d=i,f=-s):(d=-i,f=s);const p=h+d,m=l+f,g=c+d,x=u+f;return a.push(p,m,g,x),2}function We(e,t,s,i,r,n,o,a){const h=s-e,l=i-t;let c=Math.atan2(h,l),u=Math.atan2(r-e,n-t);a&&cu&&(u+=Math.PI*2);let d=c;const f=u-c,p=Math.abs(f),m=Math.sqrt(h*h+l*l),g=(15*p*Math.sqrt(m)/Math.PI>>0)+1,x=f/g;if(d+=x,a){o.push(e,t,s,i);for(let y=1,v=d;y=0&&(n.join===qt.ROUND?d+=We(v,T,v-b*P,T-E*P,v-R*P,T-F*P,c,!1)+4:d+=2,c.push(v-R*S,T-F*S,v+R*P,T+F*P));continue}const st=(-b+x)*(-E+T)-(-b+v)*(-E+y),tt=(-R+w)*(-F+T)-(-R+v)*(-F+A),rt=(et*tt-M*st)/Z,lt=(X*st-nt*tt)/Z,yt=(rt-v)*(rt-v)+(lt-T)*(lt-T),ot=v+(rt-v)*P,ut=T+(lt-T)*P,vt=v-(rt-v)*S,Tt=T-(lt-T)*S,pe=Math.min(et*et+nt*nt,M*M+X*X),me=J?P:S,hi=pe+me*me*m,Ef=yt<=hi;let pr=n.join;if(pr===qt.MITER&&yt/m>g&&(pr=qt.BEVEL),Ef)switch(pr){case qt.MITER:{c.push(ot,ut,vt,Tt);break}case qt.BEVEL:{J?c.push(ot,ut,v+b*S,T+E*S,ot,ut,v+R*S,T+F*S):c.push(v-b*P,T-E*P,vt,Tt,v-R*P,T-F*P,vt,Tt),d+=2;break}case qt.ROUND:{J?(c.push(ot,ut,v+b*S,T+E*S),d+=We(v,T,v+b*S,T+E*S,v+R*S,T+F*S,c,!0)+4,c.push(ot,ut,v+R*S,T+F*S)):(c.push(v-b*P,T-E*P,vt,Tt),d+=We(v,T,v-b*P,T-E*P,v-R*P,T-F*P,c,!1)+4,c.push(v-R*P,T-F*P,vt,Tt));break}}else{switch(c.push(v-b*P,T-E*P,v+b*S,T+E*S),pr){case qt.MITER:{J?c.push(vt,Tt,vt,Tt):c.push(ot,ut,ot,ut),d+=2;break}case qt.ROUND:{J?d+=We(v,T,v+b*S,T+E*S,v+R*S,T+F*S,c,!0)+2:d+=We(v,T,v-b*P,T-E*P,v-R*P,T-F*P,c,!1)+2;break}}c.push(v-R*P,T-F*P,v+R*S,T+F*S),d+=2}}x=i[(u-2)*2],y=i[(u-2)*2+1],v=i[(u-1)*2],T=i[(u-1)*2+1],b=-(y-T),E=x-v,I=Math.sqrt(b*b+E*E),b/=I,E/=I,b*=p,E*=p,c.push(v-b*P,T-E*P,v+b*S,T+E*S),h||(n.cap===Ie.ROUND?d+=We(v-b*(P-S)*.5,T-E*(P-S)*.5,v-b*P,T-E*P,v+b*S,T+E*S,c,!1)+2:n.cap===Ie.SQUARE&&(d+=$h(v,T,b,E,P,S,!1,c)));const W=t.indices,K=Pe.epsilon*Pe.epsilon;for(let k=f;k0&&(this.invalidate(),this.clearDirty++,this.graphicsData.length=0),this}drawShape(e,t=null,s=null,i=null){const r=new Js(e,t,s,i);return this.graphicsData.push(r),this.dirty++,this}drawHole(e,t=null){if(!this.graphicsData.length)return null;const s=new Js(e,null,null,t),i=this.graphicsData[this.graphicsData.length-1];return s.lineStyle=i.lineStyle,i.holes.push(s),this.dirty++,this}destroy(){super.destroy();for(let e=0;e0&&(s=this.batches[this.batches.length-1],i=s.style);for(let a=this.shapeIndex;a65535;this.indicesUint16&&this.indices.length===this.indicesUint16.length&&o===this.indicesUint16.BYTES_PER_ELEMENT>2?this.indicesUint16.set(this.indices):this.indicesUint16=o?new Uint32Array(this.indices):new Uint16Array(this.indices),this.batchable=this.isBatchable(),this.batchable?this.packBatches():this.buildDrawCalls()}_compareStyles(e,t){return!(!e||!t||e.texture.baseTexture!==t.texture.baseTexture||e.color+e.alpha!==t.color+t.alpha||!!e.native!=!!t.native)}validateBatching(){if(this.dirty===this.cacheDirty||!this.graphicsData.length)return!1;for(let e=0,t=this.graphicsData.length;e65535*2)return!1;const e=this.batches;for(let t=0;t0&&(i=Zs.pop(),i||(i=new wi,i.texArray=new Di),this.drawCalls.push(i)),i.start=l,i.size=0,i.texArray.count=0,i.type=h),p.touched=1,p._batchEnabled=e,p._batchLocation=r,p.wrapMode=ae.REPEAT,i.texArray.elements[i.texArray.count++]=p,r++)),i.size+=u.size,l+=u.size,o=p._batchLocation,this.addColors(t,f.color,f.alpha,u.attribSize,u.attribStart),this.addTextureIds(s,o,u.attribSize,u.attribStart)}V._globalBatch=e,this.packAttributes()}packAttributes(){const e=this.points,t=this.uvs,s=this.colors,i=this.textureIds,r=new ArrayBuffer(e.length*3*4),n=new Float32Array(r),o=new Uint32Array(r);let a=0;for(let h=0;h0&&e.alpha>0;return s?(e.matrix&&(e.matrix=e.matrix.clone(),e.matrix.invert()),Object.assign(this._lineStyle,{visible:s},e)):this._lineStyle.reset(),this}startPoly(){if(this.currentPath){const e=this.currentPath.points,t=this.currentPath.points.length;t>2&&(this.drawShape(this.currentPath),this.currentPath=new Fe,this.currentPath.closeStroke=!1,this.currentPath.points.push(e[t-2],e[t-1]))}else this.currentPath=new Fe,this.currentPath.closeStroke=!1}finishPoly(){this.currentPath&&(this.currentPath.points.length>2?(this.drawShape(this.currentPath),this.currentPath=null):this.currentPath.points.length=0)}moveTo(e,t){return this.startPoly(),this.currentPath.points[0]=e,this.currentPath.points[1]=t,this}lineTo(e,t){this.currentPath||this.moveTo(0,0);const s=this.currentPath.points,i=s[s.length-2],r=s[s.length-1];return(i!==e||r!==t)&&s.push(e,t),this}_initCurve(e=0,t=0){this.currentPath?this.currentPath.points.length===0&&(this.currentPath.points=[e,t]):this.moveTo(e,t)}quadraticCurveTo(e,t,s,i){this._initCurve();const r=this.currentPath.points;return r.length===0&&this.moveTo(0,0),rr.curveTo(e,t,s,i,r),this}bezierCurveTo(e,t,s,i,r,n){return this._initCurve(),ir.curveTo(e,t,s,i,r,n,this.currentPath.points),this}arcTo(e,t,s,i,r){this._initCurve(e,t);const n=this.currentPath.points,o=to.curveTo(e,t,s,i,r,n);if(o){const{cx:a,cy:h,radius:l,startAngle:c,endAngle:u,anticlockwise:d}=o;this.arc(a,h,l,c,u,d)}return this}arc(e,t,s,i,r,n=!1){if(i===r)return this;if(!n&&r<=i?r+=ws:n&&i<=r&&(i+=ws),r-i===0)return this;const a=e+Math.cos(i)*s,h=t+Math.sin(i)*s,l=this._geometry.closePointEps;let c=this.currentPath?this.currentPath.points:null;if(c){const u=Math.abs(c[c.length-2]-a),d=Math.abs(c[c.length-1]-h);u0;return s?(e.matrix&&(e.matrix=e.matrix.clone(),e.matrix.invert()),Object.assign(this._fillStyle,{visible:s},e)):this._fillStyle.reset(),this}endFill(){return this.finishPoly(),this._fillStyle.reset(),this}drawRect(e,t,s,i){return this.drawShape(new $(e,t,s,i))}drawRoundedRect(e,t,s,i,r){return this.drawShape(new Ri(e,t,s,i,r))}drawCircle(e,t,s){return this.drawShape(new Ci(e,t,s))}drawEllipse(e,t,s,i){return this.drawShape(new Ai(e,t,s,i))}drawPolygon(...e){let t,s=!0;const i=e[0];i.points?(s=i.closeStroke,t=i.points):Array.isArray(e[0])?t=e[0]:t=e;const r=new Fe(t);return r.closeStroke=s,this.drawShape(r),this}drawShape(e){return this._holeMode?this._geometry.drawHole(e,this._matrix):this._geometry.drawShape(e,this._fillStyle.clone(),this._lineStyle.clone(),this._matrix),this}clear(){return this._geometry.clear(),this._lineStyle.reset(),this._fillStyle.reset(),this._boundsID++,this._matrix=null,this._holeMode=!1,this.currentPath=null,this}isFastRect(){const e=this._geometry.graphicsData;return e.length===1&&e[0].shape.type===it.RECT&&!e[0].matrix&&!e[0].holes.length&&!(e[0].lineStyle.visible&&e[0].lineStyle.width)}_render(e){this.finishPoly();const t=this._geometry;t.updateBatches(),t.batchable?(this.batchDirty!==t.batchDirty&&this._populateBatches(),this._renderBatched(e)):(e.batch.flush(),this._renderDirect(e))}_populateBatches(){const e=this._geometry,t=this.blendMode,s=e.batches.length;this.batchTint=-1,this._transformID=-1,this.batchDirty=e.batchDirty,this.batches.length=s,this.vertexData=new Float32Array(e.points);for(let i=0;i0){const p=h.x-t[d].x,m=h.y-t[d].y,g=Math.sqrt(p*p+m*m);h=t[d],a+=g/l}else a=d/(c-1);n[f]=a,n[f+1]=0,n[f+2]=a,n[f+3]=1}let u=0;for(let d=0;d0?this.textureScale*this._width/2:this._width/2;for(let l=0;l1&&(d=1);const f=Math.sqrt(r*r+n*n);f<1e-6?(r=0,n=0):(r/=f,n/=f,r*=h,n*=h),o[u]=c.x+r,o[u+1]=c.y+n,o[u+2]=c.x-r,o[u+3]=c.y-n,s=c}this.buffers[0].update()}update(){this.textureScale>0?this.build():this.updateVertices()}}class tl extends At{constructor(t,s,i){const r=new Jh(t.width,t.height,s,i),n=new je(O.WHITE);super(r,n),this.texture=t,this.autoResize=!0}textureUpdated(){this._textureID=this.shader.texture._updateID;const t=this.geometry,{width:s,height:i}=this.shader.texture;this.autoResize&&(t.width!==s||t.height!==i)&&(t.width=this.shader.texture.width,t.height=this.shader.texture.height,t.build())}set texture(t){this.shader.texture!==t&&(this.shader.texture=t,this._textureID=-1,t.baseTexture.valid?this.textureUpdated():t.once("update",this.textureUpdated,this))}get texture(){return this.shader.texture}_render(t){this._textureID!==this.shader.texture._updateID&&this.textureUpdated(),super._render(t)}destroy(t){this.shader.texture.off("update",this.textureUpdated,this),super.destroy(t)}}const hr=10;class ei extends tl{constructor(t,s,i,r,n){var o,a,h,l,c,u,d,f;super(O.WHITE,4,4),this._origWidth=t.orig.width,this._origHeight=t.orig.height,this._width=this._origWidth,this._height=this._origHeight,this._leftWidth=(a=s!=null?s:(o=t.defaultBorders)==null?void 0:o.left)!=null?a:hr,this._rightWidth=(l=r!=null?r:(h=t.defaultBorders)==null?void 0:h.right)!=null?l:hr,this._topHeight=(u=i!=null?i:(c=t.defaultBorders)==null?void 0:c.top)!=null?u:hr,this._bottomHeight=(f=n!=null?n:(d=t.defaultBorders)==null?void 0:d.bottom)!=null?f:hr,this.texture=t}textureUpdated(){this._textureID=this.shader.texture._updateID,this._refresh()}get vertices(){return this.geometry.getBuffer("aVertexPosition").data}set vertices(t){this.geometry.getBuffer("aVertexPosition").data=t}updateHorizontalVertices(){const t=this.vertices,s=this._getMinScale();t[9]=t[11]=t[13]=t[15]=this._topHeight*s,t[17]=t[19]=t[21]=t[23]=this._height-this._bottomHeight*s,t[25]=t[27]=t[29]=t[31]=this._height}updateVerticalVertices(){const t=this.vertices,s=this._getMinScale();t[2]=t[10]=t[18]=t[26]=this._leftWidth*s,t[4]=t[12]=t[20]=t[28]=this._width-this._rightWidth*s,t[6]=t[14]=t[22]=t[30]=this._width}_getMinScale(){const t=this._leftWidth+this._rightWidth,s=this._width>t?1:this._width/t,i=this._topHeight+this._bottomHeight,r=this._height>i?1:this._height/i;return Math.min(s,r)}get width(){return this._width}set width(t){this._width=t,this._refresh()}get height(){return this._height}set height(t){this._height=t,this._refresh()}get leftWidth(){return this._leftWidth}set leftWidth(t){this._leftWidth=t,this._refresh()}get rightWidth(){return this._rightWidth}set rightWidth(t){this._rightWidth=t,this._refresh()}get topHeight(){return this._topHeight}set topHeight(t){this._topHeight=t,this._refresh()}get bottomHeight(){return this._bottomHeight}set bottomHeight(t){this._bottomHeight=t,this._refresh()}_refresh(){const t=this.texture,s=this.geometry.buffers[1].data;this._origWidth=t.orig.width,this._origHeight=t.orig.height;const i=1/this._origWidth,r=1/this._origHeight;s[0]=s[8]=s[16]=s[24]=0,s[1]=s[3]=s[5]=s[7]=0,s[6]=s[14]=s[22]=s[30]=1,s[25]=s[27]=s[29]=s[31]=1,s[2]=s[10]=s[18]=s[26]=i*this._leftWidth,s[4]=s[12]=s[20]=s[28]=1-i*this._rightWidth,s[9]=s[11]=s[13]=s[15]=r*this._topHeight,s[17]=s[19]=s[21]=s[23]=1-r*this._bottomHeight,this.updateHorizontalVertices(),this.updateVerticalVertices(),this.geometry.buffers[0].update(),this.geometry.buffers[1].update()}}class el extends At{constructor(t=O.EMPTY,s,i,r,n){const o=new ti(s,i,r);o.getBuffer("aVertexPosition").static=!1;const a=new je(t);super(o,a,null,n),this.autoUpdate=!0}get vertices(){return this.geometry.getBuffer("aVertexPosition").data}set vertices(t){this.geometry.getBuffer("aVertexPosition").data=t}_render(t){this.autoUpdate&&this.geometry.getBuffer("aVertexPosition").update(),super._render(t)}}class sl extends At{constructor(t,s,i=0){const r=new Qh(t.height,s,i),n=new je(t);i>0&&(t.baseTexture.wrapMode=ae.REPEAT),super(r,n),this.autoUpdate=!0}_render(t){const s=this.geometry;(this.autoUpdate||s._width!==this.shader.texture.height)&&(s._width=this.shader.texture.height,s.update()),super._render(t)}}class il{constructor(t){this.maxItemsPerFrame=t,this.itemsLeft=0}beginFrame(){this.itemsLeft=this.maxItemsPerFrame}allowedToUpload(){return this.itemsLeft-- >0}}function nf(e,t){var i;let s=!1;if((i=e==null?void 0:e._textures)!=null&&i.length){for(let r=0;r{!this.queue||this.prepareItems()},this.registerFindHook(cf),this.registerFindHook(uf),this.registerFindHook(nf),this.registerFindHook(of),this.registerFindHook(af),this.registerUploadHook(hf),this.registerUploadHook(lf)}upload(e){return new Promise(t=>{e&&this.add(e),this.queue.length?(this.completes.push(t),this.ticking||(this.ticking=!0,mt.system.addOnce(this.tick,this,Ee.UTILITY))):t()})}tick(){setTimeout(this.delayedTick,0)}prepareItems(){for(this.limiter.beginFrame();this.queue.length&&this.limiter.allowedToUpload();){const e=this.queue[0];let t=!1;if(e&&!e._destroyed){for(let s=0,i=this.uploadHooks.length;s=0;t--)this.add(e.children[t]);return this}destroy(){this.ticking&&mt.system.remove(this.tick,this),this.ticking=!1,this.addHooks=null,this.uploadHooks=null,this.renderer=null,this.completes=null,this.queue=null,this.limiter=null,this.uploadHookHelper=null}};let cs=rl;cs.uploadsPerFrame=4,Object.defineProperties(N,{UPLOADS_PER_FRAME:{get(){return cs.uploadsPerFrame},set(e){z("7.1.0","settings.UPLOADS_PER_FRAME is deprecated, use prepare.BasePrepare.uploadsPerFrame"),cs.uploadsPerFrame=e}}});function nl(e,t){return t instanceof V?(t._glTextures[e.CONTEXT_UID]||e.texture.bind(t),!0):!1}function df(e,t){if(!(t instanceof Me))return!1;const{geometry:s}=t;t.finishPoly(),s.updateBatches();const{batches:i}=s;for(let r=0;r=this._durations[this.currentFrame];)r-=this._durations[this.currentFrame]*n,this._currentTime+=n;this._currentTime+=r/this._durations[this.currentFrame]}else this._currentTime+=s;this._currentTime<0&&!this.loop?(this.gotoAndStop(0),this.onComplete&&this.onComplete()):this._currentTime>=this._textures.length&&!this.loop?(this.gotoAndStop(this._textures.length-1),this.onComplete&&this.onComplete()):i!==this.currentFrame&&(this.loop&&this.onLoop&&(this.animationSpeed>0&&this.currentFramei)&&this.onLoop(),this.updateTexture())}updateTexture(){const t=this.currentFrame;this._previousFrame!==t&&(this._previousFrame=t,this._texture=this._textures[t],this._textureID=-1,this._textureTrimmedID=-1,this._cachedTint=16777215,this.uvs=this._texture._uvs.uvsFloat32,this.updateAnchor&&this._anchor.copyFrom(this._texture.defaultAnchor),this.onFrameChange&&this.onFrameChange(this.currentFrame))}destroy(t){this.stop(),super.destroy(t),this.onComplete=null,this.onFrameChange=null,this.onLoop=null}static fromFrames(t){const s=[];for(let i=0;ithis.totalFrames-1)throw new Error(`[AnimatedSprite]: Invalid frame index value ${t}, expected to be between 0 and totalFrames ${this.totalFrames}.`);const s=this.currentFrame;this._currentTime=t,s!==this.currentFrame&&this.updateTexture()}get playing(){return this._playing}get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t!==this._autoUpdate&&(this._autoUpdate=t,!this._autoUpdate&&this._isConnectedToTicker?(mt.shared.remove(this.update,this),this._isConnectedToTicker=!1):this._autoUpdate&&!this._isConnectedToTicker&&this._playing&&(mt.shared.add(this.update,this),this._isConnectedToTicker=!0))}}const si=class{constructor(e,t,s=null){this.linkedSheets=[],this._texture=e instanceof O?e:null,this.baseTexture=e instanceof V?e:this._texture.baseTexture,this.textures={},this.animations={},this.data=t;const i=this.baseTexture.resource;this.resolution=this._updateResolution(s||(i?i.url:null)),this._frames=this.data.frames,this._frameKeys=Object.keys(this._frames),this._batchIndex=0,this._callback=null}_updateResolution(e=null){const{scale:t}=this.data.meta;let s=xe(e,null);return s===null&&(s=parseFloat(t!=null?t:"1")),s!==1&&this.baseTexture.setResolution(s),s}parse(){return new Promise(e=>{this._callback=e,this._batchIndex=0,this._frameKeys.length<=si.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch()})}_processFrames(e){let t=e;const s=si.BATCH_SIZE;for(;t-e{this._batchIndex*si.BATCH_SIZE{i[r]=t}),Object.keys(t.textures).forEach(r=>{i[r]=t.textures[r]}),!s){const r=Ct.dirname(e[0]);t.linkedSheets.forEach((n,o)=>{const a=ol([`${r}/${t.data.meta.related_multi_packs[o]}`],n,!0);Object.assign(i,a)})}return i}const al={extension:D.Asset,cache:{test:e=>e instanceof cr,getCacheableAssets:(e,t)=>ol(e,t,!1)},resolver:{test:e=>{const s=e.split("?")[0].split("."),i=s.pop(),r=s.pop();return i==="json"&&mf.includes(r)},parse:e=>{var s,i;const t=e.split(".");return{resolution:parseFloat((i=(s=N.RETINA_PREFIX.exec(e))==null?void 0:s[1])!=null?i:"1"),format:t[t.length-2],src:e}}},loader:{name:"spritesheetLoader",extension:{type:D.LoadParser,priority:re.Normal},async testParse(e,t){return Ct.extname(t.src).toLowerCase()===".json"&&!!e.frames},async parse(e,t,s){var l,c;let i=Ct.dirname(t.src);i&&i.lastIndexOf("/")!==i.length-1&&(i+="/");let r=i+e.meta.image;r=Qi(r,t.src);const o=(await s.load([r]))[r],a=new cr(o.baseTexture,e,t.src);await a.parse();const h=(l=e==null?void 0:e.meta)==null?void 0:l.related_multi_packs;if(Array.isArray(h)){const u=[];for(const f of h){if(typeof f!="string")continue;let p=i+f;(c=t.data)!=null&&c.ignoreMultiPack||(p=Qi(p,t.src),u.push(s.load({src:p,data:{ignoreMultiPack:!0}})))}const d=await Promise.all(u);a.linkedSheets=d,d.forEach(f=>{f.linkedSheets=[a].concat(a.linkedSheets.filter(p=>p!==f))})}return a},unload(e){e.destroy(!0)}}};U.add(al);class ii{constructor(){this.info=[],this.common=[],this.page=[],this.char=[],this.kerning=[],this.distanceField=[]}}class ri{static test(t){return typeof t=="string"&&t.startsWith("info face=")}static parse(t){const s=t.match(/^[a-z]+\s+.+$/gm),i={info:[],common:[],page:[],char:[],chars:[],kerning:[],kernings:[],distanceField:[]};for(const n in s){const o=s[n].match(/^[a-z]+/gm)[0],a=s[n].match(/[a-zA-Z]+=([^\s"']+|"([^"]*)")/gm),h={};for(const l in a){const c=a[l].split("="),u=c[0],d=c[1].replace(/"/gm,""),f=parseFloat(d),p=isNaN(f)?d:f;h[u]=p}i[o].push(h)}const r=new ii;return i.info.forEach(n=>r.info.push({face:n.face,size:parseInt(n.size,10)})),i.common.forEach(n=>r.common.push({lineHeight:parseInt(n.lineHeight,10)})),i.page.forEach(n=>r.page.push({id:parseInt(n.id,10),file:n.file})),i.char.forEach(n=>r.char.push({id:parseInt(n.id,10),page:parseInt(n.page,10),x:parseInt(n.x,10),y:parseInt(n.y,10),width:parseInt(n.width,10),height:parseInt(n.height,10),xoffset:parseInt(n.xoffset,10),yoffset:parseInt(n.yoffset,10),xadvance:parseInt(n.xadvance,10)})),i.kerning.forEach(n=>r.kerning.push({first:parseInt(n.first,10),second:parseInt(n.second,10),amount:parseInt(n.amount,10)})),i.distanceField.forEach(n=>r.distanceField.push({distanceRange:parseInt(n.distanceRange,10),fieldType:n.fieldType})),r}}class ur{static test(t){const s=t;return"getElementsByTagName"in s&&s.getElementsByTagName("page").length&&s.getElementsByTagName("info")[0].getAttribute("face")!==null}static parse(t){const s=new ii,i=t.getElementsByTagName("info"),r=t.getElementsByTagName("common"),n=t.getElementsByTagName("page"),o=t.getElementsByTagName("char"),a=t.getElementsByTagName("kerning"),h=t.getElementsByTagName("distanceField");for(let l=0;l")?ur.test(N.ADAPTER.parseXML(t)):!1}static parse(t){return ur.parse(N.ADAPTER.parseXML(t))}}const ao=[ri,ur,dr];function hl(e){for(let t=0;t=a-I*n){if(p===0)throw new Error(`[BitmapFont] textureHeight ${a}px is too small (fontFamily: '${c.fontFamily}', fontSize: ${c.fontSize}px, char: '${E}')`);--b,m=null,g=null,x=null,p=0,f=0,y=0;continue}if(y=Math.max(I+R.fontProperties.descent,y),L*n+f>=u){if(f===0)throw new Error(`[BitmapFont] textureWidth ${o}px is too small (fontFamily: '${c.fontFamily}', fontSize: ${c.fontSize}px, char: '${E}')`);--b,p+=y*n,p=Math.ceil(p),f=0,y=0;continue}_f(m,g,R,f,p,n,c);const P=fr(R.text);d.char.push({id:P,page:T.length-1,x:f/n,y:p/n,width:L,height:I,xoffset:0,yoffset:0,xadvance:F-(c.dropShadow?c.dropShadowDistance:0)-(c.stroke?c.strokeThickness:0)}),f+=(L+2*r)*n,f=Math.ceil(f)}for(let b=0,E=l.length;b 0.99) {\r alpha = 1.0;\r }\r \r // Gamma correction for coverage-like alpha\r float luma = dot(uColor.rgb, vec3(0.299, 0.587, 0.114));\r float gamma = mix(1.0, 1.0 / 2.2, luma);\r float coverage = pow(uColor.a * alpha, gamma); \r \r // NPM Textures, NPM outputs\r gl_FragColor = vec4(uColor.rgb, coverage);\r }\r `,yf=`// Mesh material default fragment\r attribute vec2 aVertexPosition;\r attribute vec2 aTextureCoord;\r \r uniform mat3 projectionMatrix;\r uniform mat3 translationMatrix;\r uniform mat3 uTextureMatrix;\r \r varying vec2 vTextureCoord;\r \r void main(void)\r {\r gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\r \r vTextureCoord = (uTextureMatrix * vec3(aTextureCoord, 1.0)).xy;\r }\r `;const cl=[],ul=[],dl=[],fl=class extends It{constructor(e,t={}){super();const{align:s,tint:i,maxWidth:r,letterSpacing:n,fontName:o,fontSize:a}=Object.assign({},fl.styleDefaults,t);if(!Mt.available[o])throw new Error(`Missing BitmapFont "${o}"`);this._activePagesMeshData=[],this._textWidth=0,this._textHeight=0,this._align=s,this._tintColor=new j(i),this._font=void 0,this._fontName=o,this._fontSize=a,this.text=e,this._maxWidth=r,this._maxLineHeight=0,this._letterSpacing=n,this._anchor=new Te(()=>{this.dirty=!0},this,0,0),this._roundPixels=N.ROUND_PIXELS,this.dirty=!0,this._resolution=N.RESOLUTION,this._autoResolution=!0,this._textureCache={}}updateText(){var F;const e=Mt.available[this._fontName],t=this.fontSize,s=t/e.size,i=new Y,r=[],n=[],o=[],a=this._text.replace(/(?:\r\n|\r)/g,` `)||" ",h=ll(a),l=this._maxWidth*e.size/t,c=e.distanceFieldType==="none"?cl:ul;let u=null,d=0,f=0,p=0,m=-1,g=0,x=0,y=0,v=0;for(let I=0;I0&&i.x>l&&(++x,Ne(r,1+m-x,1+I-m),I=m,m=-1,n.push(g),o.push(r.length>0?r[r.length-1].prevSpaces:0),f=Math.max(f,g),p++,i.x=0,i.y+=e.lineHeight,u=null,v=0)}const T=h[h.length-1];T!=="\r"&&T!==` `&&(/(?:\s)/.test(T)&&(d=g),n.push(d),f=Math.max(f,d),o.push(-1));const w=[];for(let I=0;I<=p;I++){let L=0;this._align==="right"?L=f-n[I]:this._align==="center"?L=(f-n[I])/2:this._align==="justify"&&(L=o[I]<0?0:(f-n[I])/o[I]),w.push(L)}const A=r.length,b={},E=[],R=this._activePagesMeshData;c.push(...R);for(let I=0;I6*P)||L.vertices.lengtht[r.mesh.texture.baseTexture.uid]).forEach(r=>{r.mesh.texture=O.EMPTY});for(const r in t)t[r].destroy(),delete t[r];this._font=null,this._tintColor=null,this._textureCache=null,super.destroy(e)}};let pl=fl;pl.styleDefaults={align:"left",tint:16777215,maxWidth:0,letterSpacing:0};const Tf=[".xml",".fnt"],ml={extension:{type:D.LoadParser,priority:re.Normal},name:"loadBitmapFont",test(e){return Tf.includes(Ct.extname(e).toLowerCase())},async testParse(e){return ri.test(e)||dr.test(e)},async parse(e,t,s){const i=ri.test(e)?ri.parse(e):dr.parse(e),{src:r}=t,{page:n}=i,o=[];for(let l=0;la[l]);return Mt.install(i,h,!0)},async load(e,t){return(await N.ADAPTER.fetch(e)).text()},unload(e){e.destroy()}};U.add(ml);const us=class extends de{constructor(){super(...arguments),this._fonts=[],this._overrides=[],this._stylesheet="",this.fontsDirty=!1}static from(e){return new us(Object.keys(us.defaultOptions).reduce((t,s)=>li(St({},t),{[s]:e[s]}),{}))}cleanFonts(){this._fonts.length>0&&(this._fonts.forEach(e=>{URL.revokeObjectURL(e.src),e.refs--,e.refs===0&&(e.fontFace&&document.fonts.delete(e.fontFace),delete us.availableFonts[e.originalUrl])}),this.fontFamily="Arial",this._fonts.length=0,this.styleID++,this.fontsDirty=!0)}loadFont(e,t={}){const{availableFonts:s}=us;if(s[e]){const i=s[e];return this._fonts.push(i),i.refs++,this.styleID++,this.fontsDirty=!0,Promise.resolve()}return N.ADAPTER.fetch(e).then(i=>i.blob()).then(async i=>new Promise((r,n)=>{const o=URL.createObjectURL(i),a=new FileReader;a.onload=()=>r([o,a.result]),a.onerror=n,a.readAsDataURL(i)})).then(async([i,r])=>{const n=Object.assign({family:Ct.basename(e,Ct.extname(e)),weight:"normal",style:"normal",src:i,dataSrc:r,refs:1,originalUrl:e,fontFace:null},t);s[e]=n,this._fonts.push(n),this.styleID++;const o=new FontFace(n.family,`url(${n.src})`,{weight:n.weight,style:n.style});n.fontFace=o,await o.load(),document.fonts.add(o),await document.fonts.ready,this.styleID++,this.fontsDirty=!0})}addOverride(...e){const t=e.filter(s=>!this._overrides.includes(s));t.length>0&&(this._overrides.push(...t),this.styleID++)}removeOverride(...e){const t=e.filter(s=>this._overrides.includes(s));t.length>0&&(this._overrides=this._overrides.filter(s=>!t.includes(s)),this.styleID++)}toCSS(e){return[`transform: scale(${e})`,"transform-origin: top left","display: inline-block",`color: ${this.normalizeColor(this.fill)}`,`font-size: ${this.fontSize}px`,`font-family: ${this.fontFamily}`,`font-weight: ${this.fontWeight}`,`font-style: ${this.fontStyle}`,`font-variant: ${this.fontVariant}`,`letter-spacing: ${this.letterSpacing}px`,`text-align: ${this.align}`,`padding: ${this.padding}px`,`white-space: ${this.whiteSpace}`,...this.lineHeight?[`line-height: ${this.lineHeight}px`]:[],...this.wordWrap?[`word-wrap: ${this.breakWords?"break-all":"break-word"}`,`max-width: ${this.wordWrapWidth}px`]:[],...this.strokeThickness?[`-webkit-text-stroke-width: ${this.strokeThickness}px`,`-webkit-text-stroke-color: ${this.normalizeColor(this.stroke)}`,`text-stroke-width: ${this.strokeThickness}px`,`text-stroke-color: ${this.normalizeColor(this.stroke)}`,"paint-order: stroke"]:[],...this.dropShadow?[this.dropShadowToCSS()]:[],...this._overrides].join(";")}toGlobalCSS(){return this._fonts.reduce((e,t)=>`${e} @font-face { font-family: "${t.family}"; src: url('${t.dataSrc}'); font-weight: ${t.weight}; font-style: ${t.style}; }`,this._stylesheet)}get stylesheet(){return this._stylesheet}set stylesheet(e){this._stylesheet!==e&&(this._stylesheet=e,this.styleID++)}normalizeColor(e){return Array.isArray(e)&&(e=ea(e)),typeof e=="number"?ta(e):e}dropShadowToCSS(){let e=this.normalizeColor(this.dropShadowColor);const t=this.dropShadowAlpha,s=Math.round(Math.cos(this.dropShadowAngle)*this.dropShadowDistance),i=Math.round(Math.sin(this.dropShadowAngle)*this.dropShadowDistance);e.startsWith("#")&&t<1&&(e+=(t*255|0).toString(16).padStart(2,"0"));const r=`${s}px ${i}px`;return this.dropShadowBlur>0?`text-shadow: ${r} ${this.dropShadowBlur}px ${e}`:`text-shadow: ${r} ${e}`}reset(){Object.assign(this,us.defaultOptions)}onBeforeDraw(){const{fontsDirty:e}=this;return this.fontsDirty=!1,this.isSafari&&this._fonts.length>0&&e?new Promise(t=>setTimeout(t,100)):Promise.resolve()}get isSafari(){const{userAgent:e}=N.ADAPTER.getNavigator();return/^((?!chrome|android).)*safari/i.test(e)}set fillGradientStops(e){console.warn("[HTMLTextStyle] fillGradientStops is not supported by HTMLText")}get fillGradientStops(){return super.fillGradientStops}set fillGradientType(e){console.warn("[HTMLTextStyle] fillGradientType is not supported by HTMLText")}get fillGradientType(){return super.fillGradientType}set miterLimit(e){console.warn("[HTMLTextStyle] miterLimit is not supported by HTMLText")}get miterLimit(){return super.miterLimit}set trim(e){console.warn("[HTMLTextStyle] trim is not supported by HTMLText")}get trim(){return super.trim}set textBaseline(e){console.warn("[HTMLTextStyle] textBaseline is not supported by HTMLText")}get textBaseline(){return super.textBaseline}set leading(e){console.warn("[HTMLTextStyle] leading is not supported by HTMLText")}get leading(){return super.leading}set lineJoin(e){console.warn("[HTMLTextStyle] lineJoin is not supported by HTMLText")}get lineJoin(){return super.lineJoin}};let ds=us;ds.availableFonts={},ds.defaultOptions={align:"left",breakWords:!1,dropShadow:!1,dropShadowAlpha:1,dropShadowAngle:Math.PI/6,dropShadowBlur:0,dropShadowColor:"black",dropShadowDistance:5,fill:"black",fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",letterSpacing:0,lineHeight:0,padding:0,stroke:"black",strokeThickness:0,whiteSpace:"normal",wordWrap:!1,wordWrapWidth:100};const fs=class extends $t{constructor(e="",t={}){var c;super(O.EMPTY),this._text=null,this._style=null,this._autoResolution=!0,this._loading=!1,this.localStyleID=-1,this.dirty=!1,this.ownsStyle=!1;const s=new Image,i=O.from(s,{scaleMode:N.SCALE_MODE,resourceOptions:{autoLoad:!1}});i.orig=new $,i.trim=new $,this.texture=i;const r="http://www.w3.org/2000/svg",n="http://www.w3.org/1999/xhtml",o=document.createElementNS(r,"svg"),a=document.createElementNS(r,"foreignObject"),h=document.createElementNS(n,"div"),l=document.createElementNS(n,"style");a.setAttribute("width","10000"),a.setAttribute("height","10000"),a.style.overflow="hidden",o.appendChild(a),this.maxWidth=fs.defaultMaxWidth,this.maxHeight=fs.defaultMaxHeight,this._domElement=h,this._styleElement=l,this._svgRoot=o,this._foreignObject=a,this._foreignObject.appendChild(l),this._foreignObject.appendChild(h),this._image=s,this._loadImage=new Image,this._autoResolution=fs.defaultAutoResolution,this._resolution=(c=fs.defaultResolution)!=null?c:N.RESOLUTION,this.text=e,this.style=t}measureText(e){var a,h;const{text:t,style:s,resolution:i}=Object.assign({text:this._text,style:this._style,resolution:this._resolution},e);Object.assign(this._domElement,{innerHTML:t,style:s.toCSS(i)}),this._styleElement.textContent=s.toGlobalCSS(),document.body.appendChild(this._svgRoot);const r=this._domElement.getBoundingClientRect();this._svgRoot.remove();const n=Math.min(this.maxWidth,Math.ceil(r.width)),o=Math.min(this.maxHeight,Math.ceil(r.height));return this._svgRoot.setAttribute("width",n.toString()),this._svgRoot.setAttribute("height",o.toString()),t!==this._text&&(this._domElement.innerHTML=this._text),s!==this._style&&(Object.assign(this._domElement,{style:(a=this._style)==null?void 0:a.toCSS(i)}),this._styleElement.textContent=(h=this._style)==null?void 0:h.toGlobalCSS()),{width:n+s.padding*2,height:o+s.padding*2}}async updateText(e=!0){const{style:t,_image:s,_loadImage:i}=this;if(this.localStyleID!==t.styleID&&(this.dirty=!0,this.localStyleID=t.styleID),!this.dirty&&e)return;const{width:r,height:n}=this.measureText();s.width=i.width=Math.ceil(Math.max(1,r)),s.height=i.height=Math.ceil(Math.max(1,n)),this._loading||(this._loading=!0,await new Promise(o=>{i.onload=async()=>{await t.onBeforeDraw(),this._loading=!1,s.src=i.src,i.onload=null,i.src="",this.updateTexture(),o()};const a=new XMLSerializer().serializeToString(this._svgRoot);i.src=`data:image/svg+xml;charset=utf8,${encodeURIComponent(a)}`}))}get source(){return this._image}updateTexture(){const{style:e,texture:t,_image:s,resolution:i}=this,{padding:r}=e,{baseTexture:n}=t;t.trim.width=t._frame.width=s.width/i,t.trim.height=t._frame.height=s.height/i,t.trim.x=-r,t.trim.y=-r,t.orig.width=t._frame.width-r*2,t.orig.height=t._frame.height-r*2,this._onTextureUpdate(),n.setRealSize(s.width,s.height,i),this.dirty=!1}_render(e){this._autoResolution&&this._resolution!==e.resolution&&(this._resolution=e.resolution,this.dirty=!0),this.updateText(!0),super._render(e)}_renderCanvas(e){this._autoResolution&&this._resolution!==e.resolution&&(this._resolution=e.resolution,this.dirty=!0),this.updateText(!0),super._renderCanvas(e)}getLocalBounds(e){return this.updateText(!0),super.getLocalBounds(e)}_calculateBounds(){this.updateText(!0),this.calculateVertices(),this._bounds.addQuad(this.vertexData)}_onStyleChange(){this.dirty=!0}destroy(e){var s,i,r,n,o;typeof e=="boolean"&&(e={children:e}),e=Object.assign({},fs.defaultDestroyOptions,e),super.destroy(e);const t=null;this.ownsStyle&&((s=this._style)==null||s.cleanFonts()),this._style=t,(i=this._svgRoot)==null||i.remove(),this._svgRoot=t,(r=this._domElement)==null||r.remove(),this._domElement=t,(n=this._foreignObject)==null||n.remove(),this._foreignObject=t,(o=this._styleElement)==null||o.remove(),this._styleElement=t,this._loadImage.src="",this._loadImage.onload=null,this._loadImage=t,this._image.src="",this._image=t}get width(){return this.updateText(!0),Math.abs(this.scale.x)*this._image.width/this.resolution}set width(e){this.updateText(!0);const t=ve(this.scale.x)||1;this.scale.x=t*e/this._image.width/this.resolution,this._width=e}get height(){return this.updateText(!0),Math.abs(this.scale.y)*this._image.height/this.resolution}set height(e){this.updateText(!0);const t=ve(this.scale.y)||1;this.scale.y=t*e/this._image.height/this.resolution,this._height=e}get style(){return this._style}set style(e){this._style!==e&&(e=e||{},e instanceof ds?(this.ownsStyle=!1,this._style=e):e instanceof de?(console.warn("[HTMLText] Cloning TextStyle, if this is not what you want, use HTMLTextStyle"),this.ownsStyle=!0,this._style=ds.from(e)):(this.ownsStyle=!0,this._style=new ds(e)),this.localStyleID=-1,this.dirty=!0)}get text(){return this._text}set text(e){e=String(e===""||e===null||e===void 0?" ":e),e=this.sanitiseText(e),this._text!==e&&(this._text=e,this.dirty=!0)}get resolution(){return this._resolution}set resolution(e){this._autoResolution=!1,this._resolution!==e&&(this._resolution=e,this.dirty=!0)}sanitiseText(e){return e.replace(/

    /gi,"
    ").replace(/


    /gi,"
    ").replace(/ /gi," ")}};let ni=fs;ni.defaultDestroyOptions={texture:!0,children:!1,baseTexture:!0},ni.defaultMaxWidth=2024,ni.defaultMaxHeight=2024,ni.defaultAutoResolution=!0;const gl=new $;class ho{constructor(t){this.renderer=t}async image(t,s,i){const r=new Image;return r.src=await this.base64(t,s,i),r}async base64(t,s,i){const r=this.canvas(t);if(r.toBlob!==void 0)return new Promise((n,o)=>{r.toBlob(a=>{if(!a){o(new Error("ICanvas.toBlob failed!"));return}const h=new FileReader;h.onload=()=>n(h.result),h.onerror=o,h.readAsDataURL(a)},s,i)});if(r.toDataURL!==void 0)return r.toDataURL(s,i);if(r.convertToBlob!==void 0){const n=await r.convertToBlob({type:s,quality:i});return new Promise((o,a)=>{const h=new FileReader;h.onload=()=>o(h.result),h.onerror=a,h.readAsDataURL(n)})}throw new Error("CanvasExtract.base64() requires ICanvas.toDataURL, ICanvas.toBlob, or ICanvas.convertToBlob to be implemented")}canvas(t,s){const i=this.renderer;if(!i)throw new Error("The CanvasExtract has already been destroyed");let r,n,o;t&&(t instanceof ie?o=t:o=i.generateTexture(t,{resolution:i.resolution})),o?(r=o.baseTexture._canvasRenderTarget.context,n=o.baseTexture._canvasRenderTarget.resolution,s=s!=null?s:o.frame):(r=i.canvasContext.rootContext,n=i._view.resolution,s||(s=gl,s.width=i.width/n,s.height=i.height/n));const a=Math.round(s.x*n),h=Math.round(s.y*n),l=Math.round(s.width*n),c=Math.round(s.height*n),u=new bs(l,c,1),d=r.getImageData(a,h,l,c);return u.context.putImageData(d,0,0),u.canvas}pixels(t,s){const i=this.renderer;if(!i)throw new Error("The CanvasExtract has already been destroyed");let r,n,o;t&&(t instanceof ie?o=t:o=i.generateTexture(t,{resolution:i.resolution})),o?(r=o.baseTexture._canvasRenderTarget.context,n=o.baseTexture._canvasRenderTarget.resolution,s=s!=null?s:o.frame):(r=i.canvasContext.rootContext,n=i.resolution,s||(s=gl,s.width=i.width/n,s.height=i.height/n));const a=Math.round(s.x*n),h=Math.round(s.y*n),l=Math.round(s.width*n),c=Math.round(s.height*n);return r.getImageData(a,h,l,c).data}destroy(){this.renderer=null}}ho.extension={name:"extract",type:D.CanvasRendererSystem},U.add(ho);let lo;const oi=new Q;Me.prototype.generateCanvasTexture=function(t,s=1){const i=this.getLocalBounds(),r=ie.create({width:i.width,height:i.height,scaleMode:t,resolution:s});lo||(lo=new Ce),this.transform.updateLocalTransform(),this.transform.localTransform.copyTo(oi),oi.invert(),oi.tx-=i.x,oi.ty-=i.y,lo.render(this,{renderTexture:r,clear:!0,transform:oi});const n=O.from(r.baseTexture._canvasRenderTarget.canvas,{scaleMode:t});return n.baseTexture.setResolution(s),n},Me.prototype.cachedGraphicsData=[],Me.prototype._renderCanvas=function(t){this.isMask!==!0&&(this.finishPoly(),t.plugins.graphics.render(this))};class ai{static offsetPolygon(t,s){const i=[],r=t.length;s=ai.isPolygonClockwise(t)?s:-1*s;for(let n=0;n0}}class co{constructor(t){this._svgMatrix=null,this._tempMatrix=new Q,this.renderer=t}_calcCanvasStyle(t,s){let i;return t.texture&&t.texture.baseTexture!==O.WHITE.baseTexture?t.texture.valid?(i=gt.getTintedPattern(t.texture,s),this.setPatternTransform(i,t.matrix||Q.IDENTITY)):i="#808080":i=`#${`00000${(s|0).toString(16)}`.slice(-6)}`,i}render(t){const s=this.renderer,i=s.canvasContext.activeContext,r=t.worldAlpha,n=t.transform.worldTransform;s.canvasContext.setContextTransform(n),s.canvasContext.setBlendMode(t.blendMode);const o=t.geometry.graphicsData;let a,h;const l=j.shared.setValue(t.tint).toArray();for(let c=0;c0){E=[],T=0,A=y[0],b=y[1];for(let R=2;R+2=0;F-=2)i.lineTo(y[F],y[F+1])}v[R].shape.closeStroke&&i.closePath(),E[R]=w*T<0}}f.visible&&(i.globalAlpha=f.alpha*r,i.fillStyle=a,i.fill()),p.visible&&this.paintPolygonStroke(x,p,h,v,E,r,i)}else if(u.type===it.RECT){const x=d;if(f.visible&&(i.globalAlpha=f.alpha*r,i.fillStyle=a,i.fillRect(x.x,x.y,x.width,x.height)),p.visible){const y=p.width*(.5-(1-p.alignment)),v=x.width+2*y,T=x.height+2*y;i.globalAlpha=p.alpha*r,i.strokeStyle=h,i.strokeRect(x.x-y,x.y-y,v,T)}}else if(u.type===it.CIRC){const x=d;if(i.beginPath(),i.arc(x.x,x.y,x.radius,0,2*Math.PI),i.closePath(),f.visible&&(i.globalAlpha=f.alpha*r,i.fillStyle=a,i.fill()),p.visible){if(p.alignment!==.5){const y=p.width*(.5-(1-p.alignment));i.beginPath(),i.arc(x.x,x.y,x.radius+y,0,2*Math.PI),i.closePath()}i.globalAlpha=p.alpha*r,i.strokeStyle=h,i.stroke()}}else if(u.type===it.ELIP){const x=d,y=p.alignment===1;if(y||this.paintEllipse(x,f,p,a,r,i),p.visible){if(p.alignment!==.5){const v=.5522848,T=p.width*(.5-(1-p.alignment)),w=(x.width+T)*2,A=(x.height+T)*2,b=x.x-w/2,E=x.y-A/2,R=w/2*v,F=A/2*v,I=b+w,L=E+A,P=b+w/2,S=E+A/2;i.beginPath(),i.moveTo(b,S),i.bezierCurveTo(b,S-F,P-R,E,P,E),i.bezierCurveTo(P+R,E,I,S-F,I,S),i.bezierCurveTo(I,S+F,P+R,L,P,L),i.bezierCurveTo(P-R,L,b,S+F,b,S),i.closePath()}i.globalAlpha=p.alpha*r,i.strokeStyle=h,i.stroke()}y&&this.paintEllipse(x,f,p,a,r,i)}else if(u.type===it.RREC){const x=d,y=p.alignment===1;if(y||this.paintRoundedRectangle(x,f,p,a,r,i),p.visible){if(p.alignment!==.5){const v=x.width,T=x.height,w=p.width*(.5-(1-p.alignment)),A=x.x-w,b=x.y-w,E=x.width+2*w,R=x.height+2*w,F=w*(p.alignment>=1?Math.min(E/v,R/T):Math.min(v/E,T/R));let I=x.radius+F;const L=Math.min(E,R)/2;I=I>L?L:I,i.beginPath(),i.moveTo(A,b+I),i.lineTo(A,b+R-I),i.quadraticCurveTo(A,b+R,A+I,b+R),i.lineTo(A+E-I,b+R),i.quadraticCurveTo(A+E,b+R,A+E,b+R-I),i.lineTo(A+E,b+I),i.quadraticCurveTo(A+E,b,A+E-I,b),i.lineTo(A+I,b),i.quadraticCurveTo(A,b,A,b+I),i.closePath()}i.globalAlpha=p.alpha*r,i.strokeStyle=h,i.stroke()}y&&this.paintRoundedRectangle(x,f,p,a,r,i)}}}paintPolygonStroke(t,s,i,r,n,o,a){if(s.alignment!==.5){const h=s.width*(.5-(1-s.alignment));let l=ai.offsetPolygon(t.points,h),c;a.beginPath(),a.moveTo(l[0],l[1]);for(let u=2;u=0;d-=2)a.lineTo(l[d],l[d+1])}r[u].shape.closeStroke&&a.closePath()}}a.globalAlpha=s.alpha*o,a.strokeStyle=i,a.stroke()}paintEllipse(t,s,i,r,n,o){const a=t.width*2,h=t.height*2,l=t.x-a/2,c=t.y-h/2,u=.5522848,d=a/2*u,f=h/2*u,p=l+a,m=c+h,g=l+a/2,x=c+h/2;i.alignment===0&&o.save(),o.beginPath(),o.moveTo(l,x),o.bezierCurveTo(l,x-f,g-d,c,g,c),o.bezierCurveTo(g+d,c,p,x-f,p,x),o.bezierCurveTo(p,x+f,g+d,m,g,m),o.bezierCurveTo(g-d,m,l,x+f,l,x),o.closePath(),i.alignment===0&&o.clip(),s.visible&&(o.globalAlpha=s.alpha*n,o.fillStyle=r,o.fill()),i.alignment===0&&o.restore()}paintRoundedRectangle(t,s,i,r,n,o){const a=t.x,h=t.y,l=t.width,c=t.height;let u=t.radius;const d=Math.min(l,c)/2;u=u>d?d:u,i.alignment===0&&o.save(),o.beginPath(),o.moveTo(a,h+u),o.lineTo(a,h+c-u),o.quadraticCurveTo(a,h+c,a+u,h+c),o.lineTo(a+l-u,h+c),o.quadraticCurveTo(a+l,h+c,a+l,h+c-u),o.lineTo(a+l,h+u),o.quadraticCurveTo(a+l,h,a+l-u,h),o.lineTo(a+u,h),o.quadraticCurveTo(a,h,a,h+u),o.closePath(),i.alignment===0&&o.clip(),s.visible&&(o.globalAlpha=s.alpha*n,o.fillStyle=r,o.fill()),i.alignment===0&&o.restore()}setPatternTransform(t,s){if(this._svgMatrix!==!1){if(!this._svgMatrix){const i=document.createElementNS("http://www.w3.org/2000/svg","svg");if(i!=null&&i.createSVGMatrix&&(this._svgMatrix=i.createSVGMatrix()),!this._svgMatrix||!t.setTransform){this._svgMatrix=!1;return}}this._svgMatrix.a=s.a,this._svgMatrix.b=s.b,this._svgMatrix.c=s.c,this._svgMatrix.d=s.d,this._svgMatrix.e=s.tx,this._svgMatrix.f=s.ty,t.setTransform(this._svgMatrix.inverse())}}destroy(){this.renderer=null,this._svgMatrix=null,this._tempMatrix=null}}co.extension={name:"graphics",type:D.CanvasRendererPlugin},U.add(co),Object.defineProperties(N,{MESH_CANVAS_PADDING:{get(){return At.defaultCanvasPadding},set(e){z("7.1.0","settings.MESH_CANVAS_PADDING is deprecated, use Mesh.defaultCanvasPadding"),At.defaultCanvasPadding=e}}}),je.prototype._renderCanvas=function(t,s){t.plugins.mesh.render(s)},ei.prototype._cachedTint=16777215,ei.prototype._tintedCanvas=null,ei.prototype._canvasUvs=null,ei.prototype._renderCanvas=function(t){const s=t.canvasContext.activeContext,i=this.worldTransform,r=this.tintValue!==16777215,n=this.texture;if(!n.valid)return;r&&this._cachedTint!==this.tintValue&&(this._cachedTint=this.tintValue,this._tintedCanvas=gt.getTintedCanvas(this,this.tintValue));const o=r?this._tintedCanvas:n.baseTexture.getDrawableSource();this._canvasUvs||(this._canvasUvs=[0,0,0,0,0,0,0,0]);const a=this.vertices,h=this._canvasUvs,l=r?0:n.frame.x,c=r?0:n.frame.y,u=l+n.frame.width,d=c+n.frame.height;h[0]=l,h[1]=l+this._leftWidth,h[2]=u-this._rightWidth,h[3]=u,h[4]=c,h[5]=c+this._topHeight,h[6]=d-this._bottomHeight,h[7]=d;for(let f=0;f<8;f++)h[f]*=n.baseTexture.resolution;s.globalAlpha=this.worldAlpha,t.canvasContext.setBlendMode(this.blendMode),t.canvasContext.setContextTransform(i,this.roundPixels);for(let f=0;f<3;f++)for(let p=0;p<3;p++){const m=p*2+f*8,g=Math.max(1,h[p+1]-h[p]),x=Math.max(1,h[f+5]-h[f+4]),y=Math.max(1,a[m+10]-a[m]),v=Math.max(1,a[m+11]-a[m+1]);s.drawImage(o,h[p],h[f+4],g,x,a[m],a[m+1],y,v)}};let _l=!1;At.prototype._cachedTint=16777215,At.prototype._tintedCanvas=null,At.prototype._cachedTexture=null,At.prototype._renderCanvas=function(t){this.shader.uvMatrix&&(this.shader.uvMatrix.update(),this.calculateUvs()),this.material._renderCanvas?this.material._renderCanvas(t,this):_l||(_l=!0,globalThis.console.warn("Mesh with custom shaders are not supported in CanvasRenderer."))},At.prototype._canvasPadding=null,At.defaultCanvasPadding=0,Object.defineProperty(At.prototype,"canvasPadding",{get(){var e;return(e=this._canvasPadding)!=null?e:At.defaultCanvasPadding},set(e){this._canvasPadding=e}}),el.prototype._renderCanvas=function(t){this.autoUpdate&&this.geometry.getBuffer("aVertexPosition").update(),this.shader.update&&this.shader.update(),this.calculateUvs(),this.material._renderCanvas(t,this)},sl.prototype._renderCanvas=function(t){(this.autoUpdate||this.geometry._width!==this.shader.texture.height)&&(this.geometry._width=this.shader.texture.height,this.geometry.update()),this.shader.update&&this.shader.update(),this.calculateUvs(),this.material._renderCanvas(t,this)};class uo{constructor(t){this.renderer=t}render(t){const s=this.renderer,i=t.worldTransform;s.canvasContext.activeContext.globalAlpha=t.worldAlpha,s.canvasContext.setBlendMode(t.blendMode),s.canvasContext.setContextTransform(i,t.roundPixels),t.drawMode!==Ut.TRIANGLES?this._renderTriangleMesh(t):this._renderTriangles(t)}_renderTriangleMesh(t){const s=t.geometry.buffers[0].data.length;for(let i=0;i0){const{a:nt,b:M,c:X,d:q}=t.worldTransform,Z=(T+w+A)/3,J=(b+E+R)/3;let st=T-Z,tt=b-J,rt=nt*st+X*tt,lt=M*st+q*tt,yt=Math.sqrt(rt*rt+lt*lt),ot=1+F/yt;T=Z+st*ot,b=J+tt*ot,st=w-Z,tt=E-J,rt=nt*st+X*tt,lt=M*st+q*tt,yt=Math.sqrt(rt*rt+lt*lt),ot=1+F/yt,w=Z+st*ot,E=J+tt*ot,st=A-Z,tt=R-J,rt=nt*st+X*tt,lt=M*st+q*tt,yt=Math.sqrt(rt*rt+lt*lt),ot=1+F/yt,A=Z+st*ot,R=J+tt*ot}n.save(),n.beginPath(),n.moveTo(T,b),n.lineTo(w,E),n.lineTo(A,R),n.closePath(),n.clip();const I=p*y+x*g+m*v-y*g-x*m-p*v,L=T*y+x*A+w*v-y*A-x*w-T*v,P=p*w+T*g+m*A-w*g-T*m-p*A,S=p*y*A+x*w*g+T*m*v-T*y*g-x*m*A-p*w*v,W=b*y+x*R+E*v-y*R-x*E-b*v,K=p*E+b*g+m*R-E*g-b*m-p*R,k=p*y*R+x*E*g+b*m*v-b*y*g-x*m*R-p*E*v;n.transform(L/I,W/I,P/I,K/I,S/I,k/I),n.drawImage(f,0,0,u*c.resolution,d*c.resolution,0,0,u,d),n.restore(),this.renderer.canvasContext.invalidateBlendMode()}renderMeshFlat(t){const s=this.renderer.canvasContext.activeContext,i=t.geometry.getBuffer("aVertexPosition").data,r=i.length/2;s.beginPath();for(let n=1;n=g.reach);A+=w.value.length,w=w.next){var P=w.value;if(n.length>e.length)return;if(!(P instanceof i)){var E,S=1;if(y){if(!(E=l(b,A,e,m))||E.index>=e.length)break;var L=E.index,O=E.index+E[0].length,C=A;for(C+=w.value.length;L>=C;)C+=(w=w.next).value.length;if(A=C-=w.value.length,w.value instanceof i)continue;for(var j=w;j!==n.tail&&(Cg.reach&&(g.reach=W);var I=w.prev;if(_&&(I=u(n,I,_),A+=_.length),c(n,I,S),w=u(n,I,new i(f,p?a.tokenize(N,p):N,k,N)),M&&u(n,w,M),S>1){var T={cause:f+","+d,reach:W};o(e,n,t,w.prev,A,T),g&&T.reach>g.reach&&(g.reach=T.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function u(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function c(e,n,t){for(var r=n.next,a=0;a"+i.content+""},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(n){var t=JSON.parse(n.data),r=t.language,i=t.code,l=t.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),l&&e.close()}),!1),a):a;var g=a.util.currentScript();function f(){a.manual||a.highlightAll()}if(g&&(a.filename=g.src,g.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var h=document.readyState;"loading"===h||"interactive"===h&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return a}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); Prism.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var t={"included-cdata":{pattern://i,inside:s}};t["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var n={};n[a]={pattern:RegExp("(<__[^>]*>)(?:))*\\]\\]>|(?!)".replace(/__/g,(function(){return a})),"i"),lookbehind:!0,greedy:!0,inside:t},Prism.languages.insertBefore("markup","cdata",n)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(a,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp("(^|[\"'\\s])(?:"+a+")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))","i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml; !function(s){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:[^;{\\s\"']|\\s+(?!\\s)|"+e.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(Prism); Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp("(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])"),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp("((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/(?:(?:\\[(?:[^\\]\\\\\r\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|/\\*(?:[^*]|\\*(?!/))*\\*/)*(?:$|[\r\n,.;:})\\]]|//))"),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute("on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)","javascript")),Prism.languages.js=Prism.languages.javascript; Prism.languages.abap={comment:/^\*.*/m,string:/(`|')(?:\\.|(?!\1)[^\\\r\n])*\1/,"string-template":{pattern:/([|}])(?:\\.|[^\\|{\r\n])*(?=[|{])/,lookbehind:!0,alias:"string"},"eol-comment":{pattern:/(^|\s)".*/m,lookbehind:!0,alias:"comment"},keyword:{pattern:/(\s|\.|^)(?:\*-INPUT|\?TO|ABAP-SOURCE|ABBREVIATED|ABS|ABSTRACT|ACCEPT|ACCEPTING|ACCESSPOLICY|ACCORDING|ACOS|ACTIVATION|ACTUAL|ADD|ADD-CORRESPONDING|ADJACENT|AFTER|ALIAS|ALIASES|ALIGN|ALL|ALLOCATE|ALPHA|ANALYSIS|ANALYZER|AND|ANY|APPEND|APPENDAGE|APPENDING|APPLICATION|ARCHIVE|AREA|ARITHMETIC|AS|ASCENDING|ASIN|ASPECT|ASSERT|ASSIGN|ASSIGNED|ASSIGNING|ASSOCIATION|ASYNCHRONOUS|AT|ATAN|ATTRIBUTES|AUTHORITY|AUTHORITY-CHECK|AVG|BACK|BACKGROUND|BACKUP|BACKWARD|BADI|BASE|BEFORE|BEGIN|BETWEEN|BIG|BINARY|BINDING|BIT|BIT-AND|BIT-NOT|BIT-OR|BIT-XOR|BLACK|BLANK|BLANKS|BLOB|BLOCK|BLOCKS|BLUE|BOUND|BOUNDARIES|BOUNDS|BOXED|BREAK-POINT|BT|BUFFER|BY|BYPASSING|BYTE|BYTE-CA|BYTE-CN|BYTE-CO|BYTE-CS|BYTE-NA|BYTE-NS|BYTE-ORDER|C|CA|CALL|CALLING|CASE|CAST|CASTING|CATCH|CEIL|CENTER|CENTERED|CHAIN|CHAIN-INPUT|CHAIN-REQUEST|CHANGE|CHANGING|CHANNELS|CHAR-TO-HEX|CHARACTER|CHARLEN|CHECK|CHECKBOX|CIRCULAR|CI_|CLASS|CLASS-CODING|CLASS-DATA|CLASS-EVENTS|CLASS-METHODS|CLASS-POOL|CLEANUP|CLEAR|CLIENT|CLOB|CLOCK|CLOSE|CN|CNT|CO|COALESCE|CODE|CODING|COLLECT|COLOR|COLUMN|COLUMNS|COL_BACKGROUND|COL_GROUP|COL_HEADING|COL_KEY|COL_NEGATIVE|COL_NORMAL|COL_POSITIVE|COL_TOTAL|COMMENT|COMMENTS|COMMIT|COMMON|COMMUNICATION|COMPARING|COMPONENT|COMPONENTS|COMPRESSION|COMPUTE|CONCAT|CONCATENATE|COND|CONDENSE|CONDITION|CONNECT|CONNECTION|CONSTANTS|CONTEXT|CONTEXTS|CONTINUE|CONTROL|CONTROLS|CONV|CONVERSION|CONVERT|COPIES|COPY|CORRESPONDING|COS|COSH|COUNT|COUNTRY|COVER|CP|CPI|CREATE|CREATING|CRITICAL|CS|CURRENCY|CURRENCY_CONVERSION|CURRENT|CURSOR|CURSOR-SELECTION|CUSTOMER|CUSTOMER-FUNCTION|DANGEROUS|DATA|DATABASE|DATAINFO|DATASET|DATE|DAYLIGHT|DBMAXLEN|DD\/MM\/YY|DD\/MM\/YYYY|DDMMYY|DEALLOCATE|DECIMALS|DECIMAL_SHIFT|DECLARATIONS|DEEP|DEFAULT|DEFERRED|DEFINE|DEFINING|DEFINITION|DELETE|DELETING|DEMAND|DEPARTMENT|DESCENDING|DESCRIBE|DESTINATION|DETAIL|DIALOG|DIRECTORY|DISCONNECT|DISPLAY|DISPLAY-MODE|DISTANCE|DISTINCT|DIV|DIVIDE|DIVIDE-CORRESPONDING|DIVISION|DO|DUMMY|DUPLICATE|DUPLICATES|DURATION|DURING|DYNAMIC|DYNPRO|E|EACH|EDIT|EDITOR-CALL|ELSE|ELSEIF|EMPTY|ENABLED|ENABLING|ENCODING|END|END-ENHANCEMENT-SECTION|END-LINES|END-OF-DEFINITION|END-OF-FILE|END-OF-PAGE|END-OF-SELECTION|ENDAT|ENDCASE|ENDCATCH|ENDCHAIN|ENDCLASS|ENDDO|ENDENHANCEMENT|ENDEXEC|ENDFOR|ENDFORM|ENDFUNCTION|ENDIAN|ENDIF|ENDING|ENDINTERFACE|ENDLOOP|ENDMETHOD|ENDMODULE|ENDON|ENDPROVIDE|ENDSELECT|ENDTRY|ENDWHILE|ENGINEERING|ENHANCEMENT|ENHANCEMENT-POINT|ENHANCEMENT-SECTION|ENHANCEMENTS|ENTRIES|ENTRY|ENVIRONMENT|EQ|EQUAL|EQUIV|ERRORMESSAGE|ERRORS|ESCAPE|ESCAPING|EVENT|EVENTS|EXACT|EXCEPT|EXCEPTION|EXCEPTION-TABLE|EXCEPTIONS|EXCLUDE|EXCLUDING|EXEC|EXECUTE|EXISTS|EXIT|EXIT-COMMAND|EXP|EXPAND|EXPANDING|EXPIRATION|EXPLICIT|EXPONENT|EXPORT|EXPORTING|EXTEND|EXTENDED|EXTENSION|EXTRACT|FAIL|FETCH|FIELD|FIELD-GROUPS|FIELD-SYMBOL|FIELD-SYMBOLS|FIELDS|FILE|FILTER|FILTER-TABLE|FILTERS|FINAL|FIND|FIRST|FIRST-LINE|FIXED-POINT|FKEQ|FKGE|FLOOR|FLUSH|FONT|FOR|FORM|FORMAT|FORWARD|FOUND|FRAC|FRAME|FRAMES|FREE|FRIENDS|FROM|FUNCTION|FUNCTION-POOL|FUNCTIONALITY|FURTHER|GAPS|GE|GENERATE|GET|GIVING|GKEQ|GKGE|GLOBAL|GRANT|GREATER|GREEN|GROUP|GROUPS|GT|HANDLE|HANDLER|HARMLESS|HASHED|HAVING|HDB|HEAD-LINES|HEADER|HEADERS|HEADING|HELP-ID|HELP-REQUEST|HIDE|HIGH|HINT|HOLD|HOTSPOT|I|ICON|ID|IDENTIFICATION|IDENTIFIER|IDS|IF|IGNORE|IGNORING|IMMEDIATELY|IMPLEMENTATION|IMPLEMENTATIONS|IMPLEMENTED|IMPLICIT|IMPORT|IMPORTING|IN|INACTIVE|INCL|INCLUDE|INCLUDES|INCLUDING|INCREMENT|INDEX|INDEX-LINE|INFOTYPES|INHERITING|INIT|INITIAL|INITIALIZATION|INNER|INOUT|INPUT|INSERT|INSTANCES|INTENSIFIED|INTERFACE|INTERFACE-POOL|INTERFACES|INTERNAL|INTERVALS|INTO|INVERSE|INVERTED-DATE|IS|ISO|ITERATOR|ITNO|JOB|JOIN|KEEP|KEEPING|KERNEL|KEY|KEYS|KEYWORDS|KIND|LANGUAGE|LAST|LATE|LAYOUT|LE|LEADING|LEAVE|LEFT|LEFT-JUSTIFIED|LEFTPLUS|LEFTSPACE|LEGACY|LENGTH|LESS|LET|LEVEL|LEVELS|LIKE|LINE|LINE-COUNT|LINE-SELECTION|LINE-SIZE|LINEFEED|LINES|LIST|LIST-PROCESSING|LISTBOX|LITTLE|LLANG|LOAD|LOAD-OF-PROGRAM|LOB|LOCAL|LOCALE|LOCATOR|LOG|LOG-POINT|LOG10|LOGFILE|LOGICAL|LONG|LOOP|LOW|LOWER|LPAD|LPI|LT|M|MAIL|MAIN|MAJOR-ID|MAPPING|MARGIN|MARK|MASK|MATCH|MATCHCODE|MAX|MAXIMUM|MEDIUM|MEMBERS|MEMORY|MESH|MESSAGE|MESSAGE-ID|MESSAGES|MESSAGING|METHOD|METHODS|MIN|MINIMUM|MINOR-ID|MM\/DD\/YY|MM\/DD\/YYYY|MMDDYY|MOD|MODE|MODIF|MODIFIER|MODIFY|MODULE|MOVE|MOVE-CORRESPONDING|MULTIPLY|MULTIPLY-CORRESPONDING|NA|NAME|NAMETAB|NATIVE|NB|NE|NESTED|NESTING|NEW|NEW-LINE|NEW-PAGE|NEW-SECTION|NEXT|NO|NO-DISPLAY|NO-EXTENSION|NO-GAP|NO-GAPS|NO-GROUPING|NO-HEADING|NO-SCROLLING|NO-SIGN|NO-TITLE|NO-TOPOFPAGE|NO-ZERO|NODE|NODES|NON-UNICODE|NON-UNIQUE|NOT|NP|NS|NULL|NUMBER|NUMOFCHAR|O|OBJECT|OBJECTS|OBLIGATORY|OCCURRENCE|OCCURRENCES|OCCURS|OF|OFF|OFFSET|OLE|ON|ONLY|OPEN|OPTION|OPTIONAL|OPTIONS|OR|ORDER|OTHER|OTHERS|OUT|OUTER|OUTPUT|OUTPUT-LENGTH|OVERFLOW|OVERLAY|PACK|PACKAGE|PAD|PADDING|PAGE|PAGES|PARAMETER|PARAMETER-TABLE|PARAMETERS|PART|PARTIALLY|PATTERN|PERCENTAGE|PERFORM|PERFORMING|PERSON|PF|PF-STATUS|PINK|PLACES|POOL|POSITION|POS_HIGH|POS_LOW|PRAGMAS|PRECOMPILED|PREFERRED|PRESERVING|PRIMARY|PRINT|PRINT-CONTROL|PRIORITY|PRIVATE|PROCEDURE|PROCESS|PROGRAM|PROPERTY|PROTECTED|PROVIDE|PUBLIC|PUSHBUTTON|PUT|QUEUE-ONLY|QUICKINFO|RADIOBUTTON|RAISE|RAISING|RANGE|RANGES|RAW|READ|READ-ONLY|READER|RECEIVE|RECEIVED|RECEIVER|RECEIVING|RED|REDEFINITION|REDUCE|REDUCED|REF|REFERENCE|REFRESH|REGEX|REJECT|REMOTE|RENAMING|REPLACE|REPLACEMENT|REPLACING|REPORT|REQUEST|REQUESTED|RESERVE|RESET|RESOLUTION|RESPECTING|RESPONSIBLE|RESULT|RESULTS|RESUMABLE|RESUME|RETRY|RETURN|RETURNCODE|RETURNING|RIGHT|RIGHT-JUSTIFIED|RIGHTPLUS|RIGHTSPACE|RISK|RMC_COMMUNICATION_FAILURE|RMC_INVALID_STATUS|RMC_SYSTEM_FAILURE|ROLE|ROLLBACK|ROUND|ROWS|RTTI|RUN|SAP|SAP-SPOOL|SAVING|SCALE_PRESERVING|SCALE_PRESERVING_SCIENTIFIC|SCAN|SCIENTIFIC|SCIENTIFIC_WITH_LEADING_ZERO|SCREEN|SCROLL|SCROLL-BOUNDARY|SCROLLING|SEARCH|SECONDARY|SECONDS|SECTION|SELECT|SELECT-OPTIONS|SELECTION|SELECTION-SCREEN|SELECTION-SET|SELECTION-SETS|SELECTION-TABLE|SELECTIONS|SELECTOR|SEND|SEPARATE|SEPARATED|SET|SHARED|SHIFT|SHORT|SHORTDUMP-ID|SIGN|SIGN_AS_POSTFIX|SIMPLE|SIN|SINGLE|SINH|SIZE|SKIP|SKIPPING|SMART|SOME|SORT|SORTABLE|SORTED|SOURCE|SPACE|SPECIFIED|SPLIT|SPOOL|SPOTS|SQL|SQLSCRIPT|SQRT|STABLE|STAMP|STANDARD|START-OF-SELECTION|STARTING|STATE|STATEMENT|STATEMENTS|STATIC|STATICS|STATUSINFO|STEP-LOOP|STOP|STRLEN|STRUCTURE|STRUCTURES|STYLE|SUBKEY|SUBMATCHES|SUBMIT|SUBROUTINE|SUBSCREEN|SUBSTRING|SUBTRACT|SUBTRACT-CORRESPONDING|SUFFIX|SUM|SUMMARY|SUMMING|SUPPLIED|SUPPLY|SUPPRESS|SWITCH|SWITCHSTATES|SYMBOL|SYNCPOINTS|SYNTAX|SYNTAX-CHECK|SYNTAX-TRACE|SYSTEM-CALL|SYSTEM-EXCEPTIONS|SYSTEM-EXIT|TAB|TABBED|TABLE|TABLES|TABLEVIEW|TABSTRIP|TAN|TANH|TARGET|TASK|TASKS|TEST|TESTING|TEXT|TEXTPOOL|THEN|THROW|TIME|TIMES|TIMESTAMP|TIMEZONE|TITLE|TITLE-LINES|TITLEBAR|TO|TOKENIZATION|TOKENS|TOP-LINES|TOP-OF-PAGE|TRACE-FILE|TRACE-TABLE|TRAILING|TRANSACTION|TRANSFER|TRANSFORMATION|TRANSLATE|TRANSPORTING|TRMAC|TRUNC|TRUNCATE|TRUNCATION|TRY|TYPE|TYPE-POOL|TYPE-POOLS|TYPES|ULINE|UNASSIGN|UNDER|UNICODE|UNION|UNIQUE|UNIT|UNIT_CONVERSION|UNIX|UNPACK|UNTIL|UNWIND|UP|UPDATE|UPPER|USER|USER-COMMAND|USING|UTF-8|VALID|VALUE|VALUE-REQUEST|VALUES|VARY|VARYING|VERIFICATION-MESSAGE|VERSION|VIA|VIEW|VISIBLE|WAIT|WARNING|WHEN|WHENEVER|WHERE|WHILE|WIDTH|WINDOW|WINDOWS|WITH|WITH-HEADING|WITH-TITLE|WITHOUT|WORD|WORK|WRITE|WRITER|X|XML|XOR|XSD|XSTRLEN|YELLOW|YES|YYMMDD|Z|ZERO|ZONE)(?![\w-])/i,lookbehind:!0},number:/\b\d+\b/,operator:{pattern:/(\s)(?:\*\*?|<[=>]?|>=?|\?=|[-+\/=])(?=\s)/,lookbehind:!0},"string-operator":{pattern:/(\s)&&?(?=\s)/,lookbehind:!0,alias:"keyword"},"token-operator":[{pattern:/(\w)(?:->?|=>|[~|{}])(?=\w)/,lookbehind:!0,alias:"punctuation"},{pattern:/[|{}]/,alias:"punctuation"}],punctuation:/[,.:()]/}; !function(n){var i="(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)";n.languages.abnf={comment:/;.*/,string:{pattern:/(?:%[is])?"[^"\n\r]*"/,greedy:!0,inside:{punctuation:/^%[is]/}},range:{pattern:/%(?:b[01]+-[01]+|d\d+-\d+|x[A-F\d]+-[A-F\d]+)/i,alias:"number"},terminal:{pattern:/%(?:b[01]+(?:\.[01]+)*|d\d+(?:\.\d+)*|x[A-F\d]+(?:\.[A-F\d]+)*)/i,alias:"number"},repetition:{pattern:/(^|[^\w-])(?:\d*\*\d*|\d+)/,lookbehind:!0,alias:"operator"},definition:{pattern:/(^[ \t]*)(?:[a-z][\w-]*|<[^<>\r\n]*>)(?=\s*=)/m,lookbehind:!0,alias:"keyword",inside:{punctuation:/<|>/}},"core-rule":{pattern:RegExp("(?:(^|[^<\\w-])"+i+"|<"+i+">)(?![\\w-])","i"),lookbehind:!0,alias:["rule","constant"],inside:{punctuation:/<|>/}},rule:{pattern:/(^|[^<\w-])[a-z][\w-]*|<[^<>\r\n]*>/i,lookbehind:!0,inside:{punctuation:/<|>/}},operator:/=\/?|\//,punctuation:/[()\[\]]/}}(Prism); Prism.languages.actionscript=Prism.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<>?>?|[!=]=?)=?|[~?@]/}),Prism.languages.actionscript["class-name"].alias="function",delete Prism.languages.actionscript.parameter,delete Prism.languages.actionscript["literal-property"],Prism.languages.markup&&Prism.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:Prism.languages.markup}}); Prism.languages.ada={comment:/--.*/,string:/"(?:""|[^"\r\f\n])*"/,number:[{pattern:/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[+-]?\d(?:_?\d)*)?/i},{pattern:/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[+-]?\d(?:_?\d)*)?\b/i}],attribute:{pattern:/\b'\w+/,alias:"attr-name"},keyword:/\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|new|not|null|of|or|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|return|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\b/i,boolean:/\b(?:false|true)\b/i,operator:/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[&+-]/,punctuation:/\.\.?|[,;():]/,char:/'.'/,variable:/\b[a-z](?:\w)*\b/i}; !function(t){t.languages.agda={comment:/\{-[\s\S]*?(?:-\}|$)|--.*/,string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},punctuation:/[(){}⦃⦄.;@]/,"class-name":{pattern:/((?:data|record) +)\S+/,lookbehind:!0},function:{pattern:/(^[ \t]*)(?!\s)[^:\r\n]+(?=:)/m,lookbehind:!0},operator:{pattern:/(^\s*|\s)(?:[=|:∀→λ\\?_]|->)(?=\s)/,lookbehind:!0},keyword:/\b(?:Set|abstract|constructor|data|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/}}(Prism); Prism.languages.al={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/,greedy:!0},function:{pattern:/(\b(?:event|procedure|trigger)\s+|(?:^|[^.])\.\s*)[a-z_]\w*(?=\s*\()/i,lookbehind:!0},keyword:[/\b(?:array|asserterror|begin|break|case|do|downto|else|end|event|exit|for|foreach|function|if|implements|in|indataset|interface|internal|local|of|procedure|program|protected|repeat|runonclient|securityfiltering|suppressdispose|temporary|then|to|trigger|until|var|while|with|withevents)\b/i,/\b(?:action|actions|addafter|addbefore|addfirst|addlast|area|assembly|chartpart|codeunit|column|controladdin|cuegroup|customizes|dataitem|dataset|dotnet|elements|enum|enumextension|extends|field|fieldattribute|fieldelement|fieldgroup|fieldgroups|fields|filter|fixed|grid|group|key|keys|label|labels|layout|modify|moveafter|movebefore|movefirst|movelast|page|pagecustomization|pageextension|part|profile|query|repeater|report|requestpage|schema|separator|systempart|table|tableelement|tableextension|textattribute|textelement|type|usercontrol|value|xmlport)\b/i],number:/\b(?:0x[\da-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)(?:F|LL?|U(?:LL?)?)?\b/i,boolean:/\b(?:false|true)\b/i,variable:/\b(?:Curr(?:FieldNo|Page|Report)|x?Rec|RequestOptionsPage)\b/,"class-name":/\b(?:automation|biginteger|bigtext|blob|boolean|byte|char|clienttype|code|completiontriggererrorlevel|connectiontype|database|dataclassification|datascope|date|dateformula|datetime|decimal|defaultlayout|dialog|dictionary|dotnetassembly|dotnettypedeclaration|duration|errorinfo|errortype|executioncontext|executionmode|fieldclass|fieldref|fieldtype|file|filterpagebuilder|guid|httpclient|httpcontent|httpheaders|httprequestmessage|httpresponsemessage|instream|integer|joker|jsonarray|jsonobject|jsontoken|jsonvalue|keyref|list|moduledependencyinfo|moduleinfo|none|notification|notificationscope|objecttype|option|outstream|pageresult|record|recordid|recordref|reportformat|securityfilter|sessionsettings|tableconnectiontype|tablefilter|testaction|testfield|testfilterfield|testpage|testpermissions|testrequestpage|text|textbuilder|textconst|textencoding|time|transactionmodel|transactiontype|variant|verbosity|version|view|views|webserviceactioncontext|webserviceactionresultcode|xmlattribute|xmlattributecollection|xmlcdata|xmlcomment|xmldeclaration|xmldocument|xmldocumenttype|xmlelement|xmlnamespacemanager|xmlnametable|xmlnode|xmlnodelist|xmlprocessinginstruction|xmlreadoptions|xmltext|xmlwriteoptions)\b/i,operator:/\.\.|:[=:]|[-+*/]=?|<>|[<>]=?|=|\b(?:and|div|mod|not|or|xor)\b/i,punctuation:/[()\[\]{}:.;,]/}; Prism.languages.antlr4={comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,string:{pattern:/'(?:\\.|[^\\'\r\n])*'/,greedy:!0},"character-class":{pattern:/\[(?:\\.|[^\\\]\r\n])*\]/,greedy:!0,alias:"regex",inside:{range:{pattern:/([^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/,lookbehind:!0,alias:"punctuation"},escape:/\\(?:u(?:[a-fA-F\d]{4}|\{[a-fA-F\d]+\})|[pP]\{[=\w-]+\}|[^\r\nupP])/,punctuation:/[\[\]]/}},action:{pattern:/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/,greedy:!0,inside:{content:{pattern:/(\{)[\s\S]+(?=\})/,lookbehind:!0},punctuation:/[{}]/}},command:{pattern:/(->\s*(?!\s))(?:\s*(?:,\s*)?\b[a-z]\w*(?:\s*\([^()\r\n]*\))?)+(?=\s*;)/i,lookbehind:!0,inside:{function:/\b\w+(?=\s*(?:[,(]|$))/,punctuation:/[,()]/}},annotation:{pattern:/@\w+(?:::\w+)*/,alias:"keyword"},label:{pattern:/#[ \t]*\w+/,alias:"punctuation"},keyword:/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/,definition:[{pattern:/\b[a-z]\w*(?=\s*:)/,alias:["rule","class-name"]},{pattern:/\b[A-Z]\w*(?=\s*:)/,alias:["token","constant"]}],constant:/\b[A-Z][A-Z_]*\b/,operator:/\.\.|->|[|~]|[*+?]\??/,punctuation:/[;:()=]/},Prism.languages.g4=Prism.languages.antlr4; Prism.languages.apacheconf={comment:/#.*/,"directive-inline":{pattern:/(^[\t ]*)\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|Type|UserFile|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|Limit(?:InternalRecursion|Request(?:Body|Fields|FieldSize|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|SRPUnknownUserSeed|SRPVerifierFile|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UserName|UseStapling|VerifyClient|VerifyDepth)|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im,lookbehind:!0,alias:"property"},"directive-block":{pattern:/<\/?\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\b.*>/i,inside:{"directive-block":{pattern:/^<\/?\w+/,inside:{punctuation:/^<\/?/},alias:"tag"},"directive-block-parameter":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}}},alias:"attr-value"},punctuation:/>/},alias:"tag"},"directive-flags":{pattern:/\[(?:[\w=],?)+\]/,alias:"keyword"},string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}},variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/,regex:/\^?.*\$|\^.*\$?/}; Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}; !function(e){var t=/\b(?:(?:after|before)(?=\s+[a-z])|abstract|activate|and|any|array|as|asc|autonomous|begin|bigdecimal|blob|boolean|break|bulk|by|byte|case|cast|catch|char|class|collect|commit|const|continue|currency|date|datetime|decimal|default|delete|desc|do|double|else|end|enum|exception|exit|export|extends|final|finally|float|for|from|get(?=\s*[{};])|global|goto|group|having|hint|if|implements|import|in|inner|insert|instanceof|int|integer|interface|into|join|like|limit|list|long|loop|map|merge|new|not|null|nulls|number|object|of|on|or|outer|override|package|parallel|pragma|private|protected|public|retrieve|return|rollback|select|set|short|sObject|sort|static|string|super|switch|synchronized|system|testmethod|then|this|throw|time|transaction|transient|trigger|try|undelete|update|upsert|using|virtual|void|webservice|when|where|while|(?:inherited|with|without)\s+sharing)\b/i,n="\\b(?:(?=[a-z_]\\w*\\s*[<\\[])|(?!))[A-Z_]\\w*(?:\\s*\\.\\s*[A-Z_]\\w*)*\\b(?:\\s*(?:\\[\\s*\\]|<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>))*".replace(//g,(function(){return t.source}));function i(e){return RegExp(e.replace(//g,(function(){return n})),"i")}var a={keyword:t,punctuation:/[()\[\]{};,:.<>]/};e.languages.apex={comment:e.languages.clike.comment,string:e.languages.clike.string,sql:{pattern:/((?:[=,({:]|\breturn)\s*)\[[^\[\]]*\]/i,lookbehind:!0,greedy:!0,alias:"language-sql",inside:e.languages.sql},annotation:{pattern:/@\w+\b/,alias:"punctuation"},"class-name":[{pattern:i("(\\b(?:class|enum|extends|implements|instanceof|interface|new|trigger\\s+\\w+\\s+on)\\s+)"),lookbehind:!0,inside:a},{pattern:i("(\\(\\s*)(?=\\s*\\)\\s*[\\w(])"),lookbehind:!0,inside:a},{pattern:i("(?=\\s*\\w+\\s*[;=,(){:])"),inside:a}],trigger:{pattern:/(\btrigger\s+)\w+\b/i,lookbehind:!0,alias:"class-name"},keyword:t,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/i,number:/(?:\B\.\d+|\b\d+(?:\.\d+|L)?)\b/i,operator:/[!=](?:==?)?|\?\.?|&&|\|\||--|\+\+|[-+*/^&|]=?|:|<{1,3}=?/,punctuation:/[()\[\]{};,.]/}}(Prism); Prism.languages.apl={comment:/(?:⍝|#[! ]).*$/m,string:{pattern:/'(?:[^'\r\n]|'')*'/,greedy:!0},number:/¯?(?:\d*\.?\b\d+(?:e[+¯]?\d+)?|¯|∞)(?:j¯?(?:(?:\d+(?:\.\d+)?|\.\d+)(?:e[+¯]?\d+)?|¯|∞))?/i,statement:/:[A-Z][a-z][A-Za-z]*\b/,"system-function":{pattern:/⎕[A-Z]+/i,alias:"function"},constant:/[⍬⌾#⎕⍞]/,function:/[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/,"monadic-operator":{pattern:/[\\\/⌿⍀¨⍨⌶&∥]/,alias:"operator"},"dyadic-operator":{pattern:/[.⍣⍠⍤∘⌸@⌺⍥]/,alias:"operator"},assignment:{pattern:/←/,alias:"keyword"},punctuation:/[\[;\]()◇⋄]/,dfn:{pattern:/[{}⍺⍵⍶⍹∇⍫:]/,alias:"builtin"}}; Prism.languages.applescript={comment:[/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,/--.+/,/#.+/],string:/"(?:\\.|[^"\\\r\n])*"/,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?\b/i,operator:[/[&=≠≤≥*+\-\/÷^]|[<>]=?/,/\b(?:(?:begin|end|start)s? with|(?:contains?|(?:does not|doesn't) contain)|(?:is|isn't|is not) (?:contained by|in)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:comes|(?:does not|doesn't) come) (?:after|before)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equal to|equals|is not|isn't)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|as|div|mod|not|or))\b/],keyword:/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/,"class-name":/\b(?:POSIX file|RGB color|alias|application|boolean|centimeters|centimetres|class|constant|cubic centimeters|cubic centimetres|cubic feet|cubic inches|cubic meters|cubic metres|cubic yards|date|degrees Celsius|degrees Fahrenheit|degrees Kelvin|feet|file|gallons|grams|inches|integer|kilograms|kilometers|kilometres|list|liters|litres|meters|metres|miles|number|ounces|pounds|quarts|real|record|reference|script|square feet|square kilometers|square kilometres|square meters|square metres|square miles|square yards|text|yards)\b/,punctuation:/[{}():,¬«»《》]/}; Prism.languages.aql={comment:/\/\/.*|\/\*[\s\S]*?\*\//,property:{pattern:/([{,]\s*)(?:(?!\d)\w+|(["'´`])(?:(?!\2)[^\\\r\n]|\\.)*\2)(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\.)*\1/,greedy:!0},identifier:{pattern:/([´`])(?:(?!\1)[^\\\r\n]|\\.)*\1/,greedy:!0},variable:/@@?\w+/,keyword:[{pattern:/(\bWITH\s+)COUNT(?=\s+INTO\b)/i,lookbehind:!0},/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_PATHS|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WINDOW|WITH)\b/i,{pattern:/(^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i,lookbehind:!0},{pattern:/(^|[^\w.[])(?:CURRENT|NEW|OLD)\b/,lookbehind:!0},{pattern:/\bOPTIONS(?=\s*\{)/i}],function:/\b(?!\d)\w+(?=\s*\()/,boolean:/\b(?:false|true)\b/i,range:{pattern:/\.\./,alias:"operator"},number:[/\b0b[01]+/i,/\b0x[0-9a-f]+/i,/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:e[+-]?\d+)?/i],operator:/\*{2,}|[=!]~|[!=<>]=?|&&|\|\||[-+*/%]/,punctuation:/::|[?.:,;()[\]{}]/}; Prism.languages.c=Prism.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),Prism.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],char:Prism.languages.c.char,comment:Prism.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}}}),Prism.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete Prism.languages.c.boolean; !function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n="\\b(?!)\\w+(?:\\s*\\.\\s*\\w+)*\\b".replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp("(\\b(?:class|concept|enum|struct|typename)\\s+)(?!)\\w+".replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp('(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\r\n|[^])|[^"\\\\\r\n])*"|<[^<>\r\n]*>|'+"(?:\\s*:\\s*)?|:\\s*".replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(Prism); Prism.languages.arduino=Prism.languages.extend("cpp",{keyword:/\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\b/,constant:/\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\b/,builtin:/\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\b/}),Prism.languages.ino=Prism.languages.arduino; Prism.languages.arff={comment:/%.*/,string:{pattern:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/@(?:attribute|data|end|relation)\b/i,number:/\b\d+(?:\.\d+)?\b/,punctuation:/[{},]/}; Prism.languages.armasm={comment:{pattern:/;.*/,greedy:!0},string:{pattern:/"(?:[^"\r\n]|"")*"/,greedy:!0,inside:{variable:{pattern:/((?:^|[^$])(?:\${2})*)\$\w+/,lookbehind:!0}}},char:{pattern:/'(?:[^'\r\n]{0,4}|'')'/,greedy:!0},"version-symbol":{pattern:/\|[\w@]+\|/,greedy:!0,alias:"property"},boolean:/\b(?:FALSE|TRUE)\b/,directive:{pattern:/\b(?:ALIAS|ALIGN|AREA|ARM|ASSERT|ATTR|CN|CODE|CODE16|CODE32|COMMON|CP|DATA|DCB|DCD|DCDO|DCDU|DCFD|DCFDU|DCI|DCQ|DCQU|DCW|DCWU|DN|ELIF|ELSE|END|ENDFUNC|ENDIF|ENDP|ENTRY|EQU|EXPORT|EXPORTAS|EXTERN|FIELD|FILL|FN|FUNCTION|GBLA|GBLL|GBLS|GET|GLOBAL|IF|IMPORT|INCBIN|INCLUDE|INFO|KEEP|LCLA|LCLL|LCLS|LTORG|MACRO|MAP|MEND|MEXIT|NOFP|OPT|PRESERVE8|PROC|QN|READONLY|RELOC|REQUIRE|REQUIRE8|RLIST|ROUT|SETA|SETL|SETS|SN|SPACE|SUBT|THUMB|THUMBX|TTL|WEND|WHILE)\b/,alias:"property"},instruction:{pattern:/((?:^|(?:^|[^\\])(?:\r\n?|\n))[ \t]*(?:(?:[A-Z][A-Z0-9_]*[a-z]\w*|[a-z]\w*|\d+)[ \t]+)?)\b[A-Z.]+\b/,lookbehind:!0,alias:"keyword"},variable:/\$\w+/,number:/(?:\b[2-9]_\d+|(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e-?\d+)?|\b0(?:[fd]_|x)[0-9a-f]+|&[0-9a-f]+)\b/i,register:{pattern:/\b(?:r\d|lr)\b/,alias:"symbol"},operator:/<>|<<|>>|&&|\|\||[=!<>/]=?|[+\-*%#?&|^]|:[A-Z]+:/,punctuation:/[()[\],]/},Prism.languages["arm-asm"]=Prism.languages.armasm; !function(e){var a=function(a,t){return{pattern:RegExp("\\{!(?:"+(t||a)+")$[^]*\\}","m"),greedy:!0,inside:{embedded:{pattern:/(^\{!\w+\b)[\s\S]+(?=\}$)/,lookbehind:!0,alias:"language-"+a,inside:e.languages[a]},string:/[\s\S]+/}}};e.languages.arturo={comment:{pattern:/;.*/,greedy:!0},character:{pattern:/`.`/,alias:"char",greedy:!0},number:{pattern:/\b\d+(?:\.\d+(?:\.\d+(?:-[\w+-]+)?)?)?\b/},string:{pattern:/"(?:[^"\\\r\n]|\\.)*"/,greedy:!0},regex:{pattern:/\{\/.*?\/\}/,greedy:!0},"html-string":a("html"),"css-string":a("css"),"js-string":a("js"),"md-string":a("md"),"sql-string":a("sql"),"sh-string":a("shell","sh"),multistring:{pattern:/».*|\{:[\s\S]*?:\}|\{[\s\S]*?\}|^-{6}$[\s\S]*/m,alias:"string",greedy:!0},label:{pattern:/\w+\b\??:/,alias:"property"},literal:{pattern:/'(?:\w+\b\??:?)/,alias:"constant"},type:{pattern:/:(?:\w+\b\??:?)/,alias:"class-name"},color:/#\w+/,predicate:{pattern:/\b(?:all|and|any|ascii|attr|attribute|attributeLabel|binary|block|char|contains|database|date|dictionary|empty|equal|even|every|exists|false|floating|function|greater|greaterOrEqual|if|in|inline|integer|is|key|label|leap|less|lessOrEqual|literal|logical|lower|nand|negative|nor|not|notEqual|null|numeric|odd|or|path|pathLabel|positive|prefix|prime|regex|same|set|some|sorted|standalone|string|subset|suffix|superset|symbol|symbolLiteral|true|try|type|unless|upper|when|whitespace|word|xnor|xor|zero)\?/,alias:"keyword"},"builtin-function":{pattern:/\b(?:abs|acos|acosh|acsec|acsech|actan|actanh|add|after|alert|alias|and|angle|append|arg|args|arity|array|as|asec|asech|asin|asinh|atan|atan2|atanh|attr|attrs|average|before|benchmark|blend|break|call|capitalize|case|ceil|chop|clear|clip|close|color|combine|conj|continue|copy|cos|cosh|crc|csec|csech|ctan|ctanh|cursor|darken|dec|decode|define|delete|desaturate|deviation|dialog|dictionary|difference|digest|digits|div|do|download|drop|dup|e|else|empty|encode|ensure|env|escape|execute|exit|exp|extend|extract|factors|fdiv|filter|first|flatten|floor|fold|from|function|gamma|gcd|get|goto|hash|hypot|if|inc|indent|index|infinity|info|input|insert|inspect|intersection|invert|jaro|join|keys|kurtosis|last|let|levenshtein|lighten|list|ln|log|loop|lower|mail|map|match|max|median|min|mod|module|mul|nand|neg|new|nor|normalize|not|now|null|open|or|outdent|pad|palette|panic|path|pause|permissions|permutate|pi|pop|popup|pow|powerset|powmod|prefix|print|prints|process|product|query|random|range|read|relative|remove|rename|render|repeat|replace|request|return|reverse|round|sample|saturate|script|sec|sech|select|serve|set|shl|shr|shuffle|sin|sinh|size|skewness|slice|sort|spin|split|sqrt|squeeze|stack|strip|sub|suffix|sum|switch|symbols|symlink|sys|take|tan|tanh|terminal|terminate|to|truncate|try|type|unclip|union|unique|unless|until|unzip|upper|values|var|variance|volume|webview|while|with|wordwrap|write|xnor|xor|zip)\b/,alias:"keyword"},sugar:{pattern:/->|=>|\||::/,alias:"operator"},punctuation:/[()[\],]/,symbol:{pattern:/<:|-:|ø|@|#|\+|\||\*|\$|---|-|%|\/|\.\.|\^|~|=|<|>|\\/},boolean:{pattern:/\b(?:false|maybe|true)\b/}},e.languages.art=e.languages.arturo}(Prism); !function(t){var n={pattern:/(^[ \t]*)\[(?!\[)(?:(["'$`])(?:(?!\2)[^\\]|\\.)*\2|\[(?:[^\[\]\\]|\\.)*\]|[^\[\]\\"'$`]|\\.)*\]/m,lookbehind:!0,inside:{quoted:{pattern:/([$`])(?:(?!\1)[^\\]|\\.)*\1/,inside:{punctuation:/^[$`]|[$`]$/}},interpreted:{pattern:/'(?:[^'\\]|\\.)*'/,inside:{punctuation:/^'|'$/}},string:/"(?:[^"\\]|\\.)*"/,variable:/\w+(?==)/,punctuation:/^\[|\]$|,/,operator:/=/,"attr-value":/(?!^\s+$).+/}},i=t.languages.asciidoc={"comment-block":{pattern:/^(\/{4,})$[\s\S]*?^\1/m,alias:"comment"},table:{pattern:/^\|={3,}(?:(?:\r?\n|\r(?!\n)).*)*?(?:\r?\n|\r)\|={3,}$/m,inside:{specifiers:{pattern:/(?:(?:(?:\d+(?:\.\d+)?|\.\d+)[+*](?:[<^>](?:\.[<^>])?|\.[<^>])?|[<^>](?:\.[<^>])?|\.[<^>])[a-z]*|[a-z]+)(?=\|)/,alias:"attr-value"},punctuation:{pattern:/(^|[^\\])[|!]=*/,lookbehind:!0}}},"passthrough-block":{pattern:/^(\+{4,})$[\s\S]*?^\1$/m,inside:{punctuation:/^\++|\++$/}},"literal-block":{pattern:/^(-{4,}|\.{4,})$[\s\S]*?^\1$/m,inside:{punctuation:/^(?:-+|\.+)|(?:-+|\.+)$/}},"other-block":{pattern:/^(--|\*{4,}|_{4,}|={4,})$[\s\S]*?^\1$/m,inside:{punctuation:/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/}},"list-punctuation":{pattern:/(^[ \t]*)(?:-|\*{1,5}|\.{1,5}|(?:[a-z]|\d+)\.|[xvi]+\))(?= )/im,lookbehind:!0,alias:"punctuation"},"list-label":{pattern:/(^[ \t]*)[a-z\d].+(?::{2,4}|;;)(?=\s)/im,lookbehind:!0,alias:"symbol"},"indented-block":{pattern:/((\r?\n|\r)\2)([ \t]+)\S.*(?:(?:\r?\n|\r)\3.+)*(?=\2{2}|$)/,lookbehind:!0},comment:/^\/\/.*/m,title:{pattern:/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} .+|^\.(?![\s.]).*/m,alias:"important",inside:{punctuation:/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/}},"attribute-entry":{pattern:/^:[^:\r\n]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m,alias:"tag"},attributes:n,hr:{pattern:/^'{3,}$/m,alias:"punctuation"},"page-break":{pattern:/^<{3,}$/m,alias:"punctuation"},admonition:{pattern:/^(?:CAUTION|IMPORTANT|NOTE|TIP|WARNING):/m,alias:"keyword"},callout:[{pattern:/(^[ \t]*)/m,lookbehind:!0,alias:"symbol"},{pattern:/<\d+>/,alias:"symbol"}],macro:{pattern:/\b[a-z\d][a-z\d-]*::?(?:[^\s\[\]]*\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/,inside:{function:/^[a-z\d-]+(?=:)/,punctuation:/^::?/,attributes:{pattern:/(?:\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/,inside:n.inside}}},inline:{pattern:/(^|[^\\])(?:(?:\B\[(?:[^\]\\"']|(["'])(?:(?!\2)[^\\]|\\.)*\2|\\.)*\])?(?:\b_(?!\s)(?: _|[^_\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: _|[^_\\\r\n]|\\.)+)*_\b|\B``(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B`(?!\s)(?:[^`'\s]|\s+\S)+['`]\B|\B(['*+#])(?!\s)(?: \3|(?!\3)[^\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: \3|(?!\3)[^\\\r\n]|\\.)+)*\3\B)|(?:\[(?:[^\]\\"']|(["'])(?:(?!\4)[^\\]|\\.)*\4|\\.)*\])?(?:(__|\*\*|\+\+\+?|##|\$\$|[~^]).+?(?:(?:\r?\n|\r).+?)*\5|\{[^}\r\n]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m,lookbehind:!0,inside:{attributes:n,url:{pattern:/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/,inside:{punctuation:/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/}},"attribute-ref":{pattern:/^\{.+\}$/,inside:{variable:{pattern:/(^\{)[a-z\d,+_-]+/,lookbehind:!0},operator:/^[=?!#%@$]|!(?=[:}])/,punctuation:/^\{|\}$|::?/}},italic:{pattern:/^(['_])[\s\S]+\1$/,inside:{punctuation:/^(?:''?|__?)|(?:''?|__?)$/}},bold:{pattern:/^\*[\s\S]+\*$/,inside:{punctuation:/^\*\*?|\*\*?$/}},punctuation:/^(?:``?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[~^`]|\)?\)\))$/}},replacement:{pattern:/\((?:C|R|TM)\)/,alias:"builtin"},entity:/&#?[\da-z]{1,8};/i,"line-continuation":{pattern:/(^| )\+$/m,lookbehind:!0,alias:"punctuation"}};function e(t){for(var n={},e=0,a=(t=t.split(" ")).length;e>/g,(function(e,s){return"(?:"+n[+s]+")"}))}function s(e,s,a){return RegExp(n(e,s),a||"")}function a(e,n){for(var s=0;s>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}var t="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",r="class enum interface record struct",i="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",o="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var d=l(r),p=RegExp(l(t+" "+r+" "+i+" "+o)),c=l(r+" "+i+" "+o),u=l(t+" "+r+" "+o),g=a("<(?:[^<>;=+\\-*/%&|^]|<>)*>",2),b=a("\\((?:[^()]|<>)*\\)",2),h="@?\\b[A-Za-z_]\\w*\\b",f=n("<<0>>(?:\\s*<<1>>)?",[h,g]),m=n("(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*",[c,f]),k="\\[\\s*(?:,\\s*)*\\]",y=n("<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?",[m,k]),w=n("[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>",[g,b,k]),v=n("\\(<<0>>+(?:,<<0>>+)+\\)",[w]),x=n("(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?",[v,m,k]),$={keyword:p,punctuation:/[<>()?,.:[\]]/},_="'(?:[^\r\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'",B='"(?:\\\\.|[^\\\\"\r\n])*"';e.languages.csharp=e.languages.extend("clike",{string:[{pattern:s("(^|[^$\\\\])<<0>>",['@"(?:""|\\\\[^]|[^\\\\"])*"(?!")']),lookbehind:!0,greedy:!0},{pattern:s("(^|[^@$\\\\])<<0>>",[B]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:s("(\\busing\\s+static\\s+)<<0>>(?=\\s*;)",[m]),lookbehind:!0,inside:$},{pattern:s("(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)",[h,x]),lookbehind:!0,inside:$},{pattern:s("(\\busing\\s+)<<0>>(?=\\s*=)",[h]),lookbehind:!0},{pattern:s("(\\b<<0>>\\s+)<<1>>",[d,f]),lookbehind:!0,inside:$},{pattern:s("(\\bcatch\\s*\\(\\s*)<<0>>",[m]),lookbehind:!0,inside:$},{pattern:s("(\\bwhere\\s+)<<0>>",[h]),lookbehind:!0},{pattern:s("(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>",[y]),lookbehind:!0,inside:$},{pattern:s("\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))",[x,u,h]),inside:$}],keyword:p,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:s("([(,]\\s*)<<0>>(?=\\s*:)",[h]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:s("(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])",[h]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:s("(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))",[b]),lookbehind:!0,alias:"class-name",inside:$},"return-type":{pattern:s("<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))",[x,m]),inside:$,alias:"class-name"},"constructor-invocation":{pattern:s("(\\bnew\\s+)<<0>>(?=\\s*[[({])",[x]),lookbehind:!0,inside:$,alias:"class-name"},"generic-method":{pattern:s("<<0>>\\s*<<1>>(?=\\s*\\()",[h,g]),inside:{function:s("^<<0>>",[h]),generic:{pattern:RegExp(g),alias:"class-name",inside:$}}},"type-list":{pattern:s("\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))",[d,f,h,x,p.source,b,"\\bnew\\s*\\(\\s*\\)"]),lookbehind:!0,inside:{"record-arguments":{pattern:s("(^(?!new\\s*\\()<<0>>\\s*)<<1>>",[f,b]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:p,"class-name":{pattern:RegExp(x),greedy:!0,inside:$},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var E=B+"|"+_,R=n("/(?![*/])|//[^\r\n]*[\r\n]|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>",[E]),z=a(n("[^\"'/()]|<<0>>|\\(<>*\\)",[R]),2),S="\\b(?:assembly|event|field|method|module|param|property|return|type)\\b",j=n("<<0>>(?:\\s*\\(<<1>>*\\))?",[m,z]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:s("((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])",[S,j]),lookbehind:!0,greedy:!0,inside:{target:{pattern:s("^<<0>>(?=\\s*:)",[S]),alias:"keyword"},"attribute-arguments":{pattern:s("\\(<<0>>*\\)",[z]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var A=":[^}\r\n]+",F=a(n("[^\"'/()]|<<0>>|\\(<>*\\)",[R]),2),P=n("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[F,A]),U=a(n("[^\"'/()]|/(?!\\*)|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>|\\(<>*\\)",[E]),2),Z=n("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[U,A]);function q(n,a){return{interpolation:{pattern:s("((?:^|[^{])(?:\\{\\{)*)<<0>>",[n]),lookbehind:!0,inside:{"format-string":{pattern:s("(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)",[a,A]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:s('(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[^]|\\{\\{|<<0>>|[^\\\\{"])*"',[P]),lookbehind:!0,greedy:!0,inside:q(P,F)},{pattern:s('(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"',[Z]),lookbehind:!0,greedy:!0,inside:q(Z,U)}],char:{pattern:RegExp(_),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(Prism); Prism.languages.aspnet=Prism.languages.extend("markup",{"page-directive":{pattern:/<%\s*@.*%>/,alias:"tag",inside:{"page-directive":{pattern:/<%\s*@\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,alias:"tag"},rest:Prism.languages.markup.tag.inside}},directive:{pattern:/<%.*%>/,alias:"tag",inside:{directive:{pattern:/<%\s*?[$=%#:]{0,2}|%>/,alias:"tag"},rest:Prism.languages.csharp}}}),Prism.languages.aspnet.tag.pattern=/<(?!%)\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,Prism.languages.insertBefore("inside","punctuation",{directive:Prism.languages.aspnet.directive},Prism.languages.aspnet.tag.inside["attr-value"]),Prism.languages.insertBefore("aspnet","comment",{"asp-comment":{pattern:/<%--[\s\S]*?--%>/,alias:["asp","comment"]}}),Prism.languages.insertBefore("aspnet",Prism.languages.javascript?"script":"tag",{"asp-script":{pattern:/(]*>)[\s\S]*?(?=<\/script>)/i,lookbehind:!0,alias:["asp","script"],inside:Prism.languages.csharp||{}}}); Prism.languages.asm6502={comment:/;.*/,directive:{pattern:/\.\w+(?= )/,alias:"property"},string:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,"op-code":{pattern:/\b(?:ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA|adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya)\b/,alias:"keyword"},"hex-number":{pattern:/#?\$[\da-f]{1,4}\b/i,alias:"number"},"binary-number":{pattern:/#?%[01]+\b/,alias:"number"},"decimal-number":{pattern:/#?\b\d+\b/,alias:"number"},register:{pattern:/\b[xya]\b/i,alias:"variable"},punctuation:/[(),:]/}; Prism.languages.asmatmel={comment:{pattern:/;.*/,greedy:!0},string:{pattern:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},constant:/\b(?:PORT[A-Z]|DDR[A-Z]|(?:DD|P)[A-Z](?:\d|[0-2]\d|3[01]))\b/,directive:{pattern:/\.\w+(?= )/,alias:"property"},"r-register":{pattern:/\br(?:\d|[12]\d|3[01])\b/,alias:"variable"},"op-code":{pattern:/\b(?:ADC|ADD|ADIW|AND|ANDI|ASR|BCLR|BLD|BRBC|BRBS|BRCC|BRCS|BREAK|BREQ|BRGE|BRHC|BRHS|BRID|BRIE|BRLO|BRLT|BRMI|BRNE|BRPL|BRSH|BRTC|BRTS|BRVC|BRVS|BSET|BST|CALL|CBI|CBR|CLC|CLH|CLI|CLN|CLR|CLS|CLT|CLV|CLZ|COM|CP|CPC|CPI|CPSE|DEC|DES|EICALL|EIJMP|ELPM|EOR|FMUL|FMULS|FMULSU|ICALL|IJMP|IN|INC|JMP|LAC|LAS|LAT|LD|LD[A-Za-z0-9]|LPM|LSL|LSR|MOV|MOVW|MUL|MULS|MULSU|NEG|NOP|OR|ORI|OUT|POP|PUSH|RCALL|RET|RETI|RJMP|ROL|ROR|SBC|SBCI|SBI|SBIC|SBIS|SBIW|SBR|SBRC|SBRS|SEC|SEH|SEI|SEN|SER|SES|SET|SEV|SEZ|SLEEP|SPM|ST|ST[A-Z0-9]|SUB|SUBI|SWAP|TST|WDR|XCH|adc|add|adiw|and|andi|asr|bclr|bld|brbc|brbs|brcc|brcs|break|breq|brge|brhc|brhs|brid|brie|brlo|brlt|brmi|brne|brpl|brsh|brtc|brts|brvc|brvs|bset|bst|call|cbi|cbr|clc|clh|cli|cln|clr|cls|clt|clv|clz|com|cp|cpc|cpi|cpse|dec|des|eicall|eijmp|elpm|eor|fmul|fmuls|fmulsu|icall|ijmp|in|inc|jmp|lac|las|lat|ld|ld[a-z0-9]|lpm|lsl|lsr|mov|movw|mul|muls|mulsu|neg|nop|or|ori|out|pop|push|rcall|ret|reti|rjmp|rol|ror|sbc|sbci|sbi|sbic|sbis|sbiw|sbr|sbrc|sbrs|sec|seh|sei|sen|ser|ses|set|sev|sez|sleep|spm|st|st[a-zA-Z0-9]|sub|subi|swap|tst|wdr|xch)\b/,alias:"keyword"},"hex-number":{pattern:/#?\$[\da-f]{2,4}\b/i,alias:"number"},"binary-number":{pattern:/#?%[01]+\b/,alias:"number"},"decimal-number":{pattern:/#?\b\d+\b/,alias:"number"},register:{pattern:/\b[acznvshtixy]\b/i,alias:"variable"},operator:/>>=?|<<=?|&[&=]?|\|[\|=]?|[-+*/%^!=<>?]=?/,punctuation:/[(),:]/}; Prism.languages.autohotkey={comment:[{pattern:/(^|\s);.*/,lookbehind:!0},{pattern:/(^[\t ]*)\/\*(?:[\r\n](?![ \t]*\*\/)|[^\r\n])*(?:[\r\n][ \t]*\*\/)?/m,lookbehind:!0,greedy:!0}],tag:{pattern:/^([ \t]*)[^\s,`":]+(?=:[ \t]*$)/m,lookbehind:!0},string:/"(?:[^"\n\r]|"")*"/,variable:/%\w+%/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/\?|\/\/?=?|:=|\|[=|]?|&[=&]?|\+[=+]?|-[=-]?|\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\b(?:AND|NOT|OR)\b/,boolean:/\b(?:false|true)\b/,command:{pattern:/\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\b/i,alias:"selector"},constant:/\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guicontrol|a_guicontrolevent|a_guievent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel|programfiles)\b/i,builtin:/\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconnect|comobjcreate|comobjerror|comobjflags|comobjget|comobjquery|comobjtype|comobjvalue|cos|dllcall|exp|fileexist|Fileopen|floor|format|il_add|il_create|il_destroy|instr|isfunc|islabel|IsObject|ln|log|ltrim|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|mod|numget|numput|onmessage|regexmatch|regexreplace|registercallback|round|rtrim|sb_seticon|sb_setparts|sb_settext|sin|sqrt|strlen|strreplace|strsplit|substr|tan|tv_add|tv_delete|tv_get|tv_getchild|tv_getcount|tv_getnext|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__Call|__Get|__New|__Set)\b/i,symbol:/\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\b/i,directive:{pattern:/#[a-z]+\b/i,alias:"important"},keyword:/\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Catch|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|Finally|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|Region|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Throw|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|Try|TryAgain|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\b/i,function:/[^(); \t,\n+*\-=?>:\\\/<&%\[\]]+(?=\()/,punctuation:/[{}[\]():,]/}; Prism.languages.autoit={comment:[/;.*/,{pattern:/(^[\t ]*)#(?:comments-start|cs)[\s\S]*?^[ \t]*#(?:ce|comments-end)/m,lookbehind:!0}],url:{pattern:/(^[\t ]*#include\s+)(?:<[^\r\n>]+>|"[^\r\n"]+")/m,lookbehind:!0},string:{pattern:/(["'])(?:\1\1|(?!\1)[^\r\n])*\1/,greedy:!0,inside:{variable:/([%$@])\w+\1/}},directive:{pattern:/(^[\t ]*)#[\w-]+/m,lookbehind:!0,alias:"keyword"},function:/\b\w+(?=\()/,variable:/[$@]\w+/,keyword:/\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\b/i,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,boolean:/\b(?:False|True)\b/i,operator:/<[=>]?|[-+*\/=&>]=?|[?^]|\b(?:And|Not|Or)\b/i,punctuation:/[\[\]().,:]/}; !function(e){function a(e,a,r){return RegExp(function(e,a){return e.replace(/<<(\d+)>>/g,(function(e,r){return a[+r]}))}(e,a),r||"")}var r="bool|clip|float|int|string|val",t=[["is(?:bool|clip|float|int|string)|defined|(?:(?:internal)?function|var)?exists?","apply|assert|default|eval|import|nop|select|undefined","opt_(?:allowfloataudio|avipadscanlines|dwchannelmask|enable_(?:b64a|planartopackedrgb|v210|y3_10_10|y3_10_16)|usewaveextensible|vdubplanarhack)|set(?:cachemode|maxcpu|memorymax|planarlegacyalignment|workingdir)","hex(?:value)?|value","abs|ceil|continued(?:denominator|numerator)?|exp|floor|fmod|frac|log(?:10)?|max|min|muldiv|pi|pow|rand|round|sign|spline|sqrt","a?sinh?|a?cosh?|a?tan[2h]?","(?:bit(?:and|not|x?or|[lr]?shift[aslu]?|sh[lr]|sa[lr]|[lr]rotatel?|ro[rl]|te?st|set(?:count)?|cl(?:ea)?r|ch(?:an)?ge?))","average(?:[bgr]|chroma[uv]|luma)|(?:[rgb]|chroma[uv]|luma|rgb|[yuv](?=difference(?:fromprevious|tonext)))difference(?:fromprevious|tonext)?|[yuvrgb]plane(?:median|min|max|minmaxdifference)","getprocessinfo|logmsg|script(?:dir(?:utf8)?|file(?:utf8)?|name(?:utf8)?)|setlogparams","chr|(?:fill|find|left|mid|replace|rev|right)str|format|[lu]case|ord|str(?:cmpi?|fromutf8|len|toutf8)|time|trim(?:all|left|right)","isversionorgreater|version(?:number|string)","buildpixeltype|colorspacenametopixeltype","addautoloaddir|on(?:cpu|cuda)|prefetch|setfiltermtmode"].join("|"),["has(?:audio|video)","height|width","frame(?:count|rate)|framerate(?:denominator|numerator)","getparity|is(?:field|frame)based","bitspercomponent|componentsize|hasalpha|is(?:planar(?:rgba?)?|interleaved|rgb(?:24|32|48|64)?|y(?:8|u(?:va?|y2))?|yv(?:12|16|24|411)|420|422|444|packedrgb)|numcomponents|pixeltype","audio(?:bits|channels|duration|length(?:[fs]|hi|lo)?|rate)|isaudio(?:float|int)"].join("|"),["avi(?:file)?source|directshowsource|image(?:reader|source|sourceanim)|opendmlsource|segmented(?:avisource|directshowsource)|wavsource","coloryuv|convertbacktoyuy2|convertto(?:RGB(?:24|32|48|64)|(?:planar)?RGBA?|Y8?|YV(?:12|16|24|411)|YUVA?(?:411|420|422|444)|YUY2)|fixluminance|gr[ae]yscale|invert|levels|limiter|mergea?rgb|merge(?:chroma|luma)|rgbadjust|show(?:alpha|blue|green|red)|swapuv|tweak|[uv]toy8?|ytouv","(?:colorkey|reset)mask|layer|mask(?:hs)?|merge|overlay|subtract","addborders|(?:bicubic|bilinear|blackman|gauss|lanczos4|lanczos|point|sinc|spline(?:16|36|64))resize|crop(?:bottom)?|flip(?:horizontal|vertical)|(?:horizontal|vertical)?reduceby2|letterbox|skewrows|turn(?:180|left|right)","blur|fixbrokenchromaupsampling|generalconvolution|(?:spatial|temporal)soften|sharpen","trim|(?:un)?alignedsplice|(?:assume|assumescaled|change|convert)FPS|(?:delete|duplicate)frame|dissolve|fade(?:in|io|out)[02]?|freezeframe|interleave|loop|reverse|select(?:even|odd|(?:range)?every)","assume[bt]ff|assume(?:field|frame)based|bob|complementparity|doubleweave|peculiarblend|pulldown|separate(?:columns|fields|rows)|swapfields|weave(?:columns|rows)?","amplify(?:db)?|assumesamplerate|audiodub(?:ex)?|audiotrim|convertaudioto(?:(?:8|16|24|32)bit|float)|converttomono|delayaudio|ensurevbrmp3sync|get(?:left|right)?channel|kill(?:audio|video)|mergechannels|mixaudio|monotostereo|normalize|resampleaudio|ssrc|supereq|timestretch","animate|applyrange|conditional(?:filter|reader|select)|frameevaluate|scriptclip|tcp(?:server|source)|writefile(?:end|if|start)?","imagewriter","blackness|blankclip|colorbars(?:hd)?|compare|dumpfiltergraph|echo|histogram|info|messageclip|preroll|setgraphanalysis|show(?:framenumber|smpte|time)|showfiveversions|stack(?:horizontal|vertical)|subtitle|tone|version"].join("|")].join("|");e.languages.avisynth={comment:[{pattern:/(^|[^\\])\[\*(?:[^\[*]|\[(?!\*)|\*(?!\])|\[\*(?:[^\[*]|\[(?!\*)|\*(?!\]))*\*\])*\*\]/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],argument:{pattern:a('\\b(?:<<0>>)\\s+("?)\\w+\\1',[r],"i"),inside:{keyword:/^\w+/}},"argument-label":{pattern:/([,(][\s\\]*)\w+\s*=(?!=)/,lookbehind:!0,inside:{"argument-name":{pattern:/^\w+/,alias:"punctuation"},punctuation:/=$/}},string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0,inside:{constant:{pattern:/\b(?:DEFAULT_MT_MODE|(?:MAINSCRIPT|PROGRAM|SCRIPT)DIR|(?:MACHINE|USER)_(?:CLASSIC|PLUS)_PLUGINS)\b/}}}],variable:/\b(?:last)\b/i,boolean:/\b(?:false|no|true|yes)\b/i,keyword:/\b(?:catch|else|for|function|global|if|return|try|while|__END__)\b/i,constant:/\bMT_(?:MULTI_INSTANCE|NICE_FILTER|SERIALIZED|SPECIAL_MT)\b/,"builtin-function":{pattern:a("\\b(?:<<0>>)\\b",[t],"i"),alias:"function"},"type-cast":{pattern:a("\\b(?:<<0>>)(?=\\s*\\()",[r],"i"),alias:"keyword"},function:{pattern:/\b[a-z_]\w*(?=\s*\()|(\.)[a-z_]\w*\b/i,lookbehind:!0},"line-continuation":{pattern:/(^[ \t]*)\\|\\(?=[ \t]*$)/m,lookbehind:!0,alias:"punctuation"},number:/\B\$(?:[\da-f]{6}|[\da-f]{8})\b|(?:(?:\b|\B-)\d+(?:\.\d*)?\b|\B\.\d+\b)/i,operator:/\+\+?|[!=<>]=?|&&|\|\||[?:*/%-]/,punctuation:/[{}\[\]();,.]/},e.languages.avs=e.languages.avisynth}(Prism); Prism.languages["avro-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/(^|[^\\])"(?:[^\r\n"\\]|\\.)*"/,lookbehind:!0,greedy:!0},annotation:{pattern:/@(?:[$\w.-]|`[^\r\n`]+`)+/,greedy:!0,alias:"function"},"function-identifier":{pattern:/`[^\r\n`]+`(?=\s*\()/,greedy:!0,alias:"function"},identifier:{pattern:/`[^\r\n`]+`/,greedy:!0},"class-name":{pattern:/(\b(?:enum|error|protocol|record|throws)\b\s+)[$\w]+/,lookbehind:!0,greedy:!0},keyword:/\b(?:array|boolean|bytes|date|decimal|double|enum|error|false|fixed|float|idl|import|int|local_timestamp_ms|long|map|null|oneway|protocol|record|schema|string|throws|time_ms|timestamp_ms|true|union|uuid|void)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:[{pattern:/(^|[^\w.])-?(?:(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|0x(?:[a-f0-9]+(?:\.[a-f0-9]*)?|\.[a-f0-9]+)(?:p[+-]?\d+)?)[dfl]?(?![\w.])/i,lookbehind:!0},/-?\b(?:Infinity|NaN)\b/],operator:/=/,punctuation:/[()\[\]{}<>.:,;-]/},Prism.languages.avdl=Prism.languages["avro-idl"]; Prism.languages.awk={hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},comment:{pattern:/#.*/,greedy:!0},string:{pattern:/(^|[^\\])"(?:[^\\"\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},regex:{pattern:/((?:^|[^\w\s)])\s*)\/(?:[^\/\\\r\n]|\\.)*\//,lookbehind:!0,greedy:!0},variable:/\$\w+/,keyword:/\b(?:BEGIN|BEGINFILE|END|ENDFILE|break|case|continue|default|delete|do|else|exit|for|function|getline|if|in|next|nextfile|printf?|return|switch|while)\b|@(?:include|load)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[a-fA-F0-9]+)\b/,operator:/--|\+\+|!?~|>&|>>|<<|(?:\*\*|[<>!=+\-*/%^])=?|&&|\|[|&]|[?:]/,punctuation:/[()[\]{},;]/},Prism.languages.gawk=Prism.languages.awk; !function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",a={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},n={bash:a,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:a}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:n},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:n.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},a.inside=e.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=n.variable[1].inside,i=0;i?^\w +\-.])*"/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,function:/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,punctuation:/[,;:()]/}; !function(e){var r=/%%?[~:\w]+%?|!\S+!/,t={pattern:/\/[a-z?]+(?=[ :]|$):?|-[a-z]\b|--[a-z-]+\b/im,alias:"attr-name",inside:{punctuation:/:/}},n=/"(?:[\\"]"|[^"])*"(?!")/,i=/(?:\b|-)\d+\b/;e.languages.batch={comment:[/^::.*/m,{pattern:/((?:^|[&(])[ \t]*)rem\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:!0}],label:{pattern:/^:.*/m,alias:"property"},command:[{pattern:/((?:^|[&(])[ \t]*)for(?: \/[a-z?](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* \S+ in \([^)]+\) do/im,lookbehind:!0,inside:{keyword:/\b(?:do|in)\b|^for\b/i,string:n,parameter:t,variable:r,number:i,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \t]*)if(?: \/[a-z?](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* (?:not )?(?:cmdextversion \d+|defined \w+|errorlevel \d+|exist \S+|(?:"[^"]*"|(?!")(?:(?!==)\S)+)?(?:==| (?:equ|geq|gtr|leq|lss|neq) )(?:"[^"]*"|[^\s"]\S*))/im,lookbehind:!0,inside:{keyword:/\b(?:cmdextversion|defined|errorlevel|exist|not)\b|^if\b/i,string:n,parameter:t,variable:r,number:i,operator:/\^|==|\b(?:equ|geq|gtr|leq|lss|neq)\b/i}},{pattern:/((?:^|[&()])[ \t]*)else\b/im,lookbehind:!0,inside:{keyword:/^else\b/i}},{pattern:/((?:^|[&(])[ \t]*)set(?: \/[a-z](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* (?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:!0,inside:{keyword:/^set\b/i,string:n,parameter:t,variable:[r,/\w+(?=(?:[*\/%+\-&^|]|<<|>>)?=)/],number:i,operator:/[*\/%+\-&^|]=?|<<=?|>>=?|[!~_=]/,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \t]*@?)\w+\b(?:"(?:[\\"]"|[^"])*"(?!")|[^"^&)\r\n]|\^(?:\r\n|[\s\S]))*/m,lookbehind:!0,inside:{keyword:/^\w+\b/,string:n,parameter:t,label:{pattern:/(^\s*):\S+/m,lookbehind:!0,alias:"property"},variable:r,number:i,operator:/\^/}}],operator:/[&@]/,punctuation:/[()']/}}(Prism); Prism.languages.bbcode={tag:{pattern:/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))*\s*\]/,inside:{tag:{pattern:/^\[\/?[^\s=\]]+/,inside:{punctuation:/^\[\/?/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+)/,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\]/,"attr-name":/[^\s=\]]+/}}},Prism.languages.shortcode=Prism.languages.bbcode; !function(e){e.languages.bbj={comment:{pattern:/(^|[^\\:])rem\s+.*/i,lookbehind:!0,greedy:!0},string:{pattern:/(['"])(?:(?!\1|\\).|\\.)*\1/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:abstract|all|argc|begin|bye|callback|case|chn|class|classend|ctl|day|declare|delete|dim|dom|dread|dsz|else|end|endif|err|exitto|extends|fi|field|for|from|gosub|goto|if|implements|interface|interfaceend|iol|iolist|let|list|load|method|methodend|methodret|on|opts|pfx|print|private|process_events|protected|psz|public|read|read_resource|release|remove_callback|repeat|restore|return|rev|seterr|setesc|sqlchn|sqlunt|ssn|start|static|swend|switch|sys|then|tim|unt|until|use|void|wend|where|while)\b/i,function:/\b\w+(?=\()/,boolean:/\b(?:BBjAPI\.TRUE|BBjAPI\.FALSE)\b/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:and|not|or|xor)\b/i,punctuation:/[.,;:()]/}}(Prism); Prism.languages.bicep={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],property:[{pattern:/([\r\n][ \t]*)[a-z_]\w*(?=[ \t]*:)/i,lookbehind:!0},{pattern:/([\r\n][ \t]*)'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'(?=[ \t]*:)/,lookbehind:!0,greedy:!0}],string:[{pattern:/'''[^'][\s\S]*?'''/,greedy:!0},{pattern:/(^|[^\\'])'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'/,lookbehind:!0,greedy:!0}],"interpolated-string":{pattern:/(^|[^\\'])'(?:\\.|\$(?:(?!\{)|\{[^{}\r\n]*\})|[^'\\\r\n$])*'/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/\$\{[^{}\r\n]*\}/,inside:{expression:{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:!0},punctuation:/^\$\{|\}$/}},string:/[\s\S]+/}},datatype:{pattern:/(\b(?:output|param)\b[ \t]+\w+[ \t]+)\w+\b/,lookbehind:!0,alias:"class-name"},boolean:/\b(?:false|true)\b/,keyword:/\b(?:existing|for|if|in|module|null|output|param|resource|targetScope|var)\b/,decorator:/@\w+\b/,function:/\b[a-z_]\w*(?=[ \t]*\()/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/,punctuation:/[{}[\];(),.:]/},Prism.languages.bicep["interpolated-string"].inside.interpolation.inside.expression.inside=Prism.languages.bicep; Prism.languages.birb=Prism.languages.extend("clike",{string:{pattern:/r?("|')(?:\\.|(?!\1)[^\\])*\1/,greedy:!0},"class-name":[/\b[A-Z](?:[\d_]*[a-zA-Z]\w*)?\b/,/\b(?:[A-Z]\w*|(?!(?:var|void)\b)[a-z]\w*)(?=\s+\w+\s*[;,=()])/],keyword:/\b(?:assert|break|case|class|const|default|else|enum|final|follows|for|grab|if|nest|new|next|noSeeb|return|static|switch|throw|var|void|while)\b/,operator:/\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?|:/,variable:/\b[a-z_]\w*\b/}),Prism.languages.insertBefore("birb","function",{metadata:{pattern:/<\w+>/,greedy:!0,alias:"symbol"}}); Prism.languages.bison=Prism.languages.extend("c",{}),Prism.languages.insertBefore("bison","comment",{bison:{pattern:/^(?:[^%]|%(?!%))*%%[\s\S]*?%%/,inside:{c:{pattern:/%\{[\s\S]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/,inside:{delimiter:{pattern:/^%?\{|%?\}$/,alias:"punctuation"},"bison-variable":{pattern:/[$@](?:<[^\s>]+>)?[\w$]+/,alias:"variable",inside:{punctuation:/<|>/}},rest:Prism.languages.c}},comment:Prism.languages.c.comment,string:Prism.languages.c.string,property:/\S+(?=:)/,keyword:/%\w+/,number:{pattern:/(^|[^@])\b(?:0x[\da-f]+|\d+)/i,lookbehind:!0},punctuation:/%[%?]|[|:;\[\]<>]/}}}); Prism.languages.bnf={string:{pattern:/"[^\r\n"]*"|'[^\r\n']*'/},definition:{pattern:/<[^<>\r\n\t]+>(?=\s*::=)/,alias:["rule","keyword"],inside:{punctuation:/^<|>$/}},rule:{pattern:/<[^<>\r\n\t]+>/,inside:{punctuation:/^<|>$/}},operator:/::=|[|()[\]{}*+?]|\.{3}/},Prism.languages.rbnf=Prism.languages.bnf; Prism.languages.bqn={shebang:{pattern:/^#![ \t]*\/.*/,alias:"important",greedy:!0},comment:{pattern:/#.*/,greedy:!0},"string-literal":{pattern:/"(?:[^"]|"")*"/,greedy:!0,alias:"string"},"character-literal":{pattern:/'(?:[\s\S]|[\uD800-\uDBFF][\uDC00-\uDFFF])'/,greedy:!0,alias:"char"},function:/•[\w¯.∞π]+[\w¯.∞π]*/,"dot-notation-on-brackets":{pattern:/\{(?=.*\}\.)|\}\./,alias:"namespace"},"special-name":{pattern:/(?:𝕨|𝕩|𝕗|𝕘|𝕤|𝕣|𝕎|𝕏|𝔽|𝔾|𝕊|_𝕣_|_𝕣)/,alias:"keyword"},"dot-notation-on-name":{pattern:/[A-Za-z_][\w¯∞π]*\./,alias:"namespace"},"word-number-scientific":{pattern:/\d+(?:\.\d+)?[eE]¯?\d+/,alias:"number"},"word-name":{pattern:/[A-Za-z_][\w¯∞π]*/,alias:"symbol"},"word-number":{pattern:/[¯∞π]?(?:\d*\.?\b\d+(?:e[+¯]?\d+|E[+¯]?\d+)?|¯|∞|π)(?:j¯?(?:(?:\d+(?:\.\d+)?|\.\d+)(?:e[+¯]?\d+|E[+¯]?\d+)?|¯|∞|π))?/,alias:"number"},"null-literal":{pattern:/@/,alias:"char"},"primitive-functions":{pattern:/[-+×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍⋈↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!]/,alias:"operator"},"primitive-1-operators":{pattern:/[`˜˘¨⁼⌜´˝˙]/,alias:"operator"},"primitive-2-operators":{pattern:/[∘⊸⟜○⌾⎉⚇⍟⊘◶⎊]/,alias:"operator"},punctuation:/[←⇐↩(){}⟨⟩[\]‿·⋄,.;:?]/}; Prism.languages.brainfuck={pointer:{pattern:/<|>/,alias:"keyword"},increment:{pattern:/\+/,alias:"inserted"},decrement:{pattern:/-/,alias:"deleted"},branching:{pattern:/\[|\]/,alias:"important"},operator:/[.,]/,comment:/\S+/}; Prism.languages.brightscript={comment:/(?:\brem|').*/i,"directive-statement":{pattern:/(^[\t ]*)#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if).*/im,lookbehind:!0,alias:"property",inside:{"error-message":{pattern:/(^#error).+/,lookbehind:!0},directive:{pattern:/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/,alias:"keyword"},expression:{pattern:/[\s\S]+/,inside:null}}},property:{pattern:/([\r\n{,][\t ]*)(?:(?!\d)\w+|"(?:[^"\r\n]|"")*"(?!"))(?=[ \t]*:)/,lookbehind:!0,greedy:!0},string:{pattern:/"(?:[^"\r\n]|"")*"(?!")/,greedy:!0},"class-name":{pattern:/(\bAs[\t ]+)\w+/i,lookbehind:!0},keyword:/\b(?:As|Dim|Each|Else|Elseif|End|Exit|For|Function|Goto|If|In|Print|Return|Step|Stop|Sub|Then|To|While)\b/i,boolean:/\b(?:false|true)\b/i,function:/\b(?!\d)\w+(?=[\t ]*\()/,number:/(?:\b\d+(?:\.\d+)?(?:[ed][+-]\d+)?|&h[a-f\d]+)\b[%&!#]?/i,operator:/--|\+\+|>>=?|<<=?|<>|[-+*/\\<>]=?|[:^=?]|\b(?:and|mod|not|or)\b/i,punctuation:/[.,;()[\]{}]/,constant:/\b(?:LINE_NUM)\b/i},Prism.languages.brightscript["directive-statement"].inside.expression.inside=Prism.languages.brightscript; Prism.languages.bro={comment:{pattern:/(^|[^\\$])#.*/,lookbehind:!0,inside:{italic:/\b(?:FIXME|TODO|XXX)\b/}},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},boolean:/\b[TF]\b/,function:{pattern:/(\b(?:event|function|hook)[ \t]+)\w+(?:::\w+)?/,lookbehind:!0},builtin:/(?:@(?:load(?:-(?:plugin|sigs))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:add_func|create_expire|default|delete_func|encrypt|error_handler|expire_func|group|log|mergeable|optional|persistent|priority|raw_output|read_expire|redef|rotate_interval|rotate_size|synchronized|type_column|write_expire))/,constant:{pattern:/(\bconst[ \t]+)\w+/i,lookbehind:!0},keyword:/\b(?:add|addr|alarm|any|bool|break|const|continue|count|delete|double|else|enum|event|export|file|for|function|global|hook|if|in|int|interval|local|module|next|of|opaque|pattern|port|print|record|return|schedule|set|string|subnet|table|time|timeout|using|vector|when)\b/,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,punctuation:/[{}[\];(),.:]/}; Prism.languages.bsl={comment:/\/\/.*/,string:[{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},{pattern:/'(?:[^'\r\n\\]|\\.)*'/}],keyword:[{pattern:/(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:пока|для|новый|прервать|попытка|исключение|вызватьисключение|иначе|конецпопытки|неопределено|функция|перем|возврат|конецфункции|если|иначеесли|процедура|конецпроцедуры|тогда|знач|экспорт|конецесли|из|каждого|истина|ложь|по|цикл|конеццикла|выполнить)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,lookbehind:!0},{pattern:/\b(?:break|do|each|else|elseif|enddo|endfunction|endif|endprocedure|endtry|except|execute|export|false|for|function|if|in|new|null|procedure|raise|return|then|to|true|try|undefined|val|var|while)\b/i}],number:{pattern:/(^(?=\d)|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\d+(?:\.\d*)?|\.\d+)(?:E[+-]?\d+)?/i,lookbehind:!0},operator:[/[<>+\-*/]=?|[%=]/,{pattern:/(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:и|или|не)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,lookbehind:!0},{pattern:/\b(?:and|not|or)\b/i}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/,directive:[{pattern:/^([ \t]*)&.*/m,lookbehind:!0,greedy:!0,alias:"important"},{pattern:/^([ \t]*)#.*/gm,lookbehind:!0,greedy:!0,alias:"important"}]},Prism.languages.oscript=Prism.languages.bsl; Prism.languages.cfscript=Prism.languages.extend("clike",{comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,inside:{annotation:{pattern:/(?:^|[^.])@[\w\.]+/,alias:"punctuation"}}},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],keyword:/\b(?:abstract|break|catch|component|continue|default|do|else|extends|final|finally|for|function|if|in|include|package|private|property|public|remote|required|rethrow|return|static|switch|throw|try|var|while|xml)\b(?!\s*=)/,operator:[/\+\+|--|&&|\|\||::|=>|[!=]==|[-+*/%&|^!=<>]=?|\?(?:\.|:)?|:/,/\b(?:and|contains|eq|equal|eqv|gt|gte|imp|is|lt|lte|mod|not|or|xor)\b/],scope:{pattern:/\b(?:application|arguments|cgi|client|cookie|local|session|super|this|variables)\b/,alias:"global"},type:{pattern:/\b(?:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|void|xml)\b/,alias:"builtin"}}),Prism.languages.insertBefore("cfscript","keyword",{"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"}}),delete Prism.languages.cfscript["class-name"],Prism.languages.cfc=Prism.languages.cfscript; Prism.languages.chaiscript=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])'(?:[^'\\]|\\[\s\S])*'/,lookbehind:!0,greedy:!0},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},{pattern:/(\b(?:attr|def)\s+)\w+(?=\s*::)/,lookbehind:!0}],keyword:/\b(?:attr|auto|break|case|catch|class|continue|def|default|else|finally|for|fun|global|if|return|switch|this|try|var|while)\b/,number:[Prism.languages.cpp.number,/\b(?:Infinity|NaN)\b/],operator:/>>=?|<<=?|\|\||&&|:[:=]?|--|\+\+|[=!<>+\-*/%|&^]=?|[?~]|`[^`\r\n]{1,4}`/}),Prism.languages.insertBefore("chaiscript","operator",{"parameter-type":{pattern:/([,(]\s*)\w+(?=\s+\w)/,lookbehind:!0,alias:"class-name"}}),Prism.languages.insertBefore("chaiscript","string",{"string-interpolation":{pattern:/(^|[^\\])"(?:[^"$\\]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\}/,lookbehind:!0,inside:{"interpolation-expression":{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:Prism.languages.chaiscript},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"}}},string:/[\s\S]+/}}}); Prism.languages.cil={comment:/\/\/.*/,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},directive:{pattern:/(^|\W)\.[a-z]+(?=\s)/,lookbehind:!0,alias:"class-name"},variable:/\[[\w\.]+\]/,keyword:/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|u?int(?:8|16|32|64)?|iant|idispatch|implements|import|initonly|instance|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/,function:/\b(?:(?:constrained|no|readonly|tail|unaligned|volatile)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[mM]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|castclass|ldvirtftn|beq(?:\.s)?|ckfinite|ldsflda|ldtoken|localloc|mkrefany|rethrow|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|cgt|ceq|box|and|or|br)\b/,boolean:/\b(?:false|true)\b/,number:/\b-?(?:0x[0-9a-f]+|\d+)(?:\.[0-9a-f]+)?\b/i,punctuation:/[{}[\];(),:=]|IL_[0-9A-Za-z]+/}; Prism.languages.cilkc=Prism.languages.insertBefore("c","function",{"parallel-keyword":{pattern:/\bcilk_(?:for|reducer|s(?:cope|pawn|ync))\b/,alias:"keyword"}}),Prism.languages["cilk-c"]=Prism.languages.cilkc; Prism.languages.cilkcpp=Prism.languages.insertBefore("cpp","function",{"parallel-keyword":{pattern:/\bcilk_(?:for|reducer|s(?:cope|pawn|ync))\b/,alias:"keyword"}}),Prism.languages["cilk-cpp"]=Prism.languages.cilkcpp,Prism.languages.cilk=Prism.languages.cilkcpp; Prism.languages.clojure={comment:{pattern:/;.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0},char:/\\\w+/,symbol:{pattern:/(^|[\s()\[\]{},])::?[\w*+!?'<>=/.-]+/,lookbehind:!0},keyword:{pattern:/(\()(?:-|->|->>|\.|\.\.|\*|\/|\+|<|<=|=|==|>|>=|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|cond|conj|cons|constantly|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|declare|def|def-|definline|definterface|defmacro|defmethod|defmulti|defn|defn-|defonce|defproject|defprotocol|defrecord|defstruct|deftype|deref|difference|disj|dissoc|distinct|do|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|fn|fnseq|for|frest|gensym|get|get-proxy-class|hash-map|hash-set|identical\?|identity|if|if-let|if-not|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|let|line-seq|list|list\*|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|monitor-enter|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|quote|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|recur|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|set!|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|throw|time|to-array|to-array-2d|tree-seq|true\?|try|union|up|update-proxy|val|vals|var|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[\s)]|$)/,lookbehind:!0},boolean:/\b(?:false|nil|true)\b/,number:{pattern:/(^|[^\w$@])(?:\d+(?:[/.]\d+)?(?:e[+-]?\d+)?|0x[a-f0-9]+|[1-9]\d?r[a-z0-9]+)[lmn]?(?![\w$@])/i,lookbehind:!0},function:{pattern:/((?:^|[^'])\()[\w*+!?'<>=/.-]+(?=[\s)]|$)/,lookbehind:!0},operator:/[#@^`~]/,punctuation:/[{}\[\](),]/}; Prism.languages.cmake={comment:/#.*/,string:{pattern:/"(?:[^\\"]|\\.)*"/,greedy:!0,inside:{interpolation:{pattern:/\$\{(?:[^{}$]|\$\{[^{}$]*\})*\}/,inside:{punctuation:/\$\{|\}/,variable:/\w+/}}}},variable:/\b(?:CMAKE_\w+|\w+_(?:(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT|VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?)|(?:ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_NAME|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE))\b/,property:/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/,keyword:/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/,boolean:/\b(?:FALSE|OFF|ON|TRUE)\b/,namespace:/\b(?:INTERFACE|PRIVATE|PROPERTIES|PUBLIC|SHARED|STATIC|TARGET_OBJECTS)\b/,operator:/\b(?:AND|DEFINED|EQUAL|GREATER|LESS|MATCHES|NOT|OR|STREQUAL|STRGREATER|STRLESS|VERSION_EQUAL|VERSION_GREATER|VERSION_LESS)\b/,inserted:{pattern:/\b\w+::\w+\b/,alias:"class-name"},number:/\b\d+(?:\.\d+)*\b/,function:/\b[a-z_]\w*(?=\s*\()\b/i,punctuation:/[()>}]|\$[<{]/}; Prism.languages.cobol={comment:{pattern:/\*>.*|(^[ \t]*)\*.*/m,lookbehind:!0,greedy:!0},string:{pattern:/[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,greedy:!0},level:{pattern:/(^[ \t]*)\d+\b/m,lookbehind:!0,greedy:!0,alias:"number"},"class-name":{pattern:/(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,lookbehind:!0,inside:{number:{pattern:/(\()\d+/,lookbehind:!0},punctuation:/[()]/}},keyword:{pattern:/(^|[^\w-])(?:ABORT|ACCEPT|ACCESS|ADD|ADDRESS|ADVANCING|AFTER|ALIGNED|ALL|ALPHABET|ALPHABETIC|ALPHABETIC-LOWER|ALPHABETIC-UPPER|ALPHANUMERIC|ALPHANUMERIC-EDITED|ALSO|ALTER|ALTERNATE|ANY|ARE|AREA|AREAS|AS|ASCENDING|ASCII|ASSIGN|ASSOCIATED-DATA|ASSOCIATED-DATA-LENGTH|AT|ATTRIBUTE|AUTHOR|AUTO|AUTO-SKIP|BACKGROUND-COLOR|BACKGROUND-COLOUR|BASIS|BEEP|BEFORE|BEGINNING|BELL|BINARY|BIT|BLANK|BLINK|BLOCK|BOTTOM|BOUNDS|BY|BYFUNCTION|BYTITLE|CALL|CANCEL|CAPABLE|CCSVERSION|CD|CF|CH|CHAINING|CHANGED|CHANNEL|CHARACTER|CHARACTERS|CLASS|CLASS-ID|CLOCK-UNITS|CLOSE|CLOSE-DISPOSITION|COBOL|CODE|CODE-SET|COL|COLLATING|COLUMN|COM-REG|COMMA|COMMITMENT|COMMON|COMMUNICATION|COMP|COMP-1|COMP-2|COMP-3|COMP-4|COMP-5|COMPUTATIONAL|COMPUTATIONAL-1|COMPUTATIONAL-2|COMPUTATIONAL-3|COMPUTATIONAL-4|COMPUTATIONAL-5|COMPUTE|CONFIGURATION|CONTAINS|CONTENT|CONTINUE|CONTROL|CONTROL-POINT|CONTROLS|CONVENTION|CONVERTING|COPY|CORR|CORRESPONDING|COUNT|CRUNCH|CURRENCY|CURSOR|DATA|DATA-BASE|DATE|DATE-COMPILED|DATE-WRITTEN|DAY|DAY-OF-WEEK|DBCS|DE|DEBUG-CONTENTS|DEBUG-ITEM|DEBUG-LINE|DEBUG-NAME|DEBUG-SUB-1|DEBUG-SUB-2|DEBUG-SUB-3|DEBUGGING|DECIMAL-POINT|DECLARATIVES|DEFAULT|DEFAULT-DISPLAY|DEFINITION|DELETE|DELIMITED|DELIMITER|DEPENDING|DESCENDING|DESTINATION|DETAIL|DFHRESP|DFHVALUE|DISABLE|DISK|DISPLAY|DISPLAY-1|DIVIDE|DIVISION|DONTCARE|DOUBLE|DOWN|DUPLICATES|DYNAMIC|EBCDIC|EGCS|EGI|ELSE|EMI|EMPTY-CHECK|ENABLE|END|END-ACCEPT|END-ADD|END-CALL|END-COMPUTE|END-DELETE|END-DIVIDE|END-EVALUATE|END-IF|END-MULTIPLY|END-OF-PAGE|END-PERFORM|END-READ|END-RECEIVE|END-RETURN|END-REWRITE|END-SEARCH|END-START|END-STRING|END-SUBTRACT|END-UNSTRING|END-WRITE|ENDING|ENTER|ENTRY|ENTRY-PROCEDURE|ENVIRONMENT|EOL|EOP|EOS|ERASE|ERROR|ESCAPE|ESI|EVALUATE|EVENT|EVERY|EXCEPTION|EXCLUSIVE|EXHIBIT|EXIT|EXPORT|EXTEND|EXTENDED|EXTERNAL|FD|FILE|FILE-CONTROL|FILLER|FINAL|FIRST|FOOTING|FOR|FOREGROUND-COLOR|FOREGROUND-COLOUR|FROM|FULL|FUNCTION|FUNCTION-POINTER|FUNCTIONNAME|GENERATE|GIVING|GLOBAL|GO|GOBACK|GRID|GROUP|HEADING|HIGH-VALUE|HIGH-VALUES|HIGHLIGHT|I-O|I-O-CONTROL|ID|IDENTIFICATION|IF|IMPLICIT|IMPORT|IN|INDEX|INDEXED|INDICATE|INITIAL|INITIALIZE|INITIATE|INPUT|INPUT-OUTPUT|INSPECT|INSTALLATION|INTEGER|INTO|INVALID|INVOKE|IS|JUST|JUSTIFIED|KANJI|KEPT|KEY|KEYBOARD|LABEL|LANGUAGE|LAST|LB|LD|LEADING|LEFT|LEFTLINE|LENGTH|LENGTH-CHECK|LIBACCESS|LIBPARAMETER|LIBRARY|LIMIT|LIMITS|LINAGE|LINAGE-COUNTER|LINE|LINE-COUNTER|LINES|LINKAGE|LIST|LOCAL|LOCAL-STORAGE|LOCK|LONG-DATE|LONG-TIME|LOW-VALUE|LOW-VALUES|LOWER|LOWLIGHT|MEMORY|MERGE|MESSAGE|MMDDYYYY|MODE|MODULES|MORE-LABELS|MOVE|MULTIPLE|MULTIPLY|NAMED|NATIONAL|NATIONAL-EDITED|NATIVE|NEGATIVE|NETWORK|NEXT|NO|NO-ECHO|NULL|NULLS|NUMBER|NUMERIC|NUMERIC-DATE|NUMERIC-EDITED|NUMERIC-TIME|OBJECT-COMPUTER|OCCURS|ODT|OF|OFF|OMITTED|ON|OPEN|OPTIONAL|ORDER|ORDERLY|ORGANIZATION|OTHER|OUTPUT|OVERFLOW|OVERLINE|OWN|PACKED-DECIMAL|PADDING|PAGE|PAGE-COUNTER|PASSWORD|PERFORM|PF|PH|PIC|PICTURE|PLUS|POINTER|PORT|POSITION|POSITIVE|PRINTER|PRINTING|PRIVATE|PROCEDURE|PROCEDURE-POINTER|PROCEDURES|PROCEED|PROCESS|PROGRAM|PROGRAM-ID|PROGRAM-LIBRARY|PROMPT|PURGE|QUEUE|QUOTE|QUOTES|RANDOM|RD|READ|READER|REAL|RECEIVE|RECEIVED|RECORD|RECORDING|RECORDS|RECURSIVE|REDEFINES|REEL|REF|REFERENCE|REFERENCES|RELATIVE|RELEASE|REMAINDER|REMARKS|REMOTE|REMOVAL|REMOVE|RENAMES|REPLACE|REPLACING|REPORT|REPORTING|REPORTS|REQUIRED|RERUN|RESERVE|RESET|RETURN|RETURN-CODE|RETURNING|REVERSE-VIDEO|REVERSED|REWIND|REWRITE|RF|RH|RIGHT|ROUNDED|RUN|SAME|SAVE|SCREEN|SD|SEARCH|SECTION|SECURE|SECURITY|SEGMENT|SEGMENT-LIMIT|SELECT|SEND|SENTENCE|SEPARATE|SEQUENCE|SEQUENTIAL|SET|SHARED|SHAREDBYALL|SHAREDBYRUNUNIT|SHARING|SHIFT-IN|SHIFT-OUT|SHORT-DATE|SIGN|SIZE|SORT|SORT-CONTROL|SORT-CORE-SIZE|SORT-FILE-SIZE|SORT-MERGE|SORT-MESSAGE|SORT-MODE-SIZE|SORT-RETURN|SOURCE|SOURCE-COMPUTER|SPACE|SPACES|SPECIAL-NAMES|STANDARD|STANDARD-1|STANDARD-2|START|STATUS|STOP|STRING|SUB-QUEUE-1|SUB-QUEUE-2|SUB-QUEUE-3|SUBTRACT|SUM|SUPPRESS|SYMBOL|SYMBOLIC|SYNC|SYNCHRONIZED|TABLE|TALLY|TALLYING|TAPE|TASK|TERMINAL|TERMINATE|TEST|TEXT|THEN|THREAD|THREAD-LOCAL|THROUGH|THRU|TIME|TIMER|TIMES|TITLE|TO|TODAYS-DATE|TODAYS-NAME|TOP|TRAILING|TRUNCATED|TYPE|TYPEDEF|UNDERLINE|UNIT|UNSTRING|UNTIL|UP|UPON|USAGE|USE|USING|VALUE|VALUES|VARYING|VIRTUAL|WAIT|WHEN|WHEN-COMPILED|WITH|WORDS|WORKING-STORAGE|WRITE|YEAR|YYYYDDD|YYYYMMDD|ZERO-FILL|ZEROES|ZEROS)(?![\w-])/i,lookbehind:!0},boolean:{pattern:/(^|[^\w-])(?:false|true)(?![\w-])/i,lookbehind:!0},number:{pattern:/(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,lookbehind:!0},operator:[/<>|[<>]=?|[=+*/&]/,{pattern:/(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,lookbehind:!0}],punctuation:/[.:,()]/}; !function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(Prism); Prism.languages.concurnas={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,lookbehind:!0,greedy:!0},langext:{pattern:/\b\w+\s*\|\|[\s\S]+?\|\|/,greedy:!0,inside:{"class-name":/^\w+/,string:{pattern:/(^\s*\|\|)[\s\S]+(?=\|\|$)/,lookbehind:!0},punctuation:/\|\|/}},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,lookbehind:!0},keyword:/\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/,boolean:/\b(?:false|true)\b/,number:/\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,punctuation:/[{}[\];(),.:]/,operator:/<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,annotation:{pattern:/@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,alias:"builtin"}},Prism.languages.insertBefore("concurnas","langext",{"regex-literal":{pattern:/\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:Prism.languages.concurnas},regex:/[\s\S]+/}},"string-literal":{pattern:/(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:Prism.languages.concurnas},string:/[\s\S]+/}}}),Prism.languages.conc=Prism.languages.concurnas; !function(e){function n(e){return RegExp("([ \t])(?:"+e+")(?=[\\s;]|$)","i")}e.languages.csp={directive:{pattern:/(^|[\s;])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[\s;]|$)/i,lookbehind:!0,alias:"property"},scheme:{pattern:n("[a-z][a-z0-9.+-]*:"),lookbehind:!0},none:{pattern:n("'none'"),lookbehind:!0,alias:"keyword"},nonce:{pattern:n("'nonce-[-+/\\w=]+'"),lookbehind:!0,alias:"number"},hash:{pattern:n("'sha(?:256|384|512)-[-+/\\w=]+'"),lookbehind:!0,alias:"number"},host:{pattern:n("[a-z][a-z0-9.+-]*://[^\\s;,']*|\\*[^\\s;,']*|[a-z0-9-]+(?:\\.[a-z0-9-]+)+(?::[\\d*]+)?(?:/[^\\s;,']*)?"),lookbehind:!0,alias:"url",inside:{important:/\*/}},keyword:[{pattern:n("'unsafe-[a-z-]+'"),lookbehind:!0,alias:"unsafe"},{pattern:n("'[a-z-]+'"),lookbehind:!0,alias:"safe"}],punctuation:/;/}}(Prism); !function(e){var a="(?:(?!\\s)[\\d$+<=a-zA-Z\\x80-\\uFFFF])+",t="[^{}@#]+\\{[^}#@]*\\}";e.languages.cooklang={comment:{pattern:/\[-[\s\S]*?-\]|--.*/,greedy:!0},meta:{pattern:/>>.*:.*/,inside:{property:{pattern:/(>>\s*)[^\s:](?:[^:]*[^\s:])?/,lookbehind:!0}}},"cookware-group":{pattern:new RegExp("#(?:"+t+"|"+a+")"),inside:{cookware:{pattern:new RegExp("(^#)(?:[^{}@#]+)"),lookbehind:!0,alias:"variable"},"cookware-keyword":{pattern:/^#/,alias:"keyword"},"quantity-group":{pattern:new RegExp(/\{[^{}@#]*\}/),inside:{quantity:{pattern:new RegExp("(^\\{)[^{}@#]+"),lookbehind:!0,alias:"number"},punctuation:/[{}]/}}}},"ingredient-group":{pattern:new RegExp("@(?:"+t+"|"+a+")"),inside:{ingredient:{pattern:new RegExp("(^@)(?:[^{}@#]+)"),lookbehind:!0,alias:"variable"},"ingredient-keyword":{pattern:/^@/,alias:"keyword"},"amount-group":{pattern:/\{[^{}]*\}/,inside:{amount:{pattern:/([\{|])[^{}|*%]+/,lookbehind:!0,alias:"number"},unit:{pattern:/(%)[^}]+/,lookbehind:!0,alias:"symbol"},"servings-scaler":{pattern:/\*/,alias:"operator"},"servings-alternative-separator":{pattern:/\|/,alias:"operator"},"unit-separator":{pattern:/(?:%|(\*)%)/,lookbehind:!0,alias:"operator"},punctuation:/[{}]/}}}},"timer-group":{pattern:/~(?!\s)[^@#~{}]*\{[^{}]*\}/,inside:{timer:{pattern:/(^~)[^{]+/,lookbehind:!0,alias:"variable"},"duration-group":{pattern:/\{[^{}]*\}/,inside:{punctuation:/[{}]/,unit:{pattern:new RegExp("(%\\s*)(?:h|hours|hrs|m|min|minutes)\\b"),lookbehind:!0,alias:"symbol"},operator:/%/,duration:{pattern:/\d+/,alias:"number"}}},"timer-keyword":{pattern:/^~/,alias:"keyword"}}}}}(Prism); !function(e){for(var t="\\(\\*(?:[^(*]|\\((?!\\*)|\\*(?!\\))|)*\\*\\)",i=0;i<2;i++)t=t.replace(//g,(function(){return t}));t=t.replace(//g,"[]"),e.languages.coq={comment:RegExp(t),string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},attribute:[{pattern:RegExp('#\\[(?:[^\\[\\]("]|"(?:[^"]|"")*"(?!")|\\((?!\\*)|)*\\]'.replace(//g,(function(){return t}))),greedy:!0,alias:"attr-name",inside:{comment:RegExp(t),string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},operator:/=/,punctuation:/^#\[|\]$|[,()]/}},{pattern:/\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,alias:"attr-name"}],keyword:/\b(?:Abort|About|Add|Admit|Admitted|All|Arguments|As|Assumptions|Axiom|Axioms|Back|BackTo|Backtrace|BinOp|BinOpSpec|BinRel|Bind|Blacklist|Canonical|Case|Cd|Check|Class|Classes|Close|CoFixpoint|CoInductive|Coercion|Coercions|Collection|Combined|Compute|Conjecture|Conjectures|Constant|Constants|Constraint|Constructors|Context|Corollary|Create|CstOp|Custom|Cut|Debug|Declare|Defined|Definition|Delimit|Dependencies|Dependent|Derive|Diffs|Drop|Elimination|End|Entry|Equality|Eval|Example|Existential|Existentials|Existing|Export|Extern|Extraction|Fact|Fail|Field|File|Firstorder|Fixpoint|Flags|Focus|From|Funclass|Function|Functional|GC|Generalizable|Goal|Grab|Grammar|Graph|Guarded|Haskell|Heap|Hide|Hint|HintDb|Hints|Hypotheses|Hypothesis|IF|Identity|Immediate|Implicit|Implicits|Import|Include|Induction|Inductive|Infix|Info|Initial|InjTyp|Inline|Inspect|Instance|Instances|Intro|Intros|Inversion|Inversion_clear|JSON|Language|Left|Lemma|Let|Lia|Libraries|Library|Load|LoadPath|Locate|Ltac|Ltac2|ML|Match|Method|Minimality|Module|Modules|Morphism|Next|NoInline|Notation|Number|OCaml|Obligation|Obligations|Opaque|Open|Optimize|Parameter|Parameters|Parametric|Path|Paths|Prenex|Preterm|Primitive|Print|Profile|Projections|Proof|Prop|PropBinOp|PropOp|PropUOp|Property|Proposition|Pwd|Qed|Quit|Rec|Record|Recursive|Redirect|Reduction|Register|Relation|Remark|Remove|Require|Reserved|Reset|Resolve|Restart|Rewrite|Right|Ring|Rings|SProp|Saturate|Save|Scheme|Scope|Scopes|Search|SearchHead|SearchPattern|SearchRewrite|Section|Separate|Set|Setoid|Show|Signatures|Solve|Solver|Sort|Sortclass|Sorted|Spec|Step|Strategies|Strategy|String|Structure|SubClass|Subgraph|SuchThat|Tactic|Term|TestCompile|Theorem|Time|Timeout|To|Transparent|Type|Typeclasses|Types|Typing|UnOp|UnOpSpec|Undelimit|Undo|Unfocus|Unfocused|Unfold|Universe|Universes|Unshelve|Variable|Variables|Variant|Verbose|View|Visibility|Zify|_|apply|as|at|by|cofix|else|end|exists|exists2|fix|for|forall|fun|if|in|let|match|measure|move|removed|return|struct|then|using|wf|where|with)\b/,number:/\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,punct:{pattern:/@\{|\{\||\[=|:>/,alias:"punctuation"},operator:/\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,punctuation:/\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/}}(Prism); !function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var n={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var t="(?:"+["([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","\\((?:[^()\\\\]|\\\\[^]|\\((?:[^()\\\\]|\\\\[^])*\\))*\\)","\\{(?:[^{}\\\\]|\\\\[^]|\\{(?:[^{}\\\\]|\\\\[^])*\\})*\\}","\\[(?:[^\\[\\]\\\\]|\\\\[^]|\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\])*\\]","<(?:[^<>\\\\]|\\\\[^]|<(?:[^<>\\\\]|\\\\[^])*>)*>"].join("|")+")",i='(?:"(?:\\\\.|[^"\\\\\r\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\0-\\x7F]+)[?!]?|\\$.)';e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp("%r"+t+"[egimnosux]{0,6}"),greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp("(^|[^:]):"+i),lookbehind:!0,greedy:!0},{pattern:RegExp("([\r\n{(,][ \t]*)"+i+"(?=:(?!:))"),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp("%[qQiIwWs]?"+t),greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp("%x"+t),greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(Prism); !function(e){e.languages.crystal=e.languages.extend("ruby",{keyword:[/\b(?:__DIR__|__END_LINE__|__FILE__|__LINE__|abstract|alias|annotation|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|ptr|require|rescue|return|select|self|sizeof|struct|super|then|type|typeof|undef|uninitialized|union|unless|until|when|while|with|yield)\b/,{pattern:/(\.\s*)(?:is_a|responds_to)\?/,lookbehind:!0}],number:/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/,operator:[/->/,e.languages.ruby.operator],punctuation:/[(){}[\].,;\\]/}),e.languages.insertBefore("crystal","string-literal",{attribute:{pattern:/@\[.*?\]/,inside:{delimiter:{pattern:/^@\[|\]$/,alias:"punctuation"},attribute:{pattern:/^(\s*)\w+/,lookbehind:!0,alias:"class-name"},args:{pattern:/\S(?:[\s\S]*\S)?/,inside:e.languages.crystal}}},expansion:{pattern:/\{(?:\{.*?\}|%.*?%)\}/,inside:{content:{pattern:/^(\{.)[\s\S]+(?=.\}$)/,lookbehind:!0,inside:e.languages.crystal},delimiter:{pattern:/^\{[\{%]|[\}%]\}$/,alias:"operator"}}},char:{pattern:/'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,greedy:!0}})}(Prism); !function(e){var a,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:a={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=a,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},i={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:i,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:i})}(Prism); Prism.languages.csv={value:/[^\r\n,"]+|"(?:[^"]|"")*"(?!")/,punctuation:/,/}; !function(e){var n="(?:"+"\"\"\"(?:[^\\\\\"]|\"(?!\"\"\\2)|)*\"\"\"|'''(?:[^\\\\']|'(?!''\\2)|)*'''|\"(?:[^\\\\\r\n\"]|\"(?!\\2)|)*\"|'(?:[^\\\\\r\n']|'(?!\\2)|)*'".replace(//g,"\\\\(?:(?!\\2)|\\2(?:[^()\r\n]|\\([^()]*\\)))")+")";e.languages.cue={comment:{pattern:/\/\/.*/,greedy:!0},"string-literal":{pattern:RegExp("(^|[^#\"'\\\\])(#*)"+n+"(?![\"'])\\2"),lookbehind:!0,greedy:!0,inside:{escape:{pattern:/(?=[\s\S]*["'](#*)$)\\\1(?:U[a-fA-F0-9]{1,8}|u[a-fA-F0-9]{1,4}|x[a-fA-F0-9]{1,2}|\d{2,3}|[^(])/,greedy:!0,alias:"string"},interpolation:{pattern:/(?=[\s\S]*["'](#*)$)\\\1\([^()]*\)/,greedy:!0,inside:{punctuation:/^\\#*\(|\)$/,expression:{pattern:/[\s\S]+/,inside:null}}},string:/[\s\S]+/}},keyword:{pattern:/(^|[^\w$])(?:for|if|import|in|let|null|package)(?![\w$])/,lookbehind:!0},boolean:{pattern:/(^|[^\w$])(?:false|true)(?![\w$])/,lookbehind:!0},builtin:{pattern:/(^|[^\w$])(?:bool|bytes|float|float(?:32|64)|u?int(?:8|16|32|64|128)?|number|rune|string)(?![\w$])/,lookbehind:!0},attribute:{pattern:/@[\w$]+(?=\s*\()/,alias:"function"},function:{pattern:/(^|[^\w$])[a-z_$][\w$]*(?=\s*\()/i,lookbehind:!0},number:{pattern:/(^|[^\w$.])(?:0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|0[xX][0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*|(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[eE][+-]?\d+(?:_\d+)*)?(?:[KMGTP]i?)?)(?![\w$])/,lookbehind:!0},operator:/\.{3}|_\|_|&&?|\|\|?|[=!]~|[<>=!]=?|[+\-*/?]/,punctuation:/[()[\]{},.:]/},e.languages.cue["string-literal"].inside.interpolation.inside.expression.inside=e.languages.cue}(Prism); Prism.languages.cypher={comment:/\/\/.*/,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,greedy:!0},"class-name":{pattern:/(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,lookbehind:!0,greedy:!0},relationship:{pattern:/(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,lookbehind:!0,greedy:!0,alias:"property"},identifier:{pattern:/`(?:[^`\\\r\n])*`/,greedy:!0},variable:/\$\w+/,keyword:/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i,function:/\b\w+\b(?=\s*\()/,boolean:/\b(?:false|null|true)\b/i,number:/\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,operator:/:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,punctuation:/[()[\]{},;.]/}; Prism.languages.d=Prism.languages.extend("clike",{comment:[{pattern:/^\s*#!.+/,greedy:!0},{pattern:RegExp("(^|[^\\\\])(?:"+["/\\+(?:/\\+(?:[^+]|\\+(?!/))*\\+/|(?!/\\+)[^])*?\\+/","//.*","/\\*[^]*?\\*/"].join("|")+")"),lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(['\\b[rx]"(?:\\\\[^]|[^\\\\"])*"[cwd]?','\\bq"(?:\\[[^]*?\\]|\\([^]*?\\)|<[^]*?>|\\{[^]*?\\})"','\\bq"((?!\\d)\\w+)$[^]*?^\\1"','\\bq"(.)[^]*?\\2"','(["`])(?:\\\\[^]|(?!\\3)[^\\\\])*\\3[cwd]?'].join("|"),"m"),greedy:!0},{pattern:/\bq\{(?:\{[^{}]*\}|[^{}])*\}/,greedy:!0,alias:"token-string"}],keyword:/\$|\b(?:__(?:(?:DATE|EOF|FILE|FUNCTION|LINE|MODULE|PRETTY_FUNCTION|TIMESTAMP|TIME|VENDOR|VERSION)__|gshared|parameters|traits|vector)|abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|dstring|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|ptrdiff_t|public|pure|real|ref|return|scope|shared|short|size_t|static|string|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|wstring)\b/,number:[/\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i,{pattern:/((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i,lookbehind:!0}],operator:/\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/}),Prism.languages.insertBefore("d","string",{char:/'(?:\\(?:\W|\w+)|[^\\])'/}),Prism.languages.insertBefore("d","keyword",{property:/\B@\w*/}),Prism.languages.insertBefore("d","function",{register:{pattern:/\b(?:[ABCD][LHX]|E?(?:BP|DI|SI|SP)|[BS]PL|[ECSDGF]S|CR[0234]|[DS]IL|DR[012367]|E[ABCD]X|X?MM[0-7]|R(?:1[0-5]|[89])[BWD]?|R[ABCD]X|R[BS]P|R[DS]I|TR[3-7]|XMM(?:1[0-5]|[89])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/,alias:"variable"}}); !function(e){var a=[/\b(?:async|sync|yield)\*/,/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/],n="(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*",s={pattern:RegExp(n+"[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}}}};e.languages.dart=e.languages.extend("clike",{"class-name":[s,{pattern:RegExp(n+"[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])"),lookbehind:!0,inside:s.inside}],keyword:a,operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),e.languages.insertBefore("dart","string",{"string-literal":{pattern:/r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,lookbehind:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.dart}}},string:/[\s\S]+/}},string:void 0}),e.languages.insertBefore("dart","class-name",{metadata:{pattern:/@\w+/,alias:"function"}}),e.languages.insertBefore("dart","class-name",{generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":s,keyword:a,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})}(Prism); !function(e){e.languages.dataweave={url:/\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/,property:{pattern:/(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/,greedy:!0},string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},"mime-type":/\b(?:application|audio|image|multipart|text|video)\/[\w+-]+/,date:{pattern:/\|[\w:+-]+\|/,greedy:!0},comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],regex:{pattern:/\/(?:[^\\\/\r\n]|\\[^\r\n])+\//,greedy:!0},keyword:/\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\b/,function:/\b[A-Z_]\w*(?=\s*\()/i,number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\];(),.:@]/,operator:/<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/,boolean:/\b(?:false|true)\b/}}(Prism); Prism.languages.dax={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/).*)/,lookbehind:!0},"data-field":{pattern:/'(?:[^']|'')*'(?!')(?:\[[ \w\xA0-\uFFFF]+\])?|\w+\[[ \w\xA0-\uFFFF]+\]/,alias:"symbol"},measure:{pattern:/\[[ \w\xA0-\uFFFF]+\]/,alias:"constant"},string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},function:/\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i,keyword:/\b(?:DEFINE|EVALUATE|MEASURE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i,boolean:{pattern:/\b(?:FALSE|NULL|TRUE)\b/i,alias:"constant"},number:/\b\d+(?:\.\d*)?|\B\.\d+\b/,operator:/:=|[-+*\/=^]|&&?|\|\||<(?:=>?|<|>)?|>[>=]?|\b(?:IN|NOT)\b/i,punctuation:/[;\[\](){}`,.]/}; Prism.languages.dhall={comment:/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/,string:{pattern:/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^{}]*\}/,inside:{expression:{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:!0,alias:"language-dhall",inside:null},punctuation:/\$\{|\}/}}}},label:{pattern:/`[^`]*`/,greedy:!0},url:{pattern:/\bhttps?:\/\/[\w.:%!$&'*+;=@~-]+(?:\/[\w.:%!$&'*+;=@~-]*)*(?:\?[/?\w.:%!$&'*+;=@~-]*)?/,greedy:!0},env:{pattern:/\benv:(?:(?!\d)\w+|"(?:[^"\\=]|\\.)*")/,greedy:!0,inside:{function:/^env/,operator:/^:/,variable:/[\s\S]+/}},hash:{pattern:/\bsha256:[\da-fA-F]{64}\b/,inside:{function:/sha256/,operator:/:/,number:/[\da-fA-F]{64}/}},keyword:/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/,builtin:/\b(?:None|Some)\b/,boolean:/\b(?:False|True)\b/,number:/\bNaN\b|-?\bInfinity\b|[+-]?\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/,operator:/\/\\|\/\/\\\\|&&|\|\||===|[!=]=|\/\/|->|\+\+|::|[+*#@=:?<>|\\\u2227\u2a53\u2261\u2afd\u03bb\u2192]/,punctuation:/\.\.|[{}\[\](),./]/,"class-name":/\b[A-Z]\w*\b/},Prism.languages.dhall.string.inside.interpolation.inside.expression.inside=Prism.languages.dhall; !function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var n={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(n).forEach((function(a){var i=n[a],r=[];/^\w+$/.test(a)||r.push(/\w+/.exec(a)[0]),"diff"===a&&r.push("bold"),e.languages.diff[a]={pattern:RegExp("^(?:["+i+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:r,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(a)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:n})}(Prism); !function(e){function n(e,n){return"___"+e.toUpperCase()+n+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(t,a,r,o){if(t.language===a){var c=t.tokenStack=[];t.code=t.code.replace(r,(function(e){if("function"==typeof o&&!o(e))return e;for(var r,i=c.length;-1!==t.code.indexOf(r=n(a,i));)++i;return c[i]=e,r})),t.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(t,a){if(t.language===a&&t.tokenStack){t.grammar=e.languages[a];var r=0,o=Object.keys(t.tokenStack);!function c(i){for(var u=0;u=o.length);u++){var g=i[u];if("string"==typeof g||g.content&&"string"==typeof g.content){var l=o[r],s=t.tokenStack[l],f="string"==typeof g?g:g.content,p=n(a,l),k=f.indexOf(p);if(k>-1){++r;var m=f.substring(0,k),d=new e.Token(a,e.tokenize(s,t.grammar),"language-"+a,s),h=f.substring(k+p.length),v=[];m&&v.push.apply(v,c([m])),v.push(d),h&&v.push.apply(v,c([h])),"string"==typeof g?i.splice.apply(i,[u,1].concat(v)):g.content=v}}else g.content&&c(g.content)}return i}(t.tokens)}}}})}(Prism); !function(e){e.languages.django={comment:/^\{#[\s\S]*?#\}$/,tag:{pattern:/(^\{%[+-]?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%][+-]?|[+-]?[}%]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},filter:{pattern:/(\|)\w+/,lookbehind:!0,alias:"function"},test:{pattern:/(\bis\s+(?:not\s+)?)(?!not\b)\w+/,lookbehind:!0,alias:"function"},function:/\b[a-z_]\w+(?=\s*\()/i,keyword:/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,number:/\b\d+(?:\.\d+)?\b/,boolean:/[Ff]alse|[Nn]one|[Tt]rue/,variable:/\b\w+\b/,punctuation:/[{}[\](),.:;]/};var n=/\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}|\{#[\s\S]*?#\}/g,o=e.languages["markup-templating"];e.hooks.add("before-tokenize",(function(e){o.buildPlaceholders(e,"django",n)})),e.hooks.add("after-tokenize",(function(e){o.tokenizePlaceholders(e,"django")})),e.languages.jinja2=e.languages.django,e.hooks.add("before-tokenize",(function(e){o.buildPlaceholders(e,"jinja2",n)})),e.hooks.add("after-tokenize",(function(e){o.tokenizePlaceholders(e,"jinja2")}))}(Prism); Prism.languages["dns-zone-file"]={comment:/;.*/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},variable:[{pattern:/(^\$ORIGIN[ \t]+)\S+/m,lookbehind:!0},{pattern:/(^|\s)@(?=\s|$)/,lookbehind:!0}],keyword:/^\$(?:INCLUDE|ORIGIN|TTL)(?=\s|$)/m,class:{pattern:/(^|\s)(?:CH|CS|HS|IN)(?=\s|$)/,lookbehind:!0,alias:"keyword"},type:{pattern:/(^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/,lookbehind:!0,alias:"keyword"},punctuation:/[()]/},Prism.languages["dns-zone"]=Prism.languages["dns-zone-file"]; !function(e){var n="(?:[ \t]+(?![ \t])(?:)?|)".replace(//g,(function(){return"\\\\[\r\n](?:\\s|\\\\[\r\n]|#.*(?!.))*(?![\\s#]|\\\\[\r\n])"})),r="\"(?:[^\"\\\\\r\n]|\\\\(?:\r\n|[^]))*\"|'(?:[^'\\\\\r\n]|\\\\(?:\r\n|[^]))*'",t="--[\\w-]+=(?:|(?![\"'])(?:[^\\s\\\\]|\\\\.)+)".replace(//g,(function(){return r})),o={pattern:RegExp(r),greedy:!0},i={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function a(e,r){return e=e.replace(//g,(function(){return t})).replace(//g,(function(){return n})),RegExp(e,r)}e.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:a("(^(?:ONBUILD)?\\w+)(?:)*","i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[o,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:a("(^(?:ONBUILD)?HEALTHCHECK(?:)*)(?:CMD|NONE)\\b","i"),lookbehind:!0,greedy:!0},{pattern:a("(^(?:ONBUILD)?FROM(?:)*(?!--)[^ \t\\\\]+)AS","i"),lookbehind:!0,greedy:!0},{pattern:a("(^ONBUILD)\\w+","i"),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:i,string:o,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:i},e.languages.dockerfile=e.languages.docker}(Prism); !function(e){var a="(?:"+["[a-zA-Z_\\x80-\\uFFFF][\\w\\x80-\\uFFFF]*","-?(?:\\.\\d+|\\d+(?:\\.\\d*)?)",'"[^"\\\\]*(?:\\\\[^][^"\\\\]*)*"',"<(?:[^<>]|(?!\x3c!--)<(?:[^<>\"']|\"[^\"]*\"|'[^']*')+>|\x3c!--(?:[^-]|-(?!->))*--\x3e)*>"].join("|")+")",n={markup:{pattern:/(^<)[\s\S]+(?=>$)/,lookbehind:!0,alias:["language-markup","language-html","language-xml"],inside:e.languages.markup}};function r(e,n){return RegExp(e.replace(//g,(function(){return a})),n)}e.languages.dot={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\/|^#.*/m,greedy:!0},"graph-name":{pattern:r("(\\b(?:digraph|graph|subgraph)[ \t\r\n]+)","i"),lookbehind:!0,greedy:!0,alias:"class-name",inside:n},"attr-value":{pattern:r("(=[ \t\r\n]*)"),lookbehind:!0,greedy:!0,inside:n},"attr-name":{pattern:r("([\\[;, \t\r\n])(?=[ \t\r\n]*=)"),lookbehind:!0,greedy:!0,inside:n},keyword:/\b(?:digraph|edge|graph|node|strict|subgraph)\b/i,"compass-point":{pattern:/(:[ \t\r\n]*)(?:[ewc_]|[ns][ew]?)(?![\w\x80-\uFFFF])/,lookbehind:!0,alias:"builtin"},node:{pattern:r("(^|[^-.\\w\\x80-\\uFFFF\\\\])"),lookbehind:!0,greedy:!0,inside:n},operator:/[=:]|-[->]/,punctuation:/[\[\]{};,]/},e.languages.gv=e.languages.dot}(Prism); Prism.languages.ebnf={comment:/\(\*[\s\S]*?\*\)/,string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0},special:{pattern:/\?[^?\r\n]*\?/,greedy:!0,alias:"class-name"},definition:{pattern:/^([\t ]*)[a-z]\w*(?:[ \t]+[a-z]\w*)*(?=\s*=)/im,lookbehind:!0,alias:["rule","keyword"]},rule:/\b[a-z]\w*(?:[ \t]+[a-z]\w*)*\b/i,punctuation:/\([:/]|[:/]\)|[.,;()[\]{}]/,operator:/[-=|*/!]/}; Prism.languages.editorconfig={comment:/[;#].*/,section:{pattern:/(^[ \t]*)\[.+\]/m,lookbehind:!0,alias:"selector",inside:{regex:/\\\\[\[\]{},!?.*]/,operator:/[!?]|\.\.|\*{1,2}/,punctuation:/[\[\]{},]/}},key:{pattern:/(^[ \t]*)[^\s=]+(?=[ \t]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/=.*/,alias:"attr-value",inside:{punctuation:/^=/}}}; Prism.languages.eiffel={comment:/--.*/,string:[{pattern:/"([^[]*)\[[\s\S]*?\]\1"/,greedy:!0},{pattern:/"([^{]*)\{[\s\S]*?\}\1"/,greedy:!0},{pattern:/"(?:%(?:(?!\n)\s)*\n\s*%|%\S|[^%"\r\n])*"/,greedy:!0}],char:/'(?:%.|[^%'\r\n])+'/,keyword:/\b(?:across|agent|alias|all|and|as|assign|attached|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i,boolean:/\b(?:False|True)\b/i,"class-name":/\b[A-Z][\dA-Z_]*\b/,number:[/\b0[xcb][\da-f](?:_*[\da-f])*\b/i,/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i],punctuation:/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/,operator:/\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/}; !function(a){a.languages.ejs={delimiter:{pattern:/^<%[-_=]?|[-_]?%>$/,alias:"punctuation"},comment:/^#[\s\S]*/,"language-javascript":{pattern:/[\s\S]+/,inside:a.languages.javascript}},a.hooks.add("before-tokenize",(function(e){a.languages["markup-templating"].buildPlaceholders(e,"ejs",/<%(?!%)[\s\S]+?%>/g)})),a.hooks.add("after-tokenize",(function(e){a.languages["markup-templating"].tokenizePlaceholders(e,"ejs")})),a.languages.eta=a.languages.ejs}(Prism); Prism.languages.elixir={doc:{pattern:/@(?:doc|moduledoc)\s+(?:("""|''')[\s\S]*?\1|("|')(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2)/,inside:{attribute:/^@\w+/,string:/['"][\s\S]+/}},comment:{pattern:/#.*/,greedy:!0},regex:{pattern:/~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/,greedy:!0},string:[{pattern:/~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^#\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/,greedy:!0,inside:{}},{pattern:/("""|''')[\s\S]*?\1/,greedy:!0,inside:{}},{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{}}],atom:{pattern:/(^|[^:]):\w+/,lookbehind:!0,alias:"symbol"},module:{pattern:/\b[A-Z]\w*\b/,alias:"class-name"},"attr-name":/\b\w+\??:(?!:)/,argument:{pattern:/(^|[^&])&\d+/,lookbehind:!0,alias:"variable"},attribute:{pattern:/@\w+/,alias:"variable"},function:/\b[_a-zA-Z]\w*[?!]?(?:(?=\s*(?:\.\s*)?\()|(?=\/\d))/,number:/\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,keyword:/\b(?:after|alias|and|case|catch|cond|def(?:callback|delegate|exception|impl|macro|module|n|np|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|quote|raise|require|rescue|try|unless|unquote|use|when)\b/,boolean:/\b(?:false|nil|true)\b/,operator:[/\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,{pattern:/([^<])<(?!<)/,lookbehind:!0},{pattern:/([^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,%\[\]{}()]/},Prism.languages.elixir.string.forEach((function(e){e.inside={interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:Prism.languages.elixir}}}})); Prism.languages.elm={comment:/--.*|\{-[\s\S]*?-\}/,char:{pattern:/'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+|u\{[0-9a-fA-F]+\}))'/,greedy:!0},string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/"(?:[^\\"\r\n]|\\.)*"/,greedy:!0}],"import-statement":{pattern:/(^[\t ]*)import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|exposing|import)\b/}},keyword:/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/,builtin:/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i,operator:/\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/,hvariable:/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/,constant:/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/,punctuation:/[{}[\]|(),.:]/}; Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}; !function(a){a.languages.etlua={delimiter:{pattern:/^<%[-=]?|-?%>$/,alias:"punctuation"},"language-lua":{pattern:/[\s\S]+/,inside:a.languages.lua}},a.hooks.add("before-tokenize",(function(e){a.languages["markup-templating"].buildPlaceholders(e,"etlua",/<%[\s\S]+?%>/g)})),a.hooks.add("after-tokenize",(function(e){a.languages["markup-templating"].tokenizePlaceholders(e,"etlua")}))}(Prism); !function(e){e.languages.erb={delimiter:{pattern:/^(\s*)<%=?|%>(?=\s*$)/,lookbehind:!0,alias:"punctuation"},ruby:{pattern:/\s*\S[\s\S]*/,alias:"language-ruby",inside:e.languages.ruby}},e.hooks.add("before-tokenize",(function(n){e.languages["markup-templating"].buildPlaceholders(n,"erb",/<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s(?:[^\r\n]|[\r\n](?!=end))*[\r\n]=end)+?%>/g)})),e.hooks.add("after-tokenize",(function(n){e.languages["markup-templating"].tokenizePlaceholders(n,"erb")}))}(Prism); Prism.languages.erlang={comment:/%.+/,string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},"quoted-function":{pattern:/'(?:\\.|[^\\'\r\n])+'(?=\()/,alias:"function"},"quoted-atom":{pattern:/'(?:\\.|[^\\'\r\n])+'/,alias:"atom"},boolean:/\b(?:false|true)\b/,keyword:/\b(?:after|begin|case|catch|end|fun|if|of|receive|try|when)\b/,number:[/\$\\?./,/\b\d+#[a-z0-9]+/i,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i],function:/\b[a-z][\w@]*(?=\()/,variable:{pattern:/(^|[^@])(?:\b|\?)[A-Z_][\w@]*/,lookbehind:!0},operator:[/[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:and|andalso|band|bnot|bor|bsl|bsr|bxor|div|not|or|orelse|rem|xor)\b/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],atom:/\b[a-z][\w@]*/,punctuation:/[()[\]{}:;,.#|]|<<|>>/}; Prism.languages["excel-formula"]={comment:{pattern:/(\bN\(\s*)"(?:[^"]|"")*"(?=\s*\))/i,lookbehind:!0,greedy:!0},string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},reference:{pattern:/(?:'[^']*'|(?:[^\s()[\]{}<>*?"';,$&]*\[[^^\s()[\]{}<>*?"']+\])?\w+)!/,greedy:!0,alias:"string",inside:{operator:/!$/,punctuation:/'/,sheet:{pattern:/[^[\]]+$/,alias:"function"},file:{pattern:/\[[^[\]]+\]$/,inside:{punctuation:/[[\]]/}},path:/[\s\S]+/}},"function-name":{pattern:/\b[A-Z]\w*(?=\()/i,alias:"builtin"},range:{pattern:/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i,alias:"selector",inside:{operator:/:/,cell:/\$?[A-Z]+\$?\d+/i,column:/\$?[A-Z]+/i,row:/\$?\d+/}},cell:{pattern:/\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/,alias:"selector"},number:/(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?\b/i,boolean:/\b(?:FALSE|TRUE)\b/i,operator:/[-+*/^%=&,]|<[=>]?|>=?/,punctuation:/[[\]();{}|]/},Prism.languages.xlsx=Prism.languages.xls=Prism.languages["excel-formula"]; Prism.languages.fsharp=Prism.languages.extend("clike",{comment:[{pattern:/(^|[^\\])\(\*(?!\))[\s\S]*?\*\)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?/,greedy:!0},"class-name":{pattern:/(\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[.\w]+\b(?:\s*(?:->|\*)\s*[.\w]+\b)*(?!\s*[:.])/,lookbehind:!0,inside:{operator:/->|\*/,punctuation:/\./}},keyword:/\b(?:let|return|use|yield)(?:!\B|\b)|\b(?:abstract|and|as|asr|assert|atomic|base|begin|break|checked|class|component|const|constraint|constructor|continue|default|delegate|do|done|downcast|downto|eager|elif|else|end|event|exception|extern|external|false|finally|fixed|for|fun|function|functor|global|if|in|include|inherit|inline|interface|internal|land|lazy|lor|lsl|lsr|lxor|match|member|method|mixin|mod|module|mutable|namespace|new|not|null|object|of|open|or|override|parallel|private|process|protected|public|pure|rec|sealed|select|sig|static|struct|tailcall|then|to|trait|true|try|type|upcast|val|virtual|void|volatile|when|while|with)\b/,number:[/\b0x[\da-fA-F]+(?:LF|lf|un)?\b/,/\b0b[01]+(?:uy|y)?\b/,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i,/\b\d+(?:[IlLsy]|UL|u[lsy]?)?\b/],operator:/([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|?|\??(?:<=|>=|<>|[-+*/%=<>])\??|[!?^&]|~[+~-]|:>|:\?>?/}),Prism.languages.insertBefore("fsharp","keyword",{preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(^#)\b(?:else|endif|if|light|line|nowarn)\b/,lookbehind:!0,alias:"keyword"}}}}),Prism.languages.insertBefore("fsharp","punctuation",{"computation-expression":{pattern:/\b[_a-z]\w*(?=\s*\{)/i,alias:"keyword"}}),Prism.languages.insertBefore("fsharp","string",{annotation:{pattern:/\[<.+?>\]/,greedy:!0,inside:{punctuation:/^\[<|>\]$/,"class-name":{pattern:/^\w+$|(^|;\s*)[A-Z]\w*(?=\()/,lookbehind:!0},"annotation-content":{pattern:/[\s\S]+/,inside:Prism.languages.fsharp}}},char:{pattern:/'(?:[^\\']|\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8}))'B?/,greedy:!0}}); !function(e){var t={function:/\b(?:BUGS?|FIX(?:MES?)?|NOTES?|TODOS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/},s={number:/\\[^\s']|%\w/},i={comment:[{pattern:/(^|\s)(?:! .*|!$)/,lookbehind:!0,inside:t},{pattern:/(^|\s)\/\*\s[\s\S]*?\*\/(?=\s|$)/,lookbehind:!0,greedy:!0,inside:t},{pattern:/(^|\s)!\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,lookbehind:!0,greedy:!0,inside:t}],number:[{pattern:/(^|\s)[+-]?\d+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)[+-]?0(?:b[01]+|o[0-7]+|d\d+|x[\dA-F]+)(?=\s|$)/i,lookbehind:!0},{pattern:/(^|\s)[+-]?\d+\/\d+\.?(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)-\d+-\d+\/\d+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)[+-]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:e[+-]?\d+)?(?=\s|$)/i,lookbehind:!0},{pattern:/(^|\s)NAN:\s+[\da-fA-F]+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)[+-]?0(?:b1\.[01]*|o1\.[0-7]*|d1\.\d*|x1\.[\dA-F]*)p\d+(?=\s|$)/i,lookbehind:!0}],regexp:{pattern:/(^|\s)R\/\s(?:\\\S|[^\\/])*\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\s|$)/,lookbehind:!0,alias:"number",inside:{variable:/\\\S/,keyword:/[+?*\[\]^$(){}.|]/,operator:{pattern:/(\/)[idmsr]+(?:-[idmsr]+)?/,lookbehind:!0}}},boolean:{pattern:/(^|\s)[tf](?=\s|$)/,lookbehind:!0},"custom-string":{pattern:/(^|\s)[A-Z0-9\-]+"\s(?:\\\S|[^"\\])*"/,lookbehind:!0,greedy:!0,alias:"string",inside:{number:/\\\S|%\w|\//}},"multiline-string":[{pattern:/(^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/,lookbehind:!0,greedy:!0,alias:"string",inside:{number:s.number,"semicolon-or-setlocal":{pattern:/([\r\n][ \t]*);(?=\s|$)/,lookbehind:!0,alias:"function"}}},{pattern:/(^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/,lookbehind:!0,greedy:!0,alias:"string",inside:s},{pattern:/(^|\s)\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,lookbehind:!0,greedy:!0,alias:"string",inside:s}],"special-using":{pattern:/(^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/,lookbehind:!0,alias:"function",inside:{string:{pattern:/(\s)[^:\s]+/,lookbehind:!0}}},"stack-effect-delimiter":[{pattern:/(^|\s)(?:call|eval|execute)?\((?=\s)/,lookbehind:!0,alias:"operator"},{pattern:/(\s)--(?=\s)/,lookbehind:!0,alias:"operator"},{pattern:/(\s)\)(?=\s|$)/,lookbehind:!0,alias:"operator"}],combinators:{pattern:null,lookbehind:!0,alias:"keyword"},"kernel-builtin":{pattern:null,lookbehind:!0,alias:"variable"},"sequences-builtin":{pattern:null,lookbehind:!0,alias:"variable"},"math-builtin":{pattern:null,lookbehind:!0,alias:"variable"},"constructor-word":{pattern:/(^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/,lookbehind:!0,alias:"keyword"},"other-builtin-syntax":{pattern:null,lookbehind:!0,alias:"operator"},"conventionally-named-word":{pattern:/(^|\s)(?!")(?:(?:change|new|set|with)-\S+|\$\S+|>[^>\s]+|[^:>\s]+>|[^>\s]+>[^>\s]+|\+[^+\s]+\+|[^?\s]+\?|\?[^?\s]+|[^>\s]+>>|>>[^>\s]+|[^<\s]+<<|\([^()\s]+\)|[^!\s]+!|[^*\s]\S*\*|[^.\s]\S*\.)(?=\s|$)/,lookbehind:!0,alias:"keyword"},"colon-syntax":{pattern:/(^|\s)(?:[A-Z0-9\-]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/,lookbehind:!0,greedy:!0,alias:"function"},"semicolon-or-setlocal":{pattern:/(\s)(?:;|:>)(?=\s|$)/,lookbehind:!0,alias:"function"},"curly-brace-literal-delimiter":[{pattern:/(^|\s)[a-z]*\{(?=\s)/i,lookbehind:!0,alias:"operator"},{pattern:/(\s)\}(?=\s|$)/,lookbehind:!0,alias:"operator"}],"quotation-delimiter":[{pattern:/(^|\s)\[(?=\s)/,lookbehind:!0,alias:"operator"},{pattern:/(\s)\](?=\s|$)/,lookbehind:!0,alias:"operator"}],"normal-word":{pattern:/(^|\s)[^"\s]\S*(?=\s|$)/,lookbehind:!0},string:{pattern:/"(?:\\\S|[^"\\])*"/,greedy:!0,inside:s}},n=function(e){return(e+"").replace(/([.?*+\^$\[\]\\(){}|\-])/g,"\\$1")},r=function(e){return new RegExp("(^|\\s)(?:"+e.map(n).join("|")+")(?=\\s|$)")},a={"kernel-builtin":["or","2nipd","4drop","tuck","wrapper","nip","wrapper?","callstack>array","die","dupd","callstack","callstack?","3dup","hashcode","pick","4nip","build",">boolean","nipd","clone","5nip","eq?","?","=","swapd","2over","clear","2dup","get-retainstack","not","tuple?","dup","3nipd","call","-rotd","object","drop","assert=","assert?","-rot","execute","boa","get-callstack","curried?","3drop","pickd","overd","over","roll","3nip","swap","and","2nip","rotd","throw","(clone)","hashcode*","spin","reach","4dup","equal?","get-datastack","assert","2drop","","boolean?","identity-hashcode","identity-tuple?","null","composed?","new","5drop","rot","-roll","xor","identity-tuple","boolean"],"other-builtin-syntax":["=======","recursive","flushable",">>","<<<<<<","M\\","B","PRIVATE>","\\","======","final","inline","delimiter","deprecated",">>>>>","<<<<<<<","parse-complex","malformed-complex","read-only",">>>>>>>","call-next-method","<<","foldable","$","$[","${"],"sequences-builtin":["member-eq?","mismatch","append","assert-sequence=","longer","repetition","clone-like","3sequence","assert-sequence?","last-index-from","reversed","index-from","cut*","pad-tail","join-as","remove-eq!","concat-as","but-last","snip","nths","nth","sequence","longest","slice?","","remove-nth","tail-slice","empty?","tail*","member?","virtual-sequence?","set-length","drop-prefix","iota","unclip","bounds-error?","unclip-last-slice","non-negative-integer-expected","non-negative-integer-expected?","midpoint@","longer?","?set-nth","?first","rest-slice","prepend-as","prepend","fourth","sift","subseq-start","new-sequence","?last","like","first4","1sequence","reverse","slice","virtual@","repetition?","set-last","index","4sequence","max-length","set-second","immutable-sequence","first2","first3","supremum","unclip-slice","suffix!","insert-nth","tail","3append","short","suffix","concat","flip","immutable?","reverse!","2sequence","sum","delete-all","indices","snip-slice","","check-slice","sequence?","head","append-as","halves","sequence=","collapse-slice","?second","slice-error?","product","bounds-check?","bounds-check","immutable","virtual-exemplar","harvest","remove","pad-head","last","set-fourth","cartesian-product","remove-eq","shorten","shorter","reversed?","shorter?","shortest","head-slice","pop*","tail-slice*","but-last-slice","iota?","append!","cut-slice","new-resizable","head-slice*","sequence-hashcode","pop","set-nth","?nth","second","join","immutable-sequence?","","3append-as","virtual-sequence","subseq?","remove-nth!","length","last-index","lengthen","assert-sequence","copy","move","third","first","tail?","set-first","prefix","bounds-error","","exchange","surround","cut","min-length","set-third","push-all","head?","subseq-start-from","delete-slice","rest","sum-lengths","head*","infimum","remove!","glue","slice-error","subseq","push","replace-slice","subseq-as","unclip-last"],"math-builtin":["number=","next-power-of-2","?1+","fp-special?","imaginary-part","float>bits","number?","fp-infinity?","bignum?","fp-snan?","denominator","gcd","*","+","fp-bitwise=","-","u>=","/",">=","bitand","power-of-2?","log2-expects-positive","neg?","<","log2",">","integer?","number","bits>double","2/","zero?","bits>float","float?","shift","ratio?","rect>","even?","ratio","fp-sign","bitnot",">fixnum","complex?","/i","integer>fixnum","/f","sgn",">bignum","next-float","u<","u>","mod","recip","rational",">float","2^","integer","fixnum?","neg","fixnum","sq","bignum",">rect","bit?","fp-qnan?","simple-gcd","complex","","real",">fraction","double>bits","bitor","rem","fp-nan-payload","real-part","log2-expects-positive?","prev-float","align","unordered?","float","fp-nan?","abs","bitxor","integer>fixnum-strict","u<=","odd?","<=","/mod",">integer","real?","rational?","numerator"]};Object.keys(a).forEach((function(e){i[e].pattern=r(a[e])})),i.combinators.pattern=r(["2bi","while","2tri","bi*","4dip","both?","same?","tri@","curry","prepose","3bi","?if","tri*","2keep","3keep","curried","2keepd","when","2bi*","2tri*","4keep","bi@","keepdd","do","unless*","tri-curry","if*","loop","bi-curry*","when*","2bi@","2tri@","with","2with","either?","bi","until","3dip","3curry","tri-curry*","tri-curry@","bi-curry","keepd","compose","2dip","if","3tri","unless","tuple","keep","2curry","tri","most","while*","dip","composed","bi-curry@","find-last-from","trim-head-slice","map-as","each-from","none?","trim-tail","partition","if-empty","accumulate*","reject!","find-from","accumulate-as","collector-for-as","reject","map","map-sum","accumulate!","2each-from","follow","supremum-by","map!","unless-empty","collector","padding","reduce-index","replicate-as","infimum-by","trim-tail-slice","count","find-index","filter","accumulate*!","reject-as","map-integers","map-find","reduce","selector","interleave","2map","filter-as","binary-reduce","map-index-as","find","produce","filter!","replicate","cartesian-map","cartesian-each","find-index-from","map-find-last","3map-as","3map","find-last","selector-as","2map-as","2map-reduce","accumulate","each","each-index","accumulate*-as","when-empty","all?","collector-as","push-either","new-like","collector-for","2selector","push-if","2all?","map-reduce","3each","any?","trim-slice","2reduce","change-nth","produce-as","2each","trim","trim-head","cartesian-find","map-index","if-zero","each-integer","unless-zero","(find-integer)","when-zero","find-last-integer","(all-integers?)","times","(each-integer)","find-integer","all-integers?","unless-negative","if-positive","when-positive","when-negative","unless-positive","if-negative","case","2cleave","cond>quot","case>quot","3cleave","wrong-values","to-fixed-point","alist>quot","cond","cleave","call-effect","recursive-hashcode","spread","deep-spread>quot","2||","0||","n||","0&&","2&&","3||","1||","1&&","n&&","3&&","smart-unless*","keep-inputs","reduce-outputs","smart-when*","cleave>array","smart-with","smart-apply","smart-if","inputs/outputs","output>sequence-n","map-outputs","map-reduce-outputs","dropping","output>array","smart-map-reduce","smart-2map-reduce","output>array-n","nullary","inputsequence"]),e.languages.factor=i}(Prism); !function(a){a.languages.false={comment:{pattern:/\{[^}]*\}/},string:{pattern:/"[^"]*"/,greedy:!0},"character-code":{pattern:/'(?:[^\r]|\r\n?)/,alias:"number"},"assembler-code":{pattern:/\d+`/,alias:"important"},number:/\d+/,operator:/[-!#$%&'*+,./:;=>?@\\^_`|~ßø]/,punctuation:/\[|\]/,variable:/[a-z]/,"non-standard":{pattern:/[()!=]=?|[-+*/%]|\b(?:in|is)\b/}),delete Prism.languages["firestore-security-rules"]["class-name"],Prism.languages.insertBefore("firestore-security-rules","keyword",{path:{pattern:/(^|[\s(),])(?:\/(?:[\w\xA0-\uFFFF]+|\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)))+/,lookbehind:!0,greedy:!0,inside:{variable:{pattern:/\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)/,inside:{operator:/=/,keyword:/\*\*/,punctuation:/[.$(){}]/}},punctuation:/\//}},method:{pattern:/(\ballow\s+)[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/,lookbehind:!0,alias:"builtin",inside:{punctuation:/,/}}}); !function(a){a.languages.flow=a.languages.extend("javascript",{}),a.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),a.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete a.languages.flow.parameter,a.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(a.languages.flow.keyword)||(a.languages.flow.keyword=[a.languages.flow.keyword]),a.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(Prism); Prism.languages.fortran={"quoted-number":{pattern:/[BOZ](['"])[A-F0-9]+\1/i,alias:"number"},string:{pattern:/(?:\b\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(?:[ \t]*!.*(?:\r\n?|\n)|(?![ \t]*!))|(?!\1).)*(?:\1|&)/,inside:{comment:{pattern:/(&(?:\r\n?|\n)\s*)!.*/,lookbehind:!0}}},comment:{pattern:/!.*/,greedy:!0},boolean:/\.(?:FALSE|TRUE)\.(?:_\w+)?/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[ED][+-]?\d+)?(?:_\w+)?/i,keyword:[/\b(?:CHARACTER|COMPLEX|DOUBLE ?PRECISION|INTEGER|LOGICAL|REAL)\b/i,/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i,/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i,/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEIF|ELSEWHERE|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i],operator:[/\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.[A-Z]+\./i,{pattern:/(^|(?!\().)\/(?!\))/,lookbehind:!0}],punctuation:/\(\/|\/\)|[(),;:&]/}; !function(e){for(var t="[^<()\"']|\\((?:)*\\)|<(?!#--)|<#--(?:[^-]|-(?!->))*--\x3e|\"(?:[^\\\\\"]|\\\\.)*\"|'(?:[^\\\\']|\\\\.)*'",n=0;n<2;n++)t=t.replace(//g,(function(){return t}));t=t.replace(//g,"[^\\s\\S]");var i={comment:/<#--[\s\S]*?-->/,string:[{pattern:/\br("|')(?:(?!\1)[^\\]|\\.)*\1/,greedy:!0},{pattern:RegExp("(\"|')(?:(?!\\1|\\$\\{)[^\\\\]|\\\\.|\\$\\{(?:(?!\\})(?:))*\\})*\\1".replace(//g,(function(){return t}))),greedy:!0,inside:{interpolation:{pattern:RegExp("((?:^|[^\\\\])(?:\\\\\\\\)*)\\$\\{(?:(?!\\})(?:))*\\}".replace(//g,(function(){return t}))),lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:null}}}}],keyword:/\b(?:as)\b/,boolean:/\b(?:false|true)\b/,"builtin-function":{pattern:/((?:^|[^?])\?\s*)\w+/,lookbehind:!0,alias:"function"},function:/\b\w+(?=\s*\()/,number:/\b\d+(?:\.\d+)?\b/,operator:/\.\.[<*!]?|->|--|\+\+|&&|\|\||\?{1,2}|[-+*/%!=<>]=?|\b(?:gt|gte|lt|lte)\b/,punctuation:/[,;.:()[\]{}]/};i.string[1].inside.interpolation.inside.rest=i,e.languages.ftl={"ftl-comment":{pattern:/^<#--[\s\S]*/,alias:"comment"},"ftl-directive":{pattern:/^<[\s\S]+>$/,inside:{directive:{pattern:/(^<\/?)[#@][a-z]\w*/i,lookbehind:!0,alias:"keyword"},punctuation:/^<\/?|\/?>$/,content:{pattern:/\s*\S[\s\S]*/,alias:"ftl",inside:i}}},"ftl-interpolation":{pattern:/^\$\{[\s\S]*\}$/,inside:{punctuation:/^\$\{|\}$/,content:{pattern:/\s*\S[\s\S]*/,alias:"ftl",inside:i}}}},e.hooks.add("before-tokenize",(function(n){var i=RegExp("<#--[^]*?--\x3e|)*?>|\\$\\{(?:)*?\\}".replace(//g,(function(){return t})),"gi");e.languages["markup-templating"].buildPlaceholders(n,"ftl",i)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"ftl")}))}(Prism); Prism.languages.gamemakerlanguage=Prism.languages.gml=Prism.languages.extend("clike",{keyword:/\b(?:break|case|continue|default|do|else|enum|exit|for|globalvar|if|repeat|return|switch|until|var|while)\b/,number:/(?:\b0x[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ulf]{0,4}/i,operator:/--|\+\+|[-+%/=]=?|!=|\*\*?=?|<[<=>]?|>[=>]?|&&?|\^\^?|\|\|?|~|\b(?:and|at|not|or|with|xor)\b/,constant:/\b(?:GM_build_date|GM_version|action_(?:continue|restart|reverse|stop)|all|gamespeed_(?:fps|microseconds)|global|local|noone|other|pi|pointer_(?:invalid|null)|self|timezone_(?:local|utc)|undefined|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|post|pre)|keypress|keyrelease|trigger|(?:left|middle|no|right)_button|(?:left|middle|right)_press|(?:left|middle|right)_release|mouse_(?:enter|leave|wheel_down|wheel_up)|global_(?:left|middle|right)_button|global_(?:left|middle|right)_press|global_(?:left|middle|right)_release|joystick(?:1|2)_(?:button1|button2|button3|button4|button5|button6|button7|button8|down|left|right|up)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|gui|gui_begin|gui_end|step_(?:begin|end|normal))|vk_(?:alt|anykey|backspace|control|delete|down|end|enter|escape|home|insert|left|nokey|pagedown|pageup|pause|printscreen|return|right|shift|space|tab|up|f\d|numpad\d|add|decimal|divide|lalt|lcontrol|lshift|multiply|ralt|rcontrol|rshift|subtract)|achievement_(?:filter_(?:all_players|favorites_only|friends_only)|friends_info|info|leaderboard_info|our_info|pic_loaded|show_(?:achievement|bank|friend_picker|leaderboard|profile|purchase_prompt|ui)|type_challenge|type_score_challenge)|asset_(?:font|object|path|room|script|shader|sound|sprite|tiles|timeline|unknown)|audio_(?:3d|falloff_(?:exponent_distance|exponent_distance_clamped|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|none)|mono|new_system|old_system|stereo)|bm_(?:add|complex|dest_alpha|dest_color|dest_colour|inv_dest_alpha|inv_dest_color|inv_dest_colour|inv_src_alpha|inv_src_color|inv_src_colour|max|normal|one|src_alpha|src_alpha_sat|src_color|src_colour|subtract|zero)|browser_(?:chrome|firefox|ie|ie_mobile|not_a_browser|opera|safari|safari_mobile|tizen|unknown|windows_store)|buffer_(?:bool|f16|f32|f64|fast|fixed|generalerror|grow|invalidtype|network|outofbounds|outofspace|s16|s32|s8|seek_end|seek_relative|seek_start|string|text|u16|u32|u64|u8|vbuffer|wrap)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)|cmpfunc_(?:always|equal|greater|greaterequal|less|lessequal|never|notequal)|cr_(?:appstart|arrow|beam|cross|default|drag|handpoint|hourglass|none|size_all|size_nesw|size_ns|size_nwse|size_we|uparrow)|cull_(?:clockwise|counterclockwise|noculling)|device_(?:emulator|tablet)|device_ios_(?:ipad|ipad_retina|iphone|iphone5|iphone6|iphone6plus|iphone_retina|unknown)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|dll_(?:cdecl|cdel|stdcall)|ds_type_(?:grid|list|map|priority|queue|stack)|ef_(?:cloud|ellipse|explosion|firework|flare|rain|ring|smoke|smokeup|snow|spark|star)|fa_(?:archive|bottom|center|directory|hidden|left|middle|readonly|right|sysfile|top|volumeid)|fb_login_(?:default|fallback_to_webview|forcing_safari|forcing_webview|no_fallback_to_webview|use_system_account)|iap_(?:available|canceled|ev_consume|ev_product|ev_purchase|ev_restore|ev_storeload|failed|purchased|refunded|status_available|status_loading|status_processing|status_restoring|status_unavailable|status_uninitialised|storeload_failed|storeload_ok|unavailable)|leaderboard_type_(?:number|time_mins_secs)|lighttype_(?:dir|point)|matrix_(?:projection|view|world)|mb_(?:any|left|middle|none|right)|network_(?:config_(?:connect_timeout|disable_reliable_udp|enable_reliable_udp|use_non_blocking_socket)|socket_(?:bluetooth|tcp|udp)|type_(?:connect|data|disconnect|non_blocking_connect))|of_challenge_(?:lose|tie|win)|os_(?:android|ios|linux|macosx|ps3|ps4|psvita|unknown|uwp|win32|win8native|windows|winphone|xboxone)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|angle|angle_limits|damping_ratio|frequency|length_1|length_2|lower_angle_limit|max_force|max_length|max_motor_force|max_motor_torque|max_torque|motor_force|motor_speed|motor_torque|reaction_force_x|reaction_force_y|reaction_torque|speed|translation|upper_angle_limit)|phy_particle_data_flag_(?:category|color|colour|position|typeflags|velocity)|phy_particle_flag_(?:colormixing|colourmixing|elastic|powder|spring|tensile|viscous|wall|water|zombie)|phy_particle_group_flag_(?:rigid|solid)|pr_(?:linelist|linestrip|pointlist|trianglefan|trianglelist|trianglestrip)|ps_(?:distr|shape)_(?:diamond|ellipse|gaussian|invgaussian|line|linear|rectangle)|pt_shape_(?:circle|cloud|disk|explosion|flare|line|pixel|ring|smoke|snow|spark|sphere|square|star)|ty_(?:real|string)|gp_(?:face\d|axislh|axislv|axisrh|axisrv|padd|padl|padr|padu|select|shoulderl|shoulderlb|shoulderr|shoulderrb|start|stickl|stickr)|lb_disp_(?:none|numeric|time_ms|time_sec)|lb_sort_(?:ascending|descending|none)|ov_(?:achievements|community|friends|gamegroup|players|settings)|ugc_(?:filetype_(?:community|microtrans)|list_(?:Favorited|Followed|Published|Subscribed|UsedOrPlayed|VotedDown|VotedOn|VotedUp|WillVoteLater)|match_(?:AllGuides|Artwork|Collections|ControllerBindings|IntegratedGuides|Items|Items_Mtx|Items_ReadyToUse|Screenshots|UsableInGame|Videos|WebGuides)|query_(?:AcceptedForGameRankedByAcceptanceDate|CreatedByFriendsRankedByPublicationDate|FavoritedByFriendsRankedByPublicationDate|NotYetRated)|query_RankedBy(?:NumTimesReported|PublicationDate|TextSearch|TotalVotesAsc|Trend|Vote|VotesUp)|result_success|sortorder_CreationOrder(?:Asc|Desc)|sortorder_(?:ForModeration|LastUpdatedDesc|SubscriptionDateDesc|TitleAsc|VoteScoreDesc)|visibility_(?:friends_only|private|public))|vertex_usage_(?:binormal|blendindices|blendweight|color|colour|depth|fog|normal|position|psize|sample|tangent|texcoord|textcoord)|vertex_type_(?:float\d|color|colour|ubyte4)|input_type|layerelementtype_(?:background|instance|oldtilemap|particlesystem|sprite|tile|tilemap|undefined)|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|tile_(?:flip|index_mask|mirror|rotate)|(?:obj|rm|scr|spr)\w+)\b/,variable:/\b(?:alarm|application_surface|async_load|background_(?:alpha|blend|color|colour|foreground|height|hspeed|htiled|index|showcolor|showcolour|visible|vspeed|vtiled|width|x|xscale|y|yscale)|bbox_(?:bottom|left|right|top)|browser_(?:height|width)|caption_(?:health|lives|score)|current_(?:day|hour|minute|month|second|time|weekday|year)|cursor_sprite|debug_mode|delta_time|direction|display_aa|error_(?:last|occurred)|event_(?:action|number|object|type)|fps|fps_real|friction|game_(?:display|project|save)_(?:id|name)|gamemaker_(?:pro|registered|version)|gravity|gravity_direction|(?:h|v)speed|health|iap_data|id|image_(?:alpha|angle|blend|depth|index|number|speed|xscale|yscale)|instance_(?:count|id)|keyboard_(?:key|lastchar|lastkey|string)|layer|lives|mask_index|mouse_(?:button|lastbutton|x|y)|object_index|os_(?:browser|device|type|version)|path_(?:endaction|index|orientation|position|positionprevious|scale|speed)|persistent|phy_(?:rotation|(?:col_normal|collision|com|linear_velocity|position|speed)_(?:x|y)|angular_(?:damping|velocity)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|pointer_(?:invalid|null)|room|room_(?:caption|first|height|last|persistent|speed|width)|score|secure_mode|show_(?:health|lives|score)|solid|speed|sprite_(?:height|index|width|xoffset|yoffset)|temp_directory|timeline_(?:index|loop|position|running|speed)|transition_(?:color|kind|steps)|undefined|view_(?:angle|current|enabled|(?:h|v)(?:border|speed)|(?:h|w|x|y)port|(?:h|w|x|y)view|object|surface_id|visible)|visible|webgl_enabled|working_directory|(?:x|y)(?:previous|start)|x|y|argument(?:_relitive|_count|\d)|argument|global|local|other|self)\b/}); Prism.languages.gap={shell:{pattern:/^gap>[\s\S]*?(?=^gap>|$(?![\s\S]))/m,greedy:!0,inside:{gap:{pattern:/^(gap>).+(?:(?:\r(?:\n|(?!\n))|\n)>.*)*/,lookbehind:!0,inside:null},punctuation:/^gap>/}},comment:{pattern:/#.*/,greedy:!0},string:{pattern:/(^|[^\\'"])(?:'(?:[^\r\n\\']|\\.){1,10}'|"(?:[^\r\n\\"]|\\.)*"(?!")|"""[\s\S]*?""")/,lookbehind:!0,greedy:!0,inside:{continuation:{pattern:/([\r\n])>/,lookbehind:!0,alias:"punctuation"}}},keyword:/\b(?:Assert|Info|IsBound|QUIT|TryNextMethod|Unbind|and|atomic|break|continue|do|elif|else|end|fi|for|function|if|in|local|mod|not|od|or|quit|readonly|readwrite|rec|repeat|return|then|until|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:{pattern:/(^|[^\w.]|\.\.)(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?:_[a-z]?)?(?=$|[^\w.]|\.\.)/,lookbehind:!0},continuation:{pattern:/([\r\n])>/,lookbehind:!0,alias:"punctuation"},operator:/->|[-+*/^~=!]|<>|[<>]=?|:=|\.\./,punctuation:/[()[\]{},;.:]/},Prism.languages.gap.shell.inside.gap.inside=Prism.languages.gap; Prism.languages.gcode={comment:/;.*|\B\(.*?\)\B/,string:{pattern:/"(?:""|[^"])*"/,greedy:!0},keyword:/\b[GM]\d+(?:\.\d+)?\b/,property:/\b[A-Z]/,checksum:{pattern:/(\*)\d+/,lookbehind:!0,alias:"number"},punctuation:/[:*]/}; Prism.languages.gdscript={comment:/#.*/,string:{pattern:/@?(?:("|')(?:(?!\1)[^\n\\]|\\[\s\S])*\1(?!"|')|"""(?:[^\\]|\\[\s\S])*?""")/,greedy:!0},"class-name":{pattern:/(^(?:class|class_name|extends)[ \t]+|^export\([ \t]*|\bas[ \t]+|(?:\b(?:const|var)[ \t]|[,(])[ \t]*\w+[ \t]*:[ \t]*|->[ \t]*)[a-zA-Z_]\w*/m,lookbehind:!0},keyword:/\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/,function:/\b[a-z_]\w*(?=[ \t]*\()/i,variable:/\$\w+/,number:[/\b0b[01_]+\b|\b0x[\da-fA-F_]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[+-]?[\d_]+)?\b/,/\b(?:INF|NAN|PI|TAU)\b/],constant:/\b[A-Z][A-Z_\d]*\b/,boolean:/\b(?:false|true)\b/,operator:/->|:=|&&|\|\||<<|>>|[-+*/%&|!<>=]=?|[~^]/,punctuation:/[.:,;()[\]{}]/}; Prism.languages.gedcom={"line-value":{pattern:/(^[\t ]*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?\w+ ).+/m,lookbehind:!0,inside:{pointer:{pattern:/^@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@$/,alias:"variable"}}},record:{pattern:/(^[\t ]*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?)\w+/m,lookbehind:!0,alias:"tag"},level:{pattern:/(^[\t ]*)\d+/m,lookbehind:!0,alias:"number"},pointer:{pattern:/@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@/,alias:"variable"}}; Prism.languages.gettext={comment:[{pattern:/# .*/,greedy:!0,alias:"translator-comment"},{pattern:/#\..*/,greedy:!0,alias:"extracted-comment"},{pattern:/#:.*/,greedy:!0,alias:"reference-comment"},{pattern:/#,.*/,greedy:!0,alias:"flag-comment"},{pattern:/#\|.*/,greedy:!0,alias:"previously-untranslated-comment"},{pattern:/#.*/,greedy:!0}],string:{pattern:/(^|[^\\])"(?:[^"\\]|\\.)*"/,lookbehind:!0,greedy:!0},keyword:/^msg(?:ctxt|id|id_plural|str)\b/m,number:/\b\d+\b/,punctuation:/[\[\]]/},Prism.languages.po=Prism.languages.gettext; !function(a){var n="(?:\r?\n|\r)[ \t]*\\|.+\\|(?:(?!\\|).)*";a.languages.gherkin={pystring:{pattern:/("""|''')[\s\S]+?\1/,alias:"string"},comment:{pattern:/(^[ \t]*)#.*/m,lookbehind:!0},tag:{pattern:/(^[ \t]*)@\S*/m,lookbehind:!0},feature:{pattern:/((?:^|\r?\n|\r)[ \t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|Lastnost|Mak|Mogucnost|laH|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|Potrzeba biznesowa|perbogh|poQbogh malja'|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):(?:[^:\r\n]+(?:\r?\n|\r|$))*/,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]+/,lookbehind:!0},keyword:/[^:\r\n]+:/}},scenario:{pattern:/(^[ \t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram Senaryo|Dyagram senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|EXAMPLZ|Examples|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|Grundlage|Hannergrond|ghantoH|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut chovnatlh|lut|lutmey|Lýsing Atburðarásar|Lýsing Dæma|MISHUN SRSLY|MISHUN|Menggariskan Senario|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan Senaryo|Plan senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo Deskripsyon|Senaryo deskripsyon|Senaryo|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie Uiteensetting|Situasie|Skenario konsep|Skenario|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa hwaer swa|Swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\r\n]*/m,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]*/,lookbehind:!0},keyword:/[^:\r\n]+:/}},"table-body":{pattern:RegExp("("+n+")(?:"+n+")+"),lookbehind:!0,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"},td:{pattern:/\s*[^\s|][^|]*/,alias:"string"},punctuation:/\|/}},"table-head":{pattern:RegExp(n),inside:{th:{pattern:/\s*[^\s|][^|]*/,alias:"variable"},punctuation:/\|/}},atrule:{pattern:/(^[ \t]+)(?:'a|'ach|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cand|Cando|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|DEN|Dato|De|Den youse gotta|Dengan|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|E|En|Entonces|Epi|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kad|Kada|Kadar|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Ma|Majd|Maka|Manawa|Mas|Men|Menawa|Mutta|Nalika|Nalikaning|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Och|Og|Oletetaan|Ond|Onda|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|Quan|Quand|Quando|qaSDI'|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|Un|Und|ugeholl|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadan|Zadani|Zadano|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \t])/m,lookbehind:!0},string:{pattern:/"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"}}},outline:{pattern:/<[^>]+>/,alias:"variable"}}}(Prism); Prism.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m}; Prism.languages.glsl=Prism.languages.extend("c",{keyword:/\b(?:active|asm|atomic_uint|attribute|[ibdu]?vec[234]|bool|break|buffer|case|cast|centroid|class|coherent|common|const|continue|d?mat[234](?:x[234])?|default|discard|do|double|else|enum|extern|external|false|filter|fixed|flat|float|for|fvec[234]|goto|half|highp|hvec[234]|[iu]?sampler2DMS(?:Array)?|[iu]?sampler2DRect|[iu]?samplerBuffer|[iu]?samplerCube|[iu]?samplerCubeArray|[iu]?sampler[123]D|[iu]?sampler[12]DArray|[iu]?image2DMS(?:Array)?|[iu]?image2DRect|[iu]?imageBuffer|[iu]?imageCube|[iu]?imageCubeArray|[iu]?image[123]D|[iu]?image[12]DArray|if|in|inline|inout|input|int|interface|invariant|layout|long|lowp|mediump|namespace|noinline|noperspective|out|output|partition|patch|precise|precision|public|readonly|resource|restrict|return|sample|sampler[12]DArrayShadow|sampler[12]DShadow|sampler2DRectShadow|sampler3DRect|samplerCubeArrayShadow|samplerCubeShadow|shared|short|sizeof|smooth|static|struct|subroutine|superp|switch|template|this|true|typedef|uint|uniform|union|unsigned|using|varying|void|volatile|while|writeonly)\b/}); Prism.languages.gn={comment:{pattern:/#.*/,greedy:!0},"string-literal":{pattern:/(^|[^\\"])"(?:[^\r\n"\\]|\\.)*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[\s\S]*?\}|[a-zA-Z_]\w*|0x[a-fA-F0-9]{2})/,lookbehind:!0,inside:{number:/^\$0x[\s\S]{2}$/,variable:/^\$\w+$/,"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:null}}},string:/[\s\S]+/}},keyword:/\b(?:else|if)\b/,boolean:/\b(?:false|true)\b/,"builtin-function":{pattern:/\b(?:assert|defined|foreach|import|pool|print|template|tool|toolchain)(?=\s*\()/i,alias:"keyword"},function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:current_cpu|current_os|current_toolchain|default_toolchain|host_cpu|host_os|root_build_dir|root_gen_dir|root_out_dir|target_cpu|target_gen_dir|target_os|target_out_dir)\b/,number:/-?\b\d+\b/,operator:/[-+!=<>]=?|&&|\|\|/,punctuation:/[(){}[\],.]/},Prism.languages.gn["string-literal"].inside.interpolation.inside.expression.inside=Prism.languages.gn,Prism.languages.gni=Prism.languages.gn; Prism.languages["linker-script"]={comment:{pattern:/(^|\s)\/\*[\s\S]*?(?:$|\*\/)/,lookbehind:!0,greedy:!0},identifier:{pattern:/"[^"\r\n]*"/,greedy:!0},"location-counter":{pattern:/\B\.\B/,alias:"important"},section:{pattern:/(^|[^\w*])\.\w+\b/,lookbehind:!0,alias:"keyword"},function:/\b[A-Z][A-Z_]*(?=\s*\()/,number:/\b(?:0[xX][a-fA-F0-9]+|\d+)[KM]?\b/,operator:/>>=?|<<=?|->|\+\+|--|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?/,punctuation:/[(){},;]/},Prism.languages.ld=Prism.languages["linker-script"]; Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete Prism.languages.go["class-name"]; Prism.languages["go-mod"]=Prism.languages["go-module"]={comment:{pattern:/\/\/.*/,greedy:!0},version:{pattern:/(^|[\s()[\],])v\d+\.\d+\.\d+(?:[+-][-+.\w]*)?(?![^\s()[\],])/,lookbehind:!0,alias:"number"},"go-version":{pattern:/((?:^|\s)go\s+)\d+(?:\.\d+){1,2}/,lookbehind:!0,alias:"number"},keyword:{pattern:/^([ \t]*)(?:exclude|go|module|replace|require|retract)\b/m,lookbehind:!0},operator:/=>/,punctuation:/[()[\],]/}; !function(e){var n={pattern:/((?:^|[^\\$])(?:\\{2})*)\$(?:\w+|\{[^{}]*\})/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:null}}};e.languages.gradle=e.languages.extend("clike",{string:{pattern:/'''(?:[^\\]|\\[\s\S])*?'''|'(?:\\.|[^\\'\r\n])*'/,greedy:!0},keyword:/\b(?:apply|def|dependencies|else|if|implementation|import|plugin|plugins|project|repositories|repository|sourceSets|tasks|val)\b/,number:/\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?\d+)?)[glidf]?\b/i,operator:{pattern:/(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,lookbehind:!0},punctuation:/\.+|[{}[\];(),:$]/}),e.languages.insertBefore("gradle","string",{shebang:{pattern:/#!.+/,alias:"comment",greedy:!0},"interpolation-string":{pattern:/"""(?:[^\\]|\\[\s\S])*?"""|(["/])(?:\\.|(?!\1)[^\\\r\n])*\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/,greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}}}),e.languages.insertBefore("gradle","punctuation",{"spock-block":/\b(?:and|cleanup|expect|given|setup|then|when|where):/}),e.languages.insertBefore("gradle","function",{annotation:{pattern:/(^|[^.])@\w+/,lookbehind:!0,alias:"punctuation"}}),n.inside.expression.inside=e.languages.gradle}(Prism); Prism.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:Prism.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},Prism.hooks.add("after-tokenize",(function(n){if("graphql"===n.language)for(var t=n.tokens.filter((function(n){return"string"!=typeof n&&"comment"!==n.type&&"scalar"!==n.type})),e=0;e0)){var s=f(/^\{$/,/^\}$/);if(-1===s)continue;for(var u=e;u=0&&b(p,"variable-input")}}}}function l(n){return t[e+n]}function c(n,t){t=t||0;for(var e=0;e]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,lookbehind:!0},punctuation:/\.+|[{}[\];(),:$]/}),e.languages.insertBefore("groovy","string",{shebang:{pattern:/#!.+/,alias:"comment",greedy:!0},"interpolation-string":{pattern:/"""(?:[^\\]|\\[\s\S])*?"""|(["/])(?:\\.|(?!\1)[^\\\r\n])*\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/,greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}}}),e.languages.insertBefore("groovy","punctuation",{"spock-block":/\b(?:and|cleanup|expect|given|setup|then|when|where):/}),e.languages.insertBefore("groovy","function",{annotation:{pattern:/(^|[^.])@\w+/,lookbehind:!0,alias:"punctuation"}}),n.inside.expression.inside=e.languages.groovy}(Prism); !function(n){n.languages.haml={"multiline-comment":{pattern:/((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ].+)*/,lookbehind:!0,alias:"comment"},"multiline-code":[{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ].*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ].+)/,lookbehind:!0,inside:n.languages.ruby},{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ].*\|[\t ]*)*/,lookbehind:!0,inside:n.languages.ruby}],filter:{pattern:/((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"symbol"}}},markup:{pattern:/((?:^|\r?\n|\r)[\t ]*)<.+/,lookbehind:!0,inside:n.languages.markup},doctype:{pattern:/((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/,lookbehind:!0},tag:{pattern:/((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^{}])+\}|\[[^\]]+\])*[\/<>]*/,lookbehind:!0,inside:{attributes:[{pattern:/(^|[^#])\{(?:\{[^}]+\}|[^{}])+\}/,lookbehind:!0,inside:n.languages.ruby},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/,lookbehind:!0},"attr-name":/[\w:-]+(?=\s*!?=|\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\[[^\]]+\]/,inside:n.languages.ruby}],punctuation:/[<>]/}},code:{pattern:/((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:n.languages.ruby},interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},ruby:{pattern:/[\s\S]+/,inside:n.languages.ruby}}},punctuation:{pattern:/((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/,lookbehind:!0}};for(var e=["css",{filter:"coffee",language:"coffeescript"},"erb","javascript","less","markdown","ruby","scss","textile"],t={},r=0,a=e.length;r@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},a.hooks.add("before-tokenize",(function(e){a.languages["markup-templating"].buildPlaceholders(e,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),a.hooks.add("after-tokenize",(function(e){a.languages["markup-templating"].tokenizePlaceholders(e,"handlebars")})),a.languages.hbs=a.languages.handlebars,a.languages.mustache=a.languages.handlebars}(Prism); Prism.languages.haskell={comment:{pattern:/(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\/].*|$)|\{-[\s\S]*?-\})/m,lookbehind:!0},char:{pattern:/'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|ACK|BEL|BS|CAN|CR|DC1|DC2|DC3|DC4|DEL|DLE|EM|ENQ|EOT|ESC|ETB|ETX|FF|FS|GS|HT|LF|NAK|NUL|RS|SI|SO|SOH|SP|STX|SUB|SYN|US|VT|\d+|o[0-7]+|x[0-9a-fA-F]+))'/,alias:"string"},string:{pattern:/"(?:[^\\"]|\\(?:\S|\s+\\))*"/,greedy:!0},keyword:/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/,"import-statement":{pattern:/(^[\t ]*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|hiding|import|qualified)\b/,punctuation:/\./}},builtin:/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i,operator:[{pattern:/`(?:[A-Z][\w']*\.)*[_a-z][\w']*`/,greedy:!0},{pattern:/(\s)\.(?=\s)/,lookbehind:!0},/[-!#$%*+=?&@|~:<>^\\\/][-!#$%*+=?&@|~.:<>^\\\/]*|\.[-!#$%*+=?&@|~.:<>^\\\/]+/],hvariable:{pattern:/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*/,inside:{punctuation:/\./}},constant:{pattern:/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:]/},Prism.languages.hs=Prism.languages.haskell; Prism.languages.haxe=Prism.languages.extend("clike",{string:{pattern:/"(?:[^"\\]|\\[\s\S])*"/,greedy:!0},"class-name":[{pattern:/(\b(?:abstract|class|enum|extends|implements|interface|new|typedef)\s+)[A-Z_]\w*/,lookbehind:!0},/\b[A-Z]\w*/],keyword:/\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|final|for|from|function|if|implements|import|in|inline|interface|macro|new|null|operator|overload|override|package|private|public|return|static|super|switch|throw|to|try|typedef|untyped|using|var|while)(?!\.)\b/,function:{pattern:/\b[a-z_]\w*(?=\s*(?:<[^<>]*>\s*)?\()/i,greedy:!0},operator:/\.{3}|\+\+|--|&&|\|\||->|=>|(?:<{1,3}|[-+*/%!=&|^])=?|[?:~]/}),Prism.languages.insertBefore("haxe","string",{"string-interpolation":{pattern:/'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{interpolation:{pattern:/(^|[^\\])\$(?:\w+|\{[^{}]+\})/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:Prism.languages.haxe}}},string:/[\s\S]+/}}}),Prism.languages.insertBefore("haxe","class-name",{regex:{pattern:/~\/(?:[^\/\\\r\n]|\\.)+\/[a-z]*/,greedy:!0,inside:{"regex-flags":/\b[a-z]+$/,"regex-source":{pattern:/^(~\/)[\s\S]+(?=\/$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^~\/|\/$/}}}),Prism.languages.insertBefore("haxe","keyword",{preprocessor:{pattern:/#(?:else|elseif|end|if)\b.*/,alias:"property"},metadata:{pattern:/@:?[\w.]+/,alias:"symbol"},reification:{pattern:/\$(?:\w+|(?=\{))/,alias:"important"}}); Prism.languages.hcl={comment:/(?:\/\/|#).*|\/\*[\s\S]*?(?:\*\/|$)/,heredoc:{pattern:/<<-?(\w+\b)[\s\S]*?^[ \t]*\1/m,greedy:!0,alias:"string"},keyword:[{pattern:/(?:data|resource)\s+(?:"(?:\\[\s\S]|[^\\"])*")(?=\s+"[\w-]+"\s+\{)/i,inside:{type:{pattern:/(resource|data|\s+)(?:"(?:\\[\s\S]|[^\\"])*")/i,lookbehind:!0,alias:"variable"}}},{pattern:/(?:backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+(?=\{)/i,inside:{type:{pattern:/(backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+/i,lookbehind:!0,alias:"variable"}}},/[\w-]+(?=\s+\{)/],property:[/[-\w\.]+(?=\s*=(?!=))/,/"(?:\\[\s\S]|[^\\"])+"(?=\s*[:=])/],string:{pattern:/"(?:[^\\$"]|\\[\s\S]|\$(?:(?=")|\$+(?!\$)|[^"${])|\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\})*"/,greedy:!0,inside:{interpolation:{pattern:/(^|[^$])\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\}/,lookbehind:!0,inside:{type:{pattern:/(\b(?:count|data|local|module|path|self|terraform|var)\b\.)[\w\*]+/i,lookbehind:!0,alias:"variable"},keyword:/\b(?:count|data|local|module|path|self|terraform|var)\b/i,function:/\w+(?=\()/,string:{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,punctuation:/[!\$#%&'()*+,.\/;<=>@\[\\\]^`{|}~?:]/}}}},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,boolean:/\b(?:false|true)\b/i,punctuation:/[=\[\]{}]/}; Prism.languages.hlsl=Prism.languages.extend("c",{"class-name":[Prism.languages.c["class-name"],/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|RasterizerState|RenderTargetView|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/],keyword:[/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/,/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/],number:/(?:(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?|\b0x[\da-fA-F]+)[fFhHlLuU]?\b/,boolean:/\b(?:false|true)\b/}); Prism.languages.hoon={comment:{pattern:/::.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/,greedy:!0},constant:/%(?:\.[ny]|[\w-]+)/,"class-name":/@(?:[a-z0-9-]*[a-z0-9])?|\*/i,function:/(?:\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,keyword:/\.[\^\+\*=\?]|![><:\.=\?!]|=[>|:,\.\-\^<+;/~\*\?]|\?[>|:\.\-\^<\+&~=@!]|\|[\$_%:\.\-\^~\*=@\?]|\+[|\$\+\*]|:[_\-\^\+~\*]|%[_:\.\-\^\+~\*=]|\^[|:\.\-\+&~\*=\?]|\$[|_%:<>\-\^&~@=\?]|;[:<\+;\/~\*=]|~[>|\$_%<\+\/&=\?!]|--|==/}; !function(t){function a(t){return RegExp("(^(?:"+t+"):[ \t]*(?![ \t]))[^]+","i")}t.languages.http={"request-line":{pattern:/^(?:CONNECT|DELETE|GET|HEAD|OPTIONS|PATCH|POST|PRI|PUT|SEARCH|TRACE)\s(?:https?:\/\/|\/)\S*\sHTTP\/[\d.]+/m,inside:{method:{pattern:/^[A-Z]+\b/,alias:"property"},"request-target":{pattern:/^(\s)(?:https?:\/\/|\/)\S*(?=\s)/,lookbehind:!0,alias:"url",inside:t.languages.uri},"http-version":{pattern:/^(\s)HTTP\/[\d.]+/,lookbehind:!0,alias:"property"}}},"response-status":{pattern:/^HTTP\/[\d.]+ \d+ .+/m,inside:{"http-version":{pattern:/^HTTP\/[\d.]+/,alias:"property"},"status-code":{pattern:/^(\s)\d+(?=\s)/,lookbehind:!0,alias:"number"},"reason-phrase":{pattern:/^(\s).+/,lookbehind:!0,alias:"string"}}},header:{pattern:/^[\w-]+:.+(?:(?:\r\n?|\n)[ \t].+)*/m,inside:{"header-value":[{pattern:a("Content-Security-Policy"),lookbehind:!0,alias:["csp","languages-csp"],inside:t.languages.csp},{pattern:a("Public-Key-Pins(?:-Report-Only)?"),lookbehind:!0,alias:["hpkp","languages-hpkp"],inside:t.languages.hpkp},{pattern:a("Strict-Transport-Security"),lookbehind:!0,alias:["hsts","languages-hsts"],inside:t.languages.hsts},{pattern:a("[^:]+"),lookbehind:!0}],"header-name":{pattern:/^[^:]+/,alias:"keyword"},punctuation:/^:/}}};var e,n=t.languages,s={"application/javascript":n.javascript,"application/json":n.json||n.javascript,"application/xml":n.xml,"text/xml":n.xml,"text/html":n.html,"text/css":n.css,"text/plain":n.plain},i={"application/json":!0,"application/xml":!0};function r(t){var a=t.replace(/^[a-z]+\//,"");return"(?:"+t+"|\\w+/(?:[\\w.-]+\\+)+"+a+"(?![+\\w.-]))"}for(var p in s)if(s[p]){e=e||{};var l=i[p]?r(p):p;e[p.replace(/\//g,"-")]={pattern:RegExp("(content-type:\\s*"+l+"(?:(?:\r\n?|\n)[\\w-].*)*(?:\r(?:\n|(?!\n))|\n))[^ \t\\w-][^]*","i"),lookbehind:!0,inside:s[p]}}e&&t.languages.insertBefore("http","header",e)}(Prism); Prism.languages.hpkp={directive:{pattern:/\b(?:includeSubDomains|max-age|pin-sha256|preload|report-to|report-uri|strict)(?=[\s;=]|$)/i,alias:"property"},operator:/=/,punctuation:/;/}; Prism.languages.hsts={directive:{pattern:/\b(?:includeSubDomains|max-age|preload)(?=[\s;=]|$)/i,alias:"property"},operator:/=/,punctuation:/;/}; Prism.languages.ichigojam={comment:/(?:\B'|REM)(?:[^\n\r]*)/i,string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/\B#[0-9A-F]+|\B`[01]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GOTO|GSB|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RIGHT|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|\b)/i,function:/\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|\b)/i,label:/(?:\B@\S+)/,operator:/<[=>]?|>=?|\|\||&&|[+\-*\/=|&^~!]|\b(?:AND|NOT|OR)\b/i,punctuation:/[\[,;:()\]]/}; Prism.languages.icon={comment:/#.*/,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n_]|\\.|_(?!\1)(?:\r\n|[\s\S]))*\1/,greedy:!0},number:/\b(?:\d+r[a-z\d]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b|\.\d+\b/i,"builtin-keyword":{pattern:/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/,alias:"variable"},directive:{pattern:/\$\w+/,alias:"builtin"},keyword:/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/,function:/\b(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/,operator:/[+-]:(?!=)|(?:[\/?@^%&]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/,punctuation:/[\[\](){},;]/}; !function(e){function t(e,s){return s<=0?"[]":e.replace(//g,(function(){return t(e,s-1)}))}var s=/'[{}:=,](?:[^']|'')*'(?!')/,n={pattern:/''/,greedy:!0,alias:"operator"},r={pattern:s,greedy:!0,inside:{escape:n}},a=t("\\{(?:[^{}']|'(?![{},'])|''||)*\\}".replace(//g,(function(){return s.source})),8),i={pattern:RegExp(a),inside:{message:{pattern:/^(\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:null},"message-delimiter":{pattern:/./,alias:"punctuation"}}};e.languages["icu-message-format"]={argument:{pattern:RegExp(a),greedy:!0,inside:{content:{pattern:/^(\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:{"argument-name":{pattern:/^(\s*)[^{}:=,\s]+/,lookbehind:!0},"choice-style":{pattern:/^(\s*,\s*choice\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{punctuation:/\|/,range:{pattern:/^(\s*)[+-]?(?:\d+(?:\.\d*)?|\u221e)\s*[<#\u2264]/,lookbehind:!0,inside:{operator:/[<#\u2264]/,number:/\S+/}},rest:null}},"plural-style":{pattern:/^(\s*,\s*(?:plural|selectordinal)\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{offset:/^offset:\s*\d+/,"nested-message":i,selector:{pattern:/=\d+|[^{}:=,\s]+/,inside:{keyword:/^(?:few|many|one|other|two|zero)$/}}}},"select-style":{pattern:/^(\s*,\s*select\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{"nested-message":i,selector:{pattern:/[^{}:=,\s]+/,inside:{keyword:/^other$/}}}},keyword:/\b(?:choice|plural|select|selectordinal)\b/,"arg-type":{pattern:/\b(?:date|duration|number|ordinal|spellout|time)\b/,alias:"keyword"},"arg-skeleton":{pattern:/(,\s*)::[^{}:=,\s]+/,lookbehind:!0},"arg-style":{pattern:/(,\s*)(?:currency|full|integer|long|medium|percent|short)(?=\s*$)/,lookbehind:!0},"arg-style-text":{pattern:RegExp("(^\\s*,\\s*(?=\\S))"+t("(?:[^{}']|'[^']*'|\\{(?:)?\\})+",8)+"$"),lookbehind:!0,alias:"string"},punctuation:/,/}},"argument-delimiter":{pattern:/./,alias:"operator"}}},escape:n,string:r},i.inside.message.inside=e.languages["icu-message-format"],e.languages["icu-message-format"].argument.inside.content.inside["choice-style"].inside.rest=e.languages["icu-message-format"]}(Prism); Prism.languages.idris=Prism.languages.extend("haskell",{comment:{pattern:/(?:(?:--|\|\|\|).*$|\{-[\s\S]*?-\})/m},keyword:/\b(?:Type|case|class|codata|constructor|corecord|data|do|dsl|else|export|if|implementation|implicit|import|impossible|in|infix|infixl|infixr|instance|interface|let|module|mutual|namespace|of|parameters|partial|postulate|private|proof|public|quoteGoal|record|rewrite|syntax|then|total|using|where|with)\b/,builtin:void 0}),Prism.languages.insertBefore("idris","keyword",{"import-statement":{pattern:/(^\s*import\s+)(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*/m,lookbehind:!0,inside:{punctuation:/\./}}}),Prism.languages.idr=Prism.languages.idris; !function(n){n.languages.ignore={comment:/^#.*/m,entry:{pattern:/\S(?:.*(?:(?:\\ )|\S))?/,alias:"string",inside:{operator:/^!|\*\*?|\?/,regex:{pattern:/(^|[^\\])\[[^\[\]]*\]/,lookbehind:!0},punctuation:/\//}}},n.languages.gitignore=n.languages.ignore,n.languages.hgignore=n.languages.ignore,n.languages.npmignore=n.languages.ignore}(Prism); Prism.languages.inform7={string:{pattern:/"[^"]*"/,inside:{substitution:{pattern:/\[[^\[\]]+\]/,inside:{delimiter:{pattern:/\[|\]/,alias:"punctuation"}}}}},comment:{pattern:/\[[^\[\]]+\]/,greedy:!0},title:{pattern:/^[ \t]*(?:book|chapter|part(?! of)|section|table|volume)\b.+/im,alias:"important"},number:{pattern:/(^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?(?:(?!\d)\w+)?|\b(?:eight|eleven|five|four|nine|one|seven|six|ten|three|twelve|two))\b(?!-)/i,lookbehind:!0},verb:{pattern:/(^|[^-])\b(?:answering|applying to|are|asking|attacking|be(?:ing)?|burning|buying|called|carries|carry(?! out)|carrying|climbing|closing|conceal(?:ing|s)?|consulting|contain(?:ing|s)?|cutting|drinking|dropping|eating|enclos(?:es?|ing)|entering|examining|exiting|getting|giving|going|ha(?:s|ve|ving)|hold(?:ing|s)?|impl(?:ies|y)|incorporat(?:es?|ing)|inserting|is|jumping|kissing|listening|locking|looking|mean(?:ing|s)?|opening|provid(?:es?|ing)|pulling|pushing|putting|relat(?:es?|ing)|removing|searching|see(?:ing|s)?|setting|showing|singing|sleeping|smelling|squeezing|support(?:ing|s)?|swearing|switching|taking|tasting|telling|thinking|throwing|touching|turning|tying|unlock(?:ing|s)?|var(?:ies|y|ying)|waiting|waking|waving|wear(?:ing|s)?)\b(?!-)/i,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^-])\b(?:after|before|carry out|check|continue the action|definition(?= *:)|do nothing|else|end (?:if|the story|unless)|every turn|if|include|instead(?: of)?|let|move|no|now|otherwise|repeat|report|resume the story|rule for|running through|say(?:ing)?|stop the action|test|try(?:ing)?|understand|unless|use|when|while|yes)\b(?!-)/i,lookbehind:!0},property:{pattern:/(^|[^-])\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|edible|empty|enclosed|enterable|even|female|fixed in place|full|handled|held|improper-named|incorporated|inedible|invisible|lighted|lit|lock(?:able|ed)|male|marked for listing|mentioned|negative|neuter|non-(?:empty|full|recurring)|odd|opaque|open(?:able)?|plural-named|portable|positive|privately-named|proper-named|provided|publically-named|pushable between rooms|recurring|related|rubbing|scenery|seen|singular-named|supported|swinging|switch(?:able|ed(?: off| on)?)|touch(?:able|ed)|transparent|unconcealed|undescribed|unlit|unlocked|unmarked for listing|unmentioned|unopenable|untouchable|unvisited|variable|visible|visited|wearable|worn)\b(?!-)/i,lookbehind:!0,alias:"symbol"},position:{pattern:/(^|[^-])\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|front side|here|in|inside(?: from)?|north(?:east|west)?|nowhere|on(?: top of)?|other side|outside(?: from)?|parts? of|regionally in|south(?:east|west)?|through|up|west|within)\b(?!-)/i,lookbehind:!0,alias:"keyword"},type:{pattern:/(^|[^-])\b(?:actions?|activit(?:ies|y)|actors?|animals?|backdrops?|containers?|devices?|directions?|doors?|holders?|kinds?|lists?|m[ae]n|nobody|nothing|nouns?|numbers?|objects?|people|persons?|player(?:'s holdall)?|regions?|relations?|rooms?|rule(?:book)?s?|scenes?|someone|something|supporters?|tables?|texts?|things?|time|vehicles?|wom[ae]n)\b(?!-)/i,lookbehind:!0,alias:"variable"},punctuation:/[.,:;(){}]/},Prism.languages.inform7.string.inside.substitution.inside.rest=Prism.languages.inform7,Prism.languages.inform7.string.inside.substitution.inside.rest.text={pattern:/\S(?:\s*\S)*/,alias:"comment"}; Prism.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}; Prism.languages.io={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*|#.*)/,lookbehind:!0,greedy:!0},"triple-quoted-string":{pattern:/"""(?:\\[\s\S]|(?!""")[^\\])*"""/,greedy:!0,alias:"string"},string:{pattern:/"(?:\\.|[^\\\r\n"])*"/,greedy:!0},keyword:/\b(?:activate|activeCoroCount|asString|block|break|call|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getEnvironmentVariable|getSlot|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/,builtin:/\b(?:Array|AudioDevice|AudioMixer|BigNum|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Random|Regex|SGML|SGMLElement|SGMLParser|SQLite|Sequence|Server|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink)\b/,boolean:/\b(?:false|nil|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?/i,operator:/[=!*/%+\-^&|]=|>>?=?|<+*\-%$|,#][.:]?|[?^]\.?|[;\[]:?|[~}"i][.:]|[ACeEIjLor]\.|(?:[_\/\\qsux]|_?\d):)/,alias:"keyword"},number:/\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:ad|ar|[ejpx])_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_\b(?!\.))/,adverb:{pattern:/[~}]|[\/\\]\.?|[bfM]\.|t[.:]/,alias:"builtin"},operator:/[=a][.:]|_\./,conjunction:{pattern:/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\.|`:?|[\^LS]:|"/,alias:"variable"},punctuation:/[()]/}; !function(e){var n=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,t="(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*",s={pattern:RegExp("(^|[^\\w.])"+t+"[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[s,{pattern:RegExp("(^|[^\\w.])"+t+"[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)"),lookbehind:!0,inside:s.inside},{pattern:RegExp("(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)"+t+"[A-Z]\\w*\\b"),lookbehind:!0,inside:s.inside}],keyword:n,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":s,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp("(\\bimport\\s+)"+t+"(?:[A-Z]\\w*|\\*)(?=\\s*;)"),lookbehind:!0,inside:{namespace:s.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp("(\\bimport\\s+static\\s+)"+t+"(?:\\w+|\\*)(?=\\s*;)"),lookbehind:!0,alias:"static",inside:{namespace:s.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp("(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?".replace(//g,(function(){return n.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism); !function(e){var a=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,t=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,s=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:a,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:i,operator:n,punctuation:s};var l={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},r=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:l}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:l}}];e.languages.insertBefore("php","variable",{string:r,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:a,string:r,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,number:i,operator:n,punctuation:s}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(a){/<\?/.test(a.code)&&e.languages["markup-templating"].buildPlaceholders(a,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)})),e.hooks.add("after-tokenize",(function(a){e.languages["markup-templating"].tokenizePlaceholders(a,"php")}))}(Prism); !function(a){var e=a.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(e,"addSupport",{value:function(e,n){"string"==typeof e&&(e=[e]),e.forEach((function(e){!function(e,n){var t="doc-comment",r=a.languages[e];if(r){var o=r[t];if(o||(o=(r=a.languages.insertBefore(e,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[t]),o instanceof RegExp&&(o=r[t]={pattern:o}),Array.isArray(o))for(var i=0,s=o.length;i/g,(function(){return"#\\s*\\w+(?:\\s*\\([^()]*\\))?"}));a.languages.javadoc=a.languages.extend("javadoclike",{}),a.languages.insertBefore("javadoc","keyword",{reference:{pattern:RegExp("(@(?:exception|link|linkplain|see|throws|value)\\s+(?:\\*\\s*)?)(?:"+n+")"),lookbehind:!0,inside:{function:{pattern:/(#\s*)\w+(?=\s*\()/,lookbehind:!0},field:{pattern:/(#\s*)\w+/,lookbehind:!0},namespace:{pattern:/\b(?:[a-z]\w*\s*\.\s*)+/,inside:{punctuation:/\./}},"class-name":/\b[A-Z]\w*/,keyword:a.languages.java.keyword,punctuation:/[#()[\],.]/}},"class-name":{pattern:/(@param\s+)<[A-Z]\w*>/,lookbehind:!0,inside:{punctuation:/[.<>]/}},"code-section":[{pattern:/(\{@code\s+(?!\s))(?:[^\s{}]|\s+(?![\s}])|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+(?=\s*\})/,lookbehind:!0,inside:{code:{pattern:e,lookbehind:!0,inside:a.languages.java,alias:"language-java"}}},{pattern:/(<(code|pre|tt)>(?!)\s*)\S(?:\S|\s+\S)*?(?=\s*<\/\2>)/,lookbehind:!0,inside:{line:{pattern:e,lookbehind:!0,inside:{tag:a.languages.markup.tag,entity:a.languages.markup.entity,code:{pattern:/.+/,inside:a.languages.java,alias:"language-java"}}}}}],tag:a.languages.markup.tag,entity:a.languages.markup.entity}),a.languages.javadoclike.addSupport("java",a.languages.javadoc)}(Prism); Prism.languages.javastacktrace={summary:{pattern:/^([\t ]*)(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m,lookbehind:!0,inside:{keyword:{pattern:/^([\t ]*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,lookbehind:!0},string:{pattern:/^(\s*)"[^"]*"/,lookbehind:!0},exceptions:{pattern:/^(:?\s*)[\w$.]+(?=:|$)/,lookbehind:!0,inside:{"class-name":/[\w$]+$/,namespace:/\b[a-z]\w*\b/,punctuation:/\./}},message:{pattern:/(:\s*)\S.*/,lookbehind:!0,alias:"string"},punctuation:/:/}},"stack-frame":{pattern:/^([\t ]*)at (?:[\w$./]|@[\w$.+-]*\/)+(?:)?\([^()]*\)/m,lookbehind:!0,inside:{keyword:{pattern:/^(\s*)at(?= )/,lookbehind:!0},source:[{pattern:/(\()\w+\.\w+:\d+(?=\))/,lookbehind:!0,inside:{file:/^\w+\.\w+/,punctuation:/:/,"line-number":{pattern:/\b\d+\b/,alias:"number"}}},{pattern:/(\()[^()]*(?=\))/,lookbehind:!0,inside:{keyword:/^(?:Native Method|Unknown Source)$/}}],"class-name":/[\w$]+(?=\.(?:|[\w$]+)\()/,function:/(?:|[\w$]+)(?=\()/,"class-loader":{pattern:/(\s)[a-z]\w*(?:\.[a-z]\w*)*(?=\/[\w@$.]*\/)/,lookbehind:!0,alias:"namespace",inside:{punctuation:/\./}},module:{pattern:/([\s/])[a-z]\w*(?:\.[a-z]\w*)*(?:@[\w$.+-]*)?(?=\/)/,lookbehind:!0,inside:{version:{pattern:/(@)[\s\S]+/,lookbehind:!0,alias:"number"},punctuation:/[@.]/}},namespace:{pattern:/(?:\b[a-z]\w*\.)+/,inside:{punctuation:/\./}},punctuation:/[()/.]/}},more:{pattern:/^([\t ]*)\.{3} \d+ [a-z]+(?: [a-z]+)*/m,lookbehind:!0,inside:{punctuation:/\.{3}/,number:/\d+/,keyword:/\b[a-z]+(?: [a-z]+)*\b/}}}; Prism.languages.jexl={string:/(["'])(?:\\[\s\S]|(?!\1)[^\\])*\1/,transform:{pattern:/(\|\s*)[a-zA-Zа-яА-Я_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\wа-яА-Я\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*/,alias:"function",lookbehind:!0},function:/[a-zA-Zа-яА-Я_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\wа-яА-Я\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*\s*(?=\()/,number:/\b\d+(?:\.\d+)?\b|\B\.\d+\b/,operator:/[<>!]=?|-|\+|&&|==|\|\|?|\/\/?|[?:*^%]/,boolean:/\b(?:false|true)\b/,keyword:/\bin\b/,punctuation:/[{}[\](),.]/}; Prism.languages.jolie=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\[\s\S]|[^"\\])*"/,lookbehind:!0,greedy:!0},"class-name":{pattern:/((?:\b(?:as|courier|embed|in|inputPort|outputPort|service)\b|@)[ \t]*)\w+/,lookbehind:!0},keyword:/\b(?:as|cH|comp|concurrent|constants|courier|cset|csets|default|define|else|embed|embedded|execution|exit|extender|for|foreach|forward|from|global|if|import|in|include|init|inputPort|install|instanceof|interface|is_defined|linkIn|linkOut|main|new|nullProcess|outputPort|over|private|provide|public|scope|sequential|service|single|spawn|synchronized|this|throw|throws|type|undef|until|while|with)\b/,function:/\b[a-z_]\w*(?=[ \t]*[@(])/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?l?/i,operator:/-[-=>]?|\+[+=]?|<[<=]?|[>=*!]=?|&&|\|\||[?\/%^@|]/,punctuation:/[()[\]{},;.:]/,builtin:/\b(?:Byte|any|bool|char|double|enum|float|int|length|long|ranges|regex|string|undefined|void)\b/}),Prism.languages.insertBefore("jolie","keyword",{aggregates:{pattern:/(\bAggregates\s*:\s*)(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/,lookbehind:!0,inside:{keyword:/\bwith\b/,"class-name":/\w+/,punctuation:/,/}},redirects:{pattern:/(\bRedirects\s*:\s*)(?:\w+\s*=>\s*\w+\s*,\s*)*(?:\w+\s*=>\s*\w+)/,lookbehind:!0,inside:{punctuation:/,/,"class-name":/\w+/,operator:/=>/}},property:{pattern:/\b(?:Aggregates|[Ii]nterfaces|Java|Javascript|Jolie|[Ll]ocation|OneWay|[Pp]rotocol|Redirects|RequestResponse)\b(?=[ \t]*:)/}}); !function(e){var n="\\\\\\((?:[^()]|\\([^()]*\\))*\\)",t=RegExp('(^|[^\\\\])"(?:[^"\r\n\\\\]|\\\\[^\r\n(]|__)*"'.replace(/__/g,(function(){return n}))),i={interpolation:{pattern:RegExp("((?:^|[^\\\\])(?:\\\\{2})*)"+n),lookbehind:!0,inside:{content:{pattern:/^(\\\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:null},punctuation:/^\\\(|\)$/}}},a=e.languages.jq={comment:/#.*/,property:{pattern:RegExp(t.source+"(?=\\s*:(?!:))"),lookbehind:!0,greedy:!0,inside:i},string:{pattern:t,lookbehind:!0,greedy:!0,inside:i},function:{pattern:/(\bdef\s+)[a-z_]\w+/i,lookbehind:!0},variable:/\B\$\w+/,"property-literal":{pattern:/\b[a-z_]\w*(?=\s*:(?!:))/i,alias:"property"},keyword:/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/,boolean:/\b(?:false|true)\b/,number:/(?:\b\d+\.|\B\.)?\b\d+(?:[eE][+-]?\d+)?\b/,operator:[{pattern:/\|=?/,alias:"pipe"},/\.\.|[!=<>]?=|\?\/\/|\/\/=?|[-+*/%]=?|[<>?]|\b(?:and|not|or)\b/],"c-style-function":{pattern:/\b[a-z_]\w*(?=\s*\()/i,alias:"function"},punctuation:/::|[()\[\]{},:;]|\.(?=\s*[\[\w$])/,dot:{pattern:/\./,alias:"important"}};i.interpolation.inside.content.inside=a}(Prism); !function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var s=e.languages.extend("typescript",{});delete s["class-name"],e.languages.typescript["class-name"].inside=s,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:s}}}}),e.languages.ts=e.languages.typescript}(Prism); !function(e){var a=e.languages.javascript,n="\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}",t="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(t+"(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)"),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(t+"\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)"),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:a,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp("(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*".replace(//g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:a.string,number:a.number,boolean:a.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:a,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(Prism); !function(a){function e(a,e){return RegExp(a.replace(//g,(function(){return"(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*"})),e)}a.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+a.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),a.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+a.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),a.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),a.languages.insertBefore("javascript","keyword",{imports:{pattern:e("(\\bimport\\b\\s*)(?:(?:\\s*,\\s*(?:\\*\\s*as\\s+|\\{[^{}]*\\}))?|\\*\\s*as\\s+|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)"),lookbehind:!0,inside:a.languages.javascript},exports:{pattern:e("(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})"),lookbehind:!0,inside:a.languages.javascript}}),a.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),a.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),a.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:e("(\\.\\s*)#?"),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var t=["function","function-variable","method","method-variable","property-access"],r=0;r|.*(?:node_modules|\(\)|\(|$|\(internal\/|\(node\.js)).*/m,alias:"comment"},filename:{pattern:/(\bat\s+(?!\s)|\()(?:[a-zA-Z]:)?[^():]+(?=:)/,lookbehind:!0,alias:"url"},function:{pattern:/(\bat\s+(?:new\s+)?)(?!\s)[_$a-zA-Z\xA0-\uFFFF<][.$\w\xA0-\uFFFF<>]*/,lookbehind:!0,inside:{punctuation:/\./}},punctuation:/[()]/,keyword:/\b(?:at|new)\b/,alias:{pattern:/\[(?:as\s+)?(?!\s)[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\]/,alias:"variable"},"line-number":{pattern:/:\d+(?::\d+)?\b/,alias:"number",inside:{punctuation:/:/}}}}}; !function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],i=r.pattern.source;function o(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function p(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function l(t){var n={};n["interpolation-punctuation"]=a;var i=e.tokenize(t,n);if(3===i.length){var o=[1,1];o.push.apply(o,p(i[1],e.languages.javascript,"javascript")),i.splice.apply(i,o)}return new e.Token("interpolation",i,r.alias,t)}function g(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(i),lookbehind:!0}}),o=0,g={},u=p(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=s(o++,r)););return g[n]=a,n})).join(""),n,r),c=Object.keys(g);return o=0,function e(t){for(var n=0;n=c.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=c[o],i="string"==typeof r?r:r.content,s=i.indexOf(a);if(-1!==s){++o;var p=i.substring(0,s),u=l(g[a]),f=i.substring(s+a.length),y=[];if(p&&y.push(p),y.push(u),f){var v=[f];e(v),y.push.apply(y,v)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(y)),n+=y.length-1):r.content=y}}else{var d=r.content;Array.isArray(d)?e(d):e([d])}}}(u),new e.Token(r,u,"language-"+r,t)}e.languages.javascript["template-string"]=[o("css","\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)"),o("html","\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?="),o("svg","\\bsvg"),o("markdown","\\b(?:markdown|md)"),o("graphql","\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)"),o("sql","\\bsql"),t].filter(Boolean);var u={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function c(e){return"string"==typeof e?e:Array.isArray(e)?e.map(c).join(""):c(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in u&&function t(n){for(var r=0,a=n.length;r]?|<(?:<=?|[=:|])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥'√∛]/,punctuation:/::?|[{}[\]();,.?]/,constant:/\b(?:(?:Inf|NaN)(?:16|32|64)?|im|pi)\b|[πℯ]/}; Prism.languages.keepalived={comment:{pattern:/[#!].*/,greedy:!0},string:{pattern:/(^|[^\\])(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,lookbehind:!0,greedy:!0},ip:{pattern:RegExp("\\b(?:(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){5}:(?:[\\da-f]{1,4}:)?[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){4}:(?:[\\da-f]{1,4}:){0,2}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){3}:(?:[\\da-f]{1,4}:){0,3}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){2}:(?:[\\da-f]{1,4}:){0,4}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){6}|(?:[\\da-f]{1,4}:){0,5}:|::(?:[\\da-f]{1,4}:){0,5}|[\\da-f]{1,4}::(?:[\\da-f]{1,4}:){0,5}[\\da-f]{1,4}|::(?:[\\da-f]{1,4}:){0,6}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:)(?:/\\d{1,3})?|(?:/\\d{1,2})?)\\b".replace(//g,(function(){return"(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))"})),"i"),alias:"number"},path:{pattern:/(\s)\/(?:[^\/\s]+\/)*[^\/\s]*|\b[a-zA-Z]:\\(?:[^\\\s]+\\)*[^\\\s]*/,lookbehind:!0,alias:"string"},variable:/\$\{?\w+\}?/,email:{pattern:/[\w-]+@[\w-]+(?:\.[\w-]{2,3}){1,2}/,alias:"string"},"conditional-configuration":{pattern:/@\^?[\w-]+/,alias:"variable"},operator:/=/,property:/\b(?:BFD_CHECK|DNS_CHECK|FILE_CHECK|HTTP_GET|MISC_CHECK|NAME|PING_CHECK|SCRIPTS|SMTP_CHECK|SSL|SSL_GET|TCP_CHECK|UDP_CHECK|accept|advert_int|alpha|auth_pass|auth_type|authentication|bfd_cpu_affinity|bfd_instance|bfd_no_swap|bfd_priority|bfd_process_name|bfd_rlimit_rttime|bfd_rt_priority|bind_if|bind_port|bindto|ca|certificate|check_unicast_src|checker|checker_cpu_affinity|checker_log_all_failures|checker_no_swap|checker_priority|checker_rlimit_rttime|checker_rt_priority|child_wait_time|connect_ip|connect_port|connect_timeout|dbus_service_name|debug|default_interface|delay|delay_before_retry|delay_loop|digest|dont_track_primary|dynamic|dynamic_interfaces|enable_(?:dbus|script_security|sni|snmp_checker|snmp_rfc|snmp_rfcv2|snmp_rfcv3|snmp_vrrp|traps)|end|fall|fast_recovery|file|flag-[123]|fork_delay|full_command|fwmark|garp_group|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|global_defs|global_tracking|gna_interval|group|ha_suspend|hashed|helo_name|higher_prio_send_advert|hoplimit|http_protocol|hysteresis|idle_tx|include|inhibit_on_failure|init_fail|init_file|instance|interface|interfaces|interval|ip_family|ipvs_process_name|keepalived.conf|kernel_rx_buf_size|key|linkbeat_interfaces|linkbeat_use_polling|log_all_failures|log_unknown_vrids|lower_prio_no_advert|lthreshold|lvs_flush|lvs_flush_onstop|lvs_method|lvs_netlink_cmd_rcv_bufs|lvs_netlink_cmd_rcv_bufs_force|lvs_netlink_monitor_rcv_bufs|lvs_netlink_monitor_rcv_bufs_force|lvs_notify_fifo|lvs_notify_fifo_script|lvs_sched|lvs_sync_daemon|max_auto_priority|max_hops|mcast_src_ip|mh-fallback|mh-port|min_auto_priority_delay|min_rx|min_tx|misc_dynamic|misc_path|misc_timeout|multiplier|name|namespace_with_ipsets|native_ipv6|neighbor_ip|net_namespace|net_namespace_ipvs|nftables|nftables_counters|nftables_ifindex|nftables_priority|no_accept|no_checker_emails|no_email_faults|nopreempt|notification_email|notification_email_from|notify|notify_backup|notify_deleted|notify_down|notify_fault|notify_fifo|notify_fifo_script|notify_master|notify_master_rx_lower_pri|notify_priority_changes|notify_stop|notify_up|old_unicast_checksum|omega|ops|param_match|passive|password|path|persistence_engine|persistence_granularity|persistence_timeout|preempt|preempt_delay|priority|process|process_monitor_rcv_bufs|process_monitor_rcv_bufs_force|process_name|process_names|promote_secondaries|protocol|proxy_arp|proxy_arp_pvlan|quorum|quorum_down|quorum_max|quorum_up|random_seed|real_server|regex|regex_max_offset|regex_min_offset|regex_no_match|regex_options|regex_stack|reload_repeat|reload_time_file|require_reply|retry|rise|router_id|rs_init_notifies|script|script_user|sh-fallback|sh-port|shutdown_script|shutdown_script_timeout|skip_check_adv_addr|smtp_alert|smtp_alert_checker|smtp_alert_vrrp|smtp_connect_timeout|smtp_helo_name|smtp_server|snmp_socket|sorry_server|sorry_server_inhibit|sorry_server_lvs_method|source_ip|start|startup_script|startup_script_timeout|state|static_ipaddress|static_routes|static_rules|status_code|step|strict_mode|sync_group_tracking_weight|terminate_delay|timeout|track_bfd|track_file|track_group|track_interface|track_process|track_script|track_src_ip|ttl|type|umask|unicast_peer|unicast_src_ip|unicast_ttl|url|use_ipvlan|use_pid_dir|use_vmac|user|uthreshold|val[123]|version|virtual_ipaddress|virtual_ipaddress_excluded|virtual_router_id|virtual_routes|virtual_rules|virtual_server|virtual_server_group|virtualhost|vmac_xmit_base|vrrp|vrrp_(?:check_unicast_src|cpu_affinity|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|gna_interval|higher_prio_send_advert|instance|ipsets|iptables|lower_prio_no_advert|mcast_group4|mcast_group6|min_garp|netlink_cmd_rcv_bufs|netlink_cmd_rcv_bufs_force|netlink_monitor_rcv_bufs|netlink_monitor_rcv_bufs_force|no_swap|notify_fifo|notify_fifo_script|notify_priority_changes|priority|process_name|rlimit_rttime|rt_priority|rx_bufs_multiplier|rx_bufs_policy|script|skip_check_adv_addr|startup_delay|strict|sync_group|track_process|version)|warmup|weight)\b/,constant:/\b(?:A|AAAA|AH|BACKUP|CNAME|DR|MASTER|MX|NAT|NS|PASS|SCTP|SOA|TCP|TUN|TXT|UDP|dh|fo|lblc|lblcr|lc|mh|nq|ovf|rr|sed|sh|wlc|wrr)\b/,number:{pattern:/(^|[^\w.-])-?\d+(?:\.\d+)?/,lookbehind:!0},boolean:/\b(?:false|no|off|on|true|yes)\b/,punctuation:/[\{\}]/}; Prism.languages.keyman={comment:{pattern:/\bc .*/i,greedy:!0},string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0},"virtual-key":{pattern:/\[\s*(?:(?:ALT|CAPS|CTRL|LALT|LCTRL|NCAPS|RALT|RCTRL|SHIFT)\s+)*(?:[TKU]_[\w?]+|[A-E]\d\d?|"[^"\r\n]*"|'[^'\r\n]*')\s*\]/i,greedy:!0,alias:"function"},"header-keyword":{pattern:/&\w+/,alias:"bold"},"header-statement":{pattern:/\b(?:bitmap|bitmaps|caps always off|caps on only|copyright|hotkey|language|layout|message|name|shift frees caps|version)\b/i,alias:"bold"},"rule-keyword":{pattern:/\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|reset|return|save|set|store|use)\b/i,alias:"keyword"},"structural-keyword":{pattern:/\b(?:ansi|begin|group|match|newcontext|nomatch|postkeystroke|readonly|unicode|using keys)\b/i,alias:"keyword"},"compile-target":{pattern:/\$(?:keyman|keymanonly|keymanweb|kmfl|weaver):/i,alias:"property"},number:/\b(?:U\+[\dA-F]+|d\d+|x[\da-f]+|\d+)\b/i,operator:/[+>\\$]|\.\./,punctuation:/[()=,]/}; !function(n){n.languages.kotlin=n.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete n.languages.kotlin["class-name"];var e={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:n.languages.kotlin}};n.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:e},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:e},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete n.languages.kotlin.string,n.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),n.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),n.languages.kt=n.languages.kotlin,n.languages.kts=n.languages.kotlin}(Prism); !function(n){function o(n,o){return RegExp(n.replace(//g,"\\s\\x00-\\x1f\\x22-\\x2f\\x3a-\\x3f\\x5b-\\x5e\\x60\\x7b-\\x7e"),o)}n.languages.kumir={comment:{pattern:/\|.*/},prolog:{pattern:/#.*/,greedy:!0},string:{pattern:/"[^\n\r"]*"|'[^\n\r']*'/,greedy:!0},boolean:{pattern:o("(^|[])(?:да|нет)(?=[]|$)"),lookbehind:!0},"operator-word":{pattern:o("(^|[])(?:и|или|не)(?=[]|$)"),lookbehind:!0,alias:"keyword"},"system-variable":{pattern:o("(^|[])знач(?=[]|$)"),lookbehind:!0,alias:"keyword"},type:[{pattern:o("(^|[])(?:вещ|лит|лог|сим|цел)(?:\\x20*таб)?(?=[]|$)"),lookbehind:!0,alias:"builtin"},{pattern:o("(^|[])(?:компл|сканкод|файл|цвет)(?=[]|$)"),lookbehind:!0,alias:"important"}],keyword:{pattern:o("(^|[])(?:алг|арг(?:\\x20*рез)?|ввод|ВКЛЮЧИТЬ|вс[её]|выбор|вывод|выход|дано|для|до|дс|если|иначе|исп|использовать|кон(?:(?:\\x20+|_)исп)?|кц(?:(?:\\x20+|_)при)?|надо|нач|нс|нц|от|пауза|пока|при|раза?|рез|стоп|таб|то|утв|шаг)(?=[]|$)"),lookbehind:!0},name:{pattern:o("(^|[])[^\\d][^]*(?:\\x20+[^]+)*(?=[]|$)"),lookbehind:!0},number:{pattern:o("(^|[])(?:\\B\\$[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)(?=[]|$)","i"),lookbehind:!0},punctuation:/:=|[(),:;\[\]]/,"operator-char":{pattern:/\*\*?|<[=>]?|>=?|[-+/=]/,alias:"operator"}},n.languages.kum=n.languages.kumir}(Prism); Prism.languages.kusto={comment:{pattern:/\/\/.*/,greedy:!0},string:{pattern:/```[\s\S]*?```|[hH]?(?:"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\.)*'|@(?:"[^\r\n"]*"|'[^\r\n']*'))/,greedy:!0},verb:{pattern:/(\|\s*)[a-z][\w-]*/i,lookbehind:!0,alias:"keyword"},command:{pattern:/\.[a-z][a-z\d-]*\b/,alias:"keyword"},"class-name":/\b(?:bool|datetime|decimal|dynamic|guid|int|long|real|string|timespan)\b/,keyword:/\b(?:access|alias|and|anti|as|asc|auto|between|by|(?:contains|(?:ends|starts)with|has(?:perfix|suffix)?)(?:_cs)?|database|declare|desc|external|from|fullouter|has_all|in|ingestion|inline|inner|innerunique|into|(?:left|right)(?:anti(?:semi)?|inner|outer|semi)?|let|like|local|not|of|on|or|pattern|print|query_parameters|range|restrict|schema|set|step|table|tables|to|view|where|with|matches\s+regex|nulls\s+(?:first|last))(?![\w-])/,boolean:/\b(?:false|null|true)\b/,function:/\b[a-z_]\w*(?=\s*\()/,datetime:[{pattern:/\b(?:(?:Fri|Friday|Mon|Monday|Sat|Saturday|Sun|Sunday|Thu|Thursday|Tue|Tuesday|Wed|Wednesday)\s*,\s*)?\d{1,2}(?:\s+|-)(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)(?:\s+|-)\d{2}\s+\d{2}:\d{2}(?::\d{2})?(?:\s*(?:\b(?:[A-Z]|(?:[ECMT][DS]|GM|U)T)|[+-]\d{4}))?\b/,alias:"number"},{pattern:/[+-]?\b(?:\d{4}-\d{2}-\d{2}(?:[ T]\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?)?|\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?)Z?/,alias:"number"}],number:/\b(?:0x[0-9A-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][+-]?\d+)?)(?:(?:min|sec|[mnµ]s|[dhms]|microsecond|tick)\b)?|[+-]?\binf\b/,operator:/=>|[!=]~|[!=<>]=?|[-+*/%|]|\.\./,punctuation:/[()\[\]{},;.:]/}; !function(a){var e=/\\(?:[^a-z()[\]]|[a-z*]+)/i,n={"equation-command":{pattern:e,alias:"regex"}};a.languages.latex={comment:/%.*/,cdata:{pattern:/(\\begin\{((?:lstlisting|verbatim)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0},equation:[{pattern:/\$\$(?:\\[\s\S]|[^\\$])+\$\$|\$(?:\\[\s\S]|[^\\$])+\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\]/,inside:n,alias:"string"},{pattern:/(\\begin\{((?:align|eqnarray|equation|gather|math|multline)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0,inside:n,alias:"string"}],keyword:{pattern:/(\\(?:begin|cite|documentclass|end|label|ref|usepackage)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0},url:{pattern:/(\\url\{)[^}]+(?=\})/,lookbehind:!0},headline:{pattern:/(\\(?:chapter|frametitle|paragraph|part|section|subparagraph|subsection|subsubparagraph|subsubsection|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0,alias:"class-name"},function:{pattern:e,alias:"selector"},punctuation:/[[\]{}&]/},a.languages.tex=a.languages.latex,a.languages.context=a.languages.latex}(Prism); !function(a){a.languages.latte={comment:/^\{\*[\s\S]*/,"latte-tag":{pattern:/(^\{(?:\/(?=[a-z]))?)(?:[=_]|[a-z]\w*\b(?!\())/i,lookbehind:!0,alias:"important"},delimiter:{pattern:/^\{\/?|\}$/,alias:"punctuation"},php:{pattern:/\S(?:[\s\S]*\S)?/,alias:"language-php",inside:a.languages.php}};var t=a.languages.extend("markup",{});a.languages.insertBefore("inside","attr-value",{"n-attr":{pattern:/n:[\w-]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+))?/,inside:{"attr-name":{pattern:/^[^\s=]+/,alias:"important"},"attr-value":{pattern:/=[\s\S]+/,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}],php:{pattern:/\S(?:[\s\S]*\S)?/,inside:a.languages.php}}}}}},t.tag),a.hooks.add("before-tokenize",(function(e){"latte"===e.language&&(a.languages["markup-templating"].buildPlaceholders(e,"latte",/\{\*[\s\S]*?\*\}|\{[^'"\s{}*](?:[^"'/{}]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|\/\*(?:[^*]|\*(?!\/))*\*\/)*\}/g),e.grammar=t)})),a.hooks.add("after-tokenize",(function(t){a.languages["markup-templating"].tokenizePlaceholders(t,"latte")}))}(Prism); Prism.languages.less=Prism.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),Prism.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}); !function(e){e.languages.scheme={comment:/;.*|#;\s*(?:\((?:[^()]|\([^()]*\))*\)|\[(?:[^\[\]]|\[[^\[\]]*\])*\])|#\|(?:[^#|]|#(?!\|)|\|(?!#)|#\|(?:[^#|]|#(?!\|)|\|(?!#))*\|#)*\|#/,string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0},symbol:{pattern:/'[^()\[\]#'\s]+/,greedy:!0},char:{pattern:/#\\(?:[ux][a-fA-F\d]+\b|[-a-zA-Z]+\b|[\uD800-\uDBFF][\uDC00-\uDFFF]|\S)/,greedy:!0},"lambda-parameter":[{pattern:/((?:^|[^'`#])[(\[]lambda\s+)(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)/,lookbehind:!0},{pattern:/((?:^|[^'`#])[(\[]lambda\s+[(\[])[^()\[\]']+/,lookbehind:!0}],keyword:{pattern:/((?:^|[^'`#])[(\[])(?:begin|case(?:-lambda)?|cond(?:-expand)?|define(?:-library|-macro|-record-type|-syntax|-values)?|defmacro|delay(?:-force)?|do|else|except|export|guard|if|import|include(?:-ci|-library-declarations)?|lambda|let(?:rec)?(?:-syntax|-values|\*)?|let\*-values|only|parameterize|prefix|(?:quasi-?)?quote|rename|set!|syntax-(?:case|rules)|unless|unquote(?:-splicing)?|when)(?=[()\[\]\s]|$)/,lookbehind:!0},builtin:{pattern:/((?:^|[^'`#])[(\[])(?:abs|and|append|apply|assoc|ass[qv]|binary-port\?|boolean=?\?|bytevector(?:-append|-copy|-copy!|-length|-u8-ref|-u8-set!|\?)?|caar|cadr|call-with-(?:current-continuation|port|values)|call\/cc|car|cdar|cddr|cdr|ceiling|char(?:->integer|-ready\?|\?|<\?|<=\?|=\?|>\?|>=\?)|close-(?:input-port|output-port|port)|complex\?|cons|current-(?:error|input|output)-port|denominator|dynamic-wind|eof-object\??|eq\?|equal\?|eqv\?|error|error-object(?:-irritants|-message|\?)|eval|even\?|exact(?:-integer-sqrt|-integer\?|\?)?|expt|features|file-error\?|floor(?:-quotient|-remainder|\/)?|flush-output-port|for-each|gcd|get-output-(?:bytevector|string)|inexact\??|input-port(?:-open\?|\?)|integer(?:->char|\?)|lcm|length|list(?:->string|->vector|-copy|-ref|-set!|-tail|\?)?|make-(?:bytevector|list|parameter|string|vector)|map|max|member|memq|memv|min|modulo|negative\?|newline|not|null\?|number(?:->string|\?)|numerator|odd\?|open-(?:input|output)-(?:bytevector|string)|or|output-port(?:-open\?|\?)|pair\?|peek-char|peek-u8|port\?|positive\?|procedure\?|quotient|raise|raise-continuable|rational\?|rationalize|read-(?:bytevector|bytevector!|char|error\?|line|string|u8)|real\?|remainder|reverse|round|set-c[ad]r!|square|string(?:->list|->number|->symbol|->utf8|->vector|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?|<\?|<=\?|=\?|>\?|>=\?)?|substring|symbol(?:->string|\?|=\?)|syntax-error|textual-port\?|truncate(?:-quotient|-remainder|\/)?|u8-ready\?|utf8->string|values|vector(?:->list|->string|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?)?|with-exception-handler|write-(?:bytevector|char|string|u8)|zero\?)(?=[()\[\]\s]|$)/,lookbehind:!0},operator:{pattern:/((?:^|[^'`#])[(\[])(?:[-+*%/]|[<>]=?|=>?)(?=[()\[\]\s]|$)/,lookbehind:!0},number:{pattern:RegExp(function(e){for(var r in e)e[r]=e[r].replace(/<[\w\s]+>/g,(function(r){return"(?:"+e[r].trim()+")"}));return e[r]}({"":"\\d+(?:/\\d+)|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[esfdl][+-]?\\d+)?","":"[+-]?|[+-](?:inf|nan)\\.0","":"[+-](?:|(?:inf|nan)\\.0)?i","":"(?:@|)?|","":"(?:#d(?:#[ei])?|#[ei](?:#d)?)?","":"[0-9a-f]+(?:/[0-9a-f]+)?","":"[+-]?|[+-](?:inf|nan)\\.0","":"[+-](?:|(?:inf|nan)\\.0)?i","":"(?:@|)?|","":"#[box](?:#[ei])?|(?:#[ei])?#[box]","":"(^|[()\\[\\]\\s])(?:|)(?=[()\\[\\]\\s]|$)"}),"i"),lookbehind:!0},boolean:{pattern:/(^|[()\[\]\s])#(?:[ft]|false|true)(?=[()\[\]\s]|$)/,lookbehind:!0},function:{pattern:/((?:^|[^'`#])[(\[])(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)(?=[()\[\]\s]|$)/,lookbehind:!0},identifier:{pattern:/(^|[()\[\]\s])\|(?:[^\\|]|\\.)*\|(?=[()\[\]\s]|$)/,lookbehind:!0,greedy:!0},punctuation:/[()\[\]']/}}(Prism); !function(e){for(var n='\\((?:[^();"#\\\\]|\\\\[^]|;.*(?!.)|"(?:[^"\\\\]|\\\\.)*"|#(?:\\{(?:(?!#\\})[^])*#\\}|[^{])|)*\\)',i=0;i<5;i++)n=n.replace(//g,(function(){return n}));n=n.replace(//g,"[^\\s\\S]");var d=e.languages.lilypond={comment:/%(?:(?!\{).*|\{[\s\S]*?%\})/,"embedded-scheme":{pattern:RegExp('(^|[=\\s])#(?:"(?:[^"\\\\]|\\\\.)*"|[^\\s()"]*(?:[^\\s()]|))'.replace(//g,(function(){return n})),"m"),lookbehind:!0,greedy:!0,inside:{scheme:{pattern:/^(#)[\s\S]+$/,lookbehind:!0,alias:"language-scheme",inside:{"embedded-lilypond":{pattern:/#\{[\s\S]*?#\}/,greedy:!0,inside:{punctuation:/^#\{|#\}$/,lilypond:{pattern:/[\s\S]+/,alias:"language-lilypond",inside:null}}},rest:e.languages.scheme}},punctuation:/#/}},string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0},"class-name":{pattern:/(\\new\s+)[\w-]+/,lookbehind:!0},keyword:{pattern:/\\[a-z][-\w]*/i,inside:{punctuation:/^\\/}},operator:/[=|]|<<|>>/,punctuation:{pattern:/(^|[a-z\d])(?:'+|,+|[_^]?-[_^]?(?:[-+^!>._]|(?=\d))|[_^]\.?|[.!])|[{}()[\]<>^~]|\\[()[\]<>\\!]|--|__/,lookbehind:!0},number:/\b\d+(?:\/\d+)?\b/};d["embedded-scheme"].inside.scheme.inside["embedded-lilypond"].inside.lilypond.inside=d,e.languages.ly=d}(Prism); Prism.languages.liquid={comment:{pattern:/(^\{%\s*comment\s*%\})[\s\S]+(?=\{%\s*endcomment\s*%\}$)/,lookbehind:!0},delimiter:{pattern:/^\{(?:\{\{|[%\{])-?|-?(?:\}\}|[%\}])\}$/,alias:"punctuation"},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},keyword:/\b(?:as|assign|break|(?:end)?(?:capture|case|comment|for|form|if|paginate|raw|style|tablerow|unless)|continue|cycle|decrement|echo|else|elsif|in|include|increment|limit|liquid|offset|range|render|reversed|section|when|with)\b/,object:/\b(?:address|all_country_option_tags|article|block|blog|cart|checkout|collection|color|country|country_option_tags|currency|current_page|current_tags|customer|customer_address|date|discount_allocation|discount_application|external_video|filter|filter_value|font|forloop|fulfillment|generic_file|gift_card|group|handle|image|line_item|link|linklist|localization|location|measurement|media|metafield|model|model_source|order|page|page_description|page_image|page_title|part|policy|product|product_option|recommendations|request|robots|routes|rule|script|search|selling_plan|selling_plan_allocation|selling_plan_group|shipping_method|shop|shop_locale|sitemap|store_availability|tax_line|template|theme|transaction|unit_price_measurement|user_agent|variant|video|video_source)\b/,function:[{pattern:/(\|\s*)\w+/,lookbehind:!0,alias:"filter"},{pattern:/(\.\s*)(?:first|last|size)/,lookbehind:!0}],boolean:/\b(?:false|nil|true)\b/,range:{pattern:/\.\./,alias:"operator"},number:/\b\d+(?:\.\d+)?\b/,operator:/[!=]=|<>|[<>]=?|[|?:=-]|\b(?:and|contains(?=\s)|or)\b/,punctuation:/[.,\[\]()]/,empty:{pattern:/\bempty\b/,alias:"keyword"}},Prism.hooks.add("before-tokenize",(function(e){var t=!1;Prism.languages["markup-templating"].buildPlaceholders(e,"liquid",/\{%\s*comment\s*%\}[\s\S]*?\{%\s*endcomment\s*%\}|\{(?:%[\s\S]*?%|\{\{[\s\S]*?\}\}|\{[\s\S]*?\})\}/g,(function(e){var n=/^\{%-?\s*(\w+)/.exec(e);if(n){var i=n[1];if("raw"===i&&!t)return t=!0,!0;if("endraw"===i)return t=!1,!0}return!t}))})),Prism.hooks.add("after-tokenize",(function(e){Prism.languages["markup-templating"].tokenizePlaceholders(e,"liquid")})); !function(e){function n(e){return RegExp("(\\()(?:"+e+")(?=[\\s\\)])")}function a(e){return RegExp("([\\s([])(?:"+e+")(?=[\\s)])")}var t="(?!\\d)[-+*/~!@$%^=<>{}\\w]+",r="(\\()",i="(?:[^()]|\\((?:[^()]|\\((?:[^()]|\\((?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))*\\))*\\))*\\))*",s={heading:{pattern:/;;;.*/,alias:["comment","title"]},comment:/;.*/,string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0,inside:{argument:/[-A-Z]+(?=[.,\s])/,symbol:RegExp("`"+t+"'")}},"quoted-symbol":{pattern:RegExp("#?'"+t),alias:["variable","symbol"]},"lisp-property":{pattern:RegExp(":"+t),alias:"property"},splice:{pattern:RegExp(",@?"+t),alias:["symbol","variable"]},keyword:[{pattern:RegExp("(\\()(?:and|(?:cl-)?letf|cl-loop|cond|cons|error|if|(?:lexical-)?let\\*?|message|not|null|or|provide|require|setq|unless|use-package|when|while)(?=\\s)"),lookbehind:!0},{pattern:RegExp("(\\()(?:append|by|collect|concat|do|finally|for|in|return)(?=\\s)"),lookbehind:!0}],declare:{pattern:n("declare"),lookbehind:!0,alias:"keyword"},interactive:{pattern:n("interactive"),lookbehind:!0,alias:"keyword"},boolean:{pattern:a("nil|t"),lookbehind:!0},number:{pattern:a("[-+]?\\d+(?:\\.\\d*)?"),lookbehind:!0},defvar:{pattern:RegExp("(\\()def(?:const|custom|group|var)\\s+"+t),lookbehind:!0,inside:{keyword:/^def[a-z]+/,variable:RegExp(t)}},defun:{pattern:RegExp("(\\()(?:cl-)?(?:defmacro|defun\\*?)\\s+"+t+"\\s+\\("+i+"\\)"),lookbehind:!0,greedy:!0,inside:{keyword:/^(?:cl-)?def\S+/,arguments:null,function:{pattern:RegExp("(^\\s)"+t),lookbehind:!0},punctuation:/[()]/}},lambda:{pattern:RegExp("(\\()lambda\\s+\\(\\s*(?:&?"+t+"(?:\\s+&?"+t+")*\\s*)?\\)"),lookbehind:!0,greedy:!0,inside:{keyword:/^lambda/,arguments:null,punctuation:/[()]/}},car:{pattern:RegExp(r+t),lookbehind:!0},punctuation:[/(?:['`,]?\(|[)\[\]])/,{pattern:/(\s)\.(?=\s)/,lookbehind:!0}]},l={"lisp-marker":RegExp("&(?!\\d)[-+*/~!@$%^=<>{}\\w]+"),varform:{pattern:RegExp("\\("+t+"\\s+(?=\\S)"+i+"\\)"),inside:s},argument:{pattern:RegExp("(^|[\\s(])"+t),lookbehind:!0,alias:"variable"},rest:s},o="\\S+(?:\\s+\\S+)*",p={pattern:RegExp(r+i+"(?=\\))"),lookbehind:!0,inside:{"rest-vars":{pattern:RegExp("&(?:body|rest)\\s+"+o),inside:l},"other-marker-vars":{pattern:RegExp("&(?:aux|optional)\\s+"+o),inside:l},keys:{pattern:RegExp("&key\\s+"+o+"(?:\\s+&allow-other-keys)?"),inside:l},argument:{pattern:RegExp(t),alias:"variable"},punctuation:/[()]/}};s.lambda.inside.arguments=p,s.defun.inside.arguments=e.util.clone(p),s.defun.inside.arguments.inside.sublist=p,e.languages.lisp=s,e.languages.elisp=s,e.languages.emacs=s,e.languages["emacs-lisp"]=s}(Prism); Prism.languages.livescript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\])#.*/,lookbehind:!0}],"interpolated-string":{pattern:/(^|[^"])("""|")(?:\\[\s\S]|(?!\2)[^\\])*\2(?!")/,lookbehind:!0,greedy:!0,inside:{variable:{pattern:/(^|[^\\])#[a-z_](?:-?[a-z]|[\d_])*/m,lookbehind:!0},interpolation:{pattern:/(^|[^\\])#\{[^}]+\}/m,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^#\{|\}$/,alias:"variable"}}},string:/[\s\S]+/}},string:[{pattern:/('''|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},{pattern:/<\[[\s\S]*?\]>/,greedy:!0},/\\[^\s,;\])}]+/],regex:[{pattern:/\/\/(?:\[[^\r\n\]]*\]|\\.|(?!\/\/)[^\\\[])+\/\/[gimyu]{0,5}/,greedy:!0,inside:{comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0}}},{pattern:/\/(?:\[[^\r\n\]]*\]|\\.|[^/\\\r\n\[])+\/[gimyu]{0,5}/,greedy:!0}],keyword:{pattern:/(^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m,lookbehind:!0},"keyword-operator":{pattern:/(^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?: not|nt)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m,lookbehind:!0,alias:"operator"},boolean:{pattern:/(^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m,lookbehind:!0},argument:{pattern:/(^|(?!\.&\.)[^&])&(?!&)\d*/m,lookbehind:!0,alias:"variable"},number:/\b(?:\d+~[\da-z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[a-z]\w*)?)/i,identifier:/[a-z_](?:-?[a-z]|[\d_])*/i,operator:[{pattern:/( )\.(?= )/,lookbehind:!0},/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[|>]|<(?:<[>=?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[\/?]/],punctuation:/[(){}\[\]|.,:;`]/},Prism.languages.livescript["interpolated-string"].inside.interpolation.inside.rest=Prism.languages.livescript; !function(a){a.languages.llvm={comment:/;.*/,string:{pattern:/"[^"]*"/,greedy:!0},boolean:/\b(?:false|true)\b/,variable:/[%@!#](?:(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+|\d+)/i,label:/(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,type:{pattern:/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/,alias:"class-name"},keyword:/\b[a-z_][a-z_0-9]*\b/,number:/[+-]?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[ML][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/,punctuation:/[{}[\];(),.!*=<>]/}}(Prism); Prism.languages.log={string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?![st] | \w)(?:[^'\\\r\n]|\\.)*'/,greedy:!0},exception:{pattern:/(^|[^\w.])[a-z][\w.]*(?:Error|Exception):.*(?:(?:\r\n?|\n)[ \t]*(?:at[ \t].+|\.{3}.*|Caused by:.*))+(?:(?:\r\n?|\n)[ \t]*\.\.\. .*)?/,lookbehind:!0,greedy:!0,alias:["javastacktrace","language-javastacktrace"],inside:Prism.languages.javastacktrace||{keyword:/\bat\b/,function:/[a-z_][\w$]*(?=\()/,punctuation:/[.:()]/}},level:[{pattern:/\b(?:ALERT|CRIT|CRITICAL|EMERG|EMERGENCY|ERR|ERROR|FAILURE|FATAL|SEVERE)\b/,alias:["error","important"]},{pattern:/\b(?:WARN|WARNING|WRN)\b/,alias:["warning","important"]},{pattern:/\b(?:DISPLAY|INF|INFO|NOTICE|STATUS)\b/,alias:["info","keyword"]},{pattern:/\b(?:DBG|DEBUG|FINE)\b/,alias:["debug","keyword"]},{pattern:/\b(?:FINER|FINEST|TRACE|TRC|VERBOSE|VRB)\b/,alias:["trace","comment"]}],property:{pattern:/((?:^|[\]|])[ \t]*)[a-z_](?:[\w-]|\b\/\b)*(?:[. ]\(?\w(?:[\w-]|\b\/\b)*\)?)*:(?=\s)/im,lookbehind:!0},separator:{pattern:/(^|[^-+])-{3,}|={3,}|\*{3,}|- - /m,lookbehind:!0,alias:"comment"},url:/\b(?:file|ftp|https?):\/\/[^\s|,;'"]*[^\s|,;'">.]/,email:{pattern:/(^|\s)[-\w+.]+@[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)+(?=\s)/,lookbehind:!0,alias:"url"},"ip-address":{pattern:/\b(?:\d{1,3}(?:\.\d{1,3}){3})\b/,alias:"constant"},"mac-address":{pattern:/\b[a-f0-9]{2}(?::[a-f0-9]{2}){5}\b/i,alias:"constant"},domain:{pattern:/(^|\s)[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)*\.[a-z][a-z0-9-]+(?=\s)/,lookbehind:!0,alias:"constant"},uuid:{pattern:/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/i,alias:"constant"},hash:{pattern:/\b(?:[a-f0-9]{32}){1,2}\b/i,alias:"constant"},"file-path":{pattern:/\b[a-z]:[\\/][^\s|,;:(){}\[\]"']+|(^|[\s:\[\](>|])\.{0,2}\/\w[^\s|,;:(){}\[\]"']*/i,lookbehind:!0,greedy:!0,alias:"string"},date:{pattern:RegExp("\\b\\d{4}[-/]\\d{2}[-/]\\d{2}(?:T(?=\\d{1,2}:)|(?=\\s\\d{1,2}:))|\\b\\d{1,4}[-/ ](?:\\d{1,2}|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)[-/ ]\\d{2,4}T?\\b|\\b(?:(?:Fri|Mon|Sat|Sun|Thu|Tue|Wed)(?:\\s{1,2}(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep))?|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)\\s{1,2}\\d{1,2}\\b","i"),alias:"number"},time:{pattern:/\b\d{1,2}:\d{1,2}:\d{1,2}(?:[.,:]\d+)?(?:\s?[+-]\d{2}:?\d{2}|Z)?\b/,alias:"number"},boolean:/\b(?:false|null|true)\b/i,number:{pattern:/(^|[^.\w])(?:0x[a-f0-9]+|0o[0-7]+|0b[01]+|v?\d[\da-f]*(?:\.\d+)*(?:e[+-]?\d+)?[a-z]{0,3}\b)\b(?!\.\w)/i,lookbehind:!0},operator:/[;:?<=>~/@!$%&+\-|^(){}*#]/,punctuation:/[\[\].,]/}; Prism.languages.lolcode={comment:[/\bOBTW\s[\s\S]*?\sTLDR\b/,/\bBTW.+/],string:{pattern:/"(?::.|[^":])*"/,inside:{variable:/:\{[^}]+\}/,symbol:[/:\([a-f\d]+\)/i,/:\[[^\]]+\]/,/:[)>o":]/]},greedy:!0},number:/(?:\B-)?(?:\b\d+(?:\.\d*)?|\B\.\d+)/,symbol:{pattern:/(^|\s)(?:A )?(?:BUKKIT|NOOB|NUMBAR|NUMBR|TROOF|YARN)(?=\s|,|$)/,lookbehind:!0,inside:{keyword:/A(?=\s)/}},label:{pattern:/((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/,lookbehind:!0,alias:"string"},function:{pattern:/((?:^|\s)(?:HOW IZ I|I IZ|IZ) )[a-zA-Z]\w*/,lookbehind:!0},keyword:[{pattern:/(^|\s)(?:AN|FOUND YR|GIMMEH|GTFO|HAI|HAS A|HOW IZ I|I HAS A|I IZ|IF U SAY SO|IM IN YR|IM OUTTA YR|IS NOW(?: A)?|ITZ(?: A)?|IZ|KTHX|KTHXBYE|LIEK(?: A)?|MAEK|MEBBE|MKAY|NERFIN|NO WAI|O HAI IM|O RLY\?|OIC|OMG|OMGWTF|R|SMOOSH|SRS|TIL|UPPIN|VISIBLE|WILE|WTF\?|YA RLY|YR)(?=\s|,|$)/,lookbehind:!0},/'Z(?=\s|,|$)/],boolean:{pattern:/(^|\s)(?:FAIL|WIN)(?=\s|,|$)/,lookbehind:!0},variable:{pattern:/(^|\s)IT(?=\s|,|$)/,lookbehind:!0},operator:{pattern:/(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:ALL|ANY|BIGGR|BOTH|DIFF|EITHER|MOD|PRODUKT|QUOSHUNT|SMALLR|SUM|WON) OF)(?=\s|,|$)/,lookbehind:!0},punctuation:/\.{3}|…|,|!/}; Prism.languages.magma={output:{pattern:/^(>.*(?:\r(?:\n|(?!\n))|\n))(?!>)(?:.+|(?:\r(?:\n|(?!\n))|\n)(?!>).*)(?:(?:\r(?:\n|(?!\n))|\n)(?!>).*)*/m,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/(^|[^\\"])"(?:[^\r\n\\"]|\\.)*"/,lookbehind:!0,greedy:!0},keyword:/\b(?:_|adj|and|assert|assert2|assert3|assigned|break|by|case|cat|catch|clear|cmpeq|cmpne|continue|declare|default|delete|diff|div|do|elif|else|end|eq|error|eval|exists|exit|for|forall|forward|fprintf|freeze|function|ge|gt|if|iload|import|in|intrinsic|is|join|le|load|local|lt|meet|mod|ne|not|notadj|notin|notsubset|or|print|printf|procedure|quit|random|read|readi|repeat|require|requirege|requirerange|restore|return|save|sdiff|select|subset|then|time|to|try|until|vprint|vprintf|vtime|when|where|while|xor)\b/,boolean:/\b(?:false|true)\b/,generator:{pattern:/\b[a-z_]\w*(?=\s*<)/i,alias:"class-name"},function:/\b[a-z_]\w*(?=\s*\()/i,number:{pattern:/(^|[^\w.]|\.\.)(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?:_[a-z]?)?(?=$|[^\w.]|\.\.)/,lookbehind:!0},operator:/->|[-+*/^~!|#=]|:=|\.\./,punctuation:/[()[\]{}<>,;.:]/}; Prism.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}; !function(n){function e(n){return n=n.replace(//g,(function(){return"(?:\\\\.|[^\\\\\n\r]|(?:\n|\r\n?)(?![\r\n]))"})),RegExp("((?:^|[^\\\\])(?:\\\\{2})*)(?:"+n+")")}var t="(?:\\\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\\\|\r\n`])+",a="\\|?__(?:\\|__)+\\|?(?:(?:\n|\r\n?)|(?![^]))".replace(/__/g,(function(){return t})),i="\\|?[ \t]*:?-{3,}:?[ \t]*(?:\\|[ \t]*:?-{3,}:?[ \t]*)+\\|?(?:\n|\r\n?)";n.languages.markdown=n.languages.extend("markup",{}),n.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:n.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+i+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+i+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(t),inside:n.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(t),alias:"important",inside:n.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:e("\\b__(?:(?!_)|_(?:(?!_))+_)+__\\b|\\*\\*(?:(?!\\*)|\\*(?:(?!\\*))+\\*)+\\*\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:e("\\b_(?:(?!_)|__(?:(?!_))+__)+_\\b|\\*(?:(?!\\*)|\\*\\*(?:(?!\\*))+\\*\\*)+\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:e("(~~?)(?:(?!~))+\\2"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:e('!?\\[(?:(?!\\]))+\\](?:\\([^\\s)]+(?:[\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \t]?\\[(?:(?!\\]))+\\])'),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(e){["url","bold","italic","strike","code-snippet"].forEach((function(t){e!==t&&(n.languages.markdown[e].inside.content.inside[t]=n.languages.markdown[t])}))})),n.hooks.add("after-tokenize",(function(n){"markdown"!==n.language&&"md"!==n.language||function n(e){if(e&&"string"!=typeof e)for(var t=0,a=e.length;t",quot:'"'},l=String.fromCodePoint||String.fromCharCode;n.languages.md=n.languages.markdown}(Prism); !function(t){var e="\\bvoid\\b||\\b(?:complex|numeric|pointer(?:\\s*\\([^()]*\\))?|real|string|(?:class|struct)\\s+\\w+|transmorphic)(?:\\s*)?".replace(//g,"\\b(?:(?:col|row)?vector|matrix|scalar)\\b");t.languages.mata={comment:{pattern:/\/\/.*|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\//,greedy:!0},string:{pattern:/"[^"\r\n]*"|[‘`']".*?"[’`']/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|struct)\s+)\w+(?=\s*(?:\{|\bextends\b))/,lookbehind:!0},type:{pattern:RegExp(e),alias:"class-name",inside:{punctuation:/[()]/,keyword:/\b(?:class|function|struct|void)\b/}},keyword:/\b(?:break|class|continue|do|else|end|extends|external|final|for|function|goto|if|pragma|private|protected|public|return|static|struct|unset|unused|version|virtual|while)\b/,constant:/\bNULL\b/,number:{pattern:/(^|[^\w.])(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|\d[a-f0-9]*(?:\.[a-f0-9]+)?x[+-]?\d+)i?(?![\w.])/i,lookbehind:!0},missing:{pattern:/(^|[^\w.])(?:\.[a-z]?)(?![\w.])/,lookbehind:!0,alias:"symbol"},function:/\b[a-z_]\w*(?=\s*\()/i,operator:/\.\.|\+\+|--|&&|\|\||:?(?:[!=<>]=|[+\-*/^<>&|:])|[!?=\\#’`']/,punctuation:/[()[\]{},;.]/}}(Prism); Prism.languages.matlab={comment:[/%\{[\s\S]*?\}%/,/%.+/],string:{pattern:/\B'(?:''|[^'\r\n])*'/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?(?:[ij])?|\b[ij]\b/,keyword:/\b(?:NaN|break|case|catch|continue|else|elseif|end|for|function|if|inf|otherwise|parfor|pause|pi|return|switch|try|while)\b/,function:/\b(?!\d)\w+(?=\s*\()/,operator:/\.?[*^\/\\']|[+\-:@]|[<>=~]=?|&&?|\|\|?/,punctuation:/\.{3}|[.,;\[\](){}!]/}; !function(t){var e=/\b(?:about|and|animate|as|at|attributes|by|case|catch|collect|continue|coordsys|do|else|exit|fn|for|from|function|global|if|in|local|macroscript|mapped|max|not|of|off|on|or|parameters|persistent|plugin|rcmenu|return|rollout|set|struct|then|throw|to|tool|try|undo|utility|when|where|while|with)\b/i;t.languages.maxscript={comment:{pattern:/\/\*[\s\S]*?(?:\*\/|$)|--.*/,greedy:!0},string:{pattern:/(^|[^"\\@])(?:"(?:[^"\\]|\\[\s\S])*"|@"[^"]*")/,lookbehind:!0,greedy:!0},path:{pattern:/\$(?:[\w/\\.*?]|'[^']*')*/,greedy:!0,alias:"string"},"function-call":{pattern:RegExp("((?:^|[;=<>+\\-*/^({\\[]|\\b(?:and|by|case|catch|collect|do|else|if|in|not|or|return|then|to|try|where|while|with)\\b)[ \t]*)(?!"+e.source+")[a-z_]\\w*\\b(?=[ \t]*(?:(?!"+e.source+")[a-z_]|\\d|-\\.?\\d|[({'\"$@#?]))","im"),lookbehind:!0,greedy:!0,alias:"function"},"function-definition":{pattern:/(\b(?:fn|function)\s+)\w+\b/i,lookbehind:!0,alias:"function"},argument:{pattern:/\b[a-z_]\w*(?=:)/i,alias:"attr-name"},keyword:e,boolean:/\b(?:false|true)\b/,time:{pattern:/(^|[^\w.])(?:(?:(?:\d+(?:\.\d*)?|\.\d+)(?:[eEdD][+-]\d+|[LP])?[msft])+|\d+:\d+(?:\.\d*)?)(?![\w.:])/,lookbehind:!0,alias:"number"},number:[{pattern:/(^|[^\w.])(?:(?:\d+(?:\.\d*)?|\.\d+)(?:[eEdD][+-]\d+|[LP])?|0x[a-fA-F0-9]+)(?![\w.:])/,lookbehind:!0},/\b(?:e|pi)\b/],constant:/\b(?:dontcollect|ok|silentValue|undefined|unsupplied)\b/,color:{pattern:/\b(?:black|blue|brown|gray|green|orange|red|white|yellow)\b/i,alias:"constant"},operator:/[-+*/<>=!]=?|[&^?]|#(?!\()/,punctuation:/[()\[\]{}.:,;]|#(?=\()|\\$/m}}(Prism); Prism.languages.mel={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},code:{pattern:/`(?:\\.|[^\\`])*`/,greedy:!0,alias:"italic",inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},statement:{pattern:/[\s\S]+/,inside:null}}},string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},variable:/\$\w+/,number:/\b0x[\da-fA-F]+\b|\b\d+(?:\.\d*)?|\B\.\d+/,flag:{pattern:/-[^\d\W]\w*/,alias:"operator"},keyword:/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/,function:{pattern:/((?:^|[{;])[ \t]*)[a-z_]\w*\b(?!\s*(?:\.(?!\.)|[[{=]))|\b[a-z_]\w*(?=[ \t]*\()/im,lookbehind:!0,greedy:!0},"tensor-punctuation":{pattern:/<<|>>/,alias:"punctuation"},operator:/\+[+=]?|-[-=]?|&&|\|\||[<>]=?|[*\/!=]=?|[%^]/,punctuation:/[.,:;?\[\](){}]/},Prism.languages.mel.code.inside.statement.inside=Prism.languages.mel; Prism.languages.mermaid={comment:{pattern:/%%.*/,greedy:!0},style:{pattern:/^([ \t]*(?:classDef|linkStyle|style)[ \t]+[\w$-]+[ \t]+)\w.*[^\s;]/m,lookbehind:!0,inside:{property:/\b\w[\w-]*(?=[ \t]*:)/,operator:/:/,punctuation:/,/}},"inter-arrow-label":{pattern:/([^<>ox.=-])(?:-[-.]|==)(?![<>ox.=-])[ \t]*(?:"[^"\r\n]*"|[^\s".=-](?:[^\r\n.=-]*[^\s.=-])?)[ \t]*(?:\.+->?|--+[->]|==+[=>])(?![<>ox.=-])/,lookbehind:!0,greedy:!0,inside:{arrow:{pattern:/(?:\.+->?|--+[->]|==+[=>])$/,alias:"operator"},label:{pattern:/^([\s\S]{2}[ \t]*)\S(?:[\s\S]*\S)?/,lookbehind:!0,alias:"property"},"arrow-head":{pattern:/^\S+/,alias:["arrow","operator"]}}},arrow:[{pattern:/(^|[^{}|o.-])[|}][|o](?:--|\.\.)[|o][|{](?![{}|o.-])/,lookbehind:!0,alias:"operator"},{pattern:/(^|[^<>ox.=-])(?:[ox]?|(?:==+|--+|-\.*-)[>ox]|===+|---+|-\.+-)(?![<>ox.=-])/,lookbehind:!0,alias:"operator"},{pattern:/(^|[^<>()x-])(?:--?(?:>>|[x>)])(?![<>()x])|(?:<<|[x<(])--?(?!-))/,lookbehind:!0,alias:"operator"},{pattern:/(^|[^<>|*o.-])(?:[*o]--|--[*o]|<\|?(?:--|\.\.)|(?:--|\.\.)\|?>|--|\.\.)(?![<>|*o.-])/,lookbehind:!0,alias:"operator"}],label:{pattern:/(^|[^|<])\|(?:[^\r\n"|]|"[^"\r\n]*")+\|/,lookbehind:!0,greedy:!0,alias:"property"},text:{pattern:/(?:[(\[{]+|\b>)(?:[^\r\n"()\[\]{}]|"[^"\r\n]*")+(?:[)\]}]+|>)/,alias:"string"},string:{pattern:/"[^"\r\n]*"/,greedy:!0},annotation:{pattern:/<<(?:abstract|choice|enumeration|fork|interface|join|service)>>|\[\[(?:choice|fork|join)\]\]/i,alias:"important"},keyword:[{pattern:/(^[ \t]*)(?:action|callback|class|classDef|classDiagram|click|direction|erDiagram|flowchart|gantt|gitGraph|graph|journey|link|linkStyle|pie|requirementDiagram|sequenceDiagram|stateDiagram|stateDiagram-v2|style|subgraph)(?![\w$-])/m,lookbehind:!0,greedy:!0},{pattern:/(^[ \t]*)(?:activate|alt|and|as|autonumber|deactivate|else|end(?:[ \t]+note)?|loop|opt|par|participant|rect|state|note[ \t]+(?:over|(?:left|right)[ \t]+of))(?![\w$-])/im,lookbehind:!0,greedy:!0}],entity:/#[a-z0-9]+;/,operator:{pattern:/(\w[ \t]*)&(?=[ \t]*\w)|:::|:/,lookbehind:!0},punctuation:/[(){};]/}; Prism.languages.metafont={comment:{pattern:/%.*/,greedy:!0},string:{pattern:/"[^\r\n"]*"/,greedy:!0},number:/\d*\.?\d+/,boolean:/\b(?:false|true)\b/,punctuation:[/[,;()]/,{pattern:/(^|[^{}])(?:\{|\})(?![{}])/,lookbehind:!0},{pattern:/(^|[^[])\[(?!\[)/,lookbehind:!0},{pattern:/(^|[^\]])\](?!\])/,lookbehind:!0}],constant:[{pattern:/(^|[^!?])\?\?\?(?![!?])/,lookbehind:!0},{pattern:/(^|[^/*\\])(?:\\|\\\\)(?![/*\\])/,lookbehind:!0},/\b(?:_|blankpicture|bp|cc|cm|dd|ditto|down|eps|epsilon|fullcircle|halfcircle|identity|in|infinity|left|mm|nullpen|nullpicture|origin|pc|penrazor|penspeck|pensquare|penstroke|proof|pt|quartercircle|relax|right|smoke|unitpixel|unitsquare|up)\b/],quantity:{pattern:/\b(?:autorounding|blacker|boundarychar|charcode|chardp|chardx|chardy|charext|charht|charic|charwd|currentwindow|day|designsize|displaying|fillin|fontmaking|granularity|hppp|join_radius|month|o_correction|pausing|pen_(?:bot|lft|rt|top)|pixels_per_inch|proofing|showstopping|smoothing|time|tolerance|tracingcapsules|tracingchoices|tracingcommands|tracingedges|tracingequations|tracingmacros|tracingonline|tracingoutput|tracingpens|tracingrestores|tracingspecs|tracingstats|tracingtitles|turningcheck|vppp|warningcheck|xoffset|year|yoffset)\b/,alias:"keyword"},command:{pattern:/\b(?:addto|batchmode|charlist|cull|display|errhelp|errmessage|errorstopmode|everyjob|extensible|fontdimen|headerbyte|inner|interim|let|ligtable|message|newinternal|nonstopmode|numspecial|openwindow|outer|randomseed|save|scrollmode|shipout|show|showdependencies|showstats|showtoken|showvariable|special)\b/,alias:"builtin"},operator:[{pattern:/(^|[^>=<:|])(?:<|<=|=|=:|\|=:|\|=:>|=:\|>|=:\||\|=:\||\|=:\|>|\|=:\|>>|>|>=|:|:=|<>|::|\|\|:)(?![>=<:|])/,lookbehind:!0},{pattern:/(^|[^+-])(?:\+|\+\+|-{1,3}|\+-\+)(?![+-])/,lookbehind:!0},{pattern:/(^|[^/*\\])(?:\*|\*\*|\/)(?![/*\\])/,lookbehind:!0},{pattern:/(^|[^.])(?:\.{2,3})(?!\.)/,lookbehind:!0},{pattern:/(^|[^@#&$])&(?![@#&$])/,lookbehind:!0},/\b(?:and|not|or)\b/],macro:{pattern:/\b(?:abs|beginchar|bot|byte|capsule_def|ceiling|change_width|clear_pen_memory|clearit|clearpen|clearxy|counterclockwise|cullit|cutdraw|cutoff|decr|define_blacker_pixels|define_corrected_pixels|define_good_x_pixels|define_good_y_pixels|define_horizontal_corrected_pixels|define_pixels|define_whole_blacker_pixels|define_whole_pixels|define_whole_vertical_blacker_pixels|define_whole_vertical_pixels|dir|direction|directionpoint|div|dotprod|downto|draw|drawdot|endchar|erase|fill|filldraw|fix_units|flex|font_coding_scheme|font_extra_space|font_identifier|font_normal_shrink|font_normal_space|font_normal_stretch|font_quad|font_size|font_slant|font_x_height|gfcorners|gobble|gobbled|good\.(?:bot|lft|rt|top|x|y)|grayfont|hide|hround|imagerules|incr|interact|interpath|intersectionpoint|inverse|italcorr|killtext|labelfont|labels|lft|loggingall|lowres_fix|makegrid|makelabel(?:\.(?:bot|lft|rt|top)(?:\.nodot)?)?|max|min|mod|mode_def|mode_setup|nodisplays|notransforms|numtok|openit|penlabels|penpos|pickup|proofoffset|proofrule|proofrulethickness|range|reflectedabout|rotatedabout|rotatedaround|round|rt|savepen|screenchars|screenrule|screenstrokes|shipit|showit|slantfont|softjoin|solve|stop|superellipse|tensepath|thru|titlefont|top|tracingall|tracingnone|undraw|undrawdot|unfill|unfilldraw|upto|vround)\b/,alias:"function"},builtin:/\b(?:ASCII|angle|char|cosd|decimal|directiontime|floor|hex|intersectiontimes|jobname|known|length|makepath|makepen|mexp|mlog|normaldeviate|oct|odd|pencircle|penoffset|point|postcontrol|precontrol|reverse|rotated|sind|sqrt|str|subpath|substring|totalweight|turningnumber|uniformdeviate|unknown|xpart|xxpart|xypart|ypart|yxpart|yypart)\b/,keyword:/\b(?:also|at|atleast|begingroup|charexists|contour|controls|curl|cycle|def|delimiters|doublepath|dropping|dump|else|elseif|end|enddef|endfor|endgroup|endinput|exitif|exitunless|expandafter|fi|for|forever|forsuffixes|from|if|input|inwindow|keeping|kern|of|primarydef|quote|readstring|scaled|scantokens|secondarydef|shifted|skipto|slanted|step|tension|tertiarydef|to|transformed|until|vardef|withpen|withweight|xscaled|yscaled|zscaled)\b/,type:{pattern:/\b(?:boolean|expr|numeric|pair|path|pen|picture|primary|secondary|string|suffix|tertiary|text|transform)\b/,alias:"property"},variable:{pattern:/(^|[^@#&$])(?:@#|#@|#|@)(?![@#&$])|\b(?:aspect_ratio|currentpen|currentpicture|currenttransform|d|extra_beginchar|extra_endchar|extra_setup|h|localfont|mag|mode|screen_cols|screen_rows|w|whatever|x|y|z)\b/,lookbehind:!0}}; Prism.languages.mizar={comment:/::.+/,keyword:/@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|end|environ|equals|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:ies|y)|when|where|with|wrt)\b/,parameter:{pattern:/\$(?:10|\d)/,alias:"variable"},variable:/\b\w+(?=:)/,number:/(?:\b|-)\d+\b/,operator:/\.\.\.|->|&|\.?=/,punctuation:/\(#|#\)|[,:;\[\](){}]/}; !function($){var e=["$eq","$gt","$gte","$in","$lt","$lte","$ne","$nin","$and","$not","$nor","$or","$exists","$type","$expr","$jsonSchema","$mod","$regex","$text","$where","$geoIntersects","$geoWithin","$near","$nearSphere","$all","$elemMatch","$size","$bitsAllClear","$bitsAllSet","$bitsAnyClear","$bitsAnySet","$comment","$elemMatch","$meta","$slice","$currentDate","$inc","$min","$max","$mul","$rename","$set","$setOnInsert","$unset","$addToSet","$pop","$pull","$push","$pullAll","$each","$position","$slice","$sort","$bit","$addFields","$bucket","$bucketAuto","$collStats","$count","$currentOp","$facet","$geoNear","$graphLookup","$group","$indexStats","$limit","$listLocalSessions","$listSessions","$lookup","$match","$merge","$out","$planCacheStats","$project","$redact","$replaceRoot","$replaceWith","$sample","$set","$skip","$sort","$sortByCount","$unionWith","$unset","$unwind","$setWindowFields","$abs","$accumulator","$acos","$acosh","$add","$addToSet","$allElementsTrue","$and","$anyElementTrue","$arrayElemAt","$arrayToObject","$asin","$asinh","$atan","$atan2","$atanh","$avg","$binarySize","$bsonSize","$ceil","$cmp","$concat","$concatArrays","$cond","$convert","$cos","$dateFromParts","$dateToParts","$dateFromString","$dateToString","$dayOfMonth","$dayOfWeek","$dayOfYear","$degreesToRadians","$divide","$eq","$exp","$filter","$first","$floor","$function","$gt","$gte","$hour","$ifNull","$in","$indexOfArray","$indexOfBytes","$indexOfCP","$isArray","$isNumber","$isoDayOfWeek","$isoWeek","$isoWeekYear","$last","$last","$let","$literal","$ln","$log","$log10","$lt","$lte","$ltrim","$map","$max","$mergeObjects","$meta","$min","$millisecond","$minute","$mod","$month","$multiply","$ne","$not","$objectToArray","$or","$pow","$push","$radiansToDegrees","$range","$reduce","$regexFind","$regexFindAll","$regexMatch","$replaceOne","$replaceAll","$reverseArray","$round","$rtrim","$second","$setDifference","$setEquals","$setIntersection","$setIsSubset","$setUnion","$size","$sin","$slice","$split","$sqrt","$stdDevPop","$stdDevSamp","$strcasecmp","$strLenBytes","$strLenCP","$substr","$substrBytes","$substrCP","$subtract","$sum","$switch","$tan","$toBool","$toDate","$toDecimal","$toDouble","$toInt","$toLong","$toObjectId","$toString","$toLower","$toUpper","$trim","$trunc","$type","$week","$year","$zip","$count","$dateAdd","$dateDiff","$dateSubtract","$dateTrunc","$getField","$rand","$sampleRate","$setField","$unsetField","$comment","$explain","$hint","$max","$maxTimeMS","$min","$orderby","$query","$returnKey","$showDiskLoc","$natural"],t="(?:"+(e=e.map((function($){return $.replace("$","\\$")}))).join("|")+")\\b";$.languages.mongodb=$.languages.extend("javascript",{}),$.languages.insertBefore("mongodb","string",{property:{pattern:/(?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)(?=\s*:)/,greedy:!0,inside:{keyword:RegExp("^(['\"])?"+t+"(?:\\1)?$")}}}),$.languages.mongodb.string.inside={url:{pattern:/https?:\/\/[-\w@:%.+~#=]{1,256}\.[a-z0-9()]{1,6}\b[-\w()@:%+.~#?&/=]*/i,greedy:!0},entity:{pattern:/\b(?:(?:[01]?\d\d?|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d\d?|2[0-4]\d|25[0-5])\b/,greedy:!0}},$.languages.insertBefore("mongodb","constant",{builtin:{pattern:RegExp("\\b(?:"+["ObjectId","Code","BinData","DBRef","Timestamp","NumberLong","NumberDecimal","MaxKey","MinKey","RegExp","ISODate","UUID"].join("|")+")\\b"),alias:"keyword"}})}(Prism); Prism.languages.monkey={comment:{pattern:/^#Rem\s[\s\S]*?^#End|'.+/im,greedy:!0},string:{pattern:/"[^"\r\n]*"/,greedy:!0},preprocessor:{pattern:/(^[ \t]*)#.+/m,lookbehind:!0,greedy:!0,alias:"property"},function:/\b\w+(?=\()/,"type-char":{pattern:/\b[?%#$]/,alias:"class-name"},number:{pattern:/((?:\.\.)?)(?:(?:\b|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\da-f]+)/i,lookbehind:!0},keyword:/\b(?:Abstract|Array|Bool|Case|Catch|Class|Const|Continue|Default|Eachin|Else|ElseIf|End|EndIf|Exit|Extends|Extern|False|Field|Final|Float|For|Forever|Function|Global|If|Implements|Import|Inline|Int|Interface|Local|Method|Module|New|Next|Null|Object|Private|Property|Public|Repeat|Return|Select|Self|Step|Strict|String|Super|Then|Throw|To|True|Try|Until|Void|Wend|While)\b/i,operator:/\.\.|<[=>]?|>=?|:?=|(?:[+\-*\/&~|]|\b(?:Mod|Shl|Shr)\b)=?|\b(?:And|Not|Or)\b/i,punctuation:/[.,:;()\[\]]/}; Prism.languages.moonscript={comment:/--.*/,string:[{pattern:/'[^']*'|\[(=*)\[[\s\S]*?\]\1\]/,greedy:!0},{pattern:/"[^"]*"/,greedy:!0,inside:{interpolation:{pattern:/#\{[^{}]*\}/,inside:{moonscript:{pattern:/(^#\{)[\s\S]+(?=\})/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/#\{|\}/,alias:"punctuation"}}}}}],"class-name":[{pattern:/(\b(?:class|extends)[ \t]+)\w+/,lookbehind:!0},/\b[A-Z]\w*/],keyword:/\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/,variable:/@@?\w*/,property:{pattern:/\b(?!\d)\w+(?=:)|(:)(?!\d)\w+/,lookbehind:!0},function:{pattern:/\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:create|resume|running|status|wrap|yield)|debug\.(?:debug|getfenv|gethook|getinfo|getlocal|getmetatable|getregistry|getupvalue|setfenv|sethook|setlocal|setmetatable|setupvalue|traceback)|dofile|error|getfenv|getmetatable|io\.(?:close|flush|input|lines|open|output|popen|read|stderr|stdin|stdout|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|cos|cosh|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pi|pow|rad|random|randomseed|sin|sinh|sqrt|tan|tanh)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|format|gmatch|gsub|len|lower|match|rep|reverse|sub|upper)|table\.(?:concat|insert|maxn|remove|sort)|tonumber|tostring|type|unpack|xpcall)\b/,inside:{punctuation:/\./}},boolean:/\b(?:false|true)\b/,number:/(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[eE]))(?:[eE][-+]?\d+)?\b|\b(?:0x[a-fA-F\d]+|\d+)(?:U?LL)?\b/,operator:/\.{3}|[-=]>|~=|(?:[-+*/%<>!=]|\.\.)=?|[:#^]|\b(?:and|or)\b=?|\b(?:not)\b/,punctuation:/[.,()[\]{}\\]/},Prism.languages.moonscript.string[1].inside.interpolation.inside.moonscript.inside=Prism.languages.moonscript,Prism.languages.moon=Prism.languages.moonscript; Prism.languages.n1ql={comment:{pattern:/\/\*[\s\S]*?(?:$|\*\/)|--.*/,greedy:!0},string:{pattern:/(["'])(?:\\[\s\S]|(?!\1)[^\\]|\1\1)*\1/,greedy:!0},identifier:{pattern:/`(?:\\[\s\S]|[^\\`]|``)*`/,greedy:!0},parameter:/\$[\w.]+/,keyword:/\b(?:ADVISE|ALL|ALTER|ANALYZE|AS|ASC|AT|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|COMMITTED|CONNECT|CONTINUE|CORRELATE|CORRELATED|COVER|CREATE|CURRENT|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FILTER|FLATTEN|FLUSH|FOLLOWING|FOR|FORCE|FROM|FTS|FUNCTION|GOLANG|GRANT|GROUP|GROUPS|GSI|HASH|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|ISOLATION|JAVASCRIPT|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LANGUAGE|LAST|LEFT|LET|LETTING|LEVEL|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NL|NO|NTH_VALUE|NULL|NULLS|NUMBER|OBJECT|OFFSET|ON|OPTION|OPTIONS|ORDER|OTHERS|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PRECEDING|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROBE|PROCEDURE|PUBLIC|RANGE|RAW|REALM|REDUCE|RENAME|RESPECT|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|ROW|ROWS|SATISFIES|SAVEPOINT|SCHEMA|SCOPE|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TIES|TO|TRAN|TRANSACTION|TRIGGER|TRUNCATE|UNBOUNDED|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WINDOW|WITH|WORK|XOR)\b/i,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:FALSE|TRUE)\b/i,number:/(?:\b\d+\.|\B\.)\d+e[+\-]?\d+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/%]|!=|==?|\|\||<[>=]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i,punctuation:/[;[\](),.{}:]/}; Prism.languages.n4js=Prism.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),Prism.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),Prism.languages.n4jsd=Prism.languages.n4js; Prism.languages["nand2tetris-hdl"]={comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,keyword:/\b(?:BUILTIN|CHIP|CLOCKED|IN|OUT|PARTS)\b/,boolean:/\b(?:false|true)\b/,function:/\b[A-Za-z][A-Za-z0-9]*(?=\()/,number:/\b\d+\b/,operator:/=|\.\./,punctuation:/[{}[\];(),:]/}; !function(e){var a=/\{[^\r\n\[\]{}]*\}/,n={"quoted-string":{pattern:/"(?:[^"\\]|\\.)*"/,alias:"operator"},"command-param-id":{pattern:/(\s)\w+:/,lookbehind:!0,alias:"property"},"command-param-value":[{pattern:a,alias:"selector"},{pattern:/([\t ])\S+/,lookbehind:!0,greedy:!0,alias:"operator"},{pattern:/\S(?:.*\S)?/,alias:"operator"}]};function t(e){return"string"==typeof e?e:Array.isArray(e)?e.map(t).join(""):t(e.content)}e.languages.naniscript={comment:{pattern:/^([\t ]*);.*/m,lookbehind:!0},define:{pattern:/^>.+/m,alias:"tag",inside:{value:{pattern:/(^>\w+[\t ]+)(?!\s)[^{}\r\n]+/,lookbehind:!0,alias:"operator"},key:{pattern:/(^>)\w+/,lookbehind:!0}}},label:{pattern:/^([\t ]*)#[\t ]*\w+[\t ]*$/m,lookbehind:!0,alias:"regex"},command:{pattern:/^([\t ]*)@\w+(?=[\t ]|$).*/m,lookbehind:!0,alias:"function",inside:{"command-name":/^@\w+/,expression:{pattern:a,greedy:!0,alias:"selector"},"command-params":{pattern:/\s*\S[\s\S]*/,inside:n}}},"generic-text":{pattern:/(^[ \t]*)[^#@>;\s].*/m,lookbehind:!0,alias:"punctuation",inside:{"escaped-char":/\\[{}\[\]"]/,expression:{pattern:a,greedy:!0,alias:"selector"},"inline-command":{pattern:/\[[\t ]*\w[^\r\n\[\]]*\]/,greedy:!0,alias:"function",inside:{"command-params":{pattern:/(^\[[\t ]*\w+\b)[\s\S]+(?=\]$)/,lookbehind:!0,inside:n},"command-param-name":{pattern:/^(\[[\t ]*)\w+/,lookbehind:!0,alias:"name"},"start-stop-char":/[\[\]]/}}}}},e.languages.nani=e.languages.naniscript,e.hooks.add("after-tokenize",(function(e){e.tokens.forEach((function(e){if("string"!=typeof e&&"generic-text"===e.type){var a=t(e);(function(e){for(var a=[],n=0;n=&|$!]/}; Prism.languages.neon={comment:{pattern:/#.*/,greedy:!0},datetime:{pattern:/(^|[[{(=:,\s])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\]}),\s])/,lookbehind:!0,alias:"number"},key:{pattern:/(^|[[{(,\s])[^,:=[\]{}()'"\s]+(?=\s*:(?:$|[\]}),\s])|\s*=)/,lookbehind:!0,alias:"property"},number:{pattern:/(^|[[{(=:,\s])[+-]?(?:0x[\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\d+(?:\.\d*)?|\.?\d+)(?:[eE][+-]?\d+)?)(?=$|[\]}),:=\s])/,lookbehind:!0},boolean:{pattern:/(^|[[{(=:,\s])(?:false|no|true|yes)(?=$|[\]}),:=\s])/i,lookbehind:!0},null:{pattern:/(^|[[{(=:,\s])(?:null)(?=$|[\]}),:=\s])/i,lookbehind:!0,alias:"keyword"},string:{pattern:/(^|[[{(=:,\s])(?:('''|""")\r?\n(?:(?:[^\r\n]|\r?\n(?![\t ]*\2))*\r?\n)?[\t ]*\2|'[^'\r\n]*'|"(?:\\.|[^\\"\r\n])*")/,lookbehind:!0,greedy:!0},literal:{pattern:/(^|[[{(=:,\s])(?:[^#"',:=[\]{}()\s`-]|[:-][^"',=[\]{}()\s])(?:[^,:=\]})(\s]|:(?![\s,\]})]|$)|[ \t]+[^#,:=\]})(\s])*/,lookbehind:!0,alias:"string"},punctuation:/[,:=[\]{}()-]/}; Prism.languages.nevod={comment:/\/\/.*|(?:\/\*[\s\S]*?(?:\*\/|$))/,string:{pattern:/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))!?\*?/,greedy:!0,inside:{"string-attrs":/!$|!\*$|\*$/}},namespace:{pattern:/(@namespace\s+)[a-zA-Z0-9\-.]+(?=\s*\{)/,lookbehind:!0},pattern:{pattern:/(@pattern\s+)?#?[a-zA-Z0-9\-.]+(?:\s*\(\s*(?:~\s*)?[a-zA-Z0-9\-.]+\s*(?:,\s*(?:~\s*)?[a-zA-Z0-9\-.]*)*\))?(?=\s*=)/,lookbehind:!0,inside:{"pattern-name":{pattern:/^#?[a-zA-Z0-9\-.]+/,alias:"class-name"},fields:{pattern:/\(.*\)/,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},punctuation:/[,()]/,operator:{pattern:/~/,alias:"field-hidden-mark"}}}}},search:{pattern:/(@search\s+|#)[a-zA-Z0-9\-.]+(?:\.\*)?(?=\s*;)/,alias:"function",lookbehind:!0},keyword:/@(?:having|inside|namespace|outside|pattern|require|search|where)\b/,"standard-pattern":{pattern:/\b(?:Alpha|AlphaNum|Any|Blank|End|LineBreak|Num|NumAlpha|Punct|Space|Start|Symbol|Word|WordBreak)\b(?:\([a-zA-Z0-9\-.,\s+]*\))?/,inside:{"standard-pattern-name":{pattern:/^[a-zA-Z0-9\-.]+/,alias:"builtin"},quantifier:{pattern:/\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,alias:"number"},"standard-pattern-attr":{pattern:/[a-zA-Z0-9\-.]+/,alias:"builtin"},punctuation:/[,()]/}},quantifier:{pattern:/\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,alias:"number"},operator:[{pattern:/=/,alias:"pattern-def"},{pattern:/&/,alias:"conjunction"},{pattern:/~/,alias:"exception"},{pattern:/\?/,alias:"optionality"},{pattern:/[[\]]/,alias:"repetition"},{pattern:/[{}]/,alias:"variation"},{pattern:/[+_]/,alias:"sequence"},{pattern:/\.{2,3}/,alias:"span"}],"field-capture":[{pattern:/([a-zA-Z0-9\-.]+\s*\()\s*[a-zA-Z0-9\-.]+\s*:\s*[a-zA-Z0-9\-.]+(?:\s*,\s*[a-zA-Z0-9\-.]+\s*:\s*[a-zA-Z0-9\-.]+)*(?=\s*\))/,lookbehind:!0,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},colon:/:/}},{pattern:/[a-zA-Z0-9\-.]+\s*:/,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},colon:/:/}}],punctuation:/[:;,()]/,name:/[a-zA-Z0-9\-.]+/}; !function(e){var n=/\$(?:\w[a-z\d]*(?:_[^\x00-\x1F\s"'\\()$]*)?|\{[^}\s"'\\]+\})/i;e.languages.nginx={comment:{pattern:/(^|[\s{};])#.*/,lookbehind:!0,greedy:!0},directive:{pattern:/(^|\s)\w(?:[^;{}"'\\\s]|\\.|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\s+(?:#.*(?!.)|(?![#\s])))*?(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:{string:{pattern:/((?:^|[^\\])(?:\\\\)*)(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,lookbehind:!0,greedy:!0,inside:{escape:{pattern:/\\["'\\nrt]/,alias:"entity"},variable:n}},comment:{pattern:/(\s)#.*/,lookbehind:!0,greedy:!0},keyword:{pattern:/^\S+/,greedy:!0},boolean:{pattern:/(\s)(?:off|on)(?!\S)/,lookbehind:!0},number:{pattern:/(\s)\d+[a-z]*(?!\S)/i,lookbehind:!0},variable:n}},punctuation:/[{};]/}}(Prism); Prism.languages.nim={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/(?:\b(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+)?(?:"""[\s\S]*?"""(?!")|"(?:\\[\s\S]|""|[^"\\])*")/,greedy:!0},char:{pattern:/'(?:\\(?:\d+|x[\da-fA-F]{0,2}|.)|[^'])'/,greedy:!0},function:{pattern:/(?:(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+|`[^`\r\n]+`)\*?(?:\[[^\]]+\])?(?=\s*\()/,greedy:!0,inside:{operator:/\*$/}},identifier:{pattern:/`[^`\r\n]+`/,greedy:!0,inside:{punctuation:/`/}},number:/\b(?:0[xXoObB][\da-fA-F_]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[eE][+-]?\d[\d_]*)?)(?:'?[iuf]\d*)?/,keyword:/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/,operator:{pattern:/(^|[({\[](?=\.\.)|(?![({\[]\.).)(?:(?:[=+\-*\/<>@$~&%|!?^:\\]|\.\.|\.(?![)}\]]))+|\b(?:and|div|in|is|isnot|mod|not|notin|of|or|shl|shr|xor)\b)/m,lookbehind:!0},punctuation:/[({\[]\.|\.[)}\]]|[`(){}\[\],:]/}; Prism.languages.nix={comment:{pattern:/\/\*[\s\S]*?\*\/|#.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\[\s\S])*"|''(?:(?!'')[\s\S]|''(?:'|\\|\$\{))*''/,greedy:!0,inside:{interpolation:{pattern:/(^|(?:^|(?!'').)[^\\])\$\{(?:[^{}]|\{[^}]*\})*\}/,lookbehind:!0,inside:null}}},url:[/\b(?:[a-z]{3,7}:\/\/)[\w\-+%~\/.:#=?&]+/,{pattern:/([^\/])(?:[\w\-+%~.:#=?&]*(?!\/\/)[\w\-+%~\/.:#=?&])?(?!\/\/)\/[\w\-+%~\/.:#=?&]*/,lookbehind:!0}],antiquotation:{pattern:/\$(?=\{)/,alias:"important"},number:/\b\d+\b/,keyword:/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/,function:/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:Tarball|url)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/,punctuation:/[{}()[\].,:;]/},Prism.languages.nix.string.inside.interpolation.inside=Prism.languages.nix; Prism.languages.nsis={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|[#;].*)/,lookbehind:!0,greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:{pattern:/(^[\t ]*)(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|BG(?:Font|Gradient|Image)|Banner|BrandingText|BringToFront|CRCCheck|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|Seek|Write|WriteByte|WriteUTF16LE|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DLLVersion(?:Local)?|DlgItem|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|KnownFolderPath|LabelAddress|TempFileName|WinVer)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|RtlLanguage|ShellVarContextAll|Silent)|InitPluginsDir|InstProgressFlags|Inst(?:Type(?:GetText|SetText)?)|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|NSISdl|Name|Nop|OutFile|PE(?:DllCharacteristics|SubsysVer)|Page(?:Callbacks)?|Pop|Push|Quit|RMDir|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Target|UnRegDLL|Unicode|UninstPage|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UserInfo|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|Var|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle|ns(?:Dialogs|Exec))\b/m,lookbehind:!0},property:/\b(?:ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY|admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user)\b/,constant:/\$\{[!\w\.:\^-]+\}|\$\([!\w\.:\^-]+\)/,variable:/\$\w[\w\.]*/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[?*\/~^%]/,punctuation:/[{}[\];(),.:]/,important:{pattern:/(^[\t ]*)!(?:addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|if|ifdef|ifmacrodef|ifmacrondef|ifndef|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|verbose|warning)\b/im,lookbehind:!0}}; Prism.languages.objectivec=Prism.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete Prism.languages.objectivec["class-name"],Prism.languages.objc=Prism.languages.objectivec; Prism.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/}; !function(e){var t=/\\(?:["'\\abefnrtv]|0[0-7]{2}|U[\dA-Fa-f]{6}|u[\dA-Fa-f]{4}|x[\dA-Fa-f]{2})/;e.languages.odin={comment:[{pattern:/\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:\*(?!\/)|[^*])*(?:\*\/|$))*(?:\*\/|$)/,greedy:!0},{pattern:/#![^\n\r]*/,greedy:!0},{pattern:/\/\/[^\n\r]*/,greedy:!0}],char:{pattern:/'(?:\\(?:.|[0Uux][0-9A-Fa-f]{1,6})|[^\n\r'\\])'/,greedy:!0,inside:{symbol:t}},string:[{pattern:/`[^`]*`/,greedy:!0},{pattern:/"(?:\\.|[^\n\r"\\])*"/,greedy:!0,inside:{symbol:t}}],directive:{pattern:/#\w+/,alias:"property"},number:/\b0(?:b[01_]+|d[\d_]+|h_*(?:(?:(?:[\dA-Fa-f]_*){8}){1,2}|(?:[\dA-Fa-f]_*){4})|o[0-7_]+|x[\dA-F_a-f]+|z[\dAB_ab]+)\b|(?:\b\d+(?:\.(?!\.)\d*)?|\B\.\d+)(?:[Ee][+-]?\d*)?[ijk]?(?!\w)/,discard:{pattern:/\b_\b/,alias:"keyword"},"procedure-definition":{pattern:/\b\w+(?=[ \t]*(?::\s*){2}proc\b)/,alias:"function"},keyword:/\b(?:asm|auto_cast|bit_set|break|case|cast|context|continue|defer|distinct|do|dynamic|else|enum|fallthrough|for|foreign|if|import|in|map|matrix|not_in|or_else|or_return|package|proc|return|struct|switch|transmute|typeid|union|using|when|where)\b/,"procedure-name":{pattern:/\b\w+(?=[ \t]*\()/,alias:"function"},boolean:/\b(?:false|nil|true)\b/,"constant-parameter-sign":{pattern:/\$/,alias:"important"},undefined:{pattern:/---/,alias:"operator"},arrow:{pattern:/->/,alias:"punctuation"},operator:/\+\+|--|\.\.[<=]?|(?:&~|[-!*+/=~]|[%&<>|]{1,2})=?|[?^]/,punctuation:/[(),.:;@\[\]{}]/}}(Prism); !function(E){E.languages.opencl=E.languages.extend("c",{keyword:/\b(?:(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|__attribute__|auto|(?:bool|u?(?:char|int|long|short)|half|quad)(?:2|3|4|8|16)?|break|case|complex|const|continue|(?:double|float)(?:16(?:x(?:1|2|4|8|16))?|1x(?:1|2|4|8|16)|2(?:x(?:1|2|4|8|16))?|3|4(?:x(?:1|2|4|8|16))?|8(?:x(?:1|2|4|8|16))?)?|default|do|else|enum|extern|for|goto|if|imaginary|inline|packed|pipe|register|restrict|return|signed|sizeof|static|struct|switch|typedef|uniform|union|unsigned|void|volatile|while)\b/,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[fuhl]{0,4}/i,boolean:/\b(?:false|true)\b/,"constant-opencl-kernel":{pattern:/\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:GLOBAL|LOCAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[US]NORM)_(?:INT(?:8|16|32))|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|(?:MAX|MIN)(?:(?:_10)?_EXP)?|MANT_DIG)|FLT_RADIX|HUGE_VALF?|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|INFINITY|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:2|10)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN|(?:UCHAR|UINT|ULONG|USHRT)_MAX)\b/,alias:"constant"}}),E.languages.insertBefore("opencl","class-name",{"builtin-type":{pattern:/\b(?:_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|cl_(?:image_format|mem_fence_flags)|clk_event_t|event_t|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|intptr_t|ndrange_t|ptrdiff_t|queue_t|reserve_id_t|sampler_t|size_t|uintptr_t)\b/,alias:"keyword"}});var _={"type-opencl-host":{pattern:/\b(?:cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|int|long|short)|double|float)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?))\b/,alias:"keyword"},"boolean-opencl-host":{pattern:/\bCL_(?:FALSE|TRUE)\b/,alias:"boolean"},"constant-opencl-host":{pattern:/\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:8|16|24|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/,alias:"constant"},"function-opencl-host":{pattern:/\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/,alias:"function"}};E.languages.insertBefore("c","keyword",_),E.languages.cpp&&(_["type-opencl-host-cpp"]={pattern:/\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|Sampler|UserEvent)\b/,alias:"keyword"},E.languages.insertBefore("cpp","keyword",_))}(Prism); Prism.languages.openqasm={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"[^"\r\n\t]*"|'[^'\r\n\t]*'/,greedy:!0},keyword:/\b(?:CX|OPENQASM|U|barrier|boxas|boxto|break|const|continue|ctrl|def|defcal|defcalgrammar|delay|else|end|for|gate|gphase|if|in|include|inv|kernel|lengthof|let|measure|pow|reset|return|rotary|stretchinf|while)\b|#pragma\b/,"class-name":/\b(?:angle|bit|bool|creg|fixed|float|int|length|qreg|qubit|stretch|uint)\b/,function:/\b(?:cos|exp|ln|popcount|rotl|rotr|sin|sqrt|tan)\b(?=\s*\()/,constant:/\b(?:euler|pi|tau)\b|π|𝜏|ℇ/,number:{pattern:/(^|[^.\w$])(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?(?:dt|ns|us|µs|ms|s)?/i,lookbehind:!0},operator:/->|>>=?|<<=?|&&|\|\||\+\+|--|[!=<>&|~^+\-*/%]=?|@/,punctuation:/[(){}\[\];,:.]/},Prism.languages.qasm=Prism.languages.openqasm; Prism.languages.oz={comment:{pattern:/\/\*[\s\S]*?\*\/|%.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\[\s\S])*"/,greedy:!0},atom:{pattern:/'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,alias:"builtin"},keyword:/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/,function:[/\b[a-z][A-Za-z\d]*(?=\()/,{pattern:/(\{)[A-Z][A-Za-z\d]*\b/,lookbehind:!0}],number:/\b(?:0[bx][\da-f]+|\d+(?:\.\d*)?(?:e~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i,variable:/`(?:[^`\\]|\\.)+`/,"attr-name":/\b\w+(?=[ \t]*:(?![:=]))/,operator:/:(?:=|::?)|<[-:=]?|=(?:=|=?:?|\\=:?|!!?|[|#+\-*\/,~^@]|\b(?:andthen|div|mod|orelse)\b/,punctuation:/[\[\](){}.:;?]/}; Prism.languages.parigp={comment:/\/\*[\s\S]*?\*\/|\\\\.*/,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"/,greedy:!0},keyword:function(){var r=["breakpoint","break","dbg_down","dbg_err","dbg_up","dbg_x","forcomposite","fordiv","forell","forpart","forprime","forstep","forsubgroup","forvec","for","iferr","if","local","my","next","return","until","while"];return r=r.map((function(r){return r.split("").join(" *")})).join("|"),RegExp("\\b(?:"+r+")\\b")}(),function:/\b\w(?:[\w ]*\w)?(?= *\()/,number:{pattern:/((?:\. *\. *)?)(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *e *(?:[+-] *)?\d(?: *\d)*)?/i,lookbehind:!0},operator:/\. *\.|[*\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?: *>|(?: *<)?(?: *=)?)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||['#~^]/,punctuation:/[\[\]{}().,:;|]/}; !function(e){var n=e.languages.parser=e.languages.extend("markup",{keyword:{pattern:/(^|[^^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/,lookbehind:!0},variable:{pattern:/(^|[^^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:!0,inside:{punctuation:/\.|:+/}},function:{pattern:/(^|[^^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:!0,inside:{keyword:{pattern:/(^@)(?:GET_|SET_)/,lookbehind:!0},punctuation:/\.|:+/}},escape:{pattern:/\^(?:[$^;@()\[\]{}"':]|#[a-f\d]*)/i,alias:"builtin"},punctuation:/[\[\](){};]/});n=e.languages.insertBefore("parser","keyword",{"parser-comment":{pattern:/(\s)#.*/,lookbehind:!0,alias:"comment"},expression:{pattern:/(^|[^^])\((?:[^()]|\((?:[^()]|\((?:[^()])*\))*\))*\)/,greedy:!0,lookbehind:!0,inside:{string:{pattern:/(^|[^^])(["'])(?:(?!\2)[^^]|\^[\s\S])*\2/,lookbehind:!0},keyword:n.keyword,variable:n.variable,function:n.function,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[a-f\d]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?)\b/i,escape:n.escape,operator:/[~+*\/\\%]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[>=]?|-[fd]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/,punctuation:n.punctuation}}}),e.languages.insertBefore("inside","punctuation",{expression:n.expression,keyword:n.keyword,variable:n.variable,function:n.function,escape:n.escape,"parser-punctuation":{pattern:n.punctuation,alias:"punctuation"}},n.tag.inside["attr-value"])}(Prism); Prism.languages.pascal={directive:{pattern:/\{\$[\s\S]*?\}/,greedy:!0,alias:["marco","property"]},comment:{pattern:/\(\*[\s\S]*?\*\)|\{[\s\S]*?\}|\/\/.*/,greedy:!0},string:{pattern:/(?:'(?:''|[^'\r\n])*'(?!')|#[&$%]?[a-f\d]+)+|\^[a-z]/i,greedy:!0},asm:{pattern:/(\basm\b)[\s\S]+?(?=\bend\s*[;[])/i,lookbehind:!0,greedy:!0,inside:null},keyword:[{pattern:/(^|[^&])\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\b/i,lookbehind:!0},{pattern:/(^|[^&])\b(?:dispose|exit|false|new|true)\b/i,lookbehind:!0},{pattern:/(^|[^&])\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\b/i,lookbehind:!0},{pattern:/(^|[^&])\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\b/i,lookbehind:!0}],number:[/(?:[&%]\d+|\$[a-f\d]+)/i,/\b\d+(?:\.\d+)?(?:e[+-]?\d+)?/i],operator:[/\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=]/,{pattern:/(^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/,lookbehind:!0}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/},Prism.languages.pascal.asm.inside=Prism.languages.extend("pascal",{asm:void 0,keyword:void 0,operator:void 0}),Prism.languages.objectpascal=Prism.languages.pascal; !function(e){var n="(?:\\b\\w+(?:)?|)".replace(//g,(function(){return"\\((?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))*\\)"})),t=e.languages.pascaligo={comment:/\(\*[\s\S]+?\*\)|\/\/.*/,string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1|\^[a-z]/i,greedy:!0},"class-name":[{pattern:RegExp("(\\btype\\s+\\w+\\s+is\\s+)".replace(//g,(function(){return n})),"i"),lookbehind:!0,inside:null},{pattern:RegExp("(?=\\s+is\\b)".replace(//g,(function(){return n})),"i"),inside:null},{pattern:RegExp("(:\\s*)".replace(//g,(function(){return n}))),lookbehind:!0,inside:null}],keyword:{pattern:/(^|[^&])\b(?:begin|block|case|const|else|end|fail|for|from|function|if|is|nil|of|remove|return|skip|then|type|var|while|with)\b/i,lookbehind:!0},boolean:{pattern:/(^|[^&])\b(?:False|True)\b/i,lookbehind:!0},builtin:{pattern:/(^|[^&])\b(?:bool|int|list|map|nat|record|string|unit)\b/i,lookbehind:!0},function:/\b\w+(?=\s*\()/,number:[/%[01]+|&[0-7]+|\$[a-f\d]+/i,/\b\d+(?:\.\d+)?(?:e[+-]?\d+)?(?:mtz|n)?/i],operator:/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=|]|\b(?:and|mod|or)\b/,punctuation:/\(\.|\.\)|[()\[\]:;,.{}]/},i=["comment","keyword","builtin","operator","punctuation"].reduce((function(e,n){return e[n]=t[n],e}),{});t["class-name"].forEach((function(e){e.inside=i}))}(Prism); Prism.languages.psl={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"])*"/,greedy:!0,inside:{symbol:/\\[ntrbA-Z"\\]/}},"heredoc-string":{pattern:/<<<([a-zA-Z_]\w*)[\r\n](?:.*[\r\n])*?\1\b/,alias:"string",greedy:!0},keyword:/\b(?:__multi|__single|case|default|do|else|elsif|exit|export|for|foreach|function|if|last|line|local|next|requires|return|switch|until|while|word)\b/,constant:/\b(?:ALARM|CHART_ADD_GRAPH|CHART_DELETE_GRAPH|CHART_DESTROY|CHART_LOAD|CHART_PRINT|EOF|OFFLINE|OK|PSL_PROF_LOG|R_CHECK_HORIZ|R_CHECK_VERT|R_CLICKER|R_COLUMN|R_FRAME|R_ICON|R_LABEL|R_LABEL_CENTER|R_LIST_MULTIPLE|R_LIST_MULTIPLE_ND|R_LIST_SINGLE|R_LIST_SINGLE_ND|R_MENU|R_POPUP|R_POPUP_SCROLLED|R_RADIO_HORIZ|R_RADIO_VERT|R_ROW|R_SCALE_HORIZ|R_SCALE_VERT|R_SEP_HORIZ|R_SEP_VERT|R_SPINNER|R_TEXT_FIELD|R_TEXT_FIELD_LABEL|R_TOGGLE|TRIM_LEADING|TRIM_LEADING_AND_TRAILING|TRIM_REDUNDANT|TRIM_TRAILING|VOID|WARN)\b/,boolean:/\b(?:FALSE|False|NO|No|TRUE|True|YES|Yes|false|no|true|yes)\b/,variable:/\b(?:PslDebug|errno|exit_status)\b/,builtin:{pattern:/\b(?:PslExecute|PslFunctionCall|PslFunctionExists|PslSetOptions|_snmp_debug|acos|add_diary|annotate|annotate_get|ascii_to_ebcdic|asctime|asin|atan|atexit|batch_set|blackout|cat|ceil|chan_exists|change_state|close|code_cvt|cond_signal|cond_wait|console_type|convert_base|convert_date|convert_locale_date|cos|cosh|create|date|dcget_text|destroy|destroy_lock|dget_text|difference|dump_hist|ebcdic_to_ascii|encrypt|event_archive|event_catalog_get|event_check|event_query|event_range_manage|event_range_query|event_report|event_schedule|event_trigger|event_trigger2|execute|exists|exp|fabs|file|floor|fmod|fopen|fseek|ftell|full_discovery|get|get_chan_info|get_ranges|get_text|get_vars|getenv|gethostinfo|getpid|getpname|grep|history|history_get_retention|in_transition|index|int|internal|intersection|is_var|isnumber|join|kill|length|lines|lock|lock_info|log|log10|loge|matchline|msg_check|msg_get_format|msg_get_severity|msg_printf|msg_sprintf|ntharg|nthargf|nthline|nthlinef|num_bytes|num_consoles|pconfig|popen|poplines|pow|print|printf|proc_exists|process|random|read|readln|refresh_parameters|remote_check|remote_close|remote_event_query|remote_event_trigger|remote_file_send|remote_open|remove|replace|rindex|sec_check_priv|sec_store_get|sec_store_set|set|set_alarm_ranges|set_locale|share|sin|sinh|sleep|snmp_agent_config|snmp_agent_start|snmp_agent_stop|snmp_close|snmp_config|snmp_get|snmp_get_next|snmp_h_get|snmp_h_get_next|snmp_h_set|snmp_open|snmp_set|snmp_trap_ignore|snmp_trap_listen|snmp_trap_raise_std_trap|snmp_trap_receive|snmp_trap_register_im|snmp_trap_send|snmp_walk|sopen|sort|splitline|sprintf|sqrt|srandom|str_repeat|strcasecmp|subset|substr|system|tail|tan|tanh|text_domain|time|tmpnam|tolower|toupper|trace_psl_process|trim|union|unique|unlock|unset|va_arg|va_start|write)\b/,alias:"builtin-function"},"foreach-variable":{pattern:/(\bforeach\s+(?:(?:\w+\b|"(?:\\.|[^\\"])*")\s+){0,2})[_a-zA-Z]\w*(?=\s*\()/,lookbehind:!0,greedy:!0},function:/\b[_a-z]\w*\b(?=\s*\()/i,number:/\b(?:0x[0-9a-f]+|\d+(?:\.\d+)?)\b/i,operator:/--|\+\+|&&=?|\|\|=?|<<=?|>>=?|[=!]~|[-+*/%&|^!=<>]=?|\.|[:?]/,punctuation:/[(){}\[\];,]/}; Prism.languages.pcaxis={string:/"[^"]*"/,keyword:{pattern:/((?:^|;)\s*)[-A-Z\d]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/,lookbehind:!0,greedy:!0,inside:{keyword:/^[-A-Z\d]+/,language:{pattern:/^(\s*)\[[-\w]+\]/,lookbehind:!0,inside:{punctuation:/^\[|\]$/,property:/[-\w]+/}},"sub-key":{pattern:/^(\s*)\S[\s\S]*/,lookbehind:!0,inside:{parameter:{pattern:/"[^"]*"/,alias:"property"},punctuation:/^\(|\)$|,/}}}},operator:/=/,tlist:{pattern:/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/,greedy:!0,inside:{function:/^TLIST/,property:{pattern:/^(\s*\(\s*)\w+/,lookbehind:!0},string:/"[^"]*"/,punctuation:/[(),]/,operator:/-/}},punctuation:/[;,]/,number:{pattern:/(^|\s)\d+(?:\.\d+)?(?!\S)/,lookbehind:!0},boolean:/NO|YES/},Prism.languages.px=Prism.languages.pcaxis; Prism.languages.peoplecode={comment:RegExp(["/\\*[^]*?\\*/","\\bREM[^;]*;","<\\*(?:[^<*]|\\*(?!>)|<(?!\\*)|<\\*(?:(?!\\*>)[^])*\\*>)*\\*>","/\\+[^]*?\\+/"].join("|")),string:{pattern:/'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/,greedy:!0},variable:/%\w+/,"function-definition":{pattern:/((?:^|[^\w-])(?:function|method)\s+)\w+/i,lookbehind:!0,alias:"function"},"class-name":{pattern:/((?:^|[^-\w])(?:as|catch|class|component|create|extends|global|implements|instance|local|of|property|returns)\s+)\w+(?::\w+)*/i,lookbehind:!0,inside:{punctuation:/:/}},keyword:/\b(?:abstract|alias|as|catch|class|component|constant|create|declare|else|end-(?:class|evaluate|for|function|get|if|method|set|try|while)|evaluate|extends|for|function|get|global|if|implements|import|instance|library|local|method|null|of|out|peopleCode|private|program|property|protected|readonly|ref|repeat|returns?|set|step|then|throw|to|try|until|value|when(?:-other)?|while)\b/i,"operator-keyword":{pattern:/\b(?:and|not|or)\b/i,alias:"operator"},function:/[_a-z]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/i,number:/\b\d+(?:\.\d+)?\b/,operator:/<>|[<>]=?|!=|\*\*|[-+*/|=@]/,punctuation:/[:.;,()[\]]/},Prism.languages.pcode=Prism.languages.peoplecode; !function(e){var n="(?:\\((?:[^()\\\\]|\\\\[^])*\\)|\\{(?:[^{}\\\\]|\\\\[^])*\\}|\\[(?:[^[\\]\\\\]|\\\\[^])*\\]|<(?:[^<>\\\\]|\\\\[^])*>)";e.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp("\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*(?:"+["([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[^])*\\2",n].join("|")+")"),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp("\\b(?:m|qr)(?![a-zA-Z0-9])\\s*(?:"+["([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[^])*\\2",n].join("|")+")[msixpodualngc]*"),greedy:!0},{pattern:RegExp("(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*(?:"+["([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[^])*\\2(?:(?!\\2)[^\\\\]|\\\\[^])*\\2","([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[^])*\\3(?:(?!\\3)[^\\\\]|\\\\[^])*\\3",n+"\\s*"+n].join("|")+")[msixpodualngcer]*"),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:"symbol"},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}}(Prism); !function(a){var e="(?:\\b[a-zA-Z]\\w*|[|\\\\[\\]])+";a.languages.phpdoc=a.languages.extend("javadoclike",{parameter:{pattern:RegExp("(@(?:global|param|property(?:-read|-write)?|var)\\s+(?:"+e+"\\s+)?)\\$\\w+"),lookbehind:!0}}),a.languages.insertBefore("phpdoc","keyword",{"class-name":[{pattern:RegExp("(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\s+)"+e),lookbehind:!0,inside:{keyword:/\b(?:array|bool|boolean|callback|double|false|float|int|integer|mixed|null|object|resource|self|string|true|void)\b/,punctuation:/[|\\[\]()]/}}]}),a.languages.javadoclike.addSupport("php",a.languages.phpdoc)}(Prism); Prism.languages.insertBefore("php","variable",{this:{pattern:/\$this\b/,alias:"keyword"},global:/\$(?:GLOBALS|HTTP_RAW_POST_DATA|_(?:COOKIE|ENV|FILES|GET|POST|REQUEST|SERVER|SESSION)|argc|argv|http_response_header|php_errormsg)\b/,scope:{pattern:/\b[\w\\]+::/,inside:{keyword:/\b(?:parent|self|static)\b/,punctuation:/::|\\/}}}); !function(e){var t=/\$\w+|%[a-z]+%/;e.languages["plant-uml"]={comment:{pattern:/(^[ \t]*)(?:'.*|\/'[\s\S]*?'\/)/m,lookbehind:!0,greedy:!0},preprocessor:{pattern:/(^[ \t]*)!.*/m,lookbehind:!0,greedy:!0,alias:"property",inside:{variable:t}},delimiter:{pattern:/(^[ \t]*)@(?:end|start)uml\b/m,lookbehind:!0,greedy:!0,alias:"punctuation"},arrow:{pattern:RegExp("(^|[^-.<>?|\\\\[\\]ox])[[?]?[ox]?(?:(?:-+(?:[drlu]|do|down|le|left|ri|right|up)-+|\\.+(?:[drlu]|do|down|le|left|ri|right|up)\\.+|-+(?:\\[[^[\\]]*\\]-*)?|\\[[^[\\]]*\\]-+|\\.+(?:\\[[^[\\]]*\\]\\.*)?|\\[[^[\\]]*\\]\\.+)(?:>{1,2}|/{1,2}|\\\\{1,2}|\\|>|[#*^+{xo])|(?:<{1,2}|/{1,2}|\\\\{1,2}|<\\||[#*^+}xo])(?:-+(?:[drlu]|do|down|le|left|ri|right|up)-+|\\.+(?:[drlu]|do|down|le|left|ri|right|up)\\.+|-+(?:\\[[^[\\]]*\\]-*)?|\\[[^[\\]]*\\]-+|\\.+(?:\\[[^[\\]]*\\]\\.*)?|\\[[^[\\]]*\\]\\.+)(?:(?:>{1,2}|/{1,2}|\\\\{1,2}|\\|>|[#*^+{xo]))?)[ox]?[\\]?]?(?![-.<>?|\\\\\\]ox])"),lookbehind:!0,greedy:!0,alias:"operator",inside:{expression:{pattern:/(\[)[^[\]]+(?=\])/,lookbehind:!0,inside:null},punctuation:/\[(?=$|\])|^\]/}},string:{pattern:/"[^"]*"/,greedy:!0},text:{pattern:/(\[[ \t]*[\r\n]+(?![\r\n]))[^\]]*(?=\])/,lookbehind:!0,greedy:!0,alias:"string"},keyword:[{pattern:/^([ \t]*)(?:abstract\s+class|end\s+(?:box|fork|group|merge|note|ref|split|title)|(?:fork|split)(?:\s+again)?|activate|actor|agent|alt|annotation|artifact|autoactivate|autonumber|backward|binary|boundary|box|break|caption|card|case|circle|class|clock|cloud|collections|component|concise|control|create|critical|database|deactivate|destroy|detach|diamond|else|elseif|end|end[hr]note|endif|endswitch|endwhile|entity|enum|file|folder|footer|frame|group|[hr]?note|header|hexagon|hide|if|interface|label|legend|loop|map|namespace|network|newpage|node|nwdiag|object|opt|package|page|par|participant|person|queue|rectangle|ref|remove|repeat|restore|return|robust|scale|set|show|skinparam|stack|start|state|stop|storage|switch|title|together|usecase|usecase\/|while)(?=\s|$)/m,lookbehind:!0,greedy:!0},/\b(?:elseif|equals|not|while)(?=\s*\()/,/\b(?:as|is|then)\b/],divider:{pattern:/^==.+==$/m,greedy:!0,alias:"important"},time:{pattern:/@(?:\d+(?:[:/]\d+){2}|[+-]?\d+|:[a-z]\w*(?:[+-]\d+)?)\b/i,greedy:!0,alias:"number"},color:{pattern:/#(?:[a-z_]+|[a-fA-F0-9]+)\b/,alias:"symbol"},variable:t,punctuation:/[:,;()[\]{}]|\.{3}/},e.languages["plant-uml"].arrow.inside.expression.inside=e.languages["plant-uml"],e.languages.plantuml=e.languages["plant-uml"]}(Prism); Prism.languages.plsql=Prism.languages.extend("sql",{comment:{pattern:/\/\*[\s\S]*?\*\/|--.*/,greedy:!0},keyword:/\b(?:A|ACCESSIBLE|ADD|AGENT|AGGREGATE|ALL|ALTER|AND|ANY|ARRAY|AS|ASC|AT|ATTRIBUTE|AUTHID|AVG|BEGIN|BETWEEN|BFILE_BASE|BINARY|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BULK|BY|BYTE|C|CALL|CALLING|CASCADE|CASE|CHAR|CHARACTER|CHARSET|CHARSETFORM|CHARSETID|CHAR_BASE|CHECK|CLOB_BASE|CLONE|CLOSE|CLUSTER|CLUSTERS|COLAUTH|COLLECT|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPILED|COMPRESS|CONNECT|CONSTANT|CONSTRUCTOR|CONTEXT|CONTINUE|CONVERT|COUNT|CRASH|CREATE|CREDENTIAL|CURRENT|CURSOR|CUSTOMDATUM|DANGLING|DATA|DATE|DATE_BASE|DAY|DECLARE|DEFAULT|DEFINE|DELETE|DESC|DETERMINISTIC|DIRECTORY|DISTINCT|DOUBLE|DROP|DURATION|ELEMENT|ELSE|ELSIF|EMPTY|END|ESCAPE|EXCEPT|EXCEPTION|EXCEPTIONS|EXCLUSIVE|EXECUTE|EXISTS|EXIT|EXTERNAL|FETCH|FINAL|FIRST|FIXED|FLOAT|FOR|FORALL|FORCE|FROM|FUNCTION|GENERAL|GOTO|GRANT|GROUP|HASH|HAVING|HEAP|HIDDEN|HOUR|IDENTIFIED|IF|IMMEDIATE|IMMUTABLE|IN|INCLUDING|INDEX|INDEXES|INDICATOR|INDICES|INFINITE|INSERT|INSTANTIABLE|INT|INTERFACE|INTERSECT|INTERVAL|INTO|INVALIDATE|IS|ISOLATION|JAVA|LANGUAGE|LARGE|LEADING|LENGTH|LEVEL|LIBRARY|LIKE|LIKE2|LIKE4|LIKEC|LIMIT|LIMITED|LOCAL|LOCK|LONG|LOOP|MAP|MAX|MAXLEN|MEMBER|MERGE|MIN|MINUS|MINUTE|MOD|MODE|MODIFY|MONTH|MULTISET|MUTABLE|NAME|NAN|NATIONAL|NATIVE|NCHAR|NEW|NOCOMPRESS|NOCOPY|NOT|NOWAIT|NULL|NUMBER_BASE|OBJECT|OCICOLL|OCIDATE|OCIDATETIME|OCIDURATION|OCIINTERVAL|OCILOBLOCATOR|OCINUMBER|OCIRAW|OCIREF|OCIREFCURSOR|OCIROWID|OCISTRING|OCITYPE|OF|OLD|ON|ONLY|OPAQUE|OPEN|OPERATOR|OPTION|OR|ORACLE|ORADATA|ORDER|ORGANIZATION|ORLANY|ORLVARY|OTHERS|OUT|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETER|PARAMETERS|PARENT|PARTITION|PASCAL|PERSISTABLE|PIPE|PIPELINED|PLUGGABLE|POLYMORPHIC|PRAGMA|PRECISION|PRIOR|PRIVATE|PROCEDURE|PUBLIC|RAISE|RANGE|RAW|READ|RECORD|REF|REFERENCE|RELIES_ON|REM|REMAINDER|RENAME|RESOURCE|RESULT|RESULT_CACHE|RETURN|RETURNING|REVERSE|REVOKE|ROLLBACK|ROW|SAMPLE|SAVE|SAVEPOINT|SB1|SB2|SB4|SECOND|SEGMENT|SELECT|SELF|SEPARATE|SEQUENCE|SERIALIZABLE|SET|SHARE|SHORT|SIZE|SIZE_T|SOME|SPARSE|SQL|SQLCODE|SQLDATA|SQLNAME|SQLSTATE|STANDARD|START|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUM|SYNONYM|TABAUTH|TABLE|TDO|THE|THEN|TIME|TIMESTAMP|TIMEZONE_ABBR|TIMEZONE_HOUR|TIMEZONE_MINUTE|TIMEZONE_REGION|TO|TRAILING|TRANSACTION|TRANSACTIONAL|TRUSTED|TYPE|UB1|UB2|UB4|UNDER|UNION|UNIQUE|UNPLUG|UNSIGNED|UNTRUSTED|UPDATE|USE|USING|VALIST|VALUE|VALUES|VARIABLE|VARIANCE|VARRAY|VARYING|VIEW|VIEWS|VOID|WHEN|WHERE|WHILE|WITH|WORK|WRAPPED|WRITE|YEAR|ZONE)\b/i,operator:/:=?|=>|[<>^~!]=|\.\.|\|\||\*\*|[-+*/%<>=@]/}),Prism.languages.insertBefore("plsql","operator",{label:{pattern:/<<\s*\w+\s*>>/,alias:"symbol"}}); Prism.languages.powerquery={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},"quoted-identifier":{pattern:/#"(?:[^"\r\n]|"")*"(?!")/,greedy:!0},string:{pattern:/(?:#!)?"(?:[^"\r\n]|"")*"(?!")/,greedy:!0},constant:[/\bDay\.(?:Friday|Monday|Saturday|Sunday|Thursday|Tuesday|Wednesday)\b/,/\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/,/\bOccurrence\.(?:All|First|Last)\b/,/\bOrder\.(?:Ascending|Descending)\b/,/\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/,/\bMissingField\.(?:Error|Ignore|UseNull)\b/,/\bQuoteStyle\.(?:Csv|None)\b/,/\bJoinKind\.(?:FullOuter|Inner|LeftAnti|LeftOuter|RightAnti|RightOuter)\b/,/\bGroupKind\.(?:Global|Local)\b/,/\bExtraValues\.(?:Error|Ignore|List)\b/,/\bJoinAlgorithm\.(?:Dynamic|LeftHash|LeftIndex|PairwiseHash|RightHash|RightIndex|SortMerge)\b/,/\bJoinSide\.(?:Left|Right)\b/,/\bPrecision\.(?:Decimal|Double)\b/,/\bRelativePosition\.From(?:End|Start)\b/,/\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf16|Utf8|Windows)\b/,/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Function|Int16|Int32|Int64|Int8|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/,/\bnull\b/],boolean:/\b(?:false|true)\b/,keyword:/\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/,function:{pattern:/(^|[^#\w.])[a-z_][\w.]*(?=\s*\()/i,lookbehind:!0},"data-type":{pattern:/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time)\b/,alias:"class-name"},number:{pattern:/\b0x[\da-f]+\b|(?:[+-]?(?:\b\d+\.)?\b\d+|[+-]\.\d+|(^|[^.])\B\.\d+)(?:e[+-]?\d+)?\b/i,lookbehind:!0},operator:/[-+*\/&?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/,punctuation:/[,;\[\](){}]/},Prism.languages.pq=Prism.languages.powerquery,Prism.languages.mscript=Prism.languages.powerquery; !function(e){var i=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};i.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:i},boolean:i.boolean,variable:i.variable}}(Prism); Prism.languages.processing=Prism.languages.extend("clike",{keyword:/\b(?:break|case|catch|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/,function:/\b\w+(?=\s*\()/,operator:/<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/}),Prism.languages.insertBefore("processing","number",{constant:/\b(?!XML\b)[A-Z][A-Z\d_]+\b/,type:{pattern:/\b(?:boolean|byte|char|color|double|float|int|[A-Z]\w*)\b/,alias:"class-name"}}); Prism.languages.prolog={comment:{pattern:/\/\*[\s\S]*?\*\/|%.*/,greedy:!0},string:{pattern:/(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1(?!\1)/,greedy:!0},builtin:/\b(?:fx|fy|xf[xy]?|yfx?)\b/,function:/\b[a-z]\w*(?:(?=\()|\/\d+)/,number:/\b\d+(?:\.\d*)?/,operator:/[:\\=><\-?*@\/;+^|!$.]+|\b(?:is|mod|not|xor)\b/,punctuation:/[(){}\[\],]/}; !function(t){var n=["on","ignoring","group_right","group_left","by","without"],a=["sum","min","max","avg","group","stddev","stdvar","count","count_values","bottomk","topk","quantile"].concat(n,["offset"]);t.languages.promql={comment:{pattern:/(^[ \t]*)#.*/m,lookbehind:!0},"vector-match":{pattern:new RegExp("((?:"+n.join("|")+")\\s*)\\([^)]*\\)"),lookbehind:!0,inside:{"label-key":{pattern:/\b[^,]+\b/,alias:"attr-name"},punctuation:/[(),]/}},"context-labels":{pattern:/\{[^{}]*\}/,inside:{"label-key":{pattern:/\b[a-z_]\w*(?=\s*(?:=|![=~]))/,alias:"attr-name"},"label-value":{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0,alias:"attr-value"},punctuation:/\{|\}|=~?|![=~]|,/}},"context-range":[{pattern:/\[[\w\s:]+\]/,inside:{punctuation:/\[|\]|:/,"range-duration":{pattern:/\b(?:\d+(?:[smhdwy]|ms))+\b/i,alias:"number"}}},{pattern:/(\boffset\s+)\w+/,lookbehind:!0,inside:{"range-duration":{pattern:/\b(?:\d+(?:[smhdwy]|ms))+\b/i,alias:"number"}}}],keyword:new RegExp("\\b(?:"+a.join("|")+")\\b","i"),function:/\b[a-z_]\w*(?=\s*\()/i,number:/[-+]?(?:(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[-+]?\d+)?\b|\b(?:0x[0-9a-f]+|nan|inf)\b)/i,operator:/[\^*/%+-]|==|!=|<=|<|>=|>|\b(?:and|or|unless)\b/i,punctuation:/[{};()`,.[\]]/}}(Prism); Prism.languages.properties={comment:/^[ \t]*[#!].*$/m,value:{pattern:/(^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?: *[=:] *(?! )| ))(?:\\(?:\r\n|[\s\S])|[^\\\r\n])+/m,lookbehind:!0,alias:"attr-value"},key:{pattern:/^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?= *[=:]| )/m,alias:"attr-name"},punctuation:/[=:]/}; !function(e){var s=/\b(?:bool|bytes|double|s?fixed(?:32|64)|float|[su]?int(?:32|64)|string)\b/;e.languages.protobuf=e.languages.extend("clike",{"class-name":[{pattern:/(\b(?:enum|extend|message|service)\s+)[A-Za-z_]\w*(?=\s*\{)/,lookbehind:!0},{pattern:/(\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?)\.?[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*(?=\s*\))/,lookbehind:!0}],keyword:/\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/,function:/\b[a-z_]\w*(?=\s*\()/i}),e.languages.insertBefore("protobuf","operator",{map:{pattern:/\bmap<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[a-z_]\w*\s*[=;])/i,alias:"class-name",inside:{punctuation:/[<>.,]/,builtin:s}},builtin:s,"positional-class-name":{pattern:/(?:\b|\B\.)[a-z_]\w*(?:\.[a-z_]\w*)*(?=\s+[a-z_]\w*\s*[=;])/i,alias:"class-name",inside:{punctuation:/\./}},annotation:{pattern:/(\[\s*)[a-z_]\w*(?=\s*=)/i,lookbehind:!0}})}(Prism); !function(e){e.languages.pug={comment:{pattern:/(^([\t ]*))\/\/.*(?:(?:\r?\n|\r)\2[\t ].+)*/m,lookbehind:!0},"multiline-script":{pattern:/(^([\t ]*)script\b.*\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:e.languages.javascript},filter:{pattern:/(^([\t ]*)):.+(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},text:/\S[\s\S]*/}},"multiline-plain-text":{pattern:/(^([\t ]*)[\w\-#.]+\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0},markup:{pattern:/(^[\t ]*)<.+/m,lookbehind:!0,inside:e.languages.markup},doctype:{pattern:/((?:^|\n)[\t ]*)doctype(?: .+)?/,lookbehind:!0},"flow-control":{pattern:/(^[\t ]*)(?:case|default|each|else|if|unless|when|while)\b(?: .+)?/m,lookbehind:!0,inside:{each:{pattern:/^each .+? in\b/,inside:{keyword:/\b(?:each|in)\b/,punctuation:/,/}},branch:{pattern:/^(?:case|default|else|if|unless|when|while)\b/,alias:"keyword"},rest:e.languages.javascript}},keyword:{pattern:/(^[\t ]*)(?:append|block|extends|include|prepend)\b.+/m,lookbehind:!0},mixin:[{pattern:/(^[\t ]*)mixin .+/m,lookbehind:!0,inside:{keyword:/^mixin/,function:/\w+(?=\s*\(|\s*$)/,punctuation:/[(),.]/}},{pattern:/(^[\t ]*)\+.+/m,lookbehind:!0,inside:{name:{pattern:/^\+\w+/,alias:"function"},rest:e.languages.javascript}}],script:{pattern:/(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]).+/m,lookbehind:!0,inside:e.languages.javascript},"plain-text":{pattern:/(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]).+/m,lookbehind:!0},tag:{pattern:/(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m,lookbehind:!0,inside:{attributes:[{pattern:/&[^(]+\([^)]+\)/,inside:e.languages.javascript},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*(?!\s))(?:\{[^}]*\}|[^,)\r\n]+)/,lookbehind:!0,inside:e.languages.javascript},"attr-name":/[\w-]+(?=\s*!?=|\s*[,)])/,punctuation:/[!=(),]+/}}],punctuation:/:/,"attr-id":/#[\w\-]+/,"attr-class":/\.[\w\-]+/}},code:[{pattern:/(^[\t ]*(?:-|!?=)).+/m,lookbehind:!0,inside:e.languages.javascript}],punctuation:/[.\-!=|]+/};for(var t=[{filter:"atpl",language:"twig"},{filter:"coffee",language:"coffeescript"},"ejs","handlebars","less","livescript","markdown",{filter:"sass",language:"scss"},"stylus"],n={},a=0,i=t.length;a(?:(?:\r?\n|\r(?!\n))(?:\\2[\t ].+|\\s*?(?=\r?\n|\r)))+".replace("",(function(){return r.filter})),"m"),lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},text:{pattern:/\S[\s\S]*/,alias:[r.language,"language-"+r.language],inside:e.languages[r.language]}}})}e.languages.insertBefore("pug","filter",n)}(Prism); !function(e){e.languages.puppet={heredoc:[{pattern:/(@\("([^"\r\n\/):]+)"(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,lookbehind:!0,alias:"string",inside:{punctuation:/(?=\S).*\S(?= *$)/}},{pattern:/(@\(([^"\r\n\/):]+)(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,lookbehind:!0,greedy:!0,alias:"string",inside:{punctuation:/(?=\S).*\S(?= *$)/}},{pattern:/@\("?(?:[^"\r\n\/):]+)"?(?:\/[nrts$uL]*)?\)/,alias:"string",inside:{punctuation:{pattern:/(\().+?(?=\))/,lookbehind:!0}}}],"multiline-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,greedy:!0,alias:"comment"},regex:{pattern:/((?:\bnode\s+|[~=\(\[\{,]\s*|[=+]>\s*|^\s*))\/(?:[^\/\\]|\\[\s\S])+\/(?:[imx]+\b|\B)/,lookbehind:!0,greedy:!0,inside:{"extended-regex":{pattern:/^\/(?:[^\/\\]|\\[\s\S])+\/[im]*x[im]*$/,inside:{comment:/#.*/}}}},comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},string:{pattern:/(["'])(?:\$\{(?:[^'"}]|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}|\$(?!\{)|(?!\1)[^\\$]|\\[\s\S])*\1/,greedy:!0,inside:{"double-quoted":{pattern:/^"[\s\S]*"$/,inside:{}}}},variable:{pattern:/\$(?:::)?\w+(?:::\w+)*/,inside:{punctuation:/::/}},"attr-name":/(?:\b\w+|\*)(?=\s*=>)/,function:[{pattern:/(\.)(?!\d)\w+/,lookbehind:!0},/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/],number:/\b(?:0x[a-f\d]+|\d+(?:\.\d+)?(?:e-?\d+)?)\b/i,boolean:/\b(?:false|true)\b/,keyword:/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/,datatype:{pattern:/\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/,alias:"symbol"},operator:/=[=~>]?|![=~]?|<(?:<\|?|[=~|-])?|>[>=]?|->?|~>|\|>?>?|[*\/%+?]|\b(?:and|in|or)\b/,punctuation:/[\[\]{}().,;]|:+/};var n=[{pattern:/(^|[^\\])\$\{(?:[^'"{}]|\{[^}]*\}|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}/,lookbehind:!0,inside:{"short-variable":{pattern:/(^\$\{)(?!\w+\()(?:::)?\w+(?:::\w+)*/,lookbehind:!0,alias:"variable",inside:{punctuation:/::/}},delimiter:{pattern:/^\$/,alias:"variable"},rest:e.languages.puppet}},{pattern:/(^|[^\\])\$(?:::)?\w+(?:::\w+)*/,lookbehind:!0,alias:"variable",inside:{punctuation:/::/}}];e.languages.puppet.heredoc[0].inside.interpolation=n,e.languages.puppet.string.inside["double-quoted"].inside.interpolation=n}(Prism); !function(e){e.languages.pure={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0},/#!.+/],"inline-lang":{pattern:/%<[\s\S]+?%>/,greedy:!0,inside:{lang:{pattern:/(^%< *)-\*-.+?-\*-/,lookbehind:!0,alias:"comment"},delimiter:{pattern:/^%<.*|%>$/,alias:"punctuation"}}},string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},number:{pattern:/((?:\.\.)?)(?:\b(?:inf|nan)\b|\b0x[\da-f]+|(?:\b(?:0b)?\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?L?)/i,lookbehind:!0},keyword:/\b(?:NULL|ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/,function:/\b(?:abs|add_(?:addr|constdef|(?:fundef|interface|macdef|typedef)(?:_at)?|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_c?string(?:_pointer)?|byte_(?:matrix|pointer)|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|sentry|short|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/,special:{pattern:/\b__[a-z]+__\b/i,alias:"builtin"},operator:/(?:[!"#$%&'*+,\-.\/:<=>?@\\^`|~\u00a1-\u00bf\u00d7-\u00f7\u20d0-\u2bff]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/,punctuation:/[(){}\[\];,|]/},["c",{lang:"c++",alias:"cpp"},"fortran"].forEach((function(t){var a=t;if("string"!=typeof t&&(a=t.alias,t=t.lang),e.languages[a]){var r={};r["inline-lang-"+a]={pattern:RegExp("%< *-\\*- *\\d* *-\\*-[^]+?%>".replace("",t.replace(/([.+*?\/\\(){}\[\]])/g,"\\$1")),"i"),inside:e.util.clone(e.languages.pure["inline-lang"].inside)},r["inline-lang-"+a].inside.rest=e.util.clone(e.languages[a]),e.languages.insertBefore("pure","inline-lang",r)}})),e.languages.c&&(e.languages.pure["inline-lang"].inside.rest=e.util.clone(e.languages.c))}(Prism); Prism.languages.purebasic=Prism.languages.extend("clike",{comment:/;.*/,keyword:/\b(?:align|and|as|break|calldebugger|case|compilercase|compilerdefault|compilerelse|compilerelseif|compilerendif|compilerendselect|compilererror|compilerif|compilerselect|continue|data|datasection|debug|debuglevel|declare|declarec|declarecdll|declaredll|declaremodule|default|define|dim|disableasm|disabledebugger|disableexplicit|else|elseif|enableasm|enabledebugger|enableexplicit|end|enddatasection|enddeclaremodule|endenumeration|endif|endimport|endinterface|endmacro|endmodule|endprocedure|endselect|endstructure|endstructureunion|endwith|enumeration|extends|fakereturn|for|foreach|forever|global|gosub|goto|if|import|importc|includebinary|includefile|includepath|interface|macro|module|newlist|newmap|next|not|or|procedure|procedurec|procedurecdll|proceduredll|procedurereturn|protected|prototype|prototypec|read|redim|repeat|restore|return|runtime|select|shared|static|step|structure|structureunion|swap|threaded|to|until|wend|while|with|xincludefile|xor)\b/i,function:/\b\w+(?:\.\w+)?\s*(?=\()/,number:/(?:\$[\da-f]+|\b-?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)\b/i,operator:/(?:@\*?|\?|\*)\w+\$?|-[>-]?|\+\+?|!=?|<>?=?|==?|&&?|\|?\||[~^%?*/@]/}),Prism.languages.insertBefore("purebasic","keyword",{tag:/#\w+\$?/,asm:{pattern:/(^[\t ]*)!.*/m,lookbehind:!0,alias:"tag",inside:{comment:/;.*/,string:{pattern:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"label-reference-anonymous":{pattern:/(!\s*j[a-z]+\s+)@[fb]/i,lookbehind:!0,alias:"fasm-label"},"label-reference-addressed":{pattern:/(!\s*j[a-z]+\s+)[A-Z._?$@][\w.?$@~#]*/i,lookbehind:!0,alias:"fasm-label"},keyword:[/\b(?:extern|global)\b[^;\r\n]*/i,/\b(?:CPU|DEFAULT|FLOAT)\b.*/],function:{pattern:/^([\t ]*!\s*)[\da-z]+(?=\s|$)/im,lookbehind:!0},"function-inline":{pattern:/(:\s*)[\da-z]+(?=\s)/i,lookbehind:!0,alias:"function"},label:{pattern:/^([\t ]*!\s*)[A-Za-z._?$@][\w.?$@~#]*(?=:)/m,lookbehind:!0,alias:"fasm-label"},register:/\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s|mm\d+)\b/i,number:/(?:\b|-|(?=\$))(?:0[hx](?:[\da-f]*\.)?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|(?:\d+(?:\.\d+)?|\.\d+)(?:\.?e[+-]?\d+)?[dt]?)\b/i,operator:/[\[\]*+\-/%<>=&|$!,.:]/}}}),delete Prism.languages.purebasic["class-name"],delete Prism.languages.purebasic.boolean,Prism.languages.pbfasm=Prism.languages.purebasic; Prism.languages.purescript=Prism.languages.extend("haskell",{keyword:/\b(?:ado|case|class|data|derive|do|else|forall|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b|∀/,"import-statement":{pattern:/(^[\t ]*)import\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|hiding|import)\b/,punctuation:/\./}},builtin:/\b(?:absurd|add|ap|append|apply|between|bind|bottom|clamp|compare|comparing|compose|conj|const|degree|discard|disj|div|eq|flap|flip|gcd|identity|ifM|join|lcm|liftA1|liftM1|map|max|mempty|min|mod|mul|negate|not|notEq|one|otherwise|recip|show|sub|top|unit|unless|unlessM|void|when|whenM|zero)\b/,operator:[Prism.languages.haskell.operator[0],Prism.languages.haskell.operator[2],/[\xa2-\xa6\xa8\xa9\xac\xae-\xb1\xb4\xb8\xd7\xf7\u02c2-\u02c5\u02d2-\u02df\u02e5-\u02eb\u02ed\u02ef-\u02ff\u0375\u0384\u0385\u03f6\u0482\u058d-\u058f\u0606-\u0608\u060b\u060e\u060f\u06de\u06e9\u06fd\u06fe\u07f6\u07fe\u07ff\u09f2\u09f3\u09fa\u09fb\u0af1\u0b70\u0bf3-\u0bfa\u0c7f\u0d4f\u0d79\u0e3f\u0f01-\u0f03\u0f13\u0f15-\u0f17\u0f1a-\u0f1f\u0f34\u0f36\u0f38\u0fbe-\u0fc5\u0fc7-\u0fcc\u0fce\u0fcf\u0fd5-\u0fd8\u109e\u109f\u1390-\u1399\u166d\u17db\u1940\u19de-\u19ff\u1b61-\u1b6a\u1b74-\u1b7c\u1fbd\u1fbf-\u1fc1\u1fcd-\u1fcf\u1fdd-\u1fdf\u1fed-\u1fef\u1ffd\u1ffe\u2044\u2052\u207a-\u207c\u208a-\u208c\u20a0-\u20bf\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211e-\u2123\u2125\u2127\u2129\u212e\u213a\u213b\u2140-\u2144\u214a-\u214d\u214f\u218a\u218b\u2190-\u2307\u230c-\u2328\u232b-\u2426\u2440-\u244a\u249c-\u24e9\u2500-\u2767\u2794-\u27c4\u27c7-\u27e5\u27f0-\u2982\u2999-\u29d7\u29dc-\u29fb\u29fe-\u2b73\u2b76-\u2b95\u2b97-\u2bff\u2ce5-\u2cea\u2e50\u2e51\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3004\u3012\u3013\u3020\u3036\u3037\u303e\u303f\u309b\u309c\u3190\u3191\u3196-\u319f\u31c0-\u31e3\u3200-\u321e\u322a-\u3247\u3250\u3260-\u327f\u328a-\u32b0\u32c0-\u33ff\u4dc0-\u4dff\ua490-\ua4c6\ua700-\ua716\ua720\ua721\ua789\ua78a\ua828-\ua82b\ua836-\ua839\uaa77-\uaa79\uab5b\uab6a\uab6b\ufb29\ufbb2-\ufbc1\ufdfc\ufdfd\ufe62\ufe64-\ufe66\ufe69\uff04\uff0b\uff1c-\uff1e\uff3e\uff40\uff5c\uff5e\uffe0-\uffe6\uffe8-\uffee\ufffc\ufffd]/]}),Prism.languages.purs=Prism.languages.purescript; Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python; !function(e){function n(e,n){return e.replace(/<<(\d+)>>/g,(function(e,r){return"(?:"+n[+r]+")"}))}function r(e,r,a){return RegExp(n(e,r),a||"")}var a=RegExp("\\b(?:"+"Adj BigInt Bool Ctl Double false Int One Pauli PauliI PauliX PauliY PauliZ Qubit Range Result String true Unit Zero Adjoint adjoint apply as auto body borrow borrowing Controlled controlled distribute elif else fail fixup for function if in internal intrinsic invert is let mutable namespace new newtype open operation repeat return self set until use using while within".trim().replace(/ /g,"|")+")\\b"),t=n("<<0>>(?:\\s*\\.\\s*<<0>>)*",["\\b[A-Za-z_]\\w*\\b"]),i={keyword:a,punctuation:/[<>()?,.:[\]]/},s='"(?:\\\\.|[^\\\\"])*"';e.languages.qsharp=e.languages.extend("clike",{comment:/\/\/.*/,string:[{pattern:r("(^|[^$\\\\])<<0>>",[s]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:r("(\\b(?:as|open)\\s+)<<0>>(?=\\s*(?:;|as\\b))",[t]),lookbehind:!0,inside:i},{pattern:r("(\\bnamespace\\s+)<<0>>(?=\\s*\\{)",[t]),lookbehind:!0,inside:i}],keyword:a,number:/(?:\b0(?:x[\da-f]+|b[01]+|o[0-7]+)|(?:\B\.\d+|\b\d+(?:\.\d*)?)(?:e[-+]?\d+)?)l?\b/i,operator:/\band=|\bor=|\band\b|\bnot\b|\bor\b|<[-=]|[-=]>|>>>=?|<<<=?|\^\^\^=?|\|\|\|=?|&&&=?|w\/=?|~~~|[*\/+\-^=!%]=?/,punctuation:/::|[{}[\];(),.:]/}),e.languages.insertBefore("qsharp","number",{range:{pattern:/\.\./,alias:"operator"}});var o=function(e,n){for(var r=0;r<2;r++)e=e.replace(/<>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}(n('\\{(?:[^"{}]|<<0>>|<>)*\\}',[s]));e.languages.insertBefore("qsharp","string",{"interpolation-string":{pattern:r('\\$"(?:\\\\.|<<0>>|[^\\\\"{])*"',[o]),greedy:!0,inside:{interpolation:{pattern:r("((?:^|[^\\\\])(?:\\\\\\\\)*)<<0>>",[o]),lookbehind:!0,inside:{punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-qsharp",inside:e.languages.qsharp}}},string:/[\s\S]+/}}})}(Prism),Prism.languages.qs=Prism.languages.qsharp; Prism.languages.q={string:/"(?:\\.|[^"\\\r\n])*"/,comment:[{pattern:/([\t )\]}])\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r(?!\n)))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/,lookbehind:!0,greedy:!0},{pattern:/^\\[\t ]*(?:\r?\n|\r)[\s\S]+/m,greedy:!0},{pattern:/^#!.+/m,greedy:!0}],symbol:/`(?::\S+|[\w.]*)/,datetime:{pattern:/0N[mdzuvt]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[uvt]?/,alias:"number"},number:/\b(?![01]:)(?:0N[hje]?|0W[hj]?|0[wn]|0x[\da-fA-F]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?[hjfeb]?)/,keyword:/\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/,adverb:{pattern:/['\/\\]:?|\beach\b/,alias:"function"},verb:{pattern:/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[:+\-*%,!?~=|$&#@^]):?|\b_\b:?/,alias:"operator"},punctuation:/[(){}\[\];.]/}; !function(e){for(var r="(?:[^\\\\()[\\]{}\"'/]||/(?![*/])||\\(*\\)|\\[*\\]|\\{*\\}|\\\\[^])".replace(//g,(function(){return"\"(?:\\\\.|[^\\\\\"\r\n])*\"|'(?:\\\\.|[^\\\\'\r\n])*'"})).replace(//g,(function(){return"//.*(?!.)|/\\*(?:[^*]|\\*(?!/))*\\*/"})),t=0;t<2;t++)r=r.replace(//g,(function(){return r}));r=r.replace(//g,"[^\\s\\S]"),e.languages.qml={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},"javascript-function":{pattern:RegExp("((?:^|;)[ \t]*)function\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*\\(*\\)\\s*\\{*\\}".replace(//g,(function(){return r})),"m"),lookbehind:!0,greedy:!0,alias:"language-javascript",inside:e.languages.javascript},"class-name":{pattern:/((?:^|[:;])[ \t]*)(?!\d)\w+(?=[ \t]*\{|[ \t]+on\b)/m,lookbehind:!0},property:[{pattern:/((?:^|[;{])[ \t]*)(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,lookbehind:!0},{pattern:/((?:^|[;{])[ \t]*)property[ \t]+(?!\d)\w+(?:\.\w+)*[ \t]+(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,lookbehind:!0,inside:{keyword:/^property/,property:/\w+(?:\.\w+)*/}}],"javascript-expression":{pattern:RegExp("(:[ \t]*)(?![\\s;}[])(?:(?!$|[;}]))+".replace(//g,(function(){return r})),"m"),lookbehind:!0,greedy:!0,alias:"language-javascript",inside:e.languages.javascript},string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},keyword:/\b(?:as|import|on)\b/,punctuation:/[{}[\]:;,]/}}(Prism); Prism.languages.qore=Prism.languages.extend("clike",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/|#).*)/,lookbehind:!0},string:{pattern:/("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},keyword:/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:bool|date|float|int|list|number|string)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/,boolean:/\b(?:false|true)\b/i,function:/\$?\b(?!\d)\w+(?=\()/,number:/\b(?:0b[01]+|0x(?:[\da-f]*\.)?[\da-fp\-]+|(?:\d+(?:\.\d+)?|\.\d+)(?:e\d+)?[df]|(?:\d+(?:\.\d+)?|\.\d+))\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\/%^]=?|[~?])/,lookbehind:!0},variable:/\$(?!\d)\w+\b/}); Prism.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},boolean:/\b(?:FALSE|TRUE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:Inf|NaN)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,operator:/->?>?|<(?:=|=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}; Prism.languages.racket=Prism.languages.extend("scheme",{"lambda-parameter":{pattern:/([(\[]lambda\s+[(\[])[^()\[\]'\s]+/,lookbehind:!0}}),Prism.languages.insertBefore("racket","string",{lang:{pattern:/^#lang.+/m,greedy:!0,alias:"keyword"}}),Prism.languages.rkt=Prism.languages.racket; !function(e){function s(e,s){for(var a=0;a/g,(function(){return"(?:"+e+")"}));return e.replace(//g,"[^\\s\\S]").replace(//g,'(?:@(?!")|"(?:[^\r\n\\\\"]|\\\\.)*"|@"(?:[^\\\\"]|""|\\\\[^])*"(?!")|\'(?:(?:[^\r\n\'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})\'|(?=[^\\\\](?!\'))))').replace(//g,"(?:/(?![/*])|//.*[\r\n]|/\\*[^*]*(?:\\*(?!/)[^*]*)*\\*/)")}var a=s("\\((?:[^()'\"@/]|||)*\\)",2),t=s("\\[(?:[^\\[\\]'\"@/]|||)*\\]",1),r=s("\\{(?:[^{}'\"@/]|||)*\\}",2),n="@(?:await\\b\\s*)?(?:(?!await\\b)\\w+\\b|"+a+")(?:[?!]?\\.\\w+\\b|(?:"+s("<(?:[^<>'\"@/]||)*>",1)+")?"+a+"|"+t+")*(?![?!\\.(\\[]|<(?!/))",l="(?:\"[^\"@]*\"|'[^'@]*'|[^\\s'\"@>=]+(?=[\\s>])|[\"'][^\"'@]*(?:(?:@(?![\\w()])|"+n+")[^\"'@]*)+[\"'])",i="(?:\\s(?:\\s*[^\\s>/=]+(?:\\s*=\\s*|(?=[\\s/>])))+)?".replace(//,l),g="(?!\\d)[^\\s>/=$<%]+"+i+"\\s*/?>",o="\\B@?(?:<([a-zA-Z][\\w:]*)"+i+"\\s*>(?:[^<]|(?:[^<]|)*",2)+")*|<"+g+")";e.languages.cshtml=e.languages.extend("markup",{});var c={pattern:/\S[\s\S]*/,alias:"language-csharp",inside:e.languages.insertBefore("csharp","string",{html:{pattern:RegExp(o),greedy:!0,inside:e.languages.cshtml}},{csharp:e.languages.extend("csharp",{})})},p={pattern:RegExp("(^|[^@])"+n),lookbehind:!0,greedy:!0,alias:"variable",inside:{keyword:/^@/,csharp:c}};e.languages.cshtml.tag.pattern=RegExp("*\\.{3}(?:[^{}]|)*\\})";function a(t,n){return t=t.replace(//g,(function(){return"(?:\\s|//.*(?!.)|/\\*(?:[^*]|\\*(?!/))\\*/)"})).replace(//g,(function(){return"(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})"})).replace(//g,(function(){return e})),RegExp(t,n)}e=a(e).source,t.languages.jsx=t.languages.extend("markup",n),t.languages.jsx.tag.pattern=a("+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[^]|[^\\\\\"])*\"|'(?:\\\\[^]|[^\\\\'])*'|[^\\s{'\"/>=]+|))?|))**/?)?>"),t.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,t.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,t.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,t.languages.jsx.tag.inside.comment=n.comment,t.languages.insertBefore("inside","attr-name",{spread:{pattern:a(""),inside:t.languages.jsx}},t.languages.jsx.tag),t.languages.insertBefore("inside","special-attr",{script:{pattern:a("="),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:t.languages.jsx}}},t.languages.jsx.tag);var s=function(t){return t?"string"==typeof t?t:"string"==typeof t.content?t.content:t.content.map(s).join(""):""},g=function(n){for(var e=[],a=0;a0&&e[e.length-1].tagName===s(o.content[0].content[1])&&e.pop():"/>"===o.content[o.content.length-1].content||e.push({tagName:s(o.content[0].content[1]),openedBraces:0}):e.length>0&&"punctuation"===o.type&&"{"===o.content?e[e.length-1].openedBraces++:e.length>0&&e[e.length-1].openedBraces>0&&"punctuation"===o.type&&"}"===o.content?e[e.length-1].openedBraces--:i=!0),(i||"string"==typeof o)&&e.length>0&&0===e[e.length-1].openedBraces){var r=s(o);a0&&("string"==typeof n[a-1]||"plain-text"===n[a-1].type)&&(r=s(n[a-1])+r,n.splice(a-1,1),a--),n[a]=new t.Token("plain-text",r,null,r)}o.content&&"string"!=typeof o.content&&g(o.content)}};t.hooks.add("after-tokenize",(function(t){"jsx"!==t.language&&"tsx"!==t.language||g(t.tokens)}))}(Prism); !function(e){var a=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",a),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var t=e.languages.tsx.tag;t.pattern=RegExp("(^|[^\\w$]|(?=|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),Prism.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete Prism.languages.reason.function; !function(a){var e={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},n=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,t="(?:[^\\\\-]|"+n.source+")",s=RegExp(t+"-"+t),i={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"};a.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:s,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":e,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:n}},"special-escape":e,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":i}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|:=]=?|!=|\b_\b/,punctuation:/[,;.\[\]{}()]/}; Prism.languages.renpy={comment:{pattern:/(^|[^\\])#.+/,lookbehind:!0},string:{pattern:/("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\])*\2|(?:^#?(?:(?:[0-9a-fA-F]){3}|[0-9a-fA-F]{6})$)/m,greedy:!0},function:/\b[a-z_]\w*(?=\()/i,property:/\b(?:Update|UpdateVersion|action|activate_sound|adv_nvl_transition|after_load_transition|align|alpha|alt|anchor|antialias|area|auto|background|bar_invert|bar_resizing|bar_vertical|black_color|bold|bottom_bar|bottom_gutter|bottom_margin|bottom_padding|box_reverse|box_wrap|can_update|caret|child|color|crop|default_afm_enable|default_afm_time|default_fullscreen|default_text_cps|developer|directory_name|drag_handle|drag_joined|drag_name|drag_raise|draggable|dragged|drop_shadow|drop_shadow_color|droppable|dropped|easein|easeout|edgescroll|end_game_transition|end_splash_transition|enter_replay_transition|enter_sound|enter_transition|enter_yesno_transition|executable_name|exit_replay_transition|exit_sound|exit_transition|exit_yesno_transition|fadein|fadeout|first_indent|first_spacing|fit_first|focus|focus_mask|font|foreground|game_main_transition|get_installed_packages|google_play_key|google_play_salt|ground|has_music|has_sound|has_voice|height|help|hinting|hover|hover_background|hover_color|hover_sound|hovered|hyperlink_functions|idle|idle_color|image_style|include_update|insensitive|insensitive_background|insensitive_color|inside|intra_transition|italic|justify|kerning|keyboard_focus|language|layer_clipping|layers|layout|left_bar|left_gutter|left_margin|left_padding|length|line_leading|line_overlap_split|line_spacing|linear|main_game_transition|main_menu_music|maximum|min_width|minimum|minwidth|modal|mouse|mousewheel|name|narrator_menu|newline_indent|nvl_adv_transition|offset|order_reverse|outlines|overlay_functions|pos|position|prefix|radius|range|rest_indent|right_bar|right_gutter|right_margin|right_padding|rotate|rotate_pad|ruby_style|sample_sound|save_directory|say_attribute_transition|screen_height|screen_width|scrollbars|selected_hover|selected_hover_color|selected_idle|selected_idle_color|selected_insensitive|show_side_image|show_two_window|side_spacing|side_xpos|side_ypos|size|size_group|slow_cps|slow_cps_multiplier|spacing|strikethrough|subpixel|text_align|text_style|text_xpos|text_y_fudge|text_ypos|thumb|thumb_offset|thumb_shadow|thumbnail_height|thumbnail_width|time|top_bar|top_gutter|top_margin|top_padding|translations|underline|unscrollable|update|value|version|version_name|version_tuple|vertical|width|window_hide_transition|window_icon|window_left_padding|window_show_transition|window_title|windows_icon|xadjustment|xalign|xanchor|xanchoraround|xaround|xcenter|xfill|xinitial|xmargin|xmaximum|xminimum|xoffset|xofsset|xpadding|xpos|xsize|xzoom|yadjustment|yalign|yanchor|yanchoraround|yaround|ycenter|yfill|yinitial|ymargin|ymaximum|yminimum|yoffset|ypadding|ypos|ysize|ysizexysize|yzoom|zoom|zorder)\b/,tag:/\b(?:bar|block|button|buttoscreenn|drag|draggroup|fixed|frame|grid|[hv]box|hotbar|hotspot|image|imagebutton|imagemap|input|key|label|menu|mm_menu_frame|mousearea|nvl|parallel|screen|self|side|tag|text|textbutton|timer|vbar|viewport|window)\b|\$/,keyword:/\b(?:None|add|adjustment|alignaround|allow|angle|animation|around|as|assert|behind|box_layout|break|build|cache|call|center|changed|child_size|choice|circles|class|clear|clicked|clipping|clockwise|config|contains|continue|corner1|corner2|counterclockwise|def|default|define|del|delay|disabled|disabled_text|dissolve|elif|else|event|except|exclude|exec|expression|fade|finally|for|from|function|global|gm_root|has|hide|id|if|import|in|init|is|jump|knot|lambda|left|less_rounded|mm_root|movie|music|null|on|onlayer|pass|pause|persistent|play|print|python|queue|raise|random|renpy|repeat|return|right|rounded_window|scene|scope|set|show|slow|slow_abortable|slow_done|sound|stop|store|style|style_group|substitute|suffix|theme|transform|transform_anchor|transpose|try|ui|unhovered|updater|use|voice|while|widget|widget_hover|widget_selected|widget_text|yield)\b/,boolean:/\b(?:[Ff]alse|[Tt]rue)\b/,number:/(?:\b(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?)|\B\.\d+)(?:e[+-]?\d+)?j?/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:and|at|not|or|with)\b/,punctuation:/[{}[\];(),.:]/},Prism.languages.rpy=Prism.languages.renpy; Prism.languages.rescript={comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},char:{pattern:/'(?:[^\r\n\\]|\\(?:.|\w+))'/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*|@[a-z.]*|#[A-Za-z]\w*|#\d/,function:{pattern:/[a-zA-Z]\w*(?=\()|(\.)[a-z]\w*/,lookbehind:!0},number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,boolean:/\b(?:false|true)\b/,"attr-value":/[A-Za-z]\w*(?==)/,constant:{pattern:/(\btype\s+)[a-z]\w*/,lookbehind:!0},tag:{pattern:/(<)[a-z]\w*|(?:<\/)[a-z]\w*/,lookbehind:!0,inside:{operator:/<|>|\//}},keyword:/\b(?:and|as|assert|begin|bool|class|constraint|do|done|downto|else|end|exception|external|float|for|fun|function|if|in|include|inherit|initializer|int|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|string|switch|then|to|try|type|when|while|with)\b/,operator:/\.{3}|:[:=]?|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/,punctuation:/[(){}[\],;.]/},Prism.languages.insertBefore("rescript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"tag"},rest:Prism.languages.rescript}},string:/[\s\S]+/}}}),Prism.languages.res=Prism.languages.rescript; Prism.languages.rest={table:[{pattern:/(^[\t ]*)(?:\+[=-]+)+\+(?:\r?\n|\r)(?:\1[+|].+[+|](?:\r?\n|\r))+\1(?:\+[=-]+)+\+/m,lookbehind:!0,inside:{punctuation:/\||(?:\+[=-]+)+\+/}},{pattern:/(^[\t ]*)=+ [ =]*=(?:(?:\r?\n|\r)\1.+)+(?:\r?\n|\r)\1=+ [ =]*=(?=(?:\r?\n|\r){2}|\s*$)/m,lookbehind:!0,inside:{punctuation:/[=-]+/}}],"substitution-def":{pattern:/(^[\t ]*\.\. )\|(?:[^|\s](?:[^|]*[^|\s])?)\| [^:]+::/m,lookbehind:!0,inside:{substitution:{pattern:/^\|(?:[^|\s]|[^|\s][^|]*[^|\s])\|/,alias:"attr-value",inside:{punctuation:/^\||\|$/}},directive:{pattern:/( )(?! )[^:]+::/,lookbehind:!0,alias:"function",inside:{punctuation:/::$/}}}},"link-target":[{pattern:/(^[\t ]*\.\. )\[[^\]]+\]/m,lookbehind:!0,alias:"string",inside:{punctuation:/^\[|\]$/}},{pattern:/(^[\t ]*\.\. )_(?:`[^`]+`|(?:[^:\\]|\\.)+):/m,lookbehind:!0,alias:"string",inside:{punctuation:/^_|:$/}}],directive:{pattern:/(^[\t ]*\.\. )[^:]+::/m,lookbehind:!0,alias:"function",inside:{punctuation:/::$/}},comment:{pattern:/(^[\t ]*\.\.)(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m,lookbehind:!0},title:[{pattern:/^(([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+)(?:\r?\n|\r).+(?:\r?\n|\r)\1$/m,inside:{punctuation:/^[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+|[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/,important:/.+/}},{pattern:/(^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+(?=\r?\n|\r|$)/,lookbehind:!0,inside:{punctuation:/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/,important:/.+/}}],hr:{pattern:/((?:\r?\n|\r){2})([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2{3,}(?=(?:\r?\n|\r){2})/,lookbehind:!0,alias:"punctuation"},field:{pattern:/(^[\t ]*):[^:\r\n]+:(?= )/m,lookbehind:!0,alias:"attr-name"},"command-line-option":{pattern:/(^[\t ]*)(?:[+-][a-z\d]|(?:--|\/)[a-z\d-]+)(?:[ =](?:[a-z][\w-]*|<[^<>]+>))?(?:, (?:[+-][a-z\d]|(?:--|\/)[a-z\d-]+)(?:[ =](?:[a-z][\w-]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im,lookbehind:!0,alias:"symbol"},"literal-block":{pattern:/::(?:\r?\n|\r){2}([ \t]+)(?![ \t]).+(?:(?:\r?\n|\r)\1.+)*/,inside:{"literal-block-punctuation":{pattern:/^::/,alias:"punctuation"}}},"quoted-literal-block":{pattern:/::(?:\r?\n|\r){2}([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]).*(?:(?:\r?\n|\r)\1.*)*/,inside:{"literal-block-punctuation":{pattern:/^(?:::|([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\1*)/m,alias:"punctuation"}}},"list-bullet":{pattern:/(^[\t ]*)(?:[*+\-•‣⁃]|\(?(?:\d+|[a-z]|[ivxdclm]+)\)|(?:\d+|[a-z]|[ivxdclm]+)\.)(?= )/im,lookbehind:!0,alias:"punctuation"},"doctest-block":{pattern:/(^[\t ]*)>>> .+(?:(?:\r?\n|\r).+)*/m,lookbehind:!0,inside:{punctuation:/^>>>/}},inline:[{pattern:/(^|[\s\-:\/'"<(\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\*\*?|``?|\|)(?!\s)(?:(?!\2).)*\S\2(?=[\s\-.,:;!?\\\/'")\]}]|$))/m,lookbehind:!0,inside:{bold:{pattern:/(^\*\*).+(?=\*\*$)/,lookbehind:!0},italic:{pattern:/(^\*).+(?=\*$)/,lookbehind:!0},"inline-literal":{pattern:/(^``).+(?=``$)/,lookbehind:!0,alias:"symbol"},role:{pattern:/^:[^:]+:|:[^:]+:$/,alias:"function",inside:{punctuation:/^:|:$/}},"interpreted-text":{pattern:/(^`).+(?=`$)/,lookbehind:!0,alias:"attr-value"},substitution:{pattern:/(^\|).+(?=\|$)/,lookbehind:!0,alias:"attr-value"},punctuation:/\*\*?|``?|\|/}}],link:[{pattern:/\[[^\[\]]+\]_(?=[\s\-.,:;!?\\\/'")\]}]|$)/,alias:"string",inside:{punctuation:/^\[|\]_$/}},{pattern:/(?:\b[a-z\d]+(?:[_.:+][a-z\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\s\-.,:;!?\\\/'")\]}]|$)/i,alias:"string",inside:{punctuation:/^_?`|`$|`?_?_$/}}],punctuation:{pattern:/(^[\t ]*)(?:\|(?= |$)|(?:---?|—|\.\.|__)(?= )|\.\.$)/m,lookbehind:!0}}; Prism.languages.rip={comment:{pattern:/#.*/,greedy:!0},char:{pattern:/\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/,greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},regex:{pattern:/(^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},keyword:/(?:=>|->)|\b(?:case|catch|class|else|exit|finally|if|raise|return|switch|try)\b/,builtin:/@|\bSystem\b/,boolean:/\b(?:false|true)\b/,date:/\b\d{4}-\d{2}-\d{2}\b/,time:/\b\d{2}:\d{2}:\d{2}\b/,datetime:/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/,symbol:/:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/,number:/[+-]?\b(?:\d+\.\d+|\d+)\b/,punctuation:/(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/,reference:/[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/}; Prism.languages.roboconf={comment:/#.*/,keyword:{pattern:/(^|\s)(?:(?:external|import)\b|(?:facet|instance of)(?=[ \t]+[\w-]+[ \t]*\{))/,lookbehind:!0},component:{pattern:/[\w-]+(?=[ \t]*\{)/,alias:"variable"},property:/[\w.-]+(?=[ \t]*:)/,value:{pattern:/(=[ \t]*(?![ \t]))[^,;]+/,lookbehind:!0,alias:"attr-value"},optional:{pattern:/\(optional\)/,alias:"builtin"},wildcard:{pattern:/(\.)\*/,lookbehind:!0,alias:"operator"},punctuation:/[{},.;:=]/}; !function(t){var n={pattern:/(^[ \t]*| {2}|\t)#.*/m,lookbehind:!0,greedy:!0},e={pattern:/((?:^|[^\\])(?:\\{2})*)[$@&%]\{(?:[^{}\r\n]|\{[^{}\r\n]*\})*\}/,lookbehind:!0,inside:{punctuation:/^[$@&%]\{|\}$/}};function a(t,a){var r={"section-header":{pattern:/^ ?\*{3}.+?\*{3}/,alias:"keyword"}};for(var o in a)r[o]=a[o];return r.tag={pattern:/([\r\n](?: {2}|\t)[ \t]*)\[[-\w]+\]/,lookbehind:!0,inside:{punctuation:/\[|\]/}},r.variable=e,r.comment=n,{pattern:RegExp("^ ?\\*{3}[ \t]*[ \t]*\\*{3}(?:.|[\r\n](?!\\*{3}))*".replace(//g,(function(){return t})),"im"),alias:"section",inside:r}}var r={pattern:/(\[Documentation\](?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/,lookbehind:!0,alias:"string"},o={pattern:/([\r\n] ?)(?!#)(?:\S(?:[ \t]\S)*)+/,lookbehind:!0,alias:"function",inside:{variable:e}},i={pattern:/([\r\n](?: {2}|\t)[ \t]*)(?!\[|\.{3}|#)(?:\S(?:[ \t]\S)*)+/,lookbehind:!0,inside:{variable:e}};t.languages.robotframework={settings:a("Settings",{documentation:{pattern:/([\r\n] ?Documentation(?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/,lookbehind:!0,alias:"string"},property:{pattern:/([\r\n] ?)(?!\.{3}|#)(?:\S(?:[ \t]\S)*)+/,lookbehind:!0}}),variables:a("Variables"),"test-cases":a("Test Cases",{"test-name":o,documentation:r,property:i}),keywords:a("Keywords",{"keyword-name":o,documentation:r,property:i}),tasks:a("Tasks",{"task-name":o,documentation:r,property:i}),comment:n},t.languages.robot=t.languages.robotframework}(Prism); !function(e){for(var a="/\\*(?:[^*/]|\\*(?!/)|/(?!\\*)|)*\\*/",t=0;t<2;t++)a=a.replace(//g,(function(){return a}));a=a.replace(//g,(function(){return"[^\\s\\S]"})),e.languages.rust={comment:[{pattern:RegExp("(^|[^\\\\])"+a),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(Prism); !function(e){var t="(?:\"(?:\"\"|[^\"])*\"(?!\")|'(?:''|[^'])*'(?!'))",a=/\b(?:\d[\da-f]*x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,n={pattern:RegExp(t+"[bx]"),alias:"number"},i={pattern:/&[a-z_]\w*/i},r={pattern:/((?:^|\s|=|\())%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMEXIST|SYMGLOBL|SYMLOCAL|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i,lookbehind:!0,alias:"keyword"},s={pattern:/(^|\s)(?:proc\s+\w+|data(?!=)|quit|run)\b/i,alias:"keyword",lookbehind:!0},o=[/\/\*[\s\S]*?\*\//,{pattern:/(^[ \t]*|;\s*)\*[^;]*;/m,lookbehind:!0}],l={pattern:RegExp(t),greedy:!0},c=/[$%@.(){}\[\];,\\]/,d={pattern:/%?\b\w+(?=\()/,alias:"keyword"},p={function:d,"arg-value":{pattern:/(=\s*)[A-Z\.]+/i,lookbehind:!0},operator:/=/,"macro-variable":i,arg:{pattern:/[A-Z]+/i,alias:"keyword"},number:a,"numeric-constant":n,punctuation:c,string:l},u={pattern:/\b(?:format|put)\b=?[\w'$.]+/i,inside:{keyword:/^(?:format|put)(?==)/i,equals:/=/,format:{pattern:/(?:\w|\$\d)+\.\d?/,alias:"number"}}},m={pattern:/\b(?:format|put)\s+[\w']+(?:\s+[$.\w]+)+(?=;)/i,inside:{keyword:/^(?:format|put)/i,format:{pattern:/[\w$]+\.\d?/,alias:"number"}}},b={pattern:/((?:^|\s)=?)(?:catname|checkpoint execute_always|dm|endsas|filename|footnote|%include|libname|%list|lock|missing|options|page|resetline|%run|sasfile|skip|sysecho|title\d?)\b/i,lookbehind:!0,alias:"keyword"},g={pattern:/(^|\s)(?:submit(?:\s+(?:load|norun|parseonly))?|endsubmit)\b/i,lookbehind:!0,alias:"keyword"},k="aStore|accessControl|aggregation|audio|autotune|bayesianNetClassifier|bioMedImage|boolRule|builtins|cardinality|cdm|clustering|conditionalRandomFields|configuration|copula|countreg|dataDiscovery|dataPreprocess|dataSciencePilot|dataStep|decisionTree|deduplication|deepLearn|deepNeural|deepRnn|ds2|ecm|entityRes|espCluster|explainModel|factmac|fastKnn|fcmpact|fedSql|freqTab|gVarCluster|gam|gleam|graphSemiSupLearn|hiddenMarkovModel|hyperGroup|ica|image|iml|kernalPca|langModel|ldaTopic|loadStreams|mbc|mixed|mlTools|modelPublishing|network|neuralNet|nmf|nonParametricBayes|nonlinear|optNetwork|optimization|panel|pca|percentile|phreg|pls|qkb|qlim|quantreg|recommend|regression|reinforcementLearn|robustPca|ruleMining|sampling|sandwich|sccasl|search(?:Analytics)?|sentimentAnalysis|sequence|session(?:Prop)?|severity|simSystem|simple|smartData|sparkEmbeddedProcess|sparseML|spatialreg|spc|stabilityMonitoring|svDataDescription|svm|table|text(?:Filters|Frequency|Mining|Parse|Rule(?:Develop|Score)|Topic|Util)|timeData|transpose|tsInfo|tsReconcile|uniTimeSeries|varReduce",y={pattern:RegExp("(^|\\s)(?:action\\s+)?(?:)\\.[a-z]+\\b[^;]+".replace(//g,(function(){return k})),"i"),lookbehind:!0,inside:{keyword:RegExp("(?:)\\.[a-z]+\\b".replace(//g,(function(){return k})),"i"),action:{pattern:/(?:action)/i,alias:"keyword"},comment:o,function:d,"arg-value":p["arg-value"],operator:p.operator,argument:p.arg,number:a,"numeric-constant":n,punctuation:c,string:l}},S={pattern:/((?:^|\s)=?)(?:after|analysis|and|array|barchart|barwidth|begingraph|by|call|cas|cbarline|cfill|class(?:lev)?|close|column|computed?|contains|continue|data(?==)|define|delete|describe|document|do\s+over|do|dol|drop|dul|else|end(?:comp|source)?|entryTitle|eval(?:uate)?|exec(?:ute)?|exit|file(?:name)?|fill(?:attrs)?|flist|fnc|function(?:list)?|global|goto|group(?:by)?|headline|headskip|histogram|if|infile|keep|keylabel|keyword|label|layout|leave|legendlabel|length|libname|loadactionset|merge|midpoints|_?null_|name|noobs|nowd|ods|options|or|otherwise|out(?:put)?|over(?:lay)?|plot|print|put|raise|ranexp|rannor|rbreak|retain|return|select|session|sessref|set|source|statgraph|sum|summarize|table|temp|terminate|then\s+do|then|title\d?|to|var|when|where|xaxisopts|y2axisopts|yaxisopts)\b/i,lookbehind:!0};e.languages.sas={datalines:{pattern:/^([ \t]*)(?:cards|(?:data)?lines);[\s\S]+?^[ \t]*;/im,lookbehind:!0,alias:"string",inside:{keyword:{pattern:/^(?:cards|(?:data)?lines)/i},punctuation:/;/}},"proc-sql":{pattern:/(^proc\s+(?:fed)?sql(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,lookbehind:!0,inside:{sql:{pattern:RegExp("^[ \t]*(?:select|alter\\s+table|(?:create|describe|drop)\\s+(?:index|table(?:\\s+constraints)?|view)|create\\s+unique\\s+index|insert\\s+into|update)(?:|[^;\"'])+;".replace(//g,(function(){return t})),"im"),alias:"language-sql",inside:e.languages.sql},"global-statements":b,"sql-statements":{pattern:/(^|\s)(?:disconnect\s+from|begin|commit|exec(?:ute)?|reset|rollback|validate)\b/i,lookbehind:!0,alias:"keyword"},number:a,"numeric-constant":n,punctuation:c,string:l}},"proc-groovy":{pattern:/(^proc\s+groovy(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,lookbehind:!0,inside:{comment:o,groovy:{pattern:RegExp("(^[ \t]*submit(?:\\s+(?:load|norun|parseonly))?)(?:|[^\"'])+?(?=endsubmit;)".replace(//g,(function(){return t})),"im"),lookbehind:!0,alias:"language-groovy",inside:e.languages.groovy},keyword:S,"submit-statement":g,"global-statements":b,number:a,"numeric-constant":n,punctuation:c,string:l}},"proc-lua":{pattern:/(^proc\s+lua(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,lookbehind:!0,inside:{comment:o,lua:{pattern:RegExp("(^[ \t]*submit(?:\\s+(?:load|norun|parseonly))?)(?:|[^\"'])+?(?=endsubmit;)".replace(//g,(function(){return t})),"im"),lookbehind:!0,alias:"language-lua",inside:e.languages.lua},keyword:S,"submit-statement":g,"global-statements":b,number:a,"numeric-constant":n,punctuation:c,string:l}},"proc-cas":{pattern:/(^proc\s+cas(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|data);|(?![\s\S]))/im,lookbehind:!0,inside:{comment:o,"statement-var":{pattern:/((?:^|\s)=?)saveresult\s[^;]+/im,lookbehind:!0,inside:{statement:{pattern:/^saveresult\s+\S+/i,inside:{keyword:/^(?:saveresult)/i}},rest:p}},"cas-actions":y,statement:{pattern:/((?:^|\s)=?)(?:default|(?:un)?set|on|output|upload)[^;]+/im,lookbehind:!0,inside:p},step:s,keyword:S,function:d,format:u,altformat:m,"global-statements":b,number:a,"numeric-constant":n,punctuation:c,string:l}},"proc-args":{pattern:RegExp("(^proc\\s+\\w+\\s+)(?!\\s)(?:[^;\"']|)+;".replace(//g,(function(){return t})),"im"),lookbehind:!0,inside:p},"macro-keyword":r,"macro-variable":i,"macro-string-functions":{pattern:/((?:^|\s|=))%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)\(.*?(?:[^%]\))/i,lookbehind:!0,inside:{function:{pattern:/%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)/i,alias:"keyword"},"macro-keyword":r,"macro-variable":i,"escaped-char":{pattern:/%['"()<>=¬^~;,#]/},punctuation:c}},"macro-declaration":{pattern:/^%macro[^;]+(?=;)/im,inside:{keyword:/%macro/i}},"macro-end":{pattern:/^%mend[^;]+(?=;)/im,inside:{keyword:/%mend/i}},macro:{pattern:/%_\w+(?=\()/,alias:"keyword"},input:{pattern:/\binput\s[-\w\s/*.$&]+;/i,inside:{input:{alias:"keyword",pattern:/^input/i},comment:o,number:a,"numeric-constant":n}},"options-args":{pattern:/(^options)[-'"|/\\<>*+=:()\w\s]*(?=;)/im,lookbehind:!0,inside:p},"cas-actions":y,comment:o,function:d,format:u,altformat:m,"numeric-constant":n,datetime:{pattern:RegExp(t+"(?:dt?|t)"),alias:"number"},string:l,step:s,keyword:S,"operator-keyword":{pattern:/\b(?:eq|ge|gt|in|le|lt|ne|not)\b/i,alias:"operator"},number:a,operator:/\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?/,punctuation:c}}(Prism); !function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var r=/\$[-\w]+|#\{\$[-\w]+\}/,t=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:r,operator:t}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:r,operator:t,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(Prism); Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss; Prism.languages.scala=Prism.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/<-|=>|\b(?:abstract|case|catch|class|def|derives|do|else|enum|extends|extension|final|finally|for|forSome|given|if|implicit|import|infix|inline|lazy|match|new|null|object|opaque|open|override|package|private|protected|return|sealed|self|super|this|throw|trait|transparent|try|type|using|val|var|while|with|yield)\b/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,symbol:/'[^\d\s\\]\w*/}),Prism.languages.insertBefore("scala","triple-quoted-string",{"string-interpolation":{pattern:/\b[a-z]\w*(?:"""(?:[^$]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*?"""|"(?:[^$"\r\n]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*")/i,greedy:!0,inside:{id:{pattern:/^\w+/,greedy:!0,alias:"function"},escape:{pattern:/\\\$"|\$[$"]/,greedy:!0,alias:"symbol"},interpolation:{pattern:/\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,greedy:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:Prism.languages.scala}}},string:/[\s\S]+/}}}),delete Prism.languages.scala["class-name"],delete Prism.languages.scala.function,delete Prism.languages.scala.constant; !function(s){var n=['"(?:\\\\[^]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^"\\\\`$])*"',"'[^']*'","\\$'(?:[^'\\\\]|\\\\[^])*'","<<-?\\s*([\"']?)(\\w+)\\1\\s[^]*?[\r\n]\\2"].join("|");s.languages["shell-session"]={command:{pattern:RegExp('^(?:[^\\s@:$#%*!/\\\\]+@[^\r\n@:$#%*!/\\\\]+(?::[^\0-\\x1F$#%*?"<>:;|]+)?|[/~.][^\0-\\x1F$#%*?"<>@:;|]*)?[$#%](?=\\s)'+"(?:[^\\\\\r\n \t'\"<$]|[ \t](?:(?!#)|#.*$)|\\\\(?:[^\r]|\r\n?)|\\$(?!')|<(?!<)|<>)+".replace(/<>/g,(function(){return n})),"m"),greedy:!0,inside:{info:{pattern:/^[^#$%]+/,alias:"punctuation",inside:{user:/^[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+/,punctuation:/:/,path:/[\s\S]+/}},bash:{pattern:/(^[$#%]\s*)\S[\s\S]*/,lookbehind:!0,alias:"language-bash",inside:s.languages.bash},"shell-symbol":{pattern:/^[$#%]/,alias:"important"}}},output:/.(?:.*(?:[\r\n]|.$))*/},s.languages["sh-session"]=s.languages.shellsession=s.languages["shell-session"]}(Prism); Prism.languages.smali={comment:/#.*/,string:{pattern:/"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\(?:.|u[\da-fA-F]{4}))'/,greedy:!0},"class-name":{pattern:/(^|[^L])L(?:(?:\w+|`[^`\r\n]*`)\/)*(?:[\w$]+|`[^`\r\n]*`)(?=\s*;)/,lookbehind:!0,inside:{"class-name":{pattern:/(^L|\/)(?:[\w$]+|`[^`\r\n]*`)$/,lookbehind:!0},namespace:{pattern:/^(L)(?:(?:\w+|`[^`\r\n]*`)\/)+/,lookbehind:!0,inside:{punctuation:/\//}},builtin:/^L/}},builtin:[{pattern:/([();\[])[BCDFIJSVZ]+/,lookbehind:!0},{pattern:/([\w$>]:)[BCDFIJSVZ]/,lookbehind:!0}],keyword:[{pattern:/(\.end\s+)[\w-]+/,lookbehind:!0},{pattern:/(^|[^\w.-])\.(?!\d)[\w-]+/,lookbehind:!0},{pattern:/(^|[^\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w.-])/,lookbehind:!0}],function:{pattern:/(^|[^\w.-])(?:\w+|<[\w$-]+>)(?=\()/,lookbehind:!0},field:{pattern:/[\w$]+(?=:)/,alias:"variable"},register:{pattern:/(^|[^\w.-])[vp]\d(?![\w.-])/,lookbehind:!0,alias:"variable"},boolean:{pattern:/(^|[^\w.-])(?:false|true)(?![\w.-])/,lookbehind:!0},number:{pattern:/(^|[^/\w.-])-?(?:NAN|INFINITY|0x(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:p[+-]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)[dflst]?(?![\w.-])/i,lookbehind:!0},label:{pattern:/(:)\w+/,lookbehind:!0,alias:"property"},operator:/->|\.\.|[\[=]/,punctuation:/[{}(),;:]/}; Prism.languages.smalltalk={comment:{pattern:/"(?:""|[^"])*"/,greedy:!0},char:{pattern:/\$./,greedy:!0},string:{pattern:/'(?:''|[^'])*'/,greedy:!0},symbol:/#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,"block-arguments":{pattern:/(\[\s*):[^\[|]*\|/,lookbehind:!0,inside:{variable:/:[\da-z]+/i,punctuation:/\|/}},"temporary-variables":{pattern:/\|[^|]+\|/,inside:{variable:/[\da-z]+/i,punctuation:/\|/}},keyword:/\b(?:new|nil|self|super)\b/,boolean:/\b(?:false|true)\b/,number:[/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,/\b\d+(?:\.\d+)?(?:e-?\d+)?/],operator:/[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,punctuation:/[.;:?\[\](){}]/}; !function(e){e.languages.smarty={comment:{pattern:/^\{\*[\s\S]*?\*\}/,greedy:!0},"embedded-php":{pattern:/^\{php\}[\s\S]*?\{\/php\}/,greedy:!0,inside:{smarty:{pattern:/^\{php\}|\{\/php\}$/,inside:null},php:{pattern:/[\s\S]+/,alias:"language-php",inside:e.languages.php}}},string:[{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0,inside:{interpolation:{pattern:/\{[^{}]*\}|`[^`]*`/,inside:{"interpolation-punctuation":{pattern:/^[{`]|[`}]$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:null}}},variable:/\$\w+/}},{pattern:/'(?:\\.|[^'\\\r\n])*'/,greedy:!0}],keyword:{pattern:/(^\{\/?)[a-z_]\w*\b(?!\()/i,lookbehind:!0,greedy:!0},delimiter:{pattern:/^\{\/?|\}$/,greedy:!0,alias:"punctuation"},number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,variable:[/\$(?!\d)\w+/,/#(?!\d)\w+#/,{pattern:/(\.|->|\w\s*=)(?!\d)\w+\b(?!\()/,lookbehind:!0},{pattern:/(\[)(?!\d)\w+(?=\])/,lookbehind:!0}],function:{pattern:/(\|\s*)@?[a-z_]\w*|\b[a-z_]\w*(?=\()/i,lookbehind:!0},"attr-name":/\b[a-z_]\w*(?=\s*=)/i,boolean:/\b(?:false|no|off|on|true|yes)\b/,punctuation:/[\[\](){}.,:`]|->/,operator:[/[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/,/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/,/\b(?:and|eq|gt?e|gt|lt?e|lt|mod|neq?|not|or)\b/]},e.languages.smarty["embedded-php"].inside.smarty.inside=e.languages.smarty,e.languages.smarty.string[0].inside.interpolation.inside.expression.inside=e.languages.smarty;var n=/"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,t=RegExp("\\{\\*[^]*?\\*\\}|\\{php\\}[^]*?\\{/php\\}|"+"\\{(?:[^{}\"']||\\{(?:[^{}\"']||\\{(?:[^{}\"']|)*\\})*\\})*\\}".replace(//g,(function(){return n.source})),"g");e.hooks.add("before-tokenize",(function(n){var a=!1;e.languages["markup-templating"].buildPlaceholders(n,"smarty",t,(function(e){return"{/literal}"===e&&(a=!1),!a&&("{literal}"===e&&(a=!0),!0)}))})),e.hooks.add("after-tokenize",(function(n){e.languages["markup-templating"].tokenizePlaceholders(n,"smarty")}))}(Prism); !function(e){var n=/\b(?:abstype|and|andalso|as|case|datatype|do|else|end|eqtype|exception|fn|fun|functor|handle|if|in|include|infix|infixr|let|local|nonfix|of|op|open|orelse|raise|rec|sharing|sig|signature|struct|structure|then|type|val|where|while|with|withtype)\b/i;e.languages.sml={comment:/\(\*(?:[^*(]|\*(?!\))|\((?!\*)|\(\*(?:[^*(]|\*(?!\))|\((?!\*))*\*\))*\*\)/,string:{pattern:/#?"(?:[^"\\]|\\.)*"/,greedy:!0},"class-name":[{pattern:RegExp("((?:^|[^:]):\\s*)(?:\\s*(?:(?:\\*|->)\\s*|,\\s*(?:(?=)|(?!)\\s+)))*".replace(//g,(function(){return"\\s*(?:[*,]|->)"})).replace(//g,(function(){return"(?:'[\\w']*||\\((?:[^()]|\\([^()]*\\))*\\)|\\{(?:[^{}]|\\{[^{}]*\\})*\\})(?:\\s+)*"})).replace(//g,(function(){return"(?!)[a-z\\d_][\\w'.]*"})).replace(//g,(function(){return n.source})),"i"),lookbehind:!0,greedy:!0,inside:null},{pattern:/((?:^|[^\w'])(?:datatype|exception|functor|signature|structure|type)\s+)[a-z_][\w'.]*/i,lookbehind:!0}],function:{pattern:/((?:^|[^\w'])fun\s+)[a-z_][\w'.]*/i,lookbehind:!0},keyword:n,variable:{pattern:/(^|[^\w'])'[\w']*/,lookbehind:!0},number:/~?\b(?:\d+(?:\.\d+)?(?:e~?\d+)?|0x[\da-f]+)\b/i,word:{pattern:/\b0w(?:\d+|x[\da-f]+)\b/i,alias:"constant"},boolean:/\b(?:false|true)\b/i,operator:/\.\.\.|:[>=:]|=>?|->|[<>]=?|[!+\-*/^#|@~]/,punctuation:/[(){}\[\].:,;]/},e.languages.sml["class-name"][0].inside=e.languages.sml,e.languages.smlnj=e.languages.sml}(Prism); Prism.languages.solidity=Prism.languages.extend("clike",{"class-name":{pattern:/(\b(?:contract|enum|interface|library|new|struct|using)\s+)(?!\d)[\w$]+/,lookbehind:!0},keyword:/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/,operator:/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/}),Prism.languages.insertBefore("solidity","keyword",{builtin:/\b(?:address|bool|byte|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|string|bytes(?:[1-9]|[12]\d|3[0-2])?)\b/}),Prism.languages.insertBefore("solidity","number",{version:{pattern:/([<>]=?|\^)\d+\.\d+\.\d+\b/,lookbehind:!0,alias:"number"}}),Prism.languages.sol=Prism.languages.solidity; !function(n){var t={pattern:/\{[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}\}/i,alias:"constant",inside:{punctuation:/[{}]/}};n.languages["solution-file"]={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0,inside:{guid:t}},object:{pattern:/^([ \t]*)(?:([A-Z]\w*)\b(?=.*(?:\r\n?|\n)(?:\1[ \t].*(?:\r\n?|\n))*\1End\2(?=[ \t]*$))|End[A-Z]\w*(?=[ \t]*$))/m,lookbehind:!0,greedy:!0,alias:"keyword"},property:{pattern:/^([ \t]*)(?!\s)[^\r\n"#=()]*[^\s"#=()](?=\s*=)/m,lookbehind:!0,inside:{guid:t}},guid:t,number:/\b\d+(?:\.\d+)*\b/,boolean:/\b(?:FALSE|TRUE)\b/,operator:/=/,punctuation:/[(),]/},n.languages.sln=n.languages["solution-file"]}(Prism); !function(e){var a=/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,t=/\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-F]+\b/;e.languages.soy={comment:[/\/\*[\s\S]*?\*\//,{pattern:/(\s)\/\/.*/,lookbehind:!0,greedy:!0}],"command-arg":{pattern:/(\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+)\.?[\w.]+/,lookbehind:!0,alias:"string",inside:{punctuation:/\./}},parameter:{pattern:/(\{+\/?\s*@?param\??\s+)\.?[\w.]+/,lookbehind:!0,alias:"variable"},keyword:[{pattern:/(\{+\/?[^\S\r\n]*)(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/,lookbehind:!0},/\b(?:any|as|attributes|bool|css|float|html|in|int|js|list|map|null|number|string|uri)\b/],delimiter:{pattern:/^\{+\/?|\/?\}+$/,alias:"punctuation"},property:/\w+(?==)/,variable:{pattern:/\$[^\W\d]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/,inside:{string:{pattern:a,greedy:!0},number:t,punctuation:/[\[\].?]/}},string:{pattern:a,greedy:!0},function:[/\w+(?=\()/,{pattern:/(\|[^\S\r\n]*)\w+/,lookbehind:!0}],boolean:/\b(?:false|true)\b/,number:t,operator:/\?:?|<=?|>=?|==?|!=|[+*/%-]|\b(?:and|not|or)\b/,punctuation:/[{}()\[\]|.,:]/},e.hooks.add("before-tokenize",(function(a){var t=!1;e.languages["markup-templating"].buildPlaceholders(a,"soy",/\{\{.+?\}\}|\{.+?\}|\s\/\/.*|\/\*[\s\S]*?\*\//g,(function(e){return"{/literal}"===e&&(t=!1),!t&&("{literal}"===e&&(t=!0),!0)}))})),e.hooks.add("after-tokenize",(function(a){e.languages["markup-templating"].tokenizePlaceholders(a,"soy")}))}(Prism); Prism.languages.turtle={comment:{pattern:/#.*/,greedy:!0},"multiline-string":{pattern:/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/,greedy:!0,alias:"string",inside:{comment:/#.*/}},string:{pattern:/"(?:[^\\"\r\n]|\\.)*"|'(?:[^\\'\r\n]|\\.)*'/,greedy:!0},url:{pattern:/<(?:[^\x00-\x20<>"{}|^`\\]|\\(?:u[\da-fA-F]{4}|U[\da-fA-F]{8}))*>/,greedy:!0,inside:{punctuation:/[<>]/}},function:{pattern:/(?:(?![-.\d\xB7])[-.\w\xB7\xC0-\uFFFD]+)?:(?:(?![-.])(?:[-.:\w\xC0-\uFFFD]|%[\da-f]{2}|\\.)+)?/i,inside:{"local-name":{pattern:/([^:]*:)[\s\S]+/,lookbehind:!0},prefix:{pattern:/[\s\S]+/,inside:{punctuation:/:/}}}},number:/[+-]?\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,punctuation:/[{}.,;()[\]]|\^\^/,boolean:/\b(?:false|true)\b/,keyword:[/(?:\ba|@prefix|@base)\b|=/,/\b(?:base|graph|prefix)\b/i],tag:{pattern:/@[a-z]+(?:-[a-z\d]+)*/i,inside:{punctuation:/@/}}},Prism.languages.trig=Prism.languages.turtle; Prism.languages.sparql=Prism.languages.extend("turtle",{boolean:/\b(?:false|true)\b/i,variable:{pattern:/[?$]\w+/,greedy:!0}}),Prism.languages.insertBefore("sparql","punctuation",{keyword:[/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i,/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|isBLANK|isIRI|isLITERAL|isNUMERIC|isURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|REGEX|REPLACE|ROUND|sameTerm|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i,/\b(?:BASE|GRAPH|PREFIX)\b/i]}),Prism.languages.rq=Prism.languages.sparql; Prism.languages["splunk-spl"]={comment:/`comment\("(?:\\.|[^\\"])*"\)`/,string:{pattern:/"(?:\\.|[^\\"])*"/,greedy:!0},keyword:/\b(?:abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|anomalydetection|append|appendcols|appendcsv|appendlookup|appendpipe|arules|associate|audit|autoregress|bin|bucket|bucketdir|chart|cluster|cofilter|collect|concurrency|contingency|convert|correlate|datamodel|dbinspect|dedup|delete|delta|diff|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geom|geomfilter|geostats|head|highlight|history|iconify|input|inputcsv|inputlookup|iplocation|join|kmeans|kv|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|mcollect|metadata|metasearch|meventcollect|mstats|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|timewrap|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|union|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\b/i,"operator-word":{pattern:/\b(?:and|as|by|not|or|xor)\b/i,alias:"operator"},function:/\b\w+(?=\s*\()/,property:/\b\w+(?=\s*=(?!=))/,date:{pattern:/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/,alias:"number"},number:/\b\d+(?:\.\d+)?\b/,boolean:/\b(?:f|false|t|true)\b/i,operator:/[<>=]=?|[-+*/%|]/,punctuation:/[()[\],]/}; Prism.languages.sqf=Prism.languages.extend("clike",{string:{pattern:/"(?:(?:"")?[^"])*"(?!")|'(?:[^'])*'/,greedy:!0},keyword:/\b(?:breakOut|breakTo|call|case|catch|default|do|echo|else|execFSM|execVM|exitWith|for|forEach|forEachMember|forEachMemberAgent|forEachMemberTeam|from|goto|if|nil|preprocessFile|preprocessFileLineNumbers|private|scopeName|spawn|step|switch|then|throw|to|try|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\b(?:abs|accTime|acos|action|actionIDs|actionKeys|actionKeysImages|actionKeysNames|actionKeysNamesArray|actionName|actionParams|activateAddons|activatedAddons|activateKey|add3DENConnection|add3DENEventHandler|add3DENLayer|addAction|addBackpack|addBackpackCargo|addBackpackCargoGlobal|addBackpackGlobal|addCamShake|addCuratorAddons|addCuratorCameraArea|addCuratorEditableObjects|addCuratorEditingArea|addCuratorPoints|addEditorObject|addEventHandler|addForce|addForceGeneratorRTD|addGoggles|addGroupIcon|addHandgunItem|addHeadgear|addItem|addItemCargo|addItemCargoGlobal|addItemPool|addItemToBackpack|addItemToUniform|addItemToVest|addLiveStats|addMagazine|addMagazineAmmoCargo|addMagazineCargo|addMagazineCargoGlobal|addMagazineGlobal|addMagazinePool|addMagazines|addMagazineTurret|addMenu|addMenuItem|addMissionEventHandler|addMPEventHandler|addMusicEventHandler|addOwnedMine|addPlayerScores|addPrimaryWeaponItem|addPublicVariableEventHandler|addRating|addResources|addScore|addScoreSide|addSecondaryWeaponItem|addSwitchableUnit|addTeamMember|addToRemainsCollector|addTorque|addUniform|addVehicle|addVest|addWaypoint|addWeapon|addWeaponCargo|addWeaponCargoGlobal|addWeaponGlobal|addWeaponItem|addWeaponPool|addWeaponTurret|admin|agent|agents|AGLToASL|aimedAtTarget|aimPos|airDensityCurveRTD|airDensityRTD|airplaneThrottle|airportSide|AISFinishHeal|alive|all3DENEntities|allAirports|allControls|allCurators|allCutLayers|allDead|allDeadMen|allDisplays|allGroups|allMapMarkers|allMines|allMissionObjects|allow3DMode|allowCrewInImmobile|allowCuratorLogicIgnoreAreas|allowDamage|allowDammage|allowFileOperations|allowFleeing|allowGetIn|allowSprint|allPlayers|allSimpleObjects|allSites|allTurrets|allUnits|allUnitsUAV|allVariables|ammo|ammoOnPylon|animate|animateBay|animateDoor|animatePylon|animateSource|animationNames|animationPhase|animationSourcePhase|animationState|append|apply|armoryPoints|arrayIntersect|asin|ASLToAGL|ASLToATL|assert|assignAsCargo|assignAsCargoIndex|assignAsCommander|assignAsDriver|assignAsGunner|assignAsTurret|assignCurator|assignedCargo|assignedCommander|assignedDriver|assignedGunner|assignedItems|assignedTarget|assignedTeam|assignedVehicle|assignedVehicleRole|assignItem|assignTeam|assignToAirport|atan|atan2|atg|ATLToASL|attachedObject|attachedObjects|attachedTo|attachObject|attachTo|attackEnabled|backpack|backpackCargo|backpackContainer|backpackItems|backpackMagazines|backpackSpaceFor|behaviour|benchmark|binocular|blufor|boundingBox|boundingBoxReal|boundingCenter|briefingName|buildingExit|buildingPos|buldozer_EnableRoadDiag|buldozer_IsEnabledRoadDiag|buldozer_LoadNewRoads|buldozer_reloadOperMap|buttonAction|buttonSetAction|cadetMode|callExtension|camCommand|camCommit|camCommitPrepared|camCommitted|camConstuctionSetParams|camCreate|camDestroy|cameraEffect|cameraEffectEnableHUD|cameraInterest|cameraOn|cameraView|campaignConfigFile|camPreload|camPreloaded|camPrepareBank|camPrepareDir|camPrepareDive|camPrepareFocus|camPrepareFov|camPrepareFovRange|camPreparePos|camPrepareRelPos|camPrepareTarget|camSetBank|camSetDir|camSetDive|camSetFocus|camSetFov|camSetFovRange|camSetPos|camSetRelPos|camSetTarget|camTarget|camUseNVG|canAdd|canAddItemToBackpack|canAddItemToUniform|canAddItemToVest|cancelSimpleTaskDestination|canFire|canMove|canSlingLoad|canStand|canSuspend|canTriggerDynamicSimulation|canUnloadInCombat|canVehicleCargo|captive|captiveNum|cbChecked|cbSetChecked|ceil|channelEnabled|cheatsEnabled|checkAIFeature|checkVisibility|civilian|className|clear3DENAttribute|clear3DENInventory|clearAllItemsFromBackpack|clearBackpackCargo|clearBackpackCargoGlobal|clearForcesRTD|clearGroupIcons|clearItemCargo|clearItemCargoGlobal|clearItemPool|clearMagazineCargo|clearMagazineCargoGlobal|clearMagazinePool|clearOverlay|clearRadio|clearVehicleInit|clearWeaponCargo|clearWeaponCargoGlobal|clearWeaponPool|clientOwner|closeDialog|closeDisplay|closeOverlay|collapseObjectTree|collect3DENHistory|collectiveRTD|combatMode|commandArtilleryFire|commandChat|commander|commandFire|commandFollow|commandFSM|commandGetOut|commandingMenu|commandMove|commandRadio|commandStop|commandSuppressiveFire|commandTarget|commandWatch|comment|commitOverlay|compile|compileFinal|completedFSM|composeText|configClasses|configFile|configHierarchy|configName|configNull|configProperties|configSourceAddonList|configSourceMod|configSourceModList|confirmSensorTarget|connectTerminalToUAV|controlNull|controlsGroupCtrl|copyFromClipboard|copyToClipboard|copyWaypoints|cos|count|countEnemy|countFriendly|countSide|countType|countUnknown|create3DENComposition|create3DENEntity|createAgent|createCenter|createDialog|createDiaryLink|createDiaryRecord|createDiarySubject|createDisplay|createGearDialog|createGroup|createGuardedPoint|createLocation|createMarker|createMarkerLocal|createMenu|createMine|createMissionDisplay|createMPCampaignDisplay|createSimpleObject|createSimpleTask|createSite|createSoundSource|createTask|createTeam|createTrigger|createUnit|createVehicle|createVehicleCrew|createVehicleLocal|crew|ctAddHeader|ctAddRow|ctClear|ctCurSel|ctData|ctFindHeaderRows|ctFindRowHeader|ctHeaderControls|ctHeaderCount|ctRemoveHeaders|ctRemoveRows|ctrlActivate|ctrlAddEventHandler|ctrlAngle|ctrlAutoScrollDelay|ctrlAutoScrollRewind|ctrlAutoScrollSpeed|ctrlChecked|ctrlClassName|ctrlCommit|ctrlCommitted|ctrlCreate|ctrlDelete|ctrlEnable|ctrlEnabled|ctrlFade|ctrlHTMLLoaded|ctrlIDC|ctrlIDD|ctrlMapAnimAdd|ctrlMapAnimClear|ctrlMapAnimCommit|ctrlMapAnimDone|ctrlMapCursor|ctrlMapMouseOver|ctrlMapScale|ctrlMapScreenToWorld|ctrlMapWorldToScreen|ctrlModel|ctrlModelDirAndUp|ctrlModelScale|ctrlParent|ctrlParentControlsGroup|ctrlPosition|ctrlRemoveAllEventHandlers|ctrlRemoveEventHandler|ctrlScale|ctrlSetActiveColor|ctrlSetAngle|ctrlSetAutoScrollDelay|ctrlSetAutoScrollRewind|ctrlSetAutoScrollSpeed|ctrlSetBackgroundColor|ctrlSetChecked|ctrlSetDisabledColor|ctrlSetEventHandler|ctrlSetFade|ctrlSetFocus|ctrlSetFont|ctrlSetFontH1|ctrlSetFontH1B|ctrlSetFontH2|ctrlSetFontH2B|ctrlSetFontH3|ctrlSetFontH3B|ctrlSetFontH4|ctrlSetFontH4B|ctrlSetFontH5|ctrlSetFontH5B|ctrlSetFontH6|ctrlSetFontH6B|ctrlSetFontHeight|ctrlSetFontHeightH1|ctrlSetFontHeightH2|ctrlSetFontHeightH3|ctrlSetFontHeightH4|ctrlSetFontHeightH5|ctrlSetFontHeightH6|ctrlSetFontHeightSecondary|ctrlSetFontP|ctrlSetFontPB|ctrlSetFontSecondary|ctrlSetForegroundColor|ctrlSetModel|ctrlSetModelDirAndUp|ctrlSetModelScale|ctrlSetPixelPrecision|ctrlSetPosition|ctrlSetScale|ctrlSetStructuredText|ctrlSetText|ctrlSetTextColor|ctrlSetTextColorSecondary|ctrlSetTextSecondary|ctrlSetTooltip|ctrlSetTooltipColorBox|ctrlSetTooltipColorShade|ctrlSetTooltipColorText|ctrlShow|ctrlShown|ctrlText|ctrlTextHeight|ctrlTextSecondary|ctrlTextWidth|ctrlType|ctrlVisible|ctRowControls|ctRowCount|ctSetCurSel|ctSetData|ctSetHeaderTemplate|ctSetRowTemplate|ctSetValue|ctValue|curatorAddons|curatorCamera|curatorCameraArea|curatorCameraAreaCeiling|curatorCoef|curatorEditableObjects|curatorEditingArea|curatorEditingAreaType|curatorMouseOver|curatorPoints|curatorRegisteredObjects|curatorSelected|curatorWaypointCost|current3DENOperation|currentChannel|currentCommand|currentMagazine|currentMagazineDetail|currentMagazineDetailTurret|currentMagazineTurret|currentMuzzle|currentNamespace|currentTask|currentTasks|currentThrowable|currentVisionMode|currentWaypoint|currentWeapon|currentWeaponMode|currentWeaponTurret|currentZeroing|cursorObject|cursorTarget|customChat|customRadio|cutFadeOut|cutObj|cutRsc|cutText|damage|date|dateToNumber|daytime|deActivateKey|debriefingText|debugFSM|debugLog|deg|delete3DENEntities|deleteAt|deleteCenter|deleteCollection|deleteEditorObject|deleteGroup|deleteGroupWhenEmpty|deleteIdentity|deleteLocation|deleteMarker|deleteMarkerLocal|deleteRange|deleteResources|deleteSite|deleteStatus|deleteTeam|deleteVehicle|deleteVehicleCrew|deleteWaypoint|detach|detectedMines|diag_activeMissionFSMs|diag_activeScripts|diag_activeSQFScripts|diag_activeSQSScripts|diag_captureFrame|diag_captureFrameToFile|diag_captureSlowFrame|diag_codePerformance|diag_drawMode|diag_dynamicSimulationEnd|diag_enable|diag_enabled|diag_fps|diag_fpsMin|diag_frameNo|diag_lightNewLoad|diag_list|diag_log|diag_logSlowFrame|diag_mergeConfigFile|diag_recordTurretLimits|diag_setLightNew|diag_tickTime|diag_toggle|dialog|diarySubjectExists|didJIP|didJIPOwner|difficulty|difficultyEnabled|difficultyEnabledRTD|difficultyOption|direction|directSay|disableAI|disableCollisionWith|disableConversation|disableDebriefingStats|disableMapIndicators|disableNVGEquipment|disableRemoteSensors|disableSerialization|disableTIEquipment|disableUAVConnectability|disableUserInput|displayAddEventHandler|displayCtrl|displayNull|displayParent|displayRemoveAllEventHandlers|displayRemoveEventHandler|displaySetEventHandler|dissolveTeam|distance|distance2D|distanceSqr|distributionRegion|do3DENAction|doArtilleryFire|doFire|doFollow|doFSM|doGetOut|doMove|doorPhase|doStop|doSuppressiveFire|doTarget|doWatch|drawArrow|drawEllipse|drawIcon|drawIcon3D|drawLine|drawLine3D|drawLink|drawLocation|drawPolygon|drawRectangle|drawTriangle|driver|drop|dynamicSimulationDistance|dynamicSimulationDistanceCoef|dynamicSimulationEnabled|dynamicSimulationSystemEnabled|east|edit3DENMissionAttributes|editObject|editorSetEventHandler|effectiveCommander|emptyPositions|enableAI|enableAIFeature|enableAimPrecision|enableAttack|enableAudioFeature|enableAutoStartUpRTD|enableAutoTrimRTD|enableCamShake|enableCaustics|enableChannel|enableCollisionWith|enableCopilot|enableDebriefingStats|enableDiagLegend|enableDynamicSimulation|enableDynamicSimulationSystem|enableEndDialog|enableEngineArtillery|enableEnvironment|enableFatigue|enableGunLights|enableInfoPanelComponent|enableIRLasers|enableMimics|enablePersonTurret|enableRadio|enableReload|enableRopeAttach|enableSatNormalOnDetail|enableSaving|enableSentences|enableSimulation|enableSimulationGlobal|enableStamina|enableStressDamage|enableTeamSwitch|enableTraffic|enableUAVConnectability|enableUAVWaypoints|enableVehicleCargo|enableVehicleSensor|enableWeaponDisassembly|endl|endLoadingScreen|endMission|engineOn|enginesIsOnRTD|enginesPowerRTD|enginesRpmRTD|enginesTorqueRTD|entities|environmentEnabled|estimatedEndServerTime|estimatedTimeLeft|evalObjectArgument|everyBackpack|everyContainer|exec|execEditorScript|exp|expectedDestination|exportJIPMessages|eyeDirection|eyePos|face|faction|fadeMusic|fadeRadio|fadeSound|fadeSpeech|failMission|fillWeaponsFromPool|find|findCover|findDisplay|findEditorObject|findEmptyPosition|findEmptyPositionReady|findIf|findNearestEnemy|finishMissionInit|finite|fire|fireAtTarget|firstBackpack|flag|flagAnimationPhase|flagOwner|flagSide|flagTexture|fleeing|floor|flyInHeight|flyInHeightASL|fog|fogForecast|fogParams|forceAddUniform|forceAtPositionRTD|forcedMap|forceEnd|forceFlagTexture|forceFollowRoad|forceGeneratorRTD|forceMap|forceRespawn|forceSpeed|forceWalk|forceWeaponFire|forceWeatherChange|forgetTarget|format|formation|formationDirection|formationLeader|formationMembers|formationPosition|formationTask|formatText|formLeader|freeLook|fromEditor|fuel|fullCrew|gearIDCAmmoCount|gearSlotAmmoCount|gearSlotData|get3DENActionState|get3DENAttribute|get3DENCamera|get3DENConnections|get3DENEntity|get3DENEntityID|get3DENGrid|get3DENIconsVisible|get3DENLayerEntities|get3DENLinesVisible|get3DENMissionAttribute|get3DENMouseOver|get3DENSelected|getAimingCoef|getAllEnvSoundControllers|getAllHitPointsDamage|getAllOwnedMines|getAllSoundControllers|getAmmoCargo|getAnimAimPrecision|getAnimSpeedCoef|getArray|getArtilleryAmmo|getArtilleryComputerSettings|getArtilleryETA|getAssignedCuratorLogic|getAssignedCuratorUnit|getBackpackCargo|getBleedingRemaining|getBurningValue|getCameraViewDirection|getCargoIndex|getCenterOfMass|getClientState|getClientStateNumber|getCompatiblePylonMagazines|getConnectedUAV|getContainerMaxLoad|getCursorObjectParams|getCustomAimCoef|getDammage|getDescription|getDir|getDirVisual|getDLCAssetsUsage|getDLCAssetsUsageByName|getDLCs|getDLCUsageTime|getEditorCamera|getEditorMode|getEditorObjectScope|getElevationOffset|getEngineTargetRpmRTD|getEnvSoundController|getFatigue|getFieldManualStartPage|getForcedFlagTexture|getFriend|getFSMVariable|getFuelCargo|getGroupIcon|getGroupIconParams|getGroupIcons|getHideFrom|getHit|getHitIndex|getHitPointDamage|getItemCargo|getMagazineCargo|getMarkerColor|getMarkerPos|getMarkerSize|getMarkerType|getMass|getMissionConfig|getMissionConfigValue|getMissionDLCs|getMissionLayerEntities|getMissionLayers|getModelInfo|getMousePosition|getMusicPlayedTime|getNumber|getObjectArgument|getObjectChildren|getObjectDLC|getObjectMaterials|getObjectProxy|getObjectTextures|getObjectType|getObjectViewDistance|getOxygenRemaining|getPersonUsedDLCs|getPilotCameraDirection|getPilotCameraPosition|getPilotCameraRotation|getPilotCameraTarget|getPlateNumber|getPlayerChannel|getPlayerScores|getPlayerUID|getPlayerUIDOld|getPos|getPosASL|getPosASLVisual|getPosASLW|getPosATL|getPosATLVisual|getPosVisual|getPosWorld|getPylonMagazines|getRelDir|getRelPos|getRemoteSensorsDisabled|getRepairCargo|getResolution|getRotorBrakeRTD|getShadowDistance|getShotParents|getSlingLoad|getSoundController|getSoundControllerResult|getSpeed|getStamina|getStatValue|getSuppression|getTerrainGrid|getTerrainHeightASL|getText|getTotalDLCUsageTime|getTrimOffsetRTD|getUnitLoadout|getUnitTrait|getUserMFDText|getUserMFDValue|getVariable|getVehicleCargo|getWeaponCargo|getWeaponSway|getWingsOrientationRTD|getWingsPositionRTD|getWPPos|glanceAt|globalChat|globalRadio|goggles|group|groupChat|groupFromNetId|groupIconSelectable|groupIconsVisible|groupId|groupOwner|groupRadio|groupSelectedUnits|groupSelectUnit|grpNull|gunner|gusts|halt|handgunItems|handgunMagazine|handgunWeapon|handsHit|hasInterface|hasPilotCamera|hasWeapon|hcAllGroups|hcGroupParams|hcLeader|hcRemoveAllGroups|hcRemoveGroup|hcSelected|hcSelectGroup|hcSetGroup|hcShowBar|hcShownBar|headgear|hideBody|hideObject|hideObjectGlobal|hideSelection|hint|hintC|hintCadet|hintSilent|hmd|hostMission|htmlLoad|HUDMovementLevels|humidity|image|importAllGroups|importance|in|inArea|inAreaArray|incapacitatedState|independent|inflame|inflamed|infoPanel|infoPanelComponentEnabled|infoPanelComponents|infoPanels|inGameUISetEventHandler|inheritsFrom|initAmbientLife|inPolygon|inputAction|inRangeOfArtillery|insertEditorObject|intersect|is3DEN|is3DENMultiplayer|isAbleToBreathe|isAgent|isAimPrecisionEnabled|isArray|isAutoHoverOn|isAutonomous|isAutoStartUpEnabledRTD|isAutotest|isAutoTrimOnRTD|isBleeding|isBurning|isClass|isCollisionLightOn|isCopilotEnabled|isDamageAllowed|isDedicated|isDLCAvailable|isEngineOn|isEqualTo|isEqualType|isEqualTypeAll|isEqualTypeAny|isEqualTypeArray|isEqualTypeParams|isFilePatchingEnabled|isFlashlightOn|isFlatEmpty|isForcedWalk|isFormationLeader|isGroupDeletedWhenEmpty|isHidden|isInRemainsCollector|isInstructorFigureEnabled|isIRLaserOn|isKeyActive|isKindOf|isLaserOn|isLightOn|isLocalized|isManualFire|isMarkedForCollection|isMultiplayer|isMultiplayerSolo|isNil|isNull|isNumber|isObjectHidden|isObjectRTD|isOnRoad|isPipEnabled|isPlayer|isRealTime|isRemoteExecuted|isRemoteExecutedJIP|isServer|isShowing3DIcons|isSimpleObject|isSprintAllowed|isStaminaEnabled|isSteamMission|isStreamFriendlyUIEnabled|isStressDamageEnabled|isText|isTouchingGround|isTurnedOut|isTutHintsEnabled|isUAVConnectable|isUAVConnected|isUIContext|isUniformAllowed|isVehicleCargo|isVehicleRadarOn|isVehicleSensorEnabled|isWalking|isWeaponDeployed|isWeaponRested|itemCargo|items|itemsWithMagazines|join|joinAs|joinAsSilent|joinSilent|joinString|kbAddDatabase|kbAddDatabaseTargets|kbAddTopic|kbHasTopic|kbReact|kbRemoveTopic|kbTell|kbWasSaid|keyImage|keyName|knowsAbout|land|landAt|landResult|language|laserTarget|lbAdd|lbClear|lbColor|lbColorRight|lbCurSel|lbData|lbDelete|lbIsSelected|lbPicture|lbPictureRight|lbSelection|lbSetColor|lbSetColorRight|lbSetCurSel|lbSetData|lbSetPicture|lbSetPictureColor|lbSetPictureColorDisabled|lbSetPictureColorSelected|lbSetPictureRight|lbSetPictureRightColor|lbSetPictureRightColorDisabled|lbSetPictureRightColorSelected|lbSetSelectColor|lbSetSelectColorRight|lbSetSelected|lbSetText|lbSetTextRight|lbSetTooltip|lbSetValue|lbSize|lbSort|lbSortByValue|lbText|lbTextRight|lbValue|leader|leaderboardDeInit|leaderboardGetRows|leaderboardInit|leaderboardRequestRowsFriends|leaderboardRequestRowsGlobal|leaderboardRequestRowsGlobalAroundUser|leaderboardsRequestUploadScore|leaderboardsRequestUploadScoreKeepBest|leaderboardState|leaveVehicle|libraryCredits|libraryDisclaimers|lifeState|lightAttachObject|lightDetachObject|lightIsOn|lightnings|limitSpeed|linearConversion|lineBreak|lineIntersects|lineIntersectsObjs|lineIntersectsSurfaces|lineIntersectsWith|linkItem|list|listObjects|listRemoteTargets|listVehicleSensors|ln|lnbAddArray|lnbAddColumn|lnbAddRow|lnbClear|lnbColor|lnbColorRight|lnbCurSelRow|lnbData|lnbDeleteColumn|lnbDeleteRow|lnbGetColumnsPosition|lnbPicture|lnbPictureRight|lnbSetColor|lnbSetColorRight|lnbSetColumnsPos|lnbSetCurSelRow|lnbSetData|lnbSetPicture|lnbSetPictureColor|lnbSetPictureColorRight|lnbSetPictureColorSelected|lnbSetPictureColorSelectedRight|lnbSetPictureRight|lnbSetText|lnbSetTextRight|lnbSetValue|lnbSize|lnbSort|lnbSortByValue|lnbText|lnbTextRight|lnbValue|load|loadAbs|loadBackpack|loadFile|loadGame|loadIdentity|loadMagazine|loadOverlay|loadStatus|loadUniform|loadVest|local|localize|locationNull|locationPosition|lock|lockCameraTo|lockCargo|lockDriver|locked|lockedCargo|lockedDriver|lockedTurret|lockIdentity|lockTurret|lockWP|log|logEntities|logNetwork|logNetworkTerminate|lookAt|lookAtPos|magazineCargo|magazines|magazinesAllTurrets|magazinesAmmo|magazinesAmmoCargo|magazinesAmmoFull|magazinesDetail|magazinesDetailBackpack|magazinesDetailUniform|magazinesDetailVest|magazinesTurret|magazineTurretAmmo|mapAnimAdd|mapAnimClear|mapAnimCommit|mapAnimDone|mapCenterOnCamera|mapGridPosition|markAsFinishedOnSteam|markerAlpha|markerBrush|markerColor|markerDir|markerPos|markerShape|markerSize|markerText|markerType|max|members|menuAction|menuAdd|menuChecked|menuClear|menuCollapse|menuData|menuDelete|menuEnable|menuEnabled|menuExpand|menuHover|menuPicture|menuSetAction|menuSetCheck|menuSetData|menuSetPicture|menuSetValue|menuShortcut|menuShortcutText|menuSize|menuSort|menuText|menuURL|menuValue|min|mineActive|mineDetectedBy|missionConfigFile|missionDifficulty|missionName|missionNamespace|missionStart|missionVersion|modelToWorld|modelToWorldVisual|modelToWorldVisualWorld|modelToWorldWorld|modParams|moonIntensity|moonPhase|morale|move|move3DENCamera|moveInAny|moveInCargo|moveInCommander|moveInDriver|moveInGunner|moveInTurret|moveObjectToEnd|moveOut|moveTime|moveTo|moveToCompleted|moveToFailed|musicVolume|name|nameSound|nearEntities|nearestBuilding|nearestLocation|nearestLocations|nearestLocationWithDubbing|nearestObject|nearestObjects|nearestTerrainObjects|nearObjects|nearObjectsReady|nearRoads|nearSupplies|nearTargets|needReload|netId|netObjNull|newOverlay|nextMenuItemIndex|nextWeatherChange|nMenuItems|numberOfEnginesRTD|numberToDate|objectCurators|objectFromNetId|objectParent|objNull|objStatus|onBriefingGear|onBriefingGroup|onBriefingNotes|onBriefingPlan|onBriefingTeamSwitch|onCommandModeChanged|onDoubleClick|onEachFrame|onGroupIconClick|onGroupIconOverEnter|onGroupIconOverLeave|onHCGroupSelectionChanged|onMapSingleClick|onPlayerConnected|onPlayerDisconnected|onPreloadFinished|onPreloadStarted|onShowNewObject|onTeamSwitch|openCuratorInterface|openDLCPage|openDSInterface|openMap|openSteamApp|openYoutubeVideo|opfor|orderGetIn|overcast|overcastForecast|owner|param|params|parseNumber|parseSimpleArray|parseText|parsingNamespace|particlesQuality|pi|pickWeaponPool|pitch|pixelGrid|pixelGridBase|pixelGridNoUIScale|pixelH|pixelW|playableSlotsNumber|playableUnits|playAction|playActionNow|player|playerRespawnTime|playerSide|playersNumber|playGesture|playMission|playMove|playMoveNow|playMusic|playScriptedMission|playSound|playSound3D|position|positionCameraToWorld|posScreenToWorld|posWorldToScreen|ppEffectAdjust|ppEffectCommit|ppEffectCommitted|ppEffectCreate|ppEffectDestroy|ppEffectEnable|ppEffectEnabled|ppEffectForceInNVG|precision|preloadCamera|preloadObject|preloadSound|preloadTitleObj|preloadTitleRsc|primaryWeapon|primaryWeaponItems|primaryWeaponMagazine|priority|processDiaryLink|processInitCommands|productVersion|profileName|profileNamespace|profileNameSteam|progressLoadingScreen|progressPosition|progressSetPosition|publicVariable|publicVariableClient|publicVariableServer|pushBack|pushBackUnique|putWeaponPool|queryItemsPool|queryMagazinePool|queryWeaponPool|rad|radioChannelAdd|radioChannelCreate|radioChannelRemove|radioChannelSetCallSign|radioChannelSetLabel|radioVolume|rain|rainbow|random|rank|rankId|rating|rectangular|registeredTasks|registerTask|reload|reloadEnabled|remoteControl|remoteExec|remoteExecCall|remoteExecutedOwner|remove3DENConnection|remove3DENEventHandler|remove3DENLayer|removeAction|removeAll3DENEventHandlers|removeAllActions|removeAllAssignedItems|removeAllContainers|removeAllCuratorAddons|removeAllCuratorCameraAreas|removeAllCuratorEditingAreas|removeAllEventHandlers|removeAllHandgunItems|removeAllItems|removeAllItemsWithMagazines|removeAllMissionEventHandlers|removeAllMPEventHandlers|removeAllMusicEventHandlers|removeAllOwnedMines|removeAllPrimaryWeaponItems|removeAllWeapons|removeBackpack|removeBackpackGlobal|removeCuratorAddons|removeCuratorCameraArea|removeCuratorEditableObjects|removeCuratorEditingArea|removeDrawIcon|removeDrawLinks|removeEventHandler|removeFromRemainsCollector|removeGoggles|removeGroupIcon|removeHandgunItem|removeHeadgear|removeItem|removeItemFromBackpack|removeItemFromUniform|removeItemFromVest|removeItems|removeMagazine|removeMagazineGlobal|removeMagazines|removeMagazinesTurret|removeMagazineTurret|removeMenuItem|removeMissionEventHandler|removeMPEventHandler|removeMusicEventHandler|removeOwnedMine|removePrimaryWeaponItem|removeSecondaryWeaponItem|removeSimpleTask|removeSwitchableUnit|removeTeamMember|removeUniform|removeVest|removeWeapon|removeWeaponAttachmentCargo|removeWeaponCargo|removeWeaponGlobal|removeWeaponTurret|reportRemoteTarget|requiredVersion|resetCamShake|resetSubgroupDirection|resistance|resize|resources|respawnVehicle|restartEditorCamera|reveal|revealMine|reverse|reversedMouseY|roadAt|roadsConnectedTo|roleDescription|ropeAttachedObjects|ropeAttachedTo|ropeAttachEnabled|ropeAttachTo|ropeCreate|ropeCut|ropeDestroy|ropeDetach|ropeEndPosition|ropeLength|ropes|ropeUnwind|ropeUnwound|rotorsForcesRTD|rotorsRpmRTD|round|runInitScript|safeZoneH|safeZoneW|safeZoneWAbs|safeZoneX|safeZoneXAbs|safeZoneY|save3DENInventory|saveGame|saveIdentity|saveJoysticks|saveOverlay|saveProfileNamespace|saveStatus|saveVar|savingEnabled|say|say2D|say3D|score|scoreSide|screenshot|screenToWorld|scriptDone|scriptName|scriptNull|scudState|secondaryWeapon|secondaryWeaponItems|secondaryWeaponMagazine|select|selectBestPlaces|selectDiarySubject|selectedEditorObjects|selectEditorObject|selectionNames|selectionPosition|selectLeader|selectMax|selectMin|selectNoPlayer|selectPlayer|selectRandom|selectRandomWeighted|selectWeapon|selectWeaponTurret|sendAUMessage|sendSimpleCommand|sendTask|sendTaskResult|sendUDPMessage|serverCommand|serverCommandAvailable|serverCommandExecutable|serverName|serverTime|set|set3DENAttribute|set3DENAttributes|set3DENGrid|set3DENIconsVisible|set3DENLayer|set3DENLinesVisible|set3DENLogicType|set3DENMissionAttribute|set3DENMissionAttributes|set3DENModelsVisible|set3DENObjectType|set3DENSelected|setAccTime|setActualCollectiveRTD|setAirplaneThrottle|setAirportSide|setAmmo|setAmmoCargo|setAmmoOnPylon|setAnimSpeedCoef|setAperture|setApertureNew|setArmoryPoints|setAttributes|setAutonomous|setBehaviour|setBleedingRemaining|setBrakesRTD|setCameraInterest|setCamShakeDefParams|setCamShakeParams|setCamUseTI|setCaptive|setCenterOfMass|setCollisionLight|setCombatMode|setCompassOscillation|setConvoySeparation|setCuratorCameraAreaCeiling|setCuratorCoef|setCuratorEditingAreaType|setCuratorWaypointCost|setCurrentChannel|setCurrentTask|setCurrentWaypoint|setCustomAimCoef|setCustomWeightRTD|setDamage|setDammage|setDate|setDebriefingText|setDefaultCamera|setDestination|setDetailMapBlendPars|setDir|setDirection|setDrawIcon|setDriveOnPath|setDropInterval|setDynamicSimulationDistance|setDynamicSimulationDistanceCoef|setEditorMode|setEditorObjectScope|setEffectCondition|setEngineRpmRTD|setFace|setFaceAnimation|setFatigue|setFeatureType|setFlagAnimationPhase|setFlagOwner|setFlagSide|setFlagTexture|setFog|setForceGeneratorRTD|setFormation|setFormationTask|setFormDir|setFriend|setFromEditor|setFSMVariable|setFuel|setFuelCargo|setGroupIcon|setGroupIconParams|setGroupIconsSelectable|setGroupIconsVisible|setGroupId|setGroupIdGlobal|setGroupOwner|setGusts|setHideBehind|setHit|setHitIndex|setHitPointDamage|setHorizonParallaxCoef|setHUDMovementLevels|setIdentity|setImportance|setInfoPanel|setLeader|setLightAmbient|setLightAttenuation|setLightBrightness|setLightColor|setLightDayLight|setLightFlareMaxDistance|setLightFlareSize|setLightIntensity|setLightnings|setLightUseFlare|setLocalWindParams|setMagazineTurretAmmo|setMarkerAlpha|setMarkerAlphaLocal|setMarkerBrush|setMarkerBrushLocal|setMarkerColor|setMarkerColorLocal|setMarkerDir|setMarkerDirLocal|setMarkerPos|setMarkerPosLocal|setMarkerShape|setMarkerShapeLocal|setMarkerSize|setMarkerSizeLocal|setMarkerText|setMarkerTextLocal|setMarkerType|setMarkerTypeLocal|setMass|setMimic|setMousePosition|setMusicEffect|setMusicEventHandler|setName|setNameSound|setObjectArguments|setObjectMaterial|setObjectMaterialGlobal|setObjectProxy|setObjectTexture|setObjectTextureGlobal|setObjectViewDistance|setOvercast|setOwner|setOxygenRemaining|setParticleCircle|setParticleClass|setParticleFire|setParticleParams|setParticleRandom|setPilotCameraDirection|setPilotCameraRotation|setPilotCameraTarget|setPilotLight|setPiPEffect|setPitch|setPlateNumber|setPlayable|setPlayerRespawnTime|setPos|setPosASL|setPosASL2|setPosASLW|setPosATL|setPosition|setPosWorld|setPylonLoadOut|setPylonsPriority|setRadioMsg|setRain|setRainbow|setRandomLip|setRank|setRectangular|setRepairCargo|setRotorBrakeRTD|setShadowDistance|setShotParents|setSide|setSimpleTaskAlwaysVisible|setSimpleTaskCustomData|setSimpleTaskDescription|setSimpleTaskDestination|setSimpleTaskTarget|setSimpleTaskType|setSimulWeatherLayers|setSize|setSkill|setSlingLoad|setSoundEffect|setSpeaker|setSpeech|setSpeedMode|setStamina|setStaminaScheme|setStatValue|setSuppression|setSystemOfUnits|setTargetAge|setTaskMarkerOffset|setTaskResult|setTaskState|setTerrainGrid|setText|setTimeMultiplier|setTitleEffect|setToneMapping|setToneMappingParams|setTrafficDensity|setTrafficDistance|setTrafficGap|setTrafficSpeed|setTriggerActivation|setTriggerArea|setTriggerStatements|setTriggerText|setTriggerTimeout|setTriggerType|setType|setUnconscious|setUnitAbility|setUnitLoadout|setUnitPos|setUnitPosWeak|setUnitRank|setUnitRecoilCoefficient|setUnitTrait|setUnloadInCombat|setUserActionText|setUserMFDText|setUserMFDValue|setVariable|setVectorDir|setVectorDirAndUp|setVectorUp|setVehicleAmmo|setVehicleAmmoDef|setVehicleArmor|setVehicleCargo|setVehicleId|setVehicleInit|setVehicleLock|setVehiclePosition|setVehicleRadar|setVehicleReceiveRemoteTargets|setVehicleReportOwnPosition|setVehicleReportRemoteTargets|setVehicleTIPars|setVehicleVarName|setVelocity|setVelocityModelSpace|setVelocityTransformation|setViewDistance|setVisibleIfTreeCollapsed|setWantedRpmRTD|setWaves|setWaypointBehaviour|setWaypointCombatMode|setWaypointCompletionRadius|setWaypointDescription|setWaypointForceBehaviour|setWaypointFormation|setWaypointHousePosition|setWaypointLoiterRadius|setWaypointLoiterType|setWaypointName|setWaypointPosition|setWaypointScript|setWaypointSpeed|setWaypointStatements|setWaypointTimeout|setWaypointType|setWaypointVisible|setWeaponReloadingTime|setWind|setWindDir|setWindForce|setWindStr|setWingForceScaleRTD|setWPPos|show3DIcons|showChat|showCinemaBorder|showCommandingMenu|showCompass|showCuratorCompass|showGPS|showHUD|showLegend|showMap|shownArtilleryComputer|shownChat|shownCompass|shownCuratorCompass|showNewEditorObject|shownGPS|shownHUD|shownMap|shownPad|shownRadio|shownScoretable|shownUAVFeed|shownWarrant|shownWatch|showPad|showRadio|showScoretable|showSubtitles|showUAVFeed|showWarrant|showWatch|showWaypoint|showWaypoints|side|sideAmbientLife|sideChat|sideEmpty|sideEnemy|sideFriendly|sideLogic|sideRadio|sideUnknown|simpleTasks|simulationEnabled|simulCloudDensity|simulCloudOcclusion|simulInClouds|simulWeatherSync|sin|size|sizeOf|skill|skillFinal|skipTime|sleep|sliderPosition|sliderRange|sliderSetPosition|sliderSetRange|sliderSetSpeed|sliderSpeed|slingLoadAssistantShown|soldierMagazines|someAmmo|sort|soundVolume|speaker|speed|speedMode|splitString|sqrt|squadParams|stance|startLoadingScreen|stop|stopEngineRTD|stopped|str|sunOrMoon|supportInfo|suppressFor|surfaceIsWater|surfaceNormal|surfaceType|swimInDepth|switchableUnits|switchAction|switchCamera|switchGesture|switchLight|switchMove|synchronizedObjects|synchronizedTriggers|synchronizedWaypoints|synchronizeObjectsAdd|synchronizeObjectsRemove|synchronizeTrigger|synchronizeWaypoint|systemChat|systemOfUnits|tan|targetKnowledge|targets|targetsAggregate|targetsQuery|taskAlwaysVisible|taskChildren|taskCompleted|taskCustomData|taskDescription|taskDestination|taskHint|taskMarkerOffset|taskNull|taskParent|taskResult|taskState|taskType|teamMember|teamMemberNull|teamName|teams|teamSwitch|teamSwitchEnabled|teamType|terminate|terrainIntersect|terrainIntersectASL|terrainIntersectAtASL|text|textLog|textLogFormat|tg|time|timeMultiplier|titleCut|titleFadeOut|titleObj|titleRsc|titleText|toArray|toFixed|toLower|toString|toUpper|triggerActivated|triggerActivation|triggerArea|triggerAttachedVehicle|triggerAttachObject|triggerAttachVehicle|triggerDynamicSimulation|triggerStatements|triggerText|triggerTimeout|triggerTimeoutCurrent|triggerType|turretLocal|turretOwner|turretUnit|tvAdd|tvClear|tvCollapse|tvCollapseAll|tvCount|tvCurSel|tvData|tvDelete|tvExpand|tvExpandAll|tvPicture|tvPictureRight|tvSetColor|tvSetCurSel|tvSetData|tvSetPicture|tvSetPictureColor|tvSetPictureColorDisabled|tvSetPictureColorSelected|tvSetPictureRight|tvSetPictureRightColor|tvSetPictureRightColorDisabled|tvSetPictureRightColorSelected|tvSetSelectColor|tvSetText|tvSetTooltip|tvSetValue|tvSort|tvSortByValue|tvText|tvTooltip|tvValue|type|typeName|typeOf|UAVControl|uiNamespace|uiSleep|unassignCurator|unassignItem|unassignTeam|unassignVehicle|underwater|uniform|uniformContainer|uniformItems|uniformMagazines|unitAddons|unitAimPosition|unitAimPositionVisual|unitBackpack|unitIsUAV|unitPos|unitReady|unitRecoilCoefficient|units|unitsBelowHeight|unlinkItem|unlockAchievement|unregisterTask|updateDrawIcon|updateMenuItem|updateObjectTree|useAIOperMapObstructionTest|useAISteeringComponent|useAudioTimeForMoves|userInputDisabled|vectorAdd|vectorCos|vectorCrossProduct|vectorDiff|vectorDir|vectorDirVisual|vectorDistance|vectorDistanceSqr|vectorDotProduct|vectorFromTo|vectorMagnitude|vectorMagnitudeSqr|vectorModelToWorld|vectorModelToWorldVisual|vectorMultiply|vectorNormalized|vectorUp|vectorUpVisual|vectorWorldToModel|vectorWorldToModelVisual|vehicle|vehicleCargoEnabled|vehicleChat|vehicleRadio|vehicleReceiveRemoteTargets|vehicleReportOwnPosition|vehicleReportRemoteTargets|vehicles|vehicleVarName|velocity|velocityModelSpace|verifySignature|vest|vestContainer|vestItems|vestMagazines|viewDistance|visibleCompass|visibleGPS|visibleMap|visiblePosition|visiblePositionASL|visibleScoretable|visibleWatch|waitUntil|waves|waypointAttachedObject|waypointAttachedVehicle|waypointAttachObject|waypointAttachVehicle|waypointBehaviour|waypointCombatMode|waypointCompletionRadius|waypointDescription|waypointForceBehaviour|waypointFormation|waypointHousePosition|waypointLoiterRadius|waypointLoiterType|waypointName|waypointPosition|waypoints|waypointScript|waypointsEnabledUAV|waypointShow|waypointSpeed|waypointStatements|waypointTimeout|waypointTimeoutCurrent|waypointType|waypointVisible|weaponAccessories|weaponAccessoriesCargo|weaponCargo|weaponDirection|weaponInertia|weaponLowered|weapons|weaponsItems|weaponsItemsCargo|weaponState|weaponsTurret|weightRTD|west|WFSideText|wind|windDir|windRTD|windStr|wingsForcesRTD|worldName|worldSize|worldToModel|worldToModelVisual|worldToScreen)\b/i,number:/(?:\$|\b0x)[\da-f]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:e[+-]?\d+)?\b/i,operator:/##|>>|&&|\|\||[!=<>]=?|[-+*/%#^]|\b(?:and|mod|not|or)\b/i,"magic-variable":{pattern:/\b(?:this|thisList|thisTrigger|_exception|_fnc_scriptName|_fnc_scriptNameParent|_forEachIndex|_this|_thisEventHandler|_thisFSM|_thisScript|_x)\b/i,alias:"keyword"},constant:/\bDIK(?:_[a-z\d]+)+\b/i}),Prism.languages.insertBefore("sqf","string",{macro:{pattern:/(^[ \t]*)#[a-z](?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{directive:{pattern:/#[a-z]+\b/i,alias:"keyword"},comment:Prism.languages.sqf.comment}}}),delete Prism.languages.sqf["class-name"]; Prism.languages.squirrel=Prism.languages.extend("clike",{comment:[Prism.languages.clike.comment[0],{pattern:/(^|[^\\:])(?:\/\/|#).*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^\\"'@])(?:@"(?:[^"]|"")*"(?!")|"(?:[^\\\r\n"]|\\.)*")/,lookbehind:!0,greedy:!0},"class-name":{pattern:/(\b(?:class|enum|extends|instanceof)\s+)\w+(?:\.\w+)*/,lookbehind:!0,inside:{punctuation:/\./}},keyword:/\b(?:__FILE__|__LINE__|base|break|case|catch|class|clone|const|constructor|continue|default|delete|else|enum|extends|for|foreach|function|if|in|instanceof|local|null|resume|return|static|switch|this|throw|try|typeof|while|yield)\b/,number:/\b(?:0x[0-9a-fA-F]+|\d+(?:\.(?:\d+|[eE][+-]?\d+))?)\b/,operator:/\+\+|--|<=>|<[-<]|>>>?|&&?|\|\|?|[-+*/%!=<>]=?|[~^]|::?/,punctuation:/[(){}\[\],;.]/}),Prism.languages.insertBefore("squirrel","string",{char:{pattern:/(^|[^\\"'])'(?:[^\\']|\\(?:[xuU][0-9a-fA-F]{0,8}|[\s\S]))'/,lookbehind:!0,greedy:!0}}),Prism.languages.insertBefore("squirrel","operator",{"attribute-punctuation":{pattern:/<\/|\/>/,alias:"important"},lambda:{pattern:/@(?=\()/,alias:"operator"}}); !function(e){var r=/\b(?:algebra_solver|algebra_solver_newton|integrate_1d|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|map_rect|ode_(?:adams|bdf|ckrk|rk45)(?:_tol)?|ode_adjoint_tol_ctl|reduce_sum|reduce_sum_static)\b/;e.languages.stan={comment:/\/\/.*|\/\*[\s\S]*?\*\/|#(?!include).*/,string:{pattern:/"[\x20\x21\x23-\x5B\x5D-\x7E]*"/,greedy:!0},directive:{pattern:/^([ \t]*)#include\b.*/m,lookbehind:!0,alias:"property"},"function-arg":{pattern:RegExp("("+r.source+"\\s*\\(\\s*)[a-zA-Z]\\w*"),lookbehind:!0,alias:"function"},constraint:{pattern:/(\b(?:int|matrix|real|row_vector|vector)\s*)<[^<>]*>/,lookbehind:!0,inside:{expression:{pattern:/(=\s*)\S(?:\S|\s+(?!\s))*?(?=\s*(?:>$|,\s*\w+\s*=))/,lookbehind:!0,inside:null},property:/\b[a-z]\w*(?=\s*=)/i,operator:/=/,punctuation:/^<|>$|,/}},keyword:[{pattern:/\bdata(?=\s*\{)|\b(?:functions|generated|model|parameters|quantities|transformed)\b/,alias:"program-block"},/\b(?:array|break|cholesky_factor_corr|cholesky_factor_cov|complex|continue|corr_matrix|cov_matrix|data|else|for|if|in|increment_log_prob|int|matrix|ordered|positive_ordered|print|real|reject|return|row_vector|simplex|target|unit_vector|vector|void|while)\b/,r],function:/\b[a-z]\w*(?=\s*\()/i,number:/(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:E[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,boolean:/\b(?:false|true)\b/,operator:/<-|\.[*/]=?|\|\|?|&&|[!=<>+\-*/]=?|['^%~?:]/,punctuation:/[()\[\]{},;]/},e.languages.stan.constraint.inside.expression.inside=e.languages.stan}(Prism); Prism.languages.stata={comment:[{pattern:/(^[ \t]*)\*.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|\s)\/\/.*|\/\*[\s\S]*?\*\//,lookbehind:!0,greedy:!0}],"string-literal":{pattern:/"[^"\r\n]*"|[‘`']".*?"[’`']/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^{}]*\}|[‘`']\w[^’`'\r\n]*[’`']/,inside:{punctuation:/^\$\{|\}$/,expression:{pattern:/[\s\S]+/,inside:null}}},string:/[\s\S]+/}},mata:{pattern:/(^[ \t]*mata[ \t]*:)[\s\S]+?(?=^end\b)/m,lookbehind:!0,greedy:!0,alias:"language-mata",inside:Prism.languages.mata},java:{pattern:/(^[ \t]*java[ \t]*:)[\s\S]+?(?=^end\b)/m,lookbehind:!0,greedy:!0,alias:"language-java",inside:Prism.languages.java},python:{pattern:/(^[ \t]*python[ \t]*:)[\s\S]+?(?=^end\b)/m,lookbehind:!0,greedy:!0,alias:"language-python",inside:Prism.languages.python},command:{pattern:/(^[ \t]*(?:\.[ \t]+)?(?:(?:bayes|bootstrap|by|bysort|capture|collect|fmm|fp|frame|jackknife|mfp|mi|nestreg|noisily|permute|quietly|rolling|simulate|statsby|stepwise|svy|version|xi)\b[^:\r\n]*:[ \t]*|(?:capture|noisily|quietly|version)[ \t]+)?)[a-zA-Z]\w*/m,lookbehind:!0,greedy:!0,alias:"keyword"},variable:/\$\w+|[‘`']\w[^’`'\r\n]*[’`']/,keyword:/\b(?:bayes|bootstrap|by|bysort|capture|clear|collect|fmm|fp|frame|if|in|jackknife|mi[ \t]+estimate|mfp|nestreg|noisily|of|permute|quietly|rolling|simulate|sort|statsby|stepwise|svy|varlist|version|xi)\b/,boolean:/\b(?:off|on)\b/,number:/\b\d+(?:\.\d+)?\b|\B\.\d+/,function:/\b[a-z_]\w*(?=\()/i,operator:/\+\+|--|##?|[<>!=~]=?|[+\-*^&|/]/,punctuation:/[(){}[\],:]/},Prism.languages.stata["string-literal"].inside.interpolation.inside.expression.inside=Prism.languages.stata; Prism.languages.iecst={comment:[{pattern:/(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\(\*[\s\S]*?(?:\*\)|$)|\{[\s\S]*?(?:\}|$))/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:[/\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:ACCESS|CONFIG|EXTERNAL|GLOBAL|INPUT|IN_OUT|OUTPUT|TEMP)|VAR|METHOD|PROPERTY)\b/i,/\b(?:AT|BY|(?:END_)?(?:CASE|FOR|IF|REPEAT|WHILE)|CONSTANT|CONTINUE|DO|ELSE|ELSIF|EXIT|EXTENDS|FROM|GET|GOTO|IMPLEMENTS|JMP|NON_RETAIN|OF|PRIVATE|PROTECTED|PUBLIC|RETAIN|RETURN|SET|TASK|THEN|TO|UNTIL|USING|WITH|__CATCH|__ENDTRY|__FINALLY|__TRY)\b/],"class-name":/\b(?:ANY|ARRAY|BOOL|BYTE|U?(?:D|L|S)?INT|(?:D|L)?WORD|DATE(?:_AND_TIME)?|DT|L?REAL|POINTER|STRING|TIME(?:_OF_DAY)?|TOD)\b/,address:{pattern:/%[IQM][XBWDL][\d.]*|%[IQ][\d.]*/,alias:"symbol"},number:/\b(?:16#[\da-f]+|2#[01_]+|0x[\da-f]+)\b|\b(?:D|DT|T|TOD)#[\d_shmd:]*|\b[A-Z]*#[\d.,_]*|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/,operator:/S?R?:?=>?|&&?|\*\*?|<[=>]?|>=?|[-:^/+#]|\b(?:AND|EQ|EXPT|GE|GT|LE|LT|MOD|NE|NOT|OR|XOR)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,punctuation:/[()[\].,;]/}; !function(e){var n={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},r={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},t={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:n,number:r,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:n,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:r,punctuation:/[{}()\[\];:,]/};t.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:t}},t.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:t}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:t}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:t}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:t}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:t.interpolation}},rest:t}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:t.interpolation,comment:t.comment,punctuation:/[{},]/}},func:t.func,string:t.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:t.interpolation,punctuation:/[{}()\[\];:.]/}}(Prism); Prism.languages.supercollider={comment:{pattern:/\/\/.*|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\//,greedy:!0},string:{pattern:/(^|[^\\])"(?:[^"\\]|\\[\s\S])*"/,lookbehind:!0,greedy:!0},char:{pattern:/\$(?:[^\\\r\n]|\\.)/,greedy:!0},symbol:{pattern:/(^|[^\\])'(?:[^'\\]|\\[\s\S])*'|\\\w+/,lookbehind:!0,greedy:!0},keyword:/\b(?:_|arg|classvar|const|nil|var|while)\b/,boolean:/\b(?:false|true)\b/,label:{pattern:/\b[a-z_]\w*(?=\s*:)/,alias:"property"},number:/\b(?:inf|pi|0x[0-9a-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(?:pi)?|\d+r[0-9a-zA-Z]+(?:\.[0-9a-zA-Z]+)?|\d+[sb]{1,4}\d*)\b/,"class-name":/\b[A-Z]\w*\b/,operator:/\.{2,3}|#(?![[{])|&&|[!=]==?|\+>>|\+{1,3}|-[->]|=>|>>|\?\?|@\|?@|\|(?:@|[!=]=)?\||!\?|<[!=>]|\*{1,2}|<{2,3}\*?|[-!%&/<>?@|=`]/,punctuation:/[{}()[\].:,;]|#[[{]/},Prism.languages.sclang=Prism.languages.supercollider; Prism.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp('(^|[^"#])(?:"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\r\n|[^(])|[^\\\\\r\n"])*"|"""(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\"]|"(?!""))*""")(?!["#])'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp('(^|[^"#])(#+)(?:"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\r\n|[^#])|[^\\\\\r\n])*?"|"""(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?""")\\2'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp("#(?:(?:elseif|if)\\b(?:[ \t]*(?:![ \t]*)?(?:\\b\\w+\\b(?:[ \t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \t]*(?:&&|\\|\\|))?)+|(?:else|endif)\\b)"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},Prism.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=Prism.languages.swift})); !function(e){var t={pattern:/^[;#].*/m,greedy:!0},n='"(?:[^\r\n"\\\\]|\\\\(?:[^\r]|\r\n?))*"(?!\\S)';e.languages.systemd={comment:t,section:{pattern:/^\[[^\n\r\[\]]*\](?=[ \t]*$)/m,greedy:!0,inside:{punctuation:/^\[|\]$/,"section-name":{pattern:/[\s\S]+/,alias:"selector"}}},key:{pattern:/^[^\s=]+(?=[ \t]*=)/m,greedy:!0,alias:"attr-name"},value:{pattern:RegExp("(=[ \t]*(?!\\s))(?:"+n+'|(?=[^"\r\n]))(?:[^\\s\\\\]|[ \t]+(?:(?![ \t"])|'+n+")|\\\\[\r\n]+(?:[#;].*[\r\n]+)*(?![#;]))*"),lookbehind:!0,greedy:!0,alias:"attr-value",inside:{comment:t,quoted:{pattern:RegExp("(^|\\s)"+n),lookbehind:!0,greedy:!0},punctuation:/\\$/m,boolean:{pattern:/^(?:false|no|off|on|true|yes)$/,greedy:!0}}},punctuation:/=/}}(Prism); !function(e){function t(e,t,a){return{pattern:RegExp("<#"+e+"[\\s\\S]*?#>"),alias:"block",inside:{delimiter:{pattern:RegExp("^<#"+e+"|#>$"),alias:"important"},content:{pattern:/[\s\S]+/,inside:t,alias:a}}}}e.languages["t4-templating"]=Object.defineProperty({},"createT4",{value:function(a){var n=e.languages[a],i="language-"+a;return{block:{pattern:/<#[\s\S]+?#>/,inside:{directive:t("@",{"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/,inside:{punctuation:/^=|^["']|["']$/}},keyword:/\b\w+(?=\s)/,"attr-name":/\b\w+/}),expression:t("=",n,i),"class-feature":t("\\+",n,i),standard:t("",n,i)}}}}})}(Prism); Prism.languages.t4=Prism.languages["t4-cs"]=Prism.languages["t4-templating"].createT4("csharp"); Prism.languages.vbnet=Prism.languages.extend("basic",{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/,lookbehind:!0,greedy:!0},keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,punctuation:/[,;:(){}]/}); Prism.languages["t4-vb"]=Prism.languages["t4-templating"].createT4("vbnet"); !function(e){var n=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,t="(?:"+r.source+"(?:[ \t]+"+n.source+")?|"+n.source+"(?:[ \t]+"+r.source+")?)",a="(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*".replace(//g,(function(){return"[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]"})),d="\"(?:[^\"\\\\\r\n]|\\\\.)*\"|'(?:[^'\\\\\r\n]|\\\\.)*'";function o(e,n){n=(n||"").replace(/m/g,"")+"m";var r="([:\\-,[{]\\s*(?:\\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\\]|\\}|(?:[\r\n]\\s*)?#))".replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return e}));return RegExp(r,n)}e.languages.yaml={scalar:{pattern:RegExp("([\\-:]\\s*(?:\\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\\S[^\r\n]*(?:\\2[^\r\n]+)*)".replace(/<>/g,(function(){return t}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp("((?:^|[:\\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\\s*:\\s)".replace(/<>/g,(function(){return t})).replace(/<>/g,(function(){return"(?:"+a+"|"+d+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o("\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?"),lookbehind:!0,alias:"number"},boolean:{pattern:o("false|true","i"),lookbehind:!0,alias:"important"},null:{pattern:o("null|~","i"),lookbehind:!0,alias:"important"},string:{pattern:o(d),lookbehind:!0,greedy:!0},number:{pattern:o("[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)","i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism); Prism.languages.tap={fail:/not ok[^#{\n\r]*/,pass:/ok[^#{\n\r]*/,pragma:/pragma [+-][a-z]+/,bailout:/bail out!.*/i,version:/TAP version \d+/i,plan:/\b\d+\.\.\d+(?: +#.*)?/,subtest:{pattern:/# Subtest(?:: .*)?/,greedy:!0},punctuation:/[{}]/,directive:/#.*/,yamlish:{pattern:/(^[ \t]*)---[\s\S]*?[\r\n][ \t]*\.\.\.$/m,lookbehind:!0,inside:Prism.languages.yaml,alias:"language-yaml"}}; Prism.languages.tcl={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:{pattern:/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"/,greedy:!0},variable:[{pattern:/(\$)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/,lookbehind:!0},{pattern:/(\$)\{[^}]+\}/,lookbehind:!0},{pattern:/(^[\t ]*set[ \t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/m,lookbehind:!0}],function:{pattern:/(^[\t ]*proc[ \t]+)\S+/m,lookbehind:!0},builtin:[{pattern:/(^[\t ]*)(?:break|class|continue|error|eval|exit|for|foreach|if|proc|return|switch|while)\b/m,lookbehind:!0},/\b(?:else|elseif)\b/],scope:{pattern:/(^[\t ]*)(?:global|upvar|variable)\b/m,lookbehind:!0,alias:"constant"},keyword:{pattern:/(^[\t ]*|\[)(?:Safe_Base|Tcl|after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|scan|seek|set|socket|source|split|string|subst|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|test|vars|wordBreak(?:After|Before))|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m,lookbehind:!0},operator:/!=?|\*\*?|==|&&?|\|\|?|<[=<]?|>[=>]?|[-+~\/%?^]|\b(?:eq|in|ne|ni)\b/,punctuation:/[{}()\[\]]/}; !function(e){e.languages.tt2=e.languages.extend("clike",{comment:/#.*|\[%#[\s\S]*?%\]/,keyword:/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|SWITCH|TAGS|THROW|TRY|UNLESS|USE|WHILE|WRAPPER)\b/,punctuation:/[[\]{},()]/}),e.languages.insertBefore("tt2","number",{operator:/=[>=]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|not|or)\b/,variable:{pattern:/\b[a-z]\w*(?:\s*\.\s*(?:\d+|\$?[a-z]\w*))*\b/i}}),e.languages.insertBefore("tt2","keyword",{delimiter:{pattern:/^(?:\[%|%%)-?|-?%\]$/,alias:"punctuation"}}),e.languages.insertBefore("tt2","string",{"single-quoted-string":{pattern:/'[^\\']*(?:\\[\s\S][^\\']*)*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"[^\\"]*(?:\\[\s\S][^\\"]*)*"/,greedy:!0,alias:"string",inside:{variable:{pattern:/\$(?:[a-z]\w*(?:\.(?:\d+|\$?[a-z]\w*))*)/i}}}}),delete e.languages.tt2.string,e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"tt2",/\[%[\s\S]+?%\]/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"tt2")}))}(Prism); !function(n){function e(n,e){return RegExp(n.replace(//g,(function(){return"(?:\\([^|()\n]+\\)|\\[[^\\]\n]+\\]|\\{[^}\n]+\\})"})).replace(//g,(function(){return"(?:\\)|\\((?![^|()\n]+\\)))"})),e||"")}var i={css:{pattern:/\{[^{}]+\}/,inside:{rest:n.languages.css}},"class-id":{pattern:/(\()[^()]+(?=\))/,lookbehind:!0,alias:"attr-value"},lang:{pattern:/(\[)[^\[\]]+(?=\])/,lookbehind:!0,alias:"attr-value"},punctuation:/[\\\/]\d+|\S/},t=n.languages.textile=n.languages.extend("markup",{phrase:{pattern:/(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/,lookbehind:!0,inside:{"block-tag":{pattern:e("^[a-z]\\w*(?:||[<>=])*\\."),inside:{modifier:{pattern:e("(^[a-z]\\w*)(?:||[<>=])+(?=\\.)"),lookbehind:!0,inside:i},tag:/^[a-z]\w*/,punctuation:/\.$/}},list:{pattern:e("^[*#]+*\\s+\\S.*","m"),inside:{modifier:{pattern:e("(^[*#]+)+"),lookbehind:!0,inside:i},punctuation:/^[*#]+/}},table:{pattern:e("^(?:(?:||[<>=^~])+\\.\\s*)?(?:\\|(?:(?:||[<>=^~_]|[\\\\/]\\d+)+\\.|(?!(?:||[<>=^~_]|[\\\\/]\\d+)+\\.))[^|]*)+\\|","m"),inside:{modifier:{pattern:e("(^|\\|(?:\r?\n|\r)?)(?:||[<>=^~_]|[\\\\/]\\d+)+(?=\\.)"),lookbehind:!0,inside:i},punctuation:/\||^\./}},inline:{pattern:e("(^|[^a-zA-Z\\d])(\\*\\*|__|\\?\\?|[*_%@+\\-^~])*.+?\\2(?![a-zA-Z\\d])"),lookbehind:!0,inside:{bold:{pattern:e("(^(\\*\\*?)*).+?(?=\\2)"),lookbehind:!0},italic:{pattern:e("(^(__?)*).+?(?=\\2)"),lookbehind:!0},cite:{pattern:e("(^\\?\\?*).+?(?=\\?\\?)"),lookbehind:!0,alias:"string"},code:{pattern:e("(^@*).+?(?=@)"),lookbehind:!0,alias:"keyword"},inserted:{pattern:e("(^\\+*).+?(?=\\+)"),lookbehind:!0},deleted:{pattern:e("(^-*).+?(?=-)"),lookbehind:!0},span:{pattern:e("(^%*).+?(?=%)"),lookbehind:!0},modifier:{pattern:e("(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])+"),lookbehind:!0,inside:i},punctuation:/[*_%?@+\-^~]+/}},"link-ref":{pattern:/^\[[^\]]+\]\S+$/m,inside:{string:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0},url:{pattern:/(^\])\S+$/,lookbehind:!0},punctuation:/[\[\]]/}},link:{pattern:e('"*[^"]+":.+?(?=[^\\w/]?(?:\\s|$))'),inside:{text:{pattern:e('(^"*)[^"]+(?=")'),lookbehind:!0},modifier:{pattern:e('(^")+'),lookbehind:!0,inside:i},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[":]/}},image:{pattern:e("!(?:||[<>=])*(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?"),inside:{source:{pattern:e("(^!(?:||[<>=])*)(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?(?=!)"),lookbehind:!0,alias:"url"},modifier:{pattern:e("(^!)(?:||[<>=])+"),lookbehind:!0,inside:i},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[!:]/}},footnote:{pattern:/\b\[\d+\]/,alias:"comment",inside:{punctuation:/\[|\]/}},acronym:{pattern:/\b[A-Z\d]+\([^)]+\)/,inside:{comment:{pattern:/(\()[^()]+(?=\))/,lookbehind:!0},punctuation:/[()]/}},mark:{pattern:/\b\((?:C|R|TM)\)/,alias:"comment",inside:{punctuation:/[()]/}}}}}),a=t.phrase.inside,o={inline:a.inline,link:a.link,image:a.image,footnote:a.footnote,acronym:a.acronym,mark:a.mark};t.tag.pattern=/<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i;var r=a.inline.inside;r.bold.inside=o,r.italic.inside=o,r.inserted.inside=o,r.deleted.inside=o,r.span.inside=o;var d=a.table.inside;d.inline=o.inline,d.link=o.link,d.image=o.image,d.footnote=o.footnote,d.acronym=o.acronym,d.mark=o.mark}(Prism); !function(e){function n(e){return e.replace(/__/g,(function(){return"(?:[\\w-]+|'[^'\n\r]*'|\"(?:\\\\.|[^\\\\\"\r\n])*\")"}))}e.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(n("(^[\t ]*\\[\\s*(?:\\[\\s*)?)__(?:\\s*\\.\\s*__)*(?=\\s*\\])"),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(n("(^[\t ]*|[{,]\\s*)__(?:\\s*\\.\\s*__)*(?=\\s*=)"),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,boolean:/\b(?:false|true)\b/,punctuation:/[.,=[\]{}]/}}(Prism); !function(e){e.languages.tremor={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},"interpolated-string":null,extractor:{pattern:/\b[a-z_]\w*\|(?:[^\r\n\\|]|\\(?:\r\n|[\s\S]))*\|/i,greedy:!0,inside:{regex:{pattern:/(^re)\|[\s\S]+/,lookbehind:!0},function:/^\w+/,value:/\|[\s\S]+/}},identifier:{pattern:/`[^`]*`/,greedy:!0},function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())\b/,keyword:/\b(?:args|as|by|case|config|connect|connector|const|copy|create|default|define|deploy|drop|each|emit|end|erase|event|flow|fn|for|from|group|having|insert|into|intrinsic|let|links|match|merge|mod|move|of|operator|patch|pipeline|recur|script|select|set|sliding|state|stream|to|tumbling|update|use|when|where|window|with)\b/,boolean:/\b(?:false|null|true)\b/i,number:/\b(?:0b[01_]*|0x[0-9a-fA-F_]*|\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee][+-]?[\d_]+)?)\b/,"pattern-punctuation":{pattern:/%(?=[({[])/,alias:"punctuation"},operator:/[-+*\/%~!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?>?=?|(?:absent|and|not|or|present|xor)\b/,punctuation:/::|[;\[\]()\{\},.:]/};var n='#\\{(?:[^"{}]|\\{[^{}]*\\}|"(?:[^"\\\\\r\n]|\\\\(?:\r\n|[^]))*")*\\}';e.languages.tremor["interpolated-string"]={pattern:RegExp('(^|[^\\\\])(?:"""(?:[^"\\\\#]|\\\\[^]|"(?!"")|#(?!\\{)|'+n+')*"""|"(?:[^"\\\\\r\n#]|\\\\(?:\r\n|[^])|#(?!\\{)|'+n+')*")'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:RegExp(n),inside:{punctuation:/^#\{|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.tremor}}},string:/[\s\S]+/}},e.languages.troy=e.languages.tremor,e.languages.trickle=e.languages.tremor}(Prism); Prism.languages.twig={comment:/^\{#[\s\S]*?#\}$/,"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/},Prism.hooks.add("before-tokenize",(function(e){"twig"===e.language&&Prism.languages["markup-templating"].buildPlaceholders(e,"twig",/\{(?:#[\s\S]*?#|%[\s\S]*?%|\{[\s\S]*?\})\}/g)})),Prism.hooks.add("after-tokenize",(function(e){Prism.languages["markup-templating"].tokenizePlaceholders(e,"twig")})); !function(E){var n=/\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/;E.languages.typoscript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^"'])#.*/,lookbehind:!0,greedy:!0}],function:[{pattern://,inside:{string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,inside:{keyword:n}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,inside:{string:/"[^"\r\n]*"|'[^'\r\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!\]\n).)*/,lookbehind:!0,inside:{function:/\{\$.*\}/,keyword:n,number:/^\d+$/,punctuation:/[,|:]/}},keyword:n,number:{pattern:/\b\d+\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\.?[-\w\\]+\.?/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},E.languages.tsconfig=E.languages.typoscript}(Prism); Prism.languages.unrealscript={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},category:{pattern:/(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,lookbehind:!0,greedy:!0,alias:"property"},metadata:{pattern:/(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,lookbehind:!0,greedy:!0,inside:{property:/\b\w+(?=\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\w+/,alias:"property"},"class-name":{pattern:/(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,lookbehind:!0},keyword:/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/>>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:ClockwiseFrom|Cross|Dot)\b/,punctuation:/[()[\]{};,.]/},Prism.languages.uc=Prism.languages.uscript=Prism.languages.unrealscript; Prism.languages.uorazor={"comment-hash":{pattern:/#.*/,alias:"comment",greedy:!0},"comment-slash":{pattern:/\/\/.*/,alias:"comment",greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/},greedy:!0},"source-layers":{pattern:/\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\b/i,alias:"function"},"source-commands":{pattern:/\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\b/,alias:"function"},"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},function:/\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\b/,keyword:/\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/}; Prism.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:!0,inside:{"scheme-delimiter":/:$/}},fragment:{pattern:/#[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"fragment-delimiter":/^#/}},query:{pattern:/\?[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"query-delimiter":{pattern:/^\?/,greedy:!0},"pair-delimiter":/[&;]/,pair:{pattern:/^[^=][\s\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\s\S]+/,lookbehind:!0}}}}},authority:{pattern:RegExp("^//(?:[\\w\\-.~!$&'()*+,;=%:]*@)?(?:\\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\\.[\\w\\-.~!$&'()*+,;=]+)\\]|[\\w\\-.~!$&'()*+,;=%]*)(?::\\d*)?","m"),inside:{"authority-delimiter":/^\/\//,"user-info-segment":{pattern:/^[\w\-.~!$&'()*+,;=%:]*@/,inside:{"user-info-delimiter":/@$/,"user-info":/^[\w\-.~!$&'()*+,;=%:]+/}},"port-segment":{pattern:/:\d*$/,inside:{"port-delimiter":/^:/,port:/^\d+/}},host:{pattern:/[\s\S]+/,inside:{"ip-literal":{pattern:/^\[[\s\S]+\]$/,inside:{"ip-literal-delimiter":/^\[|\]$/,"ipv-future":/^v[\s\S]+/,"ipv6-address":/^[\s\S]+/}},"ipv4-address":/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/}}}},path:{pattern:/^[\w\-.~!$&'()*+,;=%:@/]+/m,inside:{"path-separator":/\//}}},Prism.languages.url=Prism.languages.uri; !function(e){var n={pattern:/[\s\S]+/,inside:null};e.languages.v=e.languages.extend("clike",{string:{pattern:/r?(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,alias:"quoted-string",greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[^{}]*\}|\w+(?:\.\w+(?:\([^\(\)]*\))?|\[[^\[\]]+\])*)/,lookbehind:!0,inside:{"interpolation-variable":{pattern:/^\$\w[\s\S]*$/,alias:"variable"},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},"interpolation-expression":n}}}},"class-name":{pattern:/(\b(?:enum|interface|struct|type)\s+)(?:C\.)?\w+/,lookbehind:!0},keyword:/(?:\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\$(?:else|for|if)|#(?:flag|include))\b/,number:/\b(?:0x[a-f\d]+(?:_[a-f\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?)\b/i,operator:/~|\?|[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\.?/,builtin:/\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\b/}),n.inside=e.languages.v,e.languages.insertBefore("v","string",{char:{pattern:/`(?:\\`|\\?[^`]{1,2})`/,alias:"rune"}}),e.languages.insertBefore("v","operator",{attribute:{pattern:/(^[\t ]*)\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\]/m,lookbehind:!0,alias:"annotation",inside:{punctuation:/[\[\]]/,keyword:/\w+/}},generic:{pattern:/<\w+>(?=\s*[\)\{])/,inside:{punctuation:/[<>]/,"class-name":/\w+/}}}),e.languages.insertBefore("v","function",{"generic-function":{pattern:/\b\w+\s*<\w+>(?=\()/,inside:{function:/^\w+/,generic:{pattern:/<\w+>/,inside:e.languages.v.generic.inside}}}})}(Prism); Prism.languages.vala=Prism.languages.extend("clike",{"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],keyword:/\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\b/i,function:/\b\w+(?=\s*\()/,number:/(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,operator:/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,punctuation:/[{}[\];(),.:]/,constant:/\b[A-Z0-9_]+\b/}),Prism.languages.insertBefore("vala","string",{"raw-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"template-string":{pattern:/@"[\s\S]*?"/,greedy:!0,inside:{interpolation:{pattern:/\$(?:\([^)]*\)|[a-zA-Z]\w*)/,inside:{delimiter:{pattern:/^\$\(?|\)$/,alias:"punctuation"},rest:Prism.languages.vala}},string:/[\s\S]+/}}}),Prism.languages.insertBefore("vala","keyword",{regex:{pattern:/\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\//,"regex-flags":/^[a-z]+$/}}}); !function(e){e.languages.velocity=e.languages.extend("markup",{});var n={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,lookbehind:!0,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},number:/\b\d+\b/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};n.variable.inside={string:n.string,function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:!0},number:n.number,boolean:n.boolean,punctuation:n.punctuation},e.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?\]\]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\[\[|\]\]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:!0,greedy:!0,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:!0,greedy:!0,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,inside:{punctuation:/[{}]/}},rest:n}},variable:n.variable}),e.languages.velocity.tag.inside["attr-value"].inside.rest=e.languages.velocity}(Prism); Prism.languages.verilog={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"kernel-function":{pattern:/\B\$\w+\b/,alias:"property"},constant:/\B`\w+\b/,function:/\b\w+(?=\()/,keyword:/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,important:/\b(?:always|always_comb|always_ff|always_latch)\b(?: *@)?/,number:/\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b(?:\d*[._])?\d+(?:e[-+]?\d+)?/i,operator:/[-+{}^~%*\/?=!<>&|]+/,punctuation:/[[\];(),.:]/}; Prism.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,attribute:{pattern:/\b'\w+/,alias:"attr-name"},keyword:/\b(?:access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|private|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|view|wait|when|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i,punctuation:/[{}[\];(),.:]/}; Prism.languages.vim={string:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,comment:/".*/,function:/\b\w+(?=\()/,keyword:/\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,builtin:/\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,operator:/\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/}; Prism.languages["visual-basic"]={comment:{pattern:/(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\b_[ \t]*(?:\r\n?|\n)|.)+/i,alias:"property",greedy:!0},string:{pattern:/\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,greedy:!0},date:{pattern:/#[ \t]*(?:\d+([/-])\d+\1\d+(?:[ \t]+(?:\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?))?|\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?)[ \t]*#/i,alias:"number"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:[FRD]|U?[ILS])?/i,boolean:/\b(?:False|Nothing|True)\b/i,keyword:/\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\b/i,operator:/[+\-*/\\^<=>&#@$%!]|\b_(?=[ \t]*[\r\n])/,punctuation:/[{}().,:?]/},Prism.languages.vb=Prism.languages["visual-basic"],Prism.languages.vba=Prism.languages["visual-basic"]; Prism.languages.warpscript={comment:/#.*|\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,greedy:!0},variable:/\$\S+/,macro:{pattern:/@\S+/,alias:"property"},keyword:/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/,number:/[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,boolean:/\b(?:F|T|false|true)\b/,punctuation:/<%|%>|[{}[\]()]/,operator:/==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/}; Prism.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/}; !function(e){var n="(?:\\B-|\\b_|\\b)[A-Za-z][\\w-]*(?![\\w-])",t="(?:\\b(?:unsigned\\s+)?long\\s+long(?![\\w-])|\\b(?:unrestricted|unsigned)\\s+[a-z]+(?![\\w-])|(?!(?:unrestricted|unsigned)\\b)"+n+"(?:\\s*<(?:[^<>]|<[^<>]*>)*>)?)(?:\\s*\\?)?",i={};for(var r in e.languages["web-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"[^"]*"/,greedy:!0},namespace:{pattern:RegExp("(\\bnamespace\\s+)"+n),lookbehind:!0},"class-name":[{pattern:/(^|[^\w-])(?:iterable|maplike|setlike)\s*<(?:[^<>]|<[^<>]*>)*>/,lookbehind:!0,inside:i},{pattern:RegExp("(\\b(?:attribute|const|deleter|getter|optional|setter)\\s+)"+t),lookbehind:!0,inside:i},{pattern:RegExp("(\\bcallback\\s+"+n+"\\s*=\\s*)"+t),lookbehind:!0,inside:i},{pattern:RegExp("(\\btypedef\\b\\s*)"+t),lookbehind:!0,inside:i},{pattern:RegExp("(\\b(?:callback|dictionary|enum|interface(?:\\s+mixin)?)\\s+)(?!(?:interface|mixin)\\b)"+n),lookbehind:!0},{pattern:RegExp("(:\\s*)"+n),lookbehind:!0},RegExp(n+"(?=\\s+(?:implements|includes)\\b)"),{pattern:RegExp("(\\b(?:implements|includes)\\s+)"+n),lookbehind:!0},{pattern:RegExp(t+"(?=\\s*(?:\\.{3}\\s*)?"+n+"\\s*[(),;=])"),inside:i}],builtin:/\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\b/,keyword:[/\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\b/,/\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\b/],boolean:/\b(?:false|true)\b/,number:{pattern:/(^|[^\w-])-?(?:0x[0-9a-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|NaN|Infinity)(?![\w-])/i,lookbehind:!0},operator:/\.{3}|[=:?<>-]/,punctuation:/[(){}[\].,;]/},e.languages["web-idl"])"class-name"!==r&&(i[r]=e.languages["web-idl"][r]);e.languages.webidl=e.languages["web-idl"]}(Prism); Prism.languages.wgsl={comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},"builtin-attribute":{pattern:/(@)builtin\(.*?\)/,lookbehind:!0,inside:{attribute:{pattern:/^builtin/,alias:"attr-name"},punctuation:/[(),]/,"built-in-values":{pattern:/\b(?:frag_depth|front_facing|global_invocation_id|instance_index|local_invocation_id|local_invocation_index|num_workgroups|position|sample_index|sample_mask|vertex_index|workgroup_id)\b/,alias:"attr-value"}}},attributes:{pattern:/(@)(?:align|binding|compute|const|fragment|group|id|interpolate|invariant|location|size|vertex|workgroup_size)/i,lookbehind:!0,alias:"attr-name"},functions:{pattern:/\b(fn\s+)[_a-zA-Z]\w*(?=[(<])/,lookbehind:!0,alias:"function"},keyword:/\b(?:bitcast|break|case|const|continue|continuing|default|discard|else|enable|fallthrough|fn|for|function|if|let|loop|private|return|storage|struct|switch|type|uniform|var|while|workgroup)\b/,builtin:/\b(?:abs|acos|acosh|all|any|array|asin|asinh|atan|atan2|atanh|atomic|atomicAdd|atomicAnd|atomicCompareExchangeWeak|atomicExchange|atomicLoad|atomicMax|atomicMin|atomicOr|atomicStore|atomicSub|atomicXor|bool|ceil|clamp|cos|cosh|countLeadingZeros|countOneBits|countTrailingZeros|cross|degrees|determinant|distance|dot|dpdx|dpdxCoarse|dpdxFine|dpdy|dpdyCoarse|dpdyFine|exp|exp2|extractBits|f32|f64|faceForward|firstLeadingBit|floor|fma|fract|frexp|fwidth|fwidthCoarse|fwidthFine|i32|i64|insertBits|inverseSqrt|ldexp|length|log|log2|mat[2-4]x[2-4]|max|min|mix|modf|normalize|override|pack2x16float|pack2x16snorm|pack2x16unorm|pack4x8snorm|pack4x8unorm|pow|ptr|quantizeToF16|radians|reflect|refract|reverseBits|round|sampler|sampler_comparison|select|shiftLeft|shiftRight|sign|sin|sinh|smoothstep|sqrt|staticAssert|step|storageBarrier|tan|tanh|textureDimensions|textureGather|textureGatherCompare|textureLoad|textureNumLayers|textureNumLevels|textureNumSamples|textureSample|textureSampleBias|textureSampleCompare|textureSampleCompareLevel|textureSampleGrad|textureSampleLevel|textureStore|texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array|texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array|texture_depth_multisampled_2d|texture_multisampled_2d|texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d|transpose|trunc|u32|u64|unpack2x16float|unpack2x16snorm|unpack2x16unorm|unpack4x8snorm|unpack4x8unorm|vec[2-4]|workgroupBarrier)\b/,"function-calls":{pattern:/\b[_a-z]\w*(?=\()/i,alias:"function"},"class-name":/\b(?:[A-Z][A-Za-z0-9]*)\b/,"bool-literal":{pattern:/\b(?:false|true)\b/,alias:"boolean"},"hex-int-literal":{pattern:/\b0[xX][0-9a-fA-F]+[iu]?\b(?![.pP])/,alias:"number"},"hex-float-literal":{pattern:/\b0[xX][0-9a-fA-F]*(?:\.[0-9a-fA-F]*)?(?:[pP][+-]?\d+[fh]?)?/,alias:"number"},"decimal-float-literal":[{pattern:/\d*\.\d+(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+\.\d*(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+[eE](?:\+|-)?\d+[fh]?/,alias:"number"},{pattern:/\b\d+[fh]\b/,alias:"number"}],"int-literal":{pattern:/\b\d+[iu]?\b/,alias:"number"},operator:[{pattern:/(?:\^|~|\|(?!\|)|\|\||&&|<<|>>|!)(?!=)/},{pattern:/&(?![&=])/},{pattern:/(?:\+=|-=|\*=|\/=|%=|\^=|&=|\|=|<<=|>>=)/},{pattern:/(^|[^<>=!])=(?![=>])/,lookbehind:!0},{pattern:/(?:==|!=|<=|\+\+|--|(^|[^=])>=)/,lookbehind:!0},{pattern:/(?:(?:[+%]|(?:\*(?!\w)))(?!=))|(?:-(?!>))|(?:\/(?!\/))/},{pattern:/->/}],punctuation:/[@(){}[\],;<>:.]/}; Prism.languages.wiki=Prism.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,alias:"comment"},heading:{pattern:/^(=+)[^=\r\n].*?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold-italic":{pattern:/(''''').+?(?=\1)/,lookbehind:!0,alias:["bold","italic"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:!0,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:Prism.languages.markup.tag.inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m}),Prism.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,inside:Prism.languages.markup.tag.inside}}}}); Prism.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\b\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.mathematica=Prism.languages.wolfram,Prism.languages.wl=Prism.languages.wolfram,Prism.languages.nb=Prism.languages.wolfram; Prism.languages.wren={comment:[{pattern:/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\//,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"string-literal":null,hashbang:{pattern:/^#!\/.+/,greedy:!0,alias:"comment"},attribute:{pattern:/#!?[ \t\u3000]*\w+/,alias:"keyword"},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},/\b[A-Z][a-z\d_]*\b/],constant:/\b[A-Z][A-Z\d_]*\b/,null:{pattern:/\bnull\b/,alias:"keyword"},keyword:/\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\b/,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,function:/\b[a-z_]\w*(?=\s*[({])/i,operator:/<<|>>|[=!<>]=?|&&|\|\||[-+*/%~^&|?:]|\.{2,3}/,punctuation:/[\[\](){}.,;]/},Prism.languages.wren["string-literal"]={pattern:/(^|[^\\"])"(?:[^\\"%]|\\[\s\S]|%(?!\()|%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\))*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\)/,lookbehind:!0,inside:{expression:{pattern:/^(%\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:Prism.languages.wren},"interpolation-punctuation":{pattern:/^%\(|\)$/,alias:"punctuation"}}},string:/[\s\S]+/}}; !function(n){n.languages.xeora=n.languages.extend("markup",{constant:{pattern:/\$(?:DomainContents|PageRenderDuration)\$/,inside:{punctuation:{pattern:/\$/}}},variable:{pattern:/\$@?(?:#+|[-+*~=^])?[\w.]+\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},"function-inline":{pattern:/\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\$\w:|[$:?.,|]/}},alias:"function"},"function-block":{pattern:/\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:"function"},"directive-inline":{pattern:/\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}}},alias:"function"},"directive-block-open":{pattern:/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:"keyword"}},alias:"function"},"directive-block-separator":{pattern:/\}:[-\w.]+:\{/,inside:{punctuation:{pattern:/[:{}]/}},alias:"function"},"directive-block-close":{pattern:/\}:[-\w.]+\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:"function"}}),n.languages.insertBefore("inside","punctuation",{variable:n.languages.xeora["function-inline"].inside.variable},n.languages.xeora["function-block"]),n.languages.xeoracube=n.languages.xeora}(Prism); !function(a){function e(e,n){a.languages[e]&&a.languages.insertBefore(e,"comment",{"doc-comment":n})}var n=a.languages.markup.tag,t={pattern:/\/\/\/.*/,greedy:!0,alias:"comment",inside:{tag:n}},g={pattern:/'''.*/,greedy:!0,alias:"comment",inside:{tag:n}};e("csharp",t),e("fsharp",t),e("vbnet",g)}(Prism); Prism.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i,greedy:!0},string:{pattern:/"(?:""|[^"])*"/,greedy:!0},number:[/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],directive:{pattern:/#(?:Else|ElseIf|Endif|If|Pragma)\b/i,alias:"property"},keyword:/\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,punctuation:/[.,;:()]/}; !function(e){e.languages.xquery=e.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:!0,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,lookbehind:!0},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,lookbehind:!0},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}],punctuation:/[[\](){},;:/]/}),e.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.xquery.tag.inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/,e.languages.xquery.tag.inside["attr-value"].inside.punctuation=/^="|"$/,e.languages.xquery.tag.inside["attr-value"].inside.expression={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:e.languages.xquery,alias:"language-xquery"};var t=function(e){return"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(t).join("")},n=function(a){for(var o=[],i=0;i0&&o[o.length-1].tagName===t(r.content[0].content[1])&&o.pop():"/>"===r.content[r.content.length-1].content||o.push({tagName:t(r.content[0].content[1]),openedBraces:0}):!(o.length>0&&"punctuation"===r.type&&"{"===r.content)||a[i+1]&&"punctuation"===a[i+1].type&&"{"===a[i+1].content||a[i-1]&&"plain-text"===a[i-1].type&&"{"===a[i-1].content?o.length>0&&o[o.length-1].openedBraces>0&&"punctuation"===r.type&&"}"===r.content?o[o.length-1].openedBraces--:"comment"!==r.type&&(s=!0):o[o.length-1].openedBraces++),(s||"string"==typeof r)&&o.length>0&&0===o[o.length-1].openedBraces){var l=t(r);i0&&("string"==typeof a[i-1]||"plain-text"===a[i-1].type)&&(l=t(a[i-1])+l,a.splice(i-1,1),i--),/^\s+$/.test(l)?a[i]=l:a[i]=new e.Token("plain-text",l,null,l)}r.content&&"string"!=typeof r.content&&n(r.content)}};e.hooks.add("after-tokenize",(function(e){"xquery"===e.language&&n(e.tokens)}))}(Prism); Prism.languages.yang={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"(?:[^\\"]|\\.)*"|'[^']*'/,greedy:!0},keyword:{pattern:/(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,lookbehind:!0},namespace:{pattern:/(\s)[a-z_][\w.-]*(?=:)/i,lookbehind:!0},boolean:/\b(?:false|true)\b/,operator:/\+/,punctuation:/[{};:]/}; !function(e){function n(e){return function(){return e}}var r=/\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/,a="\\b(?!"+r.source+")(?!\\d)\\w+\\b",o="align\\s*\\((?:[^()]|\\([^()]*\\))*\\)",s="(?!\\s)(?:!?\\s*(?:"+"(?:\\?|\\bpromise->|(?:\\[[^[\\]]*\\]|\\*(?!\\*)|\\*\\*)(?:\\s*|\\s*const\\b|\\s*volatile\\b|\\s*allowzero\\b)*)".replace(//g,n(o))+"\\s*)*"+"(?:\\bpromise\\b|(?:\\berror\\.)?(?:\\.)*(?!\\s+))".replace(//g,n(a))+")+";e.languages.zig={comment:[{pattern:/\/\/[/!].*/,alias:"doc-comment"},/\/{2}.*/],string:[{pattern:/(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},{pattern:/([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,lookbehind:!0,greedy:!0}],char:{pattern:/(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,lookbehind:!0,greedy:!0},builtin:/\B@(?!\d)\w+(?=\s*\()/,label:{pattern:/(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,lookbehind:!0},"class-name":[/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,{pattern:RegExp("(:\\s*)(?=\\s*(?:\\s*)?[=;,)])|(?=\\s*(?:\\s*)?\\{)".replace(//g,n(s)).replace(//g,n(o))),lookbehind:!0,inside:null},{pattern:RegExp("(\\)\\s*)(?=\\s*(?:\\s*)?;)".replace(//g,n(s)).replace(//g,n(o))),lookbehind:!0,inside:null}],"builtin-type":{pattern:/\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/,alias:"keyword"},keyword:r,function:/\b(?!\d)\w+(?=\s*\()/,number:/\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,boolean:/\b(?:false|true)\b/,operator:/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\]]/},e.languages.zig["class-name"].forEach((function(n){null===n.inside&&(n.inside=e.languages.zig)}))}(Prism); /** * Decides whether or not the document is reader-able without parsing the whole thing. * @return {boolean} Whether or not we suspect Readability.parse() will suceeed at returning an article object. */ export function isProbablyReaderable( document: Document, options?: { /** The minimum node content length used to decide if the document is readerable. */ minContentLength?: number; /** The minumum cumulated 'score' used to determine if the document is readerable. */ minScore?: number; /** The function used to determine if a node is visible. */ visibilityChecker?: (node: Node) => boolean; } ): boolean; export class Readability { constructor( document: Document, options?: { debug?: boolean; maxElemsToParse?: number; nbTopCandidates?: number; charThreshold?: number; classesToPreserve?: string[]; keepClasses?: boolean; serializer?: (node: Node) => T; disableJSONLD?: boolean; allowedVideoRegex?: RegExp; } ); parse(): null | { /** article title */ title: string; /** HTML string of processed article content */ content: T; /** text content of the article, with all the HTML tags removed */ textContent: string; /** length of an article, in characters */ length: number; /** article description, or short excerpt from the content */ excerpt: string; /** author metadata */ byline: string; /** content direction */ dir: string; /** name of the site */ siteName: string; /** content language */ lang: string; }; } /* * Copyright (c) 2010 Arc90 Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* * This code is heavily based on Arc90's readability.js (1.7.1) script * available at: http://code.google.com/p/arc90labs-readability */ /* * Minifier instructions: * 1. Retrieve source from https://unpkg.com/browse/@mozilla/readability@0.4.4/ * 2. Run source through https://minify-js.com with default settings * 3. Save without foramtting */ function Readability(e,t){if(t&&t.documentElement)e=t,t=arguments[2];else if(!e||!e.documentElement)throw new Error("First argument to Readability constructor should be a document object.");if(t=t||{},this._doc=e,this._docJSDOMParser=this._doc.firstChild.__JSDOMParser__,this._articleTitle=null,this._articleByline=null,this._articleDir=null,this._articleSiteName=null,this._attempts=[],this._debug=!!t.debug,this._maxElemsToParse=t.maxElemsToParse||this.DEFAULT_MAX_ELEMS_TO_PARSE,this._nbTopCandidates=t.nbTopCandidates||this.DEFAULT_N_TOP_CANDIDATES,this._charThreshold=t.charThreshold||this.DEFAULT_CHAR_THRESHOLD,this._classesToPreserve=this.CLASSES_TO_PRESERVE.concat(t.classesToPreserve||[]),this._keepClasses=!!t.keepClasses,this._serializer=t.serializer||function(e){return e.innerHTML},this._disableJSONLD=!!t.disableJSONLD,this._allowedVideoRegex=t.allowedVideoRegex||this.REGEXPS.videos,this._flags=this.FLAG_STRIP_UNLIKELYS|this.FLAG_WEIGHT_CLASSES|this.FLAG_CLEAN_CONDITIONALLY,this._debug){let e=function(e){if(e.nodeType==e.TEXT_NODE)return`${e.nodeName} ("${e.textContent}")`;let t=Array.from(e.attributes||[],(function(e){return`${e.name}="${e.value}"`})).join(" ");return`<${e.localName} ${t}>`};this.log=function(){if("undefined"!=typeof console){let t=Array.from(arguments,(t=>t&&t.nodeType==this.ELEMENT_NODE?e(t):t));t.unshift("Reader: (Readability)"),console.log.apply(console,t)}else if("undefined"!=typeof dump){var t=Array.prototype.map.call(arguments,(function(t){return t&&t.nodeName?e(t):t})).join(" ");dump("Reader: (Readability) "+t+"\n")}}}else this.log=function(){}}Readability.prototype={FLAG_STRIP_UNLIKELYS:1,FLAG_WEIGHT_CLASSES:2,FLAG_CLEAN_CONDITIONALLY:4,ELEMENT_NODE:1,TEXT_NODE:3,DEFAULT_MAX_ELEMS_TO_PARSE:0,DEFAULT_N_TOP_CANDIDATES:5,DEFAULT_TAGS_TO_SCORE:"section,h2,h3,h4,h5,h6,p,td,pre".toUpperCase().split(","),DEFAULT_CHAR_THRESHOLD:500,REGEXPS:{unlikelyCandidates:/-ad-|ai2html|banner|breadcrumbs|combx|comment|community|cover-wrap|disqus|extra|footer|gdpr|header|legends|menu|related|remark|replies|rss|shoutbox|sidebar|skyscraper|social|sponsor|supplemental|ad-break|agegate|pagination|pager|popup|yom-remote/i,okMaybeItsACandidate:/and|article|body|column|content|main|shadow/i,positive:/article|body|content|entry|hentry|h-entry|main|page|pagination|post|text|blog|story/i,negative:/-ad-|hidden|^hid$| hid$| hid |^hid |banner|combx|comment|com-|contact|foot|footer|footnote|gdpr|masthead|media|meta|outbrain|promo|related|scroll|share|shoutbox|sidebar|skyscraper|sponsor|shopping|tags|tool|widget/i,extraneous:/print|archive|comment|discuss|e[\-]?mail|share|reply|all|login|sign|single|utility/i,byline:/byline|author|dateline|writtenby|p-author/i,replaceFonts:/<(\/?)font[^>]*>/gi,normalize:/\s{2,}/g,videos:/\/\/(www\.)?((dailymotion|youtube|youtube-nocookie|player\.vimeo|v\.qq)\.com|(archive|upload\.wikimedia)\.org|player\.twitch\.tv)/i,shareElements:/(\b|_)(share|sharedaddy)(\b|_)/i,nextLink:/(next|weiter|continue|>([^\|]|$)|»([^\|]|$))/i,prevLink:/(prev|earl|old|new|<|«)/i,tokenize:/\W+/g,whitespace:/^\s*$/,hasContent:/\S$/,hashUrl:/^#.+/,srcsetUrl:/(\S+)(\s+[\d.]+[xw])?(\s*(?:,|$))/g,b64DataUrl:/^data:\s*([^\s;,]+)\s*;\s*base64\s*,/i,jsonLdArticleTypes:/^Article|AdvertiserContentArticle|NewsArticle|AnalysisNewsArticle|AskPublicNewsArticle|BackgroundNewsArticle|OpinionNewsArticle|ReportageNewsArticle|ReviewNewsArticle|Report|SatiricalArticle|ScholarlyArticle|MedicalScholarlyArticle|SocialMediaPosting|BlogPosting|LiveBlogPosting|DiscussionForumPosting|TechArticle|APIReference$/},UNLIKELY_ROLES:["menu","menubar","complementary","navigation","alert","alertdialog","dialog"],DIV_TO_P_ELEMS:new Set(["BLOCKQUOTE","DL","DIV","IMG","OL","P","PRE","TABLE","UL"]),ALTER_TO_DIV_EXCEPTIONS:["DIV","ARTICLE","SECTION","P"],PRESENTATIONAL_ATTRIBUTES:["align","background","bgcolor","border","cellpadding","cellspacing","frame","hspace","rules","style","valign","vspace"],DEPRECATED_SIZE_ATTRIBUTE_ELEMS:["TABLE","TH","TD","HR","PRE"],PHRASING_ELEMS:["ABBR","AUDIO","B","BDO","BR","BUTTON","CITE","CODE","DATA","DATALIST","DFN","EM","EMBED","I","IMG","INPUT","KBD","LABEL","MARK","MATH","METER","NOSCRIPT","OBJECT","OUTPUT","PROGRESS","Q","RUBY","SAMP","SCRIPT","SELECT","SMALL","SPAN","STRONG","SUB","SUP","TEXTAREA","TIME","VAR","WBR"],CLASSES_TO_PRESERVE:["page"],HTML_ESCAPE_MAP:{lt:"<",gt:">",amp:"&",quot:'"',apos:"'"},_postProcessContent:function(e){this._fixRelativeUris(e),this._simplifyNestedElements(e),this._keepClasses||this._cleanClasses(e)},_removeNodes:function(e,t){if(this._docJSDOMParser&&e._isLiveNodeList)throw new Error("Do not pass live node lists to _removeNodes");for(var i=e.length-1;i>=0;i--){var a=e[i],r=a.parentNode;r&&(t&&!t.call(this,a,i,e)||r.removeChild(a))}},_replaceNodeTags:function(e,t){if(this._docJSDOMParser&&e._isLiveNodeList)throw new Error("Do not pass live node lists to _replaceNodeTags");for(const i of e)this._setNodeTag(i,t)},_forEachNode:function(e,t){Array.prototype.forEach.call(e,t,this)},_findNode:function(e,t){return Array.prototype.find.call(e,t,this)},_someNode:function(e,t){return Array.prototype.some.call(e,t,this)},_everyNode:function(e,t){return Array.prototype.every.call(e,t,this)},_concatNodeLists:function(){var e=Array.prototype.slice,t=e.call(arguments).map((function(t){return e.call(t)}));return Array.prototype.concat.apply([],t)},_getAllNodesWithTag:function(e,t){return e.querySelectorAll?e.querySelectorAll(t.join(",")):[].concat.apply([],t.map((function(t){var i=e.getElementsByTagName(t);return Array.isArray(i)?i:Array.from(i)})))},_cleanClasses:function(e){var t=this._classesToPreserve,i=(e.getAttribute("class")||"").split(/\s+/).filter((function(e){return-1!=t.indexOf(e)})).join(" ");for(i?e.setAttribute("class",i):e.removeAttribute("class"),e=e.firstElementChild;e;e=e.nextElementSibling)this._cleanClasses(e)},_fixRelativeUris:function(e){var t=this._doc.baseURI,i=this._doc.documentURI;function a(e){if(t==i&&"#"==e.charAt(0))return e;try{return new URL(e,t).href}catch(e){}return e}var r=this._getAllNodesWithTag(e,["a"]);this._forEachNode(r,(function(e){var t=e.getAttribute("href");if(t)if(0===t.indexOf("javascript:"))if(1===e.childNodes.length&&e.childNodes[0].nodeType===this.TEXT_NODE){var i=this._doc.createTextNode(e.textContent);e.parentNode.replaceChild(i,e)}else{for(var r=this._doc.createElement("span");e.firstChild;)r.appendChild(e.firstChild);e.parentNode.replaceChild(r,e)}else e.setAttribute("href",a(t))}));var n=this._getAllNodesWithTag(e,["img","picture","figure","video","audio","source"]);this._forEachNode(n,(function(e){var t=e.getAttribute("src"),i=e.getAttribute("poster"),r=e.getAttribute("srcset");if(t&&e.setAttribute("src",a(t)),i&&e.setAttribute("poster",a(i)),r){var n=r.replace(this.REGEXPS.srcsetUrl,(function(e,t,i,r){return a(t)+(i||"")+r}));e.setAttribute("srcset",n)}}))},_simplifyNestedElements:function(e){for(var t=e;t;){if(t.parentNode&&["DIV","SECTION"].includes(t.tagName)&&(!t.id||!t.id.startsWith("readability"))){if(this._isElementWithoutContent(t)){t=this._removeAndGetNext(t);continue}if(this._hasSingleTagInsideElement(t,"DIV")||this._hasSingleTagInsideElement(t,"SECTION")){for(var i=t.children[0],a=0;a»] /.test(t))a=/ [\\\/>»] /.test(t),r(t=i.replace(/(.*)[\|\-\\\/>»] .*/gi,"$1"))<3&&(t=i.replace(/[^\|\-\\\/>»]*[\|\-\\\/>»](.*)/gi,"$1"));else if(-1!==t.indexOf(": ")){var n=this._concatNodeLists(e.getElementsByTagName("h1"),e.getElementsByTagName("h2")),s=t.trim();this._someNode(n,(function(e){return e.textContent.trim()===s}))||(r(t=i.substring(i.lastIndexOf(":")+1))<3?t=i.substring(i.indexOf(":")+1):r(i.substr(0,i.indexOf(":")))>5&&(t=i))}else if(t.length>150||t.length<15){var l=e.getElementsByTagName("h1");1===l.length&&(t=this._getInnerText(l[0]))}var o=r(t=t.trim().replace(this.REGEXPS.normalize," "));return o<=4&&(!a||o!=r(i.replace(/[\|\-\\\/>»]+/g,""))-1)&&(t=i),t},_prepDocument:function(){var e=this._doc;this._removeNodes(this._getAllNodesWithTag(e,["style"])),e.body&&this._replaceBrs(e.body),this._replaceNodeTags(this._getAllNodesWithTag(e,["font"]),"SPAN")},_nextNode:function(e){for(var t=e;t&&t.nodeType!=this.ELEMENT_NODE&&this.REGEXPS.whitespace.test(t.textContent);)t=t.nextSibling;return t},_replaceBrs:function(e){this._forEachNode(this._getAllNodesWithTag(e,["br"]),(function(e){for(var t=e.nextSibling,i=!1;(t=this._nextNode(t))&&"BR"==t.tagName;){i=!0;var a=t.nextSibling;t.parentNode.removeChild(t),t=a}if(i){var r=this._doc.createElement("p");for(e.parentNode.replaceChild(r,e),t=r.nextSibling;t;){if("BR"==t.tagName){var n=this._nextNode(t.nextSibling);if(n&&"BR"==n.tagName)break}if(!this._isPhrasingContent(t))break;var s=t.nextSibling;r.appendChild(t),t=s}for(;r.lastChild&&this._isWhitespace(r.lastChild);)r.removeChild(r.lastChild);"P"===r.parentNode.tagName&&this._setNodeTag(r.parentNode,"DIV")}}))},_setNodeTag:function(e,t){if(this.log("_setNodeTag",e,t),this._docJSDOMParser)return e.localName=t.toLowerCase(),e.tagName=t.toUpperCase(),e;for(var i=e.ownerDocument.createElement(t);e.firstChild;)i.appendChild(e.firstChild);e.parentNode.replaceChild(i,e),e.readability&&(i.readability=e.readability);for(var a=0;a!i.includes(e))).join(" ").length/a.join(" ").length:0},_checkByline:function(e,t){if(this._articleByline)return!1;if(void 0!==e.getAttribute)var i=e.getAttribute("rel"),a=e.getAttribute("itemprop");return!(!("author"===i||a&&-1!==a.indexOf("author")||this.REGEXPS.byline.test(t))||!this._isValidByline(e.textContent))&&(this._articleByline=e.textContent.trim(),!0)},_getNodeAncestors:function(e,t){t=t||0;for(var i=0,a=[];e.parentNode&&(a.push(e.parentNode),!t||++i!==t);)e=e.parentNode;return a},_grabArticle:function(e){this.log("**** grabArticle ****");var t=this._doc,i=null!==e;if(!(e=e||this._doc.body))return this.log("No body found in document. Abort."),null;for(var a=e.innerHTML;;){this.log("Starting grabArticle loop");var r=this._flagIsActive(this.FLAG_STRIP_UNLIKELYS),n=[],s=this._doc.documentElement;let V=!0;for(;s;){"HTML"===s.tagName&&(this._articleLang=s.getAttribute("lang"));var l=s.className+" "+s.id;if(this._isProbablyVisible(s))if("true"!=s.getAttribute("aria-modal")||"dialog"!=s.getAttribute("role"))if(this._checkByline(s,l))s=this._removeAndGetNext(s);else if(V&&this._headerDuplicatesTitle(s))this.log("Removing header: ",s.textContent.trim(),this._articleTitle.trim()),V=!1,s=this._removeAndGetNext(s);else{if(r){if(this.REGEXPS.unlikelyCandidates.test(l)&&!this.REGEXPS.okMaybeItsACandidate.test(l)&&!this._hasAncestorTag(s,"table")&&!this._hasAncestorTag(s,"code")&&"BODY"!==s.tagName&&"A"!==s.tagName){this.log("Removing unlikely candidate - "+l),s=this._removeAndGetNext(s);continue}if(this.UNLIKELY_ROLES.includes(s.getAttribute("role"))){this.log("Removing content with role "+s.getAttribute("role")+" - "+l),s=this._removeAndGetNext(s);continue}}if("DIV"!==s.tagName&&"SECTION"!==s.tagName&&"HEADER"!==s.tagName&&"H1"!==s.tagName&&"H2"!==s.tagName&&"H3"!==s.tagName&&"H4"!==s.tagName&&"H5"!==s.tagName&&"H6"!==s.tagName||!this._isElementWithoutContent(s)){if(-1!==this.DEFAULT_TAGS_TO_SCORE.indexOf(s.tagName)&&n.push(s),"DIV"===s.tagName){for(var o=null,h=s.firstChild;h;){var c=h.nextSibling;if(this._isPhrasingContent(h))null!==o?o.appendChild(h):this._isWhitespace(h)||(o=t.createElement("p"),s.replaceChild(o,h),o.appendChild(h));else if(null!==o){for(;o.lastChild&&this._isWhitespace(o.lastChild);)o.removeChild(o.lastChild);o=null}h=c}if(this._hasSingleTagInsideElement(s,"P")&&this._getLinkDensity(s)<.25){var d=s.children[0];s.parentNode.replaceChild(d,s),s=d,n.push(s)}else this._hasChildBlockElement(s)||(s=this._setNodeTag(s,"P"),n.push(s))}s=this._getNextNode(s)}else s=this._removeAndGetNext(s)}else s=this._removeAndGetNext(s);else this.log("Removing hidden node - "+l),s=this._removeAndGetNext(s)}var g=[];this._forEachNode(n,(function(e){if(e.parentNode&&void 0!==e.parentNode.tagName){var t=this._getInnerText(e);if(!(t.length<25)){var i=this._getNodeAncestors(e,5);if(0!==i.length){var a=0;a+=1,a+=t.split(",").length,a+=Math.min(Math.floor(t.length/100),3),this._forEachNode(i,(function(e,t){if(e.tagName&&e.parentNode&&void 0!==e.parentNode.tagName){if(void 0===e.readability&&(this._initializeNode(e),g.push(e)),0===t)var i=1;else i=1===t?2:3*t;e.readability.contentScore+=a/i}}))}}}}));for(var _=[],u=0,m=g.length;uE.readability.contentScore){_.splice(N,0,f),_.length>this._nbTopCandidates&&_.pop();break}}}var T,b=_[0]||null,A=!1;if(null===b||"BODY"===b.tagName){for(b=t.createElement("DIV"),A=!0;e.firstChild;)this.log("Moving child out:",e.firstChild),b.appendChild(e.firstChild);e.appendChild(b),this._initializeNode(b)}else if(b){for(var v=[],y=1;y<_.length;y++)_[y].readability.contentScore/b.readability.contentScore>=.75&&v.push(this._getNodeAncestors(_[y]));if(v.length>=3)for(T=b.parentNode;"BODY"!==T.tagName;){for(var S=0,C=0;C=3){b=T;break}T=T.parentNode}b.readability||this._initializeNode(b),T=b.parentNode;for(var L=b.readability.contentScore,x=L/3;"BODY"!==T.tagName;)if(T.readability){var I=T.readability.contentScore;if(IL){b=T;break}L=T.readability.contentScore,T=T.parentNode}else T=T.parentNode;for(T=b.parentNode;"BODY"!=T.tagName&&1==T.children.length;)T=(b=T).parentNode;b.readability||this._initializeNode(b)}var D=t.createElement("DIV");i&&(D.id="readability-content");for(var R=Math.max(10,.2*b.readability.contentScore),O=(T=b.parentNode).children,P=0,w=O.length;P=R)G=!0;else if("P"===B.nodeName){var H=this._getLinkDensity(B),U=this._getInnerText(B),k=U.length;(k>80&&H<.25||k<80&&k>0&&0===H&&-1!==U.search(/\.( |$)/))&&(G=!0)}}G&&(this.log("Appending node:",B),-1===this.ALTER_TO_DIV_EXCEPTIONS.indexOf(B.nodeName)&&(this.log("Altering sibling:",B,"to div."),B=this._setNodeTag(B,"DIV")),D.appendChild(B),O=T.children,P-=1,w-=1)}if(this._debug&&this.log("Article content pre-prep: "+D.innerHTML),this._prepArticle(D),this._debug&&this.log("Article content post-prep: "+D.innerHTML),A)b.id="readability-page-1",b.className="page";else{var W=t.createElement("DIV");for(W.id="readability-page-1",W.className="page";D.firstChild;)W.appendChild(D.firstChild);D.appendChild(W)}this._debug&&this.log("Article content after paging: "+D.innerHTML);var F=!0,X=this._getInnerText(D,!0).length;if(X0&&e.length<100)},_unescapeHtmlEntities:function(e){if(!e)return e;var t=this.HTML_ESCAPE_MAP;return e.replace(/&(quot|amp|apos|lt|gt);/g,(function(e,i){return t[i]})).replace(/&#(?:x([0-9a-z]{1,4})|([0-9]{1,4}));/gi,(function(e,t,i){var a=parseInt(t||i,t?16:10);return String.fromCharCode(a)}))},_getJSONLD:function(e){var t,i=this._getAllNodesWithTag(e,["script"]);return this._forEachNode(i,(function(e){if(!t&&"application/ld+json"===e.getAttribute("type"))try{var i=e.textContent.replace(/^\s*\s*$/g,""),a=JSON.parse(i);if(!a["@context"]||!a["@context"].match(/^https?\:\/\/schema\.org$/))return;if(!a["@type"]&&Array.isArray(a["@graph"])&&(a=a["@graph"].find((function(e){return(e["@type"]||"").match(this.REGEXPS.jsonLdArticleTypes)}))),!a||!a["@type"]||!a["@type"].match(this.REGEXPS.jsonLdArticleTypes))return;if(t={},"string"==typeof a.name&&"string"==typeof a.headline&&a.name!==a.headline){var r=this._getArticleTitle(),n=this._textSimilarity(a.name,r)>.75,s=this._textSimilarity(a.headline,r)>.75;t.title=s&&!n?a.headline:a.name}else"string"==typeof a.name?t.title=a.name.trim():"string"==typeof a.headline&&(t.title=a.headline.trim());return a.author&&("string"==typeof a.author.name?t.byline=a.author.name.trim():Array.isArray(a.author)&&a.author[0]&&"string"==typeof a.author[0].name&&(t.byline=a.author.filter((function(e){return e&&"string"==typeof e.name})).map((function(e){return e.name.trim()})).join(", "))),"string"==typeof a.description&&(t.excerpt=a.description.trim()),void(a.publisher&&"string"==typeof a.publisher.name&&(t.siteName=a.publisher.name.trim()))}catch(e){this.log(e.message)}})),t||{}},_getArticleMetadata:function(e){var t={},i={},a=this._doc.getElementsByTagName("meta"),r=/\s*(dc|dcterm|og|twitter)\s*:\s*(author|creator|description|title|site_name)\s*/gi,n=/^\s*(?:(dc|dcterm|og|twitter|weibo:(article|webpage))\s*[\.:]\s*)?(author|creator|description|title|site_name)\s*$/i;return this._forEachNode(a,(function(e){var t=e.getAttribute("name"),a=e.getAttribute("property"),s=e.getAttribute("content");if(s){var l=null,o=null;a&&(l=a.match(r))&&(o=l[0].toLowerCase().replace(/\s/g,""),i[o]=s.trim()),!l&&t&&n.test(t)&&(o=t,s&&(o=o.toLowerCase().replace(/\s/g,"").replace(/\./g,":"),i[o]=s.trim()))}})),t.title=e.title||i["dc:title"]||i["dcterm:title"]||i["og:title"]||i["weibo:article:title"]||i["weibo:webpage:title"]||i.title||i["twitter:title"],t.title||(t.title=this._getArticleTitle()),t.byline=e.byline||i["dc:creator"]||i["dcterm:creator"]||i.author,t.excerpt=e.excerpt||i["dc:description"]||i["dcterm:description"]||i["og:description"]||i["weibo:article:description"]||i["weibo:webpage:description"]||i.description||i["twitter:description"],t.siteName=e.siteName||i["og:site_name"],t.title=this._unescapeHtmlEntities(t.title),t.byline=this._unescapeHtmlEntities(t.byline),t.excerpt=this._unescapeHtmlEntities(t.excerpt),t.siteName=this._unescapeHtmlEntities(t.siteName),t},_isSingleImage:function(e){return"IMG"===e.tagName||1===e.children.length&&""===e.textContent.trim()&&this._isSingleImage(e.children[0])},_unwrapNoscriptImages:function(e){var t=Array.from(e.getElementsByTagName("img"));this._forEachNode(t,(function(e){for(var t=0;t0&&r>i)return!1;if(e.parentNode.tagName===t&&(!a||a(e.parentNode)))return!0;e=e.parentNode,r++}return!1},_getRowAndColumnCount:function(e){for(var t=0,i=0,a=e.getElementsByTagName("tr"),r=0;r0)a._readabilityDataTable=!0;else{if(["col","colgroup","tfoot","thead","th"].some((function(e){return!!a.getElementsByTagName(e)[0]})))this.log("Data table because found data-y descendant"),a._readabilityDataTable=!0;else if(a.getElementsByTagName("table")[0])a._readabilityDataTable=!1;else{var n=this._getRowAndColumnCount(a);n.rows>=10||n.columns>4?a._readabilityDataTable=!0:a._readabilityDataTable=n.rows*n.columns>10}}}else a._readabilityDataTable=!1;else a._readabilityDataTable=!1}},_fixLazyImages:function(e){this._forEachNode(this._getAllNodesWithTag(e,["img","picture","figure"]),(function(e){if(e.src&&this.REGEXPS.b64DataUrl.test(e.src)){if("image/svg+xml"===this.REGEXPS.b64DataUrl.exec(e.src)[1])return;for(var t=!1,i=0;ia+=this._getInnerText(e,!0).length)),a/i},_cleanConditionally:function(e,t){this._flagIsActive(this.FLAG_CLEAN_CONDITIONALLY)&&this._removeNodes(this._getAllNodesWithTag(e,[t]),(function(e){var i=function(e){return e._readabilityDataTable},a="ul"===t||"ol"===t;if(!a){var r=0,n=this._getAllNodesWithTag(e,["ul","ol"]);this._forEachNode(n,(e=>r+=this._getInnerText(e).length)),a=r/this._getInnerText(e).length>.9}if("table"===t&&i(e))return!1;if(this._hasAncestorTag(e,"table",-1,i))return!1;if(this._hasAncestorTag(e,"code"))return!1;var s=this._getClassWeight(e);this.log("Cleaning Conditionally",e);if(s+0<0)return!0;if(this._getCharCount(e,",")<10){for(var l=e.getElementsByTagName("p").length,o=e.getElementsByTagName("img").length,h=e.getElementsByTagName("li").length-100,c=e.getElementsByTagName("input").length,d=this._getTextDensity(e,["h1","h2","h3","h4","h5","h6"]),g=0,_=this._getAllNodesWithTag(e,["object","embed","iframe"]),u=0;u<_.length;u++){for(var m=0;m<_[u].attributes.length;m++)if(this._allowedVideoRegex.test(_[u].attributes[m].value))return!1;if("object"===_[u].tagName&&this._allowedVideoRegex.test(_[u].innerHTML))return!1;g++}var f=this._getLinkDensity(e),p=this._getInnerText(e).length,N=o>1&&l/o<.5&&!this._hasAncestorTag(e,"figure")||!a&&h>l||c>Math.floor(l/3)||!a&&d<.9&&p<25&&(0===o||o>2)&&!this._hasAncestorTag(e,"figure")||!a&&s<25&&f>.2||s>=25&&f>.5||1===g&&p<75||g>1;if(a&&N){for(var E=0;E1)return N}if(o==e.getElementsByTagName("li").length)return!1}return N}return!1}))},_cleanMatchedNodes:function(e,t){for(var i=this._getNextNode(e,!0),a=this._getNextNode(e);a&&a!=i;)a=t.call(this,a,a.className+" "+a.id)?this._removeAndGetNext(a):this._getNextNode(a)},_cleanHeaders:function(e){let t=this._getAllNodesWithTag(e,["h1","h2"]);this._removeNodes(t,(function(e){let t=this._getClassWeight(e)<0;return t&&this.log("Removing header with low class weight:",e),t}))},_headerDuplicatesTitle:function(e){if("H1"!=e.tagName&&"H2"!=e.tagName)return!1;var t=this._getInnerText(e,!1);return this.log("Evaluating similarity of header:",t,this._articleTitle),this._textSimilarity(this._articleTitle,t)>.75},_flagIsActive:function(e){return(this._flags&e)>0},_removeFlag:function(e){this._flags=this._flags&~e},_isProbablyVisible:function(e){return(!e.style||"none"!=e.style.display)&&!e.hasAttribute("hidden")&&(!e.hasAttribute("aria-hidden")||"true"!=e.getAttribute("aria-hidden")||e.className&&e.className.indexOf&&-1!==e.className.indexOf("fallback-image"))},parse:function(){if(this._maxElemsToParse>0){var e=this._doc.getElementsByTagName("*").length;if(e>this._maxElemsToParse)throw new Error("Aborting parsing document; "+e+" elements found")}this._unwrapNoscriptImages(this._doc);var t=this._disableJSONLD?{}:this._getJSONLD(this._doc);this._removeScripts(this._doc),this._prepDocument();var i=this._getArticleMetadata(t);this._articleTitle=i.title;var a=this._grabArticle();if(!a)return null;if(this.log("Grabbed: "+a.innerHTML),this._postProcessContent(a),!i.excerpt){var r=a.getElementsByTagName("p");r.length>0&&(i.excerpt=r[0].textContent.trim())}var n=a.textContent;return{title:this._articleTitle,byline:i.byline||this._articleByline,dir:this._articleDir,lang:this._articleLang,content:this._serializer(a),textContent:n,length:n.length,excerpt:i.excerpt,siteName:i.siteName||this._articleSiteName}}},"object"==typeof module&&(module.exports=Readability); /** * Black theme for reveal.js. This is the opposite of the 'white' theme. * * By Hakim El Hattab, http://hakim.se */ section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 { color: #222; } /********************************************* * GLOBAL STYLES *********************************************/ :root { --r-background-color: #191919; --r-main-font: Source Sans Pro, Helvetica, sans-serif; --r-main-font-size: 42px; --r-main-color: #fff; --r-block-margin: 20px; --r-heading-margin: 0 0 20px 0; --r-heading-font: Source Sans Pro, Helvetica, sans-serif; --r-heading-color: #fff; --r-heading-line-height: 1.2; --r-heading-letter-spacing: normal; --r-heading-text-transform: uppercase; --r-heading-text-shadow: none; --r-heading-font-weight: 600; --r-heading1-text-shadow: none; --r-heading1-size: 2.5em; --r-heading2-size: 1.6em; --r-heading3-size: 1.3em; --r-heading4-size: 1em; --r-code-font: monospace; --r-link-color: #42affa; --r-link-color-dark: #068de9; --r-link-color-hover: #8dcffc; --r-selection-background-color: #bee4fd; --r-selection-color: #fff; } .reveal-viewport { background: #191919; background-color: var(--r-background-color); } .reveal { font-family: var(--r-main-font); font-size: var(--r-main-font-size); font-weight: normal; color: var(--r-main-color); } .reveal ::selection { color: var(--r-selection-color); background: var(--r-selection-background-color); text-shadow: none; } .reveal ::-moz-selection { color: var(--r-selection-color); background: var(--r-selection-background-color); text-shadow: none; } .reveal .slides section, .reveal .slides section > section { line-height: 1.3; font-weight: inherit; } /********************************************* * HEADERS *********************************************/ .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 { margin: var(--r-heading-margin); color: var(--r-heading-color); font-family: var(--r-heading-font); font-weight: var(--r-heading-font-weight); line-height: var(--r-heading-line-height); letter-spacing: var(--r-heading-letter-spacing); text-transform: var(--r-heading-text-transform); text-shadow: var(--r-heading-text-shadow); word-wrap: break-word; } .reveal h1 { font-size: var(--r-heading1-size); } .reveal h2 { font-size: var(--r-heading2-size); } .reveal h3 { font-size: var(--r-heading3-size); } .reveal h4 { font-size: var(--r-heading4-size); } .reveal h1 { text-shadow: var(--r-heading1-text-shadow); } /********************************************* * OTHER *********************************************/ .reveal p { margin: var(--r-block-margin) 0; line-height: 1.3; } /* Remove trailing margins after titles */ .reveal h1:last-child, .reveal h2:last-child, .reveal h3:last-child, .reveal h4:last-child, .reveal h5:last-child, .reveal h6:last-child { margin-bottom: 0; } /* Ensure certain elements are never larger than the slide itself */ .reveal img, .reveal video, .reveal iframe { max-width: 95%; max-height: 95%; } .reveal strong, .reveal b { font-weight: bold; } .reveal em { font-style: italic; } .reveal ol, .reveal dl, .reveal ul { display: inline-block; text-align: left; margin: 0 0 0 1em; } .reveal ol { list-style-type: decimal; } .reveal ul { list-style-type: disc; } .reveal ul ul { list-style-type: square; } .reveal ul ul ul { list-style-type: circle; } .reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul { display: block; margin-left: 40px; } .reveal dt { font-weight: bold; } .reveal dd { margin-left: 40px; } .reveal blockquote { display: block; position: relative; width: 70%; margin: var(--r-block-margin) auto; padding: 5px; font-style: italic; background: rgba(255, 255, 255, 0.05); box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } .reveal blockquote p:first-child, .reveal blockquote p:last-child { display: inline-block; } .reveal q { font-style: italic; } .reveal pre { display: block; position: relative; width: 90%; margin: var(--r-block-margin) auto; text-align: left; font-size: 0.55em; font-family: var(--r-code-font); line-height: 1.2em; word-wrap: break-word; box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } .reveal code { font-family: var(--r-code-font); text-transform: none; tab-size: 2; } .reveal pre code { display: block; padding: 5px; overflow: auto; max-height: 400px; word-wrap: normal; } .reveal .code-wrapper { white-space: normal; } .reveal .code-wrapper code { white-space: pre; } .reveal table { margin: auto; border-collapse: collapse; border-spacing: 0; } .reveal table th { font-weight: bold; } .reveal table th, .reveal table td { text-align: left; padding: 0.2em 0.5em 0.2em 0.5em; border-bottom: 1px solid; } .reveal table th[align=center], .reveal table td[align=center] { text-align: center; } .reveal table th[align=right], .reveal table td[align=right] { text-align: right; } .reveal table tbody tr:last-child th, .reveal table tbody tr:last-child td { border-bottom: none; } .reveal sup { vertical-align: super; font-size: smaller; } .reveal sub { vertical-align: sub; font-size: smaller; } .reveal small { display: inline-block; font-size: 0.6em; line-height: 1.2em; vertical-align: top; } .reveal small * { vertical-align: top; } .reveal img { margin: var(--r-block-margin) 0; } /********************************************* * LINKS *********************************************/ .reveal a { color: var(--r-link-color); text-decoration: none; transition: color 0.15s ease; } .reveal a:hover { color: var(--r-link-color-hover); text-shadow: none; border: none; } .reveal .roll span:after { color: #fff; background: var(--r-link-color-dark); } /********************************************* * Frame helper *********************************************/ .reveal .r-frame { border: 4px solid var(--r-main-color); box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } .reveal a .r-frame { transition: all 0.15s linear; } .reveal a:hover .r-frame { border-color: var(--r-link-color); box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } /********************************************* * NAVIGATION CONTROLS *********************************************/ .reveal .controls { color: var(--r-link-color); } /********************************************* * PROGRESS BAR *********************************************/ .reveal .progress { background: rgba(0, 0, 0, 0.2); color: var(--r-link-color); } /********************************************* * PRINT BACKGROUND *********************************************/ @media print { .backgrounds { background-color: var(--r-background-color); } } /*! * reveal.js 4.3.1 * https://revealjs.com * MIT licensed * * Copyright (C) 2011-2022 Hakim El Hattab, https://hakim.se */ .reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal pre.r-stretch code,.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}.reveal .r-fit-text{display:inline-block;white-space:nowrap}.reveal .r-stack{display:grid}.reveal .r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal .r-vstack{display:flex}.reveal .r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-vstack video{min-width:0;min-height:0;object-fit:contain}.reveal .r-vstack{flex-direction:column;align-items:center;justify-content:center}.reveal .r-hstack{flex-direction:row;align-items:center;justify-content:center}.reveal .items-stretch{align-items:stretch}.reveal .items-start{align-items:flex-start}.reveal .items-center{align-items:center}.reveal .items-end{align-items:flex-end}.reveal .justify-between{justify-content:space-between}.reveal .justify-around{justify-content:space-around}.reveal .justify-start{justify-content:flex-start}.reveal .justify-center{justify-content:center}.reveal .justify-end{justify-content:flex-end}html.reveal-full-page{width:100%;height:100%;height:100vh;height:calc(var(--vh,1vh) * 100);overflow:hidden}.reveal-viewport{height:100%;overflow:hidden;position:relative;line-height:1;margin:0;background-color:#fff;color:#000}.reveal-viewport:fullscreen{top:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important}.reveal .slides section .fragment{opacity:0;visibility:hidden;transition:all .2s ease;will-change:opacity}.reveal .slides section .fragment.visible{opacity:1;visibility:inherit}.reveal .slides section .fragment.disabled{transition:none}.reveal .slides section .fragment.grow{opacity:1;visibility:inherit}.reveal .slides section .fragment.grow.visible{transform:scale(1.3)}.reveal .slides section .fragment.shrink{opacity:1;visibility:inherit}.reveal .slides section .fragment.shrink.visible{transform:scale(.7)}.reveal .slides section .fragment.zoom-in{transform:scale(.1)}.reveal .slides section .fragment.zoom-in.visible{transform:none}.reveal .slides section .fragment.fade-out{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .slides section .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .slides section .fragment.semi-fade-out.visible{opacity:.5;visibility:inherit}.reveal .slides section .fragment.strike{opacity:1;visibility:inherit}.reveal .slides section .fragment.strike.visible{text-decoration:line-through}.reveal .slides section .fragment.fade-up{transform:translate(0,40px)}.reveal .slides section .fragment.fade-up.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-down{transform:translate(0,-40px)}.reveal .slides section .fragment.fade-down.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-right{transform:translate(-40px,0)}.reveal .slides section .fragment.fade-right.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-left{transform:translate(40px,0)}.reveal .slides section .fragment.fade-left.visible{transform:translate(0,0)}.reveal .slides section .fragment.current-visible,.reveal .slides section .fragment.fade-in-then-out{opacity:0;visibility:hidden}.reveal .slides section .fragment.current-visible.current-fragment,.reveal .slides section .fragment.fade-in-then-out.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .slides section .fragment.fade-in-then-semi-out.visible{opacity:.5;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-blue,.reveal .slides section .fragment.highlight-current-blue,.reveal .slides section .fragment.highlight-current-green,.reveal .slides section .fragment.highlight-current-red,.reveal .slides section .fragment.highlight-green,.reveal .slides section .fragment.highlight-red{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-red.visible{color:#ff2c2d}.reveal .slides section .fragment.highlight-green.visible{color:#17ff2e}.reveal .slides section .fragment.highlight-blue.visible{color:#1b91ff}.reveal .slides section .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .slides section .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .slides section .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:"";font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}@keyframes bounce-right{0%,10%,25%,40%,50%{transform:translateX(0)}20%{transform:translateX(10px)}30%{transform:translateX(-5px)}}@keyframes bounce-left{0%,10%,25%,40%,50%{transform:translateX(0)}20%{transform:translateX(-10px)}30%{transform:translateX(5px)}}@keyframes bounce-down{0%,10%,25%,40%,50%{transform:translateY(0)}20%{transform:translateY(10px)}30%{transform:translateY(-5px)}}.reveal .controls{display:none;position:absolute;top:auto;bottom:12px;right:12px;left:auto;z-index:11;color:#000;pointer-events:none;font-size:10px}.reveal .controls button{position:absolute;padding:0;background-color:transparent;border:0;outline:0;cursor:pointer;color:currentColor;transform:scale(.9999);transition:color .2s ease,opacity .2s ease,transform .2s ease;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.reveal .controls .controls-arrow:after,.reveal .controls .controls-arrow:before{content:"";position:absolute;top:0;left:0;width:2.6em;height:.5em;border-radius:.25em;background-color:currentColor;transition:all .15s ease,background-color .8s ease;transform-origin:.2em 50%;will-change:transform}.reveal .controls .controls-arrow{position:relative;width:3.6em;height:3.6em}.reveal .controls .controls-arrow:before{transform:translateX(.5em) translateY(1.55em) rotate(45deg)}.reveal .controls .controls-arrow:after{transform:translateX(.5em) translateY(1.55em) rotate(-45deg)}.reveal .controls .controls-arrow:hover:before{transform:translateX(.5em) translateY(1.55em) rotate(40deg)}.reveal .controls .controls-arrow:hover:after{transform:translateX(.5em) translateY(1.55em) rotate(-40deg)}.reveal .controls .controls-arrow:active:before{transform:translateX(.5em) translateY(1.55em) rotate(36deg)}.reveal .controls .controls-arrow:active:after{transform:translateX(.5em) translateY(1.55em) rotate(-36deg)}.reveal .controls .navigate-left{right:6.4em;bottom:3.2em;transform:translateX(-10px)}.reveal .controls .navigate-left.highlight{animation:bounce-left 2s 50 both ease-out}.reveal .controls .navigate-right{right:0;bottom:3.2em;transform:translateX(10px)}.reveal .controls .navigate-right .controls-arrow{transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{animation:bounce-right 2s 50 both ease-out}.reveal .controls .navigate-up{right:3.2em;bottom:6.4em;transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{transform:rotate(90deg)}.reveal .controls .navigate-down{right:3.2em;bottom:-1.4em;padding-bottom:1.4em;transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{animation:bounce-down 2s 50 both ease-out}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled{opacity:.3}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:.9;cursor:pointer;transform:none}.reveal .controls .enabled.fragmented{opacity:.5}.reveal .controls .enabled.fragmented:hover,.reveal .controls .enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled{opacity:.3}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=hidden] .navigate-left.enabled{opacity:0;visibility:hidden}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled{opacity:.3}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover{opacity:1}.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled{opacity:0;visibility:hidden}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up{display:none}.reveal:not(.has-vertical-slides) .controls .navigate-left,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left{bottom:1.4em;right:5.5em}.reveal:not(.has-vertical-slides) .controls .navigate-right,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right{bottom:1.4em;right:.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{right:1.4em;bottom:5em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{right:1.4em;bottom:.5em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:active:before,.reveal.no-hover .controls .controls-arrow:hover:before{transform:translateX(.5em) translateY(1.55em) rotate(45deg)}.reveal.no-hover .controls .controls-arrow:active:after,.reveal.no-hover .controls .controls-arrow:hover:after{transform:translateX(.5em) translateY(1.55em) rotate(-45deg)}@media screen and (min-width:500px){.reveal .controls[data-controls-layout=edges]{top:0;right:0;bottom:0;left:0}.reveal .controls[data-controls-layout=edges] .navigate-down,.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up{bottom:auto;right:auto}.reveal .controls[data-controls-layout=edges] .navigate-left{top:50%;left:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-right{top:50%;right:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:.8em;left:50%;margin-left:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:-.3em;left:50%;margin-left:-1.8em}}.reveal .progress{position:absolute;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10;background-color:rgba(0,0,0,.2);color:#fff}.reveal .progress:after{content:"";display:block;position:absolute;height:10px;width:100%;top:-10px}.reveal .progress span{display:block;height:100%;width:100%;background-color:currentColor;transition:transform .8s cubic-bezier(.26,.86,.44,.985);transform-origin:0 0;transform:scaleX(0)}.reveal .slide-number{position:absolute;display:block;right:8px;bottom:8px;z-index:31;font-family:Helvetica,sans-serif;font-size:12px;line-height:1;color:#fff;background-color:rgba(0,0,0,.4);padding:5px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pinch-zoom}.reveal.embedded{touch-action:pan-y}.reveal .slides{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;overflow:visible;z-index:1;text-align:center;perspective:600px;perspective-origin:50% 40%}.reveal .slides>section{perspective:600px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;pointer-events:auto;z-index:10;transform-style:flat;transition:transform-origin .8s cubic-bezier(.26,.86,.44,.985),transform .8s cubic-bezier(.26,.86,.44,.985),visibility .8s cubic-bezier(.26,.86,.44,.985),opacity .8s cubic-bezier(.26,.86,.44,.985)}.reveal[data-transition-speed=fast] .slides section{transition-duration:.4s}.reveal[data-transition-speed=slow] .slides section{transition-duration:1.2s}.reveal .slides section[data-transition-speed=fast]{transition-duration:.4s}.reveal .slides section[data-transition-speed=slow]{transition-duration:1.2s}.reveal .slides>section.stack{padding-top:0;padding-bottom:0;pointer-events:none;height:100%}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section>section[data-background-interactive],.reveal .slides>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0!important}.reveal .slides>section:not(.present),.reveal .slides>section>section:not(.present){pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.future,.reveal .slides>section.future>section,.reveal .slides>section.past,.reveal .slides>section.past>section,.reveal .slides>section>section.future,.reveal .slides>section>section.past{opacity:0}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{transform:translate(-150%,0)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{transform:translate(150%,0)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{transform:translate(0,-150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{transform:translate(0,150%)}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past{transform:translate(-150%,0)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{transform:translate(150%,0)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{transform:translate(0,-150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{transform:translate(0,150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{transform:translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{transform:translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;transform:scale(.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{transform:scale(16)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{transform:scale(.2)}.reveal.cube .slides{perspective:1300px}.reveal.cube .slides section{padding:30px;min-height:700px;backface-visibility:hidden;box-sizing:border-box;transform-style:preserve-3d}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);border-radius:4px;transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px rgba(0,0,0,.2);transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:0 0}.reveal.cube .slides>section.past{transform-origin:100% 0;transform:translate3d(-100%,0,0) rotateY(-90deg)}.reveal.cube .slides>section.future{transform-origin:0 0;transform:translate3d(100%,0,0) rotateY(90deg)}.reveal.cube .slides>section>section.past{transform-origin:0 100%;transform:translate3d(0,-100%,0) rotateX(90deg)}.reveal.cube .slides>section>section.future{transform-origin:0 0;transform:translate3d(0,100%,0) rotateX(-90deg)}.reveal.page .slides{perspective-origin:0 50%;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;box-sizing:border-box;transform-style:preserve-3d}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px rgba(0,0,0,.2);-webkit-transform:translateZ(-90px) rotateX(65deg)}.reveal.page .slides>section.stack{padding:0;background:0 0}.reveal.page .slides>section.past{transform-origin:0 0;transform:translate3d(-40%,0,0) rotateY(-80deg)}.reveal.page .slides>section.future{transform-origin:100% 0;transform:translate3d(0,0,0)}.reveal.page .slides>section>section.past{transform-origin:0 0;transform:translate3d(0,-40%,0) rotateX(80deg)}.reveal.page .slides>section>section.future{transform-origin:0 100%;transform:translate3d(0,0,0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){transform:none;transition:opacity .5s}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){transform:none;transition:none}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;visibility:hidden;opacity:0;z-index:100;transition:all 1s ease}.reveal .pause-overlay .resume-button{position:absolute;bottom:20px;right:20px;color:#ccc;border-radius:2px;padding:6px 14px;border:2px solid #ccc;font-size:16px;background:0 0;cursor:pointer}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.reveal .no-transition,.reveal .no-transition *,.reveal .slides.disable-slide-transitions section{transition:none!important}.reveal .slides.disable-slide-transitions section{transform:none!important}.reveal .backgrounds{position:absolute;width:100%;height:100%;top:0;left:0;perspective:600px}.reveal .slide-background{display:none;position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;overflow:hidden;background-color:rgba(0,0,0,0);transition:all .8s cubic-bezier(.26,.86,.44,.985)}.reveal .slide-background-content{position:absolute;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1!important;visibility:visible!important}.reveal .slide-background video{position:absolute;width:100%;height:100%;max-width:none;max-height:none;top:0;left:0;object-fit:cover}.reveal .slide-background[data-background-size=contain] video{object-fit:contain}.reveal>.backgrounds .slide-background[data-background-transition=none],.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]){transition:none}.reveal>.backgrounds .slide-background[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]){opacity:1}.reveal>.backgrounds .slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]){transform:translate(-100%,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]){transform:translate(100%,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){transform:translate(0,-100%)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){transform:translate(0,100%)}.reveal>.backgrounds .slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(-90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(-90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]){transition-timing-function:ease}.reveal>.backgrounds .slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-transition-speed=fast]>.backgrounds .slide-background{transition-duration:.4s}.reveal[data-transition-speed=slow]>.backgrounds .slide-background{transition-duration:1.2s}.reveal [data-auto-animate-target^=unmatched]{will-change:opacity}.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched]{opacity:0}.reveal.overview{perspective-origin:50% 50%;perspective:700px}.reveal.overview .slides{-moz-transform-style:preserve-3d}.reveal.overview .slides section{height:100%;top:0!important;opacity:1!important;overflow:hidden;visibility:visible!important;cursor:pointer;box-sizing:border-box}.reveal.overview .slides section.present,.reveal.overview .slides section:hover{outline:10px solid rgba(150,150,150,.4);outline-offset:10px}.reveal.overview .slides section .fragment{opacity:1;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none!important}.reveal.overview .slides>section.stack{padding:0;top:0!important;background:0 0;outline:0;overflow:visible}.reveal.overview .backgrounds{perspective:inherit;-moz-transform-style:preserve-3d}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline:10px solid rgba(150,150,150,.1);outline-offset:10px}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section{transition:none}.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl code,.reveal.rtl pre{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{transform-origin:100% 0}.reveal.has-parallax-background .backgrounds{transition:all .8s ease}.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds{transition-duration:.4s}.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds{transition-duration:1.2s}.reveal>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:rgba(0,0,0,.9);transition:all .3s ease}.reveal>.overlay .spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);visibility:visible;opacity:.6;transition:all .3s ease}.reveal>.overlay header{position:absolute;left:0;top:0;width:100%;padding:5px;z-index:2;box-sizing:border-box}.reveal>.overlay header a{display:inline-block;width:40px;height:40px;line-height:36px;padding:0 10px;float:right;opacity:.6;box-sizing:border-box}.reveal>.overlay header a:hover{opacity:1}.reveal>.overlay header a .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.reveal>.overlay header a.close .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC)}.reveal>.overlay header a.external .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==)}.reveal>.overlay .viewport{position:absolute;display:flex;top:50px;right:0;bottom:0;left:0}.reveal>.overlay.overlay-preview .viewport iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;transition:all .3s ease}.reveal>.overlay.overlay-preview.loaded .viewport iframe{opacity:1;visibility:visible}.reveal>.overlay.overlay-preview.loaded .viewport-inner{position:absolute;z-index:-1;left:0;top:45%;width:100%;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-preview .x-frame-error{opacity:0;transition:opacity .3s ease .3s}.reveal>.overlay.overlay-preview.loaded .x-frame-error{opacity:1}.reveal>.overlay.overlay-preview.loaded .spinner{opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.overlay.overlay-help .viewport{overflow:auto;color:#fff}.reveal>.overlay.overlay-help .viewport .viewport-inner{width:600px;margin:auto;padding:20px 20px 80px 20px;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-help .viewport .viewport-inner .title{font-size:20px}.reveal>.overlay.overlay-help .viewport .viewport-inner table{border:1px solid #fff;border-collapse:collapse;font-size:16px}.reveal>.overlay.overlay-help .viewport .viewport-inner table td,.reveal>.overlay.overlay-help .viewport .viewport-inner table th{width:200px;padding:14px;border:1px solid #fff;vertical-align:middle}.reveal>.overlay.overlay-help .viewport .viewport-inner table th{padding-top:20px;padding-bottom:20px}.reveal .playback{position:absolute;left:15px;bottom:20px;z-index:30;cursor:pointer;transition:all .4s ease;-webkit-tap-highlight-color:transparent}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .hljs{min-height:100%}.reveal .hljs table{margin:initial}.reveal .hljs-ln-code,.reveal .hljs-ln-numbers{padding:0;border:0}.reveal .hljs-ln-numbers{opacity:.6;padding-right:.75em;text-align:right;vertical-align:top}.reveal .hljs.has-highlights tr:not(.highlight-line){opacity:.4}.reveal .hljs:not(:first-child).fragment{position:absolute;top:0;left:0;width:100%;box-sizing:border-box}.reveal pre[data-auto-animate-target]{overflow:hidden}.reveal pre[data-auto-animate-target] code{height:100%}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;perspective:400px;perspective-origin:50% 50%}.reveal .roll:hover{background:0 0;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;transition:all .4s ease;transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:hidden}.reveal .roll:hover span{background:rgba(0,0,0,.5);transform:translate3d(0,0,-45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:absolute;left:0;top:0;padding:0 2px;backface-visibility:hidden;transform-origin:50% 0;transform:translate3d(0,110%,0) rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{display:none;position:absolute;width:33.3333333333%;height:100%;top:0;left:100%;padding:14px 18px 14px 18px;z-index:1;font-size:18px;line-height:1.4;border:1px solid rgba(0,0,0,.05);color:#222;background-color:#f5f5f5;overflow:auto;box-sizing:border-box;text-align:left;font-family:Helvetica,sans-serif;-webkit-overflow-scrolling:touch}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:0}.reveal .speaker-notes:before{content:"Speaker notes";display:block;margin-bottom:10px;opacity:.5}.reveal.show-notes{max-width:75%;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width:1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width:1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70%;max-height:70vh;overflow:visible}.reveal.show-notes .speaker-notes{top:100%;left:0;width:100%;height:30vh;border:0}}@media screen and (max-width:600px){.reveal.show-notes{max-height:60%;max-height:60vh}.reveal.show-notes .speaker-notes{top:100%;height:40vh}.reveal .speaker-notes{font-size:14px}}.zoomed .reveal *,.zoomed .reveal :after,.zoomed .reveal :before{backface-visibility:visible!important}.zoomed .reveal .controls,.zoomed .reveal .progress{opacity:0}.zoomed .reveal .roll span{background:0 0}.zoomed .reveal .roll span:after{visibility:hidden}html.print-pdf *{-webkit-print-color-adjust:exact}html.print-pdf{width:100%;height:100%;overflow:visible}html.print-pdf body{margin:0 auto!important;border:0;padding:0;float:none!important;overflow:visible}html.print-pdf .nestedarrow,html.print-pdf .reveal .controls,html.print-pdf .reveal .playback,html.print-pdf .reveal .progress,html.print-pdf .reveal.overview,html.print-pdf .state-background{display:none!important}html.print-pdf .reveal pre code{overflow:hidden!important;font-family:Courier,"Courier New",monospace!important}html.print-pdf .reveal{width:auto!important;height:auto!important;overflow:hidden!important}html.print-pdf .reveal .slides{position:static;width:100%!important;height:auto!important;zoom:1!important;pointer-events:initial;left:auto;top:auto;margin:0!important;padding:0!important;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}html.print-pdf .reveal .slides .pdf-page{position:relative;overflow:hidden;z-index:1;page-break-after:always}html.print-pdf .reveal .slides section{visibility:visible!important;display:block!important;position:absolute!important;margin:0!important;padding:0!important;box-sizing:border-box!important;min-height:1px;opacity:1!important;transform-style:flat!important;transform:none!important}html.print-pdf .reveal section.stack{position:relative!important;margin:0!important;padding:0!important;page-break-after:avoid!important;height:auto!important;min-height:auto!important}html.print-pdf .reveal img{box-shadow:none}html.print-pdf .reveal .backgrounds{display:none}html.print-pdf .reveal .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important}html.print-pdf .reveal.show-notes{max-width:none;max-height:none}html.print-pdf .reveal .speaker-notes-pdf{display:block;width:100%;height:auto;max-height:none;top:auto;right:auto;bottom:auto;left:auto;z-index:100}html.print-pdf .reveal .speaker-notes-pdf[data-layout=separate-page]{position:relative;color:inherit;background-color:transparent;padding:20px;page-break-after:always;border:0}html.print-pdf .reveal .slide-number-pdf{display:block;position:absolute;font-size:14px}html.print-pdf .aria-status{display:none}@media print{html:not(.print-pdf){background:#fff;width:auto;height:auto;overflow:visible}html:not(.print-pdf) body{background:#fff;font-size:20pt;width:auto;height:auto;border:0;margin:0 5%;padding:0;overflow:visible;float:none!important}html:not(.print-pdf) .controls,html:not(.print-pdf) .fork-reveal,html:not(.print-pdf) .nestedarrow,html:not(.print-pdf) .reveal .backgrounds,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .slide-number,html:not(.print-pdf) .share-reveal,html:not(.print-pdf) .state-background{display:none!important}html:not(.print-pdf) body,html:not(.print-pdf) li,html:not(.print-pdf) p,html:not(.print-pdf) td{font-size:20pt!important;color:#000}html:not(.print-pdf) h1,html:not(.print-pdf) h2,html:not(.print-pdf) h3,html:not(.print-pdf) h4,html:not(.print-pdf) h5,html:not(.print-pdf) h6{color:#000!important;height:auto;line-height:normal;text-align:left;letter-spacing:normal}html:not(.print-pdf) h1{font-size:28pt!important}html:not(.print-pdf) h2{font-size:24pt!important}html:not(.print-pdf) h3{font-size:22pt!important}html:not(.print-pdf) h4{font-size:22pt!important;font-variant:small-caps}html:not(.print-pdf) h5{font-size:21pt!important}html:not(.print-pdf) h6{font-size:20pt!important;font-style:italic}html:not(.print-pdf) a:link,html:not(.print-pdf) a:visited{color:#000!important;font-weight:700;text-decoration:underline}html:not(.print-pdf) div,html:not(.print-pdf) ol,html:not(.print-pdf) p,html:not(.print-pdf) ul{visibility:visible;position:static;width:auto;height:auto;display:block;overflow:visible;margin:0;text-align:left!important}html:not(.print-pdf) .reveal pre,html:not(.print-pdf) .reveal table{margin-left:0;margin-right:0}html:not(.print-pdf) .reveal pre code{padding:20px}html:not(.print-pdf) .reveal blockquote{margin:20px 0}html:not(.print-pdf) .reveal .slides{position:static!important;width:auto!important;height:auto!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:0!important;zoom:1!important;transform:none!important;overflow:visible!important;display:block!important;text-align:left!important;perspective:none;perspective-origin:50% 50%}html:not(.print-pdf) .reveal .slides section{visibility:visible!important;position:static!important;width:auto!important;height:auto!important;display:block!important;overflow:visible!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:60px 20px!important;z-index:auto!important;opacity:1!important;page-break-after:always!important;transform-style:flat!important;transform:none!important;transition:none!important}html:not(.print-pdf) .reveal .slides section.stack{padding:0!important}html:not(.print-pdf) .reveal section:last-of-type{page-break-after:avoid!important}html:not(.print-pdf) .reveal section .fragment{opacity:1!important;visibility:visible!important;transform:none!important}html:not(.print-pdf) .reveal .r-fit-text{white-space:normal!important}html:not(.print-pdf) .reveal section img{display:block;margin:15px 0;background:#fff;border:1px solid #666;box-shadow:none}html:not(.print-pdf) .reveal section small{font-size:.8em}html:not(.print-pdf) .reveal .hljs{max-height:100%;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;font-size:15pt}html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers{white-space:nowrap}html:not(.print-pdf) .reveal .hljs td{font-size:inherit!important;color:inherit!important}}/*! * reveal.js 4.3.1 * https://revealjs.com * MIT licensed * * Copyright (C) 2011-2022 Hakim El Hattab, https://hakim.se */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Reveal=t()}(this,(function(){"use strict";const e=(e,t)=>{for(let i in t)e[i]=t[i];return e},t=(e,t)=>Array.from(e.querySelectorAll(t)),i=(e,t,i)=>{i?e.classList.add(t):e.classList.remove(t)},a=e=>{if("string"==typeof e){if("null"===e)return null;if("true"===e)return!0;if("false"===e)return!1;if(e.match(/^-?[\d\.]+$/))return parseFloat(e)}return e},n=(e,t)=>{e.style.transform=t},s=(e,t)=>{let i=e.matches||e.matchesSelector||e.msMatchesSelector;return!(!i||!i.call(e,t))},r=(e,t)=>{if("function"==typeof e.closest)return e.closest(t);for(;e;){if(s(e,t))return e;e=e.parentNode}return null},o=(e,t,i,a="")=>{let n=e.querySelectorAll("."+i);for(let t=0;t{let t=document.createElement("style");return t.type="text/css",e&&e.length>0&&(t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))),document.head.appendChild(t),t},d=()=>{let e={};location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,(t=>{e[t.split("=").shift()]=t.split("=").pop()}));for(let t in e){let i=e[t];e[t]=a(unescape(i))}return void 0!==e.dependencies&&delete e.dependencies,e},c=(e,t=0)=>{if(e){let i,a=e.style.height;return e.style.height="0px",e.parentNode.style.height="auto",i=t-e.parentNode.offsetHeight,e.style.height=a+"px",e.parentNode.style.removeProperty("height"),i}return t},h={mp4:"video/mp4",m4a:"video/mp4",ogv:"video/ogg",mpeg:"video/mpeg",webm:"video/webm"},u=navigator.userAgent,g=/(iphone|ipod|ipad|android)/gi.test(u)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1;/chrome/i.test(u)&&/edge/i.test(u);const v=/android/gi.test(u);var p={};Object.defineProperty(p,"__esModule",{value:!0});var m=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e?x(t(document.querySelectorAll(e)),i):x([e],i)[0]}}("undefined"==typeof window?null:window);class b{constructor(e){this.Reveal=e,this.startEmbeddedIframe=this.startEmbeddedIframe.bind(this)}shouldPreload(e){let t=this.Reveal.getConfig().preloadIframes;return"boolean"!=typeof t&&(t=e.hasAttribute("data-preload")),t}load(e,i={}){e.style.display=this.Reveal.getConfig().display,t(e,"img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach((e=>{("IFRAME"!==e.tagName||this.shouldPreload(e))&&(e.setAttribute("src",e.getAttribute("data-src")),e.setAttribute("data-lazy-loaded",""),e.removeAttribute("data-src"))})),t(e,"video, audio").forEach((e=>{let i=0;t(e,"source[data-src]").forEach((e=>{e.setAttribute("src",e.getAttribute("data-src")),e.removeAttribute("data-src"),e.setAttribute("data-lazy-loaded",""),i+=1})),g&&"VIDEO"===e.tagName&&e.setAttribute("playsinline",""),i>0&&e.load()}));let a=e.slideBackgroundElement;if(a){a.style.display="block";let t=e.slideBackgroundContentElement,n=e.getAttribute("data-background-iframe");if(!1===a.hasAttribute("data-loaded")){a.setAttribute("data-loaded","true");let s=e.getAttribute("data-background-image"),r=e.getAttribute("data-background-video"),o=e.hasAttribute("data-background-video-loop"),l=e.hasAttribute("data-background-video-muted");if(s)/^data:/.test(s.trim())?t.style.backgroundImage=`url(${s.trim()})`:t.style.backgroundImage=s.split(",").map((e=>`url(${encodeURI(e.trim())})`)).join(",");else if(r&&!this.Reveal.isSpeakerNotes()){let e=document.createElement("video");o&&e.setAttribute("loop",""),l&&(e.muted=!0),g&&(e.muted=!0,e.setAttribute("playsinline","")),r.split(",").forEach((t=>{let i=((e="")=>h[e.split(".").pop()])(t);e.innerHTML+=i?``:``})),t.appendChild(e)}else if(n&&!0!==i.excludeIframes){let e=document.createElement("iframe");e.setAttribute("allowfullscreen",""),e.setAttribute("mozallowfullscreen",""),e.setAttribute("webkitallowfullscreen",""),e.setAttribute("allow","autoplay"),e.setAttribute("data-src",n),e.style.width="100%",e.style.height="100%",e.style.maxHeight="100%",e.style.maxWidth="100%",t.appendChild(e)}}let s=t.querySelector("iframe[data-src]");s&&this.shouldPreload(a)&&!/autoplay=(1|true|yes)/gi.test(n)&&s.getAttribute("src")!==n&&s.setAttribute("src",n)}this.layout(e)}layout(e){Array.from(e.querySelectorAll(".r-fit-text")).forEach((e=>{f(e,{minSize:24,maxSize:.8*this.Reveal.getConfig().height,observeMutations:!1,observeWindow:!1})}))}unload(e){e.style.display="none";let i=this.Reveal.getSlideBackground(e);i&&(i.style.display="none",t(i,"iframe[src]").forEach((e=>{e.removeAttribute("src")}))),t(e,"video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach((e=>{e.setAttribute("data-src",e.getAttribute("src")),e.removeAttribute("src")})),t(e,"video[data-lazy-loaded] source[src], audio source[src]").forEach((e=>{e.setAttribute("data-src",e.getAttribute("src")),e.removeAttribute("src")}))}formatEmbeddedContent(){let e=(e,i,a)=>{t(this.Reveal.getSlidesElement(),"iframe["+e+'*="'+i+'"]').forEach((t=>{let i=t.getAttribute(e);i&&-1===i.indexOf(a)&&t.setAttribute(e,i+(/\?/.test(i)?"&":"?")+a)}))};e("src","youtube.com/embed/","enablejsapi=1"),e("data-src","youtube.com/embed/","enablejsapi=1"),e("src","player.vimeo.com/","api=1"),e("data-src","player.vimeo.com/","api=1")}startEmbeddedContent(e){e&&!this.Reveal.isSpeakerNotes()&&(t(e,'img[src$=".gif"]').forEach((e=>{e.setAttribute("src",e.getAttribute("src"))})),t(e,"video, audio").forEach((e=>{if(r(e,".fragment")&&!r(e,".fragment.visible"))return;let t=this.Reveal.getConfig().autoPlayMedia;if("boolean"!=typeof t&&(t=e.hasAttribute("data-autoplay")||!!r(e,".slide-background")),t&&"function"==typeof e.play)if(e.readyState>1)this.startEmbeddedMedia({target:e});else if(g){let t=e.play();t&&"function"==typeof t.catch&&!1===e.controls&&t.catch((()=>{e.controls=!0,e.addEventListener("play",(()=>{e.controls=!1}))}))}else e.removeEventListener("loadeddata",this.startEmbeddedMedia),e.addEventListener("loadeddata",this.startEmbeddedMedia)})),t(e,"iframe[src]").forEach((e=>{r(e,".fragment")&&!r(e,".fragment.visible")||this.startEmbeddedIframe({target:e})})),t(e,"iframe[data-src]").forEach((e=>{r(e,".fragment")&&!r(e,".fragment.visible")||e.getAttribute("src")!==e.getAttribute("data-src")&&(e.removeEventListener("load",this.startEmbeddedIframe),e.addEventListener("load",this.startEmbeddedIframe),e.setAttribute("src",e.getAttribute("data-src")))})))}startEmbeddedMedia(e){let t=!!r(e.target,"html"),i=!!r(e.target,".present");t&&i&&(e.target.currentTime=0,e.target.play()),e.target.removeEventListener("loadeddata",this.startEmbeddedMedia)}startEmbeddedIframe(e){let t=e.target;if(t&&t.contentWindow){let i=!!r(e.target,"html"),a=!!r(e.target,".present");if(i&&a){let e=this.Reveal.getConfig().autoPlayMedia;"boolean"!=typeof e&&(e=t.hasAttribute("data-autoplay")||!!r(t,".slide-background")),/youtube\.com\/embed\//.test(t.getAttribute("src"))&&e?t.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"):/player\.vimeo\.com\//.test(t.getAttribute("src"))&&e?t.contentWindow.postMessage('{"method":"play"}',"*"):t.contentWindow.postMessage("slide:start","*")}}}stopEmbeddedContent(i,a={}){a=e({unloadIframes:!0},a),i&&i.parentNode&&(t(i,"video, audio").forEach((e=>{e.hasAttribute("data-ignore")||"function"!=typeof e.pause||(e.setAttribute("data-paused-by-reveal",""),e.pause())})),t(i,"iframe").forEach((e=>{e.contentWindow&&e.contentWindow.postMessage("slide:stop","*"),e.removeEventListener("load",this.startEmbeddedIframe)})),t(i,'iframe[src*="youtube.com/embed/"]').forEach((e=>{!e.hasAttribute("data-ignore")&&e.contentWindow&&"function"==typeof e.contentWindow.postMessage&&e.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")})),t(i,'iframe[src*="player.vimeo.com/"]').forEach((e=>{!e.hasAttribute("data-ignore")&&e.contentWindow&&"function"==typeof e.contentWindow.postMessage&&e.contentWindow.postMessage('{"method":"pause"}',"*")})),!0===a.unloadIframes&&t(i,"iframe[data-src]").forEach((e=>{e.setAttribute("src","about:blank"),e.removeAttribute("src")})))}}class y{constructor(e){this.Reveal=e}render(){this.element=document.createElement("div"),this.element.className="slide-number",this.Reveal.getRevealElement().appendChild(this.element)}configure(e,t){let i="none";e.slideNumber&&!this.Reveal.isPrintingPDF()&&("all"===e.showSlideNumber||"speaker"===e.showSlideNumber&&this.Reveal.isSpeakerNotes())&&(i="block"),this.element.style.display=i}update(){this.Reveal.getConfig().slideNumber&&this.element&&(this.element.innerHTML=this.getSlideNumber())}getSlideNumber(e=this.Reveal.getCurrentSlide()){let t,i=this.Reveal.getConfig(),a="h.v";if("function"==typeof i.slideNumber)t=i.slideNumber(e);else{"string"==typeof i.slideNumber&&(a=i.slideNumber),/c/.test(a)||1!==this.Reveal.getHorizontalSlides().length||(a="c");let n=e&&"uncounted"===e.dataset.visibility?0:1;switch(t=[],a){case"c":t.push(this.Reveal.getSlidePastCount(e)+n);break;case"c/t":t.push(this.Reveal.getSlidePastCount(e)+n,"/",this.Reveal.getTotalSlides());break;default:let i=this.Reveal.getIndices(e);t.push(i.h+n);let s="h/v"===a?"/":".";this.Reveal.isVerticalSlide(e)&&t.push(s,i.v+1)}}let n="#"+this.Reveal.location.getHash(e);return this.formatNumber(t[0],t[1],t[2],n)}formatNumber(e,t,i,a="#"+this.Reveal.location.getHash()){return"number"!=typeof i||isNaN(i)?`
    \n\t\t\t\t\t${e}\n\t\t\t\t\t`:`\n\t\t\t\t\t${e}\n\t\t\t\t\t${t}\n\t\t\t\t\t${i}\n\t\t\t\t\t`}destroy(){this.element.remove()}}const w=e=>{let t=e.match(/^#([0-9a-f]{3})$/i);if(t&&t[1])return t=t[1],{r:17*parseInt(t.charAt(0),16),g:17*parseInt(t.charAt(1),16),b:17*parseInt(t.charAt(2),16)};let i=e.match(/^#([0-9a-f]{6})$/i);if(i&&i[1])return i=i[1],{r:parseInt(i.slice(0,2),16),g:parseInt(i.slice(2,4),16),b:parseInt(i.slice(4,6),16)};let a=e.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);if(a)return{r:parseInt(a[1],10),g:parseInt(a[2],10),b:parseInt(a[3],10)};let n=e.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i);return n?{r:parseInt(n[1],10),g:parseInt(n[2],10),b:parseInt(n[3],10),a:parseFloat(n[4])}:null};class E{constructor(e){this.Reveal=e}render(){this.element=document.createElement("div"),this.element.className="backgrounds",this.Reveal.getRevealElement().appendChild(this.element)}create(){this.element.innerHTML="",this.element.classList.add("no-transition"),this.Reveal.getHorizontalSlides().forEach((e=>{let i=this.createBackground(e,this.element);t(e,"section").forEach((e=>{this.createBackground(e,i),i.classList.add("stack")}))})),this.Reveal.getConfig().parallaxBackgroundImage?(this.element.style.backgroundImage='url("'+this.Reveal.getConfig().parallaxBackgroundImage+'")',this.element.style.backgroundSize=this.Reveal.getConfig().parallaxBackgroundSize,this.element.style.backgroundRepeat=this.Reveal.getConfig().parallaxBackgroundRepeat,this.element.style.backgroundPosition=this.Reveal.getConfig().parallaxBackgroundPosition,setTimeout((()=>{this.Reveal.getRevealElement().classList.add("has-parallax-background")}),1)):(this.element.style.backgroundImage="",this.Reveal.getRevealElement().classList.remove("has-parallax-background"))}createBackground(e,t){let i=document.createElement("div");i.className="slide-background "+e.className.replace(/present|past|future/,"");let a=document.createElement("div");return a.className="slide-background-content",i.appendChild(a),t.appendChild(i),e.slideBackgroundElement=i,e.slideBackgroundContentElement=a,this.sync(e),i}sync(e){const t=e.slideBackgroundElement,i=e.slideBackgroundContentElement,a={background:e.getAttribute("data-background"),backgroundSize:e.getAttribute("data-background-size"),backgroundImage:e.getAttribute("data-background-image"),backgroundVideo:e.getAttribute("data-background-video"),backgroundIframe:e.getAttribute("data-background-iframe"),backgroundColor:e.getAttribute("data-background-color"),backgroundGradient:e.getAttribute("data-background-gradient"),backgroundRepeat:e.getAttribute("data-background-repeat"),backgroundPosition:e.getAttribute("data-background-position"),backgroundTransition:e.getAttribute("data-background-transition"),backgroundOpacity:e.getAttribute("data-background-opacity")},n=e.hasAttribute("data-preload");e.classList.remove("has-dark-background"),e.classList.remove("has-light-background"),t.removeAttribute("data-loaded"),t.removeAttribute("data-background-hash"),t.removeAttribute("data-background-size"),t.removeAttribute("data-background-transition"),t.style.backgroundColor="",i.style.backgroundSize="",i.style.backgroundRepeat="",i.style.backgroundPosition="",i.style.backgroundImage="",i.style.opacity="",i.innerHTML="",a.background&&(/^(http|file|\/\/)/gi.test(a.background)||/\.(svg|png|jpg|jpeg|gif|bmp|webp)([?#\s]|$)/gi.test(a.background)?e.setAttribute("data-background-image",a.background):t.style.background=a.background),(a.background||a.backgroundColor||a.backgroundGradient||a.backgroundImage||a.backgroundVideo||a.backgroundIframe)&&t.setAttribute("data-background-hash",a.background+a.backgroundSize+a.backgroundImage+a.backgroundVideo+a.backgroundIframe+a.backgroundColor+a.backgroundGradient+a.backgroundRepeat+a.backgroundPosition+a.backgroundTransition+a.backgroundOpacity),a.backgroundSize&&t.setAttribute("data-background-size",a.backgroundSize),a.backgroundColor&&(t.style.backgroundColor=a.backgroundColor),a.backgroundGradient&&(t.style.backgroundImage=a.backgroundGradient),a.backgroundTransition&&t.setAttribute("data-background-transition",a.backgroundTransition),n&&t.setAttribute("data-preload",""),a.backgroundSize&&(i.style.backgroundSize=a.backgroundSize),a.backgroundRepeat&&(i.style.backgroundRepeat=a.backgroundRepeat),a.backgroundPosition&&(i.style.backgroundPosition=a.backgroundPosition),a.backgroundOpacity&&(i.style.opacity=a.backgroundOpacity);let s=a.backgroundColor;if(!s||!w(s)){let e=window.getComputedStyle(t);e&&e.backgroundColor&&(s=e.backgroundColor)}if(s){const t=w(s);t&&0!==t.a&&("string"==typeof(r=s)&&(r=w(r)),(r?(299*r.r+587*r.g+114*r.b)/1e3:null)<128?e.classList.add("has-dark-background"):e.classList.add("has-light-background"))}var r}update(e=!1){let i=this.Reveal.getCurrentSlide(),a=this.Reveal.getIndices(),n=null,s=this.Reveal.getConfig().rtl?"future":"past",r=this.Reveal.getConfig().rtl?"past":"future";if(Array.from(this.element.childNodes).forEach(((i,o)=>{i.classList.remove("past","present","future"),oa.h?i.classList.add(r):(i.classList.add("present"),n=i),(e||o===a.h)&&t(i,".slide-background").forEach(((e,t)=>{e.classList.remove("past","present","future"),ta.v?e.classList.add("future"):(e.classList.add("present"),o===a.h&&(n=e))}))})),this.previousBackground&&this.Reveal.slideContent.stopEmbeddedContent(this.previousBackground,{unloadIframes:!this.Reveal.slideContent.shouldPreload(this.previousBackground)}),n){this.Reveal.slideContent.startEmbeddedContent(n);let e=n.querySelector(".slide-background-content");if(e){let t=e.style.backgroundImage||"";/\.gif/i.test(t)&&(e.style.backgroundImage="",window.getComputedStyle(e).opacity,e.style.backgroundImage=t)}let t=this.previousBackground?this.previousBackground.getAttribute("data-background-hash"):null,i=n.getAttribute("data-background-hash");i&&i===t&&n!==this.previousBackground&&this.element.classList.add("no-transition"),this.previousBackground=n}i&&["has-light-background","has-dark-background"].forEach((e=>{i.classList.contains(e)?this.Reveal.getRevealElement().classList.add(e):this.Reveal.getRevealElement().classList.remove(e)}),this),setTimeout((()=>{this.element.classList.remove("no-transition")}),1)}updateParallax(){let e=this.Reveal.getIndices();if(this.Reveal.getConfig().parallaxBackgroundImage){let t,i,a=this.Reveal.getHorizontalSlides(),n=this.Reveal.getVerticalSlides(),s=this.element.style.backgroundSize.split(" ");1===s.length?t=i=parseInt(s[0],10):(t=parseInt(s[0],10),i=parseInt(s[1],10));let r,o,l=this.element.offsetWidth,d=a.length;r="number"==typeof this.Reveal.getConfig().parallaxBackgroundHorizontal?this.Reveal.getConfig().parallaxBackgroundHorizontal:d>1?(t-l)/(d-1):0,o=r*e.h*-1;let c,h,u=this.element.offsetHeight,g=n.length;c="number"==typeof this.Reveal.getConfig().parallaxBackgroundVertical?this.Reveal.getConfig().parallaxBackgroundVertical:(i-u)/(g-1),h=g>0?c*e.v:0,this.element.style.backgroundPosition=o+"px "+-h+"px"}}destroy(){this.element.remove()}}const R=".slides section",S=".slides>section",A=".slides>section.present>section",k=/registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener|showPreview/,L=/fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/;let C=0;class x{constructor(e){this.Reveal=e}run(e,t){this.reset();let i=this.Reveal.getSlides(),a=i.indexOf(t),n=i.indexOf(e);if(e.hasAttribute("data-auto-animate")&&t.hasAttribute("data-auto-animate")&&e.getAttribute("data-auto-animate-id")===t.getAttribute("data-auto-animate-id")&&!(a>n?t:e).hasAttribute("data-auto-animate-restart")){this.autoAnimateStyleSheet=this.autoAnimateStyleSheet||l();let i=this.getAutoAnimateOptions(t);e.dataset.autoAnimate="pending",t.dataset.autoAnimate="pending",i.slideDirection=a>n?"forward":"backward";let s="none"===e.style.display;s&&(e.style.display=this.Reveal.getConfig().display);let r=this.getAutoAnimatableElements(e,t).map((e=>this.autoAnimateElements(e.from,e.to,e.options||{},i,C++)));if(s&&(e.style.display="none"),"false"!==t.dataset.autoAnimateUnmatched&&!0===this.Reveal.getConfig().autoAnimateUnmatched){let e=.8*i.duration,a=.2*i.duration;this.getUnmatchedAutoAnimateElements(t).forEach((e=>{let t=this.getAutoAnimateOptions(e,i),a="unmatched";t.duration===i.duration&&t.delay===i.delay||(a="unmatched-"+C++,r.push(`[data-auto-animate="running"] [data-auto-animate-target="${a}"] { transition: opacity ${t.duration}s ease ${t.delay}s; }`)),e.dataset.autoAnimateTarget=a}),this),r.push(`[data-auto-animate="running"] [data-auto-animate-target="unmatched"] { transition: opacity ${e}s ease ${a}s; }`)}this.autoAnimateStyleSheet.innerHTML=r.join(""),requestAnimationFrame((()=>{this.autoAnimateStyleSheet&&(getComputedStyle(this.autoAnimateStyleSheet).fontWeight,t.dataset.autoAnimate="running")})),this.Reveal.dispatchEvent({type:"autoanimate",data:{fromSlide:e,toSlide:t,sheet:this.autoAnimateStyleSheet}})}}reset(){t(this.Reveal.getRevealElement(),'[data-auto-animate]:not([data-auto-animate=""])').forEach((e=>{e.dataset.autoAnimate=""})),t(this.Reveal.getRevealElement(),"[data-auto-animate-target]").forEach((e=>{delete e.dataset.autoAnimateTarget})),this.autoAnimateStyleSheet&&this.autoAnimateStyleSheet.parentNode&&(this.autoAnimateStyleSheet.parentNode.removeChild(this.autoAnimateStyleSheet),this.autoAnimateStyleSheet=null)}autoAnimateElements(e,t,i,a,n){e.dataset.autoAnimateTarget="",t.dataset.autoAnimateTarget=n;let s=this.getAutoAnimateOptions(t,a);void 0!==i.delay&&(s.delay=i.delay),void 0!==i.duration&&(s.duration=i.duration),void 0!==i.easing&&(s.easing=i.easing);let r=this.getAutoAnimatableProperties("from",e,i),o=this.getAutoAnimatableProperties("to",t,i);if(t.classList.contains("fragment")&&(delete o.styles.opacity,e.classList.contains("fragment"))){(e.className.match(L)||[""])[0]===(t.className.match(L)||[""])[0]&&"forward"===a.slideDirection&&t.classList.add("visible","disabled")}if(!1!==i.translate||!1!==i.scale){let e=this.Reveal.getScale(),t={x:(r.x-o.x)/e,y:(r.y-o.y)/e,scaleX:r.width/o.width,scaleY:r.height/o.height};t.x=Math.round(1e3*t.x)/1e3,t.y=Math.round(1e3*t.y)/1e3,t.scaleX=Math.round(1e3*t.scaleX)/1e3,t.scaleX=Math.round(1e3*t.scaleX)/1e3;let a=!1!==i.translate&&(0!==t.x||0!==t.y),n=!1!==i.scale&&(0!==t.scaleX||0!==t.scaleY);if(a||n){let e=[];a&&e.push(`translate(${t.x}px, ${t.y}px)`),n&&e.push(`scale(${t.scaleX}, ${t.scaleY})`),r.styles.transform=e.join(" "),r.styles["transform-origin"]="top left",o.styles.transform="none"}}for(let e in o.styles){const t=o.styles[e],i=r.styles[e];t===i?delete o.styles[e]:(!0===t.explicitValue&&(o.styles[e]=t.value),!0===i.explicitValue&&(r.styles[e]=i.value))}let l="",d=Object.keys(o.styles);if(d.length>0){r.styles.transition="none",o.styles.transition=`all ${s.duration}s ${s.easing} ${s.delay}s`,o.styles["transition-property"]=d.join(", "),o.styles["will-change"]=d.join(", "),l='[data-auto-animate-target="'+n+'"] {'+Object.keys(r.styles).map((e=>e+": "+r.styles[e]+" !important;")).join("")+'}[data-auto-animate="running"] [data-auto-animate-target="'+n+'"] {'+Object.keys(o.styles).map((e=>e+": "+o.styles[e]+" !important;")).join("")+"}"}return l}getAutoAnimateOptions(t,i){let a={easing:this.Reveal.getConfig().autoAnimateEasing,duration:this.Reveal.getConfig().autoAnimateDuration,delay:0};if(a=e(a,i),t.parentNode){let e=r(t.parentNode,"[data-auto-animate-target]");e&&(a=this.getAutoAnimateOptions(e,a))}return t.dataset.autoAnimateEasing&&(a.easing=t.dataset.autoAnimateEasing),t.dataset.autoAnimateDuration&&(a.duration=parseFloat(t.dataset.autoAnimateDuration)),t.dataset.autoAnimateDelay&&(a.delay=parseFloat(t.dataset.autoAnimateDelay)),a}getAutoAnimatableProperties(e,t,i){let a=this.Reveal.getConfig(),n={styles:[]};if(!1!==i.translate||!1!==i.scale){let e;if("function"==typeof i.measure)e=i.measure(t);else if(a.center)e=t.getBoundingClientRect();else{let i=this.Reveal.getScale();e={x:t.offsetLeft*i,y:t.offsetTop*i,width:t.offsetWidth*i,height:t.offsetHeight*i}}n.x=e.x,n.y=e.y,n.width=e.width,n.height=e.height}const s=getComputedStyle(t);return(i.styles||a.autoAnimateStyles).forEach((t=>{let i;"string"==typeof t&&(t={property:t}),void 0!==t.from&&"from"===e?i={value:t.from,explicitValue:!0}:void 0!==t.to&&"to"===e?i={value:t.to,explicitValue:!0}:("line-height"===t.property&&(i=parseFloat(s["line-height"])/parseFloat(s["font-size"])),isNaN(i)&&(i=s[t.property])),""!==i&&(n.styles[t.property]=i)})),n}getAutoAnimatableElements(e,t){let i=("function"==typeof this.Reveal.getConfig().autoAnimateMatcher?this.Reveal.getConfig().autoAnimateMatcher:this.getAutoAnimatePairs).call(this,e,t),a=[];return i.filter(((e,t)=>{if(-1===a.indexOf(e.to))return a.push(e.to),!0}))}getAutoAnimatePairs(e,t){let i=[];const a="h1, h2, h3, h4, h5, h6, p, li";return this.findAutoAnimateMatches(i,e,t,"[data-id]",(e=>e.nodeName+":::"+e.getAttribute("data-id"))),this.findAutoAnimateMatches(i,e,t,a,(e=>e.nodeName+":::"+e.innerText)),this.findAutoAnimateMatches(i,e,t,"img, video, iframe",(e=>e.nodeName+":::"+(e.getAttribute("src")||e.getAttribute("data-src")))),this.findAutoAnimateMatches(i,e,t,"pre",(e=>e.nodeName+":::"+e.innerText)),i.forEach((e=>{s(e.from,a)?e.options={scale:!1}:s(e.from,"pre")&&(e.options={scale:!1,styles:["width","height"]},this.findAutoAnimateMatches(i,e.from,e.to,".hljs .hljs-ln-code",(e=>e.textContent),{scale:!1,styles:[],measure:this.getLocalBoundingBox.bind(this)}),this.findAutoAnimateMatches(i,e.from,e.to,".hljs .hljs-ln-line[data-line-number]",(e=>e.getAttribute("data-line-number")),{scale:!1,styles:["width"],measure:this.getLocalBoundingBox.bind(this)}))}),this),i}getLocalBoundingBox(e){const t=this.Reveal.getScale();return{x:Math.round(e.offsetLeft*t*100)/100,y:Math.round(e.offsetTop*t*100)/100,width:Math.round(e.offsetWidth*t*100)/100,height:Math.round(e.offsetHeight*t*100)/100}}findAutoAnimateMatches(e,t,i,a,n,s){let r={},o={};[].slice.call(t.querySelectorAll(a)).forEach(((e,t)=>{const i=n(e);"string"==typeof i&&i.length&&(r[i]=r[i]||[],r[i].push(e))})),[].slice.call(i.querySelectorAll(a)).forEach(((t,i)=>{const a=n(t);let l;if(o[a]=o[a]||[],o[a].push(t),r[a]){const e=o[a].length-1,t=r[a].length-1;r[a][e]?(l=r[a][e],r[a][e]=null):r[a][t]&&(l=r[a][t],r[a][t]=null)}l&&e.push({from:l,to:t,options:s})}))}getUnmatchedAutoAnimateElements(e){return[].slice.call(e.children).reduce(((e,t)=>{const i=t.querySelector("[data-auto-animate-target]");return t.hasAttribute("data-auto-animate-target")||i||e.push(t),t.querySelector("[data-auto-animate-target]")&&(e=e.concat(this.getUnmatchedAutoAnimateElements(t))),e}),[])}}class P{constructor(e){this.Reveal=e}configure(e,t){!1===e.fragments?this.disable():!1===t.fragments&&this.enable()}disable(){t(this.Reveal.getSlidesElement(),".fragment").forEach((e=>{e.classList.add("visible"),e.classList.remove("current-fragment")}))}enable(){t(this.Reveal.getSlidesElement(),".fragment").forEach((e=>{e.classList.remove("visible"),e.classList.remove("current-fragment")}))}availableRoutes(){let e=this.Reveal.getCurrentSlide();if(e&&this.Reveal.getConfig().fragments){let t=e.querySelectorAll(".fragment:not(.disabled)"),i=e.querySelectorAll(".fragment:not(.disabled):not(.visible)");return{prev:t.length-i.length>0,next:!!i.length}}return{prev:!1,next:!1}}sort(e,t=!1){e=Array.from(e);let i=[],a=[],n=[];e.forEach((e=>{if(e.hasAttribute("data-fragment-index")){let t=parseInt(e.getAttribute("data-fragment-index"),10);i[t]||(i[t]=[]),i[t].push(e)}else a.push([e])})),i=i.concat(a);let s=0;return i.forEach((e=>{e.forEach((e=>{n.push(e),e.setAttribute("data-fragment-index",s)})),s++})),!0===t?i:n}sortAll(){this.Reveal.getHorizontalSlides().forEach((e=>{let i=t(e,"section");i.forEach(((e,t)=>{this.sort(e.querySelectorAll(".fragment"))}),this),0===i.length&&this.sort(e.querySelectorAll(".fragment"))}))}update(e,t){let i={shown:[],hidden:[]},a=this.Reveal.getCurrentSlide();if(a&&this.Reveal.getConfig().fragments&&(t=t||this.sort(a.querySelectorAll(".fragment"))).length){let n=0;if("number"!=typeof e){let t=this.sort(a.querySelectorAll(".fragment.visible")).pop();t&&(e=parseInt(t.getAttribute("data-fragment-index")||0,10))}Array.from(t).forEach(((t,a)=>{if(t.hasAttribute("data-fragment-index")&&(a=parseInt(t.getAttribute("data-fragment-index"),10)),n=Math.max(n,a),a<=e){let n=t.classList.contains("visible");t.classList.add("visible"),t.classList.remove("current-fragment"),a===e&&(this.Reveal.announceStatus(this.Reveal.getStatusText(t)),t.classList.add("current-fragment"),this.Reveal.slideContent.startEmbeddedContent(t)),n||(i.shown.push(t),this.Reveal.dispatchEvent({target:t,type:"visible",bubbles:!1}))}else{let e=t.classList.contains("visible");t.classList.remove("visible"),t.classList.remove("current-fragment"),e&&(this.Reveal.slideContent.stopEmbeddedContent(t),i.hidden.push(t),this.Reveal.dispatchEvent({target:t,type:"hidden",bubbles:!1}))}})),e="number"==typeof e?e:-1,e=Math.max(Math.min(e,n),-1),a.setAttribute("data-fragment",e)}return i}sync(e=this.Reveal.getCurrentSlide()){return this.sort(e.querySelectorAll(".fragment"))}goto(e,t=0){let i=this.Reveal.getCurrentSlide();if(i&&this.Reveal.getConfig().fragments){let a=this.sort(i.querySelectorAll(".fragment:not(.disabled)"));if(a.length){if("number"!=typeof e){let t=this.sort(i.querySelectorAll(".fragment:not(.disabled).visible")).pop();e=t?parseInt(t.getAttribute("data-fragment-index")||0,10):-1}e+=t;let n=this.update(e,a);return n.hidden.length&&this.Reveal.dispatchEvent({type:"fragmenthidden",data:{fragment:n.hidden[0],fragments:n.hidden}}),n.shown.length&&this.Reveal.dispatchEvent({type:"fragmentshown",data:{fragment:n.shown[0],fragments:n.shown}}),this.Reveal.controls.update(),this.Reveal.progress.update(),this.Reveal.getConfig().fragmentInURL&&this.Reveal.location.writeURL(),!(!n.shown.length&&!n.hidden.length)}}return!1}next(){return this.goto(null,1)}prev(){return this.goto(null,-1)}}class N{constructor(e){this.Reveal=e,this.active=!1,this.onSlideClicked=this.onSlideClicked.bind(this)}activate(){if(this.Reveal.getConfig().overview&&!this.isActive()){this.active=!0,this.Reveal.getRevealElement().classList.add("overview"),this.Reveal.cancelAutoSlide(),this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()),t(this.Reveal.getRevealElement(),R).forEach((e=>{e.classList.contains("stack")||e.addEventListener("click",this.onSlideClicked,!0)}));const e=70,i=this.Reveal.getComputedSlideSize();this.overviewSlideWidth=i.width+e,this.overviewSlideHeight=i.height+e,this.Reveal.getConfig().rtl&&(this.overviewSlideWidth=-this.overviewSlideWidth),this.Reveal.updateSlidesVisibility(),this.layout(),this.update(),this.Reveal.layout();const a=this.Reveal.getIndices();this.Reveal.dispatchEvent({type:"overviewshown",data:{indexh:a.h,indexv:a.v,currentSlide:this.Reveal.getCurrentSlide()}})}}layout(){this.Reveal.getHorizontalSlides().forEach(((e,i)=>{e.setAttribute("data-index-h",i),n(e,"translate3d("+i*this.overviewSlideWidth+"px, 0, 0)"),e.classList.contains("stack")&&t(e,"section").forEach(((e,t)=>{e.setAttribute("data-index-h",i),e.setAttribute("data-index-v",t),n(e,"translate3d(0, "+t*this.overviewSlideHeight+"px, 0)")}))})),Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach(((e,i)=>{n(e,"translate3d("+i*this.overviewSlideWidth+"px, 0, 0)"),t(e,".slide-background").forEach(((e,t)=>{n(e,"translate3d(0, "+t*this.overviewSlideHeight+"px, 0)")}))}))}update(){const e=Math.min(window.innerWidth,window.innerHeight),t=Math.max(e/5,150)/e,i=this.Reveal.getIndices();this.Reveal.transformSlides({overview:["scale("+t+")","translateX("+-i.h*this.overviewSlideWidth+"px)","translateY("+-i.v*this.overviewSlideHeight+"px)"].join(" ")})}deactivate(){if(this.Reveal.getConfig().overview){this.active=!1,this.Reveal.getRevealElement().classList.remove("overview"),this.Reveal.getRevealElement().classList.add("overview-deactivating"),setTimeout((()=>{this.Reveal.getRevealElement().classList.remove("overview-deactivating")}),1),this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()),t(this.Reveal.getRevealElement(),R).forEach((e=>{n(e,""),e.removeEventListener("click",this.onSlideClicked,!0)})),t(this.Reveal.getBackgroundsElement(),".slide-background").forEach((e=>{n(e,"")})),this.Reveal.transformSlides({overview:""});const e=this.Reveal.getIndices();this.Reveal.slide(e.h,e.v),this.Reveal.layout(),this.Reveal.cueAutoSlide(),this.Reveal.dispatchEvent({type:"overviewhidden",data:{indexh:e.h,indexv:e.v,currentSlide:this.Reveal.getCurrentSlide()}})}}toggle(e){"boolean"==typeof e?e?this.activate():this.deactivate():this.isActive()?this.deactivate():this.activate()}isActive(){return this.active}onSlideClicked(e){if(this.isActive()){e.preventDefault();let t=e.target;for(;t&&!t.nodeName.match(/section/gi);)t=t.parentNode;if(t&&!t.classList.contains("disabled")&&(this.deactivate(),t.nodeName.match(/section/gi))){let e=parseInt(t.getAttribute("data-index-h"),10),i=parseInt(t.getAttribute("data-index-v"),10);this.Reveal.slide(e,i)}}}}class M{constructor(e){this.Reveal=e,this.shortcuts={},this.bindings={},this.onDocumentKeyDown=this.onDocumentKeyDown.bind(this),this.onDocumentKeyPress=this.onDocumentKeyPress.bind(this)}configure(e,t){"linear"===e.navigationMode?(this.shortcuts["→ , ↓ , SPACE , N , L , J"]="Next slide",this.shortcuts["← , ↑ , P , H , K"]="Previous slide"):(this.shortcuts["N , SPACE"]="Next slide",this.shortcuts["P , Shift SPACE"]="Previous slide",this.shortcuts["← , H"]="Navigate left",this.shortcuts["→ , L"]="Navigate right",this.shortcuts["↑ , K"]="Navigate up",this.shortcuts["↓ , J"]="Navigate down"),this.shortcuts["Alt + ←/↑/→/↓"]="Navigate without fragments",this.shortcuts["Shift + ←/↑/→/↓"]="Jump to first/last slide",this.shortcuts["B , ."]="Pause",this.shortcuts.F="Fullscreen",this.shortcuts["ESC, O"]="Slide overview"}bind(){document.addEventListener("keydown",this.onDocumentKeyDown,!1),document.addEventListener("keypress",this.onDocumentKeyPress,!1)}unbind(){document.removeEventListener("keydown",this.onDocumentKeyDown,!1),document.removeEventListener("keypress",this.onDocumentKeyPress,!1)}addKeyBinding(e,t){"object"==typeof e&&e.keyCode?this.bindings[e.keyCode]={callback:t,key:e.key,description:e.description}:this.bindings[e]={callback:t,key:null,description:null}}removeKeyBinding(e){delete this.bindings[e]}triggerKey(e){this.onDocumentKeyDown({keyCode:e})}registerKeyboardShortcut(e,t){this.shortcuts[e]=t}getShortcuts(){return this.shortcuts}getBindings(){return this.bindings}onDocumentKeyPress(e){e.shiftKey&&63===e.charCode&&this.Reveal.toggleHelp()}onDocumentKeyDown(e){let t=this.Reveal.getConfig();if("function"==typeof t.keyboardCondition&&!1===t.keyboardCondition(e))return!0;if("focused"===t.keyboardCondition&&!this.Reveal.isFocused())return!0;let i=e.keyCode,a=!this.Reveal.isAutoSliding();this.Reveal.onUserInput(e);let n=document.activeElement&&!0===document.activeElement.isContentEditable,s=document.activeElement&&document.activeElement.tagName&&/input|textarea/i.test(document.activeElement.tagName),r=document.activeElement&&document.activeElement.className&&/speaker-notes/i.test(document.activeElement.className),o=!(-1!==[32,37,38,39,40,78,80].indexOf(e.keyCode)&&e.shiftKey||e.altKey)&&(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey);if(n||s||r||o)return;let l,d=[66,86,190,191];if("object"==typeof t.keyboard)for(l in t.keyboard)"togglePause"===t.keyboard[l]&&d.push(parseInt(l,10));if(this.Reveal.isPaused()&&-1===d.indexOf(i))return!1;let c="linear"===t.navigationMode||!this.Reveal.hasHorizontalSlides()||!this.Reveal.hasVerticalSlides(),h=!1;if("object"==typeof t.keyboard)for(l in t.keyboard)if(parseInt(l,10)===i){let i=t.keyboard[l];"function"==typeof i?i.apply(null,[e]):"string"==typeof i&&"function"==typeof this.Reveal[i]&&this.Reveal[i].call(),h=!0}if(!1===h)for(l in this.bindings)if(parseInt(l,10)===i){let t=this.bindings[l].callback;"function"==typeof t?t.apply(null,[e]):"string"==typeof t&&"function"==typeof this.Reveal[t]&&this.Reveal[t].call(),h=!0}!1===h&&(h=!0,80===i||33===i?this.Reveal.prev({skipFragments:e.altKey}):78===i||34===i?this.Reveal.next({skipFragments:e.altKey}):72===i||37===i?e.shiftKey?this.Reveal.slide(0):!this.Reveal.overview.isActive()&&c?this.Reveal.prev({skipFragments:e.altKey}):this.Reveal.left({skipFragments:e.altKey}):76===i||39===i?e.shiftKey?this.Reveal.slide(this.Reveal.getHorizontalSlides().length-1):!this.Reveal.overview.isActive()&&c?this.Reveal.next({skipFragments:e.altKey}):this.Reveal.right({skipFragments:e.altKey}):75===i||38===i?e.shiftKey?this.Reveal.slide(void 0,0):!this.Reveal.overview.isActive()&&c?this.Reveal.prev({skipFragments:e.altKey}):this.Reveal.up({skipFragments:e.altKey}):74===i||40===i?e.shiftKey?this.Reveal.slide(void 0,Number.MAX_VALUE):!this.Reveal.overview.isActive()&&c?this.Reveal.next({skipFragments:e.altKey}):this.Reveal.down({skipFragments:e.altKey}):36===i?this.Reveal.slide(0):35===i?this.Reveal.slide(this.Reveal.getHorizontalSlides().length-1):32===i?(this.Reveal.overview.isActive()&&this.Reveal.overview.deactivate(),e.shiftKey?this.Reveal.prev({skipFragments:e.altKey}):this.Reveal.next({skipFragments:e.altKey})):58===i||59===i||66===i||86===i||190===i||191===i?this.Reveal.togglePause():70===i?(e=>{let t=(e=e||document.documentElement).requestFullscreen||e.webkitRequestFullscreen||e.webkitRequestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen;t&&t.apply(e)})(t.embedded?this.Reveal.getViewportElement():document.documentElement):65===i?t.autoSlideStoppable&&this.Reveal.toggleAutoSlide(a):h=!1),h?e.preventDefault&&e.preventDefault():27!==i&&79!==i||(!1===this.Reveal.closeOverlay()&&this.Reveal.overview.toggle(),e.preventDefault&&e.preventDefault()),this.Reveal.cueAutoSlide()}}class D{constructor(e){var t,i,a;a=1e3,(i="MAX_REPLACE_STATE_FREQUENCY")in(t=this)?Object.defineProperty(t,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[i]=a,this.Reveal=e,this.writeURLTimeout=0,this.replaceStateTimestamp=0,this.onWindowHashChange=this.onWindowHashChange.bind(this)}bind(){window.addEventListener("hashchange",this.onWindowHashChange,!1)}unbind(){window.removeEventListener("hashchange",this.onWindowHashChange,!1)}getIndicesFromHash(e=window.location.hash){let t=e.replace(/^#\/?/,""),i=t.split("/");if(/^[0-9]*$/.test(i[0])||!t.length){const e=this.Reveal.getConfig();let t,a=e.hashOneBasedIndex?1:0,n=parseInt(i[0],10)-a||0,s=parseInt(i[1],10)-a||0;return e.fragmentInURL&&(t=parseInt(i[2],10),isNaN(t)&&(t=void 0)),{h:n,v:s,f:t}}{let e,i;/\/[-\d]+$/g.test(t)&&(i=parseInt(t.split("/").pop(),10),i=isNaN(i)?void 0:i,t=t.split("/").shift());try{e=document.getElementById(decodeURIComponent(t))}catch(e){}if(e)return{...this.Reveal.getIndices(e),f:i}}return null}readURL(){const e=this.Reveal.getIndices(),t=this.getIndicesFromHash();t?t.h===e.h&&t.v===e.v&&void 0===t.f||this.Reveal.slide(t.h,t.v,t.f):this.Reveal.slide(e.h||0,e.v||0)}writeURL(e){let t=this.Reveal.getConfig(),i=this.Reveal.getCurrentSlide();if(clearTimeout(this.writeURLTimeout),"number"==typeof e)this.writeURLTimeout=setTimeout(this.writeURL,e);else if(i){let e=this.getHash();t.history?window.location.hash=e:t.hash&&("/"===e?this.debouncedReplaceState(window.location.pathname+window.location.search):this.debouncedReplaceState("#"+e))}}replaceState(e){window.history.replaceState(null,null,e),this.replaceStateTimestamp=Date.now()}debouncedReplaceState(e){clearTimeout(this.replaceStateTimeout),Date.now()-this.replaceStateTimestamp>this.MAX_REPLACE_STATE_FREQUENCY?this.replaceState(e):this.replaceStateTimeout=setTimeout((()=>this.replaceState(e)),this.MAX_REPLACE_STATE_FREQUENCY)}getHash(e){let t="/",i=e||this.Reveal.getCurrentSlide(),a=i?i.getAttribute("id"):null;a&&(a=encodeURIComponent(a));let n=this.Reveal.getIndices(e);if(this.Reveal.getConfig().fragmentInURL||(n.f=void 0),"string"==typeof a&&a.length)t="/"+a,n.f>=0&&(t+="/"+n.f);else{let e=this.Reveal.getConfig().hashOneBasedIndex?1:0;(n.h>0||n.v>0||n.f>=0)&&(t+=n.h+e),(n.v>0||n.f>=0)&&(t+="/"+(n.v+e)),n.f>=0&&(t+="/"+n.f)}return t}onWindowHashChange(e){this.readURL()}}class I{constructor(e){this.Reveal=e,this.onNavigateLeftClicked=this.onNavigateLeftClicked.bind(this),this.onNavigateRightClicked=this.onNavigateRightClicked.bind(this),this.onNavigateUpClicked=this.onNavigateUpClicked.bind(this),this.onNavigateDownClicked=this.onNavigateDownClicked.bind(this),this.onNavigatePrevClicked=this.onNavigatePrevClicked.bind(this),this.onNavigateNextClicked=this.onNavigateNextClicked.bind(this)}render(){const e=this.Reveal.getConfig().rtl,i=this.Reveal.getRevealElement();this.element=document.createElement("aside"),this.element.className="controls",this.element.innerHTML=`\n\t\t\t\n\t\t\t\n\t\t\t`,this.Reveal.getRevealElement().appendChild(this.element),this.controlsLeft=t(i,".navigate-left"),this.controlsRight=t(i,".navigate-right"),this.controlsUp=t(i,".navigate-up"),this.controlsDown=t(i,".navigate-down"),this.controlsPrev=t(i,".navigate-prev"),this.controlsNext=t(i,".navigate-next"),this.controlsRightArrow=this.element.querySelector(".navigate-right"),this.controlsLeftArrow=this.element.querySelector(".navigate-left"),this.controlsDownArrow=this.element.querySelector(".navigate-down")}configure(e,t){this.element.style.display=e.controls?"block":"none",this.element.setAttribute("data-controls-layout",e.controlsLayout),this.element.setAttribute("data-controls-back-arrows",e.controlsBackArrows)}bind(){let e=["touchstart","click"];v&&(e=["touchstart"]),e.forEach((e=>{this.controlsLeft.forEach((t=>t.addEventListener(e,this.onNavigateLeftClicked,!1))),this.controlsRight.forEach((t=>t.addEventListener(e,this.onNavigateRightClicked,!1))),this.controlsUp.forEach((t=>t.addEventListener(e,this.onNavigateUpClicked,!1))),this.controlsDown.forEach((t=>t.addEventListener(e,this.onNavigateDownClicked,!1))),this.controlsPrev.forEach((t=>t.addEventListener(e,this.onNavigatePrevClicked,!1))),this.controlsNext.forEach((t=>t.addEventListener(e,this.onNavigateNextClicked,!1)))}))}unbind(){["touchstart","click"].forEach((e=>{this.controlsLeft.forEach((t=>t.removeEventListener(e,this.onNavigateLeftClicked,!1))),this.controlsRight.forEach((t=>t.removeEventListener(e,this.onNavigateRightClicked,!1))),this.controlsUp.forEach((t=>t.removeEventListener(e,this.onNavigateUpClicked,!1))),this.controlsDown.forEach((t=>t.removeEventListener(e,this.onNavigateDownClicked,!1))),this.controlsPrev.forEach((t=>t.removeEventListener(e,this.onNavigatePrevClicked,!1))),this.controlsNext.forEach((t=>t.removeEventListener(e,this.onNavigateNextClicked,!1)))}))}update(){let e=this.Reveal.availableRoutes();[...this.controlsLeft,...this.controlsRight,...this.controlsUp,...this.controlsDown,...this.controlsPrev,...this.controlsNext].forEach((e=>{e.classList.remove("enabled","fragmented"),e.setAttribute("disabled","disabled")})),e.left&&this.controlsLeft.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),e.right&&this.controlsRight.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),e.up&&this.controlsUp.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),e.down&&this.controlsDown.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),(e.left||e.up)&&this.controlsPrev.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")})),(e.right||e.down)&&this.controlsNext.forEach((e=>{e.classList.add("enabled"),e.removeAttribute("disabled")}));let t=this.Reveal.getCurrentSlide();if(t){let e=this.Reveal.fragments.availableRoutes();e.prev&&this.controlsPrev.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),e.next&&this.controlsNext.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),this.Reveal.isVerticalSlide(t)?(e.prev&&this.controlsUp.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),e.next&&this.controlsDown.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")}))):(e.prev&&this.controlsLeft.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})),e.next&&this.controlsRight.forEach((e=>{e.classList.add("fragmented","enabled"),e.removeAttribute("disabled")})))}if(this.Reveal.getConfig().controlsTutorial){let t=this.Reveal.getIndices();!this.Reveal.hasNavigatedVertically()&&e.down?this.controlsDownArrow.classList.add("highlight"):(this.controlsDownArrow.classList.remove("highlight"),this.Reveal.getConfig().rtl?!this.Reveal.hasNavigatedHorizontally()&&e.left&&0===t.v?this.controlsLeftArrow.classList.add("highlight"):this.controlsLeftArrow.classList.remove("highlight"):!this.Reveal.hasNavigatedHorizontally()&&e.right&&0===t.v?this.controlsRightArrow.classList.add("highlight"):this.controlsRightArrow.classList.remove("highlight"))}}destroy(){this.unbind(),this.element.remove()}onNavigateLeftClicked(e){e.preventDefault(),this.Reveal.onUserInput(),"linear"===this.Reveal.getConfig().navigationMode?this.Reveal.prev():this.Reveal.left()}onNavigateRightClicked(e){e.preventDefault(),this.Reveal.onUserInput(),"linear"===this.Reveal.getConfig().navigationMode?this.Reveal.next():this.Reveal.right()}onNavigateUpClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.up()}onNavigateDownClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.down()}onNavigatePrevClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.prev()}onNavigateNextClicked(e){e.preventDefault(),this.Reveal.onUserInput(),this.Reveal.next()}}class T{constructor(e){this.Reveal=e,this.onProgressClicked=this.onProgressClicked.bind(this)}render(){this.element=document.createElement("div"),this.element.className="progress",this.Reveal.getRevealElement().appendChild(this.element),this.bar=document.createElement("span"),this.element.appendChild(this.bar)}configure(e,t){this.element.style.display=e.progress?"block":"none"}bind(){this.Reveal.getConfig().progress&&this.element&&this.element.addEventListener("click",this.onProgressClicked,!1)}unbind(){this.Reveal.getConfig().progress&&this.element&&this.element.removeEventListener("click",this.onProgressClicked,!1)}update(){if(this.Reveal.getConfig().progress&&this.bar){let e=this.Reveal.getProgress();this.Reveal.getTotalSlides()<2&&(e=0),this.bar.style.transform="scaleX("+e+")"}}getMaxWidth(){return this.Reveal.getRevealElement().offsetWidth}onProgressClicked(e){this.Reveal.onUserInput(e),e.preventDefault();let t=this.Reveal.getSlides(),i=t.length,a=Math.floor(e.clientX/this.getMaxWidth()*i);this.Reveal.getConfig().rtl&&(a=i-a);let n=this.Reveal.getIndices(t[a]);this.Reveal.slide(n.h,n.v)}destroy(){this.element.remove()}}class F{constructor(e){this.Reveal=e,this.lastMouseWheelStep=0,this.cursorHidden=!1,this.cursorInactiveTimeout=0,this.onDocumentCursorActive=this.onDocumentCursorActive.bind(this),this.onDocumentMouseScroll=this.onDocumentMouseScroll.bind(this)}configure(e,t){e.mouseWheel?(document.addEventListener("DOMMouseScroll",this.onDocumentMouseScroll,!1),document.addEventListener("mousewheel",this.onDocumentMouseScroll,!1)):(document.removeEventListener("DOMMouseScroll",this.onDocumentMouseScroll,!1),document.removeEventListener("mousewheel",this.onDocumentMouseScroll,!1)),e.hideInactiveCursor?(document.addEventListener("mousemove",this.onDocumentCursorActive,!1),document.addEventListener("mousedown",this.onDocumentCursorActive,!1)):(this.showCursor(),document.removeEventListener("mousemove",this.onDocumentCursorActive,!1),document.removeEventListener("mousedown",this.onDocumentCursorActive,!1))}showCursor(){this.cursorHidden&&(this.cursorHidden=!1,this.Reveal.getRevealElement().style.cursor="")}hideCursor(){!1===this.cursorHidden&&(this.cursorHidden=!0,this.Reveal.getRevealElement().style.cursor="none")}destroy(){this.showCursor(),document.removeEventListener("DOMMouseScroll",this.onDocumentMouseScroll,!1),document.removeEventListener("mousewheel",this.onDocumentMouseScroll,!1),document.removeEventListener("mousemove",this.onDocumentCursorActive,!1),document.removeEventListener("mousedown",this.onDocumentCursorActive,!1)}onDocumentCursorActive(e){this.showCursor(),clearTimeout(this.cursorInactiveTimeout),this.cursorInactiveTimeout=setTimeout(this.hideCursor.bind(this),this.Reveal.getConfig().hideCursorTime)}onDocumentMouseScroll(e){if(Date.now()-this.lastMouseWheelStep>1e3){this.lastMouseWheelStep=Date.now();let t=e.detail||-e.wheelDelta;t>0?this.Reveal.next():t<0&&this.Reveal.prev()}}}const z=(e,t)=>{const i=document.createElement("script");i.type="text/javascript",i.async=!1,i.defer=!1,i.src=e,"function"==typeof t&&(i.onload=i.onreadystatechange=e=>{("load"===e.type||/loaded|complete/.test(i.readyState))&&(i.onload=i.onreadystatechange=i.onerror=null,t())},i.onerror=e=>{i.onload=i.onreadystatechange=i.onerror=null,t(new Error("Failed loading script: "+i.src+"\n"+e))});const a=document.querySelector("head");a.insertBefore(i,a.lastChild)};class H{constructor(e){this.Reveal=e,this.state="idle",this.registeredPlugins={},this.asyncDependencies=[]}load(e,t){return this.state="loading",e.forEach(this.registerPlugin.bind(this)),new Promise((e=>{let i=[],a=0;if(t.forEach((e=>{e.condition&&!e.condition()||(e.async?this.asyncDependencies.push(e):i.push(e))})),i.length){a=i.length;const t=t=>{t&&"function"==typeof t.callback&&t.callback(),0==--a&&this.initPlugins().then(e)};i.forEach((e=>{"string"==typeof e.id?(this.registerPlugin(e),t(e)):"string"==typeof e.src?z(e.src,(()=>t(e))):(console.warn("Unrecognized plugin format",e),t())}))}else this.initPlugins().then(e)}))}initPlugins(){return new Promise((e=>{let t=Object.values(this.registeredPlugins),i=t.length;if(0===i)this.loadAsync().then(e);else{let a,n=()=>{0==--i?this.loadAsync().then(e):a()},s=0;a=()=>{let e=t[s++];if("function"==typeof e.init){let t=e.init(this.Reveal);t&&"function"==typeof t.then?t.then(n):n()}else n()},a()}}))}loadAsync(){return this.state="loaded",this.asyncDependencies.length&&this.asyncDependencies.forEach((e=>{z(e.src,e.callback)})),Promise.resolve()}registerPlugin(e){2===arguments.length&&"string"==typeof arguments[0]?(e=arguments[1]).id=arguments[0]:"function"==typeof e&&(e=e());let t=e.id;"string"!=typeof t?console.warn("Unrecognized plugin format; can't find plugin.id",e):void 0===this.registeredPlugins[t]?(this.registeredPlugins[t]=e,"loaded"===this.state&&"function"==typeof e.init&&e.init(this.Reveal)):console.warn('reveal.js: "'+t+'" plugin has already been registered')}hasPlugin(e){return!!this.registeredPlugins[e]}getPlugin(e){return this.registeredPlugins[e]}getRegisteredPlugins(){return this.registeredPlugins}destroy(){Object.values(this.registeredPlugins).forEach((e=>{"function"==typeof e.destroy&&e.destroy()})),this.registeredPlugins={},this.asyncDependencies=[]}}class q{constructor(e){this.Reveal=e}async setupPDF(){const e=this.Reveal.getConfig(),i=t(this.Reveal.getRevealElement(),R),a=e.slideNumber&&/all|print/i.test(e.showSlideNumber),n=this.Reveal.getComputedSlideSize(window.innerWidth,window.innerHeight),s=Math.floor(n.width*(1+e.margin)),r=Math.floor(n.height*(1+e.margin)),o=n.width,d=n.height;await new Promise(requestAnimationFrame),l("@page{size:"+s+"px "+r+"px; margin: 0px;}"),l(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: "+o+"px; max-height:"+d+"px}"),document.documentElement.classList.add("print-pdf"),document.body.style.width=s+"px",document.body.style.height=r+"px";const c=document.querySelector(".reveal-viewport");let h;if(c){const e=window.getComputedStyle(c);e&&e.background&&(h=e.background)}await new Promise(requestAnimationFrame),this.Reveal.layoutSlideContents(o,d),await new Promise(requestAnimationFrame);const u=i.map((e=>e.scrollHeight)),g=[],v=i[0].parentNode;let p=1;i.forEach((function(i,n){if(!1===i.classList.contains("stack")){let l=(s-o)/2,c=(r-d)/2;const v=u[n];let m=Math.max(Math.ceil(v/r),1);m=Math.min(m,e.pdfMaxPagesPerSlide),(1===m&&e.center||i.classList.contains("center"))&&(c=Math.max((r-v)/2,0));const f=document.createElement("div");if(g.push(f),f.className="pdf-page",f.style.height=(r+e.pdfPageHeightOffset)*m+"px",h&&(f.style.background=h),f.appendChild(i),i.style.left=l+"px",i.style.top=c+"px",i.style.width=o+"px",this.Reveal.slideContent.layout(i),i.slideBackgroundElement&&f.insertBefore(i.slideBackgroundElement,i),e.showNotes){const t=this.Reveal.getSlideNotes(i);if(t){const i=8,a="string"==typeof e.showNotes?e.showNotes:"inline",n=document.createElement("div");n.classList.add("speaker-notes"),n.classList.add("speaker-notes-pdf"),n.setAttribute("data-layout",a),n.innerHTML=t,"separate-page"===a?g.push(n):(n.style.left=i+"px",n.style.bottom=i+"px",n.style.width=s-2*i+"px",f.appendChild(n))}}if(a){const e=document.createElement("div");e.classList.add("slide-number"),e.classList.add("slide-number-pdf"),e.innerHTML=p++,f.appendChild(e)}if(e.pdfSeparateFragments){const e=this.Reveal.fragments.sort(f.querySelectorAll(".fragment"),!0);let t;e.forEach((function(e,i){t&&t.forEach((function(e){e.classList.remove("current-fragment")})),e.forEach((function(e){e.classList.add("visible","current-fragment")}),this);const n=f.cloneNode(!0);if(a){const e=i+1;n.querySelector(".slide-number-pdf").innerHTML+="."+e}g.push(n),t=e}),this),e.forEach((function(e){e.forEach((function(e){e.classList.remove("visible","current-fragment")}))}))}else t(f,".fragment:not(.fade-out)").forEach((function(e){e.classList.add("visible")}))}}),this),await new Promise(requestAnimationFrame),g.forEach((e=>v.appendChild(e))),this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()),this.Reveal.dispatchEvent({type:"pdf-ready"})}isPrintingPDF(){return/print-pdf/gi.test(window.location.search)}}class B{constructor(e){this.Reveal=e,this.touchStartX=0,this.touchStartY=0,this.touchStartCount=0,this.touchCaptured=!1,this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onTouchStart=this.onTouchStart.bind(this),this.onTouchMove=this.onTouchMove.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this)}bind(){let e=this.Reveal.getRevealElement();"onpointerdown"in window?(e.addEventListener("pointerdown",this.onPointerDown,!1),e.addEventListener("pointermove",this.onPointerMove,!1),e.addEventListener("pointerup",this.onPointerUp,!1)):window.navigator.msPointerEnabled?(e.addEventListener("MSPointerDown",this.onPointerDown,!1),e.addEventListener("MSPointerMove",this.onPointerMove,!1),e.addEventListener("MSPointerUp",this.onPointerUp,!1)):(e.addEventListener("touchstart",this.onTouchStart,!1),e.addEventListener("touchmove",this.onTouchMove,!1),e.addEventListener("touchend",this.onTouchEnd,!1))}unbind(){let e=this.Reveal.getRevealElement();e.removeEventListener("pointerdown",this.onPointerDown,!1),e.removeEventListener("pointermove",this.onPointerMove,!1),e.removeEventListener("pointerup",this.onPointerUp,!1),e.removeEventListener("MSPointerDown",this.onPointerDown,!1),e.removeEventListener("MSPointerMove",this.onPointerMove,!1),e.removeEventListener("MSPointerUp",this.onPointerUp,!1),e.removeEventListener("touchstart",this.onTouchStart,!1),e.removeEventListener("touchmove",this.onTouchMove,!1),e.removeEventListener("touchend",this.onTouchEnd,!1)}isSwipePrevented(e){if(s(e,"video, audio"))return!0;for(;e&&"function"==typeof e.hasAttribute;){if(e.hasAttribute("data-prevent-swipe"))return!0;e=e.parentNode}return!1}onTouchStart(e){if(this.isSwipePrevented(e.target))return!0;this.touchStartX=e.touches[0].clientX,this.touchStartY=e.touches[0].clientY,this.touchStartCount=e.touches.length}onTouchMove(e){if(this.isSwipePrevented(e.target))return!0;let t=this.Reveal.getConfig();if(this.touchCaptured)v&&e.preventDefault();else{this.Reveal.onUserInput(e);let i=e.touches[0].clientX,a=e.touches[0].clientY;if(1===e.touches.length&&2!==this.touchStartCount){let n=this.Reveal.availableRoutes({includeFragments:!0}),s=i-this.touchStartX,r=a-this.touchStartY;s>40&&Math.abs(s)>Math.abs(r)?(this.touchCaptured=!0,"linear"===t.navigationMode?t.rtl?this.Reveal.next():this.Reveal.prev():this.Reveal.left()):s<-40&&Math.abs(s)>Math.abs(r)?(this.touchCaptured=!0,"linear"===t.navigationMode?t.rtl?this.Reveal.prev():this.Reveal.next():this.Reveal.right()):r>40&&n.up?(this.touchCaptured=!0,"linear"===t.navigationMode?this.Reveal.prev():this.Reveal.up()):r<-40&&n.down&&(this.touchCaptured=!0,"linear"===t.navigationMode?this.Reveal.next():this.Reveal.down()),t.embedded?(this.touchCaptured||this.Reveal.isVerticalSlide())&&e.preventDefault():e.preventDefault()}}}onTouchEnd(e){this.touchCaptured=!1}onPointerDown(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchStart(e))}onPointerMove(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchMove(e))}onPointerUp(e){e.pointerType!==e.MSPOINTER_TYPE_TOUCH&&"touch"!==e.pointerType||(e.touches=[{clientX:e.clientX,clientY:e.clientY}],this.onTouchEnd(e))}}const O="focus",U="blur";class W{constructor(e){this.Reveal=e,this.onRevealPointerDown=this.onRevealPointerDown.bind(this),this.onDocumentPointerDown=this.onDocumentPointerDown.bind(this)}configure(e,t){e.embedded?this.blur():(this.focus(),this.unbind())}bind(){this.Reveal.getConfig().embedded&&this.Reveal.getRevealElement().addEventListener("pointerdown",this.onRevealPointerDown,!1)}unbind(){this.Reveal.getRevealElement().removeEventListener("pointerdown",this.onRevealPointerDown,!1),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)}focus(){this.state!==O&&(this.Reveal.getRevealElement().classList.add("focused"),document.addEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state=O}blur(){this.state!==U&&(this.Reveal.getRevealElement().classList.remove("focused"),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state=U}isFocused(){return this.state===O}destroy(){this.Reveal.getRevealElement().classList.remove("focused")}onRevealPointerDown(e){this.focus()}onDocumentPointerDown(e){let t=r(e.target,".reveal");t&&t===this.Reveal.getRevealElement()||this.blur()}}class K{constructor(e){this.Reveal=e}render(){this.element=document.createElement("div"),this.element.className="speaker-notes",this.element.setAttribute("data-prevent-swipe",""),this.element.setAttribute("tabindex","0"),this.Reveal.getRevealElement().appendChild(this.element)}configure(e,t){e.showNotes&&this.element.setAttribute("data-layout","string"==typeof e.showNotes?e.showNotes:"inline")}update(){this.Reveal.getConfig().showNotes&&this.element&&this.Reveal.getCurrentSlide()&&!this.Reveal.print.isPrintingPDF()&&(this.element.innerHTML=this.getSlideNotes()||'No notes on this slide.')}updateVisibility(){this.Reveal.getConfig().showNotes&&this.hasNotes()&&!this.Reveal.print.isPrintingPDF()?this.Reveal.getRevealElement().classList.add("show-notes"):this.Reveal.getRevealElement().classList.remove("show-notes")}hasNotes(){return this.Reveal.getSlidesElement().querySelectorAll("[data-notes], aside.notes").length>0}isSpeakerNotesWindow(){return!!window.location.search.match(/receiver/gi)}getSlideNotes(e=this.Reveal.getCurrentSlide()){if(e.hasAttribute("data-notes"))return e.getAttribute("data-notes");let t=e.querySelector("aside.notes");return t?t.innerHTML:null}destroy(){this.element.remove()}}class V{constructor(e,t){this.diameter=100,this.diameter2=this.diameter/2,this.thickness=6,this.playing=!1,this.progress=0,this.progressOffset=1,this.container=e,this.progressCheck=t,this.canvas=document.createElement("canvas"),this.canvas.className="playback",this.canvas.width=this.diameter,this.canvas.height=this.diameter,this.canvas.style.width=this.diameter2+"px",this.canvas.style.height=this.diameter2+"px",this.context=this.canvas.getContext("2d"),this.container.appendChild(this.canvas),this.render()}setPlaying(e){const t=this.playing;this.playing=e,!t&&this.playing?this.animate():this.render()}animate(){const e=this.progress;this.progress=this.progressCheck(),e>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&requestAnimationFrame(this.animate.bind(this))}render(){let e=this.playing?this.progress:0,t=this.diameter2-this.thickness,i=this.diameter2,a=this.diameter2,n=28;this.progressOffset+=.1*(1-this.progressOffset);const s=-Math.PI/2+e*(2*Math.PI),r=-Math.PI/2+this.progressOffset*(2*Math.PI);this.context.save(),this.context.clearRect(0,0,this.diameter,this.diameter),this.context.beginPath(),this.context.arc(i,a,t+4,0,2*Math.PI,!1),this.context.fillStyle="rgba( 0, 0, 0, 0.4 )",this.context.fill(),this.context.beginPath(),this.context.arc(i,a,t,0,2*Math.PI,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="rgba( 255, 255, 255, 0.2 )",this.context.stroke(),this.playing&&(this.context.beginPath(),this.context.arc(i,a,t,r,s,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#fff",this.context.stroke()),this.context.translate(i-14,a-14),this.playing?(this.context.fillStyle="#fff",this.context.fillRect(0,0,10,n),this.context.fillRect(18,0,10,n)):(this.context.beginPath(),this.context.translate(4,0),this.context.moveTo(0,0),this.context.lineTo(24,14),this.context.lineTo(0,n),this.context.fillStyle="#fff",this.context.fill()),this.context.restore()}on(e,t){this.canvas.addEventListener(e,t,!1)}off(e,t){this.canvas.removeEventListener(e,t,!1)}destroy(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)}}var $={width:960,height:700,margin:.04,minScale:.2,maxScale:2,controls:!0,controlsTutorial:!0,controlsLayout:"bottom-right",controlsBackArrows:"faded",progress:!0,slideNumber:!1,showSlideNumber:"all",hashOneBasedIndex:!1,hash:!1,respondToHashChanges:!0,history:!1,keyboard:!0,keyboardCondition:null,disableLayout:!1,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,navigationMode:"default",shuffle:!1,fragments:!0,fragmentInURL:!0,embedded:!1,help:!0,pause:!0,showNotes:!1,showHiddenSlides:!1,autoPlayMedia:null,preloadIframes:null,autoAnimate:!0,autoAnimateMatcher:null,autoAnimateEasing:"ease",autoAnimateDuration:1,autoAnimateUnmatched:!0,autoAnimateStyles:["opacity","color","background-color","padding","font-size","line-height","letter-spacing","border-width","border-color","border-radius","outline","outline-offset"],autoSlide:0,autoSlideStoppable:!0,autoSlideMethod:null,defaultTiming:null,mouseWheel:!1,previewLinks:!1,postMessage:!0,postMessageEvents:!1,focusBodyOnPageVisibilityChange:!0,transition:"slide",transitionSpeed:"default",backgroundTransition:"fade",parallaxBackgroundImage:"",parallaxBackgroundSize:"",parallaxBackgroundRepeat:"",parallaxBackgroundPosition:"",parallaxBackgroundHorizontal:null,parallaxBackgroundVertical:null,pdfMaxPagesPerSlide:Number.POSITIVE_INFINITY,pdfSeparateFragments:!0,pdfPageHeightOffset:-1,viewDistance:3,mobileViewDistance:2,display:"block",hideInactiveCursor:!0,hideCursorTime:5e3,dependencies:[],plugins:[]};const j="4.3.1";function X(s,l){arguments.length<2&&(l=arguments[0],s=document.querySelector(".reveal"));const h={};let u,v,p,m,f,w={},L=!1,C={hasNavigatedHorizontally:!1,hasNavigatedVertically:!1},z=[],O=1,U={layout:"",overview:""},X={},Y="idle",_=0,G=0,J=-1,Q=!1,Z=new b(h),ee=new y(h),te=new x(h),ie=new E(h),ae=new P(h),ne=new N(h),se=new M(h),re=new D(h),oe=new I(h),le=new T(h),de=new F(h),ce=new H(h),he=new q(h),ue=new W(h),ge=new B(h),ve=new K(h);function pe(e){if(!s)throw'Unable to find presentation root (
    ).';if(X.wrapper=s,X.slides=s.querySelector(".slides"),!X.slides)throw'Unable to find slides container (
    ).';return w={...$,...w,...l,...e,...d()},me(),window.addEventListener("load",Ue,!1),ce.load(w.plugins,w.dependencies).then(fe),new Promise((e=>h.on("ready",e)))}function me(){!0===w.embedded?X.viewport=r(s,".reveal-viewport")||s:(X.viewport=document.body,document.documentElement.classList.add("reveal-full-page")),X.viewport.classList.add("reveal-viewport")}function fe(){L=!0,be(),ye(),ke(),Se(),Ae(),st(),Le(),re.readURL(),ie.update(!0),setTimeout((()=>{X.slides.classList.remove("no-transition"),X.wrapper.classList.add("ready"),Ie({type:"ready",data:{indexh:u,indexv:v,currentSlide:m}})}),1),he.isPrintingPDF()&&(xe(),"complete"===document.readyState?he.setupPDF():window.addEventListener("load",(()=>{he.setupPDF()})))}function be(){w.showHiddenSlides||t(X.wrapper,'section[data-visibility="hidden"]').forEach((e=>{e.parentNode.removeChild(e)}))}function ye(){X.slides.classList.add("no-transition"),g?X.wrapper.classList.add("no-hover"):X.wrapper.classList.remove("no-hover"),ie.render(),ee.render(),oe.render(),le.render(),ve.render(),X.pauseOverlay=o(X.wrapper,"div","pause-overlay",w.controls?'':null),X.statusElement=we(),X.wrapper.setAttribute("role","application")}function we(){let e=X.wrapper.querySelector(".aria-status");return e||(e=document.createElement("div"),e.style.position="absolute",e.style.height="1px",e.style.width="1px",e.style.overflow="hidden",e.style.clip="rect( 1px, 1px, 1px, 1px )",e.classList.add("aria-status"),e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),X.wrapper.appendChild(e)),e}function Ee(e){X.statusElement.textContent=e}function Re(e){let t="";if(3===e.nodeType)t+=e.textContent;else if(1===e.nodeType){let i=e.getAttribute("aria-hidden"),a="none"===window.getComputedStyle(e).display;"true"===i||a||Array.from(e.childNodes).forEach((e=>{t+=Re(e)}))}return t=t.trim(),""===t?"":t+" "}function Se(){setInterval((()=>{0===X.wrapper.scrollTop&&0===X.wrapper.scrollLeft||(X.wrapper.scrollTop=0,X.wrapper.scrollLeft=0)}),1e3)}function Ae(){document.addEventListener("fullscreenchange",Kt),document.addEventListener("webkitfullscreenchange",Kt)}function ke(){w.postMessage&&window.addEventListener("message",qt,!1)}function Le(t){const a={...w};if("object"==typeof t&&e(w,t),!1===h.isReady())return;const n=X.wrapper.querySelectorAll(R).length;X.wrapper.classList.remove(a.transition),X.wrapper.classList.add(w.transition),X.wrapper.setAttribute("data-transition-speed",w.transitionSpeed),X.wrapper.setAttribute("data-background-transition",w.backgroundTransition),X.viewport.style.setProperty("--slide-width",w.width+"px"),X.viewport.style.setProperty("--slide-height",w.height+"px"),w.shuffle&&rt(),i(X.wrapper,"embedded",w.embedded),i(X.wrapper,"rtl",w.rtl),i(X.wrapper,"center",w.center),!1===w.pause&&Je(),w.previewLinks?(Fe(),ze("[data-preview-link=false]")):(ze(),Fe("[data-preview-link]:not([data-preview-link=false])")),te.reset(),f&&(f.destroy(),f=null),n>1&&w.autoSlide&&w.autoSlideStoppable&&(f=new V(X.wrapper,(()=>Math.min(Math.max((Date.now()-J)/_,0),1))),f.on("click",$t),Q=!1),"default"!==w.navigationMode?X.wrapper.setAttribute("data-navigation-mode",w.navigationMode):X.wrapper.removeAttribute("data-navigation-mode"),ve.configure(w,a),ue.configure(w,a),de.configure(w,a),oe.configure(w,a),le.configure(w,a),se.configure(w,a),ae.configure(w,a),ee.configure(w,a),at()}function Ce(){window.addEventListener("resize",Ut,!1),w.touch&&ge.bind(),w.keyboard&&se.bind(),w.progress&&le.bind(),w.respondToHashChanges&&re.bind(),oe.bind(),ue.bind(),X.slides.addEventListener("click",Ot,!1),X.slides.addEventListener("transitionend",Bt,!1),X.pauseOverlay.addEventListener("click",Je,!1),w.focusBodyOnPageVisibilityChange&&document.addEventListener("visibilitychange",Wt,!1)}function xe(){ge.unbind(),ue.unbind(),se.unbind(),oe.unbind(),le.unbind(),re.unbind(),window.removeEventListener("resize",Ut,!1),X.slides.removeEventListener("click",Ot,!1),X.slides.removeEventListener("transitionend",Bt,!1),X.pauseOverlay.removeEventListener("click",Je,!1)}function Pe(){xe(),xt(),ze(),ve.destroy(),ue.destroy(),ce.destroy(),de.destroy(),oe.destroy(),le.destroy(),ie.destroy(),ee.destroy(),document.removeEventListener("fullscreenchange",Kt),document.removeEventListener("webkitfullscreenchange",Kt),document.removeEventListener("visibilitychange",Wt,!1),window.removeEventListener("message",qt,!1),window.removeEventListener("load",Ue,!1),X.pauseOverlay&&X.pauseOverlay.remove(),X.statusElement&&X.statusElement.remove(),document.documentElement.classList.remove("reveal-full-page"),X.wrapper.classList.remove("ready","center","has-horizontal-slides","has-vertical-slides"),X.wrapper.removeAttribute("data-transition-speed"),X.wrapper.removeAttribute("data-background-transition"),X.viewport.classList.remove("reveal-viewport"),X.viewport.style.removeProperty("--slide-width"),X.viewport.style.removeProperty("--slide-height"),X.slides.style.removeProperty("width"),X.slides.style.removeProperty("height"),X.slides.style.removeProperty("zoom"),X.slides.style.removeProperty("left"),X.slides.style.removeProperty("top"),X.slides.style.removeProperty("bottom"),X.slides.style.removeProperty("right"),X.slides.style.removeProperty("transform"),Array.from(X.wrapper.querySelectorAll(R)).forEach((e=>{e.style.removeProperty("display"),e.style.removeProperty("top"),e.removeAttribute("hidden"),e.removeAttribute("aria-hidden")}))}function Ne(e,t,i){s.addEventListener(e,t,i)}function Me(e,t,i){s.removeEventListener(e,t,i)}function De(e){"string"==typeof e.layout&&(U.layout=e.layout),"string"==typeof e.overview&&(U.overview=e.overview),U.layout?n(X.slides,U.layout+" "+U.overview):n(X.slides,U.overview)}function Ie({target:t=X.wrapper,type:i,data:a,bubbles:n=!0}){let s=document.createEvent("HTMLEvents",1,2);return s.initEvent(i,n,!0),e(s,a),t.dispatchEvent(s),t===X.wrapper&&Te(i),s}function Te(t,i){if(w.postMessageEvents&&window.parent!==window.self){let a={namespace:"reveal",eventName:t,state:kt()};e(a,i),window.parent.postMessage(JSON.stringify(a),"*")}}function Fe(e="a"){Array.from(X.wrapper.querySelectorAll(e)).forEach((e=>{/^(http|www)/gi.test(e.getAttribute("href"))&&e.addEventListener("click",Vt,!1)}))}function ze(e="a"){Array.from(X.wrapper.querySelectorAll(e)).forEach((e=>{/^(http|www)/gi.test(e.getAttribute("href"))&&e.removeEventListener("click",Vt,!1)}))}function He(e){Oe(),X.overlay=document.createElement("div"),X.overlay.classList.add("overlay"),X.overlay.classList.add("overlay-preview"),X.wrapper.appendChild(X.overlay),X.overlay.innerHTML=`
    \n\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tUnable to load iframe. This is likely due to the site's policy (x-frame-options).\n\t\t\t\t\n\t\t\t
    `,X.overlay.querySelector("iframe").addEventListener("load",(e=>{X.overlay.classList.add("loaded")}),!1),X.overlay.querySelector(".close").addEventListener("click",(e=>{Oe(),e.preventDefault()}),!1),X.overlay.querySelector(".external").addEventListener("click",(e=>{Oe()}),!1)}function qe(e){"boolean"==typeof e?e?Be():Oe():X.overlay?Oe():Be()}function Be(){if(w.help){Oe(),X.overlay=document.createElement("div"),X.overlay.classList.add("overlay"),X.overlay.classList.add("overlay-help"),X.wrapper.appendChild(X.overlay);let e='

    Keyboard Shortcuts


    ',t=se.getShortcuts(),i=se.getBindings();e+="";for(let i in t)e+=``;for(let t in i)i[t].key&&i[t].description&&(e+=``);e+="
    KEYACTION
    ${i}${t[i]}
    ${i[t].key}${i[t].description}
    ",X.overlay.innerHTML=`\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    ${e}
    \n\t\t\t\t
    \n\t\t\t`,X.overlay.querySelector(".close").addEventListener("click",(e=>{Oe(),e.preventDefault()}),!1)}}function Oe(){return!!X.overlay&&(X.overlay.parentNode.removeChild(X.overlay),X.overlay=null,!0)}function Ue(){if(X.wrapper&&!he.isPrintingPDF()){if(!w.disableLayout){g&&!w.embedded&&document.documentElement.style.setProperty("--vh",.01*window.innerHeight+"px");const e=Ke(),t=O;We(w.width,w.height),X.slides.style.width=e.width+"px",X.slides.style.height=e.height+"px",O=Math.min(e.presentationWidth/e.width,e.presentationHeight/e.height),O=Math.max(O,w.minScale),O=Math.min(O,w.maxScale),1===O?(X.slides.style.zoom="",X.slides.style.left="",X.slides.style.top="",X.slides.style.bottom="",X.slides.style.right="",De({layout:""})):(X.slides.style.zoom="",X.slides.style.left="50%",X.slides.style.top="50%",X.slides.style.bottom="auto",X.slides.style.right="auto",De({layout:"translate(-50%, -50%) scale("+O+")"}));const i=Array.from(X.wrapper.querySelectorAll(R));for(let t=0,a=i.length;t .stretch, section > .r-stretch").forEach((t=>{let a=c(t,i);if(/(img|video)/gi.test(t.nodeName)){const i=t.naturalWidth||t.videoWidth,n=t.naturalHeight||t.videoHeight,s=Math.min(e/i,a/n);t.style.width=i*s+"px",t.style.height=n*s+"px"}else t.style.width=e+"px",t.style.height=a+"px"}))}function Ke(e,t){const i={width:w.width,height:w.height,presentationWidth:e||X.wrapper.offsetWidth,presentationHeight:t||X.wrapper.offsetHeight};return i.presentationWidth-=i.presentationWidth*w.margin,i.presentationHeight-=i.presentationHeight*w.margin,"string"==typeof i.width&&/%$/.test(i.width)&&(i.width=parseInt(i.width,10)/100*i.presentationWidth),"string"==typeof i.height&&/%$/.test(i.height)&&(i.height=parseInt(i.height,10)/100*i.presentationHeight),i}function Ve(e,t){"object"==typeof e&&"function"==typeof e.setAttribute&&e.setAttribute("data-previous-indexv",t||0)}function $e(e){if("object"==typeof e&&"function"==typeof e.setAttribute&&e.classList.contains("stack")){const t=e.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(e.getAttribute(t)||0,10)}return 0}function je(e=m){return e&&e.parentNode&&!!e.parentNode.nodeName.match(/section/i)}function Xe(){return!(!m||!je(m))&&!m.nextElementSibling}function Ye(){return 0===u&&0===v}function _e(){return!!m&&(!m.nextElementSibling&&(!je(m)||!m.parentNode.nextElementSibling))}function Ge(){if(w.pause){const e=X.wrapper.classList.contains("paused");xt(),X.wrapper.classList.add("paused"),!1===e&&Ie({type:"paused"})}}function Je(){const e=X.wrapper.classList.contains("paused");X.wrapper.classList.remove("paused"),Ct(),e&&Ie({type:"resumed"})}function Qe(e){"boolean"==typeof e?e?Ge():Je():Ze()?Je():Ge()}function Ze(){return X.wrapper.classList.contains("paused")}function et(e){"boolean"==typeof e?e?Nt():Pt():Q?Nt():Pt()}function tt(){return!(!_||Q)}function it(e,t,i,a){if(Ie({type:"beforeslidechange",data:{indexh:void 0===e?u:e,indexv:void 0===t?v:t,origin:a}}).defaultPrevented)return;p=m;const n=X.wrapper.querySelectorAll(S);if(0===n.length)return;void 0!==t||ne.isActive()||(t=$e(n[e])),p&&p.parentNode&&p.parentNode.classList.contains("stack")&&Ve(p.parentNode,v);const s=z.concat();z.length=0;let r=u||0,o=v||0;u=ot(S,void 0===e?u:e),v=ot(A,void 0===t?v:t);let l=u!==r||v!==o;l||(p=null);let d=n[u],c=d.querySelectorAll("section");m=c[v]||d;let h=!1;l&&p&&m&&!ne.isActive()&&(p.hasAttribute("data-auto-animate")&&m.hasAttribute("data-auto-animate")&&p.getAttribute("data-auto-animate-id")===m.getAttribute("data-auto-animate-id")&&!(u>r||v>o?m:p).hasAttribute("data-auto-animate-restart")&&(h=!0,X.slides.classList.add("disable-slide-transitions")),Y="running"),ct(),Ue(),ne.isActive()&&ne.update(),void 0!==i&&ae.goto(i),p&&p!==m&&(p.classList.remove("present"),p.setAttribute("aria-hidden","true"),Ye()&&setTimeout((()=>{bt().forEach((e=>{Ve(e,0)}))}),0));e:for(let e=0,t=z.length;e{Ee(Re(m))})),le.update(),oe.update(),ve.update(),ie.update(),ie.updateParallax(),ee.update(),ae.update(),re.writeURL(),Ct(),h&&(setTimeout((()=>{X.slides.classList.remove("disable-slide-transitions")}),0),w.autoAnimate&&te.run(p,m))}function at(){xe(),Ce(),Ue(),_=w.autoSlide,Ct(),ie.create(),re.writeURL(),ae.sortAll(),oe.update(),le.update(),ct(),ve.update(),ve.updateVisibility(),ie.update(!0),ee.update(),Z.formatEmbeddedContent(),!1===w.autoPlayMedia?Z.stopEmbeddedContent(m,{unloadIframes:!1}):Z.startEmbeddedContent(m),ne.isActive()&&ne.layout()}function nt(e=m){ie.sync(e),ae.sync(e),Z.load(e),ie.update(),ve.update()}function st(){mt().forEach((e=>{t(e,"section").forEach(((e,t)=>{t>0&&(e.classList.remove("present"),e.classList.remove("past"),e.classList.add("future"),e.setAttribute("aria-hidden","true"))}))}))}function rt(e=mt()){e.forEach(((t,i)=>{let a=e[Math.floor(Math.random()*e.length)];a.parentNode===t.parentNode&&t.parentNode.insertBefore(t,a);let n=t.querySelectorAll("section");n.length&&rt(n)}))}function ot(e,i){let a=t(X.wrapper,e),n=a.length,s=he.isPrintingPDF(),r=!1,o=!1;if(n){w.loop&&(i>=n&&(r=!0),(i%=n)<0&&(i=n+i,o=!0)),i=Math.max(Math.min(i,n-1),0);for(let e=0;ei?(t.classList.add(n?"past":"future"),w.fragments&&dt(t)):e===i&&w.fragments&&(r?dt(t):o&<(t))}let e=a[i],t=e.classList.contains("present");e.classList.add("present"),e.removeAttribute("hidden"),e.removeAttribute("aria-hidden"),t||Ie({target:e,type:"visible",bubbles:!1});let l=e.getAttribute("data-state");l&&(z=z.concat(l.split(" ")))}else i=0;return i}function lt(e){t(e,".fragment").forEach((e=>{e.classList.add("visible"),e.classList.remove("current-fragment")}))}function dt(e){t(e,".fragment.visible").forEach((e=>{e.classList.remove("visible","current-fragment")}))}function ct(){let e,i,a=mt(),n=a.length;if(n&&void 0!==u){let s=ne.isActive()?10:w.viewDistance;g&&(s=ne.isActive()?6:w.mobileViewDistance),he.isPrintingPDF()&&(s=Number.MAX_VALUE);for(let r=0;r0,right:u0,down:v1&&(a.left=!0,a.right=!0),i.length>1&&(a.up=!0,a.down=!0)),t.length>1&&"linear"===w.navigationMode&&(a.right=a.right||a.down,a.left=a.left||a.up),!0===e){let e=ae.availableRoutes();a.left=a.left||e.prev,a.up=a.up||e.prev,a.down=a.down||e.next,a.right=a.right||e.next}if(w.rtl){let e=a.left;a.left=a.right,a.right=e}return a}function ut(e=m){let t=mt(),i=0;e:for(let a=0;a0){let i=.9;t+=m.querySelectorAll(".fragment.visible").length/e.length*i}}return Math.min(t/(e-1),1)}function vt(e){let i,a=u,n=v;if(e){let i=je(e),s=i?e.parentNode:e,r=mt();a=Math.max(r.indexOf(s),0),n=void 0,i&&(n=Math.max(t(e.parentNode,"section").indexOf(e),0))}if(!e&&m){if(m.querySelectorAll(".fragment").length>0){let e=m.querySelector(".current-fragment");i=e&&e.hasAttribute("data-fragment-index")?parseInt(e.getAttribute("data-fragment-index"),10):m.querySelectorAll(".fragment.visible").length-1}}return{h:a,v:n,f:i}}function pt(){return t(X.wrapper,'.slides section:not(.stack):not([data-visibility="uncounted"])')}function mt(){return t(X.wrapper,S)}function ft(){return t(X.wrapper,".slides>section>section")}function bt(){return t(X.wrapper,".slides>section.stack")}function yt(){return mt().length>1}function wt(){return ft().length>1}function Et(){return pt().map((e=>{let t={};for(let i=0;i{e.hasAttribute("data-autoplay")&&_&&1e3*e.duration/e.playbackRate>_&&(_=1e3*e.duration/e.playbackRate+1e3)}))),!_||Q||Ze()||ne.isActive()||_e()&&!ae.availableRoutes().next&&!0!==w.loop||(G=setTimeout((()=>{"function"==typeof w.autoSlideMethod?w.autoSlideMethod():zt(),Ct()}),_),J=Date.now()),f&&f.setPlaying(-1!==G)}}function xt(){clearTimeout(G),G=-1}function Pt(){_&&!Q&&(Q=!0,Ie({type:"autoslidepaused"}),clearTimeout(G),f&&f.setPlaying(!1))}function Nt(){_&&Q&&(Q=!1,Ie({type:"autoslideresumed"}),Ct())}function Mt({skipFragments:e=!1}={}){C.hasNavigatedHorizontally=!0,w.rtl?(ne.isActive()||e||!1===ae.next())&&ht().left&&it(u+1,"grid"===w.navigationMode?v:void 0):(ne.isActive()||e||!1===ae.prev())&&ht().left&&it(u-1,"grid"===w.navigationMode?v:void 0)}function Dt({skipFragments:e=!1}={}){C.hasNavigatedHorizontally=!0,w.rtl?(ne.isActive()||e||!1===ae.prev())&&ht().right&&it(u-1,"grid"===w.navigationMode?v:void 0):(ne.isActive()||e||!1===ae.next())&&ht().right&&it(u+1,"grid"===w.navigationMode?v:void 0)}function It({skipFragments:e=!1}={}){(ne.isActive()||e||!1===ae.prev())&&ht().up&&it(u,v-1)}function Tt({skipFragments:e=!1}={}){C.hasNavigatedVertically=!0,(ne.isActive()||e||!1===ae.next())&&ht().down&&it(u,v+1)}function Ft({skipFragments:e=!1}={}){if(e||!1===ae.prev())if(ht().up)It({skipFragments:e});else{let i;if(i=w.rtl?t(X.wrapper,".slides>section.future").pop():t(X.wrapper,".slides>section.past").pop(),i&&i.classList.contains("stack")){let e=i.querySelectorAll("section").length-1||void 0;it(u-1,e)}else Mt({skipFragments:e})}}function zt({skipFragments:e=!1}={}){if(C.hasNavigatedHorizontally=!0,C.hasNavigatedVertically=!0,e||!1===ae.next()){let t=ht();t.down&&t.right&&w.loop&&Xe()&&(t.down=!1),t.down?Tt({skipFragments:e}):w.rtl?Mt({skipFragments:e}):Dt({skipFragments:e})}}function Ht(e){w.autoSlideStoppable&&Pt()}function qt(e){let t=e.data;if("string"==typeof t&&"{"===t.charAt(0)&&"}"===t.charAt(t.length-1)&&(t=JSON.parse(t),t.method&&"function"==typeof h[t.method]))if(!1===k.test(t.method)){const e=h[t.method].apply(h,t.args);Te("callback",{method:t.method,result:e})}else console.warn('reveal.js: "'+t.method+'" is is blacklisted from the postMessage API')}function Bt(e){"running"===Y&&/section/gi.test(e.target.nodeName)&&(Y="idle",Ie({type:"slidetransitionend",data:{indexh:u,indexv:v,previousSlide:p,currentSlide:m}}))}function Ot(e){const t=r(e.target,'a[href^="#"]');if(t){const i=t.getAttribute("href"),a=re.getIndicesFromHash(i);a&&(h.slide(a.h,a.v,a.f),e.preventDefault())}}function Ut(e){Ue()}function Wt(e){!1===document.hidden&&document.activeElement!==document.body&&("function"==typeof document.activeElement.blur&&document.activeElement.blur(),document.body.focus())}function Kt(e){(document.fullscreenElement||document.webkitFullscreenElement)===X.wrapper&&(e.stopImmediatePropagation(),setTimeout((()=>{h.layout(),h.focus.focus()}),1))}function Vt(e){if(e.currentTarget&&e.currentTarget.hasAttribute("href")){let t=e.currentTarget.getAttribute("href");t&&(He(t),e.preventDefault())}}function $t(e){_e()&&!1===w.loop?(it(0,0),Nt()):Q?Nt():Pt()}const jt={VERSION:j,initialize:pe,configure:Le,destroy:Pe,sync:at,syncSlide:nt,syncFragments:ae.sync.bind(ae),slide:it,left:Mt,right:Dt,up:It,down:Tt,prev:Ft,next:zt,navigateLeft:Mt,navigateRight:Dt,navigateUp:It,navigateDown:Tt,navigatePrev:Ft,navigateNext:zt,navigateFragment:ae.goto.bind(ae),prevFragment:ae.prev.bind(ae),nextFragment:ae.next.bind(ae),on:Ne,off:Me,addEventListener:Ne,removeEventListener:Me,layout:Ue,shuffle:rt,availableRoutes:ht,availableFragments:ae.availableRoutes.bind(ae),toggleHelp:qe,toggleOverview:ne.toggle.bind(ne),togglePause:Qe,toggleAutoSlide:et,isFirstSlide:Ye,isLastSlide:_e,isLastVerticalSlide:Xe,isVerticalSlide:je,isPaused:Ze,isAutoSliding:tt,isSpeakerNotes:ve.isSpeakerNotesWindow.bind(ve),isOverview:ne.isActive.bind(ne),isFocused:ue.isFocused.bind(ue),isPrintingPDF:he.isPrintingPDF.bind(he),isReady:()=>L,loadSlide:Z.load.bind(Z),unloadSlide:Z.unload.bind(Z),showPreview:He,hidePreview:Oe,addEventListeners:Ce,removeEventListeners:xe,dispatchEvent:Ie,getState:kt,setState:Lt,getProgress:gt,getIndices:vt,getSlidesAttributes:Et,getSlidePastCount:ut,getTotalSlides:Rt,getSlide:St,getPreviousSlide:()=>p,getCurrentSlide:()=>m,getSlideBackground:At,getSlideNotes:ve.getSlideNotes.bind(ve),getSlides:pt,getHorizontalSlides:mt,getVerticalSlides:ft,hasHorizontalSlides:yt,hasVerticalSlides:wt,hasNavigatedHorizontally:()=>C.hasNavigatedHorizontally,hasNavigatedVertically:()=>C.hasNavigatedVertically,addKeyBinding:se.addKeyBinding.bind(se),removeKeyBinding:se.removeKeyBinding.bind(se),triggerKey:se.triggerKey.bind(se),registerKeyboardShortcut:se.registerKeyboardShortcut.bind(se),getComputedSlideSize:Ke,getScale:()=>O,getConfig:()=>w,getQueryHash:d,getSlidePath:re.getHash.bind(re),getRevealElement:()=>s,getSlidesElement:()=>X.slides,getViewportElement:()=>X.viewport,getBackgroundsElement:()=>ie.element,registerPlugin:ce.registerPlugin.bind(ce),hasPlugin:ce.hasPlugin.bind(ce),getPlugin:ce.getPlugin.bind(ce),getPlugins:ce.getRegisteredPlugins.bind(ce)};return e(h,{...jt,announceStatus:Ee,getStatusText:Re,print:he,focus:ue,progress:le,controls:oe,location:re,overview:ne,fragments:ae,slideContent:Z,slideNumber:ee,onUserInput:Ht,closeOverlay:Oe,updateSlidesVisibility:ct,layoutSlideContents:We,transformSlides:De,cueAutoSlide:Ct,cancelAutoSlide:xt}),jt}let Y=X,_=[];return Y.initialize=e=>(Object.assign(Y,new X(document.querySelector(".reveal"),e)),_.map((e=>e(Y))),Y.initialize()),["configure","on","off","addEventListener","removeEventListener","registerPlugin"].forEach((e=>{Y[e]=(...t)=>{_.push((i=>i[e].call(null,...t)))}})),Y.isReady=()=>!1,Y.VERSION=j,Y})); //# sourceMappingURL=reveal.js.map /** * White theme for reveal.js. This is the opposite of the 'black' theme. * * By Hakim El Hattab, http://hakim.se */ section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 { color: #fff; } /********************************************* * GLOBAL STYLES *********************************************/ :root { --r-background-color: #fff; --r-main-font: Source Sans Pro, Helvetica, sans-serif; --r-main-font-size: 42px; --r-main-color: #222; --r-block-margin: 20px; --r-heading-margin: 0 0 20px 0; --r-heading-font: Source Sans Pro, Helvetica, sans-serif; --r-heading-color: #222; --r-heading-line-height: 1.2; --r-heading-letter-spacing: normal; --r-heading-text-transform: uppercase; --r-heading-text-shadow: none; --r-heading-font-weight: 600; --r-heading1-text-shadow: none; --r-heading1-size: 2.5em; --r-heading2-size: 1.6em; --r-heading3-size: 1.3em; --r-heading4-size: 1em; --r-code-font: monospace; --r-link-color: #2a76dd; --r-link-color-dark: #1a53a1; --r-link-color-hover: #6ca0e8; --r-selection-background-color: #98bdef; --r-selection-color: #fff; } .reveal-viewport { background: #fff; background-color: var(--r-background-color); } .reveal { font-family: var(--r-main-font); font-size: var(--r-main-font-size); font-weight: normal; color: var(--r-main-color); } .reveal ::selection { color: var(--r-selection-color); background: var(--r-selection-background-color); text-shadow: none; } .reveal ::-moz-selection { color: var(--r-selection-color); background: var(--r-selection-background-color); text-shadow: none; } .reveal .slides section, .reveal .slides section > section { line-height: 1.3; font-weight: inherit; } /********************************************* * HEADERS *********************************************/ .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 { margin: var(--r-heading-margin); color: var(--r-heading-color); font-family: var(--r-heading-font); font-weight: var(--r-heading-font-weight); line-height: var(--r-heading-line-height); letter-spacing: var(--r-heading-letter-spacing); text-transform: var(--r-heading-text-transform); text-shadow: var(--r-heading-text-shadow); word-wrap: break-word; } .reveal h1 { font-size: var(--r-heading1-size); } .reveal h2 { font-size: var(--r-heading2-size); } .reveal h3 { font-size: var(--r-heading3-size); } .reveal h4 { font-size: var(--r-heading4-size); } .reveal h1 { text-shadow: var(--r-heading1-text-shadow); } /********************************************* * OTHER *********************************************/ .reveal p { margin: var(--r-block-margin) 0; line-height: 1.3; } /* Remove trailing margins after titles */ .reveal h1:last-child, .reveal h2:last-child, .reveal h3:last-child, .reveal h4:last-child, .reveal h5:last-child, .reveal h6:last-child { margin-bottom: 0; } /* Ensure certain elements are never larger than the slide itself */ .reveal img, .reveal video, .reveal iframe { max-width: 95%; max-height: 95%; } .reveal strong, .reveal b { font-weight: bold; } .reveal em { font-style: italic; } .reveal ol, .reveal dl, .reveal ul { display: inline-block; text-align: left; margin: 0 0 0 1em; } .reveal ol { list-style-type: decimal; } .reveal ul { list-style-type: disc; } .reveal ul ul { list-style-type: square; } .reveal ul ul ul { list-style-type: circle; } .reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul { display: block; margin-left: 40px; } .reveal dt { font-weight: bold; } .reveal dd { margin-left: 40px; } .reveal blockquote { display: block; position: relative; width: 70%; margin: var(--r-block-margin) auto; padding: 5px; font-style: italic; background: rgba(255, 255, 255, 0.05); box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); } .reveal blockquote p:first-child, .reveal blockquote p:last-child { display: inline-block; } .reveal q { font-style: italic; } .reveal pre { display: block; position: relative; width: 90%; margin: var(--r-block-margin) auto; text-align: left; font-size: 0.55em; font-family: var(--r-code-font); line-height: 1.2em; word-wrap: break-word; box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15); } .reveal code { font-family: var(--r-code-font); text-transform: none; tab-size: 2; } .reveal pre code { display: block; padding: 5px; overflow: auto; max-height: 400px; word-wrap: normal; } .reveal .code-wrapper { white-space: normal; } .reveal .code-wrapper code { white-space: pre; } .reveal table { margin: auto; border-collapse: collapse; border-spacing: 0; } .reveal table th { font-weight: bold; } .reveal table th, .reveal table td { text-align: left; padding: 0.2em 0.5em 0.2em 0.5em; border-bottom: 1px solid; } .reveal table th[align=center], .reveal table td[align=center] { text-align: center; } .reveal table th[align=right], .reveal table td[align=right] { text-align: right; } .reveal table tbody tr:last-child th, .reveal table tbody tr:last-child td { border-bottom: none; } .reveal sup { vertical-align: super; font-size: smaller; } .reveal sub { vertical-align: sub; font-size: smaller; } .reveal small { display: inline-block; font-size: 0.6em; line-height: 1.2em; vertical-align: top; } .reveal small * { vertical-align: top; } .reveal img { margin: var(--r-block-margin) 0; } /********************************************* * LINKS *********************************************/ .reveal a { color: var(--r-link-color); text-decoration: none; transition: color 0.15s ease; } .reveal a:hover { color: var(--r-link-color-hover); text-shadow: none; border: none; } .reveal .roll span:after { color: #fff; background: var(--r-link-color-dark); } /********************************************* * Frame helper *********************************************/ .reveal .r-frame { border: 4px solid var(--r-main-color); box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); } .reveal a .r-frame { transition: all 0.15s linear; } .reveal a:hover .r-frame { border-color: var(--r-link-color); box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } /********************************************* * NAVIGATION CONTROLS *********************************************/ .reveal .controls { color: var(--r-link-color); } /********************************************* * PROGRESS BAR *********************************************/ .reveal .progress { background: rgba(0, 0, 0, 0.2); color: var(--r-link-color); } /********************************************* * PRINT BACKGROUND *********************************************/ @media print { .backgrounds { background-color: var(--r-background-color); } } // Source: https://github.com/ricmoo/scrypt-js 3f106c1 2020-05-19 "use strict"; (function(root) { const MAX_VALUE = 0x7fffffff; // The SHA256 and PBKDF2 implementation are from scrypt-async-js: // See: https://github.com/dchest/scrypt-async-js function SHA256(m) { const K = new Uint32Array([ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 ]); let h0 = 0x6a09e667, h1 = 0xbb67ae85, h2 = 0x3c6ef372, h3 = 0xa54ff53a; let h4 = 0x510e527f, h5 = 0x9b05688c, h6 = 0x1f83d9ab, h7 = 0x5be0cd19; const w = new Uint32Array(64); function blocks(p) { let off = 0, len = p.length; while (len >= 64) { let a = h0, b = h1, c = h2, d = h3, e = h4, f = h5, g = h6, h = h7, u, i, j, t1, t2; for (i = 0; i < 16; i++) { j = off + i*4; w[i] = ((p[j] & 0xff)<<24) | ((p[j+1] & 0xff)<<16) | ((p[j+2] & 0xff)<<8) | (p[j+3] & 0xff); } for (i = 16; i < 64; i++) { u = w[i-2]; t1 = ((u>>>17) | (u<<(32-17))) ^ ((u>>>19) | (u<<(32-19))) ^ (u>>>10); u = w[i-15]; t2 = ((u>>>7) | (u<<(32-7))) ^ ((u>>>18) | (u<<(32-18))) ^ (u>>>3); w[i] = (((t1 + w[i-7]) | 0) + ((t2 + w[i-16]) | 0)) | 0; } for (i = 0; i < 64; i++) { t1 = ((((((e>>>6) | (e<<(32-6))) ^ ((e>>>11) | (e<<(32-11))) ^ ((e>>>25) | (e<<(32-25)))) + ((e & f) ^ (~e & g))) | 0) + ((h + ((K[i] + w[i]) | 0)) | 0)) | 0; t2 = ((((a>>>2) | (a<<(32-2))) ^ ((a>>>13) | (a<<(32-13))) ^ ((a>>>22) | (a<<(32-22)))) + ((a & b) ^ (a & c) ^ (b & c))) | 0; h = g; g = f; f = e; e = (d + t1) | 0; d = c; c = b; b = a; a = (t1 + t2) | 0; } h0 = (h0 + a) | 0; h1 = (h1 + b) | 0; h2 = (h2 + c) | 0; h3 = (h3 + d) | 0; h4 = (h4 + e) | 0; h5 = (h5 + f) | 0; h6 = (h6 + g) | 0; h7 = (h7 + h) | 0; off += 64; len -= 64; } } blocks(m); let i, bytesLeft = m.length % 64, bitLenHi = (m.length / 0x20000000) | 0, bitLenLo = m.length << 3, numZeros = (bytesLeft < 56) ? 56 : 120, p = m.slice(m.length - bytesLeft, m.length); p.push(0x80); for (i = bytesLeft + 1; i < numZeros; i++) { p.push(0); } p.push((bitLenHi >>> 24) & 0xff); p.push((bitLenHi >>> 16) & 0xff); p.push((bitLenHi >>> 8) & 0xff); p.push((bitLenHi >>> 0) & 0xff); p.push((bitLenLo >>> 24) & 0xff); p.push((bitLenLo >>> 16) & 0xff); p.push((bitLenLo >>> 8) & 0xff); p.push((bitLenLo >>> 0) & 0xff); blocks(p); return [ (h0 >>> 24) & 0xff, (h0 >>> 16) & 0xff, (h0 >>> 8) & 0xff, (h0 >>> 0) & 0xff, (h1 >>> 24) & 0xff, (h1 >>> 16) & 0xff, (h1 >>> 8) & 0xff, (h1 >>> 0) & 0xff, (h2 >>> 24) & 0xff, (h2 >>> 16) & 0xff, (h2 >>> 8) & 0xff, (h2 >>> 0) & 0xff, (h3 >>> 24) & 0xff, (h3 >>> 16) & 0xff, (h3 >>> 8) & 0xff, (h3 >>> 0) & 0xff, (h4 >>> 24) & 0xff, (h4 >>> 16) & 0xff, (h4 >>> 8) & 0xff, (h4 >>> 0) & 0xff, (h5 >>> 24) & 0xff, (h5 >>> 16) & 0xff, (h5 >>> 8) & 0xff, (h5 >>> 0) & 0xff, (h6 >>> 24) & 0xff, (h6 >>> 16) & 0xff, (h6 >>> 8) & 0xff, (h6 >>> 0) & 0xff, (h7 >>> 24) & 0xff, (h7 >>> 16) & 0xff, (h7 >>> 8) & 0xff, (h7 >>> 0) & 0xff ]; } function PBKDF2_HMAC_SHA256_OneIter(password, salt, dkLen) { // compress password if it's longer than hash block length password = (password.length <= 64) ? password : SHA256(password); const innerLen = 64 + salt.length + 4; const inner = new Array(innerLen); const outerKey = new Array(64); let i; let dk = []; // inner = (password ^ ipad) || salt || counter for (i = 0; i < 64; i++) { inner[i] = 0x36; } for (i = 0; i < password.length; i++) { inner[i] ^= password[i]; } for (i = 0; i < salt.length; i++) { inner[64 + i] = salt[i]; } for (i = innerLen - 4; i < innerLen; i++) { inner[i] = 0; } // outerKey = password ^ opad for (i = 0; i < 64; i++) outerKey[i] = 0x5c; for (i = 0; i < password.length; i++) outerKey[i] ^= password[i]; // increments counter inside inner function incrementCounter() { for (let i = innerLen - 1; i >= innerLen - 4; i--) { inner[i]++; if (inner[i] <= 0xff) return; inner[i] = 0; } } // output blocks = SHA256(outerKey || SHA256(inner)) ... while (dkLen >= 32) { incrementCounter(); dk = dk.concat(SHA256(outerKey.concat(SHA256(inner)))); dkLen -= 32; } if (dkLen > 0) { incrementCounter(); dk = dk.concat(SHA256(outerKey.concat(SHA256(inner))).slice(0, dkLen)); } return dk; } // The following is an adaptation of scryptsy // See: https://www.npmjs.com/package/scryptsy function blockmix_salsa8(BY, Yi, r, x, _X) { let i; arraycopy(BY, (2 * r - 1) * 16, _X, 0, 16); for (i = 0; i < 2 * r; i++) { blockxor(BY, i * 16, _X, 16); salsa20_8(_X, x); arraycopy(_X, 0, BY, Yi + (i * 16), 16); } for (i = 0; i < r; i++) { arraycopy(BY, Yi + (i * 2) * 16, BY, (i * 16), 16); } for (i = 0; i < r; i++) { arraycopy(BY, Yi + (i * 2 + 1) * 16, BY, (i + r) * 16, 16); } } function R(a, b) { return (a << b) | (a >>> (32 - b)); } function salsa20_8(B, x) { arraycopy(B, 0, x, 0, 16); for (let i = 8; i > 0; i -= 2) { x[ 4] ^= R(x[ 0] + x[12], 7); x[ 8] ^= R(x[ 4] + x[ 0], 9); x[12] ^= R(x[ 8] + x[ 4], 13); x[ 0] ^= R(x[12] + x[ 8], 18); x[ 9] ^= R(x[ 5] + x[ 1], 7); x[13] ^= R(x[ 9] + x[ 5], 9); x[ 1] ^= R(x[13] + x[ 9], 13); x[ 5] ^= R(x[ 1] + x[13], 18); x[14] ^= R(x[10] + x[ 6], 7); x[ 2] ^= R(x[14] + x[10], 9); x[ 6] ^= R(x[ 2] + x[14], 13); x[10] ^= R(x[ 6] + x[ 2], 18); x[ 3] ^= R(x[15] + x[11], 7); x[ 7] ^= R(x[ 3] + x[15], 9); x[11] ^= R(x[ 7] + x[ 3], 13); x[15] ^= R(x[11] + x[ 7], 18); x[ 1] ^= R(x[ 0] + x[ 3], 7); x[ 2] ^= R(x[ 1] + x[ 0], 9); x[ 3] ^= R(x[ 2] + x[ 1], 13); x[ 0] ^= R(x[ 3] + x[ 2], 18); x[ 6] ^= R(x[ 5] + x[ 4], 7); x[ 7] ^= R(x[ 6] + x[ 5], 9); x[ 4] ^= R(x[ 7] + x[ 6], 13); x[ 5] ^= R(x[ 4] + x[ 7], 18); x[11] ^= R(x[10] + x[ 9], 7); x[ 8] ^= R(x[11] + x[10], 9); x[ 9] ^= R(x[ 8] + x[11], 13); x[10] ^= R(x[ 9] + x[ 8], 18); x[12] ^= R(x[15] + x[14], 7); x[13] ^= R(x[12] + x[15], 9); x[14] ^= R(x[13] + x[12], 13); x[15] ^= R(x[14] + x[13], 18); } for (let i = 0; i < 16; ++i) { B[i] += x[i]; } } // naive approach... going back to loop unrolling may yield additional performance function blockxor(S, Si, D, len) { for (let i = 0; i < len; i++) { D[i] ^= S[Si + i] } } function arraycopy(src, srcPos, dest, destPos, length) { while (length--) { dest[destPos++] = src[srcPos++]; } } function checkBufferish(o) { if (!o || typeof(o.length) !== 'number') { return false; } for (let i = 0; i < o.length; i++) { const v = o[i]; if (typeof(v) !== 'number' || v % 1 || v < 0 || v >= 256) { return false; } } return true; } function ensureInteger(value, name) { if (typeof(value) !== "number" || (value % 1)) { throw new Error('invalid ' + name); } return value; } // N = Cpu cost, r = Memory cost, p = parallelization cost // callback(error, progress, key) function _scrypt(password, salt, N, r, p, dkLen, callback) { N = ensureInteger(N, 'N'); r = ensureInteger(r, 'r'); p = ensureInteger(p, 'p'); dkLen = ensureInteger(dkLen, 'dkLen'); if (N === 0 || (N & (N - 1)) !== 0) { throw new Error('N must be power of 2'); } if (N > MAX_VALUE / 128 / r) { throw new Error('N too large'); } if (r > MAX_VALUE / 128 / p) { throw new Error('r too large'); } if (!checkBufferish(password)) { throw new Error('password must be an array or buffer'); } password = Array.prototype.slice.call(password); if (!checkBufferish(salt)) { throw new Error('salt must be an array or buffer'); } salt = Array.prototype.slice.call(salt); let b = PBKDF2_HMAC_SHA256_OneIter(password, salt, p * 128 * r); const B = new Uint32Array(p * 32 * r) for (let i = 0; i < B.length; i++) { const j = i * 4; B[i] = ((b[j + 3] & 0xff) << 24) | ((b[j + 2] & 0xff) << 16) | ((b[j + 1] & 0xff) << 8) | ((b[j + 0] & 0xff) << 0); } const XY = new Uint32Array(64 * r); const V = new Uint32Array(32 * r * N); const Yi = 32 * r; // scratch space const x = new Uint32Array(16); // salsa20_8 const _X = new Uint32Array(16); // blockmix_salsa8 const totalOps = p * N * 2; let currentOp = 0; let lastPercent10 = null; // Set this to true to abandon the scrypt on the next step let stop = false; // State information let state = 0; let i0 = 0, i1; let Bi; // How many blockmix_salsa8 can we do per step? const limit = callback ? parseInt(1000 / r): 0xffffffff; // Trick from scrypt-async; if there is a setImmediate shim in place, use it const nextTick = (typeof(setImmediate) !== 'undefined') ? setImmediate : setTimeout; // This is really all I changed; making scryptsy a state machine so we occasionally // stop and give other evnts on the evnt loop a chance to run. ~RicMoo const incrementalSMix = function() { if (stop) { return callback(new Error('cancelled'), currentOp / totalOps); } let steps; switch (state) { case 0: // for (var i = 0; i < p; i++)... Bi = i0 * 32 * r; arraycopy(B, Bi, XY, 0, Yi); // ROMix - 1 state = 1; // Move to ROMix 2 i1 = 0; // Fall through case 1: // Run up to 1000 steps of the first inner smix loop steps = N - i1; if (steps > limit) { steps = limit; } for (let i = 0; i < steps; i++) { // ROMix - 2 arraycopy(XY, 0, V, (i1 + i) * Yi, Yi) // ROMix - 3 blockmix_salsa8(XY, Yi, r, x, _X); // ROMix - 4 } // for (var i = 0; i < N; i++) i1 += steps; currentOp += steps; if (callback) { // Call the callback with the progress (optionally stopping us) const percent10 = parseInt(1000 * currentOp / totalOps); if (percent10 !== lastPercent10) { stop = callback(null, currentOp / totalOps); if (stop) { break; } lastPercent10 = percent10; } } if (i1 < N) { break; } i1 = 0; // Move to ROMix 6 state = 2; // Fall through case 2: // Run up to 1000 steps of the second inner smix loop steps = N - i1; if (steps > limit) { steps = limit; } for (let i = 0; i < steps; i++) { // ROMix - 6 const offset = (2 * r - 1) * 16; // ROMix - 7 const j = XY[offset] & (N - 1); blockxor(V, j * Yi, XY, Yi); // ROMix - 8 (inner) blockmix_salsa8(XY, Yi, r, x, _X); // ROMix - 9 (outer) } // for (var i = 0; i < N; i++)... i1 += steps; currentOp += steps; // Call the callback with the progress (optionally stopping us) if (callback) { const percent10 = parseInt(1000 * currentOp / totalOps); if (percent10 !== lastPercent10) { stop = callback(null, currentOp / totalOps); if (stop) { break; } lastPercent10 = percent10; } } if (i1 < N) { break; } arraycopy(XY, 0, B, Bi, Yi); // ROMix - 10 // for (var i = 0; i < p; i++)... i0++; if (i0 < p) { state = 0; break; } b = []; for (let i = 0; i < B.length; i++) { b.push((B[i] >> 0) & 0xff); b.push((B[i] >> 8) & 0xff); b.push((B[i] >> 16) & 0xff); b.push((B[i] >> 24) & 0xff); } const derivedKey = PBKDF2_HMAC_SHA256_OneIter(password, b, dkLen); // Send the result to the callback if (callback) { callback(null, 1.0, derivedKey); } // Done; don't break (which would reschedule) return derivedKey; } // Schedule the next steps if (callback) { nextTick(incrementalSMix); } } // Run the smix state machine until completion if (!callback) { while (true) { const derivedKey = incrementalSMix(); if (derivedKey != undefined) { return derivedKey; } } } // Bootstrap the async incremental smix incrementalSMix(); } const lib = { scrypt: function(password, salt, N, r, p, dkLen, progressCallback) { return new Promise(function(resolve, reject) { let lastProgress = 0; if (progressCallback) { progressCallback(0); } _scrypt(password, salt, N, r, p, dkLen, function(error, progress, key) { if (error) { reject(error); } else if (key) { if (progressCallback && lastProgress !== 1) { progressCallback(1); } resolve(new Uint8Array(key)); } else if (progressCallback && progress !== lastProgress) { lastProgress = progress; return progressCallback(progress); } }); }); }, syncScrypt: function(password, salt, N, r, p, dkLen) { return new Uint8Array(_scrypt(password, salt, N, r, p, dkLen)); } }; // node.js if (typeof(exports) !== 'undefined') { module.exports = lib; // RequireJS/AMD // http://www.requirejs.org/docs/api.html // https://github.com/amdjs/amdjs-api/wiki/AMD } else if (typeof(define) === 'function' && define.amd) { define(lib); // Web Browsers } else if (root) { // If there was an existing library "scrypt", make sure it is still available if (root.scrypt) { root._scrypt = root.scrypt; } root.scrypt = lib; } })(this); // https://cdn.jsdelivr.net/npm/turndown@7.2.0/dist/turndown.min.js var TurndownService=function(){"use strict";function e(e,n){return Array(n+1).join(e)}var n=["ADDRESS","ARTICLE","ASIDE","AUDIO","BLOCKQUOTE","BODY","CANVAS","CENTER","DD","DIR","DIV","DL","DT","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","FRAMESET","H1","H2","H3","H4","H5","H6","HEADER","HGROUP","HR","HTML","ISINDEX","LI","MAIN","MENU","NAV","NOFRAMES","NOSCRIPT","OL","OUTPUT","P","PRE","SECTION","TABLE","TBODY","TD","TFOOT","TH","THEAD","TR","UL"];function t(e){return a(e,n)}var r=["AREA","BASE","BR","COL","COMMAND","EMBED","HR","IMG","INPUT","KEYGEN","LINK","META","PARAM","SOURCE","TRACK","WBR"];function i(e){return a(e,r)}var o=["A","TABLE","THEAD","TBODY","TFOOT","TH","TD","IFRAME","SCRIPT","AUDIO","VIDEO"];function a(e,n){return n.indexOf(e.nodeName)>=0}function l(e,n){return e.getElementsByTagName&&n.some((function(n){return e.getElementsByTagName(n).length}))}var u={};function c(e){return e?e.replace(/(\n+\s*)+/g,"\n"):""}function s(e){for(var n in this.options=e,this._keep=[],this._remove=[],this.blankRule={replacement:e.blankReplacement},this.keepReplacement=e.keepReplacement,this.defaultRule={replacement:e.defaultReplacement},this.array=[],e.rules)this.array.push(e.rules[n])}function f(e,n,t){for(var r=0;r-1)return!0}else{if("function"!=typeof r)throw new TypeError("`filter` needs to be a string, array, or function");if(r.call(e,n,t))return!0}}function p(e){var n=e.nextSibling||e.parentNode;return e.parentNode.removeChild(e),n}function h(e,n,t){return e&&e.parentNode===n||t(n)?n.nextSibling||n.parentNode:n.firstChild||n.nextSibling||n.parentNode}u.paragraph={filter:"p",replacement:function(e){return"\n\n"+e+"\n\n"}},u.lineBreak={filter:"br",replacement:function(e,n,t){return t.br+"\n"}},u.heading={filter:["h1","h2","h3","h4","h5","h6"],replacement:function(n,t,r){var i=Number(t.nodeName.charAt(1));return"setext"===r.headingStyle&&i<3?"\n\n"+n+"\n"+e(1===i?"=":"-",n.length)+"\n\n":"\n\n"+e("#",i)+" "+n+"\n\n"}},u.blockquote={filter:"blockquote",replacement:function(e){return"\n\n"+(e=(e=e.replace(/^\n+|\n+$/g,"")).replace(/^/gm,"> "))+"\n\n"}},u.list={filter:["ul","ol"],replacement:function(e,n){var t=n.parentNode;return"LI"===t.nodeName&&t.lastElementChild===n?"\n"+e:"\n\n"+e+"\n\n"}},u.listItem={filter:"li",replacement:function(e,n,t){e=e.replace(/^\n+/,"").replace(/\n+$/,"\n").replace(/\n/gm,"\n ");var r=t.bulletListMarker+" ",i=n.parentNode;if("OL"===i.nodeName){var o=i.getAttribute("start"),a=Array.prototype.indexOf.call(i.children,n);r=(o?Number(o)+a:a+1)+". "}return r+e+(n.nextSibling&&!/\n$/.test(e)?"\n":"")}},u.indentedCodeBlock={filter:function(e,n){return"indented"===n.codeBlockStyle&&"PRE"===e.nodeName&&e.firstChild&&"CODE"===e.firstChild.nodeName},replacement:function(e,n,t){return"\n\n "+n.firstChild.textContent.replace(/\n/g,"\n ")+"\n\n"}},u.fencedCodeBlock={filter:function(e,n){return"fenced"===n.codeBlockStyle&&"PRE"===e.nodeName&&e.firstChild&&"CODE"===e.firstChild.nodeName},replacement:function(n,t,r){for(var i,o=((t.firstChild.getAttribute("class")||"").match(/language-(\S+)/)||[null,""])[1],a=t.firstChild.textContent,l=r.fence.charAt(0),u=3,c=new RegExp("^"+l+"{3,}","gm");i=c.exec(a);)i[0].length>=u&&(u=i[0].length+1);var s=e(l,u);return"\n\n"+s+o+"\n"+a.replace(/\n$/,"")+"\n"+s+"\n\n"}},u.horizontalRule={filter:"hr",replacement:function(e,n,t){return"\n\n"+t.hr+"\n\n"}},u.inlineLink={filter:function(e,n){return"inlined"===n.linkStyle&&"A"===e.nodeName&&e.getAttribute("href")},replacement:function(e,n){var t=n.getAttribute("href");t&&(t=t.replace(/([()])/g,"\\$1"));var r=c(n.getAttribute("title"));return r&&(r=' "'+r.replace(/"/g,'\\"')+'"'),"["+e+"]("+t+r+")"}},u.referenceLink={filter:function(e,n){return"referenced"===n.linkStyle&&"A"===e.nodeName&&e.getAttribute("href")},replacement:function(e,n,t){var r,i,o=n.getAttribute("href"),a=c(n.getAttribute("title"));switch(a&&(a=' "'+a+'"'),t.linkReferenceStyle){case"collapsed":r="["+e+"][]",i="["+e+"]: "+o+a;break;case"shortcut":r="["+e+"]",i="["+e+"]: "+o+a;break;default:var l=this.references.length+1;r="["+e+"]["+l+"]",i="["+l+"]: "+o+a}return this.references.push(i),r},references:[],append:function(e){var n="";return this.references.length&&(n="\n\n"+this.references.join("\n")+"\n\n",this.references=[]),n}},u.emphasis={filter:["em","i"],replacement:function(e,n,t){return e.trim()?t.emDelimiter+e+t.emDelimiter:""}},u.strong={filter:["strong","b"],replacement:function(e,n,t){return e.trim()?t.strongDelimiter+e+t.strongDelimiter:""}},u.code={filter:function(e){var n=e.previousSibling||e.nextSibling,t="PRE"===e.parentNode.nodeName&&!n;return"CODE"===e.nodeName&&!t},replacement:function(e){if(!e)return"";e=e.replace(/\r?\n|\r/g," ");for(var n=/^`|^ .*?[^ ].* $|`$/.test(e)?" ":"",t="`",r=e.match(/`+/gm)||[];-1!==r.indexOf(t);)t+="`";return t+n+e+n+t}},u.image={filter:"img",replacement:function(e,n){var t=c(n.getAttribute("alt")),r=n.getAttribute("src")||"",i=c(n.getAttribute("title"));return r?"!["+t+"]("+r+(i?' "'+i+'"':"")+")":""}},s.prototype={add:function(e,n){this.array.unshift(n)},keep:function(e){this._keep.unshift({filter:e,replacement:this.keepReplacement})},remove:function(e){this._remove.unshift({filter:e,replacement:function(){return""}})},forNode:function(e){return e.isBlank?this.blankRule:(n=f(this.array,e,this.options))||(n=f(this._keep,e,this.options))||(n=f(this._remove,e,this.options))?n:this.defaultRule;var n},forEach:function(e){for(var n=0;n'+e+"","text/html").getElementById("turndown-root"):r=e.cloneNode(!0);return function(e){var n=e.element,t=e.isBlock,r=e.isVoid,i=e.isPre||function(e){return"PRE"===e.nodeName};if(n.firstChild&&!i(n)){for(var o=null,a=!1,l=null,u=h(l,n,i);u!==n;){if(3===u.nodeType||4===u.nodeType){var c=u.data.replace(/[ \r\n\t]+/g," ");if(o&&!/ $/.test(o.data)||a||" "!==c[0]||(c=c.substr(1)),!c){u=p(u);continue}u.data=c,o=u}else{if(1!==u.nodeType){u=p(u);continue}t(u)||"BR"===u.nodeName?(o&&(o.data=o.data.replace(/ $/,"")),o=null,a=!1):r(u)||i(u)?(o=null,a=!0):o&&(a=!1)}var s=h(l,u,i);l=u,u=s}o&&(o.data=o.data.replace(/ $/,""),o.data||p(o))}}({element:r,isBlock:t,isVoid:i,isPre:n.preformattedCode?N:null}),r}function N(e){return"PRE"===e.nodeName||"CODE"===e.nodeName}function E(e,n){return e.isBlock=t(e),e.isCode="CODE"===e.nodeName||e.parentNode.isCode,e.isBlank=function(e){return!i(e)&&!function(e){return a(e,o)}(e)&&/^\s*$/i.test(e.textContent)&&!function(e){return l(e,r)}(e)&&!function(e){return l(e,o)}(e)}(e),e.flankingWhitespace=function(e,n){if(e.isBlock||n.preformattedCode&&e.isCode)return{leading:"",trailing:""};var t=(r=e.textContent,i=r.match(/^(([ \t\r\n]*)(\s*))(?:(?=\S)[\s\S]*\S)?((\s*?)([ \t\r\n]*))$/),{leading:i[1],leadingAscii:i[2],leadingNonAscii:i[3],trailing:i[4],trailingNonAscii:i[5],trailingAscii:i[6]});var r,i;t.leadingAscii&&T("left",e,n)&&(t.leading=t.leadingNonAscii);t.trailingAscii&&T("right",e,n)&&(t.trailing=t.trailingNonAscii);return{leading:t.leading,trailing:t.trailing}}(e,n),e}function T(e,n,r){var i,o,a;return"left"===e?(i=n.previousSibling,o=/ $/):(i=n.nextSibling,o=/^ /),i&&(3===i.nodeType?a=o.test(i.nodeValue):r.preformattedCode&&"CODE"===i.nodeName?a=!1:1!==i.nodeType||t(i)||(a=o.test(i.textContent))),a}var R=Array.prototype.reduce,C=[[/\\/g,"\\\\"],[/\*/g,"\\*"],[/^-/g,"\\-"],[/^\+ /g,"\\+ "],[/^(=+)/g,"\\$1"],[/^(#{1,6}) /g,"\\$1 "],[/`/g,"\\`"],[/^~~~/g,"\\~~~"],[/\[/g,"\\["],[/\]/g,"\\]"],[/^>/g,"\\>"],[/_/g,"\\_"],[/^(\d+)\. /g,"$1\\. "]];function k(e){if(!(this instanceof k))return new k(e);var n={rules:u,headingStyle:"setext",hr:"* * *",bulletListMarker:"*",codeBlockStyle:"indented",fence:"```",emDelimiter:"_",strongDelimiter:"**",linkStyle:"inlined",linkReferenceStyle:"full",br:" ",preformattedCode:!1,blankReplacement:function(e,n){return n.isBlock?"\n\n":""},keepReplacement:function(e,n){return n.isBlock?"\n\n"+n.outerHTML+"\n\n":n.outerHTML},defaultReplacement:function(e,n){return n.isBlock?"\n\n"+e+"\n\n":e}};this.options=function(e){for(var n=1;n0&&"\n"===e[n-1];)n--;return e.substring(0,n)}(e),r=n.replace(/^\n*/,""),i=Math.max(e.length-t.length,n.length-r.length);return t+"\n\n".substring(0,i)+r}return k.prototype={turndown:function(e){if(!function(e){return null!=e&&("string"==typeof e||e.nodeType&&(1===e.nodeType||9===e.nodeType||11===e.nodeType))}(e))throw new TypeError(e+" is not a string, or an element/document/fragment node.");if(""===e)return"";var n=b.call(this,new y(e,this.options));return O.call(this,n)},use:function(e){if(Array.isArray(e))for(var n=0;n{if(l&&typeof l=="object"||typeof l=="function")for(let A of Ye(l))!tt.call(d,A)&&A!==g&&We(d,A,{get:()=>l[A],enumerable:!(S=Qe(l,A))||S.enumerable});return d};var ge=(d,l,g)=>(g=d!=null?Xe(et(d)):{},nt(l||!d||!d.__esModule?We(g,"default",{value:d,enumerable:!0}):g,d));var G=class{constructor(){this.rawRules=[],this.rules=[]}addList(l){for(let g of l.split(` `))this.add(g)}add(l){if(this.rawRules.push(l),l=l.trim(),l=l.replace(/[\r\n]/g,""),l.length<=3||l[0]==="!")return;let g={hasStart:!1,hasEnd:!1,rule:l,text:l,domain:!1,items:[]};if(l.indexOf("##")>=0)return;if(l.indexOf("@@")===0)return;if(l[0]==="|"&&l[1]==="|"){g.domain=!0;let E=l.slice(2);g.text=Ne(E)}else l[0]==="|"?(g.hasStart=!0,g.text=l.slice(1)):l[l.length-1]==="|"&&(g.hasEnd=!0,g.text=l.slice(0,-1));let S=g.text.lastIndexOf("$");if(S>=0){g.text=g.text.slice(0,S);return}if(g.text[0]==="/"&&g.text[g.text.length-1]==="/"||g.text.length<=3)return;let A=g.text.split(/\*+/).filter(function(E){return E});for(let E=0;E0)for(let I=0;I0,I=!!g.linkURL,M=P=>S[`can${P}`]&&v,q=g.isEditable||v,V=[...j(k,()=>[{label:`Look up \u201C${C.length<=40?C:C.slice(0,39).trim()+"\u2026"}\u201D`,visible:v&&!I,click(){l.showDefinitionForSelection()}},{type:"separator"}]),{accelerator:"CmdOrCtrl+X",label:"Cut",role:M("Cut")?"cut":void 0,enabled:M("Cut"),visible:g.isEditable},{accelerator:"CmdOrCtrl+C",label:"Copy",role:M("Copy")?"copy":void 0,enabled:M("Copy"),visible:g.isEditable||v},{accelerator:"CmdOrCtrl+V",label:"Paste",role:S.canPaste?"paste":void 0,enabled:S.canPaste,visible:g.isEditable},{accelerator:"CmdOrCtrl+Shift+V",label:"Paste as text",role:S.canPaste?"pasteAndMatchStyle":void 0,enabled:S.canPaste,visible:g.isEditable}];if(A&&A.length>=1){let P=[];E&&E.length>0?E.slice(0,5).forEach(J=>{P.push({label:J,click:()=>{l.replaceMisspelling(J)}})}):P.push({label:"No suggestion",enabled:!1}),P.push({label:"Add to Dictionary",click:()=>{l.session.addWordToSpellCheckerDictionary(A),l.replaceMisspelling(A)}}),P.push({type:"separator"}),V=P.concat(V),q=!0}q&&i.Menu.buildFromTemplate(V).popup({window:d})}function N(d,l){try{return d()}catch(g){return console.log("Ignored:",g.toString()),l}}module.exports=function(d,l,g){if(ot<18){i.dialog.showErrorBox("Manual update required","This version of Obsidian is no longer supported. Please download and install the latest version from https://obsidian.md"),i.shell.openExternal("https://obsidian.md/download"),i.app.quit();return}if(!(process.mas||i.app.requestSingleInstanceLock())){i.app.quit();return}let S=["SharedArrayBuffer"];for(let n of process.argv)n.startsWith("--enable-features=")&&(S=S.concat(n.substring(18).split(",").map(o=>o.trim())));i.app.commandLine.appendSwitch("enable-features",S.join(",")),process.removeAllListeners("uncaughtException"),process.on("uncaughtException",function(n){if(console.error("Uncaught Exception",n),n.message.includes("Render frame was disposed before WebFrameMain could be accessed")||n.message.indexOf("net::ERR")!==-1)return;let a=`Uncaught Exception: `+(n.stack?n.stack:`${n.name}: ${n.message}`);i.dialog.showErrorBox("A JavaScript error occurred in the main process",a)});let A="",E=!1;l.on("update-manual-required",()=>A="update-manual-required"),l.on("update-downloaded",()=>A="update-downloaded"),l.on("check-start",()=>E=!0),l.on("check-end",()=>E=!1);let C=i.app.getPath("userData"),v=(()=>{try{return i.app.getPath("documents")}catch(n){}try{let n=D.join(i.app.getPath("home"),"Documents");if(n&&m.existsSync(n))return n}catch(n){}return C})(),I=(()=>{try{return i.app.getPath("desktop")}catch(n){}try{let n=D.join(i.app.getPath("home"),"Desktop");if(n&&m.existsSync(n))return n}catch(n){}return C})(),M={},q=new G,V=n=>D.join(C,n+".json");function P(n,o){N(()=>m.writeFileSync(V(n),JSON.stringify(o)))}function J(n){return N(()=>JSON.parse(m.readFileSync(V(n),"utf8"))||{},{})}function be(n){N(()=>m.unlinkSync(V(n)))}let ie=null;async function X(){let n=D.join(C,"adblock");m.existsSync(n)||m.mkdirSync(n);let o=b.hasOwnProperty("adblockFrequency")?b.adblockFrequency:Oe,a=new G,c=b.adblock||Ee;for(let u of c){let p=D.basename(u),e=D.join(n,p),t=!0;try{let r=await m.promises.stat(e),s=(new Date().getTime()-r.mtime.getTime())/864e5;t=o===0?!1:s>=o}catch(r){}if(!t){let r=D.join(n,D.basename(u)),s=await m.promises.readFile(r,"utf8");a.addList(s);continue}console.log(`Retrieving newer version of ${u}`);try{let s=await(await i.net.fetch(u)).text();await m.promises.writeFile(e,s),a.addList(s)}catch(r){console.log("Failed to retrieve adblock list: "+r)}}q=a,ie!==null&&clearTimeout(ie),o!==0&&(o=Math.min(o,24),ie=setTimeout(X,o*864e5))}function Ke(n){try{return m.accessSync(n,m.constants.R_OK|m.constants.W_OK),!0}catch(o){return!1}}let re=(()=>{let n=D.join(d,"package.json");try{if(m.existsSync(n))return JSON.parse(m.readFileSync(n,"utf8")).version}catch(o){}return i.app.getVersion()})();async function Q(n,o,a,c){let u=o.match(/^([a-z][a-z0-9+\-.]*):/i),p=u?u[1].toLowerCase():"";if(!p||p===Ae||p==="about")return;if(p!=="http"&&p!=="https"&&p!=="obsidian"&&!(b.openSchemes&&b.openSchemes[p])){let r=await i.dialog.showMessageBox(n,{message:`Are you sure you want to open this link? Link: `+je(o,200),type:"question",buttons:["Open this link","Cancel"],defaultId:1,cancelId:1,title:"Open link",checkboxLabel:"Always open "+p+": links in the future"});if(r.response!==0)return;p&&r.checkboxChecked&&(b.openSchemes=b.openSchemes||{},b.openSchemes[p]=!0,B())}if(c!=="_external"&&(p==="http"||p==="https")){let r="tab",s=!1;a==="new-window"?(r="window",s=!0):c==="split"?(r="split",s=!0):a==="background-tab"?(r="tab",s=!1):a==="foreground-tab"&&(r="tab",s=!0);let y=`(() => {let e = new CustomEvent('open-url', ${JSON.stringify({cancelable:!0,detail:{url:o,leaf:r,active:s}})}); window.dispatchEvent(e); return e.defaultPrevented;})()`;if(await n.webContents.executeJavaScript(y))return}if(p!=="file")return console.log("Opening URL: "+o),i.shell.openExternal(o);o=o.substring(u[0].length),o.startsWith("//")&&(o=o.substring(2)),H&&o.startsWith("/")&&(o=o.substring(1));let e=o.lastIndexOf("#"),t="";e!==-1&&(t=o.substr(e),o=o.substr(0,e)),o=decodeURIComponent(o),o=D.normalize(o)+t,!((_e(o)||H&&!/^[a-z]:/i.test(o))&&(await i.dialog.showMessageBox(n,{message:`This file is located on a remote server, and may be dangerous. Are you sure you want to open it? Location: `+o,type:"warning",buttons:["Open this file","Cancel"],defaultId:1,cancelId:1,title:"Remote file warning"})).response!==0)&&(console.log("Opening file: "+o),ye(o))}function ye(n){!H&&!k?i.shell.openExternal((0,Je.pathToFileURL)(n).href):i.shell.openPath(n)}function we(n){if(i.remote)try{i.remote.enable(n)}catch(o){console.error(o)}}function De(n,o){let a=n.webContents;Fe(a),we(a),a.on("will-navigate",(p,e)=>{e.indexOf(Se)!==0&&(p.preventDefault(),e.indexOf(W)!==0&&Q(n,e))}),n.on("app-command",(p,e)=>{e==="browser-backward"?a.executeJavaScript("history.back()"):e==="browser-forward"&&a.executeJavaScript("history.forward()")}),n.on("swipe",(p,e)=>{e==="left"?a.executeJavaScript("history.back()"):e==="right"&&a.executeJavaScript("history.forward()")}),n.on("focus",()=>{n.focusTime=Date.now(),ne(),pe(K(n),"window-always-on-top",{checked:n.isAlwaysOnTop(),enabled:!o})}),n.on("always-on-top-changed",()=>{n===i.BrowserWindow.getFocusedWindow()&&pe(K(n),"window-always-on-top",{checked:n.isAlwaysOnTop()})}),n.on("maximize",()=>{n.isAlwaysOnTop()&&n.setAlwaysOnTop(!1)}),n.on("enter-full-screen",()=>{n.isAlwaysOnTop()&&n.setAlwaysOnTop(!1)});let c=()=>n.webContents.executeJavaScript("window.dispatchEvent(new Event('focuschange'));");n.on("focus",c),n.on("blur",c);let u=()=>a.executeJavaScript("window.dispatchEvent(new Event('fullscreenchange'));");n.on("enter-full-screen",u),n.on("leave-full-screen",u)}function Fe(n){if(n.isSecured)return;n.isSecured=!0,n.setWindowOpenHandler(a=>{if(a.url==="about:blank"&&a.features&&a.features.startsWith("popup")){let c=a.features.split(","),u={},p="";for(let e of c){let[t,r]=e.split("=");(t==="x"||t==="y"||t==="width"||t==="height")&&(u[t]=parseInt(r)),t==="background"&&(p=r)}return{action:"allow",overrideBrowserWindowOptions:{trafficLightPosition:{x:19,y:12},autoHideMenuBar:!0,frame:Y,titleBarStyle:ae,...Ce(u),webPreferences:{contextIsolation:!1,nodeIntegration:!0,nodeIntegrationInWorker:!0,spellcheck:!0,webviewTag:!0,affinity:"main-window"},show:!1,backgroundColor:p}}}try{let{url:c,disposition:u,frameName:p}=a;Q(i.BrowserWindow.fromWebContents(n),c,u,p)}catch(c){console.error(c)}return{action:"deny"}}),n.on("will-attach-webview",(a,c)=>{delete c.preload,delete c.preloadURL,c.sandbox=!0,c.nodeIntegration=!1,c.nodeIntegrationInWorker=!1,c.nodeIntegrationInSubFrames=!1,c.webSecurity=!0,c.plugins=!1,c.experimentalFeatures=!1,c.webviewTag=!1});let o=!0;n.on("did-attach-webview",(a,c)=>{c.setWindowOpenHandler(u=>{let{url:p,disposition:e,frameName:t}=u;if(e==="foreground-tab"){if(!o)return{action:"deny"};o=!1}if(/^https?:\/\//.test(p))try{Q(i.BrowserWindow.fromWebContents(c),p,e,t)}catch(r){console.error(r)}return{action:"deny"}}),c.on("will-navigate",(u,p)=>{/^https?:\/\//.test(p)||u.preventDefault()}),c.on("will-frame-navigate",u=>{/^https?:\/\//.test(u.url)||u.preventDefault()}),c.on("will-attach-webview",u=>{u.preventDefault()}),c.on("did-navigate",()=>{o=!0})})}function Ce(n){let o={width:800,height:600};N(()=>{let c=i.screen.getPrimaryDisplay().workArea;o.width=Math.min(1024,c.width),o.height=Math.min(800,c.height-1)});let a=!1;if(n.x!==void 0&&n.y!==void 0&&n.width!==void 0&&n.height!==void 0)try{for(let c of i.screen.getAllDisplays()){let u=c.workArea;if(n.xu.x+2&&n.yu.y+2){a=!0;break}}}catch(c){console.error(c)}else n.x===void 0&&n.y===void 0&&n.width!==void 0&&n.height!==void 0&&(a=!0);return a&&(o.x=n.x,o.y=n.y,o.width=n.width,o.height=n.height),o.width<300&&(o.width=300),o.height<200&&(o.height=200),o}let $e=D.join(v,"Obsidian Vault"),xe=D.join(C,"Obsidian Sandbox"),Ze=D.join(C,"Obsidian Help"),Ae="app",oe=Ae+"://",W=oe+"obsidian.md/",se=oe+qe(36)+"/",Se=W+"index.html",Ee=["https://easylist.to/easylist/easylist.txt","https://easylist.to/easylist/easyprivacy.txt"],Oe=4,ve=["clipboard-read","clipboard-sanitized-write"],b=J("obsidian");(!b||typeof b!="object")&&(b={});let F=b.vaults||{};Ge();for(let n in F){let o=F[n];o.path=D.resolve(o.path),(!o.path||o.path===Ze||!m.existsSync(o.path))&&(delete F[n],be(n))}b.vaults=F,b.insider&&l.emit("insider",!0);let Y=b.frame==="native",ae=Y?"default":"hidden";if(b.updateDisabled&&(l.emit("disable",!0),console.log("Updates disabled.")),b.disableGpu&&!i.app.isReady())try{i.app.disableHardwareAcceleration(),console.log("GPU Acceleration disabled.")}catch(n){console.error(n)}let L;b.icon&&m.existsSync(D.join(C,b.icon))&&(L=D.join(C,b.icon)),!L&&g&&(L=D.join(d,"icon-dev.png"));function B(){P("obsidian",b)}function ke(n,o){let a=F[n];a&&(o?a.open=!0:delete a.open,B())}async function Ge(){let n=D.join(C,"Partitions");try{let o=await m.promises.readdir(n);if(!o)return;for(let a of o){let c=a.replace(/^vault-/,"");F[c]||await Re(c)}}catch(o){o.code!=="ENOENT"&&console.error("ERROR: "+o)}}async function Re(n){console.log("Removing partition for vault "+n);let o=D.join(C,"Partitions",`vault-${n}`);return m.promises.rm(o,{recursive:!0,force:!0})}let T={},le=new WeakMap,ue=!1,ee=null,te=Be([],!0);function K(n){if(!n)return te;for(;!n.appMenu&&le.has(n);)n=le.get(n);return n.appMenu||te}function ne(){let n=i.BrowserWindow.getFocusedWindow();if(!n||!k)return;let o=K(n);i.Menu.setApplicationMenu(o)}function Te(n){return!n.triggeredByAccelerator||!n.shiftKey&&!n.ctrlKey&&!n.metaKey&&!n.altKey}function Be(n,o=!1){let a=[];for(let e=n.length-1;e>=0;e--){let t=n[e];(t.label==="&Window"||t.label==="&Help")&&(a.push(t),n.splice(e,1))}function c(e){e.forEach(t=>{if(t.appCommand){let r=t.appCommand;t.id=r,t.click=(s,f,y)=>{if(f instanceof i.BrowserWindow){if(!f){let w=fe();if(w)if(f=T[w],f&&f.isMinimized())f.restore();else return}f&&Te(y)&&f.webContents.executeJavaScript(`app.commands.executeCommandById(${JSON.stringify(r)})`)}},delete t.appCommand}"submenu"in t&&c(t.submenu)})}function u(e){let t=[];for(let r of e){let s=t.find(f=>f.id&&f.id===r.id||f.label===r.label);if(s)for(let f of r.submenu){let y=f.before&&s.submenu.findIndex(w=>w.id===f.before[0]);y!=null?s.submenu.splice(y,0,f):s.submenu.push(f)}else t.push(r)}return t}let p=u([...j(k,()=>[{label:"Obsidian",submenu:[{label:"About Obsidian",async click(e,t){let r=`Version ${re} (Installer ${i.app.getVersion()})`;(await i.dialog.showMessageBox(t,{message:"Obsidian",icon:D.join(d,"icon.png"),detail:`${r} Copyright \xA9 Dynalist Inc.`,type:"info",buttons:["OK","Copy"],defaultId:0,cancelId:0})).response===1&&i.clipboard.writeText(`About Obsidian ${r}`)}},{type:"separator"},{id:"preferences-section",visible:!1,label:""},{type:"separator"},{role:"services"},{type:"separator"},{label:"Hide Obsidian",click:()=>i.app.hide(),accelerator:"Cmd+H"},{role:"hideOthers"},{role:"unhide"},{type:"separator"},{label:"Quit Obsidian",click:()=>i.app.quit(),accelerator:"Cmd+Q"}]}]),{label:"&File",submenu:[{id:"open-section",type:"separator"},{id:"open-vault",click:Z,label:"Open Vault..."},...j(k||H,()=>[{role:"recentDocuments",submenu:[{label:"Clear Recent",role:"clearRecentDocuments"}]}]),{type:"separator"},...j(o,()=>[{id:"close-window",role:"close"}]),...j(!k,()=>[{type:"separator"},{id:"quit",role:"quit"}])]},{label:"&Edit",submenu:[{type:"separator",id:"undo-section"},{role:"undo"},{label:"Redo",accelerator:"CmdOrCtrl+Shift+Z",click:function(e,t,r){if(t instanceof i.BrowserWindow)if(Te(r)){let s=k?"metaKey":"ctrlKey";t.webContents.executeJavaScript(` activeDocument.activeElement.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 90, which: 90, code: 'KeyZ', key: 'z', ${s}: true, shiftKey: true, bubbles: true, cancelable: true, })); `)}else t.webContents.redo()}},{type:"separator",id:"copy-section"},{role:"cut"},{role:"copy"},{role:"paste"},{role:"pasteAndMatchStyle",accelerator:k?"Cmd+Shift+V":"Shift+CommandOrControl+V"},{label:"Paste and Match Style",accelerator:k?"Cmd+Option+Shift+V":"Shift+CommandOrControl+Alt+V",click:(e,t)=>{t instanceof i.BrowserWindow&&t.webContents.pasteAndMatchStyle()},visible:!1},{role:"delete"},{role:"selectAll"},...j(k,()=>[{type:"separator",id:"speech-section"},{label:"Substitutions",submenu:[{role:"showSubstitutions"},{type:"separator"},{role:"toggleSmartQuotes"},{role:"toggleSmartDashes"},{role:"toggleTextReplacement"}]},{label:"Speech",submenu:[{role:"startSpeaking"},{role:"stopSpeaking"}]}])]},...n,{label:"&View",submenu:[...j(g,()=>[{role:"reload"}]),{id:"actual-size",label:"Actual Size",accelerator:"CommandOrControl+0",click(e,t){t&&t instanceof i.BrowserWindow&&(t.webContents.zoomLevel=0)}},{label:"Zoom In",accelerator:"CommandOrControl+=",click(e,t){t&&t instanceof i.BrowserWindow&&t.webContents.executeJavaScript(` (() => { let wf = require('electron').webFrame; let zoom = wf.getZoomLevel(); if (zoom < 3) { wf.setZoomLevel(zoom + 0.5); } })() `)}},{label:"Zoom Out",accelerator:"CommandOrControl+-",click(e,t){t&&t instanceof i.BrowserWindow&&t.webContents.executeJavaScript(` (() => { let wf = require('electron').webFrame; let zoom = wf.getZoomLevel(); if (zoom > -2.5) { wf.setZoomLevel(zoom - 0.5); } })() `)}},{id:"developer-section",type:"separator"},{role:"forceReload",accelerator:""},{role:"toggleDevTools"},{type:"separator"},{role:"togglefullscreen"}]},{label:"&Window",role:"window",submenu:[{role:"minimize",accelerator:k?"CommandOrControl+M":""},...j(k,()=>[{role:"zoom"}]),{type:"separator"},{type:"separator",id:"tab-management"},{id:"window-always-on-top",checked:!1,enabled:!1,type:"checkbox",label:"Always on Top",click(e,t){if(t){let r=t.isAlwaysOnTop();t.setAlwaysOnTop(!r)}}},{role:"front"}]},{label:"&Help",role:"help",submenu:[{label:"Open Help",click:()=>Me()},{type:"separator",id:"help-links"},{label:"Homepage",click:()=>i.shell.openExternal("https://obsidian.md")},{label:"Community",click:()=>i.shell.openExternal("https://obsidian.md/community")},{label:"Help Center",click:()=>i.shell.openExternal("https://help.obsidian.md/")},{type:"separator"}]},...a]);return c(p),i.Menu.buildFromTemplate(p)}function fe(){let n=null,o=null;for(let a in T){let c=T[a];c.isDestroyed()||(!n||c.focusTime>n.focusTime)&&(n=c,o=a)}return o}function $(n,o=!0){if(T[n]){let h=T[n];return o&&(h.isMinimized()&&h.restore(),h.focus()),h}let a=J(n),c={width:800,height:600,minWidth:200,minHeight:150,backgroundColor:"#00000000",trafficLightPosition:{x:19,y:12},show:!1,frame:Y,titleBarStyle:ae,webPreferences:{contextIsolation:!1,nodeIntegration:!0,nodeIntegrationInWorker:!0,spellcheck:!0,webviewTag:!0},...Ce(a)},u=new i.BrowserWindow(c);T[n]=u;let p=u.webContents,e=!1,t=()=>{if(e)return;e=!0,a.isMaximized&&u.maximize(),a.devTools&&p.openDevTools(),u.show();let h=a.zoom;h&&typeof h=="number"&&p.executeJavaScript(`require('electron').webFrame.setZoomLevel(${a.zoom})`)};u.menuBarVisible=!1,L&&!k&&N(()=>u.setIcon(L));function r(){return!u.isMaximized()&&!u.isMinimized()&&!u.isFullScreen()}function s(){try{let h=u.getBounds();r()&&(a.x=h.x,a.y=h.y,a.width=h.width,a.height=h.height),a.isMaximized=u.isMaximized(),a.devTools=p.isDevToolsOpened(),a.zoom=p.zoomLevel}catch(h){}}p.on("did-finish-load",()=>{u.loaded=!0}),De(u,!0);let f=h=>{h.on("context-menu",(x,O)=>{if(ee&&ee===p.id){ee=null;try{let{editFlags:R,misspelledWord:U,dictionarySuggestions:me}=O;p.send("context-menu",{editFlags:R,misspelledWord:U,dictionarySuggestions:me,webContentsId:h.id});return}catch(R){console.error(R)}}ze(u,h,O)})};f(p),u.on("close",h=>{s(),P(n,a),setTimeout(()=>{!h.defaultPrevented&&!u.isDestroyed()&&u.destroy()},3e3)}),u.on("closed",()=>{delete T[n],!ue&&(_||Object.keys(T).length>0)&&ke(n,!1)});let y;function w(){clearTimeout(y),y=setTimeout(s,100)}return u.on("resize",w),u.on("move",w),u.on("ready-to-show",t),p.on("did-create-window",h=>{let x=h.webContents;le.set(h,u),L&&!k&&N(()=>h.setIcon(L)),De(h,!1),f(x)}),u.loadURL(Se).then(t,t),ke(n,!0),u}function Ie(n){let o=new i.BrowserWindow({width:800,height:600,resizable:!1,maximizable:!1,fullscreenable:!1,show:!1,frame:Y,titleBarStyle:ae,backgroundColor:"#1e1e1e",webPreferences:{contextIsolation:!1,nodeIntegration:!0},...n});return L&&!k&&N(()=>o.setIcon(L)),we(o.webContents),o.menuBarVisible=!1,o.on("focus",()=>{ne()}),o}let _;function Z(){if(_){_.isMinimized()&&_.restore(),_.focus();return}let n=_=Ie({width:800,height:650});n.on("closed",()=>{_=null});let o=()=>n.show();n.loadURL(W+"starter.html").then(o,o)}let z;function Me(){if(z){z.isMinimized()&&z.restore(),z.focus();return}let n=z=Ie({width:600,height:600});n.on("closed",()=>{z=null});let o=()=>n.show();n.loadURL(W+"help.html").then(o,o)}let ce=null;i.app.on("will-finish-launching",()=>{i.app.once("open-url",(n,o)=>{n.preventDefault(),ce=o})});let de=()=>{for(let n in F)F[n].open&&$(n);Object.keys(T).length===0&&Z()};function pe(n,o,a){let c=n.getMenuItemById(o);if(c)for(let u in a)c[u]=a[u]}i.app.whenReady().then(()=>{i.app.on("second-instance",(e,t)=>{Ve(t)||Z()});let n=e=>{let t=!1;return e.indexOf("?")>0&&(e=e.substring(0,e.indexOf("?"))),e.indexOf("#")>0&&(e=e.substring(0,e.indexOf("#"))),e.indexOf(W)===0?(e=decodeURIComponent(e.substring(W.length)),e=D.resolve(D.join(d,e)),e.indexOf(D.resolve(d))!==0&&(e=""),t=!0):e.indexOf(se)===0?(e=decodeURIComponent(e.substring(se.length)),H||(e="/"+e),e=D.resolve(e),_e(e)&&(t=!0)):e="",{url:e,noframe:t}};i.protocol.registerFileProtocol?i.protocol.registerFileProtocol("app",(e,t)=>{let{url:r,noframe:s}=n(e.url),f={};s&&(f["X-Frame-Options"]="DENY"),t({path:r,headers:f})}):i.protocol.handle("app",async e=>{let{url:t,noframe:r}=n(e.url);if(!t)return new Response("Not Found",{status:400});try{let s=await m.promises.stat(t),f=200,y,w=new Headers,h=e.headers.get("Range");if(h){let x=h.match(/^bytes=(\d*)-(\d*)/);if(!x)return new Response("Range Not Satisfiable",{status:416});let O=Number(x[1]||0),R=Number(x[2]||s.size-1);if(isNaN(O)||isNaN(R)||O<0||R>s.size-1||R{e.returnValue=g}),i.ipcMain.on("desktop-dir",e=>{e.returnValue=I}),i.ipcMain.on("documents-dir",e=>{e.returnValue=v}),i.ipcMain.on("resources",e=>{e.returnValue=d}),i.ipcMain.on("version",e=>{e.returnValue=re}),i.ipcMain.on("file-url",e=>{e.returnValue=se}),i.ipcMain.on("relaunch",e=>{e.returnValue="",console.log("Relaunching!"),ue=!0,i.app.relaunch(),i.app.quit()}),i.ipcMain.on("update",e=>{e.returnValue=A}),i.ipcMain.on("check-update",(e,t)=>{t&&(b.updateDisabled&&l.emit("disable",!1),l.emit("check"),b.updateDisabled&&setTimeout(()=>l.emit("disable",!0),50)),e.returnValue=E}),i.ipcMain.on("disable-update",(e,t)=>{t===!0?(b.updateDisabled=!0,l.emit("disable",!0),B(),console.log("Updates disabled.")):t===!1&&(delete b.updateDisabled,l.emit("disable",!1),B(),console.log("Updates enabled.")),e.returnValue=b.updateDisabled}),i.ipcMain.on("copy-asar",(e,t)=>{try{let r=D.basename(t),s=/^obsidian-(\d+\.\d+\.\d+)/.exec(r),f=D.join(C,`${s[0]}.asar`);He.copyFileSync(t,f),e.returnValue=!0}catch(r){console.error("Failed to copy asar",r),e.returnValue=!1}}),i.ipcMain.on("disable-gpu",(e,t)=>{t===!0?(b.disableGpu=!0,B()):t===!1&&(delete b.disableGpu,B()),e.returnValue=b.disableGpu}),i.ipcMain.on("insider-build",(e,t)=>{t===!0?(b.insider=!0,l.emit("insider",!0),B()):t===!1&&(delete b.insider,l.emit("insider",!1),B()),e.returnValue=b.insider}),i.ipcMain.on("frame",(e,t)=>{typeof t=="string"&&(b.frame=t,t||delete b.frame,B()),e.returnValue=b.frame}),i.ipcMain.on("adblock-lists",(e,t)=>{Array.isArray(t)&&(b.adblock=t,B(),X()),e.returnValue=b.adblock||Ee}),i.ipcMain.on("adblock-frequency",(e,t)=>{typeof t=="number"&&(b.adblockFrequency=t,B(),X()),e.returnValue=b.adblockFrequency||Oe}),i.ipcMain.on("print-to-pdf",async(e,t)=>{console.log("Saving PDF...");let r=e.sender;try{let{filepath:s}=t,f=await r.printToPDF(t);await m.promises.writeFile(s,f),t.open&&ye(s)}finally{console.log("Done."),r.send("print-to-pdf",{})}}),i.ipcMain.on("vault",e=>{for(let t in T)if(T[t].webContents===e.sender){e.returnValue={id:t,path:D.resolve(F[t].path)};return}e.returnValue={}}),i.ipcMain.on("vault-list",e=>{e.returnValue=F}),i.ipcMain.on("vault-remove",(e,t)=>{if(t&&typeof t=="string"){for(let r in F)if(F[r].path===t){if(T[r]){e.returnValue=!1;return}e.returnValue=!0,delete F[r],B(),be(r),Re(r);return}}e.returnValue=!1}),i.ipcMain.on("vault-move",(e,t,r)=>{if(t&&typeof t=="string")for(let s in F){let f=F[s];if(f.path===t){if(T[s]){e.returnValue="EVAULTOPEN";return}try{m.renameSync(t,r)}catch(y){e.returnValue=y.toString();return}e.returnValue="",f.path=r,B();return}}e.returnValue=!1}),i.ipcMain.on("vault-open",(e,t,r)=>{if(r){if(m.existsSync(t)){e.returnValue="Vault already exists";return}try{m.mkdirSync(t,{recursive:!0})}catch(s){e.returnValue=s.toString();return}}e.returnValue=c(t)}),i.ipcMain.on("vault-message",(e,t,r)=>{t=D.resolve(t);for(let s in F)if(F[s].path===t){Le(s,r);break}e.returnValue=""}),i.ipcMain.on("starter",e=>{e.returnValue=null,Z()}),i.ipcMain.on("help",e=>{e.returnValue=null,Me()}),i.ipcMain.on("sandbox",e=>{e.returnValue=null,u()}),i.ipcMain.on("context-menu",e=>{ee=e.sender.id}),i.ipcMain.on("request-url",async(e,t,r)=>{try{let{url:s,method:f,contentType:y,body:w,headers:h}=r,x=i.net.request({url:s,method:f,redirect:"follow"});if(y&&x.setHeader("Content-Type",y),h)for(let O in h)try{x.setHeader(O,h[O])}catch(R){console.error(R)}x.on("login",(O,R)=>R()),x.on("error",O=>{e.reply(t,{error:O})}),x.on("response",O=>{let R=[];O.on("data",U=>R.push(U)),O.on("end",()=>{let U=Buffer.concat(R),me=U.buffer.slice(U.byteOffset,U.byteOffset+U.byteLength);e.reply(t,{status:O.statusCode,headers:O.headers,body:me})})}),typeof w=="string"?x.write(w):w instanceof ArrayBuffer&&x.write(Buffer.from(new Uint8Array(w))),x.end()}catch(s){e.reply(t,{error:s})}}),i.ipcMain.on("open-url",(e,t)=>{let r=i.BrowserWindow.fromWebContents(e.sender);r&&typeof t=="string"&&Q(r,t)}),i.ipcMain.on("trash",async(e,t)=>{try{await i.shell.trashItem(t),e.returnValue=!0}catch(r){console.log(r),e.returnValue=!1}}),i.ipcMain.on("get-documents-path",e=>{e.returnValue=v}),i.ipcMain.on("get-sandbox-vault-path",e=>{e.returnValue=xe}),i.ipcMain.on("get-default-vault-path",e=>{e.returnValue=$e}),i.ipcMain.on("set-menu",(e,{template:t})=>{let r=i.BrowserWindow.fromWebContents(e.sender);if(!r)return;let s=Be(t);r.appMenu=s,k?ne():r.setMenu(s)}),i.ipcMain.on("update-menu-items",(e,t,r)=>{let s=i.BrowserWindow.fromWebContents(e.sender),f=K(s);if(f!==te){for(let{itemId:y,eState:w}of t)pe(f,y,w);r&&ne()}}),i.ipcMain.on("render-menu",e=>{let t=i.BrowserWindow.fromWebContents(e.sender);K(t).popup({window:t})}),i.ipcMain.on("set-icon",(e,t,r)=>{b.icon&&m.rmSync(D.join(C,b.icon),{force:!0}),t&&r?m.writeFileSync(D.join(C,t),r):t=null,(b.icon||"")!==(t||"")&&(t?b.icon=t:delete b.icon,B()),e.returnValue=null}),i.ipcMain.on("get-icon",e=>{e.returnValue=b.icon}),i.ipcMain.on("create-browser-session",async(e,t,r)=>{let s=M[t];s||(r===!0&&X(),s={session:i.session.fromPartition(t),adblock:!!r},M[t]=s,s.session.setUserAgent(s.session.getUserAgent().split(" ").filter(f=>!/^(obsidian|electron)/i.test(f)).join(" ")),s.session.webRequest.onBeforeRequest({urls:["https://*/*","http://*/*"]},(f,y)=>{let w=s.adblock&&q.matches(f.url);y({cancel:w})}),s.session.webRequest.onBeforeSendHeaders({urls:["https://*/*","http://*/*"]},(f,y)=>{let{requestHeaders:w}=f;for(let h in w)h.toLowerCase()==="sec-fetch-dest"||h.toLowerCase()==="sec-ch-ua"?delete w[h]:h.toLowerCase()==="user-agent"&&f.url.startsWith("https://accounts.google.com/")&&(w[h]="Chrome");y({requestHeaders:w})}),s.session.setPermissionCheckHandler((f,y,w)=>ve.includes(y)),s.session.setPermissionRequestHandler((f,y,w,h)=>{w(ve.includes(y))}),s.session.setDevicePermissionHandler(f=>!1)),(r===!0||r===!1)&&(s.adblock=r)});let o=i.session.defaultSession.webRequest;o.onBeforeRequest({urls:[oe+"*/*"]},(e,t)=>{let{frame:r,url:s}=e,f=r.origin,y=!0;f+"/"===W&&(y=!1),f==="null"&&r===r.top&&s.startsWith(W)&&(y=!1),t({cancel:y})}),o.onBeforeSendHeaders({urls:["https://*/*","http://*/*"]},(e,t)=>{let{requestHeaders:r}=e;if(e.url.startsWith("https://www.youtube.com/embed/")||e.url.startsWith("https://www.youtube-nocookie.com/embed/"))r.Referer||(r.Referer="md.obsidian");else for(let s in r)(s.toLowerCase()==="sec-fetch-dest"||s.toLowerCase()==="sec-ch-ua")&&delete r[s];t({requestHeaders:r})}),o.onHeadersReceived({urls:["https://*/*","http://*/*"]},(e,t)=>{let{responseHeaders:r,resourceType:s,frame:f,webContents:y}=e,w=s==="subFrame";try{if(!w){let h=y.mainFrame;w=h.framesInSubtree.filter(x=>x!==h).some(x=>x.routingId===f.routingId&&x.processId===f.processId)}}catch(h){}for(let h in r)h.toLowerCase()==="x-frame-options"&&delete r[h],h.toLowerCase()==="cross-origin-opener-policy"&&delete r[h],h.toLowerCase()==="content-security-policy"&&(r[h]=r[h].map(x=>x.replace(/\s*frame-ancestors [^;]*(;|$)/g,""))),h.toLowerCase()==="set-cookie"&&w&&(r[h]=r[h].map(x=>/Secure;/i.test(x)?x.replace(/SameSite=Lax/i,"SameSite=None"):x));t({responseHeaders:r})});let a=()=>!1;o.onBeforeRequest=a,o.onBeforeSendHeaders=a,o.onHeadersReceived=a;for(let e of[i.protocol,i.session.defaultSession.protocol])e.interceptBufferProtocol=a,e.interceptStreamProtocol=a,e.interceptStringProtocol=a,e.interceptFileProtocol=a,e.interceptHttpProtocol=a,e.handle=a;i.session.defaultSession.setPermissionRequestHandler((e,t,r,s)=>{let f=e.getURL().startsWith(W);s.isMainFrame&&s.requestingUrl==="about:blank"&&t.startsWith("clipboard-")&&(f=!0),t==="openExternal"?f=!1:t==="fullscreen"&&(f=!0),f||console.log("Blocked permission request",e.getURL(),t,s),r(f)});function c(e){if(e&&typeof e=="string"){if(e=D.resolve(e),!m.existsSync(e))return"folder not found";if(!Ke(e))return"no permission to access folder";for(let r in F){let s=F[r];if(s.path===e)return s.ts=Date.now(),$(r),i.app.addRecentDocument(e),!0}let t=qe(16);return F[t]={path:e,ts:Date.now()},$(t),i.app.addRecentDocument(e),!0}return"folder not found"}function u(){let e=D.join(d,"sandbox"),t=xe;for(let r in T){let s=F[r];if(s.path===t){s.ts=Date.now(),$(r);return}}try{m.rmSync?m.rmSync(t,{recursive:!0}):m.rmdirSync(t,{recursive:!0})}catch(r){r.code!=="ENOENT"&&console.error(r)}p(e,t),c(t)}function p(e,t){m.mkdirSync(t,{recursive:!0});let r=m.readdirSync(e);for(let s of r){let f=D.join(e,s),y=m.statSync(f),w=t+"/"+s;y.isFile()&&m.writeFileSync(w,m.readFileSync(f)),y.isDirectory()&&p(f,w)}}if(i.app.setAboutPanelOptions({applicationName:"Obsidian",applicationVersion:re+" (installer "+i.app.getVersion()+")",version:"",copyright:"Copyright \xA9 Dynalist Inc.",website:"https://obsidian.md"}),k&&N(()=>i.app.dock.setIcon(L)),i.Menu.setApplicationMenu(te),i.app.on("web-contents-created",(e,t)=>{Fe(t),t.noContextMenu=!1,t.hostWebContents&&t.on("context-menu",(r,s)=>{t.noContextMenu||ze(i.BrowserWindow.fromWebContents(t),t,s)})}),i.app.on("open-file",function(e,t){e.preventDefault();let r=D.resolve(t),s="";for(let f in F){let y=F[f].path;r.startsWith(y)&&s.length{k||i.app.quit()}),i.app.on("before-quit",()=>{ue=!0}),i.app.on("activate",()=>{i.BrowserWindow.getAllWindows().length===0&&de()}),Ve(process.argv),ce&&he(ce),i.app.on("open-url",function(e,t){e.preventDefault(),he(t)}),Object.keys(T).length===0)de();else{for(let e in F)T[e]||delete F[e].open;B()}}),!g&&!i.app.isDefaultProtocolClient("obsidian")&&i.app.setAsDefaultProtocolClient("obsidian");let Pe="obsidian://";function he(n){if(!n.startsWith(Pe))return;let o=n;console.log("Received callback URL",n),n=n.substr(Pe.length);let a={};if(n.startsWith("/")){let e=n;H&&(e=n.substr(1)),a.action="open",a.path=decodeURI(e)}else if(n.startsWith("sync-setup")){Z();return}else if(n.startsWith("vault/")){n=n.substr(6);let e=n.split("/").map(t=>decodeURIComponent(t));a.action="open",a.vault=e[0],a.file=e.slice(1).join("/")}else{let e="",t="",r=n.indexOf("?"),s=n.indexOf("#",Math.max(0,r));s>=0&&(t=n.substr(s+1),n=n.substr(0,s),a.hash=t),r>=0&&(e=n.substr(r+1),n=n.substr(0,r));for(let f of e.split("&")){let y=f.split("="),w="true";y.length>1&&(w=decodeURIComponent(y[1])),a[decodeURIComponent(y[0])]=w}a.action=n.replace(/\/+$/g,"")}let c=null,u=a.path,p=a.vault;if(u&&typeof u=="string"){let e=D.resolve(u),t="";for(let r in F){let s=F[r].path;e.startsWith(s)&&t.lengthp.executeJavaScript(u))}function Ve(n){for(let o of n)if(o.startsWith("obsidian://"))return he(o),!0;return!1}}; lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false importers: .: dependencies: btime: specifier: ../electron/btime version: link:../electron/btime get-fonts: specifier: ../electron/get-fonts version: link:../electron/get-fonts vibrancy-win: specifier: ../electron/vibrancy-win version: link:../electron/vibrancy-win { "name": "obsidian-dev", "description": "Obsidian", "version": "1.10.6", "license": "UNLICENSED", "author": "Obsidian", "private": true, "main": "index.js", "dependencies": { "btime": "../electron/btime", "get-fonts": "../electron/get-fonts" } } GDEFFM<TGPOS> GSUB}NOS/2}؜`cmap9;*cvt "fpgmY7sgasp<|glyf*headV#T6hhea^x$hmtxsAΌ loca$Qh maxp:YH namew{ postsa.L-/prepɝ$](0 qEX/ >YEX/>Y9 9 9999013!%3''#7'377#(-+,ydd+'%rdlUXbb~_FF  OEX / >YEX / >Y 9/ 9 и013'&&'#3#'# '(ODIbWV0_30`mt5$WEX/ >YEX/>Y#9# #901332#32654&##32654##1R9 N@6:-Mg9 8D<160YKFIiL$8'9W<19R32+ !I43QEM!9EX / >YEX/>Y 01".54>32&&#"3267=9[A#6]I9Y]**H6?I8:(2; %Ge@Tm?71H-Ld6LXX 5 5EX/ >YEX/>Y 01332#'32>54&## 4]L-*,M9!L?`e3n!CiHRI&R MEX/ >YEX/>Y9/ 013!!3#!&"*sss7_ CEX/ >YEX/>Y9/013!!3#75ss.?!MEX/ >YEX/>Y9/01"&54>32&&#"32677#73&u4]K?[^- +I6=G%k=%h Tm?71H-Ld6KZ p'Y IEX/ >YEX/>Y 9 /и0133373##4287tO AEX/ >YEX/>Yи 01373#7!#3VUsssZs:5EX/ >YEX/>Y  01".'73267!7!)A4)X<,9;;X )@W )R ,@H'sH2S;  SEX/ >YEX/>Yк9к9 901##33a^$:a A+EX/ >YEX/>Y0133!Ak$s^)]EX/ >YEX/>Y9и к99#901133773#7>7##'4.5#&zw1  VR 6c`tINI$)$'-'HE> RIEX/ >YEX/>Y9 и к901333>773#'# N2T /A@:tU@@=@!5EX / >YEX/>Y 01".54>32'2>54#"3Q:0VyH3Q9/Vx:&?-\&@. %Eb>TpA%Eb>TpAv1So>0So>LCEX/ >YEX/>Y 9 /01332##32654&##0R=#0Rm=L.C?KO97@)B/D`=O>>,(K@-KEX/ >YEX/>Y'+$01%2>54#""&'&&54>323267 %?-\&@..OwFP0VyH3Q9%C`;8$&HEW]eTpA%Eb>JjJ# h <UEX/ >YEX/>Y9/ 9 и01332#'#32654&##0S=#->#jVH/EYEX/>Y 9%901"&'732654&''.54>32&&#" Xx#YK/-8(#=("/K(""-")3!1J3Ny3EX/ >YEX/>Y013#7!#jktt5Y3EX / >YEX/>Y 01".5467332>731J1FI)(& LN1DX 6K.2`(02&>0yMh@X7EX/ >YEX/>Y901333>739  4h5993At)]EX/ >YEX/>Y999ик%901333>7733>73#5&67#5/VW  `Ș Q*+(++)ƺ)/0)+*osECu]EX/ >YEX/>Y999к901#33>773#'&&'#w+Y2!bX5=  <8XIEX/ >YEX/>Y9 и01373366773*{&0h)&S&%S'5U =EX/ >YEX/>Y и01!!7!7!!s/QrR6#=#yEX/>YEX/>Y 9 и /и/9 01"&54>32373#7#72677&&#"KW+J`51Fndo#V B$06)' c]DwY4#5D&*p$(6I*3.*$zEX/>YEX/>YEX/>Y9и/ 9 !"01"&'##336632'2>54&#"+Hq "S'NV,IaH5'*!@". $5j!'d^DwX3p4I*4/&*<*"9EX / >YEX/>Y 01".54>32&#"3267*1VA&1TnYEX/>YEX/>Y 9и/9 01"&54>323773#7#72677&&#"JW+J`51@ o#V B$/6)' c]DwY4!^CD&*p$(6I*3..*QEX / >YEX/>Y 9/ $01".54>32!3267"36454& 0Q;!/Ph90L3  )*H".,s&$ + 6S8CoO+3H+< !, [# (+,XZEX/>YEX/>YEX/>Yи013#?632&&#"3#N'8O=+(6 Me!V(0k{<=$1}EX/>YEX/>Y9 99и/% '(*01"&'732>77##"&54>32373277&#"Dc%;K&,%R)OZ,H^21Flb 4GV=7""32(&$_#K$dUCqR.#5;N0C<1.@(1- XEX/>YEX/>YEX/>Y9и013336632#6654#"*&_3?A=:3 I#;Q(6A>#(" 2,,P&T< &9a XEX/>YEX/>YEX/>Y99к 90133373#'S_mf[v9EX / >YEX/>Y 01"&5467#7!3267FCUWp!#&I QKk  eK({EX/>YEX/>Yи/9 к 9ии$и '01#336632632#6654#"#6454#"bbA,>5M$*KFEnG A@-HH-, V V  WEX / >YEX/>Y и/ 9и 01333>32#6654#"ao-25?A=:3 I#;U#A>#(" 2,,##5EX / >YEX/>Y 01".54>32'2>54&#"3Q90Ph83R90Pi.2'1*3'1 :Q2CnO+ :Q2CnO+p1C(6;0D(6;H*$~EX/>YEX/>YEX/>Yи/99!"01336632#"&'#2>54&#"o%P/KW&Gb<(F3&*!>$3F%-d^DwX3a4I*4/&*#H=(~EX/>YEX / >YEX/>Y 9 9и/ !017>7##"&54>323732677&&#"- #W*JW+J`51FlB$/6)' #&*c]DwY4#5X$(6I*3.I?OEX/>YEX/>Yи/9 01336632&#"Ibo'm9B 1!+2f,,BNvYN&+IEX/>YEX/>Y 9"901"&'732654&'&&54>32&&#" Fu)L&Z.#(*8KO":K*If#KN*$/9!7'#=R 1*V'$G9'<(/"P# #.*=(9+QEX / >YEX/>Y   ܸ ии01"&54677#?33#32675YO&3p &( 8)!f QEek& _'4SEX/>YEX/>Y 9ии/01"&54733273#7#?A=:4AH;bo,14 A?"(2 3Y.U#FZ 7EX/>YEX/>Y9 0133366773\$'%K&%L&q#]EX/>YEX/>Y9 99ик90133366773366773#7667# Gd  L~ B%G&&I$&G&&G%#B(!!#G]EX/>YEX/>Y 99 9к 901#'33>773#'&&'#t) Bـ+ # FWWY00Y>\GEX / >YEX/>Y 9  01"&'73267733>773,2& #(5q) v6{ ] ")*''*)]W) =EX/>YEX/>Yи0137!7!!> Q6iPk &y&0U&YT&3B& (&7X& |&* #/REX / >YEX / >YEX / >Y+$+ 013'&&'#3#'#"&5467#7'2654&#" '(ODI+?>\"-bWV0_30`mt)--J5 %(5Lf& ']EX/ >YEX / >Y+  к  9 /  к$ 901"&54>7#'##33273'&&'#,9!'#IOD(>'')'.&t! AEWV0_33] &l v&|&!&#&%?&'0U&&l4&)4&+6&->&/7X&&lwEX/ >YEX/>Y9/9 к9/ 013#!#3#3!7#2]:1`hxy" }Phb 2_ksrsy&M`(&M`5#,cEX/ >YEX/>Yܹܹ$$9!и"и+0137#7732#'32654##3#732654&###LLR-J6DH3<.Oj<=DMNlHrq-9E<227A2#6Y B:9T7dC?PCF3. A5&sEM&9EMy&.E^U&.Ezf&.EMR&. Jf& 5&V A5&] 5&9 X!=EX/ >YEX/>Y!и013&&54>32#732>54&'sl73'D%((PxP}9fT+D:'4<$K./TB24bL.uwcoYEX / >Y+   9/  01"&54>7!!!3#!#"3267]-8!("*)#  =)'-& sss%A&R&{&Rv&&nT&&|&!&R&#&&%&T&'&RU&&{&R&2.?y&.CU&.JX&.?R&.?&=._f&.?(&.lT&./4WEX/ >YEX/>Y/(+ 9/01&&#"32677#73#"&54>3254>32&&#"?^- +I6=G%k=%h>u4]K  %6".+ 0H-Ld6KZ p'Tm? 4' ^)YU& YB& Y& \Y& ^Y& `oEX/ >YEX/>Y+ии ии и к9/01?33733####37#' @?=a87avA````GVVO& Oy& OU& YT& OB& O(& OR& Of& O WEX/ >YEX / >Y+   и и 01"&54>7#73#7!#3#327,9 #VU1.>)'-& sssZs= AOv& O& \OX& >U& & $& A& Ay& ћAR& ~A& 5A& A(& &כAA&  +EX/ >YEX / >Y 017'737!!7)!yB4! $R)X:LaX{sAJ& z^y&^R&^&\ Ry& R& Rf& ST& R& RR& R&j AR&q@&@y&@U&YT&@B&@(&x&@X&Lf&@(6KEX/ >YEX/>Y"+и)001"&54>7&&54>3232672>54#"-8!Q`0VyH3Q9#Cc@"   =&?-\&@.)'(# sTpA%Eb>EnO AJ0Tp@0So>@&Y@v&|&!@&#&%@&'@U&&Y7+KEX / >YEX/>Y ܸ % %901".54>32654&'7'2>54#"3Q:0VyH>1^g6/Vx:&?-\&@. %Eb>TpA W ! (EwTpAv1So>0So>y&&v&T&7&Y@&2y"-EX / >YEX/>Y 9 99 9+ 9+9+9 #,901"''7&54>327&#"2>544'U8EAT0VyHU8EBV/Vx-&A0c&@/ 2O2aYEX/>Y к9/ 013"&54>3!#3#3%3#"uz8^|D,}}#V $@25y}`h7sssn)Lj@MD<y&Lf&<R&<&<&v<(&&vA<&}-y&-U&=f&-&-&-R&-&v3(_EX/ >YEX/>Y 9 /и/ 901"&'732654&'77&&#"#6632V5M?$$.:4~ (3ETYuMk)!6M *V,#*/OAF\iuVQ )4!*G3Nyf&Ny&Ny&Ny&^=Ay&eNySEX/ >YEX/>Y 9 /и  и017737#7!#3##_ I<"#::%@ttF%5Y&5Yy&5YU&5YT&5YB&5Y(&5YX&5Y|&5x&5Yf&5Y0?EX/ >YEX/>Y*+и$01"&54>7&&5467332>733267-8!HRFI)(& LN .A-34  =)'*$ eY2`(02&>0y8VA.4A5Y&5Y&5Y&5Y&5Y&Y5Yv&5:)?EX / >YEX/>Y иܸ%01".5467332>736654&'71J1FI)(& LP'(fIFD1DX 6K.2`(02&>0-# ! (&?G Mh@5y&5&5v&5T&5:&YX&Y&y&U&B&X&Xy&XU&XB&XR&X&\Xv&XT&Uy&Uf&UR&UU&U&xAU&9]EX/ >YEX/>Y9/и013#7732#'32>54&##3#=HH74]L-*,M9!L?!sq0A`e3n!CiHRIF49EX/ >YEX/>Y++013332##732654&##Z,M8 1Ro=R/IJO51Te)B/D`<~>>,(,8"QEX/ >YEX/>Y9/ 01"&5467!6454&#"'6632'267#Zfn23*F7'tEfi2Yy45T * {p/I  EJ]+u_r?pYNST6#aEX/ >YEX/>Yи/9и/01"&'732>54&#"#36632@:2 ,"& @"] "T)#9)#@[ m7Yq;C8$%(>#'8X?YzH PS7EX/ >YEX/>Y +0133"&'732673 .* ,?t c %)x&A1-OEX/ >YEX/>Y +ии01#33"&7663233lr$ /! 0krs+( -( -s Py&'e#=;& #=6& #=& #D& #=& #=& #=& #=& #=q#4@fEX / >YEX/>YEX/>Y5$++ 9901"&54>32373#7#72677&&#""&54677'2654&#"KW+J`51Fndo#V B$06)'2@ <[#+'5 c]DwY4#5D&*p$(6I*3./*2;7,"*5###A& #='6EX/>YEX / >Y"+ и/ 9 9и/и ( +,/01"&54>77##"&54>323733272677&&#"d+8%#V*KW+J`51FndB3;B$06)'*+-% B&*c]DwY4#57 7G$(6I*3.#=&l#=& #(& #=(&" #2&$ #=F&& #=&& l#=w&( #=x&* #=y&, #=E&. #=&& lT1@JEX/>YEX/>Y9 9к92%и,к/9; AиD01"&54676&#"'66326632#3267#"&'7267&45467"36654&e<<!3.%\8&6 H&.&#,&O#3G$J,E9B3 B3Yd$1O$& $"-: 3E*-U' #$h $1#790  !T6&T&(,EX / >YEX/>Y  ܹܺ9и/ ик9&)*01"&'###?33#36632'2>54&#"*IqoC D "S(OV+J`G4'*"A- $5-@JIF#j!'_ZBsU1p1D(0+&+A*&m<*&&<A6&$<?&$<\&$<*&$ 6#(EX/>YEX/>YEX/>Y&$+ 9и/9 01"&54>323773#'#72677&#"3;E(D\3 1 p!L-)$."{/? c]DwY4^C4#p#'6I*3.b#f&l#Af&s#f&,EX/>YEX/>Yܹܺ 9и/9! "%01"&54>32377#73733#7#72677&&#"KW)G`71?  D Dpp#V B . 6'( c]@pT0!^#FII@D&*p$(0A&3/.;& .6& .& .:& .& .& .)& .3?[EX/>YEX / >Y-+ 9/ #4901"&54>7#".54>32!32673267"36454&I+8  0Q;!/Ph90L3  )*H".PT  :!&$ +*+(! 6S8CoO+3H+< !, [0J#8v (+,.& .& t.& .=& .(&  .(& ".2& $.'F& &.& &t.q& 1<=6&" <=&" <=&" <=&" <=&" <A&" <=&" <D&"  &#q< ~&#q< &#mA &#t &#g &#q!qEX/>YEX/>Yܹи иܺ 9и  013#?33#36632#6654#"oE G %`3>B:63 I#8-@JIFTP'6@?$&  3-,P;&TP 6&TP&TP(&TP &TP&TP%&TP&=P&TP&T&P&TP9EX / >YEX/>Y 01"&54677#7!3267VHV1,J"% F KCk  g<T&9a&&'a&&Aa&&a SEX/>YEX/>Y9к9к 90133373#'b(`n]v&'<6&'&'P&'d&'&<A&'K%9EX / >YEX/>Y  01"&54677'77#7!73267FCU\ -5!#!#&I QKM.QJkIQd  eP&'K6&( K&( K&(j+6&) ;&)F&)I&) &) &) &)mA &)t/kEX/>YEX/>Y (+и/9и ܸ013336632#6654#"'667#"&54>32ap$U3;5=:.5>=K ((.6%B\H!3A>&" 3$"=GA&)(*;91UD1#;&*#6&*#&*#;&*#&*#&*#p &*#8&*#(8KEX/>YEX/>Y"+и)101"&54>7&&54>3232672>54&#"+8L\0Ph83R9$YEX/>Y ܸ ' '901".54>326654'7'2>54&#"3Q90Ph8YEX/>Y 9 99 9- 9-9-9  %.901"''7&&54>327'7&#"2>54&'Y7@-B0Pi8Y7@-B0Pi%"8)\"9( .=-?@&CnO+.=-?@&CnO+4G5F)@6&T&/?}EX/>YEX/>Y 9 к9/3и!к$9;'и*01"&54>326632#3267#"&'"3654&32>54&#"?K'BW/SL#@=* -&O-%CF/%' d[JzV/Q+&[L+H 1'X""$ ;.#(0&YEX/>Y$и/01"&'732654.54>54&#"#>32b'L"8(&!!(!(4 ^e (YEX/>YEX/>Y013#?632&&#"N'8O=+(6 fe!V(09\6&/9+&/A9+&/G9+&/9A+&/9+A&/}+%qEX/>YEX/>Yܺ9/ и и и%01?#?33#3#3267#"&54677 {3p ( 8)!f:YOBbekbG & _QE'4;&0'46&0'4&0'7&0'4&0'4&0'4&0'4&0'l &0'4&0'4,iEX/>YEX/>Y'+и/ 9  и!01"&54>77##"&54733273327]+8%,14?A=:4AH;bB3;*+-% S#A?"(2 3Y.7 7'43&0'4q&0'4j&0'4p&0'4&0i'4&0'&_EX/>YEX/>Y !9!иܸܸ и /01"&547332736654&'7#7#?A=:4AH;?",f@9Xo,14 A?"(2 3Y.<, #\;&4>\6&4>\&4>\&4>\&4\&4>\&4>\&4)6&58&5)&5)&5)&5vA)&5}O"0MEX/>YEX/>Y) + 9# &01".54>32&''7&'77'267&&#"-N:"*F[25D 7o%-:(H{)-.Ss8A\ 9&"6&3 4M3<`B$"]AA@4`.EA:6OTZ.ncd)736H*%EX/>YEX/>YEX/>YEX/>Y99"#01336632#"&'#2>54&#" "S'NV&Gb<(F3&*!>$3uj!'d^DwX3a4I*4/&*E &fEX/>YEX/>YEX/>Y9и/01"'732676654#"#33>32 1.) :3 I#;ao-25?A?,>b "*$ 2,,U#A>#(&B0<5EX / >YEX/>Y  01"&'73267#7!7Q8036GS^t`;B`k*lr<b"2`EX/>YEX/>YEX/>Y +и#и +0133"&54>32"&'732673"&54>32dc:"5%&1:.* fg+?!6$&2%:''#(&)6 c %)&A1''#(&#B%>aEX / >YEX/>Y +  &и /и 2и801".5467#733267"&76632".5467#733267!7(Wip  0F 0! /!7(Wip 0 &7"!j f 6).) -&7"!jf <6`EX/>YEX/>YEX/>Y+ ии0133"&'732673'7'7dck.* fg+?YEX/>Y9/ и/9 #$0123267#"&5473366">54&2%%-*N3(8yEPd8o&_ P ;R3 ,^i _!NO&C%*i#"L"*#uEX / >YEX/>Y 9и/ и/ 9   !01"&'##336632'2>54&#"*Mmco%V*KX,IaM7('!D#/ $5D%+d^DwX3p4I*4/%'(!0EX/>YEX / >YEX/>Y9и/ 9"*-.01"&'##>32&#"36632'2>54&#"*Iqd %YEX/>Y01".'732>54.#"'6632!:0&S0E :+*':0$`>0UA%0To !L60C'+ ]!)6P6EqO,* 3oEX/>YEX///>Yܹ'%'/91/'9%19/ ܺ1%901%2654&#"'67&&54>32&#"632#"'N*1@9Q4E=]$ B 2G9=%DpO,!G82D& X90%A18#Ef&5EX/>YEX/>YEX/>YEX / >Y 9 9  '*+.01"&5467##"&54>32377332672677&&#"91 !O'JW+J`51@    )B$/6)'70F*!$c]DwY4 ^-  f $)6I*3.#"1EX/>YEX/>YEX/>Y 9и/9#& '*01"&54>3237>32&&#"#7#72677&&#"JW+J`51@/A+ .jo#V B$/6)' c]DwY4 p7*l &D&*p$)6I*3.+%MEX/>YEX / >Y 9/ 01"3."&'73267!&&54>324,D ![8iE=*0R@gJ+M9!/Rp;.( a&"T9<#WL46P5JrN(#=$%WEX/>YEX/>Y9/ 9$01332#'32654&##732654&##$a#>.53&*:V6]f-( eZ+&Z '0E (&&>-a)W&,$QEX/>YEX/>Y9/ 01"&5467!&&#"'6632'267#co T;-)A#-+nA.N7-Mg6&J1 jY = @2[!6R9DnP+i56 ,++3EX/>YEX/>Y+999$9,091901".7%&#"'663273267#".''26777H( 0G8-^)EWb>  '"8 1EW'@ ' &?S-{8_>6(8(F %4\D'nG9N $/3.WEX/>YEX/>Y9/9&01".54677&&54>32&&#"33#"3267*L:"NB,$(CX1yVH#B++2 )Uc3991"N-' ;88 #4"6E 2#8'@^$X!^ -SEX/>YEX/>Y9/%901"&'732654&##732654&#"'6632Aq0I&K/-7*3V`)/4.I(';g5(J8"81+((DZ #_$X]"0-> =#&<*"1WEX / >YEX/>Y" 9"/##"9 *01".54>32'2654&##732654&#" 6W=!1Tn<(I8"81,'(DZ*.*3 )/%!9+@ :Q2CnO+ /.=  =#&<*k'X3F(6@<%SEX/>YEX/>Y +и 01"&'732677#?#7!3#7Q8036 S/wv!t`;BA~kGlr<2?EX/>YEX/>Y*#+9/ 993 56801"&'732>77##"&54>3237>32&&#"277&#"Dc%;K&,%R)OZ,H^21@/B+ .] 3GW=7""32(&$_#K$dUCqR/!38*l &5;N0C<1.@(1-<="3"%CEX / >YEX/>Y! + 01".54>32&&#"32677#73 ,UC)*PtJAZN<&#;+!)% V2 b 6P5YEX/>Y 9# 9#9 к#901"&54>73366773'2654&'#:@ !b% $t /B<3),1@((@g$9%A1\$%&9LT&2qEX/>YEX/>Y9-9-9ик-9'01"&5467&#"'66326632&&#"'2654&'JUH@+  =(I,Y'9> )!!YEX/>YEX/>Y 9 0177##"&547332673&&&_3?A=:3 I#YEX/>YEX/>Y 9и!$013>32&#"36632#6654#"d %YEX/>YEX/>YEX/>Y'#'9#01"'732676654#"#>32&#"36632 1.)73 I#8d %b "* 2-,-O9! l)6i'7A?"(&B0/ IEX/>YEX/>Y 9 /и0173373#7#b##b&&@&>) AEX/>YEX/>Yи 01373#7!#355s sss &?9H/ fEX/>YEX / >YEX/>Y999  01##73773O_m$[vX>&' w5&0cEX / >YEX/>Y 9/и'и*ܹ  01"&546327#7!3#3267#"&546?6&#"3BD9+( #M!#&I*CU=.-8kKS  eQKCK) E9EX / >YEX/>Y 01"&5467#7!3267 BU}"#&IQK 2kR  f<\$wEX/>YEX/>YEX/>YEX/>Y9/и01"&'732>54&#"'7##3!E_G:-+ 0# N)=M(F`1!O$3 )&E{ON<7cK-M+EX/>YEX/>Y0133!MbL {kX({EX/>YEX / >Yии ии/ 9 9  $и'01#7##"'#"&54673326733267XbbA,>5M$*KFEnG A@-HH-, p T SHX-EX/>YEX / >YEX/>Y и к 9  9  'и* ,017667##"'#"&546733267332673RA,>5N#*K~F FnG  B7& -HH-, p  T  SXEK6EX'/'>YEX / >YEX/>Y'к) '9) к#' 9#'"и"/'+01"&'732676654#"#6454#"#336632632V+)  DEnG AbbA,>5M$*L&7 b'-P V @-HH-, )D0E 'jEX/>YEX/>YEX/>Y и / 9 "01"&'7326733>32#6654#"!! 0 eo-25?A=:3 I#=,?lU#A>#(" 2,,&@/E +fEX/>YEX/>YEX/>Y 9и%01"&5476654#"#33>32326781>3 I#;ao-25?AC   (70#5 2,,U#A>#( e &IEX/>YEX/>Y9 и к90133366773#'&&'#aN bO ;/Y&;/Y&"!2EX/>Y ++01".54>32"3&&267#3R90Pi83Q90Ph,F1].I2 :Q2CnO+ :Q2CnO+7025=68;l'oEX / >YEX/>Y и/и/9/  01".54>323#3#3#'27&#"&D3+Jb73+7/#* 1J2FwV0bdXpbp!8I(5) H<+sEX/>YEX/>YEX/>YEX/>Y и и и*017%4&'>7.54>773C,!+C,!(";-.Ld5,~-!<,.Lc5'09 .3B08  2BT 3G/FmM*3H.EmL*KEX/>YEX/>Yи/9 01'7##"'732677bo'm9B 1!+2f,,BNvYN@KEX / >YEX/>Y 9  и /01"&'776673#7#s 31%/.c*ep(l vWMCBNE$^EX/>YEX / >YEX/>Y 9 01"&5477##"&'732>733267aB4#F2*1'! 9c  (A1i30 v 'g FE?#YEX / >YEX/>Y и/ 9  01"&546736632&#"3267XO]o'm9 42,2f,%#6* dQEBN vYN& `I?/EX/>YEX/>Y 013>32&&#"I< ,Eb?3R0 1"/(4*.M8 { ,,UEX/>YEX/>Y 9 /  9 и01332#'#32654#,b$=-C7N:K 4@+0B@!3#=[-:3UEX / >YEX/>Y к 9/  901#".5467'337#"73b$>-C7N:K 4@+0B@!3#=[-;E>hEX/>YEX1/1>YEX/>Y1 19!'19901".5467732654&'&&54>32&&#"#"'327%2 L&Z.#(*8KO":K*If#KN*$/9!7'#=R0@6$#.@0V'$G9'<(/"P# #.*=(i<5EX/>YEX/>Y01"&'73267>32&&#"e*>8"! g 4I1-N=&$) d3HY '0)I6 V'/)H6 <'SEX/>YEX/>Y + и !01"&'732677#?>32&&#"3#e*>8"! - + 4I1-N=&$) ++3HY '0A)I6 V'/G)H6 h IEX/>YEX/>Yи и ܸ0123#7#7376654&#"'66YO&3p &( 8)!fQEek& _9E+QEX / >YEX/>Y   ܸ ии01"&5467#?33#3267YPJ3p J' 8*!gQEiek& `J #EX/>YEX / >Y 9  9/иииии и/017277#"&5477#?33733##7#*: >7J K GG4p"Si@a? 3uA>!&PAGC /.C(QEX / >YEX/>Y  и ии 01".54>77#7332>54'73#0H0!)X*6$'/" Y)If 0>#$C;0i^*o=&23F'>2^iD,3_J-,$EEX/>YEX/>Yи/01"&5467332>54#"76632_q66(%4&4=M)Ll OV) -$+DQ&AlIPGf= 3EX / >YEX / >Yк 901#'&&'##\$'%K&%L&%#]EX/>YEX/>Yик9 99901#7667##'467##33>77% Gd  L~ B%G&&I$&G&&G%#B(!!#z KEX/>YEX/>Y 901#>32&&#"#'.'#96YEX/>Y9 и01373366773z 0IZk7 7kE)\EX / >YEX / >YEX/>Y  и  и01".5467!7!7!!3267%2 >   ##.Q6iPAB l8%_EX / >YEX/>Yܸи  ии"ܹ01'667#7#7!6632##72654#"C  -00*X.**2O6 {&#)r2Q6iQGL(& YEX/>Y9/ܸи01"&'732>54&#"'7#7!KiGF14&<- '<*,Lj6&O$#.0-EkO+8!4]G*<~EEX3/3>YEX;/;>YEX9/9>YEX+/+>YEX/>Y+'+39'73+973;9/>"и;#+&и&/#=0172677&&#""&'732>54&#"'7##'##"&54>323773!) #2>G % NX239#;K)*  r)45!=Ud!;P.)%%O&2%"O{-bYCx\6\OM53cL/R'=gEX / >YEX/>Y   и/9(-9 701".54677#?33632&&#"'2>54.5467# ;S5#BI3p %(=B" Dm)#. !G# )8")e J!,'C0g  *  J*<9EX*/*>YEX / >YEX/>YEX/>Y  и "ܸ $и*101"&'73267#327#"&54677#?337>32&&#"$ ( M+,7#F>,BI3o 1G2! - g.De)-0` J9e%E5 f&0)H6 |2/EX/>YEX/>Y 013>54&#"'>32@>Q//)*F*627>&*K9!:T53:632')"\ ,A*,KD=uQ/EX / >YEX/>Y 013&&54>32&&#"48E'D\4Sl"M B04; 2&>4gA4V>!;-M#%?-+*-D2!IEX/>YEX/>Y+ и 0137#77>54&#"'>323#0>Q//)*F*627>&*K9!]O/C752')"\ ,@+Fn0IGQIEX / >YEX/>Y+ и0137#77&54>32&&#"3#0|\'D\4Sl"M B04;,0CK^4V=!;-L#%?-/,*I.H]EX / >YEX/>Y+ܹ и ии01#?#7733#3#F  BBFYEX/>Y " 9"/(01".54>32'2>54#"7"&546320K5+PtI0K5+PtA#@1T#@1") "* #AZ7aM$@Z7aMp;fK;fK!0 1 KR$SEX/ >YEX/>Y+ к 9901"&'73267'##33>773.* T /N2,> b *V@@=A@:p%A0+qEX/>YEX/>Y9/ и/9 #$01".5467654&#"'6632#7#526772%%-*N3(8yEPd8o&_ P ;R3 -^i _!NO&C%*i#"L";&6&&6&&&"&&q+<HUEX/>YEX/>Y$+=,+ +  901".5467654&#"'6632#7#52677"&54677'2654&#"2%%-*N3(8yEPd8o&_ P ;R32@<[$+'5 -^i _!NO&C%*i#"L"/*1;7+#*5##3&&g&(& (&"}2&$ F&&&&g w&( x&*#y&,$E&."&&g2>EX!/!>YEX / >Y-+ и/ ! 9! 9/!'и 3 6701"&54>77##".5467654&#"'66323272677]+8%&_52%%-*N3(8yEPd8B3; P ;R3*+-% A%*-^i _!NO&7 7@#"L"-A5ESEX/>YEX/>YEXL/L>Y"L9"/"L9L9и/>и/%L9L,"6FOL"901".54675&54675&54>323##"&'2>54&#"2654&'&&' LB,:-* 2$?S/)#G$=S/))">P/0Ne&'"%'@D:8!! .&*:) 1'H+H5 f)F4  ',B,& $' # "9-A6&4-A&4-A&4-A&4-A&4-A&4-A&4-A&4P)CEX/>YEX/>Y$+01"&5467#".54677#7!3267327X+86( 7(1,J"%QB:*++>%5!k  g#8 7@]EX/>YEX/>Y9/и и01?#7!3#3267#"&54677@ ,1"% F.HVBckH#  gKC"oEX/>YEX/>Yܸܹ  9 9 9 901&'#"&54632#7!%267&#"M I-CTXO',AS^* # $6(!F8EVBk)O2Z m&IEX/>YEX/>Yи/!и и01'667#77!#3267#"&54>7# 6aKS    2;3  dUci(SI7 b ;/IRT#-dgg%5EIEX/ >YEX/>YGF+.>+и/ 9и/9G&ܹ601"&'72673366776632"#'#"&54>32'2>54&#"734 b  ;1 a  ;(6+:")5+:    u jt[1P@Cjjt[1P@C6;.Q<#6;/Q<"R$-%.KKQ)4>EX/ >YEX/>Y,999,999,99'9!'9%й$257'901"&54>7&54>326673&'6654&#"27&'U`'43H,AE/;2)x>'56DC*^ *:+(-=+' YI%;0(@6(G5G<(?3) >#O-?l1l- !:)5T>L, ()3#/GEX / >YEX/>Y $ 9$/*01".54>32'2>54&#"7"&546320O8*OrH1O8*Or='?+13'>,1L* * #B]:PqC#B]:PqCi2Ri8KQ2Rj7KQ!$6!$6{ ;EX/ >YEX/>Yи 01373#766733M?W%einVn9EX/ >YEX/>Yи 0137>54&#"'66326633MZ2(&?"B-f@Zg)Gb9@N?i\S)#*%#P-7]N0WW[4s/QEX/ >YEX/>Y9/ܸ(901"&'732654.#72>54&#"'6632?x+VJ)3>&A14E*,'6=0a6,I4BQ:6&D[ 6SF-0J2${ UEX/ >YEX/>Y +  ии и к901!7!733#37667#$`JPP+_i|#J8 {%[EX/ >YEX/>Y9/9и01"&'732>54&#"'!#632Bv,WI,0$504Nu"*/'C1.Lb 5=G$',-, +>s*?*;^A"6>%6eEX / >YEX/>Y  9/9&.101".54>32&#">32'2>54&#"2Q: 4[}H!8-" W#B ;3( &)($@0$BZ/+/(@ 9 !YEX/>Y 013>7!7!2BU82L8*"V~o5sV-QQS\i>+!-=]EX/ >YEX/>Y898ܺ"9"ܸ(.01"&54675&&54>326654&#"2>54.'doFM%!YEX/>Y$.9$/. .9012676454&#"".'732>7#".54>32$@ 8-*.-!8-" V0#;3( &)($@0$BZ62R:4[}J'::&.*+ H2L5 )?,/XD)!YEX/>Y  9 9 9! 901".54>32"6654&2670O8*OrH1O8*Or4'1x/1 #B]:PqC#B]:PqC*,(a3KQ?.)d5KQ{ "EX/>Yи 01373'733Bm8kinLCPn()P#1GEX / >YEX/>Y $ 9$/,01".54>32'2>54&#"7"&54>32.O:!'KpH.O9!'Ko<$:)04%;)0G * =ZL)F]4?K! !$5B ;EX/ >YEX/>Yи 01373#766733A?W%e]nFV,nN!9EX/ >YEX/>Y и 0137>54&#"'>326633J{W0,"&A >26>&'B0$@X34M3ZQI#'$#M% *=&0RLI(sN3FEX!/! >Y +!9!)901".'732>54H>54&#"'6632+E7)RB4, X^3H/(&'E#9/sM&@/NM.",H\Y *I"0 %0/^( #S%*'8%=Y$2 5N2B </EX/ >Y+и к9017!733#37667#eOQQ-N_vi#I:A(NEX/ >Y +9/9и01".'732654&#"'!!6632+D6)Q !)9K<)5K"1%<0,JbY'PBB1- (Hq -E0>^?6>IWFA"/EX/ >Y 01>7!7!r1D[?KbC/MTz>nSE~]+K N5PEX,/, >Y+",9"/,9, 012674654&#"".'73267#".54>32C#5-,-,"9-! V1%?j(('%@0&C\53P94[~'  9;)2,0 Hdh*A-1\F*!()P%aEX / >YEX/>Y  9 9 9 901".54>32"6654&27.O:!'KpH.O9!'Ko3%0n/&0 =ZLv$ "T0?KB "EX/>Yи 01373'7337o8k]nDO,n)3+GEX/ >YEX/>Y 9 /&01"&54>32'2>54&#"7"&54632en'NtNfm'Nt?)>*01)>*1J+ , ~PrE~PrDi4Un:UL4Vn9VK'%3'&2 ;EX / >YEX/>Y и 01373#766733O?X$flnVn9EX/ >YEX/>Yи 0137>54&#"'66326633O]3(&>"B-f@-G2*Je;@N@m`V+$+$#O-8.@'2[Z^6s/SEX/ >YEX/>Y9/(901"&'732654.#72>54&#"'6632?x+VI&6?&@04F*,&6=1a6+I4EP95&C\ 6YEX/>Yܹ и ик901!7!733#37667#$!bLPP!+_i#J9$%[EX/ >YEX/>Y9/9и01"&'732>54&#"'!#632Bv,WI,0$4/4Pu$*/&B2.Lb 5=G$'-0. *Gs+B+<^A#6B#4eEX / >YEX/>Y  9/9$,/01".54>32&#"6632'2>54&#"2Q: 4\~I!9-" W$C <4( X#$?/$A[/+.' A 9 !=U4hs= H34P7"*B.0XD)f&./.&  :;hP3EX/ >YEX/>Y 013>7!7!3DV8KbA-Wt6sVC{^+!,:WEX/ >YEX/>Y"5+"595"9'-01"&54675&&54>32654&#"2>54&'doGN$";R0'E4B8#@[(I-&&6;+(C9'.; UJBZ!B*+E1&8%>U $.-I5/E#*,&%5 !&6=%.+%4aEX+/+ >YEX/>Y!+9!/!+9+ 012676454&#"".'73267#".54>32% A 9-*./!9-" V$D@l'*)#?/$AZ62R:4\}R'  ;;&./. H3fn +B./YD)!=V4hs=)3#aEX/ >YEX/>Y999901"&54>32"6654&267en'NtNfm'Nt10w31 ~PrE~PrD;)`3UL.(*b4VK "EX/>Yи 01373'733En8kln^DPnnEX/>Y01"&54>32)0!.)1!. 6)/#6*.#Z3u$EX/>Yܸܸ01'667#"&54>32hBT  / ,*3(GcEG3.'*<97_L5'g?CgZ3'g?Ch(/8EX/>Yܸии и(01"&54>323"&54>323"&54>32 ##'"#'"#'"#("$'"#' * ()!(* ()!(* ()!(-EX/ >YEX/>Yܸ01773"&54>32$RY#+'#+(.$(.$(P1EX/>YEX/>Yܸ01%#72#"&54>L$RY#+'#+(慅 .$(.$(!17EX/ >YEX"/">Y*ܸܸ 017>76654&#"'6632"&54>32"("$ 2G'bE#=-#/ _#+(",'#7,!&C04 1!#3*#  .$(.$((E!17EX"/">YEX/>Y "*ܸ!01%3267#".54>7>72#"&54>l")"$ 2G'bE#=-#/ _#+(",'#7,!&C04 1!"4*#   .$(.$( 8 +01773  Q8늊8S'p|p9+ ܸ01"&54>7632<.6$B\8=L '(9;91UD1 FA&*'*=+ܸ01'667#"&54>32=K ((.6%B\=GA&)(*;91UD1T9g'r|rC=V's|s5sC5V's|sA+ܸ01&&54>32#"'}O`%1&4% 8?ApC&=,0'&$; +01%'7731Nn7 +017'7'70NE72n*A'y|y'z|zIzTIzTIzT;1 +0177!;ggX1 +01'7!Xgg;1 +0177!;ggX1xg h +01%"&54>32 =N5E'1$3DhI:*D1#0*D1nV#+ +01%".54>32'2>54&#" "9)"9M,!7'!8K * .$,!/V'5 .L6'6 /L6G!-&0!.&0s +017!*s&b++017!%35#LbHC}t +01753}t?_d +01753%3'_׸\dqAW+90173?W_93+9999017377'q>9q\\}U+901%5!*^U?_4 +01%5!'7#*\4q~W +01%%5%3?W]9)+99901%%5%3'5qB9eq\l++017!'2>54.#"85&&55&&5l4 &44&&44&XF +0155!Xa +017! gg++017!7!YYXXyJ^ +017!yJJJ  +01"&'732>7tW0)_ee.-fkm3p=??& &??=N) +01&&54>75?G+QsIBz76Bp[u/LfX>%D/01'6654&'7gBy76X?H*PsMfY?=BpZumh=++01!#3m"\I6Ih++0173#7!#II`hD4+34+  ++' 901"54>54.'7>7>76633#"33 x 1(+8!QGyM#.   2+#KaA=6  P('*Q>I!*(N-97 &#=>9I h4+++&'+ &'901732676676677&&54>54&##732# L#/  2* " Jwx 0(+8"RGI!*(N-97 &#=>9IaA=6  P ('*Q>`fEX/>Y013 y fh +013x`EX/>Y013Clfh +0133xxxH0HPZ )//9и и 017'7'7737'4z"0HFB^b,J=-.CJ'}" %+ܸи 017737'rn+bP oo :&G ++  ܸ  ииии0177777737'7'*$m*"P o oo o "9K?%++F9F=9=301"&'732654.'.5467&54>32&&#"6654&'&&'6e(E?% ##*;-.B'0X"J/-)/$60 2F'/" )J+-P(  %.3I"#;,.&H!!(27J&=+F  )  $CG 1EX / >YEX/ >Y  ܸ01%".54>333,O;#1Qk9"[.E,FfB<$}&t!D'lyl z,IY_EX/ >YEX/>Y%ܸܸ -и 7и=иJи%R017>54&#"'6632"&54>32>54&#"'6632"&54>32I %2 G#5($+%_#+(",' %2 G#5($+%_#+(",'%9.&%&W/"6.*-2 .$(.$( %9.&%&W/"6.*-2 .$(.$(z,2BSEX/// >YEX3/3>Y;ܸ-ܸи/и/ 3и;%01%>54&#"'6632"&54>3273"&54>32a %2 G#5($+%_#+(",'$RY#+'#+(%9.&%&W/"6.*-2 .$(.$( .$(.$( H,2BWEX/// >YEX/>Y%ܸܸ/и/ -и3и%;017>54&#"'6632"&54>3273"&54>32I %2 G#5($+%_#+(",'$RY#+'#+(%9.&%&W/"6.*-2 .$(.$( .$(.$( 0EEX/ >YEX!/!>Y)ܸܸ ܺ!901?3>54&#"'6632"&54>32k +%&<G'rE#E6"-50$]#+'#+'\\ "#C04$6$*>/%#$.$(.$(:F 0EEX!/!>YEX/>Y ܺ!9!)ܸ 01%#773267#".54>72#"&54>vk +%&<G'rE#E6"-50$]#+'#+'\\ "#C04$6$*>/%#$ .$(.$(= +013!#"I +013#7!逻#{I<{ +0133g}8I"{ +01733"|h8IjM8h= ++01!#3'3#8W~66\I6IIh ++0173#7!'3#~X}66III= +01!#X"HI +01#7!!H#VeIRmh +0133mVgHIh +01733HhXIeRN#?UEX / >YEX/>Y $ܸ,ܹ2$901".54>2'2>54&#"7"&54>32&#"670Q9 8`J1P: 5^B;gL,YQ;fL+Xq?G#:L)(3< '6!$B $Da<[j9$C_<[k;94\~I^q3Z}JbpPRF6W>!"4)6H @T'6?YEX / >YEX/>Y4:+ 4(ܸ)ܹ701".54>32'2>54.#"'32###32654&1Q;!9bG1R;!9aA;hN--@(;fL,+>2H-#"6BS') $Da<[i:$B`<[k;94\~I/L63Z}J/N7]l '0@&_"}+&9%#,:4EX / >Y+/$+&9+ 01".54>32'2>54&#"7#32654&732#'#4$;*$AX4#;+#@Y,%B0?6%B1@^ z(V' 9 9,=$3V@$,=%3V?$-1E)9E3E)9C: % G>>AkU/+ +ии ии ии017#73#333773#77##'#]1MK0h?a$5a>N!T8kII9aIIagrrg e$@[++)8+ 99'и-и@и.и'9601"&'732654&'&&54632&&#"733773#7>7##'#$:-' #>3)5-$(EU>a #/e>O Q7e3 ."*1 .+&-49aKKag ! " g mC6A]/' +1+7+и/ 9/99:01".54>32#7##".54676654.#"32672777aI*>iJb\:I=*( ,!/^M02C%#7(H *0.=%&KpKu}AdU!3"(W^ +5e`8U9G7@(kU+6/EX / >YEX/>Y,+и/ 9/9 %/001".54>32#5##"&54676&#"32672677 1W@&AjHnN6HG'08 *?.aQ4WB2K "*e".-<%"CfEdk7vi7"96UZ=>)R{RbbI g+/4EX / >YEX/ >YEX/>YEX/>Y+  +и ии ииии01!7##7#737#73733733#3#7#:r;P/EX/>Y9ܸи и01'7'7737'4nw,E??S#)?=##>C$j1 +0177!j]ggj1j1) >K)+ +)9)9ܸܸ),ܸ5017&"#"254&'"&''7&&'77.54>327&')([*  :G=';R%00$ :O/4G9.P,3&%?V h6nm /S! | '2 +@*'Ks%0 .C,l P2xP2x P2l P2x  P2l P2l  P2xP2l P2l P2UP2UP2 pP2P2l:#+ +01".54>32'2>54&#"3%3F,3%3G#    *;$4^E));$5]E)Q/?$%+.?%$,_F+ + 01737#7>733_u)k % N54&#"'66326GA$"#3 $*"=$5C&*)8-#.=   B5-%6..UF-//+и и 017#73733#  BaW::X5'``CXg:!+ ++01"&'732654&#"'73#66324GA$'#6 0=,:-#.#"U>=5 7'{:(!+#+ +01".54>32&&#"6632'2654#"2##;K)E+6&3 )28)6 * *9"?`B!1=46;1!7(P$+* F/+ 01>7#7! (4!*;) -PJF$U7)OQV0p:+65,+ 2+&+ 292 901"&54>77&&54>3276654&#"2654&'>G '26@)*9 "/;.#%*7-#5*+  )h: (! +++01%2754&#""'73267#"&54>32  E+6&5 )28)72$#;L* $+0=56;1!7(*9"?`A!# +01&&54>7%:)C?> -c76\VV1U[)\&`# +01'6654&'7C?> L&:U[)\&-c76\VV>1 +01"&54632'()(8 +ܸ01'667#"&54632 &.%"M6 $!&AXuD(EX/>Y+01"&54>32'2654&#"6H1A%6H1A-- EA+J6F@,J6JD9!E9!t8EX/>Y+0137#76673+P &,N=<uC,EX/>Y+0137>54#"'66323u $=.#0J-.9 +x5+($5"-.*&$L{C(<EX/>Y ++! 901"&'732654𑯎&#"'6632-9.&!' )"%G&-9,"!'3 63  5(%#*"& kC:/EX/>Y+и и 01!7#773733# =~KS3 3 ?/#EE=?s7!+ ++01"&'732654#"'73#6632+?2" )#) !"3(6 7" O0',. C&2EX/>Y"++01"&54>32&&#"6632'2654#":E4G*#42 "4 +#4&3%  BA/K55 /(+-,C# :7 &EX/>Y+013667#7!@4 $0!Dq3O4 :Y++ ++9+9%01"&54675&54>32'6654#"2654&'69+$'30:(S   *&"( %& (&)  13    pC &2EX / >Y++ 01%27&&#""&'73267#"&54>32 -9* &/6&4&3>A/A9-)-*,!ID,G3 +01&&5467&TR=@A^&c8_@;8wI*O#m +01'6654&'7>@AO%T_;8xH*O#2'c7`8s +01"&54632+ *+)Cs&EX/>Yܸܸ 01'67#"&54632 V-!Tx/5 &"!<]+{<77o<77z<7+z<77z<7+n<7+z<77n<7+z<7+z<7<7<7/t<7<7ooo o!J /EX/>Y+ 9901"&54>32373#'#7277&&#" -73C$2J@O7""  o?B1P8)!$N  . o F<EX / >Y+9  901"'##36632'2654&#"[;K\`3451@.%5#$o+#r5E;6Q6NA< o(EX/>Y+01"&54>32&&#"3267M=M!9K)(58%$(HoEJ/K4 5  *"#<o%F"FEX/>Y+ 9901"&54>32773#'#7277&&#"5:2B$$`\N1 "  oCG.L65p1!N . !o 2EX/>Y++01"&54>32#3267"36&?AQ"8G%A= )1"S/ oJC1L4C2* &B"#)wAN'++и01#?6632&&#"3#3KL O=&2*r s3wD== >  H,J/EX/>Y+  + 9%%90132677#"&54>32373#"&'7277&#",&.15;3@!,K@fL&B! "d $F8.K5!M> w)"wF$EX/>Y90136632#76&#"]`=$8$ (`%$-wr?G>˿!oe!!+++01"&5477#733267"&54632r1; m1 /&)")o3-~K H (&yf!++ +017"&'732677#73"&54632*7*"$.>Sw. .C %KHL)'w0F /013373#']`7ial=;wņ4RoF ++01"&7#733267q?. 7CG0oI=II LwR*OEX/>YEX / >Y+  9 9&013366326632#7654&#"#76654&#"LAN6 !!8 *")_&  #*^%  "*wJ- $-+ w &EX/>Y+01336632#76#"BN=(2' )`& ,&-wH, C?>o#(EX / >Y+ 01".54>32'2>54&#"92&"8H'2%!7H" " o#4"3M3$4!3M3O#,"$," BEX/>Y+99017336632#"&'72654#"ZO5!363B#&`$6-! !F<4P64aA?<  J/EX / >Y+9  901%77#"&54>32373'277&&#"V25:3B#%KYv# "7e2D<1P9"> ?= w,/ /EX/>Y  90133632&&BOY+01"&'732654&'&&54>32&&#"B*H30!&4(40@5, '5+;o#<  -)) :   )+*o''++ и 01"&77#?33#3267fA- RT(KFoOAxBhhHx# Co)/ /+901"&773326773#5#8$ )_' ,$,aBL?oE>;.w% / / +0133667735`  PewH::we;// /+иии01337733773#'7#^#DP !=Yq 7wJbbbb[[w / /017'3366773#'&&'#Fc  &jMc 'w6 62' & 3' //+017"&'732773366773  )@b  J_#M C-B/-><w  ++0177#7!3 Ȝ ɩw7J8Ko$2EX / >Y+"+ 01'7"&54>32#3267"36&eNPAQ"8G%A= )1"S/ s:VJC1L4C2* &B"#)o$2EX / >Y+"+ 01'7"&54>32#3267"36&m(z6AQ"8G%A= )1"S/ 4oEJC1L4C2* &B"#)o 2EX/>Y++ 01"&5467354&#"'6632'267#8A? ).!R&@S"8H/ oC3) $BJB2L4H!#(-$//+01%"&54673366773'2654'#"),A_ J_ !-  !(#7( **%,!@5wM +017&&54>32&&#" "%..>#8I6, !&!)w#D,"8)'5'o"UEX/>YEX/ >Y+ 901"&54676&#"'6632#5#72677#-iw5#P-=8&N= % >7o*(:B ?IK'J 9!0<J`/EX/>Y=++.C+1%+ C.97CFиF/01#"&54675&5467&&54>323##"'332'2654&#"2654&##"'!:S154&#"JB]BUF7;)d>bCSH3:8&q*!)!* 'EEO",*KNGV TMO#*MTE]J!/&-".&,,1K+ +ܸ1ܺ19к&190017&&'732654&'.546773&&#"7ORF5*.5/5(iUZ0FP@( (4.6) 8L+n 8S"."(3"QU 3K #&2!+@,;%WEX/ >YEX/>Y$к9/иܸи0137667#77&&54>32&&#"3#!BOp[!YEX/>Y 9/ܸܸܺ 9 ииии0137#737#7333667733#3# m)*\ A9B3!J# M!B9Ad,oEX/ >YEX/>Y9/"ܸ#ܸи"и иܸ и'01"&'#77667#77>32&&#"3#3#32675\uI >: ?@Sa6@RU.%3Q4,)D>b wp@ @9X=7'GG9E F;:%WZS""G++ܸиии!и"017&&54>773&&'667772< J[)Ib9K(=L:*1 Q.L \g kV@iL/`a*MU&gg*BEX/ >Y+#$+$ и#и01"&'77>77#7737>32&&#"3#B!9,  6ZJ*6@&'95 "( yD&6I`\  4)ZF4F*R )&I`-I4HX9EX$/$ >YEX/>Y$$"ܺ "9 "9ܸ"(к0"91"9901""&7&&'#7&&54>77373&&'667 w 3#  "0(4:/TrC .!/&)R 3A-b>W -s9KXqck|qSXj?dbhx*C a!X*,c=.uEX/ >YEX/>Y +-иܸ ܸ и !и&и'0137667#773&&'#7754>32&&#"3#3#!3Gq S^ K!YEX/>Y +9ܸк9  ܸ#иииии+и'ии *и&иии!013'7#7#7737#773733733#3##'#7##'#((0J H K H/~"S/b/K L J K0 S0DQ6H^141747%4444-e|!aEX/ >YEX/>Yܸ ܸии и  и ܹ013#?323###3&&#3267#-OGG!.K6=86IW.1,n4/V'4FK'?-P,@*&O*%+(p{#EX / >YEX/>Y 9 9 / иик 9 "иик 9и иик 9013737##773373333###'37#Q'0 B ;*&Go)EwW7 Y$++,ܸܹܸиии/017"&54>3277#73733#'#72677&&#"7!AI%YEX/>Y "ܸ,ܸ-и'ܸи-и,иии,и-и'и'#ܹ013#?#?323#3###3&#327#7665#%FE F F EQl G 96 @7CN)0-nEZ(M' `011:E7  6!2 &)),6  0;?'cEX / >YEX/>Y! +  ܸ  и &и'017&&54>773&&#"677#73WX,PqF[';V,&*F33-- V;&Q+rilTh@ei . G /Oj;EJ ih/7;qEX/ >YEX/>Y + ܸܸ'и(и -и.и501".547#773667#7736654&#"'66323#3!3267 'H8! 4J $ L$!67&X:(D1;k) .& B&/,m '<*%D D!U ((8#,$J J ^ #MU$UEX/ >YEX / >Yиии #0177&&54>773&&'667"T 6'Ob/SqAL2?U"V6>Tm7C 7K\je }kZi>[\3"FQ!WN dGL|qEX/ >YEX/>Y9/ܹии 901773267#773&&##7!#3##'GJCV I>9T #M EaEh')< !lF 6"EAS!{!}EX / >YEX/>Y 9ииииии иии ии01'77'773776676&'7B5Hm Kr# #Zfo 72G7Y>H7ZF; !>bC!C`|EX / >YEX/>Y 9иииииииии   ии0177'77'77#7#77m p"p s'07C>27Ekk|27E>47FQ`{ =EX / >YEX/>Y  ܹ013#77!#7!W\WEKL1JJ\{%iEX / >YEX/>Y 9/ܹииии $0137#?#7732##3#32>54&##Rj l lk;,K7'Ih@8 D22&2/3D3D($7&3R: 2JT"1&!S{]EX/ >YEX/>Y 9 / ܹи и  0137#77!!3#3#?MNZeOssVUeZi +017'77'78'&8D,,DZi;Zi;Z'D&;^.9ITvEX/ >YEX/>YEX:/:>Y'5++/'Bи/Jи5P01"&54>32'2654&#"'%"&54>32'2654&#""&54>32'2654&#"/7+906*9)*-/7+9/7*9)*2/7+906*9)*:0#9(60#:*YEX/>Y++.+(017#76673'%7#76673"&54>32'32654&#"P %-N/Q %-N./7+906*99")*<*Xa< :/#9)60#:*m1/01Z'D&;I`4 +и 0175#53533#d```Iz +015!I``Wr! ) + 9 и и017'7'77'EEEErFFFFILG %+ܸܸܸ 01"&54632"&54632%5!, -- -- -- --* )) ** )) *``ngI&TsTI5`'T&TTu!w;+и/и/901%%5%!`~c!w;+и/9и/0175%5%5c!~~`I+ REX/>Y+ 9 и й 0135!5%5%I:Ʊbbrq2#$2I+ NEX/>Y  + 9й й 0135!%5775''5I:bbq2$#2qrI4 DEX/>Y+ ܸܸи 0175#53533#5!dƚaabbY &EX/ >Yܸк9013#''#Ypr1..1vI+iC+ܹиܸии ܸ 0177#537#5!733#3![I[KHYI[KH+{bb{{bb{7!' ++и 01%".#"'66323267.'#'S R..'#&S R'*%N@&+&M@7|!&asaI`z+01%5!5!``I`z +017!!I``L` B/+ 01754>32#54&#"L"32'2>54&#"=3A.>#8>/?    @4%=,A3%=,@""""p +013V4Pp?pL&iivp +01''3{P3Vp=3'c/EX/>YEX!/!>Y к! 9 !й$!9013326733227#"&'##"&' = &"=">  #/+L*& 80)+59~lJ d01+2 ?b9!2!-eEX/ >YEX/>Y9/ 9" %(01"&54>326654&#"'6632'267&&#"Se&C\6-J1)*/'U))F35]~40R3!9G& X]7[@$%.?9W6W?\|ImRB&J:)*b&++01"&'732654.54>32&&#" ( 'F9  &  'Gd?I9rsv=4YB%dBH9qsv=4YB%p +01#4>32&&#"n{'F9  &p4YB%dBHbn +01"&'732653  ({(Gd?In4YB%&V4 +01'73673Je  \RBE(*&z AEX/ >YEX/>Yик 901#73%!''#);Xu aQYEX/>Yиии "*01#737&&54>323#7>54&#"%j%3[|I3Q7*4h2'02)C0md@Jc9#@Y5;_M;mb8I]YEX/>Y 9 к 901#33736677#DI('t0`1WV0_2 IEX / >YEX/>Y 9/ 01#7!7#737!7!,!ssst5FW'g&gA'ggA4#{ JEX/ >Y  + и 9 и0155!!!4ذGxP)(Rss5{,}/EX/ >Yи01!#!x {[#'7CMEX / >YEX(/(>Y0>++ (801".54>32&&#"3267'77'7"&54>32'2654&#"|/&0@##45  #68'&86H1A%6H1A--9 4$(H61 !*$ ;D,,DEA+J6F@,J6JD9!E9!?3$-YEX/>YEX/>Y&9&и& и+01".5'6677>3232676654#"'5' "3. -;G&;B>fL "..'^B=' %8% T>Z;F=)UY^29.T+9i0,6> 2CEX / >YEX/>Y!+ *01".54>32!"32673!2554'&&#",9cK++Kc99cK+bG)5^#&)q F&)G 5[zFFz[55[zF =332,4XA$$AX44X@%%@X\$@W33W@$$@W33W@$*L.H'(EX / >Y+ 01%".54>32'2>54.#",8^E''E^88^E''E^8&@..@&&@..@L'D]66]D''D]66]D'G1C''C11C''C1Kh , +017!Kh<8V >(EX/ >Y+017!%!!8iFVJT8V > &EX/ >Y+0177!%!!8GA_V=[C7e<?b +01% ,<AfLEX/ >Y01753AfAfL +01753%3AwfCCk)B"EX/ >Yܺ90173CkCk)B@EX/ >Yܺ9999017377'CFkxtrAR8+901%5!*RAR8 +01%5!'#*wR/kBEX/ >Y01%%5%3k)/kB6EX/ >Yܺ99901%%5%3'5Jk)xrktB"EX/ >Yܺ90173bkkJBEX/ >Y01%%5%3Fbk)/P)D+"/017!'2>54.#"7".54>32/6\B%%B\66\B%%B\6$=++=$$=++=P %BZ55ZB%%BZ55ZB%H.@&&@..@&&@.6X"F';0EX / >Y+2(+ 01%".54>32'2>54.#"7".54>32,4ZB&&BZ44ZB&&BZ4$@//@$$@//@$+!!++!!+X$@[87[A$$A[78[@$D.B)(B//B()B.7!.-!!-.!t &EX/>Y+017!%!!HH? n>I8*!`EX/ >YEX/ >YEX/>Yܹ ܸ и017.'73667!!7!667"'Y"3V3X7^#~H7U&?k'EBA":8r9eUU}n>&EJ(In + 901&&'73>7 H4W)=HVb4T4dZNTI9=?Y5J0}k9)( +#+#01".54>323'6654&''-=#!J #/ /:63H /#  /04*M*-P0H1g%+ ++ 9 901".54>32%#".54>32c'(8 "eR&)7 "e /#Y 901#.54>3236632.\sB)6 3KK37)Bt ^xi60I34DD43I06ixW@H /EX/>Yܺ 9 9+ 9: 9?0135>7##"&54>327.54>326632#"&'#a#8+H&:I'3#(7 7(#3'I:&H+8#7-E33&PC$6# *'"-  -"'* #6$CP&33E-7[%EX/>YEX/>Y01#53.-- iiW%AEX/>YEX/>Yܺ99$0135>7##"&54>73#"&'#a#8+B':LDsWWsDL:'B+8#7-E33'BF-O\wUUw\O-FB'33E-7[v'3?MU]S+ +G@+.R+N(+(4и.:иNVиRZ01%".54>32'2>54.#"'"&546323"&54632"&'73267'254#"3254#",CoP--PoCCoP--PoC3U=!!=U33U=!!=UhBP- :((: -P ,PnBBnP,,PnBBnP,@">W55W>"">W55W>"&&&&&&&&B: "" :B2Gb+7CO7,+ +>8+&и8Dи>J01%".54>322654&#"32654&#"267'#"''"&546323"&54632,?hK))Kh??hK))Kh:FN-XX-N    2)Kf>=gK))Kg=>fK)&&%%&&%%&@<BB<@ 7EX / >YEX/ >Yܸк901%#.54>3236632.GOP@(3F*@TT@*F3(@POG-=31A\E0H07EE70H0D]A13=v+;DVb++$++4H+T,+017".54632#'2672>54&#"7".'66326672'&&#"326732654&#"@gI(qENSJXQ& .56- L4      f(/=KK)+E,+,E9",E9E0и0/E7иE>и>/01%".547&&5467&&54>7'267!'66327&&#"66327&&#",RwL%^?1 ))' 1?^%LwR:OOa" !! " !8-^+!6;  'O ;6!+^-8! `5==5""A77A""A77}v%1?MYW+ +TN+,=+:&+:2и:@и:GиG/=K01%"&'&54676632'2>54&#"7"&54632'66327&&#"66327&&#""&54632,^#BttB#^2T>"ymmy">T2]^gTTg^  " "  " "UT&(bbbb(&TU@?aBqggqBa?*6RNNR6*J!!A77A!!A77  :X!*5/'+!+"ܸи" и01'73546323%37'6654&#"354&#"F((.`XX`.(())/""/3'(('F! !\cc\!! &#..#& !08800(2'# ++.и0012>54.#"5#535.54>323#, 7''7 7((7-K5%C\87]C%5K-9)9!!9((9!!9)nbL*?O-3Y@%%@Y3-O?*Lbns0(EX/>Y '+01".54>3275%#7'2>54.#"7\C%%C\7"=w [j0%D]7!7((7! 6''6%@Y33WA% q\p>S3Y@%W)8"!9((9!"8)c=J*/1/EX-/- >Y+%"+- %7и"901%2>54.#"'#5&&''7&'#5367'7675373#,-!!-.!!.S"dUDS cc QDQ%d!SDR cc Q!..!!..!T nn SDQ%`!RDS nn RDP `"SN 5EX/ >YEX/>Y 013'377''#p::11::11 QQtzcc{{cc%3 5EX/ >YEX/>Y 0133%!5''#%pd*MFFMh0]{rr{pi9r=sC +0176654L35(*Q\rI- $JHAKWD +01&5463R[rm35)*GALWJ- $M +017&&54>32&&#"%..>#8I6, !&!R#D,"8)'5'x{5EX/>YEX/>Y01373'3{KDL66EX/>Y01'3$L6 + 901%"&'773267"4  ()87iQ+8! E 9;B61C8} +013*e}cQB69;u-\ +013udT)c=;<Q<'67p ?^: tJ # #/;GS_kwEX/>Y ++rl+B<+ ии$и$/*0и0/*6и<HиBNиlZиZ/T`иlfиf/lxиx/r~01"&54632'"&546323"&54632%"&54632!"&54632%"&54632!"&54632%"&54632!"&54632%"&54632"&54632'"&54632}\ac\~ RmmR9; +01'7uy9W +01'7^WB6 +01'7N+ܸ 01".733273`%5 b45b/>>&2??2&7X +ܸ 01"&773267xLGS'##1M^JG#''#FK4=+ܸ 01".7332673y*8 k1#k.?$/>!/$? +01"&54>32k"4%&1%?''#(&#:R +01"&54632-1$.2!!!0" #.< + и01"&546323"&54632"+!",", ",<.  ,.  ,3B+и01"&54>323"&54>32! " ! ")     08+ܸ0156676&'71!*1A$ ,68:Z,%&v+ܸ0156676&'7=!+ \B+6: I1(%<8R! + ܸ ии01".773267'"&54>32`-<# M'02A I"6I''<+9!$44$!9+  I +ܸ ии01"&773267'"&54>32xKNI2&*?Hj5''FC%%%%CFx  6+ܸ01"&54>32'2654&#"d2@'4 3?'56/**/**5##|+ܸ01"&54>32'2654&#"+?",&"-)-(  (57p +и01'7'73GxY)GxY7*5*5x+и01'7'77BT)BT)<)<C8+901'737U=i0C4``8Lf+901'7372PCb8z&[\,|&$6 +013&/?$b5 +и01'7'7Nk7_Nk75##y+и01'7'7`gHl_fH,,5 +ܸ 01'>326&#" N 0A*)8 S&&25!9++9! 00*U  + ܸ01'66324&#"%L^LMFT(##1FKJG#'' 2 + 01"&5467632f &DD&#,2)"6L3  %"2 +01'667#"&546324 % #, &D22  &*"6LtB +017#7373ii J(BGB[* +01733#[)J ii BGB0>EX/>Y017#73j>OGH+0156654&'7H.2f0N;83 !'=-| +01&54633:CUO !#1+2@5X6+0173733XCKBGhhGhE+017#73#CBiFFi`> +и 017#73733# CC KCC BGBBGB`A> +0173`GGq,\"|`OQ]^9++0176654^;2 &'1 !;P; 6 *! +01&54>7~d3G*'5#! :*8 ^: $EX/>Y ܸܸܸ0156676&'73^:1+GV.&q;iH "42^: $EX/>Y ܸܸܸ0156676&'73^:1+GV.&q;iH "42tJEX/>Y+01"&54>733267+8#V-*  ;*+-& 07rGEX/>Y+01"&54>73327,9"%V).>)'/'7 A +01730]I$\ +0173#7#IEl܎GG, b0`k` b;Agc@J'+ии ܸ01%".#"'66323267} 1*&Z E3!1)&[DNJMK~# +0176654L~ !" 9DU660,2@J*]EX/>Y0173373JDlF֎GGC ]++0173'37#C$#kl6J ?+ +и/ ии/01'632366326&#"#76&#"RFj"-7#K D  NQ / +01'7'77'*&<':&<&<(:'13323323313=;YT(8.EX/>Y  901"&7733227;" f E:" OJ +017!WWJ*  + ܸ01'6632.#"2ptuX2)aee.-inpJC?==?C& &<q #++ и01"&546323"&54632''7&'&&\1dE<)*)*(}:$ #++ и01"&546323"&54632''7%%$%e9yP****,?<p #++ и01"&546323"&54632''7&'&&tOV7<)*)*~+ #++ и01"&546323"&54632''7%%$%deE****{/;/G .;+ ии ܸܸ)иܸ$ܸ+01"&766323"&76632'".#"'6632327'''(%  ;<$<<;"%#$"%#$88'79<"3 '+ ииܸ01"&546323"&54632'7!&'&&<)*)*AA/ '+ ииܸ01"&546323"&54632'7!%%$% !****BB<*j 5++ ик901"&546323"&54632''737&'&&M6[r(m<)*)*],AA-\8 5++ ик901"&546323"&54632''737%%$%H@Pi5k****d'GG'd6( %+ +к901'73'#7'7(luM6W0eE68X_1D0w:| %+ +к901'73'#7'75kG?P#s&'dd'H5L@Z6( %+ +к901'73'#''7(luM6WSW<68X_1D~, %+ +к901'73'#''75kG?P\:V'dd'HQ7\621+ +к9 ܸ01'73'#756676&'7(muM6X&R:#-68X_1D 2 >*#! 1+ +к9 ܸ01'73'#'6676&'75kG?P&)6 K'dd'H/ < ,'6%FA++к9 ии ܸ01'73'#7".#"'6632327(iuQ6[H B7& A768PW1 #;++ܸ иииܸ 01"&7732677".#"'6632327yKBH!)), DV   E 9*  D 8=3  3='96' 954B 01'73'#7".573267 .`uB9K!, 8&&$ 4E4!ZZ!>]$)9Qq+ܸ017!''7k1eDQWW{(}:3+ܸ017!''7 l8yPXXl,?q +01'5!E犊 +01'!Epq +013pxp +01!px!7q -+иии 01%53!53!53犊!7 ++иии 01%3!3!3qA  +++01333犊7 p p A  +++01!!!7 p p Eq =+иии и и 01%53!53!53!53pppp犊E ;+иии и и 01%3!3!3!3ppppq_ +  ++ ++0153535353犊~_ +  ++ ++015!5!5!5!~pq +01%!#!Ԋp +01%!#!ԊEpq +01%#!!p +01%#!!Epqq +01#!5!qpwpq +01#!!qp3pq +01!#5!pwp +01!#!p3 +01%!3!J, +01%!3!J,E +017!3 +017!3Eq +01%!5!3qJ,wq +01%!!3qJ,3 +01'53!Ew +01'3!E3p +01%!#3!Ԋ,xp +01%!#3!Ԋ,xp  +01%!##!3ԊDwp  + 01%#!33!D,wp +01%#!!3xp  +01%!##!3ԊD3Ep  + 01%#!33!D,E3p +01%#!!3xpq +01#!5!3q,pwwpq +01#!!3q,p33p +01#!53!#qDpwwp +01!#5!33,Dpwwp +01!#53!pwwp +01#!3!#qDp33p +01!#!33,Dp33p +01!#3!p33pq+01%!#!5!Ԋwp ++01#!!!!q,p3Dp + +01%!#!5!5!Ԋ,wDp+01%!#!!Ԋ3pq+01%#!#5!wp  ++01%#!#!33Dp ++01%#!#535!wDp+01%#!#!3+01%!5!3!,,w  ++01%!!!3!J,,D3 ++01%!5!5!3!J,,Dw+01%!!3!,,3+01%!53!3w + +01'3!3#E3D ++0175#53!3Dw+01%!3!33p  +и 01%!#!5!3!Ԋ,,wwp + +01%!#!!3!Ԋ,,33p  ++01%!#!5!3!Ԋ,,wwp  +и 01%!#!!3!Ԋ,,33p  +и 01%!#!53!3Ԋwwp  +и 01%#!#5!3!,,wwp  +и 01%#!#53!3wwp +  +01%##!3!3#D33p  + +01%!##5#53!3ԊD3Dwp +  +01!#!333#,Dp33Dp  ++ 01%#!#53533!D,wD3p  +и 01%!#!3!3Ԋ33p  +и 01%#!#!3!,,33p + +01%#!#3!333p  ++01%#!#53!3wwp  +и 01%#!#3!333K q+и01%53!53w>犊K +и01%3!3w>jq +0133犊,,j++01!!,,^++015!5!Eq퉉^p+и013!3qdpxxp + +01%!#!!!Ԋ,^^pq +01##!#q?pw^p + +01!#!##!J?,qdwpq  ++01#!5!5!5!q,ppq +01###5!q?pwwp + +01#!5!##5!J?퉣,pv^ ++0173!!!,,^^ +0173333^w^^  ++01333!qqw^q ++01%!5!5!5!3qJ,,^ +01%!53333ww^  ++01!533!5!3ԣqvp  ++01%!#3!!!Ԋ,,^x^p +013##33^pxwx^p  ++01333##!^,pxwwpq + +01#!5!5!5!3q,,pp +013!##533q퉣pxwwp  ++013!533##5!qԣ,pxp + +015!!#!5!EԊqpq  + и 01###5!#qpwwp '+ + и 015!##!##5!E⣉,J,qw^  ++01!5!3!5!,,qd  + и 01%!533333ww^ '  ++и0133!!5335!qJԣqwvp7+ +ии и01%!#!5!5!5!3!!!Ԋ,,,,^p- +и и и01###533333#qpwwwwp 7 ++ии и0133!!533##!##5!qJԣ,J,qwvwpq +014>33#":dMEE0T?$pLd:$?T0ppqq +01!#4.##532q$?T0EELd:p0T?$:dq +01##532>5q:dLEE0T?$pMd:$?T0  +01333#".$?T0EEMd:Xp0T?$:dX +013# LLX +01#5L LX +и 01#5533 LLLAAAAqq +01'5!E犊q +0173q +0175!犊pqq +013pq +01'!E +017! +017!pq +01!p +01%!5!5!5!J,DDp +01!333DDpw +01%!!!!J,DDp +01%###!DDw,X //01!X,DpX //015!XppX //01!Xp^pX} //01!Xp pX, //01!XpDpX //01!XpkpX //01!XppX9 //01!Xp7pX //01!Xpxp  //01! pxp //01!pxpw //01!wpxp, //01!,pxp //013pxp //013pxpK //013Kpx,pX //01!,,px*X #/;GS_kw+7CO[gs//иии014632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&8      8      8      8      8      8      8      U      ZU      ZU      ZU      ZU      ZU      ZU      *L* #/;GS_kw+7CO[gs//иии014632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&>>>>>>>MUMUMUMUMUMUM*:E #/;GS_kw+7CO[gs//иии014632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//B9X //015!X9 pX //013 Kpxp,, //01!,pD,pX, //01!,,pD,, //01!,,DpX///01!!,,pxDDpX////01!!,,,DDDpX///01!!!XX,DxpX///01!!!XXp,,X //01!,,,DpX////01!)!,,,DDpX///01!!!X,,p*!:p #/;GS_kw+7CO[gs]EXf/f >YEXV/V >Y ++++rl++~x+++++ии $и*и0и6и<иBиHиNиTиZиf`ܸииииии ииии ии и&и,и2и8и>иDиJи`Pиl\иrbиxhи~nиtиzиииииииииииииииииии и01"&54632"&54632"&54632"&54632"&54632#"&54632#"&54632#"&54632"&54632"&54632"&54632"&54632#"&54632#"&546323"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&546323"&546323"&546323"&54632"&54632"&54632"&54632"&546323"&546323"&54632#"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632,    ;    ;  ;  ;  ;        [  ;  ;                     *  *  *  *        l  *  *                 G     &     &         2   2   2   2         2   2   2   2   2   2   2   &     &         2   2   2   2         2   2   2   2   2   2   2   /'Ik#.8CMU]it~#/;GQ]is{+++4/+$*++<B++ +|+9и9/*и*/$ܸи/ܸи/ܸи/и/?и?/IиI/DܸNи RиVиV/ZиZ/^и$dиd/$jи9oиo//uи4zии/и/и/Dи<и/ܸи/и/ܸи/ܸи/и<и/ииии/и и /иии/и/0и<6и6/$HиH/NиN/Rи<XиX/<^иBdи$jиj/nиn/tиt/xܸ|иииии/xи|ииии/ии|иии01"5432"5432'"54327"&546327"&546327"&54327"&54632"&5432'"5432'"5432'"&54632'"&5432'"&5432'"&54322#"&5462#"&542#"&5462#"&5462#"&5462#"&5462#"&542#"&546%2#"&5462#"&5462#"542#"&542#"&542#"&54'2#"&54672#"&5462#"&5462#"54'2#"&5462#"&5462#"&546'2#"5472#"&546'"5432"&546322#"&5467"&546322#"54'2#"&5467"5432"&546322#"&5467"&54632,   "  *  /  9  %5  3  <  A  B    * 3  < L  E      $  &  *  , < <  Y  1< G C;2   +       @;2   +           >   ;   4 +       ;   4 +     y   Q   0    K   0       '         &   '         9)g9)g*nWW[W[v2Gbvf}v:Xx-vEX/>YEX / >YEX/>Y ииииܸ&013#?>32&&#"3#33"&54>32O@A/A+7,"`bMcc:"4%&1%e 'C2 a +%k{?''#(&#c/xEX/>YEX / >YEX/>Yи/ ии "и"/)013#?>32&&#"3#"&546733227O@A/A+7,"`bM%6/op  $e 'C2 a +%k{ 4-+ eCv$)+ 9 9901#4>55#7#3ˈ/FQF/pq,9:9,SeA-8RF?X=+%%3F3PDZ=///+ 9 ик9013333'53##Dy鈏#y"bۉ"cՎ:XX +01X(l'oEX/>Y01'7>MM1K  K] +01 ]]'gEX/>Y011MUUK/l bb`m#jHD/x ~k 2  b @ K V \  y <KG  +%0;FQ\kv " _ju*5@KVal{U`kw'2=H #2>p|$/:EP[ R] *5@KWGR]hs~)4?JVa%0;FQ\gs~ ) m !2!s!!!!!""""$"/""#a#m#x##########$$$%B%N%Y%d%o%z%&&& &+&&&&&&&&'''''''''''(( ((!(,(7(B(M(Y(e(q(}(()) ))#).)9)D)O)Z)e)t))))))*5*@*L*W*c*r*~*****++++(+3+>+J+V++++,, ,,!,,,,,,,,,,,- -s-~----.8.C..../ //$/0/;/F/Q/\/g/r/~/020>0I0T0`0l0w0001111)141?1J1U11111222z2222222222233 33!3-383C3N3Y3d3o3{334q4556)677y88Q89j9:X:`:;#;< <<=Q==>N>?B?@@@@A AAcAnAB,BBCDCDfDEKEEF[FGGfGH2HlHIIIJNJJKrKL/LfLM(MkMN8NO`OP|PQQXQQRaRS>SISTS_SjSuSSST)T4T@TKTVTaTlTwTTTTTTU]V$V/V:VEVPV[VfVqV|VW;WX XYcYZZKZ[ [p[\'\](]]^(^_^______``u`a alaab]bcccdCde)eQexeeef$f`fgggg}gggghh hhIhahxhhhhhhhhhhiiZimiiiijj"j>jTj~jjjjkk.kQkqkkllqllllmm2m}nnAnLnYoopppqqq.qEqjqqqqqrrrsfstKtueuvv/v7v?vvvvvvvww www&w/w8wAwwwx5xhxxyyyyzz4z^zzz{W{{|#|O|} }+}K}g}}}}}}}}}}}}~~ ~~~%~-~~sd!?lӂ R6Ń#gЄE)ZR_s]‰,h"`ˑqّɒؒ(8HXhx5Egz >n0YՖ=S͘ )>!e՚wQzw!>a{Ɲ$Nߟ 0~3T ߡ1N(V65 ?Fz%Fw (08LT\dlt|ˬ߬(Iҭ!Ip֯ DpްU԰-Oq±-Fcʲ#,5>gI]u~ݴ8+i#ɸ Uθ'Tۺ-~$XMԼ':M`M #:Pg}׿.DYr!9Rk8Xx•² )IiÆã"EhĎĴ(PxŠ0UuƖư1QvǗǷ?_~ȣ4S~ɦ)Nʁʿ=_ˀˢ2DWj}̶̣̐+=Pcv͉ͯ͜ 2DXӨPbuֈ֜֯*Haaa$,45M" FI,39.,N*|uDG.2 P@ )6d+)(6W+ () 6h+)ZZ( TCC*III;;n}_}_~]y %m` P}:"C}!  :"8mA /jjj) l_cgUg{phuu{kspyLn,SH-'%;/MGCQIIWIIIucIIIYI77IILI!&M4?^AJfL<;*K88AACCAA///690N%{u^t#:&& "t[0H|Xh``q"O^^^trI,0 ;@~JC Z!!KK^^^^^^^, ,,99CDX.*XXKXD^2     w8ADBO! ` , *F,  ZZ/9@Z`z~7C\ghnv{~  *,14=BE_aCIMPRX[!+;ISco    " & 0 3 5 : ? D I q y  !!!! !"!&!.!^!!!!""""""""")"+"7"H"a"e###!%%%%%%%%%%&&&<&@&B&`&c&f&k''R'd'..% 0:A[a{7CP^hjox}#,.49BE_aCGMORV[  $2>RXl~    & / 2 5 9 < D G p t } !!!! !"!&!.!P!!!!""""""""")"+"7"H"`"d###%%%%%%%%%%&&&:&@&B&`&c&e&j''R'd'.."nW vnmVed],-oE76@TRO|tgMMtli':6lq%>BpSh}gijZX[n_a3m)&$'{c~h^l|@ABo6789:=MR]^_a~U ()*,IJKMhnopqrV;<@ ST V"U!W#['b-c.d0e/`+p;q<r=s>xB}HLNSPTUVYZ\[a`eigms~t*w? OuOt?vo:f> N   QX$Y%Z&n9u@zDyC{F|GWX]^_bcdjklEA BCDEFGHIJKLf1g2h3i4j5k6l7m8QRwxyz{|}rsvxtuw? :,0(856AKPQCDEFGHIJLMNO|}~muwTWqgf`Yop  !!l""q##$$%%%>&&B''p()**++S,,h--}..g//09C:;i<<Z==X>>[??n@@AZ[[\\]]^^___``az{{||}}~~a3m)&$'{c~h^l|@o6=MR]a~U (,IMhnV;<@ ST     V  "  U  !W#['b-c.d0e/`+p;q<  r!!=""s##>$$x%%B&&}''H(())L**++N,,--S..//P0011T22334455U6677V88Y99::Z;;<<\==>>[??@@aAABB`CCDDeEEFFiGGHHgIImJJKKLLMMsNNOO~PPQQtRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~\*w? OuOt?vo:f> N77CCPPPQQRXY\^ghhjjknovx{}~          #&''(()*,,.144 9= BBEE__aa@CCGGHIMMOO PP RR VVWX[[Q  X  $Y%Z&n9  u!!@$$z%%D&&y''C(({))F**|++G2233W4455X6677]8899^::;;_>>??b@@AAcBBCCdDDEEjFFGGkHHIIlRRSSXXYYZZ[[\\]]^^__``aabbccllmmnnoo~~EA BCDEFGHIJKLf1g2h3i4j5k6l7m8QRwxyz{|}  4              r  v  x  t  w ! " " & &k / / 0 0? 2 3i 5 5k 9 :y < < = = > ? D D; G G H H I I p p q q t y } ~      + : , - / 0 ( 7 1 3 8 5 9!!y!!z!!A!!! ! !"!"!&!&s!.!.{!P!PK!Q!RP!S!ZC![!^L!!R!!|!!!!!!!!""t""m""u""r""x""w""T""<""W""q""g""f")")e"+"+n"7"7v"H"Hb"`"``"a"aY"d"e\####d### #!o%%7%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&:&;&<&<&@&@&B&B&`&`&c&c&e&e&f&f&j&k'''R'R'd'd''...".%n&&&:&;&`&c&e&f&j&k''d,K PXYD _^-, EiD`-,*!-, F%FRX#Y Id F had%F hadRX#eY/ SXi TX!@Yi TX!@eYY:-, F%FRX#Y F jad%F jadRX#Y/-,K &PXQXD@DY!! EPXD!YY-, EiD` E}iD`-,*-,K &SX@Y &SX#!#Y &SX#!#Y &SX#!#Y &SX#!@#Y &SX%EPX#!#!%E#!#!Y!YD- ,KSXED!!Y-+++% +.& ++ E}iDK`RXYs 3  > ~   V    J 6R v ( & 4 4 2N   H     $  8 ,X 0 . 2  8        . 2Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name Source .Source Code ProBold Italic1.050;ADBO;SourceCodePro-BoldIt;ADOBESource Code Pro Bold ItalicVersion 1.050;PS 1.000;hotconv 16.6.51;makeotf.lib2.5.65220SourceCodePro-BoldItSource is a trademark of Adobe Systems Incorporated in the United States and/or other countries.Adobe Systems IncorporatedPaul D. Hunt, Teo Tuominenhttp://www.adobe.com/typeThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an AS IS  BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.http://www.adobe.com/type/legal.htmlsimple asimple gSami JCyrillic breve []slashed zero [0]typographic hyphen [-]typographic asterisk [*]slashed dollar sign [$]alternate numeral one [1]typographic alternates [-,*]2$%&'()*+,-./0123456789:;<=DEFGHIJKLMNOPQRSTUVWXYZ[\]bc     de !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRfSTUVgWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~hjikmlnoqprsutvwxzy{}|      !"#$~%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ " B >@^`_? #      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !AaC      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~AmacronAbreve Aringacuteuni01CDAogonekuni1EA0uni1EA2uni1EA4uni1EA6uni1EA8uni1EAAuni1EACuni1EAEuni1EB0uni1EB2uni1EB4uni1EB6AEacuteuni01E2uni0243uni1E06 Ccircumflex CdotaccentDcaronuni1E0Cuni1E0Euni1E10Dcroatuni018AEcaronEmacronEbreve EdotaccentEogonekuni1EB8uni1EBAuni1EBCuni1EBEuni1EC0uni1EC2uni1EC4uni1EC6uni1E16uni01F4 Gcircumflex Gdotaccentuni0122Gcaronuni1E20 uni00470303uni0193 Hcircumflexuni1E26uni1E24uni1E28uni1E2AHbarItildeImacronuni01CFIogonekuni1EC8uni1ECAIbreve Jcircumflexuni0136uni1E32uni1E34LacuteLcaronuni013Buni1E36uni1E38uni1E3ALdotuni1E3Euni1E40uni1E42Nacuteuni01F8Ncaronuni0145uni1E44uni1E46uni1E48Omacron OhungarumlautObreveuni01D1uni01EAuni1ECCuni1ECEuni1ED0uni1ED2uni1ED4uni1ED6uni1ED8Ohornuni1EDAuni1EDCuni1EDEuni1EE0uni1EE2uni1E52 OslashacuteRacuteRcaronuni1E58uni0156uni1E5Auni1E5Cuni1E5ESacute Scircumflexuni015Euni0218uni1E60uni1E62uni1E9ETcaronuni0162uni021Auni1E6Cuni1E6ETbarUtildeUmacronUbreveUring Uhungarumlautuni01D3Uogonekuni01D5uni01D7uni01D9uni01DBuni1EE4uni1EE6Uhornuni1EE8uni1EEAuni1EECuni1EEEuni1EF0uni1E7EWgraveWacute Wcircumflex WdieresisYgrave Ycircumflexuni1E8Euni1EF4uni1EF6uni1EF8Zacute Zdotaccentuni1E90uni1E92uni1E94uni018FEngIJuni004C00B7004C uni01320301amacronabreve aringacuteuni01CEaogonekuni1EA1uni1EA3uni1EA5uni1EA7uni1EA9uni1EABuni1EADuni1EAFuni1EB1uni1EB3uni1EB5uni1EB7aeacuteuni01E3uni0180uni1E07 ccircumflex cdotaccentdcaronuni1E0Duni1E0Funi1E11ecaronemacronebreveeogonek edotaccentuni1EB9uni1EBBuni1EBDuni1EBFuni1EC1uni1EC3uni1EC5uni1EC7uni1E17uni01F5 gcircumflex gdotaccentuni0123gcaronuni1E21 uni00670303 hcircumflexuni1E27uni1E25uni1E96uni1E29uni1E2Bhbaritildeimacronuni01D0iogonekuni1EC9uni1ECBibreve jcircumflexuni0137uni1E33uni1E35 kgreenlandiclacutelcaronuni013Cuni1E37uni1E39uni1E3Bldotuni1E3Funi1E41uni1E43nacuteuni01F9ncaronuni0146uni1E45uni1E47uni1E49 napostropheomacron ohungarumlautuni01D2uni01EBuni1ECDuni1ECFuni1ED1uni1ED3uni1ED5uni1ED7uni1ED9obreveuni1E53ohornuni1EDBuni1EDDuni1EDFuni1EE1uni1EE3 oslashacuteracuteuni0157rcaronuni1E59uni1E5Buni1E5Duni1E5Fsacute scircumflexuni015Funi0219uni1E61uni1E63longstcaronuni0163uni021Buni1E6Duni1E6Funi1E97tbarutildeumacronubreveuring uhungarumlautuni01D4uogonekuni01D6uni01D8uni01DAuni01DCuni1EE5uni1EE7uhornuni1EE9uni1EEBuni1EEDuni1EEFuni1EF1uni1E7Fwgravewacute wcircumflex wdieresisygrave ycircumflexuni1E8Funi1EF5uni1EF7uni1EF9zacute zdotaccentuni1E91uni1E93uni1E95enguni0237ijuni006C00B7006C uni01330301uni0250uni0252uni0253uni0254uni0255uni0256uni0257uni0258uni0251uni0299uni0259uni025Auni025Buni025Cuni025Euni025Funi0260uni0261uni0262uni0263uni0264uni0265uni0266uni0267uni029Cuni0268uni026Auni029Duni029Euni026Buni026Cuni026Duni026Euni029Funi026Funi0270uni0271uni0272uni0273uni0274uni0275uni0276uni0278uni0279uni027Auni027Buni027Duni027Euni0280uni0281uni0282uni0283uni0284uni0287uni0288uni0289uni028Auni028Buni028Cuni028Duni028Euni028Funi0290uni0291uni0292uni02A4uni02A6uni02A7uni0294uni0295uni02A1uni02A2uni01C2uni0298 uni014A.aa.aagrave.aaacute.a acircumflex.aatilde.a adieresis.a amacron.aabreve.aaring.a aringacute.a uni01CE.a uni1EA1.a uni1EA3.a uni1EA5.a uni1EA7.a uni1EA9.a uni1EAB.a uni1EAD.a uni1EAF.a uni1EB1.a uni1EB3.a uni1EB5.a uni1EB7.a aogonek.ag.a uni01F5.a gcircumflex.agbreve.a gdotaccent.a uni0123.agcaron.a uni1E21.a uni00670303.a iogonek.d uni0268.d uni029D.duni2116zero.aone.a zero.onumone.onumtwo.onum three.onum four.onum five.onumsix.onum seven.onum eight.onum nine.onumzero.bone.bzero.capone.captwo.cap three.capfour.capfive.capsix.cap seven.cap eight.capnine.capzero.cone.c quotereverseduni00ADuni2010 figuredashuni2015uni25E6uni25AAuni25ABuni25B4uni25B5uni25B8uni25B9uni25BEuni25BFuni25C2uni25C3 invbullet filledrect underscoredbluni203Euni203Funi2016 exclamdbluni2047uni2049uni2048uni203Duni2E18uni231Cuni231Duni231Euni231Funi27E6uni27E7uni2E22uni2E23uni2E24uni2E25uni2117uni2120at.case asterisk.ahyphen.a uni00AD.a uni2010.adollar.a zero.supsone.supstwo.sups three.sups four.sups five.supssix.sups seven.sups eight.sups nine.supsparenleft.supsparenright.sups period.sups comma.sups zero.subsone.substwo.subs three.subs four.subs five.subssix.subs seven.subs eight.subs nine.subsparenleft.subsparenright.subs period.subs comma.subs zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnomparenleft.dnomparenright.dnom period.dnom comma.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numrparenleft.numrparenright.numr period.numr comma.numr ordfeminine.aa.supsb.supsc.supsd.supse.supsf.supsg.supsh.supsi.supsj.supsk.supsl.supsm.supsn.supso.supsp.supsq.supsr.supss.supst.supsu.supsv.supsw.supsx.supsy.supsz.sups egrave.sups eacute.sups uni0259.supsuni02E0uni02E4a.supag.supa colon.sups hyphen.sups endash.sups emdash.supsEurouni0192 colonmonetarylirauni20A6pesetauni20A9donguni20B1uni20B2uni20B4uni20B5uni20B9uni20BAuni20AEuni20B8uni20BDuni2215 slash.fraconethird twothirdsuni2155uni2156uni2157uni2158uni2159uni215Auni2150 oneeighth threeeighths fiveeighths seveneighthsuni2151uni2152uni2189uni2219 equivalence revlogicalnot intersection orthogonaluni2032uni2033uni2035uni00B5 integraltp integralbtuni2206uni2126uni2200uni2203uni2237uni2105uni2113 estimateduni2190arrowupuni2192 arrowdownuni2196uni2197uni2198uni2199uni21D0uni21D1uni21D2uni21D3 arrowboth arrowupdn arrowupdnbseuni25CFuni25CBuni25A0uni25A1uni2752uni25C6triagupuni25B3uni25B6uni25B7triagdnuni25BDuni25C0uni25C1triagrttriaglf invcircleuni25C9uni2610uni2611uni2713 musicalnotemusicalnotedblheartclubdiamondspade smileface invsmilefaceuni2764uni2615u1F4A9u1F916u1F512femalemalesunhouseuni02B9uni02BBuni02BCuni02BEuni02BFuni02C1uni02D0uni02D1uni02DEuni02C8uni02C9uni02CAuni02CBuni02CCuni25CCuni0300 uni0300.capuni0301 uni0301.capuni0302 uni0302.capuni0303 uni0303.capuni0304 uni0304.capuni0305 uni0305.capuni0306 uni0306.c uni0306.cap uni0306.ccapuni0307 uni0307.capuni0308 uni0308.capuni0309 uni0309.capuni0310 uni0310.capuni030A uni030A.capuni030B uni030B.capuni030C uni030C.cap uni030C.auni030F uni030F.capuni0311 uni0311.capuni0312uni0313uni0318uni0319uni031Auni031Buni031Cuni031Duni031Euni031Funi0320uni0323uni0324uni0325uni0326 uni0326.auni0327 uni0327.capuni0328 uni0328.capuni0329uni032Auni032Cuni032Euni032Funi0330uni0331uni0334uni0339uni033Auni033Buni033Cuni033Duni0342 uni0342.capuni0345uni035Funi0361 uni03080301uni03080301.cap uni03080300uni03080300.cap uni03080303 uni03080304uni03080304.cap uni0308030Cuni0308030C.cap uni03020301uni03020301.cap uni03020300uni03020300.cap uni03020309uni03020309.cap uni03020303uni03020303.cap uni03060301uni03060301.cap uni03060300uni03060300.cap uni03060309uni03060309.cap uni03060303uni03060303.cap uni03020306 uni03040301uni03040301.capuni00A0uni2007 space.frac nbspace.fracuni2500uni2501uni2502uni2503uni2504uni2505uni2506uni2507uni2508uni2509uni250Auni250Buni250Cuni250Duni250Euni250Funi2510uni2511uni2512uni2513uni2514uni2515uni2516uni2517uni2518uni2519uni251Auni251Buni251Cuni251Duni251Euni251Funi2520uni2521uni2522uni2523uni2524uni2525uni2526uni2527uni2528uni2529uni252Auni252Buni252Cuni252Duni252Euni252Funi2530uni2531uni2532uni2533uni2534uni2535uni2536uni2537uni2538uni2539uni253Auni253Buni253Cuni253Duni253Euni253Funi2540uni2541uni2542uni2543uni2544uni2545uni2546uni2547uni2548uni2549uni254Auni254Buni254Cuni254Duni254Euni254Funi2550uni2551uni2552uni2553uni2554uni2555uni2556uni2557uni2558uni2559uni255Auni255Buni255Cuni255Duni255Euni255Funi2560uni2561uni2562uni2563uni2564uni2565uni2566uni2567uni2568uni2569uni256Auni256Buni256Cuni256Duni256Euni256Funi2570uni2571uni2572uni2573uni2574uni2575uni2576uni2577uni2578uni2579uni257Auni257Buni257Cuni257Duni257Euni257Funi2580uni2581uni2582uni2583uni2584uni2585uni2586uni2587uni2588uni2589uni258Auni258Buni258Cuni258Duni258Euni258Funi2590uni2591uni2592uni2593uni2594uni2595uni2596uni2597uni2598uni2599uni259Auni259Buni259Cuni259Duni259Euni259Funi202FuniFEFFuniFE0EuniFE0Fu1F3B5u1F3B6u1F3B5_uniFE0Fu1F3B6_uniFE0Funi2611_uniFE0Funi2713_uniFE0Funi2665_uniFE0Funi2663_uniFE0Funi2666_uniFE0Funi2660_uniFE0Funi263A_uniFE0Funi263B_uniFE0Funi2764_uniFE0Funi2615_uniFE0Fu1F4A9_uniFE0Fu1F916_uniFE0Fu1F512_uniFE0Ff_if_luniE0A0uniE0A1uniE0A2uniE0B0uniE0B1uniE0B2uniE0B3 O577::==@@MM[\^^eevv    ##''))//>>AAPPTT[[``rrvv!!$$3499=?  ""$$&&((**,,..00  ""$$&&((**,,..00 t$DFLTcyrl.grekBlatnV    ccmpzccmpzccmpzccmpzfracfracfracfracmarkmarkmarkmarkmkmkmkmkmkmkmkmksizesizesizesize  d0BPl  X DJ P t *$,!#$%&'/'`  *$#"%+,4 ;<=  1E  *&5@@4MM5[\6ee89:;<=>?@ABC  EF''G//HTTI``JvvKLMNOPQRVop34=? HNTZ  `f   l  rrxxD~ DV nnn          V  &DD,28 >DnJJ PVVV\bhhn tz N   v~cjhwhr_J r\pk|V>adg`!`pOF\U>ecJtW{^Z>OTRbHK gzlNL@ $j |2  !#$'()*-./035MT2flrx~   &,M)YV@ 1hT .J  5MM3[\46789:;=''>TT?``@ABCDEFHI`l44>?^ &b,2vFzL8j>DJPVtLV\@bjvvhntzFjLL "L"(..4:@FLRXX^djpvvv|%'jl3 31836X333^3:<33&3r<33 h <.3583 "  'Zo  ** na T^  $*047:=^ )Tr!$~~JPVVVVbhnt>DJJJPV\bbbhnttzzzzy`Zw^Xt vl3 "$&(*,.0 3sT >> &&>>,28>:(6r~, DFLTcyrlZgreklatn $*06<BHPV\bhntz %+17=CIQW]ciou{ &,28>DJRX^djpv|NSM LSKS  !'-39?EKSY_ekqw} "(.4:@FLNTZ`flrx~ #)/5;AGMOU[agmsycasecasecasecasecasecaseccmpccmpccmpccmpccmpccmpcv01cv01cv01cv01cv01cv01cv02cv02cv02cv02cv02cv02cv06cv06cv06cv06cv06cv06cv11*cv11*cv11*cv11*cv11*cv11*cv12>cv12>cv12>cv12>cv12>cv12>cv14Rcv14Rcv14Rcv14Rcv14Rcv14Rcv15fcv15fcv15fcv15fcv15fcv15fcv16zcv16zcv16zcv16zcv16zcv16zcv17cv17cv17cv17cv17cv17dnomdnomdnomdnomdnomdnomfracfracfracfracfracfracloclloclnumrnumrnumrnumrnumrnumronumonumonumonumonumonumordnordnordnordnordnordnsaltsaltsaltsaltsaltsaltsinfsinfsinfsinfsinfsinfss01ss01ss01ss01ss01ss01ss02ss02ss02ss02ss02ss02ss03ss03ss03ss03ss03ss03ss05ss05ss05ss05ss05ss05ss06 ss06 ss06 ss06 ss06 ss06 ss07ss07ss07ss07ss07ss07subssubssubssubssubssubssups$sups$sups$sups$sups$sups$zero.zero.zero.zero.zero.zero.      <,@Th*ZBn h: !"#$%&3'()*+,-./012 456789:;<"":A  CO[C}~% D*06<BHNT_b*-ps  ** . _*p b-s $: $%P 6` $" &0$ $*(.,. &,,6@JT`jt~@ev  #/ A>P'[v9  "$'*/04 V 6Y[[>]x?zz[|\<3 ,H;=&56@     5()r !"#i}$CLNN gh   CLNN Z*[\]^_`abcdf[\]^_`abcd*CDEFGHIJKLNOPQRSTUVWX DP\$=V(5T=>?6($%P3wOF28 0 FJ`  T6$N Z-[CSŔgPch`l4cVL1 洚q7CtZ^}) ܬTiK޼ݝoTA E5A 1jLb)|HyQVuV.z`;CuZ-&3t0ɶ g2Ep1Ȓ^6XYT͖^)ULUXpRv#31VgT5<ߓl\!5@nE_{ A&Ltq=h~هGWl Eic*a35ԳI"Dl000{hd0X})t'q'#}, C_ϧT8u:0B1 ?*GZ:,Ĥ|pI۰܉Y'פ4}0XPh[\LUP T\ȼg{WoEڦ]MPN dOb? e]< osT{m$FqN剷_&5fn<ȿkl [|& b{l_KWVcjL4}it4XXooojSqR5Ԁ:5sw76 $I%*mwbT*$R }Ry+H%/ Zk'B&d&Bh `qn-53v%-vCdJ*2Ң!m6կ%i!Xn}׿"ѵłX4%%%!&3ODI]|'I亮TNϧ6_|03 30lgfYSE}! Q5:$wItywLRg{_ /~ h0-Cˏ.1P͖ܶR$sp~Ŗ%K-4YzAљpp3B9iuT]EZ/ EgEXɮG:#UQ@f 8ԣW]U]K0Jۆ>R(˜̷,Q2oy VY>8H^{q1dL]ҕV0ӽAFzq:E"u:,tίP<IUthdho{ۍ4#(@"ydqIeTCX!$ "$#WR&Au%)TTHbG;zhmseG>Jd:c,JP<.`k%,-*鮪N|1H\ `r[`&{]~?4;׏ퟜ}EB4Zb-u6σ$ZTD"%RDPQ,t-JB)DN^L;/ogA&,BuP b&ɮn0Tb<9^ 0|(́%Z)?nC\lEy$9+IHMOSv^ItKb.,¡ NW#Ui׫q˥t$rU!@_Y(h' n@{lӄ!ѡB7n@9 #ɲ}-82A:!`$򔧆cTЍ 1'<\ږ%/zO# rej?^Ds鏤L̒ As::TRtM_>[fuJ3h\n}x$@aDM~ (j RZ3N4!mrwM<4:eG"cB m=]TcXǤTfF.s$4nJ}R*XrJ80WUW=}S򻑒SVMZJ) @ . UYtiÒt4~2,\Lo8 J5Y$-v%q+Xl @b!r1&nGNUuQ]ykJ^7J 34WiXIG lAYipUCB/<_Νqf)~L,(4` '{i/őkܝ#H7^)(kސ쐼 dɁ`{ u{e򸿔Uxk7;QyllTWxvهFpkSqj9r(h W\ ԋd\uq.J-k,AAؑHNZn3f:y 0{xY[}2;mj$:jMYV\voRZ\gQf.\>)p~GI0¥f&#ioM>sfn8وE,H2;9CB:WxB1F!BaB?UYW(j.SF#D"$Af!%~4 9#1" p:Eܻ;D$)D$HAAD܃b{7%3mC\ѿVxI&;YYXRLrb2z[w93EAA@g+^^Y9SӜ<ߴ>dISAl}ZsbW2*KUAa Jd4cdTk~&)03X$5|}xe<1xjHPѠkneh.VMa2-B],ZuS2=x#2X(oHGUCqB8ԧ8C!RkF;$ET)u E7y@ˋ }9?fXʯӵ(0΂9.Dz<Jle4CVUB [KJBiZi &<6EkKYB[e2Kej)xFɤ02ؑIH1LYV-[ -2nyn"*,BSNabZ&v/X n3qm=-D`!ZxXach:}ٱ'rA$S&$dR49ZГ+O(gҤ92o# 4nn F6;<6yf_?T<{{Aq@695b!!B* V @@k&wMݟ. ]v9Gr2Xl#{ChF1}c*#8|<8ֆbkKPIhw6LpYs"qHO?wgpׇpbaM7Bn6 EWEDݚkn=kw1@ YzKvipW&eʽ>ô>i|a1y-P`gGhN7zDƽ9<!*qV;ZTveS8>o/606uuU2ɨg%ʉU*kNZ,c~vD?Ž5r~"xUT'|:E?r詌Kg#ϫaƚU$VK<"5|Օ@!,+ /볊ȁ1Lb( G{0hwR35=|=SL7&>l>$jU;Rkڭn!?.qނBHREΦ0gnj:S.-֝$Whz~_шwBfO?44#`i=[WwVIL3@gC A?Ļz]E+@pj0>nq]nnv*;];w׫[>ЧtA99BΈ*nW Euq}/ϻPɀxBA ŠUj  ð2:I'c?$hβS,2Y8JN_Ń$,۽ƹYxO5NY^")Q.xx^0b3Qdb G&I`vvZ2fq'v,b+vAצIN묳v:]ny'9MwC:[n˝쩴Gb9qb /C0A͸ɞ~&.]Y&98/PW :v{:ƀh6h׹B}\NӘ8Ncz& 9\.||#(Ɋi٠0b'HfXDIVTM7Lv8kμ 0 #(4$2J3,6 "DN^AUM]K[Gl?hxAdEtôl@ A1$E3,Njn1,6 "$S$2G7Mfr{A`&*FMffwl~X&浢fKz-E%&j; raJwˑ-ϟ \ QOr, gF'^Um6 uÌ@,H½qp:-JQ(pAu :ޤy%SY"܄b(O*:U勛 "0s+ڑǭ4y*Kd+T$uJ֙%AC\L'>z:Mb&f"?U"9S@@H(B!/X!8_䷙rZ5Zi[PDUHjTCkLFhFMWŮ˒z]yk3Hs\PKt].!&^(DIH \t2eɖ#W$|h0 )&(fAR]õ' $ʠ0`4ÀOX6WFF ``اiٱX)-N&ӎ ,.Sg1juC٧" HJB'O+1,.\*E@J}9澶EAAA bB Rz15`"fES+zuPy% ա1k sܹuAdEtôlPA1$E3, $+eP5gނEKV@H DBLBX"'y^6AR4r JjaZz EIVTM7L˓?o;%JL%E+>h/6<# K* |1ICBçGC^nMVcW@LK@Y7|Lľ' = x @5FVa5qsbNyA$|h0 )*DSHRt6)GEo p-8MM22@J>f#&|;*?;$QTZiHXh,hXb͆-;%H$YT2d!K+Ӯkȉ3*T>jk&Z:x "5^7ᙅmK>(#(Xx$4Za]a^bDO+J5f./ =->>Kc|(!B!\!DH*ǹ/J oS˄}fѯcUBGSVvj߭G`2G!YX$2J3,6 "D*#RۧrZqzӍ$)+&rcbQ^ 6ނ`/mqfg?.@kȩ9hC4d 3Ϯ䄻?UqkP~2bwoBQ'1x2lB{k3> lmZԈGW ()͛"A1GͰ/.'HfXqGiäzQGk?:괘^ pm*RN). \_RWI}=rnKΪNj{Oe~8[."xHUQVs˩$}$Inv&.WNhҜ.;О3,E_}I (ɊiَB0b'HfXDIVTM7L+ "lB %ZBEa{GCg͚ͼ[ -B~9\5W?"ˆ)bDHjuSa̖Nϸiꨏmҡ5Ig;M85i8gF5(!FP 'HfX{>WAdEnOD&YSLiq٬-l  $ "LY64bd#SL[~W_a+]j"^EE$Ig`醉"!m#ԋFL wLL}NkpP\LoSBڡ(̤.*eF,/Vҷ_@R* WP+}DU57o T0`jf%BQu `pAR4r J0!%cJNAIE[U3 H/)m&Yh-n3xy{R~Sk^nf#'Up M:N :b)"fhZSPaUq̈A%xEG GU Wpn 5fq;Kc齡EMV@ Up/Z7¼{>y3cS叔Rc0͡sKvFn { ^wmڶ@ap`qxDɊEceic,BiGH5S_c_&Lo"2EA#HfXDItC9숣d;c*>Ga\=Dl="奶nj.mjBIaa9^Њj{8AR4r|KAV:;ʼn@lOh\KY-/Ɍ4ZF 42hHTSW)U,^3vAO$O&A2rD=6tb+$,LH5N$d$A@S@TW50OUIfrZBX"^ Y>hxAdEtôl@!A1$E3, $+=pQ'4Z}W?5nd EQx#(IVTM7l@ A1$E3, $+L A1 )a9^%YQ50-A1$E3, $+e;3Pp%R\T5k$H'u) QU Ӳ`NͰ/MUNͰ/|TfD8AR4r JjaZEn#($E3,(*M&@Aeiv@H Dd1ٙsUNɡ]sP '>u v , (DP$2;t`z##∣ U*Ǒ I~ǘM D$d( L1b )a9^%Y \NͰ\;ʹzW 0>tDfJ}A@w&۝"@YA讄7ۡD|Snl=q9!AC%&!%#7Fe2/R$G ,O &H,er:zD3JifyKY-']F$Te_87qpVQt__b:Y #/H2;d J>Cgk $2hȰ$dƨLf_vcMfĤ,^Wk|2dy407,Ƞt}I (ɊiَB0b'HfXDIVTM7L+VN} -gw.G r B""0$d #(QU Ӳ`NͰ/nVMiDaҍ{R^+n;2eǞ[}3oB/w}o[lz$;J)j+VzÿeeVĄ5vaƊx>,tA[,N-$1;-BDYK;ҙ4@!SK/eu:bFC e\ȵ8jiَ¯Oꅷ/`phxAdEtôlA1$E3, $+VҨV8$ "L &hCI .K/8{rȐ%H1Ͱ/TVʤ,#W7wO8AR4r JjaZ?+RKWRڏg#:¦a爃@]"atP#Ɋiٸ )a LPNo0̖y1ϚP7VݔZջA&:CK.*xb?܁qDp8 @i|4dƋ =Kt@Sx_FeJc&]Z6t.+2T%,eYryy[\~a8י2GC@Z9*@9zDr[Z*!„2.iَ7O/o_I (Ɋiـ1b'HfXDIVTM}eH -f@6Ywp:TYk 8ρy`s(4>??>gfLAkZdF9JӇ@^G YqGB/aBDǶ>s@FWW;A .5vÑ"!+<!A1GͰ/n$FP I (Ɋi\i#NoI yD?GU ӲAaNͰ/nx/Wk(xT5Z`ܾWU5 $ "L &H&7< jZ:`] IP _}I(a9^8$YQ5eC/XcDI() NjU Z7'gFP 'HfXDIVTM7Lˆ#(phxAdE>^}Afbs+B, Jiafwv@#VH DBLB'n2=+(*)?M-mЙi)B0l;<. 'H hw"L Fp WPTRVQU@FPZ&j;bٞN^fs"ZD4ahxsj-\6qA|! }HȨ&0ssjRED{>O!!qB]Vf S,I_Mdpp> y˥;_z3פ_P90=\9 Vif 9)TEA9'8Eg;/ <^,YE5ʹfu;p2Jʕ Tf_"ΚtV3;:~B̎'rìT*c)TUܫDW2׳];W`dc/H5;A_?B 6/}I (ɊiَB0b'HfXDIVTM7L+{!uhջ2'?^c סkVReN;beT "!CQ`h10icO@CFfi+Y\R0-FCq)4H/c2 t@6KޔA4 2زF*sPud(XjL:.֝ 0L*GxUfW5g"b!Au,漛3^8qrF&| d  ÁcVnj\$D=QU?<[f/gMyɈ>=̍M]V"M&8-n(b`Xwu T)긦؂í!a0-PPM,F[Wj8UFDyda Q"N 7'V qX@ˉ2p"p)NeN Szp57;zlĦdI9ߦq 1g]/X ?ZFR^U.`yM.&RjTi1 1fwW\2aFȠF+B Y7 p|b7Wlf(\EEU[1rj99>mЃ,"HHd #1q$D},n|"1MN2_T#FK1a`+{edn1Lo%OuSy{& :9Wqv[ [/?Kζ;vb1R@eFm~t en9ƝF޸L$bii 6c" IR px<P!'= <[ؖarU]8(Qd'ģG˳̢A졲g+ȎB_ejJ:Eku`4\ǪO) | Taѫ)rQ SG79oP Tp@݃rBHjuqdF#ppL<*KZւm͏uG !}B "RLby42wT]7S&p]NlLɺt#zѻ;JɰQiD$XF]/>JtYbvmM L#C]G$R2F,Eƒuz]!]`9$m<82SӘE[l{kkN.'Dx'O ctFoBx^O0Ltpn`ĉ#0xBG$$q3E4Sb>3Ɇ/5>D ACd ԁ9&WKgmsYO9+;42\TM̗ !Td ~y~l`Kd)n]89̓b/?pl3RfKeS^?4)Q9cCpQf*'rgT1*ͤ ET t $bUvԖ[㎤^}̡P/¨OF'>]㿬< ‘`%o;0A#|kayXmYZ6#-s8|~^`mH"\" y]. I}ӛȪ%}]Ӷb![+BV>#B×ko h N!XALI#.]'|EXB$PTbW;VjD!> =PBMBGcŶIiyO%Oχ5!x^:"+L>3ǾPTrp1 DcIm_'C(Aۉ9]+Q Ξ1 OXǂ%d,jט}k>]X ;ttk8kJ I{ A[i,=ppQ+b#Ƅoi!H aAe=0`*La9;ÆA0yHû!ڱ+QB sH{FwI&`L-`lc{CJMv;6abwߺβMOm'=[;gf0耘k C57GTwm&4CaO9K_D N' n[ t4fl"DmstOus \P "zWg$X*D W߻;3f$7uz6ga68w~fSU NS|3N`>Se\ cWq . @YY6H0gLtܙhQOwaCr̓h1T<45sۗ8zn3 |qVcy7VKm}Mg=oɀ9$kiK8$?ΐUg--#GG4Dfn ,!BУ&tJV*"R3n# S뼰|J8mi*\U8$1bbCkIEvg@ct DaĹknAvX[XKgުC] "Ba?Eyc~9_r~?WbωWiFngatW7n퐋zō6k_JZƙp7)ww6NE5Fo#vnJm4\c-vrg 6*Z -6͌Yv{k c~?q ξ^8 XAuJFNvw\宻ܐGx3OԺـ4;XK Zr,{ZvOwϖShKjdEƦBCjbSCnF3جfڼ"TTQi)ZފتTR:JiSmo{XeULf3^ٹ<<Y6WwMЬ߼tA-mɴ&Bf tU)Jk: Hlq7и\Ȧ`pߨo1LC:Tf5`p;ߖ!9{&@UZ,y7Cۦ/_%7UO눬}|\N}>)?go*[#^?GG; s 3~y0>ng">b,k^YSWf,TΤ<\O nva,5xǗju&HHΪtU-Ffy>CH@bj$tAҋB_⪈(wEq@vǕOB5K4I$RdSQTRP(M-D"n ZB-#]yvsR F#R37}$8ު&ZĒ+zA",mqټE2 Wck0/>Bq>җ>Q\ES(QɔtTGR*:]Q+StǽRgf!RǙe֜WSLcB؎O˻vńQ[Bs6xnՍb3qDhHQsu/v3A-U2A0P\.-Unյ-Fڍ>hNQcg<~l%ڽxڨB~2!Vc`Wg?'a״Egh0Z_/ɡp )iNi ZK'}>6 Zl_ T pc4t@} >Uyߚ]-0ܤ'M'~Bb?4QPwؓ 3Z#a[CrV" #ba"m\xhObK*$ H9&}fkW >FF~G/i3!WT Ƣm*(Q':%idC7~jN"M3^D[+) Xp*{ մ$Dcjʃ--q Z$6Iuo u6N"R^y 3N$HL| LA^S\>TFQub*i*!r5pC%Uz :wz3MUq̽pIս4Rta  E)JF ɠ's 3 ]tX $/p6,kb/#!ݫHO.t!id<$Z={̲HeG*45ޯbFl!U?dw {ul=0xn>mdbBmIш&JBhCYrFèY6)PNȅ;rzZ 7z$J7]-N,]>6%Ija [xܼB{ݜZ"-GEvP}պ6/cqa/AUDg/0*)g̱'蔔K}((jw<+`Gmܻ9 Ƌ6L 2AbmXUr %ъw8taZ8;NwSRRk[H*؉JI kLNS.o'$[5ka  Lz'śAhA,}d9PuzQA+vR5Q̢4d'Gca"==<{Oujaf.\"i>ЎP\23mSY f|V4ӆ݄z]a2I{Nˀ-M!&taӮ1EUnL^B_!{2_kVv[{ xqb~fBk|\Dl_`J&2:foԑU~,9G0VC?dxOf聜URw\&S~vM 13YAwW3lY_)׋Qb*sb f^[͒fsFZ{ڪG|=e#xc9.xUbO Wj{Q׫Yeg[RhBcei _GbhMbU6{LWDx6=|fqƌ0|(4ĕP +viy:|!8m]ĉ 2:1h^eY]Eoy旌v< "M\MsTm-}ak.!8ʐ)颗ibah"ر 7K3tO#-ƹM/$[8`Z@Yss&c48z¹b\KsZ+4aq 7&; f/f]k捥&u6Cq 0?oa7sbH.R&;e6]84s1J4{y~!xA1I!gmbȰѽU\EoŖZ~Bg0Yl&LXf#&X҄ ;đ@  ),%(eɖ#W|  Vn ;e%nٞpΑi6 # }fQ]p 9H jEWLxT)Iҝ Xޗ{h?v-GmEe,CɐXÀd-WpT*6g+\T,Rxq\&mT`rgC:;/UͬUtMY#>֔j͵j#!4WVU*l!my~d>&(`luh)yb0O#@!JlpmKjɧG%da} #XW[]M}Yݬ76;.=\r{ڤ<()89mT]ϟLw*O]S D* v T-uV?KT?K7_Vz| eil^^ERmTSZ#9ʴS[j>l:o5\{}?TD }x6*u~+TOՏ*ROKbQ\M1{#SC$آer N^S~i^ړrHL3w#^YX;V# x~sBq+WWD3_ouCN<,ԵXuˋMYu#|]fD\}Bvp-Z2Wu򩗓q4Sm WRY=esQJx[_c:%2,r- *JjRie568?vz0?F:f"1پ“ve們Q~N~*a Q @־3L GNK `F/\VmM֟;6a ´00mL={| *Tprr[mNV]w5hЬŘ2!tUWhţ=vQ2_ۦvھvnuvK؞Y%L/+V#q-+ks rwWQ<1Na] b3/}y1#$ #iT1z=L."RJsCݻsC9vÜL)H-#MQrϴۏax|H(Ijk:_C֞g< GRL2]nr*,4"?ߩ;'>yh|`ܭ`$usʘMzw>sh$ b^T/`i h"|MƷ͙Jytroq^0T84CɁV<90[N`K_,mnj-L3Гnmm߶?Ϯ~R.ӋEyi\v% h5vg]rfjyBwzԡֶ:(msErN#> 9"7re<)Q.?7)2>+ZaX")Xg]+,?k"Y{|6jxU,daE+ چv}plqe8us$_U!2j#xx.oZ}~t-[DC6ȼ=)1ܼJS,b({(lE73I3D_C)HIvn`ׁLy+|R+ٙ51寗A"krU"5ͺXw+=Szn 9# ahxAdEtôl D0b'HfXDIVTM7li9,u4 CG,2ڹ'BƟsro٭z#Al/wTKƲ E;>˷^ z"tv'yPkyDs Z}|SVB`y0(4/$֥^̧- ,e$r\wJۋ_a@SNGnP;Ӵª2 O\5+& czX8 pMt {Q9-0v 0۰~u I%;H$-d:68 n<9:Kl(k14M,^0P4تl!I'-Hc!?MtuٗswWpy-Z \E,CZ6\ʼnq2/9YIJnԍ B\q6H_))D6I|JWZܴFr9Ll6kvk/.R/R 8׶弍;ѽ~~&&+]ٚ|\ժWkfk.9-Ētmdb&\YMIplhfI}utw~ DA;of\^)cz6il2zf\O5r S=}PM6=aAjXEM1Wꕦգ'PVm19R!;bGSd .ĎP?׬gnMz|\7;ήU!)=[ķ涳!sR_ l)Ya=ְљd$7QcBZ jEK&^EJUu|zBַ9I$`ff=6)SF잯h2[sZ )I$@q~ bqcFp]̼j}©gw^rWGkO90nd)v9j 1Jq%ow@$uM+.R! Kɰ1bG/K%a#@U+Urt\.0L⭖*^T8`zvڟX=)b,B,[5$/WӪjs>yWZYk=.ü3Z;̕~ L=*B3 +;#3 +;[n}H![s$II03/9suK\#IR$l$I$I$I$I$)I$I$I$I$I@5$)IffB3333H$IٰO06os9$%I2 % AۊZgP58W ѸG X᣷S|)քQew[q"kKKvrcnj(rJɺŷu,U\}^&k Iihz\fsK€jTfun\wat3Xxlhy{ڙoq/ a/T}fMfK{1XIHZ,Н:o`:v cgg!٬mL=}EzC nY2DUjr|B B0zԬVP>BF,yM>ƄV0.K*S0M*Ul2%`o/ dŠUZr:o5LvfF]3󣭍:&ts9q\E'IY̌,Oaf"-tv啮7hjfduy{}Ol?gTIbEHXI:,FL̎" SfY:;MA:(I%l)<#6vU}!!GiDQ6Ifb2i(t tٞ;9Ϡ3v<4N?,xΥ]r/8Tt D 2-.4V: T)WQ*JE?Rz~C?@x$ךr{(.6ps&TU"0B\Ac²t+!?רzj P%^ca|hxJ z ~IzRUu~9[2۸>kSGrzb}2MžC2ɘfcr˽E& :ftY-TQhv7:ě"_LAB73t&~w-=4iM^r\l;Ŧsx1䮜Ms9KGl0bV .QCO%ۆ0 #QtJHr+/rDkn3Xp0Zic>@`4EGH?Hbq߭ q?ގ#$nێqaÁKAj>)s&I!g (@$S([gCͫ췼PѬ{r%@a"B`#yFHVb^hQň'^Dǽa[$YCXUt<8WBtK!әeJ0O e4?¾AeIY< DhD˼T/p#b[0'wֽ dY\)rlUA'dUxRsqU@U qRaX e~N{(*!B< /-nKVUlrm/רa+S* I`vp[S<|p|@װqqF9 AӇp1*>#p\ /›G-/珐/';#@~2 ȁ+"` l$oWA%ѪagňaLmn>ҭ=$>H(w>y#?K?>E4>i{a?+1+ݷ]#;믒l.pO5rglZ5 j”ecПi Hw!/M`޼NKаC9n~j6xkӧczb{'|ou0(')>14GʻƢ`D`Oe}(!;sY@n A.Mϕ?/>0ȐCJ|mՌVn  t_U%@\{*:~JVHvC1 Mn*:1˾AIэđL -'Y$Y4kOY>TJBlr) Ѳ$h8 !B"`QED#! |~௮wKE]L,JT3F_dISAaEWiu}޿msv=Y:z`1a7D=v M M";ٮp6L$Zm.{q@$ }ZnR+*_ 0ЀRx͞ѣVѮnEi@**Gß@znDp _^!0/P7yJAˊöq0ow\|M50 > Qs\zހ!n6MvDф1eiUivg@ޝ%f6?=u=։ 5=I0V](9lOCޗVߔ.՛՜N$/gu$&8b,o*;ȹ17?%a5vyyUz|8 U_I[X3ƕĮ8r?V&^X#L'ć ҬW5QAU,0Ɵ͒+(75d{ɲk/9_mby**#+!Eaj 0c~=Z-̵ۮ|^:rvBp-kvl^"6@; )ezqn ExXk{M eP?H e=9A?5oR؞P!A@C*r4BK{a\JhY[&AaC~`wCT{igWs p3J*?2OL쬪qɿûInZu.m&R'&gq ͙>sjUj1z||+Ə4cw!=+Y$$U ghWEF`lj;Swoy)Vje\bivU(\n@}T4Vxo>}v~az-06kڶͣll'9:]4߱G(+:5ߔgqyEG|}a4w23\rVU|+LNіAGe "5?8Z<7ޡyȆ5n+n$<3r%W9<] W -5p\r:9-VM(F ް~3/ThM-:=+fmHNnT9ٝo`ؚtI5kt)'͸=}vhadlcLD&Bc~;g{/grcDׄV݅-4Oڭ=[T&4i=u7*(mc+;Uz}_*_%;P"6Z'/ǯ,v!a[?DFqaŽ_u$M:=6c3*g}8h#l*XnΘ\I4e"2 1ek3âAK,Y>c="YڜՎ {puxZ8C8{dY0F{N6]ﯸ 8؀yN4>˹ 9t&=tɣыqf;3;vSN,WOӶo-a#$F)S~/˹&Z.rc_ <\#; w۩ߙӰ_ON{l:GfOֽt)!g}y7gzO^}U={riS]W{OeD;-<8YvS17u٩C\٩Zm§6Ulp>3{;UzFE×b-=MpnT3sLuVڪ=SVnge3g!dߚ~ImΟ#p2AFKf͖ty]_<җ++cz)hFi蘏N\+]jkʴ2XZ!*by,*a9Y9#ŷ4m?ݞrtm)1:T"T2zd/%T"J"zk .ꦋpI;S:W vy/\G lAbX_ !1eTjgxYU]r"7%BWVRLU w\3[pO3=҇W:o|A:Q=W=KЧ>(.aYQ +KeUi.p' $,"|h+% mHzŶu$*n(]Ҷ۷;:#c^DQ9K2 {ǯUv:(s'ws/ gF"ŰJVى:٩~tg-čpExYЈG"X#zF&fa&2̡Vr*}A\џN#I16q6ySe>TV蠓}K%p⻳ML]Ǒ 4] 4mAw#+'^}9U]՘[@Hca)n|'`Z9B$*mBrcIb27φ/ЛpWoiK42JժT(oMSVW~a,нV%X3imGmlRu6Y#Z?l5mгWk^)xԤrH_j):FK^OJZEUB_xӧp[e_^! {''HCŅX|:2RQF2q-[XV*jw{?:Uz6zLr: HҰh7N$51I\Z[luz-m_ʹ(`&eq!$Q_QAPU&[rTbYm 9r3Oy3&xR&Ȥt&| `cŏG_88""9ĪHH'#=JJpPF44iiݥzɚC7@oK1ԙpeeIl6698rrZ휇l KVJ||h*ڵkաCNeHns%X^ ,>}j>)̅~0| * `! Ae,X7bˊ[nVXj[e5ZVm[jؘ9[w5mm7w`gQ.Tz=>h1R?aq\'rlvhIr .%ۗ J WݰM7][vI20wk%<zGh쩧z&j/_ L_Vۏps-T %61C $ #0'^<X dSi%X,VG)^^D"s@AY ]F laig`0 AXL@PH?PU``4UUq#`<0a&z&}LjLų߀d~6f&|`vsn*5l>(?8,ViDs*2l~3\qݺYiѽJt"YsŮgzƆဍ)f疋Vm)G]oӃ{wba=z;>}؇K_hKXrx dx5gsJ8I p58ߜw޶UňesŤ Ϋkl>_Lyny1Ŵ#y`.))}rrbcAA!۸qɔL0<'/W nȴΙ 㞕4uK=P}qڪ>zO}$_}m#B_[O%wKМmzo[e(SBolzm;1Qؔ*1T13ʙ,,q+m\΍ܹ 0 )R$Nb_*QSߣ<ҹ]GU_Nyu嚯2>κ؂p 4O$IΕeJa=~73ʬi]6G-5O6_D]qBC7[2iIC^ u'bgxvux0q%BbpT1EZ1^!~2%iٲ#sS@^R"P|cFA*rL v)z2K<gQZ7^MInV>cL */Io%c/jj 7IX-l,tE}!׀"E-jg7 S-8hT} mwסCo3zO:6S*`a!p;'|gGu[,{EJHW?4^hBBZy񭼇Kڰaoh(bHHĒ:2A/1f^$uRR2aB7IP5 dΜ;\7'X;CW&S?0B=}$,R^4/enǫ*U$Dt+ T5ܘ88/H:lj%hѝfssRJCсu"$$|ddMz M,:O94wkziyԕE~wxB:42(aRm)TWIZ &#AFF(cfq>y2&d5L2e)S>LK|ng;cf蟕Yl9𕹵Ҟy=,޹c ~ei`gcypVz8V[Y]<5E&w+s=w_^x<0@٠!&QƪI0n{?B=y;h{$3|[Y̠GҨ|/@+V<kmb~p!Sr;x_Ǹmպ v#+}[B;; jȽԫOA%+A#A>&||9!tog_o/ƄAOwc!CD&˴GnFt$/xyx#:7Dc`\H11~Ư?#r|l_+H=|Ay|XgO: K_p|6? ';ƙQ[sYYA_1,؍A\؍Is*&` fW(dc|QEr{|+wUSF%ԌaֿgQ'iiP/tr 4xa+:  OF~\g޼ #_sƟFk^`"H'j? ({tJs ]UsmzS[2_ouGW~خ` 2Hp{Lj_6F3Fh,)Xq_z_oL2'z8'1dƔm|0-Jt5`<7쟛0u) 8}(Oԍy1q& -T*WcNQX|s^'Vrr yy_ Lj{ʉo$Rt7hjRvK$elW8T1L4IqZ@a1Q(Qh+L UxRPZ>NK*(J44tt&MWT*' ncDqD㉂,Oz7p] +p McKۗ^@4R?2RF4E̡>Cf5K7ll_ٛGqz74$=(M~%543¸51RSwza0oZKmbEKV?' FR4 WG^ S]Z X8A7'?w #ۊR[*0A.&؂3Vx+_:6rRDe_mcV$f|eY5ۺaCնYK*}Rc;^s~;K`en",x`֞nK'VoIr!vs-rn䶇VIlBF6/7HE.l2Jb%G>/x'Ht ܝ77%#V d1RצpNK-`Q] 42e?Ks/UZkua}l~7zaSm[Z[#6ۼstwH;]vq=unfܚRn/v@4c>Ba.M[qiIփ45*HQyl輒 ҏg䅾%#i' J&J' \a} $QKejzo]Q 0Lp IR:Eɣi #ea8N&٢-I^˲>EAUU4A]Wn>&ܶ9Vz>8#"3w7RҤ.]U2d!SͲd)[BT%FP AN^+5`VL ㌞(N%>;E/vڼR[8I̘9l9CܸƋ ={͹|-/2͒׬Xu!9^I$IⲻGb߱ʇ6e*މE$^ Ճg׬\DFv^:O#*34V.it``Sf(ݺ]WT^sI$` ޟVsιx晇00qlNn]~4Ϟ/꫚hϞM,cmljLif뺹2"=MGAD` z{V0&!ڌ 88$cƌ! ,4%yFnue0DD@B 6< 09c.6h!xx|,g~Ms,ҰeǮB*9~k +NMIYUlcu6 [Yc[s}/Gֿ^O}Yǻ_ Gp ~+uP'Ww+ RHހH {ypUGFUlè>\4z7e_\^GF) Ȅ('2mx+b`K=(DTicwON?rq[B!`AYw( N8:̍J\v~Q#.[dz QYYB-L=?(Xvx⍣٩׶гӝ84M)2ҫOѵJst9 a|X 8ޜfӛ7s+C y:}u_obN&J/*k[fu{!lf7WsvG$>ݟOvD,=҃T%R$fxFyGOp:B;P1QDHBBd*uҘ
    ^WtzKG7#7Ih*_w#זhXRL$v Z(6 \`LFÄD/$dHP~kO,~D ?Z=~>%x=]~\6gZ.., r> t6j߱"B,Xg.vT`D|EWu NrϟB 9kx2-WOYtsZH$!.sΆa,326 ]r&>ؾk]p}l'S1&%dj;Pȧ.vԛNq a4ߋ%($Ι(ei92Y*Y )YG\ WJlהnk^'RB}? 1%eí:c@ o]6yXYox@7Dx,pmd~.~Tpǰߚ'kPڧF`Z%nY|(I2R8/J+)v (L>‘eY€:9fE+ x˴\2M-QsldkfƳr#"Uvd ΈS&)%C-̪TIMpe=1 "d?*nɂثjyQ3bpHZGmw+@F vfulܫ*q4l*5c}"L.eloJc>TFl;(jD!9;Jw&i| f|NJ+0ͺ :"'^ W@r(`TB4L\0 |}je~lF;n1AlVmKK/TFەn:i @A"d6;URK._נZVc8@UJ]y|P~wj49N<$[AJ*GAM8l|sEVT&.HެOZ?4+V51=.1 60,|6vSHmEAyoY)ŏKS"^a,OU"~xn+ҳvM7 }A%e2㑤0Ƭ rWɉj ˢtvu!k^sPL`p}hQW%I@x{ΌzX1A÷.@jW 3B ɕ}hձSd C4U;cs ړ4*=s# r~\#5vQS$ǝ]-0)b\R  r\+r7"g iEb`+ߓG(PpJ<6z"{ 'ژ%ڱB7FkC?z RBH9ʏ^C#܉)6)*&3a5/6=$7 W{qz\gq#ohvR+{",Gwf# u`ɿ!|lj F ֥Y(%{;gvmV(Z\إז-˰OPCUYڸr1hG1jh_ÍF*z,;!M?IJ_nۮ\SþFg13c6:-wMo$Q-<]ZQV#@yl[ L$*3]B! J\CQ0t`'n1?Mf(P=:Gr{o P'p9iEE;H:I?m0jEn ȧO2,w[^PֈO4:#Jc?w=9 uVJTsa-$zzN ?Fk[hDg_?n쯟F(2#pJU5J}\)0k1"Gve'f 4a5Nqki](XwTͬR2;jѺQSrzX}lРU0UmawcG7rf& !&~} #Op%dpM&g7/k?m ޾IsKg$>4}LS Pa*sb1. {YD @բ)M*2T`♧3!fÏ?p.Rϼ1kCS/=\2srOƁ|D<6XXTIj2n*:)$ހ_ҦɊߋݓ>AND@2DJ$@?f L7*{XjDv47a'Kxk]kF& g4PNӚ<5Q@N6^)Fj9_e k\J}n}X\.}lR/3JNAL"ۘl/h*hLgGj0<`1LjmE vC?UULw_`0tVt;:nYNADm1㥱-)KJeVJh袖R˝?H:8J; aȟ 7Zт%d#]mB}{ubhijBև?,v{v C6?FqJYPc9=U4R-l9LP, i0PܘF&([G+>֙S-=${ K$z-gmaa!J)Tb$B_\ [,Ra fm$P2AS4 RI:4lf~*[ުصjEvU@F:@ruAJ*VH%V\ٶ|O FD#tWs:VƳKG⽘ $%zB`ƤQ_\6[Y 2;nVs=04*+В'9Muj)tޙ,NS>mY[;Pؕ;&jt͞UdqY`&$B+d>;Yj'U7ObާU,_JSkP\&2_:Kt*5ITFBNSgO:e`V)\#mLZ֔&6XumL17adq,?K"Q]ewU]kpp 5àsRk+o_S7$%1g?S*]iPH ]4fܓ0s6:p}RT }_ ;N'Hţ-~y2$ӻOٽhF$ ,%baA0ӻ,va.U9Ժu;+c͐MS+³Iit(MPTiP: MJOdhTz&]tf\l.I+@KNwH*Zc2e{"!~'flmi1 zp8aնZ|y$7-yy7YRV 6ܪ058B -[gkVء)_zhp~Yt6 $6DA@ԎHx0oD[:!W^|=(`-xwvG*.9C]%^짃GfPs|kϛN_ۆHTå1I*h!Y0͗lN.-++RG 8({FVGi "W&! &X{B7]BU?Kw%RҘۊg/jZhB&]q|#&8MVƥ!4ZDTi7̪(ϒeM}_?b kAjlMM&F;VO6Ke"!Hnr[dOVö:*T2;ʘ,K@"ht>чIJ_$7R͹# x*$*E[P|)N^եUCXh{KUuF8+}B&ծ?|r y1tihYy8|eP3'̨ITABҎ$)+.` #74Vdzl^Yf8dPbdf= } Ry{Tu)"MPŤbe^-F;,ٽPXxKT j#4g cpLŇie^sp~.Xh">ׯ&FcjRlɍk%%AK(s!΅O{Kw1ܕch^? jry b1yŸfaYiy[Ⱦ5œ m}Hx5di~*U= f&RVĩyif9*.iXD,V9IAK "2,Yַ WgIG+F;*R\O;e[ry_X$\I[U+>n70םZh8dŎ  (rJȦ*awv𫌎SͦRA*$sYO[“䵗!|ssɀbRʧ@%*kC2>&pRIJXSfXU Y-*+p+ggzn=; e]B[Qۍ6G^}/*OlN,? 0#g%ʶjg ۀҷ-]*\y +۠%K)zN>ӹ &}ԓe8]i׻p9vwzbNBio,cbLfQn^ [E!66FԒ n) ̵}FeN ui\ޒ7s]b7_DZ(&yXȖX{R#(i(sTzͻTCqf<>`*J|E9Δb8VyPw>v5n]'2TspX5_n O}K7WNFz`T%30&Fx/Ż%rBm=R (2!rhOq+$.QWV F)yw뭶C=POo#9+ު"H"&?lk4i/09d*vϝ4)el!;a7AgIj!sӄ!P2?XIU[J}}-UO*<™lE,n8 {*. \o^Ί 6Y=NOϝNf\._B77reH:c<OjWd fO,cP?s1}QQ {"ȇtTJć'ၶU/nI?A!.#gJz3[&W~'w5}wϧ,b(QqE⸶[@pزu'm_r?6Z;YWywR!0%euY%S':(Qp:z| 1+݌]~u:}Hx]n(-]vG@tՇz >?@\dY̹=y] cxG77{7tI^-$qq"JB+IF=.u6)7wydwJӘO ZU )":7}^9}P\d~R@PP,iav.9u9pIj^ -nU!LMAA-xa&c ab=C cigޅ = 0}<`n ۤu&l -XM1_hT0HӖ"P6ꊼ2P--V@k"+HOr/IH)x͗vQI }BH_z)IY~rfE,c^~=^O7v Qe ink†^X OF^*0<`I姆R|?J(hB鏷fҳ~@np}q*|*9}wZ:6w?;6z7wS ¾@ݗ"jaDw-~XD7Z<{d:M<=QG \OIty;#~lYR,v̀̄<W$q8Vo~A(1ylD,2%Wk^,C [G"#V/}M>Ͼ,(!蘐ZD5dQzBs?*uN*7~_6,߀f4 D+,PbʋIJ*}Q:FQ*'b#{c{*^xdH [N!|EL ]5lSgwa_&8bW-Xr{箴ZF3)#&ۭ]=[iCz9mcQ %@jF;f}D ćcRȻ+V8oo>nl!QMD3{/SSʖϝa72%3m(q9Uﵢи7'&Cv3c)<6G~33nzO>:hM`d?rv:2͢_\"*Y IFf= (**4j43i4t%3[wD(1:vЌZ€xWXLǙ쉍Xy!V5i<xxpF[rqDf:]d̵rGؼqRz>$5ǝ2oPy% BP{r6"%h6v 6auuZ Nm ޭnٌxWBI@@cXPU+я{X˟jnM\I^b9'-pO`>}1 nH,|Nk QI|P+ bw-iDŽf6D zD@xTexmQHw D Yf(%ZCɐMThf`-fK㋈ φQt*|5<{ E _LoS^ZZLRuϗlr6ŻD8'ٺHL[^x%Xrc;^GGegѓ% ub]ZV_[H*ۢ$_aЭ 0{a|5y}Z&A{B*U%1=X{鎫wO9jc*^܁r_4!i=B.,ʻRm{$0CœBҞ͔#{LӐWC`:s8\ kqa/*,}c2ILm5"$Qȏoܸm`$Q#T>+1<={A5cB7L}v9EAux J=cX+N!n?H1R^"H@AI#+7B^i  ԡ6@ꟹٌߎ?+-5 -8jz> bAmO3(/aݩhΈEۛJwVV&di:BʥRrE`69vZ0>܄.z;"mr2 l7hؾ`(Ts2S=E2VU. 0UQ,b(c I&tE r7dQrƈAx}C`G㾇. UzR !c[lq10!_vqꅣΨ$.R B0 )AtkK;=%)r2A[IjQc(F-#6? RU}^YR[/AP 7KV?^1Һ^",X~GҢ&qK;=D̂DRq[肄ꮹQ~QQ'HyCY+mgYCyq:K]U; ƿJ6l]k$ z805@}nI]^}aǞ R&O#/д9!2EyZlAQ,8ЇsKcۙ|ڟU\-J璡u4RVA<RꗧPYTܟXўvF񷳘hReISXb3QIIEϲ]5TWm.L^-A_)OWݴKwQ#30>*t{r1gjfNgj;G0xШ28z^MWmo٘jF T4}W>\_/h]^vXهVehUxVE0l*D0S\_ky6ehFxIpEƑ R+{i(YgUBzw! sL;q k|wE^^" j IQyfח2a!`!\9^ø'?Ld}X8Vb<ܻN9oj{T\UzVazM6 t‚.friT:~$lCt{}I>ܷޮccO`yn 'CY(C2 ÀBiJx4]69sTRW޽ahv[9'¡A;dUq dpؾSi5W'NgVQk"A|.>y]pXIhC·0II:gdIawfU;TN l\o)SϘxFiH~6Uo8KxufD-@$e3Ӊ࿓ؼ{+xK} 7wfu.瑒)|?shsX+yXc6LЌY^ ׮rAaW#77:Hrf@2zŖ4săYjg^3Ǭ^-6~m"9wJXj݂N?#QW`woR>*di+ O&H()J=i<`b ^w ,׭?+!U66ܻpIYe QQUwAUYtx%wu`̈́);YtRZ;i\I2"RMsEaf,Csċ.vp:((WB?fmck;9+|c9WI?6ٰzl+q3򑈪KJ%Lrb Qo3=ֆ~PIONQb7bSA>rflZ<40;4Ai1`!Cf*2zDV'0HIF}*An\HS@rh, _рL N+jTdCe$F͢d]ЂU-co+Oo\ӓNPf2Ջg<צ^2ܺ@qbf0~ʵLK/.h4KD_'C7 V+"@L~9Fh'(x-^&L ]wy@ C -@Ik#7#6(^GPmstj QtUpt6 `pٔX)RqmN`ARN2k[\3GHFš+eroU)mΗ۰a֙XY8_(-pdNz-[m&+&Jqe0SܔxGDIb$<|dB+h#Ő g5XBIs$X߬9;@2x( s/ȁnxSzK FTcď vzL4.*VJ8⑺#mnj*x(._tzs:y]\ >k 4~&TÔL:4iHzWxŖ0F2 M:*k6K}ڡWZl{t"(Nhz& sgb\Ter_Qj _6\hyO6"SGFdjT冦xD|c\ei$E׺cvI?k'[ T@ S xmd{aK&@(m1 !+.ӑg 3Iesd4D7}u♍}l@~#ueAفgX Y =t;##aÛ{5B'! Y~}慽 ņZ@yZJO1act IxgK|/Y t|W%JA;# gIHzg Fy,ҩyHuJ8+Sa\ \ۖj2~Q>t%c+McE{}+5 :~֌P٨mƘ+AφLos}r6Ah~>MA- 0ܡkz& QZZ#.Ƨ}JT7`Fzϳf= G"c`+}OqfRω=H5imf_g]$9n0%6Ȟ8dLяG[G4BޡzqzMi{t0døJ Д/vUŗKܑY̓uʩ1oO#B*^ scrs8OȭOZyus c<ŒBxa^UW uh,?=֪}nl2)"Q]5%LV㳨w½ZF(b,mgY kf/S_9Q:mrw;J<\7-.` ^+$=jF-T sa7T&!לh&Rw_/X eҠ[/CST:/cziRcM[,y7Njy%f"L9 N(c\sЁ>3q|%-Y(`%`!囥bcGT1:A_Mȯ'a >KxC xT/ ߮/^DMxP+Ɍw/g5 P= |.!$Z2eQ̓?YQi6Bbj(dUUf̚ޔ(kKʵs*J-n#IHV_MBŨ ˗SL |d l΋lQa% ;F2f낿MGܦf)ekđ V #PETG_l$wIh34yڻv.v:].˒cD/S}|(Hk}F.eHKrQ"qBZ&ɷMزY4WK43YLf[B4.f4}E!p0Y>N^,ame[}s.c! r+˓/f"φHTӘq+#cGژCoW+JcuqlH"{Rڄ׿_sJbGM':dO%uzCx5p4 NA0d:o$?CRq^;cDv.~j iOY~{u+Lq"?>x#X7SއwKd>E5v)DjIZtP<;FQٹ\of_O]?ųg4^@ p%ձ9]&9KGKt. 3tKܲS5&kt]05f;KZX][Zڗg$=FrQs)`@9O+VMǸO.! sC9i*E@)w9伴1\RS6F,Np";$+-nI,z:Z rU5|y 2{RC;A;?è)K]G.3KUm1>텣r}(m|eK^\\]Q ۻSY\?E :D5FurwA#H;awU {^L VFweECTy޲S =d! TrB0^Q;KUM;mpS!JA:g 2N!~Sypj~ "_H}6ނ0ÂF}HI!T7p|*4V?jՏ=K?yKE˷ C+l3'k&\7_FnΆf[i,l_NE} ?dյu0N \Lץw`"oލq z?ߕH_j㢵˓g}<. C녻Y d1[jOt0|EP`# M~.Z#"_-뺅' Z w\.V+4ű y76թ$CSZOw왂3b >"LP֓\wb*\H2y M> 1;K .6n2~4S/ O}e 1`*[]JGhUG0e775 5Z(7O`3pK1W}Vn{O-0@|L[+Dv{IB bMX(!u~ pHo6ɹ^y+[ QUS۔&RUӖ7>1}F{Ld=\ܑDs!60.6O^4ׁE16=_чͅtEnʒ(>a 3V*h7mӷ+`[8x2xOo v ,y !zU3[@lڮ&0$wIB'fxQ bzDYĵn(Qx5B5qG"OWLxb)Os1l BzjS 1IࡢY%Kđ҆{nʹ25~}dOc8wTg,MyzVkMڹ渂!N5;@W> Tm*6CUev=~mFٖ?Y 4>PIA>1hgЭ$5n'P ?e  oܟ LH{m̧eg,濥SG ? gmImlА3 *$c#oQbr!UUR96Dl쿘i:j%yQѩ(&Zl֨ >ANpƋ/IA+mCU⯼9f [)Sd$]0cu=W #Ij4$ OZ}qHL3}~rrhڒt90Ugv*}ZmH6k]íxpULS}>>4;x&#$}zCgIʓk{]j B_ V`[ccfjkv9S倓99|;DzD𞱏%:ʯToHv&Ho 5:CMj'[L<9kD;^Tn|l++ۙ@Utuf[a37"mH;L w)ދU#R777!6J&*З MfTŖ _K Hs juqptU|YQA S7KWsdlIY-ܒ|3FE:P5^yMW-G-{F-.m#pRG;ƀKh~)Y)Kش\<#/q~V߹_ˇT]JE+/{]({Ё3ObK/!GM/!5DZ#!)°VEt9p?70ek|+zsCkPTFƒw>-a; HzF/tI[xx;9708KG8Pi'N\8_+dt]sYP+(O%ON'_I~Wɤ}%_ky#99L*5Ei$`żb&%]$/ϫs(azp+ۏC?˚/ܔY"J,vC{P v奺E=8\B0YTL|>hà/ffW{u}5ׯ $|Yn7kR>cQ>YEךr9 lk*;]28NF[/ ,%28ڦ%(Ҏ$Tw^ >ɀ)vW3KL (Aip-AxB Djo [XkKk@2rU4:Nʕut iDo\t(}Ajt̔Z[ .Aٽ 򻍬{;BV:O:&4%r#R%}a"{]!\W9_Ȏkzp9#wyIlKmJa&n|"1KDO7'L]Hg$Se* 0FWX꾜lno Qi& 54=`|traRdjO'Hs&Ejk/D5@ۆ,A+.9/)Ixѫ60/utBl+aبze |161p2R_FԵډN[e#6ebS].nn1Uokԝ` 7JMr4I) $ =!4ix} ;FK$ɔE}yG;/7c`2|:ʧ6J,evaݞ"'!1vu;LCq ;/o '-=fQOٕ3Zbܺ]cĔ"|(B#|ݧ︂1WC-13^㻟?Iq 5@%nފyfA}r'4$]?e&).j<3(bkVCySկ++M{(}q dP<F̈ 0RehODR:VC#%́B*M:Ǵ r鰙M"?lB>S(rH xU [NPbT;&r5m*1-av iWI7pύ򑹸 RT{ǩ[]JKYs!*y3r.i[]~%v.M4q}&xE9izJ@3f1S.\.A]Cz_C$@<fT$XgG6=j˒uG6Xyc=TZZ&)7D}v瓅RT[78Ө"XU.ЬcTcivmrw _mth ?Ԙ7zkCCF𤖶_ t@T-|d(~h?@- Q>qzpHEDпU9=a6'=~+դ+i$Gu1$/X\ń虰џ5:)t=KІP JDia<[? IB@QuW[7~G?yOdqÖJ(&9༑GiT4&p XG.~/pPѡA"M&FOQE~NޭwY&aՒx._a~a~rF xP8ܚS!3JUKXEq9N0x!ML'tOD_3LW-j_3~z`* %p&PL8!`geE#nKZfޚV3Tff֡JJ ]❡!Ŕ%r [/ך5=}YMDhDͶ`&1&oD1` Q'J@`GV' IJ%70|G!痳ichykT71PK s@-F3̹V~aZn##l+/6L3=%yМEebM毭 Ⱦ+%G\}fh%~{wYEXcFEo~a4P!ME8wa7k6)Mô;'_07CtCrNʅW_[+$0VOOV q |S}',4Zy1a\ -Icʱd>a}JeT֘3&%65R+?| sn#gɰ4BvrnTL;e .ग़f!e.6̚ yab :v+!ť")y\[VLzmgRܒ{{׉w$&7 yU LH7i!pg~ʟ%c7S`nS{:ߛeTFOO:~N7C5rϡ@MtuR,UDĸmS!M8 LTђ&%5W,&vvc[u9ٻ=F7q`I+F9Ճǜ&iGu S8|TXw'(ksS6&=/B>2>woخ}`e 7E " !ou6 6CQiPBYXMͯecGMjdo`557y]Y#t!HoJ/Lloj1y@gKo%<M #A|β[ҠGTǡ1Y"wWDhGȾ7t<ao$ca}jɅ&ʵ tHإXQ]`'@3j#R1,yk1jbPfiN)e#ݕkcEE<@6<ӣJ?ƟI{L_ 6\f.)V৥Ũ@ou.Y:J.t|f$R `O @Sa+x~Buc* CX2`nd?IK߇r}wBq߬㣋F.w8Ho7rf$bcYr+zKb@M)HM~aks6 aOxd3?G.jg~r W tw/wGBBP@$ j|8Po'+6o$øTefՈ?ej%KȼSn'{(V @9{[1" ?w:z"ޣ~zH#?GΙ94[ΗU︰%ˆ=oЉO*`FdQ:$>|gb]2g)P>yo=FjǼ/LQ S^Ԕ~amw[l%ަ,:a{柢bIV._ ;0ɸ.dj^\ sb{C;LBfb1dž[o÷ YX~cعtr[I[5+W?}Wo wRss>0( ;# ;Dn3`62c/A8-P%l966}z'FŤYTDGa@u3+mUd\*`Ɖzh>G޻Ώ7(t< A&>.Zm crr>hw|l7>xM|7L %&!Lq#l>a8l kɑg?g4B@S,0赏|=opw,8$yZAxs!r@!=%x-m6-*~[Ex/ly@>$Q;l| ,3;;ſG@2{#nzM6P-ejK\tMIJ @ߠ>`+DQp [x?C:Pv A" أ pi8 8`Q\@H5o)S]o][B) ךqB^b&._%W%2?<F`\F_xp  r}\}"O+$Z*N\P<^{I_/Th6]^k2/WBhab!Ă%@I>-&q.!TO"^ feC{ǦBr/nY82Fww}EU}lP$狴KK`r|S#/X^0<zWeXXyP(g>Hr`N3a[l3%D~%1 Sj_nMqd4*('8;fz "?YVh6%՟YG۞?b ܷH G:y DZ$'>l0ʾy-鸴}o b῭жE2m½qڙƐȯx Uq^^sn*I%(=- ň-=6Alq ϖl&kPdMLF.;Zf&DuI}$ZLA) [ѭ"|좡h?\mL/}b[ٙIYr97"GRVC]<Äbc/%/s1)k\y :p&܅[M (`WyO M[pH77a7tzt,f(iԸcXӷKL1P q4gۆ{+у9EuԖdVL:G{IYߞ2sھM%FebI7WZ&NY4o9-`'dkAqOK/L|m!"]WU7T&_?IlʳkpsM뾰h7 +jQG~sKY7.o.VQ64]iXH})<͞[gJӍf=-7ĺNɃ{%cy"M1DpHMx OK)r6D.6e@vS/^~}|/Ha mjOjWVʏ2{|%n@q9*!󆌥S̥Sc_jҧK@d`ur]zB9 #o=$I98OaG+UO$&e+%|dM=B֙n=(&3:l^ DopRz2Ho³|ᕂt[. [-3>T B 7ݎ,N?A(|47@Jg.WQQS|2LG5|z7oR731S{n7v2H%4/wcX` 63zs^Ts#ڞVPp?7|njvh6*eD]`RbJf&l4L$XDKlD +7nz~9E WOOgTzӚE1b!\dzvĥQ0"WC@s[ZvѶ}h, m賵ĤAœϫ?BúBS6d\"Pr&3$.4$ZqPA۵>֢ܣ>?kIc WZ s1׊}α㽀CXC*|?X}}_WKQxKjVJ©AF2?ts1}6WN&A"% &Rho OEP|`];uƂ4˧"yr{~)έG=ǘ07n'O\HXrߋR >:$%AX')|1.a6L #0w1"+:SRקZ'֗ ;a~g Q=qf7hVC)nKGMCGfvQ% %|)hHlb(WI~6/@D!&K֓B-8;ɸ5蔰ES2JTn72f'59 =57#6Vo[h!bf(CWE{!:y օq=U8Q(MTD{<\ol뭶<'{3Km; yTs:^A{q|J&0oAl$09I}E>(bXukY-/ײYa?`&/$PS}BBqwC)er"yʔ>j7-'|~ :85_,','!B"xaD`sPJ%ohj2v^Zn[  j4L`B, oސ_l)wT3X Oo{.r:2IBѡs1Q[#,]q{*ML/ EqM> ^R+J9]`UX_z+GDG]~8vY9<95ztkšy?輗ɉ6=q tP3/wB0qfT,,O?R.f ?25B`(VϕM7wbxpz1VfrZA߂ J:Z=~SV% |:4 h(&D/)kT $y$|ic$:>6gռJQ5Q*qw;Oiac9D%I*c<яЂ?$M<$IK^{}uͤϮz#1Ęx*azj4r/xt :L)[AF;;(iCy?B$YU) WQ)̀SkFՙg'E9]԰!*dJgkuWfleuDŽ6{H*%46ִ$ [)9Z%AyS7 q /iZi}k49.9 TbdOLO.E-bQ.uAihѻp}(,a͋%?R^4uNif;WU%+ cs(ꋘv- R \y.`1ɧR*T.S{7Z$U+SՇu^NN24.2moyJthsϤeٌ#Ī.ř׎4x^sBկW#Ǖ:~v!K5S'Yeވ\F歮qx@T .7o w2 YFvcRʹBs,mJ(-˧fEQ N,,2 axQh D IPy ƒ>fxX"dQրM >*eݖ:o&{DP旭7)naESUg̻yJxxZqn|stss4H6%'1P<uR{1q▊RΨ?-5 R rEuNvD2."<OzZ$XuńF!"z*YzZ7ꦠ avhq@sAD't1F(mdBgsw 2WcEF}>Tz/|IƘ.Ra6ݮ,F)Be^xE5C:,0>,1@އ^"}x?(xvޞZt +%ּ*A1+OϬQY%%n@ɗ祍fī~ŧ俠b̵YVmňz=pI=ܜ2aIUo8}!  h"_zup/wl)) "s|_xp iG (|z*/[}#tI`cbo|^t45ϫ2^1t5_-8|ݹ|'0ἣcN@y'`:GJT'x0ܾJ1ߗ ||@y)/, ~!o'z(X*Q<^P1JdDy0L|d/_|}(L'ag5ktwᑔіO0A^"X5 ~dR`eJF}S?}ԤIx)q&V}3vI<,Dt"$.%eee :5ހċFf)Y &i  ȼDa3T .!w| ,p,[A$ Z#K )4r 3CQ".+ ,qɕ b<ނVM""JN'2# >8B8F_G" Eax - QˁgL, F~xY,Ν鷏"5 l;'c$]9JC1=N!}~# J;3`?K[$DV$Kfyw(geps=V|G +]|glХEAiIr8ӎu֝< ( d>Mٖqtf*‰Xekꉁ/& [qpc\L[ƉMa$koC45!@k[͒5ɆרAnJ-΃1}\X,($g8ttc.y5iպ9 ۸jlTUoK(ur#6uRH6Lb0TeH8Vܽ+K],0V.x8-dI޶mV!46t31#av)}JuAk1i շηwM)y5eWׂqT 2'kY\!]iXqI,A,gQ*-sAO_2>6BHlqR$?/dr{Cj+:&D  ỳ!X=!|(2$5*F-8=/ >85q yVb&y&Gbϭ߷Xx͇5e= o]aL'5.z}K%..KәfT!=JDBRb;FYGnZ!fyyWV%R <799k ^Ɛ\7<+xKMVvas۾Qc{n۴P`? G''X5Ou+*ˏU!#cD:ɯ:Wb߃;v_q `m1}0DEXmu2JU>+frlۋלG# )}6VǼvϒO _E+vC&8^.y7wj| d- 剧;g*=TiL$svwg қK(kژndFC)KX$jC(n;j{_HAu W ||?ևV5 :_?c(9]p g/wr=^Bty[/}5C K O;& Ļ<ưSh<U(_ 6GB;VЗ n]9O>rp15|ZtB~4*+hf: @]tCJDyIZ0Y)'( VziU'(=SeS;ХRں8iSriCuZF)}/̃u [c7Tݴf cД{& @S9'߃[:m = rxywh9d7E0G'T}Glk2|PN^-Q^ͻ4݂rjթǣ9׌$,˸p,=Gou6"|]}Y1bgArcBqtIPu$} ;<$ʾwRO~iS_a_Ub}}>xP 9}]H]X"cSvuS|G߫*"nr"V-XI?e=x UE-ta` 2ARâ%x6MugeYd ֑|߄ xHywe! WŊe=X7!Df" \Rt$s  R<)`"uۣ߽F(Ji8A=.5Rh >ג&P .3d%f"(ydﴯ(('ܖAR>~HP\'no/ b/uQޤ_z_q[G/m.Ͱ;OJ~?5Lh;$m67h ئi`-oxj`]Ym e-5`gL;B.n3SYk&gH?z]RЭ$(ުTfG:Τf^"&>O#Em|F+샢qy9oYzXLD8U`6s+_)b}Ⱥ*jKX{!ӭ(JZ7vIrڼ\n, NBG5ʿZ>"kLǤ6g 8Ǭ%9/"}E~3F3N>:Zzxhԣ,>YS!ݹ0-Rk1΢6B՞V!:4z&D1NNKZszgl,PPG /_.?M=m^~cVIΒ ۤL.y!Kh٥pN^­f]1_oLT5U^*y-жT9<?f@Moap>>6:r }jſxEE&0ONV>*QYc)/LNN>Bј D|[C4ރ,-CgMsP04QSŲiSh/M͠h k=̰dT!&7q\b9h +qܨU] `~t+rU/@Q!UE O c &̔c7 [/al}1 e8]'}7hcm*Ѿod1TX\s]zN1 *  k"ˆr?:ނznڏ+xt3ʶv^xKu:PX[ݬ[R Bfߐ q*K&<Kbhavk+KGݛ(곹\P&H?cX"Yq*@F!0P4%v|H7 5=ۯ[U1Jȼt`ͶpLucqg%ߺ0>(!W3PWg^n@Vku7í@Eg&w*"dNخQ#֭̌'(G]LD4 A~G/BT8YІOy1BTnLbUO4Z̴Oa݁C̜N2H#5יUT}صqֆِp8IN DZUnL8A,|:rF&7+Zw`O5[a:h0rвͶ-SA; T!V;M: +RA7@OƐY򽁞6 <|[WWҲҎ+*~*C烌5]'[g XM`i9~! $OY4az}!wr$ vUYp{{])&G/yrn`N\٧,軴 pMעܭo{W֊RIý{r4z)y?F 2<f{O' uЃߥ=,E!NvTuВ͠qqߘ9 mJhTD<}oZ4kpw}P};|Qw9`0gp҂w 9ɗ%x-U"o/K%)jx^m6Oqz$D/bEwI T K2g#xj7 J;b\sĄVB!Rz EˮbcxG)uYui>c6bؔBΡ=z: "g>LQ`ztթ0J9Vg'4@6u?LvkEu_iR@cl!vǩfLDLGs%F]-Cu)EQAG#^9]m2n\}KBƒ^8-|CwYFטE+/:HZWʐ^QHϑZzfbbc.P@qŠ$3Ni6 | #@"{ʪ]jH[7׬.:Bo@֦C ؊64bmo,$#P@# G:'Wإ<;zFVtt~BEW-?I`lNA8K0+FU(ni$H?67'-H#B z?+5/G0Oz7 B-/ ?mI@*ҎٴE%&X!MdjgӼħ_KpN-/w,o`p N9 @'q2z'h:%1AcE$gf_lPZOE(igʪbؗSg`vꆧ$&m:P?37ԥa餻IRvH9)`:zX 쳄b&kxCS~z y&M `׈u1j{~_GX\Squ+EAii|CG+߰$_a$š)RH1g3B8X AҰR hAG6OpsfTnP9<, i8Ů|nF1F 3H-/TzA:~pֻ 8|=X!]Xw":Ąj`b"dQ"BTPR-=حSa`\E٭{t|ۿyX9ɿ`tЩ(+g{.h}n3x~F=8C](Р=Syg w֦vڥch>xy2cC7S&P]NBD2=mon\Q; 7}o@R eloAe!kST9O E7qƤ>] i0J^ |ZϦ)CjE c|;%R6b@oV7f^t,$S |:l3Zυ)=sA݋&k#6|΁uEgvd|fj*4jC_PrH}d?>F# M[%~K|uE2/ӨBٵHJ՞^CG\߫@#T}PC޺x5TI:y>Wu:?W})|QU'2ԝ|DgdA LKibx~08lG+e:dC PBUmJɲ !:ucj!:Ε*Z@4첺^$?_ MU;[,(H6W9CB?q#_5߰Sp,.v|myCMOIG}'CSy^g$CZOPQ5dww,`+}F$` 1<{Xg|%նYB7C]_)&8V3ԂӪHII$CgAW|'c\rReڙU$Rٖh 2z\oYn/GgDEѓ-`QSGfI4QTv*#<502؊Z;clSQY#"&:5r:sO ϹlS:Q| 7Ɠ^so0NTG᩸7? ?wW&({F8i<`hDŐVXm+Z!Lkd ķ.$d;S:]2#¸ɸs+o. "%3uu,s~ضΧ@ރ GJj 2(fe0bãc2*Q:pK?_s@6vLY_Rh n*F#16ܘ~% n06qɳ Dž)WRU'Ey ](J}L%9.s6Ϻ"UVtfb_v;%0Dz_/L_\4J˙5*Q2XAe yз(>[d1!);w9ƤK1ښߋVb}].f^sJ(@˵K{#0Q =:<( [V^yHq{fbAM1IK]4%dQ6)} J6bj@!^ ZiHYp3nd:gd1 z_u?5fP{ ) : Ds!2; `\[>YDBrH~gS-HJ5Ke(-2 ZJ:$Oy^?pMJև]B)S'A(nXR@~NRURRU7m][s˭D̟pQSW̧{-I)=&))r29N2FeJ%TnVvG0J) l[z!tCkP`=͗#S5LhK [Bg v [>`%Tְx(ӭ^=6rO9i $-'9B+df{R0jĐC&1E'ƶm vͱX{{+} G4rڝs޲=g,zDƹpGs(<ѽ; *ٗ; -{ʶ[9J;׎M.0R`FZg5@Lf9{ ׌+4jdTƻBVkW嘢ǖ/&1_\mu,{f8sDT< -8N IQ,ڢG:4 ^hu}IG]M-2?QxsJ'~ ޒC<{9Nf>:}L. WhZ"'PSڜqW\,ՎLyqkV oyg Xdyh~'znLoBz:cv;ͮ$$+9_Qc򏜾1i Vܥi Xt)> e/E쯭,ƉϘtݫK[ݘOf]=u 7)qc u5Tq kjkDniCQ*C w؝0xaA*ErB]p#9VMyY}E!`@R"#JCXPj #$.+kCIlDte(FpH<Sz0l-PQ"f T8ţP0w2&mƥۮ~lq@ٰ~nkZ*t?>.W׾n?haT+WǭwԏM)Gxw$&B7I }00^`ӆ툼|U!InMyd*d]8-l?Փrԡ u4P8*kT y[k A0/<8ki(|%$3(B ̲T A.,E3;  hKS~1u^&N TęXm :@N@҇7jBl:Lt+\J&%G$6 -t冻n^KZ:pt(ɥ;;PS!P[^jKNIx,hz$O;d њ-,u]Fv ="pD w=e!C<#%7 9!4kn<+y\̝Fi\Rmn|7e͚O>be_^۟A4Q[KcgLh+yܡ>&q-<."FT ~=.*ksa4JPs]҂ 8ӻzy&SKܰ$J/$݃7EökdkX㊴#O 0>QY/f~6qpUA,/>zI8f,8xK3LbL9,F=pP2ZW(rPutN]7drcot3LRhK}Zr&k41{g]|}yIbKR4kG L]Մ<'&5Nr c0i]w;Sy~PRfs?g@oMTkvˀ6Lurk;cVO3C9$H)=?IߥUՌ~/K1]IsS3m[0i=_T | ֘:>~P*v9M%|0^#Ө_ pܲ`ܝۇ*/D ْc=eF3@C^|ČEI*pG[7>s*, yNbHp^vs2ԉ& cfy{Cl3o` Sj>f67DTJbo}Q=FI]ؕ:ؾSա7<:zŒtI:(Dk+h$YΩLO V4~o!GX깕Mf /@;@SnΙxFv$q9نMGE& F/^szK^qϒ)'j߼paAǹyǘZ]ZY^L5/t$71w;$:OMs'eM$\G1wDcZ&$3't4jk2rAVӰ˰(ex'wc򔳈G$e[4/M )5=]6iLOQULP=e1269N,JAbF,c$@}^`go؋p&͸qI9'<%c>;B6\ *Z:o3umk~\QN[_[ƞ3ra ː\hB"Y1ϯ2Wu4l AQ)g؜P˧b(ij83^cT$1*}bYv(Gr&mҘm{wnh :E_<ر_\5$ztZty^dնTkc uEl! _:&Vvfe䷶[PN!]m~TV@+dI^5\2U4GZN5[jz/}ƉvZKAnf)Ro[o%lzQd6o-_,хpɌ8ṟqVʖc82Bϴ >?f_xþ0c4ֹe IG}^m[\Wics N(9#heRNV"SI>h^$>t1`|yJkd=2_S!4^EV)hPzLR9N&fJ7~ց[53u`SP(X`܆ F?B=_3źGT7!5wNxJ/f$d,hlvsz`2Hs"rqRSYYa3=QA9#yJ+\sA8V1TӃ@e%_&IjXgi2r%>tKCa_:'`ɍn3[7T<W~C5{ʸpe$#yrinaCI)~(K؀(8M0Uid7BԖdLpD ņd wnf.X̟cdđ^d쀞Z!(1:^+byHKP<~LGyF:' 0Ӕ ܿchͦ5ϔ[m ΧxiFrYE2DŽs<>MM;3hM~6n&5%4nN'YUJsI*Lh8cVGBF@ 4kmSZ#*ϯ9IcXQ^o%lQ@J-`S xeU9^ϒm Xb`vfST8m&cqɺMunRVv5U3_P ! '`L#:|>[]M"LJR*J<ꤛKRUQ x%r5eIi=5m"T&. Sj"p$ ʔФI'GR.gcEzv?_I\e\p %F|>ZOӔ~.Ƈyb,"4Bл-w C ›2}V%opvB1pD@e[12=D*_DG6.xVpZ{K Qi"^_[~9A2(G-3kUTڼعX 5l ^ec9b{cvCO_{=]Dw^" ޢH*T~4MV=&SL^zrArUdK~݊okLW8yqqQTt:0[V$^u dDeZ/Inm R$OajzT?Oס?6>qhcVONOBgGPa!]~J/(b!?#gk"Aݪmd<66vm=Ia`8jE&+tVM$CS7 %%81ۑrn%#~Uz|2$[Hvq16`=9,A?226ȶ?22*!\ZgVO ]k.k8q>,ٲh*C95״ iLbw~;jײZ -gxӯw2ͫy79 71j-F%{Kl6I&}T;馿\ZoVizQjGIK,Vi `ǧd3Kws'EE6hy#LɷڗHKNQk.&)M{]2!w 1/k/yvVܧ/Ŗ~x(2ܴLhE|wx@@y|oYv`~Ç?D7K'9ONJgJ|OCg| ;4M|saiU[HrYyv%e˼&]{@$ObeG.&4u^Ք r3]ӝ=h7f Nꄇe&kݨP]D+ʈ+[ae@_ڑmBm EQCEo"(cSd")SS˔qU;K:[RֆbmH|^궆$"am) o**-0,X8OYCW^$.2TnςH!bo>EU,E277O4;6Vض:y )sÊP$p ҢKPS&14r1OP~E8:l2\`%-a!2*t>Y^!%eK|*/42M᪎sƖ,#e+XXnxx7W_-c4 H1ϩ`:fm]1fhS`L(|q`~AostSd]biq 8Q4$dQEL#5B>MQ\=:6HN!vDq;T-oYۤ:v6l \nᣱFmj6HV5ȹ *?\c5X{?T)u͋)HZ:`ɻ]ӎ|,XwWBYED9l|  {5uϏ1dxwd &Z Cv<S /u1.I p#ܱn#3ŊT#uh nhgj&' \?7/slۈU0%[E"B l1UBzJ`kbo3}"!j~)lpb((/}<ǣܫW/a#<FUn}~ˇL5)=6(1^}<ּOjṵA_R_[@P4Vѫ/Q$@\^>_x 0"S5&`)o0Ndxt #1V.R@u"{6#CKᥗs5 lcv5#-t60)D"`j>0%t\zv2C-*GFAѷ&YWڃq_iBv[ S 3+UEvHGc5';r\,߶XHQKY;77BR3CTsIF *rxWB>FYb)Wh?Es0e}VbbQ4c_<4n8-`<[iIFV8VEtM'lӋos3^=Q>=(:DSu.,RTe: 1WK{$/Ӷ1C ?'k.XƪFXAfۼ{P,!S3  W9j5s|U7s4jDdUCX:N'FZe8}\95bL9>*1I/ E ~߸Y޺[`Bר׈I>6HiTB p2R0తW[eB ܳ#HdrÑ2񁡰mU^kzȗ)ML$Fj2t"%Jd@K2\r ׋2Ϟ Q߂r q&[Mľ1??(1G>/?rʊ_U{v{y5 ܱ"AmʡS7۹4]֯?d[o5Klwծ'켤2󶮌ɞ!d|mIFP\B1Qox4笥9=Age}'jR`h/GܐCw(Qm2Vr) zq2k51]&N.Hy.˙gvA~b7j(Unh{!M묉FAcKF;wJsT> MK׉{*7n +_WEV0|ĝ8%bmtuuF (:P5ҪݮOƮ+M>y}%-yO);hsApQJZ@FLixhqJ2)=75!$KK2L 3D@ O~_T&,߷8ݣn/Q V9ROdQ:x |?=xD^B/)elMpAxI;]laj{ms!dS9jK6 1MBI9(P'p_ܘ}Lm (!1y576R' X+ߒ}ݛ&Rp>ݗAu'BUKДe褖ƶ|N\:N 9gJ-0] R^@#]u[$l r[ ʊ fh4H[! eheAYP֭EviӨ!6IKi'J-JwyVYg)+oQWF(Bjc*R].Af_M/oO>%*6s98+f+:?^ owuHD)fov;CmZ$\hSQ$Rkc< pq~f?3 GM^)Ձ?^ i֥/Mcئ6-$1Xqre m! S E/T7er%n?ԙl JHI-PNX2.J.\Uj&~O%܀ d'Q0XgL?`1>GiӲUZn|2mdb@e&xƽv?*V3M/9J&̆|QU>d/Y8u,p|(zXw5υUi%zѝK`BX Hg:RDBLm qKpQɲB-"SZ͒jiBO~߲١2BFO5NO? >8ے4 .SqIK 52gzD4Fw\T_xCA53\{OeUUcpyʱ79Qu<=: ȁr)s0Ii;IZτ01P!."?dpAt7$ZW"GwDJISTl C8*A^RRi*eVwiYh@GUt9O{aGμ%oS#t;|^YbΞ Yכs扨ro&ZvB )X|ܡNa]ّ8%!IN*OW""hzIk:;`h%dЮ:Ie :a~vB|괮 vAΖw*:_8KJMVA+[Ը)=JĬeB2fyDH|D9Q C)\,hZ|1Ad:jʦt;ĈXpRYtNv1LYW@O{'ַ#_XR2 / +ϓ6햵mnto%; lqPyL=[~=s_TysO'RdZa˩=# P7!lwlFFoWΚLs_tX -!u| ]j--EKdwDNp4nDdRsZΟQTvޝ%tfKd&.9B9Ɣ̔nmv3ۺECM5C0x.CMCkp GL<1 v 4 ~]kȄzz|٣`٤b{ %?B|g] 6)Y|5i,Uz^CRQ=$ &tQ zI[nRN3_[5|- P\&nHuRMdmV?8䰞ΒEu}xAFf%,-;܌Eۼ[Oj}:?Du-7kPႢ=$"N9(,I p. G:I"ǚߊPXH!k;t;iC^ J^gZ yt:ec 6MF^KqŖd8#U_y%acȰ4AX"qNIϝ;lSmn:BdJJdw6nh&ujy gZ`oW:|z:fJ%ZNÃáLj9#Ӹ*>F3AwYs lkop$_ĩU ΢cs mF+NU󁞗;mwO-tw8Oߩ4K&$)oRf7OYEkDS\&mQk^ #T'o4]M:bˆX># G7;ms[EC*_}/٭y`A^"LaӈIz9*i#lkhś]'}6A jߤ'[՛SpUU E*R4ӻ+nW/S7Qa( ~w1ACohW(J@,=1o.;%*__&oy+byDS0Gp*]|#ۚƼt %p}MenO' P7h)9'{~USC19&q\d ZL6)',f[@MW_9Ko QtR_QXP!y}pl!vxJo~WăVFTڎCbw&~5c]89r~kUzqwni&l,sP4~*H2COcCҷ/vy[ Gq#"mhkaL"Fl.|h4cHr QCDt1`шKϚ}LQ1ʼ[C? M8}n^!PiýDz]|S|3^oFHO־LgPW{y6 VP(QQ>vr(XrV^˫ݮ4_7E·RN=NH"M}^qaX~ǫ_Ply s̚|_t,nrD ǔsB[ )jn5ʺ\S􎂄d* ^(Lhw|hQ'N +zU(RlߵK.nhw7[ܸ'b<)c4&Ε $}~u)ԟL#@bݾ#VZ2_McD8x(.smRd j/a!e4DG%K?hfe3GYrgY]Z{61<8xR絞ܹ'?9zm>vcfp*"^>!oM߁Q sbzDTy P}HT&f59ʪgD21G9)8tVTfl:!"IasjBV+1֬(q]mlÈRtPQINf"W`KѳVsmVays$ʁCs{8Cͱt][t2|Ճ\jRpvS_"yV7ql_ \n0W%ՆiS7pO--0p#?m>oּ'gIQbm^Fׅ֌V\y\Uj΋ 謿m*K3oOPNcSyyNQu +MѪeSceuW|l?OQ>}_ ېs.7xE:l0 êZeN 6w(U8( GgED?[5oLolAD@2IA&#&4 ?.Tܠ`-x Cwˎt]U6ԒBv2o$)m08@h'%ɡxt\)ڋz=<ڣі1p@S.9VCPZt+),@" r逌w'N_+_,̜8}+Dd$kƹ9~qBPR΂d-e` .b܈@z}R GiҞelN1ix%U#3-`fY 0;` ,9o͉Ӷad8,S=αٛlu~_ptB_mJC@O$=1 I P~72 zNnL!ai? D 2zmƻ+]rey߁,l 7izYibCT)ZG‡ y V:~ WKL+z?o~@|O.aK>wtѓ|g_DεhCmp Ep18 , %KLP}@%6P (X4 2Pk؎ Ȃi$f2`@LvD{31`ìī^Xp. 2fːÄC[!CgYlj2KYv%Kn!f 0𽚊MuT̫18+섓N9팳9.b*F&j;. lTJieUNyTM҇[[Gӱ:CP@)(T JP4( 4PCVq:3@gkTb۲lW傓iZ;Mk~FaN󚩲ψ]] + M8:coyZ D`5.A:}X㩼e⦂SThkpU 6LQmk t8`ESRi,Zow/=س@L. +`5vS6-6*Vyr?GJ~ \=szx׈fGXhl] iƸ!EtY2*慾%jw7],+`&̣fPD%d[{&a04J6šlg/wŪxyhWuuI~S;yY{g-kQ-.sG*L g:BE)nDB)E|+⫈gBh~?\)J`5c^B46SD.b]<,RJ)zXp+K[S)ەN b\4~2P|q`yo+do4jspUiHY),~N+K#vE$& T9GkR%B_=E^s}`u"-%v۵Š G=+'P)㻞G\6ֹsiYqmc.>iЬSMb!OZ֯վTHBeŮZ1-iX'Jhȑc7ӄ3~H-FW+ӛC|~Ѽa*֏}c? z=?6^3Sjg8 )ܝd[_f/̆:?u< Zc99HiݵMb]cfpF=|'2:H:ûŕi tfl7ߕFx.Lf@w)6\-&ԦDEɥ`<)vwpJpJG tN=(- P/&08 NeV8ޱtg2ܜLjKjڅwicVkqAkgd(MLÚ n8axc[us͐(u {hB,3jWm%bk7_5uQ˭,5vO3<NӁ݃#[QdT-## };So?yhAZEy({ zE'_ b KxcP-yesr%^K  <}\M&B}Eج]`:hhPqicfPe-`,*XN+K;Zۼ8nxR!2t9'Q"^EjPNK#Z1G!WHD._r(A)ӼHO]2{kdj)L) 6jUF:Xc]{荨)K8ZdP%"|+!GJ}Z-HF\f-_T&He#${Y(M)&H'rTR/ȉeZQVB)'aN]\H l 5өT:z͡)=:c 7rZ|]S@X3#ȷQ0Ľ8g+O{S?rXdr&hPZWNamd=E:?HzJ yT͕Oxt>Y峾V>}*T1m2+OI/JڹȳFC|>kc˔LrOI2#U,Y6w4gͅ"洚2"]YE^,\*3Nޖ*[Zw҂߄NH՝,as"19LښHmb^?ݩT|&ZeY1"n%eWF,$uqv>lM}wRWA&@y f8Ap6:.NDm1NYOb(֚KTQ`O[-"iQT?Hx~԰v`1k@mʖJ*H [ KԇdH%w$TU:Rv=hGjt5TPȁq!y*R1S@ژAZ!f_ǔE[_qK$!0&ėx ?PdS m^,)=6[\hGCNv\_ijq wRH/5#U)Dw bUҫIKh\q pe-md~0ȃ­]^3X/2g-&y/Frv H`q󿭘e+OJ;͖(ơ$D&ZGH dҚp{L$ 4"]ZԦSʈ}"J%6]mq[vCAGI_\*:EkM ت \UH=th ^ O xF#Z3aLҟZD}&եZ@-\%y_<)+uqA}X @SPJh||j#-SD6KF$>$ݻ>qqO06S20ٌH|HL)$ZzTTJVMw,h5HGVjVeS -M2V{?9ck#"3-IYTRok*út|j;X#on :|جxfOy'z5;VxXr%ւZ62Kr,,_ cXu+5VjaԟiTLK}T٧PX^V굹g\), xS&[g (^*P\5$r`Eڶpдl-4jAqd7l"iGll'-xl@a 3ƃ2XM 1`ԷK<^Gm)~EΌ >mz58_r_QP[m <T {߱m=m#"i=RV~/Qj(ro7Q~js:.ztNa&a9oqǻ<]$z :> pm 9d"2թKit+=*Gqd#h|fYC?S.& 3#|*ԯ!sxkkY{ܚIwg[AEEx :p]=ΥouՏ)wV?&pV)åaڒԚ֗ƋAat9LШcXv91v'h9 C=v#$\c)O!{B Ԙ.,>)3ЭW V#R(r4;PHV9WhZ=[ ծrr_A/kvnvFj߁/׺vO to-> ^zu@*d:ܒif\zh"ݸ"GPLj;zNvo>+؝91)_x 2 yf'_{+:/WM$i< 猓^!c).b^5cwV1" K2?r}~GU׎pmC3S4˰R|G&sU)y [2,=.:fjcefzi!4vq9w%Աxy%@_9ʇ:u^K 4p)5 ܒ[~!>#}bww՚Wa\%1.+_2 _O+48<}>*5]zk(iV1sa5fTV:W 9t\&{kd캢ceޱ kVRnsw*͞|p<.vs :Ą@$q)%DxsYfTxM{&lZOJ<澎+=Š5WC/g-|]mk18&Y!d<Ô§8J3%Hw=!3yEO[*KQ&/ӘW햡8bvLZFqK-OQQ 8|;]ZR9:V|ch5@>|twޒ>(>~ȎokWwvk#\OdMB¥D[d[!3ލ(N| z8(6d(kZKbm\7MbOW>ؖ.O|K _𔯲cUF0O19/bc:-K-<>ąip5TiU\2nj>si7n]Kިuy`#=U#AFry>g#7>Yhcw@Ta\[c,6d|H۱OZDpuCEFMSKUE3˺)ߋM=(:uӬ+e^O/K5/YVTɈJf|TR:B XXO8TS8P~sLd:M I|Ͳ~ͬ69fQY4<|z/*ZrӖ=FQIV5sКMsI )ˉ@>{.u1pAvwsNJ p u|}_D7Hf}^Qg^^v2'C 7 I~')x,mOdq]YcI]M_|MS@tMRmffC99{}r&gL嗁 m6͹z/i.C::'Kl8sp9'mk;b= FcY &r`WFүάIۯ<]q{邆"Ip"AOy:ՠ9;Oqnᴃ3x t [a=,l {v7۩OpVc*Û|mƻw)*}șoM +uز7#?(/K/9r:s!WesBXզnݎ۲ssX!m6ϒ~ߗڵ:xmUtV9!Ĩ&n>9CE9!3 = GGd5ܮz;*vp. p˓ 057(eX <Y.{sҏdf *(2~{2OK)&tsHjP>ѥb4˘B+v);>4V)2mS) цZ/G/?ţX"H, }ƚ*K֢s'Ӱu$5 2}N5ylbDx 9,Kmdސ r+ԆLM"?BX|S)L$8Gd>% 0b`Y+(vPrZPWӊ ]F&*v-d l*}g ^]pZypSGtdaE}. %jB{P[sS6tؙ &L(yRQx "647" &tƔ~fmYlg4cx%N-hQHaDL0s8O%&ɪAne `ܲ}/I$խ "[ ;Z_ay,Ո/}2ұ73paXB#H;9 @ G'Xbqv<(>@ N#%!eܮP\ix|XiD\ Zaf ֱΰ $"LL<:N6EPO&SRz|۾;Ok {w8r""QYǑ_^^ڹ6+(fefafe`+Q+ ˒9\1i ⊫قh",%Гtʡ_| VFο>'(Vt s@M[v8MPlv^ ) SIC|0X,9%̿wg6x@3d]+'lVuԷ>̕^~^"y=Nt $Di.σczXd 䐊mh㟻gf# a\I+9ahV㓜'<N6#R 晽*㚎.5Ắo;z?;yB)Ώ5&wNHi[jF7~鬜E V ԕ`nmBLftyҡn-j8W>9{ڭ.zF*o$8պ b̼F+燒5{*6pԠ`KG Cn6jcҖClae8QR]M~3;l,\g vV4gp=+DFCBɩEV(1biJ<3rރV)@AJha C(4$2J3,6 "D*+*F&j3̤ΧDt L,l\<|B"bjǓU;'7f^-P=IҭG "F8@`)R}&]LYȕ %ZBEacϏHJ_UVD4kAA`G Qh '**Wsy|:IjD-Վ~JcA_4$Kk,xFZ=e8V/vwN9팳9\4.V)Kgq} JH)(ihYz[!E{opBp8JG6Qd)R}&]LYWpVma FRZU;2 W5mu`'܍G>@:mNtCz2)a/Cs^3͏^% ,hiҝ2_+QL `َAIEYMake N(=yAdEtôl $r+Brj^N Gs|\sV /ɩƺ/,.-2.B^cx6vNE1,^LR4r JjaZ9F1}i~@zNͰ/nz|%&io/ߧ{8˺y@FB1,N Xq (&EY'|㔵>aL'!@B3, ,ٳNQ50-q=?8Ipۊ7EƅTA7S $+*n)w2A UPit,^BXb"JBciemckgNͰ/nQY^Uݴ]?Ӽ~׭ #($E3, (2SY:P=BzkF13+/ʪnڮi^vZn~,lYeYTCE=!*uwFP 'HfXDIVTM7Lv\(N,/ʪnڮi^PB A|0r {XDIVTM7L Aʼn"Xee=Nn #($E&,JjaZCOheEq򕜕;nZ'TXCL\5u MQ%)*]Bc8KO;m8ڡHL6׫ש,6ˣkM־[ c*|py(ےjDQu>bqOeSq@oSRn8fOTG}ğ{tw.Ϯ {-0+gm~lB2~U(7 |Վd:@Yl_5]PKG@K~#li{X}nXVuN}]cv|'Dos   uSzN$ۛ.-l{GBmNJGO#zHɻݡYz*3-{ُ0[DZDPƅT\0 icu#4nbf#y5> (pq 9J%kV`XiM {3.Wno  rѲ2J{ =bQJ*Ej?H_ kQ÷-&ԫ<[1p c)n6"d^eCr0 0|wی> ;NhG$u*G%ρ"ź5_=Gvp.FڷޗpSc%XJQJPW԰-i.G AhR}=:`*,N2}uzaTELp(IMK/ ^ȸ=Ql&Ma>E(^qN܃GlbzeϻdәUJV mJPȎl,BCwOmPX YLZȧ V:g/0#G/&QQd/)P΢Qp:`԰*›cjcsDPƅT\aB-FYzFhXVQ^9Cr#@hdUxl($aWXMr+Z`8j-ϻ61BcU\B>s~5 ?~W[F\9A&} W*_Ep:@H/yhkR5k Қ;Jb _A 2\#4Tc%az/sخ냞1oxWWM"tQ9vM1 IiGVڱ *(z9E;s%4m Q „2.x߅`hi4݌."fu=5hЧ|p2)〧y0,re㉘ePY+Bb#CNGw`JRej>a!6 1U"tS{ o!A1|&GdRߡ-x{Ic_{Ki^/TLygcI>ɘ()JZ}HeSFqzH` M(H3AC8ch)މj2 Cb>젒D)N(eS,/ 1aYJK:+), ӂ1v>D/pe;usZz*}cwW  j*2wW vLLt^d +zW}e|4C]p~(pJ2 +BftqVp䖳+`O\V_"1.dFwq!3Ÿ<{ʃa!Z( ɳ&ճ-k[| Fxy*@b\Ȍ $Zmq!3n'2Om|)ݝ*8Zaȗ$y2+[=ݛYIt{1\7UT%Wl*]h*Rjds/!""]@^ >1*3c,93ɠC@H[> 4eӱQz<&q!66Sat2&@2M-8!ekXѧ<[V')ůX+!c{KFl 632dW?<gb`zoq?=)'h)(hHR2g%C TQ~ 4( 3etRXH3PVe EfU>H?`km¬9$ɤױob XƺAm{xK*ۧw;$~#kE9Vy'SwdS~PƩ 5N=/H(dǦ>".j" Uܦ Sׅ$MZL,4 Y7Qb (Lڇ69H#^JZK>Ճ])d( ɡa0ʸ0sKL$H5;52.ҏbͭ „2.=&q!66D)176*h7'Cjǜ?>e7_=a _+%6v,Yw΀f+*Zaͳt23Lr;B,?TSǃhKW K$A Rcz񜽛Bb^/^WcfM*k$o.p_},1躑tт15{a8x>.kwtZ+*B&hS7TVa,&oX5&5-PL7R)?Q ^h>Ofhqc5A8w .&; oщjJ[dGpPKpYi #8e3P̛MG/ +,Nd)ڬ4FS"Yڜ3ms!PlaPRQXLw t |bS0fSV>"9gRǰ0 ʅT\ @ e\H͵"„2.)>+c.n\m)H iJq! ӲS^ 1.aZz*$ƅێ62aXNRn-tiMeG[kԙXO-X-@ B*m3(K۽|mml0lgcn߹j=$ƅ4Lv\tz1^z;{55i~b\ŸqwOF2 e rJ` 0 T6$N -[U4*9-IJ*hʧO kD3=,(]ݽeQɘ{IpQ-E~x^Yg77ɟ$; 'HV0jF1AHބsL +%j"Iۡыn c01&L%UM)f>A<'9ǢZ+n)$8F)4lӚaA\2 c\},ӧYiW' x сyT ev$`G$mO"Bk;n.tN 'rwĝC8fcbLJ%j$i= IP2nsLl"| j8^iҡp*[ i :0E}4pS<y*=LI%[5lj#n2o^F!G"XV^ڂD ;@ #2m g쑛fq~uACSdc)RD4&[$ז ӂUWid+rZ&_֪P);v9/azkf>c._ke0YeF8Ά}KƏԳ{ĖSH ĝpXkN4"Q#s / 1C.]P+2Pv!d/,84VNwqP{L_6H94l| ʕZ΅eۤ/^B}Eo;bk7rC v53WvT#X+Q0Gdj_< sF-!͖]1FvF2GF sdD"R)G8W\uleTNװKp)+}8fHMdwVd>l5j^!Dr*Z?1D&3Y;=]Qӵ0'Lh(aR)B)Z]iNKk:emņhN]iT'SߪB'Tԩn^Po̢$c6;s+BCؕfUb9(nvY*)G.A=IbVkWȕ壒[|*o'XRGs,ދ+)y?YQxoƲh8g܍#hp~UF}ނnx+0%Wb]QU|Փ+?]\t;"R-LxAPLmvfuԆhLeb4|ޏ-y--${uܒb'`d" ep <0beg|_(iVS~wGqӕno0Hi;JۛB`^Čt>H>DB^17_9wҚ J!B8կ?.2CDH)B(꫟ȄC'"RH#"᲋MJ(ic1~kͪтzYB (<ɪ&%]qRH""E$Hi.Wh/!#[{~;|X 2Ae`C FعoXٝsՀV 6W5; H $!Ry~)g"H#"r ҄&3;UF؂d8SKC^J2@"踲-J{cƵioU^a{i'LzO~g. [VE*1&rtF9`YFUlVxߌ/|e7~M( Yv乥6;F2>AQ%djա&mјU'cK~i-$A # bF#+#(#lA`E;@v:T=;I+7> [+6vHv)Η.6 nn]nݿ T Ch /hKrP:: ] ] +t/(!+Iǐ9 l86,Ү:m"ڸ< xyT;R7cw#&+n7>21ϲVXmKn&fV+m~ ;|6b8M @fߘ32l-]h}v0XXo@m퐅Y}X@PNRmpDDA:@@o :W nWZ|̷k#r{0F:St#h ș/<+k%Ċ}2|-e|1ts6O?0ӿX??^%b}R.݃z8Y  hϑn~R)3G{F\j.^i22ɷZ_o\.+( 5lL 9Z4kqTa&+th-UY 1AȖ6.L!I%s*eN}/P z۪3l9Uǐ2-\CAV5U1PE9in+hY h0k{#]/̕TЊCU,QOr2Gnn~'-ӣ(ەvM(^d]-J˯JrWz!ۤ\l9uЗmzɢ -3X\[EyS_b$lwɯGTl dd&(-(EiuTT^ }Di76l g)N{ ijye5lEUFAS*0tI-\Ņw;m)BA~W IY?k]]''Ee5]Į  i`!ZGCtggDP(ܢ}o2[ҶwT?{CCÜÉubݳK+==<͕Gk|}h|x}| |Jb8j\h(&%|*^ꛀИ A߸Lׂ K,]#DG~(+'(,(8Ջ>)/E0cHeLy}[LW௄e9yQBjUz| ҌP(J.rH8d #7 @ |'a#N|i*\_!, )VA3L"2lg{0p|PUē2c-K*z*%s|/\7^a swI|=%_`ʊnh;\Et{Ψ k{ K~c4 Kil mu7׈Ш>)i!+A@(x"yQJe )O8_"j,F& 5 fH2"4td(pQ#ËCH* e*_a2S&1`,Hb abV’VJ}YVx.,]ޙ2e73{;#l7~/V7|cN>…1(vR:3Riu?3B^J |pO.dROήۍПSo1i9W 9=9K;h'^MC3|~iNiWA1_?W䕏5>f06}bcd^͕8Q,! b\\rZs #Ai&Ғ ўp(e!LG;ǃ"syے66\! uvM{#N8b^H^sl<:aݓ32Ec-ɪc6Ezl8pg-ŞfS^[Ƞ:JV a8AR4r JjaZ@$Bc8gs3+"|>$eRUoy` p9FjyY;L9,ɨ ٶQ\R T `$UM׮\e~G4w?hڝ}o\࢐b! RTϕr}9Ѥ&bZ3b9x DEXͭpH/R&)&?,P4KD])I$D"HJI$H$)I8?x$>kŠ!AB%봥E cKxRx= Kel<:tx,1F'u $y%M%v)RAI!Sl9rWPb%PJ(WR'Fa4h^1l11&L2m& i")oo-D[Wxݻ]8Z*h}6 }ӕUJJ526& @ Cdʝp.E3J?Ф'.w w ajYD_PLDSS/+{\*jq?.%p4uK`<˲nxYu8Dp?Uk%fٽx_QpQР%"@%SB\.?yirLU MiB0lN{^B&*ХZJ).wjN!D)pi(5suyl XuK5P 7HSM3 32s3`En8 'HfXDIVTM7Lv\(Ph 'Id Fg0YlEbT&W(Ujh;?o7Mf`phxAdfw8]n@b\*C?~?4:bsy|P$Her|Mrߐy0?X=0 \6K U/"*q)`0%4p^a͎=s @#i鰀#(4 IeV<L d[H I he5")h+PqN ٓ%>Q5f8BH[~BF2~W81 rk,p?YPpSȐ>Yt72-T^QCxG i\+7j\âZa\dYz pӂ ؋V-|>f}+^Z0S4Ї[.pZZ, .KDcϵejP6)3]$$2*[A6$iyjBjY a(Ю*$)W\JHCA@[V\$8~9"\h_+x/brX!V:KH:K͆*ÇhLb+S Ŷׇul.n΅Hx{u@iq{)Oāt59LI:'Ў?FXIN,pcMTCɮ)X?sJSCP%?k8E!GO4Q V NsD'c ]##'Ѿ\ ]n ,!V7LۀF]4aQ ;_ G,$H(*F&3B0b8AR4r Jj;.# 1.2̎%R\hu )a9^$E3, $+e;~@`@(4$2J3,6 "D*+*;nj 'Aiο\x!Dzn`Z"h/@(9A-7z*}/ 8BH_X!#OCsQ/m]η~݁{*_R$e/_+d1",H3, $+*F&I.kxڃ[-9r]<{D& + F: C֮X!e94x~{*433{(I03Y'fV l _^Kە09B gIeB'(ءu#aO9"M,9`(RL*54hҢM.= q1g99λ"˥4&4dLv<؍$a{ =c 佾0pUUcيz ZH?1u6u]BtL;xKdLbk)I$I$"hY>iI$IgK8AR4HJI'S Pa֪ʷyBRk:h2 #($E3, $[6r{0B*C'edh(N%@B)V\JU'lO>k& %rfe^RG%"Nvuy8KAs3eAW|F[◤Kr*nvw"ynt-Ż}P`&\g9^xވ%Zь2aœ:O4&*TRF-:85jB̌-Ԫ+Mwz4<I݈C9V;e&YQTyy}p@R@ɐ%LEJE<|a4hO&/G5ĥ3 otre@293cwG,c@1(7-)J4T̝]c8g\\:f'Lƕ+Qe4е?Eϙ ޔ!1L„s/koD-A᛻m/Ĉ) u%&{Uqxr[^xߘeJ\IZ2QB*jªS Y&RIs >\wVaN-ee* `I)sqh$0_ ͎]TI&ClEC(0K8^)DIVk:×oO/o 3TX7>>v 폪7H ,x%Y&_=y.ȒrV), %zYbFL`aaGF À>up4 ȴpQ8T1o%ߢ jhyzyOLxRbɰ #j4Fs  tn$A "v&T<$iAw >KN9u^U4"~,''H(*F&3B0b8AR4r Jj;.# 1.24$ed_')PDw{~Ai2N1 W *QZ`4,xAdfw8]nF@b\HehK29B07M(fXmvNͰ2" 'HfXDIVTM7L(H„)JDIH&]LY]z ڴȿUUz6huzd@FP 'HfXDIXmvRO.{H#= "T[#La,sh$ƅTD*+*!&3[yAdEtôl~ذiێ]{8t!A1 )a9` &b<^2g\\!&YU%LcWZZnEfY}L{=m#"E$V"3h/}F}cw?i?U@R@ɐ%LEJPFMZХG#: 3g;y\De۔Cq- B2Tm 5lICSp\'<}[24MD`qeH8;0GId Fg0YlW$NPY` QJZ Fq =bv5Bd|jO:ܢj8KBB@'n %.4t(([ǁ+83.xN2Pt# 6"8ߜ.NPJ(WRUQdS6cy DYڦƳ̭Sh-Ch.7$Xi.2' URhuzd@FP 'HfXDIXmv`$ƅT]'ed$Zۦ?]*UIfW2k_6M\'Cy'؁ M†/ܝPn2 Os_hqVb fP-D8 F$nĽX heVXaYo67 tu$DQs A>A\G2l<'>r$]=E\= _Vڙ-f bz>;֌_^jz,GOT5JZ F!A1 )a9^%bNۃRIJI%RHM&=֘q=)jʴ[ $"hzCypI%H xo'^}$Nr4tq7;<RTZ+ nc_JNJ\lDgl.gY㙤2c[q R|P(UjV7Mf`phxAdfw8]nF@b\HehNKJI%IJ\ 2#1X\7BRkDPf4Y{;JZ u`{oo+Y (9)Uc;'iҨ6f;< HQzZ0w@(CHKby瀣x`{ $pQvmr[5F=1ѼR!&IU3N'r[Ѭ$ D$x%UhOQAm:t$ə42dʒq[Yhu`4b8AR4r*" 'HfXDIVTM7ܿ(j :r L#($E3, $+*FGP 0w ܡ( D :3_7v;?} [ H 4$R\Po0Pl )a9^PBB!B!BnИwEMJK$У 1 P$6P)sy,KS*!J3,6 "D*+*=j'I.C,rʓ\"J ^llM0tcѫO 1)x;*iQ,kU  4P.8Sg%X[B L/JK'qDOvAn9XD.*uҷE+n-_* *.xzF[> 1Mߣ=~!%dcqƛ`I&bͶjviSHJZ #zфbffwI 0 )a9^%YQ5awGdlX`GnF;Ժ읟bS o#P–)k'{߳^ʦu>*>}tF⴦,#;yk2&6%y KʏL's (HLbre]ك=ˎ8X3c`#2pzBZ_ýdaŲ_%H(*F&3B0b8AR4r Jj;.# 1.2 %R\Ũhu5. F-$] )a9^ $E3, $+e;~:8M0$`)dڵ/Ex %I"u{ZCPh 'Id Fg0YlEbT&W(UOWp{6( k/T&3B02l59I Ijt@b\*C˚X"OʲBhB1j;phxdDNͰ/n4 ވ%zhq/D$RI.C,rʓ\"]R2 )$e:+1B0b8AR4r JBRk:ؓ,lΜp骯 2!qC@ާ F'*HOʼnRTAMi6:JqHGXv- ) S뛥l5-=]w>\C'rH:#5GWwuW!F؞U'Q/uf'һ30)eDCOᅷl)|)*FȠJRMvUp;}`9Y@RaS4,-flȷxD$|?ɤ4޵%Jq;mvy%SP^hQ&̴r9o?[B7RR,(UT:EG4T GA J NͰ/lH I)iY_~O)P%ksxYjrþ< _he0ը}<<H+"FYJA%JZ9M|{zyEMՈnn:cH;T:5$Ŷ(Bpn@! pJӈ#1-%rv6bpTZ #?Kk-щ/Jb TeHH%u|,֌sM(dTb~ȕii|c;$h Q~AWp}/|HRg'EGUO}UˊcnCBfV@9BfYO'ƼTfAqAS{HII#' ]3Ђ[%"~˦ 8'H`_;OPhΰ+=`9p#k2o1_B0 o}iӄu`BXq|->E[5GKT*g2*8fצI=x^f?`֩pS9Eݻvl.zEC^t.|rX/Ft_hZZ?"|m\> 0`*?|f&-tb&u/Ο$f]wJ]U`Zzt7O 5Ю^ e7֞%5gYZtR%{ F^yt-WW)MSwknT'׶={ģ-?YBb]R-͝EM]M5^ح-02d4Z4"@XW|}TQSG.UjH=~?ƻ F_yޟ} 2`J0&(NL^T5߰vԉru7f"eA?-Xr[GG.'9Q]y:mNڪ\-p/u>3T~J%:,-V%(3L\+Ε ̲1z* RΜlct7=_5eO=ZuiFXi47$ K.X@zʼn\DPQQՖr6wP#/nV[He>uV0X:8 ;K8EafIQGvNAgv))?IeE,j6Sz B$(@kmfEkf!Pd$@ݹ7cH صpw*: Bo`C),sY7:if)t8Vx'6\AK,f_:nBc'ci `眿z<?At1e=pn耍ץ$w-Qfž6: BD c셦R02md8C%eߴBt-$z'ya]p=YxaJ{2'Whnh^ %@-}L;1pK9lϓos=ON=_[[GMI[FoNtL$ˤE]9U Y9zGYD]. 3yPF9@U|*Waي!wT5leDBG]lu ^4cXNJ8l2v؇~>‘n|U$λ\˗o=/x,'K# &(ӧ ̴ݶ@)(' 3GѩS)]E^eIXtƃDWzϣ'JH&d69|ӫ6P*aY3!̥xܑS|=^JXRSiD\LI|&=녒(C"FDV9ȅ5j*GKaZ D++ìDYBhİ?Hś%=Ob&'?k?)oy{Rš) A0(G9  r%ȈCR*a @K.tLXb@$%+ S<:aUŃn`ݨ,[UjتAo r\>zدj:m t'+ zhn^ݤ׻<)-!j-8€HKdX )IR$pd)2H)߼T!)k֣x | :F'nǶc,d@y^Ty*\[sN(Hvˮdc뽃I@1 0g'SǤ:L3{ ^X6f91Y.e,?6p + *{$h])<0,I PvP{|Z )Sʚz9o\W[*=*='4gҥ˄{!U&0%.B\*oTnCG6_§N-xT*rի()]Qw87 EY\h%Dv,Q1+VNvlPr@%C*E1; !dQfPzcoD{Wgߙ93sE}W& 7+A}NCDaJ3\> _jXxc1={TA.x떼L+7bKFQ~7r:X4ݟk]%7M$P*&$ֆT1^] ] ,V>ph!ւfֵ:f#Z:!d)|M̼ssHYwUs3'ԡz7ƊoYJD]Wc@nU>=/2uK" :IcW0ow($b`tBSDb!R?|`#&l T64U@{o: z63d7l[d8$2j>DQr"r§g# g%O #pueLc`;sg\Q5eƉPn3mMhOZ"EIwHR[0xo1M*~:-('U$;`z5>ê.U'AjȻ2=ZL(0F_{{p7[~yi=hrd{ e:[ 9ͪD3$ \CBt<5 0CmmxC'8pƙaAɆM-#13,J؍ oKÆ6ؔ%bG0!„W\B9#@gZBI:S(a3W$uFDY!Ne)y5 [ Y2#H'_~#O< 21%H5 1h['+{-HgT BzLRۈVf-{Bt#~yh?H#~4\; |8>͜~O)wۈw سu ;]̂_^{/#*\UVm/M ?47"4~s{@!Kf+ ux`MZ ˴zKc+J0\4`9UF*EPcfT7Ƣo( mJmMڞ u#S]Ra.M ѩܥѝ̧KWWwM˷' zЋzV{ԇ$ K-Y_'GAs( T 3 C6ٶH#`r|pi?2?KͅI!~BXHTf.&1wq}wVv朗?SoYB_ /&>0U aLڱ՛tFb4m[8XtcG1#Oh 閣*YN7jP R7]M-:_ۗ0`(:O$]n1a##UH(o (D 2k*N(1pk:|/,^.3y*o} {oZ:{~rÕ? HpsŧZ@(ɈEZ7I.0 f r`)XHUO{Tw0f[hN83?͢ `,SæM{+5Ӝi`+G`ފ> )\VJp&J9rO.`>Et 5MQ(w@!C#(8k"u:(p Z#`G`EQQR-cog[ p,,;y͝E;.SjߧIʨ^ UX'֕<P"<9VgpI(iVӬmpW@983qX]U`> @"fdg+wncFaH]I\~)*7 ;.0E{!^ZIc6)tϨ ;@H< xC8= -I9e}!igڂT݁x` {8DE[-m]N 3tf@\7Qw,s%o8f1\jX YVMbf{xwTxiHR8] tYTzn{J(rSYl3C!Y ӔtCӽik\Qu7nDWo]IHM,;C3S||E0lY9zIJ]d^g"yH1ogDx &pk-'r~rcG>x\K)ũT5&Z8K$؆^i?R[`*D.CT?%$5M{St)Jw9k^x~IIj-kG:`i YVlN`*X/ US҈%.9>tiye,p_1j;24 U|ܔ:6Kx_ q/M^?,gH") &.,'/-DS 9(8r<ꤼ§8oq/ޏab]0|xL`.l-F<*'k"o,OV*ڧZA|.À(>[k]epr1.ۋk:×'~*aboSrpHO=O9s`j_?;߾k`N;{Di%axZJ1w7y`]ׇRnhD@T&^3G<1OER>aD'l?bTiov^wAvQ_ B *JMD[K$8PЕB*~} QvZlVB(c?'j=`Qm넿)I$_@ i=G$ƫtQ=R4YFX CTUH9jSF4͗q=ckʘJq2{G&2K/3B^Ef >(s6j?EQ1y㤥EYq\tx[O-=^;o@JrRHZy}V%`.HNvSRTpJٶFPl]G/]]0J,΍ͦ}v-]TՃrTDVQp9S}^pfr@PƅTeU7y9 Z2 00]M׍ׂ7/Lb%,|8 WO!N8 ~8ɽq|fљ@ͪBH#m%H{ H{Gg>4ٿ?RYY(%FɢGaH8G18yΝD݃ӥ0=:,#$1pD)D"4Q=fB0c%8pJqCƓ*j$7 EZFv)hkP^Ũ+Nq'㣋p 9hI}yp:gso]{c~t///~w^~L?|\csj3бp'!g lx3s ĎҼoeQ)@ B@v&GnVCJHMxDRqpHdb$#'&!nS@LRKI}q+v^YL=d@ؙX}BZЅd>72t` !7kDž82u?"g$!Wp(C5ЌvY`lҮ/ h; Yg:Kmϼ<t@y%"Y|=!q\)3fb #_ŢP? D! h}Ya1㘲Ӫч9LbF; Dea3Qugbt?fӤh= 11F[v=ZF%5ԫ b%%s,th] SX ?! \RTMhCKbbb*aa-TK&Ϋr(L(I|#'325PiP4*n#|{,ۃބEAu:^[oOT\cIhDɤJT?ˮfޫʏci*H; :eYVx2U+TyǪ 904JU&y8uKzINA4%*ؒ~9F쥯 \H@wM*H!a '=d@K{OG2OuysH, WDinZVPiHxoN/6d_+I5~r$f/sIKK$p 3Fi9Γnb?LYp!}Jq I8T53rLRa dE3Ζ ! R3n[Q?{ʂO\A< SY8ƍ3d_V>OY|CcGȲS 3[FIᐔh % OĖ3J$mz;e]n3=E;w%ϨV_q|-{ZboM~<دٯ $"LRV3"5NđzR/{A6cA HMJ %ِ 9 94] ywyOHMMYrr96"Qɛ~՟a!-^^/o'veSux 46H8ܠ&MJ& bC C  H kҬifX`-uV{^cjO DAPđ9Жb(D!HUҨ&f(CC˼w-`Do0Pl )a9^$E3, $+e9.xOi̢O E~Tq]E7 F!A1 )a9^%bNۃRZ&L+i)L~Eyi `' zSXĵ .(31=zGeD;e7nQ6%Ykdg +7T([Y).B$<5#DSS! W_˰snOftf53̬ 7YꘙfWE8By{OJ9jfZЯAp,13-z;hvmBZ nQ#tձtPH".) ̊H[5"\I[xҗTX(%ssc15f@$;1q]Jt˺]2Vn(#,.,ΓE.T[= KfYw;R8s$I InV].fZWy}+CBJ_~ B$IKp%h(P9M](վClzauk3g?kdPu!CRgvhoŭ3dSHqJ-3ceT&\:4$EX. NJ9b4Ehg)Ip\"rH(V#9߿h돉c^ɺjdt2K E*5Xhyd;Mv1װlt󖴜M5nflb\Ύ-WVҿ_ˇ(^$+7:x$2J/ #ш-dL,lܞ ޟҐ9#I IR[bs9D$$J$I҆'$iff$i{{ 9H433@H [4OAзw4QT U tSd5 ZV @fy6yu9y@JZ5j;b[§έL{HDM//Y/%TfYxXmSdNŪWŪ5Xv_Gu3UQoeyur8=ii C46q]#&,yV pqqy\?C,=Ud-7TջaiLfDM̪[Ηf"N)LS*BMK+nlLsn% \vmom.?/rX; A{OKkz@1CNE %!1itr#mK:6kΡ;շT>+3*as[,h/٠L"]To +n``K1dž-Cx-cjC76Z;gHKJr:fԵ[c ITGaЌCm`/`7XCiBv|lOSO+蟶ec-J-]jZz[s[%h(FmTvyWjM)ʦnzu=T3Yw3\[b[j[zK4i ' bBR..ۖgߊ7޴Ǐ_ķ0lH ևE }B~u.@ !ISp?lC(E[+@pUsMs[ZuZFXYvqh\fӳhf6_͎O?l]|EWrÚϾѳVJ\.k~jf6 yJ1@M8Nsf2tBe6<0>!Qj8NqJE!UiJ3ˆ3MiCBm)+#7>Q.T@5s 7 o|jI0aZaEd!JC8HN;!E۩ 'b`c\7ccX6ci 8_Mߔ@EJ'YA|ߚu۴Ն]{m9pЎC'-S`A+L *F+N#C@K,R7 U-D3 T)*B"P?Ov"gLOqsTEŏe- lz^u"g!1ρa貋^DX {.G,? %k%͐o^EE _+!NUq˺d!26qgwVNL/,z9;'y$*-K 84J̰bO"merl0[Vd+*lu&[ju_Z{_*I6`oXnvΜ8+d=rC5nfVá1dXbIgC a@]1 JCĨNUC aV \T=ۺѕ.Px!cv>f .QTۙ 4Eg>nc]_#@ʕ҆ X z]GڧB=01=ޮJH_4K|܃C8~wK5w-͠42\hoy؝خvvfҷXc 2lĨZ6i,:\PK[dيUkmh񽷑nvܲMN6NP)*) EbT\x(!nn >"P'*L/eCSiAo-BBQ"6Ou"ROZ?~o&/NLL xM)&R.PAudu׳[=p@ua铚j 8MoS<# U$80\RK\fJ\զ{PFk˘~W4FI mq |ߪRJC}\Js G8,ٵ~AB4L:a R֨vz^{\ŁTw7=ۢ{j|:|Ư'1RxwFbOEU=g>K>vQAب ;h]k{>k\M̡r<#qstsxϮ] pZ]j}Uiͷ[͓pz;X@X]qmfMRM={>j,Oc ~*![&Q&zjSH͘6a,W2>0 }L`JRraDZI+oK?Jp  utGt[9_D> 9|VP|Ta XMfCl(,p9tp$ iвQUkPɹXE}ZUVrW>'/~04"^cblY IO2 'T"7O4VJLc۰{p n5.8㗸a ~w=PXPͨ2P6hZ#8:^`V1ݙ [ֳl;=cvC$JM&o:1mʦ`w+֭X??׍qIW'KS+ԄnYG3\h¢E|0I@КY Y*I4(x{nHX5o}0@ lXӺqnwX>@ڶu,%L'd{a kr7i}oZG׉UյFykڄ!a$&5]ܡJ6O݉)t-Ѽ찓JlTi lo|:o,̎XZ~=e[ft0suK;/%.[` oU4o 7\|8pS[:+I=oQd?. D)du˼A,${ܘVq>VE56ylg2gۛueq½y~T1+o. pmQ2c&Ac !$^SyҧbGy~mnSP`yIyn<܎t™8h/|}ksh *[xr}C5p{{3"M;/w~됩C 1D^o!n ThQ]SS/gs^ɈY܂ :I-qɮ`S\{#jf0Xcp]RTz`\uT4'q(>pIø[YĪY^4^haQ/f%dlscul څԻFr] v3 bύ8/ϡ߈ڏaPPB}i\ouJVJvIi/?;:uTvJ:3 C윐:7nL2vOD/Οl8C"4Iڜ,{LOt`M z !)EΑ~=|1S wĜSt\uhoߨ\iYp`PsC4v~ +#)JP#GHyɍZ dzrWs;QOmd,+y#Bh ֵMknUWNtQZ89Ύ=3gښ`Lqf\>(dԎjxs|zu^ԙ;|ZT}ςu_&_%s>ۤ+Pl[- Խj3/=dQj"M[,3+֤YQdU 1-RcQ4VP[ZtZ7g;ekmf#P鵮͒IVd*[;vC6`C-uuܞ_zOcĥsvKW] %TFعT3@&5V 8+˰`él}8ϭ**m+-q=ۮ2t텲71ޙގOs:S^]]rWigt[qSN1ɊHU݂hM_H4LaaN/-O]k hO7U'ZwjLex gG4 *Ҋ uGUfճ'x~ Y ɌfrωҜPi4Ou =:pBOٱ75wkP1KÚapH`{m7ʞ]~sNjp}7p7v37wzkwe"B"˜٣N^Z]ڇC:SEgp`h KH).֧ҪmH3is)z4ݑhu;V >}\>m8!VFhkuಎmUIXޫJwW5 \ ^m.q2 ÀU єvloapB0F5-x:}UKDuM/r[%-8xw߱X_l|Yn36(S37߰ _X}ZN\יۺp_WsEV{%6ߎBSٺ`Z*TUcl^0'Ez0,Na9^'bUV~&V&ʣ"**&jb՚ud˿.dx߲-onE[ޔ{* **;DC<$C:RltaGuq'nFhAALտ{nL %vn͸P*G͹y#r6bFǞx~n(E"GH%g#};oEhNp4Ϳ$5a`ߘ*R(B~:E ? 22We|.|COLQBo }5a_ýH_9l躥},pd*{vF?H\7p3ѷ!?01,V8њt?jsnDq31"zn5666 '%KւT@RDH)RhTL&K.PS*)@骩WV?  _ħGԟ4!308M&(J-BVI6|]aMj8(#h,'(Gov@_8wPӁ@Bb`0plB i 2F[`b~  D"E E ]LY.wvr93U1Yӊl^xgYd?3.b0Hb%7-X B [d-V;K49f>JXU(`uk$-& `]Fa5ZX:6-{+~oC{N~ǎ׻&wZe^[a:VZJꎺXo 616l.'`kۺn;;i'n{>wvqJ?_ir"tJB.$XDT|4x5@r Z(Q xImjxx&a u""[$$"#ۏ0Ҥ1ȐALBBl@RR=TEAJJ|KM љIOoY#fð(9hX8LL33b3+kllvఛuɒey…[6X]kJ,e9>`Z7rU1tXմYOUn7j֝fuU#tX3r߬MXͺR=_>j`4F6MnfhcvjZF+Ү܌"Qm^1mvvf{Fe 1A>ޔe0H]ce4(X6!cB1۵8 hc}4sXM@MuA8iNûPK{jphERGQQ64-Z784X04d|%M5 YY~ 8`y\!<.2l3j s049\zaXXe?f |#j*!T|q)j R94:bpm3Q,[56mlP;0N;ud#^ $ACJH%Hv|g rX}*gb笻 s9SSu4J_.y|>\~"^ՋMK)[|d~%7ZP cOEN<̍K駛?ܥ~ ?*^, <,%"~R3 [X, o8?089yj<;Bf/dy'X~f6E@3TX*B( FX`!q9#D9Ÿ\8gB D"w$qGpR Yf =,8G@9cʄtwDrvh: Upu@GS(sT3.AtM7P=Bt^CEGN'r/D_ѯ'; e^d=!X0CE֬1p)#_#b޽Ɣ16aƸfӬXQ2U.A%-ILɒRHftLj|3f4Jy3jG:ofcD΂ 똇oyea-0{EkbNZJVhij.hyZ.:j=/jW9bsDƎ{;Nk?:`8H:L8+c'ǹ8Z'9l礎N;>uE@q 9]'B\ yA\5N<z-W u )7)UjD~䦌zwqh9^s}}~@Co_ @<ꩧz\q%#!^F xՌkg_KY9OA|*>4ė)R9k>?=i` |Rg_sKR6 W7!10yp{HGzXz8{$'yLg;g9l BfL[M.]5*ٕzEYbl/BX1Y59yW(H !9yJd %$FF79PRDE/544BG?= 02DP֢Va0ajp8뙘ffVb+ llְa '%y\"Fwv<<$! @'(讐{"" ReC3MBR[SƣѸjݿlg!Aa. F7L&(X,V+V!=&(CQbh.ÈeYz' q 3 P& pBe`pHbJ8#UÉD$|2YJK)1L,b6$54 fE"b9DTLE.7PhU*aT*jEZ^3;35LVf-kl?w{ih^΁8Uc`T]鱰GtX X+0#!#G;8 H ApaA Q pnIS+f`Y\=|ч]it T` t#"5,ϛB4RjMtf9s vsj'N!@.nԞzT*UzbkjuA &^|f^+)BS,%%Mn E3@UKMg"A7Y y~0}-`9S !-Dq9~i}oC~z_<߆X:%%=*ڕ+# @1 0%??ӓ'=U+Z˰mƬ E! oƴ{ "}#E$95`gk6A\9؟>9OWd)Nˇ-J~UZ L`S b0NowrH_ ]H}Fm|g=s/E?~a3~ g.=<ږז ^7I:ZmzܱpOGr $!m/>Y0j@ So̲'p<ˋYqED7!ff>g O4{6 i|HWܓSN8[TQG( bZZk%nhnA|A~.*]xBA/ԝi1"|kڎAh zgZrjyr ?8C땠buV.”hzj&.q"}y XHg4mœ:"*`մ4I[ ozYpa \?9,̜~ ]^(4,{:Fhv 5 s į7$u`N uaDI! KDp@#U#+z^ ~) kO:Q#/W]|f&Տ.Y껫Wkk%KY4O%ڛzE~݃ <Ɩ>6ei?6{3td$b/, Q򔠕-*ic%ڕw̹[%s!5W҂w #5Oxk]nszes$UU=TD#Lr`c E ZZW)4?d1k]Ji(ƒzk/]jB/&yfM8kL+G_ |MmFyF˶=_l:܎sZg9vp+뛱8}N,'$,Z(IUk<~,۵ע]4bys5tLqsZw׫QCb^k.;" {1 MoYK:?e,_]msl[:*/s_k"?<*1vt<#Rt6I, b&cǞIZ]c 5~%^5tsYmqPJy6u3@:zj?4[UF%{v'"ft=FĔ LLly3Z ;1>)>rdXE!"bQ}AQ!"y4"ɹ5P fe ؂ sUmakžw_Ƒy`:-Н{4mxEmDB#`7@uMNvM:l#0"' W"d\^LgxW#h?/,Z޵@5: Yq}g}<ߣ T u4ň{]77)|vkT(Mdq3Dn.~k ʝ*)`,X0>d&p zsp}$PLNOKe9&>^~?sgK{2vyOn `¦dK 8?3uX&OVQb?,AS]Bpu !- }ѡfoXhq4¢}m3@@_hq]XrÚ/nYQtaAe\`jQ>Mbw"Zwc_`-MpUV1$k2C^ F oy^y yRßyC8iΘkP2x0yhR=1VyjؐO\M80]sCW|phP)VB*uey+k4ihY(R"sp[UTo8ϒ?WI7\{t:b9iDwI)y%諱K֬bYrѳbf.ްBiٗr#(eE"uEIlŠgx  1;l hr ةEgL- (=˷GLCNTTAmG&X[nӦ%QЫ(tHMna0js$GDZZ{}q*W?Ƀ]+8t 誄(3hy_*Px$ HYw$ l jc;3ksҳi`b>Xy_ŋ@X(JW߀H4N;5pr2Vqڱa&*+E>.W sfNN~1 .9UG"q-柣BP&0EOtI\ ƅ:^ ?pnw:[ ~v^26-!,7ބ#k)w?:C5˷ِ>a,޺%^v55Yn&6Vg|[KUuCY xf|Vj`LOY5%zNZuxa+qb=FjVOĘ7z-#pJ=?~Xa_, /.Y浄7Dḿ/Z4r8'+!+zJ9WAK(F~vn \ɿV2iˑ1&#"vJN ҜkCe=~H_c8:e#@u:T í9>= ܁3kKF'0޴ 1@؋2SsSpdwd/XN.H 6PJb;fRH b UxVh]DP ~y a|ż8ԫHWA? ||jtӓ]>iH8Y W&Zןuκfİ*2^&]W@) P0?ɠެ;Y҆9pRF⌴،H B<^W2FoBhRČPcb$Ȩ\F0`(TEt\7l_b8HNOȋY˲ÙBVIjIW{sX1|שm 5|x##9aO( !\ ݗyA*5 lE>A;Iǧ&w+ϰ^S:\l^JQ{E`n l=I58Tر;j<#\ ҙachERy4uajК拚t˼XK`(QE: Gg[_6\Fr~yWp lnH)ⲻ5^ dO݋h~qo~m$<3++ɑߠ갲" 1EB5&$_\Kb ɗ4CM>nԴT󒦈&Ǎ_v4ɀ;NaF x(1{?Uj$zNMRQs1%}j,G>/ogdZ ʢ{ J-\[敖ysD(~Z`}/s+H0ӎ #vh&CczF*@TԳ, R }O{}NQkE )e ϠLlqM/qOT}m}5,@O|.<Uz8p߉E~ l`<$h_TJpu_灼|'zg} oX_$Jns^#Y$( :/Hĭ.gxdz?^Zݧ5jNlsMMz5:|wK/s, dls>WRaYjYǙl8 nuaXK x;}2ؙ;3 1ZS3 Dd2 cPVЈe T&~f3I+c $pEbrI%Rghq]_PBH=?eAwboG`J(t&X@M$ne;*0;tCSD`7brJNGhQ7A =aT ot}UCCN}䕆/ eLPuVEc;wѪ}{]yk|l1 {!|r`~>?+!̞sB:d5PzQlpb9ȢI o WtNq}TZT$%(*OQX@6?vT#`G^cBUi$btE +fm\-n9Q|,pUNSsv~فQ7Ӛp@R% Ǹ[_dxKpZޘծClz £(29ZwE: 7=ߑ3G&| wd|iW1,(ܷ[z]N . {c kdm$ -c9w_^`l>p[ظJG"/<|bXM'Rl:+wr9fN; 5}"O|ɾN&TN]%XwbKKk|jG%(><7;2RQVlL#!6Fϵ< 7 .=?q_̾2vz^){u/eTPIʔُ eo9V|J-= 5TFtvl$nL8mu/ MOG9`p A)sF \dpYzp*| S 7et"~ ߩ~ZXU"E%(A]ϗYzIbE^K(UcXL`z퇯'}=TGz|D>`07SMI\h/ R_b$m<|1$^MZ'˸A!g0tB5̹eݷ]o`9|bi 0K|7 D"cΎ»qtxXS^ pWPe|#eG(-?{jiNCҡ}AK ŇӉJF?+ZoЙOM Xc(&eW%$'FWٱPă3,M!z쑓AYR59xgvvMEɚ\F3gnx6 |kOvm0i 8O@Oeuu$=}]]~Wsl݅ap03k lw|T(PFFPJ@fs#o2l1ُfsVx>,IJYy3 ' >nD}(d ,0?3ޣFu8;meIen[{˴ ZsQ'TR/ԧJWAh Uy9QF+$7hՆ2шQ9HpWjMfZH 1M3I}~ Γ'(`uR{vRgQ~ջ'+g&\9XDfT+ &^/uc* Ҳd:ZPGuێz,A փn(\ ; [{җOVM[-m v}uXIt=;eʫ]R470w#&su -{hIjT(J;t+|Wb)G .:v!rN &;_7gpI8,pI?խ,aYnҲx4?`C_EVu|Wj ԥ;wņ|3ergJņd&mD~ѱJҩYzzݢ. $;;1Cp=33 ~G̊WC?XF9n{i%Zşw0^\ kwӖ/b c] ]G0PnE= !r$L$;`6-y*1`K 7nE[$ ::rId gr=|. EbΨeIE8\pU^Fɘ}&?]1˳#(YVLoBH@e䮯]aeaAF ZbkBgJ$˿<&Gkyl)GRŇ#][E6J'qṣ3TX- -OWO&lE,L''^Rbֻ]Ssb]hzW2iY<+o!ZLU7EnϞx5Mlw4^X*_{Da]C_(=7eĕtPBU=H}' =/K]նD䎴(}\xǩsApY:X]:O= 3ѯ$?6{ tcZ5tc*%8 btdg@o^щ/4/LeV.cCU6b֝7xo;M0/J eisP ; f#L:(pR>,-f~Kb.RyKg1d!22wQ@& F~7/p(Ԟ[`CZ Bl/a@Me_|9@*/Xޤ|-&U\J޵wU泓\ASkž}+$o7w.k,j!IH(I6O6tZ=m&p=Ym5Eu=3ۆ\{b(E^F}v *rE=?$6 al J;$K c8 .9kv_ro,~8T#Lx=9- D

    TR͐ay8#ٱ隚%OYjߝOOصKPzLH²(pe$\H1_v3ݎ䯩x;%Ӌn|J:|חD4v]b$SS=QE) -=]I<~0ČMHRmIyipw~ g[9ݨ[h*7 >O ,PblhTZjy"1k'YVG DUZCdږE>q<˝1)C;度S뾬ۨ!y#tޮSlKK@9*t0{௲lWb5[ǻGLxk+'&3y:K8?C SB5D"g3Ses!^5R Dz%X}b?FK|$M,ҏ`VY 3D9-PLpp|LWVO`Gɧ9<D ϲal8骬n }q$ 9Y/azQ})F@x&6z 'g)G.&\Ę2ۖC>bϰxD뉨Y03*@D!ѳ)%z=%=5 5)x {b8CBnm1r aYAЬ1(DrB@$|!y?wM08겝m^AXQ䟬E~RD9^1w_w] -P< /z6A*Ϝq) `PYK|xem멊)U*+5ivVȲNy5TƅZj&CB6sh?AsG-|]9F:KƢ%ndqQ #Ւݩ՚xz/jJJs5[[-&h@zia{\n:4srĀvAnK5 ݑj>ļߞin(u!!F ~9{7Zr>x[0yWIt`k~kzycyJ~Z@H2ʳ4zoly"npzɡQ7єeEnwAkӬ/U,:.^^p+ zK!Ju`\qWSqX~.y^Qdžhk?>ESVuZP.Mm ΌrdhHq >Nဪ3 9/vg<Ӡíh+gͱ\ȝɺmQ7paD;^qm:m"]&ZP:Sš4fPaufNJ_3%wNAhtk uwmӮ04$*dxTWPp@",6 k4,:(4)H"eC`cFjsbELzL0PWg5(@> os|?Vu @@H?[QS[1zSUj=Ɓ+9!B\ aj]a%<2Հ6 7)>tgV@?K@M :%qЅfµqmp^q6"RNΦUt&!V\OHkw]$2/oo!Aېbo%ŐLR6yb/m06vP7-Ow_)>Icj.17A%؅ 73=KFZ- $UPi#NLmffxhށ1}u/ Г+nB [1-~$>@-{)92#毋6̬EwCB~. ׷B؛'YŕbtDSjR E -N>rfW'!Av;ftG0RB@1$ j*v'gQl1cJ"䱹.ӿo D)ie O \I9s)DCC7t3]VW10$Lsr猟fĊ K\nAz\]K#(LLϠkNt@Ug_7FZE 5.a?Mi&so{V{_nj.jQ3%~fBp9m)Z:mxF3`Ƕ4ju2(\sioUxŇ .r()s5UJy HB&elS[ߒ%УĺS1dNJRC)u?q[젻1O"<9D ;i.`h(:KTGx4ʧԢ!ۏ9z Ki(SrADrA2[0bEӛFh*w.t+߆d@&:ne5r,74͈b02rYƧPî˧7/x)2%S rt v׏(S,gfYJ)DDbNwLbAB5}Q7ζfD.`6=C3VT%E@d`r;}QGrMqSAШ;7M*<=5,F'e*M4 ;EU%qѢ_bm{>ͩ9nsstΔlm`4dmo#мxmxZ0LXO7dlhZ«.&J $LRbt6@6_Evaw K$Ҭ_­15h{^=`y5^zj^&~(xqf"!>>$̲ecpJa&%5- ~Ėfp+NNqݼyksK ^őDdKގ;3Ľ/(;X~U9P#*C![FL  Zδ|zط /|)%k/mN^9ں̄襭bwJgE+ufteEWx@R iQ.s4O4g msLl}С>̐B~kՅ[N.l_,m:ntoS Ht3-W^\__\_G X E+tU$J랦exNun'|_ "[Tt_=K_>k #_s |-ԢC}ph1PJs(1 0NϊO~أ͏V$Yd~w`va|{?#ԿemclH!1K&8 !\΂`Eu't?.+wl?^~qڃζ!e Po1?;tQ9 p^-1f"[n\`6 >//Kh\]Hd']cjf1mD~nҕlQR2Lm\a7%^@/nVl2zL4p>z8wv5 -˷ܿ9Юb:Qjas^5CYr4m mYrC5^s>j v t^jjfL?Tj!>v Ӟq0Ki?GsRTjj99Tr[?]x^9FC{N3}ws4p}4z!LˣG_[ynpjvR}i0kDZ"﫹hi"") /#ؒfx¢t?@3K )X]jpvyh"j%LoͰñR$^H@J`\Q|;X_B/iK|kyAi+pab;4iۡ;Ww$r#!;΍BG&ܺO Nkcp.eorofoeڈ W@H@Oghza X{o˔wCv*? tnSRˋa~1⹻x~-}f{EȞS87s}LM CH{:i-")zN a!ENjs ZC߲ BLl?yasUl%F0)E.]:E;lf3}f^} ;BkN/cp` mšÏ{'-KJXj'-|SӊRΘ :iϫ2bwvN@:hVB =߀RM^N's⚿QR}0:R*+w).7ꘞh-}2?BR?פ <%5S՚wf?A965>cp N5NlßSokS)hC_}9:CD4ļ 9̝X,#&Xkj>? W!%aEܩ7)L 7:;/v4bo[LĤ[h0.]͟i2ʧfȮz%5 }Y!S"N +V]'-11}qѽ#>&yodupym±ˮ E#PϺߪŀWHXwϞ=q sfA@e'rM@$ g+yA>;.Lb}B-3 +3ŎIӌu-eVo=:fRjQO RTE'z<g"kb/0T#'i<~R~]^_6'"׻q.rhT>&5 ?eXJ4>"958W$X'2e-u7+Ihsڼ,?Pze!̀˹|^M(`6KIM+jtM>5^eUx|~X"$fU \7oW Rje{ޠakƪ:eXm8cͭ,:VV-&Eaee ?b9fq?4܇zsvb3⊶wD7nmc*p)Ã)E^>[SC4\DEqA)wutsh4DRh>MZ8z;9q,a_Bna+?CޏI(^ V?}ǵ_D_<pP;ZiB99)o|k, I,LĔz  "*K$WuJ@+l!/Pm}:FSXDi c֣~I{ T$ iD3+CXцnte'㡰ǚQҪRtT#(gU\v{h /elz =$ڗ\a9Ly+;,/=Lq+Oq:#0?+Py=(/r>tJ5&_!)3MATɖqj*grY?{ %w^$zN:-p1 U4oM-3-PRNvўbb2ۥ~I!ܸ/О?!` K +:<={R)FShƿ4+ ^G.MO ,6%q"'uByji_u߹S5x^ /@'[Fw,Y>gVʀn+>:^8w-w]" g= 2( :UZwkE%<;wW|]E`gESr0{:=yłÏx?NܽѷukQ F&G3I86ho8eL]^+JuEhb<7?҃x?(ußIJ]`j6ҷ8Ge?Ud\[(tQX@{x]p N"6 /WuV#A+ _Ln*"WbO4"dj2&i!򦈬5]qj'iR<12# xWA_;@SKڗAM\)aj9&f9fr/#M>v/e뮾ӣ_9G#HC,.ݍJ"%ޙ|J+fTu{ɂQc]zՆѦm"mG3OP:F@uu2:/b#[J{m"wV%:-V^lq 1Gl^CGymhHHG|ƕZzC$[?.q8nAZ\ B4!QGq_K-V/1 hFH:|vƜ11wwIFI|ɵ5E7[_0HՎNϠ!?EZ.K|A-ĐVj |۳T+yHGiب~Ώ JX(PʘTTB}z<bQѭbwE.Ȅ"wsa\f5Q6CX+!.|y$=g3 ,AEM)o`=)[#m'ak-tkahnn=N n\8~h\Usgxrlk`F_) [fMϚcU2;F,藑~>ITU)#8ue?jG̮4wo^0AZLf_4Ajo:VdU@ؿ/\Ms 3 i܄qqkyHpV9z99)>UJa1V?eЮ'kmVD&κ?D|;aIs4y_QG/T11f17b#EKV2|1Q%w >SxH&,-^+hq*`4" D\Y E9cB8~ ?JsR*8">x)׍ڿnVMspL+DhN#KImkC$½Dq%}EA 7 (x4ٽ꜏Bo}Dσ'oA`.!n{rD B_GxhI#Ru6€hakY.q#C|?\&0#{H\NCOMsn-vܭGrθ;\Wfw '#$ Ɇ;E+'7cZ[jMr$Nek'Wl{GlOxWl.IK-J3:6Z GjG 7Z齵qݕﳻ*!zkAb1Cs ԥa!GsC^ WsoR3?KY[ʿ"<<׷j~SJ;a{U֖ (m3ğ.iJ.\ 82z\!4_*;0T&2uq[IY_BG*Hom5 ٹ{[kƶnBzw T U'}2#Qܐ2沷[G<ߪ2aiӇ,F’,YL$pJ2S'&(*)y(`p=WmBSx  xj`Pg4_3\-#S8j=c<6ܟ=b{lB0xtN:K$; raW[d/I,^VF<@N'xFRA?TI~$](Bp59sBsZR;RViegVC,n1 <0tˋŅW^0.2"sPA[P,ohbܫiEG *XL/9[N%%KB&DMd1f89 EaU9$*x5F 4=QO=+pMZ&&&(@$Pfz b.%kΦ zY'Su8"F:$D9[$<$ABB)wWs-~-*%ZL Lk >2N,le%xb)}t:=+u7M-#HbE_D3Zn㬃PC#RR5E`3 T"t'yr-šd˼zv;/ʧ6}䘪]G؃Q^6eE9nYlI8MF_nZ6xH_ϚF!;ƒ+ny 28-T>pvN;!]/1ml:rsqU`ڳy?ɞx(:u sw/;_}hT2g55u\\f\Aoº 4e] 3s>xvBE[Qr-lv;ނO9|obe[z{ذsaf/gm(+J^[v0ێoeW7c}j'Ul+DBg6dxaULH^KZ~"XoH?4+yZH-|*9P} @JQ #sEdJ\F#h6DKMN!KkM:|G>.yL},)+]D?IB{EV9VŻΫ_Lesh僧Å^WQu9i4 { w fﷺ*(K%L)./ xt6mvq@WO3]˛lr*dگpp9JJ=1EL74rzYw7)Ic{}(<+C&}Oz_QCefo+9 .U3T6ՌO "?ǔS c?X UP#M hb X*+ӑŬ^Yfׅ#7J2<~ = rrz 8݁ PmH{#AX5,Qr a 'v&1lC{٭g,3>9[$O.q7#3es/uI;)iec-;?-yz40V)IY 1dmo(ME?H7fgE}ywY9V9@s~ 5\*'k%޻XHN*/6(2?J.9PJ7Ts豰Oѥp ž.w)O0Yα.kLeyS3uɲg.n4&6lmNCe[8xIEt|ɇ@ ÷47XD߱dD-`qyG.s;5ń (yVlSӂ3ȋqqɻ0濁٦mm E\Ml#s_ a;QZbc+"QBD:3Z6 9YF@67z0u C~"&dEx3s^{p~ \3&APYQ2 PDe C5_ߨ_#%1>iiA=>ǀ>"Jy5QQVPYjORuv聆faQ4٭sgz>)'>BvrH.j3ETTrv*)5KTsM:kFRfoQqwQ5e`Osp=v3njy`DiHoȧ? >pvyyV`R8i6Ng`V2R]$+@#|"|{z>?τp 죪HS &HhVFj(ii>}?G9$ȳ u33s"Ba`DjTྩ]zkfñDZ$ -VZ*9:1!1OƀO؅Q_?3"8Bh'E5.ѾL e#숬Оq)>@>ݥ/#:>_geyۂL47?׹mPklP3PmҫY{eɇIQe7ݐUݹTx84 {*HK;+=vXTZoڏspUUóNJRgdg*| (r:@BJ\*k-e`D cڀwkn.?h!F(:ƨΨ@7v2"~\є#/? Ďj_ | j~?ˤ_jjXȖ7@ w"3_]r8Z=b:z~N'^=紭!>Rѻ!( g-8GQ7p5]iB(jgqyv- y}V3FYׇbqpS ȲpjGee\le `9{$6m_TiaqÇ4 foap EG?Ow $JWU0iz[xXd8 ̜U;8̵7R1Si9&? 6D$=:{=<{;PpicKm2Lfǫz hxphk4=AԿ~~HQ2m7QA!l⤜wtwDF9.CĐ&a5B.Ӆ}pG';IQPDj::-i~:Nf( ͲU0!^w;C`|i2@7 -,F6LT\lPHEj[G+@/2Wd׍+yܴv@\/ BG*$/U'U9uT~TٹF:vLu(Hex>WRǍUJW>32{0%mk"~dZmdNJ_;2\C!g LfK9l`-gD-QѧQxx4}!-K^VrXnNjXR†Ň6L:,h3D"A ǠǹYTjtZGi~|_U|?o=Vt+VD#a=A6TV2Ce St erςܐRvzXP3uTjfꎓbHZ62PA Azi2U<:uV鳙Pt(zUQiM/k-0N+t,UZC?#iT(A=!T"e79Xef5 AUlJ,VoP2;)G0**VMHZ&!JśCV]X?>?cx;g3KtNpϙ|;'::L}4>x&-۫IӾnm( ׅ ?4c5ꏗC($9f襥54B3 xVpQ.xgELdU2na(309tc]3|{W;9tOs+ x2Gyl "l>O 0 .j;--uUߊV[ǁ,4#ߪjrcل4ĆKnęQ 1v)> `hħsCzd%81~vh:eXUY+^ n& .WM+J ,:7jx O yZ⋭4XV?+}ߥAk,r^UQse>#zb^/^VdOC7ߍ(!D Ϣ+VD+BEIә\c!KB17K`i40qmҡh,쾫qܱxk2 ' u<5ѴK<"Q* =J\Auw诡郯g;:b6QFC«CY郉y$>@M> z2#ZMЖ .me6w6E{ 'ſLkId* xP8XUqMuK:l1K,V=h1QCp0/ы+d`c4b$/MLxuY BmxP4?i2M&!`d(7Mb%@"ewmHHvkvӦP |nSD$ &Dt @t?ve[:Uq+ae'!I|3% l L"@"!%mJ܅VBb1 cccq`PȠ T+Jc,l8ǖooi\>--Y޹ρMOw 1 &0,,>&AFMhogm`uq़̜GKrƈN\ .h/3?>4k4?Ç8JCH.Ob`L{Ds+"ZǠ"[|5)ܤb]v :畢S@@*Ep"4Dݗ駔e(TU ~uDtPyq9V'Ю?Ew#ef& ggPs#D;{V6ԤUv; 8/K,]չ AuըCmLB;(ƣ6($\EhݨB垝E>9N+rylI}sJa=Uy37/Z!2 Z> z# "o=O1Sp?0Y "[`QȄ0-tOA:HR Ͽ63 (`ؙ^@q\?G?RH 3:dvlp`.^Y,'cgWi} r GXܞEIi:{K/6։;Nr<~oկʂSo!=g׈: oIFUb(ۋo:ic zׂJq3獞&N 44Xg쏻lڝ hP;#v,%wv=4s^ *+3v\e{jx Ɔ4V\O7{KˋD P8,Ss+C EglW^ƷVlZ'uo7 ] j$ܨ/~f=XW1`0$O ubmw<ߊݸPޘUP:ҏ74P1429Meo`,٧&ć & '&A 4KxE$DcQ|D߼V IO%$D‚-U(" g[!a6U# a:7@F #*B;7--iںBE2'FϲcO:r#Ma[*|KJU `kyniPp}'!BaU;f*2Yb*=)4)hJ8)(8aJE#3#dތKdJKS(/u',/|&KFl5ų 3(ϴFؒr&%rR׻wu^jL[թjd!*6\6e [;=ꪉX6tu;j\ g=hhvRP<X5r&J$jn_~2O83fJ9)NAV_f".h$f>BR#O%ʠ;L],2AwBGYGӒW#KbXנ\OY/^t1*6-"lM(PKM)?M'q8uq=fc.R\;7ocay*L&ڿhHG1rz?Iw-s-$wX7>pt>a_P܃yUxμ2+k""h߻U̶%tD_+[IA n\k _H P/1LoH0iA3EssʕIfHeq|ȝa;0<+ \c /uD{>%d5]ě3v/2l=+ *֤BGfiKҳ s~C:EO10߲tX`Rp@Q?e'iF_>%[NDIEct\O.p3 CU'7ͩJM~M;EQ>9Ij8*DŽXZK }D8,X2hL2hddu-oT LhXz}_{O=ێ:! 5V;΀iQqPLe38L0Jc3ds,/\-Fwܥ'+ʷrKgU@&#wE2) hоt[˕狴CsNayVB1=XJ NoQz'-Z“%b]C?j~")3pk3` ~moW+[ZoM&(TmSo5)--w&MM2>М7S[4%ăTi" O\zH-,j?9=x\!|v4MO@G[*N x#/IjJ}&et㐈e@XPߨG>x(`y&$h'98u{m C3/?YZNz&{KRD srGɍOCǻ kѯy/D7Mv7?닞MZ4>n= U2S+L籵,k ANjŏz/.x:ą.HGiUs%3@tq{>G33"DYҍ1_V1j>~̃Ďߑ(!0 DZQ&_$jj;/wwINOtx0"<`Op(Ys$k!84.FzfWĥ'x& $F9n[fGA&I1f!BjNb/n+)Ql潉"O|G8!43K(l(b#\S lhÊ8TUR2~Y\Bwim0V$175aQ}\nm3MwUEɎJֵ=ob`CńM1J!C&+$(D6!Q=+ /{"{*-(7hvcfm gC!ٰD&D5 Kbrc3IdLώͮ0ڨ.y"'CyxMR2$p7L (l 0ƃ LKW/ywF>2Y&-"TA_H"db[&;]i H́%qx7* E]>dOleɜwqAo=YZ93"EL&Jk˜\颊}+zy h?S[)jp?]5fj0őR}(8fL$+>h%ͣ)Z/i#nqcMCQa@v!O<@tuW͹ B1'kj˶/yx"\o|3A}+>uF_{eU^eE*.S848 } Ww ygWq~mXvB~=6U;\*: zW z4K|W "?hp~ѧSV:ܼ[ yL 9uҸB-(]x)ӟֱC}9|5ިJrDfEFӘڏ1&ڎ5dƥ]q%#/U˄ s^'&-\=57v.DކmZE,$7& zmȵS9dXnr>ěz- ˩I)bA5өA)o*YF@qSRIy:? //Z{<gDX^M 9`ɃONPpp^ЛhGw;T٦r732b { 3bykƮ&ǷAF" Ԇjw&?߷%k߈m͍mk(}B}Q&AKt{^c}N*#{qHgfUL;nws/7Nx_*f(M,eb?DhN]Hug(G#i/M~u ]p=l\מKd0>5ʀ@5+ T'3Y PS[-imP6")#2Yb)kd m<kZ }fg, zmA»2͛+G&M)|wn׻ƚ/5S9bf;v'8]Q[}ܼ)tXۛJ)v4 ֿ^} tnɍ[_FDq]t>Ć &Q,2$??'d5Bmgf c$6~'8 J+ĝPKFmIw]Rh9lȋ{@ X@@L*!|8OKRiߧUxO+ d`Vf3ŔFAwۋmc-; Ngx~J&]FZK&нr\|BKJM㫅{zb=ސӬoMn0YH/7>a^nQeR\հ-ߴOu(3n \󜼊ˍ,lG=ETdzn<ϴI*zꠔdHa'`;@> s1lf\<$54(ʵ9YB ' ;XwnQlsNF 5T?F0CdS 㧘T7_ȘxE$>BCSN*ӞT}OOS'>ܧ\l1R =:Ԯ+ .[3C z̥"F8aSRD|; qߜӠ Y1R|$+ T3MHA.DU⦥ vNCIPoB;}y YD#*>UNE= JQ'׿2E^\|W$H\!(%9]$o3s59cwtJ=];X x5<4iR6|6:+$/ fc'|6`O2ߦP;(g=RH$1L`rK.9mdl=}$kgn?π|s} 1 ZUup\7^R x'u/8!A=>:J8|2GF7-b Պ#$$!Zx]\^aX?1 XoqI3W{;Qc⑃grô\V+rޙ%Fy++$80;Xe3|c%dWPO6@Kt@?{Әz_׮qpl3RēQ?c8U|.m5 vf7DcR0h"טqQȆ<`+(&7Xg[M $YCrZw1ry7||,Dz>yE-6 "!$7Q,&0T"7+P{<=J"vCvaޞ7㞾՗! B!q5y8HWLLbp($3I$2f.A!m(pb0W LJckycAxm&#D<"˃Y|2#h3 {~|=ojm6N(WVwh"`Xߎ.$u`ٺy:'@/]c|EFqD~_)eso-:N^{BR-Zb0475` έi2ȭʇ53{R5"wG/spp%t&JDLA쐸<@ʎ|)a mg>oS9PUBV,*9^f1̥}ZW~Yy95r[٥= nO&[ЕHg=-JT-?ukW؎3 #ge" iߏG#c!/qjyхo%Уc ,N9d51;u**ԭ\!6V R]f1N6}c>2X1k oxehxzZƿq8""G%20_Ps=ē"ꐻhş$ +no*Ļ +S̋058{Oyg ]Ү]^ؗݷc8&inG6=O3|OfﳖMT|(4y8r[Ƌiu5RESH˯W_]E)q^x^d/ė2 %B>p|1%$MTeƗ^c#q׈kKY@L.^>nw{k8H OdDѲbj)/l6?KǾf uK )e :@|0ҤO+-LADtX $lHT:ytuV҉0nzu9|G,/ԋfزA.tdW  1=Wl 2÷{3c$ŋH$? Ho2-O$!q>2i#d2px!^djއ|b؟r[œrW P ҟW*Q_y$oY`^]X**x KɄ$?6ޢ#֜:uh݂I{:tȶGuDl\4(]]\bAXe @ #_D=W(7/΁P:>k:8`ִI@0KqaK %iuЦ`&n>SjQE AmXZqM(&Zh4Y#!0?nnز˟z/Vhhorl`NEh?'UvI-}r`m+Bc8 ܈8 ?8 @5V\a;.<'w q*`ܤL?ӉXwŸ^E9@B#>]`j/38h z6[@(Ff7ĥcn$ӓ|Rˆ3T )s."l>=Ǐr*4anӒTᕉQ$ &E`2Mܿj@^G!1p NaIt.0{ՀM .@s)ge|S.)Zf3n*PzĒ8K(7JQitjew9o"^e_c&jT>{'襰dkWShLբ,+ /ւ(ی^՘IKWw#+OɔД OOHhr$%@o!vP_ƴt`ϗ7?)'ۂeaciOjc7{BdBJdLvr ?TA\ho/ƨʅ[s#BOgqKXKpGzә^bс!ĚTu%F!YkN@\]ݬ뎆P8 Dum@{D"d#̂jiꎄ@ wk۪+@=2Zy6UWv6iG$R0x*?KTQ 0X2H.o:#)x d]O G\m-xs8SZ2*~&QQtnn48OÏ]dq;lD-UpL>UӫhQQ#%4=k>':snn̫seH@m ]ԓEB&K F!E#Gb:[(B#E;K zwy{qWHLb D"&K,%&^\gB9 .#>뙆{%FWWV1LSvHmz t}\:h(Py8o^`~q+# |XQ{Jev Aai<R%t2"Nn%\*])t!i^ݗؤ|Ta62Q?E@ஊ_@_RB(@+q`_}.3R] h&k[N&窩&Z@%`ݯUsSO+QύLF?M?qEsY %*.N\|Ÿ^ㆧ44~vz{ G"ӏgzqԂ{DIU/cqALHn+#pkELhi-oz4.rkU)e3 x4hYڦ?K3-xyLt1` طw_H/ ݞ#4TbkwEl2p)I%lK f6T9t'$8/&/)$DC/ L<*Ւ7{'pa6%䊸G`3Oe~Μfǃ3줧3vBy y cϞCggw7,Qn|gERG$>[ǿ) eqRʀtGܙttw&MMzyJ.b[66 g5^d+D#Bnמ]%hh^w]njL~fvXKI;1q[ ;qH/& TdpH2 %J5q6;nrgS ۱q qI* +pc#36ef*{.5n(q"9˻߯2xkf*vyR SIH y$F{{k9eHOvk *GXBJq  'r3 MvEofzf+fpB}sksu1u2?F+(2jN,@nZQvnÑ&<җapn!CR =+6hC߭G]̜,vQH:Y;eba߅tJuġFzl;}  ָKX1/Ew>VSDDqv}s ԏk*mW#M"8J<#PsdF:@J+"2u]t,2F{c}vӱ*AAi5N%! }5>TB(ˢ3Shqr^]F;J0F` Q>bIF,S$|/.w7 V\Ws&epߚ <у-*PwNѱ@T}=]La^hh>߭5s aVw B?l!{ü V%l BjxU2ϹC4f+E"\%&J@mj+p0RUN9]|6Ѧ l:(\ŽQV{qYգJ tڙt41z~#\O*cgCj⋛\^Xz!M#e;-$rnݵQrj/+"M&G"hEImϠtyK`)Wn߱BH"݅SPmK5W=? F*P_ڥ^Q{H}(%*2MNa>EGEb'':Dd[|NTx*<'NB#lE2հc _Z"ԓ d}EߏG.;߁xG-/C7ڋxŶ`02g3S}>,nIrr X_'m=˯z ':73߽: )EB; EÁ.a)%\OUC^3f%-|im~8k@WJMfL&|7]huK3L/4;Vu\xSki2lYs.|mw1`3\8 )`8h1=McYX.f@$"'wO߫E"JzHsbe|jv ɢF7w,&>C"OD5Թk%ѭE9íYQ£`]]?}z_WIxWǛ@Mp$9NB^:?/gE]L~NN}m$6d+6r+{Ifd6tY7'h0օ1({|Q!/;Be.qD`U6a'D-Ҫ{^TTd3•^Q~5#Ew.ۉ)J8.&)'o"PntakDޘޘl5 KإJ6ۍAmr)BOc(ٮ+dd岅_HGzͭ^/+Y"9G!(rQ4ntJ)e-8S1;8 -z\ ExKZ"6X>?qVhOao>/TZA>E\v8ZJpxETf|.N[SAqM瑨(Ь'ܴ6oz[7y@03"<*?5R>;Ik"J:ꬻLn{,m}Νڞa;y^=@~%D&wh_$yLqyo<ۓͺYjLt" waDr"{|Z $/rxhe'O?UhM_&K ЂcK?vJ]Fһ>w/CH8#1RUTxMőmy&gI)%1(F/R= kI6c;ܿC8GXhT)P#m h.`Pk .NJ0&'2r]9fOW4aаF(ROњ*#؄bZaXVmj'ޮnsjr^?{%  C˨1D 4iB5Ϟp˳ 8Ua'4ں)झ[iu )l&!1]@7vr(Rd>T5A@kS Ӧ|7_9i n?.9|=Jxen|O=Vl79 =ΜX?9'7wt z:Z_'(DG骐d,J׾g~`6kއWN4t- /2/ sWkaw>u_?z(D(JSߓQ{s&?-*^Hs.Ov#tVF hwj]"Im4[팦^P3Mh{410 J8-,[^*F_A#R.z(N:Ace*ӜL'QZӶ%)鎨eǗAz 4[q9lA_8+%K ERȚN }G?q6Zf 375 ?. 64jWz#sQmgVz*Oe5PHo P h/ m=; Q2T)I1sNusHL7F1A)S:jjrZ7NHMbMgLؙb!:BwK,o,SjodA)#+eAA{AhMy+[G^+hiiy=הLP{7i@L*Lzg]]T@2VZF@AZu7~Ra,:o/g9 5@WE&<5aC4Jxuf?="ΌuTiINλ|{#kgM)Z.OL4Ȁ{HQ*EWcWI.H U812dHܧ:P{vd4JAt(ĪSOhހt)=NyDJGx;+W&5^ON[K: ؘvҐ8AL$P)l@ ^r!8FN=M o<<{ך50|:XX'Ŷs#h=15_X^P3.1'vh~/R:=ePb u ^oksNS,P7mF2zV.F` 8FͷN(h;G7XMՄTЧ*KssYwfM?ЫwbaxUnE*h2!S%;Sa3Ulg[TFn9KeP3h;$ޤ\j^/KX |Ok>sW@,-^q~6g^ Bt|HXJ8MA K60`Cll*n-,\VTȻvD}_Pu94ٷnO#=Bk1cVYO`傲VjMG8p!F-[G W(ӨB|H!q؄ra9Ad4gSFsiq<'@yPdW6TJlw6]k)&O_QL(ѩ!ҍZcQ[j%Aͱ3F-`Wglď񬴼wgk Cȇu]sPP8{}Bo-8;}o*c8SĂs֠I bxu-.Djj+@O}( !mv&<ҔK6 Mi82Y]>y8OJg6^[{`do%+Cz6D#͙-MK~r3 %iTWhq L/͐䅡K0ϡh` e -T1 rپj5S[E&*^@`Y[U[ l[`K $ȚQ{ )mWB =BCvC%]W B(€8 ^ߋ^I0X9=ԋAVrNA/ zCtN[cYoh]o 5jgPr!Fצ@\)W9qhmNn0wq|W.*/VeR`lr'`11rBKլ6jfv|F@7II0RVѬ8ݮ| gl/җl =c!ۅAD VfOO=lhu“j# M}ݏ CW'}6P0Ͳ43Ow'F?°4> pc.t7SzL;NA(vҲr]&y{ފͶjvc}~C-A7 κ1'ltV8qUrL :K:{D3FG]jBNⲵ:r[V5re3Oy*K>յ)Wҧ074d󑁾Y=,~N.2i]RU^ddT+pA]Z4@#-n"Ie+"RɕJT(+]RZoHY&۵\)Ȅ5V\JX<^Si54\ΖE~S5zwDLr.(ߘ/=x~wd <.?ȅԌy%=_.ճԄch3@<!Q=+y=n.nC_BPPߡlG!C/* ~kc.OE".D+XB(TJ?o,/|)"?^F=s[*jSA >8מ |DpSAo(Yhe"Nν\8'Ȥ=JXūXt8A6;q6> oNHqWd|Ϲ/8T9V<@t,r?" _ "ӓ`TXhX= e36h\8 ZԲSSOmB%4| v.Htȗ=G{rPT뉀ˑ-"uԺ81GU eT֎,DKAR*:Ep賟b**G;I ލ"]Ʒ,KGa[=t Gh䴥(qlaÙ BL M(1B(zc%3{p+)mF$/ riH#^rD~ gm@$Jtm^cpcAcY\#zb_`!:U1odOI?#`mӚlwkOZ+u/ga5qMb /p{G?G?n䞽} /ٽ~{5k}ip_uqN2h-pC6yuU= u:HU?~zlz/@=H!y|#orWi>o:Z(%vk4]dw|[??{|xa6{Bݦ"q1͖`؉'39"ABV]2:).8y0O ʡH  'qN H)"$-30/MdocqMF:%8fa(hqCB= [D* 3:)E1QGJuP:wJ.Ox| y h[Qw*WNpl('׸ғÍ4.C p _Jվw;7%7VPz \{Q,lZ!PQ(K}9d5Cۊآ}t㆓eH/R@D,<j;oT{o&`t7nNn3%Z3.&8H H:6 n:I<٢?--it+d1zd@.4>Q{ Eb3FbUbNfU&GJgT(3iUVR:d;8=XBMeS }sbR擳k;4krKbJ; O3){nNj+T{'[C&y%X˽*H6ZY,҈'> *5{khܞvɤ"zr%.5-D&V{cLصYg_05%0<Rd 鑝[pkk[O`El oXl<`'*CO 4J%NHE[-Dʖt qȭa5GODN-kQanrhEME_m.z(B ZMh8H҃OxX$催[&גFS2^2#<:2cNPf6kRn}Q,o*]A K%`;䫁2v"@y n|W-Zp ûίY)MƆpC) g&6Qp q3C!B~Z:\`3#B{NEbq5LgFL6ϨQʭQr{5+6$)e[cS O.^! N=@^cL(Jf-brv|Q? 7(L: قWP`BN.GTЯsv{V'N VJplFE]4PdWbBDi$F6p})؈m/NZT}Sn2)Ҡn_$Iso%ٕb;V-т^&ʻ$] گ2Z:Hr]UN[g2dv^onadWBf25`z s1ui(\ԁH˾#o4KdtrǷzMt,%mcL(Y]wܠXљ5 UyŹG8HMQŝM9.zzlP|mL nϪ^0HxM5ʐp 6̏EPó'ZJ+w5H[5J 'W!G䧅h˛֮9)S;7u!4uuN%U84).$Z.9 ',y(J!GX,&ncXQ=Z dpΏvm&lmD)kd :[fè<~ϰ66=8ƷGußoޙ kQ60Z?b5:Jgy"z'Tw,H+ȑ'**?{04֕v W0EhX0A xd%Kpr `FfvHwbltkZb3XwƘXԸN>3Att:1<<@{JWdۧ}@^=aF&G$kgRC)SdZ,"̤XZINhWtr>`XߵtwB!"_G `Xp^Dē[ebI'H.#Ppe~ELy0CC2hΠƝet!GC6>3YF'XrvYsVlǦNvu|9[Nմ΃pz&s祿>u/4Bn2r  +Vx5VqO u3T&'`pkz2S<@R<R7OKN߅"H.˰J /d8$(wrKɞviQeTZM+lx!6O$ݭԍe,)lP!] t۰j4nN(j┫ eWj({P#fX/d2&MQå}#dm[$ۻ*Ro&[TEԆ*> Ed hDa+լFYS/?4WRWj3Y^a]sN纰.vnc1xCξbNC6oo,5N^#:z)AMGm_+Hpٙ+|pk':wubF/Z^3pN^}X࿪WӖU7Hz|~jZi/0)w48GZDww);_/7N E/]fŢ%zzG8-"WwSORJ:VQ1v8!׆O(G@wv|X$[J>crNwƦRO6QAW+}N7VVy:^ȗkU3u*@0,{1c4{ G?0C9xl@˿Vd({^zK εt7GGm"1f⮼1mG/x}mʟ*x`v7w!.X:y~U㺃ɻɅI+yLe<읔#9\GKggef wb‰0kͦHBjjE޹:UvNMX9I=Gеg; Ӻ] 0e+{saQ,127w|{@ӕݺdydw8rO$]1&%g\Y2YB[JϪկzIM cҎ7f2I0Vn&4?A92KtEf5pKvFO77N@e?axc[F+-LQ+[!/B<'-<КW$d;[n'Q$6*HLíO,` 5Bh|jmJ=uNnoTrU4VIҢU^Ho>kdb۱iRtgF}W^MƧvr^w 5Ƃ/1v;ZTXYjܩ+z;.Z-N"MrIoֶƖYg ^d:{cpЏ>_ ՅqOL5c5)0j@7)F$ [[ k)[ĢrIKߴMN^U[xn8w'a87eNť.Z2o^khtEr]B Yw ݺϼqoyJ v3 ݫ+JQ|#eF70~Cl~q#5 cpa<ewEȦJ@PgÄZnrD+\aox奭//n)P?"?Tn) o6vn]ɉtRY^6n45*R@AB<_= ];%Ak5z*_x]Nn 4G܀0 iekܣߦA4 m'Gc@ۚCABruiۆ_zV @Ao\KGQPAzuƒFRݖQhSWu-IkckVqK5cjq_ ՎEu֌iYYt7&C"}aGXiΙ⹏ʇa4V8fYZxB&J8ΏI _NxhadA1֯ΊS0!QL'ᯨL,W6'B\ǁxr.ЮŦWEZY]dYM`ٵD2W'PGq}CfSߘKq~ 'hWO3bYRx÷Y D!p, x7GTz%U(H]hE^&<`Ɲ  8~3䰼χsc3_48e٫>M%&XplQTa ]e<3gōCtk6E]C#'uܰUҹ'PCD);O}h~$ d t2fe%u*k-j, vYM3mНUcq OT)`~l9 er`فyHPFu5 -A󂮄gWn.9μ!;3/`9q"GYe_ɪZ828~^ o*biEY~cgAnFKeanK7N}7yDvۿ؆٦]sAm$_ގ@ect+33+:|B>c&x|J;<z,{ob.,h]7IXK#n{-W_x/na^+t $/ZPN0!р/Jd+%N]aJ]ᶚ5 *)Xz4gaڞWP`M"RŘd}5 T0u=q]TmV;OCKij*i09h) / @Jƌ n̾d\/ܥ"U;jW[/Nɪ) =#vc --sm,(\`ަfgr}x'ɫӵi%˕98EᖊqyXPQGұv"tq߫r{VJ7 UK&K~tu4CC.O ԰Tz!lq×n &tX;JߡWu"09Jv%-N<'3M|> `i[T>*Wѡ#y粱W# Ą]׷F.{8h MQC[#sXDr̬SAt y J}&ׯ1w< \р+9͗i)2Xթ8{e޸1!sM,SiT)J`!PYA3AZܜŧ,6!x{%:=#θQ˻\Kh^" @irϖ&zXmZWd5u5WfjG=Vrģ]-n?2ٰ}x}CD::w.[xy>HP_X1UZ2ga pd(=J.H$s-C`8` )]@g!?BNLa vU_[l%!P.NL, pf?_`3Z:0 UZAkx5U֣@HCX "(3! !3I^>X~UV 7r9 |sM<\#U!'-c2Iuo[hdזO8,iP*4kcl*Ĕx*EʇRtQSrI2T._J.Gnh\e' %[#`Rh42ͪ.Gb@6Z],NJKϸ'K XbjUM6~a%d =/ QYʸJae@'HfXDIVTM7Lv\(N,/ʪnڮi^m?OOHLJNIMK~_PXT_+oCcSsK˶vtGgWwOo_|\7ݞ )@QU ӲY^Zչ5ýdٸPӠTkjk&jRPƲ&)[_ & ʦ @,OxDCLɇBQ=T/RhuzdXmvN.n  $ "L &H, Jъ!u5g,ѻYJݘz,lJ Fz{M4e9<|𝲶1noMJB8p &"&!Cy (Y%5'&!%#g`D(4cbfaec/ ($,"ET429D͏a` "!>]KRd(SRQːIC+Kg؂rW!nHK(I`~FF,rʓ\"J B+QB*jح1]5jBь mfN]1Շ߀AC0iʴ"&~M $-Y&Ֆ:&%e~of-SN8y{LfJ߂BkEЌ).>׻i^m?~J_=#P'{Ɖy\Hu=d{Ph5|33 󹆄kO$E3, $+=h݃$T33k3j'*04|:_ro/W͖;2I"̰Gp )0d 5(w4MFG+V\XT\Rű#Vx $'UR-yl%Or繂 6y2"Rd*NHɮ[qDt(4t L,lg'BW |my:T1˻dA3@$l97Ȕe1}< 8Q 8^G0G4 g-[jn(>߷uaԣW6np[NgAΖrœ;q3#O9SIVTM7Lv\(N,/ʪnڮD:4/r #($E3XH_8xAdEtôl $arۏW|Яp 3, WnQY^Uݴ]?ȁύjKPLq%TRV r-q=?8I&q4-zqS¤i^^!A1 )a9^%YQ50-۱!zd$d[aevt\oRqЩ&MF+[4 $aet\oGPRTM(-!t"L &H#T\ M6~}k&iɌ̬\y䙞7 ZMj;.GuzdXmvxUjV F-V݁3RF:4jҬE+$ S*Q1@3uda;( @,O *`./LPNo0prvT5Zs K+k[;{@`EYuFbs>VӏD*+*FՙۿlM4N 9v\(N, eM9NƔkrҝ<WT"I (ɊiَAIEYM8͋Ux#[WF(Ɋi9} x~FquTQevqݵrlw{\G j (Ɋk(_=n+qcST8`4-V9.py|P$HerIьBRk:h2[6r{  $ "L &H, Jl]\@H DBLBX"JZ FbN.nV6v$ "L &H, װ^W vJ7#%^.|:\=5UPmw$. -_`wנMvܼSIYܱwmZLolM)J^5<[_3_t:4 uՋqUp2ygXy,B2 RR&Bœ->ފnY`N!EQG/@AІB3Y:G[`* EFYD _*jx>^`!#(dJZZϑZQ'G?O i޷j AYR41f)q6rN 0O7WʝQ4BNf!I]\\W$Ra[ jzwPںxIzW`A U'*xn2 l39D=UN:ΑȘU˜D#ne- SY!TŔk=A)-T:gׁcd0u%lJ-/3w; Ɍ!~£*FQS65D'5c_]ff݅%uH)q<Y=x<ǘkvYFQ) W9(#րso890ep]XTN]4`U;׺ǔh2"*^%! S-ã$};~ j+8ڈ'V5%prGɵA)k&Κek߸x+`: "`.dԵD2-s)>Y1L,5v^>|{B6~g M`vZllCOm;;hU d>CľitƏ$#jܺ!o\H]}Z"ةL91|ye3'N,}x Iȿ/bE1D4BhX`oB"A N49*=^LW0(d?W ' rHX˧U{.6_a,/Yݬ:Y0z2. &a%4VHi;DHVDP^=$[S7b&UWVa칰'Ysc~BXln0,$BDE{Kn3Тjr[Rc (*INQ [H@Y9)I|ыMGb2,'yNƪq!1$ҸBnG8wZaFr(g)8U <3hq| 29"3%s@,uH/ZT>DPƅTuWcB*ml „2.ZaBRicsm@ĔT_DPƕ..n\m)]yH mZq!Mvܼ^ 1.2iَ$ƅ]oiَPySn^7pZ:]1:bɵ]w!#喿 ٖ „r!6G t=Rk}w!_[k"L([E.3}ۻB*C yy"7[w*+FS[rXiX1Gz#KZ6wOF2 . FJ` `e T6$N -[g"l}Я27cĠfKjWے4ԪDfW/ȫ!z!ZAi<\iwxl˙Bq r*`⹻n[ $VH(N|J>l(Jxr.0[wYO^51p4ioX8rvi#INYT$ւGGs.B{ y^v/vϥf=1E[3Px^uڝ( t1LZB ް ,aV3+ Z /HX/׹c{z}pJx/gAYh+hwB?2}d"e3{j;^PUhVᷤв 7Ey1~ ' *P: Vc'9b,b%Uz,aAcV eOJ]O IDH S'$B:SLSpQ㝤T<=9 ?InVZo7` w٬rKwH $\rtwj Sw/m[C\{r"˯ 0C1OǠ%*-~E_X'v(8"eBfKHCY1QK`S5_dU; 6n(̠-&M'%8Rsb)ٗ7)mH٤1@R暥qy묠vEBOe]c)"9< T1 p7pH%$~ο˖֊Q\U͐U4VhȽ )HfɳkUTsC,zgC{w|P|%M1BLGqCDҦpJ.UB/~HힽI WwkύWS 0D* **YŊ5 EJ(0qhuͿ 6EŨՋRnù.3b6baB XDLCΨ9gM *%mbѨN\[ۜw~흵=($d]Q)3sf3933Nd45x'OwOyoaR+THF0\D:)jrD͋8U+s$Ar?jq)frL) lj7͞ 3FTN{fM\m޶Ic$(F8E8Dy,E;7W BZyjL Τթ:ӄZ;In=<76: _Ql 4/KpptL4 0u??R-}J_+҄42QB&dFH"Ћ!*o?2B(1mb۶= hb~:)JFGrdpϤtҩT</_nwd3(P%#uϑ5TT(@bq>7m/X| q3g"k޾"D"$j Ƥ7!J =!@,Y=mBPh!A5oHRICWI&Ł f@@+D^'m :)9Z)K'+x{vl $|$ՄP"%~̨ J߿>wI**G'~cħVze|`ީ\G+;(Hf; B<Hv1GTmB[uک+^$NG+ RknrgbȄo'-?!ozf*RoCAa *t%F=pp Ԡ[kV_%j0򽑟 0xj~4F)&nVy>6`D?6z+!1܈^ZJ6v@O qӉCk֍Jpt˵L&OE4~{}Dnht۫zv+4i`Hi&hXmUlU ݼYvΕd[0%ҽ5`'N2܀ C  R.R>|:P"!90ok~H2;!7J5ƅ\YKʑd&V?x0GnvGŝPB!pc{Bq"n:r)-o>($q!*6>_WP't{^C:ݺ_wn$$eEhylJg +B 1.c3-QE}עW )rd RWU7^}4 p]fxAc !98sH̬"E6QzjF·&q+HR=ԬD8VFFo<=+U])UW1Fz rbqʃ)a~O4JPRiKfs2z@/˄F*A:/IJ&$@BSlc? ;ry̻-:rȝ8 JH-7,сG'YCr2jέUreBVl$ft'SM U@JcيզWhdYR:ZC 8H%]; Բ8k (ٹ=_{0[RLB ] I2P?mk&jOJN&A0L3R+O%j*/@̮YɻF>@px^;ryx<14MFEDu<4>ﮛ&U˼ThX~Pk HG9HB,bsdS+g+\-G)~y!$OKa2@@Y߀-;W|O@081bꪮοa=v$DDD$E+}r i!+1!>U.i S#D"$ aD%:'P ħB 9rg&75!6qR3H.l"3l'߈̞L Jt98=Ӎ`Г{6|hsX‰;g~ROB,\ EMvLQͦdzXl GcEJP:m$nDx "Z b39 Dkޒ VSԵm(8kXŀbGBh ;.a{1rRq.[I9+~ 5{~mJU}uHe>rX:)>er),Bb%LDp$#ͨ9`͍Z)-rB:l(ʦ][*H#Ԧ#L9Έ)'X:K傺K&=yQ$ Yz/! Uf{ e?FUb14/_BW * G4\5?3@i`U`G٨sHAw42Ñw%8_ I .LBW*sFBX2 ܑzC$yY̿o:P},wEb󺤼R*`WhQwڙCڵ_/4|t:v?AhoܹwybGr(͓c;Kc=soy ߖP)N$ڋ܎tPR6:4pU#T-ma=ga[Ѣ"kV\`ܡY&@7^~seV:/t9 l3i(zt_k'#Lj%#+-<[X˄]ƈ5Hb3ݲY)ٗبseVm5N-R^6i6= YrV:9PER{.HA3vWqNLr] w9*?s:zΟ%9b1K)Q#ZpA+@Y,NlJQ0ykF Wdzu>8[x -có fk o2^n;j(4ڴ 2exN$,ueِtM:;YigR(~-& Z >"^>?ȸ*+W 2e22m2$WzU ?B&tS恪O{݈t1P J,{is7W_&5J %_*Ū<FZnX@^ +Wa`h,*a-Ĭ| Zr؉@D $$F#mqI)/9 Yp@iZbpFC,,ȣ{)d]ߏ;E %k9:g%v54IkAV1 W4y%V&(ܚpmo+hH|l{a{崴y&}LvW6)26NwZA:]V/gȱ=!|>s䄹s"Γ }'ʋpI 9#pδɳxMocNn_Q4uΛ%r,۶/t;6@oQ[Qn{9$rUPK%#j1n4 f-y"`"lxX}Bۯ\vwLtZvfuvwnʈQ뾺Q?cܹ -^JOϟv#hJDi5D^U/L?:{#S֨Xy΀ .7Y`9]m‘d)|_ .?ˊl \'4 lFs$ qLQ׀[n9{^cמ})(*)kX(i 'I*`9\_ %RBRk:} e^xX\%%E3^~)Aq~B*|B", +QQi~~C Z.f)6H}/Ul׆ ᗰA$ľg̬b Awf(@Y Z~<<9(*,(HjP y-HI3 ,(:iު<6\L6[ "ZpA_O0 F a 󐋥hw#V[~Y)f uO!ֻa^{?$L4kЦS6r$ Qgys2;`*𧖉LZC~N,&opQ2Ҥː)K+PHʔUJ6QcM&uQMn7Hw, $ IxgUl\lジu~\R 0 #(4$2BeeU5u M-m]D*ܰ/ J1MvH$E3, $+e;.b$E3, $+n"H"S*d9\_  KUTXU7h|O4y8C *5t2fŒ9Klq#x ̌0X͛-<$y 8&d %8+ˇʈ=)a 0@QPѶ8GA1{q%Tr*Ue^:">)V  G12L(5uA{y0vh3̐bY%D2*@UR5%0ke4- f'27ϼ-BIP-#w Nl~.'S@%ܼwe H)Q@(-$T?Zhֹ}o{JrT5 /;b$OP`, A%F L ʨJ伛+qOfS(!yL%Is AgLT:N6gQQض79*Ie*juH+QVPv+>@ØvDwT ryu!ouY,fA yr5gu~Ҹb7ÕwynkCZx]-{W ٺ+3>c1<|WGcc q+,~/ ~dT*;&F->[WNG9/5}q*uanuK?91r^O?,5rmbsdN;[UՕQ:][n7W۽_nC/ fk4o;+p<9{߼FP 'HfXDIVTM7Lv\" 'HfXDIVTM7Lv\2I (Ɋ4-q=YH DȲX" ML͜[x/: VdE ӲC Jg0YlE\</zɎ]{M(WRj5ju]0ZNki^$b۱SRI!c&̘d͖]G.=`^#;[r{2R J)WRj51>3/Xf$2\k&A]*I$icL$Cܤ|m>Xgq#  e=  ̵L u   O$d`HX8b{~뱧k]ޒxFpSd4YC0cg9p2WׄcV2<  l`t鸒\qv,{76}Öm;[@2@x1 Q0-J &nGc䆯\ uԎ-AXga;DbY^G8 Vd=U=;t<9 )u/_<J>K}DDDDDDDDDNR{}+WwQ7 na*SN*.q F)&&E @0b8AR4r JjaZ"a8AR4r JjaZz~ẖx@*ST*j*I.cXɚu}M6-+OB;ͦjx<lxf֨ۄfAmss"Jux@O@bj9JĘԶ% $U|X (4xDT1F6G,%UT54utLo`h;m0?lMrHxalȐ6gLI c1SfDAjQFV$dTZw4RBII⤶/z:\1^bQqdg R[4*`@f|[[@~̯fæ~زm'v(QH#($E3, $+aZBLí \ AtAȔ9{emd61k gRHf&Fyiͦ@g.FpQأ\YB̍J@%7eW>4B裆kPwmdty'~*_IU߅d'H")`qxDTڦلi̝ؔ&D("Eͦ谘8d!J*jZ:bT&70dQܝʑas7!aX23q(/dxbלb,ZlŪ8b^`phxAdE5LKR4:bs]tX kKN&648oD%TRN&-tDDDDDDDDDDDDDk2J+vqBr{q- C\tYs9O|]+n}:D,r4 JK官):!YfN Lb3?L Q c\dx{pߧ1>Yq+Ah.ҘX,>(~i+*#($E3, $+e;.$E3, $+e;GFF!vgRQֆƎEKXB#o#($E3, nVWDNͰ/nH("EtôlJ „2!U S 0 #(4$2 &kթנQf-ZA[mSa8# &'HfXDIVTM7Lv\DNͰ/no@ɋ7!xҗZ!$E3, $+e;Ͱ/ RTMD1X@$)Fg((*)khji%R\ONùp,^8P\sxNSW5ϙ,MZͰ>m%6seF! M4!Ld/{EshV b\2/F0b8AR4r J%^)Td90Vhs wqOKZ:zKzfD ʮzPdyIA/~ݧr~̋f᭱N&L2OKI u   O$dT 2[xlLVY!˯$?p~6M$;F f9 #pa IH Dɶ"7~:L*rʔUJJ"؜0O@HDLBJfƣ"&X3T40 wZ,7c|E.vK]rWUvz>Y/ otQ X *X.Z;kΰ+AYСCUT* CE v=>*8h^ sX:&5RJ)RJ)!$pb37"RMu $RY~^hF%YQuzggFnN_^q'$E3, $U Ӳ)mʸi!PD1XNI#:bT&7042615sfnU>5|Xd8z |ʜK3P-%tY~g_|͆MȭjnGKe*TI򷏯S I2HQ50-? _y\tzG =i׋\[timlV[!BIZE@ e\HEttБc\ѓg/^yӗo?~A"JAB=A@ԧAtC17O@HE#xJ9a^Qq$@7j US6,ak98sx>P,q[Ղ{djn*";fC8"“p#o`Ai(>GPB ,+$}+ֶ֖+8Q?I詔dE Ffw8]n 'HfXDI)eS&q!U ShB`G Qh #PFڰR%(C!FyURBKsa {%gBH')G㎢met vnX ?lIxGRۖcQҤ[Kحרc>Y\/8f![R㵗e#CxeV+=fw< J(C2,i)QOXEܼa®_;zd(a .vE]lt¾:Cu4L߳Bʑ>-EmVL[?7ג$/ ~o+@HO=+|Ztɰ9c_jv~R Um9Փ9W\!=YR7X0cs\Y]iHv>~&]e+x !{+@TCޛ}sN͍ lyCfbeQi q]9ZVW3Y/SC>:,ǥ6A0:(Uy3*]R/OUfPd궨e wjo@٩UG*eKOIBԐ%1S3=K̶MC>uS|+L~D0P3@14Xu2 #:]5KE4BMN㬾{k\XWL3Zzyzi.2[em|`5l 4\j궶xS.B55uib4cJ4f\7l1Ѩ<$pdC"'3 ?y@m{P-'cY&~9p x8XE"aX%rF w0Wi* /8Y$F ,.(#.^!-Ex a \%C;ipq2'm"yT, ʧ2U5թ5KuS/o7OF..쵥TѪ+_bt߱Zptu:1KM0a@@疠O~ie pyO u݊cT1hԳbr 8=od5Mvۗ*l;䀩a9~} /h0&p4k/A+w۳=xoJ0mjHnHpڌ@wQ 6xA36f.hh[0_elP< PH)x`>!+uFA4  XdSx)R'ڳ՛⬭."b#]sM5n1֫T!Nl9ā8 LLr=.2)66KF$I9CP5!e j T s Bn]30 ɠ"TN$+S5G-ВykDF6cg$ Kwsd"ys}vy<{ zh5U=E -c?'xOīs:B x- c;,rQ4&eLyoŋ|@q/1K[,{L*a:3c%fb8p) A E/ ؓU-w# 6Fz"z=a^"ʙN`=eF""Kph9d%'TX0 n\q%("3&2Ut +l]U\$K nZĎh׿$q t1H%}bDd?saQ'I"򅊦F~$el;!-%ùmE_ 5A~|ݎZii9ʸKfZ6'P`2Ԥ<_="+7 %^1^ R~3Ur;"p0a'IRAՍ/!/Մ@'-ز'^cx̏Aha]alci^2XoT0 `1BZ1pbu^j*5Ɨ'*qzH{;+c XI" ʩMuGEqc$VUWv~23(Rlf$箛O7e W?-Ϳ/휮x`|>%ĕ<?0dܔYz)77&A: $h0`CH Ћ'iIPe8u&.TLy }׊L^{o_/WXz%˯["Fė5VaN׮,4A׭BAWSȌƔ,(g[OFH,oWz<U􃛾ۙĆC@KY}a Җ\Kqຖc΢e$rn 5R+?f"&n؍ u;(7I?'ޤͻ%6M@w. wOF^݇?@m)(L"JaC[<s&Fc\*ԑ@ 8,Z2ZCmg/P&WL)ON{R&9׮5jڴX[pE=> ]B(u!o vy:Uq|~ / :*m̩hhFQ;+T7K:ylO2F<,oU|6iLBCaP]:_^ 66]3Gl.9?Zp2"5萊 ES[\Oks? 1<_ju$F9jvym֝6x(10:vK{}Į॑2c-E~|#9W?6L >U8IYn;,8+k靈gq\ 8 ,n)e_T׽۱ADAаOd>7b:o]83{j|SaFx6@g#:D`(hnI6f/6@Ce$ <+^@p@7TV.k+ܕGRmPS,-l|Xi^;X>(&~RHI17a2 Af1V~(&0-r]l;$?ktp|s1Kb-G/!Vm my5'ӸZC/!B |zT~-GP%wC|a_vKtFqW!W.Ud[ds3kq"{0YSLs5qv& Vm&\Ie X;OF\qw4->HX2XlHpSC$uq ?C1 %q" aAI8gΨ"bʶfq WʼndI\{K$GPAT.Ыrd#ߊX6SI'zb,.G^["x'o2;keog2㖣;ne7NEOdAНA Pkˆ;]q'kLz]IBY|w5_x~r#k9k )֣[Ltt_}R+G'*qJ!1;( @,d*meU7R$ // vsDf2Ʀ5O4io׸~& %VQY扮N3;߄M)M͜h36ol^7M-|]8˺eZ$h'ir7׊iv+{Q,n7c{([ɾpb'Nvض'6 @AA퀣N;թGh2Ch"]W@35ޒ)J%c6$;=tѺ3Ѩ]!TëCo8RU-m"17ļw},KZcX1V!CܙqbsO&]2猰 d׌f,yOg"f])T)E]/Pjqv_1ᴒ/-٘,47\lFY wxquZ숾돲#AJiS $QNm{K1i9z6^?EOѠPPUSŜ'7.t[N4f𪾆R FV 5FQKqgv#2kF^Cޯ͎:7v>p+*C4CFaA,P?4x"0w2"6WV\i/HOӬPVDd8  PA-}r~+ӮS4b#]Vm;{Pϕj{}Yc 9 ϙHʨTzBur+zJkSPF2q8@Tơ^GuvGF:pt@ZwS{}S^u("}4ЬM"~xzL>7DZHB70lFam4bh_RM0 !| x!23%fĊk<z~5貊MُW׷=·S{t,'A~~D?Y`3m15F *zm˘kD7D7m?3֘13&06vsӄsEwqSl)€Pq#$aN"\"#3Mr!JRHɾQr̓kMrӤWOr$HncFYr٠p-$d6Z B18k zmiYyYf%zRsow꟥QOs+zGP(n#6%pl4ތ!%I;ud!]°D:lX%1S9 ;Auޟx'@yeu9-$3A S9,5+kj h!m~ؠ6UˤQ~LX_Dw/RYZ.d40ԅϤQVd5[SlB}cq(7REm#5LjR]I/ =*ZƏ un*jjtt}ur<str>|zkNp`g׹XAɂS*[C(講PH؏eڀVN2$Ro62mw*JyS7k݊ay 09<`T߁,/:; jUzK M&$wy^GopeT-6C^L;;z?/Eaѧl97Y`Vyua`-_}L/a5??A+ <=d( ,M̚:wVZ$/,.-%/&8 JTdCJqx$Z"uϜڙwq-@ '1{/B$0$a ,<#}d9syGzo_;x3w3B!w=.w!8.Tbo%.iCQ/ mzN *:>hҤdfyhXuSMv2iy6C1NFс꧗ʿ*΃4'2P%0:%IPߌU*( =qMV%G rhT|J7ńc+T-W:(P] 4$i!Z褏̰&Wٔ4rHLi)Y."l^h>} uz J\ZUҩUY&5ܥy\{] kxt?|o9ׁ"9:ٛ9J# ɍpr7Y)HI^1%?2-]U$sF;wH -q=D%(,)a90"r}j}s(dsv9H$ 33Bs FG$IY#I$I$I$I$IJ$I$I$I$IB!Fs$II03F333 FG$Ifffff ` Ga9I$`ffãQ/$u#b㧝)%$`B`vF4i3gn@3s}8C.O,E[vdœHcE,y}τ'BJx$虸jj 0.fl^.UN5ܞwso}F*tvt?:56taL\,@eMi~2g$Pf 4zx =A>ΞdqAg鍒qѠSڬ5yS:mXz6@xT3Y0TH0Jmҽua76[7 ߅-es^r>\^W~\%ZfWK! AFquƘ >#afy;ɇB e> >DwW|uBUk[Q E0"fX^תL߬&SHuX]>19 կ0I%Ug'x:#!ãea+^Z2TuX Z/Y}z/Z9/TGy^W(̻v,/ͷt+]KO1FRX@U| ="KtNa|3NLHɉ`j:9]13P蘺-BOqO_/ o[,b0R[uZjT{[K31t6GMn#Au1Y`=_k:?ߴێyI73ʼn{DH:_ QP/&%[b2r-RY3  aPAC*!ň8s1P2yx> ьI 0PQC!/$4BC4;" @B.ԍldF^H@. I sKF~/W0xxe8~x]SWg$q@_NT30v\_"(7M^UA/sJ=YgB3k^]mDL̳w &f8%vE=2/lQE:4s`bX@iyUPJKi+2V&z6h_ouG! 1e~S>pMzbPc:'s,Ooxv>Hzk0-xc<2tDxQ"E qh>@[ n C[:Ĩs_6w^ j8Pc=w8[(X#;Ϸ''fa~0  Io"'NzNh&ʕ|̃VQ__:M/48 Y($VV1=xs,/ͬbA n eC4a`,SPϾ bцaUE@4Q/SY`@j2vϑvBQQn7ڸ:Jc65ݶcE_Tu ڧ ,q_tj_soyr ~Uz-fYT;nc\d,jTZY:ݙvwø, 7sН}UtRtXl:|إ.w]h^+;\9` @hxAd٦:Awj1~ĐkQRk\ Wr>k"GDZ% Gs& +Ɠϴ!b!$!d^:1ْα;Eo sJNkdhoQF; x=)һmzVHи_=欄P[QlZI Sm{ݪ&U=7ZcZ=߾ }j d<; g0L{N]?"B4RA]m\]'VCf9WJGAY"<|~it>%ޘct%a y_wnej}XWVZN;]ޟ~\JJzQÂ\P7{$AOGxύdznc8h1f}Hзvs߅-T$djD)"{n$~if~0",WBk`!~Ty-Jܱ}߾U;o}y 6 $'3cb+ŲU|U|CU\7,/(S#~7pWqsxʄD,X6C!CiGkxi60_E ڒJ֮ӱY]Եޕ-}ʞ]Wzi 0?яu@|YA:` 5ȇle'8eM{ p\:2U*D˜rD bTE ⑂td-dBd`j*)s nS 8--9d=e]ٸyێ1 Ɠ~Jk UaUWY)*M]/$GVp$| Xv}買=1g)MM> 2)KU.Mfj,~Z+@ @ .qW "$364.ӥD_[R荭Nۆ1F׎W6j֪Chc@=+ԦO:e'qWO\3{Š}|E{A(p!j_8G"_ujTR@Ĕ8>R# R7/0.2fԕ'6zF^_wܹe&x|PH jS@C&!y&!y@R %-b1=;;$ո8yyurud`n;' =v3EZQwsSޜK,'(L/ҹݣE7 ys-wʼnm Uӱ7Reb˯:#}ݿ.-{~G͡Rܗ{͖PvSМLQdY V[|'y/|oOTsokGC 7R?`9oDYa%&fY̿ײ-t֛3"w'abL^݇Ԥ\}O{ڽ|B#Z__)+hXtVw?1M8i3vvypROZ`Qd:{(Efj"miF[Sǔ=<@P(^}<-Q Rrԍt~w6giX~xze~5_] ߇ ݛDIA_A^]nǒѥMvw_)qFD|5ROMp@bwag~foT< /?x XBE {JO-|_lٖR淙o@Ui *t{G.HZx iMDiQBw!1dMν!P%jos:ҡO]NDmՌ8d[״浌+_xF-q٩4gQ|G1:O% r/rp{l7e_*)` ˺G=R'uʇi=Fa̺+ [Nŕ*'YUvUwxUY뽥4/R޻I!Fy[Š@><<xD %f*xLn;ݪgv$$G6(gR,`Xd)"CbK$h$h ID"b1R4+[*=WjWPLI vLfLU:;;:8X54tKn C;&&MMMfW npphflnmaR`a;0??5.7iO0XKc(K,+9M W[E&G`ۈv>G;Dv<ةcΛ#v 3=;_Yooxyy<_x2 ds:^\9<<;ܰ#Outhb#c:N]{:wӝp|%8+_;ttwu;cŅ;zȥ\2wW\*\\ ֵ%u\znp>ntnqnu]p-sNwǽ/ל+txpj0H8# h HPZړ𖞄7] CD$c0w $)R6!MI2dlM,jHiD`-OA픔ДmSUjjBаD--'ђI 9%D,8x."H"L6*4t0d2bFYp*J;JY,n-V]/m̽SµKiO oU(n?9tK :%R垲z~Us7 u9&%A'+N~NwbNU:ΆE~tko%otQ׺.,t%eUWk:}ύ nړrjw؛%gؗe<| eAy EZ+EL,t u&r f{_~3BCOs?@6k@"|Ow /A S؎E{!PǍ[؆0ȅ 1$lGaA`Hlkݼ-^[6z-۾w;.޽vxN6KkWn=2@4{v|4m׮}=\E>;=@|P;|/9uzȈd7愷eؼ3G] =,۶t -H3#pK,RK;R8ţw'^ %J$%=ٖvxtKeɔ|, *ɑVh5Zk-d#lC`QVuۨzmr6GV*.b*6vJ^+Z V޾`lm;xyu'jg`{#Z?7؁(e`;j/Q#;1 X`ǻf^vbrҝtR;! ULTڵM/sά.7Rǂ])5,];u} f,5t`f5n}X;1>QTޓ|6A`in3Yh̡7oՂeVPj?vo;t^A,@Qq&DP|pqۥCl bDjj ih,Va gytbȣyNwdיyxNʗY~Lw'm/ @$$ՠMaKY^ ˥/ֳ)N:=b4)`zK"K4wDsH)ɓoO9)U5Lr w/*; _J+ުOju#5m_Q. ^ 7m?Ibd.gNVmQW[o^vi]viR uwACT:d9kGvgp: x|bӟ)Yg>c2Eݗh^#_jtע<zn%Rچ;{/6Q?(%(kD^i祐>H9}-O>9w>j_ | [)$~>kM o'Qź\9՚">7?rGKnJ"$Wѹt[>x:$ Yu93ef l Ԥq _r5fqzJ5ǃg,/:|Yi%S5yDw+fX \au-&9p=,p#'poݙ@ P0 |ZM f CrX+%ıVWUdGתl蓺Vu U I@{yjѢ{g_ww%SwQ>ESkChjsLbϔ|w;6mwmvqhckͫs݂qVexxk֑l #{g"Dx!NO"(ơS/ay&z1uqPd,`Gǔt.iZ1$bŹM-mNm].d0gNyr,,g#³lUzi۶oSgx9^꾎boK3=~S곬1ntwwCL߁^Nԕ[ov`vٿ5]N8tDOkQ؉CſdW]=kBkJ%3RX^N+60r}Rh=qFu^ܯ'Y9/_U{v=23o0HE b!'WJW_< `ӏl 9RtҴ]!ae m[ƤWp̶Zn1wt@HYqT"Co6YqWόÒ(iB^>z9޼(ls KIKrq%RH7=-lU6eB>;8Sou*;g=_gO}+L~ORs(oN/M_ęypkXR7{71 2i'DPl+`4Rvt,p 8"awQ}.w ,J:5 Ņhq@'bCK "R 3.RTCӴmZ6r;@lCJ08aT@h0 ,8x1K$D9lB J]JT%[69#O*PV>ZCA Ք`ݗ_-X`ɒ+Vt;KK4_?ȡ τT| Lɍ'By)==0 [rɟ!~QS7(Gjzy_G<+)&D% R>V]ڙWɬ)ܵsؙ7ނ-Zt/KZKNW۶˴v1^_-n!fҘ@]7z)ˠX=IQ!4aaY8AJ'ԲBQ<4'tL/C}wdR_݃Ab0ưXp8} |L$/2C7%w16E^T>\R)(ga^EoUnڙIm:"?OGTd _du8*Qkx<6x'yٻX>jY_秬u7v=HͯDUPhdu^ n]<\CyHF`noJl 5=8k"$zORqI.Ž X | fNCΌ}RY) v8 IU Hż%:K; Ȃ=W=T}E !:젏p9DJ|6T>n6Hł#Z8f>t  $f?!`Qol `E*ʽʑ`pvF!oa ĥQ?H5To@"wHOo#VQ3?ܸ{l3+𚬬IkO*%Qo﮺D~VnOYL8r8 nf!rՐ-|7>Raxp!:ϕHM:{0x"%)=[*r׍(R5QDa V##-V5̡]9*SzzC>;Dg$'\>>M3ݒAZ:M9hH`rZy`dž=\o-Kq' Aٕc.PGjzqa|pWnCpwF7\#|MgPţUckmHx} WPFqãF'{tL`-b^95zǠOvU(b.0 ^zfũ]޼HI/% stzv+ܣ ^` "9f~ܟߛLb@Jb 2*ZZl5j+-U?ժZ},K?ϱ%%|q{*Qi$/4obӕH1e=I,"zT? m8nų*FkJyo>4iqbt7IMa},F ˯o<#TֶmCZ¥}`':R^չ0kJ<4kx.Q9J-+ %=S!ŎX;#ufOTqL=4.[-NA(H TE SH7D^En%+u^|jwf`[j· v? P&IqwJ,g&PiY$ {kj<l%!d>R=ߙT$7كͨԿVCI‘Vm]tex~%L4T;fB9b$kp#U&R]]/. {p/& ÉhRƉ29+)Y8} ;5ِU$YmL"KT) m W+_~ 6n%zxσe%5uS!Y]}pv:VC{2kx0QiI%inש:FpXBT8 )xҔWn{|k[TToE DR4d壒gs hm~!m01\k(t:SY/Fx]EBw-)KJ!d$k*dVwUյP qm}-(y^ AD ,8Ҋ@yd$>ȢmhQ(zBy94Xxe;=ճ@tz8x0d2dQ[8;ؑ$gI!XѾQgŜ#Pz(PAvn |xo!٘* }nx)X0 t9(yOO5.=_'hUk&C3b`chw>s[ϭ5AuCǚEԔ6RA]7Uv͚l*ن@#iѕLK>Z^b|(:ȫ"ѷAdڻ1^fi&Ƒ>B_䘎m1]oDR7I@Go [,u׌Ϙl g+|VXFt/ `Oyp }d]bb&Q68`1?TVi;iumӇ,~Wi-%imM EMQ=%"=R\v98; ZELhE^u%pC*B}A$]YJy3O#3^2"fq*W$6p Mn]i8:aZz9 "CX_.,n{H#37 zoԘl~v.5 Ŋq(}\]wRam6:eiqב~וAgS8ѭof{zymR. AGJU/TӹraHNY$@y"9%t[Cee/ܷ*\C};%%W)xؿ;Xh6[}dR }kƩhiV\Q1ΠX{gQf Kl p#}0N㤬<=eoXvOF\":Ekz\{ tIpċ>^%ȁ/?YY/T)TI!H?f@rGĈjz\M~IUt^QS3>D>lБxXJ93X.8d2G;/)f#}X x$~*7h>dY:ncVE& vٛ9)e>IkBt1_NݨIQn:7-:)yy#z@M?t|TѦd;Bofm=+8nWVYS;R)M 4@$IQ{/l )*rt+=i❵%\$#QFS4bfcW_TؼS*r5ˎze"VekUoW{]~tXfK'?򚔀>U~}uv! 8)iP~UnƩǶ~LV JMEb!Ns(V8ؼV Ϙtߍ=1몎ѝq5z/ƨCf\`2mRnt.g 4 `жf6$kBGwb_@̋ #+ %x&/Krů҂ˣD[:7+8] 0Zk|W|hΣ;9Op\{%vݎWmj$#۔U8H8$ڶ}`;X}H7^74 ̲rPnl4D^%aSp$8VEpe ٬5uܓtөVgGl1x1r}Aazߣר^7z 2T; ̿4Xd]qؾi-EU##ӫ3´9 w +Pܘq$6{MstڋֶvF\9i4*/9꼽]H@;Fʸйj2$L6Nv]9+=yQJSBvvxBed֥סM ~KU TM?EãQ}[YHK;ۮQ1ظ9 qbiL($\ބw"P͟x#9Ӑ˭RZIű:CKR` CΘ_<vG) %l5:хClJc-lWP-iYX!ta6J8<DE5R{"Y䓔g5{*x!uj*4$Ht4.UUzǎԝKSQ|YuvNEԅl(DS@'ҝy؁/12b D}ʚ-GU؍ybx+Kw83<ګb8!4_~I '~͸TP E)w91we:6 eb2Mcy/XD`3(W"eUMq:F b;nS% !zZݕO[Ai%Y606PUʖUC^;HKBYn'YIHuy{Y1Sظ+>x"eJX}Nyyq@㚷KA 0ϛi4tޔK>"N!ق 2@1` , k`Ӭv`% Sd! cx<8}fx.<W\;8nqg@\ݴpC7을aJ Le+yR%ؘߪ|wUeVJOSjsv#U'Z ^Q2m֮e\sBL8't(аw_7p$9d*eha;G%A^ ǂ^BjN;4i0VͿ\_yUT J{>yc3a&fNg(Z@G/(U-Cx/kr1̳0]NºiQ?"3eT{ORg"ǽ+iA L9)mq+mRC>|52= >7,[0˒^L떖,5 VF_miҮɴ語υn( at̕@PڗT:ע/pdg'ZsUgN[a ݁@ƁCpd")N Erzd)Xt`}ҳqx( <% =a&'IʢCtMuK$eÿNS,C75Vf9m }δ{X.f@%yOtt1; j\2ыlnjd]O6I SV6pqZ9 S9a2X•_nōqLa1j;e#zkZ!!ϙXkkho|C0Ud1}8LԒ֡"X:K}ILQ΁seZWYϫ#ªNb׍J", BUoU4FO:=4<2wRq||v5۸XC4 <4=uL5P;틳!w/!ۑgnubىm/ Όq93_I39əY0:$?ϴ_,#DҍnE+b!CG0xu\:S mI)5A$bM lAS9,ubaćd(/ǻ1o ^!ߒfɶlx;-E}X'C&R(mKS!T YUsWQWq3:غMwXV.FP>PTLt)j(:Q>#y rRfI.hh.%K֠!'AU5S8 &p p+2"{q-&NKΥ/~˖1^)%ޜCWtBkp36yjIr8fW J6A^2Z$us 0\>zxZyb/IĨ4|,!{L"AWx ÎL,yq̀F (ա:ZRhNv?Kxa>ŴE,yNzLh{-f;ڃ+$^YT3n✇f3#w [唓J۱bI -W<6:k]clY~Yg3=0 CI3VXəBݤڥH0W"30ghfO^s%/oӫ4əޞwhHc#9|ZQ>| b Z=OAs f=(puA PAۆ*}~iLl_ .́}a/;\zD;T޹NVe.9>\") ~k ED/m;>t8tA(p8 {4!8U0eGW~U9gO@Pi9O?8 }r y͐aq"-.{US\&&btծm Z\U$'beckcr@f%k68`RߙRzDP &$RتTݢ"*)uoVa[ĸB(Yp2w](H:(LF-@лB !6%5Z1^0a(ZnX;]Lz>IgVO8R0WB^[ah?hG {kb\C❬͗r^֏D;9$™0'°9TRl̄`oDÐpikJ9{O\\0 @ٛBTK?~ Rm8LKAX_d{2rxʟ=S !sMDMѥcKXӥ9$1aa3xRUBGpmx M;/ҋQ֢$aUOmJ{̍liN3Hyk%@$^x߼.o:桜zФ$(+'zR "X@dH$k?Y^.%&ݜ7l?3g<3 Nb )59@= ]C7#*lFfNaIGf[r-ۨe\/M@o>*PZʪfomgI^xt]8&[fLy%,(}ShAP틮n wx3D+z~mog.˱T.Reڔį.FcԿ̢ٶwTP6wGlaڄeN6|m21$bkF[];tܣ6%Z᭿Pn3t7Elەpy4jXuq beIVԒBehm Dx` +sUgf4cC#wٟll4MlģO`uUUIV{Gp0fE?'1__.'O mdu[yvdZ |"FCP1 K;{fMh\Ǖ`[4JՀ&c cy' u?rwsS\ +<9Lwҽy;^]C?j%ْWlb!0W'mdз!{@[d6?yLj/7==c?W(8헔t"ĭDH`2郟1kKA>o1ɡ=aze/"c &ܽ|.{;Eȝ7ьɅo&}覠$;z"MnRmm\ dzXIbSdv=eG 'b=;-Gw aG),jqYAsBޥ`Mxx1ϧT0̍F2Y$ 1*(ŭ'bu-[`C@u@٥VE fC!0[NQȦŇunUp17t\d? >췐#ftϩ%DK<&m ㄵI0B{Td7=9=Cf!q9ιD|Fh$s|6 su@åTo?3lxP! -t g5AI(9ai3"T ge]qPyW]C_ȃ-[a gf6CQ)[;y ̪[CN7Zsg{InK|v0mR+)eYh"ԪHV|"{8"zwǑ8}]'EGWS_8)ZORUCY50ȩ"h%]Η ~c9nab}ghjhrsͩ89y hLm+>0Ӵe3ROyn|Ϛ;c q/H {DZFt"VqMg̯FCTGtGRNoG6\Ǹx1ݟJayg=T8kVi} (8C>`>?|ǀ$z8YӁa7gDb-V\N9VܾY_Y@щAZ ED6lEWizDDz&*S&GqlM&ͳum2ih6}Rd&gycE`_^Oq.6t{ !XBZ/p9C#@ʜ3\Eyxe uc {pDa["=$muh7BH0 Tna˾f$'-{:FAhv%{4f1FP%`HlֹIPTgޱ%G>@G>m2I5㟌_`'pw$i/wO,a)oT΋4͎ǧZ!ѽb MрBByD!Cu= kj=u޲`|rer=#qvǶ @ tq%f#y6z.[٣b+Ob3F{Ǧ iy.4e p)X[eW{QrZ;,<)ԁSR *?Ra[~B}#uW(0R&Jŗ˖y8W*G%AB!>KT*5 ^Ą?o<=s<NV$;dTŸ>S3@|Cj(((t{5b`~wPosf:{Pnj޴[ՒÑg/ ]^dRj+UU vkjn"Z bvɱ }ꁓ`u|,NsB%(N{B6|rDsUYP-e@XYZ*%ŠDhn6|n(m_.4kThh3it$]xgW{򥅩K̎dx. ؜ Im!^4te3 Gإ׫RLaLoO'չF`nu!%S]f^1tmVy0.gfKپ^#ۄK0t yq4"O.0<Q~:0{?{XU{ﻕL LRy+8ܿV[i_x Cl](+&]xH1ɩF(puQm擄 5Nor\m xYhآ*ZE)q~h/>pN /{GSrxzB]~ٴCW$P{*Wn=󿉑Õ eɝD#vkn_,^9baoUnѣiI!M[LlBjxyy\pLŽIX qVMϠUx;%N2ljv -2P 1RfW!zWh18;d /D+Sj1ZZZD'7vX'ׯG}(L`]skڇ r~?ԵOg{h%q gE-{jlsv:Bs 8.ϡ*݀o: Ǧ" 1Fs1hz5gr?k!T ȞB+Ȯ"px. kf|aTK|2m ?_2ݔ u'}cɇ~NMĪ>w"2eCqiŲRu==gjBgcTtg{Bb[{tT[cBunR`pB M [^Ai/̷H+nm"οÎgAFILiDՔħsK[_}`OJj?s2eEEEu5U](tॽ<gDL⚕@NZ-aRGmrc>Q=NY (+4X%)+(Ynx/#'we9%]i}"cʝzӺ|[Di+_/^F<)-5%8!ң;^HeJ ΡRq,r$+{Eub }g^ %T5N/_׹(L ^l]}Z)M}([YPU+ʝR#29>U4<%b}Y?l 8m A_zߥųɲ\~ k'*,ism /JW~wZؙu؟k<±)<P?=C6yɢPty1Ўiv[Td2'*~o;FFkQ\.vw^/($wޟ ,kJ., oKwwxMǛbbu MtJ :[(.\&w<[ LG[ڴknq$@Vz :O[NdOFBἱ8gt"chٶ[.;D+&°N^Q =Or-aNX[+z|J(8пaQr\]f/cq3ZnqRmS:Eڪnۋw9Jd24[=* K$/MWYLg6T렌Ϣ0 "=Koܓ~NY[ڠt~-wA,&rI e˩X)!ܢVvLg/ PT |QVszғwv9jf%\yʭ-{Rkl*0y](v\ rGq6lxPOg yk4)*jZ}/1'm ̀LFipogXg)~{`ʴ}1DS㚑kx-wҪkԽUn 3#mBEm D@[ȣW,<ͨc^U(J0`eF2cn-d냾8(@L j#h?>ò$7fn4+[!\ }3*׾t>׀3xDxNf蕥%HavW;-QlZ>Ȟ{wU[Ɉ&&ʼnLlbB`{G6F[ -ֳe[Or' | tP>8J*W0qx{soIxiPb_xܼ# >q%V䞎eW+@־K)ӓۻڊK.%_RٻXAe =^Μl -*tL|^kj/j_Ej+27%l 7>mrڥu{~EVM~; ER`1jS]S^|d".JldW@y\VI"#ӻ =V{R//"#\t%KNlT)mΕ2i r(%&i4wR/ND?|$?q\Eo' l"n ;{I\S1FUr0/ne>phu-qF˼f#Q0r 8ص.o%/"==Vcq {Y$+u2G0NJ 'Tq;./ŪK5Kމtn %g:t8/DPSN@N;6Zvђ) 5kqcxY^־#wA;D_Y%bzi' `W3}5+e@>QN+C#HlJa;}ADJl踸f>se} [?cMk\<KP8B/gT$(ֆMl>sζֽ]p+&20.Od,7|{%%,AFFezѲN[Yy4_)q#[Z!: \ 4=\Zs.}8U$2Fv[oviER=t5 M$JO_e.@QEI7)-nƂRڶm]VE4 %96fB2k+awtRV1ĝ4W28 mV~Iʳ 卮}o|a;urGҐОa1XV[̻j?ʆ-ѣB$el8du\ی) a={^Ca3Cd'S7@KtwԌ|Dɯ*ݹdZ=<:-?imE"o! 2Sŕ?GaҙbϘyvqTgc kyyP)oKk.Z7j\ྲn"oeHGmP 0tT (m&4K @y˪2.5s>E&+ e+ǁ'ZLKTi>8)YA oPڬr}GoXN>YЭ1SSWSC K*=gdohz&;\rup(.s=#&sp$z9pq5(&"i`{^>ICŦ*mo1m4}rӬAkݱ擞J)# #.OG6HP-ݚ7 ל{RDsN. ) \p/Qwq5znȵ\ Q4g O0z_r8?^mću?odV7$gk yvՁֈ꘩ҎjWNud%s aKBA/T~x7h*`GH"g3+;g-2 G ."\2P< EβZ'o6ʾw)3 (6ާ(i'.lp;b>Hv;ai[^<݌=|:ljuͲ?~>î~y )@ x؏p%]Ǟfd<=hr(sywzm ߚ?/l yj4c*^Ih!l%=N*킏bYX/%“98Eεq__WKA,hl_bD8a? װe69)!(S{"4u'd vS͠YKw vsӥ.Y,+ j= AAA?tTPX0(jm\tB]~.7 1aPi`PRMVܒ_n ʳ-״c2_`@-=gN~`Gmo㗏Sx][=  tQcvNQ䇌JqJWm8_mY1)7KYٯ W)Q13H?؄[,#뒜Z%īX2O&SHS JUy`6PAђZsdz^{|{sF: &| >OisLbqIsEKlL~2L%;> Y9e@Tڽ99<@!Ri$zEQT ;15`8S :_(ZPfFS2Zp,)Xc6%IH?X_6*$ n COW/O%1 ,~jn͉qV){#򑦉-< fPUk) Nm~<\dHR╖f 0A+ne:;eu"~cK(M+Ig353moΡZ(3 a2/(k-Q6kBgz'__ dHW^g0/lɟZs4Ȗ>gm]=?l| sySHe|ZJ=9=,4+;:u9}4 "40|:p,av?͵2lmmM&OU%\ [bFǣ!VE$GE =dOJ?WV6uI=mP_H>>+~)݉7ap/Nk 0Gff=e.^c"PD&iz5Õ&~%#:?f _(dn >0{w!\h^c _ *3,,{\Y-KcSl"lB3jcIW/G˩\ _X l-CEZ#p:^5#S2۬'fY|}@WM{H-gr<N&p4qFmEA_ Re.WdoR'ZaR&+Zu2pBu5VY(RɾNu$B'P՝ hDjq!B]~s٦(n|G`"^]E*Qfyg`ak'{2}!\̹  Z} yO,eAgJ![7WƱږ$(=_>HŇ6++s0<>øX4^p+>nO]EYqoN[x =k3gH/fFL!K gA1U$~*0 dB +z y'!* =j l^ &3^QgƲƆHQi:dhliK o%[Pu+S *'䏰z uIzCh Rz"&8^D>T̕+ *IsqEì<5\Pʯ>k 74B 7:NjfIqgz^+h c 7ҧXBRv;..^wT>51:3myҮ8%ǖe>!vcF042DVޮ87(I@rpCLze\x|uq٠OTJN^Ld_ |lE8hYqcLFO[opܮѪ|x;$uvfYuRj>޿P#V)bnf|" N>x*^hN'07G?>L*EhvN-#Q[+q7Ow\S݄=bd˚0=XQ9˜D4& 2 0++B/yen)(#"@~C g)J'HXywn[i^>nRV`wc TsJM'h,뒳ӼFRcҤrjGr6ٽEyycEid&:ҲzBJBgR]<_A@b^A$ہĂc<{@NQ,QƁ?tvdmG wʝ6ckBPt׈B_s9fdMR=_mSnaXNMC"!Q[S<h_^]{ikQZFpOQs#HqEɤpFiSm&N8}mJĽϡk\`e}lcR*mj6`ww=BA=ku|܌EEA:~ pǦv '73^ʰR͚VSR+^އHK 8| GQq|> 7@Zo'1OcHJ"mr[S[b ~YPw{IK=dqLO(6S62cQlxdx\z*Ծҗ aQuUnGrJrg~3W|] t1I~L諣5-oO:_~J8 [?+I8Y.҈>yS&9%ED d^)XU{ @fYZQfkI`SRec $ERԈ\XEt Nl[p3[Mlc& ܷª}ͭuSrP]E#%4$SݲY(V ^Hz9?7jcž>u)ںWVJ]ܭ[OP(j+fj\w6eCWUJSCQ Kȟ,*o(>iED9 +EVO7yK]< č(L.LE諑]-{e MΌua| }s="r&<5AU+ ?]r%98e!,)`d_kѓm9d[ɹ0\_4 l] gkf󻙘"SNXc~(  qq4_`0.}-艊fG{+sGו U|3wjDqC-r_)ZqˠQ'JN(Y=uZmXٯMLpr?qkq_`=0&M{;}b>\̊m[Ŧd8 u[@;Z(9 q?V"@*(|=1P*!?1E4ͧvAJOe壸ZTH7ULu'۴/=Mn#GPQ UElO? !{ŔfO@^QNy3N];R樸9x#CnۑVv>K;[Ƃ-9}u'uSiY堃kg>?r[srŽYtB 7KNhxtul^7K{b%\LtlLz5Q h$2&o& 822{u4dv۝&9gDZOzŬJǗo_5ޙ2>z61ƻŤGRdW{}8O[agA>j9m=: t'p聞 z!ϞSqD+ Ľw__W=u_d]$2/ טWη!.%f]Њ̚fex.Gv\^P *4 Ve^5w14i| ;+_[_Ue4(+G~"58`As1Z|/^0D]~|>/IHy ޭI택'(wٗoCr K"j!l+o䲄lXȓjՖJ}!3~e^ܥ./mx97m:P<{|k/b$?Z#F&Ì{dnqˢ=;o&<ׇ׺2ghVe/<|g':yGUi i][> :G_vU7[Dv(':Wp asBuWqc)SLu ?c*cr;r͑w,\g>@w(B*9x֒"8 (*O׏OO/x1t2U>{!=ǘ04RQ&߾)b;oɌCgZ%`8 nQX<9gR޷{T 9j ,Yw991xwdg|x`Go, R2W]Ce ߷O^*` }ֻmt@jsm S!6bp*~;Bj`J.'"{BN+rAAۊs[ dq"Ncg{;E9ễ/6bU}9~F/0Fe *P?(kÅW> ?@K_<w}EZnu1oуN?Vln]YEnUĩH# KIaRS~YJHHy\T&D-npoQ%AaigAzB TúO#q׃ڔ;O?j!װ'dp˻>}ۻR88ːyYW7i @Eo&Hݏc>"JMKM9+Wh)&,'LIer e`o?A/B22VۼS(BO;{Rbj,`~+ԓ@q3F΂VpZ58`TVۚYkG bEl¢:TL{IG=@i͑g{"5ed؅:P~01*2>_9 9Z9şqn eۅ;q;z$R8{{cmNFm8Ɯ>̌)W;ilV0Vj 6l]At mYSQ2*<ƫW򪽩 PL8Cv'fwW I PYVNh__`m#np# щ5񨏟)\)wǣj >_0ZpP1,]A=:䠫[^d78닎eTN|کL/̩v;N+#Z 3gSs]Q[}諼EKa&ڢ[{`D4:teT1韞hlß$"_^̹ސ C&t-PِkSli>'?Lxp8sX:Id j8])Inl?/E, ))pkux`E VF!eP5@ !2} kM+k׭vL N<xܩ:'21խ!kRB^quˍxhXe IsD-e㰃YђaҢTP7%BxK&ONn / 0b`Q aH={Q l`p{:kLV:V5ᨛN"TA=nGT-ͱ A6+,Z&:#qܗv{Rkcj3n&8qQmR$%)#0&g^ڋAPg*Nsku 0ݚOibϗ, TGH5pRЫyGН~Ql B@Lݢw;cr">ODԑjt_Oj ݠ( SwaJ o453 񀋳 A{D{UJ'y6#=^tuf BYIP1~ 3\9yznD<9^p.E~sQ C{5=#QIex!Й bv@{_Cm .l~> Y8р5=w3t?w0Awt(:ɓ<1!3n?*=ȑ='N8om^QZ2D80VRz[I>F¢Impf>s>E'1b]2b&+*5WU]Ev{bi?`K@ѕdQnТn(P@ ! %פ^L&jR2yހS}A6׼|q>k.޵ڌV)O6`]tFpR|YC;V/`ē#E{dC (O5h ғ(q5Jb~6Lw]C 9}\?q7_ WsV$vai1):6.8:##6#J4CNc5obW'+T og ˺)yqvNԆr%[w-jx6ØE"b`Ӫ:x.O;ƁK}BhHY:*$9ډA@:FPe^ijmx=wkR Ym)ɐޞՒюIjڊߟx՝G\OvO}AXfp@UWRS:D}c/~|+݉:l=卹'Ygw]ΐhbrzsnB|8 MMg>t^ݪw!5Ohڛ҆cx(LT5*vcH`*&BLzE^vf(TE/ 'yx.ȃ W0p}SHU\/&-?%䥌w${e%;|w /jFjNyj^pE` zAy&)CDJP"{n.GJH{m'%=7dߊ[HNyYVF?nn"n'jr Bxʮ#5R×y$ i]bmĄmp+~ <q+$Eمlג{V^ ;[ZBWD/&a0IaKœOLM|IzY_@vPbW0P%4K&I^4p:OMUcÎ83kPa&t,eRopA%陚g[wh0b ^$B\hlCƚ|#Z]KBBH =,fOB9ۛFp}GC|;dˍ%|)۪<_PS8:jK+|Rٝ)Ys(_+l?OR׵%CcB5FUJ wUvZ %862$R]F挓mд<範ٗXd쾽'i-oQnzZHoXƹ5:*@o/ P$k/wiC9ҚHͪ~?I{+d;=l' e6:TLuwaLǀV :Eʪ#㎅]+$Ɔ5cQi?zӓєaWZ[* lӉIo@ZiN<ʩ9,PZ0]ф*X1=KQ9r<(+܌؊\*!@V;WyEi3>3qa#ia%5]9'ڋyP/ lvu$2W:E6 Xfg/XlXWc0Q+Ƹ{qI1ѓHfD{(PHDxCt7j#~kMwnmIn5]tI8#N==^p/mVe-Rjedme/q,77{K"* :_8zӐkNҠ Gsʊ>ZZ A|+1 \&3V= ,@w(o?S"p߶ڽ^vYkp!'wLcdBs 1 fo*0U%Uqy(ZxN7;q~-9Ha"(#d>SfR$ċHw)db[Bq\ƙԇm{D.pg9VS z9jק7%%++4eJL9'QnuƮ5>%5+֫Ĉ-u"?}r~ ou[kYﻪ5 qs8i1YLV'fpGs.wD % lk&T>#mL2x}hVc#- Sqڙ`_Cxed78T 2hޥ eɔC*?+'_.w*<%%gۮ*{ŪBL+ V̘ȆFwx]K#ا m}Vk'!V{Fm?fǶc-X#9cfRYIo֮6$0AnW2K夾^P#)ު?Ή-]VARrO 7qWT~~S~fľvG5;@ /B5Nuw,hE;LI? &1PU%xDȍBQaD70~]hqt{j*.{6̇$*uwuwwnLnF j VX-:Ցܙ<  Fo 2fZZpz\&'y?ܐ5Yt"b}hRs/ޘ\d$$r ZB##H s$;j@7#2ݰ ̞|%%1Y,}4T֌?4kԢ߭lh&5*Ut hAQHDh.ZaCNIݝކ">CxTEMT>c +T>) )ӃUPW nkBrMӂSFiQWw#M 93hAfZIImd"V4]2{ZLĜ. `@ѢG7Ϗ T/a@.^󃽃fxzT8Bw9t_,hԣF4䔜)o!V.rn/Y%#Tr%-c%z~: {kCqcLrwlYZF^L$q3Y~ w%/p8RԀFdg{a'l_, Ǐ]^뻳^ߗʃfI)ΗBwӮ`,@Y!0ts?0Ds͐Pp|"A-Y( 8FPQ})>*۞`)@HS?Iw1-RɫLuN?F>o8/ "c3Kh0X6V&'L: >lʽ~O<-;2v3NwЎC@ a[g=*)0@imT;QccWJJ64H677H \|"t*b)B.zhʹ ?]~<s0#qssd>5r"A֖bV}l)l``! !lo1JĶO:/%B@upa,eɚ< 8|b⟲9ϛ&]`| :b@BPZ.Km/+w`*( 䓢-fR0 +Q'[4MX nHH2^>[ ~;ɨ Ii|uY ~,Tp/ɕP -\)-J$ת8/zrmyUoڃ2%]-<]Y@iR.RJQJ4Füدmԑ/8zWlМrmߴ1WFRAI͊y]|Z)r"sG=QگQ&4ׇ!,ţ\L^@֣ב@|<b>c&76mEQ c4D|L/ZrR3w$\CBv6i~G1JЈo_$\^; (tÜpthþue~mꃿp`Q5_9JXB P=/?l@oRFjvwEӗۙ:ң(:r@u]pU)2@RilB[C{wTxkkKNK) O'T[o*u9,kxha-z -|(5Tt}~QYn_)!xSP2]h5$PA$v oNi7ڌ.lTK-F0zqk)'oYUwn @m22+͡-#qS)X2g4THnoxq~~Tk{)$,.tl0\YZ,] kT%  Z JnYQ&ܽYG'wH=dx9_FN)Ud}.W᭑n .ʛc7ӕ0/ G%a!(΢//0 WuHH+$m 1J ћb 7 ]ڐOXE4~nOkOAˮ/l|!t3tE_r4.:~ҎcZލiPg9/͑&ܼ=cz{nNΔO 걢|M>I&u0˸  7EUv}.=8=􏉰]2x]z\'O=2\pW_> vˊ뽞Ĉp$NL&RɨpbRY>0$J%C2*Idx U}/~ʗb6I4q fĝ;RP?.+zS(IP6X7 P"U7I;/G@@{KN^&ETW꿤ZU{®zu Lɪj;c`~w4:?Ɨm79u(h;zoKNt] ~%D?}|5ҽ' L~!sff݉d>-l#}aoВtT;B@\u|q.bOryGyeEWyW}9.nqisDgD@_Aq5U}l usT )s\rSJli%{?jAA/lvߐs3v6*1+7e]Mtsm/mx>@ >G c1¶zi ݵJ>WYգEG󢍉j)HT6F N #d>_˔~]O0zqͦ`RE5&.$2{.2-"g=E2}Z$Ed{wi.zlXNb<8b5/9UA^͡opPεħC( E^TXYߘpwEz:ֽu<\4E`\W1ʕuiA uX}leenxIO)ݶp .\$CwU5c5#O S#3+0c>gsH>tllR˾uXVwK} pP :+fʷ%p>2(Mr:6;~d8`a E Eq|͘A2<#7P4IHSN/qT&x|ٮhL{9d4r xo9+ 3gV kt63Esq9@Mpy?$k/  ˺oP|YF]_mp@TT_3jya&F|6s+n$JЯ1\ VS'_^7[AW_nou-Dl/ѴZ8RT1vI> =5  8ѕ=uU>Hsso\=S5C{KDI܌fQOeDκ:2*#LJΡ@,_e_cnIuT*ɞ1BOQ [ ̻"qů YӴt t#O8Č$:dLܐY%U?s֕+W{8zM*{#M-p @l|\%t-Je$Vq8aPhgo3U~ګA2 jǜ?nNA/6Z}!YİqyM9˥Ӈs@徇R2!ƛ4m%\ŧ;.a3DPoڥ[SjO=TDs-gthGuN*tsɔɸ̹+;ǹЦֹ>,&c^Ybd0Oa]%ciZBԕ&L,+\^-f.d׀܀ޜ|G\3aʉiJ)s:k >0c:!GC3zsGk<!t y0Z{yV*t˸$Ե€)8`(f.]Z|NpN5k+fy t/wtr9-8L [ v7Y !*ZKwq#sˈԉ1b&&H8E:k(Txp\Q\>9?{'{xs$ۀ]ȔUjxԊsۀDzˌYe}\tuF|`f<ǁP{Z eojvk OgpՒmV[UhGQpUѺbc@"g p#.BFEV>%-@Mv!m3#z6 H{^mYtNlى/ Kx& شN!.<:ģb* h[7Lh8FX}JN hi420`?9[ v_'>7JȼOj-wsh*M}>٤pph u15{3byR2 ؿ@S{F:!>Z}zT+(ϐ=s 1m(V2730ptdPA0`/)+ՔxFwT|Wϖ)Q~I58jh,9_C}N<,w,73DzEbg "?)ƋYXQwUΖewٺ|#!5khiS{2U`J֣?q/A%"M jqSP|edքP^mnM.d] iSԊTֽJC&WŧcjhhĦI χ*[B]"?jD@MuWkuyBxr.rN!VDE=]K{ӔS/qLyp\eV-#<`rK9bF Mcr `Cq7++Q jr/ &%hKlʅc N.T$^ݔ*%6ɚ`f&6Q? TfDpMt2v!D b!S|~?d6dDU}4}z'|J+5ԘXc$4p+oyabČ͙KK F6,jVLH8D%.l-l&-n/l&EHo~/Zݑ`dga0]wjvt `F4No)4N ãnނwdxC$sکAf.:M"-bĤ8g G/1vb&_gexjOwCV4= V˸=-Ud&lP$[滹湹{{!hT V!.n/@ ǥ Ql;6Jj?X11ĬlX!p}RK7(WCC[@/F7~>#\wV`T0 :Dǃ5:[Ȗ; ]b@jLaҖnyUϼ9nVwhHAt.D d3 ? TOK4^~iX Rp!Yb]U\(Jbe FP-6Nq*K %fnA^/mSHB+g2 DE˫d 0t5K#pjNF0.[,昋/ahZ'B`ԓ! rŲN57/0'^e2e%OwZ:'KGMs2om8>f u\uqD[ƿ?J`-O&p,(Sn. g\7x xDM֝}vT7N#\*{UZTk_HS"z~ő#3V%{/d]R8]v+|;]mc$mg=7FYuqϠ{X#V%;p.t্ ;k"ǰ>p}~:^VΞҾSʣT]ZH`{p zZ)8!uSzie$Κ1Se$3ۭuWC i\ITctQ:Om7'b\q*H ܱC wCU~+fmHy܉- s"J7N )p Imeɺw5Þaܴ2;6{A \ش AG;nqurM,MφrS۱h.=t.k##ylFZD%cii5yH҆/hƌ`9%fj_|:Rf4 {2(3~xZ*SkO|iGV@b%rl]geXtR1gzgpYM8I) u jP.j8Ly9 cV'hb'nNhVrqjyyt_[p3Ggox׏sgёBY㋰ lW.Own䜕Ȋ͂VJ$nH8)vEƱFC gזcYXî-NxG7 u9Lh*`INH`@Jlg"샤$S)tln-@W3~`yL#33cJì@4@2*-#/_{t:uuRn Nhݞ /<$g.pҀv^r4dCgfO}7 b\lLLRlLl$NIl Bh(9\114w[f 0=mͽh1/{nǠ˱ ^W㆘#oU+VS‚ى<\a@VUq@HTVX^H12?3 !?oqpn:MAs4HQyX_I[O9k:Upo]$uϖ~0`8aM$3ؖv߫?@L-$# W:p))߫yٯ(_s" XCt//5 y*\#1|okRE1pqfU^_A꺵:sjWյ:3kY|AS^'HnLjϰ )Z}~̚c>8|fC9'IIӸpD:t=1;3^'%ٚLrRy6gW72u8`Ig<a6h4E0By$S }ϧ uZ lO ~6lO1“l6g7v n6b@}vܓgw> `\ ]/CKgΑݧxtrdxmD!xCC01.~k\>* |c̵G`}es6A`SL;Ӵ nS0P_PX/7ߐ2v߼/+EE^7psu@Ɛi7CJ`ǓEW'Ca!7ۃe߸<ֿJs֕2󋚛6 'H9 s.4`` +: ޥv *CvU2,mFAj"UQ}iqn8͞TswKu׵ǿ D@Y9My2?=S߸7G?NΉ߁zGN\A^GRʎ; /vy!_<;I8\3][]d0kʵf2ߋGx3t@11/cc֊s' C?GYuR?oxW9>7lza$wŗ ` Ybg&˙sN:^2%UMU~P\024$6ĭ*BA!(FR.֤B 냦3ou%^SM^^@R_IaQ-)AH yAq$nZ~qoqmzٿddbgFЎAZB콳zG59zqЬ`lu V.|~X4Ÿ}~v[ʫ6)XH.?)sF__B|,3ɕ3UOJ:ff [J;X^MADdrM`W@C2I8& '+/z?>%&&"4:]BS-&=Wvܯuy#Ãot,)I3;(J4X-6'/CS佅3U+uCSϦSˆD:.W|n;V/O?}ikH2 &xVNs>uL"" wMct9ՇYQiG~A(wx>L41ưu8:7|͗ګA1G0qu\bG{;:{5j$!#@+IA67857&s : ϝlD4c/w@2sZ? R=8r@cDOdjD$~G(<ӝ ݣNbNV!x ܅pNƢ$@;_Nmȃ<. L'Rha 畂#ɜ.(ڏw9Ƃhlj~;]W DŽ I:jH 4I2X簜COjb>0؏%<*lSmF!IɆm";C!Qt\ <8Y 6lO1b "etUVݰj3o]o\#lvK֋?2r[ÿO^s{Hf"@~jU뫦Ws86!v6q9aQv>y;Ym'w[H>x <2 ʻQ,jӞ|)fI;=GG>Kot5~gt|KAA'H<R | t>n ylҐ8NG֫x}iC/y _H{Rosԝe:!ѸnsNbV7R:|y"bʐo[ YPF6 ?-uBl(ƕܓˀũ B,"/O*ܵ@/k1=j6 YFf* bqԩgx bVDZ{zX:#%)s2Rx$Ҡo[>賌X?~쒏FpzRk@zsu݊qw|gx ~}8eJ3&|/jwڞ$4w4I|NLAķ^Z>f6LmbBp(יѐm϶ɗtY\g9^qj|oBMաh:;5~pq46pjA.64;"Q|$:0ڦzRG T5Uss ;bڠZ0*>yƐ0sH_IakH,AP1^뢲X JdBW _굒X|~>,= z@ʀNzm?7}dn$la"G|LO =CwuX~܃1 -"r'0tAt;L~ w@r׻C?TGj" 9wz/ $:Lcq8XfI3yDk8v9)؝̿:;$Y=v\d0CLeyzqrc3'_.W+nW&JS ur OɆ`RՅTg#(9Qӓާv_~L탄>1('#?2ґP O)Ϫsw &M׵9@ȕ3Nug*EyUrUw5?'~ݣNr7 bPm2t ZZ5Mrq;/_]zw3oԍwVudetun{Lo%.N'Q|a-6)Đݶ_':Lݚ&/JI'x|VT4i)W2eٯ[."¿s1? Mxr(dfx‡OKz Xvy>blw9i Xq<Ĥ|ao7?/TTͭ&VW6<[8PSZGGnOܚxqDvמseҾW޽wL&k86yLM'&%5)vS"=g#5Y4E`0fD}-rKj0[avI&`|Dʰ/te7t+Eљ\p_+2fvÍ4/ TJ V-vzrÉָ '؜G>p}I:Sܺ0 @ۃ#9VGq^Z&v6"` Q$k#j(mDam#K0Ft1/!>afY/6/STF޾- Vwn~LBT4Km@ o#bw:')^[@kSU\ppPkV.Zc?#j=LQ_@e)CоJɸ(Ǣ*'YktV4!)2a%|n4 ֭ sȝWh)PѕORfxlAgxcf GT$fFJUYzq3ۅۄ8W"$)B9~=RYKrsr>+ԻG5 Z1B:T&]bX6!F$Kg$1t#FeG&_ni 6'Oeh+u7dKοg7`9D~7 w7J06#x۴~K`,Mz6's+D@[8,\h?rd4=+]Xp^:E-vy }[#.nFL*^ۈ#z{k2,ZHn1*- S>:'ه$]s7޶cTӃ}Kq`Łx\^f:W՞'Š "}q`< `]M/'Wq:3DMBF>7CMQL_^%Noz9pa ɢ1@=UM)"V/j _h|2DӦ,d3axTp˱ }96AP 2r<rlJ7|I hB&Wo|2[I>s@ja~ Q!EL۰23=bS~~uA?GTs^;L4>(c㭬b* GOrݣ=ULK3֞e=`*,&zX'pzk 6b$I'2p\2pa5w2k\he(d%%KvzPڠ@%SpkcJC /f:S*'"?@A$C ֕.GJE}&4:0.kOoopW& BmPUHbq>Q1Ы1ktT72vE%AGjPNy>[ag: :W5M++N%GJ՞ 谨J -ZLK!Ɛ bBN|lѷ'V9w%F*%ٓ@D :;mp[<91]KjFt#)c[M0牘L"jM93|(_mbkpJT+$Aj2%KhDtv`|,%¬fZ=ۇTP Q~Hϊ?.Ei+>G}Kϳ,؆4@W`aF8?OC_$7 /G0?F}  j~M܊~C!g΄~W֤!M1!r2_hBZ_h=QBy56Lg> y"\~6%3+H>_W;$pBҹ C  s = 0)ߑob(3 Ј D Шh8g>L͕ YC x4'>A& w -<u!AD ΨPR?TاTRTaSy-v JDCDJn89,+, `=N?o|Ư)ԓznT?lB˷Oa2|i4rZ;FADz$I:-&k72g O;[E;o/0o0uS`fNCG ʉybXFub±Z=tޥx[C0iMyy3Xhz\4}V./+e!xX35 _-yc6H#;/o1ݺثC? /j%R n$V yj?;?g ܍{b%+57ۃ_QQWڍ3PᩎeJaflO;&^ 5/ ;?ekj~ 0|D4+)] v'/(E"}:wzw.+B {ro X{Q5({>oԔDQ#vȌ)5SyЫtKJ%Ս3/25 E0WEE_RѾpP9 ?>Yn_EsEnpu^@yzz5^z^Ը\TUjޝ{S9!#o>#]u;XA֊cXFye=R]/V=p=P/8?@0ohȒևgpN҈b,vj b:_8Kٰcsʒ hIGTHTWU PPbN VYa:VX! we8ɹ+1: y͚zp۾Qg5G~R>1"Us-`} *No|O//ke;ipL끢+ӦI-Zv'IHշR/:Į>LǤ -:*oLx'Z)v#0ܭ3%hFۺd`'zP~TI' eQP h5CB}fa:[hY[ZA䝾C)jT DJ%"JiTwJːᤏ<~45<09 56%N6n%뇚Wz&&%T Z|Cy:E?w(>oB+m?r ȳerUմjNș7˗6#+Z;֏m<%ʜ6}%Ͱ[厕ÿhɭ~byŪs-29x ;yܱ_+G\#J:!KU6M ,uͯ!tV]1[oȼ_ J~7|T0S-6@N Nk {ם7lb-Иlc4hDߴp}#[_ "SNH|&n.c~ܐE{tA,ĸp.<5Ȝ"F8S/K!r%`)\7n}!6&8BiqNW9wWohJQ5$$":Z{ۑ'rG)Ir=w0&8 x;/m 2r&s0G[\^ \2,@(8E*VQ)C "{4[RK =53"Se:f`aaaa[?($KTc˃RK2m쵴ATڵ)}L/(~&/L%+p\ZVX $p/8oZbSp ,*Qq`b6aTbȮ75SFo2:nfY3 U9m)bN׵X&? KhS=!ɔ=h%mY_z{&Sm\kzwŒ '<&\U<;F& %Zӟ+x+;FY:4xgρ♚1. 3,[".3wkV4m>@H]|6’ 7[E6``m3M;hRT)Rx%G,نf+fDt}*{(fʰ2:&'[I$3po]y#V!ڔt;٭ϣ| eXTJP3QXhJ(q- Dԫ.D3N;q*;Ul;k; Аqk}0XW]$$$t5#T*G8a {4Ngf3$ bݧNjsNRObg ԈQ ݏ }&/SO6õ9س>T/\xk}v oY="W΍LIsQtdž&$wSSƭeŞf|7Ӣ\O m%2+ڐ۲a5|SK r˜ζ6>I0pyL8EmF{O8݅ IJRbLP^fq\*7RaH$> l.-@@-btbķ-LH\3E5fȨZCR4(-I5Gڮ _S(\M,UmI&3ra_C +RI4('Na& NkDr/ :LG^$qp0+.=5c{uDO_;8aJyⓞeQ?y䏹c8FǙ]5Qӧ*xY)ܝ1/Þֿ;`9kpb+wsa¬d<Z)<`C$#:)zsMVrp<]SS}qEVxw?BG$hhng`d]diP]|M{=fZ h+4?^iˣ$s t՝28v?vLJJO&_17cjW9Ɉ4!75  ژ,YE'񤧉熈lV&CMgiḆeQ;5I(QF"S9 OQSOUZTc&9g!n|,*C[ XزGZR^JEm-Z Z$a;g0 YmA?w$se7;tGW|Ү٬a7 op0'Wk_MX#x!@䄿=\IPT-r+/޽8Vﶉ?WހI?sa|ٺ(rq`7~ ?;S[K ܂q>`Rk|Qwf1ǽJVH]s8Є3,pQ pEV}T\~ZIG{,qڧUѪ>"aa*nCx2UX8ld%|Zr DZ`CWz&[ͮRYaXlv.s5m8غ$ =9\~lfcuiea$I{- 8W.)]_y7_f+? Q7w'OFfsv9Dm|#lV$?&Fľ=D4R]pױJOl|,RPiW~gCկnjK+zDSqKwcj 5C Q!a\m }R;ͩbҿ1sл*YlrPߏh/7JZPg] h Wk.L naFG0z=ӚE$jT ﹛6zJg i|0Z{w'mw>rߖi{kz&Ş DVPnsM^~_,\Rr0\7nJ09% pžup,C[Aԭ g]y _!?c["5(Ma+x8P:ށCh

    *Ϲ/K6隕O$eC|tbE /zA1Flj(P5ufO?  *ţ)GdwޣL^}E$1tLQpQJ7b6L?4Cpg?k&n/_y/GL?3(*A֚Z݊LoYeN/!1HRxc~rDxZqf6%^4h3ih,>J626k4)G v}ȓG:sƃtyWUK6ObpBZqE1^;N%К2VƢy?hL(ttVx\Ч0,1kUF/Ez*L0}リq$0"p:*`EI_LIC"o$pV*ҞZ7*ߒoY+dΑDPB$v-Z i,>>M\ZƼa \pӞI03;i媌zi=\>q{Kx['L.d.}'sfƴFH" ,^]ä{/~TMk^U=A75EFLҪ}cu"Egq+  vK'9Gy]c:aK\:O) &$f9Kb ܱO/8%uK=(iKE:޸ML%2WmR *)GI\Qc:wrW Iu fs'vegMcޑ{D4!nYlâ m&dשOO 8z`7]lÚ^r' I*|oZb"ӌ\U, ^N~mvw-l(sdtD'PmS2qޖ!lxJAbH:;э _mؕI0N]Ap>S 9x4%U@=ҫn^p]}f ~xob@]=Fp~cpI^'~]AӛIqj l Eߊ Dk 6MvtC˪,@Aն-g!ޛHT meyv7+:'A:fbOV6Zp.~&N- klquo mAם%0{"MNR{#<1H} Sܶ:1!tuiym77-of߹m=wRZd'Zݸlym5<)>IcT_znkh 7\q/K%2xfs`pzYri pC6"cċGaf]ݺy,{y˨޴ ZFhಪ㷚hzu ՗@JҹnjTb`h 1ipEd[̴>٪a<0 tNKo{mJeHʷdf8E\,U+޳Y3[q^ VW?Z[J5hfb2qFi{ ^VTe5{۲ߪE;vhU`UVŠδp#%v5Sq&0Y2ײOIV7+w՛[/tsĴ8wjKqP[IRÐ;p9sҐqmsKG֬d{-7;O?6F%E^ȾV\lZ5$F/5Beu}ϩ۸9 A1lnlY_ő.pu%Tװyn6dDb\F%RSvrhJlrDJf4oJaTԫ~Vmb[1u*G떜M߮5&^\`wPG"Twb$bMsڠ)Σ?,Vo=ې A,{|Xj*cGHû)wS7v4zCTk4nv2I~T}etA?=,^c?S'6SC/#V]H!C&8z֒:NX?" 2+zOpE0UGb- "/wjXoIhὨkS E>8Ń|ܐ#|?uG^x4WzGf%Ol6.S)eIkOZ[ֲ K)0XCu(?^LyD]z 7Hk;͸a=)UdmD)_N.!vTjI\az4ֹ̛ÏiiO7]D0"" fD+J}mP\$L}5ա**eP5yX+)Rk&di$vqtRl#-JhBh$p5W1y2r1?8xWLk3i@9ёm=+ހ3cT4_S|m wHgpgBc*Zdՙigܵ IzZЀiimRLb)i-Y$GP9 ؾIBu(t~N3-hjk:JCS "L &H,tt@p_vD1X@$)Td9\_ %R\T5Z`4-V6vN.  $ "L &H,ЭNo026153w@G Qh 'Id Fg0YlEbT&W_E\Yލ6v̒DPJT"LjZT(.x4I?U &BqȦ7mPa` $u`0"D-W<'.f?$KJ$M: dˑ+O+N$H*M dˑ+O+UL 8U#AU^F#Vm'wҍjiM)D}Q dAKCØXF=Ǩ1&~~r IHmVU)f͙`X}1&2La*v6` J*j( M-4B0$2J3,6k "D*V _a $ +@"$R]爗E#W| )#Vx %I=zwː)K+PHXʔS ^5kJ1$4kAFѪMT4ޜT=z7O$dT40 cb~++3n$E]i3>sy fC#V{2KG9SX)C k`_kC}xѦ=jl?W%^wAuqT`! !"0R"KBc` .B(8?e>H J"UW5H&覦J.C,rʓC?$V%-ZatH0֟Iڴ" Q0yQk0eR\ZDZx QR)iq|يUi13s-XdيUkDEP~LN-҅+Y:'#1.$EӮH)j)2xн"@ &N>#P=&O >.>7jKExVH"k%2/R^,$f:"_$ʕiq\OT%B8 y\+_|BLBX"JZ Fbemckg( @,O *`./LPNo0 :4|vL`k "L wry|P$HerRhuzaBI!"ݷG Slx}|X*W:hhfXt_VT+v\o!uл=t QU ӲҵIZffo~yY7pJ~wҖ$Rics5OȮяݍ6v?*0{B*ml „2 $<3~P>f(237`EyRt 0 ӂGOjέmLg,M}9sfLky$%xN!#VҨro"=FTZuj@Zm&A#}:#(Ad9"^ \9Ro]z,X9A {AI$-%>r&ѵ@=B0fg#1 dmRixFJg SEcʼnT+ȓ#w* vKܵ@#msx(B`J]cL]L]euh){MҲgj0jr8GڵWj ➳T~Ba [Rkw zwT 5-,c0LeG,C3lQr "L(㞐J+0{CWd? {؄sE._ Rf;os!C]:JLqe=G[ P#"i9 '<;Q7(pS7a4>+k>۷}Tl }hv~8=eP镧 MI("n1h:WnmGaՌ2 ^&8tFtCR%U":v<7Jq[ZT19 pFZX8kVB=HAV[4^%0 &ҥe{BԭھB};׬#XP<{_(@Z֤AH΢bGkvaAx#xkt?]m{LͰuGͰ./ @Fi )}a#tjd #kc& %AA%/zO'#bnI:f ̖ZzӃvH@մ@FP̭U,˲{%R #(V>`|$$B*B^q2[/rPH(]βsG0:ZHJrPT%xȚ&|QL}q2Q>K $A|*5{ #'Q jdFVZ;mׁ tyx׶=Fa8o> A1GͰuy4{͐{qx긨T#*Z+'M˓k^>L?^%?P;EpG&\w# ޔR׆0d1 BΘ .oR+0gjKԉ&'΀Lpɮ>Xx#IOi G:|uA5G1T]mU}Z_Dܰ.ةRcR-j۲G {MQ5.M{=VS]G<%ngxYzDA5jC)+[>TIK]/ I@L1ES  m&P |RQ.ꡖ<$Iߋƥ$(<,\j-;t@ap_/L, )L֮|dc{8.<JR#T:AԚͺ ^D"L(0MhTݹ{B*M@aBT\ @ eRics&7 g5zSpV}U2hKxDL1p( 0~}6?vo?Ɵܟo!gǎ!Wz$tz95OdE 8&"D4qc1#bP@#oh@ erԆh(ʥC*'S0((hk{)G ;3Z3dGRk'P&OYkL0+/$X jyVXa{:Յ1V Բ CΓn'%UTL 6 as^YEX/>Y9 9 9999013!%!''#7'377#A L67t1FF`l7ffX]}} OEX / >YEX / >Y 9/ 9 и013'&&'#3#'#:  3dYQPi{rp5l56gNp)#)WEX/ >YEX/>Y(9( (9 01332#32654&##32>54&##)ci*5, )Id:6Z^YANVjn.K5MIpIH!7*!,7O3zB8--!6&28MB!9EX / >YEX/>Y 01".54>32&&#"326768W;1Y}L9P75&;^B$)?,&E $%\ 'Fa;MuH6+)!&>by<-K6 2 ,- 5EX/ >YEX/>Y 01332#'32>54&##1\TWWAgH&ca?{Yi:@/VzL_g<S MEX/ >YEX/>Y9/ 013!!!!!< * 3P ABBOa CEX/ >YEX/>Y9/013!!!!O- <AB=;%MEX / >YEX/>Y " 9"/ 01".54>32&&#"32677#73,;Y<0ZP;Q77)=`C$(A.$8$ 9$] &Ebby<,K8@%L IEX/ >YEX/>Y 9 /и0133!3#!N87NN?>p8#= AEX/ >YEX/>Yи 01373#7!#3#ijB AAB5EX/ >YEX/>Y  01".'73267!7!"9.$ 4B0FNI `Ys %.%,TXlACkt*j SEX/ >YEX/>Yк9к9 901##33jW~+MNEXyNzQc+EX/ >YEX/>Y0133!cNvE BM%]EX/ >YEX/>Y9и к9990133373#>7##.'#^&,]IN @"Pa`*p/1/ $%%)% 1/*vHIEX/ >YEX/>Y9 и к9013336673#'#O%FJN% EZ1o*cp2m0)7#5EX / >YEX/>Y 01".54>32'2>54&#"2O7,QtI2O6+QtB6T:DH6T;E %D`:NvI%D`:NwIC@f@We@f@Xe4=CEX/ >YEX/>Y 9 /01332##32654&##4.M6*Li?i5B\giKJc'<+YEX/>Y(+%01%2>54&#""&'&&54>3232675T:DH6T;FEgOV,QtI2O6'IjB A-&54@gAWe@f@ZfLQfNvI%D`:JtN-,= #&UEX/ >YEX/>Y9/ 9 и01332##32654&###.L74G)uVlo8E_^eII_%;*-I6$URF6/%3IEX/ >YEX/>Y9!)901"&'732>54&''.54>32&&#"Oo"5T94',%L&5J,@e4I1,- O'#YEX/>Y013#7!#v uMCC@L3EX/ >YEX/>Y01"&547332>73]b KNK>>3+" PLR1@O j\,1y(CI/K7dHb<zx 7EX/ >YEX/>Y9 013336673BP:U6l64u/lp6']EX/ >YEX/>Y999ик#901333>733>73#&&5#6(J" wB J` r;-N(-( 02/'-'o IHZ]EX/ >YEX/>Y999к901#33>773#'.'#TDVTH $X97   6mrIEX/ >YEX/>Y9и013733>773/P=  R-)W#(+,LJ =EX/ >YEX/>Y и01!!7!7!!-   Em."A/4)#yEX/>YEX/>Y 9 и /и/9 01"&54>32373#7#'2677&&#"L[*Ha84M>a?&](W(-A#*H5< _[AvY4(!=J'/@0.&")EY1EA$$zEX/>YEX/>YEX/>Y9и/ 9 !"01"&'##336632'2>54&#"0N@M'%\0NY)GbA*H4=4%Y&,@ ) =Ⱦk"1c^BtU2@'BX1GE1-& C!9EX / >YEX/>Y 01".54>32&&#"3267#0R<"1Qj9@]1E0&J:$*9"+N"&g 6P5BmN+4#,"!#YEX/>YEX/>Y 9и/9 01"&54>323773#7#'2677&&#"K[*Ha84J&M?&](W(,@#*H5< _[AvY4' _8J'/@0.&")EY1EA? (QEX/>YEX/>Y9/#01"&54>32!3267"!654&_p-Md7-E/ PB0T"%m81( *? kgBnO-2E(3  JO$4+(9#9BsvZEX/>YEX/>YEX/>Yи013#?6632&&#"3#V lS-G%04G U96aW1:C3>X')"1}EX/>YEX/>Y9 99и/# &'*01"&'732677##"&54>323732677&&#"<\!$P)A`#[/N[*H`64M=f .BR(T&,?$'G5;"7>Gg#+^X@rU1(!=3I.,*&#&AV/B@$XEX/>YEX / >YEX/>Y 9и 01333>32#654&#"$M515; A<8h&T'&61I XEX/>YEX/>YEX/>Y99к 9013333#'1La=]Pw9EX/>YEX/>Y01"&547#733267E9Ie r("- C A@>&" ;8,{EX/>YEX/>Yи/9 к 9 ии(и +0113366326632#6654&#"#6654&#"a;@&"%#D!#)HLF0GJH/EB%)%*+$), \ ((\ (($WEX / >YEX/>Y и/ 9и 01333>32#654&#"$a> 168.#5EX / >YEX/>Y 01".54>32'2>54&#"0L4.Me80K4.Lf2'G6!E?'G6 E 8O/@lP-8O/@mO-@$>S/HR$>S/GS3$~EX/>YEX/>YEX/>Yи/99!"01336632#"&'#2>54&#"?&[3LZ'Fb<.N*F4=4%X',CK#4c^BtU2'h'BX1GE1-& 43)(~EX/>YEX / >YEX/>Y 9 9и/ !017>7##"&54>323732677&&#"S! &_/K[*Ha84M=(W(,@#*H5<͡ '$'/_[AvY4(!=M0.&")EY1EAa+OEX / >YEX/>Y и/ 9 01333>32&&#"aa?18< >$&9p337)B aN7+IEX/>YEX/>Y 9"901"&'732654&'&&54>32&&#"?u#,$`53CC=LF2B%Ff+T605=;"9( 8J 0)1)%$)#&A3#4"0/(% "&  +'8$J QEX / >YEX/>Y   ܸ ии01"&54677#?33#32673MG0 *? 10*$@ X L?9> .-78%SEX/>YEX/>Y9ии/01"&5467332673#7#B<8:c(WF 7EX/>YEX/>Y9 013336673nL= )N#I##G&.n#]EX/>YEX/>Y9 99ик901333667336673#'&65#: L pN tJa j#?##@##@##?##;&  *!]EX/>YEX/>Y 99 9к 90137'33>773#'.'# }P:  cZߋR@  loouy/GGEX / >YEX/>Y 9  01"'732>77336673!/ % yJ@.P/3<7 &0 S!!S (;'" =EX/>YEX/>Yи0137!7!!"| G .{=.>f&_&N&AI&*& &%N&n&  ,TEX / >YEX / >YEX / >Y+!+ 013'&&'#3#'#"&54677'2654&#":  3dYQPiE#4$W=+##{rp5l56gNp&), h.0$*9$"#.U&']EX/ >YEX / >Y+  к  9 /  к$ 901"&54>7#'##33273'&&'#&7!(iUdYQ) 0:  2$'-& p !$'\rp5k67f&oh&ot&!z&#g&%4&'N&&o#&)#&+$&-5&/%N&&owEX/ >YEX/>Y9/9 к9/ 013#!#3#3!7#HC @8 + 1 't|zR7kNAAB_&Mq&Mq#$-cEX/ >YEX/>Yܹ ܹ%% 9"и#и,0137#7732#'32654&##3#732654&##*#OLV+J7JK6H)Kh>mmfgSHj*WdUMFR4"3!<] @<7P5BFP51Z8==-')F#&tMB&5MB_&#MBN&#MQU&#MB3&#-U&-&UF-&Z-&<&I#=EX/ >YEX/>Y#и013&&54>32#732>54&'x&;(4)$)&JlF}3`W9aG(PUZ&4@ >4C22aL/y[n>@2[MYg<Sf&"<S_&"<SN&"<SU&"<S*&"<S&"<SN&"<S3&"<S#_EX / >YEX / >Y+   9/  01"&54>7!!!!!!#"3267o&6 ) * 3P /(  0$'-& ABB$-'<S&<Sh&"<cI&"<t&!"<Sz&#"<&%"<V&'"<SN&&"<S&2"=;_&=;N&=<N&=;3&=;&@=EU&=;&=XI&=!6WEX#/# >YEX/>Y1++##9/01&&#"32677#73#".54>32&&54632&#";77)=`C$(A.$8$ 9$]9;Y<0ZP*#;5  ;) '>by<,K8@%&EbYEX/>Y+ии ии и к9/01?3!733##!#!7!.INNFDaN?>Na82pppp88mm#=f& #=_& #=N& #AI& #=*& #=& #=3& #=U& #=!WEX/ >YEX / >Y+   и и 01"&54>7#73#7!#3#3267&6"ij.4  0$',' B AABG'#=h& #=& _#=N& N& *j& 5*j& *Fj& c_& џc!"& sc& Gc& c& &ןcF& * +EX/ >YEX / >Y 017'737!!7?vFN>*E m/57^k4zBc-& ~M_&M3&M&_H_&Hf&HU&HI&H&H3&H&nFH&s)7f&)7_&)7N&)AI&)7*&)7&)ai&)7N&)7U&)7*:KEX/ >YEX/>Y$+и+301"&54>7.54>3232672>54&#"&6#&A/,QtI2O6#Cb> .  06T:DH6T;E$')% &@[:NvI%D`:HrP## '@fAWe@f@Xf)7&^)7h&)ot&!)7z&#)g&%)7&')7N&&^){,.KEX / >YEX/>Y ܸ ' '901".54>326654&'7'2>54&#"2O7,QtID G~NwIC@f@We@f@Xe){_&){f&){h&){I&){,&^)7&2q"-EX / >YEX/>Y 9 99 9+ 9+9+9 #,901"&''7&54>327&#"2>54&'/JH0T,QtI]8H1V+QtI%F6U; 6U;% S(a=SNvI>T(c=QNwI(#}3@f@f@$2q_&UEX/ >YEX/>Y к9/ 01!"&54>3!#3#3%3#"{m3]M *3j;_C$%;t[lYEX/>Y9/и/!901"&'732>54&'77&&#"#6632Q6P)4&1#OJ8(CgTNXoH^HQ5L ,1!,8?3!(Xa[i}NEUC'E3bqU&bq&bq&bq&`LFq&ebqSEX/ >YEX/>Y 9 /и  и017737#7!#3## L=) ) ANAF2CC8F@Lf&@L_&@LN&@LI&@L*&@L&@LN&@Ln&@ai&@LU&@L1?EX/ >YEX/>Y++и#01"&54>7&&547332>733267&6"BU KNK>>3+" PLR "/=&!2!  0$')% ^Z,1y(CI/K7d8T=' !"'@L&@L&@L&@L&@L&^@Lh&@6&?EX/ >YEX/>Yиܸ"01"&547332>736654&'7]b KNK>>3+" P 34> K9K1@O j\,1y(CI/K71)  #=B Hb<@_&@f&@h&@I&@6&^zx&^6f&6_&6N&6*&mrf&mr_&mrN&mr*&mr3&mr&_mrh&mrI&J_&JU&J3&JN&J&FJ&<]EX/ >YEX/>Y9/и013#7732#'32>54&##3#%@MJ81\TWWAgH&ca?,>4{Yi:@/VzL_g8,(9EX/ >YEX/>Y++013332##732654&##,Nz-I4+Mi?q+fgiJGqq'=+YEX/>Y9/ !01"&5467!6654&#"'6632'2>7!Ta AD.U !%o?ab2Xy>(H<, 0 ru#>%Vd&5.s_tA@"=V55W=!-'aEX/ >YEX/>Yи/9и/01"&'732>54.#"#3>32A0 !;-* \*eNK-0/%>-"?W >BlG.>'--H 6TYEX/>Y +0133"&'732673+N# ! NEp ;/,kEX+OEX/ >YEX/>Y+ии01#33"&54>3233Kv "!"!'Kv B&"'"B+^_&'f4)&4) &4)&49&4)&4)&4)&4)&4)K#5AEX / >YEX/>YEX/>YEX/>Y.<+6$+ 9901"&54>32373#7#'2677&&#""&5467'7'2654&#"L[*Ha84M>a?&](W(-A#*H5<)6#Z (,$$ _[AvY4(!=J'/@0.&")EY1EA*(3m)7)"($++4)&4)'6EX/>YEX / >Y"+ и/ 9 9и/и ( +,/01"&54>77##"&54>323733272677&&#"n%7!+&]/L[*Ha84M>b=!#0.&")EY1EA4)&n4)&4t& 4)&"4`&$4)#&&4)&&n4)M&(4)P&*4*P&,4)"&.4)&&nW1@KEX/>YEX/>Y9 9к92%и,к/9; AиF01"&54676&#"'66326632!3267#"&''267&&5467"3654&X4:"1!?V3-: R,+ /05M'6A+XM eh!,%  :3Z`9I0%3*0-*7-<6B22%-*=)$ /A: )9!,2W &W&$,EX / >YEX/>Y  ܹܺ9и/ ик9&)*01"&'###?33#36632'2>54&#"0N@qI LM %]1NZ*Ha@)G5>4&[&(@ ) =66VV<@k#0a\?nQ/@$>R.EC1-& $F&wC&"C &C&C1&C&*0$)EX/>YEX/>YEX/>Y'%+ 9и/9 01"&54>323773#7#'2677&&#"3ER(F_7-C&L?%X$M&/:!'E391H4 _[AvY4$_8B%)@*-% )EY1EA Q4X&n4FX&s4X&0,EX/>YEX/>Yܹܺ 9и/9! "%01"&54>32377#73733#7#'2677&&#"LZ)Ga84G LFJr?&\'W()>#*H5= _[=oS1' _@YEX / >Y*+ 9/  0501"&5467#"&54>32!3267327"!654&P%78&#_p-Md7-E/ PB0T"Q_".81( *?$)-GkgBnO-2E(3  JO$45\)#(9#9B? & ? & {? & ?2& ?m&  ? & "?Y& $?#& &? & &{? J& 1') &"')&"')&"')&"')&"')&"')&"'9&"$&#f<$f&#f<$&#t$F&#y&#\$ &#x%$qEX/>YEX/>Yܹи иܺ 9и  #013#?33#3>32#6654#"%qJNM 15; @=7M6M1d2;66VV<=(A8& K>7h&Th &Th&Th&Th&Th&Th&Th&=h&Th&T&h&Th9EX/>YEX/>Y01"&547#733267[:I: I*!,> ><> &" :'5&61I&&-1I&&1FI&&1I SEX/>YEX/>Y9к9к 9013333#'1aL3=]Pw&'<>0&'&'Y&'K&'&<F&'c9EX / >YEX/>Y  01"&5477'77#7373267E9I#w4 9+("- C A@=1N>U0g&" ;ii&'8 &( 8&( 8&(i$ &) $&) $%&) $7&) $&)$&) $&)t$F&)y`/kEX / >YEX/>Y"(+ и/ 9и "ܸ01333>32#6654&#"'667#"&54632a? -27<4 ;M:#!-W0@ YEX/>Y$+и*201"&54>7.54>323272>54&#"%6 %=-.Me80K4$S0HR$>S/HS.&*_.&*.e&* .&*".Q&*$.#&*&.&*&_.&*.J&*1.S 0KEX / >YEX/>Y ܸ ) )9!01".54>326654'7'2>54&#"0L4.Me8:+08="-:.Lf2'G6!E?'G6 E 8O/@lP-5/ /#:d@mO-@$>S/HR$>S/GS.S &.S&.S&.S&.S&_@#.EX / >YEX/>Y 9 99 9, 9,9,9 $-901"''7&&54>327'&#"2>54&'U5F+J .Me8T5F+J .Lf #6*J6 *J7 " 0B,F:"@lP-0B,F:"@mO-& !%@T%@T0""@ &W'3C}EX/>YEX/>Y 9к9/7и"к%9?(и-01"&54>326632#3267#"&'"36654&32>54&#"|@E%?S-08R-98/,5K)-C Q/'! @&&6'$#!7) aXHxV/<89;QI$D;832231)8 )69D+G\2YEX/>Y$ и /01"&'732>54.54>54&#"#6632a&K "3"&#)#+3+&+7McMhsY!8)$#(#.C 6  %!&'506(#+SN ^p!2!/& %/ 8)svJEX/>YEX/>YEX/>Y013#?6632&&#"V lS-G%04Gl96aW1:CJ"0&/tJ &/DJ &/JJ &/JF &/J 5&/& %qEX/>YEX/>Yܺ9/ и и и%01?#?33#3#3267#"&54677&  *?  0*$@ X3MG89><$ .-7L?"8%&08% &08%&08)&08%&08%&08%&08%&08F&08%&08%/iEX/>YEX/>Y*+и/ 9 !#и$01"&54>77##"&5467332673327j&6!+ 16; B<<".$),& b(B7') $'>8:>!#8%&08%J&08%J&08%M&08%&0n8%&08*_EX/>YEX/>Y%9%иܸ"ܸ$и$/01"&54673326736654'7#7#B<8:9-1$YEX/>Y+ + 9# (01".54>32&&''7&'77'2>7&&#"*I6*Ha85P% *7"J8(-*No<0L7 M*0L3J 2I/:aE&)=a&G2?%8#6E2?4PQ[1@&D^9*$!7G%AJ3%EX/>YEX/>YEX/>YEX/>Y99"#01336632#"&'#2>54&#"M'%\0NY'Fb<.N*F4=4%X',Ck"1c^BtU2'h'BX1GE1-& $I'fEX/>YEX/>YEX/>Y9и/01"&'73267654&#"#33>326# ! ? '&1c3?La> 16%$'>8c(B7'GR'5EX / >YEX/>Y  01"&'73267#7!z.H!3!BBX+d #5J7JB> 1K3B'-+`EX/>YEX/>YEX/>Y +и и &0133"&54632"&'732673"&54632BaMaU"(!) # ! oLnD#)!)K(& 90,$FV$(&3$9aEX/>YEX/>Y+%и+и.и401"&547#73327"&54>32"&547#733276Feq#%&4F"!"!6Fe q#%&4 @>>&":#&"'"@>>&":B'w `EX/>YEX/>YEX/>Y+ ии0133"&'732673'7'7BaMah# ! oLnDv#/P#/ 90,$FV-<-<@!-qEX/>YEX/>Y9/и/9"%&0123267#"&54673366">54&:O+]f-68c)-zGNP;? *l!.c.TrF0:7/G2  (.%8*IC 0Q(5=0-q#.$ $#uEX / >YEX/>Y 9и/ и/ 9   !01"&'##336632'2>54&#"0O>a? &]1K[)HaC+H5<3&Z&-A ) =K$3c^BtU2@'BX1GE1+& $.EX/>YEX / >YEX/>Y9и/ 9 (+,01"&'##6632&#"36632'2>54&#"0N@keW0 $1?%[0NZ)HaA*H4>4&X'*@ ) =^b <8H{"1b[BrU1@&AW1EB1,& 5EX/>YEX/>Y01"&'732>54&#"'6632?Z0C0-P<#RC/J!#`B.O:!0So 1#,""YEX1/1>Yܹ)&)1931)9 &391 ܺ3&901%2654&#"'667&&54>32&&#"6632#"':4>$O(1;-1Qj9@]0E0&K<%!4k3650F-H:'1(+' $@I/BmN+4#)!"#>R/>)34.%3% <4IX%4EX/>YEX/>YEX/>YEX / >Y 9 9 &)*-01"&5467#"&54>3237733267'2677&&#"-) &Y.K[*Ha84J&M&  #(W(,@#*H5<+* Y/$-_[AvY4& _  '<1.'!)EY1EA4-EX/>YEX/>YEX/>Y 9и/9" #&01"&54>32376632&#"#7#'2677&&#"K[*Ha84JF?"s?&](W(,@#*H5< _[AvY4& DH ?.*I&0@1.'!)EY1EA< 'MEX/>YEX / >Y 9/ 01"!54&"&'732>7!&54>32@ ;/ 2I<^*E0$A4% #B`<+I4+Mi)8 LI?)/-A))UF,4M1HqN*4)B%WEX/>YEX/>Y9/ 9$01332#'32654&##732654&##B`!8)9, /6R7vxIB87q kFYEX/>Y9/ 01"&5467!6454&#"'6632'267!Wh FB1M%&i?^h,Lj8FiD bY 6  HJ5#ggDoQ,=WL  ?>t.9EX/>YEX/>Y!+99 9'9/697901".7%&&#"'663273267#".5'2>7670D)X<0&= &S1EX V(  " @ .AQ#3*< "9L*629IC!# +  %4[D(A1A%i6;55WEX/>YEX/>Y"9"/  "9+01".54>77&&54>32&&#"33#"32>7*I6 '4($!9N-?g#*#L5?B8?F SQR%3+*,446 $2/!0 !4$)"4!!1"##<(.  7 /-SEX/>YEX/>Y9/%901"&'732654&##732654&#"'6632?n++&W4DMCDL ICQD3#V*3g2%B1A-&5"YEX/>Y" 9"/##"9 *01".54>32'2654&##732654&#"3T;!.Pm>$@1?-&3"<'#(<+%$%%?T/#:)'.SEX/>YEX/>Y +и 01"&'732677#?#7!3#z.H!3!BB- ++ - #5J7JB6><1K3'x-<EX/>YEX/>Y%+9/ 99. 12501"&'732677##"&54>32376632&&#"2677&&#"<\!$P)A`#[/N[*H`64J E?# d .BR(T&,?$'G5;"7>Gg#+^X@sV2' =DI >.* 3I/,*&#&AV/B@')">%CEX / >YEX/>Y! + 01".54>32&&#"32677#73*N=$+OoC?W/E-.O:!)6#?~ * c 5M2?oQ// 0&$?U1':'~5 W F%_EX/>YEX/>Y 99 9к 901"&5467336673'2654&'#,./+qM= 'N F4 %/'*Y< C$%B M&?@R8*#3)Oa9(8qEX/>YEX/>Y91919 и к!19)01"&54>7&&#"'66326632&#"'2>54&'BK+;#0 .'F*Y(+ %;" ,5L%-%1$& C;#B>;!%8 /((/ 8'!(X/)I6 @$.&J 014 ,83&XEX/>YEX/>YEX/>Y90177##"&5467332673O105; A<8:M$&fEX/>YEX/>YEX/>Y 9и"%0136632&#"3>32#6654#"$kdW0 $1@#16: A<:M9M1d2>^b <:F(B7& J=8$I2uEX)/)>YEX/>YEX/>YEX/>Y)#)9#01"&'732676654#"#6632&#"3>326# ! >M1d2>LkdW0 $1@#16: A<@C 9,/6 J=8^b <:F(B7&GR# IEX/>YEX/>Y 9 /и0133373#7!#aM''MaM,+T&>( AEX/>YEX/>Yи 01373#7!#3( G  G BbBBB&?63 fEX/>YEX / >YEX/>Y999  01##73773<]]PM$wM_&' R$.cEX / >YEX/>Y 9/и%и(ܹ  01"&546327#733#3267#"&54?6&#"3EB1' + - I("- C$9I '!!!26-&1><&" ;A@<-I9EX/>YEX/>Y01"&547#733267!9H (!-!CA@>5&" ;'G(wEX/>YEX/>YEX/>YEX/>Y 9/и01".'732>54&#"'!#3!6 #8-" +D6:/;6UML-(B-(DX -&2D)53+X-&8"8`H)i+EX/>YEX/>Y0133!iaLT, X> D,{EX/>YEX / >Y!ии ии/ 9 9  (и+01#7##"&'#"&54673326733267Da;@&"%#D!#)HLF0GJH/EB%)%*+$), f ((` ((` 3B/EX/>YEX/>YEX/>Yи"к"9 9  )и,".017667##"&'#"&'66733267332673p! @& &"D"#(HLF0GJH/EL͡3#&(%*+$), f ((` ((`MI88EX)/)>YEX"/">YEX/>Y)к,")9,"к%)"9% )$и$/)/01"&'732676654&#"#6654&#"#3366326632c! K0GJH/ELa;@&"%#D!#)M9 9/0u ((\ ((B%)%*+$), KRI%jEX/>YEX/>YEX/>Y и / 9 "01"'7326733>32#654&#"%#h> 168JL$I)fEX/>YEX/>YEX/>Y 9и$01"&547654&#"#33>32327'*B '&1c3?La> 168c(B7'&:3 IEX/>YEX/>Y9 и к90133366773#&&'#3_Lt   'K_Ku  ';0Z';0Z'.(MEX / >YEX/>Y " 9"/01".54>32"!&&2>7!0K5.Me80K4-Me :2& CF"?3%F 8O/@lP-8O/@mO-(9!HQ|/@&ITp'oEX/>YEX/>Y и /и/ 9/ 01"&54>323#3#3!'267&&#"Rd)Ic;-  * "E)G4? `^DuV1><>@i(D[2DA3, /sEX"/">YEX!/!>YEX/>YEX/>Y!ии!$и.017%4.'>7.54>773d(P'E4z'Q&E4*!@1.Mf8-P.!?0-Me8)#7'$;P#6'%YEX / >Yи/ 9 01#7##"'732677a?27=>$&9p337)B aN!!KEX / >YEX/>Y 9 и/01"&'776673#7# 1 &7n3gM?27=  B _N86)!I$^EX/>YEX / >YEX/>Y 9 01"&54677##"&'7326733267M0+ H3)&#H%=Mg /1) 32 B 2B8  <\I+&YEX/>YEX/>Yи/ 9  01"&546733>32&&#"3267JD^?18< 2%9p30,'5NL?Ӌ7) B aN .- 7a+/EX/>YEX/>Y 0136632&&#"a;|p''" ?C^6&bj DJNG UEX/>YEX/>Y 9 / 9 и01332#'#732654&##G`DUL@YPOt'3f@E40f8@>W;*("D UEX / >YEX/>Y к 9/  901#"&5467'337#"33`DUL@YPOt'3f@E40f7A>W;*("I@hEX/>YEX1/1>YEX/>Y1 19!'19:01"&54>7732654&'&&54>32&&#"#"&'3267{5, ,$`53CC=LF2B%Ff+T605=;"9( 8J+*P!    7+ &2"1)%$)#&A3#4"0/(% "&  +'8$-, <'v5EX/>YEX/>Y01"&'732676632&&#"h'?!-&+ yVN&D%--1 yQ4.5kKU103MU'v#SEX/>YEX/>Y +и 01"&'73267#776632&&#"3#h'?!-&+ 7 6VN&D%--1 6 7Q4.56KU103YEX/>Yи и ܸ0123#7#7376654&#"'66MG0 *? 10*$@ XL?9> .-7JI QEX / >YEX/>Y   ܸ ии01"&5467#?33#3267MGR *? T0*%? WM>9>i .-7< %EX/>YEX / >Y" 9" 9/иииии !и!/0172677#"&54677#?33733##7#G-&>6W["M#"M"U W3?(R6*.pD KBA8N6YEX/>Y  и $и!и #01".54>75#7332>54&'73#-B-'/d 2&*)C0 g#&Fb /@$+ND5=48CJ&."(@S,3J4=M36eO0=)EEX"/">YEX/>Y" и /"01".5467332>54&#"56632&B19L7',K6#& YEX / >Yк 901#&&'##nL= )N'#I##G&!]EX/>YEX/>Yик9 99901#467##&65##336677 L pN tJa j#?##@##@##?##;&'9$yKEX/>YEX/>Y 901#>32&&#"#&&'#^-08$' !1yJ@.7(;' 7 &M S!!S j3IEX/>YEX/>Y9 и01373366773 U5 *lT!B66"I\EX / >YEX / >YEX/>Y  и  и01"&54>7!7!7!!3275,| G  7+ .{=.@: ="2'_EX / >YEX/>Yܸи  ии$ܹ01'667#7!7!3632##72>54&#"6  u OPU`&(.I5% c+ 7v 5.{=.*3(:  /6'&KEX/>YEX/>Y 9/ܸи01".'732>54&#"'!7!6'@3'+O?$D6!IB ! 1N7-Kb -+/@&?:+>-,@&5\D''FEX2/2>YEX:/:>YEX8/8>YEX*/*>YEX/>Y*&*29&62*962:9/=!и:"*%и%/"<0172677&&#""&'732>54#"'##7##"&54>323773!6{5-$4(" 5G+5"3'IV9:%3>#;N+5 %I."4"!;Q4-+,*G]3@=,-!3D'd0X?#(^ZAvZ5 "^-'66aH*4=%;gEX / >YEX/>Y  и/9&+9401"&54677#?33632&&#"'2>54.547#k[1G L*? #$9'$ ( ' @e81D* ' ~1> K=# 9 ,'". %=-=#$)" ,-W';EX./.>YEX&/&>YEX/>YEX/>Y&# и&(ܸ&*и.501"&'73267#3267#".5467#?3376632&&#"!   " ^9! -+ 9H K+?  OJ  (# zI<4.   7 '9QGX<30KW#/EX/>YEX/>Y 013>54&#"'>32?AY6E97R%".5>%(F5=Z;8:9:>"39)4 );'/OE<C/EX / >YEX/>Y 013&&54>32&&#"9YEX/>Y+ и 0137#77>54&#"'>323#2 AY6E97R%".5>%(F5eb389<>"39)4 );'Rw3>ZCIEX / >YEX/>Y+ и0137#77&&54>32&&#"3#3 89#?U3Hb.J3$9(BB38']:2R: ;-*'-(7@\-><3 ]EX / >YEX/>Y+ܹ и ии01#?#7733#3#L  EKD  Kg7p8FYEX/>Y " 9"/(01".54>32'2>54&#"7"&54632)D0)NqHSd)NqB1S<"@41S<"@g%& >Z9`S}t`S@IyQ[XIyQ[X))\H!SEX/ >YEX/>Y+ к 9901"&'73267'##3366732# & % EJO%FJ#0 9+52m0Z1o*cc!7)3!-qEX/>YEX/>Y9/и/9"%&01"&54>76654&#"'6632#7#'2677:O+]f-68c)-zGNP;? *l!.c.TrF0 :7/G2  (.%8*IC Q(5=0-q".$ 3&3 &3&3.&3&3&3&3&3K!-?KrEX/>YEX/>YEX/>Y8F+&+@.+9"01"&54>76654&#"'6632#7#'2677"&5467'7'2654&#":O+]f-68c)-zGNP;? *l!.c.TrF0)6#Z (,$$ :7/G2  (.%8*IC Q(5=0-q".$ *(3m)7)"($++3&3&x3&3i& 3&"3U&$3#&&3&&x3M&(3P&*3P&,3"&.3&&x34@EX"/">YEX / >Y/+ и/ " 9" 9/")и 5 8901"&54>77##"&54>76654&#"'66323272677j&6!+ *l::O+]f-68c)-zGNP<><"..c.TrF0$),& P(5:7/G2  (.%8*IC >!#0-q".$  85EVEX/>YEX/>YEXN/N>Y#N9#/#N9N9и/>и/&N9N,#6FQN#901".54675&54675&&54>323##"&'2>54&#"2>54&'&&'#H;&C0''!":P.& \!:O.,8K:M.,Ka5&5.4&4)D2FR"&8R -!0@* -3!+J6 >!%*I6 '(<()4*2)4*2  " 6)% 8 &4 8&4 8&4 8&4 8&4 8&4 8&4 8&4h&CEX/>YEX/>Y!+ 01"&5467#"&547#733267327\%76* 7H: I*!,\H"/$)*C><> &" :*H #T]EX/>YEX/>Y9/и и01?#733#3267#"&5477T  - *!,>(:I8><=$oEX/>YEX/>Yܸܹ  9 9 9 901&'#"&5463267#7!%267&#"DJ.>DIB@9Z+e% $1-7$#"8)"6)3A$ > )!@'B' ;T$IEX/>YEX/>Yи/!и и01'667#77!#3267#"&54>7#K 5_ F X    $'( 3jc8=3oaH 9)&Pen1g|'7EIEX/ >YEX/>YGF+0?+и/ 9и/ 9G(ܹ801"&'726733>776632"#'#"&54>32'2>54#"73% lS$  -! lS$ (2'5(1'4 , L = 0QJD$10=0RIE$a 88,M9 78,M9!3+7D+7D44A*9GEX/ >YEX/>Y-9@9-@9@-99(9!(9%й$5:=(901"&54>7&54>326673&&'>54&#"267&&'IZ.: /?$66 3A"@&&<GJ.8A *a 3&&!!G &C'9 QF'@4,?7*F3=.(?5.3`(*c9Dw3> $#&*+$',!$14*f7!%*04;#3GEX / >YEX/>Y $ 9$/,01".54>32'2>54&#"7"&54>32.H2&IlG.H2&Im?3N6>B3O6?f    #AZ8IwK$A[8JwJ=Ae{9YhAfz9Zg  '~ ;EX/ >YEX/>Yи 01373#766733'` 5U:t @2@%9EX/ >YEX/>Yи 0137>54&#"'66326633%__037-Q#)*jBPY/W}O#7 .O{fY-07/&.,:WH3`eqDB/QEX/ >YEX/>Y9/ܸ(901"&'732>54&'72>54&#"'6632Lk"2SYEX/>Y +  ии и к901!7!733#%37667#># ROd d#) (3r>9/~$[EX/ >YEX/>Y9/9и01"&'732>54&#"'!!6632Ko"2V<"?2B<,A'#K^ 2<(&A/*G\ >.*#3*?)=>6B )@,:[?!A-"2eEX / >YEX/>Y  9/9#-/01".54>32&&#"6632'2>54.#".L76Zv?9V2;&'OC1 #g:"=/#?V.$:* +dSP !YEX/>Y 013>7!7!9KbA  NiJ3`z>B1Ia?#3E]EX/ >YEX/>Y>9>ܺ$9$ܸ*401".54675&&54>326654&#"2>54.'+J6VH #7J*$?/D< "=T,/:A0."&0?8+.:9F%1 )<'H\=)(@+$6$AY #-+E0cM003()#,+$J5+,3WEX*/* >YEX/>Y *9 /**90126754&#""&'732>7#".54>322\)P<$;* +.:U3<&'NC1 #h9!>/#?V3.M76Zu*23RW0=! -0%)""FkJ)6)?-1XA&!YEX/>Y  9 9! 9" 901".54>32"6654&267.H2&IlG.H2&Im$=>&= !? #AZ8IwK$A[8JwJX"4=Yh$t4>Zg'~ "EX/>Yи 01373'733'[!=t @W/@7J#.GEX / >YEX/>Y $ 9$/)01".54>32'2>54&#"7"54632+I6&GiD,I4&Hh:+I5D@.J5FX1&' ;W:He<;V7Ld:?.Pm@S\1Sn ;EX/ >YEX/>Yи 01373#766733'S 5U;g @2@J9EX/ >YEX/>Yи 0137>54&#"'6632633 W]0600O#&-gEHZ-RsF:4 ,=h\T(3/-$,/5MI2[Z]4BJ5FEX#/# >Y +#9#+901".'732>54&'72>54&#"'6632,D4'1 *4!!:+ij =W9;4/S#$+mE%=-[T5''BVU (*!#3";=9'3+/&0#.$4"C[%3!2K2> </EX/ >Y+и к9017!733#%37667#+! OTe d!.*J2\<93=(NEX/ >Y +9/9и01".'732>54&#"'!!6632*B4&/ (2 $@0J6-?%$Le 3?*!?1(E^U%. +B,?::A *B.<[>A-Ig:="/EX/ >Y 01>7!7!7KfE  NkL4I[E?/J^?K J/PEX(/( >Y+ (9 /(9( 01%2676454&#""&'732>7#"&54>32 %^0?B#>.? ?V2<0(M?. +g/K`(CY2_g4Xu(6  LY2A#8?5#*%#FiG+,TS3ZB'ymkp97J'aEX / >YEX/>Y  9 9! 9" 901".54>32"6654&267+I6&GiD,I4&Hh #:D!;F ;W:He<;V7Ld:(l@S\&N*n?TX'> "EX/>Yи 01373'733'N!=g @W.@;"%1GEX / >YEX/>Y & 9&/,01".54>32'2>54&#"7"&54632/H1&JnH/H1%JnA3O6=B":/$ >f&' &D_:IyM&D_:IzM=Dj~;^j 5HOT']k! .  .' ;EX / >YEX/>Y и 01373#76733'd k>;x @1 "@%9EX/ >YEX/>Yи 0137>54&#"'66326633%aa037-Q#)+iBPY/YQ"8 .P}h[/3>0%--9\L6bgrEB 1SEX!/! >YEX/>Y!9/!*901"&'732>54.'72>54&#"'6632Jl!2R9$;,/K7 YEX/>Yܹ и ик901!7!733#%37667#>& RPd c'* (3o=8/$[EX/ >YEX/>Y9/9и01"&'732>54&#"'!!6632Ko"2V<"?2A;,A'#M^ 4<(%A.*G\ >.*#3,@*A?>A +B-<]@!A1$5eEX / >YEX/>Y  9/9%/201".54>32&&#">32'2>54.#".L77[v@9W2<&(PD1 -38!=/#?V.$:**3^(P !=W6np80%)##IpL#*B/2XB&<0?!!023UXvF3EX/ >YEX/>Y 013>7!7!:LdA  NkK4a?A0Ia?#3EWEX/ >YEX/>Y$>+$>9>$9*401".54675&&54>326654&#"2>54.'+J6XH # 7J+$?/E< "=T./:A..#%0A8+-::G%1 *>(J^=(+C.':&@Y $.,G2lL059,)".-% L7.)5aEX,/, >YEX/>Y",9"/",9, 012676454&#""&'732>7#".54>323](P<$;) )/:V3=&(OC1 #i9!>.#?V3.M77[v313 UX1>!"00%)"#HoL*5*B/2XB&!=W6np8;"'aEX / >YEX/>Y  9 9! 9" 901".54>32"6654&267/H1&JnH/H1%Jn(@=(@> &D_:IyM&D_:IzMl)#6<^j)#o6<]k' 3EX/>YEX/>Yи 01373'733'^ >x @W.@IEX/>Y01"&54>32"!"! &"'"^5U$EX/>Yܸܸ 01'667#"&54632i EV "4$ $#?W-T7#$3.,0UD1'gFfg^5'gFfh '8EX/>Yܸиии"01"&54>323"&54>323"&54632)..3!/ !  &1!  &1!&1&1-EX/ >YEX/>Y ܸ01%73"&546329QRF!0# /X__"#4"#4F1EX/>YEX/>Y ܸ01%#772#"&546<9QRF!0# /__X"#4"#4!-7EX/ >YEX"/">Y(ܸܸ 0174>7>54&#"'6632"&54632"+#+.+?+$^>GR$.$D!0# /!5,$!",$!'+3E9!3*$!'"#4"#48<!-7EX"/">YEX/>Y "(ܸ!01%3267#"&54>7>772#"&546]"+"+.+?+$^>GR$.$D!0# /!5,$!",$!'+3E9!3*$!&"#4"#4f +01773gFfjjf!&ppsu+ ܸ01"&54>7632K +8P1 32#"'uBL(&  ewb84%$K44 +01%'770w V4@"5z +017'7'7V+v 5"@G4&yys&5&zzsW-gTW-gTW-gT> +0177!>BBT +01'7!XBB> +0177!>BBTmg$u +01%".54>32 ,"0@#4F0?u-'?,A7'?,h++01%"&54>32'2>54&#":J4D&9I3D/$1&/$1hH;)D1H<)D0/#1(0#1)/ +017! t++017!'35#&t$+ +01753#ww +01753%3'wnwB)f+90173"fAR3+9999017377'B'RjGnnd+901%5!+@d#wP +01%5!'7#+jnPBPf +01%%5%3"fxR)+99901%%5%3'5B)RGnt++017!'2>54.#"&2$$22$$2t$ $11$$11$X2 +0155!Xmmw +017!  BB++017!7!    ;;x<<{ATt +017!{  A33# +01"&'73267zUQjigmA?&:66:&?AP0 +01&&54>7XEN-UyL$@B?oZu./e`?$GEX/>Y01'6654&'7I%?B1FO,Tx/ebA'?oZth;++01!#3՚\--h++0173#7! ՙ --ohG3+23+ ++& 901"&54>54.#72>76676633#"3369@ 4+ .;$ UAf S,>  /-"-*Q +/EF@  20\3N9-.0+[.17(DGA- h3+++'(+ '(901732676676677&&54>54&##7323"# S,>  /-"-*Q e9@ 4+ .;$ UA-.0+[.17(DFB-+/EF@  20\3N9 `IEX/>Y013 H f O +013 F`EX/>Y013X?f O +0133 FFFH0Heo%//9и и 017'7'7737'".. M*_vH(57*K %+ܸи 017737'y B$ oP@BB[G ++  ܸ  ииии0177777737'7'# ) B# ) PBBBBA9M?%++H9H=9=301"&'732654.'.5467&54>32&&#"6654.'&&'0V#*B$'7&*@/)7!-K.2"!.5*,#:1,<+!'"' --:*&0&*# $,5G&2$,!*!###,%0:A !6&+ )&   ,$$.Z  -EX / >YEX/ >Y  01%".54>3337-P=#.Mb55W L,B+@`>S &k9&lli)GS_EX/ >YEX/>Y$ܸܸ *и 4и;иHи$N017>54&#"'6632"&546327>54&#"'6632"&54632V'-&%*"E&/$)0)D!0# /'-&%*"E&/$)0)D!0# /(<2+,1(0!+'<2-07$"#4"#4(<2+,1(0!+'<2-07$"#4"#4+i)/;SEX,/, >YEX0/0>Y6ܸ*ܸи,и/ 0и6$01%>54&#"'6632"&54632%73"&54632n'-&%*"E&/$)0)D!0# /9QRF!0# /(<2+,1(0!+'<2-07$"#4"#4X__"#4"#4))/;WEX,/, >YEX/>Y$ܸܸ,и/ *и0и$6017>54&#"'6632"&54632%73"&54632V'-&%*"E&/$)0)D!0# /9QRF!0# /(<2+,1(0!+'<2-07$"#4"#4X__"#4"#4  ,EEX/ >YEX!/!>Y'ܸܸ ܺ!901?3>54&#"'6632"&54632# B,$12.E+#f>#<,.61$G 0# 0LLY#&,$1$!'+3#0';/)-4#"#4"#4O< ,EEX!/!>YEX/>Y ܺ!9!'ܸ 01%#773267#".54>772#"&546e# B,$12.E+#f>#<,.61$G 0# 0LLY#&,$1$!'+3#0';/)-4#"#4"#4; +013!#Մ-i +01!#7! -<~ +0133= 4{-#~ +01733# Հ<4-NWh; ++01!#3'3#W7*,\---h ++0173#7!'3# 9W,+---; +01!#WL- +01#7!9M V-Rh +0133V=N-hu +01733 LYEX/>Y &ܸ.ܹ5&=01".54>2'2>54.#"7"&54>32&&#"3670N65]~I0N74]~C=kP--A*=jO-Zx9E"9H'$/%1%&%)@ $C_;Zl<#B^:Zn=)8bN1Q97aNewcPG6W=  1B'05(G'4=YEX / >YEX/>Y28+ 2(ܸ)ܹ501".54>32'2>54.#"'32###32654&0N76]}H0N86]~B=lP.-A*=kO-,AHq-@/= .m/'28" $C_;Zk<#B^:Zn=)8bN1Q97aN2Q9 pj,5(8$u:/0 @#,;A+ +:&+.ܸ$ܸ-ܺ5&:9601".54>32'2>54&#"7#32654&732#'##7"8)#>T2!8("=T,'D2C6'D3Cc{(K'"* @*;$3U>#+;$3U=#"4G)?F5G)=FI  %MGGGoU/+ +ии ии ии01#73#333773#77##'#s4` ^5>B ,CC=3n)"o..5tQQtˍhh,n{%A[++*9+ 9 9(и.иAи/и(:701"&'732654&'&&54632&&#"733773#7>7##'##6&"6-$/ $$>a>B ,AF>4 m) n"+ %+(#*,5tTTtˍ## p;{5?]/% +/+6+и/ 9/99:01".54>32#7##"&54676654.#"326726778[A#YEX/>Y.+и/ 9/9 '1201".54>32#7##"&54676&#"3267726771S=#>gI3E& 9.N+.:5K9oV5`Q0M!*^ @#>V5"DcAam:7L.;)54TZKR2_Uhr-!! !+>@%EX / >YEX/ >YEX/>YEX/>Y+  +и ии ииии01!7##7#737#73733733#3#7#?@3@NP1TV:3:939RS0WY?013333?>/EX/>Y9ܸи и01'7'7737'"s~), A'QF>'--'Cv +0177!vI CCvv<BK++ ++9+9ܸ!ܸ+/ܸ9017&#"2654&'"&''7&&'77.54>327&&'**C/>5?L2-I  :,<';1-K1#4G(6-: ./"D4'$'P<P<P<P<P<P<P<P<P<P<;\P<;\P< fP<lP<kC++01"&54>32'2>54&#":A/C,:A/D&, $, VB.^K/VB/]K/1&=J$.=&=J$.=aO + + 0173#766733a z4h+8/Ds 3'3fO+ +017>54&#"'66323f=X8 (#;&6>1I0 &+D;5!$$90::?$3eC)++ ++" 901"&'732654H>54&#"'66321D*+!#229 !. )*; 1>0+""&40 !%"*) )3-%9 1.iO-//+и и 017#73733# )w69 8j!hh+jeC"!+++01"&'732>54&#"'73#66322D*,& ' 5   0>)60 !#$(4d=5"7'}C+!+%+ +01".54>32&#"6632'2>54&#".""7H'<&")0J 228&2 "/-'8#@bC"&'PL;."7&1##91O /+01667#7!XJ .@- aM4#-VWZ/rC!,:5-+"5+'+"595"901"&54>77&&54>327654&#"2654.'6C"#//='4; '&!3 #%(9.%&)5,!(+ $*#%' .$kC+!++"+01%26754&#""'73267#"&54>32.- !<&"*0J 328&2.""7H92"$&&OM;."7'(8#@bB"  +01&&54>7%8'&C? *a53YUS-SX)^%H  +01'6654&'7&C? ,%8SX)]%*`63YTTG +01"&54632 +ܸ01'667#"&54632 (?$%3J}=(EX/>Y+01"&54>32'2>54&#"2B0@$2B0@&#'# C<+J6C<+J6/(7 +*(7 *+\1EX/>Y+0137#76673.Q"*0=' }~=,EX/>Y+0137>54#"'66323}/G/-+C(*2):$ "!4,)+ #*).,-0=(<EX/>Y ++! 901"&'732654𑯎&#"'6632+6'(*/-2(@"'3+&$". !!$! %$!- #$ |=:/EX/>Y+и и 01!7#773733#%i41 1JPP)J1!+ ++01"&'732654#"'73#632*: &!!.9#( (&3%3 "##!4 1Q*-,=(2EX/>Y#++01"&54>32&&#"6632'2654&#"5B2B&. +F 4 */#.()% ?B/J4! B9/(++%*%1&EX/>Y+ 013>7#73 #0! '5# 'C>;0"#?@E(=%1FEX/>Y,+ +,9,9&01"&54675&&54>32'654#"2654&'51,".-4+L-1$ +, -!#* "" '#!+  "-1$* {= (2EX / >Y+!+ 01%267&&#""&'73267#"&54>32)%' #0 -C3 *1$.7@0@*$'$ B:0&+BD-H3 +01&&5467%MN%?EN#\6V;&1|K*O X +01'6654&'7$>F/&NO'0~J*O !#\6V$T +01"&54632 /T&EX/>Yܸܸ 01'667#"&54632"-"Gl %2M]<  Q<  ]< ]<  ]< Q< ]<  Q< ]< ]<  < < `t< kt<  #MEX / >YEX/>Y+ 9901"&54>32373#7#'2677&&#"194C$* 0@2;0#,#%??1N7&1(8")-_"<EX / >Y+9  901"&'##36632'2>54#"L. /^;: 653B(."B. $:C93P61(:$R(EX/>Y+01"&54>32&&#"3267P:H!7F&$1$ /$*&,BDD0J4"'6 +/&_#<EX/>Y+ 9901"&54>32773#7#'2677&&#"5:3C%*<^08 . %-#%AA/M6:z,$1'8"). CEX/>YEX/ >Y+01"&54>32#3267"36&H9N!5D#9;5$2J&C#CD0K4?3# 3))"2/01EgEEX/>YEX/>Y+ии01#?6632&&#"3#7P O I: -&)  8)A< & ).,-WEX/>YEX/>Y+  + 9&&90132677#"&54>32373#"&'7277&&#"204 85; 4B"+ 0AZH#B-2$,"%S(-1B:.M6G>+'6&/ _EX/>Y0136632#76&#"^;A$8' );&"1.G!A>+(d!2EX/>Y++01"&5477#733267"&54632y'4%u /)!)).  , }e2EX / >Y++  017"&'73267#73"&54632#2$%/ 8 AK!" ) (./GB-_ EX/>Y013373#'^YEX / >YEX/>Yи$013366326632#7654#"#76654#"_?/6&9*#(9'(0-8'*1,A.#"+'/ 1 +EX/>YEX/>Y01336632#76&#"@2@*0) (<'#2.A1!?>*((EX/>Y+01"&54>32'2>54&#"88I 6E&9H 5F-!'#."(F@0K4GA0J42(6*0)6*. #MEX/>YEX/>Y+9901336632#"&'72>54&#"Z17#653C$+ t-" $- $%C:2O68l):$%,"MEX/>YEX / >Y+9  90177#"&54>32373'277&&#"j94;4C$( 0[o-2 %,"$q8A<0O7 8*(8")-<EX/>YEX / >YEX/>Y 01336632&&#A/ G'B@$AM'.2['(EX/>Y+01"&'732654&'&&54632&&#"A&D"4 ,#'%3J8-:!+!'#% R#%)'/0#019EEX/>YEX / >Y+ и и 01"&77#?33#3267l?& S T#/ @$<H=*mm.P * /EX/>YEX / >Y +01"&773326773#7#5) );( 3-<@0@@=*'2  /EX/>YEX / >Y +0133667738< a@A73UPEX/>YEX/>YEX / >Y+ и01337733773#''#9 &U5%R6G &MA\\\\[\%EX/>YEX / >Y017'336773#'&&'#E> 4EM>" 9D DE& F/EX / >YEX/>Y+01"&'7326773366773  * H=#  b=D +!!B//07 (EX/>Y+0177#7!3  !/"/$CEX!/! >YEX / >Y+! 01'7"&54>32#3267"36&Y-Mw9N!5D#9;5$2J&C#m#vhCD0K4?3# 3))"2/01$CEX!/! >YEX / >Y+! 01'7"&54>32#3267"36&up"9N!5D#9;5$2J&C# h* CD0K4?3# 3))"2/01$2EX/>Y+!+ 01"&546736454&#"'6632'267#5:< 2&3J%2% 5D &@$?3# ,,("30K4-4/.5'$/EX/>YEX/>Y+01%"&54673366773'2654&'#&!K9' f; 1$ :(,+)+8( 2g +017&&54>32&&#"(%(0*:#1C#/#.5)2) C0!5'& 4)';#(EX/>Y+ 01"&54676&#"'6632#7#'2677$.r}( 9N->, '/B 4XS&&;? .)G?+0Q ,#/=LkEX/>YEX/>Y>+-D+0$+ D-9$09601#"&54675&5467&54>323##"'332'2654&#"2654&##"'6L.@E$ *6vD)6 _-2#6!  ;JV/s-!'$*$)1#+.   ,)!  + t'3<^ D +0173 //@ +017! ((mO@ +017!m  ((NH?!1"+ *+017'7&5467'766327'#"&'72>54&#"A)c B3D>!6f&f D2F>"4p7+3-8+1T,S$..OS,WV/U#+-QX*\,<$3<-<$2;8 7K +&+7ܸܺ79к,796017&&'732654.'.54>373&&#"#:R1 !*4!9H!- 4%2D'80I0K/0?7:8*"9K(n 8./- %/(9& 6* ,()#0 &0!+>'++WEX/ >YEX/>Y +*и  и!013766544'#77&&54>32&&#"3#! UNv g7M/:Q46(=L 68; .%pC -43O53&(%KP11Ea%A2b~uEX / >YEX/>Y 9/ܸܸܺ 9 ииии0137#737#7333667733#3#  yM;  0R  )F)G!F$"H!)F)"Z0qEX/ >YEX/>Y +ܸ  ܸ и  и%и&и*01"&55#77667#77>32&&#"!!3#32672[iL EA C=P`4;M27*#A9.  DB-N&'-i s'"'<_A#8((#'2G,,",Xa*%1-3c %G ++ܸиии $и %017&&54>773&&'6670+G#;,7EU(E\3/)=-+G%;!T07C X&7Hm cQ?eJ+ii&,1%l_&BEX/ >Y+!"+" и!и01"&'77667#7737>32&&#"3#D3%&6Ri G*$/9#!2 !.5 YZa6 6F3Z.B(.>4Y8\LVH8yEX#/# >YEX7/7>Y#70к #79 и7к7#9#и#(и/01""&7&'#7&&54>7733273&&'667 '*F3D $$),/-Nj> %!%&'1 (D )*b>LY2?Zpgc qoLUkB ebiv)& *"2*4b11uEX/ >YEX/>Y +0иܸ ܸ#и $и)и*0137667#7734&'#77&54>32&&#"3#3#! MN~ZcW8L-9S49&;N  60<."c<' '3O63&(%KP  + +8Q A&7~%)-EX/ >YEX/>Y +9ܸк9  ܸ#иииии+и'ии *и&иии!013'37#7#7737#773733733#3##'#7##'#B!B1ML NL1O,s0<1MM NN1N,s1 e 4 N 8 !D!&D&DDDDHU~#[EX/ >YEX/>Y++и и"ии013#?323###354&#3267#HUM N!+G2> ; 0EU0H3uICu=N`,$9)1,A,Kr;/></[~#EX / >YEX/>Y 9 9 / иик 9 "иик 9и иик 9013737##773373333###'37#]>3 I:E@K @SHCSF^; ?bW<`N8%2"'&&2=6S+/dEX,/,>Y$+,-ܸܹܸиии/017"&54>3277#73733#7#'2677&&#"7!>G$:L)*4  BNOW2H< !,!4', u nJE4T:V&,FF'O.6*<%-3,,DZ~ %*EX / >YEX/>Y  ܸ)ܸ*и%ܸи*и)иии)и*и%и%!ܹ013#?#?323#3###3&&#327#765#DLLM LNNf I@<BRH3u D8v=}/ |!?!x7A&#%B@KE&N%#?G4'cEX / >YEX/>Y! +  ܸ  и &и'017&&54>773&&#"677#73UW-QqD8-?34*6[B%C?'E"y 5'V.pe kVlBcd2#(!%7^~HVb>eB'=qEX / >YEX/>Y + ܸܸ )и*и /и0и701".5467#773667#7736654&#"'66323#3!3267$@0@ D7E",/+)= !$S:":)T ? 96+N#&g #5#!5)!*5& , 0!,#1&:. .3 '+(6 .XG%UEX/ >YEX / >Yиии $0177&&54>773&&'66785j-N;!LQ^0Sp@23@3-#j&E''^9N_ <[v_c kYl@``7$' $* 2'3c]H~qEX/ >YEX/>Y9/ܹии 90173267!773&&##7!#3##] P]q JNK[ &IC%8J+V=>?&/*=- ;#,'=-, ~!}EX / >YEX/>Y 9ииииии иии ии01'77'77377>76&'7f:d}g&M 09`E(A  *%6L+%7R%_KS%^/F/  _K~EX / >YEX/>Y 9иииииииии   ии0137'77'77#7!#77('  ".<%IK=%J?@=%IK=%IsK~ =EX / >YEX/>Y  ܹ013#77!#7!^ Nj _  ,0&M11[~!iEX / >YEX/>Y 9/ܹииии  0137#?#7732##!!32654&##{ ?Ti&EaYEX/>Y 9 / ܹи и  0137#77!!!#3#SP R[~ )  .BA{3em +017'77'7$%++em;em;e'{M&;W/9ISvEX/ >YEX / >YEX:/:>Y(5++ 0(Bи0Jи5O01"&54>32'2654#"'%"&54>32'2654#""&54>32'2654#"+2'6,0'6#40   ,1'5,1'5#50$58,1'5,1'5#50$58-$;*5.$;+)=7@+@7=7-$;+6.$;*)<8?>5@)7-$;+6.$;*)<8?>5@e~'tM&;e~'tM&;e'tM&;e~'tM&;e'tM&;e~'tM&;e'tM&;e'tM&;e'tM&;e~'tM&;e~'tM&;e~'tM&;e~'tM&;e'tM&;e~'tM&;e~'tM&;e~'tM&;7W %/vEX/ >YEX / >YEX/>Y++-и-/(017#76673'%7#76673"&54>32'32654#""Q!+01 "Q"*01,1'5,1'5J1#50$5' }7I( 7-$;+6.$;*i@<8?>e'{M&;Wi+ +и 01%5#53533# >i::W-g +015!W-::g ) + 9 и и017'7'77'****,++,Wb1 %+ܸܸܸ 01"&54632"&54632'5!,::FgW&TkTWZ;'T&TT-y1g;+и/и/901%%5%t11Y+ 9 и й 0135!5%5%WVՇ;;FCK--JW NEX/>Y  + 9й й 0135!%5775''5WVՇ;;DJ--KCFW+ DEX/>Y+ ܸܸи 01%5#53533#5! >}::};;q &EX/ >Yܸк9013#''#qDDD11DWCQC+ܹиܸии ܸ 0177#537#5!733#3!rMh]M:Mh]MC;;;;N ' ++и 01".#"'66323267/)')2G&/)'(2F"4F6!5F5N &akaWig+01%5!5!i:Wig +0175!!Wi:bi9/+ 01754>32#54&#"b6J,,J6>L@@Li0O77O0NTTNWi+ +0173!W>lix:[%1=S& +,+8+2+9 9)9;901%"&'##".54>3236632%267&&#"2654&#"7N& $+1$'5)# O6!9()8!55$-0U-260$>"@9>$)7 '=*%5A-?%)C0N/+3,/**6?,1@29>3++01"&54>32'2>54&#"C+;)7-9)7## 70"8'71"7'+%%$&" +0173"IK"A`&iiX +01''3~A"KI`E$*c/EX/>YEX"/">Y к" 9 "й%"9013326733227#"&7##"&' L< 72^2@L   &*_< 0 EG<7=(ZYS@):3<.?#'<430" 0eEX/ >YEX/>Y9/ 9! &)01"&54>32654&#"'6632'2>7&&#"HZ&C^84N=-#7#P*$=-4[{;$A7.?,+D/1 TR6\C%-!@@SG14R;`J@ 8L-&-2B$2<b%++01"'732654.54>32&#"  +  5* )  4:TO670S=#;VM671S=# p  +01#4>32&#"RG 5* )p0S=#;VMbR +01"'732653  *G 5:TO^1S=#AE4 +01'7366730Fu9a +:k AEX/ >YEX/>Yик 901#73%!'# UVa Td-r-d-A4>-QEX / >YEX/>Yиии $,01#737&&54>323#7>54.#" |(1WyH0L32=x "B3"4"5W>#& ? oHNj>$AZ5BmXE?8DXnE(D26\zCIj 8aoKEX/ >YEX/>Y 9 к 901#33736677#oYQPi3:  p6g7rp5l IEX / >YEX/>Y 9/ 01#7!7!7!7!7! Q0, BBAp5C+L'g&gO'ggO>~ JEX/ >Y  + и 9 и0155!!!>|x2II2BB4~,}/EX/ >Yи01!#!4Mx Nf#'7GYEX / >YEX(/(>Y0@+0и/ (801".54>32&#"327'77'7"&54>32'2>54&#"y,#.=##/$'( $"3$%2B0@$2B0@&#'#A2#'G6 #'4# &++C<+J6C<+J6/(7 +*(7 *+b&0YEX/>YEX/>Y(9(и( и .01".7'667>3232676654&#")0 /8 $/705#Db@"1L,Ta3 *@,3 9S4>7-ced/)7"2%JB# D> 2CEX / >YEX/>Y!+ *01".54>32!"32673!2554'&&#",9cK++Kc99cK+bG)5^#&)q F&)G 5[zFFz[55[zF =332,0R<""32'2>54.#",4V?##?V44V?##?V4'C11C''C11C`#?V22V?##?V22V?#/2D)(E22E()D2Yw +017!YwZJh,++017!%!!Jp\hiY +01753>i>iY +01753%!>kNi*d>m.HEX/ >Y0173>m>m.HEX/ >Y01737%%>*amI>UE%EX/ >YEX/ >Y01%5!+U>UE/EX/ >YEX/ >Y01%5!'!+Ubd*mHEX/ >Y01%%5%3m%*mHEX/ >Y01%%5%3'-m%IJmqHEX/ >Y0173YmmBHEX/ >Y01%%5%3@Ym%Ff.+#+и/и/017!'2>54.#"7".54>32F1S<""Y+ +01%".54>32'2>54.#"7".54>32,3ZD((DZ33ZD((DZ3'G8!!8G''G8!!8G'4''44''4[#A];:]B##B]:;]A#14L01L44L10L4:%6!!6&&6!!6%q (EX/>Y+017!%!!<N4 w2<)7`EX/ >YEX/ >YEX/>Y ܹܸ и017&&'73667!!7!667E+5%> lC"Eq$<53*'4gN@$:?pba{w2">0'-<`EX/>Y01&&'73>7I05*COap;2CY:/8dO&+! +!01"&54>323'6654&''<)9#!/ !,  "A<0>&%*   .02&E )0Se)=(O%'++ 9901"&54>32%#"&54>32h(:'7!"w.< (;'7!".<&%* <)=)&%* n*w)=( O@EX / >YEX/>YEX/>Y 901#.54>3236632.Zq?'51JK05'?q a{j61J25CC52J16j{ OFCEX"/">YEX/>Y"9-"9E0135>7##".54>327.54>326632#".'#i!8, G%1$'3!(55(!3'$1%!  ,8!'0K92%)8"#4# +'! .!!. !'+ #4#"8) !9K0'S%EX/>YEX/>Y01#53.%% on O%/EX/>YEX/>Y$0135>7##"&54>73#"&'#i!8, D)8JBoVUpBJ8)D ,8!'0K94&BF-Q_zXXz_Q-FB&49K0' (Nl'3?MU]W+ +G@+.R+.(4и.:и(NVиRZ01%".54>32'2>54.#""&546323"&54632"&'73267'254#"3254#",?kM++Mk??kM++Mk?5Y@##@Y55Y@##@YfBQ!?--?!Q (+Nj??jN++Nj??jN++$A[77[A$$A[77[A$$$$$$$$$E= '%%' =E<:X+9EQK,+ +3+@:+ и&и:Fи@L01%".54>322654&#"32654&#"267'#"&''"&546323"&54632,YEX/ >Yܸк901%#.54>3236632.IRSB*5H,BWWB+I5*BSRI/?43D`H0K3;JJ;3K0GaD34?(l+;DVbM+$++4H+T,+H и /T?и?/017".54632#'2672>54&#"7".'66326672'&&#"326732654&#"@gI(y9F3C&#qB,:6(19$1.@HPVLZS' /89. L8 !     [(/=KEX / >YEX/>Y)+E,+,E9!,E9E0и0/E7и ;E>и>/;I01%".5467&5467&&54>7'267!'66327&&#"66327&&#",OsJ#+0$<0 '(& 0<$0+#JsO?JJY!  ! !8-0: @6;  'O ;6@ :0-8! _8;;8##A77A##A77(rl/;IWcY+&+^X+6G+D0+D<иDJиDQиQ/GU01%".'&&54676632'2>54.#"7"&54632'66327&&#"66327&&#""&54632,,QD6 nn 5DQ,3Y@%">Z78Y>"%@Y3c^f[[f^  " "  " "(*?*CA%&b^^b&%AC*?*+ AeE=V77V=EeA *6SMMS6*J!!A77A!!A77  /)X!*5/'+!+"ܸи" и01'73546323%37'6654&#"354&#"W((.WPPW.((,,1##1K3443F%%X__X%% )$//$) $=CC=>29# +++-и.и0012>54.#"5#535.54>323#,%A..A%%@00@-L7$?X33X?$7L-*/A''B//B''A/;g'=O-1U?##?U1-O='g; d1+ (+017".54>3275%#7'2>54.#"3X?$$?X3%A7$@X3%A//A%%@//@ #>T21U>#8O.2T>#50A''A//A''A0[};tEX)/)>YEX0/0>YEX,/, >Y+$!+, ܸ +$5и!701%2>54.#"'#5&''7&'#5367'7675373#,3$$33$$3Y$2<0$[)YmmW)X&1YEX/>Y 013'377''#H&@CC@@CC SRA2& 5EX/ >YEX/>Y 0133%!''#2DOnaTTah38}}"iurus= +0176654L Y01&54>3FS7M. 32&&#":(0*:#1C#/#.5)2_ C0!5'& 4)';w1EX/>YEX/>Yܸ01373'3l 32lYYEX/>Y01'3*2lY +01%"&'773267}(n    "*6+?<&1 + :%C 8?&EX/>Y013&(aV:Y%C :? +013U5);A*MY;,;G0Mh z2 ( #/;GS_jvEX/>YEX/>Y +qk+*$+B<+ ии$0и*6и<HиBNиkwиw/ZиZ/T`иZfиf/q}и01"&54632'"&546323"&54632%"&54632!"&54632%"&54632!"&54632%"&54632!"&54632%"&54632"&54632'"&54632z`bd`{ Rmn%R: +01'7Br:1 f +01'77z2%C  +01'7H#/C-<G_ +01'7e%,t<8+к901'73'#SY'^8"tN+к901'73'#!WX&`wyaA*'+ии и01".#"'66323267 7 :2 7 ;A,$7b'4 5"(2-?;+6%%6+? + ܸ 01".7332673a!,8$$/ 9)5?$- // -$%N + ܸ 01".773267y#0 4(,+71+8$1&23%1$7 + ܸ 01".7332673{$1 =!$#0 =(6"+"+- +"0M +01"&54632i!) )M((R3 +01"&54632##" M + и01"&546323"&54632    !M#"#"* + и01"&546323"&54632%!!!!6<+ܸ01'6676'7A%QDB#+<(*6/-=h+ܸ01'6676'7J$RB@"+&'0)& ;",! + ܸии01".7732>7'"&54632a(5 1 $,"/0B'';+6''6+''- + ܸ ии01".773267'"&54632y#1 /,-.>/-; '&#/&22&/#r'',+ܸ01"&54>32'2654&#"e)6 +*6,$$,*()*(($++,n +ܸ01"&54>32'2654&#"#4'#4=+##&)$'(*9$"#;G+и01'7'70)u4*v4;""ai+и01'7'7?'w2'w2$$?+901'737;Y'^?tt".U+901'737UX&`!y`aw5$0 +01351H4$ Q7+и01'7'7F@8eF@77m+и01'7'7P>AqP>A8+ܸ 01'>326.#"1->''34!(86++6%%M+ܸ 01'>326&#"1+8##0 4',,71$$1&23+' + 01"&5467632]6< #"  '$,D" .' +01'667#"&54632; "#  6'" $,C6 +017#7373m m1%H/Hj +01733#j%1m n H/HR=EX/>Y017#73m =^/Gy +015654&'7Gj<Q( P  Yܸи0173733g E1E /jj/t9+017#73#F Fj//jm2 +и 017#73733#F F1E EH/HH/HmO2~ +0173m //_C2`cd:^k!++0156654&'7k<9" ) 0C'%  % &  +01&&54>7w&+,;#*:#'h $EX/>Y ܸܸܸ01'6676&'73i<8 &@6-$a'aH 00h $EX/>Y ܸܸܸ01'6676&'73i<8 &@6-$a'aH 00z2EX/>Y+01"&54>73327%6 ';5:"/$)-' "? #y0EX/>Y+01"&54>733267&6!);3<  0$'.'! C' +0173-4KV +0173#7#K-␐aaF|dB }c* `c$"eKFT|d_;'+ии ܸ01%".#"'66323267l'! 7 90'! 7 8,$;M .#:M ++0176654L&, +YEX/>Y01'7'77'+<('(=<('(+!33"33"33!3A*AI7"+ 01"&7733267' >  0-.  1Y +017!  66X.  + ܸ01'6632&&#"Bp}~XSlkX*>AA>*:55MJ #++ и01"&546323"&54632''7 Yf*Mwj& #++ и01"&546323"&54632''7!`!t.pm(MM #++ и01"&546323"&54632''7 [M3@Mqqz #++ и01"&546323"&54632''7!^[9IjuL%& /;+ ии ܸܸ)иܸ$ܸ,01"&766323"&76632'".#"'66323267 !' 2&!( 2Lw'5'5M '+ ииܸ01"&546323"&54632'73  M,, '+ ииܸ01"&546323"&54632'7!! ,,MJ 5++ ик901"&546323"&54632''737 {T!XvtM]JJ\# 5++ ик901"&546323"&54632''737!L%Oln|[FFZ:e %+ +к901'73'#'7tDT!V|l+:#[_K o'ot %+ +к901'73'#3'7mIL%OsrZ[E!S): %+ +к901'73'#'7tDT!V[5N:#[_Ktyz %+ +к901'73'#''7mIL%OrX'SZ[EQ#Y:Q1+ +к9 ܸ01'73'#'6676&'7tDT!Wq%:9":#[_K #)$# g1+ +к9 ܸ01'73'#'6676&'7mIL%On% ;9$Z[E !)$# :#A++к9 ии ܸ01'73'#7".#"'6632327rDV!XJ * +#* ):#W[GE  '2  *&34A++к9 ии ܸ01'73'#7".#"'66323267mHM&OM+-*, -WXBJ&5'5;M# + ܸи ܸ01".7732>7''7a'4 2#)/.?!n-;+6''6+m,## + ܸ и ܸ01".773267''7y"0 0'-,9-*9$t.#/%33%/#s j(;P# + ܸи ܸ01".7732>7''7a'4 2#)/.? U8G;+6''6+r#}## + ܸ и ܸ01".773267''7y"0 0'-,9-*9 X9J#/%33%/#mu{;P%+ + ܸи ܸܸܸ01".7732>7''6676&'7a'4 1#) /.?- )=< ';+6''6+o$2(( $+ + ܸ и ܸܸܸ01".773267''6676&'7y"0 0'--9-+9'$:7>#/%33%/#_#*$#&#;"+; +%+ ܸи%ии ܸ(01".7732677".#"'66323267a%1 0 !/6.(85 . ,%. -;&  +&  &2  &25); +#+ ܸ и#ииܸ&01".7732677".#"'66323267{#0 /%/.4 .(78, -*, -&**&'5&5:$ 01'73'#7".573267lDR#S + (#**, &#0:UVAF   YJ+ܸ0173''7 if)Y66kj&+ܸ017!''7  l!t.66bm(S +015!'NNz +01'5!'ޜpS +013Npxpz +013ޜpx!7S -+иии 0153!53!53NNNNNN!7z ++иии 01%53!53!53ޜSA +01333NNNNN7 p p zA  +++01333ޜ7 p p ES =+иии и и 0153!53!53!53ppppNNNNNNNNEz ;+иии и и 01%53!53!53!53ppppޜS_ # ++ ++0153535353NNNNNNN~z_ # ++ ++0153535353ޜ~pS +01!#!Nzkpz +01%!#!Nz pS +01!#!kpz +01%!#! pSS +01#!5!SNzpNpSz +01#!5!SNzpnpzS +01#!5!zpNpzz +01#!5!zpn +01!3!N,k +01%!3!N,  +013!ޜkN +0173!ޜ S +01!5!3S,NNS +01%!5!3S,Nޜnz +015!3'Nz +01'5!3'ޜnp +01!#3!NN,kxkp +01%!#3!NN,xp  +01!##3!N'kkp  + 01!#33!'N,kkp +01!#3!kxkp  +01%!##3!N'n p  + 01%!#33!'N, np +01%!#3!xpS +01#!5!3SN,NpNpS +01#!5!3SN,Npnnpz +01#!5!3#SN'pNpz +01#!5!33z,N'pNkpz +01#!5!3zpNpz +01#!5!3#SN'pnnpz +01#!5!33z,N'pnnpz +01#!5!3zpnnpS+01!#!5!NkNpz ++01#!5!!!SNz,pn'Npz + +01%!#!5!5!N,zN'pz+01%!#!5!NnpS+01!#!5!kNpz  ++01!#!5!!kn'pz ++01%!#!5!5!N'pz+01%!#!5!n+01!5!3!Z,N,Nk  ++01!!5!3!,N,'nk ++01%!5!5!3!,N,'N+01%!5!3!Z,N,ޜn+01!5!3!ZNk + +01'5!3!!'ޜnkN' ++0175!5!3!'N+01%!5!3!Zޜnp  +и 01!#!5!3!N,N,kNkp + +01!#!5!3!N,N,knnkp  ++01%!#!5!3!N,N,Np  +и 01%!#!5!3!N,N,nnp  +и 01!#!5!3!NkNkp  +и 01!#!5!3!,N,kNkp  +и 01!#!5!3!kNkp +  +01%##!5!3!!z'NnnkNp  + +01%!##5!5!3!N'n'Np +  +01#!5!33!!z,N'pnn'Np  ++ 01%!#!5!533!'N,N'np  +и 01%!#!5!3!Nnnp  +и 01%!#!5!3!,N,nnp + +01!#!5!3!knnkp  ++01%!#!5!3!Np  +и 01%!#!5!3!nnK S+и0153!53w>NNNNK z+и01%53!53w>ޜjS +0133NNN,,jz +0133ޜ,,++015!5!'ZSNNNNp+и013#3SNNpxxp + +01%!#!!!Nz,1NNpS +01##!#SNNpkNkp + +01!#!##!NN,S1pS  ++01#!5!5!5!SN,zpGNNNpS +01###5!SNNpkNp + +01#!5!##5!NȜN,pNGN ++01%3!!!N,,1NNN +013333NNNkkN  ++01333!SN8NzSN1NS ++01%!5!5!5!3S,,NNNNG +01!533338NNNNk  ++01!533!5!3N8zNSNGNp  ++01%!#3!!!NN,,xNNp +013##33NzNNpxkxkp  ++01333##!NNNN,pxNpS + +01#!5!5!5!3SN,,NpGNNNGp +013###533SNNNpxNp  ++013!533##5!SNNN,pxNGGNp + +015!!#!5!'NSNNGNpS  + и 01###5!#SNNpkNNkp '+ + и 015!##!##5!'N,N,SNNkGN  ++01!5!3!5!Z,N,ZSNGNN  + и 01!533333ZNNNNkk '  ++и0133!!5335!SNNSNNGNNp7+ +ии и01%!#!5!5!5!3!!!N,,N,,GNNNGNNp- +и и и01###533333#SNNNNNpkNkkNkp 7 ++ии и0133!!533##!##5!SNNzN,N,SNNGkGNpS +014>33#"5\|F''6_G)pF|\5N)G_6ppSS +01!#4.##532SN)G_6''F|\5p6_G)N5\|S +01##532>5S5\|F''6_G)pF|\5N)G_6  +01333#".N)G_6''F|\5Xp6_G)N5\|X +013#-++YWX +01#5+-+WYWX +и 01 #5533-+++WWWWSS +015!'zNNS +013NS +015!zNNpSS +013NpSz +01'5!'zޜz +013ޜz +01%5!zޜpzS +013ޜpz +01%!5!5!5!,z'N'pz +01#333z'N'pkz +01!!5!!z,''pz +01###3z'N'k,X //01!X,DpX //015!XppX //01!Xp^pX} //01!Xp pX, //01!XpDpX //01!XpkpX //01!XppX9 //01!Xp7pX //01!Xpxp  //01! pxp //01!pxpw //01!wpxp, //01!,pxp //013pxp //013pxpK //013Kpx,pX //01!,,px*X #/;GS_kw+7CO[gs//иии014632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&8      8      8      8      8      8      8      U      ZU      ZU      ZU      ZU      ZU      ZU      *L* #/;GS_kw+7CO[gs//иии014632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&>>>>>>>MUMUMUMUMUMUM*:E #/;GS_kw+7CO[gs//иии014632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//B9X //015!X9 pX //013 Kpxp,, //01!,pD,pX, //01!,,pD,, //01!,,DpX///01!!,,pxDDpX////01!!,,,DDDpX///01!!!XX,DxpX///01!!!XXp,,X //01!,,,DpX////01!)!,,,DDpX///01!!!X,,p*!:p #/;GS_kw+7CO[gsuEXf/f >YEXV/V >Y ++++rl++~x+++++ии $и*и0и6и<иBиHиNиTиZиf`ииииии ииии ии и&и,и2и8и>иDиJи`Pиl\иrbиxhи~nиtиzиииииииииииииииииии и01"&54632"&54632"&54632"&54632"&54632#"&54632#"&54632#"&54632"&54632"&54632"&54632"&54632#"&54632#"&546323"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&546323"&546323"&546323"&54632"&54632"&54632"&54632"&546323"&546323"&54632#"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632,    ;    ;  ;  ;  ;        [  ;  ;                     *  *  *  *        l  *  *                 G     &     &         2   2   2   2         2   2   2   2   2   2   2   &     &         2   2   2   2         2   2   2   2   2   2   2   /'Ik#.8CMU]it~#/;GQ]is{+++4/+$*++<B++ +|+9и9/*и*/$и/и/и/и/?и?/IиI/DNи RиVиV/ZиZ/^и$dиd/$jи9oиo//uи4zии/и/и/Dи<и/и/и/и/и/и<и/ииии/и и /иии/и/0и<6и6/$HиH/NиN/Rи<XиX/<^иBdи$jиj/nиn/tиt/x|иииии/xи|ииии/ии|иии01"5432"5432'"54327"&546327"&546327"&54327"&54632"&5432'"5432'"5432'"&54632'"&5432'"&5432'"&54322#"&5462#"&542#"&5462#"&5462#"&5462#"&5462#"&542#"&546%2#"&5462#"&5462#"542#"&542#"&542#"&54'2#"&54672#"&5462#"&5462#"54'2#"&5462#"&5462#"&546'2#"5472#"&546'"5432"&546322#"&5467"&546322#"54'2#"&5467"5432"&546322#"&5467"&54632,   "  *  /  9  %5  3  <  A  B    * 3  < L  E      $  &  *  , < <  Y  1< G C;2   +       @;2   +           >   ;   4 +       ;   4 +     y   Q   0    K   0       '         &   '         O&+ 901"&54>323'6654&''<)9#!/ !,  "A<0>&%*   .02&E )0Se)=(O%'++ 9901"&54>32%#"&54>32h(:'7!"w.< (;'7!".<&%* <)=)&%* n*w)=(O&+ 901"&54>323'6654&''<)9#!/ !,  "A<0>&%*   .02&E )0Se)=(O%'++ 9901"&54>32%#"&54>32h(:'7!"w.< (;'7!".<&%* <)=)&%* n*w)=((EX/>Y + 017&&'73667!!7!667E+5%> lC"Eq$<53*'4gN@$:?pba{w2">0'-<`EX/>Y01&&'73>7I05*COap;2CY:/8d O@EX / >YEX/>YEX/>Y 901#.54>3236632.Zq?'51JK05'?q a{j61J25CC52J16j{ OFCEX"/">YEX/>Y"9-"9E0135>7##".54>327.54>326632#".'#i!8, G%1$'3!(55(!3'$1%!  ,8!'0K92%)8"#4# +'! .!!. !'+ #4#"8) !9K0'S%EX/>YEX/>Y01#53.%% on O%/EX/>YEX/>Y$0135>7##"&54>73#"&'#i!8, D)8JBoVUpBJ8)D ,8!'0K94&BF-Q_zXXz_Q-FB&49K0'/'Ik#.8CMU]it~#/;GQ]is{+++4/+$*++<B++ +|+9и9/*и*/$и/и/и/и/?и?/IиI/DNи RиVиV/ZиZ/^и$dиd/$jи9oиo//uи4zии/и/и/Dи<и/и/и/и/и/и<и/ииии/и и /иии/и/0и<6и6/$HиH/NиN/Rи<XиX/<^иBdи$jиj/nиn/tиt/x|иииии/xи|ииии/ии|иии01"5432"5432'"54327"&546327"&546327"&54327"&54632"&5432'"5432'"5432'"&54632'"&5432'"&5432'"&54322#"&5462#"&542#"&5462#"&5462#"&5462#"&5462#"&542#"&546%2#"&5462#"&5462#"542#"&542#"&542#"&54'2#"&54672#"&5462#"&5462#"54'2#"&5462#"&5462#"&546'2#"5472#"&546'"5432"&546322#"&5467"&546322#"54'2#"&5467"5432"&546322#"&5467"&54632,   "  *  /  9  %5  3  <  A  B    * 3  < L  E      $  &  *  , < <  Y  1< G C;2   +       @;2   +           >   ;   4 +       ;   4 +     y   Q   0    K   0       '         &   '         <:X+9EQK,+ +3+@:+ и&и:Fи@L01%".54>322654&#"32654&#"267'#"&''"&546323"&54632,YEX/ >Yܸк901%#.54>3236632.IRSB*5H,BWWB+I5*BSRI/?43D`H0K3;JJ;3K0GaD34?(l+;DVbM+$++4H+T,+H и /T?и?/017".54632#'2672>54&#"7".'66326672'&&#"326732654&#"@gI(y9F3C&#qB,:6(19$1.@HPVLZS' /89. L8 !     [(/=KEX / >YEX/>Y)+E,+,E9!,E9E0и0/E7и ;E>и>/;I01%".5467&5467&&54>7'267!'66327&&#"66327&&#",OsJ#+0$<0 '(& 0<$0+#JsO?JJY!  ! !8-0: @6;  'O ;6@ :0-8! _8;;8##A77A##A77(rl/;IWcY+&+^X+6G+D0+D<иDJиDQиQ/GU01%".'&&54676632'2>54.#"7"&54632'66327&&#"66327&&#""&54632,,QD6 nn 5DQ,3Y@%">Z78Y>"%@Y3c^f[[f^  " "  " "(*?*CA%&b^^b&%AC*?*+ AeE=V77V=EeA *6SMMS6*J!!A77A!!A77  /)X!*1+'+"+"и" 01'73546323%37'6654&#"354&#"W((.WPPW.((,,1##1K3443F%%X__X%% )$//$) $=CC=DI&vEX/>YEX/>YEX/>Yииииܸ!013#?6632&&#"3#33"&54632DT> AKA, @l mTbLaW!) )9PJT 7 ^R>XM((D3*xEX/>YEX/>YEX/>Yи/иии/$013#?6632&&#"3#"&54733227DT> AKA, @l mT !{M| 9PJT 7 ^R>X !k;eb$)+ 99901#4>55#7#3M-8<8-uu,9;9,MM;Q;(%%5H53I3T3_3j3u3333333333334o45Z56667v78p89A9:]::;,;<%<==|=>j>r>?8?@@AAPA[AAAABoBC,CRCDfEErEF3FG GGH"HHI*IyIJYJKKZKL-LLM-MMN1NNOaP1PQPQQR/RRS;STT%T0T;TFTQT\TgTrUU#U/U:UEUPU[UfUuUUUUUVOWW&W1WjQjojjjjkk!k7kakkkkkl l/lVlullmTmommmmnnbno'o2o=op^pqCqqqqrr(rMrer}rrs5st/tuuv1vvvww wwwwwwwwwwwwxx xxOxxxyy6y{yyz_zzz{{;{~{{|9|q|}}3}}~~4~P~~~~~~~~~~~~~~~uʀ ct>b)m˄(e:nAkȇ%vȇC*`ʋK )Ŏ)4+& teO_oϔߔ/?O_+Yb Jՙfߛ!Ei̜5ѝ:ϞGϞ2MfƟ#W|ߡJ]}ˡ#Ftʢ7ʤ1a>3ާvq ڪ5} ,Vʬ *2:BU]emu}Ӯ0Růد-X˰Mv"YӲ,Nq̳6Nkܴ2;DMw̵-_r0Nηַ޸C;#pAnGٽOھ&6WWWWWj|пG4Jaw)@Uk€š² +Jb{Óó *B`ĀĠļ6TtŔŰ (Orƕƻ 0Yǂǫ CfȌȭ@aɁɦ ,KpʐʯAd˂˭-V|̯$k͍ͮQdw΋Ξΰ2J]oςϕϨϻ-@RdvЊ2؂ؔاغ/H\zٓٓٓ]l@QFU7Q"$,>Wk ̚Z _< ~f~<:.$ XA)M<O=#*c)4)#%b@z6m4$C4?s$h1$.4a7J8W. ")MMMMM&<<<<<<<<<<<<<<<<<<=========############***cccccc*c))))))))))))))))))))))))#######%%%%%%%bbbbLb@@@@@@@@@@@@@@@@@@@@@@@z6666mmmmmmmm,7++44444444444444444444444$$CCCCC*4440??????????????????$$$$$%hhhhhhhhhhhh1111ci$$$$$$$$........................a aa..7777777 sJJJJJJ&88888888888888888888888W....""""""'$BB@$$%44<4B55/.>Wa8$$#T(_Ri $3."!!\aGD$J<=j""4WPZ<A333333333333333333333333hT;;'%Ar?,;'7'Ag?7';'%Av?);'^^8kkG&WWW>>wwx{#$o   e[AZ9+O#WG,*@vvv< kafeie}rk}}|{ }_ m82"cV&H/6DGBX],_s7WWgWWWykWWWqWNNWWbW"0 Aa5>4b!!aSXg!!V<L@YJJ!>>>>>>**F3O  />b2"%&%0hz( %G0R6=,5+.jRGgtmmCdk&hhzyKFB*$K_LI!!KK, ,,OO  /DDeU/X*.XXKXD^2     w8ADBO ` , *F,  ZZ/9@Z`z~7C\ghnv{~  *,14=BE_aCIMPRX[!+;ISco    " & 0 3 5 : ? D I q y  !!!! !"!&!.!^!!!!""""""""")"+"7"H"a"e###!%%%%%%%%%%&&&<&@&B&`&c&f&k''R'd'..% 0:A[a{7CP^hjox}#,.49BE_aCGMORV[  $2>RXl~    & / 2 5 9 < D G p t } !!!! !"!&!.!P!!!!""""""""")"+"7"H"`"d###%%%%%%%%%%&&&:&@&B&`&c&e&j''R'd'.."nW vnmVed],-oE76@TRO|tgMMtli':6lq%>BpSh}gijZX[n_a3m)&$'{c~h^l|@ABo6789:=MR]^_a~U ()*,IJKMhnopqrV;<@ ST V"U!W#['b-c.d0e/`+p;q<r=s>xB}HLNSPTUVYZ\[a`eigms~t*w? OuOt?vo:f> N   QX$Y%Z&n9u@zDyC{F|GWX]^_bcdjklEA BCDEFGHIJKLf1g2h3i4j5k6l7m8QRwxyz{|}rsvxtuw? :,0(856AKPQCDEFGHIJLMNO|}~muwTWqgf`Yop  !!l""q##$$%%%>&&B''p()**++S,,h--}..g//09C:;i<<Z==X>>[??n@@AZ[[\\]]^^___``az{{||}}~~a3m)&$'{c~h^l|@o6=MR]a~U (,IMhnV;<@ ST     V  "  U  !W#['b-c.d0e/`+p;q<  r!!=""s##>$$x%%B&&}''H(())L**++N,,--S..//P0011T22334455U6677V88Y99::Z;;<<\==>>[??@@aAABB`CCDDeEEFFiGGHHgIImJJKKLLMMsNNOO~PPQQtRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~\*w? OuOt?vo:f> N77CCPPPQQRXY\^ghhjjknovx{}~          #&''(()*,,.144 9= BBEE__aa@CCGGHIMMOO PP RR VVWX[[Q  X  $Y%Z&n9  u!!@$$z%%D&&y''C(({))F**|++G2233W4455X6677]8899^::;;_>>??b@@AAcBBCCdDDEEjFFGGkHHIIlRRSSXXYYZZ[[\\]]^^__``aabbccllmmnnoo~~EA BCDEFGHIJKLf1g2h3i4j5k6l7m8QRwxyz{|}  4              r  v  x  t  w ! " " & &k / / 0 0? 2 3i 5 5k 9 :y < < = = > ? D D; G G H H I I p p q q t y } ~      + : , - / 0 ( 7 1 3 8 5 9!!y!!z!!A!!! ! !"!"!&!&s!.!.{!P!PK!Q!RP!S!ZC![!^L!!R!!|!!!!!!!!""t""m""u""r""x""w""T""<""W""q""g""f")")e"+"+n"7"7v"H"Hb"`"``"a"aY"d"e\####d### #!o%%7%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&:&;&<&<&@&@&B&B&`&`&c&c&e&e&f&f&j&k'''R'R'd'd''...".%n&&&:&;&`&c&e&f&j&k''d,K PXYD _^-, EiD`-,*!-, F%FRX#Y Id F had%F hadRX#eY/ SXi TX!@Yi TX!@eYY:-, F%FRX#Y F jad%F jadRX#Y/-,K &PXQXD@DY!! EPXD!YY-, EiD` E}iD`-,*-,K &SX@Y &SX#!#Y &SX#!#Y &SX#!#Y &SX#!@#Y &SX%EPX#!#!%E#!#!Y!YD- ,KSXED!!Y-+++@6*!+M@2$++ E}iDK`RXYDV 3  > ~   V     B ,@ vl    4 4 2*  \ H|     $   ,4 0` . 2  8        . 2Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name Source .Source Code ProItalic1.050;ADBO;SourceCodePro-It;ADOBESource Code Pro ItalicVersion 1.050;PS 1.000;hotconv 16.6.51;makeotf.lib2.5.65220SourceCodePro-ItSource is a trademark of Adobe Systems Incorporated in the United States and/or other countries.Adobe Systems IncorporatedPaul D. Hunt, Teo Tuominenhttp://www.adobe.com/typeThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an AS IS  BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.http://www.adobe.com/type/legal.htmlsimple asimple gSami JCyrillic breve []slashed zero [0]typographic hyphen [-]typographic asterisk [*]slashed dollar sign [$]alternate numeral one [1]typographic alternates [-,*]2$%&'()*+,-./0123456789:;<=DEFGHIJKLMNOPQRSTUVWXYZ[\]bc     de !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRfSTUVgWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~hjikmlnoqprsutvwxzy{}|      !"#$~%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ " B >@^`_? #      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !AaC      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~AmacronAbreve Aringacuteuni01CDAogonekuni1EA0uni1EA2uni1EA4uni1EA6uni1EA8uni1EAAuni1EACuni1EAEuni1EB0uni1EB2uni1EB4uni1EB6AEacuteuni01E2uni0243uni1E06 Ccircumflex CdotaccentDcaronuni1E0Cuni1E0Euni1E10Dcroatuni018AEcaronEmacronEbreve EdotaccentEogonekuni1EB8uni1EBAuni1EBCuni1EBEuni1EC0uni1EC2uni1EC4uni1EC6uni1E16uni01F4 Gcircumflex Gdotaccentuni0122Gcaronuni1E20 uni00470303uni0193 Hcircumflexuni1E26uni1E24uni1E28uni1E2AHbarItildeImacronuni01CFIogonekuni1EC8uni1ECAIbreve Jcircumflexuni0136uni1E32uni1E34LacuteLcaronuni013Buni1E36uni1E38uni1E3ALdotuni1E3Euni1E40uni1E42Nacuteuni01F8Ncaronuni0145uni1E44uni1E46uni1E48Omacron OhungarumlautObreveuni01D1uni01EAuni1ECCuni1ECEuni1ED0uni1ED2uni1ED4uni1ED6uni1ED8Ohornuni1EDAuni1EDCuni1EDEuni1EE0uni1EE2uni1E52 OslashacuteRacuteRcaronuni1E58uni0156uni1E5Auni1E5Cuni1E5ESacute Scircumflexuni015Euni0218uni1E60uni1E62uni1E9ETcaronuni0162uni021Auni1E6Cuni1E6ETbarUtildeUmacronUbreveUring Uhungarumlautuni01D3Uogonekuni01D5uni01D7uni01D9uni01DBuni1EE4uni1EE6Uhornuni1EE8uni1EEAuni1EECuni1EEEuni1EF0uni1E7EWgraveWacute Wcircumflex WdieresisYgrave Ycircumflexuni1E8Euni1EF4uni1EF6uni1EF8Zacute Zdotaccentuni1E90uni1E92uni1E94uni018FEngIJuni004C00B7004C uni01320301amacronabreve aringacuteuni01CEaogonekuni1EA1uni1EA3uni1EA5uni1EA7uni1EA9uni1EABuni1EADuni1EAFuni1EB1uni1EB3uni1EB5uni1EB7aeacuteuni01E3uni0180uni1E07 ccircumflex cdotaccentdcaronuni1E0Duni1E0Funi1E11ecaronemacronebreveeogonek edotaccentuni1EB9uni1EBBuni1EBDuni1EBFuni1EC1uni1EC3uni1EC5uni1EC7uni1E17uni01F5 gcircumflex gdotaccentuni0123gcaronuni1E21 uni00670303 hcircumflexuni1E27uni1E25uni1E96uni1E29uni1E2Bhbaritildeimacronuni01D0iogonekuni1EC9uni1ECBibreve jcircumflexuni0137uni1E33uni1E35 kgreenlandiclacutelcaronuni013Cuni1E37uni1E39uni1E3Bldotuni1E3Funi1E41uni1E43nacuteuni01F9ncaronuni0146uni1E45uni1E47uni1E49 napostropheomacron ohungarumlautuni01D2uni01EBuni1ECDuni1ECFuni1ED1uni1ED3uni1ED5uni1ED7uni1ED9obreveuni1E53ohornuni1EDBuni1EDDuni1EDFuni1EE1uni1EE3 oslashacuteracuteuni0157rcaronuni1E59uni1E5Buni1E5Duni1E5Fsacute scircumflexuni015Funi0219uni1E61uni1E63longstcaronuni0163uni021Buni1E6Duni1E6Funi1E97tbarutildeumacronubreveuring uhungarumlautuni01D4uogonekuni01D6uni01D8uni01DAuni01DCuni1EE5uni1EE7uhornuni1EE9uni1EEBuni1EEDuni1EEFuni1EF1uni1E7Fwgravewacute wcircumflex wdieresisygrave ycircumflexuni1E8Funi1EF5uni1EF7uni1EF9zacute zdotaccentuni1E91uni1E93uni1E95enguni0237ijuni006C00B7006C uni01330301uni0250uni0252uni0253uni0254uni0255uni0256uni0257uni0258uni0251uni0299uni0259uni025Auni025Buni025Cuni025Euni025Funi0260uni0261uni0262uni0263uni0264uni0265uni0266uni0267uni029Cuni0268uni026Auni029Duni029Euni026Buni026Cuni026Duni026Euni029Funi026Funi0270uni0271uni0272uni0273uni0274uni0275uni0276uni0278uni0279uni027Auni027Buni027Duni027Euni0280uni0281uni0282uni0283uni0284uni0287uni0288uni0289uni028Auni028Buni028Cuni028Duni028Euni028Funi0290uni0291uni0292uni02A4uni02A6uni02A7uni0294uni0295uni02A1uni02A2uni01C2uni0298 uni014A.aa.aagrave.aaacute.a acircumflex.aatilde.a adieresis.a amacron.aabreve.aaring.a aringacute.a uni01CE.a uni1EA1.a uni1EA3.a uni1EA5.a uni1EA7.a uni1EA9.a uni1EAB.a uni1EAD.a uni1EAF.a uni1EB1.a uni1EB3.a uni1EB5.a uni1EB7.a aogonek.ag.a uni01F5.a gcircumflex.agbreve.a gdotaccent.a uni0123.agcaron.a uni1E21.a uni00670303.a iogonek.d uni0268.d uni029D.duni2116zero.aone.a zero.onumone.onumtwo.onum three.onum four.onum five.onumsix.onum seven.onum eight.onum nine.onumzero.bone.bzero.capone.captwo.cap three.capfour.capfive.capsix.cap seven.cap eight.capnine.capzero.cone.c quotereverseduni00ADuni2010 figuredashuni2015uni25E6uni25AAuni25ABuni25B4uni25B5uni25B8uni25B9uni25BEuni25BFuni25C2uni25C3 invbullet filledrect underscoredbluni203Euni203Funi2016 exclamdbluni2047uni2049uni2048uni203Duni2E18uni231Cuni231Duni231Euni231Funi27E6uni27E7uni2E22uni2E23uni2E24uni2E25uni2117uni2120at.case asterisk.ahyphen.a uni00AD.a uni2010.adollar.a zero.supsone.supstwo.sups three.sups four.sups five.supssix.sups seven.sups eight.sups nine.supsparenleft.supsparenright.sups period.sups comma.sups zero.subsone.substwo.subs three.subs four.subs five.subssix.subs seven.subs eight.subs nine.subsparenleft.subsparenright.subs period.subs comma.subs zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnomparenleft.dnomparenright.dnom period.dnom comma.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numrparenleft.numrparenright.numr period.numr comma.numr ordfeminine.aa.supsb.supsc.supsd.supse.supsf.supsg.supsh.supsi.supsj.supsk.supsl.supsm.supsn.supso.supsp.supsq.supsr.supss.supst.supsu.supsv.supsw.supsx.supsy.supsz.sups egrave.sups eacute.sups uni0259.supsuni02E0uni02E4a.supag.supa colon.sups hyphen.sups endash.sups emdash.supsEurouni0192 colonmonetarylirauni20A6pesetauni20A9donguni20B1uni20B2uni20B4uni20B5uni20B9uni20BAuni20AEuni20B8uni20BDuni2215 slash.fraconethird twothirdsuni2155uni2156uni2157uni2158uni2159uni215Auni2150 oneeighth threeeighths fiveeighths seveneighthsuni2151uni2152uni2189uni2219 equivalence revlogicalnot intersection orthogonaluni2032uni2033uni2035uni00B5 integraltp integralbtuni2206uni2126uni2200uni2203uni2237uni2105uni2113 estimateduni2190arrowupuni2192 arrowdownuni2196uni2197uni2198uni2199uni21D0uni21D1uni21D2uni21D3 arrowboth arrowupdn arrowupdnbseuni25CFuni25CBuni25A0uni25A1uni2752uni25C6triagupuni25B3uni25B6uni25B7triagdnuni25BDuni25C0uni25C1triagrttriaglf invcircleuni25C9uni2610uni2611uni2713 musicalnotemusicalnotedblheartclubdiamondspade smileface invsmilefaceuni2764uni2615u1F4A9u1F916u1F512femalemalesunhouseuni02B9uni02BBuni02BCuni02BEuni02BFuni02C1uni02D0uni02D1uni02DEuni02C8uni02C9uni02CAuni02CBuni02CCuni25CCuni0300 uni0300.capuni0301 uni0301.capuni0302 uni0302.capuni0303 uni0303.capuni0304 uni0304.capuni0305 uni0305.capuni0306 uni0306.c uni0306.cap uni0306.ccapuni0307 uni0307.capuni0308 uni0308.capuni0309 uni0309.capuni0310 uni0310.capuni030A uni030A.capuni030B uni030B.capuni030C uni030C.cap uni030C.auni030F uni030F.capuni0311 uni0311.capuni0312uni0313uni0318uni0319uni031Auni031Buni031Cuni031Duni031Euni031Funi0320uni0323uni0324uni0325uni0326 uni0326.auni0327 uni0327.capuni0328 uni0328.capuni0329uni032Auni032Cuni032Euni032Funi0330uni0331uni0334uni0339uni033Auni033Buni033Cuni033Duni0342 uni0342.capuni0345uni035Funi0361 uni03080301uni03080301.cap uni03080300uni03080300.cap uni03080303 uni03080304uni03080304.cap uni0308030Cuni0308030C.cap uni03020301uni03020301.cap uni03020300uni03020300.cap uni03020309uni03020309.cap uni03020303uni03020303.cap uni03060301uni03060301.cap uni03060300uni03060300.cap uni03060309uni03060309.cap uni03060303uni03060303.cap uni03020306 uni03040301uni03040301.capuni00A0uni2007 space.frac nbspace.fracuni2500uni2501uni2502uni2503uni2504uni2505uni2506uni2507uni2508uni2509uni250Auni250Buni250Cuni250Duni250Euni250Funi2510uni2511uni2512uni2513uni2514uni2515uni2516uni2517uni2518uni2519uni251Auni251Buni251Cuni251Duni251Euni251Funi2520uni2521uni2522uni2523uni2524uni2525uni2526uni2527uni2528uni2529uni252Auni252Buni252Cuni252Duni252Euni252Funi2530uni2531uni2532uni2533uni2534uni2535uni2536uni2537uni2538uni2539uni253Auni253Buni253Cuni253Duni253Euni253Funi2540uni2541uni2542uni2543uni2544uni2545uni2546uni2547uni2548uni2549uni254Auni254Buni254Cuni254Duni254Euni254Funi2550uni2551uni2552uni2553uni2554uni2555uni2556uni2557uni2558uni2559uni255Auni255Buni255Cuni255Duni255Euni255Funi2560uni2561uni2562uni2563uni2564uni2565uni2566uni2567uni2568uni2569uni256Auni256Buni256Cuni256Duni256Euni256Funi2570uni2571uni2572uni2573uni2574uni2575uni2576uni2577uni2578uni2579uni257Auni257Buni257Cuni257Duni257Euni257Funi2580uni2581uni2582uni2583uni2584uni2585uni2586uni2587uni2588uni2589uni258Auni258Buni258Cuni258Duni258Euni258Funi2590uni2591uni2592uni2593uni2594uni2595uni2596uni2597uni2598uni2599uni259Auni259Buni259Cuni259Duni259Euni259Funi202FuniFEFFuniFE0EuniFE0Fu1F3B5u1F3B6u1F3B5_uniFE0Fu1F3B6_uniFE0Funi2611_uniFE0Funi2713_uniFE0Funi2665_uniFE0Funi2663_uniFE0Funi2666_uniFE0Funi2660_uniFE0Funi263A_uniFE0Funi263B_uniFE0Funi2764_uniFE0Funi2615_uniFE0Fu1F4A9_uniFE0Fu1F916_uniFE0Fu1F512_uniFE0Ff_if_luniE0A0uniE0A1uniE0A2uniE0B0uniE0B1uniE0B2uniE0B3 O577::==@@MM[\^^eevv    ##''))//>>AAPPTT[[``rrvv!!$$3499=?  ""$$&&((**,,..00  ""$$&&((**,,..00 t$DFLTcyrl.grekBlatnV    ccmpzccmpzccmpzccmpzfracfracfracfracmarkmarkmarkmarkmkmkmkmkmkmkmkmksizesizesizesize  d0BPl ^ PJ P t *$,!#$%&'/'`  *$#"%+,4 ;<=  1E  6&5@@4MM5[\6ee89:;<=>?@ABC  EF''G//HTTI``JvvKLMNOPQRVop34=? HNTZ  `f    l  rrrxx>~&>\t       &\  2> &,2P8>DJJP V\\\bhnntzz H Z   vsfqhlhicJulr|a_ddr/XZ[QbR>P:^N^fJjx^D){QTTNUIN~i{vWE@M $~ |2  !#$'()*-./035MT2flrx~   &%!x<;L KF4h_ .J  5MM3[\46789:;=''>TT?``@ABCDEFHI`l44>?^  &,h28||>D|jJ|PjVj\bhL|n@jt(zLj||FjLLjjL|| "L|"(..4:@FLRXX^djpv|#|*a u%%14$%%%%^%CE%%/%fE%%d E%-M% "  'Q ** n_ Td  $*047:=^ )Tr!$ JPVVVtbhnt>DJJJPV\bbbhntzzzzsil vl3 "$&(*,.0 3uS >> &&>>,28>]zQ;yrQj, DFLTcyrlZgreklatn $*06<BHPV\bhntz %+17=CIQW]ciou{ &,28>DJRX^djpv|NSM LSKS  !'-39?EKSY_ekqw} "(.4:@FLNTZ`flrx~ #)/5;AGMOU[agmsycasecasecasecasecasecaseccmpccmpccmpccmpccmpccmpcv01cv01cv01cv01cv01cv01cv02cv02cv02cv02cv02cv02cv06cv06cv06cv06cv06cv06cv11*cv11*cv11*cv11*cv11*cv11*cv12>cv12>cv12>cv12>cv12>cv12>cv14Rcv14Rcv14Rcv14Rcv14Rcv14Rcv15fcv15fcv15fcv15fcv15fcv15fcv16zcv16zcv16zcv16zcv16zcv16zcv17cv17cv17cv17cv17cv17dnomdnomdnomdnomdnomdnomfracfracfracfracfracfracloclloclnumrnumrnumrnumrnumrnumronumonumonumonumonumonumordnordnordnordnordnordnsaltsaltsaltsaltsaltsaltsinfsinfsinfsinfsinfsinfss01ss01ss01ss01ss01ss01ss02ss02ss02ss02ss02ss02ss03ss03ss03ss03ss03ss03ss05ss05ss05ss05ss05ss05ss06 ss06 ss06 ss06 ss06 ss06 ss07ss07ss07ss07ss07ss07subssubssubssubssubssubssups$sups$sups$sups$sups$sups$zero.zero.zero.zero.zero.zero.      <,@Th*ZBn h: !"#$%&3'()*+,-./012 456789:;<"":A  CO[C}~% D*06<BHNT_b*-ps  ** . _*p b-s $: $%P 6` $" &0$ $*(.,. &,,6@JT`jt~@ev  #/ A>P'[v9  "$'*/04 V 6Y[[>]x?zz[|\<3 ,H;=&56@     5()r !"#i}$CLNN gh   CLNN Z*[\]^_`abcdf[\]^_`abcd*CDEFGHIJKLNOPQRSTUVWX DP\$=V(5T=>?6($%P3wOF2db`l  `16$p D , Kc6 Aw@';w3`r'Z(rIԔ " 2i2$ Ja*z"^uWP9KX2㭁y^M,K{ߦ#oc(slr>=mA fXQh#GPki,NUe'q?"yi}Z#::q K75/*j|{|ة^[!dpi>]6TF q4k׏T @nG<m*0/!y4?2'i4f?#3ϊ\gphp)D왗-ct9V؝tk>\+۠U*u# Ak %&&ˡr(gs[`[TME}hɕdHdKdI4U VupvOMENHVȱʠ-eF3v'pgbs /Am.5ɤM>ŔSM=ʹK?3<h"H!IMڸg@6~ dD6q*dF6ydS{M,nEzrDQL#UA0=+ר}XMnQfXO6xCډzrMܞu8Q <(0-^2"?PwnAi1zM+i\Fmjl->gUS1y^m_Q:#ԫ @ٻ @@-P. ߑ?bOS0rϷJ~ nXi3f͙D=eZeru؀ ȱM936+G#sUdZ7b̭?5= Oarl(1`Ŗ+_EA3oBPkR6^py&N9+nsq:/7[Z4/!&$JR@UyE%J1KJWR/\إ.kacƟbg톭BxqgY~ϖs:u 3ݳ|u~3iYċd(Y*CՖV nXb7*j}D ȓҾ>dL_EKJ gk$ͿwoG5Cu@iǯ{/-uiՓ%ǚۚ5q|3Z@mp9ZcdtwWoסvj8uPLjja5:_I]nѺ˗XXi@a(Xdu.^U fU-Vn ]qXYқ |~6)dɖ8 e$SEIl̷ۜw 7=]}_v؀Y\HVRykiP 3g_R;{;O[׳<8V?v~`wa f86ɟ؎pۅ-%cN ByH(EU)4:9m.oq^o};rпvV=5i_/pXY2 acG[UP`<Ϋ<-\RE^/E \SUCn}x;C qlg3aVDfwc2fĄ)Kќ "T(1bʼn G|y *QHj5 SB2UerQU=7 y\GLC# Oj^xk棅6:YLyd5c%*([Cuj֘Jk\LIir T֖ 6vG.w}I7?tOX`Brf?G9 L/哖kDQ l4QFc$&$56uHǺxW誣]r܃^yݹ٩=#NSةP#phYNT(Ix ɦPnj[1]E)["!\tKAZ%e=c8@pcEzE>ʂy#)ĎHCB&{nM0iXPhJËR}j8O=7O+tG!5&ch}ZNHX0dc2o2Pw N∥+ͱ84zkN8wNC;Q I&]H"شlU`|R|HyFnv]324uxPh᷌^Y5nG)k\/[9B$ݧrKzB? x@wn_ -e ,4`Rg8/xO *oBAa1e~=96nXDʍpyX*ܤcq!VZC׀߼Lpepk+885+O K N$ע#aD1!(.BRR(J ¤z7?$*T*HYѬ rnbnRq Xsy( P(AQEu6YfU3@,{fуLfU=ԷX^QA'Ba4`#e)^jJ22 }E scZE)f($ dؑŷ~f3~Buc&bv뜸8rv6~:(( ӝL 'լɍM :M.B=AU$s[cfszaAVIJs,% R-Z8h.-b:n0Yr=ϐW g,1r??EO~__2Xx_;}s%?j;8#&?Q@&Wmt?ETi!F< woc]<*>uyWA\a" T**{|g?”%-Q7:Kj^Yxk&k ;OɓN _|PaRNx맴 {,>߂9ImWKC t6YvlB꘽ɝ >~*RnIC v96G^ɳ[%KZ OUXDƅs_>)uC%^[*)+l]Z.;>n0$,G B{Q"SB,.ka7w0_d? b5֢^:mh>Z@u :,-iAvVurh.A!I;Cg_7}G?׆/Nd_L؄OeKxOt {"$DoA55c9C75`fg l01r\fَ 6A$9yg`Aw_`Mpa _DH,%jN.͐/cZvy˯+U4XJr8\J|Gzb9RRlֶ)b0| (URGbfȐ?f!al%$edU<B0`+a9_ %R\ :4Z`4-Vt=^_5 D ӲPCc5[Z;h {*@T}؀a{˝0HzlC >*Er);wL<9k ƛh wHevHO"vl2 kȬnYent5kծuS>=k'#&׫ߠaM6k)0fu4D?ɕyBJ4H?L^g Ƙ $`/9-(q%.VȮuK넠}<-3)Q%ZnE!b,f-#4杼Q\ӆK›(+)5p y!Z?j Ik5Tч|)+.X[ݤ}s+ʹB\MK4+z0=``)vO:o'Ȩ%Alo2QI2fZá7E-ҸD*`XƂ xH(YzUn7M?; N4I)8IE0F!bLqI5jӌ@L!"KzE'wkNapEҨ׈:. ]H^6NF2ieielf.ky%p$$x.R-ɴXfw}:툵9XlQ+u$ VoنQTf8UbuXJk4xZ~)PS^9VdsEPӨZ?_OE g-VqHGE-ΘNܥ:Mѡ*V:@w![uz\7T6#w7+ױ=#p"P Yh9R|C$J;r ;X3a(c$uQ)ش^Bp)>./Y5LtWǏҗH@ O*L0±VL(^'ֻʖrgʮyGDewSg:XJ {._ϐnC8[q9$~6`?+g =/w8/c2;ERY]=# =~ @qӥ[J/z]{9{6[sxRR^}Gm=_/1/.GGDEFGPOStGSUBb>OS/2J4`cmap$J1cvt }"fpgmY7| sgaspglyf:#headvP=6hhea3yJ$hmtxA= :loca%(tmaxpaX% namep~ postet9prepɝ}]#5 =EX/ >YEX/>Yܸ013!%3''#7'377##')){^^* u^l[Mbb p_;;s O OEX / >YEX / >Y 9/ 9 и013'&&'#3#'#   ˰˜'(J<<1m44mtJ2&WEX/ >YEX/>Y%9%/ %9 01332#32654&##3254&##J3W@% *FH&D[5[A6014BOv9=O&>/,& JB2H/*&$ZX+&6:9EX / >YEX/>Y 01".54>32&&#"3267d=mS10TrA>d!Q7$#:+\J#;QQ +T}RQX.3 [6N1eo Y`F4 5EX/ >YEX/>Y01332#'32>54.##FGtR-,QpD)&?--?&&OzTT|Q(w1P;:O/\ MEX/ >YEX/>Y9/ 013!!3#!\&|{|i CEX/ >YEX/>Y9/013!!3#i||,##MEX / >YEX/>Y  9/01".54>32&&#"32675#53W?mQ./Qn?B] Q2' 6(MN" _!l +T}RRW.3 [6N1eo px0@ IEX/ >YEX/>Y 9 /и0133353##@tJ AEX/ >YEX/>Yи 01353#5!#3JĘ|||l|;5EX/ >YEX/>Y 01".'73265#5!:84U9C32:] )[H3D'{R0U@%DR SEX/ >YEX/>Y9к9к 9013333#D֣K wck +EX/ >YEX/>Y0133!k"|:]EX/ >YEX/>Y9и к99901333773#54>7##''#:@@|22H3/ZZtRVQQVRBIEX/ >YEX/>Y9 и к901333&&553#'#B884:tE6|:&25EX / >YEX/>Y 01".54>32'2654&#",:aE&&Ea::aE&&Ea:3<<33<< ,VTR}U++U}RTV,ljfjjfjlK1CEX/ >YEX/>Y 9 /01332##3254&##K5]E()F\4TKx=;K1Q;9T6Rh3*'NG *KEX/ >YEX/>Y$ +!01%2654&#"".'&&54>323267,3<<33<<0P@0Xi&E`::`E&_QC# /lkrfjjfrk.@&R}U++U}R#n FHUEX/ >YEX/>Y9/ 9 и01332#'#3254&##F4[E(@4}MHw<;H/N:H]`a0&2'/IEX/ >YEX/>Y9!'901"&'732654.''.54>32&&#"*B5U%X00,&T3&#?X5YEX/>Y013#5!#||@3EX/ >YEX/>Y  01"&5332653.xv,//-s `;>>;oI ;EX/ >YEX/>Y9/ 013336673ŜNM6e66e60tT!]EX/ >YEX/>Y9 99ик9013336677336673#'&&'#[W,^)P& &*M--M*)N--N)[t@@F]EX/ >YEX/>Y99 к9к90133366773#'&&'#?   :G  DO={33{33H7EX/ >YEX/>Y9 01353366773ҞBB&H''H&P8# =EX/ >YEX / >Yи0135!5!!815Y{YI|=)gEX/>YEX/>Y 9 / и/9 "01".54>7&&#"'6632#'#'2675&<*$O|X33$I*43u@hxx &Z!:7H*% )6 *?,"&`&nr8'rRH)"zEX/>YEX/>YEX/>Y9и/ 9  01"&'##336632'2654#"R#E sH$.K3$YEX/>Y 01".54>32&#"3267W;dK*/Oh9;_ D77@PM>'A;-l #Ba>>aB#&['LAAL]&#/$zEX / >YEX/>YEX/>Y 9и/ 9  01".54>323'53#'#52675&&#"/M7$;L)*:x H*));2 $C`==`C$MC3$xDFJD7#"QEX / >YEX/>Y 9/ !01".54>32!3267"3&J:eJ*+H]29X; L="=!1+h>,; #Ba>=aC#$@W3% 62Y./]RIZEX / >YEX/>YEX/>Y и013#5754>32&#"3#Ճ6T:+K 170-}m +J7  l*-s4-<4@P|EX/>YEX/>YEXH/H>Yи/;и/$9H-$5A01".5475&&54675&&54>323##"'3322654&#"2654&##"&'0S<"M!&#:M*.$d 7K+ $ (,\bg*Ln;,,++,#C0!=& ( 2A,-C- l #+>)  :C'B/))'**'))" HXEX/>YEX/>YEX/>Y9 и013336632#4&#"HP9TM )-_-l^2.O&T-*<&-LI XEX/>YEX/>YEX/>Y99к 90133373#'L̟IkN}2 9EX/>YEX/>Y 01"&5#5!3267^_/ %!""& o_t l #>"{EX/>YEX/>Yи/9 9 ииии !0133366326632#4&#"#4#"#o 2+ - 5+69  s =+)("/UKRR-HeEX/>YEX/>YEX/>YEX / >Y9013336632#4&#"Hx  S8TN )-B .l^2./)5EX / >YEX/>Y 01".54>32'2654&#",1[G**G[11[G**G[13333333 #Ba>>aB##Ba>>aB#wLAALLAALHH)!~EX/>YEX/>YEX/>Yи/9901336632#"'#2654#"Hx N(.J4$YEX/>YEX/>Y99и/0157##".54>323732675&&#"}D#/M7$;L)*A s*));2P $C`==`C$!3X$DFJDt$TEX/>YEX/>YEX/>Y9013336632&&#"tx %hYEX/>Y9$901"&'732654.'&&54>32&&#"(C0?.d6)& 0$eX ;T5Cm'B&R*#"4?9L, =[ , \  K:":(+X &0":+1&QEX / >YEX/>Y   ܸ  ии01".55#57733#3267;R3}y27/!O 9P1ms9/ j > SEX/>YEX/>Y 9 ии/01"&5332673#'#UL*+x !P l^22.!FG&-9 7EX/>YEX/>Y9 0133366773ڻN    N&L''L&T!]EX/>YEX/>Y9 99ик90133366773366773#'&&'#UQ k  L%H&&J#%H&&H% H+ D/%2]EX/>YEX/>Y999 к9013'3366773#'&&'#%3    ,9  1P+,PR,+R>;GEX / >YEX/>Y 9  01"&'7326773366773&+1 גS   I*6Gp$#K'%K% /G/F =EX/>YEX/>Yи0135#5!!F O.sNs O~& O~& OC& OT& ON& O/& OP& O~& O  ,REX / >YEX / >YEX / >Y+!+ 013'&&'#3#'#"&54677'2654&#"   ˰˜'(3?;S"?3J<<1m44mt6-) R( . -67 OT& g(]EX/ >YEX / >Y+  к! 9!/  к& 901"&54>7#'##332673'&&'#1D ('(˰"  #;   1/)"t  J-<<1m44m O& Ov& O&A O&C O&E O&G OC&& O&I O&K O&M O&O OP&&SwEX/ >YEX/>Y9/9 к9/ 013#!#3#3!5#T svvv-d]1]q|||S~&M[S/&M[ 4$-cEX/ >YEX/>Yܹ ܹ%% 9"и#и,0135#5732#'32654&##3#532654&##TKK3V@$59FH'C\5RF<98=Fjj96133:E%<,*KNE3K1l333-YEX/>Y$и013&&54>32#732>54.'&"74: ChI'Gb; (. 5"#*^TD3V=#VR(w3R=6M2\~&\~&\C&\T&\N&\/&\P&\d&^-#_EX / >YEX / >Y+   9/  01"&54>7!!!3#!#32671D%  #;1/)!|{|! J\ &\v&\T&\D&AF&C\@&E\&G\ C&&\&S,#~&,#C&,#P&,#d&,#&,#T&,#/&,#T&,`27WEX!/! >YEX/>Y2++! !9/01&&#"32675#53#".54>32&&54>32&&#"Q2' 6(MN" _!l??mQ./Qn?%4!' E[6N1eo px0+T}RRW. 1$m!@C& @N& @ & & !`@& UoEX/ >YEX/>Y+ии ии и к9/0157533533####35#===E^]]]KSSJ~& J~& JC& JT& JN& J/& Jd& JT& J!WEX/ >YEX / >Y+   и и 01"&54>7#53#5!#3#326731C Ę*# ";1/(!|||l|1 JJv& J & JP& ;C& DR& D R& DER& \ ~& k &  k & #k  & #+  /& &#kE & #  +EX/ >YEX / >Y 017'737!!5+2r1"KX@JdX~|k=& :~&:d&: &B~& B~& BT& BT& B&Bd& B &BE&&2~&&2~&&2C&&2T&&2N&&2/&&2y&&2P&&2T&&2&2KEX/ >YEX/>Y +и'-01"&54>7.54>3232672654&#"B1C  ;X:&Ea::aE&`P(! #;33<<33<<1/$ :ZvBP}U--V}O#5 JSipfjjfpi& 2&&2v&&2&A&2&C&2&E&2&G& 2C&&&S?+KEX / >YEX/>Y ܸ & &9 01".54>326654&'7'2654&#",:aE&&Ea:?4 m s'+&Ea:3<<33<< ,VTR}U+ '$# ,4r+XTV,ljfjjfjl&S~&&S~&&Sv&&ST&& S?&&2&SD"+EX / >YEX/>Y 999) 9) 9 )9 9  #* 901"''7&&54>3277&#"2654&',T?6PE&Ea:U>5PD&Ea(3YEX/>Y  к 9/01!".54>3!#3#3%3#":bH(*Je;"yy(((Q|TTzO&{{|w/N;;Q1FH~&FHT&FHd&FH&F H&F H/&&FEH&2'~&2'C&2'T&2'&!2'&2'd&2 '&@D&_EX/ >YEX/>Y 9  и/ 901"&'732654&''7&&#"#4>322O"eRx&YA&B19T&9&!9& 9&E9&9SEX/ >YEX/>Y 9 /и  и015735#5!#3##]^'ÅE||K@~&@~&@C&@T&@N&@/&@P&@~&@y&@T&@'IEX / >YEX/>Y!+ и01"&54>7&&53326533267B1Cgh,./.% #;1/'x`;>>;o;  J@&=@&6@&?@&9@ &@v&@B ?EX/ >YEX/>Y иܸ01"&5332653>54&'7.xv,//-F m A;s `;>>;" ,3>A @~&@~&@v&@T&@ B& I&T~&T~&TC&TN&H~&H~&HC&HN&Hd& H&Hv&HT&8#~&8#T&8#d&8#C&8 #& 8E#& 4!YEX/ >YEX/>Y 9 /и и013#5732#'32>54.##3#FFFFtR--PqC)&?--?&ll*E&OzTT|Q(w1P;:N0KI69EX/ >YEX/>Y++013332##53254&##I[5]E()F\4[Rw<;Rc1P;:S6{h3)20&MEX/ >YEX/>Y"9"/ 01".547!&&#"'6632'2>7#/8\D%g?7#6D"\?:`E%&D^9#% -V}OWNe )-W}PP~W.":*+9#A,!WEX/ >YEX/>Yи/и/901"&'732>54&#"#36632i0  0+7F,+K7X -Q?p^&$1>#'$O[JJ7EX/ >YEX/>Y +0133"&'732653Jy"+  *Gt m&*~)I6 &AOEX/ >YEX/>Y +ии01333"&5463233&i )) ((6i|)) ** )|/JW~&'i=/&=/&=&=&=&=&=&=&=n)8DUEX/>YEX/>Y "+9*+ +901".54>7&&#"'6632#'#'2675"&54677'2654&#"&<*$O|X33$I*43u@hxx &Z!:7H*%QBB;M*)BB )6 *?,"&`&nr8'rR=++{J# 5!+=7=&=.1=sEX!/!>YEX / >Y++ и/! 9/!%и%/ 2601"&54>7'##".54>7&&#"'6632326726751D &Z0&<*$O|X33$I*43u@hx92!?!:7H*%12':')6 *?,"&`&nr3AIR= &=&=U)&@')&B=>2&D=F&F= &&=t&H=t&J=y&L=E&N= &&Q-9@EX/>YEX/>Y494/ 9к9/."и(к+9 :и=01"&5467&&#"'66326632#327#"&'7267&55"3&&YEX/>Y  ܹܺ9и/и  к9 %'(01"&'###57533#36632'2654#"R#E sBBI#.K3$`B#x@H|.HE)& C#& *C#/&*C#&*C#&*C#&*"z6$)EX / >YEX/>YEX/>Y'%+ 9и/ 9  01".54>323'53#'#72675&&#"3*D1 4C$#2o > "2*# $C`==`C$MC3%xCGJDb/ &/E&/& /R+{EX/>YEX/>Yܹ ܸиии/ 9 # &01".54>323'5#53533#'#52675&#"0M7$YEX / >Y++ 9/ 1401"&5467#".54>32!3267327"3&3B# :eJ*+H]29X; L="=!1&2  ?},; 12#8#Ba>=aC#$@W3% 62Y&Bo./]7#&  7 #&  7#&  7#&  7M)& @ #)& B 762& D 7#F& F 7 #& &  7#n& R 4-</&"4-<&"4-<&"4-<&"4-<&"4-<&"4-<&"4-<&"&#f<&#f<H &#HE&#"&# gH&#YEX/>YEX/>Yܹ ии ܸи013#57533#36632#4&#"HBB P9TM )-)FHGL+`-l^ 2.O/&T-O/&T-O&T-O&T-O&T-O&T-O&T-O&K-O&T-O &T&--O&T-O/EX/>YEX/>Y01!#5!Z}s*<&-LI&&L I&&LEI&&LI SEX/>YEX/>Y9к9к 90133773#'L˟JH{2 &'<2 6&' 2 &'C2  &'C2  k&'&<C2E &'C2 9EX / >YEX/>Y 01"&55'75#5!73267^_U2/z2 %!""& o_U1[KtD\^ l &'#>2&(#>&(# >&(H/&)H/&)H&)H&)H&)H&)H &)HE&)%_EX/>YEX/>Y +и/9 и013336632#4&#"'67#"&54632x G2JE!'i )36*9YEX/>Y"+и)/01"&54>7.54>3232672654&#"@0B  -Q=#*F[21\F*.?'&$  @4333333312$ (B[8>aB##Ba>2L<,5 AJNCALLACN/ )&*/)&*/A)&*@))&*B/*2&*D/)F&*F/ )&*&/)&*/)n&*R/Q ,KEX / >YEX/>Y ܸ ' '9!01".54>326654&'7'2654&#",1[G**G[162%l B4#+*G[13333333 #Ba>>aB# -," 07=M!`?>aB#wLAALLAAL/Q/&/Q/&/Q&/Q&/ Q&/) "*EX/>YEX/>Y999(9(9(99 #)901"&''7&&54>3277&#"2654',%F-9. *G[1K=.9/ *G[!33f33 6.7!W6>aB#&7/8 X6>aB# QQA /)/& Q 4;mEX/>YEX / >Yк$ 9$/(и /и5и$80172654&#"".54>326632#3267#"&'"3&& &B22D&'<C#&:'5!"3G$K>%wkLAAMMAALw#Ba>>aB#*11*&AW1" 41 _'/0&.55.t$/&-1S$&-t$&-1t$&-1b $&-b $&-&10E$&-5/&. 5&. 5&. 5&. 5&.5&. 5 &.=;9UEX$/$>YEX/>Y$ 9и/.$901"&'732654.54>54&#"#4>32*?"1*")")&8V90H.")",A d ".!,(+#<3.P;!/= $1'!%3$"<,RIJEX/>YEX / >YEX/>Y 013#5754>32&#"Ճ6T:+K 170-}m +J7  l*-1&6&/ 1&&/ K1&&/D1 &&/D1E&&/D1&i&/1&!iEX/>YEX/>Y9/ии и и017575#57733#3#3267#".552|}yҾ27/!O2;R3FXmsXL 9/ j  9P1 > /&0> /&0> &0> &0> &0> &0> &0> &0> &0> &0>$(iEX/>YEX / >Y"+ и/  9  и01"&54>7'##"&533267332671D !P6UL*+:1!?12'J&-l^22.!F3A> 9&0<> r&05> i&0>> r&08>  &0> &0>n#cEX/>YEX/>Y  к 9   ܸ ܸи/01"&5332673>54&'7#'#UL*+! m 7*x !P l^22.!F#" /77D7G&->n/&>n/&>n&>n&> n& 9&1T/&2T/&2T&2T&2>;/&4>;/&4>;&4>;&4>;&4H&4>;&4>;&4F/&5F&5F&5F&5F &5 FE&5 /&#4MEX/>YEX/>Y -+ 9$ *01".54>32&&''7&'77'26544'&&#"'3ZC($>O,$C/#(w*2@&H"(o@M"B_73>8 6? , ">Y76T:-IKD<Y)ED8YEX/>YEX/>YEX/>Y99!#$01336632#"&'#2>54&#"HF&.J3%U#,0.-.uM$B]9@cE$Q$$7&CC.HE"fEX/>YEX/>YEX/>Y9и/01"&'732654&#"#336632q)   )-x  S8TN(A m'*2.B .l^)J7 *<5EX / >YEX/>Y  01"&'73265#5!.K +15'Z5Yi 36es.-R>%A<#!-`EX/>YEX/>YEX/>Y +и"и (0133"&54632"&'732653"&54632MI&00&&00)  )D5&00&&009+##++##+l&*)H6 +##++##+z3aEX/>YEX/>Y+  и$и&и -01"&5#533267"&54632"&5#533267ST\   !& (( ))ST\   % o_sl 5) ** )o_sl B<u/`/EX/>YEX/>YEX/>Y иܸи0133"&'732653'7'7M)  )DHdHdl&*)H6 HbHbH")qEX / >YEX/>Y и/ 9 9/ &)01"&53366323267>54&#"(hxx &Z0%=*$O|X33$I*43u7H*% !: nr8')6*?-"&a&H)"uEX / >YEX/>Y 9и/ и/ 9   01"&'##336632'2654#"Q"F sx N+.J3$YEX/>YEX/>Y9и/ 9%*-.01"&'##4>32&&#"36632'2654#"S#F s3R;$:!+*G$.I3$;LK(8Z-- !!6+M;"l(.L#?[7>aB#xAI}45EX/>YEX/>Y01"&'732654.#"'66325i+<=%AQ$0 9 D h?7cK-,Kg #&]LA 4%[&#Ba>>aB#C- 0}EX/>YEX-/->Y-9/-9- ܸ% %-9"%-9/-%901%2654#"'67&&54>32&#"6632#"'p')13!r!!$/Nh9=] @2@!7)0a*EN2H.G:d!! 1A5!X8>aB#%X+&7"%-.E= 8*//Vm%2EX/>YEX/>YEX / >YEX/>Y 9 9 &)*-01".57##".54>323'5332672675&&#"*=(B#/L6$;K(*8 $),%82*7? $C`==`C$MS%"lCGJD/l%2EX/>YEX / >YEX/>Y 9!и!/" 9&")* -01".54>323'54>32&&#"#'#72675&&#"/K6#;K'':)B/  x H),$71 $C`==`C$M!:+l#%3$xCGJD6!"MEX/>YEX/>Y9/ 01"3&&"&'73267!&&54>32X 9:2h*0!="=L !>[91ZE(+Jd]/.hX26 %3W@$$C`=>`C#/#yEX / >YEX/>Y 9 и/и/ 9  01".54>32373#'#72675&&#"/M7$;N*&C sx K*));2 $C`==`C$!33$xDFJDm<7""QEX/>YEX/>Y 9 /  !01".5467!&&#"'6632'267##:X<S F9"=!0+g29`G(*G\7-: %AW3% 60X#Ca==aC#p/1`o,6EX/>YEX/>Y+99 9%9-394901".'7&&#"'663273267#".''26544'2I1 +-1&R&EaKC "!$6M0 ) ( $>S0y"]:6$8(F $8\B%n63 H)F",WEX/>YEX/>Y9/9&01".54675&&54>32&&#"33#"3267=5ZB&=6//$@Y57i,5 H&91eCR84>E+I:/j ':'35 ;%5"],c]%0/"/WEX / >YEX/>Y" 9"/##"9 *01".54>32'2654&##532654&#"<9bI)-J`3+M:"(/39#=U,$-,# ##9FD AaABbA #6%":  :2&9'pcGNRA*<.SEX/>YEX/>Y +и 01"&'732655#575#5!3#.K +15'Z5Yi 36FvsL-R>%1>n/<EX/>YEX/>Y)#+9 990 34701"&'732677##".54>323'4>32&#"2675&&#" *f,1#I82A"/K6$B/<!0EX/>YEX/>Y9/ 99и/" %&)01"&'732677##".54>323732675&&#"*j,1#M79H#/M7#;N+N9 sh+*$6d/#?$AY69]A$?3 eoG!0>B@&CEX / >YEX/>Y#!+ 01".54>32.#"3275#53Q7cK,/Md5"7.&B1'H9$\ j @`B?bC# X  %9'ELSb&-9)_EX / >YEX/>Y 9 к#9#9#901"&54>73366773'2654&'#/IW R    R WJPB"#' 4##4 h($"BP\) *9#/]EX/>YEX/>Y 9и и$*901"&5467&&#"'66326632&#"'2654&',Zn6/)*>)R%%R)>*(/6nZ"""" ]Y-[*k %**% k*[-Y]w$88$YEX/>YEX/>Y 9 0157#"&5332673}S8TM )-_-l^22.KXH"fEX/>YEX/>YEX/>Y 9и!0134>32&&#"36632#4&#"H3R;$:!++ P9TM )-+M;"l(.]-l^2-HE0uEX/>YEX(/(>YEX/>YEX/>Y($(9$ 01"&'732654&#"#4>32&&#"36632i *   )-3R;$9!++ P9TM)E m'*2-+M;"l(.]-l^)J7 HO.&M-O  AEX/>YEX/>Yи 01353#5!#3Os sss&O-H  \EX/>YEX / >YEX/>Y999 01##73753yϿFG}X2 &'+w) %1cEX / >YEX!/!>Y !9/и&и-ܹ  !01".546325#5!3#3267#"&55'354.#");&;.$/ %!""&^_ (,8ztLU l o_OL 2E 9EX/>YEX/>Y 01"&5#5!327^_/ !-!""&o_6tPl )<W$sEX/>YEX/>YEX/>YEX/>Y 9 / 01"&'732654&#"'7##3!qHd#B=&,85+1ԓ+A+%?T/"[73-0GN"3A$7U:y+EX/>YEX/>Y0133!y s5"{EX/>YEX / >Yии ии/ 9  9  и!01#'##"&'#"&533267332675o 2+ - 5+69  s =+)("/UK\O-OH5#EX/>YEX / >YEX/>Yи!к!9 к !9  и 0157##"&'#"&533267332673 -) - 5*4;  s a,)("/UK\O-OX#E>/EX!/!>YEX/>YEX/>Y! к$!9$к!9!и/!'01"&'732654&#"#4#"#3366326632$   s o 1, - 6*4;#:m ZR->+)("/UK$@/E!fEX/>YEX/>YEX/>Y и / 9 01"&'73265336632#4&#">$x  O4TL #*'@l!%B .l^7)'E5HEt!jEX/>YEX/>YEX/>Y 9 и/01".54&#"#336632327&0@' #*x  O5SL %5E'7)B .l^%!lJIEX/>YEX/>Y9 и к901333&&553#'&&'#J    <.[&<.[&/)MEX / >YEX/>Y  9/01".54>32"3&&27#,2[F**F[22[F**F[2-7 7-_ !Ba@@aB!!Ba@@aB!1//1jjQ(uEX / >YEX/>Y и/и/9/ !01".54>323#3#3#'27&&#"*P>&&>P*,"힀/ !3 @bBBbA tMcXtsBM)8!G? 'wEX/>YEX/>YEX/>YEX/>Y и ии&0174&'665.54>753.&&.$.&&.*N:##:N*|*N:##:N*DI"IDDII$@];;\A$$A\;;]@$4KEX/>YEX/>Yи/901#'##"&'73267x %hYEX/>Y 9 и/01"&'732673#'#!)%.Y x %h |6CCl<<4E2"^EX/>YEX / >YEX/>Y 9 01".55##"&'732>733267.>%X0*'%!   ./?#m65 | *)!k tE$ YEX / >YEX/>Y и/ 9 01".5336632&&#"3267I;Q3x %hYEX/>Y0134>32.#"tAeF6R2)5\C' {$<,J6UEX/>YEX/>Y 9 /  9 и01332#'#32654##J+J8 8*mGV('OV&?.:H$<"UEX / >YEX/>Y к 9/ 901#".5467'335#"33+K7 8*mGV('OV&?.:H$<5E;hEX/>YEX///>YEX/>Y//9%/9501"&55732654.'&&54>32&&#"#"'3267XI?.d6)& 0$eX ;T5Cm'B&R*#"4?9L, =[<99  )j^3\  K:":(+X &0":+ i+<15EX/>YEX/>Y01"&'732654>32&&#"2@*%&.N9.<%"+",If *-+K8! i *- +K8!+<1'F/EX/>Y + и !01"&'732655#5754>32&&#"3#2@*%&.N9.<%"+",If *-E+K8! i *-K+K8!2h'IEX/>YEX / >Yи  и  ܸ0123#5#5354&#"'66;R3}y27/!O 9P1ms9/ j 1E&QEX / >YEX/>Y   ܸ  ии01".5#57733#3267;R3}y260!Q 9P1^ms9/ k X oEX/>YEX / >Y  9 /и ииии и/01%2675#"&55#57533533##'#'PIRRVVx  Jqb;6(}k]NEKE&+'1'QEX / >YEX/>Y   и  ии 01".54675#5332654&'53#,<\@!.W! '42!W.!@\ %)EEX/>YEX/>Yи/ 01"&5332654&#"'6632*l2-02  %A. @` xw @:[Q<7m3N6GsR-9 3EX / >YEX / >Yк 901#'&&'##~N    N&L''L&T!]EX/>YEX/>Yик9 99901#'&&'##'&&'##336677Q k  L%H&&J#%H&&H% H+ D/9KEX/>YEX/>Y 9013>32&#"#'&&'#)5E.$). גS   I .H1p(-#K'%K%!97EX/>YEX/>Y9 01353366773Û64–Zk#?&&?#kFEz\EX / >YEX/>YEX/>Yи   и01".55!5#5!!327-0@'$1>! O.sNt%!lFM%[EX/>YEX/>Yй и /и и /"ܹ01'67#5#5!6632##72654#"gJ *F,1:,B. W q4/O.sOEL765(9 $4<$QEX/>YEX/>Y 9/и01".'732654&#"'7#5!2(C8/CG-6DA7 0.K5)E["\&95.4GsN3D'8V;<j @EX4/4>YEX./.>YEX6/6>YEX / >YEX$/$>Y!$.9!1.$91. 6 9/9и680172675&#""&'732654&#"'7##'##".54>323'53!" .C9 #'$ .nzY %4!9()8!+sk=D/Cl!EFGF^29/.Q,8%C`<;`D%[O kO0Q<"N#3gEX / >YEX/>Y  и/9$'9/01".55#57733632&&#"'2654.55#KEa=DJz!)(I1#'%+%=c:B2&.&A? 4J-m O # )7&%;)m%0!4)<8EX)/)>YEX/>YEX/>YEX/>Y и!ܸ#и)001"&'73265#327#".55#5773354>32&&#"r)  3$-?(DKz*F3" )Al&*~*% k 2G+m&F5 l&*)H6 2/EX/>YEX/>Y 013>54&#"'66321D(A8*FI$oN3[E).@(9.*)02)]'95O5)A85E#/EX / >YEX/>Y 013.54>32&&#"(A.)E\3Mo%IF*8A)C258A)5O59'])20)*.2 IEX/>YEX/>Y+ и0135#5736654&#"'66323#͗L]QL=4-II&sP1YC'!+E0\*02)\(84O54/+K9# IEX/>YEX/>Y+и0135#573.54>32&&#"3#L8+!'CX2Qr&II-4=LQE+/45O48(\)20*\0KCH]EX / >YEX/>Y+ܹ и ии01#575#5733#3#㠠YEX/>Y ( 9(.01".54>32'2>54.#"7"&54632,7]C&&C]77]D&&D]7+!!++  +**** -[\[Z,,Z[\[-w9^GE\99\EG^9( ++ (BJ"SEX/ >YEX/>Y+ к9901"&'73265#'##33&&553z (   88%<m'E6|:4:)I6 ///&//&/&/&/&/&/&/&/n#2>fEX/>YEX/>YEX/>Y3$+ + 9901".54>32373#'#72675&&#""&54677'2654&#"/M7$;N*&C sx K*));2YEX / >Y$+ и/ 9 9и/и + ./201"&54>7'##".54>3237332672675&&#"-? K$/M7$;N*&C s3' ;*));212(6$$C`==`C$!34 AODFJD/</</& /<& /<& /<& /<& /<& /<& /<& Q4&>Q4 =EX/>YEX/>Y01353#5!3Q/s ssQ4/&>Q4/&>Q4&>Q4&>Q4&>Q4&>Q4&>Q4&LQ4&>Q 4&>&Q4&>Q4&NOEEX / >YEX / >Y+   и/01"&54>7##5!3267_1D*Z3)   ?12' }s3AQ4SEX / >YEX/>Y+  и01"&5467#53#5!3#3267N0D4۱/3'  @12.?s ss3AO. OEX/>YEX / >Y  9 /и и017575#5!3##5sZEvsKQ4]EX/>YEX/>Y 9 /и и 017575#5!3#3!535g/EZsKesse%oEX/>YEX/>Yܸ ܹ999901&&'#".54632#5!%267&#"  P6*B/VP,*Z5 $),. (6YEX/>Y01353#5!3Q/stsQ4&P<QP6&P Q4&PQ 4&PQ 4k&P&<QE4&PQA0EX/>Y +и013535'75#5!73QT2/z2s1[KtE\^s&Pi oEX/>YEX / >Y++ии и и ии и01#53#533353#533"&54632`\NP\^&&&&stssts.''''Q4&P+wQ4'TEX/>Y ++"+иии01".546325#5!3#3!535'354.#"(9%;- / &*8 |tGssG   OJ2l/EX/ >YEX/>Y013!!l|95EX/ >YEX/>Y 901353%3'&&'#9    Y3Y|1n44n1\8#@ &2#IEX / >YEX/>Y # 9#/!01".54>32'2654&#"'53,;`E&&E`;:aE&&Ea:3<<33<< /X~PP}U--V}OP~X/scbnnbcsJ DR I 3EX/ >YEX/>Yк 90133#&&'#ıŜNMt06e66e6:BB IEX / >YEX/>Y 9/  0135!5!%5!BpLz||{{||&2@3EX/ >YEX/>Yи013!##@ؓtK1? QEX/ >YEX/>Y к9к901357'5!!!?%YY||9HH YEX/ >YEX/>Yй ий ии014&'66%5&&5467534,,44,,4`g{{gtg{{gI?N Q??Q 0 NbU xw TT wx UFCYEX/ >YEX/>Y 9 / и  и и0135&&55336553fsQ|Qsfsnn=nns91QEX / >YEX/>Yиии &0013535.54>323#5>54.#"d!%E`<<`E%!d))w0;G)DpQ--QpD)G;0wj57?&*H33H*&?75jO WEX / >YEX / >Y+ 9/ 9  и013'&&'#3#'#' p   賰 !p^-~J<<1X99Xt[F UEX/ >YEX/>Y +9/ 013!#3#3':G^-~|{|[F( QEX/ >YEX/>Y + 9 /и0133353##'Ń^^^-~t[F MEX/ >YEX/>Y +и 01353#5!#3'YYFYYO^-~|||l|[FJN& 2'+AEX / >YEX/>Y*(+ 01".54>32'2>54.#"''b.M77M..M77M.  ^-~ .X~QT}T**T}TTV,3Q;;P00P;;Q3F p?EX/ >YEX/>Y+9 01!53366773'\(   )^-~)F&&G(P[FHN&:)-]EX / >YEX/>Y,*+иии  (013535&&54>323#5>54&#"'R)6M//L6)R  $ %  ^-~w1xT@jL**Lj@Tx1wj 77<%a__a%<77 j[F*N#4yEX / >YEX/>Y 9 и/$ик! 9!) * -01".54>32373327#"&'#'2>77&&#",I3#:K(,I  +4>30/+ #B`==bC$+8W+a]Sl %-Rx'V-*#5%HCHO.7|EX/>YEX/>YEX/>Y&9&/))&99 /5014>32#"&'2654&#"'6654&#"H6S8)M<%+*2%#7F$&N#b'8+*5),&&83W@%-D/3I.<#7P4&*)'HDII$O1EEX / >YEX/>Y 9 и/01>54.'736673!7J*'&#)0 .C2%.9 IYe5P[?no{L/e*5#,:MEX/>YEX/>Y39 39-01".54>7.54>32&&#"'2654&')2YB',; ( /G1:z9!9i*(8 &:'"A]6.:4'9A( ;T6'@3'#)0-!m "06@(5V>"w7>-=D9)F".WEX/>YEX/>Y"9"/"9(01".54675&&54>32&&#"327&#"3267J:`D&=5/.$@Y55i,6 H$91d"$,*63YEX / >YEX/>Yи &01'6654.'.54>75!#s -"&I9#&HgA=FF?iK* 6'+<&&&  6R>0_]Y)ttW``(+ )YAO`EX/>YEX/>YEX / >Y 9 и/01>54&#"#4&'336632&/ "M7+;%:|p+6(!%XR)T*63K.7!)MEX / >YEX/>Y $ 9$/01".54>32"3.2>7#,7ZA##AZ77ZA##AZ7#### -[\[Z,,Z[\[-^+K;;K+-L;;L-=9EX/>YEX/>Y01".55#5!32676H+%*-* F 6L/s'USJ.# l IJ#]EX/>YEX / >Y 9 9и/ 9 #01&&'#4&'33>7E# @IR. (H*167 &iE G9XT'?#]+N<($#%OMG"@KEX / >YEX/>Y 9 к 901''&&#"'6632## 2  2-Wh!c '%w cmN@<I'vEX/>YEX!/!>YEX/>Y! к! 9 и!к$!9013326733227#"&'##"&'@"!/ %19 >$% 6*!*4,`]Tm-0+- YEX/>Y 9и/013.'736673 )6=+''0 !0@*Fyk. "Zaa(VVBwv{F;ECpEX / >YEX / >YEX/>Y2 92/++29 "и"/ <01'6654.'.54>75&&54675!#"3267&&#"s -"*K8 (505ԍ2;''.3%%8&-;" &&   ,A/ 9/# E-1ss/)!t&  )X3%5EX / >YEX/>Y 01".54>32'2654&#",1ZE))EZ11ZE))EZ12002200 #Ba>>aB##Ba>>aB#wLAALLAAL N&QEX/>YEX/>Y ии/ и 01".54>5#'665#57!#3267*8#z bKR  & ->' 1>EYd fSnt!I@1 l HO) ZEX/>YEX/>YEX/>Y9014>32#"&'2654#"H%AY4p~$;M("FV'8\+81FgB x@cE$ 9l7EMJ?g/@'=EX / >YEX/>Y " и01".54>3!.#'2654.#"1VA%)DX/#!#&)"=T0).  )/. !A^>@`?yU96U< wB=4'?HAF2&=EX / >YEX/>Y  и01".55#57!#3267-<&J > /C)ms=r+ n >#7EX / >YEX/>Y и/01".54654&'332654&'7&;U71%/1} !:R2!C!R)=#).2-/KS-fA9w<O?t 'jEX/>YEX/>YEX/>Y и иܸи&0174&'665.54>753.&&.$.&&.*N:##:N*|*N:##:N*DI"IDDII$@];;\A$}}$A\;;]@$)CD QEX/>YEX/>Y 9и/ 9 и /01'7373'#w[ɑ~ V7 OEt)`EX / >YEX/>YEX/>Y ܸи "и"/(015.554&'3336654&'7;O2{*) nm&?S/{Q*=#,.+& FQ2hB;z?B4IEX/>YEX/>Yи(и.к2901"&54>73254.'332654.'7#"&'#P^ &%-|!)XQ":3 CB@4>m=5@]!!5(GD42316xM#**#IF'9EX/>YEX/>Y +01'6654&'.54>32&&#"s&5*RA)/Pf89\C/?R$4".>$&* ":V><]@"# [H<+ !-\H.+:UEX / >YEX/>Y )2 92/)29!и,01".554>32>54&#"2654&#"G/\H,7T9(L;$.*3&%?T0<" ,*#i&6++90 ( <_D3V@$,D/3N0=#5O4$ !()'Ki0-(8 '6 9! 1WEX*/*>YEX / >Y * 9 /*  9 017.".54&'332>7.54>32.RA )*/l:S4U#jM!:O.BeE$y-  4G-/4E'"0 3\0R@ #BP )G42]RO?tOA!-fEX/>YEX/>YEX/>Y и /и%и+015.546754>326654&#",N:#:.b%%*--?%PX#;L* '/$Ca>B5U0X3;KC_<u>bE'+U*-X-FKH>3*N>&}F">& AO>&=>&=&3%>&>>&>&B>&=>&7>>&7IDJ+iEX/>YEX/>Yи/ܺ99и/"9'01'667&&'#4&'33>7ȭ%GD" @IR. (H*167$" (V*&hD G9XT'?#]+N<($#%OMG72*0O( $NEX/>YEX / >YEX / >Y !01%2654&#"5.54>32,4224422'C1*E[21\E*0B&dOEALLAEO +?T3>aB##Ba>2S?, -U-JF%9EX/>YEX/>Y +01'6654.'.54>33&"#"r$*S@(,Kf:(Z$>NAJ.>$&*  $9P6@^?y>G/7 !-\tO 9EX/>YEX/>Y01!!3#tsaLS)K*/01'6654''7&&''7&'7 4h9< >zDh:>7(2/EX/>Y01".533267g)8"' +>&#IG?m 888+b.>j-Xi-Uj-Ws-T3PY3PVn=o7!:h:>7;G; OJ2MEX/ >YEX/>Y9/013!!32#'32654&##J[3[D(&CZ3_P<9;;O|-H68O1s*/.%J2l^ DL!VEX / >YEX/>YEX/>Yиии 01'53>7>7!3#5!3#    YO \ U\5S;+FEJ/\ܼBg%-,/\W1EX / >YEX/>Y/ 9///9  и/и и$и/+к(+9.и*013'&&#"'663235337>32&&#"####q   (! &x&  '   qB%x%B[ ,!!, .,+SEX/ >YEX/>Y9/$901"&'732654&##532654&#"'6632%B6N&S.6C=@WC?37,)A"K-q>tz*)1A(G` +2f#!.**%m'#&"b(+^Q0JO;2M3@IEX/ >YEX/>Y9 и к90133373#5467#@88:4Dt:|6@C&ERaEX / >YEX/>Y и/ 9/ 9013337>32&&#"##E:L%*0  ;˞<". #wAEX/ >YEX/>Yи/01"&'732>7>7!##G"    [W #,7  >51[Z[1tE{FRl?:@ &2@kK16:9FGEX / >YEX/>Y 9 9 01"&'7327733773( . ݜL64E_ ⾜KUH YEX/ >YEX / >Y ܹܹ и ии 014&'65&&546753`1/4/1`muumtmuumI{ B??B Z }srz XX zrs} ZF@D^ LEX/ >YEX / >YEX/>Yи0133333#5@K z\ܼ-AEX / >YEX/>Y 9/ 01!#".55332673-!:[@"9>'9[BD6t: CEX/ >YEX/>Yии 01333333OxOtD^\EX/ >YEX/>YEX/>Yии и 013333333#5~KtK~; s\ܼ9MEX/ >YEX/>Y9/013#5!32#'32654##.S?%#YEX/>Y9/и013332#'32654##3",J6 7K+ &+R 1L6;Q3u+3VtJ2CEX/ >YEX/>Y9/013332#'32654##JV7^D&(E_6SJ:A{J1L6;Q3u+3V!IEX/ >YEX/>Y 9 / 01"'73267#53&&#"'6632ZND,>M M>%;N$mA>lO-/Qk `\#JU{IC^"3*UWW~R'D&iEX / >YEX/>Y 9/и/ и/  01"&'##336632'2>54.#"I\12 [G]ee]       ~0S??Q..Q??S0QEX/ >YEX/>Yк9/901!5##&&54>3335#"I9E(D[4LL:==^L:N/t`&001\~&\N&:%YEX/ >YEX/>Yи/9/ 01"'732>54&#"##5!#6632*  +$  %&F6 )9 p!31||4R:;N/l~&^79MEX / >YEX/>Y  9/01".54>32&&#"3#3267g@oR/1Tp??d!N8#YEX/>Y/9//и/*01"&'732>7667!32###%32654##+   )E36I*|2!11$'L 3,j[0L6;R3#@GR4C[7,3UEgEX/ >YEX/>Y9/и/иии/013335332###732654&##V)E33F(V #!# 0L6;R3u(7/&8OEX/ >YEX/>Yк9/ 013#5!#6632#54&#"#Wh#%  ||Ye&"ER~&@~&FC&?D LEX/ >YEX / >YEX/>Yи013333##5? zt<JEX/>Y ++ܸи и013#53533#32#'32654&##ww%5]E(&D[5*!9:9?u``u_*E1;P1r'3+%&2!MEX / >YEX/>Y  9/01".54>32"3&&267#,:aE&&Ea::aE&&Ea:-; ;-0:: ,WSS}T++T~RSW,+JKKJNUSTToEEX/ >YEX/>Yи/90133366776632&&#"ŜO %OH y6e66e6\S#2l87EX/ >YEX/>Yܸ013!73!l 2 OEX/ >YEX/>Y 9 /и  и013#57!!3#~LLF(|KDe6EX/ >YEX/>YEX / >Yик 9/и 9и/!и'и.к2!94015#####'&&#"'663235337>32&&#"3'B%x%Bq   (! &x&  '   I6 [ ,!!, \.D,.lEX/ >YEX/>YEX/>Y9/%9-015&&'732654&##532654&#"'66323_*N&S.6C=@WC?37,)A"K-q>tz*)1A0B( +&f#!.**%m'#&"b(+^Q0JO;)A1!ED]|EX/ >YEX/>YEX/>Yк9/и/  9015###337>32&&#"3*<:L%*0  ;S ". #w\XgEX / >YEX/>Y и/ 9/ 9013#5!37>32&"#"##13 !)     ,p1|$. $|@D^`EX/ >YEX / >YEX/>Y9/и й01333533#5##@K pa\ܼ6D:!REX / >YEX/>YEX/>Y  015.54>32&&#"3267!2U@$0TrA>d!Q7$#:+\J#;Q7T 4SoGQX.3 [6N1eo YBHHWEX/ >YEX/>Yк9/ик 901757333667733##5Q_BBrFq&H''H&KDUtEX/ >YEX/>YEX / >Yк 9 9 9к9015#'&&'##336677337G  D?   :vW 33O={33{\,D\\EX / >YEX/>YEX/>Y 9/ и01!#".553326733#5~+9Z?!7;&K {9[BD6\ܼ>*AEX/ >YEX/>Y9/ 01336632#54&#">+!9\?"8>&9ZBD5J WC& OC&SM\C&20@/&&2N&&2F/&Fy&=< -eEX / >YEX/>Y   9/9!'*01"&54>76676632'2654&#"3w.StF.2?#5G/L*'G4#>W4+*.(88 oV)  809V99^C$wH?B7#UST#%WEX/>YEX/>Y$9$/ $901332#32654&##32654&##T,L9!'-/8";O,gQ*$#*R^-%',] 2% :  53&7"/t/EX/>YEX/>Y013!!tsTFZEX/>YEX/>YEX/>Y ии013#'53>77!3#5!n  uO~ 1J ׿`)B5`7# V-EX / >YEX/>Y( 9(/и(,к,9  и/ и к$(9*и%013'&&#"'6632353376632&&#"#'##5#q  -C$p$C-  qA*p*A <);ii;)<0,SEX/>YEX/>Y9/%901"&'732654&##53254&#"'6632=n<9*R#F>-.xoS1?+H)63l=6YA#%375(F_ *]c/_!"6%: 63&9'IIEX/>YEX/>Y9 и к90133366773#5467#I # &\.;&\.  I&MFaEX / >YEX/>Y и/ 9/ 9013337>32&#"#'#MO-!&, vO[)  ; AEX / >YEX/>Yи/ 01"&'73267667!##I  vo  R !)JK}7o7TX%3%]EX/>YEX/>Y9 и к9990133366773#54>7##'&&'#%; 7  6Q9  668<9!J K 9<8H IEX/>YEX/>Y 9 /и0133353#5#H/)*H3EX/>YEX/>Yи013!##Hȓ}HH)+C#2&3EX/>YEX/>Y013#5!#}ss>;4HB'3>EX / >YEX/>YEX/>YEX/>Y999 и"к%9(*+ .(4и.:и<%=0157#"&54>32'536632#"&'275&&#"32654&#"%CO)4#|,2$)6#   K z=`C$ HL $B]9@cE$ H$ CHIDEMCC%23HTI LEX/>YEX / >YEX/>Yи0133333#5HO~}`@AEX / >YEX/>Y 9/ 01!5#".55332753u'#/M9,5$0M8.)#5 CEX/>YEX/>Yии 01333333#IxI}}#T_\EX/>YEX/>YEX/>Yии и 013333333#5#FuF;q}}`3MEX/>YEX/>Y9/013#5!32#'3254##&-M9!!9M-&NN}s'@.0B)p<9&2SEX/>YEX/>Y9/и013332#'3254##3&$&B00B&$??'@.0B)p<9Q*CEX/>YEX/>Y9/013332#'3254##Qi/Q;"";Q/icVVc'@.0B)p<95IEX/>YEX/>Y 9 / 01"&'73267#53&&#"'66324m'7F#?Q K:F2?f;:gL,+Kf $V08c3*#U# AaBAaA!DiEX / >YEX/>Y 9/и/ и/  01"&'##336632'2654&#"C^ 45\BTdd^ dd``w=PP>>PP="UEX/>YEX/>Y9/9и01!5##7&&54>3335#"{Gm*8 7K+VVO'H:.?&<$7#/&  7#&  <&/hEX/>YEX/>YEX/>Yܹ &ܹ и01"&'732>54.#"##57533#36632=%  # #(BB H1.G0!YEX/>Y  9/01".54>32&&#"3#3267[YEX/>Y( 9(/и/ #01"&'73267667!32###%3254##.    'C22C'3 CJJ -GQ'@.0B)}?{?EK|<9$?_EX/>YEX/>Y9/ииии013335332##5#732654&##$O(D11D(O"!!"𳳞'@.0B)p HMF/&I/&>;&4KT  DEX/>YEX / >YEX/>Y013333##'K~} 2teEX/>YEX/>Yܸи к9/ 013#53533#32#'3254##&-N9!!9N-&OOtWWtW(@.0A)p<9/)%KEEX/>YEX/>Yи/90133366776632&&#"ֱK   EA ]%M''L&HXV|#x7EX/>YEX/>Yܸ013!73#x w / OEX/>YEX/>Y 9 / и и0135#575!#3#SSEsrKTc2EX/>YEX/>YEX / >Yик 9/и 9и/и#и*к.90015#'##5##'&&#"'6632353376632&&#"3%A*p*Aq  -C$p$C-  @> <);ii;)<`0T-lEX/>YEX/>YEX/>Y9/&9,01'&&'732654&##53254&#"'6632+S,9*R#F>-.xoS1?+H)63l=6YA#%375bO ]c/_!"6%: 63=J MTR|EX/>YEX/>YEX/>Yк9/и/  9015#'##337>32&#"33vOO-!&, _X[)  ;`SgEX / >YEX/>Y и/ 9/ 9013#5!37>32&&#"#'#3 #)  h3}s[!( EHTI`EX/>YEX / >YEX/>Y9/и й01333533#5#5#HO~V`CT#REX / >YEX/>YEX/>Y 01'.54>32&#"3267-K6/Oh9;_ D77@PM>'A;B# +@U4>aB#&['LAAL] H97EX/>YEX/>Y9 0153366773ǔP    P'F$$F' H8^EX/>YEX/>YEX/>Y 9ии01357333667733##5TM'P    PnE'F$$F'[K%TAtEX/>YEX/>YEX / >Yк 9 9 9к9015#'&&'##'33667733#9  13    ,ZaR,+RP+,P~`@TJ\EX / >YEX/>YEX/>Y 9/ и01!5#".5533267533#5h% -L7*1O}/I5('`H#V&2 '=&Q7#&  7"I&/)&*/)>;&4>; &4//&C.:MEX/>YEX/>Y 9/5901".54>7.54>7>7'2654&'%/S=#+<$(9P2+9% C"2= #/CM"?Z2(;-#4@: 9S3*C3# !%('3   ,jQ4W>"w;>+:E858Q4&>u5IUYEX/ >YEX/>YWV+P@+и/#и#/#9/9W6ܹJ01"&''26533&&554632"#.'.'#".54>32'2654&#"53   -1   --""--!!-J q&ekg([z1_@Cq&elg'[z1_@C)?,+@))@+,?)Z!,,"",,!NNJ+6AEX/ >YEX/>Y.9. и.999)и$ии'и&и47 <01".54>7&&54>326673&'6654&#"27&&'3N5&*<%JS#,=  , 3(#DF%YP%, #?1 3C& 5+$&G#>/PD3,&; J,YEX/>Y (9(/.01".54>32'2>54.#"7"&54632,7Z@##@Z77Z@##@Z7)))) ++ ++ +T|QQzS))SzQQ|T+r3S>>R11R>>S3)##))##)O{;EX/ >YEX/>Yи 01353#5>733O 3*%lwo[  w3!CEX/ >YEX!/!>Yк!9 0135>54&#"'>326633:DpP,62&?O17=%2R;!&AT.?T9cVL"/1'O& 5J.(SSS(|*-SEX/ >YEX/>Y9/&901"&'732654.#52654&#"'6632Rv%D O,4C,J8^M2,&@!J/k>4V>"@9,E/#.{ UEX/ >YEX/>Y +  ии и и01!5!533#35467#U PPӤ$e~pkO6.{$UEX/ >YEX/>Y +9и01"&'732654&#"'!!6632Ss'B I-6EA3A &,O<#)EZ 3&]%2102 *A|w0J35R9<!"2WEX / >YEX/>Y++  9#.01".54>32&&#"6632'2>54&#"=1\H,.Mb5Df M< 5)"S$*G5%?R1#4*<$ $LwTYT)-X/L8!$0J22N8n '1+"&3 >{3EX/ >YEX/>Y 013>7!5!+D2WEX/ >YEX/>Y1+91+99/ ܸ9и/&01".54>75&&54>32654&#"2654.'+7X>!!+(5 9P/0M65&,  =Z0.,#1F-7)8"#B .@'/& G3(A.-A'-F (3 &@/~+2%-$%','( 2*/52WEX)/) >YEX/>Y+)9)01267.#""&'732>7#".54>32=$#4Df!N< 5)#S#*H5%?R.1]H+.LcV"%3 '1+.X/M8!%0J21O8$LwTYT)8 +aEX / >YEX/>Y  9 9 # 9$ 901".54>32"6654.267,7Z@##@Z77Z@##@Z7')') +T|QQzS))SzQQ|T+**@V3@ )@W4O{ ?EX/ >YEX/>Yܸܸ 01353'733O`HtwBCQw8 N'3GEX / >YEX/>Y (9(/.01".54>32'2>54.#"7"&54632,7Z@##@Z77Z@##@Z7)))) ++ ++ (NrIIoK&&KoIIrN(r-I55G**G55I-u)#"**"#)OB;EX/ >YEX/>Yи 01353#5>733O 3*%lw6[  5w3N!AEX/ >YEX!/!>Yи 0135>54&#"'>326633:FpO+62&?O17=%2R;! 7L,?}T-RIB01'P% 5L.$FCA |*N/<EX/ >Y++&901"&'732654.#52654&#"'6632Rv%D O,4C,J8^M2,&@!J/k>4V>"@94&)E\Z1)]%+)# h2*!(Z&+.A*4I'3 .H1#.B </EX/ >Y+и к9015!533#35467#U PPӤ#NepwN7.B$DEX/ >Y+ +9и01"&'732654&#"'!!6632Ss'B I-6EA3A &,O<#)EZZ3&]&6652 *I{ 2L57U;<!d>B"/EX/ >Y 01>7!5!+D2Y++)9)01267.#""&'732>7#".54>32=&#4Df!N< 3(#S#*H5%?R.1]H+.Lc $*9# *64-X/N:"$4O53R8$LwT_Y+8 N)aEX / >YEX/>Y  9 9" 9# 901".54>32"654.267',7Z@##@Z77Z@##@Z7%)%) (NrIIoK&&KoIIrN( "/7J,y!-8L/OB ?EX/ >YEX/>Yܸܸ 01353'733O^Htw AQ5w8 '3GEX / >YEX/>Y ( 9(.01".54>32'2>54.#"7"&54632,7Z@##@Z77Z@##@Z7)))) ++ ++ ,WSS~T**T~SSW,r5W@@U33U@@W5)##**##)O;EX / >YEX/>Y и 01353#5>733O 3*%lw[  w3!9EX/ >YEX/>Y и 0135>54&#"'>326633:EpO,62&?O17=%2R;!&@U.?T:dWM#47'O& 8O0)TTT)|*-SEX/ >YEX/>Y9/&901"&'732654.#52654&#"'6632Rv%D O,4C,J8^M2,&@!J/k>4V>"@9YEX/>Yܹ и ик901!5!533#35467#U PPӤ%fpq N 7.$IEX/ >YEX/>Y 9 01"&'732654&#"'!!6632Ss'B I-6EA3A &,O<#)EZ 3&d*4424 +I|2K46T:<!"2QEX / >YEX/>Y  9/#+01".54>32&&#"6632'2>54&#"=1\H,.Mb5Df M< 5)#S$*G5%?R1#4*<$ %NzV[V*.X2P:!%2K43P8n )3."(6!>3EX/ >YEX/>Y 013>7!5!+D3>I*R}w@|[Dx`=#.<aEX/ >YEX/>Y797$ $797$9)/01".54>75&&54>32654&#"2654.'+7X>!!+(5 9P/`p5&,  =Z0.,#1F-7)8""B /B(0' K3*B/aQ.J )4!&B0,6'/''(.)*  6 ,152MEX)/) >YEX/>Y)9/)01267.#""&'732>7#".54>32=%#4Df!N< 5)#S#*H5%?R.1]H+.Lc^#(5  (3..X1P;!%1L43P8%NzV[W*8 +aEX / >YEX/>Y  9 9 # 9$ 901".54>32"6654.267,7Z@##@Z77Z@##@Z7&)') ,WSS~T**T~SSW,:-BY40,CZ7O ?EX/ >YEX/>Yܸܸ 01353'733O^HtwUBQwEX/>Y01"&54>32,4@++@ C2+  +2C' +01'66'#".54632%CA'A/>>jVI. &/8[Q`"'C'"'CY #HEX/>YEX / >YEX/>Yи01"&546323"&546323"&54632[*22**22*22**22*22**22 7))77))77))77))77))77))7-EX/ >YEX/>Y ܸ017'3"&546320+99++999--77--9R1EX / >YEX/>Y ܸ0173"&54632`I+99++997--99--7b)*EX/>Y +$ܸ017&>54&#"'6632"&54632'"* 0R$b<+K7 $("<+99++99!5*"  K(2)=)!1'"%+9--77--9gF);EX$/$>YEX/>Y$ܸ ܸ01".54>'33267"&546324+K7 $("'"* 0R$b6+99++99(>)!1'"%+"4*" ! J)27--99--7/ +01''3##/푑S/'|" +01"&5467632-8=WX&48 (36"TLR}(ND01*.7"  +01'67#"&54632'i )36*97 +017'7'7>>77+'|<.'|F~pF~F~pP6 +0175!PooX6 +0155!XooP6 +0175!PooX6e +01%".54>32,#<,,<##<,,32'2654&#",'C11C''C11C',77,,77S0A&&A00A&&A0K:..::..:r +017!.r(`++017!%35#R`LFzr +01753zrDZ` +01753%3'ZղY`xFT+90173DTd43+9999017377'yC4yYZzR+901%5!*dRDZ0 +01%5!'7#*Y0x|T +01%%5%3DTY4)+99901%%5%3'5yF4\yZk++017!'2>54.#"<6''6 5''5k6 &44&&44&XJ +0155!X<\ +015!<nn<++015!5!< ^^^^>IEX/ >Y015!>ISSc +01"&'732>7,yg&1lmj//jml1&g=?C& &C?=M +01&&5467bqqbRYQ)@-W䎎WAWv;i`Y+~M +01'>54&'7R-@)QYRbqqA+Y`i;vWAW䎎h++01!#3(\N@Nhh++0153#5!h(NNjh7+ +67++* 901"&54>54.'5>54.54633#"33`Z 5((5 Z`M)( .66. ()=Q*''  V  ('+Q=N(N-93  39.L)Nih7+)*+++*)901532>54&54675&&54654.##532#i)' .66. ')M`Z 5))5 Z`N)L.93  39-N(N=Q+'(  V  ''*Q=J`EX/>Y013JI{fm +013J`EX/>Y013{Ifm +0133낂H0H@[6//9и и 017'7'7737'@a N a@t[,DG++GD,Y %+ܸи 015'37' v Pv vYG ++  ܸ  ииии0175'75'37'7' v P v ~~ v v ~~ v G3A?+ +@9"@999,9 901"&'732654.5467&&54632&&#"654.'7j"T3<';E;',&]U:\ D86(=G=(+) 0H 3>$ 2=%T)+K3-@/&C(DU)\' -@--@&":*!&!0 )EX / >YEX/ >Y 01%".54>333 1WB&&AV1*4;W9?U59$x&t?'wD%?K_EX/ >YEX/>Y ܸܸ&и.и5и@и F017&>54&#"'6632"&54632&>54&#"'6632"&54632N # AJ'7($)4+99++99 #  AJ'7($)4+99++99/G;7 T#25J>>)9--77--9 /G;7 T#25J>>)9--77--9<D%+7SEX(/( >YEX,/,>Y2ܸ&ܸи(и/,и2 01%&>54&#"'6632"&54632'3"&54632f #  AJ'7($)4+99++990+99++99/G;7 T#25J>>)9--77--9 9--77--9%+7J(/EX/>Y ܸܸ(и/&и,и 2017&>54&#"'6632"&54632'3"&54632N # AJ'7($)4+99++990+99++99/G;7 T#25J>>)9--77--9 9--77--9@ ,EEX/ >YEX!/!>Y'ܸܸ ܺ9017''3>54&#"'6632"&54632 v  ;-&<Q(v<1S<"(.&8(44('44\\(  (+K.1+=')<.#6*)77)*6\F ,IEX!/!>YEX/>Y!'ܸܸ ܺ901%#753267#".54>'2#"&546q v  ;-&<Q(v<1S<"(.&8(44('44\\(  (+K.1+=')<.# 6*)77)*6 +013!#(Nh +01!#5! (qNAz{ +0133pMNhz{ +01533hpNh ++01!#3%3#\11\N@NNhh ++0153#5!'3#h\11NNN +01!#'Nh +01#5! (\NVh +0133pNhh +01533hpN`RE'EUEX / >YEX/>Y (и2й9(?01".54>32'2>54.#"7".54>32&&#"3267,9fM--Mf99fM--Mf91P99P11P99P=&?.0?"'57 %'&!/7 .W{NNzU--UzNN{W.='Hd>=dG&&Gd=>dH'K3I-,G2= =-3< DE'6>YEX / >YEX/>Y84+ *и6и*=01".54>32'2>54.#"'32##53254&##,9fM--Mf99fM--Mf91P99P11P99PJ 8**8< .W{NNzU--UzNN{W.='Hd>=dG&&Gd=>dH'Wm2$%6$[@e7'5>=+ +73+*и30и5и201".54>32'2>54.#"'532#'#532654&##+)H66H))H66H)5''5 4''41Y#.*<76J,,J66J,,J61(8##8((8##8(8 "M<32#'##".54>754.#"32672675SYEX/>Y7+и/ 9; 9;  &0:01".54>32#'##".54>754.#"32672675S7P4N <)/"#A\9/#H:%$;L)-;**T#F9*TW\T("dH?^>I[ #"F[EX / >YEX/ >YEX/>YEX/>Y+  +01!7##7#537#53733733#3#7#7hUKW P\TiTOZT_2 h^n^^n^nnT>/EX/>Y9ܸи и01'7'7737'@R N R@e,8H H8,~|6 +0175!|`oo|6|6@ 8g +#+#9 #9иܸ и и#&ܸ#'и.и/017"4&'26'7&&'77.54>337&&'!$$&`W'L@2<09Q2 X"7I>1+ $T h (6%%@/l 2x2x 2l 2x 2l2l 2x2l 2l 2X2}X2ol2v2: ++01".54>32'2654&#",&?..?&%@..@%))))6M11L55L11M6R8FE66EF8F+ + 01535#5>733ym%UiZC ZF+ +01'6654&#"'6323Yf# -$==bEUD89B\$!08QE?0S1Z:*+++ +# 901"&'732654춮&#"'6632*7XA.&16*/!&= H24(#&+-:''3>7# ( * 1#, F-//+и и 015#53533#PLJOk\_::V6'ddGV:"!++ +01"&'732654&#"'7!#6632*7WA-&. - 2&+;''3" [7!/2$:)++ + 9$01".54>32&&#"6632'2654#":*B-1H./:*#//1=G'7$"=#(6K./M8D 71B92%R6 *#F/+01>7#5!):#- -LEF'[:,NNS1:*85++3+%+393901".54675&&54>32'6654&#"2654.',$;*,%#!(5@SE()*;"" !("3*'8393%)    : *+ +!+! 901%267&&#""&'73267#"&54>32&#(" /<*%/.1=G(6 *A-1G *#D 71B93%6L./L8& +01.54>7J* *O0((0#@CJ--JC@#(?tBAu?}& +01'6654&'7P0((0P) )(?uABt?(#@CJ--JC@=l +01"&54632,%%%%$%%$v +ܹ01'66'#"&54632&(''#%A7 #"109QD(EX/>Y +01".54>32'2654&#", 6((6 6((6  ,>''>++>''>,O'33%%33'8 EX/>Y+01!5#5>73Q S@ D,EX/>Y +0135>54&#"'663235'>@)Y ++# 901"&'732654춮&#"'6632-F#)-#& "*D)+ #$1 B 7  > !! &%D:/EX/>Y+и и 01!5#573533#A`LMA^33=3XXB=8 DEX/>Y+ + 901"&'732654&#"'73#6632."D#)++Յ 2;$1 B X#3.(D&FEX/>Y+"+9$01"&54>32&&#"6632'2654#"8HN)=) 6* &"'.6!. & ]J"=.= ."0.)O8&EX/>Y+ 013>7#5!  # "854W8 ;Y%++(+9.%901"&54675&&54>32'654&#"2654&',Y++ 9 01%267&&#""&'73267#"&54>32'  #!6) &!!.-6!.#8'*= !< -!//),>%!=/ +01&&5467B3993O)**)Y8wPOw800g78g0 +01'6654&'7O)**)O399Y00g87g008wOPwlz +01"&54632,%%%% $&&$}vz(EX/>Yܹ 01'66'#"&54632&(''#%A8 ##209P+{77o77{7+{77{7+o7+{77o7+{7+{777.l7v7oo9o(o#WEX/>YEX/ >Y+ 901"&5467&&#"'6632#'#'26753;dq2%#Q*DNS9"?2o;)3?DIM$N 8oKFEX / >Y+9  901"'##36632'2654#"O0) Qh/?G(35#8 o+#u2\L*C-T*2U o(EX / >Y+ 01".54>32&&#"3267[&@03C%"50  '//$ )@o-?))@-@ 0*)0@oK!FEX/>Y+ 9901"&54>32'53#'#72675&&#" @L(3%gT0 $o[Q(A-1t, T  ).0*p#CEX / >YEX / >Y+  01".54>32#3267"3&&@'C1/>"';'5%("F'*"p,@)'?-*:!" >  wR/// ++и015#5754>32&&#"3#JJ%9'3#M^/EX/>Y?++-E+3$+E-9$39901%".5475&&54675&&54>323##"'3322654&#"2654&##"&' 8(4'4A&2Y90136632#54&#"h5$92hwu=I>˾wk ++015#53"&54632&}7&&''wQv"$$"k!++ +017"&'732655#53"&546320 "~$<8&&'' I  #Q7)"$$"wK /013373#'hqr|pQ-w~~-QoK ++01"&5#533267zDYEX / >Y 9 9013366326632#54&#"#54&#"0T."",1#73hhwJ+"J=˾ܾw(/EX/>Y901336632#54&#"U5%83hwJ+I>˾o(EX / >Y+ 01".54>32'2654&#",!Y+99017336632#"&'72654#"U3?F(3'4#8 !\L*C-3_*2U !J/EX / >Y+9  901%57#"&54>32373'2675&&#"]-@L(3*Q $c0[Q(A-">  ).0*w,/ /EX/>Y901336632&&#"V@#5wJI)(W#,o)(EX/>Y+01"&'732654&'.54632&&#",*S/50'!PF+D/,-)!Ro?  /:=    .>o"// /+ +  и01".55#57733#327m(8"EJ W #3o'5!oMaaQn% J o)/ / +  901"&553326753#'#92hhU5oH= .tw / /+013366773yh0  0cuwJ33&w;// /+иии01337733773#''#xRf&S(_OxwIddddZZ|w/+9 ик9017'3366773#'&&'#|oholioo"  w4444 //+017"&'7326773366773  h/  (ct $.M@./ 0w ++0157#5!3#w7Q7Qp 'CEX$/$ >YEX/>Y+$!01'7".54>32#3267"3&&:}Fl/'C1/>"';'5%("F'*"nDT,@)'?-*:!" >  p 'CEX$/$ >YEX/>Y+$!01'7".54>32#3267"3&&04kGn'C1/>"';'5%("F'*"2D,@)'?-*:!" >  p#2EX/>Y+  + 01".54673&&#"'6632'267#'(;(.#)"F $@/.=%&%p+;!" >,A)'@-N!!%//+01%"&54673366773'2654&'#/1:hh*  )ce91  5-,  "" --5@  wM +015.54>32&&#"*/="3H3+ +3?w#',"3#"A!7$o J /EX/>Y+ 9901"&54>32373#'#72675&&#" ?L(42& PT2 $!o[Q(A,)! T  ).0*!.J/EX/>Y+"+ "9))901%"&'732677#".54>32373'2675&&#"H#2$",3%)4,S[B $"C &+<#%>+@D p )(')wk )  +++ 01"&54632535#533K&&''tfj"$$"QQQol'2@ +0153بHH= +015! AA>= +015!>AA$?4S*+ %+017'7&5467'76327'#"'72654&#"mIQ"PIY0642YIQ"RIZ47.e$22$$22?JR.A 7RJZZJR-@!7RJ[ N5--55--5@ ,K+*+*9ܸк*9*'и*(017732654.546753&&#"#5&&@@0U0$&+ALA+XLb4MI#?)E+AKA+VTb1hsd!*>.AV + T.+>-?])C&*WEX/ >YEX*/*>Y +*)и и!01356654'#57&&54>32&&#"3#!C4BpT "Y#O,07#[O6 V(/L5*'P.0$[ $4|9{cEX / >YEX/>Y9йиܸйии 0135#535#5333667733#3#⩩==F7F%!B !B F7F-G1mEX/ >YEX/>Y%+%(и%и ии+01".'#575447#576632&&#"3!3#3267}3YG2 ?67Ak3_%Q4 3AC2#6Q)d :V9DEox(&O<8J  J9<L-/` $W#++и/и/#ܸ#и/и/0155.54>753&'667%#$$H1O8 :N/Q'?C$;D"3-A@w_(AX65V?)a]Z ]_.&+BEX/ >Y+$%+% и$и01"&'7>77#5737>32&&#"3#!2 WK2I4  &'s-G` l 6+e+7N2n+#7k-N:!O3 3yEX/ >YEX///>Y//3ܸ-иܺ -9 -9к$-9%-901"&7&&54677327&&'667'7&&'o 13")%&KXm 2  3 7(Q 0)Q%X5 3  c a8]ds!vh\fl*O kL(.c\jC&1uEX/ >YEX/>Y +0иܸ ܸ#и $и)и*0135667#573&&'#57&54>32&&#"3#3#!C.>pOZC"Y#O,07#[A-D  E /L5*'P.0J  J*|<{#'+EX/ >YEX/>Y +9 ܸк9  ܸ!иииии )и%ии (и$иии013'3'#5#575#57533533#3##'#'##'# "* #FFFFTPjEEEETP=`1 zz`|626<2<%2222K{!cEX/ >YEX/>Yܹ!ии и! и!ܹ013#575323###3&&#3267#eQQ,O?*CB+?P+, 6,"",6 |U'?-[+>)H&"&#P{ !'EX/ >YEX / >Y 9& 9&/ܸк 9&ии& ик 9ииии к" 9013'377##573373333###'377#*j KD #w&w?EA ꉉ~(("9?"h(([2*.ZEX./.>Y%+.,ܸииܸ01%"&54>323'5#53533#'#'2675&&#"5!N]2? $0yHHd :#"2*tb\*B/CJ11Dn%ao +&0,JJK{"'05EX / >YEX/>Y '$ܸ,и-ܸ5ܸи-и,и$и$и,и-и5и51ܹ!013#575#575323#3###3&#4&'#364327#eQQQQ'H<- K??K -r">}Y5.50#; ;!1 ##y -n&C&cEX / >YEX/>Y +  ܸ и %и&015.54>753&&#"3275#53&2S<"!YEX/>Y 9 /ܸ  ܸܸ"и #и (и)и001"&547#57367#5736654&#"'66323#3!327GlnYEX/>Yܸиии#и$015.54>753&&'672/01a5ZA$#@Z7Q*NQ"+#Q!O/?Ujjd0RrJGrT4][' O Z (L$-eY {cEX / >YEX/>Y 9/ ܸйи   0175327#573&&##5!#3##'YItQ F7I:MK H6uGDuJ#?J@Q'{"}EX / >YEX/>Y 9ииииии иии ии015'75'75377>54&'7yD#gD#g##9,y;o @17!@2~E@V7E@V",  DiE"#5{3EX/ >YEX/>Y017'75#5!#77#5'75q#q#q#q#@Hkks7?I77?Ią7@H7#5{ ?EX / >YEX/>Y  013#57!#5!gEKL1JJ9{#iEX / >YEX/>Y 9/ܹииии "0135#575#5732##3#32654&##mmmm2WA&'BW0=74::47E3D'-F01F,2KU6/6/4{[EX/ >YEX/>Y 9 / ܸܸи и  0135#57!!3#3#LLݏaU|y{PZaGp +017'77'7\K33KI/0IGpWGpWH'D&WF +7GSvEX/ >YEX/>YEX8/8>Y$2++,$@и,Hи2N01"&54632'2654&#"'%"&54632'2654&#"".54632'2654&#"6II67I#/&X6II67I#/./"J67I#/H<''&'>"1''&'Q|'rD&WG|'rD&WQ'rD&WG|'rD&WG'rD&WG|'rD&WG'rD&WG'rD&WG'rD&WG|'rD&WG|'rD&WH|'rD&WG|'rD&WG'rD&WG|'rD&WG|'rD&WG|'rD&W5F{ %1iEX/>YEX / >Y++,+ܸ ܹ&015#56673'%5#56673".54632'2654&#"Q&+S&@Q&+S/"J67I#/@,^]A "1''&'G'D&WF^6 +и 0175#53533#l^hhF~ +015!FhhTp# ) + 9 и и017'7'77'IIIIpJJJJFIK %+ܸܸܸ 01"&54632"&54632%5!,#..##..##..##..+""++""++""++""+hhF&ptpF.g'p&ppty;+и/и/901%%5%~ fby;+и/9и/0175%5%5b fF0 REX/>Y+ 9 и й 0135!5%5%F4̬hhzy."".F0 NEX/>Y  + 9й й 0135!%5775''5F4hhy."".yzF6 DEX/>Y+ ܸܸи 0175#53533#5!l̞hhhhV &EX/ >Yܸк9013#''#Vvy.--.tF(lC+ܹиܸии ܸ 0177#537#5!733#3!XGYIH]GYIH(zggzzggz4$' ++и 01%".#"'66323267.'#'X T/.'#&X T(*)NC(*)NC4w$&}t}F^~ +01%5!5!^hF^~ +017!!F^ hI^DEX/ >Y01754>32#54&#"I"=S11S="l@77@^5V=!!=V5CHHCF^6 +0173!Fl`^hye+6ZEX/>Y,+ +&+94ии#и201%"&'##".5463236632%267&&#"%2654&#"5Q(A.4'ZI/@#L3";,/>$'5"&+$6,0y.@&./="^h,(5/3F)5Q8%!(0 ).J/. ++01".54>32'2654&#"-5''55''5%%%%'4 5''5 4'F)! )) !)c +013/cKqc&vcr +01''3/c@<I<!/WEX/ >YEX/>Y *+ 9" '01".54>3254&#"'6632'2>7&&#"(G6 9N/#D3;2@)X5:W;*Lh/$3*7. 3I-3V=" T`Z#',OpDVd7w!5&!69,+b&++01"&'732654.54>32&#" ' )I;  '  )Ij>G9ppt>5ZB&k>G9ppt>5ZB&p  +01#4>32&#"r)I; &p5ZB&k>G}br +01"&'732653 ')Ij>Gq5ZB&!Y4 +01'73673Jc  bPEG*+'|9_9s OKEX/ >YEX/>Y 9 к 901#33736677#O˰˜'(   t4m1<<1mB IEX / >YEX/>Y 9/ 0135!5#535!5!B&|{|t-5,c'u'uA'A;.{ JEX/ >Y  + и 9 и0155!!!;⧮=xW"#W||?{"//EX/ >Y01!#!&x sH!%9EMEX / >YEX&/&>Y0@++ &:01".54>32&&#"3267'77'7".54>32'2654&#" 5(+81/  !! )8kK33K 6((6 6((6 8+>'(?+< 0*(/ =I/0I,>''>++>''>,O'33%%33'J$.YEX/>YEX/>Y&9&ܸ& ܸ,01".''66754>3232676654&#"q">3$  702D)JW1N6- /5!Tk,+ %7&Z?\;ZP/RNL(4,Y0*X6 4> 2CEX / >YEX/>Y!+ *01".54>32!"32673!2554'&&#",9cK++Kc99cK+bG)5^#&)q F&)G 5[zFFz[55[zF =3 7'7'%'7Sj S iG6 %%7'7'7S i6j Sf6 7'77ij S6T j 8   ++015!!!!#FN((N  ODU##UD9'+9 к9017'3'#'##nO  ODU##UEEN((J + +01'7!5!75'!5!'74EN((NEODU##UDO9'+9 к 901733737*ODU##UDOFN((NFd +01%'7!'57!'7dM[[MM[$[M32,5Y@%%@Y54Z@%%@ZZ$AX33XA$$AX33XA$'H1L'(EX / >Y+ 01%".54>32'2>54.#",9_F''F_99_F''F_9%@..@%&?..?H'E_77_E''E_77_E'L1C''C11C''C1Hf. +017!Hf85S#A(EX/ >Y+017!%!!5hBSOP5S#A (EX/ >Y+0177!%!!5IC`S?WE:f9@b +01% ,9AeJEX/ >Y01753AeAeJ +01753%3'ApeHDk(A"EX/ >Yܺ90173D kDk(A@EX/ >Yܺ9999017377'D JkkkAQ6+901%5!*QAQ6 +01%5!'7#*pQ0kAEX/ >Y01%%5%3 k*0kA6EX/ >Yܺ99901%%5%3'5 Nk*k kuA"EX/ >Yܺ90173 dkkKAEX/ >Y01%%5%3Gdk*,M,G+"/017!%2>54.#"7".54>32,7]C%%C]77]C%%C]7$<++<$$<++Y+2(+ 01%".54>32'2>54.#"7".54>32,4ZB%%BZ44ZB%%BZ4$>..>$$>..>$+  ++  +W$A[76[A$$A[67[A$H.A''@..@''A.6 -,!!,- u (EX/>Y+017!%!!KGA lAK:-NEX/ >YEX/ >YEX/>Y+ 017&&'73667!!7!667B.]#1R1_5Z"xK8Z&AlLD=7o9dSR{lA'EO(Kp+ 901.'73>7!&,](=GT_3Z2bYN*MHG%=>}?Z4N0zl5-(/ +%01".54>323'6654.'(.>$ O #0 1)l  0$  /05*P*,% bej%+ ++ 9 901".54>32%#".54>32b')7 "dU')7 "d  0$Y 901#.54>3236632.\tB)7 3KK3 7)Bt ^wi60I34DD43I06iwX@H /EX/>Yܺ 9 9+ 9: 9?0135>7##"&54>327.54>326632#"&'#`#8+ H&:I'2#)7 7)#2'H;&H +8#9,D23&OC$6# *'"--"'* #6$CO&32D,9\%EX/>YEX/>Y01#53... hiX%AEX/>YEX/>Yܺ99$0135>7##"&54>73#"&'#`#8+ B'9MDsXXsDM9'B +8#9,D23'BF-N\wUUw\N-FB'32D,9]x'3?MU]S+ +G@+.R+N(+(4и.:иNVиRZ01%".54>32'2>54.#"'"&546323"&54632"&'73267'254#"3254#",DpP--PpDCqP--PqC3T=!!=T33T=!!=TiBP/ 9''9 /P -PoBBoP--PoBBoP-C">V54W>"">W45V>"& && && && &B9 9B0Id+9EQ7,+ +@:+&и:Fи@L01%".54>322654&#"32654&#"267'#"&''"&546323"&54632,?iK**Ki??iK**Ki:FO/;++;/O    0*Kg>>gK**Kg>>gK*(&&&&&&&&?<!!YEX/ >Yܸк901%#.54>3236632.FOO@(3E*?TT?*E3(@OOF-=20B[D0G07DD70G0D[B02=x+;CS_-+$++4G+Q,+017".54632#'2672>54&#"7".'6632672'&&#"326732654&#"@gI(p;H 6F&%j?6X)<(79nihp9P0+?/! gPPf !.?)&00+ 0cgciLH MJ)E173;03$10>EMSIX~Q& .45- L53    g*1?MK++G.+.G9#.G9G2и2/G9иG@и@/01%".5467&&5467&&54>7'267!'66327&&#"66327&&#",SwL%-1?1  (*' 1?1-%LxR9PPb" !! " !8-0: +!6;  'O ;6!+ :0-8! `5==5""A77A""A77x%5CQ]W+ +XR+.A+>&+>6и>Dи>KиK/AO01%"&'&54676632'2>54&#"7"&54>32'66327&&#"66327&&#""&54632,_#BvvB#_1T>"xmmx">S2[_1D**D1_  " "  " "UU&(cccc(&UUC?`BpggpB`?*6)=''=)6*J!!A77A!!A77  =X!*5/'+!+"ܸи" и01'73546323%37'6654&#"354&#"C((.aZZa.(())/""/.$&&$F  \dd\  &"//"& !/55/.*2'# ++.и0012>54.#"5#535.54>323#,5&&5 5&&5-J4%D]88]D%4J-<(7!!6((6!!7(lgI+?O-3YA%%AY3-O?+Iglv0(EX/>Y '+01".54>3275%#7'2>54.#"8]D%%D]8A6q$aa&C^8 5''5 5&&5%AX43XB%ja݁hI)4XA%\(7! 7((7 !7(d>BEX-/- >Y+%"+- %7и"901%2>54.#"'#5&''7&&'#5367'7675373#,,!!,,!!,R lTIR bb PIQlRIQ bbP!.-!!-.!S mm RIPhQIR mm QIOhRJ5EX/ >YEX/>Y 013'377''#x>9--99-- QP{y]\yy\]#5 5EX/ >YEX/>Y 0133%!5''##vg JDDJh/cwppwc""A++015265480--06K00KO#!!#O'7""7'zA+  +01.54>"3z6K00K60--0'7""7'O#!!#A +015.54>32&&#"*/="3H3+ +3?P#',"4##@!6%tEX/>Y01373'!<< +01'!%<Z + 901%"&'573267O#? &)87iQ+8! E }1z/1/u1uAyx +013ykP1/}1z/xb +013Zkn=m;P<85 >  " .) ".:FR^jvEX/>Y ++qk+A;+ ии#и#/)/и//)5и;GиAMиkYиY/S_иkeиe/kwиw/q}01"&54632'"&546323"&54632%"&54632!"&54632%"&54632!"&54632%"&54632!"&54632%"&54632"&54632'"&54632+|]ac] -RmmR+}1z/ +01'72d1b~ +01'7QNw_+b +01'7N!+1/ +01'7&Hd1Hb~ +01'7ANJ_.> +01'Xc#.u1+к901'73'#8ll8}144\C+к901'73'#@ZZ@h'oo'Tn='+и и ܸ01".#"'6632327n% \@:% \@=NJ7NJfT'+ܸи ܸ01".#"'66323267s(  _F5(  _FLDKEP +015!(P]]/ +015!.^^P/< + ܸ 01".'73267,+>*T((((T)?<+9! // !9+< +ܸ 01"&'73267,WSr rS +01"&54632,+77++77>0))33))0d +01"&54632,(22((22.&%..%&.m; + и01"&546323"&54632#--##--#--##--;."#..#".."#..#".tN + и01"&546323"&54632 )) ** ** ))* )) ** )) *8+ܸ01'6654&'7 $, 1D*&38:Z,%v+ܸ01'6654&'7 $,]L&3: I1(%w<R + ܸ ии01".'73267'"&54632,,B-L6.-7L-B, ,, ,,<+9!$44$!9+(!!**!!(8  + ܸ01"&54632'2654&#",BBBBBBBB8=+*==*+=7~  + ܸ01"&54632'2654&#",3??33??36--55--675 +и01'7'7NXbGNXb5#,#,y+и01'7'7Ie^AHd^"4"4uA+901'737l8}}8lA4\\4T+901'737Z@hh@Zn(TT(n$n6 +013$bB5 +и01'7'7lbXelbX5,#,9y+и01'7'7z^dsz^e4"45+ܸ 01'>32&&#"T)?++>*T((((5!9++9! 00M  + ܸ01'6632&&#"PQKKQP*""*CFFC""2x + 01"&54676326&-;<!$ &&22-.E0  "8+ ܸ 01.54>7W3&*D1 ,$8%+ Z2u +01'667#"&54632!$ &&&-;21  "1-.F8 +015#5353JuuTBGB +01533#TuuBGB>EX/>Y015#53Al>OG" +01'6654&'7- % m 1A;'- /1(9'p  ++01&546"3pZLLZ$ $9//96+0153533UTUGhhG+015#53#UUiFFi +и 015#53533#UUTUUBGBBGBf +0153GG m ++01'6654&'7 ;,"P=g;6(%318  ++01&&5467ZP=g^ ;,"8(%31; $EX/>Y ܸܸܸ01'6654&'73 ;,.2V&&g;iH " 31 $EX/>Y ܸܸܸ01'6654&'73 ;,.2V&&g;iH " 31EX/>Y+01"&54>73326750A S! @12)!/ AEX/>Y+01"&54>733267:1D Z  #;1/*"0 Jg +0173j$ +015!#5#Ln܎GGu   nEJL'+ии ܸ01%".#"'6632327&<3,\83&=3,\84EB4EC ++01526548$ $ZLL769//9*EX/>Y0153353LnL֎GG ++015!'35#nn6Jk ?+ +и/ ии/01'&32366324&#"#54&#"St'  (<8SF NQ /6 EX/>Y01'7'77'1??1AA1??1A6,89,77,98,7n=($EX/>Y 01"&5533227b>1j D;"  O0C( +015!^^cJ  + ܸ01'6632.#"w&gyyg&1lmj//jmlJC?==?C& &;r #++ и01"&546323"&54632''7########8NN;#$$##$$#$4 #++ и01"&546323"&54632''7""####""?_\$##$$##$}'9h:> #+ +и01"&5463277"&54632####;&hM{####H! !! !;r #++ и01"&546323"&54632''7########dNN;#$$##$$#u4 #++ и01"&546323"&54632''7""####""|\_$##$$##$}9o7! #+ +и01"&54632'77"&54632!!!!_Ig#R!!!!H;G .;+ ии ܸܸ)иܸ$ܸ+01"&546323"&54632'".#"'6632327########E$ @2&$ @2;#$$##$$#88'79;9 '+ ииܸ01"&546323"&54632%5!########(;#$$##$$#EE '+ ииܸ01"&546323"&54632%5!""####"".$##$$##$EE;i 5++ ик901"&546323"&54632''737########\0dd0\;#$$##$$#\,AA,\ 5++ ик901"&546323"&54632''737""####""\;^^;\$##$$##$f'II'f6A) %+ +к901'73'#7'7/]t]/f8ON64\\4A,3- %+ +к901'73'#7'7;Z~Z;\,d1'dd'H2V<6) %+ +к901'73'#''7/]t]/fiNS64\\4Aw4/ %+ +к901'73'#''7;Z~Z;\e0a'dd'HM;W6*21+ +к9 ܸ01'73'#7'6654&'7/]t]/f &RA*64\\4A 2 >*#! )1+ +к9 ܸ01'73'#'6654&'7;Z~Z;\ & RAC'dd'H/ <-!,'6FA++к9 ии ܸ01'73'#7".#"'6632327/]t]/f< C.& C.64TT48^  &96  &96A++к9 ии ܸ01'73'#7".#"'6632327;Z~Z;\>  F0*  F0'\\'?Z&96' 96<t# + ܸ и ܸ01".'73267''7,+>*K,,,,K)?"@]W<+9!$44$!9+,A #+ܸ иܸ01"&'73267''7,KQH.%%.HQ:H_\FC#''#CFl/9<t# + ܸ и ܸ01".'73267''7,+>*K,,,,K)?4tW]<+9!$44$!9+xA #+ܸ иܸ01"&'73267''7,KQH.%%.HQ\s\_FC#''#CFl9<y!+ + ܸ и ܸܸܸ01".'73267''6654&'7,+>*K,,,,K)?N 'SC ,<+9!$44$!9+}3 P4+"  ++ܸ иܸܸܸ01"&'73267''6654&'7,KQH.%%.HQk &R@*FC#''#CFm/ =-! <E'; +"+ ܸ и"ииܸ$01".'732677".#"'6632327,'8%H%((%H%8 K2*  K2< (   (   &:6  %96 #;++ܸ иииܸ 01"&'73267'".#"'6632327,KLG&**&GL  F0*  F0=3  3='96' 954B 01'73'#7".'732674RtR4V!.6 && 6.4!YY!=^$$+01'73'#7"&'732678W~W8\JKG%))%GK'\\'H];2  2;Pn+ܸ015!''7(1<P]]y7'6632327#".#"O0E#9) &2* K2* 3&% ; 96  &96  &j-'+ܸܸи01'6654&'7'7  &RN#+R"v?:R6-%j-'+ܸܸи01'6654&'7'7  &RN#+Fw ?:R6-%3P#;++ии ܸиܸ01".#"'6632327'6654&'7f K2* K2 & RBE  &96  &96/ ;"%&q +01'5!E犊 +01'!Epq +013pxp +01!px!7q -+иии 01%53!53!53犊!7 ++иии 01%3!3!3qA  +++01333犊7 p p A  +++01!!!7 p p Eq =+иии и и 01%53!53!53!53pppp犊E ;+иии и и 01%3!3!3!3ppppq_ +  ++ ++0153535353犊~_ +  ++ ++015!5!5!5!~pq +01%!#!Ԋp +01%!#!ԊEpq +01%#!!p +01%#!!Epqq +01#!5!qpwpq +01#!!qp3pq +01!#5!pwp +01!#!p3 +01%!3!J, +01%!3!J,E +017!3 +017!3Eq +01%!5!3qJ,wq +01%!!3qJ,3 +01'53!Ew +01'3!E3p +01%!#3!Ԋ,xp +01%!#3!Ԋ,xp  +01%!##!3ԊDwp  + 01%#!33!D,wp +01%#!!3xp  +01%!##!3ԊD3Ep  + 01%#!33!D,E3p +01%#!!3xpq +01#!5!3q,pwwpq +01#!!3q,p33p +01#!53!#qDpwwp +01!#5!33,Dpwwp +01!#53!pwwp +01#!3!#qDp33p +01!#!33,Dp33p +01!#3!p33pq+01%!#!5!Ԋwp ++01#!!!!q,p3Dp + +01%!#!5!5!Ԋ,wDp+01%!#!!Ԋ3pq+01%#!#5!wp  ++01%#!#!33Dp ++01%#!#535!wDp+01%#!#!3+01%!5!3!,,w  ++01%!!!3!J,,D3 ++01%!5!5!3!J,,Dw+01%!!3!,,3+01%!53!3w + +01'3!3#E3D ++0175#53!3Dw+01%!3!33p  +и 01%!#!5!3!Ԋ,,wwp + +01%!#!!3!Ԋ,,33p  ++01%!#!5!3!Ԋ,,wwp  +и 01%!#!!3!Ԋ,,33p  +и 01%!#!53!3Ԋwwp  +и 01%#!#5!3!,,wwp  +и 01%#!#53!3wwp +  +01%##!3!3#D33p  + +01%!##5#53!3ԊD3Dwp +  +01!#!333#,Dp33Dp  ++ 01%#!#53533!D,wD3p  +и 01%!#!3!3Ԋ33p  +и 01%#!#!3!,,33p + +01%#!#3!333p  ++01%#!#53!3wwp  +и 01%#!#3!333K q+и01%53!53w>犊K +и01%3!3w>jq +0133犊,,j++01!!,,^++015!5!Eq퉉^p+и013!3qdpxxp + +01%!#!!!Ԋ,^^pq +01##!#q?pw^p + +01!#!##!J?,qdwpq  ++01#!5!5!5!q,ppq +01###5!q?pwwp + +01#!5!##5!J?퉣,pv^ ++0173!!!,,^^ +0173333^w^^  ++01333!qqw^q ++01%!5!5!5!3qJ,,^ +01%!53333ww^  ++01!533!5!3ԣqvp  ++01%!#3!!!Ԋ,,^x^p +013##33^pxwx^p  ++01333##!^,pxwwpq + +01#!5!5!5!3q,,pp +013!##533q퉣pxwwp  ++013!533##5!qԣ,pxp + +015!!#!5!EԊqpq  + и 01###5!#qpwwp '+ + и 015!##!##5!E⣉,J,qw^  ++01!5!3!5!,,qd  + и 01%!533333ww^ '  ++и0133!!5335!qJԣqwvp7+ +ии и01%!#!5!5!5!3!!!Ԋ,,,,^p- +и и и01###533333#qpwwwwp 7 ++ии и0133!!533##!##5!qJԣ,J,qwvwpq +014>33#":dMEE0T?$pLd:$?T0ppqq +01!#4.##532q$?T0EELd:p0T?$:dq +01##532>5q:dLEE0T?$pMd:$?T0  +01333#".$?T0EEMd:Xp0T?$:dX +013# LLX +01#5L LX +и 01#5533 LLLAAAAqq +01'5!E犊q +0173q +0175!犊pqq +013pq +01'!E +017! +017!pq +01!p +01%!5!5!5!J,DDp +01!333DDpw +01%!!!!J,DDp +01%###!DDw,X //01!X,DpX //015!XppX //01!Xp^pX} //01!Xp pX, //01!XpDpX //01!XpkpX //01!XppX9 //01!Xp7pX //01!Xpxp  //01! pxp //01!pxpw //01!wpxp, //01!,pxp //013pxp //013pxpK //013Kpx,pX //01!,,px*X #/;GS_kw+7CO[gs//иии014632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&8      8      8      8      8      8      8      U      ZU      ZU      ZU      ZU      ZU      ZU      *L* #/;GS_kw+7CO[gs//иии014632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&>>>>>>>MUMUMUMUMUMUM*:E #/;GS_kw+7CO[gs//иии014632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//B9X //015!X9 pX //013 Kpxp,, //01!,pD,pX, //01!,,pD,, //01!,,DpX///01!!,,pxDDpX////01!!,,,DDDpX///01!!!XX,DxpX///01!!!XXp,,X //01!,,,DpX////01!)!,,,DDpX///01!!!X,,p*!:p #/;GS_kw+7CO[gs]EXf/f >YEXV/V >Y ++++rl++~x+++++ии $и*и0и6и<иBиHиNиTиZиf`ܸииииии ииии ии и&и,и2и8и>иDиJи`Pиl\иrbиxhи~nиtиzиииииииииииииииииии и01"&54632"&54632"&54632"&54632"&54632#"&54632#"&54632#"&54632"&54632"&54632"&54632"&54632#"&54632#"&546323"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&546323"&546323"&546323"&54632"&54632"&54632"&54632"&546323"&546323"&54632#"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632,    ;    ;  ;  ;  ;        [  ;  ;                     *  *  *  *        l  *  *                 G     &     &         2   2   2   2         2   2   2   2   2   2   2   &     &         2   2   2   2         2   2   2   2   2   2   2   /'Ik#.8CMU]it~#/;GQ]is{+++4/+$*++<B++ +|+9и9/*и*/$ܸи/ܸи/ܸи/и/?и?/IиI/DܸNи RиVиV/ZиZ/^и$dиd/$jи9oиo//uи4zии/и/и/Dи<и/ܸи/и/ܸи/ܸи/и<и/ииии/и и /иии/и/0и<6и6/$HиH/NиN/Rи<XиX/<^иBdи$jиj/nиn/tиt/xܸ|иииии/xи|ииии/ии|иии01"5432"5432'"54327"&546327"&546327"&54327"&54632"&5432'"5432'"5432'"&54632'"&5432'"&5432'"&54322#"&5462#"&542#"&5462#"&5462#"&5462#"&5462#"&542#"&546%2#"&5462#"&5462#"542#"&542#"&542#"&54'2#"&54672#"&5462#"&5462#"54'2#"&5462#"&5462#"&546'2#"5472#"&546'"5432"&546322#"&5467"&546322#"54'2#"&5467"5432"&546322#"&5467"&54632,   "  *  /  9  %5  3  <  A  B    * 3  < L  E      $  &  *  , < <  Y  1< G C;2   +       @;2   +           >   ;   4 +       ;   4 +     y   Q   0    K   0       '         &   '         5-j5-j-pXX\X]x0Idxgx=XB)EX / >YEX/>YEX/>YEX/>YEX/>Yии ܸ$013#5754>32&&#"3#33"&54632IBB,F23  ZZJ+77++77}m'F4 l!&s>0))33))0 Z+EX / >YEX / >YEX/>YEX/>YEX/>Yии %013#5754>32&&#"3#".533227MBB,F23  ZZ0&4  $}m'F4 l!&s +=&#m>z$)+ 99901#4>55#7#3ϑ,9:9,op,9;9,?W>+%&3G4@X?+%%2F3TAZ=///+ 9 ик9013333'53##A%%h܂"]؅=XX +01X(l(qEX/>Y01'7AQQ0PP\ +01 \\(hEX/>Y010QTTP/j $| wwu  Z  ]D+6@8<t( 2 H ^ t !!""""##&#<#Z#p####$$$%%%%%&&%&;&S&k&&';'Q'g'}'''''(((() )#)9)O)m))))))***3+&+<+R+j++,Q,g,},,,,,-----..+.C.[.q...../L/d/z/////000,0D0\0r0000001 1"122-2C2Y2o223n3333335555566+6C6a6y66666677788*8B8Z8899%9;9Q9g9}999:}:::::;;;;;;<<-x>?@w@AAAAAB B"B8BNBdCCDDDDEE*E@E^EtEEEEG'G=GSH]HuHHHHHIJJJ/K%K;KQKgK}KKKLLLLMM)M?MUMkMMMMMMN N#N9NONgNNNNNOOOOOOPP(P>PTPrPPPQQQ1QQQQRR.RFRRSSS6SLSbSxSSSSSTTTTUU)U?UUUkVMVeV{VVVVVWWWXXX-XCX[YjYZZZZZ[ [([@[V[l[[[[[\]Y]q]]]]]^^^^___0_F_\_r_`j``````aaabbb.bFb\brbbbbbbc c$c:cPcfc|ccccdeffghijkolmn!o>pWqqrrsttuvLwyxy:z{{|t}w}}~~~~) Q6%=m  LZ=k xF] %r 6Lb~8Ndz,BXn(>Tj "ix\8PvUeu8HX^nRbr6Fc|g}[j'M2]ōƸǝ'ʉ˅m}j͖̀ͬ0F\JЬ|єѦѸ(8ҝҭҽ -=M]m}Ӎӝ8HX&Hף׹o.>N^n~VKuޤM'}o1G`db<l| 0FVCU%T%5)Q_ux?Oe{l#3I_uH V E   h  5 )9OeuPpVM&4 |!0!@!!"#b#$%%&''()*%++,W,,- -!-.>./S0030M00011"1<111122!212A2f2222333344U4455V55666Z6667:77784899: :B:t:;3;<=#=9=S>?@vA<BB1B\BBBC;CgCCCDFFGHIJKLL4LDLTMjM|MMMMMMMN NN0NBNTNfNO,OP5PQQR RSSTTXTU4U{UVWWXrXYZ_ZZ[[y[[[[[[[\ \\-\?\Q\c\u\\\]j^^_B_`oabb[bccidd{eef^fgnghThi(ij#jak#klmmpnnoao{ooopqMrrstu^vwxyrz{|}n~[uBu4Tr2Rr21Q@'"tk3^X8H)B>Yr,q*9Z b=O+%X voScs)GWgw%5EUeu#JqD-Qu:Oo?I<e ]mE‹KoÁÓå9ĖWŻ!3EWiUNj gwRH?˺6w΍%}-Ѕц'9ӡzաWh Gر:کUUUUUz۟EܤK=ޤ?jߗHt!Mx/nY+jI;t'aRO&r YG!d0c"c-l1{AaDGqm6y-Rv /U<_=b>b) y   3b%a'7GWgw  !""##*#N###PU>_< ~?~<0:($ X# J6F\i,@J;Dk:B&K'F2@8=HC/7R4HO*L2#H/H/t51>%F J66666FFFF\\\\\\\\^\\\\F\\\\,,,,,,,,,@@@@JJJJJJJJJJJJ;DDD\kkk+kk:::BBBBBBBB&&&&&&&&&&&&&&&&&&&&&&&&FFFFFFF2222222@@@@@@@@@@@@@@@@@@@@@@@@888888I2AJ&/=============='========HCCCCC"////7777777777777777744444444HH"HOOOOOOOOOOOO*LLLL2222222###HHHHHHHH///////////////////////// tSttbb05555555=R1111111>>>>>>>>>>>>>>>>>>>>>>>FFFFFF/HH*ABHHH4C//6/m7F0/*1/@<HHHOO2)2)y#HJ/444ttJ"5++21'>!FF42E29C/B////////////////////////////////QQQQQQQQQQQQQQOQOQQQQQQQQQQQ Jl\8@&JD:BB&@K?J *H5FVA7=I"@;3 H/2>)IH9*FA==3>>=>I0Jt)hjijsnoh JJl \.@@E:@&@K6@-"J\\l72JJ;E@?&l2.E@6,>J \2@&&=<Tt70IIM%H/HHC2%H@##&Q5"77tC5OO*$MIK /%x/0MHC %@H2=77I////CQ8O3*#.<>=58O8O3*#.<>=58O8O3*#.<>=58ObgS4FF+<FFFPPvzZzZ|Y<<>c~hjiJJ@YYG0x?<@\hhhhheFT|||@0t&|>$@C-`.OC[C5OY##45FFTFFFtbFFFVF44FFIFq@<}! B-;J ]>Gf J<9'H55AADDAA00 ,75.J#Z}uu}nm.}unfzmtwuB9"munJkn0cho/sijj!!KK^^^^^^^, ,,55 >AX00(XXKX^2    8ADBO ` , 1,  /9@Z`z~7C\ghnv{~  *,14=BE_auz~/_cuCIMPRX[!+;ISco    " & 0 3 5 : ? D I q y  !!!! !"!&!.!^!!!!""""""""")"+"7"H"a"e###!%%%%%%%%%%&&&<&@&B&`&c&f&k''R'd'..% 0:A[a{7CP^hjox}#,.49BE_atz~0brCGMORV[  $2>RXl~    & / 2 5 9 < D G p t } !!!! !"!&!.!P!!!!""""""""")"+"7"H"`"d###%%%%%%%%%%&&&:&@&B&`&c&e&j''R'd'..".nW vnmq97,x,T`SR[omjiiCX_[6p^ ݻީްމވa\RݨY`կլ%u%h   $&,2<BDNPRVZdflnnpplnxz|AZ]ovtw{}ZEB@Cz\]^6789:=MR]^_a~q ()*,IJKMhnopqrr;<@ ST V"U!W#['b-c.d0e/`+p;q<r=s>xB}HLNSPTUVYZ\[a`eigms~tFw? OuOt?vo:f> N#+027%,18   "$%tuvwz|x{=>?@ABCDEFGHIJKLMNOPQRS T U V W$&)-.QX$Y%Z&n9u@zDyC{F|GWX]^_bcdjklEA BCDEFGHIJKLf1g2h3i4j5k6l7m8QRwxyz{|}["'VHLDTQR\glm_`abcdefhijkps|u $L !!""##$$A%%Z&&]''()**++o,,--..//09^:;<<v==t>>w??@@AZ[[\\]]^^{__``az{{||}}~~}ZEB@Cz\6=MR]a~q (,IMhnr;<@ ST     V  "  U  !W#['b-c.d0e/`+p;q<  r!!=""s##>$$x%%B&&}''H(())L**++N,,--S..//P0011T22334455U6677V88Y99::Z;;<<\==>>[??@@aAABB`CCDDeEEFFiGGHHgIImJJKKLLMMsNNOO~PPQQtRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~\Fw? OuOt?vo:f> N77CCPPPQQRXY\^ghhjjknovx{}~!#+027%,18           #&'' ((")*$,,&.1'44+9=,BB1EE2__3aa4tuzz~~tuyz|\mx{}/0_ bbcc=rrss>ttuu?@ABCDEFGHIJKLMNOPQRS T U V WCCGGHIMM OO$PP&RR(VV)WX-[[/3Q  X  $Y%Z&n9  u!!@$$z%%D&&y''C(({))F**|++G2233W4455X6677]8899^::;;_>>??b@@AAcBBCCdDDEEjFFGGkHHIIlRRSSXXYYZZ[[\\]]^^__``aabbccllmmnnoo~~EA BCDEFGHIJKLf1g2h3i4j5k6l7m8QRwxyz{|}  [                       ! " " & & / / 0 0[ 2 3 5 5 9 : < < = = > ? D DW G G H H I I p p q q" t y } ~  '   6 G V H I K L D S M O T Q U!!!!!!\!!! ! !"!"!&!&!.!.!P!Pg!Q!Rl!S!Z_![!^h!!n!!!!!!!!!!""""""""""""""p""X""s""""""")")"+"+"7"7"H"H~"`"`|"a"au"d"ex####### #!%%^%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&:&;&<&<&@&@&B&B&`&`&c&c&e&e&f&f&j&k'''R'R'd'd''...".%n&&&: &; &` &c &e&f &j&k''d,K PXYD _^-, EiD`-,*!-, F%FRX#Y Id F had%F hadRX#eY/ SXi TX!@Yi TX!@eYY:-, F%FRX#Y F jad%F jadRX#Y/-,K &PXQXD@DY!! EPXD!YY-, EiD` E}iD`-,*-,K &SX@Y &SX#!#Y &SX#!#Y &SX#!#Y &SX#!@#Y &SX%EPX#!#!%E#!#!Y!YD- ,KSXED!!Y-+++% +.& ++ E}iDK`RXYs 3  > ~   "    F (@ vh $  4 4 2*  \ H|         . @ $R  v  ,  0  .  2  8R & <  " . 2 Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name Source .Source Code ProBold2.030;ADBO;SourceCodePro-Bold;ADOBESource Code Pro BoldVersion 2.030;PS 1.000;hotconv 16.6.51;makeotf.lib2.5.65220SourceCodePro-BoldSource is a trademark of Adobe Systems Incorporated in the United States and/or other countries.Adobe Systems IncorporatedPaul D. Hunt, Teo Tuominenhttp://www.adobe.com/typeThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an AS IS  BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.http://www.adobe.com/type/legal.htmlsimple asimple gserifed i & lSami Jcursive cursive cursive Serbian Cyrillic breve []slashed zero [0]typographic hyphen [-]typographic asterisk [*]slashed dollar sign [$]alternate numeral one [1]typographic alternates [-,*]simple a, cursive simple g, cursive , Serbian 1Sami J, cursive 2$%&'()*+,-./0123456789:;<=DEFGHIJKLMNOPQRSTUVWXYZ[\]bc     de !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRfSTUVgWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~hjikmlnoqprsutvwxzy{}|      !"#$~%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ " B >@^`_?      # !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !AaC      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*AmacronAbreve Aringacuteuni01CDAogonekuni1EA0uni1EA2uni1EA4uni1EA6uni1EA8uni1EAAuni1EACuni1EAEuni1EB0uni1EB2uni1EB4uni1EB6AEacuteuni01E2uni0243uni1E06 Ccircumflex CdotaccentDcaronuni1E0Cuni1E0Euni1E10Dcroatuni018AEcaronEmacronEbreve EdotaccentEogonekuni1EB8uni1EBAuni1EBCuni1EBEuni1EC0uni1EC2uni1EC4uni1EC6uni1E16uni01F4 Gcircumflex Gdotaccentuni0122Gcaronuni1E20 uni00470303uni0193 Hcircumflexuni1E26uni1E24uni1E28uni1E2AHbarItildeImacronuni01CFIogonekuni1EC8uni1ECAIbreve Jcircumflexuni0136uni1E32uni1E34LacuteLcaronuni013Buni1E36uni1E38uni1E3ALdotuni1E3Euni1E40uni1E42Nacuteuni01F8Ncaronuni0145uni1E44uni1E46uni1E48Omacron OhungarumlautObreveuni01D1uni01EAuni1ECCuni1ECEuni1ED0uni1ED2uni1ED4uni1ED6uni1ED8Ohornuni1EDAuni1EDCuni1EDEuni1EE0uni1EE2uni1E52 OslashacuteRacuteRcaronuni1E58uni0156uni1E5Auni1E5Cuni1E5ESacute Scircumflexuni015Euni0218uni1E60uni1E62uni1E9ETcaronuni0162uni021Auni1E6Cuni1E6ETbarUtildeUmacronUbreveUring Uhungarumlautuni01D3Uogonekuni01D5uni01D7uni01D9uni01DBuni1EE4uni1EE6Uhornuni1EE8uni1EEAuni1EECuni1EEEuni1EF0uni1E7EWgraveWacute Wcircumflex WdieresisYgrave Ycircumflexuni1E8Euni1EF4uni1EF6uni1EF8Zacute Zdotaccentuni1E90uni1E92uni1E94uni018FEngIJuni004C00B7004C uni01320301amacronabreve aringacuteuni01CEaogonekuni1EA1uni1EA3uni1EA5uni1EA7uni1EA9uni1EABuni1EADuni1EAFuni1EB1uni1EB3uni1EB5uni1EB7aeacuteuni01E3uni0180uni1E07 ccircumflex cdotaccentdcaronuni1E0Duni1E0Funi1E11ecaronemacronebreveeogonek edotaccentuni1EB9uni1EBBuni1EBDuni1EBFuni1EC1uni1EC3uni1EC5uni1EC7uni1E17uni01F5 gcircumflex gdotaccentuni0123gcaronuni1E21 uni00670303 hcircumflexuni1E27uni1E25uni1E96uni1E29uni1E2Bhbaritildeimacronuni01D0iogonekuni1EC9uni1ECBibreve jcircumflexuni0137uni1E33uni1E35 kgreenlandiclacutelcaronuni013Cuni1E37uni1E39uni1E3Bldotuni1E3Funi1E41uni1E43nacuteuni01F9ncaronuni0146uni1E45uni1E47uni1E49 napostropheomacron ohungarumlautuni01D2uni01EBuni1ECDuni1ECFuni1ED1uni1ED3uni1ED5uni1ED7uni1ED9obreveuni1E53ohornuni1EDBuni1EDDuni1EDFuni1EE1uni1EE3 oslashacuteracuteuni0157rcaronuni1E59uni1E5Buni1E5Duni1E5Fsacute scircumflexuni015Funi0219uni1E61uni1E63longstcaronuni0163uni021Buni1E6Duni1E6Funi1E97tbarutildeumacronubreveuring uhungarumlautuni01D4uogonekuni01D6uni01D8uni01DAuni01DCuni1EE5uni1EE7uhornuni1EE9uni1EEBuni1EEDuni1EEFuni1EF1uni1E7Fwgravewacute wcircumflex wdieresisygrave ycircumflexuni1E8Funi1EF5uni1EF7uni1EF9zacute zdotaccentuni1E91uni1E93uni1E95enguni0237ijuni006C00B7006C uni01330301uni0250uni0252uni0253uni0254uni0255uni0256uni0257uni0258uni0251uni0299uni0259uni025Auni025Buni025Cuni025Euni025Funi0260uni0261uni0262uni0263uni0264uni0265uni0266uni0267uni029Cuni0268uni026Auni029Duni029Euni026Buni026Cuni026Duni026Euni029Funi026Funi0270uni0271uni0272uni0273uni0274uni0275uni0276uni0278uni0279uni027Auni027Buni027Duni027Euni0280uni0281uni0282uni0283uni0284uni0287uni0288uni0289uni028Auni028Buni028Cuni028Duni028Euni028Funi0290uni0291uni0292uni02A4uni02A6uni02A7uni0294uni0295uni02A1uni02A2uni01C2uni0298 uni014A.aa.aagrave.aaacute.a acircumflex.aatilde.a adieresis.a amacron.aabreve.aaring.a aringacute.a uni01CE.a uni1EA1.a uni1EA3.a uni1EA5.a uni1EA7.a uni1EA9.a uni1EAB.a uni1EAD.a uni1EAF.a uni1EB1.a uni1EB3.a uni1EB5.a uni1EB7.a aogonek.ag.a uni01F5.a gcircumflex.agbreve.a gdotaccent.a uni0123.agcaron.a uni1E21.a uni00670303.ai.a dotlessi.aigrave.aiacute.a icircumflex.aitilde.a idieresis.a imacron.a uni01D0.a iogonek.a uni1EC9.a uni1ECB.a uni012D.a uni0268.a iogonek.d iogonek.da uni0268.d uni0268.da uni029D.dl.alacute.alcaron.a uni013C.a uni1E37.a uni1E39.a uni1E3B.alslash.aldot.auni006C00B7006C.a uni026B.a uni026C.aAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiuni03A9 Alphatonos EpsilontonosEtatonos Iotatonos Iotadieresis Omicrontonos UpsilontonosUpsilondieresis Omegatonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigmatauupsilonphichipsiomegauni03C2uni03D0uni03D1uni03D5phi.a alphatonos epsilontonosetatonos iotatonos iotadieresis omicrontonos upsilontonosupsilondieresis omegatonosiotadieresistonosupsilondieresistonosuni03D7uni03D9uni03DBuni03DDuni03E1uni037E anoteleia anoteleia.capuni0374uni0375tonos dieresistonosuni037Auni1FBEuni1FBDuni1FBFuni1FFEuni1FEFuni1FFDuni1FCDuni1FDDuni1FCEuni1FDEuni1FCFuni1FDFuni1FC0uni1FEDuni1FEEuni1FC1uni0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0400uni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Duni040Euni040Funi0462uni0472uni0474uni0490uni0492uni0496uni0498uni049Auni04A0uni04A2uni04AAuni04AEuni04B0uni04B2uni04B6uni04BAuni04C0uni04C1uni04D0uni04D4uni04D6uni04D8uni04E2uni04E6uni04E8uni04EEuni04F2uni0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0450uni0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Duni045Euni045Funi0463uni0473uni0475uni0491uni0493uni0497uni0499uni049Buni04A1uni04A3uni04ABuni04AFuni04B1uni04B3uni04B7uni04BBuni04C2uni04CFuni04D1uni04D5uni04D7uni04D9uni04E3uni04E7uni04E9uni04EFuni04F3 uni0430.a uni04D1.a uni0431.srb uni0456.auni2116zero.aone.a zero.onumone.onumtwo.onum three.onum four.onum five.onumsix.onum seven.onum eight.onum nine.onumzero.bone.bzero.capone.captwo.cap three.capfour.capfive.capsix.cap seven.cap eight.capnine.capzero.cone.c quotereverseduni00ADuni2010 figuredashuni2015uni25E6uni25AAuni25ABuni25B4uni25B5uni25B8uni25B9uni25BEuni25BFuni25C2uni25C3 invbullet filledrect underscoredbluni203Euni203Funi2016 exclamdbluni2047uni2049uni2048uni203Duni2E18uni231Cuni231Duni231Euni231Funi27E6uni27E7uni2E22uni2E23uni2E24uni2E25uni2117uni2120at.case asterisk.ahyphen.a uni00AD.a uni2010.adollar.a zero.supsone.supstwo.sups three.sups four.sups five.supssix.sups seven.sups eight.sups nine.supsparenleft.supsparenright.sups period.sups comma.sups zero.subsone.substwo.subs three.subs four.subs five.subssix.subs seven.subs eight.subs nine.subsparenleft.subsparenright.subs period.subs comma.subs zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnomparenleft.dnomparenright.dnom period.dnom comma.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numrparenleft.numrparenright.numr period.numr comma.numr ordfeminine.aa.supsb.supsc.supsd.supse.supsf.supsg.supsh.supsi.supsj.supsk.supsl.supsm.supsn.supso.supsp.supsq.supsr.supss.supst.supsu.supsv.supsw.supsx.supsy.supsz.sups egrave.sups eacute.sups uni0259.supsuni02E0uni02E4a.supag.supai.supa colon.sups hyphen.sups endash.sups emdash.supsEurouni0192 colonmonetarylirauni20A6pesetauni20A9donguni20B1uni20B2uni20B4uni20B5uni20B9uni20BAuni20AEuni20B8uni20BDuni2215 slash.fraconethird twothirdsuni2155uni2156uni2157uni2158uni2159uni215Auni2150 oneeighth threeeighths fiveeighths seveneighthsuni2151uni2152uni2189uni2219 equivalence revlogicalnot intersection orthogonaluni2032uni2033uni2035uni00B5 integraltp integralbtuni2206uni2126uni2200uni2203uni2237uni2105uni2113 estimateduni2190arrowupuni2192 arrowdownuni2196uni2197uni2198uni2199uni21D0uni21D1uni21D2uni21D3 arrowboth arrowupdn arrowupdnbseuni25CFuni25CBuni25A0uni25A1uni2752uni25C6triagupuni25B3uni25B6uni25B7triagdnuni25BDuni25C0uni25C1triagrttriaglf invcircleuni25C9uni2610uni2611uni2713 musicalnotemusicalnotedblheartclubdiamondspade smileface invsmilefaceuni2764uni2615u1F4A9u1F916u1F512femalemalesunhouseuni02B9uni02BBuni02BCuni02BEuni02BFuni02C1uni02D0uni02D1uni02DEuni02C8uni02C9uni02CAuni02CBuni02CCuni25CCuni0300 uni0300.cap uni0300.guni0301 uni0301.cap uni0301.guni0302 uni0302.capuni0303 uni0303.capuni0304 uni0304.capuni0305 uni0305.capuni0306 uni0306.c uni0306.cap uni0306.ccapuni0307 uni0307.capuni0308 uni0308.capuni0309 uni0309.capuni0310uni030A uni030A.capuni030B uni030B.capuni030C uni030C.cap uni030C.auni030F uni030F.capuni0311 uni0311.capuni0312 uni0312.guni0313 uni0313.guni0318uni0319uni031Auni031Buni031Cuni031Duni031Euni031Funi0320uni0323uni0324uni0325uni0326 uni0326.auni0327 uni0327.capuni0328 uni0328.capuni0329uni032Auni032Cuni032Euni032Funi0330uni0331uni0334uni0339uni033Auni033Buni033Cuni033Duni0342uni0345uni035Funi0361 uni03080301uni03080301.cap uni03080301.g uni03080300uni03080300.cap uni03080300.g uni03080303 uni03080304uni03080304.cap uni0308030Cuni0308030C.cap uni03020301uni03020301.cap uni03020300uni03020300.cap uni03020309uni03020309.cap uni03020303uni03020303.cap uni03060301uni03060301.cap uni03060300uni03060300.cap uni03060309uni03060309.cap uni03060303uni03060303.cap uni03020306uni03020306.cap uni03040301uni03040301.cap uni03120301 uni03120300 uni03120303 uni03130301 uni03130300 uni03130303uni00A0uni2007 space.frac nbspace.fracuni2500uni2501uni2502uni2503uni2504uni2505uni2506uni2507uni2508uni2509uni250Auni250Buni250Cuni250Duni250Euni250Funi2510uni2511uni2512uni2513uni2514uni2515uni2516uni2517uni2518uni2519uni251Auni251Buni251Cuni251Duni251Euni251Funi2520uni2521uni2522uni2523uni2524uni2525uni2526uni2527uni2528uni2529uni252Auni252Buni252Cuni252Duni252Euni252Funi2530uni2531uni2532uni2533uni2534uni2535uni2536uni2537uni2538uni2539uni253Auni253Buni253Cuni253Duni253Euni253Funi2540uni2541uni2542uni2543uni2544uni2545uni2546uni2547uni2548uni2549uni254Auni254Buni254Cuni254Duni254Euni254Funi2550uni2551uni2552uni2553uni2554uni2555uni2556uni2557uni2558uni2559uni255Auni255Buni255Cuni255Duni255Euni255Funi2560uni2561uni2562uni2563uni2564uni2565uni2566uni2567uni2568uni2569uni256Auni256Buni256Cuni256Duni256Euni256Funi2570uni2571uni2572uni2573uni2574uni2575uni2576uni2577uni2578uni2579uni257Auni257Buni257Cuni257Duni257Euni257Funi2580uni2581uni2582uni2583uni2584uni2585uni2586uni2587uni2588uni2589uni258Auni258Buni258Cuni258Duni258Euni258Funi2590uni2591uni2592uni2593uni2594uni2595uni2596uni2597uni2598uni2599uni259Auni259Buni259Cuni259Duni259Euni259Funi202FuniFEFFuniFE0EuniFE0Fu1F3B5u1F3B6u1F3B5_uniFE0Fu1F3B6_uniFE0Funi2611_uniFE0Funi2713_uniFE0Funi2665_uniFE0Funi2663_uniFE0Funi2666_uniFE0Funi2660_uniFE0Funi263A_uniFE0Funi263B_uniFE0Funi2764_uniFE0Funi2615_uniFE0Fu1F4A9_uniFE0Fu1F916_uniFE0Fu1F512_uniFE0Ff_if_luniE0A0uniE0A1uniE0A2uniE0B0uniE0B1uniE0B2uniE0B3 tf577::==@@MM[[^^eevv    ##''))//>>AAPPTT[[``rrvv!!$$3499=>FFJPWWZ\``bbddjjllooss}}     #,>?XX  25QTY 015QTY t$DFLTcyrl.grekBlatnV    ccmpzccmpzccmpzccmpzfracfracfracfracmarkmarkmarkmarkmkmkmkmkmkmkmkmksizesizesizesize  d0BPl  ZJ P t *$4,!#$%&'/'`  *$3#"%+,4 WXY  34  2477G::HTYIO (I5@@4MM5[[6ee789:;<=>?@AB  DE''F//GPPHTTI``JvvKLMNOPQRVq34=>FFJPWWZ\``bbddjjllooss}}     #,>?XX   *0 8 bB B`H $ T h <* 0 6 <BBHNV TZ`Vhflrx~V    h ,    &,2,28>DPDDVJVPV\\\\  b hznt z              3aMJH1-0ABv)?7J>T<JR%Y'r*Pf`"3d/)J ,.69EEEYG@HBL$C0F9>4OD8;=@\CV&*(F64  ^ . !8  !#$'()*-./035MT=>JPWZ8rx~....,2..2. &>,28>DDDDDD.WBO1V'>7w@8bN .b$* ,/22#5MM3[[456789:<''=TT>``?@ABCDEI44=>JJMPWWZ\bbss}}HHHHHHHHHHHHHHHHHHHHHHHFL*|RX^dljlpv|fll*l $*0Z6<BHNTTZ`flrxx~5UC0T%13D23q 37LO"p3h<3$(/3B,II6D33oo3n3N*$ 3W31^,343-38633Vyq393.$J3RK3@4*3Y3E-, $+ 'P" ZoJo, **,  Xb"#   $*047:=^ )Tr!$=> Nr~~~~Z`f~BHNNNr~TZZZ`f~lrrrrxx~!6`$L, .J 01'5Q)TYF L8288288282828288228282828828282828288888882882888282828282828282828282888888,,  ,&&,,28>D,,,,,,#,, H DFLTcyrlfgreklatnR!#*18?FMT[bipw SRB T"$+29@GNU\cjqx~" %,3:AHOV]dkry" &-4;BIPW^elszNSM XSKS !  '.5<CJQX_fmt{" !(/6=DKRY`gnu|" ")07>ELSZahov}casecasecasecasecasecasecaseccmpccmpccmpccmpccmpccmpccmpcv01cv01cv01cv01cv01cv01cv01cv02cv02cv02cv02cv02cv02cv02cv04cv04cv04cv04cv04cv04cv04cv06cv06cv06cv06cv06cv06cv06cv07cv07cv07cv07cv07cv07cv07cv08cv08cv08cv08cv08cv08cv08cv09cv09cv09cv09cv09cv09cv09cv10*cv10*cv10*cv10*cv10*cv10*cv10*cv11>cv11>cv11>cv11>cv11>cv11>cv11>cv12Rcv12Rcv12Rcv12Rcv12Rcv12Rcv12Rcv14fcv14fcv14fcv14fcv14fcv14fcv14fcv15zcv15zcv15zcv15zcv15zcv15zcv15zcv16cv16cv16cv16cv16cv16cv16cv17cv17cv17cv17cv17cv17cv17dnomdnomdnomdnomdnomdnomdnomfracfracfracfracfracfracfracloclloclloclloclloclnumrnumrnumrnumrnumrnumrnumronumonumonumonumonumonumonumordnordnordnordnordnordnordnsaltsaltsaltsaltsaltsaltsaltsinf`sinf`sinf`sinf`sinf`sinf`sinf`ss01ss01ss01ss01ss01ss01ss01ss02ss02ss02ss02ss02ss02ss02ss03(ss03(ss03(ss03(ss03(ss03(ss03(ss046ss046ss046ss046ss046ss046ss046ss05@ss05@ss05@ss05@ss05@ss05@ss05@ss06Lss06Lss06Lss06Lss06Lss06Lss06Lss07Vss07Vss07Vss07Vss07Vss07Vss07Vsubs`subs`subs`subs`subs`subs`subs`supsfsupsfsupsfsupsfsupsfsupsfsupsfzeropzeropzeropzeropzeropzeropzerop                 #Hx "6J^d ,\XL @ ^ P h > !"#$%&3'()*+,-./012XY9  OO 456789:;<:"":A  B=P?@ABCDEFGHI>QRSTUVWXYJZ[LN[;$'IJKLMNOPQRSTZ[\]^_`aKM3"~L ^jvCA _ 28>DJPV\bh _b*-ps4  ** T 0N_*p8b-s4 &F4\!$B!="""$%PF  158<>@BDFHJLNP :d $B@FPD $JHNLN1$*06<8:57;<>;1 &,UUTTVV1 &,XXWWYY1,6@JT`jt~@"e"v" "" "#/" A> P"'[v""9   "$'*/04 b" 6Y[[>]x?zz[|\\| V"   !#169=?ACEGIKMOQ    "158<>@BDFHJLNP      " Z ,H"WY&"\] @ !"#$%&'()*+,-./01234565()r<=>?$^gii    ^gii v8vwxyz{|}~vwxyz{|}~  !#169=?ACEGIKMOQ8^_`abcdefgijklmnopqrs   "158<>@BDFHJLNP _kw K"L"$=r6\TKMOL  !#169=?ACEGIKMOQ]6$%PF        "158<>@BDFHJLNPZwOF2\  $J` D6 T6$N ~-[@w0<{k21LW |uĵP=-H؏ -1d6絞p}wTnNjP7ˏ7{3tvv7! (ڢ(ZkwyBC$)ٜVXQN \QrT\'-GjZPVb â {H\ƇlXP$롇i\PxzmWtUF7b1;Z@"Z_ "]Cm&yKٙHHM.\ 6:v,TS{u7WCD_3*;{Deg=q(@HObPrѥbnk~Sz+=4q]otO|zݸsr3R7 O1Y yyQn?#^r AFzo-pF=C˷:&cCXq>!TrP g=ѫ6ܐնUI)"ЄYqF/1j'sKvNNY+gpȑSΚ[^{71<ۘ E,YbqcmT1|E?qtf;6B=XlKle.vgeX9c}++^,\:=;'3F*4R))t%$VBݹ9|VmA\>]G t*tbTZbg4%};. }*8_GT1^G\QI>:K#Ɲ's@csJUQa][QV.݇xlȷU]=ϯeee%B,j"V^PZ@(DEfΟ?6C%9̽~E)uCj~5K"c ֌"#cg5U IJkhham㐒H"@BEȡn}fnl¨nέvQߍo]gL]=m@D0@B$J*(ibp{!gm+Z$(D0!@U,fTEi#eXMFBR>bUJ,мH cF?} c!t$wg "Hx\%;bǴәckte>ӗ?"``Db®*92}܂J{#U*mz،lH1 cX q[#h@3IxfB8ڣ DGDV^2K tBf`0 4\tyDiH1&ByG&sNG6!Z_W<5_ذ6"Ѣhm}gsarRwxdC0 $$pل?ͅd2,n31 m7|鷖ҭw<{\wQUA}kJ^ t3Ȗrv Ȭjk^, "hϙj X]5`0ILbEK/ h$}2=-ќ'M+[rnҷWjgA)2?0ñ;]p*g/`NyCm獆 8xH8yyB@`q͵r4, fj9f(; :EʩօnH̟!D jA@ = F:^iZ\%ފJfP.m YJK_ew. Ρ(.ݔ۴7f8GiwutSw u\N4A0Z ҔrIGVh aߗvGF[[T)]f)uTvS $$(g}i7ߚЬu'7.ݍmUWjA@ Ch6A|H}5H7d:$Zi n +W3}ػ:IXT.BZ{Pq.O}~OeU`MuUЍ b\-Me\*2rR: HiuMZIgV+]iWu>TonJ6L.rIY"F1ͅiSe+ Le9$N#O ٩g\")RLIgߧ>2R($ 4M 4Iɲ= r^^eʰ;o\^ōXQ9?ek֠R@V+Wu'!7z!D~5\{Mk9eXPHع%)[6Jϛy<ㇳV`OU]xĴ63N^1t,8gS̈́4K:F+L~ Sk@p[fx sYRzެ\%e}=ﮙ*F| 5r%r(࿭z^-"2Mei{>UwzKӄp """Bh2R#=۞9 {CMqva(}ؽx5ZVJGDEM=BJJ"EH RxϷ6 qA1q8d-%2:Iy 82ܯs1#0˜BH_cˊV))EEѽy1WQY2BQguw˞$ݝ e3("h? jʠYG^&Yuz$FyCa(̩ע7 I]ucRbk5Z5z?ax&QkVVamzTV-~8#)t:5v1Z@6#سwl(>>AAMϨFV`kEvgrǭ*'홃xl55Q=8 `V#<S$ѽȴMnFv |/Lq!f~W{ՠN&ł & L4 |oTDyMiAW[Fd Wt3yh|4YNc2sf%Z`iKB]@vD:dꄕ3p $ʥ>RW;q99v򁁗A\1VN-:G ks  .h bDK )0\Kl:r27O!@#bb|dAALb @d%(#X Dd]{d^,Ks/5y"y=!ޘ5C yޙTvAsO!v9G76$> \rZ o7?7*ߞG=ȏLo $Fo&]߅(Q7;%Rt 5sK?'WuHX(\T_-rWl;5y/ux#0*{KXEVVyiW=p# n.3e7\G,:QQ+;Q1:1@DZf=2Փ⺮wI"BI- >wy…:EЭ̭|:&[Ơ=}>3X6U X~GYƔ@Av.~G1~+i0.^wQtazb$vx,bzS-Fms߆W}}{ {~S>{5~0 ܐ֯S1#>WE~p(%Pd+^qE*Ia?"j“EBnAsN6R,r 7We])m"JW^,J]򅶳Z}潈"wgoky}͎"$]:\5ȹ (V`z)99.p@~7$Jũ_Gݞݢ ,-wNobQ} PtOYC\*S+=˱ǯ?HD1&ik2`_]S"7^)Ohi9-':BHFK2D--[eJUUZUj(AI$U;i0V9gDPLUR ?rKvO̐m |NWJEꢀ޶\njPݣ57PtNtQk35UFŤ`2ͯ$dNg֠ޑɪ%j]&3'1alu2 QIy0CyUm써Y*Y{]1fl\*% x]J%(S ]P[{kϋSepwOh MÑ|"^Y#e']pLHvR/l[vE7Y=oJm6y$zi!(W'ZÎ{1 5C[Pnۥ[ gb$dDL(E\pN_3msmjzBbT\*Bt9`3b;Nh1b7/\d@&Itb$CN&.N~RAY1b @pP o7,wGkgu֒.zf/[ ,}Y vM}'޹}bS<́)_"vM +=#m=Q~}֙/( E*\k>r%(H ƥ(>(=XNv˼첥=^egߣ}1CNz9}t KLO`)fJXiAT$s9\g̑ `. PIx5_;m Uppsc 7y$zoԱ=UbO;stW„ ĩP~F UV02ʧT5cX$ElspRqT k@hTt:X 8*QZ6HBMl Gqêhna֦֛L(&X55VѢE6_-JFBNf40+Џ5|6`ѩ_4ّ Co"81N5, @|@B$w@GڦC]3l*U4mo'[>_?`phxAdEtzdXmvahxAdEt#O;8 >_P)]ZOb0b8AR4r<DIVTM7LQ|<@(K2BWOHRZYٳ'X˜hπ!#L2el9rWP(U\JU-s,Y֬EڴУW~4dȱ 2jhE}ƿ$)ҠHȨXȼĮ]4KwgD)20*BUwV! BFkOSb`W_p/6)=5L޿,e$H'QV'dVF3 ,H(hڰqpBGADk#&xQ5y,p%oA4u{Mclqa/ܦr>t#oHB!BQB~9#@jM)wAtUes͛~YX_Q3WDPΏJ=rFŌ!A&6Oi5KnspxwXڳAI!L3rTI3[|bQ|=J ,[iڋ2[VG0 B5A8#b4aoy2Q,{[M/v^09MڲD" mf ?ӡ[ZB"RJ)RJ)ޭX! l八هZ`F[Q L98DTY% BFkoh @FP 'HfXDIVTM7Mffw8]n&HfXDIVTMTHI JA)PB8yfqv&M&eïYE`ع{=N>/Ǭ=Gy+XA;>RFU4R#\^0\K.vEFW=@%YM7Lv\d'7RS>TZ(0CPJkШ Z3 ,]VX_LApћ7']13Y,*(("WdK$I$I9s HH adŠMCX糧7CR\3]/ތ{1sq2jt「Qj (u>{F6AadpB5ʱ,DcZ/5.zCM[oz4Au, T*~ K*JBW0@YU"2ǐ>ޏ%bcUs~[Ѓj\/toOgUpS](Yj!HAdEtôl-`S3.>6H .E_hWĸn\M{^nUh2SB*jBSA&(h0e*Wnd"WoS'׺C0ql3f͙XJę WnFBR /D$+hXƺ1+F%Jl|V+B1c\p3BfxA'%Y1Ff7Ģ0a*e s:?ѹNE=cdP? *TPB P((y GG@lWTGv4(1(&OO;$;}6ȩ&+|20IjWP27vgϙ*Q*SC5 3 b &p$P[\f< !Քμ"FB0b8AR4r Jj:h2[6r0AR4r Jjz1#.տy {Ȼ~OX i '{3I!L3r&Wl+FbN ahxAdE,ml]ܹѓg/^yӗI @%YQ50-q=ihji$ APblCÕb8AR4r Jj:h2[6rۧD )a9^%O+PE֝gB^̕k7nD )a9^%YQ501wptrvq^BQU ӲSe0./L704RTT K;0A.{\k 0q26goܪb7b42t,n9Si7c֜y >[Npf$$0NKbP&loEa ~˺(o5]-32SJV_cQ#!K` ⛦l"b N oE,sO a[=vwy .:1W/Fc0bd!A1 )a9^%YQ5`4-VtD )a9^%YQ5=ƘWW(×+,%iAFNBT4t:YXu7k~ ~>s(u 'jm> ׳%\dr)?Ƽ\P@aSxdi|*uƤ|0oɣ4B0b8AR4r Jj:h2[6r0AR4r JjzWMd)vdYPEMCKU~Ψ16&L2 axeWP(CF5  w.АPP[=J%ϏN8?]8 >ɭh !B!BH{cw] Y5vv'!9ѿI3H{o4gT0KpCTiqjKaNͰ/n0@1b8AR4r<DIVT{qTBSA&(h0pZ""!c`jYx=tKlěoVh|Imq0)Lc<8"j)'͙ WnaXXZY: I (ɊtqlSB!B!B! OߏJq>`y D0/‡ A cA 0KK97Q@H DB-BDFԆM@HDLB]NzQ7.}BƠsr\?o ܰFnב0%͑pN 4کձwFz29qetMwDQEcI%3}@ /M< 1rGԌWjm@."L(UTiq!A1 )a9^%YQ5`4bphx Z칏2'>\;Gͺtq@d ^\:&r{ $spE]m1p*ꓥd"[+7%xc~{;ٲ9EBaHPPF,wEdրh Q#k2|tl! _k'aLrM(EK,ݑwBed%/D&~ItF1 RB+Z7@8#Bwg㶑O/_B|JG(\ O Pe`U>o)(( WnFBR /D$+hX:]m >pf ҶNNBR5Ѓ-da:2Lu |{zu`?|]b")Woٸ.+ Sm&7_h/$Qur':BV '<<χYEv?]| 2Kʞsl!o\Ǽ%69Q{+.&9B7*Dٺl>96o<l 7%V^ا34VH^p.OC$9pT0M4v+4NoɶR #EIC#UadYE,h Q蠥2 M|'}Be52BȽs;Dt#rahrtrXPI.XUEW N]t&h@L_>"vn߿]ki◥>;f +f',W5`rBj؝mD{_aJyD0N"ru[B w1 :0L1$+ yt wBaǢ'["'Uq?j6%s[m%+ۛ#vB?#7ͳ |l\;3"811ލUC3|jQfFu|Z>FF?oOѦjk8E~^Oa@MO9]c+)"S AJA$o~Xad5<q}vI2B0H*s%~c֏ei2plD@n=]#;J$)lkE eCu7l()N㛇YVV/lluEQJTH) 4=lkga٩<~Ln ̘Uɍ'3,c8TzĆV'_F)>BegU*XآIvI%HtPfLI̘1 Z7ki(ؐw9#K3"Ҏ8 䡦dlL͝T@jУC-HE6 2:49'M%r岓!ˡZv= A]鮀] .{)7EkCyL< 8iia@YC":;`MF[1vLtNWUFN8ӬnϺl+iBclŪFhV4c6[!w:]8/6-sfSxi-㏴Q%=sqȜ˾wp#,<T8q2x_ۀ2[ `sYbTo a0&Mc G$kF;x#焍,ԹiG!L65{adpqذǷ ts^$ 9:Y,б)75t:[_oѓ]U{"X{YX_/1 #z$syyL[*&%$(Fй3 \k&r1v*+t;3B}P_Kxs8OFZF9Z#gvy! 'Ud11&l(ލqw[U y5='_ ba]8`0^bYN`jPjέFL9쳮HȬ%[N,k.%І]Өzi@G7/fH8%CEjHu>I'C."ŗxX gpaBB]'rX90[.C,˰lk4fx )xG8d\o :HH8f2$dWC+yį@iCE Kex:Usd۲Ȉ$"lngbM}~E <:s#UuQ"(h]P1](FMɉ=HIr$nij5Vɥa=4xYSuY})L84$6gv%c'i +?OKԥ^fiK1E'ylh4S'שG#Y]*>05VpFv6!#9!IYQ:q73 iBM+ 1aa(pD͛Exw\t`ZqED -B늵K.+dq脳HloxlX3C鈎K^%tr 6jv<˝{ù} N8YGy,ᓤ1_q"&d."C#v Æ6+0_\%xfr"9"uHkojLo$'&ӡ˥$14{ lbնCgniKE<ԹjZrac#²e(3^5:cu췔BqK.΀d@#K{E kO4DkH,GIuh;m`}r5R,~f]`\T6h 0kqR0j/jzz~$4]A)7 sMo㬚\?/h0-f9QE`^N;Os`%u^V+4րd^c(憓E;wGR98ΌAٟmm!ТDg_ly/'0ZyDXXә$ϸC$/Wy 3~, t15 >')i4=dX&}t+i*{5Mh+5j3 @n45g|0Y)S$*4W+|(S|"nRQwԃ*+"U3:R$Mf&f`6;!q;$(.mcp#%oEoW4LzO0Z0 Va 30od|:{?Or`']/!GH}_F>쀉\c 6'CTy`)W y_w J<13_#48h5s(Mӄb o6R`c"fOn7flXw fKݭ:3/`uo&ʁcPKZp\vth7hLVy]T?'y8U-$&w/i*NTtDEZipɏ"SrM*3i+גHtJ!>up*Ye=EvOp7Z,=k5`+/8^Izc7sd8Bq.}H)4 fl|<{nebJ[nLjPDdK@z+.|ؕe9dDPݽuȔ)px4 gZ~B,1ծJɪOx;Kb1v^[:NgְQd'G@K7$;Օo62:LJl[2]%5's.ռ(nFd[:)(*xhߏ[15Ih$AsU-X3_HoRHnC!،bqQQ5O|E.5 C8<-:w ].L}Mn5)b L `7 ,xZ멼cӫ^VVp\[*colY« Du}dȴ6+z+ $ 7qC$mO,,y+gF\ؕE DRblo'JdB4R镩3@ŶdV!^wIGkQ,>Ώpz=,:ޟ"wm`#)Fr=<Yr)}Qk!pA9  "(̲*8$JÞz7)$ca ASʅ*t<C'ҧ8B[5:XNo =׿/WiDCI~́-$? I`UJ-iIoS=ffpU!-7PU&49`DamzA/W#矮䏙?&02qϤH&E3e,'mȔPP@6tC[1IF!@ m7PpDf^n-F7xMb7Tɝ2wv@&QelJu}zga$'dnp{\sz ?.C)Yv '=&e1Ǒa>,AU+j]YgXշn ZPitp4/u?h;~"y!A1 )aNo0p܀D*+*F'0K8(9JT]:Mt˯Šj WXT\R@(Bӥ7 0 #(4g}Wk:BRӮfN 21䩥^iDЎ՛E{3*:)d*û# #D|]a Җ2j[od 4v2|#߯_vtZ w1ŏrʮ0ݢz"k">%S?GpS2a'u T{+FFS0% Yh3dʊcw$gA,MAi0d(G;& #(b겁 (Ui >0ËT}3YpNqM-;A35G<]BOrv2Y?k[_J }{*5H}`]Fy=<ٙ\u/4м>a '"9SN;Ɔ`If2RȧPjti[azGUYrgo' ׿ܫD8oWM}]<bo <)P4s!6rX^NXN?i .PCO[?ᚁ;O.,/ק*9r FHmb})w-Z|٭]+bccoky | q1"A 6+[]iDߋ$4l<"\$(Eb&s49MEgX3W 3zITFw:Gm& Q4 (㓑LM9*GN T[6oX0,N EirFQZ.rۃJK&]# V0$ _D!iF>Q:4 ~H(i쪭jOopl!텒 2 bf:E5HaSXp+2vN%rדJw&=l9d{`7!F`}.YPNeT&ZPL eTp{br"Iuӱ5} *rZ,ehO̮뻠`#죜oƷ1Ea+j%3T- ¿ K $ )kUdDu4>g|m,*GyM1f$l2QD i-[N? I.|K}U:w#ZyZNSﶾ޻mܣz,[311n{anl7ٳJOs [̦o_̗elq*D85 f+Y|hP9fH^:EQرV ũVV+kvfm}Z`0 (JD'vYrUb%\!ן{Y"6?|&cb%~st yY?tO!.+b3._~js~{-Kɚ$X=}l GXO9"ϼ{PH4vF=b^t}jC|P)z}A)-l(D fICҙd>7H6q?WHdQ+[kF9tg a{PO]:c9"?wkAaI|SDtcEHLM{":-e+T8 oU}䇖~퉮G$/%;p#4O mTw08D_@PHXD*&.-#%!95s-Oɉw/TuS+oe [0NC^)`KQ EDDHu| WvM<=pѧ%^}QC.9zRUdrn9XT*j\תvXi:Vmj5BB2=jc" ^DLlOHr#fEQ}&: /Ljƞ 92 (|r$20}S̱0pPKUxC@8CuW>G!;s$II038lK.P{諟YX2 Q$I7_-8)1ߪ7MoFq4fy(Rd)Soe;+*.Eͽ6'Piti(Y)JVZmVPҖV F-UZ9&$:EӿFQVuŊ(Yv}*ZtIrlw n9ڻj yR3k[^ݦӤ?J/_lEr'\SUpX)|TYߏcc9H$ 33\sι9f$IJI$I$I$I$IJ$I$I$I$IlH$ 33[33333l6$II03l߿ v-±}9H$ 33K1q1>l H p=黀-(m{_iaxG< ICyѶCj&,,|,%آ-F'\&orV^p[8^.%3m\bF'€3~ٍ& 룙҆k]\ ["9.@j-!TFFPK3Հt𜘼zwb1mܾ#J! xI7څ88ErUf[Mt3z{WY[Lwiam,ugq-ejUK7@j.ܭg𞿼kͷZ %/:___(d*-T-BQ,0>&ֈ165ruF(k) ta|{H##MIQMJ۟uKfqZ2gmZ+.e͝[W zЉmsN{]rYϫ}Y<@A<'֛/RDlS\d+ޔyR3\)1J)S?0W\7ȹ]gxlISe)SmS#\Za E&%A)RWzZԩFCSɶ:v̰ˮ9;;BZ3sn§G2ri/=0\܍LLXX7շՀ 잿gÁ7 0 L =@ sa!8>p(oP$kT$rW>$#H,KՇO@(#68s?x!GHx~!W>.O@"=s/'<=Z,lO >CA 5N;O#F6B/\TzOg*P((ij~y1yaﴽ^Kb 5865 # L3kny4X!C !ܯރڨ<`3 8,Xe!M%@0 = }m[zW."q(frlT_ .,X{堬Kn{Kᖕp}s_6F%D͙TP]A3)TP]%ʂ{JZ&qk4U{tpiWHd^IdZMTO;' `Yf}[ &|ࠑ;wFT1-0. ʭhpcS޹)Mc\Μ?FvG.h Nsrڼcx1 L zF֗è& w{n+W4L; ̦ա`^=|ФM $f NU::r!|>w z!bj`1㬽nCfswD\qD$$ؚLV^ *=6dz꭯Vq7j՜ek\ܦ-M*Rή={8b51(pp(4ļ縑Fʆ[ЦnjQ3GA/: ՄbMR kByu^`//H%RBpT^1iUgd-=nMvpkz0iSȯ'DQѦ 7`?J24eJ%Te0:_|(*f02  ZZcE֍ŧBy*`sy;pEk tr$ y[ _0^Cp.ZM 1p;dK/8v ScE@?D<ʞ#ph~>P<_o\JA* 9A``ftM8$!'b^uj\^n<:zUty ׸#߷e;}n*֒[H#(9r*Vw%c>Or.t[Rq B5,ܷ7M&ګU)(w OIЪڍ!:z ^Z\kvZgk_ Bzd=g}_sQ"BbHa3mᬦ4:L Κ\!?T4Tk! yb!2@隶A9iu:%5P'9=ѯ|q57r0;/Y7<:= /;\ B01֍r(/pfD\ntQ]`{$rK~#XI,I\ԅN%w3>Zj'9v57[LKS~~Fd ]9<B*"4d% ,)ҺW|lQIZ$]>c7G>Dg8gvmevFdEBn!Gb?9L J.B iӋ}Ui6}.1/sw`ЁT vfΣ1a@o#M݈UWPV;jPQcjK[p<_yׅ \(p#o͖ Z.EEio#i.eN{~4"RjndѼu"w9-ВN9w_q 6~ol Rٜec;?6,'{W7|/o~lޮ|۵eۋ^fn\{- #@$8 )>; : 8' 6}_ҳ'##2fDTFFcTtF`Rݚd`^F|31?3 \&)eZ6i尧2vuLy*qޔr}.GeyAѹ%ܗZ!EEP'3ja66Ʀ^uquIsic]7ޑ&s[?XLecmj~z5%urǪ֚}riHOケ rOc8F1_P҈nKL`<.T=aa[q"886vS<%Vj49̵k$?|slsJjL^dOVjioBT˵{d0u՝ $5l)9ּNz^e4\U}.^/U{ퟚ|;eg KX;e!X< ȳ>]nM} 6ki9a_/o^r6Gs9Ͷv6{37u~Jۿi^~-U.h%KM{8e^6:좦)Y,qgs~鮷Ko/_yɓnjykqL&w]o;gAl`:U\č $l[XmA=(}_? +xf+kMꨯ;~v}Hү^{SjwpcƾCh%/KaEZ]Mt6JL?xcy}krt_ތ#L$E27vm\_%X G bHؤ&#ŬآjL&D|RJϪ)qUf]97My<78:䫎f犳.`]+\+&GS?}flK{ö޴7{Ͼ޷CWMš"%$`IHnVm6(l"IIQcGvxkʾ-JE>׮q"8L 3$aNRА4,H7U_`U5Ue]uZ п4T 1CjX0#nd#<[ԖI+Lze.Zt eh,SS?j,n~A!aap|J쏕)SήB^p<@(ZCPJ~taGpgQ_kmh(裚{dXm/PQ߸~-:4jzc:rw?;u8:( 102pXV9zFmoG"UPQ% )wJ"UWm\ymvNb,=$iK}OJ_bpbHI~ғYu}UYc`9YU]\!:uk>;2 nEj }̭+G8p@ %! 7e q31gʲ#0 /?>&;R= `\^~h"Bb24Kپ Pu@QxܜخI#X8xEX;nzv 2YAjBРqjHFw 1FaJ3*9p@-{~]?V*ZdUUZ1KIڡW#J;oN+J])fuV!rkJT50;.~8y@|[v4;VCXT]u?Bu[46W]LP0!!˅ *&&rrr<"/ **jǓ儨TVK.M`ߡ~A7I'QqTCL(MCV*9)Q4(Ie]E1>]MI/ F&5 &u ƅgu0@`OMnIh&STZM5լiydV073sfy m693\a晇[AZ"YlaK,8K=ք2W-\V&s4`]"Dv \ ؘh`S26'ؒv0mveaZ;t.f!-J_I%C 8 0HG+Ȏ;.kNdq)|{OSN:ӯa>MyK{}#}>WaXVVVKk" EZ h}T=d*`ֲ[@CoUS 6YÅ 5Lڰsl+ …"BH,'J8(X71xzWxG MgÕG)Iʆ4iKY =eM,MD?9hK`@\ *3r+.hOunvz`veN?wO=CČk#GGC#8sΉvdPN*St&lsnu(yE)]Jm 唿D%]-]s17ܜ;U䩘L GEEŊVD)sQsʊS.QEw|JQIGUETK&JuT[lp]J=#,c$byputzjG5g=/ B^*+^{}4'֛alGj=$z豴 @N.=}&a1zQcZ()0iIEVZiDUܤf zeTq:ghia'};ȑNp,zTm_>Cuh@l 1ėk8&79oq%x &r0*kweuBBi@U PU';J0m[-= 1 5 FXVqBǂ (Qz$y8_yqk(^|]%(oDMMN^3TI̳XX|M.p84:$K--}+֥=K Yr BR)'jsZ*:z F٬?UMvZkNݥG=nfj!_ ]8A}E1&hcA%JGY(T_:`0LJaC<<pHHQ$%a&DZy^ h"Wl(4U54[4--iVr]Ǟ$'N45ZZε@> C P5n@BVc0~c#x?~I$3Wđ=P(R5lG! Ʉۥ츌Kt %%sR}B!3Mb1DLVFp. ==7zoZRIRZMLX܈5]m++}[[ߵ֞=߳oСuc;qԩg̝;W…8-5AH<5L:K2V2U4r]b0FiB-s󅠶maC=-(L  !t`N)&ck3MEoB0g/~,\ڎ/އLe/mFe&r ˽}_k?vt@}]t xa75ujK,AbbXX8XPX8XPX8Xh}1pt1GUwM ѓ._lJj;Avm{z 03XYw63qڛX36aͻ/zq9ޘ'\ ZZٔfWO d\/6.n^y澦NvS;ڵbλ/S"_ȉ^?4ԩ80ˉ_?qǁŕ8kx#H!|FDrE ߢI$[:)2ȶB#G^V FQjȢdR6Z֩ AA~v6=E̘;q ӱrVX{300ld&V nwM \YF80GNܩi=ǽ}N }-H\UxRߩ4dG2d"KgWf^}+!K㻲..E Rfx;y "vtHVx5zD 6df-jm.yA|GеYw2'bRwMٿlރԢvEs4s1q׵0ON 9U㘳ܶv~uQv^,< cr SJA^@^dOOL*ATs`K2ȫu57j-Lƒy烼ɝyà jQjH)B u>e0A8(J03 Ax4a,8"S [}MXkTի ieڶGKm%'DSɚLS6FRZvgZ Tj{<IX&`vp$ %Lnh|C 7o|[)Wr^@|Iv)LϢD*Noʔ=Ro^{-ir2oYvoڝCpjwSEΪr9w{.~. ]Vk*]w][[>yS@{%L/R VL)k^#^syyIGYkBQƌrLRχWVN(R{g⸟~դ1Yg-%ORJ )()4'/`:_e4*^oQ@r؞G:9q21.\Lqj o'Bp*0a N6RqJnMCmtI[fv3_m̷U\\ըU+EYH7ߍ5` cy*iqi;rhHư (s%^|7O{5߯~^<*rKwBi^toHOwW>js*ՐVʥr͞G( 6ΏEKSq"7եV}quV`jH0q[Аdƃ,>fzfs/3>őH9eMITHivp oȾfnVzz ܹ QTU -[?&T5\Įd$1[:?hJ)g+E-\nv|4119!iCJ|zZq ȗ0YH8#nC4ٛ7g:N_nNtq}56ߔ#W=M4UNKΜX%w |UZ|ܾ|R BNu2˷dW,1wϭ}>ԣ.[L$bl+jFDdR3UƠLeBl[ny}BZü!ûԯKf>׾S묣R#agԩY!`.DhbE0l(my D՚oJ]հȟnJZ40UZB4uw^M_NJ2{PʜhV226[A NZha654̤$ \R&ZPMp➁5S@@Ӈ933#xˏ쑅#+}aX1 /rGq,.WӀ%;. 적Sҕ?=:d.VG (.8],^7g IKr@!ؤ3zŦ|-aS_~0įYɳ =/=tpJ !Yl ZߵXqBŹBLtPbW9$\ݏҘ9 @,f^1f}}& hWضZ}폦hכbҰUFBB$r1u!WOM%މ>;RE\4aT1DONlmI/ko΃ryI,w)I,5F yo2h.v{߱Zܭ<%*FwhɉƷ6fޓ i{ݨܽn.>Eaɶ9U,Sڏ:Z-Ȣ}譫j/WS٭jS)Z/1 6Pv9z=Eq r9/:mxDRI.|IATJ1D̡mR\WR>A2oLpi`pظ&_܋怂(Ā.2xU(}˦t} ,a!~p4ɛ|0qY}K* S 6$*.ƜGf_C{q2+-'ẗ́p<]} &9:%7 N̥ r, |؉UIb/ع*~瑨:5q! $5FB8L׌Kt $"I*%vX >E =|@w6I3(NmTH= tqЙn!X'o?yX+$G\3z3{@AN_:e Q"^8`@DqpcJ> 9Ją*mߒJZr&0ϱ1 Qő`o쓛o閊 e.2Z&Jo];EQa<Z^c=?H'0Pd(̵iDFKXϪmU0OcJ`ʣ3մ(F ׼~fB[s1 RF»֑cYBCQK64CGk8˨M-OĚb᥊顯O5u4ҒzEAJrYK_o)3L9H} b'o %~g3Qr|CqDz/Lq3`?X;R$*] J] )bUծɋ)*u3*K34M4S<$-yԖR~Pnk=SWf w`p`e lhsXMW $Dq\ `^ΦZɕ_Q@VGE Ϭw θHc[+ۣ?:TuCbf;yW _ЗS_FLDӤDi$O;fl 5|y1Jӿ DJ7m槤dDT@ONo,*|XTR٩V{z<VSDIN^VHgD;9A]\QPSkp!A%u~QR`DvOۮ{8&CGz<' 01cT/1Wyw/GHn~X)F)QPˆ( >pڲ≦:RO7O6K)";t 5#Q&k< f&t#nw#pkgՈ˾6-Sçd~΅e]"nPxt`_߇gQQI;W6;Ep1!ͧlqN2:@ߔD"nk zZ@O( bgw*ޅ`b9$8rz(m,z eJ~d݄8{~9z GmrQșms:M0C)GB5=z+r T^/CeGeHk{\:2N¢אNYIzI!(SGX^R}a#=KY7zJVxrjVNr)|U33=YP{[P[zɭKx@vTgZ~TŽUT M0jp%Y6,$p_鮕2SC,,*|T .-n`T}9T aDimޝ] Rī5!cSݾ&wɱn(r+a~!߀\:$"DWLdD1VZY=ҹQmOfs(!p0L{+ P[ZvI <“TPX = Kg[Ag:; ۲aG, *iq0/5tpaI%fq?TKoȢ; uIP5Tѻ|} M@_Pf*Pn!]D¦> K? t#)*;5 8[A&ڏj)(#dL r_R m9[{X?|[zqfmf;A'/FCPfL"xE?72Ԛفϑ4advF)m(*(U:D‽\:|s:$\V'W( i%bdk"txr3˟/`wެA{/-RAW߁xGA7d>پro_*6zZkJY˝{KUop!|AKQ, A-BQjj(UjhTX  vɲ05kį#"lްm&IQ&r^cN8  y88רSP9^-{S+kR3ؒ-K|Ń}E9-%%a Vn)ʋO,;b: 8y"Nv.Mz\S5I(߀v2;kyȺ6P-S} ftdzK=22>eٺ(Nv,nsNrmvqvDE(omr=xm{UGeX {02=[oB(3GoۚĜHNA[]y/̊?Sɓ:s,*ZD]}o0eIׁ?m'5a8#{iԢ{` HB98s(Q Nm>Ӛ Q21RlGlmU%ǠTAPD  %iS[_Tۓp݌ab7|Leͬ ȧS`O1$/gg#C)T5@'^79 Lx(vAj r;I?$@X t9(fG馐۾~BO鈍dʨn0rk!!i'~1ы P-C<"ȓ ,f]Rˋp=HګwѠHNǾ̪΅󘉎3Ӡp:M2l]} R),r0<ǢƘѯ.-ɐm7|g".4&u:^bnُ+3[w+.ꊤ6ĒսTr8 Yo콜'/'^D1!o74;of@L?1q<+CA.LA@rdS if,MZi0S]HصΊk;Nն+ANkYvRs{z3`ҔYws uR7.ݺN"<!zOw | 23nY}wI,h:o%Tx5x |7ON+MBYM k4S,:+n@1@Z\Pz83q*+Eިڻ^Z*eLeȿ\ >IuS'2<5S?R(#) B\ov y1RvqS'e/0PX ,tn%>wZU6Y?!y^ȊvށҷumTAI=%\ijӯ'erm=Nw=w@`xު">KjI(yVw_CB/6>]Z#uTHb'\3Oi\]Gxo,9; H53 o*? (=7`X  8qN{Z,|9Ƞgj8`ԜS);㌮xoQ~ˎ8qט5fqΒ (LRNhҾ^;úW+QC|ߴymO*h85۩?;mb? s"+C G1Z?~&Pp408^ӞGP1K_oHgi+s&فJ5E1+AR'w 9_U*% 0^[i~xwYpVuօFux杘̛,J_*I+(sA̗ 3r_e+nXppb!-8W+%QFP+Ic)s)gi\/ *A]|^/2q0IȻ.Dk-~)4htG{?e:t2 P2aJfl#~F2,Yc'Nt B!~/AG&~s iЭgP oֿy̬L*(rCj~h A #˜}{)A[UzkVIux:Y!/ÿLgb{{[-Vz/ ;dpc!Uov^74 GA7UP+ L"}2k/ i\ UL8=lKne"!\&I4U}.zӋ}EX ݊y+O>HyMy L_|aX;r.nZW ˿&Cet}ҞMj0n*'Wrn/y@yN֍g1&52oYT`RjnyKȧ ;=%}54Ic!h?Ml& bc#Hyk'\eo؟d=lm8W^ V%ѭDvN@;?ԭFGW{x;cOw$g9qqw'VgzvYM%Ǜx"?N*WC5Q?QX廽x??oKpx~)ݘt1hVbp\MܻС>W^R. o ٯwOU EoЮ4Qў"G}pox0 q-E#%@[NY(c6|+vk(]$Fvp)KcY$#,^ro^xü z?D9ybk_4je܊~-OW~ ooz\*u%2AS"LLaTGfUrjT?Xc gE1!RyeZFǣ;TSbV)2=:\;`DD.cG;~ 3a1Y89 o.ѡ'bAʩל|J*r4/(SePn2ZmTe'd0b?}xaDracl"[˫X[E+]X2k^eLqXo58dbMMD/nc?&?v"Tfh=_m9.^Wt햯G85>-Ҹw$Fa[-0lw+xn^t s).eA8]U kofފiQ6W0z*NFܮ)fW{0{,W3!FrMF_zuG1͑Z欤*cܷ%Zr0j|HH+>OL +m DEj$>Bc9gXINi52uҼ֔ 31X~K\[Ij䪍Ԑ$49z+|5;JOe+Rc"ו;7 e4Q"]LJ Vbւ9zJqٽCe TU0Udfbfm$aNyށpݾ'0B m -v>nҫoGfFdG9 ^%b>ptA@y'$H() k;do&r60=A'ZwGe )-\͗G O&  9 z9iJ̷ifԸ;5A 8ghXJEa͖뼚C;|_Kǡ5]n&3`Ɲe^u ԍbwGVB1ԡA#_ זLG_nȺ2 ΓӹqB]7s-M zfrjƥW:i wnw{ ndP"XJ%9j'{j4%~zi:O*0Is‚«yI"d)[H=CY0UGU V6cuX8zblDm?=}a")ֽ}7p* UGK`Au lǭxeֹp@ ݺ1$utjޖVGD2O&zt)~Yޑ>Ά/'z[vI.M*]؝3[+Nv@zm0Sv4䀕* u8+ OHW9Xڽ~3Yo/2( a ɶYo7DUGJkށbAֈ _Dx!S Q bԿ] *_;0?I.6G1]kH'Tų(7grW0Y1l]I>OUhFtJdcu.x_ wȘ@`#$ix9Sϰpb厓Kyd4pl$J"X6,+bWy$9-C`=ԁu$o_HhVkh xw`r gk '=^9q,i; %-y _Jo3km6@Lcۯ úk1_BTr{*taA+d/OYxaE=]fD5)4rhT+ F ӝ@yp(tNG5ϊ2biXuPW4-M]5B! 2m Fnga":]}ԈoO~<0G6A} ud/:g6UgSMu<:뎬(qXA"ã8S3cʂ^?=1;/_66PW}lUm0ix zInX/[PA[ (=X/tb=ڜcuZ8rTBҫc.cA'%BKV톝C20<4]TP6P^^6r\5?fOlVv%mo/),.v-a-PY8a;I鼃0t5Ivܥ^[Q ;53ԬTKzu9䕞(uRoo8Ӹ]eͤEl%e&u4E"BX)'<tXLM\)-a5cb>2K\ҒIf00F"y|eAڹk#o~c1[aX1m[މ__q?wCb2b ۯX$˯ٗ3'oztßOL”~lkjbXWp=mZ0 )}UVA»J!)V)egNol\R[{ N[ׯ0XCOudԃ]bOa31CqDbwxIg4n$xbW$ui0l9YXz7~ vqKӝ9ŷO5G吉O`۟8%^P>'M9'}ğNB<{H=OKa EǗ٭q:,ߜ~'C@sUFZf-EAf0PǵƯ˴[n󹽕 ])=2 Ahcpwf|{}V׊83DpÚpv#h=^'*!'A' q#3V7Էi5<Nl2[sWǎJs:5QIԓ'uf:e5l^'dO&R Nr\I͢vHz[8NGl9a&Q;8{[8{OdM]A/sDoRSfm&Sp_i_ ʮlw!\ϹTT7,W1DL5P]=e%k*0 ]?q85,\g-փm#f78C_mEPz4oR&1U.3SXw#?xRfrG4'c%08Eʓ#w)yykK*;G6|qqھyԫ7^C|ESmj, J1Ίݮ(m(1+LVPSlGLo2->R!ҚA?/!Hbhnb⹘ Y(IM:8NeHʦ(Oj`>MWB!/ 1ݞL\il-qda@*Fd"Ӡ:Z q `T 8m€bn.7G' xl+-959LAE5p=0S:2u<\Ri&D=BBS) }[ms`\Aa6HEx %!8T¾ct[Ձ[M?,ӕA', Z#Bm@E| Q9]Z_bc4 f|+x3uMK&ߛn{h1 gGv+Q%K8}!:4Osf|hk{:$<[XՃ 1J;0Ds>z@Qy9 Ŏlw sQ4 m^5%ݫ#bÃB29KwuR7+=ŅwBn%k,q}ވL,3QsN%5|tc#A{IA,Ƨsw@ccAΧ_@ɓ9L]Ĵx 3X YKAsmŻ űu.>~ο+zJP*hM>/"jECKAґlT4[Q 4bI)D1*j?[ED;[~ZF {F߉֧V@/ņ 7V'4kcVǑ e՜1/t!MlѴ ďuۑ\+08 {P.}epF՝* v>=;ʛ6 "Q zv:&&SoěW]ن(= _ O^]r~H) k9q`A x;ɻTK!_T(v0\랎]u99+$~r|WbZ4H5 o0^bdFrLpʉk%X S;H GiᵭU-O]rcǬ]dlDnQAOB]Ѕzz)|ה1 1N,,lF|W4m+Ϲ?Tp/%@I4rw.هM;nF"刿C0< a(ۿWBև؝3F6u-OmrcY?o]!,#‰4P2X%Xzh`'O5NAiYwY>x2i3_og-v0B֙|~DZ/a\BֽwBWA%uh<q?I"+7稾ÆJ`}9?J*_O> &NoG{yMh $pXį%}r8W%䞅w cC15aa^}IzUԻ =ˣaOc`)xj_U xtK(Xc_xkq<ܿc+Dv{OŴtic+ʕFwu僻E'r/p"3tD *So9̮0bA)^^`靦 "[+s)륭ܐ9S-I9ߴ-/BX:sV^D *V`}]X|]Gʉҫb.pj$& Ĭ`v~3,R [NZG0Y6u7܃mWݿO=7s9s %K%YM!8}=Ȍ;M=)n< ^ݶ۞еAE3Q89WLAwn8Qu NOےG_;5dX>VFaݺ =?w[@k \GKWX Y)_fٻqn'铊Y *#Uwq'%fOjůHol܎󪑂h1q]\֍11@ͫRc ~CQ/KO+'#]v^jTLI0pL!{9J^)cC$P:f\0`1cy<0P@Up^IֶnM&2I룕0Y 覞17DOM@d]Zbع Wh:Rv;i| ĝy,{sהy=/8ąuǮ^o%!p^%"~}VTԶVߥmjƊm-%>b9PM MН]E4jvӈSDplNwL)sG º/|Oc:a F\%Ѻ_TpoCTT.t5y ~wzI9*2 fW?'#PrG=č,B=^b> O?fa)_fF79]@79*QzسAZ^4-+?a2GV\E@՜x{ED t7HU JU^;uMcuvr^Kfcf]|O'F Fe$Η| Ohm~(8zQ̪bc: D^~Sb8R/`Œ7:H;HSv_>i(as̳Qd 4+%V@=GWg@'P e!VN.J{Fp9>|> Ƶ'4p0ifi uIZ'>c)GQ͂XLg`/|DG;ȬF|A#rٗTD?yhΪϮkܢ;J2(pXItd3,&}c\_ljaJ,.|Zmd|6XĄz䗟|̾aGg j +0{5 M"v<(?0Mm1'T[X d5i]Y#ZOM?%:#DN(TAd cϳ뿉(cz[^^`J@G@K${7sv\Sdٔ;z%G(zjphjt>2+r}ۥbCI]Pb[w>OL| ]tGsTYS}WWuٸȶYt."ѧyZOR͞MޚҕFqɻ)#0A(ۇumJw\ :`?Dg:(…݄Mq8zQ,X~]|Ǩ4SS"u%ڴVѿa?AM2L㏓slqZ3o0Awʶ|1LUc6\"8ݥ_`Go\L`wߞ[pA;I| I̼ifh?tnE{(<>tw@`83qWE8𯟀TᕚD\}νpKI9+0ܚ:6CO7 tV$Z[{Xo {P ʏOo -͞ { ۨOR.M)X RxvйH:?t;ȳ1@N׮0,^{mkrpZh)5`s5=X| 0.Ώ{uLƺش v:ہIT:f螖Ej/ZR.-$A@z0@xHVDE{r!ڭ}:w;~Ejj)AFJ}eg^uh69{ >m]!٠lOpcqwwG9E-zj0E-9Fiq@nT# [ɹ$ot֘ݧZek&^z9T!ʎnLk_JO=wLuv xӉ|x1,9Ƒ~>/'?}u(:ȴ'SOY1*NX1/Dn9UI/Z|.oE8\4hkoVn$"c]?JLkR*iW4OD҇GՅy|S;>r{[Htj{żyL*Rtggu(8m%M4ynOm9#(|4v #]|uf7zQ  vՓ]ďgA] ^gC`$vKv*v|ٷM pQގQd#xM] `-]d&FJ]%+&u/hgZنY\VRcw!JӦ+v$JŞJ]~[jXx؇K~/HEh?%Zs}w!#83/'Q ȋ ıh?QQxUnc7c~.^tP&0G*AK_&si-l37,B Tj2⓯է-r.6Ctp^Z¤#/5dyJT?guеlrwC0 p/͇7Dst1#/K5O4Ya`2L1k߯R[:jjvӡ.+.<〳Vx/D]mΡ7/}^y=8VL@'.>(}'5–&2 ŸO%Y EޫpNbBPoڙ _7G3%̴㿙bMbbFWD*)hGKuX6J ޚ[iv#Z=J:͠){&=l0%%Bg쐾_NYuYP#a獸^!epBNx&p;9'2 L% 0x=m⦯w0z!kxvlG;tp4D p=/::v&MҁrlL@s'$}f~qfl>עzRz>ѧؾXovml >ɹ50KX-N=b]{8=ZnC@]ha^iX*`I0NeB:,bqO(s-< PEߏ xir8HeXPwŒvu{x,& JSS:PlF",wQ}yxJ ;!w9IO͗ %MQ29roŽ7KH: eI(nFz_xw۫AWcx}ihVq [sşYTmN@Ŗvܯ=oh^hlܹ8(\Hep7-Iݡa䎆,ڌ?Kv,A>Yp4OX.rI0 3dLآPkB7 tL1 }]\.# Azl46~nfu? yO_ j<Kn-L\J=+>7;e} O>:y e4‚R@%`93rַ` 3)ˮo\ߒ[N#N֞'^  G3QCpeE 3CXf(L /! f|`HG7.ُ l3xF3ŗعq}GrLm $ W92`t3eu<~*Y# qWVv̌: qJ1L2%]e.UrC$e'&s2Ժ,6֜GH_=XD!{C'~Mac3$Nmnw$a X1,=,m&jD:,JiqWUwXa®8q+r%=zv@٧BˮOzd %-L N"R;`FE[>pgD$xNxtx~M}^9 "Uc:zκ&15ˉi]V o]};*A1`BS30j>S-hYs`ɤ ß8|>5bjBH)eP^Wا"v wϕA,ؾ#a''0{b7\Xr jpT9s  ז~l}+8+? wN<3m6/'C{zImM-Mq@@O) [9T` :W+o5޸ \p%!\to3x#?R1|z~t|xV9-dU?Wlj>Eakx wumNߊǗo>XpCMԎL Bz?sڤ[ϔT{Uv 1Q1*%`_+כd^̦V>#'`tJ.{Ec'Ӧen R֎אUʦz-^0E^ 5Omz7+gn`p>uǯ $~M'kO.?G@ڇC=v'%]jWםtӁ l6@V^6' MS-u˲$FKmLI&TC s:z;_Ċo`l󣸓G/X(zqp#ET8 r(iɰեk]qJ=Of?ZN3CY)XIB'zm5.[""$k$g%έ8'Yzuwbw .Wm%l7>_u^t.)MeQH(2|୏ڭ;;wnޯmΣ]RsV5~۝\KJ :nl<*ЃSe|N+͡bMpiWclO͇?ܡC]NPXUk]sְ;x 9g4R.ƹ,HFo4~SwTlOk%;fou*Tffoc%9  ,ffE.@ӳ]J[Gokt7<1ޒq-k:Ω~ cY=Eo5څPiyK>c6'FzF[Xh*~ >xoQe$&NѺ/ ¼XnKS5^ 7vN9p5,GzG)]~xOױ YBpc{qt|d|d 7"vMr^iByөK-XG'鵇م!-{R=wA b:Z\xx S|ಂ/7m-Zi5/VE-V< +2F"9=YZ` +YB?񧮀ȌG/(voiRWW|"fqCAb"WƖ)!ZumNДV#n?ֺP뾋mL:50fl޹B\LqWFgv_?\84-I `$p'{_ cŕH%_jE L|TOvH(2jݳ$mK0,!\n(?PǤne*5W$tuͷ"yџ@L<5럭*iJJej'ЏyU#57f~IP 1 P!(z "l)u"ѳw|6T,"S;)>Ϟ>+0 =]9˜ʝCN}|Mb%/ ||]y"x>6$fBv' 8݆)Q3>%OYSn(,[7VħJ͵\,~< 9~w:a>ZCQ D#tZ0b 8Y.-i5M7 b5FKDcQ1:T:zS>1lBXD|0 3O(sCz4ٽ6e5c\cwǤKr 7r&; LF|h7^pA&! XpKkz1cF!\Ai-RpenFkDzՔ0?<#TO9gI db*: DF)ЋBqa313bId~0(\X2WA\<5G)qK+ 8=ñ*L.}Cd8y]0H} ܁⪕Y`@`Jhz=!.Ooϛ%#Z[{FjXѩXi&*~A$Ж7D|S_w IRD\Mvx#=ʑiX- >M̓!"> +eQJ9K9_6!(}NFBGDHuTŹ?L1E812ܬU=xaqx>3vi)EWc(T {bر烶(̻ |W%l^ȸ:c@VhV !+ ~bPuh|װ!{Vx~e2|FA퇘DWWxF\cAKs!8M׍$2n׿R+(MEZDVM %]J rXϭYoⴿW]iٿi8`gY>rFDH 2` m~kFa)- c! !&`NOP+Yesp($ZLv-!p6fSro7WUU-U; > -W. i%EdQ 8t?BMBNy?$tK9Frr4l&z$@J GYw%O}%_xϷw ?i״P]gQH=Yc`Nþ̤~.E =5`9Bu@@% ]<\ ѭbW)ĂNWx NXBT49C/qG*&Eo!ݐ10I 5,~35Li ~$jGأ`D49TbU?xgx![WdѪ*"kj>DzU#LN7ʺtBeX1RեM=9u BF%ܢE>!0+t tʚuaT暨\qѱ;PKsUm)X.QGw̫Ge"wK.SdݺRKם/]_`jl)I-Hqn7}t&yP5U l4iW%rmȡݙM o`4.Rpm@$8L9%,q֥uc~ԥ{%Z(m?VK' 7w=;˶_t.(3CKkIˀT󻕁Ωk%$a/#++mW8ي/Dp__%W?/6TC-(YQ I*Ī@NMѢL iΌ0r:oݍ}Pq<ߚdgMn1"7ei`-  p㞅[Ռ߯ OEKU)\*>&wuUMQB6(RzTe=?srqs`EPf`ܙG2ksLz"m~&\kˬ!1u,jzx8R2 ^٘TnW%a꘏`vɚ M:I\4K'3_K *]eV)u-Fu$k }O#~U^J̆rZS̋tUROh(k+qy!rm*d%QȴxoiggM\w&T0h#8x^uC[26rOYݟNs"ݪOw]3Bo[%&i db tWJsJrW%ӧyH,׋{J?k߲; O{_u鷫)$ekì +a/fsT3)<Χ@vFtur!l.;|RbYwN^2vX@)Т0]X,A׃mu'6U\“p,bb'.ߚQ;}UQ>et*'t,7rc+v[>e*5wjiqr3ůCwU[KW#5ج-(>b}(+PTYVBw.rW92?A ï? dF˻ةk%bS 7pvv3ڏU:s" :'ik}/ scIɅ#;v\<ۏ+0ڎzXIc9s2- Ks3ʣ;&JlzRR/Z='ѩ'}\O*=Tf _M~Kg6 ufUy)x8d-3J0nXZ]Fd!3b @}ǚt=E-߃߶;rB)5$ț O]Rͪd]v&Q/ gݟni &$s[qE[{&y䔔αk^݁j %Ҿ;+,`Ӳ얲rc,l)Ls&(xӨcXN:')HJ8k1u*-) uƨ A#VqLHo*~-Rrsm0A`"UiUr= 4jQMwAb#g5|:}'G΋d7l$s`)&l]e4',F= &NӤx}(eKTjޚ`0%Q%03@JToL+8c6]%)V%@Ti9T7ty`i^VWMzDy|Xnr IE`Pۖu#3 wՓVt -ŧ]R+z */Ql RY 0za,$ɪEd&,Ul^^),1RH塀VciqW9w,)JHp+@xUBwq^ZTܳHҷ7:1 Q"Q.< 3YݸĨqgS%O|rf`1̗LӰJMo0.N {3ou=YwG9779L ^T1;[1w2~3e17ћ&v[ng˸u2w`cͧL W; Aj/l[v亐SYPk^5@Wn њS@HM}9bȻX"\FzP/Q˴ߙ,yyeLPkޜtɦ Kt ҚEW:"}~ӆ[jYD߉rY)> -,8Z9%s/k_yQ/,3M"s5MdOb5^‰5'eNGfKoEssǡɼgR9rsh G՗s9OT[U;2./Wyy(@hf!-۸,S%s#Xq \Ox7dj=y]8 yIɏZ:+{񔪕y0yNs$ϜdutVGsjʓU24=;GtІlկ.f]+7B m3]_|x-$o ]}`xqIFgmdeqX n[d&ܒP2r ~/Ci\dPAl&k/A,V邱uC{cJb|{e- %/9ޙ$>O(%T(Cu!c'd&Nz~߇iм_a5PL4mʹuHyaNloh: :tS>tcohhtZہNj!jiI-8gdO4!姎 ܜ͜RT3Mz/z ΋B 7/K۲#9Ł$"Ni3kl=8d(\Z+־=W<ۻIC&˫j u *=7xlih按 kf7ݭ6.EOOUq0(}yCRF]x q`ƛ+u ìёav`~݂e@\[1Wֻ|WNG+"UG( ӊk*3;_R"ӧj9 '…~yI];a4\gńHV;wA 1~qUko']xFDZ`sms}ZQHa>8s^'N}{S\n*4 J7(Iڢ'Q9d)Rr>X楿kQ<ϤQ/@Y2dGЉj]k8r>gctp)(nipOhovxépxC5tR g B<&5PbY|%|\{ů"bش1]ƥ`ujkdg)}Ed:9IFDq;Y|lU|[*#ʓc!η'87їbpSIJYe~- N)v="k抺m I/ 9ܽC6nl ~l =@"&@״펶6Pu;Ƀ6Gʿꔎ]@p; vdLclɞHjt`L3@Q lA*u_p zfق49bMm}`D$9L+u{)lNŧ]ුz1c@e`A|]XOrZ3, $YѫW2`,·,KtwPp:d,ZYDq ~۳d`)znlLuxq}_ ZMJEF=#G<ȍ$ry4XcK 9'#=qΩtgF㟬83ʦ^lqwḵqg0!k̯5ˣ}ܿ<>vf-~ I.t0Jg;4Ar^3P tfdhuWb]P3"3_~TCRp`ޑA pY&2P>e;JFS<15A4)s{G|R߃e4j'ϕxT%y+, N GTA&%7TM7G0s^JXϾ#bp>+ҜM<\v[ ѫ<#SLH{uz5Z0&SPI+hT]lj\r>_ ZC#!+o ]r'd TZ *sA:澩!$֟+ gpqI7|u>vdzײM8>K۞Ig=9ײSkAbYlO 5ȓ>#&>0rnaBVg? pBH+>} p`T&Um?j@[5؉\ᣯGz-{(uW'SN $; X>%{T3 hIbB$'5%JT`V|#3<\1_Q9t7f^QTſ̥#mhm߉a1 ޮ O+tl:aC}l-4Ft* oÍç:235&&cPqi)#7?4z[[}~mYVf}f#!Y,0i(d؜'KyF#EF}/i)†^HIij'4W#90fXb&{ zf1]G鱾@D<.`2c sa+9'mYir ŦBಡ(3noXBR4/(?)~ R_d ]& M<(:P}~L;` |$lj/P$W>p+4ޅ@:)S8QX pUQ:%[nXxͷ5)3bZɊ\z.|bR q 8>D#6ZO6 ~^s@jRN)}bǻy>!#Wۯ{<("՗ܹKKwnFlkLdLbgMx_;CЫɿ晤 r3uq1Kgqv;lAImEz@1Os@0? 更YaIB pPOk_I[y| n&7S=/FmlN[:`v\ظ- m힥'pEe;ʞ}JfP$B a_;zV1v'?˲Sg^VmYe}v?$~nb_Y= ՟St*d|ny܀ן&]Ai$0àajdsvX0}OH[C1 n܃ݕc#8lnV'Z&ܧe $s*,lɥ=⫬-% 9tv{\Ǧzi.)l[4O1]4kt*xF7-h9mNsV9ql_3Iؐ:hJMTfHe:U$E<'s^ϭd;Au*jk> + vcb *S?(EoxlkQxaTΈaT bI8XNͽ'*z͑+gAa/̂g\5[ԋMvȾ:pf&D [P̈́x'5P߲nxM"ܻWd(*Iv(*d2KR@Cr @/??]$9c"mI~5>+&? ưÅjo'wjø!֣McVӬc,$:ϟ< XRN~Ew6NVc1kk ]!_Z2 >$X) k6H f%@( \R;.GhE IX̹uv+wj?7ik#U.DC;Ϫ owrer%`J/“Ԧ޾H TmJR]?3.4-xIP~lZ!3>H*`j$3qJ&*Wg=(څA/EV2Eʭ$Oc U߰/^!ax۪}Ov^O a@WF`6ގ/WAah嗖feg?*.[2J>L&t"dpҷkGyrښ@ν[duCvT$ Vy8 G66r_ylXZ[OY/{&IB܇ B|֯cx{בW(v]LrdEn O ϻ0NyOfBϷ/&9{tIVM)پ\Z¤m{{rw<r @%;'HuDXڞBd>&P9?:2UhW04dxS HԿ"-,a@AA;AtРFlOd'R0'.FaWƓ~Ir IְDf,%WO@ Zcr,PZZ"NSa#*V9 pv Q%BhFq8PF;'V?E.4Бk5@QyeLZu;dR(<ށoQݛi˽gVLw@ Sk锶X+|#)~(% u%&߸X$~Ӳ9! \pLjl3ڬC? ,#[H4>tp(Q3)#&jIa˰K 0b5{A.z@*)(KV~qTGG\?p rwœFK"|45/iYGu@س?c^oy.pB p:$m,2}ߎ zC@c}Xt Q.\*y$厳{t*ȧt8H2J|[C6yp~@jpj1 pbH’B& X@ t7[ZCi2)_G-G{:y*3zyHL*t;ck,L$Sax(~GLV>JI ]QK}#c\ں@o,IQt}$ iǗʗiYI4 R8Ħ!@ 6qh$ QYvT% ݇V+%TC] ҂'fBÂ؂t +n|z **Yȁ9=,U`gжZWZc'YpW}.?f~f`mz<쎐,>B90&81#(ޱr 5sYt́$n`׆,vtf§;;-ۏ%!;Y"q|O#t#mNmb׬gDJ~M8Dq>I4vq|]xʦÅ2IX%Xui Cb9>`tC+OlY2B컼&CUNp.`w K '3zPAjތb;a)ǜ_{Nq|> OP,C[FgVu?1;.D9DYKjpl0Z|Pw-Viaf O쐾zRLe@X4R@ Niqk`+]IƭEbͤ.gK>їӓ(W{zIeeJԅIK5y2܋Uh+#kf` \\^0~ LDm}:4mQ`-m& [[mBj'='H,XrC,K<{Nd]=JLCAgd꞉x!{hcoe&5{EUl-ǧQYCG썴>wqsq6Y׶!6 I.22hGIhS'xq9@̲@p*P'ĒP\&!DT;bF?~Q/D. եE IM N2OmHRhǬO T`\`B\SPIɴ#H%56LQ|X~>OlL -PZ, :d*I&UaЦPeP/ Sp9!cPͅW靔ЃKAw8\2ɸG?=C?\Uڑzr!(yf/<ma:-/j9.SWRMS+iQ%DQīIhQXY td[l-Ue>lc~A)p]oYvYUR-ɰ׶0Hk0fǒ54rKu{!Xl&!%IiHFu>7\CȪ/M׷?? \|;-L<_|nN?%7y<ÀVvjCp:Pe^`&Otvm Gp=1٩'$ .v;*6jMH?ZebCPp9))7)!][X"< AދxRXHP:(}.XL{v\³um.~`W6pÝ#VlU>G9^ճIb~#Tzl $&$[.q)߸>Ajk;M'pyxZc} 4Yzlv"@K[STͣ*q_hw@TWV. (!aRRK["lhR`Q𩟇mT,wwHDEWNPfCHPd5d$?:āyx9[u;0ilK_أ0\ajhقv~³0'w1ψH0(O<}. @b@\|G=W2BG]Jjn} [,Uc7hM~bE 7b4g>".ۺ2rdYUI1s ҽ }-]Y(˗n +CRqwk )k)b%Ȭ5}]>o;gI ,sG3sGyߘ XpWHφ3ѫ9ϼbU<["F~w]." x^AܢP%ZH7Z` f.7#*5ic5x)cw#Q-ij:o S50Ӕk=> $Am;Ak6 'jÚ_'ܙYE0hϕ;uB=d{9H=q ]7{J3's, })?"\R&߾r[iИr#5-- .BuC[g/}Kqd= Nn]ݳT3>cm˹1LME1COP9vC"Lgzpڢ5cm^LD7ߎX֋7k)87y.;ug5 (! (47T~ # 1.SC*{t ݧtj|0]'w:۪ d#f7L5AZ:R&xKd.§MzBw7F=$nA4$.dX bmmA$wжĝDPX]zeFa{:/Vf0wu̳c{qQм7Ml_[ۼmٵ"J ^iA%7RX2 4'l!7.NzMok4Oހ(GmixNS\Z}AV4psR\a8JYokRy[9QuṿEs/k˲ XgOk1bUwhI0k|qf;r˷j9քlt ;f1 ?z|ԝ>pd-nhzj&FD!O>{C0%ꖭd8U6N R_˭y(gv+c0푮M{a!i4%y-kUuL3~ռ|rINh܄)bSQ]M@fO) A7: <# PZؕ8J V<{4CÓ~5\Ç(Z --V-ɋ`p'QN,`72%Z\ 5 *Vt[{4ܗ{ؼeS{5X^׼kg6hgZ0ۍp6<|/k XpMpEjw[6d 5}~uKծ7= WLnԓ^{߰<.xw)$pxd?AG}.x+߻`^ ~D}Jd*4/pо/|~`W=k|uMy@ˣ-yh/ʤ>D!˜zNv}~( ȫwr5zoP3sZ\0RnQ2ֽx䟝,,wI>jw[6fE~pǎLeũ3 _qUy bEX5jc=.9Jl7>M[_X@7k3>dVI?4r2IRCcӎQ>|ZGU`?n:~9D8qoo;pb:|O޺2 ~qnZ+ |@G#4x'*Y[*jLҴ31/|'*@gz8I6'G9IBPiۇIF|CڂӔE4Z ZʆY宐vk~L""+ J =v͗^(poǰ ̽C&`OCP7 oQ/lr4?\A%@M %)1*>O- PnNi8BuHZdM8!  u:9d:yeJh(VU qǠ嵕(4B2]ntc (<0YڎHmMRRcjnvP y`0P-.j99hѥ!HnwSwNSI_:P?"Lq:H Vi"A#KXQ_Ik${5uk3u DŽ9Ri(͉+(͆#OJTk8ɴCnWTO& pp@~9LޕUv{k]Եmd|a~΁l(iQ/ARd8'e|΃n iք;pn91|'pI,a?53݉l;q@5aڲQƀնOVH7 \Hw:sʪϽw8oUS ":p[.-5>E@U׷y_'Wأ-;~qwo_rTXu0P==aΊMKw≽U?^yUм $fR |""aTv\"@뮶o.=-[?Ek%eCA)PĿ^2<'RČ`{$İ9Oeou@inB!a].`4w YLJo󱊐Θ757,uF%թ#h3B)~T3^A=qsJJE!`&**3 ĩNE˅|&CߝP;ep|^Q8)( n+VIE[qM/"6%/?AʃnY>hA9R@p/_xO% ӯ!ZP_M輺4 Eg k=v{!{5v>$$lpD-+'BhfG E{ -hjwbSw&O g!O#Y܆GI s x2&.XO5ՌY{&-\ʘ0,Q&²iTG5%h&6[@=k 3iEZ5YHw өZQfZtl҉ƪFl@L+,Ia`&k ^t /W(rO7ԖwLۙOn"$ 'ZAAIb暪FBROHDaƟnhξ-28N5Tg2ݪB|O6v쯠y<9B{0U 7!uwPVܩ>QaiCL X9z[Lzg_ P5F*qw$Zפb@b\hXMg Pk];RH5m/g'e&){7hihAWׯH}MٳN֘8x4%jb:`}]TOYE_ë?|^gMqZ:-E@ku?<~E Ņa;T6pLyfʤ =z>2pn1&Aܵŧ ?(:Q)F{9k@TMh#U.:dIN߷s !,g lV()1kxWYg].ɞ ALffCQzMbiF(Ž6%SB:ZEeO {QU]U؈p::_"]{_)rpjP{X˪Ne< D>YV¼Ҭ:y tg⨽2EN;AB2]=dwң3^,; ZT8~#zyIW ƀ=x) N/eVr d] L mT#iOst.R${Zqtg?.۝ "lʉs k-m;CCJѷȗ9fLl.`#r۬.d@ys}ej-]]n,Stb%Lm6,/ KvJXgџ4C׆|ԽA^k+r]` Nep'&ĭ֢u4[k?ozNi(=R@vMD'HJ{z?vv_V@8D`"ZEȿN@eLË[i4M<EY ?C*/).b}tykqz<`缥o-:Z'yt0%ё< rWÓ.TI$@٪OE„ĤMsdD笨ħ ( AP g&,+_ 'Vp4r~38[׈<D#g&0hͪ%.Χo"~Ɵ[ֱ*Nkx4P4eF9ç]FKCgHdsUJ3*`̓f~<{54 $+~Z-Nv]EgmG7TU[ % =û%E%.iɀH'8\cGGct*CwGkН(<ҩbb66fbE29'`Wt"3JOw`FH\|obě^?9q#xvߌgcȞLnvQJƩ[mS->(@1 J"f 1|B 䞬fyz0 }oH|Uk8B]9O|'n{ gZ{Fw zDٻ-ŅFMΡ(m\FH$n7};? ~πyk|ǦWz.a ¬{[$R`A]܈nYϗÚVRe06Ph:O6GQt*vy;vdD`TME)j5:Y%Ct:a;Y8٢;uF#~YZW9a|wmn3gnZBk{WR.<*(<|Rk_ t}L])1ob31J!M oiUJC`G6 7(M6EN[RtΟL1F8#<5Uڽi Xg)RL2t|Fy'2tSP>9AV-{o5K aDƦEp]s@&ۓm}䇴"}fyt ne .$ɱkB[ҲȺҒ MY&DU~c*Qφ0Q;?߾ucNz h ih+5ǟgtWWMͬ!'!g(ุkW}| 9d8$y Ԉ2%K JSC+2|6"Zj`h?G Lf}sgҥlbG<@ Bqv1kܕc#pPcv ؍&W>bb]SĔ˥rw ".23748[$^96_ڿO6.+a~_$P7/Jֲ _ᑌrb⻾)V^X϶W2'HctnY_յT7xBuD頟l:ࡹLAKy_2v;qF? mQTMx3O[CG|D]Ż ;F]'ݺEH>U-1=e76ޣw1PO岯B= +(UVv|6X6N(֍ONǀsoq\JHDi0zD;63A c+tNT}쪉w8.4g;QYG?H rvIsR0u|R#ߜG8b5{q~-7*|\|e!qĄD>O"e^wS $ ;> nlYh8@EI7{YѼ̓'5|e;Qh+T]ܔ!!$ޔfUHM&iWGWnB@8|ʃ7~{eA{֣u{ѫ7߳=\ @fYU碢,jwx* ٗQx;1R[|uZR|kL0wy~)%W0 $o(IҝOcI戫AE{ dx7=ܳ#MmeZ yCJz Ӓss/xIzk=o8 ]X8Д<X⼒Oem]yZ,kO͚QBbo^L"al Z%K TrI d${|Qm$N*uݰ|aY܊L-M ?A= 4MW޺iO`uZ:0}bLn*0No2sa`vïJ_zH,s;sVGIbwG,^ gH0me]di) !^e9oֽT]<ՠῨ:iBY%Eno7ݧ i:/ܡd7JU ù@0d KLLJ-K#![0Fy)n: DƮi> Q]ImhpϪlE`Nˎ VMN V!GNpt:!i#>A8FX$lYIesM]4?}FktMsɗr{%."}fHNdVh C aO&e;ϘX6ְ9)1| mEJM]np{h#᧾K!WZ'>ď# ^ o`k'f>C xOj[-,Se_]8V$򁭄s KciY}ޜٻPbLA,d0R[ W4_GH,@inYxL`(_Htȸ"$ v4Fbn+a؏撞 `KV[U`' WZn.J#6#j1U&85JƁxAtKY}%I;E^\m=~qv˙0mN J{k7{c{RZ4>duz_ovA|D2~̯i?6ԑM̜ni7ޚB)|ܭg;0):kd+Cowi\Tc3}y1c0V ƚ/s=[^&5gV;zk<!(IbB# KAB <=M*I{́&H.鞮y}c'S/i;;Y<94+/jBgiNWiv}' ǒk1)=Y)+Eԭ|qĕnc*ty$]wEwLp5n>D*yрٻ\#t&ɞꨪ108(HLbIѐEH K>(ƫ )^`ㆁ A}9] в>?y*`ȒCr{h%(ހӚF: ]‘ꛝzߪ3󲴶љQ fLhfT{>;<@o7v_ WQ*ʵJE%:Cm6bJox#FA4'z-ٹ*‡hǃ@#pQ.͑~ܮO 9cxd5%<Za~P逄|=aKWp]$co#f9Il Zϭ{:=Ao4H+Dگα|o땢xc !8 ~M,FPNp+&F(j7Y<3%c`5onOsKVwnjKґ*vʋ|!גPa:7MWzܞ6(3S-3NN;/3To&Rg70yZP')fVa0V՛ftꍍG՛q-1w ~\p`ڭ7Z{M7jz@kٵ`݁J6gJz>]փzeX@=yv"yq0+^۷XeʣXLޖ ݲO)&0hf/۸5֔*{NUNFt %46hx3tuil] BZ|ـR1PCr:3%Q(V E=2ǐmo{k:VvTvӼ_Nċ!i@EOzds]cH $JB';?=ѳ^?IȸX, AqAW])ёJG[Vw%K ^ys 91nd2@$wWdp[ d(@hwHW]Q0CapEU5!0WT憭QfpvWHdlϢqZ>6HPyW80O~9ǂDW[}4^m WS:m%z,0i.&fϧ-ࢢ@u=(9o@RU5YJ`[aj"|`9#?HrNʑIK.3tX.UKh\qwKﬨ J mR!6M]edagq"+ZTy/ 2H4J<@ mb]^5s~߯w-C׻ym=fǠ>L˥T³8 8De@ds(pef:Һ{P&Szc'l /Mkyfu250 Sfܨ5Rx9RyuuĎȯHt|MNouXN#?IlL<턧6#%ʟYO"w]V5-0KE_3; +kR(t`+%#%Mz&eݞ$55@(#wz,$7 ]"0Rs,O[6EeB\ziLpNv8ŤDh[k@˵WQ_%ǩ?x sN3Z#H:ת $l'F:g vjp:VJT7 7l;\>0if?FOܲj;m|D7ds, Q-J>Z*9B:s&-HtKHurSw`ȞN7C^0e_Yp1.::?"{TŔL= 2NŠ1hnI8kQSNckttzUt)Cќ+`āeʋP4C /+QRuKSȂ^Gw¥ؕ,u&xP,<*b`eWOځu9E9&Ym*z݊ QkFcȇkuH:<^ﲊ/':=6;p+B 4挍 0Yp1i̦%%$O0mںl]U%ˣxYVD)b"RF!5g0ǫE) NyT𻁒`@"]  P3Ts`A!Y#k"aD@2IAX0a?<ٰ < CFv/&(y?YG%~6ٞ t.OqSf \Q2 2 U MʢbXdƺ=/_nc-忷OY]S(&R4WMh&T3o': 7C˾EοU;yd%Li+>{%cS=-TОzYr,[fc,Nߜy0dBA4˷7 x;l^+UUz4}]YE2}lS氥jjjlll1llaT wrbo~$`'H vb 9 ז/=^yrW2 qa2?tHJ\BmG~jn<ܾKMñjm3o89r}<6|M9&X7?X' ?RG uD@Fe+S?YspGsnhlyBzIYGS%/ۈ!wւ[Ag)Ժ♵i8bz4_ X=F\`SߋZFqm^1 k n@i(OJw> (0+}޲k!H/zx>(<,E3"')A%{T)3d҂dt^/exĖ)ɩ_#)fw;>z ShNzޮ& ;ݿq̒)+;K2M ;JJJK]{DyQ(Q8]Hr`O$)\.Q}l0ZRUDX)(r%u־_ڍ0~AHkJHcTn3 e4~~0d8617R!R%cK:CJl`:&&55LWlqFFXL}jjݷXVU;L9w\9g 6CxmvoppфGz EF_nʣOWT=ye/dLxcԏ\{0f)xxb{rqFz5rȮoJ\;O`#fU9(p]Ҵl\g"Z{Fo mWf(WS5rWUU6̫FMѲt5ɩ;L lLj=탿𑪶Y!gشd?M{h qr'{X)0ܽ?yK9A*׵wTMjR#(RJx7< !I&E#٬:~@֥f_qb-a,y_s~I Xgkdu/u[}H&D$BNӾq(^)'`cK& [ p\"\_Tw Ms^%a:p/=&uxXԩȩHǬwl^%qPnb tlQ; mk{1gC&fWoԎ%T_q?3o;7v . z/Jv,b$}Xo)oq;6KgUk],OzQL.:|;&#ʓMgs{sU]-QGsJ.u8]3n >,lJ1νZʼn v2bN5(h[ܫ?5+:Ws6l>n!9K{O_7Q5%-"{;sX\/Un{tL`C6\ǯk`?{l$F[hn3XSӥ̿;\EL㫴*fço{NT\3 Dt?(R©^1JlZ U[p+O\ _99d>'LlTj0)HG~2]=o~&΅y;//N_˝4طKs䂲Hk_ W+ߒ>?g^:wO% ~:+ VۯCsvxj'O^٢ ONsQz?=D1]F*}A Ozg z 557I{|GO|=Zɜ ; +g訙4녚@h9[yKW zOA=6lk?[3mpVزʧZl Մ+PyPy4cT١<)_t{ݔGC^m+eI+|D>@n⮮=#0C`!7 9xhJ=.wZ[7 A}?X,yOZ{@5Uה Wj,0נjVh o*?HQF A\tq MQB Xl#"^ !#3')s'3u^ f-T2i}vul8$ڭt"V` 'lQ ]_2M#y0`%4QVܐܱ%m௛_đhߺ6=ԙfOִ؍\9!HZ=!|gk?Ȭ Sav.]s9VϹq>K-JtXa:IJ4k~`kK6d~ߐ9#`VNxaĔQB,ն]jT:wwc1nS͐ewղN:rNz?_p`_|-=9Û\Q,fDIZ[H;*0 }~4TmcBs3~Nz}%^b Lz ['N"I>?厰C[:t݈Ě m)l ,~#OMza sBٞۚ!qjJXw ^uVJoLke T߭(hΪF |r~]1P[~X)LU1Ղ8Ne(CȦVĄ\ Fo+5%1t XUkeL!b+݆TF?AXپͮ5Hۮ#qHDck8xˬ kD(}7{r*©p"= LJQ([,JxKvjAQS350ւ-][[fPZpn޵lĹ5ޠ6zT#|O3 u.ygLkon#9U[wk F]Yvٚϼ5.Tٔq1/umHOB7yȫ÷oeu劬^畷ƕ'yį`T a^Y3UVm\x ы!$t$PrЯ"Zȴ_%KΝ{v٪z/w97c4!Lc}$h@%⑾67ٽ1=jNPm~U"M>_MgQ:٢ʞ'@v%6GRI-kǶ'ue0kF߰୯!sȝ*rkc+nkMzUwf{B{lWt|kQfy=OWlѩs kJ''o 9n͂Ed٩v{M&@xfmOņy“1Qy"s>:s:JDi7W1۾gk) {mIR{Niuu~:6].jz F"Yhڄ;p^&Vf=JjڹO1hN!h6akg ec(6rӄ~i.՗@a+,oоE. 7<ޗ6Nxih/V<{.B*PtO.N!^XAx ڔ(\=G$s$s$I&SŮ*-5@fm$UK ,~T\,`q5ƞ,]Ɔϧ1ɡ#=fMxG%kJEt 򵩢Tz“"oNy::~ڃѡǬ)(ꁀءMX**[x t9鸪4gĭao|w.bgT t˅duۀVA* n.j!ռ% *rGv2>xW#|3]ǝʖM<^_c<>˾`.!1f;W(6fOyzr54(_7;"t Hs*S"J$:Wň;On׫ⰨLoy쎢#f&O giǽ+wT6t7౥6:ŧWuձV@\7`%?xWnŽhF2.M|zf%tuխ[.{DZ3\Tӻ9Z$gevj]{Mw+qIUXwrWv s'Hz\+ѕL=S9{tFxLc+v*?P|1dZ{J++ו OYB9l\s^zfD혵}XSs4oUO|sL|U%2P |t2%YMj|Ecdp[{ --w7H2B:ЌoH3 a]Xvpʿ;C2NNGͿ&ZbkRDŕaA*o++[V\VD&OVM_I,z'SzRܻ'O֤Ӿ'W%hA˭ʯ1ZjS{Og*мdIJn)r[]X!94> /ś)2| ALL]&X~nZ9pP bpm\Z2ZA{Hv/[BNd9E'7z^@՛m)R3E;C,BeFZ^ 0?fk(kAb`Q EFo@^TasVsLT*[~'  uEk1 yb\ܳ&K<_g_ki9&6BJs C숫ٰ2k~Ƃ2ߜj ],2)?ˬ[_W7e 'fYzRϊ(t}yhJTDo$ 9QDc2Zsr?ԗ ج]Vq"-O++:|Y0Z [;"*Wv8eClYĒgLh RU^BDF7et0; =1gYX!@[<};y3Ha)ϓq"!TSqn?VE1%5$+I!8osdx#,7فpn"'zQ"wPZs mb$.STXE{иŊR-ٛ+߃s[8W\v7͓(h|+UgFEMv i_P^%\yHگ;C[!orUQr͵y<ŭy ByGuݨI 4{UYوq&xÝ19dw=2PNK&oUvIiE8&1:lpLiqJifpYB,?քQ'E09c( C}E$ex|t6_œN.6~0fU((Xlm!g]&Cʘk/CnYǯkTvj#NM5G .3/'B]٧wL+6 yNG#㇆Turü9;9c8zxC9plx E$pXMp!cFTa;n_DtU9H[^CP|1jqU\8w3ZX}d(13mb2~L9>ŇzX25=2sc0ʥ6xe9 7;r)wسpDNe9+ia[KޫT-Q>q ޮx(AIG '{b~Q{=1xM&[QhZqc +Loj.ӲxI~>~oa)1Lgo ^,W/8}C[P0|c9[jC%Qn?ɫfkh@K_{rRñLtGYwsB^A&mTƩBA1qxMuV01$<gxuzoUޅ&[r8;κ7T0"xr[5MM~vMwzU=#ޚVړ."g'x\mX9g"hF^hïOANCq_!NM8#*J囍Ϥse9dt@Ty@ 0N-^PyF j>@H}Avg6U@]J K gʂT:'uz |&ag\}v%}SrlKK#rˆ+?HЏ20ŜabdFaȮD̺Rg$ ӅT+ ǖr<g& {M7suN9?Bۍ7ɤ?se{^=nTNc6#L>?ɠHʅxIh-*;wxsqih4Χ_:%GԪ:h:yFDy~b^]~%[4ݠ u|kr**i e / ٳDً׏)T,4/[v78qgFp.=ܰWCE"eP$cnFꯠ.֤ edAN2_cb'0?="kƱBPDx` p>4y勮A8=Kiڌ=y$kϬhE ԓX VbK=+̽SI Ʉ4=d'1+M΁f1S#ߜ ] n(9.T޳ϠA @VgV^+oQ]UF#,9\Y@E p nV=@z4XN UR3 $)V@:v3MHa..pR̰$FّJ!sP1;S [hvĎNcdthq|TE/; -qF&}?ci,\JI*7B({)+ 9޾a[D@zfiP*â.-ӰϔC3ӡw&#rTg2 JZ 2Hg'9VXEhc en gJ̻X,X|yqfgjm22ljQ.:2 $EAp=)1^PK ٬o\L4&iR/EƝhٮ$ifܡ=䨗iH)s+&MwDᚱpCz Vz\_v yʆ_@*f) PrӜyb#&`4@fN)@*${ (Xz*"9b۠i$OB߈G2~w?m0h&0^4QYV6K*P3^Koa,X&_Hᛮ‚+=R9S-"B6 \;2Gl鍸RUSlt^&>HB'%@t:m.E8Pg0y|2PCu`ÑH QNЮZ$tjj0*?W2r]WY}q\ݑ7!,pIPjFPլgӷ %{ԦcnjT2gxf&8 nOζ/"D878΅ ELt FjGV3TAWhp/˷vO^CUEpee1d'w_Or;%:v%:+`fy!03#Bw5;;HkoE@:$*KJj|֕)enSQJ tE7UPHz2 \Y9d,DG̊9ٴEXTsF,9ee;DvX BT0AiFZɭ|n&D P&s1`@$hc* dsB !y@xF=e Qps*՟\J@q;Pwaeusv8eO (I @qUB!A,Ԡ݀4/@*m(@㠞`a9>FzU*z䴻>=%h~{;e޸|E@;U0^ijV͵I >!}bj7-wj 4bP, 5TH{g] '΢+-}T,wxAL`w"%PpqqD2a[ڎ67e&^!l=.Cdd}K'̪Q\KwbR+9<'R58rV WHٍaX?ߐ0WwiKfWteByYZmVD[1Xkm(p.MF_4)cdL3fȌ`QP10ɒ%O"%TQO&-tңπ!#L2#@6ԍ$E3, $+e;a'ieU7m4/u?w!A1 )/n|XݢǓlX֛C08Bc8Z6բubPLG@DBFAEC&K<(SG:> hӡK>0!dʌlQP10qpMHKG/_BE L,[ +־Jk(YyR#Sl9>ɕ'_BE(UBJU(J]vP4$d :6,l\<|B"bRx J*jZv9F&f$}uAj֨ԃ\WzS!#–X8'bT uS^OupY,llRvO0Nnq^0BDYs!6bʥ>~SUl1sS*s);p,$3U c*AR4a9^%)5P(AT~*`TV|S%C,b9 YixAdv7ÁbكKQT]vp‹ζ8z/1v@A 4 @;=ԍnhiNSl9p.L_: 9MO@HDLbY92LWT~,_WJÌ6( xI;9;'A1v;+29ܞ%G1X ]y M7:5mаHz8ȃO*qF'SIP*E'$[OR0U ZUId Fg0YlEbT&W(UjVmrxٳ[!PD DBLBX"E O}Cqw}U\i^J!n$2J3@Y[H, JlhVA:[jKX֊uַ969\_ %R\T #(}rE3F&jӰv ( @,O *`,>%iUXAl +Zkap CctE*E;Ű[l=?_PG"(.}*U&\,a ll 0ˌ DA؆Sitpy|P$HerMfetK@ߜxEQ8]օG05Iq10ZSi(RL*54hҢM.= 2bL)3"pQP10qp IH)(ih+PEVlʔPJ\dѨ ( @,ne b xVE/I*+t *[XZYa`faGr U(J:fQTȘ,Tc=bWAC5f4-VtVYyET~U7wA~QY^Q1+Da Q;>G 0b8AR4r JjaZz~FqfyQVuv0N"Xy!y9-? v/r Jj!u&8aUCxeqE֛\7!A1 )-v[U Ӳ(P Q״yt e> Jj:iَ븞QY^ʸJ4/u?/C08Bc8-a@FP 'HfظN:$-NՒ6}ˬǎ%ǝQC(Z=6-aV&E<ȞԓFkKl*ZcR@^Ğ4ro"v`ҕZѩQD{ JǤ dQI{) 0 1TV{Oji5;FsK;0g53FA/Gjv3pԒmnU:kRءgpRkΑ3be֦)nThyghVKmtYE^SH:v+z#\ncdQ}XJX\!([3 ( {BS^)hMq k| a]OdOWыZ:cHJ9?~O _|Њ+:O(c@mHƕbI!S[˥p`HH#wRIuVйGJ(R7[d%lclwb듑5Q+U}fl\qrQKET$޲Zyt܊3fdqeȭU;c\F]^n{e`qڻ #($;1^[k0jl׍N" ̨.3`,-};)(x4x4ã!>l+d& _sn`KN=W\Y[ MY(Jno)YH^vԌTNPH)NAQJ01yai#oe|ˬ;TLS>jL y?Gi:~xI^Nw-Q%έ3I!yx#X͊5K—b`zqǫ"x@ m BH\b hZ $m;q (&=4jH PeK,URN1:{A>=Mm^M{G]w}CwǽN9Ft|Bv- j.bf궙O^̴bPmu҆`*+,!M2βc3+LHl/xHY˿jj$%`o$AP '¶t,ϓk]>Un*ilTv. o7J۝%v{)F 'HfX]@FP 'HfXo>`Ś_*aua!Aea$Ex.REbT&W(Uj "D*ρX]S`phE<`phtܼ֏{ƃotT/̞a^/۹k><ڣDnl箃mt:hc"ZB"ef듛Mꜝ3[T=I秢KhTN7yǝ~T3Oi[dUrS_0-R]@IT捚.-^PY ?&;RQ03̼Ok=٩;u5%};Ͽ>d|4䇫SUX[:@2L[F/Y]iGOX1fM.5\v4gu'/f"+kQUW/y긊7}E)xp%bB@UCo$ 7_)h3nVW{Y_ Yb+]n=.N^oM16u] ݁@EtŽVN01yD++oVICf+U%JKkνn 06678=w^\>K{ pd0Ylg^Q;p^uh_<^C12d^OcGDEF|GPOSGSUBbۤ>OS/2N`cmap$OH1cvt q"fpgmY7sgasptglyf|5(headuPBP6hhea3N$hmtx B :loca!)tmaxpa) nameT postetd9prepH]> =EX/ >YEX/>Yܸ013!%!''#7'377#>I46u1BBal:ggP^ww 8 OEX / >YEX / >Y 9/ 9 и013'&&'#3#'#! ^X>?odd7m99mZpc#%WEX/ >YEX/>Y$9$/ $901332#32654&##32654&##c2S;!8;HP$A[7vYTIML]jU\ZWj&=+1O ND0H0|676+;C=5A*!9EX / >YEX/>Y 01".54>32&&#"3267_=hM,,Nl@;[/@*/M66M/-G /'b .WPO~X/0 5!%Eb=>cF&-2W)5EX/ >YEX/>Y 01332#'32654&##WSIqooqID}}r MEX/ >YEX/>Y9/ 013!!!!!rLFGG CEX/ >YEX/>Y9/013!!!!FF5'MEX / >YEX/>Y " 9"/#01".54>32&&#"32675#53Q>hL*+Mk@!6-#/>0.K63L0#<e .WPOW/5"%Eb=>cF&E ,O  IEX/ >YEX/>Y 9 /и0133!3#!OTTTp5_ AEX/ >YEX/>Yи 01353#5!#3_GFFGQ5EX / >YEX/>Y  01"&'73265!5!7j"4K&GAf3S 493-*KQrFA.Q<#bD SEX/ >YEX/>Y9к9к 9013333#bT_^qIiX+EX/ >YEX/>Y0133!REGH]EX/ >YEX/>Y9и к9990133373#4>7##'#Hf\ ]fP%^<\&jjpH?@<<@?RIEX/ >YEX/>Y9 и к901333&&53#'#R\? P\? d1k4Tp3g30('5EX / >YEX/>Y 01".54>32'2>54.#",8\C%%C\87]C%%C]7%>++>%&=++= /XQO~V..V~OQX/I%Fd?>bD$$Db>?dF%fCEX/ >YEX/>Y 9 /01332##32654&##f6Z@##AY6siWRTUi-J64L2HAFG72]+ ,KEX/ >YEX/>Y& +#01%2654&#""&'.54>323267,LYYLLYYWn0M7$B\88\B$5J.J3 $9||XB6WvIO~W..W~OGuV7 +*Cd)UEX/ >YEX/>Y9/ 9 и01332##32654&##d2T="PC_umMQQMm,F3M\Y?@A4C3IEX/ >YEX/>Y9!)901"&'732654.''.54>32&&#"1Hy-2%b9DK +^2) 9O/>h$, N39F!*\5' YEX/>Y01!#5!#JFFO 3EX/ >YEX/>Y 01".5332>53-0R;!T%22&Q!:Q ?bGf3G++G3hGb?+-;EX/ >YEX/>Y9/ 01333>73Xj iU;d:546bp N)]EX/ >YEX/>Y999и к%901333>7733>73#&&'#nd^0@P>.Z`h@  @d"#&&#""#&&#"o::6"]EX/ >YEX/>Y99 к9к90133366773#'&&'#6ķ\\  ZX\c bS=++33&27EX/ >YEX/>Y9 01!53366773Xc$&_V&K((L&ZA =EX/ >YEX / >Yи0135!5!!Ant2F2GQ!/gEX/>YEX/>Y 9 /и/9" &01".54>7.#"'>32#'#'2675"<-'U^1#0X" 17> daC)c*Q*Ni?' #3!)=,,!%8  m[B .B%#' ](zEX/>YEX/>YEX/>Y9и/ 9" %&01"&'##336632'2>54.#"@#Q#BR!W+1L3$=P8 6(!4$ I&#G #6^"(#A[8>bD#E1H-(B/#&P!9EX / >YEX/>Y 01".54>32&&#"3267Z9aH(+Jc7YEX/>YEX/>Y 9и/ 9  01".54>323'53#'#'275&&#"0M8%=P+,E RDSHA!? 7)K "A^=;_B$!Z8@-EI1D*XbD%QEX / >YEX/>Y 9/ #01".54>32!3267"!&&J7_G))EY14S9iL,G!$]G7,6M "B_=;^B#!YEX/>YEX/>Yи013#5754632&&#"3#_eHD3 B9>)Yl> C<,C]H 63CU|EX/>YEX/>YEXM/M>Yи/<и/#9M,#4D01"&54675&&54675&&54>323##"&'3322654.#"2>54&##"&'(ku)'#4E'( ~3E'+&50m^[&FdC/A))B9*D078_%#QFA8 &1?,(@- C4'>+  4>">.>5**5>##)&-] XEX/>YEX/>YEX/>Y9 и013336632#4&#"]R&W9WQR4<%$&s)6ca#EC !Z&T07'&0j> XEX/>YEX/>YEX/>Y99к 9013333#'jR^\sqJ9EX/>YEX/>Y 01"&5#53327NR4,+0"8 XWC6/=:.!{EX/>YEX/>Yи/9 9 ииии  0133366326632#4#"#4&#":B2*G3*39R4 L$@"*T'-MIVU%&V*+%&] eEX/>YEX/>YEX/>YEX / >Y9013336632#4&#"]D&X9WQR4<%$&S)6ca#EC !<'5EX / >YEX/>Y 01".54>32'2>54.#",0WB''BW00WB''BW0#9))9##9))9 "A_<=_B""B_=<_A"D1D**E22E**D1]3&~EX/>YEX/>YEX/>Yи/99 #$01336632#"&'#2654.#"]D"Y-1K3$=P,"O BT!4$ I&#F> *#A[9>aD#!\f[(B/#&<3%~EX/>YEX/>YEX/>Y99и/0157##".54>32373275&&#"Q-/N7%=P+-F#BHA!? 7)KͱZ+"A^=;_B$" 6MI1D*XbTEX/>YEX/>YEX/>Y9013336632&&#"D&oD.#7e,s;D G ?LG-IEX/>YEX/>Y9$901"&'732654.'&&54>32&&#"6Hz-&*eD>= !<1__3K28h$("R/>2BK=N-7Q -6$- C73%%5* ! $,4(E"QEX / >YEX/>Y   ܸ  ии01".55#57733#32675H, D 0##8!I 5J->C!1" < MSEX/>YEX/>Y 9 ии/01"&5332673#'#XQS3=*D)RC%W ca.EC+/QU+63% 7EX/>YEX/>Y9 01!336673Sp  pO%G##G%P]EX/>YEX/>Y9 99ик9013336677336673#'&'#rjR: YEX/>Y999 к90137'3366773#'&&'#@[M  IWZU!Pk*,ip.+p1/'GEX / >YEX/>Y 9  01"'732677336673$  3@Sw  jN$2A A;-$ J##I! $>-G =EX/>YEX/>Yи0135!5!!GMW,wC,C 8c& 8c& 8F& 8I& 80& 8& 8J& 8p& 8  ,TEX / >YEX / >YEX / >Y+!+ 013'&&'#3#'#"&54677'2654&#"! ^X>?*7%O%7*odd7m99mZp1)& i2*.!)1$ 8M& _&]EX/ >YEX / >Y+  к 9/  к$ 901"&54>7#'##332673'&&'#,;>?U^&5  .! -.)! p>% +Pdd7m99m *8& 8h& 8x&A 8x&C 8&E 8&G *8F&& 8&I 8&K 8&M 8&O *8J&&OwEX/ >YEX/>Y9/9 к9/ 013#!#3#3!5#.+?IywL6iQFGGOc&MxO&Mx)$-cEX/ >YEX/>Yܹ ܹ%% 9"и#и,0135#5732#'32654&##3#532654&##iOO2S;!8;HP$A[7vjU\ZWjYTIML]8&=+1O ND0H0F;C=5V>676+cW#&A*&!2A*c&.A*F&.A*M&.A*;&.W)M&W*)&WW)&W)&! )7=EX/ >YEX/>Yи013&&54>32#'32654&'9:&&(3;?]>zRVYdS P70::XE0RYEX/>Y+ 9/ 01"&5467!!!!!!#3267-:5!K%" --.-EFGG ' +r*&!rh&rI&r*x&Arx&Cr&Er&Gr*F&&!r&S5c&5F&5J&5;&5&5M&5&5I&5M$7WEX#/# >YEX/>Y2++##9/01&&#"32675#53#".54>32&54632&&#" />0.K63L0#<e@>hL*+Mk@'=2  L5"%Eb=>cF&E ,.WPOW//:?'O F& O 0& O* &  & !OO &  NoEX/ >YEX/>Y+ии ии и к9/015753!533##!#!5! ETTEETTT8nnnn>5gg_c& _c& _F& _I& _0& _& _;& _M& _WEX / >YEX/>Y+  ии01"&5467#53#5!#3#32677,;.&$" --.*DGFFG; +_h& _*& _J& QF& bD& &b*D& &bWD& &}c& &  |& 1*& 18*& &1W& 1  +EX/ >YEX / >Y 017'737!!5'|REi5Bdq5G& Hc&H;&H*&Rc& Rc& RM& RI& R&R;& R*&RW&0(c&0(c&0(F&0(I&0(0&0(&0(l&0(J&0(M&0($4KEX/ >YEX/>Y+и%-01"&5467.54>3232672654.#">-:+:Y<%C\87]C%]X.." -/K[+>%&=+[-.(<8ZyGO}W./W}N%? +>bD$$Db>0*(&0(h&0(x&A0(x&C0(&E0(&G0*(F&&02-3KEX / >YEX/>Y ܸ * *9 01".54>32654&'7'2>54.#",8\C%%C\8>1NA 80-1%C]7%>++>%&=++= /XQO~V.F )3? +^QX/I%Fd?>bD$$Db>?dF%02c&02c&02h&02I&0*2-&0(&S$0#-EX / >YEX/>Y 999+ 9+ 9 +9 9 $, 901"''7&&54>327&#"2>54',YA68C%C\8WA48@%C],>&=+%>++ YEX/>Yи/ 9 / и/01!"&5463!#3#3%3#"(}}”VTTFGGD}~d)c&d)M&d);&d)&d*)&d*)&&dW)&Cc&CF&CM&C&!C& C;&C*& N9,_EX/ >YEX/>Y9и/#901"&'732654.''7&&#"#4>321T(6#.5'C3|?+ANT :T5Tfy1D(/B =0+% 6*'Z`c7Y>"TF'1;"&B0*.M&*.&!*.&**.&*W.&*.SEX/ >YEX/>Y 9 /и  и015735#5!#3##tZ4؎T2:FF>2O c&O c&O F&O I&O 0&O &O J&O p&O l&O M&O *IEX / >YEX/>Y$+ и01"&54>7&&5332>533267>-:  ]nT$23%QFD;-" --.% ~f3G++G3hjs> +O &=O &6O &?O &9O* &O h&Ov9&?EX/ >YEX/>Y иܸ!01".5332>536654&'7-0R;!T%22&!)+A ?.!:Q ?bGf3G++G3$* (:8 Gb?Ovc&Ovc&Ovh&OvI&O*v9&+*-& Nc& Nc& NF& N0&&2c&&2c&&2F&&20&&2;&&*2&&2h&&2I&Ac&AM&A;&AF&A*& AW&  ) YEX/ >YEX/>Y9/ии013#5732#'32654&##3#WKKSIpoopI:8D}}>e!9EX/ >YEX/>Y++013332##532654&##eTv6Z?##@Y6vkWSUUkn.I64M2@GG6;&#MEX/ >YEX/>Y!9!/  01".5447!&&#"'6632'267!,7Y?"VP)B(W::\A"%B\7EYR 1X}M v 9 )/W}OO~Y0HrprpU%%WEX/ >YEX/>Yи/и/901"&'732>54.#"#36632z* #'7!%RSQ W0.P9!,@ K>gNJd<6( M%4#O\_R&p[7EX/ >YEX/>Y +0133"&'732653pS%  &S?pB3-mJXD*OEX/ >YEX/>Y +ии01333"&5463233DL!--!!//ELG-''++''-GZ[9c&'oQ &Q &Q&Q&Q&Q&Q&Q&QK!/>J^EX/>YEX/>YEX/>Y?0+9"01".54>7.#"'>32#'#'2675"&54677'2654&#""<-'U^1#0X" 17> daC)c*Q*Ni?'I4:#I%):4!!!! #3!)=,,!%8  m[B .B%#' 7)* a2#3")7%"!!"Q&Q%3AsEX#/#>YEX / >Y-+ и/# 9/#'и'/ 4801"&5467'##".54>7.#"'>3232672675,;8')c4"<-'U^1#0X" 17> da6/$ /*Q*Ni?'-0-D= .#3!)=,,!%8  m[= '%#' Q*&Q&Q+&@I&BQ&DQ#&FQ*&&Q@&HQ@&JQP&LQ"&NQ*&&U.<BEX/>YEX/>Y595/ 9к9//"и)к,9 =и@01"&5467&&#"'66326632!3267#"&''267&55"3&8Hu0&=O+,>J)&8%@9/A&3K#O>3B()5&@ F>J[G98 .66.$=P- MX8-**-B#"6A&#'{DQU &U&,EX / >YEX/>Y  ܹܺ9и/и  к9 &)*01"&'###57533#36632'2654&#"@#Q#BIIR!W+1L3$=P8@T@I I&#G #62;VV@C["("=X6<^A"EaVL]#&]W& P& .P &.P&.P&.P&.6k0%*EX / >YEX/>YEX/>Y(&+ 9и/ 9  01".54>323'53#'#'275&&#"3-J4#:L)*@ O@NA@ :5'HUJ "A^=;_B$"Z8@.EI1D*Xb Q<*&YEX/>Yܹ ܸиии/ 9 " &01".54>323'5#53533#'#'275&&#"0M8%=P+-D RIIDSHA!? 8)K ?Z;9[@""Z9@VV:@-EI.A'S]D & D & D& D& D& D& D& D1:[EX/>YEX / >Y++ 9/ 2701"&5467#".54>32!32673267"!&&-:+!7_G))EY14S9iL,G!&5!$ /7,6M-0(> "B^<<_B#!YEX/>Yܹ ии ܸи013#57533#36632#4&#"]IIR&W9WQR4<%$&2:VV@@s)6caEC !Z &T0Z &T0Z&T0Z &T0Z&T0Z&T0Z&T0Z&K0Z&T0Z*&T&00Z&T0Z/EX/>YEX/>Y01!#5!<4C7'&0j>&&#j*>&&#jW>&&#j> SEX/>YEX/>Y9к9к 901337%3#'jR^\snJ&'<J0&' J&'UJ*&'UJ*T&'&<UJW&'UJ9EX / >YEX/>Y 01"&55'75#537327NRl4,+0"8 XW@6PCT6d6/=${&' :. &(:.&(:*.&(]  &)]  &)] &)] &)] &) ] &)]* &) ]W &) V&_EX/>YEX/>Y!+и/9 и013336632#4&#"'667#"&54632D#P5OLS.4'='/6  '* (2LL%3`^)B@)(^0O5' #+@9Kv< &*< &*<&*<&*<&*<&*<&*<&*<&:KEX/>YEX/>Y +и'101"&5467.54>3232672>54.#"D+:*2U=#'BW00WB'-?'),$ /7#9))9##9))9-0'=&A\8=_B""B_=3L:+@ '1E**E22E**E1<*&*<&*<&*@5&*B<&*D<#&*F<*&*&<&*<K&*R</"6KEX / >YEX/>Y ܸ - -9#01".54>326654&'7'2>54.#",0WB''BW06/*,@ '(0'BW0#9))9##9))9 "A_<=_B" /+ *-! fE<_A"D1D**E22E**D1</ &</ &</&</&<*/&<#.EX / >YEX/>Y 999+ 9+ 9 +9 9 $, 901"''7&&54>327'&#"2>54',O=4.5'BW0O=4.5'BW&6#9)#9)/ +=*> T4=_B"+=*> U5<_A"<.!2F1E*?,< & U8>mEX/>YEX/>Y  к(9(/,и3и 9и(<0172>54.#"".54>326632#3267#"&'"3&##133,%?./?%.AG/$6$A1(=#1NB'682D**D2gUTfD"A_<=_B":>>:$YEX/>Y$ 9и/.$901"&'732654.54>54&#"#4>32*F !4*--4-",*7?R4J/(=*",5,+< :/&!-#"1-/ %1KK.L6)5&5,) $5' 6(gBJEX/>YEX/>YEX/>Y013#5754632&&#"_eHD3 B9>)Yl> C<E"0&/ E"&/ YE"&/OE*"&/OEW"&/OE"C&/E"#iEX/>YEX/>Y9/ии и и017575#57733#3#3267#".55F D 0##8!I.5H,:>C@ !1" < 5J-M &0M &0M&0M&0M&0M&0M&0M&0M&0M&0M&iEX/>YEX / >Y + и/ 9 и01"&5467'##"&53326733267,;8'%W9XQS3=*D)R6/$ /-0+AU+6ca.EC+/Q: 'M&0<ML&05MH&0>ML&08M*&0M&0MV%cEX/>YEX/>Y  к" 9"  ܸ ܸ!и!/01"&5332673>54&'7#'#XQS3=*D) @ !C%W ca.EC+/Q " *+7U+6MV &MV &MV&MV&M*V&3*%&1P &2P &2P&2P&21/' &41/' &41/'&41/'&41/'&41.'&41/'&41/'&4G &5G&5G&5G&5G*&5GW&5<$9MEX/>YEX/>Y 0+ 9% -01".54>32&&''7&&'77'2>544'&&#"*/VB'"=S2/T9,9 &&I!v?M!>X5(;'#R'(=),< =W63S; *&Bd'N4B 4)F2==wYEX/>YEX/>YEX/>Y99!$%01336632#"&'#2>54&#"]R"U+1L3%=P+$L  7(AI H&#EW"(#A[9>aD#"\1H-Pc#&]I "fEX/>YEX/>YEX/>Y9и/01"&'732654&#"#336632' &4<%$&RD&X9WQ? ?601EC !S)6caN[7'5EX/>YEX/>Y 01"&'732>5#5!&H9$0 4/N= "1C-K7]' +`EX/>YEX/>YEX/>Y +и и &0133"&54632"&'732653"&54632pR(##""#   %R<##""J   >2-JX#   l/aEX/>YEX/>Y+ и"и$и )01"&5#533267"&54632"&5#533267@Ck$ #(!--!!//?Cl$ # XWC6/> -''++''-XWC6/> P'N `/EX/>YEX/>YEX/>Y иܸи0133"&'732653'7'7pR#   %R<+:+:>2-JX)8)8^!/qEX / >YEX/>Y и/ 9 9/" ,/01"&53366323267'>54.#"$dbD(d3"=-(U^0#0Y" 17>Nh?'*Q* m[*B .$3!)=,-!%8  ' %#]%uEX / >YEX/>Y 9и/ и/ 9  "#01"&'##336632'2>54&#"@$P#BDZ11K3$=P9 6(AI$J #E #6@-#A[8>bD#E2F,Sc%$ ]$3EX / >YEX/>YEX/>Y9и/ 9%-0101"&'##4>32&&#"36632'2>54&#"A$Q#B-D-0"62!W+1L3$=O97'AH J%#G " 6*D2 ?>8z"(#?[7>`B#E1F,Oa#& =!5EX/>YEX/>Y01"&'732>54.#"'66329d'%M-*D1/A',F*_B4]G))Fa ($5#1D**E25*"B_=<_A"P 3}EX/>YEX///>Y/9/ /9/ ܸ))/9&)/91/)901%2654&#"'667&&54>32&&#"6632#"'i78 H"%C -3+I`5?X (E*(D2/f0:>YYC:6 ,' ; eB=_B"(32F+-F486-4H8YEX/>YEX/>YEX/>Y99$&'*01"&57##".54>323'533267%275&&#""?:Q-/M7%=O+,D S  F@!@6)LI@d+"A^=;_B$"Z#*.?I1D*Xb<b!/EX/>YEX/>YEX/>Y 9и/9"$ %(01"&54>323'54632&&#"#'#'275&&#" _r$=O++E @B  !DSFA!@ 6)K z;_B$!Z8DM?2*@-EI1D*Xb?%MEX/>YEX/>Y9/01"!&&"&'732>7!&&54>32"?T6 VP;\$"G,%B2!=V40V@&)G_JKHMC"6*>)  3TYEX/>Y 9 и/и/ 9  01".54>32373#'#'275&&#"/M8$>P,+H"BDTHA!? 7)K "A^=;_B$" 6@-EI1D*Xbs& E#QEX/>YEX/>Y 9 /  !01".5467!&&#"'6632'267!)7U:}\K,H!%\;7\B$%AX4BUO #>W4  OP6"#A^<=_B"BNNNNm,8EX/>YEX/>Y!+99 9%9-596901".'%&&#"'663273267#"&''2>54&'.F01C+&8 K1DdI+   5 55J// ? !8L,818FE # + (6!6[B%A,>% h<5[,WEX/>YEX/>Y9/9&01".54675&&54>32&&#"33#"3267>3S=1WEX / >YEX/>Y" 9"/##"9 *01".54>32'2654&##532654&#"G9aH(+H^3(F4**(q`=BG6#4:;1&B0c @_>?a@! 2!$:(FLB-*('@("&%1H-]^7'4SEX/>YEX/>Y +и 01"&'732>55#575#5!3#&H9$0 4/N= "1<CB-K7<(cu-;EX/>YEX/>Y'!+9 99. 01401"&'732677##".54>323'4632&#"275&&#"0_)%O%FHQ-/M7%=P++F?D !xaEA!@6)L:E;a)"?[99\@#"0BP?2*[e!I 0A'R`<'"0EX/>YEX/>Y9/ 99и/# %&)01"&'732677##".54>32373275&&#"0a(&P%FKR-/M8$=Q,+J BveFC!@ 7*M;F;a)"?[99\@##6\j"I0A'R`N%CEX / >YEX/>Y! + 01".54>32&&#"32675#53S6_G)+I`6AU)=0&C31B'!9` !A_><^B#*4"1G-,F1p;(3 %)_EX / >YEX/>Y 9 к#9#9#901"&54>7336673'2654&'#.8< TqpP  <8A5"%+#6""6# N+%"5A9";""="<#/]EX/>YEX/>Y 9и и$*901"&5467&&#"'66326632&#"'2654&',VdH92-)K('L)-19HdV29YEX/>YEX/>Y 9 0157#"&5332>73'X9WQR4<%$&Rͮr(7ca.EC !SM] $fEX/>YEX/>YEX/>Y 9и#0134>32&&#"36632#4&#"]-D-0"62&W9WQR4<%$&*D2 ?>8(7daEB  ]I /uEX/>YEX)/)>YEX/>YEX/>Y)%)9%!01"&'732654&#"#4>32&#"36632( (4<%$&R-D-/#62&W9WQ? ?60*EB  *D2 ?>8(7daN[]Z4&M0V AEX/>YEX/>Yи 01353#5!#3VC`CCC8&O03 \EX/>YEX / >YEX/>Y999 01##73753cUrRiMJ&'+J)cEX / >YEX/>Y 9/и и%ܹ  01"&546325#533#327#"&55'354&#"TH3''4,+0"8(NR!!#&.;/&0C@6/=XW@)&JI9EX/>YEX/>Y 01"&5#533267NQ3,,!:XWC*6. > O';&sEX/>YEX/>YEX/>YEX/>Y9/01"&'732>54&#"'!#3!6fKa)I82%F>"RR4O6$;M04%'7">F,],4H)5Q8+EX/>YEX/>Y0133!R.]C*!{EX/>YEX / >Yии ии/ 9  9  и 01#'##"'#"&53326733267B2*G3*39R4 L$@"*T'-MI\U%&`*+%&`*3"EX/>YEX / >YEX/>Yи к 9 к 9 и0157##"'#"&5332673326730*G3*39R4 L$Rͬd%*T'-MI\U%&`*+%&`M:I.-EX"/">YEX/>YEX/>Y" к$"9$к"9"и/"'01"&'732654#"#4&#"#3366326632"  4 L$RB2*G3*399?0(rU%&V*+%&@"*T'-MIGPI "fEX/>YEX/>YEX/>Y и / 9 01"&'73265336632#4&#"8  D&V8VQR49%$$8?.*S)6ca#H@ !HS]Im jEX/>YEX / >YEX/>Y 9  и /01"&54&#"#33663232670D74:+B+RD&U8WQ  SH?H@,,S)6ca*.?`IEX/>YEX/>Y9 и к901333&&553#&&'#`O$NO%:0Z':0Z'<!MEX / >YEX/>Y  9/01".54>32"!&&267!,0WB''BW00WB''BW0?U > U?DWW @_??`A A`??_@ NHHNWPPW!K+uEX / >YEX/>Y и/и/9/ "01".54>323#3#3#'267&&#"*K7!!7K*-񾙙.##."". !@_??_@!D@DC_/F/0G/,3, 'wEX/>YEX/>YEX/>YEX/>Y и ии&0174&'665.54>753K99KXK99K,N;##;N,P+O;##;O+Uat_UU_a#@\;:\?##?\:;\@#?KEX/>YEX/>Yи/901#'##"&'73267D&oD.#7e,s;D G ?L?KEX / >YEX/>Y 9 и/01"&'732673#'#.#7e,RD&o G ?L8s;D?I^EX/>YEX/>YEX/>Y901"&55##"&'7326733267J<K1+%IR& .SKu08 G 5B1 6/ > I"YEX / >YEX/>Y и/ 9 01".5336632&&#"3267M5H+D&oD.#7e, 0##8!G5J-s;D G ?L!1" < /EX/>YEX/>Y 01354>32&&#"$B^;Q70$B2<]?!G /I3c!UEX/>YEX/>Y 9 /  9 и01332#'#532654&##c'D1H3]7==7"7(?G ľ++,$7UEX / >YEX/>Y к 9/ 901#".5467'335#"33'D1H3]7==7"7(?G ľ++,$GI<hEX/>YEX///>YEX/>Y//9%/9601"&55732654.'&&54>32&&#"#"&'3267C;&*eD>= !<1__3K28h$("R/>2BK=N-7Q4-T$$   $RPU6$- C73%%5* ! $,4(5'0=8'5EX/>YEX/>Y01"&'732>54632&&#"(>.!LZ$4&$F=  -7Xd=  -Xc8''F/EX/>Y +"и #01"&'732>55#5754632&&#"3#(>.!LZ$4&$F=  -:Xd=  -@Xc6dIEX/>YEX / >Yи  и  ܸ0123#5#5354&#"'665H, D5F#8!I5J->CAD < EI"QEX / >YEX/>Y   ܸ  ии01".5#57733#32675H+ D 0##8!P5J->Cn!1" < J oEX/>YEX / >Y  9 /и ииии и/01%2675#"&55#57533533##'#&9#,MG``RRffD#L<&,pBDYEX/>Y  и "ии !01".54>75#5332>54&'53#,9X= !j+8':&&:'8+j" =X %>P*%?3)C5$bI">..>"Ib$5C)3?%*P>%M#EEX/>YEX/>Yи/ 01".5332>54&#"'6632)/Q;!S&3%:(+- GU=[ 7U:,>'"=R0JM@diBpQ.3% 3EX / >YEX / >Yк 901#&&'##XSp  pO%G##G%P]EX/>YEX/>Yик9 99901#&&'##'&&'##33677jR: YEX/>Y 9013>32&&#"#&&'#1 $0>'!  0=Sw  j*$>.A<.? J##I!9!7EX/>YEX/>Y9 01!53366773YU# TXˤB 9!!9 GIl\EX / >YEX/>YEX/>Y и  и01"&55!5!5!!3267/D8FI  QB$,wC,_*.?GF$[EX / >YEX/>Yй и /и  и /!ܹ01'667#5!5!3632##72654&#"f> D-M%9`'3NN- R%&+t 5,wC,1)6H9#*2;'*QEX/>YEX/>Y 9/!и01".'732>54&#"'!5!632 *D8,(%,5 !<,VQ!3P7(BW!5 (8#AI .C,3H+6S9'jIEX3/3>YEX9/9>YEX)/)>YEX/>Y)33;и;/;9/@ и;!)#и#/%)3963)9!=0172675&&#""&'732654&#"'7##'##".54>323'53!632'!$-C2B'- )3-,!;5#"9)-;!-L $7'->9*!1E)Wc!4JK?E4]:+"B^<:_C$],5H(4Q7:$7gEX / >YEX/>Y  и/9%(9101".55#57733632&&#"'2654.547#HAX6IL E&%A *#+2+9\?\G+3+}$: 0F-> 0(8*"6%@,&*".#!.0'[5EX(/(>YEX / >YEX/>YEX/>Y  и "ܸ $и(/01"&'73265#3267#".5#5773354632&&#"a#   "'-&5 HK EAL  )=>2--1> *<$ >PIW?3-JXG/EX/>YEX/>Y 013>54&#"'>321G-MH9O,*4@&/S=$2F)7025!=H1 5#3K1,D;3Y/EX / >YEX/>Y 01!.54>32&&#"*E2#>R/'?5)+O9GN.G13;D,1K3#5 1H=!520G"IEX/>YEX/>Y+ и 0135#5736654&#"'>323#LfS[KF:P,+5A'.R<#'5:0e<=H25"3K1$<3,?R"IEX/>YEX/>Y+и 01!5#573.54>32&&#"3#LL4'#YEX/>Y+ܹ и ии01#575#5733#3#Pg:l:F>l><'3GEX / >YEX/>Y ( 9(.01".54>32'2>54.#"7"&54632,7X?""?X77Y?""?Y7"<++<"#;++;#%%%% ,[`Y\//\Y`[,D HsTLpJ##JpLTsH $##$R[ SEX/ >YEX/>Y+ к9901"&'73265#'##33&&53#    ? P\? P9B4,3g3d1k4TmKW<< &< &<&<&<&<&<&<&<K$3?yEX/>YEX / >YEX/>YEX/>Y4%+  9 901".54>32373#'#'275&&#""&54677'2654&#"/M8$>P,+H"BDTHA!? 7)KT4:$J&):4!!!! "A^=;_B$" 6@-EI1D*Xb7)( e2#3")7%"!!"<&<*&<&<&@9&B<&D<#&F<*&&<@&H<@&J<P&L<"&N<*&&<(6EX/>YEX / >Y"+ и/ 9 9и/и )+,/01"&5467'##".54>323733267275&&#"*94$T./M8$>P,+H"B4*! -HA!? 7)K-0+B@-"A^=;_B$" 6; 'I1D*Xb<'<' & <'& <'& <'& <'& <'& <'& <'& c4&>c4 =EX/>YEX/>Y01353#533cŭC`C]Cc4 &>c4 &>c4&>c4&>c4&>c4&>c4&>c4&Lc4&>c*4&>&c4&>c4&NZEEX / >YEX/>Y+  и /01"&5467##5!3267a-;3#4-+$ /-0*BC; 'c4SEX / >YEX/>Y+  и01"&5467#53#533#3267Y,;.ŭ*&$ /-0)BC`C]C< 'Z4 OEX/>YEX / >Y  9 /и и017575#5!3##54R8C>c4]EX/>YEX/>Y 9 /и и 017575#533#3!535t/:C@CC8&oEX/>YEX/>Yܸ!ܹ  9 99901&&'#"&546325#5!%267&&#"L6FKB? B!4 /(0 : (.!B--7C)?)Dc4 =EX/>YEX/>Y01353#533cŭCBC{Cc4&P"<c40&P c4&Pc*4&Pc*4T&P&"<cW4&Pc4UEX / >YEX/>Y 9  9и01353'75#5373clC @6PCT6dC.{&P \ EX/>YEX/>YEX/>YEX / >Y+ии и и ии и01#53#533353#533"&54632qkfilm####CBC{CCBC{C$"!!"c4&P+%c4#eEX / >YEX/>Y++  иии01"&546325#533#3!535'354&#"JA1'$ /!!"#!73&!- C/CC/ * 8c#/EX/ >YEX/>Y013!!F+-5EX/ >YEX/>Y 901353%!&&'#+`YKa!!2^2G%6n99n6rAO  0('+IEX / >YEX/>Y + 9+/)01".54>32'2>54.#"'53,8\C%%C\87]C%%C]7%>++>%&=++== 0YOO}W./W}NOY0I&Gc>=bD%%Db=>cG&HH_ bD +- 3EX/ >YEX/>Yк 90133#&&'#+aXjipc:e::e:HRF IEX / >YEX/>Y 9/  0135!5!5!F6GG5GGFF0(O 3EX/ >YEX/>Yи013!#!OTpJfK QEX/ >YEX/>Y к9к901355!!!K_21FG*.&2>)YEX/ >YEX/>Yܹܹ и ии(014&'>5.54>753jSIISTH$:(6W=""=W6L6W=""=W6LWlgUUgu5GX(D_<:^B&WW&B^:<_D(X6",,YEX/ >YEX/>Y 9 / и  и и01!5&&55336553drPTPrdtt Z tt&21QEX / >YEX/>Yиии &0013535.54>323#5>54.#"&y' #B]::]B# 'y**>((>**D7FT2EtU//UtE2TF7D=8ET45[C&&C[54TE8=$8 WEX / >YEX / >Y+ 9/ 9  и013'&&'#3#'#'^X;;.9$Oodd7c;;cZp #  UEX/ >YEX/>Y +9/ 013!#3#3'@?9$OFGG #  QEX/ >YEX/>Y + 9 /и013333##'LLL9$Op5 #  MEX/ >YEX/>Y +и 01353#5!#3'vv@wwX9$OGFFG # _0& (#AEX / >YEX/>Y" + 01".54>32'2654&#"'\-J66J--K66K-8CD77CC9$O .XQR~V++V~RSW-IH # (Z?EX/ >YEX/>Y+9 01!53366773'eMIKJ9$O*I&&L'Z # &20&0)-]EX / >YEX/>Y,*+иии  (013535&&54>323#56654.#"'c*.4K..K5.*c')--)'9$OD<^BoQ--QoB^<D=;_7Y@##@Y7_;= # 9?':yEX / >YEX/>Y 9 и/(и!к$ 9$-. 301".54>323733267#"&5#'2>77.#",H3$YEX/>YEX/>Y&9&/))&9939014>32#"&'72>54&#"'>54.#"]2L3%D5 64KZ!7G&/\&1%FG (7#'9A#S1T=#+A,6R dM1L5 *>u>$5!:N? *0*XYXX.0MEEX / >YEX/>Y 9 и/01>454.'736673$:M(R4/' 6MR 0E0:2!Zit9_f>npzK,b*A,<MEX/>YEX/>Y59 59-01".54>7.54>32&&#"'2654.',-UB'5G)5')>+5uGJj*-'+<%$@. YEX/>Y"9"/"9'01"&54675&&54>32&#"3267&"#"3267@kzA.+,8M.6a*!IU=ECJ%MO-Q,#246 ME48 :"!2  74&&!(DP).#7tH -NEX/>YEX / >YEX/>Yи &01'6654.'.54>7""5!#B 3'(I8!6Yo9INMy;rY7+='(;' $  4Q<YEX/>YEX/>Y9 и/01>54&#"#4&'336632+3'%(RK)Y;NE<|zu5E= (aB&_83`^H%MEX/>YEX/>Y 9 /01".54632"!.2>7!,5T; zjjz ;T54'&'44''5 ,[``[,@eGGe@AiMMiAQ 9EX/>YEX/>Y01"&5#533267QH//,; XWC)VUQ$50 = dA#]EX/>YEX / >Y 9 9и/ 9 #01.'#4&'33>7331#!%MRNY^/ 0b17=@>DH$&-6]aH = 4[H2 N7*&RPL!8)KEX / >YEX/>Y 9 к 901''&&#"'6632##Y9- + &:/&YG? D 3M5TE'(vEX/>YEX / >YEX/>Y  к 9 и к# 901332>733227#"&'##"&'TR16$%%S  &'O-!7CE*!BcX>-;42 &;43/;EX/>YEX/>Y 9и/01!.'73>73+8@!R80& 0(S $3A(Hxj/'clq6/dfg1?wwxA\HEpEX / >YEX / >YEX/>Y4 94/--49 "и"/ >01'6654.'.54>75&&5467""5!#"3267&&#"B 3'*L9"+: 0?)%!!$2%'2 %"A2/@&);% $   ,B0$?2$ G5*>CC-, H%7#$/"E@'5EX / >YEX/>Y 01".54>32'2>54.#",0V@&&@V00V@&&@V0#8''8##8''8 "A_<=_B""B_=<_A"D1D**E22E**D1=$QEX/>YEX/>Yи и /и01"&54>5#'665#57!#3267:0R eE\  ><GV\(gklc?D)_YG?]M+ZEX/>YEX/>YEX/>Y9!'014>32#"&'72>54.#"]$=R/lq$;M(*Q#4&"4%4(#$$?^>t>aD#)!98: 1H-(B/-D.|<<)=EX / >YEX/>Y " и01".54>3!&&''2>54.#""/S?%'AT.+I*04# D.B)$C3Y[*C0B=EX/>YEX/>Y и01"&5#57!#3267xA4F / GD$>CNE#@ O'7EX / >YEX/>Y  и /01"&54654&'332>54&'7&cpP%1 6(P">V gj'N'B&7 .0/%4 1L43l?YEX/>YEX/>Y и иܸи&0174&'665.54>753K99KXK99K,N;##;N,P+O;##;O+Uat_UU_a#@\;:\?##?\:;\@#8A0 QEX/>YEX/>Y 9и/ 9 и /01'7373#SRWP V:5M)n)`EX / >YEX/>YEX/>Y ܸи "и"/(015.554&'3336654.'74L2PYEX/>Y и)и1к5901".546732654&'332654.'7#"&'#!9*5&H .#)U $, I  UE#;7 <[YEX/>Y$ +01'6654.'.54>32&&#"B+#+R?&*G]3=T *<)&@/0A&+9! !,  !7S<:[? '5.A(+;' %K] +>UEX / >YEX/>Y )6 96/)69!и,01".54>32>54&#"2>54.#"I)SE+3M4#C5 ;6(?-!;N@Y7@*"+A,6T 2C'/J4!6 ",6 88Y$13% E6D(O 2WEX+/+>YEX / >Y!+ 9!/+ ! 9 017.#""&54&'332>7.54>32ApV+;$6D]gM",4'kT#6H)}~!=U >- Fd>>b`'/3"%4 AnU?T&)C0gX(,M,n%M3!-fEX/>YEX/>YEX/>Y и /и%и+015.5467546326654&#",Q=%=.@! O?S@KQ$=Q,>N'&#!?\=K6024:"Q\j`r<_C%,U*=y>eXS`:9?&}[&$]M&Q &Q &@&O&O&"6&Q &7O&7dEA)iEX/>YEX/>Yи/ܺ 99и/"9'01'667.'#4&'33>7_'F330#!%MRNY^/ 0b17=@!I)X+>CH$&-6]aH = 4[H2 N7*&RPL!5c>M &NEX/>YEX / >YEX / >Y !01%2654&#"5.54>32,HQQHHQQ#*J6&AV11VA&5H*6fVUggUVf&@X7=`A""A`=6W@'''+[L'9EX/>YEX/>Y  +01'6654.'.54>33&"#"A+%,Q?%)Ha8N*Ue.B'+9! !,  !6N8>[;FUX'6& $KM  9EX/>YEX/>Y01!!!!y C;QXDM +901'6654''%&''%&&'7P  ?yE"EK"*tK3W[0 0\.C;9#Ez?8>&E}Hv,=5h3_+'fT}` }h +0173Q#\W +013773#6\ /47 72/EX/>Y 01"&53327Z3,S   ;61QH><|<|>p.M //X/U/W/T2'Y2'VA3:47L&; 8c#MEX/ >YEX/>Y9/013!!32#'32654&##c~4X?$ltURTUrF+E1g`F8D?5c#^DB!VEX / >YEX/>YEX/>Yиии 01'53>7>7!3#5!!#    9I Ixj" 26XA1RPU52ѼUj*GCGrW5EX/ >YEX/>Y393/39и/ии&и3/к,/92и.013'.#"'66323337>32&&#"####+   " /5L5/ !   +Zn/SEX/ >YEX/>Y9/(901"&'732>54&##532654&#"'6632-Ht3/,Y:!9+^VJ6XNJ9/O-$k=/N7209K%AW .39,%!0?<@9845"8#-+?'4O SD/J3N IEX/ >YEX/>Y9 и к90133373#467#NP ?\P ?4k1pW3g3dN E&fDaEX / >YEX/>Y и/ 9/ 9013337>32&&#"##fSkX#"%   Q\k%0 N!5 AEX/ >YEX/>Yи/01"&'732>7>7!##:   :T$- M %E;5deg7pJ[[K`7HO  0(O kfA**./,GEX / >YEX/>Y 9 9 01"&'7326773373 &Yz2/pUK K#܁$=F> YEX/ >YEX/>Yܹܹ и ии014&'665&&546753jMOOMMOOMq{{qLq{{qLR`l\QQ\`_rp{]]{pr_6"ODM LEX/ >YEX / >YEX/>Yи0133!33#5OSSG DI2ѼAAEX / >YEX/>Y 9/ 01!#".55332673<(8Z?!RWP':T&3SYEX/>Yии 01333333(LLLIIp&DP\EX/ >YEX/>YEX/>Yии и 013333333#5&JJJ@ BII2Ѽ=MEX/ >YEX/>Y9/013#5!32#'32654&##ɶ 72V># ;S4>3NOSQ,JF-F05L1D>F<<7! IEX/ >YEX/>Y9/и013332#'32654&##37L$1Q9 vd%KMMMRL-F1iaD>F?9pb!CEX/ >YEX/>Y9/013332#'32654&##bTy6Y@#"?Y7zoTVVVm-F15L1D>F?9. IEX/ >YEX/>Y 9 / 01"&'73267!5!&&#"'6632Cg*."O3Vg dV+K.g>>fH()Je 2-4#'{}Gin!6 1,VSTU,,4&iEX / >YEX/>Y 9/и/ и/  01"&'##336632'2>54.#"|P^JTTK]MTddT$ $$$ 핊IAgIHd??dHIgAQEX/ >YEX/>Yк9/901!##&&54>3335#"y`BS"=U2nnMQQ[O3F,pY4A@?rc&r0&@']EX/ >YEX/>Yи/9/и01"&'732>54&#"##5!#6632$  !ME1T7.O: /; C 4'JCJFF2P7;N/c&^B* MEX / >YEX/>Y  9/01".54>32&&#"!!3267`?iL*+Mk?<].B*Xl k^/I .'c ,UTSV,1 6"niG}{'#4-2C_ _0& Q >$-_EX/ >YEX/>Y,9,/и/&01"&'732>7667332###%32654&###   +I3l[_\ ((A?@C M "A7mj-F1iaJZiEX3P>F?9'=gEX/ >YEX/>Y9/и/иии/01333332###732654&##'LL#+H43H,p?@@B-F15L15DYEX/>Yк9/ 013#5!#6632#54&#"7anRDE2JFFZfC8fDc&N c&/,E&KD  LEX/ >YEX / >YEX/>Yи0133!3##5KTTEIp'JEX/>Y ++ܸи и013#53533#32#'32654&##SB6Y@#!=W7H>SQSX7D}}D)B/5K0B;E>50(!MEX / >YEX/>Y  9/01".54>32"!&&267!,8]B%%B]88]B%%B]8FYNYFJZZ .WRR}V,,V~QRW.bqjjq{{&WEEX/ >YEX/>Yи/901333>776632&&#"Yj @95   ;d:546IBM%%<7EX/ >YEX/>Yܸ013!73!9F < OEX/ >YEX/>Y 9 /и  и013#57!!3#PPҨ,:&F>Dg:EX/ >YEX/>YEX / >Yик 9/и 9 и /#и)и0к6#98015#####'.#"'66323337>32&&#"3#'nD2lEX / >YEX/>YEX/>Y 9/ )91015&&'732>54&##532654&#"'6632YEX/>YEX/>Yк9/и/  9015###337>32&&#"3kSSkX#"%   Q5 5%0 N!2XgEX / >YEX/>Y и/ 9/ 9013#5!37>32&#"##ͺBK!  IQ@JF'/ M!5ODM`EX/ >YEX / >YEX/>Y9/и й0133!33#5#!OTSG @Q2Ѽ5AD*$REX / >YEX/>YEX/>Y #015.54>32&&#"326796[B%,Nl@;[/@*/M66M/-G / N24VwJO~X/0 5!%Eb=>cF&&.&2&2WEX/ >YEX/>Yк9/ик 901757333667733##5jY&Xc$&_VT:v&K((L&>6D4tEX/ >YEX/>YEX / >Yк 9 9 9к9015#'&&'##33667733%c bXķ\\  ZX<33S=++2ADF\EX / >YEX/>YEX/>Y 9/ и01!#".553326733#5;(8Y=!RUP&8TG F&3SYEX/>Y9/ 01336632#54.#"[S9&8Y=!R*=(%73R;)8"_ WE& 8E&OMrE&;&N &0(0&0(/,&/,l&QK$3eEX/>YEX/>Y9/9%+.01".54>7>76632'2654&#"78X< ,QsG 6!;W;!!Y0-J5!;Q0AGGB&O%': *PrGyW( K  0VI();T5:^B#DfSKY%3&2S: h&WEX/>YEX/>Y%9%/ %9 01332#32654&##32654##h*F1.''6J,B97>B?/!)3 '$4#%""%)L /EX/>YEX/>Y013!!yC]*T-ZEX/>YEX/>YEX/>Y ии0173#'53>77!3#5!  FG GHZ`4,J;]4D R,EX / >YEX/>Y' 9'/и'+к+9  и/ ик#'9)и$013'&&#""'6632353376632&"#"#'##5#"   ';*7P7*;' "Vi?P?i](M*,SEX/>YEX/>Y9/%901"&'732654&##532654#"'6632YEX/>Y9 и к9013336673#5467#dP$LP$']/:']0;d& n0aEX / >YEX/>Y и/ 9/ 9013337>32&&#"#'#nR;!    5[l( MaAEX / >YEX/>Yи/ 01"&'73267667!##J     GS L16OOCC@%]EX/>YEX/>Y9 и к9990133366773#54>7##'&&'#@d\    ZdN  X>\  ::+--<<--+] IEX/>YEX/>Y 9 /и0133353#5#]RRR<*]3EX/>YEX/>Yи013!##]R]]3+PB3EX/>YEX/>Y01!#5!#CC]1/'4 38'2@EX / >YEX/>YEX/>YEX/>Y999 и"к%9(*+ -(3и-;и=%>0157#"&54>32'536632#"&'27&#"32654.#"&DR)6&P."5$)7) #&-*), !!!͛Jz;_B$JL#A[9>aD#J#0!gTWbf[(B/"@3^T8 LEX/>YEX / >YEX/>Yи0133333#5^RRGG]]4XAEX / >YEX/>Y 9/ 01!5#".5533267532N5REK*R+D1zz=4: CEX/>YEX/>Yии 01333333:RzLzR]]:TR\EX/>YEX/>YEX/>Yии и 013333333#5:RvLvR<A]]]4#' MEX/>YEX/>Y9/013#5332#'3254&##ɦJWkkWJBy;>BCIOQJBY.*F SEX/>YEX/>Y9/ и013332#'3254&##3FKDQbbQDYEX/>Y9/013332#'3254&##}Sq,I44I,qh}=@h%9():&BY.*= IEX/>YEX/>Y 9 / 01"&'73267#53&&#"'66329d&#N.Tf cH0F' \B5^G)(Fa %#3RT@KJ2(?aA@_? ,4"iEX / >YEX/>Y 9/и/ и/  01"&'##336632'2654&#"HcQRRR aF'B00B)-55-/77 pqki@`A@`?D[_`\\`_[7UEX/>YEX/>Y9/9и01!5##7&&54>33'35#"]3H1D'⏏7== G?(7"$,++D & D& '+hEX/>YEX/>YEX/>Yܹ$ܹи01"&'732>54&#"##57533#36632N  .!DC&?*RIIR$R5^d5L>Fy]q+-49VV>Br(6qY%  &1P MEX / >YEX/>Y  9/01".54>32&&#"!!3267Z9bG(+Jc7YEX/>Y& 9&/и/ 01"&'73267667332###%32654&##%    QddQ_` B=77= L/8NSIOQJCHMIN+..*:(_EX/>YEX/>Y9/ииии013335332##5#732654&##:PPS``Sk;77;ųHPQJB*//) Hn0 &d & 1/'&4gT DEX/>YEX / >YEX/>Y013333##'gRR F])!neEX/>YEX/>Yܸи к9/ 013#53533#32#'3254&##™RL+G33G+LCz<>CCttC%9():&BY.*<F0EEX/>YEX/>Yи/9013336677>32&#"Ta    0 $   p#I##H$$5"J$%7EX/>YEX/>Yܸ013!73#B]H  OEX/>YEX/>Y 9 / и и0135#575!!3#JJy٬8C>T_1EX/>YEX/>YEX / >Yик 9/и 9и/и#и)к-9/015#'##5##'&&#""'6632353376632&"#"3!i?P?iV"   ';*7P7*;' "b/](M*T-lEX/>YEX/>YEX/>Y9/&9,01'&&'732654&##532654#"'66321Z-$*X-LRMITHFE5K&"*c@.M8+,2=dU  $6#-**%@'$J7" 2!$7 75>JnT= xEX/>YEX/>YEX/>Yк9и/  9015#'##337>32&&#"3!RR;!    5<l( Ma4!FgEX / >YEX/>Y и/ 9/ 9013#5337>32&"#"#'#ʩ_* ! 'O_Cl )M+e]T8`EX/>YEX / >YEX/>Y9/и й01333533#5#5#]RRGGJ]4PT$REX / >YEX/>YEX/>Y #01'.54>32&&#"3267/0Q:!+Jc7YEX/>Y9 015336673Tn  nP%J""J% 33%^EX/>YEX/>YEX/>Y 9ии0135733366733##5dN9Tn  nPR8%J""J% X>@T0tEX/>YEX/>YEX / >Yк 9 9 9к9015#'&&'##7'33667733$U!PX[M  IWLp.+pk*,i4XT+\EX / >YEX/>YEX/>Y 9/ и01!5#"&5533267533#5blRCJ)RGGQ_~~:3]4] #R&J'Q&UD& Ed& <&*<1/'&41/'&4<<&U.@MEX/>YEX/>Y9/9901".5467.54>7>7'2>54.'')L:#iW1& =W6' 65H.'3"8)9R1!4$'NZ&1 7P2\n"#&%, K   08D,3V>"D,=$0)$`H"7'c4&>^9IQUEX/ >YEX/>YSR+ND+и/$и$/$9 29S:ܹJ01"&''26533.55432"#.'.'#".54>32'254#"53#V DX )  ).BB.224" A >R[R> P/OGC$cA >R\R> $&#/OGC$b (=*)='NRSO7kjjk66*A+9GEX/ >YEX/>Y/9/ и/=9=)и$ии'и&и7: @01".54>7&&54>326673&'>54&#"267&&',H3#,%5!=B(2 S-)L4$<5AH$Wf%!#&8:0U" *". 0C( 6-')O#!8*H: 4/)3^'(_9Av4.D7#(:!%+6 *d6=&- G 'GEX/ >YEX/>Y  9/"01"&54632'2654.#"7"&54632,kzzkkzzkCU)8!!8)UC%%%% BEcAAcE# ## #a~ ;EX/ >YEX/>Yи 01353#566733a9L=D5DE CEX/ >YEX/>Yк9 0135>54&#"'66326633IQ}U,DG-M/+cD0M6+NlA<1HtaT(7F- /,51F*-[ai;G93SEX!/! >YEX/>Y!9/!*901"&'732>54.#52>54&#"'6632Sp#* Y>!8)8X?9O2G;-P ,(f>-M9 L< 9,$?T 7#6.+/"? ,/6$4#-)<':J)6!*D/'!~ UEX/ >YEX/>Y +  ии и и01!5!533#%35667#p?Xcc"7tB=/8 ~(UEX/ >YEX/>Y+ 9и01".'732>54&#"'!!6632+E7-)$+5 ";,UH(8",i5%.P;"'BU 6 &6!BJ3G 1K44P7M"0WEX / >YEX/>Y++  9#.01".54>32&&#"6632'2>54&#"A4YB%,Ja4;W .B$&F5!'^0,I5#:M+2$FB&W& U &MsM`U''3@iM&-1J1.K6A%3 BE(.]`F~3EX/ >YEX/>Y 013>7!5!2M7?R2[~CG3H^D%2@WEX/ >YEX/>Y3+;3+9;/ ܸ;и/&01".54>75&&54>32654&#"2654.'.6WW /@&!4* I3%<+-?%-O &3"$>.h:F0A8/) >2!- A06DC  0WEX'/' >YEX/>Y+'9'01267&&#""&'732>7#".54>32&V' SG1$E+;W .B%&E5 ']1,I4";M*4ZB%-J`6(-^`%4BE&4AhM&,1J1.K6&MsM`U'G  aEX/ >YEX/>Y 999901"&54632"6654&267,kzzkkzzkC(UC 7)8 W;D* [E*FfB a~ ?EX/ >YEX/>Yܸܸ 01353'733at*@DV0DGJ 'GEX/ >YEX/>Y  9/"01"&54632'2>54&#"7"&54632,kzzkkzzk!8)UCCU)8!%%%% B:Y=voov=Y:# ## #a> ;EX/ >YEX/>Yи 01353#566733a9L=D5DE JAEX/ >YEX/>Yи01356654&#"'66326633IDG-M/+cD0M6'Hg@=1n@:H- /,53G,&NQU.G9J3<EX!/! >Y++!*901"&'732>54.#52>54&#"'6632Sp#* Y>!8)8X?9O2G;-P ,(f>-M9 L< 9,$?TV7#6-,0!@!,/8$4#-*=';K)6",E0'!> </EX/ >Y+и к9015!533#%35667#p?Xcc!J7cC=18 >(DEX/ >Y ++9и01".'732>54&#"'!!6632+E7-)$+5 ";,UH(8",i5%.P;"'BUV 5 &7#DJ7G 2L55Q9NdF>"/EX/ >Y 01>7!5!2M7?R1J\DG3I`DfC J 0FEX'/' >Y++'9'01%267&&#""&'732>7#".54>32&V'TH1$E+;W .B%%D5"']1,I4";M*4ZB%-J`(.ae&4!DI'3@iM&,3L2.M7&MsMcW(GJ  aEX/ >YEX/>Y 999901"&54632"654.27,kzzkkzzk1)8!;')8 7SZ;a> ?EX/ >YEX/>Yܸܸ 01353'733an*@DR/DG +GEX/ >YEX/>Y  9 &01"&54632'2>54.#"7"&54632,kzzkkzzk!8))8!!8))8!%%%% B!DiGGfB BfGGiD!" "" "a ;EX / >YEX/>Y и 01353#566733a9L=D4DE 9EX/ >YEX/>Yи 0135>54&#"'66326633IQ}U,DG-M/+cD0M6+NlA=1HtcU(>N, .-46K.-[bi<G93SEX!/! >YEX/>Y!9/!*901"&'732>54.#52>54&#"'6632Sp#* Y>!8)8X?9O2G;-P ,(f>-M9 L< 9,$?T 7#6. -0"?!.18$4#,*>(YEX/>Yܹ и ик901!5!533#%35667#p?Xcc#7fB>08 (IEX/ >YEX/>Y 901".'732>54&#"'!!6632+E7-)$,4 ";,UH(8",i5%.P;"'BU 9 '8#DLYEX/>Y  9/#+01".54>32&&#"6632'2>54&#"A4YB%,Ja4;W .B$&F5!&_0,I5#:M+2$FB&W' T 'OwOcW(&3CmO',3K2/M8A&5!DG(.aeF3EX/ >YEX/>Y 013>7!5!2M8AR0^EF2JaD%2@aEX/ >YEX/>Y;9;& &;9;&9+301".54>75&&54>32654&#"2654.'.6W,.?&0R '4#%@0qYEX/>Y'9/'01267&&#""&'732>7#".54>32&V' TG1$E+;W .B%&E5 ']1,I4";M*4ZB%-J`?(-bf'5!DG&4ClO&,2L2/N7'OwObW(G  aEX/ >YEX/>Y 999901"&54632"654.267,kzzkkzzkD()8!!7)8 j?YEX/>Yܸܸ 01353'733an*@DR/D} EX/>Y01"&54632,"//""// .&&//&&.+ +01'667"#"&54632>>  .0 --]4O<%&%'E;Xy}'f+'f 8 #FEX/>YEX / >YEX/>Yܸи01"&546323"&546323"&54632f))(())))(()) *!"))"!**!"))"!**!"))"!*u-EX/ >YEX/>Y ܸ01%'3"&54632 P ++++X^^*$#))#$*Hu1EX / >YEX/>Y ܸ0173"&54632 8 (++++^X^)$#**#$)m)*EX/>Y +$ܸ017&>54&#"'6632"&54632#,'77&A1"\:*D1'-%++++$8.('**7-#.)9$"4,'+2 *$#))#$*y<);EX$/$>YEX/>Y$ܸ ܸ01".54>'33267"&546323*D1'-%I#,'77&A1"\3++++)9$"4,'+1!$8.('+*6-#.)$#**#$)`c +01''3n`nn`&s^| +01"&5467632+'3LD.6 '*^?9Kw#0O4( #*^  +01'667#"&54632/6  '* (2L^0O5' #+@9Kv_^&sg^&s|g|'s^  +01&&54632#"'cCL2( *'  6/^#vK9@+# '5O4 +01%'57^'4P#4 +017'7'7''4"#PS4&sa4&sU+ipU+iU+ipP  +0175!PHHX  +0155!XHHP  +0175!PHHX }s +01%".54>32,6))66))6s'6!!6''6!!6'g+ +01%".54>32'2654&#",#;++;##;++;#/;;//;;g+:"":++:"":+0>11>>11> +017!  u++017!'35#$u"- +01753%uu +01753%3'umuF+e+90173%eDO3+9999017377'G)OoKmlc+901%5!+Bc%uN +01%5!'7#+nmNFTe +01%%5%3%euO)+99901%%5%3'5G+OKls++017!'2>54.#"(2$$22$$2s& $22$$22$X4 +0155!Xpp>z==>Aw +015!>A66f +01"&'73267,e`mm`eA?):55:)?AP +01&&5467hyyh-e__eQ䑑Q*UUzP +01'6654&'7-e__e-hyy*UU*Q䑑h++01!#3Ә\//bhw++0153#5!b//xh9++89++,901".54>54.#52>54&54>33#"33/F. 9,,9 .F/=4&1 '44' 1&4 3'1..40]4'3 / #+[/13  313T.# /ch9+)*+++*)901532>54&54675&&54654.##5323"#c3&1 &44& 1&3=/E. 9,,9 .E// #.T313  31/[+# / 3'4]04..1'3 c`EX/>Y013cHJfQ +013Jc`EX/>Y013JHfQ +0133JJJH0HTo,//9и и 017'7'7737'*l 0 l*xoF.77.F %+ܸи 015'37' FP;GGG ++  ܸ  ииии0175'75'37'7' FPGGGG[7G?+#+E9&E9=90= 901"&'732654.5467&&54>32&&#"6654.'7\ 2=*)-*>J>*3(&8&2Q(8#*&*?I?*1**;)?I #)>I %@&!-(&*=.-@'/$"5%$+=.0<'2$!+!&"",!)H )EX / >YEX/ >Y 01%".54>333>5ZB%$?V2+6Q5R9;Q3R &k^'{y;)GS_EX/ >YEX/>Y$ܸܸ *и 4и;иHи$N017&>54&#"'6632"&546327&>54&#"'6632"&54632f $%')D*3$"++++ $%')D*3$"++++#92+,/!.1!"#1#90-/5!*$#))#$*#92+,/!.1!"#1#90-/5!*$#))#$*W;)/;SEX,/, >YEX0/0>Y6ܸ*ܸи,и/ 0и6$01%&>54&#"'6632"&54632%'3"&54632~ $%')D*3$"++++ P ++++#92+,/!.1!"#1#90-/5!*$#))#$*X^^*$#))#$*)/;J,/EX/>Y$ܸܸ,и/ *и0и$6017&>54&#"'6632"&546327'3"&54632f $%')D*3$"++++ P ++++#92+,/!.1!"#1#90-/5!*$#))#$*X^^*$#))#$*^+EEX/ >YEX / >Y&ܸܸ ܺ9017''3>54&#"'6632"&54632 F$?=P=0#e;,H3(.&))))LLk"%,-YEX/>Y &ܸܸ ܺ901%#77327#".54>'72#"&546Z F$?=P=0#e;,H3(.&))))LLk"%,-YEX/>Y (и2й9(?01".54>32'2>54.#"7".54>32&&#"3267,9cI))Ic99cI))Ic92S; ;S22S; ;S:";,.;!#1".85-&4 /W{ML{U..U{LM{W/**MkBBjL))LjBBkM*^3I/+F2'K;BM*:'6?YEX / >YEX/>Y84+ *и6и*>01".54>32'2>54.#"'32##532654&##,9cI))Ic99cI))Ic92S; ;S22S; ;S9r2%%21''*+&' /W{ML{U..U{LM{W/**MkBBjL))LjBBkM*jk-!1!s%*$ p?'5>=+ +73+*и30и5и201".54>32'2>54.#"'532#'#532654&##,'E33E''D33D'7''7 6((6)L /..#)?4H,,H44H,,H4%*;$#;++;#$;*=$SFFfnDU/+ +ии ии ии01#53#333773#57##'#[``G-,G7G*Hn666rPPrʉiibD)=_/+/8+*и+и+/1и1/,и*4и17:01"&'732654&''&&54632&&#"733773#57##'#}!6!%.%802#. )G-,G7G*Hb%  '#'1'  &#  6rPPrʉii1p"{4=U.+ $+5+и/ 98 98701".54>32#'##".546754.#"3267275U;jP/-Pk>4L22G'/#$9'-R?%$>T1-C'R88hX+3c```1$@W3:*"1MN$@0*S}SP}V--"@~7.#(1"4=wEX / >YEX/>Y5+и/ 98 98 $.701".54>32#'##".546754.#"3267'275U;jP/.Pm>3K22G'/#$7&-T?&$>T1-C'R88hX+,VTVW+ 8K*:)"1LO 3&%InIDiH&-@~6/#'W[EX / >YEX/ >YEX/>YEX/>Y+  +01!7##7#537#53733733#3#7#H6PWU\55PWU\9::9h<>/EX/>Y9ܸи и01'7'7737'*\ 0 \*g<9.,*.9  +0175!LHH  U Ca +:+,+:иܸи !и"и,1ܸ,2и9017&"#"2654&'2""''7&&'77.54>3227&&'8* 3;|;>?-"  8*H'9 $;.4H+ 8!4,%! >27N&-m1&$,D $9 $0!#9( "0 '4$$;+<<<<<<<<<<<^<<l^<]<g<C + +01"&54632'2654&#",HWWHHWWH+66++66ldckkcdl3NONMMNONO + + 01535#566733{i)54r6)6O+ +01'>54&#"'663232M4.'1&K+?M,<$%+A6-&, ##)@?348"6C)+++  +" 901"&'732654#52654&#"'6632)3Q*9!$4<8+%0&C,1%'(+3)6*"!$!F()"""'#.2&+O-//+и и 015#53533#Zƚ/:::h! tt.hC!!+ ++01"&'732654&#"'73#6632+7N*(G'36*%  %3%(7*"!:0&(.8`!1 1$C'+++9"01"&54>32&&#"632'2654&#"9KW0B&&0%0D,@@D&2#.+*/5h\7R6, HK)E80$3,$#,9:O/+01>7#5!.%%13UPM*7$/TTX3C%35&+  +.+.9.901"&54675&&54632'6654&#"2654.'+HL-'!#H<>H(*(N.)#"&6*-(#+>-&7& .970#,0%/>" ' )(C '+ + + 901%267&&#""&'73267#"&54>32".5)#.+&2&0C,@?E&3JX0B:;-##- - GK(E71$h]7R6" +01.54>7X) )-5&&5!=AH**GA>!>wBBv?l" +01'6654&'7.5&&5.) )?vBBw>!>AG**HA=D] +01"&54632,g +ܹ01'66'#"&54632#4' &&%-E= (EX/>Y+ 01"&54632'2654&#",=NN==NN= .. .. XNNUUNNX29;<66<;9a1EX/>Y+01!5#56673"R!)2* =,EX/>Y+01356654&#"'66323NS&';$6>!,$;N! !#52'')5=$<EX/>Y  ++ 901"&'732654#52654&#"'6632+#C 1#`*'(=#/;8 'F '3&&,(7&-0=:/EX/>Y+и и 01!5#573533#Nq.ad922Jaa*J1DEX/>Y+ + 901"&'732654&#"'73#632-*< -%$  2>F ' 6F 300:=%FEX/>Y +!+9#01"&54632&&#"6632'2654&#"9;NUE,+3-34+(#, QGV[) ;95*&2#&"1&EX/>Y+ 013>7#53 $ ( 'A;:5$#??D(=+8<EX/>Y&+,),9/&901".54675&&54>32'6654&#"2654.',.!'*2A!%"-, )/'   %  /%!  %!   %= $FEX / >Y++ 9 01%267&&#""&'73267#"&54632"#, -*2-33@3;NU'#( 995*,Yܹ 01'66'#"&54632#4u' &&&-E]  aQ  ] ]  ] Q ]  Q ] ]  l ]z gz 9(#<EX/>Y++ 901"&5467&&#"'6632#'#'2675 -=jq )6K)A?5</VG$1+59 ,+G?&1S%b <EX / >Y+9  901"&'##36632'2654&#"G22@5BD(5)(4'.'.( ׁ8YK)@-5>:3<( (EX / >Y+ 01".54>32&&#"3267Z#=,/="#2 !0<:0(;+>((?,) @54@ )b <EX/>Y+ 9901"&54>32'53#'#'275&&#"?L(5+@55,'&'5.WQ'?,7|)$5(=68< CEX / >YEX/ >Y+ 01".54>32#3267"3&&@$@0.; HME//6N$=1+>('?+RE 33 ("+-0(iEEX/>YEX/>Y +ии01#5754632&#"3#OOAE/-!&*$0;G/ *#21=MaEX/>YEX/>Y>+*D+2#+D*9801%"&5475&&54675&&54>323##"'3322654&#"2654&##"&'*FO5 #/ R ".?G@>0D+(((($6?%#; 3,+(  )+0 ) "$))!%! (( !%%  bEX/>Y0136632#54&#"@8$94@$'ׁE!A>*'g(EX/>Y +01#53"&54632<%2|g2EX / >Y++  017"&'73265#53"&54632-"/ !6? / +(22% b EX/>Y013373#'@H}GkFʠCTb ++01"&5#53327}62Q ";983  1F"@EX/>YEX/>YEX / >Y013366326632#54&#"#54&#"F21 E5!5/>#%>#%A-<$F8&,&,+EX/>YEX/>Y01336632#54&#"57%85@$'A0!A>*'(EX / >Y+ 01".54>32'2654&#", 9++9 9,,9 +11++11+>((?,,?((>+4@45@@54@ MEX/>YEX/>Y+9901336632#"'72654&#"46AD(5./N(4'.*($YK)@-$7j>:3<  MEX/>YEX / >Y+9  90157#"&54>32373'275&&#"v4?L(5,4,'&'5.o8WQ'?,:(=68<<EX/>YEX / >YEX/>Y 01336632&&#"6B'# =AK', 6(2-(EX/>Y+01"&'732654.'.54632&&#"4+L7%(& +"G@$?-&!,#I)  (5(   (90EEX/>YEX / >Y+ и и 01"&55#57733#3267qH8MP5"- 0J=0dd2**/ /EX/>YEX / >Y +01"&553326753#'# 74@#)@49A=)&2  /EX/>YEX / >Y+013366773zB>>>wA004PEX/>YEX/>YEX / >Y+ и01337733773#''#Y@,082+;WK*,A[[[[[[%EX/>YEX / >Y017'3366773#'&&'#ofD+&DhoE/  +BBEE/EX / >YEX/>Y+01"&'7326773366773  % @E  <>  )2$@//* (EX/>Y+0157#5!3ս!2!2$CEX!/! >YEX/>Y+!01'7".54>32#3267"3&&Ip-f,$@0.; HME//6N$=1n)xf+>('?+RE 33 ("+-0($CEX!/! >YEX/>Y+!01'7".54>32#3267"3&&'"f-X$@0.; HME//6N$=1x)+>('?+RE 33 ("+-0("CEX/>YEX/ >Y+ 01".54673&&#"'6632'267#*$:)?-2,>$#=-+9!$77*9" 11(,>('?,2-02+$/EX/>YEX/>Y+01%"&54673366773'2654'#-'*rA;;?q)'  +$/#%%#0$+*"/*g +015.54>32&&#"-!+80C"/ +5<=#(/1!$(*%*A  MEX / >YEX/>Y+ 9901"&54>32373#'#'275&&#"?L(5-455.%(&5.WQ'?,$5(=68<+WEX/>YEX/>Y+ +  9&&901%"&'732677#"&54>32373'275&&#"A4--3?L(5-5QB,'(&6/,+$8VK&=*=C*<23;g :EX/>Y  ++ 01"&54632535#533Jr| 222]'<zG +0153ޜ//E +015!**=E +015!=**:SA 4!+ ++017'7&&5467'76327'#"'72>54.#"f,TS,W0?>1W,TT,X9>1o+  ++  +S-U:##;V-Z%%Z-V;##:U-Y&$11$$11$U1K+/+/9ܸк /9/,и/-017732654.546753.#"#5&&U'&[9<=/FSF/YI<7J,"(3;/GRG//A'<8dq9)1&) )9,?P*0 -&$*<. 7),M)WEX/ >YEX)/)>Y +)(и и!01356654'#57&&54>32&&#"3#!N?=uc 7M0>U0;*BE $$H2_94 = *D0+ /A4 ; 85FG5#~cEX / >YEX/>Y9йиܸйии 01!5#535#5333667733#3#U\!"\R0A/@!C##C!/A0:61mEX/ >YEX/>Y%+%(и%и ии+01"&'#57&45447#576632&&#"!!!#3267vc@;;@j3X1;&I[&XE+A1&\ v,,v-!/!aW1  1V`$#,,1q%W$++и/и/$ܸ$и/и/015.54>753&&'667?98@x-J56J*3,@(- 4$H'6CX O Xgh$=T54S<$jg"44"g1(BEX/ >Y+!"+" и!и01"&'732677#57376632&&#"3#*4- hF) PT0#(>a >OM;8dh >$/??.K6`"3}EX/ >YEX0/0>Y00.ܸܺ .9 .9к%.9&.9.301""&7&&54677327&'667'7&'m <><68:#>Ho` 0   0 +!1:21 N2 0  H H{%mk\iq$/ ",&/d[ nN4uEX/ >YEX4/4>Y +43и ܸ ܸ%и &и +и,01356655#573&&'#57&&54>32&&#"3#3#!N?=|W ^M7M0>U0;*BE $$H2_9, . *D0+ /A41!15FG.(~#'+EX/ >YEX/>Y +9 ܸк9  ܸ!иииии )и%ии (и$иии013'3'#5#575#57533533#3##'#'##'# ;@ :KKKKT^sAIIIIT]ta>L3+D+0D0DDDD*G~!cEX/ >YEX/>Yܹ!ии и! и!ܹ013#575323###3&&#3267#]]-N;%LL&;M-FNE;;EN3'?-8,A*El;1:9:~ !'EX/ >YEX / >Y 9& 9&/ܸк 9&ии& ик 9ииии к" 9013'377##573373333###'377#* j 1 $LE"L;b<G?F p", 4 / 4bb(4:(Dbbm",0ZEX0/0>Y%+0.ܸииܸ01%"&54>323'5#53533#'#'2675&&#"5!L[1?!'5GNN:>4-)9vzna\)B/S"1CC,S.; +>E11*H~$-2EX / >YEX/>Y $ ܸ)и*ܸ2ܸи*и)и и и)и*и2и2.ܹ013#575#575323#3###3&&#4&'#366327#]]]]MqXNMWsNFG3;k#t(:(t5?. .A>E;  : FT*cEX / >YEX/>Y%$+  ܸ и )и*015.54>753&&#"32675#5372TbD%E> d=<wEX/ >YEX/>Y 9 /ܸ ܸܸ(и)и .и/и601".547#573667#5736654&#"'66323#3!3267C-J5PE.,F!70)6,!N=(B0a2=<-I!&$c +>',$+ ,.&4!/%.*:#-1 0)+6) 7&.`"%eEX/ >YEX/>Yܸиии$и%015.54>753&&'667MHHM4V>"!=W55/O12 "61!O3Ap  c1TvIGtT4a`+/#,&0dl ~cEX/ >YEX/>Y9/ܸ йи 01753267!573&&##5!#3##'lOS`L ]LO!+JH\J]C:<,.&D15#1MW-~#}EX / >YEX/>Y 9ииииии иии ии01'75'75377>54&'7]s]sT«%NA)E:f ++5H+*6ǞQ+[HQ+[)=' ?^>7!~3EX/ >YEX/>Y017'75#5!#77#5'75xˊT+K@@@(MH@(LA+KH7!~ ?EX / >YEX/>Y  01!#57!#5!R,0&M11*1~#iEX / >YEX/>Y 9/ܹииии "0135#575#5732##!!32654&##tttt1U=##>T1^TNSSNT,C,6+C.0E,C1HABC7E~]EX/ >YEX/>Y 9 / ܹи и  0135#57!!3#3#OO|4GFx8| <p +017'77'7M1!!1 -- <pW <pW='{M&W0? '3?KvEX/ >YEX/>YEX4/4>Y".+ +(":и(@и.F01"&54632'2654&#"'%"&54632'2654&#""&54632'2654&#"4AA44AA4##$$f4AA44AA4##$$*4AA44AA4##$$E?=DD=?E*+/-**-/+:0E?=DD=?E*+/-))-/+*E?=DD=?E*+/-))-/+?~'tM&W<~'tM&W U'tM&W<~'tM&W<'tM&W<~'tM&W<'tM&W<'tM&W<'tM&W<~'tM&W<~'tM&W<~'tM&W<~'tM&W<'tM&W<~'tM&W<~'tM&W<~'tM&WS?~ !-vEX/ >YEX / >YEX/>Y++(и(/"015#56673'%5#56673"&54632'2654&#"R!)2mfR!)24AA44AA4##$$* {:<* E?=DD=?E*+/-))-/+<'{M&WUh, +и 01%5#53533# Bh>>U+i +015!U+>>f~ ) + 9 и и017'7'77',,,,~----U`3 %+ܸܸܸ 01"&54632"&54632'5!,>>zU&pkpUU@'p&pp*x0h;+и/и/901%%5%u-0>Ok0h;+и/9и/0175%5%5k-u0OO>U REX/>Y+ 9 и й 0135!5%5%UR҇>>JGI,,IU NEX/>Y  + 9й й 0135!%5775''5UR҇>>GI,,IGJU, DEX/>Y+ ܸܸи 01%5#53533#5! B>>>>o &EX/ >Yܸк9013#''#oHHB11B~UASC+ܹиܸии ܸ 0177#537#5!733#3!pLg[ L=Lg[LA>>>>L ' ++и 01".#"'663232>7/)')5H&/)'  5H "4F7 "F6L &}k}Uhi +01%5!5!h>Uhi +017!!Uh>`h: +01754>32#54&#"`6K,,K6AL??Lh1O88O1NSSNUh, +0173!UBlhz>\%0<ZEX/>Y1+& +++9:ии(и701%"&'##".54>3236632%27&&#"2654&#"7O& #+1%'5)# O6!9))9@(4$+/R-040#=!>9>#*8 '>+$5@.?%*E0SX1+-))5=+0?17>1 ++01".54>32'2654&#",-##-.""."**"!**!//""//!..#%..%#.h +013Q"d&XW +01''3!"QdTE'L !1WEX/ >YEX/>Y (+ 9" %01".54>326454&#"'6632'267&&#"$B28P3)OL@ 8& O/as&Fb3AY!F!%7$( 1G-1S<"&"}p4 #Tc7Dld*")9!/"b%++01"'732654.54>32&&#" *  6+  )  6>RN7~80T=#>UM6~71T=# p +01#4>32&&#"TK 6+  )p0T=#>UMbT +01"'732653 *K 6>RN_1T=#>G4 +01'736673/Gt<_ -;  m+-_&2s 8KEX/ >YEX/>Y 9 к 901#33736677#8^X>? !p9m7dd7mF IEX / >YEX/>Y 9/ 0135!5!5!5!5!FLGGFpPC R'u'uO'OF%~ JEX/ >Y  + и 9 и0155!!!Fwx5FF5GG4$~"//EX/ >Y01!#!4Ux S=!%1=YEX / >YEX&/&>Y,8+,и/ &201".54>32&&#"3267'77'7"&54632'2654&#"2&(4 . $1.%$6v1!!1=NN==NN= .. ..A*=''=+' @33? '--XNNUUNNX29;<66<;9t#-YEX/>YEX/>Y%9%ܸ% ܸ+01".''6674>3232676654&#"i6*!+'69Ih\!+!B{;C!) )A.4 :R5PK^N'4 3( 2CEX / >YEX/>Y!+ *01".54>32!"32673!2554'&&#",9cK++Kc99cK+bG)5^#&)q F&)G 5[zFFz[55[zF =3V7 %%77706 >7? 60g7 7'%j? 607|6/ ?9  ++015!!!!!+p]hCCp  .g6>>6g!7'+9 к9017'3'#'##O.  .g6>>6**oCCh]F+ +01'7!5!75'!5!'75*oCCh]o*.g6>>6g.!7'+9 к 901733737*.g6>>6g.*o\iCCo*%d +01%'7!'57!'7d-~T~--~~-&&&&U03 + 9 9 9 901#'7'73'7.&&&&9.~~--~[~.32,1S<""^6'+ +01%".54>32'2>54.#",4W?$$?W44W?$$?W4'B11B''B11B^$?W22W?$$?W22W?$21D)(E11E()D1Wu +017!WuVIg-++017!%!!Io\g:1dIg- ++0177!%!!I;3Xg1q7(]!K7b +01% ,  K  >iX +01753>i>iX +01753%!>oFi,[>m.HEX/ >Y0173>m>m.HEX/ >Y01737%%>,YmM>UD%EX/ >YEX/ >Y01%5!+U>UD/EX/ >YEX/ >Y01%5!'!+Uh[*mHEX/ >Y01%%5%3m%*mHEX/ >Y01%%5%3'/m%MAmqHEX/ >Y0173YmmCHEX/ >Y01%%5%3@Ym%Dd0+#+и/и/017!'2>54.#"7".54>32D2T<""Y+ +01%".54>32'2>54.#"7".54>32,3[C((C[33[C((C[3'G6!!6G''G6!!6G'2''22''2[#A];:]A##A]:;]A#24K00K44K00K4:&5! 5%%5 !5&q (EX/>Y+017!%!!=M4 v3=+4NEX/ >YEX/ >YEX/>Y+ 017&&'73667!!7!67E+8%= iB'Do#=396)4hM@&:~?na_|v3C92)=bEX/>Y01&&'73>7I08*CN`n;6;pbRSE&?CY:27eM& /+01"&54>323'6654&')<):#"2",  #A</?&&*!  ./3'E )0Si)?*Q%+ +ܸ01"&54>32%#"&54>32h(<'8!"z.=!(;'7!".<&&*!<)>*&&*!k*|)?* O@EX / >YEX/>YEX/>Y 901#.54>3236632.Zq?'51JK05'?q a{i61J25CC52J16i{ ODCEX / >YEX/>Y 9+ 9C0135>7##"&54>327.54>326632#".'#i!8, G%YEX/>Y01#53.%% om O%/EX/>YEX/>Y$0135>7##"&54>73#"&'#i!8, D*8IBoVUpBI8*D ,8!(/L84&BF-P_zXXz_P-FB&48L/( 'Om'3?MU]W+ +G@+.R+.(4и.:и(NVиRZ01%".54>32'2>54.#""&546323"&54632"&'73267'254#"3254#",@kM++Mk@@kM++Mk@5Y?##?Y55Y?##?YfBQ">-->"Q '+Nk??kN++Nk??kN+-$AZ77ZA$$AZ77ZA$########E= '$$' =E;;Y+9EQK,+ +3+@:+ и&и:Fи@L01%".54>322654&#"32654&#"267'#"&''"&546323"&54632,YEX/ >Yܸк901%#.54>3236632.IRRC)5H+BWWB+H5)CRRI /?42D`G1K3;JJ;3K1G`D24?'m+9BT`M+$++2F+R,+F и /R=и=/017".54632#'2672>54&#"7"&'66326672'&&#"326732654&#"@gI(y:E3D&#pB=c*>):;yrqy">V4]cqXXr $4F .+<  -:6)19$1.@HPWKZS',(/78. L8      \(/=KEX / >YEX/>Y)+E,+,E9",E9E0и0/E7и ;E>и>/;I01%".547&&5467&&54>7'267!'66327&&#"66327&&#",PrK#[=0 '(& 0=[#KsO?JJY!  ! !8-_+!6;  'O ;6!+_-8! _8;;8##A77A##A77'rm)5CQ]Y+  +XR+0A+>*+>6и>Dи>KиK/AO01%"&'&54676632'2>54.#"7"&54632'66327&&#"66327&&#""&54632,Z"?nn?"Z3X@%!?Y78X?!%@X3b_gZZg_  " "  " "'UT &%b__b%& TU- AdE=V66V=EdA *6SMMS6*J!!A77A!!A77  -+X!*5/'+!+"ܸи" и01'73546323%37'6654&#"354&#"U((.XQQX.((,,1##1I2332F$$X__X$$ )#00#) $54.#"5#535.54>323#,%?..?%%?//?-L7$@X44X@$7L-+/@''@..@''@/>e'=O-1U?##?U1-O='e> e1KEX/ >YEX/ >Y+ (+и/017".54>3275%#7'2>54.#"4X@$$@X4%A;$@X3%?..?%%?//? #?U21U>$:O-2U?#9.A'&@//@&'A.[}>xEX+/+>YEX3/3>YEX/// >Y+%"+3 ܸ .1и%8и":01%2>54.#"'#5&&''7&'#53667'76675373#,2$$22$$2X%/@)Z+Xll V+W+@-&Y+XllW%33%%33%mZtt X,W&/>)X,X ttW,V$0>.%Y`5EX/ >YEX/>Y 013'377''#L(@AA@@AA SRE1' 5EX/ >YEX/>Y 0133%!''#1HPjaRRah3<}}h^|^= (EX/ >Y+01526548:<<:[]]21--21NEENv= (EX / >Y+ 01&546"3v[]][:<<:NEEN12--1; +015.54>32&&#"-!+80C"/ +5<=[#(/ 1!$(*%*A v$EX/>Y+01373'3] ]g]]WW +01'3']]W +01%"&'573267I 2i   *6+?<&1 + 8l 8 8>_EX/>Y013f?Y8 8l _B +0138@ALY;98Lnz " 5# #/;GS_jvEX/>YEX/>Y +qk+*$+f`+B<+ ии$0и*6и<HиBNи`Tиkwиw/ZиZ/q}и01"&54632'"&546323"&54632%"&54632!"&54632%"&54632!"&54632%"&54632!"&54632%"&54632"&54632'"&54632+z`bd`{ Rmn%R8l  +01'7A:88mc +01'7I/s7.M +01'7CU'.8  +01'7+:8)8c +01'7$/*7 / +01'7B9/U/ 8+к901'73'##rRr#v8 qF+к901'73'#$iVi$nqq]A'+и иܸ01".#"'>323267t& 7 %& 7 %A ,#2$ ,#1${I'+ܸи ܸ01".#"'6632327w(!86-(!(86" 9BB:AY +015! Y99 +015! 99Y; + ܸ01".'732>7,(:%3%%3&9;+6%%6+< + ܸ01".'732>7,*:&D !! D&:<)6''6)J + ܸ 01".'73267,#4$2/++/2$4#/#11#/#E + ܸ01".'732>7,*8#H$* H#8$.#3.$Ln +01"&54632,&&&&L####g; +01"&54632,""""L + и01"&546323"&54632L !! !! 0 + и01"&546323"&54632<|+ܸ01'6654'7  SEJ(<(+6/-{h+ܸ01'6654'7  S BH(&'0)& ;-! + ܸии01".'732>7'"&54632,);'0((0';)  ;+6''6+9  + ܸ01"&54632'2654&#",4::44::4!!!!97))77))7%"!!"p  + ܸ01"&54632'2654&#",*77**77*1)*11*)1$8+и01'7'7.W:4.W:8l+и01'7'7+\96+]8  >+901'737r#vv#r> qq M+901'737i$nn$iq\\q$I0 +013J$ Qk8+и01'7'7c:Wic:W8jl+и01'7'7j8]uj9\  8+ܸ 01'>32.#"3%:((9&3%%86++6%%I+ܸ 01'>32&&#"2$4##4$2/++//##/#11)a + 01"&5467632/ *0 )'$%?"$>p+ ܸ01.5467L(JES > -/6+)c +01'665#"&54632   *)"$'$%?<| +015#5353Sss5H/Hx +01533#5ssH/H=EX/>Y015#53Oo=^/# +01'654&'7+T@ (6) M& /"j  ++01&546"3jEEEE&''&4-.4$  -.EX/>Yܸи0153533Y6Y/jj/+015#53#YYj//j +и 015#53533#YY6YYH/HH/Hj +0153//*n1 z ++01'6654&'7?.$#A4U(&#",+?  ++01&&5467SA4UP?.$#?$",+)z$EX/>Y ܸܸܸ01'6654&'73?."+(6#&U(`H ,+z$EX/>Y ܸܸܸ01'6654&'73?."+(6#&U(`H ,+EX/>Y+01"&54>7332678,::&,$ 0-0(" ;! 'EX/>Y+01"&54>733267:-:=%," --.)" 323267!0)&7 #!1)%7 # +# /" +" /"x ++01526548&''&EEE$  $4.-4 +015335300``++0153'35#Ɩ(TG+и/и/ ии/и/01'&632366324&#"#54&#"420&'0240NF FN<(*&&*(5 +01'7'77' == >> == >599::99:A 7 +01"5533267XM@  \/  1?U +015!ګ::fX  + ܸ01'6632&&#"eကe`mmX*>AA>*:55LL #++ и01"&546323"&54632''7{#R1Lus" #++ и01"&546323"&54632''7|%_5lw$4 #+ +и01"&5463277"&5463251DKsS LL #++ и01"&546323"&54632''7m`1RLui"s #++ и01"&546323"&54632''7zo5_lm$w3 #+ +и01"&54632'77"&54632]@B)IS L& /;+ ии ܸܸ)иܸ$ܸ,01"&546323"&54632'".#"'66323267-$**&$**Lw'5'5L '+ ииܸ01"&546323"&54632'5! L// '+ ииܸ01"&546323"&54632%5! ..LH 5++ ик901"&546323"&54632''737^``^L\II\ 5++ ик901"&546323"&54632''737c!dd!c|`KK`: %+ +к901'73'#'7dDdg#W1:"\\"Hx" x %+ +к901'73'#'7"]H]"]{a#ZZE ]'5: %+ +к901'73'#'7dDdgq0d:"\\"Hp$uYx %+ +к901'73'#'7"]H]"]wZ#UZZEX%_:1+ +к9 ܸ01'73'#'6654&'7dDdgv  %;?!:"\\"H#)$# 1+ +к9 ܸ01'73'#'6654&'7"]H]"]u !& ;=8ZZE#*$#&#:#A++к9 ии ܸ01'73'#7".#"'66323267dDdgC"+!#"+!:"XX"EG  '2  &3A++к9 ии ܸ01'73'#7".#"'66323267"]H]"]D"-$)"-$WWBJ&5'5;@# + ܸи ܸ01".'732>7''7,(:%0&&0&9-'X4;+6''6+l|(# + ܸ и ܸ01".'73267''7,#4$/0--0/$4 )_5#/%33%/#bt$;@# + ܸи ܸ01".'732>7''7,(:%0&&0&9#e4X;+6''6+lq(|# + ܸ и ܸ01".'73267''7,#4$/0--0/$4&k5_#/%33%/#bm$t;P%+ + ܸи ܸܸܸ01".'732>7''6654&'7,(:%0&&0&9C#)=D$;+6''6+o$2(( !+ + ܸ и ܸܸܸ01".'73267''6654&'7,#4$/0--0/$4: !%;>"#/%33%/#_#*$# ;"); +#+ ܸ и#ииܸ&01".'732677".#"'66323267,%4#/.//./#4"/#%"/#;&++&  &2  &2); +#+ ܸ и#ииܸ&01".'732677".#"'66323267,#3#......#3"-$)"-$&**&'5&5:$ 01'73'#7".'73267_D_`-&(**(&-:SS>I   +01'73'#7"&'73267!\H\!]BB.*,,*.BWWEI8&!!&8YK+ܸ015!''7 &Y99h'c1+ܸ015!''7 y'99\&g0/#+ ܸܸи01.54677#F;I3+JCA )*3'./'+ ܸܸи01.5467'7#F;Is@K&A )*3'82' %7 ++ ܸܸ"иܸи%01&&5467'66323267#".#"G$:?;% #%"/#%"2"' |&2  &2  /'+ܸܸи01'6654'7'7 I;F#2*JA&'3*)  /'+ܸܸи01'6654'7'7 I;F#?J'A&'3*) 2'%;++ии ܸиܸ 01".#"'66323267'6654&'7m"/#%"/# %;?:  &2  &2! '"S +015!'NNz +01'5!'ޜpS +013Npxpz +013ޜpx!7S -+иии 0153!53!53NNNNNN!7z ++иии 01%53!53!53ޜSA +01333NNNNN7 p p zA  +++01333ޜ7 p p ES =+иии и и 0153!53!53!53ppppNNNNNNNNEz ;+иии и и 01%53!53!53!53ppppޜS_ # ++ ++0153535353NNNNNNN~z_ # ++ ++0153535353ޜ~pS +01!#!Nzkpz +01%!#!Nz pS +01!#!kpz +01%!#! pSS +01#!5!SNzpNpSz +01#!5!SNzpnpzS +01#!5!zpNpzz +01#!5!zpn +01!3!N,k +01%!3!N,  +013!ޜkN +0173!ޜ S +01!5!3S,NNS +01%!5!3S,Nޜnz +015!3'Nz +01'5!3'ޜnp +01!#3!NN,kxkp +01%!#3!NN,xp  +01!##3!N'kkp  + 01!#33!'N,kkp +01!#3!kxkp  +01%!##3!N'n p  + 01%!#33!'N, np +01%!#3!xpS +01#!5!3SN,NpNpS +01#!5!3SN,Npnnpz +01#!5!3#SN'pNpz +01#!5!33z,N'pNkpz +01#!5!3zpNpz +01#!5!3#SN'pnnpz +01#!5!33z,N'pnnpz +01#!5!3zpnnpS+01!#!5!NkNpz ++01#!5!!!SNz,pn'Npz + +01%!#!5!5!N,zN'pz+01%!#!5!NnpS+01!#!5!kNpz  ++01!#!5!!kn'pz ++01%!#!5!5!N'pz+01%!#!5!n+01!5!3!Z,N,Nk  ++01!!5!3!,N,'nk ++01%!5!5!3!,N,'N+01%!5!3!Z,N,ޜn+01!5!3!ZNk + +01'5!3!!'ޜnkN' ++0175!5!3!'N+01%!5!3!Zޜnp  +и 01!#!5!3!N,N,kNkp + +01!#!5!3!N,N,knnkp  ++01%!#!5!3!N,N,Np  +и 01%!#!5!3!N,N,nnp  +и 01!#!5!3!NkNkp  +и 01!#!5!3!,N,kNkp  +и 01!#!5!3!kNkp +  +01%##!5!3!!z'NnnkNp  + +01%!##5!5!3!N'n'Np +  +01#!5!33!!z,N'pnn'Np  ++ 01%!#!5!533!'N,N'np  +и 01%!#!5!3!Nnnp  +и 01%!#!5!3!,N,nnp + +01!#!5!3!knnkp  ++01%!#!5!3!Np  +и 01%!#!5!3!nnK S+и0153!53w>NNNNK z+и01%53!53w>ޜjS +0133NNN,,jz +0133ޜ,,++015!5!'ZSNNNNp+и013#3SNNpxxp + +01%!#!!!Nz,1NNpS +01##!#SNNpkNkp + +01!#!##!NN,S1pS  ++01#!5!5!5!SN,zpGNNNpS +01###5!SNNpkNp + +01#!5!##5!NȜN,pNGN ++01%3!!!N,,1NNN +013333NNNkkN  ++01333!SN8NzSN1NS ++01%!5!5!5!3S,,NNNNG +01!533338NNNNk  ++01!533!5!3N8zNSNGNp  ++01%!#3!!!NN,,xNNp +013##33NzNNpxkxkp  ++01333##!NNNN,pxNpS + +01#!5!5!5!3SN,,NpGNNNGp +013###533SNNNpxNp  ++013!533##5!SNNN,pxNGGNp + +015!!#!5!'NSNNGNpS  + и 01###5!#SNNpkNNkp '+ + и 015!##!##5!'N,N,SNNkGN  ++01!5!3!5!Z,N,ZSNGNN  + и 01!533333ZNNNNkk '  ++и0133!!5335!SNNSNNGNNp7+ +ии и01%!#!5!5!5!3!!!N,,N,,GNNNGNNp- +и и и01###533333#SNNNNNpkNkkNkp 7 ++ии и0133!!533##!##5!SNNzN,N,SNNGkGNpS +014>33#"5\|F''6_G)pF|\5N)G_6ppSS +01!#4.##532SN)G_6''F|\5p6_G)N5\|S +01##532>5S5\|F''6_G)pF|\5N)G_6  +01333#".N)G_6''F|\5Xp6_G)N5\|X +013#-++YWX +01#5+-+WYWX +и 01 #5533-+++WWWWSS +015!'zNNS +013NS +015!zNNpSS +013NpSz +01'5!'zޜz +013ޜz +01%5!zޜpzS +013ޜpz +01%!5!5!5!,z'N'pz +01#333z'N'pkz +01!!5!!z,''pz +01###3z'N'k,X //01!X,DpX //015!XppX //01!Xp^pX} //01!Xp pX, //01!XpDpX //01!XpkpX //01!XppX9 //01!Xp7pX //01!Xpxp  //01! pxp //01!pxpw //01!wpxp, //01!,pxp //013pxp //013pxpK //013Kpx,pX //01!,,px*X #/;GS_kw+7CO[gs//иии014632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&8      8      8      8      8      8      8      U      ZU      ZU      ZU      ZU      ZU      ZU      *L* #/;GS_kw+7CO[gs//иии014632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&>>>>>>>MUMUMUMUMUMUM*:E #/;GS_kw+7CO[gs//иии014632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&4632#"&'4632#"&'4632#"&/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G/""//""//""//""//""//""/G"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//BM"//""//""//""//""//""//B9X //015!X9 pX //013 Kpxp,, //01!,pD,pX, //01!,,pD,, //01!,,DpX///01!!,,pxDDpX////01!!,,,DDDpX///01!!!XX,DxpX///01!!!XXp,,X //01!,,,DpX////01!)!,,,DDpX///01!!!X,,p*!:p #/;GS_kw+7CO[gsuEXf/f >YEXV/V >Y ++++rl++~x+++++ии $и*и0и6и<иBиHиNиTиZиf`ииииии ииии ии и&и,и2и8и>иDиJи`Pиl\иrbиxhи~nиtиzиииииииииииииииииии и01"&54632"&54632"&54632"&54632"&54632#"&54632#"&54632#"&54632"&54632"&54632"&54632"&54632#"&54632#"&546323"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&546323"&546323"&546323"&54632"&54632"&54632"&54632"&546323"&546323"&54632#"&54632"&54632"&54632"&54632"&54632"&54632"&54632"&54632,    ;    ;  ;  ;  ;        [  ;  ;                     *  *  *  *        l  *  *                 G     &     &         2   2   2   2         2   2   2   2   2   2   2   &     &         2   2   2   2         2   2   2   2   2   2   2   /'Ik#.8CMU]it~#/;GQ]is{+++4/+$*++<B++ +|+9и9/*и*/$и/и/и/и/?и?/IиI/DNи RиVиV/ZиZ/^и$dиd/$jи9oиo//uи4zии/и/и/Dи<и/и/и/и/и/и<и/ииии/и и /иии/и/0и<6и6/$HиH/NиN/Rи<XиX/<^иBdи$jиj/nиn/tиt/x|иииии/xи|ииии/ии|иии01"5432"5432'"54327"&546327"&546327"&54327"&54632"&5432'"5432'"5432'"&54632'"&5432'"&5432'"&54322#"&5462#"&542#"&5462#"&5462#"&5462#"&5462#"&542#"&546%2#"&5462#"&5462#"542#"&542#"&542#"&54'2#"&54672#"&5462#"&5462#"54'2#"&5462#"&5462#"&546'2#"5472#"&546'"5432"&546322#"&5467"&546322#"54'2#"&5467"5432"&546322#"&5467"&54632,   "  *  /  9  %5  3  <  A  B    * 3  < L  E      $  &  *  , < <  Y  1< G C;2   +       @;2   +           >   ;   4 +       ;   4 +     y   Q   0    K   0       '         &   '         MQMQb O OS O 'Om;;Y 'm\'rm-+X4 %EX/>YEX/>YEX/>YEX/>YEX/>Yииܸ 013#5754632&#"3#33"&54632vBBEI)EggR(&&&&>MKV ? ^MC]L####9%EX/>YEX/>YEX/>YEX/>YEX/>Yии013#5754632&#"3#"&533227{BBEI)Dgg/(R  >MKV ? ^MC] 86f>cd$)+ 99901#4>55#7#3Q,9;9,tu,9;9,QQ;R;)$&4H5yװ"Ǽ-+XX +01X(lc +01'7*1190--0e +01 ee_ +01.91]]0/r %q}|  A  i vP@2!(>TQ0vekr9 !!%!;!Q!g!}!!""#{#####$$$5$K$a$w$%X%n%&d&|&&&&&'''0'F'V'(((3(I(_(u(()f)~)))))** *6*L*b*x*****++,,,5,M---4-J-`-v---.m....../ /#/9/O/g///00*0@0X0n0000001 1"181N1d1z1111222233$3:3X474M4c4y444556666677$7<7R7h7~7777888899,9999: :#:9:O:e:{:;X;n;;;;;<<<<<===.=D=Z=p======> >">8>N>d>z>>?O?@AUABmBBBBBBCC'C=DnDEEEEF F!F7FUFkFFFFH$H:HPI^IvIIIIIJKKK1L-LCLYLoLLLLMMMNN'N=NSNiNNNNNNO O!O7OMOcO{OOOOOPPPPPQQ+QAQWQmQQQRRR2RJRRRSS+SISaSTTT-TET[TqTTTTTTUUUVV%V;VQVgV}WnWWWWWWXX(X>Y%Y;YQYgY}YZZ[[\\(\>\V\t\\\\\\]](^^^^^^__,_``$`:`P`f`|````aaaab b!b7c c c6cLcbczcccccddd,dBdXdpdddddde e$fgghZi?j-jklmnopqrspstAuiv?vOw/wyzz{|}5~.>V-P\ +u+h4OtU-Ct.DZp 5Kaw0F\rUcJ%="(8+Q&`t:rC@ ¤ÑGƬǂ9jO˴̗OT=M:Pf|ВШо,~`xԊԜ tՄՔդմ$4DTdt *&ڍڣ_ +;K[kPEsJ%{'=Sm($.z&"8N^t[VfrD5tO_jaQ o 1     o  j#wl%;Kaq%)?%F`nU " !E!"G##$V$f$$%&n&'(()}**+,-2../C///001120233'3q333344Z4444455565Z55556b6667$7Y778%8Q899)9N999:3:r::;??@@AaBbCXDDE E8EbEEFFCFpFFGHIJyKLMNiNOOO'PQPcPuPPPPPPPQQQ)Q;QMQQRlSSoSTTUVIVVWWoWX%XYEYZN[[^\<\]2]r]^^"^4^F^X^j^|^^^^^^^_ __,_<_`a abYbddsdemeffgghNiizj'jk(kl,lm8mnAnopMpq]r6rrrssAstuvOwKxxz{|-|~" _%5Ee4Tt4Tt;a:LbEO,X{_<L\b SdGWP@`oDiD}8 >s;UfD4cRi~b 0| CScs:a?r:M"%r¶>Âë3đ7Ņ>uƸOLj'rȿyAgʓʥʷj˲̷SxAμ8ϳ.ЪpkӛKԣ~֣J5د Y5ܘ{ޓkCf fpD*U3^ 6_BuQ1nUG9x(e1v]M:[A~@ RX%d:)* xJ?lBh*Y'Lq*Ot,| ?e?p555##$$$&$6$F$V$f$v$$$$$$$$%&'[''((C(j(X_< ~O~ cAWr5O_QbHR0f2dC*O+ 6&AQ]P<DgH]Z7jJ:]<]<GEM3@1G cAAAAAWWWW rrrrrrrrsrrrrrrrrr555555555OOOO ____________Qbbb}8 HHHRRRRRRRR000000000000000000000000$$!dddddddCCCCCCCN******OOOOOOOOOOOOOOOOOOOOOOO+ &&&&&&&&AAAAAA e;UpDZQQQQQQQQQQQQQQIQQQQQQQQ]PPPPP6<<<<DDDDDDDDDDDDDDDDDDHHHHHHHH]](]ZZZZZZZZZZZZ7jjjjJJJJJJJ$:::]]]]]]]]<<<<<<<<<<<<5<<<<<<<<<<<<< gAGGGGGGGXgEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM311111111GGGGGG<]]7]P^]]=P<<?<sE[>=7<<N3<M]]]ZV8JJJO**:]`<!,???c7G886E2M319GG;0GYGRT<R<<<<<<<<<<<<<<9<<<<<<<<<<<<<<<<<<ccccccccccccccZcZc8cccccccc.cc c+rAO0_b+HRF0OfK*&6,&$_(&9]0A[t]HQd8T/\@]<BO,85"Z]O,%9[]QQ@OO"QOd>[D    ccr>NNfHO0OfA*/6OA(&7b.,rrBC__Q'fN/K0&<>fOA&&6A[_ r;N00//QKh*D>ddn@]<]]PB1 @^X::#F}=,7DDPGZZ7:nd1g)<FH>n!]P33@X]JQDEd<<11<<Uc*GaE9'8MFDCGaGaE9'8NFDCGaGaE9'8MFDCGa my_ggSaUUUPPuuu<<>fzbxcccT[H^W^tbbbbbp11WhUF4=:UM5:q1`N.*m*T=`l-77*E0 SUUfUUUxkUUUoULLUU`UTL >+& FPF4t!!`QVg!!U<J>WII!>>>>>>**D3M  -<`15 {kj# o ?f5Y!!KK, ,,MM  -49cS-X??XXKX^2    8ADBO@ ` , 1,  /9@Z`z~7C\ghnv{~  *,14=BE_auz~/_cuCIMPRX[!+;ISco    " & 0 3 5 : ? D I q y  !!!! !"!&!.!^!!!!""""""""")"+"7"H"a"e###!%%%%%%%%%%&&&<&@&B&`&c&f&k''R'd'..% 0:A[a{7CP^hjox}#,.49BE_atz~0brCGMORV[  $2>RXl~    & / 2 5 9 < D G p t } !!!! !"!&!.!P!!!!""""""""")"+"7"H"`"d###%%%%%%%%%%&&&:&@&B&`&c&e&j''R'd'..".nW vnmq97,x,T`SR[omjiiCX_[6p^ ݻީްމވa\RݨY`կլ%u%h   $&,2<BDNPRVZdflnnpplnxz|AZ]ovtw{}ZEB@Cz\]^6789:=MR]^_a~q ()*,IJKMhnopqrr;<@ ST V"U!W#['b-c.d0e/`+p;q<r=s>xB}HLNSPTUVYZ\[a`eigms~tFw? OuOt?vo:f> N#+027%,18   "$%tuvwz|x{=>?@ABCDEFGHIJKLMNOPQRS T U V W$&)-.QX$Y%Z&n9u@zDyC{F|GWX]^_bcdjklEA BCDEFGHIJKLf1g2h3i4j5k6l7m8QRwxyz{|}["'VHLDTQR\glm_`abcdefhijkps|u $L !!""##$$A%%Z&&]''()**++o,,--..//09^:;<<v==t>>w??@@AZ[[\\]]^^{__``az{{||}}~~}ZEB@Cz\6=MR]a~q (,IMhnr;<@ ST     V  "  U  !W#['b-c.d0e/`+p;q<  r!!=""s##>$$x%%B&&}''H(())L**++N,,--S..//P0011T22334455U6677V88Y99::Z;;<<\==>>[??@@aAABB`CCDDeEEFFiGGHHgIImJJKKLLMMsNNOO~PPQQtRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~\Fw? OuOt?vo:f> N77CCPPPQQRXY\^ghhjjknovx{}~!#+027%,18           #&'' ((")*$,,&.1'44+9=,BB1EE2__3aa4tuzz~~tuyz|\mx{}/0_ bbcc=rrss>ttuu?@ABCDEFGHIJKLMNOPQRS T U V WCCGGHIMM OO$PP&RR(VV)WX-[[/3Q  X  $Y%Z&n9  u!!@$$z%%D&&y''C(({))F**|++G2233W4455X6677]8899^::;;_>>??b@@AAcBBCCdDDEEjFFGGkHHIIlRRSSXXYYZZ[[\\]]^^__``aabbccllmmnnoo~~EA BCDEFGHIJKLf1g2h3i4j5k6l7m8QRwxyz{|}  [                       ! " " & & / / 0 0[ 2 3 5 5 9 : < < = = > ? D DW G G H H I I p p q q" t y } ~  '   6 G V H I K L D S M O T Q U!!!!!!\!!! ! !"!"!&!&!.!.!P!Pg!Q!Rl!S!Z_![!^h!!n!!!!!!!!!!""""""""""""""p""X""s""""""")")"+"+"7"7"H"H~"`"`|"a"au"d"ex####### #!%%^%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&:&;&<&<&@&@&B&B&`&`&c&c&e&e&f&f&j&k'''R'R'd'd''...".%n&&&: &; &` &c &e&f &j&k''d,K PXYD _^-, EiD`-,*!-, F%FRX#Y Id F had%F hadRX#eY/ SXi TX!@Yi TX!@eYY:-, F%FRX#Y F jad%F jadRX#Y/-,K &PXQXD@DY!! EPXD!YY-, EiD` E}iD`-,*-,K &SX@Y &SX#!#Y &SX#!#Y &SX#!#Y &SX#!@#Y &SX%EPX#!#!%E#!#!Y!YD- ,KSXED!!Y-+++@6*!+M@2$++ E}iDK`RXYDV 3  > ~   "    L  vL *  4 4 2  F Hf         * $<  `  ,  0  .  2  8< &t <  " . 2 Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name Source .Source Code ProRegular2.030;ADBO;SourceCodePro-Regular;ADOBEVersion 2.030;PS 1.000;hotconv 16.6.51;makeotf.lib2.5.65220SourceCodePro-RegularSource is a trademark of Adobe Systems Incorporated in the United States and/or other countries.Adobe Systems IncorporatedPaul D. Hunt, Teo Tuominenhttp://www.adobe.com/typeThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL. This Font Software is distributed on an AS IS  BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.http://www.adobe.com/type/legal.htmlsimple asimple gserifed i & lSami Jcursive cursive cursive Serbian Cyrillic breve []slashed zero [0]typographic hyphen [-]typographic asterisk [*]slashed dollar sign [$]alternate numeral one [1]typographic alternates [-,*]simple a, cursive simple g, cursive , Serbian 1Sami J, cursive 2$%&'()*+,-./0123456789:;<=DEFGHIJKLMNOPQRSTUVWXYZ[\]bc     de !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRfSTUVgWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~hjikmlnoqprsutvwxzy{}|      !"#$~%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ " B >@^`_?      # !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !AaC      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*AmacronAbreve Aringacuteuni01CDAogonekuni1EA0uni1EA2uni1EA4uni1EA6uni1EA8uni1EAAuni1EACuni1EAEuni1EB0uni1EB2uni1EB4uni1EB6AEacuteuni01E2uni0243uni1E06 Ccircumflex CdotaccentDcaronuni1E0Cuni1E0Euni1E10Dcroatuni018AEcaronEmacronEbreve EdotaccentEogonekuni1EB8uni1EBAuni1EBCuni1EBEuni1EC0uni1EC2uni1EC4uni1EC6uni1E16uni01F4 Gcircumflex Gdotaccentuni0122Gcaronuni1E20 uni00470303uni0193 Hcircumflexuni1E26uni1E24uni1E28uni1E2AHbarItildeImacronuni01CFIogonekuni1EC8uni1ECAIbreve Jcircumflexuni0136uni1E32uni1E34LacuteLcaronuni013Buni1E36uni1E38uni1E3ALdotuni1E3Euni1E40uni1E42Nacuteuni01F8Ncaronuni0145uni1E44uni1E46uni1E48Omacron OhungarumlautObreveuni01D1uni01EAuni1ECCuni1ECEuni1ED0uni1ED2uni1ED4uni1ED6uni1ED8Ohornuni1EDAuni1EDCuni1EDEuni1EE0uni1EE2uni1E52 OslashacuteRacuteRcaronuni1E58uni0156uni1E5Auni1E5Cuni1E5ESacute Scircumflexuni015Euni0218uni1E60uni1E62uni1E9ETcaronuni0162uni021Auni1E6Cuni1E6ETbarUtildeUmacronUbreveUring Uhungarumlautuni01D3Uogonekuni01D5uni01D7uni01D9uni01DBuni1EE4uni1EE6Uhornuni1EE8uni1EEAuni1EECuni1EEEuni1EF0uni1E7EWgraveWacute Wcircumflex WdieresisYgrave Ycircumflexuni1E8Euni1EF4uni1EF6uni1EF8Zacute Zdotaccentuni1E90uni1E92uni1E94uni018FEngIJuni004C00B7004C uni01320301amacronabreve aringacuteuni01CEaogonekuni1EA1uni1EA3uni1EA5uni1EA7uni1EA9uni1EABuni1EADuni1EAFuni1EB1uni1EB3uni1EB5uni1EB7aeacuteuni01E3uni0180uni1E07 ccircumflex cdotaccentdcaronuni1E0Duni1E0Funi1E11ecaronemacronebreveeogonek edotaccentuni1EB9uni1EBBuni1EBDuni1EBFuni1EC1uni1EC3uni1EC5uni1EC7uni1E17uni01F5 gcircumflex gdotaccentuni0123gcaronuni1E21 uni00670303 hcircumflexuni1E27uni1E25uni1E96uni1E29uni1E2Bhbaritildeimacronuni01D0iogonekuni1EC9uni1ECBibreve jcircumflexuni0137uni1E33uni1E35 kgreenlandiclacutelcaronuni013Cuni1E37uni1E39uni1E3Bldotuni1E3Funi1E41uni1E43nacuteuni01F9ncaronuni0146uni1E45uni1E47uni1E49 napostropheomacron ohungarumlautuni01D2uni01EBuni1ECDuni1ECFuni1ED1uni1ED3uni1ED5uni1ED7uni1ED9obreveuni1E53ohornuni1EDBuni1EDDuni1EDFuni1EE1uni1EE3 oslashacuteracuteuni0157rcaronuni1E59uni1E5Buni1E5Duni1E5Fsacute scircumflexuni015Funi0219uni1E61uni1E63longstcaronuni0163uni021Buni1E6Duni1E6Funi1E97tbarutildeumacronubreveuring uhungarumlautuni01D4uogonekuni01D6uni01D8uni01DAuni01DCuni1EE5uni1EE7uhornuni1EE9uni1EEBuni1EEDuni1EEFuni1EF1uni1E7Fwgravewacute wcircumflex wdieresisygrave ycircumflexuni1E8Funi1EF5uni1EF7uni1EF9zacute zdotaccentuni1E91uni1E93uni1E95enguni0237ijuni006C00B7006C uni01330301uni0250uni0252uni0253uni0254uni0255uni0256uni0257uni0258uni0251uni0299uni0259uni025Auni025Buni025Cuni025Euni025Funi0260uni0261uni0262uni0263uni0264uni0265uni0266uni0267uni029Cuni0268uni026Auni029Duni029Euni026Buni026Cuni026Duni026Euni029Funi026Funi0270uni0271uni0272uni0273uni0274uni0275uni0276uni0278uni0279uni027Auni027Buni027Duni027Euni0280uni0281uni0282uni0283uni0284uni0287uni0288uni0289uni028Auni028Buni028Cuni028Duni028Euni028Funi0290uni0291uni0292uni02A4uni02A6uni02A7uni0294uni0295uni02A1uni02A2uni01C2uni0298 uni014A.aa.aagrave.aaacute.a acircumflex.aatilde.a adieresis.a amacron.aabreve.aaring.a aringacute.a uni01CE.a uni1EA1.a uni1EA3.a uni1EA5.a uni1EA7.a uni1EA9.a uni1EAB.a uni1EAD.a uni1EAF.a uni1EB1.a uni1EB3.a uni1EB5.a uni1EB7.a aogonek.ag.a uni01F5.a gcircumflex.agbreve.a gdotaccent.a uni0123.agcaron.a uni1E21.a uni00670303.ai.a dotlessi.aigrave.aiacute.a icircumflex.aitilde.a idieresis.a imacron.a uni01D0.a iogonek.a uni1EC9.a uni1ECB.a uni012D.a uni0268.a iogonek.d iogonek.da uni0268.d uni0268.da uni029D.dl.alacute.alcaron.a uni013C.a uni1E37.a uni1E39.a uni1E3B.alslash.aldot.auni006C00B7006C.a uni026B.a uni026C.aAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiuni03A9 Alphatonos EpsilontonosEtatonos Iotatonos Iotadieresis Omicrontonos UpsilontonosUpsilondieresis Omegatonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigmatauupsilonphichipsiomegauni03C2uni03D0uni03D1uni03D5phi.a alphatonos epsilontonosetatonos iotatonos iotadieresis omicrontonos upsilontonosupsilondieresis omegatonosiotadieresistonosupsilondieresistonosuni03D7uni03D9uni03DBuni03DDuni03E1uni037E anoteleia anoteleia.capuni0374uni0375tonos dieresistonosuni037Auni1FBEuni1FBDuni1FBFuni1FFEuni1FEFuni1FFDuni1FCDuni1FDDuni1FCEuni1FDEuni1FCFuni1FDFuni1FC0uni1FEDuni1FEEuni1FC1uni0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0400uni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Duni040Euni040Funi0462uni0472uni0474uni0490uni0492uni0496uni0498uni049Auni04A0uni04A2uni04AAuni04AEuni04B0uni04B2uni04B6uni04BAuni04C0uni04C1uni04D0uni04D4uni04D6uni04D8uni04E2uni04E6uni04E8uni04EEuni04F2uni0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0450uni0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Duni045Euni045Funi0463uni0473uni0475uni0491uni0493uni0497uni0499uni049Buni04A1uni04A3uni04ABuni04AFuni04B1uni04B3uni04B7uni04BBuni04C2uni04CFuni04D1uni04D5uni04D7uni04D9uni04E3uni04E7uni04E9uni04EFuni04F3 uni0430.a uni04D1.a uni0431.srb uni0456.auni2116zero.aone.a zero.onumone.onumtwo.onum three.onum four.onum five.onumsix.onum seven.onum eight.onum nine.onumzero.bone.bzero.capone.captwo.cap three.capfour.capfive.capsix.cap seven.cap eight.capnine.capzero.cone.c quotereverseduni00ADuni2010 figuredashuni2015uni25E6uni25AAuni25ABuni25B4uni25B5uni25B8uni25B9uni25BEuni25BFuni25C2uni25C3 invbullet filledrect underscoredbluni203Euni203Funi2016 exclamdbluni2047uni2049uni2048uni203Duni2E18uni231Cuni231Duni231Euni231Funi27E6uni27E7uni2E22uni2E23uni2E24uni2E25uni2117uni2120at.case asterisk.ahyphen.a uni00AD.a uni2010.adollar.a zero.supsone.supstwo.sups three.sups four.sups five.supssix.sups seven.sups eight.sups nine.supsparenleft.supsparenright.sups period.sups comma.sups zero.subsone.substwo.subs three.subs four.subs five.subssix.subs seven.subs eight.subs nine.subsparenleft.subsparenright.subs period.subs comma.subs zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnomparenleft.dnomparenright.dnom period.dnom comma.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numrparenleft.numrparenright.numr period.numr comma.numr ordfeminine.aa.supsb.supsc.supsd.supse.supsf.supsg.supsh.supsi.supsj.supsk.supsl.supsm.supsn.supso.supsp.supsq.supsr.supss.supst.supsu.supsv.supsw.supsx.supsy.supsz.sups egrave.sups eacute.sups uni0259.supsuni02E0uni02E4a.supag.supai.supa colon.sups hyphen.sups endash.sups emdash.supsEurouni0192 colonmonetarylirauni20A6pesetauni20A9donguni20B1uni20B2uni20B4uni20B5uni20B9uni20BAuni20AEuni20B8uni20BDuni2215 slash.fraconethird twothirdsuni2155uni2156uni2157uni2158uni2159uni215Auni2150 oneeighth threeeighths fiveeighths seveneighthsuni2151uni2152uni2189uni2219 equivalence revlogicalnot intersection orthogonaluni2032uni2033uni2035uni00B5 integraltp integralbtuni2206uni2126uni2200uni2203uni2237uni2105uni2113 estimateduni2190arrowupuni2192 arrowdownuni2196uni2197uni2198uni2199uni21D0uni21D1uni21D2uni21D3 arrowboth arrowupdn arrowupdnbseuni25CFuni25CBuni25A0uni25A1uni2752uni25C6triagupuni25B3uni25B6uni25B7triagdnuni25BDuni25C0uni25C1triagrttriaglf invcircleuni25C9uni2610uni2611uni2713 musicalnotemusicalnotedblheartclubdiamondspade smileface invsmilefaceuni2764uni2615u1F4A9u1F916u1F512femalemalesunhouseuni02B9uni02BBuni02BCuni02BEuni02BFuni02C1uni02D0uni02D1uni02DEuni02C8uni02C9uni02CAuni02CBuni02CCuni25CCuni0300 uni0300.cap uni0300.guni0301 uni0301.cap uni0301.guni0302 uni0302.capuni0303 uni0303.capuni0304 uni0304.capuni0305 uni0305.capuni0306 uni0306.c uni0306.cap uni0306.ccapuni0307 uni0307.capuni0308 uni0308.capuni0309 uni0309.capuni0310uni030A uni030A.capuni030B uni030B.capuni030C uni030C.cap uni030C.auni030F uni030F.capuni0311 uni0311.capuni0312 uni0312.guni0313 uni0313.guni0318uni0319uni031Auni031Buni031Cuni031Duni031Euni031Funi0320uni0323uni0324uni0325uni0326 uni0326.auni0327 uni0327.capuni0328 uni0328.capuni0329uni032Auni032Cuni032Euni032Funi0330uni0331uni0334uni0339uni033Auni033Buni033Cuni033Duni0342uni0345uni035Funi0361 uni03080301uni03080301.cap uni03080301.g uni03080300uni03080300.cap uni03080300.g uni03080303 uni03080304uni03080304.cap uni0308030Cuni0308030C.cap uni03020301uni03020301.cap uni03020300uni03020300.cap uni03020309uni03020309.cap uni03020303uni03020303.cap uni03060301uni03060301.cap uni03060300uni03060300.cap uni03060309uni03060309.cap uni03060303uni03060303.cap uni03020306uni03020306.cap uni03040301uni03040301.cap uni03120301 uni03120300 uni03120303 uni03130301 uni03130300 uni03130303uni00A0uni2007 space.frac nbspace.fracuni2500uni2501uni2502uni2503uni2504uni2505uni2506uni2507uni2508uni2509uni250Auni250Buni250Cuni250Duni250Euni250Funi2510uni2511uni2512uni2513uni2514uni2515uni2516uni2517uni2518uni2519uni251Auni251Buni251Cuni251Duni251Euni251Funi2520uni2521uni2522uni2523uni2524uni2525uni2526uni2527uni2528uni2529uni252Auni252Buni252Cuni252Duni252Euni252Funi2530uni2531uni2532uni2533uni2534uni2535uni2536uni2537uni2538uni2539uni253Auni253Buni253Cuni253Duni253Euni253Funi2540uni2541uni2542uni2543uni2544uni2545uni2546uni2547uni2548uni2549uni254Auni254Buni254Cuni254Duni254Euni254Funi2550uni2551uni2552uni2553uni2554uni2555uni2556uni2557uni2558uni2559uni255Auni255Buni255Cuni255Duni255Euni255Funi2560uni2561uni2562uni2563uni2564uni2565uni2566uni2567uni2568uni2569uni256Auni256Buni256Cuni256Duni256Euni256Funi2570uni2571uni2572uni2573uni2574uni2575uni2576uni2577uni2578uni2579uni257Auni257Buni257Cuni257Duni257Euni257Funi2580uni2581uni2582uni2583uni2584uni2585uni2586uni2587uni2588uni2589uni258Auni258Buni258Cuni258Duni258Euni258Funi2590uni2591uni2592uni2593uni2594uni2595uni2596uni2597uni2598uni2599uni259Auni259Buni259Cuni259Duni259Euni259Funi202FuniFEFFuniFE0EuniFE0Fu1F3B5u1F3B6u1F3B5_uniFE0Fu1F3B6_uniFE0Funi2611_uniFE0Funi2713_uniFE0Funi2665_uniFE0Funi2663_uniFE0Funi2666_uniFE0Funi2660_uniFE0Funi263A_uniFE0Funi263B_uniFE0Funi2764_uniFE0Funi2615_uniFE0Fu1F4A9_uniFE0Fu1F916_uniFE0Fu1F512_uniFE0Ff_if_luniE0A0uniE0A1uniE0A2uniE0B0uniE0B1uniE0B2uniE0B3 tf577::==@@MM[[^^eevv    ##''))//>>AAPPTT[[``rrvv!!$$3499=>FFJPWWZ\``bbddjjllooss}}     #,>?XX  25QTY 015QTY t$DFLTcyrl.grekBlatnV    ccmpzccmpzccmpzccmpzfracfracfracfracmarkmarkmarkmarkmkmkmkmkmkmkmkmksizesizesizesize  d0BPl HJ P t *$4,!#$%&'/'`  *$3#"%+,4 WXY  34  2477G::HTYIO I5@@4MM5[[6ee789:;<=>?@AB  DE''F//GPPHTTI``JvvKLMNOPQRVq34=>FFJPWWZ\``bbddjjllooss}}     #,>?XX   0 8 b `H$f T * < 0 6 <BHNV fTZ`fVhlrx~ V     h ,n    &,2,28> DPDDVJVPV\\\\  b hznt z               -ZVJDF.<;B+B:J>?%T`n3JN#\{&G5bd"j'J%,262HHH\N@DFP(K=':0]M<-7@XAZ/&=60  X " !8  !#$'()*-./035MT=>JPWZ8rx~(((( (( (, &,222222(^Fz]?Z'*k:@<bN .b$* ,/22#5MM3[[456789:<''=TT>``?@ABCDEI44=>JJMPWWZ\bbss}}NNNNNNNNNNNNNNNNNNNNNNNFL6RX^djNxpvx|rxx6x x$*06<fBHNTZ``flrx~3XMJR6T#4%O49% %:P]"5|%h3%(-%F,ai%%%e%W&%%.^,%0%H%<6%%`|%/2J%NK%@0&%\%H, $+ 'P" Q Q, **,  Xb"#   $*047:=^ )Tr!$=> Nx`flBHNNNTZ```flrxxxx~~6d(P, .J 01'5Q)TYF L8288288282828288228282828828282828288888882882888282828282828282828282888888,,  ,&&,,28>D,j,,>,L,,i,[,T H DFLTcyrlfgreklatnR!#*18?FMT[bipw SRB T"$+29@GNU\cjqx~" %,3:AHOV]dkry" &-4;BIPW^elszNSM XSKS !  '.5<CJQX_fmt{" !(/6=DKRY`gnu|" ")07>ELSZahov}casecasecasecasecasecasecaseccmpccmpccmpccmpccmpccmpccmpcv01cv01cv01cv01cv01cv01cv01cv02cv02cv02cv02cv02cv02cv02cv04cv04cv04cv04cv04cv04cv04cv06cv06cv06cv06cv06cv06cv06cv07cv07cv07cv07cv07cv07cv07cv08cv08cv08cv08cv08cv08cv08cv09cv09cv09cv09cv09cv09cv09cv10*cv10*cv10*cv10*cv10*cv10*cv10*cv11>cv11>cv11>cv11>cv11>cv11>cv11>cv12Rcv12Rcv12Rcv12Rcv12Rcv12Rcv12Rcv14fcv14fcv14fcv14fcv14fcv14fcv14fcv15zcv15zcv15zcv15zcv15zcv15zcv15zcv16cv16cv16cv16cv16cv16cv16cv17cv17cv17cv17cv17cv17cv17dnomdnomdnomdnomdnomdnomdnomfracfracfracfracfracfracfracloclloclloclloclloclnumrnumrnumrnumrnumrnumrnumronumonumonumonumonumonumonumordnordnordnordnordnordnordnsaltsaltsaltsaltsaltsaltsaltsinf`sinf`sinf`sinf`sinf`sinf`sinf`ss01ss01ss01ss01ss01ss01ss01ss02ss02ss02ss02ss02ss02ss02ss03(ss03(ss03(ss03(ss03(ss03(ss03(ss046ss046ss046ss046ss046ss046ss046ss05@ss05@ss05@ss05@ss05@ss05@ss05@ss06Lss06Lss06Lss06Lss06Lss06Lss06Lss07Vss07Vss07Vss07Vss07Vss07Vss07Vsubs`subs`subs`subs`subs`subs`subs`supsfsupsfsupsfsupsfsupsfsupsfsupsfzeropzeropzeropzeropzeropzeropzerop                 #Hx "6J^d ,\XL @ ^ P h > !"#$%&3'()*+,-./012XY9  OO 456789:;<:"":A  B=P?@ABCDEFGHI>QRSTUVWXYJZ[LN[;$'IJKLMNOPQRSTZ[\]^_`aKM3"~L ^jvCA _ 28>DJPV\bh _b*-ps4  ** T 0N_*p8b-s4 &F4\!$B!="""$%PF  158<>@BDFHJLNP :d $B@FPD $JHNLN1$*06<8:57;<>;1 &,UUTTVV1 &,XXWWYY1,6@JT`jt~@"e"v" "" "#/" A> P"'[v""9   "$'*/04 b" 6Y[[>]x?zz[|\\| V"   !#169=?ACEGIKMOQ    "158<>@BDFHJLNP      " Z ,H"WY&"\] @ !"#$%&'()*+,-./01234565()r<=>?$^gii    ^gii v8vwxyz{|}~vwxyz{|}~  !#169=?ACEGIKMOQ8^_`abcdefgijklmnopqrs   "158<>@BDFHJLNP _kw K"L"$=r6\TKMOL  !#169=?ACEGIKMOQ]6$%PF        "158<>@BDFHJLNPZwOF2(  J` lx T6$N 4-[ *%{h5o[U@LĨ (w2 =6[*cx`ajZ#ȼ pۀd2l%˗G=ەl mZG0VSp(UUNbDd\$ TU=iu4u=ܫyʖb<SR"pT\de!hi!vΈBUaKة&Q( eFŒ S ;Ԃ9Ʈq,Uvjs 13BItaر`9!V k2azA__XdEs/0 Dn!'#ᏐX@Q| [#PokND .slgnEXyFf./,PM3|Ӹf1M-λ i6:E3%reY463˚ɠ1~Tl(rQbe9nO7ȗd1BR=բ$pUu>;/BXԐUT`@J,\Вnh$[ƀ0/YQڕ4]tWWRD6b&؋,CXEƎMP_&mŶVTy5/xli~")bW+M?~;ӗjCLu eg)?PV@$gy ở^d,-a @\-{%yI~%MEXvm|+]ʢJECK6+%EQQRϊbhU:+--mXR"z^ł2B:Ρؠ*h0E'wB;?3r•0I8@\|@@Gow##ECCT22+{>py"32t:%1ɪoG&4!R j{Z6?o8C8Q JwWu'of:EP U@ ܱ? \F֤7LaWe4 }G*"ysNvT &qʁPvSڱ! k"{ Hыxh!4oDU҆ ]B_O3WM"0g "[C EIS6= &,]k9}#Dn㥉] q1C.gҕ,7GBzplC?o4Q]nN ~ "O#_BUsӘG9mvCY VkAPɰ}J+ ;˫Wh"W9(SO>R7@𦙾g8t s8yyAnm׹"H ,8yT'Oq`l?k' {Z_Q(n\N?ܦ6 pr62tX`mٛV׾'pL1J&w92;IV7=-}hy֠(b$}BRˡ0sO$С_?BwӲ@{8u66ts7@&$#2J6A.t@M@,R(ɁB(RTC'%iRm ׽Bʇ۞s1eVuI3;ָ zzq+RL"NJ+BP@3 TORI2jb n5cjrvU0;碑 @\Ku TbQsyϕUʝ%Y(ߴ}!#Wp,+U1e)MW!o-|DDJjWռˇoY?opE !+\:2UvP RHW5 1" #03lA| ^VT;HiM%E`D ]t a':úv:]ecDZ2s"K a1E{,LoL^RȖR,I-)0Νi4i0mstdO%=`u8P;@a Jnq V|zTK"(wPl}-|v6Zr{%~lh^[y]g2˼4בQ: 3LqbUXzZSS= _3𥐢KUVb;{IO{VUUUUU\D#97+6? l aY11!1}_;|/U*Q#F8FU\5pC>݇PI$BV /)DDBMߙة=,b-CmJ Gxz^'˽  R˘߄4y5ئƊU'OG`!*dj}jwq%H J>~7uv¸i!aПxn@kN j^[ 0F!8 F3Ͳ\uuD Z7(]zYfΦtA<@MFI0Ce`A!dRxao;Qʄs2Wh\cV6p"0VOC>(&3j5 96ٸn{L!Ko ;C@0B腑 |gxQ,"dT6C "EgL "Nrg?KS)aKF*J`Hb0]LU-ҳrS涡Mr*',6LwX+-&r'Fp!P~<>$=s^H~|*AړwD{Rmog{5?vڐO$O. j>)s4,}6RY<,oG67b(4ٗͲ[7='7Whi%*ژfGѹz8n (KWY_n?\uNeɁݎVBXW*/az8Gc$M؎?<4/wss:XQ펋c/5?bAX8[+ޥi" <9-d{~.:pc`] "EBW?ߵR($mLnQig(O H(i ;-8zE9Yke|9MY;3 xZ@Tqm8ѕ:L Ҹ^uYnvDevwY'A鮎}OZ{4g@X`:XĜu5!t:)f &{Aj+̬0瓨Y$uZy^ op?s2-*Fym:>N(J&оVqC>Z"[pd"%/B\is:ߣwavTuϴNKGTnL?2ގ|}>2VrվP˺t(caBIU4c_ &?T? &BQ(DHvH0\ VU^OvKQ]oLf 2ZEZ_AP- G\CȞz/v/b뢐5olAMf"TuBD "aYB16h̙T 91#b(M-SbΠ£7!Ɣ9(O<RY9ex(Yq[o]%KNsQdH!Z1ix*t hNgG'\kV:ՊS:Lܥ ~1fP悍 MX&XmFqqq U4E-`&UHģ/!20-zYT`z E+_ƨX̮'h Q4ba`G,QJ'(U!I() :} b~UE٧Ɉ(6Cexgޭ>s(ؽ`]w{^Jemhΰoo1'aGI!ڑnUTDОu摼Mhޥg,24Od%K,mqt0ìr 2 2kO2&"C'L2̸MaÇ_S\RUV8K} JlEӫfrW@`a@>ࠈ8ɕ~(G;h>As~ծqn2"@. YGE ĖH Đ@ø@ 0Fl6]`uP[?3Ah [AAc A2URx`v_ReUVڞCXPeߖV-fG紂E^T^$iXFx,cGJ bW[(m d))khji[XZYۀ!N+5O8xK[#w$>f="n "hˎO/Ggi Adƅr}a HQň'^DI "p,h4-]4E'K(8Aҳpc7~Bi~ $ TcmC&O:N{@]b{! QdͰػ~JVE'"X-@] D+:漨Eb2B$4 ,y 16;ll>hMFۙ]RR} 4's}h=-*F&3b8AR4rj;.DIV00 SbT&W(k7UkY!A1 )a9^%YQ50-Vt=G%@ H DBLB[;{T 4PSZ"E#VGeDTL\BRJFVN^A))Ƹ7o`hdlbjiem@a3 #r)~aTq8Aҳpc7~Z85;%+!*d/"ʓ@"J*KW,S?CFCqŤ;IN!_SG/[`t?"Dr .K d.ΪҢUv:u֣W~ ԈQcMgEC6Ӑv=*EG..;|nV>ulɷS,EfR}xm wpg@!u 3'UgSji~zTA[XὥJ$ݑ :Դh! %,5 "\cOزMBU@@BA(Z@ FA1 )Qasv식K<^-c_5Ʈ_%m54mߑ'1oʼn?Dk|asmմDh{K +{TGhGB{Ͳa>f& ;Ǵ4^yL;y{^jqp9P0r#a!\XG","hj!X7Mfphxfw8]n'`aBG8rŗ\Z..ʔpO%*Ulkk'mmT/?- h٬iO` /f^+N9eLE7Ke4RuŇ2Th8VS>-S02JA1 )aՀdnp͓D,?g '#G? PE(VTr*UVVz 5i֢U/AZ6"a1YaD ސq8>aQh1. Dm,Ն |*%c9B9%+=m"۶)itKVHcSmu6\n3@Ā!E \TJ|.|'nܺs6E0k!X7MfpXDIVx [c_* 4(N(]8)*c?7&;T6)9PHF|Ɵ(7 + ; 8K(_wJ@ lJG ,d~$ h*Iwt*YS\a+B)8gNKƜT$E3fȱgl~f|]T饷`NͰtrw{‚\f $ "L'^.%h4l`[>?RY²Hsk3'-ᮮhǖm إ"QF&3b8AR, $+6vmO.kS.ulh^(b8A"S4:6eP* ζqt?s /XI@;s9s)uhD礤$Ks;8r WpFn:(Rl 8d]W\aՙ|ќ(I( ,p1X$] 2Mj  ^] bVqEK :ƏfxMAP8>45Z?``4 -Vt=^ J@ e\Hwę/uGB.vSh.PH(E ."<FA1fN $+DPƅ)D*C0b8AR4rNr Jja2[6r{4ATL\BRJZFVN^AQUM]CSK[GWRC0cckr_ !&3b8AR4rj;.DIV00 k!Jja2[6X(,ZlŪ56lڲmEbT&W(UZI َlѤQ1q I)i H DB pgC(vLW+k~C#Ԯ`"uz(ԯ eb#hI8lzS ބ55JyS[qRꛘ@ȋE| )H+Z@ FA1 )QtF(usX@Qsq?)jKq&tcM<"esB"bR2r J*jvE>u!"x%J)WVz H5iFтUv4t ڢhQedS\{.a|D쥳WPH Z& C#j*5~|A8c|B4ToP:MB1]&īeoٌSfK!!@BAʕWI4ɇZa#mי`6&[9dג4!JJ\ ZAPU4F&3b8AR4rj;.DIV00 i;)Dk^4`?U5܌Sf*3{՜_tE;91$IVF6I5 je /z. E`ǡCTdM# **CB!e*PL-s~˶SvnLAs9s9|CuEnw"E3}ؔG$Rttܢ8AR4r45 C#c>|DV5ZI d`phxAdEtdXmv:&$A1X@$)Td9\_  MrUAOSFcl->TF a`uJ"J ` )a9!A1 )a-GE RYEjX:( 40ĥlL'gM2  QU M_PUT54ut MLӁ43-B[;{G{koxi3T ͻHT$B#DyR+E 86<Wd`#ZԖ TGܜq5Y֫ϊ[u~ &ҢzlnpGճe|2W类9=W>_XQIkڮ(P?L{h=J )a9WoF&}bRk e`phxAdEtdXmv4yQpDP+Ӥ+>s@̫pDdVd^-e-J POI[ـ[dqh@# y*MA~(Q^t#yW0;/鱳b5e*pɬ tųYÄSBNo0I pO%Y „2..%R\U]h#VI z, ~b o^%YQ50-Vt=KTL\))o &Z:zF}cp?08Bc8O-hӡK> 0aʌ9Táa }:бD 2 gt%R\QKIZNͰ, #($E3, $+&j;.EscR2#Y9yHjf}hhjix vA Qh 'Id Fg0Ylmql@4ʈ(4vb8AQ4P:T=mU:~04eL̮tN*  V< tԥ G^}xD$dTi 2lĨ1Ztqf[J(j"%= ÏNn 01KJT=V: oBu߳0f9L6b9oMr}} 啿]_X~/wO[5q^ft9R#I'X@\b;| /S1BF-Gs@!8 $2ʳBT40`u,JA`6ބT.i({ysہ&=옽Snd2͒E Pþcw0_hOhύP=LQ?``4 -Vt=^ J@ e\H ;&tkBQ4vmq_S% hz5S\Ti(PHӕ͘a˻ADDDD&pDPit DDDDDDDDDDDDDlԽ4*1ڃ0m%;1*I诉JD0kFSڎ߄l ,VȣCC~ҡ }+au%㷓'Dk.][mV)9j6dG@tdE?B'}ͮ6~NQqQ2/ΒCCJ.%ZrnӬMXf!P1Q `#1QЕrl%|w@0h}J)Xh&9ygv%@g<$_ ;ױKr6?qa4ߥr~ޕƚ`#ck-^2vt66%G߈,v 7H^QPZ:m|f^GUjHGЅFL- 0.>hVI" |ѮhWIBZF+3iRvHRzѻt+m!?J~(Q5\צ=E;+1g&F~V>M}`] D6ڒ.ʶ-T٘$&~g7/LK6 wޡŎ߱|1҆1`9˲lu~a.0f=yTd ))$KlҖQ%l HĔ*2)cI}M3BD#E8!׹șq9]Qzn޸T\i tW*ro!l]McmYl:$2p&UK5N7 *ߩ>zwG3Ճθj#;lLD0ZOl|2gݸskYtK!f빇>ts'5{щ\i4ow#=؅aǤ.V៻ h6J%,fdy ^ MT}A9A:dv*S/Pم m'OQ~w! qkgur}ꃑi5vtIYרT:,})Ka+Ӈ?tNtZ"tחйi8<6$=nzY$"qvObXZӜߴ~~g#'?soPNB_z R3R:J[GGi+)û +nA^t%38tXzB,W_o~x,ikR79D^.ь=y_/SU̒H 4͵Hf e\a[gul:3Fzqe[Ѹ;Ma+ּVk%եWGwu=׏շA3kaiGz+@6A4f3m5PTX1dhDrTJ DX%e@% x~R:HSAQi#4Wk(6LVbaFᓔDF 4\1vѵe[tiU}-3l&؊lXθ¦I:Hv㽋Yx]M;:]\I% 4`r5<$dtLv\./dbēQ[C6bZ8l)Qo[w#m:3mA*vcCs\vmxeɋ}+*'1!A:'xep_ɰrZYo6 ';[v)'l٦gf(y*-9Rzpл"3~ 0ëk[p?Piג,ac2@騉{XZ*k}j ۉ\Ng" MnM&_jKly/)FiUHn,oMXu('].ad^[ׯ.U%4{a>sBJcc;<^mqmW(ʃHҊDdW[6:׀3tP~J~{I{E[y?,,t H)4ҹkS]E1~+wsqܤSQs!)~~)Nl#l AAa{{i/P!q !DE0(H.ӢW[o-3JA?`⻑F~d3 feB^zkeMADO\Bb̐FVޔxn= /xzk luQ M9}b\~y^x#]:̈́8{@hmy&) j"Q )QgcE*J#gҒۿҌX埩Fx؎9N$i@ o21ł )', N1EBv03aEtTT2PGH}m:MK%H˖%=,sUikzV[GHah/1 ?7, ț|#J[Md[kô0>"'ݢ<43qN}Y12xdmYYxq+(:,"&K=AMR**eU$h&5I ,Q,ƈ#!xpQ(FK8ETIJӍBavwU%`b|xNn@x\.X`6,Jxh\>pN.b8X+&a !CӃNs")  @oZDP?M z1ҮA 7Cc69 hu0*O[u /AGf:g!AІa[j(ݨw3p1HFiU]5SGmҗ-eU(Ƣ.EvdwG54HE +O'f4䜏&BGKEh qQMGȆX_1qQHQ~8(Y/׉PP]c,֍9psf; A=sG-s\,]on,s.x# CԅKy eW.b>pL UTSC-$4 %,*큖.H XT=qzHtWPc PVEc+)4.`X㻃fkʪ^l'a$uWT#x;KHQ-Q)\2&p -m(?ص[>Mh8K)nDDx"߲Ľkby1I FI}/$H)Zd\r4+b,_sD} 5=cdTI"e7^.7ü_H\(̩%a,8R<' %c"{4/)+ns !L$ fXl9>m(փ.v-h^ND<>?|W}Cde+Y_IOlQQ @5V_KᨇK%5]" 2(0'atimDDyZkzʐ,6o噕;RtWP S+ɰ/HEM\^(?ΐ$Y_[[G-3c\Uzi]åc^CÇtnLApI#P|O;y:??+CאxrQ9KR[)Mx 6GI 67tz⾭o5J,uəj3umf;r찂?z ڤ_ k<H8~wN<-f-z)@,䋉X7cXiem wQxr3i_>O}w_U+5ȈPr]&aJ̸דɈx'JdP\ѻHEEEFdžSa}T}0XH6x%m`Ho%7f~zl %t*hdb#TGrEڨ;'b8A:1([r- DWpW2XpqFdƟkCh a J7>vb 牯HՒ /$:K#ΨnUy|#˳/P(SY`ZnUxfViYCʢo\Gx̩ @ӈS? op,@-YA8nP۴83vt͸5q6D%_a ȊFRO3T`v\ $YPyiTб][ܹR/v`PiMФҖ‚M^fF4WR _D"2n7 Ff"o<$Rs5-̠}LѓN$@E\riLxp$z-kM6DKu/jȫ\#d8Sb bvE"~SdH&/>!t$ \hJn 7m]M62ę#k&]{!1f֥cpd3i'sD, ETj.yTQٙM隴 S*iN{ pEUjҥiN:d 8ړr\p2Mv!E[ {\'|mp6KWVǦ>w0ԕ_fW1UħMcox  fBrcE{-m_e.]LF@Sŵ *—F' =+h-Pmr \e]P$n? ǚp ͪJPuOE_@co P $5f܈ ;v+I81II5t|BMvar 7I*v8.,sQbc yjOf{]$橠9:VLxO\JGv҃C:/\A9/ws48U QdY7:}3@q5jDB^/~٢1(:Ѓ-#L0pov>|q>V:Lhm?\}erAp)"/Aj%DP}#<ߟ('PtD_Kd' \Վ!p7o" ^47{ e\*bHJDAK%xgC͇j`NbBxRzv8~IL"=$RGZJ~ҧ 6 egXxb)@amTA@Һ_u[` i]`'~[H:L&\r\rĻYl3Z@[W3w~n3ў67nVo1Rvg$䯎oa/H `/L%7j +|՟p~T}dfj/ (;K- +Ze5ҼwO>o_VPb%J!F8D"2Q1Ӳ([ƶFXh &$M14;n i_D f(hƢxtZj34y^FWZMK*m$X8'A859P0+PPƅTZ  $ q`Q5ZD*+P)ܡCy2r&i{*4|Ӥ7çiFH|UN9].Iz{m} /~00(9Pe(! 2F;Y[)ye@eV%' iۭX=˞ ۧplwMce?|l'/0+ͤfC9ny$W~*)Z8DSWeH˥U!bEɦLǨ`M= a0p 3@0jQ1>kz԰<`ӃS:L⒙YW̹j5 rܻn1qMKo 4oFclg='"llFs~Ew9 =,|ٍؚ4"28>prqNeD …IK>>3O,n>"П,W_w?B[:i;ٯLȴJsyG>y.㇉>χ↾̗\L*&i?ru ui}A j+@lj;C8SuyzϯGfQ|)y*|L._1GC 5`szCJ F'R]Z)Ł{A,`˞K Nz/}i(P *=f tԈnϒk'""_=ND~ VcIRS~՜Z8ymȉ =nYlՙ1N q[.^:HߟF`Zf dYNKj-v9 C̺ob&ʿNˎ$W lK`'c9f'jw8 ݼCV7驥C3o`zfds=PtjpD@ A}Y-3;Z M3wfpԡ, 1) Mҕfk[1NԹXFܰ7]+!0E`ng[apve+ˮX5N7} 58S͵ i6at'uQ;͍(f>\D^N<$=W4L^aO3O2g[P GkPQ򠸌 /Z~T] uQFwcќ}kW'm0 Mv3LiZiuC{d/LwK/UD:驿5jߜ*=;5wgOzƦsL6`G 8$(xki7dv&aofFzNm竂N$w= ~H[:5D}pV"³hF@tL/g}ͣ0oy:2/^~qcR 0 `eb .MTizVR¦i4Xvرf u?19/$'EGEk7?9{>Yv'5YJ3ɤRNJ9OlywEzy$Ya/!|Q4y;#cYgAA9`kTU g*i$FPq%ͱnU)3JsEg{ׇ;v̸ #&O3I<8]Jiz~ۧ3k?%[c36:Va6ǑØ?}F1ƚMaC(Yz쎬8&ٺVgCI ]˓]#qq\T+l^>VHA~&PuPt7Sc$.QwH  'jOeKt,آ S@e.*RUNMzNNc؄^Hy`s[2o}9YFʺ)JU*U>m)Hr&((:Yƒ>l5av0ㆳaڇq( Q[#abIKŠej3| l![y@hJjLל\';@Xe 9JV`\NʊXdids-d'|U3bl]^%KLrRZ3hƢ#!4^9 }t A1 )a9Y@FP 'HfXDIVTM7Lffw8]n8hc4q:`e%N*=o ɌNͰoQ"L(B HQňW[8uR:w<2%{G:̤'&iHȺehFkCCT`'YQEO3/ *I0JObNA܆T4 Y=xyg0YLwvw,nMH:Q7R^AwuIi^~Hjj y&aMnS?(<ԇ쭼K&-cJ" ?⭷M:)1i aSGse):VڗudӞdS[a~ü\QɴcvVs^H=]Q z1w&oDȿ)&93u Eh`~"EءgxdH;L$arbGa ikIҎy8uզڴ6MSD| vBA9m7a̦aϟI?0.z~Y\ld bзz3/lt7|UcXkP&ØHic%iFgi[lү6^%_}hxrGO_>s$Qᣪl>6{g(&l+́m~5}9tI1#hsr'LTbTM" CϜC /}zkLf.H\ַA k+`Z?cį'1ФU)aPE %5umMqάE9?~%$fꗄJ\;4+2帍̞= =؎<\olBֵv~5B7??{0W{0q^i(oNx'5Ǐxg*\j 9*eQQs!]iܓ$WVWF\LR]ɐ\ VhWg$Q"Rms Y6 Z5lNfD0|1^@䬇t_h |WTG/ /vKJD s* *rLYxΡ1բ8{`ZipWz9=wm]1hI>4qk!ZR@/k+lAr*G̢ʵ*Z^T|R(1BB &%DyqnANd>owi$\ow .IHSu};C7up6[esJ*j4 2l]Ɨԇ%יeo}軯*?+qƢuL'"U:tK]k4É%!}/Ywhfbׇ<;`ءAДcវJ+^gEI>[ž IڗDkXC~.jL >d1 65M3g^7q@0iǡ0s0dNN5$Seɪ _\ul]{*R?dBcY/ЎF);<M0|P}Pd-Y%dqJni:P>2JT[ pσ%ꑊ:Ri|al0U{TT#0'}x|o1_ݍŷ^XK5JoitMdP:/!\zSVP~^Lo;E$ˆ*st?0Hlꊾ/"/Cny59>5Vb/:C+[:*̙۟ܨ/%Z Υo+w򃠪ΎsOh?yѡqھXQY,Hlc-/LmI9c]YL2:*2g"?&⾤IƗ@C=7bR8`9*AmH#( Q6+ Jk9qa1  jQF NKC/hM.㩮Ĕ'o<*GJL1F&UUmC6#D!0a20U{2h{,SheCn[#+z<%O@ ah-`}}8u{O g7Ľ +Q2v_5-S"IQѽtHvʳG:2.8) AM$顧^.읬&lqY$^A}kf3&?"E?b Teb3ɍ+g5'MY4o:-]2]>}*ok!+b~SXP ʢ(ɕs\k9zq/#Th+~O,b7ym_'ՙڒFoUU5]]Y؆>!6 ][K T˚fyeDaɊԵ׉o%[giqQtvWZb9[q² oѹ}aYcY}v} \X й~)/u]vL{֛5]wzH`0R׭:LAV6ên5$Ua:bk&m(:նC汤 v]o@0lf<%{Qňյ蠟:N 6La=Y|]~d|$|)+JR[vyTU45*v䀥RbW8KT{OI&FP*}a>qWJ}iՃ'T*2̏o̲Y?ׅ^vsR[B1uK\2:?ٽd܋#>_;c쫺<%`96+XjrSGh$oHmm#6.OFyw[y 97nmENqvߞ/+qM̮6˟l%ׇkQgfeR# -0Xq|57r7ZOu5 7W5at/={t6[OHBJNAFcDNdu}=C2LjiQ -$tMo< K퍥|:͂UB̞Ω sorA\ZR&wZn?]BLZwXo ?M<mgl0l$9MRqcY[ElL+g``u8뜉"oQ[~07m5z]{׌'k湜v,m;]HT&#zL7tc'"#kJ:*n%87[{~"M佋˻D1KWxv4ŰX67udKj3~/5MHDT2$vH!].QQcUܵz^˶ /lK;ʁ~s}#E5Jto I,\R#ҋv`WvLVʞV+i?&1hslݐ/+UG5YExUޅ`/ >Uo/qa_UwKJmaU1jFT6pDu뮈z(UOEK1Vl}$.WBuHh)R<(kRUpa8# r/̟L x $./24b%J)Ww 6b˜[+T/=h2[eɊ5؏ @xԨU^FMOo4-V~ݘB6Slqsȉ3XlR XK[feː)\ae˹3rF / i?=ٛv$(ɧ+bş*J\|׾;)PJ~O=\?[yz;Qܒ{~^-[|K|/[q+o2ip6uX`}{Lҫ-$^ OQpdƋ(Wz /i)Q[߹{%A'j%eE96z%jԪ,{ tJLp rd@@zg7/%9x#NE"Dƪ~ 7K NNWo9ōŔ8|eWZeįckR(>F8i!-Wm-4!. /A_ƃ=ش3QܬBi]=̚bN5or,;Mmv kx? 88zn όm!UG 82fSQi}y7[WĎ,V'aa)Q < H4Qqaȕ+97nj00l] &&<аpNzJW$-ۊ!>a0&_+ ~)c͟?,!!BUd31݂"ĘP& sGp"D&҆D5EcXERߊ$4<J$QduR$UViHnD 7d4+Kٲ}OGJM\ʗ/L/M.FQ 1֭q~y Y<<&_t& . `q]ҢXV9[?iF[eV[5X n7mѓlR1E = B]l: ^d4uǛ6N8]Nsq:ĝJ]szjK\vdS_RF[N6wq,wmupϣ(c<01xZ[P̃M^4^z+yux#@=;QO>)g|ea0KYzX=H8ŊR/( ˔t ;"a35;΀D$>&TMi4iFOVĤlT2mfGqf Ǹs7i0/^vvOc(_>o.'O gj4.\7[s<*o*q^ */\_*W*lS*坪T~#{׀I5W"MZV]V > ?Zo?hƩ:V]*(.i#\V*VcjMnhf՜Fj[-iV՚ƩJd~cw:0QNVgo s\uw΀VOV3՛ 7jP?gt?5 rSCμ֟_?΂ֿ\Ύ0is55l8Zcq@;MM M49\(9jД+@S;@ӂ@ ffwfEMn4'Z47x 4/j+@ wA c|Z|Z)ZbJXR~C×Von ZEu[kHڈк5@CZM,=ob+[q mw`FޅuM7jyƑ}?t(r kP,8rd\z8:.2Љ@'uh'PV(;tεu]/\KrDt%5krо&X[7{޺pƾ΍E.n,q|pc~zIz P KJJf**b뷞\$4h!CXu`Qj̮4.d D([!?0ЕI&S,ai@0î5 ;5of<„O~bqذPC%Rf6A5{&qT[_~IM[4۶tĆ w`b4V&hj27nZ9ĝ/XV٥1t-nN ^ ᮆvğW_o~ߨUEjZ <>`t= ϐ2*>s0Bv|-SN9%"53s6nʒ%'mo۝x|)㢋򹬬WWJZ: ڮS9O]#7|aWT%CMG[9xCB)P22#*I((RR-x~TѸ_ @7hӐ! 0bèqttLp2mtH5 $㸱J6DnP(Q&hEOor nȨmL6ļՉ J[bcSĝx;ij /e{_q @wM`s1GPUMH(1vH)G曘>&YsUl#'4j5gڀF6N<ߛ6n]Vr-3d{Ȏq W jC&15עM:FV+w띋`~ 07Dg!<}J$㌓'g*vhf!vBZςi1ր\Gpg^ rcp2끨 <8$*it3gQ[@7|1_Œ7ί^ ŏ#ZoPX@/GWwA̛=(b=8R/( a>W0b6A98 %R 5lyվ:j@5CNX+L)fXv]\Uyi tcCQP|I6Mm_l6v5F -lRK/VJmT,`EopDx@!o3Þ|CN+M4.,3'W+'88),.s?q 𷮇YyK-vl?3ݾ> Dm |4< OxBTlMˁ/&:񒗴Z^}MSz9;z(NO~rm΁b1b<_Ɛ#.wć t I^NEa$qhZsDY"<)3" . F$R̞k^{۳ {!)ts9d5ƕs;7\.i%$X]P_CCOS@KK_[ێ &%1̌AXH(+M3 ccYS .&l [lV[ap+WXnl].)jA/,N88S9ꃇ7L\! w #AA.3Μ=EGg΅g\KɆkXXly/hllpp8\"<<$޼)#C/_ǔ?̈\@;U(AE Ê08 z"i #eюR(J$n,MQtM CɤlXZBl6EvPC)vkY""lQQ311WRBJIZ!#JV)'V^NQ %%GE]EC郖_[ۿ::^OO}}xd`cLL133%ssPUcVY)GB8 @zcp8/B Q(D1bp; rHG"d2bQi4Nd0 l2e(6qvOwBVeo/vtvr\qZv֭;ws2 7ce7E>lw !;DD\%!FJwrr)(xPR IM~hh40iР&C lQ(ƌj1nՄ ZCI(L6ŌrfQ͙0o^xIצּ_#|sb@bXHv`EX0$M!m>9JhŊd<Rޥ?#=U&O@ՐQb*UHD]@)uy:e+WB(r 5/ى]:CjO\@.+\]5}qMMማn:[sn-wYovfO pIW%9dS.!cp"{?_T`J͙¼yfCcѢrU4KV;`#X{\ mڼB%G_H q1~Kg2&1S꙱r,:HVC 0cMdlE*AG%;vM ~,*6J+WܱUhȞz*y#/YCsҥϑ.E sԫrq#'l;Γ]FQdx<^U>u"[u\k=AI"A7E<.py?p9.?9p "2]ipᶤف+ÁYW\mx\ك71I2(Oh#a0)y SK:D4F& ۏ>4Y8~ZЦ E-8u;COOC>g zOŘC!phHC0"DP#S NB$\y5m.U1 bm9 oSv\\ Wu?_T^}4t=_ #3tWmض;C=O?^4xi6+xZcTRe6V chf4Rb2/|#!*JhH> B;`h؆F܏<ϡ5XT!>qXf굯x$ eCJ%z?C:6dك"|bbY'<)bKcN՗E.h݉xa@GX<}0GaeߡpL|CbUcQ+ԋo$+"F o#CAOxLHtp\I4Wf/ܤv!gN q^H̡)G37eT07ŊMU-^evBbV1j Z;'NS;S,1.N7F,S`aVkjD맟1!C(BAh!*rxcy0#mw$YW XڇCf6;P)Q2,4Rf2fLA.[|ZG\Rx Z5G(MQC%FQc -\z }x&]~=gpI yCia)_h 59Y,K 3J,-l' PDQ|0}xDR0_ˋfׯ!&Dي- !(*G+]qr>B;te}e KnOKs`?Awi;Z#%0=!''d@=}}=P:8Ten!yU^4^{{G|_u" c>r4+y8TJ|uCzּO{4:z7ݑDb_x|ڔGRl4SYGb=T}v~y-=IǘY=9G:5t{&{%5oat_g/D~^cWg"N>e@LxVG>Qm=xy=^ ǹ^~.;܏Ra(W2_[6]"X ,)ܟ[]uTpjY,p"|}ᦠ " Ь]a(tlu\h-2  Wh8C6RFV pv"}볋sXhv#&1ow`a^5ZϡG喙qzw}2`V}#lhnxme/ ; =* g"Wx!dYr0#r3} f.{pDTi+#Rњ_tre VHI[C Ð:<?IGM͑GO*) n W*V ud 55K1 wVG[ ,5T:sMCZ ڵ^2-xww=Lpx7*`2TK2kgkOl؊!&=}It/G}3fqt 9) do_rZ T1ECh9%!搙-Wo!9:e;i?vJ~"#/u$}U0?McqJwo _;ieL+fRLyD635\ [kD_$eήakPm[ԑ)(_W_Y'RWޱO[$h65[[ű9<M5AdC-įadZPR .F`Ĺ&.x>byU/,;Nz] |XM, ɽe7fɗ)+Pt6+oBZ(^^z hh bbzʕ9H-Ѫ_I>w T }N_J2Dn,A6 /4[F2}I; :E1pYA<_ጐeBhtI ?¦ZxZoM|bH"`[݇) Pnӽd%; ?hnv<ߩ*OݡP8ԣ\u{/[S}Ӂ,&a"g, !lye4kXR[̅]㫛\vlky!xʇ}Vs6k2BU:pM"=D{I8c&Ge$Qn= -7e2HHL ~;1FtT:A dbzf7W"u$F$-6T4 (iFd!$+uFܸvB/+S>ydi[#iy,B.[mȠ U+Z$U6Ǜ]8rI#3J#\K^' 8+,glxޥ}hnv lC|-L Bp SsweT2C> = ..'M%F P.&Sw ^ȍ左gok9{TǓq13. j@PL%E >U#B/k#)]hVXȡ @:29Hޓ\yuEUO@rVi?߶8H&ʲcO~qWd̹ld+l 6&n:'Gw8Y6J/2C}UV@!+gޢUQxlS̋-#ZFjݳ W n'ƿS%t A z&Ic1wG{c14'H]9&_UB0{ 9rw,Km]4<ԕ:.H{!Zrde }H|YHrFhh,/0C@/ H9 *.y61 YTֈ.e^Ȫs@% dx2;Sr1dVt/u $5bX-OGJ gp\[L;:rWeá7^g/W,s kĕ0%ew@דNx1r#a5j#9ȴմjwwȡhew+ ݰϝ(}KkDe$R"_#.POA@677:8npțp[%V+sOF4ViH*nYA6 BK=$JN5 !cSCC] "x=A41z\_+!ZyԭYcee'UXXUt!^rL}K[AZɡ·ĐY/dt@dY! !d7TEHvr=v0D7|< d8)y\XvkLo& 8&ԇICQ@!\iR]+9/C}^21lK# VܾTeĖ} i@&\ Qϸwmld >)^u ր^`(vJn^iIO bVFTx h=44#r+u#ɹkĨvõs#B|jK W.y+NZV. \ ZakiN)쪵3wӗ|rnHabhzɀfa]P2cg|IJ`;MhCw_Pk rEcϗDe +_3Ytrd+d5hAI8km\tk . (#z.j0&B#^P#_ތXfI U)^1\ K,cы\ϸyCtڛ$ ?(RpIxD˥x\t3܌aU1G.Q.CV֮WumuGu/$)"[l;- zh1X*K5ɕa͇"%+ҨOڜB`WW+$t+ș8 Jϗs2ThՄ>l r,T1wCz~mj4Äa~DQJI4K1<0256Fv=P v(ˊ88}jT{QV0+i~'X</vܺ_>wT"x{-đz8ZB-}AM0Ks<GsQsXD2 rcY xwa!q}zP s i,>i?.[%gZi] p}.B>["{'=~]]YF9_t=7c̗t'==ɓW GZd>W48[7M5&?wSFI'g J4Ҹql;U2^YRo({tNf>1=9'FMsQœ{}}?uF\l 0_oյ?=g 7kp⫋o+B[FO=ܙigva`%՜KרaE Q3٧v&,paYffnQzXjfӌްJ'PK)X0hc>o8OP6W"4ë0%/sDhs<;#RFz xeV BZWsHi,9GXBn}j͓s-!_ kҥQR2v<]ڔD0R ` v9ZAM|gTUR!Dqhʣ#:@gq|<|,> dJ/ٷ92Gv1" %A[`c~b@[m\iff% @gdD'aȣ> { d-{ qBʯ%:!zlӊ/3q ^6{.4;ŔEn_}oЇԀ:%P,GpCJf0RF[h\ɲ{9B+1R*V >n2l͜0sW17ŬUDy)0TFNצ+HH sˀD{#7|^0Sت|usV[nemFm^SnGu0#].=P=o~Owޠ4$ F{T^E!-jW 2tm:k܈Y8^"+&)$5,:~`M*a!cjVuw ~P%]3Bܤ%>sg'd1ӓ%(Rnz*MT~'6TE"-lH&VZ⬉ynvl̙Is1#4+\`MgB9PgqLI3Y~v^Pc~KH@+IڶE=XTHVҸ̹q`{];RL2d%7wG] aze\dM wUQ"SDY kJgIZc.!TVtoH @"k[}5N\ fD围8_h2Jt,_۶U*eϺ~bE\9[:6x;Hda[]݉ 4,şr<]-9@LɃ$xJ>2mxhr·54K][͊Ԑ"D(,U3&7=5hI/[靯&ndv''fR䩟~і7ѭ;O^#YHv^00<*2hn>$e?Ƙ1UU"Q([rkvߧΔ0ӣ uv3~QΖJ<lu]W'+gt S&804e A(v pE8/>0E^G-Y_rd^"!5 (8%jYSu‹O{Z ~\nICU.~ k5C몙-8ǿziq\O i&ĤoNY!JKˌ3@8*X5-9v9@+eQ~X"㷙8il^_9ѮbMewD"i:Z`bӹQ~C5y1>56Oa%lGm 0\ҡX֔0h/2>KA0-uys[ 8zڕvC+韭bCd6t|rSOmttOѤVÉD5 ܠs{벮h]d7N?bs} g[ pЛRib=$R|/V `/5˩K5W1|*sZ$vu#~+Xw Jwi A).DzХ=eDsF~OGŢ8\5@#0ՙV@IxmĬ&p5LdYˊXЈ!,KUb3R%?zP26[-ޘƻJG!1t=y} 7l~"H㩌%_2>]ZHϖ@&;Cv&z?}6u]ZF͝u o^aM.1+EWnsRvqmf8^;*Q}F8ai"";@q ~KɓQǼ3;dG˥ ₉^2E4 {<Q?8%s1L4|u|3argGGYNEk2_;J _Ga + 4Tc~_ G9۫-.L0s)^65| r@~c^6, htrZSu6}s`_;/Y:@diHP?12b5,wP 3__Tt;5Qf>a`, bbIn2(}A]qWbgGs}PtPNj|䚉Rj:z%S=tUyn»L +( GʒРxV\.2?3e E[>V0տ"P@0S\nza,|^Ќ =p*b6Buo?O^}$}kW4~Q_ѯsߏ#,W XSߟ_T"~#`:|ONxkDǣt_qazLsV#^BdkK_k`{Hg pyYwH@&aɻByp x4P2(iowehyAȉ<[q*} Xc| ޷N;yO"{^|4ToORZ.@rzQFŴbS= l4iX- B^WOFuA}'a4qўwv'q mT8|GZx1N]aaK>~%J/*wѤ#䬟R86[Bt\q7Iғ-^l5f*sh߮orGUQmd@0,%Q/ԅ=J4>vi f`c\DLl{5-ӄKP.desF%emk{nD[≗S6ڨXvHGFƾ'_h^##7|Wayv f_q===N0"ɞHJ+#Wkdv[qcS(|<"UMdV{TBp}A=ۙZz NpzN_Pj2 gdϙԺS^?lpT gob/ 'HRq\~ # = nKXy,B46 /5kJV\{V1^@'?5m F9P<. nԉ|UK Ywbכrٷ ?p)8wx粳[es:͖'$F=tܞP">I V;i A3!btbYzC}pfe^ dsA$g\&~J׮${R95fJd guMؒĵMIM813;!! ȜI^eCf b}^0m%sdfn:F$"oے~f0SҒٝíoj%y<JwKιQ f][?՟E\Ӧ OɁEfx5&%5dnT}T.Fw^j@K+}W􏢗?C+AS$ĵ,}^%RAoaGܛE`;s@懲w~ G#K/ɝ_#m^MuBY+ GFT!dH/IWW^{NZ] A$ukߢH8sDneXآ8 }-7Y 3NүgB pY.Q3z\L;%/lAJʬ( xMV9ڏw_8R/WZgo P=!h,/XzJ =w^рR3YW@d0ůp77mw\=ZҔ*:O_,?[4\+6W:Mc.{x ^5;-oz+@m;TѧBh67J3Kl=3NX%^ylogg_)'_SWOAxl6\,b,*2ʒBp@ lQ$ЛI#'Oәl\xwDJ67)è}Wz`5l `Y?i%'-a\P?Y߿ *ȱlqeG<`2D^n\glѽ;{onGOF_l/"1w1q Ynt), qx0DV/쎼oDC/ǝ"/2zPHou7X <*@@EEp{ğ-GY@]S PEb<dYMm]@aJ},@Z_YyC*57a0ưOH4I~gT0ץּИl*k*=#X"ItP^hc/AuށYh< CMl8hRl!uuyf qe/Qio踛4fb f}^NVO#73OV +)Sba a.nוM㬓OӃȻa"C:<|EP# [3*Ro,<*/̂ _l,鄲,p> &h!;Ϥ >Fh;/U.m&Iyz()nf\uџR6wtW M]AbJ;J*DCF7òl|o|@Y*䦦Il8Dday&/tp:]Q<^  Vsե;gU'/'ob.>X'֨BwR^b<.%a+"TAO~/Z.!n ,;ٮU4c,WhTxWqtWmS^FF`C)~q6nw7Ӂq{pM)N~a6kU:w-yo0rL-K  VA@lس$Β41{kK㮣LGa|FGlA~TEvk=M9H,Xd9;)Vn|xRT}2S a|ubpOK+l=n(Фu+ uL3Y]JW?W?Mz@r[ hKm2|5+&ovSnB$gI{]U?*<0Gqަ=tƑ?>ߺrWpes}fc&uȽ׶/LT&([p[eoѳq^mot"Iȋi*(6@;Sק@&+߇UI$z,;VPњᡓ،?5o͗8󬷚UX(fUU<Nmߋބ}Ee6W<Ҡe>]kmpj*i K!^IЖj >=t ::>tT8׉/G0ul3čƧl5!ӔWdY'a/.Amk8v|SE1wdSr?-\eviW1~ʖY{aRbc#{™b;f| p0? @*儊OV7KF ==z {G(e\Y~=c]@K :#̈́ \WXߛhm[EE?3,jWp&sOu(@XJ^;ٽm(@sJl>ΰcd+te0UEp3-j뛝Ol]ja4{à`yK[!dUJEQKeվ~DO>ܹ20 ֖x`W꾀k+QYϊ-~ih4V}j*e.v[* K)˫Go?"g\F;j2qYǝ~t~{:,\ᠣȨ x+D|2WO3Vm2uh:8FqUKL"a*&>YajgB9= \o\O5Q]EZUgAP@崭ʡi2M-x%͈tHktX|hhp1},+cY rbX}ri&~w7˞qkBM"b5PX[AӞ=道VJh+-7a@b並ת3Xd*ntH&Z-Fdrq6~w.i{R*/ Ԝs UZo*<Ø)4QêQ}olAדk\b~"TYߙ" Ax?s`&N QEuC#*mg|}|/V^7;aDf9<Ɲzpd# oWh%t˖G)G5KK,$QY58V9 h,HsCxܻo]U:oqbmmU+f^8C׻5%u@mtM}7#T.bcpRJ}Tot@qpK8`|7]lx_*~b,2AH U f$8?QOJL3v$ 4څ;oo73ٔ?` =NiygckL8yÚFΣ_YNyG熵 $z!8 n>~q!?xܧoԷ1ZSٵ9Wrn_;O*ńKO_\g@!հ,ͽ8ߟ3BaOo>Q]&Ϛb; F1K#C` 81PI BA/0jjQ!ǡF˴p ص:PYך7m\hJ}hu=#]DmjVq-W葵ꬣ?A.!N{Cu!xIkBJ,^aR/n*tH-S{tZkaOݍVTabhsk*dgl[YW9˥[`ЪM]0aQUnsF V7iw믛0/. DS( #U!ԐUޘtJx`k [y_z"`3f;qk +lhdc&UCۅ |V> ?ml:y66gzȈng\< ހp,DL ^WhKpt~ R{8dypf`CH+q~ ^r?Ln8(>,3'c ,'N.[f%d[k~kfJCY͛qBf=MWYEul.hqҢM" !vUN?mYğcL"{*>Agٻi@/R41CrNOn Օ~wYH1yZr?ViWj,Xbڪ>"=,@#?B'r'kXOw&RYTt&Y&qx?տ$-S.eѶ3//†ӋRMLuNf:18YEz":F7ē\J%tDNݍ0a 80‿g$A'R?qG4֖Za׉c4E26RϏ, ,/,%KoldI@Sq & $ lg`BfgxUk!MСγy#}QW=෌xnxI][C]!bŷЕ$/}.Au.OΚslE .t |@txxXt*(0(^+`"V"3x" *ɶN*Qjt%@ݚ%2\6% KQ4P0(8q5]3k*8f:m}v{5Ai pyR @M 0җ 2 2"(h/"QN@8g:v,m#< 4Wr3ܩxA)ZjSdL'¤6dk&WL'F>d$+u7_!4$%Fp1)m B@1A9/&g&ie<%Ɔ] Nw2LONϟu ԐC͡ސso#H [Q|F(Hwɛ+y#<X:G]azU[K-S[LJ J0\2NҎIwJ~/P؛9d1 [3s~a0_G{c O xܰ @א]EkL`#n*KX7y-MyQ :սY+TlA)'6uKvg@zaje%rR7,{6[&E"0c;7 W kU ?& ixwF핖J> 0J_ʇ@ 0$)y2ICSϛVVu_$ng6:K ,o, 0Z6xY| E3Q^  {x.=xk6@nXR\Juinoz" QEO!^ R"zQjs/5}{zqQ~CinqA~Kn捯52qGq*Ekǝ $'ZrҚG@':,4]XEg*(rnTA! -ڤHTu<^ 0?@::_dIEd '%{* ³ V&B4NU^8O;'FȚtfz7e?A Ais #uk.ppE~'*'mH/}'盲¢ 4 "E4ؚl.Z]pCă σ<ЂS1(#"ia!I@qo[z~I^";;gTg ; g4{ɾq V8 &_jОQHgHK+Z'Ƒ6t;{˝O ]+ (XJ*o)~YTd͆ _:x(h17MF./} të[Ho{<2B|I Bތ@q2ƹd~^J_GE@vOW4Via1yA%R2. a w,G )0f8++Kyx#);|f.q&"ܤ֤Wb5=?Sw*p|/_(=a_w/tojG}lA&*w2OWLQTD:FǜQi`ehk $]~dXϤ3)kG]d2'gF.j+h2!C?|=޸4zr*o'P\7{{` qu !8`ˏ?;L =kuuke= } ! upcOtt"` \=aUu^e`myPͩFR g;b9—:(+G4]`XU䬞<6y~i.ǔu;,7ssaw4lsVU!x@7kuW3 tߡ]u#5h7dw p%Jgnimn 0 `نH,*hM=(eUA ΠRK͐n#f}䡻*0AŚwZ9O?}v_jf%q:fYLY/2~ɴeq+g)הT rdϛTT^q2ݷA uaalnRvzA*Ϩ,R=pWoؒI!boNTK&ip/Ud {Wz,Vg3qJ[~OθHd1\dӿn޲z_GFG3v/tܬSA Zz4E{4 O叭/3zD34($@|j ͡~;•7G6O 8Wm"=]~b]@( 6aihF"HbIc%7DKAaQPciIdI+o1o \J;:-!UT*8Oz0ceL_%gdFJ(1=({5x/G#AvٕA|ϭT] `0<| em L."H U arCr=x1/6bț=֋ry"+|l%}"l@\dBu^wp!# 21ֆ|!)?͒%:"S$naH։2m\*s:4EE0p{HXXB 45*vlj2/k3}dR㊹;kLO*FۯڪGjT[Lw><!lk1-; z/i% w;k2fՁ}gH9#Rexͤ@LJwo>]2*}{t/S22^u>Zv1^lK5dԪGh_Ș eMx @@tt; >V}/*L%sV>PVWW\Brge#]J[FXeS.v 6"ȨƦ ԿwrR?y3uBC*qt of ߺ M /Rv8^>:{p/bf\*l&=1kKcSa=`U6$n4iیBf@qI|U[keC *)+| ۱.=YDll:ozpomPk}?\kv9(yP-yw5E>#P_3\{gg*p7|X ͌l f++erGNa7EVK>uU#oАD Q"5iqAL!"/HvROcrtzTVlyb>*$a\R"Y9*JkAxfn{R,{=_qn%Iݣ\^J)re)r Zu{gcbfC22'·G`(S/8W696ļ7G >hؓa=d

    .PxcW!,]6#.ԭ<.NA31E?*YkT@K"sʤԼ20 acJfҸ}DXHۜ}:.:rP@T_, n'&7ecb:c`#]rϲ|BBz YLFWW%t{VddzDŽ OXZBֹDܒ-.vincu`:q?"D~'-OqUp5VRl>kYl .Aᶷ&ho|(QH0Qa'/GFǴ,GӵN+`it:0fwgho|(*$UzHq+KLM \9 6x_w`F~~j-. ^09f0 2x;M̏B ]a&MT !4thz2()+k2HMٙM/ˀ]``!CRI7L P5T to,C `FmmE28ҁN b6ñ=wT`PIQ7Q̦LStdȏu`sLilk]} :gK3/X_eÚfN O(xu0Uo/e UӃj]<* cEM,$khUcj9ߓbHmt1\LRyp6\rd%'[?a.̱o(!1")H{w铂G|/OX%$+_TGVa.:O{xo,1We ۴,b.C@2Sb_$X"Ԩ1 0ғE$W:]  =VHqL}D8 ,An# A*e(#p*X_uP!ľ#e&-9'Z[g8hRWk v!<0TőGUsBu ;f 1& A-Ueٗx ;I+AwVuIV[ZF[XH ]!h -k^2ԽH@*ؗfOOʥn̪EةG ^CE|Ci= -16C+KN&ɐ6ciFY$}6 LVSv4߽H#6d=m@!W ct5L!U $ԦDb8~n66~g|//rlsR$|u\| XPH3ը7s[$>0 emCGӪs6Y4^? qf0؎ ;qdB?ڝkw%'y9j.ȱ kco& _JAfE2}2EdOF|lѰlӒoo_a̹uiM2|~>bLd4S(Ld7T)@|Di@Tږf\.h#Kpu8R9eP5sҨ P<= v.@yȑiOV@T'dy)uSrx_nrЁi*:BΞ Z,+8`.zTBG%?Y?I_'V(aY,XFl hk\uZ$5P#ˑў36)  HegSw70>ALg\Ѽ^nvV Tһ?kՖ>w֢|u"v",nCV–VQp~Y>aq&-JiT) *6J0=lv!-x@5t1;æCC'EɆ|& !_y o&K J@`@0@r" CZߊ|k-R/b݊K')Bq%Sܓfn]oF;є M8i?;Β=fXcՈX4EkJ0ɭHLN@9AbYOv4a4/;!PF vZp0 '+vZt~w?2WBuF<][u u)r0lNq(Å=ٸl{g{j;֮@-.*fǓ+KٞmZ!Wh?G0RTT0vECi Ҍ4o5Z9d7 1.[>S}S_GWݏpN'wno< uX'1<6 RRfig+\Llh%S$v=FAOMg4{*q:+0 5l:\}, NS]: `~#U4ɄBŦK鎶8!(Ƕk=Hl>ĈZr8\';EPXUP0SU]r等vM2R.!6j |׬xV RfcwٮJ"Q6JT¢Ù砡3!(1,KK CIE]Lwlf3VnN_!Y:Xм,YUM!p)au)ۜSX*@yN; -HuteTpiN|,g"6Lڥdrg9X=(6pH쯥 sQ!G sd7> 7war.ˡ*BBUk?V+~YoQHIN?ѱ[M:ۅE|7hM4Ĉ}^Q]sv2%V ~:[9S,vC{)0Q([4-zBLE8XgUACw~F fU ǶslI0 fW G1쀮)B̳8,c#(FC+QA?ǴM@2`Te:ȶ3#;#dn@ZȻw&'G8 Q?]|28RJ+m7S&x/nbGgdl6vt1!?`Gw4.Rbeu>s"{:##xeX"Bɠ!Dΐc]~Q껃sE&X bT@. V3myΛR5bhkD52E {p480Th^g6B1|PYM~Ěan՝5 Ix"`P;##rRe9]Ņ%#"2p21JcED ;w)vBw8dIj9Hl*, k|+C'SD`{Lf/)Q$?6ڬl q/|zGM^=0 C+&oY~{#?Lu4&ݓYi9:tރ^vMRg~uj :0OġP[n4%Uw7N=y허CqȸU@D-AKsLjYUӵ1Ye!&nӬ^L?<kr':P3zEQ;TL\#/5nk2=`C͢Bx9]nH;ڼrՂ${b(h`$ʿpVZ&]vt`Q 9x=U7 " 8qm3P/ZؤB{Ŋ*bQZ0gyafdMяqp)/g)gVA\s؀)OW3*b~?>]6]bL.,}GC\ȓ1軉caF(eIp_ii]Mhg ]jz#O<7^ y^E-%ntāX5o\ !,TfXs \%gi$Ox5' /a7v=a6cDa wyb@<}px~Y{_=Jp*>+^Iy^ )/%P}k*/ i}9b3uR-Ngu`(APV/Vj!˲'ңZllnXq7{KQHLb Kh&rX,?˖nnD{獂N܅`d{=4,z̬/y>N4n@FX{X)Pl`8tKrPLK#K J\mzK)a-鲖;V yeg\˜'޻4jbv蕁8Cz7^7"E&47ٯY/qA/جZϓg ]A#A&&MYZ.e,]iM4 `gG$8gԿ_vu^A+-$ qdԡ^`_~B@=@X +њb7f h* >HPV!#ԲZxL;҉ fڹ 蝌6/RפZ,] ׳" SNV:ə~藄!?v / {>Wʧ$/6JMqj`@^~Wo|͒!l'WL1o%8Ⱦ6PɵծoXgz0q8vkEXOo2q8?I{&b 4Vk~&!#b_- s SȌD}u@Aw e+D% @O=?[ecu.?jPĞjhS 7f;iv* 7b O]u/=ܠ(RoM 818c쉡8;9T:g.݂"ta>wDӏh_[:8PPlZL~NרtGW\~%E?c-'}9똃g[@n|uڙuL&N(D,~O1ޫ隫2]-Du`ػKn4LNrlcILr*lɿÊnՔbN(Qz$Anx}v\7cKCG#++<>NQvM"[ `>&9+ ! uVkΊFDN\ǭs^?Ν/!!PKM?EGuSK5ctr:0Q>uv31w ?-2m*9(ajg@ Om3R`!o @:GR3%Hyn 0.|4@;xg](VX/?yG؂ #rIzbKImr\$Џ;jWM45Po&QJr7\/{|1͎ l47{Fh'V‰@>S&>[440`szg`?W\$^K\w xz3hffee M}ܧOgrB-=YÉ zz 6ISst}:MO0sŪټŠI)+jisL_PĽS?S9}fpgyTKՄk8A\^U^h &8jN[_ЉޢҶa9ǿ7=t/U¿9]X; pS fz54L۹[&Q<72==I؝՝ hac;/"Qu/kPU I Mo[Re}ص5̊x{EgT:ϱIG3ɹ>7_Wֆ PG;stS=ǝS5v;|C6ˮ_ @a1wnH5#CTPmθ(y؃֨e?pAA42!5=v(YI0+7g!SVH{k/PAYmcݽL!qwޑA7.D>KNM1ۼbέ/_SLf ]9KP/*`բ+tK)B4O/Ú`{N*{鯏?fzbF[No4 h!ra^!͙GFDu:OL|5RmZ8(cQR  ƺJk)3$wv8騄X'y$9;-yxm~)h ǔr\G4M9p"oQ@VQx[0r=GMt|V mFzoX\hD|dI44L0e9Пwo^H-1#ZZe7@]rQkE`]Ed ]B[a=}cdUD6s͸[*#(O k2č& _2*J~mܧڵiS=z*^׸yG /EVEM&gc'M^$ oo>~n 0. o6vU ÿ&z&tUB){./Nc}X,\FDOQ"K_ב]m) K=I{ $ l B)SmtG;84.Vz=H. Qy{;HyVjJZz\ꇾ1L'g7N}tLjz>ҭ^ =/}Gc$ T"Jɠ<Z^q:<pŝƈS4@!/@K*J%:))V[/!45w'˩+adƒVG'2GgLv01_-916`qzK~޲uSBR(D*ҽҢ"?!2+3# u 7'NXyiehh;0g(,S5yjjmiD 6sU+'d.^!SXEAF*FF<0r{`мJ^瓣 *w23LHx(eTv;vo> 2P u]gS uIw䛇(֮S ~,DIDZZ&H44V%R$EP_ Z5BAHFv>hR8ZM/a'G8}iT.u6(ס^c )Pkέ=oLJLewzgqؕUI;Y;bqJcJ¸19P Jø|GP~SstO?>6SLxFw?qyihj,kdmᬥP!1Eʒƶ>+mHv3 gKϢ!NB*u-![a_\(aCP7tW_OK?ag _H{!>21W;uY;彥W2$ϵo,Y֦M1~|Fyh퉡 Xw: ؘh&7/;5R5 .kG7lsbBAmR&;,xU, 3)p/-V{ks{}~yUjg-ifq7fSěEl!=eL6Ip[UJ6+BhaQ7{:ޮ'9AȒ=!f(_BUWѱ Ҵ[3^ٙ_?6eWN 6`+k \#1LrVY])jD3s APRV6.{MY>57r3B1ƐxS'ςbPK ?yY9KJ9.!(XۇCl|۵H]qqe?a):;bbi~ٜm/h#pjʗÜ (1ߩu$RN7iQuj&׵>WƒrəuMGݪĐqJuGGRP:XsMhzۑG_\O.>AAQ2g1~p1N@㶳1TN]%v¿c߫TЙp:9<:a4;՟M%_anbcyuw},s=Dsg#)y=YY #u;5/͈.Vj4%VPվXj%H*؝ā*5!,F{J޼< @`-Nrx_Pbp0&+]msIm֫穀$aq2GRO5}h{ǗFT!d!U9hR"I3n<re)A"+fsS@t%V_ɾJ%a>/+&]Ѥ@߇jc6>撄 y{BkCk07 Eg}5$hL;ۛKȾ&=s UM RdˈNqks`}UG5QPԫ6 |C1:Oj-BM=-Tmew?O r:mߌNu4WrZz oGCyCOqK=,ݞUH)̎]p?hֽ4s(.ndOU52͕:&b:F 3 ,rtjQ4 ahLJ7;&|mDV7Fk <(. J0o_b/\ Go$8Ք2J8.C7߈ L+~A(u .93\uZzf|\ƍs}f77)K#F/^RtPY$j+aɓN>23ħW +;$tjڂ㰬gn>}`80~AšT,;/F4@ u'j3Í 7֪Lq6#MYЩ"b >Ki[VmF7_R lU`uⵜ00"3w%lھls0w UC9ȣh1Ω&wY6+_x{d@ρGޡS+<A|@?@塖e.֍J c> n)d9Žf/8YqMIxv6R~ϷG +?{7q9I5iY.i{lhg?xz.Ȩf&K5j8k Q kfX{grzZ F[WbX!ː\:saa!ċyԧGe|xҖ.#খ®Qv5Fk YD~I&kAJ 1#k zL*3*h ,>Mp\o7{:yj@; Hw$'6H+izrYݫlדєZ҅Jo6}a%a $}h;m`ZT#{ũW\+qG;_o<[La=ik6%[xQ2}gbdtWuw{M]:\iL]A@xARgǬTZ|5pu}G7{W.o"pˁ1~c`F(3-k/a.,C_z}m4&|I[cbBfXV%YOUW<=RM]yh3)s)lƋ7T^nN^$/&d9+IInTl zsG)J2= ⴾÂU);zt51 d KRYOvP>8FDe_,Fh&S tWjcdHDH~l/NZߗ?obm`VdLq]wvTg6G7Y9[Yf"oaJҵA;`9g7QfLO<3XoQeAbO; ˇM,AG2Q*kjL!yesPc}68h#am:O*q.I(uvm CJSAE$A̬cl"xrml>|mEm9wg ҫnƫR֠ g\Bxa&Q#/֧zvJ)\uooG>/\rڟ1LrP;&ﱲZT__rGbЙ^EȪj)K$!G,M7ױv?߱dGWhz)\+B>%KJ{*NܺD'Wdv_z]C.l!1_Nx<6.܉/‚R/VeaDtC@R* Y7%UX@r+IG7ni 8)yiuJ-85;^$micf&Vh@?zD9zec,OܦF}02:~"5>TРM"S`{h3B|qQ%-#}RARa@pr deY)HA΁h2N`3Ts2MZ819%roXAǧǁ h}s7$\Pn{]Zr)d7)W,M{шF▩嶦jW8V K[FY>q1O7}+0 >?d|E©#i5rף">Oo,b^aܿ](h_ɳOQ}w1>  :/B{6>pIZp{~ipKs;zF{3|D\ pʲ꽃8˜ޗtlA5Ϙ!`IH{ 5 ~xk`Ʌ^Ȓ3ϒp BcəW‹߀^`7+W)Au7 CWDJٻ$ﲮ>-o"D * Lopz9:@:5[jo$VUr Wl$}WM;-U/PX ]|O}8|3:7%.a=jjdB:u\8Z{є?&`]!}]R{jJ^Q6M_VzsWx?sS{׀V#ؑ >&Xp]$]?PO>ȳuiΞ ʇ$Uj]?K+ oJW>+#eN\|bCQ⫏VսOIKnҬ?$jίh9^W`.K=wB>%(o%|-}]xz<*Ŀ& ޟG~-i{\{+s4}ͪ~ 2s;NAċ3{ې${@V ҁL_>o)hdDFPpUTo͑H/W!es:3ōG#y ZVv3y6! ׮e;bu K[~ƌYf'l0n]ΆuP;/pZ5Sdixy⑈F!T=4@Cۆ@b~ <M[{n." O{sɶ)yسvgCe|;NkW%?j`xnF`rݨϯѹQDlB i tWno4@&SMchB#ާ1Zq>}`dvEtZы k#Vbh>tn!n[)l3T&)$MVHJFwJ$9!yzRmn,e_ƒV9GY-8hpںeo+ig-ؿ,qP˜*zVOl@`: +H"=̈́͘ bkm _5jH RzrpQI*#|/K&kau~uExI\f*Dife>CϘ33FZ!}B}I:.Ͷ2t>MKdh}D*0n˅W?2Yywoi㒁msE|5R1}Db/ī06ϛeݣ·] uL-5] Jƒjg.M& MirݛNo!7lcl=?$R'*oP,m}d?Qy痊{` Zɵ zֹ|FYbhz9~ #:IWGA- @IY[oXjo{ ߉ 2SS~hozF{/sm?;9?p,߮*Ҋ-*:.$P&S:" -UiGf,*ef񪖫euGF銚Gx|}+7_+-~HW5(+88Nn5uA⑩}\ m*i O>@Nu7+N+*,QW^C>N ԠIigeMBrrpxsG`z)/{-4?64FgCBSx tA*+ ' ?ӳ~Th󿊵<Ă(3IuP/skkYҢ5ho!^TJ,!>6-T(2Gr,ـw X\m=hK!DΫ  4mvfÌpԺy${7FVf|pgm/N I%;1U|$!nXZ^cH`Hez +LG`RXy,F"5hX1 h%{k%JX^TU9/Nbb & gɜW_EuĄauWb< 8RVq+:@,sP rnp%dƃv/]{=Al3sDgAZ=^Il9=sѴެ |dKg}ɦgț]VYV4 s,!\ VOgqN?l\,xޝWV5\(4M,ɕYsx !ɓj쩥rXKͶ }1EMWOLk}مW1*suy{[["&lF(-:g!qfǀI;șqDc&xz] [_bd=>sw|͘K}#&f"os'm(mP` m( G7!f"%osZ~뷈)$:e) KfuK\'.ٻY3`0 v奅ž 毽w㱐'$ZJGS#֗ \㗮Pn/g=\#wY$J5 6,+C(Nͧ'*ƛrK,e2)17"Sms/}7rzzt7X!ir)4.:x?j5 9 }b11,NEWɆ-̓ddNI$hϵ' ehwhAZ{sPL=5r㢐Woi²Ӎƿ9;׍%6f'{3y|:,عl]nЧS=O=4&FRxqӉUʾqleq(_?۹,1SqWaoDCD(x'ŧys(L=nsT|CSf\:ksqw^<##H#â5p%=I|}vChĕhglx][ɞ.%WD.X̘~V_xj5Hjvq~?һ0&>7GG1ːv.IaQ/m5ΡaQoQ#u J`Azp$ ,b3t!H:MU" 2l.  꺀A9%#"%loJq`Sdf,pɒPj L㉻sB{@n3[HڶXdbH[cs\oL/mfyRdRaU3&csO?o&ε2.VYyVfqO-SO//(YaaCqh˾_UttNpXCȒxy4l*I0.i4$W+”Lrܾ ]GJ$5ذtOWjﯦ%A><Ȩug\t[ĸ,Qj:"Fe~0/&$Vw1lR< qut6*}!2ЂQyD / OD%]058bachku ~u1\Ԧrzst/4o5gwۊyxd 7ˬ%bۺfFaGx)_L) $~byO3H%1+ vkVnHe>@? IC=-\) -\fV/\]It#U#봪r|>cS_5:g?vfΞ$ pI,Q]ҿMz̛[ֳF ؖ'E"~]DpY0V>O؟@>O> }`6&/WL fjMgDA˦ e~ZNROz,^@1 +ꕔ̎2q&!ܽzHB;N4&Z{_'-{(ZG%X[XhDwA˗gtjqh- X|x*|)CrL'kT|YtGw3sThG_bIT'g8mB7v1~u|%7'Kəx{qNs k76sץHAoMEL&;OL. (^fc~HmNd l~MM:p4QVxp,  ^Ǿj/ (Gp$_?h`Bo*/9BTj'7=8V <>H"|d3y&,أNFI ?:(;O.C U 8c{ͷDCjۼCP^ s%U/Gd#dII^bMDήzH zt"b f:(\ P̥zzkU;Nl~y{ݿ?cr.&;KHB~sk՟>*׷]NT)>ಾM~cΥ_v>( 0uM%9 `oyZ >-W1 ^9%UWVt~\/ թg%.v+S_"[B23q!<1)zj[#&нx N3IV@Ks@bYEsf.'G\$5irN%)i D̅*|6zLg$\N(KI-ؑښ6l5 6-(|HvF36bdHFqNA9O8KOdYaYgT%0tקe9y,SY f^+6kڽxecOo[V>}^#s흪=Џet_ vH# b,* ;zz觨xRȎ5x(yOeIJ ؙbK1\M HS 8.MBf4ic.ϙ^eh<_ԍ.p~%g+:+XH?P$$ҡrRb!Mj ٱ ]q4xk("Nq %@kB=q 으6l`$lIt3Dˇj˝(ܘaw$ց0z濩5QzK4"mro%|7*㛶1u#)5!I8*U9uH<:!{4-}Y^B@>x?>Z.TMK_Ȟ s(`"/'!pi B)R|C޻\g]v,Y}=åڍlomL2\/"zm{;bU@Ĕบ9jImcy`OiL`n8l?suMiub1#FbS :r"-J=Yst"_{|m(lp X!zP8?KJ}]\ˬL4дLTQ{;EEڧUQiYXgTb]ܶNŵС Wӊzf;?Ma׳٭I;eTE2:sےuD,g(1x/ZڻC¹8L23R$y<W֘n4fhesW!5O:ݶ|=X4cf%/i̞#i̹j@0k۠w}JH>gۣ7?g|:1h(Dy?> $~nc') ̏/7ڝ~&H% >XS_&"'ՎiSlǫ׀^i1M11%p?$hC)6,T"9aTyɍ͔8W5ЯF"#,]rCXo |$a'2"A[Kz>=b?DCk$sO#<֗7l!r7mOL?&G惚.tFXy oo߷eO!~0SU/:m%..9VaXƫ0?u='1a7--y'GYmP Nfwdj!]X^LZSsNosv4:{{E!ֿ(,K7/}Hf%Eaz>e!E UlW[yߒ5G ؙ < Cɗ.*~̸m 툋(jL\0 s`%GdkDPBi*U€NFl'OsG_@P+~繭 vT ^]ǓDvNѵF-ɼ]zt)Z.)zDD7݃kŬLaڋۋuo_FLD(+"Rݲ4&wlw Gbr,cKIb7ӓ>^\g#h0I^dKCe ^D: 81_M+a;<,Q?8/{WPt!ҴS!jJ.3WW2v.gX2D ˿NRژ<'LM?O$aakvzr ~"i @ cv?snQlwNo)([\Jˬ׷ [Uv)4TY]|{@o5Xy^ʠlG&%=溸0 1rG)m sɾ"tgNo$)VkcWVCxg,g]sþvT$RAS66BcF#gxaZ+e:=+a7:5O3o).3s n. gjXDFRbN p afTC]v@'-ϸܨ8=T,E<=~; lO"=2OD:yV['Km 4د@!OXUOQ2DdhJʉ(=oR5Ta&~3A;R|X܅1KʷAOdt/fblkS,Zdxbf ?waB )lD]k^3ulj]%kGֆ) ]~(L's@wwu~=Ŕc2[ÜaŇ)C4Z50g4E&J[nr5,<2?71}UU4}t 64 %"4PՀ|OTd %e @˺=)td?$C= qlhT,Q?+Y?އZZF+ >$dxp!=}O,\[\m34Z]EIuVR]^7dѮM!Ʃ Y-ɝ=v >Ohdi,Lܭ!8o@J.O-ʶ0߲|T>5DIWdgN7_s:,H'@xOZq z@i Z!zOْ1@G gYo̍$n GxèᜦhD곮c3Աھ{(Xlv E!!tmh@/s^u @ R}"d1TŁm8E W5~?D@&8XϸY)Լ/qzl}|OchuD\>N8 qRCDX~KUg]"o37K,鍀pzv99}5R|0DEItI!O TD[rZN%hhh`X<"Rfx#I~q@/h-g֛:t%]&YEފbޛI{+4WRBDz(=2 hYΝIk)uVtuyȇ}Yb ֯et2t+zCIt:G1}(^,gٞ_Aga&1dfDT:_r}N7%ةs߰ZQ/N3jvO6XP6(EgJG|pJ?;Y/s8  LIi96T)9rT8cODu:MJǁ5; _/rXßzPA?Պ SKPH@>Us.(~]/hA mlsd2;5U9`01aS` ; ;7W,!8Vk ZA+au[|Ws$ccEwNc|()L?}#"EDDDDd{:&+Se$hl]L^FKDaXw֦)p ;Ȋ oU89`l;]c암N-p2z+^XpGŇ(/Q﫾Ar;-κO^ 4B4gѹZ36J.OF0O{ ^=z0?qg{]8:[&P _W !K\߃D.vՍdMAq_x3r a;nL\G8q ݻr< Pxn+5܍ح}]t*>/#F#jCV "}_hlG74ڵ͢(gVCr.37zșn^d$6-î%eqEzpū}zs?Ay6Wws },ʝ F_ zuTaj',}%#(N߭Cc,.>IݔA#< ]jVA!! G4mݣWuW\/;5. zDVo=C ǽUަ5f{ي@@!4\)k}a 0xh .j;a]m6m Et3ר#lFumGriRUPe[['tjw |Usz{RRwvW:ͣ|d]KRٰoc'ʳEHWTI) ǘ]c v:>9.fV0UX CIhIj^?7ߛroJ#E)c>[Ceqyo5 u<EJSFkyqn>O(΋OSž*v>&*x?տ~J^ښ۪]kH6% T3A,TvA~}k{د{46~~[/߽/<ͷ>^0Hz`M R}!2<5Z* ^'DkJ*R@yѝ[)&A-L ֡#AOvŷEZ*S 6ekaOÓ !FP 0a7Tlh ~<ltF&[T0aLq/Xk)X²%_Kuk{fSGՒ(|Z:HP!b4u[+\.K\!Ip)0 *]`„uY4sm9!%z9 a0,a-/dJm4 HMA#T#>`A&,{}pHn~h{&B_Z(P@=_2vG{IUr+=e,\0(|?+;cB{Y j@f"oPd][gI$cAAABy,,IymU= GS+ݜnMXޤ^A=40gcg9a W`߄AP|ekC"#Z#V"%072oB?5m!UW+T{bJ]al Y xx64Ozn ~vE@U 0 낵z nOz͞E= !mu n W :(y9fEv, Jڔm b{w9Z/v/x>x!=!JlCzT-WT%-/dv{]A[^ft2(w?5}:O:a:d`> !Lx{x+Cٻ9_tɬ'-RZwmFNӋɎ$EV*1]D3i)]lh 4MڝY?m*9k u|5Ro 49hǶWs[2u)ZEmRBa*wWl ?8-q-Ũg6ݏZLb,4c߻\zn^R7ԻCw_cWQiUERm%ỔŠ4Q". 7 DzD7>!r j\b @{;khi ABpzpO NYS}ӕ#N%0j!{K\`XB$nrRAgϙaG*sFꕽU(qnqrQCiUєL ]lx<W 巎ڶQl˦Hb f"G)~A WT.)i/Zc!Vh5S".%)֮"W*/мp/;r%Rn![-,l1F2a ںA%3B;lGG#.q0ae[ƤaІ%쑽ly42"YLs,0>_LC( ݣL␪ F@X%F͈n;RZ5-oMe?\f/U۪)sОu$ͼE6tƦ<@S"#l5~b ZڪSqQ= TTsnynh6hT8he.{)ߘ p5F-=jƹ:jA7Bsfv(\I甠{)C v3B!hU%߭ZQxrW fqUm1}x1NɑCDL[8PnUl-(i5 O!:sxBlgҗ9271qEҮ.c tYf͚5k֬|uӔ1 nUF& MRRun賘&~H!+kJݽ*PR{7(Ͳ۝]> 9[e" ̛߲]/|C; H:1JϕV=xd䙴KFJNݟVWJ=H!‘Z!+AnPm} X0w\p {:m^hݫZ(;U,q+@P/(E(E͛J ঽhn[PiI΅ V¬4(8?WЬijtnsUPyJ<;wX`8.:y hW"]VTG&ڦ WJ<ͦsbVQmL;]V5t5^%;WTm6~}enMGxa#⚝["R_@3Y3E8_SU.&}Ĝn, "o, (%sSXSnMk ~)WJ<ͦs뭂SmL;EnU_1b`"=&]V#ZKjxU2}&fʓ>cߣ=+Xo54֗<՝g8%1 /U^s~#ol17G?8{w {߽ CC_6Ԓfyֺh,IYa&>g/F@ KuDo1'pA@~jE Ǚp 5q$}6s[lxMzF? @FWL婔1Qtʶj]4{PK15cxi &CyQW*xӑ(|[%¸vScu$cY$2?0ז?dacq";\\&#*fq=&tz@m+A4Of=Ö$GQ xkVmd5(sh[R krC6EYދgOR)q`lI,Nqk̨Ũw,^`Ay.sdͬ4ݮ8sG&tW#΀ٽ[7DԨĬސί&yU9kaܜ14$VsCFZ-q^D$x7-:I[m1BkZkX,c*-EeIx˻Iλ$,XQ.%ḸJ0TkQ3]KSi"I/w:Tr&\".=++~Au6Z }KT_&p4F/;|3 r64n*|lmGFxAP`TW,ס?c{}҆=v| IQ<|z*mL6cy2>_-E:v}zssA>A M-d˩KK9/zq!iV$4r^Ӣ2X(LS6 g~x_>/c2XU͒c7T{^o2Gϊpjfl>!uߦ=nfe=6ҾuQd ;ݸE b 'r16 Q_<5>[^YR{:?lXAPLɿP@%=&Ec{ Z9@ 'ۡPLVnF)S~ nQE:ڸ)<_ 5C]/)?`wM{͌́js:m~&pC>pJ\NB?@fk6* $/u {-zÆ? t 1sH¥$iJ􏮵^<&!<.h$Y,-Ļ#EsV6ȋS(R D%IUG S>+il w)4detI{$@@EXhFzQ:uf'kޜsߔ-AtW+fKH~<$L$i)CzaQIڤU^+:GMaj"d\U-)VލLdH߯1N,5zH.arejiSA$LO.쓫>Yn[ RP]{N(EЕx+yKx{ՀO- |#S?'ޝ16uSHStpurN[(J,]8`g&LQ eP8 ܣ&\poSB=BB@B>g쀀/)@0P85S?uj &mTۦ,,dk/EA;Z_fݾXدʣ,g~xִG u0,:ПߛrnZaeﶥVz㢗ԐhH֗#2UrZ}8wCgj:l|6 XL~e-}X@bI9Lz y0>Ex 8l@|e$dVN[\!!nR;RF|qj%,#fuZrq^M{֦Ex5]b_+6uϒUߌw d'b%w*,e?@v.7BύBmLJ< QX?@<^K"cxR%HR }ɖ o۫}c`gG,iS {snayއYdVl@G&SB˥n\g^B)`olךY$TvMK= DN 1y1 ,Njn1l{%rD]s\:Ȇ#` ddn)1MC$l| t)S¥GV&z28gTFցEXV' UA&RB2W*d >$G0&zX5wZվY2DlLG_ ߮7XyjUZXGgeGzJ"[r%+Gԋҍahnb·0 # {pjJ:~؇\0qW'|ϱG6хSB/͐9Da=*fD1)Mg4י@1.1dEq8:lɥ!ߨ=Lj=".GQ8 ɪ3xw&"T >.A5 }=}5muK@!ϩ ;c*-.]׹'&V:P5qud%6v_Ǝđ1p;hjyHd=u 1Xq)znuhGr|8 x}%ʏyQ5lƹyKQnꮲ5m }Ux{O0I1L:N]ek1}ߍ-ʰ0r (zI 夫DբDn3i Y}Ҧ_pPzW$}uf⢆hAQ$]F;`i[Jr{9;8 %gaoTfMMcإhXMJ]h찓b+ W LS"Y4JJw-j&XW&ÓҪV ~lb }ņa$ 7CܟF:m ?ó|Clm@ &oF}p^ 2ِ`67n-^cWjTԅ Ų,J"Y";dm[ujLm,Gw5$tt 5)1s Ѫz[ 9h԰ƅH8Y *֭W`]/ O~o(8R`bA[<w fh]-L Dm8aM Y5 kxFt+fM pKuEgnh#]JT_&&bӑr@ ywPLLtIuT&G][;"+$AΓV鴭z2S^$bb)D q.Ȧn =w6?]}PvH$x(j}נ ȏh1@Ynf, />u\U.v'bܒfp2ڨXfֆTצQL1c1 * aR9 2KuWDduj>Uu1PAcY_|!RB+#EJpQ{q53yn&Qi޸Y;Rmқ6;fM^C|"20#RDlaʏp j< }(DZ:ѵbEyR(k!`'7w]/7I:hC7CtZ)(Ui: 4J8'VkT-ֳ:Mؑ 7iI Ф !TXy;gت6Tc 4 &ĺ ձi? Ԙٔ:u4a@I8fajHw!lZu2C#[q葜_ũi]ȕ 潆*s|)1j\A6MFxY<0$! U[PV)5 Jb֒dX)S5k6,}%tp&4pIQ޼˔6eRMM%[ 5xl`KS,; v¨Sh񔘶ڔ0e«Kod1k¬x,@"K6 JaxB`n=\QP8K3 q1#&iPDHS+J8bƵ|[NAIޙ 3?Qs翱.5ADAa0+~pZHp2F(P`#{tTzFT\LcJc\ $("WP5By`1  "hĄ*SL>=|g0 lȕ#S4]eyL Rdlv5R?M1BXP Q-;og_]ĘlW÷iǚOq[72TR\ 2j,eVQ(#U-/q3Ւtov0@|#cg03 g2hGޅ&orʋ ,/ z\}GJ72y̩+b5L1㚇Puj5_ ?:SH衏aBRicَAIEYM8˺yOU7ovBRic]' JjaZz~FqfyQVuv0Nnq^wP@TTkFt{} Gt6_,W N'˰/n #($E3, $+e;a'i\qv0N,yR(JT UFuTO HML]z&L1gycœ6.o|>|'ǟHO'vE)J q$[H!Sl9r'SPb%J)WR(bĊ/@$%K*M: ` @eCȁ+Op+QEDծTڹ)mPB8Wh],qՇO@HDLBJFNAIELHTӈ6c6DHT!(c3$&3Lc:3ӦC} 1f”s,!YAf {p9!!qF•wLX;A<5 gs]ri5=#=g KƹiݿUE&Rh1bʼn QH*M: ` @eCȁ+OkxeJ)WRj5juaC5jҌU6h:tҍMd' $ȳ)(rIY(L[Iv)iE9#LRfM#Ngc Fք׍ړn{ksAvQvBT 7Ϸ{?DB 8 *LDiC}.l9>n%:=*rl!A2[hU|,P4@2ebP :iEP8*T뙪O(DDBNj:^K|6hDtcaKoM#DB|J*B!LL3 F6j~-jqKZJDPBHBP&tB/ HԹN7#3*3ٕs^ΗTf2,ɲȪ:Y/dlI !yK:s&W^vo0ur{@H DBlgQI7RhuzdXmvWP'(jֆU@ uyG H DBLB  EҐ`qxįTd9\_ %R\ :FbY9]xoe}d4-Xmvӕ0 lߚ(Nҡ_ae!PD1^X@$)Td9\_ %R\T5Z`4-VV٩6ĝ/*+Zl;| IckmF D|vIfXDIVTM7Lv\B Q uq{A15ULUݴ]?Ӽ~ScQE@2TZאP4aBRicَ&;_*_r7KY›;[G`ph|YDIVTM7Lv\(N,/ʪnڮ(ZU Jejڝn?ƓLٰZo`Ũ@t;#B3s=?'#($E3*ռP%YQ50-q}֤q~`5mڥFkh~ (Ɋe;dFP 'HfXX "D*+*F&j;.!PD1^X@$)Td9\_ %R\T5Z`4-Vt@ H DBLB  $ "L &H, J}vw<=5DM૷w[:پwvSg.:}Ric]^uȭZ\a뷂(5# 6=%hTZ9bKO(r){`!Y){t*Ay[rQ #D_Xcn1`kfCٍK`&Mm& D|#9JR4;&>8;X־&߄<d<<~&ap֎9%csф+w3ߤ($--h#! jJdNehdVïJ'%e3G==z#zPV&4KW-gIhvfEQcD.~u,hWhd7^"W.Z{RXrb1c8;uxE $lu,ht1C<-jxQ!:rF& O`Gv:[OHVtFtrf  #kc" !$I$I5K¹ּ: lSKzv䉎c<%u9z2FV[ !A1qJ8-V #(>'Vrk-FBxmv;ňQcčU5ҋ1>QI(Mx%!~X\Jp'TPѺRO2XT)k "E7>q+ ft:b1T59 U*o Z]zϮ Rf|h)÷8m0T A!{+Qiƿ?zcݲmNuxƘO>>;?N 澫4UԷ,IZ'7,?~1`mjȾWQVRXDT0VRvŽw$d($pʕC - ㍝K&v%HEYhOkNA,'ʸv\A Ǥ2.f[N9@0 . „2.ƺ:+qq@wTŢcs/Jr .`B%\Z60h*Ͽ9~?rsL>g?~.< #'j^umφ'Ji`0OuaFԠZ]У&q!U 8YTK@43c ݗFÔ 9$wx)QGՄg~=9m SFڨ-ۤm$/ Nͻy,q㥕tzp4^" ad1P3V1*0]3!Fen맵^{)}'mB*m˫0 ._DPƗR"L(w}eC!6{`(d*P8W ) aBRic]^)@ e\Hr+`P>0y=,%^ j_΢IRjyO.8ϧBXDK/ S6'xU0"եd7^ bZ)`bgg_q@.ib9dyU| U" Z9˺hT IEMI+&Y}%sj/\|p RcLp2"s/ziL$ x ~Uξ(Cdo^H~G9黢GK^Iښ8oUԾz%tb;xtB1S"b+.ZMOJ@Pt%(HO{gZ=zkNz Ap]d%)% k@fE`v\2qgB'w{]C\#?ǟ'Ͽ3Xv̭peC V *B\yd-漧79zxotKōܻVﲓ$wH^p_@-BhxqD@!aN  >\HQ!MU䵵":f՘'i<CS٧ :$YrnTN *4Nx E D|M' 0a9sDZ8#>GHl+[(\DCW><319W*me=ʸJ۱JJaBRic]^aBRic]^9@6>E2.u[Bf\g-o5&q!6DPƅTXWaBRic]^=jkowyJ=GLvy5nCg̫1t1 ηDWK'ɕDP&^yӶ++*"L(-}kYvOn"L(B*me@Qc߼wѪw+0kT wK1^GC'OTTO PCFF +)vIDSIGW GPOSU@1zGSUBC8tѼLINO2,ZOS/2!J@`cmapK,headږ6hhea[$hmtxtej!(maxp+P8namedspost2) O( _<>>Ŏ3 3;+P+ XK2 P JLINO@   V"'@g~X #m o    / 2 9  k D y .  N  .   9 * F ] .; .; $iCopyright (c) 2004 Linotype Library GmbH, www.linotype.com. All rights reserved. This software may not be reproduced, used, displayed, modified, disclosed or transferred without the express written approval of Linotype Library GmbH. Avenir is a trademark of Heidelberger Druckmaschinen AG, exclusively licensed through Linotype Library GmbH, and may be registered in certain jurisdictions. This typeface is original artwork of Adrian Frutiger and Akira Kobayashi. The design may be protected in certain jurisdictions.Avenir Next LT ProRegular1.100;LINO;AvenirNextLTPro-RegularVersion 1.100;PS 001.001;hotconv 1.0.38AvenirNextLTPro-RegularAvenir is a trademark of Heidelberger Druckmaschinen AG which may be registered in certain jurisdictions, exclusively licensed through Linotype Library GmbH, a wholly owned subsidiary of Heidelberger Druckmaschinen AG.Linotype Library GmbHAdrian Frutiger and Akira KobayashiNOTIFICATION OF LICENSE AGREEMENT This typeface is the property of Heidelberger Druckmaschinen AG and its use by you is covered under the terms of a license agreement respectively font software license agreement. We are fully authorized and empowered to use and commercially exploit these intellectual property rights in their business of licensing, manufacturing and selling typefaces. You have obtained this typeface software either directly from Linotype Library GmbH or together with software distributed by one of Linotype Librarys licensees. This software is a valuable asset of the Linotype Library GmbH. Unless you have entered into a specific license agreement granting you additional rights, your use of this software is limited to your workstation(s) for your own publishing use. You may not copy or distribute this software. If you have any question concerning your rights you should review the license agreement you received with the software or contact Linotype Library GmbH for a copy of the license agreement. Linotype Library can be contacted at: Tel.: +49(6172) 484-401 or http://www.linotype.com http://www.linotype.comAvenirNext LT Pro RegularCopyright (c) 2004 Linotype Library GmbH, www.linotype.com. All rights reserved. This software may not be reproduced, used, displayed, modified, disclosed or transferred without the express written approval of Linotype Library GmbH. Avenir is a trademark of Heidelberger Druckmaschinen AG, exclusively licensed through Linotype Library GmbH, and may be registered in certain jurisdictions. This typeface is original artwork of Adrian Frutiger and Akira Kobayashi. The design may be protected in certain jurisdictions.AvenirNext LT Pro RegularRegular1.100;LINO;AvenirNextLTPro-RegularAvenirNextLTPro-RegularVersion 1.100;PS 001.001;hotconv 1.0.38Avenir is a trademark of Heidelberger Druckmaschinen AG which may be registered in certain jurisdictions, exclusively licensed through Linotype Library GmbH, a wholly owned subsidiary of Heidelberger Druckmaschinen AG.Linotype Library GmbHAdrian Frutiger and Akira KobayashiNOTIFICATION OF LICENSE AGREEMENT This typeface is the property of Heidelberger Druckmaschinen AG and its use by you is covered under the terms of a license agreement respectively font software license agreement. We are fully authorized and empowered to use and commercially exploit these intellectual property rights in their business of licensing, manufacturing and selling typefaces. You have obtained this typeface software either directly from Linotype Library GmbH or together with software distributed by one of Linotype Library s licensees. This software is a valuable asset of the Linotype Library GmbH. Unless you have entered into a specific license agreement granting you additional rights, your use of this software is limited to your workstation(s) for your own publishing use. You may not copy or distribute this software. If you have any question concerning your rights you should review the license agreement you received with the software or contact Linotype Library GmbH for a copy of the license agreement. Linotype Library can be contacted at: Tel.: +49(6172) 484-401 or http://www.linotype.com http://www.linotype.comAvenir Next LT Pro )))g  !"#$%&'()*+,-./0123456789:;<=>?{ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^m$1tb?7o`aesr|cr:z_ld3siwxcnhv@ %bjklmpqtuyOdBL  CJ}~f@& &'_`~+7I~    " & 0 : D !!"!&!.""""""""+"H"`"e% !'(`a.9L    & 0 9 D !!"!&!.""""""""+"H"`"d%*n @KMH&RI1&8ߡepmޥh=VkR`rfceilP|rqw~zcdOmL$BC  1J^tb?7;/*h.pa#[Y|MF UVo ]8`}DzyQR=\4q-) %'&"}~n@thvuops(Hnd,#D4A&1*, ,FN-@0LrD:DrD3D1D*D8D<DND?D>,`,:NNN0 # |^8^P^2^ 8^^t^^v^^R8D^K8W^42: ZoZ<,:r,PP*7}\8}8<8' x8G\M\\sVEVc8{Z{8hV&=EV,Q,2YHnDXDKd3D DDS\d*4;;;E  ,),2LX0I***=q.;HX h( R8Ghf8[ c08UXeZREVc8<RRc88c8Zc8<REVc8 @EV<Rc8HEEV8Gr+\8E(Z,H(8\hV2HZ.B=8N c8EVEV<R(G&<RM85|%u|%Z8Zh8Z83 EVZ(R<RZrEH'/ZgZ8Z8=(& x8EVEV: <7R8R8MeZEVEV<RP85c8I<+,HW^^N78 Q_ZP^Z<NEV Zd3Z<8 5R8I:GZ Z EV&ZeZ([P^R842(8\gZ ZZHP^#\5 @0G: ZR8R8gZZ\G\EVW^D^42 87  1 ;P^ZeZN8HW^ 8Z7*eZ;: &^&HE42<3 H)R87/P^DP^S&5N8Z77/8P^i842Z: ^^8ZZd9,<R 8^^<8ZZ8>LZ&<8 ^E^Hc08R8<8(2x8<RZZXHdP^.2hB@<eZ ^D r'ZdZZ428<R7<R}8^>Z7EZVt^^8y\Q/8P^<8i8 ^Z\,ZZ<8 /8<8[<8Z8=Z0^h+/8<8=8x8ZCZ/83 (8 dZ/8Zx8` i8i8i82AvenirNextLTPro-Regular0aa bcacEN `kI *4;CJZdqx|#(/9BKQYelsz#.7?ES^blnu{ $+7FQZ_hp| #*07@HSX\kvz #/7BHNW_eov $*4;AHU]gn{ )2;DR\`dnsz!'39CNW[_glu~    & , : A E Q Z c m |     & 2 8 > K Q Z ^ k o {  ydieresis.scn.scgreaterequaluhungarumlautumacron.scradicalnotequalomacronohungarumlaut.sciogonek.scohungarumlautuniF8FFp.scmacron.scugrave.scjcircumflexoe.scncaronudieresis.scgrave.schungarumlaut.caputildeotilde.scproductimacron.sclacuteocircumflex.scnapostropheperthousand.scnapostrophe.scij.scuni03BCpercent.scobreve.scsummationracutetwo.onumlcommaaccentimacronnine.scuni021Boacute.scidotaccent.scncommaaccentnacuteucircumflex.scmacron.caposlash.sciogonekyacute.schbaruhungarumlaut.scijomacron.scz.scquestiondown.scidieresis.scone.scquestion.scwcircumflexiacute.scthree.scUbreveordfeminine.scCcircumflexl.scCdotaccentpiumacronUtildescommaaccent.sclessequaluni00A0uring.scWcircumflexi.scuni03A9hcircumflex.scograve.scycircumflex.sco.sctbaritildescircumflex.scj.scscommaaccentigrave.scaring.scgdotaccentring.scTcommaaccenthungarumlaut.scsterling.scnacute.scuringubreve.scseven.scodieresis.sczcaron.scobrevenine.onumuni02C9germandbls.scRacuteaacute.scDcaronabreveq.scAogoneklozengeexclamdown.sczdotaccentjcircumflex.sczacuteZacuteuogonekDcroatlacute.scuni2215UogonekecaronAmacronzacute.scsix.onumapproxequalUringk.sctcommaaccent.scscircumflexr.scintegrallslash.scUmacronscaron.scicircumflex.scitilde.scs.scldothbar.scy.sckcommaaccent.scafii61289lcaronzdotaccent.scuni00ADtcaronTbarexclam.sca.scOmacronObreveh.scm.sckcommaaccenttilde.schcircumflexubreveRcarongrave.capScedillaGbreveseven.onumtbar.scacute.capEmacronwcircumflex.scebreve.scncommaaccent.scthree.onumRcommaaccentGcircumflexUhungarumlautpartialdiffDeltaone.onumntilde.scw.scacute.scTcaronCRLcaronscedillaImacronSacuteZdotaccentfour.scAbreveEuro.scdotaccent.capinfinityaogonek.scuni0394OhungarumlautOmegaEbrevefive.onumIdotaccentflorin.scatilde.scdollar.scGcommaaccentaogonekccedilla.scEdotaccentgbreve.scScircumflexYcircumflexuni021ANcaronCcaronlcaron.scracute.scdcroat.scfour.onumtilde.caputilde.scacircumflex.scGdotaccentLdotHbaredotaccentfi.scldot.scCacutezero.scuni2219b.scsacutecaron.capebreveLacutetwo.scHcircumflexdotaccent.sccdotaccentyen.sceogonekscedilla.sccent.scgcircumflexuogonek.scemacron.scrcaron.sceth.scEcaronampersand.scrcaroneight.onumJcircumflexncaron.scx.scEurobreve.scfl.scdcaron.scagrave.scrcommaaccent.scScommaaccentccaronIogoneku.scamacronuacute.scdcroatIJzero.onumeacute.scdotlessjeight.scdieresis.scedieresis.sccaron.altKcommaaccentamacron.scNcommaaccentItildeccircumflex.scEogonekg.scLcommaaccentecaron.scestimatedeogonek.sclcommaaccent.scae.scccaron.scv.scthorn.scring.capemacrone.scabreve.scadieresis.scccircumflexfive.scecircumflex.sccircumflex.capcommaaccentycircumflexNacutercommaaccentcacute.scbreve.captcommaaccentdcarongbreveedotaccent.scsix.scegrave.scc.sccircumflex.sct.scdieresis.capsacute.sccaron.sccacuted.sccdotaccent.scf.scgcommaaccentcommaaccent.alttcaron.scgdotaccent.scgcommaaccent.scgcircumflex.sc.nullCopyright (c) 2004 Linotype Library GmbH, www.linotype.com. All rights reserved. This software may not be reproduced, used, displayed, modified, disclosed or transferred without the express written approval of Linotype Library GmbH. Avenir is a trademark of Heidelberger Druckmaschinen AG, exclusively licensed through Linotype Library GmbH, and may be registered in certain jurisdictions. This typeface is original artwork of Adrian Frutiger. The design may be protected in certain jurisdictions.Avenir Next LT Pro RegularAvenir Next LT Pro(ju?PY"Rn'Zk{j~<bl *`dsw4:>AEMTXkw{+@IOUio       ! , 9 = A F K W _ d h t qrvmmvrqTqrvmmvrqۑJ3u>'$f"ШXaqUdE+B )\ Ǣ`r~rmwts kRM4._"*lvv|HKPnXY^tS\Xp7BOZäwm rota:&;Inee^ܷc:Gh Y__8ZǼސ#E?i?'&jE!"$ o 8oI$]$\  mFJ69b,2s~vwZNWvQTXsUcLoW>hpd EQC)nG> ϱ m_G7N 9͜QN )yl^W< ɿti a [ m I)P IGeUq u\jVsO< Ŀpgöe=AN 5дij :NNXEX f x8+x[ srsOtWW47 ukkuqooq jҜ )ח7$((>>))>OIVZLLVZI > ~ 3D LV 1n C "p ov`wa\TQ7vw q ٠v o  8oI$`y H \Eq   l x   jttRt $ \ e e i  FFeX? ArA<Ar &+&HEkN :vJ Dw zޭ RxIm̷޽pa yyx P V {@ w V C fkf_YXi v * & $^ g:GCWP R L G X 1   $ t y - s %$f"% V ?eX ' w $ X) wV I  V ɐ hNnh  MR        %(/5:= HKOPQXjmqstz +$DGJ}3zi`-RTc .3?v # * 7 @ L t  % K ^ f {    & C H P  ! + @ h ~ ' ; [] Qix%@kv"E (<DUaiq| U)2ZA<GZo1CEy Rg}+Gg{@]_V)8Ldv:m} ^ v !!!!!!!!"""a"m"""""## ##r#t#######$9$T$l$$$$$$$% %(%4%B%S%_%k%|%%%%&&&?&S&e&|&&&'''"'1'^''((L(j(}(((((()#)%);)=))))* *j**+++]+|+++,,&,:,J,Y,s,,,,,,,-!-4------. .3.N.X.j......//+/a/p//0010H0v0000011*1}112222222223333,33333454M445J5555556.6;6Q667F7c7}778&8J88888889#959K9_9a99999: :F:\:p::::;J;X;g;v;;;<<<2<<<==t===>>[>j>~>>???@)@C@J@@AANA]AqAAAAAAB BB%B;B|BBBC C1CCCCCCDDoDDDEE>EMEXEZEmE}EFFF.FpF|FFFGGGG3GEGbGGGGHHHH'H7HFHVHHHII'I/I:IsI}IIIIJ=JCJkJyJJJJJJJJ9w1\$b>mmO%Oxvj6hwzjmjj,61 Ou6Oru6*AY¾Ѝs\G(ChP[a?gRcN`C%&u_µ^?K[C#2F\olvǫzǃw||_e_wGTpv/Տc':)@9>ڲ>-*:H׸HXb 3Z/, Wj7M8@@8j? S,/3^^/S,? j8@@M87Wj ,/ TV O# vS!^1 g1 !v ^OuuOuuuuu Kb sυb VRixjFUQLLOFDOLLSQDN?p h<j (5B'w}ԚV9JaV`_@Yy.Wjf ,@R:COsGr.WM:ў+5Eg?_kU<-Ag0lv?ܝHV -gE??#Ey_oV J"+EC+MSrJn=X *kgmoyw$V 8UhRnMB0.g_{vFVF0/JE..Jv8V 8Ky^^ ʠ//ABIv>tRD,; R>s2S?AQVCCQrL65MJ..MvJUĨ**02V0NF**NE/`89 b`89 AHv]A]A]Z,O*OvA]A]O.T+ԟù4 $>K$wϕ`@Wrkjporbgdc?O$buy ]40}̝WXIi%/J|̱ٷIG7d N QFK; .A&^zr!=vDXhyy iV 1kl5Ui<  ?0pp6 6+ yŞiRw0D06 6U+ӝ`SSyE[@mD 3 |%8 rj 6Pk{cGx/u @V . rj oxs9FF4Av4\5 B0ǃvâԿbEF-l[ZFItͧFLRXl-FEpbWyv||vWpbEF-XlRLFͧtIFZ[ľl-FEbǏv|pmyj`]kkdpbkfJbXamc}qm̷\yC$ouqkkuqoC E5<ϝ wmcRQ5X.+O%OH<gv=wsU9==999#t5TU2v%U9"PN7qhi'f@9|p$ ULX|TMwy|pT}ә w`ZWn wR2.3YFjyOx_\IAhrNwo[=Fw\TTuIk=fr]Լ\S4Y[÷ɭim,nuqOWcnjIFdȿ Da }||mmmllmaTLKTvi`mkm}}|||}llmkayVMJTb++}||hylkklklxka7$#D6Dm`mO m.64vDDvD6ODv6OLDv lv/U8XQ { GH Dl bX8a  DCjRxP```O```xTTWOWWOWTTWWWWb"V  3?#9N@E)<<))<<) Hb P cH7b XcH7b .6v DDv D=uupq9 3b=rv\wZZZpF<F0(FD@T.9jBwuS]Xabf5LGG[ZDFSֿEq$oqukkuqo S6 SX$ gn4`o\ xa`#`1| ": wpsX> &<{   p) ~:0`M)+  NX4 S':[7ȯg$n`Xo  `8oI$jR3 XaXZZ5Yk<и%("6Ju~|~d7\_{qnhwb[|[khUnmԑJw> 9EExlNlNU^ Hf?:K:0Y %2J?9iXmg21khN\WUA?9#L=MZh^s9$Lr`5OV EW W E jKJi$$&&$ik<`PK33KN45MQVkZMMkɫ[U?RێK2IUi8\S+PW ZB AIdPftRA;Bmec_ܲR:|57'fأHąZarXdH0EjIנv2I:9B:7Vn^` C7]dmnu}q kIG`UM%$"!KS`IGlkw&!sg7R]t4D_EbaB,շѵE_ШXaqUdE+@>(z"E8E7"ίۑJ3kvv#{0ѡ `;4Od:OPEH!}v~]R&"E&>٧0&9^ # vї=H9 | xI< (&Baa3433`33233334`23ơQJ818/J%Ph 0GX4 $ " Z6 'L: 9j|LQ(2'[Y8\   w N. W>'OGIO)M p$ " b8: e ,! k4 ٙRvǒL}~wyptИE7$ " ,n4 93vlVglA9MԾpGIYjA4 | @: x" 1 #1$'|6 xf -1 #1 " 1 ~$gp}A K)o\ ^Z zJ7)"43 )%8*߯g$f -kjvϗ H р |'%E  s " n)o\ fvvww?|O \X{W{pw uS6 $N 4 h xf \8+\[#1eӅ,! 1 #1hJj||>J>aOj @ @: נv$K<$ e ,! 8k"Mf -^- !r 2-F P??PP@@PS^fjaafi_F /]@Ⱥp؋:vM.l\p< A- lv^px NE r -F P??PP@@PS^fjaafi_b/]_Ⱥpe^ ÷! %k> &jcvGjmNGNSMTTkv5$5 m$ L8nX͸? 6B`Adgƨٺ`I4;T08QJ="do%V U1.0T $# "2$ XvK^- jI": 0vckf%#yB$%CD%'L蛠,Oc\ILbɵȸ^LX6X\- e ,! Nk$ j7l { @· /= ) $ " on$ Xj f -S- $f -$ $'"z ESw,q_kGEذ[NF4 9CL[=;lbu5 7? <*S]he[V, yos~ٙRvNJ9G:hGh7r&  vuZ=v$ t f YG G22G$'4 >_v9:9I{ A S& e^ ,! F5: >AWѫ97cs[fXdxhSELڛIQ~hwcVlGsorvkkvrojtєl K9 0v\MZNW/oGV)4U\<{Řcfjyoror]b~lch_ ?Hv$gJte k )lot\ j$@ v$ 0XɃv]REqEKXgV\fuIr;e`QB4GXnKgkiWP^pMhT ӹ# 2> &kIR~"%yʱ, v".4 j IO6 %y^ , wr& nv-p~}|gPx--pNSh 0": T x# 1 #1X  $Ar- ơ7/71QJPѱ 'H) !=vw$D\lyy "j@ av:w?|X  ɾw[v`n``)n` $xUv`Zdsbdk~v` u`ET;T $# 2"v$] uuEc" g$BpSe ,! o6 i$<  $ vuZ=v"e^ ,! hY%$uyuxbnG*R*j gϝ o\ jxI+#1t$ ܊ $M"CNXa *I&- @x</= 1 #1j$@ Q6 d ? ( ^z) m % w,& h gf l8+l[&o\ p<) h 0-6 XvH^- $?((D $/ n$ uNv4 U "U 4$ 0IJ& ௴ţqld]$KGMLQIFLOI S $ h ϳ 8+[_) h 0X$ р'> &0vg,\Kjg hoe^ Œ ! . >$Af(w " Bn> &#)'-.Y)$(?c$ &7^ "&е311 37 4 * <1 > RJ>':XEX NN70 h'?L==vC3F E x_ BBx& C$N"J 2 $ i0Ӗ< I  $Bo$ $?#$  1svPǠ:G+[7B .$4 7$ g+*wXyhlja\Xix}~wypt5#PCHZ$$ZHCP 8hg$!B`o  8oI$@</= : >$AD$ U^ & & L zwh/U\zklR$ $/{6E-+IF-,JǘDZƙҸ&`aug[e[YZY_:iFEyڰђ>_aug\eZZYY_:kDFyۯѓT · # ) Wvvl Х rXviZ^- h  ~R8+j[qrvmmvrqTqrvmmvrq$g *F)o\ =v?4ki&m*tcm!S/v|$gziy|}yj}C~?c4|$\5($ .ʐ U r9HE} ~%T # : t$ ܊ $(j IX$ j$@ v"jl /1 #1J ӎ 2  U .6 $' (t ؊ $v. ,^& vڳ] !Eu< vZ=WXvvl ؤ r6- T $# 6 @}23srpmlpib*]KCRK57f5aԺ@@c/A5r۩iXJ 2 *P6 vMKRX- >\A$csssswoow؀@$</= X$"s6- vYD::K&3F\E _ d ( U^  .: U^ ) O> &v] uuE)vSߐ (\\x SGSGSS42rJXW=- aP1 #P1t $R :"h wς~z8+v[hX> &$0 (vB/wB /Coe47N`$S6 ~HǾiD,#Qbnor(07]BARlM]IiۇX:+ "'<@ܵμo`l^ '* %> &D $g3 {%8 Sn)o\ @$</= 6 @$</= $$ Pf9je9J=/"A?x= kvϸK A2M? $S $ J 2 : S:v$fpc zc"I Z2]7> &X:vJ I<ܢ *'- ,OVn%~^ *BZ=k:J$99$K\]ǷZ(#Y ]*UxW9+ Һ[>\Yd * {~~NVZ$hpd /vww?H{)} E {G>Tw? : $' $ ?^\& 0MNp]nN|p@I1/@`/= $> &0ҿ)[ed` 4@ r`xWu}ygxW2,pqgggEV4N`jĸy<& :GPR6 &S>P U\e\"AOhjpL,5'rpvZJ 2 R"w6 & 05̿)P5ujnU^jFy"6WfNp}u|vrW~ҵd 9( ~51 #10;ٺjg[qX`\mψNߎZ&Awnf_V\Q;L_56fu~{j[Whl\\[m ]T9 bwzӔ K dXy|* /- T Ӻ # & b1tv~LǛj:a:&;Inee^ܷc:|?3~$#eֿɶ rot 7#9h8 D ևѷ @3 @%@8 4) {~bv~uu\jVsO< Ŀpgöe=AE+"{T3+ ϳJ 2 _&  ^ Ƿ{,b> &$' #"i$< "XvH^- M K(h WdgQ31 [#W1%yʱ, (.M4 [h- =v?$4pL$ CFo?lJFFxa`1 #`1Dž' 1 #1d $$( &"l^ $* 2& J|w:Xg&  YdXC22C(P !B$& +v<*Ypn.c 4 B& %yʱ, $ 0Dda _ Nܢ )(t:9u bPJȆvQa]?^L5;GMѻvQOZsR(NݸpKCFxJ,w$? O6 $ *$ $n (Pw! `> &@` /= Jw$? $ 052=;E04MW4y}ƘkT`vgeeedG w$i \" `<:sssswoow`~w ~:""G:Gtc%VmhhPfwrkSgU@?[_QK$ 27)@V . 7& 0;WͿgp;W p <@ff=>"W IUx 0:1 #11` < ĕXaqUdE+B>'$"! #]ۑJ3w$?  "~}ǔ kRM4._"*lvv|HKPnXY^tS\\rdžT4+ ޓվ7BOZäwm0C m$g% ph)o\ 1ѽ2 E?i?'&jE#%I 2: =v?$4L(@Բʮӯ(%%&5!"54!!5 F\[1ԵolmqCJ 2 (zqvv]~>H ǩV;=Q[@_g_Gf]]B+S ĺvI grlMml|tdaodtURcȪkv5߯g$5 S{Z[SV5ѣ11AAMr9tSD1=xmV@CRQA?U.i4LL0/ML48y+w$L"S (6vvj\4BS'w'wT=8]w$?  $ yTV eST%-7fRwT{ouyr~ZwT5śnoc_W0v{ wa&[xxUZdsbdk~` psv> &׋E<+Yq $P 7(d $$( $6 =Xv?4(- 4 5& Xx' (- @V߯g$. SϙRq ǖL:XCX7'D / 8: $')$ rj 当Y0Kcg ѫƳ|<ýSGM3ysq ,:xL~B/: 85 :8 58 8>;-< . I $ 27$ p}A D x3 w%8 o1 #10X˃vYX?X!F76FQ3V`ySugZI*PfSĶǵcRRcaMMb֜iWXcl^]c 9 I \ 2\ MoX- XW rG- d H( ~: QX7vw dQ?*- @~hvEē^t#cDL+("!(|T3+ ٍªXgpbrPFqgwx؁ .1 #1!!#HHkNcIxӍNm?"G:G:"C7O .5 "=vǨ':KX7 !A`$ ^ ,B JXw? I- I $ 27(a16#.1& /.1ɳh7YOg8Q[dI%üwc%?=Z P':J77.X4 - P !# `ȴ7L7#m#;*G .V (g!E`)o\ =Evu`\>cc>6Lr7v?jM+E;pTPcm44p) P !6*: I 2d 0 ( e> &d D ( bw @ s . 7)o\ 0w7\ν^EI^]Hd_}KoK_Gxvy kI $ 27"$n "XI^- 4|$g\5)o\ M N$ kXv55 .-  .@ $  !~6 ps > &X6X\- rj Mo| &I 2,sssswoow0kf]#ym]y[[$FC.{vxP,dzʴ\OMa]MN^I $ 26 ^ .un v"C:^^L55LL55L[S^^SS^øø^SviZ t$ ܊ $$ unv(@V$ . $ uWtZkPa<+mZWcx`])N=43=f?;fe>;fe>:ef?:eD$#ED##DE#$DE$$EP 1.,sssswoow܀!v<YmM % -ئMȦvi$Zv( 0,(sssswoowXw ^ ,%h- ,""@yhx9c ?DW,[-G`n -f'HRWa8cgovz %17TYrw,07>ELSX^fntz~    # ( , 8 D O Zk21g; 21gg21k?9#JJ $JJ$9 7 54 76 45 6? <)< )  ~!#&%#f"%&!C"F8F7" yh8 PCHZ$$ZHCP 8h O '$&Qgc"dG:fCG&+&&ԭů3&Z8DDf6)@A"K sssswoow iD,#Qbnor(07]BARlM]Eh ""'<@ܵμo`  xJyNVd _WW_bUUbgjpqjjpqj= O7H 梹L9kpbEx;J $JmW |~qj`vrru{g~˟λac| *BZ=k:J$99$K\]ǷZ(#H Һ cMMt#cDL+(f"+īXgpbrPFqg 3 ~%8 : Xc% dn i.7Ia  :KXW ?3~$#eֿɶ O &$$$ m ̿ӝ}}zIQeUqJ[ '$0g21k 8UC+VR 3 U7 k '7ki1' 0  W_qY >X U GPbR~z~ J]GBU l"&&&"l 5Wqk`QO[L}<''}LǎťUwkdq[btv~ xpvxxʹp?IMJ;+lIP??PP@@PS^fjaafi_ I)P IIhUr ; /1j ?Z _GK#i$&&$$i# I*IN*I h$ ^dnQ E7  0 L M?0<+ a Gh f GG |$ |I< y*w ^ X   $ Ν%\A\[v7 J7 k]r  E  vkkvroorQFX]sVmqrfXfx\p h cH\@0DD0@ bv a (h(hC EH&+ sv XCC v; rIr 4n   I !! v pv`Þ02ô2 $g j #K7"@6#j e e\j ER ArE5Er | : & | OTPPP 8 :n #99 W D  q ?  & u $,$ w $  X/b Pm` p p }  c Xw  }~wypt  4 I v/ aviw \E}  #v A  ( O ,v  dlatn"AFK *DEU 2NLD :ROM BTRK Jkern&kern,kern2kern8kern>kernD &!LVpvHNTflr| @hijv ij p6  @ h ijkv w 6Q $0 0 $0=0@0]0h0v0*   6Q66 66V6V  6$t&T*ECpp<<0<0 << ! $&/01456789@BFPVhijktuvw " !#$%&'*+,/023456789:;@ABEFGKOPRTVWXY[_hijktuvwxz  $%'*+-./1456;=>BCDEHIJLOPQTUVY]`abcdhimopqtwy|   !"#%)#26 !"#<$%&'()*+,-.1 =>479:;  6"&141D4B4544B4B45557*954B5DB5:* 3 *@8B+*5,D5@/=)-.&&B54'/!.",-!3*1&*?A;*@"&(@D?*"29/&&>'(#."C '#*.C)%(-/&.""/#*..0"(,) B/#1 1%&1@=B"7<3/;(B.B<.$/0"1!%31011//;7019=0A@ 0 =A8#)/05$A %. ;( !"<6  ,9 =&134'2- ???  +?? B?= B" ; ?7= =;   BAB< A@@ A;#>A ? B"?* : A ??! #>#8 #!"#B #">>> latn"AFK @DEU ^NLD |ROM TRK  %,28>D  &-39?E  !'.4:@F  "(/5;AG #)+06<BH  $*17=CIJ aaltaaltaaltaaltaaltaaltc2scc2scc2scc2scc2sc c2sccasecase&case4caseBcasePcase^dligldligtdlig|dligdligdligdpngdpngdpngdpngdpngdpngfracfracfracfracfracfracligaligaligaliga$liga.liga6loclFNV^fnv~&.6>>@BVT "$68HZl "(nz   nlf un2eVST "W5X9EwH! xZ <v#+6k Gif@A&N0%I>j!(6'TJHT "W5X9EwH< !i60>fx(%Nj'6vZ&G+@#IkA FP\qCU1   =RJd4V'-|yOcD`po%/*m^$Bh]LaN _g @))B )66<2r h^NJB<bbb:!86@66 * ( &0:D%*%EJExlImL *J (2<FPZdnxNNNNNNNNNNNN Sb "W5X9EwH! b< !i60b>fx(%Nj'6vZ&G+@#IkA  Zt$*06<DJPV\bhntz $*06<BHNTZ`flrx| &*04:@FLRX\bhntz  &,26<@FLRX^djptz g@hvtujkiw Pn(un2eTT!"# $%"&'W()*5+,X-./0192E3456w78H9: g@hvtujkiwg@hvtujkiw_g@hvtujkiwxg Z )<qCUv1# +6 k  Gi=fR@A&Jd4VN0'-|%yIOc>D`j!(po%/*m^$Bh]L6a' :Z x (2<FPZdybybybybybybybybyb (08@b~bbb~b~bbbbb (08@b~bbb~b~bbbbb (08@b~bbb~b~bbbbb (08@b~bbb~b~bb (2<FPZdybybybybybybybybybbbb (2<FPZdybybybybybybybybyb ,Lbbbbbbbbb`}sABCDEFGHJKLMNOPQRSTUVWXYZ_`acdyz{|}~"&).78;?FMQY[\btz}  #I!"#$%&'()*+,-./0123456789:  $%'*-/14=BCDJLORUV]^_`acdghmopqy|  AHJZ\"&).78;?FMQY[\btz}  # {|}~ 2enuA2enu!A/Ob,!2enubun!/AO!)/AIOF)I @ghijktuvw"#$%&'()*+,-.0123456789:_`abcdsyz  $%'*,-/14=BCDJLORUV]^_`acdghmopqy|   !/ABCDEFGHIJKLMNOPQRSTUVWXYZg{|}~"&).278;?FMQY[\bentuz}  # nu"103926828019104_29.01.04/1.01_000340333551F645BDD288D7DC78D4B37F35388617B77CE0F53258B0C0 *H 010 *H 0` +7R0P0, +7<<<Obsolete>>>0 0 *H Zo_.gҳ00qxLZk#n7ʸ0  *H 0_1 0 UUS10U VeriSign, Inc.1705U .Class 3 Public Primary Certification Authority0 011203000000Z 111202235959Z010U VeriSign, Inc.10U VeriSign Trust Network1;09U 2Terms of use at https://www.verisign.com/rpa (c)011.0,U%VeriSign Class 3 Code Signing 2001 CA00  *H 0u瘄pvbbs?Q)ドb)Xe u06ADkl5{y? ݩrJ=(E(; .W֎)^ҙ G 2^y>,o+CVD#hd00-GߍRFCmH 10  *H 01 0 UZA10U Western Cape10U Durbanville10 U Thawte10U Thawte Certification10UThawte Timestamping CA0 031204000000Z 131203235959Z0S1 0 UUS10U VeriSign, Inc.1+0)U"VeriSign Time Stamping Services CA0"0  *H 0 ʲ }uNgadڻ30X~k6xw~o< hlʽR-H=]_/kLR`@~ ?Ǵ߇_zj1.G 1s W-x43h/Š*Ë!fXWou<&]'x1"ijGC_^|}bM "Vͮv M٠h;004+(0&0$+0http://ocsp.verisign.com0U00AU:0806420http://crl.verisign.com/ThawteTimestampingCA.crl0U% 0 +0U0$U0010U TSA2048-1-530  *H JkXD1y+LͰXn)^ʓR G'/8ɓN"b?7!Op18UN$ҩ'NzaA*^ݻ+>W~ +;R8'?J00 +)2 ^v0  *H 0S1 0 UUS10U VeriSign, Inc.1+0)U"VeriSign Time Stamping Services CA0 031204000000Z 081203235959Z0W1 0 UUS10U VeriSign, Inc.1/0-U&VeriSign Time Stamping Services Signer0"0  *H 0 P(HhzDfu]~ĸc&=C|8%Usu'iN \ *UV!a3kݣ7e S\|f5_EvNS \0"7LB U?R,z򢪍5]j=k㿖`@DQn*(P{J 0kX@( ~|vqiOG05!b<+َ*{\{❥o<0e0Π\%aM:T0  *H 010U VeriSign, Inc.10U VeriSign Trust Network1;09U 2Terms of use at https://www.verisign.com/rpa (c)011.0,U%VeriSign Class 3 Code Signing 2001 CA0 030522000000Z 040601235959Z01 0 UDE10 UHessen10U Bad Homburg10U Linotype Library GmbH1>0<U 5Digital ID Class 3 - Microsoft Software Validation v21>0<U 5Digital ID Class 3 - Microsoft Software Validation v210ULinotype Library GmbH00  *H 0Ƈsz<VsS)aiS4ghpO(]RP+QJZ]!Y&ɪ+%9O.HQ96H/&dћ.W(+m}/U4uA0=0 U00U0BU;0907531http://crl.verisign.com/Class3CodeSigning2001.crl0DU =0;09 `HE0*0(+https://www.verisign.com/rpa0U% 0 +05+)0'0%+0https://ocsp.verisign.com0U#05+dsm g`k kV]hlYrhshy{ȜC~Զ%sI\E6I<qg=!ms\{~aYA4Y$Rj5oy jf Xfm i3P}t{T-h d ='*gE;D[AW.Xت >X^8s(2ڕ?wOF2L @ @J` l T6$N $-[73Oq8VgAЀ_#z6!22{T~Лlj#Ln@Gm﮽(!N53 N%Y$i.(VnG:LK eE|!hF4h6FDh KvRO1cT=v Zl9{GsV%p@K*IK\Vb=g#nmf1Ym! M'PȹvM"LBKUÙUI6Fd܊yEj<l.RN;!wQ%;31.#u4 Wtb{+d=cF.#|? naVlêpϡA/XF[ӻfO:5Fo'{a2nwQdBO\kd=7Ӛ̷>@B>zY~e+>Aן0" n74%ԛŕo~=NVCZ.?)Yc [|ŠOM0["lz܅W[Iɴ«Nc!W/= oXef5&Gg.#"ܗb&0+H#P!)KgdtGLL |0xQ.566Y}v2Y䅟WӐ\1\<6?~1#q~|F\E;>y}f['sa?6{?GW< gZ!JrY=b GԪ`3{"I:9' 9iLmXĐ?$"pgLDJ.Z'I<[Z>Ya_zoU7 @JSaO z|m=[VZ?1TPAuy0[͔PeR2PFS.L#2:V~T>^ip)$I@S>>..Iޱ,i sÊdF@qz!&2V}TN)ŏ=ؽuI6BPUK;Q\۟;4{d%+-v*IKd%$!ēTRI*<o7X|c|{WX1" MSinTͤ#'Ȳs!4Hu`'630LlS==^ Yh+c9KQeh`|x/0 lwZIH005Wd/prɿ$]JO_<̽oBd[ΑGuWV5ܠQkB)fz"q}3f &6R]E~sOf'sIj'5CWYyX,Dtddзn>1( #b\NI $3e,iF+-``x u[~_;lVAu ěqZ.}d䍹q4F4:T~ NchŁAjlU9 *U>oQz{ ;-9s *,Zz,I O@ <# 0'@״,|GJ?lr}ҌTn'q<8gLһYٚ<-#F npdqRytK2DK[[Kq.’,HK'֪UU1"1Fąr&Y'~,„Ô~_žwt""!!"!2.?7?ltCZL: {0|g#1!Zy?\zh'Ӱ:`{fP$1sZpE(hzԏeQ!F7i&ɨcIII͑̐MD! %$]Ä%a^𭂦Qls 6ie[ Rb8rY""9Bⰱ , 6 8Lq.ιo53DP݊Ό\NYfӉt2o a"f||L2SȳY|cuN.L Q@05 L͹뜟 o[ p{! dn!,bdVFTW]Z-ܝ2]5Y8 @נ%;.uN[: kZ? B[TVKOY\0r-wi^9 h)=#!anq+Ju#oQ=VFN~~\E  mz_P  њ)Ŭ g\MJ>&bY%8:2nH9E*CȐ8fu ]FżυnZ(JIǷ'31oL)AC1-9'%?%ݤ6|Glӯ {uƶY]`a͇[ .o\ߺv:^pN+ߓʭٞ"ǘ;4 '5z# =\c퍹9ǗjI;_ƅWUv~q$ou5f1x|QGO˰?yV~[d]cpǻzƔSΟrp*wh{?j M,Gͦ[м}M4gYν# 籖P^*wg$Q|Wlj.&׾~qU*uC*^ ϶/'5>ZIl0#giB~sZ>(\A3OơW+W}sG)CP"ݱ^,.kIzKkiٻ98\ʋLG]UOCJ. J.t*]]XQ xuB]e<`bX;w%Wӏ:qgܚ-%?q?{E'`yFft&ԵB}:nq6djqJE4rɜh{"ݓe(ͩ ֩KNQu{0QӚ|Y/ *brbF`vHQWI(;J cڠ m uq4jFs'p#T\A]7ši^x@K&H+"ËFMU6-ǎ^ >Ighm AB#9<6J㊛^ 2H$1&KyólsVmKuTꪣD&M".Uj防feɞk9U{!yT.g*jYd]ulqo6Y&,:ǽ/I?и3&ca;LvvPi}x/YA0~dvxڬݖEߟmkvn&-GZ!"i#<.R; @{_  ;~@@I%TY4Q v-ԀK[u^}x^t熑zgX*V5!lU&YGEqLy?<Ӛӝ>mӽh6K@@#E!G'!  LL,lH@ iWFE0SɼxvH\j5Q;z/} n&LqKv/vy [Oρ-"߅ 9;5^!i6~3JOi$ |Cnn  $+[mv†xAdEDP0-1ڳ#!A1 )a9^%YQ5`4-BFP 'Hhr8AR4r J*F&jr{8RYU"bs-p~H n ;PQq0!&>a2Y#,HIydB/`.J~$#L2C>u\L_K,W(A3ZD"[SQEWGB<9Y!*'<3 ܐfQ0Li>0˗bPz |ǭ3$gZ;UZ+,U$IIRe$8t\*`gX^5mO:fO2ub IKY9^Ϭ738̥!ߑ F)lɦY_bE7'cwȠPw HQXy$^D%I"ieȔUe?9+wîQ{,`wR@'$>jh RM@x-+C?)ԥitot4_s?.RC[)VTK)$sNy=ˠH(}=,+8 }": l@QUӭ6Iar Jj"LnVwБ_NͰ/n0D!#($j 9 )a9^%Z FbɊt=^q, b8`.O % JPjnmd!lj(.9.](#<^K*f˔%G|uS_d@vvx UMMNυ X<&J2ɤ 'NAV)k ) ~őbAK7efuxF.+ɻqӕ=eɯpX4H  q|hV 4;o)v3L]h&-0L!TyC)KkT10zD3 lQQ$9TJD7l 7-6Egl'~ֶgk|- m7q4Yȷd@!NJc,Դ@ًݖg,lD$ &E zw|r" =~HҞ; jV<W<XlIgQҬmއA[}gnqf?Mپa{vtN| 9VK7&g..5/Ml=7X[2i װL+vľjZj>NˮQ(Ӕ5uZ2u>=xA)J VЉs)Ȝb/8kE~9Sw 2"=>t_TgK{h7aiRd >gvw , d#~@FP 'HfXDIhuzdXmbw8]nG@b\Hei՛w>}h2[xAdEtpRذ/e;fU{8t? #($E3, $+&ŭlx}X.E2dɹMwݣ@Q0"D-Vx P%AHHTɕ'_BKDt2eɖsE Pk2WdbzlpDC'@0bC>MŅۡ WK8%zoF?$%d)R1=&]LYA[WFh[Em%Ta88 JV|G{ x4uE. ZUG?dN΍y ^ Kj5jV^FMh] 5j챕o1޻2<( 8xK dŪIvΆcf.7< +tSIg P6E壉(Vw ߗ1VZ.@q&B_tq"}"tAr_YjͺG@DBFAŁn$$K42dʪf4?-?Z" HùTJv"DpZZ!D[!,R{>xvUtŇU´*̐0/q #($E3eܪaBc0_@A}F7v7YWGxhI (ɊtbЯ#~o|~(hف>?>܋J$I6-e\H@R$ ghL=0C\} B(] (Ĺ.nc(Bqsx/QV.)Div\O]AEQE1C;?|.eXfFlf # "! 7CO !ĈD UjmAVLf-|:iCh,Ү8(%_P 1AbIL5\6i01T0 ӬZba` Ҫ/![LLc6D;Ed=Y?i\/7rgUoYBNڐ!e; (h;s}Ʀgv:3`9^%YQ5MSHH ,-/^yӗl@FP 'HfX:e; g՚uv8tֽ`phxAdE]U82Db#'/{ <'I7"դ`]jž'bA)!=/JFSN}Of S?&Rk?+VYYH(8p-h H01$(QBuiЄ FJ#w[pLXL79G"W7#rx}M!׋jv0~~s#Dh7M«  X@$)T#$Ű/n0VFkШItI= j>A.~9+iJO/+O! qJ*PQۭH0.c7L`# R©=tE#$=)Ydwc^I!%K42dʪf=P{ 6bԘq&Myo7]s}*Qp4 BGT6bHrtrH QR5Z`4-VNRY5>o%VUXV#$PfZЊ6tKtOiBcӔgb;oȑ\]\wA(d-tc,SsMoC=ԇD84W `Zk,쑆UCl##Y<NjAfF:%sU8sSJTVku5hԤYVm̴odݏej( "0.#&yVQ GPsM g=xk"%k|aȻ՝-:U{S+`{ξ1qR|È9>B¿FAͺ}K_7A`G,@$)Td<@M(k%{;qWI,RE$7J X!oF8 u98 O 41]Yf bbqXVd2g^?$!Qb.v%^k- ÉNZ )arİDĢ;C|H5ntWU7u96cS$1W}+~U6VxʣzDq$8f&?ig<זZu ;J*o7 akg;qL`,WuDXӨX "~*%R9վѧ-z w`u0gxH%'HB2S{f O8mtwdgvnDGeIrř טB0b8AR4r J*F&jr{8B*K+ߓ)gNjO bF+ 8쉌N>Vĩ+= _Vu0e29$i 0,kQ7O/o?n; Vhwdxi*NT xiLt)1bs_S-E_MɨTӧvJ-gՠAYm_dbHK:M•ug:m7KܒsYyRK8`ל㝻1]שwBlŷgF[o PO8KWާHe|{?VtJ)߼;Q htV%j%=5{3 6TI蝱/?:m:Xύ0_ k{:za7kH i;*vxJiZSGa `64QwW ~́*_~n̙<7[kd `pk2b9 Bd!w-I HN`G9??خ}s}b(An~:4?/P7d죂D⿐>iԲũ{oNC{ly޸1ob$0qK9(_qR?)J-f*w޳%&]|Ww-a(/)AVշA;47㰅TL_{m\ZRH UjK˭:IdWWh1zIO*/4qh4"qE3 TFtiʼnLg }[mw.c7( RH"=a1T.b@q o.5_N+PM Q5m6ϡj/ԭ]uP]zLNn۸}^Q+MW3MyR;WՌԐQ"`ZUS*xqjMiB }8u|Œ1.(%&n?_oyfVEzf4}6ϮuL)D~'1}ǘ`FF?`#E|gzqB{Kiw-v~{duϙKٚeXɅh[eOG%x4{a9IkK- $qWa\͛ }T8BNXM1Χ q hjbd *4p / qQI&C<ʹCXeY˨y*z5ժ:ihI?[O,)RX\ ԽE}n|o9Jl5_q*2Eud$.G)57&JB[HLi"O`bf08`q"?'?͇p @!"z+N8Gtp4\넌4 cx2tVE^h%eIϧezjDfZf(PLH jl.8|B29D%ѝqg9qFT9\ FM ӬېTG%nUvL0Bj 0%qWҶUIcGZƳ<g7܎[|Uu9](&)ΠJ&UY Bs|M%Zrh,LG-UR/V/ye8ˢushOrh}VR;![YtvWYth1k~[NKZ͢kR({@#H,Ɓq%a;i'LNuT3Z˜%,l/ iga9N(;APYIB3Ua `D1,v[mV ,_c⠞Q` t}\)XU ֭*\6\Bؘ>7{'Z\:'Sq*8=g:\x@%(%<4[hb2\g9k Olv>R+wK{Pj^=okxF+Ojzv;wwz{-673aF5TWAI58iMmP@YP 4d+Po@ "-2BN7Y .;,' ,, k~1!j8T1z[}Щ%ʸ-2#ÄS!2|d_v5vC35& hgvf<] _IիTf=n*{[|Wt3շ$]hUTsk-,7wr{J-qAL:.b{ppG}ˤ+ufqG*bC8g v ݱbXb=Cpr|ew͂"cA  ߽|[ީgT@ cjF/8px^!h]y+Mh1T+ ݈=$TP5n!say,dABFՊz/PdA@)pO y{UC鐌'҆klpQ̽1]xVBuLtث/ MϷ0|1g-זb!0RDH-o s)QD\pH²h|.,3Y jNɤ T}!_mމ:! *4Ih^_yhO3h qWM¼!2鈨{l.ϓL u _.H4V4}hM>`HCq%R`A oOZuDDDI`0^@z;g9{.'·$8G"p&/)|ӕlE/ .on9pB ۀᡑ$kPr_EWdT%Rx%$j[ ,R*~ EF]A X}ֆQ*= ~A@tTD¬騘'#%Cv[P&l릸#0pD#7c$&Y )B EPB%[b~eYʆP5EFe[UPC:ʚ|d (}1'ɵ4HKnI)^`60FU wÂ^n[)W>pw'@8Jpsic[|4&b$_G{;ҧNoR3xE-}`FOK!^A[nL0zQNDP&aAgQ!9^H^)D1ߢkzB愮1g7CI<=' V7E`ŭ%r]7޲"(Ѓ /fO9v$%c]5:\t[au[(D_#zȼ8*oQ`3:f,sRWR4uW%癊̉>'Ce8U`r&aY[ |/lt·DܬkR]ÒZzK2\\eHnԜw~ Τ VGuiw\!ٱWFAmIa! .ww 6ǧvA>y82]BGcMcU"r@nuX,1W]tZI3.Y7(H0aZXH7nAbtK79JjiM/1MehV t^w1n,K=;7HK$!JKogK89-؀RyaMJ V(9%s^1Fѫ72tQ0&EJ$],5u*qzd>Z;d)mW0 Q>c&ba:m|\,rjA0_K󵄮*ݑ`N׈w`$K3QjznZCq7i>@O_YB:9&0\Hۻӳ(rolJ|?̔íN AJ9^uhP%(KdT`b.WR:juk֌3^xƓY*ۇiSB ˺tPT"Z;;cwxY>Qk, }*_6F`L?vL34;a9 }-Tc68@7*H `(B'V|j~R-8"*;8,yZp>DiԘ3om7B^xƶ8A[N>]#}dڟrM8pκMF,% Q n<#ˠ@#,6oGs}:R8r]/(vg574+q3dw) [/C od&dV[rvr&m*lUl,xވ "{NU=?e60SE%*產M,MʤfŊ\-5RQ_'ʩfnAboj鞜e `)C3iO|2QQ|<,S0]hOI|q"X\:y]cz̫l.ub7+89mnuybu/ ϞzF#}rgl>`Ԋ+q~Y!aƔ]7Ɇn0_eqW׹ytm^/LӾ15kpmx?.lf{ LބQ\r1zY蛲, KV#NPD|e*jGm^o>7$E{̃zZ^AF*1u/MNDs Wcrαrlh]VRϺ*^E7uL!Nu2b֭kgbƑ3lDt?'TV~b߇@c7p+xCq#+`f႞ hCٜ3=?"<f視BLȭ4 }(7^ vx[kV\Ǝ6%vnQ@$c=4(c/WQAAڄ'x8KD|&kDyRvkc봖-y{*aS/7ۼ5i~Zg>sxML~7|D:Jtlc6×)p䗲i´?)7S7M@1zVMVDzl ;ۥmbXn/=_-p@@T" j-X_j0EaP*4ҕAX XKd%R\nnǗPh2Ǽ=rP_k_ȳ*|;| dU6 q} $%X!ZBtC2PC>U J  : = +!*::":A:2`:Nt\aܱGcf0P `'d6+,RxA'{86D>"G ˻$g R6ojsFތ=fVPps#e;KVhl'B$Zp.&B#ZƣbYy+-6fk8weifi=@mZtq}~^u( A=9|pc<@i FN%*TkЦ[1f-X"#F5Z t4_yjA @3*FiXpZ6iGF1 -9{9k,{SXQXfQxl@, v C4x `v i^@ZV5` GSkGo-i @ZbH&c #kI~e> 2́̅̃6pt~{8>_27M֋Txix4-Vv%w3GP(\FQڣψgegȗKUdYLMU|)d;8q7-ЌmL{85v:=383>bU.b+M8U9+\[~ g$~pd&l+7'E\nHj_ta K\/!D,D4>A_b4 f'!ݔnˆ,G|90%38UӸT EsA7pa(2B݇ۇohQ]6 2A)7&#'   pMV&vIA9Տ/n_w9x )@Q$i}n_josrԟd/` V33b?T$BTG~ Jc;)ޓE&ӹPB P `KX5f@>u֛ުAfnzѾ[ԫn$=;4/52 ~]Jim"º t).!,3魐wA E`eaKq"@gbDDAŠÈ+WP$IPJ4f:Q|0>A0n*|'6Nl/YVMF~Q.Qy[:~b}/rw;)Z~ܵ Ԑ %EF5ndNsn|ItduY#WROؕS\)DXWSy>P%צ S&72[(%"=Ջ䯆לU7^x` y2d\PZO$``@ PoષL/I JAHpK6#@)h# XD!8ݐHJxB4<5}&5K= ?K dĀ>C&}pG] p7hopP;Di%ǝOK%ҙRl@(7`+gES9笜A -$Y>F-UT/qކ׼=|4v5wZԱ?]>\lMc~&eܓAJoza-lyNgJ@ CeE(vV@!X gD.;(Z$,ۖ*q2$@b&q@B$΀QQ:Lt gr*MRH !A1 )a9^%YQ5j;5, $+ „i* 5Zs/(lqFM jW]Sfp QR5Z`4-VNRYZ/X{=ACy/h$+\ZlWf!da *RB|A=f⅑F݋/>@A@Q.E"kl/)z7L#7zli֧yavOƗ̖|J6"u7%SojdώEVKy˳/GS0l(ܔ4,GRi4tzqd = 'tP9XvDĤ0%"VrB_E,X7C <1@]ζl_09u@!üUEhc$}pM؂{BPMb QL)i7:$R}ZM#ˆ"||3QL|~7#"`~|)vtQһA1 )Y ʱc⋠},Rڠ~0\B4a׈,ͬ,X°&g*6'u+Ō ׼P}  Ff2m]v)z_jG"%TRO6M G{ܨ5o WNs5B$( Fi]g$_nLғ-A %٤52dD+Y@F$=e#1cbpBfC Z6Ϋsj澋FѤB.-Wq7]nb[mzЌ;i \2OY(7xd%Ǭv*5k\UpfViQpsذaͺY_m0i,EiMҦd30sv4S)z~0)SE3-E8bp XR0KRhU,`{WLPzwa{<=;pl0.gN}b612'Ab[7%ncw 8Bn.2(ݥG1;z`_ n&)uPSqm\{g~jܯ)"gJJ-,i^ v;bk =ޛwC.kSg}uUjFy=mGoPĀfÃX9ZҠ;Qˍl=rxK+WWs$FhOS?/ 7 #-q{2m! !XV²NW-&^vE'i^"tNu`9֌MB߲13Ph[7Eõ/YyL0#mkBfjj'р>33Ůl v1bƜ= :+dP= m<$&?fP5>(vKx[Z;|9f @^VPro!y?c35=|H!ns󣜯J6i5"LeuB8<}#ayޚA^\7͋LhZJAQƂ;~&1CETP l8sai,f dɜ3r&Y8+g眜r[z^a 1@VFi+ƍD i^k Nk=)ɶ\ ])Ҝ?mś\״vH;',4vd #2hK :eXq]";NDmZ△;k]cYͩ ~I&ɢ\ZI&j֕H⋤X>*f %ҹHZ|Ml<`C'i4}h8R(7ؘ ұOd/T7]9^r 6yYՇ;})8)83!n!AIёz͑lc-j&jW}N?#BjIV6RLbBlvy&$HK6*EiHkLCJM:dFcd9\M5u̲,`)_$HQMΪHF;ݦlZvz|+{ yxjB}(0 I!x>iHrrc]@8zxb1&hOPiny9qۚm;7^N*5;!-ϲyB] [9(X$4X5N$ԸtdY'24.% aD, ^-A AFFfy渟,sZ2ΝAߣϿ,TV 4+TR{5jF'TpYոgW=pߋookmlCQD`v#ҽÂF1 oʡ\}}}ce{C=t {'2tX--Vݹ2c?^>a>&mߗGNh}Qy{fw `wi7~7j7`iG{[0ی/<[[{[EZ/;(=~*{+:|Z3}g&iT]78ydꄝZNR>X;û*LmT$[yv+7f}°3nƶ* $2/@ :tjG=QW> if9TȿAP!|#:mc\mڧcrb\7FȄĒcMmZ;$+@yaFVB`;즋OCUnI *XPW}ٚvwLOG 5fX5l*ܷMYei;ŧszAT?5HZ]^`람z)iknT榧ش6#mL{?g dRI;߸Q~;5i4K߆LD߸Lݺ9ΑxG'{SЀ뛪LupEesўXޕhv^y؍[NȳE8%7 lF)mv:榻yi A);N0K#nY\,^i}O4;jM^((Éd` h3#b,?{%ʔ5 FmAZz,Yܭ9oWH g^͑2Ǻ,9Z֌tlϰ~3+iJf]*\k(ڪ~R79rGkLlY6{TKgdRW=mGS8EӪ˝݋6^jes}wMsWbg݉㼯m; |\h|a*VU0ʣl_k_E 9>GduFX֐eFT2?Q7mGӔQkM޾ntzNPy/ LXj(ovȶO~v/,QHBP17|FmoEۭD3tw 1DAaQP5j2r;h~(UUMMg[uQao`h1&[^,2Ҋxc;׋tՔESoJQ"-'i현c6t rok\oN{\YT.+}O \|+2U;H30LFR|_^:.mA Q9RΜKXf+JhbŊ'1~iCURӪն]G7f⮛<"$'Dhk#V. "'Gh$1ٵ~aA 1B-48خNpï~ k\Ӛ ]Z׶us]>Tw:+:p^ % MF*;h[ugCq%usw~97Rw6T +jCtEUlbXռ`X E:Dlk^9`*3347PfBߵohG# eUFR]ѓ{lckRPm2NNI ,?>ņޥ_,q'KoSeؿZaY+ezq:|Z[4aI2.iokUA1oZ* ^x<t] n( 8˚r+9 EdT{t[n rmV}uK\0`$CN3b.3f ݻ ˔eMRʒKa29 ,+Vra%[*Bu8n ̑EN>nW1 ka7FGDen5?כ٨,cA(ʕ$xY6(UMs AB`Ljru!mPβ4ضN.ZMzh?2XnC 0yB(^Uh!_4ea8t0xcL0&hr&)Isljc3h 0|YZ.IGnT1U&Pyi)3QcLΛlqK+a\uN̤ = J"#"f .,{"V  jkfkp4qZx<|V@  }k u>LQ0M(ʌPh\$2+HId2bE/$H&IW[mu)HC5d=!Gy(86O)RtB2ʔR9UΨQ:u.~-& [ SFގ.@K9҇!XE9ڍL-STdh* gmeUmg; ig]^gk>{k֞[{q~i[p>7@1Yۏm-:~\0n[G_:ut@D{ XxQۯiK:$_gWtN:tY|Zg>ҹw[:?s| x <݅H?nv129* ]@e@eT9gW"+jr:XWˬ* T#jDw;>iZEKj Նڝ+.uꊘ ozR`lZ-g=sϡq{ȍG{/44y 7N8 3.eYg)EV|+ː>{`ƞF}Z8a:h@?-DV,6~ g~s,{`UkcImǜNPN ].BzxIᥨT3d$WHn^&M° ц61L;%$鎢\D"SbĊ42eWbzk $jVC7h0-g.*z0lVPB*UԨNQmǠAMj4Z.6q=vFG^OWm=25 9cy20nI,{Q}i@p0'`{*rX0B:3=QLd^i؋-a#;Wxl':8~qfvAMrOǣ-A8" S$i˃y<$n`cN~p-,K,o2t%&5Dto 3\^ELXsۊd` `}BƍksS֩f;ą %JA1S",QEk}-΋S ӭ<8q{䑝Ӗ $qҨ_ީ00K_ yuM8We q>dktTOhvnlc#1Xor@Dز # ǩ 91Wp*!\T׬KKFA %/!!͒ {5 DTGHߛ jevfdȖ-X"wbyMSQhP܅2YFlĉ+W&LF49rȓNlTF3(QCY*:"=ud4Фm&ڥFcv";s@ Pf7/\e̘^v;Հ L:̌rͶf{tj;Ǒr +Wq7\L|M._o l+׋8|L;|be8lU"M#wE&Q1IJOF(bp|h pJ;q=x8RN0LLO~34L7v&8zry3wOCmEeXcy%"* &*tTWbqשU#p iF7hxK(-[=c/:H=1F~W{OA 1|mkDSѥǢx"*dASQy߻氏$|-amW?5?6mWc^{ 8EVH`_Ro⺠@E83+ lx7b `KxjjPhaSq +9\'W{#gÍ ;/ҢZuj؁.mP2SF.1nƄ>MoOki[`0%{esCp8`pԭ3|#|ga]e/+|+ַG_c/nXW­N_6Q7,9zF9ǗlVҚYc3!0Q ځ,Cdm ,Yˎ8Xgs w@nD ` i0KKqs5_/C?"L0^"{sLСc  )z̠9b#F0Č,b o^ر7N|q} bJA\GQa "IBQc0LXV1yhA`&$y\78>o>_>j*/P gA,DBB Hx`x"HF(%E#F)4u؆$ SBJxG[b릫 %C6LHL$dL'Yq-݂EW-Y2IP=T*ƣ.r/jkey<6.ͳQz{5v.Zv۳AǛ=2o|ŀo~)6*0Y}Lw]4ƴWP 社b М|ؠgS!gHJ$Zbsj)H4YOGe:#ؘ?!V#E&RPI,)HnX]aX E8)'1[ĉ1/"iٙ|YLD%aNREgk^on6H!@<&X1'M֡(p½5BVxL-V V>CQ.mսo^ 3vwfOe1%iNYMRkyhJRf{Wu d'`2!":"+|Je@)2DϡDp$H#9^ RGZ"(ȦJU^4C~_BRrZ(9: %8p`ϑ#GN8p.\թ77U. Q8N)+٢HɲEQr5M!!T -bRBN04&rŶ9>wwa׹ qe槳c袋J]u5Q7T鮻YzZO}L3XL6Ei*7]Wlxl2[̱o쿔pQVW (qBtTIjDL"W77ABTonlNːi_*P-pŊ7$Y n+u`.f=q1>LRWE#Ɔl c{&9p0ˑ:搑Ǎ?!UȽNUM:tn\Wz>}bAîs>y@?yuox]߇yr0=riX޶ۯy6} 4CؗfV!O9cC\nMY EhfYtWV E$)Ȳ5T{]\|d 13 mgq +oI2)VR z:fqO+{󃟕vu8w+k 8碈L1kńbd6?tªbV#f㻉'\dH/r}R}3W}8 H74V/qq-'P~l+|v%JےQ'z2-E*0#{]"@#І X\Dxnʑ4>dz"1xYTH޽ 8;{fnQzv1΁?R7eYgcLUÅOYl̄oc>J!s9m%318iK7D`qgn SV_9^ąE/!ҵxVG .^wZg]7t֞S9}iˍ]@^yGr-̾dgLm K;y)F4s+0̎TOx>^t>SOb_A\YJ ,;T]sdIe,j U/&[ڶWՑVuǫ77u{US1g>4M%-+z^p gȆP-G*RE>33pU^ODܘLR{pH*r9Zǐm{e-|ֻ9WNv++w?9M -'y,]D=K쐸qQXCQb2TN^ϻm.+o@ ͒ ؼ7+;]?n1**UI_ھ{{]ZMp#67 M- $-:~`c綍Wo?o?4u-sZ6k2YN%v,<2F)/-XV^]RӐ*eGN[fUZbJ++w;c㳆pM!s^rٵ*U7 u n㝫Ҏ-ay?5}J9v='E$H+ٳz!N|b#<^$ 3ws>nW+0SPʪ23;(^czv=hGR*i@iԇc\$U]AOhRg gid Weŝ11'AHWkm!4&|ߚ$-yIIO԰HuzX^DZ}yg{KieٱmTeO t"UO*ޚeH/d!j+Z)ؕ[6nԼjpxROo<{w3z_|dr<-<*[ 9)E@ cmszԝo-;*J%C%ⶤsZxb"PB VbLŲޥ )n/-f Ce o;vo}ߛX;$Q;Gը6nvY 9zd*Bu?bn])-kDvz(Se+Sk55ĜW>Є}ndvՁ:3}Mӑsm>NZZ`8'Ϟm!ɠo%V60Ori/U%".0!;%\l)ak+#Y |> C,G(C-7J_! >[`o(@)yI`O/j$ђQ<5mҗ*mܩBEWxtjLWtP2{nN< d^r`,k/,b'2? ߾YR܉? fy+֬ӤA,yˈII]QhXQMc ɉcsˮS5ϊd~õQaZ9N?WxB 1M9MLO<@HQn5b ̌J;+ZaZԹM2YWӼNŒ6Os/0Kp5`bc/ZQ#(XPڸŰ6b,&bv$ lٯ)w7K N>J!q!rbu_e2b)|S[QNb/M&ld X1ӻzm>)-+LaQ{)?G/v+ѭEj..Wy>SX_ swCRF9u&NcIR `#*M[1T0-+7 טPd9 FVw@Kv=mS2>JODNm#TcO~,e Kݦpېּ-<Ս´2dL-eGo%\n&{۞gB(vgmBuwbqS]L:P@N (KsdLk՗XSԐ4]QΎѳ=v} Þ `高 ZT9Ye 'k6l/K3~l#l;6kxsz"~"Yp7ש^~Ƕ$<֗39Xp383 e<Kb<WQմDw5R\/wfa]QOr^:N?颋r8 =݁f˩Dt̵!`˭` gK W4FhN +%x!%FASXCA~[<)$M# a#Cs` @9;O|`yڿYC%H^ 衲E(&t[mObUڏ={듕 GƐZqwR*I_%W$+siX酖롡EQ!Ǔ(ƴYԐioֶ=5moyX z%FjFՄ)hP ;F4]4XWTVc o;BY@,4A ؊1=:p7m}|5!q h3A=R|Xg)pZǍ&M2AE1Rώa5 6=c]( CVn/pkťЃʪFn"%bG$Rsǜ9PPl(vrXet?j\1ʭ)$'hgS.r`BLlMb" n|BȄ ;׸3 n'*@c#)ObX@,H:Ve٨*cJI94?hn%fYՔ\-NG†sLwӖ`+kJS5>іzfe990$]LXfElC$H,=Ju?BWG[[}阢Ɖn~/D3UK#z\,5Pauq@r4DF65T~3U 3 PJa׿35 ;K{)V!z9DY+@NHS ORoaѦ*.k 'eM 2\X+A+ ^Ihi{[cMpX\;I-`_w7\\0G ķ`,Hd4kN&$D*]ωsi<[P/AhASM[>yx?V$4m5jp@[+ (+ 4`$:~[o!-$-N[amR ߜ0xOo:zC5{qI,ё+:>,e`&Y)+K]MQ?xH`@Fu؄*kzq?Rv|B’E \r65[ʳ{1pE4LoqzX'(p#. KQ"c/g톝@<3&7a}(.KzQ\h *ZMz'c $˞*>G;bwY,q5>G!':ܰ.&hĩBo8L/2Z6ޠ8XAl | :+x˧bG%R > #~:`pǑ㷶)ѿ4Гg2mb:Ǡ4+=!=n+ߟ<)y҈]W*TrT/۳ݠ#.^\=(}C+d>̀߰/f),"7jK"@/D{Ifѩ 7viE %x\|ؚ ({Tf.Q^-D\1a'/V*+ZJ)0 ԁ2Vp2a<&dy`~UwUG=ί*Xbd^Ͽ6VOx!LȔ<1S?؅^@'LTDs29 l 8axA *)`hc?ڞV:j}Ilb j=s6wɈ&rht4YXu̦爦M " XտUj^綋1IUZB $+:t8[ q!J/{J,BڶdԚa ' Fo?x{gu?ea Ijn wf̟wb['*^ye,m',_v[ ^[3IQT Mr1YΤ(ty@2ZF՞"~T1-^ɦZ ,$Ps9X{F`o{1}gß4Qvpva dcCikT+D{ K*h,P ߰шhN]=}'X xB*l:'<]@װ o{K_{y]5A8ntpa7졿$?ͤVFnL2`ɭLFX0cB8\ә'+R,> VΪ<&$* ,Q.a?R#^ltX[Dg \HU|P?J%uv{T;(gۦ# q0a7%fqͦt ҏ B6 ֈ}:!:Ӡjb:3w{4Q1Zx Ӻx3"\&MSviU`M1ݚmț7?$O͸4V"F'1?9e}.k74^ s_=Q2#9ZMLʅ0\a@˛f5eQdG6i.*)8Z//HIgw껯8 U9 է^sœ Ŭo2!ލV xqQxghF]W4WE9PM\ɕvI!͝$_˭`!u5#5vXỴO> OD_+ʩ;F;宛fv,T6GHRBxkU`юH6VuďV\~6!:Wa>)I@ӒП7)]8#/m0iߕ )P MF8n8w}u6v4 G IM8 k\\. =cݐtY`GFN1_ޠe~Y h..4QML--7z>=(a%kfJK^u8)pua{X C8Z}13=+mw'!fŻ] \@+,IЀ"WzLoy$BTR2 >50|F 6`BE 3#sM\"`;.Bqh'Ѥz'b)m&{Gg`Oe(b1'pc$vXCSo|owFeG:Iu✼_R;}yV٢jB>鵨T opMeӂ$ւ=j7+ݳ!:m=i@oa #BdtMp}~grVf!n:Jf?2ߊg30A-l*G.i+K*TލŊғ<&vChTsx%m|A-ɜ ٭39\jPPug-xYWqEO_Y{7q.s= 멾8aۑìuo$nXDTGՒJ%jLf@C[2XjNgiS̛j}m!a@]jIk8|07vrK]:E8=aJt KR;P)>-"j'Q95ZZu%36qfƃj[ ].XW J50C!$HHIQ0#>f]rf;;O+ LAnN^ #9{"9瘙}dv,?=OOn$g̕ak βa9`@AcH#b;NG#Z͚T}ܤ˥/C.`p#CjDH*l<[:5YWٛJ}jern)b &"`$_j:[v/l|9稗ld]۷]&('lt+7XCA'|6d;@S"{ٟ637wwd2<vKtd16E#V5ߏ'X(#Ɓ#/bM<$r\cnRaq2;p0\ V <%bgwOeRTm`i*öa.?xz@jk#ʄZ[jVՠYV Y.93X"I %xc$lVb Z\ξ(M']%cќ n</_}.=zs$V'N}oFsKY=gO( |=KvE:@L2;'r _] K":M]{*bTL-ϸ'^~y+M-^ʆoXN`/ 4!M3}RTK PMͱi3n*[cqjc(kEe1gC~/:ip=x_ L%i=76Dfqc5E!^qmp|x,+Ƞbv"\y.C^N.d^=nVsa]{vm.*)Iի >2 ZQ袓Ug>OJHcGy 3"5=G5F;&^"{'A܅ЦUh,ne ͷHb{3(yPduېߛUݧ -Oۣj{Dom:$)#!i_ݧ 6g`$Cbm6[d&{ BH& 1%^_)IA1:ydR۳o̳'n8j$$^,0'=£{~iZHt4*% pdu\""`F$BTDWD'>G7=Ik)E(.JSDc=Wѽ^_}}UV֬~ CM ]+1d@@alrx[DAp&6'6^D$QR(&OM~]IqDjQ4YlLPSXCrѨD&`Lgi6LXWC;VqFnD MC]i$S,]1}j@lkg!nKsF7j{Zj,j fʟ1>#`/OF]QW 2^s{fKv(d G#( [c3_2% l}>/VDh$8 58_iX6ÈV7`׻ty,G\R@1q5n`gE2)؍&O2?wKUư5J_j|ǘ$l1`v_T~Oz3}&i r' jg,Mu Xǀk 4^cNrs{K0ª+ng(UvI^SOP0҄_bono?LQA$m#j{9O(xRL>|$9 z=V(0)jݡvkUJmek#/wLoX+܍ԵFҕ6x BEssoR@qf ҉Y7(,tr~xA?*>ɮK1J ŀP@XPb1UiDdatC>~3m@D8bdYf/vWipiI\|ψFS nEέJtqĐh|ZVE!V&!yޡ!V:Ov^b(91-*NpOj (DcM@ <^2L:E.)u;qvd>y["b3<.JO B"rЧњ FōB͑}B< j*|9'.,rgJ.~Mr;@Q-pI`J=wI}I3cܕ608[ۢ2Y㺭s!˕I,:j2.4pzտqf5TwاUM~$&BI}ewgNiޅkL%HtW7]&ڠj.eSO Vέ}::4#C3 Zxb)WԻ}v!hLOgwnZJh[ y*d7>8`/Q7וWC}lƩ=\ǾUC c5hxG`Zr,ܵ`(#PXe5li:.-%ϩOe+E Ja~6.|/EF:6,eVHA1"SszNJ;jO8[}z^ol}54} MůTSqvqU(O,~MHySܭaC$`<)\U:7'`snQK>Bιji:4wKJcfnƂƘm}:o}l(śd`]I_06#T v?]F#|'$ljLQo&Quv Pv;Bf)PAiyfI3pl9 jc`vd0sdPñw[w,ǭ|;V~޽hzPfl7#}41 oauzw_@cI='y5dIrmfv.lÔ3X~B yn =I@iQhܞ}^r*YÀ(8`v?ӶEjoVj86|EDʯփz0u]z+ w5Ӆ+pʔs mⱬ'cyI߇~ h0\?GtR<4s,{,B:6R%ͥڥ y{ WKf.:R.tly7<5Of4rLvPKR AڒUUSQ9T9GEO%UDB{v.0"=`ь=7jK|&&fUY , ^ Qdv'ϵV"X7\:4JWWfN%`g/{?̔n>ZMJAkYM VQlC 6dG>~@w(]᭹Sbзߋ] c3G(*/sNI#HцBM*"/U 4^-Nn%jD)=_T(Sq>@8!۾w-„F(UǺrՓĭ.kseb0H }:=jsߕ;+63sx;y3~@swWxmD(۸pV趟4=xj»OD ̃eh2x/hDC^)qꢞ<1v- p9 9v6fX$bmbmcbý`)@DLeT7ucYȄS1Q8Hx ]2!]<*?S ʫvPPieׇ+)&5+%xzIBX8ϯR!|/;{ceHl)c{/e~R3m-iLL;) =,0v֊WknlW8ɅȲEOM7ֆIVBTp!x<5E0_mH'cnJBl]š>kyL.'bO7,"?V*{ܖ5Zo)/մ=ٜ>?Lzo$Pg"ine~;.b|P&z2Y:r/?]zgY/o G?҉#y*TF5 ӾrÒD6wt_W@[!}2D,oaEgM{KS|rȴ55>5m -eI { wQ iB35ٷNuV4"ӜYfJ/t *߮^#ȮR|CLDdGЎ<0.ݠb{ު܆F)$饋J^5]ͽY\ Švt'ӅwxǥC2`/$}<^Cj"w[*]ʮS|coxP}{N*"sˡ@oko++}c@a'f 2R,#M=ΑXwIe>SxQF !#!PԎ| vꌡfd%9gtW[.B!h{YJ6N3>&w(=:aL5v- c4z Sѣ54Y< e!܍smlg8r;^Gd.>YMi~=T ĿߐVa ͡j9WvY/ɽHKse[Љjn:ԝbY)PqڼdE̝0'\Nlp#er2IZϕHoY" !/Wi[NY4< M%-@}t ;){4H/aȩhcDe ZA|[˻`azvŚaW?ox<9Yጚ9'1BLBOӲS%_J&NIPukrm{ox"(SlszTm_CV"j,EM$cN6S6x4G|B`eo,=%H v+mwM}^3iw7VoE`GEQX$au;۪0_|\̴& h~+pDk&nڱ]Ld4̣HٷqB-8/}|ߍl oqGv|Г:h/Nֹ֡2zc2Xoس=S,80 .\5! ! >p7}$Ƈ6$oplZX8(VQ `<'?6|ZU]ӞUs'|L {tmzGG Qsޏn6ݦg kotag,wOZj .1F$IX k}\%kFhƏ{{!o!J7G\jןZՎ }7UO]jg`xSPMv:$CNcOiь*Cq?3Ll4 ԶO -=3̷&/cg8u_'0~-'&J?'=ѐZ^ƫ1ƪ 7iٚڇf! PK6x;ɾ;Lo"wAe$]7K_5M97_ټo8=M@P)8۷?C+$[(~mUHQ7>};5 :&lYmw7=( |ip{m;od#wNv<[DCeD@{-r. EnpV|>t>нYK4KQ[/ G'zك:C}!>mH|ly)`vZs։KZ_i`MV# wBE#w0&Oҿ=nx{L|<#-wHOx%y\+7m2e\\&/PE6FmRsANʺ}V?]PMY{=o}ǻkΰXFK 6"]Rߨ4gh L*O4$Ȟ*eq\ΪPN~4[w-g 8|b~{Gյw ݠyʍ5Vfvu/wRHbJ?ņ5DG0V!lgOth _S7UAcV-,Yw:v4s7'g/:vibbb"/>}j~{b{ȕ~RߩG}Zx|XToPu. )Uo5͹2|YG)ɖ/\ʐpUGщi2rjC; <8H2 D'lԩz")ayK^73V`@ #wv6 谽WѐYgxR;fbMY-s5 <W"z ;~V۸YrUUg#}WhTJ9>w4AfA;&@$>㳸<ϣsY0;TҾҹsn&Kys%I,{fAdGOFUP<89g?)磈s[2zHeb\`Moɓ𷝦 4;Nmvhyg]P?ySيc } $++dqUؾZL#ȋ=r/}Q/~ῒlNʜb`JX&U&smS`oɒ\=W˄c`jX|w.A˻/MǿGNLJU$-IBQJhwdDČW| x:ɺ`eajCǶ:!PnjƠⶬʏ۰o9%? g"D  :HEƏva'^Hg5%5BOg:֘' PU NS*N%bqA-4њ}͚&ByUfO(LybrEyhƨqr*2(̝S]2,.~ޚ|GwS*Ǚ""'Zȧ'%Hۛb=:RPm ;:nMYD* {#v2Uh7rְw޶r~Bַg4O@3:*hD{k"y(8  i;`X9~6 FŗP*eJuJ,7Sc z^fŎI5OYMōpPk!~5q t$ aZg C{ܝ+ܝ{w n5TtmUC@)ʎM dMRq/N+\^@j~se8A$w/rٔRS\`tcO&cJ#q4y yMQQěpUQ ySgZAj w~}4CiW:ɬz{n'!#0U.u?W R7W P(]|qGnod27z}4]gPl`ohd}h99&s=T._|<V2*{ҚVIu yIi㤶v(f}trnTPTj#q%~o+ ͵o3tɮa1}{sJi6ss2ְ32T30^}]ȉ># :[ٚʪ@pڅzt`u{{/Ko Gi 6 Fš&Aٌ| *+) dH2f2n2ceTUͽOJQqd{r,(\UESa9vx{W|yNZ="aqtΦG 3EܢRcf݃$k?ᣃe_lMÕLwiijE56LZ 8Xq ?b !,SY#p 2~IҩDNaNx슈nV]GI^, p:Ǟğ,$/,&#Y%/[:EHi[&mo`X8Z&+.}+ɢ"O1귻ōYyL)flƈNhV7XV glc8!o"".yIE~B{]W\ _Hߚ7'Mo9;wxKXCw=3ۨS& +6ʃ6|:"ׄ?_F5O01t,Kt!Z/KƙeZj֢ҕFƷԄUۛmI[ C49a0R[R4㪮DP%/o9DAhPq]]/Gx$C!I~,"zd רț\:FL*=bgP`1OOdMܣ3'|o𘛴69rDi&SBy57sBSJUl-D{9r)},8j!RKnEOWѐ4{C艉a#yB*OWքsK;"i*5Mʛ-hl 6THq

    Qo/G5p%;   &>c:Đ@ -dр(:F 7> ; hf !pA ,]aBxi5-e "G5o㟆i C7R 6R*H%5P/ެNr&2NQ@5V}CH:[P!1.c˃^ Xm$ I]Zo% 2#KS\c.@;8o"Ѯ2>޺g Uoo=2yv}c,s=?ko޸!y;S4" ] ) Y\(5yi`fi+~^fƯ3uX3|}P_1.19V MݒȊbeZ ^ofr\x;RXTFW4o(z%É.{OL~JbUq&x/5}s6(W)}Џ<ݭ1`nD^h8b)OHF[dzBF f}n6ٞ5k7~V&b |P'f Ѳ&9^~pK -Bz^Oacq Κ'?=FIan%))Qs40uBz`܅*t6b#Ӳ.k_|13.6K ]t)IA B Ʈ7xKX w#HjKHhcVP82X14Pz[t(HZ[SVߒ|H5z TeQ?1؄P 5TW! J2PB u'l\\:Ds{ J>5.=đLդ8qץ]{y>Ab{_ CTM|<@|pbPD#);Z0EϜZp*{F&olyŜ*]9x=h s4R !͑c#48aq"8.gۂ8F\dq fD rhJ:c(eg!tx}s/zd6wο>!p8: -\bWb@p58g­^cJgq1IŹiy#/HuYjș/=ef]s2j/#l\'4|y)(d_Zyh ½O]?@4LcpTkE-J+C{.Wa]gn@qDٲtlo/݅>EQ=It``Lg'}i2}`g~|!Fg%.x/bdkv+),C~ny.12'J(˿L$^e@-Ib4WqKMѫi߈]P8TD%Եӊt0}\B=Ĺ{/=kw$kSsxg*[;R6NrO&[94Z7KQQ)z Blj'0Vooe&["BZ] CFfeg~ӧխ"յ,H^" ;5{]~΍-\xMnlε%}">Ne?L1 MJL650g--'*xǭdIQ+*!*,*V<;髲l]Э"*} /ki+WAn=:aU@X$+k[FROs;l),Qǘ;w׈'3((?YY66iZOvԼ֎";;yƫ4ծ =kyv^?LF󻭽;$x{#uMޯ} KW=htthV:w{9FED9F5$[JxU@cLST1u$7l}z3сwt"O"+›(q@ADTaϬ*&1SsU"z qlw\w4ھSE-ZuD T)]$r@իsBv[G /5` ē!(&EGì/rĝ 9dp@8'' ׺:(r.rםASh}nr;G`^̉ a^b,v˒-wz~z.j3Wǐ3F% ՄǙM2LiIIt*qE՟8 ;g v(x.ݺ_{ |^ ǘsIT_i(aށ^( <\[|/X [Ok#Z\儷\)z}R/Sx7.ՏR \k ~v .JwF%+_V5_8ؒ6TK]".JyWi>3uggvFS)@:WNXlMV J %^AG]}OVWo3V5%\@H.&GN]ZHJ=7pzfsTD@$5Sa+RűTBp Tsc##{JfT¦9@=[ݺ2 ּ׭ҷg޼/:| JeG7FI :vQv#2^nLHW>>rd\L]*+|cbBqǾ[^;y*FU$W.rBl¾”ӋX>qO@m"C0F@Ukr6w#Lxp'9[Gu4OcM0I׺X1$rAq̙"78/̜7zT>?hD@T>'/{PUF_TpBԁ骠LU7J%`ט#ÜQ4b>!^蚊l 0I3l}43'4GxܖŞ; ӛZ%ӒZ^]Aۛ fS9' f9ߴɯ#yNN) |őž\[rgmɳY(#IZOz'p:[#XƞPIQTU<#LX{g=rUcJN#ײw_eSC]95HT?![o8+b>$_o;SN9&g@)95^`d iM3̫z4D$tY)|* *`F.h<>{D|*>xx'*Aژ,jҌa9z*}L<9"̯ԗC,dv|'q쑳%OGPvPg>M>&뛰<㢬yT!3Hog}1ԡ\wF~u]lnrmnX[|;lT𛇟wNhqy 2 *|;/^|2oLS#xJ8" & dJB‘qJU7VFN4(0 J>]_(bԛ$>;e)q(e뿨H /+w7>cD1Np@ }+]&eWNs?r0_R<8XHxaxIDddO@riM% ,!pW:_/,H˴}R 9&'VGb"7!y](hq xdz~p-JD#k_ r{!!R} ە=-s O7 P,ŗQt5'2\6/:xnb<4J)h{RXd߹DBf|-#\Gv'opKs4/P=Feb}?М{Fî┲o'״Ǘt).8/l~ӦKEm\( A E[rg? }-}u"{,ǗK/o5j+bȶ;V>P1O-3L*0/x?(o}ѧGJQx gG{ nnlcDBWܬOTWEL=qEBW 5FN9 w q1*|vP_.Y_ s_$dzPO+o͌v@"jO䄩 嬪'p$cY J)uk9x^uK$cX ''ϧ'y*-}.JOKOeb~%G- VygI`gG|+?,ʲ.CFlƴdp]4e0 { E{CpvJ)6= [({`~P'D`A' !9%˜n#ˑ#E:PE8X'~)Ίl? -Z݅ Vv Np'{=_xU֭ ~PPmfP<D v`F$Z`ZIJxQF'QxƵ8*!PO«.]Oc)p{ːG[ֶxNSV,ȲA l,GhomGc4:1l~g9>IY¥U/⥢+ACEt}, [}<șæ<`Cf,aK&KfdifaLo?oavU|j]B-˽`ZSio9čA U]/\#_Ob@ԣӱ\!l +˔kgExj9qq1GˋCg/Ƈ$y9nvggÑ1 SQ>f{|<=-AXxB!ؘͽ2*?噊wF:tDt=+w{d*tJtC.|o4#璸rrn5}PRzř ,.)/b[לF@B Vq?v*di&G rGT x\޾\kfAjnIN]XNDo, /L3sk{vq فbh7yYw'VVu3TU⪩*3,i27uW[CP`(>{&ID׆({:Q0*頸݇&36r4;J'9skYiV{فu賉!t)=ؔX|Z& ';+?7ְm>lSJ!Dx A (v+@O4qa`j@͛4["vvhPTb:So!ٖ8eb8`ą4'[mu{}|bB hIgٜEh(YdsLBxx8lx dTĠ# A8RNL|Ț.. ilpڍod4o;=o%N!eϲt#^2O]} #]LlNF#S|w$&_X'`>!~BU." 2s.eFֹix ~YZ`n"4%Ū<WHTt!? 49˗ jு${J/M?I`X|/H巚ʰ)@/ӫ^1LW.-fWn-f)lIs(#?֑(T jebǃ?A|ˀO޾.Rfg'Y:&S,.[]ٸLJ^ {wH“lN UwҵR"=wd_^+޿?nтA0>HivuąٝYԼowwgC;]]۠]*~DI*qzL>sS,3 `_|xMѯ_d$>?I=@d.u#d$2`8$;PI!Ud_sA0 YLHI鐁-̊>rV{F%r7iiͪV{o̧: rk9M:ەm Yyxt^oت9?uv/\ۭQh!I4 :v \ңU2n >Gέ3`<(PmQ#wWM9JX,M'agB/˂SG6տ w [ӻi)S /˒@~`7#L_O]B-M` `{COgD49]0r_mĪnGO0uwpc8K%W> L)/2u~"_tZajnUº6*4EMF12,9 YWm=-^[ںb:!Ls8}GJ@ѯ 6A:?2N$Y NN`l0'uS!8v 2"oNul3UZ3{$ql[/|#f8&^P%A+U)1TvD3˂ 2zmm6M Yw>'~`ؔM.iб5[8kFl8Z ,RP+Jf(,R$ѠOaef?c;iсyNk!;?uQtš8;z:A* l  bL|fW;FYZ,2A痐6g-"nf"SCp݃~mz*Ib4MCffc@, B + V@^XFUUȗW%]";D(9+}6quF]ˆq1x&8,#ÜOL`N:OKw|B wK1]تKK,<թmh7xk$-Nv)Hd@짇VpfIt24Û5=SwPgQc(6Nx( <`F W[q;K^`I'o6X* uFig3'{_wAzI e,iٔ:J?6sf A<:2hWlw^w^ؿ$t6AtmZżp0n%4's\J3§?Uw@$朞_mLV@}$B: Ϯ OovԝOhh,6v R2H*jyHM-M۟ lze~K42Xfpa9> d" peJӝY`k=4X]P0`1°ɄLY1pDA`w{:lI_?*} ~X,gJ9д VJĶɣ'|=>sM>,6k2ء~~Moa Cc+/h(1Ry+2\sG HQ۝(pqcQ*d(~z h&IGlYi.Y1%Z{R#eVT 6NM;FEx4=ΝtUa89_4J_a$-?Trc==tw'6s}`[.]w63@m";W/VD_}z)|L~b`CIfVOاؐm)ik`8dxG6[)[ԭk@B/h<`Dptɽ3 n?,؃=h5Kr2dз.r C~$7*#)S_ur(v%"՞Q+=Hzą&8wͻ%rgYíTe-iiz㗏HǥOh\"=1'3DEu@Ҫ^mGz%ZB:Bm`^@MCgi[~3~p ~@6r(!f(~DB 8"S="0W#|d7g"ǰYg�A2c.,izD c2CjN N D'AiV%G60S!\'OI_А dV8eiMM) sݬ!wf&TNQ0ZxJ)L޹Ѧ'ȵ^YSKJp%2Ro3x-_p[XP (o)Uo=[#4v]Z:H =WN#6ps _gfgN(h ,E? 1g#br|232D}dA"m˯ ڄA R 60^ྜ߸!FPzߓK:os ĔLkچt2isv䝏u`qƳWEI4B1:d`#JUI;!d%(6n{SD0.V-6&>*>S#"X u ZsH FxaV)>fz{ b 87vBbK>Ȩcc 3W-JB.2/ɨ2lqsf<,,ТipY^22Z 0/tEǦF2-a`1kJ݂?xu GCK:fp"@ϱKJ|FrWAܻ!syCPA| ־޼!8  Ax=BZY T ܔVc4>th>7^LQbR"K=JJ~̿)cx0% @yvaGB2d\X<٭x̐H 9áb-<4)b^[ = ~7QQQpSF  $m WvD뙔0_IEGpQ ->IEb3KM/܀c@ĨtHq>.έJ{כWW kg)?Xbz!٘ߠ(^j_b5ů5e0أ`UD?Zޔ  ivtmgG~bxe}WKw>pQމ%8^޹BT//1P۬ y:tơNFq/k{XNr7\sտҰ91q= Ow&qa?zspj_u]EjnYqRg^ߘeq-)6g1Ի|"Șݘ'āu{1 7Ne|e5e/a:E$`fCIߣX.04mPO\V%8LAw)(zX1澚νYn?{8_&#R;OFf _gR6H]=JCrp%% ڣ]sNv{dİ&p)wbwud j0WS^,. PQ< 6+"ee8 7MzZG>𜛩2L՛mrnPPń/ "%#J9B$g yQ8=@%&ƒ֬7kBsG[k{ kN7%~>zmOoD @KYTR"䧵vS#9 Zo579K6g☘ o+҈Ҙ+$Bs: @yY2x]wsM.p)"3ubY9zL36hu;1X?sbBk 2KPf/ɑpa={1sX7oTݜZ%O є}&,`m2p2y{`(7,oDF担־ؘLSr@1R\W{w"܁+dtZw*e|O͸/61c7=m/3i"Vۻj)w#O@į͋f(GѸ }30QݙOjzAwpǣ~kalʉn$pUamB W6?Ϸ/op?s</*fz@nR!ҺRCP9E˃c,iњ# Fv xa./>sIx=k1_w%oЯLb|41/Hw: 6G+G*se~im:n i\8ԫ<}.mu8jsN/aUmx`˜k}3=XN0:ThVe] &<׼o/xv_WZҼa3X6T(44w5Qs>)eS rC0mX% Z0{Zt](JX嬈ԥCO4+U%wvՖD%j)"=떗_*`|ZkE)9џU.i,:1ks4qh,DXle|F*ao^F@yKPϒ n@42k|'=WhTXd"f [n;U%BOd5vlE*x*F/ sFT((d~K9Y|(g2:i2f.qS @j\a-l)+`^0.:la6kt]+ @-f`MLKd|ZegמXD=4egr# G"GwNd`S_!Rl'%82#<fta| o ;1PPn07 x*깆{c qvd ^CQ da~FL^Uc36j5t 4m "`f]q~~l@d2AbTr7 tIFn522 #B>xNh$ۙE/l($l;SkFk\kc'c\Ml\EOkYJID1qJ@U nVʫu2t,W6$/xA-1ki Rm"濊c]\OhiI@pd}BԱK{ *)=puk[ R G77R¢MV)1|cNHp 4JaJ:.Q~:_">#0¾xTbo||z{Ĕfihn_We 5.9Vn7nrBbH ⲛWK-z|>yvct|~=bo`C2Qv0f4n1`$Ť+j;f 5Rm1^j\,~]aY\RMٕ{_߈?κBOHX8fMSn!J I+!oaNr9^<4j#"J7;.u7pц*^1Tp"^X$nRߙu1f2>ltn"s&*Ťhε5)NVde bÙkÔ27\3 qnC?C Y8d\P5 6#A>ffhӛu$: 0\2j5K K5ˋUK KuK+pb zݶ'B~W;;>$viΫRr8g؀y{%8fܦg9mubC>3g $^+0BZDz$nP[;GGõ|39R_;Kx5'"| Y1yc|FwfKF`#G'hyRMBۂ}{6Ɵﷱ;gڽ'_ޣ \/8yyr5wu#U˨aqZDqHkp8A3PD CboBJM %!YY㡬/er:HQґ1I &VFm^ hH- 곽 +AU&9ũ`WQu-ԭ,T0VXH%NFoPqGU4v X؎u4Ag$)DDoZsy=κo-$ȼfǀۙkQ j]̗Z59KXY]#j`3!@7=5M4r W@RWݏO33P C˝OOĞ\D@u .(Zy"lv+ HkmQr,SC#nIc{![=^ힿp}7[OZyn x,e |93~>>? FEhG`9] /Z_(y  'PU0Dɰ&W48,2dNG(}\DϦܶQu2(Nf>sDǖ:)PQ_MT22BH㭦lK\%#jpTowa858q]>G7_o&myىBABEw`խmw~0H@Q|~ OI,j_ZV9tYW3e5%g n?mnT~K[Tce^hr)tD欈Jվ{,m]r]Y}`PSpvu+-M K mMKmub%FH|#b18HGZ4nrZطʜXoJlkh;nE_Gj+UݺxC@tt[[i[sB/2l#Ԕec}2m_ڑOG f0&ZR>p^r=][s?φFxwtY|V,5WߝR1Y\´>M\{]yR֬¶0&Tr6xI6-& WGΙΓ*5_'+ptuJf 9ulNfLUfwmLd\6g#b[PhNLh}gfhaOLMf=!6\z{Sn754f,>n!o; Q{EZ `,Õ ~a6?z2:I },/^YoUCtrJzCT r~>ݛԋ/ݘ?Tѹ&xxw#WѷBE>͙yu@UE 3]Ъ=s%0$ 4#&sx+Xd+us?0-ubBb N1yp{y~}PzOXu KLHZ}AAXGwb{K1hvxYT_B"ʿ*XFҲ%u;ZV斿р7KQ؂M!t+_xlܙ*t zU`ekU+-3$*:/(2FPjUғ(4NTTxK++eשּׂ㷦G0rx82r ˢwϿBVaF@í߇`%/؁!#0p|ӃuvvERºb֔~*);uP.FJ[]H %VEa]$"yHb ^Gj%<[, ͙*i3B|?+b͜T5[ ~la7/ XuMrEƯCP_Zv]]-^"ѱYlL{ ZC 5Rް>loPy gf }oߤֺryP+ܷG:P>_owa9SEAoQ zȮPlN,YhP'J@+)fz=;\ ݵK")"9zU= u-%ݫ&bS `gYaʎM}y><IIbvy\Y3?fٟT8 ݘ^$N|5j? (R&MxmCE%ӹ_Er-:LuzLc+rUqVaeA;~.CZMMw2EܝYU!Kp$8ѤX1ū1_{!}F9]5AW2%umB%o-I_\3z[H9F 4IQRv`B`f8&!-Cb_vPt7Bx@{Ս4O 7E;6fM.RLgw ЀJKgʞWftǮC( Ƥ׶XO]SLeՑ) +aJF qU#:9utªuG8)Km5G m-[1i+PK-|t-VXR|>jSano<SdSNw3q 렪2c J2؂!$kqNţqITB?#Kl Xp@$m?RKTAQ2 ^|}ŸK ;ܛ_!JC1"}Ǣk=-?[Z@Y!_iU J+nt?ɫ)ʫ(K׻_c˺v\O˺oʯl5sM7c z6#i4AuJ'94#M߱ٙ_騍ga4e}>6RO5hr.ϻq- 1̅0&,4AH߹W 33jgbx~^ z( j/rufVy*i)_t+v#ke026nzKerX@r/&R:<9?U9zKdp)T8*ax &̚]1!ȉ5}}~̳=l&# su'0kWE4Mij4dkWZZot xѲӟ[LlL~)QԺAm`$*itE;_ _ qnlWެ13 Lb7I0} VލbKRFOŤTWXY:t9aRy/(R$8SفgGl;.l-89:`xgޡVK墇ņD>jrG4GϺvNא~8 y~󩱰ӻG2. qc,Zw Pi!z7Ko Y"P x3$]Ŝ 6OSΆzcmj,qϢj&mc>G,u"1~^75݋3S[l KCk'RpUNFB{V&F㔨I܅D)UaM[9_j|{V;~i_܄Ljnht-KRDz%ƽdkH3+TGv՛7Tj[uuAהWP/u,5yH gM_ oD.v-Lm STI6jv"fm_EMkcK,dw݋Ni/4 R=yDC̪ ߓb05ѭvz::C+(2Km/:-R$ZIc*tf#z+{µlƊXc?#MTVCE ^U6?O O%dzՖ{*y{]1#U#+T>˾uz%e6EoJjHwBWmj?3d5;=x:FK|AHjxOo{>?kidrƆJk g,Y]˪ǥC'Gg3?6z9n׭9JwZoR6YT2k4 2I_OS!WL.ԙߜ=#Zb em0zJI$G&=7j\~H(}ʫfi跗>:ܦxmlyxISuQ +κ|E[ G:1/98k>pKK93ϴ;-(0_<1dv˓}:£͌ˈ]ibCj}+Esֿ;\;dTtkfF墦P׎u;^4:73_4-+E'feTcChi?d\07byغrVy痖QX'D!t{ʳbmDžz!. /k j^[щU 2Frs\n3'-# R\V-=`A;ňl.@_ KEaO$愢FXn*QgP(F '"oIq)'wi2dʏ+)j<}dErJG~ c.caw6س&\kjNK`1g?ArcrA{Yʜbd̾aEFͽلF3r2322A$np3!µLR?u'''((̎qU|hSYOɎ_& J5|TtUZhxrlJܮШIoxWKt*J@ @XrFyXv{hLP @nY`9άWЉ5&淨L QSH,KB·1+Nz9Z"w&Oj4/3WEʻ)9SQdgt?9KQmEo%>8yy35-̬VvL><6R iS) $^qw e9̊jjE>D=ͬsbol*mhӑ6CM*MeoV ݳmRhP1nNDo)'Ģ u {pMcf59) vU潬4˨j!YO-r8$Tk}4ZMb٧E"\p7\v.o3ڣV[呧.A]A{Z=#/gnM)OS;3']ZW(e6ྐqy  {3aZ9R6u@EԻ[0h}6w}{J%~¾\_evW1=[hròww(F^.]ð %>e1VZHH̑֡3fJ5V74zs`[L-W[hO?̭E'LlJo!{NOO$BLԢ)]7BČU][݌zJpRlq̚7T"'ؓSMJ'^>=8?e#=5-wun r4ߗ5xoo LW ß`X~TQ.U)?b;rn-IadW̲7eeW6ظI)bgH _b2jBZZ)'xk%m Z@EqAa(S,0 ^C݁ t"{OHJ+\u@Ξ0j(B@Vfe@=ۣeQJGfpAY͑P-mE6):87` ŒwLp3)NH-:l 5^LL)C}x7װ/Z:gU)gV1Xlw_E0^#7< 7s+֏VhQP=OAG1 ~T@c% , gUS|OjS~NO ]|B:";w_xO))()˟rZ͹yiyJʹ4.],4f%*OEF탽B9 5U(g ;a MR+ ΍ZĴD9O7` #7@?' ]^X`Lai<)!R y8Aǘg OάrMtiexg8a ͌72tT^wQ}Ks#^ bP'rV8V^Cm[pD'Ĝ-K𡒱y o'a8n Ph1R ׊^k6'ÕgQ"16gYAaC=y?}K/wVݠRoҁ|%i8FQg+| whQ1}'Gg:_~76X_">I?L:NĴD?S:<_2 BwZ)_qXU @{;N$$*ͱ74m!%'p?pT@wDInI޹7D R11(`dH~ԊS77޿<6o\%0Va.7yqLWN$[ܚ@ܚPfQx7{]7}E|H&j+!Nޯd0yɱu61ZC2uj[vv' Hfni:ع630f]{RV+*ETE|`̢CEuX@iRUhU *(b2 V"lJ:a{.NLD!2u~JK'J:eP>wC_ox6[H4}H@- V $Nǩ!.|)2{T*~6i-@e4:3ckȰTҏ @ wFe* U>>m?"L+*[PO719_vgum*xmd|,.86 HRL2FllC$~qi.tQR Sm4}Sէ$9?H+7r!pCÀ&@@@;À_KWk#R "i`X v@ (h`03j#מT{[?ξ!5zk j󂄁O++?wr6chK5L+1 )V SMą)l0?:899ū&*OU%<&f{+J;[ Lݨ>ŨؚH?6'z>8R>ۤO3X:Y;$- UMHf3w>7H.| chppppB8phKB |;o[o "^ &`:Z&=00YdИ@0v `eˣv %ZN&Oorsg\$"@]&H60|,S|þBq*0-Egqg/Ãa l?o0o/g2Wc'&aNȖ?[\йXHrBTbGb&!;SISp[)hc иvnT Ca$I4§M @m=pL-Q85@-"X`yUYDz67rեD$Rw/#,2VUqU\-bT*Mqc^|n:ʯ=OU7/DV;<\cGRj>bUt\0 #(4'Td9\_&%Ru4_n~!|q$I&Ca:wǜga<Į H$M!v:$`I"MYӐȄX?vƜ* sWfź2!ِ'.]x}F^FR6˔s*q]ZR{w ioq& 錄Ma$"_at wUK)qRԆɆ `z *8y65#G,`Tc>~@i9MhPQ*KQ)^!+%?Y)6PvU]m|.n`3BLP(x،B=V隧R{q;o?hPs5z|1[-߶ Z[l"!YiɉYW,7>yʧC~<%&B&Ȼ(=8G jk~M=<9EeiUg]vՋAc׏>ru͕pMkΖ5祔u_57K)RJ)kʚ k@)kRJ)RJ))Vn )BI3e}mx@k0cB 2n10>&Ģw)WھE Eb^*;ޘ߯&R#8a.V(_&9+;z+1 bJGnK<֞p x09'o{{?nLv꓋6{bM2ޢ#wFWm)+'wavTa(Q\׭KB}svimHv T$Nn<|@QEiJD6q0gPbU ڹz\+FH5眳A/9W4{ SqPD\oD~OxIhY6 /I7IϩЎA:OFuCYߎiLw<^OFt6ZeT"4( Dig6E6.DtTLt`sHpUzz嬖JKufCH4sYNwx/zh g:=sF+&" z}^ WoW~dzs’/oZ9Q~T:]zk""tA'ry6̝ki]>={ V _̜4\?NzbЕK ~lDW>7lO^I;T5SqB`L3ipZ;ﮑ ڭ~3?ͩmjs5Gs\0_aV8q;Ħ0l nky7ܸE?2ojkKyL)HXϝj_H\=A*P:h#Z&2r1 ϩRK9 RӺckgmI͞}5.4|K[#/\mslٽ?X_ Kya$_db2udc GO`VqkDܔx{|ҧyѡ,ar<~Cc67>]P)KHL @I4<%; &/N'm cx0L2`sl^Gj_Z0MocRL9^лQ8( t"Xާ :JK0]#fc xNNi;j +)a0kfx̿_lٗ ;]+ٝ}l 56pPf ۃr(J-D5W98KaI`]5t&ĥfѽIW2F"j=#U< NV Bܬ*1vt@Y\ ɒک=Vqq-XdG8r qUK K P7뾢0/wom ~Gf$E+]҇K|f&|+bb;s?mD.]9!D*@䄈#;QU^f鞶GO 2IHK~8'`fp4Vqr">}]_o~#HHlFjGS D'N !ʤOVBFDKQ,m5jkHr2cؓkdwGУ6H1eN%`zS5I˳ojgZ/.k# D,e,cK`} 6HTIq:^qTtJ02zЦ63eT \ʲ["U@ਭfs=!J$n$5T+ԛ%LԲW.;IcsUCk5SԸxwMԪZΫk2ЉG00F%5Ү=>$v,,ڪ Zkݞ\[ YN,ۥAqCP9HO5ǽ34) J~l|||9ŤiFb OJo3GrB)GpEzU ~P}2 g@k|~9>pA2K-,z{?5PppL'(Mzq-ӥ{P}eKD+nY0>ucKkz~azj(b]|Z l![hc4!Οո8uEε;RS2?+e#>jlo; dю|π@0hCڑ %,ЌfՔ &"w0]\iƛRτ CsŐ@,Uaxj^~z >HaV 16Kނ8XuV˔9G)J?NL,G<2㛢fFqqz)HG_0(-)'팬Vk΃Eg`7q2?p7ăXZJd\b<E,rT.AqDoڧ'Jk})STg몪` %`zc 0}˨O L娫PI@D; xZT~ۣݑNlaΆs[pk01FQw{=o:JRJs\rZS$YLU+"P#@a$إa>-LB "kB{˜|򼓞 W#EJy/޿"s[n6 /'֤&b^F֎HNTٷb6G ;LՈ+%8t'A@0 ):ՃTn ['5ғȜADR9Ǎ'W".{'VT6,QdA n]M}S{3;ӮVQF@[O;("/֛n{8d̋ "GiQ*&ꖙKtAS)k~{9+;R2Eq:cW7Hňj[C5LԮDJ)VwCHŚ1ZQiJh!v#/b%fΊt,lNn(\4{bf\qZa`ׂ#})AgͼEWgfz_H#%S3c8PBqAAɉܑ)mN)h1vHEfZ71,^[j>lI)m9#vɲtZN$ֶ (aU8XG=JiTLaU|r*3 >frKeK#lʙN) |ў?-Q{.(E98_ȼwsE?-Mq$A~!8#L1hluݩp::*GKX@\W1ĎM-^Gkko_+:cԘszc瘼hDTWWmOՒ~sebn|K.đ.9~PLvqӇ9NQ-v6nȇU@jT!r1inb:vx{QZѷ„Z!&H-kZwv_ mjlu!;g;'}AVCo˃Md,&k^ƙSb6^3Gp.$ײ򈹿Wc+tR\'{ۂkW2Ŕ=v-5Xz=ս2 qɫ1s~gwX漝9K&In]{GVfU܍b~ۛL7w]I7\T>xOVaWH]D$SKC^+J=R򚔷0F\!MlK_wkx`Ba=|i^{>vb^sU% V. ;ϝ[V0WBZzmnѡbR̵7Yi޴ +$|#ozVJ-/'=9Ni.z.fƼZ-@_W{y4qu7o~3VXu9(l͚^)ScGw7i-^Ħܹ_D_BR@*l6[ڜ]™Bzo)|s[jyV~j#H7rIU/==_99b^g4o.E g!RugvӺs.Ť'uu.n f=!1bV%(cōrrR{4#^mW/ ._מr\,r:QdKy$/* ?p*W\Z7F樣vN gt0=NjJIM9̣[w]*?%սz[] 1̡FI#Rܪޝ^ޮaY~lwMqۭ}#Q@uHk?θQF]a7=C٥@n19@"U%Z^oEpn#aE^ )YҌv_GuEl@ԅ +_PӓK.U*>q2Nw1Aý!3>^އEmp ;VY3Py_A'M+uZnu>je6/X( a_x(ibŃ|||`ll;(J/ }T4L@2Qv>5Rʶq}ED+Amuo{e<yxk37{!K(Q[]8H34H;5/V5OUUzˤI;Pey~/l*m-/*m!Y$,xZc~or΁2ɾt@tld]TUa'([M=)1 %#nxқb<4슆oXJEJ?k5੫D&1Qni 5%\I6 J.cz?җ*}Қw1 {,y򇀡 A#CM>s/Fyʨzrt% Lf. mvZmɆ-/(7B lUN IWW$#&o>W#Ea=knl9K3O#:[G;y.`Ο%NX2c쐝ube<錺0Z`;~VhDDAvQI_G;$Dr"UYd, xWջKXU P'%'@Y<ﵟQOF[_:av_͟l񲷞I FU98Lz&} tNmXi'\!-bg8'粹J%۲P.PT]V:,Z6OKff8н>nj2:̸c+$+N? j/ Pl𪧺spVᓙq:[_S,~ۘ/# K[0,"S[Qh=yqLFcc7.l5f=aCTTBls$xʾLbE jo>XEƠ T<^6'3c$VWFg;ҩ˩mD|C p8ԅo8fu RTvFY@ݟ,'Y:H'{eEKn;.) Ӈ ɣ5!G}92Ŷ>nR.n_UWhW9 F]]]!*'"P(vZ=_@}:’dpX؅96?4*Ml+J-2ifbqoW)Kz4c4`ncFNғ@ )<'TzX/_UUj:Q:q+" <*c?AiZH_s?Ri("i3~[5:ԧdԥ4u|^p@>hA<ג5iKshN gBkORG_yZx"g%˯/BCT ?ܵfp{x[,I9Ww}?sTSJO 4-MN u/-bw[mSF41 i.a6(o1=[|iG\Q`y}~,bglɨI iABMj](b!Ghaby?TWB8|rJO&t5eд$[7Zp+45|PkLV#;B$Wn EKįFz "lI'@q)#սCV7vۜA[1!u!|XwV.8' .E[tUxgl486lPJdxFCg4# #;TD1,(.+5 1t|,t ML妨:EѹRTD6Ŗ=/Z i(&a; uKz[А6 A8Y&I-g άi|2ՏCy٥ի!PH4黽'l A9z50.BhHCʇDb_dK(Fh2I60 Bui&q6@zB||:X "j$l !$8\J'xQm ؂̳| JZ-]h"7 2(>14N8@'pxwgڜE ndOuHd/ǘ\/<7%| y6zp ^g鞄jZI1gFdޕm1;Ad"vi8n]S;#gdzLǍ׭24ȋ7*Λ/2s6Y$2a7of0օnTg4-1t`^'h7 ]ڠuL6Ya<nj6{PBR_0a"C|xoABm?;13)<=[b|kr]BQ'u714mJi EtbͅSi`} I ǻwƈٛ45Cq[c$#Dg`0lt\5bKϟJ϶E ~6P*p"\7ƒbǁnԆ}4,V64 z7q<%ijTQ .H $Ҥʐ)KwH}pleVp,^gxZU .=[>\=C08)bM)>?&WA9 blCX2\1kZײVZ.%M$1)d!BBav.rL+ڶN55JcY4jq{J;u2f ϜsEJjiB=})S|v#%"rY$=J9.\@VBE5R.,oSLM4O+ٺ5^\ +Uұ*a4HΔbbT|e/GN}֜D Cr0~$2J3,6 "D*+*F&!P5u M-mD1X@$)Td9\_ %R\5I<426ʸ(Ɋiَˇ=kaT~ #($E3, $+e;Ju}iD&i@v0NZox:_izCzfÑNrU- +iَAd,?K04Ŵ2U6/Xi@0b8ATs4r JjaZz>!}]Vi y@ޗԴdƬL É$2J3$[[EbT&W(UjV7Mffw&!A1 s"L &H, Jlw`gټ 0#(4$2J3,6 "D*+z*C#cS3s K+Y9yE%eU@apZ]Fg/ElK￁P$H54utmk௔ԊlWDPEIVTM7LvdJR/RS*5fIXfO(o4 h QU Ӳ04ˋqq$Ik7".yZ苅I (EaZФr(拥:sBTTAMͰ/lhM2-;F1`;?[N G Sj;8x}~`p"L &H, Jl쎗 0 #(4$2J3,6 "D*+*F&!P5u M-mD1X@$)Td9\_ %R\7P[XZ+(*) 0 #(4$2J3,6 Ԅ"D^& (o0G`~Wf+[]Ⱦ+݁Džpd%o{X]|2zً._n >I:h>68wNMQ2HK6(JFg`#Y]x򙺔2jIZԋ~i8SqM^wi߳G?-cXDPƅTXWDPƅT6QO3_1"3svHY1IY{jԚg:[=W3YaAe$5gS#Ҭ[GZ>+5Tnp NWx{AjaPDT9v$Ss{$良A9^ Aσt=dL(m<} 1oEyo\>kZ1vx0Ekn y O?2%FZ>}lnk;eZVwHyD̪|j]D^ wo WF(ï ɭNrze[yDJ2JS p)2p-q`U=|Εz=U_ӭ)5QJe3wΦjpoe˔<ц{zxƝzq/BP:*UvJ(Ћ)s#⊽i@]Q#8i>6p6K%U9b$īDp xIz .M.КbuA/RAt8IU8z(DNl@d#ҥvSVj3\ٝ+ma8A=a8Ardk%狓"NTg. "[IsXZ; R"-rpg R~*0,u8#$x,H#+F2[͠'ӎbHsBRHo9B_љ$C#6SS\KPc% V@2VIХtpa:!f 0 㡪!7 J0 w>fXN/ @FP 'HfXN` Nkt!߄ (8Yo>vGYʸRSzv.ח B6A*g9CT!An=4@FP 'HFV&UOPtHAMqS ԃȯ ^O_>tQDM-hlTd!OHG;@vX}˂+ƎVfůaC.[ # %z L=a+ .Ns4jr!6u"L(B*m[W5Pm˫DP_CJ}هo 0 #(4g@SEzx H0 .aBRicɺ>{C"̶X,;*VN=)e$Vna{ 0X'? <*X^'pmq+l !`y;M")؋;s`M+i?<`K&0;XVVZMቆ%CTթ$]J4^XOCh6 |:h<Grp-~ԓ)A h(Ŭ{cWG^IsZbjK)&#=ݳPd3uǁCܐܭyA!°]Kh込؋np3,X/4X^&A]+& ! jd[=xTHaUMRqk9݅m@P dyȄ&=1J{aBRic|ĄTXWE e\Huy5„2.ƺ:@65"٧ m|omn6owĸ>qM^H ,ĸ>qM^kۓ7̷ ܳM^85ֳBoxpm3r#j^ "T!A1hm%H"e4l`a9 !A1Z/;}ۺ$Ţ؜roPT߯^.7j|0X22}}uwOF24  FJ` 9 T6$N r-[Jlݒ\Z 8 BJ9mnNg?^AD! JuYWs)[JZ3ٳ&4z٫^dJ}LU]-?zM(utv ['iNPVPւ3Ў{D((lṝ^=P='Ёry aa\bam #^dp|g leھoCB侫k2:ډb,"=a5l/@/y [%S(k{+Ԝ)s=!+괓7C/G/̈!X:6+-,<&4^S.E>|Gi0ߛ??^rME3FT&;9<Sw-:fz9}=Kn"&8^smfB9ҿohO2 lj|#UH'{`ԊXe AZҀTPxbV+A|%B#wFAЦF!rRZ#prҁkam"C.mV:X$ͮ*?k`O%mm_zTFD[ mg .&^  n|>q8px.mf Wt}{O`aiP7ʹ/?pmzx[$DBNˉ(U,-aS2)ok#s":e?!OFf7{L *ee|* ӣ~_UnIt3l9q်kIdO,YN S[={HdlF&q~m߃6N% .M*Ҩ[n2LVKA 'it]Tֿ[L8nw`-2_:sO6e ]#zOhggc>D,q("_8"q(FE8",pȇripd0per39=D8";";"\[{a.V&OEO(+|O!b,BYMe~[FDJQVyҥz%I P?i]32V,ԩل{c9kR2.b/HdEY+|Je@ QTvOiuƐ|G=<֍@Whe, 0++g9@ *Tͪ;A[!?.b|nSt-㟐#ʓ+T+,G&@1|>hB *md%.0sgI *Za+4B+L`&dY@ȵ)42|߿3=Caf F\ aB#BVX&6 6l3If|j|\SK'"s@fR?`KάL)UFHdA\oo{GJ6Qr$"ԇZwnj Q>(1(?t 0A1B"*Tsu/ŶvS(]X4Wz6kf, 5z)EahN淜\9.Դw!>ZraRtCj_/[?qh9Aol|o[UAQIS$K5(9@(+x+!fI?TmEbjzrv[Z~̆1̢2xhId B$Db{Mӄnֺ U6dH0`,$ %ItJa-Ҽ6z@x9},0y}"-ɘlkfIF7JV?r6lPVG_hEz̚.028qYތVN(I #Q6KgKULC{7E^&B+c`A!Ol5\E>2.љXtSgTbKDI5 g8y-$a%v3e˩@xIJZ p+aJV7H* ̜1B.r)ɬS4)8c1I̳(߰\f ! J: 2-UIKm@1ox_h!!,7sm9*"""jo[Riw:F# !4^=5Sve޿jժ5*F1zkț^KdlB!DSMYKNRdf<@! :ȶ`%*p6w(un#sog?֯, HBz;._2jMQS"J!lj*Sc7*w=$O,ooDz6K5T"`ZVdYbud6 v<Փ_j]\0Qcj@"TЙ;L j.P]a2qRhGSiq%QC]?j2Ow/Sė%A?CNWpm8!FZL-z~j \kQc F;44QA~?YƚĤ*cV(YMfU烐e:f_A͝ enRz03{&f[u7h>Ͽ.wr+d91DJM_W2ߒjSL[eU 3'7'lT)qu+Cf.b`A9sʏ lMoyӾh_D1+98]IGckT'c\Qpjupx^%\PQX"QgaG=A0_Tˠ0d3,vVZU__Jm{tZ>Uihmnr]J OfGHFim~n_εugreWc\)P: T=bߝ5?ԝ\%>/Tl+ si(g"Q:[S[Sӭgǟ5: yxAMkRHaߟP93iȜ"|V\3:`rt$[7a` !CwQFuYNQD)UTjVI|ǘaQ{>i>-ٲwrm!p~$wϘ;^ *?h 'T>Famf> ,p*P:Π|:↙A(KkovVnNcݏ'4TZ[v;@ّG=uⅱS̝yMwEQpx4 1lvLԥWɃWm"<-a$b/E2eo;M}IflY-w*1B,gŠh3~G9l\-f]Ԍa[1kfV9Uӯ-]nvظ{ P1=$zD艈N6{ڍڡ^4eiҌ:Qclɋ_LSb&@H@.Ab9ngHL,CFeɊT8bBHvlg9)'28ojH*7?:VdAGaķz8.3 ׬x9O{?DaI.$ZJP`M]4ܸ;_@Ƈ&IENxAdEtô,*4রlG`J3,lT(UjV7Mf`ph^mvCphxAdEtôl$E3,s Jiَ\|y *"VT22rG8$09^FMjt1쎻fs߬9$)Tbs<@(KdrRh)/bxVY1@!Pj`2Z2Oٮ cqٮ I3ִջ!Lp(y$cT 4U7 *o󕩑 NTАQ0N&b/l;þAal4Z|WN_ dNQ*C -A*[r. 6Dhz]/Ӻ^ՉeS*SRR׸rDD4 ̐ 1Jf¤)B̗ʭ3%ػ7!μ!72Wws53333]"sq./v-x*SzD;K15"lvoN\|ù#u#s|V+ʪb*@K(II.C,r! BɃ ttvէACHu!fip$BϢ|)BR.tJrr19”5Ot?tJww yKwcE ""dXh3ZU=q]0/Qqzj ҂1՛kYgmaU.x3 b+)0 D*r.y 9t[\tmDJZW^P*a>JtE6-bS'^4O]u0r{NxAdEtô,*4রlG`J3,lT(UjV7Mf`ph^mvCphxAdEtôl$E3,s Jiَ\.>"̴x_HY TQI6] Xa@ĖDa2܊1sKg ؄Ne(j7md + R@8xZD|ae8D@@ʅ-FA yf7TT@ǝ!@)lYAewJa=l컂ZR. }Gs[0Ouue˞la2 p1u{߈Krm5I2ֽܰi˶D@8 @NͰ/,s JA]|VVJo؈<ĺ,JޟJ2FW~yƪB=xa07-KVwQR!LxPUA`"""""""""\dAwr%?fffffzӚsB*wT <%e2xNͰ/nRhaDIVTM7Lvܼ_t8R.DV=|}M锿ip9],D7pD?7RFE= B^V"pJ*S Y% *NUk h.ƨB ߐ0qVITrIrF!BK۲TU2.@DUUUUUU'Ib*5WOW50 S8NMīM,~@ARHd9'mwm`.D_j$Q{ "R%MR*(@Jcn`Ӗm;vA q$I)0!A1 )a9^%Y lYxAݭQ3N{)C"[fZcR2U^( 2d8 m-#RBItc˄!q*`S22fk:h=[2&ΠzpBQmj WAZ~}y^kBzw QO׈͟+?47|9:|_Зec56h0 `*R D2*UzZaG6%Lx8MnG%v1y7lڲm.=9#N$) !A1 )a9^%Y lYxALN\/ t̆.$7!+BQbZ8}CK(g-:n2Z?S=Rpύ­;NͰ/Hj1&haDIVTM7Lvd!A1 )a9^%YQ5ݰ,*4রlGO 6 "d\6Pi\8[\X@M@1 )a9^%YQ50-q=I /n&iMaw`# E3,s JjaZz>rw8AFP 'HfXm7,!A1LghzdXmvx},\"J*W};>K|JZIP\NYhP\^R0詧pMM$7ًWDWZjӮCg` @a !A1 )a9^%Y lBX"HM]Ǽx/4]K5JDqA]q Osd(m;|fБWkX{ Y@tPH jKݲqqʍ<œoNK~_L \ W0L)W592p! BɃv4s8=ЛAC%0f܄IS͙BLF 3)»e@2`Q QU ӲCJͰ"(Ɋiَ<.x[J@ֺy, G=Z@ +r<(CrOި2dF ]5Lci֨I3.*-?\L *Z`1B.ðw}^*"BF ,֦Si1)p2]R't]+D+ ) -CBA`ld%kIq ޫLb _wElo - RomLt+c#zb["ӥZYӵBo5ZxbJ$g|kX &ӽn=h1@٫䲠G|譇ԣ ضl]Oc՚|(񑂘 &Ev_M7Lvܼx } `; #($E3, $+hQDP7e;|׬6 ^aMLBX"Jgix4>(=:{xZz/ƚu6mٶcEWOvL8 @p&WNphxAdEtôTɩ"a[0u<5EV_ '|nzmTR>rQU fQDP*py|P$HerRAҀQfڴЩK|F QS|SszMŠ$%8SKAݧB[^:C)L @ e *e;n^-`; #($E3, $+hQDP7e;= w*CN K1$^2ak;ѡE531g.^>^1o5ۢ}Tj% %UyA H!aqw+9oϙ VNcM%4!$w)־֖+9x+$+,`phxAdEtôl$E3,s JjaZzSNx|`ђe+Vl8@ "B>n6&C'6 B0b8AR4r JjaZUEaBH;):'j@PJߠ!F3n¤)B[g:zF-La-r ,GNXjիVLY/Z1+ssUH\Z Wk ƭNE`vZ[G,KOV^x6Brcgwr:{3< m_fi{FRv&9=p J'9Q"tsf@{i. h~+䩫#`eeh7)n靯pQW%Ya!#($E3, $+e; )aDQU Ӳ7ﮧ8c~7( !Id wTX(&uC02ʩIv]zxA!>q>l#&KlђBɜG}T !4Srno~$:}ߓq~l+G#&ȕjc9x.]<-8s)ǘAH"Ui UEs#x<[-̗ǟ%}>o#LKsIwz N)jiN=7nr<[kN dy_ac(lmo^ 9'X&$+v1mG(JXx%OsPUWM3#R%^AMLJ ڧyJ,Y{}H3ozi827>d9t-iϫ(cUU}-77sy$vI*|5F57ʾ`h{:LƏ!ŀD~fvJF(S@]tܠZ3󍵢.BۍtMnz0/&OLj) `*e;]WY9X+9X)ک!n 7&tg53yx&׽ zw"(2CmGeݦSz/y +w``tD㥥5.>b;L5)neSV杦Qhy D R@ًͣs2[AZ J5S*RD+EDÂ{VlD{:n$եIKP7N'+- KɄml<{c!rX&EF{IV+~gt6Lzk=G>cԃ3kM}&=$PsdͻRAhvnG%;13871׷xbE|6ч&V"S6(?Io4섪!‚=GLz9Xz08BR-Thφ<EFȞ^ꈪ?.)~w 2{Q5T}Σ/I|BPĹ)OY(utEo@d^4X5_P@׉0۫jǝh:| @CsuZ/[t)/~V?MP 1g|/ucQɩK_?Ex쑁TPN'K[=P?gl)[ȹLJ }˜9g !j Ԁ1Ì)G;enA(l_ֶC7GsBiN7Bkik3,ͨ1hS޴+vu*_EN!q|6$ɔ\qJ,v3Y;m65AB0β>ʻ$4n\\Uw}F,bݽh_Dem`rܐ0Iio}L=A9mɖ+Xw ֵ;ri{7ƎmqE5-Ӧ6ͺͲ7 itԆV5m66[ooWHjˍn]BiY8,җfk\˛M^+=lm=ce3~Uq"($/گ9y'uA^s0!$)JgS[cBɴjeF Ehc%/_LXc- 0b:# tbO=Ud_@2&4&C?% C*PT[Q[-mk=Pms+wPZU.mmlJĮ(Cص7bg<֭G}Eݕ~?5 .spYc` Q&u|y`0tDv(?Rv0't:)7v_ Ҩ|c.)NGeELY#*:uv_B^;.PtU=npOϞņ'>n.CplDx˯^G_VRWYm\OT /G%$H |5FxUJD Qt juI]i@D3`L[RŒlES ]{?>PF%1!™R aTkVxenN4?EƊDECzhYҸf!șoeTn8îFvlM#.HfK*BA<51$\=$M]s+N8{ъ? 3~o[ Kȼ14ܧ~Ӄi4WUfM<.e|7,N9%M 05F.n [L+G5Uy-:78 x;Ԭ-<.iLMy"ᇡaW& m`*H5d}U>2$*.1q?:pjŧVR*~}4'٩3 8ˇ5F|\[f99Twv{pbGj` :t؃t~g;?"#6j>/b/FXwSƌ=cl6T`YF|x#Lg;/;-z _a´dnv," &iEÇbnnA~U:,]c;mt'5֢BK80w;<&Ǔk siH!3Fdzk|ٺ.ߣ]΄p\>T!^$grq w℀ G{ژI+T HH՜ENMl{eq|̍E←PB-T5kְy!h:_[KVK=ݞ*Ⲷcۇoɵ!+EP!)P"12IŪdӇgPRÀTP܋P+.#vVLqX.h2f-ʝumE0ŶSb5)}ʃh7͝5Qsܑ1OH{;rl033}y] M8V$}#c"'1OK7/R*:W`:sxmS@}w| HO;JYjUhMG몓Bݨmu+_|L< ǽSUt[UהH4 ~bYIMKkóܠRnؒ͋-owBDži}w$H쌼4s<}dV!͸?1ь/<Wp=]N}A^;ZxM" t6;TY (38^> W!bzDzC<)[0)]dbɒqË^ 57W.J"]aŅصJJ}\YX8vl5wLNpAs y[ (` ~6m`H%GN6Yڴ`>z8[gS]~ѓ\Urfcajȥwu2b&*T&G3^Gg] KnZ2ɝiyyu~є';=^uW o y6ҳ0+'s~|J}+Z>͛NEÚ% ~YE7@;'dL䭱ck(yAMgwMlr%:ޛ^p~Kq#]B+I޳v(п<<+psC.[:qD`'faD!8Ox7Ѣ%XHgo`S4vWbhI,މ|&]v1adG:)B|'1"U?COiv tmwpۭGZ,֌61L䮷ĝƞ̱Iz@ް!_8,ՒU:>~}nMzC*Wo;{8[0cgo<[c(o)<1)sg=t"#9c"&^uNz)*nuP:o&hg&h6dbOصW-b."G'ALל fX0Hn:w=bL/BFxtYVOiȾJ](c㰈3V{IJ 9/ˑh/g#[_Po<{D'/yېAA}38dh[ӡ]PCy!c..+^XL {6֡KyIl*{lU|¢ޓqC0O С2nDzni${d|cYme8p[n yammy{8ćN"Ebf:$ W)}.&jz떔ލ0Tha& W/o|?E)'Aɤ* ՛㿂oI2BRk:h2}K2BRkzTh0D+N,Cf³i*%Tr:ĵ5GZX> #(!PDiHci.nM˽00#v7<D%%)]ubi-jwB4Ni4M4I:Nd4鼾eC6D%oKhi7qn ںM7l-ryGIdȦ0&<-X|Ҋ&mXvog}x㭾On58Zm83tSo GPZ}APQj+hAJ@(0;#"Bf| "hx:W]&0g؞ ܈r}noɩ&nʙfmιηv\l6sSl7ۅthyu \7rsɃN1-3;?p=( NF>e@dt6 Plr>r*$1 kr*t.nr;ss8[<=ab"EJ7Rf3 78hFXxc7k/ۅ4N7!97\99~5Ѫ>sVc8ǧjӟP&w}daw֓mX[ڄmk_]nx~"*GVs{oA#Gte} #(EbhW  ]/)v~ Wԇ+0%\ېvIebH;(`D4eXr#C>DQ ݹcڨ^Uz$nPlpJgJA(EӊI< N'eF[!\hI3VC*ՁPmC j7rd~z:I%';!dd+[NҚW٦AA+SRh]YmlsymW_ܲ:YNE]qv`:c<)z+#}5'NrP- {XTY?gBڈpQwCcdl9_$R){"]#ʹ՟&8S4p.=y|U.框 7v4Sr`/5a=C)mùCٹ${ ?=gmLKc':ccc& #euUҞ*̰mT#5v +ON 놺=Zp Z&/ThiѢO3^^=uﬧ3D1&7b+.EugGU$Uj36Dn@p쩍\ ,| Me&ϔq3⛭,c-fVb9EHeUt dj៎9@p v w4GyNp3! H;nR@z5;oƽr1>3[n*L2p_)w0rO|3rl-se< PUd묷>34-Z(t \vS%q"5ًb6+95|u75Odd`(- A aٓz̠E=[պY3"|>Iy1IYh(FJY֦^dFIMmn5SML bUm0&K5 /(/^5udhz׀13TkIׄ9b=[Q h F),x1 ʩ0bzBJ)V>KrRs Lz?[G;-g&imejW}u:\;4yɨxc5EoKZ s{4|HV{lRner_LJS2I=Q@v<jE0J+:!lF-F nZԝ:'1)prиƝw-{Wj< (Dݘ魼>y ZG7wJ L\[n\wLs`tT51w>d2V@# = ʬkce3ߠ&F%EQ'Swd4JPnpIdM9jqVVëGfe Tq5'5|hܣ{lIj{B1;[{.m!-(53##I Df8A*1n+zw=]nsybTuC, qK#v/N^ LPCz(.~PMLjK֛s*U.P$BTY{u>5>Bx~1\Z9[Pi˒uJɃyvȧ`*ūN_L֯_m ZEh+| ;?LM6tSK7֮~ƍ3H?C]eZ!,gcd@_raBTejcc@FBhs ;8b=! O*PT׹aD>c*k@"v</.1L]{%{TH bQsPK'8IT_4M ڞI2doƁW!A1 )a9^%YQ50-D „2M7),ۑcDM8$euy-7k +(U=+$怰 NͰ/nI /n8o~c9Z&FQyaU5B^72ʚ);%:q`{AgFA E5 d%`CN`}NN&hDUvt_Ҩ<]Z#Z}aI[NAS Ɠe9CEԠ~rUqɣE,*B{ 9d+72Ӕn}d/`}ƵR% Ɵ̻xn~+/s;D@(YQwAJj[u,qcEL NBbv}p[imHTD"#|JbKv\Ql飜FLb@h4EV!'E s"IF##'=]KSI4IAJAf2f]> zQ-(9aqjDBʊzDNXgZdʔ!cd8*#c._GhwjvnbcVl#ιJ$@8Ϣ&j.Tt$Swt4hHI IY6,抿1|zyqpEm12mP$Ii+OGKm6mDVG&o r/5T\n\j둥^X^3\ѡ@[P8qȖJi;͞1M\ȉNR2#JYÎ=@Ia=gwCJm\ͭ M/,_a/$+oyoӼ>n Wo/Xn=l`TU\:.Qj]vvb=0KhP\H"S7o'v0$*7l^[hH}~9H433@r[DF;PD"~UUUUUUUUU"$$I"$̊$Is{V}9H433@FJCiiu+:kn"f8JV}Lw mús+Kx<`4Q !.ù\D(B4|YO7¥!PdP6 .Bi =e8q9vN?)o ^6B)߂&[ y97m8|*MWKtɱQSSO3ymGp<-~Qx=i4 | =E4цesU7m>C8ד~H \QrչS`BKk&\qfeO@]mw)Q+yϞ]R_="/#e -]w&LMnÐٱ4 a A;hd::IշENl`]tK59l?3%v);˵#>1Vcʉ>D){k3BP'bZgk;&Zftf$EnwsH1#4|ȱ`pWP`Fw4,¤$0ǫK:]uT2]X2ږۿJE5OMKTh@bs mOV·z"b=PAAz@1<7Yֆ&q&q0k[ٜ}sU: gvls Ku+8j.?wћ(\ XUq2Vxcku5;I_jйiO g4Ba7CMٷ u n ^8i8x¡b*&,+4n;Ϥ04Q護~ͮP{!Smfʜ`_;QƏ ) :8@{׾xS+0_j|ct;Yf'zymB VG3& x259k֭# $"05A2Ȗg)L )(+jB~|^~ƻ4`WKԘx+Хc}5,@n '[XGqyݨy;S_~caaSO,f2bI' ~<|2 9=>Y;J"5_ta}]ltf֜om{|iiOaܖ7ƦG*ǘ;O yl~kjҤ &lV=UeHӆT~w9Gz117,Ǣygivi;Hgխ<% I1O4DžhwV,6~ "ߘ!KY( mpϟhHw饗X_o"|v<.nT #u#ƨm5M^_vHt4$Lt=.)$_yY@P%Pdn.YdՒCKN Nտ9\Oy^ b4L!%Hf*~ݓ\[#HFU&MYnli #[oo<+LI\IBVfUfCr-r6 PRQV^iUvǿݢ|)kϸ;^(PTR$V*Uo:EnV=3~s3o6ve)N|RIRXn$=R,2@EA F  62YF2  FbhpoYNETQ㚁dpAU:ωd$+җ5s|"؇M9RPB/orςi8ZMOCAΫ^'zpzKsw) %lKjcnOKm"aU<Z}0tFDituwÿ &t!)ht]`-C>9rGɀ+M@rc2}9u߮9%(JNctKhXBQűŇ}\٪O#Q( &~[AԱ~m=ː 173C<0 fF݅ʆ\s'1ciO%pgnkNN!fn{(-~%G?@ŋӧaG}={~4uA 7ט^|X6.t?qY', i0 3}Co?U9TN'm[YРҴ+9sȹ\kr65I>\Ny+~yI饒 %B$uN{p)GnRl7>| &Z1af=5IMnBJ,[M5J3GIy,,s^7HkY^iulN\.Mյi&5䦘TS yVtK)V:Wݴ#ǎD~OgGcAt=vs9m읜rPr)Ês:ZB5įx}eh*Os״{InO6\~yرjQnQ}C:j[˯ܓ7ޘgct{ o|ܽ`F_YLdMȭx}N`R4quOu֧&ͪjCOo[.6ĭ!3/-gH yR9LF/\KPLhiewtf`{hh mAc6kcka{]l0tv+jE2sqR5فγ&}ZZ;+w$kͭrьXDfgFݝ{G_X*G{;g=ϩF? ] ۡ}/$:گodOΔߗnyVncQ^ Hx+>;Ohz c/ e:6j {raw&nbͺ7Grrӣ2}9ř /#|.EGN[Fff,݆>T;׌f_nE;+eaceF Qh<*l^KO-ji#Z؆U/͊ŵ.(*2w'_RS[o4֨|}V9X@]"{v J?d,dshpHQ708A}u4);f#2~BG$+O9K0q@EgQbŁ\(*$ywmggv!_dj÷nSU?{Gsy=ң=&Ƕbzv#y|2(mkN:pN&-:t}ڪUc~5>z#z8-|s _XL/ٚY o4 ݽ=K{r+][Jw678CqA>ƅc}ѥS8|zdi9C>[hة{QY\ň_c c]!%ZW?c˥Nʋ&Ȩ/+W|kzkԯS|:y<~zyZmlc7V>Rvri#L$y,b`TT+ZbԨF մyZ4J2l^һh?kl!fY-/ƊX +uwEQsO<}O1T^cqr/HHW"}ert$ubŵH %#ZnP-8%+-ù2lZʿ 1P]fv:]خBVU؏4~|^yثó@xUJ.qf_D]B}*ҷХV\F"2C 3Vgb23~tʭ<SS-h.vl=/g H,;wBaz>~E;82JH{(UH9ГԤ'C(*qRt+qp"27@ xS8,'{S})b?8cJ*Sq&?geVgmgD12&4IMDd)8̮Z0B0x#MjLYE3wDt9ץuHIQtzY`@+ߦm 4jyDU VL+2-1wHHU2NDAkJJS|CMm" uWToe|\TJ6RժQhl?bPi,'Mnl$`,a/T(\Da T #k.\nFE5+Rhh~Xӕ&D (Ѣ#Ʃf P7*zU]Ol64kdإ;SSc33/^-,YZvllZaoo=g@KՍ$s/}_B;h@BZ]*%Zt3QF<|F Q/FՑLj̚ly]r /U`Wc :qu}Cv+nG N[ݷa&LݗTiIG{' :^k1|%")m(P'(Cw`gԋ;"!!Ԁ`G `@ŀ R,`# Ƣ$BZ99:SB?S3 Oc_Q #(lb%Gܔ6F"q%GieK:FSNw.dbҀk%J.6 K*ԨyF: iҤE ڴC.]O_2\ JaHcR0Ȕ)(0#̘""Lj&! %uy .JJ]ᡥut\5 ^vG.> K[UK*Uު:J JWZ\\U'F5_UMbV(:T}u%X' !P Zp"-FHɫ)L⊀X3bEI_4(DO슢RXULJ*&UMGXIT(a*8IXI)9U rZhqFTU (#UW&J5meA4V9OJ'| z 4tz3аq $hcƩAy%YШq:hphp9hdh8 4~hp7h*Ф3y&3Ŕi?@dzA'j&v_͙ޱG%͏V E@'2@&'T+VM &ѧZ"KUg7\'F6M6.kkbgO>q#9~>d`D;]gje=WSCO(Z}@@GmAG+g]:&p?^>qrS283Cya~ُVqsyN~Nޠ)99{?văf"X?^Fg@   5/oF$Һˇq>IRpRU uЛ@oGAi{]}c>d>{~R 6w84s|~ѱXND#L E,L9.Z|ACz6P 4l>}RI(*TJjԜN Y4iEK6(mڞѡIz/ 1:oj\0lkfu#35 d5+Bd=s ;5anRLPRCEe*544GG'JOc rzU즒4oネˉjIડ%N)KݪVW(9H殧rm{^ju.77ΨrI|wrAE 7;~FCFߢNm,hpO WA e;c˝Y3]wӞ\>zzrer/sw?FQO|pH?BB?"(@Q^"8'o&Gtr9#E -3<~"'E\O*4Ӕ3tUW 3g<+=(s"Vy|ߤB^\%K?i/~"zxeE˫BYku 9q}j&IYԋ-QoF_=x{ w fݷ.zȟ=Q{F~V0o2N"_\MCqa#E>_'N8aNSbt3V>7>'/F.Km $dE޷rE11{[B? Q6B&q(ܘ*(,|bB XH6fAə#60a0%AՆP&T!4ty 02&ovm׹ ce>_]IUO1AlpE S}y*Ce1?S?I,R3̂x,AڪW@ΰe/CNEA\Oݽ44ֵ[ Y͞%ộɹf2|WZE)Ţ?3rDFfAx}emW*V}rj!ց^-s?nG)iDIoh"!#9oJ\u`bd{Gb1>q^uf ?yObrtĔiS4nӃ{ (lc{N xV D6,ʝ?(?4O;KES8x$|:Pia5T6WrTQKdTh" T8PmdP"R=հ|^pC[-ku`m$>;@A^(@@=oV{MᳬzDDIHR ADLH@&"-omXk>7ַlz[؁@;Vvl起TQE3I$Z CI3Hݤd"Ja-иSb(!+M2 Ph*;U4?QtZi[0繙${wb-P81td8Pe{rH8R˟8QI .pJh)$z~WIM|{ߧoa?N3n8Yf8w;?-2´m e+XW5\G2nNܚ{ :)= x4x$Kt4jO=gh{^K ^y%_YGdy*CDE!瀰 z d(TS"9+r5JB)Y0RAN Ƅ $ǔ_09`g03q7^f BNso#(;9y wu%!NwuVCZ*\(m]5bO --tik0", 3̜F7HO6ڂ{f^bEo2<ҙ&񈷞~=7 `&,N8:\UxV quz]Ç. !c%QbY"QRY(7iVqe8N( oD%I2ZQSU4{]g7 ӔbYl1Ǒﺎ{OD1$$DF(9,NRQ1QS;4N̮iϸtf`]BE PDJ)3Hr T Vժ=TPZԩ##7vzN'A\a6pCQ:L B8I2(4͜aPX.y@!%T)RUE4eld)ܲԠ(HU$BPJf iu]a\iBeq۶8Q"tUy6U d0C91N@"%d} JF0,&Af;\Gx<>@ ]]HJݐɜFvl>brT*U^{Fv'b|׹:O`[$?<^M0e Ǥ`.K" +RdbŀppÓD@TRJZL -_BD 2JQPL:@C3REvj_[C0$ 0,A(*q D$E1ѴBS. :Qty%POȵ"`v8НN{\.Q? `BBF [("B(*j%@ d)L X`nv#n#PJJ+%e4t&G]~l/~ү~uo~~wOW?mm Iۮ,P2XR u4T"Y]a.L(JLtL1L 373 J.mU!,f5$Z+:H^ 6(]m-76٤lm2[m6r6+?@' 獹ຓn$*JK(\к 0֪Qc#&jP gxi);Uڵ{:fW :Auӝ"L_tn F8b+U%`g(Hq6Cv~B4PI]HY_tؑV!ٰb˖m{Mzڝ1CDdD&|Aո=P³UKQs: [S| zw/!%.%c%L W.Sn4xg>}_+)Zk>٫[Gյu[=swBzq)Hg'-{~GxOZhMk7:\}u˴H``ke5,zx| 3r?== 83 c+KgiWzhMmgl;T{cHKw D2WN/8@DSi800 Ph`/ C<.E^thC٬][I6Qm LLF9Q݋ڪ ֯610uo):YjģN_.? c=׷z*U` Ht)Ȓm5׃Q3zL0jEWcf|vT&LPTt0g_訣pm'b0DWgg1c`IIQV4vU{dcciPE@*LB$P*1ٚ&Q׹ CLSr,Km8ʥ4uM<@6Æ1b?cunXo6঍6bMnl 9y ^ꋊC/F8 ]iC+XHݷBMlp3nMabX"Rܡi CeqD8̐EJdgLQԫaX5 aJ";y«|A)?z3o9OYo[:|w} O%|q~3kdCO( ^%֩x_1|SVLH*q2,̢6JLFHh iE7 2#z#~ '\4LB=xH G1{hz# EiӅ\wĘnٰvoI"|sJ'|)źE2!Q^ x%Ru!{@[M*094EOMP:K'%)ܨ-2qQc5#/~Ja>ģUxxӜz"ɲFimzSj\[%j(T%g8JӟS,14%cЅkT*hZ:}z18T AuItZH]0{du:)7Q":+# T2(DV=gTzS$G^"}HṾg3&싪ۛDR, iM$Kn,+E{PTpt2CFn- ]0Io @Bu l|.xŒ fD!*tWx0*9(VhtvY k mU`U%4L 6Rf΀O+|X 5 9ϱv,QZaQ0Ѐ ԍĀ=1P0a2\39X߻$$m I!i[3xV{]r{=C<4 %b-y'xQXPQ0cb֤:tnR:Iu|8$8l\Lt6i=͗t:o-Ɨ*6ZD(kquCb#;|pC_);k !"&RK/S4zo n2T8Rmu*"R0"նQw{?׺NQ{7ao2EN{s]_7~|q&uS[SS.XRDUuK-Bq#ڷdм1[  /a?H?&ebKod͊$zV8Qå+P|վ&bm`2?}j da'KKl- >xy݌ jX#=. cI/|h۷>4~!j|ԙ-!@oFFlH.5u#n6[Tq;.6D&e*Xp۔>ZC5jda?bKN(@kIcBs`م w1=gK8Hћ?Shk E#K[}DX*_$n0K1wǥQea6PCĴ+c3qf,1ْͻKzV~CABi(ʍuEgVLeMy)g\[#a  O]3n"4Xn-w]Yq".#,9g:#Uky!k3YPi:3^Fg[%rVM]U[NM!:HyX6F>ݤ1Lup^ͯ7rׅrہH[RZ-TQB ٺ((f3,zlkY-<~QiCV(9Ȅ;!y.i: 'OMT5Wt72ܗn8 ox'L(anK;&P#Z[g}|܁\>=CN836f5@y12HөnIy1q3#qRdE09 c)AYJ{]`t5V^V@W_w{;K{'d""sRsHBPތ hӧ#Tъ#M\RTl~M3Be!E}zNwT'q\?i:Uh.tMvf2D.{O羙kPZr:Q]B247!߸g[j󗁑{\7]sͨla>^NOo* ):7&43L"WjRSԙPLWW46{ݰ3NO!)cpa sQm%3ț멉P:R^G4`|EpѠ:"azYJK5&j=@]G4m['gs1U##̳^P#n|H2籟A[lҷԸ'ku mZDdTN/!`Ν8ZwH,U vaaRҙ\(;$n3mV)nXw JV@MBA*g=W7!.wؚ(#K Ч#Q[<DSoi'$)9:s@O PgɈMr9A﫤?U,/GW,7Op(36Ş逶+F w[L;AD5ކ%e=xBcЗh' WB&hP4ԶQ;#̍6V^JC؏PP LbwF+A>檃PQ;( eL \j kV;Ns.}.F~q&xdxZ2>ihQڹ. l:kL-)IJ{3.PT| jHe w6 (h b]R)@۵쎠ĉM0WZ>}h0.Eu B3\ vE ƽnd+Hŕ ܽY2҇y8nGƂFٴT5̆paz6,$OԬ]0Xx>~M"Y;݌13OEa~Uz։(6y2Jm']b >(1N#;7%e^=:I+.B:҄3/r#L ~ Byݖ:XDz~$l {2;^uF+BSUb<HRE1_{Qtu3ҭurxrщxhZt%³FX#=5=7o?g=egIҍ5w96|fZM>t^xY߹|!4NYnY~JOK 1'$?3W'c/'cSFkZE\v!b=:A 4:˥ME=ZheM4gF ЧP z {<;$Z "PbED 9|jnCr殛^A/]5&?ӿXub?Ϟ?^7X;a b_T05R #M for:[}Ϩ*X3ׅd&=7+싆 AZzX|P{9s 1.ݛK4r]Bh嚠; _xj;6_H+yslpE0W5.Ydhaj@Ày_eMa }ހ>>EF?:!pvPlc@V-< Hm=RkJۚD>pM73ʲ>}_ $?J\(Y,OWe]K*+8  wYЮL%-nҢej395?tpkQo=yj}6/7Z=sMZnⓟUBlz/60!!n26P5f7X(:p'~'y4b }v^:c.x0>ڣ,hn;[ {s |OOA/(ȇh4$8͕xU\ ApjRE6^Lc<|fؖQD׮.ˬ%u#@Qnlw U" B&!/?,Xi9LO:JZou=[V?2#ׂCMuqϧV,Qs6[0M;&9AF.b-{ų#d&ΝJ )Zs&KPޛ >1sç@WіC3$ NdEڂbIr.q c5mC&ϿYi\mmܖp vfwJТ{ R 4&_VlQwNO+YVy5f)͝CRo0Q(z\q3ʌEk7ƆC||W ԸiNQzdc|3R)j=g @|ƯJ36mһU @\ G D7<"QQg$Оg'5π^;ƆA^"e/<;8>CQ X%' q)0U/{ls3>BgI=AՀ˸4Lhz]xoDur"BS_Sn͊û2up-\-B7LUwٗj3WvX>LKjҢBp0M[w 8\jz5`_w=- ;_O!o}278s.]ݱЈՒ)L-5+^7qiiqP,p3ɰpph'7mn)\mNfŃO4 *x5[ it e Hvu V,8J+Y1+f'cd1q <8 <48"ZS~ڬfaWUDKG\Cҩ/*+`،{8q!coL{ 90vˣA#n`*pe>u}/,YNo泉$L];]s;+ [M;`4Ɗmű;6inqG+j+9 &3<א#B'wn燹pVgNt ϟ&:6أuMJ& ꔩZk2E7PFu]sy6F`sJђا=@Aj0M=,gBBْyCLZtA2jEkdsq{ 񶸼YoN}ze1]ʪCSG[슞s }#eҸkD¹kx 3 2ql{^~kFwy 2 [$fc$S?+'/)$au R7<]i$k@ wU@aLf:3ub.7e"os^4ֈmrk9V^ӶQlg%gx]jԻizjt>$jʙj})ƇsD6l֫ڊ Kenɂ?*>΢߱.; o| .e:(DIEWWhѧ\ߋ[=.+̈́`^r HV{+LBR j8@J+QmzMIo(i9t qowhWywZ4N:'(k!h4J{''2( `TwCJ>, "' f#_4Ґ5c+rkDDdƓs=nˁ'?0y b^fSx(|,A Wdir`-nwkM`LyhVJ\{ɸ:K }fg<~7lj5#ȷPqKuoXxbt=Κ!6%BnMCeʈG`Lp@׊iƮm>l*nj;m' ۰&oE~]9 h3dmXwZp)F޾c~<)pC4Y^'/x69/ycegtk1t%Jd2IO"] ϦcCMrSXPqOMa<d{{a/ L5d]_uM&4;@0kKF_³f^P:d͎ Ję~wN,G)AbLa 7j~)Jh57O;[́L‰MvW u Y`溶bSTzs|`ĺZLmM2?磯v,WcdA?^5vٜV ͧR+}-A IӔ@߄oܲdR*džq]SDR*d"YWBHLyC@Gr"M_ gM?5 z=@ot/d(mcwVbOx;[]Rɽ%*ݚ]<\4=hHR!`΅!WC,V r~FI6 V-Ԃ̶a:V ]k |As'e&Q-;9A^|,0k\V&HAC*mջ0b& duOj yI'ƾ] }a")g關jj ~*lհW4W>vkYTg@H%/uy*C,T|F J^F*J2E @!QW) HY*x65%NA>9^&)9;A1 63McWޛ p]tRwͧ:>t].i%7Ȕ^VWeaz#L?_*\Lj'wnDe9drVtvX̍Jz'Ki꼷P>H@D,<Y&A,;)>~$ԡ40R d{ %AFꩢF.*Ƅ}>HjWhW]JDmV2_'PN;uIh{:pguͦ۱R?+6Nm։/ul"By?ƵTZ,,SyRݒϊr[UiIɚl\z)<!YRtBe|N>ΧpfӟdX4?ggn֤)]n?顩TTjᵞ<킎!O|)LMv@WB>55Z} Za}rh؞KC<=Q`aAZXCzA(^C1hO;S%T>)kIRȏbFHazgk]tʃxkGQ=HMAh޲ʠVºYU)<2]R@t;z@xz;8LE. 1_䷈ǵaHX1w--% 0<ݭnfc,K^3ۇMЅN&Ú5UtooΧ 5`ϑoewVMp 仑gyP|x+#ˇ+(o4sKY."j hV>>⺞xy$>5tn"M?vXL sS*8@Q- OOdRXyw"7m¾kQjU}/:z5[7\QSH> eAr}`$dTLΏԌRYCækR&$oI!R?1m)ݙ۹:|MS~DJ=w]/IYʌ @,ܷ kݗfzgE|ć{M`JU9r6u($4uɔPqn!#)bG9.$t hكStz f,\mv4|01Q3SJaX%) EI eϸ0`MҋiL`H?઴@&KTB>]7zW 8Tl~RGՕ+!'uǫP)%KEN:zWyAJJz?-9υ6'P|rS9LӗK;x`ң'amIJtYrgh4x#{Vܛm<UBCS1텸) Za?_^u.:P7ߣyBf%)04z Pʛ:B}hʴ:@n2h<\*郛NmhtHZ~P & E lkⳓ'ONPd#t.GeTͻ:mG'ǭx-W/@5]Jڟƺ 0#xŔƫ1>0׆X$%r6&ϔp9.T2XH i/ݷ I*T*D)~{Ya^7hw:z%(a- 1}不{E˦cz,U^rA <;⤩' 64'6l'`iT C`$!H40Fݶ8cbCq_m\M1{9halyoΙ1ڬ3"C#Dՙ=Q4#aYC(WqֱWJj\fa(QfjG7>i^ @ 4SPG,q "!Ģ@/7Yw8vRaLbus&K^YH \ϥ\- 9t,w .(͕ fu00ם!h˃'*^H Ifri$踈93QH`'M˯Hg6EᲓN{} IZM)^{9:^BCr$N PdXmi(DFiȭsȷ$NgJFqd`Ԩ q-JU%p9)(KZYbL۞22go},S["5G_F,cfĥWEK<J*iGiIxo-]<ő)oT<'ٗP5ͦIUUp*D~0+w}j›=+цU!3` {U#R9=?q^(<%M55Ď2.顼Hu$* z,"}$/J1<0Qi;u>5ԢҜ 6-ȳ;\:lsD oϞcELM@hY+|E!+&Z,]2_R޾qG~D&^i"ս?!kͰe76v@c]ѱ6t҅Ml;k Wr=M)P](3!Ŝ>ŀ3h8F@j `Xh.@tc.:E?f+^R~6`}brM4$/CE ""v/-.4p g:d5XldS&S x-gd6,,  Yy9fUe_ >Wr.wlFtW1H8zkR*Փ}n1ފ=G ^oH9t#7`4҄o|us3R)]05~S4K׀0KhYomorV|=$'N~LnSIj}I+fm'uwVQpw`m1hϞe'b ^!i;N샶mbKdF- 5%%^D! ʵo|-559'E ]TUSW1fS~u`\'w!2۩GO&%8O_ RMx19Web3&F 8o#`c&V 1ۋ<òxLfCxQz0wѝ͏?pP$TS;j:&Mٝ)Gb?]4WZt?g*ƈβa³~ 7X7.܃Im@OϜ5` B/=q_/U P ~ gN?{\;h VQ54BhE2jZϟ ^> E&4(B;m`&;j-~+|ᦐj.oٓyDr&I %O' U]w”T9J|B^ 5RěۨUࣻ2hg)(`(tZǚ<77M D$/X+쇔\ktΞ>?1PH66ܖ=áSI;Rb!a`aRt܈")`,ȴ]v똰u*0 1H}=P߳zgKZXW{[!';ܑN,$Gvw>bC%E퇒Eɏ5BOn\RG@㡶w>=(EN/)kGlVUp2nJ:11xr^m6dM@_Ϩj,6}:/2¹ܨb_z$S >]`7 MI;O͵4*^}#}֙ˏ=T?R[eΎOVexB]81t-6.˖wwHvUgt߃iL}fӅO"(}Cͣd XcIxKHeTrvtJjzJZg;T)o,k-AnFWzU~M< R5l9/oVIކTLT/%Y^AF  Ee~>O̾JmiBX0괒7~ȃe^ܣ&Y'd}N;hMGV ̲I|9}f-Uߐ|3*8%Ur/~"Ժ©3Jdcu7o3s 2]3Y}mMNKifK%4Ao6ח^i6}tIՄ>R%F#@er͉~5E s~oe_X5+VϙL;'{ybV&ۇ\Z+jzP"B"$GVꅮɬJ^eLw8 fM ONjd7v"a!<`'dؿ+5WH+<=j6+i̦;tWd$9 SujOo9N6UP6OƼr=$O";Gv|rw˻r*IuG-e/Vr{v-3z0(j Qj ;8O;^pQ濧[NNNSU\=d9̮f%$581x`P]P_3- yXzeִ $0za] - 4$v0wưˤ};{~;&1 _ C{|:~*qE+ٓL4v.NkU"p C"b;?x=ǡ9q tKR^\6 ?gaOUT0w <Y72)_֚Pd[C#˴R{; ?N Zv:̙9076G[z֐C9\f_fJD9)dFZ1ඤ /wݳ^~/Y:;2 5SL?0X? Zh 9Ǐv 8_82ץKY@25{:d R0)Lf_B6y0q9m&V@ *\U1 Rnv6Sn[H;qՏCk*Z*/YԢJXi즘\l؋V{P:ߺpXYR;߅%APFzwG務wb r.9.o7W8 OxM&Q:KiXcxsotjMVk%mǶ硆ar{[?'\V6gY ڊ]` tܭ*rjSQˇa7daךٚ:^j١]QW[fF@ 2ΐ q[7| :/K1GYG^ܾ])ϯ'bUIUY ov(;ZI+@g$`\ |op@8?YxMp|VL%}C_Ror@g%5jvH dMϊ{4:jCCy -QF7>gH?NJ8%dTBN#U1?u1h]*<;:vVpg݅Vr@q|"PljI*nxQiqܐ8HI$(ҁed zVN6p\bAQvY0\$ǦԋK bbj^V}bF=fv ^Ś+SYZtVSZYX()X(ӝ:n  6^S7T8,@l2f$'04 b uxԞ66cd33İW]i8fm,{6|DdmϷ,x;6+;PgL"܀}-3>bvתǩ8JؑG;=Kb|/Y6>?1 :AG,xi\2.P1d+u椟bL^:eFTr &^)p{3k+6_+o'mKjx}IY>^4;'zیVgeNgIŀlp*?a6N`W3)qW@%p{3=ڬªgѐkq4o*VL7Fu6Mp;ʈ_v~@PlO@$o@O)[̳JCKγtoRMfUeCֻOlj|ɺz>Fo KMv<d!h1N4yի+n75[ Z%&I1uSX6_T33\8ըb)qQ[ܣas{6iyܱϦ-|@Su}^;{w}$B_{}B:T8=>&%"-G{n:z`3aq6Ҝ#؃վ!@yyd[k%@5uع6\}m\Aĸ N(Uw۞Ԝ=񁦡]{\ԹnjT¢}#뿮73L05CJ'TH] &O5AGlcv!K9PMjob;$&6Ƹ[)[J^͞2П#N{ON|UDya*4C`Rf2'GIģ6KG)4}t& A]$3@vMlJ\^zt , -Ϧ4N:e|C/dz W1o1߷ FRtk1Buƀ'q~sNs@"<=C_}D?+evqPZvS]>F ADWIhKMjՋLE)k탑?~lai~9TLdFPd]\35lnS2(nU@a om5q W_26Ds?Z o ^h?kLxrVs#p){uDćOr!6`[P]锠O `(Ԯg N{{ޚsw*<`!CDZD5m}xgE?q1IHv !mZ]'چU9L,3Kܝ%~KO8"@=-Ջc#-n[,.hɑ/?ϫCDeD#_?9u ~åƨf)0=;Cz OWz WHj 7f殕Xc[o<ÙuK_{7${:!LB9v-~tGhn?X 㡥}lgUPƺ@t{ildg\epYɸ&Խ-OFHQMB@_JU MdzG7{;)|.9|\L>U_4 P޶?W:Y-xdM8"ً@kq>+6C(fŏWG7ge>>ی=ZEtG]χ?H;CY"-_߆4J;C#'¶dτ)iG芩 p^{NƑ:nmGF_,wV)6*]ܒ;tȚ[5?ŐdxCn!P{zJxRi (}l)kfPz5x/^B@qVwc!hÖΏ]̌,[M} L璽Ns)%l^m4ŚS׫SAvmE -a/fcW[uo={t|,gxMDmSڔIm1~?2+7^OmG' bCo BFz#4~Fl^ǽ "0hx'Nx1|+_VNt?nnh&R+ [F7㚫vlXai $3njҞƃ S^~n.ii +tIu\PY_\\k#-6Hn\l 'ersPm7: ~+oGZIS WJ6%SgU4٢7#/2@W KjsɎםWm ,oT"3--@Ni+4L.Lqܩ˩  #H8 &k*B%yܾ nn(Jݼ_].E;@Yk 4kc{3td1UÖyПvc+gV05 ˸4`N*[|X]4ze?- ꏑ]ҔMU=Wҫ.d-u6Dĵ"pnK 3? @eNK/xȭDJWzWe Z/ ,֒K\?)Kc&҅E"l!xҚkϢ.yɤĚXٝh% 9z&4}E I2F,}M04 Hi?8T^i;=Jxb%i6(sC w`&''im [&8gSYzc 3 Xtl廿cwui=/IBE[ϱcͧ`_^S2UM%%m>)CL.i^cYQCgrW.$]#r/Xu X趈vJ#wʚ֟dA,6-Zv<0N##C#5tS^(8߽J9Ԝ|B&DBI.bDKp3 KRtY{uՎaN,щõˮи/lF_HYܐלSK 'RP宋@6^|hv`%N440*\0MHnS"F7v8 [{rUhd<(TM[ϱcWWsSd >ܟ<'Ҽy`lXB۹]ţ:ctPiΣQN_NWpl5.k. Y?Wױ ͖K-4H?ۤużڒH BJo'ӎ&&.#6mz2MVe6 ėټ,Vαnny^HaY&{:4C*/O S1mՉzi!IozxC΀$~>2ޓ>kF30q(yNeVJ?FsbyVu3̲Gd/RG/>q"nH~GpDF.fIB2(ʿZ\z]xྜྷVm4~jks(umT_i6:o0w_i3)RdBL*ym~h*ſ6.0Y\w?1 |D]_T<0NkUr۰Xe.5pid/F}Qr&dۄ__)kZ"T+.IX_BV?/T{*;f"V'9(3Pް岘k$%$r-2fC'rZ,yg* vg}0\+RPN $<;E鰃5v|$.}FCar;vǮӐbb.SlXR#Z_9ڨ'GAm%KKLJMvhAqs`u^ƒ92ZG2 q~p~TzeSIec7fTL}Np~F9^Үb9wM].o2g^ӎәZhc.oh_l6G"m|Tyn^c"[@Ja#:C ^ϯ~};G,lI_u^ޛ'1_U>]ZQʤW4ޘј $G|-%] QOHzK10s='rgXQܿgg-}T07hjvk)baF}otu/RArf ɭai.ɘϯzJ3*NM?D\^IYtDݨHd]QF/'|) cIGwS>\߰`QH2=(h$96(yY]×]//$a$'ZY@!|X^E| 4X?CwXa_f"oR_HS`R? ?T!q$b| -dɛ㺚o::= V, iEc 4_+{=~UjOf#|1L'c3z@Z܉ӣ&+oB'V:!xpZgvruѿZmdu٭X'RC0]H55\k#tp&it XA՜%Eyy[@ 2=op'y֝} : @׷ysncT@9TC8 v |"|?9O޹ڡY~_+;:>+ݎÐW2tZZzf&qRd^\RL`,.6'8!?1/7jϫV PyטKNy1Ǣ *`,1cavP)cy/];Tdcm\u =jn5>Nd[a <T|&;bl~zH>A\XOB Kgf` J;٫j4:2DjMT|us`npGO]3$v[\dTx3)%z_*< h" k2: s 4 N/!?-'vtNũ] ݘʣ%59Xa7tt5UqmZW)-4HMr9JYv+)$I_+y&wT/,=bV~#*&:dk|?| ^~caAKdIXdX"y%,V훖sgf%nKq . ֓@\Ak H&Z FJ͖K5ϼD0UZڋ'DJ*귦>ޛ(yZ\ӫl엺c>r,"Z vbJ[5vo?[ 6V 4kZ>1μXus2 U~VĦfk&zpD\C{NעB(m;BCs<&}'Oϸ)'䳚^Ⱥy_2SS#$$LB[FS8]ƨQh]dXg+"yμ@]#҅ E. +S/O]˽%+.+Nً\Uv_t+|/ 0Iy,=m&&A+|^Lvb-SxV׷(-S) Nk8iX)p ?C\(; WGGNwӒ1-N~w0$ MJKL\-Qkl& j:g=>Q^1| :c{<3pw$>/mx;<:I5w?(ZwɬXd$Lߑu>*UZES!ٵ@rO@zCV`q2*G :86bl,F4T a|]8|S@}搃vPYC4ؤ=u "ӌ.+(nVwq.TŚ{}1Aen^'hi9^{k^O Z5x ,1>yz:4@cd|d3LRTǬihUJ̾yTgP.&(={{/i+hmQͼ+_Mv)*bٺ_s,[\y!\ǐb;+S›bOPRTlsK%TEwӂ je?Dc朏"PF ~n *,8==p+Ӓu*Jo{nݨ?+5jdx>Ca$𚞮d`QcE@.I줧$_|2Rq\EQ:::t7k2儩oj({t$dɝl3i*$\/YNU63NK`|ab+_4!htnRַ_4- -՞+ r2ۅ\AVtn'H JWuu pr)@5Qz53&n3!%5YD=_ײT_<@_1z]`t埓{PjT\rR&RiUUx"\0opŬ>JWBŻeJSsyAw⡬ p h b _D}o9D* L8 9+DrBԓH˺nԮ6~) \$_e kjS:TvoO=h Ƨ+MAh4Vg$gMDdj#"(0#m{~L|y_ E0G=ߏk=f~p1G/ +LTAҕ@# e;}P@:by pP1 n<Ӽ9llȏa%]2cA̽=NI`nSO8H(t\1{]͛ķK 5۵ Q&UhF6ƭ;ꅓƥNjծA=DQ=mV?أ0'GN~%zS}|ũ-Uy;=72&?S geͨ -^uWQc9.L0MҾՍw 1ۼIPzIzK(MKm,ߟfRqe0swt+oBJf6x2vR,6ol U)@6 ,i)U_=*Ӆ?SL&U -v`.^BTuW5\SGsӦ(bU9g2VcKyY yپ%G@pE]sũl}JjuWep6gDRfUl~(H` @MS`[3>]g&&IPb04?6Z|a^K0[G;z=6=4H*8"͡U/V]¢bJr^iJ?} L2.q2 iH2+d1LOwUiE jĺdzcqzΑŷX䐂64.4~x <ŪxQ@W ~Bf:*[#^1]ͩ3+Cw-`՞)ɂk +O8`*_?S=+.1EE2yٗg҇uVFylv^NK%$C'׆- P YM@zm1%*A8Ʋ&vTvX {U)E}'i9%5Bi4 (>45XfSĊ`忎<-Nj4e in0S;:ϩ3a""ܔ񏒅f_s$VĈW#+٥XH~ݎOژd) Xyf0 6H٣fvfl 9]MWHm~)Kӟ6S2͐8/~LzJ\ٌ] s%F e%HfANM|.]\2y9A<8Φ/#oj[jߤ rgnˠr#jN19y#QtK%I#Z#JT,W"hqҰ$焱ĤZ^\e9!%sMo!A$^^i!9ю8d'XxN4!eDI"s d[_Z‰ZNJrmVf!(Fn=B+t0-@$ߖ E a61sKXY6B8^m^¬f&Gm Q -u#wlGZnq)HWyP2\9x `dFcOW4ՋX_ݫքD$'r6Mi>6隩 'Y:)}!!"+H$;NGE1 IE`s9z'%8g@@yT~~Ly:tݜ ݷo@(N=8uzү?,|սهdHDh+fkr$D#s\J^p !:< iz v1#XX1>м9s->q>/9X`w)H@)yu]M+#}riy-cc~?9cKhc{b3A0yE}(TGw{gX o9\IdDcWC|d0:N(d)0=49huFz^[pQq[[G ܮ_ }O0a<{"*'^V\%zk-s!/4p@*ڑ٦T~24bP4IhAE Z8ikCG¿u(EoFi^Ԯ`**(oxB w)XiyK˼XآM;оPA8?I%*~DcߗK _ fW3+JI N]S~xAq!ry-MlS%Myy h_\@C}@gWhӖPژ'`U|Ͻϟgks??9*o#8mpCdżW~?5{{Zֹ"x|8SS}A{nY/*i1#bP--!"mcHNC;€ܪNrIm'bW쁿VPcl\E"_yt2/Ht2N+:k 56Qs_ԛ@&rQM͟ eM],T1p r{BQCyq֡RԳ|r4.L Oi@ t0[pga{pS&e+Sfbvӛc 0)Twn|(`dV=X;v$vH{vnyߍu;v5`UѰF魭t&ؼۃm-h7jSĞ =xd%ZA8EЗ%^3xxs.FT==2V"r-M6 \/:sq^}sV]E{> >cS|UJ#>om;x½-H^R[–ٛqZ,+ݽ`-a߮;i)i?&[_[C-ÝjE#'Sڷ:lCzL_oL_tڢEs|ږ•cl8ʼnUP]L~v/F +^裌F%J$MGeUe5p_^պKVOGcQoEFhpyC4m7m χ稼,qy5&sbNuKRaؗh+1n,@v}_emgJg &xס7vƩn~D Ea؇3"{mQE 4a|~wx~wjץ,Ld<, >$3&]c +)5uA5ϧbGMi/ /i&S5*_@ʒFG$enz- Nɂ,O^m|-G甫52H41|tč:NQd+{YUH"˖ y -מjHIU/R'pqIyVp5Ϋ尌|1S S;LΕ¿|! b.3s|!3̳ -DqVw-mOjpqjاxv[}Ua}ZMƀ'oU˚#{W94,淲$Y?r΀k1u<|STqyC^,_##L^R*H|N]{V)mzgGjM/~7ӴyW>0gs0g.sG_R&+ }dr%I& z =Mq왛*i~Sѣv_Au E9bOq>꼧ãe~ X?I6 T;{7%6#FJΛZ'%|/`2e}3g]7%ٴ[ʉۏORk2/Hz}bbBp5+L2VRF/''\~&X@by_ i ^O5MϺ}'" 353<.74MBIlF %rXgSZ%ȏߞ n!ƣTaPq1VLfFw} xb͚3*bj:jqЀS-lI]P30l YIyCb*{63eFE\[ X՞'HO<,z@_Rm&[Kf }4tlJ_U.狕of R0\F񨼙YmDGGT RHK;WGث;C7! hdx*7/R.BLԥHiF3ѻK+Z ~*Oɖ9 -_u ?x 6YA%P dp㻳GkV;,'֠'9R_=oS샼3do8ۆ;77ǁlBM mV wqi='.۷M9_,b(e_bu )Н_ZhqZCN'n~q_f*ϾڝIJҗ#[s>`,@dV/p+ᣄa ]cѶ-8o51#mK?1~3xEIbÿ n,Q~-L |.DFb0lGqajuwʧwxm0lÁD9iUSƛw;b:9Ab /xeh]c軋@O^TRm*Y qtOi:W0㿖ԟݬ0Y1 ͍Q$=M(CL6}YqRܚ dj u/EL65f*9kBrb!L|:&KK7€7>)%Ix\h5wXk>em w,Yg7?'PvTM FW',|ְoU2@W-<:4.P3u,i S-=ٞy@v0p >8nL k=JG#FMQW%UB VD[*meM 2 $'.BGиum(*xW8LW2?7h?~;εC7}_r ]5XSS>0X'87bmh&vG}Rh)sYv9'9ti6&u/~h" )<"HH (?}x:6}[98}wM-].M? X@i(Ƃ]|t uE?c64hS;"pOpߣjPuoЏ/9dq^Fa;;'B@; ,RZn")%,jvt|V#8vdT2[mU ss/|c/;X=ۚmڵ.+8F [ڵ{l1x`gen[7y-Hc1j;+қE9F򋀾쓑C me}%x&,F iI=zƼ~Xٔ#0B)i.16ߧ;mGQw.rOT+if7a9<{N@`R(#ܞVTS7@hˀ}ݴR% %f4ptJp#")|}*0eryZd>ppJ?OڪeSA8?RΆv-ٛO=_mvjm-̳:cqLH27B!׿8.y7#~^haM"_;CWj'}g$1R8 (CN-xx;TCu|w8*=^Nzh$WHK zGUl~^Uo<{ %E~6:=Wx`훿-P%G ]8_Jt|OK,?HiTԗu]f|ɨ^k;׶T|Xc>@ϫ~\ ,9c:3zEIV7($&6r|z M pSm\vз^3aUxϗB11Kx~vהtN> -eY3ZYLwM8:5_~SoЦMU_=JaILKPyW8#B;Y\?8ө,!k[?Hʹd8{ܲ  7;g~kAXM|D|Kj`g%{%?aI9FCvz%1).l?}Pmf<`>i= 奌'vDLYkɽkL2̑_Ϙbto~.aDT445l~e!r.%1.xիT[Ȥ2ur W{zmhU 1Tr|Ņ$W u?0Wv?x톪B>8zkǗ njJ'y ͐Œ?Q2}`t5l Az _mU\+ 4VAй$HI [a@jo:BdE< N[c%p)%6j:{@s>OZD!QgW;ʰ>`u-/JrryNWy# Æg4#"^#V 5r--]o?eKYUzx ZX{ER^FDMLjRE B'%Wudի<lO=z5VAˬȜl+f Ϫ 5gNvyU A%ߍ9)!F† }cCcDh\ hn=sHܟ<2F;S& vL{,je"em놶;ta|Xu .3,'[^'J·}||*ZTik{>` /f@xcE9iq +H7~aZÁd|fAK6y~i;kek<dlⅇLۼ_{{s`6kͫyjhsotk~H 擭5gdJz"AV6^h 0ɽ$q 9^ŠH,z8uf{};145Juluơ*B:~v [4<) ٿYHeqOܾyr+WV3z\-,4]`_1XYΚ2R%OJ :VOϴ$Mӵd=PEX oTtO]ޥ1 2C.oHݭٍN *10(EI>rK?FLf=|6Y4B8 2@UZ_ FnN]u3]Yw T̼!npL̞ikX8P:Y$|ZIhA3gϟE 'k ַQ!|; W@KVN[r%b7Iʞ1YJ]^w\M +{Iܑd `T\^VyE3f_5&aNvn[cIBL׃ȴ|BoFQv!>̶LZfi+9i_E51R1ylvZ`c.4&TlEF2/}ji+JҎZ4AKRGB( S !Ke tPuywMa?"323ڢlC-L.D)궅6ʆ6$%TK{FW0Y5]@@JEq'h{Ү#q_&i ![l+|p:D| ⬧pAH|Ao|}s9z1NM]1){RZxoL73['" ;ys!Qp<->}^]("pD׻bH / mW<ʉcs9H DZ?Xd,UPa<B8i1R"0!(#{Օw|@YD~+_Bgnv7PZ24=6oKf ׯZ^.]>dH^m7x_m J0 @b}(I'D?=sA5k!d;$%fn3U$.?q$dCI>=WqHԆN!7&dP,HT{vPbQ-[lkK\z5b^Lޢ@wu vyN Gpg J##Nyvv9mKlRk o6_.wv*uuo(psЄKsr4TтWtEذ~PP_@J˂d8CА+j^߲iՇ!^C6}?[dVx7 fDfEIim:cd \+99p:#UɄ̲dAfkXr:xx%}C"!`JЃB[n'EL{}) L]CZˣ(tlPG (Y+aJ (sPM=K;nP)@뙟`'o[V5+ʰK-&$k<[{4$cK{9`x" a] 1TÅV>遁fdKaKsଠ/ak+)*L:+~+_ϴ*(xl;@l 7j^u/ |B-E|*b!H$s,zBz=9"LObdE9zjzrTW-m,}I=jW li}waNTzR1Xӊ/N\'͹O8t᷑}0r L<.HTc#lA Lxٺp«z*컉j4)6 5 =mV'߿#D 1CM/o~Sɭj;w%c.@㒨0*В_w;WAO;8hhJ?z:~7+=zuUvktݡk=mter=TqFݼd&Ũ2(f~CtRUOԂ1r7j_MBQCphW>)7p}v)jC1\>~N[fąA0fbu&s\>m`1EGǏFڨmWG~g~~"%An\@# 䱾%e6`T,Ćg47C"z>>@AG< Rś,oh']φpbP\8~sƵ:)UgDS.l`\|6~Q\Kqݍs3<ڜwشiz8BWw'=x"Tjy7HeHyyy'4/w7?xEjʃk@/^pZ!$!<`~n.ފ(97es4YKivA}Q\? F ݳtڶ`#"u2/d3#?#%mOJ{[ދK KM=^uUWqoPWYnKHhP_o{q@09c3(<0P~8AQ|DڶT {{A"p?9(cA˛r*Om6x٬hl17F,.-NsNe7x A-7ok7_7~m AԑZ׮lYw/TXɹ#;0am'28e[TL.̊rw$A;nÊ6a yOoÜ'gNG,jܹFEgK\~dXyX}؝|>37z/-^ۮo/?/zkG}jo;x mZ 7#E0OoI"]%)fpJМf6n_wq՚@2j4`[{,j>(!:M?˩f۞}Cx+5 y^|Q^<"Vz`syU}ƦN@_ XO` bXz&(`/Sv 淛7_#άGd 03Z$A,xO~ܽ ҺY%+H\E*Ḅ0r >c (}JWJ] !E9EN0z,zwpc p"=1)@46zvk*v\%џO JG─8%1N MJM!J"oK[,r)o!TnQօ.IT܊R'QՍc!` .-g򈊈>MUB.$cWa(破 o*EH42%Tvp&p0N Kw]:&)'Xh2>$pZvEjbXSdV'8.Vɺr0h(]o'Sr(ҹZJ{ƾ6˖St?a+!ҘVU~&|m MYSN Pl D4ԌkB1n=->e[lgF ڋ!i%RDNce<볾C (pШکw*1JZls-챬*™ %&3=) .P=UpRh7m|USI>o(B-itJaܥpGȻ?_)q 3Rj:;]J6I1ӄGnRbf9R[yqj_y|N꺲eR[yl(LLJ5$P@'B_ H L2SԆn_?է:TI]-QN8)sk VnIixpҕI 5Hmm , |F  T8b]_ɶ]eNٟ*N[ٕX T` t54Ztnlc54K/ᕦWF('0l9Iio%LjI WotK}t-bWt)w7lV9WU=?*=qjzдq8E}I6`dNvoП;Xğa0ݞfs.[S2l١d WVG@0wV]m73"iy%!1hd3/Vm橫wi*ZJI1U} _Ñ3\2>҂6dc+i (RT"5]&CD neǜF(a rq[ty%đ!\%CY--wGҡC8ɞSE2We }!] n܋Ao%]0T44^*pQFw%p@;BSJS]?pRZRp&χ0Mbv=?I}b7_pIP)OpӟѬH(]RhQ|57`2:+3d8 @pe pJo,H|G:i,lZ3#nmQk pBvt>E0u]TC1qF rMg|qVbɂUVb<+Y5.bt-#ti|?Eϻ=y+}mt(xJk 1NIUW&:mNG˸+@ n5Ϥ\ f\?-]8Vp  )^ŝvNr弣fe`~hOvQ+Y* 'DD*ѸZi\W+UJ8M+.he D\Aʸ=/dUqJ_xOF*C}+J2w ?'kv:]ֶzM7W 䡄NMUʳj}}qMK}RWl~٫TڪNڪ6ڪ6ڪ mUT[VZ1eƑ#벯59I$YvKǓ%:U7T$D9 51 {q8Vp J^AB]?/Wj,GyqX:47ͅ|*&+G&FI>jkm6/JnRi.<{XŞw?FOnSྜྷǀ筼s ּ+|wݸO\v$=2J+򾫐x&Ѫ4VI9ҹbH4B+mgMȈFh3Tzc7+IZ2FÕJ!Y=Eˆ$0Q5Hz#e-^K-ݮѢ-oF 35jl'X ӕK?+dؕBۿ Da8rjQ26v4ߎhd"7 ቬd=S66)'/I}/OJZeUW5Ul5VcASzҍVU>d v^W>Y)r-20@X>W3˜eݟmGp;@EXb/ϖ B,c&+wG!BLXdB!B!B!= `1i}|ihpXKݺ)j 1? { i8kH6Q''AZ 91qTo4"Uw- EDqyhFmT_j!d%Bu60;VZIZUCLc+u_R|YAD띋WBYc4l|lNÖdpvJQ`;}B IPdgP p~|cUbtAų45nӹwٔh9ԝ^[ <^GT6ɞʥ-zJ)}qchK=e42A 7%C 8a5mY֗|k /lG' Wo%!3W,(sE^زl2A]X˗[f4_m$yd]/nVi睜S4)c{r|xA&^^ OgfVXː҂8hOf< dz[<ME"8\=B02 {VʔrXr삑VYgI;_iܘK4,KIPPsU*U ,P?6hI vTAwFnǐ" {dzׯd٘=HkqsspŸmܳGѸ[ cEq#PbZNNz!4`c7(aH;[Әk@婜Km>g\8 Psr`I8eQvOHd8J֙GvZNi2]:O5zćG/CR'7S-4DZl:~.G(rllN!ŏ?VRTNhl䞄kl5VbA◗MoGz4s>xAg ʼetǾè? ?/p?J?><=۪Jwjx =`iofgn{t~f?xC;d Yy֬(i;֮_r*|˳r8o>I>\-`//]}򿽇>~\IR2Ǡa$ Ii7?A:q2÷ p@旜a`;_VBVʴ&f7d: R/Jc䗘0$CjK>^d+dQ 9wmJCr2 =I\v0q^4oBQO>C\nia^iēDLm%#I!47X&QTԠh=xޅ>.Jbm[8}%e]"o ͤ0 )Z‹p긕rUbk !ZxS Zy#YrqK`$ VWhCԀHbUxZIQTϚeш0msŕʆ.P$y\PLkfB&UӣsG>*sf-DB}3AD]2Zaqbݙы8G@ef9Z#n8_b0 2a[C%I%e*eZ=,l'nSfCýj>2K2bH q!Xe2I60gItU@R47"2E-QM ?ss+aeޒs`!aUS.uIq9И^zO_p'xy62ZΕ{kㇷ 1dthPY۬hӓ-pvqUrCW ˓u 'jPDb@3oZEP rw1m)|Zy^z0ZXʩճ,^ު_bxb3pxĝaaR9;B>J H9 nTvrdj {dۙ(Z;4BU.$nI C a n~168`B:q0Sk$07S*@B?rsRca cX^=zlA2,iQXܑz4})5@cЮ$2Y H((ѥdHC*/1#əyD 2najP/'K==|U(qwF&rh-3m"j"ݻ| J(^| VC *^I%9b3ٻ[LcۋB1ESA24NQY f>Gn^,!C}!ʾRqU@;k%f?Do%$i Qf^TڂbdI]cmupvs/hᙚeX1#KrN4\%hW R*Q<"rN! s8GB 5xgw/HMvzaZg^-`yX\$$G< \h;rNr9l 5sy`52XbNww5H1Lb@9CzZ5R\Ѷ.*g d&Gk0!Ts/jDRT*UީףV=%##5 ؚ<Ño'&ݰj`p勒\ւtŎ٣mXFP:DoVJ V0Vll.#"l.kNnp"cUN3D ܡ4M{TGe0v:ߙ]ji9:Vb1L"eg'E+@)] Gkɾ50J:k䐬zsM %]iD>7Qc=rl܀58٫vA9_'C &ZZImGHb@m+ȷBT $m@0E`CXG D΀ŠaL֔zGRR6T[pr%wh'^A:˻l.8ᝅQt>}8wjάGBp7tS0:lj+{-32B*B'CRQu598@ #Nk/bTp"\4M~Zʉ+<:6Vh##e:LPqb2׍ U7-Qو:"wY1VUt Qqay۩q Bهrz^-ۚ+t\94Y82CشM#v}}w9<_Cz+v@T^%2-ՃQ>du0~/ESc &t٫[ @?UlbZ_K&f6e6Q=eaX H#8u>$5Uյsen&>ޡos'pC&^r3Y tm|>N#f6ZۛrWfN)o=}|Jb4^ fTC@{'E滍c@ R{^1n !e[٘igs]Ib6+۵||]QXNt|[֢3ɛKh Ujf}:WX(+Jz6|q-1k"v=&FŎ0ò =Ng  Ih5ǵ[jsʫ/v25W`I 5/--ξW$c' ,SPD%śD̕e`ym:pWW1V4 ]bot*@k'QTR締s/<)tl !z"@HA` /^Y~T^yEo>\uy!\4jiO'N]N|q'ڹDz5hMَ1?}dRk$^;.Pq @4uJK sۋAO7p ] ?6 dau2w,5p| +B[TqX Zy ZLM95tb%4L̸<}Y?KrAnsid0߅9+hBgCUeݡw6%(X"z qoL ~ۺ#_aow?>k0_QY ommh1XNG&0wD^JU|i_2eI벦K{hW!Wg"srFRb}-9[=ǵ.&K38":>ms2!{W)O$$ea x`U WP=0ڝ=f.K\[ 3'N|s 9=$7I} k!S+s{Ա_NF6XC\ 0!ێc 탍K>N!EcWb00y|H{ 3ԓES,_Jdsb{oS m0 !9:)lwxN{8F[-u%^!EH */ ž߬AЅ:p!4c;ޓxO !/Y␀8hw+y9*tcqGwEiZVeƓ!A{š6虦>m왤;J$`!!g.-kUQYyeI]m%jGhRmPp&,J;9$,+L9``UZ'#nNh`fs ly{.  %*J@g%^9ixdycVR/e"L K<4VwkެM\Ygfۧk<gN@^ }̃kL=+S4j4,vSVi" 2NQUjﴎHߏ.}nn' 5{'|-SS ?g;m0|2<>~hF<:Lh1PxTyä21=v`Uq^'avBCh,&l F~;oagb3ńf2կ 'U }_gfϱ~fu-)<Ɇ0Rj(ּDIݤ@? %X1Mruq ;@V,TXstE&SOD(wA@.}>SK*"J*L2z)OmpT~Chx*h6Ox?9co%͔ԨʛmB#{[w8{0t@ζa @h:ћIhr M_-d0wscv19,U,qYU`<>1l_$筷C+& Q{Cr3"`vqqp[!\ Jčsؖ;dNJN Hia ;NM+q΍x2J@{jk\aW ңрlVGj~@e xˆU=S;Ƅ=cFz|D90]G"`Ɓ9YC*PUS/e  1]?#'КMWS qTy/hqirylTuL"~\B=q.oLgn2wqs[6;-5gWxxZ²])zU2THZMۀh4bE>V`pȻe 1.>P#Vr^B́,%9oN#ӌ)+mg"DG{Lʗ"0[*$K#DH@*iiF|C?K,ME32ҳhvy ee7$Bo"ٌ̀ژ[0Vn<$Z#F1*Y1kI[Dd1 8БhW/DdŠ6l; TSK Oƙ~KM C[k]uQ 9!_muܖ2Rnu4DWCGkRN 7jr'Dj{Xb8Hj#} ym E&4,` vTّh%^dЧjLVw٫=zHXٳf ] db#*lbJd5Q3Hѣ&eN},徦քQ >+ҙ@mD'MRpbs_ Үu(&z2}^`vIڣތSr\J(nk2}`AV@IYaZ3T{"}`b:DDԓdQyTHK̘0.u)(qই#0m84K GAf6 5h3AN00b["`v3 C2ibC4jdXFPQ=FCc(bHcSnLZ9W 糢JYrކZBR?;"QrsRW}R _vbLZչ4UԪ,񒗹Em3J&bRT҂إRH+W:p{V~RI?WTR! UTw%u#~NyX?!CiQ_d:\zF/較S0p}pNl6B;]Ivu}zG3wMA,P8n4Hy%Ӥ_yd}QV<:]=2 jIE3SNw~^A:9>@s)$kK+W0R|w ߂m{Dۑ1LZJ4. ^}m[gPF$_oGWfs Ƙ`"L &@FP./LPNo0+0Cc ,D(0$d"PPE-S8,%J,W4<2dʒ-G.>!}h1bŁ?zw$K +42dʒ-R.!ԛC(_D+D$K ꫹%]e 10 `E{(U\"J1_Dtj0ժSŨ)E|3 +Źz[V(gvA`SvۊUkmشefNWIJQJH>dr(ɊiHө7vStfBx4WƼZ: #($E3, $+e;a'ieU7mi)Wy^/@FP 'HfXoQlNH CJ4yyQVZ_/&I*cߋ-JjaZMY*κiYQۿGt6_,Wa`4-V9. DBL\_ %R\T5Z`4-Vo!PD1X@$)Td9\_ %R\T5Z`4-V⪡o`hdl( @,O S3s K+k*`./LP  $ "L &H, Jo~*T62H}]h%^!c 9?oǃQ!;<8Q4F}׿sS yͰN[JE$륨R˓yR~KG`#q^\J~Rg%xiLx*E_r"1NPYutrrLD0"/ fv'eSHQ `Hngha%yɨoVҝh!z8{YUtʳL ҖNHW/AB FwdM]Ɉ\ AAWJtBll%gVNC#m48{Y#ܖTMK'Gkh 8ND0Bo`D!n7DIs;B[ѾWde_ VK"].F¥u#Sx gi˥yQ{}֝A2ֽTߩQ'+ $%=գ^ jR?R*K8j״pa+C3`pQ4YzEv˰F4N"|A%To#'O8g8pPwNY}iϻhUfw yÀg' 4btF"m^;Eůz"[gדA/Dx,kB#. 7) RnquIB ht8RކU#G^#9K$xCq F ؤDTl2$RkҷcqINJI܌C(@$.Zs^& D,3hE"v<1Nw\m !yͰxA(a#mo`ڴ6#!q7"=NS"VoYd,~S:k!pbKc+(IT>QA!tԀ[ЏMGzGe‡]&AX#>,ĠYpk m{ZWׁ PflP!.LjaT G KXd(kP\l<ݸV)WXx) ~_ZW`,Z}s:8k[u]3L q»]9uꢩ־Kw>æ,?Yk=k7p.ڻmzrMKWe|Y3?z~v"@Ycy: sI{rAe⫄鶹CҚ?%fdD'H|6@4; O~`>ש3zf4YoGU{Z i"=>T=Q ;N~7o`jnk}\P 0RzR/hpR2ڪʙn)fH\HOicsmʸ@ e"66W0,>jC吞?s) Gx"Jg@0Dcj涀@ e\HOicsUʸƾ= JJAۺa;]9G9NFkˬN[^ umׁ?~e~_Bk'1J/ E"WG@w"yib!(\D>Cht#tY\yC5L^R |W5i%x?Xiuuق$CRa).r d--\d3#BNW8YT݃Bl!msD뭬F$}s񏁃jbnxUR)mw dpp 1q[(c`{{`3B)˦T C $@p-0,DYHb`H)=|'Y%RGjXO[ݮnʣfCI&<%+ʠsuV!`!DQe0eT ^bϫ-]ߡ>g).EȽ*"+B"0,}PG7T62:\z4eIzْp+PՒHgB{@g~,$Pi*yS2tgE=%WvxB:I.pG}'6@oXl8 I yͩ/p m3*HV kt jI ƖԱS-n :VaBR6T!ϓY8m_]=΄YbZ%앩O1Ȧka}7O ycmC8g׌2 ."KrOoJpL/H+7ѕ9Y'x$ qƷP{KVQR-VZUƼ}#Fm > 8J>1Q[ * &RS2DD(eklYWFVa!\X[Dwy"!0ds&CiB8w0u/M_Kũ:`ȴXDPڢE{U7ʨ55{ r-71|!fao13_(T~W{^*w5Y9|~O!`rW\Ȩ fTWJƊ~opι˲0, Y yw%̾,gTdyBUHBֈjM0P`pOv۽{w:u(J7ҭMTD,BI QRBX>o/0)Tu`, 9 @o@Z\^_.IvgܭE5*S>/L_34kW5P IJ ^Y m$p|qD#Ot, F~{AS0揵/P Ӄ2Ձ@<2%M׵i$UZȑGgZ֩$+QqOn2o7ŒZҺV,?MU2aRAi|ASLeu6crr纒q;<4{$a7S^i(o0 KN|Kl#ـl.1n>~=_P J  T۾' 9}BޫPdP#+x)SȹJcf C @ lw8 3Ota]Bh'YuXDoud? 7M/Phjmnpq< w˥T*B5@$p,9%ZTI*tR)ҩ`ʠJ @cT1JUƌRڔqȲe0f셇rFpP2C!KVi:XcIeW/w46ۡVOUnd9Qpʖ'z,ea>SZwuJeVR a!PO9Yɞ-*ovX68jo.fx1At~J5OsE >3P ܠ@P B?opHR)!]H2_CRsT7KFQ"ͯKA[{!8_VIRCHiO&soݪ{o)Tedx`wPI.ɂ@qG8WUW߄Pw0 k;e:4Sґ1q[-vj!f4+!jC'JVCt4:%z:1+,Bqީiz]'0I|քL$%C*i!|) #|XµU$^Ui@_NjpM|I<#n_QƷ4PxL3Mm{\MZi`u2S:M~qiȒyELvۼLpq3">@@ *V,$pHHhh *SV0n[` ` ^Kǚ$4 |AMꆆd=e؛-5@E -a#*j䈒2n>&߂djF:rzW^O!,wMb`ǔI8qM@ڨAf-\lU} 99 Zy j #?dww6/'5!E @(,i)dEK1lh/a1&+PXEjp!f4IADe6&Y,?k`*`Hրz(v\er݇?'!~a8P<\E.*G8TBn~..U%Tidy"C_,?Ci$G/`(a(\,o"ҙ<6y|~⅃9 ]\7PzćzBm>A0? IUjrSɲÉlv-if<aևb""یo.*#0dM>Q 6w U,L j{jRh4Z OUDf[i Tx9egD9WՔXZzԢ r|x<%L).wؚ?,1+ۭ^ jS"=9q=Z]<~|WuABp ̅S`t[;/d_8v~Aqan)M!ƸJ p Uc<#p+ ՉZ\ޙF5%Oel.Wtߥ wV ^q_Jw(bPbK8x?%qM[Iqضs5k4RDWp\%"-rW4>iuքcdҁ$[cI-BX+SSeީNm_咯U-=h6 ЃvGAoiNLZۈ:#?/_@#~O_gG^ m7Y:ܚ efXR}18.-q9N$Z <St;*T AtQu;T[%L IVut=c t;3XuK3h77 U 33oX%L;OdD|k Ps×&(.MCj~gx j0[m?Lj\@[KE]v~Wu}Ϝ\]1jFc$n2"MAO&RpL;fkyD`mpyeҽ]E>2JM!EK0!YVgI]$HqP"VA}ݚa;|7bm+ eYfɚH[BA]s`G{ğY"ծB)LQppGFY(.f1'k`/sy+\!WI4||^a!^yo7 vtX^^V+bŭ{`] lHƾRלi7Wuo`nk_;_^H7>}~S055ߨ ڄpM6޴d@AnV``)khJDZi暘6kޅ*ߓ>MER@#@V٘+r(j($ˋ /X~q(6bk&tY 2DX2[rͅ:Tx(bBbl76KqDS"C2CF[xED<'€]' Sm]gJ䝏f]nCigׅ-Z>8R+I$WMHu\OMJ32ǻN4هQ]œ^LP}Kz[;4دٚ//sD3k+Wlmckg( @,O * ݠ=-ي6X:tb ޑZ:U|Ͼ&HŇ/? CYyZ65c B5qAP9ЕZr!=#Ȳ3"Ke I/Sza@DD\A@ufrbN$ jXF2ztyUVhߩZuDr82-Ģs(8LOͻ,bAwN~rϽGݢEjD`D'6t'Ŷ(oshV>Lg\s{ayhY eDj φ`pYQ50-q=cph/nX,P$He  *F&j; #(IBX&W(qhxAdEtôlNͰ/jaZ #h 'Id FA/CXPE?u`chaPgf4'c&XXbK֖[a5l%`LID0VeclO8K"ڍUpxFyT(Q:#*f$ ՞uԾ }y2$U C@J"JtV֕VzH+HmIY*R[ 0\XNm8 7HRBI.#2,U-o G[ ʚTf^BN00DT;|ӕ>y',G}S;CrN`mN}dL6uW.*.w[~G1 *p2j̺(z2gVTy#R( `eFY.uIlKzxAf7`X}ӓx=Mw闌nm)]CȺQJ!:M頲xEL+yNl_ {0n}sCW2tMUPMI<hwADR:y'xnEZ<35aMd>'EHR sO dܲ_I (ɊiَA1 )a9^%YQ50-qEAFP U Ӳף8FP 'H (Ɋ EbT!A1 )a9^Rk:h2[6r{%NTh4-Vti ( @1X@$)T="& ($,bh }`Yo6|\:mF&=5832Fgɏ@AB# ިHo-b\H&]z-8K*\і@ak^Xw GWh;w{wT<xŎ,gHLRepUDPZZu5hDAEZ'6&\+{\qJNfG4&;RfO,҉ԹT90y0߸?\*=t@Ih38La35Qp}0(cվ},b+ ^;fņbǿ4:#7RUKtC2:d䘥,K~o,5`48!A1 )a9^%Y pjkz؝sWYu1(f)rܟ|7Leq ÁcWC[>4PmD$'_Q/xUQ u"""""""""^H ɐW I$I#߬OH&]Fd.UG [Tv  QU Ӳ b8AR4r JjaZ*N0a̛X'{K0.W ˾֊)kQ/+k%<۪2֎hLV{N:|xܓ>1y||<:91"MZ&$E3, b}_}?/_ƝO^˽y|d}4n!KI)Td9\_ %RV-[W[҃[rPsǻܗJ6JI$zj"&d .tSI(QD3dH!Уs(s7_"MEaJ/^@b8AR4rQ>xeR BLBX"E٪aw6]?ÿ8:jw|Gp ߫i5JBPEF Q0#AR4r)d\vnݳ:IBϕ$ bBqIY`L@E!ÐP?{Ή:<,D0' 22222222222ez!ח3G d*>*/ig*^n&M}ҭ/^|4Nz8v"U]k&beļwjmcF{5DD QU Ӳ b8AR4r JjaZwPzRR0{7ZH5D ZFİ# JQ%:h2v\I (Ɋi"A1 )a9^%YQ50-q) r JjA( @,OsprqYѴ?p%RU|%{FphxAdEtôlNͰ/+-'H (ɫb phxAdEtôl#($E3, DǎDIVTM7,# #(4L2r J*jZ:zfQk, ?5;X w#p4Zo{TY4c- QTLfd-i ej3.t#fX}|1,戂RTIjVg4՗.\ƝO^V i<]E >4T29Ef$kƟRnuk}{iyLK7QS$%#)aQphxAT(鰳p*h2[6r{(h/΢y.1O-ϫD{}`^?!M>6F,#@D9`9숣9@#K GCU*?7ljj0#IHRBI.CfKAMvM Idb0Cs.ҙpY 1^I6h "k*Wv #($E3, $+e;4@phxAdEtôlxvsY-P^0ȆK t$Qk݈aT=(fjW:TֈP:جJdP}|H!Q|(.(O7^оCٗc`M,:Nwkgewr*opXMpR˱q3p,I?<8G=*\n3aO4vȪ[E0;O=4tgiwMU p[w˷[hnwNew8]f#XU=`1U=!j$NͰ/np QU ӲMsYXzhR@Vfv,:M @JFNK'L8@o1ҫjMyUN ]DvIIۇx1b!LCSZ‡%r֭dH|s`D Sf-v,:m\]xD$R2rJ}s0ƌoLo.:']jd W~<b3OneYEQ}.@/ss?B55mrЁGy&c1c1+fkbY׎oSØqS>݀sWh3@ۑjԘq&M6ctQ=.f[Śu6mٶc7n`EB0b8AR4r JjaZzIрa9^%YQ5ݻk^& )a9^Rk:h2[6r{;]A(Btg a%腰 | ߢ4ofkVE>/BQ4r JjaZz6ְ8[ ]tZ)*T(qN[Biَ N g}&\HQň&^DI7phU Q:d4b`jҬE68D-rQd(T hR?=k"|hƲl[:V\VXiU>Y\:T ŤVְm~&OE"ykHU6m 'r9 ^rˌ!a@@6 RlL]V\h&u F7aҔi3fXf݆M[؍1 #($E3, $+e;GaN QU1RPlJ"R=~bAg'HD4ǨU{V ~GZWzrTϩ /B1`*q8ya&AëvPC4&+m s#яI\-PEO5`$'Ʃ6CM%Q'ޠET':5j%I (ɊiَA1 )a9^%YQ50-qs% HQQPĠW8F&/N0 QU Ӳף0FP 'H (Ɋ3f*I;V^>D' $"&S3CkuѪU%yDs\浵^ e~]SJeQIXv&^ZhhofLvJwzhOGVF>~lw;g]^ZLCeK1+ њpAL*=BGv"Gh*9߾p)MI6ʸ ɛ RMN,LS Tcƌ 5x4m}Ldqܨtr#~+ i @FP 'HfXDIVTM7Lv\8I (ɊiN0Cƭ6wnj\Kw II^j.&HA1YX*PɽߵζF;ԤC$ ="[h(;[v!J(^4]f1KZc,zyb[ yW .Q9ڞWEI6!1t˫[WIQj}=Ғ;mx~K:ͧr,sҜg;Xq,znʝ,F wM&y`*!]4 XRxSaK^9RC'^v :RpM_:4= !܅z];U<~%>p`JCFg{W܉&2Cmy%%'1%>SeK4dlOI'? Xמ&p Ԁ=V`6ԡ:q"iLϥ#F-IѺUZe үظz{DlfAF3"r;J!)#`dB,Fním9`)m5K,AXKLjkxRF%Sxl3B BӉD3|9PKÉveS#˙co%OS .vI !,%;V@+ئʲ/jV>e5&fhU(K_NS瀹T2W +N,o2)GŀG@yȶطi$*ARe8ٷ$Όqcܤ|#`> X9ٽU!Ş|suI/Ζvu(~~aT.t C &8/M$ Laϭ~T%" _ kasKSZs8ŋYU]]j#l"}VRcyW[9 2 1'[x/EPg_q"C}@?S?WR!o J 术9/;d);+te/<]{SkGq33~8C k¤wn;jຬlk'"I`(_!K v閣EeOB K ?&7R3۶0ko!j@0Q濫g|_6骟~q{?;m"u,"qt̊1rrƱOL3cl@}aȎt/He^^~W-pk/0ŕxG0I?@}`=6 `#]N`LXz2k9_;3]p*p>/>=37[ h'3:ZjN?n*%*TImҕw-Ձ[Kؕ9BXώ4ĉ]WEh+5iko\*ήpJt4n?w-h#>YM}6გ7%QN\>)UF\`xQKI˕fX9y/cMJֲVS8h"uL)Q7AY{4w7hzil/t+  gb;gshWq\p7Vc󐮥KJͰ J!N 2s[h1 Ȣ![pjK$ѡ/U˪iLc`̶Dn;eîN;#EWR7{ ^rd<_h%&JL$W he/(3\dB6GDNFÿ9T)1-c::c>y12!h(L* N|XzUc.J/7l܍%px">''DbY32V٪8*+h"x%)u¥[O -hbn}TFyjeb9L^G1DQ_=aX"ķI.b]K= o_59/Hbfg aUXi"\D&;1&װ露XﴄDhkrWio>p?\)b͎41Ry=&vܜ*:+[K&fdi89L1mKeyD`& R<%}I(-/?- pJ$` [mޡkqHphiRNpKNZ-*zX_Rd}R{݀\{oo)z&V . >aRR*2lM |LE %0!Z*ږkC^F]\@*h)~ R4ɏ߂ 9`A ĈvIeHܢjhQNQApc1T(GBVpQH~%P-=;ϸ>%E،C de9%˰˴*BV! }.;`A(|DQ,GԄ]Zqa:iW{tƵ>;}s@l]s O9K^)Gkwߪg(Mݞʂ{Yѽh[dH^S7V^CD;D,#D,\ryL|ttTܩ)3gz FdrUZkgd{X -񼩤iM%nq&qk5 q.&@6(㇥!iPÏh!al RRlȽDC0Tk ̬r}ZXu`O"EA܌@e; LGQq龬uj)s.tE_rӝ1}P}䍈fa(8B09OI@i /w1T 1B|ఴ*s-h.A ޽ey8rpDТic4 ]oaGFcY'=vG(,hQT/W6`e! 'ct"$\<Y*^[y\фsu/7sǔ&hg&m;MH7Liax7rB>D`Ǟ]&SOhn.Cxu4wᯀu2p P%RqR&Cϻ5ry| }E5<pgeB*%Bdo9& FHE)dbQbo*C^6y7e)[8%r2rA(6y%Hg;$4ؓ$ k,A hDw{w$Zo4'|_Cjkx[b9G-=Kg} 7T{K7%pm]5r"yRDnHO.P@? oT G[_z`ѭ6uh}w wJxV9;3?uUY3h/I{ g Ip^d"L$G?7} S1m`vwNT:chCvfwٺzu=d k5Q'#cN_0Iׁ=& ?v)t Y)\ľ˓ u0 /"mW)E,Ek f((BAbUJe%JTv&i@ qTsi,YS잕(MY}Ms!W=pZx.[$}Y%=9:np5Wݴ}7=O=Em^z+iHzAahkKOR./)I% +LYʮ(ə/MS<:_*LpAË[XDI !V``WF(4@;MőrOt} :˹nPݢ-yRmyV½֏fܶ?Ϳ,wsJ㌿>MAodSNe9Ioğnt+:Nv0N IzqdLӤ1?9 Ϧ@BxDA(B(T"T#t˯Q~]Z3F#L@DG?F{景Q+;o>:\wt߱5zN^irQ n0|OM,]9TAȰ%wN"MřyN萘6l`_*H ؆yfV 3 YdqӖgoU;״xVp$ޱp=¬\&~ZV[ۼwx#ۇN|~+C`j8W,l[GѦ8ŰG8+jvOC '(Y$%9zrJSbQ{Ӳ$L򠚩RHȰzS;Qn&GLGhYQCb xQqXFc"43G㸧:((4h-4"$ KY^R v:GDnc%M M=1_ -zgI|>I$A" J̣yS)` G<✺Dq(u]7Asc)SiQ 츞gԜ3I3y99-GS9ѹx<;}ܙ+)(ZU婪uƘ>WѩT04sb90LyhVt?@> NmV!'@.݆q QvVGPjax6('xSlu-l|-eY w0_fjve if'L*'&[3 lYoWwu\{m{"l3UUέ |0zշ(l/@ZtzcdCVð}Z| ̏;FGlC33DlлFLnl[~jHDp̳x/ٽ7p!{*>>_`S[Nl?Eώ 3ͮq2Ѷ-3x6K ɎG/3DְMc_Ǽ{Fu D{ji .On=e7 `+1yĪڑQߋ+Qd_ [,! ? {4yɽӚnhzxb{ Mc!(LG!k8YRIьЦI!e)b=0ӪMBii$g{9@|fJundM,w"Nk›Tfw/'ST$o&VH/jeVhJgT}Yƙ`{X ђĿuT8UZt8)XI lHJ@im2(N va4W*ﱰ&\` E*"'I\͡0X!]YL43qdh84ʣjW{KԹЏpLCktX)]=*fS?N]_T&LLBO\!J K[a |S\:; հC~Il+FL.qDJ ZXv>( w~ "ϘȠ5ԍ]pXC|:0낥X͙65=8Y CG:\ЙXvE99"[}8G? d:ݡ8Cl=:Z0]mz!!fRa"D=Eq/', |; DC["'S5:Sr8Y Gم204GH[.= PJ7Lo^@9Q#I Λ.byQz.0a8 Skℊ) ZMw( :e9/YSpҍOK]w0p@c]G) -`1/ @lg!ͺ<}5#Qq2ˏ-, k!(\>nS@l) r@ӈ`k 'U+Eoij:vxW8($ؕQ'I!z+Aéx#;;}V(Ͳ7'(ĮYi8$b]" ҭœPE* %lKڀnf~Tҁ1M/8%ha!u\("u,˹xd"'"N huv0N{|ڇ_jĔKm}̵'ieU71+G!19-=#3}vaˎ= @FP 'HfhTRkJZ[`b0ٖ r5 aJʈRr*&mMRIn$GqfR^]&Mjwʫ\ k-Y/VE9 6l:ƽ0nau)g`ꉙOޔXpʇ`xEHX%j?oģ$k;@¡C;zD7!X2 ,Ty45@`?qe8E4,R˂G'"!CE % ] z,=[?=ik[zS?B|C?NTyt Xl[^k6K@)5V+{nbRg9ؽ s. vol,`Z,T9n ~'.[Rʈ߇}NP>O UM?lZʀ1 $\4uSC?E!G)$PtiԲCI&cƌGtb"WTS{Ȅc:):l*T2F}~Fycum1de,b>+'x.@(7G9C J9ä3-<.^b 5u`> O@S|i:Fw882.N=\< L,~ZX/J(e*+T/s)T7KW"vQ[jwx5oS=m4)ݴ9rN3B3ZYhYRm 3BR*6Aw&[pYUYSmb6Y)Ȣ%!61iIo4^/IeіofhYh_]Mh\ucUXyv&'j:zV~V6ݞ;{=-Hm뢗08S̲2m&/{l%)WNXAL@]^ѱSN#a=;3aM`,_L3ư4Nͤ0\I:$C heћ pǖU]ՇE)2^ѾMW.KsS/~%L$2{[ κ~/MM?C|IfgUbprvgcŻ$Fh@^L&a9F!+'X8)Z|7%B4iTnRd7v-לweW]sYL087X tV,ӻPTiF̘7ܰeڧp9)эeh 3ȝva-\l4r]Z?j)Xd56aZuN:[xMz`|l'h6zd[eS`XNms%Mw8E3"! q\(0hig{$F Q)H.H> %SV5CCZnU#Z1ᆴR[=@hiK[CtRtX+_}:r?e>2VCkU8ɟn| R84hZM$e^k|]gH}tR>䫁͢G_/ Sew抐.Ȗ*=M7ZCbJ7VФ咤 Q!pm^= Oש}Ί{0o(~;4$s,8z4E+;Ti|mF΂k;|k:fvD?Npͣ ·rOqL(B* :bʥ>G1rp;W'v8)#puG#|'6uNͰ/n"($E3, $+zֿَuo})H~} 'ί<_X: xb2Tll}kuJPͩwUNqɞ|a"k" U'o>Mp>f*o@TC0G %t/}47%|%igI8w+t?z@GE4D+hA!>JRn[*'SgnXn䚵Ip& aA0ZcYxCaI #370b1Fx |~ÂR37,$y#tZGx_GȠX "B 14<1 QƉjF;bHXyo'`i9Q=mb"T؋0y8z7"pv©9滉\ـʫ;h H<9_İ=fa׻7c˱3a'|pGήu^DGc4GkGgtGo`Ltp<7[ ךZʩjNV5bX[);Ze0@ֶ K" U񰁄psS3'_jjMq-*zloy}s:HWFbjF**.&cHUUSJbMJJ] /Q 183,rU|H,J<E)LR2r8E<8}9qAuIHfr\;F~jkt8á"R@$bzH:M?gn]1I&2j$t S N(DxRgFRdV`HH9U\\~C/ Vgo> і BAQN=PdRDd(U3^tbDd(&.)MI-tGɋD/ĔKU7mDU4ul[YQ`+7k+7OCXf_of-hĢsU}K;l۞7̕Fqˆ/O?RՇBwA^н0( A_d$Nq5MKvKi<{lx4,:pV ̗s@f{:҆,9.ϳ]E0"yqOo 1e*W5J/B/5KćH!TQPa2Ֆjb̭iJkP2s#wuƒGvlfÌ1t7M4T'%[ĘdGY4v O^)j6UXu49sjZavJtt\٠j{Y{oJSjk=뵣߲-% o8?ƾq_؇P7sl ¬%4#O9\~n]դhzСzo1/PWcrh {ݵk =UgpUtyjec4zԡn Qc44m?lOsWCLAvο>o?=({>&!|$A4 Re=oђg{akobFM-$zM=uJ<-˻yjm6kazlCѵX]BEB(`)B8YHu>PK}iDMԞNg%2k]u:Ҽ:[E"'oS5電s^~9u_oC»;z|s=:6qrώ{~B}@ߙ2?35g2[zvONO.]_ }7{Xfڻ2fhVy9 YK_:y\.axbkZ3ek]+qǥ| xb&ݼxwD[ġksꦍ\[G݊:"{H[㩢U/HB&'.!D"T$$IHMO_hJi\k6QDlT  ڀnN6!BzS F4h~-N!OSIHKbSLdMwIXFE=X*ZN"weTw89ӯфwh6*r];A[$&DDtw׈Cb`MI%Q?JȌz|p܉K1;gd쳇Rqm\0+ɄH쿲#jELBJF=@xW@(-(ZѳnkMmPW4O5Z}\36 @п`: kl󰣉Xa4WL;M[ЬŗPb?oUGjTۇE4+$P`)0YtL#1| /o  @ Ͱ/һ~Fgs7̊6XBq+'&y "]U>rJóMa0׈o"W N}! mG.@70 aABqsqDnJ T|@":P2"I7- ˓{CT*N3}ǪXsua+o]F8ŏYhVYa֮ i^^Tg;+4IPвkã{Ra[^r9˱Vpү-p'^Oi⭝czi̎yɒh u!q=#zN=1AIT#f/_pc;:߶|bC@c4^eCl\С  D|(2*cCT7G +򫸪+G{WF`D:K?(UH`AfjV6 6iگ93 aF2djpH3 YZ,=9k3*&˝a%,, ǪbXN`نpsMa+Ngװ:au8V'sRn9ĭRLn+M֮{C!/W7ƙiYޚmlq P> Ҁt@|>葮ID?2-BD`enj 8PEk( ;tgHL| -{3Y`1Stc0CP&)"KygXV)mA(^p Jx.[m2.j3+'W\* ⟻]@+p#-T]j"Q&:b%b0[J3- LC+V 0.P12qY9cV3yj&n(/^3劂(xyG, [ ^t+. BFQ_1<cN[ly[)cV4ƶIJ2d%yxt(6K%%E ķ? ۥ`)$.yh1T`Pdkfeve{?PN۴<,e׭?l}a;=g" JgԥֿFUV{->߶wm}~=0Fb]X^UvTmg5c U`SbazL# Ɍ3Ӂv֚&ػ0 5>tM5ozx7`'_I9VvlqQs˷^v{U*DWGQMߋkLKmq-VǓMx@Kk2GxbZzI^qszyY\ɮmdgZ+]0Pvԫ {Uyr -7P?t@=7=ks [^׸74MM˗&%n?)$!P6y$`srbD9e-{H\!l[.D(z]p?3s)r\ْ%vn[6%͗~8Y0mH<;{vⷶ Ӹ{@OBy ] 7C w&}؎v-S C'Oio|a@ovӼȈZd'7y)NFm2#D^'˔!{UڧiJSxZ+ [ޑεݢîQK-kK# RD%"!xm2 4ѾL6TPE]ѿ-ݥ MszRO+{_80ƧYJLvݐTV}ulSaF(w}.̳zo{G>o(z6۪Sʺ%T=V5R)mf-A{?n܎/V6,.ߺHu.ytpv}Vun{ZM䉅HcmV3T<5ؒƌ&硘tK%udOs&ఓ<\F5C 34nۛe:)8}o7MbmqKZjށ X'6XCE 7pņXdKd)H(J3HFi$=edX99%v)m]F{W#$:3ZƺnאkDMSSJּw]-3h7[*?Os~!;OS-JVJ%hM.ŜR-2-j6[1mU`uǩv܎,ZR Cg!"b FLB:wZ=T7'OI@Y IS<*R2TB}@>tWiv}}:N}sIֈji3d3ZofVd]Œ+^UVU ծq\O$"H^!1)~7| ,bK<)ϦWiaYfFg rGKQOZeWln!4AS4C:^B#S*2&d28LG81s<[`E: Gf,C"T0ڰ7·f&2d# mnJ-oV_ք&oEoIcß7<6\b7/c e yr#kUTIwDH>RL !pىintA`/&Z!Q!^r7WZъv%+ nXMS˱=MF3=C#M)1;dRqz"=qF'Wq׾{3FC[U{%>#s7n84TaI&+87şޗF5_+u3|Jr$ޢz %iKoPVFOCkR(>g}ID+S#E %.v.Vs܁,VO?Zg*jMth3C~`uԼim?.>a7} s8QJO G F Obe/$0Q%J_$%"ETiLWHRL2- %KlٺRVZ#G7a#‚M\ O#B!氈ܘ&&R$cQ؈E(*"41*5c`t llppz緛KR ^?!A(֦!V!ZSBl(bB"I(M4c cep< ڣJ$ eEWUbMSaZpb[ 7>#F(-ʌ1FZ5A_X#3 ` @VwapvͶ[S'55,C_#M iOviӦj>/ tМRzDžCutWk}=A'|O%ikqF\r+-]57vM'rV-aٝiN=ͣ76L,{>, 2k];ok|REiLhq~2/oeM2Z 4X^@\"`_kNɛNWhjOQJL,,ʼR:t[a2tGO'EuAǐ!b72P1c0ї)Sdf􃂒œ,XHehhiXǚ*+4 6l,`V5;vNgo=9r'MN8ċ]%JO$W$K)Jci\H#[ڍwM4q4r59}^3j_\`d&/jYEZ5cPN\a\_/9 /*E/ZK6)PNSL(IYTm**.*ɻTz7:dK[ӉqtcVtfYRmN^+ۊ蓍.5VF֘蟍*lٔ2Ȏ.CW95lnyx3W޲'wwڟ܉a١2Q|of:v3Uͺsƃ" ez"8h.ɨK@S@%Thh:4tYFyw2F 4s@ZX(E+@Kc٢eby@+ZT%ЪT5Ek+ꜩ~ Sװ >erWeVzrHr hL_9]7SD(`l$P" 8WM1V򌈉Q*?o:*""M4QعkڇxZ46[@i Tq z:c Y`:M&-?Ѫ5mO;\Z耽:obs{^]7qGſKxE6WJ$$HIYYJNnnRPף>zEs,nZN?b 05tcUZD[:hS蕖:#F<1j~c7Ȟ.LSIE1r-]؞9^KF» G21XzaSPŦOÒ/ [R`{Ie=Wʏ/xVa">*89}—?0O@$X [-8ԚKu8\gO$wwF )exoFBr% "ETIA#4=M4q4hHO1%d|7u8! 'WMnzV?ї9}Ý uX"#NkE$kq[uѮM'͘\hK5z\@qHdgY FB J) #8 1Q< վ]p[ט?ifOK{vPӆn?Rsf9tчStWgJU->7;m. )5 Kz/<e[|u5J]|cz|+-s_\\[;>yq7ClT5r $''M{QPуW/&%%>}h 顢bBM> !݇2Lj``1IuE!ZjβlLdINJXWyhqz6V(J-Y`ՕE{f-[%8:i; ]ggo9ri# k\zov[Mܷ{x a5#|#4'[~q2 `J@yDpK B F PP]᧩BDډg^IO_Bi)Rſqc;O.Z(w(i6`pk!͋!1BM7D$|P `&bX)CfDHJ3 _C@Xk9)~3+dD&aVBZ&D痹vo2!R' WuF"+F(,,W%pN+wSJS dj$-V|56}E~#PG{#e7LLaќ lYV\ZY d*MH@Λ}~xZZ Zb-E-[JZ^ZJ33'5k]0lX5FQ/΍62eְp6@+f??| Ҷ QfƉL?{5 =f̷4,Z0$M-\4Ef -i6[,d Vi[J rFaӰhEbi%X4V7lZv|vg@?kXg!W,V+c[۩|Bޥ=Hڧ&g*@Q!qXSyY=O^:' S:s89 \px\"rUݮ}7<f-}oksdy<Уgz;OƳ(-h.$WSjOZ$KvamT.iwҝ'!A 2e(Kޝ-r՜< $EzCTؽGH9=J7ll"ByF0X0Y1#lDL&P>a2Ja" i[V{zogNiM hZϸDՔ2oOKK3B(4ѷ: &:pBXHL xx+,غ!6ca<!3#Ɩx\uu$9,. kzxK4CFMY[GpZ1 ,Km+w:iYh,u/!B?JM?AJW$&L aQf̼ %9s`!%KCCfY˱J3a`ac [jٱa&F Auf?Bs$M;0NtkA[c uQd I2sERUYh-]gi^&eymlǟN  {7 Ġ2aTp $oF Ìe199c  QĖ$XQMj Ci,tV8Ky4:Eub E2IR7Eɢi0*3d`HUKaYV(.>MsQ4 ~ Cf0n@H"6(m(c8@$}Hdo EJCioJT ժ礓:gjV-NWsb]nA9u se#غ8¡Z53nr+VB?ΐdXl˄3Р"جD-Ʉ 0Nf KVNm;F#7ɻw_P_/=A CQf8$7IEr]c4c8xG %Rzi+%dlrR)tgG$ɞhÈgY'9 (rH\J d JaʂZ 4C)Bvex< !!Bj1&"DČ!sN"z7/ y ѽAH,8`qW.?!~vCLԮ~p{bg;%e K}_ Z trhqB+z{CWm?t hp׀,֐ ӳzSL!›ls9srsK7swHԣG{i~fxNZ00=IMhժU&n:NNJ w+""0#&D I<_^IOwz߳< m$QX&4)Sfb՚fF7̺ ŜGd+ 0O|0d/Fc™03e[a9 Yt;&++l`a;QkZ a6z`êP%tnv*_څuMsFW)&tV(- ,0Zk R*Ck#Ø՗XcZ7iwyVw+ګUKQJkFMNNC]= ӳa`Q{7'X1Hi1{5EfeXaޞ7TTh3,"f,Β|+[Wa5n3 zYdYL4 ͎-Lcntf^k5vNصw2Ξnk鳏3ѧ1d\ZgLL8t*CZ3Qs>0MCjG rMb"FNɔ-ɯt0V &EBA=_É,Zs'YRMcvEk`*iZUC14GNmYx8b]pacA00=8n?A IbY hP˲Ⲫr4κaXMʕ$O|PDY1q)=jԸV{N;MN5ks\M `ߚ添g0`UO=uݰaw~>2UgOD_M 4$+pH!fH=KdVZ7RgʼnsZ8u 394hœ8ƑEn,(V+y*|KfR '3uSG3@D_x.6 J}Ft6D@@7WyFI^ )q22o0ՁE7 Xf Saׯ1Z2֞4޾5n~CF?gH{@>pʧik{ʰaxDWy`LfCx= R'(BX&,3&p_]!p/GOta!FU4RE p)"͈eNh((PC%8q" `a1|6-hh5ut_n_8^g眣 t]u6&H{L'৩'iL3Lg_0lؿut왮n"•JKT*W]oZAp(ŀՄx):G(l6-wFQS ",,Xxx@D"o)4C>%JQ6eBE%DC:0mXZOكl?]c{Fq@‘8ނ3g\f~;#bo}/a݃?y& |E\߿T/]|zF{{V_y+OG7~{v?'܏Uro͐/9i?+8)Gh]H74W]wt `4߁JK <̚HluYq" ;FѠ0GUƊե~N}b]zB *2Ǽ> ,/6a8Vhϭ}%$uȯ ?RJ豀MQ?nc0RUph!pIAB@,.f<{K7>WJAcŎ/H4jp-A?)H< 265tkZӛ ^Ґ,V[*"j q.N`Ѡ׬tH{E*O9-JP-TpD*S6>yv@gjuIIt_}eI^&eq&/Jv,0E' UtI R䏻?/Q4Qiڵh,ZjƯ+L[͞v+pe ZCCPۯ75"!#߃kƀy i#-<8^'HR6O1ZԌ )((0WM帛/Jpb#D9 s)^O8/~}~cFId 1;e)Q8ieG2c4ƘVODu䥡=Y^ۊ^G-k*F sxK?zV66p\$.[d^-7w4ksGҺF̗7Ku:mhl>>\dr-cXwt{/ݖ1%CYNƞ5eV ӥd%46U,ƜaCB.퀎fD Q qyljɡ3ds0θ}'x8l>e_ Oz{UhlΤ"UlJG˂I{'>O}Έ[O+EZCΠ47-ʣ چGv#݌  , 3P 4Ce7M>]Wn?o!־V'*vɳ^(ւ \VNR8ھAo@fWםQZ~ σÜ)g;rM̘9 7p}A*[>nAd/@O xZҐ>,%jƋr _Ri0Uw@ugUs \3gT0&~ShuS' &"#zOU 7Dѩ!S  ͎^Slqt S. @AXi3`َ ݵU QqTMC.#9$F9kw],o9s:iK}RiT{9|B~3}$eFk*뽶'_1uAOх\lfodzKTSDz'9 FfT O]Ӓ~ԧ_y:?)c>A[sSUX.ħ׶r)`4+sNϼ0,n'v!NF1X?:'p w&:MEkY+&]i&LVܨ$TG#!2fθѣ؃Dc Ȃm0?#{Vm{kjr %6X^]Ix"A5&L qZ?CN=sA"?ҰUTCa-+ wԙb+Ga~&!?$Ά/\k%G)<լTDV_KCB#]=+#G(5yCyO 1t&PҲ_b+v9SItVX/`q9lWDŵ皉[<`7Sc U,;012,,pu6EoF mt\o[<3[ \z$1{az7,_$kadx#0OfAy~ZatLVRҴlK鉊E:LBJoxgyΕHBoM>m"Gf`xS# |̮tk+!8!]nHI/ '!UtIDg]1&;*%"B.)Tk6 l/ӗvb^HI V'Ȋ<:W#J2-?TPh/ʤF6Y30E`YuA[eԅ1Bs+ÃD0IM\XI ϹCz ^$<^ƫBfF6   V;^P<|(Wñ [ ;(TQ0(5zz.NKNH *M:qX¾0.ҵ:l C{+7|9^E"޹LU)$zє@T-&9J&b5I(cN*6[ ˼@.FZҐJ,áu[ *graWHJB#Z݊vv'9%}D*U=IvuP̖,$bLi)x$ЀE-S 0bEO{,޹ĸ7T~h qvrUK .O^z⽮uR )7mtҭJ₢j/a"EB -wb#4z1 S}BG胹f${LyϣT<,k[Y.c>@g)q¶ e/KC zhb̓Q{8L{ժRH\˪:DSPSݯX] ~!# ~BJBŎ" vlYpj7.2ҶI I2(ѾWБ61-x0%$PlSR&׸tc1S>Rdn2!˸pbkqrIV#iX}<|v ީ9Տ1\*7}De9QtBmko;mc5(b6U0P?\)HJoS.A & CstR,`Mg1r8*EKL©A'4"Ĉ%6{FmjoϘ|G"ST@qnYUxpXtmJɗ6h|W`̀Meƪ[2l?s^> _P|d 3)M:VrA" MhލaS1ώ4K95}h:L^4q+ |#>JIb.5E  0ܦ!*Ȗl2Ǜ6R/(DD:G  KCJӃqc$JiK@`/nd9 -TX@:R[\*%4H E$|%b [9^!_ZG|`s}5S. n_71ihJ; O_o"JucH 3iJ5T! z): @4CtC6a[AeFJU]x3#܃Z5f#YrQ?i"?P5,cO TyA9 -eOaU4ZP*M51ĴRE}j@?rWS/K&Z5]15Ѣ[G=DRE-jnUgU | w$*3E|>?UFd= ևPtc ]z0!YQ@ޙJK~<(qQh HM˿BRYI.A(\.Q!j ]=#OV+n=ZydZ!z͈c\0FbD@<ˬam{K3 ^Gs7tsHe U3О@ ;Z0Q0gGe|=B$^̳˥[eVaHv:NSƀ;.$8ͅyۮm'\G?vÐVF+< 7͙+^koPbS]?Cfv:ʧPFC6si+SHlD̞aIHIT+/t~ R?tˎIC14geM&[ 7fz@DpEߢt7h(>6[ZޒHƚgh3Ũ+9V<1xoV@dˇ#}BU=8 ɶKN6p ӴLn]-D'B8QaS%mMBΪ>sޕfAPiZhXz8%@'\hoҮ@𴜤l؁7ꎍ OL=̑K9&skQ6DG?^O`ۧxXw^f> )P Y\]VtF|ڢ-h0]C2#( >G#ƛcy3@z6)Ng|`OkJ;L9Gci~n;G[`"#;@f[2Qځ.Db/[aK]J)@ oUبFmloxn9BbomDڋ k(qst|?G7d÷//wkT~-CW"*7N$=pN@i[jDvA: >E: Gepڙ}_T=qc"ZwR7V ;EM5 :ɦsE3VJٛ3WN].GG6Z^^4b0bDURѼwZTmna}z\*E\ϝq񴟶VPBR1/44BsY5\_'sWBkF+ zhTn>Z}E "W Zưl<2?S%E5n'%6y=nxOQq,Ɯ2Kxt"gVg"t,Ŀ^i'#]ޯu)&ǫA,IN6X.O L$ ೥HItWi He]# @Α ŵukc"OӀmumhN9~7HsƬl(jYV>m*=ţcTzNKr~RVhɶn|˯iW ѿIlxJ t}0SVcsCz58bWmqV0/uЇ9Fu^XehHVMIN1l8ޖ|.\ G(v5JK u=tUg pcKxXChkpkeV;bk %p'+]:F%I2O9{d,\5$M;?=X-z(AAZPܿ;oƚe/9c2ț-БO(mflO8 v?oH/n*3ݷ-~VJ"gc"Ed37l$tӚ=Vcd3>nXYw= UAZ'cBZ2lQ7|.uig.s R4p 7=#'[LMd}O,a-_dm+'ccC >bs|ܘ|ϒ&4B~Ri%B;O% X0k[oZ0>q׵tTD5S:ZSwԺu4/z6-_\F_ͺݟl0v^[!vi’CDizpa@pd-8afdƯXB݈^ZL3{(IU7I sWUx"-ږ)4-*H^lk2B>i1v"P_QڞjbՔF#ZKۖYB~{d$? VjO8tW|obBtV.Ó`lQj|txϲtz]V$tXkRtzGU-SrVZ)DS?-& Lv K &x6d- @'Ӓ)~ vP;$ לGѭpN\0\~XS5:֢;j.5ZmW]Rh2G?H&:^}T Y7XOB.Ws%ܞ=u81@ ~OaNh?4ὁ`8Ѡ@y6+vzԝĶDq7Zx;%m5678 /tYRU;L^ `zE QDUr-?8`M̉?v#.pF=ҼhtSpts9jWIyȉ՟f:1aЁP}EzYqҞC=8?֬#WeV=:?h9EW0uNirj6KK~$Ry)oXJs_+z>x ɐv$ `\HHxSp߲5j"T6TɭͲ|@cv/m_f쉢\Bij}fyF9쿝R/cv糩fܴ>C!$k-µiB?ڬ!T ~m}4/Y*6 wD+ycK+cafkYZTMI]zܕtD8g*-pX?̴q8do썳5Rb>E$ҹBB>V6OQke>iHT)n|JKmVuM~YT.v/[5M9EEu`>9HPby̒`toNjYfΎvZ &6}I©Q?KtrMIV?˭*O7i oEӤZV{w>~Oլ[,c)GF=D-b5;!!ݏ>$k@=./( T۴b귙䫦C$6+c8ޡK۪iBцKe CL8~"[kKDXtݐO;z2+>[I5w②Z-SHJq"\|ҖtH6;1%{UX{2i5AdG=Uh-22I (:FGj'0b E$u  K>+C,l9R;Vt8> R U1upX݅@ERpqFqVzl?W//#To kF>6ڌ (Z Kq/TyL+, /.)~>\Ҹ\zyYΊA.x;Lɨ NRr l1p5 5є>R%wT{Xl`:dL,_owY[ē:ETbo^̅a(.?Q87"jhsAiOJqܸ?7L/?STuøKdQ{ ܣcvm^~?n(r>FrrקO\U&'IcI QpmLqԗߞ iܾ-M=2WV!v)N4i;AE Ϛ`%J ΡY{a1>&M)ùp\B[. @赎m:S<G.њXqڷ,o%0€7]v?NژΗ?qJ s[w8 'R`Jk&.mIeuyFϺ!\Jg|^d5dN0jU{e!uیJo2a~dA&/f4{"VfHsaN_m9Qցr6W) f `u*Zi]Z$:  t#,r}`|4 &F*z-e"Щhg3w0bN9Wg9 o(-ZD8:5,A ve9CUo/G!I]m^a cmguoɳH]6$_yjwtfhͮ7Z9[Avk5FY2v e_#.e!kV@Ŧg~$,OW|~STz)!<бA]  7VuϖhVIo~6-Xw=o9;nWe7ǶQ+Ke6wYZZ~wGQcYo[UZ KFn|]4U!0l>9J*{$KR!d =Q<>TRBw~ 2O% FZ<]`B; lE@|.T&aot"a@KPLx5ғIK|3/ԀDa^ UE1LA.8|YՄ£W X\CX,3X?Ev0LڗbDu.Re?w@{ BE틊V"\Ō̓^TSƾ{%93/,".w u U2vfߋ ָMs؟QƔ\/Կ.lz@SU2D$^*^XRq3 ,lpiGkc2sБ{MDKLJ^OR&y`6y|xUxYZO{Ps! ٶh#&[#)dyd/]X'kk'"r8)QE>tSi$5䗉?d{9ѵUn@K|pt546-,@, K"Sg&ܮã,4\rŢjaܳ[hLV=UڛEk~#`?6g3ybkS6+rťl,k}T 5${ܸ(@H]Oժ EԐ\e5d5xϡf G]`HݫI1?1㥲|H'^w@dS͑VaewNC?t&Ȝl+ YH T52y,bG%9m2>MS?I}.OJ\PŰ`"&D'`h)y9PGc!fiaJS;,Tǔ,cdn)q/k_mbS]tbbܦ.êE?y 1hSA",쑬 woد![*4v{kFbrYUbAEהw峤  Tc={xl6@0V鼆> Rv SJNll]:'[nE'WzPbF+5>YP˻8אJ5{5nT_*JUD؀e uZ&QO&NuaUq4Ms`c(]&qQcJS\@BϚuBp}жca*^,X?_"戌ДF\3 o!;~㼂]61  &%+ 8yogE&a.x"Ws4dr݋ o!+UۡP-8iCىn͍bZ v/(\@. BGmC=LD,JGE'C\"MKjKu494#7yuΝ bf|/h дa~Xqzb>v,,bL>Cޟo!jl>uE&&K}ycv+ژz 9QY59lFF -CX*=4-/P3#V<'14$U49a1@nQrU63ܴ`;MT,*Њ)=w^ 49_,qF*)d~7͢~@UJuco-Rk.} ~oh+&yy`^c,Y.l"c)j0a'- bهaqۏ\>+ySYLȜpj+#*D}u7d*{TD9im$@pt Ԣ_Dp7~)ǽ 529#H͡Gfmx @u|{=E ~pͼNVyjx4K[#20B^ϩAd~>˷]N]zTy֞*ۉlP5uLBE-NekAMt\b`)(9Ƿv2cJ'q[ ֔.}w㞨vx {}6ul6h_s:Z&ZABGn;P.ETr͓{{䯤ѽ!Rb&C \:"c/خ?cڜ?[^hD_==0RP{'B6Y@G@{w(D  ^ B*!u% }AHt*( J9#x&K!a׌!kYXZu@pcqb }WbNN#:P5^Mct-} )= ۠خJl -8K"_}C ` N'F"n)DɁ`CYH\E&3IfŅp?2GEcA tq]Xvp,[h!jm!rFM 6ZL]E9BM/ Swe#T1 !s-n یdE&0}7@rX 8Io\'PAhi J| )Yԁ0(t/ YYܓSxڇNl@jv1$NӚ_7rȾ-O[(Q_kr1gdg0 wF'ۡGu,(D@ǁWGrIC# E`ʭʳ#j}!)b|`-4ij* %ۼ]!{z:'vU2m@x;2/Fχ2_rgvKjOJ1O3^3y߇NF;&FLLüe1ڭ㡎&N`?CJɾ}8©,G,6PͭQBb|hݭM}_o^XN >R{"ԥi௓j|*y4Wcm[  AB">tfrnArT#R3|û78e *bsW#wf5䒏6VDwhj \0*n.Hp!% iZmJaS:?o֕*}{8 i;2ڲ?(թZJ8^/3- ghWF0ʨa*k˃ܽo&Wøg5e[E\+20vMwNޤԑʯLSo )E#I!8te.1*.2$,@vߜKlp,IUMRbCzŐ-8+ierQ;薚ySRcXAaťW+Y-6AUq3kyC45> `g jnLDyZGAZtiKUUFOvosc2.&NUۇi-T;[;/FscZp;4&y?w >(r.Fўt?hGX/H̅~A:ӓe]|ӫ]Vj,7s_#^ Q1H J̮( qρ~cKw/{r.5~h#y"o.x([=~\roìD$e;6FzjJ$YrAsM6ΓqpUu +81~7ͽ3Em dة~.[.j+Q&y28Jژ]S$~SX tXH?αWg8 /_v*g(FfUeS읦)ZY0Ýy͹3;DqsZù9,v5l[1@G& ?~cJl K':͌؅bտxs!ƣ .- ,os9`kA$>Si+1~Gݠ\go­N+z8 ɢX%56dWe^U&nm B VM8w[A?Ei@(GY,jIw'">s쇯ڶ3"yy(Dw݆!pE^֦ >ŷapA(SFսתE,S}UyzuAF>~ýӀ6bP,A[_|.&o'Yo?E ^f [ ޝbaa |Emf bbBIҎ76ϐ>:s1ʒˉ:+""M$HLlg:XGJ[hĴZkM>v%-jtR6s:1`i>Ttr+'I;T8rWM =ZӚJ""iDd%Td7F`\L;ȱS76@ Z]Bk7 NW-;Z+&=SԲDhH\H͔̃h@{pi׋Hh˔<{ҡ^&"oǪ$xƅh<*0=™#XRWw6wL-IҕR+'[ބi֐p 8\ty HVH&,3ߣ*#5E@=s_`$;Nt3g1r ,_oϳ$;{7ܽMrY[?!Gv(#18}R[G )iy"t֭<-IJLiRX)6^W3ix?Hμ05G{a?ϝ^ .Ln=XO@g?O[H(X=pK/f_#'C+M^ǵϛ*ci⟢P 81R:6P.ο|*x]BTg5ΝY&YgEgIk_ke~fY#{IV HkPXd*e~fWnƤW]=T0ɾ="JLȜ@$B* PwS!Wm-/_>˹!{mLAS4&im -srI'?;3N,ze[D 6NsQ7aSX? T.Ε$vkXף,S7oK)}M7,NK* ѿ^GmzDv(xr҃9a%(՗UIdф))~طIbsc"9D@xq_ [f shV\ ҮN(?!?.Z˫g_ zRH%֕==&zwBp)HUx5 Ttnn)bIgiǣJB5ڷyЯ"4WG11wTBnZ}e"&Ty7/agEtwz d\ŪP`cs+{C@uZ,Y-'sJahTO>wR?<sX}l؇+P F~a)6毆W<=!} !!9X |&'NENJ3SjDK|+0|zT: 5V YGL I--f{/|rIp!sդRr#oE 'xS`}lYo`H r;Fȧ\tT*񾧅S+PW/IbkNsqR=2vRGi~X1]|foQӞcf>W锂G㐸 h(x? E 8 F6 k k;l ]ONޏ-^ %9@fG#9f N>= Zn2,!ANcfm*+8ipI'O;Oy=JlV4!CP7c@g|@~f hBLy?cA1!Y' X(*sܥrBR%h,wCY>W%z('7X ls(W (^h2uzk2?AYu[//R\_ᵇA7&>)#@I'ta(7Y^OO> -⬼N}fG2j#2|P@l+}JlJ7(q&ǟV:G+uzd?v{ FFO 2N4-^21d,cPsORaņBȔx)H Q Omh4pȩO}~HB7y-~#5tp% Z4;he')]-R?P?t#`Ҽ_]^Çc;/I'˨,<5|Lѽ諫5LlAWЕ{Kn-d"=\mT1!G⹚+nm^yDٷ4{"x"vu0vI9=_/@&ZF?mU>t#H*2vI` ~8ƃw[<%-<)$@NAJA0!|}>syu3ը;s}^U{6j%Gg6 BR۶J~tD\BE >7-.㹕7KJ˦WY:! "B0,;\e@.\cmAbe-WY1hdZ449Yj^{w 5OM송 ɵ-}=:kO@/ޟY1ļBQ;w<zOe5[:%ls?PDD3ZV7v)GundžnA i&\71?vcV,jUˉځӄEqw۾+ ߱oy(ӫ#/!ù_94_]=`Pwň&^~5񝕢ջUfx; 8:,% L&LF8x-KW94\XիX-zm]0r{-Y~[$UWW1Q!/phKOgW>[o}Kȳo9mh[hv1쥜,+6%Z6 囷;[SLs׏tG?sAFkk+uF;JL: 6 ? r?횺dI~K w iHIT{ ~WLi,jz ZNa57"/}p?z~sT b)Œa_{__@ֺ9"kTuxP#I,ݵ"?qk[M>jGH PIτg9|< 1W;~vƭ-zC&iHQ{J˟54;8@MmJQiߗc?#eҨmi3/^Z5 i%]6<Z -KHtp|nKG#/{ߏ= Е?aaI7'$.4; aaB@a>w>GN3QK3Z½Qd^uBQ(h!̜|Oco r.rrnJM֔= 棵' xL}Y"'x2['++tMQ$<"^o`UyYo)vzGTнJնpQttGF +@l6ľ=bwoz$u&3{Uiɞ4T+-դ8~kB5. t]-q)umW9n-B3R[HOHHۡ_]M+6]p5*GVzZ*zZA%SK*}N*#uGiyW;$9hv ?xg]}sXx^&P4t^r^*oVbOθ aTuwޒ2}2 =w#*xm u\7sY4 xx=|ƴ9os{?$:99ڏU]X]*m)%I!VHSTUTWO+_[BΨ֊?GȽ!^* X7\j0!KI9g rm0w̭Y$3GZeVM7R-: 5z laVx1F^)ͯ9z7_%-,"TX1:ywUގ5N艟㇎_|s}kx.FwUҙ&a~;!wZt7XN|i^ow7665D8""luzTޤYglʉ RƒT`˴;@hY:ԏJH,ğ{1aEm,IJ2` xAnڪ-oNVȚ7*5jokˁV!gxiy$@U3UuC̬ɴ<2M.H]ی#ʶJ\nz v"-*yE][x?އ ۔MPAӺ:B&#nguF<`Kz#2Wa\Ҹ@ڢ 'uoy`pfQO҄(gE B »3DPTLeJn[vjظeG͍+"9ZD8 _/V(azYΈ|/t11{gFe {An9ixR%s)zLM oEJH^va_- @aκԠBaHYUϼsG;bgujcϼSp>P˟0,@d>q ;ÀS7+댲g:bwAqf1܎p`FCsmǏEQJm=**G=dWȸزPv1OWQdw<>FtONBrɍiXpBd\]T5_YqD  -A5$Fz?1C ąOO|ܴXa8AC5@E1 lB !z!ݗR.(giפ`]C 6n61C8Cb{ ٠JV2j %[!_G)РNht%%>z( n(<LOpN8jpR.4q#)oOlWʮ-IUkwC Ly kqɋM" \{g!iD^Oj.A q{"\2Ggb9>5.htC‘݇SPCq0_mw#[B~oy#RGV^y ~{ϡ~JբJͭ7~i [,4ayU6N,97Ȟ2n{'Uβ8VhT==}se`Jr;1]oK4FHs<$m&uXRFP!TI>qWGIl@bv*S_ T<cqVaSyoǹu\o]y٭E %(s@. B>77 #4-0J%m?~䟋 ;RE"fm}_Ah8M#Za(pp`7ډL)똈[ j?]iT+H -2eL0-`I,Þ&bJ?ġuT0j7ENUpD)W#L  ޝ"|׃kr֮`!k7p$ÜE74b}y8 رy:lv]:'tl|f;-Jچ_G:IXTӃ鈴F*7Bb)Jr"-D:PuqqRq' @kyBa ƪMvk]Vc `2"iۨL6|~]VdwT>vO;|W /*yM>'W.4ף˦Saѿw? +76(s2xXOM ,-8p `CCUiđ*Y?bk/f$lT Nl \0Qz0N Z>b#:hH4J$uc}bӂ-?STi9_e[HiN=ɯ|,aē'!;/O^ݯpEYxKbhֶOǥYsF'%c=*M;8 y˽'G&  Ib{wN&򲱺9Zb"f`0#?XvW%}FTG{P1CYh}ixw[9۽p!ui;:oNPiut.ߛTlV׎P% g&SKWo]=@_`沼enwZm۶ehOQ&OfշQYgY?ֲiaވHRuy i״ݽ #XAU#Y]akg@/S֕]_炛]ϝeR17PnAKD]}¹vƼE>[NΪXd:>.F9N7C'L}0@q 82P"`.aKF[whY `J=3:[^*cwo˖ݥNsҗRZWaDgRl{Yx]|6zWTY@$P~r%PNnahE*.3Y| tS8TψPb#JOɴ(.`Dz$AJD*^ͻi< }k0kNj{Uuc[%{F7EեcI}iKLBx~)E"׃2݃A۬s!t7/Zzh4^_Adxot:o`׉$ SVnq{U5ʌ}:tiqžvkNx#1 0z|= "kُUrkK9Q_+ۗHvV DK0L`b@ED'E]>72׈TBΡ*.d#P9GŃG%gS} ySuOSʦSZj0ʝ܄%b4p~6`@Y6 ~ov5j9K)$.?Wr`ȉU֬1_bj;J?eeNYɘi\VBV^ǥ1/T>>-@p\7hSyU{ (פ`Xs]), d8#^% z + 4l5R]Q$Yt;8 / '0 SRlyן16g="H'Ee`1[F`Q@Z` |+(kӀn+XSCAbDr\NFj=h.!%1ɯ~S?U*f+^axѩzY Oq%  Y򚸕0@* JyK9;qv0Z G{R@^5L)ԗ>67pX۽1Ƃٚ@E]\̴.b (W~m']#n >Ʉsr@F\ _'Yd351rX{w)j4l;;!guvuc5){(ūdiaƛjm+[$Tլ7?ibɝRpjn\+} I&t0/=j`q+0oZVpM>0{o- /bopoNe3;F1$,afgxj-62+UX:t-Ӫpr 6oORy! ~bWo,^;ȩ^Y<=Es }NPn"=?%.]YZ y {i)OH{X$EAfjԔnh$)FʵcI+3!]h)0N,~"" F~[_Z?]ti`LiHy8uUlU٣{[I*9݅Z,IBzgf*U4f3$֍40,`ܙl.+)Gjڜ-:-9*2p˱=Z#-mB֝*3.}*Gbmx(f*5}~Wl=hC}Eƾf<Ř{ `%2TU~xpx Q[|>}HBHwBhzhH{/`!W95^vx9 ^Uj'b}D_x@ZGI9\*wᘃA5/Ų0SlB_L~%E>*i`S'#G(>TގfYƾ~M{$k/m%1( Z1ERTqv!t~c!9X:?.cR?zаҎPT<鱙UFBib:w2禨lDιSU82Z/{N7//q H1@l!]y .mKhAvf-n;ʬ[ִ%xTGL%eJfnR8[XzĤjC`#3Ԇ3CJ.?x߈V7pXhXOi ˬ4AuQ3G+Z:N+pe}$Io/,v3OXowJ; ʝELm :jL,Twhi.vFc5}` I(!Īq3W_%ΑiADDsbM?^OiD,j(-4:%eq&)F;j=,2zrUvI>7ӌ, aTL:=MkH%Hг'ăxӺPHTLv3SʕV/ȝaP.2 ONCUy8<1'>XPp,Kc"0&@Y`3G^Z0'D*mk]|rމ7U]K(y\$3+<@Qc)NDہ*ݧܽ;:o? kO*F?&`Uʻ±qxxicC̠S ;PJq Ғa ;S@l(R7_.vH4?&MOԪ|j)CcP+Ρ첵)./@@MwL}jCM7Û'4TB y$iʯNIO%pI0 )v%bҋ1{g_\"JPg Qc#Wޑ_[1M3 TXɹNx*<6Hr@a '&[̦=T#snjn<6_ I-(DGWGWi9A&6u??Sx~ pr~}xgcүw:iѿ,oPo E`3fQ`! ͦCor2prq~:ԂygYI”e&,YC}: f=RHyP ,`UdҵK.-!j` g+~fc`S~*'C l^t(J9]>>tI [:ŋW2X`j"Cth 4 hUT i*5:tI%L"p'\|snF;dm 2rOFu(0 9: @:{ā[cX1d5o1A([#aZ [MYwfWY@Jnjs^֕f-ec@Fd]ZLKxҹks炭i?&;kQPGFZNZtzmm7C'.NvLT_Sβ%'X59 Tsς%l;b ;XjdvKBc hW$Im/43`OLːuzF^JuVr*$ [|8C"X9s"K6"iK 33c9Đe4kfuK:%5naxdׂgtKؽ~Z p`<2V"H%\1XØjG+ܣ5R|xhI`r&j W_w1/Lk {]ϋLI]djx)[} `&DqOԈ%'i ֌"\UE^< ʠyRtqYf,ۧg23yش̵]ϜDznݺ '̼3=7WV1. D'&P1n/.2TQs`$ɀv?U^2 o`Rѧr'V<{8j|s]{*$%faNWaq8 4Ο1cGUdjux* 4 Jf'ga_ŕ?c{Gub./lђFo 4 ?2wH& nd&, `#ZʼnEՎ24(Ho/3HZ%Z.Eee:&Zсⶇ-4:~pAA<#4`+LLBL7?,H\[]ދA64tA}DBa0GRfU.\;o fثԩG}7bN8w%OJ^#K)C I];׭g+NB&V b' .E |[?ŠN.1yZm<\fS`EQѴ\!yGi MM)K*6 ǷEEtS |pĒ+~(" hZvԒtTQCMI)͗w/BJ_4ڤ ^?_ÆvZZAK #}20骻-R|"Dȅ)uaE@@{X I[ˑ3N(c\=Z{>{ C^H-yo.LR BJqņpfގJ<ѓmTZ:z3;qSXnljA!!3mN߂;c:srH@Ds 9$P<ö`ayPTԐÀw7 kUGsa9Ssfǰ }pGUBD)II$㬏[ j.@G4xʜ]C$IG%j|{ Se\zaVX'^WGk49iOHRdxU WAڔu㡸sVUSgpfXNKSo +ۅ]4xI_fzkM.\~TB@LT?6T| i9@ [؏sCuh}3,pJYWZ9Zb-5) Lv 3x\ }"ݚ pZ&zwBʹ(,*$t ׾^Nzk绍?N 4ᐑByIplQ2 gVa~& 1g߶vo HE=awa8o_^K,}924FVA STe^I@rަYu KW,7OisT#h4 [Y<F1W@fo ,4P2RuI 3S{zlFL\{'N^KC[CUpMxjX+[:`HWi2"`U++O?Yk¦2Wi+W\mƦS4 =#_O28`8QVOVZ?^LFOZ U9pqdˠR:ʰ5vpwdߜL,kd FC"v°AvFpBo.= ,He?]3 z)d)lzh](gks1b1q+sj"xFAkjLçsߤ'P1R߭)  a7Wpem0a0̸l!,30PY C0tJȾ_B &XDx`bU ]U'0|({ƚ9MxN&&`MU|Xr$i{[`;F3d]?s ڪl4򗻫Zzz+$l |iL<|ɤ=M۝‚`ߊ>O}S zu+ṱd@-.B亦 'X unё^IaZ0fvb ` VĦ-f7P)#5w-eZX,m.dnS*lyp%Ӎ){$;*֙o* CqH)養c/"?q@UWϽ!\i:2Gu!Q:j>o~M<-nU {*5ie1$c=zDg{Kp?B| ZCmoo_Q7dhw3FR/uu]f[ڿ mߞX>dyG(NPϚm~j4+L9_Omwۚ3k 8mi(T@6nM3?2{ےݨFaL6A ,r/Pt ${9{gqAv?1*h#9]2'/] ±('}`[;dk1LCܓZ1i c IFIf2d%*==b`pX -8ĢVTQ_zÁ(c^w]GB'[U,EG]@+B6,3q2;:=azE\(? PokȏK[Z\[QjKf\|Kg73n>&<2*><)hԲGoޛc%fb[ew1ȧ~U&lа1|$I!0uiH%=U6&rӲk}fmdPNdA٥&cFJ>#, IQƆDzN}SWnȠAZs\FNԯ e0B{.pX HIiQ6fm\$ޅZEĐ*MSlA} ĽWY0Hhp1XV?&!пNbF9057f7I>>t!r0G~}v7n!$X.nAy\x!sQY +Z3H={NOat!g"Bj$5' #XG5 ]jJ8Gƴu i1i2!vwQ 2F*!YgTP@a1ta}ەX'́GVf*fKqW$-,e )AH_8Cp9=V.xwȖ|=~&rR_iz=i`eO`EEEљoɂԿ'{ӹ6ӟE :ysy;/澞X}p۱BEoZxCɰ8YPuavi_[Ke2ӻvM(XにY=A4=X3=?\Ξ (?:׾G`]nܚ`ER4ڽ`%UYJaԬ3̇o(Dxp,`gp;/t܌\4@bOrTWV'LٞPG6c[v\BKMT^, d- \}X\WŌcdJsc!+׆o*aPX:3 z#ΥX4 Ub8 vK%=Uw3*.Q8ȵ@X"\>Iy1$--Itd6F/Y(ҩDSn]48^ؗZ XsO>-2UoQwT |dZHTNhr(^y-ӻLYPƠgttP\UN|!`g>7NУ+#睉Q dʘ1@T&W/g%Mo28!A?fRq`#GP}Hh( p_Nw& Qf:!&;4kzL᪶`v,F޶i5!KDf3,#!iHQ_AEۘjDS8|ʴ"DGP@9+$%$@&yF&P* EeH,(NH5fn|ٷc  gI{ɪ8"7J8ʒu\N/c"򗪃Q%2&ƒ2Zj~1r~h^J]"VѱP|Mid>/u2tS{XLeAY||z3\CP(y0}h4(4n%vI<8C/c.D'F93P#w0^Quvb68;+/0GqG7ݞ`<呫 @WUVZ2ZbW EQ_Ӷ&,m@E>{(ځK2?RK06!JAƨ hε~\a3TPNkHP\~kYi Yp<0f&E4J0WɄJ#[zrX2+3dvl0P 0u^svn>c⯞XRNӕcpz; ][v8cўwWe')ڱ{ys=XlۖzJ4GToCN2e$$U>(߫@ѐqZ @i3}J,_GTwoLqdVAw7j%OehqP2>&w8+)V:ۨyh Pl~X\5£2@.ITA( r/ #O@*U!sR #><_;6IB;,0D+_[sԹ!Wlp>i + T3Py!Z0\FU |G{7۽b%@ç?YJw zS\$ # YT^ uܪO9foXkڜ~ۻEYB,ʬ [t EXS4+7\56 T^̳!z20xz2I.Ij)H3JS/,O/04c-y'|TT w0 xcS2/0YaM>5A("fWm< F`E7v9CIԶ 2 ~ )KD2/G_EavS,-%?GD.ˏ_H!%Mr`+Fr܉Sb U?m)#M`y_I0MzYv,E|_[>?DO$R?66>=̒(Yq|E?A<6\^li+s3 5-BT`[ [ID/v2VڥDgh] Q7ʫ]og lEᓕ;A yꝷ؀F2$^{+?UǮc뤵r+4[#P Tb!ˡq@njvoPy\]~:]BFmn Nꃍbb{]Ey&Rsʢ{I 32=qPK㳡ijؿ&AG {W9 678IWTƬu iռ"(~,m({ow ѲF8?|*yn#vOfIHbC ӗgqqzofnL=xG-C`>)Qd#GyAD "Ū(R_V 4At4[Ѻy:쨋ւ*ƕ b^hVgO["EO;>iKP/1zљTp`w<7]b ءlP &kHwdetPӟkv˘I[65NVhIĚt\!K@1Й-`Y.8dh8q~#2!v&_x:DcP& ݰc.͟LZ'RƢ~x/>5w1w!`(L~gt?cglO/ uX3*R`gNc|.C^(9+o;5l6<к$ ZuvVCS!$} ""v|SbcM.kH40;fgN1Ow 8|R}$\чVaoL҅s~JnG+g/Ά&bS 49 Ctzg.F3oFG`YXJBg'+ֶbiשּׂ͚7)-X+9.iŒ!Gcai%"XA!c(z,XV{?)WKCQ_{7:?n nKUn;_;N2t8ADF.бN#aˊWkMt.֔/x+2Lx.{N8ܦ.8 VNKhI0w1۴O.GUAk7 ɨۼ{}#Xwۺo]O޹l㖗~V9ʐq5lY⡶ɪLbA~\0SHb,uA)x4! qB)KNo@^J.`恣6eX%SjbTBZ&k@CTs_[qQjK3.HYKٜsQ8f )Dz!,,@ʲ A&aAqZG1¾XFƟA7l/ZM]IOd~a= jd~yxYޡJ뎦 ]KjkuasiVx 2 {AB+'({JnvH&-3Em+j\nM<\v)WzOMe*%h Yn7@PdۓE'@Uz2W"&<0}V"OguL0w|q i6[4֡kqο0[3 5{4a}?]] 0&^$ȼͨj>VF'SC6Ñ- y񁩐6 i/Đ+2ElPmy5젗o(ztON|G݃q~1Bޏ;L.l  @l *%7#ڒ )2T`>@[>-'h)Elޒ&"~0R+&.w>8c>E}ș(Uِ>fPVxWзgsը5]ppHC>?cXr̴wS5%MG"]hhՁN5 кHpݰ,[/tUGdcELm89Gd?ȶgurܲWs噻Qgq렅H0bhbQͭr5Z-?/Jۥ\qc*'ha1^-0-~9lEF8>jmy"1 ,$fcnFN\x*Pu}Teψ)!5 gpJ/5A>,TbC;CɚI6N6t9Y?Ο W7i"tGJlȼact$$HaqǥNb1v4/` 7F;X;ά !ta(kdEa28+DSٱ2GنޥumI`ݙQQuzw$x|OFG}  G];>Ih1}..6H|]q@E,b?<#iKPy;0[ 4Y6u %Tn|H7o3ΚgJe0=G$Vc響Xovp y{USS׎:aH`Lia$Ee+ X[uİ_FOowgڈ`g;Mͮ6zhbN̯f16rĚV+}XI 0Ϙ{VWXATf2AUD 945뿴졟i%τ DAڵ?Nj+:YPuyRU*V%b+X'۬'L[ >LRӺOTȼ*ӯӮ^)sNU$%/(;J7noTGBA~Udˀ"=N+ d7dLS>є3:infjc7P/mO`vOzz[b᳝/]FKʴd.nsFbiWY1U7kR~u]k=mUW.ߕ"{ʸYO 3.'bÊ/ȊO;Wu(-KA,`Li:ǬFaon5Wʠ+1KAڮ۷&ƴHz Z+;$}%;~r!lIM%@D%jgȬ\kðvz`قb$!˙DXCKJ]5,@OsRWvxa </q!2V_ڦ n'6bGӣ2=?#(iZ8AR j`#?t7+j'.P8MQFE a 3c0!dOD CIɢjx,uR\RٔZCfjjBp]qw2iڱz,Y HQH\?0ꮾt˹98dH@^6XUUyZ6!ߍg߾w'H @z;YN%AX_.]B;eӓ^r@6>vw6zI, kuۡ(3T`.6w! CU{2rm!-H /\s1ж'跑"~eZF5g Y7]yQB -Dxe+1.#TOūd=ђB)l`49@ħe->W}]i+ X⦠/w߉-OGs{,I{#e3VF,/z XNBgT01eTFB/ͯAa Wkj[h_:킑RQ곥ޭ!:=n`5rxSӦOPaL ,LYB?!gHHBEYh{ oѡg1냖G~O8%ȨKY2@%UVp/$o) yѼ.ׇ1~m[Nꊥ7@N!30e0?` :B'=VG5@qJ.U@0"QRZ. /w Y!5=Aa/Pc9cc4%`j=\'cD%C\p1.#RM#2Z0;ê"k ]@~6V71VV(oDv5Y^6ͷe_.aߪ 骧OӟpxrDesMq=p5n%lfEjZi&A'$ah4aN] v_`c{~%*%=Dz$Ѡ# 8zn;g;vx[ֶ[I]QR(O:3ݮywy:A {3)ocrUՏ:_|N%3xZiga[$e$\dtHݔ55mՠʒ^/aӃ"N%3x<= pZ<1K1_!mۻ!_BZ2w*0ۛܝ-[OE芴#Q5 ~4(/޴ݲQg2jK8a[;N=\|/{^6@<]'ș?*f~ܥK2ckWe=rՎuԆUM86ԧp;NV&jVyҍx=٢e MNru1Nu,s q#鈍lk,pq7ҩƷ |:>ۆ8VxrB~ 4+[?&e^{>0to__~iz}n-j ~(=9J[fW+Lq9J9\R)|/O#wg2Z=B8 ABP(;Dv3L gUԨv3I%&Dچ$AnEmm@uL"1)90:^i'4f0E3َډ&!шd2D&Ɛ!jZwRIo/?kv Wi2VG$ Gƛh Rh^bRJ!9pt0]~f~5m~8, E(hE p"Qz d;j&0}ffz.x;v3Ɓ \}066xu!椣cwLXn4!r*fjA4"?X1ls #r EI2|Qk4o{<4dج4,ZaQD/ mEOf/ 7#onz|y,Ny(3Bl"F,ї)٪ DŒBsGf8 P+d4vC鈯 ̃Qtt$2@ ,9y+ejU8YlRlw Ù] SbD{CpVBK5Dc E\WQW(³Ub:aA &[y((8i3ZCI-\xJENĵ-zm(7IQf]lyAϼB.l*3`]s3*o&ufl$-Qqy-0(1E|s3G_iq c+K$HY_Huapļ*'!P%`(9ŗds)\IAeֻ*_T\V5&%U[VT.RC](V!`Qy9p[Lďξ bpzAlE]< 5; %$]FV%凧"Zk#E⥗¸PzxQ*C6'"X8'巣Hrя#]s*q>Jdř0!SiK<7~s`2fXQt6Xcu}oDp rpI\,Nԑsf?/ vA$G8oxDGdDv|׽_rzSx/bǿ7Wf&7PLCv [ նj`1]Qa=kEGUeˌi `)FQPӒܠAvx'$;0Ȯw2F幇%DΘ6%Qh">OjѸ)iΩdƒcoe&nq;v g4V\H\`87F-,\CQfmnRPb!Jʺb%eDQI3155K+gn(1L]MOj055 n(YO.l){Ko%_Xd-* 4s؛r?\cQ+a5io*'b~vrPvahyiIpm.,iNv17eswK25CڂMvO~8:B65<ܣީ1ߣ&91g?(=n>p8G2~i1=3z!ME6H>Y3ε|;܆؝&(0~'ZBtZaXO _5_@k\݊WǻL8>Wj 0E=`PټZV/zfpfˬM+ch l1["6H-!N[S ~G7J^ d'ŲOaop)8fg0'6טB~*0q̶wwfm8m$0Nvp $o\=4(1:Kv U8C%xa -=wtviy$>vRYs[<_Z}3hP7;+'i]ܟ6Dm-p @T@4& 'UrKfdxVA O NE]ѕq9tD ?x8;5=RqE 3;IkTpHBE4lw2RoI1u?/{j}K\ϰ9?Opl6gv<񃿋di(P:{Α=E>}dXzD-/}"7d|B[_&}HPDsmoġ SyMQ%Cevr-s/ bAOKȆg*?;7[P:ѪAM@q(m#r?x~gQh<[`חtho-GmZ'f[%-n:LՏ=kO?7v+ (/9l*׹Фʴdsγ~DP,!dAwU7BvGk";,oG "]GZAF0Ա4NB Z -LS9j7;aP6]TeFOUUž(NxJ"׶5UԂs*#C?Y̳|ޞ~+ՋP/;$%aֵQ*<6$$` E>G˨v?1@ds`.?{nG[+m:ŽXPVjy9UʹR;Cgbڒ)/;zM_{^6j}⚒wÄq? 4rW3k0m#ۮ B[s .r=nSG,|!}Vwuyͷr\?iIeӅ4 " yAЧ3}XCx,>y }7- ʸµ<򙥩Z"НO( 7袞 :3C jctS SUz,?7C`G>[SG-35~u| /06r57T\i\拷i.Lh(`<6|2B:Q:ZRyw߶X:M ÆFiv︧Iݮm-jCSoU_`1]ƸK rhV]B=x$k?hr_/8)u?R&]| Ͼ4?f֕羾m:I޴1ɆI 1Z$FЃ} b` cƇcV2$T %kbV9zVͮ3d|Zf։kn(ᤫT{F{b=X\:U͝}-`)3FF:Mq<-YObBYx 5N4  N(7D!C/&BNь)z$?<2h*$'`u{~s4؏/;;Ĵܿ Mka+k;(58P:) |;gp^_ D;TE}3M@Cu@{Or:?! '#_ ;ds!"}+͏q94νy]*^ꭚ֕yddb8<.t[0w -х`"(y⹭j[ِՌbO*mwN%PG2.Rt{p~}Jyu]i/J(xUuEeri-}@Ѻ !jcDanչELu옑!¨utןuX,:+l 뼥ӯ3;ΖN?څvsp0M ZO"Myү й#BWNp/,W?ù8{Ӿp y?ӯvku8[5bY84dUAOg@jU!N*4y]W:RZt?JM: 1S @Эu27,C]ڮyF!pCKE{Jマnetw"lBU]Z]`d'KgX?ŞP ~YMF!h<]3D+$C}'3muvwۄy~Kv~>ݣ#|N|XaJmNP#t( 8"[7ԩq-]ɴV۪XK.~i 2fV[R-fn9ĐS{Ƕ̛nk ,6doGP*ch#>5[)@! =3naT#کV(Фtpc8߳Dӕ_ܤO4F9{̉!sl\!S6+M;Ȗm]Ziwg\ z8NrT^hXlՎhc;ԑBx'`{T[]OG>Ugǚ<=VEi$gSPLMuQDNJ`vO&{ O"n'WN.iO  2~2`zayogo"dx:6*-(` YuY*&sZUy?dDH7/<-|g^[D),J& -@XnliU?SL^wAM/h=ok?/&2L.`A \9pmUEf'n#|LuOo}ަ2Ej0 uO3_9QsNIM$}#4Gqk(`%8pQo)z&, `R >]*٨z¼@| G=C wqj;`8dhyBU #x˪-DuReZЍ-u,Jp$yEJc+gl; aԿh'fhTIU8l%h)5ICO5;68q^ OR|@ٟZ1FNS,cPjkf2"DC3gdx;ވ0qa*=vO4;] _[Bz&)ciC38G`8}_;^C&ťs5!9I;e5sS@O$Tuϙz|buK<գ8@6x\Q0ԣfKP\>Z)&->*E0 W`z|XmnԷ9}!?*zgYfE2ɠ`^=[Eu:dj ^4Z6}/9t!ny, oʼYY=ۣQiO db$V-ht2:'aG _ :&/qv R{|Fp v]\d>TɓݶAA'`eR)z$ կ']2pHB nt(ʀ~A X𲭥69+p뭥\7A75kۑkPD@l"q-Ɇگr.6^;~|.~mըME[u9NΏgn%NZzԗߙ^Bc8zX`&n0:T'{#m/JښʹYӊGL+Ζ[uU3kw'W:eSɂͧ~:"aT\ IK5M̮+_9Ë=b4Z4e A?'.r".(WNO=X*^lBk%b+XA?,VPz<=d0Z^ڛ6伿HDGwZt m)4hRvўzzt7!bG'dvQ.\ccqg۰+TrZ5cҨ8M\tWl ucd1u(}<Ør衿s6yβV߼Źc[7I M XXqŊL9=eT 6>~ͷ j׫@B%aefbN<o{i^Z ng-Dӽ#ܒ>!6}mU H5(i4Ph Dfe<\%3'd%XI|G3aN>8/g8ͬ(,jx9MvlVnn*Ƞ lN*TFYvhn! ƌycƐ1!5J5p< c? ^=[\^Gw]ߚmN)}MϾhx~ ~ό6BL.R$PM&Y6SymHiQtKROY%/GVH8ro:#{7`=ig X0`* tJ 2`D g AƑLrKn򲐎/+YVPLWc-k,Ҍ--|q$p#0c߁n.mG8D}lmZǫִ˹[KU!_ e3\iWF{z1QrƤMb{v*?ߢǁٻs oȡki^ N||àNp`<~7 cgL1Z&=5"] p`k>Xr+IZ^fd4Oֲ2~mhTE=4bȟM xtlu\:1ß@ADl%DK`1?(t!pt n8xqG$Q =ڹ$.c=slNp%a |( NX<&|<0iC}j05kѪM;8xD$R2rzRo!*jôsr5h,9ٖk7GyTRi4\9 Nl( Ѧ Ѥ Ufx4[ddNŘȟnZ4@ZH!' PxӲ>ZZ\*n]7VUB,ִ}IڹkɾJ={h[K٩6z=k[tĬ0}>&)m}'GסxGA XJJEVƱƛ gb""rr1Z?",xon@KyhnCj`Z= cP9WUO >U\>_JNE^|Vނ4U۪uXUոzoͻ;Y$XQ)nnb{܁޽lƅr"p]Ӊ`|>3qIg5K zGN^C=)'R2$>\!?ؑ3G^ y=Brrrrzק y=,$''''''''C^Ǚ'l9| n@4ǀsjju ʸ %WLB(QM&lkuӔch] -PB0IjV :MϥTfAU]6"kG&Nh׋|VpһP>?ɦ\8O[J~e6Stnwu6[͖r 9O־`oR|wyN8dD/Fw s6 ?ɽ|$E˧: L4YXWLMzv=WA0VQ;'`mf5ޥG(F9M>pZçԍ35cζ(vsf>zV?/c(_6IY*땙B R3A.2Kcࠢ hLN5k2R"3) IKPS&pR`.:6r,JZܼm}OV(xZ$IjMY?ȣEӍ-hڢHD/3;T5G2|:X? 7kߞDMz'p~~ {\\i-'׼N9޵Q s_7//g^0a\Ьa|ϿƜbϏYfkLan%'W.6^sVtlzDp^mXiTOc//^U YE"e3koa9Ϲ2)3fmm-yrُ ?=mWOk)fc\Q(7ũWR73&׾Z1ʼnv)/Jݑ\G1"r""{-Yj(|* X[Ffp4SF[6 75݌dٲ˸\r1:rF + RDZ< ؘ귪`khJh.6e)0)7b!TnjU&ȩ49GИbҕejn3*"o.;l0| ^€-`uS2=sO .Fs57YU@~` ZDxb0@c;.P/G` 胈FаHXˊ6g5vƥvYSK (G BT@^_ q {yہCjY{BmYTOJؽ57K )mq4/TnH3X/?v/ C%-L5hbǸ Zk9^' &(BA+)-kNՀdUt%E&ARDSfhy m+SQ2d!Ύmv:h]%Iu%uFjցYmuO'b j )[C֟ua (;!>{<V4Kn/ #x9صZdϜ/p;WF=T0R׬7a@{0l 1㱂jDΞd).qYFZH-Y=&Hg k~$h-΂O@|Ug >sXEWa $Y,eu_W#kpthpfX&Z>4VP5u~9;R\^mȑrc=V )cpwȞ(R RB; # P(K - A@DŤ2Ϧ ajYrUj%bCa5z1!(\`~!߅c\n͇E\LX #jˀ.y`P!6Clha))gjkU}N״+хǐ28@ z#F$d)iodv%Hdu*3MYgͰsl %XN)ښdntnkv$6MO+o XwiFzrNKNM6 `# 6 (R)[Qg^Zy|Q+Hi rh5ȭkep, xST޴;# KQK-B.)&*S5+i9%,O0ءT(kl`GjĜH^vrnϟ|각t+B{IڞR`*&UsJYL{ ǻ2+ȝa86%n,s6ck$jd$slpM^?`ז%j->AS"n%Z`]dWÈ1x}%Owfq-u eGϦO{{Ui^+ui _ w+r?~2n8J80k )uR d! 3R.ν41es(R#jɄ7]{OrNV]/%Ў rY.6|cHF]%͊/eq$|jRL+amWp\WA&'Äl ![zM d lLH1KR +P;!5Ɇ)yO'FQr-C9,: ΥxBJR쌗F)ԺP4VugO>Q- ~'ad];z 3V]Jά!EcQc$︩1 d}S-ϣy x &҇ji"Uׂ]qv'́]cj[{Q_h4Nw\Gy͌a'{o}}#P)y.rx:tw06IML}Dgjg`:IJ)#nrIpb ajzMWf6 ~^DU8Ii*eyW]۬@ȉ%EJRLkqPhLWq&ڤk8\Iʫ+AiIߐ\LZ,6h*\RQ ՘낤za4I^ Me8ҤKL3+7UXl-D;CT` B7d\1y Ռ7YK&r P1Ci| osa7cden_ Qt_t+?AWϡט߈ $7"½C%>Y(S>(xB~'|}a9𘙢z4>T+Չ+_)EvvaCsCʹ6xa`q"AbVtu *}30˲S/  =<&>t9{;ܐ x^RȾaL/M2,bx L۳dnPQ"2Z^ _j2N\hF\ۀcYF0a Gy8ml[8wL.߳~ǀCKp2]$fpY9o~/v\7hMdI؍'-US!o2fG:<Ζf};j"lݟsZrX8 <+)'*&Z2l 6;JKW!<ex,O]J8Sv h\s{[ 넶?ajF d4t?b?ΫYF򽒮M^"r7tTRl8Jt}Rf !ʚ[?5u2Z p6!Rƫ2)) 0pAJu<,˧>` CQgPnmJDT.DF2StA˳91.-Xm#?dm8=Hn8G鐥7'+e0f.f+W_>\A|prdEG#9Z0uQ+\8l&A5s `ɺ})e{d>'g|gxBcwJ6ևQpis<Je SsRWD>rfv50\+[j+.Wh "Nvtz 1H+ +KR E%=nQ(ӎ9JkGؔ;S?L%J-**̑.W{yGY[Ht)\g] YT)'8wrDC쏰PFD sOՐ|XXόM񥱧l`GDj!jCڊ@m翡:g\GPmјU(TmsrƘ(K$8%%^WlI3K5O Vrl7L&,jMU#We'otˠ?n!Dcr];M~1N2jN D:xpb>OG\"st <> )c>)}"Ӕ-_ |hSA_?ʳBb<#rjnӏQE YoL%#OOЇ)~ ²7{0 FBJ,Kи1Uu M`vРh::`n9慧N;e[ ,YHv$UA9+nXo1Cنy8~D~b{a!RrCjU_:I dm~ߦ>AZGn*_/Y<  ٘|S-㚌?[Pˇkjk =n4u!<2r ĵʘ,U#N>`uz(SVe01fIo6%| ъjϳPxYUP υ0pXVy!. ''JsHwiKܥI)㒎'.(z֙ƔT#J '9a#eɴnb1tC rƫ,$DIl;TL4ZYnȫ1.  qncĨ=W" v7@~,BfƐK&r$[E ܩx %QB5:+AYijRV` su(/cl\SPvyTڽ˪ pP1+!z ۹9v{f׋&KȦNY9.dK>$t$s|n)8}ŤDe;>YyF(<|)ǒ2YbBZ` J]avcW$j~Qh*0~ ϘK<(e](.P@Spxj?"=:|mY@T?x\I,GQ漏]KS|0EO˨ƣRo|lΊ$[C 7gO|ՏxQT+jOai5YvnƑ,kVXKHj:,4s5`4g02ɡO9=()hf[nwWqЕn`d.8ִCVE5rrی^bU٢tivF SQz԰m=y?Bcqh!ʳKi5nhYQ %Ԑnpi7y_F33$DE@O80@Ǹٞd}R"Iֽ=FNgL`>J Orp'f:ݴ*k,r6ͼqč7)"-'.?ADCQY$|PLDMmfWjhHJXTd@^2|LicRRR*vD|ΉחĜqvX( R/L'fHzL":/ %dDZ&.9[%IY :ލ9Ћ_h ǹzT&zs\&]U8\TƗ%\=g\`3b=}ܟ3LTƕ2|ĕ i%uLRBT 3N  L Pm |iU<ۅ;v;f t\ ^dBOOQu Xz^}Kn?x{H#AWZH[d%f=Ny xq4M`:Y|pKWd,D&FC~/-f#.w0iJK]}G@0j<˹6E%JvGWSΒ̯@F ju?e ۸ Фw {?sKD& L $'쉏:1xĭ^" 5 {edXTU 9eKƙ=:acVB΃iJm!oR22aiն?#tih5'S|2ߌCzAzܦ1T# k|;gt>^m8Oj-|MbS}W:[ee\xԀqnpyta ۩W$ÈP8M2;/sx73uy$y,0ٽNOj s ]!RG AoB9*'xyC[<9h(]+Ibevz+K&$*'7 ^hSʓ5BMU1`be =vOwQ^{^@C{(>2vzYy/40O.!{:<Hi]%ٛE܃EyPVPS{P$ګU`P t `VQ;xE<&(Ӫ?V;-Mց!PY*(Hu :jNLDlXp)Gl>:aGq1*tBj=yh O ܈e/q5XM};ŧh=`(1$;fkٸaϮyD▷Hi8ۖ1ʅ`^۷t+n>)Vt-? i!A% T8P>nH識>Եwaϊ"A|hSrHa(-N eCp*ʉY&G)>YrN[ 3Yyi:']Rk(3MD8X*Tj݋΂JQF 傕. e\HM7L帞QY^Uݴ]?Ӽ~ ~]$ "L &H, JllX֛n8 QU a'ieU7mi8Ηxޟ „2.:bf9ԳnڮyΙ#1wG*$+e;$3%J+30!B0b8AR4r<0h6Lv\OtFuquۏr|\7p< #($E3, $+e;`T-|ǴVJV/ޡjLthbVmڱtՅO@HDL QkPScʹD#Y N GfV;'θ =g`pLP./LPNo0p ũ7DDH"EFAEJ*b$K*M: dˑ (_ReUTEffnaiemck8 0 #(4$2J3D1H, uߘNo0@FP 'HfX2+O/JZm FTl6@ &X0N5y߹65&@bxJg9BW|.DWByoZӣGCFggƜKV06^Ȯ"8H%M ׯD&6.X|q6Yܱ)K䬦R}, ձj^/n0"D-F80,B7GT f-U&5OPXX}#5hDA5W9Sf-Zia)U4y`^9A׏0iʴ:!8QYEUI3mhSGh,Mg^GxuIhiyf" 'Hк a"<` „ZT)u/^%xx QU Ӳ04ˋq3HfX@ Q*6[NͰ c'(Ɋbd免_t0jX(ʕjh}^!@b\H5\7l;γ-ßyd>n_/aZ"L(BjaZ6( $aen@ap`qxDPitpy|P$HerRhuzdXmvs6_,Wv?OI (ɊiَAIEYM8-KJVo4[Nĸjc(NFt6_,Wi0|M*yo7g%PjzVo=*e2`phՅB0b8AHL+;#{UGQ +s<9E;Hy@+KnJZiO G/WVE&Ad}^Q={J'Tk%JH'1vH܊!zMW L:c:ur2,',z,no(0 0>#0Gut-,zs) zOA@W ^zv8y7rdR6e-dzΒ[̱bVN96rf롹vY֪KNֆDW/Փt+'ZN2XuF WMNy.+v(I$6Zc(XbP=X;yV£LWw(($1bMl-]fp(xڧl>(uoi=R\38Z+/fjYRGܿSrt7ˬGM;i (rZTšV!A1 )au!A1Hokl,/M WI45p_JPxwNP py FPL61DGLd[O{N^ۻ3䲗)|EgV8//,IJolnF>wh Jg+FPu՝% 6~p+Wߩ r\6ֺd\׍oKGN)[* Q 8U '{`S;6(&GVWVjd6S1k=M+uO;LD3&Y}剃0d^2AԌ쨰0A8 "3Pc eT쉾G`;`lI(f)Y4B0b8AR4<<F3Ag銝ia"-Ub i[QGJ|exD,aFn aS^:Ps= X`*sOqlFdEZG+T22!qAӬ2l}& K){@1ڨI#M/@Y-2^ge!$sc91<9 R^zv5lOĴF_z ;`ۮ/:e&Bv-?Sw@ zj럓3lS45].@쩇 ɻ;/*h-٩”ޱTTf!r`֔EwB$$A1`AfA]r2@f @Ě|īIEYH*;<)MN0HIeNduu V #($E3. դPU#7 =LS  ˟~vCznoEߦ?g=1C#>?W+Rrޘ1e/\$oGja՛,l@<@JyphE?`phf@FPVTq9ARWsrV %R\T5Z;'Luʟ #($E3. #($E3m/Z?]i%]s%G3{ļ^p|x`IG ]s]]j輳D,f)y&CU]"ϴzLlMwIi* _vz Ӂ |(GPD@fY4ya5RH6 g LgogPȋ gT'߹$`g䮞ydzSaJ>D|>s6ޒoWMsTaRhQ9`Vqp;YyF̀?FNѶ鮡a{8?a"&W!z(䞈B-Tj:ZJFR^}]azd*XaC!;jëZ󕢠4nV+Y/waԍE+pcV5cЮkS< CNX,J 47he[b`Ґtjs ^ tI8]>+wc4?Oahr wV], vdRSYy(Bp Y.AVru[.Ṡ$,NtSY4&3'MҕMVRH>;pS+BdMz]-JSxv'("윭WøNͰvI  VNͰF1\'(S k7]&pBNbl$`.0 )piX@I1,6K" '8\qå-ψhh{iVH3<]q+&ڛī5r-GPw n5[ hCB0Iւ8QTOz7 ޝk" 'Hd9^!}"ڑ;0uF3aW9#s 8Ը;wOF2|  rJ` e T6$N ,-[73Jּ$gceA(h!&JU%LC0{Ns!*!APjZ^Wmm-ݗ{Y#?OE x*ӛ*YsI dJb'c<.֕6=8Fb D aiE$439@" uU%D+u hVk$*ӓ|C5-h1S:=S8cK҄ t1#ʧ!'Hl.t, 5īƬAOUcVaJ@ΩXw,ݬB 35ydY"|)n:oUwF*8WX;aBVZRo^a0 M<3=,3A#XODw0zRTjJH~4t>2!n䑬ԓ`:4SҖ?y~&^ {e{4FD&-@EP&E$yE"-|ȁwCGEpLa)ߊ@JThIw锐Rx16^&HSݨY5RB?ыbLqA斊Ud]r ٧ Pjb i÷+wk_YOݒE>){搑ȈtpJ/߱T/3azSܳE,/ eEޟx쿵*" Bl64C14E8%rr%ɷTJ;9ĚT|IH/3 Q0YV- l» ގTJ:\sE>}/by'dy9?uH]ZCD)֙ܪUlPZ`wz’ CPEusߛyc I6[>*idlQh,3edV4 IeRk}/i3:"m FaFn٤Ձn&`1]Z#{8q8k̬Y/P5:ZBh D+zŲaU74ATlUz?UkK:2ǮX"-pC6NU+JP ϜZkQxBJ} wv&׻ r' lz90#aB9CڶGx|dP!"UPY&u@&QYۻwXļаDRMvH8:ho8 GЖkN7[Puod-0ӤnےlLЊ/yD<<$5dx(* cm W1r.@Pm; 6X P@@Pa5|ư}}& c.ZlvͲSvK0 1.3^[nB$Mسlbr>nO鶧ZJk1 HSvFg GM5\_/W ٬۹䥫SUi7NI8` lxl:_wtgW\PNwhXe,cPHqS.9@nyaHTp:7*.ZqW72QBrl:םӻ8AWQrfe?Zov^n* Yݟ+Г 2 e֨/H權T ,XdlùoCiDE+^1JjSæޫ"*bĈ1G!HHHD so-GCİ+CQRU~{|i%^V0°XtuUSFF!r!s@7B9֨87clBA9{FNEQT"c )va?YtjYed֮[0Acf홅dvʳ!8W]}EFRnx,S8UeXcM*d)VtZ(nT]h%{>2RzmaW&RkJ**̰+%ᐆKٔu npzDue0Ryl6`q4;yC.M+b!d:I2+70 P P, P,Pi }n9#̘^n:Mq4\1k CVdCy<gSXI:tq..j7}`9py*'of6,-@ dE25ZPG*3 U7h%=759ȵ elֿ("gD#zz +nZH;]\k`Ef0ؔ"C22`M[$._NR pv>,ڏ` W6띄D^y@E燬}wL?QY'P U` :,1eGruQtez[=+CL>ǵ8s+&W9B.v年QslxǜazǷ1۱ X;nEc{̱漼Ҝq%t\.cۥz;ᨮ sɛ~o{qjEԸqC AIt1Z ՞7tO 7n8Cw.$  &':Y9; [D2@XsQ CeUi!q_cWگNP7`ұLȴev4|͹| +>ZHť38,8Bpb8 OtX6 IgS`9A)fmx.ʓUS cJ }Jp(,pZAށ90 jHIDb$z;Vèݱj]f 6p[~+(H-0VvԤT0!ϒ>bDSp$; 3wD\fh# ;.wxs7QVY#@Cr\b~x2;;r/uVMxX_ o Za]AaLf.xkNH˪NnWF 3 3/4}<輳! P'o7Āߚ*\p<Ȣ1 ," 08:V[d2 3U^[C ]CabD\y@oQ(ϳ!߶?`9u&WAw)FCY,b{萀',˝}̋- ~?GP4InG/`91L8ԜSZpΥ_nE7V\ǶqE܂r5#9Y q 8H'D^Kr#ɐqٲ sT8! ]61QяM@p׈ay,hm`Ŀ`=Ekcfqs>pĉ=W,+@IݣxvgwZv*7T,," rlП@KDjt-c;NwxG> ڏcV\cBOO#ƱЀ'E=2dɑ@Q1%s.A!flˀXhG׼JsX3k4;H!sp@4uq \̹H6d`SJ QU bN\pIp/ #($E3, Pzfw=^?r #([6r{>?AR4r JB „q!ɊB !RK()"e*TQ+W|J*SB*z @5Z``phXmv'qvHPkEY7-qOݨ0i|*],(h}g4=k Ϛ/<6^ 5LwZlqUᦅSyZ2J{@a/Q݁bP"'#_Eiw):h'D 4]ijZݍYuJid.$&q@ %]g(&IA QhV6;-mTOklw[C|``jf!IvH讹wޘmT'ORD $ȔSѭ<թ Պ:\soU,҉4nkw@:>?pޔ$%jʦPF &Rh1bʼn Qd)RI!S8$4 ,{ģrS4_URE55pO z?q_׳7P0D3_=  >RXfIA^h%շ5 &4t ̱- gP0p °/K2uFMh f)(&X$aZHep Ax#DQCDSH1S ׎5g}7y.*Rfե_bQ 'WŧřD$t-PG(taw&K˄zTs[?6qrB `AG aDqB7"$ÃqB\r$["AULPǡ\@8IVv`yaŲJ0M _}XYdgq Kiv#+;ǖޙ+abTjZy2dctvʣU&u/uBa *_VF;Ey-/G&hamĩ@@5X-?jM]BAK_{)Sd u^P3TR:&4hDlK5rJ,m ^69v /3)v/KLw젭!C8%lpA=|W"V7Mf`pfw8]n'HfXDIVTDPƅ$+fmn „2 @0b8AR4r Jja2[6r^x7`GBX"JZshuzB0b8AR4rD'BU B .Bh1bŁ -QR%ETR#V<8(U\JUv=Ǵ&]a7u7ݏ S4_URE55D{^9ѫ%Vnf,GsH CKr "K;0`{.9:(OR=T6 3!^v[+k`2G.U I F98݇-D{k㟘毧c;DZ- U2C~i[>C(RJ)RJ)JA! XՇC@BA!F$-,( m >oL싯p Ʊ)3"g0y{Mg.\tmwu Be A#*PH$dʔrjrm5+avl̟"/ VWj NͰ/LPhaɳ޼9?F[aV }kB(j3aTrhEI)zbū7>|'2PJUZ> (Ҫ,6>(((OyÆ k>2N%uT$~hB RbSKk쳟N:3: b(i&F[ޕQI(G in:N5 لQH yj:0|1% `:0&FP 'HL%RBRk &C2k8sK@o$򀑡ZHLRXrTcB[l5s; 5iq~ x„I,C@BA#(zunIV[~֙03jFL t3p: , 9$xHJ F!A1bN Q &q!Ɋ醒mi4V(ijhR2&IѠÀI+maɍXSJ;#ox~7 oVSr,<$:2L ?╞8Ȝ" ,TPE-niQM1 1yŶ8k/E/(S֯ljj;x߅H NͰo4}{;OWk. 8_=^Gσno,mgϊs1gǷ֞^YĽTh'XKf B=̲;YƋ Dȁ HXpbiESޱzuLQȠ![SH!u˶AgD#mm엓Nz@j ĺА:%W2.+V7Mf`pfw8]n'HfXDIVT0DPƅ$+1L UjikL΢:$h[&FP 'H$ڹD Phd3p-yV'5pC+?d)dblLxI%*@g(OiU_/KPO RP1.+V7Mf`pfw8]n'HfXDIVT0DPƅ$+1K2h%g5IzIVc{\G%n6ڶ HU%I2 vk&M^zd DbPܨap {Ii %u#CjDB!B!$T/{/84H.q!u?C$%/յq BnĨn^Z „2U .iI!A1 )a9^%YQ50-VtewPT1LPNo@FP 'HfiEaJNL-Wf 0CXq~2+:lv1iuel(P~.f6N݇O_  !B!B!=o'SQNc Ѝaf`ةAP 'HfXDIVTM7Lh`!B%ZXq%H$YTieȔJTuVԢנQf-ZiסSn= VO'פ*Q+*u+ՉX"}a{>H7]b:M$rR{O#zT(!Bte!%yg;qN^PPcw44o#\4--8T:.ˮW~ 1cY\w{9qMv]@FP 'HfXDIVTM7Lffw8]n? .; 8R9sfu#h RbYҨ>:vKNkYdMfva|$0>/IWMuB )IN ֖A\KV頎(ku#w`u92/l!j פ`g$\ηoԵqY :h2 #([6r{>?AR4r J „2.$YQ50V$}38.ˮzCfk]M 2lĨ17"w蝧'G5@TAmUsz {h׬psȉ3n; `B0b8AR4r Jja2[6rq9%R\T5ZNͰ\s4yZ6C+PѶN F#($E[5D @eE~)I_tBJb[}wgi1Q`BTjڑS PFPk0]:epV9 :{אԇ$S0u3>oWgjHi= "'2zNmtOs~rÝG<`,׫Nj&ԪFgVωvʠwGBJl<#[9E,U_%)&5 ĠY=]ݦe5:L3vi\%0db8}S1mR9&%Sh:^ )Liφo7zn,Lђ c9&\+#(~TMmAx\.wH2W%9Ȕ +G[D'Ʃ@Rkcק"K1+1ɰj_!)9yo*fX"W̉ZǰA[_ݴ]J^>Ÿir.53 Aնbn4fao1VކgNB߬qYg9) *\N0@#}#gMV=ͩ*x؛E^fp ʉ5S12xqs|p\>%Yzr!9mYmgcfQG8XE#ϋ˿qL[ ї)rtZ%ogaqkmMU=j-'Beʈ!. y_I"bY/4 t&v-֗H{Ȍ3 ?SKFU*OOl ߛz@ц&/{ F?6lD` crZyۊ;28c}͸*ӳM;ۇHBO9JkKZ{67T@‪omr)dHMt%*['ԌK:$Sq `KPnZݲ7UY-ODlAkdbH$VmVK%Pcց ych1#ˌyp,]a%LAg1$83f@95))+v`jnCG%=H C͍HOޙ8C,#J5#Wz h5 Bj:ɃT wyNgP,ςw30XKh:UXŮ~EhZ36mo0401JɷM!j8LJ?I[No7'#lwS|IUfqFum/Y8s)9a>%Rq_ȕ?ul{Ei6;3h|$[إjHWLF_:>{׳wң\@ߠo?W(8oyMtő|tPæQDCߝTsH|n*Jj hʼhDw0[E?6Zl))IVkzla:ZOф]pir#nzg2|_l#CQ&gK#S|Τ|LeܕL0cCHx$D?|JXg FI5$nh{CAKb.MXo!!sg `dö%;v1]V,bJa-BbB-#8#ZTkaBnSZB5N)`XSEo*f(a^{x5֪O=3$KW`MN5Kou(ϴIOYj2Kj4vxӼ {؇:?68!6%2uI]e"טus|N2ܦ]C[gE<{²TsŠ07-(>_V}paLӦ=Vk]FMg5jus̺YD\PApRd k Xo(hAּ`]0h>o5 0(7^kLE(=O,Gz4fAA=`VX[(0"PyU嫌9*\mWFt4S18z޵Zq5 7!hi؈uõ1lob{/b$:&/IX1;ݑPEW1@V0+ u҇Q`UaBP m"0 53Azm8hCG[mu7k[|FkL;LƜo̭ aFo@ouN؋J]MX yC#El2C&!b%jE\ޱ88ju&(9#IEbЬ, Ёu7.%f ;OQ#" @|g#$cL-&;xͥE1 -ه=auHf19op'ܫJ2j ޅctO%xO,\W+I-D+ N!~J<@ B_ůW> a’8 .`q-{ Dĵ|/xA2qx@h X\+b6S "L*iߛ+w'B | qjKc5`䷓OGk0(O;zkW{qw{;2!D 03pdL; 80LKks=y<>/ A+PRIyhjD7$:xhpc3 H&q]WxN`a͎mndd  b{CJa˖$XIwLAIgXMM[$ ,N{=Nx. X[m+*2.ĸbm@؍?{''_ߏp}=+'D2C A=16P11A&cJvm30ö;}K flTl=nn;V"^ѝWc՛Z];N6eN7SoV/b_GVQ}_^,OY9 9|䶩6i1,Zr7] XJ5@DnkZ?n3sϨ.?t#` :ȋ;u˴M7gM`~ vOFu ԡ(@WaԨgu0޾bl󦍉mw)cxőwX=pn\vsd~|}=g83Q6[{uw![A\PHM5~`harJ}nq5~?ZyXx4'L%m4d)jBxnCG-Tt\v/;C\/E } Yh[r rSWX 7C9Z?5! W.52/5D{șLp >[::d욽ёNҞC h0kxZnH `M1Tx#jilw'v =_^̀|a7~8c/_ltJ^!yDrqQm7%{-IQu0cX}CHXg`s',@H֣Id/$Jkd<"& Kmze LMI>% . F@ ,Wt-n{Nm+sP5h6 f19[DAqmѭIl|-: P+ ojH#Ho.~<eSx+^.>̗ f_UCra [/֓x9DJ rTb<}k/v"ɽмϤN, Pc-^T!S%wVMT!(ua^~A OdG谟@cjSoo- ^ULgC/2 ѫ?]\ o4: ޫ-W ,'1o@0݈? ԗ:+`>26?DަQb1[d*.HCDɞvm3 23)x4)prp&.$ O6'r;?egHiO N0zjuֱ =gB>GZ-$5{JڰWJ>SQ@7?;О!}U! ,Jj c6v/o0c Ce/ӴPe|7i2\2xT;ZrLU[i ha*ڢ`E2al q6Ǘ{uv3Y ϩ6l%fQ$ _XG\ץ /s8b( Sl- kNumolV1ұ>1 ?w\]<^KqJGxZ$8An|"IެRr!˶h/:5iKg&Adǰ> (}srv%]PEl|I05 VU_ \EӛَCJV8:Eq˖"oj5a% 1 {+yJ~E8BФYb&|6F.DlISg(]v>z4NT$ `3+;pl~ 0^6؋/jQ͢-jF\p #pЕ&ɦs#s(TlQXY+hM9{o/%Dh_{ā'XX9_8ѿ-ۋ<ȇ-gW,$EcSY!o3}ԤfPKWW +-}'W5P {G3eUʃWG*"LO/IubM,|DMd jb}^nl- *(|}Py:G.ڦM_0@K_LN9YC(W٥z$ͯ=idlqF6xjq>8gV&U`A_<ୗ%!:ܲ{FܗVy6.m(̳9F>:E>B*S4 Rr1f2=9Up QpuOzs'E줺6H`9JzS.I9}Y_ѷ~C&u>ͦQ?l򑽿 /$+4NOϧe:/Is KOi Ŧ"Y; ;#-u%VoKTn3Ke'uU>\qb~ﵶY\̤C9-,$L= #˜Ӭ,!A=Ppe7( LccPAj`@Lh@ZЅ 1F cY?q}\ӧNЧËx=ԏ2۔؎ړ9;NXVnYt/4&'&~=0vSd{O9L{<b#rۋ.GtzZ #hXk,cS+ 0JWFT(h`W(lNLBd*'ar#/'BQFwZw-|(h=a#S׶D] ސYx}j BHB-c>Uw͟[ݲں1n~烌^I jsGI9|2tᅡlzW?\<]iz_D{C)l<5Obi&\s-9R-^{AP@ꂣbpRN8 &Lw?iP HDATrg| "vRNo0xcXj;.ƻXaK8r%W(B—r!Gj* #Jq$(`!MQR>,WS}ԒwNvӝl:߅7z=10wBoo͜/4',-Fy4fY }a;dƍxGEG<\)kxwho2tɳ%GUηvѡ\LA\Gtr6UPb4EQ9WU [- 94Cpx :h3]0[>$B$@@'Ț鸧E~_{+{dc9WXD-uYTkjqMY#Tp؜)&.!)vkv]9Rr@2 v;l&m,ӕ@G)bZJ@RyY}'Ё'UiOAͨMZ9#\M;\~'ջtrɿ3O7&݇ EyF^@(3j~cGsyFm`Xh|tZGI@h)I:Z%dS*˒PȑR /ӭ2yP%%J_2`Jpo1aǘ ɖwȕc%P-jyoD,FE75={C{?\F I9vJƳFr\Μ icIӀ:SV_7\d9ry|P$HerReCD~f~jMsEed3IZ<`^P A荭a@[V@ խ#41+ n531Uf_!KҨQըSiP5zm @ŷgoS vd/d{Ի?oN#itʄmr,'.aMyP%TB ts r-S@K IC` vMw l$spԯi\ֿ፮i-cG5J,jW&]_oʌS>ɖqxIvt_sOϬΑexe]S=7٭:E硳@0/kŻ"k">cҗ_4;t`ϑ;o~"J !sXcJUNoz5#8q[ǜbFRu.3RJ@c,[@J@s=I`4PB=ɨ^A;B̀ ,ِ:4~ve4Cΰ'nG?J ;،[z]ZYWS Oⰰ-AMMl>k@8 QDZmch7=d)*!aP Vt^B؉>qx3s >b3R(+=FLYTGDwjx2^6 *TFTLcrybV w `ݪ)>s~10+o( O)1 <,op̸CrY#<Oٜ"zmJ[Z&%9KMb<{W O h"Id+T^6]o}O(vVЭݑ-Hv4Z616-c0Zꂶ=6 Ԥ>ИRD,v{2؁TNҒ=mB%-,*1Nb]mFٻf#bx/\1cBNs j]+&^9rexU-E(d'EKb_@> 3c8{lW>)hHL MPv"9 d3$|w Ew7nhWHyQ] >xyW7G<<Oy'xp1O_)\^C=óo~CSlM'{h`͋Rs3.~7N$/~L,D&I& sك9!x A>Bvz|>,6-EΚ@xzŖGjq$/*,90GB q}r`##L~kNReMQ%H9e*畩̲m68KψՒQe3} l^LnY`A8ΰokf~v}G˞=qd끾oiLU gCԭS,Kgɗ3eGMf&axGr "`,Bgp*ء;ۑ |'yQgRsLJ[~xEncb1f˻>=?λA~w\P-A`#!V0oaJ'K,IG)Q^S5y RPcc*E.Gl%f*c js@ {چ{ Z]jjD>(2uqh:>(i`ލ bĖEx-e(ۙΆ_=Dp> vs9$]2SFL6dY-AUV;).w-ؖC0zPACRWP~+`xa0 +:LA4Y)WE~w="B M,ejfYhN8*и)ٓAt  44p)]vW^u5 }aBRic1R[Ӽ~kmQhxD\;Q6لg+s dO/[d(xVw"T9?W"@߄s0;/.݁;W 7苆4,^AOc;A A/ 9 hFUAR'@3(iu7j( sJ[!9hU\ :>J=ԋi).RIT.snrm@%}ӱ0 -x37]9nVZTK܎9؋[Am^YN(HP|+Whc zrFH/ ۅFh:pqG 8,]WogH~ǙOH"rJj֩ϰQ/FpyY|\Wͭū6Nl8 p4s$IJ1o].0[¼|ߟhَ),}7 P$I tq:1F7sߺԖEYZ6[>4@^ F X3PxXkE0q1{~QѪ2g>(DTJTːR^ ♱:]n-;N9,)L`Su7n$,j hZR-fٝY0mފM`uC'be`y lڹ$P7ܶuDGe̕H"S4t$UCgPz’n#3 +;F&啿~479I$`ffY/9sUoڑ$)Iffv$I$I$I$I$)I$I$I$I$I`ffffz$IJm翁=:Ga캱9H$ 33ˮ0'r]fL`IaHVkNpo!B~8[=(J|`TtkhC>\I:\~ c hhD\L6EЭSG[q~h.lLSui]`mfr %(}6ytOL%|]itoېaŞ^4cg^ι6o;=xMq^lEi~zzNo'7FQs5ЪN^FV~%:8\R!!A ْ.ohkh:O#D_S>c|>G+Zy6A@H4pYSaa !dG^0|MS7+l֑8"+Ն$4I㷨껊YO~iَ|:jRqmyq+S+CdI'"$ln%10@@aHYX)BK*8 ;:  2PcgJ-O%S(_b7=hf81'U5= S9(or|Ȏ+!SyXv^:?Ι]jNbj#~W3i۾5s%L^WF0{C`HXXyZ m񾧗5} I2$ԩr$̙'ڥINTu2;mIF.MP;Rnj}f@K2(Thr 68FQ"%8xlt8q 0Df%g 3p7Ff6@J HM pik X*A: c!L8H&@<HgA2yJDSvt6$CRc +w(Џ7XWM0W6Pkkl!ܰ7rhR0-k]/(;FtS{"s:^] p7.YWMXaXClpێlM4JF-t^|Ґ~۱!@J(L#.4yP2`TPE uAz"ݍD/ z1V;%RT :MuV@ !UZIGmI3Z"2C 3:O$Y_ZCO6!`j N ŋĒa}cHϵoPK4'3G7s%mXg%Q҂c4/slh9]fBPZYQ%RQkh OPC z/B.7yWfk:S kG q"=$Dn jOF-:nY\*%_!^̣îC/̛K"@y#qoNVE A&4N B`fiyXeXuaסM؆]ya߾ыmY(P T)S?){Iѱ7O( R~QE]jno#w`g(BIHYŸ́b{ѧMˈKe0b9Vn X< K:qm݆Pq9wbmh~BqCXC.ŵD.íDW45R%.Kp|tm EYu&>FX*OdZe"uDYn'J o4 ˤL+E;\>4oO7*1 QFC݌'FE$ɇGU4^s>y+Ɖ;3)ET{wRw]Ͱ jU_+ :kpn-@sx¦pg4OYy_dUH 4H:R@:h_*9PAH8i&N՗RY?ܪ]|$B -#Ϧ`Rk0.|RC 4sWy8chH{\ X]Zg-o85TNɑۈ㈢S}8=]#fl0dp:ukkkkݤR2yܭU<_x~ zSy=\XsWeE_1_ a+JS(+F/u6^Nq zZ>h<G_o荹q129r7!aAPd!9ѢvOqhjN¾20fcki= \rb|%hY:ƌ2eKi%J.}%N9բ]}|n6'ciioydB S㺩 ˶\ys/;, ٢̿OAtdf?ٯȒ=#o U6zޏ|k HUp~YUFz"-$Ng 4k mw-}WO.Z"֫6kFDCΔSM=umq3qN%\J>E PXH/^W9BA:R9RWpb*`R*c n7.SNF캇MXlŝ_l/< NA)1t lͦmÖ<,Үޮ"Rm*m)2Э(nP+νs.ǐo-3,6^3?/x߾kC1\ 'sgVkQan-:TjЋ}Ӽv2]X?]mP13Ju v[YmG;˱+hkp^*2f[Ev\L&,6<KK<a&Tݪ/M2y57*7Sl{%vy$ yR'W<_Jɨ1DZUq8pH(h ڭH }*E g74l fbru{v3-8!>Ͱ ;s6!Ը2f3g2\>g`Ix؈І> `T9G#> ]{ߣk+V{SlVxk.6q~ 9 I@Vw`O2L}:y|2huRWsVf6`6p7d֯ة?|rҔS;OxŃxM?]S)bK;ale{Z?4:|ݯsQ3)2si$YXk~kfO]:˳\/ /xϺK<Εֶ^Yti:gs  Ʊv|_+;+9KY;2ODf&* YFlv2BSX6UQ]95UP^UrBEeYQU>ϡƼהk!%!@Ksq Y6o-thi+ [ՙZmy۞&?b.֒, no8ʷ*t"u<*rb"XK\}r_I.FF j_~F{G Fuo_RwCGoO\WȮ]1JS) qWe3lUifٶh5/cڡyvlZ`zb+qRG:NDpz5ȩQnMvWvs^=3 NMd YZYYِ$]\uu7tmwbFr*UVӏT;u3 /*vH9R{4AS4Cs@KBk'!#"۲=;3#_4kڋ.u+]u 2uP9N%]\*w*j|o9[.㲄+VrkD)KR/pr]x pɛ~3oߦ+b3KEw[p8,5bLYE _3DvM VlS@ސL\@Feu2B* ˽?\!o_ɑ|WTD9lVcQw,im0iMO}Bq9Ͼ^m"Uƫ~mFŧ-W7%c3?TR~ZWAcXѦ*BIf4Y)f&Jo8 h=+k]KiU-ky+ZٝA}[IlFtsJ׻ַGv-iuZ F5~ѩ(J'[^*Q/.2.}I7}ފg=v$lq{Ǒ-$6ޗN{v g9M]x)a v?=OfPgHG= &zfs7ns̃'KoyG _tğG#"B] A10,X! %IZ9DKy:_GXمu- 1IL=))4>ɉ\ 񔔲ERFEePh#bĘ+"5'8Yі Dj$I&4OZZ 6P1ĒDGY)HUiu]a0-gVc3I9Ndlwf!jmɷە:N2nw=v^/] ,  2rj7 eR [*4V"DU{o*e`b5nyA#6 1M?\6[m5noSz@un_L~{ރ{q߇~Ц!G=4;83ιy] .z#.2[|"שSCLh4wQj@\FnDquJkݸr떎;wwՃ'/={܋7%޽A|Z-U}@ZkM~#?hyP! {B )<D ' k5h%;E:$H!E 2/# (QBrPh0&B C7 1I8f|`+?l`.G<@"DKBHzŘsPHRjo-Z,+V~"Y6NK'RЏEA?k?1!7r/=^z{q- ӭIxHAID'm:bCu( FĀ'N=Bݑd֑4wh Lr8OԻVI:}2~/>|ޏ<.gKȧ+,m31M$Y{NBs4>?g7UgWhyl+G[ hh|жbL1#~ \\Z֭.= WqG^û/g5Us7sW禛[b}0 0LPbm}#Dg܍9j`/h3o~*(qUʾTQnȱNnR)2d(Sc8&:!9Q49YsΩXJ8L" F +6 D(*MK+ \nÝICh@e Z(޼s|UI%?w9ʊ3fꪻk(TA5VY/E5Ҥkk:z 2%XHٲص}PcRG'Uό m 54q7r4M4qv7vfaj eK\X+Lܭ)vܰڄejP{c!:-3.~,Bꪲn ~9CɷCiO?H6>\dddj/B蛣_[zHP#8FZeQ.1xqƹ^iL2I7)\mSC?M/463p Y!*М#kl?c>͸qĢvN &Pgs4Pwt w?m@ =k= sA1M@liv kB v KG{#2oV*6lrvo%9wqVL5r`NK@7hFAWTmj'Q@iFhv"#6t]2 R=#7+#@C<x:vCw`v|~NqFls.Qڥ˨0YTO,5v+nho_zӮ/WMnmv扽{qd;W7q-l%rr܏Jp>;y`wQ~/&hD}+࿘{Cڣ0&qGr)~{x"\f~0֤={'8h'NZ8sv̅ "dln/7S4e,ԀONϋEruT{8x ;?PP'ا &T/„Q.\$=vJISc>kq_KփHmKUSM4r=ݏ ȌY ȪL;BGjiJ *&xPq4s﹦zoQFkRX1.q BKUN rjlѫjhr&:\ /W4,(g$ O3MİB!%3qXZm88}Xё"4id`%K9rȓIN]R2eWTJwju "4i¦E(mp!F.\z$Sޱ̧Ol|1;A$) 0ap1A@$i Ų8N&YGd2_EQU~&G"I٬bk*JpSv#6!B䀂j*T0a: S"E%JhцňQ)V1qԀ/^ & 4 4)IdFd R*U4i>J[ dʄ%˹lٖ``\ȑcuȕ+38{ ZB$!PO x[eqU"bMٴ]vgoCv*]*5uDG`^yD 9L00Q# Bh"U%F,QH?AQSR5FK"O$z  7hPKX:mM`&f̙wЂg6q8'TI:[gK . p)f\9(pCvS/nŝ$MRpw>2?2lTo~ d_2e JB NDښ[^l8Q‰NRdIw3əhF5fӂg Lf; zlSx<ܗRy]t:B#LGHȔxdEG.];$0Qq%W+ʔSb9l@= ]j|6|  }F:(c08UL TTV`hzzUif,W3a@ *"g , (PPς@Q+P[XɬJeUV }kϺ˿~a6hMʲ9g-V)eR lPʷ;wvuן1!i?#J?h4cI4HKnzHZrHR!jt֥攂CyRշ"5rz7Hۜ m`T`Nb% dMQli ðbYÙ Q+IrdY(PUY CɤlXY6b]a4rtBx ZP4„"\8:"̈ t ]ELd-[' 9rtiP^VmuP:,=ʊoYSoݺ6Kh&Mi.Ug #B ]Թ,mr2t1c7y-Ǘ-TX8^2llEf9~o$$JtP * h 2̎xZ jp2O@f]Y@fs[#-h3/.].jkyunz~2_ d~ wӛh,[l^0()=]\O << :6 G\қ7o2eu_h|Gu ~z*k>XJ`yX<21ݖ蔸6e]׹6׻^77 7Y7qI]FS<ȃxp<1U /rq^ y7)foۼSc\˻y}>O]c_[;95ɻmfXYcǎt059t]6,,& Jbɹ8YUklQ [3X<]A0V3htiHDBğ5ɫ|.Ċ\wh!>zL&tjua-rJ57fR"L w/4ʫLL6ڧ煕:oz!v9 E}c=`{G>[[S6S,ٌSʨ\˧$n 4u2XN7qӝiXǿ/?/WI`6 OtJrOd@#% 2M4UZ"o( uT2/9VcX B)X]% U#Ej8hC77 K=zWfN#G4- sfD`޵Mlt$AK5k4i%Gz^S!ԚNT>%ZsF;,o.U;>t$e<4Czb#DFE֗3$"f0ǯ'H2U.`VmeEb\1KOO\7!.pp6@CV~ M ]=ުq$ 0߮b"zG ]5OׯsgB6Σh uk2\zNDyJЇ 츠Ymvko߿ݞBTeK9lu =v!xQDhv3 ⅃o6&hzAC&{$VfI{_q[XNH.0} YRcįO2FË(u~5K>Xœށ Tb"i-zJnX[ZO/K/o3/:ƍr='I;ۺs렉*[u<_7lv S0rKXaF.R+: y`Ik6'" Q꺁Ov]Vh`ZUks:ԣ<$hu}FHpt@FB{/j˦Eojd {2[ Y ]#i޹ U::˂GN$HQ8|5b  ̽"x F1*U*I{݁*QcJ ܟU&Sn>rub/^jG>{Ykp>CHӓ)Iz2r\fa ǪIRC50jk )''މqqƄr18Ou f2rKe =+Y|ܼG(fJ <:-9WT#yb~@e}bxܟܶ=Vx[Xb ŲVKqDv gd];hvܱZPӺn=sm:1a%r;G\=G%e[s3mtҌbdgJ -̥hq?G$` e]Ҡ~B)ЀyWcUW* 1}7:JW:gy>\4 a=sɱ/op[}`k*OGg1D_B3}zi-+AE 3N̦pX4r!A= MP lH%n0˳Hmon&=K]Zj7(XCnQ/}RkH{'G!0.¬8ř,mȐl=/pt4 *o<)ލ1 wq ,="z"mR<`e*uuImk,p< \"k(B.vpmfI7+P$(De@lN ce_VNkz2Umrcao\+St/䆫p9P8{&x!T))c( |lPiVڽ1Hq-Qڸ=me&&Nj~Q0غY0Q~f^uIMGxCOƳCV@"£FaRD(mDmTuZ3tW|WeUUx{eCP"̜vp"M>bCATr= O,G DTYl~it B݀aZkWr/2<"ĹoeqaD,RЮFsI0|j6i˃=KuNܤ*] J kmA8&.=L1|@rA $ /?μA:عu=90AIgŠk'DSMͲB{(b'S1 S+" [iO#[|w?he = 3X>pL!f~:֒zDxj|#l9p/>Du2pU~3B!.S80]O,ͥjp9Ü]䢉L7@l% Raz\)7tWDc(89AM78cCK)*KC|wȜ;I]ի⍣b -RJϛf=C:&jsY^Bw)#Eklׄ/W:;B$j"XAcDuaw׆ d 0=;.> Au Aj[;|RUuB*YI:{ 9]ҍ/ӝؓuGN2,Gs OU ?/~cb-^M);ld& $i+he,0P=t,/4F`Pn]8 h>yt*96d,{qjJB.a YcG=9B r>k .A"G5HZzRU|yfm!cMR'm/z!FYJ,AmroXgd3]f(7<b|.s\9Zz^!VG@嫉p@YBPeq>/o?qV"A;Ļޑb!׀wd8.3IlMB8+&$h3"Xh_B&~ԿSZ;RUs#=~`tbcB):Kd uڙY=gT'*WXcA *I3sJ$:dL.6H23o &FqSMinyt75 Ȍ<4ٔ&vHPbK!TľϸeKB.B˚NSFi?lO FYdRM$PE;bU&/XVTG΅VcDfo(w>Km8ΊY=Imop^Dj%)蓓 %qA8SAw_%Dd^tS6uɡVé-ͣ8\ Vly$rkyi ,`>}Mr$mmPno[Okޭp9"\fk^;Ԡ3.6% GV4P'Z dS[  Yjgy)\@UbzikGrKS\ mգPВnYcr%?D.I7CDWa5K!tk(Ku}fWYv黔:MfmK@vl@h]_zȇ2ɹŽgv:ĹKϠ%ԙ^ /JI%j(:gWi(l _v ?%tUV$+ZA0$͍.(VW-c3Xə[,J]t jhQaa`\9j& 1ʀ"xo֟F& VzhuKAntju 5(=KjJ4\=RԎ&/leßi( 5XzR#J%!f"@ :A0AZmsNĒkH:h"PVNee. )S@K6EI͹J1Y`ISݲAψb}Ö}l&{vD.3fH;euznQ *rg\hyl'TTSHbϓPdV9KYڑbD),MEm$ygl[:BȇX븕HR-kH`jn-R{y:N[ HH#I3;akp} xvWK80\8)F&MwB 9Xc.TT2n2Drzbl6 ܄QfaԠT45m ^y sq_:D1qPJf2DH' Ico^2?cCRԨ᭻dg5Vu@Izqjɠ+:i"$ Za}s l&-D /@҉:` ب[ቪ%hRs֝jAyeA-:GgA<]Uh̥q?5VM-[̱ZaB>%~^HX$>A p:L>9NL6<捞.}cyXf咸eRzdnu_xP;2O]O=aH'Ay>/Vm9D9 '| x8&/:=N*6=uP J S9p/z[mR6NwwIpTZ0^6a3AȀiE.|./;ֶS|MU`~y!0ͦ =PO|YfH(tD<Ƿjo߾0V' w}"u}JìXcBb:PbG|Wa.ph^SG0Q0Z)p}aSk91E;ӍUkhFZ'+NldތsvklRceRvDtKЬ?΢-Aƈ@i6rńvwZgSaA\!m0:xN:ط^ޏ[G>$λ+Xb)->|}\$K(Zbn[ˀyDbU8!̅BϚ?zv/!_#JTR |f /\v.vvڶй4i(ߢ ;L4?1=Nc .2 gT[Oxgs 㼑;f=x; /Ճ^ ?:[a=-K UuJ3OX<3;LTz/pKmi$v~2T#"3gѹ@?>0A@*qx܋Roa! /p(:kqEMmQ%Rz g.q4:.9^KL،'*h[SiZ9 x탖V,! ~6Su}Y {Za@ $1; sd%.Gv_kXl4Ǒet3S6m[v6r?E[S}5|agG+=a<|ޔ )l,SŰ&)oc$̈NY)HmΛ&Oܢ|ZhwwLD&߈ĶdqK~tvBxPK⻸)4 EVaC10R ,#L[8vKW戅8l㪝u+N+OYT,ڔI^lAۦDYHMfCQ{T]7#YvҺRח@WݰϚO&odO%z3> љh"4 s8ALk(} yR2;sv R|GM;j#ۛ,9+|7+,qVb^u ŹYjs⡓iqGz8Ϲ؍iZ OpkvJ7)橁r zFhx9|$涐wثUu{f[0H8}A1iXe2R79<$I($<9bo*YlY旤6|;QA^~o-nz{=iyj%m3 hp2An#4T D9^\UhyS9ޔca ,W) X R29Z+݈6 7:kn JcY;@wt ~#kZYX|B{7Q%l@žւYY$PȽ9(MaM]UnNnPGs2X zo0X~7W76^{įXMΝ쀋qiXwo_'3$A6 ~aC5 BNZtiћ)"^;M7:p0h_ Nq&i|4,D66Hžamx]-Sr&ĺd.i폳ZPq &xd+!ڧh&)װ.sҏ$~MpxO7>bđ!REJ`k<я~pY(EPG4B``D,kLwiTC4W[M@Q̳V¬.b dWᔵ'f37?pa(",c@Ȍ`PqtѐȊYn&:cSjV'ğ%lBQ>RKOJ/oBDD4O5x=%$s1@'O/߿qW5af[b dڨ̔-wN"XbrEHtlΜin ~eMzF!k{!觡` <xeU NιNYT$48o\SY!0ȇ:~e"3N:؉']V/pVExg@nxEw"4͛96)fa;t3$&ԑ/2$D1"2|mIT#"QOy=¥r&[{LeH{*Fҥ.uە6d{Qq2MyR̚M}sHcnwPYo(&X _-z!z8uU Pg|9\=Gq%xmJ fEGWjpB&jZbl( ’ ţiܥdH \dŸ@cIO &ơTY(%26?+?woV~y؄o" "o%Gwx ilws1!s(efĶYͼK, VΡe7Xu[a7U({ag>뭉F[ )eTOzO?aW9ߟl?n tQ;khMz\|RbO;Pf0TrvMQV~/0xPC=2p%3 {X:#=#gˀ/f,Y0edWKN Ot}GEeiOmv|4|#EQ崃3x<`+Z1kDfY]X&{> F߭(7l :h1oeKJQ6]jʅ7JQ'Nў O:kO܇χw|5qNs*l]Q1VG=݇}yc/_3\Y= md@e)H .7)S+D݅0Jaj"kJflbp+;'?7A^զ;Ls1"(/=p t9cl}M!h= }p(*+{FOMaۖ?lFh2bG߄`fv/N Lpb$Ĕ\!4,CA3y`f(JYk]dVZ |6A#Ŕ|&(/ v5KL?\ѵoMV*4 5l$ WeXiAǝL砟$_TkvKEx kVm7"BҫY0JT=~ =E`D z(n@AE 'll?}jvyՑ@msvEgLCR=*R'Jz""T[-%`.9cdJgzs\P:9~[3X%l&S;?j?' *U81I";ӝ|^R_$7=7Z`cM;$qv{ԏ\P)kFn62#~rIgL?zh~[fs?+I ,黫8y evv[$0%eŁ ம /FnV}miPx*սs;^ߪS,h~R`yEonu} ܬin&N%׵wp?ˀ)F^8''Okz{݈d谞YX w'A\ GyJhk R=7r~/oOa5`e *m;l0{(z*cw+9̗j;K߮HٖdCM{Bu6h40hwQ4ܠk'O9`.%-nZwse x8 m{Ft[-4k 7Xn zSdf#.PEo=Þ[tM+k w#|*Cd#9,jM=vMh.=5W /n(!~WuOK& 5Ĝ8sdwѓ{Џ .ֿ\ҚRէPLlXi> F= WWA~6oJ}|CݎX { ?+u R2ɠniŹ=81H _%49G՜8uW}oti 0ۏyBq=5ݎ4_]0]XhnWRjHA])7wى6:-S= w Q0Nj2% f65}~_*j6&TW㫽8Y_X@sjEɔy{Q%sr<+@r47!N Yq_y(@a:imS\#Q~1k cO; 'Gː)h.:7j5^ ?X!? ̩'?!1,Z \:Jzkr{ljЫlH2ï!eGR+Nmp/E*fIZ3RaČ\@A2P4ѾD 0Ew$(N99M:k2<ݤX*y۟G. !p~i Tw |D+L Obd07(PLQ`Ij-+@DepoETz.iJZϹ^BR/V Q ,Dbn*qvߧt[/>. JYVwFbjhd6ⷐ挏kfv%<8k]R:g#wZk-?^֎6V)|aCX%4*z\/3%qcЄpRپ 7u?=ޣ] 7ڤcJ\jқk(.Lv罿Za?u^j/QkQ3Pw 2qݾ[7B<-=Q]-s³5'dC3YzxojL&a:oH4֨K/HЩٕS&:aT ]PPn2Ns_  0 Tn~m&߭QjN(q~zQR/vn}~#!t. oH­}Ǐ^ kRu/=uO|S 6w[!b $CىI qnAL~q^bAEJ^(HBuLlѻ5]pe!?'vW5Pi, @v1eh[FaÏj䯼!fYﶏ2kLDZUlR6(ͭC:J^&@3]NHT./+K҄= *EeХv2@73H* K1i,ͺHxѼ0ve>oS?.Z,/bEx ~Hw69u՝7)8x'-DP?Ⱦd (ڿ$լAUQk.BBk"YACSw{:O0eT3LSE;Yfi`;y{f)Ek@$f֞ߤ#u2ўϥ+&Mi^{-c']G^TL~{[nLffAQ`nؠŎ@W^U}o*M'id/uJY:Dzip_d0̒z΂ɜP8rYܮVz/܅"P'G Ԧ>~YFA%'79S 鿢7+r_>T"iˢ{,]'9l[̕{mgXr0( N$ZPE=jl/j>dc> (17 A㫽Q.d I˘Ji6qNnӝi9ljY_Qբ~W'0C2Ȯj IXO7FYO.'4!WkCz@d20>|b:KS2zjq/;EϹV7KBԯ bCj)]?Q}Ѹj-2d878C,TͿa{֏eV!" ݄ H5W41'oexel;y4?|C?lQ?NG?(5fxҽ )d~*7>F_t>cy]b& c33RBaɝ- X5DH|ΤGd.xqz(ߦg2m*͵ kdcDFxGﻯ x dft^AIq3q›Zrl+'$)Ҷҗ:0[Q1Z[3W@QT%:7~!ecU6Ѷjiת6n[oDosS|{p7YО?t9LM[I3$j8,6^Hih!.3->am2mƣ&We__FnewưWƛdٜ,B(&rEk?[fQ?`0?!S3O}#H [Fjb_nT)ơvz#N^MxG-*RCCwv 7c/4mE7' Bcˬl6Ғ9cGHZD ȼpODj5WZ1$@Riq%i=?}.۞ <}>\p~ϝOiXR@97-}3A㈿Ȃ,3zmޗB Ag5K7wh{m炁 )&FNƒ@!tè^~m b,g>s7);wKKY;^*wi.IOs<BoBGKXRPD4Zd6n VuU~8&p=? A vK C{K\?ޤaJ2QMNEg"0۷_0 >i+?|{]XPF"sڃwpVXF;WU:@KZIo6CV"No6k=1=a"qm<7zE@"ihղq|P>D_݉XdHn6 G}V/gkl7vGX[h܍qî iPta¹;b"QھGt>{΅ܒr7,1OE*M ³:Zh 53dST=hٜkGSKTmuO>e߼Jץ^Af~_moֿpzP@Cz.L4:#h_OxMm ܒ%KիJbA><)1Mbـ'?}y׮BѸݥnhvoM\b!!ļ>&_("[ uɴzhmك- _Tkɞ:AaWp/ҦW3e`Fqu̶'k!^Di%5CfP,tjpjcw]Jb>f50&4=z%XE*:51l8mHpWKժ9>:hd t<hړ4s4Mw e@PX+.+_g5L\)Z<+|7Al =T$jY%'F.q*߉OrC$L 9KalrO6>\lQ/)d1Ђ>9~ @8\ __w 캫Pc.Wd+;ĩoyS G7>s_ƪly,˂ 1yY(|h`ҩh"-{k`șٝSvޯg, /Ɔ>\y-)t?ǀ/{'3y1P-DCZ N⋸@WT38Y&9/zar.n"7G[V7Ʌx؂72̺|B-Qnq.7cbS{U3VUQS\> Yv>H~Cs; vvc:^K(UCOjba ӄ; ێ‹r{X Y뷎`׭,e,$XON*7ȷ>i) ~ C/ ĝ8 Y[ #5>0-#ӆ''$x P09rge|{C%@q5x}m)㌌xVA+Fn|ƢV#/T )e͞m֧fm̝r{ǵ~;l[V`iTVzSZbڄV 6E}:!Eu`:ݦR[CF\0gZUP B:,61nND ynjCe bjٛ12>;~>Fb2*qKݣW/|x  :#(L⫵w;<%A7ۜ5UfqWJ viF9Op]z86M109/4$J4uuAg;j 3s>U@1A5˳ԞkJO4׳6fqZ#ՕIyRJj(ГMB jݤvxzbe (t̜~] .mhJZA4/]!W)zZt7%ʻK bĽpkr98[CXWO6>Qv;v8eI)v]8"F2x-~BV[MNVfΛ}[ bZ[ I1&sp*cc!f !OOav:865u4POKo!W~׬r RsCMad9]Si9\t6(vҵ`VA A!zCŚYzFDE? d r*ENS&JqYQ A8kQk@,}h5|4ҘP돵jwh⌟{-(gqv쑭]#}Sl \-z1.:?8B(m+}輡;[p=s;IO % TH3+o3̝/(_Rnkakخj69shMyPs@Ydl%`_t0}7yZ!^lƝh,x +{+qUi567ƦXAqt}IhOĜf/P'+荺&?GL]~j_UkRMUX.ӟ/bZJo6U@ eaen,yK~a]R>FZǓICCUU v-4b&V2^B% tB mˌ,޿iQ-X*@1y:Op>ظ!{D)ƸuG1\8ض] 6KM@R o_ "Uq k\̙l}i*hE+͐`Wpۣ f>.&t. ҽӲ, dq"\-SK(}?}%~p\:xηw@>rmX$~x#%?4Y'UdD @6oULuҘaFɝJ5As ,F};!Gr}ݒrdg?{c(hBz~O}9b;9 TȮcRH*̅K]7raMOQTE (ڕt(f0~zDRדM}O(mSŜwu2I?wD76?;q+vFnAa\})xkt3d+k4Jꇱ ̀/(b>%autq7:Sd^E8咸5{kEy(L@Æ[>#oߓ%M(=OJcqH4LZXNN1èLPn] @3~kOn Tfskg +Ee:d&'v%*?ߘ/kD2g> ACjxSRr*/Iq>sV<) 9;PeV8/p?wrSo`6u nfa ὴSY2Q'oo?yo_ѕqdDdNUw; ǹ#kY!뛈{LE WD9dVpz#B,4x-,o# hAk4K '_pְer>}HÀ,n^ K`Toj3dMLkHUܘ8^A/S܇CtXrrVǭkO mЩYn5g$,|j9LW~M+ =Ao8>/pLP-uOO,uS[)Eh/Tg Ubvn錍T/ Pt(N {YKk,@{ nJ<_e "FK I@bb ^s0x%z#2}:/ge~Oh?nƔi?ʷJܰ *͸ѸKHC)Ul|mO6ᙖk\Ww~{D`e#Cޑ|Oܣme}ƊuUǤͯ4O03 MZ Heav7rߐǐHGA/UO~tI,N.)d tڢ>g+U2' W][A>bz ,U>ɳzƑJ]^ fwbMd "klNR(wCV-0AR/de?E}BȀw/~P4X7͕CѢV)z-o_׌]M耤Hw;KrHdҀ鷿[d@$HdddܕY%IW ]m#h`HLCdzttVt~7) f*]EIHEAm!$]X=E!~xd}W<*xVGsomQȿQ1u;W6@?8Z|YT'"B;E;g&Vi Hnδ Jv1 }V8 Pnc}^YK#b <52N)9FREݪܾ]cըym+܋.`>ci!Ƃer!Y8-]躹9Pq&1e Va־#iX!ϙNDֶN8!7c9Hǔ]\9LJ90͒ ;/W6g{W LOidƐ79!{{HHcΎe&Ao _6/C/+| rN mOVc7WF2VSfj@~YQ1KfhͰr^6m-5 JF'Dx%NTßcITj4a'\NkXM[))иK=z*r]7]佚yuO7o?K̨#7%ڃW s<:=ݨ}o9+=ƾ͙"5k+WT%ҥQ7G|KeVBm1=o潼.mO-ЦzmպUw_dEƦU%Q@I>Su?+u4,dW&I4ud/T7Ϸрru^gtˠ.Km0h+wVq G_# q0hcIԼi?V7a΍d*  9C$TJ!H4`!1TˈrlKޘRv :ܤyy>ju4^EBޘy/"B=&CFthc{'ƮT+آ9c!- V?{A"¥sgCʲ $=%Kb2WϟF0|q/ wSu$=}Ίj.&Lo{wQ="?%tBDT$tVϽ|*.;.`k~yL᭙:Q;JZiUTqlBs/Lj 0<_D}-G.2/Ḹ[j)'im]'{<4mHJ_:@;KD Vhy?B~aSjSFXuukk﫿MtY!dy@I3곡2hzGf?# 5`KF=2ޛٌ/Hw$T&T2;6*?p9dLyJ|I;^՞Rp~[w+ZfK\͛뾡cS/luEr0=f\qYrw@=@yҦ*=u9̞7a>EA*ci ħDFւnb.n\Y9>ʮ y>{ *bu e}h ;\t.ʎKmZKl'%9Ǒ擗z zģ+/c ^%"rzX)55Ӱ\#$B!yI1=뭚52FXȹ. 2eQ4Rh>m4y&ѪCE}㳯LjNwxW?otݢ _4|6h+ z=om[`OtרA"ڷ÷u9y4剕6'ytr6:s2Gg '/#f;忼s VC6~#S2;Fr?-=o@;`Fkrd {C]JFf؝q֫Hۛ#o~(M{vS7B7*Elk{QuNtq?Gj{i09fK;.鷉gRvoG|M?~n h> ~~i%qGFP?n֖ HCL `LT(@ kA 3`0@u?LB]ZH)'sayo}\}O:*F!Jo8{zzvd7^j?yy^G6b=S>C+fWD]h egJ]*B5c K~ cs}^'X%,evꛁW9g%T_&^ DHu I$e4qkMMLMJrܺ!Ź4:>z)p91,KW%7ݘ6y7u3G~qV) fEM7VUhA]ϟ?T3* pZziLbj*}ݿX1P:T9*j`Y͗}ˉ@V'ݱ+ad XjOo߉Z湅GGiM]@Y9L7a?(s[ q.8NtGK~ 9\8qm8K ˌޞ {[`\jvB c\~-)!AD\΃AϺε;P8mkpQ Ijc]__xj.|ػc4D΀ TLcg.lz~J m]Cn[ 3d?T`&`緽q1.a9"uY!"m 9 *ATJ`镍7/ڣ~XX}( *R l}>U7{#"k.jॶ5U0_pVə^8I(l  r%ler[eB/Ƅ$0pJ?f-*|apgVj&]^uxP4tUs$z}15Jθ9-ͨК|AODVvBK,kW,&?fq2%xTrtnGE#㓏[QqB=l0d#Io.@M=S?]N TȔV)zf_2^F)p&+"  PmP-= %ﹴ'('B]P5x+@s!§NC+ǢU*^42e#!RxػǦ:VtR °wˋB&P1ny]`z]xs>"Ԑ R|iiO i!=HT M"E4TҾ7WH|FO&FXތPQ $6k㪵rN̼3dt}ksQ*,zϽ#CΎ [9;b+4Ķm̌]?tw}X8K)zlO&&pgzrF߾m9L]zn#!#]/cG#Kty=ЪN^u(d!KX٬!¾׏G;5ˤ I},")K]W FVXu?O-KqPn0x!}w +fi}ďłɥ,j&EoA?\r37†0B}+~RrTѓK]` G[aߞg׶"I?Hɘ3c3e''2 L}  b̀ͣnErsb#*UfvP(_y!r Ei%rU7Ji5i \ 4 _ m%Vo3 ۷S>], }_+4'"<@hUXr |~^s(V+!e5l&V-45J2'Un#q`s" 1 eY8Ui3llnj78Ixf5C.Mg ǪԶZЎҺ~8JZ/'Tq4 Σnv6Z -P!mTDrbG`8K`>CBD/5!ߖD{ζ*©6~UyFxE 9Lj¯,*ROF:;Ƚi$,ZUi۰u-:A8fӁTbM պ٩o-U,b-ZÀ=# eGS/):LnT~h;B!,[[ʁz޾m ԠtR(V`swZ{j_ňBIڶfzZ{]\8Yhj8&CID/oi |CQ(_d_k/jXc̍ Vq$1)9)#Ð͐șcOkj7\;Gܾ_{6Si)2Ɔ˭%\Uׯ 920$rUgO gҜD)&꧓kn -ݪ &;W̉Y]ŜSXI&N8+ }I;E>{G'W8(s~'^Y/x8كU^I.`HW2bg82uuM0y9V>ߛ_j\ QL͐ԯvDyEہzSW1o6|#׉^Dc/nGT}M ʆG,o`A =${xfzb!d&Tdv[yv8eDk`+|},i*r@f!;q}9 Aph>;e~booqAz$2֞9aR-_ ~ lsƾM1oN!fb3Pӌa`ePsWT/0 3_9qZ+' 3']Uud{n e?=A+o5FW|pG3pDOT:=_ ,{j>b {Ի[ iCPrl< Xz۞nED@ ni"ɪQc}pAs:-|v '>Wj]OsX0 X{M G|h~r ^;%|rU Ɋ#1TF°(6`C(Xi;JonZtaSخ} -Sš4X^yT-Slf̙%CFK]q>U@mٮ͑ќKUTTvlK]7q?#8Ag]: en2vjX<~ef("? h`jb,n¤5٦w#4ΟiQ@檢!\Z_["Nk[?7@Nj$ |Wp _i .ʸ_`469Jv5Uh'3O61hU+͘j*dqM 58*qݫ)(jFa~Iįt9f0k p=p0^ V p*|vWt)%rKwr/2NT9'lQCdqyQάsλDc27rVjv #I#rg_]*8w(|KX ݎDJXD# AV4i¶"[7Z#cV BP Dm,Ј!wцWsK nׅ\GjbǎL.;k" fڹ6zDA״Y:oPa VO$[I 'ã_^ kY<֊qO6&l)NG놝PMD0P6ʹBEֽ`J}ao XC'kxӻi wx7‹ɯIB WNg-g7|CJ۞h<݁p+o)Jy,jyC~ "waTߧ ԇ$&I_-7j_N]ݟ'-m%_:\JY[mL$|v,Gfǖ'CHlwQ/S*;JhwVgXAŐYn#X>R0/}wzu8 8s_v,䆙Y\z(3.M乶?RR gL]4˳}PKK-П/3qu0:D]6۔F P5J? s{lŨ[7<z 節5χaA=eo7n3~l{_-C%/^ͻwݔtrVFI)Sk+-C=k1蠈De:taG`dCUDDW|#*_i"rF2pcGc:G%1Wcw'3'jzl>yVc47KEݪ"lEҼ~k%Yc0~ [CevLN[wpWoV9Uڌ藁8[y O+EvrQn Ch)i޷B7qvQaيU ؝Eo_ XUIC" ssZL\mwd!|p/ǛGvSDRq1FhuqN PnGߛ L&$5%!B?9ܯ}}w $POBܸ H[iՄȄܗ]vSnN|L1-t-d߼52pq S䰚]m0xjZpԨ"vW^|CO '$Ю\3f[=b Px`#n9 N:k`{@_+jl63ϋo;cJDov1~1C|u0$s6p %{}nWnؠuuظ\{,Z.{*g[i8K=sc 8,ļXqم͉*oչlbjwv Imn$6ꛒ޳z=(e8h7!T%`+QGlL{DGpmw6 ^atht֖>`9N>kXRX< `h/_ ;j$S\o*; X om-lϲP-zWp ff牷%Ěē9lVyd&P 2 E_v +O~%l|XmF_̋WxsD:ゥ~st{\wF}U)Y6Mý7+g̊J9dhEü?&(f?vS|m3:uM&#־yR†+-.+ywbT<'U ~_USД{L8D0,$k_\;~܉WBv No+|*ڛ0Tpe.Døa;H91AE9$s^(WrTf[^ t}J*80.p\,lpsmf5s(!9(d^Zx۶m v>n}="4݂St1B)wm{m1!QsXjm}f?= hA KD IbE}}i;pS;`Wɔh- y1pZTc!#VA[D 9;W9"fe"`B O 9cHAFynW20"EgMPл8׌:7R^ CtOn\iW-g\?x.f?Mn?dcö1gmb'_k GHg=7^MC:<;n] Mޣ)phP(ƹ{uu~O8yVWNwI1[ʟ-fUH3+Je3Sjiv<˒>u۹nyn&DbaapM.q-2e 툝DX^R f2O{Dv.t]e4yvTMm,I,Zerrt+C!@R,WPI |Q= P@>;<^`wYU1~=LLD "ALo|}e (\2T/4w3; 6%j)au? o+^RF86}#+`V!YB2?(~3k 2J#)/㙰z2?H0QkNr?A.Ho7ld:|z(ѺYƎ"-4$cE^ K8渧{y;OX/ w| dXiVgx P6b 6 ćUM_5CxbA݋а KԽ-Ie>0-Yfg06wbҙz U.?OA|9}.jΗ_ \%<~ v럞Ц _`X|O egKo&i^ ^ ~Re큷^ E z|C3 q?sjeOD;315~lWD' ײַ˟{1zjI$.xxmu(s24 \VJ~Pr 2i[-Qʛg}n C ;|@|+Y/RCb}>r 8 &yIzIHjablt.Szl޹5vu VL˲K'|.ў*2I(^5_)?-3oHոO)25D$E᧣ %pANUU\n|l]DŽNun1H7h -O)#Ș= g5.,}2?5eyltz)Ŷ!+4)Yȣ Tww0s'`X_"`[ElTQY8նꋑcHԽ(2pxX= OzTaorF p"pl"&8ҒHe..$RUY!^VuV)2E9E%2 ,*<6`y)B)ZwJklmcXh*]S6 y12vҦ2UyJ?AWv w 2Gi:l5}Ie*~1Ji*R'(1_n6\Ж\xCn UZwL]j$ByjoC*z߬ Itg>BpCg$%ޣw5?T=G(O98]PZ)Ę47A7r ꒪Z T:J~l&$Jh5\YKY OӋ& 8\3B5#иcVt<:[4x h~!CcKBMP?9ԫ> @-IcbW_ެEn_D& _Աy(o]ƬG#Mᤳڴ e]];PPdvpvŁM Odn:`{k,H 4'!c["=2'*?.|2aEWF`z'7OYkC nwRY,w .R+raU:zSDSd  1ou8SrTA(`m1J6%B-],&΢an&8@.NpIuV-fE=LӖヲ2W$Zz] S!6UfI:KO\" ᔖ#z~Ak؝ym4e-M -W*u,~q~ 3h4oʉ-ts%^~ya;}#suMnV2 T@S2OByBd_h@Oz3ASRY7ߊ Ht̓O| 0NX[)8kz' `@&`4bo0$}A1-[ d6N-{a{hJa>2Pt3,uSlt 6?8o:Sy;NBcfw0142.8 _gmhh.grm:S}5jlcNg-'ZI)J`- sqii"qhkpxD!3)96|!<}]a9仵+N5%Iv>}qXp*AwӼ Kem@m{*XV5yS6xjIdX)Aa1xN5 6tn w0a5Eq#߫ӌSN+CUkRg{eivyq =/Tt\ [txȸ[sDSg6.}B{N{֍b{;\D@w3)FgIAR5َ!4ElJx|CmoAfJenHӘ*L@ M\G6Eќ(;zDqr M9pg@A QftbH$3?I0GnЎ@>!'hcQ3h ņ Wۄ'e7MNVpƣ[f_H,ڥjX W*QM/ǖ,/s_Gi8MYDwcɳb[l/ M$7H({<(w!om7Iiě <JBD i4S獍|[k{[=Z>l!T=Y",Nrq$}{ ( ݱ;pbZXƩ_49!+iqVYd&#{ z'ض\*.4xz\`p^O!sԯqp7G7wd㘽Tost``pֵLI`ٚ5=_6\SNKq5ba5NJ5{*M. 3q뾭30S8hZZe.Ҳzt7]B- 9Z<7w9F+f235Pi13Fz!urIs [x".}V?B{N`Bt-s) )xj>*>t0@D" #uѢk5-n{.Ɗ,}8γ? ~mg{_Sl[,0;z|75WorӥG`iz"j;B]Vya{˻_詮Su0xaA 9Ә#$}{P%Vz  t~8O,u4 $*.ڎ[> ddy0?Oŋ0 ">-KZ DnG斖wVV۷1Lw_ V٣bѳ#?, '"'.Z1$TVWŃؔ05o1ma^!= bA2:ȣ֔ӷ bڴ$1[/`Z=]b!{>#r֔ RRC=a"COpO7׫͐q> ~.e`yshuC>?n2sXPtz_PZn˪*;]M =NZ k 1 F1|%y LiV ` )+ZrHpc3nZzoZQ5$i>$ۗhur}cY<(2}%"/}_ߒpVP;+= 'E {W<ߨi8za1˹$)QTT.D DfSs Z Lto>|ZAM`8ȑ(c4SɸxnM Xtphu4wUE$UZAaTVRp'(c1[ oPw'57*J[¹[\ X<( ۭXei:67ښ+noce;. |%F·)ҩ>J$X9 bRp/YT{gQivg3C|QNH85}nƂ)GsAjpA( K[]YP%'hi p8ߞJ&jǥ2 - 1#u$bo41s S0Ez_=qr]D 8- ~+{,V|F;(s7pBoy ۝T~ &@Cq1 3VwHP@]YTA~W"0NDo+GoCr"B/:.|B& nQlw[XHhhNP(4J.RH!ǏH%[+J8^@]o$c,.c/ifw5a윑 ,9f 62`Kq\WfQwK(Ҡ90Hߍr hbo-T tweJeR~\w6Z7$,",쩷 qD\K`o`OB+ daI>=R9H\fwʢs(4=s>f'5{ r99 GѹYyEZa`-!:ihx C)sq!ee9웲q2uy;lL\E~eV&/yj9lo،W$6?D؟.sӗ%kWWxjst2M;iUui~Oap Eӂ1nܣD;e[f[ wFy}hњz"E_ D#yCϗ=Z>h~ : t09F*Zի&d,?/@K1z\nJkNۄgq))pcɆ9}R5&v;A3dGâ-['h+S@Bg[x.$]Xj楋vI@dTwDJ;f41x%$ I#NOCPĭoK}m0kRsO/@[мMh'@fdۢ*ow_7;$"w6ݙ!,"|8]R #&8j~ ) `1uj#'9 ߐH;g4 dOŶAt2G~DKIKa>3b0xY6 9M bDzG@I֖G~ %Hۍ{RbJx*O4U<99UET}ä;Kp,ճraav]M [vmQGDFՀߧY#&|jA!Qlnonl ~MS.D eW옆GodŁlր7b#lKMU:Eބdž-PTS3ZU;An΢P ͲT#I/&G(t}:н{ xH(z&q>O/ r=VI-7_mQHMgt0:0Q01Jm=ПvLOC&G+T2!d1%\vM<<{Z+a磧(̊TU]&pi%!R:qtK>$dhi$Xmvx#18m g8!FUERҫ  rR uж{Yno#`vs[!1"wAJzaؽF!?B`LLNiMћtG J~iLCZ3pL96\)S 9֎ƫFx6CN0xZ][QNfmG/[t,WN>K1΀ưv(u瓟sd9{ ngTZބ08cA|ѯ@~Og, `m|]-;x13al3 'yرv_B0swydQUʄ6,iI%8(_@w~w<<0"qݒyg.)N4KKb[ϐc'}IpMiL#mglrZL-!O<R⊍*Vȵ衃n1:wФͼf-N +塒gX7KLcΌADضl,3/nC8&L#軋6i; Y.W厅oCU/u2e敧t@b\=X2YϗJ7V`'´<(S.K8*ก __*Wt{-UМ#G`Wx=E})ˮ%RK4#O?B}"/"Q$Zk͢|jk}Ĩ()ߤ6)+kP塷M՘ʵ-52^?o:X䢰ËLeOWMvŜ` O|[ &NG^xZWjBڤ+ѝ&xJ "+"bm/dgVCi /Y2V7LeXߗ;3\u XaFMmt'(T| ζE-[o-ta[6ƣ&!/lB1~d.Ȩ,A5F*B䴪rqHOƥ v 􀰢CC$Adֵ)Hy?Cq4zڿuTkBxC%A{δ,e8tDf΍/;7o O6aH #-.ţqGh!%#3@Wf> NBڣ orƿAh}{_A!nדqSP45EHlvyK9W*oY:;U \Ŵz'bs0JWQX^h-nИSF̫܋%0Dԙ OÞg Cհ]k6@&$Veኻ P@Ƥn3dBrKbQFj>@+,II4xP8 !{m QW.<%7X=z*Z0S$]gZߒH\ rrBwY|*Mh `N4oQwd3f8.C a9=. 30O$/'XGYDIFyiWa(q,M:arTCc zeedީL$vLSU|'^a`Yib" z`=u!"R`F IwX3os8q00sо'mh \svQo=U\֎9?ػe E.QJ+9$5Tt9Ö-ξ: db*NOnR)Z%iI6u0 fC _dKכ9Ke$ELсdʼn~>l$lZwt,12Y AIY|Glǁ!4J< nH+)HJ"X0V(),v M/* :`t3O>:$@M'ZïJu H"* E"ubV>Pern:4j BZ EG $jUĠ{V-4b& F1԰YcG>ll{-#45EiEUi%)ŊͬYUdչ2SǍ(m<ݳꬤVB`OUu4\H,w S,HϽ Ўsi⷟}$V.S|-ЙD-[1.x݂TO+sRܤ1-سЋDfN?ZWJٴRLVdD)(r ١Uj%+嶅^9w-KQ_-fɻN$[ἠEU0t}؟,67vhmq F+͵vӅI~1?,)hIHY6%?DDf4yRC_<7}Xz}"Nv6ߞJAp6ǚb{+ и4-bέ]L6UYYۇd L]6 *{p&i̫(Ęs)>-% QF05Lm1Vfk[j6Bk#<#u.9ʷkDRcpAwtƜ4@꧿lNOb䙤3PX"OJ@pt' Kx?i|8O;!^]G¿OkԌjDXd MI~pjxn L.4IGO}=; _F=aAq+mUElB&[%abV~M#a< ]1d{7dajlުOdS(,<(-׼"ڠ2ic[B029BZ"Y_'C'7I&; 1sV=H}Ϡ^;&uWsꪡyEѹI0}-XogwWvhRҜF# t}Vsyk_CܜDFnތHWQ=]W[ug(P7;j}@)ڌ{ll$8mUgWC%M:Ҫ +NUcILF?4Doʼn}/ԂZdJ]hDg`LЈqbo]Zjcp(R,N״Mb@0;?^mFaklvj8+,[1 :rLiZEZ \P*Hׅ^d&6HIC%vݞsaDnA/9Kc\Is02㺍'@ˏ>=}_Si2t.9?8rmWPZ5#RB+ ^3ݲit/3G+߄g) TKe ?)Ǚ<|D<~Un/hCiFO li&ؤVV`7 G c?y@%sxY`^KJ) mT9j~c @VvSf͋R&e(Ny1T2`gUKFv>x饭H1\;}RYF׾LD216vJ븺>[uK{B[Fg)Kƣf/gH:-Q=F~8j 91*tPAʠ%h:" <pzW_9.!I@FhUSK{er) "Ty&+IxF?zw?v/o(WXV$\kK;7Hi;?|>5Z wlxp$isSꛑ[ /]|Amr>j ~My,eq"ZoH,T2{a̠l3:[L|^pVFh5aG(uVid5c% cjSH=xDl.`)*9nK]݋R),@i.HeHmnKzݨI*17վL\ WFg !fd)}9#q]0-0,4\dz$ L"@{f7m-?쪕?Z %MJ,.b@K3tв$gv/j,T &MH:׵YI)nꦺLS]SiK`f`+hts-9%\'m5n@V y]66j9_;. '0\LD*W =c.yNT8ZOJ!wtknA23UP$ܮDp'^&uiOn7:+| |P/ !B9*u: DdI4Ew(OـJWZӦ9v?P[ tQ^f4 2ujxtc2!K6ŕnrIqgŽZ$nDcx]|K17|p>Q=3A?T wk+ܪ|pV&Q Tx ~;fEWE:'[\YY6 L1A` xju wҹԽf?@ˉy0 &^KSm;ps58ԏ֏* -R#EuԪ @` )BP%A.;dLc&/ޓ7RnOg~/jlgRϳ'ԉj$p.3x1̿^CNW8Wd#|a2x_٣u9}?7yZ Kt]U }wvR ]Hnl)'?U>9UsEPE?z y=Yї9_8RWT$mdf2*^=Ǽy'z%|õe'sǜM}Sk#G/w۠I J|N V}yΆx7+e-w3m>MWL3XW/O-NH-܋?Fɛ -!81* &>WaD#k_OK$w`lM [!y*]ʴR[$_a疳5":d̮p 08^B&w,L 3JBvK\>W,K:cWQ)Klg.:f_G`?UIVxX͇L |Bs&OFVV^47<"MI~dȞ [ Wr"f ?/әL|@T sЩ8}P9|GCvZL#mvTŚTߪ9bRP+ax4ȟfS6oZFo2A~2MR'|=D6l2gVyv W3 w*6?&EO #{&B#%xvG|^uBTEo*ǴaT.XOMcbW}̌}V(lÌeOV?u-bOmLVn+pL)ΎVw?pSTO ; Iiퟥ[QqK00N?*wroֱW8 !Lf<#:ڊ;V,wjAbfVY"{A.X!KFsouT P+F\`xB#|FQՒHS7/ M<~qrR dAң(|YN سQړiW4ӘV6=o>mH7ֺۉuēj2)ǙJ΁lLj G?~Ev1`B+D3cӤO!9 \_ʫX ,Ff?;qۊʭup[FźR c$wIg¥-2cw[ o2n5ς3KuPq4C90͍<b3O8Hfmv:A[gEU`|ny @<@w M)q5[ D)3/v 81P;gb+ZhʋVJ3 jd6/?%Yq 4,< t36-臝vvZI/9pmD7rMd d)}2&?Յ^VQGZE)qu׫%u4\Y}~Ѐ,5IFH4kVg#i(rҁnF:yynf6t E2^I槒/}PPMSS&R M q__[O_~G .}s/}v>*=ڥGӥoX0ēãp O6J`Y4[iEi:4WE+tf+L(K7puw3eCE*+\Y_f}XF`UT)[ʢkHݍ"8<↙{-*]ƺŵL.-[e 5侳aеy=BIv󡵺sx$`Ç'X~ 0x[3ζ!Nwm,e˄vj3e3) Ζ\l\w#:<4a61 7qUXeTP ɰ8(7bJV 3އ7ٞ`,܃,oWڱ%6drlo;Qb {ri'2E\&Pu8 ؑ.6̄l8&,`ʄ'+#N)*VVzP(U)h$E3, `>cBRo8I'89ѺJO.2.jVFNL/2i bzlSâu^\:.WE%Ǻw{OǛh ^E]+ZcTomH?#Gև@iT P(ŵR5kLZ𘙛-cHZ%74dQwիE'FdQ'K#OR`s:4pm6;|BA`aqr _a{i1Y"݈ƅd<4Vy)rGŶ$51UVm .7g^7Y=sԱl6qǒr ? m򚑚F~ݙ[&KjS|:͠°Zu(Ne_G:B;'8帄=ӑ]#5SG]k+mCo[.ZXɗËNXC@"DU {1gЌ/+_pΙi_e+>!Q^oMy}"𬼵7Yn F 6ljӾYȕZwX56 +e᲌*o*0^ԢcZtqQG2锱t_3Ejb,-_J G˿N Khx)n}Ij^/- t]l3:-Xx1Bmz!~Iel7\Y޹͈IAJh:Y(W>7D&ʕe~~( H # ]͛Œ_ >p]!Nc&^ȔvR+_맂 ] ӓy?ҽ5NܳY#O~ߣ%u#W_ЯWox>J?Mz$듿E9q !.Ny7S}5Dds~9'O{ <ɯ5s/r=ŧBa td~yݝxmw#hIEg*chLT *-S!?v1u2ο ,;Qq@GQAKlzXwXrNn`n5R*6 @"%s8۪{_YlNU0-b!_t;7s@Pp}{PlYwe(;b_t.JF.)UhȺCx%{EAH7~P"P;Ċ2QDSh )vS4Ci/Fa5whAցbn O s 0 ~ֆV"M~+QHكJrLɏè {R509DPF O) AG ڳGPWG_Rli١X'u ijP0`vڥxÄF |<|& b-e 'e3cj1Ȥ ~wSn+Pq9fhf ӻ X]B*L{s?4^jQά:dRhRMoM$=~qOKU{4%6+MM)VOfy[TQ x4`0_AW Ё,HE`"iM Kl7T[Co+?<[fଲf1q>JTD(piZ]`rR/PSej{й JBJ Z CI]-h̵ed(E@Έw BIryEWdVf`6L]SQQU)=v{1xgn^Rd=Jz(!R~d2B@ GH!Ă2YNw#A4܂K2%^Ug 8)ӧITIoě'C8z3ilZA-k9X$ ٶl,˂1He< cW^N *O]h5:;?S̚r1᧱ifbTw7l"r\[e]5 ,K{,=&,T)O] * S + mb&]REqi3IԨx'l]wJ>-9#S"pJj8,(y؞v]vVdl˂ *.,WHWQ*"ـ=SY 1&ʣc ,)d2vo**'ܵ59cFU8घ\v(Ҏr?^JRo`] |52E{$,Pll͈ >xcۘL,mo u z|Jҋ[h᫡-+Μ3)] 0v MOw֜ۂٌf?x)%)bf,qߓb '2r mdIl &)?)EDG㓽;3jM:DC0BOϖi4G`"XK3 g?2L6#U:D3&-rڰ RڣHNڋ}5#.@ -KE7GoC+ 4]K^ofSjiS4i!o`BfigS7𩛄:z< _q?ZY*&̽@ܓzlEx}Qh`xWYUK8ruwҖk\ [WU+7_}|OG5&x4x]"SȴF Z_zoHac[9\>{Lx†K"AYX=Eu$2fb-J- 9*HۺZ4 `8tߓ'+Rь.l`kx90xZsdy!v'].wkmݟEK5YcM>m !/,j,u*k&4-bo9~)[5G%0\)PyhA?~WKe%MGEmKH|qfM6G[k4{l P19ۍI%c3꼍 ֟v}ֳ4IAS֌ӣ{Yyüa GwHC!zcgu_<"p{-|N"-weV^.߳H~"`?Phu,Z K.^^+uWK늅tޖJ6c! 2UQm_-jbO+:KII ښ ]B<{ă,6, ^ph[D:\ȱ&w>w ;葮ccܫ6&u;&Mj 5k\.#='@p?qcc&{Fפ/CJjRLAk 8j48BMVWfOg#r]pO3 N>C ;9 K}18)J$Oa[Z|2'sY*ݥe4ċѴ/ P":0ie q&# \`h-@t|=0#ZUCɸrm<@a4nE9Byzjǎ͑zHw2iE\#ܒzA|VY qEs3LT_4缿KVNAI&٨?nv_9쥔QZmc:f(Y©/XQY_+JG_i&3f"v;=nzwus8ޟپLwn]jg/Jؒ;v࡝c,i{5 q^*:tnK9u 9|[b[a{ 2)BDmW>p mW[l5?Y@]T;%!G/e3墼S"h꺍O|C V3v)5΢)9qkKaȜ^ ^7be: Hlvn)óSCê)5Sgk"^~*0X"Rű^dEg}yGw/?u p?.$]\C 3ńC7ьD^n)`\)lU5"h(N3RAi6u*'K18һa;|s՜S\}׮v'v* qZ*jv)kqgh\ ^$2+<^R7P!/+6Z7PYpF+.ǖ=~zd.|0ώü'ĖtԬvHR VYkҺr7 kt n f0׬0a͞!.=A ?R\#uvy=sk:EFG='1k/%זd eHH[G|NMC21Wy+ :4YXt(`A۷,9b gձV}Gj(1ihپu(z\O2 ]S|`Sv9itRܰX:zcT=LOݵ55eڊj_;7}|m0./c@(H''-UzIA8]^t]~UPTDiTYf(kuy~_KIP#|RΓOuvuՆ&9H`2l7ܴC<;'*\AEp.w3mW s,P,W!e +tVT;OI2$fvKZi紾C樁b/均"G* C6alIQuN0l::p~÷%bsH X97`X3{fMqE4pSnX?c8c@ZՙgTt@ҥq{>67r}%Rͺ;H6*"oŜ9>0]͵1OXW`|lL'?Vq.Ew3Pjja{KyJ](JmF`| v 8Ow,V梅w-ZbIbׁ \jL&3˨= )^Qk/CYv:_\#v=ŷÊ2#r :{vvV=% ~;};鷄]u MnH.![lZD( [uucSpxIv\^/t _~I+P󢸩XMohZgwuQNU:Kb,rմ1"r)Ԡ` p7.\:c+5*$[έBs439 FNBۥ.enY9tfXPfpQf.T{>l'v#x-$lw|ʈWX;! ovט{žw<-^PA ΂4ݜS.G{ױ:{+Q6F+Pf28<.҇koJ?X,w'M+,te4"2)ң8b_ 735|w, 8Bi慄pBɑ&X*F~.h!tK cLb >#?58jxN?rjh9TvĹYGm@b~GN,. {7pD y̍Z2 T"i#w0۶٦]X{|MjŧZ(I=4RNs1BI: Rv0\f3~Fvfs%Շ`1cĺ D"`@Ťl#&:-/\qȮ8DÄ}?qxD2 7qT3aQBuXp؁@xyuNlsNUY.Ynx"@Sp +ARmd4-08VAIըD&dmٓZVy~ .Zn@S\U<qPf@[SLrZ`;Cb_2& c([\+vss@vgmJDމaZlasek%DQ@HLj2x/Bȴ ѣ˼P'biKeC6=|ͷ%T0e(ˏ+jo] !Et ecGTJ2)(V(Rl@82]ãF3)We(39q(tf ~o޽[3SDrBΏ/N ;RxORbaQؓ8G]cQh0Als< S4؈bi&^,ԂH"ňTb(J\]\*, ! ck|5u%̫*zNDqxcn& 3gIKNEәkjsc, |mo&}'$B79$a: Rĝ'e(K?@fu`og&o ZٽbW_RyM:+0E5uEA#*@UEp&7[P2d"gR[[GV; M¬>382y8sLj=?Ȃ'Lu{K܀A\.)ܤ6d"0@T! mZFR`b4A' H&8pp ! h463*,`h`kAXq9`PK  FLbFVpҋ p0'̽gшfZ3Tq59gFʝO:dJ1#IRQ\ m_j0b ĸS Da p'!5Vz/a|£3 >؎D+p-Dz,}~ >nVLK1 #+@El?B r#pIv}(91p!ֽkV+dInRw*#U PwIƓ O+)@LfeN.J6,VJG<[M(1$H"M,9(R ϥ0 <:N AIH&]LYaPj(+Dg@4zqA(^9'l(U^!3eɆ DG(uzF=K0==z駻yFjШI4t L,.H2O$(ڒs[<@bZ`}BVb=VLj+v'H(q唛,yRI.}mɚ-{TXQ2[Z#gq/!DPK,RJ52*;L9a-/\TXQŕTZYUTYUTk4h{G͵Z[>M{꭯~;zF(`uSo}7`C s]-V8qO0QM4T4\-oweW}h).vrrvqK(BU Ӳ@X&iF2q}y #($E3, $+e;> Iqt]?Ӽ~`dd3Na9 oKPռ9SMFqfyQVuv`8ObZoz>'a^G^xi8!L(B*m켬'vݾYDXVx>ua۝4򤔴 J* 5dsN*` k "ڵ2yr;,F&j;.@ap`qxDPitpy|P$HerRhuzdXmvizA`G Qh 'Id Fg0YlEbT&W(UjV70426153py|P$HerTj hRBhŸI0XݥOr{DXVTMubrj4V5ϙ[?)i:q!Ɋi."pJc%_huv <#($E3, $+e;a'ieU7m4/0IT12MaV/n+0ݢ6O\ESQzqz~Fqf9hmYUtݴ]?„)8m˯l߆%<+ƜKm}̵?`2[@NムN*`<@(K2BRk:h2[6A`G Qh 'Id Fg0YlEbT&W(UjV7Mffw8]nC08Bc8U|C P]]gpF;XVM.5Y׮)\j`9\U5Y= u{׹䞋.şR>Ѐց+l.IΖX KR1b: 2K0#|53e dǵHQ ޠnO.Ae9xח`' +E0#_'O X`pJӭ'c>8鎽ކNt jA-dL$fë9jְ*e2ZzoUĕ.KnF*9Rwi{M;:c{aR&q!66W"L(XZ\$)3K^ĕVיœS{.ijb=psNߴXZMw*gsd!9M'a,aQoG#ps?o}#nDqCPVL- { e+T̡"SXnrVN,CeIvSص0ꁣ^ʢrF>O{B0b89DH );$A1 )vyl\aBRics}@ e\H͵wՠPV# J* SW wt+߿VlkU߇yO|^_rJrSK`\ ACҠcX%NXk<@FP 'ZHᘥ^ph?ɭ9=Қ  Ndž$IȇȏIDQtZZ֢} 5ƜGniKT W2A!|ާ|*VUu] xoTP4.\9 IBȚf%b&PսbV|Ůsb4K1Rics „2.aBJ=&45\H{R~~aBRicw?&WEODPƅT\0 ޼t^kǭk6Z+9㹖2浲 wwL$iv76kBg &i)4[߇rA+ݶ%69lU,k^~kFZo?~o޴R"rmS3ɻI*OAYT*Q#i6/E|zNy0jS- <"hIt%xK ^)A,?o@뫣ěWҜߔ/WM(joJlTobQQ/FbJ?č.mgiYyg_A#/*rؚx!:56(+JdGI(tl_S$ ΄\0CxbuW0~gkVP xP$+ cif)_VmVC+k!8J7 ]uq|i״wt;Z}E4ooդ1\|VgRp*\Hf/C]\]f?*vE Kȃعҟ:_عgVR)I,<!8*p,bBxAf7T UFIT1tX Obsidian is similar to plain-text based note-taking apps in the sense that [[Vault is just a local folder|a vault is just a local folder]]. Having already taken the unconventional route of plain-text note-taking, chances are you’re already familiar with the benefit of it. Obsidian has the same benefits, plus we have our secret sauce that can make Obsidian really special for you. → [[Plugins make Obsidian special for you|Tell me more about that secret sauce!]] → [[Get started with Obsidian|Say no more. How do I get started?]]Great, that means you should already be familiar with taking notes! But hold on a second. There’s no silver bullet solution that works perfectly for everyone. Obsidian works best if you care about what we care about. Do you have any of the following concerns below? → [[Vault is just a local folder|I don’t want my notes to been seen by others]] → [[Vault is just a local folder|I don’t want my notes to be inaccessible someday]] → [[Plugins make Obsidian special for you|I feel like the previous note-taking apps I used didn’t suit me well]] → [[Get started with Obsidian|Just let me get started already]] There are plenty of note-taking apps out there, so congratulations on finding Obsidian! You may have heard that Obsidian is really hard to use, but we assure you the basics are easy to learn! There’s no silver bullet solution that works perfectly for everyone. Obsidian works best if you care about what we care about. Do you have any of the following concerns below? → [[Vault is just a local folder|I don’t want my notes to been seen by others]] → [[Vault is just a local folder|I don’t want my notes to be inaccessible someday]] → [[Plugins make Obsidian special for you|I have special needs that most note-taking apps might not meet]] → [[Get started with Obsidian|Just let me get started already]] ```md > Human beings face ever more complex and urgent problems, and their effectiveness in dealing with these problems is a matter that is critical to the stability and continued progress of society. \- Doug Engelbart, 1961 ``` > Human beings face ever more complex and urgent problems, and their effectiveness in dealing with these problems is a matter that is critical to the stability and continued progress of society. \- Doug Engelbart, 1961As of v0.14.0, Obsidian supports callout blocks, sometimes called "admonitions". Callout blocks are written as a blockquote, inspired by the "alert" syntax from Microsoft Docs. Callouts are also supported natively on Obsidian Publish. > [!NOTE] > For compatibility reasons, if you're also using the Admonitions plugin, you should update it to at least v8.0.0 to avoid problems with the new callout system. Use the following syntax to denote a callout block: `> [!INFO]`. ```markdown > [!INFO] > Here's a callout block. > It supports **markdown** and [[Internal link|wikilinks]]. ``` It will show up like this: > [!INFO] > Here's a callout block. > It supports **markdown** and [[Internal link|wikilinks]]. ### Types By default, there are 12 distinct callout types, each with several aliases. Each type comes with a different background color and icon. To use these default styles, replace `INFO` in the examples with any of these types. Any unrecognized type will default to the "note" type, unless they are [[#Customizations|customized]]. The type identifier is case insensitive. - note - abstract, summary, tldr - info, todo - tip, hint, important - success, check, done - question, help, faq - warning, caution, attention - failure, fail, missing - danger, error - bug - example - quote, cite ### Title and body You can define the title of the callout block, and you can also have a callout without body content. ```markdown > [!TIP] Callouts can have custom titles, which also supports **markdown**! ``` ### Folding Additionally, you can create a folding callout by adding `+` (default expanded) or `-` (default collapsed) after the block. ```markdown > [!FAQ]- Are callouts foldable? > Yes! In a foldable callout, the contents are hidden until it is expanded. ``` Will show up as: > [!FAQ]- Are callouts foldable? > Yes! In a foldable callout, the contents are hidden until it is expanded. ### Customizations Snippets and plugins can define custom callouts too, or overwrite the default options. Callout types and icons are defined in CSS, where the color is an `r, g, b` tuple and the icon is the icon ID from any internally supported icon (like `lucide-info`). Alternatively, you can specify an SVG icon as a string. ```CSS .callout[data-callout="my-callout-type"] { --callout-color: 0, 0, 0; --callout-icon: icon-id; --callout-icon: '...custom svg...'; } ``` Syntax highlight is supported with the language specified after the first set of backticks. We use prismjs for syntax highlighting, a list of supported languages can be found [at their site](https://prismjs.com/#supported-languages)

    ```js
    function fancyAlert(arg) {
      if(arg) {
        $.facebox({div:'#foo'})
      }
    }
    ```
    ```js function fancyAlert(arg) { if(arg) { $.facebox({div:'#foo'}) } } ``` ```md Text indented with a tab is formatted like this, and will also look like a code block in preview. ``` Text indented with a tab is formatted like this, and will also look like a code block in preview. Use `%%` to enclose comments, which will be parsed as Markdown, but will not show up in the preview. ```md Here is an inline comment: %%You can't see this text%% (can't see it in preview) Here is a block comment: (can't see it in preview either) %% It can span multiple lines %% ``` Here is an inline comment: %%You can't see this text%% (can't see it in preview) Here is a block comment: (can't see it in preview either) %% It can span multiple lines %% > [!note] > For ease of editing, comments remain visible in the Live Preview mode. Obsidian uses [Mermaid](https://mermaid-js.github.io/) to render diagrams and charts. Mermaid also provides [a helpful live editor](https://mermaid-js.github.io/mermaid-live-editor).
    ```mermaid
    sequenceDiagram
        Alice->>+John: Hello John, how are you?
        Alice->>+John: John, can you hear me?
        John-->>-Alice: Hi Alice, I can hear you!
        John-->>-Alice: I feel great!
    ```
    ```mermaid sequenceDiagram Alice->>+John: Hello John, how are you? Alice->>+John: John, can you hear me? John-->>-Alice: Hi Alice, I can hear you! John-->>-Alice: I feel great! ``` Obsidian supports linking to notes in Mermaid:
    ```mermaid
    graph TD
    
    Biology --> Chemistry
    
    class Biology,Chemistry internal-link;
    ```
    An easier way to do it is the following: ^376b9d
    ```mermaid
    graph TD
    
    A[Biology]
    B[Chemistry]
    
    A --> B
    
    class A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z internal-link;
    ```
    This way, all the note names (at least until `Z[note name]`) are all automatically assigned the class `internal-link` when you use this snippet. If you use special characters in your note names, you need to put the note name in double quotes. `"⨳ special character"` It looks like this if you follow the [[Format your notes#^376b9d|second option]]: `A["⨳ special character"]`Embed another file (read more about [[Embeds]]). Here's an embedded section: ```md ![[Plugins makes Obsidian special for you]] ``` ![[Plugins make Obsidian special for you]]```md *This text will be italic* _This will also be italic_ ``` *This text will be italic* _This will also be italic_ ```md **This text will be bold** __This will also be bold__ ``` **This text will be bold** __This will also be bold__ ```md _You **can** combine them_ ``` _You **can** combine them_```md Here's a simple footnote,[^1] and here's a longer one.[^bignote] [^1]: meaningful! [^bignote]: Here's one with multiple paragraphs and code. Indent paragraphs to include them in the footnote. `{ my code }` Add as many paragraphs as you like. ``` Here's a simple footnote,[^1] and here's a longer one.[^bignote] [^1]: meaningful! [^bignote]: Here's one with multiple paragraphs and code. Indent paragraphs to include them in the footnote. `{ my code }` Add as many paragraphs as you like. ```md You can also use inline footnotes. ^[notice that the carat goes outside of the brackets on this one.] ``` You can also use inline footnotes. ^[notice that the carat goes outside of the brackets on this one.]Obsidian is a Markdown-based note-taking and knowledge base app. We currently support the formats below: ![[Internal link]] ![[Embeds]] ![[Heading]] ![[Emphasis]] ![[Lists]] ![[Images]] ![[Links]] ![[Blockquote]] ![[Inline code]] ![[Code block]] ![[Task]] ![[Table]] ![[Strikethrough]] ![[Highlighting]] ![[Horizontal divider]] ![[Footnote]] ![[Math]] ![[Comment]] ![[Callout]] ![[Diagram]] ```md # This is a heading 1 ## This is a heading 2 ### This is a heading 3 #### This is a heading 4 ##### This is a heading 5 ###### This is a heading 6 ``` # This is a heading 1 ## This is a heading 2 ### This is a heading 3 #### This is a heading 4 ##### This is a heading 5 ###### This is a heading 6```md Use two equal signs to ==highlight text==. ``` Use two equal signs to ==highlight text==.```md Use three stars ***, minuses ---, or underscores ___ in a new line to produce an horizontal bar. ``` ---```md ![Obsidian](https://obsidian.md/images/banner.png) ``` ![Obsidian](https://obsidian.md/images/banner.png) #### Resizing images Example of this above image resized to 200 pixels wide: ```md ![Obsidian|200](https://obsidian.md/images/banner.png) ``` ![Obsidian|200](https://obsidian.md/images/banner.png) ```md Text inside `backticks` on a line will be formatted like code. ``` Text inside `backticks` on a line will be formatted like code. ```md Link to a page: [[Embeds]]. ``` Link to a page: [[Embeds]].#### External links Markdown style links can be used to refer to either external objects, such as web pages, or an internal page or image. ```md http://obsidian.md - automatic! [Obsidian](http://obsidian.md) ``` http://obsidian.md - automatic! [Obsidian](http://obsidian.md) #### Obsidian URI links Obsidian URI links can be used to open notes in Obsidian either from another Obsidian vault or another program. For example, you can link to a file in a vault like so (please note the required encoding): ```md [Link to note](obsidian://open?path=D:%2Fpath%2Fto%2Ffile.md) ``` [Link to note](obsidian://open?path=D:%2Fpath%2Fto%2Ffile.md) You can link to a note by its vault name and file name instead of path as well: ```md [Link to note](obsidian://open?vault=MainVault&file=MyNote.md) ``` [Link to note](obsidian://open?vault=MainVault&file=MyNote.md) #### Escaping If there are spaces in the url, they can be escaped by either using `%20` as a space, such as: ```md [Format your notes](Format%20your%20notes) ``` [Format your notes](Format your notes.md) Or you can enclose the target in `<>`, such as: ```md [Format your notes]() ``` [Format your notes]() ```md - Item 1 - Item 2 - Item 2a - Item 2b 1. Item 1 1. Item 2 1. Item 3 1. Item 3a 1. Item 3b ``` - Item 1 - Item 2 - Item 2a - Item 2b 1. Item 1 1. Item 2 1. Item 3 1. Item 3a 1. Item 3b```md $$\begin{vmatrix}a & b\\ c & d \end{vmatrix}=ad-bc$$ ``` $$\begin{vmatrix}a & b\\ c & d \end{vmatrix}=ad-bc$$ You can also do inline math like $e^{2i\pi} = 1$ . Obsidian uses [Mathjax](http://docs.mathjax.org/en/latest/basic/mathjax.html). You can check which packages are supported in Mathjax [here](http://docs.mathjax.org/en/latest/input/tex/extensions/index.html).```md Any word wrapped with two tildes (like ~~this~~) will appear crossed out. ``` Any word wrapped with two tildes (like ~~this~~) will appear crossed out.You can create tables by assembling a list of words and dividing them with hyphens `-` (for the first row), and then separating each column with a pipe `|`: ```md First Header | Second Header ------------ | ------------ Content from cell 1 | Content from cell 2 Content in the first column | Content in the second column ``` First Header | Second Header ------------ | ------------ Content from cell 1 | Content from cell 2 Content in the first column | Content in the second column --- ```md Tables can be justified with a colon | Another example with a long title :----------------|-------------: because of the `:` | these will be justified ``` Tables can be justified with a colon | Another example with a long title :----------------|-------------: because of the `:` | these will be justified If you put links in tables, they will work, but if you use Piped Links, the pipe must be escaped with a `\` to prevent it being read as a table element. ```md First Header | Second Header ------------ | ------------ [[Format your notes\|Formatting]] | [[Callouts\|Callouts]] ``` First Header | Second Header ------------ | ------------ [[Format your notes\|Formatting]] | [[Callout\|Callouts]] ```md - [x] #tags, [links](), **formatting** supported - [x] list syntax required (any unordered or ordered list supported) - [x] this is a complete item - [?] this is also a complete item (works with every character) - [ ] this is an incomplete item - [ ] tasks can be clicked in Preview to be checked off ``` - [x] #tags, [links](), **formatting** supported - [x] list syntax required (any unordered or ordered list supported) - [x] this is a complete item - [?] this is also a complete item (works with every character) - [ ] this is an incomplete item - [ ] tasks can be clicked in Preview to be checked offA vault is a folder on your local file system where Obsidian stores your notes. You can keep all your notes in one vault, or create several vaults for each of your different projects. The first time you open Obsidian, you'll be asked to add a new vault. To create a new empty vault from the vault switcher: 1. To the right of **Create new vault**, click **Create**. 2. In **Vault name**, enter the name of your vault. 3. Click **Browse** to select where your new vault will be created. 4. Click **Create**. If you already have a folder that you want to use as your vault: 1. To the right of **Open folder as vault**, click **Open**. 2. In the file browser, select the folder you want to use as your vault. 3. Click **Open**. Now that you've set up your vault, you're ready to [[Create your first note]].Notes in Obsidian are stored as plain text files, which makes them incredibly portable. By writing your notes in plain text, they'll outlive any app—even Obsidian itself. If you plan to keep your notes for a long time, this is great news! ## Create a new note To create a new note: 1. Press Ctrl+N (or Cmd+N on macOS) on your keyboard. 2. Type "Obsidian" as the name of your note and press Enter. 3. Copy and paste the following text into your note: > Obsidian is a powerful knowledge base on top of a local folder of plain text Markdown files. ## Format your note Obsidian also supports [Markdown](https://en.wikipedia.org/wiki/Markdown)—a markup language for adding formatting to plain text files. 1. Copy and paste the following text at the top of the Obsidian note: > \# A second brain, for you, forever. The hashtag (#) turns a row of text into a heading. 2. In your note, select the text "knowledge base" and press Ctrl+B (or Cmd+B on macOS) to make it bold. To learn more about how to format your notes using Markdown, refer to [[Format your notes]]. ## Learn more Learn how to [[Link notes|link notes]] to create a network of connected thoughts. You may have heard that Obsidian is very complicated to set up. We don’t think that’s true—the ideal setup would be complicated, but that’s true for all tools. It just takes lots of trial and error to get something that works well for you. Instead of complicated, we would call that a labor of love. Okay, enough for how complicated it can get. The good news is how easy it is to get started: just 3 simple steps! 1. Set up a nice place for yourself → [[Create a vault]] 2. Jot down some notes → [[Create your first note]] 3. Let your ideas mingle → [[Link notes]]While Obsidian is great for taking notes, the true power of Obsidian lies in being able to link your notes together. By understanding how one piece of information relates to another, you can improve your ability to remember them and to form deeper insights. In this guide, you'll learn how to create and navigate links in Obsidian. ## Step 1: Create a link In this step, you'll create two notes and link them together using the \[\[double bracket syntax\]\]. 1. [[Create your first note|Create a note]] with the name "Three laws of motion": > The laws of motion are three laws stated by Isaac Newton, that describe the relationship between the motion of an object, and the forces acting on it. 1. Create another note with the name "Law of Inertia" with the following text: > The Law of Inertia is one of the 1. At the end of the sentence, press the left square bracket (`[`) twice on your keyboard. 1. Type "three" to find the first note you created. 1. Press Enter to create a link to the highlighted note. > The Law of Inertia is one of the \[\[Three laws of motion\]\] Open the "Three laws of motion" note by clicking on the link while pressing Ctrl (or Cmd on macOS). ## Step 2: Create a link to a non-existing note You can create links to notes that don't exist yet, for when you want to dive into a topic at a later time. 1. In your "Three laws of motion" note, select the text "Isaac Newton". 1. Press the left square bracket (`[`) twice on your keyboard to create a link. The second link has a more muted color to indicate that the note doesn't exist yet. 1. Create the note by clicking on the link while pressing Ctrl (or Cmd on macOS). ## Step 3: Navigate between notes As you've seen in the previous steps, you can click a link while pressing Ctrl (or Cmd on macOS) to go to the linked note. Another way to navigate between the notes is through _backlinks_. A backlink lets you navigate in the opposite direction of an existing link. 1. Open the "Isaac Newton" note. 1. In the right side bar, click the **Backlinks** tab. 1. Under **Linked mentions**, click the mention in "Three laws of motion" to go to that note. Another way to navigate between your notes is by using a visual representation of how your notes are connected. 1. In the top-right corner of the note, click **More options** (three dots). 2. Hover over **Open linked view**. 3. Select **Open local graph**. 4. Click any of the nodes in the graph to navigate to that note. ## Learn more Understanding how your notes are connected becomes increasingly more difficult as your vault grows. Learn how to use the graph view to gain deeper insights from your knowledge base. We started making Obsidian with plugins in mind because everyone seems to take notes differently. Offering a generic set of tools for a note-taker is like offering only one configuration of kitchen for passionate home cooks. There are two types of plugins in Obsidian: core plugins and community plugins. ## Modular core plugins Core plugins are made by us, and they give Obsidian basic modularity. “Modularity” is just a fancy word for having neat features that can be turned on and off without affecting the other pieces. ## Wild community plugins Plugins not only provide Obsidian with modularity, but also enhance its extensibility. Extensibility means other people can add features to Obsidian as they see fit. Unfortunately, you’d need to know some coding to know how to do that. But fortunately, Obsidian has a community plugin store that lets you install these community plugins with one click. A big shoutout to plugin developers who are generously sharing their own gems with the community! --- If you’re convinced Obsidian is worth a try for you, it’s time to get started: → [[Get started with Obsidian]] Hi, welcome to Obsidian! --- ## I’m interested in Obsidian First of all, tell me a little bit about what's your experience with note-taking apps like? - [[No prior experience|I have no prior experience]] - [[From standard note-taking|I’ve used note-taking apps like Evernote and OneNote]] - [[From plain-text note-taking|I have used plain-text based apps]] --- ## Official Help Site Check out the complete [Obsidian documentation](https://help.obsidian.md/) online, available in multiple languages. --- ## What is this place? This is a sandbox vault in which you can test various functionalities of Obsidian. > [!Warning] > Your changes will not be saved, so please don't take actual notes in this vault. > [!Note] Beta vault - contributions are welcome! > This sandbox vault is in beta! > > If you spot a typo or a mistake, feel free to submit a pull request [here](https://github.com/obsidianmd/obsidian-docs/tree/master/Sandbox). Different than most note-taking apps out there, an Obsidian vault is not a notebook on our server or a bundle in a special format on your computer. In Obsidian, a vault is a plain folder on your computer. By plain, we mean it's just like a folder you created and put some files in. You can open it with your system explorer or Finder, zip it up, make a copy, or move it around. > [!SUMMARY] The Point™ > The point is that you own this folder just like the other folder of camping photos that you created yourself. > > It’s supposed to be a good thing because you get both **data ownership and privacy** this way. Just keep in mind [[#^0f681f|with great power comes great responsibility]]. No need to worry about loading your content from our servers. You know, servers can get hacked or be offline or be slow when you need it most. No need to worry about exporting or converting if you move away from Obsidian either. The vault is just a folder that sits there—Obsidian is not going to delete any of your vault folders just because you uninstall Obsidian. Finally, please understand that with great power comes great responsibility. Now that you’re in charge of your data, it’s also your job to back it up and keep it safe. ^0f681f > [!Note]- A word on moving your vault folder > Technically you can freely move your vault folder around just like how you move any other folder. But if you do, Obsidian will be confused, so make sure to open it again at the new location with Obsidian after you moved it. --- If you’re convinced Obsidian is worth a try for you, it’s time to get started: → [[Get started with Obsidian]] (()=>{"use strict";function A(A){return function(){return A}}function t(A){return 1e-6*(A()-.5)}function n(A){return A.index}function i(A,t){var n=A.get(t);if(!n)throw new Error("node not found: "+t);return n}function r(A,t,n,i){if(isNaN(t)||isNaN(n))return A;var r,g,e,I,o,a,h,f,C,s=A._root,u={data:i},l=A._x0,Q=A._y0,B=A._x1,y=A._y1;if(!s)return A._root=u,A;for(;s.length;)if((a=t>=(g=(l+B)/2))?l=g:B=g,(h=n>=(e=(Q+y)/2))?Q=e:y=e,r=s,!(s=s[f=h<<1|a]))return r[f]=u,A;if(I=+A._x.call(null,s.data),o=+A._y.call(null,s.data),t===I&&n===o)return u.next=s,r?r[f]=u:A._root=u,A;do{r=r?r[f]=new Array(4):A._root=new Array(4),(a=t>=(g=(l+B)/2))?l=g:B=g,(h=n>=(e=(Q+y)/2))?Q=e:y=e}while((f=h<<1|a)==(C=(o>=e)<<1|I>=g));return r[C]=s,r[f]=u,A}function g(A,t,n,i,r){this.node=A,this.x0=t,this.y0=n,this.x1=i,this.y1=r}function e(A){return A[0]}function I(A){return A[1]}function o(A,t,n){var i=new a(null==t?e:t,null==n?I:n,NaN,NaN,NaN,NaN);return null==A?i:i.addAll(A)}function a(A,t,n,i,r,g){this._x=A,this._y=t,this._x0=n,this._y0=i,this._x1=r,this._y1=g,this._root=void 0}function h(A){for(var t={data:A.data},n=t;A=A.next;)n=n.next={data:A.data};return t}var f=o.prototype=a.prototype;function C(A){return A.x}function s(A){return A.y}f.copy=function(){var A,t,n=new a(this._x,this._y,this._x0,this._y0,this._x1,this._y1),i=this._root;if(!i)return n;if(!i.length)return n._root=h(i),n;for(A=[{source:i,target:n._root=new Array(4)}];i=A.pop();)for(var r=0;r<4;++r)(t=i.source[r])&&(t.length?A.push({source:t,target:i.target[r]=new Array(4)}):i.target[r]=h(t));return n},f.add=function(A){const t=+this._x.call(null,A),n=+this._y.call(null,A);return r(this.cover(t,n),t,n,A)},f.addAll=function(A){var t,n,i,g,e=A.length,I=new Array(e),o=new Array(e),a=1/0,h=1/0,f=-1/0,C=-1/0;for(n=0;nf&&(f=i),gC&&(C=g));if(a>f||h>C)return this;for(this.cover(a,h).cover(f,C),n=0;nA||A>=r||i>t||t>=g;)switch(I=(ts||(e=a.y0)>u||(I=a.x1)=y)<<1|A>=B)&&(a=l[l.length-1],l[l.length-1]=l[l.length-1-h],l[l.length-1-h]=a)}else{var c=A-+this._x.call(null,Q.data),E=t-+this._y.call(null,Q.data),v=c*c+E*E;if(v=(I=(u+Q)/2))?u=I:Q=I,(h=e>=(o=(l+B)/2))?l=o:B=o,t=s,!(s=s[f=h<<1|a]))return this;if(!s.length)break;(t[f+1&3]||t[f+2&3]||t[f+3&3])&&(n=t,C=f)}for(;s.data!==A;)if(i=s,!(s=s.next))return this;return(r=s.next)&&delete s.next,i?(r?i.next=r:delete i.next,this):t?(r?t[f]=r:delete t[f],(s=t[0]||t[1]||t[2]||t[3])&&s===(t[3]||t[2]||t[1]||t[0])&&!s.length&&(n?n[C]=s:this._root=s),this):(this._root=r,this)},f.removeAll=function(A){for(var t=0,n=A.length;t[f(A,t,I),A])));for(A=0,o=new Array(n);A=h)){(A.data!==i||A.next)&&(0===C&&(l+=(C=t(r))*C),0===s&&(l+=(s=t(r))*s),lf+u||rC+u||Ia.index){var l=f-o.x-o.vx,B=C-o.y-o.vy,y=l*l+B*B;yA.r&&(A.r=A[t].r)}function f(){if(i){var A,t,g=i.length;for(r=new Array(g),A=0;A.001){if(P(),0===M.length)return;Q+=(y-Q)*B,K(),Y()}}function P(){O||(O=setTimeout(W,X))}})(); Obsidian (()=>{"use strict";var a={1979:(a,e,t)=>{t.r(e),t.d(e,{RateAppWeb:()=>r});var n=t(6043);class r extends n.E_{async requestReview(){}}},6043:(a,e,t)=>{t.d(e,{E_:()=>M,F3:()=>s,Ii:()=>l});const n=(a=>a.CapacitorPlatforms=(a=>{const e=new Map;e.set("web",{name:"web"});const t=a.CapacitorPlatforms||{currentPlatform:{name:"web"},platforms:e};return t.addPlatform=(a,e)=>{t.platforms.set(a,e)},t.setPlatform=a=>{t.platforms.has(a)&&(t.currentPlatform=t.platforms.get(a))},t})(a))("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t.g?t.g:{});n.addPlatform,n.setPlatform;var r;!function(a){a.Unimplemented="UNIMPLEMENTED",a.Unavailable="UNAVAILABLE"}(r||(r={}));class i extends Error{constructor(a,e,t){super(a),this.message=a,this.code=e,this.data=t}}const o=a=>{var e,t,n,o,l;const s=a.CapacitorCustomPlatform||null,M=a.Capacitor||{},h=M.Plugins=M.Plugins||{},c=a.CapacitorPlatforms,v=(null===(e=null==c?void 0:c.currentPlatform)||void 0===e?void 0:e.getPlatform)||(()=>null!==s?s.name:(a=>{var e,t;return(null==a?void 0:a.androidBridge)?"android":(null===(t=null===(e=null==a?void 0:a.webkit)||void 0===e?void 0:e.messageHandlers)||void 0===t?void 0:t.bridge)?"ios":"web"})(a)),u=(null===(t=null==c?void 0:c.currentPlatform)||void 0===t?void 0:t.isNativePlatform)||(()=>"web"!==v()),d=(null===(n=null==c?void 0:c.currentPlatform)||void 0===n?void 0:n.isPluginAvailable)||(a=>{const e=m.get(a);return!!(null==e?void 0:e.platforms.has(v()))||!!p(a)}),p=(null===(o=null==c?void 0:c.currentPlatform)||void 0===o?void 0:o.getPluginHeader)||(a=>{var e;return null===(e=M.PluginHeaders)||void 0===e?void 0:e.find((e=>e.name===a))}),m=new Map,f=(null===(l=null==c?void 0:c.currentPlatform)||void 0===l?void 0:l.registerPlugin)||((a,e={})=>{const t=m.get(a);if(t)return console.warn(`Capacitor plugin "${a}" already registered. Cannot register plugins twice.`),t.proxy;const n=v(),o=p(a);let l;const c=t=>{let h;const c=(...c)=>{const v=(async()=>(!l&&n in e?l=l="function"==typeof e[n]?await e[n]():e[n]:null!==s&&!l&&"web"in e&&(l=l="function"==typeof e.web?await e.web():e.web),l))().then((e=>{const l=((e,t)=>{var l,s;if(!o){if(e)return null===(s=e[t])||void 0===s?void 0:s.bind(e);throw new i(`"${a}" plugin is not implemented on ${n}`,r.Unimplemented)}{const n=null==o?void 0:o.methods.find((a=>t===a.name));if(n)return"promise"===n.rtype?e=>M.nativePromise(a,t.toString(),e):(e,n)=>M.nativeCallback(a,t.toString(),e,n);if(e)return null===(l=e[t])||void 0===l?void 0:l.bind(e)}})(e,t);if(l){const a=l(...c);return h=null==a?void 0:a.remove,a}throw new i(`"${a}.${t}()" is not implemented on ${n}`,r.Unimplemented)}));return"addListener"===t&&(v.remove=async()=>h()),v};return c.toString=()=>`${t.toString()}() { [capacitor code] }`,Object.defineProperty(c,"name",{value:t,writable:!1,configurable:!1}),c},u=c("addListener"),d=c("removeListener"),f=(a,e)=>{const t=u({eventName:a},e),n=async()=>{const n=await t;d({eventName:a,callbackId:n},e)},r=new Promise((a=>t.then((()=>a({remove:n})))));return r.remove=async()=>{console.warn("Using addListener() without 'await' is deprecated."),await n()},r},g=new Proxy({},{get(a,e){switch(e){case"$$typeof":return;case"toJSON":return()=>({});case"addListener":return o?f:u;case"removeListener":return d;default:return c(e)}}});return h[a]=g,m.set(a,{name:a,proxy:g,platforms:new Set([...Object.keys(e),...o?[n]:[]])}),g});return M.convertFileSrc||(M.convertFileSrc=a=>a),M.getPlatform=v,M.handleError=e=>a.console.error(e),M.isNativePlatform=u,M.isPluginAvailable=d,M.pluginMethodNoop=(a,e,t)=>Promise.reject(`${t} does not have an implementation of "${e}".`),M.registerPlugin=f,M.Exception=i,M.DEBUG=!!M.DEBUG,M.isLoggingEnabled=!!M.isLoggingEnabled,M.platform=M.getPlatform(),M.isNative=M.isNativePlatform(),M},l=(a=>a.Capacitor=o(a))("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t.g?t.g:{}),s=l.registerPlugin;l.Plugins;class M{constructor(a){this.listeners={},this.windowListeners={},a&&(console.warn(`Capacitor WebPlugin "${a.name}" config object was deprecated in v3 and will be removed in v4.`),this.config=a)}addListener(a,e){this.listeners[a]||(this.listeners[a]=[]),this.listeners[a].push(e);const t=this.windowListeners[a];t&&!t.registered&&this.addWindowListener(t);const n=async()=>this.removeListener(a,e),r=Promise.resolve({remove:n});return Object.defineProperty(r,"remove",{value:async()=>{console.warn("Using addListener() without 'await' is deprecated."),await n()}}),r}async removeAllListeners(){this.listeners={};for(const a in this.windowListeners)this.removeWindowListener(this.windowListeners[a]);this.windowListeners={}}notifyListeners(a,e){const t=this.listeners[a];t&&t.forEach((a=>a(e)))}hasListeners(a){return!!this.listeners[a].length}registerWindowListener(a,e){this.windowListeners[e]={registered:!1,windowEventName:a,pluginEventName:e,handler:a=>{this.notifyListeners(e,a)}}}unimplemented(a="not implemented"){return new l.Exception(a,r.Unimplemented)}unavailable(a="not available"){return new l.Exception(a,r.Unavailable)}async removeListener(a,e){const t=this.listeners[a];if(!t)return;const n=t.indexOf(e);this.listeners[a].splice(n,1),this.listeners[a].length||this.removeWindowListener(this.windowListeners[a])}addWindowListener(a){window.addEventListener(a.windowEventName,a.handler),a.registered=!0}removeWindowListener(a){a&&(window.removeEventListener(a.windowEventName,a.handler),a.registered=!1)}}const h=a=>encodeURIComponent(a).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape),c=a=>a.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent);class v extends M{async getCookies(){const a=document.cookie,e={};return a.split(";").forEach((a=>{if(a.length<=0)return;let[t,n]=a.replace(/=/,"CAP_COOKIE").split("CAP_COOKIE");t=c(t).trim(),n=c(n).trim(),e[t]=n})),e}async setCookie(a){try{const e=h(a.key),t=h(a.value),n=`; expires=${(a.expires||"").replace("expires=","")}`,r=(a.path||"/").replace("path=",""),i=null!=a.url&&a.url.length>0?`domain=${a.url}`:"";document.cookie=`${e}=${t||""}${n}; path=${r}; ${i};`}catch(a){return Promise.reject(a)}}async deleteCookie(a){try{document.cookie=`${a.key}=; Max-Age=0`}catch(a){return Promise.reject(a)}}async clearCookies(){try{const a=document.cookie.split(";")||[];for(const e of a)document.cookie=e.replace(/^ +/,"").replace(/=.*/,`=;expires=${(new Date).toUTCString()};path=/`)}catch(a){return Promise.reject(a)}}async clearAllCookies(){try{await this.clearCookies()}catch(a){return Promise.reject(a)}}}s("CapacitorCookies",{web:()=>new v});const u=(a,e={})=>{const t=Object.assign({method:a.method||"GET",headers:a.headers},e),n=((a={})=>{const e=Object.keys(a);return Object.keys(a).map((a=>a.toLocaleLowerCase())).reduce(((t,n,r)=>(t[n]=a[e[r]],t)),{})})(a.headers)["content-type"]||"";if("string"==typeof a.data)t.body=a.data;else if(n.includes("application/x-www-form-urlencoded")){const e=new URLSearchParams;for(const[t,n]of Object.entries(a.data||{}))e.set(t,n);t.body=e.toString()}else if(n.includes("multipart/form-data")||a.data instanceof FormData){const e=new FormData;if(a.data instanceof FormData)a.data.forEach(((a,t)=>{e.append(t,a)}));else for(const t of Object.keys(a.data))e.append(t,a.data[t]);t.body=e;const n=new Headers(t.headers);n.delete("content-type"),t.headers=n}else(n.includes("application/json")||"object"==typeof a.data)&&(t.body=JSON.stringify(a.data));return t};class d extends M{async request(a){const e=u(a,a.webFetchExtra),t=((a,e=!0)=>a?Object.entries(a).reduce(((a,t)=>{const[n,r]=t;let i,o;return Array.isArray(r)?(o="",r.forEach((a=>{i=e?encodeURIComponent(a):a,o+=`${n}=${i}&`})),o.slice(0,-1)):(i=e?encodeURIComponent(r):r,o=`${n}=${i}`),`${a}&${o}`}),"").substr(1):null)(a.params,a.shouldEncodeUrlParams),n=t?`${a.url}?${t}`:a.url,r=await fetch(n,e),i=r.headers.get("content-type")||"";let o,l,{responseType:s="text"}=r.ok?a:{};switch(i.includes("application/json")&&(s="json"),s){case"arraybuffer":case"blob":l=await r.blob(),o=await(async a=>new Promise(((e,t)=>{const n=new FileReader;n.onload=()=>{const a=n.result;e(a.indexOf(",")>=0?a.split(",")[1]:a)},n.onerror=a=>t(a),n.readAsDataURL(a)})))(l);break;case"json":o=await r.json();break;default:o=await r.text()}const M={};return r.headers.forEach(((a,e)=>{M[e]=a})),{data:o,headers:M,status:r.status,url:r.url}}async get(a){return this.request(Object.assign(Object.assign({},a),{method:"GET"}))}async post(a){return this.request(Object.assign(Object.assign({},a),{method:"POST"}))}async put(a){return this.request(Object.assign(Object.assign({},a),{method:"PUT"}))}async patch(a){return this.request(Object.assign(Object.assign({},a),{method:"PATCH"}))}async delete(a){return this.request(Object.assign(Object.assign({},a),{method:"DELETE"}))}}s("CapacitorHttp",{web:()=>new d})}},e={};function t(n){var r=e[n];if(void 0!==r)return r.exports;var i=e[n]={exports:{}};return a[n](i,i.exports,t),i.exports}t.d=(a,e)=>{for(var n in e)t.o(e,n)&&!t.o(a,n)&&Object.defineProperty(a,n,{enumerable:!0,get:e[n]})},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(a){if("object"==typeof window)return window}}(),t.o=(a,e)=>Object.prototype.hasOwnProperty.call(a,e),t.r=a=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})};var n=function(a,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(a[t]=e[t])},n(a,e)};function r(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=a}n(a,e),a.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}function i(a,e,t,n){return new(t||(t=Promise))((function(r,i){function o(a){try{s(n.next(a))}catch(a){i(a)}}function l(a){try{s(n.throw(a))}catch(a){i(a)}}function s(a){var e;a.done?r(a.value):(e=a.value,e instanceof t?e:new t((function(a){a(e)}))).then(o,l)}s((n=n.apply(a,e||[])).next())}))}function o(a,e){var t,n,r,i,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(l){return function(s){return function(l){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(o=0)),o;)try{if(t=1,n&&(r=2&l[0]?n.return:l[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,l[1])).done)return r;switch(n=0,r&&(l=[2&l[0],r.value]),l[0]){case 0:case 1:r=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,n=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(r=o.trys,(r=r.length>0&&r[r.length-1])||6!==l[0]&&2!==l[0])){o=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]>>4).toString(16)),t.push((15&r).toString(16))}return t.join("")}var d,p=-1!==(d=navigator.appVersion).indexOf("Win")?"Windows":-1!==d.indexOf("Mac")?"macOS":-1!==d.indexOf("X11")||-1!==d.indexOf("Linux")?"Linux":"Unknown OS",m=navigator.userAgent.toLowerCase(),f="macOS"===p,g="Windows"===p,y="Linux"===p,w=(m.indexOf("firefox"),/^((?!chrome|android).)*safari/i.test(m));/android/i.test(m);var b=new WeakMap,H=function(){function a(a){this.from={},this.to={},this.end={};var e=a||{},t=e.duration,n=void 0===t?100:t,r=e.fn,i=void 0===r?"ease-in-out":r;this.duration=n,this.fn=i}return a.prototype.addProp=function(a,e,t,n){return void 0===n&&(n=null),null!==e&&(this.from[a]=e),null!==t&&(this.to[a]=t),null!==n&&(this.end[a]=n),this},a}();function V(a,e){for(var t in e)e.hasOwnProperty(t)&&(a.style[t]=e[t])}function C(a,e){var t,n=b.get(a);b.delete(a),n&&(a.style.transition="",a.style.transitionProperty="",V(a,n.props.end),n.win.clearTimeout(n.timer),a.removeEventListener("transitionend",n.fn),e||null===(t=n.complete)||void 0===t||t.call(n))}var L=null;function k(a,e,t){C(a),V(a,e.from);var n={props:e,fn:function(){return C(a)},timer:0,complete:t,win:a.win};b.set(a,n);null===L&&(L=[],setTimeout((function(){document.body.offsetHeight;var a=L;L=null;for(var e=0,t=a;e=0;r--){var i=this.data[r]>>>7&255;this.data[r]=this.data[r]<<1|n,n=i}this.data[a.SIZE-1]^=(e=n,t=a.R,~(e-1)&t|e-1&0),n=0},a.SIZE=16,a.R=135,a}();var Q=window.crypto.subtle;const aa=function(){function a(a){this.key=a}return a.importKey=function(e,t){return i(this,void 0,Promise,(function(){return o(this,(function(n){switch(n.label){case 0:return[4,Q.deriveKey({name:"HKDF",salt:t,info:(new TextEncoder).encode("ObsidianAesSivEnc"),hash:"SHA-256"},e,{name:"AES-CTR",length:256},!1,["encrypt"])];case 1:return[2,new a(n.sent())]}}))}))},a.prototype.encryptCtr=function(a,e){return i(this,void 0,Promise,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return[4,Q.encrypt({name:"AES-CTR",counter:a,length:16},this.key,e)];case 1:return t=n.sent(),[2,new Uint8Array(t)]}}))}))},a}();const ea=function(){function a(a){this._key=a,this._iv=new J,this._emptyPromise=Promise.resolve(this)}return a.importKey=function(e,t){return i(this,void 0,Promise,(function(){return o(this,(function(n){switch(n.label){case 0:return[4,Q.deriveKey({name:"HKDF",salt:t,info:(new TextEncoder).encode("ObsidianAesSivMac"),hash:"SHA-256"},e,{name:"AES-CBC",length:256},!1,["encrypt"])];case 1:return[2,new a(n.sent())]}}))}))},a.prototype.clear=function(){return this},a.prototype.encryptBlock=function(a){return i(this,void 0,Promise,(function(){var e,t;return o(this,(function(n){switch(n.label){case 0:return e={name:"AES-CBC",iv:this._iv.data},[4,Q.encrypt(e,this._key,a.data)];case 1:return t=n.sent(),a.data.set(new Uint8Array(t,0,J.SIZE)),[2,this._emptyPromise]}}))}))},a}();var ta=function(){function a(a,e,t){this._cipher=a,this._subkey1=e,this._subkey2=t,this._bufferPos=0,this._finished=!1,this._buffer=new J}return a.importKey=function(e,t){return i(this,void 0,Promise,(function(){var n,r,i;return o(this,(function(o){switch(o.label){case 0:return[4,ea.importKey(e,t)];case 1:return n=o.sent(),r=new J,[4,n.encryptBlock(r)];case 2:return o.sent(),r.dbl(),(i=r.clone()).dbl(),[2,function(){return new a(n,r,i)}]}}))}))},a.prototype.update=function(a){return i(this,void 0,Promise,(function(){var e,t,n,r;return o(this,(function(i){switch(i.label){case 0:if(this._finished)throw new Error("Cannot update finished CMAC");if(e=J.SIZE-this._bufferPos,t=0,!((n=a.length)>e))return[3,2];for(r=0;rJ.SIZE))return[3,4];for(r=0;r>>8}(o,l))throw X(n),new $("AES-SIV: ciphertext verification failure!");return[2,n]}var o,l}))}))},a.prototype._s2v=function(a){return i(this,void 0,Promise,(function(){var e,t,n,r,i,l;return o(this,(function(o){switch(o.label){case 0:return e=this.cmacFactory(),t=new J,n=new J,[4,e.update(t.data)];case 1:return o.sent(),i=(r=n.data).set,[4,e.finish()];case 2:return i.apply(r,[o.sent()]),e=this.cmacFactory(),t.clear(),a.length>=J.SIZE?(l=a.length-J.SIZE,t.data.set(a.subarray(l)),[4,e.update(a.subarray(0,l))]):[3,4];case 3:return o.sent(),[3,5];case 4:t.data.set(a),t.data[a.length]=128,n.dbl(),o.label=5;case 5:return Y(t.data,n.data),[4,e.update(t.data)];case 6:return o.sent(),[2,e.finish()]}}))}))},a}();function ra(a){a[a.length-8]&=127,a[a.length-4]&=127}(function(){function a(a,e){this.encryptionVersion=0,this.keyHash=a,this.cryptoKey=e}a.init=function(e){return i(this,void 0,Promise,(function(){var t,n,r;return o(this,(function(i){switch(i.label){case 0:if(32!==e.byteLength)throw new Error("Invalid encryption key");return n=u,[4,c(e)];case 1:return t=n.apply(void 0,[i.sent()]),[4,K(e)];case 2:return r=i.sent(),[2,new a(t,r)]}}))}))},a.prototype.deterministicEncodeStr=function(a){return i(this,void 0,Promise,(function(){var e,t,n,r;return o(this,(function(i){switch(i.label){case 0:return[4,c(e=s(a))];case 1:return t=i.sent(),n=new Uint8Array(t,0,12),r=u,[4,R(e,this.cryptoKey,n)];case 2:return[2,r.apply(void 0,[i.sent()])]}}))}))},a.prototype.deterministicDecodeStr=function(a){return i(this,void 0,Promise,(function(){var e,t;return o(this,(function(n){switch(n.label){case 0:return e=v(a),t=M,[4,G(e,this.cryptoKey)];case 1:return[2,t.apply(void 0,[n.sent()])]}}))}))},a.prototype.encrypt=function(a){return i(this,void 0,Promise,(function(){return o(this,(function(e){return[2,R(a,this.cryptoKey)]}))}))},a.prototype.decrypt=function(a){return i(this,void 0,Promise,(function(){return o(this,(function(e){return[2,G(a,this.cryptoKey)]}))}))}})(),function(){function a(a,e,t,n){if(this.keyHash=a,this.cryptoKey=e,this.siv=t,2!==n&&3!==n)throw new Error("Invalid encryption version");this.encryptionVersion=n}a.init=function(e,t,n){return i(this,void 0,Promise,(function(){var r,i,l,M,h,c,v;return o(this,(function(o){switch(o.label){case 0:if(32!==e.byteLength)throw new Error("Invalid encryption key");return[4,U.importKey("raw",e,"HKDF",!1,["deriveKey"])];case 1:return r=o.sent(),i=s(t),[4,U.deriveKey({name:"HKDF",salt:i,info:s("ObsidianKeyHash"),hash:"SHA-256"},r,{name:"AES-CBC",length:256},!0,["encrypt"])];case 2:return l=o.sent(),h=u,[4,U.exportKey("raw",l)];case 3:return M=h.apply(void 0,[o.sent()]),[4,na.importKey(r,i)];case 4:return c=o.sent(),[4,U.deriveKey({name:"HKDF",salt:new Uint8Array,info:s("ObsidianAesGcm"),hash:"SHA-256"},r,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])];case 5:return v=o.sent(),[2,new a(M,v,c,n)]}}))}))},a.prototype.deterministicEncodeStr=function(a){return i(this,void 0,Promise,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return e=s(a),[4,this.siv.seal(new Uint8Array(e))];case 1:return[2,u(l(t.sent()))]}}))}))},a.prototype.deterministicDecodeStr=function(a){return i(this,void 0,Promise,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return e=v(a),[4,this.siv.open(new Uint8Array(e))];case 1:return[2,M(l(t.sent()))]}}))}))},a.prototype.encrypt=function(a){return i(this,void 0,Promise,(function(){return o(this,(function(e){return[2,R(a,this.cryptoKey)]}))}))},a.prototype.decrypt=function(a){return i(this,void 0,Promise,(function(){return o(this,(function(e){return[2,G(a,this.cryptoKey)]}))}))}}();var ia="https://"+[String.fromCharCode(97,112,105),"obsidian","md"].join(".");F&&(ia="http://127.0.0.1:3000");var oa="obsidian-account",la=window.fetch,sa=function(a){function e(t){var n=a.call(this,t.error)||this;return n.response=t,n.error=t.error,Object.setPrototypeOf(n,e.prototype),n}return r(e,a),e}(Error);function Ma(a,e){return i(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return[4,la(ia+a,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json"}})];case 1:return[4,n.sent().json()];case 2:if("error"in(t=n.sent()))throw new sa(t);return[2,t]}}))}))}function ha(a,e,t,n){return i(this,void 0,Promise,(function(){var r;return o(this,(function(i){switch(i.label){case 0:return[4,Ma("/user/signin",{email:e,password:t,mfa:n})];case 1:return(r=i.sent()).token&&(a.token=r.token,a.email=r.email,a.name=r.name,a.license=r.license,a.save()),[2,r]}}))}))}function ca(a){void 0===a.encryption_version&&(a.encryption_version=0)}function va(a){return i(this,void 0,Promise,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return[4,Ma("/vault/list",{token:a,supported_encryption_version:3})];case 1:return(e=t.sent()).vaults.forEach(ca),e.shared.forEach(ca),[2,e]}}))}))}var ua=new(function(){function a(){this.keyValidation="",this.company="",this.expiry=0,this.seats=0;try{var a=JSON.parse(localStorage.getItem(oa));this.email=a.email,this.name=a.name,this.token=a.token,this.license=a.license,this.key=a.key}catch(a){}}return a.prototype.save=function(){var a={email:this.email,name:this.name,token:this.token,license:this.license,key:this.key};localStorage.setItem(oa,JSON.stringify(a))},a.prototype.setKey=function(a){this.key=a,this.save()},a}());const da=(a,e)=>e.some((e=>a instanceof e));let pa,ma;const fa=new WeakMap,ga=new WeakMap,ya=new WeakMap;let wa={get(a,e,t){if(a instanceof IDBTransaction){if("done"===e)return fa.get(a);if("store"===e)return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return Ca(a[e])},set:(a,e,t)=>(a[e]=t,!0),has:(a,e)=>a instanceof IDBTransaction&&("done"===e||"store"===e)||e in a};function ba(a){wa=a(wa)}function Ha(a){return(ma||(ma=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(a)?function(...e){return a.apply(La(this),e),Ca(this.request)}:function(...e){return Ca(a.apply(La(this),e))}}function Va(a){return"function"==typeof a?Ha(a):(a instanceof IDBTransaction&&function(a){if(fa.has(a))return;const e=new Promise(((e,t)=>{const n=()=>{a.removeEventListener("complete",r),a.removeEventListener("error",i),a.removeEventListener("abort",i)},r=()=>{e(),n()},i=()=>{t(a.error||new DOMException("AbortError","AbortError")),n()};a.addEventListener("complete",r),a.addEventListener("error",i),a.addEventListener("abort",i)}));fa.set(a,e)}(a),da(a,pa||(pa=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(a,wa):a)}function Ca(a){if(a instanceof IDBRequest)return function(a){const e=new Promise(((e,t)=>{const n=()=>{a.removeEventListener("success",r),a.removeEventListener("error",i)},r=()=>{e(Ca(a.result)),n()},i=()=>{t(a.error),n()};a.addEventListener("success",r),a.addEventListener("error",i)}));return ya.set(e,a),e}(a);if(ga.has(a))return ga.get(a);const e=Va(a);return e!==a&&(ga.set(a,e),ya.set(e,a)),e}const La=a=>ya.get(a);function ka(a,{blocked:e}={}){const t=indexedDB.deleteDatabase(a);return e&&t.addEventListener("blocked",(a=>e(a.oldVersion,a))),Ca(t).then((()=>{}))}const Aa=["get","getKey","getAll","getAllKeys","count"],Ea=["put","add","delete","clear"],xa=new Map;function Za(a,e){if(!(a instanceof IDBDatabase)||e in a||"string"!=typeof e)return;if(xa.get(e))return xa.get(e);const t=e.replace(/FromIndex$/,""),n=e!==t,r=Ea.includes(t);if(!(t in(n?IDBIndex:IDBObjectStore).prototype)||!r&&!Aa.includes(t))return;const i=async function(a,...e){const i=this.transaction(a,r?"readwrite":"readonly");let o=i.store;return n&&(o=o.index(e.shift())),(await Promise.all([o[t](...e),r&&i.done]))[0]};return xa.set(e,i),i}ba((a=>({...a,get:(e,t,n)=>Za(e,t)||a.get(e,t,n),has:(e,t)=>!!Za(e,t)||a.has(e,t)})));const za=["continue","continuePrimaryKey","advance"],Sa={},Pa=new WeakMap,Da=new WeakMap,qa={get(a,e){if(!za.includes(e))return a[e];let t=Sa[e];return t||(t=Sa[e]=function(...a){Pa.set(this,Da.get(this)[e](...a))}),t}};async function*Ta(...a){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...a)),!e)return;const t=new Proxy(e,qa);for(Da.set(t,e),ya.set(t,La(e));e;)yield t,e=await(Pa.get(t)||e.continue()),Pa.delete(t)}function Oa(a,e){return e===Symbol.asyncIterator&&da(a,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===e&&da(a,[IDBIndex,IDBObjectStore])}function Ia(a){Object.keys(localStorage).filter(a).forEach((function(a){return localStorage.removeItem(a)}))}ba((a=>({...a,get:(e,t,n)=>Oa(e,t)?Ta:a.get(e,t,n),has:(e,t)=>Oa(e,t)||a.has(e,t)})));var Ba="language",Na="en",ja={am:"አማርኛ",ar:"اَلْعَرَبِيَّةُ",be:"беларуская мова",ca:"català",cs:"čeština",da:"Dansk",de:"Deutsch",en:"English","en-GB":"English (GB)",es:"Español",fa:"فارسی",fr:"Français",ga:"Gaeilge",he:"עברית",hu:"Magyar",id:"Bahasa Indonesia",it:"Italiano",ja:"日本語",kh:"ខ្មែរ",ko:"한국어",lv:"Latviešu",ms:"Bahasa Melayu",ne:"नेपाली",nl:"Nederlands",no:"Norsk",pl:"Polski",pt:"Português","pt-BR":"Português do Brasil",ro:"Română",ru:"Pусский",sq:"Shqip",th:"ไทย",tr:"Türkçe",uk:"Українська",uz:"oʻzbekcha",vi:"Tiếng Việt",zh:"简体中文","zh-TW":"繁體中文"},Fa=Object.keys(ja).sort(),_a={zh:"zh-cn",cz:"cs",no:"nb"},Ua="default";function Wa(a,e){if(String.isString(a))return null!==e&&String.isString(e)?e:a;var t={};for(var n in a)a.hasOwnProperty(n)&&(t[n]=Wa(a[n],e&&e[n]||null));return t}function Ka(a){return a.replace(/[A-Z]/g,(function(a){return"-"+a.toLowerCase()})).replace(/_[0-9]/g,(function(a){return"-"+a.substring(1)}))}i18next.init({fallbackLng:Na,ns:[Ua],defaultNS:Ua,initImmediate:!1,interpolation:{alwaysFormat:!0,escapeValue:!1,format:function(a,e){return"number"==typeof a?a.toLocaleString():a}}});var Ra=function a(e,t){var n={};for(var r in e)if(e.hasOwnProperty(r)){var i=t(r),o=e[r];String.isString(o)?n[i]=o:n[i]=a(o,t)}return n}(OBSIDIAN_DEFAULT_I18N,Ka);function Ga(){i18next.addResourceBundle(Na,Ua,Ra)}F?window.setTimeout(Ga):Ga();var $a=Promise.resolve(),Xa=localStorage.getItem(Ba);if(Xa){$a=i(void 0,void 0,void 0,(function(){var a,e,t,n,r;return o(this,(function(i){switch(i.label){case 0:return i.trys.push([0,5,,6]),Xa.contains("/")||Xa.contains("\\")?(a=JSON.parse(window.require("original-fs").readFileSync(Xa,"utf8")),i18next.addResourceBundle("dev",Ua,a),[4,i18next.changeLanguage("dev")]):[3,2];case 1:return i.sent(),[2];case 2:return n=(t=JSON).parse,[4,ajaxPromise({url:"/i18n/"+Xa+".json"})];case 3:return e=n.apply(t,[i.sent()]),i18next.addResourceBundle(Xa,Ua,e),[4,i18next.changeLanguage(Xa)];case 4:return i.sent(),[3,6];case 5:return r=i.sent(),console.error("Failed to load language pack.",r),[3,6];case 6:return[2]}}))}));try{var Ya=Xa.toLowerCase();_a.hasOwnProperty(Ya)&&(Ya=_a[Ya]),window.moment.locale(Ya)}catch(a){}}window.selectLanguageFileLocation=function(){if(T.isDesktopApp){var a=electron.remote.dialog.showOpenDialogSync({title:"Pick location of translation file",filters:[{name:"Translation file",extensions:["json"]}],properties:["openFile","dontAddToRecent"]});if(a.length>0){var e=a[0];localStorage.setItem(Ba,e),location.reload()}}},F&&(window.i18nResetStaleKey=function(a){if(T.isDesktopApp){var e=window.require("original-fs"),t=electron.ipcRenderer.sendSync("resources");for(var n in ja)if(ja.hasOwnProperty(n)){var r=t+"/i18n/"+n+".json";try{if(e.existsSync(r)){for(var i=e.readFileSync(r,"utf8"),o=JSON.parse(i),l=o,s=a.split("."),M=s.pop(),h=Ra,c=0,v=s;cPromise.resolve().then(t.bind(t,1979)).then((a=>new a.RateAppWeb))});var ee=window.Capacitor&&"web"!==ae.Ii.getPlatform(),te=(!!ee&&ae.Ii.getPlatform(),!!ee&&ae.Ii.getPlatform(),ee&&(0,ae.F3)("App"),ee&&(0,ae.F3)("Browser"),ee&&(0,ae.F3)("Clipboard"),ee&&(0,ae.F3)("Filesystem"),ee&&(0,ae.F3)("SplashScreen"),ee&&(0,ae.F3)("StatusBar"),ee&&(0,ae.F3)("Device"),ee&&(0,ae.F3)("KeepAwake"),ee?(0,ae.F3)("Keyboard"):null);ee&&(0,ae.F3)("Haptics");function ne(a,e){if(T.isMobile){var t=[];a.addEventListener("touchstart",(function(n){if(!(n.touches.length>n.changedTouches.length)){for(var r=n.targetNode;r;){if(r.instanceOf(HTMLAudioElement))return;if(r.instanceOf(HTMLElement)&&r.dataset.ignoreSwipe)return;r=r.parentNode}var i=n.touches[0];if("stylus"!==i.touchType){var o=i.clientX,l=i.clientY,s=document.elementFromPoint(o,l);if(!(s instanceof HTMLCanvasElement)&&a.contains(s)){var M=i.identifier,h=Date.now(),c=!1,v="x",u=i.clientX,d=i.clientY,p=h,m=0,f=0;if(t.length>0)for(var g=0,y=t;g200)return void C();var M=Math.abs(r-o),g=Math.abs(i-l),y=Math.max(M,g);if(y<10)return;c=!0;for(var b=s,H="x"===(v=M===y?"x":"y")?r-o:i-l;b;){var V="x"===v?b.scrollWidth-b.clientWidth:b.scrollHeight-b.clientHeight;if(V>0){var L=getComputedStyle(b),k="x"===v?L.overflowX:L.overflowY;if("auto"===k||"scroll"===k){var A="x"===v?b.scrollLeft:b.scrollTop;if(H>0&&A>0||H<0&&A0?Promise.all(a).then():void 0}},a.prototype.onload=function(){},a.prototype.unload=function(){if(this._loaded){this._loaded=!1;for(var a=this._children,e=this._events;a.length>0;){a.pop().unload()}for(;e.length>0;){e.pop()()}this.onunload()}},a.prototype.onunload=function(){},a.prototype.addChild=function(a){return this._children.push(a),this._loaded&&a.load(),a},a.prototype.removeChild=function(a){var e=this._children,t=e.indexOf(a);return-1!==t&&(e.splice(t,1),a.unload()),a},a.prototype.register=function(a){this._events.push(a)},a.prototype.registerEvent=function(a){this.register((function(){return a.e.offref(a)}))},a.prototype.registerDomEvent=function(a,e,t,n){a.addEventListener(e,t,n),this.register((function(){return a.removeEventListener(e,t,n)}))},a.prototype.registerScopeEvent=function(a){this.register((function(){return a.scope.unregister(a)}))},a.prototype.registerInterval=function(a){return this.register((function(){return clearInterval(a)})),a},a}();const oe={"a-arrow-down":[[6,"M3.5 13h6"],[6,"m2 16 4.5-9 4.5 9"],[6,"M18 7v9"],[6,"m14 12 4 4 4-4"]],"a-arrow-up":[[6,"M3.5 13h6"],[6,"m2 16 4.5-9 4.5 9"],[6,"M18 16V7"],[6,"m14 11 4-4 4 4"]],"a-large-small":[[6,"M21 14h-5"],[6,"M16 16v-3.5a2.5 2.5 0 0 1 5 0V16"],[6,"M4.5 13h6"],[6,"m3 16 4.5-9 4.5 9"]],accessibility:[[1,16,4,1],[6,"m18 19 1-7-6 1"],[6,"m5 8 3-3 5.5 3-2.36 3.5"],[6,"M4.24 14.5a5 5 0 0 0 6.88 6"],[6,"M13.76 17.5a5 5 0 0 0-6.88-6"]],activity:[[6,"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"]],"activity-square":[[5,3,3,18,18,2],[6,"M17 12h-2l-2 5-2-10-2 5H7"]],"air-vent":[[6,"M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"],[6,"M6 8h12"],[6,"M18.3 17.7a2.5 2.5 0 0 1-3.16 3.83 2.53 2.53 0 0 1-1.14-2V12"],[6,"M6.6 15.6A2 2 0 1 0 10 17v-5"]],airplay:[[6,"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1"],[6,"m12 15 5 6H7Z"]],"alarm-check":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"m9 13 2 2 4-4"]],"alarm-clock":[[1,12,13,8],[6,"M12 9v4l2 2"],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"]],"alarm-clock-check":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"m9 13 2 2 4-4"]],"alarm-clock-minus":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"M9 13h6"]],"alarm-clock-off":[[6,"M6.87 6.87a8 8 0 1 0 11.26 11.26"],[6,"M19.9 14.25a8 8 0 0 0-9.15-9.15"],[6,"m22 6-3-3"],[6,"M6.26 18.67 4 21"],[6,"m2 2 20 20"],[6,"M4 4 2 6"]],"alarm-clock-plus":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"M12 10v6"],[6,"M9 13h6"]],"alarm-minus":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"M9 13h6"]],"alarm-plus":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"M12 10v6"],[6,"M9 13h6"]],"alarm-smoke":[[6,"M11 21c0-2.5 2-2.5 2-5"],[6,"M16 21c0-2.5 2-2.5 2-5"],[6,"m19 8-.8 3a1.25 1.25 0 0 1-1.2 1H7a1.25 1.25 0 0 1-1.2-1L5 8"],[6,"M21 3a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1z"],[6,"M6 21c0-2.5 2-2.5 2-5"]],album:[[5,3,3,18,18,2,2],[2,"11 3 11 11 14 8 17 11 17 3"]],"alert-circle":[[1,12,12,10],[0,12,8,12,12],[0,12,16,12.01,16]],"alert-octagon":[[6,"M12 16h.01"],[6,"M12 8v4"],[6,"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z"]],"alert-triangle":[[6,"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"],[6,"M12 9v4"],[6,"M12 17h.01"]],"align-center":[[0,21,6,3,6],[0,17,12,7,12],[0,19,18,5,18]],"align-center-horizontal":[[6,"M2 12h20"],[6,"M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4"],[6,"M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4"],[6,"M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1"],[6,"M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1"]],"align-center-vertical":[[6,"M12 2v20"],[6,"M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4"],[6,"M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4"],[6,"M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1"],[6,"M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1"]],"align-end-horizontal":[[5,4,2,6,16,2],[5,14,9,6,9,2],[6,"M22 22H2"]],"align-end-vertical":[[5,2,4,16,6,2],[5,9,14,9,6,2],[6,"M22 22V2"]],"align-horizontal-distribute-center":[[5,4,5,6,14,2],[5,14,7,6,10,2],[6,"M17 22v-5"],[6,"M17 7V2"],[6,"M7 22v-3"],[6,"M7 5V2"]],"align-horizontal-distribute-end":[[5,4,5,6,14,2],[5,14,7,6,10,2],[6,"M10 2v20"],[6,"M20 2v20"]],"align-horizontal-distribute-start":[[5,4,5,6,14,2],[5,14,7,6,10,2],[6,"M4 2v20"],[6,"M14 2v20"]],"align-horizontal-justify-center":[[5,2,5,6,14,2],[5,16,7,6,10,2],[6,"M12 2v20"]],"align-horizontal-justify-end":[[5,2,5,6,14,2],[5,12,7,6,10,2],[6,"M22 2v20"]],"align-horizontal-justify-start":[[5,6,5,6,14,2],[5,16,7,6,10,2],[6,"M2 2v20"]],"align-horizontal-space-around":[[5,9,7,6,10,2],[6,"M4 22V2"],[6,"M20 22V2"]],"align-horizontal-space-between":[[5,3,5,6,14,2],[5,15,7,6,10,2],[6,"M3 2v20"],[6,"M21 2v20"]],"align-justify":[[0,3,6,21,6],[0,3,12,21,12],[0,3,18,21,18]],"align-left":[[0,21,6,3,6],[0,15,12,3,12],[0,17,18,3,18]],"align-right":[[0,21,6,3,6],[0,21,12,9,12],[0,21,18,7,18]],"align-start-horizontal":[[5,4,6,6,16,2],[5,14,6,6,9,2],[6,"M22 2H2"]],"align-start-vertical":[[5,6,14,9,6,2],[5,6,4,16,6,2],[6,"M2 2v20"]],"align-vertical-distribute-center":[[6,"M22 17h-3"],[6,"M22 7h-5"],[6,"M5 17H2"],[6,"M7 7H2"],[5,5,14,14,6,2],[5,7,4,10,6,2]],"align-vertical-distribute-end":[[5,5,14,14,6,2],[5,7,4,10,6,2],[6,"M2 20h20"],[6,"M2 10h20"]],"align-vertical-distribute-start":[[5,5,14,14,6,2],[5,7,4,10,6,2],[6,"M2 14h20"],[6,"M2 4h20"]],"align-vertical-justify-center":[[5,5,16,14,6,2],[5,7,2,10,6,2],[6,"M2 12h20"]],"align-vertical-justify-end":[[5,5,12,14,6,2],[5,7,2,10,6,2],[6,"M2 22h20"]],"align-vertical-justify-start":[[5,5,16,14,6,2],[5,7,6,10,6,2],[6,"M2 2h20"]],"align-vertical-space-around":[[5,7,9,10,6,2],[6,"M22 20H2"],[6,"M22 4H2"]],"align-vertical-space-between":[[5,5,15,14,6,2],[5,7,3,10,6,2],[6,"M2 21h20"],[6,"M2 3h20"]],ambulance:[[6,"M10 10H6"],[6,"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2"],[6,"M19 18h2a1 1 0 0 0 1-1v-3.28a1 1 0 0 0-.684-.948l-1.923-.641a1 1 0 0 1-.578-.502l-1.539-3.076A1 1 0 0 0 16.382 8H14"],[6,"M8 8v4"],[6,"M9 18h6"],[1,17,18,2],[1,7,18,2]],ampersand:[[6,"M17.5 12c0 4.4-3.6 8-8 8A4.5 4.5 0 0 1 5 15.5c0-6 8-4 8-8.5a3 3 0 1 0-6 0c0 3 2.5 8.5 12 13"],[6,"M16 12h3"]],ampersands:[[6,"M10 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5"],[6,"M22 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5"]],amphora:[[6,"M10 2v5.632c0 .424-.272.795-.653.982A6 6 0 0 0 6 14c.006 4 3 7 5 8"],[6,"M10 5H8a2 2 0 0 0 0 4h.68"],[6,"M14 2v5.632c0 .424.272.795.652.982A6 6 0 0 1 18 14c0 4-3 7-5 8"],[6,"M14 5h2a2 2 0 0 1 0 4h-.68"],[6,"M18 22H6"],[6,"M9 2h6"]],anchor:[[6,"M12 22V8"],[6,"M5 12H2a10 10 0 0 0 20 0h-3"],[1,12,5,3]],angry:[[1,12,12,10],[6,"M16 16s-1.5-2-4-2-4 2-4 2"],[6,"M7.5 8 10 9"],[6,"m14 9 2.5-1"],[6,"M9 10h.01"],[6,"M15 10h.01"]],annoyed:[[1,12,12,10],[6,"M8 15h8"],[6,"M8 9h2"],[6,"M14 9h2"]],antenna:[[6,"M2 12 7 2"],[6,"m7 12 5-10"],[6,"m12 12 5-10"],[6,"m17 12 5-10"],[6,"M4.5 7h15"],[6,"M12 16v6"]],anvil:[[6,"M7 10H6a4 4 0 0 1-4-4 1 1 0 0 1 1-1h4"],[6,"M7 5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1 7 7 0 0 1-7 7H8a1 1 0 0 1-1-1z"],[6,"M9 12v5"],[6,"M15 12v5"],[6,"M5 20a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3 1 1 0 0 1-1 1H6a1 1 0 0 1-1-1"]],aperture:[[1,12,12,10],[6,"m14.31 8 5.74 9.94"],[6,"M9.69 8h11.48"],[6,"m7.38 12 5.74-9.94"],[6,"M9.69 16 3.95 6.06"],[6,"M14.31 16H2.83"],[6,"m16.62 12-5.74 9.94"]],"app-window":[[5,2,4,20,16,2],[6,"M10 4v4"],[6,"M2 8h20"],[6,"M6 4v4"]],"app-window-mac":[[5,2,4,20,16,2],[6,"M6 8h.01"],[6,"M10 8h.01"],[6,"M14 8h.01"]],apple:[[6,"M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z"],[6,"M10 2c1 .5 2 2 2 5"]],archive:[[5,2,3,20,5,1],[6,"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"],[6,"M10 12h4"]],"archive-restore":[[5,2,3,20,5,1],[6,"M4 8v11a2 2 0 0 0 2 2h2"],[6,"M20 8v11a2 2 0 0 1-2 2h-2"],[6,"m9 15 3-3 3 3"],[6,"M12 12v9"]],"archive-x":[[5,2,3,20,5,1],[6,"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"],[6,"m9.5 17 5-5"],[6,"m9.5 12 5 5"]],"area-chart":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z"]],armchair:[[6,"M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3"],[6,"M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z"],[6,"M5 18v2"],[6,"M19 18v2"]],"arrow-big-down":[[6,"M15 6v6h4l-7 7-7-7h4V6h6z"]],"arrow-big-down-dash":[[6,"M15 5H9"],[6,"M15 9v3h4l-7 7-7-7h4V9z"]],"arrow-big-left":[[6,"M18 15h-6v4l-7-7 7-7v4h6v6z"]],"arrow-big-left-dash":[[6,"M19 15V9"],[6,"M15 15h-3v4l-7-7 7-7v4h3v6z"]],"arrow-big-right":[[6,"M6 9h6V5l7 7-7 7v-4H6V9z"]],"arrow-big-right-dash":[[6,"M5 9v6"],[6,"M9 9h3V5l7 7-7 7v-4H9V9z"]],"arrow-big-up":[[6,"M9 18v-6H5l7-7 7 7h-4v6H9z"]],"arrow-big-up-dash":[[6,"M9 19h6"],[6,"M9 15v-3H5l7-7 7 7h-4v3H9z"]],"arrow-down":[[6,"M12 5v14"],[6,"m19 12-7 7-7-7"]],"arrow-down-01":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[5,15,4,4,6,0,2],[6,"M17 20v-6h-2"],[6,"M15 20h4"]],"arrow-down-10":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M17 10V4h-2"],[6,"M15 10h4"],[5,15,14,4,6,0,2]],"arrow-down-az":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M20 8h-5"],[6,"M15 10V6.5a2.5 2.5 0 0 1 5 0V10"],[6,"M15 14h5l-5 6h5"]],"arrow-down-circle":[[1,12,12,10],[6,"M12 8v8"],[6,"m8 12 4 4 4-4"]],"arrow-down-from-line":[[6,"M19 3H5"],[6,"M12 21V7"],[6,"m6 15 6 6 6-6"]],"arrow-down-left":[[6,"M17 7 7 17"],[6,"M17 17H7V7"]],"arrow-down-left-from-circle":[[6,"M2 12a10 10 0 1 1 10 10"],[6,"m2 22 10-10"],[6,"M8 22H2v-6"]],"arrow-down-left-from-square":[[6,"M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6"],[6,"m3 21 9-9"],[6,"M9 21H3v-6"]],"arrow-down-left-square":[[5,3,3,18,18,2],[6,"m16 8-8 8"],[6,"M16 16H8V8"]],"arrow-down-narrow-wide":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M11 4h4"],[6,"M11 8h7"],[6,"M11 12h10"]],"arrow-down-right":[[6,"m7 7 10 10"],[6,"M17 7v10H7"]],"arrow-down-right-from-circle":[[6,"M12 22a10 10 0 1 1 10-10"],[6,"M22 22 12 12"],[6,"M22 16v6h-6"]],"arrow-down-right-from-square":[[6,"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"],[6,"m21 21-9-9"],[6,"M21 15v6h-6"]],"arrow-down-right-square":[[5,3,3,18,18,2],[6,"m8 8 8 8"],[6,"M16 8v8H8"]],"arrow-down-square":[[5,3,3,18,18,2],[6,"M12 8v8"],[6,"m8 12 4 4 4-4"]],"arrow-down-to-dot":[[6,"M12 2v14"],[6,"m19 9-7 7-7-7"],[1,12,21,1]],"arrow-down-to-line":[[6,"M12 17V3"],[6,"m6 11 6 6 6-6"],[6,"M19 21H5"]],"arrow-down-up":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"m21 8-4-4-4 4"],[6,"M17 4v16"]],"arrow-down-wide-narrow":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M11 4h10"],[6,"M11 8h7"],[6,"M11 12h4"]],"arrow-down-za":[[6,"m3 16 4 4 4-4"],[6,"M7 4v16"],[6,"M15 4h5l-5 6h5"],[6,"M15 20v-3.5a2.5 2.5 0 0 1 5 0V20"],[6,"M20 18h-5"]],"arrow-left":[[6,"m12 19-7-7 7-7"],[6,"M19 12H5"]],"arrow-left-circle":[[1,12,12,10],[6,"M16 12H8"],[6,"m12 8-4 4 4 4"]],"arrow-left-from-line":[[6,"m9 6-6 6 6 6"],[6,"M3 12h14"],[6,"M21 19V5"]],"arrow-left-right":[[6,"M8 3 4 7l4 4"],[6,"M4 7h16"],[6,"m16 21 4-4-4-4"],[6,"M20 17H4"]],"arrow-left-square":[[5,3,3,18,18,2],[6,"m12 8-4 4 4 4"],[6,"M16 12H8"]],"arrow-left-to-line":[[6,"M3 19V5"],[6,"m13 6-6 6 6 6"],[6,"M7 12h14"]],"arrow-right":[[6,"M5 12h14"],[6,"m12 5 7 7-7 7"]],"arrow-right-circle":[[1,12,12,10],[6,"M8 12h8"],[6,"m12 16 4-4-4-4"]],"arrow-right-from-line":[[6,"M3 5v14"],[6,"M21 12H7"],[6,"m15 18 6-6-6-6"]],"arrow-right-left":[[6,"m16 3 4 4-4 4"],[6,"M20 7H4"],[6,"m8 21-4-4 4-4"],[6,"M4 17h16"]],"arrow-right-square":[[5,3,3,18,18,2],[6,"M8 12h8"],[6,"m12 16 4-4-4-4"]],"arrow-right-to-line":[[6,"M17 12H3"],[6,"m11 18 6-6-6-6"],[6,"M21 5v14"]],"arrow-up":[[6,"m5 12 7-7 7 7"],[6,"M12 19V5"]],"arrow-up-01":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[5,15,4,4,6,0,2],[6,"M17 20v-6h-2"],[6,"M15 20h4"]],"arrow-up-10":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M17 10V4h-2"],[6,"M15 10h4"],[5,15,14,4,6,0,2]],"arrow-up-az":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M20 8h-5"],[6,"M15 10V6.5a2.5 2.5 0 0 1 5 0V10"],[6,"M15 14h5l-5 6h5"]],"arrow-up-circle":[[1,12,12,10],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"]],"arrow-up-down":[[6,"m21 16-4 4-4-4"],[6,"M17 20V4"],[6,"m3 8 4-4 4 4"],[6,"M7 4v16"]],"arrow-up-from-dot":[[6,"m5 9 7-7 7 7"],[6,"M12 16V2"],[1,12,21,1]],"arrow-up-from-line":[[6,"m18 9-6-6-6 6"],[6,"M12 3v14"],[6,"M5 21h14"]],"arrow-up-left":[[6,"M7 17V7h10"],[6,"M17 17 7 7"]],"arrow-up-left-from-circle":[[6,"M2 8V2h6"],[6,"m2 2 10 10"],[6,"M12 2A10 10 0 1 1 2 12"]],"arrow-up-left-from-square":[[6,"M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6"],[6,"m3 3 9 9"],[6,"M3 9V3h6"]],"arrow-up-left-square":[[5,3,3,18,18,2],[6,"M8 16V8h8"],[6,"M16 16 8 8"]],"arrow-up-narrow-wide":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M11 12h4"],[6,"M11 16h7"],[6,"M11 20h10"]],"arrow-up-right":[[6,"M7 7h10v10"],[6,"M7 17 17 7"]],"arrow-up-right-from-circle":[[6,"M22 12A10 10 0 1 1 12 2"],[6,"M22 2 12 12"],[6,"M16 2h6v6"]],"arrow-up-right-from-square":[[6,"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6"],[6,"m21 3-9 9"],[6,"M15 3h6v6"]],"arrow-up-right-square":[[5,3,3,18,18,2],[6,"M8 8h8v8"],[6,"m8 16 8-8"]],"arrow-up-square":[[5,3,3,18,18,2],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"]],"arrow-up-to-line":[[6,"M5 3h14"],[6,"m18 13-6-6-6 6"],[6,"M12 7v14"]],"arrow-up-wide-narrow":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M11 12h10"],[6,"M11 16h7"],[6,"M11 20h4"]],"arrow-up-za":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M15 4h5l-5 6h5"],[6,"M15 20v-3.5a2.5 2.5 0 0 1 5 0V20"],[6,"M20 18h-5"]],"arrows-up-from-line":[[6,"m4 6 3-3 3 3"],[6,"M7 17V3"],[6,"m14 6 3-3 3 3"],[6,"M17 17V3"],[6,"M4 21h16"]],asterisk:[[6,"M12 6v12"],[6,"M17.196 9 6.804 15"],[6,"m6.804 9 10.392 6"]],"asterisk-square":[[5,3,3,18,18,2],[6,"M12 8v8"],[6,"m8.5 14 7-4"],[6,"m8.5 10 7 4"]],"at-sign":[[1,12,12,4],[6,"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8"]],atom:[[1,12,12,1],[6,"M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z"],[6,"M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z"]],"audio-lines":[[6,"M2 10v3"],[6,"M6 6v11"],[6,"M10 3v18"],[6,"M14 8v7"],[6,"M18 5v13"],[6,"M22 10v3"]],"audio-waveform":[[6,"M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2"]],award:[[6,"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526"],[1,12,8,6]],axe:[[6,"m14 12-8.5 8.5a2.12 2.12 0 1 1-3-3L11 9"],[6,"M15 13 9 7l4-4 6 6h3a8 8 0 0 1-7 7z"]],"axis-3d":[[6,"M4 4v16h16"],[6,"m4 20 7-7"]],baby:[[6,"M9 12h.01"],[6,"M15 12h.01"],[6,"M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5"],[6,"M19 6.3a9 9 0 0 1 1.8 3.9 2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1"]],backpack:[[6,"M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z"],[6,"M8 10h8"],[6,"M8 18h8"],[6,"M8 22v-6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v6"],[6,"M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2"]],badge:[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"]],"badge-alert":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,12,8,12,12],[0,12,16,12.01,16]],"badge-cent":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M12 7v10"],[6,"M15.4 10a4 4 0 1 0 0 4"]],"badge-check":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"m9 12 2 2 4-4"]],"badge-dollar-sign":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"],[6,"M12 18V6"]],"badge-euro":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M7 12h5"],[6,"M15 9.4a4 4 0 1 0 0 5.2"]],"badge-help":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"],[0,12,17,12.01,17]],"badge-indian-rupee":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M8 8h8"],[6,"M8 12h8"],[6,"m13 17-5-1h1a4 4 0 0 0 0-8"]],"badge-info":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,12,16,12,12],[0,12,8,12.01,8]],"badge-japanese-yen":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"m9 8 3 3v7"],[6,"m12 11 3-3"],[6,"M9 12h6"],[6,"M9 16h6"]],"badge-minus":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,8,12,16,12]],"badge-percent":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"badge-plus":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,12,8,12,16],[0,8,12,16,12]],"badge-pound-sterling":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M8 12h4"],[6,"M10 16V9.5a2.5 2.5 0 0 1 5 0"],[6,"M8 16h7"]],"badge-russian-ruble":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M9 16h5"],[6,"M9 12h5a2 2 0 1 0 0-4h-3v9"]],"badge-swiss-franc":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M11 17V8h4"],[6,"M11 12h3"],[6,"M9 16h4"]],"badge-x":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,15,9,9,15],[0,9,9,15,15]],"baggage-claim":[[6,"M22 18H6a2 2 0 0 1-2-2V7a2 2 0 0 0-2-2"],[6,"M17 14V4a2 2 0 0 0-2-2h-1a2 2 0 0 0-2 2v10"],[5,8,6,13,8,1],[1,18,20,2],[1,9,20,2]],ban:[[1,12,12,10],[6,"m4.9 4.9 14.2 14.2"]],banana:[[6,"M4 13c3.5-2 8-2 10 2a5.5 5.5 0 0 1 8 5"],[6,"M5.15 17.89c5.52-1.52 8.65-6.89 7-12C11.55 4 11.5 2 13 2c3.22 0 5 5.5 5 8 0 6.5-4.2 12-10.49 12C5.11 22 2 22 2 20c0-1.5 1.14-1.55 3.15-2.11Z"]],bandage:[[6,"M10 10.01h.01"],[6,"M10 14.01h.01"],[6,"M14 10.01h.01"],[6,"M14 14.01h.01"],[6,"M18 6v11.5"],[6,"M6 6v12"],[5,2,6,20,12,2]],banknote:[[5,2,6,20,12,2],[1,12,12,2],[6,"M6 12h.01M18 12h.01"]],"bar-chart":[[0,12,20,12,10],[0,18,20,18,4],[0,6,20,6,16]],"bar-chart-2":[[0,18,20,18,10],[0,12,20,12,4],[0,6,20,6,14]],"bar-chart-3":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M18 17V9"],[6,"M13 17V5"],[6,"M8 17v-3"]],"bar-chart-4":[[6,"M13 17V9"],[6,"M18 17V5"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M8 17v-3"]],"bar-chart-big":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,15,5,4,12,1],[5,7,8,4,9,1]],"bar-chart-horizontal":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 16h8"],[6,"M7 11h12"],[6,"M7 6h3"]],"bar-chart-horizontal-big":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,7,13,9,4,1],[5,7,5,12,4,1]],barcode:[[6,"M3 5v14"],[6,"M8 5v14"],[6,"M12 5v14"],[6,"M17 5v14"],[6,"M21 5v14"]],baseline:[[6,"M4 20h16"],[6,"m6 16 6-12 6 12"],[6,"M8 12h8"]],bath:[[6,"M9 6 6.5 3.5a1.5 1.5 0 0 0-1-.5C4.683 3 4 3.683 4 4.5V17a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5"],[0,10,5,8,7],[0,2,12,22,12],[0,7,19,7,21],[0,17,19,17,21]],battery:[[5,2,7,16,10,2,2],[0,22,11,22,13]],"battery-charging":[[6,"M15 7h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2"],[6,"M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h1"],[6,"m11 7-3 5h4l-3 5"],[0,22,11,22,13]],"battery-full":[[5,2,7,16,10,2,2],[0,22,11,22,13],[0,6,11,6,13],[0,10,11,10,13],[0,14,11,14,13]],"battery-low":[[5,2,7,16,10,2,2],[0,22,11,22,13],[0,6,11,6,13]],"battery-medium":[[5,2,7,16,10,2,2],[0,22,11,22,13],[0,6,11,6,13],[0,10,11,10,13]],"battery-warning":[[6,"M10 17h.01"],[6,"M10 7v6"],[6,"M14 7h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2"],[6,"M22 11v2"],[6,"M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2"]],beaker:[[6,"M4.5 3h15"],[6,"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3"],[6,"M6 14h12"]],bean:[[6,"M10.165 6.598C9.954 7.478 9.64 8.36 9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22c7.732 0 14-6.268 14-14a6 6 0 0 0-11.835-1.402Z"],[6,"M5.341 10.62a4 4 0 1 0 5.279-5.28"]],"bean-off":[[6,"M9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22a13.96 13.96 0 0 0 9.9-4.1"],[6,"M10.75 5.093A6 6 0 0 1 22 8c0 2.411-.61 4.68-1.683 6.66"],[6,"M5.341 10.62a4 4 0 0 0 6.487 1.208M10.62 5.341a4.015 4.015 0 0 1 2.039 2.04"],[0,2,2,22,22]],bed:[[6,"M2 4v16"],[6,"M2 8h18a2 2 0 0 1 2 2v10"],[6,"M2 17h20"],[6,"M6 8v9"]],"bed-double":[[6,"M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8"],[6,"M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4"],[6,"M12 4v6"],[6,"M2 18h20"]],"bed-single":[[6,"M3 20v-8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8"],[6,"M5 10V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4"],[6,"M3 18h18"]],beef:[[1,12.5,8.5,2.5],[6,"M12.5 2a6.5 6.5 0 0 0-6.22 4.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3A6.5 6.5 0 0 0 12.5 2Z"],[6,"m18.5 6 2.19 4.5a6.48 6.48 0 0 1 .31 2 6.49 6.49 0 0 1-2.6 5.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5"]],beer:[[6,"M17 11h1a3 3 0 0 1 0 6h-1"],[6,"M9 12v6"],[6,"M13 12v6"],[6,"M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z"],[6,"M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8"]],"beer-off":[[6,"M13 13v5"],[6,"M17 11.47V8"],[6,"M17 11h1a3 3 0 0 1 2.745 4.211"],[6,"m2 2 20 20"],[6,"M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3"],[6,"M7.536 7.535C6.766 7.649 6.154 8 5.5 8a2.5 2.5 0 0 1-1.768-4.268"],[6,"M8.727 3.204C9.306 2.767 9.885 2 11 2c1.56 0 2 1.5 3 1.5s1.72-.5 2.5-.5a1 1 0 1 1 0 5c-.78 0-1.5-.5-2.5-.5a3.149 3.149 0 0 0-.842.12"],[6,"M9 14.6V18"]],bell:[[6,"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"]],"bell-dot":[[6,"M19.4 14.9C20.2 16.4 21 17 21 17H3s3-2 3-9c0-3.3 2.7-6 6-6 .7 0 1.3.1 1.9.3"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[1,18,8,3]],"bell-electric":[[6,"M18.8 4A6.3 8.7 0 0 1 20 9"],[6,"M9 9h.01"],[1,9,9,7],[5,4,16,10,6,2],[6,"M14 19c3 0 4.6-1.6 4.6-1.6"],[1,20,16,2]],"bell-minus":[[6,"M18.4 12c.8 3.8 2.6 5 2.6 5H3s3-2 3-9c0-3.3 2.7-6 6-6 1.8 0 3.4.8 4.5 2"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[6,"M15 8h6"]],"bell-off":[[6,"M8.7 3A6 6 0 0 1 18 8a21.3 21.3 0 0 0 .6 5"],[6,"M17 17H3s3-2 3-9a4.67 4.67 0 0 1 .3-1.7"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[6,"m2 2 20 20"]],"bell-plus":[[6,"M19.3 14.8C20.1 16.4 21 17 21 17H3s3-2 3-9c0-3.3 2.7-6 6-6 1 0 1.9.2 2.8.7"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[6,"M15 8h6"],[6,"M18 5v6"]],"bell-ring":[[6,"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[6,"M4 2C2.8 3.7 2 5.7 2 8"],[6,"M22 8c0-2.3-.8-4.3-2-6"]],"between-horizonal-end":[[5,3,3,13,7,1],[6,"m22 15-3-3 3-3"],[5,3,14,13,7,1]],"between-horizonal-start":[[5,8,3,13,7,1],[6,"m2 9 3 3-3 3"],[5,8,14,13,7,1]],"between-horizontal-end":[[5,3,3,13,7,1],[6,"m22 15-3-3 3-3"],[5,3,14,13,7,1]],"between-horizontal-start":[[5,8,3,13,7,1],[6,"m2 9 3 3-3 3"],[5,8,14,13,7,1]],"between-vertical-end":[[5,3,3,7,13,1],[6,"m9 22 3-3 3 3"],[5,14,3,7,13,1]],"between-vertical-start":[[5,3,8,7,13,1],[6,"m15 2-3 3-3-3"],[5,14,8,7,13,1]],"biceps-flexed":[[6,"M12.409 13.017A5 5 0 0 1 22 15c0 3.866-4 7-9 7-4.077 0-8.153-.82-10.371-2.462-.426-.316-.631-.832-.62-1.362C2.118 12.723 2.627 2 10 2a3 3 0 0 1 3 3 2 2 0 0 1-2 2c-1.105 0-1.64-.444-2-1"],[6,"M15 14a5 5 0 0 0-7.584 2"],[6,"M9.964 6.825C8.019 7.977 9.5 13 8 15"]],bike:[[1,18.5,17.5,3.5],[1,5.5,17.5,3.5],[1,15,5,1],[6,"M12 17.5V14l-3-3 4-3 2 3h2"]],binary:[[5,14,14,4,6,2],[5,6,4,4,6,2],[6,"M6 20h4"],[6,"M14 10h4"],[6,"M6 14h2v6"],[6,"M14 4h2v6"]],binoculars:[[6,"M10 10h4"],[6,"M19 7V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3"],[6,"M20 21a2 2 0 0 0 2-2v-3.851c0-1.39-2-2.962-2-4.829V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2z"],[6,"M 22 16 L 2 16"],[6,"M4 21a2 2 0 0 1-2-2v-3.851c0-1.39 2-2.962 2-4.829V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11a2 2 0 0 1-2 2z"],[6,"M9 7V4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3"]],biohazard:[[1,12,11.9,2],[6,"M6.7 3.4c-.9 2.5 0 5.2 2.2 6.7C6.5 9 3.7 9.6 2 11.6"],[6,"m8.9 10.1 1.4.8"],[6,"M17.3 3.4c.9 2.5 0 5.2-2.2 6.7 2.4-1.2 5.2-.6 6.9 1.5"],[6,"m15.1 10.1-1.4.8"],[6,"M16.7 20.8c-2.6-.4-4.6-2.6-4.7-5.3-.2 2.6-2.1 4.8-4.7 5.2"],[6,"M12 13.9v1.6"],[6,"M13.5 5.4c-1-.2-2-.2-3 0"],[6,"M17 16.4c.7-.7 1.2-1.6 1.5-2.5"],[6,"M5.5 13.9c.3.9.8 1.8 1.5 2.5"]],bird:[[6,"M16 7h.01"],[6,"M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20"],[6,"m20 7 2 .5-2 .5"],[6,"M10 18v3"],[6,"M14 17.75V21"],[6,"M7 18a6 6 0 0 0 3.84-10.61"]],bitcoin:[[6,"M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727"]],blend:[[1,9,9,7],[1,15,15,7]],blinds:[[6,"M3 3h18"],[6,"M20 7H8"],[6,"M20 11H8"],[6,"M10 19h10"],[6,"M8 15h12"],[6,"M4 3v14"],[1,4,19,2]],blocks:[[5,14,3,7,7,1],[6,"M10 21V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H3"]],bluetooth:[[6,"m7 7 10 10-5 5V2l5 5L7 17"]],"bluetooth-connected":[[6,"m7 7 10 10-5 5V2l5 5L7 17"],[0,18,12,21,12],[0,3,12,6,12]],"bluetooth-off":[[6,"m17 17-5 5V12l-5 5"],[6,"m2 2 20 20"],[6,"M14.5 9.5 17 7l-5-5v4.5"]],"bluetooth-searching":[[6,"m7 7 10 10-5 5V2l5 5L7 17"],[6,"M20.83 14.83a4 4 0 0 0 0-5.66"],[6,"M18 12h.01"]],bold:[[6,"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8"]],bolt:[[6,"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"],[1,12,12,4]],bomb:[[1,11,13,9],[6,"M14.35 4.65 16.3 2.7a2.41 2.41 0 0 1 3.4 0l1.6 1.6a2.4 2.4 0 0 1 0 3.4l-1.95 1.95"],[6,"m22 2-1.5 1.5"]],bone:[[6,"M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z"]],book:[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"]],"book-a":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m8 13 4-7 4 7"],[6,"M9.1 11h5.7"]],"book-audio":[[6,"M12 6v7"],[6,"M16 8v3"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M8 8v3"]],"book-check":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m9 9.5 2 2 4-4"]],"book-copy":[[6,"M2 16V4a2 2 0 0 1 2-2h11"],[6,"M22 18H11a2 2 0 1 0 0 4h10.5a.5.5 0 0 0 .5-.5v-15a.5.5 0 0 0-.5-.5H11a2 2 0 0 0-2 2v12"],[6,"M5 14H4a2 2 0 1 0 0 4h1"]],"book-dashed":[[6,"M12 17h2"],[6,"M12 22h2"],[6,"M12 2h2"],[6,"M18 22h1a1 1 0 0 0 1-1"],[6,"M18 2h1a1 1 0 0 1 1 1v1"],[6,"M20 15v2h-2"],[6,"M20 8v3"],[6,"M4 11V9"],[6,"M4 19.5V15"],[6,"M4 5v-.5A2.5 2.5 0 0 1 6.5 2H8"],[6,"M8 22H6.5a1 1 0 0 1 0-5H8"]],"book-down":[[6,"M12 13V7"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m9 10 3 3 3-3"]],"book-headphones":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M8 12v-2a4 4 0 0 1 8 0v2"],[1,15,12,1],[1,9,12,1]],"book-heart":[[6,"M16 8.2A2.22 2.22 0 0 0 13.8 6c-.8 0-1.4.3-1.8.9-.4-.6-1-.9-1.8-.9A2.22 2.22 0 0 0 8 8.2c0 .6.3 1.2.7 1.6A226.652 226.652 0 0 0 12 13a404 404 0 0 0 3.3-3.1 2.413 2.413 0 0 0 .7-1.7"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"]],"book-image":[[6,"m20 13.7-2.1-2.1a2 2 0 0 0-2.8 0L9.7 17"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[1,10,8,2]],"book-key":[[6,"m19 3 1 1"],[6,"m20 2-4.5 4.5"],[6,"M20 8v13a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H14"],[1,14,8,2]],"book-lock":[[6,"M18 6V4a2 2 0 1 0-4 0v2"],[6,"M20 15v6a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H10"],[5,12,6,8,5,1]],"book-marked":[[6,"M10 2v8l3-3 3 3V2"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"]],"book-minus":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M9 10h6"]],"book-open":[[6,"M12 7v14"],[6,"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"]],"book-open-check":[[6,"M12 21V7"],[6,"m16 12 2 2 4-4"],[6,"M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3"]],"book-open-text":[[6,"M12 7v14"],[6,"M16 12h2"],[6,"M16 8h2"],[6,"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"],[6,"M6 12h2"],[6,"M6 8h2"]],"book-plus":[[6,"M12 7v6"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M9 10h6"]],"book-template":[[6,"M12 17h2"],[6,"M12 22h2"],[6,"M12 2h2"],[6,"M18 22h1a1 1 0 0 0 1-1"],[6,"M18 2h1a1 1 0 0 1 1 1v1"],[6,"M20 15v2h-2"],[6,"M20 8v3"],[6,"M4 11V9"],[6,"M4 19.5V15"],[6,"M4 5v-.5A2.5 2.5 0 0 1 6.5 2H8"],[6,"M8 22H6.5a1 1 0 0 1 0-5H8"]],"book-text":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M8 11h8"],[6,"M8 7h6"]],"book-type":[[6,"M10 13h4"],[6,"M12 6v7"],[6,"M16 8V6H8v2"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"]],"book-up":[[6,"M12 13V7"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m9 10 3-3 3 3"]],"book-up-2":[[6,"M12 13V7"],[6,"M18 2h1a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2"],[6,"m9 10 3-3 3 3"],[6,"m9 5 3-3 3 3"]],"book-user":[[6,"M15 13a3 3 0 1 0-6 0"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[1,12,8,2]],"book-x":[[6,"m14.5 7-5 5"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m9.5 7 5 5"]],bookmark:[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z"]],"bookmark-check":[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z"],[6,"m9 10 2 2 4-4"]],"bookmark-minus":[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z"],[0,15,10,9,10]],"bookmark-plus":[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z"],[0,12,7,12,13],[0,15,10,9,10]],"bookmark-x":[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z"],[6,"m14.5 7.5-5 5"],[6,"m9.5 7.5 5 5"]],"boom-box":[[6,"M4 9V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4"],[6,"M8 8v1"],[6,"M12 8v1"],[6,"M16 8v1"],[5,2,9,20,12,2],[1,8,15,2],[1,16,15,2]],bot:[[6,"M12 8V4H8"],[5,4,8,16,12,2],[6,"M2 14h2"],[6,"M20 14h2"],[6,"M15 13v2"],[6,"M9 13v2"]],"bot-message-square":[[6,"M12 6V2H8"],[6,"m8 18-4 4V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2Z"],[6,"M2 12h2"],[6,"M9 11v2"],[6,"M15 11v2"],[6,"M20 12h2"]],"bot-off":[[6,"M13.67 8H18a2 2 0 0 1 2 2v4.33"],[6,"M2 14h2"],[6,"M20 14h2"],[6,"M22 22 2 2"],[6,"M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586"],[6,"M9 13v2"],[6,"M9.67 4H12v2.33"]],box:[[6,"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"],[6,"m3.3 7 8.7 5 8.7-5"],[6,"M12 22V12"]],"box-select":[[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h1"],[6,"M14 3h1"],[6,"M14 21h1"],[6,"M3 9v1"],[6,"M21 9v1"],[6,"M3 14v1"],[6,"M21 14v1"]],boxes:[[6,"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z"],[6,"m7 16.5-4.74-2.85"],[6,"m7 16.5 5-3"],[6,"M7 16.5v5.17"],[6,"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z"],[6,"m17 16.5-5-3"],[6,"m17 16.5 4.74-2.85"],[6,"M17 16.5v5.17"],[6,"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z"],[6,"M12 8 7.26 5.15"],[6,"m12 8 4.74-2.85"],[6,"M12 13.5V8"]],braces:[[6,"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"],[6,"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"]],brackets:[[6,"M16 3h3v18h-3"],[6,"M8 21H5V3h3"]],brain:[[6,"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"],[6,"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z"],[6,"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4"],[6,"M17.599 6.5a3 3 0 0 0 .399-1.375"],[6,"M6.003 5.125A3 3 0 0 0 6.401 6.5"],[6,"M3.477 10.896a4 4 0 0 1 .585-.396"],[6,"M19.938 10.5a4 4 0 0 1 .585.396"],[6,"M6 18a4 4 0 0 1-1.967-.516"],[6,"M19.967 17.484A4 4 0 0 1 18 18"]],"brain-circuit":[[6,"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"],[6,"M9 13a4.5 4.5 0 0 0 3-4"],[6,"M6.003 5.125A3 3 0 0 0 6.401 6.5"],[6,"M3.477 10.896a4 4 0 0 1 .585-.396"],[6,"M6 18a4 4 0 0 1-1.967-.516"],[6,"M12 13h4"],[6,"M12 18h6a2 2 0 0 1 2 2v1"],[6,"M12 8h8"],[6,"M16 8V5a2 2 0 0 1 2-2"],[1,16,13,.5],[1,18,3,.5],[1,20,21,.5],[1,20,8,.5]],"brain-cog":[[6,"M12 5a3 3 0 1 0-5.997.142 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588 4 4 0 0 0 7.636 2.106 3.2 3.2 0 0 0 .164-.546c.028-.13.306-.13.335 0a3.2 3.2 0 0 0 .163.546 4 4 0 0 0 7.636-2.106 4 4 0 0 0 .556-6.588 4 4 0 0 0-2.526-5.77A3 3 0 1 0 12 5"],[6,"M17.599 6.5a3 3 0 0 0 .399-1.375"],[6,"M6.003 5.125A3 3 0 0 0 6.401 6.5"],[6,"M3.477 10.896a4 4 0 0 1 .585-.396"],[6,"M19.938 10.5a4 4 0 0 1 .585.396"],[6,"M6 18a4 4 0 0 1-1.967-.516"],[6,"M19.967 17.484A4 4 0 0 1 18 18"],[1,12,12,3],[6,"m15.7 10.4-.9.4"],[6,"m9.2 13.2-.9.4"],[6,"m13.6 15.7-.4-.9"],[6,"m10.8 9.2-.4-.9"],[6,"m15.7 13.5-.9-.4"],[6,"m9.2 10.9-.9-.4"],[6,"m10.5 15.7.4-.9"],[6,"m13.1 9.2.4-.9"]],"brick-wall":[[5,3,3,18,18,2],[6,"M12 9v6"],[6,"M16 15v6"],[6,"M16 3v6"],[6,"M3 15h18"],[6,"M3 9h18"],[6,"M8 15v6"],[6,"M8 3v6"]],briefcase:[[6,"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"],[5,2,6,20,14,2]],"briefcase-business":[[6,"M12 12h.01"],[6,"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2"],[6,"M22 13a18.15 18.15 0 0 1-20 0"],[5,2,6,20,14,2]],"briefcase-conveyor-belt":[[6,"M10 20v2"],[6,"M14 20v2"],[6,"M18 20v2"],[6,"M21 20H3"],[6,"M6 20v2"],[6,"M8 16V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v12"],[5,4,6,16,10,2]],"briefcase-medical":[[6,"M12 11v4"],[6,"M14 13h-4"],[6,"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2"],[6,"M18 6v14"],[6,"M6 6v14"],[5,2,6,20,14,2]],"bring-to-front":[[5,8,8,8,8,2],[6,"M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2"],[6,"M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2"]],brush:[[6,"m9.06 11.9 8.07-8.06a2.85 2.85 0 1 1 4.03 4.03l-8.06 8.08"],[6,"M7.07 14.94c-1.66 0-3 1.35-3 3.02 0 1.33-2.5 1.52-2 2.02 1.08 1.1 2.49 2.02 4 2.02 2.2 0 4-1.8 4-4.04a3.01 3.01 0 0 0-3-3.02z"]],bug:[[6,"m8 2 1.88 1.88"],[6,"M14.12 3.88 16 2"],[6,"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"],[6,"M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"],[6,"M12 20v-9"],[6,"M6.53 9C4.6 8.8 3 7.1 3 5"],[6,"M6 13H2"],[6,"M3 21c0-2.1 1.7-3.9 3.8-4"],[6,"M20.97 5c0 2.1-1.6 3.8-3.5 4"],[6,"M22 13h-4"],[6,"M17.2 17c2.1.1 3.8 1.9 3.8 4"]],"bug-off":[[6,"M15 7.13V6a3 3 0 0 0-5.14-2.1L8 2"],[6,"M14.12 3.88 16 2"],[6,"M22 13h-4v-2a4 4 0 0 0-4-4h-1.3"],[6,"M20.97 5c0 2.1-1.6 3.8-3.5 4"],[6,"m2 2 20 20"],[6,"M7.7 7.7A4 4 0 0 0 6 11v3a6 6 0 0 0 11.13 3.13"],[6,"M12 20v-8"],[6,"M6 13H2"],[6,"M3 21c0-2.1 1.7-3.9 3.8-4"]],"bug-play":[[6,"M12.765 21.522a.5.5 0 0 1-.765-.424v-8.196a.5.5 0 0 1 .765-.424l5.878 3.674a1 1 0 0 1 0 1.696z"],[6,"M14.12 3.88 16 2"],[6,"M18 11a4 4 0 0 0-4-4h-4a4 4 0 0 0-4 4v3a6.1 6.1 0 0 0 2 4.5"],[6,"M20.97 5c0 2.1-1.6 3.8-3.5 4"],[6,"M3 21c0-2.1 1.7-3.9 3.8-4"],[6,"M6 13H2"],[6,"M6.53 9C4.6 8.8 3 7.1 3 5"],[6,"m8 2 1.88 1.88"],[6,"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"]],building:[[5,4,2,16,20,2,2],[6,"M9 22v-4h6v4"],[6,"M8 6h.01"],[6,"M16 6h.01"],[6,"M12 6h.01"],[6,"M12 10h.01"],[6,"M12 14h.01"],[6,"M16 10h.01"],[6,"M16 14h.01"],[6,"M8 10h.01"],[6,"M8 14h.01"]],"building-2":[[6,"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z"],[6,"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2"],[6,"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2"],[6,"M10 6h4"],[6,"M10 10h4"],[6,"M10 14h4"],[6,"M10 18h4"]],bus:[[6,"M8 6v6"],[6,"M15 6v6"],[6,"M2 12h19.6"],[6,"M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3"],[1,7,18,2],[6,"M9 18h5"],[1,16,18,2]],"bus-front":[[6,"M4 6 2 7"],[6,"M10 6h4"],[6,"m22 7-2-1"],[5,4,3,16,16,2],[6,"M4 11h16"],[6,"M8 15h.01"],[6,"M16 15h.01"],[6,"M6 19v2"],[6,"M18 21v-2"]],cable:[[6,"M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1"],[6,"M19 15V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V9"],[6,"M21 21v-2h-4"],[6,"M3 5h4V3"],[6,"M7 5a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1V3"]],"cable-car":[[6,"M10 3h.01"],[6,"M14 2h.01"],[6,"m2 9 20-5"],[6,"M12 12V6.5"],[5,4,12,16,10,3],[6,"M9 12v5"],[6,"M15 12v5"],[6,"M4 17h16"]],cake:[[6,"M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8"],[6,"M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1"],[6,"M2 21h20"],[6,"M7 8v3"],[6,"M12 8v3"],[6,"M17 8v3"],[6,"M7 4h.01"],[6,"M12 4h.01"],[6,"M17 4h.01"]],"cake-slice":[[1,9,7,2],[6,"M7.2 7.9 3 11v9c0 .6.4 1 1 1h16c.6 0 1-.4 1-1v-9c0-2-3-6-7-8l-3.6 2.6"],[6,"M16 13H3"],[6,"M16 17H3"]],calculator:[[5,4,2,16,20,2],[0,8,6,16,6],[0,16,14,16,18],[6,"M16 10h.01"],[6,"M12 10h.01"],[6,"M8 10h.01"],[6,"M12 14h.01"],[6,"M8 14h.01"],[6,"M12 18h.01"],[6,"M8 18h.01"]],calendar:[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"]],"calendar-arrow-down":[[6,"m14 18 4 4 4-4"],[6,"M16 2v4"],[6,"M18 14v8"],[6,"M21 11.354V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.343"],[6,"M3 10h18"],[6,"M8 2v4"]],"calendar-arrow-up":[[6,"m14 18 4-4 4 4"],[6,"M16 2v4"],[6,"M18 22v-8"],[6,"M21 11.343V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9"],[6,"M3 10h18"],[6,"M8 2v4"]],"calendar-check":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"m9 16 2 2 4-4"]],"calendar-check-2":[[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21 14V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8"],[6,"M3 10h18"],[6,"m16 20 2 2 4-4"]],"calendar-clock":[[6,"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"],[6,"M16 2v4"],[6,"M8 2v4"],[6,"M3 10h5"],[6,"M17.5 17.5 16 16.3V14"],[1,16,16,6]],"calendar-cog":[[6,"m15.2 16.9-.9-.4"],[6,"m15.2 19.1-.9.4"],[6,"M16 2v4"],[6,"m16.9 15.2-.4-.9"],[6,"m16.9 20.8-.4.9"],[6,"m19.5 14.3-.4.9"],[6,"m19.5 21.7-.4-.9"],[6,"M21 10.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"],[6,"m21.7 16.5-.9.4"],[6,"m21.7 19.5-.9-.4"],[6,"M3 10h18"],[6,"M8 2v4"],[1,18,18,3]],"calendar-days":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"M8 14h.01"],[6,"M12 14h.01"],[6,"M16 14h.01"],[6,"M8 18h.01"],[6,"M12 18h.01"],[6,"M16 18h.01"]],"calendar-fold":[[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21 17V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11Z"],[6,"M3 10h18"],[6,"M15 22v-4a2 2 0 0 1 2-2h4"]],"calendar-heart":[[6,"M3 10h18V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7"],[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21.29 14.7a2.43 2.43 0 0 0-2.65-.52c-.3.12-.57.3-.8.53l-.34.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L17.5 22l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z"]],"calendar-minus":[[6,"M16 19h6"],[6,"M16 2v4"],[6,"M21 15V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5"],[6,"M3 10h18"],[6,"M8 2v4"]],"calendar-minus-2":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"M10 16h4"]],"calendar-off":[[6,"M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18"],[6,"M21 15.5V6a2 2 0 0 0-2-2H9.5"],[6,"M16 2v4"],[6,"M3 10h7"],[6,"M21 10h-5.5"],[6,"m2 2 20 20"]],"calendar-plus":[[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8"],[6,"M3 10h18"],[6,"M16 19h6"],[6,"M19 16v6"]],"calendar-plus-2":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"M10 16h4"],[6,"M12 14v4"]],"calendar-range":[[5,3,4,18,18,2],[6,"M16 2v4"],[6,"M3 10h18"],[6,"M8 2v4"],[6,"M17 14h-6"],[6,"M13 18H7"],[6,"M7 14h.01"],[6,"M17 18h.01"]],"calendar-search":[[6,"M16 2v4"],[6,"M21 11.75V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.25"],[6,"m22 22-1.875-1.875"],[6,"M3 10h18"],[6,"M8 2v4"],[1,18,18,3]],"calendar-x":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"m14 14-4 4"],[6,"m10 14 4 4"]],"calendar-x2":[[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8"],[6,"M3 10h18"],[6,"m17 22 5-5"],[6,"m17 17 5 5"]],camera:[[6,"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z"],[1,12,13,3]],"camera-off":[[0,2,2,22,22],[6,"M7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16"],[6,"M9.5 4h5L17 7h3a2 2 0 0 1 2 2v7.5"],[6,"M14.121 15.121A3 3 0 1 1 9.88 10.88"]],"candlestick-chart":[[6,"M9 5v4"],[5,7,9,4,6,1],[6,"M9 15v2"],[6,"M17 3v2"],[5,15,5,4,8,1],[6,"M17 13v3"],[6,"M3 3v16a2 2 0 0 0 2 2h16"]],candy:[[6,"m9.5 7.5-2 2a4.95 4.95 0 1 0 7 7l2-2a4.95 4.95 0 1 0-7-7Z"],[6,"M14 6.5v10"],[6,"M10 7.5v10"],[6,"m16 7 1-5 1.37.68A3 3 0 0 0 19.7 3H21v1.3c0 .46.1.92.32 1.33L22 7l-5 1"],[6,"m8 17-1 5-1.37-.68A3 3 0 0 0 4.3 21H3v-1.3a3 3 0 0 0-.32-1.33L2 17l5-1"]],"candy-cane":[[6,"M5.7 21a2 2 0 0 1-3.5-2l8.6-14a6 6 0 0 1 10.4 6 2 2 0 1 1-3.464-2 2 2 0 1 0-3.464-2Z"],[6,"M17.75 7 15 2.1"],[6,"M10.9 4.8 13 9"],[6,"m7.9 9.7 2 4.4"],[6,"M4.9 14.7 7 18.9"]],"candy-off":[[6,"m8.5 8.5-1 1a4.95 4.95 0 0 0 7 7l1-1"],[6,"M11.843 6.187A4.947 4.947 0 0 1 16.5 7.5a4.947 4.947 0 0 1 1.313 4.657"],[6,"M14 16.5V14"],[6,"M14 6.5v1.843"],[6,"M10 10v7.5"],[6,"m16 7 1-5 1.367.683A3 3 0 0 0 19.708 3H21v1.292a3 3 0 0 0 .317 1.341L22 7l-5 1"],[6,"m8 17-1 5-1.367-.683A3 3 0 0 0 4.292 21H3v-1.292a3 3 0 0 0-.317-1.341L2 17l5-1"],[0,2,2,22,22]],cannabis:[[6,"M12 22v-4"],[6,"M7 12c-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3 1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5 0 0 2.5.5 6-1-.5-1.5-3.5-3-5-3 1.5-1 4-4 4-6-2.5 0-5.5 1.5-7 3 0-2.5-.5-5-2-7-1.5 2-2 4.5-2 7-1.5-1.5-4.5-3-7-3 0 2 2.5 5 4 6"]],captions:[[5,3,5,18,14,2,2],[6,"M7 15h4M15 15h2M7 11h2M13 11h4"]],"captions-off":[[6,"M10.5 5H19a2 2 0 0 1 2 2v8.5"],[6,"M17 11h-.5"],[6,"M19 19H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2"],[6,"m2 2 20 20"],[6,"M7 11h4"],[6,"M7 15h2.5"]],car:[[6,"M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2"],[1,7,17,2],[6,"M9 17h6"],[1,17,17,2]],"car-front":[[6,"m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8"],[6,"M7 14h.01"],[6,"M17 14h.01"],[5,3,10,18,8,2],[6,"M5 18v2"],[6,"M19 18v2"]],"car-taxi-front":[[6,"M10 2h4"],[6,"m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8"],[6,"M7 14h.01"],[6,"M17 14h.01"],[5,3,10,18,8,2],[6,"M5 18v2"],[6,"M19 18v2"]],caravan:[[6,"M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2"],[6,"M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2"],[6,"M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9"],[1,8,19,2]],carrot:[[6,"M2.27 21.7s9.87-3.5 12.73-6.36a4.5 4.5 0 0 0-6.36-6.37C5.77 11.84 2.27 21.7 2.27 21.7zM8.64 14l-2.05-2.04M15.34 15l-2.46-2.46"],[6,"M22 9s-1.33-2-3.5-2C16.86 7 15 9 15 9s1.33 2 3.5 2S22 9 22 9z"],[6,"M15 2s-2 1.33-2 3.5S15 9 15 9s2-1.84 2-3.5C17 3.33 15 2 15 2z"]],"case-lower":[[1,7,12,3],[6,"M10 9v6"],[1,17,12,3],[6,"M14 7v8"]],"case-sensitive":[[6,"m3 15 4-8 4 8"],[6,"M4 13h6"],[1,18,12,3],[6,"M21 9v6"]],"case-upper":[[6,"m3 15 4-8 4 8"],[6,"M4 13h6"],[6,"M15 11h4.5a2 2 0 0 1 0 4H15V7h4a2 2 0 0 1 0 4"]],"cassette-tape":[[5,2,4,20,16,2],[1,8,10,2],[6,"M8 12h8"],[1,16,10,2],[6,"m6 20 .7-2.9A1.4 1.4 0 0 1 8.1 16h7.8a1.4 1.4 0 0 1 1.4 1l.7 3"]],cast:[[6,"M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"],[6,"M2 12a9 9 0 0 1 8 8"],[6,"M2 16a5 5 0 0 1 4 4"],[0,2,20,2.01,20]],castle:[[6,"M22 20v-9H2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2Z"],[6,"M18 11V4H6v7"],[6,"M15 22v-4a3 3 0 0 0-3-3a3 3 0 0 0-3 3v4"],[6,"M22 11V9"],[6,"M2 11V9"],[6,"M6 4V2"],[6,"M18 4V2"],[6,"M10 4V2"],[6,"M14 4V2"]],cat:[[6,"M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z"],[6,"M8 14v.5"],[6,"M16 14v.5"],[6,"M11.25 16.25h1.5L12 17l-.75-.75Z"]],cctv:[[6,"M16.75 12h3.632a1 1 0 0 1 .894 1.447l-2.034 4.069a1 1 0 0 1-1.708.134l-2.124-2.97"],[6,"M17.106 9.053a1 1 0 0 1 .447 1.341l-3.106 6.211a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.92 2.92 0 0 1 3.92-1.3z"],[6,"M2 19h3.76a2 2 0 0 0 1.8-1.1L9 15"],[6,"M2 21v-4"],[6,"M7 9h.01"]],"chart-area":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z"]],"chart-bar":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 16h8"],[6,"M7 11h12"],[6,"M7 6h3"]],"chart-bar-big":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,7,13,9,4,1],[5,7,5,12,4,1]],"chart-bar-decreasing":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 11h8"],[6,"M7 16h3"],[6,"M7 6h12"]],"chart-bar-increasing":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 11h8"],[6,"M7 16h12"],[6,"M7 6h3"]],"chart-bar-stacked":[[6,"M11 13v4"],[6,"M15 5v4"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,7,13,9,4,1],[5,7,5,12,4,1]],"chart-candlestick":[[6,"M9 5v4"],[5,7,9,4,6,1],[6,"M9 15v2"],[6,"M17 3v2"],[5,15,5,4,8,1],[6,"M17 13v3"],[6,"M3 3v16a2 2 0 0 0 2 2h16"]],"chart-column":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M18 17V9"],[6,"M13 17V5"],[6,"M8 17v-3"]],"chart-column-big":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,15,5,4,12,1],[5,7,8,4,9,1]],"chart-column-decreasing":[[6,"M13 17V9"],[6,"M18 17v-3"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M8 17V5"]],"chart-column-increasing":[[6,"M13 17V9"],[6,"M18 17V5"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M8 17v-3"]],"chart-column-stacked":[[6,"M11 13H7"],[6,"M19 9h-4"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,15,5,4,12,1],[5,7,8,4,9,1]],"chart-gantt":[[6,"M10 6h8"],[6,"M12 16h6"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M8 11h7"]],"chart-line":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"m19 9-5 5-4-4-3 3"]],"chart-network":[[6,"m13.11 7.664 1.78 2.672"],[6,"m14.162 12.788-3.324 1.424"],[6,"m20 4-6.06 1.515"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[1,12,6,2],[1,16,12,2],[1,9,15,2]],"chart-no-axes-column":[[0,18,20,18,10],[0,12,20,12,4],[0,6,20,6,14]],"chart-no-axes-column-decreasing":[[6,"M12 20V10"],[6,"M18 20v-4"],[6,"M6 20V4"]],"chart-no-axes-column-increasing":[[0,12,20,12,10],[0,18,20,18,4],[0,6,20,6,16]],"chart-no-axes-combined":[[6,"M12 16v5"],[6,"M16 14v7"],[6,"M20 10v11"],[6,"m22 3-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15"],[6,"M4 18v3"],[6,"M8 14v7"]],"chart-no-axes-gantt":[[6,"M8 6h10"],[6,"M6 12h9"],[6,"M11 18h7"]],"chart-pie":[[6,"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z"],[6,"M21.21 15.89A10 10 0 1 1 8 2.83"]],"chart-scatter":[[1,7.5,7.5,.5],[1,18.5,5.5,.5],[1,11.5,11.5,.5],[1,7.5,16.5,.5],[1,17.5,14.5,.5],[6,"M3 3v16a2 2 0 0 0 2 2h16"]],"chart-spline":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7"]],check:[[6,"M20 6 9 17l-5-5"]],"check-check":[[6,"M18 6 7 17l-5-5"],[6,"m22 10-7.5 7.5L13 16"]],"check-circle":[[6,"M21.801 10A10 10 0 1 1 17 3.335"],[6,"m9 11 3 3L22 4"]],"check-circle-2":[[1,12,12,10],[6,"m9 12 2 2 4-4"]],"check-square":[[6,"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5"],[6,"m9 11 3 3L22 4"]],"check-square-2":[[5,3,3,18,18,2],[6,"m9 12 2 2 4-4"]],"chef-hat":[[6,"M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z"],[6,"M6 17h12"]],cherry:[[6,"M2 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z"],[6,"M12 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z"],[6,"M7 14c3.22-2.91 4.29-8.75 5-12 1.66 2.38 4.94 9 5 12"],[6,"M22 9c-4.29 0-7.14-2.33-10-7 5.71 0 10 4.67 10 7Z"]],"chevron-down":[[6,"m6 9 6 6 6-6"]],"chevron-down-circle":[[1,12,12,10],[6,"m16 10-4 4-4-4"]],"chevron-down-square":[[5,3,3,18,18,2],[6,"m16 10-4 4-4-4"]],"chevron-first":[[6,"m17 18-6-6 6-6"],[6,"M7 6v12"]],"chevron-last":[[6,"m7 18 6-6-6-6"],[6,"M17 6v12"]],"chevron-left":[[6,"m15 18-6-6 6-6"]],"chevron-left-circle":[[1,12,12,10],[6,"m14 16-4-4 4-4"]],"chevron-left-square":[[5,3,3,18,18,2],[6,"m14 16-4-4 4-4"]],"chevron-right":[[6,"m9 18 6-6-6-6"]],"chevron-right-circle":[[1,12,12,10],[6,"m10 8 4 4-4 4"]],"chevron-right-square":[[5,3,3,18,18,2],[6,"m10 8 4 4-4 4"]],"chevron-up":[[6,"m18 15-6-6-6 6"]],"chevron-up-circle":[[1,12,12,10],[6,"m8 14 4-4 4 4"]],"chevron-up-square":[[5,3,3,18,18,2],[6,"m8 14 4-4 4 4"]],"chevrons-down":[[6,"m7 6 5 5 5-5"],[6,"m7 13 5 5 5-5"]],"chevrons-down-up":[[6,"m7 20 5-5 5 5"],[6,"m7 4 5 5 5-5"]],"chevrons-left":[[6,"m11 17-5-5 5-5"],[6,"m18 17-5-5 5-5"]],"chevrons-left-right":[[6,"m9 7-5 5 5 5"],[6,"m15 7 5 5-5 5"]],"chevrons-left-right-ellipsis":[[6,"m18 8 4 4-4 4"],[6,"m6 8-4 4 4 4"],[6,"M8 12h.01"],[6,"M12 12h.01"],[6,"M16 12h.01"]],"chevrons-right":[[6,"m6 17 5-5-5-5"],[6,"m13 17 5-5-5-5"]],"chevrons-right-left":[[6,"m20 17-5-5 5-5"],[6,"m4 17 5-5-5-5"]],"chevrons-up":[[6,"m17 11-5-5-5 5"],[6,"m17 18-5-5-5 5"]],"chevrons-up-down":[[6,"m7 15 5 5 5-5"],[6,"m7 9 5-5 5 5"]],chrome:[[1,12,12,10],[1,12,12,4],[0,21.17,8,12,8],[0,3.95,6.06,8.54,14],[0,10.88,21.94,15.46,14]],church:[[6,"M10 9h4"],[6,"M12 7v5"],[6,"M14 22v-4a2 2 0 0 0-4 0v4"],[6,"M18 22V5.618a1 1 0 0 0-.553-.894l-4.553-2.277a2 2 0 0 0-1.788 0L6.553 4.724A1 1 0 0 0 6 5.618V22"],[6,"m18 7 3.447 1.724a1 1 0 0 1 .553.894V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.618a1 1 0 0 1 .553-.894L6 7"]],cigarette:[[6,"M17 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14"],[6,"M18 8c0-2.5-2-2.5-2-5"],[6,"M21 16a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1"],[6,"M22 8c0-2.5-2-2.5-2-5"],[6,"M7 12v4"]],"cigarette-off":[[6,"M12 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h13"],[6,"M18 8c0-2.5-2-2.5-2-5"],[6,"m2 2 20 20"],[6,"M21 12a1 1 0 0 1 1 1v2a1 1 0 0 1-.5.866"],[6,"M22 8c0-2.5-2-2.5-2-5"],[6,"M7 12v4"]],circle:[[1,12,12,10]],"circle-alert":[[1,12,12,10],[0,12,8,12,12],[0,12,16,12.01,16]],"circle-arrow-down":[[1,12,12,10],[6,"M12 8v8"],[6,"m8 12 4 4 4-4"]],"circle-arrow-left":[[1,12,12,10],[6,"M16 12H8"],[6,"m12 8-4 4 4 4"]],"circle-arrow-out-down-left":[[6,"M2 12a10 10 0 1 1 10 10"],[6,"m2 22 10-10"],[6,"M8 22H2v-6"]],"circle-arrow-out-down-right":[[6,"M12 22a10 10 0 1 1 10-10"],[6,"M22 22 12 12"],[6,"M22 16v6h-6"]],"circle-arrow-out-up-left":[[6,"M2 8V2h6"],[6,"m2 2 10 10"],[6,"M12 2A10 10 0 1 1 2 12"]],"circle-arrow-out-up-right":[[6,"M22 12A10 10 0 1 1 12 2"],[6,"M22 2 12 12"],[6,"M16 2h6v6"]],"circle-arrow-right":[[1,12,12,10],[6,"M8 12h8"],[6,"m12 16 4-4-4-4"]],"circle-arrow-up":[[1,12,12,10],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"]],"circle-check":[[1,12,12,10],[6,"m9 12 2 2 4-4"]],"circle-check-big":[[6,"M21.801 10A10 10 0 1 1 17 3.335"],[6,"m9 11 3 3L22 4"]],"circle-chevron-down":[[1,12,12,10],[6,"m16 10-4 4-4-4"]],"circle-chevron-left":[[1,12,12,10],[6,"m14 16-4-4 4-4"]],"circle-chevron-right":[[1,12,12,10],[6,"m10 8 4 4-4 4"]],"circle-chevron-up":[[1,12,12,10],[6,"m8 14 4-4 4 4"]],"circle-dashed":[[6,"M10.1 2.182a10 10 0 0 1 3.8 0"],[6,"M13.9 21.818a10 10 0 0 1-3.8 0"],[6,"M17.609 3.721a10 10 0 0 1 2.69 2.7"],[6,"M2.182 13.9a10 10 0 0 1 0-3.8"],[6,"M20.279 17.609a10 10 0 0 1-2.7 2.69"],[6,"M21.818 10.1a10 10 0 0 1 0 3.8"],[6,"M3.721 6.391a10 10 0 0 1 2.7-2.69"],[6,"M6.391 20.279a10 10 0 0 1-2.69-2.7"]],"circle-divide":[[0,8,12,16,12],[0,12,16,12,16],[0,12,8,12,8],[1,12,12,10]],"circle-dollar-sign":[[1,12,12,10],[6,"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"],[6,"M12 18V6"]],"circle-dot":[[1,12,12,10],[1,12,12,1]],"circle-dot-dashed":[[6,"M10.1 2.18a9.93 9.93 0 0 1 3.8 0"],[6,"M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7"],[6,"M21.82 10.1a9.93 9.93 0 0 1 0 3.8"],[6,"M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69"],[6,"M13.9 21.82a9.94 9.94 0 0 1-3.8 0"],[6,"M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7"],[6,"M2.18 13.9a9.93 9.93 0 0 1 0-3.8"],[6,"M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69"],[1,12,12,1]],"circle-ellipsis":[[1,12,12,10],[6,"M17 12h.01"],[6,"M12 12h.01"],[6,"M7 12h.01"]],"circle-equal":[[6,"M7 10h10"],[6,"M7 14h10"],[1,12,12,10]],"circle-fading-arrow-up":[[6,"M12 2a10 10 0 0 1 7.38 16.75"],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"],[6,"M2.5 8.875a10 10 0 0 0-.5 3"],[6,"M2.83 16a10 10 0 0 0 2.43 3.4"],[6,"M4.636 5.235a10 10 0 0 1 .891-.857"],[6,"M8.644 21.42a10 10 0 0 0 7.631-.38"]],"circle-fading-plus":[[6,"M12 2a10 10 0 0 1 7.38 16.75"],[6,"M12 8v8"],[6,"M16 12H8"],[6,"M2.5 8.875a10 10 0 0 0-.5 3"],[6,"M2.83 16a10 10 0 0 0 2.43 3.4"],[6,"M4.636 5.235a10 10 0 0 1 .891-.857"],[6,"M8.644 21.42a10 10 0 0 0 7.631-.38"]],"circle-gauge":[[6,"M15.6 2.7a10 10 0 1 0 5.7 5.7"],[1,12,12,2],[6,"M13.4 10.6 19 5"]],"circle-help":[[1,12,12,10],[6,"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"],[6,"M12 17h.01"]],"circle-minus":[[1,12,12,10],[6,"M8 12h8"]],"circle-off":[[6,"m2 2 20 20"],[6,"M8.35 2.69A10 10 0 0 1 21.3 15.65"],[6,"M19.08 19.08A10 10 0 1 1 4.92 4.92"]],"circle-parking":[[1,12,12,10],[6,"M9 17V7h4a3 3 0 0 1 0 6H9"]],"circle-parking-off":[[1,12,12,10],[6,"m5 5 14 14"],[6,"M13 13a3 3 0 1 0 0-6H9v2"],[6,"M9 17v-2.34"]],"circle-pause":[[1,12,12,10],[0,10,15,10,9],[0,14,15,14,9]],"circle-percent":[[1,12,12,10],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"circle-play":[[1,12,12,10],[3,"10 8 16 12 10 16 10 8"]],"circle-plus":[[1,12,12,10],[6,"M8 12h8"],[6,"M12 8v8"]],"circle-power":[[6,"M12 7v4"],[6,"M7.998 9.003a5 5 0 1 0 8-.005"],[1,12,12,10]],"circle-slash":[[1,12,12,10],[0,9,15,15,9]],"circle-slash-2":[[1,12,12,10],[6,"M22 2 2 22"]],"circle-slashed":[[1,12,12,10],[6,"M22 2 2 22"]],"circle-stop":[[1,12,12,10],[5,9,9,6,6,1]],"circle-user":[[1,12,12,10],[1,12,10,3],[6,"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662"]],"circle-user-round":[[6,"M18 20a6 6 0 0 0-12 0"],[1,12,10,4],[1,12,12,10]],"circle-x":[[1,12,12,10],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],"circuit-board":[[5,3,3,18,18,2],[6,"M11 9h4a2 2 0 0 0 2-2V3"],[1,9,9,2],[6,"M7 21v-4a2 2 0 0 1 2-2h4"],[1,15,15,2]],citrus:[[6,"M21.66 17.67a1.08 1.08 0 0 1-.04 1.6A12 12 0 0 1 4.73 2.38a1.1 1.1 0 0 1 1.61-.04z"],[6,"M19.65 15.66A8 8 0 0 1 8.35 4.34"],[6,"m14 10-5.5 5.5"],[6,"M14 17.85V10H6.15"]],clapperboard:[[6,"M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z"],[6,"m6.2 5.3 3.1 3.9"],[6,"m12.4 3.4 3.1 4"],[6,"M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z"]],clipboard:[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"]],"clipboard-check":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"m9 14 2 2 4-4"]],"clipboard-copy":[[5,8,2,8,4,1,1],[6,"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"],[6,"M16 4h2a2 2 0 0 1 2 2v4"],[6,"M21 14H11"],[6,"m15 10-4 4 4 4"]],"clipboard-edit":[[5,8,2,8,4,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5"],[6,"M4 13.5V6a2 2 0 0 1 2-2h2"],[6,"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"clipboard-list":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"M12 11h4"],[6,"M12 16h4"],[6,"M8 11h.01"],[6,"M8 16h.01"]],"clipboard-minus":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"M9 14h6"]],"clipboard-paste":[[6,"M15 2H9a1 1 0 0 0-1 1v2c0 .6.4 1 1 1h6c.6 0 1-.4 1-1V3c0-.6-.4-1-1-1Z"],[6,"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2M16 4h2a2 2 0 0 1 2 2v2M11 14h10"],[6,"m17 10 4 4-4 4"]],"clipboard-pen":[[5,8,2,8,4,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5"],[6,"M4 13.5V6a2 2 0 0 1 2-2h2"],[6,"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"clipboard-pen-line":[[5,8,2,8,4,1],[6,"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5"],[6,"M16 4h2a2 2 0 0 1 1.73 1"],[6,"M8 18h1"],[6,"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"clipboard-plus":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"M9 14h6"],[6,"M12 17v-6"]],"clipboard-signature":[[5,8,2,8,4,1],[6,"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5"],[6,"M16 4h2a2 2 0 0 1 1.73 1"],[6,"M8 18h1"],[6,"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"clipboard-type":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"M9 12v-1h6v1"],[6,"M11 17h2"],[6,"M12 11v6"]],"clipboard-x":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"m15 11-6 6"],[6,"m9 11 6 6"]],clock:[[1,12,12,10],[2,"12 6 12 12 16 14"]],"clock-1":[[1,12,12,10],[2,"12 6 12 12 14.5 8"]],"clock-10":[[1,12,12,10],[2,"12 6 12 12 8 10"]],"clock-11":[[1,12,12,10],[2,"12 6 12 12 9.5 8"]],"clock-12":[[1,12,12,10],[2,"12 6 12 12"]],"clock-2":[[1,12,12,10],[2,"12 6 12 12 16 10"]],"clock-3":[[1,12,12,10],[2,"12 6 12 12 16.5 12"]],"clock-4":[[1,12,12,10],[2,"12 6 12 12 16 14"]],"clock-5":[[1,12,12,10],[2,"12 6 12 12 14.5 16"]],"clock-6":[[1,12,12,10],[2,"12 6 12 12 12 16.5"]],"clock-7":[[1,12,12,10],[2,"12 6 12 12 9.5 16"]],"clock-8":[[1,12,12,10],[2,"12 6 12 12 8 14"]],"clock-9":[[1,12,12,10],[2,"12 6 12 12 7.5 12"]],"clock-alert":[[6,"M12 6v6l4 2"],[6,"M16 21.16a10 10 0 1 1 5-13.516"],[6,"M20 11.5v6"],[6,"M20 21.5h.01"]],"clock-arrow-down":[[6,"M12.338 21.994A10 10 0 1 1 21.925 13.227"],[6,"M12 6v6l2 1"],[6,"m14 18 4 4 4-4"],[6,"M18 14v8"]],"clock-arrow-up":[[6,"M13.228 21.925A10 10 0 1 1 21.994 12.338"],[6,"M12 6v6l1.562.781"],[6,"m14 18 4-4 4 4"],[6,"M18 22v-8"]],cloud:[[6,"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"]],"cloud-cog":[[1,12,17,3],[6,"M4.2 15.1A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.2"],[6,"m15.7 18.4-.9-.3"],[6,"m9.2 15.9-.9-.3"],[6,"m10.6 20.7.3-.9"],[6,"m13.1 14.2.3-.9"],[6,"m13.6 20.7-.4-1"],[6,"m10.8 14.3-.4-1"],[6,"m8.3 18.6 1-.4"],[6,"m14.7 15.8 1-.4"]],"cloud-download":[[6,"M12 13v8l-4-4"],[6,"m12 21 4-4"],[6,"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284"]],"cloud-drizzle":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M8 19v1"],[6,"M8 14v1"],[6,"M16 19v1"],[6,"M16 14v1"],[6,"M12 21v1"],[6,"M12 16v1"]],"cloud-fog":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M16 17H7"],[6,"M17 21H9"]],"cloud-hail":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M16 14v2"],[6,"M8 14v2"],[6,"M16 20h.01"],[6,"M8 20h.01"],[6,"M12 16v2"],[6,"M12 22h.01"]],"cloud-lightning":[[6,"M6 16.326A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 .5 8.973"],[6,"m13 12-3 5h4l-3 5"]],"cloud-moon":[[6,"M10.188 8.5A6 6 0 0 1 16 4a1 1 0 0 0 6 6 6 6 0 0 1-3 5.197"],[6,"M13 16a3 3 0 1 1 0 6H7a5 5 0 1 1 4.9-6Z"]],"cloud-moon-rain":[[6,"M10.188 8.5A6 6 0 0 1 16 4a1 1 0 0 0 6 6 6 6 0 0 1-3 5.197"],[6,"M11 20v2"],[6,"M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24"],[6,"M7 19v2"]],"cloud-off":[[6,"m2 2 20 20"],[6,"M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193"],[6,"M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07"]],"cloud-rain":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M16 14v6"],[6,"M8 14v6"],[6,"M12 16v6"]],"cloud-rain-wind":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"m9.2 22 3-7"],[6,"m9 13-3 7"],[6,"m17 13-3 7"]],"cloud-snow":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M8 15h.01"],[6,"M8 19h.01"],[6,"M12 17h.01"],[6,"M12 21h.01"],[6,"M16 15h.01"],[6,"M16 19h.01"]],"cloud-sun":[[6,"M12 2v2"],[6,"m4.93 4.93 1.41 1.41"],[6,"M20 12h2"],[6,"m19.07 4.93-1.41 1.41"],[6,"M15.947 12.65a4 4 0 0 0-5.925-4.128"],[6,"M13 22H7a5 5 0 1 1 4.9-6H13a3 3 0 0 1 0 6Z"]],"cloud-sun-rain":[[6,"M12 2v2"],[6,"m4.93 4.93 1.41 1.41"],[6,"M20 12h2"],[6,"m19.07 4.93-1.41 1.41"],[6,"M15.947 12.65a4 4 0 0 0-5.925-4.128"],[6,"M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24"],[6,"M11 20v2"],[6,"M7 19v2"]],"cloud-upload":[[6,"M12 13v8"],[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"m8 17 4-4 4 4"]],cloudy:[[6,"M17.5 21H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"],[6,"M22 10a3 3 0 0 0-3-3h-2.207a5.502 5.502 0 0 0-10.702.5"]],clover:[[6,"M16.17 7.83 2 22"],[6,"M4.02 12a2.827 2.827 0 1 1 3.81-4.17A2.827 2.827 0 1 1 12 4.02a2.827 2.827 0 1 1 4.17 3.81A2.827 2.827 0 1 1 19.98 12a2.827 2.827 0 1 1-3.81 4.17A2.827 2.827 0 1 1 12 19.98a2.827 2.827 0 1 1-4.17-3.81A1 1 0 1 1 4 12"],[6,"m7.83 7.83 8.34 8.34"]],club:[[6,"M17.28 9.05a5.5 5.5 0 1 0-10.56 0A5.5 5.5 0 1 0 12 17.66a5.5 5.5 0 1 0 5.28-8.6Z"],[6,"M12 17.66L12 22"]],code:[[2,"16 18 22 12 16 6"],[2,"8 6 2 12 8 18"]],"code-2":[[6,"m18 16 4-4-4-4"],[6,"m6 8-4 4 4 4"],[6,"m14.5 4-5 16"]],"code-square":[[6,"M10 9.5 8 12l2 2.5"],[6,"m14 9.5 2 2.5-2 2.5"],[5,3,3,18,18,2]],"code-xml":[[6,"m18 16 4-4-4-4"],[6,"m6 8-4 4 4 4"],[6,"m14.5 4-5 16"]],codepen:[[3,"12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2"],[0,12,22,12,15.5],[2,"22 8.5 12 15.5 2 8.5"],[2,"2 15.5 12 8.5 22 15.5"],[0,12,2,12,8.5]],codesandbox:[[6,"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"],[2,"7.5 4.21 12 6.81 16.5 4.21"],[2,"7.5 19.79 7.5 14.6 3 12"],[2,"21 12 16.5 14.6 16.5 19.79"],[2,"3.27 6.96 12 12.01 20.73 6.96"],[0,12,22.08,12,12]],coffee:[[6,"M10 2v2"],[6,"M14 2v2"],[6,"M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1"],[6,"M6 2v2"]],cog:[[6,"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z"],[6,"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z"],[6,"M12 2v2"],[6,"M12 22v-2"],[6,"m17 20.66-1-1.73"],[6,"M11 10.27 7 3.34"],[6,"m20.66 17-1.73-1"],[6,"m3.34 7 1.73 1"],[6,"M14 12h8"],[6,"M2 12h2"],[6,"m20.66 7-1.73 1"],[6,"m3.34 17 1.73-1"],[6,"m17 3.34-1 1.73"],[6,"m11 13.73-4 6.93"]],coins:[[1,8,8,6],[6,"M18.09 10.37A6 6 0 1 1 10.34 18"],[6,"M7 6h1v4"],[6,"m16.71 13.88.7.71-2.82 2.82"]],columns:[[5,3,3,18,18,2],[6,"M12 3v18"]],"columns-2":[[5,3,3,18,18,2],[6,"M12 3v18"]],"columns-3":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"M15 3v18"]],"columns-4":[[5,3,3,18,18,2],[6,"M7.5 3v18"],[6,"M12 3v18"],[6,"M16.5 3v18"]],combine:[[6,"M10 18H5a3 3 0 0 1-3-3v-1"],[6,"M14 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2"],[6,"M20 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2"],[6,"m7 21 3-3-3-3"],[5,14,14,8,8,2],[5,2,2,8,8,2]],command:[[6,"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3"]],compass:[[6,"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z"],[1,12,12,10]],component:[[6,"M5.5 8.5 9 12l-3.5 3.5L2 12l3.5-3.5Z"],[6,"m12 2 3.5 3.5L12 9 8.5 5.5 12 2Z"],[6,"M18.5 8.5 22 12l-3.5 3.5L15 12l3.5-3.5Z"],[6,"m12 15 3.5 3.5L12 22l-3.5-3.5L12 15Z"]],computer:[[5,5,2,14,8,2],[5,2,14,20,8,2],[6,"M6 18h2"],[6,"M12 18h6"]],"concierge-bell":[[6,"M3 20a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1Z"],[6,"M20 16a8 8 0 1 0-16 0"],[6,"M12 4v4"],[6,"M10 4h4"]],cone:[[6,"m20.9 18.55-8-15.98a1 1 0 0 0-1.8 0l-8 15.98"],[4,12,19,9,3]],construction:[[5,2,6,20,8,1],[6,"M17 14v7"],[6,"M7 14v7"],[6,"M17 3v3"],[6,"M7 3v3"],[6,"M10 14 2.3 6.3"],[6,"m14 6 7.7 7.7"],[6,"m8 6 8 8"]],contact:[[6,"M16 2v2"],[6,"M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2"],[6,"M8 2v2"],[1,12,11,3],[5,3,4,18,18,2]],"contact-2":[[6,"M16 2v2"],[6,"M17.915 22a6 6 0 0 0-12 0"],[6,"M8 2v2"],[1,12,12,4],[5,3,4,18,18,2]],"contact-round":[[6,"M16 2v2"],[6,"M17.915 22a6 6 0 0 0-12 0"],[6,"M8 2v2"],[1,12,12,4],[5,3,4,18,18,2]],container:[[6,"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z"],[6,"M10 21.9V14L2.1 9.1"],[6,"m10 14 11.9-6.9"],[6,"M14 19.8v-8.1"],[6,"M18 17.5V9.4"]],contrast:[[1,12,12,10],[6,"M12 18a6 6 0 0 0 0-12v12z"]],cookie:[[6,"M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5"],[6,"M8.5 8.5v.01"],[6,"M16 15.5v.01"],[6,"M12 12v.01"],[6,"M11 17v.01"],[6,"M7 14v.01"]],"cooking-pot":[[6,"M2 12h20"],[6,"M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8"],[6,"m4 8 16-4"],[6,"m8.86 6.78-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8"]],copy:[[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-check":[[6,"m12 15 2 2 4-4"],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-minus":[[0,12,15,18,15],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-plus":[[0,15,12,15,18],[0,12,15,18,15],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-slash":[[0,12,18,18,12],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-x":[[0,12,12,18,18],[0,12,18,18,12],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],copyleft:[[1,12,12,10],[6,"M9.17 14.83a4 4 0 1 0 0-5.66"]],copyright:[[1,12,12,10],[6,"M14.83 14.83a4 4 0 1 1 0-5.66"]],"corner-down-left":[[2,"9 10 4 15 9 20"],[6,"M20 4v7a4 4 0 0 1-4 4H4"]],"corner-down-right":[[2,"15 10 20 15 15 20"],[6,"M4 4v7a4 4 0 0 0 4 4h12"]],"corner-left-down":[[2,"14 15 9 20 4 15"],[6,"M20 4h-7a4 4 0 0 0-4 4v12"]],"corner-left-up":[[2,"14 9 9 4 4 9"],[6,"M20 20h-7a4 4 0 0 1-4-4V4"]],"corner-right-down":[[2,"10 15 15 20 20 15"],[6,"M4 4h7a4 4 0 0 1 4 4v12"]],"corner-right-up":[[2,"10 9 15 4 20 9"],[6,"M4 20h7a4 4 0 0 0 4-4V4"]],"corner-up-left":[[2,"9 14 4 9 9 4"],[6,"M20 20v-7a4 4 0 0 0-4-4H4"]],"corner-up-right":[[2,"15 14 20 9 15 4"],[6,"M4 20v-7a4 4 0 0 1 4-4h12"]],cpu:[[5,4,4,16,16,2],[5,9,9,6,6,1],[6,"M15 2v2"],[6,"M15 20v2"],[6,"M2 15h2"],[6,"M2 9h2"],[6,"M20 15h2"],[6,"M20 9h2"],[6,"M9 2v2"],[6,"M9 20v2"]],"creative-commons":[[1,12,12,10],[6,"M10 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1"],[6,"M17 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1"]],"credit-card":[[5,2,5,20,14,2],[0,2,10,22,10]],croissant:[[6,"m4.6 13.11 5.79-3.21c1.89-1.05 4.79 1.78 3.71 3.71l-3.22 5.81C8.8 23.16.79 15.23 4.6 13.11Z"],[6,"m10.5 9.5-1-2.29C9.2 6.48 8.8 6 8 6H4.5C2.79 6 2 6.5 2 8.5a7.71 7.71 0 0 0 2 4.83"],[6,"M8 6c0-1.55.24-4-2-4-2 0-2.5 2.17-2.5 4"],[6,"m14.5 13.5 2.29 1c.73.3 1.21.7 1.21 1.5v3.5c0 1.71-.5 2.5-2.5 2.5a7.71 7.71 0 0 1-4.83-2"],[6,"M18 16c1.55 0 4-.24 4 2 0 2-2.17 2.5-4 2.5"]],crop:[[6,"M6 2v14a2 2 0 0 0 2 2h14"],[6,"M18 22V8a2 2 0 0 0-2-2H2"]],cross:[[6,"M11 2a2 2 0 0 0-2 2v5H4a2 2 0 0 0-2 2v2c0 1.1.9 2 2 2h5v5c0 1.1.9 2 2 2h2a2 2 0 0 0 2-2v-5h5a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-5V4a2 2 0 0 0-2-2h-2z"]],crosshair:[[1,12,12,10],[0,22,12,18,12],[0,6,12,2,12],[0,12,6,12,2],[0,12,22,12,18]],crown:[[6,"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z"],[6,"M5 21h14"]],cuboid:[[6,"m21.12 6.4-6.05-4.06a2 2 0 0 0-2.17-.05L2.95 8.41a2 2 0 0 0-.95 1.7v5.82a2 2 0 0 0 .88 1.66l6.05 4.07a2 2 0 0 0 2.17.05l9.95-6.12a2 2 0 0 0 .95-1.7V8.06a2 2 0 0 0-.88-1.66Z"],[6,"M10 22v-8L2.25 9.15"],[6,"m10 14 11.77-6.87"]],"cup-soda":[[6,"m6 8 1.75 12.28a2 2 0 0 0 2 1.72h4.54a2 2 0 0 0 2-1.72L18 8"],[6,"M5 8h14"],[6,"M7 15a6.47 6.47 0 0 1 5 0 6.47 6.47 0 0 0 5 0"],[6,"m12 8 1-6h2"]],"curly-braces":[[6,"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"],[6,"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"]],currency:[[1,12,12,8],[0,3,3,6,6],[0,21,3,18,6],[0,3,21,6,18],[0,21,21,18,18]],cylinder:[[4,12,5,9,3],[6,"M3 5v14a9 3 0 0 0 18 0V5"]],dam:[[6,"M11 11.31c1.17.56 1.54 1.69 3.5 1.69 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M11.75 18c.35.5 1.45 1 2.75 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[6,"M2 6h4"],[6,"M7 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1L10 4a1 1 0 0 0-1-1z"]],database:[[4,12,5,9,3],[6,"M3 5V19A9 3 0 0 0 21 19V5"],[6,"M3 12A9 3 0 0 0 21 12"]],"database-backup":[[4,12,5,9,3],[6,"M3 12a9 3 0 0 0 5 2.69"],[6,"M21 9.3V5"],[6,"M3 5v14a9 3 0 0 0 6.47 2.88"],[6,"M12 12v4h4"],[6,"M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16"]],"database-zap":[[4,12,5,9,3],[6,"M3 5V19A9 3 0 0 0 15 21.84"],[6,"M21 5V8"],[6,"M21 12L18 17H22L19 22"],[6,"M3 12A9 3 0 0 0 14.59 14.87"]],delete:[[6,"M10 5a2 2 0 0 0-1.344.519l-6.328 5.74a1 1 0 0 0 0 1.481l6.328 5.741A2 2 0 0 0 10 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z"],[6,"m12 9 6 6"],[6,"m18 9-6 6"]],dessert:[[1,12,4,2],[6,"M10.2 3.2C5.5 4 2 8.1 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4 0c0-4.9-3.5-9-8.2-9.8"],[6,"M3.2 14.8a9 9 0 0 0 17.6 0"]],diameter:[[1,19,19,2],[1,5,5,2],[6,"M6.48 3.66a10 10 0 0 1 13.86 13.86"],[6,"m6.41 6.41 11.18 11.18"],[6,"M3.66 6.48a10 10 0 0 0 13.86 13.86"]],diamond:[[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z"]],"diamond-minus":[[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z"],[6,"M8 12h8"]],"diamond-percent":[[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0Z"],[6,"M9.2 9.2h.01"],[6,"m14.5 9.5-5 5"],[6,"M14.7 14.8h.01"]],"diamond-plus":[[6,"M12 8v8"],[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z"],[6,"M8 12h8"]],"dice-1":[[5,3,3,18,18,2,2],[6,"M12 12h.01"]],"dice-2":[[5,3,3,18,18,2,2],[6,"M15 9h.01"],[6,"M9 15h.01"]],"dice-3":[[5,3,3,18,18,2,2],[6,"M16 8h.01"],[6,"M12 12h.01"],[6,"M8 16h.01"]],"dice-4":[[5,3,3,18,18,2,2],[6,"M16 8h.01"],[6,"M8 8h.01"],[6,"M8 16h.01"],[6,"M16 16h.01"]],"dice-5":[[5,3,3,18,18,2,2],[6,"M16 8h.01"],[6,"M8 8h.01"],[6,"M8 16h.01"],[6,"M16 16h.01"],[6,"M12 12h.01"]],"dice-6":[[5,3,3,18,18,2,2],[6,"M16 8h.01"],[6,"M16 12h.01"],[6,"M16 16h.01"],[6,"M8 8h.01"],[6,"M8 12h.01"],[6,"M8 16h.01"]],dices:[[5,2,10,12,12,2,2],[6,"m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6"],[6,"M6 18h.01"],[6,"M10 14h.01"],[6,"M15 6h.01"],[6,"M18 9h.01"]],diff:[[6,"M12 3v14"],[6,"M5 10h14"],[6,"M5 21h14"]],disc:[[1,12,12,10],[1,12,12,2]],"disc-2":[[1,12,12,10],[1,12,12,4],[6,"M12 12h.01"]],"disc-3":[[1,12,12,10],[6,"M6 12c0-1.7.7-3.2 1.8-4.2"],[1,12,12,2],[6,"M18 12c0 1.7-.7 3.2-1.8 4.2"]],"disc-album":[[5,3,3,18,18,2],[1,12,12,5],[6,"M12 12h.01"]],divide:[[1,12,6,1],[0,5,12,19,12],[1,12,18,1]],"divide-circle":[[0,8,12,16,12],[0,12,16,12,16],[0,12,8,12,8],[1,12,12,10]],"divide-square":[[5,3,3,18,18,2,2],[0,8,12,16,12],[0,12,16,12,16],[0,12,8,12,8]],dna:[[6,"m10 16 1.5 1.5"],[6,"m14 8-1.5-1.5"],[6,"M15 2c-1.798 1.998-2.518 3.995-2.807 5.993"],[6,"m16.5 10.5 1 1"],[6,"m17 6-2.891-2.891"],[6,"M2 15c6.667-6 13.333 0 20-6"],[6,"m20 9 .891.891"],[6,"M3.109 14.109 4 15"],[6,"m6.5 12.5 1 1"],[6,"m7 18 2.891 2.891"],[6,"M9 22c1.798-1.998 2.518-3.995 2.807-5.993"]],"dna-off":[[6,"M15 2c-1.35 1.5-2.092 3-2.5 4.5L14 8"],[6,"m17 6-2.891-2.891"],[6,"M2 15c3.333-3 6.667-3 10-3"],[6,"m2 2 20 20"],[6,"m20 9 .891.891"],[6,"M22 9c-1.5 1.35-3 2.092-4.5 2.5l-1-1"],[6,"M3.109 14.109 4 15"],[6,"m6.5 12.5 1 1"],[6,"m7 18 2.891 2.891"],[6,"M9 22c1.35-1.5 2.092-3 2.5-4.5L10 16"]],dock:[[6,"M2 8h20"],[5,2,4,20,16,2],[6,"M6 16h12"]],dog:[[6,"M11.25 16.25h1.5L12 17z"],[6,"M16 14v.5"],[6,"M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309"],[6,"M8 14v.5"],[6,"M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5"]],"dollar-sign":[[0,12,2,12,22],[6,"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"]],donut:[[6,"M20.5 10a2.5 2.5 0 0 1-2.4-3H18a2.95 2.95 0 0 1-2.6-4.4 10 10 0 1 0 6.3 7.1c-.3.2-.8.3-1.2.3"],[1,12,12,3]],"door-closed":[[6,"M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14"],[6,"M2 20h20"],[6,"M14 12v.01"]],"door-open":[[6,"M13 4h3a2 2 0 0 1 2 2v14"],[6,"M2 20h3"],[6,"M13 20h9"],[6,"M10 12v.01"],[6,"M13 4.562v16.157a1 1 0 0 1-1.242.97L5 20V5.562a2 2 0 0 1 1.515-1.94l4-1A2 2 0 0 1 13 4.561Z"]],dot:[[1,12.1,12.1,1]],"dot-square":[[5,3,3,18,18,2],[1,12,12,1]],download:[[6,"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"],[2,"7 10 12 15 17 10"],[0,12,15,12,3]],"download-cloud":[[6,"M12 13v8l-4-4"],[6,"m12 21 4-4"],[6,"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284"]],"drafting-compass":[[6,"m12.99 6.74 1.93 3.44"],[6,"M19.136 12a10 10 0 0 1-14.271 0"],[6,"m21 21-2.16-3.84"],[6,"m3 21 8.02-14.26"],[1,12,5,2]],drama:[[6,"M10 11h.01"],[6,"M14 6h.01"],[6,"M18 6h.01"],[6,"M6.5 13.1h.01"],[6,"M22 5c0 9-4 12-6 12s-6-3-6-12c0-2 2-3 6-3s6 1 6 3"],[6,"M17.4 9.9c-.8.8-2 .8-2.8 0"],[6,"M10.1 7.1C9 7.2 7.7 7.7 6 8.6c-3.5 2-4.7 3.9-3.7 5.6 4.5 7.8 9.5 8.4 11.2 7.4.9-.5 1.9-2.1 1.9-4.7"],[6,"M9.1 16.5c.3-1.1 1.4-1.7 2.4-1.4"]],dribbble:[[1,12,12,10],[6,"M19.13 5.09C15.22 9.14 10 10.44 2.25 10.94"],[6,"M21.75 12.84c-6.62-1.41-12.14 1-16.38 6.32"],[6,"M8.56 2.75c4.37 6 6 9.42 8 17.72"]],drill:[[6,"M14 9c0 .6-.4 1-1 1H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9c.6 0 1 .4 1 1Z"],[6,"M18 6h4"],[6,"M14 4h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3"],[6,"m5 10-2 8"],[6,"M12 10v3c0 .6-.4 1-1 1H8"],[6,"m7 18 2-8"],[6,"M5 22c-1.7 0-3-1.3-3-3 0-.6.4-1 1-1h7c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1Z"]],droplet:[[6,"M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z"]],droplets:[[6,"M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z"],[6,"M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97"]],drum:[[6,"m2 2 8 8"],[6,"m22 2-8 8"],[4,12,9,10,5],[6,"M7 13.4v7.9"],[6,"M12 14v8"],[6,"M17 13.4v7.9"],[6,"M2 9v8a10 5 0 0 0 20 0V9"]],drumstick:[[6,"M15.4 15.63a7.875 6 135 1 1 6.23-6.23 4.5 3.43 135 0 0-6.23 6.23"],[6,"m8.29 12.71-2.6 2.6a2.5 2.5 0 1 0-1.65 4.65A2.5 2.5 0 1 0 8.7 18.3l2.59-2.59"]],dumbbell:[[6,"M14.4 14.4 9.6 9.6"],[6,"M18.657 21.485a2 2 0 1 1-2.829-2.828l-1.767 1.768a2 2 0 1 1-2.829-2.829l6.364-6.364a2 2 0 1 1 2.829 2.829l-1.768 1.767a2 2 0 1 1 2.828 2.829z"],[6,"m21.5 21.5-1.4-1.4"],[6,"M3.9 3.9 2.5 2.5"],[6,"M6.404 12.768a2 2 0 1 1-2.829-2.829l1.768-1.767a2 2 0 1 1-2.828-2.829l2.828-2.828a2 2 0 1 1 2.829 2.828l1.767-1.768a2 2 0 1 1 2.829 2.829z"]],ear:[[6,"M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0"],[6,"M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4"]],"ear-off":[[6,"M6 18.5a3.5 3.5 0 1 0 7 0c0-1.57.92-2.52 2.04-3.46"],[6,"M6 8.5c0-.75.13-1.47.36-2.14"],[6,"M8.8 3.15A6.5 6.5 0 0 1 19 8.5c0 1.63-.44 2.81-1.09 3.76"],[6,"M12.5 6A2.5 2.5 0 0 1 15 8.5M10 13a2 2 0 0 0 1.82-1.18"],[0,2,2,22,22]],earth:[[6,"M21.54 15H17a2 2 0 0 0-2 2v4.54"],[6,"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17"],[6,"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05"],[1,12,12,10]],"earth-lock":[[6,"M7 3.34V5a3 3 0 0 0 3 3"],[6,"M11 21.95V18a2 2 0 0 0-2-2 2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05"],[6,"M21.54 15H17a2 2 0 0 0-2 2v4.54"],[6,"M12 2a10 10 0 1 0 9.54 13"],[6,"M20 6V4a2 2 0 1 0-4 0v2"],[5,14,6,8,5,1]],eclipse:[[1,12,12,10],[6,"M12 2a7 7 0 1 0 10 10"]],edit:[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"]],"edit-2":[[6,"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"]],"edit-3":[[6,"M12 20h9"],[6,"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z"]],egg:[[6,"M12 22c6.23-.05 7.87-5.57 7.5-10-.36-4.34-3.95-9.96-7.5-10-3.55.04-7.14 5.66-7.5 10-.37 4.43 1.27 9.95 7.5 10z"]],"egg-fried":[[1,11.5,12.5,3.5],[6,"M3 8c0-3.5 2.5-6 6.5-6 5 0 4.83 3 7.5 5s5 2 5 6c0 4.5-2.5 6.5-7 6.5-2.5 0-2.5 2.5-6 2.5s-7-2-7-5.5c0-3 1.5-3 1.5-5C3.5 10 3 9 3 8Z"]],"egg-off":[[6,"M6.399 6.399C5.362 8.157 4.65 10.189 4.5 12c-.37 4.43 1.27 9.95 7.5 10 3.256-.026 5.259-1.547 6.375-3.625"],[6,"M19.532 13.875A14.07 14.07 0 0 0 19.5 12c-.36-4.34-3.95-9.96-7.5-10-1.04.012-2.082.502-3.046 1.297"],[0,2,2,22,22]],ellipsis:[[1,12,12,1],[1,19,12,1],[1,5,12,1]],"ellipsis-vertical":[[1,12,12,1],[1,12,5,1],[1,12,19,1]],equal:[[0,5,9,19,9],[0,5,15,19,15]],"equal-not":[[0,5,9,19,9],[0,5,15,19,15],[0,19,5,5,19]],"equal-square":[[5,3,3,18,18,2],[6,"M7 10h10"],[6,"M7 14h10"]],eraser:[[6,"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21"],[6,"M22 21H7"],[6,"m5 11 9 9"]],"ethernet-port":[[6,"m15 20 3-3h2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h2l3 3z"],[6,"M6 8v1"],[6,"M10 8v1"],[6,"M14 8v1"],[6,"M18 8v1"]],euro:[[6,"M4 10h12"],[6,"M4 14h9"],[6,"M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2"]],expand:[[6,"m21 21-6-6m6 6v-4.8m0 4.8h-4.8"],[6,"M3 16.2V21m0 0h4.8M3 21l6-6"],[6,"M21 7.8V3m0 0h-4.8M21 3l-6 6"],[6,"M3 7.8V3m0 0h4.8M3 3l6 6"]],"external-link":[[6,"M15 3h6v6"],[6,"M10 14 21 3"],[6,"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"]],eye:[[6,"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"],[1,12,12,3]],"eye-off":[[6,"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"],[6,"M14.084 14.158a3 3 0 0 1-4.242-4.242"],[6,"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"],[6,"m2 2 20 20"]],facebook:[[6,"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"]],factory:[[6,"M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M17 18h1"],[6,"M12 18h1"],[6,"M7 18h1"]],fan:[[6,"M10.827 16.379a6.082 6.082 0 0 1-8.618-7.002l5.412 1.45a6.082 6.082 0 0 1 7.002-8.618l-1.45 5.412a6.082 6.082 0 0 1 8.618 7.002l-5.412-1.45a6.082 6.082 0 0 1-7.002 8.618l1.45-5.412Z"],[6,"M12 12v.01"]],"fast-forward":[[3,"13 19 22 12 13 5 13 19"],[3,"2 19 11 12 2 5 2 19"]],feather:[[6,"M12.67 19a2 2 0 0 0 1.416-.588l6.154-6.172a6 6 0 0 0-8.49-8.49L5.586 9.914A2 2 0 0 0 5 11.328V18a1 1 0 0 0 1 1z"],[6,"M16 8 2 22"],[6,"M17.5 15H9"]],fence:[[6,"M4 3 2 5v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z"],[6,"M6 8h4"],[6,"M6 18h4"],[6,"m12 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z"],[6,"M14 8h4"],[6,"M14 18h4"],[6,"m20 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z"]],"ferris-wheel":[[1,12,12,2],[6,"M12 2v4"],[6,"m6.8 15-3.5 2"],[6,"m20.7 7-3.5 2"],[6,"M6.8 9 3.3 7"],[6,"m20.7 17-3.5-2"],[6,"m9 22 3-8 3 8"],[6,"M8 22h8"],[6,"M18 18.7a9 9 0 1 0-12 0"]],figma:[[6,"M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z"],[6,"M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z"],[6,"M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z"],[6,"M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z"],[6,"M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z"]],file:[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"]],"file-archive":[[6,"M10 12v-1"],[6,"M10 18v-2"],[6,"M10 7V6"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01"],[1,10,20,2]],"file-audio":[[6,"M17.5 22h.5a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M2 19a2 2 0 1 1 4 0v1a2 2 0 1 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 1 1-4 0v-1a2 2 0 1 1 4 0"]],"file-audio-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,3,17,1],[6,"M2 17v-3a4 4 0 0 1 8 0v3"],[1,9,17,1]],"file-axis-3d":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m8 18 4-4"],[6,"M8 10v8h8"]],"file-badge":[[6,"M12 22h6a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M5 17a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"],[6,"M7 16.5 8 22l-3-1-3 1 1-5.5"]],"file-badge-2":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[1,12,10,3],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m14 12.5 1 5.5-3-1-3 1 1-5.5"]],"file-bar-chart":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 18v-2"],[6,"M12 18v-4"],[6,"M16 18v-6"]],"file-bar-chart-2":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 18v-1"],[6,"M12 18v-6"],[6,"M16 18v-3"]],"file-box":[[6,"M14.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M3 13.1a2 2 0 0 0-1 1.76v3.24a2 2 0 0 0 .97 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01Z"],[6,"M7 17v5"],[6,"M11.7 14.2 7 17l-4.7-2.8"]],"file-chart-column":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 18v-1"],[6,"M12 18v-6"],[6,"M16 18v-3"]],"file-chart-column-increasing":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 18v-2"],[6,"M12 18v-4"],[6,"M16 18v-6"]],"file-chart-line":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m16 13-3.5 3.5-2-2L8 17"]],"file-chart-pie":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3.5"],[6,"M4.017 11.512a6 6 0 1 0 8.466 8.475"],[6,"M9 16a1 1 0 0 1-1-1v-4c0-.552.45-1.008.995-.917a6 6 0 0 1 4.922 4.922c.091.544-.365.995-.917.995z"]],"file-check":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m9 15 2 2 4-4"]],"file-check-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m3 15 2 2 4-4"]],"file-clock":[[6,"M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,8,16,6],[6,"M9.5 17.5 8 16.25V14"]],"file-code":[[6,"M10 12.5 8 15l2 2.5"],[6,"m14 12.5 2 2.5-2 2.5"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"]],"file-code-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m5 12-3 3 3 3"],[6,"m9 18 3-3-3-3"]],"file-cog":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m3.2 12.9-.9-.4"],[6,"m3.2 15.1-.9.4"],[6,"M4.677 21.5a2 2 0 0 0 1.313.5H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2.5"],[6,"m4.9 11.2-.4-.9"],[6,"m4.9 16.8-.4.9"],[6,"m7.5 10.3-.4.9"],[6,"m7.5 17.7-.4-.9"],[6,"m9.7 12.5-.9.4"],[6,"m9.7 15.5-.9-.4"],[1,6,14,3]],"file-cog-2":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m3.2 12.9-.9-.4"],[6,"m3.2 15.1-.9.4"],[6,"M4.677 21.5a2 2 0 0 0 1.313.5H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2.5"],[6,"m4.9 11.2-.4-.9"],[6,"m4.9 16.8-.4.9"],[6,"m7.5 10.3-.4.9"],[6,"m7.5 17.7-.4-.9"],[6,"m9.7 12.5-.9.4"],[6,"m9.7 15.5-.9-.4"],[1,6,14,3]],"file-diff":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M9 10h6"],[6,"M12 13V7"],[6,"M9 17h6"]],"file-digit":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[5,2,12,4,6,2],[6,"M10 12h2v6"],[6,"M10 18h4"]],"file-down":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M12 18v-6"],[6,"m9 15 3 3 3-3"]],"file-edit":[[6,"M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"file-heart":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M10.29 10.7a2.43 2.43 0 0 0-2.66-.52c-.29.12-.56.3-.78.53l-.35.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L6.5 18l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z"]],"file-image":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,10,12,2],[6,"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22"]],"file-input":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M2 15h10"],[6,"m9 18 3-3-3-3"]],"file-json":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1"],[6,"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1"]],"file-json-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1"],[6,"M8 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1"]],"file-key":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[1,10,16,2],[6,"m16 10-4.5 4.5"],[6,"m15 11 1 1"]],"file-key-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v6"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,4,16,2],[6,"m10 10-4.5 4.5"],[6,"m9 11 1 1"]],"file-line-chart":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m16 13-3.5 3.5-2-2L8 17"]],"file-lock":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[5,8,12,8,6,1],[6,"M10 12v-2a2 2 0 1 1 4 0v2"]],"file-lock-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v1"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[5,2,13,8,5,1],[6,"M8 13v-2a2 2 0 1 0-4 0v2"]],"file-minus":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M9 15h6"]],"file-minus-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M3 15h6"]],"file-music":[[1,14,16,2],[1,6,18,2],[6,"M4 12.4V4a2 2 0 0 1 2-2h8.5L20 7.5V20a2 2 0 0 1-2 2h-7.5"],[6,"M8 18v-7.7L16 9v7"]],"file-output":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2"],[6,"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6"],[6,"m5 11-3 3"],[6,"m5 17-3-3h10"]],"file-pen":[[6,"M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"file-pen-line":[[6,"m18 5-2.414-2.414A2 2 0 0 0 14.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2"],[6,"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"],[6,"M8 18h1"]],"file-pie-chart":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3.5"],[6,"M4.017 11.512a6 6 0 1 0 8.466 8.475"],[6,"M9 16a1 1 0 0 1-1-1v-4c0-.552.45-1.008.995-.917a6 6 0 0 1 4.922 4.922c.091.544-.365.995-.917.995z"]],"file-plus":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M9 15h6"],[6,"M12 18v-6"]],"file-plus-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M3 15h6"],[6,"M6 12v6"]],"file-question":[[6,"M12 17h.01"],[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"],[6,"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3"]],"file-scan":[[6,"M20 10V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M16 14a2 2 0 0 0-2 2"],[6,"M20 14a2 2 0 0 1 2 2"],[6,"M20 22a2 2 0 0 0 2-2"],[6,"M16 22a2 2 0 0 1-2-2"]],"file-search":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"],[6,"m9 18-1.5-1.5"],[1,5,14,3]],"file-search-2":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,11.5,14.5,2.5],[6,"M13.3 16.3 15 18"]],"file-signature":[[6,"m18 5-2.414-2.414A2 2 0 0 0 14.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2"],[6,"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"],[6,"M8 18h1"]],"file-sliders":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 12h8"],[6,"M10 11v2"],[6,"M8 17h8"],[6,"M14 16v2"]],"file-spreadsheet":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 13h2"],[6,"M14 13h2"],[6,"M8 17h2"],[6,"M14 17h2"]],"file-stack":[[6,"M21 7h-3a2 2 0 0 1-2-2V2"],[6,"M21 6v6.5c0 .8-.7 1.5-1.5 1.5h-7c-.8 0-1.5-.7-1.5-1.5v-9c0-.8.7-1.5 1.5-1.5H17Z"],[6,"M7 8v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H15"],[6,"M3 12v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H11"]],"file-symlink":[[6,"m10 18 3-3-3-3"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4 11V4a2 2 0 0 1 2-2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7"]],"file-terminal":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m8 16 2-2-2-2"],[6,"M12 18h4"]],"file-text":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M10 9H8"],[6,"M16 13H8"],[6,"M16 17H8"]],"file-type":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M9 13v-1h6v1"],[6,"M12 12v6"],[6,"M11 18h2"]],"file-type-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M2 13v-1h6v1"],[6,"M5 12v6"],[6,"M4 18h2"]],"file-up":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M12 12v6"],[6,"m15 15-3-3-3 3"]],"file-user":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M15 18a3 3 0 1 0-6 0"],[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"],[1,12,13,2]],"file-video":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m10 11 5 3-5 3v-6Z"]],"file-video-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[5,2,12,8,6,1],[6,"m10 15.5 4 2.5v-6l-4 2.5"]],"file-volume":[[6,"M11 11a5 5 0 0 1 0 6"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4 6.765V4a2 2 0 0 1 2-2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-.93-.23"],[6,"M7 10.51a.5.5 0 0 0-.826-.38l-1.893 1.628A1 1 0 0 1 3.63 12H2.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h1.129a1 1 0 0 1 .652.242l1.893 1.63a.5.5 0 0 0 .826-.38z"]],"file-volume-2":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 15h.01"],[6,"M11.5 13.5a2.5 2.5 0 0 1 0 3"],[6,"M15 12a5 5 0 0 1 0 6"]],"file-warning":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M12 9v4"],[6,"M12 17h.01"]],"file-x":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m14.5 12.5-5 5"],[6,"m9.5 12.5 5 5"]],"file-x2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m8 12.5-5 5"],[6,"m3 12.5 5 5"]],files:[[6,"M20 7h-3a2 2 0 0 1-2-2V2"],[6,"M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"],[6,"M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"]],film:[[5,3,3,18,18,2],[6,"M7 3v18"],[6,"M3 7.5h4"],[6,"M3 12h18"],[6,"M3 16.5h4"],[6,"M17 3v18"],[6,"M17 7.5h4"],[6,"M17 16.5h4"]],filter:[[3,"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"]],"filter-x":[[6,"M13.013 3H2l8 9.46V19l4 2v-8.54l.9-1.055"],[6,"m22 3-5 5"],[6,"m17 3 5 5"]],fingerprint:[[6,"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4"],[6,"M14 13.12c0 2.38 0 6.38-1 8.88"],[6,"M17.29 21.02c.12-.6.43-2.3.5-3.02"],[6,"M2 12a10 10 0 0 1 18-6"],[6,"M2 16h.01"],[6,"M21.8 16c.2-2 .131-5.354 0-6"],[6,"M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2"],[6,"M8.65 22c.21-.66.45-1.32.57-2"],[6,"M9 6.8a6 6 0 0 1 9 5.2v2"]],"fire-extinguisher":[[6,"M15 6.5V3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3.5"],[6,"M9 18h8"],[6,"M18 3h-3"],[6,"M11 3a6 6 0 0 0-6 6v11"],[6,"M5 13h4"],[6,"M17 10a4 4 0 0 0-8 0v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2Z"]],fish:[[6,"M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z"],[6,"M18 12v.5"],[6,"M16 17.93a9.77 9.77 0 0 1 0-11.86"],[6,"M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33"],[6,"M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4"],[6,"m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98"]],"fish-off":[[6,"M18 12.47v.03m0-.5v.47m-.475 5.056A6.744 6.744 0 0 1 15 18c-3.56 0-7.56-2.53-8.5-6 .348-1.28 1.114-2.433 2.121-3.38m3.444-2.088A8.802 8.802 0 0 1 15 6c3.56 0 6.06 2.54 7 6-.309 1.14-.786 2.177-1.413 3.058"],[6,"M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33m7.48-4.372A9.77 9.77 0 0 1 16 6.07m0 11.86a9.77 9.77 0 0 1-1.728-3.618"],[6,"m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98M8.53 3h5.27a2 2 0 0 1 1.98 1.67l.23 1.4M2 2l20 20"]],"fish-symbol":[[6,"M2 16s9-15 20-4C11 23 2 8 2 8"]],flag:[[6,"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"],[0,4,22,4,15]],"flag-off":[[6,"M8 2c3 0 5 2 8 2s4-1 4-1v11"],[6,"M4 22V4"],[6,"M4 15s1-1 4-1 5 2 8 2"],[0,2,2,22,22]],"flag-triangle-left":[[6,"M17 22V2L7 7l10 5"]],"flag-triangle-right":[[6,"M7 22V2l10 5-10 5"]],flame:[[6,"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"]],"flame-kindling":[[6,"M12 2c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 17 10a5 5 0 1 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C8 4.5 11 2 12 2Z"],[6,"m5 22 14-4"],[6,"m5 18 14 4"]],flashlight:[[6,"M18 6c0 2-2 2-2 4v10a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4V2h12z"],[0,6,6,18,6],[0,12,12,12,12]],"flashlight-off":[[6,"M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4"],[6,"M7 2h11v4c0 2-2 2-2 4v1"],[0,11,6,18,6],[0,2,2,22,22]],"flask-conical":[[6,"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2"],[6,"M8.5 2h7"],[6,"M7 16h10"]],"flask-conical-off":[[6,"M10 10 4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-1.272-2.542"],[6,"M10 2v2.343"],[6,"M14 2v6.343"],[6,"M8.5 2h7"],[6,"M7 16h9"],[0,2,2,22,22]],"flask-round":[[6,"M10 2v7.31"],[6,"M14 9.3V1.99"],[6,"M8.5 2h7"],[6,"M14 9.3a6.5 6.5 0 1 1-4 0"],[6,"M5.52 16h12.96"]],"flip-horizontal":[[6,"M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3"],[6,"M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3"],[6,"M12 20v2"],[6,"M12 14v2"],[6,"M12 8v2"],[6,"M12 2v2"]],"flip-horizontal-2":[[6,"m3 7 5 5-5 5V7"],[6,"m21 7-5 5 5 5V7"],[6,"M12 20v2"],[6,"M12 14v2"],[6,"M12 8v2"],[6,"M12 2v2"]],"flip-vertical":[[6,"M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3"],[6,"M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3"],[6,"M4 12H2"],[6,"M10 12H8"],[6,"M16 12h-2"],[6,"M22 12h-2"]],"flip-vertical-2":[[6,"m17 3-5 5-5-5h10"],[6,"m17 21-5-5-5 5h10"],[6,"M4 12H2"],[6,"M10 12H8"],[6,"M16 12h-2"],[6,"M22 12h-2"]],flower:[[1,12,12,3],[6,"M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5"],[6,"M12 7.5V9"],[6,"M7.5 12H9"],[6,"M16.5 12H15"],[6,"M12 16.5V15"],[6,"m8 8 1.88 1.88"],[6,"M14.12 9.88 16 8"],[6,"m8 16 1.88-1.88"],[6,"M14.12 14.12 16 16"]],"flower-2":[[6,"M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1"],[1,12,8,2],[6,"M12 10v12"],[6,"M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z"],[6,"M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z"]],focus:[[1,12,12,3],[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"]],"fold-horizontal":[[6,"M2 12h6"],[6,"M22 12h-6"],[6,"M12 2v2"],[6,"M12 8v2"],[6,"M12 14v2"],[6,"M12 20v2"],[6,"m19 9-3 3 3 3"],[6,"m5 15 3-3-3-3"]],"fold-vertical":[[6,"M12 22v-6"],[6,"M12 8V2"],[6,"M4 12H2"],[6,"M10 12H8"],[6,"M16 12h-2"],[6,"M22 12h-2"],[6,"m15 19-3-3-3 3"],[6,"m15 5-3 3-3-3"]],folder:[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"]],"folder-archive":[[1,15,19,2],[6,"M20.9 19.8A2 2 0 0 0 22 18V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h5.1"],[6,"M15 11v-1"],[6,"M15 17v-2"]],"folder-check":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"m9 13 2 2 4-4"]],"folder-clock":[[1,16,16,6],[6,"M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2"],[6,"M16 14v2l1 1"]],"folder-closed":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M2 10h20"]],"folder-code":[[6,"M10 10.5 8 13l2 2.5"],[6,"m14 10.5 2 2.5-2 2.5"],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z"]],"folder-cog":[[1,18,18,3],[6,"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v3.3"],[6,"m21.7 19.4-.9-.3"],[6,"m15.2 16.9-.9-.3"],[6,"m16.6 21.7.3-.9"],[6,"m19.1 15.2.3-.9"],[6,"m19.6 21.7-.4-1"],[6,"m16.8 15.3-.4-1"],[6,"m14.3 19.6 1-.4"],[6,"m20.7 16.8 1-.4"]],"folder-cog-2":[[1,18,18,3],[6,"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v3.3"],[6,"m21.7 19.4-.9-.3"],[6,"m15.2 16.9-.9-.3"],[6,"m16.6 21.7.3-.9"],[6,"m19.1 15.2.3-.9"],[6,"m19.6 21.7-.4-1"],[6,"m16.8 15.3-.4-1"],[6,"m14.3 19.6 1-.4"],[6,"m20.7 16.8 1-.4"]],"folder-dot":[[6,"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"],[1,12,13,1]],"folder-down":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M12 10v6"],[6,"m15 13-3 3-3-3"]],"folder-edit":[[6,"M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5"],[6,"M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"folder-git":[[1,12,13,2],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M14 13h3"],[6,"M7 13h3"]],"folder-git-2":[[6,"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5"],[1,13,12,2],[6,"M18 19c-2.8 0-5-2.2-5-5v8"],[1,20,19,2]],"folder-heart":[[6,"M11 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v1.5"],[6,"M13.9 17.45c-1.2-1.2-1.14-2.8-.2-3.73a2.43 2.43 0 0 1 3.44 0l.36.34.34-.34a2.43 2.43 0 0 1 3.45-.01c.95.95 1 2.53-.2 3.74L17.5 21Z"]],"folder-input":[[6,"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1"],[6,"M2 13h10"],[6,"m9 16 3-3-3-3"]],"folder-kanban":[[6,"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"],[6,"M8 10v4"],[6,"M12 10v2"],[6,"M16 10v6"]],"folder-key":[[1,16,20,2],[6,"M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2"],[6,"m22 14-4.5 4.5"],[6,"m21 15 1 1"]],"folder-lock":[[5,14,17,8,5,1],[6,"M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5"],[6,"M20 17v-2a2 2 0 1 0-4 0v2"]],"folder-minus":[[6,"M9 13h6"],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"]],"folder-open":[[6,"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"]],"folder-open-dot":[[6,"m6 14 1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2"],[1,14,15,1]],"folder-output":[[6,"M2 7.5V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-1.5"],[6,"M2 13h10"],[6,"m5 10-3 3 3 3"]],"folder-pen":[[6,"M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5"],[6,"M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"folder-plus":[[6,"M12 10v6"],[6,"M9 13h6"],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"]],"folder-root":[[6,"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"],[1,12,13,2],[6,"M12 15v5"]],"folder-search":[[6,"M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1"],[6,"m21 21-1.9-1.9"],[1,17,17,3]],"folder-search-2":[[1,11.5,12.5,2.5],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M13.3 14.3 15 16"]],"folder-symlink":[[6,"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7"],[6,"m8 16 3-3-3-3"]],"folder-sync":[[6,"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5"],[6,"M12 10v4h4"],[6,"m12 14 1.535-1.605a5 5 0 0 1 8 1.5"],[6,"M22 22v-4h-4"],[6,"m22 18-1.535 1.605a5 5 0 0 1-8-1.5"]],"folder-tree":[[6,"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"],[6,"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"],[6,"M3 5a2 2 0 0 0 2 2h3"],[6,"M3 3v13a2 2 0 0 0 2 2h3"]],"folder-up":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M12 10v6"],[6,"m9 13 3-3 3 3"]],"folder-x":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"m9.5 10.5 5 5"],[6,"m14.5 10.5-5 5"]],folders:[[6,"M20 17a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3.9a2 2 0 0 1-1.69-.9l-.81-1.2a2 2 0 0 0-1.67-.9H8a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2Z"],[6,"M2 8v11a2 2 0 0 0 2 2h14"]],footprints:[[6,"M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z"],[6,"M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z"],[6,"M16 17h4"],[6,"M4 13h4"]],"fork-knife":[[6,"M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2"],[6,"M7 2v20"],[6,"M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7"]],"fork-knife-crossed":[[6,"m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8"],[6,"M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7"],[6,"m2.1 21.8 6.4-6.3"],[6,"m19 5-7 7"]],forklift:[[6,"M12 12H5a2 2 0 0 0-2 2v5"],[1,13,19,2],[1,5,19,2],[6,"M8 19h3m5-17v17h6M6 12V7c0-1.1.9-2 2-2h3l5 5"]],"form-input":[[5,2,6,20,12,2],[6,"M12 12h.01"],[6,"M17 12h.01"],[6,"M7 12h.01"]],forward:[[2,"15 17 20 12 15 7"],[6,"M4 18v-2a4 4 0 0 1 4-4h12"]],frame:[[0,22,6,2,6],[0,22,18,2,18],[0,6,2,6,22],[0,18,2,18,22]],framer:[[6,"M5 16V9h14V2H5l14 14h-7m-7 0 7 7v-7m-7 0h7"]],frown:[[1,12,12,10],[6,"M16 16s-1.5-2-4-2-4 2-4 2"],[0,9,9,9.01,9],[0,15,9,15.01,9]],fuel:[[0,3,22,15,22],[0,4,9,14,9],[6,"M14 22V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v18"],[6,"M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 2 2a2 2 0 0 0 2-2V9.83a2 2 0 0 0-.59-1.42L18 5"]],fullscreen:[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[5,7,8,10,8,1]],"function-square":[[5,3,3,18,18,2,2],[6,"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3"],[6,"M9 11.2h5.7"]],"gallery-horizontal":[[6,"M2 3v18"],[5,6,3,12,18,2],[6,"M22 3v18"]],"gallery-horizontal-end":[[6,"M2 7v10"],[6,"M6 5v14"],[5,10,3,12,18,2]],"gallery-thumbnails":[[5,3,3,18,14,2],[6,"M4 21h1"],[6,"M9 21h1"],[6,"M14 21h1"],[6,"M19 21h1"]],"gallery-vertical":[[6,"M3 2h18"],[5,3,6,18,12,2],[6,"M3 22h18"]],"gallery-vertical-end":[[6,"M7 2h10"],[6,"M5 6h14"],[5,3,10,18,12,2]],gamepad:[[0,6,12,10,12],[0,8,10,8,14],[0,15,13,15.01,13],[0,18,11,18.01,11],[5,2,6,20,12,2]],"gamepad-2":[[0,6,11,10,11],[0,8,9,8,13],[0,15,12,15.01,12],[0,18,10,18.01,10],[6,"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z"]],"gantt-chart":[[6,"M8 6h10"],[6,"M6 12h9"],[6,"M11 18h7"]],"gantt-chart-square":[[5,3,3,18,18,2],[6,"M9 8h7"],[6,"M8 12h6"],[6,"M11 16h5"]],gauge:[[6,"m12 14 4-4"],[6,"M3.34 19a10 10 0 1 1 17.32 0"]],"gauge-circle":[[6,"M15.6 2.7a10 10 0 1 0 5.7 5.7"],[1,12,12,2],[6,"M13.4 10.6 19 5"]],gavel:[[6,"m14.5 12.5-8 8a2.119 2.119 0 1 1-3-3l8-8"],[6,"m16 16 6-6"],[6,"m8 8 6-6"],[6,"m9 7 8 8"],[6,"m21 11-8-8"]],gem:[[6,"M6 3h12l4 6-10 13L2 9Z"],[6,"M11 3 8 9l4 13 4-13-3-6"],[6,"M2 9h20"]],ghost:[[6,"M9 10h.01"],[6,"M15 10h.01"],[6,"M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z"]],gift:[[5,3,8,18,4,1],[6,"M12 8v13"],[6,"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7"],[6,"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5"]],"git-branch":[[0,6,3,6,15],[1,18,6,3],[1,6,18,3],[6,"M18 9a9 9 0 0 1-9 9"]],"git-branch-plus":[[6,"M6 3v12"],[6,"M18 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"],[6,"M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"],[6,"M15 6a9 9 0 0 0-9 9"],[6,"M18 15v6"],[6,"M21 18h-6"]],"git-commit":[[1,12,12,3],[0,3,12,9,12],[0,15,12,21,12]],"git-commit-horizontal":[[1,12,12,3],[0,3,12,9,12],[0,15,12,21,12]],"git-commit-vertical":[[6,"M12 3v6"],[1,12,12,3],[6,"M12 15v6"]],"git-compare":[[1,18,18,3],[1,6,6,3],[6,"M13 6h3a2 2 0 0 1 2 2v7"],[6,"M11 18H8a2 2 0 0 1-2-2V9"]],"git-compare-arrows":[[1,5,6,3],[6,"M12 6h5a2 2 0 0 1 2 2v7"],[6,"m15 9-3-3 3-3"],[1,19,18,3],[6,"M12 18H7a2 2 0 0 1-2-2V9"],[6,"m9 15 3 3-3 3"]],"git-fork":[[1,12,18,3],[1,6,6,3],[1,18,6,3],[6,"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9"],[6,"M12 12v3"]],"git-graph":[[1,5,6,3],[6,"M5 9v6"],[1,5,18,3],[6,"M12 3v18"],[1,19,6,3],[6,"M16 15.7A9 9 0 0 0 19 9"]],"git-merge":[[1,18,18,3],[1,6,6,3],[6,"M6 21V9a9 9 0 0 0 9 9"]],"git-pull-request":[[1,18,18,3],[1,6,6,3],[6,"M13 6h3a2 2 0 0 1 2 2v7"],[0,6,9,6,21]],"git-pull-request-arrow":[[1,5,6,3],[6,"M5 9v12"],[1,19,18,3],[6,"m15 9-3-3 3-3"],[6,"M12 6h5a2 2 0 0 1 2 2v7"]],"git-pull-request-closed":[[1,6,6,3],[6,"M6 9v12"],[6,"m21 3-6 6"],[6,"m21 9-6-6"],[6,"M18 11.5V15"],[1,18,18,3]],"git-pull-request-create":[[1,6,6,3],[6,"M6 9v12"],[6,"M13 6h3a2 2 0 0 1 2 2v3"],[6,"M18 15v6"],[6,"M21 18h-6"]],"git-pull-request-create-arrow":[[1,5,6,3],[6,"M5 9v12"],[6,"m15 9-3-3 3-3"],[6,"M12 6h5a2 2 0 0 1 2 2v3"],[6,"M19 15v6"],[6,"M22 18h-6"]],"git-pull-request-draft":[[1,18,18,3],[1,6,6,3],[6,"M18 6V5"],[6,"M18 11v-1"],[0,6,9,6,21]],github:[[6,"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"],[6,"M9 18c-4.51 2-5-2-7-2"]],gitlab:[[6,"m22 13.29-3.33-10a.42.42 0 0 0-.14-.18.38.38 0 0 0-.22-.11.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18l-2.26 6.67H8.32L6.1 3.26a.42.42 0 0 0-.1-.18.38.38 0 0 0-.26-.08.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18L2 13.29a.74.74 0 0 0 .27.83L12 21l9.69-6.88a.71.71 0 0 0 .31-.83Z"]],"glass-water":[[6,"M15.2 22H8.8a2 2 0 0 1-2-1.79L5 3h14l-1.81 17.21A2 2 0 0 1 15.2 22Z"],[6,"M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0"]],glasses:[[1,6,15,4],[1,18,15,4],[6,"M14 15a2 2 0 0 0-2-2 2 2 0 0 0-2 2"],[6,"M2.5 13 5 7c.7-1.3 1.4-2 3-2"],[6,"M21.5 13 19 7c-.7-1.3-1.5-2-3-2"]],globe:[[1,12,12,10],[6,"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"],[6,"M2 12h20"]],"globe-2":[[6,"M21.54 15H17a2 2 0 0 0-2 2v4.54"],[6,"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17"],[6,"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05"],[1,12,12,10]],"globe-lock":[[6,"M15.686 15A14.5 14.5 0 0 1 12 22a14.5 14.5 0 0 1 0-20 10 10 0 1 0 9.542 13"],[6,"M2 12h8.5"],[6,"M20 6V4a2 2 0 1 0-4 0v2"],[5,14,6,8,5,1]],goal:[[6,"M12 13V2l8 4-8 4"],[6,"M20.561 10.222a9 9 0 1 1-12.55-5.29"],[6,"M8.002 9.997a5 5 0 1 0 8.9 2.02"]],grab:[[6,"M18 11.5V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4"],[6,"M14 10V8a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2"],[6,"M10 9.9V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5"],[6,"M6 14a2 2 0 0 0-2-2a2 2 0 0 0-2 2"],[6,"M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0"]],"graduation-cap":[[6,"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z"],[6,"M22 10v6"],[6,"M6 12.5V16a6 3 0 0 0 12 0v-3.5"]],grape:[[6,"M22 5V2l-5.89 5.89"],[1,16.6,15.89,3],[1,8.11,7.4,3],[1,12.35,11.65,3],[1,13.91,5.85,3],[1,18.15,10.09,3],[1,6.56,13.2,3],[1,10.8,17.44,3],[1,5,19,3]],grid:[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M3 15h18"],[6,"M9 3v18"],[6,"M15 3v18"]],"grid-2x-2":[[5,3,3,18,18,2],[6,"M3 12h18"],[6,"M12 3v18"]],"grid-2x-2check":[[6,"M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3"],[6,"m16 19 2 2 4-4"]],"grid-2x-2plus":[[6,"M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3"],[6,"M16 19h6"],[6,"M19 22v-6"]],"grid-2x-2x":[[6,"M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3"],[6,"m16 16 5 5"],[6,"m16 21 5-5"]],"grid-3x-3":[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M3 15h18"],[6,"M9 3v18"],[6,"M15 3v18"]],grip:[[1,12,5,1],[1,19,5,1],[1,5,5,1],[1,12,12,1],[1,19,12,1],[1,5,12,1],[1,12,19,1],[1,19,19,1],[1,5,19,1]],"grip-horizontal":[[1,12,9,1],[1,19,9,1],[1,5,9,1],[1,12,15,1],[1,19,15,1],[1,5,15,1]],"grip-vertical":[[1,9,12,1],[1,9,5,1],[1,9,19,1],[1,15,12,1],[1,15,5,1],[1,15,19,1]],group:[[6,"M3 7V5c0-1.1.9-2 2-2h2"],[6,"M17 3h2c1.1 0 2 .9 2 2v2"],[6,"M21 17v2c0 1.1-.9 2-2 2h-2"],[6,"M7 21H5c-1.1 0-2-.9-2-2v-2"],[5,7,7,7,5,1],[5,10,12,7,5,1]],guitar:[[6,"m11.9 12.1 4.514-4.514"],[6,"M20.1 2.3a1 1 0 0 0-1.4 0l-1.114 1.114A2 2 0 0 0 17 4.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 17.828 7h1.344a2 2 0 0 0 1.414-.586L21.7 5.3a1 1 0 0 0 0-1.4z"],[6,"m6 16 2 2"],[6,"M8.2 9.9C8.7 8.8 9.8 8 11 8c2.8 0 5 2.2 5 5 0 1.2-.8 2.3-1.9 2.8l-.9.4A2 2 0 0 0 12 18a4 4 0 0 1-4 4c-3.3 0-6-2.7-6-6a4 4 0 0 1 4-4 2 2 0 0 0 1.8-1.2z"],[1,11.5,12.5,.5]],ham:[[6,"M13.144 21.144A7.274 10.445 45 1 0 2.856 10.856"],[6,"M13.144 21.144A7.274 4.365 45 0 0 2.856 10.856a7.274 4.365 45 0 0 10.288 10.288"],[6,"M16.565 10.435 18.6 8.4a2.501 2.501 0 1 0 1.65-4.65 2.5 2.5 0 1 0-4.66 1.66l-2.024 2.025"],[6,"m8.5 16.5-1-1"]],hammer:[[6,"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9"],[6,"m18 15 4-4"],[6,"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5"]],hand:[[6,"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2"],[6,"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2"],[6,"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8"],[6,"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15"]],"hand-coins":[[6,"M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17"],[6,"m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"],[6,"m2 16 6 6"],[1,16,9,2.9],[1,6,5,3]],"hand-heart":[[6,"M11 14h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16"],[6,"m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"],[6,"m2 15 6 6"],[6,"M19.5 8.5c.7-.7 1.5-1.6 1.5-2.7A2.73 2.73 0 0 0 16 4a2.78 2.78 0 0 0-5 1.8c0 1.2.8 2 1.5 2.8L16 12Z"]],"hand-helping":[[6,"M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14"],[6,"m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"],[6,"m2 13 6 6"]],"hand-metal":[[6,"M18 12.5V10a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4"],[6,"M14 11V9a2 2 0 1 0-4 0v2"],[6,"M10 10.5V5a2 2 0 1 0-4 0v9"],[6,"m7 15-1.76-1.76a2 2 0 0 0-2.83 2.82l3.6 3.6C7.5 21.14 9.2 22 12 22h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v5"]],"hand-platter":[[6,"M12 3V2"],[6,"M5 10a7.1 7.1 0 0 1 14 0"],[6,"M4 10h16"],[6,"M2 14h12a2 2 0 1 1 0 4h-2"],[6,"m15.4 17.4 3.2-2.8a2 2 0 0 1 2.8 2.9l-3.6 3.3c-.7.8-1.7 1.2-2.8 1.2h-4c-1.1 0-2.1-.4-2.8-1.2L5 18"],[6,"M5 14v7H2"]],handshake:[[6,"m11 17 2 2a1 1 0 1 0 3-3"],[6,"m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4"],[6,"m21 3 1 11h-2"],[6,"M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3"],[6,"M3 4h8"]],"hard-drive":[[0,22,12,2,12],[6,"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"],[0,6,16,6.01,16],[0,10,16,10.01,16]],"hard-drive-download":[[6,"M12 2v8"],[6,"m16 6-4 4-4-4"],[5,2,14,20,8,2],[6,"M6 18h.01"],[6,"M10 18h.01"]],"hard-drive-upload":[[6,"m16 6-4-4-4 4"],[6,"M12 2v8"],[5,2,14,20,8,2],[6,"M6 18h.01"],[6,"M10 18h.01"]],"hard-hat":[[6,"M2 18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v2z"],[6,"M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5"],[6,"M4 15v-3a6 6 0 0 1 6-6"],[6,"M14 6a6 6 0 0 1 6 6v3"]],hash:[[0,4,9,20,9],[0,4,15,20,15],[0,10,3,8,21],[0,16,3,14,21]],haze:[[6,"m5.2 6.2 1.4 1.4"],[6,"M2 13h2"],[6,"M20 13h2"],[6,"m17.4 7.6 1.4-1.4"],[6,"M22 17H2"],[6,"M22 21H2"],[6,"M16 13a4 4 0 0 0-8 0"],[6,"M12 5V2.5"]],"hdmi-port":[[6,"M22 9a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1l2 2h12l2-2h1a1 1 0 0 0 1-1Z"],[6,"M7.5 12h9"]],heading:[[6,"M6 12h12"],[6,"M6 20V4"],[6,"M18 20V4"]],"heading-1":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"m17 12 3-2v8"]],"heading-2":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1"]],"heading-3":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2"],[6,"M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2"]],"heading-4":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"M17 10v4h4"],[6,"M21 10v8"]],"heading-5":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"M17 13v-3h4"],[6,"M17 17.7c.4.2.8.3 1.3.3 1.5 0 2.7-1.1 2.7-2.5S19.8 13 18.3 13H17"]],"heading-6":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[1,19,16,2],[6,"M20 10c-2 2-3 3.5-3 6"]],"headphone-off":[[6,"M21 14h-1.343"],[6,"M9.128 3.47A9 9 0 0 1 21 12v3.343"],[6,"m2 2 20 20"],[6,"M20.414 20.414A2 2 0 0 1 19 21h-1a2 2 0 0 1-2-2v-3"],[6,"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 2.636-6.364"]],headphones:[[6,"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3"]],headset:[[6,"M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z"],[6,"M21 16v2a4 4 0 0 1-4 4h-5"]],heart:[[6,"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"]],"heart-crack":[[6,"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"],[6,"m12 13-1-1 2-2-3-3 2-2"]],"heart-handshake":[[6,"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"],[6,"M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66"],[6,"m18 15-2-2"],[6,"m15 18-2-2"]],"heart-off":[[0,2,2,22,22],[6,"M16.5 16.5 12 21l-7-7c-1.5-1.45-3-3.2-3-5.5a5.5 5.5 0 0 1 2.14-4.35"],[6,"M8.76 3.1c1.15.22 2.13.78 3.24 1.9 1.5-1.5 2.74-2 4.5-2A5.5 5.5 0 0 1 22 8.5c0 2.12-1.3 3.78-2.67 5.17"]],"heart-pulse":[[6,"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"],[6,"M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27"]],heater:[[6,"M11 8c2-3-2-3 0-6"],[6,"M15.5 8c2-3-2-3 0-6"],[6,"M6 10h.01"],[6,"M6 14h.01"],[6,"M10 16v-4"],[6,"M14 16v-4"],[6,"M18 16v-4"],[6,"M20 6a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3"],[6,"M5 20v2"],[6,"M19 20v2"]],"help-circle":[[1,12,12,10],[6,"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"],[6,"M12 17h.01"]],"helping-hand":[[6,"M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14"],[6,"m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"],[6,"m2 13 6 6"]],hexagon:[[6,"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"]],highlighter:[[6,"m9 11-6 6v3h9l3-3"],[6,"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"]],history:[[6,"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"],[6,"M3 3v5h5"],[6,"M12 7v5l4 2"]],home:[[6,"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"],[6,"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"]],hop:[[6,"M10.82 16.12c1.69.6 3.91.79 5.18.85.55.03 1-.42.97-.97-.06-1.27-.26-3.5-.85-5.18"],[6,"M11.5 6.5c1.64 0 5-.38 6.71-1.07.52-.2.55-.82.12-1.17A10 10 0 0 0 4.26 18.33c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.88.88 0 0 0 .73-.74c.3-2.14-.15-3.5-.61-4.88"],[6,"M15.62 16.95c.2.85.62 2.76.5 4.28a.77.77 0 0 1-.9.7 16.64 16.64 0 0 1-4.08-1.36"],[6,"M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .96-.96 17.68 17.68 0 0 0-.9-4.87"],[6,"M16.94 15.62c.86.2 2.77.62 4.29.5a.77.77 0 0 0 .7-.9 16.64 16.64 0 0 0-1.36-4.08"],[6,"M17.99 5.52a20.82 20.82 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-2.33.2-5.3-.32-8.27-1.57"],[6,"M4.93 4.93 3 3a.7.7 0 0 1 0-1"],[6,"M9.58 12.18c1.24 2.98 1.77 5.95 1.57 8.28a.8.8 0 0 1-1.13.68 20.82 20.82 0 0 1-4.5-3.15"]],"hop-off":[[6,"M10.82 16.12c1.69.6 3.91.79 5.18.85.28.01.53-.09.7-.27"],[6,"M11.14 20.57c.52.24 2.44 1.12 4.08 1.37.46.06.86-.25.9-.71.12-1.52-.3-3.43-.5-4.28"],[6,"M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .7-.26"],[6,"M17.99 5.52a20.83 20.83 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-1.17.1-2.5.02-3.9-.25"],[6,"M20.57 11.14c.24.52 1.12 2.44 1.37 4.08.04.3-.08.59-.31.75"],[6,"M4.93 4.93a10 10 0 0 0-.67 13.4c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.85.85 0 0 0 .48-.24"],[6,"M5.52 17.99c1.05.95 2.91 2.42 4.5 3.15a.8.8 0 0 0 1.13-.68c.2-2.34-.33-5.3-1.57-8.28"],[6,"M8.35 2.68a10 10 0 0 1 9.98 1.58c.43.35.4.96-.12 1.17-1.5.6-4.3.98-6.07 1.05"],[6,"m2 2 20 20"]],hospital:[[6,"M12 6v4"],[6,"M14 14h-4"],[6,"M14 18h-4"],[6,"M14 8h-4"],[6,"M18 12h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h2"],[6,"M18 22V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v18"]],hotel:[[6,"M10 22v-6.57"],[6,"M12 11h.01"],[6,"M12 7h.01"],[6,"M14 15.43V22"],[6,"M15 16a5 5 0 0 0-6 0"],[6,"M16 11h.01"],[6,"M16 7h.01"],[6,"M8 11h.01"],[6,"M8 7h.01"],[5,4,2,16,20,2]],hourglass:[[6,"M5 22h14"],[6,"M5 2h14"],[6,"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22"],[6,"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2"]],house:[[6,"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"],[6,"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"]],"house-plug":[[6,"M10 12V8.964"],[6,"M14 12V8.964"],[6,"M15 12a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2a1 1 0 0 1 1-1z"],[6,"M8.5 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2v-2"]],"house-plus":[[6,"M13.22 2.416a2 2 0 0 0-2.511.057l-7 5.999A2 2 0 0 0 3 10v9a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7.354"],[6,"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"],[6,"M15 6h6"],[6,"M18 3v6"]],"ice-cream":[[6,"m7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11"],[6,"M17 7A5 5 0 0 0 7 7"],[6,"M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4"]],"ice-cream-2":[[6,"M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0"],[6,"M12.14 11a3.5 3.5 0 1 1 6.71 0"],[6,"M15.5 6.5a3.5 3.5 0 1 0-7 0"]],"ice-cream-bowl":[[6,"M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0"],[6,"M12.14 11a3.5 3.5 0 1 1 6.71 0"],[6,"M15.5 6.5a3.5 3.5 0 1 0-7 0"]],"ice-cream-cone":[[6,"m7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11"],[6,"M17 7A5 5 0 0 0 7 7"],[6,"M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4"]],"id-card":[[6,"M16 10h2"],[6,"M16 14h2"],[6,"M6.17 15a3 3 0 0 1 5.66 0"],[1,9,11,2],[5,2,5,20,14,2]],image:[[5,3,3,18,18,2,2],[1,9,9,2],[6,"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"]],"image-down":[[6,"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21"],[6,"m14 19 3 3v-5.5"],[6,"m17 22 3-3"],[1,9,9,2]],"image-minus":[[6,"M21 9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7"],[0,16,5,22,5],[1,9,9,2],[6,"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"]],"image-off":[[0,2,2,22,22],[6,"M10.41 10.41a2 2 0 1 1-2.83-2.83"],[0,13.5,13.5,6,21],[0,18,12,21,15],[6,"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59"],[6,"M21 15V5a2 2 0 0 0-2-2H9"]],"image-play":[[6,"m11 16-5 5"],[6,"M11 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6.5"],[6,"M15.765 22a.5.5 0 0 1-.765-.424V13.38a.5.5 0 0 1 .765-.424l5.878 3.674a1 1 0 0 1 0 1.696z"],[1,9,9,2]],"image-plus":[[6,"M16 5h6"],[6,"M19 2v6"],[6,"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5"],[6,"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"],[1,9,9,2]],"image-up":[[6,"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21"],[6,"m14 19.5 3-3 3 3"],[6,"M17 22v-5.5"],[1,9,9,2]],images:[[6,"M18 22H4a2 2 0 0 1-2-2V6"],[6,"m22 13-1.296-1.296a2.41 2.41 0 0 0-3.408 0L11 18"],[1,12,8,2],[5,6,2,16,16,2]],import:[[6,"M12 3v12"],[6,"m8 11 4 4 4-4"],[6,"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4"]],inbox:[[2,"22 12 16 12 14 15 10 15 8 12 2 12"],[6,"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"]],indent:[[2,"3 8 7 12 3 16"],[0,21,12,11,12],[0,21,6,11,6],[0,21,18,11,18]],"indent-decrease":[[2,"7 8 3 12 7 16"],[0,21,12,11,12],[0,21,6,11,6],[0,21,18,11,18]],"indent-increase":[[2,"3 8 7 12 3 16"],[0,21,12,11,12],[0,21,6,11,6],[0,21,18,11,18]],"indian-rupee":[[6,"M6 3h12"],[6,"M6 8h12"],[6,"m6 13 8.5 8"],[6,"M6 13h3"],[6,"M9 13c6.667 0 6.667-10 0-10"]],infinity:[[6,"M12 12c-2-2.67-4-4-6-4a4 4 0 1 0 0 8c2 0 4-1.33 6-4Zm0 0c2 2.67 4 4 6 4a4 4 0 0 0 0-8c-2 0-4 1.33-6 4Z"]],info:[[1,12,12,10],[6,"M12 16v-4"],[6,"M12 8h.01"]],inspect:[[6,"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"],[6,"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"]],"inspection-panel":[[5,3,3,18,18,2],[6,"M7 7h.01"],[6,"M17 7h.01"],[6,"M7 17h.01"],[6,"M17 17h.01"]],instagram:[[5,2,2,20,20,5,5],[6,"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"],[0,17.5,6.5,17.51,6.5]],italic:[[0,19,4,10,4],[0,14,20,5,20],[0,15,4,9,20]],"iteration-ccw":[[6,"M20 10c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8h8"],[2,"16 14 20 18 16 22"]],"iteration-cw":[[6,"M4 10c0-4.4 3.6-8 8-8s8 3.6 8 8-3.6 8-8 8H4"],[2,"8 22 4 18 8 14"]],"japanese-yen":[[6,"M12 9.5V21m0-11.5L6 3m6 6.5L18 3"],[6,"M6 15h12"],[6,"M6 11h12"]],joystick:[[6,"M21 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2Z"],[6,"M6 15v-2"],[6,"M12 15V9"],[1,12,6,3]],kanban:[[6,"M6 5v11"],[6,"M12 5v6"],[6,"M18 5v14"]],"kanban-square":[[5,3,3,18,18,2],[6,"M8 7v7"],[6,"M12 7v4"],[6,"M16 7v9"]],"kanban-square-dashed":[[6,"M8 7v7"],[6,"M12 7v4"],[6,"M16 7v9"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M9 3h1"],[6,"M14 3h1"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 9v1"],[6,"M21 14v1"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M14 21h1"],[6,"M9 21h1"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M3 14v1"],[6,"M3 9v1"]],key:[[6,"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4"],[6,"m21 2-9.6 9.6"],[1,7.5,15.5,5.5]],"key-round":[[6,"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"],[1,16.5,7.5,.5]],"key-square":[[6,"M12.4 2.7a2.5 2.5 0 0 1 3.4 0l5.5 5.5a2.5 2.5 0 0 1 0 3.4l-3.7 3.7a2.5 2.5 0 0 1-3.4 0L8.7 9.8a2.5 2.5 0 0 1 0-3.4z"],[6,"m14 7 3 3"],[6,"m9.4 10.6-6.814 6.814A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814"]],keyboard:[[6,"M10 8h.01"],[6,"M12 12h.01"],[6,"M14 8h.01"],[6,"M16 12h.01"],[6,"M18 8h.01"],[6,"M6 8h.01"],[6,"M7 16h10"],[6,"M8 12h.01"],[5,2,4,20,16,2]],"keyboard-music":[[5,2,4,20,16,2],[6,"M6 8h4"],[6,"M14 8h.01"],[6,"M18 8h.01"],[6,"M2 12h20"],[6,"M6 12v4"],[6,"M10 12v4"],[6,"M14 12v4"],[6,"M18 12v4"]],"keyboard-off":[[6,"M 20 4 A2 2 0 0 1 22 6"],[6,"M 22 6 L 22 16.41"],[6,"M 7 16 L 16 16"],[6,"M 9.69 4 L 20 4"],[6,"M14 8h.01"],[6,"M18 8h.01"],[6,"m2 2 20 20"],[6,"M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2"],[6,"M6 8h.01"],[6,"M8 12h.01"]],lamp:[[6,"M8 2h8l4 10H4L8 2Z"],[6,"M12 12v6"],[6,"M8 22v-2c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v2H8Z"]],"lamp-ceiling":[[6,"M12 2v5"],[6,"M6 7h12l4 9H2l4-9Z"],[6,"M9.17 16a3 3 0 1 0 5.66 0"]],"lamp-desk":[[6,"m14 5-3 3 2 7 8-8-7-2Z"],[6,"m14 5-3 3-3-3 3-3 3 3Z"],[6,"M9.5 6.5 4 12l3 6"],[6,"M3 22v-2c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v2H3Z"]],"lamp-floor":[[6,"M9 2h6l3 7H6l3-7Z"],[6,"M12 9v13"],[6,"M9 22h6"]],"lamp-wall-down":[[6,"M11 13h6l3 7H8l3-7Z"],[6,"M14 13V8a2 2 0 0 0-2-2H8"],[6,"M4 9h2a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H4v6Z"]],"lamp-wall-up":[[6,"M11 4h6l3 7H8l3-7Z"],[6,"M14 11v5a2 2 0 0 1-2 2H8"],[6,"M4 15h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H4v-6Z"]],"land-plot":[[6,"m12 8 6-3-6-3v10"],[6,"m8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12"],[6,"m6.49 12.85 11.02 6.3"],[6,"M17.51 12.85 6.5 19.15"]],landmark:[[0,3,22,21,22],[0,6,18,6,11],[0,10,18,10,11],[0,14,18,14,11],[0,18,18,18,11],[3,"12 2 20 7 4 7"]],languages:[[6,"m5 8 6 6"],[6,"m4 14 6-6 2-3"],[6,"M2 5h12"],[6,"M7 2h1"],[6,"m22 22-5-10-5 10"],[6,"M14 18h6"]],laptop:[[6,"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16"]],"laptop-2":[[5,3,4,18,12,2,2],[0,2,20,22,20]],"laptop-minimal":[[5,3,4,18,12,2,2],[0,2,20,22,20]],lasso:[[6,"M7 22a5 5 0 0 1-2-4"],[6,"M3.3 14A6.8 6.8 0 0 1 2 10c0-4.4 4.5-8 10-8s10 3.6 10 8-4.5 8-10 8a12 12 0 0 1-5-1"],[6,"M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"]],"lasso-select":[[6,"M7 22a5 5 0 0 1-2-4"],[6,"M7 16.93c.96.43 1.96.74 2.99.91"],[6,"M3.34 14A6.8 6.8 0 0 1 2 10c0-4.42 4.48-8 10-8s10 3.58 10 8a7.19 7.19 0 0 1-.33 2"],[6,"M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"],[6,"M14.33 22h-.09a.35.35 0 0 1-.24-.32v-10a.34.34 0 0 1 .33-.34c.08 0 .15.03.21.08l7.34 6a.33.33 0 0 1-.21.59h-4.49l-2.57 3.85a.35.35 0 0 1-.28.14z"]],laugh:[[1,12,12,10],[6,"M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12Z"],[0,9,9,9.01,9],[0,15,9,15.01,9]],layers:[[6,"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"],[6,"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"],[6,"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"]],"layers-2":[[6,"m16.02 12 5.48 3.13a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74L7.98 12"],[6,"M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74Z"]],"layers-3":[[6,"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"],[6,"m6.08 9.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59"],[6,"m6.08 14.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59"]],layout:[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M9 21V9"]],"layout-dashboard":[[5,3,3,7,9,1],[5,14,3,7,5,1],[5,14,12,7,9,1],[5,3,16,7,5,1]],"layout-grid":[[5,3,3,7,7,1],[5,14,3,7,7,1],[5,14,14,7,7,1],[5,3,14,7,7,1]],"layout-list":[[5,3,3,7,7,1],[5,3,14,7,7,1],[6,"M14 4h7"],[6,"M14 9h7"],[6,"M14 15h7"],[6,"M14 20h7"]],"layout-panel-left":[[5,3,3,7,18,1],[5,14,3,7,7,1],[5,14,14,7,7,1]],"layout-panel-top":[[5,3,3,18,7,1],[5,3,14,7,7,1],[5,14,14,7,7,1]],"layout-template":[[5,3,3,18,7,1],[5,3,14,9,7,1],[5,16,14,5,7,1]],leaf:[[6,"M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z"],[6,"M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12"]],"leafy-green":[[6,"M2 22c1.25-.987 2.27-1.975 3.9-2.2a5.56 5.56 0 0 1 3.8 1.5 4 4 0 0 0 6.187-2.353 3.5 3.5 0 0 0 3.69-5.116A3.5 3.5 0 0 0 20.95 8 3.5 3.5 0 1 0 16 3.05a3.5 3.5 0 0 0-5.831 1.373 3.5 3.5 0 0 0-5.116 3.69 4 4 0 0 0-2.348 6.155C3.499 15.42 4.409 16.712 4.2 18.1 3.926 19.743 3.014 20.732 2 22"],[6,"M2 22 17 7"]],lectern:[[6,"M16 12h3a2 2 0 0 0 1.902-1.38l1.056-3.333A1 1 0 0 0 21 6H3a1 1 0 0 0-.958 1.287l1.056 3.334A2 2 0 0 0 5 12h3"],[6,"M18 6V3a1 1 0 0 0-1-1h-3"],[5,8,10,8,12,1]],"letter-text":[[6,"M15 12h6"],[6,"M15 6h6"],[6,"m3 13 3.553-7.724a.5.5 0 0 1 .894 0L11 13"],[6,"M3 18h18"],[6,"M4 11h6"]],library:[[6,"m16 6 4 14"],[6,"M12 6v14"],[6,"M8 8v12"],[6,"M4 4v16"]],"library-big":[[5,3,3,8,18,1],[6,"M7 3v18"],[6,"M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z"]],"library-square":[[5,3,3,18,18,2],[6,"M7 7v10"],[6,"M11 7v10"],[6,"m15 7 2 10"]],"life-buoy":[[1,12,12,10],[6,"m4.93 4.93 4.24 4.24"],[6,"m14.83 9.17 4.24-4.24"],[6,"m14.83 14.83 4.24 4.24"],[6,"m9.17 14.83-4.24 4.24"],[1,12,12,4]],ligature:[[6,"M8 20V8c0-2.2 1.8-4 4-4 1.5 0 2.8.8 3.5 2"],[6,"M6 12h4"],[6,"M14 12h2v8"],[6,"M6 20h4"],[6,"M14 20h4"]],lightbulb:[[6,"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"],[6,"M9 18h6"],[6,"M10 22h4"]],"lightbulb-off":[[6,"M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5"],[6,"m2 2 20 20"],[6,"M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5"],[6,"M9 18h6"],[6,"M10 22h4"]],"line-chart":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"m19 9-5 5-4-4-3 3"]],link:[[6,"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"],[6,"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"]],"link-2":[[6,"M9 17H7A5 5 0 0 1 7 7h2"],[6,"M15 7h2a5 5 0 1 1 0 10h-2"],[0,8,12,16,12]],"link-2off":[[6,"M9 17H7A5 5 0 0 1 7 7"],[6,"M15 7h2a5 5 0 0 1 4 8"],[0,8,12,12,12],[0,2,2,22,22]],linkedin:[[6,"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"],[5,2,9,4,12],[1,4,4,2]],list:[[0,8,6,21,6],[0,8,12,21,12],[0,8,18,21,18],[0,3,6,3.01,6],[0,3,12,3.01,12],[0,3,18,3.01,18]],"list-check":[[6,"M11 18H3"],[6,"m15 18 2 2 4-4"],[6,"M16 12H3"],[6,"M16 6H3"]],"list-checks":[[6,"m3 17 2 2 4-4"],[6,"m3 7 2 2 4-4"],[6,"M13 6h8"],[6,"M13 12h8"],[6,"M13 18h8"]],"list-collapse":[[6,"m3 10 2.5-2.5L3 5"],[6,"m3 19 2.5-2.5L3 14"],[6,"M10 6h11"],[6,"M10 12h11"],[6,"M10 18h11"]],"list-end":[[6,"M16 12H3"],[6,"M16 6H3"],[6,"M10 18H3"],[6,"M21 6v10a2 2 0 0 1-2 2h-5"],[6,"m16 16-2 2 2 2"]],"list-filter":[[6,"M3 6h18"],[6,"M7 12h10"],[6,"M10 18h4"]],"list-minus":[[6,"M11 12H3"],[6,"M16 6H3"],[6,"M16 18H3"],[6,"M21 12h-6"]],"list-music":[[6,"M21 15V6"],[6,"M18.5 18a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"],[6,"M12 12H3"],[6,"M16 6H3"],[6,"M12 18H3"]],"list-ordered":[[0,10,6,21,6],[0,10,12,21,12],[0,10,18,21,18],[6,"M4 6h1v4"],[6,"M4 10h2"],[6,"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1"]],"list-plus":[[6,"M11 12H3"],[6,"M16 6H3"],[6,"M16 18H3"],[6,"M18 9v6"],[6,"M21 12h-6"]],"list-restart":[[6,"M21 6H3"],[6,"M7 12H3"],[6,"M7 18H3"],[6,"M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14"],[6,"M11 10v4h4"]],"list-start":[[6,"M16 12H3"],[6,"M16 18H3"],[6,"M10 6H3"],[6,"M21 18V8a2 2 0 0 0-2-2h-5"],[6,"m16 8-2-2 2-2"]],"list-todo":[[5,3,5,6,6,1],[6,"m3 17 2 2 4-4"],[6,"M13 6h8"],[6,"M13 12h8"],[6,"M13 18h8"]],"list-tree":[[6,"M21 12h-8"],[6,"M21 6H8"],[6,"M21 18h-8"],[6,"M3 6v4c0 1.1.9 2 2 2h3"],[6,"M3 10v6c0 1.1.9 2 2 2h3"]],"list-video":[[6,"M12 12H3"],[6,"M16 6H3"],[6,"M12 18H3"],[6,"m16 12 5 3-5 3v-6Z"]],"list-x":[[6,"M11 12H3"],[6,"M16 6H3"],[6,"M16 18H3"],[6,"m19 10-4 4"],[6,"m15 10 4 4"]],loader:[[6,"M12 2v4"],[6,"m16.2 7.8 2.9-2.9"],[6,"M18 12h4"],[6,"m16.2 16.2 2.9 2.9"],[6,"M12 18v4"],[6,"m4.9 19.1 2.9-2.9"],[6,"M2 12h4"],[6,"m4.9 4.9 2.9 2.9"]],"loader-2":[[6,"M21 12a9 9 0 1 1-6.219-8.56"]],"loader-circle":[[6,"M21 12a9 9 0 1 1-6.219-8.56"]],"loader-pinwheel":[[6,"M22 12a1 1 0 0 1-10 0 1 1 0 0 0-10 0"],[6,"M7 20.7a1 1 0 1 1 5-8.7 1 1 0 1 0 5-8.6"],[6,"M7 3.3a1 1 0 1 1 5 8.6 1 1 0 1 0 5 8.6"],[1,12,12,10]],locate:[[0,2,12,5,12],[0,19,12,22,12],[0,12,2,12,5],[0,12,19,12,22],[1,12,12,7]],"locate-fixed":[[0,2,12,5,12],[0,19,12,22,12],[0,12,2,12,5],[0,12,19,12,22],[1,12,12,7],[1,12,12,3]],"locate-off":[[0,2,12,5,12],[0,19,12,22,12],[0,12,2,12,5],[0,12,19,12,22],[6,"M7.11 7.11C5.83 8.39 5 10.1 5 12c0 3.87 3.13 7 7 7 1.9 0 3.61-.83 4.89-2.11"],[6,"M18.71 13.96c.19-.63.29-1.29.29-1.96 0-3.87-3.13-7-7-7-.67 0-1.33.1-1.96.29"],[0,2,2,22,22]],lock:[[5,3,11,18,11,2,2],[6,"M7 11V7a5 5 0 0 1 10 0v4"]],"lock-keyhole":[[1,12,16,1],[5,3,10,18,12,2],[6,"M7 10V7a5 5 0 0 1 10 0v3"]],"lock-keyhole-open":[[1,12,16,1],[5,3,10,18,12,2],[6,"M7 10V7a5 5 0 0 1 9.33-2.5"]],"lock-open":[[5,3,11,18,11,2,2],[6,"M7 11V7a5 5 0 0 1 9.9-1"]],"log-in":[[6,"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"],[2,"10 17 15 12 10 7"],[0,15,12,3,12]],"log-out":[[6,"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"],[2,"16 17 21 12 16 7"],[0,21,12,9,12]],logs:[[6,"M13 12h8"],[6,"M13 18h8"],[6,"M13 6h8"],[6,"M3 12h1"],[6,"M3 18h1"],[6,"M3 6h1"],[6,"M8 12h1"],[6,"M8 18h1"],[6,"M8 6h1"]],lollipop:[[1,11,11,8],[6,"m21 21-4.3-4.3"],[6,"M11 11a2 2 0 0 0 4 0 4 4 0 0 0-8 0 6 6 0 0 0 12 0"]],luggage:[[6,"M6 20a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2"],[6,"M8 18V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v14"],[6,"M10 20h4"],[1,16,20,2],[1,8,20,2]],"m-square":[[5,3,3,18,18,2],[6,"M8 16V8l4 4 4-4v8"]],magnet:[[6,"m6 15-4-4 6.75-6.77a7.79 7.79 0 0 1 11 11L13 22l-4-4 6.39-6.36a2.14 2.14 0 0 0-3-3L6 15"],[6,"m5 8 4 4"],[6,"m12 15 4 4"]],mail:[[5,2,4,20,16,2],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"]],"mail-check":[[6,"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"m16 19 2 2 4-4"]],"mail-minus":[[6,"M22 15V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M16 19h6"]],"mail-open":[[6,"M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z"],[6,"m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10"]],"mail-plus":[[6,"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M19 16v6"],[6,"M16 19h6"]],"mail-question":[[6,"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2"],[6,"M20 22v.01"]],"mail-search":[[6,"M22 12.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h7.5"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M18 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"],[1,18,18,3],[6,"m22 22-1.5-1.5"]],"mail-warning":[[6,"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M20 14v4"],[6,"M20 22v.01"]],"mail-x":[[6,"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"m17 17 4 4"],[6,"m21 17-4 4"]],mailbox:[[6,"M22 17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5C2 7 4 5 6.5 5H18c2.2 0 4 1.8 4 4v8Z"],[2,"15,9 18,9 18,11"],[6,"M6.5 5C9 5 11 7 11 9.5V17a2 2 0 0 1-2 2"],[0,6,10,7,10]],mails:[[5,6,4,16,13,2],[6,"m22 7-7.1 3.78c-.57.3-1.23.3-1.8 0L6 7"],[6,"M2 8v11c0 1.1.9 2 2 2h14"]],map:[[6,"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z"],[6,"M15 5.764v15"],[6,"M9 3.236v15"]],"map-pin":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[1,12,10,3]],"map-pin-check":[[6,"M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728"],[1,12,10,3],[6,"m16 18 2 2 4-4"]],"map-pin-check-inside":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[6,"m9 10 2 2 4-4"]],"map-pin-house":[[6,"M15 22a1 1 0 0 1-1-1v-4a1 1 0 0 1 .445-.832l3-2a1 1 0 0 1 1.11 0l3 2A1 1 0 0 1 22 17v4a1 1 0 0 1-1 1z"],[6,"M18 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 .601.2"],[6,"M18 22v-3"],[1,10,10,3]],"map-pin-minus":[[6,"M18.977 14C19.6 12.701 20 11.343 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738"],[1,12,10,3],[6,"M16 18h6"]],"map-pin-minus-inside":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[6,"M9 10h6"]],"map-pin-off":[[6,"M12.75 7.09a3 3 0 0 1 2.16 2.16"],[6,"M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568"],[6,"m2 2 20 20"],[6,"M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533"],[6,"M9.13 9.13a3 3 0 0 0 3.74 3.74"]],"map-pin-plus":[[6,"M19.914 11.105A7.298 7.298 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738"],[1,12,10,3],[6,"M16 18h6"],[6,"M19 15v6"]],"map-pin-plus-inside":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[6,"M12 7v6"],[6,"M9 10h6"]],"map-pin-x":[[6,"M19.752 11.901A7.78 7.78 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 19 19 0 0 0 .09-.077"],[1,12,10,3],[6,"m21.5 15.5-5 5"],[6,"m21.5 20.5-5-5"]],"map-pin-xinside":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[6,"m14.5 7.5-5 5"],[6,"m9.5 7.5 5 5"]],"map-pinned":[[6,"M18 8c0 3.613-3.869 7.429-5.393 8.795a1 1 0 0 1-1.214 0C9.87 15.429 6 11.613 6 8a6 6 0 0 1 12 0"],[1,12,8,2],[6,"M8.714 14h-3.71a1 1 0 0 0-.948.683l-2.004 6A1 1 0 0 0 3 22h18a1 1 0 0 0 .948-1.316l-2-6a1 1 0 0 0-.949-.684h-3.712"]],martini:[[6,"M8 22h8"],[6,"M12 11v11"],[6,"m19 3-7 8-7-8Z"]],maximize:[[6,"M8 3H5a2 2 0 0 0-2 2v3"],[6,"M21 8V5a2 2 0 0 0-2-2h-3"],[6,"M3 16v3a2 2 0 0 0 2 2h3"],[6,"M16 21h3a2 2 0 0 0 2-2v-3"]],"maximize-2":[[2,"15 3 21 3 21 9"],[2,"9 21 3 21 3 15"],[0,21,3,14,10],[0,3,21,10,14]],medal:[[6,"M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15"],[6,"M11 12 5.12 2.2"],[6,"m13 12 5.88-9.8"],[6,"M8 7h8"],[1,12,17,5],[6,"M12 18v-2h-.5"]],megaphone:[[6,"m3 11 18-5v12L3 14v-3z"],[6,"M11.6 16.8a3 3 0 1 1-5.8-1.6"]],"megaphone-off":[[6,"M9.26 9.26 3 11v3l14.14 3.14"],[6,"M21 15.34V6l-7.31 2.03"],[6,"M11.6 16.8a3 3 0 1 1-5.8-1.6"],[0,2,2,22,22]],meh:[[1,12,12,10],[0,8,15,16,15],[0,9,9,9.01,9],[0,15,9,15.01,9]],"memory-stick":[[6,"M6 19v-3"],[6,"M10 19v-3"],[6,"M14 19v-3"],[6,"M18 19v-3"],[6,"M8 11V9"],[6,"M16 11V9"],[6,"M12 11V9"],[6,"M2 15h20"],[6,"M2 7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.1a2 2 0 0 0 0 3.837V17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5.1a2 2 0 0 0 0-3.837Z"]],menu:[[0,4,12,20,12],[0,4,6,20,6],[0,4,18,20,18]],"menu-square":[[5,3,3,18,18,2],[6,"M7 8h10"],[6,"M7 12h10"],[6,"M7 16h10"]],merge:[[6,"m8 6 4-4 4 4"],[6,"M12 2v10.3a4 4 0 0 1-1.172 2.872L4 22"],[6,"m20 22-5-5"]],"message-circle":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"]],"message-circle-code":[[6,"M10 9.5 8 12l2 2.5"],[6,"m14 9.5 2 2.5-2 2.5"],[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22z"]],"message-circle-dashed":[[6,"M13.5 3.1c-.5 0-1-.1-1.5-.1s-1 .1-1.5.1"],[6,"M19.3 6.8a10.45 10.45 0 0 0-2.1-2.1"],[6,"M20.9 13.5c.1-.5.1-1 .1-1.5s-.1-1-.1-1.5"],[6,"M17.2 19.3a10.45 10.45 0 0 0 2.1-2.1"],[6,"M10.5 20.9c.5.1 1 .1 1.5.1s1-.1 1.5-.1"],[6,"M3.5 17.5 2 22l4.5-1.5"],[6,"M3.1 10.5c0 .5-.1 1-.1 1.5s.1 1 .1 1.5"],[6,"M6.8 4.7a10.45 10.45 0 0 0-2.1 2.1"]],"message-circle-heart":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M15.8 9.2a2.5 2.5 0 0 0-3.5 0l-.3.4-.35-.3a2.42 2.42 0 1 0-3.2 3.6l3.6 3.5 3.6-3.5c1.2-1.2 1.1-2.7.2-3.7"]],"message-circle-more":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M8 12h.01"],[6,"M12 12h.01"],[6,"M16 12h.01"]],"message-circle-off":[[6,"M20.5 14.9A9 9 0 0 0 9.1 3.5"],[6,"m2 2 20 20"],[6,"M5.6 5.6C3 8.3 2.2 12.5 4 16l-2 6 6-2c3.4 1.8 7.6 1.1 10.3-1.7"]],"message-circle-plus":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M8 12h8"],[6,"M12 8v8"]],"message-circle-question":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"],[6,"M12 17h.01"]],"message-circle-reply":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"m10 15-3-3 3-3"],[6,"M7 12h7a2 2 0 0 1 2 2v1"]],"message-circle-warning":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M12 8v4"],[6,"M12 16h.01"]],"message-circle-x":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],"message-square":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"]],"message-square-code":[[6,"M10 7.5 8 10l2 2.5"],[6,"m14 7.5 2 2.5-2 2.5"],[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"]],"message-square-dashed":[[6,"M10 17H7l-4 4v-7"],[6,"M14 17h1"],[6,"M14 3h1"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 14v1a2 2 0 0 1-2 2"],[6,"M21 9v1"],[6,"M3 9v1"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M9 3h1"]],"message-square-diff":[[6,"m5 19-2 2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2"],[6,"M9 10h6"],[6,"M12 7v6"],[6,"M9 17h6"]],"message-square-dot":[[6,"M11.7 3H5a2 2 0 0 0-2 2v16l4-4h12a2 2 0 0 0 2-2v-2.7"],[1,18,6,3]],"message-square-heart":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M14.8 7.5a1.84 1.84 0 0 0-2.6 0l-.2.3-.3-.3a1.84 1.84 0 1 0-2.4 2.8L12 13l2.7-2.7c.9-.9.8-2.1.1-2.8"]],"message-square-lock":[[6,"M19 15v-2a2 2 0 1 0-4 0v2"],[6,"M9 17H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3.5"],[5,13,15,8,5,1]],"message-square-more":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M8 10h.01"],[6,"M12 10h.01"],[6,"M16 10h.01"]],"message-square-off":[[6,"M21 15V5a2 2 0 0 0-2-2H9"],[6,"m2 2 20 20"],[6,"M3.6 3.6c-.4.3-.6.8-.6 1.4v16l4-4h10"]],"message-square-plus":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M12 7v6"],[6,"M9 10h6"]],"message-square-quote":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M8 12a2 2 0 0 0 2-2V8H8"],[6,"M14 12a2 2 0 0 0 2-2V8h-2"]],"message-square-reply":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"m10 7-3 3 3 3"],[6,"M17 13v-1a2 2 0 0 0-2-2H7"]],"message-square-share":[[6,"M21 12v3a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h7"],[6,"M16 3h5v5"],[6,"m16 8 5-5"]],"message-square-text":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M13 8H7"],[6,"M17 12H7"]],"message-square-warning":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M12 7v2"],[6,"M12 13h.01"]],"message-square-x":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"m14.5 7.5-5 5"],[6,"m9.5 7.5 5 5"]],"messages-square":[[6,"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z"],[6,"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1"]],mic:[[6,"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z"],[6,"M19 10v2a7 7 0 0 1-14 0v-2"],[0,12,19,12,22]],"mic-2":[[6,"m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12"],[6,"M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5"],[1,16,7,5]],"mic-off":[[0,2,2,22,22],[6,"M18.89 13.23A7.12 7.12 0 0 0 19 12v-2"],[6,"M5 10v2a7 7 0 0 0 12 5"],[6,"M15 9.34V5a3 3 0 0 0-5.68-1.33"],[6,"M9 9v3a3 3 0 0 0 5.12 2.12"],[0,12,19,12,22]],"mic-vocal":[[6,"m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12"],[6,"M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5"],[1,16,7,5]],microchip:[[6,"M18 12h2"],[6,"M18 16h2"],[6,"M18 20h2"],[6,"M18 4h2"],[6,"M18 8h2"],[6,"M4 12h2"],[6,"M4 16h2"],[6,"M4 20h2"],[6,"M4 4h2"],[6,"M4 8h2"],[6,"M8 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-1.5c-.276 0-.494.227-.562.495a2 2 0 0 1-3.876 0C9.994 2.227 9.776 2 9.5 2z"]],microscope:[[6,"M6 18h8"],[6,"M3 22h18"],[6,"M14 22a7 7 0 1 0 0-14h-1"],[6,"M9 14h2"],[6,"M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z"],[6,"M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3"]],microwave:[[5,2,4,20,15,2],[5,6,8,8,7,1],[6,"M18 8v7"],[6,"M6 19v2"],[6,"M18 19v2"]],milestone:[[6,"M12 13v8"],[6,"M12 3v3"],[6,"M4 6a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h13a2 2 0 0 0 1.152-.365l3.424-2.317a1 1 0 0 0 0-1.635l-3.424-2.318A2 2 0 0 0 17 6z"]],milk:[[6,"M8 2h8"],[6,"M9 2v2.789a4 4 0 0 1-.672 2.219l-.656.984A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-9.789a4 4 0 0 0-.672-2.219l-.656-.984A4 4 0 0 1 15 4.788V2"],[6,"M7 15a6.472 6.472 0 0 1 5 0 6.47 6.47 0 0 0 5 0"]],"milk-off":[[6,"M8 2h8"],[6,"M9 2v1.343M15 2v2.789a4 4 0 0 0 .672 2.219l.656.984a4 4 0 0 1 .672 2.22v1.131M7.8 7.8l-.128.192A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3"],[6,"M7 15a6.47 6.47 0 0 1 5 0 6.472 6.472 0 0 0 3.435.435"],[0,2,2,22,22]],minimize:[[6,"M8 3v3a2 2 0 0 1-2 2H3"],[6,"M21 8h-3a2 2 0 0 1-2-2V3"],[6,"M3 16h3a2 2 0 0 1 2 2v3"],[6,"M16 21v-3a2 2 0 0 1 2-2h3"]],"minimize-2":[[2,"4 14 10 14 10 20"],[2,"20 10 14 10 14 4"],[0,14,10,21,3],[0,3,21,10,14]],minus:[[6,"M5 12h14"]],"minus-circle":[[1,12,12,10],[6,"M8 12h8"]],"minus-square":[[5,3,3,18,18,2],[6,"M8 12h8"]],monitor:[[5,2,3,20,14,2],[0,8,21,16,21],[0,12,17,12,21]],"monitor-check":[[6,"m9 10 2 2 4-4"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-cog":[[6,"M12 17v4"],[6,"m15.2 4.9-.9-.4"],[6,"m15.2 7.1-.9.4"],[6,"m16.9 3.2-.4-.9"],[6,"m16.9 8.8-.4.9"],[6,"m19.5 2.3-.4.9"],[6,"m19.5 9.7-.4-.9"],[6,"m21.7 4.5-.9.4"],[6,"m21.7 7.5-.9-.4"],[6,"M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7"],[6,"M8 21h8"],[1,18,6,3]],"monitor-dot":[[1,19,6,3],[6,"M22 12v3a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h9"],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-down":[[6,"M12 13V7"],[6,"m15 10-3 3-3-3"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-off":[[6,"M17 17H4a2 2 0 0 1-2-2V5c0-1.5 1-2 1-2"],[6,"M22 15V5a2 2 0 0 0-2-2H9"],[6,"M8 21h8"],[6,"M12 17v4"],[6,"m2 2 20 20"]],"monitor-pause":[[6,"M10 13V7"],[6,"M14 13V7"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-play":[[6,"M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z"],[6,"M12 17v4"],[6,"M8 21h8"],[5,2,3,20,14,2]],"monitor-smartphone":[[6,"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8"],[6,"M10 19v-3.96 3.15"],[6,"M7 19h5"],[5,16,12,6,10,2]],"monitor-speaker":[[6,"M5.5 20H8"],[6,"M17 9h.01"],[5,12,4,10,16,2],[6,"M8 6H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h4"],[1,17,15,1]],"monitor-stop":[[6,"M12 17v4"],[6,"M8 21h8"],[5,2,3,20,14,2],[5,9,7,6,6,1]],"monitor-up":[[6,"m9 10 3-3 3 3"],[6,"M12 13V7"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-x":[[6,"m14.5 12.5-5-5"],[6,"m9.5 12.5 5-5"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],moon:[[6,"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"]],"moon-star":[[6,"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9"],[6,"M20 3v4"],[6,"M22 5h-4"]],"more-horizontal":[[1,12,12,1],[1,19,12,1],[1,5,12,1]],"more-vertical":[[1,12,12,1],[1,12,5,1],[1,12,19,1]],mountain:[[6,"m8 3 4 8 5-5 5 15H2L8 3z"]],"mountain-snow":[[6,"m8 3 4 8 5-5 5 15H2L8 3z"],[6,"M4.14 15.08c2.62-1.57 5.24-1.43 7.86.42 2.74 1.94 5.49 2 8.23.19"]],mouse:[[5,5,2,14,20,7],[6,"M12 6v4"]],"mouse-off":[[6,"M12 6v.343"],[6,"M18.218 18.218A7 7 0 0 1 5 15V9a7 7 0 0 1 .782-3.218"],[6,"M19 13.343V9A7 7 0 0 0 8.56 2.902"],[6,"M22 22 2 2"]],"mouse-pointer":[[6,"M12.586 12.586 19 19"],[6,"M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z"]],"mouse-pointer-2":[[6,"M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z"]],"mouse-pointer-ban":[[6,"M2.034 2.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.944L8.204 7.545a1 1 0 0 0-.66.66l-1.066 3.443a.5.5 0 0 1-.944.033z"],[1,16,16,6],[6,"m11.8 11.8 8.4 8.4"]],"mouse-pointer-click":[[6,"M14 4.1 12 6"],[6,"m5.1 8-2.9-.8"],[6,"m6 12-1.9 2"],[6,"M7.2 2.2 8 5.1"],[6,"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z"]],"mouse-pointer-square-dashed":[[6,"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h2"],[6,"M14 3h1"],[6,"M3 9v1"],[6,"M21 9v2"],[6,"M3 14v1"]],move:[[2,"5 9 2 12 5 15"],[2,"9 5 12 2 15 5"],[2,"15 19 12 22 9 19"],[2,"19 9 22 12 19 15"],[0,2,12,22,12],[0,12,2,12,22]],"move-3d":[[6,"M5 3v16h16"],[6,"m5 19 6-6"],[6,"m2 6 3-3 3 3"],[6,"m18 16 3 3-3 3"]],"move-diagonal":[[2,"13 5 19 5 19 11"],[2,"11 19 5 19 5 13"],[0,19,5,5,19]],"move-diagonal-2":[[2,"5 11 5 5 11 5"],[2,"19 13 19 19 13 19"],[0,5,5,19,19]],"move-down":[[6,"M8 18L12 22L16 18"],[6,"M12 2V22"]],"move-down-left":[[6,"M11 19H5V13"],[6,"M19 5L5 19"]],"move-down-right":[[6,"M19 13V19H13"],[6,"M5 5L19 19"]],"move-horizontal":[[2,"18 8 22 12 18 16"],[2,"6 8 2 12 6 16"],[0,2,12,22,12]],"move-left":[[6,"M6 8L2 12L6 16"],[6,"M2 12H22"]],"move-right":[[6,"M18 8L22 12L18 16"],[6,"M2 12H22"]],"move-up":[[6,"M8 6L12 2L16 6"],[6,"M12 2V22"]],"move-up-left":[[6,"M5 11V5H11"],[6,"M5 5L19 19"]],"move-up-right":[[6,"M13 5H19V11"],[6,"M19 5L5 19"]],"move-vertical":[[2,"8 18 12 22 16 18"],[2,"8 6 12 2 16 6"],[0,12,2,12,22]],music:[[6,"M9 18V5l12-2v13"],[1,6,18,3],[1,18,16,3]],"music-2":[[1,8,18,4],[6,"M12 18V2l7 4"]],"music-3":[[1,12,18,4],[6,"M16 18V2"]],"music-4":[[6,"M9 18V5l12-2v13"],[6,"m9 9 12-2"],[1,6,18,3],[1,18,16,3]],navigation:[[3,"3 11 22 2 13 21 11 13 3 11"]],"navigation-2":[[3,"12 2 19 21 12 17 5 21 12 2"]],"navigation-2off":[[6,"M9.31 9.31 5 21l7-4 7 4-1.17-3.17"],[6,"M14.53 8.88 12 2l-1.17 3.17"],[0,2,2,22,22]],"navigation-off":[[6,"M8.43 8.43 3 11l8 2 2 8 2.57-5.43"],[6,"M17.39 11.73 22 2l-9.73 4.61"],[0,2,2,22,22]],network:[[5,16,16,6,6,1],[5,2,16,6,6,1],[5,9,2,6,6,1],[6,"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"],[6,"M12 12V8"]],newspaper:[[6,"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2"],[6,"M18 14h-8"],[6,"M15 18h-5"],[6,"M10 6h8v4h-8V6Z"]],nfc:[[6,"M6 8.32a7.43 7.43 0 0 1 0 7.36"],[6,"M9.46 6.21a11.76 11.76 0 0 1 0 11.58"],[6,"M12.91 4.1a15.91 15.91 0 0 1 .01 15.8"],[6,"M16.37 2a20.16 20.16 0 0 1 0 20"]],notebook:[[6,"M2 6h4"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[5,4,2,16,20,2],[6,"M16 2v20"]],"notebook-pen":[[6,"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4"],[6,"M2 6h4"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[6,"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"notebook-tabs":[[6,"M2 6h4"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[5,4,2,16,20,2],[6,"M15 2v20"],[6,"M15 7h5"],[6,"M15 12h5"],[6,"M15 17h5"]],"notebook-text":[[6,"M2 6h4"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[5,4,2,16,20,2],[6,"M9.5 8h5"],[6,"M9.5 12H16"],[6,"M9.5 16H14"]],"notepad-text":[[6,"M8 2v4"],[6,"M12 2v4"],[6,"M16 2v4"],[5,4,4,16,18,2],[6,"M8 10h6"],[6,"M8 14h8"],[6,"M8 18h5"]],"notepad-text-dashed":[[6,"M8 2v4"],[6,"M12 2v4"],[6,"M16 2v4"],[6,"M16 4h2a2 2 0 0 1 2 2v2"],[6,"M20 12v2"],[6,"M20 18v2a2 2 0 0 1-2 2h-1"],[6,"M13 22h-2"],[6,"M7 22H6a2 2 0 0 1-2-2v-2"],[6,"M4 14v-2"],[6,"M4 8V6a2 2 0 0 1 2-2h2"],[6,"M8 10h6"],[6,"M8 14h8"],[6,"M8 18h5"]],nut:[[6,"M12 4V2"],[6,"M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592A7.003 7.003 0 0 0 19 14v-4"],[6,"M12 4C8 4 4.5 6 4 8c-.243.97-.919 1.952-2 3 1.31-.082 1.972-.29 3-1 .54.92.982 1.356 2 2 1.452-.647 1.954-1.098 2.5-2 .595.995 1.151 1.427 2.5 2 1.31-.621 1.862-1.058 2.5-2 .629.977 1.162 1.423 2.5 2 1.209-.548 1.68-.967 2-2 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4Z"]],"nut-off":[[6,"M12 4V2"],[6,"M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592a7.01 7.01 0 0 0 4.125-2.939"],[6,"M19 10v3.343"],[6,"M12 12c-1.349-.573-1.905-1.005-2.5-2-.546.902-1.048 1.353-2.5 2-1.018-.644-1.46-1.08-2-2-1.028.71-1.69.918-3 1 1.081-1.048 1.757-2.03 2-3 .194-.776.84-1.551 1.79-2.21m11.654 5.997c.887-.457 1.28-.891 1.556-1.787 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4-.74 0-1.461.068-2.15.192"],[0,2,2,22,22]],octagon:[[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"]],"octagon-alert":[[6,"M12 16h.01"],[6,"M12 8v4"],[6,"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z"]],"octagon-minus":[[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"],[6,"M8 12h8"]],"octagon-pause":[[6,"M10 15V9"],[6,"M14 15V9"],[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"]],"octagon-x":[[6,"m15 9-6 6"],[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"],[6,"m9 9 6 6"]],omega:[[6,"M3 20h4.5a.5.5 0 0 0 .5-.5v-.282a.52.52 0 0 0-.247-.437 8 8 0 1 1 8.494-.001.52.52 0 0 0-.247.438v.282a.5.5 0 0 0 .5.5H21"]],option:[[6,"M3 3h6l6 18h6"],[6,"M14 3h7"]],orbit:[[1,12,12,3],[1,19,5,2],[1,5,19,2],[6,"M10.4 21.9a10 10 0 0 0 9.941-15.416"],[6,"M13.5 2.1a10 10 0 0 0-9.841 15.416"]],origami:[[6,"M12 12V4a1 1 0 0 1 1-1h6.297a1 1 0 0 1 .651 1.759l-4.696 4.025"],[6,"m12 21-7.414-7.414A2 2 0 0 1 4 12.172V6.415a1.002 1.002 0 0 1 1.707-.707L20 20.009"],[6,"m12.214 3.381 8.414 14.966a1 1 0 0 1-.167 1.199l-1.168 1.163a1 1 0 0 1-.706.291H6.351a1 1 0 0 1-.625-.219L3.25 18.8a1 1 0 0 1 .631-1.781l4.165.027"]],outdent:[[2,"7 8 3 12 7 16"],[0,21,12,11,12],[0,21,6,11,6],[0,21,18,11,18]],package:[[6,"m7.5 4.27 9 5.15"],[6,"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"],[6,"m3.3 7 8.7 5 8.7-5"],[6,"M12 22V12"]],"package-2":[[6,"M3 9h18v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9Z"],[6,"m3 9 2.45-4.9A2 2 0 0 1 7.24 3h9.52a2 2 0 0 1 1.8 1.1L21 9"],[6,"M12 3v6"]],"package-check":[[6,"m16 16 2 2 4-4"],[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12]],"package-minus":[[6,"M16 16h6"],[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12]],"package-open":[[6,"M12 22v-9"],[6,"M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z"],[6,"M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13"],[6,"M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z"]],"package-plus":[[6,"M16 16h6"],[6,"M19 13v6"],[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12]],"package-search":[[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12],[1,18.5,15.5,2.5],[6,"M20.27 17.27 22 19"]],"package-x":[[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12],[6,"m17 13 5 5m-5 0 5-5"]],"paint-bucket":[[6,"m19 11-8-8-8.6 8.6a2 2 0 0 0 0 2.8l5.2 5.2c.8.8 2 .8 2.8 0L19 11Z"],[6,"m5 2 5 5"],[6,"M2 13h15"],[6,"M22 20a2 2 0 1 1-4 0c0-1.6 1.7-2.4 2-4 .3 1.6 2 2.4 2 4Z"]],"paint-roller":[[5,2,2,16,6,2],[6,"M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"],[5,8,16,4,6,1]],paintbrush:[[6,"m14.622 17.897-10.68-2.913"],[6,"M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z"],[6,"M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15"]],"paintbrush-2":[[6,"M10 2v2"],[6,"M14 2v4"],[6,"M17 2a1 1 0 0 1 1 1v9H6V3a1 1 0 0 1 1-1z"],[6,"M6 12a1 1 0 0 0-1 1v1a2 2 0 0 0 2 2h2a1 1 0 0 1 1 1v2.9a2 2 0 1 0 4 0V17a1 1 0 0 1 1-1h2a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1"]],"paintbrush-vertical":[[6,"M10 2v2"],[6,"M14 2v4"],[6,"M17 2a1 1 0 0 1 1 1v9H6V3a1 1 0 0 1 1-1z"],[6,"M6 12a1 1 0 0 0-1 1v1a2 2 0 0 0 2 2h2a1 1 0 0 1 1 1v2.9a2 2 0 1 0 4 0V17a1 1 0 0 1 1-1h2a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1"]],palette:[[1,13.5,6.5,.5],[1,17.5,10.5,.5],[1,8.5,7.5,.5],[1,6.5,12.5,.5],[6,"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"]],palmtree:[[6,"M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4"],[6,"M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3"],[6,"M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35"],[6,"M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14"]],"panel-bottom":[[5,3,3,18,18,2],[6,"M3 15h18"]],"panel-bottom-close":[[5,3,3,18,18,2],[6,"M3 15h18"],[6,"m15 8-3 3-3-3"]],"panel-bottom-dashed":[[5,3,3,18,18,2],[6,"M14 15h1"],[6,"M19 15h2"],[6,"M3 15h2"],[6,"M9 15h1"]],"panel-bottom-inactive":[[5,3,3,18,18,2],[6,"M14 15h1"],[6,"M19 15h2"],[6,"M3 15h2"],[6,"M9 15h1"]],"panel-bottom-open":[[5,3,3,18,18,2],[6,"M3 15h18"],[6,"m9 10 3-3 3 3"]],"panel-left":[[5,3,3,18,18,2],[6,"M9 3v18"]],"panel-left-close":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"m16 15-3-3 3-3"]],"panel-left-dashed":[[5,3,3,18,18,2],[6,"M9 14v1"],[6,"M9 19v2"],[6,"M9 3v2"],[6,"M9 9v1"]],"panel-left-inactive":[[5,3,3,18,18,2],[6,"M9 14v1"],[6,"M9 19v2"],[6,"M9 3v2"],[6,"M9 9v1"]],"panel-left-open":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"m14 9 3 3-3 3"]],"panel-right":[[5,3,3,18,18,2],[6,"M15 3v18"]],"panel-right-close":[[5,3,3,18,18,2],[6,"M15 3v18"],[6,"m8 9 3 3-3 3"]],"panel-right-dashed":[[5,3,3,18,18,2],[6,"M15 14v1"],[6,"M15 19v2"],[6,"M15 3v2"],[6,"M15 9v1"]],"panel-right-inactive":[[5,3,3,18,18,2],[6,"M15 14v1"],[6,"M15 19v2"],[6,"M15 3v2"],[6,"M15 9v1"]],"panel-right-open":[[5,3,3,18,18,2],[6,"M15 3v18"],[6,"m10 15-3-3 3-3"]],"panel-top":[[5,3,3,18,18,2],[6,"M3 9h18"]],"panel-top-close":[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"m9 16 3-3 3 3"]],"panel-top-dashed":[[5,3,3,18,18,2],[6,"M14 9h1"],[6,"M19 9h2"],[6,"M3 9h2"],[6,"M9 9h1"]],"panel-top-inactive":[[5,3,3,18,18,2],[6,"M14 9h1"],[6,"M19 9h2"],[6,"M3 9h2"],[6,"M9 9h1"]],"panel-top-open":[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"m15 14-3 3-3-3"]],"panels-left-bottom":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"M9 15h12"]],"panels-left-right":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"M15 3v18"]],"panels-right-bottom":[[5,3,3,18,18,2],[6,"M3 15h12"],[6,"M15 3v18"]],"panels-top-bottom":[[5,3,3,18,18,2],[6,"M21 9H3"],[6,"M21 15H3"]],"panels-top-left":[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M9 21V9"]],paperclip:[[6,"m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48"]],parentheses:[[6,"M8 21s-4-3-4-9 4-9 4-9"],[6,"M16 3s4 3 4 9-4 9-4 9"]],"parking-circle":[[1,12,12,10],[6,"M9 17V7h4a3 3 0 0 1 0 6H9"]],"parking-circle-off":[[1,12,12,10],[6,"m5 5 14 14"],[6,"M13 13a3 3 0 1 0 0-6H9v2"],[6,"M9 17v-2.34"]],"parking-meter":[[6,"M9 9a3 3 0 1 1 6 0"],[6,"M12 12v3"],[6,"M11 15h2"],[6,"M19 9a7 7 0 1 0-13.6 2.3C6.4 14.4 8 19 8 19h8s1.6-4.6 2.6-7.7c.3-.8.4-1.5.4-2.3"],[6,"M12 19v3"]],"parking-square":[[5,3,3,18,18,2],[6,"M9 17V7h4a3 3 0 0 1 0 6H9"]],"parking-square-off":[[6,"M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41"],[6,"M3 8.7V19a2 2 0 0 0 2 2h10.3"],[6,"m2 2 20 20"],[6,"M13 13a3 3 0 1 0 0-6H9v2"],[6,"M9 17v-2.3"]],"party-popper":[[6,"M5.8 11.3 2 22l10.7-3.79"],[6,"M4 3h.01"],[6,"M22 8h.01"],[6,"M15 2h.01"],[6,"M22 20h.01"],[6,"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10"],[6,"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17"],[6,"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7"],[6,"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z"]],pause:[[5,14,4,4,16,1],[5,6,4,4,16,1]],"pause-circle":[[1,12,12,10],[0,10,15,10,9],[0,14,15,14,9]],"pause-octagon":[[6,"M10 15V9"],[6,"M14 15V9"],[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"]],"paw-print":[[1,11,4,2],[1,18,8,2],[1,20,16,2],[6,"M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z"]],"pc-case":[[5,5,2,14,20,2],[6,"M15 14h.01"],[6,"M9 6h6"],[6,"M9 10h6"]],pen:[[6,"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"]],"pen-box":[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"]],"pen-line":[[6,"M12 20h9"],[6,"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z"]],"pen-off":[[6,"m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982"],[6,"m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353"],[6,"m2 2 20 20"]],"pen-square":[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"]],"pen-tool":[[6,"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z"],[6,"m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18"],[6,"m2.3 2.3 7.286 7.286"],[1,11,11,2]],pencil:[[6,"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"],[6,"m15 5 4 4"]],"pencil-line":[[6,"M12 20h9"],[6,"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z"],[6,"m15 5 3 3"]],"pencil-off":[[6,"m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982"],[6,"m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353"],[6,"m15 5 4 4"],[6,"m2 2 20 20"]],"pencil-ruler":[[6,"M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13"],[6,"m8 6 2-2"],[6,"m18 16 2-2"],[6,"m17 11 4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17"],[6,"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"],[6,"m15 5 4 4"]],pentagon:[[6,"M10.83 2.38a2 2 0 0 1 2.34 0l8 5.74a2 2 0 0 1 .73 2.25l-3.04 9.26a2 2 0 0 1-1.9 1.37H7.04a2 2 0 0 1-1.9-1.37L2.1 10.37a2 2 0 0 1 .73-2.25z"]],percent:[[0,19,5,5,19],[1,6.5,6.5,2.5],[1,17.5,17.5,2.5]],"percent-circle":[[1,12,12,10],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"percent-diamond":[[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0Z"],[6,"M9.2 9.2h.01"],[6,"m14.5 9.5-5 5"],[6,"M14.7 14.8h.01"]],"percent-square":[[5,3,3,18,18,2],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"person-standing":[[1,12,5,1],[6,"m9 20 3-6 3 6"],[6,"m6 8 6 2 6-2"],[6,"M12 10v4"]],"philippine-peso":[[6,"M20 11H4"],[6,"M20 7H4"],[6,"M7 21V4a1 1 0 0 1 1-1h4a1 1 0 0 1 0 12H7"]],phone:[[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],"phone-call":[[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"],[6,"M14.05 2a9 9 0 0 1 8 7.94"],[6,"M14.05 6A5 5 0 0 1 18 10"]],"phone-forwarded":[[2,"18 2 22 6 18 10"],[0,14,6,22,6],[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],"phone-incoming":[[2,"16 2 16 8 22 8"],[0,22,2,16,8],[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],"phone-missed":[[0,22,2,16,8],[0,16,2,22,8],[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],"phone-off":[[6,"M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91"],[0,22,2,2,22]],"phone-outgoing":[[2,"22 8 22 2 16 2"],[0,16,8,22,2],[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],pi:[[0,9,4,9,20],[6,"M4 7c0-1.7 1.3-3 3-3h13"],[6,"M18 20c-1.7 0-3-1.3-3-3V4"]],"pi-square":[[5,3,3,18,18,2],[6,"M7 7h10"],[6,"M10 7v10"],[6,"M16 17a2 2 0 0 1-2-2V7"]],piano:[[6,"M18.5 8c-1.4 0-2.6-.8-3.2-2A6.87 6.87 0 0 0 2 9v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-8.5C22 9.6 20.4 8 18.5 8"],[6,"M2 14h20"],[6,"M6 14v4"],[6,"M10 14v4"],[6,"M14 14v4"],[6,"M18 14v4"]],pickaxe:[[6,"M14.531 12.469 6.619 20.38a1 1 0 1 1-3-3l7.912-7.912"],[6,"M15.686 4.314A12.5 12.5 0 0 0 5.461 2.958 1 1 0 0 0 5.58 4.71a22 22 0 0 1 6.318 3.393"],[6,"M17.7 3.7a1 1 0 0 0-1.4 0l-4.6 4.6a1 1 0 0 0 0 1.4l2.6 2.6a1 1 0 0 0 1.4 0l4.6-4.6a1 1 0 0 0 0-1.4z"],[6,"M19.686 8.314a12.501 12.501 0 0 1 1.356 10.225 1 1 0 0 1-1.751-.119 22 22 0 0 0-3.393-6.319"]],"picture-in-picture":[[6,"M8 4.5v5H3m-1-6 6 6m13 0v-3c0-1.16-.84-2-2-2h-7m-9 9v2c0 1.05.95 2 2 2h3"],[5,12,13.5,10,7,0,2]],"picture-in-picture-2":[[6,"M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4"],[5,12,13,10,7,2]],"pie-chart":[[6,"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z"],[6,"M21.21 15.89A10 10 0 1 1 8 2.83"]],"piggy-bank":[[6,"M19 5c-1.5 0-2.8 1.4-3 2-3.5-1.5-11-.3-11 5 0 1.8 0 3 2 4.5V20h4v-2h3v2h4v-4c1-.5 1.7-1 2-2h2v-4h-2c0-1-.5-1.5-1-2V5z"],[6,"M2 9v1c0 1.1.9 2 2 2h1"],[6,"M16 11h.01"]],pilcrow:[[6,"M13 4v16"],[6,"M17 4v16"],[6,"M19 4H9.5a4.5 4.5 0 0 0 0 9H13"]],"pilcrow-left":[[6,"M14 3v11"],[6,"M14 9h-3a3 3 0 0 1 0-6h9"],[6,"M18 3v11"],[6,"M22 18H2l4-4"],[6,"m6 22-4-4"]],"pilcrow-right":[[6,"M10 3v11"],[6,"M10 9H7a1 1 0 0 1 0-6h8"],[6,"M14 3v11"],[6,"m18 14 4 4H2"],[6,"m22 18-4 4"]],"pilcrow-square":[[5,3,3,18,18,2],[6,"M12 12H9.5a2.5 2.5 0 0 1 0-5H17"],[6,"M12 7v10"],[6,"M16 7v10"]],pill:[[6,"m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z"],[6,"m8.5 8.5 7 7"]],"pill-bottle":[[6,"M18 11h-4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h4"],[6,"M6 7v13a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7"],[5,4,2,16,5,1]],pin:[[6,"M12 17v5"],[6,"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"]],"pin-off":[[6,"M12 17v5"],[6,"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89"],[6,"m2 2 20 20"],[6,"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11"]],pipette:[[6,"m2 22 1-1h3l9-9"],[6,"M3 21v-3l9-9"],[6,"m15 6 3.4-3.4a2.1 2.1 0 1 1 3 3L18 9l.4.4a2.1 2.1 0 1 1-3 3l-3.8-3.8a2.1 2.1 0 1 1 3-3l.4.4Z"]],pizza:[[6,"M15 11h.01"],[6,"M11 15h.01"],[6,"M16 16h.01"],[6,"m2 16 20 6-6-20A20 20 0 0 0 2 16"],[6,"M5.71 17.11a17.04 17.04 0 0 1 11.4-11.4"]],plane:[[6,"M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z"]],"plane-landing":[[6,"M2 22h20"],[6,"M3.77 10.77 2 9l2-4.5 1.1.55c.55.28.9.84.9 1.45s.35 1.17.9 1.45L8 8.5l3-6 1.05.53a2 2 0 0 1 1.09 1.52l.72 5.4a2 2 0 0 0 1.09 1.52l4.4 2.2c.42.22.78.55 1.01.96l.6 1.03c.49.88-.06 1.98-1.06 2.1l-1.18.15c-.47.06-.95-.02-1.37-.24L4.29 11.15a2 2 0 0 1-.52-.38Z"]],"plane-takeoff":[[6,"M2 22h20"],[6,"M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z"]],play:[[3,"6 3 20 12 6 21 6 3"]],"play-circle":[[1,12,12,10],[3,"10 8 16 12 10 16 10 8"]],"play-square":[[5,3,3,18,18,2],[6,"m9 8 6 4-6 4Z"]],plug:[[6,"M12 22v-5"],[6,"M9 8V2"],[6,"M15 8V2"],[6,"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z"]],"plug-2":[[6,"M9 2v6"],[6,"M15 2v6"],[6,"M12 17v5"],[6,"M5 8h14"],[6,"M6 11V8h12v3a6 6 0 1 1-12 0Z"]],"plug-zap":[[6,"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z"],[6,"m2 22 3-3"],[6,"M7.5 13.5 10 11"],[6,"M10.5 16.5 13 14"],[6,"m18 3-4 4h6l-4 4"]],"plug-zap-2":[[6,"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z"],[6,"m2 22 3-3"],[6,"M7.5 13.5 10 11"],[6,"M10.5 16.5 13 14"],[6,"m18 3-4 4h6l-4 4"]],plus:[[6,"M5 12h14"],[6,"M12 5v14"]],"plus-circle":[[1,12,12,10],[6,"M8 12h8"],[6,"M12 8v8"]],"plus-square":[[5,3,3,18,18,2],[6,"M8 12h8"],[6,"M12 8v8"]],pocket:[[6,"M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z"],[2,"8 10 12 14 16 10"]],"pocket-knife":[[6,"M3 2v1c0 1 2 1 2 2S3 6 3 7s2 1 2 2-2 1-2 2 2 1 2 2"],[6,"M18 6h.01"],[6,"M6 18h.01"],[6,"M20.83 8.83a4 4 0 0 0-5.66-5.66l-12 12a4 4 0 1 0 5.66 5.66Z"],[6,"M18 11.66V22a4 4 0 0 0 4-4V6"]],podcast:[[6,"M16.85 18.58a9 9 0 1 0-9.7 0"],[6,"M8 14a5 5 0 1 1 8 0"],[1,12,11,1],[6,"M13 17a1 1 0 1 0-2 0l.5 4.5a.5.5 0 1 0 1 0Z"]],pointer:[[6,"M22 14a8 8 0 0 1-8 8"],[6,"M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2"],[6,"M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1"],[6,"M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10"],[6,"M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15"]],"pointer-off":[[6,"M10 4.5V4a2 2 0 0 0-2.41-1.957"],[6,"M13.9 8.4a2 2 0 0 0-1.26-1.295"],[6,"M21.7 16.2A8 8 0 0 0 22 14v-3a2 2 0 1 0-4 0v-1a2 2 0 0 0-3.63-1.158"],[6,"m7 15-1.8-1.8a2 2 0 0 0-2.79 2.86L6 19.7a7.74 7.74 0 0 0 6 2.3h2a8 8 0 0 0 5.657-2.343"],[6,"M6 6v8"],[6,"m2 2 20 20"]],popcorn:[[6,"M18 8a2 2 0 0 0 0-4 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0 0 4"],[6,"M10 22 9 8"],[6,"m14 22 1-14"],[6,"M20 8c.5 0 .9.4.8 1l-2.6 12c-.1.5-.7 1-1.2 1H7c-.6 0-1.1-.4-1.2-1L3.2 9c-.1-.6.3-1 .8-1Z"]],popsicle:[[6,"M18.6 14.4c.8-.8.8-2 0-2.8l-8.1-8.1a4.95 4.95 0 1 0-7.1 7.1l8.1 8.1c.9.7 2.1.7 2.9-.1Z"],[6,"m22 22-5.5-5.5"]],"pound-sterling":[[6,"M18 7c0-5.333-8-5.333-8 0"],[6,"M10 7v14"],[6,"M6 21h12"],[6,"M6 13h10"]],power:[[6,"M12 2v10"],[6,"M18.4 6.6a9 9 0 1 1-12.77.04"]],"power-circle":[[6,"M12 7v4"],[6,"M7.998 9.003a5 5 0 1 0 8-.005"],[1,12,12,10]],"power-off":[[6,"M18.36 6.64A9 9 0 0 1 20.77 15"],[6,"M6.16 6.16a9 9 0 1 0 12.68 12.68"],[6,"M12 2v4"],[6,"m2 2 20 20"]],"power-square":[[6,"M12 7v4"],[6,"M7.998 9.003a5 5 0 1 0 8-.005"],[5,3,3,18,18,2]],presentation:[[6,"M2 3h20"],[6,"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3"],[6,"m7 21 5-5 5 5"]],printer:[[6,"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"],[6,"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6"],[5,6,14,12,8,1]],"printer-check":[[6,"M13.5 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v.5"],[6,"m16 19 2 2 4-4"],[6,"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2"],[6,"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6"]],projector:[[6,"M5 7 3 5"],[6,"M9 6V3"],[6,"m13 7 2-2"],[1,9,13,3],[6,"M11.83 12H20a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.17"],[6,"M16 16h2"]],proportions:[[5,2,4,20,16,2],[6,"M12 9v11"],[6,"M2 9h13a2 2 0 0 1 2 2v9"]],puzzle:[[6,"M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 0 1-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 1 0-3.214 3.214c.446.166.855.497.925.968a.979.979 0 0 1-.276.837l-1.61 1.61a2.404 2.404 0 0 1-1.705.707 2.402 2.402 0 0 1-1.704-.706l-1.568-1.568a1.026 1.026 0 0 0-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 1 1-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 0 0-.289-.877l-1.568-1.568A2.402 2.402 0 0 1 1.998 12c0-.617.236-1.234.706-1.704L4.23 8.77c.24-.24.581-.353.917-.303.515.077.877.528 1.073 1.01a2.5 2.5 0 1 0 3.259-3.259c-.482-.196-.933-.558-1.01-1.073-.05-.336.062-.676.303-.917l1.525-1.525A2.402 2.402 0 0 1 12 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 1 1 3.237 3.237c-.464.18-.894.527-.967 1.02Z"]],pyramid:[[6,"M2.5 16.88a1 1 0 0 1-.32-1.43l9-13.02a1 1 0 0 1 1.64 0l9 13.01a1 1 0 0 1-.32 1.44l-8.51 4.86a2 2 0 0 1-1.98 0Z"],[6,"M12 2v20"]],"qr-code":[[5,3,3,5,5,1],[5,16,3,5,5,1],[5,3,16,5,5,1],[6,"M21 16h-3a2 2 0 0 0-2 2v3"],[6,"M21 21v.01"],[6,"M12 7v3a2 2 0 0 1-2 2H7"],[6,"M3 12h.01"],[6,"M12 3h.01"],[6,"M12 16v.01"],[6,"M16 12h1"],[6,"M21 12v.01"],[6,"M12 21v-1"]],quote:[[6,"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"],[6,"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"]],rabbit:[[6,"M13 16a3 3 0 0 1 2.24 5"],[6,"M18 12h.01"],[6,"M18 21h-8a4 4 0 0 1-4-4 7 7 0 0 1 7-7h.2L9.6 6.4a1 1 0 1 1 2.8-2.8L15.8 7h.2c3.3 0 6 2.7 6 6v1a2 2 0 0 1-2 2h-1a3 3 0 0 0-3 3"],[6,"M20 8.54V4a2 2 0 1 0-4 0v3"],[6,"M7.612 12.524a3 3 0 1 0-1.6 4.3"]],radar:[[6,"M19.07 4.93A10 10 0 0 0 6.99 3.34"],[6,"M4 6h.01"],[6,"M2.29 9.62A10 10 0 1 0 21.31 8.35"],[6,"M16.24 7.76A6 6 0 1 0 8.23 16.67"],[6,"M12 18h.01"],[6,"M17.99 11.66A6 6 0 0 1 15.77 16.67"],[1,12,12,2],[6,"m13.41 10.59 5.66-5.66"]],radiation:[[6,"M12 12h.01"],[6,"M7.5 4.2c-.3-.5-.9-.7-1.3-.4C3.9 5.5 2.3 8.1 2 11c-.1.5.4 1 1 1h5c0-1.5.8-2.8 2-3.4-1.1-1.9-2-3.5-2.5-4.4z"],[6,"M21 12c.6 0 1-.4 1-1-.3-2.9-1.8-5.5-4.1-7.1-.4-.3-1.1-.2-1.3.3-.6.9-1.5 2.5-2.6 4.3 1.2.7 2 2 2 3.5h5z"],[6,"M7.5 19.8c-.3.5-.1 1.1.4 1.3 2.6 1.2 5.6 1.2 8.2 0 .5-.2.7-.8.4-1.3-.5-.9-1.4-2.5-2.5-4.3-1.2.7-2.8.7-4 0-1.1 1.8-2 3.4-2.5 4.3z"]],radical:[[6,"M3 12h3.28a1 1 0 0 1 .948.684l2.298 7.934a.5.5 0 0 0 .96-.044L13.82 4.771A1 1 0 0 1 14.792 4H21"]],radio:[[6,"M4.9 19.1C1 15.2 1 8.8 4.9 4.9"],[6,"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5"],[1,12,12,2],[6,"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5"],[6,"M19.1 4.9C23 8.8 23 15.1 19.1 19"]],"radio-receiver":[[6,"M5 16v2"],[6,"M19 16v2"],[5,2,8,20,8,2],[6,"M18 12h.01"]],"radio-tower":[[6,"M4.9 16.1C1 12.2 1 5.8 4.9 1.9"],[6,"M7.8 4.7a6.14 6.14 0 0 0-.8 7.5"],[1,12,9,2],[6,"M16.2 4.8c2 2 2.26 5.11.8 7.47"],[6,"M19.1 1.9a9.96 9.96 0 0 1 0 14.1"],[6,"M9.5 18h5"],[6,"m8 22 4-11 4 11"]],radius:[[6,"M20.34 17.52a10 10 0 1 0-2.82 2.82"],[1,19,19,2],[6,"m13.41 13.41 4.18 4.18"],[1,12,12,2]],"rail-symbol":[[6,"M5 15h14"],[6,"M5 9h14"],[6,"m14 20-5-5 6-6-5-5"]],rainbow:[[6,"M22 17a10 10 0 0 0-20 0"],[6,"M6 17a6 6 0 0 1 12 0"],[6,"M10 17a2 2 0 0 1 4 0"]],rat:[[6,"M17 5c0-1.7-1.3-3-3-3s-3 1.3-3 3c0 .8.3 1.5.8 2H11c-3.9 0-7 3.1-7 7c0 2.2 1.8 4 4 4"],[6,"M16.8 3.9c.3-.3.6-.5 1-.7 1.5-.6 3.3.1 3.9 1.6.6 1.5-.1 3.3-1.6 3.9l1.6 2.8c.2.3.2.7.2 1-.2.8-.9 1.2-1.7 1.1 0 0-1.6-.3-2.7-.6H17c-1.7 0-3 1.3-3 3"],[6,"M13.2 18a3 3 0 0 0-2.2-5"],[6,"M13 22H4a2 2 0 0 1 0-4h12"],[6,"M16 9h.01"]],ratio:[[5,6,2,12,20,2],[5,2,6,20,12,2]],receipt:[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"],[6,"M12 17.5v-11"]],"receipt-cent":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M12 6.5v11"],[6,"M15 9.4a4 4 0 1 0 0 5.2"]],"receipt-euro":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M8 12h5"],[6,"M16 9.5a4 4 0 1 0 0 5.2"]],"receipt-indian-rupee":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M8 7h8"],[6,"M12 17.5 8 15h1a4 4 0 0 0 0-8"],[6,"M8 11h8"]],"receipt-japanese-yen":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"m12 10 3-3"],[6,"m9 7 3 3v7.5"],[6,"M9 11h6"],[6,"M9 15h6"]],"receipt-pound-sterling":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M8 13h5"],[6,"M10 17V9.5a2.5 2.5 0 0 1 5 0"],[6,"M8 17h7"]],"receipt-russian-ruble":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M8 15h5"],[6,"M8 11h5a2 2 0 1 0 0-4h-3v10"]],"receipt-swiss-franc":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M10 17V7h5"],[6,"M10 11h4"],[6,"M8 15h5"]],"receipt-text":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M14 8H8"],[6,"M16 12H8"],[6,"M13 16H8"]],"rectangle-ellipsis":[[5,2,6,20,12,2],[6,"M12 12h.01"],[6,"M17 12h.01"],[6,"M7 12h.01"]],"rectangle-horizontal":[[5,2,6,20,12,2]],"rectangle-vertical":[[5,6,2,12,20,2]],recycle:[[6,"M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5"],[6,"M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12"],[6,"m14 16-3 3 3 3"],[6,"M8.293 13.596 7.196 9.5 3.1 10.598"],[6,"m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843"],[6,"m13.378 9.633 4.096 1.098 1.097-4.096"]],redo:[[6,"M21 7v6h-6"],[6,"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7"]],"redo-2":[[6,"m15 14 5-5-5-5"],[6,"M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13"]],"redo-dot":[[1,12,17,1],[6,"M21 7v6h-6"],[6,"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7"]],"refresh-ccw":[[6,"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"],[6,"M3 3v5h5"],[6,"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"],[6,"M16 16h5v5"]],"refresh-ccw-dot":[[6,"M3 2v6h6"],[6,"M21 12A9 9 0 0 0 6 5.3L3 8"],[6,"M21 22v-6h-6"],[6,"M3 12a9 9 0 0 0 15 6.7l3-2.7"],[1,12,12,1]],"refresh-cw":[[6,"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"],[6,"M21 3v5h-5"],[6,"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"],[6,"M8 16H3v5"]],"refresh-cw-off":[[6,"M21 8L18.74 5.74A9.75 9.75 0 0 0 12 3C11 3 10.03 3.16 9.13 3.47"],[6,"M8 16H3v5"],[6,"M3 12C3 9.51 4 7.26 5.64 5.64"],[6,"m3 16 2.26 2.26A9.75 9.75 0 0 0 12 21c2.49 0 4.74-1 6.36-2.64"],[6,"M21 12c0 1-.16 1.97-.47 2.87"],[6,"M21 3v5h-5"],[6,"M22 22 2 2"]],refrigerator:[[6,"M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z"],[6,"M5 10h14"],[6,"M15 7v6"]],regex:[[6,"M17 3v10"],[6,"m12.67 5.5 8.66 5"],[6,"m12.67 10.5 8.66-5"],[6,"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z"]],"remove-formatting":[[6,"M4 7V4h16v3"],[6,"M5 20h6"],[6,"M13 4 8 20"],[6,"m15 15 5 5"],[6,"m20 15-5 5"]],repeat:[[6,"m17 2 4 4-4 4"],[6,"M3 11v-1a4 4 0 0 1 4-4h14"],[6,"m7 22-4-4 4-4"],[6,"M21 13v1a4 4 0 0 1-4 4H3"]],"repeat-1":[[6,"m17 2 4 4-4 4"],[6,"M3 11v-1a4 4 0 0 1 4-4h14"],[6,"m7 22-4-4 4-4"],[6,"M21 13v1a4 4 0 0 1-4 4H3"],[6,"M11 10h1v4"]],"repeat-2":[[6,"m2 9 3-3 3 3"],[6,"M13 18H7a2 2 0 0 1-2-2V6"],[6,"m22 15-3 3-3-3"],[6,"M11 6h6a2 2 0 0 1 2 2v10"]],replace:[[6,"M14 4a2 2 0 0 1 2-2"],[6,"M16 10a2 2 0 0 1-2-2"],[6,"M20 2a2 2 0 0 1 2 2"],[6,"M22 8a2 2 0 0 1-2 2"],[6,"m3 7 3 3 3-3"],[6,"M6 10V5a3 3 0 0 1 3-3h1"],[5,2,14,8,8,2]],"replace-all":[[6,"M14 14a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2"],[6,"M14 4a2 2 0 0 1 2-2"],[6,"M16 10a2 2 0 0 1-2-2"],[6,"M20 14a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2"],[6,"M20 2a2 2 0 0 1 2 2"],[6,"M22 8a2 2 0 0 1-2 2"],[6,"m3 7 3 3 3-3"],[6,"M6 10V5a 3 3 0 0 1 3-3h1"],[5,2,14,8,8,2]],reply:[[2,"9 17 4 12 9 7"],[6,"M20 18v-2a4 4 0 0 0-4-4H4"]],"reply-all":[[2,"7 17 2 12 7 7"],[2,"12 17 7 12 12 7"],[6,"M22 18v-2a4 4 0 0 0-4-4H7"]],rewind:[[3,"11 19 2 12 11 5 11 19"],[3,"22 19 13 12 22 5 22 19"]],ribbon:[[6,"M12 11.22C11 9.997 10 9 10 8a2 2 0 0 1 4 0c0 1-.998 2.002-2.01 3.22"],[6,"m12 18 2.57-3.5"],[6,"M6.243 9.016a7 7 0 0 1 11.507-.009"],[6,"M9.35 14.53 12 11.22"],[6,"M9.35 14.53C7.728 12.246 6 10.221 6 7a6 5 0 0 1 12 0c-.005 3.22-1.778 5.235-3.43 7.5l3.557 4.527a1 1 0 0 1-.203 1.43l-1.894 1.36a1 1 0 0 1-1.384-.215L12 18l-2.679 3.593a1 1 0 0 1-1.39.213l-1.865-1.353a1 1 0 0 1-.203-1.422z"]],rocket:[[6,"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"],[6,"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"],[6,"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"],[6,"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"]],"rocking-chair":[[2,"3.5 2 6.5 12.5 18 12.5"],[0,9.5,12.5,5.5,20],[0,15,12.5,18.5,20],[6,"M2.75 18a13 13 0 0 0 18.5 0"]],"roller-coaster":[[6,"M6 19V5"],[6,"M10 19V6.8"],[6,"M14 19v-7.8"],[6,"M18 5v4"],[6,"M18 19v-6"],[6,"M22 19V9"],[6,"M2 19V9a4 4 0 0 1 4-4c2 0 4 1.33 6 4s4 4 6 4a4 4 0 1 0-3-6.65"]],"rotate-3d":[[6,"M16.466 7.5C15.643 4.237 13.952 2 12 2 9.239 2 7 6.477 7 12s2.239 10 5 10c.342 0 .677-.069 1-.2"],[6,"m15.194 13.707 3.814 1.86-1.86 3.814"],[6,"M19 15.57c-1.804.885-4.274 1.43-7 1.43-5.523 0-10-2.239-10-5s4.477-5 10-5c4.838 0 8.873 1.718 9.8 4"]],"rotate-ccw":[[6,"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"],[6,"M3 3v5h5"]],"rotate-ccw-square":[[6,"M20 9V7a2 2 0 0 0-2-2h-6"],[6,"m15 2-3 3 3 3"],[6,"M20 13v5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2"]],"rotate-cw":[[6,"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"],[6,"M21 3v5h-5"]],"rotate-cw-square":[[6,"M12 5H6a2 2 0 0 0-2 2v3"],[6,"m9 8 3-3-3-3"],[6,"M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"]],route:[[1,6,19,3],[6,"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15"],[1,18,5,3]],"route-off":[[1,6,19,3],[6,"M9 19h8.5c.4 0 .9-.1 1.3-.2"],[6,"M5.2 5.2A3.5 3.53 0 0 0 6.5 12H12"],[6,"m2 2 20 20"],[6,"M21 15.3a3.5 3.5 0 0 0-3.3-3.3"],[6,"M15 5h-4.3"],[1,18,5,3]],router:[[5,2,14,20,8,2],[6,"M6.01 18H6"],[6,"M10.01 18H10"],[6,"M15 10v4"],[6,"M17.84 7.17a4 4 0 0 0-5.66 0"],[6,"M20.66 4.34a8 8 0 0 0-11.31 0"]],rows:[[5,3,3,18,18,2],[6,"M3 12h18"]],"rows-2":[[5,3,3,18,18,2],[6,"M3 12h18"]],"rows-3":[[5,3,3,18,18,2],[6,"M21 9H3"],[6,"M21 15H3"]],"rows-4":[[5,3,3,18,18,2],[6,"M21 7.5H3"],[6,"M21 12H3"],[6,"M21 16.5H3"]],rss:[[6,"M4 11a9 9 0 0 1 9 9"],[6,"M4 4a16 16 0 0 1 16 16"],[1,5,19,1]],ruler:[[6,"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z"],[6,"m14.5 12.5 2-2"],[6,"m11.5 9.5 2-2"],[6,"m8.5 6.5 2-2"],[6,"m17.5 15.5 2-2"]],"russian-ruble":[[6,"M6 11h8a4 4 0 0 0 0-8H9v18"],[6,"M6 15h8"]],sailboat:[[6,"M22 18H2a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4Z"],[6,"M21 14 10 2 3 14h18Z"],[6,"M10 2v16"]],salad:[[6,"M7 21h10"],[6,"M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z"],[6,"M11.38 12a2.4 2.4 0 0 1-.4-4.77 2.4 2.4 0 0 1 3.2-2.77 2.4 2.4 0 0 1 3.47-.63 2.4 2.4 0 0 1 3.37 3.37 2.4 2.4 0 0 1-1.1 3.7 2.51 2.51 0 0 1 .03 1.1"],[6,"m13 12 4-4"],[6,"M10.9 7.25A3.99 3.99 0 0 0 4 10c0 .73.2 1.41.54 2"]],sandwich:[[6,"M3 11v3a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-3"],[6,"M12 19H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3.83"],[6,"m3 11 7.77-6.04a2 2 0 0 1 2.46 0L21 11H3Z"],[6,"M12.97 19.77 7 15h12.5l-3.75 4.5a2 2 0 0 1-2.78.27Z"]],satellite:[[6,"M13 7 9 3 5 7l4 4"],[6,"m17 11 4 4-4 4-4-4"],[6,"m8 12 4 4 6-6-4-4Z"],[6,"m16 8 3-3"],[6,"M9 21a6 6 0 0 0-6-6"]],"satellite-dish":[[6,"M4 10a7.31 7.31 0 0 0 10 10Z"],[6,"m9 15 3-3"],[6,"M17 13a6 6 0 0 0-6-6"],[6,"M21 13A10 10 0 0 0 11 3"]],save:[[6,"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"],[6,"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"],[6,"M7 3v4a1 1 0 0 0 1 1h7"]],"save-all":[[6,"M10 2v3a1 1 0 0 0 1 1h5"],[6,"M18 18v-6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6"],[6,"M18 22H4a2 2 0 0 1-2-2V6"],[6,"M8 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9.172a2 2 0 0 1 1.414.586l2.828 2.828A2 2 0 0 1 22 6.828V16a2 2 0 0 1-2.01 2z"]],"save-off":[[6,"M13 13H8a1 1 0 0 0-1 1v7"],[6,"M14 8h1"],[6,"M17 21v-4"],[6,"m2 2 20 20"],[6,"M20.41 20.41A2 2 0 0 1 19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 .59-1.41"],[6,"M29.5 11.5s5 5 4 5"],[6,"M9 3h6.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V15"]],scale:[[6,"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z"],[6,"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z"],[6,"M7 21h10"],[6,"M12 3v18"],[6,"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2"]],"scale-3d":[[1,19,19,2],[1,5,5,2],[6,"M5 7v12h12"],[6,"m5 19 6-6"]],scaling:[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M14 15H9v-5"],[6,"M16 3h5v5"],[6,"M21 3 9 15"]],scan:[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"]],"scan-barcode":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[6,"M8 7v10"],[6,"M12 7v10"],[6,"M17 7v10"]],"scan-eye":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[1,12,12,1],[6,"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0"]],"scan-face":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[6,"M8 14s1.5 2 4 2 4-2 4-2"],[6,"M9 9h.01"],[6,"M15 9h.01"]],"scan-line":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[6,"M7 12h10"]],"scan-qr-code":[[6,"M17 12v4a1 1 0 0 1-1 1h-4"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M17 8V7"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M7 17h.01"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[5,7,7,5,5,1]],"scan-search":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[1,12,12,3],[6,"m16 16-1.9-1.9"]],"scan-text":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[6,"M7 8h8"],[6,"M7 12h10"],[6,"M7 16h6"]],"scatter-chart":[[1,7.5,7.5,.5],[1,18.5,5.5,.5],[1,11.5,11.5,.5],[1,7.5,16.5,.5],[1,17.5,14.5,.5],[6,"M3 3v16a2 2 0 0 0 2 2h16"]],school:[[6,"M14 22v-4a2 2 0 1 0-4 0v4"],[6,"m18 10 4 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-8l4-2"],[6,"M18 5v17"],[6,"m4 6 8-4 8 4"],[6,"M6 5v17"],[1,12,9,2]],"school-2":[[1,12,10,1],[6,"M22 20V8h-4l-6-4-6 4H2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2"],[6,"M6 17v.01"],[6,"M6 13v.01"],[6,"M18 17v.01"],[6,"M18 13v.01"],[6,"M14 22v-5a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5"]],scissors:[[1,6,6,3],[6,"M8.12 8.12 12 12"],[6,"M20 4 8.12 15.88"],[1,6,18,3],[6,"M14.8 14.8 20 20"]],"scissors-line-dashed":[[6,"M5.42 9.42 8 12"],[1,4,8,2],[6,"m14 6-8.58 8.58"],[1,4,16,2],[6,"M10.8 14.8 14 18"],[6,"M16 12h-2"],[6,"M22 12h-2"]],"scissors-square":[[5,2,2,20,20,2],[1,8,8,2],[6,"M9.414 9.414 12 12"],[6,"M14.8 14.8 18 18"],[1,8,16,2],[6,"m18 6-8.586 8.586"]],"scissors-square-dashed-bottom":[[6,"M4 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2"],[6,"M10 22H8"],[6,"M16 22h-2"],[1,8,8,2],[6,"M9.414 9.414 12 12"],[6,"M14.8 14.8 18 18"],[1,8,16,2],[6,"m18 6-8.586 8.586"]],"screen-share":[[6,"M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3"],[6,"M8 21h8"],[6,"M12 17v4"],[6,"m17 8 5-5"],[6,"M17 3h5v5"]],"screen-share-off":[[6,"M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3"],[6,"M8 21h8"],[6,"M12 17v4"],[6,"m22 3-5 5"],[6,"m17 3 5 5"]],scroll:[[6,"M19 17V5a2 2 0 0 0-2-2H4"],[6,"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"]],"scroll-text":[[6,"M15 12h-5"],[6,"M15 8h-5"],[6,"M19 17V5a2 2 0 0 0-2-2H4"],[6,"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"]],search:[[1,11,11,8],[6,"m21 21-4.3-4.3"]],"search-check":[[6,"m8 11 2 2 4-4"],[1,11,11,8],[6,"m21 21-4.3-4.3"]],"search-code":[[6,"m13 13.5 2-2.5-2-2.5"],[6,"m21 21-4.3-4.3"],[6,"M9 8.5 7 11l2 2.5"],[1,11,11,8]],"search-slash":[[6,"m13.5 8.5-5 5"],[1,11,11,8],[6,"m21 21-4.3-4.3"]],"search-x":[[6,"m13.5 8.5-5 5"],[6,"m8.5 8.5 5 5"],[1,11,11,8],[6,"m21 21-4.3-4.3"]],section:[[6,"M16 5a4 3 0 0 0-8 0c0 4 8 3 8 7a4 3 0 0 1-8 0"],[6,"M8 19a4 3 0 0 0 8 0c0-4-8-3-8-7a4 3 0 0 1 8 0"]],send:[[6,"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"],[6,"m21.854 2.147-10.94 10.939"]],"send-horizonal":[[6,"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z"],[6,"M6 12h16"]],"send-horizontal":[[6,"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z"],[6,"M6 12h16"]],"send-to-back":[[5,14,14,8,8,2],[5,2,2,8,8,2],[6,"M7 14v1a2 2 0 0 0 2 2h1"],[6,"M14 7h1a2 2 0 0 1 2 2v1"]],"separator-horizontal":[[0,3,12,21,12],[2,"8 8 12 4 16 8"],[2,"16 16 12 20 8 16"]],"separator-vertical":[[0,12,3,12,21],[2,"8 8 4 12 8 16"],[2,"16 16 20 12 16 8"]],server:[[5,2,2,20,8,2,2],[5,2,14,20,8,2,2],[0,6,6,6.01,6],[0,6,18,6.01,18]],"server-cog":[[1,12,12,3],[6,"M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5"],[6,"M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5"],[6,"M6 6h.01"],[6,"M6 18h.01"],[6,"m15.7 13.4-.9-.3"],[6,"m9.2 10.9-.9-.3"],[6,"m10.6 15.7.3-.9"],[6,"m13.6 15.7-.4-1"],[6,"m10.8 9.3-.4-1"],[6,"m8.3 13.6 1-.4"],[6,"m14.7 10.8 1-.4"],[6,"m13.4 8.3-.3.9"]],"server-crash":[[6,"M6 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2"],[6,"M6 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-2"],[6,"M6 6h.01"],[6,"M6 18h.01"],[6,"m13 6-4 6h6l-4 6"]],"server-off":[[6,"M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5"],[6,"M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z"],[6,"M22 17v-1a2 2 0 0 0-2-2h-1"],[6,"M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z"],[6,"M6 18h.01"],[6,"m2 2 20 20"]],settings:[[6,"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"],[1,12,12,3]],"settings-2":[[6,"M20 7h-9"],[6,"M14 17H5"],[1,17,17,3],[1,7,7,3]],shapes:[[6,"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z"],[5,3,14,7,7,1],[1,17.5,17.5,3.5]],share:[[6,"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"],[2,"16 6 12 2 8 6"],[0,12,2,12,15]],"share-2":[[1,18,5,3],[1,6,12,3],[1,18,19,3],[0,8.59,13.51,15.42,17.49],[0,15.41,6.51,8.59,10.49]],sheet:[[5,3,3,18,18,2,2],[0,3,9,21,9],[0,3,15,21,15],[0,9,9,9,21],[0,15,9,15,21]],shell:[[6,"M14 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44"]],shield:[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"]],"shield-alert":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M12 8v4"],[6,"M12 16h.01"]],"shield-ban":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"m4.243 5.21 14.39 12.472"]],"shield-check":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"m9 12 2 2 4-4"]],"shield-close":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"m14.5 9.5-5 5"],[6,"m9.5 9.5 5 5"]],"shield-ellipsis":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M8 12h.01"],[6,"M12 12h.01"],[6,"M16 12h.01"]],"shield-half":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M12 22V2"]],"shield-minus":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M9 12h6"]],"shield-off":[[6,"m2 2 20 20"],[6,"M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71"],[6,"M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264"]],"shield-plus":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M9 12h6"],[6,"M12 9v6"]],"shield-question":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3"],[6,"M12 17h.01"]],"shield-x":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"m14.5 9.5-5 5"],[6,"m9.5 9.5 5 5"]],ship:[[6,"M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1 .6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M19.38 20A11.6 11.6 0 0 0 21 14l-9-4-9 4c0 2.9.94 5.34 2.81 7.76"],[6,"M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6"],[6,"M12 10v4"],[6,"M12 2v3"]],"ship-wheel":[[1,12,12,8],[6,"M12 2v7.5"],[6,"m19 5-5.23 5.23"],[6,"M22 12h-7.5"],[6,"m19 19-5.23-5.23"],[6,"M12 14.5V22"],[6,"M10.23 13.77 5 19"],[6,"M9.5 12H2"],[6,"M10.23 10.23 5 5"],[1,12,12,2.5]],shirt:[[6,"M20.38 3.46 16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z"]],"shopping-bag":[[6,"M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z"],[6,"M3 6h18"],[6,"M16 10a4 4 0 0 1-8 0"]],"shopping-basket":[[6,"m15 11-1 9"],[6,"m19 11-4-7"],[6,"M2 11h20"],[6,"m3.5 11 1.6 7.4a2 2 0 0 0 2 1.6h9.8a2 2 0 0 0 2-1.6l1.7-7.4"],[6,"M4.5 15.5h15"],[6,"m5 11 4-7"],[6,"m9 11 1 9"]],"shopping-cart":[[1,8,21,1],[1,19,21,1],[6,"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"]],shovel:[[6,"M2 22v-5l5-5 5 5-5 5z"],[6,"M9.5 14.5 16 8"],[6,"m17 2 5 5-.5.5a3.53 3.53 0 0 1-5 0s0 0 0 0a3.53 3.53 0 0 1 0-5L17 2"]],"shower-head":[[6,"m4 4 2.5 2.5"],[6,"M13.5 6.5a4.95 4.95 0 0 0-7 7"],[6,"M15 5 5 15"],[6,"M14 17v.01"],[6,"M10 16v.01"],[6,"M13 13v.01"],[6,"M16 10v.01"],[6,"M11 20v.01"],[6,"M17 14v.01"],[6,"M20 11v.01"]],shrink:[[6,"m15 15 6 6m-6-6v4.8m0-4.8h4.8"],[6,"M9 19.8V15m0 0H4.2M9 15l-6 6"],[6,"M15 4.2V9m0 0h4.8M15 9l6-6"],[6,"M9 4.2V9m0 0H4.2M9 9 3 3"]],shrub:[[6,"M12 22v-7l-2-2"],[6,"M17 8v.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0Z"],[6,"m14 14-2 2"]],shuffle:[[6,"M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22"],[6,"m18 2 4 4-4 4"],[6,"M2 6h1.9c1.5 0 2.9.9 3.6 2.2"],[6,"M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8"],[6,"m18 14 4 4-4 4"]],sidebar:[[5,3,3,18,18,2],[6,"M9 3v18"]],"sidebar-close":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"m16 15-3-3 3-3"]],"sidebar-open":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"m14 9 3 3-3 3"]],sigma:[[6,"M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2"]],"sigma-square":[[5,3,3,18,18,2],[6,"M16 8.9V7H8l4 5-4 5h8v-1.9"]],signal:[[6,"M2 20h.01"],[6,"M7 20v-4"],[6,"M12 20v-8"],[6,"M17 20V8"],[6,"M22 4v16"]],"signal-high":[[6,"M2 20h.01"],[6,"M7 20v-4"],[6,"M12 20v-8"],[6,"M17 20V8"]],"signal-low":[[6,"M2 20h.01"],[6,"M7 20v-4"]],"signal-medium":[[6,"M2 20h.01"],[6,"M7 20v-4"],[6,"M12 20v-8"]],"signal-zero":[[6,"M2 20h.01"]],signature:[[6,"m21 17-2.156-1.868A.5.5 0 0 0 18 15.5v.5a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1c0-2.545-3.991-3.97-8.5-4a1 1 0 0 0 0 5c4.153 0 4.745-11.295 5.708-13.5a2.5 2.5 0 1 1 3.31 3.284"],[6,"M3 21h18"]],signpost:[[6,"M12 13v8"],[6,"M12 3v3"],[6,"M18 6a2 2 0 0 1 1.387.56l2.307 2.22a1 1 0 0 1 0 1.44l-2.307 2.22A2 2 0 0 1 18 13H6a2 2 0 0 1-1.387-.56l-2.306-2.22a1 1 0 0 1 0-1.44l2.306-2.22A2 2 0 0 1 6 6z"]],"signpost-big":[[6,"M10 9H4L2 7l2-2h6"],[6,"M14 5h6l2 2-2 2h-6"],[6,"M10 22V4a2 2 0 1 1 4 0v18"],[6,"M8 22h8"]],siren:[[6,"M7 18v-6a5 5 0 1 1 10 0v6"],[6,"M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z"],[6,"M21 12h1"],[6,"M18.5 4.5 18 5"],[6,"M2 12h1"],[6,"M12 2v1"],[6,"m4.929 4.929.707.707"],[6,"M12 12v6"]],"skip-back":[[3,"19 20 9 12 19 4 19 20"],[0,5,19,5,5]],"skip-forward":[[3,"5 4 15 12 5 20 5 4"],[0,19,5,19,19]],skull:[[6,"m12.5 17-.5-1-.5 1h1z"],[6,"M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z"],[1,15,12,1],[1,9,12,1]],slack:[[5,13,2,3,8,1.5],[6,"M19 8.5V10h1.5A1.5 1.5 0 1 0 19 8.5"],[5,8,14,3,8,1.5],[6,"M5 15.5V14H3.5A1.5 1.5 0 1 0 5 15.5"],[5,14,13,8,3,1.5],[6,"M15.5 19H14v1.5a1.5 1.5 0 1 0 1.5-1.5"],[5,2,8,8,3,1.5],[6,"M8.5 5H10V3.5A1.5 1.5 0 1 0 8.5 5"]],slash:[[6,"M22 2 2 22"]],"slash-square":[[5,3,3,18,18,2],[0,9,15,15,9]],slice:[[6,"m8 14-6 6h9v-3"],[6,"M18.37 3.63 8 14l3 3L21.37 6.63a2.12 2.12 0 1 0-3-3Z"]],sliders:[[0,4,21,4,14],[0,4,10,4,3],[0,12,21,12,12],[0,12,8,12,3],[0,20,21,20,16],[0,20,12,20,3],[0,2,14,6,14],[0,10,8,14,8],[0,18,16,22,16]],"sliders-horizontal":[[0,21,4,14,4],[0,10,4,3,4],[0,21,12,12,12],[0,8,12,3,12],[0,21,20,16,20],[0,12,20,3,20],[0,14,2,14,6],[0,8,10,8,14],[0,16,18,16,22]],"sliders-vertical":[[0,4,21,4,14],[0,4,10,4,3],[0,12,21,12,12],[0,12,8,12,3],[0,20,21,20,16],[0,20,12,20,3],[0,2,14,6,14],[0,10,8,14,8],[0,18,16,22,16]],smartphone:[[5,5,2,14,20,2,2],[6,"M12 18h.01"]],"smartphone-charging":[[5,5,2,14,20,2,2],[6,"M12.667 8 10 12h4l-2.667 4"]],"smartphone-nfc":[[5,2,6,7,12,1],[6,"M13 8.32a7.43 7.43 0 0 1 0 7.36"],[6,"M16.46 6.21a11.76 11.76 0 0 1 0 11.58"],[6,"M19.91 4.1a15.91 15.91 0 0 1 .01 15.8"]],smile:[[1,12,12,10],[6,"M8 14s1.5 2 4 2 4-2 4-2"],[0,9,9,9.01,9],[0,15,9,15.01,9]],"smile-plus":[[6,"M22 11v1a10 10 0 1 1-9-10"],[6,"M8 14s1.5 2 4 2 4-2 4-2"],[0,9,9,9.01,9],[0,15,9,15.01,9],[6,"M16 5h6"],[6,"M19 2v6"]],snail:[[6,"M2 13a6 6 0 1 0 12 0 4 4 0 1 0-8 0 2 2 0 0 0 4 0"],[1,10,13,8],[6,"M2 21h12c4.4 0 8-3.6 8-8V7a2 2 0 1 0-4 0v6"],[6,"M18 3 19.1 5.2"],[6,"M22 3 20.9 5.2"]],snowflake:[[0,2,12,22,12],[0,12,2,12,22],[6,"m20 16-4-4 4-4"],[6,"m4 8 4 4-4 4"],[6,"m16 4-4 4-4-4"],[6,"m8 20 4-4 4 4"]],sofa:[[6,"M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3"],[6,"M2 16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z"],[6,"M4 18v2"],[6,"M20 18v2"],[6,"M12 4v9"]],"sort-asc":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M11 12h4"],[6,"M11 16h7"],[6,"M11 20h10"]],"sort-desc":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M11 4h10"],[6,"M11 8h7"],[6,"M11 12h4"]],soup:[[6,"M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z"],[6,"M7 21h10"],[6,"M19.5 12 22 6"],[6,"M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62"],[6,"M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62"],[6,"M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62"]],space:[[6,"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1"]],spade:[[6,"M5 9c-1.5 1.5-3 3.2-3 5.5A5.5 5.5 0 0 0 7.5 20c1.8 0 3-.5 4.5-2 1.5 1.5 2.7 2 4.5 2a5.5 5.5 0 0 0 5.5-5.5c0-2.3-1.5-4-3-5.5l-7-7-7 7Z"],[6,"M12 18v4"]],sparkle:[[6,"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"]],sparkles:[[6,"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"],[6,"M20 3v4"],[6,"M22 5h-4"],[6,"M4 17v2"],[6,"M5 18H3"]],speaker:[[5,4,2,16,20,2],[6,"M12 6h.01"],[1,12,14,4],[6,"M12 14h.01"]],speech:[[6,"M8.8 20v-4.1l1.9.2a2.3 2.3 0 0 0 2.164-2.1V8.3A5.37 5.37 0 0 0 2 8.25c0 2.8.656 3.054 1 4.55a5.77 5.77 0 0 1 .029 2.758L2 20"],[6,"M19.8 17.8a7.5 7.5 0 0 0 .003-10.603"],[6,"M17 15a3.5 3.5 0 0 0-.025-4.975"]],"spell-check":[[6,"m6 16 6-12 6 12"],[6,"M8 12h8"],[6,"m16 20 2 2 4-4"]],"spell-check-2":[[6,"m6 16 6-12 6 12"],[6,"M8 12h8"],[6,"M4 21c1.1 0 1.1-1 2.3-1s1.1 1 2.3 1c1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1"]],spline:[[1,19,5,2],[1,5,19,2],[6,"M5 17A12 12 0 0 1 17 5"]],split:[[6,"M16 3h5v5"],[6,"M8 3H3v5"],[6,"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3"],[6,"m15 9 6-6"]],"split-square-horizontal":[[6,"M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3"],[6,"M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3"],[0,12,4,12,20]],"split-square-vertical":[[6,"M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3"],[6,"M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3"],[0,4,12,20,12]],"spray-can":[[6,"M3 3h.01"],[6,"M7 5h.01"],[6,"M11 7h.01"],[6,"M3 7h.01"],[6,"M7 9h.01"],[6,"M3 11h.01"],[5,15,5,4,4],[6,"m19 9 2 2v10c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V11l2-2"],[6,"m13 14 8-2"],[6,"m13 19 8-2"]],sprout:[[6,"M7 20h10"],[6,"M10 20c5.5-2.5.8-6.4 3-10"],[6,"M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z"],[6,"M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z"]],square:[[5,3,3,18,18,2]],"square-activity":[[5,3,3,18,18,2],[6,"M17 12h-2l-2 5-2-10-2 5H7"]],"square-arrow-down":[[5,3,3,18,18,2],[6,"M12 8v8"],[6,"m8 12 4 4 4-4"]],"square-arrow-down-left":[[5,3,3,18,18,2],[6,"m16 8-8 8"],[6,"M16 16H8V8"]],"square-arrow-down-right":[[5,3,3,18,18,2],[6,"m8 8 8 8"],[6,"M16 8v8H8"]],"square-arrow-left":[[5,3,3,18,18,2],[6,"m12 8-4 4 4 4"],[6,"M16 12H8"]],"square-arrow-out-down-left":[[6,"M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6"],[6,"m3 21 9-9"],[6,"M9 21H3v-6"]],"square-arrow-out-down-right":[[6,"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"],[6,"m21 21-9-9"],[6,"M21 15v6h-6"]],"square-arrow-out-up-left":[[6,"M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6"],[6,"m3 3 9 9"],[6,"M3 9V3h6"]],"square-arrow-out-up-right":[[6,"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6"],[6,"m21 3-9 9"],[6,"M15 3h6v6"]],"square-arrow-right":[[5,3,3,18,18,2],[6,"M8 12h8"],[6,"m12 16 4-4-4-4"]],"square-arrow-up":[[5,3,3,18,18,2],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"]],"square-arrow-up-left":[[5,3,3,18,18,2],[6,"M8 16V8h8"],[6,"M16 16 8 8"]],"square-arrow-up-right":[[5,3,3,18,18,2],[6,"M8 8h8v8"],[6,"m8 16 8-8"]],"square-asterisk":[[5,3,3,18,18,2],[6,"M12 8v8"],[6,"m8.5 14 7-4"],[6,"m8.5 10 7 4"]],"square-bottom-dashed-scissors":[[6,"M4 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2"],[6,"M10 22H8"],[6,"M16 22h-2"],[1,8,8,2],[6,"M9.414 9.414 12 12"],[6,"M14.8 14.8 18 18"],[1,8,16,2],[6,"m18 6-8.586 8.586"]],"square-chart-gantt":[[5,3,3,18,18,2],[6,"M9 8h7"],[6,"M8 12h6"],[6,"M11 16h5"]],"square-check":[[5,3,3,18,18,2],[6,"m9 12 2 2 4-4"]],"square-check-big":[[6,"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5"],[6,"m9 11 3 3L22 4"]],"square-chevron-down":[[5,3,3,18,18,2],[6,"m16 10-4 4-4-4"]],"square-chevron-left":[[5,3,3,18,18,2],[6,"m14 16-4-4 4-4"]],"square-chevron-right":[[5,3,3,18,18,2],[6,"m10 8 4 4-4 4"]],"square-chevron-up":[[5,3,3,18,18,2],[6,"m8 14 4-4 4 4"]],"square-code":[[6,"M10 9.5 8 12l2 2.5"],[6,"m14 9.5 2 2.5-2 2.5"],[5,3,3,18,18,2]],"square-dashed-bottom":[[6,"M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2"],[6,"M9 21h1"],[6,"M14 21h1"]],"square-dashed-bottom-code":[[6,"M10 9.5 8 12l2 2.5"],[6,"M14 21h1"],[6,"m14 9.5 2 2.5-2 2.5"],[6,"M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2"],[6,"M9 21h1"]],"square-dashed-kanban":[[6,"M8 7v7"],[6,"M12 7v4"],[6,"M16 7v9"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M9 3h1"],[6,"M14 3h1"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 9v1"],[6,"M21 14v1"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M14 21h1"],[6,"M9 21h1"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M3 14v1"],[6,"M3 9v1"]],"square-dashed-mouse-pointer":[[6,"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h2"],[6,"M14 3h1"],[6,"M3 9v1"],[6,"M21 9v2"],[6,"M3 14v1"]],"square-divide":[[5,3,3,18,18,2,2],[0,8,12,16,12],[0,12,16,12,16],[0,12,8,12,8]],"square-dot":[[5,3,3,18,18,2],[1,12,12,1]],"square-equal":[[5,3,3,18,18,2],[6,"M7 10h10"],[6,"M7 14h10"]],"square-function":[[5,3,3,18,18,2,2],[6,"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3"],[6,"M9 11.2h5.7"]],"square-gantt-chart":[[5,3,3,18,18,2],[6,"M9 8h7"],[6,"M8 12h6"],[6,"M11 16h5"]],"square-kanban":[[5,3,3,18,18,2],[6,"M8 7v7"],[6,"M12 7v4"],[6,"M16 7v9"]],"square-library":[[5,3,3,18,18,2],[6,"M7 7v10"],[6,"M11 7v10"],[6,"m15 7 2 10"]],"square-m":[[5,3,3,18,18,2],[6,"M8 16V8l4 4 4-4v8"]],"square-menu":[[5,3,3,18,18,2],[6,"M7 8h10"],[6,"M7 12h10"],[6,"M7 16h10"]],"square-minus":[[5,3,3,18,18,2],[6,"M8 12h8"]],"square-mouse-pointer":[[6,"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"],[6,"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"]],"square-parking":[[5,3,3,18,18,2],[6,"M9 17V7h4a3 3 0 0 1 0 6H9"]],"square-parking-off":[[6,"M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41"],[6,"M3 8.7V19a2 2 0 0 0 2 2h10.3"],[6,"m2 2 20 20"],[6,"M13 13a3 3 0 1 0 0-6H9v2"],[6,"M9 17v-2.3"]],"square-pen":[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"]],"square-percent":[[5,3,3,18,18,2],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"square-pi":[[5,3,3,18,18,2],[6,"M7 7h10"],[6,"M10 7v10"],[6,"M16 17a2 2 0 0 1-2-2V7"]],"square-pilcrow":[[5,3,3,18,18,2],[6,"M12 12H9.5a2.5 2.5 0 0 1 0-5H17"],[6,"M12 7v10"],[6,"M16 7v10"]],"square-play":[[5,3,3,18,18,2],[6,"m9 8 6 4-6 4Z"]],"square-plus":[[5,3,3,18,18,2],[6,"M8 12h8"],[6,"M12 8v8"]],"square-power":[[6,"M12 7v4"],[6,"M7.998 9.003a5 5 0 1 0 8-.005"],[5,3,3,18,18,2]],"square-radical":[[6,"M7 12h2l2 5 2-10h4"],[5,3,3,18,18,2]],"square-scissors":[[5,2,2,20,20,2],[1,8,8,2],[6,"M9.414 9.414 12 12"],[6,"M14.8 14.8 18 18"],[1,8,16,2],[6,"m18 6-8.586 8.586"]],"square-sigma":[[5,3,3,18,18,2],[6,"M16 8.9V7H8l4 5-4 5h8v-1.9"]],"square-slash":[[5,3,3,18,18,2],[0,9,15,15,9]],"square-split-horizontal":[[6,"M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3"],[6,"M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3"],[0,12,4,12,20]],"square-split-vertical":[[6,"M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3"],[6,"M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3"],[0,4,12,20,12]],"square-square":[[5,3,3,18,18,2],[5,8,8,8,8,1]],"square-stack":[[6,"M4 10c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2"],[6,"M10 16c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2"],[5,14,14,8,8,2]],"square-terminal":[[6,"m7 11 2-2-2-2"],[6,"M11 13h4"],[5,3,3,18,18,2,2]],"square-user":[[5,3,3,18,18,2],[1,12,10,3],[6,"M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2"]],"square-user-round":[[6,"M18 21a6 6 0 0 0-12 0"],[1,12,11,4],[5,3,3,18,18,2]],"square-x":[[5,3,3,18,18,2,2],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],squircle:[[6,"M12 3c7.2 0 9 1.8 9 9s-1.8 9-9 9-9-1.8-9-9 1.8-9 9-9"]],squirrel:[[6,"M15.236 22a3 3 0 0 0-2.2-5"],[6,"M16 20a3 3 0 0 1 3-3h1a2 2 0 0 0 2-2v-2a4 4 0 0 0-4-4V4"],[6,"M18 13h.01"],[6,"M18 6a4 4 0 0 0-4 4 7 7 0 0 0-7 7c0-5 4-5 4-10.5a4.5 4.5 0 1 0-9 0 2.5 2.5 0 0 0 5 0C7 10 3 11 3 17c0 2.8 2.2 5 5 5h10"]],stamp:[[6,"M5 22h14"],[6,"M19.27 13.73A2.5 2.5 0 0 0 17.5 13h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1.5c0-.66-.26-1.3-.73-1.77Z"],[6,"M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-3-3c-1.66 0-3 1-3 3s1 2 1 3.5V13"]],star:[[3,"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"]],"star-half":[[6,"M12 17.8 5.8 21 7 14.1 2 9.3l7-1L12 2"]],"star-off":[[6,"M8.34 8.34 2 9.27l5 4.87L5.82 21 12 17.77 18.18 21l-.59-3.43"],[6,"M18.42 12.76 22 9.27l-6.91-1L12 2l-1.44 2.91"],[0,2,2,22,22]],stars:[[6,"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"],[6,"M20 3v4"],[6,"M22 5h-4"],[6,"M4 17v2"],[6,"M5 18H3"]],"step-back":[[0,18,20,18,4],[3,"14,20 4,12 14,4"]],"step-forward":[[0,6,4,6,20],[3,"10,4 20,12 10,20"]],stethoscope:[[6,"M11 2v2"],[6,"M5 2v2"],[6,"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1"],[6,"M8 15a6 6 0 0 0 12 0v-3"],[1,20,10,2]],sticker:[[6,"M15.5 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V8.5L15.5 3Z"],[6,"M14 3v4a2 2 0 0 0 2 2h4"],[6,"M8 13h.01"],[6,"M16 13h.01"],[6,"M10 16s.8 1 2 1c1.3 0 2-1 2-1"]],"sticky-note":[[6,"M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8Z"],[6,"M15 3v4a2 2 0 0 0 2 2h4"]],"stop-circle":[[1,12,12,10],[5,9,9,6,6,1]],store:[[6,"m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7"],[6,"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"],[6,"M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4"],[6,"M2 7h20"],[6,"M22 7v3a2 2 0 0 1-2 2a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12a2 2 0 0 1-2-2V7"]],"stretch-horizontal":[[5,2,4,20,6,2],[5,2,14,20,6,2]],"stretch-vertical":[[5,4,2,6,20,2],[5,14,2,6,20,2]],strikethrough:[[6,"M16 4H9a3 3 0 0 0-2.83 4"],[6,"M14 12a4 4 0 0 1 0 8H6"],[0,4,12,20,12]],subscript:[[6,"m4 5 8 8"],[6,"m12 5-8 8"],[6,"M20 19h-4c0-1.5.44-2 1.5-2.5S20 15.33 20 14c0-.47-.17-.93-.48-1.29a2.11 2.11 0 0 0-2.62-.44c-.42.24-.74.62-.9 1.07"]],subtitles:[[5,3,5,18,14,2,2],[6,"M7 15h4M15 15h2M7 11h2M13 11h4"]],sun:[[1,12,12,4],[6,"M12 2v2"],[6,"M12 20v2"],[6,"m4.93 4.93 1.41 1.41"],[6,"m17.66 17.66 1.41 1.41"],[6,"M2 12h2"],[6,"M20 12h2"],[6,"m6.34 17.66-1.41 1.41"],[6,"m19.07 4.93-1.41 1.41"]],"sun-dim":[[1,12,12,4],[6,"M12 4h.01"],[6,"M20 12h.01"],[6,"M12 20h.01"],[6,"M4 12h.01"],[6,"M17.657 6.343h.01"],[6,"M17.657 17.657h.01"],[6,"M6.343 17.657h.01"],[6,"M6.343 6.343h.01"]],"sun-medium":[[1,12,12,4],[6,"M12 3v1"],[6,"M12 20v1"],[6,"M3 12h1"],[6,"M20 12h1"],[6,"m18.364 5.636-.707.707"],[6,"m6.343 17.657-.707.707"],[6,"m5.636 5.636.707.707"],[6,"m17.657 17.657.707.707"]],"sun-moon":[[6,"M12 8a2.83 2.83 0 0 0 4 4 4 4 0 1 1-4-4"],[6,"M12 2v2"],[6,"M12 20v2"],[6,"m4.9 4.9 1.4 1.4"],[6,"m17.7 17.7 1.4 1.4"],[6,"M2 12h2"],[6,"M20 12h2"],[6,"m6.3 17.7-1.4 1.4"],[6,"m19.1 4.9-1.4 1.4"]],"sun-snow":[[6,"M10 9a3 3 0 1 0 0 6"],[6,"M2 12h1"],[6,"M14 21V3"],[6,"M10 4V3"],[6,"M10 21v-1"],[6,"m3.64 18.36.7-.7"],[6,"m4.34 6.34-.7-.7"],[6,"M14 12h8"],[6,"m17 4-3 3"],[6,"m14 17 3 3"],[6,"m21 15-3-3 3-3"]],sunrise:[[6,"M12 2v8"],[6,"m4.93 10.93 1.41 1.41"],[6,"M2 18h2"],[6,"M20 18h2"],[6,"m19.07 10.93-1.41 1.41"],[6,"M22 22H2"],[6,"m8 6 4-4 4 4"],[6,"M16 18a4 4 0 0 0-8 0"]],sunset:[[6,"M12 10V2"],[6,"m4.93 10.93 1.41 1.41"],[6,"M2 18h2"],[6,"M20 18h2"],[6,"m19.07 10.93-1.41 1.41"],[6,"M22 22H2"],[6,"m16 6-4 4-4-4"],[6,"M16 18a4 4 0 0 0-8 0"]],superscript:[[6,"m4 19 8-8"],[6,"m12 19-8-8"],[6,"M20 12h-4c0-1.5.442-2 1.5-2.5S20 8.334 20 7.002c0-.472-.17-.93-.484-1.29a2.105 2.105 0 0 0-2.617-.436c-.42.239-.738.614-.899 1.06"]],"swatch-book":[[6,"M11 17a4 4 0 0 1-8 0V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2Z"],[6,"M16.7 13H19a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H7"],[6,"M 7 17h.01"],[6,"m11 8 2.3-2.3a2.4 2.4 0 0 1 3.404.004L18.6 7.6a2.4 2.4 0 0 1 .026 3.434L9.9 19.8"]],"swiss-franc":[[6,"M10 21V3h8"],[6,"M6 16h9"],[6,"M10 9.5h7"]],"switch-camera":[[6,"M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5"],[6,"M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5"],[1,12,12,3],[6,"m18 22-3-3 3-3"],[6,"m6 2 3 3-3 3"]],sword:[[2,"14.5 17.5 3 6 3 3 6 3 17.5 14.5"],[0,13,19,19,13],[0,16,16,20,20],[0,19,21,21,19]],swords:[[2,"14.5 17.5 3 6 3 3 6 3 17.5 14.5"],[0,13,19,19,13],[0,16,16,20,20],[0,19,21,21,19],[2,"14.5 6.5 18 3 21 3 21 6 17.5 9.5"],[0,5,14,9,18],[0,7,17,4,20],[0,3,19,5,21]],syringe:[[6,"m18 2 4 4"],[6,"m17 7 3-3"],[6,"M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5"],[6,"m9 11 4 4"],[6,"m5 19-3 3"],[6,"m14 4 6 6"]],table:[[6,"M12 3v18"],[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M3 15h18"]],"table-2":[[6,"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"]],"table-cells-merge":[[6,"M12 21v-6"],[6,"M12 9V3"],[6,"M3 15h18"],[6,"M3 9h18"],[5,3,3,18,18,2]],"table-cells-split":[[6,"M12 15V9"],[6,"M3 15h18"],[6,"M3 9h18"],[5,3,3,18,18,2]],"table-columns-split":[[6,"M14 14v2"],[6,"M14 20v2"],[6,"M14 2v2"],[6,"M14 8v2"],[6,"M2 15h8"],[6,"M2 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2"],[6,"M2 9h8"],[6,"M22 15h-4"],[6,"M22 3h-2a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2"],[6,"M22 9h-4"],[6,"M5 3v18"]],"table-of-contents":[[6,"M16 12H3"],[6,"M16 18H3"],[6,"M16 6H3"],[6,"M21 12h.01"],[6,"M21 18h.01"],[6,"M21 6h.01"]],"table-properties":[[6,"M15 3v18"],[5,3,3,18,18,2],[6,"M21 9H3"],[6,"M21 15H3"]],"table-rows-split":[[6,"M14 10h2"],[6,"M15 22v-8"],[6,"M15 2v4"],[6,"M2 10h2"],[6,"M20 10h2"],[6,"M3 19h18"],[6,"M3 22v-6a2 2 135 0 1 2-2h14a2 2 45 0 1 2 2v6"],[6,"M3 2v2a2 2 45 0 0 2 2h14a2 2 135 0 0 2-2V2"],[6,"M8 10h2"],[6,"M9 22v-8"],[6,"M9 2v4"]],tablet:[[5,4,2,16,20,2,2],[0,12,18,12.01,18]],"tablet-smartphone":[[5,3,8,10,14,2],[6,"M5 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2h-2.4"],[6,"M8 18h.01"]],tablets:[[1,7,7,5],[1,17,17,5],[6,"M12 17h10"],[6,"m3.46 10.54 7.08-7.08"]],tag:[[6,"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"],[1,7.5,7.5,.5]],tags:[[6,"m15 5 6.3 6.3a2.4 2.4 0 0 1 0 3.4L17 19"],[6,"M9.586 5.586A2 2 0 0 0 8.172 5H3a1 1 0 0 0-1 1v5.172a2 2 0 0 0 .586 1.414L8.29 18.29a2.426 2.426 0 0 0 3.42 0l3.58-3.58a2.426 2.426 0 0 0 0-3.42z"],[1,6.5,9.5,.5]],"tally-1":[[6,"M4 4v16"]],"tally-2":[[6,"M4 4v16"],[6,"M9 4v16"]],"tally-3":[[6,"M4 4v16"],[6,"M9 4v16"],[6,"M14 4v16"]],"tally-4":[[6,"M4 4v16"],[6,"M9 4v16"],[6,"M14 4v16"],[6,"M19 4v16"]],"tally-5":[[6,"M4 4v16"],[6,"M9 4v16"],[6,"M14 4v16"],[6,"M19 4v16"],[6,"M22 6 2 18"]],tangent:[[1,17,4,2],[6,"M15.59 5.41 5.41 15.59"],[1,4,17,2],[6,"M12 22s-4-9-1.5-11.5S22 12 22 12"]],target:[[1,12,12,10],[1,12,12,6],[1,12,12,2]],telescope:[[6,"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44"],[6,"m13.56 11.747 4.332-.924"],[6,"m16 21-3.105-6.21"],[6,"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z"],[6,"m6.158 8.633 1.114 4.456"],[6,"m8 21 3.105-6.21"],[1,12,13,2]],tent:[[6,"M3.5 21 14 3"],[6,"M20.5 21 10 3"],[6,"M15.5 21 12 15l-3.5 6"],[6,"M2 21h20"]],"tent-tree":[[1,4,4,2],[6,"m14 5 3-3 3 3"],[6,"m14 10 3-3 3 3"],[6,"M17 14V2"],[6,"M17 14H7l-5 8h20Z"],[6,"M8 14v8"],[6,"m9 14 5 8"]],terminal:[[2,"4 17 10 11 4 5"],[0,12,19,20,19]],"terminal-square":[[6,"m7 11 2-2-2-2"],[6,"M11 13h4"],[5,3,3,18,18,2,2]],"test-tube":[[6,"M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2"],[6,"M8.5 2h7"],[6,"M14.5 16h-5"]],"test-tube-2":[[6,"M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3"],[6,"m16 2 6 6"],[6,"M12 16H4"]],"test-tube-diagonal":[[6,"M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3"],[6,"m16 2 6 6"],[6,"M12 16H4"]],"test-tubes":[[6,"M9 2v17.5A2.5 2.5 0 0 1 6.5 22A2.5 2.5 0 0 1 4 19.5V2"],[6,"M20 2v17.5a2.5 2.5 0 0 1-2.5 2.5a2.5 2.5 0 0 1-2.5-2.5V2"],[6,"M3 2h7"],[6,"M14 2h7"],[6,"M9 16H4"],[6,"M20 16h-5"]],text:[[6,"M17 6.1H3"],[6,"M21 12.1H3"],[6,"M15.1 18H3"]],"text-cursor":[[6,"M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1"],[6,"M7 22h1a4 4 0 0 0 4-4v-1"],[6,"M7 2h1a4 4 0 0 1 4 4v1"]],"text-cursor-input":[[6,"M5 4h1a3 3 0 0 1 3 3 3 3 0 0 1 3-3h1"],[6,"M13 20h-1a3 3 0 0 1-3-3 3 3 0 0 1-3 3H5"],[6,"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1"],[6,"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7"],[6,"M9 7v10"]],"text-quote":[[6,"M17 6H3"],[6,"M21 12H8"],[6,"M21 18H8"],[6,"M3 12v6"]],"text-search":[[6,"M21 6H3"],[6,"M10 12H3"],[6,"M10 18H3"],[1,17,15,3],[6,"m21 19-1.9-1.9"]],"text-select":[[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h1"],[6,"M14 3h1"],[6,"M14 21h1"],[6,"M3 9v1"],[6,"M21 9v1"],[6,"M3 14v1"],[6,"M21 14v1"],[0,7,8,15,8],[0,7,12,17,12],[0,7,16,13,16]],"text-selection":[[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h1"],[6,"M14 3h1"],[6,"M14 21h1"],[6,"M3 9v1"],[6,"M21 9v1"],[6,"M3 14v1"],[6,"M21 14v1"],[0,7,8,15,8],[0,7,12,17,12],[0,7,16,13,16]],theater:[[6,"M2 10s3-3 3-8"],[6,"M22 10s-3-3-3-8"],[6,"M10 2c0 4.4-3.6 8-8 8"],[6,"M14 2c0 4.4 3.6 8 8 8"],[6,"M2 10s2 2 2 5"],[6,"M22 10s-2 2-2 5"],[6,"M8 15h8"],[6,"M2 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1"],[6,"M14 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1"]],thermometer:[[6,"M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z"]],"thermometer-snowflake":[[6,"M2 12h10"],[6,"M9 4v16"],[6,"m3 9 3 3-3 3"],[6,"M12 6 9 9 6 6"],[6,"m6 18 3-3 1.5 1.5"],[6,"M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z"]],"thermometer-sun":[[6,"M12 9a4 4 0 0 0-2 7.5"],[6,"M12 3v2"],[6,"m6.6 18.4-1.4 1.4"],[6,"M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z"],[6,"M4 13H2"],[6,"M6.34 7.34 4.93 5.93"]],"thumbs-down":[[6,"M17 14V2"],[6,"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z"]],"thumbs-up":[[6,"M7 10v12"],[6,"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z"]],ticket:[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M13 5v2"],[6,"M13 17v2"],[6,"M13 11v2"]],"ticket-check":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"m9 12 2 2 4-4"]],"ticket-minus":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M9 12h6"]],"ticket-percent":[[6,"M2 9a3 3 0 1 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 1 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M9 9h.01"],[6,"m15 9-6 6"],[6,"M15 15h.01"]],"ticket-plus":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M9 12h6"],[6,"M12 9v6"]],"ticket-slash":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"m9.5 14.5 5-5"]],"ticket-x":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"m9.5 14.5 5-5"],[6,"m9.5 9.5 5 5"]],tickets:[[6,"m4.5 8 10.58-5.06a1 1 0 0 1 1.342.488L18.5 8"],[6,"M6 10V8"],[6,"M6 14v1"],[6,"M6 19v2"],[5,2,8,20,13,2]],"tickets-plane":[[6,"M10.5 17h1.227a2 2 0 0 0 1.345-.52L18 12"],[6,"m12 13.5 3.75.5"],[6,"m4.5 8 10.58-5.06a1 1 0 0 1 1.342.488L18.5 8"],[6,"M6 10V8"],[6,"M6 14v1"],[6,"M6 19v2"],[5,2,8,20,13,2]],timer:[[0,10,2,14,2],[0,12,14,15,11],[1,12,14,8]],"timer-off":[[6,"M10 2h4"],[6,"M4.6 11a8 8 0 0 0 1.7 8.7 8 8 0 0 0 8.7 1.7"],[6,"M7.4 7.4a8 8 0 0 1 10.3 1 8 8 0 0 1 .9 10.2"],[6,"m2 2 20 20"],[6,"M12 12v-2"]],"timer-reset":[[6,"M10 2h4"],[6,"M12 14v-4"],[6,"M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6"],[6,"M9 17H4v5"]],"toggle-left":[[5,2,6,20,12,6,6],[1,8,12,2]],"toggle-right":[[5,2,6,20,12,6,6],[1,16,12,2]],tornado:[[6,"M21 4H3"],[6,"M18 8H6"],[6,"M19 12H9"],[6,"M16 16h-6"],[6,"M11 20H9"]],torus:[[4,12,11,3,2],[4,12,12.5,10,8.5]],touchpad:[[5,2,4,20,16,2],[6,"M2 14h20"],[6,"M12 20v-6"]],"touchpad-off":[[6,"M4 4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16"],[6,"M2 14h12"],[6,"M22 14h-2"],[6,"M12 20v-6"],[6,"m2 2 20 20"],[6,"M22 16V6a2 2 0 0 0-2-2H10"]],"tower-control":[[6,"M18.2 12.27 20 6H4l1.8 6.27a1 1 0 0 0 .95.73h10.5a1 1 0 0 0 .96-.73Z"],[6,"M8 13v9"],[6,"M16 22v-9"],[6,"m9 6 1 7"],[6,"m15 6-1 7"],[6,"M12 6V2"],[6,"M13 2h-2"]],"toy-brick":[[5,3,8,18,12,1],[6,"M10 8V5c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v3"],[6,"M19 8V5c0-.6-.4-1-1-1h-3a1 1 0 0 0-1 1v3"]],tractor:[[6,"m10 11 11 .9a1 1 0 0 1 .8 1.1l-.665 4.158a1 1 0 0 1-.988.842H20"],[6,"M16 18h-5"],[6,"M18 5a1 1 0 0 0-1 1v5.573"],[6,"M3 4h8.129a1 1 0 0 1 .99.863L13 11.246"],[6,"M4 11V4"],[6,"M7 15h.01"],[6,"M8 10.1V4"],[1,18,18,2],[1,7,15,5]],"traffic-cone":[[6,"M9.3 6.2a4.55 4.55 0 0 0 5.4 0"],[6,"M7.9 10.7c.9.8 2.4 1.3 4.1 1.3s3.2-.5 4.1-1.3"],[6,"M13.9 3.5a1.93 1.93 0 0 0-3.8-.1l-3 10c-.1.2-.1.4-.1.6 0 1.7 2.2 3 5 3s5-1.3 5-3c0-.2 0-.4-.1-.5Z"],[6,"m7.5 12.2-4.7 2.7c-.5.3-.8.7-.8 1.1s.3.8.8 1.1l7.6 4.5c.9.5 2.1.5 3 0l7.6-4.5c.7-.3 1-.7 1-1.1s-.3-.8-.8-1.1l-4.7-2.8"]],train:[[5,4,3,16,16,2],[6,"M4 11h16"],[6,"M12 3v8"],[6,"m8 19-2 3"],[6,"m18 22-2-3"],[6,"M8 15h.01"],[6,"M16 15h.01"]],"train-front":[[6,"M8 3.1V7a4 4 0 0 0 8 0V3.1"],[6,"m9 15-1-1"],[6,"m15 15 1-1"],[6,"M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z"],[6,"m8 19-2 3"],[6,"m16 19 2 3"]],"train-front-tunnel":[[6,"M2 22V12a10 10 0 1 1 20 0v10"],[6,"M15 6.8v1.4a3 2.8 0 1 1-6 0V6.8"],[6,"M10 15h.01"],[6,"M14 15h.01"],[6,"M10 19a4 4 0 0 1-4-4v-3a6 6 0 1 1 12 0v3a4 4 0 0 1-4 4Z"],[6,"m9 19-2 3"],[6,"m15 19 2 3"]],"train-track":[[6,"M2 17 17 2"],[6,"m2 14 8 8"],[6,"m5 11 8 8"],[6,"m8 8 8 8"],[6,"m11 5 8 8"],[6,"m14 2 8 8"],[6,"M7 22 22 7"]],"tram-front":[[5,4,3,16,16,2],[6,"M4 11h16"],[6,"M12 3v8"],[6,"m8 19-2 3"],[6,"m18 22-2-3"],[6,"M8 15h.01"],[6,"M16 15h.01"]],trash:[[6,"M3 6h18"],[6,"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"],[6,"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"]],"trash-2":[[6,"M3 6h18"],[6,"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"],[6,"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"],[0,10,11,10,17],[0,14,11,14,17]],"tree-deciduous":[[6,"M8 19a4 4 0 0 1-2.24-7.32A3.5 3.5 0 0 1 9 6.03V6a3 3 0 1 1 6 0v.04a3.5 3.5 0 0 1 3.24 5.65A4 4 0 0 1 16 19Z"],[6,"M12 19v3"]],"tree-palm":[[6,"M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4"],[6,"M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3"],[6,"M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35"],[6,"M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14"]],"tree-pine":[[6,"m17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z"],[6,"M12 22v-3"]],trees:[[6,"M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z"],[6,"M7 16v6"],[6,"M13 19v3"],[6,"M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5"]],trello:[[5,3,3,18,18,2,2],[5,7,7,3,9],[5,14,7,3,5]],"trending-down":[[2,"22 17 13.5 8.5 8.5 13.5 2 7"],[2,"16 17 22 17 22 11"]],"trending-up":[[2,"22 7 13.5 15.5 8.5 10.5 2 17"],[2,"16 7 22 7 22 13"]],"trending-up-down":[[6,"M14.828 14.828 21 21"],[6,"M21 16v5h-5"],[6,"m21 3-9 9-4-4-6 6"],[6,"M21 8V3h-5"]],triangle:[[6,"M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"]],"triangle-alert":[[6,"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"],[6,"M12 9v4"],[6,"M12 17h.01"]],"triangle-right":[[6,"M22 18a2 2 0 0 1-2 2H3c-1.1 0-1.3-.6-.4-1.3L20.4 4.3c.9-.7 1.6-.4 1.6.7Z"]],trophy:[[6,"M6 9H4.5a2.5 2.5 0 0 1 0-5H6"],[6,"M18 9h1.5a2.5 2.5 0 0 0 0-5H18"],[6,"M4 22h16"],[6,"M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22"],[6,"M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22"],[6,"M18 2H6v7a6 6 0 0 0 12 0V2Z"]],truck:[[6,"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2"],[6,"M15 18H9"],[6,"M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14"],[1,17,18,2],[1,7,18,2]],turtle:[[6,"m12 10 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a8 8 0 1 0-16 0v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3l2-4h4Z"],[6,"M4.82 7.9 8 10"],[6,"M15.18 7.9 12 10"],[6,"M16.93 10H20a2 2 0 0 1 0 4H2"]],tv:[[5,2,7,20,15,2,2],[2,"17 2 12 7 7 2"]],"tv-2":[[6,"M7 21h10"],[5,2,3,20,14,2]],"tv-minimal":[[6,"M7 21h10"],[5,2,3,20,14,2]],"tv-minimal-play":[[6,"M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z"],[6,"M7 21h10"],[5,2,3,20,14,2]],twitch:[[6,"M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7"]],twitter:[[6,"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"]],type:[[2,"4 7 4 4 20 4 20 7"],[0,9,20,15,20],[0,12,4,12,20]],"type-outline":[[6,"M14 16.5a.5.5 0 0 0 .5.5h.5a2 2 0 0 1 0 4H9a2 2 0 0 1 0-4h.5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V8a2 2 0 0 1-4 0V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v3a2 2 0 0 1-4 0v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Z"]],umbrella:[[6,"M22 12a10.06 10.06 1 0 0-20 0Z"],[6,"M12 12v8a2 2 0 0 0 4 0"],[6,"M12 2v1"]],"umbrella-off":[[6,"M12 2v1"],[6,"M15.5 21a1.85 1.85 0 0 1-3.5-1v-8H2a10 10 0 0 1 3.428-6.575"],[6,"M17.5 12H22A10 10 0 0 0 9.004 3.455"],[6,"m2 2 20 20"]],underline:[[6,"M6 4v6a6 6 0 0 0 12 0V4"],[0,4,20,20,20]],undo:[[6,"M3 7v6h6"],[6,"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"]],"undo-2":[[6,"M9 14 4 9l5-5"],[6,"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11"]],"undo-dot":[[1,12,17,1],[6,"M3 7v6h6"],[6,"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"]],"unfold-horizontal":[[6,"M16 12h6"],[6,"M8 12H2"],[6,"M12 2v2"],[6,"M12 8v2"],[6,"M12 14v2"],[6,"M12 20v2"],[6,"m19 15 3-3-3-3"],[6,"m5 9-3 3 3 3"]],"unfold-vertical":[[6,"M12 22v-6"],[6,"M12 8V2"],[6,"M4 12H2"],[6,"M10 12H8"],[6,"M16 12h-2"],[6,"M22 12h-2"],[6,"m15 19-3 3-3-3"],[6,"m15 5-3-3-3 3"]],ungroup:[[5,5,4,8,6,1],[5,11,14,8,6,1]],university:[[1,12,10,1],[6,"M22 20V8h-4l-6-4-6 4H2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2"],[6,"M6 17v.01"],[6,"M6 13v.01"],[6,"M18 17v.01"],[6,"M18 13v.01"],[6,"M14 22v-5a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5"]],unlink:[[6,"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"],[6,"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"],[0,8,2,8,5],[0,2,8,5,8],[0,16,19,16,22],[0,19,16,22,16]],"unlink-2":[[6,"M15 7h2a5 5 0 0 1 0 10h-2m-6 0H7A5 5 0 0 1 7 7h2"]],unlock:[[5,3,11,18,11,2,2],[6,"M7 11V7a5 5 0 0 1 9.9-1"]],"unlock-keyhole":[[1,12,16,1],[5,3,10,18,12,2],[6,"M7 10V7a5 5 0 0 1 9.33-2.5"]],unplug:[[6,"m19 5 3-3"],[6,"m2 22 3-3"],[6,"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z"],[6,"M7.5 13.5 10 11"],[6,"M10.5 16.5 13 14"],[6,"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z"]],upload:[[6,"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"],[2,"17 8 12 3 7 8"],[0,12,3,12,15]],"upload-cloud":[[6,"M12 13v8"],[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"m8 17 4-4 4 4"]],usb:[[1,10,7,1],[1,4,20,1],[6,"M4.7 19.3 19 5"],[6,"m21 3-3 1 2 2Z"],[6,"M9.26 7.68 5 12l2 5"],[6,"m10 14 5 2 3.5-3.5"],[6,"m18 12 1-1 1 1-1 1Z"]],user:[[6,"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"],[1,12,7,4]],"user-2":[[1,12,8,5],[6,"M20 21a8 8 0 0 0-16 0"]],"user-check":[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[2,"16 11 18 13 22 9"]],"user-check-2":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"m16 19 2 2 4-4"]],"user-circle":[[1,12,12,10],[1,12,10,3],[6,"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662"]],"user-circle-2":[[6,"M18 20a6 6 0 0 0-12 0"],[1,12,10,4],[1,12,12,10]],"user-cog":[[1,18,15,3],[1,9,7,4],[6,"M10 15H6a4 4 0 0 0-4 4v2"],[6,"m21.7 16.4-.9-.3"],[6,"m15.2 13.9-.9-.3"],[6,"m16.6 18.7.3-.9"],[6,"m19.1 12.2.3-.9"],[6,"m19.6 18.7-.4-1"],[6,"m16.8 12.3-.4-1"],[6,"m14.3 16.6 1-.4"],[6,"m20.7 13.8 1-.4"]],"user-cog-2":[[6,"M2 21a8 8 0 0 1 10.434-7.62"],[1,10,8,5],[1,18,18,3],[6,"m19.5 14.3-.4.9"],[6,"m16.9 20.8-.4.9"],[6,"m21.7 19.5-.9-.4"],[6,"m15.2 16.9-.9-.4"],[6,"m21.7 16.5-.9.4"],[6,"m15.2 19.1-.9.4"],[6,"m19.5 21.7-.4-.9"],[6,"m16.9 15.2-.4-.9"]],"user-minus":[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[0,22,11,16,11]],"user-minus-2":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"M22 19h-6"]],"user-pen":[[6,"M11.5 15H7a4 4 0 0 0-4 4v2"],[6,"M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"],[1,10,7,4]],"user-plus":[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[0,19,8,19,14],[0,22,11,16,11]],"user-plus-2":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"M19 16v6"],[6,"M22 19h-6"]],"user-round":[[1,12,8,5],[6,"M20 21a8 8 0 0 0-16 0"]],"user-round-check":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"m16 19 2 2 4-4"]],"user-round-cog":[[6,"M2 21a8 8 0 0 1 10.434-7.62"],[1,10,8,5],[1,18,18,3],[6,"m19.5 14.3-.4.9"],[6,"m16.9 20.8-.4.9"],[6,"m21.7 19.5-.9-.4"],[6,"m15.2 16.9-.9-.4"],[6,"m21.7 16.5-.9.4"],[6,"m15.2 19.1-.9.4"],[6,"m19.5 21.7-.4-.9"],[6,"m16.9 15.2-.4-.9"]],"user-round-minus":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"M22 19h-6"]],"user-round-pen":[[6,"M2 21a8 8 0 0 1 10.821-7.487"],[6,"M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"],[1,10,8,5]],"user-round-plus":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"M19 16v6"],[6,"M22 19h-6"]],"user-round-search":[[1,10,8,5],[6,"M2 21a8 8 0 0 1 10.434-7.62"],[1,18,18,3],[6,"m22 22-1.9-1.9"]],"user-round-x":[[6,"M2 21a8 8 0 0 1 11.873-7"],[1,10,8,5],[6,"m17 17 5 5"],[6,"m22 17-5 5"]],"user-search":[[1,10,7,4],[6,"M10.3 15H7a4 4 0 0 0-4 4v2"],[1,17,17,3],[6,"m21 21-1.9-1.9"]],"user-square":[[5,3,3,18,18,2],[1,12,10,3],[6,"M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2"]],"user-square-2":[[6,"M18 21a6 6 0 0 0-12 0"],[1,12,11,4],[5,3,3,18,18,2]],"user-x":[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[0,17,8,22,13],[0,22,8,17,13]],"user-x2":[[6,"M2 21a8 8 0 0 1 11.873-7"],[1,10,8,5],[6,"m17 17 5 5"],[6,"m22 17-5 5"]],users:[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[6,"M22 21v-2a4 4 0 0 0-3-3.87"],[6,"M16 3.13a4 4 0 0 1 0 7.75"]],"users-2":[[6,"M18 21a8 8 0 0 0-16 0"],[1,10,8,5],[6,"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3"]],"users-round":[[6,"M18 21a8 8 0 0 0-16 0"],[1,10,8,5],[6,"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3"]],utensils:[[6,"M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2"],[6,"M7 2v20"],[6,"M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7"]],"utensils-crossed":[[6,"m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8"],[6,"M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7"],[6,"m2.1 21.8 6.4-6.3"],[6,"m19 5-7 7"]],"utility-pole":[[6,"M12 2v20"],[6,"M2 5h20"],[6,"M3 3v2"],[6,"M7 3v2"],[6,"M17 3v2"],[6,"M21 3v2"],[6,"m19 5-7 7-7-7"]],variable:[[6,"M8 21s-4-3-4-9 4-9 4-9"],[6,"M16 3s4 3 4 9-4 9-4 9"],[0,15,9,9,15],[0,9,9,15,15]],vault:[[5,3,3,18,18,2],[1,7.5,7.5,.5],[6,"m7.9 7.9 2.7 2.7"],[1,16.5,7.5,.5],[6,"m13.4 10.6 2.7-2.7"],[1,7.5,16.5,.5],[6,"m7.9 16.1 2.7-2.7"],[1,16.5,16.5,.5],[6,"m13.4 13.4 2.7 2.7"],[1,12,12,2]],vegan:[[6,"M2 2a26.6 26.6 0 0 1 10 20c.9-6.82 1.5-9.5 4-14"],[6,"M16 8c4 0 6-2 6-6-4 0-6 2-6 6"],[6,"M17.41 3.6a10 10 0 1 0 3 3"]],"venetian-mask":[[6,"M2 12a5 5 0 0 0 5 5 8 8 0 0 1 5 2 8 8 0 0 1 5-2 5 5 0 0 0 5-5V7h-5a8 8 0 0 0-5 2 8 8 0 0 0-5-2H2Z"],[6,"M6 11c1.5 0 3 .5 3 2-2 0-3 0-3-2Z"],[6,"M18 11c-1.5 0-3 .5-3 2 2 0 3 0 3-2Z"]],verified:[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"m9 12 2 2 4-4"]],vibrate:[[6,"m2 8 2 2-2 2 2 2-2 2"],[6,"m22 8-2 2 2 2-2 2 2 2"],[5,8,5,8,14,1]],"vibrate-off":[[6,"m2 8 2 2-2 2 2 2-2 2"],[6,"m22 8-2 2 2 2-2 2 2 2"],[6,"M8 8v10c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2"],[6,"M16 10.34V6c0-.55-.45-1-1-1h-4.34"],[0,2,2,22,22]],video:[[6,"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"],[5,2,6,14,12,2]],"video-off":[[6,"M10.66 6H14a2 2 0 0 1 2 2v2.5l5.248-3.062A.5.5 0 0 1 22 7.87v8.196"],[6,"M16 16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2"],[6,"m2 2 20 20"]],videotape:[[5,2,4,20,16,2],[6,"M2 8h20"],[1,8,14,2],[6,"M8 12h8"],[1,16,14,2]],view:[[6,"M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2"],[6,"M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2"],[1,12,12,1],[6,"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0"]],voicemail:[[1,6,12,4],[1,18,12,4],[0,6,16,18,16]],volume:[[6,"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"]],"volume-1":[[6,"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"],[6,"M16 9a5 5 0 0 1 0 6"]],"volume-2":[[6,"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"],[6,"M16 9a5 5 0 0 1 0 6"],[6,"M19.364 18.364a9 9 0 0 0 0-12.728"]],"volume-off":[[6,"M16 9a5 5 0 0 1 .95 2.293"],[6,"M19.364 5.636a9 9 0 0 1 1.889 9.96"],[6,"m2 2 20 20"],[6,"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11"],[6,"M9.828 4.172A.686.686 0 0 1 11 4.657v.686"]],"volume-x":[[6,"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"],[0,22,9,16,15],[0,16,9,22,15]],vote:[[6,"m9 12 2 2 4-4"],[6,"M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z"],[6,"M22 19H2"]],wallet:[[6,"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1"],[6,"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4"]],"wallet-2":[[6,"M17 14h.01"],[6,"M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14"]],"wallet-cards":[[5,3,3,18,18,2],[6,"M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2"],[6,"M3 11h3c.8 0 1.6.3 2.1.9l1.1.9c1.6 1.6 4.1 1.6 5.7 0l1.1-.9c.5-.5 1.3-.9 2.1-.9H21"]],"wallet-minimal":[[6,"M17 14h.01"],[6,"M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14"]],wallpaper:[[1,8,9,2],[6,"m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2"],[6,"M8 21h8"],[6,"M12 17v4"]],wand:[[6,"M15 4V2"],[6,"M15 16v-2"],[6,"M8 9h2"],[6,"M20 9h2"],[6,"M17.8 11.8 19 13"],[6,"M15 9h.01"],[6,"M17.8 6.2 19 5"],[6,"m3 21 9-9"],[6,"M12.2 6.2 11 5"]],"wand-2":[[6,"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72"],[6,"m14 7 3 3"],[6,"M5 6v4"],[6,"M19 14v4"],[6,"M10 2v2"],[6,"M7 8H3"],[6,"M21 16h-4"],[6,"M11 3H9"]],"wand-sparkles":[[6,"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72"],[6,"m14 7 3 3"],[6,"M5 6v4"],[6,"M19 14v4"],[6,"M10 2v2"],[6,"M7 8H3"],[6,"M21 16h-4"],[6,"M11 3H9"]],warehouse:[[6,"M22 8.35V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8.35A2 2 0 0 1 3.26 6.5l8-3.2a2 2 0 0 1 1.48 0l8 3.2A2 2 0 0 1 22 8.35Z"],[6,"M6 18h12"],[6,"M6 14h12"],[5,6,10,12,12]],"washing-machine":[[6,"M3 6h3"],[6,"M17 6h.01"],[5,3,2,18,20,2],[1,12,13,5],[6,"M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5"]],watch:[[1,12,12,6],[2,"12 10 12 12 13 13"],[6,"m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05"],[6,"m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05"]],waves:[[6,"M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"]],waypoints:[[1,12,4.5,2.5],[6,"m10.2 6.3-3.9 3.9"],[1,4.5,12,2.5],[6,"M7 12h10"],[1,19.5,12,2.5],[6,"m13.8 17.7 3.9-3.9"],[1,12,19.5,2.5]],webcam:[[1,12,10,8],[1,12,10,3],[6,"M7 22h10"],[6,"M12 22v-4"]],webhook:[[6,"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2"],[6,"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06"],[6,"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8"]],"webhook-off":[[6,"M17 17h-5c-1.09-.02-1.94.92-2.5 1.9A3 3 0 1 1 2.57 15"],[6,"M9 3.4a4 4 0 0 1 6.52.66"],[6,"m6 17 3.1-5.8a2.5 2.5 0 0 0 .057-2.05"],[6,"M20.3 20.3a4 4 0 0 1-2.3.7"],[6,"M18.6 13a4 4 0 0 1 3.357 3.414"],[6,"m12 6 .6 1"],[6,"m2 2 20 20"]],weight:[[1,12,5,3],[6,"M6.5 8a2 2 0 0 0-1.905 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8Z"]],wheat:[[6,"M2 22 16 8"],[6,"M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z"],[6,"M7.47 8.53 9 7l1.53 1.53a3.5 3.5 0 0 1 0 4.94L9 15l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z"],[6,"M11.47 4.53 13 3l1.53 1.53a3.5 3.5 0 0 1 0 4.94L13 11l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z"],[6,"M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z"],[6,"M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z"],[6,"M15.47 13.47 17 15l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z"],[6,"M19.47 9.47 21 11l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L13 11l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z"]],"wheat-off":[[6,"m2 22 10-10"],[6,"m16 8-1.17 1.17"],[6,"M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z"],[6,"m8 8-.53.53a3.5 3.5 0 0 0 0 4.94L9 15l1.53-1.53c.55-.55.88-1.25.98-1.97"],[6,"M10.91 5.26c.15-.26.34-.51.56-.73L13 3l1.53 1.53a3.5 3.5 0 0 1 .28 4.62"],[6,"M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z"],[6,"M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z"],[6,"m16 16-.53.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.49 3.49 0 0 1 1.97-.98"],[6,"M18.74 13.09c.26-.15.51-.34.73-.56L21 11l-1.53-1.53a3.5 3.5 0 0 0-4.62-.28"],[0,2,2,22,22]],"whole-word":[[1,7,12,3],[6,"M10 9v6"],[1,17,12,3],[6,"M14 7v8"],[6,"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1"]],wifi:[[6,"M12 20h.01"],[6,"M2 8.82a15 15 0 0 1 20 0"],[6,"M5 12.859a10 10 0 0 1 14 0"],[6,"M8.5 16.429a5 5 0 0 1 7 0"]],"wifi-high":[[6,"M12 20h.01"],[6,"M5 12.859a10 10 0 0 1 14 0"],[6,"M8.5 16.429a5 5 0 0 1 7 0"]],"wifi-low":[[6,"M12 20h.01"],[6,"M8.5 16.429a5 5 0 0 1 7 0"]],"wifi-off":[[6,"M12 20h.01"],[6,"M8.5 16.429a5 5 0 0 1 7 0"],[6,"M5 12.859a10 10 0 0 1 5.17-2.69"],[6,"M19 12.859a10 10 0 0 0-2.007-1.523"],[6,"M2 8.82a15 15 0 0 1 4.177-2.643"],[6,"M22 8.82a15 15 0 0 0-11.288-3.764"],[6,"m2 2 20 20"]],"wifi-zero":[[6,"M12 20h.01"]],wind:[[6,"M17.7 7.7a2.5 2.5 0 1 1 1.8 4.3H2"],[6,"M9.6 4.6A2 2 0 1 1 11 8H2"],[6,"M12.6 19.4A2 2 0 1 0 14 16H2"]],wine:[[6,"M8 22h8"],[6,"M7 10h10"],[6,"M12 15v7"],[6,"M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z"]],"wine-off":[[6,"M8 22h8"],[6,"M7 10h3m7 0h-1.343"],[6,"M12 15v7"],[6,"M7.307 7.307A12.33 12.33 0 0 0 7 10a5 5 0 0 0 7.391 4.391M8.638 2.981C8.75 2.668 8.872 2.34 9 2h6c1.5 4 2 6 2 8 0 .407-.05.809-.145 1.198"],[0,2,2,22,22]],workflow:[[5,3,3,8,8,2],[6,"M7 11v4a2 2 0 0 0 2 2h4"],[5,13,13,8,8,2]],worm:[[6,"m19 12-1.5 3"],[6,"M19.63 18.81 22 20"],[6,"M6.47 8.23a1.68 1.68 0 0 1 2.44 1.93l-.64 2.08a6.76 6.76 0 0 0 10.16 7.67l.42-.27a1 1 0 1 0-2.73-4.21l-.42.27a1.76 1.76 0 0 1-2.63-1.99l.64-2.08A6.66 6.66 0 0 0 3.94 3.9l-.7.4a1 1 0 1 0 2.55 4.34z"]],"wrap-text":[[0,3,6,21,6],[6,"M3 12h15a3 3 0 1 1 0 6h-4"],[2,"16 16 14 18 16 20"],[0,3,18,10,18]],wrench:[[6,"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"]],x:[[6,"M18 6 6 18"],[6,"m6 6 12 12"]],"x-circle":[[1,12,12,10],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],"x-octagon":[[6,"m15 9-6 6"],[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"],[6,"m9 9 6 6"]],"x-square":[[5,3,3,18,18,2,2],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],youtube:[[6,"M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17"],[6,"m10 15 5-3-5-3z"]],zap:[[6,"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"]],"zap-off":[[6,"M10.513 4.856 13.12 2.17a.5.5 0 0 1 .86.46l-1.377 4.317"],[6,"M15.656 10H20a1 1 0 0 1 .78 1.63l-1.72 1.773"],[6,"M16.273 16.273 10.88 21.83a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14H4a1 1 0 0 1-.78-1.63l4.507-4.643"],[6,"m2 2 20 20"]],"zoom-in":[[1,11,11,8],[0,21,21,16.65,16.65],[0,11,8,11,14],[0,8,11,14,11]],"zoom-out":[[1,11,11,8],[0,21,21,16.65,16.65],[0,8,11,14,11]]};var le={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};function se(a,e){var t=document.createElementNS("http://www.w3.org/2000/svg",a);return Object.keys(e).forEach((function(a){t.setAttribute(a,e[a])})),t}function Me(a){var e=a[0];if(0===e)return se("line",{x1:a[1],y1:a[2],x2:a[3],y2:a[4]});if(1===e)return se("circle",{cx:a[1],cy:a[2],r:a[3]});if(2===e)return se("polyline",{points:a[1]});if(3===e)return se("polygon",{points:a[1]});if(4===e)return se("ellipse",{cx:a[1],cy:a[2],rx:a[3],ry:a[4]});if(5===e){var t={x:a[1],y:a[2],width:a[3],height:a[4]};return a[5]&&(t.rx=a[5]),a[6]&&(t.ry=a[6]),a[7]&&(t.transform=a[7]),se("rect",t)}return 6===e?se("path",{d:a[1]}):void 0}function he(a){for(var e=se("svg",le),t=0,n=a;t',"bracket-glyph":'',"box-glyph":'',"check-small":'',"dice-glyph":'',dice:'',discord:'',"right-triangle":'',"heading-glyph":'',help:'',"keyboard-toggle":'',"broken-link":'',experiment:'',"left-arrow":'',link:'',"link-glyph":'',"links-coming-in":'',"links-going-out":'',"open-vault":'',paused:'',"question-mark-glyph":'',"right-arrow":'',"sidebar-left":'',"sidebar-right":'',"sheets-in-box":'',"star-list":'',"sync-small":'',tabs:'',"uppercase-lowercase-a":'',vault:'',"stack-horizontal":'',"stack-vertical":'',"stretch-horizontal":'',"stretch-vertical":'',"distribute-space-horizontal":'',"distribute-space-vertical":'',"zoom-to-selection":'',"create-group":'',"snap-to-object":'',"line-horizontal":'',"aspect-ratio":'',"rectangle-vertical-double":'',"tab-frame":'',"sidebar-toggle-button-icon":''},ue={},de={viewBox:"0 0 100 100"},pe={};function me(a,e){if(!pe.hasOwnProperty(a)){var t=e();if(!t)return null;t.classList.add("svg-icon",a),pe[a]=t}return pe[a].cloneNode(!0)}function fe(a,e){var t=a.firstChild;if(!(t&&t.instanceOf(SVGSVGElement)&&t.classList.contains(e))){t&&a.removeChild(t);var n=function(a){return a.startsWith("lucide-")?me(a,(function(){var e=a.substring(7);return oe.hasOwnProperty(e)?he(oe[e]):null})):ue.hasOwnProperty(a)?me(a,(function(){var e=se("svg",de);return e.innerHTML=ue[a],e})):ve.hasOwnProperty(a)?me(a,(function(){var e=se("svg",le);return e.innerHTML=ve[a],e})):(ce.hasOwnProperty(a)&&(a=ce[a]),oe.hasOwnProperty(a)?me("lucide-"+a,(function(){return he(oe[a])})):null)}(e);n&&a.appendChild(n)}}var ge=null,ye=null;var we=null;function be(){we&&(clearTimeout(we),we=null)}function He(a){return"true"===getComputedStyle(a).getPropertyValue("--no-tooltip").trim()}function Ve(a,e){P(a,e)&&(q(a)||He(e)||ke(e))}function Ce(a,e){if(P(a,e)&&!q(a)){xe();var t=a.relatedTarget;if(t&&t.matchParent){var n=t.matchParent("[aria-label]");if(n&&n.instanceOf(HTMLElement)){if(He(n))return;ke(n)}}}}var Le=new WeakMap;function ke(a){be();var e=a.getAttribute("aria-label")||"";Le.has(a)&&(e=Le.get(a)(a));var t="bottom";a.hasAttribute("data-tooltip-position")&&(t=a.getAttribute("data-tooltip-position"));var n=[];a.hasAttribute("data-tooltip-classes")&&(n=(a.getAttribute("data-tooltip-classes")||"").split(" "));var r=1e3;a.hasAttribute("data-tooltip-delay")&&(r=parseInt(a.getAttribute("data-tooltip-delay")||""),isNaN(r)&&(r=1e3)),Ee(a,e,{placement:t,classes:n,delay:r})}var Ae=0;function Ee(a,e,t){if(e){var n=(t=t||{}).placement,r=void 0===n?"bottom":n,i=t.classes,o=void 0===i?[]:i,l=t.gap,s=void 0===l?8:l,M=t.horizontalParent,h=t.delay,c=void 0===h?0:h;if(c>0&&(ge||Date.now()>Ae+100))return be(),t.delay=0,void(we=window.setTimeout((function(){return Ee(a,e,t)}),c));if(a.isShown()){var v=a.doc,u=a.getBoundingClientRect(),d=u.top,p=u.left,m=u.width,f=u.height;if(M){var g=M.getBoundingClientRect();p=g.left,m=g.width}ge&&ye===a?ge.setText(e):(xe(),ge=createDiv({cls:"tooltip",text:e}));var y=ge.createDiv("tooltip-arrow"),w=0,b=0;"bottom"===r?(w=d+f+s,b=p+m/2):"right"===r?(w=d+f/2,b=p+m+s,o.push("mod-right")):"left"===r?(w=d+f/2,b=p-s,o.push("mod-left")):"top"===r&&(w=d-s-5,b=p+m/2,o.push("mod-top")),ge.addClasses(o),ge.style.top="0px",ge.style.left="0px",ge.style.width="",ge.style.height="",ge.parentNode||v.body.appendChild(ge);var H=ge.getBoundingClientRect(),V=["bottom","top"].contains(r)?H.width/2:H.width,C="right"===r||"left"===r?H.height/2:H.height;"left"===r?b-=V:"top"===r&&(w-=C);var L=v.body.clientHeight,k=v.body.clientWidth;if(w+C>L&&(w=L-C-s),w=Math.max(w,s),"top"===r||"bottom"===r){if(b+V>k)b-=A=b+V+s-k,y.style.left="initial",y.style.right=V-A-s/2+"px";else if(b-s-V<0){var A;b+=A=-(b-s-V),y.style.right="initial",y.style.left=V-A-s/2+"px"}b=Math.max(b,s)}ge.style.top=w+"px",ge.style.left=b+"px",ge.style.width=H.width+"px",ge.style.height=H.height+"px",ye=a}}}function xe(){be(),ge&&(Ae=Date.now(),ge.detach(),ge=null,ye=null)}function Ze(a,e){var t=e||{},n=t.placement,r=t.classes,i=t.delay;n&&"bottom"!==n&&a.setAttribute("data-tooltip-position",n),r&&a.setAttribute("data-tooltip-classes",r.join(" ")),i&&a.setAttribute("data-tooltip-delay",String(i))}function ze(a,e,t){a.setAttribute("aria-label",e),Ze(a,t),ye===a&&Ee(a,e,t)}function Se(a,e){a.focus({preventScroll:!0});var t=a.win,n=t.document.createRange();n.selectNodeContents(a),isBoolean(e)&&n.collapse(e);var r,i,o,l,s=t.getSelection();s&&(s.removeAllRanges(),s.addRange(n),T.isMobile&&(r=function(){a.scrollIntoView({block:"nearest"})},o=Date.now(),l=function(a){a&&Date.now()-o<100||(window.clearTimeout(i),window.removeEventListener("resize",l),setTimeout(r,10))},window.addEventListener("resize",l),i=window.setTimeout(l,500)))}function Pe(a,e){var t,n;void 0===e&&(e=!1),(e||T.hasPhysicalKeyboard)&&(n=function(){a.focus(),a.select()},(t=a).isShown()?n():t.onNodeInserted(n,!0))}for(var De=new Map,qe=0,Te="a abbr acronym b bdi bdo big br button canvas cite code data del dfn em embed i iframe img input ins kbd label map mark meter noscript object outputpicture progress q ruby s samp select small span strong sub sup svg textarea time u tt var video wbr".split(" ");qe0?m.slice(1).join("."):l;if(!d||T.isMobile){M!==f&&(null!==M&&e.push(new Re(this)),M=l);for(var y=0,w=r[l];y=0;!(b+m<=g)||a.left&&L?C.left=Math.max(0,V-m)+"px":C.left=b+"px",s+f>y&&(s=Math.max(w,s-f)),C.top=s+2+"px",(v=this.scrollEl).addEventListener("mousemove",(function(a){var e=v.clientHeight,t=v.scrollHeight;if(t>e){var n=(a.clientY-v.getBoundingClientRect().y-30)/(e-60);v.scrollTop=(t-e)*Math.clamp(n,0,1)}})),d.style.opacity="0.85"}return Ge=this,this}var A=e.win,E=function(a){for(var e=[],t=function(a){if(a instanceof Ke){var t={label:a.titleEl.getText().replace(/\B&\B/,"&&"),enabled:!a.disabled&&!a.dom.hasClass("is-label"),checked:a.checked,type:isBoolean(a.checked)?"checkbox":void 0,click:function(e,t,n){return a.handleEvent(new MouseEvent("click",n))}};a.submenu&&(a.submenu.sort(),t.submenu=E(a.submenu.items)),e.push(t)}else a instanceof Re&&e.push({type:"separator"})},n=0,r=a;n=e.length&&(t=0),n++}return!1},e.prototype.onArrowLeft=function(a){return a.preventDefault(),this.parentMenu&&this.hide(),!1},e.prototype.onArrowRight=function(a){a.preventDefault();var e=this.items[this.selected];return e instanceof Ke&&e.submenu&&(this.openSubmenu(e),this.currentSubmenu&&this.currentSubmenu.select(0)),!1},e.prototype.onEnter=function(a){var e=this.items[this.selected];return e&&e instanceof Ke&&(e.handleEvent(a),this.hide()),!1},e.prototype.onMouseOver=function(a){for(var e=a.targetNode,t=this.parentMenu,n=this.items,r=0;r=e.length&&(a=0);var n=e[t];n&&n.dom.removeClass("selected"),this.selected=a;var r=e[a];r.dom.addClass("selected"),r.dom.scrollIntoView({block:"nearest"})}},e.prototype.openSubmenu=function(a){this.openSubmenuSoon.cancel();var e=a.submenu,t=a.dom,n=this.currentSubmenu,r=this.parentMenu;if(!a.disabled){if(n){if(n===e||r&&r.selected!==this.parentMenu.items.indexOf(a))return;this.closeSubmenu()}if(e){e.parentMenu=this,this.currentSubmenu=e;var i=getComputedStyle(this.dom),o=parseFloat(i.paddingTop)+parseFloat(i.borderTopWidth),l=parseFloat(i.paddingLeft)+parseFloat(i.borderLeftWidth)+2,s=parseFloat(i.paddingRight)+parseFloat(i.borderRightWidth)+2,M=t.getBoundingClientRect();e.showAtPosition({x:M.x-l,y:M.y-o,width:M.width+l+s},t.doc)}}},e.prototype.closeSubmenu=function(){this.openSubmenuSoon.cancel();var a=this.currentSubmenu;a&&(a.hide(),a.parentMenu=null,this.currentSubmenu=null)},e.forEvent=function(a){a.preventDefault();var t=Xe.get(a);return t||(t=new e,Xe.set(a,t),a.win.setTimeout((function(){return t.showAtMouseEvent(a)}))),t},e.useNativeMenu=!1,e}(ie),Xe=new WeakMap;function Ye(a,e,t,n){var r=function(r){var i=a.doc.body;r.registerCallback({move:function(n,o){r.evt.stopPropagation(),e.style.overscrollBehavior="none",i.addClass("hide-cursor");var l=e.offsetHeight,s=Math.clamp((o-r.startY)/l,0,1);a.style.transform="translateY(".concat(s*l,"px)"),t&&(t.style.opacity=String(1-s))},cancel:function(){e.style.overscrollBehavior="",a.style.transform="",t&&(t.style.opacity="")},finish:function(o,l,s){e.style.overscrollBehavior="";var M,h=e.offsetHeight,c=Math.clamp((l-r.startY)/h,0,1);s0||r(e))})),t&&ne(t,(function(a){1===a.points&&"y"===a.direction&&r(a)}))}var Je='',Qe=function(){function a(a,e){this.requestUpdateStatus=S(this.updateStatus.bind(this),50,!0),this.eWin=a,this.win=e;var t=this.isMac="darwin"===window.process.platform,n=e.document,r=n.body;r.addClass("is-frameless");var i=this.titleBarEl=n.createElement("div");i.className="titlebar",r.insertBefore(i,r.firstChild);var o=this.titleBarInnerEl=i.createDiv("titlebar-inner");this.titleBarTextEl=o.createDiv({cls:"titlebar-text",text:"Obsidian"}),e.addEventListener("resize",this.requestUpdateStatus.bind(this));var l=n.head.find("title");l||(l=n.head.createEl("title")),new MutationObserver(this.updateTitle.bind(this)).observe(l,{subtree:!0,characterData:!0,childList:!0}),this.leftButtonContainerEl=o.createDiv("titlebar-button-container mod-left");var s=o.createDiv("titlebar-button-container mod-right");if(this.updateStatus(),this.updateTitle(),!t){if(a.minimizable){var M=s.createDiv({cls:"titlebar-button mod-minimize",onclick:function(){return a.minimize()}});M.innerHTML='',$a.then((function(){ze(M,Ja.interface.window.minimize())}))}if(a.maximizable){var h=s.createDiv({cls:"titlebar-button mod-maximize",onclick:function(){a.isMaximized()?a.unmaximize():a.maximize(),c()}});h.innerHTML=Je;var c=function(){e.closed||(a.isMaximized()?(h.innerHTML=' ',ze(h,Ja.interface.window.restoreDown())):(h.innerHTML=Je,ze(h,Ja.interface.window.maximize())))};$a.then((function(){c()})),e.addEventListener("resize",c)}if(a.closable){var v=s.createDiv({cls:"titlebar-button mod-close",onclick:function(){return a.close()}});v.innerHTML=' ',$a.then((function(){ze(v,Ja.interface.window.closeWindow())}))}}!function(a){if(!T.isMacOS||!T.isDesktopApp)return;a.addEventListener("dblclick",(function(e){if(0===e.button){var t=e.target;if(!t.instanceOf(HTMLElement)||!(t.closest(".clickable-icon")||t.closest(".workspace-tab-header-inner-close-button")||t.closest(".workspace-tab-header")&&t.closest(".workspace-split.mod-sidedock"))){var n=a.win.electronWindow;n.isMaximizable&&B((function(a){var e=a.remote.systemPreferences.getUserDefault("AppleActionOnDoubleClick","string");"Minimize"===e?n.minimize():"Maximize"!==e&&""!==e||(n.isMaximized()?n.unmaximize():n.maximize())}))}}}))}(o)}return a.prototype.updateTitle=function(){this.titleBarTextEl.setText(this.win.document.title)},a.prototype.updateStatus=function(){var a=this.win,e=this.eWin;if(!a.closed){var t=e.webContents.getZoomFactor(),n=a.document.body;if(n.toggleClass("is-fullscreen",e.isFullScreen()),n.toggleClass("is-maximized",e.isMaximized()),n.style.setProperty("--zoom-factor",String(t)),this.isMac&&"hidden"===a.titlebarStyle){var r=40,i=getComputedStyle(n).getPropertyValue("--header-height");i&&(r=parseFloat(i)),(isNaN(r)||0===r)&&(r=40);var o=Math.floor(r*t/2-8);o<-5&&(o=0),(e.setWindowButtonPosition||e.setTrafficLightPosition)({x:o+2,y:o})}}},a}();var at=createDiv("notice-container"),et=function(){function a(a,e){void 0===e&&(e=4e3);var t=this,n=activeWindow;n.document.body.appendChild(at);var r=this.containerEl=at.createDiv({cls:"notice"});this.messageEl=this.noticeEl=r.createDiv({cls:"notice-message",text:a}),T.isMobile?k(r,(new H).addProp("transform","translateY(100%)","","")):k(r,(new H).addProp("transform","translateX(350px)","",""));var i=!1,o=function(){i||t.hide()};e&&(n.setTimeout(o,e),r.addEventListener("mouseenter",(function(){return i=!0})),r.addEventListener("mouseleave",(function(){i=!1,n.setTimeout(o,1e3)}))),r.addEventListener("click",(function(){return t.hide()})),T.isPhone&&Ye(r,r,null,(function(){r.detach(),t.hide()}))}return a.prototype.setMessage=function(a){return this.messageEl.setText(a),this},a.prototype.addButton=function(a,e){var t=this;return this.containerEl.createDiv({cls:"notice-cta",text:a}).addEventListener("click",(function(a){t.hide(),e(a)})),this},a.prototype.hide=function(){var a=this.containerEl,e=function(){a.detach(),0===at.childElementCount&&at.detach()};if(a.isShown())if(T.isMobile)k(a,new H({duration:150}).addProp("transform","scale(1, 1)","scale(0.85, 0.85)","").addProp("opacity","1","0",""),e);else{var t=getComputedStyle(a),n=-a.offsetHeight,r=parseInt(t.marginBottom);isNaN(r)||(n-=r),k(a,new H({duration:120}).addProp("opacity","1","0").addProp("margin-top","0px",n+"px"),e)}else e()},a}();window.Notice=et;var tt=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;function nt(a,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?a+6*(e-a)*t:t<.5?e:t<2/3?a+(e-a)*(2/3-t)*6:a}function rt(a){var e,t,n,r=a.h,i=a.s,o=a.l;if(r/=360,o/=100,0==(i/=100))e=t=n=o;else{var l=o<.5?o*(1+i):o+i-o*i,s=2*o-l;e=nt(s,l,r+1/3),t=nt(s,l,r),n=nt(s,l,r-1/3)}return{r:Math.round(255*e),g:Math.round(255*t),b:Math.round(255*n)}}function it(a){var e=a.toString(16);return 1===e.length?"0"+e:e}function ot(a){var e=tt.exec(a);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}var lt=function(){function a(a){this.components=[];var e=this.settingEl=a.createDiv("setting-item"),t=this.infoEl=e.createDiv("setting-item-info");this.nameEl=t.createDiv("setting-item-name"),this.descEl=t.createDiv("setting-item-description"),this.controlEl=e.createDiv("setting-item-control")}return a.prototype.setName=function(a){return this.nameEl.setText(a),this},a.prototype.setDesc=function(a){return this.descEl.setText(a),this},a.prototype.setClass=function(a){return this.settingEl.addClass(a),this},a.prototype.setTooltip=function(a,e){return ze(this.nameEl,a,e),this},a.prototype.setHeading=function(){return this.settingEl.addClass("setting-item-heading"),this},a.prototype.setDisabled=function(a){this.settingEl.toggleClass("is-disabled",a);for(var e=0,t=this.components;e.5?M/(2-o-l):M/(o+l),o){case e:r=(t-n)/M+(t0?t[0]:null}function e(){var t=this,n=M.sendSync("vault-list"),r=Object.keys(n).length>0;for(var s in m.empty(),p.toggle(r),b.toggle(!r),n)n.hasOwnProperty(s)&&(n[s].id=s);var v=Object.values(n);v.sort((function(a,e){return e.ts-a.ts}));for(var u=function(n){var r=m.createDiv("recent-vaults-list-item"),s=h.basename(n.path),v=h.dirname(n.path),u=r.createDiv({cls:"recent-vaults-list-item-name",text:s});r.createDiv({cls:"recent-vaults-list-item-path",text:v});var d=function(a,r){return i(t,void 0,void 0,(function(){var t,i;return o(this,(function(o){return a===n.path?[2]:c.existsSync(a)?(new et(l("msg-error-".concat(r,"-exists"))),[2]):!(t=h.relative(n.path,a))||t.startsWith("..")||h.isAbsolute(t)?(i=M.sendSync("vault-move",n.path,a),new et("EVAULTOPEN"===i?l("msg-error-".concat(r,"-open")):i?l("msg-".concat(r,"-failed"))+" "+i:l("msg-".concat(r,"-success"))),e(),[2]):(new et(l.msgErrorNested()),[2])}))}))},p=function(){u.contentEditable="true",u.tabIndex=-1,Se(u);var a=function(){t(),n(),u.setText(s)},e=function(a){a.isComposing||"Enter"!==a.key&&"Escape"!==a.key||(t(),"Enter"===a.key&&n(),u.setText(s))},t=function(){u.removeAttribute("contenteditable"),u.removeAttribute("tabindex"),u.removeEventListener("blur",a),u.removeEventListener("keydown",e)},n=function(){var a=u.innerText;d(h.join(v,a),"rename")};u.addEventListener("blur",a),u.addEventListener("keydown",e),u.addEventListener("click",(function(a){a.preventDefault()}))},f=function(t){t.preventDefault(),(new $e).addItem((function(a){return a.setIcon("lucide-folder-open").setTitle(T.isMacOS?l.optionRevealVaultInExplorerMac():l.optionRevealVaultInExplorer()).onClick((function(){var a;a=n.path,window.electron&&electron.remote.shell.showItemInFolder(a)}))})).addItem((function(a){return a.setIcon("lucide-edit-3").setTitle(l.optionRenameVault()).onClick(p)})).addItem((function(e){return e.setIcon("lucide-send").setTitle(l.optionMoveVault()).onClick((function(){var e=a(l.msgMoveSelectDest(),v);e&&d(h.join(e,s),"move")}))})).addItem((function(a){return a.setIcon("lucide-copy").setTitle(l.optionCopyVaultID()).onClick((function(){navigator.clipboard.writeText(n.id),new et(Ja.interface.copied_generic())}))})).addItem((function(a){return a.setIcon("lucide-x").setTitle(l.optionRemove()).onClick((function(){M.sendSync("vault-remove",n.path)?function(a){try{indexedDB.databases().then((function(e){for(var t=0,n=e;t{var e={134:(e,t,n)=>{"use strict";var r=n(8813);e.exports=function(e,t,n){var l,c,u,f=-1,h=t.length,p="",d="",m="",g="";for(;++f{"use strict";var r=n(7297);e.exports=r({space:"xml",transform:function(e,t){return"xml:"+t.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}})},326:(e,t,n)=>{"use strict";var r=n(8593),i=n(7137),o=n(631);e.exports=function(e,t){var n=e.upperDoctype?a:s,r=e.tightDoctype?"":" ",i=t.name,o=t.public,c=t.system,u=[""};var s="doctype",a=s.toUpperCase();function l(e,t){var n=e.quote,s=e.alternative,a=String(t),l=i(a,n)>i(a,s)?s:n;return l+o(a,r(e.entities,{subset:["<","&",l]}))+l}},396:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,o,s={},a=t.ordered?"ol":"ul",l=-1;"number"==typeof t.start&&1!==t.start&&(s.start=t.start);n=i(e,t),o=n.length;for(;++l{"use strict";var r=n(8257),i=n(1900),o=n(1030);e.exports=c,c.locator=o;var s="*",a="_",l="\\";function c(e,t,n){var o,c,u,f,h,p,d,m=0,g=t.charAt(m);if(!(g!==s&&g!==a||(c=this.options.pedantic,h=g,u=g,p=t.length,m++,f="",g="",c&&i(t.charAt(m)))))for(;m{"use strict";var r=n(3115);e.exports=s,s.locator=r;var i="\n",o="\\";function s(e,t,n){var r,s;if(t.charAt(0)===o&&(r=t.charAt(1),-1!==this.escape.indexOf(r)))return!!n||(s=r===i?{type:"break"}:{type:"text",value:r},e(o+r)(s))}},493:e=>{"use strict";function t(e){if(null==e)return n;if("string"==typeof e)return function(e){return t;function t(t){return Boolean(t&&t.type===e)}}(e);if("object"==typeof e)return"length"in e?function(e){var n=[],r=-1;for(;++r{"use strict";var r=n(5176),i=n(7297),o=n(1716),s=r.boolean,a=r.overloadedBoolean,l=r.booleanish,c=r.number,u=r.spaceSeparated,f=r.commaSeparated;e.exports=i({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:o,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:f,acceptCharset:u,accessKey:u,action:null,allow:null,allowFullScreen:s,allowPaymentRequest:s,allowUserMedia:s,alt:null,as:null,async:s,autoCapitalize:null,autoComplete:u,autoFocus:s,autoPlay:s,capture:s,charSet:null,checked:s,cite:null,className:u,cols:c,colSpan:null,content:null,contentEditable:l,controls:s,controlsList:u,coords:c|f,crossOrigin:null,data:null,dateTime:null,decoding:null,default:s,defer:s,dir:null,dirName:null,disabled:s,download:a,draggable:l,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:s,formTarget:null,headers:u,height:c,hidden:s,high:c,href:null,hrefLang:null,htmlFor:u,httpEquiv:u,id:null,imageSizes:null,imageSrcSet:f,inputMode:null,integrity:null,is:null,isMap:s,itemId:null,itemProp:u,itemRef:u,itemScope:s,itemType:u,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:s,low:c,manifest:null,max:null,maxLength:c,media:null,method:null,min:null,minLength:c,multiple:s,muted:s,name:null,nonce:null,noModule:s,noValidate:s,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextMenu:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:s,optimum:c,pattern:null,ping:u,placeholder:null,playsInline:s,poster:null,preload:null,readOnly:s,referrerPolicy:null,rel:u,required:s,reversed:s,rows:c,rowSpan:c,sandbox:u,scope:null,scoped:s,seamless:s,selected:s,shape:null,size:c,sizes:null,slot:null,span:c,spellCheck:l,src:null,srcDoc:null,srcLang:null,srcSet:f,start:c,step:null,style:null,tabIndex:c,target:null,title:null,translate:null,type:null,typeMustMatch:s,useMap:null,value:l,width:c,wrap:null,align:null,aLink:null,archive:u,axis:null,background:null,bgColor:null,border:c,borderColor:null,bottomMargin:c,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:s,declare:s,event:null,face:null,frame:null,frameBorder:null,hSpace:c,leftMargin:c,link:null,longDesc:null,lowSrc:null,marginHeight:c,marginWidth:c,noResize:s,noHref:s,noShade:s,noWrap:s,object:null,profile:null,prompt:null,rev:null,rightMargin:c,rules:null,scheme:null,scrolling:l,standby:null,summary:null,text:null,topMargin:c,valueType:null,version:null,vAlign:null,vLink:null,vSpace:c,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:s,disableRemotePlayback:s,prefix:null,property:null,results:c,security:null,unselectable:null}})},544:(e,t,n)=>{"use strict";e.exports=function(e,t){return e(t,"h"+t.depth,r(e,t))};var r=n(4297)},618:(e,t,n)=>{"use strict";var r=n(8785);e.exports=function(e,t){return e.dangerous?t.value:r(e,t)}},631:(e,t,n)=>{"use strict";e.exports=n(9159)},741:e=>{"use strict";e.exports=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}},745:(e,t,n)=>{"use strict";var r=n(7092),i=n(6058),o=n(5540),s=n(6047);e.exports=function(e,t,n){var i,o,y,v,b,k,w,A,S,E,C,O,N,T,L,I,q,D,P,B,R,$,M,j=this,U=j.options.commonmark,_=j.options.pedantic,K=j.blockTokenizers,z=j.interruptList,F=0,V=t.length,H=null,G=!1;for(;F=q.indent&&(M=!0),v=t.charAt(F),S=null,!M){if(v===a||v===c||v===u)S=v,F++,i++;else{for(o="";F=q.indent||i>g):M=!0,A=!1,F=w;if(C=t.slice(w,k),E=w===F?C:t.slice(F,k),(S===a||S===l||S===u)&&K.thematicBreak.call(j,e,C,!0))break;if(O=N,N=!A&&!E.trim(),M&&q)q.value=q.value.concat(I,C),L=L.concat(I,C),I=[];else if(A)0!==I.length&&(G=!0,q.value.push(""),q.trail=I.concat()),q={value:[C],indent:i,trail:[]},T.push(q),L=L.concat(I,C),I=[];else if(N){if(O&&!U)break;I.push(C)}else{if(O)break;if(s(z,K,j,[e,C,!0]))break;q.value=q.value.concat(I,C),L=L.concat(I,C),I=[]}F=k+1}B=e(L.join(p)).reset({type:"list",ordered:y,start:H,spread:G,children:[]}),D=j.enterList(),P=j.enterBlock(),F=-1,V=T.length;for(;++F{"use strict";e.exports=function(e,t){var n=e.indexOf("\n",t);for(;n>t&&" "===e.charAt(n-1);)n--;return n}},859:(e,t,n)=>{"use strict";var r=n(2472);function i(){}e.exports=s,i.prototype=Error.prototype,s.prototype=new i;var o=s.prototype;function s(e,t,n){var i,o,s;"string"==typeof t&&(n=t,t=null),i=function(e){var t,n=[null,null];"string"==typeof e&&(-1===(t=e.indexOf(":"))?n[1]=e:(n[0]=e.slice(0,t),n[1]=e.slice(t+1)));return n}(n),o=r(t)||"1:1",s={start:{line:null,column:null},end:{line:null,column:null}},t&&t.position&&(t=t.position),t&&(t.start?(s=t,t=t.start):s.start=t),e.stack&&(this.stack=e.stack,e=e.message),this.message=e,this.name=o,this.reason=e,this.line=t?t.line:null,this.column=t?t.column:null,this.location=s,this.source=i[0],this.ruleId=i[1]}o.file="",o.name="",o.reason="",o.message="",o.stack="",o.fatal=null,o.column=null,o.line=null},922:e=>{"use strict";e.exports=function(e){var t=String(e),n=[],r=/\r?\n|\r/g;for(;r.exec(t);)n.push(r.lastIndex);return n.push(t.length+1),{toPoint:i,toPosition:i,toOffset:function(e){var t,r=e&&e.line,i=e&&e.column;isNaN(r)||isNaN(i)||!(r-1 in n)||(t=(n[r-2]||0)+i-1||0);return t>-1&&t-1&&ee)return{line:t+1,column:e-(n[t-1]||0)+1,offset:e};return{}}}},935:(e,t,n)=>{"use strict";e.exports=function(e,t){var n=t.value.replace(/\r?\n|\r/g," ");return e(t,"code",[r("text",n)])};var r=n(9650)},942:(e,t,n)=>{"use strict";function r(){return null}e.exports={blockquote:n(9331),break:n(1501),code:n(3849),delete:n(5275),emphasis:n(4738),footnoteReference:n(3632),footnote:n(8812),heading:n(544),html:n(9941),imageReference:n(4255),image:n(3603),inlineCode:n(935),linkReference:n(7756),link:n(9040),listItem:n(8942),list:n(396),paragraph:n(6504),root:n(4824),strong:n(5151),table:n(2258),text:n(8711),thematicBreak:n(5125),toml:r,yaml:r,definition:r,footnoteDefinition:r}},1030:e=>{"use strict";e.exports=function(e,t){var n=e.indexOf("*",t),r=e.indexOf("_",t);if(-1===r)return n;if(-1===n)return r;return r{"use strict";var t=i("start"),n=i("end");function r(e){return{start:t(e),end:n(e)}}function i(e){return t.displayName=e,t;function t(t){var n=t&&t.position&&t.position[e]||{};return{line:n.line||null,column:n.column||null,offset:isNaN(n.offset)?null:n.offset}}}e.exports=r,r.start=t,r.end=n},1071:e=>{"use strict";e.exports=function(e,t){return e.indexOf("~~",t)}},1134:(e,t,n)=>{"use strict";var r=n(1900),i=n(1071);e.exports=a,a.locator=i;var o="~",s="~~";function a(e,t,n){var i,a,l,c="",u="",f="",h="";if(this.options.gfm&&t.charAt(0)===o&&t.charAt(1)===o&&!r(t.charAt(2)))for(i=1,a=t.length,(l=e.now()).column+=2,l.offset+=2;++i{"use strict";var r=n(8707),i=n(7422),o=n(7274),s=n(3784),a=n(2700);e.exports=function(e,t){var n=t||{},f=n.quote||l,h=f===l?c:l,p=n.quoteSmart,d=e&&"object"==typeof e&&"length"in e?{type:"root",children:e}:e;if(f!==l&&f!==c)throw new Error("Invalid quote `"+f+"`, expected `"+c+"` or `"+l+"`");void 0!==n.allowDangerousHTML&&(u||(u=!0,console.warn("Deprecation warning: `allowDangerousHTML` is a nonstandard option, use `allowDangerousHtml` instead")));return a({valid:n.allowParseErrors?0:1,safe:n.allowDangerousCharacters?0:1,schema:"svg"===n.space?i:r,omit:n.omitOptionalTags&&s,quote:f,alternative:h,smart:p,unquoted:Boolean(n.preferUnquoted),tight:n.tightAttributes,upperDoctype:Boolean(n.upperDoctype),tightDoctype:Boolean(n.tightDoctype),bogusComments:Boolean(n.bogusComments),tightLists:n.tightCommaSeparatedLists,tightClose:n.tightSelfClosing,collapseEmpty:n.collapseEmptyAttributes,dangerous:n.allowDangerousHtml||n.allowDangerousHTML,voids:n.voids||o.concat(),entities:n.entities||{},close:n.closeSelfClosing,closeEmpty:n.closeEmptyElements},d)};var l='"',c="'",u=!1},1185:(e,t,n)=>{"use strict";var r=n(8593),i=n(1632),o=n(6901);e.exports=function(e,t){return i(e,r(t,{format:o}))}},1339:(e,t,n)=>{"use strict";var r=n(493),i=n(1765),o=n(6134),s=n(7578).P,a=n(1575),l=r("comment"),c="optgroup",u=["option"].concat(c),f=["dt","dd"],h=["menuitem","hr","menu"],p=["rp","rt"],d=["tbody","tfoot"],m=["td","th"],g=["a","audio","del","ins","map","noscript","video"],y=["address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","menu","nav","ol","p","pre","section","table","ul"];function v(e,t,n){var r=s(n,t,!0);return!r||!l(r)&&!o(r)}function b(e,t,n){var r=s(n,t);return!r||i(r,p)}function k(e,t,n){var r=s(n,t);return!r||i(r,m)}e.exports=a({html:function(e,t,n){var r=s(n,t);return!r||!l(r)},head:v,body:function(e,t,n){var r=s(n,t);return!r||!l(r)},p:function(e,t,n){var r=s(n,t);return r?i(r,y):!n||!i(n,g)},li:function(e,t,n){var r=s(n,t);return!r||i(r,"li")},dt:function(e,t,n){var r=s(n,t);return r&&i(r,f)},dd:function(e,t,n){var r=s(n,t);return!r||i(r,f)},rt:b,rp:b,optgroup:function(e,t,n){var r=s(n,t);return!r||i(r,c)},option:function(e,t,n){var r=s(n,t);return!r||i(r,u)},menuitem:function(e,t,n){var r=s(n,t);return!r||i(r,h)},colgroup:v,caption:v,thead:function(e,t,n){var r=s(n,t);return r&&i(r,d)},tbody:function(e,t,n){var r=s(n,t);return!r||i(r,d)},tfoot:function(e,t,n){return!s(n,t)},tr:function(e,t,n){var r=s(n,t);return!r||i(r,"tr")},td:k,th:k})},1383:e=>{"use strict";e.exports=function(e){return e.toLowerCase()}},1393:(e,t,n)=>{"use strict";e.exports={position:!0,gfm:!0,commonmark:!1,pedantic:!1,blocks:n(5810)}},1498:e=>{"use strict";e.exports=function(e,l,c){var u,f,h,p,d,m,g,y,v,b,k,w,x,A=this,S=A.options.gfm,E=l.length+1,C=0,O="";if(!S)return;for(;C=a)){for(g="";C{"use strict";e.exports=function(e,t){return[e(t,"br"),r("text","\n")]};var r=n(9650)},1528:(e,t,n)=>{"use strict";var r=n(7057),i=n(9546),o=n(922),s=n(9359),a=n(5785),l=n(7269);function c(e,t){this.file=t,this.offset={},this.options=r(this.options),this.setOptions({}),this.inList=!1,this.inBlock=!1,this.inLink=!1,this.atStart=!0,this.toOffset=o(t).toOffset,this.unescape=s(this,"escape"),this.decode=a(this)}e.exports=c;var u=c.prototype;function f(e){var t,n=[];for(t in e)n.push(t);return n}u.setOptions=n(3228),u.parse=n(4272),u.options=n(1393),u.exitStart=i("atStart",!0),u.enterList=i("inList",!1),u.enterLink=i("inLink",!1),u.enterBlock=i("inBlock",!1),u.interruptParagraph=[["thematicBreak"],["list"],["atxHeading"],["fencedCode"],["blockquote"],["html"],["setextHeading",{commonmark:!1}],["definition",{commonmark:!1}]],u.interruptList=[["atxHeading",{pedantic:!1}],["fencedCode",{pedantic:!1}],["thematicBreak",{pedantic:!1}],["definition",{commonmark:!1}]],u.interruptBlockquote=[["indentedCode",{commonmark:!0}],["fencedCode",{commonmark:!0}],["atxHeading",{commonmark:!0}],["setextHeading",{commonmark:!0}],["thematicBreak",{commonmark:!0}],["html",{commonmark:!0}],["list",{commonmark:!0}],["definition",{commonmark:!1}]],u.blockTokenizers={blankLine:n(1694),indentedCode:n(134),fencedCode:n(1498),blockquote:n(6234),atxHeading:n(8469),thematicBreak:n(6968),list:n(745),setextHeading:n(8671),html:n(8776),definition:n(1616),table:n(7793),paragraph:n(8607)},u.inlineTokenizers={escape:n(470),autoLink:n(8775),url:n(1944),email:n(5657),html:n(7648),link:n(9405),reference:n(6252),strong:n(5702),emphasis:n(439),deletion:n(1134),code:n(1891),break:n(5874),text:n(4410)},u.blockMethods=f(u.blockTokenizers),u.inlineMethods=f(u.inlineTokenizers),u.tokenizeBlock=l("block"),u.tokenizeInline=l("inline"),u.tokenizeFactory=l},1575:e=>{"use strict";e.exports=function(e){return function(n,r,i){var o=n.tagName;return!!t.call(e,o)&&e[o](n,r,i)}};var t={}.hasOwnProperty},1606:(e,t)=>{"use strict";t.A=function(e,t){var o=t||{},s=!1===o.padLeft?i:r,a=o.padRight?r:i;e[e.length-1]===i&&(e=e.concat(i));return e.join(a+n+s).trim()};var n=",",r=" ",i=""},1616:(e,t,n)=>{"use strict";var r=n(1900),i=n(2115);e.exports=function(e,t,n){var r,y,k,w,x,A,S,E,C=this,O=C.options.commonmark,N=0,T=t.length,L="";for(;N{"use strict";e.exports=function(e,t){if(e=e.replace(t.subset?function(e){var t=[],n=-1;for(;++n`]/g,n),t.subset||t.escapeOnly)return e;return e.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,(function(e,n,r){return t.format(1024*(e.charCodeAt(0)-55296)+e.charCodeAt(1)-56320+65536,r.charCodeAt(n+2),t)})).replace(/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,n);function n(e,n,r){return t.format(e.charCodeAt(0),r.charCodeAt(n+1),t)}}},1694:e=>{"use strict";var t=/^[ \t]*(\n|$)/;e.exports=function(e,n,r){var i,o="",s=0,a=n.length;for(;s{"use strict";var r=n(6933);e.exports=function(e,t){return r(e,t.toLowerCase())}},1765:(e,t,n)=>{"use strict";var r=n(1918);function i(e,t,n,i,o){var s=null!=i,a=null!=n,l=r(t);if(a&&("number"!=typeof n||n<0||n===1/0))throw new Error("Expected positive finite index for child node");if(s&&(!i.type||!i.children))throw new Error("Expected parent node");if(!e||!e.type||"string"!=typeof e.type)return!1;if(s!==a)throw new Error("Expected both parent and index");return l.call(o,e,n,i)}e.exports=i,i.convert=r},1782:e=>{"use strict";e.exports=n;var t=n.prototype;function n(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}t.space=null,t.normal={},t.property={}},1890:e=>{"use strict";e.exports=function(e,t){return e.indexOf("<",t)}},1891:(e,t,n)=>{"use strict";var r=n(2163);e.exports=a,a.locator=r;var i=10,o=32,s=96;function a(e,t,n){for(var r,a,l,c,u,f,h=t.length,p=0;p2&&(c===o||c===i)&&(u===o||u===i)){for(p++,h--;p{"use strict";e.exports=function(e){return n.test("number"==typeof e?t(e):e.charAt(0))};var t=String.fromCharCode,n=/\s/},1918:e=>{"use strict";function t(e){if("string"==typeof e)return function(e){return t;function t(t){return n(t)&&t.tagName===e}}(e);if(null==e)return n;if("object"==typeof e)return function(e){var n=function(e){var n=e.length,r=-1,i=[];for(;++r{"use strict";var r=n(5759).LC,i=n(7122),o=n(7092),s=n(741),a=n(1900),l=n(4307);e.exports=S,S.locator=l,S.notInLink=!0;var c=33,u=38,f=41,h=42,p=44,d=45,m=46,g=58,y=59,v=63,b=60,k=95,w=126,x="(",A=")";function S(e,t,n){var l,S,E,C,O,N,T,L,I,q,D,P,B,R,$=this,M=$.options.gfm,j=$.inlineTokenizers,U=t.length,_=-1,K=!1;if(M){if("www."===t.slice(0,4))K=!0,C=4;else if("http://"===t.slice(0,7).toLowerCase())C=7;else{if("https://"!==t.slice(0,8).toLowerCase())return;C=8}for(_=C-1,E=C,l=[];CI;)C=O+N.lastIndexOf(A),N=t.slice(O,C),q--;if(t.charCodeAt(C-1)===y&&(C--,s(t.charCodeAt(C-1)))){for(L=C-2;s(t.charCodeAt(L));)L--;t.charCodeAt(L)===u&&(C=L)}return D=t.slice(0,C),B=r(D,{nonTerminated:!1}),K&&(B="http://"+B),R=$.enterLink(),$.inlineTokenizers={text:j.text},P=$.tokenizeInline(D,e.now()),$.inlineTokenizers=j,R(),e(D)({type:"link",title:null,url:B,children:P})}}}},2115:(e,t,n)=>{"use strict";var r=n(9510);e.exports=function(e){return r(e).toLowerCase()}},2163:e=>{"use strict";e.exports=function(e,t){return e.indexOf("`",t)}},2258:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,s,a,l,c,u=t.children,f=u.length,h=t.align||[],p=h.length,d=[];for(;f--;){for(s=u[f].children,l=0===f?"th":"td",n=p||s.length,a=[];n--;)c=s[n],a[n]=e(c,l,{align:h[n]},c?o(e,c):[]);d[f]=e(u[f],"tr",i(a,!0))}return e(t,"table",i([e(d[0].position,"thead",i([d[0]],!0))].concat(d[1]?e({start:r.start(d[1]),end:r.end(d[d.length-1])},"tbody",i(d.slice(1),!0)):[]),!0))};var r=n(1039),i=n(7824),o=n(4297)},2292:(e,t,n)=>{"use strict";e.exports=n(1184)},2298:(e,t,n)=>{"use strict";var r=n(7092),i=n(741);function o(e){return r(e)||i(e)||43===e||45===e||46===e||95===e}e.exports=function e(t,n){var r,i;if(!this.options.gfm)return-1;if(-1===(r=t.indexOf("@",n)))return-1;if((i=r)===n||!o(t.charCodeAt(i-1)))return e.call(this,t,r+1);for(;i>n&&o(t.charCodeAt(i-1));)i--;return i}},2315:(e,t,n)=>{e.exports=function(e,t,n,l){var c,u,f=o(e);if(s.call(i,f))return u="&"+(c=i[f]),n&&s.call(r,c)&&-1===a.indexOf(c)&&(!l||t&&61!==t&&/[^\da-z]/i.test(o(t)))?u:u+";";return""};var r=n(4472),i=n(6426),o=n(9677),s=n(3303),a=n(5547)},2356:e=>{"use strict";e.exports=function(e,t){var n=e.indexOf("[",t),r=e.indexOf("![",t);if(-1===r)return n;return n{"use strict";var t={}.hasOwnProperty;function n(e){return e&&"object"==typeof e||(e={}),i(e.line)+":"+i(e.column)}function r(e){return e&&"object"==typeof e||(e={}),n(e.start)+"-"+n(e.end)}function i(e){return e&&"number"==typeof e?e:1}e.exports=function(e){if(!e||"object"!=typeof e)return"";if(t.call(e,"position")||t.call(e,"type"))return r(e.position);if(t.call(e,"start")||t.call(e,"end"))return r(e);if(t.call(e,"line")||t.call(e,"column"))return n(e);return""}},2660:e=>{e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},2700:(e,t,n)=>{"use strict";e.exports=function(e,t,n,o){var s=t&&t.type;if(!s)throw new Error("Expected node, not `"+t+"`");if(!r.call(i,s))throw new Error("Cannot compile unknown node `"+s+"`");return i[s](e,t,n,o)};var r={}.hasOwnProperty,i={};i.root=n(9795),i.text=n(8785),i.element=n(5684),i.doctype=n(326),i.comment=n(5393),i.raw=n(618)},2888:(e,t,n)=>{"use strict";e.exports=l;var r=n(493),i=n(5001),o=!0,s="skip",a=!1;function l(e,t,n,l){var c,u;"function"==typeof t&&"function"!=typeof n&&(l=n,n=t,t=null),u=r(t),c=l?-1:1,function e(r,f,h){var p,d="object"==typeof r&&null!==r?r:{};"string"==typeof d.type&&(p="string"==typeof d.tagName?d.tagName:"string"==typeof d.name?d.name:void 0,m.displayName="node ("+i(d.type+(p?"<"+p+">":""))+")");return m;function m(){var i,p,d=h.concat(r),m=[];if((!t||u(r,f,h[h.length-1]||null))&&(m=function(e){if(null!==e&&"object"==typeof e&&"length"in e)return e;if("number"==typeof e)return[o,e];return[e]}(n(r,h)),m[0]===a))return m;if(r.children&&m[0]!==s)for(p=(l?r.children.length:-1)+c;p>-1&&p{"use strict";e.exports=function(e,t){return e.indexOf("\\",t)}},3228:(e,t,n)=>{"use strict";var r=n(7057),i=n(4982),o=n(1393);e.exports=function(e){var t,n,s=this,a=s.options;if(null==e)e={};else{if("object"!=typeof e)throw new Error("Invalid value `"+e+"` for setting `options`");e=r(e)}for(t in o){if(null==(n=e[t])&&(n=a[t]),"blocks"!==t&&"boolean"!=typeof n||"blocks"===t&&"object"!=typeof n)throw new Error("Invalid value `"+n+"` for setting `options."+t+"`");e[t]=n}return s.options=e,s.escape=i(e),s}},3303:e=>{e.exports={}.hasOwnProperty},3390:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,o,s,a=t.referenceType,l="]";"collapsed"===a?l+="[]":"full"===a&&(l+="["+(t.label||t.identifier)+"]");if("imageReference"===t.type)return r("text","!["+t.alt+l);n=i(e,t),(o=n[0])&&"text"===o.type?o.value="["+o.value:n.unshift(r("text","["));(s=n[n.length-1])&&"text"===s.type?s.value+=l:n.push(r("text",l));return n};var r=n(9650),i=n(4297)},3603:(e,t,n)=>{"use strict";var r=n(8131);e.exports=function(e,t){var n={src:r(t.url),alt:t.alt};null!==t.title&&void 0!==t.title&&(n.title=t.title);return e(t,"img",n)}},3632:(e,t,n)=>{"use strict";e.exports=function(e,t){var n=e.footnoteOrder,i=String(t.identifier);-1===n.indexOf(i)&&n.push(i);return e(t.position,"sup",{id:"fnref-"+i},[e(t,"a",{href:"#fn-"+i,className:["footnote-ref"]},[r("text",t.label||i)])])};var r=n(9650)},3784:(e,t,n)=>{"use strict";t.opening=n(3804),t.closing=n(1339)},3804:(e,t,n)=>{"use strict";var r=n(493),i=n(1765),o=n(7578).g,s=n(4159),a=n(8518),l=n(6134),c=n(1339),u=n(1575),f=r("comment"),h=["title","base"],p=["meta","link","script","style","template"],d=["thead","tbody"];e.exports=u({html:function(e){var t=s(e);return!t||!f(t)},head:function(e){var t,n,r=e.children,o=r.length,s=[],a=-1;for(;++a{"use strict";e.exports=function(e,t){var n,i=t.value?t.value+"\n":"",o=t.lang&&t.lang.match(/^[^ \t]+(?=[ \t]|$)/),s={};o&&(s.className=["language-"+o]);n=e(t,"code",s,[r("text",i)]),t.meta&&(n.data={meta:t.meta});return e(t.position,"pre",[n])};var r=n(9650)},4159:(e,t,n)=>{"use strict";var r=n(7578).P;e.exports=function(e,t){return r(e,-1,t)}},4169:(e,t,n)=>{e.exports=function(e,t,n){var i="&#x"+e.toString(16).toUpperCase();return n&&t&&!/[\dA-Fa-f]/.test(r(t))?i:i+";"};var r=n(9677)},4197:(e,t,n)=>{"use strict";var r=n(5325),i=n(5176);e.exports=a,a.prototype=new r,a.prototype.defined=!0;var o=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"],s=o.length;function a(e,t,n,a){var c,u=-1;for(l(this,"space",a),r.call(this,e,t);++u{"use strict";e.exports=function(e,t){var n,o=e.definition(t.identifier);if(!o)return i(e,t);n={src:r(o.url||""),alt:t.alt},null!==o.title&&void 0!==o.title&&(n.title=o.title);return e(t,"img",n)};var r=n(8131),i=n(3390)},4272:(e,t,n)=>{"use strict";var r=n(7057),i=n(8124);e.exports=function(){var e,t=this,n=String(t.file),a={line:1,column:1,offset:0},l=r(a);65279===(n=n.replace(s,o)).charCodeAt(0)&&(n=n.slice(1),l.column++,l.offset++);e={type:"root",children:t.tokenizeBlock(n,l),position:{start:a,end:t.eof||r(a)}},t.options.position||i(e,!0);return e};var o="\n",s=/\r\n|\r/g},4297:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,i,o=t.children||[],s=o.length,a=[],l=-1;for(;++l{"use strict";e.exports=function(e,n){var r,i,o,s=-1;if(!this.options.gfm)return s;i=t.length,r=-1;for(;++r{"use strict";e.exports=function(e,t,n){var r,i,o,s,a,l,c,u,f,h,p=this;if(n)return!0;r=p.inlineMethods,s=r.length,i=p.inlineTokenizers,o=-1,f=t.length;for(;++o{"use strict";e.exports=JSON.parse('{"AElig":"Æ","AMP":"&","Aacute":"Á","Acirc":"Â","Agrave":"À","Aring":"Å","Atilde":"Ã","Auml":"Ä","COPY":"©","Ccedil":"Ç","ETH":"Ð","Eacute":"É","Ecirc":"Ê","Egrave":"È","Euml":"Ë","GT":">","Iacute":"Í","Icirc":"Î","Igrave":"Ì","Iuml":"Ï","LT":"<","Ntilde":"Ñ","Oacute":"Ó","Ocirc":"Ô","Ograve":"Ò","Oslash":"Ø","Otilde":"Õ","Ouml":"Ö","QUOT":"\\"","REG":"®","THORN":"Þ","Uacute":"Ú","Ucirc":"Û","Ugrave":"Ù","Uuml":"Ü","Yacute":"Ý","aacute":"á","acirc":"â","acute":"´","aelig":"æ","agrave":"à","amp":"&","aring":"å","atilde":"ã","auml":"ä","brvbar":"¦","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","curren":"¤","deg":"°","divide":"÷","eacute":"é","ecirc":"ê","egrave":"è","eth":"ð","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","iacute":"í","icirc":"î","iexcl":"¡","igrave":"ì","iquest":"¿","iuml":"ï","laquo":"«","lt":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","ntilde":"ñ","oacute":"ó","ocirc":"ô","ograve":"ò","ordf":"ª","ordm":"º","oslash":"ø","otilde":"õ","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","raquo":"»","reg":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","thorn":"þ","times":"×","uacute":"ú","ucirc":"û","ugrave":"ù","uml":"¨","uuml":"ü","yacute":"ý","yen":"¥","yuml":"ÿ"}')},4506:(e,t,n)=>{"use strict";var r=n(7297),i=n(1716);e.exports=r({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:i,properties:{xmlns:null,xmlnsXLink:null}})},4571:(e,t,n)=>{"use strict";var r=n(6931),i=n(7512),o=n(2660);e.exports=l;var s={}.hasOwnProperty,a=["history","path","basename","stem","extname","dirname"];function l(e){var t,n;if(e){if("string"==typeof e||o(e))e={contents:e};else if("message"in e&&"messages"in e)return e}else e={};if(!(this instanceof l))return new l(e);for(this.data={},this.messages=[],this.history=[],this.cwd=i.cwd(),n=-1;++n-1)throw new Error("`"+t+"` cannot be a path: did not expect `"+r.sep+"`")}function u(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function f(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}l.prototype.toString=function(e){return(this.contents||"").toString(e)},Object.defineProperty(l.prototype,"path",{get:function(){return this.history[this.history.length-1]},set:function(e){u(e,"path"),this.path!==e&&this.history.push(e)}}),Object.defineProperty(l.prototype,"dirname",{get:function(){return"string"==typeof this.path?r.dirname(this.path):void 0},set:function(e){f(this.path,"dirname"),this.path=r.join(e||"",this.basename)}}),Object.defineProperty(l.prototype,"basename",{get:function(){return"string"==typeof this.path?r.basename(this.path):void 0},set:function(e){u(e,"basename"),c(e,"basename"),this.path=r.join(this.dirname||"",e)}}),Object.defineProperty(l.prototype,"extname",{get:function(){return"string"==typeof this.path?r.extname(this.path):void 0},set:function(e){if(c(e,"extname"),f(this.path,"extname"),e){if(46!==e.charCodeAt(0))throw new Error("`extname` must start with `.`");if(e.indexOf(".",1)>-1)throw new Error("`extname` cannot contain multiple dots")}this.path=r.join(this.dirname,this.stem+(e||""))}}),Object.defineProperty(l.prototype,"stem",{get:function(){return"string"==typeof this.path?r.basename(this.path,this.extname):void 0},set:function(e){u(e,"stem"),c(e,"stem"),this.path=r.join(this.dirname||"",e+(this.extname||""))}})},4738:(e,t,n)=>{"use strict";e.exports=function(e,t){return e(t,"em",r(e,t))};var r=n(4297)},4824:(e,t,n)=>{"use strict";e.exports=function(e,t){return e.augment(t,r("root",i(o(e,t))))};var r=n(9650),i=n(7824),o=n(4297)},4834:(e,t,n)=>{"use strict";var r=n(5176),i=n(7297),o=n(6933),s=r.boolean,a=r.number,l=r.spaceSeparated,c=r.commaSeparated,u=r.commaOrSpaceSeparated;e.exports=i({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:o,properties:{about:u,accentHeight:a,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:a,amplitude:a,arabicForm:null,ascent:a,attributeName:null,attributeType:null,azimuth:a,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:a,by:null,calcMode:null,capHeight:a,className:l,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:a,diffuseConstant:a,direction:null,display:null,dur:null,divisor:a,dominantBaseline:null,download:s,dx:null,dy:null,edgeMode:null,editable:null,elevation:a,enableBackground:null,end:null,event:null,exponent:a,externalResourcesRequired:null,fill:null,fillOpacity:a,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:c,g2:c,glyphName:c,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:a,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:a,horizOriginX:a,horizOriginY:a,id:null,ideographic:a,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:a,k:a,k1:a,k2:a,k3:a,k4:a,kernelMatrix:u,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:a,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:a,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:a,overlineThickness:a,paintOrder:null,panose1:null,path:null,pathLength:a,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:l,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:a,pointsAtY:a,pointsAtZ:a,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:u,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:u,rev:u,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:u,requiredFeatures:u,requiredFonts:u,requiredFormats:u,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:a,specularExponent:a,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:a,strikethroughThickness:a,string:null,stroke:null,strokeDashArray:u,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:a,strokeOpacity:a,strokeWidth:null,style:null,surfaceScale:a,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:u,tabIndex:a,tableValues:null,target:null,targetX:a,targetY:a,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:u,to:null,transform:null,u1:null,u2:null,underlinePosition:a,underlineThickness:a,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:a,values:null,vAlphabetic:a,vMathematical:a,vectorEffect:null,vHanging:a,vIdeographic:a,version:null,vertAdvY:a,vertOriginX:a,vertOriginY:a,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:a,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}})},4839:(e,t)=>{"use strict";var n="<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^\"'=<>`\\u0000-\\u0020]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",r="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";t.X=new RegExp("^(?:"+n+"|"+r+")"),t.T=new RegExp("^(?:"+n+"|"+r+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?].*?[?]>|]*>|)")},4967:(e,t,n)=>{"use strict";var r=n(1528);e.exports={Parser:r}},4982:e=>{"use strict";e.exports=i;var t=["\\","`","*","{","}","[","]","(",")","#","+","-",".","!","_",">"],n=t.concat(["~","|"]),r=n.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);function i(e){var i=e||{};return i.commonmark?r:i.gfm?n:t}i.default=t,i.gfm=n,i.commonmark=r},5001:e=>{e.exports=function(e){return e}},5125:e=>{"use strict";e.exports=function(e,t){return e(t,"hr")}},5151:(e,t,n)=>{"use strict";e.exports=function(e,t){return e(t,"strong",r(e,t))};var r=n(4297)},5176:(e,t)=>{"use strict";var n=0;function r(){return Math.pow(2,++n)}t.boolean=r(),t.booleanish=r(),t.overloadedBoolean=r(),t.number=r(),t.spaceSeparated=r(),t.commaSeparated=r(),t.commaOrSpaceSeparated=r()},5245:(e,t,n)=>{e.exports=function(e,t,n){var i="&#"+String(e);return n&&t&&!/\d/.test(r(t))?i:i+";"};var r=n(9677)},5261:(e,t,n)=>{"use strict";var r=n(8593),i=n(1782);e.exports=function(e){var t,n,o=e.length,s=[],a=[],l=-1;for(;++l{"use strict";e.exports=function(e,t){return e(t,"del",r(e,t))};var r=n(4297)},5325:e=>{"use strict";e.exports=n;var t=n.prototype;function n(e,t){this.property=e,this.attribute=t}t.space=null,t.attribute=null,t.property=null,t.boolean=!1,t.booleanish=!1,t.overloadedBoolean=!1,t.number=!1,t.commaSeparated=!1,t.spaceSeparated=!1,t.commaOrSpaceSeparated=!1,t.mustUseProperty=!1,t.defined=!1},5393:(e,t,n)=>{"use strict";var r=n(8593),i=n(631);e.exports=function(e,t){var n=t.value;if(e.bogusComments)return"";return"\x3c!--"+n.replace(o,(function(t){return i(t,r(e.entities,{subset:s}))}))+"--\x3e"};var o=/^>|^->||--!>|"],a=[">"]},5540:(e,t,n)=>{"use strict";var r=n(6058);e.exports=function(e,t,n=!0){var a,l,c,u=e.split(i),f=u.length+1,h=1/0,p=[];u.unshift(o.repeat(t)+s);for(;f--;)if(l=r(u[f]),p[f]=l.stops,""!==u[f].trim())if(l.indent)l.indent>0&&l.indent{"use strict";e.exports=JSON.parse('["cent","copy","divide","gt","lt","not","para","times"]')},5657:(e,t,n)=>{"use strict";var r=n(5759).LC,i=n(7092),o=n(741),s=n(2298);e.exports=h,h.locator=s,h.notInLink=!0;var a=43,l=45,c=46,u=64,f=95;function h(e,t,n){var s,h,p,d,m=this,g=m.options.gfm,y=m.inlineTokenizers,v=0,b=t.length,k=-1;if(g){for(s=t.charCodeAt(v);i(s)||o(s)||s===a||s===l||s===c||s===f;)s=t.charCodeAt(++v);if(0!==v&&s===u){for(v++;v{"use strict";var r=n(8593),i=n(7422),o=n(9489),s=n(8502).A,a=n(1606).A,l=n(631),c=n(7137),u=n(9795),f=n(6405);e.exports=function(e,t,n,r){var o,s,a,l,c,f,m=e.schema,k=t.tagName,w="",x=t;"html"===m.space&&"svg"===k&&(e.schema=i);c=function(e,t){var n,r,i,o,s,a,l=[];for(n in t)null!=(r=t[n])&&(i=b(e,n,r))&&l.push(i);o=l.length,s=-1;for(;++sc(n,g)&&(p=g),u=(u=p===d?f.single:f.double)["html"===e.schema.space?e.valid:1][e.safe],n=p+(n=l(n,r(h,{subset:u,attribute:!0})))+p),n=n?m+n:n);return n}(e,0,n,u))}},5702:(e,t,n)=>{"use strict";var r=n(1900),i=n(6451);e.exports=l,l.locator=i;var o="\\",s="*",a="_";function l(e,t,n){var i,l,c,u,f,h,p,d=0,m=t.charAt(d);if(!(m!==s&&m!==a||t.charAt(++d)!==m||(l=this.options.pedantic,f=(c=m)+c,h=t.length,d++,u="",m="",l&&r(t.charAt(d)))))for(;d{"use strict";n.d(t,{LC:()=>h});const r={AElig:"Æ",AMP:"&",Aacute:"Á",Abreve:"Ă",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atilde:"Ã",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ETH:"Ð",Eacute:"É",Ecaron:"Ě",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},i={}.hasOwnProperty;function o(e){return!!i.call(r,e)&&r[e]}function s(e){const t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}function a(e){return function(e){const t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}(e)||s(e)}function l(e){const t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}const c=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],u={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},f=["","Named character references must be terminated by a semicolon","Numeric character references must be terminated by a semicolon","Named character references cannot be empty","Numeric character references cannot be empty","Named character references must be known","Numeric character references cannot be disallowed","Numeric character references cannot be outside the permissible Unicode range"];function h(e,t){const n=t||{},r="string"==typeof n.additional?n.additional.charCodeAt(0):n.additional,i=[];let h,d,m=0,g=-1,y="";n.position&&("start"in n.position||"indent"in n.position?(d=n.position.indent,h=n.position.start):h=n.position);let v,b=(h?h.line:0)||1,k=(h?h.column:0)||1,w=A();for(m--;++m<=e.length;)if(10===v&&(k=(d?d[g]:0)||1),v=e.charCodeAt(m),38===v){const t=e.charCodeAt(m+1);if(9===t||10===t||12===t||32===t||38===t||60===t||Number.isNaN(t)||r&&t===r){y+=String.fromCharCode(v),k++;continue}const f=m+1;let h,d=f,g=f;if(35===t){g=++d;const t=e.charCodeAt(g);88===t||120===t?(h="hexadecimal",g=++d):h="decimal"}else h="named";let b="",C="",O="";const N="named"===h?a:"decimal"===h?s:l;for(g--;++g<=e.length;){const t=e.charCodeAt(g);if(!N(t))break;O+=String.fromCharCode(t),"named"===h&&c.includes(O)&&(b=O,C=o(O))}let T=59===e.charCodeAt(g);if(T){g++;const e="named"===h&&o(O);e&&(b=O,C=e)}let L=1+g-f,I="";if(T||!1!==n.nonTerminated)if(O)if("named"===h){if(T&&!C)S(5,1);else if(b!==O&&(g=d+b.length,L=1+g-d,T=!1),!T){const t=b?1:3;if(n.attribute){const n=e.charCodeAt(g);61===n?(S(t,L),C=""):a(n)?C="":S(t,L)}else S(t,L)}I=C}else{T||S(2,L);let e=Number.parseInt(O,"hexadecimal"===h?16:10);if((x=e)>=55296&&x<=57343||x>1114111)S(7,L),I=String.fromCharCode(65533);else if(e in u)S(6,L),I=u[e];else{let t="";p(e)&&S(6,L),e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10|55296),e=56320|1023&e),I=t+String.fromCharCode(e)}}else"named"!==h&&S(4,L);else;if(I){E(),w=A(),m=g-1,k+=g-f+1,i.push(I);const t=A();t.offset++,n.reference&&n.reference.call(n.referenceContext||void 0,I,{start:w,end:t},e.slice(f-1,g)),w=t}else O=e.slice(f-1,g),y+=O,k+=O.length,m=g-1}else 10===v&&(b++,g++,k=0),Number.isNaN(v)?E():(y+=String.fromCharCode(v),k++);var x;return i.join("");function A(){return{line:b,column:k,offset:m+((h?h.offset:0)||0)}}function S(e,t){let r;n.warning&&(r=A(),r.column+=t,r.offset+=t,n.warning.call(n.warningContext||void 0,f[e],r,e))}function E(){y&&(i.push(y),n.text&&n.text.call(n.textContext||void 0,y,{start:w,end:A()}),y="")}}function p(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||!(65535&~e)||65534==(65535&e)}},5785:(e,t,n)=>{"use strict";var r=n(5759).LC,i=n(7057),o=r;e.exports=function(e){return n.raw=function(e,n,s){return o(e,i(s,{position:t(n),warning:r}))},n;function t(t){for(var n=e.offset,r=t.line,i=[];++r&&r in n;)i.push((n[r]||0)+1);return{start:t,indent:i}}function n(n,i,s){o(n,{position:t(i),warning:r,text:s,reference:s,textContext:e,referenceContext:e})}function r(t,n,r){3!==r&&e.file.message(t,n)}}},5810:e=>{"use strict";e.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},5874:(e,t,n)=>{"use strict";var r=n(753);e.exports=a,a.locator=r;var i=" ",o="\n",s=2;function a(e,t,n){for(var r,a=t.length,l=-1,c="";++l{"use strict";e.exports=function(e,t,n,r){var i,o,s=e.length,a=-1;for(;++a{"use strict";e.exports=function(e){var o,s=0,a=0,l=e.charAt(s),c={},u=0;for(;l===t||l===n;){for(a+=o=l===t?i:r,o>1&&(a=Math.floor(a/o)*o);u{"use strict";var r=n(493),i=n(9098);e.exports=function(e){return o(e)&&i(e.value.charAt(0))};var o=r("text")},6234:(e,t,n)=>{"use strict";var r=n(6047);e.exports=function(e,t,n){var l,c,u,f,h,p,d,m,g,y=this,v=y.offset,b=y.blockTokenizers,k=y.interruptBlockquote,w=e.now(),x=w.line,A=t.length,S=[],E=[],C=[],O=[],N=0;for(;N{"use strict";var r=n(1900),i=n(2356),o=n(2115);e.exports=m,m.locator=i;var s="link",a="image",l="shortcut",c="collapsed",u="full",f="!",h="[",p="\\",d="]";function m(e,t,n){var i,m,g,y,v,b,k,w,x=this,A=x.options.commonmark,S=t.charAt(0),E=0,C=t.length,O="",N="",T=s,L=l;if(S===f&&(T=a,N=S,S=t.charAt(++E)),S===h){for(E++,N+=S,b="",w=0;E{"use strict";var t="\0",n="&",r="`",i='"',o="'",s=[" ","\t","\n","\r","\f"],a=s.concat(n,"/",">","="),l=s.concat(n,">"),c=l.concat(t,i,o,"<","=",r),u=[n,o],f=[n,i];e.exports={name:[[a,a.concat(i,o,r)],[a.concat(t,i,o,"<"),a.concat(t,i,o,"<",r)]],unquoted:[[l,c],[c,c]],single:[[u,u.concat(i,r)],[u.concat(t),u.concat(t,i,r)]],double:[[f,f.concat(o,r)],[f.concat(t),f.concat(t,o,r)]]}},6426:(e,t,n)=>{var r,i=n(9710),o={};for(r in e.exports=o,i)o[i[r]]=r},6451:e=>{"use strict";e.exports=function(e,t){var n=e.indexOf("**",t),r=e.indexOf("__",t);if(-1===r)return n;if(-1===n)return r;return r{"use strict";e.exports=function(e,t){return e(t,"p",r(e,t))};var r=n(4297)},6658:(e,t,n)=>{"use strict";e.exports=a;var r=n(2888),i=r.CONTINUE,o=r.SKIP,s=r.EXIT;function a(e,t,n,i){"function"==typeof t&&"function"!=typeof n&&(i=n,n=t,t=null),r(e,t,(function(e,t){var r=t[t.length-1],i=r?r.children.indexOf(e):null;return n(e,i,r)}),i)}a.CONTINUE=i,a.SKIP=o,a.EXIT=s},6859:e=>{"use strict";e.exports=function(e){return!(e&&e.position&&e.position.start&&e.position.start.line&&e.position.start.column&&e.position.end&&e.position.end.line&&e.position.end.column)}},6901:(e,t,n)=>{e.exports=function(e,t,n){var s,a,l;(n.useNamedReferences||n.useShortestReferences)&&(s=o(e,t,n.omitOptionalSemicolons,n.attribute));!n.useShortestReferences&&s||(a=r(e,t,n.omitOptionalSemicolons),n.useShortestReferences&&(l=i(e,t,n.omitOptionalSemicolons)).length{"use strict";var r=n(7297);e.exports=r({space:"xlink",transform:function(e,t){return"xlink:"+t.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}})},6931:(e,t)=>{"use strict";function n(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}t.basename=function(e,t){var r,i,o,s,a=0,l=-1;if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');if(n(e),r=e.length,void 0===t||!t.length||t.length>e.length){for(;r--;)if(47===e.charCodeAt(r)){if(o){a=r+1;break}}else l<0&&(o=!0,l=r+1);return l<0?"":e.slice(a,l)}if(t===e)return"";i=-1,s=t.length-1;for(;r--;)if(47===e.charCodeAt(r)){if(o){a=r+1;break}}else i<0&&(o=!0,i=r+1),s>-1&&(e.charCodeAt(r)===t.charCodeAt(s--)?s<0&&(l=r):(s=-1,l=i));a===l?l=i:l<0&&(l=e.length);return e.slice(a,l)},t.dirname=function(e){var t,r,i;if(n(e),!e.length)return".";t=-1,i=e.length;for(;--i;)if(47===e.charCodeAt(i)){if(r){t=i;break}}else r||(r=!0);return t<0?47===e.charCodeAt(0)?"/":".":1===t&&47===e.charCodeAt(0)?"//":e.slice(0,t)},t.extname=function(e){var t,r,i,o=-1,s=0,a=-1,l=0;n(e),i=e.length;for(;i--;)if(47!==(r=e.charCodeAt(i)))a<0&&(t=!0,a=i+1),46===r?o<0?o=i:1!==l&&(l=1):o>-1&&(l=-1);else if(t){s=i+1;break}if(o<0||a<0||0===l||1===l&&o===a-1&&o===s+1)return"";return e.slice(o,a)},t.join=function(){var e,t=-1;for(;++t2){if((r=i.lastIndexOf("/"))!==i.length-1){r<0?(i="",o=0):o=(i=i.slice(0,r)).length-1-i.lastIndexOf("/"),s=l,a=0;continue}}else if(i.length){i="",o=0,s=l,a=0;continue}t&&(i=i.length?i+"/..":"..",o=2)}else i.length?i+="/"+e.slice(s+1,l):i=e.slice(s+1,l),o=l-s-1;s=l,a=0}else 46===n&&a>-1?a++:a=-1}return i}(e,!t),r.length||t||(r=".");r.length&&47===e.charCodeAt(e.length-1)&&(r+="/");return t?"/"+r:r}(e)},t.sep="/"},6933:e=>{"use strict";e.exports=function(e,t){return t in e?e[t]:t}},6968:e=>{"use strict";e.exports=function(e,l,c){var u,f,h,p,d=-1,m=l.length+1,g="";for(;++d=a&&(!u||u===n)?(g+=p,!!c||e(g)({type:"thematicBreak"})):void 0;p+=u}};var t="\t",n="\n",r=" ",i="*",o="-",s="_",a=3},7057:e=>{e.exports=function(){for(var e={},n=0;n{"use strict";e.exports=n(9478)},7092:e=>{"use strict";e.exports=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}},7122:e=>{"use strict";e.exports=function(e,t){var n,r=String(e),i=0;if("string"!=typeof t)throw new Error("Expected character");n=r.indexOf(t);for(;-1!==n;)i++,n=r.indexOf(t,n+t.length);return i}},7137:e=>{"use strict";e.exports=function(e,t){var n,r=String(e),i=0;if("string"!=typeof t)throw new Error("Expected character");n=r.indexOf(t);for(;-1!==n;)i++,n=r.indexOf(t,n+t.length);return i}},7194:(e,t,n)=>{"use strict";e.exports=function(e,t,n){var r,i=t&&t.type;if(!i)throw new Error("Expected node, got `"+t+"`");r=o.call(e.handlers,i)?e.handlers[i]:e.passThrough&&e.passThrough.indexOf(i)>-1?a:e.unknownHandler;return("function"==typeof r?r:s)(e,t,n)};var r=n(9650),i=n(4297),o={}.hasOwnProperty;function s(e,t){return function(e){var t=e.data||{};if(o.call(t,"hName")||o.call(t,"hProperties")||o.call(t,"hChildren"))return!1;return"value"in e}(t)?e.augment(t,r("text",t.value)):e(t,"div",i(e,t))}function a(e,t){var n;return t.children?((n=Object.assign({},t)).children=i(e,t),n):t}},7269:e=>{"use strict";function t(e){var t,n;return"text"!==e.type||!e.position||(t=e.position.start,n=e.position.end,t.line!==n.line||n.column-t.column===e.value.length)}function n(e,t){return e.value+=t.value,e}function r(e,t){return this.options.commonmark||this.options.gfm?t:(e.children=e.children.concat(t.children),e)}e.exports=function(e){return function(i,o){var s,a,l,c,u,f=this,h=f.offset,p=[],d=f[e+"Methods"],m=f[e+"Tokenizers"],g=o.line,y=o.column;if(!i)return p;E.now=k,E.file=f.file,v("");for(;i;){for(s=-1,a=d.length,c=!1;++s{"use strict";e.exports=JSON.parse('["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","isindex","keygen","link","menuitem","meta","nextid","param","source","track","wbr"]')},7297:(e,t,n)=>{"use strict";var r=n(1383),i=n(1782),o=n(4197);e.exports=function(e){var t,n,s=e.space,a=e.mustUseProperty||[],l=e.attributes||{},c=e.properties,u=e.transform,f={},h={};for(t in c)n=new o(t,u(l,t),c[t],s),-1!==a.indexOf(t)&&(n.mustUseProperty=!0),f[t]=n,h[r(t)]=t,h[r(n.attribute)]=t;return new i(f,h,s)}},7422:(e,t,n)=>{"use strict";var r=n(5261),i=n(6920),o=n(313),s=n(4506),a=n(8055),l=n(4834);e.exports=r([o,i,s,a,l])},7497:(e,t,n)=>{"use strict";var r=n(6658);e.exports=function(e,t){return function(e){return t;function t(t){var n=t&&o(t);return n&&i.call(e,n)?e[n]:null}}(function(e){var t={};if(!e||!e.type)throw new Error("mdast-util-definitions expected node");return r(e,"definition",n),t;function n(e){var n=o(e.identifier);i.call(t,n)||(t[n]=e)}}(e))};var i={}.hasOwnProperty;function o(e){return e.toUpperCase()}},7512:(e,t)=>{"use strict";t.cwd=function(){return"/"}},7578:(e,t,n)=>{"use strict";var r=n(9098);function i(e){return function(t,n,i){var o=t&&t.children,s=n+e,a=o&&o[s];if(!i)for(;a&&r(a);)a=o[s+=e];return a}}t.g=i(-1),t.P=i(1)},7583:(e,t,n)=>{"use strict";e.exports=function(e){var t,n,s,a,l=e.footnoteById,c=e.footnoteOrder,u=c.length,f=-1,h=[];for(;++f{"use strict";var r=n(741),i=n(1890),o=n(4839).T;e.exports=h,h.locator=i;var s="<",a="?",l="!",c="/",u=/^
    /i;function h(e,t,n){var i,h,p=this,d=t.length;if(!(t.charAt(0)!==s||d<3)&&(i=t.charAt(1),(r(i)||i===a||i===l||i===c)&&(h=t.match(o))))return!!n||(h=h[0],!p.inLink&&u.test(h)?p.inLink=!0:p.inLink&&f.test(h)&&(p.inLink=!1),e(h)({type:"html",value:h}))}},7756:(e,t,n)=>{"use strict";e.exports=function(e,t){var n,s=e.definition(t.identifier);if(!s)return i(e,t);n={href:r(s.url||"")},null!==s.title&&void 0!==s.title&&(n.title=s.title);return e(t,"a",n,o(e,t))};var r=n(8131),i=n(3390),o=n(4297)},7793:(e,t,n)=>{"use strict";var r=n(1900);e.exports=function(e,t,n){var i,s,y,v,b,k,w,x,A,S,E,C,O,N,T,L,I,q,D,P,B,R;if(!this.options.gfm)return;i=0,T=0,k=t.length+1,w=[];for(;iD){if(T1&&(A?(v+=x.slice(0,-1),x=x.charAt(x.length-1)):(v+=x,x=""));let t=g(v),{start:n,end:r}=t,i=v.slice(n,v.length-r),o=e.now();o.offset+=n,o.column+=n,e(v)({type:"tableCell",padding:t,children:this.tokenizeInline(i,o)},b)}e(x+A),x="",C=""}else x&&(C+=x,x=""),C+=A,A===c&&i!==k-2&&(C+=L.charAt(i+1),i++);O=!1,i++}N||e(o+s)}return q};var i="\t",o="\n",s=" ",a="-",l=":",c="\\",u="|",f=1,h=2,p="left",d="center",m="right";function g(e){let t=0,n=0;for(let n=0,r=e.length;n=t;r--){let t=e[r];if(t!==i&&t!==s)break;n+=1}return{start:t,end:n}}},7824:(e,t,n)=>{"use strict";e.exports=function(e,t){var n=[],i=-1,o=e.length;t&&n.push(r("text","\n"));for(;++i0&&n.push(r("text","\n"));return n};var r=n(9650)},8055:(e,t,n)=>{"use strict";var r=n(5176),i=n(7297),o=r.booleanish,s=r.number,a=r.spaceSeparated;e.exports=i({transform:function(e,t){return"role"===t?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:o,ariaAutoComplete:null,ariaBusy:o,ariaChecked:o,ariaColCount:s,ariaColIndex:s,ariaColSpan:s,ariaControls:a,ariaCurrent:null,ariaDescribedBy:a,ariaDetails:null,ariaDisabled:o,ariaDropEffect:a,ariaErrorMessage:null,ariaExpanded:o,ariaFlowTo:a,ariaGrabbed:o,ariaHasPopup:null,ariaHidden:o,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:a,ariaLevel:s,ariaLive:null,ariaModal:o,ariaMultiLine:o,ariaMultiSelectable:o,ariaOrientation:null,ariaOwns:a,ariaPlaceholder:null,ariaPosInSet:s,ariaPressed:o,ariaReadOnly:o,ariaRelevant:null,ariaRequired:o,ariaRoleDescription:a,ariaRowCount:s,ariaRowIndex:s,ariaRowSpan:s,ariaSelected:o,ariaSetSize:s,ariaSort:null,ariaValueMax:s,ariaValueMin:s,ariaValueNow:s,ariaValueText:null,role:null}})},8124:(e,t,n)=>{"use strict";var r=n(6658);function i(e){delete e.position}function o(e){e.position=void 0}e.exports=function(e,t){return r(e,t?i:o),e}},8131:e=>{"use strict";var t={};function n(e,r,i){var o,s,a,l,c,u="";for("string"!=typeof r&&(i=r,r=n.defaultChars),void 0===i&&(i=!0),c=function(e){var n,r,i=t[e];if(i)return i;for(i=t[e]=[],n=0;n<128;n++)r=String.fromCharCode(n),/^[0-9a-z]$/i.test(r)?i.push(r):i.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2));for(n=0;n=55296&&a<=57343){if(a>=55296&&a<=56319&&o+1=56320&&l<=57343){u+=encodeURIComponent(e[o]+e[o+1]),o++;continue}u+="%EF%BF%BD"}else u+=encodeURIComponent(e[o]);return u}n.defaultChars=";/?:@&=+$,-_.!~*'()#",n.componentChars="-_.!~*'()",e.exports=n},8257:e=>{"use strict";e.exports=function(e){return n.test("number"==typeof e?t(e):e.charAt(0))};var t=String.fromCharCode,n=/\w/},8469:e=>{"use strict";e.exports=function(e,s,a){var l,c,u,f=this.options.pedantic,h=s.length+1,p=-1,d=e.now(),m="",g="";for(;++po)return;if(!u||!f&&s.charAt(p+1)===i)return;h=s.length+1,c="";for(;++p{"use strict";t.A=function(e){return e.join(r).trim()};var n="",r=" ",i=/[ \t\n\r\f]+/g},8518:e=>{"use strict";e.exports=function(e,t){return e&&e.children&&e.children.indexOf(t)}},8593:e=>{e.exports=function(){for(var e={},n=0;n{"use strict";var r=n(8813),i=n(6047);e.exports=function(e,t,n){var c,u,f,h,p,d=this,m=d.options.commonmark,g=d.blockTokenizers,y=d.interruptParagraph,v=t.indexOf(s),b=t.length;for(;v=l&&f!==s){v=t.indexOf(s,v+1);continue}}if(u=t.slice(v+1),i(y,g,d,[e,u,!0]))break;if(c=v,-1!==(v=t.indexOf(s,v+1))&&""===t.slice(c,v).trim()){v=c;break}}if(u=t.slice(0,v),n)return!0;return p=e.now(),u=r(u),e(u)({type:"paragraph",children:d.tokenizeInline(u,p)})};var o="\t",s="\n",a=" ",l=4},8671:e=>{"use strict";e.exports=function(e,c,u){var f,h,p,d,m,g=e.now(),y=c.length,v=-1,b="";for(;++v=s){v--;break}b+=p}f="",h="";for(;++v{"use strict";var r=n(5261),i=n(6920),o=n(313),s=n(4506),a=n(8055),l=n(535);e.exports=r([o,i,s,a,l])},8711:(e,t,n)=>{"use strict";e.exports=function(e,t){return e.augment(t,r("text",String(t.value).replace(/[ \t]*(\r?\n|\r)[ \t]*/g,"$1")))};var r=n(9650)},8775:(e,t,n)=>{"use strict";var r=n(5759).LC,i=n(1900),o=n(1890);e.exports=h,h.locator=o,h.notInLink=!0;var s="<",a=">",l="@",c="/",u="mailto:",f=u.length;function h(e,t,n){var o,h,p,d,m,g=this,y="",v=t.length,b=0,k="",w=!1,x="";if(t.charAt(0)===s){for(b++,y=s;b{"use strict";var r=n(4839).X;e.exports=function(e,t,n){var r,k,w,x,A,S,E,C=this.options.blocks.join("|"),O=new RegExp("^|$))","i"),N=t.length,T=0,L=[[l,c,!0],[u,f,!0],[h,p,!0],[d,m,!0],[g,y,!0],[O,v,!0],[b,v,!1]];for(;T|$))/i,c=/<\/(script|pre|style)>/i,u=/^/,h=/^<\?/,p=/\?>/,d=/^/,g=/^/,v=/^$/,b=new RegExp(r.source+"\\s*$")},8785:(e,t,n)=>{"use strict";var r=n(8593),i=n(631);e.exports=function(e,t,n,o){var s=t.value;return function(e){return e&&("script"===e.tagName||"style"===e.tagName)}(o)?s:i(s,r(e.entities,{subset:["<","&"]}))}},8812:(e,t,n)=>{"use strict";e.exports=function(e,t){var n=e.footnoteById,i=e.footnoteOrder,o=1;for(;o in n;)o++;return o=String(o),i.push(o),n[o]={type:"footnoteDefinition",identifier:o,children:[{type:"paragraph",children:t.children}],position:t.position},r(e,{type:"footnoteReference",identifier:o,position:t.position})};var r=n(3632)},8813:e=>{"use strict";e.exports=function(e){return String(e).replace(/\n+$/,"")}},8942:(e,t,n)=>{"use strict";e.exports=function(e,t,n){var s,a,l,c=i(e,t),u=c[0],f=n?function(e){var t=e.spread,n=e.children,r=n.length,i=-1;for(;!t&&++i0&&u.children.unshift(r("text"," ")),u.children.unshift(e(null,"input",{type:"checkbox",checked:t.checked,disabled:!0})),h.className=["task-list-item"]);s=c.length,a=-1;for(;++a1:t}},9040:(e,t,n)=>{"use strict";var r=n(8131),i=n(4297);e.exports=function(e,t){var n={href:r(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);return e(t,"a",n,i(e,t))}},9098:e=>{"use strict";e.exports=function(e){var n;if(e&&"object"==typeof e&&"text"===e.type)n=e.value||"";else{if("string"!=typeof e)return!1;n=e}return""===n.replace(t,"")};var t=/[ \t\n\f\r]/g},9159:(e,t,n)=>{"use strict";var r=n(1185),i=n(9932);e.exports=r,r.escape=i},9331:(e,t,n)=>{"use strict";e.exports=function(e,t){return e(t,"blockquote",r(i(e,t),!0))};var r=n(7824),i=n(4297)},9359:e=>{"use strict";e.exports=function(e,n){return function(r){var i,o=0,s=r.indexOf(t),a=e[n],l=[];for(;-1!==s;)l.push(r.slice(o,s)),o=s+1,(i=r.charAt(o))&&-1!==a.indexOf(i)||l.push(t),s=r.indexOf(t,o+1);return l.push(r.slice(o)),l.join("")}};var t="\\"},9405:(e,t,n)=>{"use strict";var r=n(1900),i=n(2356);e.exports=y,y.locator=i;var o="\n",s="!",a='"',l="'",c="(",u=")",f="<",h=">",p="[",d="\\",m="]",g="`";function y(e,t,n){var i,y,v,b,k,w,x,A,S,E,C,O,N,T,L,I,q,D,P=this,B="",R=0,$=t.charAt(0),M=P.options.pedantic,j=P.options.commonmark,U=P.options.gfm;if($===s&&(A=!0,B=$,$=t.charAt(++R)),$===p&&(A||!P.inLink)){for(B+=$,T="",R++,C=t.length,N=0,(I=e.now()).column+=R,I.offset+=R;R=v&&(v=0):v=y}else if($===d)R++,w+=t.charAt(R);else if(v&&!U||$!==p){if((!v||U)&&$===m){if(!N){if(t.charAt(R+1)!==c)return;w+=c,i=!0,R++;break}N--}}else N++;T+=w,w="",R++}if(i){for(S=T,B+=T+w,R++;R{"use strict";var r=n(859),i=n(4571);e.exports=i,i.prototype.message=function(e,t,n){var i=new r(e,t,n);this.path&&(i.name=this.path+":"+i.name,i.file=this.path);return i.fatal=!1,this.messages.push(i),i},i.prototype.info=function(){var e=this.message.apply(this,arguments);return e.fatal=null,e},i.prototype.fail=function(){var e=this.message.apply(this,arguments);throw e.fatal=!0,e}},9489:(e,t,n)=>{"use strict";var r=n(1383),i=n(4197),o=n(5325),s="data";e.exports=function(e,t){var n=r(t),h=t,p=o;if(n in e.normal)return e.property[e.normal[n]];n.length>4&&n.slice(0,4)===s&&a.test(t)&&("-"===t.charAt(4)?h=function(e){var t=e.slice(5).replace(l,f);return s+t.charAt(0).toUpperCase()+t.slice(1)}(t):t=function(e){var t=e.slice(4);if(l.test(t))return e;t=t.replace(c,u),"-"!==t.charAt(0)&&(t="-"+t);return s+t}(t),p=i);return new p(h,t)};var a=/^data[-\w.:]+$/i,l=/-[a-z]/g,c=/[A-Z]/g;function u(e){return"-"+e.toLowerCase()}function f(e){return e.charAt(1).toUpperCase()}},9510:e=>{"use strict";e.exports=function(e){return String(e).replace(/\s+/g," ")}},9546:e=>{"use strict";e.exports=function(e,t,n){return function(){var r=n||this,i=r[e];return r[e]=!t,o;function o(){r[e]=i}}}},9650:e=>{"use strict";e.exports=function(e,t,n){var r;null!=n||"object"==typeof t&&!Array.isArray(t)||(n=t,t={});r=Object.assign({type:String(e)},t),Array.isArray(n)?r.children=n:null!=n&&(r.value=String(n));return r}},9677:e=>{e.exports=String.fromCharCode},9710:e=>{"use strict";e.exports=JSON.parse('{"nbsp":" ","iexcl":"¡","cent":"¢","pound":"£","curren":"¤","yen":"¥","brvbar":"¦","sect":"§","uml":"¨","copy":"©","ordf":"ª","laquo":"«","not":"¬","shy":"­","reg":"®","macr":"¯","deg":"°","plusmn":"±","sup2":"²","sup3":"³","acute":"´","micro":"µ","para":"¶","middot":"·","cedil":"¸","sup1":"¹","ordm":"º","raquo":"»","frac14":"¼","frac12":"½","frac34":"¾","iquest":"¿","Agrave":"À","Aacute":"Á","Acirc":"Â","Atilde":"Ã","Auml":"Ä","Aring":"Å","AElig":"Æ","Ccedil":"Ç","Egrave":"È","Eacute":"É","Ecirc":"Ê","Euml":"Ë","Igrave":"Ì","Iacute":"Í","Icirc":"Î","Iuml":"Ï","ETH":"Ð","Ntilde":"Ñ","Ograve":"Ò","Oacute":"Ó","Ocirc":"Ô","Otilde":"Õ","Ouml":"Ö","times":"×","Oslash":"Ø","Ugrave":"Ù","Uacute":"Ú","Ucirc":"Û","Uuml":"Ü","Yacute":"Ý","THORN":"Þ","szlig":"ß","agrave":"à","aacute":"á","acirc":"â","atilde":"ã","auml":"ä","aring":"å","aelig":"æ","ccedil":"ç","egrave":"è","eacute":"é","ecirc":"ê","euml":"ë","igrave":"ì","iacute":"í","icirc":"î","iuml":"ï","eth":"ð","ntilde":"ñ","ograve":"ò","oacute":"ó","ocirc":"ô","otilde":"õ","ouml":"ö","divide":"÷","oslash":"ø","ugrave":"ù","uacute":"ú","ucirc":"û","uuml":"ü","yacute":"ý","thorn":"þ","yuml":"ÿ","fnof":"ƒ","Alpha":"Α","Beta":"Β","Gamma":"Γ","Delta":"Δ","Epsilon":"Ε","Zeta":"Ζ","Eta":"Η","Theta":"Θ","Iota":"Ι","Kappa":"Κ","Lambda":"Λ","Mu":"Μ","Nu":"Ν","Xi":"Ξ","Omicron":"Ο","Pi":"Π","Rho":"Ρ","Sigma":"Σ","Tau":"Τ","Upsilon":"Υ","Phi":"Φ","Chi":"Χ","Psi":"Ψ","Omega":"Ω","alpha":"α","beta":"β","gamma":"γ","delta":"δ","epsilon":"ε","zeta":"ζ","eta":"η","theta":"θ","iota":"ι","kappa":"κ","lambda":"λ","mu":"μ","nu":"ν","xi":"ξ","omicron":"ο","pi":"π","rho":"ρ","sigmaf":"ς","sigma":"σ","tau":"τ","upsilon":"υ","phi":"φ","chi":"χ","psi":"ψ","omega":"ω","thetasym":"ϑ","upsih":"ϒ","piv":"ϖ","bull":"•","hellip":"…","prime":"′","Prime":"″","oline":"‾","frasl":"⁄","weierp":"℘","image":"ℑ","real":"ℜ","trade":"™","alefsym":"ℵ","larr":"←","uarr":"↑","rarr":"→","darr":"↓","harr":"↔","crarr":"↵","lArr":"⇐","uArr":"⇑","rArr":"⇒","dArr":"⇓","hArr":"⇔","forall":"∀","part":"∂","exist":"∃","empty":"∅","nabla":"∇","isin":"∈","notin":"∉","ni":"∋","prod":"∏","sum":"∑","minus":"−","lowast":"∗","radic":"√","prop":"∝","infin":"∞","ang":"∠","and":"∧","or":"∨","cap":"∩","cup":"∪","int":"∫","there4":"∴","sim":"∼","cong":"≅","asymp":"≈","ne":"≠","equiv":"≡","le":"≤","ge":"≥","sub":"⊂","sup":"⊃","nsub":"⊄","sube":"⊆","supe":"⊇","oplus":"⊕","otimes":"⊗","perp":"⊥","sdot":"⋅","lceil":"⌈","rceil":"⌉","lfloor":"⌊","rfloor":"⌋","lang":"〈","rang":"〉","loz":"◊","spades":"♠","clubs":"♣","hearts":"♥","diams":"♦","quot":"\\"","amp":"&","lt":"<","gt":">","OElig":"Œ","oelig":"œ","Scaron":"Š","scaron":"š","Yuml":"Ÿ","circ":"ˆ","tilde":"˜","ensp":" ","emsp":" ","thinsp":" ","zwnj":"‌","zwj":"‍","lrm":"‎","rlm":"‏","ndash":"–","mdash":"—","lsquo":"‘","rsquo":"’","sbquo":"‚","ldquo":"“","rdquo":"”","bdquo":"„","dagger":"†","Dagger":"‡","permil":"‰","lsaquo":"‹","rsaquo":"›","euro":"€"}')},9795:(e,t,n)=>{"use strict";var r=n(2700);e.exports=function(e,t){var n=t&&t.children,i=n&&n.length,o=-1,s=[];for(;++o{"use strict";var r=n(1632),i=n(6901);e.exports=function(e){return r(e,{escapeOnly:!0,useNamedReferences:!0,format:i})}},9941:(e,t,n)=>{"use strict";e.exports=function(e,t){return e.dangerous?e.augment(t,r("raw",t.value)):null};var r=n(9650)}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";var e=n(9650),t=n.n(e),r=n(6658),i=n.n(r),o=n(4967),s=t(),a=o.Parser,l=function(){function e(){this.transformers=[]}return e.prototype.addTransformer=function(e){this.transformers.push(e)},e.prototype.removeTransformer=function(e){for(var t=this.transformers,n=0;n0&&(n=i[0].position.start,r=i[i.length-1].position.end),e.substring(n.offset,r.offset).trim()}function d(e){return!(!e.startsWith("./")&&!e.startsWith("../"))||-1===e.indexOf(":")}var m=/\u00A0/g;function g(e){return(t=e,t.replace(m," ")).trim().normalize("NFC");var t}function y(e){return e.split("#").filter((function(e){return!!e})).join(" > ").trim()}function v(e){var t="",n=e.indexOf("|"),r=n>0;return r?(t=e.substring(n+1).trim(),e=e.substring(0,n).trim()):t=y(e=e.trim()),e.endsWith("\\")&&(e=e.substring(0,e.length-1)),{href:e=g(e),title:t,isAlias:r}}var b=n(2292),k=n.n(b),w=n(7497),x=n.n(w),A=n(7074),S=n.n(A);const E=Symbol.for("yaml.alias"),C=Symbol.for("yaml.document"),O=Symbol.for("yaml.map"),N=Symbol.for("yaml.pair"),T=Symbol.for("yaml.scalar"),L=Symbol.for("yaml.seq"),I=Symbol.for("yaml.node.type"),q=e=>!!e&&"object"==typeof e&&e[I]===E,D=e=>!!e&&"object"==typeof e&&e[I]===C,P=e=>!!e&&"object"==typeof e&&e[I]===O,B=e=>!!e&&"object"==typeof e&&e[I]===N,R=e=>!!e&&"object"==typeof e&&e[I]===T,$=e=>!!e&&"object"==typeof e&&e[I]===L;function M(e){if(e&&"object"==typeof e)switch(e[I]){case O:case L:return!0}return!1}function j(e){if(e&&"object"==typeof e)switch(e[I]){case E:case O:case T:case L:return!0}return!1}const U=Symbol("break visit"),_=Symbol("skip children"),K=Symbol("remove node");function z(e,t){const n=G(t);if(D(e)){F(null,e.contents,n,Object.freeze([e]))===K&&(e.contents=null)}else F(null,e,n,Object.freeze([]))}function F(e,t,n,r){const i=J(e,t,n,r);if(j(i)||B(i))return Y(e,r,i),F(e,i,n,r);if("symbol"!=typeof i)if(M(t)){r=Object.freeze(r.concat(t));for(let e=0;e"!==e[e.length-1]&&t("Verbatim tags must end with a >"),n)}const[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);const i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return"!"===n?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(const[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+e.substring(n.length).replace(/[!,[\]{}]/g,(e=>W[e]));return"!"===e[0]?e:`!<${e}>`}toString(e){const t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags);let r;if(e&&n.length>0&&j(e.contents)){const t={};z(e.contents,((e,n)=>{j(n)&&n.tag&&(t[n.tag]=!0)})),r=Object.keys(t)}else r=[];for(const[i,o]of n)"!!"===i&&"tag:yaml.org,2002:"===o||e&&!r.some((e=>e.startsWith(o)))||t.push(`%TAG ${i} ${o}`);return t.join("\n")}}function Q(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){const t=JSON.stringify(e);throw new Error(`Anchor must not contain whitespace or control characters: ${t}`)}return!0}function Z(e){const t=new Set;return z(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function ee(e,t){for(let n=1;;++n){const r=`${e}${n}`;if(!t.has(r))return r}}function te(e,t,n,r){if(r&&"object"==typeof r)if(Array.isArray(r))for(let t=0,n=r.length;tne(e,String(t),n)));if(e&&"function"==typeof e.toJSON){if(!n||(!R(r=e)&&!M(r)||!r.anchor))return e.toJSON(t,n);const i={aliasCount:0,count:1,res:void 0};n.anchors.set(e,i),n.onCreate=e=>{i.res=e,delete n.onCreate};const o=e.toJSON(t,n);return n.onCreate&&n.onCreate(o),o}var r;return"bigint"!=typeof e||n?.keep?e:Number(e)}X.defaultYaml={explicit:!1,version:"1.2"},X.defaultTags={"!!":"tag:yaml.org,2002:"};class re{constructor(e){Object.defineProperty(this,I,{value:e})}clone(){const e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:r,reviver:i}={}){if(!D(e))throw new TypeError("A document argument is required");const o={anchors:new Map,doc:e,keep:!0,mapAsMap:!0===t,mapKeyWarned:!1,maxAliasCount:"number"==typeof n?n:100},s=ne(this,"",o);if("function"==typeof r)for(const{count:e,res:t}of o.anchors.values())r(t,e);return"function"==typeof i?te(i,{"":s},"",s):s}}class ie extends re{constructor(e){super(E),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e){let t;return z(e,{Node:(e,n)=>{if(n===this)return z.BREAK;n.anchor===this.source&&(t=n)}}),t}toJSON(e,t){if(!t)return{source:this.source};const{anchors:n,doc:r,maxAliasCount:i}=t,o=this.resolve(r);if(!o){const e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(e)}let s=n.get(o);if(s||(ne(o,null,t),s=n.get(o)),!s||void 0===s.res){throw new ReferenceError("This should not happen: Alias anchor was not resolved?")}if(i>=0&&(s.count+=1,0===s.aliasCount&&(s.aliasCount=oe(r,o,n)),s.count*s.aliasCount>i)){throw new ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return s.res}toString(e,t,n){const r=`*${this.source}`;if(e){if(Q(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){const e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(e)}if(e.implicitKey)return`${r} `}return r}}function oe(e,t,n){if(q(t)){const r=t.resolve(e),i=n&&r&&n.get(r);return i?i.count*i.aliasCount:0}if(M(t)){let r=0;for(const i of t.items){const t=oe(e,i,n);t>r&&(r=t)}return r}if(B(t)){const r=oe(e,t.key,n),i=oe(e,t.value,n);return Math.max(r,i)}return 1}const se=e=>!e||"function"!=typeof e&&"object"!=typeof e;class ae extends re{constructor(e){super(T),this.value=e}toJSON(e,t){return t?.keep?this.value:ne(this.value,e,t)}toString(){return String(this.value)}}ae.BLOCK_FOLDED="BLOCK_FOLDED",ae.BLOCK_LITERAL="BLOCK_LITERAL",ae.PLAIN="PLAIN",ae.QUOTE_DOUBLE="QUOTE_DOUBLE",ae.QUOTE_SINGLE="QUOTE_SINGLE";function le(e,t,n){if(D(e)&&(e=e.contents),j(e))return e;if(B(e)){const t=n.schema[O].createNode?.(n.schema,null,n);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||"undefined"!=typeof BigInt&&e instanceof BigInt)&&(e=e.valueOf());const{aliasDuplicateObjects:r,onAnchor:i,onTagObj:o,schema:s,sourceObjects:a}=n;let l;if(r&&e&&"object"==typeof e){if(l=a.get(e),l)return l.anchor||(l.anchor=i(e)),new ie(l.anchor);l={anchor:null,node:null},a.set(e,l)}t?.startsWith("!!")&&(t="tag:yaml.org,2002:"+t.slice(2));let c=function(e,t,n){if(t){const e=n.filter((e=>e.tag===t)),r=e.find((e=>!e.format))??e[0];if(!r)throw new Error(`Tag ${t} not found`);return r}return n.find((t=>t.identify?.(e)&&!t.format))}(e,t,s.tags);if(!c){if(e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!e||"object"!=typeof e){const t=new ae(e);return l&&(l.node=t),t}c=e instanceof Map?s[O]:Symbol.iterator in Object(e)?s[L]:s[O]}o&&(o(c),delete n.onTagObj);const u=c?.createNode?c.createNode(n.schema,e,n):"function"==typeof c?.nodeClass?.from?c.nodeClass.from(n.schema,e,n):new ae(e);return t?u.tag=t:c.default||(u.tag=c.tag),l&&(l.node=u),u}function ce(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){const n=t[e];if("number"==typeof n&&Number.isInteger(n)&&n>=0){const e=[];e[n]=r,r=e}else r=new Map([[n,r]])}return le(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}const ue=e=>null==e||"object"==typeof e&&!!e[Symbol.iterator]().next().done;class fe extends re{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){const t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map((t=>j(t)||B(t)?t.clone(e):t)),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(ue(e))this.add(t);else{const[n,...r]=e,i=this.get(n,!0);if(M(i))i.addIn(r,t);else{if(void 0!==i||!this.schema)throw new Error(`Expected YAML collection at ${n}. Remaining path: ${r}`);this.set(n,ce(this.schema,r,t))}}}deleteIn(e){const[t,...n]=e;if(0===n.length)return this.delete(t);const r=this.get(t,!0);if(M(r))return r.deleteIn(n);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){const[n,...r]=e,i=this.get(n,!0);return 0===r.length?!t&&R(i)?i.value:i:M(i)?i.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every((t=>{if(!B(t))return!1;const n=t.value;return null==n||e&&R(n)&&null==n.value&&!n.commentBefore&&!n.comment&&!n.tag}))}hasIn(e){const[t,...n]=e;if(0===n.length)return this.has(t);const r=this.get(t,!0);return!!M(r)&&r.hasIn(n)}setIn(e,t){const[n,...r]=e;if(0===r.length)this.set(n,t);else{const e=this.get(n,!0);if(M(e))e.setIn(r,t);else{if(void 0!==e||!this.schema)throw new Error(`Expected YAML collection at ${n}. Remaining path: ${r}`);this.set(n,ce(this.schema,r,t))}}}}const he=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function pe(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}const de=(e,t,n)=>e.endsWith("\n")?pe(n,t):n.includes("\n")?"\n"+pe(n,t):(e.endsWith(" ")?"":" ")+n,me="flow",ge="block",ye="quoted";function ve(e,t,n="flow",{indentAtStart:r,lineWidth:i=80,minContentWidth:o=20,onFold:s,onOverflow:a}={}){if(!i||i<0)return e;ii-Math.max(2,o)?c.push(0):p=i-r);let d=!1,m=-1,g=-1,y=-1;n===ge&&(m=be(e,m,t.length),-1!==m&&(p=m+l));for(let r;r=e[m+=1];){if(n===ye&&"\\"===r){switch(g=m,e[m+1]){case"x":m+=3;break;case"u":m+=5;break;case"U":m+=9;break;default:m+=1}y=m}if("\n"===r)n===ge&&(m=be(e,m,t.length)),p=m+t.length+l,f=void 0;else{if(" "===r&&h&&" "!==h&&"\n"!==h&&"\t"!==h){const t=e[m+1];t&&" "!==t&&"\n"!==t&&"\t"!==t&&(f=m)}if(m>=p)if(f)c.push(f),p=f+l,f=void 0;else if(n===ye){for(;" "===h||"\t"===h;)h=r,r=e[m+=1],d=!0;const t=m>y+1?m-2:g-1;if(u[t])return e;c.push(t),u[t]=!0,p=t+l,f=void 0}else d=!0}h=r}if(d&&a&&a(),0===c.length)return e;s&&s();let v=e.slice(0,c[0]);for(let r=0;r({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),we=e=>/^(%|---|\.\.\.)/m.test(e);function xe(e,t){const n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;const{implicitKey:r}=t,i=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(we(e)?" ":"");let s="",a=0;for(let e=0,t=n[e];t;t=n[++e])if(" "===t&&"\\"===n[e+1]&&"n"===n[e+2]&&(s+=n.slice(a,e)+"\\ ",e+=1,a=e,t="\\"),"\\"===t)switch(n[e+1]){case"u":{s+=n.slice(a,e);const t=n.substr(e+2,4);switch(t){case"0000":s+="\\0";break;case"0007":s+="\\a";break;case"000b":s+="\\v";break;case"001b":s+="\\e";break;case"0085":s+="\\N";break;case"00a0":s+="\\_";break;case"2028":s+="\\L";break;case"2029":s+="\\P";break;default:"00"===t.substr(0,2)?s+="\\x"+t.substr(2):s+=n.substr(e,6)}e+=5,a=e+1}break;case"n":if(r||'"'===n[e+2]||n.lengthr)return!0;if(n=t+1,i-n<=r)return!1}return!0}(n,l,c.length));if(!n)return u?"|\n":">\n";let f,h;for(h=n.length;h>0;--h){const e=n[h-1];if("\n"!==e&&"\t"!==e&&" "!==e)break}let p=n.substring(h);const d=p.indexOf("\n");-1===d?f="-":n===p||d!==p.length-1?(f="+",o&&o()):f="",p&&(n=n.slice(0,-p.length),"\n"===p[p.length-1]&&(p=p.slice(0,-1)),p=p.replace(Ee,`$&${c}`));let m,g=!1,y=-1;for(m=0;m{i=!0});const a=ve(`${v}${e}${p}`,c,ge,o);if(!i)return`>${b}\n${c}${a}`}return`|${b}\n${c}${v}${n=n.replace(/\n+/g,`$&${c}`)}${p}`}function Oe(e,t,n,r){const{implicitKey:i,inFlow:o}=t,s="string"==typeof e.value?e:Object.assign({},e,{value:String(e.value)});let{type:a}=e;a!==ae.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(s.value)&&(a=ae.QUOTE_DOUBLE);const l=e=>{switch(e){case ae.BLOCK_FOLDED:case ae.BLOCK_LITERAL:return i||o?Se(s.value,t):Ce(s,t,n,r);case ae.QUOTE_DOUBLE:return xe(s.value,t);case ae.QUOTE_SINGLE:return Ae(s.value,t);case ae.PLAIN:return function(e,t,n,r){const{type:i,value:o}=e,{actualString:s,implicitKey:a,indent:l,indentStep:c,inFlow:u}=t;if(a&&o.includes("\n")||u&&/[[\]{},]/.test(o))return Se(o,t);if(!o||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return a||u||!o.includes("\n")?Se(o,t):Ce(e,t,n,r);if(!a&&!u&&i!==ae.PLAIN&&o.includes("\n"))return Ce(e,t,n,r);if(we(o)){if(""===l)return t.forceBlockIndent=!0,Ce(e,t,n,r);if(a&&l===c)return Se(o,t)}const f=o.replace(/\n+/g,`$&\n${l}`);if(s){const e=e=>e.default&&"tag:yaml.org,2002:str"!==e.tag&&e.test?.test(f),{compat:n,tags:r}=t.doc.schema;if(r.some(e)||n?.some(e))return Se(o,t)}return a?f:ve(f,l,me,ke(t,!1))}(s,t,n,r);default:return null}};let c=l(a);if(null===c){const{defaultKeyType:e,defaultStringType:n}=t.options,r=i&&e||n;if(c=l(r),null===c)throw new Error(`Unsupported default string type ${r}`)}return c}function Ne(e,t){const n=Object.assign({blockQuote:!0,commentString:he,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t);let r;switch(n.collectionStyle){case"block":r=!1;break;case"flow":r=!0;break;default:r=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:"number"==typeof n.indent?" ".repeat(n.indent):" ",inFlow:r,options:n}}function Te(e,t,n,r){if(B(e))return e.toString(t,n,r);if(q(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let i;const o=j(e)?e:t.doc.createNode(e,{onTagObj:e=>i=e});i||(i=function(e,t){if(t.tag){const n=e.filter((e=>e.tag===t.tag));if(n.length>0)return n.find((e=>e.format===t.format))??n[0]}let n,r;if(R(t)){r=t.value;let i=e.filter((e=>e.identify?.(r)));if(i.length>1){const e=i.filter((e=>e.test));e.length>0&&(i=e)}n=i.find((e=>e.format===t.format))??i.find((e=>!e.format))}else r=t,n=e.find((e=>e.nodeClass&&r instanceof e.nodeClass));if(!n)throw new Error(`Tag not resolved for ${r?.constructor?.name??typeof r} value`);return n}(t.doc.schema.tags,o));const s=function(e,t,{anchors:n,doc:r}){if(!r.directives)return"";const i=[],o=(R(e)||M(e))&&e.anchor;o&&Q(o)&&(n.add(o),i.push(`&${o}`));const s=e.tag?e.tag:t.default?null:t.tag;return s&&i.push(r.directives.tagString(s)),i.join(" ")}(o,i,t);s.length>0&&(t.indentAtStart=(t.indentAtStart??0)+s.length+1);const a="function"==typeof i.stringify?i.stringify(o,t,n,r):R(o)?Oe(o,t,n,r):o.toString(t,n,r);return s?R(o)||"{"===a[0]||"["===a[0]?`${s} ${a}`:`${s}\n${t.indent}${a}`:a}function Le(e,t){"debug"!==e&&"warn"!==e||console.warn(t)}const Ie="<<",qe={identify:e=>e===Ie||"symbol"==typeof e&&e.description===Ie,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new ae(Symbol(Ie)),{addToJSMap:De}),stringify:()=>Ie};function De(e,t,n){if(n=e&&q(n)?n.resolve(e.doc):n,$(n))for(const r of n.items)Pe(e,t,r);else if(Array.isArray(n))for(const r of n)Pe(e,t,r);else Pe(e,t,n)}function Pe(e,t,n){const r=e&&q(n)?n.resolve(e.doc):n;if(!P(r))throw new Error("Merge sources must be maps or map aliases");const i=r.toJSON(null,e,Map);for(const[e,n]of i)t instanceof Map?t.has(e)||t.set(e,n):t instanceof Set?t.add(e):Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{value:n,writable:!0,enumerable:!0,configurable:!0});return t}function Be(e,t,{key:n,value:r}){if(j(n)&&n.addToJSMap)n.addToJSMap(e,t,r);else if(((e,t)=>(qe.identify(t)||R(t)&&(!t.type||t.type===ae.PLAIN)&&qe.identify(t.value))&&e?.doc.schema.tags.some((e=>e.tag===qe.tag&&e.default)))(e,n))De(e,t,r);else{const i=ne(n,"",e);if(t instanceof Map)t.set(i,ne(r,i,e));else if(t instanceof Set)t.add(i);else{const o=function(e,t,n){if(null===t)return"";if("object"!=typeof t)return String(t);if(j(e)&&n?.doc){const t=Ne(n.doc,{});t.anchors=new Set;for(const e of n.anchors.keys())t.anchors.add(e.anchor);t.inFlow=!0,t.inStringifyKey=!0;const r=e.toString(t);if(!n.mapKeyWarned){let e=JSON.stringify(r);e.length>40&&(e=e.substring(0,36)+'..."'),Le(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${e}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return r}return JSON.stringify(t)}(n,i,e),s=ne(r,o,e);o in t?Object.defineProperty(t,o,{value:s,writable:!0,enumerable:!0,configurable:!0}):t[o]=s}}return t}function Re(e,t,n){const r=le(e,void 0,n),i=le(t,void 0,n);return new $e(r,i)}class $e{constructor(e,t=null){Object.defineProperty(this,I,{value:N}),this.key=e,this.value=t}clone(e){let{key:t,value:n}=this;return j(t)&&(t=t.clone(e)),j(n)&&(n=n.clone(e)),new $e(t,n)}toJSON(e,t){return Be(t,t?.mapAsMap?new Map:{},this)}toString(e,t,n){return e?.doc?function({key:e,value:t},n,r,i){const{allNullValues:o,doc:s,indent:a,indentStep:l,options:{commentString:c,indentSeq:u,simpleKeys:f}}=n;let h=j(e)&&e.comment||null;if(f){if(h)throw new Error("With simple keys, key nodes cannot have comments");if(M(e)||!j(e)&&"object"==typeof e)throw new Error("With simple keys, collection cannot be used as a key value")}let p=!f&&(!e||h&&null==t&&!n.inFlow||M(e)||(R(e)?e.type===ae.BLOCK_FOLDED||e.type===ae.BLOCK_LITERAL:"object"==typeof e));n=Object.assign({},n,{allNullValues:!1,implicitKey:!p&&(f||!o),indent:a+l});let d,m,g,y=!1,v=!1,b=Te(e,n,(()=>y=!0),(()=>v=!0));if(!p&&!n.inFlow&&b.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");p=!0}if(n.inFlow){if(o||null==t)return y&&r&&r(),""===b?"?":p?`? ${b}`:b}else if(o&&!f||null==t&&p)return b=`? ${b}`,h&&!y?b+=de(b,n.indent,c(h)):v&&i&&i(),b;y&&(h=null),p?(h&&(b+=de(b,n.indent,c(h))),b=`? ${b}\n${a}:`):(b=`${b}:`,h&&(b+=de(b,n.indent,c(h)))),j(t)?(d=!!t.spaceBefore,m=t.commentBefore,g=t.comment):(d=!1,m=null,g=null,t&&"object"==typeof t&&(t=s.createNode(t))),n.implicitKey=!1,p||h||!R(t)||(n.indentAtStart=b.length+1),v=!1,u||!(l.length>=2)||n.inFlow||p||!$(t)||t.flow||t.tag||t.anchor||(n.indent=n.indent.substring(2));let k=!1;const w=Te(t,n,(()=>k=!0),(()=>v=!0));let x=" ";if(h||d||m)x=d?"\n":"",m&&(x+=`\n${pe(c(m),n.indent)}`),""!==w||n.inFlow?x+=`\n${n.indent}`:"\n"===x&&(x="\n\n");else if(!p&&M(t)){const e=w[0],r=w.indexOf("\n"),i=-1!==r,o=n.inFlow??t.flow??0===t.items.length;if(i||!o){let t=!1;if(i&&("&"===e||"!"===e)){let n=w.indexOf(" ");"&"===e&&-1!==n&&ns=null),(()=>f=!0));s&&(a+=de(a,o,c(s))),f&&s&&(f=!1),h.push(r+a)}let p;if(0===h.length)p=i.start+i.end;else{p=h[0];for(let e=1;eo=null));nu||s.includes("\n"))&&(c=!0),f.push(s),u=f.length}const{start:h,end:p}=n;if(0===f.length)return h+p;if(!c){const e=f.reduce(((e,t)=>e+t.length+2),2);c=t.options.lineWidth>0&&e>t.options.lineWidth}if(c){let e=h;for(const t of f)e+=t?`\n${o}${i}${t}`:"\n";return`${e}\n${i}${p}`}return`${h}${s}${f.join(" ")}${s}${p}`}function _e({indent:e,options:{commentString:t}},n,r,i){if(r&&i&&(r=r.replace(/^\n+/,"")),r){const i=pe(t(r),e);n.push(i.trimStart())}}function Ke(e,t){const n=R(t)?t.value:t;for(const r of e)if(B(r)){if(r.key===t||r.key===n)return r;if(R(r.key)&&r.key.value===n)return r}}class ze extends fe{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(O,e),this.items=[]}static from(e,t,n){const{keepUndefined:r,replacer:i}=n,o=new this(e),s=(e,s)=>{if("function"==typeof i)s=i.call(t,e,s);else if(Array.isArray(i)&&!i.includes(e))return;(void 0!==s||r)&&o.items.push(Re(e,s,n))};if(t instanceof Map)for(const[e,n]of t)s(e,n);else if(t&&"object"==typeof t)for(const e of Object.keys(t))s(e,t[e]);return"function"==typeof e.sortMapEntries&&o.items.sort(e.sortMapEntries),o}add(e,t){let n;n=B(e)?e:e&&"object"==typeof e&&"key"in e?new $e(e.key,e.value):new $e(e,e?.value);const r=Ke(this.items,n.key),i=this.schema?.sortMapEntries;if(r){if(!t)throw new Error(`Key ${n.key} already set`);R(r.value)&&se(n.value)?r.value.value=n.value:r.value=n.value}else if(i){const e=this.items.findIndex((e=>i(n,e)<0));-1===e?this.items.push(n):this.items.splice(e,0,n)}else this.items.push(n)}delete(e){const t=Ke(this.items,e);if(!t)return!1;return this.items.splice(this.items.indexOf(t),1).length>0}get(e,t){const n=Ke(this.items,e),r=n?.value;return(!t&&R(r)?r.value:r)??void 0}has(e){return!!Ke(this.items,e)}set(e,t){this.add(new $e(e,t),!0)}toJSON(e,t,n){const r=n?new n:t?.mapAsMap?new Map:{};t?.onCreate&&t.onCreate(r);for(const e of this.items)Be(t,r,e);return r}toString(e,t,n){if(!e)return JSON.stringify(this);for(const e of this.items)if(!B(e))throw new Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),Me(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:n,onComment:t})}}const Fe={collection:"map",default:!0,nodeClass:ze,tag:"tag:yaml.org,2002:map",resolve:(e,t)=>(P(e)||t("Expected a mapping for this tag"),e),createNode:(e,t,n)=>ze.from(e,t,n)};class Ve extends fe{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(L,e),this.items=[]}add(e){this.items.push(e)}delete(e){const t=He(e);if("number"!=typeof t)return!1;return this.items.splice(t,1).length>0}get(e,t){const n=He(e);if("number"!=typeof n)return;const r=this.items[n];return!t&&R(r)?r.value:r}has(e){const t=He(e);return"number"==typeof t&&t=0?t:null}const Ge={collection:"seq",default:!0,nodeClass:Ve,tag:"tag:yaml.org,2002:seq",resolve:(e,t)=>($(e)||t("Expected a sequence for this tag"),e),createNode:(e,t,n)=>Ve.from(e,t,n)},Je={identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:(e,t,n,r)=>Oe(e,t=Object.assign({actualString:!0},t),n,r)},Ye={identify:e=>null==e,createNode:()=>new ae(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new ae(null),stringify:({source:e},t)=>"string"==typeof e&&Ye.test.test(e)?e:t.options.nullStr},We={identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new ae("t"===e[0]||"T"===e[0]),stringify({source:e,value:t},n){if(e&&We.test.test(e)){if(t===("t"===e[0]||"T"===e[0]))return e}return t?n.options.trueStr:n.options.falseStr}};function Xe({format:e,minFractionDigits:t,tag:n,value:r}){if("bigint"==typeof r)return String(r);const i="number"==typeof r?r:Number(r);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let o=JSON.stringify(r);if(!e&&t&&(!n||"tag:yaml.org,2002:float"===n)&&/^\d/.test(o)){let e=o.indexOf(".");e<0&&(e=o.length,o+=".");let n=t-(o.length-e-1);for(;n-- >0;)o+="0"}return o}const Qe={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>"nan"===e.slice(-3).toLowerCase()?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Xe},Ze={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){const t=Number(e.value);return isFinite(t)?t.toExponential():Xe(e)}},et={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){const t=new ae(parseFloat(e)),n=e.indexOf(".");return-1!==n&&"0"===e[e.length-1]&&(t.minFractionDigits=e.length-n-1),t},stringify:Xe},tt=e=>"bigint"==typeof e||Number.isInteger(e),nt=(e,t,n,{intAsBigInt:r})=>r?BigInt(e):parseInt(e.substring(t),n);function rt(e,t,n){const{value:r}=e;return tt(r)&&r>=0?n+r.toString(t):Xe(e)}const it={identify:e=>tt(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,n)=>nt(e,2,8,n),stringify:e=>rt(e,8,"0o")},ot={identify:tt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>nt(e,0,10,n),stringify:Xe},st={identify:e=>tt(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>nt(e,2,16,n),stringify:e=>rt(e,16,"0x")},at=[Fe,Ge,Je,Ye,We,it,ot,st,Qe,Ze,et];function lt(e){return"bigint"==typeof e||Number.isInteger(e)}const ct=({value:e})=>JSON.stringify(e),ut=[Fe,Ge].concat([{identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:ct},{identify:e=>null==e,createNode:()=>new ae(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:ct},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>"true"===e,stringify:ct},{identify:lt,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:n})=>n?BigInt(e):parseInt(e,10),stringify:({value:e})=>lt(e)?e.toString():JSON.stringify(e)},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:ct}],{default:!0,tag:"",test:/^/,resolve:(e,t)=>(t(`Unresolved plain scalar ${JSON.stringify(e)}`),e)}),ft={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if("function"==typeof atob){const t=atob(e.replace(/[\n\r]/g,"")),n=new Uint8Array(t.length);for(let e=0;e1&&t("Each pair must have its own sequence indicator");const e=r.items[0]||new $e(new ae(null));if(r.commentBefore&&(e.key.commentBefore=e.key.commentBefore?`${r.commentBefore}\n${e.key.commentBefore}`:r.commentBefore),r.comment){const t=e.value??e.key;t.comment=t.comment?`${r.comment}\n${t.comment}`:r.comment}r=e}e.items[n]=B(r)?r:new $e(r)}}else t("Expected a sequence for this tag");return e}function pt(e,t,n){const{replacer:r}=n,i=new Ve(e);i.tag="tag:yaml.org,2002:pairs";let o=0;if(t&&Symbol.iterator in Object(t))for(let e of t){let s,a;if("function"==typeof r&&(e=r.call(t,String(o++),e)),Array.isArray(e)){if(2!==e.length)throw new TypeError(`Expected [key, value] tuple: ${e}`);s=e[0],a=e[1]}else if(e&&e instanceof Object){const t=Object.keys(e);if(1!==t.length)throw new TypeError(`Expected tuple with one key, not ${t.length} keys`);s=t[0],a=e[s]}else s=e;i.items.push(Re(s,a,n))}return i}const dt={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:ht,createNode:pt};class mt extends Ve{constructor(){super(),this.add=ze.prototype.add.bind(this),this.delete=ze.prototype.delete.bind(this),this.get=ze.prototype.get.bind(this),this.has=ze.prototype.has.bind(this),this.set=ze.prototype.set.bind(this),this.tag=mt.tag}toJSON(e,t){if(!t)return super.toJSON(e);const n=new Map;t?.onCreate&&t.onCreate(n);for(const e of this.items){let r,i;if(B(e)?(r=ne(e.key,"",t),i=ne(e.value,r,t)):r=ne(e,"",t),n.has(r))throw new Error("Ordered maps must not include duplicate keys");n.set(r,i)}return n}static from(e,t,n){const r=pt(e,t,n),i=new this;return i.items=r.items,i}}mt.tag="tag:yaml.org,2002:omap";const gt={collection:"seq",identify:e=>e instanceof Map,nodeClass:mt,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){const n=ht(e,t),r=[];for(const{key:e}of n.items)R(e)&&(r.includes(e.value)?t(`Ordered maps must not include duplicate keys: ${e.value}`):r.push(e.value));return Object.assign(new mt,n)},createNode:(e,t,n)=>mt.from(e,t,n)};function yt({value:e,source:t},n){return t&&(e?vt:bt).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}const vt={identify:e=>!0===e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new ae(!0),stringify:yt},bt={identify:e=>!1===e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new ae(!1),stringify:yt},kt={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>"nan"===e.slice(-3).toLowerCase()?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Xe},wt={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){const t=Number(e.value);return isFinite(t)?t.toExponential():Xe(e)}},xt={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){const t=new ae(parseFloat(e.replace(/_/g,""))),n=e.indexOf(".");if(-1!==n){const r=e.substring(n+1).replace(/_/g,"");"0"===r[r.length-1]&&(t.minFractionDigits=r.length)}return t},stringify:Xe},At=e=>"bigint"==typeof e||Number.isInteger(e);function St(e,t,n,{intAsBigInt:r}){const i=e[0];if("-"!==i&&"+"!==i||(t+=1),e=e.substring(t).replace(/_/g,""),r){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`}const t=BigInt(e);return"-"===i?BigInt(-1)*t:t}const o=parseInt(e,n);return"-"===i?-1*o:o}function Et(e,t,n){const{value:r}=e;if(At(r)){const e=r.toString(t);return r<0?"-"+n+e.substr(1):n+e}return Xe(e)}const Ct={identify:At,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>St(e,2,2,n),stringify:e=>Et(e,2,"0b")},Ot={identify:At,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>St(e,1,8,n),stringify:e=>Et(e,8,"0")},Nt={identify:At,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>St(e,0,10,n),stringify:Xe},Tt={identify:At,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>St(e,2,16,n),stringify:e=>Et(e,16,"0x")};class Lt extends ze{constructor(e){super(e),this.tag=Lt.tag}add(e){let t;t=B(e)?e:e&&"object"==typeof e&&"key"in e&&"value"in e&&null===e.value?new $e(e.key,null):new $e(e,null);Ke(this.items,t.key)||this.items.push(t)}get(e,t){const n=Ke(this.items,e);return!t&&B(n)?R(n.key)?n.key.value:n.key:n}set(e,t){if("boolean"!=typeof t)throw new Error("Expected boolean value for set(key, value) in a YAML set, not "+typeof t);const n=Ke(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new $e(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw new Error("Set items must all have null values")}static from(e,t,n){const{replacer:r}=n,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let e of t)"function"==typeof r&&(e=r.call(t,e,e)),i.items.push(Re(e,null,n));return i}}Lt.tag="tag:yaml.org,2002:set";const It={collection:"map",identify:e=>e instanceof Set,nodeClass:Lt,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,n)=>Lt.from(e,t,n),resolve(e,t){if(P(e)){if(e.hasAllNullValues(!0))return Object.assign(new Lt,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};function qt(e,t){const n=e[0],r="-"===n||"+"===n?e.substring(1):e,i=e=>t?BigInt(e):Number(e),o=r.replace(/_/g,"").split(":").reduce(((e,t)=>e*i(60)+i(t)),i(0));return"-"===n?i(-1)*o:o}function Dt(e){let{value:t}=e,n=e=>e;if("bigint"==typeof t)n=e=>BigInt(e);else if(isNaN(t)||!isFinite(t))return Xe(e);let r="";t<0&&(r="-",t*=n(-1));const i=n(60),o=[t%i];return t<60?o.unshift(0):(t=(t-o[0])/i,o.unshift(t%i),t>=60&&(t=(t-o[0])/i,o.unshift(t))),r+o.map((e=>String(e).padStart(2,"0"))).join(":").replace(/000000\d*$/,"")}const Pt={identify:e=>"bigint"==typeof e||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:n})=>qt(e,n),stringify:Dt},Bt={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>qt(e,!1),stringify:Dt},Rt={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){const t=e.match(Rt.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,n,r,i,o,s,a]=t.map(Number),l=t[7]?Number((t[7]+"00").substr(1,3)):0;let c=Date.UTC(n,r-1,i,o||0,s||0,a||0,l);const u=t[8];if(u&&"Z"!==u){let e=qt(u,!1);Math.abs(e)<30&&(e*=60),c-=6e4*e}return new Date(c)},stringify:({value:e})=>e.toISOString().replace(/(T00:00:00)?\.000Z$/,"")},$t=[Fe,Ge,Je,Ye,vt,bt,Ct,Ot,Nt,Tt,kt,wt,xt,ft,qe,gt,dt,It,Pt,Bt,Rt],Mt=new Map([["core",at],["failsafe",[Fe,Ge,Je]],["json",ut],["yaml11",$t],["yaml-1.1",$t]]),jt={binary:ft,bool:We,float:et,floatExp:Ze,floatNaN:Qe,floatTime:Bt,int:ot,intHex:st,intOct:it,intTime:Pt,map:Fe,merge:qe,null:Ye,omap:gt,pairs:dt,seq:Ge,set:It,timestamp:Rt},Ut={"tag:yaml.org,2002:binary":ft,"tag:yaml.org,2002:merge":qe,"tag:yaml.org,2002:omap":gt,"tag:yaml.org,2002:pairs":dt,"tag:yaml.org,2002:set":It,"tag:yaml.org,2002:timestamp":Rt};function _t(e,t,n){const r=Mt.get(t);if(r&&!e)return n&&!r.includes(qe)?r.concat(qe):r.slice();let i=r;if(!i){if(!Array.isArray(e)){const e=Array.from(Mt.keys()).filter((e=>"yaml11"!==e)).map((e=>JSON.stringify(e))).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${e} or define customTags array`)}i=[]}if(Array.isArray(e))for(const t of e)i=i.concat(t);else"function"==typeof e&&(i=e(i.slice()));return n&&(i=i.concat(qe)),i.reduce(((e,t)=>{const n="string"==typeof t?jt[t]:t;if(!n){const e=JSON.stringify(t),n=Object.keys(jt).map((e=>JSON.stringify(e))).join(", ");throw new Error(`Unknown custom tag ${e}; use one of ${n}`)}return e.includes(n)||e.push(n),e}),[])}const Kt=(e,t)=>e.keyt.key?1:0;class zt{constructor({compat:e,customTags:t,merge:n,resolveKnownTags:r,schema:i,sortMapEntries:o,toStringDefaults:s}){this.compat=Array.isArray(e)?_t(e,"compat"):e?_t(null,e):null,this.name="string"==typeof i&&i||"core",this.knownTags=r?Ut:{},this.tags=_t(t,this.name,n),this.toStringOptions=s??null,Object.defineProperty(this,O,{value:Fe}),Object.defineProperty(this,T,{value:Je}),Object.defineProperty(this,L,{value:Ge}),this.sortMapEntries="function"==typeof o?o:!0===o?Kt:null}clone(){const e=Object.create(zt.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}}class Ft{constructor(e,t,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,I,{value:C});let r=null;"function"==typeof t||Array.isArray(t)?r=t:void 0===n&&t&&(n=t,t=void 0);const i=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=i;let{version:o}=i;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new X({version:o}),this.setSchema(o,n),this.contents=void 0===e?null:this.createNode(e,r,n)}clone(){const e=Object.create(Ft.prototype,{[I]:{value:C}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=j(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){Vt(this.contents)&&this.contents.add(e)}addIn(e,t){Vt(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){const n=Z(this);e.anchor=!t||n.has(t)?ee(t||"a",n):t}return new ie(e.anchor)}createNode(e,t,n){let r;if("function"==typeof t)e=t.call({"":e},"",e),r=t;else if(Array.isArray(t)){const e=e=>"number"==typeof e||e instanceof String||e instanceof Number,n=t.filter(e).map(String);n.length>0&&(t=t.concat(n)),r=t}else void 0===n&&t&&(n=t,t=void 0);const{aliasDuplicateObjects:i,anchorPrefix:o,flow:s,keepUndefined:a,onTagObj:l,tag:c}=n??{},{onAnchor:u,setAnchors:f,sourceObjects:h}=function(e,t){const n=[],r=new Map;let i=null;return{onAnchor:r=>{n.push(r),i||(i=Z(e));const o=ee(t,i);return i.add(o),o},setAnchors:()=>{for(const e of n){const t=r.get(e);if("object"!=typeof t||!t.anchor||!R(t.node)&&!M(t.node)){const t=new Error("Failed to resolve repeated object (this should not happen)");throw t.source=e,t}t.node.anchor=t.anchor}},sourceObjects:r}}(this,o||"a"),p=le(e,c,{aliasDuplicateObjects:i??!0,keepUndefined:a??!1,onAnchor:u,onTagObj:l,replacer:r,schema:this.schema,sourceObjects:h});return s&&M(p)&&(p.flow=!0),f(),p}createPair(e,t,n={}){const r=this.createNode(e,null,n),i=this.createNode(t,null,n);return new $e(r,i)}delete(e){return!!Vt(this.contents)&&this.contents.delete(e)}deleteIn(e){return ue(e)?null!=this.contents&&(this.contents=null,!0):!!Vt(this.contents)&&this.contents.deleteIn(e)}get(e,t){return M(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return ue(e)?!t&&R(this.contents)?this.contents.value:this.contents:M(this.contents)?this.contents.getIn(e,t):void 0}has(e){return!!M(this.contents)&&this.contents.has(e)}hasIn(e){return ue(e)?void 0!==this.contents:!!M(this.contents)&&this.contents.hasIn(e)}set(e,t){null==this.contents?this.contents=ce(this.schema,[e],t):Vt(this.contents)&&this.contents.set(e,t)}setIn(e,t){ue(e)?this.contents=t:null==this.contents?this.contents=ce(this.schema,Array.from(e),t):Vt(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){let n;switch("number"==typeof e&&(e=String(e)),e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new X({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new X({version:e}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{const t=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${t}`)}}if(t.schema instanceof Object)this.schema=t.schema;else{if(!n)throw new Error("With a null YAML version, the { schema: Schema } option is required");this.schema=new zt(Object.assign(n,t))}}toJS({json:e,jsonArg:t,mapAsMap:n,maxAliasCount:r,onAnchor:i,reviver:o}={}){const s={anchors:new Map,doc:this,keep:!e,mapAsMap:!0===n,mapKeyWarned:!1,maxAliasCount:"number"==typeof r?r:100},a=ne(this.contents,t??"",s);if("function"==typeof i)for(const{count:e,res:t}of s.anchors.values())i(t,e);return"function"==typeof o?te(o,{"":a},"",a):a}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){const t=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${t}`)}return function(e,t){const n=[];let r=!0===t.directives;if(!1!==t.directives&&e.directives){const t=e.directives.toString(e);t?(n.push(t),r=!0):e.directives.docStart&&(r=!0)}r&&n.push("---");const i=Ne(e,t),{commentString:o}=i.options;if(e.commentBefore){1!==n.length&&n.unshift("");const t=o(e.commentBefore);n.unshift(pe(t,""))}let s=!1,a=null;if(e.contents){if(j(e.contents)){if(e.contents.spaceBefore&&r&&n.push(""),e.contents.commentBefore){const t=o(e.contents.commentBefore);n.push(pe(t,""))}i.forceBlockIndent=!!e.comment,a=e.contents.comment}const t=a?void 0:()=>s=!0;let l=Te(e.contents,i,(()=>a=null),t);a&&(l+=de(l,"",o(a))),"|"!==l[0]&&">"!==l[0]||"---"!==n[n.length-1]?n.push(l):n[n.length-1]=`--- ${l}`}else n.push(Te(e.contents,i));if(e.directives?.docEnd)if(e.comment){const t=o(e.comment);t.includes("\n")?(n.push("..."),n.push(pe(t,""))):n.push(`... ${t}`)}else n.push("...");else{let t=e.comment;t&&s&&(t=t.replace(/^\n+/,"")),t&&(s&&!a||""===n[n.length-1]||n.push(""),n.push(pe(o(t),"")))}return n.join("\n")+"\n"}(this,e)}}function Vt(e){if(M(e))return!0;throw new Error("Expected a YAML collection as document contents")}class Ht extends Error{constructor(e,t,n,r){super(),this.name=e,this.code=n,this.message=r,this.pos=t}}class Gt extends Ht{constructor(e,t,n){super("YAMLParseError",e,t,n)}}class Jt extends Ht{constructor(e,t,n){super("YAMLWarning",e,t,n)}}const Yt=(e,t)=>n=>{if(-1===n.pos[0])return;n.linePos=n.pos.map((e=>t.linePos(e)));const{line:r,col:i}=n.linePos[0];n.message+=` at line ${r}, column ${i}`;let o=i-1,s=e.substring(t.lineStarts[r-1],t.lineStarts[r]).replace(/[\n\r]+$/,"");if(o>=60&&s.length>80){const e=Math.min(o-39,s.length-79);s="…"+s.substring(e),o-=e-1}if(s.length>80&&(s=s.substring(0,79)+"…"),r>1&&/^ *$/.test(s.substring(0,o))){let n=e.substring(t.lineStarts[r-2],t.lineStarts[r-1]);n.length>80&&(n=n.substring(0,79)+"…\n"),s=n+s}if(/[^ ]/.test(s)){let e=1;const t=n.linePos[1];t&&t.line===r&&t.col>i&&(e=Math.max(1,Math.min(t.col-i,80-o)));const a=" ".repeat(o)+"^".repeat(e);n.message+=`:\n\n${s}\n${a}\n`}};function Wt(e,{flow:t,indicator:n,next:r,offset:i,onError:o,parentIndent:s,startOnNewline:a}){let l=!1,c=a,u=a,f="",h="",p=!1,d=!1,m=null,g=null,y=null,v=null,b=null,k=null,w=null;for(const i of e)switch(d&&("space"!==i.type&&"newline"!==i.type&&"comma"!==i.type&&o(i.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),d=!1),m&&(c&&"comment"!==i.type&&"newline"!==i.type&&o(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),m=null),i.type){case"space":t||"doc-start"===n&&"flow-collection"===r?.type||!i.source.includes("\t")||(m=i),u=!0;break;case"comment":{u||o(i,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const e=i.source.substring(1)||" ";f?f+=h+e:f=e,h="",c=!1;break}case"newline":c?f?f+=i.source:k&&"seq-item-ind"===n||(l=!0):h+=i.source,c=!0,p=!0,(g||y)&&(v=i),u=!0;break;case"anchor":g&&o(i,"MULTIPLE_ANCHORS","A node can have at most one anchor"),i.source.endsWith(":")&&o(i.offset+i.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),g=i,null===w&&(w=i.offset),c=!1,u=!1,d=!0;break;case"tag":y&&o(i,"MULTIPLE_TAGS","A node can have at most one tag"),y=i,null===w&&(w=i.offset),c=!1,u=!1,d=!0;break;case n:(g||y)&&o(i,"BAD_PROP_ORDER",`Anchors and tags must be after the ${i.source} indicator`),k&&o(i,"UNEXPECTED_TOKEN",`Unexpected ${i.source} in ${t??"collection"}`),k=i,c="seq-item-ind"===n||"explicit-key-ind"===n,u=!1;break;case"comma":if(t){b&&o(i,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),b=i,c=!1,u=!1;break}default:o(i,"UNEXPECTED_TOKEN",`Unexpected ${i.type} token`),c=!1,u=!1}const x=e[e.length-1],A=x?x.offset+x.source.length:i;return d&&r&&"space"!==r.type&&"newline"!==r.type&&"comma"!==r.type&&("scalar"!==r.type||""!==r.source)&&o(r.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m&&(c&&m.indent<=s||"block-map"===r?.type||"block-seq"===r?.type)&&o(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:b,found:k,spaceBefore:l,comment:f,hasNewline:p,anchor:g,tag:y,newlineAfterProp:v,end:A,start:w??A}}function Xt(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes("\n"))return!0;if(e.end)for(const t of e.end)if("newline"===t.type)return!0;return!1;case"flow-collection":for(const t of e.items){for(const e of t.start)if("newline"===e.type)return!0;if(t.sep)for(const e of t.sep)if("newline"===e.type)return!0;if(Xt(t.key)||Xt(t.value))return!0}return!1;default:return!0}}function Qt(e,t,n){if("flow-collection"===t?.type){const r=t.end[0];if(r.indent===e&&("]"===r.source||"}"===r.source)&&Xt(t)){n(r,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}}function Zt(e,t,n){const{uniqueKeys:r}=e.options;if(!1===r)return!1;const i="function"==typeof r?r:(e,t)=>e===t||R(e)&&R(t)&&e.value===t.value;return t.some((e=>i(e.key,n)))}const en="All mapping items must start at the same column";function tn(e,t,n,r){let i="";if(e){let o=!1,s="";for(const a of e){const{source:e,type:l}=a;switch(l){case"space":o=!0;break;case"comment":{n&&!o&&r(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const t=e.substring(1)||" ";i?i+=s+t:i=t,s="";break}case"newline":i&&(s+=e),o=!0;break;default:r(a,"UNEXPECTED_TOKEN",`Unexpected ${l} at node end`)}t+=e.length}}return{comment:i,offset:t}}const nn="Block collections are not allowed within flow collections",rn=e=>e&&("block-map"===e.type||"block-seq"===e.type);function on(e,t,n,r,i,o){const s="block-map"===n.type?function({composeNode:e,composeEmptyNode:t},n,r,i,o){const s=new(o?.nodeClass??ze)(n.schema);n.atRoot&&(n.atRoot=!1);let a=r.offset,l=null;for(const o of r.items){const{start:c,key:u,sep:f,value:h}=o,p=Wt(c,{indicator:"explicit-key-ind",next:u??f?.[0],offset:a,onError:i,parentIndent:r.indent,startOnNewline:!0}),d=!p.found;if(d){if(u&&("block-seq"===u.type?i(a,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in u&&u.indent!==r.indent&&i(a,"BAD_INDENT",en)),!p.anchor&&!p.tag&&!f){l=p.end,p.comment&&(s.comment?s.comment+="\n"+p.comment:s.comment=p.comment);continue}(p.newlineAfterProp||Xt(u))&&i(u??c[c.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else p.found?.indent!==r.indent&&i(a,"BAD_INDENT",en);n.atKey=!0;const m=p.end,g=u?e(n,u,p,i):t(n,m,c,null,p,i);n.schema.compat&&Qt(r.indent,u,i),n.atKey=!1,Zt(n,s.items,g)&&i(m,"DUPLICATE_KEY","Map keys must be unique");const y=Wt(f??[],{indicator:"map-value-ind",next:h,offset:g.range[2],onError:i,parentIndent:r.indent,startOnNewline:!u||"block-scalar"===u.type});if(a=y.end,y.found){d&&("block-map"!==h?.type||y.hasNewline||i(a,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&p.start0){const e=tn(p,d,n.options.strict,i);e.comment&&(l.comment?l.comment+="\n"+e.comment:l.comment=e.comment),l.range=[r.offset,d,e.offset]}else l.range=[r.offset,d,d];return l}(e,t,n,r,o),a=s.constructor;return"!"===i||i===a.tagName?(s.tag=a.tagName,s):(i&&(s.tag=i),s)}function sn(e,t,n){const r=t.offset,i=function({offset:e,props:t},n,r){if("block-scalar-header"!==t[0].type)return r(t[0],"IMPOSSIBLE","Block scalar header not found"),null;const{source:i}=t[0],o=i[0];let s=0,a="",l=-1;for(let t=1;t=0;--e){const t=s[e][1];if(""!==t&&"\r"!==t)break;a=e}if(0===a){const e="+"===i.chomp&&s.length>0?"\n".repeat(Math.max(1,s.length-1)):"";let n=r+i.length;return t.source&&(n+=t.source.length),{value:e,type:o,comment:i.comment,range:[r,n,n]}}let l=t.indent+i.indent,c=t.offset+i.length,u=0;for(let t=0;tl&&(l=r.length),c+=r.length+o.length+1}for(let e=s.length-1;e>=a;--e)s[e][0].length>l&&(a=e+1);let f="",h="",p=!1;for(let e=0;el||"\t"===r[0]?(" "===h?h="\n":p||"\n"!==h||(h="\n\n"),f+=h+t.slice(l)+r,h="\n",p=!0):""===r?"\n"===h?f+="\n":h="\n":(f+=h+r,h=" ",p=!1)}switch(i.chomp){case"-":break;case"+":for(let e=a;en(r+e,t,i);switch(i){case"scalar":a=ae.PLAIN,l=function(e,t){let n="";switch(e[0]){case"\t":n="a tab character";break;case",":n="flow indicator character ,";break;case"%":n="directive indicator character %";break;case"|":case">":n=`block scalar indicator ${e[0]}`;break;case"@":case"`":n=`reserved character ${e[0]}`}n&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${n}`);return ln(e)}(o,c);break;case"single-quoted-scalar":a=ae.QUOTE_SINGLE,l=function(e,t){"'"===e[e.length-1]&&1!==e.length||t(e.length,"MISSING_CHAR","Missing closing 'quote");return ln(e.slice(1,-1)).replace(/''/g,"'")}(o,c);break;case"double-quoted-scalar":a=ae.QUOTE_DOUBLE,l=function(e,t){let n="";for(let r=1;rt?e.slice(t,r+1):i)}else n+=i}'"'===e[e.length-1]&&1!==e.length||t(e.length,"MISSING_CHAR",'Missing closing "quote');return n}(o,c);break;default:return n(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[r,r+o.length,r+o.length]}}const u=r+o.length,f=tn(s,u,t,n);return{value:l,type:a,comment:f.comment,range:[r,u,f.offset]}}function ln(e){let t,n;try{t=new RegExp("(.*?)(?r(n,"TAG_RESOLVE_FAILED",e))):null;let c,u;c=e.options.stringKeys&&e.atKey?e.schema[T]:l?function(e,t,n,r,i){if("!"===n)return e[T];const o=[];for(const t of e.tags)if(!t.collection&&t.tag===n){if(!t.default||!t.test)return t;o.push(t)}for(const e of o)if(e.test?.test(t))return e;const s=e.knownTags[n];if(s&&!s.collection)return e.tags.push(Object.assign({},s,{default:!1,test:void 0})),s;return i(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,"tag:yaml.org,2002:str"!==n),e[T]}(e.schema,i,l,n,r):"scalar"===t.type?function({atKey:e,directives:t,schema:n},r,i,o){const s=n.tags.find((t=>(!0===t.default||e&&"key"===t.default)&&t.test?.test(r)))||n[T];if(n.compat){const e=n.compat.find((e=>e.default&&e.test?.test(r)))??n[T];if(s.tag!==e.tag){o(i,"TAG_RESOLVE_FAILED",`Value may be parsed as either ${t.tagString(s.tag)} or ${t.tagString(e.tag)}`,!0)}}return s}(e,i,t,r):e.schema[T];try{const o=c.resolve(i,(e=>r(n??t,"TAG_RESOLVE_FAILED",e)),e.options);u=R(o)?o:new ae(o)}catch(e){const o=e instanceof Error?e.message:String(e);r(n??t,"TAG_RESOLVE_FAILED",o),u=new ae(i)}return u.range=a,u.source=i,o&&(u.type=o),l&&(u.tag=l),c.format&&(u.format=c.format),s&&(u.comment=s),u}function pn(e,t,n){if(t){null===n&&(n=t.length);for(let r=n-1;r>=0;--r){let n=t[r];switch(n.type){case"space":case"comment":case"newline":e-=n.source.length;continue}for(n=t[++r];"space"===n?.type;)e+=n.source.length,n=t[++r];break}}return e}const dn={composeNode:mn,composeEmptyNode:gn};function mn(e,t,n,r){const i=e.atKey,{spaceBefore:o,comment:s,anchor:a,tag:l}=n;let c,u=!0;switch(t.type){case"alias":c=function({options:e},{offset:t,source:n,end:r},i){const o=new ie(n.substring(1));""===o.source&&i(t,"BAD_ALIAS","Alias cannot be an empty string");o.source.endsWith(":")&&i(t+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);const s=t+n.length,a=tn(r,s,e.strict,i);o.range=[t,s,a.offset],a.comment&&(o.comment=a.comment);return o}(e,t,r),(a||l)&&r(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":c=hn(e,t,l,r),a&&(c.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":c=function(e,t,n,r,i){const o=r.tag,s=o?t.directives.tagName(o.source,(e=>i(o,"TAG_RESOLVE_FAILED",e))):null;if("block-seq"===n.type){const{anchor:e,newlineAfterProp:t}=r,n=e&&o?e.offset>o.offset?e:o:e??o;n&&(!t||t.offsete.tag===s&&e.collection===a));if(!l){const r=t.schema.knownTags[s];if(!r||r.collection!==a)return r?.collection?i(o,"BAD_COLLECTION_TYPE",`${r.tag} used for ${a} collection, but expects ${r.collection}`,!0):i(o,"TAG_RESOLVE_FAILED",`Unresolved tag: ${s}`,!0),on(e,t,n,i,s);t.schema.tags.push(Object.assign({},r,{default:!1})),l=r}const c=on(e,t,n,i,s,l),u=l.resolve?.(c,(e=>i(o,"TAG_RESOLVE_FAILED",e)),t.options)??c,f=j(u)?u:new ae(u);return f.range=c.range,f.tag=s,l?.format&&(f.format=l.format),f}(dn,e,t,n,r),a&&(c.anchor=a.source.substring(1));break;default:r(t,"UNEXPECTED_TOKEN","error"===t.type?t.message:`Unsupported token (type: ${t.type})`),c=gn(e,t.offset,void 0,null,n,r),u=!1}if(a&&""===c.anchor&&r(a,"BAD_ALIAS","Anchor cannot be an empty string"),i&&e.options.stringKeys&&(!R(c)||"string"!=typeof c.value||c.tag&&"tag:yaml.org,2002:str"!==c.tag)){r(l??t,"NON_STRING_KEY","With stringKeys, all keys must be strings")}return o&&(c.spaceBefore=!0),s&&("scalar"===t.type&&""===t.source?c.comment=s:c.commentBefore=s),e.options.keepSourceTokens&&u&&(c.srcToken=t),c}function gn(e,t,n,r,{spaceBefore:i,comment:o,anchor:s,tag:a,end:l},c){const u=hn(e,{type:"scalar",offset:pn(t,n,r),indent:-1,source:""},a,c);return s&&(u.anchor=s.source.substring(1),""===u.anchor&&c(s,"BAD_ALIAS","Anchor cannot be an empty string")),i&&(u.spaceBefore=!0),o&&(u.comment=o,u.range[2]=l),u}function yn(e){if("number"==typeof e)return[e,e+1];if(Array.isArray(e))return 2===e.length?e:[e[0],e[1]];const{offset:t,source:n}=e;return[t,t+("string"==typeof n?n.length:1)]}function vn(e){let t="",n=!1,r=!1;for(let i=0;i{const i=yn(e);r?this.warnings.push(new Jt(i,t,n)):this.errors.push(new Gt(i,t,n))},this.directives=new X({version:e.version||"1.2"}),this.options=e}decorate(e,t){const{comment:n,afterEmptyLine:r}=vn(this.prelude);if(n){const i=e.contents;if(t)e.comment=e.comment?`${e.comment}\n${n}`:n;else if(r||e.directives.docStart||!i)e.commentBefore=n;else if(M(i)&&!i.flow&&i.items.length>0){let e=i.items[0];B(e)&&(e=e.key);const t=e.commentBefore;e.commentBefore=t?`${n}\n${t}`:n}else{const e=i.commentBefore;i.commentBefore=e?`${n}\n${e}`:n}}t?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:vn(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,n=-1){for(const t of e)yield*this.next(t);yield*this.end(t,n)}*next(e){switch(e.type){case"directive":this.directives.add(e.source,((t,n,r)=>{const i=yn(e);i[0]+=t,this.onError(i,"BAD_DIRECTIVE",n,r)})),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{const t=function(e,t,{offset:n,start:r,value:i,end:o},s){const a=Object.assign({_directives:t},e),l=new Ft(void 0,a),c={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},u=Wt(r,{indicator:"doc-start",next:i??o?.[0],offset:n,onError:s,parentIndent:0,startOnNewline:!0});u.found&&(l.directives.docStart=!0,!i||"block-map"!==i.type&&"block-seq"!==i.type||u.hasNewline||s(u.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),l.contents=i?mn(c,i,u,s):gn(c,u.end,r,null,u,s);const f=l.contents.range[2],h=tn(o,f,!1,s);return h.comment&&(l.comment=h.comment),l.range=[n,f,h.offset],l}(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{const t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,n=new Gt(yn(e),"UNEXPECTED_TOKEN",t);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){const t="Unexpected doc-end without preceding document";this.errors.push(new Gt(yn(e),"UNEXPECTED_TOKEN",t));break}this.doc.directives.docEnd=!0;const t=tn(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){const e=this.doc.comment;this.doc.comment=e?`${e}\n${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new Gt(yn(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){const e=Object.assign({_directives:this.directives},this.options),n=new Ft(void 0,e);this.atDirectives&&this.onError(t,"MISSING_CHAR","Missing directives-end indicator line"),n.range=[0,t,t],this.decorate(n,!1),yield n}}}const kn=Symbol("break visit"),wn=Symbol("skip children"),xn=Symbol("remove item");function An(e,t){"type"in e&&"document"===e.type&&(e={start:e.start,value:e.value}),Sn(Object.freeze([]),e,t)}function Sn(e,t,n){let r=n(t,e);if("symbol"==typeof r)return r;for(const i of["key","value"]){const o=t[i];if(o&&"items"in o){for(let t=0;t{let n=e;for(const[e,r]of t){const t=n?.[e];if(!t||!("items"in t))return;n=t.items[r]}return n},An.parentCollection=(e,t)=>{const n=An.itemAtPath(e,t.slice(0,-1)),r=t[t.length-1][0],i=n?.[r];if(i&&"items"in i)return i;throw new Error("Parent collection not found")};const En="";function Cn(e){switch(e){case void 0:case" ":case"\n":case"\r":case"\t":return!0;default:return!1}}const On=new Set("0123456789ABCDEFabcdef"),Nn=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Tn=new Set(",[]{}"),Ln=new Set(" ,[]{}\n\r\t"),In=e=>!e||Ln.has(e);class qn{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){if(e){if("string"!=typeof e)throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!t;let n=this.next??"stream";for(;n&&(t||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;" "===t||"\t"===t;)t=this.buffer[++e];return!t||"#"===t||"\n"===t||"\r"===t&&"\n"===this.buffer[e+1]}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let n=0;for(;" "===t;)t=this.buffer[++n+e];if("\r"===t){const t=this.buffer[n+e+1];if("\n"===t||!t&&!this.atEnd)return e+n+1}return"\n"===t||n>=this.indentNext||!t&&!this.atEnd?e+n:-1}if("-"===t||"."===t){const t=this.buffer.substr(e,3);if(("---"===t||"..."===t)&&Cn(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return("number"!=typeof e||-1!==e&&ethis.indentValue&&!Cn(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){const[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext("block-start");if(("-"===e||"?"===e||":"===e)&&Cn(t)){const e=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=e,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);const e=this.getLine();if(null===e)return this.setNext("doc");let t=yield*this.pushIndicators();switch(e[t]){case"#":yield*this.pushCount(e.length-t);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(In),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return t+=(yield*this.parseBlockScalarHeader()),t+=(yield*this.pushSpaces(!0)),yield*this.pushCount(e.length-t),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,t,n=-1;do{e=yield*this.pushNewline(),e>0?(t=yield*this.pushSpaces(!1),this.indentValue=n=t):t=0,t+=(yield*this.pushSpaces(!0))}while(e+t>0);const r=this.getLine();if(null===r)return this.setNext("flow");if(-1!==n&&n"0"&&t<="9")this.blockScalarIndent=Number(t)-1;else if("-"!==t)break}return yield*this.pushUntil((e=>Cn(e)||"#"===e))}*parseBlockScalar(){let e,t=this.pos-1,n=0;e:for(let r=this.pos;e=this.buffer[r];++r)switch(e){case" ":n+=1;break;case"\n":t=r,n=0;break;case"\r":{const e=this.buffer[r+1];if(!e&&!this.atEnd)return this.setNext("block-scalar");if("\n"===e)break}default:break e}if(!e&&!this.atEnd)return this.setNext("block-scalar");if(n>=this.indentNext){-1===this.blockScalarIndent?this.indentNext=n:this.indentNext=this.blockScalarIndent+(0===this.indentNext?1:this.indentNext);do{const e=this.continueScalar(t+1);if(-1===e)break;t=this.buffer.indexOf("\n",e)}while(-1!==t);if(-1===t){if(!this.atEnd)return this.setNext("block-scalar");t=this.buffer.length}}let r=t+1;for(e=this.buffer[r];" "===e;)e=this.buffer[++r];if("\t"===e){for(;"\t"===e||" "===e||"\r"===e||"\n"===e;)e=this.buffer[++r];t=r-1}else if(!this.blockScalarKeep)for(;;){let e=t-1,r=this.buffer[e];"\r"===r&&(r=this.buffer[--e]);const i=e;for(;" "===r;)r=this.buffer[--e];if(!("\n"===r&&e>=this.pos&&e+1+n>i))break;t=e}return yield En,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){const e=this.flowLevel>0;let t,n=this.pos-1,r=this.pos-1;for(;t=this.buffer[++r];)if(":"===t){const t=this.buffer[r+1];if(Cn(t)||e&&Tn.has(t))break;n=r}else if(Cn(t)){let i=this.buffer[r+1];if("\r"===t&&("\n"===i?(r+=1,t="\n",i=this.buffer[r+1]):n=r),"#"===i||e&&Tn.has(i))break;if("\n"===t){const e=this.continueScalar(r+1);if(-1===e)break;r=Math.max(r,e-2)}}else{if(e&&Tn.has(t))break;n=r}return t||this.atEnd?(yield En,yield*this.pushToIndex(n+1,!0),e?"flow":"doc"):this.setNext("plain-scalar")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){const n=this.buffer.slice(this.pos,e);return n?(yield n,this.pos+=n.length,n.length):(t&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(In))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{const e=this.flowLevel>0,t=this.charAt(1);if(Cn(t)||e&&Tn.has(t))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if("<"===this.charAt(1)){let e=this.pos+2,t=this.buffer[e];for(;!Cn(t)&&">"!==t;)t=this.buffer[++e];return yield*this.pushToIndex(">"===t?e+1:e,!1)}{let e=this.pos+1,t=this.buffer[e];for(;t;)if(Nn.has(t))t=this.buffer[++e];else{if("%"!==t||!On.has(this.buffer[e+1])||!On.has(this.buffer[e+2]))break;t=this.buffer[e+=3]}return yield*this.pushToIndex(e,!1)}}*pushNewline(){const e=this.buffer[this.pos];return"\n"===e?yield*this.pushCount(1):"\r"===e&&"\n"===this.charAt(1)?yield*this.pushCount(2):0}*pushSpaces(e){let t,n=this.pos-1;do{t=this.buffer[++n]}while(" "===t||e&&"\t"===t);const r=n-this.pos;return r>0&&(yield this.buffer.substr(this.pos,r),this.pos=n),r}*pushUntil(e){let t=this.pos,n=this.buffer[t];for(;!e(n);)n=this.buffer[++t];return yield*this.pushToIndex(t,!1)}}function Dn(e,t){for(let n=0;n=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;"space"===e[++t]?.type;);return e.splice(t,e.length)}function Mn(e){if("flow-seq-start"===e.start.type)for(const t of e.items)!t.sep||t.value||Dn(t.start,"explicit-key-ind")||Dn(t.sep,"map-value-ind")||(t.key&&(t.value=t.key),delete t.key,Bn(t.value)?t.value.end?Array.prototype.push.apply(t.value.end,t.sep):t.value.end=t.sep:Array.prototype.push.apply(t.start,t.sep),delete t.sep)}class jn{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new qn,this.onNewLine=e}*parse(e,t=!1){this.onNewLine&&0===this.offset&&this.onNewLine(0);for(const n of this.lexer.lex(e,t))yield*this.next(n);t||(yield*this.end())}*next(e){if(this.source=e,this.atScalar)return this.atScalar=!1,yield*this.step(),void(this.offset+=e.length);const t=function(e){switch(e){case"\ufeff":return"byte-order-mark";case"":return"doc-mode";case"":return"flow-error-end";case En:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case"\n":case"\r\n":return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case"\t":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}(e);if(t)if("scalar"===t)this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=t,yield*this.step(),t){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&" "===e[0]&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{const t=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:t,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){const e=this.peek(1);if("doc-end"!==this.type||e&&"doc-end"===e.type){if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}else{for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source})}}peek(e){return this.stack[this.stack.length-e]}*pop(e){const t=e??this.stack.pop();if(t)if(0===this.stack.length)yield t;else{const e=this.peek(1);switch("block-scalar"===t.type?t.indent="indent"in e?e.indent:0:"flow-collection"===t.type&&"document"===e.type&&(t.indent=0),"flow-collection"===t.type&&Mn(t),e.type){case"document":e.value=t;break;case"block-scalar":e.props.push(t);break;case"block-map":{const n=e.items[e.items.length-1];if(n.value)return e.items.push({start:[],key:t,sep:[]}),void(this.onKeyLine=!0);if(!n.sep)return Object.assign(n,{key:t,sep:[]}),void(this.onKeyLine=!n.explicitKey);n.value=t;break}case"block-seq":{const n=e.items[e.items.length-1];n.value?e.items.push({start:[],value:t}):n.value=t;break}case"flow-collection":{const n=e.items[e.items.length-1];return void(!n||n.value?e.items.push({start:[],key:t,sep:[]}):n.sep?n.value=t:Object.assign(n,{key:t,sep:[]}))}default:yield*this.pop(),yield*this.pop(t)}if(!("document"!==e.type&&"block-map"!==e.type&&"block-seq"!==e.type||"block-map"!==t.type&&"block-seq"!==t.type)){const n=t.items[t.items.length-1];n&&!n.sep&&!n.value&&n.start.length>0&&-1===Pn(n.start)&&(0===t.indent||n.start.every((e=>"comment"!==e.type||e.indent=e.indent){const n=!this.onKeyLine&&this.indent===e.indent,r=n&&(t.sep||t.explicitKey)&&"seq-item-ind"!==this.type;let i=[];if(r&&t.sep&&!t.value){const n=[];for(let r=0;re.indent&&(n.length=0);break;default:n.length=0}}n.length>=2&&(i=t.sep.splice(n[1]))}switch(this.type){case"anchor":case"tag":return void(r||t.value?(i.push(this.sourceToken),e.items.push({start:i}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken));case"explicit-key-ind":return t.sep||t.explicitKey?r||t.value?(i.push(this.sourceToken),e.items.push({start:i,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}):(t.start.push(this.sourceToken),t.explicitKey=!0),void(this.onKeyLine=!0);case"map-value-ind":if(t.explicitKey)if(t.sep)if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Dn(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(Bn(t.key)&&!Dn(t.sep,"newline")){const e=$n(t.start),n=t.key,r=t.sep;r.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:n,sep:r}]})}else i.length>0?t.sep=t.sep.concat(i,this.sourceToken):t.sep.push(this.sourceToken);else if(Dn(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{const e=$n(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]})}else t.sep?t.value||r?e.items.push({start:i,key:null,sep:[this.sourceToken]}):Dn(t.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return void(this.onKeyLine=!0);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const n=this.flowScalar(this.type);return void(r||t.value?(e.items.push({start:i,key:n,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(n):(Object.assign(t,{key:n,sep:[]}),this.onKeyLine=!0))}default:{const t=this.startBlockValue(e);if(t)return n&&"block-seq"!==t.type&&e.items.push({start:i}),void this.stack.push(t)}}}yield*this.pop(),yield*this.step()}*blockSequence(e){const t=e.items[e.items.length-1];switch(this.type){case"newline":if(t.value){const n="end"in t.value?t.value.end:void 0,r=Array.isArray(n)?n[n.length-1]:void 0;"comment"===r?.type?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){const n=e.items[e.items.length-2],r=n?.value?.end;if(Array.isArray(r))return Array.prototype.push.apply(r,t.start),r.push(this.sourceToken),void e.items.pop()}t.start.push(this.sourceToken)}return;case"anchor":case"tag":if(t.value||this.indent<=e.indent)break;return void t.start.push(this.sourceToken);case"seq-item-ind":if(this.indent!==e.indent)break;return void(t.value||Dn(t.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken))}if(this.indent>e.indent){const t=this.startBlockValue(e);if(t)return void this.stack.push(t)}yield*this.pop(),yield*this.step()}*flowCollection(e){const t=e.items[e.items.length-1];if("flow-error-end"===this.type){let e;do{yield*this.pop(),e=this.peek(1)}while(e&&"flow-collection"===e.type)}else if(0===e.end.length){switch(this.type){case"comma":case"explicit-key-ind":return void(!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken));case"map-value-ind":return void(!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]}));case"space":case"comment":case"newline":case"anchor":case"tag":return void(!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken));case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const n=this.flowScalar(this.type);return void(!t||t.value?e.items.push({start:[],key:n,sep:[]}):t.sep?this.stack.push(n):Object.assign(t,{key:n,sep:[]}))}case"flow-map-end":case"flow-seq-end":return void e.end.push(this.sourceToken)}const n=this.startBlockValue(e);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{const t=this.peek(2);if("block-map"===t.type&&("map-value-ind"===this.type&&t.indent===e.indent||"newline"===this.type&&!t.items[t.items.length-1].sep))yield*this.pop(),yield*this.step();else if("map-value-ind"===this.type&&"flow-collection"!==t.type){const n=$n(Rn(t));Mn(e);const r=e.end.splice(1,e.end.length);r.push(this.sourceToken);const i={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:n,key:e,sep:r}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let e=this.source.indexOf("\n")+1;for(;0!==e;)this.onNewLine(this.offset+e),e=this.source.indexOf("\n",e)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const t=$n(Rn(e));return t.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:t,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const t=$n(Rn(e));return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:t,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return"comment"===this.type&&(!(this.indent<=t)&&e.every((e=>"newline"===e.type||"space"===e.type)))}*documentEnd(e){"doc-mode"!==this.type&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop())}}}class Un{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,n=this.lineStarts.length;for(;t>1;this.lineStarts[r]Le(i.options.logLevel,e))),i.errors.length>0){if("silent"!==i.options.logLevel)throw i.errors[0];i.errors=[]}return i.toJS(Object.assign({reviver:r},n))}var zn=n(9650),Fn=n(6658),Vn=n(1039),Hn=n(6859),Gn=n(7497),Jn=n(7194),Yn=n(4297),Wn=n(7824),Xn=n(7583),Qn=n(942),Zn={}.hasOwnProperty,er=!1;function tr(e,t){var n=function(e,t){var n=t||{};void 0===n.allowDangerousHTML||er||(er=!0,console.warn("mdast-util-to-hast: deprecation: `allowDangerousHTML` is nonstandard, use `allowDangerousHtml` instead"));var r=n.allowDangerousHtml||n.allowDangerousHTML,i={};return s.dangerous=r,s.definition=n.definitions||Gn(e),s.footnoteById=i,s.footnoteOrder=[],s.augment=o,s.handlers=Object.assign({},Qn,n.handlers),s.unknownHandler=n.unknownHandler,s.passThrough=n.passThrough,Fn(e,"footnoteDefinition",(function(e){var t=String(e.identifier).toUpperCase();Zn.call(i,t)||(i[t]=e)})),s;function o(e,t){var n,r;return e&&e.data&&((n=e.data).hName&&("element"!==t.type&&(t={type:"element",tagName:"",properties:{},children:[]}),t.tagName=n.hName),"element"===t.type&&n.hProperties&&(t.properties=Object.assign({},t.properties,n.hProperties)),t.children&&n.hChildren&&(t.children=n.hChildren)),r=e&&e.position?e:{position:e},Hn(r)||(t.position={start:Vn.start(r),end:Vn.end(r)}),t}function s(e,t,n,r){return null==r&&"object"==typeof n&&"length"in n&&(r=n,n={}),o(e,{type:"element",tagName:t,properties:n||{},children:r||[]})}}(e,t),r=Jn(n,e),i=Xn(n);return i&&(r.children=r.children.concat(zn("text","\n"),i)),r}var nr=32,rr=91;function ir(e,t,n,r){for(var i=e.length,o=-1;++o?@^`{|}~\[\]\\\s]+/;var ar=a;ar.globalOptions={breaks:!0,commonmark:!0};var lr=new l,cr=new l,ur={};function fr(e){var t=S()(e),n=new ar(String(t),t);n.setOptions(ar.globalOptions);for(var r=n.parse(),i=0,o=lr.transformers;i57))||f&&36===o){if(a=p-1,p++,f)for(var d=++p;dh&&32===t.charCodeAt(s-1);)s--;for(;s>h&&36===t.charCodeAt(s-1);)f++,s--;for(l<=f&&t.indexOf("$",h)===s&&(u=!0,p=s);h<=p&&h-mh&&32===t.charCodeAt(p-1);)p--;if(u&&h===p||i.push(t.slice(h,p)),u)break;m=o+1,o=-1===(o=t.indexOf("\n",m+1))?d:o}return i=i.join("\n"),e(t.slice(0,o))({type:"math",value:i,data:{hName:"div",hProperties:{className:"math math-block"},hChildren:[{type:"text",value:i}]}})}}}));var t=e.prototype;f(t.interruptParagraph,"fencedCode","math"),f(t.interruptList,"fencedCode","math"),f(t.interruptBlockquote,"fencedCode","math")}(ar),function(e){for(var t=e.prototype,n=t.blockMethods,r=[],i=0;i4&&(p=void 0,d=w);else{if(p<4&&g&&(g.contentStart===g.contentEnd||ir(v,s,y,[e,t.slice(w,1024),!0])))break;p=void 0,d=w}w++}for(w=-1,k=m.length;k>0&&(g=m[k-1]).contentStart===g.contentEnd;)k--;for(c=e(t.slice(0,g.contentEnd));++w0&&(l+="-"+n),e.type="fnRef",e.data={hName:"sup",hProperties:{className:"footnote-ref","data-footnote-id":"fnref-"+l}},!e.identifier&&e.hasOwnProperty("children")){var c=e.children,u=null===(i=null===(r=c[0])||void 0===r?void 0:r.position)||void 0===i?void 0:i.start,f=null===(s=null===(o=c[c.length-1])||void 0===o?void 0:o.position)||void 0===s?void 0:s.end;u&&f&&(e.data.contentPosition={start:u,end:f},e.identifier="".concat("[inline").concat(t))}e.children=[{type:"element",data:{hName:"a",hProperties:{className:"footnote-link",href:"#fn-"+a,"data-footref":e.identifier},hChildren:[{type:"text",value:"["+l+"]"}]}}]}h(e,"footnoteDefinition",(function(e){var t=String(e.identifier);r[":"+t]=-1,n[":"+t]={children:e.children,position:e.position}})),h(e,["footnote","footnoteReference"],(function(e){if("footnote"===e.type){var o=t.length,s=String(o);t.push({count:1,identifier:s}),n[s]={children:e.children,position:e.position,isInline:!e.identifier&&e.hasOwnProperty("children")},i(e,o,0)}else{s=String(e.identifier);if(!r.hasOwnProperty(":"+s))return e.type="text",void(e.value=s);-1===(o=r[":"+s])&&(o=t.length,r[":"+s]=o,t.push({count:0,identifier:":"+s}));var a=t[o],l=a.count;a.count++,i(e,o,l)}}));for(var o=[],s=0;s0&&(d+="-"+p),c.push({type:"element",data:{hName:"a",hProperties:{className:"footnote-backref footnote-link",href:"#fnref-"+d},hChildren:[{type:"text",value:"↩︎"}]}})}o.push({type:"listItem",synthetic:!0,data:{hProperties:{"data-footnote-id":"fn-"+f},isInline:l.isInline},children:[{type:"paragraph",children:l.children}],position:l.position})}}if(0!==o.length){var m,g=e.children[e.children.length-1],y={start:m=g?{line:g.position.end.line+1,column:1,offset:g.position.end.offset}:{line:1,column:1,offset:0},end:m};e.children=e.children.concat({type:"text",value:"\n",position:y},{type:"element",position:y,data:{hName:"section",hProperties:{className:"footnotes"}},children:[{type:"thematicBreak",position:y},{type:"list",position:y,ordered:!0,start:1,spread:!1,children:o}]})}}))}(lr),function(e){e.addTransformer((function(e){h(e,"image",(function(e){var t=e.alt;if(t){var n=t.lastIndexOf("|");if(-1!==n)or(t.substr(n+1),e)&&(e.alt=t.substr(0,n))}}))}))}(lr),function(e){e.addTransformer((function(e){h(e,"iembed",(function(e){var t=e.title;if(t){var n=t.lastIndexOf("|");if(-1!==n)or(t.substr(n+1),e)&&(t=t.substr(0,n));else or(t,e)&&(t="");t||(t=e.href),e.data.hProperties.alt=t}}))}))}(lr),function(e,t){t.blockid=function(){return null},e.addTransformer((function(e){for(var t,n=e.children,r=function(e){var r=n[e];if("blockid"===r.type){if(e>0)n[e-1].id=r.id;return n.splice(e,1),e--,t=e,"continue"}if("list"===r.type)return h(r,"listItem",(function(e){var t=null;h(e,["list","blockid"],(function(e){return"list"===e.type?"skip":(t=e.id,!1)})),t&&(e.id=t)})),t=e,"continue";var i=null;h(r,"blockid",(function(e){i=e.id})),i&&(r.id=i),t=e},i=0;i0&&n.push({type:"callout-content",position:{start:l[0].position.start,end:l[l.length-1].position.end},children:l})}else{n.push({type:"callout-title",position:i.position,children:[i]});var c=r[1];if(c){var u=c.position.start,f=r[r.length-1].position.end;n.push({type:"callout-content",position:{start:u,end:f},children:r.slice(1)})}}else{var h={start:e.position.start,end:e.position.start},p=t.type.trim().replace(/\-/g," ").toLowerCase();p=p.charAt(0).toUpperCase()+p.substr(1),n.push({type:"callout-title",position:h,children:[{type:"text",value:p,position:h}]}),i&&n.push({type:"callout-content",position:e.position,children:r})}e.children=n}}))}))}(lr,ur),function(e){function t(e){var t=e.properties;if(t&&!t.className){t.className="external-link",t.target="_blank",t.rel="noopener nofollow";var n="",r=e.children;r&&r.length>0&&(n=r[0].value),t.href!==n&&(t["aria-label"]=t.href,t["data-tooltip-position"]="top")}}e.addTransformer((function(e){h(e,{type:"element",tagName:"a"},t)}))}(cr),function(e,t){t.yaml=function(e,t){var n=t.value||"";return e(t.position,"pre",{className:"frontmatter"},[e(t,"code",{className:"language-yaml"},[s("text",n)])])}}(0,ur),function(e,t){var n=/^%%(.+?)%%/;c(e,"comment","text",(function(e,t,r){var i=n.exec(t);if(i){if(r)return!0;var o=e.now();return o.column+=2,o.offset+=2,e(i[0])({type:"comment",children:this.tokenizeInline(i[1],o)})}}),(function(e,t){return e.indexOf("%%",t)})),t.comment=function(){return null},u(e,"comment","fencedCode",(function(e,t,n){for(var r=t.length,i=0;i1)for(var b=v.length-1;b>=0;b--){var k=v[b];if("list"!==k.type){y.end=gr(k.position.end);break}k.listParentPosition=r.position}var w=0;"list"===o.type&&(o.listParentPosition?w=o.listParentPosition.start.line-1:0==(w=-(o.position.start.line-1))&&(w=-1));var x={position:y,parent:w},A=r.checklist;"string"==typeof A&&(x.task=A),(c=r.id)&&"string"==typeof c&&(x.id=c,n.blocks[c.toLowerCase()]={position:y,id:c}),n.listItems.push(x)}})),0===n.links.length&&delete n.links,0===n.embeds.length&&delete n.embeds,0===n.tags.length&&delete n.tags,0===n.headings.length&&delete n.headings,0===n.footnotes.length&&delete n.footnotes,0===n.footnoteRefs.length&&delete n.footnoteRefs,0===n.referenceLinks.length&&delete n.referenceLinks,(0===n.sections.length||t)&&delete n.sections,0===n.listItems.length&&delete n.listItems,0===Object.keys(n.blocks).length&&delete n.blocks,n}((new TextDecoder).decode(e)))}(t.metadataCache);if(t.hasOwnProperty("parseSections"))return n=t.parseSections,r=t.options,ar.globalOptions=r||{},void kr(br(n))}catch(e){console.error("AppWorker exception",e)}var n,r;kr(null)}})()})();
  • '):e}))}setTimeout((function(){n.checked=s;var e=n.parentNode;e&&e.instanceOf(HTMLLIElement)&&(e.setAttr("data-task",o.char),e.toggleClass("is-checked",s))}),0)}this.edit(o.text)}},t.toggleCheckbox=function(e,t){var n=bv(e,t);if(!n)return null;var i=e.slice(n.start,n.end).search(/\[.\]/);if(-1===i)return null;var r=n.start+i+1,o=" "===e.charAt(r)?"x":" ";return{text:e.slice(0,r)+o+e.slice(r+1),char:o}},t.prototype.postProcess=function(e,t,n){var i=this,r=qR.postProcess(this.app,{docId:this.docId,sourcePath:this.path,frontmatter:n,promises:t,addChild:function(e){return i.addChild(e)},getSectionInfo:function(e){return i.renderer.getSectionInfo(e)},replace:function(t,n){var r=i.renderer.text,o=e.start,a=e.end,s=r.slice(0,o.offset)+t+r.slice(a.offset);if(n){var l=RN(t);1===l.sections.length&&(e.html=l.sections[0].html)}i.edit(s)},containerEl:this.renderer.sizerEl,el:e.el});e.usesFrontMatter=!!r.usesFrontMatter,this.resolveLinks(e.el)},t.prototype.onScroll=function(){},t.prototype.onFoldChange=function(){},t.prototype.onRenderComplete=function(){},Object.defineProperty(t.prototype,"path",{get:function(){var e;return(null===(e=this.file)||void 0===e?void 0:e.path)||""},enumerable:!1,configurable:!0}),t.prototype.onFileChange=function(e){this.requestUpdateLinks()},t.prototype.resolveLinks=function(e){var t=this;BR(this.app,e,this.path,(function(e){return t.renderer.getInternalLinkHref(e)}))},t.postProcess=function(e,t){for(var n=t.sourcePath,i=t.promises,r=t.el,o=t.displayMode,a=0,s=r.findAll("code.language-query");a0)for(var v=0,g=m;v0)for(var y=0,b=g;y0?Promise.all(h).then():Promise.resolve()},t}(dR);function HR(e,t,n,i){var r=createDiv("internal-query");n.replaceWith(r),r.createDiv("internal-query-header",(function(e){e.createSpan("internal-query-header-icon",(function(e){return Km(e,"lucide-search")})),e.createSpan({cls:"internal-query-header-title",text:t})}));var o=r.createDiv("search-result-container");return new WR(e,o,t,i)}var zR=function(e){function t(t,n,i){var r=e.call(this)||this;return r.hoverPopover=null,r.app=t.app,r.containerEl=t.containerEl,r.containerEl.addClass("markdown-embed"),r.file=n,r.subpath=i,t.showInline&&(r.containerEl.addClass("inline-embed"),r.headerEl=r.containerEl.createDiv({cls:"markdown-embed-title",prepend:!0})),r}return m(t,e),t.prototype.loadFile=function(){return y(this,void 0,Promise,(function(){var e,t,n,i,r,o,a,s,l,c,u,h,p,d,f,m=this;return b(this,(function(v){switch(v.label){case 0:return t=(e=this).app,n=e.file,i=e.subpath,r=t.metadataCache.getFileCache(n),o=bS(r,i),[4,t.vault.cachedRead(n)];case 1:return a=v.sent(),o&&(a=wS(a,r,o).content),s=IE(a),l=BE(s),c=VE(s),u=MM(c),i||null===(f=this.headerEl)||void 0===f||f.setText(n.basename),(h=this.containerEl.createDiv("markdown-preview-view markdown-rendered")).toggleClass("rtl",t.vault.getConfig("rightToLeft")),h.toggleClass("show-indentation-guide",t.vault.getConfig("showIndentGuide")),h.appendChild(u),p=new NR(this),bR.registerDomEvents(h,p),d=[],qR.postProcess(this.app,{docId:cc(16),sourcePath:n.path,frontmatter:l,promises:d,addChild:function(e){return m.addChild(e)},getSectionInfo:function(){return null},replace:function(){return null},containerEl:h,el:h,displayMode:!0}),d.length>0?[4,Promise.all(d)]:[3,3];case 2:v.sent(),v.label=3;case 3:return[2]}}))}))},Object.defineProperty(t.prototype,"path",{get:function(){var e;return(null===(e=this.file)||void 0===e?void 0:e.path)||""},enumerable:!1,configurable:!0}),t}(Fm),qR=function(e){function t(t){var n=this,i=t.contentEl.createDiv("markdown-reading-view");i.style.width="100%",i.style.height="100%",(n=e.call(this,t.app,i)||this).search=null,n.type="preview",n.view=t;var r=n.renderer;return r.addBottomPadding=!0,n.updateReadableLineLength(),n.updateFoldHeading(),n.updateFoldIndent(),n.updateIndentGuide(),n.updateRTL(),n.updatePropertiesInDocument(),n.updateStrictLineBreaks(),n.updateOptions(),n.onResize(),n.onFoldChange=wc((function(){return n.view.onMarkdownFold()}),500),r.addHeader(),r.addFooter(),i.addEventListener("keydown",(function(e){var t;if(!e.defaultPrevented&&!e.isComposing&&e.targetNode===r.previewEl&&Ag.isModifier(e,"Mod")){if("a"===e.key)return e.preventDefault(),new vx(lm.interface.menu.msgMarkdownCopyInstructions({key:Mg.Mod})),!1;if("c"===e.key&&!(null===(t=e.win.getSelection())||void 0===t?void 0:t.toString()))return e.preventDefault(),Ec(n.get()),new vx(lm.interface.copied({context:"generic"})).containerEl.addClass("mod-success"),!1}})),i.addEventListener("contextmenu",(function(e){e.defaultPrevented||!e.isTrusted||e.instanceOf(PointerEvent)&&"touch"===e.pointerType||Yl.isMobile&&window.getSelection()&&!window.getSelection().isCollapsed||r.sizerEl.contains(e.targetNode)||n.app.workspace.trigger("markdown-viewport-menu",Ng.forEvent(e).addSections(["view",""]),t,"preview","gutter")})),n}return m(t,e),t.prototype.onload=function(){var e=this;this.registerEvent(this.app.workspace.on("post-processor-change",(function(){return e.rerender(!0)}))),this.registerEvent(this.app.vault.on("config-changed",this.onConfigChanged,this))},Object.defineProperty(t.prototype,"file",{get:function(){return this.view.file},enumerable:!1,configurable:!0}),t.prototype.show=function(){this.renderer.header.el.appendChild(this.view.inlineTitleEl),this.renderer.header.el.appendChild(this.view.metadataEditor.containerEl),this.renderer.footer.el.appendChild(this.view.backlinksEl),this.containerEl.show(),this.search&&this.view.replaceScope(this.search.scope)},t.prototype.hide=function(){this.containerEl.hide(),this.search&&this.view.replaceScope(null)},t.prototype.get=function(){return this.renderer.text},t.prototype.set=function(e,t){t&&this.clear(),this.renderer.set(e)},t.prototype.clear=function(){this.renderer.clear()},t.prototype.beforeUnload=function(){},t.prototype.rerender=function(e){this.renderer.rerender(e)},t.prototype.getEphemeralState=function(e){},t.prototype.setEphemeralState=function(e){var t=this;if(e.focusMetadata)this.view.metadataEditor.focusPropertyAtIndex(0);else if(e.focus){var n=this.renderer.previewEl;n.tabIndex=-1,n.focus({preventScroll:!0})}e.hasOwnProperty("scroll")&&this.renderer.applyScrollDelayed(e.scroll);var i=function(){return t.view.syncScroll()};if(void 0!==e.line&&e.line>=0&&this.renderer.applyScrollDelayed(e.line,{highlight:!0},i),void 0!==e.propertyMatches){var r=e.propertyMatches;r.length>0&&this.view.canShowProperties()&&y(t,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return[4,CD(this.app)];case 1:return(e=t.sent())&&cg(e.containerEl,(function(){e.focusProperty(r[0].key)})),[2]}}))}))}else if(void 0!==e.match){var o=e.match,a=o.content,s=o.matches;if(s.length>0){var l=uc(a,s[0][0]);this.renderer.applyScrollDelayed(l,{center:!0,highlight:!0},i)}}},t.prototype.getScroll=function(){return this.renderer.getScroll()},t.prototype.applyScroll=function(e){this.renderer.applyScroll(e)},t.prototype.getFoldInfo=function(){return this.renderer.getFoldInfo()},t.prototype.applyFoldInfo=function(e){this.renderer.applyFoldInfo(e)},t.prototype.onResize=function(){this.renderer.onResize(),null!==this.view.scroll&&this.renderer.applyScrollDelayed(this.view.scroll)},t.prototype.showSearch=function(){var e=this;if(!this.search){var t=this.search=new NN(this.view.scope,this.renderer,this.containerEl,(function(){e.search=null,e.view.replaceScope(null)}));this.view.replaceScope(t.scope)}this.search.searchInputEl.focus(),this.search.searchInputEl.select()},t.prototype.updateReadableLineLength=function(){var e=this.app.vault.getConfig("readableLineLength");this.renderer.previewEl.toggleClass("is-readable-line-width",e)},t.prototype.updateFoldHeading=function(){var e=this.app.vault.getConfig("foldHeading");this.renderer.previewEl.toggleClass("allow-fold-headings",e),e||this.renderer.unfoldAllHeadings()},t.prototype.updateFoldIndent=function(){var e=this.app.vault.getConfig("foldIndent");this.renderer.previewEl.toggleClass("allow-fold-lists",e),e||this.renderer.unfoldAllLists()},t.prototype.updateIndentGuide=function(){var e=this.app.vault.getConfig("showIndentGuide");this.renderer.previewEl.toggleClass("show-indentation-guide",e)},t.prototype.updateRTL=function(){this.renderer.previewEl.toggleClass("rtl",this.app.vault.getConfig("rightToLeft"))},t.prototype.updatePropertiesInDocument=function(){this.renderer.previewEl.toggleClass("show-properties","hidden"!==this.app.vault.getConfig("propertiesInDocument"))},t.prototype.updateStrictLineBreaks=function(){DE.globalOptions.breaks=!this.app.vault.getConfig("strictLineBreaks"),this.rerender()},t.prototype.onConfigChanged=function(e){switch(e){case"readableLineLength":this.updateReadableLineLength();break;case"foldHeading":this.updateFoldHeading();break;case"foldIndent":this.updateFoldIndent();break;case"showIndentGuide":this.updateIndentGuide();break;case"rightToLeft":this.updateRTL();break;case"propertiesInDocument":this.updatePropertiesInDocument();break;case"strictLineBreaks":this.updateStrictLineBreaks()}},t.prototype.updateOptions=function(){},t.prototype.edit=function(e){var t=this;this.renderer.set(e),this.view.onInternalDataChange(),y(t,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,this.view.save()];case 1:return e.sent(),[2]}}))}))},t.prototype.onScroll=function(){Date.now()-this.renderer.lastRender<100||this.view.syncScroll()},t.prototype.onRenderComplete=function(){e.prototype.onRenderComplete.call(this),this.search&&null===this.search.highlightRanges&&this.search.updateQuery()},t.prototype.foldAll=function(){var e=this.app.vault,t=e.getConfig("foldHeading"),n=e.getConfig("foldIndent");t&&this.renderer.foldAllHeadings(),n&&this.renderer.foldAllLists()},t.prototype.unfoldAll=function(){var e=this.app.vault,t=e.getConfig("foldHeading"),n=e.getConfig("foldIndent");t&&this.renderer.unfoldAllHeadings(),n&&this.renderer.unfoldAllLists()},t.prototype.getSelection=function(){return window.getSelection().toString()},t}(VR),WR=function(e){function t(t,n,i,r){var o=e.call(this,n)||this;return o.searchQuery=null,o.app=t,o.query=i,o.sourcePath=r,o.dom=new FN(t,n,lm.plugins.search.labelNoMatches()),o.queue=new OR(t,o.dom),o.addChild(o.queue),o}return m(t,e),t.prototype.onload=function(){var e=this,t=e.app,n=e.dom,i=e.sourcePath;n.emptyResults();try{var r=new uN(t,this.query.replace(/\r?\n/g," "),!1);if(!r.matcher)return;this.searchQuery=r;var o=this.queue.start();hN(t,r.requiredInputs,o,(function(e,t){e.path===i&&(t=t.replace(/```query([\s\S]*?)(```|$)/g,(function(e){return e.replace(/./g," ")})));var o=r.match(e,t);o?n.addResult(e,o,t):n.removeResult(e)}))}catch(e){console.log(e)}},t.prototype.onResize=function(){this.dom.onResize()},t}(dR);function jR(e,t){return e.length===t.length?e.eq(t):e.length0;if("mouse"===e.pointerType){if(r&&!t.selectedCells.contains(i))return t.deselectCells(),t.setCellFocus(i.row,i.col),void t.editor.tableCell.onContextMenu(e);if(!r&&(null==n?void 0:n.cell)===i){if(n.cm.hasFocus)return;return n.cm.focus(),void n.onContextMenu(e)}t.onContextMenu(i,Ng.forEvent(e))}else r&&t.selectedCells.contains(i)&&t.onContextMenu(i,Ng.forEvent(e))}})),e.addEventListener("dragenter",(function(){var e,t=i.table;(null===(e=t.editor.tableCell)||void 0===e?void 0:e.cell)!==i&&t.editor.editTableCell(t,i)})),e.addEventListener("dragleave",(function(t){var n,r=i.table.editor;!Av(t,e)&&(null===(n=r.tableCell)||void 0===n?void 0:n.cell)===i&&r.destroyTableCell()})),e.addEventListener("pointerdown",(function(e){var t=i.table;if(2===e.button&&t.selectedCells.contains(i)&&e.preventDefault(),e.isPrimary&&0===e.button&&!e.defaultPrevented){var n=e.win,r=i,o=i,a=t.isMalformed,s=function(){a&&!t.isMalformed&&(r=t.getCellAt(r.row,r.col),o=t.getCellAt(o.row,o.col),a=!1),t.selectCells(r,o)},l=function(){var n;if(r!==(null===(n=t.editor.tableCell)||void 0===n?void 0:n.cell)){var i=function(e){var t=e.win.getSelection(),n={x:e.clientX,y:e.clientY};if(t.rangeCount<1)return{head:n,anchor:n};var i=t.getRangeAt(0).getClientRects();if(0===i.length)return{head:n,anchor:n};var r="rtl"===yv(t.toString()),o=i[0],a=i[i.length-1],s={x:r?o.right:o.left,y:o.y+o.height/2},l={x:r?a.left:a.right,y:a.y+a.height/2};return Rl(n,s)>Rl(n,l)?{head:l,anchor:s}:{head:s,anchor:l}}(e);t.setCellFocus(r.row,r.col,(function(e){return s(),pe.single(e.posAtCoords(i.anchor),e.posAtCoords(i.head))}))}},c=t.editor.tableCell;c&&e.shiftKey&&(r=c.cell,o=i);var u,h="touch"===e.pointerType;if(h){if(c){var p=c.cm,d=p.state.selection.main;if(p.hasFocus&&p.contentDOM.contains(e.targetNode)&&d.empty)return void i.handleMobileCaretDrag(e,r)}}else s();var f=function(e){m(),e.defaultPrevented||(e.preventDefault(),l())};n.addEventListener("click",f);var m=function(){n.removeEventListener("click",f),n.clearTimeout(u)},v=Ol(e),g=fg(e,(function(){return{move:function(e){h?Rl(Ol(e),v)>5&&(m(),g()):(o=t.getClosestCell(e.clientX,e.clientY),s())},end:function(e){"dragstart"!==e.type&&(u=n.setTimeout((function(){l()}),10))},cancel:function(){m()}}}),0)}}))},e.prototype.handleMobileCaretDrag=function(e,t){var n,i=this.table,r=i.containerEl,o=i.editor,a=e.win,s=e.pointerId,l=o.cm.scrollDOM,c=null,u=0,h=function(e){var o=0===u?50:e-u;c=a.requestAnimationFrame(h),u=e;var s=pg(r,n,o,1),p=pg(l,n,o,1);if(s||p){var d=i.getClosestCell(n.x,n.y);i.selectCells(t,d)}};if(Yl.isIosApp){var p=Date.now(),d=function(e){if(e.pointerId===s&&!(Date.now()-p<200)){n=Ol(e),c||(c=a.requestAnimationFrame(h));var r=i.getClosestCell(n.x,n.y);i.selectCells(t,r)}},f=function(e){e.pointerId===s&&(v(),i.selectedCells.length&&i.editor.destroyTableCell())},m=function(e){e.pointerId===s&&v()},v=function(){a.cancelAnimationFrame(c),a.removeEventListener("pointermove",d),a.removeEventListener("pointerup",f),a.removeEventListener("pointercancel",m)};return a.addEventListener("pointermove",d),a.addEventListener("pointerup",f),void a.addEventListener("pointercancel",m)}if(Yl.isAndroidApp){var g=0,y=!1,b=0,w=l.scrollTop,k=r.scrollLeft,C=function(e){1===e.touches.length&&(g=e.touches[0].identifier)},E=function(e){var o=Wc(e,g);if(o)if(y||w===l.scrollTop&&k===r.scrollLeft){n=Ol(o);var s=i.getClosestCell(n.x,n.y);s!==t&&!y&&b>0&&Date.now()-b>50&&(y=!0,c||(c=a.requestAnimationFrame(h))),y&&i.selectCells(t,s)}else T()},S=function(e){Wc(e,g)&&(T(),i.selectedCells.length&&i.editor.destroyTableCell())},M=function(e){Wc(e,g)&&T()},x=function(e){e.pointerId===s&&(b=Date.now())},T=function(){a.cancelAnimationFrame(c),a.removeEventListener("touchstart",C),a.removeEventListener("touchmove",E),a.removeEventListener("touchend",S),a.removeEventListener("touchcancel",M),a.removeEventListener("pointerup",T),a.removeEventListener("pointercancel",x)};a.addEventListener("touchstart",C),a.addEventListener("touchmove",E),a.addEventListener("touchend",S),a.addEventListener("touchcancel",M),a.addEventListener("pointerup",T),a.addEventListener("pointercancel",x)}},e.prototype.updateWidth=function(e){var t=this,n=t.text,i=t.table,r=t.col,o=e-n.length,a=i.alignments[r],s=1,l=1;"right"===a?s=o-1:"center"===a?(s=Math.floor(o/2),l=Math.ceil(o/2)):l=o-1,this.padStart=s,this.padEnd=l},e.prototype.getTextWithPadding=function(){return" ".repeat(this.padStart)+this.text+" ".repeat(this.padEnd)},e.prototype.getLength=function(){return this.padStart+this.padEnd+this.text.length},e.prototype.getAbsoluteOffsets=function(){var e=this.table.start,t=this,n=t.start,i=t.end;return{start:e+n,end:e+i,textStart:e+n+t.padStart,textEnd:e+i-t.padEnd}},e.prototype.lockDimensions=function(){var e=this.el,t=e.getBoundingClientRect(),n=t.width,i=t.height;e.setCssStyles({width:"".concat(n,"px"),height:"".concat(i,"px")}),e.win.setTimeout((function(){return e.removeAttribute("style")}))},e.prototype.scrollIntoView=function(){var e,t=this.table,n=this.el,i=t.editor,r=t.containerEl;if(r.isShown()){var o,a,s=i.cm.scrollDOM,l=null;if((null===(e=i.tableCell)||void 0===e?void 0:e.cell)===this&&(l=i.tableCell.cm),r.scrollWidth>r.clientWidth){var c=r.getBoundingClientRect(),u=o=n.getBoundingClientRect();l&&o.width>c.width&&(u=a=l.coordsAtPos(l.state.selection.main.head)),u.leftc.right&&r.scrollBy(u.right-c.right,0)}if(s.scrollHeight>s.clientHeight){o||(o=n.getBoundingClientRect());var h=s.getBoundingClientRect(),p=o;l&&o.height>h.height&&(p=a||l.coordsAtPos(l.state.selection.main.head)),p.toph.bottom&&s.scrollBy(0,p.bottom-h.bottom)}}},e}(),_R=qe.define(),GR=function(e){function t(t,n,i,r){var o=e.call(this,t,n)||this;return o.rows=[],o.alignments=[],o.colWidths=[],o.isMalformed=!1,o.tableEl=null,o.selectedCells=[],o.selectionAnchor=null,o.selectionHead=null,o.updateCellReadonly=wc((function(){var e=o,t=e.selectionAnchor,n=e.selectionHead,i=e.editor;if(i.tableCell){var r=!(!t||!n);i.tableCell.setReadonly(r)}}),50,!0),o.cellChildMap=new Map,o.doc=i,o.containerEl=createDiv({cls:"cm-embed-block cm-table-widget markdown-rendered",onpointerdown:function(e){e.target===e.currentTarget&&e.preventDefault()}}),o.isDocComplete=r,o}return m(t,e),Object.defineProperty(t.prototype,"text",{get:function(){return this.doc.toString()},enumerable:!1,configurable:!0}),t.prototype.clear=function(){this.rows.length=0,this.alignments.length=0,this.containerEl.empty(),this.cleanupChildren()},t.prototype.getSelectedCell=function(e){if(!e)return null;for(var t=this.rows,n=null,i=0,r=e.ranges;i=l&&a<=c&&s>=l&&s<=c)continue;return null}for(var u=0,h=t;u=l&&a<=c&&s>=l&&s<=c){n=f;break}}if(n)break}}return n},t.prototype.containsSelection=function(e){var t=this;return!!e&&e.ranges.every((function(e){var n=e.from,i=e.to;return t.containsRange(n,i)}))},t.prototype.containedBySelection=function(e){if(!e)return!1;var t=this.start,n=this.end;return e.ranges.some((function(e){var i=e.from,r=e.to;return i<=t&&r>=n}))},t.prototype.containsRange=function(e,t){var n=this.start,i=this.end;return e>=n&&e<=i&&t>=n&&t<=i},t.prototype.getTableString=function(e){for(var t=this.validateSelectionBounds(e),n=t.minRow,i=t.maxRow,r=t.minCol,o=t.maxCol,a=this,s=a.rows,l=a.alignments,c=a.colWidths,u="",h=n;h<=i;h++){for(var p=s[h],d=r;d<=o;d++){var f=p[d].text,m=c[d]-f.length,v=l[d],g=1,y=1;"right"===v?g=m-1:"center"===v?(g=Math.floor(m/2),y=Math.ceil(m/2)):y=m-1,u+="|"+" ".repeat(g)+f+" ".repeat(y)}u+="|",h===n&&(u+="\n"+this.makeAlignmentRow(r,o)),h!==i&&(u+="\n")}return u},t.prototype.makeAlignmentRow=function(e,t){for(var n=this.alignments,i=this.colWidths,r="",o=e;o<=t;o++){var a=i[o];switch(n[o]){case"left":r+="| :"+"-".repeat(a-3)+" ";break;case"center":r+="| :"+"-".repeat(a-4)+": ";break;case"right":r+="| "+"-".repeat(a-3)+": ";break;default:r+="| "+"-".repeat(a-2)+" "}}return r+="|"},t.prototype.rebuildTable=function(){var e=this,t=e.editor,n=e.rows,i=e.alignments,r=this.getTableString({minRow:0,maxRow:n.length-1,minCol:0,maxCol:i.length-1}),o=t.cm,a=this.doc=o.state.toText(r);return r&&this.render(),a},t.prototype.dispatchTable=function(e,t,n){var i=this,r=i.start,o=i.end,a=i.editor.cm,s=a.state.selection,l=this.rebuildTable();if(l.length&&void 0!==e&&void 0!==t){var c=this.rows,u=this.alignments;e=Math.clamp(e,0,c.length-1),t=Math.clamp(t,0,u.length-1);var h=this.getCellAt(e,t);if(h){var p=h.getAbsoluteOffsets().textStart,d=p,f=n?function(e){var t=n(e),i=cy(e.state.doc.toString()),r=t.map(i.changes).main;return p+=r.from,d+=r.to,t}:void 0;this.receiveCellFocus(h.row,h.col,f),s=pe.single(p,d)}}a.dispatch({selection:s,changes:[{from:r,to:o,insert:l}],scrollIntoView:!1})},t.prototype.trimCell=function(e){var t=e.text,n=t.trim();t!==n&&(this.isMalformed=!0,this.updateCell(e,n))},t.prototype.dispatchUpdate=function(e,t){var n,i=this,r=i.doc,o=i.editor,a=i.start,s=e.cell,l=[_R.of(!0)],c=t.annotation(_e.userEvent);c&&!/^select/.test(c)&&l.push(_e.userEvent.of(c));var u=cy(t.newDoc.toString());if(t.docChanged||u.result!==s.text){var h=this.updateCell(s,u.result);h.length&&(n=h.map((function(e){return{from:e.from+a,to:e.to+a,insert:e.insert}})),this.doc=re.of(h,r.length).apply(r))}var p=s.getAbsoluteOffsets(),d=p.textStart,f=p.textEnd-d,m=t.newSelection.map(u.changes);m=ly(m,0,f),o.cm.dispatch({annotations:l,changes:n,selection:sy(m,d),scrollIntoView:!1})},t.prototype.reconcileChanges=function(e,t){var n,i=this,r=this,o=r.start,a=r.end,s=r.tableEl,l=r.doc;if(!s)return null;var c=!0,u=new Map,h=[],p=l.line(2),d=null;if(t.changes.iterChanges((function(t,n,r,s,l){if(c)if(to||ta)c=!1;else if(i.containsRange(t,n)){var f=t-o,m=n-o;if(ny(p,f,m))f!==p.from||m!==p.to?c=!1:(h.push({from:f,to:m,insert:l}),d=l);else if(t===o&&n===a&&e.eq(l))c=!1;else{var v=i.getSelectedCell(pe.single(f,m));if(v){var g=u.get(v);g||(g=[],u.set(v,g));var y=v.getAbsoluteOffsets().start;g.push({from:t-y,to:n-y,insert:l}),h.push({from:f,to:m,insert:l})}else c=!1}}})),!c)return null;l=re.of(h,l.length).apply(l);var f=d?d.length-p.length:0;if(u.size)this.applyCellUpdates(t,u,f);else{var m=null===(n=this.rows.first())||void 0===n?void 0:n.last();m&&0!==f&&this.offsetCellsAfter(m,f)}return l},t.prototype.receiveUpdate=function(e,t){var n=this.doc;if(!this.isDocComplete)return this.isDocComplete=!0,!!jR(n,t)&&(this.doc=t,this.render(),!0);var i=t.eq(n);if(!e.docChanged||e.annotation(_R))return i;var r=!1,o=this.editor.tableCell;if(o&&(e.isUserEvent("undo")||e.isUserEvent("redo"))){var a=o.cell.getAbsoluteOffsets(),s=a.start,l=a.end;e.changes.touchesRange(s,l)&&(r=!0)}if(!r&&i)return!0;var c=this.reconcileChanges(t,e);return c&&c.eq(t)?(this.doc=c,!0):(this.doc=t,this.render(),!0)},t.prototype.receiveIncompleteUpdate=function(e,t){if(!e.docChanged||e.annotation(_R))return jR(this.doc,t);var n=this.doc,i=this.reconcileChanges(t,e);return i&&(this.doc=n=i),jR(n,t)},t.prototype.applyCellUpdates=function(e,t,n){var i,r=this,o=r.start,a=r.editor,s=r.colWidths,l=r.rows,c=a.cm,u=c.hasFocus,h=[],p=Array.from(t.entries()),d=new Set;p.sort((function(e,t){return t[0].start-e[0].start}));for(var f=0,m=p;f=n.length)){var a="rtl"===getComputedStyle(this.tableEl).direction,s=null;"start"===t?s=a?"right":"left":"end"===t?s=a?"left":"right":"center"===t&&(s="center"),n[o]=s;for(var l=0,c=this.rows;l=i.length||t<0||(lc(i,e,t),this.dispatchTable(t,n))},t.prototype.removeRow=function(e,t){var n=this.rows;e<0||e>=n.length||(n.splice(e,1),this.cleanupChildren(),this.dispatchTable(e-1,t))},t.prototype.insertColumn=function(e,t,n,i){var r=this,o=r.rows,a=r.colWidths,s=r.alignments;if(!(t<0||t>s.length)){s.splice(t,0,n),a.splice(t,0,i?a[t]:5);for(var l=0;l=o.length||t<0)){lc(o,e,t),lc(a,e,t);for(var s=0,l=r;s=n.length)){if(n.splice(t,1),i.splice(t,1),0===n.length){var r=this,o=r.start,a=r.end,s=r.editor.cm;return s.dispatch({changes:[{from:o,to:a,insert:""}],selection:{anchor:o,head:o}}),void s.focus()}for(var l=0,c=this.rows;li.lines?this.addNewLine("after"):(n.dispatch({selection:pe.cursor(i.line(t).from)}),n.focus())},t.prototype.placeCursorInCell=function(e,t){this.setCellFocus(e.row,e.col,(function(e){var n=e.state.doc,i=0;if("end"===t)i=n.length;else if("last-line"===t){var r=n.length;i=e.moveToLineBoundary(pe.range(r,r),!1,!0).from}return pe.single(i,i)}))},t.prototype.getClosestCell=function(e,t){for(var n=this.rows,i=n[0],r=1/0,o=0,a=n;or)break;i=s,r=d}for(var l=i[0],c=1/0,u=0,h=i;uc)break;l=f,c=d}return l},t.prototype.toDOM=function(){var e=this,t=this,n=t.containerEl,i=t.editor,r=t.isDocComplete;return t.tableEl||(r?this.render():n.onNodeInserted((function(){e.isDocComplete||e.tableEl||(n.addClass("is-loading"),n.style.height="".concat(1.1*i.containerEl.clientHeight,"px"))}),!0)),n},t.prototype.initDOM=function(){return this.containerEl},t.prototype.render=function(){var e=this,t=this,n=t.doc,i=t.containerEl,r=t.rows;this.clear();var o,a=IE(n.toString());if(_k(a,"table",(function(e){return o=e,_k.EXIT})),o){var s=this.alignments=o.align;if(null==s?void 0:s.length){var l=this.colWidths=s.map((function(){return 5})),c=MM(VE(a));if(null==c?void 0:c.firstChild.instanceOf(HTMLTableElement)){var u=c.firstChild;u.addClass("table-editor"),u.tabIndex=-1;var h=[];h.push.apply(h,Array.from(u.tHead.rows));for(var p=0,d=Array.from(u.tBodies);p=m){g=!0;for(var b=m;b<=d;b++)s[b]=null,l[b]=5;m=s.length}l[d]=Math.max(l[d],v.length+2)})),c?g=!0:r.push(i)}));for(var y=0,b=r.length;y=B.min&&d<=B.max){f=R,m||(m=s.createDiv("table-drag-target mod-"+t));var V=I?R.right:R.left,H=I?R.left:R.right,z=l?{display:R.index===r?"none":"block",left:"".concat((R.index=t.length&&(r=t.length-1),o<0&&(o=0),a>=n.length&&(a=n.length-1),{minRow:o,maxRow:a,minCol:i,maxCol:r}},t.prototype.selectTable=function(){this.containerEl.addClass("is-selected")},t.prototype.deselectTable=function(){this.containerEl.removeClass("is-selected")},t.prototype.selectCells=function(e,t,n){if(void 0===n&&(n=!1),(this.selectionAnchor!==e||this.selectionHead!==t||n)&&(this.deselectCells(),e!==t)){this.selectionAnchor=e,this.selectionHead=t;var i=this.getSelectionBounds();if(i){for(var r=i.minRow,o=i.maxRow,a=i.minCol,s=i.maxCol,l=this.rows,c=[],u=r;u<=o;u++)for(var h=l[u],p=a;p<=s;p++){var d=h[p],f=["is-selected"];n&&f.push("mod-dragging"),p===a&&f.push("start"),p===s&&f.push("end"),u===r&&f.push("top"),u===o&&f.push("bottom"),d.el.addClasses(f),c.push(d)}this.selectedCells=c,this.containerEl.addClass("has-selection"),this.updateCellReadonly()}}},t.prototype.deselectCells=function(){var e=this.selectedCells;if(0!==e.length){this.selectionAnchor=null,this.selectionHead=null;for(var t=["mod-dragging","is-selected","start","end","top","bottom"],n=0,i=e;n0&&id)for(var b=0;b=u&&b<=p?S[b]=new UR(this,y,b,a[y-h][b-u]):S[b]||(S[b]=new UR(this,y,b))}var w=this.colWidths;for(f=u;f<=p;f++){for(var k=5,C=0,E=i;C0){if(Yl.isDesktopApp){var o=this.containerEl.win.electron;t.addItem((function(e){return e.setTitle(lm.interface.menu.cut()).setSection("clipboard").setIcon("lucide-scissors").onClick((function(){o.remote.getCurrentWebContents().cut()}))})),t.addItem((function(e){return e.setTitle(lm.interface.menu.copy()).setSection("clipboard").setIcon("lucide-copy").onClick((function(){o.remote.getCurrentWebContents().copy()}))})),t.addItem((function(e){return e.setTitle(lm.interface.menu.paste()).setSection("clipboard").setIcon("lucide-clipboard-check").onClick((function(){o.remote.getCurrentWebContents().paste()}))}))}var a=r.first().getAbsoluteOffsets(),s=a.textStart,l=a.textEnd,c=pe.range(s,l),u=pf(i.state,c);hF(t,this.editor.editor,u,"selection");var h=this.getSelectionBounds();if(h){for(var p=h.minRow,d=h.maxRow,f=h.minCol,m=h.maxCol,v=[],g=f;g<=m;g++)v.push(g);this.makeAlignmentMenu(t,v),t.addItem((function(e){return e.setSection("table").setIcon("lucide-eraser").setTitle(lm.table.actionClearSelection()).onClick((function(){for(var e=p;e<=d;e++)for(var t=n.rows[e],i=f;i<=m;i++)t[i].text="";n.dispatchTable(p,f)}))}))}t.addItem((function(e){return e.setSection("table").setIcon("lucide-trash-2").setTitle(lm.table.actionDeleteSelection()).onClick((function(){n.deleteSelection(-1)}))}))}else t.addItem((function(t){var i=t.setSection("table").setIcon("lucide-table").setTitle(lm.table.labelRow()).setSubmenu();n.makeRowMenu(i,e)})),t.addItem((function(t){var i=t.setSection("table").setIcon("lucide-table").setTitle(lm.table.labelColumn()).setSubmenu();n.makeColMenu(i,e)})),this.makeSortMenu(t,e)},t.prototype.makeColMenu=function(e,t){var n=this;e.addItem((function(e){return e.setSection("table-add").setIcon("lucide-arrow-left").setTitle(lm.table.actionColumnBefore()).onClick((function(){var e=n.alignments[t.col];n.insertColumn(t.row,t.col,e)}))})),e.addItem((function(e){return e.setSection("table-add").setIcon("lucide-arrow-right").setTitle(lm.table.actionColumnAfter()).onClick((function(){var e=n.alignments[t.col];n.insertColumn(t.row,t.col+1,e)}))})),t.col0&&e.addItem((function(e){return e.setSection("table-move").setIcon("lucide-arrow-left").setTitle(lm.table.actionColumnLeft()).onClick((function(){n.moveColumn(t.col,t.col-1,t.row)}))})),this.makeAlignmentMenu(e,[t.col]),e.addItem((function(e){return e.setSection("table-modify").setIcon("lucide-copy").setTitle(lm.table.actionDuplicateColumn()).onClick((function(){var e=n.alignments[t.col];n.insertColumn(t.row,t.col,e,!0)}))})),e.addItem((function(e){return e.setSection("table-modify").setIcon("lucide-trash-2").setTitle(lm.table.actionDeleteColumn()).onClick((function(){n.removeColumn(t.row,t.col)}))}))},t.prototype.makeAlignmentMenu=function(e,t){var n=this;e.addItem((function(e){return e.setSection("table-align").setIcon("lucide-align-left").setTitle(lm.table.actionAlignLeft()).onClick((function(){n.setAlignment(t,"start")}))})),e.addItem((function(e){return e.setSection("table-align").setIcon("lucide-align-center").setTitle(lm.table.actionAlignCenter()).onClick((function(){n.setAlignment(t,"center")}))})),e.addItem((function(e){return e.setSection("table-align").setIcon("lucide-align-right").setTitle(lm.table.actionAlignRight()).onClick((function(){n.setAlignment(t,"end")}))}))},t.prototype.makeRowMenu=function(e,t){var n=this;e.addItem((function(e){return e.setSection("table-add").setIcon("lucide-arrow-up").setTitle(lm.table.actionRowBefore()).onClick((function(){n.insertRow(t.row,t.col)}))})),e.addItem((function(e){return e.setSection("table-add").setIcon("lucide-arrow-down").setTitle(lm.table.actionRowAfter()).onClick((function(){n.insertRow(t.row+1,t.col)}))})),t.row>0&&e.addItem((function(e){return e.setSection("table-move").setIcon("lucide-arrow-up").setTitle(lm.table.actionRowUp()).onClick((function(){n.moveRow(t.row,t.row-1,t.col)}))})),t.row!==this.rows.length-1&&e.addItem((function(e){return e.setSection("table-move").setIcon("lucide-arrow-down").setTitle(lm.table.actionRowDown()).onClick((function(){n.moveRow(t.row,t.row+1,t.col)}))})),e.addItem((function(e){return e.setSection("table-modify").setIcon("lucide-copy").setTitle(lm.table.actionDuplicateRow()).onClick((function(){n.insertRow(t.row,t.col,!0)}))})),e.addItem((function(e){return e.setSection("table-modify").setIcon("lucide-trash-2").setTitle(lm.table.actionDeleteRow()).onClick((function(){n.removeRow(t.row,t.col)}))}))},t.prototype.makeSortMenu=function(e,t){var n=this;e.addItem((function(e){return e.setSection("table-sort").setIcon("lucide-arrow-down-za").setTitle(lm.table.actionSortAZ()).onClick((function(){var e=n.rows.map((function(e){return e.map((function(e){return e.contentEl.innerText}))}));n.sortByColumn(t.row,t.col,(function(t,n){return aC(e[t.row][t.col],e[n.row][n.col])}))}))})),e.addItem((function(e){return e.setSection("table-sort").setIcon("lucide-arrow-up-az").setTitle(lm.table.actionSortZA()).onClick((function(){var e=n.rows.map((function(e){return e.map((function(e){return e.contentEl.innerText}))}));n.sortByColumn(t.row,t.col,(function(t,n){return aC(e[n.row][n.col],e[t.row][t.col])}))}))}))},Object.defineProperty(t.prototype,"estimatedHeight",{get:function(){var e=this.containerEl.offsetHeight;return e>0?e:50},enumerable:!1,configurable:!0}),t.cellSanitizerPlugin=function(e){return nt.changeFilter.of((function(t){if(!e.tableCell||!t.docChanged||t.annotation(_R))return!0;if(t.isUserEvent("set"))return e.destroyTableCell(),!0;var n=e.tableCell.cell,i=n.getAbsoluteOffsets(),r=i.textStart,o=i.textEnd,a=!1,s=[];if(t.changes.iterChanges((function(e,t,n,i,l){a||(eo?a=!0:s.push({from:e-r,to:t-r,insert:l}))})),a)return!0;var l=n.text,c=re.of(s,l.length),u=t.startState.toText(l),h=uy(l),p=uy(c.apply(u).toString()),d=c.map(h.changes),f=sy(t.newSelection,-r).map(p.changes),m=[],v=t.annotation(_e.userEvent);v&&m.push(_e.userEvent.of(v));var g=e.tableCell.cm;return g.dom.win.setTimeout((function(){g.dispatch({annotations:m,selection:f,changes:d})})),[r-1,o+1]}))},t.detectSurroundingClick=function(e){return jo.domEventHandlers({pointerdown:function(n,i){if(0===n.button||n.isPrimary){var r=i.posAtCoords({x:n.clientX,y:n.clientY},!1),o=iC(i.state.doc)+1,a=i.state.doc.length;r>o&&r0?t-1:t;return u=pe.range(r,a),!1}if(t===r+1&&""!==o.lineAt(r-1).text.trim())return u=pe.cursor(e),n.push({from:e,to:r,insert:"\n"}),!1})),u?(s=!0,i.push(u)):(n.push({from:e,to:r,insert:c}),i.push(pe.cursor(e)))})),s?{changes:n,selection:pe.create(i,a.mainIndex),annotations:[_e.userEvent.of("delete.backward"),_R.of(!0)]}:e}(n,i):function(e,t){var n=[],i=e.newDoc,r=iC(e.newDoc);return e.changes.iterChanges((function(o,a){t.between(o,a+1,(function(t){if(!(a>t)&&o!==r){var s=e.changes.mapPos(t);return s>0&&""!==i.lineAt(s-1).text.trim()?(n.push({insert:"\n",from:s}),!1):void 0}}))})),n.length?[e,{annotations:[_R.of(!0)],changes:n,sequential:!0}]:e}(n,i)}))}function YR(e){return(e.match(/>/g)||[]).length}function ZR(e){var t=0,n=function(){for(;e.startsWith("\t");)e=e.substring(1),t++;for(;e.startsWith(" ");)e=e.substring(4),t++};return e.startsWith(">")&&(e=e.substring(1),n(),e.startsWith(" ")&&(e=e.substring(1))),n(),t}var XR=/^\s*(?:> |#{1,6} |([-_*])(\s*\1){2,}\s*$|~~~|```)/;function QR(e){return nt.transactionFilter.of((function(t){if(!t.docChanged||e.tableCell||t.isUserEvent("set")||t.isUserEvent("input.renumber")||t.annotation(_R)||e.cm.composing)return t;var n=t.newDoc,i=t.startState.doc,r=new Map;function o(e){if(r.has(e))return r.get(e);var t=pC.exec(e);return r.set(e,t),t}var a=[],s=[],l=[];t.changes.iterChangedRanges((function(e,t,i,r){l.push({from:i,to:r});for(var o=n.lineAt(i),a=n.lineAt(r),c=o.number;c<=a.number+1;c++)s.push(c)})),s=ac(s).sort(lC);for(var c=new Set,u=function(e){if(!c.has(e.number)){c.add(e.number);var r=o(e.text);if(r&&r[0]&&r[4]){var s=r[1],u=ZR(s),h=YR(s),p=r[5],d=function(e,t,n,i,r){for(var o=null,a=!1,s=t-1;s>=1;s--){var l=e.line(s),c=r(l.text),u=YR(c[1]);if(l.text&&l.text!==c[1])if(c&&c[0])if(c[2]){var h=ZR(c[1]);if(h===n&&u===i){c[4]&&(o=parseInt(c[4],10));break}if(hu||a)break}return o}(n,e.number,u,h,o);if(null===d){d=1;for(var f=!1,m=0,v=l;m=1;s--){var l=e.line(s);if(l.text){var c=r(l.text);if(c&&c[0])if(c[2]){var u=ZR(c[1]),h=YR(c[1]);if(u===n&&h===i&&c[4]&&(o=parseInt(c[4],10)),u0){var f=r.get(d);f||(f=Vn.line({attributes:{style:"text-indent:".concat(-d,"px;padding-inline-start:").concat(d,"px")}}),r.set(d,f)),i.add(c.from,c.from,f)}}else t.delete(u)}this.decorations=i.finish()},e.prototype.observe=function(){this.observer.observe(this.view.contentDOM,{subtree:!0,childList:!0,characterData:!0})},e.prototype.checkMutations=function(e){for(var t=this.view,n=t.contentDOM,i=new Set,r=0,o=e;r0&&this.checkMutations(i),this.updateDomInternal()}finally{this.requestUpdateDom=e,this.observe(),delete t.scrollTop}},e.prototype.updateDomInternal=function(){var e=this.view,t=this.indentCache,n=e.contentDOM;if(n.offsetParent){for(var i=this.tree,r=[],o=0,a=Array.from(n.childNodes);ov.offsetWidth/2){if(!(y=e.coordsAtPos(s+g.length,-1)))continue;k=Math.floor(Math.abs((w===Xn.LTR?y.right:y.left)-S))}if(k)(b=t.get(l))&&b.size===k?(b.text=g,b.dirty=!1):(t.set(l,{text:g,size:k,dirty:!1}),p=!0),h.push({lineEl:v,size:k})}}for(var M=0,x=h;M .cm-scroller > .cm-cursorLayer > .cm-fat-cursor":{background:"var(--interactive-accent)",color:"var(--text-on-accent)"},"&:not(.cm-focused) > .cm-scroller > .cm-cursorLayer > .cm-fat-cursor":{color:"transparent !important"}}));function oB(e,t,n,i){var r,o,a=t.dom.ownerDocument.defaultView.HTMLElement,s=n.head,l=!1,c=e.state.vim;if(c&&(!c.insertMode||e.state.overwrite)){if(l=!0,c.visualBlock&&!i)return null;if(n.anchor1&&(s--,m=t.state.sliceDoc(s,s+1));var g=u.left,y=null===(o=(r=t).coordsForChar)||void 0===o?void 0:o.call(r,s);if(y&&(g=y.left),m&&"\n"!=m&&"\r"!=m)if("\t"==m){m=" ";var b=t.coordsAtPos(s+1,-1);b&&(g=b.left-(b.left-u.left)/parseInt(v.tabSize))}else/[\uD800-\uDBFF]/.test(m)&&s=t&&(n=r.type.prop(xu.closedBy))&&n.indexOf(o.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(o.from).from&&!/\S/.test(e.sliceDoc(r.to,o.from))?{from:r.to,to:o.from}:null}(t,n);var a=new Cp(t,{simulateBreak:n,simulateDoubleBreak:!!o}),s=wp(a,n);for(null==s&&(s=wt(/^\s*/.exec(t.doc.lineAt(n).text)[0],t.tabSize));ir.from&&ne.lines)return e.length;var r=e.line(i);return Math.min(r.from+Math.max(0,n),r.to)}function lB(e,t){if(t<0||t>e.length)return null;var n=e.lineAt(t);return{line:n.number-1,ch:t-n.from}}var cB,uB=function(e,t){this.line=e,this.ch=t};function hB(e,t,n){if(e.addEventListener)e.addEventListener(t,n,!1);else{var i=e._handlers||(e._handlers={});i[t]=(i[t]||[]).concat(n)}}function pB(e,t,n){if(e.removeEventListener)e.removeEventListener(t,n,!1);else{var i=e._handlers,r=i&&i[t];if(r){var o=r.indexOf(n);o>-1&&(i[t]=r.slice(0,o).concat(r.slice(o+1)))}}}function dB(e,t){for(var n,i=[],r=2;r=t.lines?"":this.cm6.state.doc.line(e+1).text},e.prototype.getLineHandle=function(e){return this.$lineHandleChanges||(this.$lineHandleChanges=[]),{row:e,index:this.indexFromPos(new uB(e,0))}},e.prototype.getLineNumber=function(e){var t=this.$lineHandleChanges;if(!t)return null;for(var n=e.index,i=0;it.lines&&(i=t.lines,n=Number.MAX_VALUE);var r=t.line(i);return n=Math.min(Math.max(0,n),r.to-r.from),new uB(i-1,n)},e.prototype.getValue=function(){return this.cm6.state.doc.toString()},e.prototype.setValue=function(e){var t=this.cm6;return t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e},selection:pe.range(0,0)})},e.prototype.focus=function(){return this.cm6.focus()},e.prototype.blur=function(){return this.cm6.contentDOM.blur()},e.prototype.defaultTextHeight=function(){return this.cm6.defaultLineHeight},e.prototype.findMatchingBracket=function(e,t){var n=this.cm6.state,i=sB(n.doc,e),r=Fd(n,i+1,-1);return r&&r.end||(r=Fd(n,i,1))&&r.end?{to:lB(n.doc,r.end.from)}:{to:void 0}},e.prototype.scanForBracket=function(e,t,n,i){return function(e,t,n,i,r){for(var o=r&&r.maxScanLineLength||1e4,a=r&&r.maxScanLines||1e3,s=[],l=function(e){return e&&e.bracketRegex||/[(){}[\]]/}(r),c=n>0?Math.min(t.line+a,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-a),u=t.line;u!=c;u+=n){var h=e.getLine(u);if(h){var p=n>0?0:h.length-1,d=n>0?h.length:-1;if(!(h.length>o))for(u==t.line&&(p=t.ch-(n<0?1:0));p!=d;p+=n){var f=h.charAt(p);if(l.test(f)){var m=SB[f];if(m&&">"==m.charAt(1)==n>0)s.push(f);else{if(!s.length)return{pos:new uB(u,p),ch:f};s.pop()}}}}}return u-n!=(n>0?e.lastLine():e.firstLine())&&null}(this,e,t,0,i)},e.prototype.indentLine=function(e,t){t?this.indentMore():this.indentLess()},e.prototype.indentMore=function(){QL(this.cm6)},e.prototype.indentLess=function(){$L(this.cm6)},e.prototype.execCommand=function(t){if("indentAuto"==t)e.commands.indentAuto(this);else if("goLineLeft"==t)TP(this.cm6);else if("goLineRight"==t){xP(this.cm6);var n=this.cm6.state,i=n.selection.main.head;io+10))return l;if(o==e)return null}}(0,a)}else{var l=i?i.from==i.to?i.to+1:i.to:o;i=function(e){var t=n.cm6.state.doc;if(e>t.length)return null;var i=s(t,e).next();return i.done?null:i.value}(l)}return r=i&&{from:lB(t,i.from),to:lB(t,i.to),match:i.match},i&&i.match},from:function(){return null==r?void 0:r.from},to:function(){return null==r?void 0:r.to},replace:function(e){i&&(mB(n,{changes:{from:i.from,to:i.to,insert:e}}),i.to=i.from+e.length,r&&(r.to=lB(n.cm6.state.doc,i.to)))}}},e.prototype.moveByChar=function(e,t,n){for(var i=this.cm6,r=sB(this.cm6.state.doc,e),o=pe.cursor(r);n>0;n--){var a=i.getNextTablePos;if(a&&a(i,o,t?"end":"start"))break;o=this.cm6.moveByChar(o,t)}var s=this.posFromIndex(o.head);return s.line!==e.line?e:s},e.prototype.findPosV=function(e,t,n,i){for(var r,o,a=this.cm6,s=a.state.doc,l="page"==n?a.dom.clientHeight:0,c=sB(s,e),u=pe.cursor(c,1,void 0,i),h=Math.round(Math.abs(t)),p=t>0,d=function(e){if("page"==n)u=a.moveVertically(u,p,l);else if("line"==n){var t=a.moveVertically(u,p),i=a.getNextTablePos;if(i&&i(a,u,p?"down":"up"))return{value:t};var s=a.getNextPosUpDown;if(s){var c=s(a.state,u,p);if(c&&Math.abs(t.head-u.head)>Math.abs(c.head-u.head))t=c;else if(1===h&&!p&&nC(a,u.head)){var d=a.state.field(IK);if(bD(d)&&d.metadataEditor.containerEl.isShown()){var m=d;o="ArrowUp"===(null===(r=f.state.vimPlugin)||void 0===r?void 0:r.lastKeydown)?function(){return m.shiftFocusBefore()}:function(){return m.metadataEditor.focus({bottom:!0})}}}}u=t}},f=this,m=0;m0&&u.head==s.length&&g.ch!=i&&e.line==g.line)&&(g.hitSide=!0),g},e.prototype.charCoords=function(e,t){var n,i,r=this.cm6,o=sB(r.state.doc,e),a=r.coordsAtPos(o)||{left:0,top:0,bottom:0},s=a.left,l=a.top,c=a.bottom,u=0,h=0;return"div"===t?(u=(n=r.contentDOM.getBoundingClientRect()).left,h=n.top):(u=(i=r.scrollDOM.getBoundingClientRect()).left,h=i.top,u-=r.scrollDOM.scrollLeft,h-=r.scrollDOM.scrollTop),{left:s-u,top:l-h,bottom:c-h}},e.prototype.coordsChar=function(e,t){var n,i,r=this.cm6,o=0,a=0;"div"===t?(o=(n=r.contentDOM.getBoundingClientRect()).left,a=n.top):(o=(i=r.scrollDOM.getBoundingClientRect()).left,a=i.top,o-=r.scrollDOM.scrollLeft,a-=r.scrollDOM.scrollTop);var s={x:e.left+o,y:e.top+a},l=this.cm6.posAtCoords(s)||0;return lB(this.cm6.state.doc,l)},e.prototype.getScrollInfo=function(){var e=this.cm6.scrollDOM;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight,width:e.scrollWidth,clientHeight:e.clientHeight,clientWidth:e.clientWidth}},e.prototype.scrollTo=function(e,t){null!=e&&(this.cm6.scrollDOM.scrollLeft=e),null!=t&&(this.cm6.scrollDOM.scrollTop=t)},e.prototype.scrollInfo=function(){return 0},e.prototype.scrollIntoView=function(e,t){e?this.cm6.dispatch({effects:jo.scrollIntoView(this.indexFromPos(e),{yMargin:t})}):this.cm6.dispatch({scrollIntoView:!0,userEvent:"scroll"})},e.prototype.getWrapperElement=function(){return this.cm6.dom},e.prototype.getMode=function(){return{name:this.getOption("mode")}},e.prototype.setSize=function(e,t){this.cm6.dom.style.width=e+4+"px",this.cm6.dom.style.height=t+"px",this.refresh()},e.prototype.refresh=function(){this.cm6.measure()},e.prototype.destroy=function(){this.removeOverlay()},e.prototype.getLastEditEnd=function(){return this.posFromIndex(this.$lastChangeEndOffset)},e.prototype.onChange=function(e){var t=this;for(var n in this.$lineHandleChanges&&this.$lineHandleChanges.push(e),this.marks){this.marks[n].update(e.changes)}this.virtualSelection&&(this.virtualSelection=pe.create(this.virtualSelection.ranges.map((function(t){return t.map(e.changes)})),this.virtualSelection.mainIndex));var i=this.curOp=this.curOp||{};e.changes.iterChanges((function(e,n,r,o,a){(null==i.$changeStart||i.$changeStart>r)&&(i.$changeStart=r),t.$lastChangeEndOffset=o;var s={text:a.toJSON()};i.lastChange?i.lastChange.next=i.lastChange=s:i.lastChange=i.change=s}),!0),i.changeHandlers||(i.changeHandlers=this._handlers.change&&this._handlers.change.slice())},e.prototype.onSelectionChange=function(){var e=this.curOp=this.curOp||{};e.cursorActivityHandlers||(e.cursorActivityHandlers=this._handlers.cursorActivity&&this._handlers.cursorActivity.slice()),this.curOp.cursorActivity=!0},e.prototype.operation=function(e,t){var n;this.curOp||(this.curOp={$d:0}),this.curOp.$d++;try{n=e()}finally{this.curOp&&(this.curOp.$d--,this.curOp.$d||this.onBeforeEndOperation())}return n},e.prototype.onBeforeEndOperation=function(){var e=this.curOp,t=!1;if(e){if(e.change&&fB(e.changeHandlers,this,e.change),e&&e.cursorActivity&&(fB(e.cursorActivityHandlers,this,null),e.isVimOp&&(t=!0)),e.isVimOp){for(var n=_p(this.cm6.state),i=[],r=function(e){n.between(e.from,e.to,(function(t,n){e.to!==t&&e.from!==n&&i.push(qp.of({from:t,to:n}))}))},o=0,a=this.cm6.state.selection.ranges;o0&&this.cm6.dispatch({effects:i})}this.curOp=null}t&&this.scrollIntoView()},e.prototype.moveH=function(e,t){if("char"==t){var n=this.getCursor();this.setCursor(n.line,n.ch+e)}},e.prototype.setOption=function(e,t){switch(e){case"keyMap":this.state.keyMap=t;break;case"textwidth":this.state.textwidth=t}},e.prototype.getOption=function(e){switch(e){case"firstLineNumber":return 1;case"tabSize":return this.cm6.state.tabSize||4;case"readOnly":return this.cm6.state.readOnly;case"indentWithTabs":return"\t"==this.cm6.state.facet(gp);case"indentUnit":return this.cm6.state.facet(gp).length||2;case"textwidth":return this.state.textwidth;case"keyMap":return this.state.keyMap||"vim"}},e.prototype.toggleOverwrite=function(e){this.state.overwrite=e},e.prototype.getTokenTypeAt=function(e){var t,n=this.indexFromPos(e),i=tp(this.cm6.state,n),r=null==i?void 0:i.resolve(n),o=(null===(t=null==r?void 0:r.type)||void 0===t?void 0:t.name)||"";return/comment/i.test(o)?"comment":/string/i.test(o)?"string":""},e.prototype.overWriteSelection=function(e){var t=this.cm6.state.doc,n=this.cm6.state.selection,i=n.ranges.map((function(e){if(e.empty){var n=e.to1},e.prototype.virtualSelectionMode=function(){return!!this.virtualSelection},e.prototype.forEachSelection=function(e){var t=this.cm6.state.selection;this.virtualSelection=pe.create(t.ranges,t.mainIndex);for(var n=0;ni){if(u=f(s,i,5)){var l=null===(n=/^\s*/.exec(s))||void 0===n?void 0:n[0];e.replaceRange("\n"+l,new uB(o,u.start),new uB(o,u.end))}a++}else if(r&&/\S/.test(s)&&o!=a){var c=e.getLine(o+1);if(c&&/\S/.test(c)){var u,h=s.replace(/\s+$/,""),p=c.replace(/^\s+/,""),d=h+" "+p;(u=f(d,i,5))&&u.start>h.length||d.lengthn?{start:a.index,end:a.index+a[2].length}:o&&o[2]?{start:s=t+o[2].length,end:s+o[3].length}:void 0}}}(this,e)},e.isMac="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),e.Pos=uB,e.StringStream=Bd,e.commands={cursorCharLeft:function(e){YA(e.cm6)},redo:function(e){vB(e,!1)},undo:function(e){vB(e,!0)},newlineAndIndent:function(e){GL({state:e.cm6.state,dispatch:function(t){return mB(e,t)}})},newlineAndIndentBefore:function(e){aB(e.cm6)},indentAuto:function(e){XL(e.cm6)}},e.isWordChar=function(e){return cB.test(e)},e.keys=gB,e.addClass=function(){},e.rmClass=function(){},e.e_preventDefault=function(e){e.preventDefault()},e.e_stop=function(e){var t,n;null===(t=null==e?void 0:e.stopPropagation)||void 0===t||t.call(e),null===(n=null==e?void 0:e.preventDefault)||void 0===n||n.call(e)},e.lookupKey=function(t,n,i){var r=e.keys[t];r&&i(r)},e.on=hB,e.off=pB,e.signal=dB,e.findMatchingTag=MB,e.findEnclosingTag=xB,e.keyName=void 0,e}();function bB(e,t,n){var i=document.createElement("div");return i.appendChild(t),i}function wB(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}function kB(e,t){var n=e.state.dialog;e.state.dialog=t,t&&n!==t&&(n&&n.contains(document.activeElement)&&e.focus(),n&&n.parentElement?n.parentElement.replaceChild(t,n):n&&n.remove(),yB.signal(e,"dialog"))}function CB(e,t){e.state.dialog==t&&(e.state.dialog=null,yB.signal(e,"dialog"))}function EB(e,t,n,i){i||(i={}),wB(e,void 0);var r=bB(0,t,i.bottom),o=!1;function a(t){if("string"==typeof t)s.value=t;else{if(o)return;o=!0,CB(e,r),e.state.dialog||e.focus(),i.onClose&&i.onClose(r)}}kB(e,r);var s=r.getElementsByTagName("input")[0];return s&&(i.value&&(s.value=i.value,!1!==i.selectValueOnOpen&&s.select()),i.onInput&&yB.on(s,"input",(function(e){i.onInput(e,s.value,a)})),i.onKeyUp&&yB.on(s,"keyup",(function(e){i.onKeyUp(e,s.value,a)})),yB.on(s,"keydown",(function(e){i&&i.onKeyDown&&i.onKeyDown(e,s.value,a)||(13==e.keyCode&&n(s.value),(27==e.keyCode||!1!==i.closeOnEnter&&13==e.keyCode)&&(s.blur(),yB.e_stop(e),a()))})),!1!==i.closeOnBlur&&yB.on(s,"blur",(function(){setTimeout((function(){document.activeElement!==s&&a()}))})),s.focus()),a}var SB={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function MB(e,t){}function xB(e,t){var n,i,r=e.cm6.state,o=e.indexFromPos(t);o","user"),t.cm.focus()},this.statusButton.style.cssText="cursor: pointer"}return e.prototype.update=function(e){var t;if((e.viewportChanged||e.docChanged)&&this.query&&this.highlight(this.query),e.docChanged&&this.cm.onChange(e),e.selectionSet&&this.cm.onSelectionChange(),e.viewportChanged,this.cm.curOp&&!this.cm.curOp.isVimOp&&this.cm.onBeforeEndOperation(),e.transactions)for(var n=0,i=e.transactions;nr[i+1].from-500;)l=r[++i].to;e.highlight(t.state,s,l,(function(e,t){n.add(e,t,OB)}))}return this.decorations=n.finish()},e.prototype.handleKey=function(e,t){var n=this.cm,i=n.state.vim;if(i){var r=PB.vimKeyFromEvent(e,i);if(CodeMirror.signal(this.cm,"inputEvent",{type:"handleKey",key:r}),r){if(""==r&&!i.insertMode&&!i.visualMode&&this.query){var o=i.searchState_;o&&(n.removeOverlay(o.getOverlay()),o.setOverlay(null))}var a;if(""===r&&!yB.isMac&&n.somethingSelected())return this.waitForCopy=!0,!0;i.status=(i.status||"")+r;try{a=PB.multiSelectHandleKey(n,r,"user")}catch(e){console.error(e),n.state.vim.insertMode||(a=!0)}return i=PB.maybeInitVimState_(n),!a&&i.insertMode&&n.state.overwrite&&(e.key&&1==e.key.length&&e.key&&!/\n/.test(e.key)?(a=!0,n.overWriteSelection(e.key)):"Backspace"==e.key&&(a=!0,yB.commands.cursorCharLeft(n))),a&&(yB.signal(this.cm,"vim-keypress",r),e.preventDefault(),e.stopPropagation(),this.blockCursor.scheduleRedraw()),this.updateStatus(),!!a}}},e}(),{eventHandlers:{copy:function(e,t){var n=this;this.waitForCopy&&(this.waitForCopy=!1,Promise.resolve().then((function(){var e=n.cm,t=e.state.vim;t&&(t.insertMode?e.setSelection(e.getCursor(),e.getCursor()):e.operation((function(){e.curOp&&(e.curOp.isVimOp=!0),PB.handleKey(e,"","user")})))})))},compositionstart:function(e,t){this.useNextTextInput=!0,CodeMirror.signal(this.cm,"inputEvent",e)},compositionupdate:function(e,t){CodeMirror.signal(this.cm,"inputEvent",e)},compositionend:function(e,t){CodeMirror.signal(this.cm,"inputEvent",e)},keypress:function(e,t){"Dead"==this.lastKeydown&&this.handleKey(e,t)},keydown:function(e,t){CodeMirror.signal(this.cm,"inputEvent",e),this.lastKeydown=e.key,"Unidentified"==this.lastKeydown||"Process"==this.lastKeydown||"Dead"==this.lastKeydown?this.useNextTextInput=!0:(this.useNextTextInput=!1,this.handleKey(e,t))}},provide:function(){return[jo.inputHandler.of((function(e,t,n,i){var r,o,a=e.cm||null;if(!a)return!1;var s=null===(r=a.state)||void 0===r?void 0:r.vim,l=a.state.vimPlugin;if(s&&!s.insertMode&&!(null===(o=a.curOp)||void 0===o?void 0:o.isVimOp)){if("\0\0"===i)return!0;if(CodeMirror.signal(a,"inputEvent",{type:"text",text:i,from:t,to:n}),1==i.length&&l.useNextTextInput){if(s.expectLiteralNext&&e.composing)return l.compositionText=i,!1;if(l.compositionText){var c=l.compositionText;l.compositionText="";var u=e.state.selection.main.head;if(c===e.state.sliceDoc(u-c.length,u)){var h=a.getCursor();a.replaceRange("",a.posFromIndex(u-c.length),h)}}return l.handleKey({key:i,preventDefault:function(){},stopPropagation:function(){}}),function(e){var t=e.scrollDOM.parentElement;if(!t)return;if(AB)return e.contentDOM.textContent="\0\0",void e.contentDOM.dispatchEvent(new CustomEvent("compositionend"));var n=e.scrollDOM.nextSibling,i=window.getSelection(),r=i&&{anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset};e.scrollDOM.remove(),t.insertBefore(e.scrollDOM,n);try{r&&i&&(i.setPosition(r.anchorNode,r.anchorOffset),r.focusNode&&i.extend(r.focusNode,r.focusOffset))}catch(e){console.error(e)}e.focus(),e.contentDOM.dispatchEvent(new CustomEvent("compositionend"))}(e),!0}}return!1}))]},decorations:function(e){return e.decorations}});var OB=Vn.mark({class:"obsidian-search-match-highlight"}),FB=Ue.define(),NB=ke.define({create:function(){return!1},update:function(e,t){for(var n=0,i=t.effects;n2||2==i.length&&1==ee($(i,0))||t!=r.from||n!=r.to)return!1;for(var o=e.state,a=function(t){if(i!==t)return"continue";var n=null,r=o.changeByRange((function(e){return e.empty?{range:n=e}:{changes:[{insert:i,from:e.from},{insert:i,from:e.to}],range:pe.range(e.anchor+i.length,e.head+i.length)}}));return n?{value:!1}:(e.dispatch(o.update(r,{scrollIntoView:!0,userEvent:"input.type"})),{value:!0})},s=0,l=zB;s]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i,YB=/^(?:(?:[^<>()[\]\\.,;:\s@\"`]+(?:\.[^<>()[\]\\.,;:\s@\"]+)*)|(?:\".+\"))@(?:(?:\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(?:(?:[a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))\b/,ZB=/^(?:[^\u2000-\u206F\u2E00-\u2E7F'!"#$%&()*+,.:;<=>?@^`{|}~\[\]\\\s])+/;function XB(e){return/[a-z]/i.test(e)}!function(e){e[e.NONE=0]="NONE",e[e.NORMAL=1]="NORMAL",e[e.WITH_SPACE=2]="WITH_SPACE"}(VB||(VB={})),function(e){e[e.NONE=0]="NONE",e[e.SIMPLE=1]="SIMPLE",e[e.NORMAL=2]="NORMAL"}(HB||(HB={}));var QB,$B,JB=/^\s*[^\|].*?\|.*[^|]\s*$/,eV=/^\s*[^\|].*\|/,tV=/^\|(?:[^|]+\|)+?\s*$/,nV=/^\|/,iV=/^\s*-+\s*:\s*$/,rV=/^\s*:\s*-+\s*$/,oV=/^\s*:\s*-+\s*:\s*$/,aV=/^\s*-+\s*$/;!function(e){e[e.NONE=0]="NONE",e[e.FRONT_MATTER=1]="FRONT_MATTER",e[e.FRONT_MATTER_END=2]="FRONT_MATTER_END"}(QB||(QB={})),function(e){e[e.NONE=0]="NONE",e[e.BARELINK=1]="BARELINK",e[e.FOOTREF=2]="FOOTREF",e[e.NORMAL=3]="NORMAL",e[e.FOOTNOTE=4]="FOOTNOTE",e[e.MAYBE_FOOTNOTE_URL=5]="MAYBE_FOOTNOTE_URL",e[e.MAYBE_FOOTNOTE_URL_TITLE=6]="MAYBE_FOOTNOTE_URL_TITLE",e[e.BARELINK2=7]="BARELINK2",e[e.FOOTREF2=8]="FOOTREF2",e[e.INTERNAL_LINK=9]="INTERNAL_LINK",e[e.EMBED=10]="EMBED"}($B||($B={}));var sV=((BB={})[$B.BARELINK]="hmd-barelink",BB[$B.BARELINK2]="hmd-barelink2",BB[$B.FOOTREF]="hmd-barelink footref",BB[$B.FOOTNOTE]="hmd-barelink hmd-footnote line-HyperMD-footnote",BB[$B.FOOTREF2]="hmd-footref2",BB[$B.INTERNAL_LINK]="hmd-internal-link",BB[$B.EMBED]="hmd-internal-link hmd-embed",BB);function lV(e){e.hmdTable=HB.NONE,e.hmdTableRTL=!1,e.hmdTableColumns=[],e.hmdTableID=null,e.hmdTableCol=e.hmdTableRow=0}var cV={hr:"line-HyperMD-hr line-background-HyperMD-hr-bg hr",list1:"list-1",list2:"list-2",list3:"list-3",code:"inline-code",hashtag:"hashtag meta"};function uV(e,t){return e.replace(new RegExp("\\s?[^\\s]*".concat(t,"[^\\s]*"),"g"),"")}window.CodeMirror.defineMode("hypermd",(function(e,t){var n={front_matter:!0,math:!0,table:!0,toc:!0,orgModeMarkup:!0,hashtag:!0,fencedCodeBlockHighlighting:!0,name:"markdown",highlightFormatting:!0,taskLists:!0,strikethrough:!0,emoji:!1,highlight:!0,tokenTypeOverrides:cV,headers:!0,blockquotes:!0,indentedCode:!0,lists:!0,hr:!0,blockId:!0};Object.assign(n,t),n.tokenTypeOverrides!==cV&&(n.tokenTypeOverrides=Object.assign({},cV,n.tokenTypeOverrides)),n.name="markdown";var i={htmlBlock:null,block:null},r=_B.getMode(e,n),o=v({},r);function a(e,t){var n=t.hmdInnerExitChecker(e,t),i=t.hmdInnerStyle,r=(!n||!n.skipInnerMode)&&t.hmdInnerMode.token(e,t.hmdInnerState)||"";return i&&(r+=" "+i),n?(n.style&&(r+=" "+n.style),n.endPos&&(e.pos=n.endPos),t.hmdInnerExitChecker=null,t.hmdInnerMode=null,t.hmdInnerState=null,t.hmdOverride=null):e.start===e.pos&&e.skipToEnd(),r.trim()||null}function s(e){return{token:function(t){var n=t.string.indexOf(e,t.start);return-1===n?t.skipToEnd():0===n?t.pos+=e.length:(t.pos=n,"\\"===t.string.charAt(n-1)&&t.pos++),null}}}function l(t,n,i,r){if("string"==typeof i&&(i=_B.getMode(e,i)),!(i&&"null"!==i.name||(i="endTag"in r?s(r.endTag):"function"==typeof r.fallbackMode&&r.fallbackMode())))throw new Error("no mode");var o,l;n.hmdInnerExitChecker="endTag"in r?(o=r.endTag,l||(l={}),function(e,t){return e.string.substr(e.start,o.length)===o?(l.endPos=e.start+o.length,l):null}):r.exitChecker,n.hmdInnerStyle=r.style,n.hmdInnerMode=i,n.hmdOverride=a,n.hmdInnerState=_B.startState(i);var c=r.style||"";return r.skipFirstToken||(c+=" "+i.token(t,n.hmdInnerState)),c.trim()}return o.startState=function(){var e=r.startState();return lV(e),e.hmdOverride=null,e.hmdInnerExitChecker=null,e.hmdInnerMode=null,e.hmdLinkType=$B.NONE,e.hmdNextMaybe=n.front_matter?QB.FRONT_MATTER:QB.NONE,e.hmdNextState=null,e.hmdNextStyle=null,e.hmdNextPos=null,e.hmdHashtag=!1,i.block=e.block,e},o.copyState=function(e){for(var t=r.copyState(e),n=0,i=["hmdLinkType","hmdNextMaybe","hmdTable","hmdTableID","hmdTableCol","hmdTableRow","hmdOverride","hmdInnerMode","hmdInnerStyle","hmdInnerExitChecker","hmdNextPos","hmdNextState","hmdNextStyle","hmdHashtag","comment","internalLink","internalEmbed","inlineFootnote","hasAlias","isAlias","wasHeading","isHeading","mathed","inFootnote"];n()[\]\\.,;:\s@\"`]/.test(f)&&t.match(YB)))&&(b+=" url",k=t.pos)),p&&o.inFootnote){var F=t.match(/^\s*/,!1)[0].replace(/\t/g," ").length;F&&F%t.tabSize==0?b+=" line-HyperMD-footnote":o.inFootnote=!1}var N=p&&"["===t.peek()&&t.match(/^\[((?:[^\]\\]|\\.)*)\]:/,!1);if(N){var R=N[1];if("^"!==R[0]||!/\s/.test(R))return t.match(/\[\^?/),o.hmdLinkType=$B.FOOTNOTE,o.formatting="link",o.linkText=!0,b+="formatting formatting-link link "+sV[$B.FOOTNOTE]}else if(o.hmdLinkType===$B.FOOTNOTE){if("]"===t.peek()&&t.match("]:"))return b+=" formatting formatting-link link "+sV[$B.FOOTNOTE],o.linkText=!1,o.inFootnote=!0,o.hmdLinkType=$B.MAYBE_FOOTNOTE_URL,o.f=o.inline=r.startState().inline,b;b+=" link "+sV[$B.FOOTNOTE]}else if(o.hmdLinkType===$B.MAYBE_FOOTNOTE_URL){if(t.eatSpace())return b;if(XB(t.peek())&&t.match(KB))return b+=" url hmd-footnote-url",o.hmdLinkType=$B.MAYBE_FOOTNOTE_URL_TITLE,b;o.hmdLinkType=$B.NONE}else if(o.hmdLinkType===$B.MAYBE_FOOTNOTE_URL_TITLE){if(t.eatSpace())return b;if(o.hmdLinkType=$B.NONE,t.match(/^(["']).*?\1/)||t.match(/^\([^)]*?\)/))return b+=" hmd-footnote-url-title"}}if(o.hmdTable&&"|"===t.peek()&&"\\"!==t.string[t.pos-1]&&function(e){e.code=!1,e.comment=!1,e.em=!1,e.formatting=!1,e.highlight=!1,e.hmdHashtag=!1,e.hmdLinkType=$B.NONE,e.isAlias=!1,e.internalEmbed=!1,e.internalLink=!1,e.linkHref=!1,e.linkText=!1,e.linkTitle=!1,e.strikethrough=!1,e.strong=!1}(o),o.hmdNextState)t.pos=o.hmdNextPos,b+=" "+(o.hmdNextStyle||""),Object.assign(o,o.hmdNextState),o.hmdNextState=null,o.hmdNextStyle=null,o.hmdNextPos=null;else{var B=p&&0!==t.pos;if(w){var V=r.copyState(o),H=t.pos;b+=" "+(r.token(t,V)||""),t.pos=H}else b+=" "+(r.token(t,o)||"");B&&o.f===o.block&&(o.f=o.inline=r.startState().inline),o.inFootnote&&(o.indentationDiff=0)}b=function(e,t,n){return t?(!n.hr&&e.hr&&(t=uV(t,"hr"),e.hr=!1),!n.headers&&e.header&&(t=uV(t,"header"),e.header=0),!n.indentedCode&&e.indentedCode&&(t=uV(t,"inline-code"),e.indentedCode=!1),!n.blockquotes&&e.quote&&(t=uV(t,"quote"),e.quote=0),!n.lists&&e.list&&(t=uV(t,"list"),e.list=!1),t):t}(o,b,n),b.contains("formatting-task")&&(b+=" line-HyperMD-task-line"),-1!==k&&(t.pos=k),o.hmdHashtag&&(b+=" "+n.tokenTypeOverrides.hashtag),o.header&&(o.isHeading=!0),!i.htmlBlock&&o.htmlState&&(i.htmlBlock=o.f);var z=o.f===i.htmlBlock,q=-1===o.code;if(g=g&&!(z||q),y=y&&g&&!(o.code||o.indentedCode||o.linkHref),o.hmdTable&&z){var W=t.current();/(?:^|[^\\])\|/.test(W)&&(""===b.trim()||/string|attribute|error/.test(b))&&(z=!1,c=!1,o.htmlState=null,o.block=i.block,o.f=o.inline=r.startState().inline,t.pos="|"===W?t.start:t.start+1)}var j=t.current();if(z!==c&&(z?(b+=" hmd-html-begin",i.htmlBlock=o.f):b+=" hmd-html-end"),(u||q)&&(o.localMode&&u||(b=b.replace("inline-code","")),b+=" line-HyperMD-codeblock line-background-HyperMD-codeblock-bg hmd-codeblock",q!==u&&(q?u||(b+=" line-HyperMD-codeblock-begin line-background-HyperMD-codeblock-begin-bg"):b+=" line-HyperMD-codeblock-end line-background-HyperMD-codeblock-end-bg"),!1!==o.list&&(null===(a=o.listStack)||void 0===a?void 0:a.length)>0&&(b+=" line-HyperMD-list-line-nobullet line-HyperMD-list-line")),g){var U=o.hmdTable;if(p&&U)(U==HB.SIMPLE?eV:nV).test(t.string)?(o.hmdTableCol=0,o.hmdTableRow++):lV(o);if(p&&o.header&&(/^(?:---+|===+)\s*$/.test(t.string)&&o.prevLine&&o.prevLine.header?b+=" line-HyperMD-header-line line-HyperMD-header-line-"+o.header:b+=" line-HyperMD-header line-HyperMD-header-"+o.header),o.indentedCode&&(b+=" hmd-indented-code"),o.quote){if(t.match(/^\s*>/,!1)&&!t.eol()||(b+=" line-HyperMD-quote line-HyperMD-quote-"+o.quote+" line-parse-next",/^ {0,3}\>/.test(t.string)||(b+=" line-HyperMD-quote-lazy")),p&&(d=j.match(/^\s+/)))return t.pos=d[0].length,(b+=" hmd-indent-in-quote").trim();if(o.quote>h)(O="["===t.peek()&&t.match(/^\[!([^\]]+)\]([+\-]?)(?:\s|$)/))&&(b+=" line-HyperMD-callout hmd-callout line-HyperMD-quote line-HyperMD-quote-"+o.quote+" line-parse-next")}var _=(o.listStack[o.listStack.length-1]||0)+3,G=p&&/^\s+$/.test(j)&&(!1!==o.list||t.indentation()<=_),K=o.list&&b.contains("formatting-list");if(K||G&&(!1!==o.list||t.match(GB,!1))){var Y=o.listStack&&o.listStack.length||0;if(G){if(t.match(GB,!1))!1===o.list&&Y++;else{for(;Y>0&&t.pos1){var Z=j.length-1,X=b.replace("formatting-escape","escape")+" hmd-escape-char";return o.hmdOverride=function(e,t){return e.pos+=Z,t.hmdOverride=null,X.trim()},b+=" hmd-escape-backslash",t.pos-=Z,b}if(!b.trim()&&n.table){var Q=!1;if("|"===j.charAt(0)&&(t.pos=t.start+1,j="|",Q=!0),!U&&o.prevLine&&o.prevLine.stream&&o.prevLine.stream.string.trim()&&!o.wasHeading&&(Q=!1),Q){if(!U){JB.test(t.string)?U=HB.SIMPLE:tV.test(t.string)&&(U=HB.NORMAL);var $=void 0;if(U){var J=t.lookAhead(1);if(U===HB.NORMAL?tV.test(J)?J=J.replace(/^\s*\|/,"").replace(/\|\s*$/,""):U=HB.NONE:U===HB.SIMPLE&&(JB.test(J)||(U=HB.NONE)),U){$=J.split("|");for(var ee=0;ee<$.length;ee++){var te=$[ee];if(iV.test(te))te="right";else if(rV.test(te))te="left";else if(oV.test(te))te="center";else{if(!aV.test(te)){U=HB.NONE;break}te="default"}$[ee]=te}}}U&&(o.hmdTable=U,o.hmdTableColumns=$,"rtl"===yv(t.string)&&(o.hmdTableRTL=!0),o.hmdTableRow=o.hmdTableCol=0)}if(U){var ne=o.hmdTableColumns.length-1,ie=(te=o.hmdTableRow,o.hmdTableCol);0==ie&&(b+=" line-HyperMD-table-".concat(U," line-HyperMD-table-row line-HyperMD-table-row-").concat(te," line-parse-next"),o.hmdTableRTL&&(b+=" line-HyperMD-table-rtl")),U===HB.NORMAL&&(0===o.hmdTableCol&&/^\s*\|$/.test(t.string.slice(0,t.pos))||t.match(/^\s*$/,!1))?b+=" hmd-table-sep hmd-table-sep-dummy":o.hmdTableCol":"!"===t.peek()&&t.match("![CDATA[")?re="]]>":"?"===t.peek()&&(re="?>"),null!=re)return l(t,o,null,{endTag:re,style:(b+" comment hmd-cdata-html").trim()})}if(n.hashtag&&y)if(o.hmdHashtag){var oe=!1;if(!(b=b.replace(/((formatting )?formatting-em|em) /g,"")).contains("formatting")&&!/^\s*$/.test(j)){d=j.match(ZB);var ae=j.length-(d?d[0].length:0);ae>0&&(t.backUp(ae),oe=!0)}if(oe||(oe=t.eol()),oe||(oe=!ZB.test(t.peek())),oe)b+=" hashtag-end "+(ce="tag-"+(ce=t.current()).replace(/[^_a-zA-Z0-9\-]/g,"")),o.hmdHashtag=!1}else if("#"===j&&!o.linkText&&!o.image&&(p||/^\s*$/.test(t.string.charAt(t.start-1)))){var se=t.string.slice(t.pos).replace(/\\./g,""),le=ZB.exec(se);if(le&&/[^0-9]/.test(le[0])){var ce="tag-"+le[0].replace(/[^_a-zA-Z0-9\-]/g,"");o.hmdHashtag=!0,b+=" formatting formatting-hashtag hashtag-begin "+n.tokenTypeOverrides.hashtag+" "+ce}}}return b.trim()||null},o}),"hypermd"),_B.defineMIME("text/x-hypermd","hypermd");var hV=function(){function e(e){this.hoverPopover=null,this.app=e}return e.prototype.renderFileLink=function(e,t,n){var i,r,o=this,a=this.app;if(e instanceof zC)r=(i=e).path;else{var s=lS(e);i=a.metadataCache.getFirstLinkpathDest(s,""),r=s}n.addClass("markdown-rendered");var l=n.createEl("a",{cls:"internal-link"});t?t.renderTo(l,this):String.isString(e)?l.setText(tE(e)):l.setText(i?i.getShortName():r),l.href=r,l.toggleClass("is-unresolved",!i),Ic(l),l.onClickEvent((function(e){0!==e.button&&1!==e.button||(e.preventDefault(),a.workspace.openLinkText(r,"",Ag.isModEvent(e)))})),l.addEventListener("contextmenu",(function(t){var n=Ng.forEvent(t).addSections(["title","open","action-primary","action","info","view","system","","danger"]);a.workspace.handleLinkContextMenu(n,r,""),e instanceof zC&&n.addItem((function(e){return e.setSection("danger").setTitle(lm.interface.menu.deleteFile()).setIcon("lucide-trash-2").setWarning(!0).onClick((function(){return a.fileManager.promptForDeletion(i)}))}))})),a.dragManager.handleDrag(l,(function(e){return a.dragManager.dragLink(e,r,"")})),l.addEventListener("mouseover",(function(e){Lc(e,l)&&a.workspace.trigger("hover-link",{event:e,source:"bases",hoverParent:o,targetEl:l,linktext:r})}))},e.prototype.renderExternalLink=function(e,t,n){var i=this.app,r=n.createEl("a",{href:e,cls:"external-link",attr:{target:"_blank",rel:"noopener"}});t?t.renderTo(r,this):r.setText(e),r.addEventListener("contextmenu",(function(t){var n=Ng.forEvent(t).addSections(["title","open","action","info","view","","danger"]);i.workspace.handleExternalLinkContextMenu(n,e)}))},e.prototype.renderTag=function(e,t){var n=this,i=e.slice(1);t.createEl("a",{cls:"tag",text:i}),t.addEventListener("click",(function(e){var t=n.app.internalPlugins.getEnabledPluginById("global-search");t&&t.openGlobalSearch("tag:"+i)}))},e}(),pV=function(){function e(){this.icon="lucide-file-question"}return e.toString=function(){return this.type},e.equals=function(e,t){return e===t||e&&t&&e.constructor===t.constructor&&e.equals(t)},e.looseEquals=function(e,t){return e===t||!(!e||!t)&&(!(e.constructor!==t.constructor||!e.equals(t))||(e.looseEquals(t)||t.looseEquals(e)))},e.prototype.equals=function(e){return!1},e.prototype.looseEquals=function(e){return!1},e.prototype.renderTo=function(e,t){e.setText(this.toString())},e.prototype.keys=function(){return[]},Object.defineProperty(e.prototype,"type",{get:function(){return this.constructor},enumerable:!1,configurable:!0}),e.prototype.objectAccess=function(e){return null},e.type="Any",e}(),dV=function(e){function t(){var n=e.call(this)||this;if(t.value)throw new Error("Use NullValue.value instead of creating a new NullValue.");return n}return m(t,e),t.prototype.toString=function(){return"null"},t.prototype.isTruthy=function(){return!1},t.prototype.equals=function(){return!0},t.prototype.renderTo=function(e){},t.type="Null",t.value=new t,t}(pV),fV=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(pV),mV=function(e){function t(t){var n=e.call(this)||this;return n.data=t,n}return m(t,e),t.prototype.toString=function(){return String(this.data)},t.prototype.isTruthy=function(){return!!this.data},t.prototype.equals=function(e){return this.data===e.data},t.prototype.looseEquals=function(e){return e instanceof t&&this.data==e.data},t}(fV),vV=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.icon="lucide-text",t}return m(t,e),t.prototype.toString=function(){return this.data},t.prototype.keys=function(){return e.prototype.keys.call(this).concat(["length"])},t.prototype.objectAccess=function(t){return"length"===t.toLowerCase()?new gV(this.data.length):e.prototype.objectAccess.call(this,t)},t.prototype.renderTo=function(e,t){e.setText(this.data)},t.type="String",t}(mV),gV=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.icon="lucide-binary",t}return m(t,e),t.prototype.renderTo=function(e,t){isFinite(this.data)||isNaN(this.data)?e.setText(this.toString()):e.setText("∞")},t.type="Number",t}(mV),yV=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.icon="lucide-check-square",t}return m(t,e),t.prototype.isTruthy=function(){return this.data},t.prototype.renderTo=function(e){e.createEl("input",{type:"checkbox",attr:{disabled:!0}}).checked=this.data},t.type="Boolean",t}(mV),bV=function(e){function t(t){var n=e.call(this)||this;return n.icon="lucide-list",n.lazyEvaluator=function(e,t){return FV(t)},n.data=t,n}return m(t,e),t.prototype.getNumbers=function(){for(var e=[],t=0,n=this.data;t0},t.prototype.includes=function(e){for(var t=this.data,n=0;n acc || acc == null, value, acc), null)',Sum:'values.filter(value.isType("number")).reduce(value + acc, 0).round(2)',Range:'values.filter(value.isType("number")).reduce(if(value > acc || acc == null, value, acc), null) - values.filter(value.isType("number")).reduce(if(value < acc || acc == null, value, acc), null)',Median:"values.median()",Stddev:"values.stddev().round(2)"}],[MV,{Earliest:'values.filter(value.isType("date")).reduce(if(value < acc || acc == null, value, acc), null)',Latest:'values.filter(value.isType("date")).reduce(if(value > acc || acc == null, value, acc), null)',Range:'(values.filter(value.isType("date")).reduce(if(value > acc || acc == null, value, acc), null) - values.filter(value.isType("date")).reduce(if(value < acc || acc == null, value, acc), null))'}],[yV,{Checked:"values.filter(value == true).length",Unchecked:"values.filter(value == false).length"}],[pV,{Empty:'values.filter(value.isType("null")).length',Filled:'values.filter(!value.isType("null")).length',Unique:"values.unique().length"}]]);var RV,BV=function(){function e(e,t){this.app=e,this.values=t}return e.prototype.keys=function(){return["values"]},e.prototype.getByIdentifier=function(e){return"values"===e.toLowerCase()?new bV(this.values):dV.value},e}(),VV=function(e){function t(t){return e.call(this,t,[])||this}return m(t,e),t}(BV),HV=new xu;function zV(e){return me.define({combine:e?function(t){return t.concat(e)}:void 0})}var qV=new xu,WV=function(){function e(e,t,n,i){void 0===n&&(n=[]),void 0===i&&(i=""),this.data=e,this.name=i,nt.prototype.hasOwnProperty("tree")||Object.defineProperty(nt.prototype,"tree",{get:function(){return _V(this)}}),this.parser=t,this.extension=[eH.of(this),nt.languageData.of((function(e,t,n){var i=jV(e,t,n),r=i.type.prop(HV);if(!r)return[];var o=e.facet(r),a=i.type.prop(qV);if(a)for(var s=i.resolve(t-i.from,n),l=0,c=a;lc)return}}for(var u=0;u=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)},e}(),KV=null,YV=function(){function e(e,t,n,i,r,o,a,s){void 0===n&&(n=[]),this.parser=e,this.state=t,this.fragments=n,this.tree=i,this.treeLen=r,this.viewport=o,this.skipped=a,this.scheduleOn=s,this.parse=null,this.tempSkipped=[]}return e.create=function(t,n,i){return new e(t,n,[],Fu.empty,0,i,[],null)},e.prototype.startParse=function(){return this.parser.startParse(new GV(this.state.doc),this.fragments)},e.prototype.work=function(e,t){var n=this;return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=Fu.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext((function(){var i;if("number"==typeof e){var r=Date.now()+e;e=function(){return Date.now()>r}}for(n.parse||(n.parse=n.startParse()),null!=t&&(null==n.parse.stoppedAt||n.parse.stoppedAt>t)&&t=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext((function(){for(;!(t=n.parse.advance()););})),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(eh.addTree(this.tree,this.fragments,!0)),this.parse=null)},e.prototype.withContext=function(e){var t=KV;KV=this;try{return e()}finally{KV=t}},e.prototype.withoutTempSkipped=function(e){for(var t=void 0;t=this.tempSkipped.pop();)e=ZV(e,t.from,t.to);return e},e.prototype.changes=function(t,n){var i=this,r=i.fragments,o=i.tree,a=i.treeLen,s=i.viewport,l=i.skipped;if(this.takeTree(),!t.empty){var c=[];if(t.iterChangedRanges((function(e,t,n,i){return c.push({fromA:e,toA:t,fromB:n,toB:i})})),r=eh.applyChanges(r,c),o=Fu.empty,a=0,s={from:t.mapPos(s.from,-1),to:t.mapPos(s.to,1)},this.skipped.length){l=[];for(var u=0,h=this.skipped;ue.from&&(this.fragments=ZV(this.fragments,r,o),this.skipped.splice(n--,1))}return!(this.skipped.length>=t)&&(this.reset(),!0)},e.prototype.reset=function(){this.parse&&(this.takeTree(),this.parse=null)},e.prototype.skipUntilInView=function(e,t){this.skipped.push({from:e,to:t})},e.getSkippingParser=function(e){return new(function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return m(n,t),n.prototype.createParse=function(t,n,i){var r=i[0].from,o=i[i.length-1].to,a={parsedPos:r,advance:function(){var t=KV;if(t){for(var n=0,a=i;n=e&&t.length&&0==t[0].from&&t[0].to>=e},e.get=function(){return KV},e}();function ZV(e,t,n){return eh.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}var XV=function(){function e(e){this.context=e,this.tree=e.tree}return e.prototype.apply=function(t){if(!t.docChanged&&this.tree==this.context.tree)return this;var n=this.context.changes(t.changes,t.state),i=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,i)||n.takeTree(),new e(n)},e.init=function(t){var n=Math.min(3e3,t.doc.length),i=YV.create(t.facet(eH).parser,t,{from:0,to:n});return i.work(20,n)||i.takeTree(),new e(i)},e}();WV.state=ke.define({create:XV.init,update:function(e,t){for(var n=0,i=t.effects;nt.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)},e.prototype.scheduleWork=function(){if(!this.working){var e=this.view.state,t=e.field(WV.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=QV(this.work))}},e.prototype.work=function(e){this.working=null;var t=Date.now();if(this.chunkEndr+1e3,l=o.context.work((function(){return $V&&$V()||Date.now()>a}),r+(s?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:WV.setState.of(new XV(o.context))})),this.chunkBudget>0&&(!l||s)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}}},e.prototype.checkAsyncSchedule=function(e){var t=this;e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then((function(){return t.scheduleWork()})).catch((function(e){return Ri(t.view.state,e)})).then((function(){return t.workScheduled--})),e.scheduleOn=null)},e.prototype.destroy=function(){this.working&&this.working()},e.prototype.isWorking=function(){return!!(this.working||this.workScheduled>0)},e}(),{eventHandlers:{focus:function(){this.scheduleWork()}}}),eH=me.define({combine:function(e){return e.length?e[0]:null},enables:function(e){return[WV.state,JV,jo.contentAttributes.compute([e],(function(t){var n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}}))]}}),tH=function(e,t){void 0===t&&(t=[]),this.language=e,this.support=t,this.extension=[e,t]},nH=(function(){function e(e,t,n,i,r,o){void 0===o&&(o=void 0),this.name=e,this.alias=t,this.extensions=n,this.filename=i,this.loadFunc=r,this.support=o,this.loading=null}e.prototype.load=function(){var e=this;return this.loading||(this.loading=this.loadFunc().then((function(t){return e.support=t}),(function(t){throw e.loading=null,t})))},e.of=function(t){var n=t.load,i=t.support;if(!n){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");n=function(){return Promise.resolve(i)}}return new e(t.name,(t.alias||[]).concat(t.name).map((function(e){return e.toLowerCase()})),t.extensions||[],t.filename,n,i)},e.matchFilename=function(e,t){for(var n=0,i=e;n-1)return s}return null},e.matchLanguageName=function(e,t,n){void 0===n&&(n=!0),t=t.toLowerCase();for(var i=0,r=e;i-1&&(u.length>2||!/\w/.test(t[h-1])&&!/\w/.test(t[h+u.length])))return s}return null}}(),me.define({combine:function(e){if(!e.length)return" ";var t=e[0];if(!t||/\S/.test(t)||Array.from(t).some((function(e){return e!=t[0]})))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}}));function iH(e){var t=e.facet(nH);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}var rH=function(){function e(e,t){void 0===t&&(t={}),this.state=e,this.options=t,this.unit=iH(e)}return e.prototype.lineAt=function(e,t){void 0===t&&(t=1);var n=this.state.doc.lineAt(e),i=this.options,r=i.simulateBreak,o=i.simulateDoubleBreak;return null!=r&&r>=n.from&&r<=n.to?o&&r==e?{text:"",from:e}:(t<0?r-1&&(o+=a-this.countColumn(i,i.search(/\S|$/))),o},e.prototype.countColumn=function(e,t){return void 0===t&&(t=e.length),wt(e,this.state.tabSize,t)},e.prototype.lineIndent=function(e,t){void 0===t&&(t=1);var n=this.lineAt(e,t),i=n.text,r=n.from,o=this.options.overrideIndentation;if(o){var a=o(r);if(a>-1)return a}return this.countColumn(i,i.search(/\S|$/))},Object.defineProperty(e.prototype,"simulatedBreak",{get:function(){return this.options.simulateBreak||null},enumerable:!1,configurable:!0}),e}(),oH=new xu;function aH(e,t,n){for(var i=e;i;i=i.next){var r=sH(i.node);if(r)return r(cH.create(t,n,i))}return 0}function sH(e){var t=e.type.prop(oH);if(t)return t;var n,i=e.firstChild;if(i&&(n=i.type.prop(xu.closedBy))){var r=e.lastChild,o=r&&n.indexOf(r.name)>-1;return function(e){return hH(e,!0,1,void 0,o&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?r.from:void 0)}}return null==e.parent?lH:null}function lH(){return 0}var cH=function(e){function t(t,n,i){var r=e.call(this,t.state,t.options)||this;return r.base=t,r.pos=n,r.context=i,r}return m(t,e),Object.defineProperty(t.prototype,"node",{get:function(){return this.context.node},enumerable:!1,configurable:!0}),t.create=function(e,n,i){return new t(e,n,i)},Object.defineProperty(t.prototype,"textAfter",{get:function(){return this.textAfterPos(this.pos)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"baseIndent",{get:function(){return this.baseIndentFor(this.node)},enumerable:!1,configurable:!0}),t.prototype.baseIndentFor=function(e){for(var t=this.state.doc.lineAt(e.from);;){for(var n=e.resolve(t.from);n.parent&&n.parent.from==n.from;)n=n.parent;if(uH(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)},t.prototype.continue=function(){return aH(this.context.next,this.base,this.pos)},t}(rH);function uH(e,t){for(var n=t;n;n=n.parent)if(e==n)return!0;return!1}function hH(e,t,n,i,r){var o=e.textAfter,a=o.match(/^\s*/)[0].length,s=i&&o.slice(a,a+i.length)==i||r==e.pos+a,l=t?function(e){var t=e.node,n=t.childAfter(t.from),i=t.lastChild;if(!n)return null;for(var r=e.options.simulateBreak,o=e.state.doc.lineAt(n.from),a=null==r||r<=o.from?o.to:Math.min(o.to,r),s=n.to;;){var l=t.childAfter(s);if(!l||l==i)return null;if(!l.type.isSkipped){if(l.from>=a)return null;var c=/^ */.exec(o.text.slice(n.to-o.from))[0].length;return{from:n.from,to:n.to+c}}s=l.to}}(e):null;return l?s?e.column(l.from):e.column(l.to):e.baseIndent+(s?0:e.unit*n)}function pH(e,t){var n=t.mapPos(e.from,1),i=t.mapPos(e.to,-1);return n>=i?void 0:{from:n,to:i}}var dH=Ue.define({map:pH}),fH=Ue.define({map:pH});var mH=ke.define({create:function(){return Vn.none},update:function(e,t){e=e.map(t.changes);for(var n=function(n){if(n.is(dH)&&!function(e,t,n){var i=!1;return e.between(t,t,(function(e,r){e==t&&r==n&&(i=!0)})),i}(e,n.value.from,n.value.to)){var i=t.state.facet(yH).preparePlaceholder,r=i?Vn.replace({widget:new kH(i(t.state,n.value))}):wH;e=e.update({add:[r.range(n.value.from,n.value.to)]})}else n.is(fH)&&(e=e.update({filter:function(e,t){return n.value.from!=e||n.value.to!=t},filterFrom:n.value.from,filterTo:n.value.to}))},i=0,r=t.effects;ia&&(o=!0)})),o&&(e=e.update({filterFrom:a,filterTo:a,filter:function(e,t){return t<=a||e>=a}}))}return e},provide:function(e){return jo.decorations.from(e)},toJSON:function(e,t){var n=[];return e.between(0,t.doc.length,(function(e,t){n.push(e,t)})),n},fromJSON:function(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");for(var t=[],n=0;ne)&&(r={from:e,to:t})})),r}var gH={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},yH=me.define({combine:function(e){return it(e,gH)}});function bH(e,t){var n=e.state,i=n.facet(yH),r=function(t){var n=e.lineBlockAt(e.posAtDOM(t.target)),i=vH(e.state,n.from,n.to);i&&e.dispatch({effects:fH.of(i)}),t.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(e,r,t);var o=document.createElement("span");return o.textContent=i.placeholderText,o.setAttribute("aria-label",n.phrase("folded code")),o.title=n.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=r,o}var wH=Vn.replace({widget:new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.toDOM=function(e){return bH(e,null)},t}(Rn))}),kH=function(e){function t(t){var n=e.call(this)||this;return n.value=t,n}return m(t,e),t.prototype.eq=function(e){return this.value==e.value},t.prototype.toDOM=function(e){return bH(e,this.value)},t}(Rn);!function(e){function t(t,n){var i=e.call(this)||this;return i.config=t,i.open=n,i}m(t,e),t.prototype.eq=function(e){return this.config==e.config&&this.open==e.open},t.prototype.toDOM=function(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);var t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}(As);var CH=function(){function e(e,t){var n;function i(e){var t=Mt.newName();return(n||(n=Object.create(null)))["."+t]=e,t}this.specs=e;var r="string"==typeof t.all?t.all:t.all?i(t.all):void 0,o=t.scope;this.scope=o instanceof WV?function(e){return e.prop(HV)==o.data}:o?function(e){return e==o}:void 0,this.style=Eh(e.map((function(e){return{tag:e.tag,class:e.class||i(Object.assign({},e,{tag:null}))}})),{all:r}).style,this.module=n?new Mt(n):null,this.themeType=t.themeType}return e.define=function(t,n){return new e(t,n||{})},e}(),EH=me.define(),SH=me.define({combine:function(e){return e.length?[e[0]]:null}});function MH(e){var t=e.facet(EH);return t.length?t:e.facet(SH)}var xH=function(){function e(e){this.markCache=Object.create(null),this.tree=_V(e.state),this.decorations=this.buildDeco(e,MH(e.state)),this.decoratedTo=e.viewport.to}return e.prototype.update=function(e){var t=_V(e.state),n=MH(e.state),i=n!=MH(e.startState),r=e.view.viewport,o=e.changes.mapPos(this.decoratedTo,1);t.length=r.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||i)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=r.to)},e.prototype.buildDeco=function(e,t){var n=this;if(!t||!this.tree.length)return Vn.none;for(var i=new ct,r=0,o=e.visibleRanges;r0&&zH(t.state,a.head-1,1,i)||i.afterCursor&&(zH(t.state,a.head,1,i)||a.head-1&&r%2==(t<0?1:0))return[n[r+t]]}return null}function HH(e){var t=e.type.prop(BH);return t?t(e.node):e}function zH(e,t,n,i){void 0===i&&(i={});for(var r=i.maxScanDistance||1e4,o=i.brackets||AH,a=_V(e),s=a.resolveInner(t,n),l=s;l;l=l.parent){var c=VH(l.type,n,o);if(c&&l.from0?t>=u.from&&tu.from&&t<=u.to))return qH(e,t,n,l,u,c,o)}}return function(e,t,n,i,r,o,a){var s=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=a.indexOf(s);if(l<0||l%2==0!=n>0)return null;for(var c={from:n<0?t-1:t,to:n>0?t+1:t},u=e.doc.iterRange(t,n>0?e.doc.length:0),h=0,p=0;!u.next().done&&p<=o;){var d=u.value;n<0&&(p+=d.length);for(var f=t+p*n,m=n>0?0:d.length-1,v=n>0?d.length:-1;m!=v;m+=n){var g=a.indexOf(d[m]);if(!(g<0||i.resolveInner(f+m,1).type!=r))if(g%2==0==n>0)h++;else{if(1==h)return{start:c,end:{from:f+m,to:f+m+1},matched:g>>1==l>>1};h--}}n>0&&(p+=d.length)}return u.done?{start:c,matched:!1}:null}(e,t,n,a,s.type,r,o)}function qH(e,t,n,i,r,o,a){var s=i.parent,l={from:r.from,to:r.to},c=0,u=null==s?void 0:s.cursor();if(u&&(n<0?u.childBefore(i.from):u.childAfter(i.to)))do{if(n<0?u.to<=i.from:u.from>=i.to){if(0==c&&o.indexOf(u.type.name)>-1&&u.from=this.string.length},e.prototype.sol=function(){return 0==this.pos},e.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},e.prototype.next=function(){if(this.post},e.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},e.prototype.skipToEnd=function(){this.pos=this.string.length},e.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},e.prototype.backUp=function(e){this.pos-=e},e.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)},e.prototype.current=function(){return this.string.slice(this.start,this.pos)},e}();function UH(e){if("object"!=typeof e)return e;var t={};for(var n in e){var i=e[n];t[n]=i instanceof Array?i.slice():i}return t}var _H=new WeakMap;!function(e){function t(t){var n,i,r=this,o=zV(t.languageData),a={name:(i=t).name||"",token:i.token,blankLine:i.blankLine||function(){},startState:i.startState||function(){return!0},copyState:i.copyState||UH,indent:i.indent||function(){return null},languageData:i.languageData||{},tokenTable:i.tokenTable||XH,mergeTokens:!1!==i.mergeTokens},s=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.createParse=function(e,t,i){return new YH(n,e,t,i)},t}(th));return(r=e.call(this,o,s,[],t.name)||this).topNode=function(e,t){var n=Au.define({id:QH.length,name:"Document",props:[HV.add((function(){return e})),oH.add((function(){return function(e){return t.getIndent(e)}}))],top:!0});return QH.push(n),n}(o,r),n=r,r.streamParser=a,r.stateAfter=new xu({perNode:!0}),r.tokenTable=t.tokenTable?new sz(a.tokenTable):lz,r}m(t,e),t.define=function(e){return new t(e)},t.prototype.getIndent=function(e){var t=void 0,n=e.options.overrideIndentation;n&&null!=(t=_H.get(e.state))&&t1e4)return null;for(;i=i&&n+t.length<=r&&t.prop(e.stateAfter);if(o)return{state:e.streamParser.copyState(o),pos:n+t.length};for(var a=t.children.length-1;a>=0;a--){var s=t.children[a],l=n+t.positions[a],c=s instanceof Fu&&l=t.length)return t;r||0!=n||t.type!=e.topNode||(r=!0);for(var o=t.children.length-1;o>=0;o--){var a=t.positions[o],s=t.children[o],l=void 0;if(an&&GH(e,s.tree,0-s.offset,n,c),h=void 0;if(u&&u.pos<=i&&(h=KH(e,s.tree,n+s.offset,u.pos+s.offset,!1)))return{state:u.state,tree:h}}return{state:e.streamParser.startState(r?iH(r):4),tree:Fu.empty}}(e,n,o,this.to,null==r?void 0:r.state),s=a.state,l=a.tree;this.state=s,this.parsedPos=this.chunkStart=o+l.length;for(var c=0;c=r.viewport.from}))&&(this.state=this.lang.streamParser.startState(iH(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}return e.prototype.advance=function(){var e=YV.get(),t=null==this.stoppedAt?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+2048);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null},e.prototype.stopAt=function(e){this.stoppedAt=e},e.prototype.lineAfter=function(e){var t=this.input.chunk(e);if(this.input.lineChunks)"\n"==t&&(t="");else{var n=t.indexOf("\n");n>-1&&(t=t.slice(0,n))}return e+t.length<=this.to?t:t.slice(0,this.to-e)},e.prototype.nextLine=function(){for(var e=this.parsedPos,t=this.lineAfter(e),n=e+t.length,i=this.rangeIndex;;){var r=this.ranges[i].to;if(r>=n)break;if(t=t.slice(0,r-(n-t.length)),++i==this.ranges.length)break;var o=this.ranges[i].from,a=this.lineAfter(o);t+=a,n=o+a.length}return{line:t,end:n}},e.prototype.skipGapsTo=function(e,t,n){for(;;){var i=this.ranges[this.rangeIndex].to,r=e+t;if(n>0?i>r:i>=r)break;t+=this.ranges[++this.rangeIndex].from-i}return t},e.prototype.moveRangeIndex=function(){for(;this.ranges[this.rangeIndex].to1){t+=i=this.skipGapsTo(t,i,1);var o=this.chunk.length;n+=i=this.skipGapsTo(n,i,-1),r+=this.chunk.length-o}var a=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&4==r&&a>=0&&this.chunk[a]==e&&this.chunk[a+2]==t?this.chunk[a+2]=n:this.chunk.push(e,t,n,r),i},e.prototype.parseLine=function(e){var t=this.nextLine(),n=t.line,i=t.end,r=0,o=this.lang.streamParser,a=new jH(n,e?e.state.tabSize:4,e?iH(e.state):2);if(a.eol())o.blankLine(this.state,a.indentUnit);else for(;!a.eol();){var s=ZH(o.token,a,this.state);if(s&&(r=this.emitToken(this.lang.tokenTable.resolve(s),this.parsedPos+a.start,this.parsedPos+a.pos,r)),a.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPost.start)return r}throw new Error("Stream parser failed to advance stream.")}for(var XH=Object.create(null),QH=[Au.none],$H=new Lu(QH),JH=[],ez=Object.create(null),tz=Object.create(null),nz=0,iz=[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]];nz-1||(JH.push(e),console.warn(t))}function uz(e,t){for(var n,i=[],r=0,o=t.split(" ");rc&&(c=o.to)>=u))for(i+n.value.lengthh-10?o.to=Math.min(u,p):r.push(o={from:h,to:Math.min(u,p)})),p>=u)break;i=p,n.next()}}return r}(r,e.state.doc));for(var o=0,a=r;o0){var n=Math.pow(10,t.data);return new gV(Math.round(e.data*n)/n)}return new gV(Math.round(e.data))},t}(kz))),Sz.addForType(gV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="ceil",t.docString=vz.labelNumberCeil,t}return m(t,e),t.prototype.operate=function(e){return Math.ceil(e)},t}(Mz))),Sz.addForType(gV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="floor",t.docString=vz.labelNumberFloor,t}return m(t,e),t.prototype.operate=function(e){return Math.floor(e)},t}(Mz))),Sz.addForType(gV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="abs",t.docString=vz.labelNumberAbs,t}return m(t,e),t.prototype.operate=function(e){return Math.abs(e)},t}(Mz))),Sz.addForType(gV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="toFixed",t.params=[gz("self",gV),gz("precision",gV)],t.docString=vz.labelNumberToFixed,t}return m(t,e),t.prototype.apply=function(e,t){return new vV(e.data.toFixed(t.data))},t}(kz))),Sz.addForType(gV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="isEmpty",t.params=[gz("self",gV)],t.docString=vz.labelNumberIsEmpty,t}return m(t,e),t.prototype.operate=function(e){return!1},t}(Cz))),Sz.addForType(bV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="isEmpty",t.params=[gz("self",bV)],t.docString=vz.labelListIsEmpty,t}return m(t,e),t.prototype.operate=function(e){return 0===e.length()},t}(Cz))),Sz.addForType(bV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="median",t.params=[gz("self",bV)],t.docString=vz.labelListMedian,t}return m(t,e),t.prototype.apply=function(e){return e.median()},t}(kz))),Sz.addForType(bV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="mean",t.params=[gz("self",bV)],t.docString=vz.labelListMean,t}return m(t,e),t.prototype.apply=function(e){return e.mean()},t}(kz))),Sz.addForType(bV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="stddev",t.params=[gz("self",bV)],t.docString=vz.labelListStdDev(),t}return m(t,e),t.prototype.apply=function(e){return e.stddev()},t}(kz))),Sz.addForType(bV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="join",t.params=[gz("self",bV),gz("separator",vV)],t.docString=vz.labelListJoin,t}return m(t,e),t.prototype.apply=function(e,t){return e.join(t.data)},t}(kz))),Sz.addForType(bV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="reverse",t.params=[gz("self",bV)],t.docString=vz.labelListReverse,t}return m(t,e),t.prototype.apply=function(e){return e.reverse()},t}(kz))),Sz.addForType(bV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="flat",t.params=[gz("self",bV)],t.docString=vz.labelListFlat,t}return m(t,e),t.prototype.apply=function(e){return e.flatten()},t}(kz))),Sz.addForType(bV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="unique",t.params=[gz("self",bV)],t.docString=vz.labelListUnique,t}return m(t,e),t.prototype.apply=function(e){return e.unique()},t}(kz))),Sz.addForType(bV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="contains",t.params=[gz("self",bV),wz("value","text",pV)],t.docString=vz.labelListContains,t}return m(t,e),t.prototype.operate=function(e,t){return e.includes(t)},t}(Cz))),Sz.addForType(bV,new(function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="containsAny",t.params=k([gz("self",bV)],bz("values",pV),!0),t.docString=vz.labelListContainsAny,t}return m(t,e),t.prototype.operate=function(e){for(var t=[],n=1;n>19,i=65535&e,r=this.p.parser,o=this.reducePos=2e3&&!(null===(t=this.p.parser.nodeSet.types[i])||void 0===t?void 0:t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizes;)this.stack.pop();this.reduceContext(i,l)},e.prototype.storeNode=function(e,t,n,i,r){if(void 0===i&&(i=4),void 0===r&&(r=!1),0==e&&(!this.stack.length||this.stack[this.stack.length-1]0&&0==o.buffer[a-4]&&o.buffer[a-1]>-1){if(t==n)return;if(o.buffer[a-2]>=t)return void(o.buffer[a-2]=n)}}if(r&&this.pos!=n){var s=this.buffer.length;if(s>0&&0!=this.buffer[s-4]){for(var l=!1,c=s;c>0&&this.buffer[c-2]>n;c-=4)if(this.buffer[c-1]>=0){l=!0;break}if(l)for(;s>0&&this.buffer[s-2]>n;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,i>4&&(i-=4)}this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=n,this.buffer[s+3]=i}else this.buffer.push(e,t,n,i)},e.prototype.shift=function(e,t,n,i){if(131072&e)this.pushState(65535&e,this.pos);else if(262144&e)this.pos=i,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,i,4);else{var r=e,o=this.p.parser;(i>this.pos||t<=o.maxNode)&&(this.pos=i,o.stateFlag(r,1)||(this.reducePos=i)),this.pushState(r,n),this.shiftContext(t,n),t<=o.maxNode&&this.buffer.push(t,n,i,4)}},e.prototype.apply=function(e,t,n,i){65536&e?this.reduce(e):this.shift(e,t,n,i)},e.prototype.useNode=function(e,t){var n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);var i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(t,i),this.buffer.push(n,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))},e.prototype.split=function(){for(var t=this,n=t.buffer.length;n>0&&t.buffer[n-2]>t.reducePos;)n-=4;for(var i=t.buffer.slice(n),r=t.bufferBase+n;t&&r==t.bufferBase;)t=t.parent;return new e(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,t)},e.prototype.recoverByDelete=function(e,t){var n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190},e.prototype.canShift=function(e){for(var t=new Dz(this);;){var n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==n)return!1;if(!(65536&n))return!0;t.reduce(n)}},e.prototype.recoverByInsert=function(e){if(this.stack.length>=300)return[];var t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){for(var n=[],i=0,r=void 0;i>19,i=65535&t,r=this.stack.length-3*n;if(r<0||e.getGoto(this.stack[r],i,!1)<0){var o=this.findForcedReduction();if(null==o)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0},e.prototype.findForcedReduction=function(){var e=this,t=this.p.parser,n=[],i=function(r,o){if(!n.includes(r))return n.push(r),t.allActions(r,(function(n){if(393216&n);else if(65536&n){var r=(n>>19)-o;if(r>1){var a=65535&n,s=e.stack.length-3*r;if(s>=0&&t.getGoto(e.stack[s],a,!1)>=0)return r<<19|65536|a}}else{var l=i(n,o+1);if(null!=l)return l}}))};return i(this.state,0)},e.prototype.forceAll=function(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this},Object.defineProperty(e.prototype,"deadEnd",{get:function(){if(3!=this.stack.length)return!1;var e=this.p.parser;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)},enumerable:!1,configurable:!0}),e.prototype.restart=function(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0},e.prototype.sameState=function(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(var t=0;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)},e.prototype.close=function(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()},e}(),Tz=function(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0},Dz=function(){function e(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}return e.prototype.reduce=function(e){var t=65535&e,n=e>>19;0==n?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(n-1);var i=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=i},e}(),Az=function(){function e(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,0==this.index&&this.maybeNext()}return e.create=function(t,n){return void 0===n&&(n=t.bufferBase+t.buffer.length),new e(t,n,n-t.bufferBase)},e.prototype.maybeNext=function(){var e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)},Object.defineProperty(e.prototype,"id",{get:function(){return this.buffer[this.index-4]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"start",{get:function(){return this.buffer[this.index-3]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"end",{get:function(){return this.buffer[this.index-2]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"size",{get:function(){return this.buffer[this.index-1]},enumerable:!1,configurable:!0}),e.prototype.next=function(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()},e.prototype.fork=function(){return new e(this.stack,this.pos,this.index)},e}();function Pz(e,t){if(void 0===t&&(t=Uint16Array),"string"!=typeof e)return e;for(var n=null,i=0,r=0;i=92&&a--,a>=34&&a--;var l=a-32;if(l>=46&&(l-=46,s=!0),o+=l,s)break;o*=46}n?n[r++]=o:n=new t(o)}return n}var Lz=function(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0},Iz=new Lz,Oz=function(){function e(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Iz,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}return e.prototype.resolveOffset=function(e,t){for(var n=this.range,i=this.rangeIndex,r=this.pos+e;rn.to:r>=n.to;){if(i==this.ranges.length-1)return null;r+=(o=this.ranges[++i]).from-n.to,n=o}return r},e.prototype.clipPos=function(e){if(e>=this.range.from&&ee)return Math.max(e,i.from)}return this.end},e.prototype.peek=function(e){var t,n,i=this.chunkOff+e;if(i>=0&&i=this.chunk2Pos&&ta.to&&(this.chunk2=this.chunk2.slice(0,a.to-t)),n=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),n},e.prototype.acceptToken=function(e,t){void 0===t&&(t=0);var n=t?this.resolveOffset(t,-1):this.pos;if(null==n||n=this.chunk2Pos&&this.posthis.range.to?n.slice(0,this.range.to-this.pos):n,this.chunkPos=this.pos,this.chunkOff=0}},e.prototype.readNext=function(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)},e.prototype.advance=function(e){for(void 0===e&&(e=1),this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()},e.prototype.setDone=function(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1},e.prototype.reset=function(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Iz,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);for(var n="",i=0,r=this.ranges;i=t)break;o.to>e&&(n+=this.input.read(Math.max(o.from,e),Math.min(o.to,t)))}return n},e}(),Fz=function(){function e(e,t){this.data=e,this.id=t}return e.prototype.token=function(e,t){var n=t.p.parser;Bz(this.data,e,t,this.id,n.data,n.tokenPrecTable)},e}();Fz.prototype.contextual=Fz.prototype.fallback=Fz.prototype.extend=!1;var Nz=function(){function e(e,t,n){this.precTable=t,this.elseToken=n,this.data="string"==typeof e?Pz(e):e}return e.prototype.token=function(e,t){for(var n=e.pos,i=0;;){var r=e.next<0,o=e.resolveOffset(1,1);if(Bz(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(null==this.elseToken)return;if(r||i++,null==o)break;e.reset(o,e.token)}i&&(e.reset(n,e.token),e.acceptToken(this.elseToken,i))},e}();Nz.prototype.contextual=Fz.prototype.fallback=Fz.prototype.extend=!1;var Rz=function(e,t){void 0===t&&(t={}),this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend};function Bz(e,t,n,i,r,o){var a,s,l,c,u,h=0,p=1<0){var v=e[m];if(d.allows(v)&&(-1==t.token.value||t.token.value==v||(a=v,s=t.token.value,u=void 0,(u=Vz(l=r,c=o,s))<0||Vz(l,c,a)y&&65535==e[f+3*b-3])){for(;y>1,k=f+w+(w<<1),C=e[k],E=e[k+1]||65536;if(g=E)){h=e[k+2],t.advance();continue e}y=w+1}}break}h=e[f+3*b-1]}}function Vz(e,t,n){for(var i=t,r=void 0;65535!=(r=e[i]);i++)if(r==n)return i-t;return-1}var Hz="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG),zz=null;function qz(e,t,n){var i=e.cursor(Pu.IncludeAnonymous);for(i.moveTo(t);;)if(!(n<0?i.childBefore(t):i.childAfter(t)))for(;;){if((n<0?i.tot)&&!i.type.isError)return n<0?Math.max(0,Math.min(i.to-1,t-25)):Math.min(e.length,Math.max(i.from+1,t+25));if(n<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return n<0?0:e.length}}var Wz=function(){function e(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}return e.prototype.nextFragment=function(){var e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?qz(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?qz(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9},e.prototype.nodeAt=function(e){if(ee)return this.nextStart=o,null;if(r instanceof Fu){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(r),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+r.length}else this.trees.pop(),this.start.pop(),this.index.pop()}},e}(),jz=function(){function e(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map((function(e){return new Lz}))}return e.prototype.getActions=function(e){for(var t=0,n=null,i=e.p.parser,r=i.tokenizers,o=i.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,s=0,l=0;lu.end+25&&(s=Math.max(u.lookAhead,s)),0!=u.value)){var h=t;if(u.extended>-1&&(t=this.addActions(e,u.extended,u.end,t)),t=this.addActions(e,u.value,u.end,t),!c.extend&&(n=u,t>h))break}}for(;this.actions.length>t;)this.actions.pop();return s&&e.setLookAhead(s),n||e.pos!=this.stream.end||((n=new Lz).value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions},e.prototype.getMainToken=function(e){if(this.mainToken)return this.mainToken;var t=new Lz,n=e.pos,i=e.p;return t.start=n,t.end=Math.min(n+1,i.stream.end),t.value=n==i.stream.end?i.parser.eofTerm:0,t},e.prototype.updateCachedToken=function(e,t,n){var i=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(i,e),n),e.value>-1){for(var r=n.p.parser,o=0;o=0&&n.p.parser.dialect.allows(a>>1)){1&a?e.extended=a>>1:e.value=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(i+1)},e.prototype.putAction=function(e,t,n,i){for(var r=0;r4*e.bufferLength?new Wz(n,e.nodeSet):null}return Object.defineProperty(e.prototype,"parsedPos",{get:function(){return this.minStackPos},enumerable:!1,configurable:!0}),e.prototype.advance=function(){var e,t,n=this.stacks,i=this.minStackPos,r=this.stacks=[];if(this.bigReductionCount>300&&1==n.length){for(var o=n[0];o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(var a=0;ai)r.push(s);else{if(this.advanceStack(s,r,n))continue;e||(e=[],t=[]),e.push(s);var l=this.tokens.getMainToken(s);t.push(l.value,l.end)}break}if(!r.length){var c=e&&function(e){for(var t=null,n=0,i=e;no)&&r.p.parser.stateFlag(r.state,2)&&(!t||t.scorethis.stoppedAt?e[0]:this.runRecovery(e,t,r)))return Hz&&console.log("Force-finish "+this.stackID(c)),this.stackToTree(c.forceAll());if(this.recovering){var u=1==this.recovering?1:3*this.recovering;if(r.length>u)for(r.sort((function(e,t){return t.score-e.score}));r.length>u;)r.pop();r.some((function(e){return e.reducePos>i}))&&this.recovering--}else if(r.length>1){e:for(a=0;a500&&p.buffer.length>500){if(!((s.score-p.score||s.buffer.length-p.buffer.length)>0)){r.splice(a--,1);continue e}r.splice(h--,1)}}}r.length>12&&r.splice(12,r.length-12)}this.minStackPos=r[0].pos;for(a=1;a ":"";if(null!=this.stoppedAt&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments)for(var a=e.curContext&&e.curContext.tracker.strict,s=a?e.curContext.hash:0,l=this.fragments.nodeAt(i);l;){var c=this.parser.nodeSet.types[l.type.id]==l.type?r.getGoto(e.state,l.type.id):-1;if(c>-1&&l.length&&(!a||(l.prop(xu.contextHash)||0)==s))return e.useNode(l,c),Hz&&console.log(o+this.stackID(e)+" (via reuse of ".concat(r.getName(l.type.id),")")),!0;if(!(l instanceof Fu)||0==l.children.length||l.positions[0]>0)break;var u=l.children[0];if(!(u instanceof Fu&&0==l.positions[0]))break;l=u}var h=r.stateSlot(e.state,4);if(h>0)return e.reduce(h),Hz&&console.log(o+this.stackID(e)+" (via always-reduce ".concat(r.getName(65535&h),")")),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););for(var p=this.tokens.getActions(e),d=0;di?t.push(y):n.push(y)}return!1},e.prototype.advanceFully=function(e,t){for(var n=e.pos;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return _z(e,t),!0}},e.prototype.runRecovery=function(e,t,n){for(var i=null,r=!1,o=0;o ":"";if(a.deadEnd){if(r)continue;if(r=!0,a.restart(),Hz&&console.log(c+this.stackID(a)+" (restarted)"),this.advanceFully(a,n))continue}for(var u=a.split(),h=c,p=0;u.forceReduce()&&p<10;p++){if(Hz&&console.log(h+this.stackID(u)+" (via force-reduce)"),this.advanceFully(u,n))break;Hz&&(h=this.stackID(u)+" -> ")}for(var d=0,f=a.recoverByInsert(s);da.pos?(l==a.pos&&(l++,s=0),a.recoverByDelete(s,l),Hz&&console.log(c+this.stackID(a)+" (via recover-delete ".concat(this.parser.getName(s),")")),_z(a,n)):(!i||i.score=0)l(d,p,h[o++]);else{for(var f=h[o+-d],m=-d;m>0;m--)l(h[o++],p,f);o++}}}i.nodeSet=new Lu(r.map((function(e,n){return Au.define({name:n>=i.minRepeatTerm?void 0:e,id:n,props:s[n],top:a.indexOf(n)>-1,error:0==n,skipped:t.skippedNodes&&t.skippedNodes.indexOf(n)>-1})}))),t.propSources&&(i.nodeSet=(n=i.nodeSet).extend.apply(n,t.propSources)),i.strict=!1,i.bufferLength=Eu;var v=Pz(t.tokenData);i.context=t.context,i.specializerSpecs=t.specialized||[],i.specialized=new Uint16Array(i.specializerSpecs.length);for(o=0;o=i[0])return-1;for(var r=i[t+1];;){var o=i[r++],a=1&o,s=i[r++];if(a&&n)return s;for(var l=r+(o>>1);r0},t.prototype.validAction=function(e,t){return!!this.allActions(e,(function(e){return e==t||null}))},t.prototype.allActions=function(e,t){for(var n=this.stateSlot(e,4),i=n?t(n):void 0,r=this.stateSlot(e,1);null==i;r+=3){if(65535==this.data[r]){if(1!=this.data[r+1])break;r=Xz(this.data,r+2)}i=t(Xz(this.data,r+1))}return i},t.prototype.nextStates=function(e){for(var t,n=[],i=function(e){if(65535==r.data[e]){if(1!=r.data[e+1])return t=e,"break";e=Xz(r.data,e+2)}if(!(1&r.data[e+2])){var i=r.data[e+1];n.some((function(e,t){return 1&t&&e==i}))||n.push(r.data[e],i)}t=e},r=this,o=this.stateSlot(e,1);;o+=3){var a=i(o);if(o=t,"break"===a)break}return n},t.prototype.configure=function(e){var n,i=Object.assign(Object.create(t.prototype),this);if(e.props&&(i.nodeSet=(n=this.nodeSet).extend.apply(n,e.props)),e.top){var r=this.topRules[e.top];if(!r)throw new RangeError("Invalid top rule name ".concat(e.top));i.top=r}return e.tokenizers&&(i.tokenizers=this.tokenizers.map((function(t){var n=e.tokenizers.find((function(e){return e.from==t}));return n?n.to:t}))),e.specializers&&(i.specializers=this.specializers.slice(),i.specializerSpecs=this.specializerSpecs.map((function(t,n){var r=e.specializers.find((function(e){return e.from==t.external}));if(!r)return t;var o=Object.assign(Object.assign({},t),{external:r.to});return i.specializers[n]=Qz(o),o}))),e.contextTracker&&(i.context=e.contextTracker),e.dialect&&(i.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(i.strict=e.strict),e.wrap&&(i.wrappers=i.wrappers.concat(e.wrap)),null!=e.bufferLength&&(i.bufferLength=e.bufferLength),i},t.prototype.hasWrappers=function(){return this.wrappers.length>0},t.prototype.getName=function(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)},Object.defineProperty(t.prototype,"eofTerm",{get:function(){return this.maxNode+1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"topNode",{get:function(){return this.nodeSet.types[this.top[1]]},enumerable:!1,configurable:!0}),t.prototype.dynamicPrecedence=function(e){var t=this.dynamicPrecedences;return null==t?0:t[e]||0},t.prototype.parseDialect=function(e){var t=Object.keys(this.dialects),n=t.map((function(){return!1}));if(e)for(var i=0,r=e.split(" ");i=0&&(n[a]=!0)}for(var s=null,l=0;lRZqP!QSOY=zZr=zrs8os!P=z!P!Q>t!Q!}=z!}#O@^#O#P:}#P;'S=z;'S;=`AU<%lO=zT>{eqP!QSOY%WZr%Ws#O%W#P#W%W#W#X>t#X#Z%W#Z#[>t#[#]%W#]#^>t#^#a%W#a#b>t#b#g%W#g#h>t#h#i%W#i#j>t#j#k>t#k#m%W#m#n>t#n;'S%W;'S;=`%o<%lO%WT@cX!QSOY@^Zr@^rs:Os#O@^#O#P:h#P#Q=z#Q;'S@^;'S;=`AO<%lO@^TARP;=`<%l@^TAXP;=`<%l=z]AehqP!QS!TWOY#uZr#urs$isw#uwx%Wx#O#u#P#W#u#W#XA[#X#Z#u#Z#[A[#[#]#u#]#^A[#^#a#u#a#bA[#b#g#u#g#hA[#h#i#u#i#jA[#j#kA[#k#m#u#m#nA[#n;'S#u;'S;=`%u<%lO#u]CWZ!QS!TWOYCPZrCPrs<|swCPwx@^x#OCP#O#P:h#P#Q6s#Q;'SCP;'S;=`Cy<%lOCP]C|P;=`<%lCP]DSP;=`<%l6s]D`]!QS!TWnPOY#uZr#urs$isw#uwx%Wx!O#u!O!P4u!P!Q#u!Q![DV![#O#u#P;'S#u;'S;=`%u<%lO#u^EbZWQ!QS!TWOY#uZr#urs$isw#uwx%Wx!_#u!_!`FT!`#O#u#P;'S#u;'S;=`%u<%lO#u^F^XWQ!QS!TWOY#uZr#urs$isw#uwx%Wx#O#u#P;'S#u;'S;=`%u<%lO#u^GQZ!QS!TWOY#uZr#urs$isw#uwx%Wx!_#u!_!`)_!`#O#u#P;'S#u;'S;=`%u<%lO#u_G|XhR!QS!TWOY#uZr#urs$isw#uwx%Wx#O#u#P;'S#u;'S;=`%u<%lO#u~HlVO#iIR#i#jIW#j#lIR#l#mIs#m;'SIR;'S;=`Jx<%lOIR~IWOp~~IZS!Q![Ig!c!iIg#T#ZIg#o#pJ]~IjR!Q![Is!c!iIs#T#ZIs~IvR!Q![JP!c!iJP#T#ZJP~JSR!Q![IR!c!iIR#T#ZIR~J`R!Q![Ji!c!iJi#T#ZJi~JlS!Q![Ji!c!iJi#T#ZJi#q#rIR~J{P;=`<%lIR_KXXfR!QS!TWOY#uZr#urs$isw#uwx%Wx#O#u#P;'S#u;'S;=`%u<%lO#u^K{Z!QS!TWOY#uZr#urs$isw#uwx%Wx#O#u#P#p#u#p#qLn#q;'S#u;'S;=`%u<%lO#u^LwXRQ!QS!TWOY#uZr#urs$isw#uwx%Wx#O#u#P;'S#u;'S;=`%u<%lO#u",tokenizers:[0,1,2,3],topRules:{program:[0,1]},specialized:[{term:27,get:e=>$z[e]||-1}],tokenPrec:476});var eq=function(){function e(e,t,n,i){this.state=e,this.pos=t,this.explicit=n,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}return e.prototype.tokenBefore=function(e){for(var t=ep(this.state).resolveInner(this.pos,-1);t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null},e.prototype.matchBefore=function(e){var t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),i=t.text.slice(n-t.from,this.pos-t.from),r=i.search(sq(e,!1));return r<0?null:{from:n+r,to:this.pos,text:i.slice(r)}},Object.defineProperty(e.prototype,"aborted",{get:function(){return null==this.abortListeners},enumerable:!1,configurable:!0}),e.prototype.addEventListener=function(e,t,n){"abort"==e&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))},e}();function tq(e){var t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),"[".concat(n?"\\w":"").concat(t.replace(/[^\w\s]/g,"\\$&"),"]")}function nq(e){var t=e.map((function(e){return"string"==typeof e?{label:e}:e})),n=t.every((function(e){return/^\w+$/.test(e.label)}))?[/\w*$/,/\w+$/]:function(e){for(var t=Object.create(null),n=Object.create(null),i=0,r=e;i-1)return t(n);if(i.type.isTop)break}return null}}function rq(e,t){return function(n){for(var i=ep(n.state).resolveInner(n.pos,-1);i;i=i.parent){if(e.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return t(n)}}var oq=function(e,t,n,i){this.completion=e,this.source=t,this.match=n,this.score=i};function aq(e){return e.selection.main.from}function sq(e,t){var n,i=e.source,r=t&&"^"!=i[0],o="$"!=i[i.length-1];return r||o?new RegExp("".concat(r?"^":"","(?:").concat(i,")").concat(o?"$":""),null!==(n=e.flags)&&void 0!==n?n:e.ignoreCase?"i":""):e}var lq=qe.define();function cq(e,t,n,i){var r=e.selection.main,o=n-r.from,a=i-r.from;return Object.assign(Object.assign({},e.changeByRange((function(s){if(s!=r&&n!=i&&e.sliceDoc(s.from+o,s.from+a)!=e.sliceDoc(n,i))return{range:s};var l=e.toText(t);return{changes:{from:s.from+o,to:i==r.from?s.to:s.from+a,insert:l},range:pe.cursor(s.from+o+l.length)}}))),{scrollIntoView:!0,userEvent:"input.complete"})}var uq=new WeakMap;function hq(e){if(!Array.isArray(e))return e;var t=uq.get(e);return t||uq.set(e,t=nq(e)),t}var pq=Ue.define(),dq=Ue.define(),fq=function(){function e(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(var t=0;t=48&&S<=57||S>=97&&S<=122?2:S>=65&&S<=90?1:0:(M=J(S))!=M.toLowerCase()?1:M!=M.toUpperCase()?2:0;(!d||1==x&&k||0==E&&0!=x)&&(n[v]==S||i[v]==S&&(g=!0)?a[v++]=d:a.length&&(C=!1)),E=x,d+=ee(S)}return v==h&&0==a[0]&&C?this.result((g?-200:0)-100,a,e):y==h&&0==b?this.ret(-200-e.length+(w==e.length?0:-100),[0,w]):u>-1?this.ret(-700-e.length,[u,u+this.pattern.length]):y==h?this.ret(-900-e.length,[b,w]):v==h?this.result((g?-200:0)-100-700+(C?0:-1100),a,e):2==n.length?null:this.result((r[0]?-700:0)-200-1100,r,e)},e.prototype.result=function(e,t,n){for(var i=[],r=0,o=0,a=t;o=m||v>t.top?a=n.bottom-t.top:(h="bottom",a=t.bottom-n.top)}var g=(t.bottom-t.top)/o.offsetHeight,y=(t.right-t.left)/o.offsetWidth;return{style:"".concat(h,": ").concat(a/g,"px; max-width: ").concat(s/y,"px"),class:"cm-completionInfo-"+(u?l?"left-narrow":"right-narrow":c?"left":"right")}}function bq(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){var i=Math.floor(t/n);return{from:i*n,to:(i+1)*n}}var r=Math.floor((e-t)/n);return{from:e-(r+1)*n,to:e-r*n}}var wq=function(){function e(e,t,n){var i=this;this.view=e,this.stateField=t,this.applyCompletion=n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:function(){return i.measureInfo()},write:function(e){return i.placeInfo(e)},key:this},this.space=null,this.currentClass="";var r=e.state.field(t),o=r.open,a=o.options,s=o.selected,l=e.state.facet(vq);this.optionContent=function(e){var t=e.addToOptions.slice();return e.icons&&t.push({render:function(e){var t,n=document.createElement("div");return n.classList.add("cm-completionIcon"),e.type&&(t=n.classList).add.apply(t,e.type.split(/\s+/g).map((function(e){return"cm-completionIcon-"+e}))),n.setAttribute("aria-hidden","true"),n},position:20}),t.push({render:function(e,t,n,i){var r=document.createElement("span");r.className="cm-completionLabel";for(var o=e.displayLabel||e.label,a=0,s=0;sa&&r.appendChild(document.createTextNode(o.slice(a,l)));var u=r.appendChild(document.createElement("span"));u.appendChild(document.createTextNode(o.slice(l,c))),u.className="cm-completionMatchedText",a=c}return a-1&&n.selected=this.range.to)&&(this.range=bq(n.options.length,n.selected,this.view.state.facet(vq).maxRenderedOptions),this.showOptions(n.options,t.id)),this.updateSelectedOption(n.selected)){this.destroyInfo();var i=n.options[n.selected].completion,r=i.info;if(!r)return;var o="string"==typeof r?document.createTextNode(r):r(i);if(!o)return;"then"in o?o.then((function(n){n&&e.view.state.field(e.stateField,!1)==t&&e.addInfoPane(n,i)})).catch((function(t){return Ri(e.view.state,t,"completion info")})):this.addInfoPane(o,i)}},e.prototype.addInfoPane=function(e,t){this.destroyInfo();var n=this.info=document.createElement("div");if(n.className="cm-tooltip cm-completionInfo",null!=e.nodeType)n.appendChild(e),this.infoDestroy=null;else{var i=e.dom,r=e.destroy;n.appendChild(i),this.infoDestroy=r||null}this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)},e.prototype.updateSelectedOption=function(e){for(var t=null,n=this.list.firstChild,i=this.range.from;n;n=n.nextSibling,i++)"LI"==n.nodeName&&n.id?i==e?n.hasAttribute("aria-selected")||(n.setAttribute("aria-selected","true"),t=n):n.hasAttribute("aria-selected")&&n.removeAttribute("aria-selected"):i--;return t&&function(e,t){var n=e.getBoundingClientRect(),i=t.getBoundingClientRect(),r=n.height/e.offsetHeight;i.topn.bottom&&(e.scrollTop+=(i.bottom-n.bottom)/r)}(this.list,t),t},e.prototype.measureInfo=function(){var e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;var t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),i=e.getBoundingClientRect(),r=this.space;if(!r){var o=this.dom.ownerDocument.defaultView||window;r={left:0,top:0,right:o.innerWidth,bottom:o.innerHeight}}return i.top>Math.min(r.bottom,t.bottom)-10||i.bottomn.from||0==n.from))if(r=u,"string"!=typeof c&&c.header)i.appendChild(c.header(c));else i.appendChild(document.createElement("completion-section")).textContent=u}var h=i.appendChild(document.createElement("li"));h.id=t+"-"+o,h.setAttribute("role","option");var p=this.optionClass(s);p&&(h.className=p);for(var d=0,f=this.optionContent;d=this.options.length?this:new e(this.options,Tq(n,t),this.tooltip,this.timestamp,t,this.disabled)},e.build=function(t,n,i,r,o,a){if(r&&!a&&t.some((function(e){return e.isPending})))return r.setDisabled();var s=function(e,t){for(var n=[],i=null,r=function(e){n.push(e);var t=e.completion.section;if(t){i||(i=[]);var r="string"==typeof t?t:t.name;i.some((function(e){return e.name==r}))||i.push("string"==typeof t?{name:r}:t)}},o=t.facet(vq),a=0,s=e;aCq(T)&&(x[x.length-1]=L),T=L.completion}return x}(t,n);if(!s.length)return r&&t.some((function(e){return e.isPending}))?r.setDisabled():null;var l=n.facet(vq).selectOnOpen?0:-1;if(r&&r.selected!=l&&-1!=r.selected)for(var c=r.options[r.selected].completion,u=0;u-1&&(n["aria-activedescendant"]=e+"-"+t),n}var Dq=[];function Aq(e,t){if(e.isUserEvent("input.complete")){var n=e.annotation(lq);if(n&&t.activateOnCompletion(n))return 12}var i=e.isUserEvent("input.type");return i&&t.activateOnTyping?5:i?1:e.isUserEvent("delete.backward")?2:e.selection?8:e.docChanged?16:0}var Pq=function(){function e(e,t,n){void 0===n&&(n=!1),this.source=e,this.state=t,this.explicit=n}return e.prototype.hasResult=function(){return!1},Object.defineProperty(e.prototype,"isPending",{get:function(){return 1==this.state},enumerable:!1,configurable:!0}),e.prototype.update=function(t,n){var i=Aq(t,n),r=this;(8&i||16&i&&this.touches(t))&&(r=new e(r.source,0)),4&i&&0==r.state&&(r=new e(this.source,1)),r=r.updateFor(t,i);for(var o=0,a=t.effects;oa||!r||2&n&&(aq(e.startState)==this.from||s-1?i.open.selected+o*(e?1:-1):e?0:a-1;return s<0?s="page"==t?0:a-1:s>=a&&(s="page"==t?a-1:0),n.dispatch({effects:Oq.of(s)}),!0}}var Vq=function(e){var t=e.state.field(Fq,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp50&&Date.now()-s.time>1e3){for(var l=0,c=s.context.abortListeners;l-1&&clearTimeout(this.debounceUpdate),e.transactions.some((function(e){return e.effects.some((function(e){return e.is(pq)}))}))&&(this.pendingStart=!0);var h=this.pendingStart?50:r.activateOnTypingDelay;if(this.debounceUpdate=i.active.some((function(e){return e.isPending&&!n.running.some((function(t){return t.active.source==e.source}))}))?setTimeout((function(){return n.startUpdate()}),h):-1,0!=this.composing)for(var p=0,d=e.transactions;p-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;for(var t,n=[],i=this.view.state.facet(vq),r=this.view.state.field(Fq),o=function(o){var s=a.running[o];if(void 0===s.done)return t=o,"continue";if(a.running.splice(o--,1),s.done){for(var l=aq(s.updates.length?s.updates[0].startState:a.view.state),c=Math.min(l,s.done.from+(s.active.explicit?0:1)),u=new Lq(s.active.source,s.active.explicit,c,s.done,s.done.from,null!==(e=s.done.to)&&void 0!==e?e:l),h=0,p=s.updates;h1||e.ctrlKey&&(!jq||!e.altKey)||e.metaKey)return!1;var i=n.open.options[n.open.selected],r=n.active.find((function(e){return e.source==i.source})),o=i.completion.commitCharacters||r.result.commitCharacters;return o&&o.indexOf(e.key)>-1&&Nq(t,i),!1}})),_q=jo.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"".concat(400,"px"),boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"".concat(30,"px")},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"".concat(30,"px")},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Gq=function(e,t,n,i){this.field=e,this.line=t,this.from=n,this.to=i},Kq=function(){function e(e,t,n){this.field=e,this.from=t,this.to=n}return e.prototype.map=function(t){var n=t.mapPos(this.from,-1,ne.TrackDel),i=t.mapPos(this.to,1,ne.TrackDel);return null==n||null==i?null:new e(this.field,n,i)},e}(),Yq=function(){function e(e,t){this.lines=e,this.fieldPositions=t}return e.prototype.instantiate=function(e,t){for(var n=[],i=[t],r=e.doc.lineAt(t),o=/^\s*/.exec(r.text)[0],a=0,s=this.lines;a=h&&v.field++}}o.push(new Gq(h,r.length,n.index,n.index+p.length)),l=l.slice(0,n.index)+u+l.slice(n.index+n[0].length)}l=l.replace(/\\([{}])/g,(function(e,t,n){for(var i=0,a=o;in&&(s.from--,s.to--)}return t})),r.push(l)}return new e(r,o)},e}(),Zq=Vn.widget({widget:new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.toDOM=function(){var e=document.createElement("span");return e.className="cm-snippetFieldPosition",e},t.prototype.ignoreEvent=function(){return!1},t}(Rn))}),Xq=Vn.mark({class:"cm-snippetField"}),Qq=function(){function e(e,t){this.ranges=e,this.active=t,this.deco=Vn.set(e.map((function(e){return(e.from==e.to?Zq:Xq).range(e.from,e.to)})))}return e.prototype.map=function(t){for(var n=[],i=0,r=this.ranges;i=e.to}))}))},e}(),$q=Ue.define({map:function(e,t){return e&&e.map(t)}}),Jq=Ue.define(),eW=ke.define({create:function(){return null},update:function(e,t){for(var n=0,i=t.effects;n0}))){var u=new Qq(s,0),h=c.effects=[$q.of(u)];void 0===e.state.field(eW,!1)&&h.push(Ue.appendConfig.of([eW,hW,dW,_q]))}e.dispatch(e.state.update(c))}}function iW(e){return function(t){var n=t.state,i=t.dispatch,r=n.field(eW,!1);if(!r||e<0&&0==r.active)return!1;var o=r.active+e,a=e>0&&!r.ranges.some((function(t){return t.field==o+e}));return i(n.update({selection:tW(r.ranges,o),effects:$q.of(a?null:new Qq(r.ranges,o)),scrollIntoView:!0})),!0}}var rW=function(e){var t=e.state,n=e.dispatch;return!!t.field(eW,!1)&&(n(t.update({effects:$q.of(null)})),!0)},oW=iW(1),aW=iW(-1);function sW(e){var t=e.field(eW,!1);return!(!t||!t.ranges.some((function(e){return e.field==t.active+1})))}function lW(e){var t=e.field(eW,!1);return!!(t&&t.active>0)}var cW=[{key:"Tab",run:oW,shift:aW},{key:"Escape",run:rW}],uW=me.define({combine:function(e){return e.length?e[0]:cW}}),hW=Te.highest(Qo.compute([uW],(function(e){return e.facet(uW)})));function pW(e,t){return Object.assign(Object.assign({},t),{apply:nW(e)})}var dW=jo.domEventHandlers({mousedown:function(e,t){var n,i=t.state.field(eW,!1);if(!i||null==(n=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;var r=i.ranges.find((function(e){return e.from<=n&&e.to>=n}));return!(!r||r.field==i.active)&&(t.dispatch({selection:tW(i.ranges,r.field),effects:$q.of(i.ranges.some((function(e){return e.field>r.field}))?new Qq(i.ranges,r.field):null),scrollIntoView:!0}),!0)}});function fW(e,t){return new RegExp(t(e.source),e.unicode?"u":"")}var mW=Object.create(null);function vW(e,t,n,i,r){for(var o=e.iterLines(),a=0;!o.next().done;){var s=o.value,l=void 0;for(t.lastIndex=0;l=t.exec(s);)if(!i[l[0]]&&a+l.index!=r&&(n.push({type:"text",label:l[0]}),i[l[0]]=!0,n.length>=2e3))return;a+=s.length+1}}function gW(e,t,n,i,r){var o=e.length>=1e3,a=o&&t.get(e);if(a)return a;var s=[],l=Object.create(null);if(e.children)for(var c=0,u=0,h=e.children;u=1e3)for(var d=0,f=gW(p,t,n,i-c,r-c);d",stringPrefixes:[]},wW=Ue.define({map:function(e,t){var n=t.mapPos(e,-1,ne.TrackAfter);return null==n?void 0:n}}),kW=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t}(rt));kW.startSide=1,kW.endSide=-1;var CW=ke.define({create:function(){return lt.empty},update:function(e,t){if(e=e.map(t.changes),t.selection){var n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:function(e){return e>=n.from&&e<=n.to}})}for(var i=0,r=t.effects;i2||2==i.length&&1==ee($(i,0))||t!=r.from||n!=r.to)return!1;var o=LW(e.state,i);return!!o&&(e.dispatch(o),!0)})),AW=function(e){var t=e.state,n=e.dispatch;if(t.readOnly)return!1;var i=xW(t,t.selection.main.head).brackets||bW.brackets,r=null,o=t.changeByRange((function(e){if(e.empty)for(var n=function(e,t){var n=e.sliceString(t-2,t);return ee($(n,0))==n.length?n:n.slice(1)}(t.doc,e.head),o=0,a=i;o-1,n):FW(e,a,s,n.before||bW.before);if(t==s&&IW(e,e.selection.main.from))return NW(e,a,s)}return null}function IW(e,t){var n=!1;return e.field(CW).between(0,e.doc.length,(function(e){e==t&&(n=!0)})),n}function OW(e,t){var n=e.sliceString(t,t+2);return n.slice(0,ee($(n,0)))}function FW(e,t,n,i){var r=null,o=e.changeByRange((function(o){if(!o.empty)return{changes:[{insert:t,from:o.from},{insert:n,from:o.to}],effects:wW.of(o.to+t.length),range:pe.range(o.anchor+t.length,o.head+t.length)};var a=OW(e.doc,o.head);return!a||/\s/.test(a)||i.indexOf(a)>-1?{changes:{insert:t+n,from:o.head},effects:wW.of(o.head+t.length),range:pe.cursor(o.head+t.length)}:{range:r=o}}));return r?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function NW(e,t,n){var i=null,r=e.changeByRange((function(t){return t.empty&&OW(e.doc,t.head)==n?{changes:{from:t.head,to:t.head+n.length,insert:n},range:pe.cursor(t.head+n.length)}:i={range:t}}));return i?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function RW(e,t,n,i){var r=i.stringPrefixes||bW.stringPrefixes,o=null,a=e.changeByRange((function(i){if(!i.empty)return{changes:[{insert:t,from:i.from},{insert:t,from:i.to}],effects:wW.of(i.to+t.length),range:pe.range(i.anchor+t.length,i.head+t.length)};var a,s=i.head,l=OW(e.doc,s);if(l==t){if(BW(e,s))return{changes:{insert:t+t,from:s},effects:wW.of(s+t.length),range:pe.cursor(s+t.length)};if(IW(e,s)){var c=n&&e.sliceDoc(s,s+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:s,to:s+c.length,insert:c},range:pe.cursor(s+c.length)}}}else{if(n&&e.sliceDoc(s-2*t.length,s)==t+t&&(a=VW(e,s-2*t.length,r))>-1&&BW(e,a))return{changes:{insert:t+t+t+t,from:s},effects:wW.of(s+t.length),range:pe.cursor(s+t.length)};if(e.charCategorizer(s)(l)!=Je.Word&&VW(e,s,r)>-1&&!function(e,t,n,i){for(var r=ep(e).resolveInner(t,-1),o=i.reduce((function(e,t){return Math.max(e,t.length)}),0),a=0;a<5;a++){var s=e.sliceDoc(r.from,Math.min(r.to,r.from+n.length+o)),l=s.indexOf(n);if(!l||l>-1&&i.indexOf(s.slice(0,l))>-1){for(var c=r.firstChild;c&&c.from==r.from&&c.to-c.from>n.length+l;){if(e.sliceDoc(c.to-n.length,c.to)==n)return!1;c=c.firstChild}return!0}var u=r.to==t&&r.parent;if(!u)break;r=u}return!1}(e,s,t,r))return{changes:{insert:t+t,from:s},effects:wW.of(s+t.length),range:pe.cursor(s+t.length)}}return{range:o=i}}));return o?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function BW(e,t){var n=ep(e).resolveInner(t+1);return n.parent&&n.from==t}function VW(e,t,n){var i=e.charCategorizer(t);if(i(e.sliceDoc(t-1,t))!=Je.Word)return t;for(var r=0,o=n;r=0?n.options[n.selected].completion:null}function GW(e){var t,n=null===(t=e.field(Fq,!1))||void 0===t?void 0:t.open;return n&&!n.disabled&&n.selected>=0?n.selected:null}function KW(e){return Oq.of(e)}var YW=CH.define([{tag:jh.arithmeticOperator,class:"token operator"},{tag:jh.logicOperator,class:"token operator"},{tag:[jh.punctuation,jh.bracket,jh.squareBracket,jh.paren],class:"token punctuation"},{tag:jh.bool,class:"token boolean"},{tag:jh.number,class:"token number"},{tag:jh.string,class:"token string"},{tag:jh.propertyName,class:"token property"},{tag:jh.function(jh.propertyName),class:"token function"},{tag:jh.regexp,class:"token regex"}]);function ZW(e,t,n,i,r){e.dispatch({changes:[{from:n,to:i,insert:r}],selection:pe.single(n+r.length),annotations:lq.of(t)})}function XW(e){return ke.define({create:function(){return null},update:function(t,n){var i,r=n.docChanged,o=n.selection,a=n.state;if(!r&&!o)return t;var s=ej(a).parent;if(!s||"Call"!==s.name)return null;var l=null===(i=a.selection.ranges.at(0))||void 0===i?void 0:i.head;if(l>s.lastChild.from)return null;for(var c,u,h,p=s.firstChild,d=[],f=p.nextSibling.nextSibling;f&&")"!==f.name;)","!==f.name&&d.push(f),f=f.nextSibling;if("ObjectAccess"===p.name){var m=p.firstChild,v=m.nextSibling.nextSibling,g=JW(a,v).toLowerCase(),y=tj(e,JW(a,m)),b=Sz.getAllForValue(y);u=Object.values(b).find((function(e){return e.name.toLowerCase()===g})),h=null==u?void 0:u.params.slice(1),c=v.from}else if("Identifier"===p.name){var w=JW(a,p);u=Sz.getAllGlobal().find((function(e){return e.name===w})),h=null==u?void 0:u.params,c=p.from}if(!u)return null;var k=-1;if(h.length>0)for(var C=0;Cl){C>0&&(k=C);break}if(h.length<=C){h[h.length-1].variadic&&(k=h.length-1);break}k=C;break}}return t&&t.pos===c&&t.func===u&&t.activeParamIdx===k?t:{func:u,activeParamIdx:k,pos:c,above:!0,strictSide:!0,arrow:!0,create:function(){var e=createDiv("cm-tooltip-docstring");e.createSpan({text:"".concat(u.name,"(")});for(var t=function(t){var n=h[t];t>0&&e.createSpan({text:", "}),e.createSpan(t===k?"active":"",(function(e){e.setText("".concat(n.name,": ").concat(n.type.join(" | ")).concat(n.optional?"?":"").concat(n.variadic?"...":""))}))},n=0;n(t?1:0);n.dispatch({changes:[{from:r,to:o,insert:e.name+"()"}],selection:pe.single(r+e.name.length+(a?1:2)),annotations:lq.of(i)})}}},t.renderIcon=function(e,t,n){if(e.type){var i=createDiv("cm-custom-completionIcon suggestion-icon");return Km(i.createSpan("suggestion-flair"),e.type),i}return null},t.renderDetail=function(e,t,n){return e.detail?createDiv("cm-custom-completionDescription suggestion-aux",(function(t){t.createDiv({cls:"suggestion-flair u-small",text:e.detail})})):null},t}(tH);function $W(e){for(var t=[],n=null==e?void 0:e.firstChild;n;)t.push(n),n=n.nextSibling;return t}function JW(e,t){return e.sliceDoc(t.from,t.to)}function ej(e){for(var t,n=(null===(t=e.selection.ranges.at(0))||void 0===t?void 0:t.head)||0,i=n;i>0;i--){if(" "!==e.sliceDoc(i-1,i))return _V(e).resolveInner(i,-1)}return _V(e).resolveInner(n,-1)}function tj(e,t){var n=new ij(t);if(!(n.formula instanceof hj))try{return n.formula.getValue(e)}catch(e){}return dV.value}var nj=lm.formulas,ij=function(){function e(e){this.text=e,this.formula=uj.parse(e)}return e.prototype.toString=function(){return this.text},e.prototype.test=function(e){return this.formula.test(e)},e.prototype.getValue=function(e){return this.formula.getValue(e)},e}(),rj=UV.define({parser:Jz.configure({props:[wh({"ObjectAccess ArrayAccess":jh.variableName,'MultiplicativeExpression/"*"':jh.arithmeticOperator,'MultiplicativeExpression/"/"':jh.arithmeticOperator,'MultiplicativeExpression/"%"':jh.arithmeticOperator,'AdditiveExpression/"+"':jh.arithmeticOperator,'AdditiveExpression/"-"':jh.arithmeticOperator,Identifier:jh.propertyName,Boolean:jh.bool,String:jh.string,RealNumber:jh.number,"( )":jh.paren,"[ ]":jh.squareBracket})]})});function oj(e){if(""===e.trim())return{type:"empty"};var t=rj.parser,n=null;try{n=t.parse(e)}catch(t){return{type:"invalid",rawValue:e}}var i=n.topNode.firstChild;if(""!==e.substring(0,i.from).trim()||""!==e.substring(i.to).trim())return{type:"invalid",rawValue:e,parseError:"Unable to parse formula. (position ".concat(i.to,")")};if(lj(i))return{type:"invalid",rawValue:e,parseError:"Unable to parse formula. (position ".concat(i.from,")")};try{return cj(i,e)}catch(t){return{type:"invalid",rawValue:e,parseError:t.message}}}function aj(e,t){return t.slice(e.from,e.to)}function sj(e){var t=oj(e);return"ident"!==t.type||t.value!==e}function lj(e){if("⚠"===e.name)return e;for(var t=0,n=$W(e);t":return new yV(i>r);case"<=":return new yV(i<=r);case">=":return new yV(i>=r)}return dV.value},t}(uj),fj=function(e){function t(t,n,i){var r=e.call(this,"arithmetic")||this;return r.operator=t,r.left=n,r.right=i,r}return m(t,e),t.fromParsedResult=function(e){var n=uj.fromParsedResult(e.left),i=uj.fromParsedResult(e.right);return new t(e.op,n,i)},t.prototype.getValue=function(e){var t=this.left.getValue(e),n=this.right.getValue(e),i=this.operator;if(t instanceof gV&&n instanceof gV)switch(i){case"+":return new gV(t.data+n.data);case"-":return new gV(t.data-n.data);case"*":return new gV(t.data*n.data);case"/":return new gV(t.data/n.data);case"%":return new gV(t.data%n.data);default:throw new Error("Invalid operator")}if(t instanceof MV&&n instanceof vV){var r=TV.parseFromString(n.data);r&&(n=r)}if(t instanceof MV&&n instanceof TV){if("+"!==i&&"-"!==i)throw new Error("Invalid date operator");return n.addToDate(t,"-"===i)}if(t instanceof TV&&n instanceof gV&&("*"===i||"/"===i)){var o="*"===i?n.data:1/n.data;return new TV(t.years*o,t.months*o,t.days*o,t.hours*o,t.minutes*o,t.seconds*o,t.milliseconds*o)}if(t instanceof TV&&n instanceof TV&&("+"===i||"-"===i)){o="+"===i?1:-1;return new TV(t.years+n.years*o,t.months+n.months*o,t.days+n.days*o,t.hours+n.hours*o,t.minutes+n.minutes*o,t.seconds+n.seconds*o,t.milliseconds+n.milliseconds*o)}if(t instanceof bV&&n instanceof bV&&"+"===i)return t.concat(n);if("+"===i&&(t instanceof vV||n instanceof vV)){var a=t===dV.value?"":t.toString(),s=n===dV.value?"":n.toString();return new vV(a+s)}if("-"===i&&t instanceof MV&&n instanceof MV)return TV.fromMilliseconds(t.date.getTime()-n.date.getTime());if(t===dV.value||n===dV.value)return dV.value;throw new Error("Invalid operator between "+t.constructor.toString()+" and "+n.constructor.toString())},t}(uj),mj=function(e){function t(t){var n=e.call(this,"negate")||this;return n.expr=t,n}return m(t,e),t.fromParsedResult=function(e){return new t(uj.fromParsedResult(e.expr))},t.prototype.getValue=function(e){var t=this.expr.getValue(e);if(t===dV.value)return t;if(!(t instanceof gV))throw new Error("Unable to negate "+t.toString());return new gV(-t.data)},t}(uj),vj=function(e){function t(t){var n=e.call(this,"not")||this;return n.expr=t,n}return m(t,e),t.fromParsedResult=function(e){return new t(uj.fromParsedResult(e.expr))},t.prototype.getValue=function(e){var t=this.expr.getValue(e);return t===dV.value?t:new yV(!t.isTruthy())},t}(uj),gj=function(e){function t(t,n,i){var r=e.call(this,"function")||this;return r.name=t,r.subject=n,r.args=i,r}return m(t,e),t.fromParsedResult=function(e){if("call"!==e.type)throw new Error("Invalid type");var n=e.object,i=e.args;if(!n||!i||!Array.isArray(i))throw new Error("Invalid function");var r=null;if("object_access"===n.type&&(r=uj.fromParsedResult(n.object),n=n.index),"ident"!==n.type)throw new Error("Invalid function name");return new t(n.value,r,e.args.map((function(e){return uj.fromParsedResult(e)})))},t.prototype.getValue=function(e){var t,n=this,i=n.name,r=n.subject,o=n.args;if("if"===i){var a=o.length+(r?1:0);if(a<2)throw new Error(nj.msgErrorNotEnoughArguments({function:i}));if(a>3)throw new Error(nj.msgErrorTooManyArguments({function:i}));return r||(r=o[0],o=o.slice(1)),(r.getValue(e)||dV.value).isTruthy()?o[0].getValue(e):2===o.length?o[1].getValue(e):dV.value}var s=null;if(r){if(s=r.getValue(e)||dV.value,!(t=Sz.findForValue(s,i))&&s===dV.value)return dV.value}else t=Sz.findGlobal(i);if(s instanceof bV)switch(i){case"reduce":if(o.length<2)throw new Error(nj.msgErrorNotEnoughArguments({function:i}));if(o.length>2)throw new Error(nj.msgErrorTooManyArguments({function:i}));for(var l=o[0],c=o[1].getValue(e),u=function(t){var n=s.get(t),i={app:e.app,keys:function(){return e.keys().concat(["index","value","acc"])},getByIdentifier:function(i){return"index"===i?new gV(t):"value"===i?n:"acc"===i?c:e.getByIdentifier(i)}};c=l.getValue(i)},h=0;h1)throw new Error(nj.msgErrorTooManyArguments({function:i}));var p=o[0],d=s.length(),f=[],m=function(t){var n=s.get(t),r={app:e.app,keys:function(){return e.keys().concat(["index","value"])},getByIdentifier:function(i){return"index"===i?new gV(t):"value"===i?n:e.getByIdentifier(i)}};"filter"===i?p.test(r)&&f.push(n):"map"===i&&f.push(p.getValue(r))};for(h=0;h1)throw new Error(nj.msgErrorTooManyArguments({function:i}));p=o[0];var v=s.keys();if("filter"===i){f={};for(var g=function(t){var n=s.get(t),i={app:e.app,keys:function(){return e.keys().concat(["key","value"])},getByIdentifier:function(i){return"key"===i?new vV(t):"value"===i?n:e.getByIdentifier(i)}};p.test(i)&&(f[t]=n)},y=0,b=v;y0?e:null},e.prototype.getDisplayName=function(){return this.displayName?this.displayName:Object.hasOwn(qj,this.propertyId)?qj[this.propertyId]():xj(this.propertyId).name},e.prototype.setDisplayName=function(e){this.displayName=e,this.query.save()},e.prototype.migrateDisplayName=function(e){this.displayName||(this.displayName=e)},e}(),jj=[{property:"file.name",direction:"ASC"}],Uj=["file.name"],_j=["file.file","file.path","file.ctime","file.mtime","file.name","file.fullname","file.basename"];function Gj(e,t){if(_j.includes(e))return!1;var n=xj(e),i=n.type,r=n.name;if("note"===i&&"aliases"===t.app.metadataTypeManager.getTypeInfo(r).expected.type)return!1;return!0}var Kj=function(){function e(e,t,n){this.query=e,this.type=t,this.name=n}return e.prototype.clone=function(e){var t=this.serialize();return t.name=e,$j(this.query,t,this.query.views.length)},e.prototype.serialize=function(){var e={type:this.type,name:this.name};if(this.filters&&(e.filters=this.filters.serialize()),this.groupBy&&(e.groupBy={property:Xj(this.groupBy.property),direction:this.groupBy.direction}),this.order&&(e.order=this.order.map(Xj)),this.sort&&(e.sort=this.sort.map((function(e){return{property:Xj(e.property),direction:e.direction}}))),this.limit&&(e.limit=this.limit),this.summaries)for(var t=e.summaries={},n=0,i=Object.keys(this.summaries);n=0){if("TOGGLE"===t)t="ASC"===n[i].direction?"DESC":"NONE";n.splice(i,1)}"TOGGLE"===t&&(t="ASC"),"ASC"!==t&&"DESC"!==t||n.unshift({property:e,direction:t}),this.sort=n,this.query.save()},e.prototype.setLimit=function(e){this.limit=e,this.query.save()},e.prototype.getLimit=function(){return this.limit||0},e.prototype.setGroupBy=function(e){var t=this.groupBy;if(e||t)return!e&&t?(this.groupBy=null,void this.query.save()):void(t&&e.property===t.property&&e.direction===t.direction||(this.groupBy=e,this.query.save()))},e.prototype.getDisplayName=function(e){return this.getPropertyConfig(e).getDisplayName()},e.prototype.getPropertyConfig=function(e){return this.query.getPropertyConfig(e)},e}(),Yj=function(){function e(){this.views=[],this.unrecognizedData={},this.properties={}}return e.fromString=function(t){if(""===t.trim()){var n=new e;return n.views.push(new Kj(n,"table",Fj.labelViewTypeTable())),n}return e.parse(Lk(t))},e.parse=function(t){if("object"!=typeof t)throw new Error(Fj.msgErrorInvalidQueryFormat());var n=t,i=n.views,r=n.filters,o=n.display,a=n.properties,s=n.formulas,l=n.summaries,c=n.newItemFolder,u=n.newItemTemplate;if(void 0===i)i=[];else if(!Array.isArray(i))throw new Error(Fj.msgErrorViewType());var h=new e;h.views=[];for(var p=0;p0){e.formulas={};for(var n=0,i=t;n0?Ik(e):""},e.prototype.clone=function(){var t=this.getSerializable();return e.parse(t)},e.prototype.save=function(){this.saveFn&&this.saveFn(this)},e.prototype.setGlobalFilters=function(e){e?this.filters=Zj(e):delete this.filters,this.save()},e.prototype.setViewFilters=function(e,t){var n=this.getViewConfig(e);if(!n)throw new Error("Invalid view specified");t?n.filters=Zj(t):delete n.filters,this.save()},e.prototype.setFormulas=function(e){this.formulas=e,this.save()},e.prototype.setSummaryFormula=function(e,t){!this.summaryFormulas&&t&&(this.summaryFormulas={}),t?this.summaryFormulas[e]=t:delete this.summaryFormulas[e],this.save()},e.prototype.deleteSummaryFormula=function(e){this.summaryFormulas&&delete this.summaryFormulas[e];for(var t=0,n=this.views;t5&&e.startsWith("note.")){var t=e.substring(5),n=t.split(".")[0];return["file","formula","note"].contains(n)?e:t}return"file.file"===e?"file":e}function Qj(e){return e.startsWith("note.")||e.startsWith("formula.")||e.startsWith("file.")?e:"file"===e?"file.file":"note.".concat(e)}function $j(e,t,n){if("object"!=typeof t)throw new Error(Fj.msgErrorViewInvalidFormat({index:n}));var i=t,r=i.name;if(!r||"string"!=typeof r)throw new Error(Fj.msgErrorViewNameInvalid({index:n}));var o=i.type;if(!o)throw new Error(Fj.msgErrorViewMissingRequiredKey({key:"type",viewName:r}));if("string"!=typeof o)throw new Error(Fj.msgErrorViewIncorrectType({key:"type",type:"string",viewName:r}));for(var a=new Kj(e,o,r),s=0,l=Object.keys(i);s0&&(a.limit=i.limit);break;default:a.data||(a.data={}),a.data[c]=i[c]}}return a}var Jj=function(){function e(e){this.cachedProps=null,this.controller=e,this.app=e.app}return e.prototype.cacheProps=function(){if(this.cachedProps)return this.cachedProps;var e=this.app.metadataTypeManager;this.cachedProps={};for(var t=this.cachedProps,n=0,i=Object.keys(this.app.metadataTypeManager.getAllProperties());n100&&(n=i,t=0),++t>=10||e.position()}))}this.observer.observe(this.menuEl)},e.prototype.setAutoDestroy=function(e){var t,n=this;null===(t=this.autoDestroy)||void 0===t||t.call(this),this.autoDestroy=Tv(e,500,(function(){n.setOpen(!1)}))},e.prototype.setOpen=function(e){var t,n,i,r,o=this;if(this._isOpen!==e&&(!e||this.enabled)){var a=this,s=a.menuEl,l=a.bgEl,c=a.parentEl;if(this._isOpen=e,c.toggleClass("has-active-menu",e),e){this.app.keymap.pushScope(this.scope),c.win.setTimeout((function(){return o.registerOnClickOutside()}),0),null===(t=this.handleOpen)||void 0===t||t.call(this);var u=this.parentEl.doc.body;if(u.appendChild(l),u.appendChild(s),Yl.isPhone){Yl.isMobileApp&&xm&&xm.hide();var h=s.offsetHeight-1;vl(s,new hl({duration:150,fn:"var(--anim-motion-swing)"}).addProp("transform","translateY(".concat(h,"px)"),"")),vl(l,new hl({duration:150}).addProp("opacity","0","0.85"))}else this.position(),this.watchResize()}else if(this.autoDestroy&&(this.autoDestroy(),this.autoDestroy=null),null===(n=this.handleClose)||void 0===n||n.call(this),null===(i=this._cleanup)||void 0===i||i.call(this),this.app.keymap.popScope(this.scope),Yl.isPhone&&s.isShown()){h=s.offsetHeight-1;vl(s,new hl({duration:150}).addProp("transform","","translateY(".concat(h,"px)")),(function(){s.detach()}));vl(l,new hl({duration:150}).addProp("opacity",null,"0"),(function(){l.detach()}))}else{var p=this.menuEl.contains(this.menuEl.doc.activeElement);this.bgEl.detach(),this.menuEl.detach(),null===(r=this.observer)||void 0===r||r.disconnect(),this.observer=null,p&&c.focus()}}},e.prototype.toggle=function(){this.setOpen(!this._isOpen)},e}(),cU=n(5897),uU=n.n(cU),hU=n(1928),pU=n.n(hU),dU=function(){function e(){this.cache={},this.uniqueFiles=new sc,this.aliases={},this.permalinks={}}return e.prototype.load=function(e){return y(this,void 0,void 0,(function(){var t,n,i,r,o,a,s,l,c;return b(this,(function(u){for(n in this.cache=e,t=this.uniqueFiles=new sc,e)if(e.hasOwnProperty(n)&&(t.add(eu(n).toLowerCase(),n),(i=e[n])&&(oS(i),r=i.frontmatter))){if(o=WE(r))for(a=0,s=o;a0)return n[0];if((n=this._getLinkpathDest(e+".md",t)).length>0)return n[0];var i=this.aliases,r=e.toLowerCase();if(i.hasOwnProperty(r))return i[r];var o=eu(e);return i.hasOwnProperty(o)?i[o]:null},e.prototype._getLinkpathDest=function(e,t){var n=e.toLowerCase(),i=eu(n),r=this.uniqueFiles.get(i);if(!r)return[];var o=tu(t).toLowerCase();if(n.startsWith("./")||n.startsWith("../")){if(n.startsWith("./../")&&(n=n.substr(2)),n.startsWith("./"))""!==o&&(o+="/"),n=o+n.substring(2);else{for(;n.startsWith("../");)n=n.substr(3),o=tu(o);""!==o&&(o+="/"),n=o+n}for(var a=0,s=r;a>16&255,t>>16&255)<<16)+(NU(e>>8&255,t>>8&255)<<8)+(0|NU(255&e,255&t))},BU=function(e,t){return t.righte.right||t.bottome.bottom},VU=function(e,t,n){return{left:e-n,right:e+n,top:t-n,bottom:t+n}},HU=function(e){e.style.margin="0",e.style.padding="0",e.style.border="0",e.style.width="100%",e.style.height="100%",e.style.overflow="hidden"},zU={showAttachments:!1,hideUnresolved:!1,showOrphans:!0,showTags:!1,localFile:null,localJumps:1,localInterlinks:!1,localForelinks:!0,localBacklinks:!0};function qU(e){return void 0===e&&(e=""),{type:e,links:{}}}function WU(e){if(!e)return qU();var t=qU(e.type);return e.color&&(t.color=e.color),t}var jU={tag:!0},UU={fill:"color-fill",fillFocused:"color-fill-focused",fillTag:"color-fill-tag",fillUnresolved:"color-fill-unresolved",fillAttachment:"color-fill-attachment",arrow:"color-arrow",circle:"color-circle",line:"color-line",text:"color-text",fillHighlight:"color-fill-highlight",lineHighlight:"color-line-highlight"},_U=100,GU=function(){function e(e,t,n){var i=this;this.x=null,this.y=null,this.fx=null,this.fy=null,this.forward={},this.reverse={},this.weight=0,this.color=null,this.rendered=!1,this.fadeAlpha=0,this.moveText=0,this.fontDirty=!1,this.onClick=function(e){var t=e.nativeEvent;if(2===e.button||t.instanceOf(MouseEvent)&&Kl(t)){var n=i.renderer;n.onNodeRightClick&&n.onNodeRightClick(e.nativeEvent,i.id,i.type)}},this.renderer=e,this.id=t,this.type=n}return e.prototype.initGraphics=function(){var e=this;if(this.rendered)return!1;this.rendered=!0;var t,n=this.renderer;(t=this.circle=new PIXI.Graphics).eventMode="static",t.beginFill(16777215),t.drawCircle(_U,_U,_U),t.endFill(),Yl.isMobile&&(t.beginFill(16777215,1e-4),t.drawCircle(_U,_U,500),t.endFill()),t.pivot.x=_U,t.pivot.y=_U,t.cursor="pointer",t.zIndex=1,t.on("pointerdown",(function(t){return n.onPointerDown(e,t)})).on("pointerover",(function(t){return n.onPointerOver(e,t)})).on("pointerout",(function(){return n.onPointerOut()})).on("click",this.onClick).on("rightclick",this.onClick);var i=this.getFillColor();t.alpha=i.a,t.tint=i.rgb,n.hanger.addChild(t);var r=new PIXI.TextStyle(this.getTextStyle()),o=this.text=new PIXI.Text(this.getDisplayText(),r);return o.eventMode="none",o.resolution=2,o.anchor.set(.5,0),o.zIndex=2,n.hanger.addChild(o),this.fadeAlpha=0,!0},e.prototype.clearGraphics=function(){if(this.rendered){this.rendered=!1;var e=this,t=e.circle,n=e.highlight,i=e.text;t&&(this.circle=null,t.parent&&t.parent.removeChild(t),t.destroy()),n&&(this.highlight=null,n.parent&&n.parent.removeChild(n),n.destroy()),i&&(this.text=null,i.parent&&i.parent.removeChild(i),i.destroy())}},e.prototype.getTextStyle=function(){var e=this.renderer,t=this.getSize();return new PIXI.TextStyle({fontSize:14+t/4,fill:e.colors.text.rgb,fontFamily:'ui-sans-serif, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, "Inter", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Microsoft YaHei Light", sans-serif',wordWrap:!0,wordWrapWidth:300,align:"center"})},e.prototype.render=function(){if(this.rendered){var e=this,t=e.renderer,n=e.x,i=e.y,r=e.circle,o=e.highlight,a=e.text,s=e.fadeAlpha,l=e.moveText,c=this.getSize(),u=this.getFillColor(),h=t.colors.text,p=t.getHighlightNode(),d=p===this,f=t.nodeScale,m=a.visible,v=FU;(!p||d||this.forward.hasOwnProperty(p.id)||this.reverse.hasOwnProperty(p.id))&&(v=1);var g=(s=this.fadeAlpha=NU(s,v))*u.a,y=t.textAlpha;y*=s,d&&(y=1),y*=h.a;var b=d?15:0;l=this.moveText=m?NU(l,b):b;var w=y>.001,k=t.viewport,C=d||!BU(k,VU(n,i,c*f+1));if(w&&(w=d||!BU(k,{left:n-300,right:n+300,top:i,bottom:i+200})),r.tint=RU(r.tint,u.rgb),r.visible=C,C&&(r.x=n,r.y=i,r.scale.x=r.scale.y=c/100*f,r.alpha=g),a.visible=w,w&&(a.x=n,a.y=i+(c+5)*f+l/t.scale,a.scale.x=a.scale.y=f,d&&t.scale<1&&(a.scale.x=a.scale.y=1/t.scale),a.alpha=y),d){o||((o=this.highlight=new PIXI.Graphics).eventMode="none",o.zIndex=1,t.hanger.addChild(o)),o.x=n,o.y=i,o.scale.x=o.scale.y=f,o.clear();var E=Math.max(1,1/t.scale/f),S=t.colors.circle;o.alpha=S.a,o.lineStyle(E,S.rgb,1),o.drawCircle(0,0,c+E/2)}else o&&(o.parent.removeChild(o),o.destroy(),this.highlight=null);this.fontDirty&&(this.fontDirty=!1,a.style=this.getTextStyle())}},e.prototype.getFillColor=function(){var e=this,t=e.renderer,n=e.type,i=e.color;if(t.getHighlightNode()===this)return t.colors.fillHighlight;if("focused"===n){var r=t.colors.fillFocused;if(r.a>0)return r}else{if(i)return i;if("tag"===n)return t.colors.fillTag;if("unresolved"===n)return t.colors.fillUnresolved;if("attachment"===n)return t.colors.fillAttachment}return t.colors.fill},e.prototype.getSize=function(){return this.renderer.fNodeSizeMult*Math.max(8,Math.min(3*Math.sqrt(this.weight+1),30))},e.prototype.getDisplayText=function(){var e=this.id;return su(e,"md")&&(e=iu(e)),e},e.prototype.getRelated=function(){return Object.keys(this.forward).concat(Object.keys(this.reverse))},e}(),KU=function(){function e(e,t,n){this.rendered=!1,this.renderer=e,this.source=t,this.target=n}return e.prototype.initGraphics=function(){if(!this.rendered&&this.source.rendered&&this.target.rendered){this.rendered=!0;var e=this.renderer,t=this.px=new PIXI.Container;e.hanger.addChild(t);var n=this.line=new PIXI.Sprite(PIXI.Texture.WHITE);n.eventMode="none";var i=e.colors.line;n.alpha=FU*i.a,n.tint=i.rgb,t.addChild(n);var r=this.arrow=new PIXI.Graphics;r.eventMode="none";var o=e.colors.text;r.alpha=FU*o.a,r.tint=o.rgb,r.beginFill(16777215),r.moveTo(0,0),r.lineTo(-4,-2),r.lineTo(-3,0),r.lineTo(-4,2),r.lineTo(0,0),r.endFill(),r.zIndex=1,e.hanger.addChild(r)}},e.prototype.clearGraphics=function(){if(this.rendered){this.rendered=!1;var e=this,t=e.px,n=e.line,i=e.arrow;t&&(this.px=null,t.parent&&t.parent.removeChild(t),t.destroy(),t.visible=!1),n&&(this.line=null,n.destroy(),n.visible=!1),i&&(this.arrow=null,i.parent&&i.parent.removeChild(i),i.destroy(),i.visible=!1)}},e.prototype.render=function(){if(this.rendered){var e=this,t=e.px,n=e.line,i=e.arrow,r=e.renderer,o=e.source,a=e.target,s=r.getHighlightNode(),l=o===s||a===s,c=FU;s&&!l||(c=1);var u=c*Math.clamp(2*(r.scale-.3),0,1),h=r.colors.line;l&&(h=r.colors.lineHighlight);var p,d,f=r.colors.arrow,m=!(o.reverse.hasOwnProperty(a.id)&&o.id.localeCompare(a.id)<0),v=r.fShowArrow,g=r.fLineSizeMult/r.scale,y=r.viewport,b=VU(o.x,o.y,g),w=VU(a.x,a.y,g),k=!BU(y,(p=b,d=w,{left:Math.min(p.left,d.left),right:Math.max(p.right,d.right),top:Math.min(p.top,d.top),bottom:Math.max(p.bottom,d.bottom)}));if(c*=h.a,u*=f.a,n.alpha=NU(n.alpha,c),i.alpha=NU(i.alpha,u),m=m&&k,v=v&&k&&i.alpha>.001,n.visible=m,i.visible=v,m||v){var C=a.x-o.x,E=a.y-o.y,S=Math.sqrt(C*C+E*E),M=o.getSize()*r.nodeScale,x=a.getSize()*r.nodeScale;i.visible=v=v&&S>g,m&&(t.x=o.x+C*M/S,t.y=o.y+E*M/S,t.pivot.set(0,0),t.rotation=Math.atan2(E,C),n.x=0,n.y=-g/2,n.width=Math.max(0,S-M-x),n.height=g,n.tint=RU(n.tint,h.rgb)),i.visible=v,v&&(x+=1,i.x=a.x-C*x/S,i.y=a.y-E*x/S,i.pivot.set(0,0),i.rotation=Math.atan2(E,C),i.scale.x=i.scale.y=2*Math.sqrt(r.fLineSizeMult)/r.scale,i.tint=f.rgb)}}},e}(),YU=function(){function e(e){this.rendered=!1,this.renderer=e}return e.prototype.initGraphics=function(){var e=this.renderer;if(!this.text){var t=this.text=new PIXI.Text("Powered by Obsidian",this.getTextStyle());t.eventMode="none",t.anchor.set(1,1),t.zIndex=3,t.alpha=.5,e.px.stage.addChild(t)}},e.prototype.clearGraphics=function(){var e=this.text;e&&e.parent&&(this.text=null,e.parent.removeChild(e),e.destroy()),this.rendered=!1},e.prototype.render=function(){var e=this.renderer,t=this.text;if(t){t.visible=!e.hidePowerTag,t.alpha=e.colors.text.a;var n=e.px.renderer;t.x=n.width/n.resolution,t.y=n.height/n.resolution,this.rendered||(this.rendered=!0,this.text.style=this.getTextStyle())}},e.prototype.getTextStyle=function(){return new PIXI.TextStyle({fontSize:12,fill:this.renderer.colors.text.rgb,fontFamily:'ui-sans-serif, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, "Inter", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Microsoft YaHei Light", sans-serif',wordWrap:!1,align:"right"})},e}(),ZU=function(){function e(e,t,n,i){var r=this;this.interactiveEl=null,this.onNodeClick=null,this.onNodeRightClick=null,this.onNodeHover=null,this.onNodeUnhover=null,this.workerResults=null,this.nodeLookup={},this.nodes=[],this.links=[],this.dragNode=null,this.highlightNode=null,this.px=null,this.hanger=null,this.powerTag=null,this.scale=1,this.nodeScale=1,this.textAlpha=1,this.targetScale=1,this.panX=0,this.panY=0,this.panvX=0,this.panvY=0,this.keyboardActions={},this.panning=!1,this.width=0,this.height=0,this.viewport=null,this.zoomCenterX=0,this.zoomCenterY=0,this.hidePowerTag=!1,this.fNodeSizeMult=1,this.fLineSizeMult=1,this.fTextShowMult=1,this.fShowArrow=!1,this.mouseX=null,this.mouseY=null,this.colors={},this.renderTimer=null,this.hidePowerTag=n,this.containerEl=e,this.testCSS();var o=this.interactiveEl=e.createEl("canvas");if(e.style.padding="0",e.style.overflow="hidden",e.style.position="relative",o.style.position="absolute",o.style.left="0",o.style.top="0",HU(o),o.addEventListener("mousedown",(function(e){return e.preventDefault()})),o.addEventListener("wheel",this.onWheel.bind(this),{passive:!1}),o.addEventListener("mousemove",this.onMouseMove.bind(this),{passive:!0}),o.addEventListener("mouseout",this.onMouseMove.bind(this)),i||(i=new Worker("/sim.js",{name:"Graph Worker"})),this.worker=i,i.onmessage=function(e){e.data.ignore||(r.workerResults=e.data,r.changed())},t){var a=this.iframeEl=e.createEl("iframe");HU(a),a.onload=this.onIframeLoad.bind(this),a.contentDocument&&this.onIframeLoad()}else{var s=e.createEl("canvas");HU(s),setTimeout((function(){try{r.initGraphics(s)}catch(e){setTimeout((function(){r.initGraphics(s)}),300)}}),50)}}return e.prototype.destroy=function(){this.worker.terminate(),this.workerResults=null,this.destroyGraphics()},e.prototype.onIframeLoad=function(){var e=this.iframeEl;e.contentWindow.onbeforeunload=this.onIframeUnload.bind(this);var t=e.contentDocument.body;HU(t),t.innerHTML="";var n=t.firstChild;HU(n),this.destroyGraphics(),this.initGraphics(n)},e.prototype.onIframeUnload=function(){this.destroyGraphics()},e.prototype.onWheel=function(e){if(e.preventDefault(),this.px){var t=e.deltaY;1===e.deltaMode?t*=40:2===e.deltaMode&&(t*=800);var n=this.targetScale;if(n*=Math.pow(1.5,-t/120),this.targetScale=n,n25&&(l=null)}var c=e.getLocalPosition(n.hanger);i.fx=c.x,i.fy=c.y,a.postMessage({alpha:.3,alphaTarget:.3,run:!0,forceNode:{id:i.id,x:c.x,y:c.y}}),n.changed()}})).on("pointerup",c).on("pointerupoutside",c).eventMode="static",this.onPointerOver=function(e,t){if("touch"!==t.pointerType){n.highlightNode=e,n.changed();var i=t.nativeEvent;i.instanceOf(MouseEvent)&&(n.mouseX=i.offsetX,n.mouseY=i.offsetY),n.onNodeHover&&n.onNodeHover(i,e.id,e.type)}},this.onPointerOut=function(){n.highlightNode=null,n.changed(),n.onNodeUnhover&&n.onNodeUnhover()};var u=this.hanger=new PIXI.Container;u.eventMode="static";var h=this.powerTag=new YU(this);this.onResize(),this.resetPan();var p=new PIXI.Graphics;p.eventMode="static",p.beginFill(0),p.drawRect(0,0,1e4,1e4),p.endFill(),p.alpha=0;var d=null,f=null,m=performance.now(),v=0,g=null,y=null,b=0,w=0,k=function(e){for(var t=performance.now(),i=t-m,r=Array.prototype.slice.call(e.touches),o=null,a=null,s=0,c=r;s0&&(o=r.first(),r.splice(0,1)),a?r.remove(a):r.length>0&&(a=r.first(),r.splice(0,1)),!l&&!n.dragNode&&g&&o&&g.identifier===o.identifier){var h=window.devicePixelRatio;if(y&&a&&y.identifier===a.identifier){var p=n.interactiveEl.getBoundingClientRect(),d=((g.clientX+y.clientX)/2-p.x)*h,f=((g.clientY+y.clientY)/2-p.y)*h,k=((o.clientX+a.clientX)/2-p.x)*h,C=((o.clientY+a.clientY)/2-p.y)*h,E=g.clientX-y.clientX,S=g.clientY-y.clientY,M=o.clientX-a.clientX,x=o.clientY-a.clientY,T=E*E+S*S,D=M*M+x*x;if(0!==T&&0!==D){var A=Math.sqrt(D/T),P=n.targetScale*A,L=n.panX+(k-d),I=n.panY+(C-f);n.zoomCenterX=k,n.zoomCenterY=C,n.setPan(L,I),n.targetScale=P,n.changed()}b=0,w=0}else{var O=(o.clientX-g.clientX)*h,F=(o.clientY-g.clientY)*h;v=NU(v,i,.8),m=t,b=NU(b,O,.8),w=NU(w,F,.8),n.setPan(n.panX+O,n.panY+F),n.changed()}}else v=NU(v,i,.8),i<100&&(n.panvX=b/v,n.panvY=w/v),b=b=0;g=o,y=a},C=function(e){if(e.nativeEvent.instanceOf(TouchEvent))k(e.nativeEvent);else{d=null,document.body.removeClass("is-grabbing"),n.panning=!1;var t=performance.now()-m;v=NU(v,t,.8),t>100?n.panvX=n.panvY=0:(n.panvX/=v,n.panvY/=v)}};p.on("pointerdown",(function(e){e.nativeEvent.instanceOf(TouchEvent)?k(e.nativeEvent):(d=e.getLocalPosition(t.stage),f={x:u.x,y:u.y},document.body.addClass("is-grabbing"),n.panning=!0)})),t.stage.on("pointermove",(function(e){if(e.nativeEvent.instanceOf(TouchEvent))k(e.nativeEvent);else if(d){var i=e.getLocalPosition(t.stage),r=f.x+i.x-d.x,o=f.y+i.y-d.y,a=performance.now();v=NU(v,a-m,.8),m=a,n.panvX=NU(n.panvX,r-n.panX,.8),n.panvY=NU(n.panvY,o-n.panY,.8),n.setPan(r,o),n.changed()}})).on("pointerup",C).on("pointerupoutside",C).eventMode="static",t.stage.addChild(p),t.stage.addChild(u),h.initGraphics(),this.updateZoom(),this.renderCallback=function(){if(n.renderTimer=null,n.px&&!(n.idleFrames>60)){var e=n,i=e.nodes,r=e.links,o=n.workerResults;if(o){var a=o.id,s=o.buffer,l=!0;if(s instanceof ArrayBuffer)n.workerResults=null;else{var c=new Uint32Array(s,s.byteLength-4,1);c[0]===o.v?l=!1:o.v=c[0]}if(l)for(var p=new Float32Array(s),d=0;d50&&O.pop())}}if(O.length>0){for(var V=0,H=O;Vte*te&&(n.highlightNode=null,n.idleFrames=0,n.onNodeUnhover&&n.onNodeUnhover())}}},this.queueRender()},e.prototype.destroyGraphics=function(){var e=this,t=e.iframeEl,n=e.px,i=e.links,r=e.nodes,o=e.powerTag;this.hanger=null;for(var a=0,s=i;a0)for(var I=60*L*60,O=Math.sqrt(I/Math.PI+m*m)-m,F=Math.sqrt(I),N=0,R=v;N0)f.x=B/H+(Math.random()-.5)*F,f.y=V/H+(Math.random()-.5)*F;else{var U=2*Math.random()*Math.PI,_=m+Math.sqrt(Math.random())*O;f.x=_*Math.cos(U),f.y=_*Math.sin(U)}a[f.id]=[f.x,f.y]}var G=e.weights;for(var g in i)if(i.hasOwnProperty(g)){var K=(f=i[g]).weight;K=G?G.hasOwnProperty(g)?G[g]:0:f.getRelated().length,f.weight!==K&&(f.weight=K,c=!0)}if(c){for(var Y=[],Z=0,X=r;Z(n=this.targetScale=Math.min(8,Math.max(1/128,n)))?t/n:n/t)-1>=.01){var o=this.zoomCenterX,a=this.zoomCenterY;if(0===o&&0===a){var s=window.devicePixelRatio;o=this.width/2*s,a=this.height/2*s}var l={x:(o-i)/t,y:(a-r)/t};t=NU(t,n,.85),i-=l.x*t+i-o,r-=l.y*t+r-a,this.changed()}this.setPan(i,r),this.setScale(t)},e.prototype.setPan=function(e,t){var n=this.hanger;this.panX=e,this.panY=t,n&&(n.x=e,n.y=t)},e.prototype.setScale=function(e){var t=this.hanger;this.scale=e,this.nodeScale=Math.sqrt(1/e);var n=Math.log(e)/Math.log(2);this.textAlpha=Math.clamp(n+1-this.fTextShowMult,0,1),t&&(t.scale.x=t.scale.y=e)},e.prototype.changed=function(){this.idleFrames=0,this.queueRender()},e.prototype.queueRender=function(){!this.renderTimer&&this.renderCallback&&(this.renderTimer=this.containerEl.win.requestAnimationFrame(this.renderCallback))},e.prototype.testCSS=function(){var e=function(e){var t=document.body.createDiv({cls:"graph-view "+e}),n=getComputedStyle(t),i=n.color,r=n.opacity;t.detach();var o=yT(i),a=parseFloat(r);return isNaN(a)&&(a=1),o?{a:a*o.a,rgb:o.r<<16|o.g<<8|o.b}:{a,rgb:8947848}};for(var t in UU)UU.hasOwnProperty(t)&&(this.colors[t]=e(UU[t]));for(var n=0,i=this.nodes;n0)for(var u=0,p=l;u0),this.setClickable(!!t.onItemClick)},t.prototype.setActive=function(e){this.selfEl.toggleClass("mod-active",e)},t}(c_),y_=function(e){function t(t,n){var i=e.call(this,t)||this;return i.collapsible=!0,i.highlighted=null,i.allItems=[],i.onItemClick=n,i}return m(t,e),t.prototype.renderOutline=function(e){for(var t=[],n=this.allItems=[],i=0,r=e;i=a;)t.pop(),l=t.last();t.push(s),l?(l.children=l.children||[],l.children.push(s)):this.addRoot(s),n.push(s)}this.highlighted=null,this.render()},t.prototype.highlightLine=function(e){for(var t=this.highlighted,n=null,i=0,r=this.allItems;i0)for(var d=function(n){p.createEl("li","files-with-tag-item",(function(r){return r.createEl("a",{cls:"internal-link",href:i.getPublicHref(n),text:uu(n)}).addEventListener("click",(function(i){i.preventDefault(),e.close(),t.navigate(n,"")}))}))},f=0,m=a;f300)this.staticPos=x_,e={top:x_.y-10,bottom:x_.y+10,left:x_.x,right:x_.x};else{var a=i.getBoundingClientRect();e={top:a.top,bottom:a.top+i.offsetHeight,left:a.left,right:a.left+i.offsetWidth}}else o?(e={top:o.y-10,bottom:o.y+10,left:o.x,right:o.x},this.staticPos=o):e={top:0,bottom:0,left:0,right:0};var s=activeDocument,l=!1;if(i){l="rtl"===getComputedStyle(i).direction;var c=rg(e,i.win);e=c.rect,s=c.win.document}n.parentElement!==s.body&&s.body.appendChild(n),xv(e,n,{gap:10,preventOverlap:!0,horizontalAlignment:l?"right":"left"})},t.prototype.watchResize=function(e){var t=this;if(!this.observer){var n=0;this.observer=new ResizeObserver((function(){var e;if(t.state===h_.Shown){if(++n>=10)return null===(e=t.observer)||void 0===e||e.disconnect(),void(t.observer=null);t.position()}}))}this.observer.observe(e)},t.prototype.onunload=function(){var t;e.prototype.onunload.call(this),null===(t=this.observer)||void 0===t||t.disconnect(),this.observer=null},t}(Fm);function I_(e,t,n){if(n&&!t.footnotes&&n.match(/^#\[\^.*]$/)){var i=JE(e);t.footnotes=i.footnotes}return bS(t,n)}var O_=function(e){function t(t,n){var i=e.call(this)||this;i.id=cc(16),i.hoverPopover=null,i.currentFilepath=null,i.embedDepth=0,i.publish=t;var r=i.renderer=new bR(i,i,n,"/worker.js");return r.addHeader(),r.addFooter(),i}return m(t,e),t.prototype.renderContent=function(e,t){this.currentFilepath=t;var n=this.renderer,i=this.hoverPopover;i&&(i.hide(),this.hoverPopover=null),n.clear(),n.set(e)},t.prototype.onScroll=function(){},t.prototype.onFoldChange=function(){},t.prototype.onCheckboxClick=function(e,t,n){},t.prototype.onExternalLinkClick=function(e,t,n){},t.prototype.onInternalLinkClick=function(e,t,n){e.preventDefault(),this.publish.navigate(n,this.currentFilepath,e)},t.prototype.onInternalLinkDrag=function(e,t,n){},t.prototype.onInternalLinkRightClick=function(e,t,n){},t.prototype.onExternalLinkRightClick=function(e,t,n){},t.prototype.onInternalLinkMouseover=function(e,t,n){var i=this;if(this.publish.site.getConfig(DU)){var r=this.hoverPopover;r&&r.state!==h_.Hidden&&r.targetEl===t||(r=new L_(this,t),setTimeout((function(){return y(i,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return r.state===h_.Hidden?[2]:(e=r.hoverEl.createDiv(),[4,this.loadEmbed(n,this.currentFilepath,e,!0)]);case 1:return t.sent()||(e.createDiv({cls:"markdown-embed",text:"This page does not yet exist."}),e.addClass("mod-empty")),r.state===h_.Shown&&r.position(),[2]}}))}))}),100))}},t.prototype.onTagClick=function(e,t,n){new C_(this.publish,n).open()},t.prototype.onQueryClick=function(e,t,n){},t.prototype.postProcess=function(e,t,n){var i=this,r=this._postProcess({docId:this.id,sourcePath:this.currentFilepath,frontmatter:n,promises:t,addChild:function(e){return i.addChild(e)},getSectionInfo:function(e){return i.renderer.getSectionInfo(e)},replace:function(){return null},containerEl:this.renderer.sizerEl,el:e.el});e.usesFrontMatter=!!r.usesFrontMatter},t.prototype.onRenderComplete=function(){},t.prototype._postProcess=function(e){for(var t=this,n=this.publish.site,i=n.cache,r=e.sourcePath,o=e.promises,a=e.el,s=0,l=bR.postProcessors;s0)for(var h=0,p=u;h0)for(var S=0,M=E;S0&&r.onRendered((function(){d.empty();var e=d.createDiv("backlinks");e.createDiv("published-section-header",(function(e){e.createSpan("published-section-header-icon",(function(e){Km(e,"lucide-link")})),e.createSpan({text:"Links to this page"})}));var t=e.createDiv("backlink-items-container");y.sort((function(e,t){return aC(e.name,t.name)})),t.setChildrenInPlace(y.map((function(e){return e.el}))),r.updateFooter()}))}return[2]}}))}))},t.prototype.onScroll=function(){var e=this.publish,t=this.renderer;if(e.site.getConfig(CU)){var n=t.getScroll();e.outline.highlightLine(Math.round(n))}},t.prototype.onResize=function(){this.renderer.onResize()},t.prototype.navigateSubpath=function(e){if(e){var t=this.publish.site.cache.getCache(this.currentFilepath);if(t){var n=I_(this.renderer.text,t,e);if(n)return this.scrollToLoc(n.start),!0}}return!1},t.prototype.scrollToLoc=function(e){this.renderer.applyScrollDelayed(e.line,{highlight:!0}),this.onScroll()},t}(O_),N_=function(){function e(e){var t=this;this.renderQueue=new Dx,this.requestUpdateSearch=wc(this.updateSearch.bind(this),200,!0),this.query="",this.queryWords=[],this.runFullSearch=wc((function(e,n,i){return y(t,void 0,void 0,(function(){var t,r,o,a,s;return b(this,(function(l){switch(l.label){case 0:t=this.inputEl,r={url:this.publish.site.host+"/search",method:"POST",withCredentials:!0,data:{id:this.publish.site.id,query:n}},a=1,l.label=1;case 1:if(!(a<=3))return[3,7];if(t.value!==e)return[2];l.label=2;case 2:return l.trys.push([2,4,,6]),[4,ajaxPromise(r)];case 3:return o=l.sent(),[3,7];case 4:return s=l.sent(),console.error(s),[4,sleep(5e3*a)];case 5:return l.sent(),[3,6];case 6:return a++,[3,1];case 7:return t.value!==e||i.resolve(o?JSON.parse(o).results:null),[2]}}))}))}),500),this.publish=e;var n=this.outerContainerEl=createDiv("search-view-outer"),i=this.containerEl=n.createDiv("search-view-container");i.createSpan("published-search-icon",(function(e){Km(e,"lucide-search")}));var r=this.inputEl=i.createEl("input",{cls:"search-bar",type:"text",attr:{tabIndex:0}});r.setAttribute("placeholder","Search page or heading..."),this.resultEl=createDiv("search-results");var o=this.scope=new Tg;this.chooser=new Gx(this,this.resultEl,o),e.on("options-updated",this.updateOptions.bind(this)),r.addEventListener("input",(function(){t.renderQueue.clear(),t.runFullSearch.cancel(),t.requestUpdateSearch()})),r.addEventListener("keydown",this.onKeydown.bind(this)),document.addEventListener("click",this.onDocumentClick.bind(this)),y(t,void 0,void 0,(function(){var e,t,n,i,r,o,a,s,l,c;return b(this,(function(u){switch(u.label){case 0:u.trys.push([0,8,9,14]),e=!0,t=S(Px(this.renderQueue.generator())),u.label=1;case 1:return[4,t.next()];case 2:if(n=u.sent(),a=n.done)return[3,7];c=n.value,e=!1,i=c,u.label=3;case 3:return u.trys.push([3,5,,6]),[4,i()];case 4:return u.sent(),[3,6];case 5:return r=u.sent(),console.error(r),[3,6];case 6:return e=!0,[3,1];case 7:return[3,14];case 8:return o=u.sent(),s={error:o},[3,14];case 9:return u.trys.push([9,,12,13]),e||a||!(l=t.return)?[3,11]:[4,l.call(t)];case 10:u.sent(),u.label=11;case 11:return[3,13];case 12:if(s)throw s.error;return[7];case 13:return[7];case 14:return[2]}}))}))}return e.prototype.onDocumentClick=function(e){e.defaultPrevented||(this.resultEl.remove(),this.renderQueue.clear(),this.runFullSearch.cancel())},e.prototype.updateOptions=function(){var e=this.publish.site.getConfig(EU);Fc&&(e=!1),this.outerContainerEl.toggle(e)},e.prototype.updateSearch=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,y,w,k;return b(this,(function(b){switch(b.label){case 0:for(t=(e=this).resultEl,n=e.inputEl,i=e.chooser,r=n.value,t.empty(),this.renderQueue.clear(),this.query=r,o=r.toLowerCase().split('"'),a=[],s=0;s=30));m++)y=ru(g),f.has(y)||(w={type:"file",path:y,match:{score:0,matches:[]}},l.push(w),i.addSuggestion(w));return k=0===l.length,n.toggleClass("has-no-results",k),k?p.setText("No results found."):p.detach(),u(),[2]}}))}))},e.prototype.getCachedResults=function(){var e=this.query,t=this.queryWords,n=this.publish.site.cache,i=[];for(var r in n.cache)if(n.cache.hasOwnProperty(r)&&"md"===ou(r)){var o=ru(r),a=eu(o),s=lT(t,e,a),l=lT(t,e,o);s?(s.score+=.8,aT(s.matches,o.length-a.length),i.push({type:"file",path:o,match:s})):l&&(l.score+=.5,i.push({type:"file",path:o,match:l}));var c=n.getCache(r);if(c){var u=WE(c.frontmatter);if(u)for(var h=0,p=u;h0)for(f=0;f<30&&p<=d&&!("\n"===(m=n.charAt(p-1))||$x.test(m)||Qx.test(m)||Jx.test(m));f++)p++;if(d0&&"\n"!==n.charAt(p-1)&&v.appendText("..."),hT(v,n.substring(p,d),r,-p),d=3)break}return[4,sleep(100)];case 2:return g.sent(),[2]}}))}))}))}else if("alias"===e.type){var u=e.path;uT(o,e.alias,e.match),a.setText(u),r.createSpan({cls:"suggestion-flair",prepend:!0},(function(e){Km(e,"lucide-forward"),mv(e,"Alias")}))}else"heading"===e.type&&(uT(o,e.heading.heading,e.match),a.setText(e.path),r.createSpan({cls:"suggestion-flair",text:"H",prepend:!0}))},e.prototype.selectSuggestion=function(e,t){"file"===e.type||"alias"===e.type?this.publish.navigate(e.path,"",t instanceof MouseEvent?t:null):"heading"===e.type&&this.publish.navigate(e.path+"#"+gS(e.heading.heading),"",t instanceof MouseEvent?t:null),this.inputEl.value="",this.updateSearch(),this.publish.containerEl.removeClass("is-left-column-open")},e}();var R_=700,B_=36,V_="obsidian.css",H_="publish.css",z_="publish.js",q_=/^favicon-([0-9]+)(x[0-9]+)?.png$/i;function W_(e){return!e||e.getAllResponseHeaders().toLowerCase().contains("obs-status")&&null!==e.getResponseHeader("obs-status")}function j_(e){return!e||e.headers.has("obs-status")&&null!==e.headers.get("obs-status")}function U_(){for(var e=0,t=Array.from(document.head.childNodes);e=t.length?null:t[e]}},removeItem:{value:function(e){Object.prototype.hasOwnProperty.call(this,e)||delete this[e]}},setItem:{value:function(e,t){this[e]=t}}});Object.defineProperty(window,"localStorage",{value:e})}}(),yR.progressiveRender=!1,yR.listBullet=!1,"isBot"in window&&(yR.asyncParse=!1),ql||document.body.addClass("styled-scrollbars");var i=t.noindexEl=createEl("meta");i.name="robots",i.content="noindex";var r=t.containerEl=document.body.createDiv("published-container print");r.hide();var o=r.createDiv("site-body"),a=t.leftColumnEl=o.createDiv("site-body-left-column"),s=t.leftColumnInnerEl=a.createDiv("site-body-left-column-inner"),l=t.leftSiteHeaderLogoLinkEl=s.createEl("a","site-body-left-column-site-logo"),c=t.leftSiteHeaderLogoEl=l.createEl("img");c.setAttr("aria-hidden",!0),c.hide(),t.leftSiteHeaderEl=s.createEl("a","site-body-left-column-site-name"),(t.leftSiteThemeToggleEl=s.createDiv("site-body-left-column-site-theme-toggle")).hide();var h=o.createDiv("site-body-center-column"),p=t.siteHeaderEl=h.createDiv("site-header");p.createDiv("clickable-icon",(function(e){Km(e,"lucide-menu"),e.addEventListener("click",(function(){r.classList.toggle("is-left-column-open"),t.site.getConfig(wU)&&t.nav.init(!0)}))})),r.createDiv("nav-backdrop",(function(e){e.addEventListener("click",(function(){r.removeClass("is-left-column-open")}))}));var d=t.siteLogoLinkEl=p.createEl("a","site-header-logo");d.setAttr("aria-hidden",!0),d.hide(),t.siteLogoEl=d.createEl("img"),t.siteHeaderTextEl=p.createEl("a","site-header-text"),t.search=new N_(t),t.nav=new p_(t,s);var f=t.renderContainerEl=h.createDiv("render-container");t.renderContainerInnerEl=f.createDiv("render-container-inner");var m=t.render=new F_(t),v=t.footerEl=h.createDiv("site-footer");t.notFoundEl=f.createDiv("not-found-container",(function(e){e.createDiv("not-found-image"),e.createDiv({cls:"not-found-title",text:"Not found"}),e.createDiv({cls:"not-found-description",text:"This page does not exist"})}));var g=t.rightColumnEl=f.createDiv("site-body-right-column"),w=t.rightColumnInnerEl=g.createDiv("site-body-right-column-inner");return t.graph=new $U(t,w),t.outline=new b_(t,w),v.createEl("a",{attr:{href:"https://publish.obsidian.md",target:"_blank"},text:"Powered by Obsidian Publish"}),window.addEventListener("popstate",(function(){return t.loadFromUrl()})),window.addEventListener("resize",wc((function(){return t.onResize()}),50,!0)),t.on("navigated",t.onNavigated.bind(t)),t.stack.push(m),t.toggleNotFound(!1),r.removeClass("has-not-found"),window.siteInfo&&(t.site=new G_(t,window.siteInfo)),window.applyCss=function(e){t.applyCss(e)},window.applyCssByLink=function(e){return y(t,void 0,void 0,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,ajaxPromise({url:e})];case 1:return t=i.sent(),this.applyCss(t),[3,3];case 2:return n=i.sent(),console.error(n),[3,3];case 3:return[2]}}))}))},window.require=function(){return u},window.publish=t,t.load(),t}return m(t,e),t.prototype.load=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,y,w,k,C,E,S,M,x,T,D,A,P,L,I,O,F,N,R,B,V,H,z,q,W,j,U,_,G,K,Y,Z,X,Q=this;return b(this,(function(b){switch(b.label){case 0:return t=(e=this).containerEl,n=e.site,i=e.render,n?("degraded"===n.status&&((r=document.body.createDiv("top-notice")).setText("This site is no longer active. If you are the owner of the site, please update your subscription "),r.createEl("a",{attr:{href:"https://obsidian.md/account",target:"_blank"},text:"here"}),r.appendText(".")),o=n.loadOptions(),a=n.loadCache(),[4,o]):(U_(),t.show(),i.renderContent("### Site not found."),[2]);case 1:b.sent(),U_(),t.show(),l=(s=this).leftColumnInnerEl,c=s.rightColumnInnerEl,u=s.siteHeaderEl,h=s.siteHeaderTextEl,p=s.siteLogoEl,d=s.siteLogoLinkEl,f=s.leftSiteHeaderEl,m=s.leftSiteHeaderLogoEl,v=s.leftSiteHeaderLogoLinkEl,g=s.renderContainerEl,y=n.getConfig(wU),w=n.getConfig(kU),k=n.getConfig(CU),C=this.search.outerContainerEl,y?l.insertBefore(C,this.leftSiteThemeToggleEl.nextSibling):w||k?c.prepend(C):u.prepend(C),E=n.getSiteName(),h.setText(E),f.setText(E),f.setAttr("aria-label",E),v.setAttr("aria-label","".concat(E," logo")),document.head.find('meta[property="og:site_name"]')||(S=document.head.find('meta[name="description"]'))&&S.parentNode.insertBefore(createEl("meta",{attr:{property:"og:site_name",content:E}}),S),"system"===(M=n.getConfig(yU))?(x=window.matchMedia("(prefers-color-scheme: dark)"),T=function(){x.matches?Q.setTheme("dark"):Q.setTheme("light")},x.addEventListener("change",T),T()):this.setTheme(M),n.getConfig(bU)&&(D=function(e){var t="dark"===Q.themeInEffect,n=t?"light":"dark";Q.setTheme(n),Q.leftSiteThemeToggleEl.toggleClass("is-dark",!t),e.toggleClass("is-enabled",!t),localStorage.setItem("site-theme",n),Q.graph.renderer&&Q.graph.renderer.testCSS()},(A=localStorage.getItem("site-theme"))&&this.setTheme(A),this.leftSiteThemeToggleEl.createSpan({cls:"option mod-dark"},(function(e){Km(e,"lucide-moon")})),this.leftSiteThemeToggleEl.createDiv("checkbox-container",(function(e){Q.leftSiteThemeToggleEl.toggleClass("is-dark","dark"===Q.themeInEffect),e.toggleClass("is-enabled","dark"===Q.themeInEffect),e.addEventListener("click",(function(){return D(e)}))})),this.leftSiteThemeToggleEl.createSpan({cls:"option mod-light"},(function(e){Km(e,"lucide-sun")})),this.leftSiteThemeToggleEl.show()),(P=n.getConfig(PU))&&(g.on("click",".publish-renderer",this.onPublishRendererClick.bind(this)),g.addEventListener("scroll",this.onSlidingWindowScroll.bind(this))),L=!P&&!!n.getConfig(xU),this.containerEl.toggleClass("is-readable-line-width",L),DE.globalOptions.breaks=!n.getConfig(TU),i.renderContent("### Loading site..."),b.label=2;case 2:return b.trys.push([2,4,,9]),[4,a];case 3:return b.sent(),[3,9];case 4:return(I=b.sent())instanceof XMLHttpRequest&&401===I.status?(this.setNoIndex(!0),[4,new Promise((function(e){new k_(Q,e).open()}))]):[3,7];case 5:return b.sent(),[4,n.loadCache()];case 6:return b.sent(),[3,8];case 7:return console.error(I),new vx("Oh no! Seems like something went wrong!"),[2];case 8:return[3,9];case 9:if(O=document.head,(F=n.getSiteLogoUrl())&&n.cache.has(F)&&(N=n.getInternalUrl(F),d.show(),p.setAttribute("src",N),m.show(),m.setAttribute("src",N)),this.addLinkToSiteRoot(h),this.addLinkToSiteRoot(f),this.addLinkToSiteRoot(v),this.addLinkToSiteRoot(d),R=n.getConfig(SU),n.isCustomDomain()&&R)try{R.startsWith("G-")?(window.dataLayer=window.dataLayer||[],window.gtag=function(){window.dataLayer.push(arguments)},window.gtag("js",new Date),window.gtag("config",R),(X=O.createEl("script")).async=!0,X.src="https://www.googletagmanager.com/gtag/js?id="+R):(window.GoogleAnalyticsObject="ga",B=window.ga=function(){(B.q=B.q||[]).push(arguments)},B.l=Date.now(),(X=O.createEl("script")).async=!0,X.src="https://www.google-analytics.com/analytics.js",B("create",R,"auto"),B("send","pageview"))}catch(e){}for(V=!1,H=!1,z=0,q=Array.from(O.childNodes);z=0?t.substring(o+1):""}var a=this.site.cache.permalinks;e=a.hasOwnProperty(t)&&t?a[t]:t.split("/").filter((function(e){return e})).map(e_).join("/");var s=location.hash||"";return{path:e,subpath:s=s.split("#").map(e_).join("#")}},t.prototype.navigate=function(e,t,n){var i=this.site;if(i){this.toggleNotFound(!1);var r=cS(e),o=r.path,a=r.subpath,s=i.cache.getLinkpathDest(o,t);if(s){if(n&&Ag.isModEvent(n))window.open(i.getPublicHref(s));else if(this.slidingWindowMode){for(var l=this.stack,c=0,u=l;c=R_,r=this.slidingWindowMode!==i;if(r&&(this.slidingWindowMode=i,this.stack=[this.render],document.body.toggleClass("sliding-windows",i)),i||r)for(var o=this.stack,a=0;ar+R_)&&n.scrollTo({left:r-i*B_,top:0,behavior:"smooth"})}},t.prototype.onPublishRendererClick=function(e,t){if(!e.defaultPrevented)for(var n=0,i=this.stack;n0&&n>664*(r-1)||r*R_+(e.length-r-1)*B_>i),o.renderContainerEl.toggleClass("mod-squished",n>=664*(r+1)||r*R_+(e.length-r)*B_>=i)}},t.prototype.onNavigated=function(){var e=this.site,t=this.render.currentFilepath,n=e.isCustomDomain()?"":" - Obsidian Publish";if(t){this.setNoIndex(!1);var i=uu(t);document.title=i+" - "+e.getSiteName()+n;var r=e.getPublicHref(t);location.href!==r&&history.pushState(null,null,r)}else this.setNoIndex(!0),document.title=e.getSiteName()+n},t.prototype.setNoIndex=function(e){this.site.getConfig(gU)&&(e=!0);var t=this.noindexEl;e&&!t.parentNode?document.head.appendChild(t):!e&&t.parentNode&&t.detach()},t.prototype.applyCss=function(e){this.styleEl||(this.styleEl=createEl("style",{type:"text/css"}),document.head.appendChild(this.styleEl)),this.styleEl.setText(e)},Object.defineProperty(t.prototype,"currentFilepath",{get:function(){return this.render.currentFilepath},enumerable:!1,configurable:!0}),t.prototype.registerMarkdownPostProcessor=function(e,t){return bR.registerPostProcessor(e,t),e},t.prototype.registerMarkdownCodeBlockProcessor=function(e,t,n){var i=bR.createCodeBlockPostProcessor(e,t);return bR.registerPostProcessor(i,n),bR.registerCodeBlockPostProcessor(e,t),i},t.prototype.trigger=function(t){for(var n=[],i=1;i","<=",">="],Z_=["<",">","<=",">="];var X_=function(){function e(e,t,n){this.app=e,this.queryController=n,this.plugin=e.internalPlugins.getEnabledPluginById("bases"),this.innerContainerEl=t.createDiv("bases-query-container")}return e.prototype.save=function(){var e,t=this.root.serialize();null===(e=this.saveFn)||void 0===e||e.call(this,t)},e.prototype.emptyTopLevelFilter=function(){this.innerContainerEl.empty();var e=new Vj(null);this.root=new $_(e,this,null),this.innerContainerEl.appendChild(this.root.containerEl),this.save()},e.prototype.updateQuery=function(e,t,n){var i=this;this.saveFn=e,this.viewConfig=t,function(){if(!i.root)return!0;var e=i.root.serialize(),t=null==n?void 0:n.serialize();return!(!e&&!t)&&JSON.stringify(e)!==JSON.stringify(t)}()&&(this.innerContainerEl.empty(),this.root=Q_.fromParsedQueryFilter(n,this),this.innerContainerEl.appendChild(this.root.containerEl))},e}(),Q_=function(){function e(e,t){this.filterEditor=e,this.parent=t}return e.fromParsedQueryFilter=function(e,t,n){var i=e instanceof Bj;if(!i&&!n){var r=new Vj([e]);return new $_(r,t,n)}if(i)return new $_(e,t,n);if(e instanceof Rj)return new J_(e,t,n);if(!e)return new J_(null,t,n);throw new Error("Invalid input filter")},e}(),$_=function(e){function t(n,i,r){var o=e.call(this,i,r)||this;return o.children=[],o.conjunction="and",o.conjunction=n.conjunction,o.children=n.filters&&n.filters.length>0?n.filters.map((function(e){return Q_.fromParsedQueryFilter(e,o.filterEditor,o)})):[new J_(null,o.filterEditor,o)],o.containerEl=createDiv("filter-group"),o.containerEl.createDiv("filter-group-header",(function(e){var t=e.createEl("select",{cls:"conjunction dropdown"});t.createEl("option",{text:K_.labelAllTheFollowing(),attr:{value:"and"}},(function(e){"and"===o.conjunction&&(e.selected=!0)})),t.createEl("option",{text:K_.labelAnyOfTheFollowing(),attr:{value:"or"}},(function(e){"or"===o.conjunction&&(e.selected=!0)})),t.createEl("option",{text:K_.labelNoneOfTheFollowing(),attr:{value:"not"}},(function(e){"not"===o.conjunction&&(e.selected=!0)})),t.addEventListener("change",(function(){switch(t.value){case"and":o.conjunction="and";break;case"or":o.conjunction="or";break;case"not":o.conjunction="not";break;default:throw new Error("Invalid conjunction")}o.renderChildren(),o.children.last().serialize()&&o.filterEditor.save()})),e.createDiv("filter-group-header-actions",(function(e){if(o.parent){var t=e.createEl("button",{cls:"clickable-icon"});Km(t,"lucide-trash-2"),t.addEventListener("click",(function(){o.parent?o.parent.removeChild(o):o.filterEditor.emptyTopLevelFilter()}))}}))})),o.listEl=o.containerEl.createDiv("filter-group-statements"),o.renderChildren(),o.containerEl.createDiv("filter-group-actions",(function(e){e.createDiv({cls:"text-icon-button",attr:{tabIndex:0}},(function(e){e.createSpan("text-button-icon",(function(e){return Km(e,"lucide-plus")})),e.createSpan({cls:"text-button-label",text:K_.buttonAddFilter()}),e.addEventListener("click",(function(){var e=new J_(null,o.filterEditor,o);o.children.push(e),o.renderChildren(),e.focusLHS()}))})),e.createDiv({cls:"text-icon-button",attr:{tabIndex:0}},(function(e){e.createSpan("text-button-icon",(function(e){return Km(e,"lucide-plus")})),e.createSpan({cls:"text-button-label",text:K_.buttonAddFilterGroup()}),e.addEventListener("click",(function(){var e=new Vj([]);o.children.push(new t(e,o.filterEditor,o)),o.renderChildren()}))}))})),o}return m(t,e),t.prototype.renderChildren=function(){var e=this.children,n=this.listEl;n.empty();for(var i=0;i0)return this.renderChildren(),void this.filterEditor.save();this.parent?this.parent.removeChild(this):this.filterEditor.emptyTopLevelFilter()},t.prototype.replaceChild=function(e,t){var n=this.children.indexOf(e);this.children[n]=t,this.filterEditor.save()},t.prototype.serialize=function(){var e=this.children.map((function(e){return e.serialize()})).filter((function(e){return!!e}));if(0===e.length)return null;switch(this.conjunction){case"and":return{and:e};case"or":return{or:e};case"not":return{not:e};default:throw new Error("Invalid conjunction")}},t}(Q_);var J_=function(e){function t(t,n,i){var r=e.call(this,n,i)||this;r.rightInputValue=null,r.advancedInputMode=!1,r.advancedInputValue="",r.advancedInputEditor=null,r.parsedQuery=null==t?void 0:t.rule;var o=n.app,a=n.queryController,s=r.containerEl=createDiv("filter-statement"),l=s.createDiv("filter-expression metadata-property"),c=r.leftInputContainerEl=l.createDiv("filter-lhs-container"),u=0,h=function(){0===u&&l.addClass("has-focus"),u++},p=function(){0===(u=Math.max(0,u-1))&&l.removeClass("has-focus")},d=r.leftInputEl=new aU(a,c).setPlaceholder(K_.labelPropertyKey()).filterProperties((function(e){return"note.tags"!==e&&"file.backlinks"!==e})).onOpen(h).onClose(p).onSelect((function(){var e=r.updateOperators();(function(e,t){for(var n=0,i=e;n",{number:">",date:"after"}),value:">"}),i.push({display:a("≥",{number:"≥",date:"on or after"}),value:">="}))}for(var s=function(t,n){for(var i=t.toLowerCase(),r=0,o=Object.values(e.workspace.operatorFuncConfigs);r1?s=function(e){if(e.customWidget)return e.customWidget;if(e.variadic)return"multitext";var t=rU(e.type[0]);return"unknown"===t&&(t="text"),t}(h.params[1]):l=!1}if(!l)return this.rightInputEl=this.rightInputValue=null,void this.rightInputContainerEl.empty();if(this.rightInputEl&&null!=this.rightInputValue&&this.rightInputEl.type===s)this.rightInputEl.setValue(r);else{this.rightInputContainerEl.empty();var p="";if(""!==a){var d=xj(a);p="note"===d.type?d.name:""}var f=n.metadataTypeManager.getWidget(s);this.rightInputEl=f.render(this.rightInputContainerEl,r,{app:n,blur:function(){},key:p,hoverSource:"bases",onChange:function(t){e.rightInputValue=t,e.update()},sourcePath:""})}},t.prototype.getLeftInputValue=function(){var e;return(null===(e=this.leftInputEl.value)||void 0===e?void 0:e.value)||""},t.prototype.getLHSValue=function(){var e=nU(this.getLeftInputValue());return this.filterEditor.queryController.getMockValueForIdent(e)},t.prototype.setFieldValuesFromInput=function(e){if(this.advancedInputMode=!1,!e){this.rightInputValue=null,this.operatorComponent.setValue(null),this.leftInputEl.setValueById("file.file");var t=this.updateOperators();return this.operatorComponent.setValue(t[0]),this.renderRightInput(),void this.reconcileVisibleFields()}var n=e.formula,i=!1;n instanceof vj&&(i=!0,n=n.expr);var r=!1;if(n instanceof dj)try{this.leftInputEl.setValueById(eG(n.left)),this.rightInputValue=tG([n.right]),this.updateOperators(),this.setOperator(n.operator,i),this.renderRightInput(),r=!0}catch(e){}else if(n instanceof gj)try{this.leftInputEl.setValueById(eG(n.subject)),this.rightInputValue=tG(n.args),this.updateOperators(),this.setOperator(n.name,i),this.renderRightInput(),r=!0}catch(e){}else n instanceof hj&&this.setErrorState(n.getErrorMessage());r||(this.advancedInputMode=!0,this.setAdvancedValue(e.toString())),this.reconcileVisibleFields()},t.prototype.setAdvancedValue=function(e){if(this.advancedInputValue=e,this.advancedInputEditor){var t=this.advancedInputEditor.state;this.advancedInputEditor.dispatch({changes:{from:0,to:t.doc.length,insert:e}})}},t.prototype.setErrorState=function(e){e?(this.containerEl.addClass("mod-error"),Km(this.toggleAdvancedModeButton,"lucide-circle-alert"),this.errorMessageEl.setText(e),this.errorMessageEl.show()):(this.containerEl.removeClass("mod-error"),this.errorMessageEl.hide(),this.advancedInputMode&&Km(this.toggleAdvancedModeButton,"mouse-pointer-click"))},t.prototype.update=function(){this.setErrorState("");var e=!0;if(this.advancedInputMode||!this.rightInputEl||null!==this.rightInputValue&&""!==this.rightInputValue||(e=!1),e){var t=this.parsedQuery=new ij(this.serialize());t.formula instanceof hj&&this.advancedInputMode&&this.advancedInputEditor.state.doc.length>0&&this.setErrorState(t.formula.getErrorMessage());try{this.filterEditor.save()}catch(e){}}},t.prototype.serialize=function(){if(this.advancedInputMode)return this.advancedInputValue;var e=this.getLeftInputValue();if(!e)return"";var t=this.operatorComponent.value,n=this.getFunction(t.funcName),i=nU(e);if(n){var r=void 0;if(n.params.length>1){var o=this.rightInputValue;if(""==o||null==o)return"";r=Array.isArray(o)?n.serialize.apply(n,k([i],o.map(this.quoteValueString),!1)):n.serialize(i,this.quoteValueString(o))}else r=n.serialize(i);return t.inverse?"!"+r:r}var a=t.value;return Y_.includes(a)?"".concat(i," ").concat(a," ").concat(this.quoteValueString(this.rightInputValue)):""},t.prototype.quoteValueString=function(e){if(String.isString(e)){if(e.startsWith("[[")&&e.endsWith("]]")){var t=e.indexOf("|");return-1!==t?'link("'.concat(e.slice(2,t),'", "').concat(e.slice(t+1,-2),'")'):'link("'.concat(e.slice(2,-2),'")')}var n=e.split(".",2);return 2===n.length&&["note","formula","file","this"].contains(n[1])?e:'"'.concat(e,'"')}return vc(e,!0)?JSON.stringify(e):String(e)},t}(Q_);function eG(e){if(e instanceof bj){if(e.object instanceof Sj&&["note","formula","file"].contains(e.object.id))return"".concat(e.object.id,".").concat(e.index)}else if(e instanceof yj){if(e.array instanceof Sj){var t=e.index;if(["file","formula","note"].contains(e.array.id)&&t instanceof kj)return"".concat(e.array.id,".").concat(t.value.toString())}}else if(e instanceof Sj){if(["true","false","null","this"].contains(e.id))throw new Error("Unsupported left-hand side of formula");return Qj(e.id)}throw new Error("Formula cannot be deserialized")}function tG(e){if(0===e.length)return"";if(1!==e.length){s=[];for(var t=0,n=e;t0)},r=n(e.filters),o=n(t.filters);i(this.globalFiltersFlairEl,r),i(this.localFiltersFlairEl,o),i(this.toolbarFiltersFlairEl,o);var a=e.filters&&e.filters.hasError()||(null==t?void 0:t.filters)&&t.filters.hasError();this.toolbarItem.buttonEl.toggleClass("mod-error",a),this.toolbarItem.buttonEl.toggleClass("is-active",o>0)},e.prototype.setEnabled=function(e){this.toolbarItem.setEnabled(e)},e}(),iG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.getEncodedIdentifier=function(e){return"note[".concat(JSON.stringify(e),"]")},t.prototype.expressionCompletions=function(){for(var t=e.prototype.expressionCompletions.call(this),n=tj(this.ctx,"formula"),i=function(e){var i="lucide-file-question";try{i=n.objectAccess(e).icon}catch(e){}t.push({label:e,type:i,apply:function(t,n,i,r){sj(e)?ZW(t,n,i,r,"formula[".concat(JSON.stringify(e),"]")):ZW(t,n,i,r,"formula.".concat(e))}})},r=0,o=n.keys();r0?[4,t.history.back()]:[3,4];case 3:return n.sent(),[3,6];case 4:return[4,t.open(null)];case 5:n.sent(),n.label=6;case 6:this.leaf.view instanceof rG&&t.parent.children.length>1&&t.detach(),n.label=7;case 7:this.app.workspace.onLayoutChange(),n.label=8;case 8:return[2]}}))}))},t.prototype.canAcceptExtension=function(e){return!1},t}(zg);function aG(e,t,n,i){return IC.test(n)?lm.plugins.fileExplorer.msgInvalidCharacters()+PC:i&&""===n?lm.plugins.fileExplorer.msgEmptyFileName():n.startsWith(".")?lm.plugins.fileExplorer.msgBadDotfile():e.vault.checkForDuplicate(t,n)?lm.plugins.fileExplorer.msgFileAlreadyExists():OC.test(n)?lm.plugins.fileExplorer.msgUnsafeCharacters()+LC:IC.test(n)?lm.plugins.fileExplorer.msgInvalidCharacters()+PC:""}function sG(e,t){pv(e,t,{classes:["mod-wide","mod-error"]})}var lG,cG=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.fileBeingRenamed=null,t}return m(t,e),t.prototype.setEphemeralState=function(t){e.prototype.setEphemeralState.call(this,t);var n=t.rename;if(n){var i=void 0;"start"===n?i=!0:"end"===n&&(i=!1),this.titleEl.isShown()?(Yl.isMobileApp&&(this.titleEl.contentEditable="true"),wv(this.titleEl,i)):this.app.fileManager.promptForFileRename(this.file)}},t.prototype.onOpen=function(){return y(this,void 0,Promise,(function(){var e,t=this;return b(this,(function(n){return(e=this.titleEl).tabIndex=-1,Yl.isMobileApp?e.addEventListener("touchstart",(function(){e.contentEditable="true"})):e.contentEditable="true",e.addEventListener("focus",this.onTitleFocus.bind(this)),e.addEventListener("blur",this.onTitleBlur.bind(this)),e.addEventListener("input",(function(){return t.onTitleChange(e)})),e.addEventListener("paste",(function(n){return t.onTitlePaste(e,n)})),e.addEventListener("keydown",this.onTitleKeydown.bind(this)),[2]}))}))},t.prototype.onTitleFocus=function(){var e=this;this.fileBeingRenamed=this.file,this.titleEl.spellcheck=this.app.vault.getConfig("spellcheck"),vl(this.titleParentEl,new hl({duration:150}).addProp("opacity","1","0","0").addProp("width",this.titleParentEl.clientWidth+"px","0",""),(function(){return e.titleParentEl.detach()}))},t.prototype.onTitleBlur=function(){return y(this,void 0,void 0,(function(){var e,t,n,i;return b(this,(function(r){switch(r.label){case 0:return e=this.titleEl,(t=e.doc.getSelection()).rangeCount>0&&(n=t.getRangeAt(0),i=n.commonAncestorContainer,(e===i||e.contains(i))&&t.removeRange(n)),[4,this.saveTitle(this.titleEl)];case 1:return r.sent()||e.setText(this.file.basename),dv(),this.fileBeingRenamed=null,this.titleEl.spellcheck=!1,Yl.isMobileApp&&(e.contentEditable="false"),this.titleContainerEl.prepend(this.titleParentEl),vl(this.titleParentEl,new hl({duration:150}).addProp("opacity","0","1","").addProp("width","0",this.titleParentEl.clientWidth+"px","")),this.titleEl.scrollTo({left:0}),[2]}}))}))},t.prototype.onTitlePaste=function(e,t){lg(e,t)},t.prototype.onTitleChange=function(e){var t=this.file;sg(e);var n=e.getText().trim(),i=aG(this.app,t,n,!1);i?sG(e,i):dv()},t.prototype.onTitleKeydown=function(e){var t=this;if(!e.isComposing){var n=function(){i.blur(),t.setEphemeralState({focus:!0,focusOnMobile:i!==t.titleEl})},i=e.targetNode;if("Escape"===e.key&&(e.preventDefault(),this.fileBeingRenamed=null,i.setText(this.file.basename),n()),"Enter"===e.key||"Tab"===e.key)e.preventDefault(),y(t,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,this.saveTitle(i)];case 1:return e.sent()&&n(),[2]}}))}));else if("ArrowDown"===e.key){var r=i.win.getSelection();if(r&&r.rangeCount>=1&&i.instanceOf(HTMLElement)){var o=r.getRangeAt(0);if(i===o.startContainer||i.contains(o.startContainer)){var a=o.getBoundingClientRect();a.bottom+a.height/2>=i.getBoundingClientRect().bottom&&(e.preventDefault(),i.blur(),i.win.getSelection().empty(),this.setEphemeralState({focus:!0,focusMetadata:!e.altKey}))}}}}},t.prototype.saveTitle=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r,o,a,s,l;return b(this,(function(c){switch(c.label){case 0:if(n=(t=this).file,i=t.fileBeingRenamed,n!==i||n.deleted)return[2,!0];if(r=e.getText().trim(),o=aG(this.app,n,r,!0))return sG(e,o),[2,!1];if(a=n.getNewPathAfterRename(r),n.path===a)return[2,!0];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,this.app.fileManager.renameFile(n,a)];case 2:return c.sent(),[3,4];case 3:return(s=c.sent())&&(console.error(s),l=s.message||s.code||s.toString(),sG(e,l)),[2,!1];case 4:return[2,!0]}}))}))},t.prototype.onPaneMenu=function(t,n){var i=this;e.prototype.onPaneMenu.call(this,t,n);var r=this.file;r&&(t.addItem((function(e){return e.setSection("action").setTitle(lm.plugins.fileExplorer.menuOptRename()).setIcon("lucide-edit-3").onClick((function(){return i.app.fileManager.promptForFileRename(r)}))})),t.addItem((function(e){return e.setSection("danger").setTitle(lm.interface.menu.deleteFile()).setIcon("lucide-trash-2").setWarning(!0).onClick((function(){return i.app.fileManager.promptForDeletion(r)}))})),this.app.workspace.trigger("file-menu",t,r,n,this.leaf))},t}(oG),uG=/[^a-zA-Z0-9]/,hG=/\s/,pG=/[\r\n]/,dG=/\n\r?\n$/,fG=/^\r?\n\r?\n/;function mG(e,t){return et?e:t}!function(e){e[e.DIFF_DELETE=-1]="DIFF_DELETE",e[e.DIFF_INSERT=1]="DIFF_INSERT",e[e.DIFF_EQUAL=0]="DIFF_EQUAL"}(lG||(lG={}));var gG=/\W/;function yG(e,t){for(var n=e.length,i=t;i0?n[i-1]:-1,a=0,s=0,l=0,c=0,r=null,t=!0)),o++;for(t&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),o=1;o=d?(p>=u.length/2||p>=h.length/2)&&(e.splice(o,0,[lG.DIFF_EQUAL,h.substring(0,p)]),e[o-1][1]=u.substring(0,u.length-p),e[o+1][1]=h.substring(p),o++):(d>=u.length/2||d>=h.length/2)&&(e.splice(o,0,[lG.DIFF_EQUAL,u.substring(0,d)]),e[o-1][0]=lG.DIFF_INSERT,e[o-1][1]=h.substring(0,h.length-d),e[o+1][0]=lG.DIFF_DELETE,e[o+1][1]=u.substring(d),o++),o++}o++}},e.prototype.diff_cleanupSemanticLossless=function(e){for(var t=1;t=u&&(u=h,s=n,l=i,c=r)}e[t-1][1]!==s&&(s?e[t-1][1]=s:(e.splice(t-1,1),t--),e[t][1]=l,c?e[t+1][1]=c:(e.splice(t+1,1),t--))}t++}},e.prototype.diff_cleanupEfficiency=function(e){for(var t=!1,n=[],i=0,r=null,o=0,a=!1,s=!1,l=!1,c=!1;o0?n[i-1]:-1,l=c=!1),t=!0)),o++;t&&this.diff_cleanupMerge(e)},e.prototype.diff_cleanupMerge=function(e){e.push([lG.DIFF_EQUAL,""]);for(var t,n=0,i=0,r=0,o="",a="";n1?(0!==i&&0!==r&&(0!==(t=this.diff_commonPrefix(a,o))&&(n-i-r>0&&e[n-i-r-1][0]===lG.DIFF_EQUAL?e[n-i-r-1][1]+=a.substring(0,t):(e.splice(0,0,[lG.DIFF_EQUAL,a.substring(0,t)]),n++),a=a.substring(t),o=o.substring(t)),0!==(t=this.diff_commonSuffix(a,o))&&(e[n][1]=a.substring(a.length-t)+e[n][1],a=a.substring(0,a.length-t),o=o.substring(0,o.length-t))),n-=i+r,e.splice(n,i+r),o.length&&(e.splice(n,0,[lG.DIFF_DELETE,o]),n++),a.length&&(e.splice(n,0,[lG.DIFF_INSERT,a]),n++),n++):0!==n&&e[n-1][0]===lG.DIFF_EQUAL?(e[n-1][1]+=e[n][1],e.splice(n,1)):n++,r=0,i=0,o="",a=""}""===e[e.length-1][1]&&e.pop();var s=!1;for(n=1;nt));n++)o=i,a=r;return e.length!==n&&e[n][0]===lG.DIFF_DELETE?a:a+(t-o)},e.prototype.diff_prettyHtml=function(e){for(var t=[],n=/&/g,i=//g,o=/\n/g,a=0;a");switch(s){case lG.DIFF_INSERT:t[a]=''+l+"";break;case lG.DIFF_DELETE:t[a]=''+l+"";break;case lG.DIFF_EQUAL:t[a]=""+l+""}}return t.join("")},e.prototype.diff_text1=function(e){for(var t=[],n=0;n2&&(this.diff_cleanupSemantic(r),this.diff_cleanupEfficiency(r));else if(e&&"object"==typeof e&&void 0===t&&void 0===n)r=e,i=this.diff_text1(r);else if("string"==typeof e&&t&&"object"==typeof t&&void 0===n)i=e,r=t;else{if("string"!=typeof e||"string"!=typeof t||!n||"object"!=typeof n)throw new Error("Unknown call format to patch_make");i=e,r=n}if(0===r.length)return[];for(var o=[],a=new wG,s=0,l=0,c=0,u=i,h=i,p=0;p=2*this.patchMargin&&s&&(this.patch_addContext_(a,u),o.push(a),a=new wG,s=0,u=h,l=c)}d!==lG.DIFF_INSERT&&(l+=f.length),d!==lG.DIFF_DELETE&&(c+=f.length)}return s&&(this.patch_addContext_(a,u),o.push(a)),o},e.prototype.patch_deepCopy=function(e){for(var t=[],n=0;nthis.matchMaxBits?-1!==(l=this.match_main(t,s.substring(0,this.matchMaxBits),a))&&(-1===(c=this.match_main(t,s.substring(s.length-this.matchMaxBits),a+s.length-this.matchMaxBits))||l>=c)&&(l=-1):l=this.match_main(t,s,a),-1===l)r[o]=!1,i-=e[o].length2-e[o].length1;else{r[o]=!0,i=l-a;var u=void 0;if(s===(u=-1===c?t.substring(l,l+s.length):t.substring(l,c+this.matchMaxBits)))t=t.substring(0,l)+this.diff_text2(e[o].diffs)+t.substring(l+s.length);else{var h=this.diff_main(s,u,!1);if(s.length>this.matchMaxBits&&this.diff_levenshtein(h)/s.length>this.patchDeleteThreshold)r[o]=!1;else{this.diff_cleanupSemanticLossless(h);for(var p=0,d=0,f=0;fo[0][1].length){var a=t-o[0][1].length;o[0][1]=n.substring(o[0][1].length)+o[0][1],r.start1-=a,r.start2-=a,r.length1+=a,r.length2+=a}if(0===(o=(r=e[e.length-1]).diffs).length||o[o.length-1][0]!==lG.DIFF_EQUAL)o.push([lG.DIFF_EQUAL,n]),r.length1+=t,r.length2+=t;else if(t>o[o.length-1][1].length){a=t-o[o.length-1][1].length;o[o.length-1][1]+=n.substring(0,a),r.length1+=a,r.length2+=a}return n},e.prototype.patch_splitMax=function(e){for(var t=this.matchMaxBits,n=0;n2*t?(s.length1+=u.length,r+=u.length,l=!1,s.diffs.push([c,u]),i.diffs.shift()):(u=u.substring(0,t-s.length1-this.patchMargin),s.length1+=u.length,r+=u.length,c===lG.DIFF_EQUAL?(s.length2+=u.length,o+=u.length):l=!1,s.diffs.push([c,u]),u===i.diffs[0][1]?i.diffs.shift():i.diffs[0][1]=i.diffs[0][1].substring(u.length))}a=(a=this.diff_text2(s.diffs)).substring(a.length-this.patchMargin);var h=this.diff_text1(i.diffs).substring(0,this.patchMargin);""!==h&&(s.length1+=h.length,s.length2+=h.length,0!==s.diffs.length&&s.diffs[s.diffs.length-1][0]===lG.DIFF_EQUAL?s.diffs[s.diffs.length-1][1]+=h:s.diffs.push([lG.DIFF_EQUAL,h])),l||e.splice(++n,0,s)}}},e.prototype.patch_toText=function(e){for(var t=[],n=0;nt.length?e:t,a=e.length>t.length?t:e,s=o.indexOf(a);if(-1!==s)return r=[[lG.DIFF_INSERT,o.substring(0,s)],[lG.DIFF_EQUAL,a],[lG.DIFF_INSERT,o.substring(s+a.length)]],e.length>t.length&&(r[0][0]=lG.DIFF_DELETE,r[2][0]=lG.DIFF_DELETE),r;if(1===a.length)return[[lG.DIFF_DELETE,e],[lG.DIFF_INSERT,t]];var l=this.diff_halfMatch_(e,t);if(l){var c=l[0],u=l[1],h=l[2],p=l[3],d=l[4],f=this.diff_main(c,h,n,i),m=this.diff_main(u,p,n,i);return f.concat([[lG.DIFF_EQUAL,d]],m)}return n&&e.length>100&&t.length>100?this.diff_lineMode_(e,t,i):this.diff_bisect_(e,t,i)},e.prototype.diff_lineMode_=function(e,t,n){var i=this.diff_linesToChars_(e,t);e=i.chars1,t=i.chars2;var r=i.lineArray,o=this.diff_main(e,t,!1,n);this.diff_charsToLines_(o,r),this.diff_cleanupSemantic(o),o.push([lG.DIFF_EQUAL,""]);for(var a=0,s=0,l=0,c="",u="";a=1&&l>=1){o.splice(a-s-l,s+l),a=a-s-l;for(var h=this.diff_main(c,u,!1,n),p=h.length-1;p>=0;p--)o.splice(a,0,h[p]);a+=h.length}l=0,s=0,c="",u=""}a++}return o.pop(),o},e.prototype.diff_bisect_=function(e,t,n){for(var i=e.length,r=t.length,o=Math.ceil((i+r)/2),a=o,s=2*o,l=new Array(s),c=new Array(s),u=0;un);g++){for(var y=-g+d;y<=g-f;y+=2){for(var b=a+y,w=void 0,k=(w=y===-g||y!==g&&l[b-1]i)f+=2;else if(k>r)d+=2;else if(p){if((E=a+h-y)>=0&&E=(S=i-c[E]))return this.diff_bisectSplit_(e,t,w,k,n)}}for(var C=-g+m;C<=g-v;C+=2){for(var E=a+C,S=void 0,M=(S=C===-g||C!==g&&c[E-1]i)v+=2;else if(M>r)m+=2;else if(!p){if((b=a+h-C)>=0&&b=(S=i-S))return this.diff_bisectSplit_(e,t,w,k,n)}}}}return[[lG.DIFF_DELETE,e],[lG.DIFF_INSERT,t]]},e.prototype.diff_bisectSplit_=function(e,t,n,i,r){var o=e.substring(0,n),a=t.substring(0,i),s=e.substring(n),l=t.substring(i),c=this.diff_main(o,a,!1,r),u=this.diff_main(s,l,!1,r);return c.concat(u)},e.prototype.diff_linesToChars_=function(e,t){var n=[],i={};return n[0]="",{chars1:this.diff_linesToCharsMunge_(e,n,i,4e4),chars2:this.diff_linesToCharsMunge_(t,n,i,65535),lineArray:n}},e.prototype.diff_linesToCharsMunge_=function(e,t,n,i){for(var r="",o=0,a=-1,s=t.length;ai?e=e.substring(n-i):nt.length?e:t,i=e.length>t.length?t:e;if(n.length<4||2*i.lengthu[4].length?c:u:c)[4];return e.length>t.length?(o=r[0],a=r[1],s=r[2],l=r[3]):(s=r[0],l=r[1],o=r[2],a=r[3]),[o,a,s,l,h]},e.prototype.diff_halfMatchI_=function(e,t,n){for(var i,r,o,a,s=e.substring(n,n+Math.floor(e.length/4)),l="",c=t.indexOf(s,0);-1!==c;){var u=this.diff_commonPrefix(e.substring(n),t.substring(c)),h=this.diff_commonSuffix(e.substring(0,n),t.substring(0,c));l.length=e.length?[i,r,o,a,l]:null},e.prototype.diff_cleanupSemanticScore_=function(e,t){if(!e||!t)return 6;var n=e.charAt(e.length-1),i=t.charAt(0),r=n.match(uG),o=i.match(uG),a=r&&n.match(hG),s=o&&i.match(hG),l=a&&n.match(pG),c=s&&i.match(pG),u=l&&e.match(dG),h=c&&t.match(fG);return u||h?5:l||c?4:r&&!a&&s?3:a||s?2:r||o?1:0},e.prototype.match_bitap_=function(e,t,n){if(t.length>this.matchMaxBits)throw new Error("Pattern too long for this browser");var i=this.match_alphabet_(t),r=this.matchThreshold,o=e.indexOf(t,n);-1!==o&&(r=mG(this.match_bitapScore_(0,o,t,n),r),-1!==(o=e.lastIndexOf(t,n+t.length))&&(r=mG(this.match_bitapScore_(0,o,t,n),r)));var a,s,l=1<=p;m--){var v=i[e.charAt(m-1)];if(f[m]=0===h?(f[m+1]<<1|1)&v:(f[m+1]<<1|1)&v|(c[m+1]|c[m])<<1|1|c[m+1],f[m]&l){var g=this.match_bitapScore_(h,m-1,t,n);if(g<=r){if(r=g,!((o=m-1)>n))break;p=vG(1,2*n-o)}}}if(this.match_bitapScore_(h+1,n,t,n)>r)break;c=f}return o},e.prototype.match_bitapScore_=function(e,t,n,i){var r=e/n.length,o=Math.abs(i-t);return this.matchDistance?r+o/this.matchDistance:o?1:r},e.prototype.match_alphabet_=function(e){for(var t={},n=0;n2&&(i.diff_cleanupSemantic(r),i.diff_cleanupEfficiency(r));var o=i.patch_make(e,r);return i.patch_apply(o,n)[0]}function CG(e){var t=e.split("\n");return t.length>1&&""===t.last()&&t.pop(),t}function EG(e,t){e.endsWith("\n")||(e+="\n"),t.endsWith("\n")||(t+="\n");var n=new bG,i=n.diff_lineMode(e,t);n.diff_cleanupSemantic(i);for(var r=createDiv("diff-view"),o=function(e,t){var n=createEl("div","diff-line");return t&&n.addClass("mod-"+t),null!=e&&n.setText(e),n.createEl("br"),n},a=[],s=function(e){if(0!==a.length){var t=0===r.childNodes.length,n=t||e?5:10;if(a.length>n){var i=[],o=createDiv("diff-collapsed");o.addEventListener("click",(function(){var e=o.parentNode;if(e){for(var t=0,n=i;t=","<=","=="].includes(s.operator))continue;var h=this.evaluatePropertyFromFormula(s.left),p=(u=h.name,h.type),d=this.evaluateValueFromFormula([s.right],e);"note"===p?n[u]=d:"file"===p&&"folder"===u&&"=="===s.operator&&String.isString(d)&&(t=d)}catch(e){}else if(s instanceof gj)try{var f=this.evaluatePropertyFromFormula(s.subject);u=f.name,p=f.type,d=this.evaluateValueFromFormula(s.args,e);if("note"===p){if(["startsWith","endsWith","contains","containsAny","containsAll"].includes(s.name))"multitext"!==this.app.metadataTypeManager.getTypeInfo(u).inferred.type||Array.isArray(d)||(d=[d]),n[u]=d}else if("file"===p)if("hasTag"===s.name&&String.isString(d)){var m=Object.hasOwn(n,"tags")?n.tags:[];Array.isArray(m)&&(m.push(d),n.tags=m)}else"inFolder"===s.name&&String.isString(d)?t=d:"hasProperty"===s.name&&String.isString(d)&&(n[d]=null)}catch(e){}}}for(var v=0,g=this.viewConfig.getOrder();v1?n:n[0]},t.prototype.valueToFrontmatterValue=function(e,t){if(e instanceof AV){var n=t?t.file.path:"",i=this.app.metadataCache.fileToLinktext(e.file,n);return"[[".concat(i,"]]")}if(e instanceof LV){n=t?t.file.path:"";var r=this.app.metadataCache.getFirstLinkpathDest(e.data,n),o=(i=this.app.metadataCache.fileToLinktext(r,n),e.display?"|".concat(e.display):"");return"[[".concat(i).concat(o,"]]")}if(e instanceof mV)return e.data;if(e instanceof dV)return null;if(e instanceof bV){for(var a=[],s=0;sr[l]&&(r[l]=d.length)}for(l=0;l=0?i.setLimit(t):c.inputEl.addClass("mod-error")}d()}));c.inputEl.addEventListener("keydown",(function(t){t.isComposing||"Enter"===t.key&&(t.preventDefault(),e.toolbarItem.setOpen(!1))}));var u=a.createDiv("bases-toolbar-menu-item");u.addEventListener("click",(function(t){t.preventDefault(),i.setLimit(0),e.toolbarItem.setOpen(!1)}));var h=u.createDiv("bases-toolbar-menu-item-info");Km(h.createDiv("bases-toolbar-menu-item-info-icon"),"lucide-rotate-ccw");var p=h.createDiv({cls:"bases-toolbar-menu-item-name",text:zG.buttonShowAll()}),d=function(){var t=i.getLimit();p.setText(0===t?zG.buttonShowAll():zG.buttonShowAllCount({count:e.resultCount})),u.toggleClass("mod-hidden",0===t)};d();var f=[{name:lm.interface.labelCopy(),icon:"lucide-copy",callback:function(){return n.copyToClipboard()}},{name:zG.actionExportCSV(),icon:"lucide-file-down",callback:function(){var e,t,r,o,a;e=n.exportTable().toCSV(),t=i.getViewName()+".csv",r=new Blob([e],{type:"text/plain"}),o=URL.createObjectURL(r),(a=createEl("a",{attr:{href:o,download:t}})).style.display="none",a.click(),a.detach(),URL.revokeObjectURL(o)}}];f.push.apply(f,this.view.getViewActions());for(var m=function(t){var n=a.createDiv("bases-toolbar-menu-item");n.addEventListener("click",(function(n){n.preventDefault(),e.toolbarItem.setOpen(!1),t.callback()}));var i=n.createDiv("bases-toolbar-menu-item-info");t.icon&&Km(i.createDiv("bases-toolbar-menu-item-info-icon"),t.icon);var r=t.name;t.getName&&(r=t.getName()),i.createDiv({cls:"bases-toolbar-menu-item-name",text:r}),n.toggleClass("mod-destructive",t.destructive)},v=0,g=f;vr&&(i=r,o=!0),this.toolbarItem.setButtonText(lm.nouns.resultWithCount({count:i})),this.toolbarItem.buttonEl.toggleClass("is-active",o)},e.prototype.setEnabled=function(e){this.toolbarItem.setEnabled(e)},e}();function WG(e){if(!e||"string"!=typeof e)return null;var t=!0,n=e.split(".").map((function(e){var n=parseInt(e);return isNaN(n)&&(t=!1),n}));return t?n:null}function jG(e,t){var n=WG(e),i=WG(t);return!!i&&(!n||function(e,t){for(var n=Math.min(e.length,t.length),i=0;it[i])return!1}return e.length0),this.toolbarItem.buttonEl.toggleClass("is-active",a>0||!!n.groupBy)},t.prototype.onOpen=function(){this.display()},t.prototype.display=function(){var e=this;UG(this.currentSort,this.loadSort(),(function(e,t){return e.property===t.property&&e.direction===t.direction}),(function(t){var n=new ZG(e,t.property,t.direction);return n.render(e.sortRowsContainerEl),n})),this.sortRowsContainerEl.setChildrenInPlace(this.currentSort.map((function(e){return e.rowEl}))),0===this.currentSort.length&&this.addSortRow(),this.renderGroupBy(this.viewConfig.groupBy)},t.prototype.renderGroupBy=function(e){var t,n;!((n=this.groupByRow)&&(!n&&!e||n&&e&&n.direction===e.direction&&n.property===e.property))&&(this.groupByRowContainerEl.empty(),this.groupByRow.property=null==e?void 0:e.property,this.groupByRow.direction=null!==(t=null==e?void 0:e.direction)&&void 0!==t?t:"ASC",this.groupByRow.render(this.groupByRowContainerEl))},t.prototype.setGroupBy=function(e){this.viewConfig.setGroupBy(e),this.renderGroupBy(e)},t.prototype.addSortRow=function(){var e=new ZG(this,null,"ASC");return this.currentSort.push(e),e.render(this.sortRowsContainerEl),e},t.prototype.removeSortRow=function(e){this.currentSort.remove(e),this.saveSort()},t.prototype.moveSortRow=function(e,t){var n=this.currentSort.indexOf(e);-1!==t&&t!==n&&(lc(this.currentSort,n,t),this.saveSort())},t.prototype.loadSort=function(){return this.viewConfig?this.viewConfig.getSort():[]},t.prototype.saveSort=function(){if(this.viewConfig){var e=this.currentSort.map((function(e){return{property:e.property,direction:e.direction}})).filter((function(e){return!!e.property}));this.viewConfig.sort=e,this.query.save()}},t}(Fm),YG=function(){function e(e,t,n){this.property=null,this.direction="ASC",this.parent=e,this.property=t,this.direction=n}return e.prototype.render=function(e){var t,n=this,i=this.property,r=this.parent,o=r.app,a=r.queryController,s=this.rowEl=e.createDiv("base-toolbar-sort-item"),l=this.wrapperEl=s.createDiv("metadata-property bases-sort-property-container"),c=0,u=function(){0===c&&l.addClass("has-focus"),c++},h=function(){0===(c=Math.max(0,c-1))&&l.removeClass("has-focus")};this.propertyCombobox=new aU(a,l).filterProperties(this.propertyFilter.bind(this)).setValueById(i).setPlaceholder(GG.labelPropertyKey()).onOpen(u).onClose(h).onSelect((function(e){n.property!==e.value&&(n.property=e.value,n.configureSortRow(),n.handleSave()),t.focus()})),this.propertyCombobox.buttonEl.addClass("bases-sort-property"),(t=this.sortDirectionCombobox=new _T(o,l).onOpen(u).onClose(h).onSelect((function(e){n.direction!==e.value&&(n.direction=e.value,n.handleSave())}))).buttonEl.addClass("bases-sort-direction"),this.configureSortRow();var p=s.createDiv("clickable-icon");Km(p,"lucide-trash-2"),p.addEventListener("click",this.handleDelete.bind(this))},e.prototype.configureSortRow=function(){var e=this,t=this.parent,n=this.sortDirectionCombobox,i=t.queryController,r={ASC:GG.labelSortAZ(),DESC:GG.labelSortZA()};if(this.property){var o=i.getWidgetForIdent(nU(this.property));"date"===o||"datetime"==o?r={ASC:GG.labelSortOldNew(),DESC:GG.labelSortNewOld()}:"number"===o&&(r={ASC:GG.labelSort01(),DESC:GG.labelSort10()})}var a=function(){if(!e.property)return!1;var n=xj(e.property),i=n.type,r=n.name;return"formula"===i&&!Object.hasOwn(t.query.formulas,r)}(),s=this.propertyCombobox.iconEl;this.wrapperEl.toggleClass("mod-error",a),mv(s,a?GG.msgErrorInvalidProperty():""),a&&Km(s,"lucide-alert-triangle"),n.setItems([{value:"ASC",display:r.ASC},{value:"DESC",display:r.DESC}]),n.setValueById(this.direction)},e.prototype.focus=function(){this.propertyCombobox.focus()},e}(),ZG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.render=function(t){var n=this;e.prototype.render.call(this,t);var i=this.rowEl,r=createDiv("grip-handle");Km(r,"grip-vertical"),Uc(r,i,t,10,(function(){}),(function(e){n.parent.moveSortRow(n,e)})),this.rowEl.insertBefore(r,i.firstChild)},t.prototype.propertyFilter=function(e){return"file.file"!==e&&"file.backlinks"!==e},t.prototype.handleSave=function(){this.parent.saveSort()},t.prototype.handleDelete=function(){this.parent.removeSortRow(this)},t}(YG),XG=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.propertyFilter=function(e){return Gj(e,this.parent.queryController)},t.prototype.handleSave=function(){var e=this.property,t=this.direction;this.parent.setGroupBy(e?{property:e,direction:t}:null)},t.prototype.handleDelete=function(){this.parent.setGroupBy()},t}(YG),QG=lm.plugins.bases,$G=["#",":","|","^","%%","[[","]]"].join(" "),JG=function(e){function t(t){var n=e.call(this,t)||this;n.searchComponent=new BT(n.containerEl).setPlaceholder(lm.plugins.search.promptStartSearch()).onChange((function(){return n.renderViews()}));var i=n.containerEl.createDiv("bases-toolbar-items");return n.chooser=new Kx(n,i,n.scope),n.scope.register([],"ArrowRight",(function(){var e,t=n.chooser.selectedItem,i=n.chooser.values[t];i&&(null===(e=n.handleNext)||void 0===e||e.call(n,i.config))})),n}return m(t,e),t.prototype.onSelect=function(e){return this.handleSelect=e,this},t.prototype.onNext=function(e){return this.handleNext=e,this},t.prototype.onShow=function(){this.searchComponent.autoSelect(),this.renderViews()},t.prototype.selectSuggestion=function(e,t){var n,i=e.config;i?null===(n=this.handleSelect)||void 0===n||n.call(this,i):this.addView()},t.prototype.renderViews=function(){for(var e=eT(this.searchComponent.inputEl.value),t=[],n=0,i=this.controller.query.views;n0&&y(n,void 0,void 0,(function(){var e,t,n;return b(this,(function(i){switch(i.label){case 0:return[4,l.updateInternalLinks(p)];case 1:return i.sent(),e=lm.nouns.linkWithCount({count:v}),t=lm.nouns.fileWithCount({count:m}),n=lm.dialogue.msgUpdatedLinks({links:e,files:t}),new vx(n),[2]}}))}))}}}));var f=[],m=o.internalPlugins.getEnabledPluginById("bases");if(m)for(var v=m.getRegistrations(),g=0,w=Object.keys(v);g=0&&u=r.length)return 0;var i,a,s=r[e],l=s.property,c=s.direction;try{i=t.getValue(l),a=n.getValue(l)}catch(e){return 0}var u=0;if(i instanceof dV&&a instanceof dV)u=0;else if(i instanceof yV||a instanceof yV)u=(i.isTruthy()?1:-1)-(a.isTruthy()?1:-1);else{if(i instanceof dV)return 1;if(a instanceof dV)return-1;if(i instanceof gV&&a instanceof gV)u=i.data-a.data;else if(i instanceof MV&&a instanceof MV)u=i.date.getTime()-a.date.getTime();else if(i instanceof TV&&a instanceof TV)u=i.getMilliseconds()-a.getMilliseconds();else{var h=i.toString(),p=a.toString();(i instanceof LV||i instanceof PV)&&i.display&&(h=i.display.toString()),(a instanceof LV||a instanceof PV)&&a.display&&(p=a.display.toString()),u=aC(h,p)}}return 0===u?o(e+1,t,n):"ASC"===c?u:-u};e.sort((function(e,t){return o(0,e,t)}))}}},e.prototype.applyLimit=function(e){var t=this.config.getLimit();t>0&&e.length>t&&e.splice(t,e.length-t)},e.prototype.getSummaryValue=function(e,t,n,i){var r=this.summaryCache;r.has(t)||r.set(t,{});var o=r.get(t);Object.hasOwn(o,n)||(o[n]={});var a=o[n];if(!Object.hasOwn(a,i)){var s=e.query.getSummaryFormula(i);if(a[i]=dV.value,s)try{var l=t.map((function(e){return e.getValue(n)})),c=new BV(this.app,l);a[i]=s.getValue(c)}catch(e){}}return a[i]||dV.value},e}(),rK=function(e){function t(t){var n=e.call(this)||this;return n.allProperties=[],n.undoStack=[],n.redoStack=[],n.app=t.app,n.queryController=t,n}return m(t,e),t.prototype.getViewActions=function(){return[]},t.prototype.createFileForView=function(e,t){return y(this,void 0,Promise,(function(){return b(this,(function(n){switch(n.label){case 0:return[4,this.queryController.newItemMenu.open(e,t)];case 1:return n.sent(),[2]}}))}))},t.prototype.onResize=function(){},t.prototype.focus=function(){},t.prototype.setEphemeralState=function(e){},t.prototype.getEphemeralState=function(){return{}},t.prototype.createTransaction=function(e){return y(this,void 0,void 0,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:return t={changes:[],state:this.getEphemeralState()},[4,e(t.changes)];case 1:return i.sent(),n=function(){for(var e=0,n=t.changes;er))break;o=l}}if(o)return{from:n,to:o.to}}catch(e){console.error(e)}return null})),yK=zi.define((function(){return{lastInsert:""}})),bK=jo.inputHandler.of((function(e,t,n,i){if(e.compositionStarted||e.state.readOnly)return!1;if(t===n){var r=e.plugin(yK),o="-"===r.lastInsert&&"—"===i&&e.state.doc.lineAt(t).from===t;return r.lastInsert=i,!!o&&(e.dispatch({changes:[{insert:"--",from:t}],selection:{anchor:t+2},userEvent:"input.type"}),!0)}})),wK=[yK,bK],kK=Np.of((function(e,t,n){var i=ep(e);function r(e){if(i.length=o.to&&r(o)?"="==o.text[0]?1:2:100}try{var a=e.doc.lines,s=e.doc.lineAt(t);if(s.number===a)return null;var l=o(s);if(100===l)return null;for(var c=e.doc.line(s.number+1),u=s.to;c&&!(o(c)<=l)&&(u=c.to,c.number!==a);)c=e.doc.line(c.number+1);return u===s.to?null:{from:s.to,to:u}}catch(e){console.error(e)}return null})),CK=Np.of((function(e,t,n){var i=e.doc.lineAt(t);if("---"===i.text){for(var r=i.number-1;r>0;r--)if(e.doc.line(r).text.trim())return;for(var o=e.doc.lines,a=i.number+1;a<=o&&"---"!==e.doc.line(a).text;)a++;if(!(a>o))return{from:t,to:e.doc.line(a).to}}})),EK=function(e){var t=e.state;return(0,e.dispatch)(t.update({selection:{anchor:0},scrollIntoView:!0})),!0},SK=function(e){ip(e,e.state.doc.length,5e3);for(var t=e.state,n=[],i=1;i<=t.doc.lines;i++){var r=t.doc.line(i),o=Vp(t,r.from,r.to);o&&n.push(zp.of(o))}for(var a=0;an&&(i.empty||i.to>a.from)&&(t(a,r,i),n=a.number),o=a.to+1}var s=e.changes(r);return{changes:r,range:pe.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}}))}var xK=/^[\s>]+/,TK=function(e){var t=e.state,n=e.dispatch;return!t.readOnly&&(n(t.update(MK(t,(function(e,n){var i=e.from,r=e.text.match(xK);if(r){var o=r[0].lastIndexOf(">");-1!==o&&(" "===r[0].charAt(o+1)&&o++,i=i+o+1)}n.push({from:i,insert:t.facet(gp)})})),{userEvent:"input.indent"})),!0)},DK=function(e){var t=e.state,n=e.dispatch;return!t.readOnly&&(n(t.update(MK(t,(function(e,n){var i=e.text.match(xK);if(i){var r=i[0],o=r.indexOf(">");if(o>0)n.push({from:e.from,to:e.from+o,insert:""});else if("> "!==r){var a=r.lastIndexOf(">");-1!==a&&" "===r.charAt(a+1)&&a++;var s=a+1,l=r.substr(s);if(l){for(var c=wt(l,t.tabSize),u=0,h=bp(t,Math.max(0,c-yp(t)));u=s?pe.range(l.from,c.to):pe.range(l.to,c.from);return o?i.addRange(u):pe.create([u])},update:function(e){n=e.changes.mapPos(n),i=i.map(e.changes)}}})),RK=new Ae;function BK(e,t,n){var i=!1;return e.iterate({from:t,to:n,enter:function(e){var t=e.type.prop(Qd);if(t&&t.contains("HyperMD-table"))return i=!0,!1}}),i}var VK=function(e){return function(t){for(var n=t.state,i=n.doc,r=n.selection,o=[],a=ep(t.state),s=0,l=r.ranges;s=t.lines?"":t.line(e+1).text},t.prototype.lineCount=function(){return this.cm.state.doc.lines},t.prototype.lastLine=function(){return this.cm.state.doc.lines-1},t.prototype.getSelection=function(){var e=this.cm,t=e.state.selection.main;return e.state.doc.sliceString(t.from,t.to)},t.prototype.getRange=function(e,t){var n=this.cm,i=n.state.doc;return n.state.doc.sliceString(ey(i,e),ey(i,t))},t.prototype.replaceSelection=function(e,t){var n=this.cm,i=n.state.replaceSelection(e);i.userEvent=t,n.dispatch(i)},t.prototype.replaceRange=function(e,t,n,i){var r=this.cm,o=r.state.doc,a=ey(o,t),s=n?ey(o,n):a;r.dispatch({changes:{from:a,to:s,insert:e},scrollIntoView:!0,userEvent:i})},t.prototype.getCursor=function(e){void 0===e&&(e="head");var t=this.cm,n=t.state.selection.main,i=t.state.doc;switch(e){case"from":return ty(i,n.from);case"to":return ty(i,n.to);case"anchor":return ty(i,n.anchor);case"head":return ty(i,n.head)}return null},t.prototype.listSelections=function(){for(var e=this.cm,t=e.state.selection.ranges,n=e.state.doc,i=[],r=0,o=t;r0){var m=re.of(c,s.length,a.state.facet(nt.lineSeparator));l.changes=[m],(o||r)&&(s=m.apply(s))}else l.changes=c;if(o)l.selection=pe.create(o.map((function(e){var t=ey(s,e.from),n=e.to?ey(s,e.to):t;return pe.range(t,n)})));else if(r){d=ey(s,r.from),f=r.to?ey(s,r.to):d;l.selection={anchor:d,head:f}}l.userEvent=t,this.cm.dispatch(l)},t.prototype.wordAt=function(e){var t=this.cm.state.doc,n=this.cm.state.wordAt(ey(t,e));return n?{from:ty(t,n.from),to:ty(t,n.to)}:null},t.prototype.posToOffset=function(e){return ey(this.cm.state.doc,e)},t.prototype.offsetToPos=function(e){return ty(this.cm.state.doc,e)},t.prototype.undo=function(){EA(this.cm)},t.prototype.redo=function(){SA(this.cm)},t.prototype.coordsAtPos=function(e,t){var n=this.cm,i=n.coordsAtPos(ey(n.state.doc,e));if(!i)return null;var r={top:i.top,left:i.left,bottom:i.bottom,right:i.right};if(t){var o=n.scrollDOM.getBoundingClientRect(),a=o.left,s=o.top;a-=n.scrollDOM.scrollLeft,s-=n.scrollDOM.scrollTop,r.top-=s,r.bottom-=s,r.left-=a,r.right-=a}return r},t.prototype.posAtCoords=function(e,t){var n=this.cm,i=n.posAtCoords({x:e,y:t},!1);return null===i?null:ty(n.state.doc,i)},t.prototype.addHighlights=function(e,t,n,i){var r=this.cm,o=[],a=[],s=Kg.get(t);s||(s=Vn.mark({class:t}),Kg.set(t,s));for(var l=r.state.doc,c=_p(r.state),u=function(e){var t=ey(l,e.from),n=ey(l,e.to);if(t>=n)return"continue";a.push(s.range(t,n)),i&&c.between(t,n,(function(e,i){n!==e&&t!==i&&o.push(qp.of({from:e,to:i}))}))},h=0,p=e;h0;for(var n=Kg.get(e),i=t.iter();i.value;){if(i.value===n)return!0;i.next()}return!1},t.prototype.getAllFoldableLines=function(){for(var e=this.cm.state,t=[],n=1;n<=e.doc.lines;n++){var i=e.doc.line(n),r=Vp(this.cm.state,i.from,i.to);r&&t.push(r)}return t},t.prototype.getFoldOffsets=function(){for(var e=_p(this.cm.state),t=new Set,n=e.iter();n.value;)t.add(n.from),n.next();return t},t.prototype.foldLess=function(){for(var e=this.cm.state.doc,t=this.getFoldOffsets(),n=this.getAllFoldableLines(),i=[],r=function(r){for(var o=e.lineAt(r.to).to,a={from:r.from,to:o},s=n.filter((function(e){return ny(a,e.from,e.to)})),l=0,c=s;l0&&this.cm.dispatch({effects:i.map((function(e){return qp.of(e)}))})},t.prototype.foldMore=function(){for(var e=this.cm.state.doc,t=this.getFoldOffsets(),n=this.getAllFoldableLines(),i=[],r=function(r){for(var o=e.lineAt(r.to).to,a={from:r.from,to:o},s=n.filter((function(e){return ny(a,e.from,e.to)})),l=s.length-1;l>=0;l--){var c=s[l];if(!t.has(c.from)){i.push(c);break}}},o=0,a=this.cm.state.selection.ranges;o0&&this.cm.dispatch({effects:i.map((function(e){return zp.of(e)}))})},t.prototype.insertHorizontalRule=function(){var e=this.cm.state;this.cm.dispatch(e.changeByRange((function(t){var n=ty(e.doc,t.from).ch>0?2:1,i="\n".repeat(n)+"---\n";return{range:pe.cursor(t.from+i.length),changes:[{from:t.from,to:t.to,insert:i}]}})))},t.prototype.insertBlock=function(e,t){for(var n=this.cm.state,i=n.doc,r=n.selection,o=pe.create(r.ranges.map((function(e){var t=i.lineAt(e.from),n=i.lineAt(e.to);return pe.range(t.from,n.to)}))),a=[],s=0,l=o.ranges;s0?n.map((function(e){var t=e.getAbsoluteOffsets(),n=t.textStart,i=t.textEnd;return pe.range(n,i)})):e.state.selection.ranges,r=0,o=i;r0&&(c=l.map((function(e){var t=e.getAbsoluteOffsets(),n=t.textStart,i=t.textEnd;return pe.range(n,i)})),s=!1);for(var u=pf(t.state,c[0])[e],h=function(l){var c=uf(t.state,l),h=c.from,p=c.to,d=[],f=function(e,t,n){void 0===n&&(n=0);for(var i=e===t,o=r,a=r,s=0,c=d;s=l.anchor?pe.range(p,f):pe.range(f,p)};if(hf(n,l.from),u){if(l.empty){var m=vf(t.state,h,i);if(m){var v=m.to-m.from;return o.push(f(h,h,v)),"continue-selectionLoop"}}var g=gf(t.state,n,{from:h,to:p},e),y=mf(t.state,g,e);d.push.apply(d,y),o.push(f(h,Math.min(p,g.to)))}else{if(l.empty){var b=t.state.wordAt(h);b&&(h=b.from,p=b.to)}for(var w=t.state.doc.lineAt(l.from),k=t.state.doc.lineAt(l.to),C=w.number;C<=k.number;C++){var E=h,S=p,M=t.state.doc.line(C);if(!(l.fromM.to)||!df(t.state,M)){if(!l.empty){var x=ff(t.state,C);E=Math.clamp(x.from,h,p),S=Math.clamp(x.to,h,p)}if(s&&l.empty||E!==S){y=mf(t.state,{from:E,to:S},e);d.push.apply(d,y),d.push({from:E,to:E,insert:i.surroundingChars}),d.push({from:S,to:S,insert:i.surroundingChars})}}}if(l.empty&&s){var T=h===p?-i.surroundingChars.length:0;o.push(f(l.from,l.from,T))}else o.push(f(h,p))}a=a.concat(d)},p=0,d=c;p0?pe.create(o):void 0,userEvent:"input.type"})},t.prototype.insertTable=function(){var e=this.cm,t=e.state.selection.main.anchor,n=e.state.doc.lineAt(t),i="\n";n.text.length&&(t=n.to,i="\n\n"),e.dispatch({changes:[{from:t,insert:i+"| | |\n| --- | --- |\n| | |\n"}]}),e.dispatch({selection:{anchor:t+i.length+1}})},t.prototype.toggleComment=function(){var e=this.cm,t=ep(e.state).cursor(Pu.ExcludeBuffers),n=e.state.changeByRange((function(n){var i,r,o=pf(e.state,n);if(o.comment){var a=gf(e.state,t,n,"comment");r=mf(e.state,a,"comment")}else n.empty&&(n=null!==(i=e.state.wordAt(n.from))&&void 0!==i?i:n),(r=mf(e.state,n,"comment")).push({from:n.from,to:n.from,insert:"%% "}),r.push({from:n.to,to:n.to,insert:" %%"});return n=n.map(re.of(r,e.state.doc.length)),!o.comment&&n.empty&&(n=pe.cursor(n.anchor+3,n.assoc,n.goalColumn,n.bidiLevel)),{range:n,changes:r}}));this.cm.dispatch(n)},t.prototype.searchCursor=function(e){var t=this.cm,n=this,i=function(n,i){return new sI(t.state.doc,e,n,i,(function(e){return e.toLowerCase()}))},r=t.state.selection.main.from,o=t.state.selection.main.to;function a(t,n){for(var r=n;;){for(var o=Math.max(t,r-1e4-e.length),a=i(o,r),s=null;!a.nextOverlapping().done;)s=a.value;if(s)return s;if(o==t)return null;r-=1e4}}var s=null;return{getIndexAndCount:function(){if(!s)return[0,0];for(var e=0,n=0,r=ey(t.state.doc,s.to),o=i();n<9999&&!o.next().done;)o.value.from<=r&&e++,n++;return[e,n]},current:function(){return s},findPrevious:function(){s=null;var e=a(0,r)||a(r,t.state.doc.length);if(!e)return null;var n=t.state.doc;return r=e.from,o=e.to,s={from:ty(n,e.from),to:ty(n,e.to)}},findNext:function(){var e=i(o).nextOverlapping();if(e.done&&(e=i(0).nextOverlapping()),e.done)return s=null;var n=e.value,a=t.state.doc;return r=n.from,o=n.to,s={from:ty(a,n.from),to:ty(a,n.to)}},replace:function(e,t){var i=this.current();i&&n.replaceRange(e,i.from,i.to,t)},findAll:function(){for(var e=i(),n=[],r=t.state.doc;!e.next().done;){var o=e.value;n.push({from:ty(r,o.from),to:ty(r,o.to)})}return n},replaceAll:function(e,t){var i=this.findAll().map((function(t){return{from:t.from,to:t.to,text:e}}));n.transaction({changes:i},t)}}},t.prototype.getClickableTokenAt=function(e){if(!e)return null;var t=this.cm,n=t.state.doc,i=[],r=n.line(e.line+1),o=ep(t.state),a=r.from;o.iterate({from:r.from,to:r.to,enter:function(e){var t=e.type,n=e.from,r=e.to,o=t.prop(Xd);o&&(a=s){l=c;break}}if(!(l<0)){var h=function(e){return n.sliceString(e.from,e.to)},p=i[l],d=p.type,f=d.split(" "),m=h(p),v="hmd-internal-link",g=f.contains(v),y=f.contains("formatting-link")&&["[[","![[","]]"].contains(m);if(g||y){for(var b=l-1;b>=0;){var w=i[b].type;if(!w||!w.contains(v))break;b--}for(var k=l+1;kM&&(M=x.to))}var T=function(e){var t=e,n="",i=e.indexOf("|");-1!==i&&(n=e.slice(i+1),"\\"===e.charAt(i-1)&&i--,t=e.slice(0,i));var r=cS(t=t.trim());return{path:r.path,subpath:r.subpath,displayText:n}}(E);return{type:"internal-link",text:T.path+T.subpath,displayText:T.displayText,start:ty(n,S),end:ty(n,M)}}if(f.contains("link")){for(var D=l+1;D-1&&DM&&(M=F.to);else{if(!(ch&&d>h&&l.line(p+1).text===c[d];)p--,d--;var f={line:h,ch:0},m={line:p,ch:l.line(p+1).length},v=c.slice(h,d+1).join("\n");if(h===p&&h===d&&h0||w>0)&&(f.ch=b,m.ch-=w,v=v.slice(b,v.length-w))}h===Math.min(u,c.length)&&(f={line:h-1,ch:l.line(h).length},c.length>u&&(v="\n"+v)),n.dispatch({changes:{from:ey(l,f),to:ey(l,m),insert:v},userEvent:"set"})}},t.prototype.saveHistory=function(){var e=this.path;if(e)try{var t=this.cm.state,n=t.field(kA);if(n){var i=kA.spec.toJSON(n,t),r=function(e){if(e&&Array.isArray(e))for(var t=0,n=e;t20&&GK.shift()}}catch(e){console.error(e)}},t.prototype.reinit=function(){this.cm.setRoot(this.editorEl.doc),this.onResize()},t.prototype.reparent=function(e){this.containerEl=e,e.appendChild(this.editorEl),this.reinit()},t.prototype.clear=function(){var e=this;this.cleanupLivePreview&&(this.cleanupLivePreview(),this.cleanupLivePreview=null),this.livePreviewPlugin=null;var t=nt.create({extensions:[this.getLocalExtensions(),UK.of(this.getDynamicExtensions()),jK,FK.init((function(){return!e.sourceMode}))]});this.cm.setState(t),this.cmInit=!0},t.prototype.destroy=function(){this.localExtensions=null,this.cleanupLivePreview&&(this.cleanupLivePreview(),this.cleanupLivePreview=null),this.livePreviewPlugin=null,this.cm.setState(nt.create({})),this.cm.destroy(),this.editorSuggest.close(),this.scope&&this.app.keymap.popScope(this.scope),Yl.isMobile&&this.app.mobileToolbar.update(),this.destroyTableCell()},t.prototype.updateEvent=function(){var e=this,t=!1,n=wc((function(){e.editorSuggest.trigger(e.editor,e.file,t),t=!1}),50),i=wc((function(){e.editor.expandText()}),10),r=wc(this.updateLinkPopup.bind(this),300);return function(o){var a=o.transactions,s=o.docChanged&&a.some($g);s&&(i(),a.some(Jg)&&(t=!0)),(o.focusChanged||o.docChanged||o.selectionSet)&&(n(),r()),e.onUpdate(o,s)}},t.prototype.buildLocalExtensions=function(){var e=this,t=[];t.push(LK.init((function(){return e.cm}))),t.push(IK.init((function(){return e.owner}))),t.push(jo.updateListener.of(this.updateEvent()));var n=function(){return e.editorSuggest.isShowingSuggestion()};return t.push(Qo.of([{key:"ArrowUp",run:n,preventDefault:!0},{key:"ArrowDown",run:n,preventDefault:!0},{key:"Enter",run:n,preventDefault:!0},{key:"Tab",run:n,preventDefault:!0},{key:"Escape",run:function(){return e.editor.removeHighlights(),!1},preventDefault:!0}])),Yl.isMobileApp&&Yl.isIosApp&&t.push(wK),t.push(jo.domEventHandlers({dragstart:function(e){return e.dataTransfer.clearData("text/html")},dragover:function(t){return e.clipboardManager.handleDragOver(t)},drop:function(t){return e.clipboardManager.handleDrop(t)},copy:function(t){e.editor.getSelection()||e.editor.getLine(e.editor.getCursor().line)||t.preventDefault()},paste:function(t){return e.clipboardManager.handlePaste(t)},focus:function(t){e.app.workspace.activeEditor=e.owner,Yl.isMobile&&e.app.mobileToolbar.update(),e.destroyTableCell()},blur:function(){Yl.isMobile&&e.app.mobileToolbar.update(),e.owner instanceof U0&&e.owner.saveImmediately(),e.editorSuggest.close()}})),t},t.prototype.getLocalExtensions=function(){var e=this.localExtensions;return e||(e=this.localExtensions=this.buildLocalExtensions()),e},t.prototype.getDynamicExtensions=function(){var e=[],t=this.app.vault,n=t.getConfig("useTab"),i=t.getConfig("tabSize");e.push(nt.tabSize.of(i)),e.push(gp.of(n?"\t":" "));var r=t.getConfig("rightToLeft")||this.editorEl.doc.body.hasClass("mod-rtl");this.editorEl.toggleClass("is-rtl",r),this.editorEl.setAttr("dir",r?"rtl":null),r&&e.push(jo.theme({"&":{direction:"rtl"}}));var o=t.getConfig("spellcheck");e.push(jo.contentAttributes.of({spellcheck:String(o),autocorrect:"on",autocapitalize:"on",contenteditable:"true"}));var a=!this.sourceMode;if(this.editorEl.toggleClass("is-live-preview",a),e.push(FK.init((function(){return a}))),a){var s=this.livePreviewPlugin;s||(s=this.livePreviewPlugin=WZ(this,this.cm)),e.push(s)}var l=t.getConfig("autoPairBrackets"),c=t.getConfig("autoPairMarkdown");if(l||c){var u=[];l&&u.push("(","[","{","'",'"'),c&&u.push("*","_","`","```");var h={brackets:u};e.push([DO,EO]),e.push(Qo.of(AO)),e.push(nt.languageData.of((function(){return[{closeBrackets:h}]}))),e.push(qB)}return this.app.isVimEnabled()&&e.push([LB,Te.highest(IB),rB,NB]),e.push.apply(e,this.app.workspace.editorExtensions),e},t.prototype.onConfigChanged=function(e){"useTab"!==e&&"tabSize"!==e&&"rightToLeft"!==e&&"spellcheck"!==e&&"autoPairBrackets"!==e&&"autoPairMarkdown"!==e&&"smartIndentList"!==e&&"vimMode"!==e||this.updateOptions()},t.prototype.updateOptions=function(){this.cmInit&&this.cm.dispatch({effects:[UK.reconfigure(this.getDynamicExtensions()),AK.of({field:FK,value:!this.sourceMode})]})},t.prototype.resetSyntaxHighlighting=function(){var e=this.cm;e.state.doc.length>0&&e.dispatch({changes:[{from:0,to:1,insert:e.state.doc.sliceString(0,1)}],userEvent:"set"})},t.prototype.getFoldInfo=function(){for(var e=this.cm,t=e.state.doc,n=[],i=_p(e.state).iter();i.value;){var r=ty(t,i.from),o=ty(t,i.to);n.push({from:r.line,to:o.line}),i.next()}return{folds:n,lines:t.lines}},t.prototype.applyFoldInfo=function(e){var t=this.cm;if(!e||t.state.doc.lines===e.lines){$p(t);var n=[];if(e)for(var i=t.state.doc,r=0,o=e.folds;r=c.bottom&&(f=c.left-h/2),l.style.top=d+"px",l.style.left=Math.clamp(f,0,p-h)+"px",l.addEventListener("mousedown",(function(e){return e.preventDefault()})),l.onClickEvent((function(t){l.detach(),e.triggerClickableToken(a,t.shiftKey||1===t.button),t.preventDefault()})),"internal-link"===a.type&&l.addEventListener("mouseover",(function(t){Lc(t,l)&&e.app.workspace.trigger("hover-link",{event:t,source:"editor",hoverParent:e.owner,targetEl:l,linktext:a.text,sourcePath:e.path})}))}else l.detach()}}}},t.prototype.toggleSource=function(){this.sourceMode=!this.sourceMode,this.updateOptions(),this.cm.dispatch({effects:[oy.of()]})},t.prototype.onUpdate=function(e,t){},t.prototype.onEditorClick=function(e,t){var n=this;if(Yl.isMobileApp?Yl.isAndroidApp&&"mousedown"===e.type||"click"===e.type&&!e.isTrusted&&!!t||Yl.isIosApp&&"click"===e.type&&e.isTrusted:"click"===e.type&&0===e.button||"mousedown"===e.type&&1===e.button){var i=Ag.isModifier(e,"Mod")||1===e.button;if((!this.sourceMode||i)&&(this.sourceMode||0!==e.button||i||!e.altKey&&!e.shiftKey)){var r=t||e.target,o=this.cm.contentDOM;if(o.contains(r)&&r!==o&&r.parentNode!==o){for(var a=r;a&&a!==o;){if(a.instanceOf(HTMLElement)&&"false"===a.contentEditable&&!a.hasClass("external-link")&&!a.draggable)return;a=a.parentNode}var s=this.editor.getClickableTokenAt(this.editor.posAtMouse(e));if(s){var l=Ag.isModEvent(e);(function(){if(n.sourceMode)return!0;if(l)return!0;if(!r.instanceOf(HTMLElement))return!1;if("tag"===s.type)return!0;if("internal-link"===s.type){if(!r.matchParent(".cm-underline"))return!1;if(r.matchParent(".cm-hmd-internal-link"))return!0;if(r.matchParent(".cm-link"))return!0}if("external-link"===s.type||"external-ref-link"===s.type){if(r.matchParent(".external-link"))return!0;if(!r.matchParent(".cm-underline"))return!1;if(r.matchParent(".cm-url"))return!0;if(r.matchParent(".cm-link"))return!0}return!1})()&&(this.sourceMode&&"tab"===l&&1!==e.button&&!Ag.isModifier(e,"Shift")&&(l=!1),this.triggerClickableToken(s,l),e.preventDefault())}}}}},t.prototype.onEditorLinkMouseover=function(e,t){if(Lc(e,t)){var n=this.editor.getClickableTokenAt(this.editor.posAtMouse(e)),i="footref"===(null==n?void 0:n.type);("internal-link"===(null==n?void 0:n.type)||i)&&this.app.workspace.trigger("hover-link",{event:e,source:"editor",hoverParent:this.owner,targetEl:t,linktext:i?"#[^".concat(n.text,"]"):n.text,sourcePath:this.path})}},t.prototype.onEditorDragStart=function(e){var t=e.targetNode;if(t.instanceOf(HTMLElement)&&t.draggable){var n=this.cm.contentDOM;if(!n.contains(t))return;if(t===n||t.parentNode===n)return;var i=this.editor.getClickableTokenAt(this.editor.posAtMouse(e));if(!i)return;if("internal-link"===i.type)this.app.dragManager.onDragStart(e,this.app.dragManager.dragLink(e,i.text,this.path,i.displayText));else if("external-link"===i.type||"external-ref-link"===i.type){var r=this.getClickableTokenHref(i);r&&UC(e.dataTransfer,r)}}},t.prototype.onContextMenu=function(e){return y(this,arguments,void 0,(function(e,t){var n,i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,w,k,C,E,S,M,x,T,D,A,P,L,I=this;return void 0===t&&(t=!1),b(this,(function(O){switch(O.label){case 0:if(e.defaultPrevented)return[2];if(Yl.isMobile){if(e.instanceOf(PointerEvent)&&"mouse"===e.pointerType&&-1===e.button)return[2];if(!t&&Yl.mobileSoftKeyboardVisible&&(!e.isTrusted||e.instanceOf(TouchEvent)))return[2]}return i=(n=this).app,r=n.editor,!(o=r.posAtMouse(e))||e.target&&!r.cm.contentDOM.contains(e.target)?[2]:(a=(new Ng).addSections(["title","correction","spellcheck","open","selection-link","selection","selection.format","selection.paragraph","selection.paragraph.list","selection.paragraph.heading","selection.paragraph.block","selection.insert.basic","selection.insert.advanced","insert","clipboard","info","action","view","","danger"]),s=!0,l=!0,c=!0,h=Yl.isDesktopApp&&e.win.electron,p=!1,h&&e.isTrusted?[4,_f(e)]:[3,2]);case 1:if(!(d=O.sent())||e.defaultPrevented)return[2];if(u=h.remote.webContents.fromId(d.webContentsId),P=d.editFlags||{},s=P.canCut,l=P.canCopy,c=P.canPaste,u&&d.misspelledWord){if(0===(f=d.dictionarySuggestions||[]).length)a.addItem((function(e){return e.setSection("correction").setDisabled(!0).setTitle(lm.editor.spellcheck.noSuggestion())}));else for(f.length>6&&(f=f.slice(0,6)),m=function(e){a.addItem((function(t){return t.setSection("correction").setTitle(e).setIcon("lucide-repeat").onClick((function(){a.hide(),u.replaceMisspelling(e)}))}))},v=0,g=f;v0&&a.addItem((function(e){return e.setSection("title").setTitle(lm.interface.menu.lookupSelection({selection:gc(M,25)})).setIcon("lucide-library").onClick((function(){h.remote.getCurrentWebContents().showDefinitionForSelection()}))})),!Yl.isMobile){for(a.addItem((function(e){return e.setSection("clipboard").setTitle(lm.interface.menu.cut()).setIcon("lucide-scissors").setDisabled(!s).onClick((function(){return y(I,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return h&&u?(u.cut(),[3,3]):[3,1];case 1:return e=r.getSelection(),r.replaceSelection(""),[4,navigator.clipboard.writeText(e)];case 2:t.sent(),t.label=3;case 3:return[2]}}))}))}))})),a.addItem((function(e){return e.setSection("clipboard").setTitle(lm.interface.menu.copy()).setIcon("lucide-copy").setDisabled(!l).onClick((function(){return y(I,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return h&&u?(u.copy(),[3,3]):[3,1];case 1:return e=r.getSelection(),[4,navigator.clipboard.writeText(e)];case 2:t.sent(),t.label=3;case 3:return[2]}}))}))}))})),a.addItem((function(e){return e.setSection("clipboard").setTitle(lm.interface.menu.paste()).setIcon("lucide-clipboard-check").setDisabled(!c).onClick((function(){return y(I,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return h&&u?(u.paste(),[3,3]):[3,1];case 1:return[4,navigator.clipboard.readText()];case 2:e=t.sent(),r.replaceSelection(e),t.label=3;case 3:return[2]}}))}))}))})),a.addItem((function(e){return e.setSection("clipboard").setTitle(lm.interface.menu.pasteAsPlainText()).setIcon("lucide-clipboard-type").setDisabled(!c).onClick((function(){return y(I,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return h&&u?(u.pasteAndMatchStyle(),[3,3]):[3,1];case 1:return[4,navigator.clipboard.readText()];case 2:e=t.sent(),r.replaceSelection(e),t.label=3;case 3:return[2]}}))}))}))})),a.addItem((function(e){return e.setSection("clipboard").setTitle(lm.interface.menu.selectAll()).setIcon("lucide-box-select").onClick((function(){var e=r.lineCount()-1;r.setSelection({line:0,ch:0},{line:e,ch:r.getLine(e).length})}))})),a.addItem((function(e){return e.setSection("selection-link").setTitle(lm.interface.formatting.insertLink()).setIcon("lucide-link").setDisabled(/\n/.test(M)).onClick((function(){I.editor.triggerWikilink(!1)}))})),a.addItem((function(e){return e.setSection("selection-link").setTitle(lm.interface.formatting.insertExternalLink()).setIcon("lucide-external-link").setDisabled(/\n/.test(M)).onClick((function(){I.editor.insertMarkdownLink()}))})),x=pf(r.cm.state,r.cm.state.selection.main),k||hF(a,r,x,"selection.format"),a.setSectionSubmenu("selection.paragraph",{title:lm.interface.formatting.labelParagraph(),disabled:r.inTableCell,icon:"lucide-pilcrow"}).addItem((function(e){return e.setSection("selection.paragraph.list").setTitle(lm.interface.formatting.toggleBulletList()).setIcon("lucide-list").onClick((function(){return I.editor.toggleBulletList()}))})).addItem((function(e){return e.setSection("selection.paragraph.list").setTitle(lm.interface.formatting.toggleNumberedList()).setIcon("lucide-list-ordered").onClick((function(){return I.editor.toggleNumberList()}))})).addItem((function(e){return e.setSection("selection.paragraph.list").setTitle(lm.interface.formatting.toggleChecklist()).setIcon("lucide-check-square").onClick((function(){return I.editor.toggleCheckList()}))})),T=function(e){a.addItem((function(t){return t.setSection("selection.paragraph.heading").setTitle(lm.interface.formatting.setHeading({level:e})).setIcon("lucide-heading-"+e).setChecked(x.uniformHeading&&x.headingLevel===e).onClick((function(){return I.editor.setHeading(e)}))}))},D=0,A=[1,2,3,4,5,6];D=t.state.doc.lines&&(e=t.state.doc.lines-.99);var n=Math.floor(e),i=e-n,r=t.state.doc.line(n+1),o=function(){var e=t.lineBlockAt(r.from),o=t.state.doc.lineAt(e.from).number-1,a=t.state.doc.lineAt(e.to).number-1-o+1,s=n-o,l=e.top,c=e.height,u=t.contentDOM.offsetTop;return 0===o?c+=u:l+=u,l+(s+i)*(c/a)};if(t.visibleRanges.some((function(e){var t=e.from,n=e.to;return t<=r.from&&r.from<=n})))return this.isScrolling=!0,void(t.scrollDOM.scrollTop=o());this.isScrolling=!0,t.dispatch({effects:jo.scrollIntoView(r.from,{y:"nearest"})}),t.requestMeasure({read:function(){},write:function(){t.requestMeasure({read:function(){return o()},write:function(e){this.isScrolling=!0,t.scrollDOM.scrollTop=e}})}})}},t.prototype.showSearch=function(e){void 0===e&&(e=!1),this.destroyTableCell(),this.search.show(e)},t.prototype.buildLocalExtensions=function(){var t=this,n=e.prototype.buildLocalExtensions.call(this);return n.push(zK),n.push(tB),n.push(jo.scrollHandler.of((function(e,n){var i=t.tableCell;return(null==i?void 0:i.containerEl.isShown())&&(null==i?void 0:i.table.containsRange(n.anchor,n.head))}))),n.push(Qo.of([{key:"Enter",run:function(){if(t.app.vault.getConfig("smartIndentList")){var e=t.editor.cm.state,n=e.selection.main.from;return df(e,e.doc.lineAt(n))?(t.editor.newlineAndIndentOnly(),!0):(t.editor.newlineAndIndentContinueMarkdownList(),!0)}return!1},shift:function(){return!!t.app.vault.getConfig("smartIndentList")&&(t.editor.newlineAndIndentOnly(),!0)},preventDefault:!0},{key:"Tab",run:function(){return t.editor.indentList(),!0},shift:function(){return t.editor.unindentList(),!0}}])),n},t.prototype.onConfigChanged=function(t){e.prototype.onConfigChanged.call(this,t),"showLineNumber"!==t&&"showIndentGuide"!==t&&"foldHeading"!==t&&"foldIndent"!==t&&"propertiesInDocument"!==t||this.updateOptions()},t.prototype.getDynamicExtensions=function(){var t=e.prototype.getDynamicExtensions.call(this),n=this.app.vault;n.getConfig("showLineNumber")&&(t.push(Rs({fixed:!1})),t.push(yO),t.push(Xs())),n.getConfig("smartIndentList")&&t.push(QR(this)),n.getConfig("showIndentGuide")&&t.push(tF);var i=n.getConfig("foldHeading"),r=n.getConfig("foldIndent"),o=i||r;this.editorEl.toggleClass("is-folding",o),o&&(t.push(rd()),t.push(QO),i&&t.push(kK),r&&t.push(gK),t.push(CK));var a=n.getConfig("autoPairBrackets"),s=n.getConfig("autoPairMarkdown");return(a||s)&&t.push([Xg]),this.editorEl.toggleClass("show-properties","visible"===n.getConfig("propertiesInDocument")),t},t.prototype.setCssClass=function(e){var t=this.editorEl;if(t.removeClasses(this.cssClasses),e&&e.length>0){var n=t.classList;e=e.filter((function(e){return!n.contains(e)})),t.addClasses(e)}else e=[];this.cssClasses=e},t.prototype.onCssChange=function(){this.cm.dispatch({effects:eB.clearCache.of()}),this.editor.refresh()},t.prototype.onViewClick=function(e){var t=this;e.defaultPrevented||(this.editorSuggest.close(),setTimeout((function(){return t.editor.removeHighlights()}),0))},t.prototype.onUpdate=function(t,n){e.prototype.onUpdate.call(this,t,n),t.docChanged&&this.app.workspace.trigger("editor-change",this.editor,this.owner),(t.selectionSet||n||t.focusChanged)&&this.app.workspace.trigger("editor-selection-change",this.editor,this.owner)},t}(KK);function ZK(e,t,n){t!==n&&(t.contains("insert")?PB.enterInsertMode(e):PB.exitInsertMode(e,!0))}function XK(e){var t,n;return null!==(n=null===(t=e.state.vim)||void 0===t?void 0:t.mode)&&void 0!==n?n:""}var QK=new Ae,$K=function(e){function t(t,n,i,r){var o=e.call(this,t.app,n,t.owner)||this;o.editorEl.removeClass("markdown-source-view"),o.sourceMode=!1,o.table=i,o.cell=r,o.set(uy(r.text).result);var a=t.cm.plugin(IB),s=o.cm.plugin(IB);return a&&s&&o.containerEl.win.setTimeout((function(){ZK(s.cm,XK(a.cm),XK(s.cm)),s.cm.on("vim-mode-change",(function(){ZK(a.cm,XK(s.cm),XK(a.cm))}))}),0),Yl.isIosApp&&n.createSpan({attr:{contenteditable:"true"}}),n.dataset.ignoreSwipe="true",o}return m(t,e),t.prototype.onunload=function(){e.prototype.onunload.call(this),this.destroy()},t.prototype.onUpdate=function(t,n){e.prototype.onUpdate.call(this,t,n);for(var i=t.transactions,r=this.table,o=0,a=i;o1&&u=0&&h1)return!1;var u=t,h=u.table,p=u.cell;if(h.selectionHead){var d=h.getSelectionBounds(),f=d.minRow,m=d.minCol,v=d.maxRow,g=d.maxCol;switch(h.deselectCells(),h.trimCell(p),n){case"up":case"start":return h.placeCursorInCell(h.getCellAt(f,m),"start"),!0;case"down":case"end":return h.placeCursorInCell(h.getCellAt(v,g),"end"),!0}}var y=a.main;if(y.from!==y.to)return!1;var b=e.textDirection!==e.textDirectionAt(y.head);switch(h.trimCell(p),n){case"up":var w=e.moveVertically(y,!1);return!(e.coordsAtPos(y.from).top!==e.coordsAtPos(w.from).top)&&(r(),!0);case"down":w=e.moveVertically(y,!0);return!(e.coordsAtPos(y.from).top!==e.coordsAtPos(w.from).top)&&(o(),!0);case"start":return 0===y.from&&(b?l(e):s(e),!0);case"end":return y.to===c.length&&(b?s(e):l(e),!0)}},u=function(e,n){var i=e.state,r=i.selection,o=i.doc;if(r.ranges.length>1)return!1;var a,s=t,l=s.table,c=s.cell,u=l.selectionHead,h=l.selectionAnchor,p=u||c,d=p.row,f=p.col,m=r.main;switch(n){case"up":if(!u)if(0!==e.moveToLineBoundary(m,!1,!0).from)return!1;a=l.getCellAt(d-1,f);break;case"down":if(!u)if(e.moveToLineBoundary(m,!0,!0).from!==o.length)return!1;a=l.getCellAt(d+1,f);break;case"start":if(!u&&0!==m.head)return!1;a=l.getCellAt(d,f-1);break;case"end":if(!u&&m.head!==o.length)return!1;a=l.getCellAt(d,f+1)}return a&&(l.selectCells(h||c,a),a.scrollIntoView()),!0},h=function(){return SA(t.table.editor.cm),!0},p=function(e){var n=t.table;return!!n.selectionHead&&(n.deleteSelection(e),!0)};this.app.isVimEnabled()&&n.push(Te.low(zi.define((function(e){return e.getNextTablePos=i,{destroy:function(){delete e.getNextTablePos}}}))));var d=function(e){return function(){var n=t.table.editor.cm;return n.focus(),e(n)}},f=function(e,t){return e.textDirectionAt(e.state.selection.main.head)===Xn.RTL?"left"===t?"end":"start":"left"===t?"start":"end"};n.push(Te.high(Qo.of([{key:"ArrowUp",run:function(e){return c(e,"up")},shift:function(e){return u(e,"up")}},{key:"ArrowDown",run:function(e){return c(e,"down")},shift:function(e){return u(e,"down")}},{key:"ArrowRight",run:function(e){return c(e,f(e,"right"))},shift:function(e){return u(e,f(e,"right"))}},{key:"Mod-ArrowRight",run:function(e){return c(e,f(e,"right"))}},{key:"ArrowLeft",run:function(e){return c(e,f(e,"left"))},shift:function(e){return u(e,f(e,"left"))}},{key:"Mod-ArrowLeft",run:function(e){return c(e,f(e,"left"))}},{key:"Mod-z",run:function(){return EA(t.table.editor.cm),!0},preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:h,preventDefault:!0},{linux:"Ctrl-Shift-z",run:h,preventDefault:!0},{key:"Mod-Shift-z",run:h,preventDefault:!0},{key:"Delete",run:function(){return p(1)}},{key:"Backspace",run:function(){return p(-1)}},{mac:"Cmd-ArrowUp",run:d(EK),shift:d(fL)},{mac:"Ctrl-ArrowUp",run:d(EP),shift:d(rL)},{mac:"Cmd-ArrowDown",run:d(dL),shift:d(mL)},{mac:"Ctrl-ArrowDown",run:d(SP),shift:d(oL)},{key:"PageUp",run:d(EP),shift:d(rL)},{key:"PageDown",run:d(SP),shift:d(oL)},{key:"Mod-Home",run:d(EK),shift:d(fL)},{key:"Mod-End",run:d(dL),shift:d(mL)}])));var m=function(e){t.table.setCellFocus(e.row,e.col,(function(e){return pe.create([pe.range(0,e.state.doc.length)])}))};return n.push(Qo.of([{key:"Tab",run:function(){var e=t,n=e.table,i=e.cell,r=n.getNextCell(i,"end");return n.trimCell(i),r?m(r):n.insertRow(n.rows.length,0),!0},shift:function(){var e=t,n=e.table,i=e.cell,r=n.getNextCell(i,"start");return n.trimCell(i),r?m(r):n.insertRow(0,n.alignments.length-1),!0}},{key:"Enter",run:function(){var e=t,n=e.table,i=e.cell;if(n.trimCell(i),i.row===n.rows.length-1)n.insertRow(i.row+1,i.col);else{var r=n.getCellBelow(i);r&&m(r)}return!0}}])),n.push(Te.high(jo.domEventHandlers({copy:function(e){return t.table.copySelection(e)},cut:function(e){return t.table.copySelection(e,!0)},paste:function(e){return t.table.pasteSelection(e)},blur:function(e){var n=t,i=n.app,r=n.containerEl,o=n.editorSuggest,a=n.table,s=n.cell,l=a.editor;return a.trimCell(s),Yl.isMobile&&i.mobileToolbar.update(),o.close(),r.win.setTimeout((function(){l.activeCM.hasFocus||l.cm.contentDOM.dispatchEvent(e)})),!0}}))),n.push(QK.of(nt.readOnly.of(!1))),n},t.prototype.setReadonly=function(e){this.cm.dispatch({effects:QK.reconfigure(nt.readOnly.of(e))})},t.prototype.onContextMenu=function(t,n){var i=this.cell;this.table.selectedCells.contains(i)||e.prototype.onContextMenu.call(this,t,n)},t.prototype.onMenu=function(t){e.prototype.onMenu.call(this,t),this.table.onContextMenu(this.cell,t)},t}(KK),JK=["--zoom-factor","--keyboard-height"],eY=["is-frameless","is-focused","is-fullscreen"],tY=["fullscreenchange","click","contextmenu","auxclick","keydown","keyup","mousedown","mouseup","mousemove","copy","paste","cut","drag","dragstart","dragover","dragend","dragenter","dragleave","drop","open-url"];function nY(e){var t=new e.constructor(e.type,e),n=t.preventDefault;t.preventDefault=function(){n.call(t),e.preventDefault()};var i=t.stopPropagation;t.stopPropagation=function(){i.call(t),e.stopPropagation()};var r=t.stopImmediatePropagation;return t.stopImmediatePropagation=function(){r.call(t),e.stopImmediatePropagation()},Object.defineProperty(t,"target",{get:function(){return e.target}}),Object.defineProperty(t,"currentTarget",{get:function(){return e.currentTarget}}),t}function iY(e){for(var t=0,n=tY;t=0;p--){h!==(c=n[p])?u.insertBefore(c,h?h.nextSibling:null):h=h.previousSibling}i=n},a=function(){for(var t=document.body,n=e.document.body,i=t.className.split(" "),r=new Set(n.className.split(" ")),o=0,a=eY;o ',mv(u,lm.interface.window.restoreDown())):(u.innerHTML=sY,mv(u,lm.interface.window.maximize())))};om.then((function(){h()})),t.addEventListener("resize",h)}if(e.closable){var p=l.createDiv({cls:"titlebar-button mod-close",onclick:function(){return e.close()}});p.innerHTML=' ',om.then((function(){mv(p,lm.interface.window.closeWindow())}))}}cY(a)}return e.prototype.updateTitle=function(){this.titleBarTextEl.setText(this.win.document.title)},e.prototype.updateStatus=function(){var e=this.win,t=this.eWin;if(!e.closed){var n=t.webContents.getZoomFactor(),i=e.document.body;if(i.toggleClass("is-fullscreen",t.isFullScreen()),i.toggleClass("is-maximized",t.isMaximized()),i.style.setProperty("--zoom-factor",String(n)),this.isMac&&"hidden"===e.titlebarStyle){var r=40,o=getComputedStyle(i).getPropertyValue("--header-height");o&&(r=parseFloat(o)),(isNaN(r)||0===r)&&(r=40);var a=Math.floor(r*n/2-8);a<-5&&(a=0),(t.setWindowButtonPosition||t.setTrafficLightPosition)({x:a+2,y:a})}}},e}();function cY(e){Yl.isMacOS&&Yl.isDesktopApp&&e.addEventListener("dblclick",(function(t){if(0===t.button){var n=t.target;if(!n.instanceOf(HTMLElement)||!(n.closest(".clickable-icon")||n.closest(".workspace-tab-header-inner-close-button")||n.closest(".workspace-tab-header")&&n.closest(".workspace-split.mod-sidedock"))){var i=e.win.electronWindow;i.isMaximizable&&If((function(e){var t=e.remote.systemPreferences.getUserDefault("AppleActionOnDoubleClick","string");"Minimize"===t?i.minimize():"Maximize"!==t&&""!==t||(i.isMaximized()?i.unmaximize():i.maximize())}))}}}))}function uY(e){for(var t=e;t!==t.parent&&null!==t.parent;)t=t.parent;var n=t.require;if(n){var i=n("electron");if(i){if(e.electron=i,!i.remote)try{i.remote=n("@electron/remote")}catch(e){console.error(e)}e.electronWindow=i.remote.getCurrentWindow();var r=e.open;e.open=function(e,t,n){return"string"==typeof e&&0===e.indexOf("file:")?(i.ipcRenderer.send("open-url",e),null):r.apply(this,arguments)},e.parent===e&&function(e){var t=e.electron.ipcRenderer.sendSync("frame")||"hidden";e.titlebarStyle=t,"native"!==t&&(e.frameDom=new lY(e.electronWindow,e),"hidden"===t&&e.document.body.addClass("is-hidden-frameless"))}(e)}}}var hY=function(e){function t(t){var n=e.call(this,t.app,t.editorEl,t)||this;if(n.iframeEl=null,n.cleanup=null,n.requestSaveFolds=wc((function(){return n.owner.onMarkdownFold()}),500),n.owner=t,t.useIframe){n.editorEl.detach(),n.editorEl.addClass("mod-inside-iframe");var i=n.iframeEl=n.owner.editorEl.createEl("iframe","embed-iframe is-controlled");i.setAttr("sandbox","allow-forms allow-presentation allow-same-origin allow-scripts allow-modals"),i.contentDocument&&n.onIframeLoad(),i.onload=n.onIframeLoad.bind(n)}return t instanceof JY&&n.sizerEl.prepend(t.inlineTitleEl),n}return m(t,e),t.prototype.cleanupIframe=function(){this.cleanup&&(this.cleanup(),this.cleanup=null)},t.prototype.onunload=function(){e.prototype.onunload.call(this),this.cleanupIframe()},t.prototype.onIframeLoad=function(){var e=this;this.cleanupIframe();var t=this.iframeEl,n=t.contentDocument,i=t.contentWindow,r=createEl("base",{href:location.href});n.head.appendChild(r),iY(i),i.addEventListener("focus",(function(e){t.win.dispatchEvent(nY(e)),t.dispatchEvent(new FocusEvent("focusin",{bubbles:!0}))}),{capture:!0}),i.addEventListener("blur",(function(e){return t.win.dispatchEvent(nY(e))}),{capture:!0}),this.cleanup=rY(i,[r]),i.app=this.app,aY(i),Yl.isDesktopApp&&uY(i),iv(n),n.body.setCssProps({"--safe-area-inset-top":"0","--safe-area-inset-bottom":"0","--safe-area-inset-left":"0","--safe-area-inset-right":"0"}),activeWindow.setTimeout((function(){return e.reparent(n.body)}))},t.prototype.onUpdate=function(t,n){if(e.prototype.onUpdate.call(this,t,n),n){var i=t.state.doc;this.owner.save(i.toString()),this.requestSaveFolds()}var r=t.transactions;(ay(r,zp)||ay(r,qp))&&this.requestSaveFolds()},t.prototype.getDynamicExtensions=function(){var t=this,n=e.prototype.getDynamicExtensions.call(this);if(!this.sourceMode){var i=this.propertiesExtension;i||(i=this.propertiesExtension=rC(this)),n.push(i)}return n.push(Qo.of([{key:"Escape",run:function(e){var n,i=null===(n=e.cm)||void 0===n?void 0:n.vim;return(!i||!i.insertMode)&&(t.owner.showPreview(!0),!0)}}])),n},t}(YK),pY=function(e){function t(t,n){void 0===n&&(n=!0);var i=e.call(this,t.app,t.previewEl,n)||this;return i.search=null,i.owner=t,i.onFoldChange=wc((function(){return i.owner.onMarkdownFold()}),500),i}return m(t,e),Object.defineProperty(t.prototype,"file",{get:function(){return this.owner.file},enumerable:!1,configurable:!0}),t.prototype.set=function(e){var t=this.app,n=this.renderer;n.set(e),n.previewEl.toggleClass("rtl",t.vault.getConfig("rightToLeft")),n.previewEl.toggleClass("show-indentation-guide",t.vault.getConfig("showIndentGuide")),n.applyFoldInfo(this.owner.getFoldInfo());var i=t.vault.getConfig("foldHeading"),r=t.vault.getConfig("foldIndent");n.previewEl.toggleClass("allow-fold-headings",i),n.previewEl.toggleClass("allow-fold-lists",r),i||n.unfoldAllHeadings(),r||n.unfoldAllLists()},t.prototype.foldAll=function(){var e=this.app.vault,t=e.getConfig("foldHeading"),n=e.getConfig("foldIndent");t&&this.renderer.foldAllHeadings(),n&&this.renderer.foldAllLists()},t.prototype.unfoldAll=function(){var e=this.app.vault,t=e.getConfig("foldHeading"),n=e.getConfig("foldIndent");t&&this.renderer.unfoldAllHeadings(),n&&this.renderer.unfoldAllLists()},t.prototype.edit=function(e){this.renderer.set(e),this.owner.save(e,!0)},t.prototype.onunload=function(){e.prototype.onunload.call(this),this.search&&this.owner.applyScope(null)},t.prototype.showSearch=function(){var e=this;if(!this.search){var t=this.search=new NN(this.app.scope,this.renderer,this.containerEl,(function(){e.search=null,e.owner.applyScope(null)}));this.owner.applyScope(t.scope)}},t.prototype.onScroll=function(){this.owner.syncScroll()},t}(VR),dY=function(e){function t(t,n,i,r){var o=e.call(this)||this;return o.file=null,o.hoverPopover=null,o.editable=!1,o.text="",o.dirty=!1,o.useIframe=!1,o.requestSaveFolds=wc((function(){return o.onMarkdownFold()}),500),o.requestSave=wc((function(){return o.save(o.text,!0)}),2e3),o.app=t,o.containerEl=n,o.file=i,o.state=r,o.previewEl=o.containerEl.createDiv("markdown-embed-content"),o.editorEl=o.containerEl.createDiv("markdown-embed-content"),tg(o.previewEl),tg(o.editorEl),o.previewMode=o.addChild(new pY(o)),o}return m(t,e),t.prototype.onload=function(){var t;e.prototype.onload.call(this),"source"===(null===(t=this.state)||void 0===t?void 0:t.mode)?this.showEditor():this.showPreview()},t.prototype.save=function(e,t){void 0===t&&(t=!1),this.text=e,this.dirty=!t,t||this.requestSave(),this.set(e)},t.prototype.set=function(e,t){this.text=e,this.previewMode.set(e),this.editMode&&this.editMode.set(e,t)},t.prototype.showSearch=function(e){this.editMode?this.editMode.showSearch(e):this.previewMode.showSearch()},t.prototype.destroyEditor=function(e){void 0===e&&(e=!1);var t=this.editMode;t&&(e&&(this.requestSave.cancel(),this.save(t.cm.state.doc.toString(),!0)),t.destroy(),this.removeChild(t),this.editMode=null),this.editorEl.empty(),this.applyScope(null),this.app.workspace.unsetActiveEditor(this)},t.prototype.onunload=function(){this.destroyEditor(),this.containerEl.empty(),this.app.workspace.unsetActiveEditor(this)},t.prototype.showPreview=function(e){void 0===e&&(e=!1);var t=null;this.editMode&&(t=this.editMode.getScroll()),this.editorEl.hide(),this.previewEl.show(),this.destroyEditor(e);var n=this.getFoldInfo();null!==t&&(this.previewMode.renderer.applyScrollDelayed(t),this.previewMode.renderer.applyFoldInfo(n))},t.prototype.showEditor=function(e){if(this.editable){var t=this.previewMode.renderer.getScroll();this.previewEl.hide(),this.editorEl.show();var n=this.editMode;n||(n=this.editMode=this.addChild(new hY(this))),n.set(this.text,!0);var i=this.getFoldInfo();cg(n.editorEl,(function(){if(n.applyFoldInfo(i),n.applyScroll(t),n.focus(),e){if(n.iframeEl){var r=ig(n.iframeEl.contentWindow),o=r.x,a=r.y,s=r.scale;e.x=(e.x-o)/s,e.y=(e.y-a)/s}n.editorEl.win.setTimeout((function(){n.cm.dispatch({userEvent:"select.pointer",selection:pe.single(n.cm.posAtCoords(e,!1))})}))}}))}},Object.defineProperty(t.prototype,"path",{get:function(){var e;return(null===(e=this.file)||void 0===e?void 0:e.path)||""},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"editor",{get:function(){var e;return null===(e=this.editMode)||void 0===e?void 0:e.editor},enumerable:!1,configurable:!0}),t.prototype.getMode=function(){return this.editMode?"source":"preview"},t.prototype.toggleMode=function(){"preview"===this.getMode()?this.showEditor():this.showPreview()},t.prototype.syncScroll=function(){this.app.workspace.trigger("markdown-scroll",this)},Object.defineProperty(t.prototype,"scroll",{get:function(){return"preview"===this.getMode()?this.previewMode.renderer.getScroll():this.editMode.getScroll()},enumerable:!1,configurable:!0}),t}(Fm),fY="audio",mY=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.icon="lucide-file-audio",t}return m(t,e),t.prototype.getViewType=function(){return fY},t.prototype.canAcceptExtension=function(e){return TM.contains(e)},t.prototype.onLoadFile=function(e){return y(this,void 0,void 0,(function(){var n,i,r,o;return b(this,(function(a){switch(a.label){case 0:return i=(n=this).app,_c(r=n.contentEl),r.empty(),o=r.createDiv("audio-container"),[4,t.displayInEl(e,i,o)];case 1:return a.sent(),[2]}}))}))},t.displayInEl=function(e,t,n){return y(this,void 0,Promise,(function(){var i;return b(this,(function(r){return i=t.vault.getResourcePath(e),[2,Dc(n,i)]}))}))},t.VIEW_TYPE=fY,t}(cG),vY="image",gY=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.icon="lucide-image",t}return m(t,e),t.prototype.getViewType=function(){return vY},t.prototype.canAcceptExtension=function(e){return xM.contains(e)},t.prototype.onLoadFile=function(e){return y(this,void 0,void 0,(function(){var n,i,r,o;return b(this,(function(a){switch(a.label){case 0:return i=(n=this).app,(r=n.contentEl).empty(),o=r.createDiv("image-container"),[4,t.displayInEl(e,i,o)];case 1:return a.sent(),[2]}}))}))},t.displayInEl=function(e,t,n){return y(this,void 0,Promise,(function(){var i;return b(this,(function(r){return i=t.vault.getResourcePath(e),[2,xc(n,i)]}))}))},t.VIEW_TYPE=vY,t}(cG),yY={enableScripting:!1,externalLinkTarget:2,imageResourcesPath:"/lib/pdfjs/images/",maxCanvasPixels:16777216,pdfBugEnabled:!1,sidebarViewOnLoad:0,viewerCssTheme:0,disablePreferences:!1,disableHistory:!0,verbosity:0,defaultZoomValue:"page-width",cMapPacked:!0,cMapUrl:"/lib/pdfjs/cmaps/",standardFontDataUrl:"/lib/pdfjs/standard_fonts/",wasmUrl:"/lib/pdfjs/wasm/",iccUrl:"/lib/pdfjs/iccs/",workerSrc:"/lib/pdfjs/pdf.worker.min.js",defaultUrl:"",disableTelemetry:!0,isEvalSupported:!1},bY=lm.pdf,wY=lm.plugins.search,kY="pdfjs-search-settings",CY=function(){function e(e,t,n,i){var r=this;this.opened=!1,this.searchSettings={highlightAll:!1,caseSensitive:!1,matchDiacritics:!1,entireWord:!1},this.clickOutsideHandler=function(e){var t=r,n=t.settingsToggleEl,i=t.settingsEl;e.target===i||e.target===n||i.contains(e.target)||(r.toggleSettings(!1),i.win.removeEventListener("click",r.clickOutsideHandler))},this.keyHandlers=null,this.app=e,this.containerEl=t,this.eventBus=n,this.scope=i;var o=e.loadLocalStorage(kY);if(o)try{this.searchSettings=JSON.parse(o)}catch(e){}var a=this.barEl=t.createDiv("pdf-findbar pdf-toolbar mod-hidden"),s=this.searchSettings;a.createDiv("pdf-search-wrapper",(function(e){e.createDiv({cls:"pdf-findbar-message",attr:{"aria-live":"polite"}},(function(e){r.findResultsCountEl=e.createSpan("pdf-toolbar-label pdf-find-results-count")})),new BT(e).setPlaceholder(wY.promptStartSearch()).setClass("global-search-input-container").addRightDecorator((function(e){mv(e,wY.labelMatchCase()),Km(e,"uppercase-lowercase-a"),e.addClass("clickable-icon"),e.addEventListener("click",(function(){s.caseSensitive=!s.caseSensitive,r.saveSettings(),r.dispatchEvent("casesensitivitychange"),e.toggleClass("is-active",s.caseSensitive)})),e.toggleClass("is-active",s.caseSensitive)})).onChange(wc((function(){return r.dispatchEvent("")}),250,!0)).then((function(e){mv(e.clearButtonEl,wY.tooltipClearSearch()),r.searchComponent=e,e.inputEl.addEventListener("keypress",(function(e){e.isComposing||"Enter"===e.key&&(Yl.isMobile&&Cv(),r.dispatchEvent("again",e.shiftKey))}))})),r.findPreviousButtonEl=e.createEl("button",{cls:"pdf-toolbar-button clickable-icon"},(function(e){Km(e,"lucide-arrow-up"),mv(e,sF(Yl.isMacOS?oF(["Mod","Shift"],"G"):oF(["Shift"],"F3")),{placement:"top"}),e.addEventListener("click",(function(){r.dispatchEvent("again",!0)}))})),r.findNextButtonEl=e.createEl("button",{cls:"pdf-toolbar-button clickable-icon"},(function(e){Km(e,"lucide-arrow-down"),mv(e,sF(Yl.isMacOS?oF(["Mod"],"G"):oF([],"F3")),{placement:"top"}),e.addEventListener("click",(function(){r.dispatchEvent("again",!1)}))})),e.createDiv("clickable-icon pdf-findbar-settings-btn",(function(e){mv(e,wY.labelToggleSearchSettings()),Km(e,"lucide-sliders-horizontal"),r.settingsToggleEl=e,e.addEventListener("click",(function(){r.toggleSettings()}))})),e.createDiv("pdf-toolbar-divider"),e.createDiv("clickable-icon",(function(e){mv(e,lm.interface.emptyState.close()),Km(e,"lucide-x"),e.addEventListener("click",(function(){r.close()}))}))})),this.settingsEl=createDiv("pdf-findbar-settings",(function(e){new AT(e).setName(bY.actionHighlightAll()).setClass("mod-toggle").addToggle((function(e){return e.setSmall().setValue(s.highlightAll).onChange((function(e){s.highlightAll=e,r.saveSettings(),r.dispatchEvent("highlightallchange")}))})),new AT(e).setName(bY.actionMatchDiacritics()).setClass("mod-toggle").addToggle((function(e){return e.setSmall().setValue(s.matchDiacritics).onChange((function(e){s.matchDiacritics=e,r.saveSettings(),r.dispatchEvent("diacriticmatchingchange")}))})),new AT(e).setName(bY.actionWholeWords()).setClass("mod-toggle").addToggle((function(e){return e.setSmall().setValue(s.entireWord).onChange((function(e){s.entireWord=e,r.saveSettings(),r.dispatchEvent("entirewordchange")}))}))}))}return e.prototype.toggleSettings=function(e){var t=this,n=this.settingsToggleEl,i=this.settingsEl;if(!1===e||i.isShown())return n.removeClass("is-active"),i.win.removeEventListener("click",this.clickOutsideHandler),void i.detach();var r=n.offsetLeft,o=n.offsetTop,a=n.clientHeight,s=n.clientWidth;n.addClass("is-active"),i.setCssProps({top:"".concat(o+a+6,"px"),left:"".concat(r+s,"px")}),this.containerEl.append(i),setTimeout((function(){i.win.addEventListener("click",t.clickOutsideHandler)}))},e.prototype.saveSettings=function(){try{this.app.saveLocalStorage(kY,JSON.stringify(this.searchSettings))}catch(e){console.error("Error saving PDF search settings",e)}},e.prototype.reset=function(){this.updateUIState()},e.prototype.dispatchEvent=function(e,t){void 0===t&&(t=!1);var n=this.searchComponent,i=this.searchSettings;this.eventBus.dispatch("find",v({source:this,type:e,query:n.inputEl.value,findPrevious:t},i))},e.prototype.updateUIState=function(e,t,n){var i=this.searchComponent,r=i.inputEl,o=i.containerEl,a="";switch(o.removeClasses(["mod-pending","mod-not-found"]),e){case pdfjsViewer.FindState.PENDING:a="mod-pending";break;case pdfjsViewer.FindState.NOT_FOUND:a="mod-not-found"}a&&o.addClass(a),r.setAttribute("aria-invalid",String(e===pdfjsViewer.FindState.NOT_FOUND)),this.updateResultsCount(n)},e.prototype.updateResultsCount=function(e){var t=e||{current:0,total:0},n=t.current,i=t.total,r="";i>0&&(r=i>1e3?bY.msgMaxSearchResults({current:n,limit:1e3}):i>1?bY.msgSearchCount_plural({current:n,total:i}):bY.msgSearchCount({current:n,total:i})),this.findResultsCountEl.textContent=r},e.prototype.showSearch=function(){var e=this.searchComponent.inputEl;this.opened&&e.doc.activeElement!==e?this.searchComponent.autoSelect():this.toggle()},e.prototype.open=function(){var e=this,t=this,n=t.barEl,i=t.searchComponent,r=t.eventBus,o=t.scope;this.opened||(this.opened=!0,n.removeClass("mod-hidden"),n.parentElement.addClass("findbarOpen"),n.parentElement.setCssProps({"--findbar-height":"".concat(n.clientHeight,"px")})),i.autoSelect(),r.dispatch("findbaropen",{source:this}),this.keyHandlers=[o.register([],"F3",(function(){return e.dispatchEvent("again",!1)})),o.register(["Mod"],"G",(function(){return e.dispatchEvent("again",!1)})),o.register(["Shift"],"F3",(function(){return e.dispatchEvent("again",!0)})),o.register(["Mod","Shift"],"G",(function(){return e.dispatchEvent("again",!0)}))]},e.prototype.close=function(){var e=this,t=e.barEl,n=e.eventBus,i=e.scope,r=e.keyHandlers;if(this.opened){this.opened=!1,t.addClass("mod-hidden"),t.parentElement.removeClass("findbarOpen"),t.parentElement.setCssProps({"--findbar-height":""}),n.dispatch("findbarclose",{source:this});for(var o=0,a=r;o0),this.setClickable(!0);var n=this.item,i=n.bold,r=n.italic;i&&(this.innerEl.style.fontWeight="bold"),r&&(this.innerEl.style.fontStyle="italic")},t.prototype.setActive=function(e){this.selfEl.toggleClass("mod-active",e)},t.prototype.reveal=function(){for(var e=this.parent;null!==e;)e.setCollapsed(!1,!1),e=e.parent;this.selfEl.scrollIntoView({block:"start"})},t}(c_),xY=function(e){function t(t,n,i,r){var o=e.call(this,n)||this;return o.allItems=[],o.highlighted=null,o.pageLabels=null,o.viewer=t,o.eventBus=i,o.linkService=r,i._on("toggleoutlinetree",o.toggleAllTreeItems.bind(o)),i._on("currentoutlineitem",o.findCurrentOutlineItem.bind(o)),i._on("pagechanging",(function(e){o.currentPageNumber=e.pageNumber})),i._on("pagesloaded",(function(e){var t;o.isPagesLoaded=!!e.pagesCount,null===(t=o.currentOutlineItemCapability)||void 0===t||t.resolve(o.isPagesLoaded)})),i._on("sidebarviewchanged",(function(e){o.sidebarView=e.view})),o.reset(),o}return m(t,e),t.prototype.reset=function(){var e;this.outline=null,this.pageNumberToDestHashCapability=null,this.currentPageNumber=1,this.isPagesLoaded=null,this.highlighted=null,this.allItems=[],null===(e=this.currentOutlineItemCapability)||void 0===e||e.resolve(!1),this.currentOutlineItemCapability=null,this.clear()},t.prototype.recurseTree=function(e,t,n){if(void 0===n&&(n=null),!e.length)return[];for(var i=[],r=0,o=e;r0;t--)if(n=e.get(t))for(i=0,r=this.allItems;i0?n:null),[2,t.promise]}}))}))},t.prototype.setPageLabels=function(e){this.pageLabels=e||null,this.pdfDocument&&this.renderTree({outline:this.outline,pdfDocument:this.pdfDocument})},t}(u_),TY=lm.pdf,DY=function(){function e(e,t){this.updateCallback=null,this.reason=null,this.containerEl=e,this.eventBus=t}return e.prototype.buildUI=function(){var e=this,t=this.reason===pdfjsLib.PasswordResponses.INCORRECT_PASSWORD;this.dialogEl=this.containerEl.createDiv("pdf-password-dialog",(function(n){Km(n.createDiv("pdf-lock-icon"),"lucide-lock"),n.createDiv({text:TY.msgPasswordProtected()}),n.createDiv({text:t?TY.msgInvalidPassword():TY.msgEnterPassword(),cls:t?"mod-warning mod-small":"mod-small"}),n.createEl("input",{type:"password",placeholder:lm.setting.account.labelPassword()},(function(t){t.addEventListener("keydown",(function(n){"Enter"===n.code&&e.verify(t.value)})),setTimeout((function(){t.focus()}))}))}))},e.prototype.open=function(){return y(this,void 0,void 0,(function(){return b(this,(function(e){return this.buildUI(),this.eventBus.dispatch("passwordpromptopen",{source:this}),[2]}))}))},e.prototype.close=function(){return y(this,void 0,void 0,(function(){var e;return b(this,(function(t){return null===(e=this.dialogEl)||void 0===e||e.detach(),this.dialogEl=null,[2]}))}))},e.prototype.verify=function(e){(null==e?void 0:e.length)>0&&this.invokeCallback(e)},e.prototype.invokeCallback=function(e){this.updateCallback&&(this.close(),this.updateCallback(e),this.updateCallback=null)},e.prototype.setUpdateCallback=function(e,t){return y(this,void 0,void 0,(function(){return b(this,(function(n){return this.updateCallback=e,this.reason=t,[2]}))}))},e.prototype.reset=function(){this.close(),this.updateCallback=null,this.reason=null},e}(),AY=lm.pdf,PY=function(){function e(e,t,n){var i=this,r=n.pdfViewer,o=r.eventBus;this.pdfViewer=r,this.eventBus=o,this.toolbarEl=t.createDiv({cls:"pdf-toolbar",prepend:!0},(function(t){t.createDiv("pdf-toolbar-left",(function(t){i.toolbarLeftEl=t,i.sidebarToggleEl=t.createDiv("clickable-icon",(function(e){mv(e,AY.actionToggleSidebar()),Km(e,"lucide-layout-list"),e.addEventListener("click",(function(){o.dispatch("togglesidebar",{source:i})}))})),i.sidebarOptionsEl=t.createDiv("clickable-icon",(function(e){Km(e,"lucide-chevron-down"),mv(e,AY.tooltipSidebarOptions());var t=!1;e.addEventListener("click",(function(){if(!t){var n=r.pdfSidebar,a=r.pdfOutlineViewer.outline,s=n.isOpen&&1===n.active,l=n.isOpen&&2===n.active,c=(new Ng).addSections(["view","action"]).addItem((function(e){return e.setSection("view").setIcon("lucide-layout-grid").setTitle(AY.actionShowThumbnails()).setChecked(s).onClick((function(){return n.switchView(s?0:1,!0)}))})).addItem((function(e){return e.setSection("view").setIcon("lucide-list").setTitle(AY.actionShowOutline()).setChecked(l).setDisabled(!a).onClick((function(){return n.switchView(l?0:2,!0)}))})).addItem((function(e){return e.setSection("action").setIcon("lucide-list-start").setTitle(AY.actionRevealInOutline()).setDisabled(!a).onClick((function(){l||n.switchView(2,!0),o.dispatch("currentoutlineitem",{source:i})}))}));c.onHide((function(){t=!1}));var u=e.getBoundingClientRect();c.setParentElement(e).showAtPosition({x:u.x,y:u.bottom,width:u.width,overlap:!0,left:!1}),t=!0}}))})),t.createDiv("pdf-toolbar-spacer"),i.zoomOutEl=t.createDiv("clickable-icon",(function(e){mv(e,lm.commands.zoomOut()),Km(e,"lucide-zoom-out"),e.addEventListener("click",(function(){o.dispatch("zoomout",{source:i})}))})),t.createDiv("pdf-toolbar-divider"),i.zoomInEl=t.createDiv("clickable-icon",(function(e){mv(e,lm.commands.zoomIn()),Km(e,"lucide-zoom-in"),e.addEventListener("click",(function(){o.dispatch("zoomin",{source:i})}))})),t.createDiv("clickable-icon",(function(t){Km(t,"lucide-chevron-down"),mv(t,AY.tooltipDisplayOptions());var a=!1;t.addEventListener("click",(function(){if(!a){var s=r.pdfViewer.currentScaleValue,l="page-width"===s,c="page-height"===s,u=r.pdfViewer.spreadMode,h=0===u,p=1===u,d=2===u,f=e.loadLocalStorage(IY),m=(new Ng).addSections(["zoom","spread","appearance"]).addItem((function(e){return e.setSection("zoom").setIcon("lucide-move-horizontal").setTitle(AY.actionFitWidth()).setChecked(l).onClick((function(){return o.dispatch("scalechanged",{source:i,value:"page-width"})}))})).addItem((function(e){return e.setSection("zoom").setIcon("lucide-move-vertical").setTitle(AY.actionFitHeight()).setChecked(c).onClick((function(){return o.dispatch("scalechanged",{source:i,value:"page-height"})}))})).addItem((function(e){return e.setSection("spread").setIcon("lucide-rectangle-vertical").setTitle(AY.labelSpreadSingle()).setChecked(h).onClick((function(){return o.dispatch("switchspreadmode",{source:i,mode:0})}))})).addItem((function(e){return e.setSection("spread").setIcon("rectangle-vertical-double").setTitle(AY.labelSpreadOdd()).setChecked(p).onClick((function(){return o.dispatch("switchspreadmode",{source:i,mode:1})}))})).addItem((function(e){return e.setSection("spread").setIcon("rectangle-vertical-double").setTitle(AY.labelSpreadEven()).setChecked(d).onClick((function(){return o.dispatch("switchspreadmode",{source:i,mode:2})}))})).addItem((function(t){return t.setSection("appearance").setIcon("lucide-palette").setTitle(AY.labelAdaptToTheme()).setChecked(!!f).onClick((function(){e.saveLocalStorage(IY,f?null:"true"),n.onCSSChange()}))}));m.onHide((function(){a=!1}));var v=t.getBoundingClientRect();m.setParentElement(t).showAtPosition({x:v.x,y:v.bottom,width:v.width,overlap:!0,left:!1}),a=!0}}))})),t.createDiv("pdf-toolbar-spacer"),i.pageInputEl=t.createEl("input",{cls:"pdf-page-input"},(function(e){e.addEventListener("click",(function(){return e.select()})),e.addEventListener("change",(function(){o.dispatch("pagenumberchanged",{source:i,value:e.value})}))})),i.pageNumberEl=t.createSpan("pdf-page-numbers")})),t.createDiv("pdf-toolbar-right",(function(e){i.toolbarRightEl=e}))})),o._on("sidebarviewchanged",(function(e){var t=e.view;i.sidebarToggleEl.toggleClass("is-active",t>0)})),this.eventBus=o,this.reset()}return e.prototype.setPageNumber=function(e,t){this.pageNumber=e,this.pageLabel=t,this.updateUIState(!1)},e.prototype.setPagesCount=function(e,t){this.pagesCount=e,this.hasPageLabels=t,this.updateUIState(!0)},e.prototype.setPageScale=function(e,t){this.pageScaleValue=(e||t).toString(),this.pageScale=t,this.updateUIState(!1)},e.prototype.reset=function(){this.pageNumber=0,this.pageLabel=null,this.hasPageLabels=!1,this.pagesCount=0,this.pageScaleValue=pdfjsViewer.DEFAULT_SCALE_VALUE,this.pageScale=pdfjsViewer.DEFAULT_SCALE,this.updateUIState(!0),this.updateLoadingIndicatorState(),this.eventBus.dispatch("toolbarreset",{source:this})},e.prototype.updateUIState=function(e){var t,n;void 0===e&&(e=!1);var i=this,r=i.pagesCount,o=i.pageNumber,a=i.pageScale,s=i.pageInputEl,l=i.pageNumberEl;e&&(this.hasPageLabels?s.type="text":(s.type="number",l.textContent=AY.labelOfPages({count:r})),s.max=r.toString()),this.hasPageLabels?(s.value=this.pageLabel,l.textContent=AY.labelPageOfPages({current:o,count:r})):s.value=o.toString(),null===(t=this.prevPageEl)||void 0===t||t.toggleClass("mod-disabled",o<=1),null===(n=this.nextPageEl)||void 0===n||n.toggleClass("mod-disabled",o>=r),this.zoomOutEl.toggleClass("mod-disabled",a<=pdfjsViewer.MIN_SCALE),this.zoomInEl.toggleClass("mod-disabled",a>=pdfjsViewer.MAX_SCALE)},e.prototype.updateLoadingIndicatorState=function(e){void 0===e&&(e=!1),this.pageInputEl.toggleClass("mod-page-loading",e)},e}(),LY=lm.pdf,IY="pdfjs-is-themed";function OY(e,t,n){if(!e.contains(t))return null;for(var i,r=e.doc.createNodeIterator(e,NodeFilter.SHOW_TEXT),o=n;(i=r.nextNode())&&t!==i;)o+=i.textContent.length;return o}function FY(e,t){if(!e.contains(t))return null;if(t.instanceOf(HTMLElement)&&t.hasClass("textLayerNode"))return t;for(var n=t;n=n.parentNode;){if(n===e)return null;if(n.instanceOf(HTMLElement)&&n.hasClass("textLayerNode"))return n}return null}function NY(e){if(!e)return null;var t=parseInt(e);return Number.isNaN(t)?null:t}var RY=function(){function e(e,t,n,i){var r=this;this.subpathHighlight=null,this.unloaded=!1,this.annotationHighlight=null,this.highlightedText=[],this.app=e,this.scope=t,this.containerEl=n,this.opts=i,this.resizeObserver=new ResizeObserver(wc((function(){return r.onResize()}),200,!0))}return e.prototype.load=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,w,k,C=this;return b(this,(function(E){switch(E.label){case 0:return(null===(w=this.opts)||void 0===w?void 0:w.initDelay)?[4,sleep(this.opts.initDelay)]:[3,2];case 1:if(E.sent(),this.unloaded)return[2];E.label=2;case 2:return[4,zN()];case 3:return E.sent(),Yl.isMobile&&(yY.maxCanvasPixels=5242880),this.unloaded?[2]:(t=(e=this).app,n=e.opts,i=new pdfjsViewer.EventBus,(r=this.loadingEl=this.containerEl.doc.body.createDiv()).setCssStyles({position:"fixed",opacity:"0",zIndex:"-9999"}),o=r.createDiv("pdf-container"),a=t.loadLocalStorage(IY),s=null,l=!1,a&&(o.addClass("mod-themed"),s=o.getCssPropertyValue("--pdf-page-background"),l=document.body.hasClass("theme-dark")),c=o.createDiv("pdf-content-container"),u=c.createDiv("pdf-viewer-container",(function(e){e.style.position="absolute",e.addEventListener("transitionend",(function(t){t.target===e&&i.dispatch("resize",{source:e})}),!0),e.addEventListener("contextmenu",C.onContextMenu.bind(C)),e.addEventListener("pointerdown",C.onAnnotationPointerDown.bind(C))})),h=u.createDiv("pdfViewer"),p=c.createDiv("pdf-sidebar-container",(function(e){e.addEventListener("contextmenu",C.onThumbnailContextMenu.bind(C))})),d=p.createDiv("pdf-sidebar-content-wrapper").createDiv("pdf-sidebar-content"),f=d.createDiv("pdf-thumbnail-view"),m=d.createDiv("pdf-outline-view hidden"),v={containerEl:r,contentEl:c,outlineViewEl:m,pdfContainerEl:o,sidebarContainerEl:p,thumbnailViewEl:f,viewerContainerEl:u,viewerEl:h},(g=this.pdfViewer=pdfjsViewer.createObsidianPDFViewer({baseConfig:yY,dom:v,eventBus:i,height:null==n?void 0:n.height,isEmbed:null==n?void 0:n.isEmbed,l10n:new SY,removePageBorders:null==n?void 0:n.removePageBorders,pageBackground:s,pageInvert:l})).toolbar=this.toolbar=new PY(t,r,this),g.findBar=this.findBar=new CY(t,c,i,this.scope),g.passwordPrompt=new DY(u,i),g.pdfOutlineViewer=new xY(this,m,i),c.onWindowMigrated((function(){return y(C,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return this.file?(e=g.subpath,[4,g.close()]):[2];case 1:return n.sent(),[4,this.loadFile(this.file)];case 2:return n.sent(),e?[4,null===(t=g.pdfLoadingTask)||void 0===t?void 0:t.promise]:[3,4];case 3:n.sent(),g.applySubpath(e),n.label=4;case 4:return[2]}}))}))})),i._on("sidebarviewchanged",(function(e){p.setAttr("data-view",e.view)})),this.scope.register([],"Escape",(function(){C.clearEphemeralUI(),C.findBar.close()})),i._on("find",(function(){return C.clearEphemeralUI()})),this.resizeObserver.observe(o),[4,g.initialize()]);case 4:return E.sent(),this.unloaded?(this.unload(),[2]):(null===(k=this.loadingEl)||void 0===k||k.detach(),this.loadingEl=null,v.containerEl=this.containerEl,this.containerEl.appendChild(this.toolbar.toolbarEl),this.containerEl.appendChild(o),(null==n?void 0:n.isEmbed)&&(null==n?void 0:n.height)&&g.setHeight(n.height),i._on("textlayerrendered",(function(e){var t,n=e.source;if(n){var i=n.textLayer,r=n.id;if(Yl.isMobile&&(null===(t=i.div)||void 0===t||t.addEventListener("copy",(function(e){C.onMobileCopy(e,n)}))),C.subpathHighlight&&"text"===C.subpathHighlight.type){var o=C.subpathHighlight,a=o.page,s=o.range;r===a&&C.highlightText(a,s)}}})),(null==n?void 0:n.isEmbed)&&i.on("pagerendered",(function(){var e=o.querySelector(".hiddenCopyElement");e&&e.detach()}),{once:!0}),i._on("annotationlayerrendered",(function(e){var t=e.source;if(C.subpathHighlight&&"annotation"===C.subpathHighlight.type){var n=C.subpathHighlight,i=n.page,r=n.id;(null==t?void 0:t.id)===i&&C.highlightAnnotation(i,r)}})),[2])}}))}))},e.prototype.unload=function(){var e,t,n,i;this.unloaded=!0,this.resizeObserver.disconnect(),null===(e=this.pdfViewer)||void 0===e||e.unbindWindowEvents(),null===(t=this.pdfViewer)||void 0===t||t.close(),this.pdfViewer=null,this.toolbar=null,null===(n=this.findBar)||void 0===n||n.close(),this.findBar=null,null===(i=this.loadingEl)||void 0===i||i.detach(),this.loadingEl=null,this.containerEl.empty(),this.destroyAnnotationPopup()},e.prototype.getPage=function(e){return this.pdfViewer.pdfViewer.getPageView(e-1)},e.prototype.renderAnnotationPopup=function(e){var t=this,n=e.layer,i=e.data,r=e.parent,o=r.page,a=o.pageNumber,s=o.view,l=this.getPage(a),c=i.id,u=i.rect,h=i.contentsObj,p=h.dir,d=h.str,f=createDiv("popup");if(f.createDiv({cls:"popupContent",attr:{dir:p}},(function(e){for(var t=d.split(/(?:\r\n?|\n)/),n=0,i=t.length;n ".concat(n)),t.push("".concat(this.getMarkdownLink("#page=".concat(a,"&annotation=").concat(c)))),(null===(r=i.contentsObj)||void 0===r?void 0:r.str)&&t.push("".concat(i.contentsObj.str)),[4,navigator.clipboard.writeText(t.join("\n\n"))];case 2:return o.sent(),Km(e,"lucide-check"),[2]}}))}))}))}))})),Yl.isPhone){var m=new px(this.app).setBackgroundOpacity("0.4");return m.containerEl.addClass("pdf-annotation-modal"),m.contentEl.append(f),void activeWindow.setTimeout((function(){m.open()}),20)}var v=r.viewport.rawDims,g=v.pageWidth,w=v.pageHeight,k=v.pageX,C=v.pageY,E=pdfjsLib.Util.normalizeRect([u[0],s[3]-u[1]+s[1],u[2],s[3]-u[3]+s[1]]),S=createDiv({cls:"popupWrapper",attr:{"data-annotation-id":i.id}});if(S.append(f),S.setCssStyles({left:"".concat(100*((E[0]+E[2])/2-k)/g,"%"),top:"".concat(100*(E[3]-C)/w,"%")}),i.color){var M=i.color,x=M[0],T=M[1],D=M[2];S.style.setProperty("--annotation-color","".concat(x,", ").concat(T,", ").concat(D))}n.append(S),vl(S,new hl({duration:200,fn:"cubic-bezier(0.34, 1.56, 0.64, 1)"}).addProp("transform","translate(-50%, -1px) scale(0.97)","translate(-50%, 0) scale(1)",""));var A=this.pdfViewer.dom.viewerContainerEl.getBoundingClientRect(),P=S.getBoundingClientRect();P.top>A.top&&P.bottom5&&(u=!0))},p=function(t){var i;if(t.pointerId===c){d();var r=null===(i=n.activeAnnotationPopupEl)||void 0===i?void 0:i.dataset.annotationId;if(n.clearEphemeralUI(),!u){var a=n.getAnnotationFromEvt(o,e);a&&"Widget"!==a.data.subtype&&"Link"!==a.data.subtype&&a.data.id!==r&&n.renderAnnotationPopup(a)}}},d=function(){a.removeEventListener("pointermove",h),a.removeEventListener("pointerup",p),a.removeEventListener("pointercancel",p)};a.addEventListener("pointermove",h),a.addEventListener("pointerup",p),a.addEventListener("pointercancel",p)}},e.prototype.getPageLinkAlias=function(e){return"".concat(this.file.basename,", ").concat(LY.labelPage({page:e}))},e.prototype.getTextSelectionRangeStr=function(e){var t=e.win.getSelection(),n=t.rangeCount>0?t.getRangeAt(0):null;if(n&&!n.collapsed){var i=FY(e,n.startContainer),r=FY(e,n.endContainer);if(i&&r){var o=i.dataset.idx,a=r.dataset.idx,s=OY(i,n.startContainer,n.startOffset),l=OY(r,n.endContainer,n.endOffset);if(null!==s&&null!==l)return"".concat(o,",").concat(s,",").concat(a,",").concat(l)}}return null},e.prototype.onContextMenu=function(e){return y(this,void 0,void 0,(function(){var t,n,i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,y,w;return b(this,(function(b){switch(b.label){case 0:return Yl.isDesktopApp?(t=e.target,(n=t.closest(".page"))&&n.instanceOf(HTMLElement)?(i=parseInt(n.dataset.pageNumber),Number.isNaN(i)?[2]:(r=!0,a=!1,(s=Yl.isDesktopApp&&e.win.electron)&&e.isTrusted?[4,_f(e)]:[3,2])):[2]):[2];case 1:return!(l=b.sent())||e.defaultPrevented?[2]:(o=s.remote.webContents.fromId(l.webContentsId),r=(l.editFlags||{}).canCopy,[3,3]);case 2:a=!0,b.label=3;case 3:return c=this.getPage(i),u=e.view.getSelection(),h=u.toString(),p=(new Ng).addSections(["action","selection","annotation"]),h&&(h=pdfjsViewer.removeNullCharacters(pdfjsLib.normalizeUnicode(h.replace(/[\n\r]+/g," ")))),Yl.isMacOS&&s&&h&&p.addItem((function(e){return e.setSection("action").setTitle(lm.interface.menu.lookupSelection({selection:gc(h,25)})).setIcon("lucide-library").onClick((function(){s.remote.getCurrentWebContents().showDefinitionForSelection()}))})),d=this.getAnnotationFromEvt(c,e),f=null,m=null,d&&"Widget"!==d.data.subtype?(f=d.data.id,[4,this.getAnnotatedText(c,f)]):[3,5];case 4:m=b.sent(),b.label=5;case 5:return h&&p.addItem((function(e){return e.setSection("selection").setTitle(lm.interface.menu.copy()).setIcon("lucide-copy").setDisabled(!r).onClick((function(){s&&o?o.copy():navigator.clipboard.writeText(h)}))})),(v=this.getTextSelectionRangeStr(n))&&(g=this.getMarkdownLink("#page=".concat(i,"&selection=").concat(v),this.getPageLinkAlias(i)),p.addItem((function(e){return e.setSection("selection").setTitle(LY.actionCopyQuote()).setIcon("lucide-copy").onClick((function(){navigator.clipboard.writeText("> ".concat(h.replace(/[\r\n]+/g," "),"\n\n").concat(g))}))})),p.addItem((function(e){return e.setSection("selection").setTitle(LY.actionCopySelectionLink()).setIcon("lucide-copy").onClick((function(){navigator.clipboard.writeText(g)}))}))),f&&(y=this.getMarkdownLink("#page=".concat(i,"&annotation=").concat(f),this.getPageLinkAlias(i)),m&&p.addItem((function(e){return e.setSection("annotation").setTitle(LY.actionCopyAnnotation()).setIcon("lucide-copy").onClick((function(){navigator.clipboard.writeText("> ".concat(m,"\n\n").concat(y))}))})),p.addItem((function(e){return e.setSection("annotation").setTitle(LY.actionCopyAnnotLink()).setIcon("lucide-copy").onClick((function(){navigator.clipboard.writeText(y)}))}))),this.clearEphemeralUI(),p.showAtMouseEvent(e),((null===(w=this.opts)||void 0===w?void 0:w.isEmbed)||a)&&e.preventDefault(),[2]}}))}))},e.prototype.onMobileCopy=function(e,t){var n=t.div,i=t.id,r=e.clipboardData.getData("text/plain");if(r){var o=this.getTextSelectionRangeStr(n);if(o){var a=this.getMarkdownLink("#page=".concat(i,"&selection=").concat(o),this.getPageLinkAlias(i));e.clipboardData.setData("text/plain","> ".concat(r,"\n\n").concat(a))}}},e.prototype.onThumbnailContextMenu=function(e){var t=e.targetNode;if(t.instanceOf(HTMLElement)&&t.hasClass("thumbnail")){var n=parseInt(t.dataset.pageNumber);if(Number.isNaN(n))return;var i=this.getMarkdownLink("#page=".concat(n),this.getPageLinkAlias(n));(new Ng).addItem((function(t){return t.setTitle(LY.actionCopyPageLink({page:n})).setIcon("lucide-copy").onClick((function(){e.view.navigator.clipboard.writeText(i)}))})).showAtMouseEvent(e)}},e.prototype.getAnnotatedText=function(e,t){return y(this,void 0,void 0,(function(){var n,i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,y,w,k,C,E;return b(this,(function(b){switch(b.label){case 0:return n=e.annotationLayer.annotationLayer.getAnnotation(t),(null==(i=null===(E=n.data)||void 0===E?void 0:E.quadPoints)?void 0:i.length)?(r=e.textLayer).renderingDone?[3,2]:[4,r.textLayer.renderingTask.promise]:[2,null];case 1:b.sent(),b.label=2;case 2:for(o="",a=0,s=i.length;a=i&&f<=o&&m>=r&&m<=a&&(s+=d.u)}}return s},e.prototype.clearAnnotationHighlight=function(){this.annotationHighlight&&(this.annotationHighlight.detach(),this.annotationHighlight=null)},e.prototype.highlightAnnotation=function(e,t){var n=this;if(this.clearAnnotationHighlight(),!(e<1||e>this.pdfViewer.pagesCount)){var i=this.getPage(e);if(null==i?void 0:i.div.dataset.loaded){var r=i.annotationLayer.annotationLayer.getAnnotation(t);if(r)i.annotationLayer.div.createDiv("boundingRect mod-focused",(function(e){var t=r.data.rect,i=r.parent.page.view,o=r.parent.viewport.rawDims,a=o.pageWidth,s=o.pageHeight,l=o.pageX,c=o.pageY,u=pdfjsLib.Util.normalizeRect([t[0],i[3]-t[1]+i[1],t[2],i[3]-t[3]+i[1]]);e.setCssStyles({left:"".concat(100*(u[0]-l)/a,"%"),top:"".concat(100*(u[1]-c)/s,"%"),width:"".concat(100*(u[2]-u[0])/a,"%"),height:"".concat(100*(u[3]-u[1])/s,"%")}),n.annotationHighlight=e,activeWindow.setTimeout((function(){pdfjsViewer.scrollIntoView(e,{top:-50})}))}))}}},e.prototype.clearTextHighlight=function(){if(this.highlightedText.length){for(var e=0,t=this.highlightedText;ethis.pdfViewer.pagesCount)){var n=this.getPage(e);if(null==n?void 0:n.div.dataset.loaded){var i=n.textLayer.textLayer,r=i.textDivs,o=i.textContentItems,a=[],s=function(t,n,i){return a.push([e,t]),1===a.length&&pdfjsViewer.scrollIntoView(r[t],{top:-50},!0),r[t].textContent="",l(t,0,n,i)},l=function(t,n,i,s){a.push([e,t]);var l=r[t];if(l.nodeType===Node.TEXT_NODE){var c=createSpan();l.before(c),c.append(l),r[t]=c,l=c}var u=o[t].str.substring(n,i),h=document.createTextNode(u);s?(c=l.createSpan("".concat(s," appended"))).append(h):l.append(h)},c=t[0],u=c[0],h=c[1],p=t[1],d=p[0],f=p[1],m="selected";if(s(u,h),u===d)l(u,h,f,"mod-focused "+m);else{l(u,h,void 0,"mod-focused begin "+m);for(var v=u+1,g=d;v0&&(o=s)}}return r.containerEl.addClass("pdf-embed"),r.viewer=r.addChild(new BY(r.app,r.containerEl,{removePageBorders:!0,isEmbed:!0,height:o,initDelay:300,displayMode:t.displayMode})),r.viewer.then((function(e){var n=e.toolbar.toolbarRightEl;n.createDiv("pdf-toolbar-spacer"),n.createDiv("clickable-icon",(function(e){Km(e,"lucide-more-vertical"),mv(e,lm.setting.about.buttonOpen()),e.addEventListener("click",(function(){var n=(new Ng).setParentElement(e);if(t.app.workspace.handleLinkContextMenu(n,t.linktext,t.sourcePath)){var i=e.getBoundingClientRect();n.showAtPosition({x:i.x,y:i.bottom,width:i.width,overlap:!0,left:!0})}}))})),tg(e.pdfViewer.dom.viewerContainerEl)})),r}return m(t,e),t.prototype.onload=function(){var t=this;e.prototype.onload.call(this);var n=this.app;this.registerEvent(n.vault.on("modify",(function(e){e===t.file&&t.loadFile()})))},t.prototype.loadFile=function(){return this.viewer.loadFile(this.file,this.subpath)},t}(Fm),zY="video",qY=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.getViewType=function(){return zY},t.prototype.canAcceptExtension=function(e){return DM.contains(e)},t.prototype.onLoadFile=function(e){return y(this,void 0,void 0,(function(){var n,i,r,o;return b(this,(function(a){switch(a.label){case 0:return i=(n=this).app,_c(r=n.contentEl),r.empty(),o=r.createDiv("video-container"),[4,t.displayInEl(e,i,o)];case 1:return a.sent(),[2]}}))}))},t.displayInEl=function(e,t,n){return y(this,void 0,Promise,(function(){var i;return b(this,(function(r){return i=t.vault.getResourcePath(e),[2,Ac(n,i)]}))}))},t.VIEW_TYPE=zY,t}(cG);function WY(e,t,n){pv(e,t,{classes:["mod-wide","mod-error"]}),n&&setTimeout((function(){return dv()}),2e3)}var jY=new WeakMap;function UY(e){for(;e;){if(jY.has(e))return jY.get(e);e=e.parentElement}return 0}var _Y=function(e){function t(t,n){var i=e.call(this)||this;return i.app=t.app,i.containerEl=t.containerEl,i.file=n,i.containerEl.addClass("media-embed"),i}return m(t,e),t.prototype.onunload=function(){_c(this.containerEl),e.prototype.onunload.call(this)},t}(Fm),GY=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.containerEl.addClass("image-embed"),i}return m(t,e),t.prototype.loadFile=function(){return gY.displayInEl(this.file,this.app,this.containerEl)},t}(_Y),KY=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.containerEl.addClass("audio-embed"),i}return m(t,e),t.prototype.loadFile=function(){return mY.displayInEl(this.file,this.app,this.containerEl)},t}(_Y),YY=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.containerEl.addClass("video-embed"),i}return m(t,e),t.prototype.loadFile=function(){return qY.displayInEl(this.file,this.app,this.containerEl)},t}(_Y),ZY=function(e){function t(t,n,i){var r=e.call(this)||this;return r.app=t.app,r.ctx=t,r.containerEl=t.containerEl,r.containerEl.addClass("file-embed","mod-generic"),r.file=n,r.subpath=i,r.headerEl=r.containerEl.createDiv({cls:"file-embed-title"},(function(e){e.createSpan({cls:"file-embed-icon"},(function(e){Km(e,"lucide-file")})),e.appendText(" "+r.file.name)})),r}return m(t,e),t.prototype.loadFile=function(){return y(this,void 0,Promise,(function(){var e,t,n,i;return b(this,(function(r){return t=(e=this).containerEl,n=e.ctx,i=e.app,t.addEventListener("click",(function(e){i.workspace.getLeaf(Ag.isModEvent(e)).openLinkText(n.linktext,n.sourcePath)})),[2]}))}))},t}(Fm),XY=function(e){function t(t){var n=e.call(this)||this;return n.file=null,n.onClick=function(e){var t=n.ctx,i=t.app,r=t.linktext,o=t.sourcePath;i.workspace.openLinkText(r,o,Ag.isModEvent(e))},n.ctx=t,n.containerEl=t.containerEl,n}return m(t,e),t.prototype.loadFile=function(){return y(this,void 0,Promise,(function(){var e,t,n,i,r;return b(this,(function(o){return t=(e=this).containerEl,n=e.ctx,i=n.app,r=n.linktext,t.addClass("file-embed"),i.workspace.initialized?(i.fileManager.canCreateFileWithExt(ou(r))?(t.addClass("mod-empty"),t.appendText(lm.plugins.pagePreview.labelEmptyNote({linktext:r})),t.addEventListener("click",this.onClick)):(t.addClass("mod-empty-attachment"),t.appendText(lm.plugins.pagePreview.labelEmptyAttachment({linktext:r}))),[2]):(t.addClass("mod-empty-attachment"),t.appendText(lm.dialogue.msgLoading()),[2])}))}))},t.prototype.onload=function(){var t=this;e.prototype.onload.call(this);var n=this.ctx.app;if(n.workspace.initialized){var i=wc((function(){if(t._loaded&&!(t._children.length>0)){var e=t.ctx,n=e.app,i=e.linktext,r=e.sourcePath,o=cS(i).path;if(n.metadataCache.getFirstLinkpathDest(o,r)){t.containerEl.removeClass("file-embed","mod-empty"),t.containerEl.removeEventListener("click",t.onClick),t.containerEl.empty();var a=$Y.load(t.ctx);a&&(t.addChild(a),a.loadFile())}}}),500,!0);this.registerEvent(n.vault.on("create",i)),this.registerEvent(n.vault.on("rename",i))}},t}(Fm),QY=function(e){function t(){var t=e.call(this)||this;return t.embedByExtension={},t.registerExtensions(PM,(function(e,t,n){return e.displayMode?new zR(e,t,n):new JY(e,t,n)})),t.registerExtensions(xM,(function(e,t){return new GY(e,t)})),t.registerExtensions(TM,(function(e,t){return new KY(e,t)})),t.registerExtensions(DM,(function(e,t){return new YY(e,t)})),t.registerExtensions(AM,(function(e,t,n){return new HY(e,t,n)})),t}return m(t,e),t.prototype.unregisterExtensions=function(e){for(var t=0,n=e;t=1&&t.instanceOf(HTMLElement)){var i=n.getRangeAt(0);if(t===i.startContainer||t.contains(i.startContainer)){var r=i.getBoundingClientRect();r.bottom+r.height/2>=t.getBoundingClientRect().bottom&&(e.preventDefault(),Cv(),this.editMode&&(this.editMode.editor.focus(),this.editMode.editor.setSelection(cC(0,0))))}}}},t.prototype.saveTitle=function(e){return y(this,void 0,void 0,(function(){var t,n,i,r,o,a,s,l,c;return b(this,(function(u){switch(u.label){case 0:if(dv(),n=(t=this).file,i=t.subpath,r=t.fileBeingRenamed,n!==r)return[2];if(o=e.getText().trim(),i)return[3,5];if(a=aG(this.app,n,o,!0))return e.setText(n.basename),WY(e,a,!0),[2];if(s=n.getNewPathAfterRename(o),n.path===s)return[2];u.label=1;case 1:return u.trys.push([1,3,,4]),[4,this.app.fileManager.renameFile(n,s)];case 2:return u.sent(),[3,4];case 3:return(l=u.sent())&&(c=l.message||l.code||l.toString(),WY(e,c,!0)),[3,4];case 4:e.setText(n.basename),this.fileBeingRenamed=null,u.label=5;case 5:return[2]}}))}))},t.prototype.onload=function(){e.prototype.onload.call(this),this.registerEvent(this.app.metadataCache.on("changed",this.onFileChanged,this)),this.registerEvent(this.app.vault.on("rename",this.onFileRename,this))},t.prototype.onunload=function(){e.prototype.onunload.call(this),this.applyScope(null)},t.prototype.onFileChanged=function(e,t,n){e!==this.file||t===this.data||this.dirty||this.loadFileInternal(t,n)},t.prototype.onFileRename=function(e,t){e instanceof zC&&e===this.file&&!this.subpath&&this.inlineTitleEl.setText(e.basename)},t.prototype.loadFile=function(){return y(this,void 0,Promise,(function(){var e,n,i,r,o,a,s,l,c,u,h,p=this;return b(this,(function(d){switch(d.label){case 0:return n=(e=this).app,i=e.file,r=e.headerEl,o=e.previewMode,a=e.subpath,s=e.state,a||(null==r||r.setText(i.basename),this.inlineTitleEl.setText(i.basename),o.registerEvent(n.workspace.on("quick-preview",(function(e,t){e===p.file&&t!==p.data&&p.loadContents(t)})))),c=this,[4,n.vault.cachedRead(i)];case 1:return l=c.data=d.sent(),this.loadFileInternal(l),s&&Number.isNumber(s.scroll)&&this.previewMode.renderer.applyScrollDelayed(s.scroll,{highlight:!0,center:!0}),u=this.getFoldInfo(),this.localPropertiesFoldState=Boolean(u&&(null==u?void 0:u.folds.some((function(e){return 0===e.from})))),this.previewMode.renderer.applyFoldInfo(u),h=this.useLocalPropertiesFoldState?this.localPropertiesFoldState:t.collapseProperties,this.metadataEditor.setCollapse(h,!1),[2]}}))}))},t.prototype.getFoldInfo=function(){return this.app.foldManager.load(this.file)},t.prototype.loadFileInternal=function(e,t){var n=this.file,i=this.lastSavedData;if(this.lastSavedData=e,i){if(i===e)return;if(this.dirty){var r=this.data;if(r===e)return;r!==i&&(e=kG(i,r,e),new vx(lm.interface.msgFileChanged({file:n.path})))}}this.loadContents(e,t)},t.prototype.loadContents=function(e,t){var n=this,i=this,r=i.app,o=i.file,a=i.subpath;if(t||(t=r.metadataCache.getFileCache(o)),a&&!t&&(this.subpathNotFound=!1),a&&t){var s=bS(t,a);this.subpathNotFound=!s;var l="",c="",u="",h="";if(s){var p=wS(e,t,s,this.editable);if(l=p.before,c=p.after,u=p.heading,h=p.indent,e=p.content,this.containerEl.dataset.type=s.type,"heading"===s.type){var d=this.inlineTitleEl,f=MM(VE(IE(u))).firstChild;f&&f.instanceOf(HTMLHeadingElement)?(d.addClass("markdown-rendered"),d.replaceChildren(f),BR(r,d,o.path),qR.postProcess(r,{docId:cc(16),sourcePath:this.path,frontmatter:t.frontmatter,promises:[],addChild:function(e){return n.addChild(e)},getSectionInfo:function(){return null},replace:function(){return null},containerEl:d,el:f,displayMode:!1})):d.setText(s.current.heading),d.setAttr("data-level",String(s.current.level))}else if("footnote"===s.type){h=r.vault.getConfig("useTab")?"\t":" "}}this.heading=u,this.before=l,this.after=c,this.indent=h}if(this.subpathNotFound){var m=a.slice(1).replace(/(\[|\])/g,"\\$1");if("footnote"===kS(a)){e=lm.plugins.pagePreview.labelMissingFootote({id:m}),this.containerEl.dataset.type="footnote",this.containerEl.addClass("mod-empty");var v=function(){n.app.vault.process(o,(function(e){var t=e.match(/\n*$/)[0].length;return e+"\n".repeat(2-Math.min(t,2))+a.slice(1)+": \n"})),n.containerEl.removeClass("mod-empty"),n.containerEl.removeEventListener("click",v)};this.containerEl.addEventListener("click",v)}else e="##### "+lm.interface.labelUnableToFindSection({subpath:m,file:o.basename})}this.set(e,!0)},t.prototype.set=function(t,n){if(e.prototype.set.call(this,t,n),this.loadFrontmatter(t),n){var i=this.app;this.previewMode.renderer.previewEl.toggleClass("show-properties","hidden"!==i.vault.getConfig("propertiesInDocument"))}},t.prototype.applyScope=function(e){e!==this.scope&&(this.scope&&this.app.keymap.popScope(this.scope),e&&this.app.keymap.pushScope(e),this.scope=e)},t.prototype.onMarkdownFold=function(){var e=this.file,n="preview"===this.getMode()?this.previewMode.renderer.getFoldInfo():this.editMode.getFoldInfo();this.useLocalPropertiesFoldState||(t.collapseProperties=this.metadataEditor.collapsed,this.localPropertiesFoldState&&n.folds.unshift({from:0,to:0})),this.app.foldManager.save(e,n)},t.collapseProperties=!0,t}(dY),eZ=function(e){function t(t){var n=e.call(this,t)||this;n.limit=100,n.emptyStateText=lm.setting.thirdPartyPlugin.labelNoResultsFound(),n.isOpen=!1,n.inputEl=null,n.clearButtonEl=null,n.ctaEl=null,n.resultContainerEl=null,n.instructionsEl=createDiv("prompt-instructions");var i=n.modalEl;return i.removeClass("modal"),i.addClass("prompt"),i.empty(),i.createDiv("prompt-input-container",(function(e){var t=n.inputEl=e.createEl("input",{cls:"prompt-input",type:"text",attr:{autocapitalize:"off",spellcheck:"false",enterkeyhint:Yl.isAndroidApp?"enter":"done"}});n.ctaEl=e.createDiv("prompt-input-cta"),n.clearButtonEl=e.createDiv("search-input-clear-button",(function(e){e.addEventListener("mousedown",(function(e){return e.preventDefault()})),e.addEventListener("click",(function(){""!==t.value?(t.value="",t.trigger("input")):n.close()}))}))})),n.resultContainerEl=i.createDiv("prompt-results"),n.resultContainerEl.on("mousedown",".suggestion-item",(function(e){return e.preventDefault()})),n.chooser=new Gx(n,n.resultContainerEl,n.scope),n.inputEl.addEventListener("input",n.onInput.bind(n)),n}return m(t,e),t.prototype.setPlaceholder=function(e){this.inputEl.placeholder=e},t.prototype.setInstructions=function(e){e.length>0?(nD(this.instructionsEl,e),this.modalEl.appendChild(this.instructionsEl)):this.instructionsEl.detach()},t.prototype.onOpen=function(){var e=this.inputEl;this.isOpen=!0,e.value="",e.focus(),this.updateSuggestions()},t.prototype.onInput=function(){this.updateSuggestions()},t.prototype.updateSuggestions=function(){var e=this,t=this.inputEl.value,n=this.getSuggestions(t),i=function(t){if(t&&0!==t.length){var n=e.limit;n&&n>0&&(t=t.slice(0,n)),e.chooser.setSuggestions(t)}else e.onNoSuggestion()};Array.isArray(n)?i(n):y(e,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return e=i,[4,n];case 1:return e.apply(void 0,[t.sent()]),[2]}}))}))},t.prototype.onNoSuggestion=function(){this.chooser.setSuggestions(null),this.chooser.addMessage(this.emptyStateText)},t.prototype.selectSuggestion=function(e,t){this.app.keymap.updateModifiers(t),this.close(),this.isOpen=!1,this.onChooseSuggestion(e,t)},t.prototype.selectActiveSuggestion=function(e){this.chooser.useSelectedItem(e)},t}(px),tZ=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.sortSuggestions=function(e){oT(e)},t.prototype.getSuggestions=function(e){e=e.trim();for(var t=this.getItems(),n=eT(e),i=[],r=0,o=t;r"})},t}(Rn),mZ=Vn.replace({widget:new fZ}),vZ=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.eq=function(){return!0},t.prototype.toDOM=function(e){var t=createDiv("hr cm-line");return t.createEl("br"),t.addEventListener("click",(function(){var n=e.posAtDOM(t),i=e.state.doc.lineAt(n);e.dispatch({selection:{head:i.from,anchor:i.to}})})),t.createEl("hr"),t},t.prototype.destroy=function(e){e.detach()},Object.defineProperty(t.prototype,"estimatedHeight",{get:function(){return 20},enumerable:!1,configurable:!0}),t}(Rn),gZ=new vZ,yZ=Vn.mark({class:"list-bullet"}),bZ=Vn.mark({class:"list-number"}),wZ=function(e){function t(t){var n=e.call(this)||this;return n.content=t,n}return m(t,e),t.prototype.eq=function(e){return e.content===this.content},t.prototype.updateDOM=function(e){if(e.instanceOf(HTMLLabelElement)&&e.firstChild&&e.firstChild.instanceOf(HTMLInputElement)){var t=e.firstChild;return t.setAttribute("data-task",this.content),t.checked=" "!==this.content,!0}return!1},t.prototype.toDOM=function(e){var t=createEl("label","task-list-label"),n=t.createEl("input",{cls:"task-list-item-checkbox",type:"checkbox"});return n.setAttribute("data-task",this.content),n.checked=" "!==this.content,t.addEventListener("mousedown",(function(e){e.preventDefault()})),n.addEventListener("input",(function(){var t=e.posAtDOM(n),i=e.state.doc.lineAt(t),r=i.text.search(/\[.]/);if(-1!==r){var o=i.text.charAt(r+1),a=i.from+r+1;if(e.dispatch({changes:[{from:a,to:a+1,insert:" "===o?"x":" "}]}),Yl.isAndroidApp){var s=e.scrollDOM.scrollTop,l=function(t){c(),t.preventDefault(),e.scrollDOM.scrollTop=s},c=function(){e.scrollDOM.removeEventListener("scroll",l,{capture:!0})};e.scrollDOM.addEventListener("scroll",l,{capture:!0,passive:!1}),n.win.setTimeout(c,200)}}})),t},t}(Rn),kZ=function(e){function t(t){var n=e.call(this)||this;return n.styles=t,n}return m(t,e),t.prototype.eq=function(e){return this.styles===e.styles},t.prototype.toDOM=function(){return createSpan(this.styles)},t.prototype.ignoreEvent=function(e){return!1},t}(Rn),CZ=function(e){function t(t,n){var i=e.call(this)||this;return i.lang=t,i.code=n,i}return m(t,e),t.prototype.eq=function(e){return e.lang===this.lang&&e.code===this.code},t.prototype.toDOM=function(){var e=this,t=createSpan({cls:"code-block-flair",text:this.lang});return this.lang||Km(t,"lucide-copy"),mv(t,lm.interface.menu.copy()),t.addEventListener("click",(function(){return y(e,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return(e=this.code).endsWith("\n")&&(e=e.substr(0,e.length-1)),[4,navigator.clipboard.writeText(e)];case 1:return t.sent(),new vx(lm.interface.copied({context:"generic"})),[2]}}))}))})),t},t}(Rn),EZ=function(e){function t(t,n){var i=e.call(this)||this;return i.url=t,i.title=n,i}return m(t,e),Object.defineProperty(t.prototype,"noReuse",{get:function(){return!0},enumerable:!1,configurable:!0}),t.prototype.initDOM=function(e){var t,n=nR(this.url);if(n)t=iR(n);else{var i=t=createEl("img");i.src=this.url,this.applyTitle(i,this.title)}return this.hookClickHandler(e,t),this.resizeWidget(e,t),t},t.prototype.applyTitle=function(e,t){var n=0,i=0;if(t){var r=function(e){var t=xE(e);return!!t&&(n=t.x,i=t.y,!0)},o=t.lastIndexOf("|");-1!==o?r(t.substr(o+1))&&(t=t.substr(0,o)):r(t)&&(t="")}t||(t=eu(this.url)),n>0&&(e.width=n),i>0&&(e.height=i),e.setAttr("alt",t)},Object.defineProperty(t.prototype,"estimatedHeight",{get:function(){return 30},enumerable:!1,configurable:!0}),t}(iF),SZ=function(e){function t(t,n,i,r,o,a){var s=e.call(this,t,n)||this;return s.sourcePath=i,s.href=r,s.title=o,s.depth=a,s}return m(t,e),t.prototype.initDOM=function(e){var t=this,n=t.app,i=t.sourcePath,r=t.href,o=t.title,a=t.depth,s=this.containerEl=createDiv("internal-embed");s.tabIndex=-1,s.setAttr("src",r),this.applyTitle(s,o);var l=$Y.load({app:n,linktext:r,sourcePath:i,containerEl:s,displayMode:!1,showInline:!0,depth:a});return l&&(this.addChild(l),l.loadFile()),l instanceof HY||l instanceof pK?this.addEditButton(e,s):this.hookClickHandler(e,s),this.resizeWidget(e,s),s},t.prototype.applyTitle=function(e,t){this.title=t;var n=0,i=0;if(t){var r=function(e){var t=xE(e);return!!t&&(n=t.x,i=t.y,!0)},o=t.lastIndexOf("|");-1!==o?r(t.substr(o+1))&&(t=t.substr(0,o)):r(t)&&(t="")}e.setAttr("alt",t||null),e.setAttr("width",0===n?null:String(n)),e.setAttr("height",0===i?null:String(i));var a=e.firstChild;a&&a.instanceOf(HTMLImageElement)&&(a.setAttr("alt",t||null),a.setAttr("width",0===n?null:String(n)),a.setAttr("height",0===i?null:String(i)))},Object.defineProperty(t.prototype,"estimatedHeight",{get:function(){return 100},enumerable:!1,configurable:!0}),t}(rF),MZ=function(e){function t(t,n,i,r){var o=e.call(this,t,n)||this;return o.installed=!1,o.rendered=!1,o.lang=i,o.code=r,o}return m(t,e),t.prototype.initDOM=function(e){var t=this,n=this,i=n.app,r=n.editor,o=n.code,a=n.lang,s=this.containerEl=createDiv("cm-preview-code-block cm-embed-block markdown-rendered cm-lang-"+a);s.tabIndex=-1;var l=s.createEl("pre"),c=l.createEl("code","language-"+a);if(ER.set(c,o),"mermaid"===a)kR(e.contentDOM,[c]);else if("query"===a)this.addChild(HR(i,o,l,r.path));else if(bR.codeBlockPostProcessors.hasOwnProperty(a)){s.empty();var u=s.createDiv("block-language-"+a),h=bR.codeBlockPostProcessors[a];try{h(o,u,{docId:cc(16),sourcePath:r.path,frontmatter:{},promises:[],addChild:function(e){return t.addChild(e)},getSectionInfo:function(n){return s.contains(n)?{lineStart:t.lineStart,lineEnd:t.lineEnd,text:e.state.doc.toString()}:null},replace:function(n){e.dispatch({changes:{from:e.state.doc.line(t.lineStart+1).from,to:e.state.doc.line(t.lineEnd+1).to,insert:n}})},replaceCode:function(n){t.code=n,ER.set(c,o);var i=t,r=i.start,a=i.end;t.end=r+n.length,e.dispatch({changes:{from:r,to:a,insert:n}})},containerEl:e.scrollDOM,el:u})}catch(e){console.error(e),new vx(lm.interface.msgCodeblockRenderError()),s.empty(),l=s.createEl("pre"),(c=l.createEl("code","language-"+a)).setText(o)}var p=UY(e.scrollDOM),d=s.findAll(".internal-embed:not(.is-loaded)");if(d.length>0)for(var f=0,m=d;f1){var a=c.last();a.deco===lZ&&(a.deco=uZ)}for(var l=0,u=c;l=s+2&&"]]"===t.doc.sliceString(s,s+2))return;if(v.has("formatting-link-end")&&i>=2&&"[["===t.doc.sliceString(i-2,i))return;var P=M||w||E||x||D||A;if(v.has("hmd-barelink")&&!v.has("hmd-footnote")&&(b=P=!1),M&&v.has("link")&&v.has("url"))return o(i,s)||h({from:i,to:s,deco:hZ}),s+1"===t.doc.sliceString(s,s+1)&&h({from:s,to:s+1,deco:uZ}),void(r=s+1);if((M&&v.has("link")&&"]"===u()||b&&w&&"("===u())&&(T=!0),(y||P)&&(r=s,b||P)){var L={from:i,to:s,deco:T?uZ:lZ};if(x){var I=t.doc.sliceString(i+1,i+2);L.deco=Vn.widget({widget:new wZ(I)})}else if(D){var O=(g=t.doc.lineAt(i)).text.match(pC);O&&O[6]||(L.deco=yZ,L.to=r=i+1)}else if(E){var F=u();C&&F.length>1&&F.startsWith("#")&&(h({from:i,to:i+1,deco:lZ}),L.from++),L.deco=hZ}else A&&(L.deco=hZ);h(L)}if(v.has("formatting-list-ol")&&(r=s,h({from:i,to:s,deco:bZ})),v.has("url")&&!b)d=u();else if(v.has("url")&&b&&d&&")"===u()&&!f){if(!KC(d)){var N=Array.from(v).map((function(e){return"cm-"+e})).join(" ")+" external-link";h({from:s,to:s,always:!0,deco:Vn.widget({widget:new kZ(N)})})}d=""}else d=""}}}),p(0)},u=this,h=0,p=e.visibleRanges;h=v&&Y===i.mapPos(v)){if(s?d.receiveUpdate(h,o):!r||d.receiveIncompleteUpdate(h,o)){c=d,x.remove(d);break}}}if(!ry(g,y,Y,Z)){c||(c=new GR(n,e,o,s));var b=Y>0&&Y>iC(h.newDoc)+1;C.push(w({widget:c,side:1,block:!0,inclusiveStart:b},Y,Z)),Yl.isAndroidApp&&Z!==m.length&&C.push(IZ.range(Z+1))}c&&(c.setPos(Y,Z),c.receiveSelection(h),a.push(c)),Y=-1,Z=-1}};return f.iterate({enter:function(t){var i=t.type,r=t.from,a=t.to,s=i.prop(Xd);if(s&&($(r),J(r)),s&&!(-1!==G||-1!==Y))if((re=new Set(s.split(" "))).has("hmd-codeblock"));else if(re.has("formatting-math-begin"))H=r,z=a,q=re.has("math-block");else if(-1!==H){if(re.has("formatting-math-end")){var h=r,p=a,d=q,f=m.sliceString(z,h);(v=UZ(T,(function(e){return e.math===f&&e.block===d})))||(v=new DZ(f,d)),l.push(v),v.setPos(d&&f.startsWith("\n")?z+1:z,d&&f.endsWith("\n")?h-1:h),d=d&&function(e,t){var n=m.lineAt(e),i=n.from,r=n.text,o=m.lineAt(t),a=o.from,s=o.text;return""===r.substr(0,e-i).trim()&&""===s.substr(t-a).trim()}(H,p),b(H,p)?q&&C.push(Vn.widget({widget:v,block:d,side:1}).range(p)):C.push(w({widget:v,block:d,side:1},H,p)),H=-1,z=-1}}else if(re.has("formatting-link-start"))P=re.has("formatting-embed"),L=r,I=a;else if(L>-1)if(re.has("hmd-internal-link"))F+=m.sliceString(r,a),O=a;else{if(re.has("formatting-link-end")&&F)if(P){var v=X(F,L,a);Q(v,L,a)}else{var g=nE(F).href;n.metadataCache.isUnresolved(lS(g),k)&&C.push(dZ.range(I,O))}F="",L=-1}else if(re.has("image-marker"))N=!0,V=r;else if(re.has("image-alt-text")&&!re.has("formatting"))R=m.sliceString(r,a);else if(N&&re.has("url")&&!re.has("formatting"))B=m.sliceString(r,a);else if(N&&B&&re.has("formatting")){v=void 0;if(KC(B=ZC(B))){var y=void 0;try{y=decodeURI(B)}catch(e){return}g=Jc(y).trim();v=X(g+"|"+R,V,a)}else{B=YC(B),Yl.isDesktopApp&&B.startsWith("file:///")&&(B=Yl.resourcePathPrefix+B.substr(8));var E=UZ(A,(function(e){return e.url===B&&e.title===R}));E||(E=new EZ(B,R)),u.push(E),E.setPos(V,a),v=E}Q(v,V,a),N=!1,B="",R="",V=-1}else if(re.has("hmd-html-begin"))U=r;else if(U>-1&&!_&&re.has("tag"))_=m.sliceString(r,a);else if(re.has("hmd-html-end")&&_&&!AZ.contains(_)){var M=a,x=m.sliceString(U,M),ee=m.lineAt(U),te=m.lineAt(M),ne=!Gv(_);if(m.sliceString(ee.from,U).trim()||m.sliceString(M,te.to).trim()||(U=ee.from,M=te.to),!b(U,M))(v=UZ(D,(function(e){return e.html===x&&e.block===ne})))||(v=new PZ(n,e,x,ne)),c.push(v),v.setPos(U,M),C.push(w({widget:v,block:ne,side:1},U,M));U=-1,_=""}else re.has("hr")&&(b(r,a)||C.push(w({widget:gZ,block:!0},r,a)));var ie=i.prop(Qd);if(ie){var re,oe=ie.split(" ");if((re=new Set(oe)).has("HyperMD-callout")&&re.has("HyperMD-quote-1")&&($(r),G=r,K=a),re.has("HyperMD-quote")&&-1!==G&&(r-K>1?$(r):K=a),re.has("HyperMD-table-row")&&($(r),r-Z>1&&J(r),-1===Y&&(Y=r),Z=a),re.has("HyperMD-codeblock-begin")&&-1===W){var ae=m.lineAt(r);W=r,j="";var se=ae.text;if(re.has("HyperMD-list-line")){var le=ae.text.match(pC);le&&(W=ae.from+le[0].length,se=se.slice(le[0].length))}var ce=se.match(sZ);ce&&(j=ce[2])}if(re.has("HyperMD-codeblock-end")&&-1!==W){var ue=W;if(W=-1,b(ue,a))return;if((te=m.lineAt(r)).number<=1)return;if((ee=m.lineAt(ue)).number>=m.lines)return;var he=m.line(ee.number+1).from,pe=m.line(te.number-1).to;pee.scrollDOM.clientHeight)if(n.clientX>e.scrollDOM.getBoundingClientRect().x+e.scrollDOM.clientWidth)return;var i=e.state.selection,r=e.state.doc,o=e.scrollDOM.scrollTop,a=e.plugin(oZ);if(a){a.mousedown=!0;var s=e.scrollDOM.doc,l=function(){s.removeEventListener("mouseup",c,t),s.removeEventListener("drag",u,t),a.mousedown=!1,e.state.selection.eq(i)&&e.state.doc.eq(r)&&e.scrollDOM.scrollTop===o||e.dom.win.setTimeout((function(){e.dispatch({annotations:[Qg.of(!0)],selection:e.state.selection})}),50)},c=function(e){0===e.button&&l()},u=function(){l()};s.addEventListener("mouseup",c,t),s.addEventListener("drag",u,t)}}};return e.scrollDOM.addEventListener("mousedown",n,t),{destroy:function(){e.scrollDOM.removeEventListener("mousedown",n,t)}}})),jo.domEventHandlers({focus:function(e,t){return BZ(t)},blur:function(e,t){return BZ(t)},touchstart:function(e,t){if(!t.hasFocus&&Yl.isIosApp){var n=e.target;if(n&&n.closest(".cm-underline"))return!0}},mousedown:function(e){if(0===e.button&&(Ag.isModifier(e,"Mod")||!e.shiftKey&&!e.altKey)){var t=e.targetNode;if(t.instanceOf(Element)){var n=t.matchParent('[draggable="true"]');if(n){n.setAttr("contenteditable",!1);var i=e.preventDefault;return e.preventDefault=function(){e.preventDefault=i},!0}}}}})],HZ=function(e){return zi.define((function(t){var n=e.app.workspace.on("post-processor-change",(function(){return BZ(t)}));return{destroy:function(){n.e.offref(n)}}}))},zZ=zi.define((function(e){return new FZ(e)}),{decorations:function(e){return e.decorations}}),qZ=zi.define((function(e){return new NZ(e)}),{decorations:function(e){return e.decorations}});function WZ(e,t){var n=RZ(e,t);function i(e,t,i){var r=e.doc.lineAt(t.head),o=r.number+(i?1:-1);if(o<1||o>e.doc.lines)return null;var a=e.doc.line(o),s=!0,l=null;if(e.field(n).between(a.from,a.to,(function(e,t,n){if(n.spec.block)return l||e>a.from||tMath.abs(u.head-a.head)?u:l}(a);return n&&(s=pe.range(a.anchor,s.head,s.goalColumn)),s})),a.mainIndex);return s.eq(o.selection)||e.dispatch(o.update({selection:s,scrollIntoView:!0,userEvent:"select"})),!0}var o=Te.high(Qo.of([{key:"ArrowUp",run:function(e){return r(e,!1,!1)},shift:function(e){return r(e,!0,!1)}},{key:"ArrowDown",run:function(e){return r(e,!1,!0)},shift:function(e){return r(e,!0,!0)}}])),a=Te.low(zi.define((function(e){return e.getNextPosUpDown=i,{destroy:function(){delete e.getNextPosUpDown}}}))),s=[];if(Yl.isMobile){var l=wc((function(){var e=t.plugin(oZ);e&&(e.mousedown=!1,t.dom.removeClass("dragging-mobile-cursor"),t.dispatch({effects:rZ.of()}))}),700,!0);s.push(jo.updateListener.of((function(e){e.docChanged?l.run():e.transactions.some((function(e){return e.isUserEvent("select")}))&&(t.plugin(oZ).mousedown=!0,t.dom.addClass("dragging-mobile-cursor"),l())})))}return k(k([oZ],s,!0),[zZ,qZ,n,o,VZ,HZ(e),a,KR(e,n),GR.cellSanitizerPlugin(e),GR.detectSurroundingClick(n)],!1)}var jZ=function(e){function t(t,n){var i=e.call(this,t)||this;return i.onSubmit=n,i.setPlaceholder(lm.callout.optionOtherPlaceholder()),i.setInstructions([{command:"↑↓",purpose:lm.plugins.commandPalette.instructionNavigate()},{command:"↵",purpose:lm.plugins.commandPalette.instructionUse()},{command:"esc",purpose:lm.plugins.commandPalette.instructionDismiss()}]),i.scope.register(null,"Tab",(function(){return!1})),i.scope.register(null,"Enter",(function(e){if(!e.isComposing)return i.selectActiveSuggestion(e),!1})),i}return m(t,e),t.prototype.getItemText=function(e){return e},t.prototype.getItems=function(){return iZ},t.prototype.getSuggestions=function(t){var n=e.prototype.getSuggestions.call(this,t);return 0===n.length?[{item:t,match:{score:0,matches:[]}}]:n},t.prototype.onChooseItem=function(e,t){this.onSubmit(e)},t}(tZ);function UZ(e,t){for(var n=0;nr?t.from:1e8)):(r=t.from,n=t.to,c.push(t),e++);eo.from||o.to==r)){n=Math.min(o.from,n);break}c.push(o),e++,n=Math.min(o.to,n)}var h=FX(c);if(c.some((function(e){return e.from==e.to||e.from==e.to-1&&i.doc.lineAt(e.from).to==e.from})))l.add(r,r,Vn.widget({widget:new TX(h),diagnostics:c.slice()}));else{var p=c.reduce((function(e,t){return t.markClass?e+" "+t.markClass:e}),"");l.add(r,n,Vn.mark({class:"cm-lintRange cm-lintRange-"+h+p,diagnostics:c.slice(),inclusiveEnd:c.some((function(e){return e.to>n}))}))}u=n;for(var d=0;d0?1:0),(function(e,r,s){var l=s.spec;if(t>=e&&t<=r&&(e==r||(t>e||n>0)&&(to)&&(o=e,a=t)})),null!=o&&(null!=i||o!=s.from)&&(e.dispatch({selection:{anchor:null!=i?i:o,head:null!=r?r:a},scrollIntoView:!0}),!0)},wX=[{key:"Mod-Shift-m",run:vX,preventDefault:!0},{key:"F8",run:yX}],kX=zi.fromClass(function(){function e(e){this.view=e,this.timeout=-1,this.set=!0;var t=e.state.facet(CX).delay;this.lintTime=Date.now()+t,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,t)}return e.prototype.run=function(){var e=this;clearTimeout(this.timeout);var t=Date.now();if(t=65&&n.keyCode<=90&&t.selectedIndex>=0))return;for(var i=t.items[t.selectedIndex].diagnostic,r=MX(i.actions),o=0;or&&(e.items.splice(r,p-r),o=!0)),i&&d.diagnostic==i.diagnostic?d.dom.hasAttribute("aria-selected")||(d.dom.setAttribute("aria-selected","true"),a=d):d.dom.hasAttribute("aria-selected")&&d.dom.removeAttribute("aria-selected"),r++}}}));ri.bottom&&(e.list.scrollTop+=(n.bottom-i.bottom)/r)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),o&&this.sync()},e.prototype.sync=function(){var e=this.list.firstChild;function t(){var t=e;e=t.nextSibling,t.remove()}for(var n=0,i=this.items;n").concat(encodeURIComponent(e),"')")}function LX(e){return PX(''),'width="6" height="3"')}var IX=jo.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:LX("#d11")},".cm-lintRange-warning":{backgroundImage:LX("orange")},".cm-lintRange-info":{backgroundImage:LX("#999")},".cm-lintRange-hint":{backgroundImage:LX("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function OX(e){return"error"==e?4:"warning"==e?3:"info"==e?2:1}function FX(e){for(var t="hint",n=1,i=0,r=e;in&&(n=a,t=o.severity)}return t}var NX=function(e){function t(t){var n=e.call(this)||this;return n.diagnostics=t,n.severity=FX(t),n}return m(t,e),t.prototype.toDOM=function(e){var t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;var n=this.diagnostics,i=e.state.facet(jX).tooltipFilter;return i&&(n=i(n,e.state)),n.length&&(t.onmouseover=function(){return function(e,t,n){function i(){var i=e.elementAtHeight(t.getBoundingClientRect().top+5-e.documentTop);e.coordsAtPos(i.from)&&e.dispatch({effects:HX.of({pos:i.from,above:!1,clip:!1,create:function(){return{dom:mX(e,n),getCoords:function(){return t.getBoundingClientRect()}}}})}),t.onmouseout=t.onmousemove=null,function(e,t){var n=function(i){var r=t.getBoundingClientRect();if(!(i.clientX>r.left-10&&i.clientXr.top-10&&i.clientYn.from&&e')},".cm-lint-marker-warning":{content:PX('')},".cm-lint-marker-error":{content:PX('')}}),WX=[hX,jo.decorations.compute([hX],(function(e){var t=e.field(hX),n=t.selected,i=t.panel;return n&&i&&n.from!=n.to?Vn.set([dX.range(n.from,n.to)]):Vn.none})),hs(fX,{hideOn:oX}),IX],jX=me.define({combine:function(e){return it(e,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function UX(e){return void 0===e&&(e={}),[jX.of(e),VX,BX,qX,zX]}function _X(e,t){var n=e.field(hX,!1);if(n&&n.diagnostics.size)for(var i=[],r=[],o=-1,a=lt.iter([n.diagnostics]);;a.next()){for(var s=0;st.some((t=>e instanceof t));let KX,YX;const ZX=new WeakMap,XX=new WeakMap,QX=new WeakMap;let $X={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return ZX.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return nQ(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function JX(e){$X=e($X)}function eQ(e){return(YX||(YX=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(iQ(this),t),nQ(this.request)}:function(...t){return nQ(e.apply(iQ(this),t))}}function tQ(e){return"function"==typeof e?eQ(e):(e instanceof IDBTransaction&&function(e){if(ZX.has(e))return;const t=new Promise(((t,n)=>{const i=()=>{e.removeEventListener("complete",r),e.removeEventListener("error",o),e.removeEventListener("abort",o)},r=()=>{t(),i()},o=()=>{n(e.error||new DOMException("AbortError","AbortError")),i()};e.addEventListener("complete",r),e.addEventListener("error",o),e.addEventListener("abort",o)}));ZX.set(e,t)}(e),GX(e,KX||(KX=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,$X):e)}function nQ(e){if(e instanceof IDBRequest)return function(e){const t=new Promise(((t,n)=>{const i=()=>{e.removeEventListener("success",r),e.removeEventListener("error",o)},r=()=>{t(nQ(e.result)),i()},o=()=>{n(e.error),i()};e.addEventListener("success",r),e.addEventListener("error",o)}));return QX.set(t,e),t}(e);if(XX.has(e))return XX.get(e);const t=tQ(e);return t!==e&&(XX.set(e,t),QX.set(t,e)),t}const iQ=e=>QX.get(e);function rQ(e,t,{blocked:n,upgrade:i,blocking:r,terminated:o}={}){const a=indexedDB.open(e,t),s=nQ(a);return i&&a.addEventListener("upgradeneeded",(e=>{i(nQ(a.result),e.oldVersion,e.newVersion,nQ(a.transaction),e)})),n&&a.addEventListener("blocked",(e=>n(e.oldVersion,e.newVersion,e))),s.then((e=>{o&&e.addEventListener("close",(()=>o())),r&&e.addEventListener("versionchange",(e=>r(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),s}const oQ=["get","getKey","getAll","getAllKeys","count"],aQ=["put","add","delete","clear"],sQ=new Map;function lQ(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(sQ.get(t))return sQ.get(t);const n=t.replace(/FromIndex$/,""),i=t!==n,r=aQ.includes(n);if(!(n in(i?IDBIndex:IDBObjectStore).prototype)||!r&&!oQ.includes(n))return;const o=async function(e,...t){const o=this.transaction(e,r?"readwrite":"readonly");let a=o.store;return i&&(a=a.index(t.shift())),(await Promise.all([a[n](...t),r&&o.done]))[0]};return sQ.set(t,o),o}JX((e=>({...e,get:(t,n,i)=>lQ(t,n)||e.get(t,n,i),has:(t,n)=>!!lQ(t,n)||e.has(t,n)})));const cQ=["continue","continuePrimaryKey","advance"],uQ={},hQ=new WeakMap,pQ=new WeakMap,dQ={get(e,t){if(!cQ.includes(t))return e[t];let n=uQ[t];return n||(n=uQ[t]=function(...e){hQ.set(this,pQ.get(this)[t](...e))}),n}};async function*fQ(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;const n=new Proxy(t,dQ);for(pQ.set(n,t),QX.set(n,iQ(t));t;)yield n,t=await(hQ.get(n)||t.continue()),hQ.delete(n)}function mQ(e,t){return t===Symbol.asyncIterator&&GX(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&GX(e,[IDBIndex,IDBObjectStore])}function vQ(e){return"md"===ou(eu(e))&&(e=e.substring(0,e.length-3)),e}JX((e=>({...e,get:(t,n,i)=>mQ(t,n)?fQ:e.get(t,n,i),has:(t,n)=>mQ(t,n)||e.has(t,n)})));var gQ=function(e,t){return e.path.length-t.path.length},yQ=function(e,t){if(!t)return!1;for(var n=0,i=Object.keys(t);n100&&e.contains(" ")))}var wQ=function(){function e(e){this.cache={},this.app=e}return e.prototype.clear=function(){this.cache={}},e.prototype.getForFile=function(e,t){return y(this,void 0,Promise,(function(){var n,i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,y;return b(this,(function(b){switch(b.label){case 0:return"md"!==t.extension?[2,null]:(n=t.stat.mtime,(i=this.cache).hasOwnProperty(t.path)&&(r=i[t.path]).file===t&&r.mtime===n?[2,r]:[4,this.app.vault.cachedRead(t)]);case 1:if(o=b.sent(),e.isCancelled())return[2,null];a=IE(o),s=[],b.label=2;case 2:b.trys.push([2,7,8,13]),l=!0,c=S(Px(Ax(a.children),{maxDelay:0})),b.label=3;case 3:return[4,c.next()];case 4:if(u=b.sent(),m=u.done)return[3,6];if(y=u.value,l=!1,h=y,e.isCancelled())return[3,6];if("yaml"===h.type)return[3,5];if("list"===h.type)return _k(h,"listItem",(function(e){var t=KE(e).trim();t&&s.push({display:t,node:e})})),[3,5];if(""===(p=KE(h).trim()))return[3,5];"heading"===h.type&&(p=Array(h.depth||1).fill("#").join("")+" "+p),s.push({display:p,node:h}),b.label=5;case 5:return l=!0,[3,3];case 6:return[3,13];case 7:return d=b.sent(),v={error:d},[3,13];case 8:return b.trys.push([8,,11,12]),l||m||!(g=c.return)?[3,10]:[4,g.call(c)];case 9:b.sent(),b.label=10;case 10:return[3,12];case 11:if(v)throw v.error;return[7];case 12:return[7];case 13:return f={file:t,content:o,mtime:n,blocks:s},i[t.path]=f,[2,f]}}))}))},e.prototype.getAll=function(e){return E(this,arguments,(function(){var t,n,i,r,o;return b(this,(function(a){switch(a.label){case 0:t=this.app.vault,n=t.getMarkdownFiles(),i=0,r=n,a.label=1;case 1:return i500&&(f=f.substring(0,500)),t[f]||(t[f]=!0,e.push({file:null,path:f})))}return e},t.prototype.getTags=function(){var e=this.fileCache,t=this.metadataCache,n={},i=function(e){if(e.endsWith("/")&&(e=e.slice(0,-1)),Jk(e)){var t=e.split("/").last();n[e]=(n[e]||0)+1,t!==e&&i(e.substr(0,e.length-t.length-1))}};for(var r in e)if(e.hasOwnProperty(r)&&!this.isUserIgnored(r)){var o=t[e[r].hash];if(o){var a=dS(o);if(a)for(var s=0,l=a;sd.max&&(d.max=p,d.tag=c)}else u[h]={tag:c,count:p,max:p}}for(var c in n={},u)if(u.hasOwnProperty(c)){var f=u[c];n[f.tag]=f.count}return n},t.prototype.isUnresolved=function(e,t){return!!this.initialized&&!this.getFirstLinkpathDest(e,t)},t.prototype.getFirstLinkpathDest=function(e,t){var n=this.getLinkpathDest(e,t);return n.length>0?n[0]:null},t.prototype.getLinkpathDest=function(e,t){if(""===e&&t&&(f=this.vault.getAbstractFileByPath(t))instanceof zC)return[f];var n=e.toLowerCase(),i=eu(n),r=null;if(i.contains(".")&&(r=this.uniqueFileLookup.get(i)),r||(i=eu(n=(e+".md").toLowerCase()),r=this.uniqueFileLookup.get(i)),!r)return[];if(i===n&&1===r.length)return r.slice();var o=tu(t).toLowerCase();if(n.startsWith("./")||n.startsWith("../")){if(n.startsWith("./../")&&(n=n.substr(2)),n.startsWith("./"))""!==o&&(o+="/"),n=o+n.substring(2);else{for(;n.startsWith("../");)n=n.substr(3),o=tu(o);""!==o&&(o+="/"),n=o+n}for(var a=0,s=r;a0&&this.isCacheClean();){var e=this.onCleanCacheCallbacks.shift();try{e()}catch(e){console.error(e)}}},t.prototype.isCacheClean=function(){return 0===this.inProgressTaskCount&&0===this.linkResolverQueue.items.length&&!this.linkResolverQueue.runnable.isRunning()},t.prototype.updateRelatedLinks=function(e){for(var t=[],n=0,i=e=e.map((function(e){return e.toLowerCase()}));n2&&o.startsWith("/")&&o.endsWith("/")?n.push(new RegExp(o.substring(1,o.length-1),"i")):n.push(new RegExp("^"+oc(o),"i"))}catch(e){console.error("Bad regex for user ignore filter",e)}}else this.userIgnoreFilters=null},t.prototype.isSupportedFile=function(e){var t=this.app;return!!t.vault.getConfig("showUnsupportedFiles")||t.viewRegistry.isExtensionRegistered(e.extension)},t.prototype.isUserIgnored=function(e){var t=this.userIgnoreFilters,n=this.userIgnoreFilterCache;if(!t)return!1;if(Object.hasOwn(n,e))return n[e];for(var i=!1,r=0,o=t;r0&&(i.appendChild(a({title:"What's new in v".concat(this.version),type:"attention",onClick:function(e){return u.showPatchNotes(e,u.version)}})),r.last()>1&&i.appendChild(a({title:"Other versions",type:""},(function(e){for(var t=function(t){var n=k(k([],o.slice(0,-1),!0),[t],!1).join(".");e.appendChild(a({title:"What's new in v".concat(n),type:"info",onClick:function(e){return u.showPatchNotes(e,n)}}))},n=r.last()-1;n>=0;n--)t(n)}))),i.createEl("hr")),s=r.slice(0,-1),[4,this.fetchReleaseNotes(s.join("."))];case 1:return l=h.sent(),c=VE(RE(IE(l))),i.createEl("h1",{text:"What's new in v".concat(s.join("."))}),i.appendChild(MM(c)),IQ(i,FQ),i.createEl("section",{cls:"footnotes"},(function(e){e.createEl("hr"),e.createEl("p",{cls:"footnote",text:"A complete list of previous changes can be found on "},(function(e){e.createEl("a",{href:"https://obsidian.md/changelog",text:"our changelog",cls:"external-link"}),e.appendText(".")}))})),[2]}}))}))},t}(zg);const RQ=NQ;var BQ=function(e){function t(){var t=e.call(this)||this;return t.viewByType={},t.typeByExtension={},t.registerViewWithExtensions(PM,U0.VIEW_TYPE,(function(e){return new U0(e)})),t.registerViewWithExtensions(xM,gY.VIEW_TYPE,(function(e){return new gY(e)})),t.registerViewWithExtensions(TM,mY.VIEW_TYPE,(function(e){return new mY(e)})),t.registerViewWithExtensions(DM,qY.VIEW_TYPE,(function(e){return new qY(e)})),t.registerViewWithExtensions(AM,VY.VIEW_TYPE,(function(e){return new VY(e)})),t.registerView(OQ,(function(e){return new RQ(e)})),t}return m(t,e),t.prototype.registerView=function(e,t){var n=this.viewByType;if(n.hasOwnProperty(e))throw new Error('Attempting to register an existing view type "'.concat(e,'"'));n[e]=t,this.trigger("view-registered",e)},t.prototype.unregisterView=function(e){var t=this.viewByType;t.hasOwnProperty(e)&&(delete t[e],this.trigger("view-unregistered",e))},t.prototype.registerExtensions=function(e,t){for(var n=this.typeByExtension,i=0,r=e;i=0;r--){var o=this.data[r]>>>7&255;this.data[r]=this.data[r]<<1|i,i=o}this.data[e.SIZE-1]^=(t=i,n=e.R,~(t-1)&n|t-1&0),i=0},e.SIZE=16,e.R=135,e}();const YQ=KQ;var ZQ=window.crypto.subtle,XQ=function(){function e(e){this.key=e}return e.importKey=function(t,n){return y(this,void 0,Promise,(function(){return b(this,(function(i){switch(i.label){case 0:return[4,ZQ.deriveKey({name:"HKDF",salt:n,info:(new TextEncoder).encode("ObsidianAesSivEnc"),hash:"SHA-256"},t,{name:"AES-CTR",length:256},!1,["encrypt"])];case 1:return[2,new e(i.sent())]}}))}))},e.prototype.encryptCtr=function(e,t){return y(this,void 0,Promise,(function(){var n;return b(this,(function(i){switch(i.label){case 0:return[4,ZQ.encrypt({name:"AES-CTR",counter:e,length:16},this.key,t)];case 1:return n=i.sent(),[2,new Uint8Array(n)]}}))}))},e}();const QQ=XQ;var $Q=function(){function e(e){this._key=e,this._iv=new YQ,this._emptyPromise=Promise.resolve(this)}return e.importKey=function(t,n){return y(this,void 0,Promise,(function(){return b(this,(function(i){switch(i.label){case 0:return[4,ZQ.deriveKey({name:"HKDF",salt:n,info:(new TextEncoder).encode("ObsidianAesSivMac"),hash:"SHA-256"},t,{name:"AES-CBC",length:256},!1,["encrypt"])];case 1:return[2,new e(i.sent())]}}))}))},e.prototype.clear=function(){return this},e.prototype.encryptBlock=function(e){return y(this,void 0,Promise,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:return t={name:"AES-CBC",iv:this._iv.data},[4,ZQ.encrypt(t,this._key,e.data)];case 1:return n=i.sent(),e.data.set(new Uint8Array(n,0,YQ.SIZE)),[2,this._emptyPromise]}}))}))},e}();const JQ=$Q;var e$=function(){function e(e,t,n){this._cipher=e,this._subkey1=t,this._subkey2=n,this._bufferPos=0,this._finished=!1,this._buffer=new YQ}return e.importKey=function(t,n){return y(this,void 0,Promise,(function(){var i,r,o;return b(this,(function(a){switch(a.label){case 0:return[4,JQ.importKey(t,n)];case 1:return i=a.sent(),r=new YQ,[4,i.encryptBlock(r)];case 2:return a.sent(),r.dbl(),(o=r.clone()).dbl(),[2,function(){return new e(i,r,o)}]}}))}))},e.prototype.update=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r;return b(this,(function(o){switch(o.label){case 0:if(this._finished)throw new Error("Cannot update finished CMAC");if(t=YQ.SIZE-this._bufferPos,n=0,!((i=e.length)>t))return[3,2];for(r=0;rYQ.SIZE))return[3,4];for(r=0;r>>8}(a,s))throw _Q(i),new UQ("AES-SIV: ciphertext verification failure!");return[2,i]}var a,s}))}))},e.prototype._s2v=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r,o,a;return b(this,(function(s){switch(s.label){case 0:return t=this.cmacFactory(),n=new YQ,i=new YQ,[4,t.update(n.data)];case 1:return s.sent(),o=(r=i.data).set,[4,t.finish()];case 2:return o.apply(r,[s.sent()]),t=this.cmacFactory(),n.clear(),e.length>=YQ.SIZE?(a=e.length-YQ.SIZE,n.data.set(e.subarray(a)),[4,t.update(e.subarray(0,a))]):[3,4];case 3:return s.sent(),[3,5];case 4:n.data.set(e),n.data[e.length]=128,i.dbl(),s.label=5;case 5:return GQ(n.data,i.data),[4,t.update(n.data)];case 6:return s.sent(),[2,t.finish()]}}))}))},e}();function n$(e){e[e.length-8]&=127,e[e.length-4]&=127}var i$=32768,r$={N:i$,r:8,p:1,maxmem:67108864};function o$(e,t){return y(this,void 0,Promise,(function(){var n;return b(this,(function(i){switch(i.label){case 0:return e=e.normalize("NFKC"),t=t.normalize("NFKC"),(n=window.require&&window.require("crypto"))?[4,new Promise((function(i,r){n.scrypt(Buffer.from(e,"utf8"),Buffer.from(t,"utf8"),32,r$,(function(e,t){e?r(e):i(t)}))}))]:[3,2];case 1:return[2,fu(i.sent())];case 2:return[4,window.scrypt.scrypt(new Uint8Array(bf(e)),new Uint8Array(bf(t)),i$,8,1,32)];case 3:return[2,yf(i.sent())]}}))}))}function a$(e,t,n){return y(this,void 0,Promise,(function(){return b(this,(function(i){switch(e){case 0:return[2,l$.init(t)];case 2:case 3:return[2,c$.init(t,n,e)];default:throw new Error("Encryption version not supported")}return[2]}))}))}function s$(e,t,n){return y(this,void 0,Promise,(function(){var i,r,o,a;return b(this,(function(s){switch(s.label){case 0:switch(n){case 0:return[3,1];case 2:case 3:return[3,3]}return[3,7];case 1:return i=Df,[4,xf(e)];case 2:return[2,i.apply(void 0,[s.sent()])];case 3:return[4,HQ.importKey("raw",e,"HKDF",!1,["deriveKey"])];case 4:return r=s.sent(),[4,HQ.deriveKey({name:"HKDF",salt:bf(t),info:bf("ObsidianKeyHash"),hash:"SHA-256"},r,{name:"AES-CBC",length:256},!0,["encrypt"])];case 5:return o=s.sent(),a=Df,[4,HQ.exportKey("raw",o)];case 6:return[2,a.apply(void 0,[s.sent()])];case 7:throw new Error("Encryption version not supported")}}))}))}var l$=function(){function e(e,t){this.encryptionVersion=0,this.keyHash=e,this.cryptoKey=t}return e.init=function(t){return y(this,void 0,Promise,(function(){var n,i,r;return b(this,(function(o){switch(o.label){case 0:if(32!==t.byteLength)throw new Error("Invalid encryption key");return i=Df,[4,xf(t)];case 1:return n=i.apply(void 0,[o.sent()]),[4,qQ(t)];case 2:return r=o.sent(),[2,new e(n,r)]}}))}))},e.prototype.deterministicEncodeStr=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r;return b(this,(function(o){switch(o.label){case 0:return[4,xf(t=bf(e))];case 1:return n=o.sent(),i=new Uint8Array(n,0,12),r=Df,[4,WQ(t,this.cryptoKey,i)];case 2:return[2,r.apply(void 0,[o.sent()])]}}))}))},e.prototype.deterministicDecodeStr=function(e){return y(this,void 0,Promise,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:return t=Tf(e),n=wf,[4,jQ(t,this.cryptoKey)];case 1:return[2,n.apply(void 0,[i.sent()])]}}))}))},e.prototype.encrypt=function(e){return y(this,void 0,Promise,(function(){return b(this,(function(t){return[2,WQ(e,this.cryptoKey)]}))}))},e.prototype.decrypt=function(e){return y(this,void 0,Promise,(function(){return b(this,(function(t){return[2,jQ(e,this.cryptoKey)]}))}))},e}(),c$=function(){function e(e,t,n,i){if(this.keyHash=e,this.cryptoKey=t,this.siv=n,2!==i&&3!==i)throw new Error("Invalid encryption version");this.encryptionVersion=i}return e.init=function(t,n,i){return y(this,void 0,Promise,(function(){var r,o,a,s,l,c,u;return b(this,(function(h){switch(h.label){case 0:if(32!==t.byteLength)throw new Error("Invalid encryption key");return[4,HQ.importKey("raw",t,"HKDF",!1,["deriveKey"])];case 1:return r=h.sent(),o=bf(n),[4,HQ.deriveKey({name:"HKDF",salt:o,info:bf("ObsidianKeyHash"),hash:"SHA-256"},r,{name:"AES-CBC",length:256},!0,["encrypt"])];case 2:return a=h.sent(),l=Df,[4,HQ.exportKey("raw",a)];case 3:return s=l.apply(void 0,[h.sent()]),[4,t$.importKey(r,o)];case 4:return c=h.sent(),[4,HQ.deriveKey({name:"HKDF",salt:new Uint8Array,info:bf("ObsidianAesGcm"),hash:"SHA-256"},r,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])];case 5:return u=h.sent(),[2,new e(s,u,c,i)]}}))}))},e.prototype.deterministicEncodeStr=function(e){return y(this,void 0,Promise,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return t=bf(e),[4,this.siv.seal(new Uint8Array(t))];case 1:return[2,Df(yf(n.sent()))]}}))}))},e.prototype.deterministicDecodeStr=function(e){return y(this,void 0,Promise,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return t=Tf(e),[4,this.siv.open(new Uint8Array(t))];case 1:return[2,wf(yf(n.sent()))]}}))}))},e.prototype.encrypt=function(e){return y(this,void 0,Promise,(function(){return b(this,(function(t){return[2,WQ(e,this.cryptoKey)]}))}))},e.prototype.decrypt=function(e){return y(this,void 0,Promise,(function(){return b(this,(function(t){return[2,jQ(e,this.cryptoKey)]}))}))},e}(),u$="https://"+[String.fromCharCode(97,112,105),"obsidian","md"].join(".");Vf&&(u$="http://127.0.0.1:3000");var h$="obsidian-account",p$=window.fetch,d$=function(e){function t(n){var i=e.call(this,n.error)||this;return i.response=n,i.error=n.error,Object.setPrototypeOf(i,t.prototype),i}return m(t,e),t}(Error);function f$(e,t){return y(this,void 0,void 0,(function(){var n;return b(this,(function(i){switch(i.label){case 0:return[4,p$(u$+e,{method:"POST",body:JSON.stringify(t),headers:{"Content-Type":"application/json"}})];case 1:return[4,i.sent().json()];case 2:if("error"in(n=i.sent()))throw new d$(n);return[2,n]}}))}))}function m$(e,t,n,i){return y(this,void 0,Promise,(function(){return b(this,(function(r){return[2,f$("/user/signup",{email:e,password:t,name:n,next:i})]}))}))}function v$(e){return y(this,void 0,Promise,(function(){return b(this,(function(t){return[2,f$("/user/forgetpass",{email:e,captcha:"captcha"})]}))}))}function g$(e,t){return y(this,void 0,Promise,(function(){return b(this,(function(n){return[2,f$("/user/resendconfirmation",{email:e,next:t})]}))}))}function y$(e,t){return y(this,void 0,Promise,(function(){var n;return b(this,(function(i){switch(i.label){case 0:return[4,f$("/user/authtoken",{token:t})];case 1:return(n=i.sent()).token&&(e.token=n.token,e.email=n.email,e.name=n.name,e.license=n.license,e.save()),[2,n]}}))}))}function b$(e){return y(this,void 0,Promise,(function(){return b(this,(function(t){return[2,f$("/subscription/sync/signup-mobile",{token:e})]}))}))}function w$(e,t,n,i){return y(this,void 0,Promise,(function(){var r;return b(this,(function(o){switch(o.label){case 0:return[4,f$("/user/signin",{email:t,password:n,mfa:i})];case 1:return(r=o.sent()).token&&(e.token=r.token,e.email=r.email,e.name=r.name,e.license=r.license,e.save()),[2,r]}}))}))}function k$(e){return y(this,void 0,Promise,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,f$("/user/signout",{token:e.token})];case 1:return n.sent(),[3,3];case 2:if("Not logged in"!==(t=n.sent()).message)throw t;return[3,3];case 3:return e.token="",e.email="",e.name="",e.license="",e.save(),[2]}}))}))}function C$(e){return y(this,void 0,Promise,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:if(!e.token)return[2,null];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,f$("/user/info",{token:e.token})];case 2:return t=i.sent(),e.email=t.email,e.name=t.name,e.license=t.license,e.save(),[2,t];case 3:throw"Not logged in"===(n=i.sent()).message&&(e.email=null,e.name=null,e.token=null,e.license=null,e.save()),n;case 4:return[2]}}))}))}function E$(e){return y(this,void 0,Promise,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:if(!e.key)return[2];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,f$("/subscription/business",{key:e.key})];case 2:return t=i.sent(),e.keyValidation="valid",e.company=t.company,e.expiry=t.expiry,e.seats=t.seats,e.save(),[3,4];case 3:return(n=i.sent())instanceof d$&&(e.key=null,e.keyValidation=n.error,e.save()),[3,4];case 4:return[2]}}))}))}function S$(e,t){return y(this,void 0,Promise,(function(){return b(this,(function(n){switch(n.label){case 0:return[4,f$("/vault/regions",{token:e,host:t})];case 1:return[2,n.sent().regions]}}))}))}function M$(e){void 0===e.encryption_version&&(e.encryption_version=0)}function x$(e){return y(this,void 0,Promise,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return[4,f$("/vault/list",{token:e,supported_encryption_version:3})];case 1:return(t=n.sent()).vaults.forEach(M$),t.shared.forEach(M$),[2,t]}}))}))}function T$(e,t,n,i,r,o){return y(this,void 0,Promise,(function(){var a;return b(this,(function(s){switch(s.label){case 0:return[4,f$("/vault/create",{token:e,name:t,keyhash:n,salt:i,region:r,encryption_version:o})];case 1:return M$(a=s.sent()),[2,a]}}))}))}function D$(e,t,n,i,r,o){return f$("/vault/migrate",{token:e,vault_uid:t,keyhash:n,salt:i,region:r,encryption_version:o})}function A$(e,t,n){return f$("/vault/rename",{token:e,vault_uid:t,name:n})}function P$(e,t,n){return f$("/vault/share/remove",{token:e,vault_uid:t,share_uid:n})}function L$(e,t,n,i,r){return f$("/vault/access",{token:e,vault_uid:t,keyhash:n,host:i,encryption_version:r})}function I$(e,t){return f$("/publish/delete",{token:e,site_uid:t})}function O$(e,t,n){return f$("/publish/share/invite",{token:e,site_uid:t,email:n})}function F$(e,t,n){return f$("/publish/share/remove",{token:e,site_uid:t,share_uid:n})}function N$(e){return f$("/subscription/list",{token:e})}var R$,B$,V$=new(function(){function e(){this.keyValidation="",this.company="",this.expiry=0,this.seats=0;try{var e=JSON.parse(localStorage.getItem(h$));this.email=e.email,this.name=e.name,this.token=e.token,this.license=e.license,this.key=e.key}catch(e){}}return e.prototype.save=function(){var e={email:this.email,name:this.name,token:this.token,license:this.license,key:this.key};localStorage.setItem(h$,JSON.stringify(e))},e.prototype.setKey=function(e){this.key=e,this.save()},e}());!function(e){e.Heavy="HEAVY",e.Medium="MEDIUM",e.Light="LIGHT"}(R$||(R$={})),function(e){e.Success="SUCCESS",e.Warning="WARNING",e.Error="ERROR"}(B$||(B$={}));var H$=["image","audio","pdf","video"],z$=["app","appearance","appearance-data","hotkey","core-plugin","core-plugin-data"],q$="";function W$(){return Df(VQ.getRandomValues(new Uint8Array(16)))}function j$(e,t,n){return y(this,void 0,Promise,(function(){return b(this,(function(i){switch(i.label){case 0:return[4,o$(e,t)];case 1:return[4,s$(i.sent(),t,n)];case 2:return[2,i.sent()]}}))}))}function U$(e,t,n,i,r){return y(this,void 0,void 0,(function(){var o;return b(this,(function(a){switch(a.label){case 0:return[4,j$(t,n,r)];case 1:return o=a.sent(),[4,L$(V$.token,e,o,i,r)];case 2:return a.sent(),[2]}}))}))}vm&&y(void 0,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return[4,Sm.getInfo()];case 1:return e=t.sent(),q$=e.name,[2]}}))}));var _$="obsidian://";function G$(e){if(!e.startsWith(_$))return null;console.log("Received callback URL",e);var t={};if((e=e.substr(11)).startsWith("vault/")){var n=(e=e.substr(6)).split("/").map((function(e){return decodeURIComponent(e)}));t.action="open",t.vault=n[0],t.file=n.slice(1).join("/")}else{var i="",r="",o=e.indexOf("?"),a=e.indexOf("#",Math.max(0,o));a>=0&&(r=e.substr(a+1),e=e.substr(0,a),t.hash=r),o>=0&&(i=e.substr(o+1),e=e.substr(0,o));for(var s=0,l=i.split("&");s1&&(c=decodeURIComponent(n[1])),t[decodeURIComponent(n[0])]=c}t.action=e.replace(/\/+$/g,"")}return t}function K$(e){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttrs({viewBox:"0 0 512 512",width:String(e),height:String(e),fill:"none"}),t.innerHTML='',t}var Y$=lm.interface.startScreen.mobile;function Z$(e,t){for(var n=/(\*\*(.*?)\*\*)/g,i=0,r=t.split("\n");i0&&(i.createDiv({cls:"list-heading",text:lm.plugins.sync.labelVaultsSharedWithYou()}),i.createDiv("list-container has-row-lines",(function(e){for(var n=t.shared,i=0;i0||o.shared.length>0?this.controller.goTo(new sJ(o)):this.controller.goTo(new nJ("obsidian-sync")),f.label=6;case 6:return i.setValue(""),n.setValue(""),[3,9];case 7:return(h=f.sent())instanceof d$?(d=h.error).contains("2FA code is incorrect")?this.controller.showError(lm.setting.account.mfaVerificationFailed()):d.contains("2FA code")?(l.containerEl.hide(),c.containerEl.hide(),u.containerEl.show()):this.controller.showError(d):this.controller.showError(lm.setting.account.messageLoginFailed()),[3,9];case 8:return r.removeClass("mod-loading"),[7];case 9:return[2]}}))}))}));return new IT(r.footerEl).setButtonText(Y$.buttonForgotPassword()).onClick((function(){return r.controller.goTo(new uJ(t))})),r}return m(t,e),t.prototype.getTitle=function(){return Y$.labelSignIn()},t}(X$),uJ=function(e){function t(t){void 0===t&&(t="");var n=e.call(this)||this,i=n.formEl;new Q$(i).setName(lm.setting.account.labelEmail()).addText((function(e){return e.setValue(t).setPlaceholder(lm.setting.account.placeholderEmail()).onChange((function(e){return t=e})).then((function(e){return e.inputEl.type="email"}))}));var r=n.contentEl.createDiv("button-container"),o=new IT(r).setCta().setButtonText(Y$.buttonResetPassword()).onClick((function(e){return y(n,void 0,void 0,(function(){var n,i;return b(this,(function(r){switch(r.label){case 0:if(e.preventDefault(),""===t)return this.controller.showError(lm.setting.account.messageEmptyEmail()),[2];if(-1===t.indexOf("@"))return this.controller.showError(lm.setting.account.messageInvalidEmail()),[2];(n=o.buttonEl).addClass("mod-loading"),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,v$(t)];case 2:return r.sent(),new vx(Y$.msgPasswordReset({email:t})),this.controller.backToLogin(),[3,5];case 3:return(i=r.sent())instanceof d$?this.controller.showError(i.error):this.controller.showError(lm.setting.account.messageLoginFailed()),[3,5];case 4:return n.removeClass("mod-loading"),[7];case 5:return[2]}}))}))}));return n}return m(t,e),t.prototype.getTitle=function(){return Y$.labelForgotPassword()},t}(X$),hJ=function(e){function t(){var t=e.call(this)||this;t.requiresAuth=!1;var n,i={"obsidian-sync":Y$.optUseObsidianSync(),icloud:Y$.optUseIcloud(),other:Y$.optUseOther()};Z$(t.formEl,Y$.labelSyncMethodSelectionDesc());var r=new $$(t.contentEl).addOption("obsidian-sync",(function(e){e.createDiv({cls:"mobile-onboarding-radio-option-title",text:Y$.labelObsidianSync()},(function(e){e.createSpan({cls:"flair",text:Y$.labelRecommended()})})),e.createEl("ul",{cls:"mobile-onboarding-radio-option-desc"},(function(e){e.createEl("li",{text:Y$.labelSyncPro1()}),e.createEl("li",{text:Y$.labelSyncPro2()}),e.createEl("li",{text:Y$.labelSyncPro3()})}))})).setValue("obsidian-sync").onChange((function(e){return n.setButtonText(i[e])}));return Yl.isIosApp?r.addOption("icloud",(function(e){e.createDiv({cls:"mobile-onboarding-radio-option-title",text:Y$.labelIcloud()}),e.createEl("ul",{cls:"mobile-onboarding-radio-option-desc"},(function(e){e.createEl("li",{text:Y$.labelIcloudCon1()}),e.createEl("li",{text:Y$.labelIcloudCon2()})}))})):r.addOption("other",(function(e){e.createDiv({cls:"mobile-onboarding-radio-option-title",text:Y$.labelOtherSync()}),e.createEl("ul",{cls:"mobile-onboarding-radio-option-desc"},(function(e){e.createEl("li",{text:Y$.labelThirdPartyDesc1()}),e.createEl("li",{text:Y$.labelThirdPartyDesc2()})}))})),t.contentEl.createDiv("button-container",(function(e){n=new IT(e).setCta().setButtonText(Y$.optUseObsidianSync()).onClick((function(){return y(t,void 0,void 0,(function(){var e,t;return b(this,(function(i){switch(i.label){case 0:if("obsidian-sync"!==(e=r.getValue()))return[3,10];if(!V$.token)return[3,8];t=void 0,i.label=1;case 1:return i.trys.push([1,3,,4]),[4,Rv(n.buttonEl,(function(){return x$(V$.token)}))];case 2:return t=i.sent(),[3,4];case 3:return i.sent(),new vx(lm.plugins.sync.msgErrorFailedToFetch()),[2];case 4:return 0!==t.limit?[3,6]:[4,b$(V$.token)];case 5:return i.sent(),this.controller.goTo(new vJ(V$.email)),[3,7];case 6:t.vaults.length>0||t.shared.length>0?this.controller.goTo(new sJ(t)):this.controller.goTo(new nJ("obsidian-sync")),i.label=7;case 7:return[3,9];case 8:this.controller.goTo(new aJ),i.label=9;case 9:return[3,11];case 10:"icloud"===e?this.controller.goTo(new nJ("icloud")):this.controller.goTo(new dJ),i.label=11;case 11:return[2]}}))}))})),Yl.isIosApp&&new IT(e).setButtonText(Y$.optLearnOtherSync()).onClick((function(){return t.controller.goTo(new dJ)})),new IT(e).setButtonText(Y$.optionSkipShort()).onClick((function(){return t.controller.goTo(new nJ("none"))}))})),t}return m(t,e),t.prototype.getTitle=function(){return Y$.labelSyncMethodSelection()},t}(X$),pJ=function(e){function t(){var t,n=e.call(this)||this,i=n.formEl,r={local:Y$.optionConnectLocalFolder(),"obsidian-sync":Y$.optionConnectSync(),icloud:Y$.optionConnectIcloud(),other:Y$.optionConnectOther()},o=new $$(i);return o.addOption("obsidian-sync",(function(e){e.createDiv({cls:"mobile-onboarding-radio-option-title",text:Y$.labelObsidianSync()})})),ym&&o.addOption("local",(function(e){e.createDiv({cls:"mobile-onboarding-radio-option-title",text:Y$.labelLocalFolder()})})),o.addOption("icloud",(function(e){e.createDiv({cls:"mobile-onboarding-radio-option-title",text:Y$.labelIcloud()})})).addOption("other",(function(e){e.createDiv({cls:"mobile-onboarding-radio-option-title",text:Y$.labelOther()})})).setValue("obsidian-sync").onChange((function(e){return t.setButtonText(r[e])})),n.contentEl.createDiv("button-container",(function(e){t=new IT(e).setCta().setButtonText(r[o.getValue()]).onClick((function(){return y(n,void 0,void 0,(function(){var e,n,i,r,a=this;return b(this,(function(s){switch(s.label){case 0:return"local"!==(e=o.getValue())?[3,6]:zJ?[3,2]:[4,new Promise((function(e){return a.controller.goTo(new yJ(e))}))];case 1:s.sent(),s.label=2;case 2:return zJ?[4,km.choose()]:[2];case 3:return(n=s.sent())&&n.path?n.isRoot?(new vx("Please choose a different folder than the root folder of your device."),[2]):(i=n.path,[4,this.controller.isDirectory(i)]):[3,5];case 4:s.sent()?this.controller.openVault(i,!0):new vx("Failed to load external vault."),s.label=5;case 5:return[3,11];case 6:return"obsidian-sync"!==e?[3,10]:V$.token?[4,Rv(t.buttonEl,(function(){return x$(V$.token)}))]:[3,8];case 7:return(r=s.sent()).vaults.length>0||r.shared.length>0?this.controller.goTo(new sJ(r)):this.controller.goTo(new nJ("obsidian-sync")),[3,9];case 8:this.controller.goTo(new cJ),s.label=9;case 9:return[3,11];case 10:"icloud"===e?Yl.isIosApp?this.controller.goTo(new gJ):this.controller.goTo(new bJ):this.controller.goTo(new dJ),s.label=11;case 11:return[2]}}))}))}))})),n}return m(t,e),t.prototype.getTitle=function(){return Y$.labelSyncRestore()},t}(X$),dJ=function(e){function t(){var t=e.call(this)||this;return Z$(t.formEl,Y$.labelSyncOtherDesc()),t.contentEl.createDiv("button-container",(function(e){new IT(e).setCta().setButtonText(Y$.buttonCreate()).onClick((function(e){e.preventDefault(),t.controller.goTo(new nJ("none"))})),new IT(e).setButtonText(lm.interface.buttonLearnMore()).onClick((function(){window.open("https://help.obsidian.md/sync-notes","_blank")}))})),t}return m(t,e),t.prototype.getTitle=function(){return Y$.labelSyncOther()},t}(X$),fJ=function(e){function t(){var t=e.call(this)||this;t.notice=null;var n=t.formEl;Z$(t.formEl,Y$.labelEmailEntryDesc());var i="";return new Q$(n).setName(lm.setting.account.labelEmail()).addText((function(e){return e.setValue(i).setPlaceholder(lm.setting.account.placeholderEmail()).onChange((function(e){return i=e})).then((function(e){return e.inputEl.type="email"}))})),t.contentEl.createDiv("button-container",(function(e){new IT(e).setCta().setButtonText(lm.setting.account.labelSignUp()).onClick((function(){""!==i?t.controller.goTo(new mJ(i)):t.controller.showError(lm.setting.account.messageEmptyEmail())}))})),t}return m(t,e),t.prototype.getTitle=function(){return Y$.labelEmailEntry()},t}(X$),mJ=function(e){function t(t){var n=e.call(this)||this,i=n.formEl,r="",o="";return new Q$(i).setName(lm.setting.account.labelEmail()).addText((function(e){return e.setValue(t).setPlaceholder(lm.setting.account.placeholderEmail()).onChange((function(e){return t=e})).then((function(e){return e.inputEl.type="email"}))})),new Q$(i).setName(lm.setting.account.labelName()).addText((function(e){return e.setValue(r).onChange((function(e){return r=e}))})),new Q$(i).setName(lm.interface.startScreen.optionUserPassword()).addText((function(e){return e.setValue(r).onChange((function(e){return o=e})).then((function(e){e.inputEl.type="password"}))})),n.contentEl.createDiv("button-container",(function(e){var i=new IT(e).setCta().setButtonText(lm.setting.account.labelSignUp()).onClick((function(){return y(n,void 0,void 0,(function(){var e,n;return b(this,(function(a){switch(a.label){case 0:if(""===t)return this.controller.showError(lm.setting.account.messageEmptyEmail()),[2];(e=i.buttonEl).addClass("mod-loading"),a.label=1;case 1:return a.trys.push([1,3,4,5]),[4,m$(t,o,r,"buy_sync")];case 2:return a.sent(),this.controller.goTo(new vJ(t)),[3,5];case 3:return n=a.sent(),console.error(n),n instanceof d$?this.controller.showError(n.error):this.controller.showError(lm.setting.account.messageSignupFailed()),[3,5];case 4:return e.removeClass("mod-loading"),[7];case 5:return[2]}}))}))}))})),n}return m(t,e),t.prototype.getTitle=function(){return Y$.labelSignup()},t}(X$),vJ=function(e){function t(t){var n=e.call(this)||this;return Z$(n.formEl,Y$.emailVerificationDesc({email:t})),n.footerEl.createDiv("button-container",(function(e){var i=new IT(e).setButtonText(Y$.buttonResendEmail()).onClick((function(){return y(n,void 0,void 0,(function(){var e;return b(this,(function(n){switch(n.label){case 0:i.setLoading(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,g$(t,"buy_sync")];case 2:return n.sent(),new vx(Y$.msgNewEmailSuccess()),[3,5];case 3:return e=n.sent(),console.error(e),new vx(Y$.msgNewEmailFailure()),[3,5];case 4:return i.setLoading(!1),[7];case 5:return[2]}}))}))})),r=new IT(e).setButtonText(Y$.buttonLogout()).onClick((function(){return y(n,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:r.buttonEl.addClass("mod-loading"),e.label=1;case 1:return e.trys.push([1,3,4,5]),[4,k$(V$)];case 2:return e.sent(),this.controller.backToLogin(),[3,5];case 3:return e.sent(),[3,5];case 4:return r.buttonEl.removeClass("mod-loading"),[7];case 5:return[2]}}))}))}))})),n}return m(t,e),t.prototype.getTitle=function(){return Y$.emailVerification()},t}(X$),gJ=function(e){function t(){var t=e.call(this)||this,n=t.formEl;return n.createEl("p",{text:Y$.icloudMissingDesc()}),n.createEl("ol",{},(function(e){e.createEl("li",{text:Y$.icloudMissingReason1()}),e.createEl("li",{text:Y$.icloudMissingReason2()})})),t}return m(t,e),t.prototype.getTitle=function(){return Y$.icloudMissing()},t}(X$),yJ=function(e){function t(t){var n=e.call(this)||this;n.callback=t;var i=n.formEl;return i.createEl("p",{text:"Obsidian needs permission to access your device storage."}),i.createEl("p",{text:"This allows your Obsidian data to be used with other apps and third-party tools."}),i.createEl("p",{text:"All your data remains private and stored locally. No one can access your data, not even us."}),n.footerEl.createDiv("button-container",(function(e){new IT(e).setButtonText(Y$.allowFileAccess()).setCta().onClick((function(){return y(n,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),[4,km.requestPerms()];case 1:return e.sent(),[4,qJ()];case 2:return e.sent(),this.controller.back(),[3,4];case 3:return e.sent(),[3,4];case 4:return[2]}}))}))})),new IT(e).setButtonText(lm.dialogue.buttonCancel()).onClick((function(){n.controller.back()}))})),n}return m(t,e),t.prototype.getTitle=function(){return Y$.allowFileAccess()},t.prototype.onClose=function(){this.callback()},t}(X$),bJ=function(e){function t(){var t=e.call(this)||this;return t.formEl.createEl("p",{text:Y$.iCloudUnsupportedDesc()}),new IT(t.footerEl).setButtonText(lm.interface.buttonLearnMore()).onClick((function(){window.open("https://help.obsidian.md/sync/switch","_blank")})),t}return m(t,e),t.prototype.getTitle=function(){return Y$.iCloudUnsupported()},t}(X$),wJ=(function(){function e(e,t,n){var i=this;this.previousScreens=[],this.errorNotice=null,this._createVault=e,this._openVault=t,this._fs=n;var r=this.containerEl=document.body.createDiv("mobile-onboarding"),o=r.createDiv("mobile-onboarding-navbar");this.backButtonEl=o.createDiv({cls:"back-button u-pop tappable",text:lm.interface.startScreen.buttonBack()},(function(e){e.toggleVisibility(!1),e.addEventListener("click",(function(){return i.back()}))}));var a=this.currentScreen=new eJ;a.controller=this,r.append(a.contentEl),bm&&y(i,void 0,void 0,(function(){var e,t,n=this;return b(this,(function(i){switch(i.label){case 0:return e=this,[4,bm.addListener("appUrlOpen",(function(e){return y(n,void 0,void 0,(function(){var t,n,i;return b(this,(function(r){switch(r.label){case 0:if(!(t=G$(e.url))||!t.hasOwnProperty("sync-setup"))return[3,4];if(!(n=t.token))return[2];(i=new vx(Y$.msgLoginPending())).containerEl.addClass("is-loading"),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,y$(V$,n)];case 2:return r.sent(),this.goTo(new nJ("obsidian-sync")),[3,4];case 3:return r.sent(),i.containerEl.removeClass("is-loading"),i.setMessage("Failed went wrong."),i.containerEl.addClass("mod-error"),[3,4];case 4:return[2]}}))}))}))];case 1:return e.appUrlOpenListener=i.sent(),t=this,[4,bm.addListener("backButton",(function(e){n.back()}))];case 2:return t.androidBackButtonListener=i.sent(),[2]}}))}))}e.prototype.showError=function(e){this.errorNotice&&this.errorNotice.hide(),this.errorNotice=new vx(e,3e3)},e.prototype.back=function(){var e=this.currentScreen,t=this.previousScreens.pop();if(V$.token&&t instanceof cJ)return t.onClose(),void this.back();t&&(e.onClose(),e.contentEl.detach(),this.currentScreen=t,this.containerEl.appendChild(t.contentEl)),this.backButtonEl.toggleVisibility(this.previousScreens.length>0)},e.prototype.unload=function(){var e,t;null===(e=this.appUrlOpenListener)||void 0===e||e.remove(),null===(t=this.androidBackButtonListener)||void 0===t||t.remove(),this.containerEl.detach()},e.prototype.createVault=function(e,t,n,i){return y(this,void 0,void 0,(function(){return b(this,(function(r){switch(r.label){case 0:return[4,this._createVault(e,t,n,i)];case 1:return!1!==r.sent()&&this.unload(),[2]}}))}))},e.prototype.openVault=function(e,t){return y(this,void 0,void 0,(function(){return b(this,(function(n){switch(n.label){case 0:return[4,this._openVault(e,t)];case 1:return!1!==n.sent()&&this.unload(),[2]}}))}))},e.prototype.isDirectory=function(e){return y(this,void 0,Promise,(function(){return b(this,(function(t){switch(t.label){case 0:return this._fs?[4,this._fs.stat(e)]:[2,!1];case 1:return[2,"directory"===t.sent().type]}}))}))},e.prototype.backToLogin=function(){for(;this.currentScreen.requiresAuth;)this.back();this.currentScreen instanceof cJ||this.goTo(new cJ)},e.prototype.goTo=function(e){if(!e.requiresAuth||V$.token){e.controller=this;var t=this.currentScreen;this.previousScreens.push(t),this.currentScreen=e,this.backButtonEl.toggleVisibility(this.previousScreens.length>0),t.contentEl.detach(),this.containerEl.appendChild(e.contentEl)}else this.backToLogin()}}(),function(e){function t(t){var n=e.call(this,t)||this;return n.setTitle("iCloud files"),n.modalEl.addClass("mod-lg","mod-scrollable-content","mod-plugin-debug"),n.contentEl.createEl("p",{text:"iCloud automatically optimizes the storage space on your device. iCloud may remove the local version of your files and they will need to be re-downloaded."}),n.contentEl.createEl("p",{text:"Obsidian is checking if any configuration files are missing from your device and will request them from iCloud."}),n.contentEl.createEl("p",{text:createFragment((function(e){e.appendText("To avoid this happening to your Obsidian files, you will need to open the "),e.createEl("strong",{text:"Files"}),e.appendText("app. Press and hold on the Obsidian folder and choose "),e.createEl("strong",{text:"Keep Downloaded"}),e.appendText(".")}))}),n.addButton("mod-cancel",lm.dialogue.buttonDone(),(function(){})),n}m(t,e)}(dx),function(e){function t(t,n,i,r){var o=e.call(this,t)||this;return o.navigation=!1,o.viewType=n,o.icon=i,o.title=r||"",o.containerEl.onNodeInserted((function(){return o.rerender()})),o.containerEl.addEventListener("click",(function(){return o.rerender()})),o}return m(t,e),t.prototype.getDisplayText=function(){return this.title},t.prototype.getViewType=function(){return this.viewType},t.prototype.getState=function(){return this.state},t.prototype.setState=function(e,t){return y(this,void 0,Promise,(function(){return b(this,(function(t){return this.state=e,[2]}))}))},t.prototype.setEphemeralState=function(e){this.estate=e},t.prototype.rerender=function(){return y(this,void 0,void 0,(function(){var e,t,n;return b(this,(function(i){switch(i.label){case 0:return t=(e=this).app.workspace,(n=e.leaf).view!==this||n.working?[2]:[4,n.setViewState({type:this.viewType,state:this.state},this.estate)];case 1:return i.sent(),n.view!==this&&t.requestLayoutChangeEvents(),[2]}}))}))},t}(Hg)),kJ=function(e){function t(t,n){var i=e.call(this,t)||this;i.canDropAnywhere=!0,i.viewType=n;var r=i.emptyTitleEl;r.setText(lm.interface.emptyState.unknownPaneTitle());var o=createDiv({text:lm.interface.emptyState.unknownPaneDesc({type:n})});return mv(o,"This pane doesn't look like anything to me."),i.clickableAreaEl.insertAfter(o,r),i}return m(t,e),t.prototype.getDisplayText=function(){return this.viewType},t.prototype.getViewType=function(){return this.viewType},t.prototype.getIcon=function(){return"lucide-ghost"},t.prototype.getState=function(){return this.state},t.prototype.onload=function(){e.prototype.onload.call(this);var t=this.app.workspace;this.registerEvent(t.on("layout-change",this.onLayoutChange.bind(this)))},t.prototype.setState=function(e,t){return y(this,void 0,Promise,(function(){return b(this,(function(t){return this.state=e,[2]}))}))},t.prototype.onOpen=function(){return y(this,void 0,Promise,(function(){var e,t,n,i,r=this;return b(this,(function(o){return t=(e=this).actionListEl,n=e.viewType,t.createDiv({cls:"empty-state-action tappable mod-close",text:lm.interface.emptyState.close()}).addEventListener("click",(function(){return r.leaf.detach()})),i=this.app.workspace.getLeavesOfType(n),this.closeAllButtonEl=t.createDiv({cls:"empty-state-action tappable mod-close",text:lm.interface.emptyState.closeAll({id:n,count:i.length})}),this.closeAllButtonEl.hide(),this.closeAllButtonEl.addEventListener("click",(function(){for(var e=0,t=r.app.workspace.getLeavesOfType(r.viewType);e1)},t}(rG),CJ=!1;function EJ(){return y(this,void 0,Promise,(function(){var e,t,n,i,r,o,a,s;return b(this,(function(l){switch(l.label){case 0:return e="SYSTEM INFO:\n",Yl.isDesktopApp&&(If((function(t){var n=t.ipcRenderer.sendSync("version"),i=t.remote.app.getVersion();e+="\tObsidian version: v".concat(n,"\n"),e+="\tInstaller version: v".concat(i,"\n")})),(t=Lf("os"))&&(e+="\tOperating system: ".concat(t.version()," ").concat(t.release,"\n"))),Yl.isMobileApp?[4,Sm.getInfo()]:[3,3];case 1:return n=l.sent(),[4,bm.getInfo()];case 2:i=l.sent(),e+="\tOperating system: ".concat(n.platform," ").concat(n.osVersion," (").concat(n.manufacturer," ").concat(n.model,")\n"),Yl.isAndroidApp&&(e+="\tWebview version: ".concat((c=navigator.userAgent,(u=c.match(/Chrome\/([\d.]+)/i))?u[1]:"N/A"),"\n")),e+="\tObsidian version: ".concat(i.version," (").concat(i.build,")\n"),e+="\tAPI version: v".concat(dee,"\n"),l.label=3;case 3:return r=V$.token?"logged in":"not logged in",e+="\tLogin status: ".concat(r,"\n"),o=hm(),e+="\tLanguage: ".concat(o,"\n"),V$.token&&(a=V$.license||"none",e+="\tCatalyst license: ".concat(a,"\n")),Yl.isDesktopApp&&(s="",If((function(t){s=t.ipcRenderer.sendSync("insider-build",null)?"on":"off",e+="\tInsider build toggle: ".concat(s,"\n")}))),[2,e]}var c,u}))}))}var SJ=[],MJ={views:0,deferredViews:0},xJ={key:"",children:{},duration:0};function TJ(e){SJ.push({key:e,ts:performance.now()})}function DJ(e){var t=xJ;if(e)for(var n=0,i=e.split(".");n=100)&&(e=null),this.dimension=e;var t=this.containerEl,n="";e&&(n=String(e)),t.style.flexGrow=n},t.prototype.detach=function(){this.parent&&this.parent.removeChild(this)},t.prototype.getIcon=function(){return"lucide-file"},t}(TC),KJ=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.allowSingleChild=!1,t.autoManageDOM=!0,t}return m(t,e),t.prototype.serialize=function(){var t=e.prototype.serialize.call(this);return t.children=this.children.map((function(e){return e.serialize()})),t},t.prototype.replaceChild=function(e,t){var n=this,i=n.workspace,r=n.autoManageDOM,o=n.containerEl,a=n.children;e<0&&(e=0),e>=a.length&&(e=a.length);var s=a[e],l=s.containerEl.nextSibling;if(r&&s.containerEl.detach(),s.setParent(null),a[e]=t,r){var c=t.containerEl;o.insertBefore(c,l)}t.setParent(this),i.onLayoutChange(this)},t.prototype.insertChild=function(e,t){var n=this,i=n.workspace,r=n.autoManageDOM,o=n.containerEl,a=n.children;(e<0||e>=a.length)&&(e=a.length);var s=a[e],l=s?s.containerEl:null;if(a.splice(e,0,t),r){var c=t.containerEl;o.insertBefore(c,l)}t.setParent(this),i.onLayoutChange(this)},t.prototype.removeChild=function(e){var t=this,n=t.workspace,i=t.autoManageDOM,r=t.parent,o=t.children;if(o.remove(e),e.setParent(null),i&&e.containerEl.detach(),r)if(1!==o.length||this.allowSingleChild){if(0===o.length)return void r.removeChild(this)}else{var a=o[0];o.remove(a),i&&a.containerEl.detach(),a.setParent(null);var s=r.children.indexOf(this);i&&r.replaceChild(s,a),a.setDimension(this.dimension)}n.onLayoutChange(this)},t.prototype.recomputeChildrenDimensions=function(){},t}(GJ),YJ=function(e){function t(t,n,i){var r=e.call(this,t,i)||this;return r.parent=null,r.children=[],r.type="split",r.direction=null,r.resizeStartPos=null,r.originalSizes=null,r.isResizing=!1,r.workspace=t,r.containerEl.addClass("workspace-split"),r.setDirection(n),r}return m(t,e),t.prototype.serialize=function(){var t=e.prototype.serialize.call(this);return t.direction=this.direction,t},t.prototype.setDirection=function(e){this.containerEl.removeClass("mod-"+this.direction),this.direction=e,this.containerEl.addClass("mod-"+e)},t.prototype.recomputeChildrenDimensions=function(){for(var e=this.children,t=0,n=0,i=e;n0){var c=n.resizeItemsByDiff(l,o,1);Math.abs(o)>c&&(o=c),n.resizeItemsByDiff(s,o,-1)}else{c=n.resizeItemsByDiff(s,o,-1);Math.abs(o)>c&&(o=-c),n.resizeItemsByDiff(l,o,1)}t.preventDefault()}}},o=function(){i.removeEventListener("mousemove",r),i.removeEventListener("mouseup",o),document.body.removeClass("is-grabbing");try{n.finishResize()}catch(e){console.error(e)}};i.addEventListener("mousemove",r),i.addEventListener("mouseup",o),document.body.addClass("is-grabbing")}},t.prototype.resizeItemsByDiff=function(e,t,n){for(var i=0,r=0,o=e;r=UJ)t.expand();else if(!t.collapsed){var o=t.workspace.containerEl.clientWidth,a=Math.clamp(i,UJ,Math.max(UJ,.8*o));t.setSize(a)}e.preventDefault()},r=function(e){0===e.button&&(n.removeEventListener("mousemove",i),n.removeEventListener("mouseup",r),document.body.removeClass("is-grabbing"),t.app.enableCssTransition(),t.workspace.requestSaveLayout(),t.workspace.requestResize())};n.addEventListener("mousemove",i),n.addEventListener("mouseup",r),document.body.addClass("is-grabbing")}},t.prototype.recomputeChildrenDimensions=function(){e.prototype.recomputeChildrenDimensions.call(this),0===this.children.length?(this.collapse(),this.emptyStateEl.show(),"right"===this.side&&this.workspace.rightRibbon.hide()):(this.emptyStateEl.hide(),"right"===this.side&&this.workspace.rightRibbon.show())},t}(YJ),XJ=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.allowSingleChild=!0,t}return m(t,e),t.prototype.onFocus=function(){var e=this;setTimeout((function(){if(e.doc.hasFocus()){var t=!!e.doc.querySelector(".modal-container"),n=e.workspace,i=n.activeLeaf;if(!i||i.getContainer()!==e){var r=n.getMostRecentLeaf(e);r&&n.setActiveLeaf(r,{focus:!Yl.isMobile&&!t})}}}),100)},t.prototype.focus=function(){if(Yl.isDesktopApp&&!this.doc.hasFocus()){var e=this.win.electronWindow;e.isMinimized()&&e.restore(),e.focus()}},t}(YJ),QJ=function(e){function t(n,i,r){var o=e.call(this,n,r)||this;o.type="mobile-drawer",o.children=[],o.allowSingleChild=!0,o.autoManageDOM=!1,o.currentTab=0,o.collapsed=!1,o.isPinned=!1,o.containerEl=null,o.backdropEl=null,o.innerEl=null,o.headerEl=null,o.tabContainerEl=null,o.activeTabContentEl=null,o.pinIconEl=null,o.side=i,o.collapsed=!0;var a=o.containerEl=createDiv("workspace-drawer");a.hide();var s=o.innerEl=a.createDiv("workspace-drawer-inner");o.backdropEl=createDiv("workspace-drawer-backdrop",(function(e){e.addEventListener("click",o.collapse.bind(o)),e.style.opacity="0"})),o.headerEl=s.createDiv("workspace-drawer-header");var l=o.tabContainerEl=s.createDiv("workspace-drawer-tab-container"),c=o.activeTabEl=l.createDiv("workspace-drawer-active-tab-container"),u=o.activeTabHeaderEl=c.createEl("label","workspace-drawer-active-tab-header tappable"),h=o.activeTabSelectEl=u.createEl("select");h.addEventListener("change",(function(e){o.selectTabIndex(Number(h.value)),u.removeClass("is-open")})),o.activeTabIconEl=u.createSpan("workspace-drawer-active-tab-icon"),o.activeTabTitleEl=u.createSpan("workspace-drawer-active-tab-title"),u.addEventListener("contextmenu",(function(e){var t=o.children[o.currentTab];null==t||t.onOpenTabHeaderMenu(e,u)})),u.createDiv("clickable-icon workspace-drawer-active-tab-chevron",(function(e){Km(e,"lucide-chevrons-up-down")})),o.activeTabContentEl=c.createDiv("workspace-drawer-active-tab-content"),o.component.registerEvent(n.on("active-leaf-change",o.onLeafChange,o));var p="left"===i?1:-1;return o.component.registerEvent(n.on("swipe",(function(e){if(o.workspace.layoutReady&&!o.isPinned&&!(e.points>1||"x"!==e.direction)){var n=o,r=n.containerEl,a=n.backdropEl;fl(r),fl(a);var s=o.workspace.leftSplit,l=o.workspace.rightSplit,c=s.collapsed||s instanceof t&&s.isPinned,u=l.collapsed||l instanceof t&&l.isPinned,h=c&&u&&("left"===i&&e.x>e.startX||"right"===i&&e.xd/2?(vl(r,new hl({duration:150*(s=1-l),fn:"ease-out"}).addProp("transform",null,"translateX(0)","")),vl(a,new hl({duration:150*s,fn:"linear"}).addProp("opacity",null,"1","")),o.onExpand()):(o.collapsed=!0,o.onCollapse(),vl(r,new hl({duration:150*(s=l)}).addProp("transform",null,"translateX(".concat(-d*p,"px)"),""),(function(){r.hide()})),vl(a,new hl({duration:150*s,fn:"linear"}).addProp("opacity",null,"0"),(function(){a.detach()})))}})}}else{var f=r.offsetWidth;e.registerCallback({move:function(t){var n=Math.clamp(-(t-e.startX)*p/f,0,1);r.style.transform="translateX(".concat(-n*f*p,"px)"),a.style.opacity=String(1-n)},cancel:function(){r.style.transform="",a.style.opacity=""},finish:function(t,n,i){var s,l=Math.clamp(-(t-e.startX)*p/f,0,1);-i*p0?(u.sort((function(e,t){return t.score-e.score})),k([{type:"group",name:e1.labelPropertiesGroup(),icon:"lucide-info",iconTooltip:e1.tooltipReadMore(),callback:function(){window.open("https://help.obsidian.md/Plugins/Search","_blank")}}],u,!0)):[]}if(c instanceof lN){h=tT(s);var m=[],v=Object.keys(this.app.metadataCache.getTags());v.sort(aC);for(var g=0,y=v;g0?(m.sort((function(e,t){return t.score-e.score})),k([{type:"group",name:e1.labelTagsGroup(),icon:"lucide-info",iconTooltip:e1.tooltipReadMore(),callback:function(){window.open("https://help.obsidian.md/Plugins/Search","_blank")}}],m,!0)):[]}if(c instanceof $F){h=tT(s);for(var w=[],C=0,E=this.app.vault.getAllLoadedFiles();C0)return[]}var x=[],T=t1.filter((function(e){return e.name.startsWith(s.toLowerCase())}));if(T.length>0&&(x.push({type:"group",name:e1.labelSearchOptions(),icon:"lucide-info",iconTooltip:e1.tooltipReadMore(),callback:function(){window.open("https://help.obsidian.md/Plugins/Search","_blank")}}),x.push.apply(x,T)),this.showHistory&&!e){var D=this.app.loadLocalStorage("recent-searches");if(D&&Array.isArray(D)&&D.length>0){x.push({type:"group",name:e1.labelHistory(),icon:"lucide-x",iconTooltip:e1.tooltipClearHistory(),callback:function(){t.app.saveLocalStorage("recent-searches",null)}});for(var A=0,P=D;AKF(a)&&(a=null);var s=i,l=r.length;a&&(s=a.pos,l=KF(a));var c=e.name;"string"===e.type&&/[\[\]\(\)\s:]/.test(c)&&(c='"'.concat(c,'"')),"property-key"===e.type&&(c=Ag.isModifier(t,"Shift")?'"'.concat(c,'"] '):'"'.concat(c,'":')),"string"===e.type?c+=" ":"operator"===e.type&&(c=e.token);var u=r.slice(0,s)+c+r.slice(l).trimStart();"string"===e.type&&(u+=" "),n.value=u,n.trigger("input");var h=s+c.length;"operator"===e.type&&e.token.match(/[\)\]]$/)&&(h-=1),n.setSelectionRange(h,h),n.trigger("input"),Yl.isMobile&&this.close()}else t.preventDefault()},t.prototype.onInputChange=function(){var e=this.inputEl,t=e.value,n=this.getSuggestions(t);n&&n.length>0?(this.suggestions.setSuggestions(n),"group"===this.suggestions.values[0].type&&this.suggestions.forceSetSelectedItem(1),this.open(),this.suggestEl.style.width=Math.max(this.inputEl.offsetWidth,300)+"px",this.setAutoDestroy(e),this.reposition(e.getBoundingClientRect())):this.close()},t.attach=function(e,n,i){void 0===i&&(i=!0),new t(e,n,i)},t.showOnce=function(e,n,i){void 0===i&&(i=!0),new t(e,n,i,!0).onInputChange(),n.focus()},t}(Yx),i1=function(e){function t(t){var n=e.call(this,t)||this;return n.navigation=!1,n.allowNoFile=!0,n.requestUpdate=wc(n.update,10),n}return m(t,e),t.prototype.load=function(){var t=this;e.prototype.load.call(this);var n=this.app.workspace;this.registerEvent(n.on("file-open",this.onFileOpen,this)),n.onLayoutReady((function(){return t.onFileOpen(n.getActiveFile())}))},t.prototype.setState=function(t,n){return y(this,void 0,Promise,(function(){var i;return b(this,(function(r){switch(r.label){case 0:return t.hasOwnProperty("group")||this.leaf.pinned||(i=this.leaf.workspace.getActiveFile())&&(t.file=null==i?void 0:i.path),[4,e.prototype.setState.call(this,t,n)];case 1:return r.sent(),[2]}}))}))},t.prototype.onLoadFile=function(e){return y(this,void 0,Promise,(function(){return b(this,(function(e){return this.update(),[2]}))}))},t.prototype.onUnloadFile=function(e){return y(this,void 0,Promise,(function(){return b(this,(function(e){return this.requestUpdate(),[2]}))}))},t.prototype.onFileOpen=function(e){this.leaf.group||this.leaf.pinned||(e&&e instanceof zC?this.loadFile(e):this.loadFile(null))},t.prototype.onGroupChange=function(){if(e.prototype.onGroupChange.call(this),this.leaf.group)for(var t=0,n=this.leaf.workspace.getGroupLeaves(this.leaf.group);t0)for(var O=0,F=h;O0?(n=this.progression,[4,new Promise((function(e){return Pc(e,0)}))]):[3,3];case 2:return i.sent(),n!==this.progression?[3,3]:(n=1+Math.floor(this.progressionSpeed*(Date.now()-t)/1e3))===this.progression||(this.progression=n,this.render())?[3,1]:[3,3];case 3:return[2]}}))}))},e.prototype.onFileChanged=function(e){"md"!==e.extension&&this.recomputeFile(e)},e.prototype.recomputeFile=function(e){var t=this.queue;t&&t.add(e)},e.prototype.onFileOpen=function(e){var t=e?e.path:"";t!==this.currentFocusFile&&(this.currentFocusFile=t,this.render())},e.prototype.onNodeClick=function(e,t,n){var i=this.app;if("tag"!==n)i.workspace.openLinkText(t,"",Ag.isModEvent(e));else{var r=i.internalPlugins.getEnabledPluginById("global-search");r&&r.openGlobalSearch("tag:"+t)}},e.prototype.onNodeRightClick=function(e,t,n){var i=this,r=this.app;if("tag"!==n){var o=r.metadataCache.getFirstLinkpathDest(t,"");if(o&&e.instanceOf(MouseEvent)){var a=(new Ng).addSections(["title","open","action","info","view","view.linked","system","","danger"]);a.setSectionSubmenu("view.linked",{title:lm.interface.menu.openLinkedView(),icon:"lucide-link"}),a.addItem((function(e){return e.setSection("title").setTitle(o.getShortName()).setIsLabel(!0).titleEl.addClass("u-muted","u-small")})),a.addItem((function(e){return e.setSection("open").setTitle(lm.interface.menu.openInNewTab()).setIcon("lucide-file-plus").onClick((function(e){return y(i,void 0,void 0,(function(){return b(this,(function(n){switch(n.label){case 0:return[4,this.app.workspace.getLeaf(Ag.isModEvent(e)||!0).openLinkText(t,"")];case 1:return n.sent(),[2]}}))}))}))})),this.app.workspace.trigger("file-menu",a,o,"graph-context-menu",this.view.leaf),a.addItem((function(e){return e.setSection("danger").setTitle(lm.interface.menu.deleteFile()).setIcon("lucide-trash-2").setWarning(!0).onClick((function(){return i.app.fileManager.promptForDeletion(o)}))})),a.showAtMouseEvent(e)}}else{var s=r.internalPlugins.getEnabledPluginById("global-search");s&&s.openGlobalSearch("tag:"+t)}},e.prototype.onNodeHover=function(e,t,n){if(this.onNodeUnhover(),e.instanceOf(MouseEvent)){var i=this,r=i.app,o=i.hoverPopover,a=i.lastHoverLink;if(""===n||"focused"===n||"attachment"===n){if(o&&o.state!==h_.Hidden&&a===t)return o.onTarget=!0,void o.transition();this.lastHoverLink=t,r.workspace.trigger("hover-link",{event:e,source:"graph",hoverParent:this,targetEl:null,linktext:t})}}},e.prototype.onNodeUnhover=function(){var e=this.hoverPopover;e&&(e.onTarget=!1,e.transition())},e.prototype.getOptions=function(){var e={};return this.filterOptions.getOptions(e),this.colorGroupOptions.getOptions(e),this.displayOptions.getOptions(e),this.forceOptions.getOptions(e),e.scale=this.renderer.targetScale,e.close=this.controlsEl.hasClass("is-close"),e},e.prototype.setOptions=function(e){e&&(this.filterOptions.setOptions(e),this.colorGroupOptions.setOptions(e),this.displayOptions.setOptions(e),this.forceOptions.setOptions(e),e.scale&&this.renderer.zoomTo(e.scale),e.close&&this.controlsEl.toggleClass("is-close",e.close),this.render())},e}(),d1=function(e){function t(t,n,i){var r=e.call(this)||this;return r.engine=null,r.optionListeners={},r.engine=t,r.el.addClass("graph-control-section","mod-".concat(n)),r.setCollapsible(!0),r.setCollapsed(!0,!1),r.innerEl.createEl("header",{cls:"graph-control-section-header",text:i}),r.optionListeners["collapse-"+n]=function(e){return void 0!==e&&isBoolean(e)&&r.setCollapsed(e,!1),r.collapsed},r}return m(t,e),t.prototype.onSelfClick=function(e){return this.toggleCollapsed(!0)},t.prototype.updateCollapsed=function(t){return y(this,void 0,Promise,(function(){return b(this,(function(n){switch(n.label){case 0:return[4,e.prototype.updateCollapsed.call(this,t)];case 1:return n.sent(),this.engine.onOptionsChange(),[2]}}))}))},t.prototype.setOptions=function(e){var t=this.optionListeners;for(var n in e)e.hasOwnProperty(n)&&t.hasOwnProperty(n)&&t[n](e[n])},t.prototype.getOptions=function(e){var t=this.optionListeners;for(var n in t)if(t.hasOwnProperty(n)){var i=t[n]();void 0!==i&&(e[n]=i)}},t}(a_),f1=function(e){function t(t,n){var i=e.call(this,t,"filter",r1.labelFilters())||this;i.searchSetting=null,t.controlsEl.appendChild(i.el);var r=i.childrenEl,o=i.searchSetting=new AT(r).addSearch((function(e){return e.setPlaceholder(r1.promptFilterNodes()).setValue("").onChange((function(){i.engine.requestUpdateSearch()})).then((function(e){i.search=e,mv(e.clearButtonEl,lm.plugins.search.tooltipClearSearch()),i.optionListeners.search=function(t){return void 0!==t&&(e.setValue(t),i.engine.requestUpdateSearch()),e.getValue()},e.inputEl.addEventListener("keydown",(function(e){e.isComposing||"Enter"!==e.key||i.engine.updateSearch()})),n1.attach(t.app,e.inputEl,!1)}))}));return o.settingEl.addClass("mod-search-setting"),n&&(new AT(r).setName(r1.optionDepth()).setTooltip(r1.optionDepthDescription()).setClass("mod-local-jumps").setClass("mod-slider").addSlider((function(e){return e.setLimits(1,5,1).setValue(t.options.localJumps).setDynamicTooltip().setInstant(!0).registerOptionListener(i.optionListeners,"localJumps").onChange((function(e){t.options.localJumps=e,t.render(),t.onOptionsChange()}))})),new AT(r).setName(r1.optionBacklinks()).setTooltip(r1.optionBacklinksDescription()).setClass("mod-toggle").addToggle((function(e){return e.setSmall().setValue(t.options.localBacklinks).registerOptionListener(i.optionListeners,"localBacklinks").onChange((function(e){t.options.localBacklinks=e,t.render(),t.onOptionsChange()}))})),new AT(r).setName(r1.optionForelinks()).setTooltip(r1.optionForelinksDescription()).setClass("mod-toggle").addToggle((function(e){return e.setSmall().setValue(t.options.localForelinks).registerOptionListener(i.optionListeners,"localForelinks").onChange((function(e){t.options.localForelinks=e,t.render(),t.onOptionsChange()}))})),new AT(r).setName(r1.optionNeighborLinks()).setTooltip(r1.optionNeighborLinksDescription()).setClass("mod-toggle").addToggle((function(e){return e.setSmall().setValue(t.options.localInterlinks).registerOptionListener(i.optionListeners,"localInterlinks").onChange((function(e){t.options.localInterlinks=e,t.render(),t.onOptionsChange()}))}))),new AT(r).setName(r1.optionShowTags()).setTooltip(r1.optionShowTagsDescription()).setClass("mod-toggle").addToggle((function(e){return e.setSmall().setValue(t.options.showTags).registerOptionListener(i.optionListeners,"showTags").onChange((function(e){t.options.showTags=e,t.render(),t.onOptionsChange()}))})),new AT(r).setName(r1.optionShowAttachments()).setTooltip(r1.optionShowAttachmentsDescription()).setClass("mod-toggle").addToggle((function(e){return e.setSmall().setValue(t.options.showAttachments).registerOptionListener(i.optionListeners,"showAttachments").onChange((function(e){t.options.showAttachments=e,t.render(),t.onOptionsChange()}))})),new AT(r).setName(r1.optionShowExistingFilesOnly()).setTooltip(r1.optionShowExistingFilesOnlyDescription()).setClass("mod-toggle").addToggle((function(e){return e.setSmall().setValue(t.options.hideUnresolved).registerOptionListener(i.optionListeners,"hideUnresolved").onChange((function(e){t.options.hideUnresolved=e,t.render(),t.onOptionsChange()}))})),n||new AT(r).setName(r1.optionShowOrphans()).setTooltip(r1.optionShowOrphansDescription()).setClass("mod-toggle").addToggle((function(e){return e.setSmall().setValue(t.options.showOrphans).registerOptionListener(i.optionListeners,"showOrphans").onChange((function(e){t.options.showOrphans=e,t.render(),t.onOptionsChange()}))})),i}return m(t,e),t.prototype.startSearch=function(){this.searchSetting.settingEl.addClass("is-loading")},t.prototype.stopSearch=function(){this.searchSetting.settingEl.removeClass("is-loading")},t.prototype.setDefaultOptions=function(){this.setOptions(zU)},t}(d1),m1=function(e){function t(t){var n=e.call(this,t,"color-groups",r1.labelGroups())||this;return t.controlsEl.appendChild(n.el),n.optionListeners.colorGroups=function(e){return Array.isArray(e)&&(n.setColorQueries(e),n.engine.requestUpdateSearch()),n.getColoredQueries()},n.setColorQueries([]),n}return m(t,e),t.prototype.getColoredQueries=function(){for(var e=[],t=0,n=this.groups;t0)&&(v+="\tCustom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.\n"),"off"===c&&u>0&&(v+="\tCommunity plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.\n"),""===v&&(v="\tnone\n"),i+=v,n.value=i,[2]}}))}))},t}(dx);function E1(e,t,n){return y(this,void 0,void 0,(function(){var i=this;return b(this,(function(r){switch(r.label){case 0:return[4,e.fileManager.runAsyncLinkUpdate((function(){return y(i,void 0,void 0,(function(){var i,r,o,a,s,l,c;return b(this,(function(u){switch(u.label){case 0:i=e.vault,r=0,o=t,u.label=1;case 1:return r0?[4,E1(n,a,e)]:[3,4];case 3:s.sent(),s.label=4;case 4:return[2]}}))}))},t}(tZ),A1=function(e){function t(t){var n=e.call(this,t)||this;n.sortOrder="download",n.items={},n.itemsVisible=[],n.selectedItemId=null,n.selectedItemCloseable=null,n.dimBackground=!1,n.returnToGridView=n.returnToGridView.bind(n);var i=n,r=i.contentEl;i.modalEl.addClass("mod-community-modal","mod-sidebar-layout");var o=n.sidebarEl=r.createDiv("modal-sidebar");n.detailsEl=createDiv("community-modal-details"),o.createDiv("community-modal-controls",(function(e){new AT(e).addSearch((function(e){return n.search=e.onChange(wc(n.update.bind(n),300)).then((function(){e.inputEl.addEventListener("keypress",(function(e){e.isComposing||"Enter"!==e.key||Yl.hasPhysicalKeyboard||Cv()}))}))})).addButton((function(e){return e.onClick((function(e){return n.showSortMenu(e)})).then((function(e){if(Yl.isPhone)e.setButtonText(lm.plugins.fileExplorer.actionChangeSort());else{var t=e.buttonEl;Km(t,"lucide-sort-asc"),mv(t,lm.plugins.fileExplorer.actionChangeSort()),t.addClass("clickable-icon")}}))})),n.installedOnlyToggleSetting=new AT(e).setName(lm.setting.thirdPartyPlugin.showInstalledOnly()).addToggle((function(e){return n.installedOnlyToggle=e.setSmall().setValue(!1).onChange((function(){return n.update()}))})),n.addCustomControls(e),n.searchSummaryEl=e.createDiv("community-modal-search-summary u-muted")}));var a=o.createDiv("community-modal-search-results-wrapper");n.emptyStateEl=a.createDiv("community-modal-empty-state"),n.listEl=a.createDiv("community-modal-search-results"),Yl.isMobile&&Pm(n.contentEl,(function(e){if(1===e.points&&"x"===e.direction&&!(null===n.selectedItemId||e.touch.clientX>40)){var t=n,i=t.detailsEl,r=t.sidebarEl;n.contentEl.prepend(r),eg(r),e.registerCallback({move:function(t,n){var r=i.offsetWidth,o=Math.clamp((t-e.startX)/r,0,1);i.style.transform="translateX(".concat(o*r,"px)")},cancel:function(){i.style.transform="",r.detach()},finish:function(t,o,a){var s=i.offsetWidth,l=Math.clamp((t-e.startX)/s,0,1);.5*a0||(s.push(a),o.setHotkeys(r.id,s),y(i,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,o.save()];case 1:return e.sent(),[2]}}))}))),i.finishCustomizingHotkey()}e.preventDefault(),e.stopPropagation()}})),i.setHotkeyScope.register([],"Escape",(function(){if(i.commandBeingCustomized)return i.finishCustomizingHotkey(),!1})),i.filterHotkeyScope=new Tg,i.filterHotkeyScope.register([],"Escape",(function(e,t){var n;return null===(n=i.hotkeyFilter)||void 0===n||n.remove(),i.finishFilteringByHotkey(),i.updateHotkeyVisibility(),!1})),i.filterHotkeyScope.register(null,null,(function(e,t){var n=oF(Ag.decompileModifiers(t.modifiers),t.vkey);i.setHotkeyFilter(n),e.preventDefault(),e.stopPropagation()})),i.filterHotkeyScope.register([],"Escape",(function(){i.finishFilteringByHotkey(),i.updateHotkeyVisibility()})),i}return m(t,e),t.prototype.display=function(){var e,t=this,n=this.containerEl;n.empty(),null===(e=this.hotkeyFilter)||void 0===e||e.remove(),this.headerComponent=new AT(n).setName(L1.optionSearch()).addButton((function(e){Km(e.buttonEl,"lucide-filter"),e.buttonEl.addClass("clickable-icon"),e.onClick(t.showFilterMenu.bind(t))})).addSearch((function(e){t.searchComponent=e,e.setPlaceholder(L1.promptFilter()).onChange(t.updateHotkeyVisibility.bind(t));var n=e.containerEl;n.addClass("mod-hotkey");var i=t.filterHotkeyEl=n.createDiv("input-right-decorator clickable-icon");Km(i,"lucide-keyboard"),t.filterHotkeyActiveEl=createSpan({cls:"setting-hotkey mod-active input-right-decorator",text:L1.labelWaitingForHotkeyPress()}),i.addEventListener("click",(function(){if(t.filterHotkeyActiveEl.isShown())return t.filterHotkeyActiveEl.detach(),void t.finishFilteringByHotkey();n.appendChild(t.filterHotkeyActiveEl),t.app.keymap.pushScope(t.filterHotkeyScope)}))})),this.filterContainerEl=n.createDiv("setting-filter-container"),this.statusFilter=(new I1).onRemove((function(){return t.setStatusFilter("show-all")})).setTitle(L1.labelShowAll()),this.hotkeyListContainerEl=n.createDiv("hotkey-list-container"),this.updateHotkeyVisibility(),Yl.hasPhysicalKeyboard&&this.searchComponent.inputEl.focus()},t.prototype.setHotkeyFilter=function(e){var t,n=this;this.statusFilter.remove(),null===(t=this.hotkeyFilter)||void 0===t||t.remove(),this.hotkeyFilter=new I1(this.filterContainerEl).setValue(e).setTitle(sF(e)).onRemove((function(){return n.updateHotkeyVisibility()})),this.finishFilteringByHotkey(),this.updateHotkeyVisibility()},t.prototype.setStatusFilter=function(e){var t;null===(t=this.hotkeyFilter)||void 0===t||t.remove(),this.statusFilter.setValue(e),"show-all"===e?this.statusFilter.remove():(this.statusFilter.el.isShown()||this.filterContainerEl.appendChild(this.statusFilter.el),this.statusFilter.setTitle(O1[e]())),this.updateHotkeyVisibility()},t.prototype.setDescription=function(e,t){this.headerComponent.setDesc(createFragment((function(n){n.createSpan({text:L1.optionSearchDesc({count:e})}),t&&n.createSpan({cls:"mod-warning",text:L1.optionSearchConflict({count:t})})})))},t.prototype.showFilterMenu=function(e){var t,n,i=this;e.preventDefault();var r=e.currentTarget;if(!r.hasClass("has-active-menu")){for(var o=new Ng,a=null!==(n=null===(t=this.statusFilter)||void 0===t?void 0:t.value)&&void 0!==n?n:"show-all",s=function(e){var t=O1[e];o.addItem((function(n){return n.setTitle(t()).setChecked(a===e).onClick((function(){return i.setStatusFilter(e)}))}))},l=0,c=Object.keys(O1);l0;if(h)for(var d=0,f=c;d0)if(e.addClass("has-conflict"),e.addEventListener("click",(function(e){e.defaultPrevented||(i.setQuery(""),i.setHotkeyFilter(t))})),1===s.length){var l=s[0];mv(e,L1.tooltipHotkeySingleConflict({command:l}))}else{var c=s.length;mv(e,L1.tooltipHotkeyMultipleConflicts({count:c}))}}e.appendText(" "+o+" "),e.createSpan("setting-hotkey-icon setting-delete-hotkey",(function(e){Km(e,"lucide-x"),mv(e,L1.tooltipDeleteHotkey()),e.addEventListener("click",(function(e){e.preventDefault(),r()}))}))};if(c)for(var T=function(e){w.createSpan("setting-hotkey",(function(n){k(n,e,(function(){return y(i,void 0,void 0,(function(){var n;return b(this,(function(i){switch(i.label){case 0:return 0!==(n=r.filter((function(t){return sF(t)!==sF(e)}))).length||u?o.setHotkeys(t,n):o.removeHotkeys(t),[4,o.save()];case 1:return i.sent(),this.updateHotkeyVisibility(),[2]}}))}))}))}))},A=0,P=r;A0},t.prototype.checkForUpdate=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r,o,a,s,l,c,u,h,p,d,f;return b(this,(function(m){switch(m.label){case 0:if(t=this.getThemeFolder(),n=this.updates||{},i=e.name,r=e.repo,!this.isThemeInstalled(i))return[2];o=null===(d=this.themes[i])||void 0===d?void 0:d.version,a=UM(r,H1),s=null,m.label=1;case 1:return m.trys.push([1,3,,4]),[4,nx(a).json];case 2:return(s=m.sent())&&s.name&&s.name===i?[3,4]:[2];case 3:return m.sent(),[3,4];case 4:return s?[3,10]:[4,this.downloadLegacyTheme(e)];case 5:l=m.sent(),c=!!(null===(f=this.themes[e.name])||void 0===f?void 0:f.dir),u=c?"".concat(t,"/").concat(i,"/").concat(V1):"".concat(t,"/").concat(i,".css"),h="",m.label=6;case 6:return m.trys.push([6,8,,9]),[4,this.app.vault.adapter.read(u)];case 7:return h=m.sent(),[3,9];case 8:return m.sent(),[2,!1];case 9:return l!==h?(n[i]={themeInfo:e},[2,!0]):[2,!1];case 10:return[4,PQ(r,s)];case 11:return p=m.sent(),!o||p&&jG(o,p)?(n[i]={themeInfo:e,version:p},[2,!0]):[2,!1]}}))}))},t.prototype.checkForUpdates=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o;return b(this,(function(a){switch(a.label){case 0:this.updates={},a.label=1;case 1:return a.trys.push([1,3,,4]),[4,W1()];case 2:return e=a.sent(),[3,4];case 3:return t=a.sent(),console.error(t),new vx(z1.msgFailedToInstallTheme()),[2];case 4:n=0,i=e,a.label=5;case 5:return n640||i.naturalHeight>320)try{o=activeDocument.createElement("canvas"),(a=o.getContext("2d")).imageSmoothingQuality="high",s=Math.min(512/i.naturalWidth,288/i.naturalHeight),o.width=Math.floor(i.naturalWidth*s),o.height=Math.floor(i.naturalHeight*s),a.drawImage(i,0,0,o.width,o.height),i.src=o.toDataURL()}catch(e){console.log("Unable to downsize theme image",e)}d.label=3;case 3:return e=!0,[3,1];case 4:return[3,11];case 5:return l=d.sent(),u={error:l},[3,11];case 6:return d.trys.push([6,,9,10]),e||c||!(h=t.return)?[3,8]:[4,h.call(t)];case 7:d.sent(),d.label=8;case 8:return[3,10];case 9:if(u)throw u.error;return[7];case 10:return[7];case 11:return[2]}}))})),i}return m(t,e),t.prototype.onClose=function(){e.prototype.onClose.call(this),localStorage.setItem("communityThemeSortOrder",this.sortOrder)},t.prototype.onOpen=function(){return y(this,void 0,Promise,(function(){return b(this,(function(t){return this.onlyShowUpdates?(this.currentModeToggleSetting.settingEl.detach(),this.installedOnlyToggleSetting.settingEl.detach()):"system"===this.app.vault.getConfig("theme")&&(this.currentModeToggleSetting.settingEl.detach(),this.currentModeToggle.setValue(!1)),e.prototype.onOpen.call(this),[2]}))}))},t.prototype.addCustomControls=function(e){var t=this;this.currentModeToggleSetting=new AT(e).setName("obsidian"===this.app.vault.getConfig("theme")?G1.labelDarkThemeOnly():G1.labelLightThemeOnly()).addToggle((function(e){return t.currentModeToggle=e.setSmall().setValue(!0).onChange((function(){return t.update()}))}))},t.prototype.setAutoOpen=function(e){return this.selectedItemId=e,this},t.prototype.loadItems=function(){return y(this,void 0,Promise,(function(){var e,t,n,i,r,o,a,s,l,c,u,h,p,d,f,m,g,y,w,k,C,E,S,M;return b(this,(function(b){switch(b.label){case 0:e=this.app.customCss,t={},n={},i=W1(),r=j1(),b.label=1;case 1:return b.trys.push([1,3,,4]),[4,i];case 2:for(o=b.sent(),a=0,s=o;a640||v.naturalHeight>320)&&e.imageResizeQueue.add(v)}))}else i.createDiv("community-item-screenshot mod-unavailable",(function(e){Km(e.createDiv("placeholder-icon"),"lucide-camera-off")}));t.init=!0}var g=s.has(l),y=n.theme===l&&(g||h);i.toggleClass("mod-active",y),r.empty(),h&&(l=lm.setting.appearance.labelDefaultTheme()),hT(r,l,u),y?r.createSpan({cls:"flair mod-pop",text:lm.setting.appearance.labelCurrentlyActive()}):n.oldThemes.contains(l)&&!n.themes.hasOwnProperty(l)?r.createSpan({cls:"flair",text:G1.labelLegacy()}):(g||h)&&r.createSpan({cls:"flair",text:G1.labelInstalled()}),o.empty(),c&&(o.setText(K1.labelByAuthor()),hT(o,c,u,-l.length)),n.updates.hasOwnProperty(t.name)?(a.firstChild||(Km(a,"lucide-alert-triangle"),mv(a,G1.labelUpdateAvailable())),a.show()):a.hide(),i.show()};t.el.hide(),v<20?i():y.renderQueue.add(i),v++},y=this,b=0,w=u;bMath.abs(e.deltaY)?t.scrollLeft+=e.deltaX:t.scrollLeft+=e.deltaY,e.preventDefault()}}var Q1=function(e){function t(t,n){var i=e.call(this,t,n)||this;i.type="tabs",i.children=[],i.parent=null,i.allowSingleChild=!0,i.autoManageDOM=!1,i.tabHeaderEls=[],i.currentTab=0,i.hasLockedTabWidths=!1,i.isStacked=!1,i.containerEl.addClass("workspace-tabs");var r=i.tabHeaderContainerEl=i.containerEl.createDiv("workspace-tab-header-container"),o=i.tabsInnerEl=r.createDiv("workspace-tab-header-container-inner"),a=i.tabsContainerEl=i.containerEl.createDiv("workspace-tab-container");return i.containerEl.on("click",".workspace-tab-header",(function(e,t){var n=i.tabHeaderEls.indexOf(t);if(-1!==n){i.selectTabIndex(n);var r=i.children[n];r instanceof J1&&i.workspace.setActiveLeaf(r,{focus:!0})}})),o.addEventListener("wheel",X1,{passive:!1}),window.frameDom&&cY(r),r.addEventListener("mouseleave",(function(){i.unlockTabWidths()})),a.addEventListener("scroll",(function(){return i.onContainerScroll()}),{passive:!0}),r.createDiv("workspace-tab-header-new-tab",(function(e){e.createSpan("clickable-icon",(function(e){mv(e,lm.interface.labelNewTab()),Km(e,"lucide-plus"),e.addEventListener("click",(function(){var e=new J1(i.app);i.insertChild(i.children.length,e),i.selectTabIndex(i.children.length),i.workspace.setActiveLeaf(e,{focus:!0})}))}))})),r.createDiv("workspace-tab-header-spacer"),r.createDiv("workspace-tab-header-tab-list",(function(e){e.createSpan("clickable-icon",(function(e){Km(e,"lucide-chevron-down");var t=function(t){if(!e.classList.contains("has-active-menu")){var n=(new Ng).addSections(["action","close","","tablist"]);n.dom.addClass("mod-tab-list"),n.addItem((function(e){return e.setSection("action").setTitle(i.isStacked?lm.interface.menu.unstackTabs():lm.interface.menu.stackTabs()).setIcon("lucide-layers").onClick((function(){i.setStacked(!i.isStacked)}))})).addItem((function(e){return e.setSection("close").setTitle(lm.interface.menu.closeAll()).setIcon("lucide-x").onClick((function(){for(var e=0,t=i.children.slice();e0&&(this.updateTabDisplay(),this.scrollIntoView(this.currentTab),this.workspace.requestUpdateLayout()))},t.prototype.serialize=function(){var t=e.prototype.serialize.call(this);return this.currentTab>0&&(t.currentTab=this.currentTab),this.isStacked&&(t.stacked=!0),t},t.prototype.selectTabIndex=function(e){var t;e=Math.clamp(e,0,this.children.length-1),this.currentTab!==e&&(this.currentTab=e,this.updateTabDisplay(),this.isStacked&&(null===(t=this.children[this.currentTab])||void 0===t||t.containerEl.removeClass("is-hidden"),this.scrollIntoView(this.currentTab)),this.workspace.requestSaveLayout(),this.workspace.requestResize())},t.prototype.selectTab=function(e){var t=this.children.indexOf(e);-1!==t&&this.selectTabIndex(t)},t.prototype.updateTabDisplay=function(){var e=this,t=e.isStacked,n=e.currentTab,i=e.tabsInnerEl,r=e.tabsContainerEl,o=e.children;if(0!==o.length){(n=Math.clamp(n,0,o.length-1))!==this.currentTab&&(this.currentTab=n,this.workspace.requestSaveLayout(),this.workspace.requestResize());for(var a=[],s=[],l=0,c=o;lu&&(r++,i.x=c);break}}return i.x-=5,{rect:i,index:r,droppedIndex:o}},t.prototype.insertChild=function(t,n){e.prototype.insertChild.call(this,t,n),n instanceof J1&&(n.updateHeader(),fl(n.tabHeaderEl)),this.unlockTabWidths()},t.prototype.removeChild=function(t){var n=this.children.indexOf(t),i=this.currentTab,r=this.children[i];t.tabHeaderEl.removeClass("is-active"),1===this.children.length&&(this.workspace.lastTabGroupStacked=this.isStacked),e.prototype.removeChild.call(this,t),this.children.length>0&&n===i?(this.currentTab=Math.min(n,this.children.length-1),this.workspace.onLayoutChange(this)):this.currentTab=this.children.indexOf(r)},t.prototype.lockTabWidths=function(){if(this.tabHeaderContainerEl.isShown()&&!this.isStacked){this.hasLockedTabWidths=!0;for(var e=[],t=0,n=this.children;t=u);n[s].containerEl.toggleClass("is-hidden",f)}}},t.prototype.scrollIntoView=function(e){var t=this.children,n=this.tabsContainerEl,i=t[e];if(i){for(var r=0,o=0,a=0,s=0;su&&n.scrollTo({behavior:"smooth",left:u})}},t}(KJ),$1=function(){function e(e){this.owner=e,this.backHistory=[],this.forwardHistory=[]}return e.prototype.updateState=function(e){return y(this,void 0,void 0,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:return t=e.state,n=e.eState,t.popstate=!0,[4,this.owner.setViewState(t,n)];case 1:return i.sent(),this.owner.trigger("history-change"),[2]}}))}))},e.prototype.forward=function(){return y(this,void 0,void 0,(function(){return b(this,(function(e){return[2,this.go(1)]}))}))},e.prototype.back=function(){return y(this,void 0,void 0,(function(){return b(this,(function(e){return[2,this.go(-1)]}))}))},e.prototype.pushState=function(e){var t=this.backHistory;t.push(e),t.length>20&&t.unshift(),this.forwardHistory=[],this.owner.trigger("history-change")},e.prototype.go=function(e){return y(this,void 0,void 0,(function(){var t,n,i;return b(this,(function(r){switch(r.label){case 0:if(this.owner.working)return new vx(lm.interface.msgTabBusy()),[2];for(t=this.owner.getHistoryState(),n=t;e>0&&(i=this.forwardHistory.pop());)this.backHistory.push(n),n=i,e--;for(;e<0&&(i=this.backHistory.pop());)this.forwardHistory.push(n),n=i,e++;return n===t?[3,2]:[4,this.updateState(n)];case 1:r.sent(),r.label=2;case 2:return[2]}}))}))},e.prototype.serialize=function(){return{backHistory:k([],this.backHistory,!0),forwardHistory:k([],this.forwardHistory,!0)}},e.prototype.deserialize=function(e){e&&(e.backHistory&&(this.backHistory=e.backHistory),e.forwardHistory&&(this.forwardHistory=e.forwardHistory),this.owner.trigger("history-change"))},e}(),J1=function(e){function t(t,n){var i=e.call(this,t.workspace,n)||this;i.type="leaf",i.activeTime=0,i.history=new $1(i),i.hoverPopover=null,i.tabHeaderEl=null,i.tabHeaderInnerIconEl=null,i.tabHeaderInnerTitleEl=null,i.tabHeaderStatusContainerEl=null,i.tabHeaderStatusPinEl=null,i.tabHeaderStatusLinkEl=null,i.tabHeaderCloseEl=null,i.group=null,i.pinned=!1,i.width=0,i.height=0,i.resizeObserver=null,i.working=!1,i.app=t;var r=i.containerEl;r.addClass("workspace-leaf"),r.addEventListener("focusin",(function(){i.app.workspace.setActiveLeaf(i)})),r.addEventListener("pointerdown",(function(){i.app.workspace.setActiveLeaf(i)}),{capture:!0});var o=function(){if(i.parent instanceof Q1){var e=i.parent.children;i===e.last()?i.parent.unlockTabWidths():i.parent.lockTabWidths()}i.detach()},a=i.tabHeaderEl=createDiv("workspace-tab-header tappable");a.draggable=!0,a.createDiv("workspace-tab-header-inner",(function(e){i.tabHeaderInnerIconEl=e.createDiv("workspace-tab-header-inner-icon"),i.tabHeaderInnerTitleEl=e.createDiv("workspace-tab-header-inner-title"),i.tabHeaderStatusContainerEl=e.createDiv("workspace-tab-header-status-container"),i.tabHeaderCloseEl=e.createDiv("workspace-tab-header-inner-close-button",(function(e){Km(e,"lucide-x"),mv(e,lm.interface.menu.close()),e.addEventListener("click",o)}))})),a.addEventListener("dragstart",(function(e){i.workspace.onDragLeaf(e,i)})),a.addEventListener("contextmenu",(function(e){return i.onOpenTabHeaderMenu(e,a)})),a.addEventListener("mousedown",(function(e){1===e.button&&e.preventDefault()})),a.addEventListener("auxclick",(function(e){1===e.button&&o()})),a.addEventListener("mouseover",(function(e){var t;if(!e.defaultPrevented&&Lc(e,a)){var n=null===(t=i.getViewState().state)||void 0===t?void 0:t.file;if(n&&String.isString(n))i.app.vault.getFileByPath(n)&&i.workspace.trigger("hover-link",{event:e,source:"tab-header",hoverParent:i,targetEl:a,linktext:n})}}));var s=wc(i.onResize.bind(i),20,!0),l=i.resizeObserver=new ResizeObserver((function(e){for(var t=0,n=e;t=t.maxCount)break}return n},e}();function s0(){if(!Yl.isDesktopApp){var e=lm.interface.msgDesktopOnlyFeature();throw new vx(e),new Error(e)}if(zf<13){e=lm.interface.msgUpgradeInstaller();throw new vx(e),new Error(e)}}var l0=function(e){function t(t,n){var i=e.call(this)||this;if(i.leftSplit=null,i.rightSplit=null,i.leftRibbon=null,i.rightRibbon=null,i.rootSplit=null,i.floatingSplit=null,i.activeLeaf=null,i.activeTabGroup=null,i.containerEl=null,i.layoutReady=!1,i.requestSaveLayout=wc(i.saveLayout.bind(i),1e3),i.requestResize=wc(i.onResize.bind(i),0),i.requestActiveLeafEvents=wc(i.activeLeafEvents.bind(i),0),i.requestUpdateLayout=Cc(i.updateLayout),i.requestLayoutChangeEvents=wc((function(){return i.layoutReady&&i.trigger("layout-change")}),10),i.mobileFileInfos=[],i.backlinkInDocument=!1,i.lastTabGroupStacked=!1,i.protocolHandlers=new Map,i.onLayoutReadyCallbacks=[],i.undoHistory=[],i.lastActiveFile=null,i._activeEditor=null,i.layoutItemQueue=[],i.handleXCallback=function(e,t){if(!i.app.vault.getConfig("uriCallbacks"))return!1;if(e.hasOwnProperty("x-success")){var n=e["x-success"],r={name:t.basename,url:i.app.getObsidianUrl(t)};Yl.isDesktopApp&&i.app.vault.adapter instanceof Cu&&(r.file=i.app.vault.adapter.getFilePath(t.path));try{if(n=KM.addQuery(n,r),"file:"===new URL(n).protocol.toLowerCase())return!0;window.open(n)}catch(e){console.error(e)}return!0}return!1},i.hoverLinkSources={},i.operatorFuncConfigs={},i.editorExtensions=[],i.app=t,i.containerEl=n,i.scope=new Dg(t.scope,(function(){var e=i.activeLeaf;return e&&e.view&&e.view.scope?e.view.scope:null})),i.recentFileTracker=new a0(i,t.vault),i.app.scope.register([],"Escape",(function(){var e=null,t=activeDocument.activeElement;i.activeLeaf&&i.activeLeaf.view instanceof U0&&"source"===i.activeLeaf.view.currentMode.type&&i.activeLeaf.view.titleEl!==t&&i.activeLeaf.view.inlineTitleEl!==t&&!ug(t)&&!i.activeLeaf.view.editor.hasFocus()&&i.activeLeaf.view.editor.focus(),i.activeLeaf&&i.activeLeaf.view.navigation||(i.activeLeaf&&i.iterateLeaves(i.activeLeaf.getContainer(),(function(t){t.view.navigation&&(!e||e.activeTime0){if(!e){var n=t.shift(),r=i.activeLeaf,o=i.rootSplit;if(n.rootId&&(o=[i.rootSplit,i.floatingSplit,i.leftSplit,i.rightSplit].find((function(e){return e.id===n.rootId}))),n.parentId){var a=null;i.iterateTabs([o],(function(e){e.id===n.parentId&&(a=e)})),a&&(r=i.createLeafInTabGroup(a))}r&&"empty"===r.view.getViewType()||(r=o===i.floatingSplit?i.openPopoutLeaf():Yl.isMobile?i.createLeafInTabGroup():i.splitActiveLeaf(),n.parentId&&(r.parent.id=n.parentId)),n.leafId&&(r.id=n.leafId),n.state.active=!0,n.leafHistory&&r.history.deserialize(n.leafHistory),r.setViewState(n.state,n.eState)}return!0}},hotkeys:[oF(["Mod","Shift"],"T")]}),Yl.canExportPdf&&s.addCommand({id:"workspace:export-pdf",name:lm.commands.exportPdf(),checkCallback:function(e){var t=i.getActiveViewOfType(U0);if(t)return e||t.printToPdf(),!0}}),s.addCommand({id:"editor:rename-heading",name:lm.interface.menu.renameHeading(),icon:"lucide-edit-3",editorCheckCallback:function(e,t,n){var r=n.file;if(r){var o=t.getCursor(),a=eE(t.getLine(o.line));if(a){if(!e){var s=n instanceof JY?n.before.length:0,l=t.cm.state,c=l.doc,u=l.selection,h=c.lineAt(u.main.from),p={start:h.from+s,end:h.to+s};new kx(i.app,t,r,p,a).open()}return!0}}}}),Yl.canPopoutWindow&&(s.addCommand({id:"workspace:open-in-new-window",name:lm.commands.openInNewWindow(),icon:"lucide-maximize",checkCallback:function(e){var t=i.activeLeaf;if(t&&t.view instanceof zg)return e||i.openPopoutLeaf().setViewState(t.getViewState(),{focus:!0}),!0}}),s.addCommand({id:"workspace:move-to-new-window",name:lm.commands.moveToNewWindow(),icon:"lucide-maximize",checkCallback:function(e){var t=i.activeLeaf;if(t&&t.view instanceof zg)return e||i.moveLeafToPopout(t),!0}})),s.addCommand({id:"workspace:next-tab",name:lm.commands.goToNextTab(),icon:"lucide-arrow-right",checkCallback:function(e){var t=i.activeLeaf;if(t&&t.parent instanceof Q1){if(!e){var n=t.parent,r=n.currentTab+1;r>=n.children.length&&(r=0),n.selectTabIndex(r);var o=n.children[r];o instanceof J1&&i.setActiveLeaf(o,{focus:!0})}return!0}},hotkeys:[oF(["Ctrl"],"Tab"),Yl.isMacOS?oF(["Meta","Shift"],"]"):oF(["Ctrl"],"PageDown")]});for(var c=function(e){s.addCommand({id:"workspace:goto-tab-".concat(e),name:lm.commands.goToNthTab({n:e}),checkCallback:function(t){if(Yl.isPhone)return!1;var n=i.activeLeaf;if(n&&n.parent instanceof Q1){var r=n.parent.children[e-1];if(r)return t||i.setActiveLeaf(r,{focus:!0}),!0}return!1},hotkeys:[oF(["Mod"],String(e))]})},u=0,h=[1,2,3,4,5,6,7,8];u0}}),s.addCommand({id:"workspace:close-tab-group",name:lm.commands.closeTabGroup(),icon:"lucide-x",checkCallback:function(e){if(Yl.canSplit){var t=i.activeLeaf;if(t&&!i.isInSidebar(t)){if(!e)for(var n=0,r=t.parent.children.slice();n1){if(!e)for(var n=0,r=t.parent.children.slice();n0)Lm.last().close();else{var t=i.leftSplit,n=i.rightSplit;if(t.collapsed||t instanceof QJ&&t.isPinned)if(n.collapsed||n instanceof QJ&&n.isPinned){var r=null===(e=i.activeLeaf)||void 0===e?void 0:e.history;if(r&&r.backHistory.length>0)r.back();else{var o=Date.now();o-p<5e3?(d&&(d.containerEl.detach(),d.hide()),bm.minimizeApp()):(p=o,d=new vx(lm.interface.mobile.msgBackAgainToExit(),0),window.setTimeout((function(){d&&d.hide(),d=null}),5e3))}}else n.collapse();else t.collapse()}}))}Pm(i.containerEl,(function(e){i.trigger("swipe",e)})),i.on("swipe",(function(e){if(!(!i.layoutReady||e.points>1||"y"!==e.direction||e.ye.startX,n=t?i.app.commands.findCommand("app:go-back"):i.app.commands.findCommand("app:go-forward");if(n){var r=document.body.createDiv({cls:"pull-action pull-out-action",text:n.name});r.onClickEvent((function(){r.detach()})),t?r.style.left="0":r.style.right="0";var o=t?1:-1,a=r.offsetWidth,s=a/90,l=!1;e.registerCallback({move:function(t){var n=Math.clamp((t-e.startX)*o/90,0,1);r.toggleClass("mod-activated",1===n),r.style.transform="translateX(".concat(90*-(1-n)*o*s,"px)"),1!==n||l||(navigator.vibrate(100),l=!0)},cancel:function(){r.detach()},finish:function(n,c,u){var h=Math.clamp((n-e.startX)*o/90,0,1);vl(r,new hl({duration:100*h}).addProp("transform","translateX(".concat(90*-(1-h)*o*s,"px)"),"translateX(".concat(a*s*-o,"px)"),null),(function(){r.detach()})),l&&(t?i.app.commands.executeCommandById("app:go-back"):i.app.commands.executeCommandById("app:go-forward"))}})}}})),Yl.isIosApp&&i.on("css-change",(function(){return y(i,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return(e=xT("--background-primary"))&&0!==e.a||(e=yT(getComputedStyle(document.body).backgroundColor)),e?[4,bm.setBackgroundColor({r:e.r/255,g:e.g/255,b:e.b/255})]:[3,2];case 1:t.sent(),t.label=2;case 2:return[2]}}))}))})),i.registerHoverLinkSource("search",{display:lm.plugins.pagePreview.labelSourceSearch(),defaultMod:!0}),i.registerHoverLinkSource("preview",{display:lm.plugins.pagePreview.labelSourcePreview(),defaultMod:!1}),i.registerHoverLinkSource("editor",{display:lm.plugins.pagePreview.labelSourceEditor(),defaultMod:!0}),i.registerHoverLinkSource("tab-header",{display:lm.plugins.pagePreview.labelSourceTabHeader(),defaultMod:!0});var f=CodeMirror.getMode;return CodeMirror.getMode=function(e,t){var n=f.call(CodeMirror,e,t);return!t||n&&"null"!==n.name||(CodeMirror.getMode=f,qN.then((function(){for(var e=0,t=i.getLeavesOfType(U0.VIEW_TYPE);e0?(w=y[0],(k=t.getAbstractFileByPath(w))&&k instanceof zC?[4,g.openFile(k)]:[3,10]):[3,10]);case 9:b.sent(),b.label=10;case 10:this.setActiveLeaf(g),b.label=11;case 11:return r||(n?(r=this.leftSplit=new $J(this)).collapse():r=this.leftSplit=new ZJ(this,"horizontal","left")),o||(o=this.rightSplit=n?new JJ(this):new ZJ(this,"horizontal","right")).collapse(),a||(a=this.floatingSplit=new n0(this)),C=this.containerEl,Yl.isMobile?C.setChildrenInPlace([r.containerEl,i.containerEl,o.containerEl]):C.setChildrenInPlace([this.leftRibbon.containerEl,r.containerEl,i.containerEl,o.containerEl,this.rightRibbon.containerEl]),E=e.active,(S=this.getLeafById(E))&&this.setActiveLeaf(S,{focus:!0}),M=[],this.iterateAllLeaves((function(e){e.isVisible()&&M.push(e.loadIfDeferred())})),[4,Promise.all(M)];case 12:return b.sent(),this.layoutReady=!0,this.onLayoutChange(),this.requestActiveLeafEvents(),[2]}}))}))},t.prototype.onLayoutReady=function(e){null===this.onLayoutReadyCallbacks?e():this.onLayoutReadyCallbacks.push({pluginId:this.app.plugins.loadingPluginId,callback:e})},t.prototype.changeLayout=function(e){return y(this,void 0,void 0,(function(){return b(this,(function(t){switch(t.label){case 0:return this.layoutReady?[4,this.clearLayout()]:[2];case 1:return t.sent(),[4,this.setLayout(e)];case 2:return t.sent(),[2]}}))}))},t.prototype.deserializeLayout=function(e,t){return y(this,void 0,Promise,(function(){var n,i,r,o,a,s,l,c,u,h,p,d,f=this;return b(this,(function(m){switch(m.label){case 0:if(n=function(t){return y(f,void 0,void 0,(function(){var n,i,r;return b(this,(function(o){switch(o.label){case 0:n=0,o.label=1;case 1:return n=13?(a=new i0(this,e.id,e),[4,n(a)]):[3,6];case 5:if(m.sent(),0===a.children.length)return[2,null];for(s=0;sf&&d--,f===d)return}return a.removeChild(t),t.setDimension(null),i.insertChild(d,t),i.selectTabIndex(i.children.indexOf(t)),void n.requestResize()}if(!(i instanceof KJ&&1===i.children.length&&i.children[0]===t)){var v=i.parent;if(v&&v instanceof YJ){var y="top"===h||"bottom"===h?"horizontal":"vertical";if(o){l=new Q1(n);n.splitLeaf(i,l,y,"left"===h||"top"===h),a.removeChild(t),t.setDimension(null),l.insertChild(0,t)}else if("center"===h){var b=a.children.indexOf(t),w=v.children.indexOf(i),k=t.dimension,C=i.dimension,E=new J1(n.app);v.replaceChild(w,E),a.replaceChild(b,i),v.replaceChild(w,t),t.setDimension(C),i.setDimension(k),i instanceof J1&&i.view instanceof rG&&i.detach()}else a.removeChild(t),t.setDimension(null),n.splitLeaf(i,t,y,"left"===h||"top"===h);n.requestResize()}else;}}}}}},g=function(){if(window.removeEventListener("touchend",i),window.removeEventListener("dragover",f),window.removeEventListener("dragenter",y),window.removeEventListener("dragleave",b),window.removeEventListener("dragend",g,{capture:!0}),window.removeEventListener("drop",v),h&&(h.style.opacity=null),o.removeOverlay(),r.detach(),null==a||a.detach(),s.detach(),document.body.removeClass("is-grabbing"),Yl.isMobile&&(u||e.target.dispatchEvent(new MouseEvent("contextmenu",{button:0,buttons:0,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey,screenX:e.screenX,screenY:e.screenY,bubbles:!0,cancelable:!0,clientX:e.clientX,clientY:e.clientY}))),Yl.isDesktopApp&&e&&m&&t.view instanceof zg){var l=t.containerEl.getBoundingClientRect(),c=t.containerEl.win.electron.webFrame.getZoomLevel();m=!1,t.parent&&t.parent.removeChild(t),t.setDimension(null),n.openPopout({x:e.screenX,y:e.screenY,size:l,zoom:c}).insertChild(0,Q1.createFrom(n,t)),n.setActiveLeaf(t,{focus:!0})}},y=function(e){e.target&&(m=!1),f(e)},b=function(e){e.relatedTarget||0===e.buttons||(d(),e.win.setTimeout((function(){m=!0}),10))};window.addEventListener("dragover",f),window.addEventListener("dragenter",y),window.addEventListener("dragleave",b),window.addEventListener("dragend",g,{capture:!0}),window.addEventListener("drop",v)}},t.prototype.onStartLink=function(e){var t=this,n=this.app.dragManager,i=function(i){i.preventDefault();var r=t.getDropLocation(i);if(r&&r!==e)if(r instanceof Q1&&(r=r.children[r.currentTab]),r instanceof J1)if(r.view instanceof zg){var o=r.containerEl.getBoundingClientRect();n.showOverlay(i.doc,o)}else n.hideOverlay();else n.hideOverlay();else n.hideOverlay()},r=function(o){window.removeEventListener("mousemove",i),window.removeEventListener("mouseup",r),n.removeOverlay();var a=t.getDropLocation(o);a&&a!==e&&(a instanceof Q1&&(a=a.children[a.currentTab]),a instanceof J1&&a.view instanceof zg&&e.setGroupMember(a))};window.addEventListener("mousemove",i),window.addEventListener("mouseup",r)},t.prototype.getDropLocation=function(e){var t=e.win;if(t!==window)for(var n=0,i=this.floatingSplit.children;n0&&n.setDimension(100/e.children.length),e.insertChild(t,n),this.setActiveLeaf(n),n},t.prototype.splitLeaf=function(e,t,n,i){var r,o;void 0===n&&(n="vertical");for(var a=e;a;){if(a instanceof YJ){o=(r=a).children.indexOf(e);break}e=a,a=a.parent}t instanceof Q1||(t=Q1.createFrom(this,t));var s=e.dimension;if(n!==r.direction){e.setDimension(null);var l=new YJ(this,n);r.replaceChild(o,l),l.setDimension(s),i?(l.insertChild(0,t),l.insertChild(1,e)):(l.insertChild(0,e),l.insertChild(1,t))}else null!==s&&(e.setDimension(s/2),t.setDimension(s/2)),i?r.insertChild(o,t):r.insertChild(o+1,t)},t.prototype.createLeafBySplit=function(e,t,n){var i=new J1(this.app);return this.splitLeaf(e,i,t,n),this.setActiveLeaf(i),i},t.prototype.splitActiveLeaf=function(e){var t=this.getMostRecentLeaf();return t?this.createLeafBySplit(t,e):this.createLeafInParent(this.rootSplit,0)},t.prototype.splitLeafOrActive=function(e,t){return e?this.createLeafBySplit(e,t):this.splitActiveLeaf(t)},t.prototype.duplicateLeaf=function(e,t,n){return y(this,void 0,Promise,(function(){var i,r,o,a;return b(this,(function(s){switch(s.label){case 0:return e?("horizontal"!==t&&"vertical"!==t||(n=t,t="split"),i=e.getViewState(),r=e.getEphemeralState(),o=e.history.serialize(),[4,(a="split"===t?this.createLeafBySplit(e,n):this.getLeaf(t)).setViewState(i,v(v({},r),{focus:!0}))]):[2];case 1:return s.sent(),a.history.deserialize(o),[2,a]}}))}))},t.prototype.getUnpinnedLeaf=function(e){var t,n;void 0===e&&(e=!0);var i=this.activeLeaf;if(i&&i.canNavigate())return i;var r=null!==(t=null==i?void 0:i.getContainer())&&void 0!==t?t:this.rootSplit,o=null;if(this.iterateLeaves(r,(function(e){if(e.canNavigate()){var t=e.parent;t&&(t.children[t.currentTab]===e||t instanceof Q1&&t.isStacked)&&(!o||o.activeTimei.activeTime&&(i=o,n=r)}if(i.view instanceof rG)return i;var a=new J1(this.app);return e.insertChild(n+1,a),this.app.vault.getConfig("focusNewTab")&&this.setActiveLeaf(a),a},t.prototype.moveLeafToPopout=function(e,t){var n;if(s0(),e.view instanceof zg){null!=t||(t={}),t.size||(t.size=e.containerEl.getBoundingClientRect()),t.zoom||(t.zoom=e.containerEl.win.electron.webFrame.getZoomLevel());var i=this.app.workspace.openPopout(t);return null===(n=e.parent)||void 0===n||n.removeChild(e),e.setDimension(null),i.insertChild(0,Q1.createFrom(this,e)),i}},t.prototype.openPopout=function(e){s0();var t=new i0(this,null,e);return this.floatingSplit.insertChild(-1,t),t},t.prototype.openPopoutLeaf=function(e){var t=this.openPopout(e),n=new J1(this.app);return t.insertChild(0,Q1.createFrom(this,n)),n},t.prototype.openLinkText=function(e,t,n,i){return y(this,void 0,void 0,(function(){return b(this,(function(r){switch(r.label){case 0:return[4,this.getLeaf(n).openLinkText(e,t,i)];case 1:return r.sent(),[2]}}))}))},t.prototype.setActiveLeaf=function(e,t,n){var i;t&&"boolean"!=typeof t&&(n=t.focus);var r=this.activeLeaf;if(this.isAttached(e))if(r!==e){if(r&&(r.containerEl.removeClass("mod-active"),r.tabHeaderEl.removeClass("mod-active")),this.activeTabGroup&&this.activeTabGroup.containerEl.removeClass("mod-active"),this.activeLeaf=e,this.activeTabGroup=null==e?void 0:e.parent,this._activeEditor=null,e){e.activeTime=Date.now(),e.containerEl.addClass("mod-active"),e.tabHeaderEl.addClass("mod-active"),null===(i=this.activeTabGroup)||void 0===i||i.containerEl.addClass("mod-active");var o=e.parent;if(o instanceof Q1){var a=o.children.indexOf(e);o.selectTabIndex(a)}var s=e.getContainer();s instanceof i0?s.updateTitle():this.updateTitle(),n&&(Yl.isDesktopApp&&s.focus(),e.setEphemeralState({focus:!0})),this.updateMobileVisibleTabGroup(),this.requestActiveLeafEvents()}}else n&&e&&e.setEphemeralState({focus:!0})},t.prototype.activeLeafEvents=function(){if(this.layoutReady){var e=this.activeLeaf;this.trigger("active-leaf-change",e);var t=this.lastActiveFile,n=this.getActiveFile();t!==n&&(this.recentFileTracker.onFileOpen(n,t),this.lastActiveFile=n,this.trigger("file-open",n))}},t.prototype.getLeafById=function(e){var t=null;return this.iterateAllLeaves((function(n){if(n.id===e)return t=n,!0})),t},t.prototype.getGroupLeaves=function(e){var t=[];return e?(this.iterateAllLeaves((function(n){n.group===e&&t.push(n)})),t):t},t.prototype.getFocusedContainer=function(){if(activeWindow===window)return this.rootSplit;for(var e=0,t=this.floatingSplit.children;e0){s=u[h-1];break}}else if(h0;)n.pop().recomputeChildrenDimensions();if(0===this.rootSplit.children.length){var i=new J1(this.app),r=new Q1(this);this.lastTabGroupStacked&&r.setStacked(!0),r.insertChild(0,i),this.rootSplit.insertChild(0,r)}if(!this.activeLeaf||!this.isAttached(this.activeLeaf)){var o=this.activeTabGroup,a=null;o&&o instanceof Q1&&this.isAttached(o)&&(a=o.children[o.currentTab]),a||(a=this.getMostRecentLeaf(this.getFocusedContainer())),a||this.iterateAllLeaves((function(e){(!a||a.activeTime0&&(h=c=o.first(),p=u=o.last()),t===n){var d=i.children[0],f=r.children[0];d instanceof Q1&&(d.containerEl.addClass("mod-top","mod-top-left-space"),i.collapsed||(c=d)),f instanceof Q1&&(f.containerEl.addClass("mod-top","mod-top-right-space"),r.collapsed||(u=f));var m=e,v=m.leftSidebarToggleButtonEl,g=m.rightSidebarToggleButtonEl,y=function(e,t,n){var i=e.parentElement;if(t!==i){var r=n.prepend,o=n.oldStyle,a=n.newStyle,s=e.offsetWidth,l=i?parseInt(getComputedStyle(i).paddingLeft):0,c=t?parseInt(getComputedStyle(t).paddingLeft):0;if(isNaN(l)&&(l=0),isNaN(c)&&(c=0),i&&""!==o){var u=e.cloneNode(!0);e.replaceWith(u);var h=new hl(_J);"offset"===o?h.addProp("margin-left",c+"px",-s+"px").addProp("left","",-l+"px"):"none"!==o&&h.addProp("overflow","hidden","hidden","").addProp("width",s+"px","0"),vl(u,h,(function(){return u.detach()}))}if(r?t.prepend(e):t.appendChild(e),i&&""!==a){h=new hl(_J);"offset"===a?h.addProp("margin-left",-(s+l)+"px","").addProp("left",-l+"px",""):"none"!==a&&h.addProp("overflow","hidden","hidden","").addProp("width","0",s+"px",""),vl(e,h)}}};Yl.isDesktopApp&&(!e.leftRibbon.containerEl.isShown()||Yl.isMacOS&&"hidden"===window.titlebarStyle)||Yl.isTablet?!i.collapsed&&d instanceof Q1?y(v,d.tabHeaderContainerEl,{oldStyle:"offset",newStyle:""}):i.collapsed&&h&&y(v,h.tabHeaderContainerEl,{prepend:!0,oldStyle:"none",newStyle:"offset"}):e.leftRibbon.containerEl.prepend(v),Yl.isTablet&&i instanceof QJ&&i.isPinned&&v.detach(),Yl.isDesktopApp&&!r.collapsed&&(Yl.isMacOS||"hidden"!==window.titlebarStyle||electronWindow.isFullScreen())?f instanceof Q1&&y(g,f.tabHeaderContainerEl,{newStyle:""}):p&&y(g,p.tabHeaderContainerEl,{oldStyle:"none",newStyle:""}),Yl.isTablet&&r instanceof QJ&&r.isPinned&&g.detach()}Yl.isDesktopApp&&(c&&c.containerEl.addClass("mod-top-left-space"),u&&u.containerEl.addClass("mod-top-right-space"))};u(n);for(var h=0,p=o.children;h0},t.prototype.pushUndoHistory=function(e,t,n){if(e){var i=e.getViewState();if("empty"!==i.type){var r=e.getEphemeralState(),o=this.undoHistory;o.unshift({leafId:e.id,state:i,eState:r,parentId:t,rootId:n,leafHistory:e.history.serialize()}),o.length>10&&o.pop()}}},t.prototype.updateTitle=function(){var e=this.getMostRecentLeaf(this.rootSplit);document.title=this.app.getAppTitle(e?e.getDisplayText().trim():"")},t.prototype.registerEditorExtension=function(e){this.editorExtensions.push(e),this.updateOptions()},t.prototype.unregisterEditorExtension=function(e){this.editorExtensions.remove(e),this.updateOptions()},t.prototype.trigger=function(t){for(var n=[],i=1;i1&&(e.enter=f0(e.enter)),e.leave&&e.leave.length>1&&(e.leave=f0(e.leave)),d0.call(this,e)};var m0={from:function(){}};t.PluginField={define:m0,decorations:m0,atomicRanges:m0,scrollMargins:m0};var v0={obsidian:d,"@codemirror/autocomplete":c,"@codemirror/collab":h,"@codemirror/commands":a,"@codemirror/language":o,"@codemirror/lint":p,"@codemirror/search":s,"@codemirror/state":e,"@codemirror/text":e,"@codemirror/view":t,"@lezer/common":i,"@lezer/lr":l,"@lezer/highlight":r},g0={"@codemirror/closebrackets":c,"@codemirror/comment":a,"@codemirror/fold":o,"@codemirror/gutter":t,"@codemirror/highlight":o,"@codemirror/history":a,"@codemirror/matchbrackets":o,"@codemirror/panel":t,"@codemirror/rangeset":e,"@codemirror/rectangular-selection":t,"@codemirror/stream-parser":o,"@codemirror/tooltip":t},y0=function(e){function t(t,n){var i=e.call(this)||this;return i._lastDataModifiedTime=0,i._userDisabled=!1,i.onConfigFileChange=wc(i._onConfigFileChange,50),i.app=t,i.manifest=n,i}return m(t,e),t.prototype.load=function(){return y(this,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return this._loaded?[2]:(this._loaded=!0,[4,this.onload()]);case 1:for(n.sent(),e=0,t=this._children.slice();e=e[1]}));if(c&&c.frontmatterPosition){var n=c.frontmatterPosition;n&&n.start.offset<=e[0]&&n.end.offset>=e[1]&&(t=!0)}t||(u=!0,w.content.push(e))},C=0,E=h;C0?(o.focus(),r=!1):r=!0}r&&this.focus(),e.hasOwnProperty("scroll")&&this.applyScroll(e.scroll)},t.prototype.setHighlight=function(e){var t=this,n=this.editor;if(void 0!==e.startLoc&&void 0!==e.endLoc){var i=e.startLoc,r=e.endLoc,o={line:i.line,ch:i.col},a=r?{line:r.line,ch:r.col}:{line:n.lastLine(),ch:n.getLine(n.lastLine()).length};this.highlightSearchMatches([{from:o,to:a}]),this.isScrolling=!0,this.onScroll()}else if(void 0!==e.line&&e.line>=0){var s=e.line;o={line:s,ch:0},a={line:s,ch:n.getLine(s).length};n.setSelection(a,a),this.highlightSearchMatches([{from:o,to:a}]),this.isScrolling=!0,this.onScroll()}else if(void 0!==e.propertyMatches){var l=e.propertyMatches;l.length>0&&("hidden"===this.app.vault.getConfig("propertiesInDocument")||this.view.canShowProperties()?y(t,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return[4,CD(this.app)];case 1:return(e=t.sent())&&e.focusProperty(l[0].key),[2]}}))})):(n.setSelection({line:0,ch:0}),this.isScrolling=!0,this.onScroll()))}else if(void 0!==e.match){var c=e.match,u=function(e,t){for(var n=[],i=0,r=t;i0&&(r=r.filter((function(e){return 0!==e.from})),a.collapsed&&r.unshift({from:0,to:0})),{folds:r,lines:o}},t.prototype.getDynamicExtensions=function(){var t=e.prototype.getDynamicExtensions.call(this);if(!this.sourceMode){var n=this.propertiesExtension;n||(n=this.propertiesExtension=rC(this,this.view)),t.push(n)}return t},t.prototype.onUpdate=function(t,n){e.prototype.onUpdate.call(this,t,n);var i=t.transactions;n&&(this.view.requestSave(),this.requestSaveFolds(),this.requestOnInternalDataChange()),(ay(i,zp)||ay(i,qp))&&this.requestSaveFolds()},t.prototype.onResize=function(){e.prototype.onResize.call(this);var t=this.containerEl;t.offsetParent&&this.updateBottomPadding(t.clientHeight)},t.prototype.updateBottomPadding=function(e){var t=this.view.backlinksEl,n="".concat(Math.round(e/2),"px");Yl.isMobile&&document.body.hasClass("keyboard-animating")&&(n="calc((".concat(e,"px + var(--keyboard-height)) / 2)")),t.isShown()&&(n="100px",t.style.minHeight=Math.max(0,e/2-100)+"px"),this.cm.contentDOM.style.paddingBottom=n},t.prototype.updateReadableLineLength=function(){var e=this.app.vault.getConfig("readableLineLength");this.editorEl.toggleClass("is-readable-line-width",e)},t.prototype.onConfigChanged=function(t){e.prototype.onConfigChanged.call(this,t),"readableLineLength"===t&&this.updateReadableLineLength()},t}(YK),j0="markdown",U0=function(e){function t(t){var n=e.call(this,t)||this;n.icon="lucide-file",n.modeButtonEl=null,n.modes={},n.currentMode=null,n.scroll=null,n.showBacklinks=!1,n.rawFrontmatter=null,n.scope=n.initialScope=new Tg(n.app.scope),n.editMode=n.registerMode(new W0(n)),n.sourceMode={cmEditor:n.editor},n.previewMode=n.registerMode(new qR(n));var i=n.inlineTitleEl=createDiv("inline-title");i.contentEditable="true",i.spellcheck=n.app.vault.getConfig("spellcheck"),i.autocapitalize="on",i.tabIndex=-1,i.enterKeyHint=Yl.isAndroidApp?"enter":"done",i.addEventListener("focus",(function(){n.fileBeingRenamed=n.file})),i.addEventListener("blur",(function(){return n.onInlineTitleBlur()})),i.addEventListener("input",(function(){return n.onTitleChange(i)})),i.addEventListener("paste",(function(e){return n.onTitlePaste(i,e)})),i.addEventListener("keydown",n.onTitleKeydown.bind(n)),n.metadataEditor=new ED(n.app,n),n.addChild(n.metadataEditor),n.backlinksEl=createDiv("embedded-backlinks"),n.backlinksEl.hide(),n.modeButtonEl=n.addAction("lucide-book-open","",n.onSwitchView.bind(n));var r=n.modes;for(var o in r)r.hasOwnProperty(o)&&r[o].hide();var a=n.app.vault.getConfig("defaultViewMode");a&&r.hasOwnProperty(a)||(a="source"),n.currentMode=r[a],n.containerEl.setAttribute("data-mode",n.getMode()),n.currentMode.show(),n.updateButtons(),n.showBacklinks=n.app.workspace.backlinkInDocument,n.updateShowBacklinks(),n.addChild(n.previewMode);var s=0;return n.containerEl.addEventListener("wheel",(function(e){if(n.app.vault.getConfig("baseFontSizeAction")){var t=e.ctrlKey,i=Date.now();if(t&&!(s>i-500)){if(t&&0!==e.deltaY){if(ql&&Number.isInteger(e.deltaY))return;var r=n.app.vault.getConfig("baseFontSize");e.deltaY<0?r++:r--,r=Math.clamp(r,10,30),n.app.vault.setConfig("baseFontSize",r)}}else s=i}}),{passive:!0}),n}return m(t,e),Object.defineProperty(t.prototype,"editor",{get:function(){return this.editMode.editor},enumerable:!1,configurable:!0}),t.prototype.replaceScope=function(e){this.scope=e||this.initialScope},t.prototype.saveFrontmatter=function(e){var t=Ux(this.getViewData(),e);this.setViewData(t,!1),this.onInternalDataChange(),this.save()},t.prototype.getFile=function(){return this.file},t.prototype.shiftFocusAfter=function(){this.setEphemeralState({focus:!0,focusOnMobile:!0,cursor:{from:{line:0,ch:0}}})},t.prototype.shiftFocusBefore=function(){this.canShowProperties()&&!this.metadataEditor.hasFocus()&&this.metadataEditor.focus({bottom:!0})||this.inlineTitleEl.isShown()&&wv(this.inlineTitleEl)},t.prototype.onInlineTitleBlur=function(){return y(this,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return e=this.inlineTitleEl,[4,this.saveTitle(e)];case 1:return t.sent()||e.setText(this.file.basename),dv(),[2]}}))}))},t.prototype.onload=function(){e.prototype.onload.call(this);var t=this.leaf;this.registerEvent(t.workspace.on("quick-preview",this.onExternalDataChange,this)),this.registerEvent(t.workspace.on("resize",this.onResize,this)),this.registerEvent(t.workspace.on("css-change",this.onCssChange,this)),this.registerEvent(this.app.vault.on("config-changed",this.onConfigChanged,this)),this.onResize()},t.prototype.onClose=function(){return y(this,void 0,void 0,(function(){return b(this,(function(t){switch(t.label){case 0:return[4,e.prototype.onClose.call(this)];case 1:return t.sent(),this.editMode.destroy(),[2]}}))}))},t.prototype.getViewType=function(){return j0},t.prototype.canAcceptExtension=function(e){return PM.contains(e)},t.prototype.getState=function(){var t=e.prototype.getState.call(this);return t.mode=this.getMode(),t.source=this.editMode.sourceMode,t.backlinks=this.showBacklinks,this.backlinks&&(t.backlinkOpts=this.backlinks.getState()),t},t.prototype.setState=function(t,n){return y(this,void 0,Promise,(function(){var i,r,o,a,s,l,c;return b(this,(function(u){switch(u.label){case 0:return i=!1,r=t.mode,o=t.backlinks,a=t.backlinkOpts,s=t.source,r?(l=this.modes).hasOwnProperty(r)?[4,this.setMode(l[r])]:[3,2]:[3,2];case 1:i=u.sent(),u.label=2;case 2:return c=this.editMode,"boolean"==typeof s&&c.sourceMode!==s&&(c.toggleSource(),i=!0),isBoolean(o)&&(this.showBacklinks=o,this.updateShowBacklinks(),o&&a&&"object"==typeof a&&this.backlinks.setState(a)),i&&(n.layout=!0),[4,e.prototype.setState.call(this,t,n)];case 3:return u.sent(),[2]}}))}))},t.prototype.getEphemeralState=function(){var t=e.prototype.getEphemeralState.call(this);return this.currentMode.getEphemeralState(t),null!==this.scroll&&(t.scroll=this.scroll),t},t.prototype.setEphemeralState=function(t){var n=t.rename;if(n){var i=void 0;if("start"===n?i=!0:"end"===n&&(i=!1),this.inlineTitleEl.isShown())(this.currentMode===this.editMode?this.editMode.cm.scrollDOM.scrollTop:this.previewMode.getScroll())<.5&&(wv(this.inlineTitleEl,i),delete t.rename)}e.prototype.setEphemeralState.call(this,t);var r=t.subpath;if(r){var o=bS(this.app.metadataCache.getFileCache(this.file),r);o&&(t.line=o.start.line,t.startLoc=o.start,t.endLoc=o.end||null)}this.currentMode.setEphemeralState(t),t.hasOwnProperty("scroll")&&(this.scroll=t.scroll)},t.prototype.onUnloadFile=function(t){return y(this,void 0,Promise,(function(){return b(this,(function(n){return this.onMarkdownFold(),this.currentMode.beforeUnload(),this.rawFrontmatter=null,this.metadataEditor.clear(),this.editMode.setCssClass(null),[2,e.prototype.onUnloadFile.call(this,t)]}))}))},t.prototype.registerMode=function(e){return this.modes[e.type]=e,e},t.prototype.getMode=function(){return this.currentMode.type},t.prototype.getHoverSource=function(){return this.getMode()},t.prototype.toggleMode=function(){var e=this.leaf,t=e.getViewState();t.state.mode="preview"===t.state.mode?"source":"preview",e.setViewState(t,{focus:!0})},t.prototype.updateButtons=function(){var e=this.currentMode,t=this.modeButtonEl,n=lm.interface.menu.modClickOpenNewTab({key:Mg.Mod});"source"===e.type?(Km(t,"lucide-book-open"),mv(t,lm("interface.menu.edit-view")+"\n"+lm("interface.menu.switch-to-read-view")+"\n"+n)):(Km(t,"lucide-edit-3"),mv(t,lm("interface.menu.read-view")+"\n"+lm("interface.menu.switch-to-edit-view")+"\n"+n))},t.prototype.setMode=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r;return b(this,(function(o){switch(o.label){case 0:return e&&this.currentMode!==e?(n=(t=this).currentMode,i=t.scroll,"source"!==n.type?[3,2]:[4,this.save()]):[2,!1];case 1:o.sent(),o.label=2;case 2:return r=n.getFoldInfo(),this.app.foldManager.save(this.file,r),n.hide(),this.currentMode=e,e.show(),null!==this.data&&e.set(this.data,!1),e.onResize(),null!==i&&e.setEphemeralState({scroll:i}),e.applyFoldInfo(r),this.metadataEditor.setCollapse(!!r&&r.folds.some((function(e){return 0===e.from})),!1),this.updateButtons(),this.containerEl.setAttribute("data-mode",this.getMode()),[2,!0]}}))}))},t.prototype.getViewData=function(){return this.currentMode.get()},t.prototype.clear=function(){var e=this,t=e.currentMode,n=e.editMode,i=e.modes;for(var r in t===n&&this.onMarkdownFold(),this.scroll=null,i)i.hasOwnProperty(r)&&i[r].clear()},Object.defineProperty(t.prototype,"path",{get:function(){return this.file.path},enumerable:!1,configurable:!0}),t.prototype.onSwitchView=function(e){return y(this,void 0,void 0,(function(){var t,n,i,r;return b(this,(function(o){switch(o.label){case 0:return e.preventDefault(),t=this.leaf,(n=this.getState()).mode="preview"===this.getMode()?"source":"preview",i={type:j0,state:n},Ag.isModEvent(e)&&(r=this.app.workspace,t=r.createLeafBySplit(this.leaf),i.active=!0,i.group=this.leaf),[4,t.setViewState(i,{focus:!0})];case 1:return o.sent(),[2]}}))}))},t.prototype.canToggleBacklinks=function(){return"preview"===this.getMode()||this.editMode instanceof W0},t.prototype.toggleBacklinks=function(){return y(this,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return(e=this.getState()).backlinks=!e.backlinks,[4,this.leaf.setViewState({type:j0,state:e})];case 1:return t.sent(),this.app.workspace.requestSaveLayout(),[2]}}))}))},t.prototype.updateShowBacklinks=function(){var e=this.showBacklinks,t=this.app,n=this.backlinks;e&&!n?(this.backlinksEl.show(),this.backlinks=this.addChild(new z0(t,this.backlinksEl)),this.updateBacklinks()):!e&&n&&(this.removeChild(n),this.backlinksEl.empty(),this.backlinksEl.hide(),this.backlinks=null),this.currentMode===this.editMode&&this.editMode.onResize()},t.prototype.updateBacklinks=function(){var e=this.backlinks;e&&(e.file=this.file,e.update())},t.prototype.onLoadFile=function(t){return y(this,void 0,Promise,(function(){return b(this,(function(n){switch(n.label){case 0:return this.inlineTitleEl.setText(this.getDisplayText()),[4,e.prototype.onLoadFile.call(this,t)];case 1:return n.sent(),this.updateBacklinks(),[2]}}))}))},t.prototype.onRename=function(t){return y(this,void 0,void 0,(function(){return b(this,(function(n){switch(n.label){case 0:return t===this.file&&this.inlineTitleEl.setText(t.basename),[4,e.prototype.onRename.call(this,t)];case 1:return n.sent(),[2]}}))}))},t.prototype.syncScroll=function(){var e=this.currentMode.getScroll();return null!==e&&(this.scroll=e),this.app.workspace.trigger("markdown-scroll",this),this.syncState()},t.prototype.receiveSyncState=function(e){this.file!==e.file?this.leaf.openFile(e.file,{eState:e.getEphemeralState()}):this.setEphemeralState(e.getEphemeralState())},t.prototype.onMarkdownFold=function(){this.app.foldManager.save(this.file,this.currentMode.getFoldInfo())},t.prototype.onPaneMenu=function(t,n){var i=this;e.prototype.onPaneMenu.call(this,t,n);var r=this.getMode();t.addItem((function(e){return e.setSection("pane").setTitle(lm.interface.menu.toggleReadingView()).setChecked("preview"===r).setIcon("lucide-book-open").onClick(i.onSwitchView.bind(i))})),t.addItem((function(e){return e.setSection("action").setTitle(lm.interface.menu.addProperty()).setDisabled(!i.canShowProperties()).setIcon("lucide-plus-circle").onClick((function(){return y(i,void 0,void 0,(function(){var e,t,n;return b(this,(function(i){switch(i.label){case 0:return t=(e=this).app,n=e.leaf,t.workspace.setActiveLeaf(n),[4,CD(this.app)];case 1:return i.sent().addProperty(),[2]}}))}))}))})),"source"===r&&t.addItem((function(e){return e.setSection("pane").setTitle(lm.interface.menu.toggleSourceMode()).setIcon("lucide-code-2").setChecked(!!i.getState().source).onClick((function(){var e=i.getState();e.source=!e.source,i.leaf.setViewState({type:j0,state:e})}))})),t.addItem((function(e){return e.setSection("find").setTitle(lm.interface.menu.find()).setIcon("lucide-file-search").onClick((function(){return i.showSearch()}))})),t.addItem((function(e){return e.setSection("find").setDisabled("source"!==r).setTitle(lm.interface.menu.replace()).setIcon("lucide-file-search").onClick((function(){return i.showSearch(!0)}))})),Yl.canExportPdf&&t.addItem((function(e){return e.setSection("action").setTitle(lm.commands.exportPdf()).setIcon("lucide-file-down").onClick((function(e){return i.printToPdf()}))}))},t.prototype.onResize=function(){this.currentMode.onResize()},t.prototype.onCssChange=function(){this.editMode.onCssChange()},t.prototype.loadFrontmatter=function(e){var t,n=NE(e).frontmatter;if(null===this.rawFrontmatter||this.rawFrontmatter!==n){this.rawFrontmatter=n;var i={};try{if("object"!=typeof(i=null!==(t=Lk(n))&&void 0!==t?t:{})||Array.isArray(i))throw new Error("Frontmatter must be a valid object!")}catch(e){i=null}this.editMode.setCssClass(UE(i)),this.metadataEditor.synchronize(i)}},t.prototype.onInternalDataChange=function(){var e=this.currentMode.get();this.data!==e&&(this.data=e,this.leaf.workspace.onQuickPreview(this.file,this.data),this.loadFrontmatter(e))},t.prototype.onExternalDataChange=function(e,t){e===this.file&&this.setData(t,!1)},t.prototype.setViewData=function(e,t){var n=this.currentMode,i=this.modes;if(t){for(var r in this.scroll=null,i)i.hasOwnProperty(r)&&i[r].set(e,!0);var o=this.app.foldManager.load(this.file);o&&n.applyFoldInfo(o),this.metadataEditor.setCollapse(!!o&&o.folds.some((function(e){return 0===e.from})),!1)}else n.set(e,!1);this.loadFrontmatter(e)},t.prototype.onConfigChanged=function(e){"spellcheck"===e&&(this.inlineTitleEl.spellcheck=this.app.vault.getConfig("spellcheck"))},t.prototype.updateOptions=function(){var e=this.modes;for(var t in e)e.hasOwnProperty(t)&&e[t].updateOptions()},t.prototype.showSearch=function(e){void 0===e&&(e=!1),this.currentMode.showSearch(e)},t.prototype.canShowProperties=function(){return("source"!==this.getMode()||!this.editMode.sourceMode)&&"visible"===this.app.vault.getConfig("propertiesInDocument")},t.prototype.undo=function(){this.editMode.editor.undo()},t.prototype.redo=function(){this.editMode.editor.redo()},t.prototype.metadataHasFocus=function(){return this.metadataEditor.hasFocus()},t.prototype.getSelection=function(){return this.currentMode.getSelection()},t.prototype.printToPdf=function(){new G0(this.app,this.file).open()},t.prototype.triggerClickableToken=function(e,t){var n=this;if("internal-link"===e.type)setTimeout((function(){n.app.workspace.openLinkText(e.text,n.file.path,t)}),100);else if("external-link"===e.type)window.open(e.text);else if("tag"===e.type){var i=e.text;i.startsWith("#")||(i="#"+i);var r=this.app.internalPlugins.getEnabledPluginById("global-search");r&&r.openGlobalSearch("tag:"+i)}},t.prototype.handleCut=function(e){this.metadataEditor.hasFocus()&&this.metadataEditor.handleCut(e)},t.prototype.handleCopy=function(e){this.metadataEditor.hasFocus()&&this.metadataEditor.handleCopy(e)},t.prototype.handlePaste=function(e){e.clipboardData.getData("obsidian/properties")&&this.metadataEditor.handlePaste(e)},t.VIEW_TYPE=j0,t}(SG),_0=lm.editor.printModal,G0=function(e){function t(t,n){var i=e.call(this,t)||this;i.file=n,i.modalEl.addClass("mod-narrow"),i.titleEl.setText(_0.title());var r=i.contentEl;r.createEl("p",{cls:"u-muted u-break-word",text:_0.caption({filename:n.basename})});var o=t.vault.getConfig("pdfExportSettings");return new AT(r).setName(_0.settingIncludeFileName()).addToggle((function(e){return e.setValue(o.includeName).then((function(e){return i.includeName=e}))})),new AT(r).setName(_0.settingPageSize()).addDropdown((function(e){return e.addOption("A3",_0.settingPageSizeA3()).addOption("A4",_0.settingPageSizeA4()).addOption("A5",_0.settingPageSizeA5()).addOption("Legal",_0.settingPageSizeLegal()).addOption("Letter",_0.settingPageSizeLetter()).addOption("Tabloid",_0.settingPageSizeTabloid()).setValue(o.pageSize).then((function(e){return i.pageSize=e}))})),new AT(r).setName(_0.settingLandscape()).addToggle((function(e){return e.setValue(o.landscape).then((function(e){return i.landscape=e}))})),new AT(r).setName(_0.settingMargin()).addDropdown((function(e){return e.addOption("0",_0.settingMarginDefault()).addOption("2",_0.settingMarginMinimal()).addOption("1",_0.settingMarginNone()).setValue(o.margin).then((function(e){return i.marginsType=e}))})),new AT(r).setName(_0.settingDownscalePercent()).addSlider((function(e){return e.setLimits(10,100,1).setDynamicTooltip().setValue(o.downscalePercent).then((function(e){return i.scaleFactor=e}))})),i.buttonContainerEl.createEl("button",{cls:"mod-cta",text:_0.buttonExportToPdf()},(function(e){i.ctaEl=e,e.addEventListener("click",(function(){return y(i,void 0,void 0,(function(){var n,i,r,o;return b(this,(function(a){switch(a.label){case 0:return e.addClass("mod-loading"),n={includeName:this.includeName.getValue(),pageSize:this.pageSize.getValue(),landscape:this.landscape.getValue(),margin:this.marginsType.getValue(),downscalePercent:this.scaleFactor.getValue()},t.vault.setConfig("pdfExportSettings",n),(i={}).includeName=n.includeName,i.pageSize=n.pageSize,i.landscape=n.landscape,i.marginsType=parseInt(n.margin),1!==i.marginsType&&2!==i.marginsType||(i.margins={top:0,left:0,bottom:0,right:0}),i.scaleFactor=n.downscalePercent,i.scale=Math.clamp(i.scaleFactor/100,.1,2),i.open=!0,r=this.file,[4,Lf("electron").remote.dialog.showSaveDialog({defaultPath:r.basename+".pdf",filters:[{name:"PDF Files",extensions:["pdf"]},{name:"All Files",extensions:["*"]}],properties:["showOverwriteConfirmation"]})];case 1:return o=a.sent(),e.removeClass("mod-loading"),o.canceled||!o.filePath?[2]:(i.filepath=o.filePath,this.close(),[4,this.printToPdf(i)]);case 2:return a.sent(),[2]}}))}))}))})),i.addCancelButton(),i}return m(t,e),t.prototype.onOpen=function(){var e=this;this.win.setTimeout((function(){return e.ctaEl.focus()}))},t.prototype.printToPdf=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r,o,a,s;return b(this,(function(l){switch(l.label){case 0:return t=window.open("about:blank","_blank","popup,hide=true"),n=createEl("base",{href:location.href}),t.document.head.appendChild(n),t.document.title=this.file.basename,pm(t.document),aY(t),uY(t),rY(t,[n])(),LJ.instance.setMessage(lm.dialogue.preparingPdf()).show(),i=t.document,[4,sleep(200)];case 1:l.sent(),i.body.removeClass("theme-dark"),i.body.addClass("theme-light"),r=i.body.createDiv("print"),(o=new Fm).load(),a=function(){r.detach(),o.unload(),t.close(),LJ.instance.hide()},r.addEventListener("click",a),l.label=2;case 2:return l.trys.push([2,6,7,8]),[4,this.print(r,o,e.includeName)];case 3:return l.sent(),[4,sleep(200)];case 4:return l.sent(),[4,qf(r.win.electron,e)];case 5:return l.sent(),new vx("PDF Saved to ".concat(e.filepath)),[3,8];case 6:return s=l.sent(),console.error(s),new vx("Failed to save PDF."),[3,8];case 7:return a(),[7];case 8:return[2]}}))}))},t.prototype.testPrint=function(){return y(this,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return(e=document.body.createDiv("print")).addEventListener("click",(function(){e.detach(),t.unload()})),(t=new Fm).load(),[4,this.print(e,t,!0)];case 1:return n.sent(),[2]}}))}))},t.prototype.print=function(e,t,n){return y(this,void 0,Promise,(function(){var i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,y,w,k;return b(this,(function(b){switch(b.label){case 0:return i=e.createDiv("markdown-preview-view markdown-rendered"),o=(r=this).app,a=r.file,i.toggleClass("rtl",o.vault.getConfig("rightToLeft")),i.toggleClass("show-properties","hidden"!==o.vault.getConfig("propertiesInDocument")),n&&i.createEl("h1",{text:a.basename}),[4,this.app.vault.cachedRead(a)];case 1:for(s=b.sent(),l=IE(s),c=BE(l),u=VE(l),h=MM(u),p=createFragment(),d=function(e){"HR"===e.tagName?p.appendChild(e):p.createDiv({},(function(t){return t.appendChild(e)}))},f=0,m=Array.from(h.children);f0?[4,Promise.all(g)]:[3,3];case 2:b.sent(),b.label=3;case 3:for(y=i.findAll("a.internal-link"),w=0,k=y;w0&&s>0?{x:Math.round(r),y:Math.round(o),width:Math.round(a),height:Math.round(s)}:void 0,p.label=2;case 2:return p.trys.push([2,4,5,6]),[4,bm.takeScreenshot({path:"".concat(this.app.appId,"/tab-preview/leaf-").concat(e.id,".png"),rect:l})];case 3:return p.sent(),[3,6];case 4:return c=p.sent(),console.error(c),[3,6];case 5:return document.body.removeClass("is-screenshotting"),[7];case 6:return this.render(),document.body.appendChild(this.containerEl),(u=this.app.workspace.getMostRecentLeaf())&&(null==(h=this.tabPreviewLookup.get(u))||h.containerEl.scrollIntoView({block:"nearest"})),vl(this.containerEl,new hl({duration:90,fn:"var(--anim-motion-swing)"}).addProp("opacity","0","1","").addProp("transform","scale(1.1)","scale(1)","")),[2]}}))}))},e.prototype.showTabManagementMenu=function(e){var t=this,n=Ng.forEvent(e);n.addSections(["open","danger"]),n.addItem((function(e){return e.setTitle(lm.commands.newTab()).setIcon("lucide-plus").setSection("open").onClick((function(){t.app.commands.executeCommandById("workspace:new-tab")}))})).addItem((function(e){return e.setTitle(lm.commands.undoCloseTab()).setSection("open").setIcon("lucide-undo-2").setDisabled(!t.app.workspace.hasUndoHistory()).onClick((function(){t.app.commands.executeCommandById("workspace:undo-close-pane")}))}));var i=this.app.workspace.getMostRecentLeaf(),r=[];i&&(r=i.parent.children.slice()),r.length>1&&n.addItem((function(e){return e.setTitle(lm.interface.menu.closeTabsWithCount({count:r.length})).setIcon("lucide-archive-x").setDisabled(!i).setSection("danger").setWarning(!0).onClick((function(){if(i)for(var e=0,t=r;e20&&(t=t.slice(0,20)),this.app.saveLocalStorage("recent-searches",t)}},t.prototype.getDisplayText=function(){return e2.name()},t.prototype.getViewType=function(){return n2},t.prototype.getState=function(){var t=e.prototype.getState.call(this);return t.query=this.getQuery(),t.matchingCase=this.matchingCase,t.explainSearch=this.explainSearch,t.collapseAll=this.dom.collapseAll,t.extraContext=this.dom.extraContext,t.sortOrder=this.dom.sortOrder,t},t.prototype.setState=function(t,n){return y(this,void 0,Promise,(function(){var i,r,o,a,s,l;return b(this,(function(c){switch(c.label){case 0:return[4,e.prototype.setState.call(this,t,n)];case 1:return c.sent(),i=t.query,r=t.matchingCase,o=t.explainSearch,a=t.collapseAll,s=t.extraContext,l=t.sortOrder,(String.isString(i)||null===i)&&this.setQuery(i),isBoolean(r)&&this.setMatchingCase(r),isBoolean(o)&&this.explainSearchToggle.setValue(o),isBoolean(a)&&this.collapseResultsToggle.setValue(a),isBoolean(s)&&this.extraContextToggle.setValue(s),String.isString(l)&&fN.hasOwnProperty(l)&&(this.sortOrderDropdown.setValue(l),this.setSortOrder(l)),[2]}}))}))},t.prototype.setEphemeralState=function(t){if(e.prototype.setEphemeralState.call(this,t),t.focus){var n=this.searchComponent.inputEl;n.setSelectionRange(0,n.value.length),n.focus({preventScroll:!0})}},t.prototype.setMatchingCase=function(e){e!==this.matchingCase&&(this.matchingCase=e,this.matchingCaseButtonEl.toggleClass("is-active",e),this.app.workspace.requestSaveLayout(),""!==this.searchComponent.getValue()&&this.startSearch())},t.prototype.setExplainSearch=function(e){e!==this.explainSearch&&(this.explainSearch=e,this.searchInfoEl.toggle(e),this.app.workspace.requestSaveLayout())},t.prototype.setCollapseAll=function(e){e!==this.dom.collapseAll&&(this.dom.setCollapseAll(e),this.app.workspace.requestSaveLayout())},t.prototype.setExtraContext=function(e){e!==this.dom.extraContext&&(this.dom.setExtraContext(e),this.app.workspace.requestSaveLayout())},t.prototype.onCopyResultsClick=function(e){e.preventDefault(),new r2(this.app,this.dom).open()},t.prototype.onKeyEnterInFocus=function(e){var t=this.dom.focusedItem;t&&(t instanceof ON||t instanceof LN)&&t.onResultClick(e)},t.prototype.onKeyArrowUpInFocus=function(e){e.preventDefault(),this.dom.changeFocusedItem("backwards")},t.prototype.onKeyArrowDownInFocus=function(e){e.defaultPrevented||(e.preventDefault(),Cv(),this.dom.changeFocusedItem("forwards"))},t.prototype.onKeyArrowLeftInFocus=function(e){var t;if(!this.searchComponent.inputEl.isActiveElement()){e.preventDefault();var n=this.dom.focusedItem;if(n instanceof LN)n.setCollapse(!0,!0);else if(n.parent instanceof LN){n.parent.setCollapse(!0,!0);for(var i=n;null===(t=i.parent)||void 0===t?void 0:t.collapsed;)i=i.parent;this.dom.setFocusedItem(i)}else n===this.dom.infinityScroll.rootEl&&this.dom.setCollapseAll(!0)}},t.prototype.onKeyArrowRightInFocus=function(e){this.searchComponent.inputEl.isActiveElement()||(e.preventDefault(),this.dom.focusedItem===this.dom.infinityScroll.rootEl?this.dom.setCollapseAll(!1):this.dom.focusedItem instanceof LN&&this.dom.focusedItem.setCollapse(!1,!0))},t.prototype.onKeyShowMoreBefore=function(e){this.dom.focusedItem instanceof ON&&this.dom.focusedItem.showMoreBefore()},t.prototype.onKeyShowMoreAfter=function(e){this.dom.focusedItem instanceof ON&&this.dom.focusedItem.showMoreAfter()},t.prototype.setSortOrder=function(e){var t=this.dom;t.sortOrder=e,t.changed()},t.prototype.onResize=function(){this.dom.onResize()},t.prototype.startSearch=function(){var e=this;this.stopSearch();var t=this,n=t.app,i=t.dom,r=t.searchInfoEl;i.emptyResults(),this.dom.setFocusedItem(null);try{var o=this.searchComponent.getValue(),a=new uN(n,o,this.matchingCase);if(!a.matcher)return;this.searchQuery=a,this.renderSearchInfo(a.matcher,r);var s=!1,l=function(){e.resultCountEl.setText(e2.labelResultCount({count:i.getMatchCount()}))},c=this.queue.start({onStop:l});this.infoEl.show(),hN(n,a.requiredInputs,c,(function(t,n){return y(e,void 0,void 0,(function(){var e;return b(this,(function(r){switch(r.label){case 0:return(e=a.match(t,n))?i.addResult(t,e,n):i.removeResult(t),!s||i.el.isShown()?[3,2]:[4,new Promise((function(e){return i.el.onNodeInserted(e,!0)}))];case 1:r.sent(),r.label=2;case 2:return[2]}}))}))}),{beforePause:function(){s=i.el.isShown(),l()}})}catch(e){r.createDiv({cls:"search-info",text:e.message}),console.log(e)}this.app.workspace.requestSaveLayout(),this.requestSaveSearch()},t.prototype.stopSearch=function(){this.queue.stop(),this.searchInfoEl.empty()},t.prototype.renderSearchInfo=function(e,t){var n=this;if(t.createDiv({text:e.getInfo()}),e instanceof BF)for(var i=t.createDiv("search-info-children"),r=0,o=e.matchers;ro.selfEl.getBoundingClientRect().bottom?{node:null,idx:i.vChildren.children.length,placement:"after",x:a,y:o.selfEl.offsetTop+o.selfEl.offsetHeight}:(bN(i,(function(r){if(!r.info.hidden&&r.selfEl.isShown()){if(t.selectedDoms.has(r))return!0;var o=r.selfEl,s=o.getBoundingClientRect(),l=2*s.height,c=s.bottom-e.clientY;if(c=s.top){l=c;var u=s.height/2,h=s.top+u,p=Math.abs(e.clientY-h),d=e.clientY>h?"after":"before",f=null,m=!1,v=0;gN(r)&&r.collapsible&&p/u<.9&&(m=!0,d="after"),gN(r)&&!r.collapsed&&"after"===d?(f=r,v=0):(r.parent&&gN(r.parent)?v=(f=r.parent).vChildren.children.indexOf(r):(f=null,v=t.root.vChildren.children.indexOf(r)),"after"===d&&v++);var g=a,y="before"===d?o.offsetTop:o.offsetTop+s.height;f&&f!==i&&(g=f.info.childLeft+f.info.childLeftPadding),n={node:r,parentNode:f,overlapsNode:m,idx:v,placement:d,x:g,y}}}}),!0),n)}var m2=createDiv("drop-indicator is-active"),v2=wc((function(e){var t=e.x,n=e.y,i=e.placement;m2.style.left=t+"px",m2.style.top=n+("after"===i?1:-1)-2+"px"}),0),g2=null,y2=null;function b2(e,t,n,i){var r=e.containerEl.win;if(null==y2||y2.removeClass("is-being-dragged-over"),!i)return m2.detach(),void(y2=null);if(t&&t.overlapsNode&&gN(t.node)&&!n.contains(t.node)){var o=t.node;o.selfEl!==y2&&(r.clearTimeout(g2),g2=null),null==(y2=o.selfEl)||y2.addClass("is-being-dragged-over"),o.collapsed&&!g2&&(g2=r.setTimeout((function(){y2===o.selfEl&&o.setCollapsed(!1,!0)}),750))}else y2=null;t&&(m2.parentNode!==e.containerEl&&e.containerEl.prepend(m2),v2(t));var a=t&&!y2;if(a&&1===e.selectedDoms.size){var s=t.node,l=t.placement,c=e.selectedDoms.values().next().value;(s===c||"after"===l&&s&&s===EN(c)||"before"===l&&s&&s===kN(c))&&(a=!1)}return m2.toggle(a),m2}var w2=lm.plugins.webViewer,k2=function(e){function t(t,n){var i=e.call(this,t)||this;return i.icon="lucide-clock",i.itemDoms=new Map,i.requestUpdate=wc(i.update.bind(i),100),i.plugin=n,i.scope=new Tg(i.app.scope),i.tree=new d2(i,{app:i.app,containerEl:i.contentEl,id:M2,scope:i.scope}),i}return m(t,e),t.prototype.onload=function(){this.registerEvent(this.app.workspace.on("webviewer:update-history",this.requestUpdate,this))},t.prototype.getViewType=function(){return M2},t.prototype.getDisplayText=function(){return w2.historyName()},t.prototype.onPaneMenu=function(t,n){var i=this;e.prototype.onPaneMenu.call(this,t,n),t.addItem((function(e){return e.setSection("action").setTitle(w2.actionClearHistory()).setIcon("lucide-eraser").onClick((function(e){i.plugin.db.clearHistoryItems()}))}))},t.prototype.onOpen=function(){return y(this,void 0,Promise,(function(){return b(this,(function(e){return this.update(),[2]}))}))},t.prototype.onResize=function(){this.tree.infinityScroll.onResize()},t.prototype.update=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o,a;return b(this,(function(s){switch(s.label){case 0:return[4,this.plugin.db.getHistoryItems()];case 1:for(e=s.sent(),t=[],n=new Map,i=0,r=e;i1e3&&(s=a.length-1e3,l=a[s-1],this.db.delete("history",IDBKeyRange.upperBound(l))),this.app.workspace.trigger("webviewer:update-history"),[2]}}))}))},e.prototype.removeHistoryItem=function(e){return y(this,void 0,Promise,(function(){return b(this,(function(t){switch(t.label){case 0:return[4,this.db.delete("history",e.id)];case 1:return t.sent(),this.app.workspace.trigger("webviewer:update-history"),[2]}}))}))},e.prototype.clearHistoryItems=function(){return y(this,void 0,Promise,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,this.db.delete("history",IDBKeyRange.lowerBound(0,!0))];case 1:return e.sent(),this.app.workspace.trigger("webviewer:update-history"),[2]}}))}))},e.prototype.setIcon=function(e,t,n){return y(this,void 0,Promise,(function(){var i,r;return b(this,(function(o){switch(o.label){case 0:return i=function(e){var t=e.toLowerCase().match(/^https?:\/\/([^\/?#]+)/);if(t)return t[1]}(t),i?[4,this.loadIcon(i,n)]:[3,2];case 1:if(r=o.sent())return e.createEl("img").src=r,[2];o.label=2;case 2:return Km(e,"globe-2"),[2]}}))}))},e.prototype.loadIcon=function(e,t){return y(this,void 0,Promise,(function(){var n;return b(this,(function(i){switch(i.label){case 0:return this.db?[4,this.db.get("icons",e)]:[2,null];case 1:return(n=i.sent())?[2,null==n?void 0:n.base64]:[2,this.storeIcon(e,t)]}}))}))},e.prototype.storeIcon=function(e,t){return y(this,void 0,Promise,(function(){var n,i,r,o,a;return b(this,(function(s){switch(s.label){case 0:if(!t)return[2,null];s.label=1;case 1:return s.trys.push([1,3,,4]),[4,ex(t)];case 2:return n=s.sent(),i=n.headers["content-type"],r=Array.from(new Uint8Array(n.arrayBuffer)),o=btoa(String.fromCharCode.apply(null,r)),a="data:".concat(i,";base64,").concat(o),this.db.put("icons",{source:t,base64:a},e),[2,a];case 3:return s.sent(),[2,null];case 4:return[2]}}))}))},e}(),S2="webviewer",M2="webviewer-history",x2="duckduckgo",T2=lm.plugins.webViewer,D2={duckduckgo:{display:"DuckDuckGo",url:"https://duckduckgo.com/?q=%s"},brave:{display:"Brave",url:"https://search.brave.com/search?q=%s"},bing:{display:"Bing",url:"https://www.bing.com/search?q=%s"},google:{display:"Google",url:"https://www.google.com/search?q=%s"},custom:{display:"custom"}},A2={openExternalURLs:!0,enableAdblocking:!0},P2=function(){function e(){this.id="webviewer",this.name=T2.name(),this.description=T2.desc(),this.defaultOn=!1}return e.prototype.init=function(e,t){var n=this;this.app=e,this.plugin=t,this.db=new E2(e),t.registerGlobalCommand({id:"webviewer:open",name:T2.actionOpen(),callback:function(){n.app.workspace.getLeaf(!0).setViewState({type:S2,active:!0,state:{url:n.options.homepage||"about:blank"}})}}),t.registerGlobalCommand({id:"webviewer:open-history",name:T2.actionShowHistory(),icon:"lucide-clock",callback:function(){n.app.workspace.ensureSideLeaf(M2,"left",{active:!0})}}),t.registerGlobalCommand({id:"webviewer:toggle-reader-mode",name:T2.actionToggleReaderMode(),icon:"glasses",checkCallback:function(e){var t=n.app.workspace.getActiveViewOfType(V2);return!!t&&(e||t.toggleReaderMode(),!0)}}),t.registerGlobalCommand({id:"webviewer:focus-address-bar",name:T2.actionFocusAddressBar(),icon:"text-cursor-input",checkCallback:function(e){var t=n.app.workspace.getActiveViewOfType(V2);return!!t&&(e||t.addressBar.focus(),!0)}}),t.registerGlobalCommand({id:"webviewer:zoom-in",name:lm.commands.zoomIn(),icon:"zoom-in",checkCallback:function(e){var t=n.app.workspace.getActiveViewOfType(V2);return!!t&&(e||t.zoomIn(),!0)}}),t.registerGlobalCommand({id:"webviewer:zoom-reset",name:lm.commands.resetZoom(),icon:"rotate-cw",checkCallback:function(e){var t=n.app.workspace.getActiveViewOfType(V2);return!!t&&(e||t.zoomReset(),!0)}}),t.registerGlobalCommand({id:"webviewer:zoom-out",name:lm.commands.zoomOut(),icon:"zoom-in",checkCallback:function(e){var t=n.app.workspace.getActiveViewOfType(V2);return!!t&&(e||t.zoomOut(),!0)}}),t.registerGlobalCommand({id:"webviewer:search",name:T2.actionSearchTheWeb(),icon:"search",callback:function(){new O2(n.app,n).open()}}),t.registerGlobalCommand({id:"webviewer:save-to-vault",name:T2.actionSaveToVault(),icon:"lucide-file-down",checkCallback:function(e){var t=n.app.workspace.getActiveViewOfType(V2);return!!t&&(e||t.saveAsMarkdown().then((function(e){e&&n.app.workspace.getLeaf("tab").openFile(e)})),!0)}}),t.registerViewType(S2,(function(e){return new V2(e,n)})),t.registerViewType(M2,(function(e){return new k2(e,n)}))},e.prototype.onEnable=function(e,t){return y(this,void 0,Promise,(function(){var n,i,r,o,a;return b(this,(function(s){switch(s.label){case 0:return t.registerEvent(e.workspace.on("url-menu",this.onUrlMenu,this)),n=this.handleOpenUrl.bind(this),window.addEventListener("open-url",n),t.register((function(){window.removeEventListener("open-url",n)})),i=this,o=(r=Object).assign,a=[A2],[4,t.loadData()];case 1:return i.options=o.apply(r,a.concat([s.sent()])),t.addSettingTab(new L2(e,t,this)),this.updateSession(),this.db.connect(),[2]}}))}))},e.prototype.saveOptions=function(){return y(this,void 0,Promise,(function(){return b(this,(function(e){return[2,this.plugin.saveData(this.options)]}))}))},e.prototype.onUrlMenu=function(e,t){var n=this;this.options.openExternalURLs&&e.addItem((function(e){return e.setTitle(lm.plugins.webViewer.actionOpenLinkWebViewer()).setIcon("lucide-globe-2").setSection("open").onClick((function(e){n.openUrl(t,Ag.isModEvent(e))}))}))},e.prototype.getSearchEngineUrl=function(e){var t,n="custom"===this.options.searchEngine?this.options.customSearchEngine:null===(t=D2[this.options.searchEngine])||void 0===t?void 0:t.url;return n||(n=D2[x2].url),n.replace("%s",encodeURIComponent(e))},e.prototype.updateSession=function(){electron.ipcRenderer.send("create-browser-session",this.app.getWebviewPartition(),this.options.enableAdblocking)},e.prototype.handleOpenUrl=function(e){if(this.options.openExternalURLs){var t=e.detail,n=t.url,i=t.leaf,r=t.active,o=null!==activeDocument.querySelector(".modal-container")?"window":i;e.preventDefault(),this.openUrl(n,o,r)}},e.prototype.openUrl=function(e,t,n){void 0===n&&(n=!0);var i=this.app.workspace.getLeaf(t);null==i||i.setViewState({type:S2,active:n,state:{url:e,title:e,navigate:!0}})},e}(),L2=function(e){function t(t,n,i){var r=e.call(this,t,n)||this;return r.instance=i,r}return m(t,e),t.prototype.display=function(){var e=this,t=this.containerEl,n=this.instance.options;t.empty(),new AT(t).setName(T2.optionOpenExternalLinks()).setDesc(T2.optionOpenExternalLinksDesc()).addToggle((function(t){t.setValue(n.openExternalURLs).onChange((function(t){n.openExternalURLs=t,e.plugin.saveData(n)}))})),new AT(t).setName(T2.optionHomepage()).setDesc(T2.optionHomepageDesc()).addText((function(t){t.setValue(n.homepage).onChange((function(t){n.homepage=t,e.plugin.saveData(n)}))})),new AT(t).setName(T2.optionSavedMarkdown()).setDesc(T2.optionSavedMarkdownDesc()).addText((function(t){t.setPlaceholder(lm.setting.folderPathExamplePlaceholder()).setValue(n.markdownPath).onChange((function(t){n.markdownPath=t.trim(),e.plugin.saveData(n)})),new XT(e.app,t.inputEl)}));var i,r="custom"===n.searchEngine;new AT(t).setName(T2.optionSearchEngine()).setDesc(T2.optionSearchEngineDesc()).addDropdown((function(t){for(var r=0,o=Object.entries(D2);r0?[4,(t=electron.remote.session.fromPartition(this.app.getWebviewPartition())).clearStorageData({storages:e})]:[3,3];case 1:return n.sent(),this.clearAll?[4,t.clearData()]:[3,3];case 2:n.sent(),n.label=3;case 3:return this.clearHistory?[4,this.webviewer.db.clearHistoryItems()]:[3,5];case 4:n.sent(),n.label=5;case 5:return this.close(),[2]}}))}))},t}(dx),O2=function(e){function t(t,n){var i=e.call(this,t)||this;i.inputEl=null,i.webviewer=n;var r=i.modalEl;return r.removeClass("modal"),r.addClass("prompt"),r.empty(),r.createDiv("prompt-input-container",(function(e){i.inputEl=e.createEl("input",{cls:"prompt-input",type:"text",placeholder:T2.labelSearchTheWeb()})})),i.inputEl.addEventListener("keydown",(function(e){if("Enter"===e.key){var t=i.webviewer.getSearchEngineUrl(i.inputEl.value);i.app.workspace.getLeaf("tab").setViewState({type:S2,active:!0,state:{url:t,navigate:!0}}),i.close()}})),i}return m(t,e),t}(px),F2=function(e){function t(t,n,i){var r=e.call(this,n)||this;return r.foundInPageHandler=r._foundInPageHandler.bind(r),r.webview=t,r.applyScope=i,r}return m(t,e),t.prototype.findPrevious=function(){var e=this.getQuery();e?this.webview.findInPage(e,{findNext:!1,forward:!1}):this.webview.stopFindInPage("clearSelection")},t.prototype.findNext=function(){var e=this.currentResult==this.numResults,t=this.getQuery();t?this.webview.findInPage(t,{findNext:e}):this.webview.stopFindInPage("clearSelection")},t.prototype.findNextOrReplace=function(){this.findNext()},t.prototype.onSearchInput=function(){var e=this.getQuery();e&&this.webview.findInPage(e,{findNext:!0})},t.prototype.show=function(){var e=this,t=e.containerEl,n=e.searchContainerEl,i=e.searchInputEl;t.prepend(n),kv(i),this.applyScope(this.scope),this.onSearchInput(),this.webview.addEventListener("found-in-page",this.foundInPageHandler)},t.prototype.hide=function(){this.webview.stopFindInPage("clearSelection"),this.searchContainerEl.detach(),this.applyScope(null),this.webview.removeEventListener("found-in-page",this.foundInPageHandler)},t.prototype._foundInPageHandler=function(e){e.result.finalUpdate&&(this.numResults=e.result.matches,this.currentResult=e.result.activeMatchOrdinal)},t}(jB),N2=lm.plugins.webViewer,R2={"image/avif":"avif","image/bmp":"bmp","image/gif":"gif","image/jpeg":"jpg","image/pict":"pict","image/png":"png","image/svg+xml":"svg","image/tiff":"tiff","image/webp":"webp"},B2="data:text/plain,",V2=function(e){function t(t,n){var i=e.call(this,t)||this;return i.navigation=!0,i.hasConfiguredWebContents=!1,i.webviewMounted=!1,i.loadFirstPage=null,i.webviewFirstLoadFinished=!1,i.requestCommitPageLoad=wc(i.commitPageLoad.bind(i)),i.plugin=n,i.mode="blank",i}return m(t,e),t.prototype.getViewType=function(){return S2},t.prototype.getDisplayText=function(){return this.title||N2.labelNewWebViewer()},t.prototype.getState=function(){return v(v({},e.prototype.getState.call(this)),{url:this.url,title:this.title,mode:this.mode})},t.prototype.getIcon=function(){return"globe-2"},t.prototype.setState=function(t,n){return y(this,void 0,Promise,(function(){var i;return b(this,(function(r){switch(r.label){case 0:return[4,e.prototype.setState.call(this,t,n)];case 1:return r.sent(),t.url&&this.url!==t.url?(t.title&&(this.title=t.title),i=t.navigate||!1,this.navigate(t.url,i),[2]):[2]}}))}))},t.prototype.onPaneMenu=function(t,n){var i=this;e.prototype.onPaneMenu.call(this,t,n),t.addItem((function(e){return e.setTitle(N2.actionSaveToVault()).setIcon("lucide-file-down").onClick((function(){return y(i,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return[4,this.saveAsMarkdown()];case 1:return(e=t.sent())&&this.app.workspace.getLeaf("tab").openFile(e),[2]}}))}))}))})),t.addItem((function(e){return e.setSection("action").setTitle(lm.interface.menu.find()).setIcon("lucide-file-search").onClick(i.showSearch.bind(i))})),t.addItem((function(e){return e.setSection("action").setTitle(N2.actionOpenDefaultBrowser()).setIcon("lucide-globe-2").onClick((function(){return window.open(i.url,"_external")}))}));var r=this.webview.getZoomFactor();t.addItem((function(e){return e.setTitle(lm.commands.zoomIn()).setIcon("zoom-in").setSection("zoom").setDisabled(r>=3).onClick(i.zoomIn.bind(i))})),t.addItem((function(e){return e.setTitle(lm.commands.resetZoom()).setIcon("rotate-cw").setSection("zoom").setDisabled(1===r).onClick(i.zoomReset.bind(i))})),t.addItem((function(e){return e.setTitle(lm.commands.zoomOut()).setIcon("zoom-out").setSection("zoom").setDisabled(r<=.5).onClick(i.zoomOut.bind(i))}))},t.prototype.onOpen=function(){return y(this,void 0,Promise,(function(){var e,t;return b(this,(function(n){return this.headerEl.addClass("view-header-always-show"),e=createDiv("view-header-reload-button"),this.reloadButtonEl=e.createEl("button","clickable-icon"),Km(this.reloadButtonEl,"rotate-cw"),this.headerEl.insertBefore(e,this.titleContainerEl),this.titleEl.detach(),this.addressBar=new u2(this,this.titleContainerEl),(t=this.contentEl).addClass("webviewer-content"),this.searchContainerEl=t.createDiv("search-in-page"),this.readerView=t.createDiv("reader-mode-content"),this.readerView.hide(),this.readerView.addEventListener("contextmenu",this.onReaderModeContextMenu.bind(this)),this.instantiateWebView(),this.errorView=t.createDiv("error-notice",(function(e){e.createEl("h1",{text:N2.labelFailToLoad()}),e.createEl("p",{text:N2.labelFailToLoadDesc()}),e.hide()})),this.readerModeToggleBtn=this.addAction("glasses","Reader view",this.toggleReaderMode.bind(this)),[2]}))}))},t.prototype.toggleReaderMode=function(){"reader"===this.mode?this.displayWebView():this.displayReaderView()},t.prototype.zoomIn=function(){var e=this.webview.getZoomFactor();e<3&&this.webview.setZoomFactor(e+.1)},t.prototype.zoomOut=function(){var e=this.webview.getZoomFactor();e>.5&&this.webview.setZoomFactor(e-.1)},t.prototype.zoomReset=function(){this.webview.setZoomFactor(1)},t.prototype.reportPageLoad=function(e,t,n){e&&(this.requestCommitPageLoad.cancel(),this.inProgressPageLoad&&this.inProgressPageLoad.hasOwnProperty("navigate")&&(n=this.inProgressPageLoad.navigate),this.showLoadingIndicator(!0),this.inProgressPageLoad={url:e,title:t,navigate:n})},t.prototype.showLoadingIndicator=function(e){if(this.contentEl.hasClass("is-loading")!==e){var t=e?"x":"rotate-cw";Km(this.reloadButtonEl,t),this.contentEl.toggleClass("is-loading",e)}},t.prototype.commitPageLoad=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r;return b(this,(function(o){switch(o.label){case 0:return this.inProgressPageLoad?(e=this.inProgressPageLoad,t=e.url,n=e.title,i=e.navigate,this.inProgressPageLoad=null,t===B2?[2]:(i&&this.webviewFirstLoadFinished?this.pushViewStackHistory(t):this.webviewFirstLoadFinished||(this.webviewFirstLoadFinished=!0),this.url=t,this.addressBar.setValue(t),n?(this.title=n,[3,3]):[3,1])):[2];case 1:return[4,this.storeCurrentPageTitle()];case 2:o.sent(),o.label=3;case 3:return this.title!==B2&&(this.leaf.tabHeaderInnerTitleEl.setText(this.title),this.plugin.db.addHistoryItem(this.url,this.title)),(r=this.app.internalPlugins.getEnabledPluginById("bookmarks"))&&r.updateTabHeaders(),this.hasConfiguredWebContents||(this.hasConfiguredWebContents=!0,this.configureWebContents()),"reader"===this.mode?this.displayReaderView():this.webview.executeJavaScript("document.querySelectorAll('[target=\"_blank\"]').forEach(el => { el.removeAttribute('target')})"),this.app.workspace.requestSaveLayout(),[2]}}))}))},t.prototype.instantiateWebView=function(){var e=this,t=this.contentEl,n=t.doc;this.webview&&this.webview.detach(),this.hasConfiguredWebContents=!1,this.webviewMounted=!1,this.webviewFirstLoadFinished=!1;var i=this.webview=n.createElement("webview");i.style.backgroundColor="white",i.allowpopups=!0,i.partition=this.app.getWebviewPartition(),i.setAttr("src",this.url||B2),this.reloadButtonEl.addEventListener("click",(function(){i.isLoading()?(i.stop(),e.showLoadingIndicator(!1)):i.reload()})),i.addEventListener("did-start-navigation",(function(t){t.isMainFrame&&e.reportPageLoad(t.url,void 0,!0)})),i.addEventListener("did-redirect-navigation",(function(t){return y(e,void 0,void 0,(function(){return b(this,(function(e){return t.isMainFrame?(this.reportPageLoad(t.url,void 0,!1),[2]):[2]}))}))})),i.addEventListener("dom-ready",(function(){if(e.webviewMounted=!0,e.loadFirstPage){var t=e.loadFirstPage;e.loadFirstPage=null,t()}e.requestCommitPageLoad()})),i.addEventListener("did-stop-loading",(function(){e.showLoadingIndicator(!1)})),i.addEventListener("did-finish-load",(function(){return y(e,void 0,void 0,(function(){return b(this,(function(e){return this.showLoadingIndicator(!1),[2]}))}))})),i.addEventListener("did-fail-load",(function(t){-3!==t.errorCode&&t.isMainFrame&&(e.showLoadingIndicator(!1),e.displayErrorView(),e.requestCommitPageLoad())})),i.addEventListener("did-navigate-in-page",(function(){return y(e,void 0,void 0,(function(){return b(this,(function(e){return this.requestCommitPageLoad(),[2]}))}))})),i.addEventListener("page-favicon-updated",(function(t){var n=e.selectFavicon(t.favicons);e.setFavicon(n)})),i.addEventListener("page-title-updated",(function(t){e.leaf.tabHeaderInnerTitleEl.setText(t.title),e.title=t.title})),i.addEventListener("context-menu",this.displayContextMenu.bind(this)),i.addEventListener("destroyed",(function(){n!==t.doc&&(i.detach(),e.instantiateWebView())})),n.contains(t)?t.appendChild(this.webview):t.onNodeInserted((function(){t.doc===n?t.appendChild(e.webview):e.instantiateWebView()}),!0)},t.prototype.storeCurrentPageTitle=function(){return y(this,void 0,Promise,(function(){return b(this,(function(e){return this.title=this.webview.getTitle(),[2]}))}))},t.prototype.displayErrorView=function(){this.hideAll(),this.mode="error",this.errorView.show()},t.prototype.displayWebView=function(){this.hideAll(),this.mode="webview",this.webview.show(),this.renderer=null,this.app.workspace.requestSaveLayout()},t.prototype.configureWebContents=function(){var e=this,t=electron.remote.webContents.fromId(this.webview.getWebContentsId());t.noContextMenu=!0,t.on("before-input-event",(function(n,i){if("keyDown"===i.type&&!t.isDestroyed()){var r=e.app.keymap.onKeyEvent(new KeyboardEvent("keydown",{code:i.code,key:i.key,shiftKey:i.shift,altKey:i.alt,ctrlKey:i.control,metaKey:i.meta,repeat:i.isAutoRepeat}));t.setIgnoreMenuShortcuts(!!r)}})),t.on("input-event",(function(t,n){"mouseDown"===n.type&&e.app.workspace.setActiveLeaf(e.leaf)}))},t.prototype.getReaderModeContent=function(){return y(this,void 0,Promise,(function(){var e,t,n,i,r,o;return b(this,(function(a){switch(a.label){case 0:return[4,fetch("/lib/readability.js")];case 1:return(e=a.sent()).ok?[4,e.text()]:(new vx(N2.msgErrorExtractingContent()),[2]);case 2:return t=a.sent(),[4,this.webview.executeJavaScript(t)];case 3:a.sent(),n="new Readability(document.cloneNode(true)).parse()",a.label=4;case 4:return a.trys.push([4,6,,7]),[4,this.webview.executeJavaScript(n)];case 5:return i=a.sent(),[3,7];case 6:return a.sent(),new vx(N2.msgErrorFindingContent()),[2];case 7:return i&&i.content&&"string"==typeof i.content?"string"!=typeof(r=i.title||i.siteName||"Untitled")?(console.error("Unexpected value when extracting site title"),new vx(N2.msgErrorFindingContent()),[2]):(r=c2(r),o=MM(i.content),[2,{md:SC(o),title:r}]):(new vx(N2.msgErrorFindingContent()),[2])}}))}))},t.prototype.displayReaderView=function(){return y(this,void 0,Promise,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return[4,this.getReaderModeContent()];case 1:return(e=n.sent())?(t=this.app.vault.getConfig("readableLineLength"),this.readerView.toggleClass("is-readable-line-width",t),this.renderer||(this.readerView.empty(),this.renderer=new bR(this,this,this.readerView,"worker.js",!1)),this.renderer.clear(),this.renderer.set(e.md),this.hideAll(),this.readerModeToggleBtn.addClass("mod-webviewer"),this.readerView.show(),this.mode="reader",this.app.workspace.requestSaveLayout(),[2]):[2]}}))}))},t.prototype.displayBlank=function(){var e=this;this.hideAll(),this.mode="blank",this.titleContainerEl.win.setTimeout((function(){e.addressBar.focus()}),100),this.app.workspace.requestSaveLayout()},t.prototype.hideAll=function(){this.readerModeToggleBtn.removeClass("mod-webviewer"),this.closeSearch(),this.webview.hide(),this.errorView.hide(),this.readerView.hide()},t.prototype.saveAsMarkdown=function(){return y(this,void 0,Promise,(function(){var e,t,n;return b(this,(function(i){switch(i.label){case 0:return[4,this.getReaderModeContent()];case 1:return(e=i.sent())?((t=this.plugin.options.markdownPath||"")&&(t+="/"),n=this.app.vault.getAvailablePath(t+e.title,"md"),[2,this.app.vault.create(n,e.md)]):[2]}}))}))},t.prototype.navigate=function(e,t){var n=this;if(e)if(this.webviewMounted){if(e!==B2&&this.addressBar.setValue(e),"about:blank"===e)return this.url="about:blank",void this.displayBlank();this.reportPageLoad(e,void 0,t),this.webview.stop(),this.webview.loadURL(e).then((function(){"webview"!==n.mode&&"reader"!==n.mode&&n.displayWebView()})).catch((function(e){}))}else this.loadFirstPage=function(){n.navigate(e,t)}},t.prototype.pushViewStackHistory=function(e){var t,n=this.url,i=this.title,r=null===(t=this.leaf.history.backHistory.last())||void 0===t?void 0:t.state.state;this.url===e||r&&r.url===n||this.leaf.recordHistory({title:i,icon:"globe-2",state:{state:{url:n},type:"webviewer"},eState:null})},t.prototype.selectFavicon=function(e){if(0!==e.length){if(1===e.length)return e[0];for(var t=0,n=e[0],i=/(\d+)x\d+/,r=0,o=e;rt&&(t=l,n=a)}}return n}},t.prototype.setFavicon=function(e){return y(this,void 0,Promise,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return e&&this.faviconUrl==e?[2]:(this.faviconUrl=e,this.faviconImgEl?this.faviconImgEl.empty():this.faviconImgEl=createDiv("webviewer-favicon-container"),(t=this.webview.src)?[4,this.plugin.db.setIcon(this.faviconImgEl,t,e)]:[2]);case 1:return n.sent(),this.leaf.tabHeaderInnerIconEl.empty(),this.leaf.tabHeaderInnerIconEl.appendChild(this.faviconImgEl),[2]}}))}))},t.prototype.contextMenuItemsForLink=function(e,t){var n=this,i=function(t){n.app.workspace.getLeaf(t).setViewState({type:S2,active:!0,state:{url:e}})},r=[{label:N2.actionOpenLink(),click:function(){i()}},{label:N2.actionOpenLinkNewTab(),click:function(){i("tab")}},{label:N2.actionOpenLinkNewSplit(),click:function(){i("split")}},{label:N2.actionOpenLinkNewWindow(),click:function(){i("window")}},{label:N2.actionOpenLinkDefaultBrowser(),click:function(){window.open(e,"_external")}},{type:"separator"},{label:N2.actionCopyLinkAddress(),click:function(){navigator.clipboard.writeText(e)}}],o=this.app.internalPlugins.getEnabledPluginById("bookmarks");return o&&r.push({label:N2.actionBookmarkLink(),click:function(){var t=U2(e);new s2(o,t,!1).open()}}),r},t.prototype.contextMenuItemsForSelection=function(e,t){var n=this,i=[{label:N2.actionSearchForQuery({query:gc(e,15)}),click:function(){var t=encodeURIComponent(e),i=n.plugin.getSearchEngineUrl(t);n.app.workspace.getLeaf("tab").setViewState({type:S2,active:!0,state:{url:i}})}},{label:N2.actionExtractSelection(),click:function(){return y(n,void 0,void 0,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:return t=c2(this.title),n=this.app.vault.getAvailablePath(t,"md"),[4,this.app.vault.create(n,e)];case 1:return i.sent(),this.app.workspace.openLinkText(n,"",!0),[2]}}))}))}},{type:"separator"},{label:N2.actionCopySelection(),accelerator:"CmdOrCtrl+C",role:"copy"}];return t&&i.push({label:N2.actionCut(),accelerator:"CmdOrCtrl+X",role:"cut"},{label:N2.actionPaste(),accelerator:"CmdOrCtrl+V",role:"paste"},{label:N2.actionDelete(),accelerator:"Delete",role:"delete"},{label:N2.actionSelectAll(),accelerator:"CmdOrCtrl+A",role:"selectAll"}),i},t.prototype.contextMenuItemsForImg=function(e){var t=this;return[{label:N2.actionSaveImage(),click:function(){return y(t,void 0,void 0,(function(){var t,n,i,r;return b(this,(function(o){switch(o.label){case 0:return[4,ex(e)];case 1:return t=o.sent(),n=c2(n=decodeURIComponent(iu(e))),i=R2[t.headers["content-type"]]||ou(e),[4,this.app.vault.getAvailablePathForAttachments(n,i,null)];case 2:return r=o.sent(),this.app.vault.createBinary(r,t.arrayBuffer),new vx('Stored as "'.concat(r,'"')),[2]}}))}))}},{label:N2.actionCopyImage(),click:function(){return y(t,void 0,void 0,(function(){var t,n,i;return b(this,(function(r){switch(r.label){case 0:return[4,ex(e)];case 1:return t=r.sent(),n=mu(t.arrayBuffer),i=electron.nativeImage.createFromBuffer(n),electron.clipboard.writeImage(i),[2]}}))}))}},{label:N2.actionCopyImageLink(),click:function(){electron.clipboard.writeText(e)}}]},t.prototype.displayContextMenu=function(e){var t=this;e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();var n=e.params,i=[];if(n.linkURL&&i.push.apply(i,this.contextMenuItemsForLink(n.linkURL,n.linkText)),n.selectionText?(i.length>0&&i.push({type:"separator"}),i.push.apply(i,this.contextMenuItemsForSelection(n.selectionText,n.isEditable))):n.isEditable&&(i.length>0&&i.push({type:"separator"}),i.push({label:N2.actionPaste(),role:"paste"},{label:N2.actionSelectAll(),role:"selectAll"})),"image"===n.mediaType&&n.srcURL&&(i.length>0&&i.push({type:"separator"}),i.push.apply(i,this.contextMenuItemsForImg(n.srcURL))),!n.selectionText&&"none"===n.mediaType&&!n.linkURL){i.length>0&&i.push({type:"separator"}),i.push({label:N2.actionBackward(),enabled:this.leaf.history.backHistory.length>0,click:function(){t.leaf.history.back()}},{label:N2.actionForward(),enabled:this.leaf.history.forwardHistory.length>0,click:function(){t.leaf.history.forward()}},{label:N2.actionReload(),click:function(){t.webview.reload()}});var r=this.app.internalPlugins.getEnabledPluginById("bookmarks");r&&i.push({label:N2.actionBookmarkPage(),click:function(){var e=U2(t.url,t.title);new s2(r,e,!1).open()}}),i.push({label:N2.actionOpenDefaultBrowser(),click:function(){window.open(t.url,"_external")}},{label:N2.actionSelectAll(),accelerator:"CmdOrCtrl+A",role:"selectAll"})}var o=electron.remote.Menu.buildFromTemplate(i),a=this.webview.win.electronWindow;o.popup({window:a})},t.prototype.showSearch=function(){var e=this;"reader"===this.mode?(this.searchReader||(this.searchReader=new NN(this.scope,this.renderer,this.searchContainerEl,(function(){e.replaceScope(null),e.searchReader=null}))),kv(this.searchReader.searchInputEl),this.replaceScope(this.searchReader.scope)):"webview"===this.mode&&(this.searchWebView||(this.searchWebView=new F2(this.webview,this.searchContainerEl,(function(t){return e.replaceScope(t)}))),this.searchWebView.show())},t.prototype.replaceScope=function(e){this.scope=e||null},t.prototype.closeSearch=function(){this.searchReader&&(this.searchReader.close(),this.searchReader=null),this.searchWebView&&this.searchWebView.hide()},t.prototype.onExternalLinkClick=function(e,t,n){e.preventDefault(),e.stopPropagation(),this.navigate(n,!0)},t.prototype.onReaderModeContextMenu=function(e){var t,n=this;e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();var i=[],r=e.targetNode;if(r.instanceOf(HTMLElement))switch(r.nodeName){case"A":var o=r.getAttr("href"),a=r.innerText;i.push.apply(i,this.contextMenuItemsForLink(o,a));break;case"IMG":var s=r.getAttr("src");i.push.apply(i,this.contextMenuItemsForImg(s))}var l=null===(t=r.win.getSelection())||void 0===t?void 0:t.toString();if(l&&(i.length>0&&i.push({type:"separator"}),i.push.apply(i,this.contextMenuItemsForSelection(l))),0===i.length){var c=this.app.internalPlugins.getEnabledPluginById("bookmarks");c&&i.push({label:N2.actionBookmarkPage(),click:function(){var e=U2(n.url,n.title);new s2(c,e,!1).open()}}),i.push({label:N2.actionOpenDefaultBrowser(),click:function(){window.open(n.url,"_external")}},{label:N2.actionSelectAll(),accelerator:"CmdOrCtrl+A",click:function(){var e=n.renderer.previewEl.win,t=e.getSelection(),i=e.document.createRange();i.selectNodeContents(n.renderer.previewEl),t.removeAllRanges(),t.addRange(i)}})}var u=electron.remote.Menu.buildFromTemplate(i),h=r.win.electronWindow;u.popup({window:h})},t.prototype.onCheckboxClick=function(e,t,n){},t.prototype.onFoldChange=function(){},t.prototype.onScroll=function(){},t.prototype.postProcess=function(e,t,n){},t.prototype.onRenderComplete=function(){},t.prototype.onInternalLinkClick=function(e,t,n){},t.prototype.onInternalLinkRightClick=function(e,t,n){},t.prototype.onInternalLinkDrag=function(e,t,n){},t.prototype.onInternalLinkMouseover=function(e,t,n){},t.prototype.onTagClick=function(e,t,n){},t.prototype.onExternalLinkRightClick=function(e,t,n){},t}(zg),H2=lm.plugins.bookmarks;function z2(e,t){return t||(t=void 0),{type:"file",ctime:Date.now(),path:e.path,subpath:t}}function q2(e){return{type:"folder",ctime:Date.now(),path:e.path}}function W2(e){return{type:"group",ctime:Date.now(),items:[],title:e||H2.labelUntitledGroup()}}function j2(e,t){return{type:"graph",ctime:Date.now(),title:t||H2.labelUntitledGraph(),options:e}}function U2(e,t){return{type:"url",ctime:Date.now(),url:e,title:t||""}}function _2(e){return{type:"search",ctime:Date.now(),query:e}}function G2(e){return e.view instanceof s1?j2(e.view.dataEngine.getOptions()):e.view instanceof i2?_2(e.view.getQuery()):e.view instanceof oG?z2(e.view.file):e.view instanceof V2?U2(e.view.url,e.view.getDisplayText()):null}function K2(e,t){var n=function(e,i){for(var r=0,o=e;r1&&n.setMessage(lm.interface.mobile.msgImporting()+" (".concat(i,"/").concat(e.length,")")),[4,fetch(fm.Ii.convertFileSrc(s.uri))];case 3:return[4,v.sent().arrayBuffer()];case 4:return l=v.sent(),c=s.name||eu(s.uri),u=iu(c),h=ou(c),p=void 0,"md"===h?[3,6]:[4,r.getAvailablePathForAttachments(u,h,this.app.workspace.getActiveFile())];case 5:return p=v.sent(),[3,7];case 6:p=r.getAvailablePath(u,h),v.label=7;case 7:return[4,r.createBinary(p,l)];case 8:return d=v.sent(),t.push(d),i++,[3,10];case 9:return f=v.sent(),n.hide(),new vx(lm.interface.mobile.msgFailedToImportFile({filename:s.name})),new vx(f.toString()),[2];case 10:return o++,[3,1];case 11:return n.hide(),(m=(new Ng).addItem((function(e){return e.setTitle(lm.interface.mobile.msgImportSuccess()).removeIcon().setIsLabel(!0)})).addSeparator()).addItem((function(e){return e.setTitle(lm.dialogue.buttonDone()).setIcon("lucide-check").onClick((function(){return null}))})),this.app.workspace.trigger("receive-files-menu",m,t),m.showAtPosition({x:0,y:0}),[2]}}))}))},e}(),$2=function(e){function t(t,n){var i=e.call(this,t)||this;return i.emptyStateText=lm.plugins.quickSwitcher.labelNoNoteCreateNew(),i.allowCreateNewFile=!0,i.text=n,i.shouldShowUnresolved=!0,i.shouldShowNonImageAttachments=!1,i.shouldShowImages=!1,i.shouldShowNonAttachments=!1,i.shouldShowAllTypes=!1,i.setPlaceholder("Choose file to insert"),i.setInstructions([{command:"↑↓",purpose:"to navigate"},{command:"↵",purpose:"to select"},{command:"esc",purpose:"to dismiss"}]),i}return m(t,e),t.prototype.onChooseSuggestion=function(e,t){return y(this,void 0,Promise,(function(){var t,n,i;return b(this,(function(r){switch(r.label){case 0:t=null,n=this.app,r.label=1;case 1:return r.trys.push([1,7,,8]),e?[3,3]:[4,n.fileManager.createNewMarkdownFileFromLinktext(this.inputEl.value,"")];case 2:return t=r.sent(),[3,6];case 3:return"unresolved"!==e.type?[3,5]:[4,n.fileManager.createNewMarkdownFileFromLinktext(e.linktext,"")];case 4:return t=r.sent(),[3,6];case 5:"file"!==e.type&&"alias"!==e.type||(t=e.file),r.label=6;case 6:return[3,8];case 7:return i=r.sent(),new vx(i.toString()),[2];case 8:return t?[4,this.app.fileManager.insertIntoFile(t,this.text)]:[3,11];case 9:return r.sent(),[4,this.app.workspace.getLeaf().openFile(t)];case 10:r.sent(),r.label=11;case 11:return[2]}}))}))},t}(X2),J2=n(9547),e6=n.n(J2),t6="audio/mp4",n6=function(){function e(){this.id="audio-recorder",this.name=lm.plugins.audioRecorder.name(),this.description=lm.plugins.audioRecorder.desc(),this.app=null,this.plugin=null,this.recording=!1,this.recorder=null,this.extension=""}return e.prototype.init=function(e,t){var n=this;this.app=e,this.plugin=t,t.registerRibbonItem(lm.plugins.audioRecorder.actionToggle(),"lucide-mic",this.onRecordAudio.bind(this)),t.registerGlobalCommand({id:"audio-recorder:start",name:lm.plugins.audioRecorder.actionStart(),icon:"lucide-play-circle",checkCallback:function(e){return!n.recording&&(e||n.onStartRecording(),!0)}}),t.registerGlobalCommand({id:"audio-recorder:stop",name:lm.plugins.audioRecorder.actionStop(),icon:"lucide-stop-circle",checkCallback:function(e){return!!n.recording&&(e||n.onStopRecording(),!0)}})},e.prototype.checkPermission=function(){return y(this,void 0,Promise,(function(){var e,t,n;return b(this,(function(i){switch(i.label){case 0:return Yl.isDesktopApp&&"macOS"===Hl?(e=Lf("electron"))?(t=e.remote.systemPreferences,n=t.getMediaAccessStatus("microphone"),["denied","restricted","unknown"].contains(n)?(this.showRecordingMessage(lm.plugins.audioRecorder.msgAccessDenied(),!0),[2,!1]):[3,1]):(this.showRecordingMessage(lm.plugins.audioRecorder.msgAccessDenied(),!0),[2,!1]):[3,5];case 1:return"not-determined"!==n?[3,3]:(this.showRecordingMessage(lm.plugins.audioRecorder.msgPendingGrant(),!1),[4,t.askForMediaAccess("microphone")]);case 2:return[2,i.sent()];case 3:if("granted"===n)return[2,!0];i.label=4;case 4:return[2,!1];case 5:return[2,!0]}}))}))},e.prototype.onRecordAudio=function(){return y(this,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,this.checkPermission()];case 1:return e.sent()?this.recording?[3,3]:[4,this.onStartRecording()]:[2];case 2:return e.sent(),[3,4];case 3:this.onStopRecording(),e.label=4;case 4:return[2]}}))}))},e.prototype.onStartRecording=function(){return y(this,void 0,void 0,(function(){var e,t,n;return b(this,(function(i){switch(i.label){case 0:if(gm&&!navigator.mediaDevices)return new vx("This functionality requires iOS 14.5."),[2];i.label=1;case 1:return i.trys.push([1,4,,5]),[4,navigator.mediaDevices.getUserMedia({audio:!0,video:!1})];case 2:return e=i.sent(),[4,this.startRecording(e)];case 3:return i.sent(),[3,5];case 4:return(t=i.sent()).message.contains("Requested device not found")&&this.plugin.addedButtonEls.length>0?(n=lm.plugins.audioRecorder.msgNoMicrophone(),this.showRecordingMessage(n,!0)):(t.message.contains("denied")&&new vx(t.message),console.error(t)),[2];case 5:return this.recording=!0,this.plugin.addedButtonEls.forEach((function(e){Km(e,"lucide-mic"),e.addClass("is-active")})),[2]}}))}))},e.prototype.onStopRecording=function(){this.recording=!1,this.recorder.stop(),this.plugin.addedButtonEls.forEach((function(e){e.removeClass("is-active")}))},e.prototype.startRecording=function(e){var t=this,n=[],i='audio/webm;codecs="opus"';this.extension="webm",MediaRecorder.isTypeSupported(t6)&&(i=t6,this.extension="m4a"),this.recorder=new MediaRecorder(e,{mimeType:i}),this.recorder.addEventListener("dataavailable",(function(e){e.data.size>0&&n.push(e.data)})),this.recorder.addEventListener("stop",(function(){return y(t,void 0,void 0,(function(){var t,o,a;return b(this,(function(s){switch(s.label){case 0:if(this.recorder=null,e.getTracks().forEach((function(e){e.stop()})),t=new Blob(n,{type:i}),"webm"!==this.extension)return[3,4];s.label=1;case 1:return s.trys.push([1,3,,4]),[4,e6()(t)];case 2:return t=s.sent(),[3,4];case 3:return o=s.sent(),console.error(o),[3,4];case 4:return a=this.saveRecording,[4,t.arrayBuffer()];case 5:return[4,a.apply(this,[s.sent()])];case 6:return s.sent(),r&&r.release(),[2]}}))}))})),this.recorder.start();var r=null;vm&&(r=Am())},e.prototype.saveRecording=function(e){return y(this,void 0,void 0,(function(){var t,n,i,r,o,a,s,l;return b(this,(function(c){switch(c.label){case 0:return t=this.app,n=t.workspace,i="Recording "+window.moment().format("YYYYMMDDHHmmss"),r=n.getActiveFile(),o=n.getActiveViewOfType(U0),[4,t.vault.getAvailablePathForAttachments(i,this.extension,r)];case 1:return a=c.sent(),[4,t.vault.createBinary(a,e)];case 2:return s=c.sent(),o?(l=this.app.fileManager.generateMarkdownLink(s,o.file.path),o.editor.replaceSelection("\n!".concat(l,"\n")),[2]):[4,n.getUnpinnedLeaf().openFile(s,{active:!0})];case 3:return c.sent(),[2]}}))}))},e.prototype.showRecordingMessage=function(e,t){this.plugin.addedButtonEls.length>0&&pv(this.plugin.addedButtonEls[0],e,{placement:"right",classes:t?["mod-error"]:[]})},e}(),i6=function(){function e(){this.items={},this.queue=new Sx}return e.prototype.thumbnailBg=function(e,t){var n=this,i=this.items;if(Object.hasOwn(i,t))e.style.backgroundImage='url("'.concat(i[t],'")');else{var r='url("'.concat(t,'")');e.style.backgroundImage=r;var o="";try{if("gif"===(o=ou(new URL(t).pathname))||"svg"===o)return}catch(e){}this.queue.queue((function(){return y(n,void 0,void 0,(function(){var n,a,s,l,c,u,h,p,d;return b(this,(function(f){switch(f.label){case 0:return e.style.backgroundImage!==r?[2]:Object.hasOwn(i,t)?(e.style.backgroundImage='url("'.concat(i[t],'")'),[2]):((n=new Image).crossOrigin="anonymous",[4,new Promise((function(e){var i=function(){return e()};n.addEventListener("load",i),n.addEventListener("error",i),activeWindow.setTimeout(i,1e4),n.src=t}))]);case 1:return f.sent(),e.isShown()&&e.style.backgroundImage===r?(a=n.naturalWidth,s=n.naturalHeight,0===a||0===s?(i[t]=t,[2]):(l=Math.max(e.offsetWidth/a,e.offsetHeight/s),(l*=e.win.devicePixelRatio)<=0||l>.5?(i[t]=t,[2]):(c=Math.ceil(a*l),u=Math.ceil(s*l),h=document.createElement("canvas"),(p=h.getContext("2d")).imageSmoothingQuality="high",h.width=c,h.height=u,p.drawImage(n,0,0,c,u),d=h.toDataURL("png"===o?"image/png":"image/jpeg"),i[t]=d,e.style.backgroundImage='url("'.concat(d,'")'),[2]))):[2]}}))}))}))}},e.prototype.clear=function(){this.items={}},e}();function r6(e){for(var t=[],n=0;n<=e;n++)t.push(n/e);return t}function o6(e,t){var n=null,i=new IntersectionObserver(t,{threshold:r6(1e3)});function r(i){n&&i.target.contains(e)&&t()}function o(){var i=n,o=e.isShown()?e.win:null;o!==i&&(i&&i.removeEventListener("scroll",r,{capture:!0}),o&&o.addEventListener("scroll",r,{passive:!0,capture:!0}),n=o,t())}i.observe(e),o();var a=e.onNodeInserted(o);return function(){a(),i.disconnect(),n&&(n.removeEventListener("scroll",r,{capture:!0}),n=null)}}function a6(e){for(var t=e.getBoundingClientRect(),n=t.width>0?e.clientWidth/Math.round(t.width):t.height>0?e.clientHeight/Math.round(t.height):1,i=e.ownerDocument,r=i.defaultView||window,o=0,a=r.innerWidth,s=0,l=r.innerHeight,c=e.parentNode;c&&c!=i.body;)if(1==c.nodeType){var u=c,h=window.getComputedStyle(u);if((u.scrollHeight>u.clientHeight||u.scrollWidth>u.clientWidth)&&"visible"!=h.overflow){var p=u.getBoundingClientRect();o=Math.max(o,p.left),a=Math.min(a,p.right),s=Math.max(s,p.top),l=Math.min(c==e.parentNode?r.innerHeight:l,p.bottom)}c="absolute"==h.position||"fixed"==h.position?u.offsetParent:u.parentNode}else{if(11!=c.nodeType)break;c=c.host}return{left:n*(o-t.left),right:n*(Math.max(o,a)-t.left),top:n*(s-t.top),bottom:n*(Math.max(s,l)-t.top)}}var s6="cards",l6=lm.plugins.bases,c6=l6.cards,u6=function(e){function t(t,n){var i=e.call(this,t)||this;return i.type=s6,i.groups=[],i.items=[],i.unusedItems=[],i.lastViewport=null,i.lastScroll={top:0},i.pendingScroll=null,i.thumbnailer=new i6,i.testers=null,i.measurements={pad:{top:0,bottom:0,start:0,end:0},groupGap:0,groupHeadingHeight:0,groupPad:{top:0,bottom:0,start:0,end:0},cardGap:0,cardPad:{top:0,bottom:0,start:0,end:0},propGap:0,cardsPerRow:1,cardWidth:200,cardHeight:200,coverHeight:100,titleHeight:24,propHeight:24},i.imageProp=null,i.imageFitContain=!1,i.imageAspectRatio=1,i.scrollEl=n,i.containerEl=n.createDiv({cls:"bases-cards-container is-loading",attr:{tabIndex:0}}),i}return m(t,e),t.prototype.onload=function(){var e=this;this.scrollWatcher=o6(this.containerEl,(function(){return e.updateVirtualDisplay()})),this.registerEvent(this.app.workspace.on("css-change",this.updateVirtualDisplay,this))},t.prototype.onunload=function(){var e;null===(e=this.scrollWatcher)||void 0===e||e.call(this),this.scrollWatcher=null},t.prototype.onResize=function(){this.updateVirtualDisplay()},t.prototype.focus=function(){this.containerEl.focus({preventScroll:!0})},t.prototype.onDataUpdated=function(){this.containerEl.removeClass("is-loading"),this.display()},t.prototype.display=function(){var e=this,t=this.data;t&&0!==t.data.length?(UG(this.groups,this.data.groupedData,(function(){return!0}),(function(){return new h6(e)}),(function(e,t){return e.render(t)})),this.updateVirtualDisplay()):this.containerEl.empty()},t.prototype.updateVirtualDisplay=function(){var e=this,t=this,n=t.data,i=t.config,r=t.containerEl;if(n&&i&&r.isShown()){var o=this,a=o.groups,s=o.items,l=o.unusedItems,c=o.measurements,u=o.testers,h=o.lastViewport,p=n.properties;if(0!==a.length){u||((u=this.testers={group:createDiv("bases-cards-group"),groupHeading:createDiv("bases-group-heading"),card:createDiv("bases-cards-item"),cover:createDiv("bases-cards-cover"),title:createDiv("bases-cards-property mod-title"),prop:createDiv("bases-cards-property")}).groupHeading.setText("Fj"),u.group.appendChild(u.card),u.card.appendChild(u.cover),u.card.appendChild(u.title),u.title.createDiv({cls:"bases-cards-label",text:"Fj"}),u.title.createDiv({cls:"bases-cards-line",text:"Fj"}),u.card.appendChild(u.prop),u.prop.createDiv({cls:"bases-cards-label",text:"Fj"}),u.prop.createDiv({cls:"bases-cards-line",text:"Fj"}),u.groupHeading.setCssStyles({opacity:"0",pointerEvents:"none",zIndex:"-1"}),u.group.setCssStyles({opacity:"0",pointerEvents:"none",zIndex:"-1",width:c.cardWidth+"px",height:"100px"}),u.card.setCssStyles({width:"100%",height:"100%"})),u.group.parentNode||r.prepend(u.group),u.groupHeading.parentNode||r.prepend(u.groupHeading);var d=i.get("image");d&&String.isString(d)?this.imageProp=Qj(d):this.imageProp=null,this.imageFitContain="contain"===i.get("imageFit");var f=i.get("imageAspectRatio");f&&Number.isNumber(f)&&f>0?this.imageAspectRatio=f:this.imageAspectRatio=1;var m=200,g=i.get("cardSize");g&&Number.isNumber(g)&&g>0&&(m=g);var y=Bl(r.getCssPropertyValue("--bases-cards-scale"),1);y>0&&(m*=y);var b=getComputedStyle(r);c.pad=f6(b),c.groupGap=Bl(b.gap,0);var w=getComputedStyle(a[0].containerEl);c.groupPad=f6(w),c.cardGap=Bl(w.gap,0),c.groupHeadingHeight=u.groupHeading.offsetHeight;var k=getComputedStyle(u.card);c.cardPad=f6(k),c.propGap=Bl(k.gap,0),c.titleHeight=u.title.offsetHeight,c.propHeight=u.prop.offsetHeight,c.coverHeight=u.cover.offsetHeight;var C=r.clientWidth-c.pad.start-c.groupPad.start-c.groupPad.end-c.pad.end;c.cardsPerRow=Math.max(1,Math.floor(C/m)),c.cardWidth=(C-c.cardGap*(c.cardsPerRow-1))/c.cardsPerRow,c.cardHeight=0,this.imageProp&&(c.coverHeight=c.cardWidth*this.imageAspectRatio,c.cardHeight+=c.coverHeight),p.length>0&&(c.cardHeight+=c.cardPad.top+c.cardPad.bottom+c.titleHeight),p.length>1&&(c.cardHeight+=(c.propHeight+c.propGap)*(p.length-1));var E=a6(r);if(this.lastViewport=v({},E),h){var S=Math.min(E.bottom-E.top,window.innerHeight/2,2*c.cardHeight);E.toph.bottom&&(E.bottom+=Math.min(E.bottom-h.bottom,S))}var M=r.doc.activeElement;if(r.contains(M)&&r!==M){var x=Pv(M,r);x.topE.bottom&&(E.bottom=T)}for(var D=[u.groupHeading,u.group],A=[],P=c.pad.top,L=0;L=E.top){for(var q=Math.floor(Math.max(E.top-H,0)/(c.cardHeight+c.cardGap)),W=R-Math.floor(Math.max(z-E.bottom,0)/(c.cardHeight+c.cardGap)),j=[],U=q;U=F.length)return"break";var n=F[t],i=s.findIndex((function(e){return e.entry.file===n.file})),r=void 0;-1!==i?(r=s[i],s.splice(i,1)):r=l.length>0?l.pop():new p6(G),A.push(r),r.render(n,p),r.el.setCssStyles({top:c.groupPad.top+U*(c.cardHeight+c.cardGap)+"px",insetInlineStart:c.groupPad.start+e*(c.cardWidth+c.cardGap)+"px",width:c.cardWidth+"px",height:c.cardHeight+"px"}),j.push(r.el)},G=this,K=0;KX&&(l.length=X),r.style.height||kc((function(){return e.updateVirtualDisplay()})),r.setCssStyles({height:Math.max(0,P-c.groupGap+c.pad.bottom)+"px"});var Q=this.scrollEl;this.pendingScroll?(Q.scrollTop=P*this.pendingScroll.top,this.lastScroll=this.pendingScroll,this.pendingScroll=null):this.lastScroll={top:Q.scrollTop/P}}else r.empty()}},t.prototype.setEphemeralState=function(e){var t=e.scroll;t&&"object"==typeof t&&(this.pendingScroll=t)},t.prototype.getEphemeralState=function(){var e={};return e.scroll=this.lastScroll,e},t.getViewOptions=function(){return[{displayName:c6.labelCardSize(),type:"slider",key:"cardSize",min:50,max:800,step:10,default:200},{displayName:c6.labelImageProperty(),type:"property",key:"image",filter:function(e){return"file.file"===e||!e.startsWith("file.")},placeholder:l6.labelPropertyKey()},{displayName:c6.labelImageFit(),type:"dropdown",key:"imageFit",options:{"":c6.optionImageFitCover(),contain:c6.optionImageFitContain()}},{displayName:c6.labelImageAspectRatio(),key:"imageAspectRatio",type:"slider",min:.25,max:2.5,step:.05,default:1}]},t}(rK),h6=function(){function e(e){this.view=e,this.containerEl=createDiv("bases-cards-group"),this.groupHeadingEl=createDiv("bases-group-heading")}return e.prototype.render=function(e){this.groupHeadingEl=this.view.createGroupHeadingEl(e)},e}(),p6=function(){function e(e){var t=this;this.imageValue=null,this.props=[],this.view=e;var n=this.el=createDiv("bases-cards-item"),i=e.app;Ic(n),n.onClickEvent((function(e){if((0===e.button||1===e.button)&&!e.defaultPrevented&&t.entry){var r=n.win,o=r.getSelection();if(o&&o.rangeCount>0)for(var a=0;a1?e:0;if(!(r=this.rawValues[n]))return;var i=r[r.length>1?t:0];return i&&"note"===i.type?i.data:void 0}if(this.tableValues){var r;n=this.tableValues.length>1?e:0;if(!(r=this.tableValues[n]))return;return r[r.length>1?t:0]}return this.plainValue},e}();function C6(e){return e?{start:e.column,top:e.row,end:e.column,bottom:e.row,groupIdx:e.groupIdx}:null}function E6(e,t,n){null!=e||(e=C6(t));var i=e.top,r=e.bottom,o=e.start,a=e.end,s=e.groupIdx,l=n.row,c=n.column;return i=Math.min(i,l),r=Math.max(r,l),o=Math.min(o,c),a=Math.max(a,c),t.row===e.top&&l>e.top&&l<=e.bottom&&(i=l),t.row===e.bottom&&l=e.top&&(r=l),t.column===e.start&&c>e.start&&c<=e.end&&(o=c),t.column===e.end&&c=e.start&&(a=c),{top:i,bottom:r,start:o,end:a,groupIdx:s}}var S6=function(e){function t(t,n){var i=e.call(this,t)||this;i.type=b6,i.groups=[],i.rows=[],i.unusedRows=[],i.columnInfo={},i.lastViewport=null,i.lastScroll={left:0,top:0},i.pendingScroll=null,i.cellLookup=new WeakMap,i.activeCell=null,i.activeCellEl=createDiv("bases-table-active-cell"),i.selectionEl=createDiv("bases-table-selection"),i.minColWidth=100,i.maxColWidth=600,i.scrollEl=n;var r=i.theadEl=n.createDiv("bases-thead");i.header=new A6(i),r.appendChild(i.header.el);var o=i.containerEl=n.createDiv({cls:"bases-table-container is-loading",attr:{tabIndex:0}});return i.footerSummary=new O6(i,"footer"),n.appendChild(i.footerSummary.el),i.footerSummary.el.addClass("bases-table-footer"),r.on("click",".bases-table-header-resizer",(function(e){return e.preventDefault()})),r.on("dblclick",".bases-table-header-resizer",i.onTableHeaderResizerDblclick.bind(i)),r.on("dragstart",".bases-thead .bases-td",i.onTableHeaderDragstart.bind(i)),o.on("pointerdown",".bases-td",i.onTableSelectionStart.bind(i)),o.on("contextmenu",".bases-td",i.onTableCellContextmenu.bind(i)),Yl.isMobile||r.on("click",".bases-thead .bases-td",i.onTableHeaderClick.bind(i)),o.addEventListener("focusin",(function(e){if(!i.activeCell){var t=i.containerEl.doc.activeElement;if(t!==i.containerEl){if(!i.activeCell){var n=i.getCellFromDom(t);n&&n instanceof I6&&(i.activeCell=i.getCellIndex(n))}i.selection=null,i.updateVirtualDisplay()}}})),o.addEventListener("open-link",(function(e){if(!i.selection){var t=i.data.groupedData[i.activeCell.groupIdx].entries[i.activeCell.row],n=i.rows.find((function(e){return e.entry===t})),r=null==n?void 0:n.cells[i.activeCell.column];if(r){var o=Array.from(r.el.querySelectorAll(".internal-link, .external-link")).map((function(e){return{href:e.getAttr("href")||e.getAttr("data-href"),type:e.hasClass("internal-link")?"internal":"external"}})).filter((function(e){return!!e.href}));if(0!==o.length){e.preventDefault();var a=function(n){"internal"===n.type?i.app.workspace.openLinkText(n.href,t.file.path,e.detail.paneType):window.open(n.href,"_blank")};if(1===o.length)a(o[0]);else{for(var s=new Ng,l=function(e){s.addItem((function(t){return t.setTitle(gc(e.href,100)).onClick((function(){return a(e)}))}))},c=0,u=o;c=p.data.properties.length);l++){var c=xj(p.data.properties[l]),u=c.name;if("note"===c.type){var d=mF(i,u);if(n.isPlainValue()){var f=n.plainValue;if(Object.hasOwn(i,d)){var m=i[d];if(Array.isArray(m)){m.push(f);continue}}i[d]=f}else{var g=n.read(t-r,a);if(void 0===g)continue;i[d]=g}}}}))];case 1:return l.sent(),[2]}}))},i=this,l=r,d.label=1;case 1:return l<=Math.min(o,u)?[5,t(l)]:[3,4];case 2:d.sent(),d.label=3;case 3:return l++,[3,1];case 4:return[2]}}))}))}))]):[3,2]):[2];case 1:d.sent(),d.label=2;case 2:return[2]}}))}))})),o.addEventListener("keyup",(function(e){"Shift"!==e.key||i.containerEl.removeClass("is-selecting")})),o.addEventListener("keydown",(function(e){return y(i,void 0,void 0,(function(){var t,i,r,o,a,s,l,c,u,h,p,d,f,m,g,w,k,C,E,S,M,x,T,D,A,P,L,I,O,F,N,R,B,V,H,z,q,W,j,U,_,G,K,Y,Z,X,Q,$,J,ee=this;return b(this,(function(te){switch(te.label){case 0:if(e.isComposing||e.defaultPrevented)return[2];if(!this.activeCell&&e.key.match(/^(Arrow|Page|Home|Tab|End)/))return e.preventDefault(),this.activeCell={groupIdx:0,column:0,row:0},this.updateVirtualDisplay(),[2];if("Shift"===e.key&&this.containerEl.isActiveElement())return this.containerEl.addClass("is-selecting"),[2];if(!this.activeCell)return[2];if(t=this.activeCell,i=t.row,r=t.column,o=t.groupIdx,a=this.data.properties.length,s=this.data.groupedData.length-1,l=a-1,"Tab"===e.key){if(e.preventDefault(),this.containerEl.focus({preventScroll:!0}),e.shiftKey)if(0===r){if(0===i){if(0===o)return[2];o--,i=this.data.groupedData[o].entries.length-1}else i--;r=l}else r--;else if(r===l){if(p=this.data.groupedData[o].entries.length-1,i===p){if(o===s)return[2];o++,i=0}else i++;r=0}else r++;return this.selection=null,this.activeCell={row:i,column:r,groupIdx:o},Vv(n,this.getCellRect(this.activeCell)),this.updateVirtualDisplay(),[2]}if(ug(e.targetNode))return[2];if("ArrowDown"===e.key&&Ag.isModifier(e,"Mod")&&e.shiftKey)return e.preventDefault(),this.selection={groupIdx:o,top:i,bottom:this.data.groupedData[o].entries.length-1,start:null!==(R=null===(N=this.selection)||void 0===N?void 0:N.start)&&void 0!==R?R:r,end:null!==(V=null===(B=this.selection)||void 0===B?void 0:B.end)&&void 0!==V?V:r},this.updateVirtualDisplay(),[2];if("ArrowUp"===e.key&&Ag.isModifier(e,"Mod")&&e.shiftKey)return e.preventDefault(),this.selection={groupIdx:o,top:0,bottom:i,start:null!==(z=null===(H=this.selection)||void 0===H?void 0:H.start)&&void 0!==z?z:r,end:null!==(W=null===(q=this.selection)||void 0===q?void 0:q.end)&&void 0!==W?W:r},this.updateVirtualDisplay(),[2];if("ArrowLeft"===e.key&&Ag.isModifier(e,"Mod")&&e.shiftKey)return e.preventDefault(),this.selection={groupIdx:o,top:null!==(U=null===(j=this.selection)||void 0===j?void 0:j.top)&&void 0!==U?U:this.activeCell.row,bottom:null!==(G=null===(_=this.selection)||void 0===_?void 0:_.bottom)&&void 0!==G?G:this.activeCell.row,start:0,end:r},this.updateVirtualDisplay(),[2];if("ArrowRight"===e.key&&Ag.isModifier(e,"Mod")&&e.shiftKey)return e.preventDefault(),this.selection={groupIdx:o,top:null!==(Y=null===(K=this.selection)||void 0===K?void 0:K.top)&&void 0!==Y?Y:i,bottom:null!==(X=null===(Z=this.selection)||void 0===Z?void 0:Z.bottom)&&void 0!==X?X:i,start:r,end:l},this.updateVirtualDisplay(),[2];if(!e.key.match(/^(Arrow|Page|Home|End)/)||e.metaKey||e.ctrlKey)return[3,1];if(e.preventDefault(),c=function(){var e=a6(ee.containerEl),t=ee.getRowBaseHeight()*ee.getRowHeightMult();return Math.floor((e.bottom-e.top)/t)},u=e.shiftKey,h=e.shiftKey,"ArrowDown"===e.key||"PageDown"===e.key)for(d="PageDown"===e.key?c():1,f=0;f=s)break;i=0,o++}if("ArrowUp"===e.key||"PageUp"===e.key)for(d="PageUp"===e.key?c():1,f=0;f0)i--;else{if(h)break;if(o<=0)break;o--,i=this.data.groupedData[o].entries.length-1}else"ArrowRight"===e.key?r=Ag.isModifier(e,"Mod")?l:Math.min(r+1,l):"End"===e.key?r=l:"ArrowLeft"===e.key?r=Ag.isModifier(e,"Mod")?0:Math.max(r-1,0):"Home"===e.key&&(r=0);return this.selection=u?E6(this.selection,this.activeCell,{row:i,column:r,groupIdx:o}):null,this.activeCell={row:i,column:r,groupIdx:o},Vv(n,this.getCellRect(this.activeCell)),this.updateVirtualDisplay(),[3,10];case 1:if("Enter"!==e.key)return[3,2];if(e.preventDefault(),this.selection)return[2];if(T=this.data.groupedData[this.activeCell.groupIdx],m=T.entries[this.activeCell.row],g=this.rows.find((function(e){return e.entry===m})),g){if(!(w=g.cells[this.activeCell.column]))return[2];k=xj(w.prop),C=k.type,E=k.name,"formula"===C&&w.renderer instanceof lK?w.renderer.showFormulaEditor():"note"===C&&w.renderer instanceof aK&&(S=w.renderer.propertyEditor)&&("checkbox"===S.type?(M=m.getRawProperty(E),S.setValue(!M),this.updateProperty(m.file,E,!M)):S.focus("end"))}return[3,10];case 2:return"Escape"!==e.key?[3,3]:(e.preventDefault(),this.selection=null,this.updateVirtualDisplay(),[3,10]);case 3:return" "===e.key&&e.ctrlKey?(e.preventDefault(),this.activeCell?(x=this.activeCell.groupIdx,D=null!==(Q=this.selection)&&void 0!==Q?Q:C6(this.activeCell),this.selection={top:0,bottom:this.data.groupedData[x].entries.length-1,start:D.start,end:D.end,groupIdx:x},this.updateVirtualDisplay(),[3,10]):[2]):[3,4];case 4:return" "===e.key&&e.shiftKey?(e.preventDefault(),this.activeCell?(D=null!==($=this.selection)&&void 0!==$?$:C6(this.activeCell),this.selection={top:D.top,bottom:D.bottom,start:0,end:this.data.properties.length-1,groupIdx:this.activeCell.groupIdx},this.updateVirtualDisplay(),[3,10]):[2]):[3,5];case 5:return"a"===e.key&&Ag.isModifier(e,"Mod")?(e.preventDefault(),this.activeCell&&(T=this.activeCell.groupIdx,this.selection={top:0,start:0,end:this.data.properties.length-1,bottom:this.data.groupedData[T].entries.length-1,groupIdx:T}),this.updateVirtualDisplay(),[3,10]):[3,6];case 6:return"z"===e.key&&Ag.isModifier(e,"Mod")&&e.shiftKey?(e.preventDefault(),this.redoTransaction(),[3,10]):[3,7];case 7:return"z"===e.key&&Ag.isModifier(e,"Mod")?(e.preventDefault(),this.undoTransaction(),[3,10]):[3,8];case 8:return"Backspace"!==e.key&&"Delete"!==e.key?[3,10]:(D=null!==(J=this.selection)&&void 0!==J?J:C6(this.activeCell))?(A=D.top,P=D.bottom,L=D.start,I=D.end,O=D.groupIdx,F=this.data.groupedData[O],[4,this.createTransaction((function(e){return y(ee,void 0,void 0,(function(){var t,n,i,r=this;return b(this,(function(o){switch(o.label){case 0:t=function(t){var i;return b(this,(function(o){switch(o.label){case 0:return i=F.entries[t],[4,n.app.fileManager.processFrontMatter(i.file,(function(t){e.push({file:i.file,start:v({},t),end:t});for(var n=L;n<=I;n++){var o=xj(r.data.properties[n]),a=o.name;if("note"===o.type)t[mF(t,a)]=null}}))];case 1:return o.sent(),[2]}}))},n=this,i=A,o.label=1;case 1:return i<=P?[5,t(i)]:[3,4];case 2:o.sent(),o.label=3;case 3:return i++,[3,1];case 4:return[2]}}))}))}))]):[2];case 9:te.sent(),te.label=10;case 10:return[2]}}))}))})),i}return m(t,e),t.prototype.onload=function(){var e=this;this.scrollWatcher=o6(this.containerEl,(function(){return e.updateVirtualDisplay()})),this.registerEvent(this.app.workspace.on("css-change",this.updateVirtualDisplay,this))},t.prototype.onunload=function(){var e;null===(e=this.scrollWatcher)||void 0===e||e.call(this),this.scrollWatcher=null},t.prototype.onResize=function(){this.updateVirtualDisplay()},t.prototype.focus=function(){this.containerEl.focus({preventScroll:!0})},t.prototype.getCellIndex=function(e){for(var t=this.data.groupedData,n=0,i=this.rows;ns){p=f;break}}return-1===p&&(p=h.length-1),{groupIdx:t,row:Math.clamp(c,0,this.data.groupedData[t].entries.length-1),column:p}},t.prototype.onTableCellContextmenu=function(e,t){var n=this;if(!e.defaultPrevented&&this.selection){e.preventDefault();var i=this.getCellFromDom(t);if(i&&i instanceof I6){var r=[],o=this.selection,a=this.getCellIndex(i);if(a.groupIdx===o.groupIdx&&o.top<=a.row&&a.row<=o.bottom&&o.start<=a.column&&a.column<=o.end)for(var s=this.data.groupedData[o.groupIdx],l=o.top;l<=o.bottom;l++){var c=s.entries[l];r.push(c.file)}else r.push(this.data.groupedData[a.groupIdx].entries[a.row].file);var u=Ng.forEvent(e).addSections(["title","open","action-primary","action","info","view","system","","danger"]);u.addItem((function(e){return e.setSection("danger").setTitle(lm.plugins.fileExplorer.menuOptDelete()).setIcon("lucide-trash-2").setWarning(!0).onClick((function(){return y(n,void 0,void 0,(function(){var e,t,n;return b(this,(function(i){switch(i.label){case 0:e=0,t=r,i.label=1;case 1:return et.right||e.clientXt.bottom||e.clientYM&&x--,x!==M&&(lc(S,M,x),n.config.setOrder(S))},L=function(){window.removeEventListener("dragover",D,{capture:!0}),window.removeEventListener("dragenter",D,{capture:!0}),window.removeEventListener("drop",P,{capture:!0}),window.removeEventListener("dragend",A),T.detach()};window.addEventListener("dragover",D,{capture:!0}),window.addEventListener("dragenter",D,{capture:!0}),window.addEventListener("drop",P,{capture:!0}),window.addEventListener("dragend",A)}}},t.prototype.setEphemeralState=function(e){var t=e.scroll;t&&"object"==typeof t&&(this.pendingScroll=t);var n=!1;if(Object.hasOwn(e,"selection")){var i=e.selection;this.selection=i&&"object"==typeof i?i:null,n=!0}if(Object.hasOwn(e,"activeCell")){var r=e.activeCell;this.focus(),this.activeCell=r&&"object"==typeof r?r:null,n=!0}n&&this.updateVirtualDisplay()},t.prototype.getEphemeralState=function(){var e={};return e.scroll=this.lastScroll,e.selection=this.selection,e.activeCell=this.activeCell,e},t.prototype.onTableHeaderClick=function(e,t){if(!e.defaultPrevented&&0===e.button){var n=this.getCellFromDom(t);n&&(e.preventDefault(),this.config.setSortProperty(n.prop,"TOGGLE"))}},t.prototype.onTableHeaderResizerDblclick=function(e,t){if(0===e.button){var n=this.getCellFromDom(t);if(n){var i=this.columnInfo[n.prop];i&&(e.preventDefault(),i.customWidth=0,i.contentWidth=0,this.updateVirtualDisplay(),this.saveColumnSizes())}}},t.prototype.onDataUpdated=function(){this.containerEl.removeClass("is-loading"),this.display()},t.prototype.display=function(){var e=this,t=this.config,n=this.data.properties,i=t.get("columnSize");if(i&&"object"==typeof i)for(var r=i,o=this.columnInfo,a=0,s=n;a=n.groupedData.length||b.column>m.length-1||b.row>n.groupedData[b.groupIdx].entries.length-1)&&(b=this.activeCell=null),w&&(w.groupIdx>=n.groupedData.length||w.end>m.length-1||w.bottom>n.groupedData[w.groupIdx].entries.length-1)&&(w=this.selection=null),r.setChildrenInPlace(s.map((function(e){return e.tableEl})));for(var k=null,C=[],E=0,S=m;ET.length&&(T=F,x=I)}catch(e){}}if(x){k||(k=s[0].tbodyEl.createDiv("bases-tr"));var N=new I6(this,M);k.appendChild(N.el),N.render(x),N.el.style.contain="strict",C.push(N)}}}for(var R=Bl(r.getCssPropertyValue("--bases-table-group-gap"),10),B=this.getRowHeightMult(),V=this.getRowBaseHeight(),H=V*B,z=this.minColWidth=Bl(r.getCssPropertyValue("--bases-table-column-min-width"),40),q=this.maxColWidth=Bl(r.getCssPropertyValue("--bases-table-column-max-width"),300),W=yg(r),j=0,U=s;j0)for(var K=this.header.cells,Y=0;Y0&&$f.right&&(se.right+=Math.min(se.right-f.right,le)),se.topf.bottom&&(se.bottom+=Math.min(se.bottom-f.bottom,ce))}if(g){var ue=Pv(y,r);ue.leftse.right&&(se.right=he);var pe=ue.top+y.offsetHeight;pe>se.bottom&&(se.bottom=pe)}r.toggleClass("mod-multiline",B>1),k&&k.detach();var de=[],fe=0,me=W?se.left:re.width-se.right,ve=W?se.right:re.width-se.left;for(Y=0;Y=se.top){for(var Ee=Math.floor(Math.max(se.top-we,0)/H),Se=ye.length-Math.floor(Math.max(Ce-se.bottom,0)/H),Me=[],xe=function(e){var t=ye[e],n=c.findIndex((function(e){return e.entry.file===t.file})),i=void 0;-1!==n?(i=c[n],c.splice(n,1)):i=p.length?p.pop():new L6(Te),de.push(i),i.render(t,m),i.virtualize(Q,me,ve),i.el.setCssStyles({top:e*H+"px",width:$+"px"}),Me.push(i.el)},Te=this,De=Ee;De10&&(p.length=10),l.virtualize(Q,me,ve),h.setCssStyles({width:$+"px"});var Be=[h,r];if(a.shouldDisplay()&&(Be.push(a.el),a.el.setCssStyles({width:$+"px"}),a.virtualize(Q,me,ve)),u.setChildrenInPlace(Be),g&&r.doc.activeElement!==g)g.focus(),(N=this.getCellFromDom(g))&&N instanceof I6&&(this.activeCell=this.getCellIndex(N));r.style.height||kc((function(){return e.updateVirtualDisplay()})),r.setCssStyles({width:$+"px",height:fe+"px"}),this.pendingScroll?(u.scrollTop=fe*this.pendingScroll.top,u.scrollLeft=$*this.pendingScroll.left,this.lastScroll=this.pendingScroll,this.pendingScroll=null):this.lastScroll={top:oe/fe,left:ae/$}}},t.prototype.saveColumnSizes=function(){for(var e=this.columnInfo,t={},n=0,i=this.data.properties;n=t&&o<=n&&(a.push(l.el),l.el.setCssStyles({insetInlineStart:o+"px",width:c+"px"})),o=u}r.setChildrenInPlace(a)},e}(),T6=function(e,t){this.view=e,this.prop=t,this.el=createDiv("bases-td"),e.cellLookup.set(this.el,this)},D6=function(){function e(e){this.view=e;var t=this.tableEl=createDiv("bases-table");this.summaryRow=new O6(e,"group"),t.appendChild(this.summaryRow.el),this.summaryRow.el.addClass("bases-table-group-summary-row"),this.tbodyEl=t.createDiv("bases-tbody")}return e.prototype.render=function(e,t){this.columns=e;var n=this,i=n.summaryRow,r=n.tableEl,o=[n.tbodyEl],a=n.view.createGroupHeadingEl(t);a&&o.splice(0,0,a),i.shouldDisplay()&&(o.splice(1,0,i.el),i.render(e,t.entries)),r.setChildrenInPlace(o)},e.prototype.virtualize=function(e,t,n,i){this.summaryRow.shouldDisplay()&&(this.summaryRow.el.setCssStyles({width:e+"px"}),this.summaryRow.virtualize(t,n,i))},e}(),A6=function(e){function t(t){var n=e.call(this,t)||this;return n.cells=[],n.el.dataset.ignoreSwipe="true",n}return m(t,e),t.prototype.render=function(e){var t=this;UG(this.cells,e,(function(e,t){return e.prop===t}),(function(e){return new P6(t.view,e)}),(function(e,t){return e.render(t)}))},t}(x6),P6=function(e){function t(t,n){var i=e.call(this,t,n)||this,r=i.el,o=xj(n),a=o.type,s=o.name;r.draggable=!0;var l=r.createDiv("bases-table-header"),c=i.innerEl=l.createDiv("bases-table-header-label");return i.sortEl=r.createDiv({cls:"bases-table-header-sort"}),r.createDiv("bases-table-header-resizer").draggable=!0,r.toggleClass("mod-formula","formula"===a),r.toggleClass("mod-implicit","file"===a),i.iconEl=c.createDiv({cls:"bases-table-header-icon"}),i.nameEl=c.createDiv({cls:"bases-table-header-name"}),r.addEventListener(Yl.isMobile?"click":"contextmenu",(function(e){var o,c=Ng.forEvent(e).setParentElement(r).addSections(["action","sort","","danger"]);c.addItem((function(e){return e.setTitle(w6.actionHideColumn()).setSection("action").setIcon("lucide-eye-off").onClick((function(){var e=t.config.getOrder();e.remove(i.prop),t.config.setOrder(e)}))})),c.addItem((function(e){return e.setTitle("formula"===a?w6.actionEditFormula():w6.actionEditProperty()).setSection("danger").setIcon("lucide-edit-3").onClick((function(){var e=new lU(t.app,l,s);e.scrollEl.createDiv("bases-toolbar-menu-container",(function(e){var n=e.createDiv("bases-toolbar-menu-container-header");n.createDiv("menu-title").createDiv({cls:"menu-title-inner",text:lm.plugins.bases.titleEditProperty({name:s})});var r=n.createDiv("clickable-icon"),o=new BG(t.queryController,i.prop,!1);r.addEventListener("click",(function(e){return o.showActions(e,r)})),Km(r,"lucide-more-vertical"),e.appendChild(o.containerEl)})),e.setAutoDestroy(r),e.setOpen(!0)}))})),c.addItem((function(e){return e.setTitle(w6.actionSelectSummary()).setSection("action").setIcon("lucide-calculator").onClick((function(){var e=i.view.data.data.map((function(e){return e.getValue(n)}))||[],o=new BV(i.view.app,e);new v6(t.queryController,t.config,n,o,r)}))})),Gj(n,i.view.queryController)&&c.addItem((function(e){return e.setTitle(w6.actionGroupBy()).setSection("action").setIcon("lucide-group").onClick((function(){i.view.config.setGroupBy({property:n,direction:"ASC"})}))}));var u=i.view.config.getSort().find((function(e){return e.property===n}));if(c.addItem((function(e){return e.setTitle(w6.actionSortAZ()).setSection("sort").setChecked("ASC"===(null==u?void 0:u.direction)).setIcon("lucide-arrow-down-wide-narrow").onClick((function(){i.view.config.setSortProperty(n,"ASC")}))})),c.addItem((function(e){return e.setTitle(w6.actionSortZA()).setSection("sort").setChecked("DESC"===(null==u?void 0:u.direction)).setIcon("lucide-arrow-up-narrow-wide").onClick((function(){i.view.config.setSortProperty(n,"DESC")}))})),u&&c.addItem((function(e){return e.setTitle(w6.actionSortDefault()).setSection("sort").setIcon("lucide-eraser").setWarning(!0).onClick((function(){i.view.config.setSortProperty(n,"NONE")}))})),"note"===a){c.setSectionSubmenu("action.changeType",{title:lm.properties.optionPropertyType(),icon:"lucide-info"});for(var h=i.view.app.metadataTypeManager,p=h.registeredTypeWidgets,d=h.getTypeInfo(s).inferred,f=function(e){if(e.reservedKeys&&!(null===(o=e.reservedKeys)||void 0===o?void 0:o.contains(s)))return"continue";var t=!ox.hasOwnProperty(s);c.addItem((function(n){return n.setTitle(e.name()).setIcon(e.icon).setSection("action.changeType").setDisabled(!t).setChecked(e.type===d.type).onClick((function(){h.setType(s,e.type)}))}))},m=0,v=Object.values(p);m1||"footer"===this.location)},t.prototype.render=function(e,t){var n=this;UG(this.cells,e,(function(e,t){return e.prop===t}),(function(e){return new F6(n.view,e)}),(function(e,n){return e.render(n,t)}))},t}(x6),F6=function(e){function t(t,n){var i=e.call(this,t,n)||this,r=i.el.createDiv("bases-table-summary-cell");return Km(r.createDiv("summary-expand-button"),"lucide-chevrons-up-down"),i.innerEl=r.createDiv("summary-content"),r.addEventListener("click",(function(){var e;if(i.menu&&i.menu.isOpen())return i.menu.close(),void(i.menu=null);var t=(null===(e=i.entries)||void 0===e?void 0:e.map((function(e){return e.getValue(n)})))||[],o=new BV(i.view.app,t);i.menu=new v6(i.view.queryController,i.view.config,n,o,r)})),i}return m(t,e),t.prototype.render=function(e,t){this.prop=e,this.entries=t;var n=this,i=n.innerEl,r=n.renderedKey,o=n.renderedPlaceholder,a=n.renderedValue,s=n.view,l=s.config.getSummaryKey(e);if(l){var c=s.data.getSummaryValue(s.queryController,t,e,l);if(r===l&&pV.equals(a,c))return;i.empty(),i.createDiv({cls:"summary-function-name",text:l}),i.createDiv({cls:"summary-function-value",text:c===dV.value?lm.properties.labelNoValue():c.toString()}),this.renderedValue=c}else{if(o)return;i.empty(),i.createSpan({cls:"placeholder",text:w6.labelSummary()}),this.renderedValue=null}this.renderedKey=l,this.renderedPlaceholder=!l},t}(T6),N6=lm.plugins.bases.list,R6="list",B6="bullet",V6="separator",H6="indentProperties",z6="markers",q6=400,W6=function(e){function t(t,n){var i=e.call(this,t)||this;return i.type=R6,i.hoverPopover=null,i.groups=[],i.rowsMap=new WeakMap,i.lastContainerElWidth=0,i.precalcQueued=null,i.renderQueued=null,i.measurements={rowCount:0,rowHeight:0},i.containerEl=n.createDiv({cls:"bases-list-container is-loading",attr:{tabIndex:0}}),i}return m(t,e),t.prototype.onload=function(){var e=this;this.scrollWatcher=o6(this.containerEl,(function(){return e.updateVirtualDisplay()})),this.registerEvent(this.app.workspace.on("css-change",this.updateVirtualDisplay,this))},t.prototype.onunload=function(){var e;null===(e=this.scrollWatcher)||void 0===e||e.call(this),this.scrollWatcher=null,this.precalcQueued&&this.precalcQueued.cancel(),this.renderQueued&&this.renderQueued.cancel()},t.prototype.focus=function(){this.containerEl.focus({preventScroll:!0})},t.prototype.onResize=function(){var e=this.containerEl,t=this.lastContainerElWidth;e.clientWidth!==t&&this.invalidateCache(),this.updateVirtualDisplay()},t.prototype.queueRender=function(){var e=this;this.renderQueued||(this.renderQueued=Pc((function(){return e.updateVirtualDisplay(!0)}),10))},t.getMarkers=function(e){var t=e.get(z6);return"bullet"===t||"number"===t||"none"===t?t:B6},t.getViewOptions=function(){return[{displayName:N6.labelMarkers(),key:z6,type:"dropdown",options:{bullet:N6.optionBullet(),number:N6.optionNumber(),none:N6.optionNone()},default:B6},{displayName:N6.lableIndentProperties(),key:H6,type:"toggle",default:false},{displayName:N6.labelPropertySeparator(),key:V6,type:"text",default:", ",shouldHide:function(e){return!!e.get(H6)}}]},t.prototype.onDataUpdated=function(){var e=this,t=e.app,n=e.data,i=e.config,r=e.containerEl;r.removeClass("is-loading"),n&&0!==n.data.length?(this.propertySeparator=String(i.get(V6)||", "),this.order=i.getOrder(),this.invalidateCache(),r.setChildrenInPlace(this.groups.map((function(e){return e.containerEl}))),r.toggleClass("show-indentation-guide",t.vault.getConfig("showIndentGuide")),this.updateVirtualDisplay()):r.empty()},t.prototype.invalidateCache=function(){var e,t,n=this;this.lastRenderedViewport=null,this.groups=(null===(t=null===(e=this.data)||void 0===e?void 0:e.groupedData)||void 0===t?void 0:t.map((function(e){return new j6(n,e)})))||[],this.rowsMap=new WeakMap,this.measurements={rowCount:0,rowHeight:0},this.queueRender()},t.prototype.getRowForEntry=function(e){var t=this.rowsMap.get(e);return t||(t=new U6(this,e),this.rowsMap.set(e,t)),t},t.prototype.addMeasuredRow=function(e){var t=this.measurements;t.rowHeight+=e,t.rowCount++},t.prototype.getAverageRowHeight=function(){var e=this.measurements;return 0===e.rowCount?60:e.rowHeight/e.rowCount},t.prototype.updateVirtualDisplay=function(e){void 0===e&&(e=!1);var t=this,n=t.containerEl,i=t.data,r=t.groups,o=t.lastRenderedViewport,a=t.precalcQueued,s=t.renderQueued;if(s&&(s.cancel(),this.renderQueued=null),a&&(a.cancel(),this.precalcQueued=null),i){this.lastContainerElWidth=n.clientWidth;var l=a6(n),c=r.every((function(e){return e.measured})),u=!o||o.bottom-l.bottom>200,h=!o||l.top-o.top>200;if(e||!c||u||h){var p=v({},l);if(o){var d=Math.min(p.bottom-p.top,window.innerHeight/2,800);p.topo.bottom&&(p.bottom+=Math.min(p.bottom-o.bottom,d))}this.lastRenderedViewport=l;for(var f=0,m=!1,g=10,y=this.containerEl.firstChild,b=0;bp.bottom+q6||f+w.heightp.bottom||Et);h++){var p=i[h],d=o.getRowForEntry(p);r[h]=d,!d.measured||d.isInViewport(e,u)?(d.measured&&(u+=d.height),l++,d.render(l)&&c++,d.isEmpty()?(l--,d.measured=!0,d.height=0):a.contains(d.el)||a.appendChild(d.el)):(u+=d.height,d.height>0&&l++)}var f=new Map;null===this.headerHeight&&(this.headerHeight=this.groupHeadingEl.getBoundingClientRect().height);var m=0;for(h=0;h0)a.createSpan({cls:"list-bullet",text:"-"}),a.appendChild(s),r.push(a);else"bullet"===(l=W6.getMarkers(this.view.config))?a.appendChild(createSpan({cls:"list-bullet",text:"-"})):"number"===l&&a.appendChild(createSpan({cls:"list-number",text:e.toString()+"."})),a.appendChild(s),i.push(a)}else if(0===o)return}this.el.appendChild(this.additionalPropertiesEl),this.additionalPropertiesEl.setChildrenInPlace(r)}else{this.additionalPropertiesEl.detach();for(o=0;o=e.top},e}(),_6=function(){function e(e,t){this.view=e,this.propertyId=t;var n=this.el=createEl("span");this.renderer="file.name"===t?e.createRenderer(t,n):new lK(e,t,n)}return e.prototype.render=function(e){this.entry=e;try{var t=e.getValue(this.propertyId);if(null==t||t instanceof dV||t instanceof bV&&0===t.length()||t instanceof vV&&""===t.data||t instanceof EV&&t.isEmpty())return null}catch(e){}return this.renderer.render(e),this.el},e}(),G6=lm.plugins.bases,K6="base",Y6=function(){function e(){this.id="bases",this.name=G6.name(),this.description=G6.desc(),this.defaultOn=!0,this.registrations={}}return e.prototype.init=function(e,t){var n=this;this.app=e,t.registerGlobalCommand({id:"bases:new-file",name:G6.commandCreateNew(),icon:"lucide-layout-list",callback:this.createAndOpenBase.bind(this)}),t.registerGlobalCommand({id:"bases:insert",name:G6.commandInsertNew(),icon:"lucide-layout-list",editorCheckCallback:function(e,t,i){if(t instanceof _K&&!t.inTableCell)return e||n.createAndEmbedBase(t),!0}}),t.registerGlobalCommand({id:"bases:copy-table",name:G6.commandCopyTable(),icon:"lucide-copy",checkCallback:function(e){var t=n.app.workspace.getActiveViewOfType(xG);if(t){var i=t.controller.getActiveBasesViewOfType(S6);if(i)return e||i.copyToClipboard(),!0}}}),t.registerGlobalCommand({id:"bases:change-view",name:G6.commandChangeView(),icon:"lucide-shapes",checkCallback:function(e){var t=n.app.workspace.getActiveViewOfType(xG);if(t){var i=t.controller.getQueryViewNames();if(i.length>1)return e||new Z6(n.app,t.controller,i).open(),!0}}}),t.registerGlobalCommand({id:"bases:add-view",name:G6.commandAddView(),icon:"lucide-shapes",checkCallback:function(e){var t=n.app.workspace.getActiveViewOfType(xG);if(t)return e||t.controller.promptForAddView(),!0}}),t.registerGlobalCommand({id:"bases:add-item",name:G6.commandAddItem(),icon:"lucide-shapes",checkCallback:function(e){var t=n.app.workspace.getActiveViewOfType(xG);if(t)return e||t.controller.newItemMenu.open(),!0}}),t.registerRibbonItem(G6.commandCreateNew(),"lucide-layout-list",this.createAndOpenBase.bind(this));var i=function(t,i,r){t=t.replace(/^(\t+)/gm,(function(e,t){return" ".repeat(t.length)}));var o=e.vault.getFileByPath(r.sourcePath),a=new hK(n.app,n,i,o);i.addClass("bases-embed","interactive-child");var s=new dR(i);r.addChild(s),s.addChild(a);var l=Yj.fromString(t),c=wc((function(e){return r.replaceCode(e.toString())}),100);l.saveFn=function(){a.setQuery(l),c(l)},a.setQuery(l)},r=bR.createCodeBlockPostProcessor(K6,i);bR.registerPostProcessor(r),bR.registerCodeBlockPostProcessor(K6,i),this.app.workspace.trigger("post-processor-change"),t.register((function(){bR.unregisterCodeBlockPostProcessor(K6),bR.unregisterPostProcessor(r),n.app.workspace.trigger("post-processor-change"),n.registrations={}}))},e.prototype.createAndEmbedBase=function(e){return y(this,void 0,void 0,(function(){var t,n,i,r,o,a,s;return b(this,(function(l){switch(l.label){case 0:return t=this.app.fileManager,n=null!==(s=null===(a=e.editorComponent.file)||void 0===a?void 0:a.path)&&void 0!==s?s:"",i=t.getNewFileParent(n),[4,t.createNewFile(i,void 0,K6)];case 1:return r=l.sent(),o=e.cm.state,e.cm.dispatch(o.changeByRange((function(e){var t=ty(o.doc,e.from),n="![[".concat(r.path,"]]"),i=t.ch>0?"\n"+n+"\n":n+"\n";return{range:pe.cursor(e.from+n.length),changes:[{from:e.from,to:e.to,insert:i}]}}))),[2]}}))}))},e.prototype.onEnable=function(e,t){var n=this;CodeMirror.modes.base=CodeMirror.modes.yaml,t.registerEvent(e.workspace.on("file-menu",this.onFileMenu,this)),e.embedRegistry.registerExtension(K6,(function(e,t,i){var r=(null==i?void 0:i.startsWith("#"))?i.substring(1):"";return new pK(n.app,n,e,t,r)})),e.fileManager.registerFileParentCreator(K6,(function(e){return n.app.fileManager.getNewFileParent("path",K6)})),t.register((function(){e.embedRegistry.unregisterExtension(K6)})),e.workspace.registerHoverLinkSource("bases",{display:this.name,defaultMod:!0}),t.registerEvent(e.workspace.on("editor-menu",this.onEditorMenu,this)),e.workspace.registerOperatorFuncConfigs("bases",[{funcName:"hasProperty",display:"has property",inverseDisplay:"does not have property"},{funcName:"isEmpty",display:"is empty",inverseDisplay:"is not empty"},{funcName:"startsWith",display:"starts with",inverseDisplay:"does not start with"},{funcName:"endsWith",display:"ends with",inverseDisplay:"does not end with"},{funcName:"contains",display:"contains",inverseDisplay:"does not contain"},{funcName:"containsAny",display:"contains any of",inverseDisplay:"does not contain any of"},{funcName:"containsAll",display:"contains all of",inverseDisplay:"does not contain all of"},{funcName:"matches",display:"matches",inverseDisplay:"does not match"},{funcName:"hasLink",display:"links to",inverseDisplay:"does not link to"},{funcName:"inFolder",display:"in folder",inverseDisplay:"is not in folder"},{funcName:"hasTag",display:"has tag",inverseDisplay:"does not have tag"}]),e.viewRegistry.registerViewWithExtensions([K6],MG,(function(e){return new xG(e,n)})),t.register((function(){e.viewRegistry.unregisterExtensions([K6]),e.viewRegistry.unregisterView(MG)})),this.registerView(b6,{name:G6.table.name(),icon:"lucide-table",factory:function(e,t){return new S6(e,t)},options:S6.getViewOptions}),this.registerView(s6,{name:G6.cards.name(),icon:"lucide-layout-grid",factory:function(e,t){return new u6(e,t)},options:u6.getViewOptions}),this.registerView(R6,{name:G6.list.name(),icon:"lucide-list",factory:function(e,t){return new W6(e,t)},options:W6.getViewOptions})},e.prototype.onFileMenu=function(e,t,n,i){var r=this;"file-explorer-context-menu"===n&&t instanceof qC&&e.addItem((function(e){return e.setSection("action-primary").setIcon("lucide-layout-list").setTitle(G6.actionNewBase()).onClick((function(e){return y(r,void 0,void 0,(function(){var n;return b(this,(function(i){switch(i.label){case 0:return[4,this.createNewBasesFile(t)];case 1:return n=i.sent(),[4,this.app.workspace.getLeaf(Ag.isModEvent(e)).openFile(n,{eState:{rename:"all"}})];case 2:return i.sent(),[2]}}))}))}))}))},e.prototype.onEditorMenu=function(e,t){var n=this;t instanceof _K&&e.addItem((function(e){return e.setSection("selection.insert.advanced").setTitle(G6.actionNewBase()).setIcon("lucide-layout-list").onClick((function(){return n.createAndEmbedBase(t)}))}))},e.prototype.createAndOpenBase=function(e){return y(this,void 0,void 0,(function(){var t,n,i,r,o,a;return b(this,(function(s){switch(s.label){case 0:return t=this.app,n=null!==(a=null===(o=t.workspace.getActiveFile())||void 0===o?void 0:o.path)&&void 0!==a?a:"",i=t.fileManager.getNewFileParent(n),[4,this.createNewBasesFile(i,void 0)];case 1:return r=s.sent(),[4,t.workspace.getLeaf(Ag.isModEvent(null!=e?e:this.app.lastEvent)).openFile(r,{eState:{rename:"all"}})];case 2:return s.sent(),[2]}}))}))},e.prototype.createNewBasesFile=function(e,t,n){return y(this,void 0,void 0,(function(){return b(this,(function(i){return[2,this.app.fileManager.createNewFile(e,t,K6,n)]}))}))},e.prototype.registerView=function(e,t){this.registrations.hasOwnProperty(e)?new vx(G6.msgErrorRegisterView({viewId:e})):this.registrations[e]=t},e.prototype.deregisterView=function(e){delete this.registrations[e]},e.prototype.getRegistration=function(e){return Object.hasOwn(this.registrations,e)?this.registrations[e]:null},e.prototype.getRegistrations=function(){return this.registrations},e.prototype.getViewFactory=function(e){return Object.hasOwn(this.registrations,e)?this.registrations[e].factory:null},e}(),Z6=function(e){function t(t,n,i){var r=e.call(this,t)||this;return r.options=i,r.controller=n,r.setInstructions([{command:"↑↓",purpose:lm.plugins.commandPalette.instructionNavigate()},{command:"↵",purpose:lm.plugins.commandPalette.instructionUse()},{command:"esc",purpose:lm.plugins.commandPalette.instructionDismiss()}]),r.scope.register(null,"Tab",(function(){return!1})),r.scope.register(null,"Enter",(function(e){if(!e.isComposing)return r.selectActiveSuggestion(e),!1})),r}return m(t,e),t.prototype.getItems=function(){return this.options},t.prototype.renderSuggestion=function(t,n){e.prototype.renderSuggestion.call(this,t,n);var i=this.controller.viewName;t.item===i&&n.createSpan({cls:"flair toolbar-badge",text:lm.setting.appearance.labelCurrentlyActive()})},t.prototype.getItemText=function(e){return e},t.prototype.onChooseItem=function(e,t){this.controller.selectView(e)},t}(tZ),X6=lm.plugins.bookmarks,Q6=lm.plugins.fileExplorer,$6="bookmarks",J6=function(e){function t(t,n){var i=e.call(this)||this;i.info={height:0,width:0,childLeft:0,childLeftPadding:0,childTop:0,computed:!1,queued:!1,hidden:!1,next:!1},i.renameScope=null,i.tree=n,i.view=t,i.selfEl.addClass("bookmark"),i.selfEl.addEventListener("contextmenu",i.onContextMenu.bind(i)),i.titleEl=i.innerEl.createSpan({cls:"tree-item-inner-text"});var r=i.renameScope=new Tg(t.app.scope);return r.register([],"Enter",(function(){i.stopRename(!0)})),r.register([],"Escape",(function(){i.stopRename(!1)})),i}return m(t,e),Object.defineProperty(t.prototype,"path",{get:function(){for(var e=this.view.plugin,t=[],n=this;n;)t.push(e.getItemTitle(n.item)),n=n.parent instanceof e4?n.parent:null;return t.reverse().join("/")},enumerable:!1,configurable:!0}),t.prototype.startRename=function(){var e=this,t=e.selfEl,n=e.titleEl,i=e.tree,r=e.view;t.addClass("is-being-renamed"),i.setFocusedItem(this,!0),n.setAttribute("contenteditable","true"),wv(n),r.app.keymap.pushScope(this.renameScope)},t.prototype.update=function(){var e=this.item,t=this.view,n=t.plugin.getItemTitle(e);this.titleEl.setText(n),this.el.setAttr("data-path",this.path);var i=!1;"file"===e.type&&(this.selfEl.toggle(!!t.app.vault.getAbstractFileByPath(e.path)),i=!0),this.tree.infinityScroll.invalidate(this,i)},t.prototype.setActive=function(e){this.selfEl.toggleClass("is-active",e)},t.prototype.stopRename=function(e){var t=this,n=t.item,i=t.selfEl,r=t.view;if(e){var o=this.titleEl.textContent.trim();o?(n.title=o,r.plugin.onItemsChanged(!0)):this.update()}else this.update();this.titleEl.removeAttribute("contenteditable"),i.removeClass("is-being-renamed"),r.app.keymap.popScope(this.renameScope)},t.prototype.onTitleBlur=function(e){this.stopRename(!0)},t.prototype.onContextMenu=function(e){var t=this,n=this.view,i=n.app,r=n.tree,o=n.plugin,a=Ng.forEvent(e).setParentElement(this.selfEl).addSections(["title","open","action","view","info","","danger"]);if(r.selectedDoms.size>1&&r.selectedDoms.has(this)){var s=Array.from(r.selectedDoms).map((function(e){return e.item}));a.addItem((function(e){return e.setSection("open").setTitle(lm.interface.menu.openInNewTab()).setIcon("lucide-file-plus").onClick((function(e){return o.openBookmarks(s,"tab")}))})),Yl.canSplit&&a.addItem((function(e){return e.setSection("open").setTitle(lm.interface.menu.openToTheRight()).setIcon("lucide-separator-vertical").onClick((function(e){return o.openBookmarks(s,"split")}))})),Yl.canPopoutWindow&&a.addItem((function(e){return e.setSection("open").setTitle(lm.interface.menu.openInNewWindow()).setIcon("lucide-picture-in-picture-2").onClick((function(e){return o.openBookmarks(s,"window")}))})),a.addItem((function(e){return e.setSection("danger").setTitle(X6.menuOptRemove()).setIcon("lucide-trash-2").onClick((function(){r.selectedDoms.forEach((function(e){o.removeItem(e.item)}))}))})),i.workspace.trigger("bookmarks:bookmarks-menu",a,s)}else{if(a.addItem((function(e){return e.setSection("action").setTitle(X6.menuOptRename()).setIcon("lucide-pencil").onClick((function(e){return t.startRename()}))})).addItem((function(e){return e.setSection("danger").setTitle(X6.menuOptRemove()).setIcon("lucide-trash-2").onClick((function(){t.view.plugin.removeItem(t.item)}))})),"group"===this.item.type){var l=this.item,c=this.item.items;a.addItem((function(e){return e.setSection("action").setTitle(X6.actionNewBookmark()).setIcon("lucide-bookmark-plus").onClick((function(t){var n=G2(i.workspace.getMostRecentLeaf());e&&new s2(o,n,!1).setBookmarkGroup(l).open()}))})).addItem((function(e){return e.setSection("action").setIcon("lucide-folder-plus").setTitle(X6.actionNewGroup()).onClick((function(){return t.view.createNewGroup(l)}))})).addItem((function(e){return e.setSection("open").setTitle(lm.interface.menu.openInNewTab()).setIcon("lucide-file-plus").onClick((function(e){return o.openBookmarks(c,"tab")}))})),Yl.canSplit&&a.addItem((function(e){return e.setSection("open").setTitle(lm.interface.menu.openToTheRight()).setIcon("lucide-separator-vertical").onClick((function(e){return o.openBookmarks(c,"split")}))})),Yl.canPopoutWindow&&a.addItem((function(e){return e.setSection("open").setTitle(lm.interface.menu.openInNewWindow()).setIcon("lucide-picture-in-picture-2").onClick((function(e){return o.openBookmarks(c,"window")}))}))}else"file"!==this.item.type&&"graph"!==this.item.type||(a.addItem((function(e){return e.setSection("open").setTitle(lm.interface.menu.openInNewTab()).setIcon("lucide-file-plus").onClick((function(e){return o.openBookmark(t.item,"tab")}))})),Yl.canSplit&&a.addItem((function(e){return e.setSection("open").setTitle(lm.interface.menu.openToTheRight()).setIcon("lucide-separator-vertical").onClick((function(e){return o.openBookmark(t.item,"split")}))})),Yl.canPopoutWindow&&a.addItem((function(e){return e.setSection("open").setTitle(lm.interface.menu.openInNewWindow()).setIcon("lucide-picture-in-picture-2").onClick((function(e){return o.openBookmark(t.item,"window")}))}))),a.addItem((function(e){return e.setSection("action").setTitle(X6.menuOptEdit()).setIcon("lucide-wrench").onClick((function(e){new s2(t.view.plugin,t.item,!0).open()}))}));if("file"===this.item.type||"folder"===this.item.type){var u=i.vault.getAbstractFileByPath(this.item.path);u&&a.addItem((function(e){return e.setSection("view").setTitle(lm.plugins.fileExplorer.actionRevealFile()).setIcon("lucide-folder-open").onClick((function(e){i.internalPlugins.getEnabledPluginById("file-explorer").revealInFolder(u)}))}))}i.workspace.trigger("bookmarks:bookmarks-menu",a,[this.item])}},t}(r_),e4=function(e){function t(t,n,i){var r=e.call(this,t,n)||this;return r.vChildren=new vN(r),r.pusherEl=xN(),r.view=t,r.item=i,r.setCollapsible(!0),r.setClickable(!0),r.titleEl.addEventListener("blur",r.onTitleBlur.bind(r)),r}return m(t,e),t.prototype.onSelfClick=function(e){this.tree.handleItemSelection(e,this)||this.onCollapseClick(e)},t.prototype.refreshChildren=function(){var e=this.view,n=this.item;this.vChildren.clear(),this.tree.infinityScroll.invalidate(this);for(var i=0,r=n.items;i0?i.forEach((function(e){r.plugin.removeItem(e.item)})):n instanceof t4&&this.plugin.removeItem(n.item),[2]}))}))},t.prototype.getNodeId=function(e){return"item-".concat(e.item.ctime)},t.prototype.createNewGroup=function(e){var t=W2();(e?e.items:this.plugin.items).push(t),this.plugin.saveData(),this.update(),this.getItemDom(t).startRename()},t.prototype.onContextMenu=function(e){var t=this;e.defaultPrevented||(new Ng).addItem((function(e){return e.setIcon("lucide-folder-plus").setTitle(X6.actionNewGroup()).onClick((function(){return t.createNewGroup()}))})).showAtMouseEvent(e)},t.prototype.onFileOpen=function(e){bN(this.root,(function(t){if("file"===t.item.type){var n=e&&t.item.path===e.path&&!t.item.subpath;t.setActive(n)}}))},t.prototype.onResize=function(){this.tree.infinityScroll.onResize()},t.prototype.dragSelectedBookmarks=function(e,t){var n=this.tree.selectedDoms;if(0===n.size||1===n.size&&n.has(t))return null;if(!n.has(t))return null;var i=[],r=[];n.forEach((function(e){r.push(e.item),i.push(e.selfEl)}));var o=Array.from(n);return o.sort((function(e,t){return e.selfEl.offsetTop-t.selfEl.offsetTop})),this.app.dragManager.updateSource(i,"is-being-dragged"),{source:"bookmarks",type:"bookmarks",icon:"lucide-bookmark",items:o,title:X6.labelBookmarkWithCount({count:n.size})}},t.prototype.getItemDom=function(e){var t=this.itemDoms.get(e);return t||(t="group"===e.type?new e4(this,this.tree,e):new t4(this,this.tree,e),this.itemDoms.set(e,t),this.attachDragHandler(t)),t},t.prototype.attachDragHandler=function(e){var t=this,n=this.plugin,i=this.app.dragManager;i.handleDrag(e.selfEl,(function(r){var o=t.dragSelectedBookmarks(r,e);return o||(t.tree.selectedDoms.has(e)||(t.tree.clearSelectedDoms(),t.tree.selectItem(e)),i.updateSource([e.selfEl],"is-being-dragged"),jC(r.dataTransfer,n.getItemTitle(e.item)),{source:"bookmarks",type:"bookmarks",icon:"lucide-bookmark",items:[e],title:n.getItemTitle(e.item)})}))},t.prototype.update=function(){var e=this.root.vChildren;if(e.clear(),this.invalidStateEl.detach(),this.emptyEl.detach(),this.plugin.hasValidData){for(var t=!1,n=0,i=this.plugin.items;n0?Array.from(n).map((function(e){return e.item})):t&&this.tree.isItem(t)?[t.item]:[]},t.prototype.handleCopy=function(e){var t=this._getActiveBookmarks();0!==t.length&&(e.preventDefault(),this._copyToClipboard(e,t))},t.prototype.handleCut=function(e){var t=this._getActiveBookmarks();if(0!==t.length){e.preventDefault(),this._copyToClipboard(e,t);for(var n=0,i=t;ne.position.end.line?1:0}var a=mc(r.sections||[],o);return"list"===(null==a?void 0:a.type)?mc(r.listItems||[],o):"heading"===(null==a?void 0:a.type)?mc(r.headings||[],o):a}(t.editMode,e.getCursor("to")),o=void 0;if(r){if(function(e){return e.hasOwnProperty("heading")}(r))i=z2(t.file,"#"+gS(r.heading));else{var a=r.id;a||(a=cc(6),o=function(){!function(e,t,n,i){y(this,void 0,void 0,(function(){var r,o,a,s,l,c,u,h,p;return b(this,(function(d){switch(d.label){case 0:return i=null!=i?i:cc(6),r=t.editor,o=t.file,[4,t.app.metadataCache.blockCache.getForFile(e,o)];case 1:for(a=d.sent(),s=0,l=a.blocks;s=n.line)return h={content:a.content,node:c.node},p=Zk(h,i),r.cm.dispatch({changes:{from:p.blockEnd,insert:p.addition}}),[2];return[2]}}))}))}(new Tx,t.editMode,e.getCursor("to"),a)}),i=z2(t.file,"#^"+a)}e.somethingSelected()&&(i.title=e.getSelection().trim()),new s2(n,i,!1,o).open()}}}),t.registerGlobalCommand({id:"bookmarks:bookmark-current-heading",name:lm.plugins.bookmarks.actionBookmarkHeading(),icon:"lucide-bookmark-plus",editorCallback:function(e,t){var i=function(e){var t=e.app,n=e.file,i=e.editor.getCursor("to");return n?Yk(t,n,i):null}(t.editMode);if(i){var r=z2(t.file,"#"+gS(i.heading));new s2(n,r,!1).open()}}}),t.registerGlobalCommand({id:"bookmarks:bookmark-all-tabs",name:lm.plugins.bookmarks.actionBookmarkAllTabs(),icon:"lucide-bookmark-plus",callback:function(){var e=n.app.workspace,t=e.rootSplit,i=e.floatingSplit,r=[];n.app.workspace.iterateLeaves([t,i],(function(e){var t=G2(e);t&&r.push(t)})),r.length>0&&new l2(n.app,n,r).open()}}),t.registerViewType($6,(function(e){return new n4(e,n)}))},t.prototype.onUserEnable=function(){this.initLeaf()},t.prototype.initLeaf=function(){this.app.workspace.ensureSideLeaf($6,"left",{reveal:!1})},t.prototype.findBookmarkByView=function(e){return e instanceof oG&&e.file?this.bookmarkLookup[e.file.path]:e instanceof V2?this.urlBookmarkLookup[e.url]:null},t.prototype.onFileRename=function(e,t){var n=!1;K2(this.items,(function(i){"file"!==i.type&&"folder"!==i.type||i.path!==t||(i.path=e.path,n=!0)})),n&&this.onItemsChanged(!0)},t.prototype.updateTabHeaders=function(){var e=this;this.app.workspace.iterateAllLeaves((function(t){var n=t.view;if(n instanceof zg){var i=e.findBookmarkByView(n),r=i?i4.labelBookmarked():i4.labelBookmark(),o=e.bookmarkedViews.get(n);o||(o=n.addAction("lucide-bookmark",r,(function(){var i=e.findBookmarkByView(n),r=!!i;i||(i=G2(t)),new s2(e,i,r).open()}))).addClass("mod-bookmark"),e.bookmarkedViews.set(n,o),o.toggleClass(["mod-bookmarked","mod-filled"],!!i),mv(o,r)}}))},t.prototype.getBookmarks=function(){var e=[];return K2(this.items,(function(t){e.push(t)})),e},t.prototype.getItemTitle=function(e){if(!e.title){if("file"===e.type&&e.subpath)return uu(e.path)+e.subpath;if("file"===e.type||"folder"===e.type){var t=this.app.vault.getAbstractFileByPath(e.path);return t instanceof zC?t.getShortName():t instanceof qC?t.name:uu(e.path)}if("search"===e.type)return e.query}return e.title},t.prototype.addItem=function(e,t){var n=t?t.items:this.items;e[o2]=t,n.push(e),this.onItemsChanged(!0)},t.prototype.editItem=function(e){this._onItemsChanged(!0)},t.prototype.removeItem=function(e){var t,n;e&&((null!==(n=null===(t=e[o2])||void 0===t?void 0:t.items)&&void 0!==n?n:this.items).remove(e),this.onItemsChanged(!0))},t.prototype.moveItem=function(e,t,n){var i=e[o2],r=i?i.items:this.items,o=r.indexOf(e);r.remove(e);var a=t?t.items:this.items;-1!==o&&o0&&e.addItem((function(e){return e.setSection("action").setTitle(i4.actionBookmarkTabGroup({count:r})).setIcon("lucide-bookmark").onClick((function(){new l2(n.app,n,i).open()}))}))},t.prototype.onSearchResultsMenu=function(e,t){var n=this,i=t.getQuery();e.addItem((function(e){return e.setSection("action").setTitle(i4.actionBookmark()).setIcon("lucide-bookmark").onClick((function(){var e=_2(i);new s2(n,e,!1).open()}))}))},t.prototype.onLeafMenu=function(e,t){var n=this;if(t.view instanceof s1){var i=t.view.dataEngine.getOptions();e.addItem((function(e){return e.setSection("action").setTitle(i4.actionBookmark()).setIcon("lucide-bookmark").onClick((function(){var e=j2(i);new s2(n,e,!1).open()}))}))}else if(t.view instanceof V2){var r=t.view,o=r.url,a=r.title,s=this.urlBookmarkLookup.hasOwnProperty(o);e.addItem((function(e){return e.setSection("action").setTitle(s?i4.actionEditBookmark():i4.actionBookmark()).setIcon("lucide-bookmark").onClick((function(){var e=n.urlBookmarkLookup[o];e||(e=U2(o,a)),e&&new s2(n,e,s).open()}))}))}},t.prototype._onItemsChanged=function(e){this.trigger("changed"),this.rebuildBookmarkCache(),this.updateTabHeaders(),e&&this.saveData()},t.prototype.saveData=function(){this.plugin.saveData({items:this.items})},t.prototype.rebuildBookmarkCache=function(){var e=this;this.bookmarkLookup={},this.urlBookmarkLookup={},K2(this.items,(function(t){"folder"===t.type||"file"===t.type&&!t.subpath?e.bookmarkLookup[t.path]=t:"url"===t.type&&(e.urlBookmarkLookup[t.url]=t)}))},t.prototype.openBookmarkInLeaf=function(e,t,n){return y(this,void 0,void 0,(function(){var i,r,o;return b(this,(function(a){switch(a.label){case 0:return"file"!==e.type?[3,1]:(i=e.path+(null!==(o=e.subpath)&&void 0!==o?o:""),t.openLinkText(i,"",n),[3,5]);case 1:return"graph"!==e.type?[3,4]:(r=this.app.internalPlugins.getEnabledPluginById("graph"))?[4,t.setViewState({type:"graph"})]:[3,3];case 2:a.sent(),t.view instanceof s1&&t.view.dataEngine.setOptions(e.options),r.options.options=e.options,a.label=3;case 3:return[3,5];case 4:"url"===e.type&&window.open(e.url,"_blank"),a.label=5;case 5:return[2]}}))}))},t.prototype.openBookmark=function(e,t,n){return y(this,void 0,void 0,(function(){var i,r,o,a,s,l;return b(this,(function(c){if("file"===e.type||"graph"===e.type)return i=this.app.workspace.getLeaf(t),[2,this.openBookmarkInLeaf(e,i,n)];if("url"===e.type)window.open(e.url,"_blank");else if("folder"===e.type)(r=this.app.vault.getAbstractFileByPath(e.path))&&(o=this.app.internalPlugins.getEnabledPluginById("file-explorer"))&&o.revealInFolder(r);else if("search"===e.type&&(a=e.query,s=this.app.internalPlugins.getEnabledPluginById("global-search"))){if(l=s.getGlobalSearchQuery(),!t||""===l)return s.openGlobalSearch(a),[2];l.contains(a)?s.openGlobalSearch(l.replace(a,"").trim()):s.openGlobalSearch("".concat(l.trim()," ").concat(a))}return[2]}))}))},t.prototype.openBookmarks=function(e,t){return y(this,void 0,void 0,(function(){var n,i,r,o,a,s;return b(this,(function(l){switch(l.label){case 0:if(0===(n=e.filter((function(e){return"file"===e.type||"graph"===e.type}))).length)return[2];for(i=this.app.workspace.getLeaf(t),r=i.parent.children.length,o=[i],s=1;s=t.maxX&&e.maxY>=t.maxY}function v4(e){var t=e.minX,n=e.minY;return Il((t+e.maxX)/2,(n+e.maxY)/2)}function g4(e,t){return Il(e.x-t.width/2,e.y-t.height/2)}function y4(e,t,n){return n&&(e="center"===n?g4(e,t):function(e,t){var n=e.x,i=e.y,r=e.width,o=e.height;switch(t){case"left":return Il(n,i-o/2);case"top":return Il(n-r/2,i);case"right":return Il(n-r,i-o/2);case"bottom":return Il(n-r/2,i-o)}}(Nl(e,t),n)),Nl(e,t)}function b4(e,t,n){var i,r,o,a=n.x,s=n.y,l=n.width,c=n.height;switch(e){case"top":case"bottom":i=Fl(a,t.y,l,0),r=!1,o=!0;break;case"left":case"right":i=Fl(t.x,s,0,c),r=!0,o=!1;break;case"topleft":case"topright":case"bottomleft":case"bottomright":i=Fl(t.x,t.y,0,0),r=!0,o=!0}return{source:i,resizeX:r,resizeY:o}}var w4=lm.plugins.quickSwitcher,k4=lm.plugins.canvas,C4=function(e){function t(t,n,i){var r=e.call(this,t.app)||this;return r.emptyStateText=w4.labelNoNoteCreateNew(),r.allowCreateNewFile=!0,r.context="embed",r.canvas=t,r.handleClose=i,r.handleChoose=n,r.shouldShowUnresolved=!1,r.shouldShowMarkdown=!0,r.shouldShowImages=!0,r.shouldShowNonImageAttachments=!0,r.shouldShowAllTypes=t.app.vault.getConfig("showUnsupportedFiles"),r.setPlaceholder(k4.promptStartSearch()),r.setInstructions([{command:"↑↓",purpose:w4.instructionNavigate()},{command:"↵",purpose:w4.instructionOpen()},{command:"shift ↵",purpose:w4.instructionCreate()},{command:"esc",purpose:w4.instructionDismiss()}]),r.scope.register(["Shift"],"Enter",(function(e){return r.selectSuggestion(null,e),!1})),r}return m(t,e),t.prototype.showMarkdownAndCanvas=function(e){return this.shouldShowMarkdown=e,this.shouldShowNonAttachments=e,this},t.prototype.showAttachments=function(e){return this.shouldShowNonImageAttachments=e,this.shouldShowImages=e,this},t.prototype.onChooseSuggestion=function(e,t){return y(this,void 0,void 0,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:return e?[3,2]:(t=this.canvas.view.file.path,[4,this.app.fileManager.createNewMarkdownFileFromLinktext(this.inputEl.value,t)]);case 1:return n=i.sent(),this.handleChoose(n),[2];case 2:return"file"!==e.type&&"alias"!==e.type||this.handleChoose(e.file),[2]}}))}))},t.prototype.onClose=function(){this.handleClose&&this.handleClose()},t}(X2),E4=function(e){function t(t,n,i){var r=e.call(this,t.app)||this;return r.emptyStateText=lm.plugins.canvas.labelNoMedia(),r.allowCreateNewFile=!1,r.context="embed",r.canvas=t,r.handleClose=i,r.handleChoose=n,r.shouldShowUnresolved=!1,r.shouldShowMarkdown=!1,r.shouldShowNonAttachments=!0,r.shouldShowImages=!0,r.shouldShowNonImageAttachments=!0,r.shouldShowAllTypes=t.app.vault.getConfig("showUnsupportedFiles"),r.setPlaceholder(k4.promptStartSearch()),r.setInstructions([{command:"↑↓",purpose:w4.instructionNavigate()},{command:"↵",purpose:w4.instructionOpen()},{command:"esc",purpose:w4.instructionDismiss()}]),r}return m(t,e),t.prototype.onChooseSuggestion=function(e,t){return y(this,void 0,void 0,(function(){return b(this,(function(t){return e?("file"!==e.type&&"alias"!==e.type||this.handleChoose(e.file),[2]):[2]}))}))},t.prototype.onClose=function(){this.handleClose&&this.handleClose()},t}(X2),S4=function(e){function t(t,n,i){var r=e.call(this,t)||this;return r.emptyStateText=k4.labelNoImages(),r.context="embed",r.handleClose=i,r.handleChoose=n,r.shouldShowUnresolved=!1,r.shouldShowMarkdown=!1,r.shouldShowNonAttachments=!1,r.shouldShowAllTypes=!1,r.shouldShowImages=!0,r.shouldShowNonImageAttachments=!1,r.setPlaceholder(k4.promptStartSearch()),r.setInstructions([{command:"↑↓",purpose:w4.instructionNavigate()},{command:"↵",purpose:w4.instructionSelect()},{command:"esc",purpose:w4.instructionDismiss()}]),r}return m(t,e),t.prototype.onChooseSuggestion=function(e){return y(this,void 0,void 0,(function(){return b(this,(function(t){return e?("file"===e.type&&this.handleChoose(e.file),[2]):[2]}))}))},t.prototype.onClose=function(){this.handleClose&&this.handleClose()},t}(X2);function M4(e,t,n){for(var i=[1/0,null],r=0,o=t;r0||l.length>0)&&(a.push({src:s,dest:l}),s=[],l=[]);for(var f=0,m=t.length-1;f<=m;){var v=f+m>>1,g=d-r(t[v]);if(g>0)f=v+1;else{if(!(g<0)){f=m=v;break}m=v-1}}if(f!==m)if(m<0)m=0;else if(f>=t.length-1)f=t.length-1;else{var y=r(t[f])-d,b=d-r(t[m]);y===b?y===o?m=f:f=m:f=m=y0&&r(t[f-1])===w;)f--;for(;m0&&r(s.last())===d&&s.push(p)}return(s.length>0||l.length>0)&&a.push({src:s,dest:l}),0===a.length?null:{matches:a,delta:o}}function P4(e){return e.x}function L4(e){return e.y}var I4=/^(\d+)$/;function O4(e,t){t=(t||"").trim();for(var n=0,i=Array.from(e.classList);nn;){if(i-n>600){var o=i-n+1,a=t-n+1,s=Math.log(o),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(o-l)/o)*(a-o/2<0?-1:1);q4(e,t,Math.max(n,Math.floor(t-a*l/o+c)),Math.min(i,Math.floor(t+(o-a)*l/o+c)),r)}var u=e[t],h=n,p=i;for(W4(e,n,t),r(e[i],u)>0&&W4(e,n,i);h0;)p--}0===r(e[n],u)?W4(e,n,p):W4(e,++p,i),p<=t&&(n=p+1),t<=p&&(i=p-1)}}function W4(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function j4(e,t){return et?1:0}var U4=function(){function e(e){void 0===e&&(e=9),this._maxEntries=Math.max(4,e),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}return e.prototype.all=function(){return this._all(this.data,[])},e.prototype.search=function(e){var t=this.data,n=[];if(!t3(e,t))return n;for(var i=this.toBBox,r=[];t;){for(var o=0;o=0&&r[t].children.length>this._maxEntries;)this._split(r,t),t--;this._adjustParentBBoxes(i,r,t)},e.prototype._split=function(e,t){var n=e[t],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);var o=this._chooseSplitIndex(n,r,i),a=n3(n.children.splice(o,n.children.length-o));a.height=n.height,a.leaf=n.leaf,K4(n,this.toBBox),K4(a,this.toBBox),t?e[t-1].children.push(a):this._splitRoot(n,a)},e.prototype._splitRoot=function(e,t){this.data=n3([e,t]),this.data.height=e.height+1,this.data.leaf=!1,K4(this.data,this.toBBox)},e.prototype._chooseSplitIndex=function(e,t,n){for(var i,r,o,a,s,l,c,u=1/0,h=1/0,p=t;p<=n-t;p++){var d=Y4(e,0,p,this.toBBox),f=Y4(e,p,n,this.toBBox),m=(r=d,o=f,a=void 0,s=void 0,l=void 0,c=void 0,a=Math.max(r.minX,o.minX),s=Math.max(r.minY,o.minY),l=Math.min(r.maxX,o.maxX),c=Math.min(r.maxY,o.maxY),Math.max(0,l-a)*Math.max(0,c-s)),v=$4(d)+$4(f);m=t;l--){c=e.children[l];Z4(a,e.leaf?r(c):c),s+=J4(a)}return s},e.prototype._adjustParentBBoxes=function(e,t,n){for(var i=n;i>=0;i--)Z4(t[i],e)},e.prototype._condense=function(e){for(var t=e.length-1,n=void 0;t>=0;t--)0===e[t].children.length?t>0?(n=e[t-1].children).splice(n.indexOf(e[t]),1):this.clear():K4(e[t],this.toBBox)},e}();const _4=U4;function G4(e,t,n){if(!n)return t.indexOf(e);for(var i=0;i=e.minX&&t.maxY>=e.minY}function n3(e){return{children:e,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function i3(e,t,n,i,r){for(var o=[t,n];o.length;)if(!((n=o.pop())-(t=o.pop())<=i)){var a=t+Math.ceil((n-t)/i/2)*i;z4(e,a,t,n,r),o.push(t,a,a,n)}}var r3=function(){function e(e){this.data=[],this.current=0,this.max=e}return e.prototype.canUndo=function(){return this.current>0},e.prototype.undo=function(){return this.canUndo()?(this.current--,this.data[this.current]):null},e.prototype.canRedo=function(){return this.currentthis.current&&(t.length=this.current+1),t.push(e),t.length>=this.max&&t.shift(),this.current=t.length-1},e.prototype.replace=function(e){var t=this.data;0===t.length?(t.push(e),this.current=0):t[this.current]=e},e.prototype.clear=function(){this.data.length=0,this.current=0},e}(),o3=lm.plugins.canvas,a3=lm.interface,s3="0.7",l3=.01,c3=.93,u3=-1.7,h3=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.insert=function(t){return t.bbox=t.getBBox(),e.prototype.insert.call(this,t),this},t.prototype.remove=function(t){return t.bbox?(e.prototype.remove.call(this,t),t.bbox=null,this):this},t.prototype.toBBox=function(e){return e.bbox},t}(_4),p3=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.compareMinX=function(e,t){return e.x-t.x},t.prototype.compareMinY=function(e,t){return e.y-t.y},t}(h3),d3=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.prototype.compareMinX=function(e,t){var n=e.getBBox(),i=t.getBBox();return n.minX-i.minX},t.prototype.compareMinY=function(e,t){var n=e.getBBox(),i=t.getBBox();return n.minY-i.minY},t}(h3),f3=function(){function e(e){var t=this;this.config={zoomMultiplier:.5,objectSnapDistance:15,minContainerDimension:50,defaultTextNodeDimensions:{width:250,height:60},defaultFileNodeDimensions:{width:400,height:400}},this.requestUpdateFileOpen=wc(this.updateFileOpen.bind(this),200),this.zIndexCounter=1,this.isHoldingSpace=!1,this.readonly=!1,this.history=new r3(100),this.data={},this.requestPushHistory=wc(this.pushHistory.bind(this),250,!0),this.x=0,this.y=0,this.zoom=0,this.scale=1,this.tx=0,this.ty=0,this.tZoom=0,this.finishViewportAnimation=!1,this.zoomToFitQueued=!1,this.screenshotting=!1,this.nodes=new Map,this.nodeIndex=new p3,this.edges=new Map,this.edgeIndex=new d3,this.edgeFrom=new hc,this.edgeTo=new hc,this.staleSelection=null,this.selection=new Set,this.selectionChanged=!1,this.keys={},this.isDragging=!1,this.viewportChanged=!0,this.moved=new Set,this.dirty=new Set,this.frame=0,this.wasAnimating=!1,this.pauseAnimation=0,this.lastNodesInViewport=new Set,this.lastEdgesInViewport=new Set,this.onGlobalKeydown=function(e){if(" "===e.key&&!t.isHoldingSpace){if(1===t.selection.size){var n=Array.from(t.selection)[0];if(n instanceof k3&&n.isEditing)return}t.wrapperEl.appendChild(t.moverEl),t.moverEl.style.zIndex=String(t.zIndexCounter+4),t.isHoldingSpace=!0}},this.onGlobalKeyup=function(e){" "===e.key&&(t.moverEl.detach(),t.isHoldingSpace=!1)},this.pointer={x:0,y:0},this.pointerFrame=0,this.app=e.app,this.view=e,this.menu=new H4(this);var n=this.wrapperEl=e.contentEl.createDiv({cls:"canvas-wrapper",attr:{tabIndex:-1,"data-ignore-swipe":"true"}});n.onNodeInserted((function(){return t.onResize()})),n.addEventListener("keydown",this.onKeydown.bind(this)),n.addEventListener("pointerdown",this.onPriorityPointerdown.bind(this),{capture:!0}),n.addEventListener("pointerdown",this.onPointerdown.bind(this)),n.addEventListener("dblclick",this.onDoubleClick.bind(this)),n.addEventListener("contextmenu",this.onContextMenu.bind(this)),n.addEventListener("wheel",this.onWheel.bind(this)),Yl.isMobile||n.addEventListener("pointermove",this.onPointermove.bind(this));var i=n.createSvg("svg","canvas-background"),r=cc(16);this.backgroundPatternEl=i.createSvg("pattern",{attr:{id:r,patternUnits:"userSpaceOnUse"}},(function(e){e.createSvg("circle",{attr:{cx:s3,cy:s3,r:s3}})})),i.createSvg("rect",{attr:{x:"0",y:"0",width:"100%",height:"100%",fill:"url(#".concat(r,")")}}),(this.moverEl=createDiv("canvas-mover")).addEventListener("pointerdown",this.handleMoverPointerdown.bind(this)),this.cardMenuEl=n.createDiv("canvas-card-menu",(function(e){e.createDiv({cls:"canvas-card-menu-button mod-draggable"},(function(e){mv(e,o3.actionDragToAddCard(),{placement:"top"}),Km(e,"lucide-sticky-note"),e.addEventListener("click",(function(){t.createTextNode({pos:t.posCenter(),position:"center"})})),e.addEventListener("pointerdown",(function(e){var n=t.config.defaultTextNodeDimensions;t.dragTempNode(e,n,(function(e){t.deselectAll(),t.createTextNode({pos:e,size:n})}))}))})),e.createDiv({cls:"canvas-card-menu-button mod-draggable"},(function(e){mv(e,o3.actionDragToAddNote(),{placement:"top"}),Km(e,"lucide-file-text"),e.addEventListener("click",(function(){new C4(t,(function(e){t.createFileNode({pos:t.posCenter(),file:e})})).showAttachments(!1).open()})),e.addEventListener("pointerdown",(function(e){var n=t.config.defaultFileNodeDimensions;t.dragTempNode(e,n,(function(e){new C4(t,(function(i){t.createFileNode({pos:e,size:n,file:i})})).showAttachments(!1).open()}))}))})),e.createDiv({cls:"canvas-card-menu-button mod-draggable"},(function(e){mv(e,o3.actionDragToAddMedia(),{placement:"top"}),Km(e,"lucide-file-image"),e.addEventListener("click",(function(){new E4(t,(function(e){t.createFileNode({pos:t.posCenter(),position:"center",file:e})})).open()})),e.addEventListener("pointerdown",(function(e){var n=t.config.defaultFileNodeDimensions;t.dragTempNode(e,n,(function(e){new C4(t,(function(i){t.createFileNode({pos:e,size:n,file:i})})).showMarkdownAndCanvas(!1).open()}))}))}))})),this.canvasControlsEl=n.createDiv("canvas-controls",(function(e){e.createDiv("canvas-control-group",(function(e){e.createDiv("canvas-control-item",(function(e){t.quickSettingsButton=e,t.setReadonly(t.readonly),e.addEventListener("click",(function(n){if(t.readonly)t.setReadonly(!t.readonly),t.view.saveLocalData();else{if(e.hasClass("has-active-menu"))return;var i=new Ng;t.showQuickSettingsMenu(i),i.setParentElement(e).showAtMouseEvent(n)}}))}))})),e.createDiv("canvas-control-group",(function(e){e.createDiv("canvas-control-item",(function(e){Km(e,"lucide-plus"),mv(e,lm.commands.zoomIn(),{placement:"left"}),e.addEventListener("click",(function(){t.zoomBy(t.config.zoomMultiplier)}))})),e.createDiv("canvas-control-item",(function(e){Km(e,"lucide-rotate-cw"),mv(e,lm.commands.resetZoom(),{placement:"left"}),e.addEventListener("click",(function(){t.zoomBy(-t.zoom)}))})),e.createDiv("canvas-control-item",(function(e){Km(e,"lucide-maximize");var n=sF(oF(["Shift"],"1"));mv(e,o3.actionZoomToFit()+"\n(".concat(n,")"),{placement:"left"}),e.addEventListener("click",(function(){t.zoomToFit()}))})),e.createDiv("canvas-control-item",(function(e){Km(e,"lucide-minus"),mv(e,lm.commands.zoomOut(),{placement:"left"}),e.addEventListener("click",(function(){t.zoomBy(-t.config.zoomMultiplier)}))}))})),e.createDiv("canvas-control-group",(function(e){e.createDiv("canvas-control-item",(function(e){t.undoBtnEl=e,Km(e,"lucide-undo-2"),mv(e,lm.setting.mobileToolbar.optionUndo(),{placement:"left"}),e.addEventListener("click",(function(){t.undo()}))})),e.createDiv("canvas-control-item",(function(e){t.redoBtnEl=e,Km(e,"lucide-redo-2"),mv(e,lm.setting.mobileToolbar.optionRedo(),{placement:"left"}),e.addEventListener("click",(function(){t.redo()}))}))})),Yl.isDesktop&&e.createDiv("canvas-control-group",(function(e){e.createDiv("canvas-control-item",(function(e){Km(e,"lucide-help-circle"),mv(e,o3.labelCanvasHelp(),{placement:"left"}),e.addEventListener("click",(function(){new s4(t).open()}))}))}))}));var o=this.canvasEl=n.createDiv("canvas");this.edgeContainerEl=o.createSvg("svg","canvas-edges"),this.edgeEndContainerEl=o.createSvg("svg","canvas-edges"),this.app.dragManager.handleDrop(n,(function(e,n,i){if(!e.defaultPrevented){if(n){if(!i)switch(n.type){case"file":case"link":(u=n.file)instanceof zC&&t.createFileNode({pos:t.posFromEvt(e),file:u}),t.wrapperEl.focus();break;case"files":var r=n.files;if(r.length){for(var o=new Set,a=0,s=r;a0?(r.x=-s.x,"right"===t&&(r.x+=o)):("up"===t||"down"===t)&&s.y>0&&(r.y=-s.y,"down"===t&&(r.x+=o))}for(var l=0,c=n;ln.maxX-n.minX||e.maxY-e.minY>n.maxY-n.minY?this.zoomToBbox(e):(e.minXn.maxX&&(this.tx=this.x+e.maxX-n.maxX),e.maxY>n.maxY&&(this.ty=this.y+e.maxY-n.maxY),this.markViewportChanged())},Object.defineProperty(e.prototype,"gridSpacing",{get:function(){var e=this.zoom;return e<-3.3?160:e<-2.16?80:e<-.91?40:20},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"snapDistance",{get:function(){return Math.ceil(this.config.objectSnapDistance/this.scale)},enumerable:!1,configurable:!0}),e.prototype.posFromEvt=function(e){return this.posFromDom(this.domPosFromEvt(e))},e.prototype.domPosFromEvt=function(e){var t=this.canvasRect,n=t.cx,i=t.cy;return Il(e.clientX-n,e.clientY-i)},e.prototype.domPosFromClient=function(e){var t=this.canvasRect,n=t.cx,i=t.cy;return Il(e.x-n,e.y-i)},e.prototype.posFromClient=function(e){return this.posFromDom(this.domPosFromClient(e))},e.prototype.posFromDom=function(e){var t=this,n=t.x,i=t.y,r=t.scale;return Il(n+e.x/r,i+e.y/r)},e.prototype.domFromPos=function(e){var t=this,n=t.x,i=t.y,r=t.scale;return Il((e.x-n)*r,(e.y-i)*r)},e.prototype.posCenter=function(){return this.posFromDom(Il(0,0))},e.prototype.posInViewport=function(e){var t=this.canvasRect,n=t.minX,i=t.minY,r=t.maxX,o=t.maxY;return e.x>=n||e.x<=r||e.y>=i||e.y<=o},e.prototype.getViewportNodes=function(e){var t=this.getIntersectingNodes(this.getViewportBBox());if(e){var n=this.selection;t=t.filter((function(e){return!n.has(e)}))}return t},e.prototype.hitTestNode=function(e,t){void 0===t&&(t=0);var n=this.nodeIndex.search(f4(c4(e.x,e.y,e.x,e.y),t));return 0===n.length?null:(n.sort((function(e,t){return t.zIndex-e.zIndex})),n[0])},e.prototype.addNode=function(e){this.nodes.set(e.id,e),this.requestFrame(),this.canvasPlaceholderEl&&(this.canvasPlaceholderEl.detach(),this.canvasPlaceholderEl=null)},e.prototype.removeNode=function(e){for(var t=0,n=this.getEdgesForNode(e);t0&&t.height>0&&e.height!==t.height&&(this.y=this.ty+=(t.height-e.height)/2/this.scale),Yl.isMobile&&1===this.selection.size){var n=Array.from(this.selection)[0];n instanceof k3&&n.isEditing&&this.panIntoView(n.getBBox())}this.viewportChanged=!0,this.requestFrame(),this.canvasRect.width>0&&this.zoomToFitQueued&&(this.zoomToFitQueued=!1,this.finishViewportAnimation=!0,this.zoomToFit())},e.prototype.getZIndex=function(){var e=this,t=e.menu,n=e.cardMenuEl,i=e.canvasControlsEl,r=this.zIndexCounter+=1,o=(r+1).toString();return n.style.zIndex=o,i.style.zIndex=o,t.updateZIndex(r+3),r},e.prototype.createTextNode=function(e){var t=e.pos,n=e.size,i=e.position,r=e.text,o=e.save,a=e.focus,s=new D3(this);return n||(n=this.config.defaultTextNodeDimensions),s.moveAndResize(y4(t,n,i)),r&&s.setText(r),this.addNode(s),!1!==o&&this.requestSave(),!1!==a&&(s.attach(),s.render(),this.selectOnly(s),s.startEditing()),s},e.prototype.createFileNode=function(e){var t=e.pos,n=e.size,i=e.position,r=e.file,o=e.subpath,a=e.save,s=e.focus,l=new x3(this);return n||(n=this.config.defaultFileNodeDimensions),l.moveAndResize(y4(t,n,i)),l.setFile(r,o),this.addNode(l),!1!==a&&this.requestSave(),!1!==s&&this.selectOnly(l),l},e.prototype.createFileNodes=function(e,t){for(var n=t.x,i=t.y,r=this.config.defaultFileNodeDimensions,o=r.width,a=r.height,s=0,l=[],c=0,u=e;c0){for(var R=0,B=Array.from(P);R1?(re.blur(),re.select(),te=!0):J.length>1&&1===ee.size&&(re.deselect(),re.focus(),te=!0):(1===ee.size?re.focus():re.select(),te=!0)}if(Yl.isMobile){var le=null,ce=Array.from(ee);1===ce.length&&ce[0]instanceof k3&&(le=ce[0]),t.nodeInteractionLayer.setTarget(le)}}t.staleSelection=null,t.selectionChanged=!1,(te||r||Array.from(t.selection).some((function(e){return P.has(e)})))&&t.menu.render(te),P.clear(),t.nodeInteractionLayer.render()})))},e.prototype.cancelFrame=function(){var e=this,t=e.frameWin,n=e.frame,i=e.pointerFrame,r=e.pointerFrameWin;n&&t&&(t.cancelAnimationFrame(n),this.frame=0,this.frameWin=null),i&&r&&(r.cancelAnimationFrame(i),this.pointerFrame=0,this.pointerFrameWin=null)},e.prototype.getViewportBBox=function(){var e=this.canvasRect,t=this.posFromDom(Il(e.minX,e.minY)),n=this.posFromDom(Il(e.maxX,e.maxY));return{minX:t.x,minY:t.y,maxX:n.x,maxY:n.y}},e.prototype.virtualize=function(){var e=this,t=e.screenshotting,n=e.lastNodesInViewport,i=e.lastEdgesInViewport,r=this.getViewportBBox(),o=this.getIntersectingNodes(r),a=this.getIntersectingEdges(r);t&&(o=Array.from(this.nodes.values()),a=Array.from(this.edges.values()));var s=new Set(o),l=new Set(a),c=this.selection;1===c.size&&c.forEach((function(e){e instanceof k3&&s.add(e)}));for(var u=0,h=0,p=o;h0&&this.requestFrame()},e.prototype.rerenderViewport=function(){var e=this;this.lastNodesInViewport.forEach((function(t){return e.markDirty(t)}))},e.prototype.setState=function(e){var t=e.x,n=e.y,i=e.zoom;Number.isNumber(t)&&Number.isNumber(n)&&Number.isNumber(i)&&(this.setViewport(t,n,i),this.zoomToFitQueued=!1)},e.prototype.getState=function(){var e=this;return{x:e.tx,y:e.ty,zoom:e.tZoom}},e.prototype.handleCut=function(e){if(!this.readonly&&this.canvasEl.doc.activeElement===this.wrapperEl){this.handleCopy(e);for(var t=this.selection,n=0,i=Array.from(t);n0)this.app.importAttachments(i,null).then((function(e){t.createFileNodes(e,n),t.requestSave()}));else{var r=e.clipboardData.getData("obsidian/canvas");if(r){var o=void 0;try{o=JSON.parse(r)}catch(e){return void console.error(e)}var a=o.nodes,s=o.edges,l=o.center;if(!a||!Array.isArray(a))return;if(!s||!Array.isArray(s))return;var c=null;l&&(c={x:n.x-l.x,y:n.y-l.y});var u=this.cloneData(o,c),h=this.importData(u,!1);return this.deselectAll(),this.requestSave(),void h.forEach((function(e){return t.select(e)}))}var p=e.clipboardData.getData("text/plain");if(Yc(p))return this.createLinkNode({pos:n,position:"center",url:p}),void this.requestSave();p&&this.createTextNode({pos:n,position:"center",text:p})}}},e.prototype.toggleGridSnapping=function(e){this.options.snapToGrid=e,this.view.plugin.saveOptions()},e.prototype.toggleObjectSnapping=function(e){this.options.snapToObjects=e,this.view.plugin.saveOptions()},e.prototype.getSnapping=function(e,t,n,i){var r,o,a=this.options,s=a.snapToGrid,l=a.snapToObjects,c=0,u=0;if(0===e.length)return{x:0,y:0};if(l){var h=T4(e),p=T4(t),d=this.snapDistance;(r=A4(h,p,n?d:0,"x"))&&(c+=r.delta),(o=A4(h,p,i?d:0,"y"))&&(u+=o.delta)}if(s&&(!r||!o)){var f=d4(e),m=this.gridSpacing;!r&&n&&(c+=Math.round(f.minX/m)*m-f.minX),!o&&i&&(u+=Math.round(f.minY/m)*m-f.minY)}return(r||o)&&this.renderSnapPoints(r,o,c,u),Il(c,u)},e.prototype.endSnapPointRendering=function(){this.snapContainerEl&&(this.snapContainerEl.detach(),this.snapContainerEl=null)},e.prototype.clearSnapPoints=function(){this.snapContainerEl&&this.snapContainerEl.empty()},e.prototype.renderSnapPoints=function(e,t,n,i){var r=this.snapContainerEl;r||(r=this.snapContainerEl=this.canvasEl.createSvg("svg","canvas-snaps")),r.style.zIndex=String(this.zIndexCounter+2);var o=function(e){return Il(e.x+n,e.y+i)},a=[];e&&(a=a.concat(e.matches)),t&&(a=a.concat(t.matches));for(var s=0,l=a;s1&&t.selection.has(r)?i.setTarget(null):i.target!==r&&i.setTarget(r)}}))}},e.prototype.onPointermove=function(e){"touch"!==e.pointerType&&this.interactionHitTest(e)},e.prototype.onTouchdown=function(e){var t=this;if(e.isPrimary&&!e.defaultPrevented&&!ng(e,this.wrapperEl,!0)){e.preventDefault();var n=e.targetNode,i=n===this.wrapperEl,r=n===this.menu.selection.selectionEl,o=e.win,a=e,s=function(e){return{id:e.pointerId,x:e.clientX,y:e.clientY,pos:t.posFromEvt(e)}},l=[s(e)],c=!1,u={},h=null,p=null;if(!i&&!r)for(var d=0,f=Array.from(this.nodes.values());d5){if(g&&o.clearTimeout(g),v){if(i){var h=e.shiftKey,d=new Set(t.selection);h||t.deselectAll(),u=t.handleDragToSelect(e,h,d)}else r?u=t.handleSelectionDrag(e,n):p&&(u=t.handleSelectionDrag(e,n,p));if(!u)return u={},void C()}else t.setDragging(!0);c=!0}if(e.pointerId===a.pointerId&&u.move&&u.move(e),!v)if(1===l.length){var f=l[0],m=t.posFromClient(f);t.panBy(f.pos.x-m.x,f.pos.y-m.y)}else{var y=l[0],b=l[1],w=t.posFromClient(y),k=t.posFromClient(b),E=Il((y.pos.x+b.pos.x)/2,(y.pos.y+b.pos.y)/2),S=Rl(y.pos,b.pos),M=Rl(w,k);if(S>0&&M>0){var x=t.scale*M/S,T=Math.log2(x);T=Math.clamp(T,-4,1),t.zoom=t.tZoom=T,t.scale=Math.pow(2,T),t.markViewportChanged(),t.pauseAnimation=Date.now()+200}w=t.posFromClient(y),k=t.posFromClient(b);var D=Il((w.x+k.x)/2,(w.y+k.y)/2);t.panBy(E.x-D.x,E.y-D.y),y.pos=t.posFromClient(y),b.pos=t.posFromClient(b)}}}},w=function(e){if("touch"===e.pointerType){if(e.pointerId===a.pointerId&&!c)return i&&t.deselectAll(),void C();var n=l.find((function(t){return t.id===e.pointerId}));n&&(n.x=e.clientX,n.y=e.clientY,e.pointerId===a.pointerId&&u.end&&u.end(e),l.remove(n),0===l.length&&C())}},k=function(e){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),h=e},C=function(){if(o.removeEventListener("pointerdown",y),o.removeEventListener("pointermove",b),o.removeEventListener("pointerup",w),o.removeEventListener("pointercancel",w),o.removeEventListener("contextmenu",k,{capture:!0}),g&&o.clearTimeout(g),u.cleanup&&u.cleanup(),t.setDragging(!1),!c&&(!v&&r&&t.deselectAll(),v)){var e=h||a;e.targetNode.dispatchEvent(new MouseEvent("contextmenu",e))}};o.addEventListener("pointerdown",y),o.addEventListener("pointermove",b),o.addEventListener("pointerup",w),o.addEventListener("pointercancel",w),o.addEventListener("contextmenu",k,{capture:!0})}},e.prototype.handleDragToSelect=function(e,t,n){var i=this,r=this.posFromEvt(e),o=new R4(this);return this.handleDragWithPan(e,{move:function(e){var a=i.posFromEvt(e);o.update(u4(r,a));var s={minX:Math.min(r.x,a.x),minY:Math.min(r.y,a.y),maxX:Math.max(r.x,a.x),maxY:Math.max(r.y,a.y)},l=i.getIntersectingNodes(s);l=l.filter((function(e){return!(e instanceof I3)||m4(s,e.getBBox())}));var c=new Set(l);if(t){var u=new Set(n);c.forEach((function(e){u.has(e)?u.delete(e):u.add(e)})),c=u}i.selectAll(c)},end:function(e){if(Ag.isModifier(e,"Mod")){var t=i.view.plugin.options.defaultModDragBehavior,n=p4(o.bbox);switch(t){case"card":i.createTextNode({pos:n,size:n}),o.hide();break;case"note":new C4(i,(function(e){i.createFileNode({pos:n,size:n,file:e}),o.hide()})).showAttachments(!1).open();break;case"media":new C4(i,(function(e){i.createFileNode({pos:n,size:n,file:e}),o.hide()})).showMarkdownAndCanvas(!1).open();break;case"webpage":new v3(i.app,"",(function(e){i.createLinkNode({pos:n,size:n,url:e}),o.hide()})).open();break;case"group":i.createGroupNode({pos:n,size:n}),o.hide();break;default:var r=new Ng;i.showCreationMenu(r,n,n),r.onHide((function(){o.hide()})),r.showAtMouseEvent(e)}}else o.hide();mg(i.wrapperEl,"click")},cancel:function(){i.selectAll(n),o.hide()}})},e.prototype.onDoubleClick=function(e){if(!(e.defaultPrevented||e.targetNode!==this.wrapperEl||this.isDragging||this.readonly)){var t=this.posFromEvt(e);this.createTextNode({pos:t,position:"center"})}},e.prototype.onContextMenu=function(e){var t=this;if(!e.defaultPrevented&&e.targetNode===this.wrapperEl&&!this.readonly){e.preventDefault(),this.deselectAll();var n=this.posFromEvt(e),i=new Ng;this.showCreationMenu(i,n),i.addSeparator(),this.history.canUndo()&&i.addItem((function(e){e.setTitle(lm.setting.mobileToolbar.optionUndo()).setSection("history").setIcon("lucide-undo-2").onClick((function(){t.undo()}))})),this.history.canRedo()&&i.addItem((function(e){e.setTitle(lm.setting.mobileToolbar.optionRedo()).setSection("history").setIcon("lucide-redo-2").onClick((function(){t.redo()}))})),Yl.isDesktopApp&&i.addSeparator().addItem((function(t){t.setTitle(lm.interface.menu.paste()).setSection("clipboard").setIcon("lucide-clipboard-check").onClick((function(){e.win.electron.remote.getCurrentWebContents().paste()}))})),this.showQuickSettingsMenu(i),i.showAtMouseEvent(e)}},e.prototype.setReadonly=function(e){var t=this.quickSettingsButton;if(this.readonly=e,t){var n=e?"lucide-lock":"lucide-settings",i=e?o3.labelDisableReadonly():o3.labelCanvasSettings();Km(t,n),mv(t,i,{placement:"left"}),this.wrapperEl.toggleClass("mod-readonly",e),this.menu.render(!0)}},e.prototype.showQuickSettingsMenu=function(e){var t=this,n=this.view.plugin,i=n.options;e.addItem((function(e){return e.setSection("canvas").setTitle(o3.optionSnapToGrid()).setIcon("lucide-grid").setChecked(!!i.snapToGrid).onClick((function(){i.snapToGrid=!i.snapToGrid,n.saveOptions()}))})).addItem((function(e){return e.setSection("canvas").setTitle(o3.optionSnapToObjects()).setIcon("snap-to-object").setChecked(!!i.snapToObjects).onClick((function(){i.snapToObjects=!i.snapToObjects,n.saveOptions()}))})).addItem((function(e){return e.setSection("canvas").setTitle(o3.labelReadonly()).setIcon("lucide-lock").setChecked(t.readonly).onClick((function(){t.setReadonly(!t.readonly),t.view.saveLocalData()}))}))},e.prototype.showCreationMenu=function(e,t,n){var i=this;e.addItem((function(e){e.setTitle(o3.actionAddCard()).setSection("create").setIcon("lucide-sticky-note").onClick((function(){i.createTextNode({pos:t,size:n})}))})).addItem((function(e){e.setTitle(o3.actionAddNote()).setSection("create").setIcon("lucide-file-text").onClick((function(){new C4(i,(function(e){i.createFileNode({pos:t,size:n,file:e})})).showAttachments(!1).open()}))})).addItem((function(e){e.setTitle(o3.actionAddMedia()).setSection("create").setIcon("lucide-file-image").onClick((function(){new E4(i,(function(e){i.createFileNode({pos:t,size:n,file:e})})).open()}))})).addItem((function(e){e.setTitle(o3.actionAddWebsite()).setSection("create").setIcon("lucide-external-link").onClick((function(){new v3(i.app,"",(function(e){i.createLinkNode({pos:t,size:n,url:e})})).open()}))})).addItem((function(e){e.setTitle(o3.actionCreateGroup()).setSection("create").setIcon("create-group").onClick((function(){i.createGroupNode({pos:t,size:n})}))}))},e.prototype.smartZoom=function(e){var t=this.posFromEvt(e),n=c4(t.x,t.y,t.x,t.y);if(this.selection.size>0&&m4(this.menu.selection.bbox,n))return void this.zoomToSelection();var i=this.getIntersectingNodes(n);if(i.length>0){i.sort((function(e,t){return e.width*e.height-t.width*t.height}));var r=i[0].bbox;this.zoomToBbox(r)}else this.zoomToFit()},e.prototype.onWheel=function(e){if(!this.isDragging&&!e.defaultPrevented){var t=this.wrapperEl,n=this.options.defaultWheelBehavior,i=e.ctrlKey||e.metaKey,r=i||this.isHoldingSpace,o=240===Math.abs(e.wheelDeltaY)&&0===e.wheelDeltaX;if("zoom"!==n||o||(r=!r),Yl.isMacOS&&e.ctrlKey&&0===e.deltaX&&0===e.deltaY)this.smartZoom(e);else if(i||!ng(e,t)){e.preventDefault();var a=e.deltaX,s=e.deltaY,l=e.deltaMode;if(l&&(l===e.DOM_DELTA_LINE?(a*=40,s*=40):l===e.DOM_DELTA_PAGE&&(a*=800,s*=800)),r){var c=-s/300;Yl.isMacOS&&!Number.isInteger(s)&&(c*=2),this.zoomBy(c,s<0?this.domPosFromEvt(e):void 0),this.pauseAnimation=Date.now()+200}else e.shiftKey&&0===a?(this.tx+=s/this.scale*c3,this.markViewportChanged()):(this.tx+=a/this.scale*c3,this.ty+=s/this.scale*c3,this.markViewportChanged());var u=e.wheelDeltaX,h=e.wheelDeltaY;0===a&&Number.isInteger(h)&&120===Math.abs(h)&&h!==-3*e.deltaY||0===s&&Number.isInteger(u)&&120===Math.abs(u)&&u!==-3*e.deltaX||(this.finishViewportAnimation=!0)}}},e.prototype.handleMoverPointerdown=function(e){var t=this;if(e.isPrimary&&0===e.button){var n=this.posFromEvt(e);fg(e,(function(){return{move:function(e){var i=t.posFromEvt(e);t.panBy(n.x-i.x,n.y-i.y)}}}))}},e.prototype.onSelectionContextMenu=function(e){var t=this;if(!e.defaultPrevented){var n=Ng.forEvent(e);n.addSections(["title","open","selection","clipboard","action","view","info","","danger"]),this.readonly||n.addItem((function(e){e.setTitle(a3.deleteActionShortName()).setSection("danger").setIcon("lucide-trash-2").onClick((function(){t.deleteSelection()}))})),n.addItem((function(e){e.setTitle(o3.actionZoomToSelection()).setSection("selection").setIcon("zoom-to-selection").onClick((function(){t.zoomToSelection()}))})),this.readonly||n.addItem((function(e){e.setTitle(o3.actionCreateGroup()).setSection("selection").setIcon("create-group").onClick((function(){var e=p4(f4(d4(Array.from(t.selection.values()).map((function(e){return e.getBBox()}))),20));t.createGroupNode({pos:e,size:e})}))})),!this.readonly&&Yl.isDesktopApp&&n.addItem((function(t){t.setTitle(lm.interface.menu.cut()).setIcon("lucide-scissors").setSection("clipboard").onClick((function(){e.win.electron.remote.getCurrentWebContents().cut()}))})).addItem((function(t){t.setTitle(lm.interface.menu.copy()).setIcon("lucide-copy").setSection("clipboard").onClick((function(){e.win.electron.remote.getCurrentWebContents().copy()}))})).addItem((function(t){t.setTitle(lm.interface.menu.paste()).setIcon("lucide-clipboard-check").setSection("clipboard").onClick((function(){e.win.electron.remote.getCurrentWebContents().paste()}))})),this.app.workspace.trigger("canvas:selection-menu",n,this);var i=Array.from(this.selection).filter((function(e){return e instanceof x3})).map((function(e){return e.file}));i.length>1&&this.app.workspace.trigger("files-menu",n,i,"canvas:selection-menu",null)}},e.prototype.canSnap=function(e){return Yl.isMacOS?!e.ctrlKey:!e.altKey},e.prototype.dragTempNode=function(e,t,n){var i=this;e.isPrimary&&0===e.button&&(e.preventDefault(),fg(e,(function(){var r=new E3(i);return r.resize(t),r.attach(),r.nodeEl.addClass("is-dragging"),i.handleDragWithPan(e,{move:function(e){i.clearSnapPoints();var n=i.posFromEvt(e),o=v(v({},g4(n,t)),t);if(i.canSnap(e)){var a=[o].map(h4),s=i.getViewportNodes().filter((function(e){return!(e instanceof I3)})).map(h4),l=i.getSnapping(a,s,!0,!0);o.x+=l.x,o.y+=l.y}r.moveTo(o),r.render()},end:function(e){i.posInViewport(i.domPosFromEvt(e))&&n(Il(r.x,r.y))},cleanup:function(){r.detach()}})})))},e.prototype.handleDragWithPan=function(e,t){var n=this,i=this.wrapperEl.getBoundingClientRect();this.setDragging(!0);var r=e.win,o=0,a=0,s=0;return v(v({},t),{move:function(e){var l,c=e.clientX,u=e.clientY,h=f4(h4(i),-30);o=0,a=0,ch.maxX&&(o=c-h.maxX),uh.maxY&&(a=u-h.maxY),0!==o||0!==a?(o=Math.clamp(o,-40,40),a=Math.clamp(a,-40,40),s||(s=r.setInterval((function(){var e=.5/Math.sqrt(n.scale);n.panBy(o*e,a*e)}),1e3/60))):s&&(r.clearInterval(s),s=0),null===(l=t.move)||void 0===l||l.call(t,e)},cleanup:function(){var e;s&&(r.clearInterval(s),s=0),n.endSnapPointRendering(),n.setDragging(!1),null===(e=t.cleanup)||void 0===e||e.call(t)}})},e.prototype.handleSelectionDrag=function(e,t,n){var i=this;if(!this.readonly){var r=this.posFromEvt(e);n&&!this.selection.has(n)&&this.selectOnly(n);var o=new Set;this.selection.forEach((function(e){if(e instanceof k3&&(o.add(e),e instanceof I3))for(var t=0,n=i.getContainingNodes(e.getBBox());tMath.abs(s.y)?s.y=0:s.x=0),!i.canSnap(e))return s;var l=h.filter((function(e){return e instanceof I3}));if(0===l.length)o=h;else if(1===l.length)o=l;else if(l.length>1){o=l.slice();for(var c=function(e){var t=e.getBBox();l.some((function(n){return n!==e&&m4(n.getBBox(),t)&&(i=n.getBBox(),r=t,!(i.maxX===r.maxX&&i.maxY===r.maxY&&i.minX===r.minX&&i.minY===r.minY));var i,r}))&&o.remove(e)},u=0,p=l;u0==e instanceof I3})).map(h4),g=i.getSnapping(m,v,0!==s.x,0!==s.y);return function(e,t){return{x:e.x+t.x,y:e.y+t.y}}(s,g)};return this.handleDragWithPan(e,{move:function(e){i.clearSnapPoints(),d(e);for(var t=m(e),n=0,r=h;nd.right&&(l=d.right),c>d.bottom&&(c=d.bottom),f=Fl(Math.round(o),Math.round(a),Math.round(l-o),Math.round(c-a)),m=n.win.electron.remote,[4,m.getCurrentWebContents().capturePage(f)];case 4:return v=y.sent(),g=mu(v.toPNG()),[4,window.require("original-fs").promises.writeFile(e,g)];case 5:return y.sent(),new vx(e,1e4).addButton(Yl.isMacOS?lm.plugins.openWithDefaultApp.actionShowInFolderMac():lm.plugins.openWithDefaultApp.actionShowInFolder(),(function(){return Kf(e)})),[3,7];case 6:return this.app.statusBar.containerEl.show(),n.removeClass("is-screenshotting"),n.removeClass("is-text-garbled"),[7];case 7:return[2]}}))}))},e.prototype.generateHDImage=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,w,k,C,E,S,M,x,T,D,A,P,L,I,O,F,N,R,B,V,H,z,q,W,j,U,_,G,K,Y,Z,X,Q,$,J=this;return b(this,(function(ee){switch(ee.label){case 0:return e=this.wrapperEl,0===this.nodes.size?(new vx(o3.msgExportFailedEmptyCanvas()),[2]):(t=e.win,n=e.doc,i=t.electron.remote,r=i.getCurrentWebContents(),o=Math.pow(1.2,r.getZoomLevel()),a=t.devicePixelRatio,s=Math.round(a/o*1e5)/1e5,l=f4(d4(Array.from(this.nodes.values()).map(h4)),100),c=l.maxX-l.minX,u=l.maxY-l.minY,h=Math.min(2,16284/s/c,16284/s/u),p="",d=Math.min(1,h),f=Math.log2(d),m=Math.log2(h),v=!0,g=!1,w="full",[4,new Promise((function(e){var t=new px(J.app);t.setTitle(o3.actionExportPng()),t.modalEl.addClass("mod-narrow");var n,i,r=t.contentEl;r.createEl("p",{cls:"u-muted",text:o3.labelExportPngDesc({title:J.view.file.basename})}),new AT(r).setName(o3.optionExportPngFrame()).setDesc(o3.optionExportPngFrameDesc()).addDropdown((function(e){return e.addOption("full",o3.optionExportPngFrameFull()).addOption("viewport",o3.optionExportPngFrameViewport()).setValue(w).onChange((function(e){var t="full"===(w=e);n.setVisibility(t),i.setVisibility(t)}))}));var o=function(){return n.setDesc(o3.labelExportPngDimensions({dimensions:"".concat(Math.ceil(c*d*s).toLocaleString(),"px x ").concat(Math.ceil(u*d*s).toLocaleString(),"px")}))};n=new AT(r).setName(o3.optionExportPngZoom()).setDesc(o3.optionExportPngZoomDesc()).addSlider((function(e){return e.setLimits(Math.min(-1,m),m,"any").setValue(f).setDynamicTooltip().onChange((function(e){f=e,d=Math.pow(2,e),o()})).getValuePretty=function(){return Math.pow(2,e.getValue()).toFixed(2)}})),o(),i=new AT(r).setName(o3.optionExportPngShowLogo()).setDesc(o3.optionExportPngShowLogoDesc()).addToggle((function(e){return e.setValue(v).onChange((function(e){return v=e}))})),new AT(r).setName(o3.optionExportPngPrivacyMode()).setDesc(o3.optionExportPngPrivacyModeDesc()).addToggle((function(e){return e.setValue(g).onChange((function(e){return g=e}))})),r.createDiv("modal-button-container",(function(n){n.createEl("button",{cls:"mod-cta",text:lm.dialogue.buttonSave()}).addEventListener("click",(function(){return y(J,void 0,void 0,(function(){return b(this,(function(n){return t.close(),e(),[2]}))}))}))})),t.open()}))]);case 1:return ee.sent(),[4,i.dialog.showSaveDialog({defaultPath:this.view.file.basename+".png",filters:[{name:"PNG Files",extensions:["png"]},{name:"All Files",extensions:["*"]}],properties:["showOverwriteConfirmation"]})];case 2:return(k=ee.sent()).canceled||!k.filePath?[2]:(p=k.filePath)?"viewport"!==w?[3,4]:[4,this.takeScreenshot(p,g)]:[2];case 3:return ee.sent(),[2];case 4:this.deselectAll(),C=n.body,e.addClass("is-screenshotting"),g&&e.addClass("is-text-garbled"),this.screenshotting=!0,C.appendChild(e),S="",ee.label=5;case 5:return ee.trys.push([5,,16,18]),v&&(l.maxY+=80,u+=80,(E=this.canvasEl.createDiv("canvas-watermark")).setCssStyles({position:"absolute",left:l.minX+80+"px",top:l.maxY-80+"px",transform:"translate(0, -100%) scale(".concat(4/d,")"),transformOrigin:"bottom left",display:"flex",whiteSpace:"pre",alignItems:"center",gap:"3px",zIndex:"9999999"}),E.appendChild(function(e){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttrs({viewBox:"0 0 143 25",width:String(e),fill:"currentColor"}),t.innerHTML='',t}(100))),x=5/o,e.setCssStyles({top:"".concat(x,"px"),left:"".concat(x,"px"),bottom:"".concat(x,"px"),right:"".concat(x,"px"),width:"auto",height:"auto"}),M=window.open("about:blank","_blank","popup,x=".concat(t.screenX+5,",y=").concat(t.screenY+5,",width=").concat(t.outerWidth-10,",height=").concat(t.outerHeight-10)),T=createEl("base",{href:location.href}),M.document.head.appendChild(T),M.document.title="Obsidian",aY(M),rY(M,[T])(),(D=new LJ(M.document)).show(),D.setMessage("Rendering tiles..."),A=!1,D.el.createEl("button",{cls:"mod-cta",text:lm.dialogue.buttonStop()},(function(e){e.style.marginTop="20px",e.onClickEvent((function(){A=!0}))})),this.onResize(),P=e.getBoundingClientRect(),L=Math.ceil(P.x*o+1),I=Math.ceil(P.y*o+1),O=Math.floor(P.width*o)-2,F=Math.floor(P.height*o)-2,this.zoom=this.tZoom=Math.log2(d/o),N=Fl(L,I,O,F),R=O/d,B=F/d,V=Math.ceil((l.maxX-l.minX)/R),H=Math.ceil((l.maxY-l.minY)/B),z=l.minX+R/2,q=l.minY+B/2,(W=n.createElement("canvas")).width=Math.ceil(c*d*s),W.height=Math.ceil(u*d*s),j=W.getContext("2d"),this.viewportChanged=!0,this.requestFrame(),[4,sleep(500)];case 6:ee.sent(),U=V*H,_=0,G=0,ee.label=7;case 7:if(!(Gt.zoomBreakpoint||this.isEditing)},e.prototype.preDetach=function(){},e.prototype.detach=function(){this.nodeEl.parentNode&&this.nodeEl.detach()},e.prototype.updateBreakpoint=function(e){},Object.defineProperty(e.prototype,"isAttached",{get:function(){return!!this.nodeEl.parentNode},enumerable:!1,configurable:!0}),e.prototype.initialize=function(){var e=this.nodeEl;e.addEventListener("click",this.onClick.bind(this)),e.addEventListener("contextmenu",this.onContextMenu.bind(this)),(this.containerEl=e.createDiv("canvas-node-container")).addEventListener("pointerdown",this.onPointerdown.bind(this))},e.prototype.setIsEditing=function(e){this.isEditing!==e&&(this.isEditing=e,this.nodeEl.toggleClass("is-editing",e))},e.prototype.isEditable=function(){return!1},e.prototype.startEditing=function(){var e=this.canvas;if(!e.readonly){e.selectOnly(this);var t=e.zoomBreakpoint+.1;e.zooms.zoomBreakpoint||this.isEditing)},e.prototype.updateZIndex=function(){var e=this.canvas;this.zIndex!==e.zIndexCounter&&(this.zIndex=e.getZIndex()),this.renderZIndex()},e.prototype.renderZIndex=function(){var e=this.canvas,t=this.zIndex;1==e.selection.size&&e.selection.has(this)&&(t=e.zIndexCounter+1),t!==this.renderedZIndex&&(this.nodeEl.style.zIndex=t.toString(),this.renderedZIndex=t)},Object.defineProperty(e.prototype,"isFocused",{get:function(){return this.nodeEl.hasClass("is-focused")},enumerable:!1,configurable:!0}),e.prototype.focus=function(){this.nodeEl.addClass("is-focused"),this.renderZIndex()},e.prototype.blur=function(){this.nodeEl.removeClass("is-focused"),this.setIsEditing(!1),this.renderZIndex()},e.prototype.select=function(){this.nodeEl.addClass("is-selected"),this.renderZIndex()},e.prototype.deselect=function(){this.nodeEl.removeClass("is-selected"),this.renderZIndex()},e.prototype.onPointerdown=function(e){var t=this;!e.isPrimary||0!==e.button||this.isEditing||"mouse"!==e.pointerType||this.canvas.readonly||_G(e.targetNode)||fg(e,(function(){return t.canvas.handleSelectionDrag(e,t.nodeEl,t)}))},e.prototype.onClick=function(e){if(!this.isEditing){var t=this.canvas;e.shiftKey?t.toggleSelect(this):t.selectOnly(this)}},e.prototype.onContextMenu=function(e){if(!this.isEditing&&!e.defaultPrevented){var t=this.canvas;if(t.selection.has(this)&&t.selection.size>1)t.onSelectionContextMenu(e);else{t.selectOnly(this);var n=Ng.forEvent(e);n.addSections(["title","canvas","open","action-primary","action","info","view","system","","danger"]),this.showMenu(n)}}},e.prototype.showMenu=function(e){var t=this,n=this.canvas;n.readonly||e.addItem((function(e){return e.setSection("danger").setTitle(y3.actionRemove()).setIcon("lucide-trash-2").setWarning(!0).onClick((function(){n.removeNode(t),n.requestSave()}))})),Yl.isMobile&&e.addItem((function(e){return e.setSection("action").setTitle(y3.actionDuplicate()).setIcon("lucide-files").onClick((function(){var e=n.getSelectionData(),t=n.cloneData(e),i=n.importData(t,!1);n.deselectAll(),i.forEach((function(e){return n.select(e)}))}))})),e.addItem((function(e){return e.setSection("canvas").setTitle(y3.actionZoomToSelection()).setIcon("zoom-to-selection").onClick((function(){n.zoomToSelection()}))})),this.app.workspace.trigger("canvas:node-menu",e,this)},e.prototype.onResizePointerdown=function(e,t){var n=this;e.isPrimary&&0===e.button&&("mouse"===e.pointerType||this.canvas.selection.has(this))&&(e.preventDefault(),fg(e,(function(){var i=n,r=i.canvas,o=i.x,a=i.y,s=i.width,l=i.height,c=r.options,u=c.snapToGrid,h=c.snapToObjects;return r.selectOnly(n),n.nodeEl.addClass("is-dragging"),n.canvas.handleDragWithPan(e,{move:function(e){var i,c,p=r.config.minContainerDimension,d=r.posFromEvt(e);r.clearSnapPoints();var f=0,m=0,v=b4(t,d,n),g=v.source,y=v.resizeX,b=v.resizeY;if(r.canSnap(e)){if(h){var w=T4([h4(g)]),k=T4(r.getViewportNodes(!0).map(h4)),C=r.snapDistance;y&&(i=A4(w,k,C,"x"))&&(f=i.delta),b&&(c=A4(w,k,C,"y"))&&(m=c.delta)}if(u){var E=r.gridSpacing;y&&!i&&(f=Math.round(d.x/E)*E-d.x),b&&!c&&(m=Math.round(d.y/E)*E-d.y)}}var S=d.x+f,M=d.y+m,x=h4({x:o,y:a,width:s,height:l});t.contains("top")&&(x.minY=Math.min(x.maxY-p,M),x.minY!==M&&(c=null,m=x.minY-d.y)),t.contains("left")&&(x.minX=Math.min(x.maxX-p,S),x.minX!==S&&(i=null,f=x.minX-d.x)),t.contains("bottom")&&(x.maxY=Math.max(x.minY+p,M),x.maxY!==M&&(c=null,m=x.maxY-d.y)),t.contains("right")&&(x.maxX=Math.max(x.minX+p,S),x.maxX!==S&&(i=null,f=x.maxX-d.x));var T={x:x.minX,y:x.minY,width:x.maxX-x.minX,height:x.maxY-x.minY},D=n.aspectRatio;if(0!==D){var A=T.width,P=T.height;if(y&&b){var L=Math.max(A,P*D);P=Math.max(P,A/D),(A=L)!==T.width?i=null:P!==T.height&&(c=null)}else y?P=A/D:b&&(A=P*D);if(t.includes("left")){var I=o+s-A;f+=I-T.x,T.x=I}if(t.includes("top")){var O=a+l-P;m+=O-T.y,T.y=O}t.includes("right")&&(f+=A-T.width),t.includes("bottom")&&(m+=P-T.height),T.width=A,T.height=P}(i||c)&&r.renderSnapPoints(i,c,f,m),n.moveAndResize(T)},end:function(){r.requestSave()},cancel:function(){n.moveAndResize({x:o,y:a,width:s,height:l}),r.requestSave()},cleanup:function(){n.nodeEl.removeClass("is-dragging")}})})))},e.prototype.onConnectionPointerdown=function(e,t){var n=this;e.isPrimary&&0===e.button&&("touch"!==e.pointerType||this.canvas.selection.has(this))&&(e.preventDefault(),fg(e,(function(){var i=n.canvas,r=new E3(i),o=null;i.canvasEl.addClass("is-connecting"),i.deselectAll();var a=function(e){switch(e){case"right":return"left";case"left":return"right";case"top":return"bottom"}return"top"}(t),s={side:t,node:n,end:z3},l=new W3(i,cc(16),s,{side:a,node:r,end:q3});return i.addEdge(l),n.canvas.handleDragWithPan(e,{move:function(e){var t=i.posFromEvt(e);r.x=t.x,r.y=t.y,r.width=0,r.height=0;var c=i.getIntersectingNodes(f4(r.getBBox(),n.canvas.config.objectSnapDistance)).filter((function(e){return e!==n&&(!(e instanceof I3&&m4(e.getBBox(),n.getBBox()))&&!(n instanceof I3&&m4(n.getBBox(),e.getBBox())))}));(o=M4(t,c,i.config.objectSnapDistance))?l.update(s,{side:o.side,node:o.node,end:q3}):l.update(s,{side:a,node:r,end:q3})},end:function(e){if(o)i.requestSave();else{var t=n.app,r=t.metadataCache,c=(new Ng).addSections(["action","file",""]),u=!1,h=function(){activeWindow.setTimeout((function(){u||i.removeEdge(l),u=!1}),50)};c.onHide(h);var p=function(e){l.update(s,{side:a,node:e,end:q3}),i.requestSave()},d=function(t,n){var r=i.posFromEvt(e),o=i.createFileNode({pos:r,position:a,file:t,subpath:n});p(o)},f=function(o,s){return y(n,void 0,void 0,(function(){var n,l,c,h,f,m,v,g;return b(this,(function(y){switch(y.label){case 0:return u=!0,n=i.posFromEvt(e),o?(c=cS(o),h=c.path,f=c.subpath,(m=r.getFirstLinkpathDest(h,s))?[3,2]:(v=cS(o).path,g=t.fileManager.getNewFileParent(o,v),[4,t.fileManager.createNewMarkdownFile(g,v)])):[3,3];case 1:m=y.sent(),y.label=2;case 2:return d(m,f),[3,4];case 3:l=i.createTextNode({pos:n,position:a}),p(l),y.label=4;case 4:return[2]}}))}))};if(c.addItem((function(e){return e.setTitle(y3.actionAddCard()).setSection("action").onClick((function(){return f("","")}))})).addItem((function(e){return e.setTitle(y3.actionAddNote()).setSection("action").onClick((function(){u=!0,new C4(n.canvas,(function(e){u=!0,d(e,"")}),h).open()}))})),n instanceof x3){var m=n.file,v=[];pS(r.getFileCache(m).links,(function(e){var t=cS(e.link),n=t.path,i=t.subpath,o=r.getFirstLinkpathDest(n,m.path);o&&v.push(S3(o,i))}));for(var g=0,w=n.getConnectedFiles(),k=function(e){return w.has(e)?"continue":(w.add(e),c.addItem((function(t){return t.setTitle(e).setSection("file").onClick((function(){return f(e,m.path)}))})),++g>=20?"break":void 0)},C=0,E=v;Cc?h=d:p=d,p-h<1)break}this.resize({width:p,height:this.height}),r.scrollHeight>c?(this.resize({width:u,height:this.height}),this.render()):this.canvas.requestSave()}finally{r.style.height=""}}},t.prototype.moveAndResize=function(t){var n=this,i=n.width,r=n.height;n.child instanceof dY&&(i!==t.width||r!==t.height)&&(this.resizeDirty=!0),e.prototype.moveAndResize.call(this,t)},t.prototype.render=function(){e.prototype.render.call(this);var t=this.child;this.resizeDirty&&t instanceof dY&&t.previewMode.renderer.onResize(),this.resizeDirty=!1},t}(C3),x3=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.filePath="",t.subpath="",t.file=null,t}return m(t,e),t.prototype.initFile=function(){var e=this,t=e.filePath,n=e.file,i=e.app;if(t&&(null==n?void 0:n.path)!==t){this.file=null;var r=i.vault.getAbstractFileByPath(t);r instanceof zC&&(this.file=r)}},t.prototype.getData=function(){return v(v({},e.prototype.getData.call(this)),{type:"file",file:this.file?this.file.path:this.filePath,subpath:this.subpath||void 0})},t.prototype.setData=function(t){e.prototype.setData.call(this,t);var n=t.file,i=t.subpath;n&&this.setFilePath(n,i||"")},t.prototype.setFilePath=function(e,t){this.filePath===e&&this.subpath===t||(this.filePath=e,this.file&&this.file.path===e&&this.subpath===t||(this.subpath=t,this.initFile(),this.unloadChild()),this.canvas.markDirty(this))},t.prototype.setFile=function(e,t,n){t=t||"",(n||this.filePath!==e.path||this.subpath!==t)&&(this.subpath=t,this.filePath=e.path,this.file!==e&&(this.file=e,this.unloadChild()),this.canvas.markDirty(this))},t.prototype.blur=function(){e.prototype.blur.call(this),this.canvas.requestUpdateFileOpen(null)},t.prototype.focus=function(){e.prototype.focus.call(this),this.child&&this.onFileFocus()},t.prototype.onFileFocus=function(){var e=this.app.workspace,t=this.child instanceof dY?this.child:null;e.activeEditor=t,this.canvas.requestUpdateFileOpen(this.file)},t.prototype.initialize=function(){e.prototype.initialize.call(this)},t.prototype.updateNodeLabel=function(e){var t=this,n=t.labelEl,i=t.canvas,r=t.nodeEl,o=i.options.cardLabelVisibility;"never"!==o?(n||((n=this.labelEl=r.createDiv("canvas-node-label")).addEventListener("click",this.onLabelClick.bind(this)),n.addEventListener("dblclick",this.onLabelDblClick.bind(this)),n.addEventListener("pointerdown",this.onPointerdown.bind(this))),n.toggleClass("mod-hover-label","hover"===o),n.setText(e)):n&&(n.detach(),this.labelEl=null)},t.prototype.updateBreakpoint=function(e){if(e)this.mountContent();else{var t=this.child;t instanceof _Y||t instanceof n5?this.mountContent():this.unmountContent()}},t.prototype.render=function(){var t,n,i=this;e.prototype.render.call(this);var r=this,o=r.file,a=r.filePath,s=r.subpath;if(o){var l=o.getShortName();s&&"md"===o.extension&&(l+=" › "+s.substring(1)),this.updateNodeLabel(l),this.placeholderEl.setText(l)}else this.updateNodeLabel(createFragment((function(e){Km(e.createSpan(),"lucide-alert-triangle"),e.createSpan({text:a})}))),this.placeholderEl.setText(a);if(!this.child){var c,u={app:this.app,linktext:this.filePath+this.subpath,sourcePath:null!==(n=null===(t=this.canvas.view.file)||void 0===t?void 0:t.path)&&void 0!==n?n:"",containerEl:this.contentEl,depth:0};o?(c=this.child=$Y.load(u))instanceof JY&&(c.useLocalPropertiesFoldState=!0,c.editable=!0,c.useIframe=!0):c=this.child=new L3(u,this,(function(){return i.render()})),this.isFocused&&this.onFileFocus(),c.load(),y(i,void 0,void 0,(function(){var e,t,n,i,r,o,a,s=this;return b(this,(function(l){switch(l.label){case 0:return[4,c.loadFile()];case 1:return l.sent(),c instanceof HY&&c.viewer.then((function(e){var t=e.pdfViewer,n=e.toolbar;t.setHeight("auto"),n.toolbarRightEl.createDiv("clickable-icon",(function(n){Km(n,"lucide-file-symlink"),mv(n,lm.pdf.actionSavePDFLocation()),e.on("pagechanging",wc((function(){s.subpath!=="#page=".concat(t.page)?n.setAttr("aria-disabled","false"):"true"!==n.getAttr("aria-disable")&&n.setAttr("aria-disabled","true")}),100,!0)),n.addEventListener("click",(function(){s.subpath="#page=".concat(t.page),s.canvas.requestSave(),n.setAttr("aria-disabled","true")}))}))})),(e=this.contentEl.firstChild)?(t=null,e.instanceOf(HTMLImageElement)?(t={width:e.naturalWidth,height:e.naturalHeight},e.draggable=!1):e.instanceOf(HTMLVideoElement)?t={width:e.videoWidth,height:e.videoHeight}:e.instanceOf(HTMLAudioElement)&&(n=function(){s.resize({width:s.width,height:e.clientHeight||42})},e.isShown()||e.onNodeInserted(n,!0),n()),t&&0!==t.height&&(i=this.aspectRatio=t.width/t.height,o=(r=this).width,a=r.height,o/a!==i&&(this.resize({width:Math.min(o,a*i),height:Math.min(a,o/i)}),this.canvas.overrideHistory())),[2]):[2]}}))}))}},t.prototype.onLabelClick=function(e){var t=Ag.isModEvent(e);t&&this.app.workspace.getLeaf(t).openLinkText(this.filePath+this.subpath,"")},t.prototype.onLabelDblClick=function(e){this.app.workspace.getLeaf(!1).openLinkText(this.filePath+this.subpath,"")},t.prototype.onPointerdown=function(t){var n;this.child instanceof HY&&t.targetNode.instanceOf(HTMLElement)&&(null===(n=t.targetNode.parentElement)||void 0===n?void 0:n.hasClass("textLayer"))||e.prototype.onPointerdown.call(this,t)},t.prototype.showMenu=function(t){var n=this;e.prototype.showMenu.call(this,t);var i=this,r=i.file,o=i.child,a=i.canvas;a.readonly||t.addItem((function(e){return e.setSection("canvas").setTitle(y3.actionSwapFile()).setIcon(r?"lucide-arrow-left-right":"lucide-wrench").onClick((function(){var e=!r||"md"===r.extension||"canvas"===r.extension,t=!r||"md"!==r.extension;new C4(n.canvas,(function(e){n.setFile(e,""),n.canvas.requestSave()})).showMarkdownAndCanvas(e).showAttachments(t).open()}))})),r&&("md"===r.extension&&t.addItem((function(e){return e.setSection("open").setTitle(g3.menu.openInNewTab()).setIcon("lucide-file-plus").onClick((function(){n.app.workspace.getLeaf("tab").openFile(r)}))})),!a.readonly&&o instanceof JY&&t.addItem((function(e){return e.setSection("canvas").setTitle(g3.menu.edit()).setIcon("lucide-edit").onClick((function(){return n.startEditing()}))})),a.readonly||"md"!==r.extension||(t.addItem((function(e){return e.setSection("canvas").setIcon("lucide-minimize-2").setTitle(y3.actionNarrowHeading()).onClick((function(){new b3(n.app,r,"heading",(function(e){var t=rD(e),i=t.path,r=t.subpath;n.setFilePath(i,r),n.canvas.requestSave()})).open()}))})),t.addItem((function(e){return e.setSection("canvas").setIcon("lucide-minimize-2").setTitle(y3.actionNarrowBlock()).onClick((function(){new b3(n.app,r,"block",(function(e){if("block"===e.type&&!e.node.id){var t=e.content,i=e.file,r=e.node.id=cc(6),o=Zk(e,r),a=o.blockEnd,s=o.addition;t=t.slice(0,a)+s+t.slice(a),n.app.vault.modify(i,t)}var l=rD(e),c=l.path,u=l.subpath;n.setFilePath(c,u),n.canvas.requestSave()})).open()}))}))),a.readonly||"base"!==r.extension||t.addItem((function(e){return e.setSection("canvas").setIcon("lucide-minimize-2").setTitle(y3.actionNarrowBasesView()).onClick((function(){return y(n,void 0,void 0,(function(){var e,t,n,i,o=this;return b(this,(function(a){switch(a.label){case 0:return[4,this.app.vault.cachedRead(r)];case 1:return e=a.sent(),(t=null===(i=Lk(e))||void 0===i?void 0:i.views).unshift(null),n=this.subpath.slice(1),new T3(this.app,t,n,(function(e){var t=e?"#"+e:"";o.setFilePath(o.filePath,t),o.canvas.requestSave()})).open(),[2]}}))}))}))})),this.subpath||(t.addItem((function(e){return e.setSection("action").setTitle(lm.plugins.fileExplorer.menuOptRename()).setIcon("lucide-edit-3").onClick((function(){return n.app.fileManager.promptForFileRename(r)}))})),this.app.workspace.trigger("file-menu",t,r,"canvas-menu")))},t}(M3),T3=function(e){function t(t,n,i,r){var o=e.call(this,t)||this;return o.views=n,o.currentViewName=i,o.cb=r,o.setInstructions([{command:"↑↓",purpose:lm.plugins.commandPalette.instructionNavigate()},{command:"↵",purpose:lm.plugins.commandPalette.instructionUse()},{command:"esc",purpose:lm.plugins.commandPalette.instructionDismiss()}]),o.scope.register(null,"Tab",(function(){return!1})),o.scope.register(null,"Enter",(function(e){if(!e.isComposing)return o.selectActiveSuggestion(e),!1})),o}return m(t,e),t.prototype.getItems=function(){return this.views},t.prototype.getItemText=function(e){return e?e.name:""},t.prototype.renderSuggestion=function(e,t){t.addClass("mod-complex");var n=t.createDiv("suggestion-icon"),i=t.createSpan("suggestion-content").createDiv("suggestion-title"),r=e.item;if(null!==r){if(uT(i,r.name,e.match),r.name===this.currentViewName)t.createSpan("suggestion-aux").createSpan({cls:"flair toolbar-badge",text:lm.setting.appearance.labelCurrentlyActive()});var o=this.app.internalPlugins.getEnabledPluginById("bases");if(o){var a=o.getRegistration(r.type);Km(n.createDiv("suggestion-flair"),a&&a.icon||"lucide-table")}}else i.setText(lm.plugins.canvas.labelShowDefaultView())},t.prototype.onChooseItem=function(e,t){this.cb(e.name)},t}(tZ),D3=function(e){function t(t,n){void 0===n&&(n=cc(16));var i=e.call(this,t,n)||this;return i.text="",i}return m(t,e),t.prototype.getData=function(){return v(v({},e.prototype.getData.call(this)),{type:"text",text:this.text})},t.prototype.setData=function(t){e.prototype.setData.call(this,t);var n=t.text;String.isString(n)&&this.setText(n)},t.prototype.setText=function(e){this.text!==e&&(this.text=e,this.child&&this.child.set(e))},t.prototype.initialize=function(){e.prototype.initialize.call(this),Km(this.placeholderEl.createDiv("canvas-icon-placeholder"),"lucide-align-left")},t.prototype.render=function(){e.prototype.render.call(this),this.child||(this.child=new A3(this),this.child.set(this.text),this.child.load())},t.prototype.showMenu=function(t){var n=this;(e.prototype.showMenu.call(this,t),this.canvas.readonly)||this.child&&t.addItem((function(e){return e.setSection("canvas").setTitle(g3.menu.edit()).setIcon("lucide-edit").onClick((function(){return n.startEditing()}))})).addItem((function(e){return e.setSection("canvas").setTitle(y3.actionConvertToFile()).setIcon("lucide-file-input").onClick((function(){return n.convertToFile()}))}))},t.prototype.convertToFile=function(){var e=this,t=this.canvas,n=this.text,i=t.view.file.path;new yx(this.app,"Untitled",(function(t){return y(e,void 0,void 0,(function(){var e,r,o,a,s,l,c,u,h,p;return b(this,(function(d){switch(d.label){case 0:r=(e=this).app,o=e.canvas,a=r.fileManager.getNewFileParent(i,t),d.label=1;case 1:return d.trys.push([1,3,,4]),[4,r.fileManager.createNewMarkdownFile(a,t,n)];case 2:for(s=d.sent(),l=o.createFileNode({pos:this,size:this,file:s,save:!1,focus:!1}),c=o.getEdgesForNode(this),u=0,h=c;u-o&&r<=o?"right":r>o&&r<=Math.PI-o?"bottom":r>Math.PI-o||r<=-(Math.PI-o)?"left":"top"}function N3(e,t){switch(t){case"top":return Il((e.minX+e.maxX)/2,e.minY);case"right":return Il(e.maxX,(e.minY+e.maxY)/2);case"bottom":return Il((e.minX+e.maxX)/2,e.maxY);case"left":return Il(e.minX,(e.minY+e.maxY)/2)}}function R3(e,t){var n=v({},e);switch(t){case"top":n.y-=7;break;case"bottom":n.y+=7;break;case"left":n.x-=7;break;case"right":n.x+=7}return n}function B3(e,t,n){switch(e){case"left":return{x:t.x-n,y:t.y};case"right":return{x:t.x+n,y:t.y};case"top":return{x:t.x,y:t.y-n};case"bottom":return{x:t.x,y:t.y+n}}}function V3(e,t,n,i){var r=Rl(e,n),o=Math.clamp(r/2,70,150),a=B3(t,e,o),s=B3(i,n,o);return{from:e,to:n,cp1:a,cp2:s,path:"M".concat(e.x,",").concat(e.y," C").concat(a.x,",").concat(a.y," ").concat(s.x,",").concat(s.y," ").concat(n.x,",").concat(n.y)}}var H3={top:"180",bottom:"0",left:"90",right:"270"},z3="none",q3="arrow",W3=function(){function e(e,t,n,i){this.color="",this.label="",this.unknownData={},this.initialized=!1,this.canvas=e,this.id=t,this.from=n,this.to=i,this.lineGroupEl=createSvg("g"),this.lineEndGroupEl=createSvg("g")}return e.prototype.attach=function(){this.isAttached||(this.canvas.edgeContainerEl.appendChild(this.lineGroupEl),this.canvas.edgeEndContainerEl.appendChild(this.lineEndGroupEl))},e.prototype.detach=function(){this.isAttached&&(this.lineGroupEl.detach(),this.lineEndGroupEl.detach())},Object.defineProperty(e.prototype,"isAttached",{get:function(){return!!this.lineGroupEl.parentNode},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){var e,t,n;null===(e=this.labelElement)||void 0===e||e.destroy(),null===(t=this.lineGroupEl)||void 0===t||t.remove(),null===(n=this.lineEndGroupEl)||void 0===n||n.remove()},e.prototype.getData=function(){var e=this,t=e.id,n=e.from,i=e.to,r=e.color,o=e.label,a=e.unknownData,s=v(v({},a),{id:t,fromNode:n.node.id,fromSide:n.side,toNode:i.node.id,toSide:i.side});return n.end!==z3&&(s.fromEnd=n.end),i.end!==q3&&(s.toEnd=i.end),r&&(s.color=r),o&&(s.label=o),s},e.prototype.setData=function(e){var t=e.fromNode,n=e.fromSide,i=e.fromEnd,r=e.toNode,o=e.toSide,a=e.toEnd,s=e.color,l=e.label,c=g(e,["fromNode","fromSide","fromEnd","toNode","toSide","toEnd","color","label"]),u=!1;s=N4(s||""),this.color!==s&&(this.color=s,u=!0),this.label!==l&&(this.label=l,u=!0);var h=this.canvas,p=h.nodes,d=!1;t&&t!==this.from.node.id&&p.has(t)&&(d=!0,this.from.node=p.get(t)),i=i||z3,t&&i!==this.from.end&&(this.from.end=i,u=!0),r&&r!==this.to.node.id&&p.has(r)&&(d=!0,this.to.node=p.get(r)),a=a||q3,r&&a!==this.to.end&&(this.to.end=a,u=!0),t&&(n=null!=n?n:F3(this.from.node,this.to.node))!==this.from.side&&(this.from.side=n,u=!0),r&&(o=null!=o?o:F3(this.to.node,this.from.node))!==this.to.side&&(this.to.side=o,u=!0),d&&h.markMoved(this),u&&h.markDirty(this),this.unknownData=c},e.prototype.setColor=function(e,t){void 0===t&&(t=!1),e=N4(e||""),this.color!==e&&(this.color=e,t?this.render():this.canvas.markDirty(this))},e.prototype.setLabel=function(e){this.label!==e&&(this.label=e)},e.prototype.update=function(e,t){var n=this.canvas;this.from.node!==e.node&&(n.edgeFrom.delete(this.from.node,this),e.node instanceof E3||n.edgeFrom.add(e.node,this)),this.to.node!==t.node&&(n.edgeTo.delete(this.to.node,this),t.node instanceof E3||n.edgeTo.add(t.node,this)),this.from=e,this.to=t,n.markMoved(this)},e.prototype.getBBox=function(){var e=this.from,t=this.to,n=N3(e.node.getBBox(),e.side),i=N3(t.node.getBBox(),t.side);return{minX:Math.min(n.x,i.x),minY:Math.min(n.y,i.y),maxX:Math.max(n.x,i.x),maxY:Math.max(n.y,i.y)}},e.prototype.focus=function(){this.select()},e.prototype.blur=function(){var e;this.deselect(),null===(e=this.labelElement)||void 0===e||e.blur()},e.prototype.select=function(){this.lineGroupEl.addClass("is-focused"),this.lineEndGroupEl.addClass("is-focused")},e.prototype.deselect=function(){this.lineGroupEl.removeClass("is-focused"),this.lineEndGroupEl.removeClass("is-focused")},e.prototype.editLabel=function(){this.labelElement||(this.labelElement=new j3(this)),this.labelElement.focus()},e.prototype.getCenter=function(){return function(e,t){var n=t.from,i=t.to,r=t.cp1,o=t.cp2,a=1-e,s=a*a*a,l=3*e*a*a,c=3*e*e*a,u=e*e*e;return{x:s*n.x+l*r.x+c*o.x+u*i.x,y:s*n.y+l*r.y+c*o.y+u*i.y}}(.5,this.bezier)},e.prototype.initialize=function(){var e=this,t=this.lineGroupEl;t.addEventListener("click",(function(t){return e.onClick(t)})),t.addEventListener("contextmenu",(function(t){return e.onContextMenu(t)})),t.addEventListener("pointerdown",(function(t){return e.onConnectionPointerdown(t)})),this.path={interaction:t.createSvg("path","canvas-interaction-path"),display:t.createSvg("path","canvas-display-path")}},e.prototype.render=function(){var e;this.initialized||(this.initialized=!0,this.initialize());var t=this,n=t.lineGroupEl,i=t.lineEndGroupEl,r=t.color,o=t.label;this.updatePath(),this.labelElement&&!o&&this.labelElement.destroy(!0),null===(e=this.labelElement)||void 0===e||e.render(),o&&(this.labelElement||(this.labelElement=new j3(this)),this.labelElement.setText(o)),O4(n,r),O4(i,r),n.toggleClass("is-themed",!!r),i.toggleClass("is-themed",!!r)},e.prototype.updatePath=function(){var e=this,t=e.from,n=e.to,i=e.path,r=e.toLineEnd,o=e.fromLineEnd,a=N3(t.node.getBBox(),t.side),s=R3(a,t.side),l=N3(n.node.getBBox(),n.side),c=R3(l,n.side),u=this.bezier=V3(s,t.side,c,n.side);t.end!==(null==o?void 0:o.type)&&(o&&o.el.detach(),o=this.fromLineEnd=this.createEdgeEnd(t.end)),n.end!==(null==r?void 0:r.type)&&(r&&r.el.detach(),r=this.toLineEnd=this.createEdgeEnd(n.end));var h=u.path;o?o.el.style.transform="translate(".concat(a.x,"px, ").concat(a.y,"px) rotate(").concat(H3[t.side],"deg)"):h="M".concat(a.x," ").concat(a.y," L").concat(s.x," ").concat(s.y," ").concat(h),r?r.el.style.transform="translate(".concat(l.x,"px, ").concat(l.y,"px) rotate(").concat(H3[n.side],"deg)"):h="".concat(h," M").concat(c.x," ").concat(c.y," L").concat(l.x," ").concat(l.y),i.interaction.setAttr("d",h),i.display.setAttr("d",h)},e.prototype.createEdgeEnd=function(e){return"arrow"===e?{el:this.lineEndGroupEl.createSvg("g",{},(function(e){e.createSvg("polygon",{cls:"canvas-path-end",attr:{points:"0,0 6.5,10.4 -6.5,10.4"}})})),type:e}:null},e.prototype.onClick=function(e){var t=this.canvas;0!==e.button||t.readonly||(e.shiftKey?t.toggleSelect(this):1===t.selection.size&&t.selection.has(this)?this.editLabel():t.selectOnly(this))},e.prototype.onContextMenu=function(e){if(!e.defaultPrevented){var t=this.canvas;if(t.selection.has(this)&&t.selection.size>1)t.onSelectionContextMenu(e);else{t.readonly||t.selectOnly(this);var n=(new Ng).addSections(["canvas"]);this.showMenu(n,e),e.preventDefault(),n.showAtMouseEvent(e)}}},e.prototype.showMenu=function(e,t){var n=this;this.canvas.readonly||(e.addItem((function(e){return e.setSection("danger").setTitle(O3.actionRemove()).setIcon("lucide-trash-2").setWarning(!0).onClick((function(){n.canvas.removeEdge(n),n.canvas.requestSave()}))})),e.addItem((function(e){return e.setSection("canvas").setTitle(O3.actionEditLabel()).setIcon("lucide-edit").onClick((function(){return n.editLabel()}))}))),e.addItem((function(e){return e.setSection("canvas").setTitle(O3.actionFollowConnection()).setIcon("lucide-corner-down-right").onClick((function(){var e=n,i=e.canvas,r=e.from,o=e.to,a=i.posFromEvt(t),s=N3(r.node.getBBox(),r.side),l=N3(o.node.getBBox(),o.side),c="from"===(Rl(a,s)>Rl(a,l)?"to":"from")?o.node:r.node;i.zoomToBbox(c.getBBox())}))})),this.canvas.app.workspace.trigger("canvas:edge-menu",e,this)},e.prototype.onConnectionPointerdown=function(e){var t=this,n=this.canvas;e.isPrimary&&0===e.button&&!n.readonly&&("touch"!==e.pointerType||n.selection.has(this))&&(e.preventDefault(),fg(e,(function(){var n=t,i=n.canvas,r=n.from,o=n.to,a=i.posFromEvt(e),s=N3(r.node.getBBox(),r.side),l=N3(o.node.getBBox(),o.side),c=Rl(a,s)>Rl(a,l)?"to":"from",u="from"===c?o:r,h=new E3(i),p=null;return i.canvasEl.addClass("is-connecting"),i.deselectAll(),t.canvas.handleDragWithPan(e,{move:function(e){var n=i.posFromEvt(e);h.x=n.x,h.y=n.y,h.width=0,h.height=0;var a=i.getIntersectingNodes(f4(h.getBBox(),i.config.objectSnapDistance));a.remove(u.node),p=M4(n,a,i.config.objectSnapDistance),"from"===c?p?t.update({side:p.side,node:p.node,end:r.end},o):t.update({side:r.side,node:h,end:r.end},o):p?t.update(r,{side:p.side,node:p.node,end:o.end}):t.update(r,{side:o.side,node:h,end:o.end})},end:function(){p||i.removeEdge(t),i.requestSave()},cancel:function(){t.update(r,o)},cleanup:function(){i.canvasEl.removeClass("is-connecting"),mg(t.lineGroupEl,"click")}})})))},e}(),j3=function(){function e(e){var t=this;this.isEditing=!1,this.initialTextState="",this.edge=e;var n=e.canvas,i=this.wrapperEl=n.canvasEl.createDiv("canvas-path-label-wrapper");i.addEventListener("click",(function(i){if(!n.readonly){if(i.shiftKey)return t.blur(),void n.toggleSelect(e);var r=n.selection;1===r.size&&r.has(e)?t.isEditing||t.focus(Ol(i)):n.selectOnly(e)}})),this.textareaEl=i.createDiv({parent:i,cls:"canvas-path-label",text:this.edge.label,attr:{contentEditable:!1,"data-placeholder":O3.promptAddText()}},(function(e){e.addEventListener("input",(function(){t.edge.label=e.innerText,t.edge.canvas.requestSave(!1)})),t.edge.label||setTimeout((function(){return t.focus()}))})),this.render()}return e.prototype.setText=function(e){this.textareaEl.setText(e)},e.prototype.focus=function(e){var t,n=this.textareaEl;this.isEditing=!0,n.setAttr("contenteditable",!0),n.addClass("is-editing"),e?t=n.doc.caretRangeFromPoint(e.x,e.y):(t=n.doc.createRange()).selectNodeContents(n);var i=n.win.getSelection();i.removeAllRanges(),i.addRange(t),n.focus(),this.initialTextState=this.edge.label||""},e.prototype.blur=function(){var e=this.textareaEl;this.isEditing=!1,e.blur(),e.setAttr("contenteditable",!1),e.removeClass("is-editing"),this.edge.label?this.initialTextState!==this.edge.label&&this.edge.canvas.requestSave():this.destroy(),this.initialTextState=""},e.prototype.render=function(){var e=this.wrapperEl,t=this.edge.getCenter();e.style.transform="translate(".concat(t.x,"px, ").concat(t.y,"px)"),O4(e,this.edge.color),e.toggleClass("is-themed",!!this.edge.color)},e.prototype.destroy=function(e){var t=this.edge;t.label&&delete t.label,this.initialTextState&&!e&&t.canvas.requestSave(),this.wrapperEl.remove(),t.labelElement=null},e}(),U3=lm.plugins.canvas,_3=function(e){function t(t,n){var i=e.call(this,t.app)||this;return i.emptyStateText=U3.msgNoGroupsFound(),i.view=t,i.cb=n,i.setInstructions([{command:"↑↓",purpose:lm.plugins.templates.instructionNavigate()},{command:"↵",purpose:U3.instructionJumpToGroup()},{command:"esc",purpose:lm.plugins.templates.instructionDismiss()}]),i.setPlaceholder(U3.actionJumpToGroup()),i.scope.register(null,"Tab",(function(){return!1})),i}return m(t,e),t.prototype.getItems=function(){return this.view.canvas.getData().nodes.filter((function(e){return"group"===e.type}))},t.prototype.onChooseItem=function(e){this.cb(e)},t.prototype.getItemText=function(e){return e.label||U3.labelUntitledGroup()},t}(tZ),G3=function(e){function t(t){var n=e.call(this)||this;return n.index={},n.fileQueue=[],n.app=t,n}return m(t,e),t.prototype.onload=function(){var e=this.app.vault;this.registerEvent(e.on("create",this.onCreate,this)),this.registerEvent(e.on("modify",this.onModify,this)),this.registerEvent(e.on("rename",this.onRename,this)),this.registerEvent(e.on("delete",this.onDelete,this));for(var t=0,n=e.getFiles();t0))return[3,5];t=e.pop(),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this.process(t)];case 2:return(n=r.sent())&&(this.index[t.path]=n),[3,4];case 3:return i=r.sent(),console.error("Failed to index ".concat(t.path),i),[3,4];case 4:this.frame=null,r.label=5;case 5:return e.length>0&&this.requestFrame(),[2]}}))}))},t.prototype.get=function(e){return this.getForPath(e.path)},t.prototype.getForPath=function(e){return this.index.hasOwnProperty(e)?this.index[e]:null},t.prototype.getAll=function(){return this.index},t}(Fm),K3="canvas",Y3="canvas",Z3=lm.plugins.canvas,X3=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.refNodeIds=new WeakMap,t}return m(t,e),t.prototype.canProcess=function(e){return e.extension===Y3},t.prototype.process=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r,o,a,s,l,c,u,h;return b(this,(function(p){switch(p.label){case 0:return[4,this.app.vault.cachedRead(e)];case 1:if(!(t=p.sent()))return[2,null];if(n=JSON.parse(t),!(i=n.nodes)||!Array.isArray(i))return[2,null];r=[],o={},a=this.refNodeIds,s=function(e){var t,n,i;return b(this,(function(s){switch(s.label){case 0:return"file"!==e.type?[3,1]:(r.push({file:e.file,subpath:e.subpath}),[3,6]);case 1:return"group"===e.type&&e.background?(r.push({file:e.background,subpath:""}),[3,6]):[3,2];case 2:if("text"!==e.type)return[3,6];t=e.text,s.label=3;case 3:return s.trys.push([3,5,,6]),[4,l.parseText(t)];case 4:return hS(n=s.sent(),(function(t){a.set(t,e.id)})),o[e.id]=n,[3,6];case 5:return i=s.sent(),console.error(i),[3,6];case 6:return[2]}}))},l=this,c=0,u=i,p.label=2;case 2:return c0&&new vx("Canvas updated ".concat(p," embed cards.")),[2]}}))}))},e}(),$3=function(){function e(e){this.app=e}return e.prototype.load=function(e){return e?this.app.loadLocalStorage("canvas-"+e.path):null},e.prototype.save=function(e,t){e&&this.app.saveLocalStorage("canvas-"+e.path,t)},e.prototype.handleRename=function(e,t){var n=this.app.loadLocalStorage("canvas-"+e);n&&(this.remove(e),this.save(t,n))},e.prototype.handleDelete=function(e){this.remove(e.path)},e.prototype.remove=function(e){this.app.saveLocalStorage("canvas-"+e,null)},e}(),J3=function(){function e(){var e=this;this.id="canvas",this.name=Z3.name(),this.description=Z3.desc(),this.defaultOn=!0,this.options={},this.renames=[],this.renameQueue=new Sx,this.requestProcessRename=wc((function(){var t=e.renames;e.renames=[],e.renameQueue.queue((function(){return y(e,void 0,void 0,(function(){var e,n,i,r,o,a,s,l,c,u,h,p,d,f;return b(this,(function(m){switch(m.label){case 0:for(d in e=t.map((function(e){return e[0]})),n=[],i=this.index.getAll())if(i.hasOwnProperty(d))for(r=i[d],o=0,a=r.embeds;o0&&(l.containerEl.removeClass("is-loading"),l.containerEl.addClass("mod-success"),l.setMessage(Z3.msgUpdatedLinks({count:u}))),[2]}}))}))}))}),500,!0)}return e.prototype.init=function(e,t){var n=this;this.app=e,this.plugin=t,t.registerViewType(K3,(function(e){return new e5(e,n)})),t.registerGlobalCommand({id:"canvas:new-file",name:Z3.commandCreateNewCanvas(),icon:"lucide-layout-dashboard",callback:function(){return y(n,void 0,void 0,(function(){var t,n,i,r;return b(this,(function(o){switch(o.label){case 0:return t=null===(r=this.app.workspace.getActiveFile())||void 0===r?void 0:r.path,n=this.getNewFileParent(t),[4,this.createNewCanvasFile(n)];case 1:return i=o.sent(),[4,e.workspace.getLeaf().openFile(i,{eState:{rename:"all"}})];case 2:return o.sent(),[2]}}))}))}}),Yl.isDesktopApp&&t.registerGlobalCommand({id:"canvas:export-as-image",name:Z3.actionExportPng(),icon:"lucide-image",checkCallback:function(e){var t=n.app.workspace.getActiveViewOfType(e5);return!!t&&(e||t.canvas.generateHDImage(),!0)}}),t.registerGlobalCommand({id:"canvas:jump-to-group",name:Z3.actionJumpToGroup(),icon:"lucide-move",checkCallback:function(e){var t=n.app.workspace.getActiveViewOfType(e5);return!!t&&(e||new _3(t,(function(e){var n=h4(e);t.canvas.zoomToBbox(n)})).open(),!0)}}),t.registerGlobalCommand({id:"canvas:convert-to-file",name:Z3.commandConvertToFile(),icon:"lucide-file-input",checkCallback:function(e){var t=n.app.workspace.getActiveViewOfType(e5);if(t){var i=t.canvas.selection;if(1===i.size){var r=i.values().next().value;if(r instanceof D3)return e||r.convertToFile(),!0}}return!1}}),t.registerRibbonItem(Z3.commandCreateNewCanvas(),"lucide-layout-dashboard",(function(t){return y(n,void 0,void 0,(function(){var n,i,r,o;return b(this,(function(a){switch(a.label){case 0:return n=null===(o=this.app.workspace.getActiveFile())||void 0===o?void 0:o.path,i=this.getNewFileParent(n),[4,this.createNewCanvasFile(i)];case 1:return r=a.sent(),[4,e.workspace.getLeaf(Ag.isModEvent(t)).openFile(r,{active:!0,eState:{rename:"all"}})];case 2:return a.sent(),[2]}}))}))})),this.index=t.addChild(new X3(e)),this.localDataManager=new $3(e)},e.prototype.onEnable=function(e,t){return y(this,void 0,void 0,(function(){var n,i,r,o;return b(this,(function(a){switch(a.label){case 0:return t.registerEvent(e.workspace.on("file-menu",this.onFileMenu,this)),t.registerEvent(e.vault.on("rename",this.onRename,this)),t.registerEvent(e.vault.on("delete",this.onDelete,this)),e.fileManager.linkUpdaters[Y3]=new Q3(e,this),t.register((function(){return delete e.fileManager.linkUpdaters[Y3]})),e.viewRegistry.registerExtensions([Y3],K3),e.embedRegistry.registerExtension(Y3,(function(e,t,n){return new n5(e,t,n)})),e.fileManager.registerFileParentCreator(Y3,this.getNewFileParent.bind(this)),n=this,r=(i=Object).assign,o=[{snapToObjects:!0,snapToGrid:!0}],[4,t.loadData()];case 1:return n.options=r.apply(i,o.concat([a.sent()])),t.addSettingTab(new i5(e,t,this)),[2]}}))}))},e.prototype.onDisable=function(e){e.viewRegistry.unregisterExtensions([Y3]),e.embedRegistry.unregisterExtension(Y3),e.fileManager.unregisterFileCreator(Y3)},e.prototype.onExternalSettingsChange=function(){return y(this,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return e=this,[4,this.plugin.loadData()];case 1:return e.options=t.sent()||{},this.rerenderCanvases(),[2]}}))}))},e.prototype.onUserDisable=function(e){e.workspace.detachLeavesOfType(K3)},e.prototype.onDelete=function(e){e instanceof zC&&e.extension===Y3&&this.localDataManager.handleDelete(e)},e.prototype.onRename=function(e,t){e instanceof zC&&(e.extension===Y3&&this.localDataManager.handleRename(t,e),this.renames.push([t,e.path]),this.requestProcessRename())},e.prototype.onFileMenu=function(e,t,n,i){var r=this;"file-explorer-context-menu"===n&&t instanceof qC&&e.addItem((function(e){return e.setSection("action-primary").setIcon("lucide-layout-dashboard").setTitle(Z3.actionNewCanvas()).onClick((function(e){return y(r,void 0,void 0,(function(){var n,i;return b(this,(function(r){switch(r.label){case 0:return[4,this.createNewCanvasFile(t)];case 1:return n=r.sent(),i=Ag.isModEvent(e),[4,this.app.workspace.getLeaf(i).openFile(n,{eState:{rename:"all"}})];case 2:return r.sent(),[2]}}))}))}))}))},e.prototype.getNewFileParent=function(e){var t=this.app.vault,n=this.options,i=n.newFileLocation;if("folder"===i){if(null!=(o=n.newFileFolderPath)&&(r=t.getAbstractFileByPath(o))instanceof qC)return r}else if(e&&"current"===i){var r,o=tu(e);if((r=t.getAbstractFileByPath(o))instanceof qC)return r}return t.getRoot()},e.prototype.createNewCanvasFile=function(e,t,n){return y(this,void 0,void 0,(function(){return b(this,(function(i){return[2,this.app.fileManager.createNewFile(e,t,Y3,n)]}))}))},e.prototype.saveOptions=function(){this.plugin.saveData(this.options)},e.prototype.rerenderCanvases=function(){for(var e=0,t=this.app.workspace.getLeavesOfType(K3);e0)){var l=uc(o,a[0][0]);s.child.previewMode.renderer.applyScrollDelayed(l,{center:!0,highlight:!0})}}},t.prototype.onResize=function(){this.canvas.onResize()},t.prototype.getViewType=function(){return K3},t.prototype.getViewData=function(){return dc(this.canvas.data)},t.prototype.setViewData=function(e,t){var n=this.canvas;if(t&&this.clear(),e?(n.setData(JSON.parse(e)),t&&(n.zoomToFitQueued=!0,n.onResize())):(n.createPlaceholder(),n.requestFrame()),t){var i=this.getLocalData();i&&i.hasOwnProperty("readonly")&&"boolean"==typeof i.readonly&&n.setReadonly(i.readonly)}},t.prototype.clear=function(){this.canvas.clear()},t.prototype.onOpen=function(){return y(this,void 0,Promise,(function(){return b(this,(function(t){return this.canvas.load(),[2,e.prototype.onOpen.call(this)]}))}))},t.prototype.onClose=function(){return y(this,void 0,Promise,(function(){return b(this,(function(t){switch(t.label){case 0:return[4,e.prototype.onClose.call(this)];case 1:return t.sent(),this.canvas.unload(),[2]}}))}))},t.prototype.handleCut=function(e){this.canvas.handleCut(e)},t.prototype.handleCopy=function(e){this.canvas.handleCopy(e)},t.prototype.handlePaste=function(e){this.canvas.handlePaste(e)},t.prototype.onPaneMenu=function(t,n){var i=this;e.prototype.onPaneMenu.call(this,t,n),Yl.isDesktopApp&&t.addItem((function(e){return e.setSection("action").setTitle(Z3.actionExportPng()).setIcon("lucide-image").onClick((function(){return i.canvas.generateHDImage()}))}))},t.prototype.getLocalData=function(){return this.plugin.localDataManager.load(this.file)},t.prototype.saveLocalData=function(){var e={};this.canvas.readonly&&(e.readonly=!0),0===Object.keys(e).length&&(e=null),this.plugin.localDataManager.save(this.file,e)},t}(SG);function t5(e,t){var n;try{n=JSON.parse(t)}catch(e){return}var i=n.nodes,r=n.edges;if(i&&0!==i.length){r||(r=[]);for(var o=createSvg("svg","canvas-minimap"),a={},s=[],l=0,c=i;l0){var r=new Set(i);e=function(e,t){for(var n=[],i=[],r=0,o=e;r0){var o=r.item.name.length/1e4;r.match.score+=o}}e.prototype.sortSuggestions.call(this,t)},t.prototype.renderSuggestion=function(e,t){t.addClass("mod-complex");var n=t.createDiv("suggestion-content"),i=t.createDiv("suggestion-aux"),r=n.createDiv("suggestion-title"),o=e.item,a=o.name,s=a.indexOf(": ");if(-1!==s){var l=a.slice(0,s),c=a.slice(s+2);uT(r.createSpan("suggestion-prefix"),l,e.match),uT(r.createSpan(),c,e.match,-(s+2))}else uT(r.createSpan(),a,e.match);var u=this.app,h=u.hotkeyManager.getHotkeys(o.id),p=u.hotkeyManager.getDefaultHotkeys(o.id);if(h)for(var d=0,f=h;d100&&(n.length=100),this.app.saveLocalStorage("recent-commands",n)},t}(tZ),l5=function(e){function t(t,n,i){var r=e.call(this,t,n)||this;return r.instance=i,r}return m(t,e),t.prototype.display=function(){var e=this,t=this.containerEl;t.empty(),new AT(t).setHeading().setName(lm.plugins.commandPalette.labelPinnedCommands());var n=[],i=function(){var t=n.map((function(e){return e.id}));0===t.length&&(t=null),e.instance.options.pinned=t,e.instance.saveSettings(e.plugin),e.display()},r=this.instance.options.pinned;if(r)for(var o=0,a=r;ot&&(n=i,t=r)})),n?[4,this.app.workspace.getLeaf().openFile(n,{active:!0})]:(new vx(d5.msgNoPrevious()),[2]);case 1:return i.sent(),[2]}}))}))},e.prototype.gotoNextExisting=function(e){return y(this,void 0,void 0,(function(){var t,n;return b(this,(function(i){switch(i.label){case 0:return t=Number.POSITIVE_INFINITY,n=null,this.iterateDailyNotes((function(i,r){r>e&&r1&&o.some((function(e){return e.file===t}))){var a=o.map((function(e){return e.file})),s=M1(a);Yl.isPhone&&i.addItem((function(e){return e.setSection("title").setIcon("lucide-files").setTitle(lm.nouns.fileWithCount({count:o.length})).setIsLabel(!0)})),i.addItem((function(e){return e.setSection("action-primary").setTitle(g5.actionNewFolderWithCount({count:s.length})).setIcon("lucide-folder-plus").onClick((function(){return y(n,void 0,void 0,(function(){var e,n;return b(this,(function(i){switch(i.label){case 0:return e=null,t&&(e=t instanceof qC?t:t.parent),[4,this.app.fileManager.createNewFolder(e)];case 1:return n=i.sent(),[4,this.afterCreate(n,!1)];case 2:return i.sent(),[4,E1(this.app,s,n)];case 3:return i.sent(),this.tree.clearSelectedDoms(),[2]}}))}))}))})),i.addItem((function(e){return e.setSection("danger").setTitle(g5.menuOptDelete()).setIcon("lucide-trash-2").setWarning(!0).onClick((function(){return y(n,void 0,void 0,(function(){var e,t,n;return b(this,(function(i){switch(i.label){case 0:e=0,t=a,i.label=1;case 1:return e0?t=Array.from(r).map((function(e){return e.file})):i instanceof y5&&t.push(i.file),o=0,a=t,l.label=1;case 1:return o=0&&(n.intervalMinutes=i,e.plugin.saveData(n))}))})),new AT(t).setName(A5.optionKeep()).setDesc(A5.optionKeepDescription()).addText((function(t){return t.setValue(String(n.keepDays)).onChange((function(t){var i=parseFloat(t);!isNaN(i)&&i>=1&&(n.keepDays=i,e.plugin.saveData(n))}))})),new AT(t).setName(A5.optionOpenHistory()).setDesc(A5.optionOpenHistoryDescription()).addButton((function(t){return t.setButtonText(A5.buttonViewHistory()).setCta().onClick((function(){e.instance.openModal()}))})),new AT(t).setName(A5.optionClear()).setDesc(A5.optionClearDescription()).addButton((function(t){return t.setButtonText(A5.buttonClearHistory()).setWarning().onClick((function(){new dx(e.app).setTitle(A5.optionClear()).setContent(createFragment((function(e){e.createEl("p",{cls:"mod-warning",text:A5.labelClearWarning()})}))).addButton("mod-warning",A5.buttonClearHistory(),(function(){e.instance.clearData(),new vx(A5.msgClearComplete())})).addCancelButton().open()}))}))}else new AT(t).setName(lm.interface.msgIndexedDbNotSupported()).setDesc(lm.interface.msgIndexedDbIOS())},t}(w0),I5=function(e){function t(t,n,i,r){var o=e.call(this,t,n)||this;return o.paths=[],o.modal=null,o.paths=i,o.modal=r,o}return m(t,e),t.prototype.renderSuggestion=function(e,t){t.setText(hu(e))},t.prototype.getSuggestions=function(e){e=e.toLowerCase();for(var t=[],n=0,i=this.paths;n?@^`{|}~\[\]\\\s]+)/g,_5=/\B\#(\[\[[\w \t]*?\]\])/g,G5=/\{\{\[\[(TODO|DONE)\]\]\}\}/g,K5=function(e){function t(t){var n=e.call(this,t)||this;n.converters=[];var i=n.contentEl,r=n.converters;n.titleEl.setText(H5.name());for(var o=n.conversionsEl=i.createDiv(),a=[{name:H5.optionRoamTagFixer(),description:H5.optionRoamTagFixerDescription(),convert:function(e,t,n,i){return n=n.replace(U5,(function(e,t,n){for(var r=!0,o=0;o57){r=!1;break}}return r?e:(i.replaced++,t+"[["+n+"]]")})),n.replace(_5,(function(e,t){return i.replaced++,t}))}},{name:H5.optionRoamHighlightFixer(),description:H5.optionRoamHighlightFixerDescription(),convert:function(e,t,n,i){return n.replace(q5,(function(e,t){return i.replaced++,"=="+t+"=="}))}},{name:H5.optionRoamTodoConverter(),description:H5.optionRoamTodoConverterDescription(Jf),convert:function(e,t,n,i){return n.replace(G5,(function(e,t){return i.replaced++,"TODO"===t?"[ ]":"[x]"}))}},{name:H5.optionBearHighlightFixer(),description:H5.optionBearHighlightFixerDescription(),convert:function(e,t,n,i){return n.replace(W5,(function(e,t){return i.replaced++,"=="+t+"=="}))}},{name:H5.zettelkastenLinkFixer(),description:H5.zettelkastenLinkFixerDescription(),convert:function(e,t,n,i){return n.replace(j5,(function(n,r){for(var o=0,a=e.vault.getAllLoadedFiles();o0),this.failedEl.setText(H5.labelFailed()),this.failedEl.setAttribute("data-label",e.failed.toString())},t.prototype.onClose=function(){this.onCancel(),this.onGoBack()},t.prototype.process=function(e){return y(this,void 0,void 0,(function(){var t,n,i,r,o,a,s,l,c,u,h,p,d,f,m,v;return b(this,(function(g){switch(g.label){case 0:n=(t=this).app,i=t.runnable,r={processed:0,modified:0,replaced:0,failed:0},o=n.vault.getMarkdownFiles(),a=[],g.label=1;case 1:g.trys.push([1,7,8,13]),s=function(){var t,o;return b(this,(function(s){switch(s.label){case 0:if(v=h.value,c=!1,t=v,i.isCancelled())return l.onFinish(r),[2,"break"];s.label=1;case 1:return s.trys.push([1,3,,4]),[4,n.vault.process(t,(function(i){for(var o=i,s=0,l=e;sn;)o--;else o=t.lineCount()-1;return{heading:s.heading.trim(),start:cC(n,0),end:cC(o,t.getLine(o).length)}},e.prototype.applyTemplate=function(e,t,n){return y(this,void 0,Promise,(function(){var i,r,o,a;return b(this,(function(s){switch(s.label){case 0:return(i=this.options.template)?(r=this.app,(o=r.metadataCache.getFirstLinkpathDest(i,""))?[4,r.vault.cachedRead(o)]:(new vx(Y5.msgFailToFetchTemplate({template:i})),[2,e])):[2,e];case 1:return(a=s.sent())?(a.contains("{{content}}")||(a+="\n\n{{content}}"),[2,h5(a,{fromTitle:t,newTitle:n,content:e})]):[2,e]}}))}))},e}(),X5=function(e){function t(t,n){var i=e.call(this,t)||this;return i.currentFile=null,i.emptyStateText=Y5.labelNoFiles(),i.composer=n,i.shouldShowNonImageAttachments=!1,i.shouldShowImages=!1,i.shouldShowNonAttachments=!1,i.setPlaceholder(Y5.promptSelectFileToMerge()),i.setInstructions([{command:"↑↓",purpose:Y5.instructionNavigate()},{command:"↵",purpose:Y5.instructionMerge()},{command:ql?"cmd ↵":"ctrl ↵",purpose:Y5.instructionCreateNew()},{command:"shift ↵",purpose:Y5.instructionMergeAtTop()},{command:"esc",purpose:Y5.instructionDismiss()}]),i.scope.register(["Shift"],"Enter",(function(e){return i.selectActiveSuggestion(e),!1})),i.scope.register(["Mod"],"Enter",(function(e){return i.selectActiveSuggestion(e),!1})),i}return m(t,e),t.prototype.setCurrentFile=function(e){this.currentFile=e},t.prototype.onChooseSuggestion=function(e,t){return y(this,void 0,void 0,(function(){var n,i,r,o,a,s,l,c,u,h,p,d,f,m=this;return b(this,(function(v){switch(v.label){case 0:if(n=this.app,i=this.inputEl.value,!Ag.isModifier(t,"Mod")&&e&&"unresolved"!==e.type)return[3,5];o=i,e&&"unresolved"===e.type&&(o=e.linktext),a=n.fileManager.getNewFileParent(this.currentFile.path,o),v.label=1;case 1:return v.trys.push([1,3,,4]),[4,n.fileManager.createNewMarkdownFile(a,o)];case 2:return r=v.sent(),[3,4];case 3:return s=v.sent(),new vx(s.toString()),[2];case 4:return[3,6];case 5:"bookmark"===e.type?"file"===e.item.type&&(l=n.vault.getAbstractFileByPath(e.item.path))instanceof zC&&(r=l):r=e.file,v.label=6;case 6:return r&&r!==this.currentFile?(c=this.currentFile,u=this.composer,h=!1,p=function(){return y(m,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return h&&(u.options.askBeforeMerging=!1,u.pluginInstance.saveData(u.options)),[4,this.mergeFile(r,c,t.shiftKey?"prepend":"append")];case 1:return e.sent(),[2]}}))}))},u.options.askBeforeMerging?((d=document.createDocumentFragment()).createEl("p",{text:Y5.labelConfirmFileMerge({file:c.basename,destination:r.basename})}),f=new dx(n).setTitle(Y5.labelMergeFile()).setContent(d),Yl.isMobile?f.addButton("mod-warning",lm.dialogue.buttonDeleteDoNotAskAgain(),(function(){return y(m,void 0,void 0,(function(){return b(this,(function(e){return[2,p()]}))}))})):f.addCheckbox(lm.dialogue.labelDoNotAskAgain(),(function(e){h=e.target.checked})),f.addButton("mod-warning",Y5.buttonMerge(),(function(){return p()})).addCancelButton().open()):p(),[2]):[2]}}))}))},t.prototype.mergeFile=function(e,t){return y(this,arguments,void 0,(function(e,t,n){var i,r,o,a,s=this;return void 0===n&&(n="append"),b(this,(function(l){switch(l.label){case 0:return i=this.app,r=i.fileManager,[4,i.vault.read(t)];case 1:return o=l.sent(),[4,this.composer.applyTemplate(o,t.basename,e.basename)];case 2:return a=l.sent(),[4,r.runAsyncLinkUpdate((function(i){return y(s,void 0,void 0,(function(){var o,s,l;return b(this,(function(c){switch(c.label){case 0:return[4,r.insertIntoFile(e,a,n)];case 1:return c.sent(),[4,r.trashFile(t)];case 2:if(c.sent(),i)for(o=0,s=i;o0)r=eE(a[0])}return r||(r=""),o.defaultValue=r,o.setPlaceholder(Y5.promptSelectFileToMerge()),o.setInstructions([{command:"↑↓",purpose:Y5.instructionNavigate()},{command:"↵",purpose:Y5.instructionAppend()},{command:ql?"cmd ↵":"ctrl ↵",purpose:Y5.instructionCreateNew()},{command:"shift ↵",purpose:Y5.instructionPrepend()},{command:"esc",purpose:Y5.instructionDismiss()}]),o.scope.register(["Shift"],"Enter",(function(e){return o.selectActiveSuggestion(e),!1})),o.scope.register(["Mod"],"Enter",(function(e){return o.selectActiveSuggestion(e),!1})),o}return m(t,e),t.prototype.onOpen=function(){e.prototype.onOpen.call(this),this.inputEl.value=this.defaultValue,this.updateSuggestions()},t.prototype.setCurrentFile=function(e){this.currentFile=e},t.prototype.onChooseSuggestion=function(e,t){return y(this,void 0,void 0,(function(){var n,i,r,o,a,s,l,c,u;return b(this,(function(h){switch(h.label){case 0:n=this.app,i=this.editor.getSelection(),r=Ag.isModifier(t,"Mod"),a=this.currentFile,h.label=1;case 1:return h.trys.push([1,7,,8]),!r&&e?[3,3]:[4,n.fileManager.createNewMarkdownFileFromLinktext(this.inputEl.value,a.path)];case 2:return o=h.sent(),[3,6];case 3:return"unresolved"!==e.type?[3,5]:[4,n.fileManager.createNewMarkdownFileFromLinktext(e.linktext,a.path)];case 4:return o=h.sent(),[3,6];case 5:"file"!==e.type&&"alias"!==e.type||(o=e.file),h.label=6;case 6:return[3,8];case 7:return s=h.sent(),new vx(s.toString()),[2];case 8:return[4,this.composer.applyTemplate(i,a.basename,o.basename)];case 9:return l=h.sent(),[4,n.fileManager.insertIntoFile(o,l,t.shiftKey?"prepend":"append")];case 10:return h.sent(),c=n.fileManager.generateMarkdownLink(o,a.path),"embed"===(u=this.composer.options.replacementText)?this.editor.replaceSelection("!"+c):"none"===u?this.editor.replaceSelection(""):this.editor.replaceSelection(c),[2]}}))}))},t}(X2),$5=function(e){function t(t,n,i){var r=e.call(this,t,n)||this;return r.instance=i,r}return m(t,e),t.prototype.display=function(){var e=this,t=this.containerEl;t.empty();var n=this.instance.options;new AT(t).setName(Y5.optionSplitReplacementText()).setDesc(Y5.optionSplitReplacementTextDescription()).addDropdown((function(t){return t.addOption("link",Y5.optionChoiceSplitReplacementTextLink()).addOption("embed",Y5.optionChoiceSplitReplacementTextEmbed()).addOption("none",Y5.optionChoiceSplitReplacementTextNone()).setValue(n.replacementText||"link").onChange((function(t){n.replacementText=t,e.plugin.saveData(n)}))})),new AT(t).setName(Y5.optionTemplateFile()).setDesc(Y5.optionTemplateFileDescription(Jf)).addText((function(t){t.setPlaceholder(lm.setting.filePathExamplePlaceholder()).setValue(n.template).onChange((function(t){n.template=t.trim(),e.plugin.saveData(n)})),new YT(e.app,t.inputEl)})),new AT(t).setName(Y5.optionConfirmFileMerge()).setDesc(Y5.optionConfirmFileMergeDescription()).addToggle((function(t){return t.setValue(n.askBeforeMerging).onChange((function(t){n.askBeforeMerging=t,e.plugin.saveData(n)}))}))},t}(w0),J5="outgoing-link",e8=lm.plugins.outgoingLinks,t8=function(){function e(){this.id="outgoing-link",this.name=e8.name(),this.description=e8.desc(),this.defaultOn=!0}return e.prototype.init=function(e,t){var n=this;this.app=e,this.plugin=t,t.registerViewType(J5,(function(e){return new n8(e)})),t.registerGlobalCommand({id:"outgoing-links:open",name:e8.actionShow(),icon:"lucide-link",callback:function(){n.app.workspace.ensureSideLeaf(J5,"right",{active:!0})}}),t.registerGlobalCommand({id:"outgoing-links:open-for-current",name:e8.actionOpenForCurrent(),icon:"lucide-link",checkCallback:this.openForCurrentFile.bind(this)})},e.prototype.onEnable=function(e,t){t.registerEvent(e.workspace.on("layout-ready",this.initLeaf,this)),t.registerEvent(e.workspace.on("file-menu",this.onFileMenu,this))},e.prototype.onUserEnable=function(){this.initLeaf()},e.prototype.onUserDisable=function(e){e.workspace.detachLeavesOfType(J5)},e.prototype.initLeaf=function(){this.app.workspace.ensureSideLeaf(J5,"right",{reveal:!1})},e.prototype.onFileMenu=function(e,t,n,i){var r=this;!Yl.isMobile&&t instanceof zC&&i&&"md"===t.extension&&"sidebar-context-menu"!==n&&e.addItem((function(e){return e.setSection("view.linked").setTitle(e8.actionOpen()).setIcon("links-going-out").onClick((function(){return y(r,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,this.app.workspace.splitLeafOrActive(i,"horizontal").setViewState({type:J5,active:!0,group:i,state:{file:t.path}})];case 1:return e.sent(),[2]}}))}))}))}))},e.prototype.openForCurrentFile=function(e){if(Yl.isPhone)return!1;var t=this.app.workspace,n=t.getActiveFile();if(n){if(!e)t.splitActiveLeaf("vertical").setViewState({type:J5,active:!0,group:t.activeLeaf,state:{file:n.path}});return!0}},e}(),n8=function(e){function t(t){var n=e.call(this,t)||this;n.icon="links-going-out";var i=n.contentEl.createDiv("outgoing-link-pane");return n.outgoingLink=n.addChild(new i8(n.app,i)),n.requestUpdate(),n}return m(t,e),t.prototype.getDisplayText=function(){return!this.file||Yl.isMobile?e8.name():e8("tab-title",{displayText:e.prototype.getDisplayText.call(this)})},t.prototype.getViewType=function(){return J5},t.prototype.canAcceptExtension=function(e){return!0},t.prototype.getState=function(){var t=e.prototype.getState.call(this);return t.linksCollapsed=this.outgoingLink.linksCollapsed,t.unlinkedCollapsed=this.outgoingLink.unlinkedCollapsed,t},t.prototype.setState=function(t,n){return y(this,void 0,Promise,(function(){var i,r;return b(this,(function(o){switch(o.label){case 0:return[4,e.prototype.setState.call(this,t,n)];case 1:return o.sent(),i=t.linksCollapsed,r=t.unlinkedCollapsed,isBoolean(i)?[4,this.outgoingLink.setLinksCollapsed(i,!1)]:[3,3];case 2:o.sent(),o.label=3;case 3:return isBoolean(r)?[4,this.outgoingLink.setUnlinkedCollapsed(r,!1)]:[3,5];case 4:o.sent(),o.label=5;case 5:return[2]}}))}))},t.prototype.onResize=function(){this.outgoingLink.onResize()},t.prototype.update=function(){this.leaf.updateHeader();var e=this.outgoingLink;e.file=this.file,e.tooltipPlacement=this.getSideTooltipPlacement(),e.update()},t}(i1),i8=function(e){function t(t,n,i){var r=e.call(this)||this;r.showSearch=!1,r.outgoingFile=null,r.linksCollapsed=!1,r.linksHeaderEl=null,r.linksCountEl=null,r.linksQueue=null,r.unlinkedFile=null,r.unlinkedCollapsed=!1,r.unlinkedHeaderEl=null,r.unlinkedCountEl=null,r.unlinksQueue=null,r.unlinkedDomInfo=new WeakMap,r.requestUpdate=wc(r.update.bind(r),50),r.app=t,i=i||n;var o=r.linksHeaderEl=n.createDiv("tree-item-self is-clickable");o.createSpan("tree-item-icon collapse-icon",(function(e){Km(e,"right-triangle")})),o.createDiv({cls:"tree-item-inner",text:e8.labelLinks()}),o.addEventListener("click",r.toggleLinksCollapsed.bind(r)),r.linksCountEl=o.createDiv("tree-item-flair-outer").createSpan("tree-item-flair"),r.outgoingLinkDom=new r8(n.createDiv("search-result-container")),r.outgoingLinkInfinityScroller=new DN(i),r.outgoingLinkInfinityScroller.rootEl=r.outgoingLinkDom;var a=r.unlinkedHeaderEl=n.createDiv("tree-item-self is-clickable");return a.createSpan("tree-item-icon collapse-icon",(function(e){Km(e,"right-triangle")})),a.createDiv({cls:"tree-item-inner",text:e8.labelUnlinkedMentions()}),a.addEventListener("click",r.toggleUnlinkedCollapsed.bind(r)),r.unlinkedCountEl=a.createDiv("tree-item-flair-outer").createSpan("tree-item-flair"),r.unlinkedDom=new FN(t,n.createDiv("search-result-container"),e8.labelUnlinkedMentions(),i),r.setUnlinkedCollapsed(!0,!1),r}return m(t,e),t.prototype.onload=function(){var e=this.app,t=e.vault;this.registerEvent(e.metadataCache.on("resolve",this.onFileResolved,this)),this.registerEvent(t.on("delete",this.onFileDeleted,this))},t.prototype.onResize=function(){this.outgoingLinkInfinityScroller.onResize(),this.unlinkedDom.onResize()},t.prototype.toggleLinksCollapsed=function(){this.setLinksCollapsed(!this.linksCollapsed,!0)},t.prototype.setLinksCollapsed=function(e,t){return y(this,void 0,void 0,(function(){return b(this,(function(n){switch(n.label){case 0:return e===this.linksCollapsed?[2]:(this.linksCollapsed=e,this.updateHeaderTooltip(this.linksHeaderEl,e),[4,bl(this.outgoingLinkDom.el,e,t)]);case 1:return n.sent(),e||this.outgoingLinkInfinityScroller.invalidateAll(),this.update(),this.app.workspace.requestSaveLayout(),this.outgoingLinkInfinityScroller.updateVirtualDisplay(),this.unlinkedDom.infinityScroll.updateVirtualDisplay(),[2]}}))}))},t.prototype.toggleUnlinkedCollapsed=function(){this.setUnlinkedCollapsed(!this.unlinkedCollapsed,!0)},t.prototype.setUnlinkedCollapsed=function(e,t){return y(this,void 0,void 0,(function(){return b(this,(function(n){switch(n.label){case 0:return e===this.unlinkedCollapsed?[2]:(this.unlinkedCollapsed=e,[4,this.setSectionCollapsed(this.unlinkedHeaderEl,this.unlinkedDom,e,t)]);case 1:return n.sent(),this.app.workspace.requestSaveLayout(),this.outgoingLinkInfinityScroller.updateVirtualDisplay(),this.unlinkedDom.infinityScroll.updateVirtualDisplay(),[2]}}))}))},t.prototype.updateHeaderTooltip=function(e,t){UO(e,t),mv(e,t?lm.interface.tooltip.clickToExpand():lm.interface.tooltip.clickToCollapse(),{placement:this.tooltipPlacement})},t.prototype.setSectionCollapsed=function(e,t,n,i){return y(this,void 0,void 0,(function(){return b(this,(function(r){switch(r.label){case 0:return this.updateHeaderTooltip(e,n),[4,t.toggle(n,i)];case 1:return r.sent(),this.update(),[2]}}))}))},t.prototype.onFileResolved=function(e){e===this.file&&(this.outgoingFile=null,this.unlinkedFile=null,this.update())},t.prototype.onFileDeleted=function(){this.unlinkedFile=null,this.requestUpdate()},t.prototype.update=function(){var e=this.file;this.outgoingFile!==e&&this.recomputeLinks(),this.unlinkedFile!==e&&this.recomputeUnlinked(),this.updateHeaderTooltip(this.linksHeaderEl,this.linksCollapsed),this.updateHeaderTooltip(this.unlinkedHeaderEl,this.unlinkedCollapsed)},t.prototype.recomputeLinks=function(){var e=this,t=this.linksQueue;t&&!t.runnable.isCancelled()&&(t.runnable.cancel(),this.outgoingFile=null),this.linksQueue=null;var n=this.linksCollapsed,i=this.linksCountEl;if(n)i.hide();else{var r=this.file;this.outgoingFile=r;var o=this.outgoingLinkDom,a=this.outgoingLinkInfinityScroller;if(a.queueCompute(),i.show(),i.setText("0"),r&&"md"===r.extension){var s=this.app.metadataCache,l=s.getFileCache(r);if(l){var c=[];if(hS(l,(function(e){c.push({linktext:e.link,pos:YE(e)?e.position.start.offset:0})})),c.sort((function(e,t){return e.pos-t.pos})),0!==c.length){for(var u=r.path,h=0,p=0,d=o.vChildren.children;ph)break;r.invalidated&&(t.splice(n,1),n--)}e.setChildren(t),a.queueCompute(),i.setText(String(e.children.length))};t=this.linksQueue=new Dx({onStart:function(){},onStop:function(){h=-1,f()},onCancel:function(){e.linksQueue=null}});var m=new Set;t.addList(c);var v=Px(t.generator(),{batchSize:20,beforePause:function(){f()}});y(e,void 0,void 0,(function(){var e,t,n,i,r,a,l,c,p,d,f,g,y,w,k,C;return b(this,(function(b){switch(b.label){case 0:b.trys.push([0,5,6,11]),e=!0,t=S(v),b.label=1;case 1:return[4,t.next()];case 2:if(n=b.sent(),y=n.done)return[3,4];if(C=n.value,e=!1,i=C.linktext,r=C.pos,a=cS(i),l=a.path,c=a.subpath,(p=s.getFirstLinkpathDest(l,u))||(l=vQ(l)),d=(p?p.path:l)+c,m.has(d))return[3,3];m.add(d),(f=new o8(this,i,l,c,u,p)).pos=r,h=r,o.vChildren.addChild(f),b.label=3;case 3:return e=!0,[3,1];case 4:return[3,11];case 5:return g=b.sent(),w={error:g},[3,11];case 6:return b.trys.push([6,,9,10]),e||y||!(k=t.return)?[3,8]:[4,k.call(t)];case 7:b.sent(),b.label=8;case 8:return[3,10];case 9:if(w)throw w.error;return[7];case 10:return[7];case 11:return[2]}}))}))}else o.vChildren.clear()}else o.vChildren.clear()}else o.vChildren.clear()}},t.prototype.recomputeUnlinked=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,w,C,E,M,x,T,D,A,P,L,I,O,F,N,R,B,V=this;return b(this,(function(H){switch(H.label){case 0:return(e=this.unlinksQueue)&&!e.runnable.isCancelled()&&(e.runnable.cancel(),this.unlinkedFile=null),this.unlinksQueue=null,n=(t=this).unlinkedCollapsed,i=t.unlinkedCountEl,n?(i.hide(),[2]):(r=this.file,o=this.unlinkedDom,s=(a=this).app,l=a.unlinkedDomInfo,this.unlinkedFile=r,i.show(),i.setText("0"),r&&"md"===r.extension?(c=new Map,u=function(e,t){e=e.toLowerCase();var n=c.get(e)||{text:e,files:[]};c.set(e,n),n.files.contains(t)||n.files.push(t)},h=s.metadataCache.getFileCache(r),[4,s.vault.cachedRead(r)]):(o.emptyResults(),[2]));case 1:for(p=H.sent(),d=s.vault.getMarkdownFiles(),f=0,m=d;f=c})))return"continue";var u=[r,c],h=y.renderMatch(e,o,s,i,t,u);y.unlinkedDomInfo.set(h,a),o.vChildren.addChild(h)},y=this;-1!==v;)g()},t.prototype.renderMatch=function(e,t,n,i,r,o){var a=this,s=this.app,l=pT(r,o),c=l[0],u=l[1],h=l[2],p=l[3],d=new ON(t,r,i,c,u,[o]);return d.onMatchRender=function(r,l){for(var c=l.createDiv({cls:"search-result-file-match-destination-file-container"}),u=function(n){var r=c.createDiv({cls:"search-result-file-match-destination-file"});r.createSpan({cls:"search-result-file-match-destination-file-icon"},(function(e){Km(e,"lucide-link")})),r.createSpan({cls:"search-result-file-match-destination-file-name",text:n.basename});var u="/"!==n.parent.path,h=e8.tooltipLinkFile();u&&(h=ru(n.path)+"\n\n"+h),mv(r,h),r.addEventListener("click",(function(r){return y(a,void 0,void 0,(function(){var a,c,u,h,p,d,f;return b(this,(function(m){switch(m.label){case 0:return r.preventDefault(),l.detach(),t.invalidate(),a=s.vault,c=o[0],u=o[1],n?[4,a.read(e)]:[2];case 1:return h=m.sent(),p=h.slice(c,u),d=s.fileManager.generateMarkdownLink(n,e.path,"",p),(null===(f=i.sections)||void 0===f?void 0:f.some((function(e){return"table"===e.type&&e.position.start.offset<=c&&e.position.end.offset>=u})))&&(d=d.replace("|","\\|")),h=h.slice(0,c)+d+h.slice(u),[4,a.modify(e,h)];case 2:return m.sent(),[2]}}))}))}))},h=0,p=n;h=c&&d<=f?[2]:[4,this.app.vault.read(this.file)];case 1:return m=g.sent(),-1===u&&(u=m.length),-1===h&&(h=m.length),v=s8(m.substring(c,u)),m=h=e.heading.position.end.line&&(t=e)}))}else if(e.file){var i=e.editor.listSelections().first(),r=Yk(this.app,e.file,i.head);bN(this.tree.root,(function(e){if(e.heading===r)return t=e,!0}))}return t},t.prototype.setHighlightedItem=function(e){var t;(null==e?void 0:e.selfEl)!==this.activeEl&&(null===(t=this.activeEl)||void 0===t||t.removeClass("is-active"),this.activeEl=null,e&&(this.activeEl=e.selfEl,this.activeEl.addClass("is-active"),this.followCursor&&this.tree.infinityScroll.scrollIntoView(e,20)))},t.prototype.getOwner=function(){var e=this.app.workspace.activeEditor;if(e&&e.file===this.file&&!(e instanceof JY&&e.subpath))return e;var t=this.findCorrespondingLeaf();return t&&t.view instanceof U0?t.view:null},t.prototype.onMarkdownScroll=function(e){if("preview"===e.getMode()&&e===this.getOwner()){var t=this.findActiveHeading(e);this.setHighlightedItem(t)}},t.prototype.onFileChanged=function(e){this.app.workspace.layoutReady&&e===this.file&&this.requestUpdate()},t.prototype.handleSelectionChange=function(e,t){if(t===this.getOwner()&&!(t instanceof U0&&t.dirty||t instanceof dY&&t.dirty)){var n=this.findActiveHeading(t);this.setHighlightedItem(n)}},t.prototype.createItemDom=function(e){var t=this,n=new l8(this,this.tree,e);this.app.dragManager.handleDrag(n.selfEl,(function(e){return t.app.dragManager.updateSource([n.selfEl],"is-being-dragged"),jC(e.dataTransfer,n.heading.heading),{source:"outline",type:"heading",icon:"heading-glyph",title:n.heading.heading,heading:n.heading,file:t.file}}));var i=n.selfEl;return i.addEventListener("mouseover",(function(n){if(Lc(n,i)&&!qc(n)){var r=t.file.path+"#"+gS(e.heading);t.app.workspace.trigger("hover-link",{event:n,source:"outline",hoverParent:t,targetEl:i,linktext:r})}})),n},t.prototype.update=function(){var e=this;this.file!==this.cachedFile&&(this.activeEl=null,this.cachedHeadingDom=[],this.cachedFile=this.file),this.tree.root.vChildren.clear();var t=this.getHeadings();if(t.length>0){var n=this.cachedHeadingDom;this.emptyEl.detach(),UG(n,t,(function(e,t){var n=e.heading,i=n.level===t.level&&n.heading===t.heading;return i&&(e.heading=t,e.info.computed=!1,e.vChildren.hasChildren()&&e.vChildren.clear()),i}),(function(t){return e.createItemDom(t)}));for(var i=[],r=0,o=n;r=s.level;)i.pop(),l=i.last();i.push(a),l?(l.vChildren.addChild(a),l.setCollapsible(!0)):this.tree.root.vChildren.addChild(a)}}else this.contentEl.appendChild(this.emptyEl);var c=this.findActiveHeading(this.getOwner());this.setHighlightedItem(c),this.filterSearchResults(),this.tree.infinityScroll.queueCompute()},t.prototype.filterSearchResults=function(){var e,t=this,n=!!(null===(e=this.searchComponent)||void 0===e?void 0:e.getValue());bN(this.tree.root,(function(e){if(n){var i=t.searchQuery.matchContent(e.heading.heading);if(i){e.innerEl.empty(),hT(e.innerEl,e.headingText,i.content);for(var r=e;r;)r.el.show(),r=r.parent}else e.innerEl.setText(e.headingText),e.el.hide()}else e.innerEl.setText(e.headingText),e.el.show()})),this.tree.infinityScroll.invalidateAll()},t.prototype.getHeadings=function(){var e=this.file;if(!e||"md"!==e.extension)return[];var t=this.app.metadataCache.getFileCache(e);if(!t)return[];var n=t.headings;return n&&0!==n.length?n:[]},t.prototype.setFollowCursor=function(e){e!==this.followCursor&&(this.followCursor=e,this.followCursorButtonEl.toggleClass("is-active",e))},t.prototype.onToggleFollowCursor=function(){if(this.setFollowCursor(!this.followCursor),this.followCursor){var e=this.findActiveHeading(this.getOwner());e&&this.tree.infinityScroll.scrollIntoView(e,20)}this.app.workspace.requestSaveLayout()},t.prototype.onToggleShowSearch=function(){this.setShowSearch(!this.isShowingSearch),this.isShowingSearch&&this.searchComponent.inputEl.focus()},t.prototype.showSearch=function(){this.setShowSearch(!0),this.searchComponent.inputEl.focus()},t.prototype.setShowSearch=function(e){e!==this.isShowingSearch&&(this.isShowingSearch=e,this.searchComponent.containerEl.toggle(e),this.showSearchButtonEl.toggleClass("is-active",e),e||(this.searchComponent.setValue(""),this.updateSearch()),this.app.workspace.requestSaveLayout())},t.prototype.updateSearch=function(){var e=this.searchComponent.getValue(),t=this.searchQuery;if(!(!t&&!e||t&&t.query===e))try{if(e){var n=new uN(this.app,e,!1);n.matcher?this.searchQuery=n:this.searchQuery=null}else this.searchQuery=null;this.filterSearchResults()}catch(e){console.log(e)}},t}(i1),h8=function(){function e(){this.id="page-preview",this.name=lm.plugins.pagePreview.name(),this.description=lm.plugins.pagePreview.desc(),this.defaultOn=!0,this.overrides={}}return e.prototype.init=function(e,t){this.app=e},e.prototype.onEnable=function(e,t){return y(this,void 0,void 0,(function(){var n,i,r,o,a;return b(this,(function(s){switch(s.label){case 0:return t.registerEvent(e.workspace.on("link-hover",this.onLinkHover,this)),t.registerEvent(e.workspace.on("hover-link",this.onHoverLink,this)),n=this,r=(i=Object).assign,o=[{}],[4,t.loadData()];case 1:return n.overrides=r.apply(i,o.concat([s.sent()])),t.addSettingTab(new p8(e,t,this)),a=this.app.loadLocalStorage("page-preview-unfold-properties"),JY.collapseProperties=!a,[2]}}))}))},e.prototype.onHoverLink=function(e){var t=this,n=e.event,i=e.source,r=e.hoverParent,o=e.targetEl,a=e.linktext,s=e.sourcePath,l=void 0===s?"":s,c=e.state;if(!qc(n)){var u=e.event.relatedTarget;if(!u||!u.instanceOf(HTMLElement)||u.isShown()){var h=!0;if(Object.hasOwn(this.overrides,i)?h=this.overrides[i]:this.app.workspace.hoverLinkSources.hasOwnProperty(i)&&(h=this.app.workspace.hoverLinkSources[i].defaultMod),D_(n),h&&!Ag.isModifier(n,"Mod")){if(!o)return;var p=n.doc,d=!1,f=function(){d=!0,v.cancel(),p.removeEventListener("keydown",m),p.removeEventListener("mouseover",g),p.removeEventListener("mouseleave",y),p.removeEventListener("mousemove",v),p.removeEventListener("click",f)},m=function(e){d||(!o||p.body.contains(o)?e.key.startsWith("Arrow")||1===e.key.length?f():Ag.isModifier(e,"Mod")&&(f(),t.onLinkHover(r,o,a,l,c)):f())},v=wc((function(){return f()}),2e3,!0),g=function(e){d||o===e.target||o.contains(e.target)||f()},y=function(e){d||e.target===p&&f()};return p.addEventListener("keydown",m),p.addEventListener("mouseleave",y),p.addEventListener("mouseover",g),p.addEventListener("mousemove",v),void p.addEventListener("click",f)}this.onLinkHover(r,o,a,l,c)}}},e.prototype.onLinkHover=function(e,t,n,i,r){return y(this,void 0,void 0,(function(){var o,a,s=this;return b(this,(function(l){switch(l.label){case 0:return(o=e.hoverPopover)&&o.state!==h_.Hidden&&t&&o.targetEl===t?[2]:[4,dK.create({app:this.app,hoverParent:e,targetEl:t,linktext:n,sourcePath:i,state:r})];case 1:return(a=l.sent())&&a.register((function(){s.app.saveLocalStorage("page-preview-unfold-properties",!JY.collapseProperties)})),[2]}}))}))},e}(),p8=function(e){function t(t,n,i){var r=e.call(this,t,n)||this;return r.instance=i,r}return m(t,e),t.prototype.display=function(){var e=this,t=this.containerEl;t.empty(),new AT(t).setHeading().setName(lm.plugins.pagePreview.labelRequireMod({key:Mg.Mod}));var n=this.instance.overrides,i=this.app.workspace.hoverLinkSources,r=function(r){var o=i[r],a=n[r];Object.hasOwn(n,r)||(a=o.defaultMod),new AT(t).setName(o.display).addToggle((function(t){return t.setValue(a).onChange((function(t){t===o.defaultMod?delete n[r]:n[r]=t,e.plugin.saveData(n)}))}))};for(var o in i)r(o)},t}(w0),d8=lm.plugins.properties,f8="all-properties",m8="file-properties",v8=[["alphabetical","alphabeticalReverse"],["frequency","frequencyReverse"]],g8={alphabetical:d8.labelSortByNameAToZ,alphabeticalReverse:d8.labelSortByNameZToA,frequency:d8.labelSortByFrequencyHighToLow,frequencyReverse:d8.labelSortByFrequencyLowToHigh},y8=function(){function e(){this.id="properties",this.name=d8.name(),this.description=d8.desc(),this.defaultOn=!0}return e.prototype.init=function(e,t){var n=this;this.app=e,this.plugin=t,t.registerStatusBarItem(),t.registerGlobalCommand({id:"properties:open",name:d8.actionShow(),icon:"lucide-archive",callback:function(){var e=Yl.isMobile?"left":"right";n.app.workspace.ensureSideLeaf(f8,e,{active:!0})}}),t.registerGlobalCommand({id:"properties:open-local",name:d8.actionShowLocal(),icon:"lucide-info",callback:function(){var e=n.app.workspace.getActiveFile();n.ensurePropertiesView(e)}}),t.registerViewType(f8,(function(e){return new w8(e)})),t.registerViewType(m8,(function(e){return new k8(e,n)}))},e.prototype.initLeaf=function(){var e=Yl.isMobile?"left":"right";this.app.workspace.ensureSideLeaf(f8,e,{reveal:!1})},e.prototype.onUserEnable=function(){this.initLeaf()},e.prototype.updateStatusbar=function(e){var t=this.plugin.statusBarEl;t&&(t.setText(lm.nouns.propertiesWithCount({count:e})),t.toggle(e>0))},e.prototype.onFileOpen=function(e){var t,n=0;if(e){var i=this.app.metadataCache.getFileCache(e);i&&(n=Object.keys(null!==(t=i.frontmatter)&&void 0!==t?t:{}).length)}this.updateStatusbar(n)},e.prototype.onCacheChanged=function(e,t,n){var i;if(e===this.app.workspace.getActiveFile()){var r=Object.keys(null!==(i=n.frontmatter)&&void 0!==i?i:{}).length;this.updateStatusbar(r)}},e.prototype.onEnable=function(e,t){var n=this;t.registerEvent(e.workspace.on("file-open",this.onFileOpen,this)),t.registerEvent(e.workspace.on("layout-ready",this.initLeaf,this)),t.registerEvent(e.workspace.on("file-menu",this.onFileMenu,this)),t.registerEvent(e.metadataCache.on("changed",this.onCacheChanged,this));var i=this.plugin.statusBarEl;i&&(i.addClass("mod-clickable"),i.addEventListener("click",(function(){var e=n.app.workspace.getActiveFile();n.ensurePropertiesView(e)}))),e.workspace.registerHoverLinkSource("properties",{display:this.name,defaultMod:!0})},e.prototype.onDisable=function(e,t){e.workspace.unregisterHoverLinkSource("properties")},e.prototype.onFileMenu=function(e,t,n,i){var r=this;!Yl.isMobile&&t instanceof zC&&i&&"md"===t.extension&&"sidebar-context-menu"!==n&&e.addItem((function(e){return e.setSection("view.linked").setTitle(d8.actionOpenLocal()).setIcon("lucide-info").onClick((function(){return y(r,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,this.app.workspace.splitLeafOrActive(i,"horizontal").setViewState({type:m8,active:!0,group:i,state:{file:t.path}})];case 1:return e.sent(),[2]}}))}))}))}))},e.prototype.ensurePropertiesView=function(e){return y(this,void 0,Promise,(function(){var t,n,i,r,o,a;return b(this,(function(s){switch(s.label){case 0:for(n=this.app.workspace.getLeavesOfType(m8),i=0,r=n;i1&&this.view.tree.selectedDoms.has(this)){var a=Array.from(this.view.tree.selectedDoms),s=a.every((function(e){return!Object.hasOwn(ox,e.property.name)}));o.addItem((function(e){return e.setSection("action.changeType").setIcon("lucide-loader").setDisabled(!s).setTitle(d8.optAutomatic()).onClick((function(){for(var e=0,t=a;e0){this.emptyStateEl.detach();var i=this.sortOrder,r=null;if("alphabetical"===i)r=function(e,t){return aC(e.property.name,t.property.name)};else if("alphabeticalReverse"===i)r=function(e,t){return-aC(e.property.name,t.property.name)};else{var o="frequencyReverse"===i?-1:1;r=function(e,t){var i,r,a,s,l=e.property.name.toLowerCase(),c=t.property.name.toLowerCase(),u=null!==(r=null===(i=n[l])||void 0===i?void 0:i.occurrences)&&void 0!==r?r:0,h=null!==(s=null===(a=n[c])||void 0===a?void 0:a.occurrences)&&void 0!==s?s:0;return u===h?aC(l,c):o*(h-u)}}for(var a=0,s=Object.entries(n);a0)for(new AT(i).setName(R8.labelSitesSharedWithYou()).setHeading(),C=i.createDiv("site-list-container"),E=function(e){C.createDiv("site-list-item list-item",(function(t){var i=e.id,a=d[i]||i;t.createDiv({cls:"list-item-part mod-extended",text:a}),t.createEl("button",{text:R8.buttonChoose()},(function(t){t.addEventListener("click",(function(){return y(T,void 0,void 0,(function(){return b(this,(function(t){switch(t.label){case 0:return[4,r.setup(i,e.host)];case 1:return t.sent(),[4,n.openReviewChanges()];case 2:return t.sent(),[2]}}))}))}))})),t.createDiv("clickable-icon",(function(t){Km(t,"lucide-x"),mv(t,R8.tooltipLeaveSiteSharing()),t.addEventListener("click",(function(){var t=document.createDocumentFragment();t.createEl("p",{cls:"setting-message mod-warning",text:R8.labelLeaveSiteConfirmationDetails()}),t.createEl("p",{text:R8.labelLeaveSiteConfirmationDetails_2()}),new dx(o).setTitle(R8.labelLeaveSiteConfirmation({site:a})).setContent(t).addButton("mod-warning",R8.buttonLeave(),(function(){n.deleteSiteShare(i,e.share_uid)})).addCancelButton().open()}))}))}))},S=0,M=c;S0){e.appendText(lm.plugins.publish.optionCurrentlyIncludedFolders());for(var n=e.createEl("ul"),i=0,r=t;i0){e.appendText(lm.plugins.sync.optionCurrentlyExcludedFolders());for(var n=e.createEl("ul"),i=0,r=t;i0&&n===t;i.checked=r,i.indeterminate=!r&&n>0,this.selfEl.toggleClass("is-selected",r)},t.prototype.applyQuery=function(e){for(var t=!1,n=0,i=this.children;n0;){var t=e.pop();t.children&&(t.toggleCollapsed(!1),e.push.apply(e,t.children))}},t.prototype.checkAll=function(){for(var e=0,t=this.children;e0)},t.prototype.addChild=function(e){var t=tu(e.path);if(t){var n=this.folders,i=n[t];i||(i=n[t]=new Y8(this,t),this.addChild(i)),i.children.push(e),e.parent=i}else this.addRoot(e)},t.prototype.createItem=function(e){var t=new K8(this,e);this.files[e.path]=t,this.addChild(t)},t.prototype.render=function(){this.children.sort(G8),e.prototype.render.call(this),this.updateChecked()},t.prototype.applyQuery=function(e){for(var t=0,n=this.children;t0){for(d in a.setCollapsed(!0,!1),s.setCollapsed(!0,!1),o.files)o.files.hasOwnProperty(d)&&"deleted"!==(p=o.files[d]).diff.type&&p.setChecked(!0);for(d in o.folders)o.folders.hasOwnProperty(d)&&o.folders[d].updateChecked()}else o.setCollapsed(!0,!1),a.setCollapsed(!0,!1);return o.render(),a.collapseAll(),a.render(),s.collapseAll(),s.render(),[2,e.prototype.show.call(this)]}}))}))},t.prototype.uploadChanges=function(){return y(this,void 0,void 0,(function(){var e,t,n,i;return b(this,(function(r){switch(r.label){case 0:for(n in e=this.pathToDiffMap,t=[],e)e.hasOwnProperty(n)&&(i=e[n]).checked&&t.push(i);return 0===t.length?(new vx(R8.msgSelectAtLeastOneFile()),[2]):[4,this.parentModal.uploadChanges(t)];case 1:return r.sent(),[2]}}))}))},t}(H8),Q8=function(e){function t(t){var n=e.call(this,t)||this;return n.title=R8.labelUploadChanges(),n.changesContainer=null,n.doneButton=null,n.successMessageEl=null,n.siteLinkEl=null,n.runnable=null,n.changes=[],n.pathToEl={},n.changesContainer=n.el.createDiv("list-item-parent upload-progress-container"),n.successMessageEl=n.el.createDiv({},(function(e){e.createEl("p",{text:R8.labelClearCache()}),e.createEl("p",{text:R8.labelVisitSite()},(function(e){return y(n,void 0,void 0,(function(){return b(this,(function(t){return this.siteLinkEl=e.createEl("a"),this.siteLinkEl.setAttribute("target","_blank"),[2]}))}))}))})),n.successMessageEl.hide(),n.el.createDiv("modal-button-container",(function(e){n.doneButton=e.createEl("button",{cls:"mod-cta",text:R8.buttonDone()},(function(e){e.addEventListener("click",(function(){n.runnable?(n.runnable.cancel(),n.runnable=null):n.parentModal.close()}))})),e.createEl("button",{text:R8.buttonGoBack()},(function(e){e.addEventListener("click",(function(){n.runnable&&n.runnable.cancel(),n.parentModal.openReviewChanges()}))}))})),n}return m(t,e),t.prototype.addChanges=function(e){this.changes=e},t.prototype.show=function(){return y(this,void 0,void 0,(function(){var t,n,i,r,o;return b(this,(function(a){switch(a.label){case 0:return this.runnable&&this.runnable.cancel(),[4,e.prototype.show.call(this)];case 1:for(a.sent(),this.successMessageEl.hide(),this.changesContainer.removeClass("is-finished"),this.doneButton.addClass("mod-warning"),this.doneButton.setText(R8.buttonStop()),this.changesContainer.empty(),this.pathToEl={},t=function(e){n.pathToEl[e.path]=n.changesContainer.createDiv("publish-upload-item list-item",(function(t){t.createDiv("list-item-part",(function(e){Km(e,"lucide-file")})),t.createDiv({cls:"list-item-part mod-extended publish-upload-item-title",text:ru(e.path)}),t.createDiv("list-item-part",(function(t){var n=t.createSpan("flair");"new"===e.type||"changed"===e.type?n.setText(R8.labelStatusToPublish()):"deleted"===e.type&&n.setText(R8.labelStatusToDelete())}))}))},n=this,i=0,r=this.changes;i'.concat(R8.labelCustomDomainLinkName(),"")}),this.el.createEl("p",{cls:"u-muted"},(function(e){e.innerHTML=o})),this.el.createDiv("modal-button-container",(function(e){e.createEl("button",{text:R8.buttonUpdateCustomDomain(),cls:"mod-cta"},(function(e){e.addEventListener("click",(function(){return y(a,void 0,void 0,(function(){var e,t,n,o;return b(this,(function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),e=i.getValue(),t=r.getValue(),[4,this.parentModal.plugin.apiCustomUrl(e,t)];case 1:return a.sent(),[3,3];case 2:return n=a.sent(),this.parentModal.handleError(n),[2];case 3:return(o=this.parentModal).openSection(o.siteOptionsSection),[2]}}))}))}))})),e.createEl("button",{text:R8.buttonGoBack()},(function(e){e.addEventListener("click",(function(){return y(a,void 0,void 0,(function(){var e;return b(this,(function(t){return(e=this.parentModal).openSection(e.siteOptionsSection),[2]}))}))}))}))})),[2]}}))}))},t}(H8),n7=function(e){function t(t,n,i){var r=e.call(this,t)||this;return r.shares=[],r.siteId=i,r.setTitle(R8.labelManageSharing({name:n})),r.addButton("",lm.dialogue.buttonDone(),(function(){return r.close()})),r.display(),r}return m(t,e),t.prototype.display=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o,a,s,l=this;return b(this,(function(c){switch(c.label){case 0:this.contentEl.empty(),c.label=1;case 1:return c.trys.push([1,3,,4]),[4,FJ(this.contentEl,(function(){return e=V$.token,t=l.siteId,f$("/publish/share/list",{token:e,site_uid:t});var e,t}))];case 2:return e=c.sent(),this.shares=e.shares,[3,4];case 3:return t=c.sent(),new vx(t.message),[2];case 4:if(this.shares.length>0)for(this.contentEl.createEl("p",{cls:"u-muted",text:R8.labelSharingWithUsers()}),n=this.contentEl.createDiv(),i=function(e){n.createDiv("list-item",(function(t){e.name?(t.createDiv({cls:"list-item-part",text:e.name}),t.createDiv({cls:"list-item-part mod-extended",text:"<".concat(e.email,">")})):t.createDiv({cls:"list-item-part mod-extended",text:e.email}),e.accepted||t.createDiv({cls:"list-item-part"},(function(e){e.createSpan({cls:"u-muted",text:R8.labelInvitePending()})})),t.createDiv("list-item-part",(function(t){Km(t,"lucide-x"),mv(t,R8.tooltipRemoveUser()),t.addEventListener("click",(function(){return y(l,void 0,void 0,(function(){var t,n=this;return b(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,FJ(this.contentEl,(function(){return F$(V$.token,n.siteId,e.uid)}))];case 1:return i.sent(),[3,3];case 2:return t=i.sent(),new vx(t.message),[3,3];case 3:return[4,this.display()];case 4:return i.sent(),[2]}}))}))}))}))}))},r=0,o=this.shares;r52428800)throw new c7("TOOLARGE","Failed to upload file over limit of 50mb.");return[4,this.getHash(e)];case 1:return t=r.sent(),[4,this.vault.readBinary(e)];case 2:return n=r.sent(),i={"obs-token":V$.token,"obs-id":this.siteId,"obs-path":encodeURIComponent(e.path),"obs-hash":t},[2,this.apiRequest({method:"POST",url:this.getHost()+"/api/upload",headers:i,data:n})]}}))}))},e.prototype.apiDownloadFile=function(e){return y(this,void 0,Promise,(function(){var t;return b(this,(function(n){switch(n.label){case 0:return t={id:this.siteId,token:V$.token,path:e},[4,fetch(this.getHost()+"/api/download",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})];case 1:return[2,n.sent().arrayBuffer()]}}))}))},e.prototype.getCurrentSlug=function(){return y(this,void 0,Promise,(function(){var e;return b(this,(function(t){switch(t.label){case 0:e=this.siteId,t.label=1;case 1:return t.trys.push([1,3,,4]),[4,this.apiGetSlugs([e])];case 2:return[2,t.sent()[e]];case 3:return t.sent(),[2,e];case 4:return[2]}}))}))},e.prototype.getHash=function(e){return y(this,void 0,Promise,(function(){var t;return b(this,(function(n){return(t=this.getHashFromMetadataCache(e))?[2,t]:[2,this.computeHash(e)]}))}))},e.prototype.getPublishFlag=function(e){var t=this.app.metadataCache.getFileCache(e);if(!t)return null;var n=zE(t.frontmatter,"publish");if(null!=n){if(String.isString(n)){if("false"===(n=n.toLowerCase())||"no"===n)return!1;if("true"===n||"yes"===n)return!0}return!!n}for(var i=0,r=this.excludes;i0?[4,Promise.all(g)]:[3,4];case 3:b.sent(),b.label=4;case 4:return[4,n];case 5:return b.sent(),(this.deck=new Reveal(s,{embedded:!0,keyboardCondition:"focused",controlsTutorial:!1,overview:!1})).initialize(),setTimeout((function(){s.dispatchEvent(new PointerEvent("pointerdown"))}),0),[3,7];case 6:return y=b.sent(),console.error(y),this.close(),[3,7];case 7:return[2]}}))}))},t.prototype.close=function(){this.destroy()},t.prototype.destroy=function(){this.app.keymap.popScope(this.scope);var e=this,t=e.deck,n=e.containerEl,i=e.revealCssEl,r=e.themeCssEl;n&&(n.detach(),this.containerEl=null),i&&(i.detach(),this.revealCssEl=null),r&&(r.detach(),this.themeCssEl=null),t&&t.destroy()},t}(Fm),S7=lm.plugins.sync,M7=lm.plugins.publish,x7=36e5,T7=function(e){function t(t,n,i){var r=e.call(this,t,n)||this;return r.vaults=[],r.sync=i,r}return m(t,e),t.prototype.display=function(){var e=this,t=this,n=t.app,i=t.sync,r=t.containerEl;if(r.empty(),Yl.supportsIndexedDb)if(i.initialized){var o=i.getRemoteVaultId(),a=i.getRemoteVaultName();if(V$.token){var s="",l=n.vault.adapter;if(l instanceof Cu)(c=l.getBasePath().toLowerCase()).contains("dropbox")?s="Dropbox":c.contains("com~apple~clouddocs")||c.contains("icloud~")?s="iCloud":c.contains("onedrive")&&(s="OneDrive");else l instanceof AQ&&"ICLOUD"===l.fs.dir&&(s="iCloud");if(s)new AT(r).setName(S7.labelThirdPartySyncWarning()).setDesc(createFragment((function(e){e.createSpan({cls:"mod-warning",text:S7.labelThirdPartySyncWarningDesc({service:s})}),e.createEl("br"),e.createEl("a",{href:"https://help.obsidian.md/sync/switch",text:lm.interface.buttonLearnMore(),attr:{target:"_blank"}})})));else if(Yl.isMacOS&&l instanceof Cu){var c=l.getBasePath().toLowerCase(),u=window.electron.ipcRenderer.sendSync("documents-dir"),h=window.electron.ipcRenderer.sendSync("desktop-dir");(c.startsWith(u.toLowerCase())||c.startsWith(h.toLowerCase()))&&new AT(r).setDesc(createFragment((function(e){e.createSpan({text:S7.labelIcloudDriveWarning()}),e.createEl("br"),e.createEl("a",{href:"https://help.obsidian.md/sync/switch",text:lm.interface.buttonLearnMore(),attr:{target:"_blank"}})})))}if(!o&&!V$.token){var p=OJ(r);y(e,void 0,void 0,(function(){var e,t=this;return b(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,C$(V$)];case 1:return n.sent(),this.display(),[2];case 2:return e=n.sent(),p.hide(),"Not logged in"===e.message?(this.displayRequireLogin(),[2]):(r.createEl("p",{text:lm.plugins.publish.msgNetworkError()}).createDiv("modal-button-container",(function(e){e.createEl("button",{cls:"mod-cta",text:S7.buttonRetry()},(function(e){e.addEventListener("click",(function(){t.display()}))}))})),[3,3]);case 3:return[2]}}))}))}var d=new AT(r).setName(S7.optionRemoteVault());if(a?(d.setDesc(S7.optionRemoteVaultDescConnected({name:a})),d.addButton((function(t){return t.setButtonText(S7.buttonDisconnectFromRemoteVault()).setClass("mod-destructive").onClick((function(){return y(e,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,this.sync.unsetup()];case 1:return e.sent(),[4,this.display()];case 2:return e.sent(),[2]}}))}))}))}))):d.setDesc(S7.optionRemoteVaultDescNotConnected()),d.addButton((function(e){return e.setButtonText(S7(o?"button-manage-remote-vault":"button-choose-remote-vault")).onClick((function(){i.openChooseRemoteVaultModal()}))})),o){var f;i.getPause()?new AT(r).setName(S7.optionSyncStatus()).setDesc(S7.optionSyncStatusDescPaused()).addButton((function(t){return t.setButtonText(S7.buttonResume()).setCta().onClick((function(){i.setPause(!1),i.requestSync(),e.display()}))})):new AT(r).setName(S7.optionSyncStatus()).setDesc(S7.optionSyncStatusDescRunning()).addButton((function(t){return t.setButtonText(S7.buttonPause()).onClick((function(){i.setPause(!0),e.display()}))})),-1!==i.encryptionVersion&&i.encryptionVersion<3&&new AT(r).setName(S7.labelUpgradeVaultEncryption()).setDesc(S7.labelUpgradeVaultEncryptionDesc()).addButton((function(t){return t.setButtonText(S7.labelUpgradeVault()).onClick((function(){new O7(e.app,e.sync).open()}))})),new AT(r).setName(S7.optionDeviceName()).setDesc(S7.optionDeviceNameDesc()).addText((function(e){return e.setPlaceholder(i.getDefaultDeviceName()).setValue(i.deviceName).onChange((function(e){i.deviceName=e,i.forceSaveData()}))})),new AT(r).setName(S7.labelResolveConflicts()).setDesc(S7.labelResolveConflictsDesc()).addDropdown((function(e){return e.addOption("merge",S7.optionAutomaticMerge()).addOption("conflict",S7.optionConflictFile()).setValue(i.conflictAction).onChange((function(e){e===i.conflictAction||"merge"!==e&&"conflict"!==e||(i.conflictAction=e,i.forceSaveData())}))})),new AT(r).setName(S7.optionViewDeletedFiles()).setDesc(S7.optionViewDeletedFilesDesc()).addButton((function(e){return e.setButtonText(S7.buttonView()).onClick((function(){return i.showDeletedFiles()}))})).addButton((function(e){return e.setButtonText(S7.buttonBulkRestore()).onClick((function(){return i.showDeletedFiles(!0)}))})),new AT(r).setName(S7.optionSyncLog()).setDesc(S7.optionSyncLogDesc()).addButton((function(e){return e.setButtonText(S7.buttonView()).onClick((function(){return i.showSyncLog()}))}));var m=function(){return y(e,void 0,void 0,(function(){var e,t,n,r,o,a,s,l;return b(this,(function(c){switch(c.label){case 0:return[4,i.size()];case 1:return e=c.sent(),t=e.size,n=t>e.limit,r=t>.95*e.limit,o=t<0?"Unknown":Af(t),a=e.limit<0?"Unknown":Af(e.limit),s="Unknown"===a&&"Unknown"===o?S7.optionVaultSizeUnknown():S7.optionVaultSizeDesc({size:o,limit:a}),r&&!n&&g.setName(S7.optionAlmostOverSize()),g.setDesc(s),v.setDesc(s),g.setVisibility(r),v.setVisibility(!r),r||(l=Math.max(1,t/e.limit*100),f.setValue(l)),[2]}}))}))},v=new AT(r).setName(S7.optionVaultSize()).setDesc(S7.optionVaultSizeLoading()).addProgressBar((function(e){f=e})),g=new AT(r).setName(S7.optionOverSize()).setDesc(S7.optionVaultSizeLoading()).addButton((function(e){return e.setButtonText(S7.buttonUpgradeStorage()).onClick((function(){window.open("https://obsidian.md/account#sync")}))})).addButton((function(e){return e.setButtonText(S7.msgLargestFiles()).onClick((function(){new H7(n,i).open()}))})).addButton((function(t){return t.setWarning().setButtonText(S7.buttonPurgeRemote()).setTooltip(S7.tooltipPurgeRemote()).onClick((function(){return y(e,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,i.purge()];case 1:return e.sent(),new vx(S7.msgPurgeComplete()),[4,m()];case 2:return e.sent(),[2]}}))}))}))}));g.settingEl.hide(),m(),Yl.isMobileApp&&new AT(r).setName(S7.optionPreventSleep()).setDesc(S7.optionPreventSleepDesc()).addToggle((function(t){return t.setValue(e.sync.preventSleep).onChange((function(t){return e.sync.preventSleep=t}))})),new AT(r).setName(S7.optionContactSupport()).setDesc(S7.optionContactSupportDesc()).addButton((function(t){return t.setButtonText(S7.buttonCopyDebug()).onClick((function(){return y(e,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return t=(e=navigator.clipboard).writeText,[4,this.gatherSyncSystemInfo()];case 1:return[4,t.apply(e,[n.sent()])];case 2:return n.sent(),new vx(lm.interface.copied_generic()),[2]}}))}))}))})).addButton((function(t){return t.setButtonText(S7.buttonEmailSupport()).onClick((function(){return y(e,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return[4,this.gatherSyncSystemInfo()];case 1:return e=n.sent(),t=encodeURIComponent(e),window.open("mailto:support@obsidian.md?subject=Obsidian%20Sync%20Support&body=".concat(t)),[2]}}))}))}))})),new AT(r).setHeading().setName(S7.optionSelectiveSync()),new AT(r).setName(S7.optionExcludedFolders()).setDesc(createFragment((function(t){var n=e.sync.ignoreFolders;if(t.appendText(S7.optionExcludedFolderDesc()),n.length>0){t.appendText(S7.optionCurrentlyExcludedFolders());for(var i=t.createEl("ul"),r=0,o=n;r0&&(t+="\n");e.device&&(t+=e.device);if(e.relatedpath||e.deleted||0===e.size)return t;return t+=", "+Af(e.size),t}(t),{placement:"bottom",gap:16,delay:Jm})},t.prototype.fetchMore=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o,a,s,l,c,u,h,p,d,f,m,v,g,w=this;return b(this,(function(k){switch(k.label){case 0:t=(e=this).items,n=e.listEl,i=e.loadMoreButtonEl,r=null,o=this.filepath,a=0===t.length,i.detach(),t.length>0&&(s=t.last().last(),r=s.uid,o=s.relatedpath||s.path),k.label=1;case 1:return k.trys.push([1,3,,4]),[4,this.plugin.getHistory(o,r)];case 2:return l=k.sent(),[3,4];case 3:return k.sent(),new vx(S7.labelUnableToRetrieve()),this.listEl.append(i),[2];case 4:for(c=l.items,-1!==(u=c.findIndex((function(e){return e.relatedpath&&!e.deleted})))&&(u0&&t.push(n);return t}(c),p=function(e){var i=e[0],r=t.push(e)-1,o=n.createDiv("sync-history-list-item");i.username||i.email||o.addClass("mod-current-user");var s=o.createDiv("sync-history-list-item-header"),l=i.ts+864e51?t[1][0]:null,[4,this.openHistory(t[0][0],g)]);case 6:k.sent(),k.label=7;case 7:return l.more&&this.listEl.append(i),[2]}}))}))},t}(px);function P7(e,t){e.addEventListener("scroll",(function(){e.scrollTop+e.clientHeight>=e.scrollHeight-e.clientHeight/2&&t()}),{passive:!0})}var L7=function(e){function t(t,n,i,r){var o=e.call(this,t)||this;o.plugin=null,o.history=[],o.offset=0,o.plugin=n,o.history=r.filter((function(e){return!e.folder})),o.setTitle(i),o.modalEl.addClass("mod-lg");var a=o.contentEl,s=a.createDiv({cls:"sync-modal-header"});return s.createEl("p",{cls:"u-faded-text",text:lm.nouns.fileWithCount({count:o.history.length})}),s.createEl("p",{text:S7.labelClickToSeeHistory()}),o.historyListEl=a.createDiv("sync-file-tree-container"),P7(o.historyListEl,(function(){return o.loadMore()})),o}return m(t,e),t.prototype.onOpen=function(){this.loadMore()},t.prototype.loadMore=function(){var e=this,t=this.history;if(!(this.offset>=t.length))for(var n=Math.min(this.offset+30,t.length),i=function(){var n=t[r.offset];r.offset++;var i=r.historyListEl.createDiv("list-item mod-selectable tappable");i.createDiv("list-item-part mod-extended",(function(e){e.createDiv({text:hu(n.path)});var t=window.moment(n.ts).fromNow();n.device&&(t="[".concat(n.device,"] ")+t),e.createDiv({cls:"u-muted u-small list-item-part",text:t})})),i.addEventListener("click",(function(){e.plugin.showVersionHistory(n.path)}))},r=this;this.offset=t.length))for(var n=Math.min(this.offset+30,t.length),i=function(){var n=t[r.offset];r.offset++;var i=r.historyListEl.createDiv("list-item mod-selectable tappable"),o=i.createEl("input",{type:"checkbox"}),a={checkboxEl:o,historyItem:n};r.checkboxes.push(a),i.createDiv({cls:"list-item-part mod-extended"},(function(e){e.createDiv({text:hu(n.path)});var t=window.moment(n.ts).fromNow();n.device&&(t="[".concat(n.device,"] ")+t),e.createDiv({cls:"u-muted u-small list-item-part",text:t})})),i.addEventListener("click",(function(t){var n=e.checkboxes.indexOf(a),i=t.target===o?o.checked:!o.checked;if(t.shiftKey)for(var r=Math.min(e.lastSelectedItem,n),s=Math.max(e.lastSelectedItem,n),l=r;l<=s;l++)e.checkboxes[l].checkboxEl.checked=i;e.lastSelectedItem=n,t.target!==o&&(o.checked=i),setTimeout((function(){var t=e.checkboxes.filter((function(e){return e.checkboxEl.checked})).length;e.restoreButtonEl.setText(S7.buttonRestoreFiles({count:t})),e.restoreButtonEl.ariaDisabled=String(0===t)}),5)}))},r=this;this.offset0&&n.createEl("p",{cls:"u-small u-muted",text:S7.msgRemoteVaultLimitHit()}),l.length>0)for(new AT(n).setName(S7.labelVaultsSharedWithYou()).setHeading(),p=n.createDiv("list-container vault-list"),d=function(e){p.createDiv("list-item vault-list-item",(function(t){var n=i===e.id;n&&e.name!==g.plugin.getRemoteVaultName()&&g.plugin.setVaultName(e.name),t.createDiv("list-item-part mod-extended",(function(t){t.createDiv("vault-list-item-title",(function(t){t.toggleClass("is-connected",n),t.createDiv("vault-list-item-icon list-item-part",(function(e){Km(e,n?"open-vault":"vault")})),t.createSpan({text:e.name})})),t.createDiv("list-item-desc vault-list-item-desc",(function(t){e.hasOwnProperty("region")&&""!==e.region&&t.createDiv({cls:"list-item-part",text:e.region}),t.createDiv({cls:"list-item-part",text:Af(e.size)}),t.createDiv({cls:"list-item-part mod-extended",text:S7.labelVaultCreatedTime({time:window.moment(e.created).fromNow()})})}))})),t.createDiv("list-item-actions",(function(t){n?t.createEl("button",{cls:"list-item-part vault-list-item-button",text:S7.buttonDisconnectFromRemoteVault()}).addEventListener("click",(function(){return y(g,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return this.startLoading(),[4,this.plugin.unsetup()];case 1:return e.sent(),this.open(),[2]}}))}))})):i||t.createEl("button",{cls:"list-item-part vault-list-item-button",text:S7.buttonConnectToRemoteVault()},(function(t){t.addEventListener("click",(function(){return y(g,void 0,void 0,(function(){var n,i=this;return b(this,(function(r){switch(r.label){case 0:return[4,Rv(t,(function(){return N$(V$.token)}))];case 1:return"error"in(n=r.sent())?[2]:n.sync?(new z7(this.app,this.plugin).connect(e,(function(){return i.close()})).open(),[2]):(this.errorEl.setText(S7.labelRequireSubscriptionToConnect()),this.errorEl.show(),[2])}}))}))}))})),t.createDiv("clickable-icon",(function(t){Km(t,"lucide-x"),mv(t,S7.tooltipLeaveVaultSharing()),t.addEventListener("click",(function(){var t=createFragment();t.createEl("p",{cls:"setting-message mod-warning",text:S7.labelLeaveVaultConfirmationDetails()}),t.createEl("p",{text:S7.labelLeaveVaultConfirmationDetails()}),new dx(g.app).setTitle(S7.labelLeaveVaultConfirmation({vault:e.name})).setContent(t).addButton("mod-warning",S7.buttonLeave(),(function(){g.deleteVaultShare(e.id,e.share_uid)})).addCancelButton().open()}))}))}))}))},f=0,m=l;f0&&t.push(a);for(t=t.sort((function(e,t){return t.size-e.size})).slice(0,20),i=this.contentEl,r=0,o=t;r0?this.showConfirmVault(e.name,i):i(),this},t.prototype.showPasswordPrompt=function(e){return y(this,void 0,void 0,(function(){var t,n,i,r=this;return b(this,(function(o){return this.contentEl.empty(),this.buttonContainerEl.empty(),this.setTitle(S7.labelUnlockEncryptedVault()),this.contentEl.createEl("p",{text:S7.labelEncryptionPasswordExplanation({name:e.name})}),t="",new AT(this.contentEl).setName(S7.optionEncryptionPassword()).addText((function(e){e.inputEl.type="password",e.onChange((function(e){t=e,r.showError("")})).setPlaceholder(S7.optionEncryptionPasswordPlaceholder())})),n=Mx(),(i=this.buttonContainerEl.createEl("button",{cls:"mod-cta",text:S7.buttonUnlockVault()})).addEventListener("click",(function(){return y(r,void 0,void 0,(function(){var r;return b(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,Rv(i,(function(){return U$(e.id,t,e.salt,e.host,e.encryption_version)}))];case 1:return o.sent(),e.password=t,n.resolve(),[3,3];case 2:return r=o.sent(),console.error(r),r instanceof XMLHttpRequest?this.showError(lm.plugins.publish.msgNetworkError()):this.showError(r.message),[3,3];case 3:return[2]}}))}))})),this.addCancelButton((function(){return n.reject()})),[2,n.promise]}))}))},t.prototype.showConfiguration=function(e){var t=this;this.setTitle(S7.labelSetupConnection()),this.contentEl.empty();var n=this.contentEl.createDiv("modal-confirmation-state");Km(n.createDiv("modal-status-icon mod-success"),"circle-check"),n.createEl("p",{text:S7.labelNowConnectedToVault({name:e})}),this.buttonContainerEl.empty(),this.addButton("",S7.labelManageExcludedFolders(),(function(e){return t.settingTab.manageExclusions(),!0})),this.addButton("mod-cta",S7.buttonStartSyncing(),(function(e){t.sync.setPause(!1),t.settingTab.display()}))},t.prototype.showConfirmVault=function(e,t){this.setTitle(S7.labelConfirmMergeVault()),this.contentEl.empty(),this.contentEl.createEl("p",{text:S7.msgVaultHasNotes()}),this.contentEl.createEl("p",{text:S7.msgVaultMergeWarning({name:e})}),this.buttonContainerEl.empty(),this.addButton("mod-cta",lm.dialogue.buttonContinue(),t),this.addCancelButton()},t}(dx),q7=function(e){function t(t,n,i){var r=e.call(this,t)||this;r.cb=i,r.setTitle(S7.labelRenameRemoteVault({name:n})),r.addButton("mod-cta",lm.dialogue.buttonSave(),r.submit.bind(r)),r.addCancelButton();var o=r.contentEl;return o.empty(),new AT(o).setName(S7.optionVaultName()).setDesc(S7.labelRenameRemoteVaultDesc()).addText((function(e){r.textEl=e,e.setPlaceholder(n)})),r}return m(t,e),t.prototype.submit=function(){return y(this,void 0,void 0,(function(){return b(this,(function(e){return this.cb(this.textEl.getValue()),[2]}))}))},t}(dx),W7=function(e){function t(t,n,i){var r=e.call(this,t)||this;r.shares=[],r.shareItemEls={},r.vaultId=i;var o=r.contentEl;return o.addClass("sync-vault-share-container"),r.setTitle(M7.labelManageSharing({name:n})),o.createEl("p",{cls:"u-muted",text:S7.labelSharingWithUsers()}),r.sharesContainerEl=o.createDiv({cls:"sync-vault-shares-list-item-container"}),new AT(o).setName(M7.optionInviteUser()).addText((function(e){return e.setPlaceholder(M7.placeholderInviteUser()).then((function(e){r.emailTextComponent=e,e.inputEl.addEventListener("keydown",(function(t){t.isComposing||"Enter"===t.key&&r.inviteToVault(e.getValue())}))}))})).addButton((function(e){return r.addButtonComponent=e.setButtonText(lm.interface.buttonAdd()).setCta().onClick((function(){r.inviteToVault(r.emailTextComponent.getValue())}))})),r.addButton("",lm.dialogue.buttonDone(),(function(){return r.close()})),r.loadShareItems(),r}return m(t,e),t.prototype.loadShareItems=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o,a,s,l,c,u,h,p,d=this;return b(this,(function(f){switch(f.label){case 0:t=(e=this).contentEl,n=e.sharesContainerEl,f.label=1;case 1:return f.trys.push([1,3,,4]),[4,FJ(this.contentEl,(function(){return e=V$.token,t=d.vaultId,f$("/vault/share/list",{token:e,vault_uid:t});var e,t}))];case 2:return i=f.sent(),this.shares=i.shares,[3,4];case 3:return r=f.sent(),t.empty(),t.createEl("p",{cls:"mod-warning",text:r.message}),[2];case 4:if(this.shares.length>0){for(o={},a=function(e){o[e.uid]=null!==(p=s.shareItemEls[e.uid])&&void 0!==p?p:n.createDiv("list-item",(function(t){e.name?(t.createDiv({cls:"list-item-part",text:e.name}),t.createDiv({cls:"list-item-part mod-extended",text:"<".concat(e.email,">")})):t.createDiv({cls:"list-item-part mod-extended",text:e.email}),e.accepted||t.createDiv({cls:"list-item-part"},(function(e){e.createSpan({cls:"u-muted",text:M7.labelInvitePending()})})),t.createDiv("list-item-part clickable-icon",(function(n){Km(n,"lucide-x"),mv(n,M7.tooltipRemoveUser()),n.addEventListener("click",(function(){return y(d,void 0,void 0,(function(){var n,i=this;return b(this,(function(r){switch(r.label){case 0:t.hide(),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,Nv(this.contentEl,(function(){return P$(V$.token,i.vaultId,e.uid)}))];case 2:return r.sent(),[3,4];case 3:return n=r.sent(),new vx(n.message),[3,4];case 4:return[4,this.loadShareItems()];case 5:return r.sent(),[2]}}))}))}))}))}))},s=this,l=0,c=this.shares;l1,this.headerDom.navHeaderEl.toggle(e),e||(this.hideMyChanges=!1),this.loadingEl.hide(),t=this.sync.getStatus(),n="uninitialized"!==t&&"disconnected"!==t,this.tree.containerEl.toggle(n),this.uninitializedEl.toggle(!n),i=this.getRecentSyncFiles(),r=this.groups,o=r.today,a=r.yesterday,s=r.week,l=r.older,o.clear(),c=0,u=i.today;c100&&(g=i.older.length-100,y=new K7(this,l,g),l.addChild(y)),l.setFlair(i.older.length),this.activeDom||(w=this.app.workspace.getActiveFile())&&this.onFileOpen(w),this.tree.infinityScroll.queueCompute(),this.previousRefreshDate=window.moment(),[2]}}))}))},t.prototype.addItemToGroup=function(e,t){var n=this.fileItems[e.path];n?n.sFile=e:this.fileItems[e.path]=n=new Y7(this,e),this.files.set(n.el,e),t.addChild(n)},t.prototype.getRecentSyncFiles=function(){for(var e=this.sync,t=this.hideMyChanges,n={today:[],yesterday:[],week:[],older:[]},i=864e5,r=window.moment().startOf("day").valueOf(),o=r-i,a=r-5184e5,s=0,l=Object.values(e.serverFiles);sr?n.today.push(c):c.mtime>o?n.yesterday.push(c):c.mtime>a?n.week.push(c):n.older.push(c))}return n.today.sort((function(e,t){return t.mtime-e.mtime})),n.yesterday.sort((function(e,t){return t.mtime-e.mtime})),n.week.sort((function(e,t){return t.mtime-e.mtime})),n.older.sort((function(e,t){return t.mtime-e.mtime})),n},t.prototype.loadUsernameMap=function(){return y(this,void 0,Promise,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return this.userMapLoaded?[2]:"synced"!==(e=this.sync.getStatus())&&"syncing"!==e?[3,2]:(t=this,[4,this.sync.getUsernames()]);case 1:t.userMap=n.sent(),this.userMapLoaded=!0,n.label=2;case 2:return[2]}}))}))},t}(zg),_7=function(e){function t(){var t=e.call(this)||this;return t.info={height:0,width:0,childLeft:0,childLeftPadding:0,childTop:0,computed:!1,queued:!1,hidden:!1,next:!1},delete t.coverEl,t}return m(t,e),t}(r_),G7=function(e){function t(t,n,i){var r=e.call(this)||this;return r.vChildren=new vN(r),r.pusherEl=xN(),r.tree=t,r.id=n,r.setClickable(!0),r.setCollapsible(!0),r.el.addClass("nav-folder"),r.selfEl.addClass("nav-folder-title"),r.innerEl.addClass("nav-folder-title-content"),r.childrenEl.addClass("nav-folder-children"),r.innerEl.setText(i),r.flairEl=r.selfEl.createDiv("tree-item-flair-outer").createSpan("tree-item-flair"),r.collapseEl.empty(),r}return m(t,e),t.prototype.clear=function(){this.vChildren.clear(),this.setFlair(0)},t.prototype.addChild=function(e){this.vChildren.addChild(e)},t.prototype.onSelfClick=function(){this.toggleCollapsed(!0)},t.prototype.setFlair=function(e){this.flairEl.setText(lm.nouns.count({count:e}))},t.prototype.setCollapsed=function(t,n){return y(this,void 0,Promise,(function(){return b(this,(function(i){switch(i.label){case 0:return[4,e.prototype.setCollapsed.call(this,t,n)];case 1:return i.sent(),this.tree.infinityScroll.invalidate(this),this.tree.requestSaveFolds(),[2]}}))}))},t}(o_(_7)),K7=function(e){function t(t,n,i){var r=e.call(this)||this;return r.parent=n,r.count=i,r.setClickable(!1),r.el.addClass("nav-file"),r.selfEl.addClass("more-button"),r.innerEl.addClass("nav-file-title-content"),r.innerEl.setText(j7.labelMore({count:i})),r}return m(t,e),t}(_7),Y7=function(e){function t(t,n){var i=e.call(this)||this;i.view=t,i.sFile=n,i.setClickable(!0),i.el.addClass("nav-file"),i.selfEl.addClass("nav-file-title"),i.innerEl.addClass("nav-file-title-content");var r=ou(n.path);return PM.contains(r)||i.selfEl.createDiv({cls:"nav-file-tag",text:r}),i.innerEl.setText(iu(n.path)),i.selfEl.setAttr("data-path",i.sFile.path),i.selfEl.addEventListener("mouseover",i.onFileMouseover.bind(i)),i.selfEl.addEventListener("mouseout",i.onFileMouseout.bind(i)),i.selfEl.addEventListener("contextmenu",i.openFileContextMenu.bind(i)),i}return m(t,e),t.prototype.onSelfClick=function(e){this.view.app.workspace.openLinkText(this.sFile.path,"",Ag.isModEvent(e))},t.prototype.openFileContextMenu=function(e){var t=this;e.preventDefault();var n=this.view.app.metadataCache.getFirstLinkpathDest(this.sFile.path,"");if(n){var i=(new Ng).addSections(["title","open","action","view","info","","danger"]);i.addItem((function(e){return e.setSection("view").setTitle(j7.menuOptViewVersionHistory()).setIcon("lucide-history").onClick((function(){return t.view.sync.showVersionHistory(t.sFile.path)}))})),this.view.app.workspace.trigger("file-menu",i,n,"sync-sidebar"),i.showAtMouseEvent(e)}},t.prototype.onFileMouseover=function(e){if(Lc(e,this.selfEl)&&!qc(e)){var t=window.moment(this.sFile.mtime).format("llll");this.sFile.user&&this.view.userMap.hasOwnProperty(this.sFile.user)&&(t+="\n"+this.view.userMap[this.sFile.user]),pv(this.selfEl,t,{placement:this.view.getSideTooltipPlacement(),gap:24,horizontalParent:this.view.containerEl,delay:Jm})}},t.prototype.onFileMouseout=function(e){Lc(e,this.selfEl)&&dv()},t}(_7),Z7=function(){function e(e,t,n,i){this.min=e||0,this.max=t||Number.MAX_VALUE,this.base=n||1e3,this.jitter=i||!0,this.count=0,this.nextTs=Date.now()}return e.prototype.success=function(){this.count=0,this.nextTs=Date.now()+this.getTimeout()},e.prototype.fail=function(){this.count++,this.nextTs=Date.now()+this.getTimeout()},e.prototype.getTimeout=function(){if(0===this.count)return this.min;var e=this.count-1,t=this.base*Math.pow(2,e);if(this.jitter){t*=.5+.5*Math.random()}return t=Math.floor(Math.min(this.max,this.min+t))},e.prototype.getNextTs=function(){return this.nextTs},e.prototype.isReady=function(){return Date.now()>this.nextTs},e}(),X7=lm.plugins.sync,Q7={1e3:"Disconnected",1001:"Going Away",1002:"Protocol Error",1003:"Unsupported Data",1004:"(For future)",1005:"No Status Received",1006:"Disconnected",1007:"Invalid frame payload data",1008:"Policy Violation",1009:"Message too big",1010:"Missing Extension",1011:"Internal Error",1012:"Service Restart",1013:"Try Again Later",1014:"Bad Gateway",1015:"TLS Handshake"},$7="sync",J7=window.WebSocket,e9=window.URL,t9=Object.getOwnPropertyDescriptor(e9.prototype,"hostname").get,n9=String.prototype.endsWith;var i9=window.process&&window.process.platform,r9=vm||i9&&"win32"!==i9&&"darwin"!==i9,o9=vm?500:2e3;function a9(e){return"manifest.json"===e||"main.js"===e||"styles.css"===e||"data.json"===e}var s9=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.id="sync",t.name=X7.name(),t.description=X7.desc(),t.defaultOn=!0,t.app=null,t.vault=null,t.plugin=null,t.db=null,t.vaultId=null,t.vaultName=null,t.key=null,t.salt=null,t.encryptionVersion=-1,t.encryptionProvider=null,t.host=null,t.deviceName="",t.userId=-1,t.version=0,t.initial=!0,t.localFiles={},t.scanSpecialFiles=!1,t.scanSpecialFileQueue=[],t.serverFiles={},t.fileRetry={},t.newServerFiles=[],t.allowTypes=new Set(H$),t.conflictAction="merge",t.allowSpecialFiles=new Set(z$),t.ignoreFolders=[],t.preventSleep=!1,t.initialized=!1,t.dirty=!1,t.dataLoaded=!1,t.requestSaveData=wc(t.saveData.bind(t),2e3),t.boundOnFileAdd=t.onFileAdd.bind(t),t.boundOnFileRemove=t.onFileRemove.bind(t),t.boundOnFileRename=t.onFileRename.bind(t),t.boundOnRaw=t.onRaw.bind(t),t.pause=!1,t.syncing=!1,t.error=!1,t.ready=!1,t.server=null,t.syncLog=[],t.timer=0,t.backoff=new Z7(0,3e5,5e3,!0),t.statusIconEl=null,t.filterCache={},t.syncingPath="",t.syncStatus="",t.requestStatusBarUpdate=wc(t._updateStatusBar,100),t}return m(t,e),t.prototype.getRemoteVaultId=function(){return this.vaultId},t.prototype.getRemoteVaultName=function(){return this.vaultName},t.prototype.setRemoteVaultName=function(e){return y(this,void 0,Promise,(function(){return b(this,(function(t){switch(t.label){case 0:return this.vaultName=e,[4,this.saveData()];case 1:return t.sent(),[2]}}))}))},t.prototype.init=function(e,t){var n=this;this.app=e,this.vault=e.vault,this.plugin=t,this.settingTab=new T7(e,t,this),t.registerStatusBarItem(),t.registerViewType($7,(function(e){return new U7(e,n)})),t.registerGlobalCommand({id:"sync:setup",name:lm.plugins.sync.actionSetupSync(),icon:"lucide-settings",checkCallback:function(e){return e||n.openSettings(),!n.vaultId}}),t.registerGlobalCommand({id:"sync:view-version-history",name:lm.plugins.sync.actionViewVersionHistory(),icon:"lucide-history",checkCallback:function(e){if(!n.vaultId)return!1;var t=n.app.workspace.getActiveViewOfType(oG);return t?(e||n.showVersionHistory(t.file.path),!0):void 0}}),t.registerGlobalCommand({id:"sync:open-sync-view",name:X7.actionViewSyncSidebar(),icon:"lucide-rotate-ccw",checkCallback:function(e){return!!n.vaultId&&(e||n.app.workspace.ensureSideLeaf($7,"right",{active:!0,reveal:!0}),!0)}}),t.registerGlobalCommand({id:"sync:open-sync-log",name:X7.actionActivityLog(),icon:"lucide-align-left",checkCallback:function(e){return!!n.vaultId&&(e||n.showSyncLog(),!0)}}),this.setStatus("Uninitialized")},t.prototype.openChooseRemoteVaultModal=function(){new R7(this.app,this).open()},t.prototype.connectToVault=function(e){return y(this,void 0,void 0,(function(){var t;return b(this,(function(n){return(t=new z7(this.app,this).connect(e)).shouldAnimate=!1,t.open(),[2]}))}))},t.prototype.onEnable=function(e,t){return y(this,void 0,void 0,(function(){var n,i,r,o=this;return b(this,(function(a){return n=e.workspace,this.registerEvents(),t.addSettingTab(this.settingTab),t.registerEvent(e.workspace.on("file-menu",this.onFileMenu,this)),n.onLayoutReady((function(){return y(o,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,this.loadData()];case 1:return e.sent(),this.initialized=!0,this.dataLoaded=!0,this.requestSync(),this.requestStatusBarUpdate(),[2]}}))}))})),this.timer=window.setInterval(this.requestSync.bind(this),3e4),this.on("status-change",(function(){return o.requestStatusBarUpdate()})),Yl.isMobile?n.onLayoutReady((function(){var e=n.rightSplit;o.statusIconEl=e.addHeaderButton("sync-small",o.openStatusIconMenu.bind(o)),o.statusIconEl.addEventListener("contextmenu",o.openStatusIconMenu.bind(o)),o.statusIconEl.addClass("sync-status-icon")})):(i=t.statusBarEl)&&(r=i.createDiv("status-bar-item-segment"),this.statusIconEl=r.createSpan("status-bar-item-icon sync-status-icon"),i.addEventListener("click",this.openStatusIconMenu.bind(this)),i.addEventListener("contextmenu",this.openStatusIconMenu.bind(this))),[2]}))}))},t.prototype.onDisable=function(e,t){this.server&&(this.server.disconnect(),this.server=null),this.timer&&(clearInterval(this.timer),this.timer=0),this.statusIconEl&&this.statusIconEl.detach(),this.unregisterEvents()},t.prototype.onFileMenu=function(e,t,n){var i=this;t instanceof zC&&("tab-header"===n||"more-options"===n||"file-explorer-context-menu"===n)&&e.addItem((function(e){return e.setSection("view").setTitle(X7.menuOptViewVersionHistory()).setIcon("lucide-history").onClick((function(){return i.showVersionHistory(t.path)}))}))},t.prototype.openStatusIconMenu=function(e){var t=this,n=Ng.forEvent(e);n.addSections(["status","selection","","global"]);var i=this.app.workspace.getActiveFile();if(n.addItem((function(e){return e.setSection("status").setTitle(X7.labelSyncStatus({status:t.syncStatus})).setIsLabel(!0).removeIcon().titleEl.addClass("u-small")})),this.vaultId){var r=this.pause;n.addItem((function(e){return e.setSection("status").setTitle(X7(r?"button-resume":"button-pause")).setIcon(r?"lucide-play-circle":"paused").onClick((function(){return t.setPause(!r)}))})).addItem((function(e){return e.setTitle(X7.labelVersionHistory()).setIcon("lucide-history").setSection("selection").setDisabled(!i).onClick((function(){i&&t.showVersionHistory(i.path)}))})).addItem((function(e){return e.setTitle(X7.optionSyncLog()).setIcon("lucide-align-left").setSection("global").onClick((function(){return t.showSyncLog()}))})).addItem((function(e){return e.setTitle(X7.optionViewDeletedFiles()).setIcon("lucide-trash-2").setSection("global").onClick((function(){return t.showDeletedFiles()}))})).addItem((function(e){return e.setTitle(lm.interface.settings()).setIcon("lucide-settings").setSection("global").onClick((function(){return t.openSettings()}))}))}else n.addItem((function(e){return e.setTitle(lm.interface.settings()).setIcon("lucide-settings").onClick((function(){return t.openSettings()}))}));n.setParentElement(this.statusIconEl).showAtMouseEvent(e)},t.prototype.loadData=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o,a,s,l,c;return b(this,(function(u){switch(u.label){case 0:e=null,u.label=1;case 1:return u.trys.push([1,4,,5]),t=this,[4,rQ(this.app.appId+"-sync",1,{upgrade:function(e,t,n,i){e.objectStoreNames.contains("data")||e.createObjectStore("data")}})];case 2:return[4,(t.db=u.sent()).get("data","data")];case 3:return e=u.sent(),[3,5];case 4:return n=u.sent(),console.error("Failed to load sync data",n),[3,5];case 5:if(!e)return[2];i=0;try{this.vaultId=e.vaultId,this.vaultName=e.vaultName,this.encryptionVersion=e.encryptionVersion||0,this.key=kf(e.key),this.salt=e.salt,this.host=e.host,this.deviceName=e.deviceName||"",this.userId=e.userId||-1,this.pause=!!e.pause,this.version=e.version||0,this.initial=void 0===e.initial||!!e.initial,this.localFiles=e.local||{},this.serverFiles=e.remote||{},this.newServerFiles=e.pending||[],(r=e.appId)&&r!==this.app.appId&&(this.pause=!0,this.version=0,this.initial=!0,this.localFiles={},this.serverFiles={},this.newServerFiles=[]),this.fileRetry={},this.filterCache={},this.allowTypes=new Set(e.allowTypes||H$),this.allowSpecialFiles=new Set(e.allowSpecialFiles||[]),this.ignoreFolders=e.ignoreFolders||[],this.preventSleep=e.preventSleep||!1,!Object.hasOwn(e,"conflictAction")||"merge"!==e.conflictAction&&"conflict"!==e.conflictAction?this.conflictAction="merge":this.conflictAction=e.conflictAction,i=e.dataVer||0}catch(e){console.error(e)}this.scanFiles(),0===this.vault.getRoot().children.length&&(this.pause=!0,this.setStatus("Error"),this.log("Empty vault detected, sync paused to prevent accidental data loss. Resuming Sync may delete all files from your remote vault. See https://help.obsidian.md/sync/troubleshoot for more details.")),a=(o=this).serverFiles,s=o.localFiles;try{if(i<1)for(l in a)Object.hasOwn(a,l)&&!Object.hasOwn(s,l)&&l.toLowerCase().endsWith(".canvas")&&((c=a[l]).folder||this.newServerFiles.push(c))}catch(e){console.error(e)}try{if(i<2)for(l in a)Object.hasOwn(a,l)&&!Object.hasOwn(s,l)&&l.toLowerCase().endsWith(".base")&&((c=a[l]).folder||this.newServerFiles.push(c))}catch(e){console.error(e)}return[2]}}))}))},t.prototype.saveData=function(){return y(this,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return this.dirty?(this.dirty=!1,(e={}).appId=this.app.appId,e.vaultId=this.vaultId,e.vaultName=this.vaultName,e.key=Cf(this.key),e.salt=this.salt,e.encryptionVersion=this.encryptionVersion,e.host=this.host,e.deviceName=this.deviceName,e.userId=this.userId,e.pause=this.pause,e.version=this.version,e.initial=this.initial,e.local=this.localFiles,e.remote=this.serverFiles,e.pending=this.newServerFiles,e.allowTypes=Array.from(this.allowTypes),e.allowSpecialFiles=Array.from(this.allowSpecialFiles),e.ignoreFolders=this.ignoreFolders,e.preventSleep=this.preventSleep,e.conflictAction=this.conflictAction,e.dataVer=2,[4,this.db.put("data",e,"data")]):[2];case 1:return t.sent(),[2]}}))}))},t.prototype.getDefaultDeviceName=function(){return Yl.isDesktopApp?Lf("os").hostname():q$||"Unknown"},t.prototype.setup=function(e,t,n,i,r,o){return y(this,void 0,void 0,(function(){var a;return b(this,(function(s){switch(s.label){case 0:return this.vaultId=e,this.vaultName=t,a=this,[4,o$(n,i)];case 1:return a.key=s.sent(),this.salt=i,this.encryptionVersion=o,this.host=r,this.clear(),this.scanFiles(),[4,this.saveData()];case 2:return s.sent(),this.requestSync(),[2]}}))}))},t.prototype.unsetup=function(){return y(this,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return this.vaultId=null,this.vaultName=null,this.key=null,this.salt=null,this.encryptionVersion=-1,this.encryptionProvider=null,this.host=null,this.clear(),this.setStatus("Uninitialized"),[4,this.saveData()];case 1:return e.sent(),[2]}}))}))},t.prototype.clear=function(){this.dirty=!0,this.version=0,this.initial=!0,this.serverFiles={},this.newServerFiles=[],this.fileRetry={},this.ignoreFolders=[],this.filterCache={},this.allowTypes=new Set(H$),this.allowSpecialFiles=new Set(z$);var e=this.server;e&&(e.disconnect(),this.server=null),this.gettingServer=null,this.backoff.success()},t.prototype.setVaultName=function(e){return y(this,void 0,void 0,(function(){return b(this,(function(t){return this.vaultName=e,this.forceSaveData(),[2]}))}))},t.prototype.setPause=function(e){this.pause=e,e?(this.setStatus("Paused"),this.log("Paused")):(this.setStatus("Resumed"),this.log("Resumed. Detecting changes...")),this.dirty=!0,this.saveData(),this.requestSync()},t.prototype.getPause=function(){return this.pause},t.prototype.changeFilter=function(e){var t=this.serverFiles,n=this.newServerFiles,i=[];for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];this.allowSyncFile(o.path,o.folder)||i.push(o)}e(),this.filterCache={};for(var a=[],s=0,l=i;so9&&r.splice(0,100),this.trigger("new-log")},t.prototype.scanFiles=function(){for(var e=this.vault,t=this.localFiles,n=[e.getRoot()];n.length;){var i=n.pop();if(this.onFileAdd(i),i instanceof qC)for(var r=0,o=i.children;re&&t.startsWith(i))return!1;return!0},t.prototype.canSyncLocalFile=function(e,t){if(!t.synctime)return!0;var n=t.size,i=n>10240?n>102400?30:20:10;return e-t.synctime>1e3*i},t.prototype.getHost=function(){var e=this.host||"127.0.0.1:3003";return e.startsWith("127.0.0.1")||e.startsWith("localhost")?"ws://"+e:"wss://"+e},t.prototype.setStatus=function(e){this.syncStatus=e,this.trigger("status-change")},t.prototype.getStatus=function(){return this.initialized?this.vaultId?this.error||Object.keys(this.fileRetry).length>0?"error":this.pause?"paused":this.syncing?"syncing":"synced":"disconnected":"uninitialized"},t.prototype.failedSync=function(e){var t=this.syncingPath;if(this.log(e,t,!0),t){var n=this.fileRetry,i=Date.now(),r=n[t];r||(r=n[t]={count:0,error:"",ts:0}),r.error=e;var o=r.count=r.count+1,a=5*Math.pow(2,o)*1e3;a=Math.min(a,3e5),r.ts=i+a}},t.prototype.requestSync=function(){return y(this,void 0,void 0,(function(){var e,t,n,i,r,o;return b(this,(function(a){switch(a.label){case 0:return this.syncing?[2]:(this.syncing=!0,this.error=!1,this.trigger("status-change"),[4,sleep(50)]);case 1:a.sent(),e=null,t=!0,a.label=2;case 2:if(!t||!this.plugin.enabled||this.pause||!this.vaultId)return[3,8];!e&&vm&&this.preventSleep&&(e=Am()),a.label=3;case 3:return a.trys.push([3,5,,6]),this.error=!1,this.syncingPath=null,[4,this._sync()];case 4:return t=a.sent(),(n=this.syncingPath)&&delete this.fileRetry[n],[3,6];case 5:return i=a.sent(),console.log("Sync Error!"),console.error(i),this.error=!0,this.failedSync(i.message),t=!1,this.trigger("status-change"),[3,6];case 6:return this.dirty&&this.requestSaveData(),r=0,this.server&&(o=Date.now()-this.server.lastNetworkRequestTs,r=Math.max(0,50-o)),[4,sleep(r)];case 7:return a.sent(),[3,2];case 8:return e&&e.release(),this.syncing=!1,this.trigger("status-change"),[2]}}))}))},t.prototype.getServer=function(){var e=this,t=this.gettingServer;if(!t){this.gettingServer=t=this.asyncGetServer();var n=function(){e.gettingServer=null};t.then(n,n)}return t},t.prototype.asyncGetServer=function(){return y(this,void 0,Promise,(function(){var e,t,n,i,r,o=this;return b(this,(function(a){switch(a.label){case 0:if(!(e=this.server)||e.isConnected()||e.isConnecting()||(e.disconnect(),e=this.server=null,this.backoff.fail()),e)return[3,5];if(this.encryptionProvider||!this.key)return[3,4];a.label=1;case 1:return a.trys.push([1,3,,4]),t=this,[4,a$(this.encryptionVersion,this.key,this.salt)];case 2:return t.encryptionProvider=a.sent(),[3,4];case 3:return n=a.sent(),console.error(n),this.log("Unable to decrypt vault",null,!0),this.error=!0,this.backoff.fail(),[2,null];case 4:if(!(this.host&&V$.token&&this.vaultId&&this.encryptionProvider))return[2,null];e=this.server=new l9(this.encryptionProvider),a.label=5;case 5:if(e.hasConnection())return[3,12];this.setStatus("Connecting to server"),this.log("Connecting to server"),this.ready=!1,a.label=6;case 6:return a.trys.push([6,8,,12]),i=this.deviceName||this.getDefaultDeviceName(),[4,e.connect(this.getHost(),V$.token,this.vaultId,this.version,this.initial,i,(function(e){o.log("Connection successful. Detecting changes..."),o.ready=!0,o.initial&&(o.initial=!1),o.version0?(G=h.pop(),[4,o.exists(G)]):[3,23];case 21:return ee.sent()?[4,o.stat(G)]:(delete t[G],[3,20]);case 22:return(F=ee.sent())&&"file"===F.type?((_=t[G])||(_=u.hasOwnProperty(G)?t[G]=u[G]:t[G]={path:G,previouspath:"",ctime:0,mtime:0,size:0,folder:!1,hash:"",synchash:"",synctime:0}),Z=Math.ceil(F.mtime),Y=Math.ceil(F.ctime),N=F.size,_.mtime&&_.mtime===Z&&_.size===F.size||(_.hash=""),_.mtime=Z,_.ctime=Y,_.size=N,[3,20]):(delete t[G],[3,20]);case 23:return[3,25];case 24:return R=ee.sent(),console.error("Failed to scan config files",R),[3,25];case 25:if(!(i.length>0))return[3,29];B=function(l){var u,h,p,d,f,m,v,g,y,w,k,C,E,S,M,x,T,D,A,P,L,I,O,F,N,R,B,H,z,q,W,j,U,_,G,K;return b(this,(function(b){switch(b.label){case 0:if(u=i[l],h=u.path,p=n[h],d=t[h],f=function(e,t){return e||J.log("Accepted",h),d&&(d.synctime=Date.now()),t||(n[h]=u),i.splice(l,1),J.setDirty(),!0},!V.allowSyncFile(h,u.folder))return[2,{value:f(!0)}];if(!NC(h)||Yl.isAndroidApp&&/[*?<>"]/.test(h))return V.log("Ignoring remote file name with illegal characters",h,!0),new vx('Sync: Unable to download file with illegal name "'.concat(h,'"')),[2,{value:f(!0,!0)}];if(lu(h).split("/").contains(".."))return[2,{value:f(!0)}];if(!V.canSyncPath(a,h))return s++,[2,"continue"];for(V.syncingPath=h,m=l+1;m0)return[2,{value:f(!0)}];V.setStatus("Deleting "+h),V.log("Deleting",h),b.label=11;case 11:return b.trys.push([11,13,,14]),[4,r.delete(E,!0)];case 12:return b.sent(),[3,14];case 13:return g=b.sent(),y=(g?g.message:"")||"Failed to delete folder",V.log(y,h,!0),[3,14];case 14:return[2,{value:f(!0)}];case 15:return d.folder||u.folder||d.hash!==u.hash?p&&(d.folder&&p.folder||d.hash===p.hash)?u.deleted?(V.setStatus("Deleting "+h),(E=r.getAbstractFileByPath(h))?(V.log("Deleting",h),[4,r.delete(E)]):[3,17]):[3,20]:[3,22]:[2,{value:f(!0)}];case 16:return b.sent(),[3,19];case 17:return V.log("Deleting",h),[4,o.remove(h)];case 18:b.sent(),b.label=19;case 19:return[2,{value:f()}];case 20:return V.setStatus("Downloading "+h),[4,V.syncFileDown(e,u)];case 21:return b.sent(),[2,{value:f()}];case 22:return d.folder||!u.folder?[3,24]:(E=r.getAbstractFileByPath(h))instanceof zC?(w=E.extension,k=w?h.substr(h.length-w.length-1):"",C=h.substr(0,h.length-k.length),F=C+" (Conflicted copy)"+k,V.setStatus("Renaming conflicted file "+h),V.log("Renaming conflicted file",h),[4,r.rename(E,F)]):[3,24];case 23:return b.sent(),V.setDirty(),[2,{value:!0}];case 24:return u.initial&&u.mtime>d.mtime?(V.setStatus("Downloading "+h),[4,V.syncFileDown(e,u)]):[3,26];case 25:return b.sent(),[2,{value:f()}];case 26:if(u.initial||d.folder||u.folder||u.deleted||"md"!==ou(h)||u.hash===d.synchash)return[3,53];if(V.setStatus("Merging "+h),V.logMerge("Merging conflicted file",h),!((E=r.getAbstractFileByPath(h))instanceof zC))return V.logMerge("Merge failed.",h,!0),[2,{value:f(!0)}];S=void 0,b.label=27;case 27:return b.trys.push([27,29,,30]),[4,r.read(E)];case 28:return S=b.sent(),[3,30];case 29:return M=b.sent(),V.logMerge("Merge failed. "+M.toString(),h,!0),[2,{value:f(!0)}];case 30:return S?[3,32]:[4,V.syncFileDown(e,u)];case 31:return b.sent(),[2,{value:f()}];case 32:if(x="",!p||p.deleted)return[3,36];b.label=33;case 33:return b.trys.push([33,35,,36]),T=wf,[4,e.pull(p.uid)];case 34:return x=T.apply(void 0,[b.sent()]),[3,36];case 35:return D=b.sent(),V.logMerge("Merge failed. "+D.toString(),h,!0),[2,{value:f(!0)}];case 36:A=void 0,b.label=37;case 37:return b.trys.push([37,39,,40]),P=wf,[4,e.pull(u.uid)];case 38:return A=P.apply(void 0,[b.sent()]),[3,40];case 39:return L=b.sent(),V.logMerge("Merge failed. "+L.toString(),h,!0),[2,{value:f(!0)}];case 40:if(x===A||S===A)return[2,{value:f()}];if(!A)return[2,{value:f()}];if("conflict"!==V.conflictAction)return[3,46];I=window.moment().format("YYYYMMDDHHmm"),O=function(e,t){void 0===t&&(t="_");var n=e.trim();if(n&&(n=e.replace(IC,t),1===t.length)){var i=oc(t),r=new RegExp("".concat(i,"{2,}"),"g");n=n.replace(r,t)}return n}(V.deviceName||V.getDefaultDeviceName()),F=V.vault.getAvailablePath("".concat(ru(h)," (Conflicted copy ").concat(O," ").concat(I,")"),ou(h)),b.label=41;case 41:return b.trys.push([41,44,,45]),[4,r.create(F,S,{ctime:E.stat.ctime,mtime:E.stat.mtime})];case 42:return b.sent(),[4,r.modify(E,A,{ctime:u.ctime,mtime:u.mtime})];case 43:return b.sent(),V.logMerge("Conflicted copy stored",h),[3,45];case 44:return b.sent(),[2,{value:f()}];case 45:return[2,{value:f()}];case 46:return x?[3,51]:Math.abs(Date.now()-d.ctime)<18e4?(V.app.fileManager.storeTextFileBackup(h,S),V.setStatus("Downloading "+h),[4,r.modify(E,A,{ctime:u.ctime,mtime:u.mtime})]):[3,48];case 47:return b.sent(),[2,{value:f()}];case 48:return u.mtime>d.mtime?(V.app.fileManager.storeTextFileBackup(h,S),V.setStatus("Downloading "+h),[4,r.modify(E,A,{ctime:u.ctime,mtime:u.mtime})]):[3,50];case 49:return b.sent(),[2,{value:f()}];case 50:return[2,{value:f()}];case 51:return V.app.fileManager.storeTextFileBackup(h,S),N=kG(x,S,A),[4,r.modify(E,N)];case 52:return b.sent(),V.logMerge("Merge successful",h),[2,{value:f()}];case 53:if(u.folder||u.deleted||!(u.size>0)||!h.startsWith(c))return[3,62];if("json"!==ou(h))return[3,60];b.label=54;case 54:return b.trys.push([54,59,,60]),V.setStatus("Merging "+h),V.log("Merging conflicted file",h),H=(B=JSON).parse,[4,o.read(h)];case 55:return!(R=H.apply(B,[b.sent()]))||Array.isArray(R)||"object"!=typeof R?[3,58]:(W=(q=JSON).parse,j=wf,[4,e.pull(u.uid)]);case 56:if(!(z=W.apply(q,[j.apply(void 0,[b.sent()])]))||Array.isArray(z)||"object"!=typeof z)return[3,58];for(U in z)z.hasOwnProperty(U)&&(R[U]=z[U]);return _=bf(JSON.stringify(R,void 0,2)),h===V.vault.configDir+"/core-plugins.json"&&(G=V.patchCorePluginsFile(_))!==_&&(_=G,V.log("Fixing core plugins list",h)),[4,o.writeBinary(h,_)];case 57:return b.sent(),V.log("Merge successful",h),[2,{value:f(!0)}];case 58:return[3,60];case 59:return K=b.sent(),V.log("Merge failed. "+K.toString(),h,!0),[3,60];case 60:return[4,V.syncFileDown(e,u)];case 61:return b.sent(),[2,{value:f()}];case 62:return V.log("Rejected server change",h),[2,{value:f(!0)}]}}))},V=this,H=0,ee.label=26;case 26:return HW.path.length)&&(W=K):(!q||K.path.length>q.path.length)&&(q=K)}return q?(G=q.path,this.setStatus("Deleting remote file "+G),this.log("Deleting remote file",G),this.syncingPath=G,[4,e.push(G,null,!1,!0,0,0,"",null)]):[3,31];case 30:return ee.sent(),q.deleted=!0,this.setDirty(),[2,!0];case 31:return W?(G=W.path,this.setStatus("Deleting remote folder "+G),this.log("Deleting remote folder",G),this.syncingPath=G,[4,e.push(G,null,!0,!0,0,0,"",null)]):[3,33];case 32:return ee.sent(),W.deleted=!0,this.setDirty(),[2,!0];case 33:for(G in j=null,U=null,t)if(t.hasOwnProperty(G)&&(_=t[G],(!(K=n[G])||K.deleted||_.folder!==K.folder||_.ctime!==K.ctime||_.mtime!==K.mtime||_.size!==K.size||!_.hash||_.hash!==K.hash)&&this.allowSyncFile(G,_.folder)))if(this.canSyncPath(a,G)){if(r9&&!_.folder&&K&&K.ctime&&(0===_.ctime||_.ctime>K.ctime)&&!K.folder&&!K.deleted&&(_.ctime=K.ctime),_.folder||!(_.size>e.perFileMax))if(K&&!K.deleted){if(!j)if(_.folder){if(!this.canSyncLocalFile(a,_)){s++;continue}K.folder||(!j||_.path.length=0&&e<=999)return"(Unused)";if(e>=1016){if(e<=1999)return"(For WebSocket standard)";if(e<=2999)return"(For WebSocket extensions)";if(e<=3999)return"(For libraries and frameworks)";if(e<=4999)return"(For applications)"}return Q7.hasOwnProperty(e)?Q7[e]:"(Unknown)"}(e.code)))},f.onopen=function(){c.lastMessageTs=Date.now(),c.heartbeat=window.setInterval((function(){var e=Date.now()-c.lastMessageTs;e>12e4?c.disconnect():e>1e4&&c.send({op:"ping"})}),2e4),c.send({op:"init",token:t,id:n,keyhash:l,version:i,initial:r,device:o,encryption_version:c.encryptionProvider.encryptionVersion})},f.onmessage=function(e){var t,n=e.data;if("string"!=typeof n)return d(new Error("Server returned binary"));try{t=JSON.parse(n)}catch(e){return console.error(e),d(new Error("Server JSON failed to parse: "+n))}if("pong"!==t.op){if("err"===t.status||"err"===t.res)return d(new Error("Failed to authenticate: "+t.msg));if("ok"!==t.res)return d(new Error("Did not respond to login request: "+n));if(t.hasOwnProperty("perFileMax")){var i=t.perFileMax;if(!Number.isInteger(i)||isNaN(i)||i<0)return d(new Error("Unexpected value from server for max file size"));c.perFileMax=i}t.userId&&(c.userId=t.userId),a(),p=!0,f.onmessage=c.onMessage.bind(c),f.onclose=c.disconnect.bind(c),f.onerror=c.disconnect.bind(c)}}}))])}))}))},e.prototype.disconnect=function(){this.socket&&this.socket.close(),this.socket=null,clearInterval(this.heartbeat),this.heartbeat=null;var e=new Error("Disconnected");this.responsePromise&&(this.responsePromise.reject(e),this.responsePromise=null),this.dataPromise&&(this.dataPromise.reject(e),this.dataPromise=null)},e.prototype.pull=function(e){return y(this,void 0,Promise,(function(){var t=this;return b(this,(function(n){return[2,this.queue.queue((function(){return y(t,void 0,void 0,(function(){var t,n,i,r,o,a,s;return b(this,(function(l){switch(l.label){case 0:return this.lastNetworkRequestTs=Date.now(),[4,this.request({op:"pull",uid:e})];case 1:if((t=l.sent()).deleted)return[3,8];n=t.size,i=t.pieces,r=new ArrayBuffer(n),o=0,a=0,l.label=2;case 2:return a0?[4,this.encryptionProvider.decrypt(r)]:[3,7];case 6:r=l.sent(),l.label=7;case 7:return[2,r];case 8:return[2,null]}}))}))}))]}))}))},e.prototype.push=function(e,t,n,i,r,o,a,s){return y(this,void 0,Promise,(function(){var l=this;return b(this,(function(c){return[2,this.queue.queue((function(){return y(l,void 0,void 0,(function(){var l,c,u,h,p,d,f,m,v,g;return b(this,(function(y){switch(y.label){case 0:return this.lastNetworkRequestTs=Date.now(),[4,this.encryptionProvider.deterministicEncodeStr(e)];case 1:return l=y.sent(),t?[4,this.encryptionProvider.deterministicEncodeStr(t)]:[3,3];case 2:return u=y.sent(),[3,4];case 3:u=null,y.label=4;case 4:return c=u,h=n?"":ou(eu(e)),n||i?(this.justPushed={path:l,folder:n,deleted:i,mtime:0,hash:""},[4,this.request({op:"push",path:l,relatedpath:c,extension:h,hash:"",ctime:0,mtime:0,folder:n,deleted:i})]):[3,6];case 5:return y.sent(),[2];case 6:return s.byteLength>0?[4,this.encryptionProvider.encrypt(s)]:[3,8];case 7:s=y.sent(),y.label=8;case 8:return a?[4,this.encryptionProvider.deterministicEncodeStr(a)]:[3,10];case 9:a=y.sent(),y.label=10;case 10:return p=s.byteLength,d=2097152,f=Math.ceil(p/d),this.justPushed={path:l,folder:n,deleted:i,mtime:o,hash:a},[4,this.request({op:"push",path:l,relatedpath:c,extension:h,hash:a,ctime:r,mtime:o,folder:n,deleted:i,size:p,pieces:f})];case 11:if("ok"===y.sent().res)return this.justPushed=null,[2];m=0,y.label=12;case 12:return m0){this.emptyEl.detach();var h=this.sortOrder,p=null;if("alphabetical"===h)p=function(e,t){return aC(e.tag,t.tag)};else if("alphabeticalReverse"===h)p=function(e,t){return-aC(e.tag,t.tag)};else{var d="frequencyReverse"===h?-1:1;p=function(e,t){var n=e.tag,i=t.tag,r=a[n],o=a[i];return r===o?aC(n,i):d*(o-r)}}var f=this.useHierarchy,m=function(e,n){var i=e.split("/").last();if(f&&i!==e){var r=e.substr(0,e.length-i.length-1),o=r.toLowerCase(),a=l[o];a||((a=new f9(t.tree,t)).setTag(r),l[o]=a),-1===a.vChildren.children.indexOf(n)&&a.vChildren.addChild(n),m(r,a)}else-1===t.tree.root.vChildren.children.indexOf(n)&&t.tree.root.vChildren.addChild(n)};for(var v in r)r.hasOwnProperty(v)&&r[v].vChildren.clear();for(var g=0,y=s;g0){new AT(t).setName(lm.setting.appearance.labelAdditionalRibbonItems()).setHeading();for(var h=t.createDiv(""),p=function(t){h.createDiv("mobile-option-setting-item",(function(i){i.createSpan("mobile-option-setting-item-add-icon",(function(i){Km(i,"lucide-plus-circle"),i.addEventListener("click",(function(){t.hidden=!1,n.onChange(!0),e.render()}))})),i.createSpan("mobile-option-setting-item-option-icon",(function(e){return Km(e,t.icon)})),i.createSpan({cls:"mobile-option-setting-item-name",text:t.title})}))},d=0,f=u;d0?Y9.msgUpdatesFound({count:s}):"")).then((function(e){s>0?(e.addButton((function(e){return e.setButtonText(Y9.buttonViewUpdates()).onClick((function(){new Z1(n,!0).setCloseCallback((function(){return R.display()})).open()}))})),e.addButton((function(e){return e.setCta().setButtonText(Y9.buttonUpdateAllThemes()).onClick((function(){return Nv(R.containerEl,(function(){return y(R,void 0,void 0,(function(){var e,t,n;return b(this,(function(r){switch(r.label){case 0:e=0,t=Object.values(i.updates),r.label=1;case 1:return e0&&e.addButton((function(e){return e.setCta().setButtonText(Y9.buttonCheckForUpdates()).onClick((function(){return y(R,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,Nv(this.containerEl,(function(){return i.checkForUpdates()}))];case 1:return e.sent(),this.display(),[2]}}))}))}))}))})),new AT(t).setHeading().setName(Y9.optionFont()),l=function(e,i,r){var o=function(){var e=I9(n.vault.getConfig(r)),t=createFragment();if(t.appendText(i),1===e.length){var o=e[0];t.createSpan({text:Y9.labelSingleFontCurrentlyInEffect()}),t.createSpan({text:o,cls:"u-pop"})}else if(e.length>1){t.createSpan({text:Y9.labelMultipleFontsCurrentlyInEffect()});for(var s=t.createEl("ul"),l=function(e){var t=s.createEl("li","");t.createSpan({text:e}),F9(e).then((function(e){e||(t.appendText(" "),t.createSpan("mod-warning",(function(e){Km(e,"lucide-alert-circle"),mv(e,lm.setting.appearance.msgFontNotFound())})))}))},c=0,u=e;c0))return[3,3];if(n=e[0],i=ou(eu(n)),!["png","ico","icns"].contains(i))return new vx("Supported file types are: png, ico, icns"),[2];if(r=k.readFileSync(n),"icns"===i){if(s=fu(r),o=function(e){var t=new Uint8Array(e);if(t.length<8||"icns"!==W9(t.slice(0,4)))return null;for(var n=8,i=null;n-1&&(i=t.slice(n+8,n+o)),n+=o}return i?yf(i):null}(s),!o)return new vx("This icns file does not have usable icons."),[2];r=mu(o),i="png"}if("ico"===i&&!Yl.isWin){if(s=fu(r),o=function(e){var t=new Uint8Array(e);if(t.length<6)return null;for(var n=function(e,t){return e[t]|e[t+1]<<8}(t,4),i=0,r=null,o=0;oi&&(i=p*d,r=l)}}}return r?yf(r):null}(s),!o)return new vx("This ico file does not have usable icons."),[2];r=mu(o),i="png"}return"png"!==i?[3,2]:(a=new Image,s=fu(r),l="data:image/png;base64,".concat(Cf(s)),[4,new Promise((function(e){var t=function(){return e()};a.addEventListener("load",t),a.addEventListener("error",t),a.src=l}))]);case 1:y.sent(),c=a.naturalWidth,u=a.naturalHeight,(h=t.doc.createElement("canvas")).width=c,h.height=u,(p=h.getContext("2d")).clearRect(0,0,c,u),p.drawImage(a,0,0,c,u),d=Math.floor(3*Math.min(c,u)/32),f=function(){for(var e=p.getImageData(0,0,c,u),t=function(t,n){return e.data[4*(t*c+n)+3]},n=Math.floor(d/2),i=0;i128||t(r,u-i-1)>128)return!1;for(r=0;r128||t(c-i-1,r)>128)return!1}return!0}(),f||(p.clearRect(0,0,c,u),p.drawImage(a,d,d,c-2*d,u-2*d),m=h.toDataURL("image/png"),g=m.match(/^data:([\w/\-.]+);base64,(.*)/),r=mu(kf(g[2]))),y.label=2;case 2:electron.ipcRenderer.sendSync("set-icon","icon."+i,r),x(),v.buttonEl.show(),y.label=3;case 3:return[2]}}))}))}))})).addButton((function(e){v=e,e.setCta().setButtonText(lm.setting.about.buttonRelaunch()).onClick((function(){E.app.relaunch(),E.app.quit()}))})),M=function(e){var t=w.join(E.app.getPath("userData"),e),n=C.pathToFileURL(t).href;return n.startsWith("file:///")?n=n.substring(8):n.startsWith("file://")&&(n="%5C%5C"+n.substring(7)),Yl.resourcePathPrefix+n+"?"+Date.now()},x=function(){var e=electron.ipcRenderer.sendSync("get-icon");g.extraSettingsEl.toggle(!!e),e?S.setDesc(createFragment((function(t){t.createEl("img",{attr:{width:64,height:64,src:M(e)}})}))):S.setDesc(Y9.optionCustomIconDesc())},v.buttonEl.hide(),x()),Yl.isDesktopApp&&Wf()&&new AT(t).setName(lm.plugins.translucency.name()).setDesc(lm.plugins.translucency.desc()).addToggle((function(e){return e.setValue(n.vault.getConfig("translucency")).onChange((function(e){i.setTranslucency(e)}))})),Yl.isDesktopApp&&(T=electron.ipcRenderer.sendSync("disable-gpu"),new AT(t).setName(lm.setting.about.optionHwAcceleration()).setDesc(createFragment((function(e){e.createDiv({text:lm.setting.about.optionHwAccelerationDescription()}),e.createDiv({cls:"mod-warning",text:lm.setting.about.optionHwAccelerationWarning()})}))).addButton((function(e){D=e,e.setCta().setButtonText(lm.setting.about.buttonRelaunch()).onClick((function(){If((function(e){e.ipcRenderer.sendSync("relaunch")}))})),e.buttonEl.hide()})).addToggle((function(e){return e.setValue(!T).onChange((function(e){e=!e,If((function(t){t.ipcRenderer.sendSync("disable-gpu",e),D.buttonEl.toggle(e!==T)}))}))}))),A=i.snippets,P=i.enabledSnippets,L=new AT(t).setHeading().setName(Y9.optionCssSnippets()).addExtraButton((function(e){return e.setIcon("lucide-refresh-cw").setTooltip(Y9.buttonReloadSnippets()).onClick((function(){return y(R,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,i.readSnippets()];case 1:return e.sent(),new vx(Y9.msgReloadedSnippets()),this.display(),[2]}}))}))}))})),Yl.isDesktopApp&&L.addExtraButton((function(e){return e.setIcon("lucide-folder-open").setTooltip(Y9.buttonOpenSnippetsFolder()).onClick((function(){return y(R,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return e=this.app.vault,t=i.getSnippetsFolder(),[4,e.exists(t)];case 1:return n.sent()?[3,3]:[4,e.createFolder(t)];case 2:n.sent(),n.label=3;case 3:return this.app.openWithDefaultApp(t),[2]}}))}))}))})),0===A.length&&new AT(t).setName(Y9.labelNoCssSnippetsFound()).setDesc(Y9.noSnippetDescription({path:"vault/".concat(i.getSnippetsFolder())})),I=function(e){new AT(t).setName(e).setDesc(Y9.optionToggleSnippetDescription({path:"vault/".concat(i.getSnippetPath(e))})).addToggle((function(t){return t.setValue(P.has(e)).onChange((function(t){i.setCssEnabledStatus(e,t)}))}))},O=0,F=A;O0?$9.msgUpdatesFound({count:l}):"")).then((function(e){l>0?e.addButton((function(e){return e.setCta().setButtonText($9.buttonUpdateAllPlugins()).onClick((function(){return Nv(n,(function(){return y(t,void 0,void 0,(function(){var e,t,n,r,o,a;return b(this,(function(l){switch(l.label){case 0:for(n in t=[],e=s)t.push(n);r=0,l.label=1;case 1:return r0&&e.addButton((function(e){return e.setCta().setButtonText($9.buttonCheckForUpdates()).onClick((function(){return Nv(n,(function(){return y(t,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,i.checkForUpdates()];case 1:return e.sent(),this.render(),[2]}}))}))}))}))}))})),a.length>0){new AT(n).setName($9.optionSearchInstalledPlugin()).setDesc($9.optionSearchInstalledPluginDescription()).addSearch((function(n){return n.setPlaceholder($9.placeholderSearchInstalledPlugin()).onChange((function(e){t.updateSearch(e)})).then((function(){n.inputEl.addEventListener("keypress",(function(e){e.isComposing||"Enter"!==e.key||Yl.hasPhysicalKeyboard||Cv()})),e&&Yl.hasPhysicalKeyboard&&setTimeout((function(){return n.inputEl.focus()}))}))}));var c=new AT(n).setHeading().setName($9.labelInstalledPlugins()).addExtraButton((function(e){return e.setIcon("lucide-refresh-cw").setTooltip($9.buttonReloadPlugins()).onClick((function(){return y(t,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,i.loadManifests()];case 1:return e.sent(),new vx($9.msgReloadedThirdPartyPlugins()),this.render(),[2]}}))}))}))}));Yl.isDesktopApp&&c.addExtraButton((function(e){return e.setIcon("lucide-folder-open").setTooltip($9.buttonOpenPluginsFolder()).onClick((function(){return y(t,void 0,void 0,(function(){var e,t;return b(this,(function(n){switch(n.label){case 0:return e=this.app.vault,t=i.getPluginFolder(),[4,e.exists(t)];case 1:return n.sent()?[3,3]:[4,e.createFolder(t)];case 2:n.sent(),n.label=3;case 3:return this.app.openWithDefaultApp(t),[2]}}))}))}))}))}for(var u=function(e){if(!r.hasOwnProperty(e)){var a=o[e].manifest;new AT(n).setName(a.name).setDesc(a.description).addToggle((function(e){return e.setValue(!0).onChange((function(e){return y(t,void 0,void 0,(function(){return b(this,(function(e){switch(e.label){case 0:return[4,i.disablePluginAndSave(a.id)];case 1:return e.sent(),this.render(),[2]}}))}))}))}))}},h=0,p=Object.keys(o);h0)for(var i=e.createEl("ul"),r=function(e){i.createEl("li","").createSpan({text:e},(function(t){e.length>2&&e.startsWith("/")&&e.endsWith("/")&&t.createSpan({text:"Regex",cls:"flair mod-flat"})}))},o=0,a=n;o2&&t.startsWith("/")&&t.endsWith("/")&&e.createSpan({text:"Regex",cls:"flair mod-flat"})})),n.createDiv("clickable-icon mobile-option-setting-item-option-icon",(function(n){Km(n,"lucide-x"),mv(n,lm.interface.deleteActionShortName()),n.addEventListener("click",(function(){r.remove(t),e.display()}))}))}))},a=0,s=r;a0){new AT(n).setName(lee.optionMoreToolbarOptions()).setHeading();for(var f=function(e){var t=o[e];n.createDiv("mobile-option-setting-item",(function(n){n.createSpan("mobile-option-setting-item-add-icon",(function(t){Km(t,"lucide-plus-circle"),t.addEventListener("click",(function(){s.contains(e)||(s.push(e),c())}))})),n.createSpan("mobile-option-setting-item-option-icon",(function(e){return Km(e,t.icon||"question-mark-glyph")})),n.createSpan({text:t.name})}))},m=0,v=l;m40)){var t=n.activeTab.containerEl;n.contentEl.prepend(n.tabHeadersEl),eg(n.tabHeadersEl),e.registerCallback({move:function(n,i){var r=t.offsetWidth,o=Math.clamp((n-e.startX)/r,0,1);t.style.transform="translateX(".concat(o*r,"px)")},cancel:function(){t.style.transform="",n.tabHeadersEl.detach()},finish:function(i,r,o){var a=t.offsetWidth,s=Math.clamp((i-e.startX)/a,0,1);.5*o0),this.corePluginTabContainer.setChildrenInPlace(t.map((function(e){return e.navEl}))),n.sort((function(e,t){return aC(e.name,t.name)})),this.communityPluginTabHeaderGroup.toggle(n.length>0),this.communityPluginTabContainer.setChildrenInPlace(n.map((function(e){return e.navEl})))},t.prototype.openTab=function(e){var t=this,n=this,i=n.activeTab,r=n.contentEl,o=n.tabContentContainer,a=n.tabHeadersEl;o.empty(),Om(this.activeTabCloseable),this.updateModalTitle(e),i&&(i.navEl.removeClass("is-active"),i.hide()),this.activeTab=e,this.lastTabId=e.id,e.navEl.addClass("is-active"),this.activeTabCloseable={close:this.closeActiveTab.bind(this)},Im(this.activeTabCloseable),o.appendChild(e.containerEl),this.titleEl.createDiv({cls:"modal-setting-back-button",prepend:!0},(function(e){e.addEventListener("click",(function(){return t.closeActiveTab()})),e.createSpan("modal-setting-back-button-icon",(function(e){Km(e,"lucide-arrow-left")}))})),Yl.isPhone&&!i?($v(a),Tl(r,o,"right")):r.appendChild(o),e.display()},t.prototype.closeActiveTab=function(){var e=this,t=this,n=t.activeTab,i=t.contentEl,r=t.tabContentContainer,o=t.tabHeadersEl;if(n){var a=function(){r.empty(),n.navEl.removeClass("is-active"),n.hide(),e.updateModalTitle(),Om(e.activeTabCloseable),e.activeTabCloseable=null};Yl.isPhone&&i.isShown()&&this.activeTab.containerEl.isShown()?Tl(i,o,"left",a):(i.setChildrenInPlace([o]),a()),eg(o),this.activeTab=null}},t.prototype.openTabById=function(e){for(var t=0,n=this.settingTabs;t5&&l(e))},u=function(){document.removeEventListener("touchmove",c),document.removeEventListener("touchcancel",l),document.removeEventListener("touchend",l)};document.addEventListener("touchmove",c),document.addEventListener("touchcancel",l),document.addEventListener("touchend",l)}}}),!0)),window.frameDom&&window.frameDom.titleBarEl.hide(),i=window.matchMedia("(min-width: 600px) and (min-height: 600px)"),r=function(){Yl.mobileSoftKeyboardVisible||(Yl.isTablet=i.matches,Yl.isPhone=!i.matches,document.body.toggleClass("is-tablet",Yl.isTablet),document.body.toggleClass("is-phone",Yl.isPhone))},i.addEventListener("change",wc(r,10)),r()),xm&&xm.hasPhysicalKeyboard().then((function(e){Yl.hasPhysicalKeyboard=e.hasPhysicalKeyboard})),this.isMobile=Yl.isMobile,Yl.isMobile&&o.addClass("is-mobile"),Yl.isMacOS||document.body.addClass("styled-scrollbars"),Yl.isIosApp&&function(){document.body.style["-webkit-touch-callout"]="none";var e=window;e.addEventListener("touchstart",(function(t){if(!(t.touches.length>1)){var n=t.touches[0],i=t.targetNode,r=n.clientX,o=n.clientY,a=n.identifier,s=800;i instanceof Element&&i.matchParent('[draggable="true"]')&&(s=1200);var l=window.setTimeout((function(){c(),i.dispatchEvent(new MouseEvent("contextmenu",{button:0,buttons:0,ctrlKey:t.ctrlKey,altKey:t.altKey,metaKey:t.metaKey,shiftKey:t.shiftKey,screenX:n.screenX,screenY:n.screenY,bubbles:!0,cancelable:!0,clientX:r,clientY:o}))||navigator.vibrate(200)}),s),c=function(){e.removeEventListener("touchcancel",h,!0),e.removeEventListener("touchend",h,!0),e.removeEventListener("touchmove",p,!0),e.removeEventListener("dragstart",d,!0),window.clearTimeout(l),Oc=null};Oc=c;var u=function(e,t){var n=t.clientX-r,i=t.clientY-o;n*n+i*i>25&&c()},h=function(e){for(var t=e.changedTouches,n=0;n0)for(var i=0,r=e.children;it(e.oldVersion,e))),nQ(n).then((()=>{}))}(R.appId+"-sync")}catch(e){console.error("Failed to clean-up Sync DB",e)}}),3e4),function(e){xJ.duration=performance.now();var t=0,n=0;e.workspace.iterateAllLeaves((function(e){t++,(e.view instanceof wJ||e.view instanceof rG||e.view instanceof kJ)&&n++})),MJ.views=t,MJ.deferredViews=n,SJ.sort((function(e,t){return e.ts-t.ts}));for(var i=0,r=0,o=SJ;r8e3&&new vx(lm.interface.msgSlowBoot()).addButton(lm.dialogue.buttonView(),(function(){var t=new A8(e);t.shouldAnimate=!1,t.open()}))}(this),[2]}}))}))},e.prototype.onConfigChanged=function(e){switch(e){case"accentColor":this.updateAccentColor();break;case"theme":this.updateTheme();break;case"cssTheme":this.customCss.reloadTheme();break;case"interfaceFontFamily":case"textFontFamily":case"monospaceFontFamily":this.updateFontFamily();break;case"baseFontSize":this.updateFontSize();break;case"showInlineTitle":this.updateInlineTitleDisplay();break;case"showViewHeader":this.updateViewHeaderDisplay();break;case"showRibbon":this.updateRibbonDisplay(),this.workspace.updateFrameless();break;case"nativeMenus":this.updateUseNativeMenu();break;case"mobileQuickRibbonItem":this.mobileNavbar.updateRibbonMenuItem();break;case"tabSize":this.updateTabSize()}},e.prototype.registerCommands=function(){var e=this,t=this.commands;t.addCommand({id:"app:go-back",name:lm.commands.navigateBack(),icon:"lucide-arrow-left",checkCallback:function(t){var n=e.workspace.activeLeaf;if(n&&n.view.navigation)return t||n.history.back(),!0},hotkeys:[oF(["Mod","Alt"],"ArrowLeft")]}),t.addCommand({id:"app:go-forward",name:lm.commands.navigateForward(),icon:"lucide-arrow-right",checkCallback:function(t){var n=e.workspace.activeLeaf;if(n&&n.view.navigation)return t||n.history.forward(),!0},hotkeys:[oF(["Mod","Alt"],"ArrowRight")]}),t.addCommand({id:"app:open-vault",name:lm.interface.switchVault(),icon:"vault",callback:this.openVaultChooser.bind(this)}),Yl.isMobile&&t.addCommand({id:"app:show-tab-switcher",name:lm.interface.mobile.actionShowSwitcher(),icon:"lucide-square",checkCallback:function(t){if(Yl.isPhone)return t||e.mobileTabSwitcher.show(),!0}}),t.addCommand({id:"theme:toggle-light-dark",name:lm.commands.toggleLightDarkMode(),callback:function(){if("system"===e.vault.getConfig("theme")){var t=document.body,n=e.customCss.isDarkMode();e.disableCssTransition(),setTimeout((function(){return e.enableCssTransition()}),200),t.toggleClass("theme-dark",!n),t.toggleClass("theme-light",n),e.workspace.trigger("css-change"),e.updateMobileFrameTheme(n)}else{n=e.customCss.isDarkMode();e.changeTheme(n?"moonstone":"obsidian")}}}),t.addCommand({id:"theme:switch",name:lm.commands.changeTheme(),callback:function(){return new _1(e).open()}}),t.addCommand({id:"app:open-settings",name:lm.commands.openSettings(),icon:"lucide-settings",callback:function(){return e.setting.open()},hotkeys:[oF(["Mod"],",")]}),Yl.isDesktopApp&&t.addCommand({id:"app:show-release-notes",name:lm.commands.showReleaseNotes(),callback:function(){return e.showReleaseNotes()}}),t.addCommand({id:"markdown:toggle-preview",name:lm.commands.togglePreview(),icon:"lucide-book-open",checkCallback:function(t){var n=e.workspace.activeEditor;if(n)return t||n.toggleMode(),!0},hotkeys:[oF(["Mod"],"E")]});var n=function(){if(kD(e.workspace))return!0;if(e.internalPlugins.getEnabledPluginById("properties")){var t=e.workspace.getActiveFile();return"md"===(null==t?void 0:t.extension)}return!1};t.addCommand({id:"markdown:add-metadata-property",name:lm.commands.addProperty(),icon:"lucide-plus-circle",checkCallback:function(t){if(n())return t||y(e,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return[4,CD(this)];case 1:return null==(e=t.sent())||e.addProperty(),[2]}}))})),!0},hotkeys:[oF(["Mod"],";")]}),t.addCommand({id:"markdown:add-alias",name:lm.commands.addAlias(),icon:"lucide-forward",checkCallback:function(t){if(n())return t||y(e,void 0,void 0,(function(){var e;return b(this,(function(t){switch(t.label){case 0:return[4,CD(this)];case 1:return null==(e=t.sent())||e.addProperty("aliases"),[2]}}))})),!0}}),t.addCommand({id:"markdown:clear-metadata-properties",name:lm.commands.clearProperties(),icon:"lucide-package-x",checkCallback:function(t){var n=e.workspace.getActiveFile();if(n&&PM.contains(n.extension))return t||e.vault.process(n,(function(e){return Ux(e,{})})),!0}}),t.addCommand({id:"app:delete-file",name:lm.commands.deleteCurrentFile(),icon:"lucide-trash-2",checkCallback:function(t){var n=e.workspace.getActiveFile();if(n)return t||e.fileManager.promptForDeletion(n),!0}}),t.addCommand({id:"app:toggle-ribbon",name:lm.commands.toggleRibbon(),checkCallback:function(t){if(Yl.isDesktop&&activeWindow===window){if(!t){var n=e.vault.getConfig("showRibbon");e.vault.setConfig("showRibbon",!n)}return!0}return!1}}),t.addCommand({id:"editor:toggle-readable-line-length",name:lm.commands.toggleReadableLineLength(),icon:"lucide-ruler",callback:function(){return e.vault.setConfig("readableLineLength",!e.vault.getConfig("readableLineLength"))}}),t.addCommand({id:"app:toggle-left-sidebar",name:lm.commands.toggleLeftSidebar(),checkCallback:function(t){if(activeWindow===window){if(!t){var n=e.workspace.leftSplit;Yl.canPinSidebar&&n instanceof QJ?n.togglePinned():n.toggle()}return!0}return!1}}),t.addCommand({id:"app:toggle-right-sidebar",name:lm.commands.toggleRightSidebar(),checkCallback:function(t){if(activeWindow===window){if(!t){var n=e.workspace.rightSplit;Yl.canPinSidebar&&n instanceof QJ?n.togglePinned():n.toggle()}return!0}return!1}}),t.addCommand({id:"app:toggle-default-new-pane-mode",name:lm.commands.toggleDefaultNewTabMode(),callback:function(){var t=e.vault.getConfig("defaultViewMode");"source"===t?(e.vault.setConfig("defaultViewMode","preview"),new vx(lm.interface.msgSwitchedToRead())):"preview"===t&&(e.vault.setConfig("defaultViewMode","source"),new vx(lm.interface.msgSwitchedToEdit()))}}),t.addCommand({id:"app:open-help",name:lm.commands.openHelp(),icon:"question-mark-glyph",callback:this.openHelp.bind(this),hotkeys:[oF([],"F1")]}),t.addCommand({id:"app:reload",name:lm.commands.reload(),icon:"lucide-rotate-ccw",callback:function(){return window.location.reload()}}),t.addCommand({id:"app:show-debug-info",name:lm.commands.showDebugInfo(),callback:function(){return new C1(e).open()}}),Yl.isDesktopApp&&(t.addCommand({id:"app:open-sandbox-vault",name:lm.commands.openSandboxVault(),callback:function(){electron.ipcRenderer.sendSync("sandbox")}}),t.addCommand({id:"window:toggle-always-on-top",name:lm.commands.alwaysOnTop(),checkCallback:function(e){if(activeWindow!==window){var t=activeWindow.electronWindow;if(!t.isMaximized())return e||t.setAlwaysOnTop(!t.isAlwaysOnTop()),!0}return!1}}),t.addCommand({id:"window:zoom-in",name:lm.commands.zoomIn(),callback:function(){var e=electron.webFrame.getZoomLevel();e<3&&electron.webFrame.setZoomLevel(e+.5)}}),t.addCommand({id:"window:zoom-out",name:lm.commands.zoomOut(),callback:function(){var e=electron.webFrame.getZoomLevel();e>-2.5&&electron.webFrame.setZoomLevel(e-.5)}}),t.addCommand({id:"window:reset-zoom",name:lm.commands.resetZoom(),callback:function(){electron.webFrame.setZoomLevel(0)}})),t.addCommand({id:"file-explorer:new-file",name:lm.plugins.fileExplorer.actionCreateNote(),icon:"lucide-file-plus",callback:function(){return e.fileManager.createAndOpenMarkdownFile("","tab")},hotkeys:[oF(["Mod"],"N")]}),t.addCommand({id:"file-explorer:new-file-in-current-tab",name:lm.plugins.fileExplorer.actionCreateNoteInCurrentTab(),icon:"lucide-file-plus",callback:function(){return e.fileManager.createAndOpenMarkdownFile("",!1)}}),t.addCommand({id:"file-explorer:new-file-in-new-pane",name:lm.plugins.fileExplorer.actionCreateNoteToTheRight(),icon:"lucide-file-plus",callback:function(){return e.fileManager.createAndOpenMarkdownFile("","split")},hotkeys:[oF(["Mod","Shift"],"N")]}),t.addCommand({id:"open-with-default-app:open",name:Yl.isMobileApp?lm.plugins.openWithDefaultApp.actionOpenFileMobile():lm.plugins.openWithDefaultApp.actionOpenFile(),icon:"lucide-arrow-up-right",checkCallback:function(t){var n=e.workspace.getActiveFile();if(n)return t||e.openWithDefaultApp(n.path),!0}}),t.addCommand({id:"file-explorer:move-file",name:lm.plugins.fileExplorer.commandMoveFile(),icon:"lucide-folder-tree",checkCallback:function(t){var n=e.workspace.getActiveFile();if(n)return t||new D1(e,[n]).open(),!0}}),t.addCommand({id:"file-explorer:duplicate-file",name:Yl.isMacOS?lm.plugins.fileExplorer.commandMakeACopyMac():lm.plugins.fileExplorer.commandMakeACopy(),icon:"lucide-files",checkCallback:function(t){var n=e.workspace.getActiveFile();if(n)return t||y(e,void 0,void 0,(function(){var e,t;return b(this,(function(i){switch(i.label){case 0:return e=this.vault.getAvailablePath(ru(n.path),n.extension),[4,this.vault.copy(n,e)];case 1:return t=i.sent(),this.workspace.getLeaf("tab").openFile(t,{active:!0,eState:{rename:"all"}}),[2]}}))})),!0}}),Yl.isDesktopApp&&t.addCommand({id:"open-with-default-app:show",name:Yl.isMacOS?lm.plugins.openWithDefaultApp.actionShowInFolderMac():lm.plugins.openWithDefaultApp.actionShowInFolder(),icon:"lucide-files",checkCallback:function(t){var n=e.workspace.getActiveFile();if(n)return t||e.showInFolder(n.path),!0}}),function(e){var t=this,n=e.commands;function i(){var t=e.vault.getConfig("foldHeading"),n=e.vault.getConfig("foldIndent");return t||n}n.addCommand({id:"editor:toggle-source",name:lm.commands.toggleSourceMode(),icon:"lucide-code-2",checkCallback:function(t){var n=e.workspace.activeEditor;if(n instanceof U0&&n.currentMode===n.editMode){if(!t){var i=n.leaf,r=n.getState();r.source=!r.source,i.setViewState({type:j0,state:r,active:!0}),e.workspace.requestSaveLayout()}return!0}}}),n.addCommand({id:"editor:open-search",name:lm.commands.searchCurrentFile(),icon:"lucide-search",checkCallback:function(t){var n,i=e.workspace.activeEditor;if(i&&uF(i))return t||i.showSearch(!1),!0;var r=null===(n=e.workspace.activeLeaf)||void 0===n?void 0:n.view;return r&&uF(r)?(t||r.showSearch(!1),!0):void 0},hotkeys:[oF(["Mod"],"F")]}),n.addCommand({id:"editor:open-search-replace",name:lm.commands.searchReplaceCurrentFile(),icon:"lucide-search",checkCallback:function(t){var n=e.workspace.activeEditor;if(n&&"source"===n.getMode())return t||n.showSearch(!0),!0},hotkeys:[ql?oF(["Mod","Alt"],"F"):oF(["Mod"],"H")]}),n.addCommand({id:"editor:focus",name:lm.commands.focusEditor(),checkCallback:function(t){var n=e.workspace.getActiveViewOfType(U0);if(!n){var i=null;e.workspace.iterateAllLeaves((function(e){e.view instanceof U0&&(!i||i.activeTimer.to&&(r=a)}var s=ty(n.state.doc,r.from),l=ey(n.state.doc,{line:s.line+1,ch:s.ch});n.dispatch({selection:i.addRange(pe.cursor(l)),userEvent:"select"})}return!0}return!1}}),n.addCommand({id:"editor:add-cursor-above",name:lm.commands.addCursorAbove(),icon:"lucide-mouse-pointer-click",repeatable:!0,editorCheckCallback:function(e,t){if(t instanceof _K){if(!e){for(var n=t.cm,i=n.state.selection,r=i.ranges[0],o=1;o0})),l("row-down",lm.table.actionRowDown(),"lucide-arrow-down",(function(e){var t=e.table,n=e.cell;t.moveRow(n.row,n.row+1,n.col)}),(function(e){var t=e.table;return e.cell.row0})),l("col-right",lm.table.actionColumnRight(),"lucide-arrow-right",(function(e){var t=e.table,n=e.cell;t.moveColumn(n.col,n.col+1,n.row)}),(function(e){var t=e.table;return e.cell.col0?localStorage.setItem("spellcheck-languages",JSON.stringify(e)):localStorage.removeItem("spellcheck-languages"),Yl.isDesktopApp&&Gf(e)},e.prototype.isVimEnabled=function(){return Yl.isMobile?!!localStorage.getItem("vim"):this.vault.getConfig("vimMode")},e}();!function(){y(this,void 0,void 0,(function(){var e,t,n,i,r,o,a=this;return b(this,(function(s){switch(s.label){case 0:return Yl.isDesktopApp=!0,Yl.isDesktop=!0,Yl.hasPhysicalKeyboard=!0,TJ("initialization"),[4,om];case 1:if(s.sent(),e=Lf("electron"),t=e.ipcRenderer.sendSync("vault"),n=t.id,!(i=t.path)||!Lf("original-fs").existsSync(i))return e.ipcRenderer.sendSync("starter"),window.close(),[2];try{(r=navigator.clipboard).readText=function(){return y(this,void 0,Promise,(function(){return b(this,(function(e){return[2,window.electron.clipboard.readText()]}))}))},r.writeText=function(e){return y(this,void 0,Promise,(function(){return b(this,(function(t){return window.electron.clipboard.writeText(e),[2]}))}))},Object.defineProperty(navigator,"clipboard",{get:function(){if(activeWindow===window)return r;var e=activeWindow.navigator.clipboard;return e.readText=r.readText,e.writeText=r.writeText,e}})}catch(e){}return Yl.isLinux&&window.addEventListener("mousedown",(function(e){if(1===e.button){var t=e.win,n=t.document,i=n.activeElement,r=e,o=!1,a=function(e){if(1===e.button)if(t.removeEventListener("mouseup",a),r.defaultPrevented)e.preventDefault();else if(n.activeElement!==i||o)e.preventDefault();else{var s,l=function(e){e.defaultPrevented||u()},c=function(e){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation()},u=function(){t.removeEventListener("auxclick",l),t.removeEventListener("paste",c,{capture:!0}),t.clearTimeout(s)};t.addEventListener("auxclick",l),t.addEventListener("paste",c,{capture:!0}),s=t.setTimeout(u,100)}};if(t.addEventListener("mouseup",a),i&&i.instanceOf(HTMLElement)&&i!==n.body){var s=e.targetNode;if(i.contains(s)){if(!i.instanceOf(HTMLInputElement))for(;s&&s!==i;){if(s.instanceOf(HTMLElement)){if("false"===s.contentEditable){o=!0;break}if("true"===s.contentEditable)break}s=s.parentElement}}else i.blur()}else o=!0}})),uY(window),gee(window),oY(window),o=new Cu(i),document.title=eu(lu(i))+" - Obsidian v"+e.ipcRenderer.sendSync("version"),ready((function(){return y(a,void 0,void 0,(function(){return b(this,(function(e){return window.app=new Cee(o,n),[2]}))}))})),[2]}}))}))}()})()})();(()=>{"use strict";function t(){Object.hasOwn||(Object.hasOwn=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)});var t=Object.hasOwn;function e(t,e,n){t[e]||Object.defineProperty(t,e,{value:n,enumerable:!1,configurable:!0,writable:!0})}function n(t,e,n){Object.defineProperty(t,e,{get:n,enumerable:!1,configurable:!0})}for(var r=window,o=0,i=["TouchEvent"];o=0;e--)this[e]===t&&this.splice(e,1)})),e(Array.prototype,"shuffle",(function(){for(var t,e,n=this.length;0!==n;)e=Math.floor(Math.random()*n),t=this[n-=1],this[n]=this[e],this[e]=t;return this})),e(Array.prototype,"findLastIndex",(function(t){for(var e=this.length-1;e<=0;e--)if(t(this[e],e))return e;return-1})),e(Array.prototype,"unique",(function(){return Array.from(new Set(this).values())})),e(Math,"clamp",(function(t,e,n){return Math.min(Math.max(t,e),n)})),e(Math,"square",(function(t){return t*t})),e(String,"isString",(function(t){return"string"==typeof t||t instanceof String})),e(String.prototype,"contains",String.prototype.includes||function(t){return-1!==this.indexOf(t)}),e(String.prototype,"startsWith",(function(t,e){return this.substr(!e||e<0?0:+e,t.length)===t})),e(String.prototype,"endsWith",(function(t,e){var n=void 0===e||e>this.length?this.length:e;return this.substring(n-t.length,n)===t})),e(String.prototype,"format",(function(){for(var t=[],e=0;e=200&&t<400?r&&r(e,c):o&&o(e,c)},c.onerror=function(t){o&&o(t,c)},s)for(var u in s)s.hasOwnProperty(u)&&c.setRequestHeader(u,s[u]);c.withCredentials=a||!1,i?(void 0===a&&(c.withCredentials=!0),String.isString(i)?c.send(i):i instanceof ArrayBuffer?(c.setRequestHeader("Content-Type","application/octet-stream"),c.send(i)):(c.setRequestHeader("Content-Type","application/json; charset=utf-8"),c.send(JSON.stringify(i)))):c.send()},window.ajaxPromise=function(t){return new Promise((function(e,n){t.success=e,t.error=function(t,e){return n(e)},ajax(t)}))},window.ready=function(t){"loading"!==document.readyState?t():document.addEventListener("DOMContentLoaded",t)},window.sleep=function(t){return new Promise((function(e){return window.setTimeout(e,t)}))},window.nextFrame=function(){return new Promise((function(t){return window.requestAnimationFrame((function(){return t()}))}))},window.activeWindow=window,window.activeDocument=document}t(),window.globalEnhance=t})(); Obsidian (()=>{"use strict";var a=function(e,M){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var M in e)Object.prototype.hasOwnProperty.call(e,M)&&(a[M]=e[M])},a(e,M)};function e(e,M){if("function"!=typeof M&&null!==M)throw new TypeError("Class extends value "+String(M)+" is not a constructor or null");function t(){this.constructor=e}a(e,M),e.prototype=null===M?Object.create(M):(t.prototype=M.prototype,new t)}function M(a,e,M,t){return new(M||(M=Promise))((function(h,r){function l(a){try{o(t.next(a))}catch(a){r(a)}}function i(a){try{o(t.throw(a))}catch(a){r(a)}}function o(a){var e;a.done?h(a.value):(e=a.value,e instanceof M?e:new M((function(a){a(e)}))).then(l,i)}o((t=t.apply(a,e||[])).next())}))}function t(a,e){var M,t,h,r,l={label:0,sent:function(){if(1&h[0])throw h[1];return h[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(i){return function(o){return function(i){if(M)throw new TypeError("Generator is already executing.");for(;r&&(r=0,i[0]&&(l=0)),l;)try{if(M=1,t&&(h=2&i[0]?t.return:i[0]?t.throw||((h=t.return)&&h.call(t),0):t.next)&&!(h=h.call(t,i[1])).done)return h;switch(t=0,h&&(i=[2&i[0],h.value]),i[0]){case 0:case 1:h=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,t=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(h=l.trys,(h=h.length>0&&h[h.length-1])||6!==i[0]&&2!==i[0])){l=0;continue}if(3===i[0]&&(!h||i[1]>h[0]&&i[1]0){var e=a[0];localStorage.setItem(b,e),location.reload()}}},V&&(window.i18nResetStaleKey=function(a){if(u.isDesktopApp){var e=window.require("original-fs"),M=electron.ipcRenderer.sendSync("resources");for(var t in w)if(w.hasOwnProperty(t)){var h=M+"/i18n/"+t+".json";try{if(e.existsSync(h)){for(var r=e.readFileSync(h,"utf8"),l=JSON.parse(r),i=l,o=a.split("."),n=o.pop(),c=z,s=0,v=o;s0&&(D||Date.now()>K+100))return P(),M.delay=0,void(T=window.setTimeout((function(){return R(a,e,M)}),s));if(a.isShown()){var v=a.doc,m=a.getBoundingClientRect(),u=m.top,p=m.left,d=m.width,f=m.height;if(n){var g=n.getBoundingClientRect();p=g.left,d=g.width}D&&O===a?D.setText(e):(W(),D=createDiv({cls:"tooltip",text:e}));var H=D.createDiv("tooltip-arrow"),V=0,b=0;"bottom"===h?(V=u+f+o,b=p+d/2):"right"===h?(V=u+f/2,b=p+d+o,l.push("mod-right")):"left"===h?(V=u+f/2,b=p-o,l.push("mod-left")):"top"===h&&(V=u-o-5,b=p+d/2,l.push("mod-top")),D.addClasses(l),D.style.top="0px",D.style.left="0px",D.style.width="",D.style.height="",D.parentNode||v.body.appendChild(D);var y=D.getBoundingClientRect(),w=["bottom","top"].contains(h)?y.width/2:y.width,C="right"===h||"left"===h?y.height/2:y.height;"left"===h?b-=w:"top"===h&&(V-=C);var L=v.body.clientHeight,A=v.body.clientWidth;if(V+C>L&&(V=L-C-o),V=Math.max(V,o),"top"===h||"bottom"===h){if(b+w>A)b-=k=b+w+o-A,H.style.left="initial",H.style.right=w-k-o/2+"px";else if(b-o-w<0){var k;b+=k=-(b-o-w),H.style.right="initial",H.style.left=w-k-o/2+"px"}b=Math.max(b,o)}D.style.top=V+"px",D.style.left=b+"px",D.style.width=y.width+"px",D.style.height=y.height+"px",O=a}}}function W(){P(),D&&(K=Date.now(),D.detach(),D=null,O=null)}function U(a,e){var M=e||{},t=M.placement,h=M.classes,r=M.delay;t&&"bottom"!==t&&a.setAttribute("data-tooltip-position",t),h&&a.setAttribute("data-tooltip-classes",h.join(" ")),r&&a.setAttribute("data-tooltip-delay",String(r))}function G(a,e,M){a.setAttribute("aria-label",e),U(a,M),O===a&&R(a,e,M)}var _='',J=function(){function a(a,e){this.requestUpdateStatus=function(a,e,M){void 0===e&&(e=0),void 0===M&&(M=!1);var t=null,h=null,r=null,l=0,i=0,o=activeWindow,n=function(){var e=h,M=r;return h=null,r=null,a.apply(e,M)},c=function(){if(l){var a=Date.now();if(a ',G(c,S.interface.window.restoreDown())):(c.innerHTML=_,G(c,S.interface.window.maximize())))};x.then((function(){s()})),e.addEventListener("resize",s)}if(a.closable){var v=o.createDiv({cls:"titlebar-button mod-close",onclick:function(){return a.close()}});v.innerHTML=' ',x.then((function(){G(v,S.interface.window.closeWindow())}))}}!function(a){if(!u.isMacOS||!u.isDesktopApp)return;a.addEventListener("dblclick",(function(e){if(0===e.button){var M=e.target;if(!M.instanceOf(HTMLElement)||!(M.closest(".clickable-icon")||M.closest(".workspace-tab-header-inner-close-button")||M.closest(".workspace-tab-header")&&M.closest(".workspace-split.mod-sidedock"))){var t=a.win.electronWindow;t.isMaximizable&&f((function(a){var e=a.remote.systemPreferences.getUserDefault("AppleActionOnDoubleClick","string");"Minimize"===e?t.minimize():"Maximize"!==e&&""!==e||(t.isMaximized()?t.unmaximize():t.maximize())}))}}}))}(l)}return a.prototype.updateTitle=function(){this.titleBarTextEl.setText(this.win.document.title)},a.prototype.updateStatus=function(){var a=this.win,e=this.eWin;if(!a.closed){var M=e.webContents.getZoomFactor(),t=a.document.body;if(t.toggleClass("is-fullscreen",e.isFullScreen()),t.toggleClass("is-maximized",e.isMaximized()),t.style.setProperty("--zoom-factor",String(M)),this.isMac&&"hidden"===a.titlebarStyle){var h=40,r=getComputedStyle(t).getPropertyValue("--header-height");r&&(h=parseFloat(r)),(isNaN(h)||0===h)&&(h=40);var l=Math.floor(h*M/2-8);l<-5&&(l=0),(e.setWindowButtonPosition||e.setTrafficLightPosition)({x:l+2,y:l})}}},a}();const X={"a-arrow-down":[[6,"M3.5 13h6"],[6,"m2 16 4.5-9 4.5 9"],[6,"M18 7v9"],[6,"m14 12 4 4 4-4"]],"a-arrow-up":[[6,"M3.5 13h6"],[6,"m2 16 4.5-9 4.5 9"],[6,"M18 16V7"],[6,"m14 11 4-4 4 4"]],"a-large-small":[[6,"M21 14h-5"],[6,"M16 16v-3.5a2.5 2.5 0 0 1 5 0V16"],[6,"M4.5 13h6"],[6,"m3 16 4.5-9 4.5 9"]],accessibility:[[1,16,4,1],[6,"m18 19 1-7-6 1"],[6,"m5 8 3-3 5.5 3-2.36 3.5"],[6,"M4.24 14.5a5 5 0 0 0 6.88 6"],[6,"M13.76 17.5a5 5 0 0 0-6.88-6"]],activity:[[6,"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"]],"activity-square":[[5,3,3,18,18,2],[6,"M17 12h-2l-2 5-2-10-2 5H7"]],"air-vent":[[6,"M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"],[6,"M6 8h12"],[6,"M18.3 17.7a2.5 2.5 0 0 1-3.16 3.83 2.53 2.53 0 0 1-1.14-2V12"],[6,"M6.6 15.6A2 2 0 1 0 10 17v-5"]],airplay:[[6,"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1"],[6,"m12 15 5 6H7Z"]],"alarm-check":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"m9 13 2 2 4-4"]],"alarm-clock":[[1,12,13,8],[6,"M12 9v4l2 2"],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"]],"alarm-clock-check":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"m9 13 2 2 4-4"]],"alarm-clock-minus":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"M9 13h6"]],"alarm-clock-off":[[6,"M6.87 6.87a8 8 0 1 0 11.26 11.26"],[6,"M19.9 14.25a8 8 0 0 0-9.15-9.15"],[6,"m22 6-3-3"],[6,"M6.26 18.67 4 21"],[6,"m2 2 20 20"],[6,"M4 4 2 6"]],"alarm-clock-plus":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"M12 10v6"],[6,"M9 13h6"]],"alarm-minus":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"M9 13h6"]],"alarm-plus":[[1,12,13,8],[6,"M5 3 2 6"],[6,"m22 6-3-3"],[6,"M6.38 18.7 4 21"],[6,"M17.64 18.67 20 21"],[6,"M12 10v6"],[6,"M9 13h6"]],"alarm-smoke":[[6,"M11 21c0-2.5 2-2.5 2-5"],[6,"M16 21c0-2.5 2-2.5 2-5"],[6,"m19 8-.8 3a1.25 1.25 0 0 1-1.2 1H7a1.25 1.25 0 0 1-1.2-1L5 8"],[6,"M21 3a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1z"],[6,"M6 21c0-2.5 2-2.5 2-5"]],album:[[5,3,3,18,18,2,2],[2,"11 3 11 11 14 8 17 11 17 3"]],"alert-circle":[[1,12,12,10],[0,12,8,12,12],[0,12,16,12.01,16]],"alert-octagon":[[6,"M12 16h.01"],[6,"M12 8v4"],[6,"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z"]],"alert-triangle":[[6,"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"],[6,"M12 9v4"],[6,"M12 17h.01"]],"align-center":[[0,21,6,3,6],[0,17,12,7,12],[0,19,18,5,18]],"align-center-horizontal":[[6,"M2 12h20"],[6,"M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4"],[6,"M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4"],[6,"M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1"],[6,"M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1"]],"align-center-vertical":[[6,"M12 2v20"],[6,"M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4"],[6,"M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4"],[6,"M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1"],[6,"M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1"]],"align-end-horizontal":[[5,4,2,6,16,2],[5,14,9,6,9,2],[6,"M22 22H2"]],"align-end-vertical":[[5,2,4,16,6,2],[5,9,14,9,6,2],[6,"M22 22V2"]],"align-horizontal-distribute-center":[[5,4,5,6,14,2],[5,14,7,6,10,2],[6,"M17 22v-5"],[6,"M17 7V2"],[6,"M7 22v-3"],[6,"M7 5V2"]],"align-horizontal-distribute-end":[[5,4,5,6,14,2],[5,14,7,6,10,2],[6,"M10 2v20"],[6,"M20 2v20"]],"align-horizontal-distribute-start":[[5,4,5,6,14,2],[5,14,7,6,10,2],[6,"M4 2v20"],[6,"M14 2v20"]],"align-horizontal-justify-center":[[5,2,5,6,14,2],[5,16,7,6,10,2],[6,"M12 2v20"]],"align-horizontal-justify-end":[[5,2,5,6,14,2],[5,12,7,6,10,2],[6,"M22 2v20"]],"align-horizontal-justify-start":[[5,6,5,6,14,2],[5,16,7,6,10,2],[6,"M2 2v20"]],"align-horizontal-space-around":[[5,9,7,6,10,2],[6,"M4 22V2"],[6,"M20 22V2"]],"align-horizontal-space-between":[[5,3,5,6,14,2],[5,15,7,6,10,2],[6,"M3 2v20"],[6,"M21 2v20"]],"align-justify":[[0,3,6,21,6],[0,3,12,21,12],[0,3,18,21,18]],"align-left":[[0,21,6,3,6],[0,15,12,3,12],[0,17,18,3,18]],"align-right":[[0,21,6,3,6],[0,21,12,9,12],[0,21,18,7,18]],"align-start-horizontal":[[5,4,6,6,16,2],[5,14,6,6,9,2],[6,"M22 2H2"]],"align-start-vertical":[[5,6,14,9,6,2],[5,6,4,16,6,2],[6,"M2 2v20"]],"align-vertical-distribute-center":[[6,"M22 17h-3"],[6,"M22 7h-5"],[6,"M5 17H2"],[6,"M7 7H2"],[5,5,14,14,6,2],[5,7,4,10,6,2]],"align-vertical-distribute-end":[[5,5,14,14,6,2],[5,7,4,10,6,2],[6,"M2 20h20"],[6,"M2 10h20"]],"align-vertical-distribute-start":[[5,5,14,14,6,2],[5,7,4,10,6,2],[6,"M2 14h20"],[6,"M2 4h20"]],"align-vertical-justify-center":[[5,5,16,14,6,2],[5,7,2,10,6,2],[6,"M2 12h20"]],"align-vertical-justify-end":[[5,5,12,14,6,2],[5,7,2,10,6,2],[6,"M2 22h20"]],"align-vertical-justify-start":[[5,5,16,14,6,2],[5,7,6,10,6,2],[6,"M2 2h20"]],"align-vertical-space-around":[[5,7,9,10,6,2],[6,"M22 20H2"],[6,"M22 4H2"]],"align-vertical-space-between":[[5,5,15,14,6,2],[5,7,3,10,6,2],[6,"M2 21h20"],[6,"M2 3h20"]],ambulance:[[6,"M10 10H6"],[6,"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2"],[6,"M19 18h2a1 1 0 0 0 1-1v-3.28a1 1 0 0 0-.684-.948l-1.923-.641a1 1 0 0 1-.578-.502l-1.539-3.076A1 1 0 0 0 16.382 8H14"],[6,"M8 8v4"],[6,"M9 18h6"],[1,17,18,2],[1,7,18,2]],ampersand:[[6,"M17.5 12c0 4.4-3.6 8-8 8A4.5 4.5 0 0 1 5 15.5c0-6 8-4 8-8.5a3 3 0 1 0-6 0c0 3 2.5 8.5 12 13"],[6,"M16 12h3"]],ampersands:[[6,"M10 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5"],[6,"M22 17c-5-3-7-7-7-9a2 2 0 0 1 4 0c0 2.5-5 2.5-5 6 0 1.7 1.3 3 3 3 2.8 0 5-2.2 5-5"]],amphora:[[6,"M10 2v5.632c0 .424-.272.795-.653.982A6 6 0 0 0 6 14c.006 4 3 7 5 8"],[6,"M10 5H8a2 2 0 0 0 0 4h.68"],[6,"M14 2v5.632c0 .424.272.795.652.982A6 6 0 0 1 18 14c0 4-3 7-5 8"],[6,"M14 5h2a2 2 0 0 1 0 4h-.68"],[6,"M18 22H6"],[6,"M9 2h6"]],anchor:[[6,"M12 22V8"],[6,"M5 12H2a10 10 0 0 0 20 0h-3"],[1,12,5,3]],angry:[[1,12,12,10],[6,"M16 16s-1.5-2-4-2-4 2-4 2"],[6,"M7.5 8 10 9"],[6,"m14 9 2.5-1"],[6,"M9 10h.01"],[6,"M15 10h.01"]],annoyed:[[1,12,12,10],[6,"M8 15h8"],[6,"M8 9h2"],[6,"M14 9h2"]],antenna:[[6,"M2 12 7 2"],[6,"m7 12 5-10"],[6,"m12 12 5-10"],[6,"m17 12 5-10"],[6,"M4.5 7h15"],[6,"M12 16v6"]],anvil:[[6,"M7 10H6a4 4 0 0 1-4-4 1 1 0 0 1 1-1h4"],[6,"M7 5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1 7 7 0 0 1-7 7H8a1 1 0 0 1-1-1z"],[6,"M9 12v5"],[6,"M15 12v5"],[6,"M5 20a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3 1 1 0 0 1-1 1H6a1 1 0 0 1-1-1"]],aperture:[[1,12,12,10],[6,"m14.31 8 5.74 9.94"],[6,"M9.69 8h11.48"],[6,"m7.38 12 5.74-9.94"],[6,"M9.69 16 3.95 6.06"],[6,"M14.31 16H2.83"],[6,"m16.62 12-5.74 9.94"]],"app-window":[[5,2,4,20,16,2],[6,"M10 4v4"],[6,"M2 8h20"],[6,"M6 4v4"]],"app-window-mac":[[5,2,4,20,16,2],[6,"M6 8h.01"],[6,"M10 8h.01"],[6,"M14 8h.01"]],apple:[[6,"M12 20.94c1.5 0 2.75 1.06 4 1.06 3 0 6-8 6-12.22A4.91 4.91 0 0 0 17 5c-2.22 0-4 1.44-5 2-1-.56-2.78-2-5-2a4.9 4.9 0 0 0-5 4.78C2 14 5 22 8 22c1.25 0 2.5-1.06 4-1.06Z"],[6,"M10 2c1 .5 2 2 2 5"]],archive:[[5,2,3,20,5,1],[6,"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"],[6,"M10 12h4"]],"archive-restore":[[5,2,3,20,5,1],[6,"M4 8v11a2 2 0 0 0 2 2h2"],[6,"M20 8v11a2 2 0 0 1-2 2h-2"],[6,"m9 15 3-3 3 3"],[6,"M12 12v9"]],"archive-x":[[5,2,3,20,5,1],[6,"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"],[6,"m9.5 17 5-5"],[6,"m9.5 12 5 5"]],"area-chart":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z"]],armchair:[[6,"M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3"],[6,"M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z"],[6,"M5 18v2"],[6,"M19 18v2"]],"arrow-big-down":[[6,"M15 6v6h4l-7 7-7-7h4V6h6z"]],"arrow-big-down-dash":[[6,"M15 5H9"],[6,"M15 9v3h4l-7 7-7-7h4V9z"]],"arrow-big-left":[[6,"M18 15h-6v4l-7-7 7-7v4h6v6z"]],"arrow-big-left-dash":[[6,"M19 15V9"],[6,"M15 15h-3v4l-7-7 7-7v4h3v6z"]],"arrow-big-right":[[6,"M6 9h6V5l7 7-7 7v-4H6V9z"]],"arrow-big-right-dash":[[6,"M5 9v6"],[6,"M9 9h3V5l7 7-7 7v-4H9V9z"]],"arrow-big-up":[[6,"M9 18v-6H5l7-7 7 7h-4v6H9z"]],"arrow-big-up-dash":[[6,"M9 19h6"],[6,"M9 15v-3H5l7-7 7 7h-4v3H9z"]],"arrow-down":[[6,"M12 5v14"],[6,"m19 12-7 7-7-7"]],"arrow-down-01":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[5,15,4,4,6,0,2],[6,"M17 20v-6h-2"],[6,"M15 20h4"]],"arrow-down-10":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M17 10V4h-2"],[6,"M15 10h4"],[5,15,14,4,6,0,2]],"arrow-down-az":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M20 8h-5"],[6,"M15 10V6.5a2.5 2.5 0 0 1 5 0V10"],[6,"M15 14h5l-5 6h5"]],"arrow-down-circle":[[1,12,12,10],[6,"M12 8v8"],[6,"m8 12 4 4 4-4"]],"arrow-down-from-line":[[6,"M19 3H5"],[6,"M12 21V7"],[6,"m6 15 6 6 6-6"]],"arrow-down-left":[[6,"M17 7 7 17"],[6,"M17 17H7V7"]],"arrow-down-left-from-circle":[[6,"M2 12a10 10 0 1 1 10 10"],[6,"m2 22 10-10"],[6,"M8 22H2v-6"]],"arrow-down-left-from-square":[[6,"M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6"],[6,"m3 21 9-9"],[6,"M9 21H3v-6"]],"arrow-down-left-square":[[5,3,3,18,18,2],[6,"m16 8-8 8"],[6,"M16 16H8V8"]],"arrow-down-narrow-wide":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M11 4h4"],[6,"M11 8h7"],[6,"M11 12h10"]],"arrow-down-right":[[6,"m7 7 10 10"],[6,"M17 7v10H7"]],"arrow-down-right-from-circle":[[6,"M12 22a10 10 0 1 1 10-10"],[6,"M22 22 12 12"],[6,"M22 16v6h-6"]],"arrow-down-right-from-square":[[6,"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"],[6,"m21 21-9-9"],[6,"M21 15v6h-6"]],"arrow-down-right-square":[[5,3,3,18,18,2],[6,"m8 8 8 8"],[6,"M16 8v8H8"]],"arrow-down-square":[[5,3,3,18,18,2],[6,"M12 8v8"],[6,"m8 12 4 4 4-4"]],"arrow-down-to-dot":[[6,"M12 2v14"],[6,"m19 9-7 7-7-7"],[1,12,21,1]],"arrow-down-to-line":[[6,"M12 17V3"],[6,"m6 11 6 6 6-6"],[6,"M19 21H5"]],"arrow-down-up":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"m21 8-4-4-4 4"],[6,"M17 4v16"]],"arrow-down-wide-narrow":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M11 4h10"],[6,"M11 8h7"],[6,"M11 12h4"]],"arrow-down-za":[[6,"m3 16 4 4 4-4"],[6,"M7 4v16"],[6,"M15 4h5l-5 6h5"],[6,"M15 20v-3.5a2.5 2.5 0 0 1 5 0V20"],[6,"M20 18h-5"]],"arrow-left":[[6,"m12 19-7-7 7-7"],[6,"M19 12H5"]],"arrow-left-circle":[[1,12,12,10],[6,"M16 12H8"],[6,"m12 8-4 4 4 4"]],"arrow-left-from-line":[[6,"m9 6-6 6 6 6"],[6,"M3 12h14"],[6,"M21 19V5"]],"arrow-left-right":[[6,"M8 3 4 7l4 4"],[6,"M4 7h16"],[6,"m16 21 4-4-4-4"],[6,"M20 17H4"]],"arrow-left-square":[[5,3,3,18,18,2],[6,"m12 8-4 4 4 4"],[6,"M16 12H8"]],"arrow-left-to-line":[[6,"M3 19V5"],[6,"m13 6-6 6 6 6"],[6,"M7 12h14"]],"arrow-right":[[6,"M5 12h14"],[6,"m12 5 7 7-7 7"]],"arrow-right-circle":[[1,12,12,10],[6,"M8 12h8"],[6,"m12 16 4-4-4-4"]],"arrow-right-from-line":[[6,"M3 5v14"],[6,"M21 12H7"],[6,"m15 18 6-6-6-6"]],"arrow-right-left":[[6,"m16 3 4 4-4 4"],[6,"M20 7H4"],[6,"m8 21-4-4 4-4"],[6,"M4 17h16"]],"arrow-right-square":[[5,3,3,18,18,2],[6,"M8 12h8"],[6,"m12 16 4-4-4-4"]],"arrow-right-to-line":[[6,"M17 12H3"],[6,"m11 18 6-6-6-6"],[6,"M21 5v14"]],"arrow-up":[[6,"m5 12 7-7 7 7"],[6,"M12 19V5"]],"arrow-up-01":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[5,15,4,4,6,0,2],[6,"M17 20v-6h-2"],[6,"M15 20h4"]],"arrow-up-10":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M17 10V4h-2"],[6,"M15 10h4"],[5,15,14,4,6,0,2]],"arrow-up-az":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M20 8h-5"],[6,"M15 10V6.5a2.5 2.5 0 0 1 5 0V10"],[6,"M15 14h5l-5 6h5"]],"arrow-up-circle":[[1,12,12,10],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"]],"arrow-up-down":[[6,"m21 16-4 4-4-4"],[6,"M17 20V4"],[6,"m3 8 4-4 4 4"],[6,"M7 4v16"]],"arrow-up-from-dot":[[6,"m5 9 7-7 7 7"],[6,"M12 16V2"],[1,12,21,1]],"arrow-up-from-line":[[6,"m18 9-6-6-6 6"],[6,"M12 3v14"],[6,"M5 21h14"]],"arrow-up-left":[[6,"M7 17V7h10"],[6,"M17 17 7 7"]],"arrow-up-left-from-circle":[[6,"M2 8V2h6"],[6,"m2 2 10 10"],[6,"M12 2A10 10 0 1 1 2 12"]],"arrow-up-left-from-square":[[6,"M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6"],[6,"m3 3 9 9"],[6,"M3 9V3h6"]],"arrow-up-left-square":[[5,3,3,18,18,2],[6,"M8 16V8h8"],[6,"M16 16 8 8"]],"arrow-up-narrow-wide":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M11 12h4"],[6,"M11 16h7"],[6,"M11 20h10"]],"arrow-up-right":[[6,"M7 7h10v10"],[6,"M7 17 17 7"]],"arrow-up-right-from-circle":[[6,"M22 12A10 10 0 1 1 12 2"],[6,"M22 2 12 12"],[6,"M16 2h6v6"]],"arrow-up-right-from-square":[[6,"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6"],[6,"m21 3-9 9"],[6,"M15 3h6v6"]],"arrow-up-right-square":[[5,3,3,18,18,2],[6,"M8 8h8v8"],[6,"m8 16 8-8"]],"arrow-up-square":[[5,3,3,18,18,2],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"]],"arrow-up-to-line":[[6,"M5 3h14"],[6,"m18 13-6-6-6 6"],[6,"M12 7v14"]],"arrow-up-wide-narrow":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M11 12h10"],[6,"M11 16h7"],[6,"M11 20h4"]],"arrow-up-za":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M15 4h5l-5 6h5"],[6,"M15 20v-3.5a2.5 2.5 0 0 1 5 0V20"],[6,"M20 18h-5"]],"arrows-up-from-line":[[6,"m4 6 3-3 3 3"],[6,"M7 17V3"],[6,"m14 6 3-3 3 3"],[6,"M17 17V3"],[6,"M4 21h16"]],asterisk:[[6,"M12 6v12"],[6,"M17.196 9 6.804 15"],[6,"m6.804 9 10.392 6"]],"asterisk-square":[[5,3,3,18,18,2],[6,"M12 8v8"],[6,"m8.5 14 7-4"],[6,"m8.5 10 7 4"]],"at-sign":[[1,12,12,4],[6,"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8"]],atom:[[1,12,12,1],[6,"M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z"],[6,"M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z"]],"audio-lines":[[6,"M2 10v3"],[6,"M6 6v11"],[6,"M10 3v18"],[6,"M14 8v7"],[6,"M18 5v13"],[6,"M22 10v3"]],"audio-waveform":[[6,"M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2"]],award:[[6,"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526"],[1,12,8,6]],axe:[[6,"m14 12-8.5 8.5a2.12 2.12 0 1 1-3-3L11 9"],[6,"M15 13 9 7l4-4 6 6h3a8 8 0 0 1-7 7z"]],"axis-3d":[[6,"M4 4v16h16"],[6,"m4 20 7-7"]],baby:[[6,"M9 12h.01"],[6,"M15 12h.01"],[6,"M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5"],[6,"M19 6.3a9 9 0 0 1 1.8 3.9 2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1"]],backpack:[[6,"M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z"],[6,"M8 10h8"],[6,"M8 18h8"],[6,"M8 22v-6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v6"],[6,"M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2"]],badge:[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"]],"badge-alert":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,12,8,12,12],[0,12,16,12.01,16]],"badge-cent":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M12 7v10"],[6,"M15.4 10a4 4 0 1 0 0 4"]],"badge-check":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"m9 12 2 2 4-4"]],"badge-dollar-sign":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"],[6,"M12 18V6"]],"badge-euro":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M7 12h5"],[6,"M15 9.4a4 4 0 1 0 0 5.2"]],"badge-help":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"],[0,12,17,12.01,17]],"badge-indian-rupee":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M8 8h8"],[6,"M8 12h8"],[6,"m13 17-5-1h1a4 4 0 0 0 0-8"]],"badge-info":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,12,16,12,12],[0,12,8,12.01,8]],"badge-japanese-yen":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"m9 8 3 3v7"],[6,"m12 11 3-3"],[6,"M9 12h6"],[6,"M9 16h6"]],"badge-minus":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,8,12,16,12]],"badge-percent":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"badge-plus":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,12,8,12,16],[0,8,12,16,12]],"badge-pound-sterling":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M8 12h4"],[6,"M10 16V9.5a2.5 2.5 0 0 1 5 0"],[6,"M8 16h7"]],"badge-russian-ruble":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M9 16h5"],[6,"M9 12h5a2 2 0 1 0 0-4h-3v9"]],"badge-swiss-franc":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"M11 17V8h4"],[6,"M11 12h3"],[6,"M9 16h4"]],"badge-x":[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[0,15,9,9,15],[0,9,9,15,15]],"baggage-claim":[[6,"M22 18H6a2 2 0 0 1-2-2V7a2 2 0 0 0-2-2"],[6,"M17 14V4a2 2 0 0 0-2-2h-1a2 2 0 0 0-2 2v10"],[5,8,6,13,8,1],[1,18,20,2],[1,9,20,2]],ban:[[1,12,12,10],[6,"m4.9 4.9 14.2 14.2"]],banana:[[6,"M4 13c3.5-2 8-2 10 2a5.5 5.5 0 0 1 8 5"],[6,"M5.15 17.89c5.52-1.52 8.65-6.89 7-12C11.55 4 11.5 2 13 2c3.22 0 5 5.5 5 8 0 6.5-4.2 12-10.49 12C5.11 22 2 22 2 20c0-1.5 1.14-1.55 3.15-2.11Z"]],bandage:[[6,"M10 10.01h.01"],[6,"M10 14.01h.01"],[6,"M14 10.01h.01"],[6,"M14 14.01h.01"],[6,"M18 6v11.5"],[6,"M6 6v12"],[5,2,6,20,12,2]],banknote:[[5,2,6,20,12,2],[1,12,12,2],[6,"M6 12h.01M18 12h.01"]],"bar-chart":[[0,12,20,12,10],[0,18,20,18,4],[0,6,20,6,16]],"bar-chart-2":[[0,18,20,18,10],[0,12,20,12,4],[0,6,20,6,14]],"bar-chart-3":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M18 17V9"],[6,"M13 17V5"],[6,"M8 17v-3"]],"bar-chart-4":[[6,"M13 17V9"],[6,"M18 17V5"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M8 17v-3"]],"bar-chart-big":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,15,5,4,12,1],[5,7,8,4,9,1]],"bar-chart-horizontal":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 16h8"],[6,"M7 11h12"],[6,"M7 6h3"]],"bar-chart-horizontal-big":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,7,13,9,4,1],[5,7,5,12,4,1]],barcode:[[6,"M3 5v14"],[6,"M8 5v14"],[6,"M12 5v14"],[6,"M17 5v14"],[6,"M21 5v14"]],baseline:[[6,"M4 20h16"],[6,"m6 16 6-12 6 12"],[6,"M8 12h8"]],bath:[[6,"M9 6 6.5 3.5a1.5 1.5 0 0 0-1-.5C4.683 3 4 3.683 4 4.5V17a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5"],[0,10,5,8,7],[0,2,12,22,12],[0,7,19,7,21],[0,17,19,17,21]],battery:[[5,2,7,16,10,2,2],[0,22,11,22,13]],"battery-charging":[[6,"M15 7h1a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2"],[6,"M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h1"],[6,"m11 7-3 5h4l-3 5"],[0,22,11,22,13]],"battery-full":[[5,2,7,16,10,2,2],[0,22,11,22,13],[0,6,11,6,13],[0,10,11,10,13],[0,14,11,14,13]],"battery-low":[[5,2,7,16,10,2,2],[0,22,11,22,13],[0,6,11,6,13]],"battery-medium":[[5,2,7,16,10,2,2],[0,22,11,22,13],[0,6,11,6,13],[0,10,11,10,13]],"battery-warning":[[6,"M10 17h.01"],[6,"M10 7v6"],[6,"M14 7h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-2"],[6,"M22 11v2"],[6,"M6 7H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2"]],beaker:[[6,"M4.5 3h15"],[6,"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3"],[6,"M6 14h12"]],bean:[[6,"M10.165 6.598C9.954 7.478 9.64 8.36 9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22c7.732 0 14-6.268 14-14a6 6 0 0 0-11.835-1.402Z"],[6,"M5.341 10.62a4 4 0 1 0 5.279-5.28"]],"bean-off":[[6,"M9 9c-.64.64-1.521.954-2.402 1.165A6 6 0 0 0 8 22a13.96 13.96 0 0 0 9.9-4.1"],[6,"M10.75 5.093A6 6 0 0 1 22 8c0 2.411-.61 4.68-1.683 6.66"],[6,"M5.341 10.62a4 4 0 0 0 6.487 1.208M10.62 5.341a4.015 4.015 0 0 1 2.039 2.04"],[0,2,2,22,22]],bed:[[6,"M2 4v16"],[6,"M2 8h18a2 2 0 0 1 2 2v10"],[6,"M2 17h20"],[6,"M6 8v9"]],"bed-double":[[6,"M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8"],[6,"M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4"],[6,"M12 4v6"],[6,"M2 18h20"]],"bed-single":[[6,"M3 20v-8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v8"],[6,"M5 10V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4"],[6,"M3 18h18"]],beef:[[1,12.5,8.5,2.5],[6,"M12.5 2a6.5 6.5 0 0 0-6.22 4.6c-1.1 3.13-.78 3.9-3.18 6.08A3 3 0 0 0 5 18c4 0 8.4-1.8 11.4-4.3A6.5 6.5 0 0 0 12.5 2Z"],[6,"m18.5 6 2.19 4.5a6.48 6.48 0 0 1 .31 2 6.49 6.49 0 0 1-2.6 5.2C15.4 20.2 11 22 7 22a3 3 0 0 1-2.68-1.66L2.4 16.5"]],beer:[[6,"M17 11h1a3 3 0 0 1 0 6h-1"],[6,"M9 12v6"],[6,"M13 12v6"],[6,"M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z"],[6,"M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8"]],"beer-off":[[6,"M13 13v5"],[6,"M17 11.47V8"],[6,"M17 11h1a3 3 0 0 1 2.745 4.211"],[6,"m2 2 20 20"],[6,"M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-3"],[6,"M7.536 7.535C6.766 7.649 6.154 8 5.5 8a2.5 2.5 0 0 1-1.768-4.268"],[6,"M8.727 3.204C9.306 2.767 9.885 2 11 2c1.56 0 2 1.5 3 1.5s1.72-.5 2.5-.5a1 1 0 1 1 0 5c-.78 0-1.5-.5-2.5-.5a3.149 3.149 0 0 0-.842.12"],[6,"M9 14.6V18"]],bell:[[6,"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"]],"bell-dot":[[6,"M19.4 14.9C20.2 16.4 21 17 21 17H3s3-2 3-9c0-3.3 2.7-6 6-6 .7 0 1.3.1 1.9.3"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[1,18,8,3]],"bell-electric":[[6,"M18.8 4A6.3 8.7 0 0 1 20 9"],[6,"M9 9h.01"],[1,9,9,7],[5,4,16,10,6,2],[6,"M14 19c3 0 4.6-1.6 4.6-1.6"],[1,20,16,2]],"bell-minus":[[6,"M18.4 12c.8 3.8 2.6 5 2.6 5H3s3-2 3-9c0-3.3 2.7-6 6-6 1.8 0 3.4.8 4.5 2"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[6,"M15 8h6"]],"bell-off":[[6,"M8.7 3A6 6 0 0 1 18 8a21.3 21.3 0 0 0 .6 5"],[6,"M17 17H3s3-2 3-9a4.67 4.67 0 0 1 .3-1.7"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[6,"m2 2 20 20"]],"bell-plus":[[6,"M19.3 14.8C20.1 16.4 21 17 21 17H3s3-2 3-9c0-3.3 2.7-6 6-6 1 0 1.9.2 2.8.7"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[6,"M15 8h6"],[6,"M18 5v6"]],"bell-ring":[[6,"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"],[6,"M10.3 21a1.94 1.94 0 0 0 3.4 0"],[6,"M4 2C2.8 3.7 2 5.7 2 8"],[6,"M22 8c0-2.3-.8-4.3-2-6"]],"between-horizonal-end":[[5,3,3,13,7,1],[6,"m22 15-3-3 3-3"],[5,3,14,13,7,1]],"between-horizonal-start":[[5,8,3,13,7,1],[6,"m2 9 3 3-3 3"],[5,8,14,13,7,1]],"between-horizontal-end":[[5,3,3,13,7,1],[6,"m22 15-3-3 3-3"],[5,3,14,13,7,1]],"between-horizontal-start":[[5,8,3,13,7,1],[6,"m2 9 3 3-3 3"],[5,8,14,13,7,1]],"between-vertical-end":[[5,3,3,7,13,1],[6,"m9 22 3-3 3 3"],[5,14,3,7,13,1]],"between-vertical-start":[[5,3,8,7,13,1],[6,"m15 2-3 3-3-3"],[5,14,8,7,13,1]],"biceps-flexed":[[6,"M12.409 13.017A5 5 0 0 1 22 15c0 3.866-4 7-9 7-4.077 0-8.153-.82-10.371-2.462-.426-.316-.631-.832-.62-1.362C2.118 12.723 2.627 2 10 2a3 3 0 0 1 3 3 2 2 0 0 1-2 2c-1.105 0-1.64-.444-2-1"],[6,"M15 14a5 5 0 0 0-7.584 2"],[6,"M9.964 6.825C8.019 7.977 9.5 13 8 15"]],bike:[[1,18.5,17.5,3.5],[1,5.5,17.5,3.5],[1,15,5,1],[6,"M12 17.5V14l-3-3 4-3 2 3h2"]],binary:[[5,14,14,4,6,2],[5,6,4,4,6,2],[6,"M6 20h4"],[6,"M14 10h4"],[6,"M6 14h2v6"],[6,"M14 4h2v6"]],binoculars:[[6,"M10 10h4"],[6,"M19 7V4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3"],[6,"M20 21a2 2 0 0 0 2-2v-3.851c0-1.39-2-2.962-2-4.829V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v11a2 2 0 0 0 2 2z"],[6,"M 22 16 L 2 16"],[6,"M4 21a2 2 0 0 1-2-2v-3.851c0-1.39 2-2.962 2-4.829V8a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v11a2 2 0 0 1-2 2z"],[6,"M9 7V4a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v3"]],biohazard:[[1,12,11.9,2],[6,"M6.7 3.4c-.9 2.5 0 5.2 2.2 6.7C6.5 9 3.7 9.6 2 11.6"],[6,"m8.9 10.1 1.4.8"],[6,"M17.3 3.4c.9 2.5 0 5.2-2.2 6.7 2.4-1.2 5.2-.6 6.9 1.5"],[6,"m15.1 10.1-1.4.8"],[6,"M16.7 20.8c-2.6-.4-4.6-2.6-4.7-5.3-.2 2.6-2.1 4.8-4.7 5.2"],[6,"M12 13.9v1.6"],[6,"M13.5 5.4c-1-.2-2-.2-3 0"],[6,"M17 16.4c.7-.7 1.2-1.6 1.5-2.5"],[6,"M5.5 13.9c.3.9.8 1.8 1.5 2.5"]],bird:[[6,"M16 7h.01"],[6,"M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20"],[6,"m20 7 2 .5-2 .5"],[6,"M10 18v3"],[6,"M14 17.75V21"],[6,"M7 18a6 6 0 0 0 3.84-10.61"]],bitcoin:[[6,"M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727"]],blend:[[1,9,9,7],[1,15,15,7]],blinds:[[6,"M3 3h18"],[6,"M20 7H8"],[6,"M20 11H8"],[6,"M10 19h10"],[6,"M8 15h12"],[6,"M4 3v14"],[1,4,19,2]],blocks:[[5,14,3,7,7,1],[6,"M10 21V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H3"]],bluetooth:[[6,"m7 7 10 10-5 5V2l5 5L7 17"]],"bluetooth-connected":[[6,"m7 7 10 10-5 5V2l5 5L7 17"],[0,18,12,21,12],[0,3,12,6,12]],"bluetooth-off":[[6,"m17 17-5 5V12l-5 5"],[6,"m2 2 20 20"],[6,"M14.5 9.5 17 7l-5-5v4.5"]],"bluetooth-searching":[[6,"m7 7 10 10-5 5V2l5 5L7 17"],[6,"M20.83 14.83a4 4 0 0 0 0-5.66"],[6,"M18 12h.01"]],bold:[[6,"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8"]],bolt:[[6,"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"],[1,12,12,4]],bomb:[[1,11,13,9],[6,"M14.35 4.65 16.3 2.7a2.41 2.41 0 0 1 3.4 0l1.6 1.6a2.4 2.4 0 0 1 0 3.4l-1.95 1.95"],[6,"m22 2-1.5 1.5"]],bone:[[6,"M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z"]],book:[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"]],"book-a":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m8 13 4-7 4 7"],[6,"M9.1 11h5.7"]],"book-audio":[[6,"M12 6v7"],[6,"M16 8v3"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M8 8v3"]],"book-check":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m9 9.5 2 2 4-4"]],"book-copy":[[6,"M2 16V4a2 2 0 0 1 2-2h11"],[6,"M22 18H11a2 2 0 1 0 0 4h10.5a.5.5 0 0 0 .5-.5v-15a.5.5 0 0 0-.5-.5H11a2 2 0 0 0-2 2v12"],[6,"M5 14H4a2 2 0 1 0 0 4h1"]],"book-dashed":[[6,"M12 17h2"],[6,"M12 22h2"],[6,"M12 2h2"],[6,"M18 22h1a1 1 0 0 0 1-1"],[6,"M18 2h1a1 1 0 0 1 1 1v1"],[6,"M20 15v2h-2"],[6,"M20 8v3"],[6,"M4 11V9"],[6,"M4 19.5V15"],[6,"M4 5v-.5A2.5 2.5 0 0 1 6.5 2H8"],[6,"M8 22H6.5a1 1 0 0 1 0-5H8"]],"book-down":[[6,"M12 13V7"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m9 10 3 3 3-3"]],"book-headphones":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M8 12v-2a4 4 0 0 1 8 0v2"],[1,15,12,1],[1,9,12,1]],"book-heart":[[6,"M16 8.2A2.22 2.22 0 0 0 13.8 6c-.8 0-1.4.3-1.8.9-.4-.6-1-.9-1.8-.9A2.22 2.22 0 0 0 8 8.2c0 .6.3 1.2.7 1.6A226.652 226.652 0 0 0 12 13a404 404 0 0 0 3.3-3.1 2.413 2.413 0 0 0 .7-1.7"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"]],"book-image":[[6,"m20 13.7-2.1-2.1a2 2 0 0 0-2.8 0L9.7 17"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[1,10,8,2]],"book-key":[[6,"m19 3 1 1"],[6,"m20 2-4.5 4.5"],[6,"M20 8v13a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H14"],[1,14,8,2]],"book-lock":[[6,"M18 6V4a2 2 0 1 0-4 0v2"],[6,"M20 15v6a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H10"],[5,12,6,8,5,1]],"book-marked":[[6,"M10 2v8l3-3 3 3V2"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"]],"book-minus":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M9 10h6"]],"book-open":[[6,"M12 7v14"],[6,"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"]],"book-open-check":[[6,"M12 21V7"],[6,"m16 12 2 2 4-4"],[6,"M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3"]],"book-open-text":[[6,"M12 7v14"],[6,"M16 12h2"],[6,"M16 8h2"],[6,"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"],[6,"M6 12h2"],[6,"M6 8h2"]],"book-plus":[[6,"M12 7v6"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M9 10h6"]],"book-template":[[6,"M12 17h2"],[6,"M12 22h2"],[6,"M12 2h2"],[6,"M18 22h1a1 1 0 0 0 1-1"],[6,"M18 2h1a1 1 0 0 1 1 1v1"],[6,"M20 15v2h-2"],[6,"M20 8v3"],[6,"M4 11V9"],[6,"M4 19.5V15"],[6,"M4 5v-.5A2.5 2.5 0 0 1 6.5 2H8"],[6,"M8 22H6.5a1 1 0 0 1 0-5H8"]],"book-text":[[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M8 11h8"],[6,"M8 7h6"]],"book-type":[[6,"M10 13h4"],[6,"M12 6v7"],[6,"M16 8V6H8v2"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"]],"book-up":[[6,"M12 13V7"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m9 10 3-3 3 3"]],"book-up-2":[[6,"M12 13V7"],[6,"M18 2h1a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2"],[6,"m9 10 3-3 3 3"],[6,"m9 5 3-3 3 3"]],"book-user":[[6,"M15 13a3 3 0 1 0-6 0"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[1,12,8,2]],"book-x":[[6,"m14.5 7-5 5"],[6,"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"],[6,"m9.5 7 5 5"]],bookmark:[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z"]],"bookmark-check":[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z"],[6,"m9 10 2 2 4-4"]],"bookmark-minus":[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z"],[0,15,10,9,10]],"bookmark-plus":[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z"],[0,12,7,12,13],[0,15,10,9,10]],"bookmark-x":[[6,"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z"],[6,"m14.5 7.5-5 5"],[6,"m9.5 7.5 5 5"]],"boom-box":[[6,"M4 9V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4"],[6,"M8 8v1"],[6,"M12 8v1"],[6,"M16 8v1"],[5,2,9,20,12,2],[1,8,15,2],[1,16,15,2]],bot:[[6,"M12 8V4H8"],[5,4,8,16,12,2],[6,"M2 14h2"],[6,"M20 14h2"],[6,"M15 13v2"],[6,"M9 13v2"]],"bot-message-square":[[6,"M12 6V2H8"],[6,"m8 18-4 4V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2Z"],[6,"M2 12h2"],[6,"M9 11v2"],[6,"M15 11v2"],[6,"M20 12h2"]],"bot-off":[[6,"M13.67 8H18a2 2 0 0 1 2 2v4.33"],[6,"M2 14h2"],[6,"M20 14h2"],[6,"M22 22 2 2"],[6,"M8 8H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 1.414-.586"],[6,"M9 13v2"],[6,"M9.67 4H12v2.33"]],box:[[6,"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"],[6,"m3.3 7 8.7 5 8.7-5"],[6,"M12 22V12"]],"box-select":[[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h1"],[6,"M14 3h1"],[6,"M14 21h1"],[6,"M3 9v1"],[6,"M21 9v1"],[6,"M3 14v1"],[6,"M21 14v1"]],boxes:[[6,"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z"],[6,"m7 16.5-4.74-2.85"],[6,"m7 16.5 5-3"],[6,"M7 16.5v5.17"],[6,"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z"],[6,"m17 16.5-5-3"],[6,"m17 16.5 4.74-2.85"],[6,"M17 16.5v5.17"],[6,"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z"],[6,"M12 8 7.26 5.15"],[6,"m12 8 4.74-2.85"],[6,"M12 13.5V8"]],braces:[[6,"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"],[6,"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"]],brackets:[[6,"M16 3h3v18h-3"],[6,"M8 21H5V3h3"]],brain:[[6,"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"],[6,"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z"],[6,"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4"],[6,"M17.599 6.5a3 3 0 0 0 .399-1.375"],[6,"M6.003 5.125A3 3 0 0 0 6.401 6.5"],[6,"M3.477 10.896a4 4 0 0 1 .585-.396"],[6,"M19.938 10.5a4 4 0 0 1 .585.396"],[6,"M6 18a4 4 0 0 1-1.967-.516"],[6,"M19.967 17.484A4 4 0 0 1 18 18"]],"brain-circuit":[[6,"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"],[6,"M9 13a4.5 4.5 0 0 0 3-4"],[6,"M6.003 5.125A3 3 0 0 0 6.401 6.5"],[6,"M3.477 10.896a4 4 0 0 1 .585-.396"],[6,"M6 18a4 4 0 0 1-1.967-.516"],[6,"M12 13h4"],[6,"M12 18h6a2 2 0 0 1 2 2v1"],[6,"M12 8h8"],[6,"M16 8V5a2 2 0 0 1 2-2"],[1,16,13,.5],[1,18,3,.5],[1,20,21,.5],[1,20,8,.5]],"brain-cog":[[6,"M12 5a3 3 0 1 0-5.997.142 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588 4 4 0 0 0 7.636 2.106 3.2 3.2 0 0 0 .164-.546c.028-.13.306-.13.335 0a3.2 3.2 0 0 0 .163.546 4 4 0 0 0 7.636-2.106 4 4 0 0 0 .556-6.588 4 4 0 0 0-2.526-5.77A3 3 0 1 0 12 5"],[6,"M17.599 6.5a3 3 0 0 0 .399-1.375"],[6,"M6.003 5.125A3 3 0 0 0 6.401 6.5"],[6,"M3.477 10.896a4 4 0 0 1 .585-.396"],[6,"M19.938 10.5a4 4 0 0 1 .585.396"],[6,"M6 18a4 4 0 0 1-1.967-.516"],[6,"M19.967 17.484A4 4 0 0 1 18 18"],[1,12,12,3],[6,"m15.7 10.4-.9.4"],[6,"m9.2 13.2-.9.4"],[6,"m13.6 15.7-.4-.9"],[6,"m10.8 9.2-.4-.9"],[6,"m15.7 13.5-.9-.4"],[6,"m9.2 10.9-.9-.4"],[6,"m10.5 15.7.4-.9"],[6,"m13.1 9.2.4-.9"]],"brick-wall":[[5,3,3,18,18,2],[6,"M12 9v6"],[6,"M16 15v6"],[6,"M16 3v6"],[6,"M3 15h18"],[6,"M3 9h18"],[6,"M8 15v6"],[6,"M8 3v6"]],briefcase:[[6,"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"],[5,2,6,20,14,2]],"briefcase-business":[[6,"M12 12h.01"],[6,"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2"],[6,"M22 13a18.15 18.15 0 0 1-20 0"],[5,2,6,20,14,2]],"briefcase-conveyor-belt":[[6,"M10 20v2"],[6,"M14 20v2"],[6,"M18 20v2"],[6,"M21 20H3"],[6,"M6 20v2"],[6,"M8 16V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v12"],[5,4,6,16,10,2]],"briefcase-medical":[[6,"M12 11v4"],[6,"M14 13h-4"],[6,"M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2"],[6,"M18 6v14"],[6,"M6 6v14"],[5,2,6,20,14,2]],"bring-to-front":[[5,8,8,8,8,2],[6,"M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2"],[6,"M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2"]],brush:[[6,"m9.06 11.9 8.07-8.06a2.85 2.85 0 1 1 4.03 4.03l-8.06 8.08"],[6,"M7.07 14.94c-1.66 0-3 1.35-3 3.02 0 1.33-2.5 1.52-2 2.02 1.08 1.1 2.49 2.02 4 2.02 2.2 0 4-1.8 4-4.04a3.01 3.01 0 0 0-3-3.02z"]],bug:[[6,"m8 2 1.88 1.88"],[6,"M14.12 3.88 16 2"],[6,"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"],[6,"M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"],[6,"M12 20v-9"],[6,"M6.53 9C4.6 8.8 3 7.1 3 5"],[6,"M6 13H2"],[6,"M3 21c0-2.1 1.7-3.9 3.8-4"],[6,"M20.97 5c0 2.1-1.6 3.8-3.5 4"],[6,"M22 13h-4"],[6,"M17.2 17c2.1.1 3.8 1.9 3.8 4"]],"bug-off":[[6,"M15 7.13V6a3 3 0 0 0-5.14-2.1L8 2"],[6,"M14.12 3.88 16 2"],[6,"M22 13h-4v-2a4 4 0 0 0-4-4h-1.3"],[6,"M20.97 5c0 2.1-1.6 3.8-3.5 4"],[6,"m2 2 20 20"],[6,"M7.7 7.7A4 4 0 0 0 6 11v3a6 6 0 0 0 11.13 3.13"],[6,"M12 20v-8"],[6,"M6 13H2"],[6,"M3 21c0-2.1 1.7-3.9 3.8-4"]],"bug-play":[[6,"M12.765 21.522a.5.5 0 0 1-.765-.424v-8.196a.5.5 0 0 1 .765-.424l5.878 3.674a1 1 0 0 1 0 1.696z"],[6,"M14.12 3.88 16 2"],[6,"M18 11a4 4 0 0 0-4-4h-4a4 4 0 0 0-4 4v3a6.1 6.1 0 0 0 2 4.5"],[6,"M20.97 5c0 2.1-1.6 3.8-3.5 4"],[6,"M3 21c0-2.1 1.7-3.9 3.8-4"],[6,"M6 13H2"],[6,"M6.53 9C4.6 8.8 3 7.1 3 5"],[6,"m8 2 1.88 1.88"],[6,"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"]],building:[[5,4,2,16,20,2,2],[6,"M9 22v-4h6v4"],[6,"M8 6h.01"],[6,"M16 6h.01"],[6,"M12 6h.01"],[6,"M12 10h.01"],[6,"M12 14h.01"],[6,"M16 10h.01"],[6,"M16 14h.01"],[6,"M8 10h.01"],[6,"M8 14h.01"]],"building-2":[[6,"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z"],[6,"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2"],[6,"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2"],[6,"M10 6h4"],[6,"M10 10h4"],[6,"M10 14h4"],[6,"M10 18h4"]],bus:[[6,"M8 6v6"],[6,"M15 6v6"],[6,"M2 12h19.6"],[6,"M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3"],[1,7,18,2],[6,"M9 18h5"],[1,16,18,2]],"bus-front":[[6,"M4 6 2 7"],[6,"M10 6h4"],[6,"m22 7-2-1"],[5,4,3,16,16,2],[6,"M4 11h16"],[6,"M8 15h.01"],[6,"M16 15h.01"],[6,"M6 19v2"],[6,"M18 21v-2"]],cable:[[6,"M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1"],[6,"M19 15V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V9"],[6,"M21 21v-2h-4"],[6,"M3 5h4V3"],[6,"M7 5a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1V3"]],"cable-car":[[6,"M10 3h.01"],[6,"M14 2h.01"],[6,"m2 9 20-5"],[6,"M12 12V6.5"],[5,4,12,16,10,3],[6,"M9 12v5"],[6,"M15 12v5"],[6,"M4 17h16"]],cake:[[6,"M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8"],[6,"M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1"],[6,"M2 21h20"],[6,"M7 8v3"],[6,"M12 8v3"],[6,"M17 8v3"],[6,"M7 4h.01"],[6,"M12 4h.01"],[6,"M17 4h.01"]],"cake-slice":[[1,9,7,2],[6,"M7.2 7.9 3 11v9c0 .6.4 1 1 1h16c.6 0 1-.4 1-1v-9c0-2-3-6-7-8l-3.6 2.6"],[6,"M16 13H3"],[6,"M16 17H3"]],calculator:[[5,4,2,16,20,2],[0,8,6,16,6],[0,16,14,16,18],[6,"M16 10h.01"],[6,"M12 10h.01"],[6,"M8 10h.01"],[6,"M12 14h.01"],[6,"M8 14h.01"],[6,"M12 18h.01"],[6,"M8 18h.01"]],calendar:[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"]],"calendar-arrow-down":[[6,"m14 18 4 4 4-4"],[6,"M16 2v4"],[6,"M18 14v8"],[6,"M21 11.354V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.343"],[6,"M3 10h18"],[6,"M8 2v4"]],"calendar-arrow-up":[[6,"m14 18 4-4 4 4"],[6,"M16 2v4"],[6,"M18 22v-8"],[6,"M21 11.343V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h9"],[6,"M3 10h18"],[6,"M8 2v4"]],"calendar-check":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"m9 16 2 2 4-4"]],"calendar-check-2":[[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21 14V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8"],[6,"M3 10h18"],[6,"m16 20 2 2 4-4"]],"calendar-clock":[[6,"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"],[6,"M16 2v4"],[6,"M8 2v4"],[6,"M3 10h5"],[6,"M17.5 17.5 16 16.3V14"],[1,16,16,6]],"calendar-cog":[[6,"m15.2 16.9-.9-.4"],[6,"m15.2 19.1-.9.4"],[6,"M16 2v4"],[6,"m16.9 15.2-.4-.9"],[6,"m16.9 20.8-.4.9"],[6,"m19.5 14.3-.4.9"],[6,"m19.5 21.7-.4-.9"],[6,"M21 10.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"],[6,"m21.7 16.5-.9.4"],[6,"m21.7 19.5-.9-.4"],[6,"M3 10h18"],[6,"M8 2v4"],[1,18,18,3]],"calendar-days":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"M8 14h.01"],[6,"M12 14h.01"],[6,"M16 14h.01"],[6,"M8 18h.01"],[6,"M12 18h.01"],[6,"M16 18h.01"]],"calendar-fold":[[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21 17V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11Z"],[6,"M3 10h18"],[6,"M15 22v-4a2 2 0 0 1 2-2h4"]],"calendar-heart":[[6,"M3 10h18V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7"],[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21.29 14.7a2.43 2.43 0 0 0-2.65-.52c-.3.12-.57.3-.8.53l-.34.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L17.5 22l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z"]],"calendar-minus":[[6,"M16 19h6"],[6,"M16 2v4"],[6,"M21 15V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5"],[6,"M3 10h18"],[6,"M8 2v4"]],"calendar-minus-2":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"M10 16h4"]],"calendar-off":[[6,"M4.2 4.2A2 2 0 0 0 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 1.82-1.18"],[6,"M21 15.5V6a2 2 0 0 0-2-2H9.5"],[6,"M16 2v4"],[6,"M3 10h7"],[6,"M21 10h-5.5"],[6,"m2 2 20 20"]],"calendar-plus":[[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8"],[6,"M3 10h18"],[6,"M16 19h6"],[6,"M19 16v6"]],"calendar-plus-2":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"M10 16h4"],[6,"M12 14v4"]],"calendar-range":[[5,3,4,18,18,2],[6,"M16 2v4"],[6,"M3 10h18"],[6,"M8 2v4"],[6,"M17 14h-6"],[6,"M13 18H7"],[6,"M7 14h.01"],[6,"M17 18h.01"]],"calendar-search":[[6,"M16 2v4"],[6,"M21 11.75V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.25"],[6,"m22 22-1.875-1.875"],[6,"M3 10h18"],[6,"M8 2v4"],[1,18,18,3]],"calendar-x":[[6,"M8 2v4"],[6,"M16 2v4"],[5,3,4,18,18,2],[6,"M3 10h18"],[6,"m14 14-4 4"],[6,"m10 14 4 4"]],"calendar-x2":[[6,"M8 2v4"],[6,"M16 2v4"],[6,"M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8"],[6,"M3 10h18"],[6,"m17 22 5-5"],[6,"m17 17 5 5"]],camera:[[6,"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z"],[1,12,13,3]],"camera-off":[[0,2,2,22,22],[6,"M7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16"],[6,"M9.5 4h5L17 7h3a2 2 0 0 1 2 2v7.5"],[6,"M14.121 15.121A3 3 0 1 1 9.88 10.88"]],"candlestick-chart":[[6,"M9 5v4"],[5,7,9,4,6,1],[6,"M9 15v2"],[6,"M17 3v2"],[5,15,5,4,8,1],[6,"M17 13v3"],[6,"M3 3v16a2 2 0 0 0 2 2h16"]],candy:[[6,"m9.5 7.5-2 2a4.95 4.95 0 1 0 7 7l2-2a4.95 4.95 0 1 0-7-7Z"],[6,"M14 6.5v10"],[6,"M10 7.5v10"],[6,"m16 7 1-5 1.37.68A3 3 0 0 0 19.7 3H21v1.3c0 .46.1.92.32 1.33L22 7l-5 1"],[6,"m8 17-1 5-1.37-.68A3 3 0 0 0 4.3 21H3v-1.3a3 3 0 0 0-.32-1.33L2 17l5-1"]],"candy-cane":[[6,"M5.7 21a2 2 0 0 1-3.5-2l8.6-14a6 6 0 0 1 10.4 6 2 2 0 1 1-3.464-2 2 2 0 1 0-3.464-2Z"],[6,"M17.75 7 15 2.1"],[6,"M10.9 4.8 13 9"],[6,"m7.9 9.7 2 4.4"],[6,"M4.9 14.7 7 18.9"]],"candy-off":[[6,"m8.5 8.5-1 1a4.95 4.95 0 0 0 7 7l1-1"],[6,"M11.843 6.187A4.947 4.947 0 0 1 16.5 7.5a4.947 4.947 0 0 1 1.313 4.657"],[6,"M14 16.5V14"],[6,"M14 6.5v1.843"],[6,"M10 10v7.5"],[6,"m16 7 1-5 1.367.683A3 3 0 0 0 19.708 3H21v1.292a3 3 0 0 0 .317 1.341L22 7l-5 1"],[6,"m8 17-1 5-1.367-.683A3 3 0 0 0 4.292 21H3v-1.292a3 3 0 0 0-.317-1.341L2 17l5-1"],[0,2,2,22,22]],cannabis:[[6,"M12 22v-4"],[6,"M7 12c-1.5 0-4.5 1.5-5 3 3.5 1.5 6 1 6 1-1.5 1.5-2 3.5-2 5 2.5 0 4.5-1.5 6-3 1.5 1.5 3.5 3 6 3 0-1.5-.5-3.5-2-5 0 0 2.5.5 6-1-.5-1.5-3.5-3-5-3 1.5-1 4-4 4-6-2.5 0-5.5 1.5-7 3 0-2.5-.5-5-2-7-1.5 2-2 4.5-2 7-1.5-1.5-4.5-3-7-3 0 2 2.5 5 4 6"]],captions:[[5,3,5,18,14,2,2],[6,"M7 15h4M15 15h2M7 11h2M13 11h4"]],"captions-off":[[6,"M10.5 5H19a2 2 0 0 1 2 2v8.5"],[6,"M17 11h-.5"],[6,"M19 19H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2"],[6,"m2 2 20 20"],[6,"M7 11h4"],[6,"M7 15h2.5"]],car:[[6,"M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2"],[1,7,17,2],[6,"M9 17h6"],[1,17,17,2]],"car-front":[[6,"m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8"],[6,"M7 14h.01"],[6,"M17 14h.01"],[5,3,10,18,8,2],[6,"M5 18v2"],[6,"M19 18v2"]],"car-taxi-front":[[6,"M10 2h4"],[6,"m21 8-2 2-1.5-3.7A2 2 0 0 0 15.646 5H8.4a2 2 0 0 0-1.903 1.257L5 10 3 8"],[6,"M7 14h.01"],[6,"M17 14h.01"],[5,3,10,18,8,2],[6,"M5 18v2"],[6,"M19 18v2"]],caravan:[[6,"M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2"],[6,"M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2"],[6,"M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9"],[1,8,19,2]],carrot:[[6,"M2.27 21.7s9.87-3.5 12.73-6.36a4.5 4.5 0 0 0-6.36-6.37C5.77 11.84 2.27 21.7 2.27 21.7zM8.64 14l-2.05-2.04M15.34 15l-2.46-2.46"],[6,"M22 9s-1.33-2-3.5-2C16.86 7 15 9 15 9s1.33 2 3.5 2S22 9 22 9z"],[6,"M15 2s-2 1.33-2 3.5S15 9 15 9s2-1.84 2-3.5C17 3.33 15 2 15 2z"]],"case-lower":[[1,7,12,3],[6,"M10 9v6"],[1,17,12,3],[6,"M14 7v8"]],"case-sensitive":[[6,"m3 15 4-8 4 8"],[6,"M4 13h6"],[1,18,12,3],[6,"M21 9v6"]],"case-upper":[[6,"m3 15 4-8 4 8"],[6,"M4 13h6"],[6,"M15 11h4.5a2 2 0 0 1 0 4H15V7h4a2 2 0 0 1 0 4"]],"cassette-tape":[[5,2,4,20,16,2],[1,8,10,2],[6,"M8 12h8"],[1,16,10,2],[6,"m6 20 .7-2.9A1.4 1.4 0 0 1 8.1 16h7.8a1.4 1.4 0 0 1 1.4 1l.7 3"]],cast:[[6,"M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"],[6,"M2 12a9 9 0 0 1 8 8"],[6,"M2 16a5 5 0 0 1 4 4"],[0,2,20,2.01,20]],castle:[[6,"M22 20v-9H2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2Z"],[6,"M18 11V4H6v7"],[6,"M15 22v-4a3 3 0 0 0-3-3a3 3 0 0 0-3 3v4"],[6,"M22 11V9"],[6,"M2 11V9"],[6,"M6 4V2"],[6,"M18 4V2"],[6,"M10 4V2"],[6,"M14 4V2"]],cat:[[6,"M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z"],[6,"M8 14v.5"],[6,"M16 14v.5"],[6,"M11.25 16.25h1.5L12 17l-.75-.75Z"]],cctv:[[6,"M16.75 12h3.632a1 1 0 0 1 .894 1.447l-2.034 4.069a1 1 0 0 1-1.708.134l-2.124-2.97"],[6,"M17.106 9.053a1 1 0 0 1 .447 1.341l-3.106 6.211a1 1 0 0 1-1.342.447L3.61 12.3a2.92 2.92 0 0 1-1.3-3.91L3.69 5.6a2.92 2.92 0 0 1 3.92-1.3z"],[6,"M2 19h3.76a2 2 0 0 0 1.8-1.1L9 15"],[6,"M2 21v-4"],[6,"M7 9h.01"]],"chart-area":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z"]],"chart-bar":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 16h8"],[6,"M7 11h12"],[6,"M7 6h3"]],"chart-bar-big":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,7,13,9,4,1],[5,7,5,12,4,1]],"chart-bar-decreasing":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 11h8"],[6,"M7 16h3"],[6,"M7 6h12"]],"chart-bar-increasing":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 11h8"],[6,"M7 16h12"],[6,"M7 6h3"]],"chart-bar-stacked":[[6,"M11 13v4"],[6,"M15 5v4"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,7,13,9,4,1],[5,7,5,12,4,1]],"chart-candlestick":[[6,"M9 5v4"],[5,7,9,4,6,1],[6,"M9 15v2"],[6,"M17 3v2"],[5,15,5,4,8,1],[6,"M17 13v3"],[6,"M3 3v16a2 2 0 0 0 2 2h16"]],"chart-column":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M18 17V9"],[6,"M13 17V5"],[6,"M8 17v-3"]],"chart-column-big":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,15,5,4,12,1],[5,7,8,4,9,1]],"chart-column-decreasing":[[6,"M13 17V9"],[6,"M18 17v-3"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M8 17V5"]],"chart-column-increasing":[[6,"M13 17V9"],[6,"M18 17V5"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M8 17v-3"]],"chart-column-stacked":[[6,"M11 13H7"],[6,"M19 9h-4"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[5,15,5,4,12,1],[5,7,8,4,9,1]],"chart-gantt":[[6,"M10 6h8"],[6,"M12 16h6"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M8 11h7"]],"chart-line":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"m19 9-5 5-4-4-3 3"]],"chart-network":[[6,"m13.11 7.664 1.78 2.672"],[6,"m14.162 12.788-3.324 1.424"],[6,"m20 4-6.06 1.515"],[6,"M3 3v16a2 2 0 0 0 2 2h16"],[1,12,6,2],[1,16,12,2],[1,9,15,2]],"chart-no-axes-column":[[0,18,20,18,10],[0,12,20,12,4],[0,6,20,6,14]],"chart-no-axes-column-decreasing":[[6,"M12 20V10"],[6,"M18 20v-4"],[6,"M6 20V4"]],"chart-no-axes-column-increasing":[[0,12,20,12,10],[0,18,20,18,4],[0,6,20,6,16]],"chart-no-axes-combined":[[6,"M12 16v5"],[6,"M16 14v7"],[6,"M20 10v11"],[6,"m22 3-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15"],[6,"M4 18v3"],[6,"M8 14v7"]],"chart-no-axes-gantt":[[6,"M8 6h10"],[6,"M6 12h9"],[6,"M11 18h7"]],"chart-pie":[[6,"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z"],[6,"M21.21 15.89A10 10 0 1 1 8 2.83"]],"chart-scatter":[[1,7.5,7.5,.5],[1,18.5,5.5,.5],[1,11.5,11.5,.5],[1,7.5,16.5,.5],[1,17.5,14.5,.5],[6,"M3 3v16a2 2 0 0 0 2 2h16"]],"chart-spline":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7"]],check:[[6,"M20 6 9 17l-5-5"]],"check-check":[[6,"M18 6 7 17l-5-5"],[6,"m22 10-7.5 7.5L13 16"]],"check-circle":[[6,"M21.801 10A10 10 0 1 1 17 3.335"],[6,"m9 11 3 3L22 4"]],"check-circle-2":[[1,12,12,10],[6,"m9 12 2 2 4-4"]],"check-square":[[6,"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5"],[6,"m9 11 3 3L22 4"]],"check-square-2":[[5,3,3,18,18,2],[6,"m9 12 2 2 4-4"]],"chef-hat":[[6,"M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z"],[6,"M6 17h12"]],cherry:[[6,"M2 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z"],[6,"M12 17a5 5 0 0 0 10 0c0-2.76-2.5-5-5-3-2.5-2-5 .24-5 3Z"],[6,"M7 14c3.22-2.91 4.29-8.75 5-12 1.66 2.38 4.94 9 5 12"],[6,"M22 9c-4.29 0-7.14-2.33-10-7 5.71 0 10 4.67 10 7Z"]],"chevron-down":[[6,"m6 9 6 6 6-6"]],"chevron-down-circle":[[1,12,12,10],[6,"m16 10-4 4-4-4"]],"chevron-down-square":[[5,3,3,18,18,2],[6,"m16 10-4 4-4-4"]],"chevron-first":[[6,"m17 18-6-6 6-6"],[6,"M7 6v12"]],"chevron-last":[[6,"m7 18 6-6-6-6"],[6,"M17 6v12"]],"chevron-left":[[6,"m15 18-6-6 6-6"]],"chevron-left-circle":[[1,12,12,10],[6,"m14 16-4-4 4-4"]],"chevron-left-square":[[5,3,3,18,18,2],[6,"m14 16-4-4 4-4"]],"chevron-right":[[6,"m9 18 6-6-6-6"]],"chevron-right-circle":[[1,12,12,10],[6,"m10 8 4 4-4 4"]],"chevron-right-square":[[5,3,3,18,18,2],[6,"m10 8 4 4-4 4"]],"chevron-up":[[6,"m18 15-6-6-6 6"]],"chevron-up-circle":[[1,12,12,10],[6,"m8 14 4-4 4 4"]],"chevron-up-square":[[5,3,3,18,18,2],[6,"m8 14 4-4 4 4"]],"chevrons-down":[[6,"m7 6 5 5 5-5"],[6,"m7 13 5 5 5-5"]],"chevrons-down-up":[[6,"m7 20 5-5 5 5"],[6,"m7 4 5 5 5-5"]],"chevrons-left":[[6,"m11 17-5-5 5-5"],[6,"m18 17-5-5 5-5"]],"chevrons-left-right":[[6,"m9 7-5 5 5 5"],[6,"m15 7 5 5-5 5"]],"chevrons-left-right-ellipsis":[[6,"m18 8 4 4-4 4"],[6,"m6 8-4 4 4 4"],[6,"M8 12h.01"],[6,"M12 12h.01"],[6,"M16 12h.01"]],"chevrons-right":[[6,"m6 17 5-5-5-5"],[6,"m13 17 5-5-5-5"]],"chevrons-right-left":[[6,"m20 17-5-5 5-5"],[6,"m4 17 5-5-5-5"]],"chevrons-up":[[6,"m17 11-5-5-5 5"],[6,"m17 18-5-5-5 5"]],"chevrons-up-down":[[6,"m7 15 5 5 5-5"],[6,"m7 9 5-5 5 5"]],chrome:[[1,12,12,10],[1,12,12,4],[0,21.17,8,12,8],[0,3.95,6.06,8.54,14],[0,10.88,21.94,15.46,14]],church:[[6,"M10 9h4"],[6,"M12 7v5"],[6,"M14 22v-4a2 2 0 0 0-4 0v4"],[6,"M18 22V5.618a1 1 0 0 0-.553-.894l-4.553-2.277a2 2 0 0 0-1.788 0L6.553 4.724A1 1 0 0 0 6 5.618V22"],[6,"m18 7 3.447 1.724a1 1 0 0 1 .553.894V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.618a1 1 0 0 1 .553-.894L6 7"]],cigarette:[[6,"M17 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14"],[6,"M18 8c0-2.5-2-2.5-2-5"],[6,"M21 16a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1"],[6,"M22 8c0-2.5-2-2.5-2-5"],[6,"M7 12v4"]],"cigarette-off":[[6,"M12 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h13"],[6,"M18 8c0-2.5-2-2.5-2-5"],[6,"m2 2 20 20"],[6,"M21 12a1 1 0 0 1 1 1v2a1 1 0 0 1-.5.866"],[6,"M22 8c0-2.5-2-2.5-2-5"],[6,"M7 12v4"]],circle:[[1,12,12,10]],"circle-alert":[[1,12,12,10],[0,12,8,12,12],[0,12,16,12.01,16]],"circle-arrow-down":[[1,12,12,10],[6,"M12 8v8"],[6,"m8 12 4 4 4-4"]],"circle-arrow-left":[[1,12,12,10],[6,"M16 12H8"],[6,"m12 8-4 4 4 4"]],"circle-arrow-out-down-left":[[6,"M2 12a10 10 0 1 1 10 10"],[6,"m2 22 10-10"],[6,"M8 22H2v-6"]],"circle-arrow-out-down-right":[[6,"M12 22a10 10 0 1 1 10-10"],[6,"M22 22 12 12"],[6,"M22 16v6h-6"]],"circle-arrow-out-up-left":[[6,"M2 8V2h6"],[6,"m2 2 10 10"],[6,"M12 2A10 10 0 1 1 2 12"]],"circle-arrow-out-up-right":[[6,"M22 12A10 10 0 1 1 12 2"],[6,"M22 2 12 12"],[6,"M16 2h6v6"]],"circle-arrow-right":[[1,12,12,10],[6,"M8 12h8"],[6,"m12 16 4-4-4-4"]],"circle-arrow-up":[[1,12,12,10],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"]],"circle-check":[[1,12,12,10],[6,"m9 12 2 2 4-4"]],"circle-check-big":[[6,"M21.801 10A10 10 0 1 1 17 3.335"],[6,"m9 11 3 3L22 4"]],"circle-chevron-down":[[1,12,12,10],[6,"m16 10-4 4-4-4"]],"circle-chevron-left":[[1,12,12,10],[6,"m14 16-4-4 4-4"]],"circle-chevron-right":[[1,12,12,10],[6,"m10 8 4 4-4 4"]],"circle-chevron-up":[[1,12,12,10],[6,"m8 14 4-4 4 4"]],"circle-dashed":[[6,"M10.1 2.182a10 10 0 0 1 3.8 0"],[6,"M13.9 21.818a10 10 0 0 1-3.8 0"],[6,"M17.609 3.721a10 10 0 0 1 2.69 2.7"],[6,"M2.182 13.9a10 10 0 0 1 0-3.8"],[6,"M20.279 17.609a10 10 0 0 1-2.7 2.69"],[6,"M21.818 10.1a10 10 0 0 1 0 3.8"],[6,"M3.721 6.391a10 10 0 0 1 2.7-2.69"],[6,"M6.391 20.279a10 10 0 0 1-2.69-2.7"]],"circle-divide":[[0,8,12,16,12],[0,12,16,12,16],[0,12,8,12,8],[1,12,12,10]],"circle-dollar-sign":[[1,12,12,10],[6,"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"],[6,"M12 18V6"]],"circle-dot":[[1,12,12,10],[1,12,12,1]],"circle-dot-dashed":[[6,"M10.1 2.18a9.93 9.93 0 0 1 3.8 0"],[6,"M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7"],[6,"M21.82 10.1a9.93 9.93 0 0 1 0 3.8"],[6,"M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69"],[6,"M13.9 21.82a9.94 9.94 0 0 1-3.8 0"],[6,"M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7"],[6,"M2.18 13.9a9.93 9.93 0 0 1 0-3.8"],[6,"M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69"],[1,12,12,1]],"circle-ellipsis":[[1,12,12,10],[6,"M17 12h.01"],[6,"M12 12h.01"],[6,"M7 12h.01"]],"circle-equal":[[6,"M7 10h10"],[6,"M7 14h10"],[1,12,12,10]],"circle-fading-arrow-up":[[6,"M12 2a10 10 0 0 1 7.38 16.75"],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"],[6,"M2.5 8.875a10 10 0 0 0-.5 3"],[6,"M2.83 16a10 10 0 0 0 2.43 3.4"],[6,"M4.636 5.235a10 10 0 0 1 .891-.857"],[6,"M8.644 21.42a10 10 0 0 0 7.631-.38"]],"circle-fading-plus":[[6,"M12 2a10 10 0 0 1 7.38 16.75"],[6,"M12 8v8"],[6,"M16 12H8"],[6,"M2.5 8.875a10 10 0 0 0-.5 3"],[6,"M2.83 16a10 10 0 0 0 2.43 3.4"],[6,"M4.636 5.235a10 10 0 0 1 .891-.857"],[6,"M8.644 21.42a10 10 0 0 0 7.631-.38"]],"circle-gauge":[[6,"M15.6 2.7a10 10 0 1 0 5.7 5.7"],[1,12,12,2],[6,"M13.4 10.6 19 5"]],"circle-help":[[1,12,12,10],[6,"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"],[6,"M12 17h.01"]],"circle-minus":[[1,12,12,10],[6,"M8 12h8"]],"circle-off":[[6,"m2 2 20 20"],[6,"M8.35 2.69A10 10 0 0 1 21.3 15.65"],[6,"M19.08 19.08A10 10 0 1 1 4.92 4.92"]],"circle-parking":[[1,12,12,10],[6,"M9 17V7h4a3 3 0 0 1 0 6H9"]],"circle-parking-off":[[1,12,12,10],[6,"m5 5 14 14"],[6,"M13 13a3 3 0 1 0 0-6H9v2"],[6,"M9 17v-2.34"]],"circle-pause":[[1,12,12,10],[0,10,15,10,9],[0,14,15,14,9]],"circle-percent":[[1,12,12,10],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"circle-play":[[1,12,12,10],[3,"10 8 16 12 10 16 10 8"]],"circle-plus":[[1,12,12,10],[6,"M8 12h8"],[6,"M12 8v8"]],"circle-power":[[6,"M12 7v4"],[6,"M7.998 9.003a5 5 0 1 0 8-.005"],[1,12,12,10]],"circle-slash":[[1,12,12,10],[0,9,15,15,9]],"circle-slash-2":[[1,12,12,10],[6,"M22 2 2 22"]],"circle-slashed":[[1,12,12,10],[6,"M22 2 2 22"]],"circle-stop":[[1,12,12,10],[5,9,9,6,6,1]],"circle-user":[[1,12,12,10],[1,12,10,3],[6,"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662"]],"circle-user-round":[[6,"M18 20a6 6 0 0 0-12 0"],[1,12,10,4],[1,12,12,10]],"circle-x":[[1,12,12,10],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],"circuit-board":[[5,3,3,18,18,2],[6,"M11 9h4a2 2 0 0 0 2-2V3"],[1,9,9,2],[6,"M7 21v-4a2 2 0 0 1 2-2h4"],[1,15,15,2]],citrus:[[6,"M21.66 17.67a1.08 1.08 0 0 1-.04 1.6A12 12 0 0 1 4.73 2.38a1.1 1.1 0 0 1 1.61-.04z"],[6,"M19.65 15.66A8 8 0 0 1 8.35 4.34"],[6,"m14 10-5.5 5.5"],[6,"M14 17.85V10H6.15"]],clapperboard:[[6,"M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z"],[6,"m6.2 5.3 3.1 3.9"],[6,"m12.4 3.4 3.1 4"],[6,"M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z"]],clipboard:[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"]],"clipboard-check":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"m9 14 2 2 4-4"]],"clipboard-copy":[[5,8,2,8,4,1,1],[6,"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"],[6,"M16 4h2a2 2 0 0 1 2 2v4"],[6,"M21 14H11"],[6,"m15 10-4 4 4 4"]],"clipboard-edit":[[5,8,2,8,4,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5"],[6,"M4 13.5V6a2 2 0 0 1 2-2h2"],[6,"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"clipboard-list":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"M12 11h4"],[6,"M12 16h4"],[6,"M8 11h.01"],[6,"M8 16h.01"]],"clipboard-minus":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"M9 14h6"]],"clipboard-paste":[[6,"M15 2H9a1 1 0 0 0-1 1v2c0 .6.4 1 1 1h6c.6 0 1-.4 1-1V3c0-.6-.4-1-1-1Z"],[6,"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2M16 4h2a2 2 0 0 1 2 2v2M11 14h10"],[6,"m17 10 4 4-4 4"]],"clipboard-pen":[[5,8,2,8,4,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-5.5"],[6,"M4 13.5V6a2 2 0 0 1 2-2h2"],[6,"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"clipboard-pen-line":[[5,8,2,8,4,1],[6,"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5"],[6,"M16 4h2a2 2 0 0 1 1.73 1"],[6,"M8 18h1"],[6,"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"clipboard-plus":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"M9 14h6"],[6,"M12 17v-6"]],"clipboard-signature":[[5,8,2,8,4,1],[6,"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5"],[6,"M16 4h2a2 2 0 0 1 1.73 1"],[6,"M8 18h1"],[6,"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"clipboard-type":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"M9 12v-1h6v1"],[6,"M11 17h2"],[6,"M12 11v6"]],"clipboard-x":[[5,8,2,8,4,1,1],[6,"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"],[6,"m15 11-6 6"],[6,"m9 11 6 6"]],clock:[[1,12,12,10],[2,"12 6 12 12 16 14"]],"clock-1":[[1,12,12,10],[2,"12 6 12 12 14.5 8"]],"clock-10":[[1,12,12,10],[2,"12 6 12 12 8 10"]],"clock-11":[[1,12,12,10],[2,"12 6 12 12 9.5 8"]],"clock-12":[[1,12,12,10],[2,"12 6 12 12"]],"clock-2":[[1,12,12,10],[2,"12 6 12 12 16 10"]],"clock-3":[[1,12,12,10],[2,"12 6 12 12 16.5 12"]],"clock-4":[[1,12,12,10],[2,"12 6 12 12 16 14"]],"clock-5":[[1,12,12,10],[2,"12 6 12 12 14.5 16"]],"clock-6":[[1,12,12,10],[2,"12 6 12 12 12 16.5"]],"clock-7":[[1,12,12,10],[2,"12 6 12 12 9.5 16"]],"clock-8":[[1,12,12,10],[2,"12 6 12 12 8 14"]],"clock-9":[[1,12,12,10],[2,"12 6 12 12 7.5 12"]],"clock-alert":[[6,"M12 6v6l4 2"],[6,"M16 21.16a10 10 0 1 1 5-13.516"],[6,"M20 11.5v6"],[6,"M20 21.5h.01"]],"clock-arrow-down":[[6,"M12.338 21.994A10 10 0 1 1 21.925 13.227"],[6,"M12 6v6l2 1"],[6,"m14 18 4 4 4-4"],[6,"M18 14v8"]],"clock-arrow-up":[[6,"M13.228 21.925A10 10 0 1 1 21.994 12.338"],[6,"M12 6v6l1.562.781"],[6,"m14 18 4-4 4 4"],[6,"M18 22v-8"]],cloud:[[6,"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"]],"cloud-cog":[[1,12,17,3],[6,"M4.2 15.1A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.2"],[6,"m15.7 18.4-.9-.3"],[6,"m9.2 15.9-.9-.3"],[6,"m10.6 20.7.3-.9"],[6,"m13.1 14.2.3-.9"],[6,"m13.6 20.7-.4-1"],[6,"m10.8 14.3-.4-1"],[6,"m8.3 18.6 1-.4"],[6,"m14.7 15.8 1-.4"]],"cloud-download":[[6,"M12 13v8l-4-4"],[6,"m12 21 4-4"],[6,"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284"]],"cloud-drizzle":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M8 19v1"],[6,"M8 14v1"],[6,"M16 19v1"],[6,"M16 14v1"],[6,"M12 21v1"],[6,"M12 16v1"]],"cloud-fog":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M16 17H7"],[6,"M17 21H9"]],"cloud-hail":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M16 14v2"],[6,"M8 14v2"],[6,"M16 20h.01"],[6,"M8 20h.01"],[6,"M12 16v2"],[6,"M12 22h.01"]],"cloud-lightning":[[6,"M6 16.326A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 .5 8.973"],[6,"m13 12-3 5h4l-3 5"]],"cloud-moon":[[6,"M10.188 8.5A6 6 0 0 1 16 4a1 1 0 0 0 6 6 6 6 0 0 1-3 5.197"],[6,"M13 16a3 3 0 1 1 0 6H7a5 5 0 1 1 4.9-6Z"]],"cloud-moon-rain":[[6,"M10.188 8.5A6 6 0 0 1 16 4a1 1 0 0 0 6 6 6 6 0 0 1-3 5.197"],[6,"M11 20v2"],[6,"M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24"],[6,"M7 19v2"]],"cloud-off":[[6,"m2 2 20 20"],[6,"M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193"],[6,"M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07"]],"cloud-rain":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M16 14v6"],[6,"M8 14v6"],[6,"M12 16v6"]],"cloud-rain-wind":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"m9.2 22 3-7"],[6,"m9 13-3 7"],[6,"m17 13-3 7"]],"cloud-snow":[[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"M8 15h.01"],[6,"M8 19h.01"],[6,"M12 17h.01"],[6,"M12 21h.01"],[6,"M16 15h.01"],[6,"M16 19h.01"]],"cloud-sun":[[6,"M12 2v2"],[6,"m4.93 4.93 1.41 1.41"],[6,"M20 12h2"],[6,"m19.07 4.93-1.41 1.41"],[6,"M15.947 12.65a4 4 0 0 0-5.925-4.128"],[6,"M13 22H7a5 5 0 1 1 4.9-6H13a3 3 0 0 1 0 6Z"]],"cloud-sun-rain":[[6,"M12 2v2"],[6,"m4.93 4.93 1.41 1.41"],[6,"M20 12h2"],[6,"m19.07 4.93-1.41 1.41"],[6,"M15.947 12.65a4 4 0 0 0-5.925-4.128"],[6,"M3 20a5 5 0 1 1 8.9-4H13a3 3 0 0 1 2 5.24"],[6,"M11 20v2"],[6,"M7 19v2"]],"cloud-upload":[[6,"M12 13v8"],[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"m8 17 4-4 4 4"]],cloudy:[[6,"M17.5 21H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"],[6,"M22 10a3 3 0 0 0-3-3h-2.207a5.502 5.502 0 0 0-10.702.5"]],clover:[[6,"M16.17 7.83 2 22"],[6,"M4.02 12a2.827 2.827 0 1 1 3.81-4.17A2.827 2.827 0 1 1 12 4.02a2.827 2.827 0 1 1 4.17 3.81A2.827 2.827 0 1 1 19.98 12a2.827 2.827 0 1 1-3.81 4.17A2.827 2.827 0 1 1 12 19.98a2.827 2.827 0 1 1-4.17-3.81A1 1 0 1 1 4 12"],[6,"m7.83 7.83 8.34 8.34"]],club:[[6,"M17.28 9.05a5.5 5.5 0 1 0-10.56 0A5.5 5.5 0 1 0 12 17.66a5.5 5.5 0 1 0 5.28-8.6Z"],[6,"M12 17.66L12 22"]],code:[[2,"16 18 22 12 16 6"],[2,"8 6 2 12 8 18"]],"code-2":[[6,"m18 16 4-4-4-4"],[6,"m6 8-4 4 4 4"],[6,"m14.5 4-5 16"]],"code-square":[[6,"M10 9.5 8 12l2 2.5"],[6,"m14 9.5 2 2.5-2 2.5"],[5,3,3,18,18,2]],"code-xml":[[6,"m18 16 4-4-4-4"],[6,"m6 8-4 4 4 4"],[6,"m14.5 4-5 16"]],codepen:[[3,"12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2"],[0,12,22,12,15.5],[2,"22 8.5 12 15.5 2 8.5"],[2,"2 15.5 12 8.5 22 15.5"],[0,12,2,12,8.5]],codesandbox:[[6,"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"],[2,"7.5 4.21 12 6.81 16.5 4.21"],[2,"7.5 19.79 7.5 14.6 3 12"],[2,"21 12 16.5 14.6 16.5 19.79"],[2,"3.27 6.96 12 12.01 20.73 6.96"],[0,12,22.08,12,12]],coffee:[[6,"M10 2v2"],[6,"M14 2v2"],[6,"M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1"],[6,"M6 2v2"]],cog:[[6,"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z"],[6,"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z"],[6,"M12 2v2"],[6,"M12 22v-2"],[6,"m17 20.66-1-1.73"],[6,"M11 10.27 7 3.34"],[6,"m20.66 17-1.73-1"],[6,"m3.34 7 1.73 1"],[6,"M14 12h8"],[6,"M2 12h2"],[6,"m20.66 7-1.73 1"],[6,"m3.34 17 1.73-1"],[6,"m17 3.34-1 1.73"],[6,"m11 13.73-4 6.93"]],coins:[[1,8,8,6],[6,"M18.09 10.37A6 6 0 1 1 10.34 18"],[6,"M7 6h1v4"],[6,"m16.71 13.88.7.71-2.82 2.82"]],columns:[[5,3,3,18,18,2],[6,"M12 3v18"]],"columns-2":[[5,3,3,18,18,2],[6,"M12 3v18"]],"columns-3":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"M15 3v18"]],"columns-4":[[5,3,3,18,18,2],[6,"M7.5 3v18"],[6,"M12 3v18"],[6,"M16.5 3v18"]],combine:[[6,"M10 18H5a3 3 0 0 1-3-3v-1"],[6,"M14 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2"],[6,"M20 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2"],[6,"m7 21 3-3-3-3"],[5,14,14,8,8,2],[5,2,2,8,8,2]],command:[[6,"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3"]],compass:[[6,"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z"],[1,12,12,10]],component:[[6,"M5.5 8.5 9 12l-3.5 3.5L2 12l3.5-3.5Z"],[6,"m12 2 3.5 3.5L12 9 8.5 5.5 12 2Z"],[6,"M18.5 8.5 22 12l-3.5 3.5L15 12l3.5-3.5Z"],[6,"m12 15 3.5 3.5L12 22l-3.5-3.5L12 15Z"]],computer:[[5,5,2,14,8,2],[5,2,14,20,8,2],[6,"M6 18h2"],[6,"M12 18h6"]],"concierge-bell":[[6,"M3 20a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1Z"],[6,"M20 16a8 8 0 1 0-16 0"],[6,"M12 4v4"],[6,"M10 4h4"]],cone:[[6,"m20.9 18.55-8-15.98a1 1 0 0 0-1.8 0l-8 15.98"],[4,12,19,9,3]],construction:[[5,2,6,20,8,1],[6,"M17 14v7"],[6,"M7 14v7"],[6,"M17 3v3"],[6,"M7 3v3"],[6,"M10 14 2.3 6.3"],[6,"m14 6 7.7 7.7"],[6,"m8 6 8 8"]],contact:[[6,"M16 2v2"],[6,"M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2"],[6,"M8 2v2"],[1,12,11,3],[5,3,4,18,18,2]],"contact-2":[[6,"M16 2v2"],[6,"M17.915 22a6 6 0 0 0-12 0"],[6,"M8 2v2"],[1,12,12,4],[5,3,4,18,18,2]],"contact-round":[[6,"M16 2v2"],[6,"M17.915 22a6 6 0 0 0-12 0"],[6,"M8 2v2"],[1,12,12,4],[5,3,4,18,18,2]],container:[[6,"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z"],[6,"M10 21.9V14L2.1 9.1"],[6,"m10 14 11.9-6.9"],[6,"M14 19.8v-8.1"],[6,"M18 17.5V9.4"]],contrast:[[1,12,12,10],[6,"M12 18a6 6 0 0 0 0-12v12z"]],cookie:[[6,"M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5"],[6,"M8.5 8.5v.01"],[6,"M16 15.5v.01"],[6,"M12 12v.01"],[6,"M11 17v.01"],[6,"M7 14v.01"]],"cooking-pot":[[6,"M2 12h20"],[6,"M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8"],[6,"m4 8 16-4"],[6,"m8.86 6.78-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8"]],copy:[[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-check":[[6,"m12 15 2 2 4-4"],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-minus":[[0,12,15,18,15],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-plus":[[0,15,12,15,18],[0,12,15,18,15],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-slash":[[0,12,18,18,12],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],"copy-x":[[0,12,12,18,18],[0,12,18,18,12],[5,8,8,14,14,2,2],[6,"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"]],copyleft:[[1,12,12,10],[6,"M9.17 14.83a4 4 0 1 0 0-5.66"]],copyright:[[1,12,12,10],[6,"M14.83 14.83a4 4 0 1 1 0-5.66"]],"corner-down-left":[[2,"9 10 4 15 9 20"],[6,"M20 4v7a4 4 0 0 1-4 4H4"]],"corner-down-right":[[2,"15 10 20 15 15 20"],[6,"M4 4v7a4 4 0 0 0 4 4h12"]],"corner-left-down":[[2,"14 15 9 20 4 15"],[6,"M20 4h-7a4 4 0 0 0-4 4v12"]],"corner-left-up":[[2,"14 9 9 4 4 9"],[6,"M20 20h-7a4 4 0 0 1-4-4V4"]],"corner-right-down":[[2,"10 15 15 20 20 15"],[6,"M4 4h7a4 4 0 0 1 4 4v12"]],"corner-right-up":[[2,"10 9 15 4 20 9"],[6,"M4 20h7a4 4 0 0 0 4-4V4"]],"corner-up-left":[[2,"9 14 4 9 9 4"],[6,"M20 20v-7a4 4 0 0 0-4-4H4"]],"corner-up-right":[[2,"15 14 20 9 15 4"],[6,"M4 20v-7a4 4 0 0 1 4-4h12"]],cpu:[[5,4,4,16,16,2],[5,9,9,6,6,1],[6,"M15 2v2"],[6,"M15 20v2"],[6,"M2 15h2"],[6,"M2 9h2"],[6,"M20 15h2"],[6,"M20 9h2"],[6,"M9 2v2"],[6,"M9 20v2"]],"creative-commons":[[1,12,12,10],[6,"M10 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1"],[6,"M17 9.3a2.8 2.8 0 0 0-3.5 1 3.1 3.1 0 0 0 0 3.4 2.7 2.7 0 0 0 3.5 1"]],"credit-card":[[5,2,5,20,14,2],[0,2,10,22,10]],croissant:[[6,"m4.6 13.11 5.79-3.21c1.89-1.05 4.79 1.78 3.71 3.71l-3.22 5.81C8.8 23.16.79 15.23 4.6 13.11Z"],[6,"m10.5 9.5-1-2.29C9.2 6.48 8.8 6 8 6H4.5C2.79 6 2 6.5 2 8.5a7.71 7.71 0 0 0 2 4.83"],[6,"M8 6c0-1.55.24-4-2-4-2 0-2.5 2.17-2.5 4"],[6,"m14.5 13.5 2.29 1c.73.3 1.21.7 1.21 1.5v3.5c0 1.71-.5 2.5-2.5 2.5a7.71 7.71 0 0 1-4.83-2"],[6,"M18 16c1.55 0 4-.24 4 2 0 2-2.17 2.5-4 2.5"]],crop:[[6,"M6 2v14a2 2 0 0 0 2 2h14"],[6,"M18 22V8a2 2 0 0 0-2-2H2"]],cross:[[6,"M11 2a2 2 0 0 0-2 2v5H4a2 2 0 0 0-2 2v2c0 1.1.9 2 2 2h5v5c0 1.1.9 2 2 2h2a2 2 0 0 0 2-2v-5h5a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-5V4a2 2 0 0 0-2-2h-2z"]],crosshair:[[1,12,12,10],[0,22,12,18,12],[0,6,12,2,12],[0,12,6,12,2],[0,12,22,12,18]],crown:[[6,"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z"],[6,"M5 21h14"]],cuboid:[[6,"m21.12 6.4-6.05-4.06a2 2 0 0 0-2.17-.05L2.95 8.41a2 2 0 0 0-.95 1.7v5.82a2 2 0 0 0 .88 1.66l6.05 4.07a2 2 0 0 0 2.17.05l9.95-6.12a2 2 0 0 0 .95-1.7V8.06a2 2 0 0 0-.88-1.66Z"],[6,"M10 22v-8L2.25 9.15"],[6,"m10 14 11.77-6.87"]],"cup-soda":[[6,"m6 8 1.75 12.28a2 2 0 0 0 2 1.72h4.54a2 2 0 0 0 2-1.72L18 8"],[6,"M5 8h14"],[6,"M7 15a6.47 6.47 0 0 1 5 0 6.47 6.47 0 0 0 5 0"],[6,"m12 8 1-6h2"]],"curly-braces":[[6,"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"],[6,"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"]],currency:[[1,12,12,8],[0,3,3,6,6],[0,21,3,18,6],[0,3,21,6,18],[0,21,21,18,18]],cylinder:[[4,12,5,9,3],[6,"M3 5v14a9 3 0 0 0 18 0V5"]],dam:[[6,"M11 11.31c1.17.56 1.54 1.69 3.5 1.69 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M11.75 18c.35.5 1.45 1 2.75 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[6,"M2 6h4"],[6,"M7 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1L10 4a1 1 0 0 0-1-1z"]],database:[[4,12,5,9,3],[6,"M3 5V19A9 3 0 0 0 21 19V5"],[6,"M3 12A9 3 0 0 0 21 12"]],"database-backup":[[4,12,5,9,3],[6,"M3 12a9 3 0 0 0 5 2.69"],[6,"M21 9.3V5"],[6,"M3 5v14a9 3 0 0 0 6.47 2.88"],[6,"M12 12v4h4"],[6,"M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16"]],"database-zap":[[4,12,5,9,3],[6,"M3 5V19A9 3 0 0 0 15 21.84"],[6,"M21 5V8"],[6,"M21 12L18 17H22L19 22"],[6,"M3 12A9 3 0 0 0 14.59 14.87"]],delete:[[6,"M10 5a2 2 0 0 0-1.344.519l-6.328 5.74a1 1 0 0 0 0 1.481l6.328 5.741A2 2 0 0 0 10 19h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2z"],[6,"m12 9 6 6"],[6,"m18 9-6 6"]],dessert:[[1,12,4,2],[6,"M10.2 3.2C5.5 4 2 8.1 2 13a2 2 0 0 0 4 0v-1a2 2 0 0 1 4 0v4a2 2 0 0 0 4 0v-4a2 2 0 0 1 4 0v1a2 2 0 0 0 4 0c0-4.9-3.5-9-8.2-9.8"],[6,"M3.2 14.8a9 9 0 0 0 17.6 0"]],diameter:[[1,19,19,2],[1,5,5,2],[6,"M6.48 3.66a10 10 0 0 1 13.86 13.86"],[6,"m6.41 6.41 11.18 11.18"],[6,"M3.66 6.48a10 10 0 0 0 13.86 13.86"]],diamond:[[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z"]],"diamond-minus":[[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z"],[6,"M8 12h8"]],"diamond-percent":[[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0Z"],[6,"M9.2 9.2h.01"],[6,"m14.5 9.5-5 5"],[6,"M14.7 14.8h.01"]],"diamond-plus":[[6,"M12 8v8"],[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z"],[6,"M8 12h8"]],"dice-1":[[5,3,3,18,18,2,2],[6,"M12 12h.01"]],"dice-2":[[5,3,3,18,18,2,2],[6,"M15 9h.01"],[6,"M9 15h.01"]],"dice-3":[[5,3,3,18,18,2,2],[6,"M16 8h.01"],[6,"M12 12h.01"],[6,"M8 16h.01"]],"dice-4":[[5,3,3,18,18,2,2],[6,"M16 8h.01"],[6,"M8 8h.01"],[6,"M8 16h.01"],[6,"M16 16h.01"]],"dice-5":[[5,3,3,18,18,2,2],[6,"M16 8h.01"],[6,"M8 8h.01"],[6,"M8 16h.01"],[6,"M16 16h.01"],[6,"M12 12h.01"]],"dice-6":[[5,3,3,18,18,2,2],[6,"M16 8h.01"],[6,"M16 12h.01"],[6,"M16 16h.01"],[6,"M8 8h.01"],[6,"M8 12h.01"],[6,"M8 16h.01"]],dices:[[5,2,10,12,12,2,2],[6,"m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6"],[6,"M6 18h.01"],[6,"M10 14h.01"],[6,"M15 6h.01"],[6,"M18 9h.01"]],diff:[[6,"M12 3v14"],[6,"M5 10h14"],[6,"M5 21h14"]],disc:[[1,12,12,10],[1,12,12,2]],"disc-2":[[1,12,12,10],[1,12,12,4],[6,"M12 12h.01"]],"disc-3":[[1,12,12,10],[6,"M6 12c0-1.7.7-3.2 1.8-4.2"],[1,12,12,2],[6,"M18 12c0 1.7-.7 3.2-1.8 4.2"]],"disc-album":[[5,3,3,18,18,2],[1,12,12,5],[6,"M12 12h.01"]],divide:[[1,12,6,1],[0,5,12,19,12],[1,12,18,1]],"divide-circle":[[0,8,12,16,12],[0,12,16,12,16],[0,12,8,12,8],[1,12,12,10]],"divide-square":[[5,3,3,18,18,2,2],[0,8,12,16,12],[0,12,16,12,16],[0,12,8,12,8]],dna:[[6,"m10 16 1.5 1.5"],[6,"m14 8-1.5-1.5"],[6,"M15 2c-1.798 1.998-2.518 3.995-2.807 5.993"],[6,"m16.5 10.5 1 1"],[6,"m17 6-2.891-2.891"],[6,"M2 15c6.667-6 13.333 0 20-6"],[6,"m20 9 .891.891"],[6,"M3.109 14.109 4 15"],[6,"m6.5 12.5 1 1"],[6,"m7 18 2.891 2.891"],[6,"M9 22c1.798-1.998 2.518-3.995 2.807-5.993"]],"dna-off":[[6,"M15 2c-1.35 1.5-2.092 3-2.5 4.5L14 8"],[6,"m17 6-2.891-2.891"],[6,"M2 15c3.333-3 6.667-3 10-3"],[6,"m2 2 20 20"],[6,"m20 9 .891.891"],[6,"M22 9c-1.5 1.35-3 2.092-4.5 2.5l-1-1"],[6,"M3.109 14.109 4 15"],[6,"m6.5 12.5 1 1"],[6,"m7 18 2.891 2.891"],[6,"M9 22c1.35-1.5 2.092-3 2.5-4.5L10 16"]],dock:[[6,"M2 8h20"],[5,2,4,20,16,2],[6,"M6 16h12"]],dog:[[6,"M11.25 16.25h1.5L12 17z"],[6,"M16 14v.5"],[6,"M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309"],[6,"M8 14v.5"],[6,"M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5"]],"dollar-sign":[[0,12,2,12,22],[6,"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"]],donut:[[6,"M20.5 10a2.5 2.5 0 0 1-2.4-3H18a2.95 2.95 0 0 1-2.6-4.4 10 10 0 1 0 6.3 7.1c-.3.2-.8.3-1.2.3"],[1,12,12,3]],"door-closed":[[6,"M18 20V6a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v14"],[6,"M2 20h20"],[6,"M14 12v.01"]],"door-open":[[6,"M13 4h3a2 2 0 0 1 2 2v14"],[6,"M2 20h3"],[6,"M13 20h9"],[6,"M10 12v.01"],[6,"M13 4.562v16.157a1 1 0 0 1-1.242.97L5 20V5.562a2 2 0 0 1 1.515-1.94l4-1A2 2 0 0 1 13 4.561Z"]],dot:[[1,12.1,12.1,1]],"dot-square":[[5,3,3,18,18,2],[1,12,12,1]],download:[[6,"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"],[2,"7 10 12 15 17 10"],[0,12,15,12,3]],"download-cloud":[[6,"M12 13v8l-4-4"],[6,"m12 21 4-4"],[6,"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284"]],"drafting-compass":[[6,"m12.99 6.74 1.93 3.44"],[6,"M19.136 12a10 10 0 0 1-14.271 0"],[6,"m21 21-2.16-3.84"],[6,"m3 21 8.02-14.26"],[1,12,5,2]],drama:[[6,"M10 11h.01"],[6,"M14 6h.01"],[6,"M18 6h.01"],[6,"M6.5 13.1h.01"],[6,"M22 5c0 9-4 12-6 12s-6-3-6-12c0-2 2-3 6-3s6 1 6 3"],[6,"M17.4 9.9c-.8.8-2 .8-2.8 0"],[6,"M10.1 7.1C9 7.2 7.7 7.7 6 8.6c-3.5 2-4.7 3.9-3.7 5.6 4.5 7.8 9.5 8.4 11.2 7.4.9-.5 1.9-2.1 1.9-4.7"],[6,"M9.1 16.5c.3-1.1 1.4-1.7 2.4-1.4"]],dribbble:[[1,12,12,10],[6,"M19.13 5.09C15.22 9.14 10 10.44 2.25 10.94"],[6,"M21.75 12.84c-6.62-1.41-12.14 1-16.38 6.32"],[6,"M8.56 2.75c4.37 6 6 9.42 8 17.72"]],drill:[[6,"M14 9c0 .6-.4 1-1 1H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9c.6 0 1 .4 1 1Z"],[6,"M18 6h4"],[6,"M14 4h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3"],[6,"m5 10-2 8"],[6,"M12 10v3c0 .6-.4 1-1 1H8"],[6,"m7 18 2-8"],[6,"M5 22c-1.7 0-3-1.3-3-3 0-.6.4-1 1-1h7c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1Z"]],droplet:[[6,"M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z"]],droplets:[[6,"M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z"],[6,"M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97"]],drum:[[6,"m2 2 8 8"],[6,"m22 2-8 8"],[4,12,9,10,5],[6,"M7 13.4v7.9"],[6,"M12 14v8"],[6,"M17 13.4v7.9"],[6,"M2 9v8a10 5 0 0 0 20 0V9"]],drumstick:[[6,"M15.4 15.63a7.875 6 135 1 1 6.23-6.23 4.5 3.43 135 0 0-6.23 6.23"],[6,"m8.29 12.71-2.6 2.6a2.5 2.5 0 1 0-1.65 4.65A2.5 2.5 0 1 0 8.7 18.3l2.59-2.59"]],dumbbell:[[6,"M14.4 14.4 9.6 9.6"],[6,"M18.657 21.485a2 2 0 1 1-2.829-2.828l-1.767 1.768a2 2 0 1 1-2.829-2.829l6.364-6.364a2 2 0 1 1 2.829 2.829l-1.768 1.767a2 2 0 1 1 2.828 2.829z"],[6,"m21.5 21.5-1.4-1.4"],[6,"M3.9 3.9 2.5 2.5"],[6,"M6.404 12.768a2 2 0 1 1-2.829-2.829l1.768-1.767a2 2 0 1 1-2.828-2.829l2.828-2.828a2 2 0 1 1 2.829 2.828l1.767-1.768a2 2 0 1 1 2.829 2.829z"]],ear:[[6,"M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0"],[6,"M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4"]],"ear-off":[[6,"M6 18.5a3.5 3.5 0 1 0 7 0c0-1.57.92-2.52 2.04-3.46"],[6,"M6 8.5c0-.75.13-1.47.36-2.14"],[6,"M8.8 3.15A6.5 6.5 0 0 1 19 8.5c0 1.63-.44 2.81-1.09 3.76"],[6,"M12.5 6A2.5 2.5 0 0 1 15 8.5M10 13a2 2 0 0 0 1.82-1.18"],[0,2,2,22,22]],earth:[[6,"M21.54 15H17a2 2 0 0 0-2 2v4.54"],[6,"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17"],[6,"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05"],[1,12,12,10]],"earth-lock":[[6,"M7 3.34V5a3 3 0 0 0 3 3"],[6,"M11 21.95V18a2 2 0 0 0-2-2 2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05"],[6,"M21.54 15H17a2 2 0 0 0-2 2v4.54"],[6,"M12 2a10 10 0 1 0 9.54 13"],[6,"M20 6V4a2 2 0 1 0-4 0v2"],[5,14,6,8,5,1]],eclipse:[[1,12,12,10],[6,"M12 2a7 7 0 1 0 10 10"]],edit:[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"]],"edit-2":[[6,"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"]],"edit-3":[[6,"M12 20h9"],[6,"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z"]],egg:[[6,"M12 22c6.23-.05 7.87-5.57 7.5-10-.36-4.34-3.95-9.96-7.5-10-3.55.04-7.14 5.66-7.5 10-.37 4.43 1.27 9.95 7.5 10z"]],"egg-fried":[[1,11.5,12.5,3.5],[6,"M3 8c0-3.5 2.5-6 6.5-6 5 0 4.83 3 7.5 5s5 2 5 6c0 4.5-2.5 6.5-7 6.5-2.5 0-2.5 2.5-6 2.5s-7-2-7-5.5c0-3 1.5-3 1.5-5C3.5 10 3 9 3 8Z"]],"egg-off":[[6,"M6.399 6.399C5.362 8.157 4.65 10.189 4.5 12c-.37 4.43 1.27 9.95 7.5 10 3.256-.026 5.259-1.547 6.375-3.625"],[6,"M19.532 13.875A14.07 14.07 0 0 0 19.5 12c-.36-4.34-3.95-9.96-7.5-10-1.04.012-2.082.502-3.046 1.297"],[0,2,2,22,22]],ellipsis:[[1,12,12,1],[1,19,12,1],[1,5,12,1]],"ellipsis-vertical":[[1,12,12,1],[1,12,5,1],[1,12,19,1]],equal:[[0,5,9,19,9],[0,5,15,19,15]],"equal-not":[[0,5,9,19,9],[0,5,15,19,15],[0,19,5,5,19]],"equal-square":[[5,3,3,18,18,2],[6,"M7 10h10"],[6,"M7 14h10"]],eraser:[[6,"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21"],[6,"M22 21H7"],[6,"m5 11 9 9"]],"ethernet-port":[[6,"m15 20 3-3h2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h2l3 3z"],[6,"M6 8v1"],[6,"M10 8v1"],[6,"M14 8v1"],[6,"M18 8v1"]],euro:[[6,"M4 10h12"],[6,"M4 14h9"],[6,"M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2"]],expand:[[6,"m21 21-6-6m6 6v-4.8m0 4.8h-4.8"],[6,"M3 16.2V21m0 0h4.8M3 21l6-6"],[6,"M21 7.8V3m0 0h-4.8M21 3l-6 6"],[6,"M3 7.8V3m0 0h4.8M3 3l6 6"]],"external-link":[[6,"M15 3h6v6"],[6,"M10 14 21 3"],[6,"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"]],eye:[[6,"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"],[1,12,12,3]],"eye-off":[[6,"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"],[6,"M14.084 14.158a3 3 0 0 1-4.242-4.242"],[6,"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"],[6,"m2 2 20 20"]],facebook:[[6,"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"]],factory:[[6,"M2 20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8l-7 5V8l-7 5V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M17 18h1"],[6,"M12 18h1"],[6,"M7 18h1"]],fan:[[6,"M10.827 16.379a6.082 6.082 0 0 1-8.618-7.002l5.412 1.45a6.082 6.082 0 0 1 7.002-8.618l-1.45 5.412a6.082 6.082 0 0 1 8.618 7.002l-5.412-1.45a6.082 6.082 0 0 1-7.002 8.618l1.45-5.412Z"],[6,"M12 12v.01"]],"fast-forward":[[3,"13 19 22 12 13 5 13 19"],[3,"2 19 11 12 2 5 2 19"]],feather:[[6,"M12.67 19a2 2 0 0 0 1.416-.588l6.154-6.172a6 6 0 0 0-8.49-8.49L5.586 9.914A2 2 0 0 0 5 11.328V18a1 1 0 0 0 1 1z"],[6,"M16 8 2 22"],[6,"M17.5 15H9"]],fence:[[6,"M4 3 2 5v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z"],[6,"M6 8h4"],[6,"M6 18h4"],[6,"m12 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z"],[6,"M14 8h4"],[6,"M14 18h4"],[6,"m20 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z"]],"ferris-wheel":[[1,12,12,2],[6,"M12 2v4"],[6,"m6.8 15-3.5 2"],[6,"m20.7 7-3.5 2"],[6,"M6.8 9 3.3 7"],[6,"m20.7 17-3.5-2"],[6,"m9 22 3-8 3 8"],[6,"M8 22h8"],[6,"M18 18.7a9 9 0 1 0-12 0"]],figma:[[6,"M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z"],[6,"M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z"],[6,"M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z"],[6,"M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z"],[6,"M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z"]],file:[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"]],"file-archive":[[6,"M10 12v-1"],[6,"M10 18v-2"],[6,"M10 7V6"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01"],[1,10,20,2]],"file-audio":[[6,"M17.5 22h.5a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M2 19a2 2 0 1 1 4 0v1a2 2 0 1 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 1 1-4 0v-1a2 2 0 1 1 4 0"]],"file-audio-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,3,17,1],[6,"M2 17v-3a4 4 0 0 1 8 0v3"],[1,9,17,1]],"file-axis-3d":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m8 18 4-4"],[6,"M8 10v8h8"]],"file-badge":[[6,"M12 22h6a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M5 17a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"],[6,"M7 16.5 8 22l-3-1-3 1 1-5.5"]],"file-badge-2":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[1,12,10,3],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m14 12.5 1 5.5-3-1-3 1 1-5.5"]],"file-bar-chart":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 18v-2"],[6,"M12 18v-4"],[6,"M16 18v-6"]],"file-bar-chart-2":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 18v-1"],[6,"M12 18v-6"],[6,"M16 18v-3"]],"file-box":[[6,"M14.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M3 13.1a2 2 0 0 0-1 1.76v3.24a2 2 0 0 0 .97 1.78L6 21.7a2 2 0 0 0 2.03.01L11 19.9a2 2 0 0 0 1-1.76V14.9a2 2 0 0 0-.97-1.78L8 11.3a2 2 0 0 0-2.03-.01Z"],[6,"M7 17v5"],[6,"M11.7 14.2 7 17l-4.7-2.8"]],"file-chart-column":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 18v-1"],[6,"M12 18v-6"],[6,"M16 18v-3"]],"file-chart-column-increasing":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 18v-2"],[6,"M12 18v-4"],[6,"M16 18v-6"]],"file-chart-line":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m16 13-3.5 3.5-2-2L8 17"]],"file-chart-pie":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3.5"],[6,"M4.017 11.512a6 6 0 1 0 8.466 8.475"],[6,"M9 16a1 1 0 0 1-1-1v-4c0-.552.45-1.008.995-.917a6 6 0 0 1 4.922 4.922c.091.544-.365.995-.917.995z"]],"file-check":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m9 15 2 2 4-4"]],"file-check-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m3 15 2 2 4-4"]],"file-clock":[[6,"M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,8,16,6],[6,"M9.5 17.5 8 16.25V14"]],"file-code":[[6,"M10 12.5 8 15l2 2.5"],[6,"m14 12.5 2 2.5-2 2.5"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"]],"file-code-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m5 12-3 3 3 3"],[6,"m9 18 3-3-3-3"]],"file-cog":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m3.2 12.9-.9-.4"],[6,"m3.2 15.1-.9.4"],[6,"M4.677 21.5a2 2 0 0 0 1.313.5H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2.5"],[6,"m4.9 11.2-.4-.9"],[6,"m4.9 16.8-.4.9"],[6,"m7.5 10.3-.4.9"],[6,"m7.5 17.7-.4-.9"],[6,"m9.7 12.5-.9.4"],[6,"m9.7 15.5-.9-.4"],[1,6,14,3]],"file-cog-2":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m3.2 12.9-.9-.4"],[6,"m3.2 15.1-.9.4"],[6,"M4.677 21.5a2 2 0 0 0 1.313.5H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2.5"],[6,"m4.9 11.2-.4-.9"],[6,"m4.9 16.8-.4.9"],[6,"m7.5 10.3-.4.9"],[6,"m7.5 17.7-.4-.9"],[6,"m9.7 12.5-.9.4"],[6,"m9.7 15.5-.9-.4"],[1,6,14,3]],"file-diff":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M9 10h6"],[6,"M12 13V7"],[6,"M9 17h6"]],"file-digit":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[5,2,12,4,6,2],[6,"M10 12h2v6"],[6,"M10 18h4"]],"file-down":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M12 18v-6"],[6,"m9 15 3 3 3-3"]],"file-edit":[[6,"M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"file-heart":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M10.29 10.7a2.43 2.43 0 0 0-2.66-.52c-.29.12-.56.3-.78.53l-.35.34-.35-.34a2.43 2.43 0 0 0-2.65-.53c-.3.12-.56.3-.79.53-.95.94-1 2.53.2 3.74L6.5 18l3.6-3.55c1.2-1.21 1.14-2.8.19-3.74Z"]],"file-image":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,10,12,2],[6,"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22"]],"file-input":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M2 15h10"],[6,"m9 18 3-3-3-3"]],"file-json":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1"],[6,"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1"]],"file-json-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1"],[6,"M8 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1"]],"file-key":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[1,10,16,2],[6,"m16 10-4.5 4.5"],[6,"m15 11 1 1"]],"file-key-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v6"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,4,16,2],[6,"m10 10-4.5 4.5"],[6,"m9 11 1 1"]],"file-line-chart":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m16 13-3.5 3.5-2-2L8 17"]],"file-lock":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[5,8,12,8,6,1],[6,"M10 12v-2a2 2 0 1 1 4 0v2"]],"file-lock-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v1"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[5,2,13,8,5,1],[6,"M8 13v-2a2 2 0 1 0-4 0v2"]],"file-minus":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M9 15h6"]],"file-minus-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M3 15h6"]],"file-music":[[1,14,16,2],[1,6,18,2],[6,"M4 12.4V4a2 2 0 0 1 2-2h8.5L20 7.5V20a2 2 0 0 1-2 2h-7.5"],[6,"M8 18v-7.7L16 9v7"]],"file-output":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2"],[6,"M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6"],[6,"m5 11-3 3"],[6,"m5 17-3-3h10"]],"file-pen":[[6,"M12.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v9.5"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M13.378 15.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"file-pen-line":[[6,"m18 5-2.414-2.414A2 2 0 0 0 14.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2"],[6,"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"],[6,"M8 18h1"]],"file-pie-chart":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M16 22h2a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3.5"],[6,"M4.017 11.512a6 6 0 1 0 8.466 8.475"],[6,"M9 16a1 1 0 0 1-1-1v-4c0-.552.45-1.008.995-.917a6 6 0 0 1 4.922 4.922c.091.544-.365.995-.917.995z"]],"file-plus":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M9 15h6"],[6,"M12 18v-6"]],"file-plus-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M3 15h6"],[6,"M6 12v6"]],"file-question":[[6,"M12 17h.01"],[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"],[6,"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3"]],"file-scan":[[6,"M20 10V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M16 14a2 2 0 0 0-2 2"],[6,"M20 14a2 2 0 0 1 2 2"],[6,"M20 22a2 2 0 0 0 2-2"],[6,"M16 22a2 2 0 0 1-2-2"]],"file-search":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3"],[6,"m9 18-1.5-1.5"],[1,5,14,3]],"file-search-2":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[1,11.5,14.5,2.5],[6,"M13.3 16.3 15 18"]],"file-signature":[[6,"m18 5-2.414-2.414A2 2 0 0 0 14.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2"],[6,"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"],[6,"M8 18h1"]],"file-sliders":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 12h8"],[6,"M10 11v2"],[6,"M8 17h8"],[6,"M14 16v2"]],"file-spreadsheet":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 13h2"],[6,"M14 13h2"],[6,"M8 17h2"],[6,"M14 17h2"]],"file-stack":[[6,"M21 7h-3a2 2 0 0 1-2-2V2"],[6,"M21 6v6.5c0 .8-.7 1.5-1.5 1.5h-7c-.8 0-1.5-.7-1.5-1.5v-9c0-.8.7-1.5 1.5-1.5H17Z"],[6,"M7 8v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H15"],[6,"M3 12v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H11"]],"file-symlink":[[6,"m10 18 3-3-3-3"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4 11V4a2 2 0 0 1 2-2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7"]],"file-terminal":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m8 16 2-2-2-2"],[6,"M12 18h4"]],"file-text":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M10 9H8"],[6,"M16 13H8"],[6,"M16 17H8"]],"file-type":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M9 13v-1h6v1"],[6,"M12 12v6"],[6,"M11 18h2"]],"file-type-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M2 13v-1h6v1"],[6,"M5 12v6"],[6,"M4 18h2"]],"file-up":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M12 12v6"],[6,"m15 15-3-3-3 3"]],"file-user":[[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M15 18a3 3 0 1 0-6 0"],[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"],[1,12,13,2]],"file-video":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m10 11 5 3-5 3v-6Z"]],"file-video-2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[5,2,12,8,6,1],[6,"m10 15.5 4 2.5v-6l-4 2.5"]],"file-volume":[[6,"M11 11a5 5 0 0 1 0 6"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M4 6.765V4a2 2 0 0 1 2-2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-.93-.23"],[6,"M7 10.51a.5.5 0 0 0-.826-.38l-1.893 1.628A1 1 0 0 1 3.63 12H2.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h1.129a1 1 0 0 1 .652.242l1.893 1.63a.5.5 0 0 0 .826-.38z"]],"file-volume-2":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"M8 15h.01"],[6,"M11.5 13.5a2.5 2.5 0 0 1 0 3"],[6,"M15 12a5 5 0 0 1 0 6"]],"file-warning":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M12 9v4"],[6,"M12 17h.01"]],"file-x":[[6,"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m14.5 12.5-5 5"],[6,"m9.5 12.5 5 5"]],"file-x2":[[6,"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4"],[6,"M14 2v4a2 2 0 0 0 2 2h4"],[6,"m8 12.5-5 5"],[6,"m3 12.5 5 5"]],files:[[6,"M20 7h-3a2 2 0 0 1-2-2V2"],[6,"M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z"],[6,"M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8"]],film:[[5,3,3,18,18,2],[6,"M7 3v18"],[6,"M3 7.5h4"],[6,"M3 12h18"],[6,"M3 16.5h4"],[6,"M17 3v18"],[6,"M17 7.5h4"],[6,"M17 16.5h4"]],filter:[[3,"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"]],"filter-x":[[6,"M13.013 3H2l8 9.46V19l4 2v-8.54l.9-1.055"],[6,"m22 3-5 5"],[6,"m17 3 5 5"]],fingerprint:[[6,"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4"],[6,"M14 13.12c0 2.38 0 6.38-1 8.88"],[6,"M17.29 21.02c.12-.6.43-2.3.5-3.02"],[6,"M2 12a10 10 0 0 1 18-6"],[6,"M2 16h.01"],[6,"M21.8 16c.2-2 .131-5.354 0-6"],[6,"M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2"],[6,"M8.65 22c.21-.66.45-1.32.57-2"],[6,"M9 6.8a6 6 0 0 1 9 5.2v2"]],"fire-extinguisher":[[6,"M15 6.5V3a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v3.5"],[6,"M9 18h8"],[6,"M18 3h-3"],[6,"M11 3a6 6 0 0 0-6 6v11"],[6,"M5 13h4"],[6,"M17 10a4 4 0 0 0-8 0v10a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2Z"]],fish:[[6,"M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z"],[6,"M18 12v.5"],[6,"M16 17.93a9.77 9.77 0 0 1 0-11.86"],[6,"M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33"],[6,"M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4"],[6,"m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98"]],"fish-off":[[6,"M18 12.47v.03m0-.5v.47m-.475 5.056A6.744 6.744 0 0 1 15 18c-3.56 0-7.56-2.53-8.5-6 .348-1.28 1.114-2.433 2.121-3.38m3.444-2.088A8.802 8.802 0 0 1 15 6c3.56 0 6.06 2.54 7 6-.309 1.14-.786 2.177-1.413 3.058"],[6,"M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33m7.48-4.372A9.77 9.77 0 0 1 16 6.07m0 11.86a9.77 9.77 0 0 1-1.728-3.618"],[6,"m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98M8.53 3h5.27a2 2 0 0 1 1.98 1.67l.23 1.4M2 2l20 20"]],"fish-symbol":[[6,"M2 16s9-15 20-4C11 23 2 8 2 8"]],flag:[[6,"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"],[0,4,22,4,15]],"flag-off":[[6,"M8 2c3 0 5 2 8 2s4-1 4-1v11"],[6,"M4 22V4"],[6,"M4 15s1-1 4-1 5 2 8 2"],[0,2,2,22,22]],"flag-triangle-left":[[6,"M17 22V2L7 7l10 5"]],"flag-triangle-right":[[6,"M7 22V2l10 5-10 5"]],flame:[[6,"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"]],"flame-kindling":[[6,"M12 2c1 3 2.5 3.5 3.5 4.5A5 5 0 0 1 17 10a5 5 0 1 1-10 0c0-.3 0-.6.1-.9a2 2 0 1 0 3.3-2C8 4.5 11 2 12 2Z"],[6,"m5 22 14-4"],[6,"m5 18 14 4"]],flashlight:[[6,"M18 6c0 2-2 2-2 4v10a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4V2h12z"],[0,6,6,18,6],[0,12,12,12,12]],"flashlight-off":[[6,"M16 16v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V10c0-2-2-2-2-4"],[6,"M7 2h11v4c0 2-2 2-2 4v1"],[0,11,6,18,6],[0,2,2,22,22]],"flask-conical":[[6,"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2"],[6,"M8.5 2h7"],[6,"M7 16h10"]],"flask-conical-off":[[6,"M10 10 4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-1.272-2.542"],[6,"M10 2v2.343"],[6,"M14 2v6.343"],[6,"M8.5 2h7"],[6,"M7 16h9"],[0,2,2,22,22]],"flask-round":[[6,"M10 2v7.31"],[6,"M14 9.3V1.99"],[6,"M8.5 2h7"],[6,"M14 9.3a6.5 6.5 0 1 1-4 0"],[6,"M5.52 16h12.96"]],"flip-horizontal":[[6,"M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3"],[6,"M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3"],[6,"M12 20v2"],[6,"M12 14v2"],[6,"M12 8v2"],[6,"M12 2v2"]],"flip-horizontal-2":[[6,"m3 7 5 5-5 5V7"],[6,"m21 7-5 5 5 5V7"],[6,"M12 20v2"],[6,"M12 14v2"],[6,"M12 8v2"],[6,"M12 2v2"]],"flip-vertical":[[6,"M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3"],[6,"M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3"],[6,"M4 12H2"],[6,"M10 12H8"],[6,"M16 12h-2"],[6,"M22 12h-2"]],"flip-vertical-2":[[6,"m17 3-5 5-5-5h10"],[6,"m17 21-5-5-5 5h10"],[6,"M4 12H2"],[6,"M10 12H8"],[6,"M16 12h-2"],[6,"M22 12h-2"]],flower:[[1,12,12,3],[6,"M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5"],[6,"M12 7.5V9"],[6,"M7.5 12H9"],[6,"M16.5 12H15"],[6,"M12 16.5V15"],[6,"m8 8 1.88 1.88"],[6,"M14.12 9.88 16 8"],[6,"m8 16 1.88-1.88"],[6,"M14.12 14.12 16 16"]],"flower-2":[[6,"M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1"],[1,12,8,2],[6,"M12 10v12"],[6,"M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z"],[6,"M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z"]],focus:[[1,12,12,3],[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"]],"fold-horizontal":[[6,"M2 12h6"],[6,"M22 12h-6"],[6,"M12 2v2"],[6,"M12 8v2"],[6,"M12 14v2"],[6,"M12 20v2"],[6,"m19 9-3 3 3 3"],[6,"m5 15 3-3-3-3"]],"fold-vertical":[[6,"M12 22v-6"],[6,"M12 8V2"],[6,"M4 12H2"],[6,"M10 12H8"],[6,"M16 12h-2"],[6,"M22 12h-2"],[6,"m15 19-3-3-3 3"],[6,"m15 5-3 3-3-3"]],folder:[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"]],"folder-archive":[[1,15,19,2],[6,"M20.9 19.8A2 2 0 0 0 22 18V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h5.1"],[6,"M15 11v-1"],[6,"M15 17v-2"]],"folder-check":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"m9 13 2 2 4-4"]],"folder-clock":[[1,16,16,6],[6,"M7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2"],[6,"M16 14v2l1 1"]],"folder-closed":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M2 10h20"]],"folder-code":[[6,"M10 10.5 8 13l2 2.5"],[6,"m14 10.5 2 2.5-2 2.5"],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z"]],"folder-cog":[[1,18,18,3],[6,"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v3.3"],[6,"m21.7 19.4-.9-.3"],[6,"m15.2 16.9-.9-.3"],[6,"m16.6 21.7.3-.9"],[6,"m19.1 15.2.3-.9"],[6,"m19.6 21.7-.4-1"],[6,"m16.8 15.3-.4-1"],[6,"m14.3 19.6 1-.4"],[6,"m20.7 16.8 1-.4"]],"folder-cog-2":[[1,18,18,3],[6,"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v3.3"],[6,"m21.7 19.4-.9-.3"],[6,"m15.2 16.9-.9-.3"],[6,"m16.6 21.7.3-.9"],[6,"m19.1 15.2.3-.9"],[6,"m19.6 21.7-.4-1"],[6,"m16.8 15.3-.4-1"],[6,"m14.3 19.6 1-.4"],[6,"m20.7 16.8 1-.4"]],"folder-dot":[[6,"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"],[1,12,13,1]],"folder-down":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M12 10v6"],[6,"m15 13-3 3-3-3"]],"folder-edit":[[6,"M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5"],[6,"M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"folder-git":[[1,12,13,2],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M14 13h3"],[6,"M7 13h3"]],"folder-git-2":[[6,"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5"],[1,13,12,2],[6,"M18 19c-2.8 0-5-2.2-5-5v8"],[1,20,19,2]],"folder-heart":[[6,"M11 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v1.5"],[6,"M13.9 17.45c-1.2-1.2-1.14-2.8-.2-3.73a2.43 2.43 0 0 1 3.44 0l.36.34.34-.34a2.43 2.43 0 0 1 3.45-.01c.95.95 1 2.53-.2 3.74L17.5 21Z"]],"folder-input":[[6,"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1"],[6,"M2 13h10"],[6,"m9 16 3-3-3-3"]],"folder-kanban":[[6,"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"],[6,"M8 10v4"],[6,"M12 10v2"],[6,"M16 10v6"]],"folder-key":[[1,16,20,2],[6,"M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2"],[6,"m22 14-4.5 4.5"],[6,"m21 15 1 1"]],"folder-lock":[[5,14,17,8,5,1],[6,"M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5"],[6,"M20 17v-2a2 2 0 1 0-4 0v2"]],"folder-minus":[[6,"M9 13h6"],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"]],"folder-open":[[6,"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"]],"folder-open-dot":[[6,"m6 14 1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2"],[1,14,15,1]],"folder-output":[[6,"M2 7.5V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-1.5"],[6,"M2 13h10"],[6,"m5 10-3 3 3 3"]],"folder-pen":[[6,"M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5"],[6,"M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"folder-plus":[[6,"M12 10v6"],[6,"M9 13h6"],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"]],"folder-root":[[6,"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"],[1,12,13,2],[6,"M12 15v5"]],"folder-search":[[6,"M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1"],[6,"m21 21-1.9-1.9"],[1,17,17,3]],"folder-search-2":[[1,11.5,12.5,2.5],[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M13.3 14.3 15 16"]],"folder-symlink":[[6,"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7"],[6,"m8 16 3-3-3-3"]],"folder-sync":[[6,"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v.5"],[6,"M12 10v4h4"],[6,"m12 14 1.535-1.605a5 5 0 0 1 8 1.5"],[6,"M22 22v-4h-4"],[6,"m22 18-1.535 1.605a5 5 0 0 1-8-1.5"]],"folder-tree":[[6,"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"],[6,"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"],[6,"M3 5a2 2 0 0 0 2 2h3"],[6,"M3 3v13a2 2 0 0 0 2 2h3"]],"folder-up":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"M12 10v6"],[6,"m9 13 3-3 3 3"]],"folder-x":[[6,"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"],[6,"m9.5 10.5 5 5"],[6,"m14.5 10.5-5 5"]],folders:[[6,"M20 17a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3.9a2 2 0 0 1-1.69-.9l-.81-1.2a2 2 0 0 0-1.67-.9H8a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2Z"],[6,"M2 8v11a2 2 0 0 0 2 2h14"]],footprints:[[6,"M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z"],[6,"M20 20v-2.38c0-2.12 1.03-3.12 1-5.62-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0Z"],[6,"M16 17h4"],[6,"M4 13h4"]],"fork-knife":[[6,"M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2"],[6,"M7 2v20"],[6,"M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7"]],"fork-knife-crossed":[[6,"m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8"],[6,"M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7"],[6,"m2.1 21.8 6.4-6.3"],[6,"m19 5-7 7"]],forklift:[[6,"M12 12H5a2 2 0 0 0-2 2v5"],[1,13,19,2],[1,5,19,2],[6,"M8 19h3m5-17v17h6M6 12V7c0-1.1.9-2 2-2h3l5 5"]],"form-input":[[5,2,6,20,12,2],[6,"M12 12h.01"],[6,"M17 12h.01"],[6,"M7 12h.01"]],forward:[[2,"15 17 20 12 15 7"],[6,"M4 18v-2a4 4 0 0 1 4-4h12"]],frame:[[0,22,6,2,6],[0,22,18,2,18],[0,6,2,6,22],[0,18,2,18,22]],framer:[[6,"M5 16V9h14V2H5l14 14h-7m-7 0 7 7v-7m-7 0h7"]],frown:[[1,12,12,10],[6,"M16 16s-1.5-2-4-2-4 2-4 2"],[0,9,9,9.01,9],[0,15,9,15.01,9]],fuel:[[0,3,22,15,22],[0,4,9,14,9],[6,"M14 22V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v18"],[6,"M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 2 2a2 2 0 0 0 2-2V9.83a2 2 0 0 0-.59-1.42L18 5"]],fullscreen:[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[5,7,8,10,8,1]],"function-square":[[5,3,3,18,18,2,2],[6,"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3"],[6,"M9 11.2h5.7"]],"gallery-horizontal":[[6,"M2 3v18"],[5,6,3,12,18,2],[6,"M22 3v18"]],"gallery-horizontal-end":[[6,"M2 7v10"],[6,"M6 5v14"],[5,10,3,12,18,2]],"gallery-thumbnails":[[5,3,3,18,14,2],[6,"M4 21h1"],[6,"M9 21h1"],[6,"M14 21h1"],[6,"M19 21h1"]],"gallery-vertical":[[6,"M3 2h18"],[5,3,6,18,12,2],[6,"M3 22h18"]],"gallery-vertical-end":[[6,"M7 2h10"],[6,"M5 6h14"],[5,3,10,18,12,2]],gamepad:[[0,6,12,10,12],[0,8,10,8,14],[0,15,13,15.01,13],[0,18,11,18.01,11],[5,2,6,20,12,2]],"gamepad-2":[[0,6,11,10,11],[0,8,9,8,13],[0,15,12,15.01,12],[0,18,10,18.01,10],[6,"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z"]],"gantt-chart":[[6,"M8 6h10"],[6,"M6 12h9"],[6,"M11 18h7"]],"gantt-chart-square":[[5,3,3,18,18,2],[6,"M9 8h7"],[6,"M8 12h6"],[6,"M11 16h5"]],gauge:[[6,"m12 14 4-4"],[6,"M3.34 19a10 10 0 1 1 17.32 0"]],"gauge-circle":[[6,"M15.6 2.7a10 10 0 1 0 5.7 5.7"],[1,12,12,2],[6,"M13.4 10.6 19 5"]],gavel:[[6,"m14.5 12.5-8 8a2.119 2.119 0 1 1-3-3l8-8"],[6,"m16 16 6-6"],[6,"m8 8 6-6"],[6,"m9 7 8 8"],[6,"m21 11-8-8"]],gem:[[6,"M6 3h12l4 6-10 13L2 9Z"],[6,"M11 3 8 9l4 13 4-13-3-6"],[6,"M2 9h20"]],ghost:[[6,"M9 10h.01"],[6,"M15 10h.01"],[6,"M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z"]],gift:[[5,3,8,18,4,1],[6,"M12 8v13"],[6,"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7"],[6,"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5"]],"git-branch":[[0,6,3,6,15],[1,18,6,3],[1,6,18,3],[6,"M18 9a9 9 0 0 1-9 9"]],"git-branch-plus":[[6,"M6 3v12"],[6,"M18 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"],[6,"M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"],[6,"M15 6a9 9 0 0 0-9 9"],[6,"M18 15v6"],[6,"M21 18h-6"]],"git-commit":[[1,12,12,3],[0,3,12,9,12],[0,15,12,21,12]],"git-commit-horizontal":[[1,12,12,3],[0,3,12,9,12],[0,15,12,21,12]],"git-commit-vertical":[[6,"M12 3v6"],[1,12,12,3],[6,"M12 15v6"]],"git-compare":[[1,18,18,3],[1,6,6,3],[6,"M13 6h3a2 2 0 0 1 2 2v7"],[6,"M11 18H8a2 2 0 0 1-2-2V9"]],"git-compare-arrows":[[1,5,6,3],[6,"M12 6h5a2 2 0 0 1 2 2v7"],[6,"m15 9-3-3 3-3"],[1,19,18,3],[6,"M12 18H7a2 2 0 0 1-2-2V9"],[6,"m9 15 3 3-3 3"]],"git-fork":[[1,12,18,3],[1,6,6,3],[1,18,6,3],[6,"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9"],[6,"M12 12v3"]],"git-graph":[[1,5,6,3],[6,"M5 9v6"],[1,5,18,3],[6,"M12 3v18"],[1,19,6,3],[6,"M16 15.7A9 9 0 0 0 19 9"]],"git-merge":[[1,18,18,3],[1,6,6,3],[6,"M6 21V9a9 9 0 0 0 9 9"]],"git-pull-request":[[1,18,18,3],[1,6,6,3],[6,"M13 6h3a2 2 0 0 1 2 2v7"],[0,6,9,6,21]],"git-pull-request-arrow":[[1,5,6,3],[6,"M5 9v12"],[1,19,18,3],[6,"m15 9-3-3 3-3"],[6,"M12 6h5a2 2 0 0 1 2 2v7"]],"git-pull-request-closed":[[1,6,6,3],[6,"M6 9v12"],[6,"m21 3-6 6"],[6,"m21 9-6-6"],[6,"M18 11.5V15"],[1,18,18,3]],"git-pull-request-create":[[1,6,6,3],[6,"M6 9v12"],[6,"M13 6h3a2 2 0 0 1 2 2v3"],[6,"M18 15v6"],[6,"M21 18h-6"]],"git-pull-request-create-arrow":[[1,5,6,3],[6,"M5 9v12"],[6,"m15 9-3-3 3-3"],[6,"M12 6h5a2 2 0 0 1 2 2v3"],[6,"M19 15v6"],[6,"M22 18h-6"]],"git-pull-request-draft":[[1,18,18,3],[1,6,6,3],[6,"M18 6V5"],[6,"M18 11v-1"],[0,6,9,6,21]],github:[[6,"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"],[6,"M9 18c-4.51 2-5-2-7-2"]],gitlab:[[6,"m22 13.29-3.33-10a.42.42 0 0 0-.14-.18.38.38 0 0 0-.22-.11.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18l-2.26 6.67H8.32L6.1 3.26a.42.42 0 0 0-.1-.18.38.38 0 0 0-.26-.08.39.39 0 0 0-.23.07.42.42 0 0 0-.14.18L2 13.29a.74.74 0 0 0 .27.83L12 21l9.69-6.88a.71.71 0 0 0 .31-.83Z"]],"glass-water":[[6,"M15.2 22H8.8a2 2 0 0 1-2-1.79L5 3h14l-1.81 17.21A2 2 0 0 1 15.2 22Z"],[6,"M6 12a5 5 0 0 1 6 0 5 5 0 0 0 6 0"]],glasses:[[1,6,15,4],[1,18,15,4],[6,"M14 15a2 2 0 0 0-2-2 2 2 0 0 0-2 2"],[6,"M2.5 13 5 7c.7-1.3 1.4-2 3-2"],[6,"M21.5 13 19 7c-.7-1.3-1.5-2-3-2"]],globe:[[1,12,12,10],[6,"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"],[6,"M2 12h20"]],"globe-2":[[6,"M21.54 15H17a2 2 0 0 0-2 2v4.54"],[6,"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17"],[6,"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05"],[1,12,12,10]],"globe-lock":[[6,"M15.686 15A14.5 14.5 0 0 1 12 22a14.5 14.5 0 0 1 0-20 10 10 0 1 0 9.542 13"],[6,"M2 12h8.5"],[6,"M20 6V4a2 2 0 1 0-4 0v2"],[5,14,6,8,5,1]],goal:[[6,"M12 13V2l8 4-8 4"],[6,"M20.561 10.222a9 9 0 1 1-12.55-5.29"],[6,"M8.002 9.997a5 5 0 1 0 8.9 2.02"]],grab:[[6,"M18 11.5V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4"],[6,"M14 10V8a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2"],[6,"M10 9.9V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5"],[6,"M6 14a2 2 0 0 0-2-2a2 2 0 0 0-2 2"],[6,"M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0"]],"graduation-cap":[[6,"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z"],[6,"M22 10v6"],[6,"M6 12.5V16a6 3 0 0 0 12 0v-3.5"]],grape:[[6,"M22 5V2l-5.89 5.89"],[1,16.6,15.89,3],[1,8.11,7.4,3],[1,12.35,11.65,3],[1,13.91,5.85,3],[1,18.15,10.09,3],[1,6.56,13.2,3],[1,10.8,17.44,3],[1,5,19,3]],grid:[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M3 15h18"],[6,"M9 3v18"],[6,"M15 3v18"]],"grid-2x-2":[[5,3,3,18,18,2],[6,"M3 12h18"],[6,"M12 3v18"]],"grid-2x-2check":[[6,"M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3"],[6,"m16 19 2 2 4-4"]],"grid-2x-2plus":[[6,"M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3"],[6,"M16 19h6"],[6,"M19 22v-6"]],"grid-2x-2x":[[6,"M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3"],[6,"m16 16 5 5"],[6,"m16 21 5-5"]],"grid-3x-3":[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M3 15h18"],[6,"M9 3v18"],[6,"M15 3v18"]],grip:[[1,12,5,1],[1,19,5,1],[1,5,5,1],[1,12,12,1],[1,19,12,1],[1,5,12,1],[1,12,19,1],[1,19,19,1],[1,5,19,1]],"grip-horizontal":[[1,12,9,1],[1,19,9,1],[1,5,9,1],[1,12,15,1],[1,19,15,1],[1,5,15,1]],"grip-vertical":[[1,9,12,1],[1,9,5,1],[1,9,19,1],[1,15,12,1],[1,15,5,1],[1,15,19,1]],group:[[6,"M3 7V5c0-1.1.9-2 2-2h2"],[6,"M17 3h2c1.1 0 2 .9 2 2v2"],[6,"M21 17v2c0 1.1-.9 2-2 2h-2"],[6,"M7 21H5c-1.1 0-2-.9-2-2v-2"],[5,7,7,7,5,1],[5,10,12,7,5,1]],guitar:[[6,"m11.9 12.1 4.514-4.514"],[6,"M20.1 2.3a1 1 0 0 0-1.4 0l-1.114 1.114A2 2 0 0 0 17 4.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 17.828 7h1.344a2 2 0 0 0 1.414-.586L21.7 5.3a1 1 0 0 0 0-1.4z"],[6,"m6 16 2 2"],[6,"M8.2 9.9C8.7 8.8 9.8 8 11 8c2.8 0 5 2.2 5 5 0 1.2-.8 2.3-1.9 2.8l-.9.4A2 2 0 0 0 12 18a4 4 0 0 1-4 4c-3.3 0-6-2.7-6-6a4 4 0 0 1 4-4 2 2 0 0 0 1.8-1.2z"],[1,11.5,12.5,.5]],ham:[[6,"M13.144 21.144A7.274 10.445 45 1 0 2.856 10.856"],[6,"M13.144 21.144A7.274 4.365 45 0 0 2.856 10.856a7.274 4.365 45 0 0 10.288 10.288"],[6,"M16.565 10.435 18.6 8.4a2.501 2.501 0 1 0 1.65-4.65 2.5 2.5 0 1 0-4.66 1.66l-2.024 2.025"],[6,"m8.5 16.5-1-1"]],hammer:[[6,"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9"],[6,"m18 15 4-4"],[6,"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5"]],hand:[[6,"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2"],[6,"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2"],[6,"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8"],[6,"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15"]],"hand-coins":[[6,"M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17"],[6,"m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"],[6,"m2 16 6 6"],[1,16,9,2.9],[1,6,5,3]],"hand-heart":[[6,"M11 14h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16"],[6,"m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"],[6,"m2 15 6 6"],[6,"M19.5 8.5c.7-.7 1.5-1.6 1.5-2.7A2.73 2.73 0 0 0 16 4a2.78 2.78 0 0 0-5 1.8c0 1.2.8 2 1.5 2.8L16 12Z"]],"hand-helping":[[6,"M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14"],[6,"m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"],[6,"m2 13 6 6"]],"hand-metal":[[6,"M18 12.5V10a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4"],[6,"M14 11V9a2 2 0 1 0-4 0v2"],[6,"M10 10.5V5a2 2 0 1 0-4 0v9"],[6,"m7 15-1.76-1.76a2 2 0 0 0-2.83 2.82l3.6 3.6C7.5 21.14 9.2 22 12 22h2a8 8 0 0 0 8-8V7a2 2 0 1 0-4 0v5"]],"hand-platter":[[6,"M12 3V2"],[6,"M5 10a7.1 7.1 0 0 1 14 0"],[6,"M4 10h16"],[6,"M2 14h12a2 2 0 1 1 0 4h-2"],[6,"m15.4 17.4 3.2-2.8a2 2 0 0 1 2.8 2.9l-3.6 3.3c-.7.8-1.7 1.2-2.8 1.2h-4c-1.1 0-2.1-.4-2.8-1.2L5 18"],[6,"M5 14v7H2"]],handshake:[[6,"m11 17 2 2a1 1 0 1 0 3-3"],[6,"m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4"],[6,"m21 3 1 11h-2"],[6,"M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3"],[6,"M3 4h8"]],"hard-drive":[[0,22,12,2,12],[6,"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"],[0,6,16,6.01,16],[0,10,16,10.01,16]],"hard-drive-download":[[6,"M12 2v8"],[6,"m16 6-4 4-4-4"],[5,2,14,20,8,2],[6,"M6 18h.01"],[6,"M10 18h.01"]],"hard-drive-upload":[[6,"m16 6-4-4-4 4"],[6,"M12 2v8"],[5,2,14,20,8,2],[6,"M6 18h.01"],[6,"M10 18h.01"]],"hard-hat":[[6,"M2 18a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v2z"],[6,"M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5"],[6,"M4 15v-3a6 6 0 0 1 6-6"],[6,"M14 6a6 6 0 0 1 6 6v3"]],hash:[[0,4,9,20,9],[0,4,15,20,15],[0,10,3,8,21],[0,16,3,14,21]],haze:[[6,"m5.2 6.2 1.4 1.4"],[6,"M2 13h2"],[6,"M20 13h2"],[6,"m17.4 7.6 1.4-1.4"],[6,"M22 17H2"],[6,"M22 21H2"],[6,"M16 13a4 4 0 0 0-8 0"],[6,"M12 5V2.5"]],"hdmi-port":[[6,"M22 9a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1l2 2h12l2-2h1a1 1 0 0 0 1-1Z"],[6,"M7.5 12h9"]],heading:[[6,"M6 12h12"],[6,"M6 20V4"],[6,"M18 20V4"]],"heading-1":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"m17 12 3-2v8"]],"heading-2":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1"]],"heading-3":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"M17.5 10.5c1.7-1 3.5 0 3.5 1.5a2 2 0 0 1-2 2"],[6,"M17 17.5c2 1.5 4 .3 4-1.5a2 2 0 0 0-2-2"]],"heading-4":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"M17 10v4h4"],[6,"M21 10v8"]],"heading-5":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[6,"M17 13v-3h4"],[6,"M17 17.7c.4.2.8.3 1.3.3 1.5 0 2.7-1.1 2.7-2.5S19.8 13 18.3 13H17"]],"heading-6":[[6,"M4 12h8"],[6,"M4 18V6"],[6,"M12 18V6"],[1,19,16,2],[6,"M20 10c-2 2-3 3.5-3 6"]],"headphone-off":[[6,"M21 14h-1.343"],[6,"M9.128 3.47A9 9 0 0 1 21 12v3.343"],[6,"m2 2 20 20"],[6,"M20.414 20.414A2 2 0 0 1 19 21h-1a2 2 0 0 1-2-2v-3"],[6,"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 2.636-6.364"]],headphones:[[6,"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3"]],headset:[[6,"M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z"],[6,"M21 16v2a4 4 0 0 1-4 4h-5"]],heart:[[6,"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"]],"heart-crack":[[6,"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"],[6,"m12 13-1-1 2-2-3-3 2-2"]],"heart-handshake":[[6,"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"],[6,"M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66"],[6,"m18 15-2-2"],[6,"m15 18-2-2"]],"heart-off":[[0,2,2,22,22],[6,"M16.5 16.5 12 21l-7-7c-1.5-1.45-3-3.2-3-5.5a5.5 5.5 0 0 1 2.14-4.35"],[6,"M8.76 3.1c1.15.22 2.13.78 3.24 1.9 1.5-1.5 2.74-2 4.5-2A5.5 5.5 0 0 1 22 8.5c0 2.12-1.3 3.78-2.67 5.17"]],"heart-pulse":[[6,"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"],[6,"M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27"]],heater:[[6,"M11 8c2-3-2-3 0-6"],[6,"M15.5 8c2-3-2-3 0-6"],[6,"M6 10h.01"],[6,"M6 14h.01"],[6,"M10 16v-4"],[6,"M14 16v-4"],[6,"M18 16v-4"],[6,"M20 6a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3"],[6,"M5 20v2"],[6,"M19 20v2"]],"help-circle":[[1,12,12,10],[6,"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"],[6,"M12 17h.01"]],"helping-hand":[[6,"M11 12h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 14"],[6,"m7 18 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"],[6,"m2 13 6 6"]],hexagon:[[6,"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"]],highlighter:[[6,"m9 11-6 6v3h9l3-3"],[6,"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"]],history:[[6,"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"],[6,"M3 3v5h5"],[6,"M12 7v5l4 2"]],home:[[6,"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"],[6,"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"]],hop:[[6,"M10.82 16.12c1.69.6 3.91.79 5.18.85.55.03 1-.42.97-.97-.06-1.27-.26-3.5-.85-5.18"],[6,"M11.5 6.5c1.64 0 5-.38 6.71-1.07.52-.2.55-.82.12-1.17A10 10 0 0 0 4.26 18.33c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.88.88 0 0 0 .73-.74c.3-2.14-.15-3.5-.61-4.88"],[6,"M15.62 16.95c.2.85.62 2.76.5 4.28a.77.77 0 0 1-.9.7 16.64 16.64 0 0 1-4.08-1.36"],[6,"M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .96-.96 17.68 17.68 0 0 0-.9-4.87"],[6,"M16.94 15.62c.86.2 2.77.62 4.29.5a.77.77 0 0 0 .7-.9 16.64 16.64 0 0 0-1.36-4.08"],[6,"M17.99 5.52a20.82 20.82 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-2.33.2-5.3-.32-8.27-1.57"],[6,"M4.93 4.93 3 3a.7.7 0 0 1 0-1"],[6,"M9.58 12.18c1.24 2.98 1.77 5.95 1.57 8.28a.8.8 0 0 1-1.13.68 20.82 20.82 0 0 1-4.5-3.15"]],"hop-off":[[6,"M10.82 16.12c1.69.6 3.91.79 5.18.85.28.01.53-.09.7-.27"],[6,"M11.14 20.57c.52.24 2.44 1.12 4.08 1.37.46.06.86-.25.9-.71.12-1.52-.3-3.43-.5-4.28"],[6,"M16.13 21.05c1.65.63 3.68.84 4.87.91a.9.9 0 0 0 .7-.26"],[6,"M17.99 5.52a20.83 20.83 0 0 1 3.15 4.5.8.8 0 0 1-.68 1.13c-1.17.1-2.5.02-3.9-.25"],[6,"M20.57 11.14c.24.52 1.12 2.44 1.37 4.08.04.3-.08.59-.31.75"],[6,"M4.93 4.93a10 10 0 0 0-.67 13.4c.35.43.96.4 1.17-.12.69-1.71 1.07-5.07 1.07-6.71 1.34.45 3.1.9 4.88.62a.85.85 0 0 0 .48-.24"],[6,"M5.52 17.99c1.05.95 2.91 2.42 4.5 3.15a.8.8 0 0 0 1.13-.68c.2-2.34-.33-5.3-1.57-8.28"],[6,"M8.35 2.68a10 10 0 0 1 9.98 1.58c.43.35.4.96-.12 1.17-1.5.6-4.3.98-6.07 1.05"],[6,"m2 2 20 20"]],hospital:[[6,"M12 6v4"],[6,"M14 14h-4"],[6,"M14 18h-4"],[6,"M14 8h-4"],[6,"M18 12h2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h2"],[6,"M18 22V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v18"]],hotel:[[6,"M10 22v-6.57"],[6,"M12 11h.01"],[6,"M12 7h.01"],[6,"M14 15.43V22"],[6,"M15 16a5 5 0 0 0-6 0"],[6,"M16 11h.01"],[6,"M16 7h.01"],[6,"M8 11h.01"],[6,"M8 7h.01"],[5,4,2,16,20,2]],hourglass:[[6,"M5 22h14"],[6,"M5 2h14"],[6,"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22"],[6,"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2"]],house:[[6,"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"],[6,"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"]],"house-plug":[[6,"M10 12V8.964"],[6,"M14 12V8.964"],[6,"M15 12a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2a1 1 0 0 1 1-1z"],[6,"M8.5 21H5a2 2 0 0 1-2-2v-9a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2h-5a2 2 0 0 1-2-2v-2"]],"house-plus":[[6,"M13.22 2.416a2 2 0 0 0-2.511.057l-7 5.999A2 2 0 0 0 3 10v9a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7.354"],[6,"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"],[6,"M15 6h6"],[6,"M18 3v6"]],"ice-cream":[[6,"m7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11"],[6,"M17 7A5 5 0 0 0 7 7"],[6,"M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4"]],"ice-cream-2":[[6,"M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0"],[6,"M12.14 11a3.5 3.5 0 1 1 6.71 0"],[6,"M15.5 6.5a3.5 3.5 0 1 0-7 0"]],"ice-cream-bowl":[[6,"M12 17c5 0 8-2.69 8-6H4c0 3.31 3 6 8 6m-4 4h8m-4-3v3M5.14 11a3.5 3.5 0 1 1 6.71 0"],[6,"M12.14 11a3.5 3.5 0 1 1 6.71 0"],[6,"M15.5 6.5a3.5 3.5 0 1 0-7 0"]],"ice-cream-cone":[[6,"m7 11 4.08 10.35a1 1 0 0 0 1.84 0L17 11"],[6,"M17 7A5 5 0 0 0 7 7"],[6,"M17 7a2 2 0 0 1 0 4H7a2 2 0 0 1 0-4"]],"id-card":[[6,"M16 10h2"],[6,"M16 14h2"],[6,"M6.17 15a3 3 0 0 1 5.66 0"],[1,9,11,2],[5,2,5,20,14,2]],image:[[5,3,3,18,18,2,2],[1,9,9,2],[6,"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"]],"image-down":[[6,"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21"],[6,"m14 19 3 3v-5.5"],[6,"m17 22 3-3"],[1,9,9,2]],"image-minus":[[6,"M21 9v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7"],[0,16,5,22,5],[1,9,9,2],[6,"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"]],"image-off":[[0,2,2,22,22],[6,"M10.41 10.41a2 2 0 1 1-2.83-2.83"],[0,13.5,13.5,6,21],[0,18,12,21,15],[6,"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59"],[6,"M21 15V5a2 2 0 0 0-2-2H9"]],"image-play":[[6,"m11 16-5 5"],[6,"M11 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6.5"],[6,"M15.765 22a.5.5 0 0 1-.765-.424V13.38a.5.5 0 0 1 .765-.424l5.878 3.674a1 1 0 0 1 0 1.696z"],[1,9,9,2]],"image-plus":[[6,"M16 5h6"],[6,"M19 2v6"],[6,"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5"],[6,"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"],[1,9,9,2]],"image-up":[[6,"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21"],[6,"m14 19.5 3-3 3 3"],[6,"M17 22v-5.5"],[1,9,9,2]],images:[[6,"M18 22H4a2 2 0 0 1-2-2V6"],[6,"m22 13-1.296-1.296a2.41 2.41 0 0 0-3.408 0L11 18"],[1,12,8,2],[5,6,2,16,16,2]],import:[[6,"M12 3v12"],[6,"m8 11 4 4 4-4"],[6,"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4"]],inbox:[[2,"22 12 16 12 14 15 10 15 8 12 2 12"],[6,"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"]],indent:[[2,"3 8 7 12 3 16"],[0,21,12,11,12],[0,21,6,11,6],[0,21,18,11,18]],"indent-decrease":[[2,"7 8 3 12 7 16"],[0,21,12,11,12],[0,21,6,11,6],[0,21,18,11,18]],"indent-increase":[[2,"3 8 7 12 3 16"],[0,21,12,11,12],[0,21,6,11,6],[0,21,18,11,18]],"indian-rupee":[[6,"M6 3h12"],[6,"M6 8h12"],[6,"m6 13 8.5 8"],[6,"M6 13h3"],[6,"M9 13c6.667 0 6.667-10 0-10"]],infinity:[[6,"M12 12c-2-2.67-4-4-6-4a4 4 0 1 0 0 8c2 0 4-1.33 6-4Zm0 0c2 2.67 4 4 6 4a4 4 0 0 0 0-8c-2 0-4 1.33-6 4Z"]],info:[[1,12,12,10],[6,"M12 16v-4"],[6,"M12 8h.01"]],inspect:[[6,"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"],[6,"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"]],"inspection-panel":[[5,3,3,18,18,2],[6,"M7 7h.01"],[6,"M17 7h.01"],[6,"M7 17h.01"],[6,"M17 17h.01"]],instagram:[[5,2,2,20,20,5,5],[6,"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"],[0,17.5,6.5,17.51,6.5]],italic:[[0,19,4,10,4],[0,14,20,5,20],[0,15,4,9,20]],"iteration-ccw":[[6,"M20 10c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8h8"],[2,"16 14 20 18 16 22"]],"iteration-cw":[[6,"M4 10c0-4.4 3.6-8 8-8s8 3.6 8 8-3.6 8-8 8H4"],[2,"8 22 4 18 8 14"]],"japanese-yen":[[6,"M12 9.5V21m0-11.5L6 3m6 6.5L18 3"],[6,"M6 15h12"],[6,"M6 11h12"]],joystick:[[6,"M21 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-2Z"],[6,"M6 15v-2"],[6,"M12 15V9"],[1,12,6,3]],kanban:[[6,"M6 5v11"],[6,"M12 5v6"],[6,"M18 5v14"]],"kanban-square":[[5,3,3,18,18,2],[6,"M8 7v7"],[6,"M12 7v4"],[6,"M16 7v9"]],"kanban-square-dashed":[[6,"M8 7v7"],[6,"M12 7v4"],[6,"M16 7v9"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M9 3h1"],[6,"M14 3h1"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 9v1"],[6,"M21 14v1"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M14 21h1"],[6,"M9 21h1"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M3 14v1"],[6,"M3 9v1"]],key:[[6,"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4"],[6,"m21 2-9.6 9.6"],[1,7.5,15.5,5.5]],"key-round":[[6,"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"],[1,16.5,7.5,.5]],"key-square":[[6,"M12.4 2.7a2.5 2.5 0 0 1 3.4 0l5.5 5.5a2.5 2.5 0 0 1 0 3.4l-3.7 3.7a2.5 2.5 0 0 1-3.4 0L8.7 9.8a2.5 2.5 0 0 1 0-3.4z"],[6,"m14 7 3 3"],[6,"m9.4 10.6-6.814 6.814A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814"]],keyboard:[[6,"M10 8h.01"],[6,"M12 12h.01"],[6,"M14 8h.01"],[6,"M16 12h.01"],[6,"M18 8h.01"],[6,"M6 8h.01"],[6,"M7 16h10"],[6,"M8 12h.01"],[5,2,4,20,16,2]],"keyboard-music":[[5,2,4,20,16,2],[6,"M6 8h4"],[6,"M14 8h.01"],[6,"M18 8h.01"],[6,"M2 12h20"],[6,"M6 12v4"],[6,"M10 12v4"],[6,"M14 12v4"],[6,"M18 12v4"]],"keyboard-off":[[6,"M 20 4 A2 2 0 0 1 22 6"],[6,"M 22 6 L 22 16.41"],[6,"M 7 16 L 16 16"],[6,"M 9.69 4 L 20 4"],[6,"M14 8h.01"],[6,"M18 8h.01"],[6,"m2 2 20 20"],[6,"M20 20H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2"],[6,"M6 8h.01"],[6,"M8 12h.01"]],lamp:[[6,"M8 2h8l4 10H4L8 2Z"],[6,"M12 12v6"],[6,"M8 22v-2c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v2H8Z"]],"lamp-ceiling":[[6,"M12 2v5"],[6,"M6 7h12l4 9H2l4-9Z"],[6,"M9.17 16a3 3 0 1 0 5.66 0"]],"lamp-desk":[[6,"m14 5-3 3 2 7 8-8-7-2Z"],[6,"m14 5-3 3-3-3 3-3 3 3Z"],[6,"M9.5 6.5 4 12l3 6"],[6,"M3 22v-2c0-1.1.9-2 2-2h4a2 2 0 0 1 2 2v2H3Z"]],"lamp-floor":[[6,"M9 2h6l3 7H6l3-7Z"],[6,"M12 9v13"],[6,"M9 22h6"]],"lamp-wall-down":[[6,"M11 13h6l3 7H8l3-7Z"],[6,"M14 13V8a2 2 0 0 0-2-2H8"],[6,"M4 9h2a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H4v6Z"]],"lamp-wall-up":[[6,"M11 4h6l3 7H8l3-7Z"],[6,"M14 11v5a2 2 0 0 1-2 2H8"],[6,"M4 15h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H4v-6Z"]],"land-plot":[[6,"m12 8 6-3-6-3v10"],[6,"m8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12"],[6,"m6.49 12.85 11.02 6.3"],[6,"M17.51 12.85 6.5 19.15"]],landmark:[[0,3,22,21,22],[0,6,18,6,11],[0,10,18,10,11],[0,14,18,14,11],[0,18,18,18,11],[3,"12 2 20 7 4 7"]],languages:[[6,"m5 8 6 6"],[6,"m4 14 6-6 2-3"],[6,"M2 5h12"],[6,"M7 2h1"],[6,"m22 22-5-10-5 10"],[6,"M14 18h6"]],laptop:[[6,"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16"]],"laptop-2":[[5,3,4,18,12,2,2],[0,2,20,22,20]],"laptop-minimal":[[5,3,4,18,12,2,2],[0,2,20,22,20]],lasso:[[6,"M7 22a5 5 0 0 1-2-4"],[6,"M3.3 14A6.8 6.8 0 0 1 2 10c0-4.4 4.5-8 10-8s10 3.6 10 8-4.5 8-10 8a12 12 0 0 1-5-1"],[6,"M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"]],"lasso-select":[[6,"M7 22a5 5 0 0 1-2-4"],[6,"M7 16.93c.96.43 1.96.74 2.99.91"],[6,"M3.34 14A6.8 6.8 0 0 1 2 10c0-4.42 4.48-8 10-8s10 3.58 10 8a7.19 7.19 0 0 1-.33 2"],[6,"M5 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"],[6,"M14.33 22h-.09a.35.35 0 0 1-.24-.32v-10a.34.34 0 0 1 .33-.34c.08 0 .15.03.21.08l7.34 6a.33.33 0 0 1-.21.59h-4.49l-2.57 3.85a.35.35 0 0 1-.28.14z"]],laugh:[[1,12,12,10],[6,"M18 13a6 6 0 0 1-6 5 6 6 0 0 1-6-5h12Z"],[0,9,9,9.01,9],[0,15,9,15.01,9]],layers:[[6,"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"],[6,"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"],[6,"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"]],"layers-2":[[6,"m16.02 12 5.48 3.13a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74L7.98 12"],[6,"M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74Z"]],"layers-3":[[6,"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"],[6,"m6.08 9.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59"],[6,"m6.08 14.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59"]],layout:[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M9 21V9"]],"layout-dashboard":[[5,3,3,7,9,1],[5,14,3,7,5,1],[5,14,12,7,9,1],[5,3,16,7,5,1]],"layout-grid":[[5,3,3,7,7,1],[5,14,3,7,7,1],[5,14,14,7,7,1],[5,3,14,7,7,1]],"layout-list":[[5,3,3,7,7,1],[5,3,14,7,7,1],[6,"M14 4h7"],[6,"M14 9h7"],[6,"M14 15h7"],[6,"M14 20h7"]],"layout-panel-left":[[5,3,3,7,18,1],[5,14,3,7,7,1],[5,14,14,7,7,1]],"layout-panel-top":[[5,3,3,18,7,1],[5,3,14,7,7,1],[5,14,14,7,7,1]],"layout-template":[[5,3,3,18,7,1],[5,3,14,9,7,1],[5,16,14,5,7,1]],leaf:[[6,"M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z"],[6,"M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12"]],"leafy-green":[[6,"M2 22c1.25-.987 2.27-1.975 3.9-2.2a5.56 5.56 0 0 1 3.8 1.5 4 4 0 0 0 6.187-2.353 3.5 3.5 0 0 0 3.69-5.116A3.5 3.5 0 0 0 20.95 8 3.5 3.5 0 1 0 16 3.05a3.5 3.5 0 0 0-5.831 1.373 3.5 3.5 0 0 0-5.116 3.69 4 4 0 0 0-2.348 6.155C3.499 15.42 4.409 16.712 4.2 18.1 3.926 19.743 3.014 20.732 2 22"],[6,"M2 22 17 7"]],lectern:[[6,"M16 12h3a2 2 0 0 0 1.902-1.38l1.056-3.333A1 1 0 0 0 21 6H3a1 1 0 0 0-.958 1.287l1.056 3.334A2 2 0 0 0 5 12h3"],[6,"M18 6V3a1 1 0 0 0-1-1h-3"],[5,8,10,8,12,1]],"letter-text":[[6,"M15 12h6"],[6,"M15 6h6"],[6,"m3 13 3.553-7.724a.5.5 0 0 1 .894 0L11 13"],[6,"M3 18h18"],[6,"M4 11h6"]],library:[[6,"m16 6 4 14"],[6,"M12 6v14"],[6,"M8 8v12"],[6,"M4 4v16"]],"library-big":[[5,3,3,8,18,1],[6,"M7 3v18"],[6,"M20.4 18.9c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z"]],"library-square":[[5,3,3,18,18,2],[6,"M7 7v10"],[6,"M11 7v10"],[6,"m15 7 2 10"]],"life-buoy":[[1,12,12,10],[6,"m4.93 4.93 4.24 4.24"],[6,"m14.83 9.17 4.24-4.24"],[6,"m14.83 14.83 4.24 4.24"],[6,"m9.17 14.83-4.24 4.24"],[1,12,12,4]],ligature:[[6,"M8 20V8c0-2.2 1.8-4 4-4 1.5 0 2.8.8 3.5 2"],[6,"M6 12h4"],[6,"M14 12h2v8"],[6,"M6 20h4"],[6,"M14 20h4"]],lightbulb:[[6,"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"],[6,"M9 18h6"],[6,"M10 22h4"]],"lightbulb-off":[[6,"M16.8 11.2c.8-.9 1.2-2 1.2-3.2a6 6 0 0 0-9.3-5"],[6,"m2 2 20 20"],[6,"M6.3 6.3a4.67 4.67 0 0 0 1.2 5.2c.7.7 1.3 1.5 1.5 2.5"],[6,"M9 18h6"],[6,"M10 22h4"]],"line-chart":[[6,"M3 3v16a2 2 0 0 0 2 2h16"],[6,"m19 9-5 5-4-4-3 3"]],link:[[6,"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"],[6,"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"]],"link-2":[[6,"M9 17H7A5 5 0 0 1 7 7h2"],[6,"M15 7h2a5 5 0 1 1 0 10h-2"],[0,8,12,16,12]],"link-2off":[[6,"M9 17H7A5 5 0 0 1 7 7"],[6,"M15 7h2a5 5 0 0 1 4 8"],[0,8,12,12,12],[0,2,2,22,22]],linkedin:[[6,"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"],[5,2,9,4,12],[1,4,4,2]],list:[[0,8,6,21,6],[0,8,12,21,12],[0,8,18,21,18],[0,3,6,3.01,6],[0,3,12,3.01,12],[0,3,18,3.01,18]],"list-check":[[6,"M11 18H3"],[6,"m15 18 2 2 4-4"],[6,"M16 12H3"],[6,"M16 6H3"]],"list-checks":[[6,"m3 17 2 2 4-4"],[6,"m3 7 2 2 4-4"],[6,"M13 6h8"],[6,"M13 12h8"],[6,"M13 18h8"]],"list-collapse":[[6,"m3 10 2.5-2.5L3 5"],[6,"m3 19 2.5-2.5L3 14"],[6,"M10 6h11"],[6,"M10 12h11"],[6,"M10 18h11"]],"list-end":[[6,"M16 12H3"],[6,"M16 6H3"],[6,"M10 18H3"],[6,"M21 6v10a2 2 0 0 1-2 2h-5"],[6,"m16 16-2 2 2 2"]],"list-filter":[[6,"M3 6h18"],[6,"M7 12h10"],[6,"M10 18h4"]],"list-minus":[[6,"M11 12H3"],[6,"M16 6H3"],[6,"M16 18H3"],[6,"M21 12h-6"]],"list-music":[[6,"M21 15V6"],[6,"M18.5 18a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"],[6,"M12 12H3"],[6,"M16 6H3"],[6,"M12 18H3"]],"list-ordered":[[0,10,6,21,6],[0,10,12,21,12],[0,10,18,21,18],[6,"M4 6h1v4"],[6,"M4 10h2"],[6,"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1"]],"list-plus":[[6,"M11 12H3"],[6,"M16 6H3"],[6,"M16 18H3"],[6,"M18 9v6"],[6,"M21 12h-6"]],"list-restart":[[6,"M21 6H3"],[6,"M7 12H3"],[6,"M7 18H3"],[6,"M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14"],[6,"M11 10v4h4"]],"list-start":[[6,"M16 12H3"],[6,"M16 18H3"],[6,"M10 6H3"],[6,"M21 18V8a2 2 0 0 0-2-2h-5"],[6,"m16 8-2-2 2-2"]],"list-todo":[[5,3,5,6,6,1],[6,"m3 17 2 2 4-4"],[6,"M13 6h8"],[6,"M13 12h8"],[6,"M13 18h8"]],"list-tree":[[6,"M21 12h-8"],[6,"M21 6H8"],[6,"M21 18h-8"],[6,"M3 6v4c0 1.1.9 2 2 2h3"],[6,"M3 10v6c0 1.1.9 2 2 2h3"]],"list-video":[[6,"M12 12H3"],[6,"M16 6H3"],[6,"M12 18H3"],[6,"m16 12 5 3-5 3v-6Z"]],"list-x":[[6,"M11 12H3"],[6,"M16 6H3"],[6,"M16 18H3"],[6,"m19 10-4 4"],[6,"m15 10 4 4"]],loader:[[6,"M12 2v4"],[6,"m16.2 7.8 2.9-2.9"],[6,"M18 12h4"],[6,"m16.2 16.2 2.9 2.9"],[6,"M12 18v4"],[6,"m4.9 19.1 2.9-2.9"],[6,"M2 12h4"],[6,"m4.9 4.9 2.9 2.9"]],"loader-2":[[6,"M21 12a9 9 0 1 1-6.219-8.56"]],"loader-circle":[[6,"M21 12a9 9 0 1 1-6.219-8.56"]],"loader-pinwheel":[[6,"M22 12a1 1 0 0 1-10 0 1 1 0 0 0-10 0"],[6,"M7 20.7a1 1 0 1 1 5-8.7 1 1 0 1 0 5-8.6"],[6,"M7 3.3a1 1 0 1 1 5 8.6 1 1 0 1 0 5 8.6"],[1,12,12,10]],locate:[[0,2,12,5,12],[0,19,12,22,12],[0,12,2,12,5],[0,12,19,12,22],[1,12,12,7]],"locate-fixed":[[0,2,12,5,12],[0,19,12,22,12],[0,12,2,12,5],[0,12,19,12,22],[1,12,12,7],[1,12,12,3]],"locate-off":[[0,2,12,5,12],[0,19,12,22,12],[0,12,2,12,5],[0,12,19,12,22],[6,"M7.11 7.11C5.83 8.39 5 10.1 5 12c0 3.87 3.13 7 7 7 1.9 0 3.61-.83 4.89-2.11"],[6,"M18.71 13.96c.19-.63.29-1.29.29-1.96 0-3.87-3.13-7-7-7-.67 0-1.33.1-1.96.29"],[0,2,2,22,22]],lock:[[5,3,11,18,11,2,2],[6,"M7 11V7a5 5 0 0 1 10 0v4"]],"lock-keyhole":[[1,12,16,1],[5,3,10,18,12,2],[6,"M7 10V7a5 5 0 0 1 10 0v3"]],"lock-keyhole-open":[[1,12,16,1],[5,3,10,18,12,2],[6,"M7 10V7a5 5 0 0 1 9.33-2.5"]],"lock-open":[[5,3,11,18,11,2,2],[6,"M7 11V7a5 5 0 0 1 9.9-1"]],"log-in":[[6,"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"],[2,"10 17 15 12 10 7"],[0,15,12,3,12]],"log-out":[[6,"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"],[2,"16 17 21 12 16 7"],[0,21,12,9,12]],logs:[[6,"M13 12h8"],[6,"M13 18h8"],[6,"M13 6h8"],[6,"M3 12h1"],[6,"M3 18h1"],[6,"M3 6h1"],[6,"M8 12h1"],[6,"M8 18h1"],[6,"M8 6h1"]],lollipop:[[1,11,11,8],[6,"m21 21-4.3-4.3"],[6,"M11 11a2 2 0 0 0 4 0 4 4 0 0 0-8 0 6 6 0 0 0 12 0"]],luggage:[[6,"M6 20a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2"],[6,"M8 18V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v14"],[6,"M10 20h4"],[1,16,20,2],[1,8,20,2]],"m-square":[[5,3,3,18,18,2],[6,"M8 16V8l4 4 4-4v8"]],magnet:[[6,"m6 15-4-4 6.75-6.77a7.79 7.79 0 0 1 11 11L13 22l-4-4 6.39-6.36a2.14 2.14 0 0 0-3-3L6 15"],[6,"m5 8 4 4"],[6,"m12 15 4 4"]],mail:[[5,2,4,20,16,2],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"]],"mail-check":[[6,"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"m16 19 2 2 4-4"]],"mail-minus":[[6,"M22 15V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M16 19h6"]],"mail-open":[[6,"M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z"],[6,"m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10"]],"mail-plus":[[6,"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M19 16v6"],[6,"M16 19h6"]],"mail-question":[[6,"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M18 15.28c.2-.4.5-.8.9-1a2.1 2.1 0 0 1 2.6.4c.3.4.5.8.5 1.3 0 1.3-2 2-2 2"],[6,"M20 22v.01"]],"mail-search":[[6,"M22 12.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h7.5"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M18 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"],[1,18,18,3],[6,"m22 22-1.5-1.5"]],"mail-warning":[[6,"M22 10.5V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12.5"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"M20 14v4"],[6,"M20 22v.01"]],"mail-x":[[6,"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h9"],[6,"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"],[6,"m17 17 4 4"],[6,"m21 17-4 4"]],mailbox:[[6,"M22 17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5C2 7 4 5 6.5 5H18c2.2 0 4 1.8 4 4v8Z"],[2,"15,9 18,9 18,11"],[6,"M6.5 5C9 5 11 7 11 9.5V17a2 2 0 0 1-2 2"],[0,6,10,7,10]],mails:[[5,6,4,16,13,2],[6,"m22 7-7.1 3.78c-.57.3-1.23.3-1.8 0L6 7"],[6,"M2 8v11c0 1.1.9 2 2 2h14"]],map:[[6,"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z"],[6,"M15 5.764v15"],[6,"M9 3.236v15"]],"map-pin":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[1,12,10,3]],"map-pin-check":[[6,"M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728"],[1,12,10,3],[6,"m16 18 2 2 4-4"]],"map-pin-check-inside":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[6,"m9 10 2 2 4-4"]],"map-pin-house":[[6,"M15 22a1 1 0 0 1-1-1v-4a1 1 0 0 1 .445-.832l3-2a1 1 0 0 1 1.11 0l3 2A1 1 0 0 1 22 17v4a1 1 0 0 1-1 1z"],[6,"M18 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 .601.2"],[6,"M18 22v-3"],[1,10,10,3]],"map-pin-minus":[[6,"M18.977 14C19.6 12.701 20 11.343 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738"],[1,12,10,3],[6,"M16 18h6"]],"map-pin-minus-inside":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[6,"M9 10h6"]],"map-pin-off":[[6,"M12.75 7.09a3 3 0 0 1 2.16 2.16"],[6,"M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568"],[6,"m2 2 20 20"],[6,"M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533"],[6,"M9.13 9.13a3 3 0 0 0 3.74 3.74"]],"map-pin-plus":[[6,"M19.914 11.105A7.298 7.298 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738"],[1,12,10,3],[6,"M16 18h6"],[6,"M19 15v6"]],"map-pin-plus-inside":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[6,"M12 7v6"],[6,"M9 10h6"]],"map-pin-x":[[6,"M19.752 11.901A7.78 7.78 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 19 19 0 0 0 .09-.077"],[1,12,10,3],[6,"m21.5 15.5-5 5"],[6,"m21.5 20.5-5-5"]],"map-pin-xinside":[[6,"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"],[6,"m14.5 7.5-5 5"],[6,"m9.5 7.5 5 5"]],"map-pinned":[[6,"M18 8c0 3.613-3.869 7.429-5.393 8.795a1 1 0 0 1-1.214 0C9.87 15.429 6 11.613 6 8a6 6 0 0 1 12 0"],[1,12,8,2],[6,"M8.714 14h-3.71a1 1 0 0 0-.948.683l-2.004 6A1 1 0 0 0 3 22h18a1 1 0 0 0 .948-1.316l-2-6a1 1 0 0 0-.949-.684h-3.712"]],martini:[[6,"M8 22h8"],[6,"M12 11v11"],[6,"m19 3-7 8-7-8Z"]],maximize:[[6,"M8 3H5a2 2 0 0 0-2 2v3"],[6,"M21 8V5a2 2 0 0 0-2-2h-3"],[6,"M3 16v3a2 2 0 0 0 2 2h3"],[6,"M16 21h3a2 2 0 0 0 2-2v-3"]],"maximize-2":[[2,"15 3 21 3 21 9"],[2,"9 21 3 21 3 15"],[0,21,3,14,10],[0,3,21,10,14]],medal:[[6,"M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15"],[6,"M11 12 5.12 2.2"],[6,"m13 12 5.88-9.8"],[6,"M8 7h8"],[1,12,17,5],[6,"M12 18v-2h-.5"]],megaphone:[[6,"m3 11 18-5v12L3 14v-3z"],[6,"M11.6 16.8a3 3 0 1 1-5.8-1.6"]],"megaphone-off":[[6,"M9.26 9.26 3 11v3l14.14 3.14"],[6,"M21 15.34V6l-7.31 2.03"],[6,"M11.6 16.8a3 3 0 1 1-5.8-1.6"],[0,2,2,22,22]],meh:[[1,12,12,10],[0,8,15,16,15],[0,9,9,9.01,9],[0,15,9,15.01,9]],"memory-stick":[[6,"M6 19v-3"],[6,"M10 19v-3"],[6,"M14 19v-3"],[6,"M18 19v-3"],[6,"M8 11V9"],[6,"M16 11V9"],[6,"M12 11V9"],[6,"M2 15h20"],[6,"M2 7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.1a2 2 0 0 0 0 3.837V17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5.1a2 2 0 0 0 0-3.837Z"]],menu:[[0,4,12,20,12],[0,4,6,20,6],[0,4,18,20,18]],"menu-square":[[5,3,3,18,18,2],[6,"M7 8h10"],[6,"M7 12h10"],[6,"M7 16h10"]],merge:[[6,"m8 6 4-4 4 4"],[6,"M12 2v10.3a4 4 0 0 1-1.172 2.872L4 22"],[6,"m20 22-5-5"]],"message-circle":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"]],"message-circle-code":[[6,"M10 9.5 8 12l2 2.5"],[6,"m14 9.5 2 2.5-2 2.5"],[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22z"]],"message-circle-dashed":[[6,"M13.5 3.1c-.5 0-1-.1-1.5-.1s-1 .1-1.5.1"],[6,"M19.3 6.8a10.45 10.45 0 0 0-2.1-2.1"],[6,"M20.9 13.5c.1-.5.1-1 .1-1.5s-.1-1-.1-1.5"],[6,"M17.2 19.3a10.45 10.45 0 0 0 2.1-2.1"],[6,"M10.5 20.9c.5.1 1 .1 1.5.1s1-.1 1.5-.1"],[6,"M3.5 17.5 2 22l4.5-1.5"],[6,"M3.1 10.5c0 .5-.1 1-.1 1.5s.1 1 .1 1.5"],[6,"M6.8 4.7a10.45 10.45 0 0 0-2.1 2.1"]],"message-circle-heart":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M15.8 9.2a2.5 2.5 0 0 0-3.5 0l-.3.4-.35-.3a2.42 2.42 0 1 0-3.2 3.6l3.6 3.5 3.6-3.5c1.2-1.2 1.1-2.7.2-3.7"]],"message-circle-more":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M8 12h.01"],[6,"M12 12h.01"],[6,"M16 12h.01"]],"message-circle-off":[[6,"M20.5 14.9A9 9 0 0 0 9.1 3.5"],[6,"m2 2 20 20"],[6,"M5.6 5.6C3 8.3 2.2 12.5 4 16l-2 6 6-2c3.4 1.8 7.6 1.1 10.3-1.7"]],"message-circle-plus":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M8 12h8"],[6,"M12 8v8"]],"message-circle-question":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"],[6,"M12 17h.01"]],"message-circle-reply":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"m10 15-3-3 3-3"],[6,"M7 12h7a2 2 0 0 1 2 2v1"]],"message-circle-warning":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"M12 8v4"],[6,"M12 16h.01"]],"message-circle-x":[[6,"M7.9 20A9 9 0 1 0 4 16.1L2 22Z"],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],"message-square":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"]],"message-square-code":[[6,"M10 7.5 8 10l2 2.5"],[6,"m14 7.5 2 2.5-2 2.5"],[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"]],"message-square-dashed":[[6,"M10 17H7l-4 4v-7"],[6,"M14 17h1"],[6,"M14 3h1"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 14v1a2 2 0 0 1-2 2"],[6,"M21 9v1"],[6,"M3 9v1"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M9 3h1"]],"message-square-diff":[[6,"m5 19-2 2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2"],[6,"M9 10h6"],[6,"M12 7v6"],[6,"M9 17h6"]],"message-square-dot":[[6,"M11.7 3H5a2 2 0 0 0-2 2v16l4-4h12a2 2 0 0 0 2-2v-2.7"],[1,18,6,3]],"message-square-heart":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M14.8 7.5a1.84 1.84 0 0 0-2.6 0l-.2.3-.3-.3a1.84 1.84 0 1 0-2.4 2.8L12 13l2.7-2.7c.9-.9.8-2.1.1-2.8"]],"message-square-lock":[[6,"M19 15v-2a2 2 0 1 0-4 0v2"],[6,"M9 17H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3.5"],[5,13,15,8,5,1]],"message-square-more":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M8 10h.01"],[6,"M12 10h.01"],[6,"M16 10h.01"]],"message-square-off":[[6,"M21 15V5a2 2 0 0 0-2-2H9"],[6,"m2 2 20 20"],[6,"M3.6 3.6c-.4.3-.6.8-.6 1.4v16l4-4h10"]],"message-square-plus":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M12 7v6"],[6,"M9 10h6"]],"message-square-quote":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M8 12a2 2 0 0 0 2-2V8H8"],[6,"M14 12a2 2 0 0 0 2-2V8h-2"]],"message-square-reply":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"m10 7-3 3 3 3"],[6,"M17 13v-1a2 2 0 0 0-2-2H7"]],"message-square-share":[[6,"M21 12v3a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h7"],[6,"M16 3h5v5"],[6,"m16 8 5-5"]],"message-square-text":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M13 8H7"],[6,"M17 12H7"]],"message-square-warning":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"M12 7v2"],[6,"M12 13h.01"]],"message-square-x":[[6,"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"],[6,"m14.5 7.5-5 5"],[6,"m9.5 7.5 5 5"]],"messages-square":[[6,"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z"],[6,"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1"]],mic:[[6,"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z"],[6,"M19 10v2a7 7 0 0 1-14 0v-2"],[0,12,19,12,22]],"mic-2":[[6,"m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12"],[6,"M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5"],[1,16,7,5]],"mic-off":[[0,2,2,22,22],[6,"M18.89 13.23A7.12 7.12 0 0 0 19 12v-2"],[6,"M5 10v2a7 7 0 0 0 12 5"],[6,"M15 9.34V5a3 3 0 0 0-5.68-1.33"],[6,"M9 9v3a3 3 0 0 0 5.12 2.12"],[0,12,19,12,22]],"mic-vocal":[[6,"m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12"],[6,"M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5"],[1,16,7,5]],microchip:[[6,"M18 12h2"],[6,"M18 16h2"],[6,"M18 20h2"],[6,"M18 4h2"],[6,"M18 8h2"],[6,"M4 12h2"],[6,"M4 16h2"],[6,"M4 20h2"],[6,"M4 4h2"],[6,"M4 8h2"],[6,"M8 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2h-1.5c-.276 0-.494.227-.562.495a2 2 0 0 1-3.876 0C9.994 2.227 9.776 2 9.5 2z"]],microscope:[[6,"M6 18h8"],[6,"M3 22h18"],[6,"M14 22a7 7 0 1 0 0-14h-1"],[6,"M9 14h2"],[6,"M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z"],[6,"M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3"]],microwave:[[5,2,4,20,15,2],[5,6,8,8,7,1],[6,"M18 8v7"],[6,"M6 19v2"],[6,"M18 19v2"]],milestone:[[6,"M12 13v8"],[6,"M12 3v3"],[6,"M4 6a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h13a2 2 0 0 0 1.152-.365l3.424-2.317a1 1 0 0 0 0-1.635l-3.424-2.318A2 2 0 0 0 17 6z"]],milk:[[6,"M8 2h8"],[6,"M9 2v2.789a4 4 0 0 1-.672 2.219l-.656.984A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-9.789a4 4 0 0 0-.672-2.219l-.656-.984A4 4 0 0 1 15 4.788V2"],[6,"M7 15a6.472 6.472 0 0 1 5 0 6.47 6.47 0 0 0 5 0"]],"milk-off":[[6,"M8 2h8"],[6,"M9 2v1.343M15 2v2.789a4 4 0 0 0 .672 2.219l.656.984a4 4 0 0 1 .672 2.22v1.131M7.8 7.8l-.128.192A4 4 0 0 0 7 10.212V20a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3"],[6,"M7 15a6.47 6.47 0 0 1 5 0 6.472 6.472 0 0 0 3.435.435"],[0,2,2,22,22]],minimize:[[6,"M8 3v3a2 2 0 0 1-2 2H3"],[6,"M21 8h-3a2 2 0 0 1-2-2V3"],[6,"M3 16h3a2 2 0 0 1 2 2v3"],[6,"M16 21v-3a2 2 0 0 1 2-2h3"]],"minimize-2":[[2,"4 14 10 14 10 20"],[2,"20 10 14 10 14 4"],[0,14,10,21,3],[0,3,21,10,14]],minus:[[6,"M5 12h14"]],"minus-circle":[[1,12,12,10],[6,"M8 12h8"]],"minus-square":[[5,3,3,18,18,2],[6,"M8 12h8"]],monitor:[[5,2,3,20,14,2],[0,8,21,16,21],[0,12,17,12,21]],"monitor-check":[[6,"m9 10 2 2 4-4"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-cog":[[6,"M12 17v4"],[6,"m15.2 4.9-.9-.4"],[6,"m15.2 7.1-.9.4"],[6,"m16.9 3.2-.4-.9"],[6,"m16.9 8.8-.4.9"],[6,"m19.5 2.3-.4.9"],[6,"m19.5 9.7-.4-.9"],[6,"m21.7 4.5-.9.4"],[6,"m21.7 7.5-.9-.4"],[6,"M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7"],[6,"M8 21h8"],[1,18,6,3]],"monitor-dot":[[1,19,6,3],[6,"M22 12v3a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h9"],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-down":[[6,"M12 13V7"],[6,"m15 10-3 3-3-3"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-off":[[6,"M17 17H4a2 2 0 0 1-2-2V5c0-1.5 1-2 1-2"],[6,"M22 15V5a2 2 0 0 0-2-2H9"],[6,"M8 21h8"],[6,"M12 17v4"],[6,"m2 2 20 20"]],"monitor-pause":[[6,"M10 13V7"],[6,"M14 13V7"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-play":[[6,"M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z"],[6,"M12 17v4"],[6,"M8 21h8"],[5,2,3,20,14,2]],"monitor-smartphone":[[6,"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8"],[6,"M10 19v-3.96 3.15"],[6,"M7 19h5"],[5,16,12,6,10,2]],"monitor-speaker":[[6,"M5.5 20H8"],[6,"M17 9h.01"],[5,12,4,10,16,2],[6,"M8 6H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h4"],[1,17,15,1]],"monitor-stop":[[6,"M12 17v4"],[6,"M8 21h8"],[5,2,3,20,14,2],[5,9,7,6,6,1]],"monitor-up":[[6,"m9 10 3-3 3 3"],[6,"M12 13V7"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],"monitor-x":[[6,"m14.5 12.5-5-5"],[6,"m9.5 12.5 5-5"],[5,2,3,20,14,2],[6,"M12 17v4"],[6,"M8 21h8"]],moon:[[6,"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"]],"moon-star":[[6,"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9"],[6,"M20 3v4"],[6,"M22 5h-4"]],"more-horizontal":[[1,12,12,1],[1,19,12,1],[1,5,12,1]],"more-vertical":[[1,12,12,1],[1,12,5,1],[1,12,19,1]],mountain:[[6,"m8 3 4 8 5-5 5 15H2L8 3z"]],"mountain-snow":[[6,"m8 3 4 8 5-5 5 15H2L8 3z"],[6,"M4.14 15.08c2.62-1.57 5.24-1.43 7.86.42 2.74 1.94 5.49 2 8.23.19"]],mouse:[[5,5,2,14,20,7],[6,"M12 6v4"]],"mouse-off":[[6,"M12 6v.343"],[6,"M18.218 18.218A7 7 0 0 1 5 15V9a7 7 0 0 1 .782-3.218"],[6,"M19 13.343V9A7 7 0 0 0 8.56 2.902"],[6,"M22 22 2 2"]],"mouse-pointer":[[6,"M12.586 12.586 19 19"],[6,"M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z"]],"mouse-pointer-2":[[6,"M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z"]],"mouse-pointer-ban":[[6,"M2.034 2.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.944L8.204 7.545a1 1 0 0 0-.66.66l-1.066 3.443a.5.5 0 0 1-.944.033z"],[1,16,16,6],[6,"m11.8 11.8 8.4 8.4"]],"mouse-pointer-click":[[6,"M14 4.1 12 6"],[6,"m5.1 8-2.9-.8"],[6,"m6 12-1.9 2"],[6,"M7.2 2.2 8 5.1"],[6,"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z"]],"mouse-pointer-square-dashed":[[6,"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h2"],[6,"M14 3h1"],[6,"M3 9v1"],[6,"M21 9v2"],[6,"M3 14v1"]],move:[[2,"5 9 2 12 5 15"],[2,"9 5 12 2 15 5"],[2,"15 19 12 22 9 19"],[2,"19 9 22 12 19 15"],[0,2,12,22,12],[0,12,2,12,22]],"move-3d":[[6,"M5 3v16h16"],[6,"m5 19 6-6"],[6,"m2 6 3-3 3 3"],[6,"m18 16 3 3-3 3"]],"move-diagonal":[[2,"13 5 19 5 19 11"],[2,"11 19 5 19 5 13"],[0,19,5,5,19]],"move-diagonal-2":[[2,"5 11 5 5 11 5"],[2,"19 13 19 19 13 19"],[0,5,5,19,19]],"move-down":[[6,"M8 18L12 22L16 18"],[6,"M12 2V22"]],"move-down-left":[[6,"M11 19H5V13"],[6,"M19 5L5 19"]],"move-down-right":[[6,"M19 13V19H13"],[6,"M5 5L19 19"]],"move-horizontal":[[2,"18 8 22 12 18 16"],[2,"6 8 2 12 6 16"],[0,2,12,22,12]],"move-left":[[6,"M6 8L2 12L6 16"],[6,"M2 12H22"]],"move-right":[[6,"M18 8L22 12L18 16"],[6,"M2 12H22"]],"move-up":[[6,"M8 6L12 2L16 6"],[6,"M12 2V22"]],"move-up-left":[[6,"M5 11V5H11"],[6,"M5 5L19 19"]],"move-up-right":[[6,"M13 5H19V11"],[6,"M19 5L5 19"]],"move-vertical":[[2,"8 18 12 22 16 18"],[2,"8 6 12 2 16 6"],[0,12,2,12,22]],music:[[6,"M9 18V5l12-2v13"],[1,6,18,3],[1,18,16,3]],"music-2":[[1,8,18,4],[6,"M12 18V2l7 4"]],"music-3":[[1,12,18,4],[6,"M16 18V2"]],"music-4":[[6,"M9 18V5l12-2v13"],[6,"m9 9 12-2"],[1,6,18,3],[1,18,16,3]],navigation:[[3,"3 11 22 2 13 21 11 13 3 11"]],"navigation-2":[[3,"12 2 19 21 12 17 5 21 12 2"]],"navigation-2off":[[6,"M9.31 9.31 5 21l7-4 7 4-1.17-3.17"],[6,"M14.53 8.88 12 2l-1.17 3.17"],[0,2,2,22,22]],"navigation-off":[[6,"M8.43 8.43 3 11l8 2 2 8 2.57-5.43"],[6,"M17.39 11.73 22 2l-9.73 4.61"],[0,2,2,22,22]],network:[[5,16,16,6,6,1],[5,2,16,6,6,1],[5,9,2,6,6,1],[6,"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"],[6,"M12 12V8"]],newspaper:[[6,"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2"],[6,"M18 14h-8"],[6,"M15 18h-5"],[6,"M10 6h8v4h-8V6Z"]],nfc:[[6,"M6 8.32a7.43 7.43 0 0 1 0 7.36"],[6,"M9.46 6.21a11.76 11.76 0 0 1 0 11.58"],[6,"M12.91 4.1a15.91 15.91 0 0 1 .01 15.8"],[6,"M16.37 2a20.16 20.16 0 0 1 0 20"]],notebook:[[6,"M2 6h4"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[5,4,2,16,20,2],[6,"M16 2v20"]],"notebook-pen":[[6,"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4"],[6,"M2 6h4"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[6,"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"]],"notebook-tabs":[[6,"M2 6h4"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[5,4,2,16,20,2],[6,"M15 2v20"],[6,"M15 7h5"],[6,"M15 12h5"],[6,"M15 17h5"]],"notebook-text":[[6,"M2 6h4"],[6,"M2 10h4"],[6,"M2 14h4"],[6,"M2 18h4"],[5,4,2,16,20,2],[6,"M9.5 8h5"],[6,"M9.5 12H16"],[6,"M9.5 16H14"]],"notepad-text":[[6,"M8 2v4"],[6,"M12 2v4"],[6,"M16 2v4"],[5,4,4,16,18,2],[6,"M8 10h6"],[6,"M8 14h8"],[6,"M8 18h5"]],"notepad-text-dashed":[[6,"M8 2v4"],[6,"M12 2v4"],[6,"M16 2v4"],[6,"M16 4h2a2 2 0 0 1 2 2v2"],[6,"M20 12v2"],[6,"M20 18v2a2 2 0 0 1-2 2h-1"],[6,"M13 22h-2"],[6,"M7 22H6a2 2 0 0 1-2-2v-2"],[6,"M4 14v-2"],[6,"M4 8V6a2 2 0 0 1 2-2h2"],[6,"M8 10h6"],[6,"M8 14h8"],[6,"M8 18h5"]],nut:[[6,"M12 4V2"],[6,"M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592A7.003 7.003 0 0 0 19 14v-4"],[6,"M12 4C8 4 4.5 6 4 8c-.243.97-.919 1.952-2 3 1.31-.082 1.972-.29 3-1 .54.92.982 1.356 2 2 1.452-.647 1.954-1.098 2.5-2 .595.995 1.151 1.427 2.5 2 1.31-.621 1.862-1.058 2.5-2 .629.977 1.162 1.423 2.5 2 1.209-.548 1.68-.967 2-2 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4Z"]],"nut-off":[[6,"M12 4V2"],[6,"M5 10v4a7.004 7.004 0 0 0 5.277 6.787c.412.104.802.292 1.102.592L12 22l.621-.621c.3-.3.69-.488 1.102-.592a7.01 7.01 0 0 0 4.125-2.939"],[6,"M19 10v3.343"],[6,"M12 12c-1.349-.573-1.905-1.005-2.5-2-.546.902-1.048 1.353-2.5 2-1.018-.644-1.46-1.08-2-2-1.028.71-1.69.918-3 1 1.081-1.048 1.757-2.03 2-3 .194-.776.84-1.551 1.79-2.21m11.654 5.997c.887-.457 1.28-.891 1.556-1.787 1.032.916 1.683 1.157 3 1-1.297-1.036-1.758-2.03-2-3-.5-2-4-4-8-4-.74 0-1.461.068-2.15.192"],[0,2,2,22,22]],octagon:[[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"]],"octagon-alert":[[6,"M12 16h.01"],[6,"M12 8v4"],[6,"M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z"]],"octagon-minus":[[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"],[6,"M8 12h8"]],"octagon-pause":[[6,"M10 15V9"],[6,"M14 15V9"],[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"]],"octagon-x":[[6,"m15 9-6 6"],[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"],[6,"m9 9 6 6"]],omega:[[6,"M3 20h4.5a.5.5 0 0 0 .5-.5v-.282a.52.52 0 0 0-.247-.437 8 8 0 1 1 8.494-.001.52.52 0 0 0-.247.438v.282a.5.5 0 0 0 .5.5H21"]],option:[[6,"M3 3h6l6 18h6"],[6,"M14 3h7"]],orbit:[[1,12,12,3],[1,19,5,2],[1,5,19,2],[6,"M10.4 21.9a10 10 0 0 0 9.941-15.416"],[6,"M13.5 2.1a10 10 0 0 0-9.841 15.416"]],origami:[[6,"M12 12V4a1 1 0 0 1 1-1h6.297a1 1 0 0 1 .651 1.759l-4.696 4.025"],[6,"m12 21-7.414-7.414A2 2 0 0 1 4 12.172V6.415a1.002 1.002 0 0 1 1.707-.707L20 20.009"],[6,"m12.214 3.381 8.414 14.966a1 1 0 0 1-.167 1.199l-1.168 1.163a1 1 0 0 1-.706.291H6.351a1 1 0 0 1-.625-.219L3.25 18.8a1 1 0 0 1 .631-1.781l4.165.027"]],outdent:[[2,"7 8 3 12 7 16"],[0,21,12,11,12],[0,21,6,11,6],[0,21,18,11,18]],package:[[6,"m7.5 4.27 9 5.15"],[6,"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"],[6,"m3.3 7 8.7 5 8.7-5"],[6,"M12 22V12"]],"package-2":[[6,"M3 9h18v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9Z"],[6,"m3 9 2.45-4.9A2 2 0 0 1 7.24 3h9.52a2 2 0 0 1 1.8 1.1L21 9"],[6,"M12 3v6"]],"package-check":[[6,"m16 16 2 2 4-4"],[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12]],"package-minus":[[6,"M16 16h6"],[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12]],"package-open":[[6,"M12 22v-9"],[6,"M15.17 2.21a1.67 1.67 0 0 1 1.63 0L21 4.57a1.93 1.93 0 0 1 0 3.36L8.82 14.79a1.655 1.655 0 0 1-1.64 0L3 12.43a1.93 1.93 0 0 1 0-3.36z"],[6,"M20 13v3.87a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13"],[6,"M21 12.43a1.93 1.93 0 0 0 0-3.36L8.83 2.2a1.64 1.64 0 0 0-1.63 0L3 4.57a1.93 1.93 0 0 0 0 3.36l12.18 6.86a1.636 1.636 0 0 0 1.63 0z"]],"package-plus":[[6,"M16 16h6"],[6,"M19 13v6"],[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12]],"package-search":[[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12],[1,18.5,15.5,2.5],[6,"M20.27 17.27 22 19"]],"package-x":[[6,"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14"],[6,"m7.5 4.27 9 5.15"],[2,"3.29 7 12 12 20.71 7"],[0,12,22,12,12],[6,"m17 13 5 5m-5 0 5-5"]],"paint-bucket":[[6,"m19 11-8-8-8.6 8.6a2 2 0 0 0 0 2.8l5.2 5.2c.8.8 2 .8 2.8 0L19 11Z"],[6,"m5 2 5 5"],[6,"M2 13h15"],[6,"M22 20a2 2 0 1 1-4 0c0-1.6 1.7-2.4 2-4 .3 1.6 2 2.4 2 4Z"]],"paint-roller":[[5,2,2,16,6,2],[6,"M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"],[5,8,16,4,6,1]],paintbrush:[[6,"m14.622 17.897-10.68-2.913"],[6,"M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z"],[6,"M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15"]],"paintbrush-2":[[6,"M10 2v2"],[6,"M14 2v4"],[6,"M17 2a1 1 0 0 1 1 1v9H6V3a1 1 0 0 1 1-1z"],[6,"M6 12a1 1 0 0 0-1 1v1a2 2 0 0 0 2 2h2a1 1 0 0 1 1 1v2.9a2 2 0 1 0 4 0V17a1 1 0 0 1 1-1h2a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1"]],"paintbrush-vertical":[[6,"M10 2v2"],[6,"M14 2v4"],[6,"M17 2a1 1 0 0 1 1 1v9H6V3a1 1 0 0 1 1-1z"],[6,"M6 12a1 1 0 0 0-1 1v1a2 2 0 0 0 2 2h2a1 1 0 0 1 1 1v2.9a2 2 0 1 0 4 0V17a1 1 0 0 1 1-1h2a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1"]],palette:[[1,13.5,6.5,.5],[1,17.5,10.5,.5],[1,8.5,7.5,.5],[1,6.5,12.5,.5],[6,"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"]],palmtree:[[6,"M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4"],[6,"M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3"],[6,"M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35"],[6,"M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14"]],"panel-bottom":[[5,3,3,18,18,2],[6,"M3 15h18"]],"panel-bottom-close":[[5,3,3,18,18,2],[6,"M3 15h18"],[6,"m15 8-3 3-3-3"]],"panel-bottom-dashed":[[5,3,3,18,18,2],[6,"M14 15h1"],[6,"M19 15h2"],[6,"M3 15h2"],[6,"M9 15h1"]],"panel-bottom-inactive":[[5,3,3,18,18,2],[6,"M14 15h1"],[6,"M19 15h2"],[6,"M3 15h2"],[6,"M9 15h1"]],"panel-bottom-open":[[5,3,3,18,18,2],[6,"M3 15h18"],[6,"m9 10 3-3 3 3"]],"panel-left":[[5,3,3,18,18,2],[6,"M9 3v18"]],"panel-left-close":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"m16 15-3-3 3-3"]],"panel-left-dashed":[[5,3,3,18,18,2],[6,"M9 14v1"],[6,"M9 19v2"],[6,"M9 3v2"],[6,"M9 9v1"]],"panel-left-inactive":[[5,3,3,18,18,2],[6,"M9 14v1"],[6,"M9 19v2"],[6,"M9 3v2"],[6,"M9 9v1"]],"panel-left-open":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"m14 9 3 3-3 3"]],"panel-right":[[5,3,3,18,18,2],[6,"M15 3v18"]],"panel-right-close":[[5,3,3,18,18,2],[6,"M15 3v18"],[6,"m8 9 3 3-3 3"]],"panel-right-dashed":[[5,3,3,18,18,2],[6,"M15 14v1"],[6,"M15 19v2"],[6,"M15 3v2"],[6,"M15 9v1"]],"panel-right-inactive":[[5,3,3,18,18,2],[6,"M15 14v1"],[6,"M15 19v2"],[6,"M15 3v2"],[6,"M15 9v1"]],"panel-right-open":[[5,3,3,18,18,2],[6,"M15 3v18"],[6,"m10 15-3-3 3-3"]],"panel-top":[[5,3,3,18,18,2],[6,"M3 9h18"]],"panel-top-close":[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"m9 16 3-3 3 3"]],"panel-top-dashed":[[5,3,3,18,18,2],[6,"M14 9h1"],[6,"M19 9h2"],[6,"M3 9h2"],[6,"M9 9h1"]],"panel-top-inactive":[[5,3,3,18,18,2],[6,"M14 9h1"],[6,"M19 9h2"],[6,"M3 9h2"],[6,"M9 9h1"]],"panel-top-open":[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"m15 14-3 3-3-3"]],"panels-left-bottom":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"M9 15h12"]],"panels-left-right":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"M15 3v18"]],"panels-right-bottom":[[5,3,3,18,18,2],[6,"M3 15h12"],[6,"M15 3v18"]],"panels-top-bottom":[[5,3,3,18,18,2],[6,"M21 9H3"],[6,"M21 15H3"]],"panels-top-left":[[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M9 21V9"]],paperclip:[[6,"m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48"]],parentheses:[[6,"M8 21s-4-3-4-9 4-9 4-9"],[6,"M16 3s4 3 4 9-4 9-4 9"]],"parking-circle":[[1,12,12,10],[6,"M9 17V7h4a3 3 0 0 1 0 6H9"]],"parking-circle-off":[[1,12,12,10],[6,"m5 5 14 14"],[6,"M13 13a3 3 0 1 0 0-6H9v2"],[6,"M9 17v-2.34"]],"parking-meter":[[6,"M9 9a3 3 0 1 1 6 0"],[6,"M12 12v3"],[6,"M11 15h2"],[6,"M19 9a7 7 0 1 0-13.6 2.3C6.4 14.4 8 19 8 19h8s1.6-4.6 2.6-7.7c.3-.8.4-1.5.4-2.3"],[6,"M12 19v3"]],"parking-square":[[5,3,3,18,18,2],[6,"M9 17V7h4a3 3 0 0 1 0 6H9"]],"parking-square-off":[[6,"M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41"],[6,"M3 8.7V19a2 2 0 0 0 2 2h10.3"],[6,"m2 2 20 20"],[6,"M13 13a3 3 0 1 0 0-6H9v2"],[6,"M9 17v-2.3"]],"party-popper":[[6,"M5.8 11.3 2 22l10.7-3.79"],[6,"M4 3h.01"],[6,"M22 8h.01"],[6,"M15 2h.01"],[6,"M22 20h.01"],[6,"m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10"],[6,"m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17"],[6,"m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7"],[6,"M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z"]],pause:[[5,14,4,4,16,1],[5,6,4,4,16,1]],"pause-circle":[[1,12,12,10],[0,10,15,10,9],[0,14,15,14,9]],"pause-octagon":[[6,"M10 15V9"],[6,"M14 15V9"],[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"]],"paw-print":[[1,11,4,2],[1,18,8,2],[1,20,16,2],[6,"M9 10a5 5 0 0 1 5 5v3.5a3.5 3.5 0 0 1-6.84 1.045Q6.52 17.48 4.46 16.84A3.5 3.5 0 0 1 5.5 10Z"]],"pc-case":[[5,5,2,14,20,2],[6,"M15 14h.01"],[6,"M9 6h6"],[6,"M9 10h6"]],pen:[[6,"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"]],"pen-box":[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"]],"pen-line":[[6,"M12 20h9"],[6,"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z"]],"pen-off":[[6,"m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982"],[6,"m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353"],[6,"m2 2 20 20"]],"pen-square":[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"]],"pen-tool":[[6,"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z"],[6,"m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18"],[6,"m2.3 2.3 7.286 7.286"],[1,11,11,2]],pencil:[[6,"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"],[6,"m15 5 4 4"]],"pencil-line":[[6,"M12 20h9"],[6,"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z"],[6,"m15 5 3 3"]],"pencil-off":[[6,"m10 10-6.157 6.162a2 2 0 0 0-.5.833l-1.322 4.36a.5.5 0 0 0 .622.624l4.358-1.323a2 2 0 0 0 .83-.5L14 13.982"],[6,"m12.829 7.172 4.359-4.346a1 1 0 1 1 3.986 3.986l-4.353 4.353"],[6,"m15 5 4 4"],[6,"m2 2 20 20"]],"pencil-ruler":[[6,"M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13"],[6,"m8 6 2-2"],[6,"m18 16 2-2"],[6,"m17 11 4.3 4.3c.94.94.94 2.46 0 3.4l-2.6 2.6c-.94.94-2.46.94-3.4 0L11 17"],[6,"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"],[6,"m15 5 4 4"]],pentagon:[[6,"M10.83 2.38a2 2 0 0 1 2.34 0l8 5.74a2 2 0 0 1 .73 2.25l-3.04 9.26a2 2 0 0 1-1.9 1.37H7.04a2 2 0 0 1-1.9-1.37L2.1 10.37a2 2 0 0 1 .73-2.25z"]],percent:[[0,19,5,5,19],[1,6.5,6.5,2.5],[1,17.5,17.5,2.5]],"percent-circle":[[1,12,12,10],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"percent-diamond":[[6,"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0Z"],[6,"M9.2 9.2h.01"],[6,"m14.5 9.5-5 5"],[6,"M14.7 14.8h.01"]],"percent-square":[[5,3,3,18,18,2],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"person-standing":[[1,12,5,1],[6,"m9 20 3-6 3 6"],[6,"m6 8 6 2 6-2"],[6,"M12 10v4"]],"philippine-peso":[[6,"M20 11H4"],[6,"M20 7H4"],[6,"M7 21V4a1 1 0 0 1 1-1h4a1 1 0 0 1 0 12H7"]],phone:[[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],"phone-call":[[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"],[6,"M14.05 2a9 9 0 0 1 8 7.94"],[6,"M14.05 6A5 5 0 0 1 18 10"]],"phone-forwarded":[[2,"18 2 22 6 18 10"],[0,14,6,22,6],[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],"phone-incoming":[[2,"16 2 16 8 22 8"],[0,22,2,16,8],[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],"phone-missed":[[0,22,2,16,8],[0,16,2,22,8],[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],"phone-off":[[6,"M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91"],[0,22,2,2,22]],"phone-outgoing":[[2,"22 8 22 2 16 2"],[0,16,8,22,2],[6,"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"]],pi:[[0,9,4,9,20],[6,"M4 7c0-1.7 1.3-3 3-3h13"],[6,"M18 20c-1.7 0-3-1.3-3-3V4"]],"pi-square":[[5,3,3,18,18,2],[6,"M7 7h10"],[6,"M10 7v10"],[6,"M16 17a2 2 0 0 1-2-2V7"]],piano:[[6,"M18.5 8c-1.4 0-2.6-.8-3.2-2A6.87 6.87 0 0 0 2 9v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-8.5C22 9.6 20.4 8 18.5 8"],[6,"M2 14h20"],[6,"M6 14v4"],[6,"M10 14v4"],[6,"M14 14v4"],[6,"M18 14v4"]],pickaxe:[[6,"M14.531 12.469 6.619 20.38a1 1 0 1 1-3-3l7.912-7.912"],[6,"M15.686 4.314A12.5 12.5 0 0 0 5.461 2.958 1 1 0 0 0 5.58 4.71a22 22 0 0 1 6.318 3.393"],[6,"M17.7 3.7a1 1 0 0 0-1.4 0l-4.6 4.6a1 1 0 0 0 0 1.4l2.6 2.6a1 1 0 0 0 1.4 0l4.6-4.6a1 1 0 0 0 0-1.4z"],[6,"M19.686 8.314a12.501 12.501 0 0 1 1.356 10.225 1 1 0 0 1-1.751-.119 22 22 0 0 0-3.393-6.319"]],"picture-in-picture":[[6,"M8 4.5v5H3m-1-6 6 6m13 0v-3c0-1.16-.84-2-2-2h-7m-9 9v2c0 1.05.95 2 2 2h3"],[5,12,13.5,10,7,0,2]],"picture-in-picture-2":[[6,"M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4"],[5,12,13,10,7,2]],"pie-chart":[[6,"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z"],[6,"M21.21 15.89A10 10 0 1 1 8 2.83"]],"piggy-bank":[[6,"M19 5c-1.5 0-2.8 1.4-3 2-3.5-1.5-11-.3-11 5 0 1.8 0 3 2 4.5V20h4v-2h3v2h4v-4c1-.5 1.7-1 2-2h2v-4h-2c0-1-.5-1.5-1-2V5z"],[6,"M2 9v1c0 1.1.9 2 2 2h1"],[6,"M16 11h.01"]],pilcrow:[[6,"M13 4v16"],[6,"M17 4v16"],[6,"M19 4H9.5a4.5 4.5 0 0 0 0 9H13"]],"pilcrow-left":[[6,"M14 3v11"],[6,"M14 9h-3a3 3 0 0 1 0-6h9"],[6,"M18 3v11"],[6,"M22 18H2l4-4"],[6,"m6 22-4-4"]],"pilcrow-right":[[6,"M10 3v11"],[6,"M10 9H7a1 1 0 0 1 0-6h8"],[6,"M14 3v11"],[6,"m18 14 4 4H2"],[6,"m22 18-4 4"]],"pilcrow-square":[[5,3,3,18,18,2],[6,"M12 12H9.5a2.5 2.5 0 0 1 0-5H17"],[6,"M12 7v10"],[6,"M16 7v10"]],pill:[[6,"m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z"],[6,"m8.5 8.5 7 7"]],"pill-bottle":[[6,"M18 11h-4a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h4"],[6,"M6 7v13a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7"],[5,4,2,16,5,1]],pin:[[6,"M12 17v5"],[6,"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z"]],"pin-off":[[6,"M12 17v5"],[6,"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89"],[6,"m2 2 20 20"],[6,"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11"]],pipette:[[6,"m2 22 1-1h3l9-9"],[6,"M3 21v-3l9-9"],[6,"m15 6 3.4-3.4a2.1 2.1 0 1 1 3 3L18 9l.4.4a2.1 2.1 0 1 1-3 3l-3.8-3.8a2.1 2.1 0 1 1 3-3l.4.4Z"]],pizza:[[6,"M15 11h.01"],[6,"M11 15h.01"],[6,"M16 16h.01"],[6,"m2 16 20 6-6-20A20 20 0 0 0 2 16"],[6,"M5.71 17.11a17.04 17.04 0 0 1 11.4-11.4"]],plane:[[6,"M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z"]],"plane-landing":[[6,"M2 22h20"],[6,"M3.77 10.77 2 9l2-4.5 1.1.55c.55.28.9.84.9 1.45s.35 1.17.9 1.45L8 8.5l3-6 1.05.53a2 2 0 0 1 1.09 1.52l.72 5.4a2 2 0 0 0 1.09 1.52l4.4 2.2c.42.22.78.55 1.01.96l.6 1.03c.49.88-.06 1.98-1.06 2.1l-1.18.15c-.47.06-.95-.02-1.37-.24L4.29 11.15a2 2 0 0 1-.52-.38Z"]],"plane-takeoff":[[6,"M2 22h20"],[6,"M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z"]],play:[[3,"6 3 20 12 6 21 6 3"]],"play-circle":[[1,12,12,10],[3,"10 8 16 12 10 16 10 8"]],"play-square":[[5,3,3,18,18,2],[6,"m9 8 6 4-6 4Z"]],plug:[[6,"M12 22v-5"],[6,"M9 8V2"],[6,"M15 8V2"],[6,"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z"]],"plug-2":[[6,"M9 2v6"],[6,"M15 2v6"],[6,"M12 17v5"],[6,"M5 8h14"],[6,"M6 11V8h12v3a6 6 0 1 1-12 0Z"]],"plug-zap":[[6,"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z"],[6,"m2 22 3-3"],[6,"M7.5 13.5 10 11"],[6,"M10.5 16.5 13 14"],[6,"m18 3-4 4h6l-4 4"]],"plug-zap-2":[[6,"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z"],[6,"m2 22 3-3"],[6,"M7.5 13.5 10 11"],[6,"M10.5 16.5 13 14"],[6,"m18 3-4 4h6l-4 4"]],plus:[[6,"M5 12h14"],[6,"M12 5v14"]],"plus-circle":[[1,12,12,10],[6,"M8 12h8"],[6,"M12 8v8"]],"plus-square":[[5,3,3,18,18,2],[6,"M8 12h8"],[6,"M12 8v8"]],pocket:[[6,"M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z"],[2,"8 10 12 14 16 10"]],"pocket-knife":[[6,"M3 2v1c0 1 2 1 2 2S3 6 3 7s2 1 2 2-2 1-2 2 2 1 2 2"],[6,"M18 6h.01"],[6,"M6 18h.01"],[6,"M20.83 8.83a4 4 0 0 0-5.66-5.66l-12 12a4 4 0 1 0 5.66 5.66Z"],[6,"M18 11.66V22a4 4 0 0 0 4-4V6"]],podcast:[[6,"M16.85 18.58a9 9 0 1 0-9.7 0"],[6,"M8 14a5 5 0 1 1 8 0"],[1,12,11,1],[6,"M13 17a1 1 0 1 0-2 0l.5 4.5a.5.5 0 1 0 1 0Z"]],pointer:[[6,"M22 14a8 8 0 0 1-8 8"],[6,"M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2"],[6,"M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1"],[6,"M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10"],[6,"M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15"]],"pointer-off":[[6,"M10 4.5V4a2 2 0 0 0-2.41-1.957"],[6,"M13.9 8.4a2 2 0 0 0-1.26-1.295"],[6,"M21.7 16.2A8 8 0 0 0 22 14v-3a2 2 0 1 0-4 0v-1a2 2 0 0 0-3.63-1.158"],[6,"m7 15-1.8-1.8a2 2 0 0 0-2.79 2.86L6 19.7a7.74 7.74 0 0 0 6 2.3h2a8 8 0 0 0 5.657-2.343"],[6,"M6 6v8"],[6,"m2 2 20 20"]],popcorn:[[6,"M18 8a2 2 0 0 0 0-4 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0-4 0 2 2 0 0 0 0 4"],[6,"M10 22 9 8"],[6,"m14 22 1-14"],[6,"M20 8c.5 0 .9.4.8 1l-2.6 12c-.1.5-.7 1-1.2 1H7c-.6 0-1.1-.4-1.2-1L3.2 9c-.1-.6.3-1 .8-1Z"]],popsicle:[[6,"M18.6 14.4c.8-.8.8-2 0-2.8l-8.1-8.1a4.95 4.95 0 1 0-7.1 7.1l8.1 8.1c.9.7 2.1.7 2.9-.1Z"],[6,"m22 22-5.5-5.5"]],"pound-sterling":[[6,"M18 7c0-5.333-8-5.333-8 0"],[6,"M10 7v14"],[6,"M6 21h12"],[6,"M6 13h10"]],power:[[6,"M12 2v10"],[6,"M18.4 6.6a9 9 0 1 1-12.77.04"]],"power-circle":[[6,"M12 7v4"],[6,"M7.998 9.003a5 5 0 1 0 8-.005"],[1,12,12,10]],"power-off":[[6,"M18.36 6.64A9 9 0 0 1 20.77 15"],[6,"M6.16 6.16a9 9 0 1 0 12.68 12.68"],[6,"M12 2v4"],[6,"m2 2 20 20"]],"power-square":[[6,"M12 7v4"],[6,"M7.998 9.003a5 5 0 1 0 8-.005"],[5,3,3,18,18,2]],presentation:[[6,"M2 3h20"],[6,"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3"],[6,"m7 21 5-5 5 5"]],printer:[[6,"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"],[6,"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6"],[5,6,14,12,8,1]],"printer-check":[[6,"M13.5 22H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v.5"],[6,"m16 19 2 2 4-4"],[6,"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v2"],[6,"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6"]],projector:[[6,"M5 7 3 5"],[6,"M9 6V3"],[6,"m13 7 2-2"],[1,9,13,3],[6,"M11.83 12H20a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.17"],[6,"M16 16h2"]],proportions:[[5,2,4,20,16,2],[6,"M12 9v11"],[6,"M2 9h13a2 2 0 0 1 2 2v9"]],puzzle:[[6,"M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 0 1-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 1 0-3.214 3.214c.446.166.855.497.925.968a.979.979 0 0 1-.276.837l-1.61 1.61a2.404 2.404 0 0 1-1.705.707 2.402 2.402 0 0 1-1.704-.706l-1.568-1.568a1.026 1.026 0 0 0-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 1 1-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 0 0-.289-.877l-1.568-1.568A2.402 2.402 0 0 1 1.998 12c0-.617.236-1.234.706-1.704L4.23 8.77c.24-.24.581-.353.917-.303.515.077.877.528 1.073 1.01a2.5 2.5 0 1 0 3.259-3.259c-.482-.196-.933-.558-1.01-1.073-.05-.336.062-.676.303-.917l1.525-1.525A2.402 2.402 0 0 1 12 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 1 1 3.237 3.237c-.464.18-.894.527-.967 1.02Z"]],pyramid:[[6,"M2.5 16.88a1 1 0 0 1-.32-1.43l9-13.02a1 1 0 0 1 1.64 0l9 13.01a1 1 0 0 1-.32 1.44l-8.51 4.86a2 2 0 0 1-1.98 0Z"],[6,"M12 2v20"]],"qr-code":[[5,3,3,5,5,1],[5,16,3,5,5,1],[5,3,16,5,5,1],[6,"M21 16h-3a2 2 0 0 0-2 2v3"],[6,"M21 21v.01"],[6,"M12 7v3a2 2 0 0 1-2 2H7"],[6,"M3 12h.01"],[6,"M12 3h.01"],[6,"M12 16v.01"],[6,"M16 12h1"],[6,"M21 12v.01"],[6,"M12 21v-1"]],quote:[[6,"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"],[6,"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"]],rabbit:[[6,"M13 16a3 3 0 0 1 2.24 5"],[6,"M18 12h.01"],[6,"M18 21h-8a4 4 0 0 1-4-4 7 7 0 0 1 7-7h.2L9.6 6.4a1 1 0 1 1 2.8-2.8L15.8 7h.2c3.3 0 6 2.7 6 6v1a2 2 0 0 1-2 2h-1a3 3 0 0 0-3 3"],[6,"M20 8.54V4a2 2 0 1 0-4 0v3"],[6,"M7.612 12.524a3 3 0 1 0-1.6 4.3"]],radar:[[6,"M19.07 4.93A10 10 0 0 0 6.99 3.34"],[6,"M4 6h.01"],[6,"M2.29 9.62A10 10 0 1 0 21.31 8.35"],[6,"M16.24 7.76A6 6 0 1 0 8.23 16.67"],[6,"M12 18h.01"],[6,"M17.99 11.66A6 6 0 0 1 15.77 16.67"],[1,12,12,2],[6,"m13.41 10.59 5.66-5.66"]],radiation:[[6,"M12 12h.01"],[6,"M7.5 4.2c-.3-.5-.9-.7-1.3-.4C3.9 5.5 2.3 8.1 2 11c-.1.5.4 1 1 1h5c0-1.5.8-2.8 2-3.4-1.1-1.9-2-3.5-2.5-4.4z"],[6,"M21 12c.6 0 1-.4 1-1-.3-2.9-1.8-5.5-4.1-7.1-.4-.3-1.1-.2-1.3.3-.6.9-1.5 2.5-2.6 4.3 1.2.7 2 2 2 3.5h5z"],[6,"M7.5 19.8c-.3.5-.1 1.1.4 1.3 2.6 1.2 5.6 1.2 8.2 0 .5-.2.7-.8.4-1.3-.5-.9-1.4-2.5-2.5-4.3-1.2.7-2.8.7-4 0-1.1 1.8-2 3.4-2.5 4.3z"]],radical:[[6,"M3 12h3.28a1 1 0 0 1 .948.684l2.298 7.934a.5.5 0 0 0 .96-.044L13.82 4.771A1 1 0 0 1 14.792 4H21"]],radio:[[6,"M4.9 19.1C1 15.2 1 8.8 4.9 4.9"],[6,"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5"],[1,12,12,2],[6,"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5"],[6,"M19.1 4.9C23 8.8 23 15.1 19.1 19"]],"radio-receiver":[[6,"M5 16v2"],[6,"M19 16v2"],[5,2,8,20,8,2],[6,"M18 12h.01"]],"radio-tower":[[6,"M4.9 16.1C1 12.2 1 5.8 4.9 1.9"],[6,"M7.8 4.7a6.14 6.14 0 0 0-.8 7.5"],[1,12,9,2],[6,"M16.2 4.8c2 2 2.26 5.11.8 7.47"],[6,"M19.1 1.9a9.96 9.96 0 0 1 0 14.1"],[6,"M9.5 18h5"],[6,"m8 22 4-11 4 11"]],radius:[[6,"M20.34 17.52a10 10 0 1 0-2.82 2.82"],[1,19,19,2],[6,"m13.41 13.41 4.18 4.18"],[1,12,12,2]],"rail-symbol":[[6,"M5 15h14"],[6,"M5 9h14"],[6,"m14 20-5-5 6-6-5-5"]],rainbow:[[6,"M22 17a10 10 0 0 0-20 0"],[6,"M6 17a6 6 0 0 1 12 0"],[6,"M10 17a2 2 0 0 1 4 0"]],rat:[[6,"M17 5c0-1.7-1.3-3-3-3s-3 1.3-3 3c0 .8.3 1.5.8 2H11c-3.9 0-7 3.1-7 7c0 2.2 1.8 4 4 4"],[6,"M16.8 3.9c.3-.3.6-.5 1-.7 1.5-.6 3.3.1 3.9 1.6.6 1.5-.1 3.3-1.6 3.9l1.6 2.8c.2.3.2.7.2 1-.2.8-.9 1.2-1.7 1.1 0 0-1.6-.3-2.7-.6H17c-1.7 0-3 1.3-3 3"],[6,"M13.2 18a3 3 0 0 0-2.2-5"],[6,"M13 22H4a2 2 0 0 1 0-4h12"],[6,"M16 9h.01"]],ratio:[[5,6,2,12,20,2],[5,2,6,20,12,2]],receipt:[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"],[6,"M12 17.5v-11"]],"receipt-cent":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M12 6.5v11"],[6,"M15 9.4a4 4 0 1 0 0 5.2"]],"receipt-euro":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M8 12h5"],[6,"M16 9.5a4 4 0 1 0 0 5.2"]],"receipt-indian-rupee":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M8 7h8"],[6,"M12 17.5 8 15h1a4 4 0 0 0 0-8"],[6,"M8 11h8"]],"receipt-japanese-yen":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"m12 10 3-3"],[6,"m9 7 3 3v7.5"],[6,"M9 11h6"],[6,"M9 15h6"]],"receipt-pound-sterling":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M8 13h5"],[6,"M10 17V9.5a2.5 2.5 0 0 1 5 0"],[6,"M8 17h7"]],"receipt-russian-ruble":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M8 15h5"],[6,"M8 11h5a2 2 0 1 0 0-4h-3v10"]],"receipt-swiss-franc":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M10 17V7h5"],[6,"M10 11h4"],[6,"M8 15h5"]],"receipt-text":[[6,"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"],[6,"M14 8H8"],[6,"M16 12H8"],[6,"M13 16H8"]],"rectangle-ellipsis":[[5,2,6,20,12,2],[6,"M12 12h.01"],[6,"M17 12h.01"],[6,"M7 12h.01"]],"rectangle-horizontal":[[5,2,6,20,12,2]],"rectangle-vertical":[[5,6,2,12,20,2]],recycle:[[6,"M7 19H4.815a1.83 1.83 0 0 1-1.57-.881 1.785 1.785 0 0 1-.004-1.784L7.196 9.5"],[6,"M11 19h8.203a1.83 1.83 0 0 0 1.556-.89 1.784 1.784 0 0 0 0-1.775l-1.226-2.12"],[6,"m14 16-3 3 3 3"],[6,"M8.293 13.596 7.196 9.5 3.1 10.598"],[6,"m9.344 5.811 1.093-1.892A1.83 1.83 0 0 1 11.985 3a1.784 1.784 0 0 1 1.546.888l3.943 6.843"],[6,"m13.378 9.633 4.096 1.098 1.097-4.096"]],redo:[[6,"M21 7v6h-6"],[6,"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7"]],"redo-2":[[6,"m15 14 5-5-5-5"],[6,"M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13"]],"redo-dot":[[1,12,17,1],[6,"M21 7v6h-6"],[6,"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7"]],"refresh-ccw":[[6,"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"],[6,"M3 3v5h5"],[6,"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"],[6,"M16 16h5v5"]],"refresh-ccw-dot":[[6,"M3 2v6h6"],[6,"M21 12A9 9 0 0 0 6 5.3L3 8"],[6,"M21 22v-6h-6"],[6,"M3 12a9 9 0 0 0 15 6.7l3-2.7"],[1,12,12,1]],"refresh-cw":[[6,"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"],[6,"M21 3v5h-5"],[6,"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"],[6,"M8 16H3v5"]],"refresh-cw-off":[[6,"M21 8L18.74 5.74A9.75 9.75 0 0 0 12 3C11 3 10.03 3.16 9.13 3.47"],[6,"M8 16H3v5"],[6,"M3 12C3 9.51 4 7.26 5.64 5.64"],[6,"m3 16 2.26 2.26A9.75 9.75 0 0 0 12 21c2.49 0 4.74-1 6.36-2.64"],[6,"M21 12c0 1-.16 1.97-.47 2.87"],[6,"M21 3v5h-5"],[6,"M22 22 2 2"]],refrigerator:[[6,"M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z"],[6,"M5 10h14"],[6,"M15 7v6"]],regex:[[6,"M17 3v10"],[6,"m12.67 5.5 8.66 5"],[6,"m12.67 10.5 8.66-5"],[6,"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z"]],"remove-formatting":[[6,"M4 7V4h16v3"],[6,"M5 20h6"],[6,"M13 4 8 20"],[6,"m15 15 5 5"],[6,"m20 15-5 5"]],repeat:[[6,"m17 2 4 4-4 4"],[6,"M3 11v-1a4 4 0 0 1 4-4h14"],[6,"m7 22-4-4 4-4"],[6,"M21 13v1a4 4 0 0 1-4 4H3"]],"repeat-1":[[6,"m17 2 4 4-4 4"],[6,"M3 11v-1a4 4 0 0 1 4-4h14"],[6,"m7 22-4-4 4-4"],[6,"M21 13v1a4 4 0 0 1-4 4H3"],[6,"M11 10h1v4"]],"repeat-2":[[6,"m2 9 3-3 3 3"],[6,"M13 18H7a2 2 0 0 1-2-2V6"],[6,"m22 15-3 3-3-3"],[6,"M11 6h6a2 2 0 0 1 2 2v10"]],replace:[[6,"M14 4a2 2 0 0 1 2-2"],[6,"M16 10a2 2 0 0 1-2-2"],[6,"M20 2a2 2 0 0 1 2 2"],[6,"M22 8a2 2 0 0 1-2 2"],[6,"m3 7 3 3 3-3"],[6,"M6 10V5a3 3 0 0 1 3-3h1"],[5,2,14,8,8,2]],"replace-all":[[6,"M14 14a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2"],[6,"M14 4a2 2 0 0 1 2-2"],[6,"M16 10a2 2 0 0 1-2-2"],[6,"M20 14a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2"],[6,"M20 2a2 2 0 0 1 2 2"],[6,"M22 8a2 2 0 0 1-2 2"],[6,"m3 7 3 3 3-3"],[6,"M6 10V5a 3 3 0 0 1 3-3h1"],[5,2,14,8,8,2]],reply:[[2,"9 17 4 12 9 7"],[6,"M20 18v-2a4 4 0 0 0-4-4H4"]],"reply-all":[[2,"7 17 2 12 7 7"],[2,"12 17 7 12 12 7"],[6,"M22 18v-2a4 4 0 0 0-4-4H7"]],rewind:[[3,"11 19 2 12 11 5 11 19"],[3,"22 19 13 12 22 5 22 19"]],ribbon:[[6,"M12 11.22C11 9.997 10 9 10 8a2 2 0 0 1 4 0c0 1-.998 2.002-2.01 3.22"],[6,"m12 18 2.57-3.5"],[6,"M6.243 9.016a7 7 0 0 1 11.507-.009"],[6,"M9.35 14.53 12 11.22"],[6,"M9.35 14.53C7.728 12.246 6 10.221 6 7a6 5 0 0 1 12 0c-.005 3.22-1.778 5.235-3.43 7.5l3.557 4.527a1 1 0 0 1-.203 1.43l-1.894 1.36a1 1 0 0 1-1.384-.215L12 18l-2.679 3.593a1 1 0 0 1-1.39.213l-1.865-1.353a1 1 0 0 1-.203-1.422z"]],rocket:[[6,"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"],[6,"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"],[6,"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"],[6,"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"]],"rocking-chair":[[2,"3.5 2 6.5 12.5 18 12.5"],[0,9.5,12.5,5.5,20],[0,15,12.5,18.5,20],[6,"M2.75 18a13 13 0 0 0 18.5 0"]],"roller-coaster":[[6,"M6 19V5"],[6,"M10 19V6.8"],[6,"M14 19v-7.8"],[6,"M18 5v4"],[6,"M18 19v-6"],[6,"M22 19V9"],[6,"M2 19V9a4 4 0 0 1 4-4c2 0 4 1.33 6 4s4 4 6 4a4 4 0 1 0-3-6.65"]],"rotate-3d":[[6,"M16.466 7.5C15.643 4.237 13.952 2 12 2 9.239 2 7 6.477 7 12s2.239 10 5 10c.342 0 .677-.069 1-.2"],[6,"m15.194 13.707 3.814 1.86-1.86 3.814"],[6,"M19 15.57c-1.804.885-4.274 1.43-7 1.43-5.523 0-10-2.239-10-5s4.477-5 10-5c4.838 0 8.873 1.718 9.8 4"]],"rotate-ccw":[[6,"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"],[6,"M3 3v5h5"]],"rotate-ccw-square":[[6,"M20 9V7a2 2 0 0 0-2-2h-6"],[6,"m15 2-3 3 3 3"],[6,"M20 13v5a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2"]],"rotate-cw":[[6,"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"],[6,"M21 3v5h-5"]],"rotate-cw-square":[[6,"M12 5H6a2 2 0 0 0-2 2v3"],[6,"m9 8 3-3-3-3"],[6,"M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"]],route:[[1,6,19,3],[6,"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15"],[1,18,5,3]],"route-off":[[1,6,19,3],[6,"M9 19h8.5c.4 0 .9-.1 1.3-.2"],[6,"M5.2 5.2A3.5 3.53 0 0 0 6.5 12H12"],[6,"m2 2 20 20"],[6,"M21 15.3a3.5 3.5 0 0 0-3.3-3.3"],[6,"M15 5h-4.3"],[1,18,5,3]],router:[[5,2,14,20,8,2],[6,"M6.01 18H6"],[6,"M10.01 18H10"],[6,"M15 10v4"],[6,"M17.84 7.17a4 4 0 0 0-5.66 0"],[6,"M20.66 4.34a8 8 0 0 0-11.31 0"]],rows:[[5,3,3,18,18,2],[6,"M3 12h18"]],"rows-2":[[5,3,3,18,18,2],[6,"M3 12h18"]],"rows-3":[[5,3,3,18,18,2],[6,"M21 9H3"],[6,"M21 15H3"]],"rows-4":[[5,3,3,18,18,2],[6,"M21 7.5H3"],[6,"M21 12H3"],[6,"M21 16.5H3"]],rss:[[6,"M4 11a9 9 0 0 1 9 9"],[6,"M4 4a16 16 0 0 1 16 16"],[1,5,19,1]],ruler:[[6,"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z"],[6,"m14.5 12.5 2-2"],[6,"m11.5 9.5 2-2"],[6,"m8.5 6.5 2-2"],[6,"m17.5 15.5 2-2"]],"russian-ruble":[[6,"M6 11h8a4 4 0 0 0 0-8H9v18"],[6,"M6 15h8"]],sailboat:[[6,"M22 18H2a4 4 0 0 0 4 4h12a4 4 0 0 0 4-4Z"],[6,"M21 14 10 2 3 14h18Z"],[6,"M10 2v16"]],salad:[[6,"M7 21h10"],[6,"M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z"],[6,"M11.38 12a2.4 2.4 0 0 1-.4-4.77 2.4 2.4 0 0 1 3.2-2.77 2.4 2.4 0 0 1 3.47-.63 2.4 2.4 0 0 1 3.37 3.37 2.4 2.4 0 0 1-1.1 3.7 2.51 2.51 0 0 1 .03 1.1"],[6,"m13 12 4-4"],[6,"M10.9 7.25A3.99 3.99 0 0 0 4 10c0 .73.2 1.41.54 2"]],sandwich:[[6,"M3 11v3a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-3"],[6,"M12 19H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3.83"],[6,"m3 11 7.77-6.04a2 2 0 0 1 2.46 0L21 11H3Z"],[6,"M12.97 19.77 7 15h12.5l-3.75 4.5a2 2 0 0 1-2.78.27Z"]],satellite:[[6,"M13 7 9 3 5 7l4 4"],[6,"m17 11 4 4-4 4-4-4"],[6,"m8 12 4 4 6-6-4-4Z"],[6,"m16 8 3-3"],[6,"M9 21a6 6 0 0 0-6-6"]],"satellite-dish":[[6,"M4 10a7.31 7.31 0 0 0 10 10Z"],[6,"m9 15 3-3"],[6,"M17 13a6 6 0 0 0-6-6"],[6,"M21 13A10 10 0 0 0 11 3"]],save:[[6,"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"],[6,"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"],[6,"M7 3v4a1 1 0 0 0 1 1h7"]],"save-all":[[6,"M10 2v3a1 1 0 0 0 1 1h5"],[6,"M18 18v-6a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6"],[6,"M18 22H4a2 2 0 0 1-2-2V6"],[6,"M8 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9.172a2 2 0 0 1 1.414.586l2.828 2.828A2 2 0 0 1 22 6.828V16a2 2 0 0 1-2.01 2z"]],"save-off":[[6,"M13 13H8a1 1 0 0 0-1 1v7"],[6,"M14 8h1"],[6,"M17 21v-4"],[6,"m2 2 20 20"],[6,"M20.41 20.41A2 2 0 0 1 19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 .59-1.41"],[6,"M29.5 11.5s5 5 4 5"],[6,"M9 3h6.2a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V15"]],scale:[[6,"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z"],[6,"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z"],[6,"M7 21h10"],[6,"M12 3v18"],[6,"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2"]],"scale-3d":[[1,19,19,2],[1,5,5,2],[6,"M5 7v12h12"],[6,"m5 19 6-6"]],scaling:[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M14 15H9v-5"],[6,"M16 3h5v5"],[6,"M21 3 9 15"]],scan:[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"]],"scan-barcode":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[6,"M8 7v10"],[6,"M12 7v10"],[6,"M17 7v10"]],"scan-eye":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[1,12,12,1],[6,"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0"]],"scan-face":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[6,"M8 14s1.5 2 4 2 4-2 4-2"],[6,"M9 9h.01"],[6,"M15 9h.01"]],"scan-line":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[6,"M7 12h10"]],"scan-qr-code":[[6,"M17 12v4a1 1 0 0 1-1 1h-4"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M17 8V7"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M7 17h.01"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[5,7,7,5,5,1]],"scan-search":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[1,12,12,3],[6,"m16 16-1.9-1.9"]],"scan-text":[[6,"M3 7V5a2 2 0 0 1 2-2h2"],[6,"M17 3h2a2 2 0 0 1 2 2v2"],[6,"M21 17v2a2 2 0 0 1-2 2h-2"],[6,"M7 21H5a2 2 0 0 1-2-2v-2"],[6,"M7 8h8"],[6,"M7 12h10"],[6,"M7 16h6"]],"scatter-chart":[[1,7.5,7.5,.5],[1,18.5,5.5,.5],[1,11.5,11.5,.5],[1,7.5,16.5,.5],[1,17.5,14.5,.5],[6,"M3 3v16a2 2 0 0 0 2 2h16"]],school:[[6,"M14 22v-4a2 2 0 1 0-4 0v4"],[6,"m18 10 4 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-8l4-2"],[6,"M18 5v17"],[6,"m4 6 8-4 8 4"],[6,"M6 5v17"],[1,12,9,2]],"school-2":[[1,12,10,1],[6,"M22 20V8h-4l-6-4-6 4H2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2"],[6,"M6 17v.01"],[6,"M6 13v.01"],[6,"M18 17v.01"],[6,"M18 13v.01"],[6,"M14 22v-5a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5"]],scissors:[[1,6,6,3],[6,"M8.12 8.12 12 12"],[6,"M20 4 8.12 15.88"],[1,6,18,3],[6,"M14.8 14.8 20 20"]],"scissors-line-dashed":[[6,"M5.42 9.42 8 12"],[1,4,8,2],[6,"m14 6-8.58 8.58"],[1,4,16,2],[6,"M10.8 14.8 14 18"],[6,"M16 12h-2"],[6,"M22 12h-2"]],"scissors-square":[[5,2,2,20,20,2],[1,8,8,2],[6,"M9.414 9.414 12 12"],[6,"M14.8 14.8 18 18"],[1,8,16,2],[6,"m18 6-8.586 8.586"]],"scissors-square-dashed-bottom":[[6,"M4 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2"],[6,"M10 22H8"],[6,"M16 22h-2"],[1,8,8,2],[6,"M9.414 9.414 12 12"],[6,"M14.8 14.8 18 18"],[1,8,16,2],[6,"m18 6-8.586 8.586"]],"screen-share":[[6,"M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3"],[6,"M8 21h8"],[6,"M12 17v4"],[6,"m17 8 5-5"],[6,"M17 3h5v5"]],"screen-share-off":[[6,"M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3"],[6,"M8 21h8"],[6,"M12 17v4"],[6,"m22 3-5 5"],[6,"m17 3 5 5"]],scroll:[[6,"M19 17V5a2 2 0 0 0-2-2H4"],[6,"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"]],"scroll-text":[[6,"M15 12h-5"],[6,"M15 8h-5"],[6,"M19 17V5a2 2 0 0 0-2-2H4"],[6,"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3"]],search:[[1,11,11,8],[6,"m21 21-4.3-4.3"]],"search-check":[[6,"m8 11 2 2 4-4"],[1,11,11,8],[6,"m21 21-4.3-4.3"]],"search-code":[[6,"m13 13.5 2-2.5-2-2.5"],[6,"m21 21-4.3-4.3"],[6,"M9 8.5 7 11l2 2.5"],[1,11,11,8]],"search-slash":[[6,"m13.5 8.5-5 5"],[1,11,11,8],[6,"m21 21-4.3-4.3"]],"search-x":[[6,"m13.5 8.5-5 5"],[6,"m8.5 8.5 5 5"],[1,11,11,8],[6,"m21 21-4.3-4.3"]],section:[[6,"M16 5a4 3 0 0 0-8 0c0 4 8 3 8 7a4 3 0 0 1-8 0"],[6,"M8 19a4 3 0 0 0 8 0c0-4-8-3-8-7a4 3 0 0 1 8 0"]],send:[[6,"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"],[6,"m21.854 2.147-10.94 10.939"]],"send-horizonal":[[6,"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z"],[6,"M6 12h16"]],"send-horizontal":[[6,"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z"],[6,"M6 12h16"]],"send-to-back":[[5,14,14,8,8,2],[5,2,2,8,8,2],[6,"M7 14v1a2 2 0 0 0 2 2h1"],[6,"M14 7h1a2 2 0 0 1 2 2v1"]],"separator-horizontal":[[0,3,12,21,12],[2,"8 8 12 4 16 8"],[2,"16 16 12 20 8 16"]],"separator-vertical":[[0,12,3,12,21],[2,"8 8 4 12 8 16"],[2,"16 16 20 12 16 8"]],server:[[5,2,2,20,8,2,2],[5,2,14,20,8,2,2],[0,6,6,6.01,6],[0,6,18,6.01,18]],"server-cog":[[1,12,12,3],[6,"M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5"],[6,"M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5"],[6,"M6 6h.01"],[6,"M6 18h.01"],[6,"m15.7 13.4-.9-.3"],[6,"m9.2 10.9-.9-.3"],[6,"m10.6 15.7.3-.9"],[6,"m13.6 15.7-.4-1"],[6,"m10.8 9.3-.4-1"],[6,"m8.3 13.6 1-.4"],[6,"m14.7 10.8 1-.4"],[6,"m13.4 8.3-.3.9"]],"server-crash":[[6,"M6 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2"],[6,"M6 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-2"],[6,"M6 6h.01"],[6,"M6 18h.01"],[6,"m13 6-4 6h6l-4 6"]],"server-off":[[6,"M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5"],[6,"M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z"],[6,"M22 17v-1a2 2 0 0 0-2-2h-1"],[6,"M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z"],[6,"M6 18h.01"],[6,"m2 2 20 20"]],settings:[[6,"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"],[1,12,12,3]],"settings-2":[[6,"M20 7h-9"],[6,"M14 17H5"],[1,17,17,3],[1,7,7,3]],shapes:[[6,"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z"],[5,3,14,7,7,1],[1,17.5,17.5,3.5]],share:[[6,"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"],[2,"16 6 12 2 8 6"],[0,12,2,12,15]],"share-2":[[1,18,5,3],[1,6,12,3],[1,18,19,3],[0,8.59,13.51,15.42,17.49],[0,15.41,6.51,8.59,10.49]],sheet:[[5,3,3,18,18,2,2],[0,3,9,21,9],[0,3,15,21,15],[0,9,9,9,21],[0,15,9,15,21]],shell:[[6,"M14 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44"]],shield:[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"]],"shield-alert":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M12 8v4"],[6,"M12 16h.01"]],"shield-ban":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"m4.243 5.21 14.39 12.472"]],"shield-check":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"m9 12 2 2 4-4"]],"shield-close":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"m14.5 9.5-5 5"],[6,"m9.5 9.5 5 5"]],"shield-ellipsis":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M8 12h.01"],[6,"M12 12h.01"],[6,"M16 12h.01"]],"shield-half":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M12 22V2"]],"shield-minus":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M9 12h6"]],"shield-off":[[6,"m2 2 20 20"],[6,"M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71"],[6,"M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264"]],"shield-plus":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M9 12h6"],[6,"M12 9v6"]],"shield-question":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3"],[6,"M12 17h.01"]],"shield-x":[[6,"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"],[6,"m14.5 9.5-5 5"],[6,"m9.5 9.5 5 5"]],ship:[[6,"M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1 .6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M19.38 20A11.6 11.6 0 0 0 21 14l-9-4-9 4c0 2.9.94 5.34 2.81 7.76"],[6,"M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6"],[6,"M12 10v4"],[6,"M12 2v3"]],"ship-wheel":[[1,12,12,8],[6,"M12 2v7.5"],[6,"m19 5-5.23 5.23"],[6,"M22 12h-7.5"],[6,"m19 19-5.23-5.23"],[6,"M12 14.5V22"],[6,"M10.23 13.77 5 19"],[6,"M9.5 12H2"],[6,"M10.23 10.23 5 5"],[1,12,12,2.5]],shirt:[[6,"M20.38 3.46 16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z"]],"shopping-bag":[[6,"M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z"],[6,"M3 6h18"],[6,"M16 10a4 4 0 0 1-8 0"]],"shopping-basket":[[6,"m15 11-1 9"],[6,"m19 11-4-7"],[6,"M2 11h20"],[6,"m3.5 11 1.6 7.4a2 2 0 0 0 2 1.6h9.8a2 2 0 0 0 2-1.6l1.7-7.4"],[6,"M4.5 15.5h15"],[6,"m5 11 4-7"],[6,"m9 11 1 9"]],"shopping-cart":[[1,8,21,1],[1,19,21,1],[6,"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"]],shovel:[[6,"M2 22v-5l5-5 5 5-5 5z"],[6,"M9.5 14.5 16 8"],[6,"m17 2 5 5-.5.5a3.53 3.53 0 0 1-5 0s0 0 0 0a3.53 3.53 0 0 1 0-5L17 2"]],"shower-head":[[6,"m4 4 2.5 2.5"],[6,"M13.5 6.5a4.95 4.95 0 0 0-7 7"],[6,"M15 5 5 15"],[6,"M14 17v.01"],[6,"M10 16v.01"],[6,"M13 13v.01"],[6,"M16 10v.01"],[6,"M11 20v.01"],[6,"M17 14v.01"],[6,"M20 11v.01"]],shrink:[[6,"m15 15 6 6m-6-6v4.8m0-4.8h4.8"],[6,"M9 19.8V15m0 0H4.2M9 15l-6 6"],[6,"M15 4.2V9m0 0h4.8M15 9l6-6"],[6,"M9 4.2V9m0 0H4.2M9 9 3 3"]],shrub:[[6,"M12 22v-7l-2-2"],[6,"M17 8v.8A6 6 0 0 1 13.8 20H10A6.5 6.5 0 0 1 7 8a5 5 0 0 1 10 0Z"],[6,"m14 14-2 2"]],shuffle:[[6,"M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22"],[6,"m18 2 4 4-4 4"],[6,"M2 6h1.9c1.5 0 2.9.9 3.6 2.2"],[6,"M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8"],[6,"m18 14 4 4-4 4"]],sidebar:[[5,3,3,18,18,2],[6,"M9 3v18"]],"sidebar-close":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"m16 15-3-3 3-3"]],"sidebar-open":[[5,3,3,18,18,2],[6,"M9 3v18"],[6,"m14 9 3 3-3 3"]],sigma:[[6,"M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2"]],"sigma-square":[[5,3,3,18,18,2],[6,"M16 8.9V7H8l4 5-4 5h8v-1.9"]],signal:[[6,"M2 20h.01"],[6,"M7 20v-4"],[6,"M12 20v-8"],[6,"M17 20V8"],[6,"M22 4v16"]],"signal-high":[[6,"M2 20h.01"],[6,"M7 20v-4"],[6,"M12 20v-8"],[6,"M17 20V8"]],"signal-low":[[6,"M2 20h.01"],[6,"M7 20v-4"]],"signal-medium":[[6,"M2 20h.01"],[6,"M7 20v-4"],[6,"M12 20v-8"]],"signal-zero":[[6,"M2 20h.01"]],signature:[[6,"m21 17-2.156-1.868A.5.5 0 0 0 18 15.5v.5a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1c0-2.545-3.991-3.97-8.5-4a1 1 0 0 0 0 5c4.153 0 4.745-11.295 5.708-13.5a2.5 2.5 0 1 1 3.31 3.284"],[6,"M3 21h18"]],signpost:[[6,"M12 13v8"],[6,"M12 3v3"],[6,"M18 6a2 2 0 0 1 1.387.56l2.307 2.22a1 1 0 0 1 0 1.44l-2.307 2.22A2 2 0 0 1 18 13H6a2 2 0 0 1-1.387-.56l-2.306-2.22a1 1 0 0 1 0-1.44l2.306-2.22A2 2 0 0 1 6 6z"]],"signpost-big":[[6,"M10 9H4L2 7l2-2h6"],[6,"M14 5h6l2 2-2 2h-6"],[6,"M10 22V4a2 2 0 1 1 4 0v18"],[6,"M8 22h8"]],siren:[[6,"M7 18v-6a5 5 0 1 1 10 0v6"],[6,"M5 21a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2z"],[6,"M21 12h1"],[6,"M18.5 4.5 18 5"],[6,"M2 12h1"],[6,"M12 2v1"],[6,"m4.929 4.929.707.707"],[6,"M12 12v6"]],"skip-back":[[3,"19 20 9 12 19 4 19 20"],[0,5,19,5,5]],"skip-forward":[[3,"5 4 15 12 5 20 5 4"],[0,19,5,19,19]],skull:[[6,"m12.5 17-.5-1-.5 1h1z"],[6,"M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z"],[1,15,12,1],[1,9,12,1]],slack:[[5,13,2,3,8,1.5],[6,"M19 8.5V10h1.5A1.5 1.5 0 1 0 19 8.5"],[5,8,14,3,8,1.5],[6,"M5 15.5V14H3.5A1.5 1.5 0 1 0 5 15.5"],[5,14,13,8,3,1.5],[6,"M15.5 19H14v1.5a1.5 1.5 0 1 0 1.5-1.5"],[5,2,8,8,3,1.5],[6,"M8.5 5H10V3.5A1.5 1.5 0 1 0 8.5 5"]],slash:[[6,"M22 2 2 22"]],"slash-square":[[5,3,3,18,18,2],[0,9,15,15,9]],slice:[[6,"m8 14-6 6h9v-3"],[6,"M18.37 3.63 8 14l3 3L21.37 6.63a2.12 2.12 0 1 0-3-3Z"]],sliders:[[0,4,21,4,14],[0,4,10,4,3],[0,12,21,12,12],[0,12,8,12,3],[0,20,21,20,16],[0,20,12,20,3],[0,2,14,6,14],[0,10,8,14,8],[0,18,16,22,16]],"sliders-horizontal":[[0,21,4,14,4],[0,10,4,3,4],[0,21,12,12,12],[0,8,12,3,12],[0,21,20,16,20],[0,12,20,3,20],[0,14,2,14,6],[0,8,10,8,14],[0,16,18,16,22]],"sliders-vertical":[[0,4,21,4,14],[0,4,10,4,3],[0,12,21,12,12],[0,12,8,12,3],[0,20,21,20,16],[0,20,12,20,3],[0,2,14,6,14],[0,10,8,14,8],[0,18,16,22,16]],smartphone:[[5,5,2,14,20,2,2],[6,"M12 18h.01"]],"smartphone-charging":[[5,5,2,14,20,2,2],[6,"M12.667 8 10 12h4l-2.667 4"]],"smartphone-nfc":[[5,2,6,7,12,1],[6,"M13 8.32a7.43 7.43 0 0 1 0 7.36"],[6,"M16.46 6.21a11.76 11.76 0 0 1 0 11.58"],[6,"M19.91 4.1a15.91 15.91 0 0 1 .01 15.8"]],smile:[[1,12,12,10],[6,"M8 14s1.5 2 4 2 4-2 4-2"],[0,9,9,9.01,9],[0,15,9,15.01,9]],"smile-plus":[[6,"M22 11v1a10 10 0 1 1-9-10"],[6,"M8 14s1.5 2 4 2 4-2 4-2"],[0,9,9,9.01,9],[0,15,9,15.01,9],[6,"M16 5h6"],[6,"M19 2v6"]],snail:[[6,"M2 13a6 6 0 1 0 12 0 4 4 0 1 0-8 0 2 2 0 0 0 4 0"],[1,10,13,8],[6,"M2 21h12c4.4 0 8-3.6 8-8V7a2 2 0 1 0-4 0v6"],[6,"M18 3 19.1 5.2"],[6,"M22 3 20.9 5.2"]],snowflake:[[0,2,12,22,12],[0,12,2,12,22],[6,"m20 16-4-4 4-4"],[6,"m4 8 4 4-4 4"],[6,"m16 4-4 4-4-4"],[6,"m8 20 4-4 4 4"]],sofa:[[6,"M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3"],[6,"M2 16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z"],[6,"M4 18v2"],[6,"M20 18v2"],[6,"M12 4v9"]],"sort-asc":[[6,"m3 8 4-4 4 4"],[6,"M7 4v16"],[6,"M11 12h4"],[6,"M11 16h7"],[6,"M11 20h10"]],"sort-desc":[[6,"m3 16 4 4 4-4"],[6,"M7 20V4"],[6,"M11 4h10"],[6,"M11 8h7"],[6,"M11 12h4"]],soup:[[6,"M12 21a9 9 0 0 0 9-9H3a9 9 0 0 0 9 9Z"],[6,"M7 21h10"],[6,"M19.5 12 22 6"],[6,"M16.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.73 1.62"],[6,"M11.25 3c.27.1.8.53.74 1.36-.05.83-.93 1.2-.98 2.02-.06.78.33 1.24.72 1.62"],[6,"M6.25 3c.27.1.8.53.75 1.36-.06.83-.93 1.2-1 2.02-.05.78.34 1.24.74 1.62"]],space:[[6,"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1"]],spade:[[6,"M5 9c-1.5 1.5-3 3.2-3 5.5A5.5 5.5 0 0 0 7.5 20c1.8 0 3-.5 4.5-2 1.5 1.5 2.7 2 4.5 2a5.5 5.5 0 0 0 5.5-5.5c0-2.3-1.5-4-3-5.5l-7-7-7 7Z"],[6,"M12 18v4"]],sparkle:[[6,"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"]],sparkles:[[6,"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"],[6,"M20 3v4"],[6,"M22 5h-4"],[6,"M4 17v2"],[6,"M5 18H3"]],speaker:[[5,4,2,16,20,2],[6,"M12 6h.01"],[1,12,14,4],[6,"M12 14h.01"]],speech:[[6,"M8.8 20v-4.1l1.9.2a2.3 2.3 0 0 0 2.164-2.1V8.3A5.37 5.37 0 0 0 2 8.25c0 2.8.656 3.054 1 4.55a5.77 5.77 0 0 1 .029 2.758L2 20"],[6,"M19.8 17.8a7.5 7.5 0 0 0 .003-10.603"],[6,"M17 15a3.5 3.5 0 0 0-.025-4.975"]],"spell-check":[[6,"m6 16 6-12 6 12"],[6,"M8 12h8"],[6,"m16 20 2 2 4-4"]],"spell-check-2":[[6,"m6 16 6-12 6 12"],[6,"M8 12h8"],[6,"M4 21c1.1 0 1.1-1 2.3-1s1.1 1 2.3 1c1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1"]],spline:[[1,19,5,2],[1,5,19,2],[6,"M5 17A12 12 0 0 1 17 5"]],split:[[6,"M16 3h5v5"],[6,"M8 3H3v5"],[6,"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3"],[6,"m15 9 6-6"]],"split-square-horizontal":[[6,"M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3"],[6,"M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3"],[0,12,4,12,20]],"split-square-vertical":[[6,"M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3"],[6,"M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3"],[0,4,12,20,12]],"spray-can":[[6,"M3 3h.01"],[6,"M7 5h.01"],[6,"M11 7h.01"],[6,"M3 7h.01"],[6,"M7 9h.01"],[6,"M3 11h.01"],[5,15,5,4,4],[6,"m19 9 2 2v10c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V11l2-2"],[6,"m13 14 8-2"],[6,"m13 19 8-2"]],sprout:[[6,"M7 20h10"],[6,"M10 20c5.5-2.5.8-6.4 3-10"],[6,"M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z"],[6,"M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z"]],square:[[5,3,3,18,18,2]],"square-activity":[[5,3,3,18,18,2],[6,"M17 12h-2l-2 5-2-10-2 5H7"]],"square-arrow-down":[[5,3,3,18,18,2],[6,"M12 8v8"],[6,"m8 12 4 4 4-4"]],"square-arrow-down-left":[[5,3,3,18,18,2],[6,"m16 8-8 8"],[6,"M16 16H8V8"]],"square-arrow-down-right":[[5,3,3,18,18,2],[6,"m8 8 8 8"],[6,"M16 8v8H8"]],"square-arrow-left":[[5,3,3,18,18,2],[6,"m12 8-4 4 4 4"],[6,"M16 12H8"]],"square-arrow-out-down-left":[[6,"M13 21h6a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v6"],[6,"m3 21 9-9"],[6,"M9 21H3v-6"]],"square-arrow-out-down-right":[[6,"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"],[6,"m21 21-9-9"],[6,"M21 15v6h-6"]],"square-arrow-out-up-left":[[6,"M13 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6"],[6,"m3 3 9 9"],[6,"M3 9V3h6"]],"square-arrow-out-up-right":[[6,"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6"],[6,"m21 3-9 9"],[6,"M15 3h6v6"]],"square-arrow-right":[[5,3,3,18,18,2],[6,"M8 12h8"],[6,"m12 16 4-4-4-4"]],"square-arrow-up":[[5,3,3,18,18,2],[6,"m16 12-4-4-4 4"],[6,"M12 16V8"]],"square-arrow-up-left":[[5,3,3,18,18,2],[6,"M8 16V8h8"],[6,"M16 16 8 8"]],"square-arrow-up-right":[[5,3,3,18,18,2],[6,"M8 8h8v8"],[6,"m8 16 8-8"]],"square-asterisk":[[5,3,3,18,18,2],[6,"M12 8v8"],[6,"m8.5 14 7-4"],[6,"m8.5 10 7 4"]],"square-bottom-dashed-scissors":[[6,"M4 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2"],[6,"M10 22H8"],[6,"M16 22h-2"],[1,8,8,2],[6,"M9.414 9.414 12 12"],[6,"M14.8 14.8 18 18"],[1,8,16,2],[6,"m18 6-8.586 8.586"]],"square-chart-gantt":[[5,3,3,18,18,2],[6,"M9 8h7"],[6,"M8 12h6"],[6,"M11 16h5"]],"square-check":[[5,3,3,18,18,2],[6,"m9 12 2 2 4-4"]],"square-check-big":[[6,"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5"],[6,"m9 11 3 3L22 4"]],"square-chevron-down":[[5,3,3,18,18,2],[6,"m16 10-4 4-4-4"]],"square-chevron-left":[[5,3,3,18,18,2],[6,"m14 16-4-4 4-4"]],"square-chevron-right":[[5,3,3,18,18,2],[6,"m10 8 4 4-4 4"]],"square-chevron-up":[[5,3,3,18,18,2],[6,"m8 14 4-4 4 4"]],"square-code":[[6,"M10 9.5 8 12l2 2.5"],[6,"m14 9.5 2 2.5-2 2.5"],[5,3,3,18,18,2]],"square-dashed-bottom":[[6,"M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2"],[6,"M9 21h1"],[6,"M14 21h1"]],"square-dashed-bottom-code":[[6,"M10 9.5 8 12l2 2.5"],[6,"M14 21h1"],[6,"m14 9.5 2 2.5-2 2.5"],[6,"M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2"],[6,"M9 21h1"]],"square-dashed-kanban":[[6,"M8 7v7"],[6,"M12 7v4"],[6,"M16 7v9"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M9 3h1"],[6,"M14 3h1"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 9v1"],[6,"M21 14v1"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M14 21h1"],[6,"M9 21h1"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M3 14v1"],[6,"M3 9v1"]],"square-dashed-mouse-pointer":[[6,"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"],[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h2"],[6,"M14 3h1"],[6,"M3 9v1"],[6,"M21 9v2"],[6,"M3 14v1"]],"square-divide":[[5,3,3,18,18,2,2],[0,8,12,16,12],[0,12,16,12,16],[0,12,8,12,8]],"square-dot":[[5,3,3,18,18,2],[1,12,12,1]],"square-equal":[[5,3,3,18,18,2],[6,"M7 10h10"],[6,"M7 14h10"]],"square-function":[[5,3,3,18,18,2,2],[6,"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3"],[6,"M9 11.2h5.7"]],"square-gantt-chart":[[5,3,3,18,18,2],[6,"M9 8h7"],[6,"M8 12h6"],[6,"M11 16h5"]],"square-kanban":[[5,3,3,18,18,2],[6,"M8 7v7"],[6,"M12 7v4"],[6,"M16 7v9"]],"square-library":[[5,3,3,18,18,2],[6,"M7 7v10"],[6,"M11 7v10"],[6,"m15 7 2 10"]],"square-m":[[5,3,3,18,18,2],[6,"M8 16V8l4 4 4-4v8"]],"square-menu":[[5,3,3,18,18,2],[6,"M7 8h10"],[6,"M7 12h10"],[6,"M7 16h10"]],"square-minus":[[5,3,3,18,18,2],[6,"M8 12h8"]],"square-mouse-pointer":[[6,"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"],[6,"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"]],"square-parking":[[5,3,3,18,18,2],[6,"M9 17V7h4a3 3 0 0 1 0 6H9"]],"square-parking-off":[[6,"M3.6 3.6A2 2 0 0 1 5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-.59 1.41"],[6,"M3 8.7V19a2 2 0 0 0 2 2h10.3"],[6,"m2 2 20 20"],[6,"M13 13a3 3 0 1 0 0-6H9v2"],[6,"M9 17v-2.3"]],"square-pen":[[6,"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"],[6,"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"]],"square-percent":[[5,3,3,18,18,2],[6,"m15 9-6 6"],[6,"M9 9h.01"],[6,"M15 15h.01"]],"square-pi":[[5,3,3,18,18,2],[6,"M7 7h10"],[6,"M10 7v10"],[6,"M16 17a2 2 0 0 1-2-2V7"]],"square-pilcrow":[[5,3,3,18,18,2],[6,"M12 12H9.5a2.5 2.5 0 0 1 0-5H17"],[6,"M12 7v10"],[6,"M16 7v10"]],"square-play":[[5,3,3,18,18,2],[6,"m9 8 6 4-6 4Z"]],"square-plus":[[5,3,3,18,18,2],[6,"M8 12h8"],[6,"M12 8v8"]],"square-power":[[6,"M12 7v4"],[6,"M7.998 9.003a5 5 0 1 0 8-.005"],[5,3,3,18,18,2]],"square-radical":[[6,"M7 12h2l2 5 2-10h4"],[5,3,3,18,18,2]],"square-scissors":[[5,2,2,20,20,2],[1,8,8,2],[6,"M9.414 9.414 12 12"],[6,"M14.8 14.8 18 18"],[1,8,16,2],[6,"m18 6-8.586 8.586"]],"square-sigma":[[5,3,3,18,18,2],[6,"M16 8.9V7H8l4 5-4 5h8v-1.9"]],"square-slash":[[5,3,3,18,18,2],[0,9,15,15,9]],"square-split-horizontal":[[6,"M8 19H5c-1 0-2-1-2-2V7c0-1 1-2 2-2h3"],[6,"M16 5h3c1 0 2 1 2 2v10c0 1-1 2-2 2h-3"],[0,12,4,12,20]],"square-split-vertical":[[6,"M5 8V5c0-1 1-2 2-2h10c1 0 2 1 2 2v3"],[6,"M19 16v3c0 1-1 2-2 2H7c-1 0-2-1-2-2v-3"],[0,4,12,20,12]],"square-square":[[5,3,3,18,18,2],[5,8,8,8,8,1]],"square-stack":[[6,"M4 10c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2"],[6,"M10 16c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2"],[5,14,14,8,8,2]],"square-terminal":[[6,"m7 11 2-2-2-2"],[6,"M11 13h4"],[5,3,3,18,18,2,2]],"square-user":[[5,3,3,18,18,2],[1,12,10,3],[6,"M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2"]],"square-user-round":[[6,"M18 21a6 6 0 0 0-12 0"],[1,12,11,4],[5,3,3,18,18,2]],"square-x":[[5,3,3,18,18,2,2],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],squircle:[[6,"M12 3c7.2 0 9 1.8 9 9s-1.8 9-9 9-9-1.8-9-9 1.8-9 9-9"]],squirrel:[[6,"M15.236 22a3 3 0 0 0-2.2-5"],[6,"M16 20a3 3 0 0 1 3-3h1a2 2 0 0 0 2-2v-2a4 4 0 0 0-4-4V4"],[6,"M18 13h.01"],[6,"M18 6a4 4 0 0 0-4 4 7 7 0 0 0-7 7c0-5 4-5 4-10.5a4.5 4.5 0 1 0-9 0 2.5 2.5 0 0 0 5 0C7 10 3 11 3 17c0 2.8 2.2 5 5 5h10"]],stamp:[[6,"M5 22h14"],[6,"M19.27 13.73A2.5 2.5 0 0 0 17.5 13h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1.5c0-.66-.26-1.3-.73-1.77Z"],[6,"M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-3-3c-1.66 0-3 1-3 3s1 2 1 3.5V13"]],star:[[3,"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"]],"star-half":[[6,"M12 17.8 5.8 21 7 14.1 2 9.3l7-1L12 2"]],"star-off":[[6,"M8.34 8.34 2 9.27l5 4.87L5.82 21 12 17.77 18.18 21l-.59-3.43"],[6,"M18.42 12.76 22 9.27l-6.91-1L12 2l-1.44 2.91"],[0,2,2,22,22]],stars:[[6,"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"],[6,"M20 3v4"],[6,"M22 5h-4"],[6,"M4 17v2"],[6,"M5 18H3"]],"step-back":[[0,18,20,18,4],[3,"14,20 4,12 14,4"]],"step-forward":[[0,6,4,6,20],[3,"10,4 20,12 10,20"]],stethoscope:[[6,"M11 2v2"],[6,"M5 2v2"],[6,"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1"],[6,"M8 15a6 6 0 0 0 12 0v-3"],[1,20,10,2]],sticker:[[6,"M15.5 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V8.5L15.5 3Z"],[6,"M14 3v4a2 2 0 0 0 2 2h4"],[6,"M8 13h.01"],[6,"M16 13h.01"],[6,"M10 16s.8 1 2 1c1.3 0 2-1 2-1"]],"sticky-note":[[6,"M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8Z"],[6,"M15 3v4a2 2 0 0 0 2 2h4"]],"stop-circle":[[1,12,12,10],[5,9,9,6,6,1]],store:[[6,"m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7"],[6,"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8"],[6,"M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4"],[6,"M2 7h20"],[6,"M22 7v3a2 2 0 0 1-2 2a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12a2 2 0 0 1-2-2V7"]],"stretch-horizontal":[[5,2,4,20,6,2],[5,2,14,20,6,2]],"stretch-vertical":[[5,4,2,6,20,2],[5,14,2,6,20,2]],strikethrough:[[6,"M16 4H9a3 3 0 0 0-2.83 4"],[6,"M14 12a4 4 0 0 1 0 8H6"],[0,4,12,20,12]],subscript:[[6,"m4 5 8 8"],[6,"m12 5-8 8"],[6,"M20 19h-4c0-1.5.44-2 1.5-2.5S20 15.33 20 14c0-.47-.17-.93-.48-1.29a2.11 2.11 0 0 0-2.62-.44c-.42.24-.74.62-.9 1.07"]],subtitles:[[5,3,5,18,14,2,2],[6,"M7 15h4M15 15h2M7 11h2M13 11h4"]],sun:[[1,12,12,4],[6,"M12 2v2"],[6,"M12 20v2"],[6,"m4.93 4.93 1.41 1.41"],[6,"m17.66 17.66 1.41 1.41"],[6,"M2 12h2"],[6,"M20 12h2"],[6,"m6.34 17.66-1.41 1.41"],[6,"m19.07 4.93-1.41 1.41"]],"sun-dim":[[1,12,12,4],[6,"M12 4h.01"],[6,"M20 12h.01"],[6,"M12 20h.01"],[6,"M4 12h.01"],[6,"M17.657 6.343h.01"],[6,"M17.657 17.657h.01"],[6,"M6.343 17.657h.01"],[6,"M6.343 6.343h.01"]],"sun-medium":[[1,12,12,4],[6,"M12 3v1"],[6,"M12 20v1"],[6,"M3 12h1"],[6,"M20 12h1"],[6,"m18.364 5.636-.707.707"],[6,"m6.343 17.657-.707.707"],[6,"m5.636 5.636.707.707"],[6,"m17.657 17.657.707.707"]],"sun-moon":[[6,"M12 8a2.83 2.83 0 0 0 4 4 4 4 0 1 1-4-4"],[6,"M12 2v2"],[6,"M12 20v2"],[6,"m4.9 4.9 1.4 1.4"],[6,"m17.7 17.7 1.4 1.4"],[6,"M2 12h2"],[6,"M20 12h2"],[6,"m6.3 17.7-1.4 1.4"],[6,"m19.1 4.9-1.4 1.4"]],"sun-snow":[[6,"M10 9a3 3 0 1 0 0 6"],[6,"M2 12h1"],[6,"M14 21V3"],[6,"M10 4V3"],[6,"M10 21v-1"],[6,"m3.64 18.36.7-.7"],[6,"m4.34 6.34-.7-.7"],[6,"M14 12h8"],[6,"m17 4-3 3"],[6,"m14 17 3 3"],[6,"m21 15-3-3 3-3"]],sunrise:[[6,"M12 2v8"],[6,"m4.93 10.93 1.41 1.41"],[6,"M2 18h2"],[6,"M20 18h2"],[6,"m19.07 10.93-1.41 1.41"],[6,"M22 22H2"],[6,"m8 6 4-4 4 4"],[6,"M16 18a4 4 0 0 0-8 0"]],sunset:[[6,"M12 10V2"],[6,"m4.93 10.93 1.41 1.41"],[6,"M2 18h2"],[6,"M20 18h2"],[6,"m19.07 10.93-1.41 1.41"],[6,"M22 22H2"],[6,"m16 6-4 4-4-4"],[6,"M16 18a4 4 0 0 0-8 0"]],superscript:[[6,"m4 19 8-8"],[6,"m12 19-8-8"],[6,"M20 12h-4c0-1.5.442-2 1.5-2.5S20 8.334 20 7.002c0-.472-.17-.93-.484-1.29a2.105 2.105 0 0 0-2.617-.436c-.42.239-.738.614-.899 1.06"]],"swatch-book":[[6,"M11 17a4 4 0 0 1-8 0V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2Z"],[6,"M16.7 13H19a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H7"],[6,"M 7 17h.01"],[6,"m11 8 2.3-2.3a2.4 2.4 0 0 1 3.404.004L18.6 7.6a2.4 2.4 0 0 1 .026 3.434L9.9 19.8"]],"swiss-franc":[[6,"M10 21V3h8"],[6,"M6 16h9"],[6,"M10 9.5h7"]],"switch-camera":[[6,"M11 19H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h5"],[6,"M13 5h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-5"],[1,12,12,3],[6,"m18 22-3-3 3-3"],[6,"m6 2 3 3-3 3"]],sword:[[2,"14.5 17.5 3 6 3 3 6 3 17.5 14.5"],[0,13,19,19,13],[0,16,16,20,20],[0,19,21,21,19]],swords:[[2,"14.5 17.5 3 6 3 3 6 3 17.5 14.5"],[0,13,19,19,13],[0,16,16,20,20],[0,19,21,21,19],[2,"14.5 6.5 18 3 21 3 21 6 17.5 9.5"],[0,5,14,9,18],[0,7,17,4,20],[0,3,19,5,21]],syringe:[[6,"m18 2 4 4"],[6,"m17 7 3-3"],[6,"M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5"],[6,"m9 11 4 4"],[6,"m5 19-3 3"],[6,"m14 4 6 6"]],table:[[6,"M12 3v18"],[5,3,3,18,18,2],[6,"M3 9h18"],[6,"M3 15h18"]],"table-2":[[6,"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"]],"table-cells-merge":[[6,"M12 21v-6"],[6,"M12 9V3"],[6,"M3 15h18"],[6,"M3 9h18"],[5,3,3,18,18,2]],"table-cells-split":[[6,"M12 15V9"],[6,"M3 15h18"],[6,"M3 9h18"],[5,3,3,18,18,2]],"table-columns-split":[[6,"M14 14v2"],[6,"M14 20v2"],[6,"M14 2v2"],[6,"M14 8v2"],[6,"M2 15h8"],[6,"M2 3h6a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H2"],[6,"M2 9h8"],[6,"M22 15h-4"],[6,"M22 3h-2a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h2"],[6,"M22 9h-4"],[6,"M5 3v18"]],"table-of-contents":[[6,"M16 12H3"],[6,"M16 18H3"],[6,"M16 6H3"],[6,"M21 12h.01"],[6,"M21 18h.01"],[6,"M21 6h.01"]],"table-properties":[[6,"M15 3v18"],[5,3,3,18,18,2],[6,"M21 9H3"],[6,"M21 15H3"]],"table-rows-split":[[6,"M14 10h2"],[6,"M15 22v-8"],[6,"M15 2v4"],[6,"M2 10h2"],[6,"M20 10h2"],[6,"M3 19h18"],[6,"M3 22v-6a2 2 135 0 1 2-2h14a2 2 45 0 1 2 2v6"],[6,"M3 2v2a2 2 45 0 0 2 2h14a2 2 135 0 0 2-2V2"],[6,"M8 10h2"],[6,"M9 22v-8"],[6,"M9 2v4"]],tablet:[[5,4,2,16,20,2,2],[0,12,18,12.01,18]],"tablet-smartphone":[[5,3,8,10,14,2],[6,"M5 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2h-2.4"],[6,"M8 18h.01"]],tablets:[[1,7,7,5],[1,17,17,5],[6,"M12 17h10"],[6,"m3.46 10.54 7.08-7.08"]],tag:[[6,"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"],[1,7.5,7.5,.5]],tags:[[6,"m15 5 6.3 6.3a2.4 2.4 0 0 1 0 3.4L17 19"],[6,"M9.586 5.586A2 2 0 0 0 8.172 5H3a1 1 0 0 0-1 1v5.172a2 2 0 0 0 .586 1.414L8.29 18.29a2.426 2.426 0 0 0 3.42 0l3.58-3.58a2.426 2.426 0 0 0 0-3.42z"],[1,6.5,9.5,.5]],"tally-1":[[6,"M4 4v16"]],"tally-2":[[6,"M4 4v16"],[6,"M9 4v16"]],"tally-3":[[6,"M4 4v16"],[6,"M9 4v16"],[6,"M14 4v16"]],"tally-4":[[6,"M4 4v16"],[6,"M9 4v16"],[6,"M14 4v16"],[6,"M19 4v16"]],"tally-5":[[6,"M4 4v16"],[6,"M9 4v16"],[6,"M14 4v16"],[6,"M19 4v16"],[6,"M22 6 2 18"]],tangent:[[1,17,4,2],[6,"M15.59 5.41 5.41 15.59"],[1,4,17,2],[6,"M12 22s-4-9-1.5-11.5S22 12 22 12"]],target:[[1,12,12,10],[1,12,12,6],[1,12,12,2]],telescope:[[6,"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44"],[6,"m13.56 11.747 4.332-.924"],[6,"m16 21-3.105-6.21"],[6,"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z"],[6,"m6.158 8.633 1.114 4.456"],[6,"m8 21 3.105-6.21"],[1,12,13,2]],tent:[[6,"M3.5 21 14 3"],[6,"M20.5 21 10 3"],[6,"M15.5 21 12 15l-3.5 6"],[6,"M2 21h20"]],"tent-tree":[[1,4,4,2],[6,"m14 5 3-3 3 3"],[6,"m14 10 3-3 3 3"],[6,"M17 14V2"],[6,"M17 14H7l-5 8h20Z"],[6,"M8 14v8"],[6,"m9 14 5 8"]],terminal:[[2,"4 17 10 11 4 5"],[0,12,19,20,19]],"terminal-square":[[6,"m7 11 2-2-2-2"],[6,"M11 13h4"],[5,3,3,18,18,2,2]],"test-tube":[[6,"M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2"],[6,"M8.5 2h7"],[6,"M14.5 16h-5"]],"test-tube-2":[[6,"M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3"],[6,"m16 2 6 6"],[6,"M12 16H4"]],"test-tube-diagonal":[[6,"M21 7 6.82 21.18a2.83 2.83 0 0 1-3.99-.01a2.83 2.83 0 0 1 0-4L17 3"],[6,"m16 2 6 6"],[6,"M12 16H4"]],"test-tubes":[[6,"M9 2v17.5A2.5 2.5 0 0 1 6.5 22A2.5 2.5 0 0 1 4 19.5V2"],[6,"M20 2v17.5a2.5 2.5 0 0 1-2.5 2.5a2.5 2.5 0 0 1-2.5-2.5V2"],[6,"M3 2h7"],[6,"M14 2h7"],[6,"M9 16H4"],[6,"M20 16h-5"]],text:[[6,"M17 6.1H3"],[6,"M21 12.1H3"],[6,"M15.1 18H3"]],"text-cursor":[[6,"M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1"],[6,"M7 22h1a4 4 0 0 0 4-4v-1"],[6,"M7 2h1a4 4 0 0 1 4 4v1"]],"text-cursor-input":[[6,"M5 4h1a3 3 0 0 1 3 3 3 3 0 0 1 3-3h1"],[6,"M13 20h-1a3 3 0 0 1-3-3 3 3 0 0 1-3 3H5"],[6,"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1"],[6,"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7"],[6,"M9 7v10"]],"text-quote":[[6,"M17 6H3"],[6,"M21 12H8"],[6,"M21 18H8"],[6,"M3 12v6"]],"text-search":[[6,"M21 6H3"],[6,"M10 12H3"],[6,"M10 18H3"],[1,17,15,3],[6,"m21 19-1.9-1.9"]],"text-select":[[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h1"],[6,"M14 3h1"],[6,"M14 21h1"],[6,"M3 9v1"],[6,"M21 9v1"],[6,"M3 14v1"],[6,"M21 14v1"],[0,7,8,15,8],[0,7,12,17,12],[0,7,16,13,16]],"text-selection":[[6,"M5 3a2 2 0 0 0-2 2"],[6,"M19 3a2 2 0 0 1 2 2"],[6,"M21 19a2 2 0 0 1-2 2"],[6,"M5 21a2 2 0 0 1-2-2"],[6,"M9 3h1"],[6,"M9 21h1"],[6,"M14 3h1"],[6,"M14 21h1"],[6,"M3 9v1"],[6,"M21 9v1"],[6,"M3 14v1"],[6,"M21 14v1"],[0,7,8,15,8],[0,7,12,17,12],[0,7,16,13,16]],theater:[[6,"M2 10s3-3 3-8"],[6,"M22 10s-3-3-3-8"],[6,"M10 2c0 4.4-3.6 8-8 8"],[6,"M14 2c0 4.4 3.6 8 8 8"],[6,"M2 10s2 2 2 5"],[6,"M22 10s-2 2-2 5"],[6,"M8 15h8"],[6,"M2 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1"],[6,"M14 22v-1a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1"]],thermometer:[[6,"M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z"]],"thermometer-snowflake":[[6,"M2 12h10"],[6,"M9 4v16"],[6,"m3 9 3 3-3 3"],[6,"M12 6 9 9 6 6"],[6,"m6 18 3-3 1.5 1.5"],[6,"M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z"]],"thermometer-sun":[[6,"M12 9a4 4 0 0 0-2 7.5"],[6,"M12 3v2"],[6,"m6.6 18.4-1.4 1.4"],[6,"M20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z"],[6,"M4 13H2"],[6,"M6.34 7.34 4.93 5.93"]],"thumbs-down":[[6,"M17 14V2"],[6,"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z"]],"thumbs-up":[[6,"M7 10v12"],[6,"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z"]],ticket:[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M13 5v2"],[6,"M13 17v2"],[6,"M13 11v2"]],"ticket-check":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"m9 12 2 2 4-4"]],"ticket-minus":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M9 12h6"]],"ticket-percent":[[6,"M2 9a3 3 0 1 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 1 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M9 9h.01"],[6,"m15 9-6 6"],[6,"M15 15h.01"]],"ticket-plus":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"M9 12h6"],[6,"M12 9v6"]],"ticket-slash":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"m9.5 14.5 5-5"]],"ticket-x":[[6,"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"],[6,"m9.5 14.5 5-5"],[6,"m9.5 9.5 5 5"]],tickets:[[6,"m4.5 8 10.58-5.06a1 1 0 0 1 1.342.488L18.5 8"],[6,"M6 10V8"],[6,"M6 14v1"],[6,"M6 19v2"],[5,2,8,20,13,2]],"tickets-plane":[[6,"M10.5 17h1.227a2 2 0 0 0 1.345-.52L18 12"],[6,"m12 13.5 3.75.5"],[6,"m4.5 8 10.58-5.06a1 1 0 0 1 1.342.488L18.5 8"],[6,"M6 10V8"],[6,"M6 14v1"],[6,"M6 19v2"],[5,2,8,20,13,2]],timer:[[0,10,2,14,2],[0,12,14,15,11],[1,12,14,8]],"timer-off":[[6,"M10 2h4"],[6,"M4.6 11a8 8 0 0 0 1.7 8.7 8 8 0 0 0 8.7 1.7"],[6,"M7.4 7.4a8 8 0 0 1 10.3 1 8 8 0 0 1 .9 10.2"],[6,"m2 2 20 20"],[6,"M12 12v-2"]],"timer-reset":[[6,"M10 2h4"],[6,"M12 14v-4"],[6,"M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6"],[6,"M9 17H4v5"]],"toggle-left":[[5,2,6,20,12,6,6],[1,8,12,2]],"toggle-right":[[5,2,6,20,12,6,6],[1,16,12,2]],tornado:[[6,"M21 4H3"],[6,"M18 8H6"],[6,"M19 12H9"],[6,"M16 16h-6"],[6,"M11 20H9"]],torus:[[4,12,11,3,2],[4,12,12.5,10,8.5]],touchpad:[[5,2,4,20,16,2],[6,"M2 14h20"],[6,"M12 20v-6"]],"touchpad-off":[[6,"M4 4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16"],[6,"M2 14h12"],[6,"M22 14h-2"],[6,"M12 20v-6"],[6,"m2 2 20 20"],[6,"M22 16V6a2 2 0 0 0-2-2H10"]],"tower-control":[[6,"M18.2 12.27 20 6H4l1.8 6.27a1 1 0 0 0 .95.73h10.5a1 1 0 0 0 .96-.73Z"],[6,"M8 13v9"],[6,"M16 22v-9"],[6,"m9 6 1 7"],[6,"m15 6-1 7"],[6,"M12 6V2"],[6,"M13 2h-2"]],"toy-brick":[[5,3,8,18,12,1],[6,"M10 8V5c0-.6-.4-1-1-1H6a1 1 0 0 0-1 1v3"],[6,"M19 8V5c0-.6-.4-1-1-1h-3a1 1 0 0 0-1 1v3"]],tractor:[[6,"m10 11 11 .9a1 1 0 0 1 .8 1.1l-.665 4.158a1 1 0 0 1-.988.842H20"],[6,"M16 18h-5"],[6,"M18 5a1 1 0 0 0-1 1v5.573"],[6,"M3 4h8.129a1 1 0 0 1 .99.863L13 11.246"],[6,"M4 11V4"],[6,"M7 15h.01"],[6,"M8 10.1V4"],[1,18,18,2],[1,7,15,5]],"traffic-cone":[[6,"M9.3 6.2a4.55 4.55 0 0 0 5.4 0"],[6,"M7.9 10.7c.9.8 2.4 1.3 4.1 1.3s3.2-.5 4.1-1.3"],[6,"M13.9 3.5a1.93 1.93 0 0 0-3.8-.1l-3 10c-.1.2-.1.4-.1.6 0 1.7 2.2 3 5 3s5-1.3 5-3c0-.2 0-.4-.1-.5Z"],[6,"m7.5 12.2-4.7 2.7c-.5.3-.8.7-.8 1.1s.3.8.8 1.1l7.6 4.5c.9.5 2.1.5 3 0l7.6-4.5c.7-.3 1-.7 1-1.1s-.3-.8-.8-1.1l-4.7-2.8"]],train:[[5,4,3,16,16,2],[6,"M4 11h16"],[6,"M12 3v8"],[6,"m8 19-2 3"],[6,"m18 22-2-3"],[6,"M8 15h.01"],[6,"M16 15h.01"]],"train-front":[[6,"M8 3.1V7a4 4 0 0 0 8 0V3.1"],[6,"m9 15-1-1"],[6,"m15 15 1-1"],[6,"M9 19c-2.8 0-5-2.2-5-5v-4a8 8 0 0 1 16 0v4c0 2.8-2.2 5-5 5Z"],[6,"m8 19-2 3"],[6,"m16 19 2 3"]],"train-front-tunnel":[[6,"M2 22V12a10 10 0 1 1 20 0v10"],[6,"M15 6.8v1.4a3 2.8 0 1 1-6 0V6.8"],[6,"M10 15h.01"],[6,"M14 15h.01"],[6,"M10 19a4 4 0 0 1-4-4v-3a6 6 0 1 1 12 0v3a4 4 0 0 1-4 4Z"],[6,"m9 19-2 3"],[6,"m15 19 2 3"]],"train-track":[[6,"M2 17 17 2"],[6,"m2 14 8 8"],[6,"m5 11 8 8"],[6,"m8 8 8 8"],[6,"m11 5 8 8"],[6,"m14 2 8 8"],[6,"M7 22 22 7"]],"tram-front":[[5,4,3,16,16,2],[6,"M4 11h16"],[6,"M12 3v8"],[6,"m8 19-2 3"],[6,"m18 22-2-3"],[6,"M8 15h.01"],[6,"M16 15h.01"]],trash:[[6,"M3 6h18"],[6,"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"],[6,"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"]],"trash-2":[[6,"M3 6h18"],[6,"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"],[6,"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"],[0,10,11,10,17],[0,14,11,14,17]],"tree-deciduous":[[6,"M8 19a4 4 0 0 1-2.24-7.32A3.5 3.5 0 0 1 9 6.03V6a3 3 0 1 1 6 0v.04a3.5 3.5 0 0 1 3.24 5.65A4 4 0 0 1 16 19Z"],[6,"M12 19v3"]],"tree-palm":[[6,"M13 8c0-2.76-2.46-5-5.5-5S2 5.24 2 8h2l1-1 1 1h4"],[6,"M13 7.14A5.82 5.82 0 0 1 16.5 6c3.04 0 5.5 2.24 5.5 5h-3l-1-1-1 1h-3"],[6,"M5.89 9.71c-2.15 2.15-2.3 5.47-.35 7.43l4.24-4.25.7-.7.71-.71 2.12-2.12c-1.95-1.96-5.27-1.8-7.42.35"],[6,"M11 15.5c.5 2.5-.17 4.5-1 6.5h4c2-5.5-.5-12-1-14"]],"tree-pine":[[6,"m17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z"],[6,"M12 22v-3"]],trees:[[6,"M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z"],[6,"M7 16v6"],[6,"M13 19v3"],[6,"M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5"]],trello:[[5,3,3,18,18,2,2],[5,7,7,3,9],[5,14,7,3,5]],"trending-down":[[2,"22 17 13.5 8.5 8.5 13.5 2 7"],[2,"16 17 22 17 22 11"]],"trending-up":[[2,"22 7 13.5 15.5 8.5 10.5 2 17"],[2,"16 7 22 7 22 13"]],"trending-up-down":[[6,"M14.828 14.828 21 21"],[6,"M21 16v5h-5"],[6,"m21 3-9 9-4-4-6 6"],[6,"M21 8V3h-5"]],triangle:[[6,"M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"]],"triangle-alert":[[6,"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"],[6,"M12 9v4"],[6,"M12 17h.01"]],"triangle-right":[[6,"M22 18a2 2 0 0 1-2 2H3c-1.1 0-1.3-.6-.4-1.3L20.4 4.3c.9-.7 1.6-.4 1.6.7Z"]],trophy:[[6,"M6 9H4.5a2.5 2.5 0 0 1 0-5H6"],[6,"M18 9h1.5a2.5 2.5 0 0 0 0-5H18"],[6,"M4 22h16"],[6,"M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22"],[6,"M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22"],[6,"M18 2H6v7a6 6 0 0 0 12 0V2Z"]],truck:[[6,"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2"],[6,"M15 18H9"],[6,"M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14"],[1,17,18,2],[1,7,18,2]],turtle:[[6,"m12 10 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a8 8 0 1 0-16 0v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3l2-4h4Z"],[6,"M4.82 7.9 8 10"],[6,"M15.18 7.9 12 10"],[6,"M16.93 10H20a2 2 0 0 1 0 4H2"]],tv:[[5,2,7,20,15,2,2],[2,"17 2 12 7 7 2"]],"tv-2":[[6,"M7 21h10"],[5,2,3,20,14,2]],"tv-minimal":[[6,"M7 21h10"],[5,2,3,20,14,2]],"tv-minimal-play":[[6,"M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z"],[6,"M7 21h10"],[5,2,3,20,14,2]],twitch:[[6,"M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7"]],twitter:[[6,"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"]],type:[[2,"4 7 4 4 20 4 20 7"],[0,9,20,15,20],[0,12,4,12,20]],"type-outline":[[6,"M14 16.5a.5.5 0 0 0 .5.5h.5a2 2 0 0 1 0 4H9a2 2 0 0 1 0-4h.5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5V8a2 2 0 0 1-4 0V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v3a2 2 0 0 1-4 0v-.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5Z"]],umbrella:[[6,"M22 12a10.06 10.06 1 0 0-20 0Z"],[6,"M12 12v8a2 2 0 0 0 4 0"],[6,"M12 2v1"]],"umbrella-off":[[6,"M12 2v1"],[6,"M15.5 21a1.85 1.85 0 0 1-3.5-1v-8H2a10 10 0 0 1 3.428-6.575"],[6,"M17.5 12H22A10 10 0 0 0 9.004 3.455"],[6,"m2 2 20 20"]],underline:[[6,"M6 4v6a6 6 0 0 0 12 0V4"],[0,4,20,20,20]],undo:[[6,"M3 7v6h6"],[6,"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"]],"undo-2":[[6,"M9 14 4 9l5-5"],[6,"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11"]],"undo-dot":[[1,12,17,1],[6,"M3 7v6h6"],[6,"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"]],"unfold-horizontal":[[6,"M16 12h6"],[6,"M8 12H2"],[6,"M12 2v2"],[6,"M12 8v2"],[6,"M12 14v2"],[6,"M12 20v2"],[6,"m19 15 3-3-3-3"],[6,"m5 9-3 3 3 3"]],"unfold-vertical":[[6,"M12 22v-6"],[6,"M12 8V2"],[6,"M4 12H2"],[6,"M10 12H8"],[6,"M16 12h-2"],[6,"M22 12h-2"],[6,"m15 19-3 3-3-3"],[6,"m15 5-3-3-3 3"]],ungroup:[[5,5,4,8,6,1],[5,11,14,8,6,1]],university:[[1,12,10,1],[6,"M22 20V8h-4l-6-4-6 4H2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2"],[6,"M6 17v.01"],[6,"M6 13v.01"],[6,"M18 17v.01"],[6,"M18 13v.01"],[6,"M14 22v-5a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5"]],unlink:[[6,"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71"],[6,"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71"],[0,8,2,8,5],[0,2,8,5,8],[0,16,19,16,22],[0,19,16,22,16]],"unlink-2":[[6,"M15 7h2a5 5 0 0 1 0 10h-2m-6 0H7A5 5 0 0 1 7 7h2"]],unlock:[[5,3,11,18,11,2,2],[6,"M7 11V7a5 5 0 0 1 9.9-1"]],"unlock-keyhole":[[1,12,16,1],[5,3,10,18,12,2],[6,"M7 10V7a5 5 0 0 1 9.33-2.5"]],unplug:[[6,"m19 5 3-3"],[6,"m2 22 3-3"],[6,"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z"],[6,"M7.5 13.5 10 11"],[6,"M10.5 16.5 13 14"],[6,"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z"]],upload:[[6,"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"],[2,"17 8 12 3 7 8"],[0,12,3,12,15]],"upload-cloud":[[6,"M12 13v8"],[6,"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242"],[6,"m8 17 4-4 4 4"]],usb:[[1,10,7,1],[1,4,20,1],[6,"M4.7 19.3 19 5"],[6,"m21 3-3 1 2 2Z"],[6,"M9.26 7.68 5 12l2 5"],[6,"m10 14 5 2 3.5-3.5"],[6,"m18 12 1-1 1 1-1 1Z"]],user:[[6,"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"],[1,12,7,4]],"user-2":[[1,12,8,5],[6,"M20 21a8 8 0 0 0-16 0"]],"user-check":[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[2,"16 11 18 13 22 9"]],"user-check-2":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"m16 19 2 2 4-4"]],"user-circle":[[1,12,12,10],[1,12,10,3],[6,"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662"]],"user-circle-2":[[6,"M18 20a6 6 0 0 0-12 0"],[1,12,10,4],[1,12,12,10]],"user-cog":[[1,18,15,3],[1,9,7,4],[6,"M10 15H6a4 4 0 0 0-4 4v2"],[6,"m21.7 16.4-.9-.3"],[6,"m15.2 13.9-.9-.3"],[6,"m16.6 18.7.3-.9"],[6,"m19.1 12.2.3-.9"],[6,"m19.6 18.7-.4-1"],[6,"m16.8 12.3-.4-1"],[6,"m14.3 16.6 1-.4"],[6,"m20.7 13.8 1-.4"]],"user-cog-2":[[6,"M2 21a8 8 0 0 1 10.434-7.62"],[1,10,8,5],[1,18,18,3],[6,"m19.5 14.3-.4.9"],[6,"m16.9 20.8-.4.9"],[6,"m21.7 19.5-.9-.4"],[6,"m15.2 16.9-.9-.4"],[6,"m21.7 16.5-.9.4"],[6,"m15.2 19.1-.9.4"],[6,"m19.5 21.7-.4-.9"],[6,"m16.9 15.2-.4-.9"]],"user-minus":[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[0,22,11,16,11]],"user-minus-2":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"M22 19h-6"]],"user-pen":[[6,"M11.5 15H7a4 4 0 0 0-4 4v2"],[6,"M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"],[1,10,7,4]],"user-plus":[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[0,19,8,19,14],[0,22,11,16,11]],"user-plus-2":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"M19 16v6"],[6,"M22 19h-6"]],"user-round":[[1,12,8,5],[6,"M20 21a8 8 0 0 0-16 0"]],"user-round-check":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"m16 19 2 2 4-4"]],"user-round-cog":[[6,"M2 21a8 8 0 0 1 10.434-7.62"],[1,10,8,5],[1,18,18,3],[6,"m19.5 14.3-.4.9"],[6,"m16.9 20.8-.4.9"],[6,"m21.7 19.5-.9-.4"],[6,"m15.2 16.9-.9-.4"],[6,"m21.7 16.5-.9.4"],[6,"m15.2 19.1-.9.4"],[6,"m19.5 21.7-.4-.9"],[6,"m16.9 15.2-.4-.9"]],"user-round-minus":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"M22 19h-6"]],"user-round-pen":[[6,"M2 21a8 8 0 0 1 10.821-7.487"],[6,"M21.378 16.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z"],[1,10,8,5]],"user-round-plus":[[6,"M2 21a8 8 0 0 1 13.292-6"],[1,10,8,5],[6,"M19 16v6"],[6,"M22 19h-6"]],"user-round-search":[[1,10,8,5],[6,"M2 21a8 8 0 0 1 10.434-7.62"],[1,18,18,3],[6,"m22 22-1.9-1.9"]],"user-round-x":[[6,"M2 21a8 8 0 0 1 11.873-7"],[1,10,8,5],[6,"m17 17 5 5"],[6,"m22 17-5 5"]],"user-search":[[1,10,7,4],[6,"M10.3 15H7a4 4 0 0 0-4 4v2"],[1,17,17,3],[6,"m21 21-1.9-1.9"]],"user-square":[[5,3,3,18,18,2],[1,12,10,3],[6,"M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2"]],"user-square-2":[[6,"M18 21a6 6 0 0 0-12 0"],[1,12,11,4],[5,3,3,18,18,2]],"user-x":[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[0,17,8,22,13],[0,22,8,17,13]],"user-x2":[[6,"M2 21a8 8 0 0 1 11.873-7"],[1,10,8,5],[6,"m17 17 5 5"],[6,"m22 17-5 5"]],users:[[6,"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"],[1,9,7,4],[6,"M22 21v-2a4 4 0 0 0-3-3.87"],[6,"M16 3.13a4 4 0 0 1 0 7.75"]],"users-2":[[6,"M18 21a8 8 0 0 0-16 0"],[1,10,8,5],[6,"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3"]],"users-round":[[6,"M18 21a8 8 0 0 0-16 0"],[1,10,8,5],[6,"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3"]],utensils:[[6,"M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2"],[6,"M7 2v20"],[6,"M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7"]],"utensils-crossed":[[6,"m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8"],[6,"M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7"],[6,"m2.1 21.8 6.4-6.3"],[6,"m19 5-7 7"]],"utility-pole":[[6,"M12 2v20"],[6,"M2 5h20"],[6,"M3 3v2"],[6,"M7 3v2"],[6,"M17 3v2"],[6,"M21 3v2"],[6,"m19 5-7 7-7-7"]],variable:[[6,"M8 21s-4-3-4-9 4-9 4-9"],[6,"M16 3s4 3 4 9-4 9-4 9"],[0,15,9,9,15],[0,9,9,15,15]],vault:[[5,3,3,18,18,2],[1,7.5,7.5,.5],[6,"m7.9 7.9 2.7 2.7"],[1,16.5,7.5,.5],[6,"m13.4 10.6 2.7-2.7"],[1,7.5,16.5,.5],[6,"m7.9 16.1 2.7-2.7"],[1,16.5,16.5,.5],[6,"m13.4 13.4 2.7 2.7"],[1,12,12,2]],vegan:[[6,"M2 2a26.6 26.6 0 0 1 10 20c.9-6.82 1.5-9.5 4-14"],[6,"M16 8c4 0 6-2 6-6-4 0-6 2-6 6"],[6,"M17.41 3.6a10 10 0 1 0 3 3"]],"venetian-mask":[[6,"M2 12a5 5 0 0 0 5 5 8 8 0 0 1 5 2 8 8 0 0 1 5-2 5 5 0 0 0 5-5V7h-5a8 8 0 0 0-5 2 8 8 0 0 0-5-2H2Z"],[6,"M6 11c1.5 0 3 .5 3 2-2 0-3 0-3-2Z"],[6,"M18 11c-1.5 0-3 .5-3 2 2 0 3 0 3-2Z"]],verified:[[6,"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"],[6,"m9 12 2 2 4-4"]],vibrate:[[6,"m2 8 2 2-2 2 2 2-2 2"],[6,"m22 8-2 2 2 2-2 2 2 2"],[5,8,5,8,14,1]],"vibrate-off":[[6,"m2 8 2 2-2 2 2 2-2 2"],[6,"m22 8-2 2 2 2-2 2 2 2"],[6,"M8 8v10c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2"],[6,"M16 10.34V6c0-.55-.45-1-1-1h-4.34"],[0,2,2,22,22]],video:[[6,"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"],[5,2,6,14,12,2]],"video-off":[[6,"M10.66 6H14a2 2 0 0 1 2 2v2.5l5.248-3.062A.5.5 0 0 1 22 7.87v8.196"],[6,"M16 16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2"],[6,"m2 2 20 20"]],videotape:[[5,2,4,20,16,2],[6,"M2 8h20"],[1,8,14,2],[6,"M8 12h8"],[1,16,14,2]],view:[[6,"M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2"],[6,"M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2"],[1,12,12,1],[6,"M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0"]],voicemail:[[1,6,12,4],[1,18,12,4],[0,6,16,18,16]],volume:[[6,"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"]],"volume-1":[[6,"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"],[6,"M16 9a5 5 0 0 1 0 6"]],"volume-2":[[6,"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"],[6,"M16 9a5 5 0 0 1 0 6"],[6,"M19.364 18.364a9 9 0 0 0 0-12.728"]],"volume-off":[[6,"M16 9a5 5 0 0 1 .95 2.293"],[6,"M19.364 5.636a9 9 0 0 1 1.889 9.96"],[6,"m2 2 20 20"],[6,"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11"],[6,"M9.828 4.172A.686.686 0 0 1 11 4.657v.686"]],"volume-x":[[6,"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"],[0,22,9,16,15],[0,16,9,22,15]],vote:[[6,"m9 12 2 2 4-4"],[6,"M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z"],[6,"M22 19H2"]],wallet:[[6,"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1"],[6,"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4"]],"wallet-2":[[6,"M17 14h.01"],[6,"M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14"]],"wallet-cards":[[5,3,3,18,18,2],[6,"M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2"],[6,"M3 11h3c.8 0 1.6.3 2.1.9l1.1.9c1.6 1.6 4.1 1.6 5.7 0l1.1-.9c.5-.5 1.3-.9 2.1-.9H21"]],"wallet-minimal":[[6,"M17 14h.01"],[6,"M7 7h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14"]],wallpaper:[[1,8,9,2],[6,"m9 17 6.1-6.1a2 2 0 0 1 2.81.01L22 15V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2"],[6,"M8 21h8"],[6,"M12 17v4"]],wand:[[6,"M15 4V2"],[6,"M15 16v-2"],[6,"M8 9h2"],[6,"M20 9h2"],[6,"M17.8 11.8 19 13"],[6,"M15 9h.01"],[6,"M17.8 6.2 19 5"],[6,"m3 21 9-9"],[6,"M12.2 6.2 11 5"]],"wand-2":[[6,"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72"],[6,"m14 7 3 3"],[6,"M5 6v4"],[6,"M19 14v4"],[6,"M10 2v2"],[6,"M7 8H3"],[6,"M21 16h-4"],[6,"M11 3H9"]],"wand-sparkles":[[6,"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72"],[6,"m14 7 3 3"],[6,"M5 6v4"],[6,"M19 14v4"],[6,"M10 2v2"],[6,"M7 8H3"],[6,"M21 16h-4"],[6,"M11 3H9"]],warehouse:[[6,"M22 8.35V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8.35A2 2 0 0 1 3.26 6.5l8-3.2a2 2 0 0 1 1.48 0l8 3.2A2 2 0 0 1 22 8.35Z"],[6,"M6 18h12"],[6,"M6 14h12"],[5,6,10,12,12]],"washing-machine":[[6,"M3 6h3"],[6,"M17 6h.01"],[5,3,2,18,20,2],[1,12,13,5],[6,"M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5"]],watch:[[1,12,12,6],[2,"12 10 12 12 13 13"],[6,"m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05"],[6,"m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05"]],waves:[[6,"M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"],[6,"M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"]],waypoints:[[1,12,4.5,2.5],[6,"m10.2 6.3-3.9 3.9"],[1,4.5,12,2.5],[6,"M7 12h10"],[1,19.5,12,2.5],[6,"m13.8 17.7 3.9-3.9"],[1,12,19.5,2.5]],webcam:[[1,12,10,8],[1,12,10,3],[6,"M7 22h10"],[6,"M12 22v-4"]],webhook:[[6,"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2"],[6,"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06"],[6,"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8"]],"webhook-off":[[6,"M17 17h-5c-1.09-.02-1.94.92-2.5 1.9A3 3 0 1 1 2.57 15"],[6,"M9 3.4a4 4 0 0 1 6.52.66"],[6,"m6 17 3.1-5.8a2.5 2.5 0 0 0 .057-2.05"],[6,"M20.3 20.3a4 4 0 0 1-2.3.7"],[6,"M18.6 13a4 4 0 0 1 3.357 3.414"],[6,"m12 6 .6 1"],[6,"m2 2 20 20"]],weight:[[1,12,5,3],[6,"M6.5 8a2 2 0 0 0-1.905 1.46L2.1 18.5A2 2 0 0 0 4 21h16a2 2 0 0 0 1.925-2.54L19.4 9.5A2 2 0 0 0 17.48 8Z"]],wheat:[[6,"M2 22 16 8"],[6,"M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z"],[6,"M7.47 8.53 9 7l1.53 1.53a3.5 3.5 0 0 1 0 4.94L9 15l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z"],[6,"M11.47 4.53 13 3l1.53 1.53a3.5 3.5 0 0 1 0 4.94L13 11l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z"],[6,"M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z"],[6,"M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z"],[6,"M15.47 13.47 17 15l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z"],[6,"M19.47 9.47 21 11l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L13 11l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z"]],"wheat-off":[[6,"m2 22 10-10"],[6,"m16 8-1.17 1.17"],[6,"M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z"],[6,"m8 8-.53.53a3.5 3.5 0 0 0 0 4.94L9 15l1.53-1.53c.55-.55.88-1.25.98-1.97"],[6,"M10.91 5.26c.15-.26.34-.51.56-.73L13 3l1.53 1.53a3.5 3.5 0 0 1 .28 4.62"],[6,"M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z"],[6,"M11.47 17.47 13 19l-1.53 1.53a3.5 3.5 0 0 1-4.94 0L5 19l1.53-1.53a3.5 3.5 0 0 1 4.94 0Z"],[6,"m16 16-.53.53a3.5 3.5 0 0 1-4.94 0L9 15l1.53-1.53a3.49 3.49 0 0 1 1.97-.98"],[6,"M18.74 13.09c.26-.15.51-.34.73-.56L21 11l-1.53-1.53a3.5 3.5 0 0 0-4.62-.28"],[0,2,2,22,22]],"whole-word":[[1,7,12,3],[6,"M10 9v6"],[1,17,12,3],[6,"M14 7v8"],[6,"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1"]],wifi:[[6,"M12 20h.01"],[6,"M2 8.82a15 15 0 0 1 20 0"],[6,"M5 12.859a10 10 0 0 1 14 0"],[6,"M8.5 16.429a5 5 0 0 1 7 0"]],"wifi-high":[[6,"M12 20h.01"],[6,"M5 12.859a10 10 0 0 1 14 0"],[6,"M8.5 16.429a5 5 0 0 1 7 0"]],"wifi-low":[[6,"M12 20h.01"],[6,"M8.5 16.429a5 5 0 0 1 7 0"]],"wifi-off":[[6,"M12 20h.01"],[6,"M8.5 16.429a5 5 0 0 1 7 0"],[6,"M5 12.859a10 10 0 0 1 5.17-2.69"],[6,"M19 12.859a10 10 0 0 0-2.007-1.523"],[6,"M2 8.82a15 15 0 0 1 4.177-2.643"],[6,"M22 8.82a15 15 0 0 0-11.288-3.764"],[6,"m2 2 20 20"]],"wifi-zero":[[6,"M12 20h.01"]],wind:[[6,"M17.7 7.7a2.5 2.5 0 1 1 1.8 4.3H2"],[6,"M9.6 4.6A2 2 0 1 1 11 8H2"],[6,"M12.6 19.4A2 2 0 1 0 14 16H2"]],wine:[[6,"M8 22h8"],[6,"M7 10h10"],[6,"M12 15v7"],[6,"M12 15a5 5 0 0 0 5-5c0-2-.5-4-2-8H9c-1.5 4-2 6-2 8a5 5 0 0 0 5 5Z"]],"wine-off":[[6,"M8 22h8"],[6,"M7 10h3m7 0h-1.343"],[6,"M12 15v7"],[6,"M7.307 7.307A12.33 12.33 0 0 0 7 10a5 5 0 0 0 7.391 4.391M8.638 2.981C8.75 2.668 8.872 2.34 9 2h6c1.5 4 2 6 2 8 0 .407-.05.809-.145 1.198"],[0,2,2,22,22]],workflow:[[5,3,3,8,8,2],[6,"M7 11v4a2 2 0 0 0 2 2h4"],[5,13,13,8,8,2]],worm:[[6,"m19 12-1.5 3"],[6,"M19.63 18.81 22 20"],[6,"M6.47 8.23a1.68 1.68 0 0 1 2.44 1.93l-.64 2.08a6.76 6.76 0 0 0 10.16 7.67l.42-.27a1 1 0 1 0-2.73-4.21l-.42.27a1.76 1.76 0 0 1-2.63-1.99l.64-2.08A6.66 6.66 0 0 0 3.94 3.9l-.7.4a1 1 0 1 0 2.55 4.34z"]],"wrap-text":[[0,3,6,21,6],[6,"M3 12h15a3 3 0 1 1 0 6h-4"],[2,"16 16 14 18 16 20"],[0,3,18,10,18]],wrench:[[6,"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"]],x:[[6,"M18 6 6 18"],[6,"m6 6 12 12"]],"x-circle":[[1,12,12,10],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],"x-octagon":[[6,"m15 9-6 6"],[6,"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z"],[6,"m9 9 6 6"]],"x-square":[[5,3,3,18,18,2,2],[6,"m15 9-6 6"],[6,"m9 9 6 6"]],youtube:[[6,"M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17"],[6,"m10 15 5-3-5-3z"]],zap:[[6,"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"]],"zap-off":[[6,"M10.513 4.856 13.12 2.17a.5.5 0 0 1 .86.46l-1.377 4.317"],[6,"M15.656 10H20a1 1 0 0 1 .78 1.63l-1.72 1.773"],[6,"M16.273 16.273 10.88 21.83a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14H4a1 1 0 0 1-.78-1.63l4.507-4.643"],[6,"m2 2 20 20"]],"zoom-in":[[1,11,11,8],[0,21,21,16.65,16.65],[0,11,8,11,14],[0,8,11,14,11]],"zoom-out":[[1,11,11,8],[0,21,21,16.65,16.65],[0,8,11,14,11]]};var Y={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};function Q(a,e){var M=document.createElementNS("http://www.w3.org/2000/svg",a);return Object.keys(e).forEach((function(a){M.setAttribute(a,e[a])})),M}function $(a){var e=a[0];if(0===e)return Q("line",{x1:a[1],y1:a[2],x2:a[3],y2:a[4]});if(1===e)return Q("circle",{cx:a[1],cy:a[2],r:a[3]});if(2===e)return Q("polyline",{points:a[1]});if(3===e)return Q("polygon",{points:a[1]});if(4===e)return Q("ellipse",{cx:a[1],cy:a[2],rx:a[3],ry:a[4]});if(5===e){var M={x:a[1],y:a[2],width:a[3],height:a[4]};return a[5]&&(M.rx=a[5]),a[6]&&(M.ry=a[6]),a[7]&&(M.transform=a[7]),Q("rect",M)}return 6===e?Q("path",{d:a[1]}):void 0}function aa(a){for(var e=Q("svg",Y),M=0,t=a;M',"bracket-glyph":'',"box-glyph":'',"check-small":'',"dice-glyph":'',dice:'',discord:'',"right-triangle":'',"heading-glyph":'',help:'',"keyboard-toggle":'',"broken-link":'',experiment:'',"left-arrow":'',link:'',"link-glyph":'',"links-coming-in":'',"links-going-out":'',"open-vault":'',paused:'',"question-mark-glyph":'',"right-arrow":'',"sidebar-left":'',"sidebar-right":'',"sheets-in-box":'',"star-list":'',"sync-small":'',tabs:'',"uppercase-lowercase-a":'',vault:'',"stack-horizontal":'',"stack-vertical":'',"stretch-horizontal":'',"stretch-vertical":'',"distribute-space-horizontal":'',"distribute-space-vertical":'',"zoom-to-selection":'',"create-group":'',"snap-to-object":'',"line-horizontal":'',"aspect-ratio":'',"rectangle-vertical-double":'',"tab-frame":'',"sidebar-toggle-button-icon":''},ta={},ha={viewBox:"0 0 100 100"},ra={};function la(a,e){if(!ra.hasOwnProperty(a)){var M=e();if(!M)return null;M.classList.add("svg-icon",a),ra[a]=M}return ra[a].cloneNode(!0)}function ia(a,e){var M=a.firstChild;if(!(M&&M.instanceOf(SVGSVGElement)&&M.classList.contains(e))){M&&a.removeChild(M);var t=function(a){return a.startsWith("lucide-")?la(a,(function(){var e=a.substring(7);return X.hasOwnProperty(e)?aa(X[e]):null})):ta.hasOwnProperty(a)?la(a,(function(){var e=Q("svg",ha);return e.innerHTML=ta[a],e})):Ma.hasOwnProperty(a)?la(a,(function(){var e=Q("svg",Y);return e.innerHTML=Ma[a],e})):(ea.hasOwnProperty(a)&&(a=ea[a]),X.hasOwnProperty(a)?la("lucide-"+a,(function(){return aa(X[a])})):null)}(e);t&&a.appendChild(t)}}var oa=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;function na(a,e,M){return M<0&&(M+=1),M>1&&(M-=1),M<1/6?a+6*(e-a)*M:M<.5?e:M<2/3?a+(e-a)*(2/3-M)*6:a}function ca(a){var e,M,t,h=a.h,r=a.s,l=a.l;if(h/=360,l/=100,0==(r/=100))e=M=t=l;else{var i=l<.5?l*(1+r):l+r-l*r,o=2*l-i;e=na(o,i,h+1/3),M=na(o,i,h),t=na(o,i,h-1/3)}return{r:Math.round(255*e),g:Math.round(255*M),b:Math.round(255*t)}}function sa(a){var e=a.toString(16);return 1===e.length?"0"+e:e}function va(a){var e=oa.exec(a);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}function ma(a,e){var M,t;void 0===e&&(e=!1),(e||u.hasPhysicalKeyboard)&&(t=function(){a.focus(),a.select()},(M=a).isShown()?t():M.onNodeInserted(t,!0))}for(var ua=new Map,pa=0,da="a abbr acronym b bdi bdo big br button canvas cite code data del dfn em embed i iframe img input ins kbd label map mark meter noscript object outputpicture progress q ruby s samp select small span strong sub sup svg textarea time u tt var video wbr".split(" ");pa.5?n/(2-l-i):n/(l+i),l){case e:h=(M-t)/n+(M{"use strict";window.OBSIDIAN_DEFAULT_I18N={setting:{options:"Options",plugin:"Plugin",builtinPlugins:"Core plugins",pluginOptions:"Plugin options",folderPathExamplePlaceholder:"Example: folder 1/folder 2",filePathExamplePlaceholder:"Example: folder/note",msgRestartRequired:"Changing this option requires a restart to take effect.",editor:{name:"Editor",sectionBehavior:"Behavior",sectionDisplay:"Display",optionSpellcheck:"Spellcheck",optionSpellcheckDescription:"Turn on the spellchecker.",spellcheckLanguages:"Spellcheck languages",spellcheckLanguagesDescription:"Choose the languages for the spellchecker to use.",spellcheckLanguagesMacDescription:"The native spellchecker will automatically detect the language being used for you on macOS.",spellcheckDict:"Spellcheck dictionary",spellcheckDictEmpty:"The spellcheck dictionary is empty.",optionShowInlineTitle:"Show inline title",optionShowInlineTitleDescription:"Displays the filename as an editable title inline with the file contents.",optionReadableLineLength:"Readable line length",optionReadableLineDescription:"Limit maximum line length. Less content fits onscreen, but long blocks of text are more readable.",optionStrictLineBreak:"Strict line breaks",optionStrictLineBreakDescription:"Markdown specs ignore single line breaks in reading view. Turn this off to make single line breaks visible.",optionPropertiesInDocument:"Properties in document",optionPropertiesInDocumentDescription:"Choose how properties are displayed at the top of notes. Select “source” to show properties as raw YAML.",optionPropertiesHidden:"Hidden",optionPropertiesVisible:"Visible",optionPropertiesSource:"Source",optionAutoPairBrackets:"Auto-pair brackets",optionAutoPairBracketsDescription:"Pair brackets and quotes automatically.",optionAutoPairMarkdown:"Auto-pair Markdown syntax",optionAutoPairMarkdownDescription:"Pair symbols automatically for bold, italic, code, and more.",optionSmartIndentLists:"Smart lists",optionSmartIndentListsDescription:"Automatically set indentation and place list items correctly.",optionFoldHeading:"Fold heading",optionFoldHeadingDescription:"Lets you fold all content under a heading.",optionFoldIndent:"Fold indent",optionFoldIndentDescription:"Lets you fold part of an indentation, such as lists.",optionDefaultNewTabView:"Default view for new tabs",optionDefaultNewTabViewDescription:"The default view that a new Markdown tab gets opened in.",optionDefaultNewTabViewEditing:"Editing view",optionDefaultNewTabViewReading:"Reading view",optionOpenTabInForeground:"Always focus new tabs",optionOpenTabInForegroundDescription:"When you open a link in a new tab, switch to it immediately.",optionDefaultEditingMode:"Default editing mode",optionDefaultEditingModeDescription:"The default editing mode a new tab will start with.",optionDefaultEditingModeSource:"Source mode",optionDefaultEditingModeLivePreview:"Live Preview",optionShowLineNumber:"Show line numbers",optionShowLineNumberDescription:"Show line numbers in the gutter.",optionIndentationGuide:"Show indentation guides",optionIndentationGuideDescription:"Show vertical relationship lines between list items.",optionUseTabs:"Indent using tabs",optionUseTabsDescription:"Use tabs to indent by pressing the “Tab” key. Turn this off to indent using 4 spaces.",optionTabSize:"Indent visual width",optionTabSizeDescription:"Number of spaces a tab character will render as.",optionRtl:"Right-to-left (RTL)",optionRtlDescription:"Sets the default text direction of notes to right-to-left.",optionAutoConvertHtml:"Convert pasted HTML to Markdown",optionAutoConvertHtmlDescription:"Automatically convert HTML to Markdown when pasting and drag-and-drop from web pages. Use Ctrl/Cmd+Shift+V to paste HTML without converting.",optionVimKeyBindings:"Vim key bindings",optionVimKeyBindingsDescription:"Use Vim key bindings when editing.",optionVimKeyBindingsMobile:"On mobile devices, this setting is per-device and is not synchronized through the config file.",optionReindexVault:"Rebuild vault cache",optionReindexVaultDescription:"Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.",labelReindex:"Rebuild",labelConfirmEnableVim:"Confirm entering Vim mode",labelVimWarning:"Vim mode is for efficient text editing but can be quite counter-intuitive. If you're not familiar with Vim, this option might make it look like Obsidian has stopped working.",labelVimTest:"To verify that you know your way around Vim, please enter the command to quit Vim without saving below:",labelVimYourAnswer:"Your answer",placeholderEnterCommand:"Enter command...",buttonConfirmEnableVim:"Let me enable Vim",msgVimModeEnabled:"Command is correct. Vim mode now enabled.",msgVimModeNotEnabled:"Command is incorrect. Vim mode remains disabled to protect you.",msgVimModePleaseEnterCommand:"Please enter the command to enable Vim mode"},file:{name:"Files and links",optionConfirmFileDeletion:"Confirm file deletion",optionConfirmFileDeletionDescription:"Ask before deleting a file.",optionTrash:"Trash",optionDeleteDestination:"Deleted files",optionDeleteDestinationDescription:"What happens to a file after you delete it.",optionChoiceSystemTrash:"Move to system trash",optionChoiceVaultTrash:"Move to Obsidian trash (.trash folder)",optionChoicePermanentDelete:"Permanently delete",optionAlwaysUpdateLinks:"Automatically update internal links",optionAlwaysUpdateLinksDescription:"Turn off to be prompted to update links after renaming a file.",optionNewNoteLocation:"Default location for new notes",optionNewNoteLocationDescription:"Where newly created notes are placed.",optionChoiceVaultRoot:"Vault folder",optionChoiceCurrentFolder:"Same folder as current file",optionChoiceSpecifiedFolder:"In the folder specified below",optionNewFileFolderPath:"Folder to create new notes in",optionNewFileFolderPathDescription:"Newly created notes will appear in this folder.",optionUseWikiLinks:"Use [[Wikilinks]]",optionUseWikiLinksDescription:"Auto-generate Wikilinks for [[links]] and ![[images]] instead of Markdown links and images. Disable this option to generate Markdown links instead.",optionShowUnsupportedFiles:"Show all file types",optionShowUnsupportedFilesDescription:"Show files with any extension even if Obsidian can't open them natively, so you can link to them and see them in File Explorer and Quick Switcher.",optionLinks:"Links",optionLinkAutocompletedFormat:"New link format",optionLinkAutocompletedFormatDescription:"What links to insert when auto-generating internal links.",optionChoiceShortestLinktext:"Shortest path when possible",optionChoiceRelativePath:"Relative path to file",optionChoiceAbsolutePath:"Absolute path in vault",optionNewAttachmentLocation:"Default location for new attachments",optionNewAttachmentLocationDescription:"Where newly added attachments are placed.",optionNewAttachmentLocationDefault:"attachments",optionChoiceSubdirectory:"In subfolder under current folder",optionAttachmentFolderPath:"Attachment folder path",optionAttachmentFolderPathDescription:"Place newly created attachment files, such as images created via drag-and-drop or audio recordings, in this folder.",optionAttachmentSubfolderPath:"Subfolder name",optionAttachmentSubfolderPathDescription:"If your file is in “vault/folder”, and you set subfolder name to “attachments”, attachments will be saved to “vault/folder/attachments”.",optionExcludedFiles:"Excluded files",optionExcludedFilesDesc:"Excluded files will be hidden in Search, Graph View, and Unlinked Mentions, less noticeable in Quick Switcher and link suggestions.",labelNoExcludedFiltersApplied:"No excluded filter is applied right now. Add one below.",labelExcludedFiltersApplied:"Files matching the following filters are currently excluded:",labelExcludedFilter:"Filter",messageEmptyFilter:"Filter cannot be empty",placeholderExcludedFilter:"Enter path or “/regex/”...",optionUriCallbacks:"Allow URI callbacks",optionUriCallbacksDesc:"Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs."},appearance:{name:"Appearance",optionBaseTheme:"Base color scheme",optionBaseThemeDescription:"Choose Obsidian's default color scheme.",optionAccentColor:"Accent color",optionAccentColorDescription:"Choose the accent color used throughout the app.",darkTheme:"Dark",lightTheme:"Light",systemTheme:"Adapt to system",optionFont:"Font",optionAdvanced:"Advanced",optionInterface:"Interface",optionInterfaceFont:"Interface font",optionInterfaceFontDescription:"Set base font for all of Obsidian.",optionZoomLevel:"Zoom level",optionZoomLevelDescription:"Controls the overall zoom level of the app.",optionTextFont:"Text font",optionTextFontDescription:"Set font for editing and reading views.",optionMonospaceFont:"Monospace font",optionMonospaceFontDescription:"Set font for places like code blocks and frontmatter.",labelSingleFontCurrentlyInEffect:" Currently applied font: ",labelMultipleFontsCurrentlyInEffect:" The following fonts are currently applied:",optionFontPlaceholder:"Enter font name...",labelNoCustomFontSet:"No custom font is applied right now. Add one below.",labelFontApplied:"The first font from this list that is available on your system will be applied.",msgFontNotFound:"This font is not detected on your system.",msgFontFound:"This font is detected on your system.",labelFontName:"Font name",optionCommunityThemes:"Community themes",optionCommunityThemesDescription:"Preview and use amazing themes created by the community.",buttonBrowseCommunityThemes:"Browse",optionFontSize:"Font size",optionFontSizeDescription:"Font size in pixels that affects editing and reading views.",optionFontSizeAction:"Quick font size adjustment",optionFontSizeActionDescription:"Adjust the font size using Ctrl + Scroll, or using the trackpad pinch-zoom gesture.",optionThemes:"Themes",optionManageThemesDescription:"Manage installed themes and browse community themes.",optionThemeButtonManage:"Manage",optionChoiceNone:"None",optionNativeMenus:"Native menus",optionNativeMenusDesc:"Menus throughout the app will match the operating system. They will not be affected by your theme.",buttonReloadThemes:"Reload themes",msgReloadedThemes:"Reloaded custom CSS themes.",buttonOpenThemesFolder:"Open themes folder",optionCssSnippets:"CSS snippets",labelNoCssSnippetsFound:"No CSS snippets found.",noSnippetDescription:"CSS Snippets are stored in “{{path}}”.",buttonReloadSnippets:"Reload snippets",buttonOpenSnippetsFolder:"Open snippets folder",msgReloadedSnippets:"Reloaded CSS snippets.",optionToggleSnippetDescription:"Apply CSS snippet at “{{path}}”.",labelInstalledThemes:"Installed themes",labelScreenshotUnavailable:"Screenshot unavailable",labelDefaultTheme:"Default",tooltipClickToEnlarge:"Click to enlarge",buttonUpdate:"Update",labelCurrentlyActive:"Active",optionFrameStyle:"Window frame style",optionFrameDescription:"Determines the styling of the title bar of Obsidian windows. Requires a full restart to take effect.",optionFrameHidden:"Hidden (default)",optionFrameObsidian:"Obsidian frame",optionFrameNative:"Native frame",optionCustomIcon:"Custom app icon",optionCustomIconDesc:"Set a custom icon for the app",buttonChooseCustomIcon:"Choose custom icon",optionConfigureRibbon:"Ribbon menu configuration",optionConfigureRibbonDesc:"Configure what commands appear in the ribbon menu.",optionMobileQuickRibbonItem:"Quick access ribbon item",optionMobileQuickRibbonItemDesc:"Choose the behavior of tapping the ribbon button in the navigation menu. By default, this will open a menu showing all your ribbon items.",optionMobileQuickRibbonDefault:"Open ribbon menu",buttonConfigure:"Configure",optionShowRibbon:"Show ribbon",optionShowRibbonDesc:"Display vertical toolbar on the side of the window.",labelAdditionalRibbonItems:"Other ribbon items",labelModalConfiguration:"Ribbon menu",labelModalConfigurationDesc:"Choose what items you want to be active in the ribbon. Drag and drop to change the order.",optionShowViewHeader:"Show tab title bar",optionShowViewHeaderDesc:"Display the header at the top of every tab.",msgUpdatesFound:"Found {{count}} theme to update.",msgUpdatesFound_plural:"Found {{count}} themes to update.",buttonCheckForUpdates:"Check for updates",buttonViewUpdates:"View updates",buttonUpdateAllThemes:"Update all",labelCurrentThemes:"Current community themes",labelCurrentlyInstalled:"You currently have {{count}} theme installed.",labelCurrentlyInstalled_plural:"You currently have {{count}} themes installed."},hotkeys:{name:"Hotkeys",optionSearch:"Search hotkeys",optionSearchDesc:"Showing {{count}} hotkey. ",optionSearchDesc_plural:"Showing {{count}} hotkeys. ",optionSearchConflict:"{{count}} command with conflicts.",optionSearchConflict_plural:"{{count}} commands with conflicts.",promptFilter:"Filter...",tooltipDeleteHotkey:"Delete hotkey",labelWaitingForHotkeyPress:"Press hotkey...",labelShowAll:"All",labelShowUnassigned:"Unassigned",labelShowAssigned:"Assigned",labelShowUserAssigned:"Assigned by me",tooltipRestoreDefault:"Restore default",tooltipCustomizeCommand:"Customize this command",tooltipHotkeySingleConflict:"This hotkey conflicts with “{{command}}”",tooltipHotkeyMultipleConflicts:"This hotkey conflicts with {{count}} other commands",labelBlankHotkey:"Blank"},integrations:{name:"Integrations",keychain:"Keychain",actionAddPrivateKey:"Add private key",actionEditPrivateKey:"Edit private key",actionShowPrivateKeyValue:"Show private key",actionHidePrivateKeyValue:"Hide private key",labelPrivateKeyId:"ID",labelPrivateKeyValue:"Private key",placeholderPrivateKeyId:"provider-name",placeholderPrivateKeyValue:"sk-...",optionPrivateKeyIdDescription:"Lowercase letters, numbers and dashes only.",optionPrivateKeyValueDescription:"Enter your private key.",msgErrorUpdatePrivateKey:"Failed to update private key.",msgErrorAddPrivateKey:"Failed to add private key.",msgErrorPrivateKeyIdExists:"A private key with this ID already exists.",keychainEmptyState:"No private keys have been added. Add a private key to use with integrations."},about:{name:"General",labelCommercialLicense:"Commercial license",labelLicenseKey:"License key",licenseKeyPlaceholder:"Your license key...",labelActivateLicense:"Activate license",buttonActivate:"Activate",labelUnknownVersion:"Unknown",labelVersion:"Version {{version}}",labelInstallVersion:"(Installer version: {{version}})",labelUpToDate:"Obsidian is up to date!",labelReadChangelog:"Read the changelog.",labelManualUpdateRequired:"To support the latest features and to receive the latest security patches, Obsidian needs a major installer update. You need to manually download and reinstall Obsidian.",labelNewVersionReady:"A new version is ready to be installed. ",labelDisabledUpdates:"Updates are disabled.",buttonRelaunch:"Relaunch",buttonCheckForUpdates:"Check for updates",optionAutoUpdate:"Automatic updates",optionAutoUpdateDescription:"Turn this off to prevent the app from checking for updates.",optionCheckSlowStartup:"Notify if startup takes longer than expected",optionCheckSlowStartupDescription:"Diagnose issues with your app by seeing what is causing the app to load slowly.",buttonCheckStartup:"Check now",optionGetHelp:"Help",optionGetHelpDescription:"Learn how to use Obsidian and get help from the community.",buttonOpen:"Open",optionLanguage:"Language",optionLanguageDescription:"Change the display language.",optionInsiderBuild:"Receive early access versions",optionInsiderBuildDescription:"Auto-update to the latest early access version. These versions include new features but may be less stable.",optionAdvanced:"Advanced",optionHwAcceleration:"Hardware acceleration",optionHwAccelerationDescription:"Turns on Hardware Acceleration, which uses your GPU to make Obsidian smoother.",optionHwAccelerationWarning:"If you turn this off, app performance will be severely degraded.",optionConfigLocation:"Override config folder",optionConfigLocationDescription:"Use a different config folder than the default one. Must start with a dot.",optionConfigLocationWarning:"Config location must be a valid folder name that starts with a dot.",labelLicense:"License",labelYourCommercialLicenseKey:"Your commercial license key is “{{key}}”.",labelCommercialLicenseInfo:"Registered to “{{company}}” for {{seats}} users. Valid until {{expiry}}.",labelValidatingCommercialLicense:"Validating...",labelInvalidCommercialLicense:"License invalid: ",buttonRemoveCommercialLicense:"Remove",optionCatalyst:"Catalyst license",optionCatalystDesc:"You currently have the {{tier}} Catalyst license. Thanks for your support!",optionCatalystDescNoLicense:"You don't have a Catalyst license. Catalyst is a one-time donation that helps Obsidian remain 100% user-supported and gives you early access to new features.",labelApp:"App",labelAddOwnLanguage:"Learn how to add a new language to Obsidian."},account:{name:"Account",optionYourAccount:"Your account",optionYourAccountDesc:"You're currently signed in as {{name}} ({{email}}).",optionYourAccountDescNoLogin:"You're not logged in right now. An account is only needed for Obsidian Sync, Obsidian Publish, and early access versions.",labelInsider:"Insider",labelSupporter:"Supporter",labelVip:"VIP",buttonUpgradeCatalyst:"Upgrade",optionCommercialLicense:"Commercial license",optionCommercialLicenseDesc:"Help keep Obsidian 100% user-supported.",buttonPurchase:"Purchase",buttonLogOut:"Log out",labelLogIn:"Log in",labelSignUp:"Sign up",labelEmail:"Email",placeholderEmail:"Your email...",labelName:"Full name",labelPassword:"Password",placeholderPassword:"Your password...",labelForgotPassword:"Forgot password?",buttonLogin:"Login",messageEmptyEmail:"Email cannot be empty.",messageInvalidEmail:"Email is not valid.",messageEmptyPassword:"Password cannot be empty.",messageLoginFailed:"Login failed, please double check your email and password.",messageSignupFailed:"Failed to sign up",labelNoAccount:"Don't have an account? ",linkSignUpNow:"Sign up now",labelMfaCode:"6-digit 2FA code",mfaWrongFormat:"The 2FA authenticator code must be 6 digits.",mfaVerificationFailed:"2FA code is incorrect, please double check your authenticator app."},corePlugin:{pluginList:"Plugin list",optionSearchPlugin:"Search core plugins",optionSearchPluginDescription:"Filter plugins by name or description.",placeholderSearchPlugin:"Search plugins..."},thirdPartyPlugin:{name:"Community plugins",optionRestrictedMode:"Restricted mode",optionRestrictedModeDescription:"Restricted mode is off. Turn on to disable community plugins.",buttonTurnOn:"Turn on and reload",optionBrowseCommunityPlugins:"Community plugins",optionBrowseCommunityPluginsDescription:"Browse and install community plugins made by our amazing community.",buttonBrowse:"Browse",labelExitRestrictedMode:"Exit Restricted Mode",labelExitRestrictedModeDescription_1:"Community plugins, like any other software you install, could potentially cause data integrity and security issues.",labelExitRestrictedModeDescription_2:"Plugin security is important to us. Here's what we do:",labelExitRestrictedModeDescription_3:"Despite our efforts, there is still a small chance that a community plugin might misbehave.",labelCodeReview:"Initial code review",labelCodeReviewDesc:"Plugins in the official community directory undergo an initial code review by our team before they are listed.",labelOpenSource:"Open source",labelOpenSourceDesc:"Most plugins are open source on GitHub, so you can inspect the code yourself.",labelPeerAudit:"Peer audit",labelPeerAuditDesc:"We have a large community of developers who watch out for each other.",labelReportMechanism:"Report mechanism",labelReportMechanismDesc:"We follow up and remove faulty plugins upon user report.",labelExitRestrictedModeDisableConfirmation:"Would you like to exit Restricted Mode to enable community plugins? We strongly recommend making backups of your data before doing so.",labelLearnMore:"Learn more about plugin security",buttonTurnOnCommunityPlugins:"Turn on community plugins",labelTrustAuthor:"Do you trust the author of this vault?",labelTrustAuthorDescription_1:"You're opening this vault for the first time, and it comes with some plugins.",labelTrustAuthorDescription_2:"If you obtained this vault from someone else, please note that plugins of unknown origin might pose security risks.",labelTrustAuthorDescription_3:"If you do not fully trust the author of this vault, we recommend staying in Restricted Mode, so the plugins in this vault do not run.",buttonEnablePlugins:"Trust author and enable plugins",buttonDontTrustAuthor:"Browse vault in Restricted Mode",placeholderCommunityPlugins:"Search community plugins...",msgFailedLoadPlugins:"Failed to load community plugins.",labelInstalled:"Installed",buttonInstall:"Install",buttonEnable:"Enable",buttonDisable:"Disable",buttonCopyShareLink:"Copy share link",buttonDonate:"Donate",labelNoResultsFound:"No results found.",labelNoRecentFilesFound:"No recent files found. Type to search...",msgFailedToLoadManifest:"Failed to load plugin manifest.",labelVersion:"Version: {{version}}",labelCurrentlyInstalledVersion:" (currently installed: {{version}})",labelByAuthor:"By ",labelRepository:"Repository: ",labelLastUpdate:"Last update: ",tooltipViewLastUpdate:"View the latest update",labelUnsupported:"This plugin does not support your device.",buttonUpdate:"Update",labelNoReadme:"This plugin did not provide a README file.",msgInstallingPlugin:"Installing plugin “{{name}}”...",msgFailedToInstallPlugin:"Failed to install plugin “{{name}}”.",msgSuccessfullyInstalledPlugin:"Successfully installed plugin “{{name}}”.",msgFailedToUninstallPlugin:"Failed to uninstall plugin “{{id}}”.",msgFailedToDisablePlugin:"Failed to disable plugin “{{id}}”.",labelInstalledPlugins:"Installed plugins",buttonReloadPlugins:"Reload plugins",msgReloadedThirdPartyPlugins:"Reloaded third-party plugins.",labelUninstall:"Uninstall",labelUninstallPlugin:"Uninstall plugin",labelUninstallPluginConfirmation:"Are you sure you want to uninstall this plugin? This will delete the folder of the plugin.",buttonOpenPluginsFolder:"Open plugins folder",buttonCheckForUpdates:"Check for updates",buttonUpdateAllPlugins:"Update all",labelCurrentPlugins:"Current plugins",labelCurrentlyInstalled:"You currently have {{count}} plugin installed.",labelCurrentlyInstalled_plural:"You currently have {{count}} plugins installed.",msgNoUpdatesFound:"No plugin updates found.",msgUpdatesFound:"Found {{count}} plugin to update.",msgUpdatesFound_plural:"Found {{count}} plugins to update.",msgUpdatePlugin:"Update to version {{version}}",optionSearchInstalledPlugin:"Search installed plugins",optionSearchInstalledPluginDescription:"Filter installed plugins by name or description.",placeholderSearchInstalledPlugin:"Search installed plugins...",showInstalledOnly:"Show installed only",labelDonateModalTitle:"Donate to support {{name}}",labelDonateModalText1:"Plugin developers are community volunteers who make amazing things out of passion. If you find this plugin useful, please consider funding its development.",labelDonateModalText2:"100% of your contribution will go to the plugin developer; Obsidian does not take a cut. The funding platform they choose might charge a fee.",labelDonateModalText3:"Thanks for your generous support!",labelSupportThisPlugin:"Support this plugin:",labelSearchSummary:"Showing {{pluginCount}}:",labelByPopularity:"Most downloaded",labelByReleased:"Recently released",labelByUpdated:"Recently updated",labelAlphabetical:"Alphabetical",labelLastUpdated:"Updated {{time}}"},mobileToolbar:{name:"Toolbar",optionConfigureQuickAction:"Configure mobile Quick Action",optionConfigureQuickActionDescription:"Configure which command to trigger when pulling down from the top. The current command is set to “{{command}}”.",msgMissingQuickAction:"Action not configured",buttonConfigure:"Configure",placeholderSelectQuickAction:"Select Quick Action...",quickActionDisabled:"None",manageToolbarOptions:"Manage toolbar options",optionInternalLink:"Add internal link",optionInternalEmbed:"Add embed",optionTag:"Add tag",optionHeading:"Toggle heading",optionStrikethrough:"Toggle strikethrough",optionHighlight:"Toggle highlight",optionCode:"Toggle code",optionBlockquote:"Toggle blockquote",optionInlineMath:"Toggle inline math",optionMathBlock:"Toggle math block",optionMarkdownLink:"Add Markdown link",optionBulletList:"Toggle bullet list",optionNumberedList:"Toggle numbered list",optionIndentList:"Indent list item",optionUnindentList:"Unindent list item",optionUndo:"Undo",optionRedo:"Redo",optionMoveCaretUp:"Move caret up",optionMoveCaretDown:"Move caret down",optionMoveCaretLeft:"Move caret left",optionMoveCaretRight:"Move caret right",optionFirstLine:"Go to first line",optionLastLine:"Go to last line",optionToggleKeyboard:"Toggle keyboard",optionConfigureToolbar:"Configure mobile toolbar",optionAddedOptions:"Added options",optionMoreToolbarOptions:"More toolbar options",optionAttach:"Insert attachment",optionAddCommand:"Add global command",optionAddCommandDescription:"Select any global command to add to the toolbar."}},editor:{search:{placeholderFind:"Find...",placeholderReplace:"Replace...",labelExitSearch:"Exit search",labelNext:"Next",labelPrevious:"Previous",labelFindAll:"Find all",labelReplace:"Replace",labelReplaceAll:"Replace all"},linkSuggestion:{labelTypeHash:"Type #",labelLinkHeading:"to link heading",labelTypeBlock:"Type ^",labelLinkBlock:"to link blocks",labelTypePipe:"Type |",labelChangeDisplayText:"to change display text",labelNoAlias:"Display text",labelNoHeading:"Heading",labelNoMatchFound:"No match found",labelImageSize:"Image size: {{size}}px wide",labelAccept:"to accept",labelNewFootnote:"New footnote..."},spellcheck:{noSuggestion:"No suggestions...",addToDictionary:"Add to dictionary"},menu:{editLink:"Edit link",editTag:"Edit tag",labelEditBlock:"Edit this block",labelDeleteFootrefAndNote:"Delete footnote and reference"},headingSuggestion:{labelNoHeading:"No heading",labelHeadingLevel:"Heading {{level}}"},printModal:{title:"Export to PDF",caption:"Export “{{filename}}” to PDF with the settings below.",settingPageSize:"Page size",settingPageSizeA3:"A3",settingPageSizeA4:"A4",settingPageSizeA5:"A5",settingPageSizeLegal:"Legal",settingPageSizeLetter:"Letter",settingPageSizeTabloid:"Tabloid",settingIncludeFileName:"Include file name as title",settingLandscape:"Landscape",settingMargin:"Margin",settingMarginDefault:"Default",settingMarginMinimal:"Minimal",settingMarginNone:"None",settingDownscalePercent:"Downscale percent",buttonExportToPdf:"Export to PDF"},linkPopover:{tooltipFollowLink:"Follow link",tooltipOpenLink:"Open link",tooltipSearchTag:"Search tag"}},interface:{embedCannotFind:"Cannot find:",labelUnableToFindSection:"Unable to find “{{subpath}}” in {{file}}",embedOpenInDefaultAppTooltip:"Open in default app",emptySidebar:"The sidebar is empty, try dragging a tab here.",sidebarExpand:"Expand",sidebarCollapse:"Collapse",msgFailToSaveFile:"Failed to save file “{{filepath}}”. {{message}}. Make a backup of the contents of this file now to avoid losing data.",msgFailedToLoadPlugin:"Failed to load plugin “{{plugin}}”",msgPluginError:"Plugin “{{plugin}}” encountered an error while loading",msgFailedToLoadFile:"Failed to open “{{filepath}}”",msgFailedToOpenHref:"Cannot open location “{{href}}”",noFile:"No file",msgFileChanged:"“{{file}}” has been modified externally, merging changes automatically.",switchVault:"Open another vault",manageVaults:"Manage vaults...",help:"Help",settings:"Settings",dragToRearrange:"Drag to rearrange",msgSwitchedToRead:"Switched default view mode to reading view.",msgSwitchedToEdit:"Switched default view mode to editing view.",msgUpgradeInstaller:"To use this feature, please re-install with latest installer available from our website.",msgSlowBoot:"Slow startup time detected.",msgDesktopOnlyFeature:"This feature is only available in the desktop app.",tooltipRestoreDefaultSettings:"Restore default settings",labelCopy:"Copy to clipboard",labelCopyShort:"Copy",copied_generic:"Copied to your clipboard",copied:"{{item}} copied to your clipboard",copy_failed:"Unable to copy to your clipboard",copyPath:"Copy path",copyRelativePath:"Copy relative path",promptFilter:"Filter...",url:"URL",msgCodeblockRenderError:"Encountered an error while rendering code block.",msgOpenFileThroughUri:"Opened file “{{path}}”",msgFileNotFoundThroughUri:"File “{{name}}” not found.",deleteActionShortName:"Delete",msgIndexing:"Indexing vault...",msgIndexingDesc:"Some functionality may not be available until this is complete.",msgIndexingComplete:"Indexing complete.",msgSandboxVault:"This is a sandbox vault.\nChanges you make in this vault will be lost.",msgIndexedDbNotSupported:"IndexedDB is required for this feature, but it is currently disabled.",msgIndexedDbIOS:'If you are using iOS in Lockdown Mode, please exclude Obsidian from the "Configure Web Browsing" setting of Lockdown Mode.',labelEnterToCreate:"Enter to create",labelUpdateAvailable:"Update Available",labelDebugInfo:"Debug info",buttonLearnMore:"Learn more",buttonNotNow:"Not now",buttonAdd:"Add",buttonManage:"Manage",labelNewTab:"New tab",optionHideRibbon:"Hide ribbon",msgTabBusy:"This tab is currently busy, please try again later",formatting:{labelFormatting:"Format",labelParagraph:"Paragraph",labelInsert:"Insert",insertLink:"Add link",insertExternalLink:"Add external link",insertCallout:"Callout",insertHorizontalRule:"Horizontal rule",insertCodeBlock:"Code block",insertMathBlock:"Math block",insertTable:"Table",insertFootnote:"Footnote",toggleBold:"Bold",toggleCode:"Code",toggleComments:"Comment",toggleHighlight:"Highlight",toggleItalics:"Italic",toggleStrikethrough:"Strikethrough",toggleMath:"Math",toggleBulletList:"Bullet list",toggleChecklist:"Task list",toggleNumberedList:"Numbered list",setHeading:"Heading {{level}}",noHeading:"Body",clear:"Clear formatting",toggleQuote:"Quote"},emptyState:{empty:"Empty",noFileOpen:"No file is open",createNewFile:"Create new note",goToFile:"Go to file",seeRecentFiles:"See recent files",close:"Close",closeAll:"Close all “{{id}}” tabs ({{count}})",unknownPaneTitle:"Plugin no longer active",unknownPaneDesc:"The plugin that created this tab ({{type}}) has gone away."},releaseNotes:{tabTitle:"Release Notes {{version}}",msgMissingReleaseNotes:"No release notes available for {{version}}.",msgFailedToLoad:"Could not load release notes for {{version}}."},menu:{editView:"Current view: editing",readView:"Current view: reading",ribbon:"Ribbon",leftSidebar:"Left sidebar",rightSidebar:"Right sidebar",switchToEditView:"Click to edit",switchToReadView:"Click to read",modClickOpenNewTab:"{{key}}+Click to open to the right",msgMarkdownCopyInstructions:"Press {{key}}+C to copy source",find:"Find...",replace:"Replace...",edit:"Edit",remove:"Remove",removeFromList:"Remove from list",rename:"Rename",preview:"Preview",moreOptions:"More options",close:"Close",closeAll:"Close all",closeTabsWithCount:"Close {{count}} tab",closeTabsWithCount_plural:"Close {{count}} tabs",closeOthers:"Close others",closeAfter:"Close tabs after",pin:"Pin",unpin:"Unpin",unlinkTab:"Unlink tab",linkTab:"Link with tab...",toggleSourceMode:"Source mode",toggleReadingView:"Reading view",addProperty:"Add file property",deleteFile:"Delete file",createFile:"Create this file",openLink:"Open link",openInNewTab:"Open in new tab",openToTheRight:"Open to the right",copyUrl:"Copy URL",copy:"Copy",cut:"Cut",paste:"Paste",pasteAsPlainText:"Paste as plain text",lookupSelection:"Look up “{{selection}}”",selectAll:"Select all",renameHeading:"Rename this heading...",renameBlockid:"Rename this block ID...",openInNewWindow:"Open in new window",moveToNewWindow:"Move to new window",openInBrowser:"Open external link",stackTabs:"Stack tabs",unstackTabs:"Unstack tabs",openLinkedView:"Open linked view"},tooltip:{clickToExpand:"Click to expand",clickToCollapse:"Click to collapse",alias:"Alias",notCreatedYet:"Not created yet, select to create"},startScreen:{labelVersion:"Version",labelCreateLocalVault:"Create local vault",optionOpenFolderAsVault:"Open folder as vault",optionOpenFolderAsVaultDescription:"Choose an existing folder of Markdown files.",optionCreateVault:"Create new vault",optionCreateVaultDescription:"Create a new Obsidian vault under a folder.",optionConnectObsidianSync:"Open vault from Obsidian Sync",optionConnectObsidianSyncDescription:"Set up a synced vault with existing remote vault.",optionNewVaultName:"Vault name",optionNewVaultNameDescription:"Pick a name for your awesome vault.",optionNewVaultLocation:"Location",optionNewVaultLocationDescription:"Pick a place to put your new vault.",labelNewVaultLocationPreview:"Your new vault will be placed in: ",optionRevealVaultInExplorer:"Reveal vault in system explorer",optionRevealVaultInExplorerMac:"Reveal vault in Finder",optionRenameVault:"Rename vault...",optionCopyVaultID:"Copy vault ID",msgErrorRenameExists:"There is already a vault with this name.",msgErrorNested:"Cannot move vault into a subfolder of itself.",msgErrorRenameOpen:"Can't rename a currently open vault.",msgRenameFailed:"Failed to rename vault.",msgRenameSuccess:"Successfully renamed vault.",optionMoveVault:"Move vault...",msgMoveSelectDest:"Select destination folder",msgErrorMoveExists:"There is already a vault at the destination.",msgErrorMoveOpen:"Can't move a currently open vault.",msgMoveFailed:"Failed to move vault.",msgMoveSuccess:"Successfully moved vault.",optionRemove:"Remove from list",buttonQuickStart:"Quick start",buttonOpen:"Open",buttonBrowse:"Browse",buttonConnect:"Connect",buttonCreateVault:"Create",buttonBack:"Back",msgEmptyVaultName:"Vault name cannot be empty.",msgTrailingDotVaultName:"Vault name cannot end with a dot.",msgInvalidFolder:"Please pick a valid folder.",msgFailedToCreateVault:"Failed to create vault.",msgFailedToCreateVaultAtLocation:"Could not create vault at the given location. Please double check the location and permission.",msgErrorFailedToOpenVault:"Failed to open.",msgErrorRemoveCurrentOpenVault:"Can't remove a currently open vault.",optionGetHelp:"Get Help",optionUserEmail:"Email",placeholderYourEmail:"Your email...",optionUserPassword:"Password",placeholderYourPassword:"Your password...",buttonSignIn:"Sign in",buttonSetup:"Setup",optionConnectVaultDesc:"Create a synced vault on this device.",tooltipOwnVault:"This is a remote vault owned by you.",tooltipSharedVault:"This is a remote vault shared with you.",mobile:{labelStartScreen:"Your thoughts are yours.",labelSynced:"synced",labelNotSynced:"not synced",labelNone:"None",labelRecommended:"Recommended",labelStartScreenDesc:"Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.",optionCreate:"Create a vault",optionUseExisting:"Use my existing vault",labelSyncIntro:"To access your notes on other devices you need to set up sync.",labelSyncIntroDesc:"Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.",optionSetupSync:"Setup Sync",optionSkip:"Continue without sync",optionSkipShort:"Skip",labelVaultCreate:"Configure your new vault.",buttonCreate:"Create vault",labelSyncSetup:"Sync setup",labelSyncSetupDesc:"Create a synced vault on your Obsidian account so you can access your data from other devices.",labelRemoteVaultCreate:"Sync encryption",optionEncryptionCustom:"End-to-end encryption",optionEncryptionCustomDesc:"Offers the strongest security but requires you to safely store your encryption password",optionEncryptionManaged:"Standard encryption",optionEncryptionManagedDesc:"Uses a key managed by Obsidian to protect your data in transit and on our servers.",labelSyncSettings:"Sync Settings",labelSyncSettingsDesc:"Do you want to exclude any folders or files when syncing to this device?",buttonStart:"Start syncing",labelSignInOrSignUp:"Create an Obsidian account or sign in",optionSignUp:"Sign up",optionSignIn:"Sign in",buttonResendEmail:"Re-send email",labelRemoteVaultOptions:"You have existing Sync vaults",labelRemoteVaultOptionsDesc:"Do you want to create a new vault or connect to an existing synced vault?",optionRemoteCreate:"Create new Sync vault",optionRemoteChoose:"Choose an existing vault",buttonLogout:"Log out",buttonForgotPassword:"Forgot password",labelVaultName:"Vault name",labelVaultLocation:"Vault location",labelVaultLocationDesc:"Your new vault will be placed in {{vaultLocation}}",labelRegionSelection:"Region",labelRegionSelectionHelp:"Choose a server region near you to make syncing faster.",labelEncryptionKey:"Encryption key",labelEncryptionKeyHelp:"This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.",placeholderVaultName:"My vault",optRegionSelectionAutomatic:"Automatic",labelRemoteVaultSelection:"Choose a vault",labelRemoteVaultSelectionDesc:"Your account **{{email}}** has existing vaults you can connect to.",labelSignIn:"Sign in to your Obsidian account",labelForgotPassword:"Forgot password",buttonResetPassword:"Reset password",msgPasswordReset:"We have sent an email to {{email}} to reset your password.",labelSyncMethodSelection:"Choose how to sync your notes",labelSyncMethodSelectionDesc:"To use Obsidian on your devices you will need to sync your data.",labelSyncPro1:"Seamless across every device and OS.",labelSyncPro2:"Secured with the strongest end-to-end encryption standard.",labelSyncPro3:"Requires an Obsidian account.",labelIcloudCon1:"Only for iOS and macOS.",labelIcloudCon2:"Not encrypted by default.",labelThirdPartyDesc1:"Requires third-party plugins or tools.",labelThirdPartyDesc2:"May not be encrypted by default.",optUseObsidianSync:"Use Obsidian Sync",optUseIcloud:"Use iCloud",optUseOther:"Use third-party sync",optLearnOtherSync:"Other sync methods",optUseSupported:"Use supported sync methods",labelSyncRestore:"Where is your vault located?",labelObsidianSync:"Obsidian Sync",labelIcloud:"iCloud",labelOther:"Other",labelOtherSync:"Third-party sync",labelLocalFolder:"On this device",optionConnectIcloud:"Connect to iCloud",optionConnectOther:"Connect to other sync service",optionConnectSync:"Connect to Obsidian Sync",optionConnectLocalFolder:"Choose folder",labelSyncOther:"Other syncing methods",labelSyncOtherDesc:"Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.",labelEmailEntry:"Enter your email",labelEmailEntryDesc:"Your email is required to create an Obsidian account.",labelSignup:"Enter your name and password",emailVerification:"Connect to Obsidian Sync",emailVerificationDesc:"You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.",icloudMissing:"iCloud",icloudMissingDesc:"Your iCloud vault was not detected. This could be due to any of the following reasons:",icloudMissingReason1:"Your vault is on a different iCloud account than the one you are currently signed into on this device.",icloudMissingReason2:"Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.",iCloudUnsupported:"iCloud not supported",iCloudUnsupportedDesc:"iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.",allowFileAccess:"Allow file access",msgLoginPending:"Logging you in...",msgNameRequired:"Vault name is required",msgNewEmailSuccess:"New confirmation email sent.",msgNewEmailFailure:"Failed to resend email.",msgInvalidVault:"Vault location must be a folder."}},starterContent:{welcomeFilename:"Welcome",welcomeFileContent:"This is your new *vault*.\n\nMake a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nWhen you're ready, delete this note and make the vault your own."},dragAndDrop:{insertLinkHere:"Insert link here",insertLinksHere:"Insert links here",moveIntoFolder:"Move into “{{folder}}”",starThisFile:"Star this file",starTheseFiles:"Star these files",openInThisTab:"Open in this tab",openAsTab:"Open as new tab"},window:{maximize:"Maximize",minimize:"Minimize",restoreDown:"Restore down",closeWindow:"Close window",goBack:"Go back",goForward:"Go forward"},startUp:{loadingObsidian:"Loading Obsidian...",obsidianLoadError:"An error occurred while loading Obsidian.",buttonReloadApp:"Reload app",buttonReloadAppInSafeMode:"Reload app in Restricted Mode",buttonOpenAnotherVault:"Open another vault",loadingPlugins:"Loading plugins...",msgPluginHang:"Plugin “{{plugin}}” is taking long to load. ",loadingVault:"Loading vault...",msgFailedToLoadVault:"Failed to load vault: ",loadingCache:"Loading cache...",loadingWorkspace:"Loading workspace..."},mobile:{actionImport:"Import into vault",actionInsertTextDesc:"Add text to file:",actionChooseFileToInsert:"Choose a file...",actionInsertTextIntoFile:"{{filename}}",actionInsertLinkIntoFile:"Insert link into “{{filename}}”",actionShowSwitcher:"Show tab overview",msgImporting:"Importing...",msgImportSuccess:"Import success",msgFailedToImportFile:"Failed to import file “{{filename}}”",msgBackAgainToExit:"Press back again to exit.",feedback:{labelFeedback:"Feedback",labelFeedbackDesc:"Are you enjoying Obsidian? Help us by giving it a rating.",actionRate:"Rate the app",actionDismiss:"Dismiss"}},helpScreen:{labelOfficialHelpSite:"Official help site",labelOfficialHelpSiteDesc:"Read the official help documentation of Obsidian, available in multiple languages.",actionVisit:"Visit",labelDiscordChat:"Discord chat",labelDiscordChatDesc:"Discord is the best place to chat with other experienced Obsidian users from around the world.",actionJoin:"Join",labelForum:"Official forum",labelForumDesc:"Help each other, post feature requests, report bugs, and have in-depth discussions about knowledge management.",labelSandboxVault:"Sandbox vault",labelSandboxVaultDesc:"Play around and experiment with various features. Please note your changes will not be saved."}},commands:{saveFile:"Save current file",downloadAttachments:"Download attachments for current file",followCursorLink:"Follow link under cursor",openCursorLinkInNewTab:"Open link under cursor in new tab",openCursorLinkToTheRight:"Open link under cursor to the right",openCursorLinkInNewWindow:"Open link under cursor in new window",navigateTabAbove:"Focus on tab group above",navigateTabBelow:"Focus on tab group below",navigateTabLeft:"Focus on tab group to the left",navigateTabRight:"Focus on tab group to the right",togglePin:"Toggle pin",splitRight:"Split right",splitDown:"Split down",toggleStackedTabs:"Toggle stacked tabs",toggleReadableLineLength:"Toggle readable line length",navigateBack:"Navigate back",navigateForward:"Navigate forward",toggleLightDarkMode:"Toggle light/dark mode",changeTheme:"Change theme",searchCurrentFile:"Search current file",searchReplaceCurrentFile:"Search & replace in current file",addProperty:"Add file property",labelSortPropertyAToZ:"Name (A to Z)",labelSortPropertyZToA:"Name (Z to A)",addAlias:"Add alias",clearProperties:"Clear file properties",openSettings:"Open settings",openHelp:"Open help",toggleEdit:"Toggle editing/reading view",toggleSourceMode:"Toggle Live Preview/Source mode",deleteCurrentFile:"Delete current file",newTab:"New tab",newWindow:"New window",showTrash:"Show trash",closeAllTabs:"Close all tabs",closeActiveTab:"Close current tab",closeOthersInTabGroup:"Close others in tab group",closeOtherTabs:"Close all other tabs",closeTabGroup:"Close this tab group",toggleLeftSidebar:"Toggle left sidebar",toggleRibbon:"Toggle ribbon",toggleRightSidebar:"Toggle right sidebar",toggleDefaultNewTabMode:"Toggle default mode for new tabs",addCursorAbove:"Add cursor above",addCursorBelow:"Add cursor below",focusEditor:"Focus on last note",toggleFoldProperties:"Toggle fold properties in current file",toggleFold:"Toggle fold on the current line",foldAll:"Fold all headings and lists",unfoldAll:"Unfold all headings and lists",foldMore:"Fold more",foldLess:"Fold less",swapLineUp:"Move line up",swapLineDown:"Move line down",removeHeading:"Remove heading",toggleHeading:"Set as heading {{level}}",toggleBold:"Toggle bold",toggleItalics:"Toggle italic",toggleHighlight:"Toggle highlight",toggleComments:"Toggle comment",clearFormatting:"Clear formatting",insertLink:"Insert Markdown link",toggleSpellcheck:"Toggle spellcheck",deleteParagraph:"Delete paragraph",toggleChecklist:"Toggle checkbox status",cycleListChecklist:"Cycle bullet/checkbox",insertCallout:"Insert callout",insertCodeBlock:"Insert code block",insertMathBlock:"Insert math block",insertHorizontalRule:"Insert horizontal rule",insertTable:"Insert table",insertFootnote:"Insert footnote",editFileTitle:"Rename file",copyPath:"Copy file path",copyUrl:"Copy Obsidian URL",exportPdf:"Export to PDF...",reload:"Reload app without saving",undoCloseTab:"Undo close tab",contextMenu:"Show context menu under cursor",showDebugInfo:"Show debug info",openSandboxVault:"Open sandbox vault",alwaysOnTop:"Toggle window always on top",zoomIn:"Zoom in",zoomOut:"Zoom out",resetZoom:"Reset zoom",togglePreview:"Toggle reading view",moveToNewWindow:"Move current tab to new window",openInNewWindow:"Open current tab in new window",renameCurrentFile:"Rename current file",goToPrevTab:"Go to previous tab",goToNextTab:"Go to next tab",goToLastTab:"Go to last tab",goToNthTab:"Go to tab #{{n}}",showReleaseNotes:"Show release notes"},dialogue:{labelLinkAffected:"This will affect {{links}} in {{files}}.",msgUpdatedLinks:"Updated {{links}} in {{files}}.",labelUpdateLinks:"Update links",labelConfirmUpdateLinkToFile:"Do you want to update internal links that link to this file?",buttonAlwaysUpdate:"Always update",buttonJustOnce:"Just once",buttonDoNotUpdate:"Do not update",labelConfirmDeletion:"Are you sure you want to delete “{{filename}}”?",labelMoveToSystemTrash:"It will be moved to your system trash.",labelMoveToVaultTrash:"It will be moved to your Obsidian trash, which is located in the “.trash” hidden folder in your vault.",labelPermanentDelete:"The file will be permanent deleted.",labelNonEmptyFolder:"This folder is not empty.",labelDeleteFolderWarning:"If you continue, all files inside this folder will be deleted.",labelDeleteFolder:"Delete folder",buttonDelete:"Delete",buttonDeleteDoNotAskAgain:"Delete and don't ask again",labelDoNotAskAgain:"Don't ask again",labelExistingBacklink:"There is currently {{count}} link pointing to this note.",labelExistingBacklink_plural:"There are currently {{count}} links pointing to this note.",labelDeleteFile:"Delete file",labelDownloadAttachments:"Download attachments",labelNoAttachments:"There are no external attachments in this note.",labelDownloadedAttachments:"Downloaded {{count}} attachment.",labelDownloadedAttachments_plural:"Downloaded {{count}} attachments.",msgFilesUpdated:"Updated {{count}} file.",msgFilesUpdated_plural:"Updated {{count}} files.",msgFilesReverted:"Reverted changes to {{count}} file.",msgFilesReverted_plural:"Reverted changes to {{count}} files.",msgLoading:"Loading...",buttonManage:"Manage",buttonView:"View",buttonConfirm:"Confirm",buttonCancel:"Cancel",buttonDownload:"Download",buttonDone:"Done",buttonSave:"Save",buttonStop:"Stop",buttonContinue:"Continue",buttonChoose:"Choose",buttonRetry:"Retry",buttonUpdate:"Update",buttonUndo:"Undo",preparingPdf:"Preparing PDF...",labelRenameFile:"Note title",labelRenameFileGeneric:"File name",labelNewName:"New name",msgRenameSuccess:"Successfully renamed file.",msgMergeFailed:"Failed to merge notes: {{message}}",msgFileOrFolderNotFound:"The file or folder “{{path}}” does not exist.",msgHeadingEmpty:"Heading cannot be empty",msgBlockIdEmpty:"Block ID cannot be empty",msgBlockIdInvalid:"Block ID can only contain alphanumeric characters or dash",labelRenameHeading:"Rename heading",labelRenameBlockid:"Rename block ID"},menuItems:{newFile:"New Note",newFileToTheRight:"New Note to the Right",newTab:"New Tab",newWindow:"New Window",openSwitcher:"Open Quickly...",openVault:"Open Vault...",closeTab:"Close Tab",closeWindow:"Close Window",find:"Find",replace:"Replace",insertCallout:"Callout",insertMarkdownLink:"Markdown Link",insertWikilink:"Link",setHeading:"Heading {{level}}",noHeading:"Body",insertQuote:"Quote",exportPdf:"Export To PDF...",insertAttachment:"Insert Attachment...",insertCodeblock:"Code Block",insertMathBlock:"Math Block",insertTable:"Table",insertFootnote:"Footnote",toggleBulletList:"Bullet List",toggleNumberedList:"Numbered List",toggleChecklist:"Task List",toggleBold:"Bold",toggleCode:"Code",toggleComment:"Comment",toggleItalics:"Italics",toggleInlineMath:"Math",toggleHighlight:"Highlight",toggleStrikethrough:"Strikethrough",toggleComments:"Comment",foldingMenu:"Folding",foldAll:"Fold All",unfoldAll:"Unfold All",foldMore:"Fold More",foldLess:"Fold Less",sourceMode:"Source Mode",readingView:"Reading View",showDebugInfo:"Show Debug Info",openSandbox:"Open Sandbox Vault",moveToNewWindow:"Move To New Window",navigateBack:"Navigate Back",navigateForward:"Navigate Forward",toggleLeftSidebar:"Left Sidebar",toggleRightSidebar:"Right Sidebar",toggleRibbon:"Ribbon",splitRight:"Split Right",splitDown:"Split Down",releaseNotes:"Release Notes"},plugins:{name:"Plugins",fileExplorer:{name:"Files",desc:"Browse the files and folders in your vault.",actionOpen:"Open file explorer",actionShow:"Show file explorer",actionCreateNote:"Create new note",actionCreateFolder:"Create new folder",actionCreateNoteInCurrentTab:"Create new note in current tab",actionCreateNoteToTheRight:"Create note to the right",actionAutoReveal:"Auto-reveal current file",actionCollapseAll:"Collapse all",actionExpandAll:"Expand all",actionNewNote:"New note",actionNewFolder:"New folder",actionChangeSort:"Change sort order",actionRevealFile:"Reveal file in navigation",actionRevealActiveFile:"Reveal current file in navigation",commandMakeACopy:"Make a copy of the current file",commandMakeACopyMac:"Duplicate current file",commandMoveFile:"Move current file to another folder",actionNewFolderWithCount:"New folder with selection ({{count}} item)",actionNewFolderWithCount_plural:"New folder with selection ({{count}} items)",actionMoveFile:"Move file to...",actionMoveFolder:"Move folder to...",actionMoveItems:"Move {{count}} items to...",promptTypeFolder:"Type a folder",labelNoFolders:"No existing folders found.",instructionNavigate:"to navigate",instructionMove:"to move",instructionCreate:"to create",instructionDismiss:"to dismiss",labelSortAToZ:"File name (A to Z)",labelSortZToA:"File name (Z to A)",labelSortNewToOld:"Modified time (new to old)",labelSortOldToNew:"Modified time (old to new)",labelSortCreatedOldToNew:"Created time (old to new)",labelSortCreatedNewToOld:"Created time (new to old)",menuOptNewNote:"New note",menuOptNewFolder:"New folder",menuOptRename:"Rename...",menuOptDelete:"Delete",menuOptMakeCopy:"Make a copy",menuOptMakeCopyMac:"Duplicate",msgInvalidCharacters:"File name cannot contain any of these characters: ",msgUnsafeCharacters:"Links will not work with file names containing any of these characters: ",msgFileAlreadyExists:"There's already a file with the same name",msgEmptyFileName:"File name cannot be empty.",msgBadDotfile:"File name must not start with a dot.",tooltipModifiedTime:"Last modified at {{time}}",tooltipCreatedTime:"Created at {{time}}",tooltipFoldersFilesCount:"{{fileCount}}, {{folderCount}}",labelUntitledFile:"Untitled",labelUntitledFolder:"Untitled",msgSetAttachmentFolder:"Attachments will be saved to “{{path}}” from now on."},search:{name:"Search",desc:"Search for a keyword in all the notes.",actionOpenSearch:"Search in all files",labelCollapseResults:"Collapse results",labelMatchCase:"Match case",labelExplainSearchTerm:"Explain search terms",labelMoreContext:"Show more context",labelResultCount:"{{count}} result",labelResultCount_plural:"{{count}} results",labelToggleSearchSettings:"Search settings",promptStartSearch:"Search...",labelMatchText:"Matches text: ",labelMatchRegex:"Matches regex: ",labelMatchExactText:"Contains exact text: ",labelMatchGreaterThan:"Greater than: ",labelMatchLessThan:"Less than: ",labelMatchTrue:"Is true",labelMatchFalse:"Is false",labelMatchEmpty:"Is empty",labelMatchProperty:"Contains property:",labelMatchAll:"Match all of: ",labelMatchAny:"Match any of: ",labelExcluding:"Excluding: ",labelCaseSensitive:"Case sensitive",labelCaseInsensitive:"Case insensitive",labelMatchFilePath:"Match file path: ",labelMatchFileName:"Match file name: ",labelMatchContent:"Match file content: ",labelMatchTask:"Match task: ",labelMatchTaskTodo:"Match task (todo): ",labelMatchTaskDone:"Match task (done): ",labelMatchLine:"Match line: ",labelMatchBlock:"Match block: ",labelMatchSection:"Match section: ",labelMatchTag:"Match tag: ",labelNoMatches:"No matches found.",matchesWithCount:"... and {{count}} more match.",matchesWithCount_plural:"... and {{count}} more matches.",labelCopySearchResults:"Copy search results",buttonCopyResults:"Copy results",msgSuccessfullyCopied:"Results copied to your clipboard.",optionShowPath:"Show path",optionShowPathDescription:"Display full path of the file rather than just the file name.",optionLinkStyle:"Link style",optionLinkStyleDescription:"Optionally turn each file result in to a link.",optionChoiceLinkStyleNone:"None",optionChoiceLinkStyleWikilink:"Wikilink",optionChoiceLinkStyleMarkdownLink:"Markdown link",optionListPrefix:"List prefix",optionListPrefixDescription:"Optionally add a list item prefix to each file result.",optionChoiceListStyleNone:"None",optionChoiceListStyleDash:"Dash (-)",optionChoiceListStyleAsterisk:"Asterisk (*)",optionChoiceListStyleNumbered:"Numbered",tooltipClearSearch:"Clear search",labelSearchOptions:"Search options",labelPropertiesGroup:"Properties",labelTagsGroup:"Tags",tooltipReadMore:"Read more",labelHistory:"History",tooltipClearHistory:"Clear search history",labelPathOptionDescription:"match path of the file",labelFileNameOptionDescription:"match file name",labelTagOptionDescription:"search for tags",labelLineOptionDescription:"search keywords on same line",labelSectionOptionDescription:"search keywords under same heading",labelPropertyOptionDescription:"match property",menuOptSearchFor:"Search for “{{keyword}}”",menuOptSearchInFolder:"Search in folder"},quickSwitcher:{name:"Quick switcher",desc:"Jump to other files with your keyboard.",shortName:"Switcher",actionOpen:"Open quick switcher",instructionNavigate:"to navigate",instructionOpen:"to open",instructionOpenInNewTab:"to open in new tab",instructionOpenToTheRight:"to open to the right",instructionCreate:"to create",instructionDismiss:"to dismiss",instructionSelect:"to select",labelNoNoteCreateNew:"No notes found. Enter to create a new one.",promptTypeFileName:"Find or create a note...",labelEnterToCreate:"Enter to create",tooltipNotCreatedYet:"Not created yet, select to create",optionShowExistingOnly:"Show existing only",optionShowExistingOnlyDescription:"Only show results from existing files. Links to files that are not yet created will be hidden.",optionShowAttachments:"Show attachments",optionShowAttachmentsDesc:"Show attachment files like images, videos, and PDFs.",optionShowAllFileTypes:"Show all file types",optionShowAllFileTypesDesc:"Show all files including ones that Obsidian can't open. The file will be opened with the default app for that file type."},graphView:{name:"Graph view",desc:"Visualize the relationships between your notes.",actionOpen:"Open graph view",actionOpenLocal:"Open local graph",actionCopyScreenshot:"Copy screenshot",tabTitle:"Graph of {{displayText}}",labelFilters:"Filters",promptFilterNodes:"Search files...",optionDepth:"Depth",optionDepthDescription:"Show nodes this number of links away",optionNeighborLinks:"Neighbor links",optionNeighborLinksDescription:"Show links between neighbors",optionForelinks:"Outgoing links",optionForelinksDescription:"Show links to other files",optionBacklinks:"Incoming links",optionBacklinksDescription:"Show links from other files",optionShowTags:"Tags",optionShowTagsDescription:"Tags are linked to the files that contain them",optionShowAttachments:"Attachments",optionShowAttachmentsDescription:"Show attachments",optionShowExistingFilesOnly:"Existing files only",optionShowExistingFilesOnlyDescription:"When enabled, links to nonexistent files are not shown",optionShowOrphans:"Orphans",optionShowOrphansDescription:"Show files that are not linked to any other file",labelDisplay:"Display",optionShowArrows:"Arrows",optionShowArrowsDescription:"Show arrows when zoomed in",optionTextFade:"Text fade threshold",optionNodeSize:"Node size",optionLinkThickness:"Link thickness",labelForces:"Forces",optionCenterForce:"Center force",optionLinkForce:"Link force",optionLinkDistance:"Link distance",optionRepelForce:"Repel force",tooltipOpenGraphSettings:"Open graph settings",msgScreenshotCopied:"Screenshot copied to the clipboard.",labelGroups:"Groups",placeholderEnterQuery:"Enter query...",tooltipDeleteGraph:"Delete group",buttonNewGroup:"New group",tooltipClickToChangeDragToReorder:"Click to change color\nDrag to reorder groups",actionTimelapse:"Start graph timelapse animation",tooltipStartTimelapseAnimation:"Start timelapse animation",buttonAnimateTimelapse:"Animate"},backlinks:{name:"Backlinks",desc:"Show links from other files to the current file. Backlinks can be shown in a separate view or at the bottom of the note.",actionOpen:"Open backlinks",actionShow:"Show backlinks",actionOpenForCurrent:"Open backlinks for the current note",actionToggleBacklinksInDocument:"Toggle backlinks in document",menuOptBacklinksInDocument:"Backlinks in document",labelLinkedMentions:"Linked mentions",labelNoBacklinks:"No backlinks found.",labelUnlinkedMentions:"Unlinked mentions",labelShowSearch:"Show search filter",labelLinkButtonText:"Link",tabTitle:"Backlinks for {{displayText}}",labelNoUnlinkedMentions:"No unlinked mentions found.",ellipsis:"...",optionBacklinkInDocument:"Show backlinks at the bottom of notes",optionBacklinkInDocumentDesc:"Make backlinks visible in new tabs by default."},outgoingLinks:{name:"Outgoing links",desc:"Show outgoing links and detect unlinked mentions of other notes in the current note.",actionOpen:"Open outgoing links",actionShow:"Show outgoing links",actionOpenForCurrent:"Open outgoing links for the current file",tabTitle:"Outgoing links from {{displayText}}",labelLinks:"Links",labelNoLinks:"No links found.",labelUnlinkedMentions:"Unlinked mentions",tooltipLinkFile:"Link this file",tooltipNotCreated:"Not created yet"},tagPane:{name:"Tags view",shortName:"Tags",desc:"Show a list of all tags and their number of occurrences.",actionShow:"Show tags",labelNoTags:"No tags found.",labelSortByNameAToZ:"Tag name (A to Z)",labelSortByNameZToA:"Tag name (Z to A)",labelSortByFrequencyHighToLow:"Frequency (high to low)",labelSortByFrequencyLowToHigh:"Frequency (low to high)",actionShowNestedTags:"Show nested tags",actionCollapseAll:"Collapse all",actionExpandAll:"Expand all"},footnotesPane:{name:"Footnotes view",shortName:"Footnotes",desc:"Show a list of footnotes from the current note.",actionShow:"Show footnotes",labelNoFootnotes:"No footnotes found."},properties:{name:"Properties view",desc:"Show the metadata for your files in the sidebar.",nameGlobal:"All properties",nameLocal:"File properties",tabTitle:"File properties for {{displayText}}",actionShow:"Show all properties",actionShowLocal:"Show file properties",optDeleteProperties:"Delete property",optDeleteProperties_plural:"Delete properties",optAutomatic:"Automatic",optAutomaticWithType:"Automatic ({{type}})",labelNoProperties:"No properties found.",labelInvalidProperties:"Invalid properties.",labelSortByNameAToZ:"Property name (A to Z)",labelSortByNameZToA:"Property name (Z to A)",labelSortByFrequencyHighToLow:"Frequency (high to low)",labelSortByFrequencyLowToHigh:"Frequency (low to high)",msgMergePropertiesWarning:"Merge property “{{oldKey}}” with “{{newKey}}”?",msgMergePropertiesWarningDesc:"In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.",actionCollapseAll:"Collapse all",actionExpandAll:"Expand all",actionOpenLocal:"Open file properties",actionOpenDailyNote:"Open daily note"},pagePreview:{name:"Page preview",desc:"Hover an internal link to preview its content. In editor mode, press Ctrl/Cmd while hovering.",labelEmptyAttachment:"“{{linktext}}” could not be found.",labelEmptyNote:"“{{linktext}}” is not created yet. Click to create.",labelMissingFootote:"Footnote {{id}} not found. Click to create.",labelSourceEditor:"Editing view",labelSourcePreview:"Reading view",labelSourceSearch:"Search, Backlinks, and Outgoing links",labelSourceTabHeader:"Tab header",labelRequireMod:"Require {{key}} to trigger page preview on hover"},bookmarks:{name:"Bookmarks",desc:"Save shortcuts to files, searches, headings, and graphs.",actionShow:"Show bookmarks",actionCollapseAll:"Collapse all",actionNewBookmark:"Bookmark the active tab...",actionNewGroup:"New group",actionBookmark:"Bookmark...",actionAddBookmark:"Add bookmark",actionEditBookmark:"Edit bookmark",actionBookmarkBlock:"Bookmark block under cursor...",actionBookmarkHeading:"Bookmark heading under cursor...",actionBookmarkSearch:"Bookmark current search...",actionRemoveBookmark:"Remove bookmark for the current file",actionBookmarkTabGroup:"Bookmark {{count}} tab...",actionBookmarkTabGroup_plural:"Bookmark {{count}} tabs...",actionBookmarkAllTabs:"Bookmark all tabs...",actionBookmarkGraph:"Bookmark this graph...",labelBookmark:"Bookmark",labelBookmarked:"Bookmarked",labelBookmarkWithCount:"{{count}} bookmark",labelBookmarkWithCount_plural:"{{count}} bookmarks",labelNoBookmarks:"No bookmarks found",labelInvalidData:"Failed to load bookmarks.",labelInvalidDataDesc:"The data file is corrupted.",labelUntitledGroup:"Untitled group",labelUntitledGraph:"Untitled Graph",menuOptEdit:"Edit...",menuOptRemove:"Remove",menuOptRename:"Rename",menuOptBookmarkBlock:"Bookmark this block...",menuOptBookmarkHeading:"Bookmark this heading...",msgNoSearchQuery:"No search query to bookmark.",optionPath:"Path",optionQuery:"Query",optionURL:"URL",optionTitle:"Title",optionGroup:"Bookmark group",placeholderBookmarkGroup:"Bookmarks"},customCss:{name:"Custom CSS",desc:"Read and apply “obsidian.css” in the vault folder.",settingCommunityThemes:"Community themes",msgFetchingThemes:"Fetching community theme data...",promptFilter:"Filter...",labelDarkThemeOnly:"Dark themes only",labelLightThemeOnly:"Light themes only",labelUse:"Use this theme",labelStopUse:"Stop using this theme",labelInstallAndUse:"Install and use",labelUpdate:"Update",labelNoReadme:"This theme did not provide a README file.",tooltipRemoveTheme:"Remove theme",labelVisitOnGithub:"Visit on GitHub",msgLoadError:"Could not load community themes, please check your network.",msgNowUsingTheme:"You're now using {{title}} as your CSS theme.",msgDeletedTheme:"The theme {{title}} has been deleted.",msgUpdatedTheme:"The theme {{title}} has been updated.",labelInstalled:"Installed",labelLegacy:"Legacy",buttonUpdateAllThemes:"Update all",msgFailedLoadThemes:"Failed to load community themes.",msgNoUpdatesFound:"No theme updates found.",msgUpdatesFound:"Found {{count}} theme to update.",msgUpdatesFound_plural:"Found {{count}} themes to update.",msgFailedToInstallTheme:"Failed to install theme “{{name}}”.",msgSuccessfullyInstalledTheme:"Successfully installed theme “{{name}}”.",msgInstallingTheme:"Installing theme “{{name}}”...",labelSearchSummary:"Showing {{themeCount}}:",labelUpdateAvailable:"Update available"},commandPalette:{name:"Command palette",desc:"Use Cmd/Ctrl+P and begin typing to invoke a command.",actionOpen:"Open command palette",instructionNavigate:"to navigate",instructionUse:"to use",instructionDismiss:"to dismiss",labelNoCommands:"No commands found.",promptTypeCommand:"Select a command...",labelPinnedCommands:"Pinned commands",optionAddNewPin:"New pinned command",optionAddNewPinDescription:"Pinned commands will appear at the top of all commands when no search query is present."},markdownFormatImporter:{name:"Format converter",desc:"Convert Markdown from other apps to Obsidian format.",actionOpen:"Open format converter",optionRoamTagFixer:"Roam Research tag fixer",optionRoamTagFixerDescription:"Converts “#tag” and “#[[tag]]” to “[[tag]]”.",optionRoamHighlightFixer:"Roam Research highlight fixer",optionRoamHighlightFixerDescription:"Converts “^^highlight^^” to “==highlight==”.",optionRoamTodoConverter:"Roam Research TODO converter",optionRoamTodoConverterDescription:"Converts “{{[[TODO]]}}” to “[ ]”.",optionBearHighlightFixer:"Bear highlight fixer",optionBearHighlightFixerDescription:"Converts “::highlight::” to “==highlight==”.",zettelkastenLinkFixer:"Zettelkasten link fixer",zettelkastenLinkFixerDescription:"Fixes “[[UID]]” links to full “[[UID File Name]]”.",zettelkastenLinkBeautifier:"Zettelkasten link beautifier",zettelkastenLinkBeautifierDescription:"Fixes “[[UID]]” links and also beautify them “[[UID File Name|File Name]]”.",frontmatterMigration:"Frontmatter migration",frontmatterMigrationDescription:"Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+",msgAllFilesWarning:"Warning: the converter will convert all the files in your vault, not just the current file.",msgOverrideFilesWarning:"Your files will be overwritten. Back up all your files before attempting conversion.",labelStartConversion:"Start conversion",labelStop:"Stop",labelGoBack:"Go back",labelDone:"Done",labelProcessing:"Processing...",labelCancelling:"Cancelling...",labelFinished:"Finished!",labelProcessedFiles:"Processed files",labelModifiedFiles:"Modified files",labelTotalReplacements:"Total replacements",labelFailed:"Failed"},dailyNotes:{name:"Daily notes",desc:"Create or open today's daily note.",shortName:"Today",actionOpen:"Open today's daily note",actionOpenPrevious:"Open previous daily note",actionOpenNext:"Open next daily note",actionInsertText:"Today's daily note",actionInsertLink:"Insert link into daily note",msgFailFormat:"Failed to create daily note. “{{format}}” is not a valid format.",msgFailFolder:"Failed to create daily note. Folder “{{folderOption}}” not found.",msgFailTemplateFile:"Failed to create daily note. Template file “{{template}}” not found.",msgNoPrevious:"There's no daily note before this one.",msgNoNext:"There's no daily note after this one.",optionDateFormat:"Date format",labelReferToSyntax:"For more syntax, refer to ",labelSyntaxLink:"format reference",labelSyntaxLivePreview:"Your current syntax looks like this: ",optionNewFileLocation:"New file location",optionNewFileLocationDescription:"New daily notes will be placed here.",optionTemplate:"Template file location",optionTemplateDescription:"Choose the file to use as a template.",optionOpenOnStart:"Open daily note on startup",optionOpenOnStartDescription:"Open your daily note automatically whenever you open this vault."},uniqueNoteCreator:{name:"Unique note creator",desc:"Create notes with unique timestamp prefixes, for workflows like zettelkasten or slip box.",shortName:"Unique",actionCreateNote:"Create new unique note",actionAddLink:"Add unique internal link",optionNewFileLocation:"New file location",optionNewFileLocationDescription:"The folder path to create the new unique note in.",msgFolderNotFound:"Failed to create unique note. Folder “{{folderOption}}” not found.",optionTemplateFile:"Template file location",optionTemplateFileDescription:"The file path to use as template.",optionTemplateFilePlaceholder:"Example: folder1/note",optionIdFormat:"Unique prefix format",msgTemplateFileNotFound:"Failed to create unique note. Template file “{{template}}” not found.",msgFailedToGenerate:"Failed to generate a unique note with the format “{{format}}”"},randomNote:{name:"Random note",desc:"Open a random note to rediscover or review.",shortName:"Random",actionOpen:"Open random note"},outline:{name:"Outline",desc:"Show the table of contents for the current note.",actionOpen:"Open outline",actionShow:"Show outline",actionOpenForCurrent:"Open outline of the current file",tabTitle:"Outline of {{displayText}}",labelNoHeadings:"No headings found.",labelFollowCursor:"Auto-scroll to current section"},wordCount:{name:"Word count",desc:"Show word count in the status bar."},slides:{name:"Slides",desc:"Create a presentation by using “---” to separate slides.",actionStart:"Start presentation"},audioRecorder:{name:"Audio recorder",desc:"Record audio notes and save them as attachments.",actionStart:"Start recording audio",actionStop:"Stop recording audio",actionToggle:"Start/stop recording",msgAccessDenied:"Microphone access was denied, please enable it from the preference pane.",msgPendingGrant:"Please grant microphone permission to start recording.",msgNoMicrophone:"No microphone is connected."},openWithDefaultApp:{name:"Open in default app",desc:"Add a button to open the current file in its default app.",actionOpenFile:"Open in default app",actionOpenFileMobile:"Share",actionShowInFolder:"Show in system explorer",actionShowInFolderMac:"Reveal in Finder"},templates:{name:"Templates",desc:"Insert template content from a folder of template files.",actionInsert:"Insert template",actionInsertCurrentDate:"Insert current date",actionInsertCurrentTime:"Insert current time",optionTemplateFolderLocation:"Template folder location",optionTemplateFolderLocationDescription:"Files in this folder will be available as templates.",optionTemplateDateFormat:"Date format",optionTemplateDateFormatDescription:"{{date}} in the template file will be replaced with this value.",optionTemplateDateFormatDescription2:"You can also use {{date:YYYY-MM-DD}} to override the format once.",optionTemplateTimeFormat:"Time format",optionTemplateTimeFormatDescription:"{{time}} in the template file will be replaced with this value.",optionTemplateTimeFormatDescription2:"You can also use {{time:HH:mm}} to override the format once.",instructionNavigate:"to navigate",instructionInsert:"to insert template",instructionDismiss:"to dismiss",msgNoTemplatesFound:"No templates found",msgFailInvalidFolder:"Failed to list templates. Template folder is invalid.",msgFailFolderNotFound:"Failed to list templates. Folder “{{folderOption}}” not found.",msgFailInvalidTemplateProperties:"Unable to insert template, the properties in the template file could not be read.",msgNoFolderSet:"Failed to list templates. No template folder configured.",promptTypeTemplate:"Type name of a template..."},translucency:{name:"Translucent window",desc:"Turn on translucency effect to enhance a sense of depth. Best used with dark mode. Not supported on Linux."},slashCommand:{name:"Slash commands",desc:"Trigger commands in the editor by using the forward slash key."},editorStatus:{name:"Show editing mode in status bar",desc:"Show the editing mode toggle in the status bar.",read:"Reading",editSource:"Source mode",editLivePreview:"Live Preview"},publish:{name:"Publish",desc:"Host your notes online as a website, wiki or documentation.",actionPublishChanges:"Publish changes...",actionPublishFile:"Publish current file",labelNoInternetAccess:"You need access to the internet to publish changes.",labelPublishServiceDescription:"Obsidian Publish is an add-on paid service that lets you publish your notes online directly from Obsidian.",labelPleaseLogin:"To start publishing, please log in or create a new Obsidian account.",labelNoPublishSubscription:"You do not have an Obsidian Publish subscription yet.",buttonPurchase:"Purchase",labelManageSites:"Manage sites",labelNoSites:"You don't have any sites.",buttonChoose:"Choose",tooltipEditSiteId:"Edit site ID",tooltipDeleteSite:"Delete site",labelDeleteSiteConfirmation:"Are you sure you want to delete this site?",labelDeleteSiteDetails:"This will immediately and permanently delete your site.",labelConfirmDeleteSite:"Confirm delete site “{{site}}”",optionSiteId:"Site ID",optionSiteIdDescription:"Your site will be at https://publish.obsidian.md/{site id}. You can change this later. Only lower case letters, numbers, and dashes are allowed.",optionSiteIdPlaceholder:"Pick a site ID",buttonCreate:"Create",msgInvalidSiteId:"Site ID can only contain lowercase letters, numbers, and dashes.",msgSiteIdInUse:"This site ID is in use, please try another one.",msgCreateSiteIssue:"There was an issue when creating your site.",labelSiteOptions:"Site options",optionSiteGeneral:"General",optionSiteComponents:"Components",optionSiteAppearance:"Appearance",optionSiteReadingExperience:"Reading experience",optionSiteMisc:"Other site settings",optionSiteName:"Site name",optionSiteNameDescription:"Name of your published site. It will show up in the page title of your site.",optionSiteNamePlaceholder:"Name of your site",optionHomePageFile:"Homepage file",optionHomePageFileDescription:"The first page the user sees when landing on your published site",optionHomePageFilePlaceholder:"Pick a published file",optionLogo:"Logo",optionLogoDescription:"Pick an image file as your site logo.",optionLogoPlaceholder:"Any uploaded image in your vault...",optionSiteCollaboration:"Site collaboration",optionSiteCollaborationDesc:"Manage collaborators for this site.",optionCustomizeNavigation:"Customize navigation",optionCustomizeNavigationDesc:"Override the order of navigation items and hide pages or folders from showing.",optionNavigationOrder:"Navigation item display order",optionHideItemsInNavigation:"Hide pages or folders from navigation",optionHideItemsInNavigationDesc:"Right click and select “Hide” to prevent specific pages from appearing in the site navigation. The pages will still be accessible via links or accessing the URL directly.",optionShowHiddenItems:"Show hidden",buttonCustomizeSidebar:"Manage",labelNavigationModalTitle:"Navigation",labelNavigationModalDesc:"Drag and drop to customize the order in which navigation items appear on your Publish site.",optionHideInNavigation:"Hide in navigation",buttonManageCollaborators:"Manage",optionTheme:"Theme",optionThemeDescription:"Choose default color scheme for your site.",optionThemeSystem:"Adapt to system",optionShowThemeToggle:"Light/dark toggle",optionShowThemeToggleDescription:"Let visitors toggle between light and dark theme on their own.",optionShowNavigation:"Show navigation",optionShowNavigationDescription:"Display a list of all published pages on the left side of your published site.",optionShowSearch:"Show search bar",optionShowSearchDescription:"Display a search bar that lets the visitors search pages, aliases, and headings on your site.",optionShowGraph:"Show graph view",optionShowGraphDescription:"Display a small local graph on each page.",optionShowOutline:"Show table of contents",optionShowOutlineDescription:"Display the outline of headings on each page.",optionShowBacklinks:"Show backlinks",optionShowBacklinksDescription:"Show backlink section at the end of each page.",optionSlidingWindowMode:"Stack pages",optionSlidingWindowModeDescription:"Links will open next to the current page in the same window. Scroll horizontally to see stacked pages.",optionHoverPreviewFile:"Show hover preview",optionHoverPreviewFileDescription:"Display page preview when hovering links.",optionHideTitle:"Hide page title",optionHideTitleDescription:"Hide the page title heading. Useful when you have your own headings at the beginning of each page.",optionReadableLineLength:"Readable line length",optionReadableLineLengthDescription:"Limit maximum line length. Fits less content on the screen, but makes long paragraphs more readable.",optionSitePassword:"Passwords",optionSitePasswordDescription:"Restrict access to your site with passwords.",optionGoogleAnalytics:"Google Analytics tracking code",optionGoogleAnalyticsDescription:"Configure Google Analytics for your site. Only available for visitors from your custom domain URL. Please check with your local laws and regulations first.",buttonManagePasswords:"Manage",buttonSaveSiteSettings:"Save site settings",msgUpdatedOptions:"Updated options for your site.",buttonGoBack:"Back",labelPublishingTo:"Publishing to",tooltipSwitchSite:"Switch site",buttonAddLinked:"Add linked",tooltipAddLinked:"Add all files that are linked by currently selected items",msgAddedLinkedFiles:"{{count}} linked file has been added.",msgAddedLinkedFiles_plural:"{{count}} linked files have been added.",tooltipOpenSiteOptions:"Change site options",labelNoChangesDetected:"No changes were detected.",labelChangedFilesToBePublished:"Changed",labelUnchangedFilesAlreadyPublished:"Unchanged (select to unpublish)",labelFileSelected:" selected",buttonSelectAllFiles:"Select all",labelCustomNavigationTitle:"Navigation items",buttonDeselectAllFiles:"Deselect all",labelNewFilesToBePublished:"New",buttonPublish:"Publish",msgNoPermissionToPublishToSite:"You do not have permissions to publish to the current site.",msgSelectAtLeastOneFile:"Please select at least one file.",labelUploadChanges:"Upload changes",buttonDone:"Done",buttonStop:"Stop",labelStatusUploading:"Uploading",labelStatusToPublish:"To publish",labelStatusToDelete:"To delete",labelStatusPublished:"Published",labelStatusDeleted:"Deleted",labelStatusFailed:"Failed",labelStatusCancelled:"Cancelled",buttonChange:"Change",labelClearCache:"It takes up to a few minutes for the changes to show up on your site. If you do not see your latest changes, try clearing the cache in your browser.",labelVisitSite:"You can visit your site here: ",msgSomethingWentWrong:"Something went wrong.",msgNetworkError:"A network error occurred.",labelManagePasswords:"Manage passwords",labelAddPassword:"Add password",actionNewPassword:"New password",labelNoPassword:"Your site currently does not have any passwords. Anyone can visit it.",labelHavePassword:"Your site is password protected. If you have multiple passwords, visitors can access your site by entering any of them.",optionPasswordName:"Password",optionPasswordDesc:"A hash of your password will be stored securely. Once the password is set, it cannot be revealed in plaintext.",optionPasswordPlaceholder:"Your password",optionNicknameName:"Nickname (optional)",optionNicknameDesc:"Set a nickname to remind yourself what or who the password is for.",actionAddPassword:"Add this password",labelUntitledPassword:"Untitled password",labelPasswordCreatedTime:"Created {{time}}",msgAddedNewPassword:"Added new password.",optionCustomDomain:"Custom domain",optionCustomDomainDesc:"Use your own domain rather than the https://publish.obsidian.md/{site id} URL.",optionNoindex:"Disallow search engine indexing",optionNoindexDesc:"Prevent search engines from indexing your site.",buttonConfigure:"Configure",labelConfigureCustomDomain:"Configure custom domain",optionCustomUrlName:"Custom URL",optionCustomUrlDesc:"Enter the URL of your custom site, do not include “www.”",optionCustomUrlPlaceholder:"yourdomain.com",optionCustomUrlRedirect:"Redirect to your custom domain",optionCustomUrlRedirectDesc:"Redirect visitors on publish.obsidian.md/id to your custom domain.",buttonUpdateCustomDomain:"Update domain setting",labelCustomDomainInstructions:"Please refer to our {{link}} on our help site for more information.",labelCustomDomainLinkName:"custom domain setup guide",labelSiteUsage:"You're using {{site}} out of your {{limit}}.",buttonAddMoreSites:"Add more sites",labelNoSitesBought:"You haven't bought any sites.",buttonGetSite:"Get a site",labelManageSharing:"Manage sharing for “{{name}}”",labelSharingWithUsers:"This site is currently shared with the following people:",labelNotSharing:"This site is not currently shared with anyone.",labelInvitePending:"Pending",tooltipRemoveUser:"Remove user",optionInviteUser:"Invite user",placeholderInviteUser:"Enter their email...",errorEmailMustBeValid:"Please enter a valid email to invite someone.",msgEnablePublishPlugin:"Please enable the Publish core plugin in Settings -> Core plugins to view sites.",labelYourSites:"Your sites",labelSitesSharedWithYou:"Sites shared with you",tooltipLeaveSiteSharing:"Stop collaborating on this site",labelLeaveSiteConfirmation:"Confirm stop site collaboration",labelLeaveSiteConfirmationDetails:"This will remove this site from the list of sites shared with you. This action cannot be reverted.",labelLeaveSiteConfirmationDetails_2:"Please contact the owner of the site if you wish to collaborate on this site again.",buttonLeave:"Leave",labelCompareWithLive:"Compare with live version",buttonUseLiveVersion:"Use live version",labelConfirmOverride:"Confirm overriding local version",labelConfirmOverride_1:"Are you sure you want to override the local version?",labelConfirmOverride_2:"The live version will be used and your local version will be discarded. Please make backups if necessary.",buttonProceed:"Proceed",messageSuccessfullyUsedLiveVersion:"Successfully used live version to override your local version.",labelOpenInLiveSite:"Open in live site",labelOpenFile:"Open file",tooltipManagePublishFilters:"Manage publish filters",optionIncludedFolders:"Included folders",optionIncludedFoldersDesc:"Files under these folders will automatically be selected when you review changes to publish.",optionCurrentlyIncludedFolders:" These folders are currently included:",optionExcludedFolders:"Excluded folders",optionExcludedFoldersDesc:"Files under these folders won't show up when you review changes to publish. This setting takes priority over included folders above.",labelNumberOfFoldersIncluded:"Obsidian Publish is currently including {{folders}}.",labelNumberOfFoldersExcluded:"Obsidian Publish is currently excluding {{folders}}.",labelManageIncludedFolders:"Manage included folders",labelManageExcludedFolders:"Manage excluded folders",labelAddIncludedFolder:"Include a folder",labelAddIncludedFolderDesc:"You can include both existing folders and folders that have not been created yet.",tooltipContactSupport:"Contact support",labelNavigationPreview:"Navigation preview"},workspaces:{name:"Workspaces",desc:"Save and load workspace layouts.",actionLoadLayout:"Load workspace layout",actionManageLayouts:"Manage workspace layouts",actionSave:"Save layout",actionSaveAndLoadLayout:"Save and load another layout",placeholderSaveCurrentLayoutAs:"Save current workspace layout as...",buttonSave:"Save",buttonLoad:"Load",tooltipDeleteLayout:"Delete layout",msgEnterName:"Please enter a name for the new layout.",msgSaveLayoutSuccess:"Successfully saved layout “{{name}}”",labelNoLayoutFound:"No saved layout found.",labelWorkspaceModifiedTime:"Modified {{time}}",placeholderTypeToSearchLayouts:"Type layout name..."},sync:{name:"Sync",desc:"Synchronize your files through Obsidian Sync.",actionViewVersionHistory:"Open version history for the current file",actionSetupSync:"Set up Sync",menuOptViewVersionHistory:"Open version history",actionViewSyncSidebar:"Show Sync history",actionActivityLog:"Open activity log",labelLoadMore:"Load more",labelShowDiff:"Show changes",labelCopyToClipboard:"Copy to clipboard",labelRestoreThisVersion:"Restore",msgAlreadyLatestVersion:"This version is already the latest version.",msgRestoredVersion:"Successfully restored version from {{time}}",labelFileDeleted:"This file was deleted",labelFileDeletedVia:"Deleted via {{ device }}",labelFileRenamedFrom:"Renamed from “{{from}}”",labelFileRenamedFromTo:"Renamed from “{{from}}” to “{{to}}”",labelFileMovedFrom:"Moved from “{{from}}”",labelFileMovedFromTo:"Moved from “{{from}}” to “{{to}}”",labelRevision:"{{count}} revision",labelRevision_plural:"{{count}} revisions",labelViaDevice:"via {{device}}",labelNoHistory:"No sync history for this file.",labelEmptyFile:"Empty content",labelUnableToRetrieve:"Unable to retrieve version history",labelSettingFiles:"Setting files",labelDeletedFiles:"Deleted files",labelVersionHistory:"Version history",labelClickToSeeHistory:"Click on a file to see its history.",labelCreateRemoteVault:"Create remote vault",msgPleaseEnterPassword:"Please enter a password.",msgVaultNameCannotBeEmpty:"Vault name cannot be empty.",msgSuccessfullyCreatedVault:"Successfully created remote vault “{{name}}”.",labelRemoteVaultExplanation:"Remote vaults securely synchronize your vault between devices.",optionVaultName:"Vault name",optionVaultNameDesc:"Helps you remember what this vault is for.",optionVaultRegion:"Region",optVaultRegionAutomatic:"Automatic",optionVaultRegionDesc:"Select the server region closest to you to store the remote vault. This cannot be changed in the future.",optionVaultNamePlaceholder:"My awesome vault",optionEncryption:"Encryption",optionEncryptionDesc:"End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.",optionEncryptionWarning:"This option cannot be changed later.",optionEncryptionEndToEnd:"End-to-end encryption",optionEncryptionStandard:"Standard encryption",optionEncryptionPassword:"Encryption password",optionEncryptionPasswordDesc:"This password cannot be changed later.",optionEncryptionPasswordDescWarning:"If you forget this password, any remote data will remain unusable forever.",optionEncryptionPasswordDesc_2:"This does not affect your local data.",labelEncryptionPasswordExplanation:"The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.",optionEncryptionPasswordPlaceholder:"Your password",labelUnlockEncryptedVault:"Unlock your remote vault",buttonUnlockVault:"Unlock vault",labelRemoteVaults:"Your remote vaults",labelVaultCreatedTime:"Created {{time}}",tooltipDeleteRemoteVault:"Delete",tooltipRenameRemoteVault:"Rename",labelRenameRemoteVault:"Rename remote vault “{{name}}”",labelRenameRemoteVaultDesc:"Enter a new name for this remote vault.",tooltipManageSharing:"Manage sharing",labelConfirmDeleteRemoteVault:"Confirm delete vault",labelConfirmDeleteRemoteVaultQuestion:'Are you sure you want to delete the remote vault "{{name}}"?',labelConfirmDeleteRemoteVaultResult:"All data on our server, including version history, will be deleted. Your local files will stay intact.",labelConfirmDeleteRemoteVaultWarning:"This action is permanent and irreversible.",msgRemoteVaultDeleted:"{{name}} has been deleted.",msgDisconnectFromDeletedVault:"Obsidian Sync: The connected remote vault no longer exists.",buttonConnectToRemoteVault:"Connect",buttonDisconnectFromRemoteVault:"Disconnect",labelSyncStatus:"Sync: {{status}}",labelNotRemoteVaults:"You don't have any remote vaults.",labelNoSubscription:"You don't have an active Obsidian Sync subscription.",labelPleaseVisit:"Please visit",labelPreviewUnsupportedFileType:"Unable to preview {{type}} files.",buttonCreateNewRemoteVault:"Create new vault",labelSyncLog:"Sync log",optionEventTypeAll:"All",optionEventTypeErrors:"Errors",optionEventTypeSkipped:"Skipped",optionEventTypeMergeConflicts:"Merge conflicts",buttonCopySyncLog:"Copy sync log",msgSuccessfullyCopiedSyncLog:"Successfully copied sync log.",buttonRetry:"Retry",buttonPurchaseSubscription:"Purchase",labelThirdPartySyncWarning:"Conflicting file sync service detected",labelThirdPartySyncWarningDesc:"Warning: Your vault seems to be using {{service}} as a third party sync service. If you use Obsidian Sync with this vault, you may run into conflicts, file corruption, or data loss.",labelIcloudDriveWarning:"If you are using iCloud Drive, your Documents and Desktop folders might be synced by iCloud. This could cause conflicts with Obsidian Sync.",optionRemoteVault:"Remote vault",buttonChooseRemoteVault:"Choose",buttonManageRemoteVault:"Manage",optionRemoteVaultDescConnected:"Currently connected to the “{{name}}” remote vault.",optionRemoteVaultDescNotConnected:"Currently not connected to any remote vault.",optionSyncStatus:"Sync status",optionSyncStatusDescPaused:"Obsidian Sync is currently paused.",optionSyncStatusDescRunning:"Obsidian Sync is currently running.",optionDeviceName:"Device name",optionDeviceNameDesc:"This name will be displayed in the activity log. Leave empty to use the default name.",buttonResume:"Resume",buttonPause:"Pause",optionViewDeletedFiles:"Deleted files",optionViewDeletedFilesDesc:"View and restore deleted files.",optionSyncLog:"Activity log",optionSyncLogDesc:"View recent sync activities for debugging.",buttonView:"View",buttonBulkRestore:"Bulk restore",buttonRestoreFiles_zero:"Restore files",buttonRestoreFiles:"Restore {{count}} file",buttonRestoreFiles_plural:"Restore {{count}} files",msgRestoring:"Restoring...",msgRestoringComplete:"Restore complete: {{succeeded}} succeeded and {{failed}} failed.",optionVaultSize:"Storage usage",optionVaultSizeDesc:"You are using {{size}} out of {{limit}}",optionVaultSizeUnknown:"Unable to retrieve your vault size.",optionVaultSizeLoading:"Retrieving your vault size...",optionOverSize:"Vault size over limit",optionAlmostOverSize:"Vault size approaching limit",msgLargestFiles:"View largest files",msgLargestFilesDesc:"These are the remote files that are taking the most space. After deleting attachments, use the purge button to free up remote vault space.",buttonUpgradeStorage:"Upgrade storage",buttonPurgeRemote:"Purge",buttonHideMyChanges:"Hide my changes",tooltipPurgeRemote:"Permanently purge deleted attachments from remote vault to save space.",msgPurgeComplete:"Purge complete.",optionPreventSleep:"Prevent device sleep",optionPreventSleepDesc:"Prevents the device from going to sleep when there are still files to be synced.",optionSelectiveSync:"Selective sync",optionExcludedFolders:"Excluded folders",optionExcludedFolderDesc:"Prevent certain folders from being synced.",optionCurrentlyExcludedFolders:" These folders are currently excluded:",buttonManageExcludedFolders:"Manage",optionSyncImage:"Sync images",optionSyncImageDesc:"Sync image files with these extensions: {{extensions}}.",optionSyncAudio:"Sync audio",optionSyncAudioDesc:"Sync audio files with these extensions: {{extensions}}.",optionSyncVideo:"Sync videos",optionSyncVideoDesc:"Sync video files with these extensions: {{extensions}}.",optionSyncPdf:"Sync PDFs",optionSyncPdfDesc:"Sync PDF files.",optionSyncUnsupported:"Sync all other types",optionSyncUnsupportedDesc:"Sync unsupported file types.",optionVaultConfigSync:"Vault configuration sync",optionViewConfigFiles:"Settings version history",optionViewConfigFilesDesc:"View and restore version history of setting files.",optionSyncApp:"Main settings",optionSyncAppDesc:"Enable to sync editor settings, files & links settings, etc.",optionSyncAppearance:"Appearance settings",optionSyncAppearanceDesc:"Sync appearance settings like dark mode, active theme, and enabled snippets.",optionSyncAppearanceData:"Themes and snippets",optionSyncAppearanceDataDesc:"Sync downloaded themes and snippets. Whether they are enabled depends on the previous setting.",optionSyncHotkey:"Hotkeys",optionSyncHotkeyDesc:"Sync custom hotkeys.",optionSyncCorePlugin:"Active core plugin list",optionSyncCorePluginDesc:"Sync which core plugins are enabled.",optionSyncCorePluginData:"Core plugin settings",optionSyncCorePluginDataDesc:"Sync core plugin settings.",optionSyncCommunityPlugin:"Active community plugin list",optionSyncCommunityPluginDesc:"Sync which community plugins are enabled.",optionSyncCommunityPluginData:"Installed community plugins",optionSyncCommunityPluginDataDesc:"Sync installed community plugins (.js, .css, and manifest.json files) and their settings.",labelSyncLoading:"Sync is still loading, please refresh this page later.",labelSyncIntroduction:"Obsidian Sync is Obsidian's add-on sync service with end-to-end encryption and version history.",labelAccountRequired:"To start syncing, please log in or create a new Obsidian account.",labelCurrentFile:"Current file",labelSyncChanges:"Sync changes",labelToday:"Today",labelYesterday:"Yesterday",labelThisWeek:"This week",labelOlder:"Older",labelLastSync:"Last sync",labelMore:"{{count}} more",buttonSignUp:"Sign up",buttonLogIn:"Log in",labelManageExcludedFolders:"Manage excluded folders",labelNumberOfFoldersExcluded:"Obsidian Sync is currently excluding {{folders}}.",labelAddExcludedFolder:"Exclude a folder",labelAddExcludedFolderDesc:"You can exclude both existing folders and folders that have not been created yet.",tooltipRemoveExcludedFolder:"Remove from excluded list",labelSetupConnection:"Setup connection",labelConnectingToVault:"Connecting...",labelConnectionFailed:"Connection failed",labelConnectionFailedDesc:"Failed to connect to remote vault.",labelNowConnectedToVault:"You're now connected to “{{name}}”.",buttonStartSyncing:"Start syncing",labelConfirmMergeVault:"Confirm Merge Vault",msgVaultHasNotes:"Your local vault already contains some notes.",msgVaultMergeWarning:"If you connect to the remote vault “{{name}}”, notes in your local vault will be merged with notes from your remote vault. In case of conflicts, the most recent version of the note will be preserved.",tooltipUpdateSettingOnAllDevices:"Please update this option and restart app on all the devices where you want it to take effect.",labelSharingWithUsers:"This remote vault is currently shared with the following people:",labelNotSharing:"This remote vault is not currently shared with anyone.",labelVaultsSharedWithYou:"Vaults shared with you",tooltipLeaveVaultSharing:"Stop collaborating on this vault",labelLeaveVaultConfirmation:"Confirm stop vault collaboration",labelLeaveVaultConfirmationDetails:"This will remove this vault from the list of vaults shared with you. This action cannot be reverted.",labelLeaveVaultConfirmationDetails_2:"Please contact the owner of the vault if you wish to collaborate on this vault again.",buttonLeave:"Leave",msgErrorFailedToFetch:"Failed to load remote vaults.",labelRequireSubscriptionToConnect:"You need an Obsidian Sync subscription to connect to this vault.",optionContactSupport:"Contact support",optionContactSupportDesc:"If you run into any issues with Obsidian Sync, please contact us so we can help you out! You can reach us at support@obsidian.md.",buttonCopyDebug:"Copy debug info",buttonEmailSupport:"Email support",labelSyncDisconnected:"Sync is not connected to a remote vault.",msgRemoteVaultLimitHit:"You have created the maximum number of remote vaults. In order to create a new remote vault, please upgrade your account or remove an existing one.",labelUpgradeVault:"Upgrade vault",labelUpgradeVaultEncryption:"Upgrade vault encryption",labelUpgradeVaultEncryptionDesc:"There is a new encryption version available for remote vaults.",labelMigrateRemoteVault:"Migrate remote vault",labelRemoteVaultConfiguration:"Remote vault configuration",buttonMigrate:"Migrate",msgRecreateRemoteVault:"This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.",labelConfirmMigrate:"Confirm vault migration",msgMigratePreConfirmationPart1:"To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.",msgMigratePreConfirmationPart2:"Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.",msgMigratePreConfirmationPart3:"After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.",msgMigrateConfirmation:"Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.",msgProceedPrompt:"Do you want to proceed?",msgVaultMigrationStarted:"Vault migration in progress.",msgVaultMigrationCompleted:"Vault migration complete.",labelResolveConflicts:"Conflict resolution",labelResolveConflictsDesc:"Choose how conflicts are resolved when a note is independently modified on multiple devices.",optionAutomaticMerge:"Automatically merge",optionConflictFile:"Create conflict file"},fileRecovery:{name:"File recovery",desc:"Restore recent snapshots to recover from accidental data loss. Snapshots are only saved for Markdown files.",actionOpen:"Open local history",optionInterval:"Snapshot interval",optionIntervalDescription:"Minimal interval in minutes between two snapshots.",optionKeep:"History length",optionKeepDescription:"Number of days the snapshots are kept for.",optionOpenHistory:"Snapshots",optionOpenHistoryDescription:"View and restore saved snapshots.",buttonViewHistory:"View",optionClear:"Clear history",optionClearDescription:"Delete all snapshots.",buttonClearHistory:"Clear",labelClearWarning:"Are you sure you want to delete all snapshots? Files inside your vault will not be affected.",msgClearComplete:"Local history cleared.",labelNoHistoryFound:"Snapshots found.",placeholderChooseFile:"Choose a file...",labelSelectFile:"Please select a file on the left to view snapshots."},noteComposer:{name:"Note composer",desc:"Merge two notes or split one into two.",optionConfirmFileMerge:"Confirm file merge",optionConfirmFileMergeDescription:"Prompt before merge two files.",optionSplitReplacementText:"Text after extraction",optionSplitReplacementTextDescription:"What to show in place of the selected text after extracting it.",optionChoiceSplitReplacementTextLink:"Link to new file",optionChoiceSplitReplacementTextEmbed:"Embed new file",optionChoiceSplitReplacementTextNone:"None",optionTemplateFile:"Template file location",optionTemplateFileDescription:"Template file to use when merging or extracting. Available variables: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, e.g. {{date:YYYY-MM-DD}}.",commandMergeFile:"Merge current file with another file...",actionMergeFile:"Merge entire file with...",labelNoFiles:"No files found.",instructionNavigate:"to navigate",instructionMerge:"to merge",instructionCreateNew:"to create new",instructionMergeAtTop:"to merge at top",instructionDismiss:"to dismiss",promptSelectFileToMerge:"Select file to merge into...",labelMergeFile:"Merge file",labelConfirmFileMerge:"Are you sure you want to merge “{{file}}” into “{{destination}}”? “{{file}}” will be deleted.",buttonMerge:"Merge",commandSplitFile:"Extract current selection...",commandExtractHeading:"Extract this heading...",instructionAppend:"to move to bottom",instructionPrepend:"to move to top",msgFailToFetchTemplate:"Failed to fetch template file: “{{template}}” not found.",msgFailToFindHeading:"Failed to find heading"},webViewer:{name:"Web viewer",historyName:"Web history",desc:"Open external links to web pages inside Obsidian.",actionOpen:"Open web viewer",actionShowHistory:"Show history",actionToggleReaderMode:"Toggle reader mode",actionCopyURL:"Copy URL",actionRemoveFromHistory:"Remove from history",actionClearHistory:"Clear history",actionOpenLink:"Open link",actionOpenLinkNewTab:"Open link in new tab",actionOpenLinkNewSplit:"Open link to the right",actionOpenLinkNewWindow:"Open link in new window",actionOpenLinkDefaultBrowser:"Open link in default browser",actionOpenLinkWebViewer:"Open link in web viewer",actionCopyLinkAddress:"Copy link address",actionBookmarkLink:"Bookmark link",actionSearchForQuery:"Search for “{{query}}”",actionExtractSelection:"Extract selection to new note",actionCopySelection:"Copy",actionCut:"Cut",actionPaste:"Paste",actionDelete:"Delete",actionSelectAll:"Select all",actionSaveToVault:"Save to vault",actionSaveImage:"Save image to vault",actionCopyImage:"Copy image",actionCopyImageLink:"Copy image link",actionBackward:"Backward",actionForward:"Forward",actionReload:"Reload",actionBookmarkPage:"Bookmark page",actionOpenDefaultBrowser:"Open in default browser",actionFocusAddressBar:"Focus address bar",actionSearchTheWeb:"Search the web",actionClearData:"Clear data",actionClearDataCookies:"Cookies",actionClearDataCookiesDesc:"May sign you out of websites.",actionClearDataCache:"Cached data",actionClearDataHistory:"History",actionClearDataAll:"All web viewer data",actionClearDataAllDesc:"Removes all of the above as well as local storage and active sessions.",labelNewWebViewer:"New web viewer",labelFailToLoad:"Unable to load site.",labelFailToLoadDesc:"Make sure you have the correct address.",labelSearchTheWeb:"Search the web",labelWebViewerData:"Web viewer data",labelClearData:"Clear web viewer data",optionOpenExternalLinks:"Open external links",optionOpenExternalLinksDesc:"Open links in Obsidian rather than the system default.",optionHomepage:"Homepage",optionHomepageDesc:"What page to view when a web viewer is opened",optionSavedMarkdown:"Saved page folder",optionSavedMarkdownDesc:"Websites saved as markdown will be placed here.",optionSearchEngine:"Search engine",optionSearchEngineDesc:"Search engine used when searching from the address bar.",optionSearchEngineCustom:"Custom search engine",optionSearchEngineCustomDesc:"Use %s in place of the query.",optionSearchEngineCustomDropDown:"Custom",optionEnableAdblock:"Enable ad blocker",optionEnableAdblockDesc:"If enabled, the filter lists below will be applied to all web viewer tabs.",optionAdblockLists:"Ad blocking rules",optionAdblockListsDesc:"One ad block list URL per line. Shared by all vaults.",optionAdblockFrequency:"Ad block update frequency",optionAdblockFrequencyDesc:"Days between updating filter lists. 0 indicates disabled. Shared by all vaults.",titleClearDataModal:"Clear web viewer data",msgErrorExtractingContent:"Unexpected error extracting content.",msgErrorFindingContent:"Unable to find content to extract."},canvas:{name:"Canvas",desc:"Arrange and connect notes on an infinite canvas.",actionAddNote:"Add note from vault",actionAddMedia:"Add media from vault",actionAddCard:"Add card",actionAddWebsite:"Add web page",actionCreateGroup:"Create group",actionCreateWithSize:"Create a card with specific size",actionConvertToFile:"Convert to file...",actionDragToAddNote:"Drag to add note from vault",actionDragToAddMedia:"Drag to add media from vault",actionDragToAddCard:"Drag to add card",actionEditLabel:"Edit label",actionRemoveLabel:"Remove label",actionSearchFile:"Search for file",actionSetColor:"Set color",actionAlign:"Align",actionAlignLeft:"Align left",actionAlignCenter:"Align center",actionAlignRight:"Align right",actionAlignTop:"Align top",actionAlignMiddle:"Align middle",actionAlignBottom:"Align bottom",actionDistributeHorizontalSpacing:"Distribute horizontal spacing",actionDistributeVerticalSpacing:"Distribute vertical spacing",actionJustifyHorizontally:"Justify horizontally",actionJustifyVertically:"Justify vertically",actionArrangeHorizontally:"Arrange in a row",actionArrangeVertically:"Arrange in a column",actionArrangeGrid:"Arrange in a grid",actionExportPng:"Export as image",actionJumpToGroup:"Jump to group",actionSetBackground:"Set background",actionEditBackground:"Edit background",actionReplaceBackground:"Replace background",actionRemoveBackground:"Remove background",labelNoImages:"No images found.",labelNoMedia:"No media found.",labelExportPngDesc:"Export “{{title}}” as a PNG file with the settings below.",labelExportPngDimensions:"Estimated image dimensions: {{dimensions}}",labelDistribute:"Distribute",labelJustify:"Justify",labelArrange:"Arrange",labelAlways:"Always",labelHover:"On hover",labelNever:"Never",labelNoSectionFound:"No section found",optionWheelBehavior:"Default mouse wheel behavior",optionModDragBehavior:"Default {{key}} behavior",optionShowMenu:"Show menu",optionNewCanvasLocation:"Default location for new canvas files",optionNewCanvasLocationDescription:"Where newly created canvas files are placed.",optionNewCanvasFolderPath:"Folder to create new canvas files in",optionNewCanvasFolderPathDescription:"Newly created canvas files will appear under this folder.",optionNodeLabel:"Show card names",optionSnapToGrid:"Snap to grid",optionSnapToGridDesc:"Snap cards to the background grid when moving and resizing.",optionSnapToObjects:"Snap to objects",optionSnapToObjectsDesc:"Snap cards to nearby objects when moving and resizing.",optionZoomBreakpoint:"Zoom threshold for hiding card content",optionZoomBreakpointDesc:"Lower values will increase performance but hide card content sooner when zooming out.",optionExportPngShowLogo:"Show logo",optionExportPngShowLogoDesc:"This will add an Obsidian logo to the bottom left.",optionExportPngPrivacyMode:"Privacy mode",optionExportPngPrivacyModeDesc:"This will obscure any text on your canvas.",optionExportPngZoom:"Zoom",optionExportPngZoomDesc:"A higher zoom will generate a higher resolution image.",optionExportPngFrame:"Viewport",optionExportPngFrameDesc:"Choose to render the entire canvas or just the current visible viewport.",optionExportPngFrameFull:"Full canvas",optionExportPngFrameViewport:"Viewport only",optionBackgroundCover:"Cover",optionBackgroundRatio:"Keep aspect ratio",optionBackgroundRepeat:"Repeat",actionNewCanvas:"New canvas",actionDuplicate:"Duplicate",actionRemove:"Remove",actionNarrowHeading:"Narrow to heading...",actionNarrowBlock:"Narrow to block...",actionNarrowBasesView:"Pin view...",actionSwapFile:"Swap file...",actionChangeUrl:"Change URL...",actionZoomToFit:"Zoom to fit",actionZoomToSelection:"Zoom to selection",actionReloadPage:"Reload page",actionFollowConnection:"Follow connection",commandCreateNewCanvas:"Create new canvas",commandConvertToFile:"Convert to file...",instructionNarrowHeading:"to embed heading",instructionNarrowBlock:"to embed block",instructionJumpToGroup:"to navigate to group",promptToNarrow:"Type to find file, heading, or block",labelEnterUrl:"Enter URL",labelEmptyEmbed:"“{{linktext}}” could not be found.",promptAddText:"Add text...",promptStartSearch:"Type to search...",labelCanvasHelp:"Canvas help",labelCanvasSettings:"Canvas settings",labelNoNarrow:"Show entire file",labelShowDefaultView:"Show default view",labelReadonly:"Read-only",labelDisableReadonly:"Disable read-only",labelPan:"Pan",labelPanHorizontal:"Pan horizontally",labelZoom:"Zoom",labelSelectAll:"Select all",labelAddRemoveSelection:"Add to / remove from selection",labelCloneCard:"Clone card",labelConstrainMovementAxis:"Constrain card movement to axis",labelDisableDragSnapping:"Disable snapping while dragging",labelRemoveCard:"Remove card",labelDragFromBelow:"Drag from below or double click",labelLongpress:"Touch and hold to add / move / select",labelDragPan:"Drag to pan",labelPinchZoom:"Pinch to zoom",labelSpaceDragPan:"Space + Drag to pan",labelScrollToZoom:"Scroll to zoom",labelUntitledGroup:"Untitled group",labelLineDirection:"Line direction",labelNondirectional:"Nondirectional",labelUnidirectional:"Unidirectional",labelBidirectional:"Bidirectional",labelImage:"Image",labelStyle:"Style",msgNoGroupsFound:"No groups found",msgExportFailedEmptyCanvas:"Cannot export an empty canvas",msgUpdatingLinks:"Canvas detected file renames affecting {{count}} canvas file, updating...",msgUpdatingLinks_plural:"Canvas detected file renames affecting {{count}} canvas files, updating...",msgUpdatedLinks:"Canvas updated {{count}} embed card",msgUpdatedLinks_plural:"Canvas updated {{count}} embed cards"},bases:{name:"Bases",desc:"Create custom views that let you edit, sort, and filter files using their properties.",actionNewBase:"New base",actionAddProperty:'Add "{{name}}" property',actionAddSummary:'Add "{{name}}" summary',actionAddFormula:"Add formula",actionHideAll:"Hide all",actionToggleVisibility:"Toggle visibility",actionDeleteFormula:"Delete formula",actionSetDefaultView:"Default view",actionDuplicateView:"Duplicate view",actionDeleteView:"Delete view",actionDeleteSummary:"Delete summary",actionExportCSV:"Export CSV...",commandCreateNew:"Create new base",commandInsertNew:"Insert new base",commandCopyTable:"Copy table to clipboard",commandChangeView:"Switch view...",commandAddView:"Add view",commandAddItem:"Add item",buttonAddView:"Add view",buttonAddFilter:"Add filter",buttonAddFilterGroup:"Add filter group",buttonShowAll:"Show all",buttonShowAllCount:"Show all ({{count}})",buttonAddSummary:"Add summary",buttonHideSummary:"Hide summary",labelAllViews:"All views",labelCurrentView:"This view",placeholderSearchProperty:"Find or create...",labelComputedProperties:"Computed properties",labelPropertyType:"Property type",labelHideProperty:"Hide property",labelShowProperty:"Show property",labelEditProperty:"Edit property",placeholderFormula:"x + y",placeholderSummaryFormula:"values.reduce( ... )",titleEditProperty:"Edit {{name}}",labelConfigureView:"Configure view",labelViewLayout:"Layout",labelGlobalFilters:"Global filters",labelViewFilters:"View filters",labelViewName:"View name",labelDefaultView:"View",labelViewTypeTable:"Table",labelDisplayName:"Display name",labelSummaryName:"Summary name",labelFormula:"Formula",labelSort:"Sort",labelFilter:"Filter",labelProperties:"Properties",labelNewItem:"New",labelNewItemTemplateFile:"New item template file",labelNewItemFolder:"New item folder",labelAnyOfTheFollowing:"Any of the following are true",labelAllTheFollowing:"All the following are true",labelNoneOfTheFollowing:"None of the following are true",labelWhere:"where",labelOr:"or",labelAnd:"and",labelPropertyKey:"Property",labelUntitledProperty:"Untitled",labelFilePropFile:"file",labelFilePropName:"file name",labelFilePropBaseName:"file base name",labelFilePropFullName:"file full name",labelFilePropPath:"file path",labelFilePropFolder:"folder",labelFilePropExt:"file extension",labelFilePropCtime:"created time",labelFilePropMtime:"modified time",labelFilePropSize:"file size",labelFilePropBacklinks:"file backlinks",labelFilePropLinks:"file links",labelFilePropEmbeds:"file embeds",labelFilePropTags:"file tags",labelAddSort:"Add sort",labelGroupBy:"Group by",labelSortBy:"Sort by",labelLimit:"Limit number of results",labelSortAZ:"A → Z",labelSortZA:"Z → A",labelSortOldNew:"Old to new",labelSortNewOld:"New to old",labelSort01:"0 → 1",labelSort10:"1 → 0",msgInvalidViewName:"View name cannot contain: ",msgDuplicateViewName:"View name already exists.",msgEmptyViewName:"View name cannot be empty.",msgFilterSimpleUnavailable:"This filter cannot be represented by the simple filter builder.",msgFilterCannotParse:"Filter cannot be parsed. Basic filter builder cannot be used.",msgErrorInvalidPropertiesSection:"Invalid properties configuration.",msgErrorInvalidPropertyConfig:'Invalid property config for "{{ name }}".',msgErrorRegisterView:'Unable to add new Bases view "{{ viewId }}". A view with this ID already exists.',msgErrorUnableToParse:"Unable to parse your base file:",msgErrorViewNotFound:'View "{{ view }}" not found',msgErrorUnknownViewType:"Unknown view type: {{ viewtype }}",msgErrorViewType:"Views must be an array",msgErrorDisplayValues:"Display values must be strings. Value for property {{ key }} is not.",msgErrorMustBeAType:'"{{ key }}" must be a {{ type }}',msgErrorFilterType:'"filters" must be a string or an object',msgErrorFilterMustBeArray:'"{{ conjunction }}" filter must be an array',msgErrorFilterAllowedKeys:'"filters" may only have one of an "and", "or", or "not" keys.',msgErrorFilterFailedToEvaluate:"Failed to evaluate a filter: {{ message }}",msgErrorFormulaValues:"Formula values must be strings. Value for property {{ key }} is not.",msgErrorComputedFailedToCompute:'Failed to compute value of property "{{ key }}": {{ message }}',msgErrorInvalidQueryFormat:"Query is an invalid format. It should be a YAML object.",msgErrorViewInvalidFormat:'"view" items must be a YAML object, however item {{ index }} is not',msgErrorViewNameInvalid:'Missing or invalid "name" in view {{ index }}',msgErrorViewMissingRequiredKey:'"{{ key }}" is required in view "{{ viewName }}"',msgErrorViewIncorrectType:'"{{ key }}" must be a {{ type }} in view "{{ viewName }}"',msgErrorViewIncorrectValueType:'"{{ key }}" values must all be of type {{ type }} in view "{{ viewName }}"',msgErrorViewParsingFilters:'Unable to parse filters in view "{{ viewName }}": {{ message }}',msgErrorInfiniteLoop:"Infinite loop detected in formula",msgErrorInvalidProperty:"Invalid property",msgNewItemFiltered:"This note will be filtered out because it doesn't match your criteria",placeholderFilterAdvancedMode:"Advanced filter",placeholderLimit:"e.g. 10",tooltipFilterAdvancedMode:"Advanced filter",tooltipFilterSimpleMode:"Simple filter",tooltipRemoveFilter:"Remove filter",labelGroupKeyNone:"None",list:{name:"List",labelMarkers:"Markers",lableIndentProperties:"Indent properties",labelPropertySeparator:"Property separator",optionBullet:"Bullet",optionNumber:"Number",optionNone:"None"},cards:{name:"Cards",labelCardSize:"Card size",labelImageProperty:"Image property",labelImageFit:"Image fit",optionImageFitCover:"Cover",optionImageFitContain:"Contain",labelImageAspectRatio:"Image aspect ratio"},table:{name:"Table",actionHideColumn:"Hide column",actionEditProperty:"Edit property...",actionEditFormula:"Edit formula...",actionSortDefault:"Clear sort",actionSortAZ:"Sort A → Z",actionSortZA:"Sort Z → A",labelRowHeight:"Row height",optionShort:"Short",optionMedium:"Medium",optionTall:"Tall",optionExtraTall:"Extra tall",actionSelectSummary:"Summarize...",actionGroupBy:"Group by this property",labelSummary:"Summary"}}},formulas:{msgErrorParseFormula:'Failed to parse formula "{{ formula }}"',msgErrorInvalidFunction:'Cannot find function "{{ function }}"',msgErrorInvalidInstanceFunction:'Cannot find function "{{ function }}" on type {{ type }}',msgErrorNotEnoughArguments:'Cannot call function "{{ function }}", not enough arguments.',msgErrorTooManyArguments:'Cannot call function "{{ function }}", too many arguments.',msgErrorTypeError:'Type error in "{{ function }}", parameter "{{ parameter }}". Expected {{ expected }}, given {{ given }}.',msgErrorInvalidArrayAccess:'Cannot access index "{{ index }}" of non-array value',msgErrorInvalidObjectAccess:'Cannot find "{{ index }}" on type {{ type }}',funcs:{labelGlobalNow:"Returns a date object representing the current moment.",labelGlobalToday:"Returns a date object representing the current date. The time portion is set to zero.",labelGlobalDate:"Returns a date object representing the parsed input timestamp or date object.",labelGlobalIf:"Returns the `trueResult` if `condition` is true, or is a truthy value, or `falseResult` otherwise.",labelGlobalMin:"Returns the smallest of all the provided numbers.",labelGlobalMax:"Returns the largest of all the provided numbers.",labelGlobalRandom:"Returns a random number between 0 and 1.",labelGlobalList:"Wrap the provided `element` in a list, creating a list with a single element. If the `element` is a list, return it unmodified.",labelGlobalLink:"Parses a string `path` and returns a Link object that renders as a link to the path given.",labelGlobalNumber:"Attempt to return the provided value as a number.",labelGlobalDuration:"Parse a string as a duration.",labelGlobalImage:"Returns an image object which will render the image in the view.",labelGlobalIcon:"Returns a string that represents the icon name to be rendered using Lucide. The icon name must match a supported Lucide icon.",labelGlobalFile:"Attempt to locate a file for a given path or link.",labelGlobalHtml:"Converts a string into a code snippet that renders as HTML.",labelGlobalEscapeHtml:"Escapes special characters in a string to make it safe for inclusion in HTML.",labelGlobalMarkdown:"Converts a string into a code snippet that renders as Markdown.",labelValueToString:"Returns the string representation of any value.",labelValueIsTruthy:"Return the value coerced into a boolean.",labelValueIsType:"Returns true if the value is of the provided type.",labelNullIsEmpty:"Returns true.",labelStringStartsWith:"Returns true if this string starts with `query`.",labelStringEndsWith:"Returns true if this string ends with `query`.",labelStringTrim:"Removes whitespace from both ends of the string.",labelStringTitle:"Converts the string to title case (first letter of each word capitalized).",labelStringIsEmpty:"Returns true if the string has no characters, or is not present.",labelStringReplace:"Returns a string with occurrences of `pattern` replaced with the `replacement`.",labelStringLower:"Returns the string converted to lower case.",labelStringSplit:"Returns an list of `n` substrings by splitting on `separator`.",labelStringContains:"Returns true if the string contains `value`.",labelStringContainsAny:"Returns true if the string contains at least one of the `values`.",labelStringContainsAll:"Returns true if the string contains all of the `values`.",labelStringSlice:"Returns a substring from `start` (inclusive) to `end` (exclusive).",labelStringRepeat:"Returns a string that is constructed from repeating this string the specified times.",labelNumberAbs:"Returns the absolute value of the number.",labelNumberFloor:"Rounds the number down to the nearest integer.",labelNumberCeil:"Rounds the number up to the nearest integer.",labelNumberRound:"Rounds the number to the nearest integer.",labelNumberToFixed:"Returns a string with the number in fixed-point notation.",labelNumberIsEmpty:"Returns true if the number is not present.",labelListIsEmpty:"Returns true if the list has no elements.",labelListMedian:"Returns the median of the number values in the list.",labelListMean:"Returns the mean of the number values in the list.",labelListStdDev:"Returns the standard deviation of the number values in the list.",labelListJoin:"Joins all list elements into a single string.",labelListReverse:"Reverses the list in place.",labelListFlat:"Flattens nested list into a single list.",labelListUnique:"Removes duplicate elements.",labelListContains:"Returns true if the list contains `value`.",labelListContainsAny:"Returns true if the list contains at least one of the `values`.",labelListContainsAll:"Returns true if the list contains all of the `values`.",labelListSlice:"Returns a shallow copy of a portion of the list from `start` (inclusive) to `end` (exclusive).",labelListSort:"Sorts list elements from smallest to largest.",labelListMap:"Transform each element of this list by calling a conversion function, which uses the variables `index` and `value`, and returns the new value to be placed in the list.",labelListFilter:"Filter the elements of this list by calling a filter function, which uses the variables `index` and `value`, and returns a boolean value for whether the element should be kept.",labelListReduce:"Reduce the elements of this list by calling a reduce function, which uses the variables `value` and `acc`, and returns a value which will become `acc` when calling the function for the following element of the list.",labelObjectIsEmpty:"Returns true if the object has no own properties.",labelObjectKeys:"Returns a list containing the keys of the object.",labelObjectValues:"Returns a list containing the values of the object.",labelObjectMap:"Transform each key value pair of this object into a list by calling a conversion function, which uses the variables `key` and `value`, and returns the new value to be placed in the list.",labelObjectFilter:"Filter the elements of this object by calling a filter function, which uses the variables `key` and `value`, and returns a boolean value for whether the element should be kept.",labelRegExpMatches:"Returns true if the regular expression matches `value`.",labelDateFormat:"Returns the date formatted as specified by a Moment.js format string.",labelDateDate:"Returns a date object with the time removed.",labelDateTime:"Returns the time.",labelDateRelative:"Returns a readable comparison of the date to the current datetime.",labelDateIsEmpty:"Returns false.",labelFileAsLink:"Returns a Link object that renders as a functioning link.",labelFileHasLink:"Returns true if `file` links to `otherFile`.",labelFileInFolder:"Returns true if the file is in the specified folder.",labelFileHasTag:"Returns true if the file has any of the tags in `values`.",labelFileHasProperty:"Returns true if the note has the given file property.",labelLinkLinksTo:"Returns whether the file represented by the `link` has a link to `file`.",labelLinkAsFile:"Returns a file object if this links resolves to one.",labelTagMatches:"Returns if the given string matches the current tag."}},pdf:{actionHighlightAll:"Highlight all",actionMatchDiacritics:"Match diacritics",actionWholeWords:"Whole words",actionShowThumbnails:"Thumbnails",actionShowOutline:"Table of contents",actionRevealInOutline:"Reveal page in table of contents",actionToggleSidebar:"Toggle sidebar",actionPreviousPage:"Previous page",actionNextPage:"Next page",actionFitWidth:"Fit width",actionFitHeight:"Fit height",actionSavePDFLocation:"Save current position in document",actionCopyAnnotation:"Copy annotation",actionCopyQuote:"Copy as quote",actionCopySelectionLink:"Copy link to selection",actionCopyAnnotLink:"Copy link to annotation",actionCopySectionLink:"Copy link to section",actionCopySectionLinkTitle:"Copy link to “{{title}}”",actionCopyPageLink:"Copy link to page {{page}}",msgMaxSearchResults:"{{current}} of over {{limit}} matches",msgSearchCount:"{{current}} of {{total}} match",msgSearchCount_plural:"{{current}} of {{total}} matches",msgPasswordProtected:"This PDF is password protected",msgInvalidPassword:"Invalid password",msgEnterPassword:"Enter the password below",labelOfPages:"of {{count}}",labelPageOfPages:"({{current}} of {{count}})",labelSpreadSingle:"Single page",labelSpreadOdd:"Two-page (odd)",labelSpreadEven:"Two-page (even)",tooltipSidebarOptions:"Sidebar options",tooltipDisplayOptions:"Display options",labelAdaptToTheme:"Adapt to theme",labelPage:"page {{page}}",page_landmark:"Page {{page}}",thumb_page_title:"Page {{page}}",thumb_page_canvas:"Page {{page}}",text_annotation_type:"[{{type}} Annotation]",annotation_date_string:"{{date}}, {{time}}"},properties:{types:{optionMultitext:"List",optionUnknown:"Unknown",optionText:"Text",optionAliases:"Aliases",optionTags:"Tags",optionFolder:"Folder",optionFile:"File",optionPropertyName:"Property",optionDate:"Date",optionDatetime:"Date & time",optionNumber:"Number",optionCheckbox:"Checkbox"},valueSuggestion:{keyLinkNote:"Type [[",instructionLinkNote:"to link note",instructionDismiss:"to dismiss"},optionPropertyType:"Property type",optionSort:"Sort",msgEmptyPropertyName:"Property name cannot be empty.",msgDuplicatePropertyName:"Property already exists",msgInvalidTag:"Invalid tag name",msgInvalidNumber:"Invalid number",msgInvalidProperties:"Failed to read properties.",labelNoValue:"Empty",labelHeading:"Properties",labelInvalidHeading:"Invalid properties",labelShowSource:"Show source",labelInvalidYamlMarker:"Syntax error. Your frontmatter is invalid.",labelAddPropertyButton:"Add property",labelTypeMismatchWarning:"Type mismatch, expected {{type}}",labelTypeMismatchWarningGeneric:"Type mismatch",labelChangePropertyType:"Display as {{type}}?",labelChangePropertyTypeDesc:"Your {{oldType}} data is not compatible. It will be adapted to fit the new format."},table:{labelColumn:"Column",labelRow:"Row",actionRowAfter:"Add row below",actionColumnAfter:"Add column to the right",actionRowBefore:"Add row above",actionRowUp:"Move row up",actionRowDown:"Move row down",actionColumnBefore:"Add column to the left",actionColumnLeft:"Move column left",actionColumnRight:"Move column right",actionDuplicateRow:"Duplicate row",actionDuplicateColumn:"Duplicate column",actionDeleteRow:"Delete row",actionDeleteColumn:"Delete column",actionAlignLeft:"Align left",actionAlignCenter:"Align center",actionAlignRight:"Align right",actionDeleteSelection:"Delete cells",actionClearSelection:"Clear cells",actionSortAZ:"Sort by column (A to Z)",actionSortZA:"Sort by column (Z to A)",labelCommand:"Table: {{command}}"},callout:{optionType:"Callout type",type:{info:"Info",important:"Important",tip:"Tip",success:"Success",question:"Question",warning:"Warning",quote:"Quote",example:"Example",none:"None"},optionOther:"Other...",optionOtherPlaceholder:"Callout type..."},nouns:{count:"{{count}}",wordWithCount:"{{count}} word",wordWithCount_plural:"{{count}} words",resultWithCount:"{{count}} result",resultWithCount_plural:"{{count}} results",characterWithCount:"{{count}} character",characterWithCount_plural:"{{count}} characters",linkWithCount:"{{count}} link",linkWithCount_plural:"{{count}} links",fileWithCount:"{{count}} file",fileWithCount_plural:"{{count}} files",folderWithCount:"{{count}} folder",folderWithCount_plural:"{{count}} folders",backlinkWithCount:"{{count}} backlink",backlinkWithCount_plural:"{{count}} backlinks",tabsWithCount:"{{count}} tab",tabsWithCount_plural:"{{count}} tabs",propertiesWithCount:"{{count}} property",propertiesWithCount_plural:"{{count}} properties",siteWithCount:"{{count}} site",siteWithCount_plural:"{{count}} sites",pluginWithCount:"{{count}} plugin",pluginWithCount_plural:"{{count}} plugins",pluginActiveWithCount:"{{count}} active",snippetActiveWithCount:"{{count}} snippet",snippetActiveWithCount_plural:"{{count}} snippets",themeWithCount:"{{count}} theme",themeWithCount_plural:"{{count}} themes"}}})();{ "setting": { "options": "አማራጮች", "plugin": "ተሰኪ", "builtin-plugins": "ኮር ተሰኪዎች", "plugin-options": "ተሰኪ አማራጮች", "folder-path-example-placeholder": "ምሳሌ፡ አቃፊ 1/አቃፊ 2", "file-path-example-placeholder": "ምሳሌ፡ አቃፊ/ማስታወሻ", "msg-restart-required": "ይህንን አማራጭ መቀየር ተግባራዊ ለማድረግ ዳግም ማስጀመርን ይጠይቃል።", "editor": { "name": "አርታዒ", "section-behavior": "ባህሪ", "section-display": "ማሳያ", "option-spellcheck": "የፊደል አጻጻፍ", "option-spellcheck-description": "የፊደል አራሚውን ያበራል። በአሁኑ ጊዜ ለእንግሊዝኛ (US) ብቻ ነው የሚሰራው።", "spellcheck-languages": "የፊደል አጻጻፍ ቋንቋዎች", "spellcheck-languages-description": "የፊደል አራሚው የሚጠቀምባቸውን ቋንቋዎች ይምረጡ።", "spellcheck-languages-mac-description": "ቤተኛ ፊደል ማረሚያው በ macOS ላይ ለእርስዎ ጥቅም ላይ የሚውልበትን ቋንቋ በራስ-ሰር ያውቀዋል።", "spellcheck-dict": "የፊደል አጻጻፍ መዝገበ ቃላት", "spellcheck-dict-empty": "የፊደል ማረሚያ መዝገበ ቃላት ባዶ ነው።", "option-show-inline-title": "የመስመር ላይ ርዕስ አሳይ", "option-show-inline-title-description": "የፋይል ስሙን ከፋይል ይዘቶች ጋር በመስመር ውስጥ እንደ አርታኢ አርእስት ያሳያል።", "option-readable-line-length": "ሊነበብ የሚችል የመስመር ርዝመት", "option-readable-line-description": "ከፍተኛውን የመስመር ርዝመት ይገድቡ። በማያ ገጹ ላይ ያነሰ ይዘትን ይገጥማል፣ ነገር ግን ረጅም አንቀጾችን የበለጠ ተነባቢ ያደርገዋል።", "option-strict-line-break": "ጥብቅ መስመር ይቋረጣል", "option-strict-line-break-description": "በቅድመ እይታ ሁነታ፣ በማርከዳው ዝርዝሮች መሰረት ነጠላ መስመር መግቻዎችን ችላ ይበሉ። በቅድመ-እይታ ውስጥ እንዲታዩ ለነጠላ መስመር መግቻዎች ይህንን ያጥፉት።", "option-properties-in-document": "Properties in document", "option-properties-in-document-description": "Choose how properties are displayed within the editor. Select \"source\" to have the properties displayed as YAML.", "option-properties-hidden": "Hidden", "option-properties-visible": "Visible", "option-properties-source": "Source", "option-auto-pair-brackets": "አውቶማቲክ ጥንድ ቅንፎች", "option-auto-pair-brackets-description": "ቅንፎችን እና ጥቅሶችን በራስ-ሰር ያጣምሩ።", "option-auto-pair-markdown": "የማርክ ዳውን አገባብ በራስ ሰር ያጣምሩ", "option-auto-pair-markdown-description": "ለደማቅ፣ ሰያፍ፣ ማድመቂያ፣ አድማ እና ኮድ ምልክቶችን በራስ-ሰር ያጣምሩ።", "option-smart-indent-lists": "ብልጥ ገብ ዝርዝሮች", "option-smart-indent-lists-description": "ለእርስዎ ማስገቢያ እና ዝርዝር ምልክት ማድረጊያን ይንከባከቡ።", "option-fold-heading": "የማጠፍ ርዕስ", "option-fold-heading-description": "ሁሉንም ነገር በአርዕስት ስር እጠፍፍ.", "option-fold-indent": "ገብ ማጠፍ", "option-fold-indent-description": "እንደ ዝርዝሮች ያሉ የተመሳሳዩ ውስጠ-ገጽ ክፍልን እንዲታጠፍ ያድርጉ።", "option-default-new-tab-view": "ለአዲስ ትሮች ነባሪ እይታ", "option-default-new-tab-view-description": "አዲስ የማርክ ማድረጊያ ትር የሚከፈትበት ነባሪ እይታ።", "option-default-new-tab-view-editing": "የአርትዖት እይታ", "option-default-new-tab-view-reading": "የንባብ እይታ", "option-open-tab-in-foreground": "Always focus new tabs", "option-open-tab-in-foreground-description": "When you open a link in a new tab, switch to it immediately.", "option-default-editing-mode": "ነባሪ የአርትዖት ሁነታ", "option-default-editing-mode-description": "ነባሪው የአርትዖት ሁነታ አዲስ ፓነል ይጀምራል።", "option-default-editing-mode-source": "የምንጭ ሁነታ", "option-default-editing-mode-live-preview": "የቀጥታ ቅድመ እይታ", "option-show-line-number": "የመስመር ቁጥር አሳይ", "option-show-line-number-description": "በጋጣው ውስጥ የመስመር ቁጥር አሳይ.", "option-indentation-guide": "የመግቢያ መመሪያዎችን አሳይ", "option-indentation-guide-description": "ለእይታ መመሪያ በጥይት ነጥቦች መካከል ቀጥ ያሉ የግንኙነት መስመሮችን አሳይ።", "option-use-tabs": "ትሮችን ተጠቀም", "option-use-tabs-description": "የትር ቁልፉን ሲጫኑ ለማስገባት \"Tab\"ን ይጠቀሙ። ክፍተቶችን ለመጠቀም ይህንን ያዋቅሩት።", "option-tab-size": "የትር መጠን", "option-tab-size-description": "የአንድ ትር የቦታዎች ብዛት እኩል ነው።", "option-rtl": "ከቀኝ-ወደ-ግራ (RTL)", "option-rtl-description": "የማስታወሻዎቹን የጽሑፍ አቅጣጫ ከቀኝ-ወደ-ግራ ለማሳየት ያዘጋጃል።", "option-auto-convert-html": "ኤችቲኤምኤልን በራስ-ሰር ይለውጡ", "option-auto-convert-html-description": "ከድረ-ገጾች ላይ በሚለጠፍበት ጊዜ እና ጎትት እና ጣል ለማድረግ HTMLን በራስ ሰር ወደ ማርክዳውን ቀይር። ሳይቀይሩ ለመለጠፍ Ctrl/Cmd+Shift+V ይጠቀሙ።", "option-vim-key-bindings": "የቪም ቁልፍ ማያያዣዎች", "option-vim-key-bindings-description": "በምንጭ አርታዒው ውስጥ የቪም ቁልፍ ማሰሪያዎችን እንድትጠቀም ያስችልዎታል።", "option-vim-key-bindings-mobile": "በሞባይል መሳሪያዎች ላይ ይህ ቅንብር በመሣሪያ ነው እና በማዋቀር ፋይሉ አልተመሳሰለም።", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "ወደ ቪም ሁነታ መግባቱን ያረጋግጡ", "label-vim-warning": "የቪም ሞድ ለተቀላጠፈ የጽሑፍ አርትዖት ነው ነገር ግን በጣም ተቃራኒ ሊሆን ይችላል። ስለ ቪም የማያውቁት ከሆነ፣ ይህ አማራጭ Obsidian መስራት ያቆመ ሊያስመስለው ይችላል።", "label-vim-test": "በቪም ዙሪያ ያለዎትን መንገድ ማወቅዎን ለማረጋገጥ፣ እባክዎ ከዚህ በታች ሳያስቀምጡ ቪም ለመልቀቅ ትዕዛዙን ያስገቡ።", "label-vim-your-answer": "የርስዎ መልስ", "placeholder-enter-command": "ትዕዛዝ ያስገቡ...", "button-confirm-enable-vim": "ቪም ላነቃው", "msg-vim-mode-enabled": "ትዕዛዙ ትክክል ነው። የቪም ሁነታ አሁን ነቅቷል።", "msg-vim-mode-not-enabled": "ትዕዛዙ ትክክል አይደለም። እርስዎን ለመጠበቅ የቪም ሁነታ እንደተሰናከለ ይቆያል።", "msg-vim-mode-please-enter-command": "እባክዎ የቪም ሁነታን ለማንቃት ትዕዛዙን ያስገቡ" }, "file": { "name": "ፋይሎች እና አገናኞች", "option-confirm-file-deletion": "የፋይል ስረዛን ያረጋግጡ", "option-confirm-file-deletion-description": "የፋይል መሰረዙን ለማረጋገጥ ጥያቄ ማግኘት ይፈልጉ እንደሆነ።", "option-delete-destination": "የተሰረዙ ፋይሎች", "option-delete-destination-description": "ፋይሎችን ከሰረዙ በኋላ ምን እንደሚደረግ።", "option-choice-system-trash": "ወደ የስርዓት መጣያ ውሰድ", "option-choice-vault-trash": "ወደ Obsidian መጣያ (. መጣያ አቃፊ) ውሰድ", "option-choice-permanent-delete": "ቋሚ መሰረዝ", "option-always-update-links": "ሁልጊዜ የውስጥ አገናኞችን ያዘምኑ", "option-always-update-links-description": "ፋይልን ወይም መጠየቂያውን እንደገና ከመሰየም በኋላ አገናኞችን በራስ-ሰር ለማዘመን ይሁን።", "option-new-note-location": "አዲስ ማስታወሻ ነባሪ አካባቢ", "option-new-note-location-description": "አዲስ የተፈጠሩ ማስታወሻዎች የት እንደሚቀመጡ። የተሰኪ ቅንጅቶች ይህንን ይሽረዋል።", "option-choice-vault-root": "የቮልት ሥር", "option-choice-current-folder": "ፋይሉ እንዳለ ተመሳሳይ አቃፊ", "option-choice-specified-folder": "ከታች በተጠቀሰው አቃፊ ውስጥ", "option-new-file-folder-path": "አዲስ ማስታወሻዎችን ለመፍጠር አቃፊ", "option-new-file-folder-path-description": "አዲስ የተፈጠሩ ማስታወሻዎች በዚህ አቃፊ ስር ይታያሉ። የተሰኪ ቅንጅቶች ይህንን ይሽረዋል።", "option-use-wiki-links": "[[ዊኪሊንክስ]] ተጠቀም", "option-use-wiki-links-description": "ከማርክ ዳውድ አገናኞች እና ምስሎች ይልቅ ዊኪሊንኮችን ለ[[links]] እና![[ምስሎች]] በራስ-አመነጭ። በምትኩ Markdown አገናኞችን ለመፍጠር ይህን አማራጭ አሰናክል።", "option-show-unsupported-files": "ሁሉንም የፋይል ቅጥያዎች ያግኙ", "option-show-unsupported-files-description": "ከነሱ ጋር ማገናኘት እና በፋይል ኤክስፕሎረር እና በፈጣን መቀየሪያ ውስጥ ማየት እንዲችሉ Obsidian ቤተኛ መክፈት ባይችልም በማንኛውም ቅጥያ ያሳዩ።", "option-link-autocompleted-format": "አዲስ አገናኝ ቅርጸት", "option-link-autocompleted-format-description": "የውስጥ አገናኞችን በራስ-ሰር ሲያመነጭ ለማስገባት ምን አገናኞች።", "option-choice-shortest-linktext": "በተቻለ መጠን አጭሩ መንገድ", "option-choice-relative-path": "ወደ ፋይል አንጻራዊ መንገድ", "option-choice-absolute-path": "በቮልት ውስጥ ፍጹም መንገድ", "option-new-attachment-location": "ለአዲስ አባሪዎች ነባሪ ቦታ", "option-new-attachment-location-description": "አዲስ የተጨመሩ አባሪዎች የሚቀመጡበት።", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "በአሁኑ አቃፊ ስር ንዑስ አቃፊ ውስጥ", "option-attachment-folder-path": "የአባሪ አቃፊ ዱካ", "option-attachment-folder-path-description": "አዲስ የተፈጠሩ አባሪ ፋይሎች እዚህ ይታያሉ። ይህም በመጎተት እና በመጣል ወይም በመለጠፍ የተፈጠሩ ምስሎችን እና የድምጽ ቅጂዎችን ያካትታል።", "option-attachment-subfolder-path": "የንዑስ አቃፊ ስም", "option-attachment-subfolder-path-description": "ፋይልዎ በ\"ቮልት/አቃፊ\" ስር ከሆነ እና የንዑስ አቃፊ ስምዎ ለአባሪዎች ከተዘጋጀ፣ አባሪዎች ወደ ቮልት/አቃፊ/አባሪዎች ይቀመጣሉ።", "option-excluded-files": "ያልተካተቱ ፋይሎች", "option-excluded-files-desc": "ያልተካተቱ ፋይሎች እንደ ፈጣን መቀየሪያ፣ የአገናኝ ጥቆማ እና የግራፍ እይታ ባሉ የተለያዩ ቦታዎች ላይ ተደብቀው ወይም ብዙም የማይታዩ ይሆናሉ።", "label-no-excluded-filters-applied": "ምንም ያልተካተተ ማጣሪያ አሁን አልተተገበረም። ከታች አንድ ጨምር።", "label-excluded-filters-applied": "ከሚከተሉት ማጣሪያዎች ጋር የሚዛመዱ ፋይሎች በአሁኑ ጊዜ አይካተቱም፦", "label-excluded-filter": "አጣራ", "message-empty-filter": "Filter cannot be empty", "placeholder-excluded-filter": "ዱካ አስገባ ወይም \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "መልክ", "option-base-theme": "መሰረታዊ ጭብጥ", "option-base-theme-description": "የ Obsidian ነባሪ የቀለም ዘዴን ይምረጡ።", "option-accent-color": "የአነጋገር ቀለም", "option-accent-color-description": "በመላው መተግበሪያ ጥቅም ላይ የዋለውን የአነጋገር ቀለም ይምረጡ።", "dark-theme": "ጨለማ", "light-theme": "ብርሃን", "system-theme": "ከስርዓት ጋር መላመድ", "option-font": "ቅርጸ-ቁምፊ", "option-advanced": "የላቀ", "option-interface": "Interface", "option-interface-font": "የበይነገጽ ቅርጸ-ቁምፊ", "option-interface-font-description": "ለሁሉም የ Obsidian ቅርጸ-ቁምፊ ያዘጋጁ።", "option-zoom-level": "Zoom level", "option-zoom-level-description": "Controls the overall zoom level of the app.", "option-text-font": "የጽሑፍ ቅርጸ-ቁምፊ", "option-text-font-description": "ለአርትዖት እና ለንባብ እይታዎች ቅርጸ-ቁምፊ ያዘጋጁ።", "option-monospace-font": "ሞኖስፔስ ቅርጸ-ቁምፊ", "option-monospace-font-description": "እንደ ኮድ ብሎኮች እና የፊት ጉዳይ ላሉ ቦታዎች ቅርጸ-ቁምፊ ያዘጋጁ።", "label-single-font-currently-in-effect": " በአሁኑ ጊዜ የሚተገበር ቅርጸ-ቁምፊ፡-", "label-multiple-fonts-currently-in-effect": " የሚከተሉት ቅርጸ ቁምፊዎች በአሁኑ ጊዜ ተተግብረዋል፡", "option-font-placeholder": "የቅርጸ-ቁምፊ ስም አስገባ...", "label-no-custom-font-set": "ምንም ብጁ ቅርጸ-ቁምፊ አሁን አልተተገበረም። ከታች አንድ ጨምር።", "label-font-applied": "በስርዓትዎ ላይ ያለው ከዚህ ዝርዝር የመጀመሪያው ቅርጸ-ቁምፊ ይተገበራል።", "msg-font-not-found": "ይህ ቅርጸ-ቁምፊ በእርስዎ ስርዓት ላይ አልተገኘም።", "msg-font-found": "ይህ ቅርጸ-ቁምፊ በእርስዎ ስርዓት ላይ ተገኝቷል።", "label-font-name": "የፊደል ስም", "option-community-themes": "የማህበረሰብ ገጽታዎችን ክፈት", "option-community-themes-description": "በማህበረሰቡ የተፈጠሩ አስደናቂ ገጽታዎችን አስቀድመው ይመልከቱ እና ይጠቀሙ።", "button-browse-community-themes": "አስስ", "option-font-size": "የቅርጸ ቁምፊ መጠን", "option-font-size-description": "በአርታዒ እና በቅድመ-እይታ ላይ ተጽእኖ የሚያሳድር የቅርጸ-ቁምፊ መጠን በፒክሰሎች ውስጥ።", "option-font-size-action": "ፈጣን የቅርጸ-ቁምፊ መጠን ማስተካከያ", "option-font-size-action-description": "Ctrl + ሸብልል በመጠቀም ወይም የትራክፓድ ፒንች-ማጉላት የእጅ ምልክትን በመጠቀም የቅርጸ-ቁምፊውን መጠን ያስተካክሉ።", "option-themes": "ገጽታዎች", "option-manage-themes-description": "የተጫኑ ገጽታዎችን አስተዳድር እና የማህበረሰብ ገጽታዎችን አስስ።", "option-theme-button-manage": "አስተዳድር", "option-choice-none": "ምንም", "option-native-menus": "ቤተኛ ምናሌዎች", "option-native-menus-desc": "በመተግበሪያው ውስጥ ያሉ ምናሌዎች ከስርዓተ ክወናው ጋር ይዛመዳሉ። በእርስዎ ጭብጥ አይነኩም።", "button-reload-themes": "ገጽታዎችን እንደገና ጫን", "msg-reloaded-themes": "ብጁ የሲኤስኤስ ገጽታዎችን ዳግም ተጭኗል።", "button-open-themes-folder": "የገጽታዎች አቃፊን ክፈት", "option-css-snippets": "የሲኤስኤስ ቅንጥቦች", "label-no-css-snippets-found": "በቅንጥብ አቃፊ ውስጥ ምንም የሲኤስኤስ ቅንጥቦች አልተገኙም።", "no-snippet-description": "የCSS ቅንጥቦች በ\"{{path}}\" ላይ ተከማችተዋል።", "button-reload-snippets": "ቅንጥቦችን እንደገና ይጫኑ", "button-open-snippets-folder": "የቅንጥብ አቃፊን ክፈት", "msg-reloaded-snippets": "እንደገና የተጫኑ የሲኤስኤስ ቅንጥቦች።", "option-toggle-snippet-description": "በ \"{{path}}\" ላይ የ CSS ቅንጣቢን ይተግብሩ።", "label-installed-themes": "የተጫኑ ገጽታዎች", "label-screenshot-unavailable": "ቅጽበታዊ ገጽ እይታ አይገኝም", "label-default-theme": "ነባሪ", "tooltip-click-to-enlarge": "ለማስፋት ጠቅ ያድርጉ", "button-update": "አዘምን", "label-currently-active": "Active", "option-frame-style": "የመስኮት ፍሬም ዘይቤ", "option-frame-description": "የObsidian መስኮቶች የርዕስ አሞሌ አጻጻፍን ይወስናል። ተግባራዊ ለማድረግ ሙሉ ዳግም ማስጀመር ያስፈልገዋል።", "option-frame-hidden": "የተደበቀ (ነባሪ)", "option-frame-obsidian": "Obsidian ፍሬም", "option-frame-native": "ቤተኛ ፍሬም", "option-custom-icon": "Custom app icon", "option-custom-icon-desc": "Set a custom icon for the app", "button-choose-custom-icon": "Choose custom icon", "option-configure-ribbon": "ሪባን ምናሌ", "option-configure-ribbon-desc": "በዚያ የማውጫጫ አሞሌ ውስጥ ባለው ሪባን ሜኑ ውስጥ ምን ትዕዛዞች እንደሚታዩ ያዋቅሩ።", "option-mobile-quick-ribbon-item": "ፈጣን መዳረሻ ሪባን ንጥል", "option-mobile-quick-ribbon-item-desc": "በአሰሳ ምናሌው ላይ ያለውን ሪባን ንጥል ላይ መታ ማድረግ ይህን ሪባን ንጥል ያነቃዋል። መታ አድርገው ይያዙ አሁንም ምናሌውን ያሳያል።", "option-mobile-quick-ribbon-default": "Open ribbon menu", "button-configure": "አዋቅር", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "ሌሎች ሪባን እቃዎች", "label-modal-configuration": "ሪባን ማዋቀር", "label-modal-configuration-desc": "በሪባን ውስጥ ምን አይነት ንቁ መሆን እንደሚፈልጉ ይምረጡ። ትዕዛዙን ለመቀየር ይጎትቱ እና ያውርዱ።", "option-show-view-header": "የትር ርዕስ አሞሌን አሳይ", "option-show-view-header-desc": "በእያንዳንዱ ትር አናት ላይ ያለውን ራስጌ አሳይ።", "msg-updates-found": "ለማዘመን የ{{count}} ያህል ጭብጥ ተገኝቷል።", "msg-updates-found_plural": "ለማዘመን {{count}} ያህል ገጽታዎች ተገኝተዋል።", "button-check-for-updates": "ዝማኔዎችን ይመልከቱ", "button-view-updates": "ዝመናዎችን ይመልከቱ", "button-update-all-themes": "ሁሉንም አዘምን", "label-current-themes": "ወቅታዊ የማህበረሰብ ገጽታዎች", "label-currently-installed": "በአሁኑ ጊዜ {{count}} ጭብጥ ተጭኗል።", "label-currently-installed_plural": "በአሁኑ ጊዜ {{count}} ገጽታዎች ተጭነዋል።" }, "hotkeys": { "name": "ትኩስ ቁልፎች", "option-search": "Search hotkeys", "option-search-desc": "Showing {{count}} hotkey. ", "option-search-desc_plural": "Showing {{count}} hotkeys. ", "option-search-conflict": "{{count}} command with conflicts.", "option-search-conflict_plural": "{{count}} commands with conflicts.", "prompt-filter": "አጣራ...", "tooltip-delete-hotkey": "ቁልፍን ሰርዝ", "label-waiting-for-hotkey-press": "መገናኛ ቁልፍን ተጫን...", "label-show-all": "All", "label-show-unassigned": "Unassigned", "label-show-assigned": "Assigned", "label-show-user-assigned": "Assigned by me", "tooltip-restore-default": "ነባሪ ወደነበረበት መልስ", "tooltip-customize-command": "ይህንን ትእዛዝ ያብጁ", "tooltip-hotkey-single-conflict": "ይህ ቁልፍ ከ \"{{command}}\" ጋር ይጋጫል።", "tooltip-hotkey-multiple-conflicts": "ይህ ቁልፍ ከሌሎች {{count}} ትዕዛዞች ጋር ይጋጫል።", "label-blank-hotkey": "ባዶ" }, "about": { "name": "ስለ", "label-commercial-license": "የንግድ ፈቃድ", "label-license-key": "የፍቃድ ቁልፍ", "license-key-placeholder": "የፍቃድ ቁልፍዎ...", "label-activate-license": "ፈቃድ አግብር", "button-activate": "አግብር", "label-unknown-version": "ያልታወቀ", "label-current-version": " የአሁኑ ስሪት፡", "label-install-version": "(የጫኚ ሥሪት፡ {{version}})", "label-up-to-date": "መተግበሪያዎ የተዘመነ ነው!", "label-read-changelog": "የለውጥ መዝገብ ያንብቡ።", "label-manual-update-required": "የቅርብ ጊዜዎቹን ባህሪያት ለመደገፍ እና የቅርብ ጊዜዎቹን የደህንነት መጠገኛዎች ለመቀበል፣ Obsidian ዋና የመጫኛ ማሻሻያ ይፈልጋል። Obsidian ን እራስዎ ማውረድ እና እንደገና መጫን ያስፈልግዎታል።", "label-new-version-ready": " አዲስ ስሪት ለመጫን ዝግጁ ነው።", "label-disabled-updates": "ዝማኔዎች ተሰናክለዋል።", "button-relaunch": "ዳግም አስጀምር", "button-check-for-updates": "ዝማኔዎችን ይመልከቱ", "option-auto-update": "ራስ-ሰር ዝማኔዎች", "option-auto-update-description": "መተግበሪያው ለዝማኔዎች እንዳይፈተሽ ለመከላከል ይህንን ያጥፉት።", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "እርዳታ ያግኙ", "option-get-help-description": "Obsidian ለመጠቀም እገዛን ያግኙ።", "button-open": "ክፈት", "option-language": "ቋንቋ", "option-language-description": "የማሳያ ቋንቋውን ይቀይሩ።", "option-insider-build": "የውስጥ ግንባታዎችን ተቀበል", "option-insider-build-description": "አዳዲስ ባህሪያትን ለመሞከር ወደ ውስጥ አዋቂ ግንባታዎች በራስ-አዘምን። እነዚህ ግንባታዎች የደም መፍሰስ ጠርዝ እንደሆኑ እና ብዙም የተረጋጋ ሊሆኑ እንደሚችሉ ልብ ይበሉ።", "option-advanced": "የላቀ", "option-hw-acceleration": "የሃርድዌር ማጣደፍ", "option-hw-acceleration-description": "Obsidian ለስላሳ ለማድረግ ጂፒዩዎን የሚጠቀመውን የሃርድዌር ማጣደፍን ያበራል።", "option-hw-acceleration-warning": "ይህን ካጠፉት የመተግበሪያ አፈጻጸም በእጅጉ ይጎዳል።", "option-config-location": "የማዋቀር አቃፊን ይሽሩ", "option-config-location-description": "ከነባሪው የተለየ የማዋቀሪያ አቃፊ ይጠቀሙ። በነጥብ መጀመር አለበት።", "option-config-location-warning": "የማዋቀር ቦታ በነጥብ የሚጀምር ትክክለኛ የአቃፊ ስም መሆን አለበት።", "label-license": "ፈቃድ", "label-your-commercial-license-key": "የንግድ ፍቃድ ቁልፍዎ \"{{key}}\" ነው።", "label-commercial-license-info": "ለ{{seats}}ተጠቃሚዎች ለ\"{{company}}\" የተመዘገበ። እስከ {{expiry}} እስኪያልፍ ድረስ የሚሰራ።", "label-validating-commercial-license": "በማረጋገጥ ላይ...", "label-invalid-commercial-license": " ፈቃድ ልክ ያልሆነ፡-", "button-remove-commercial-license": "አስወግድ", "option-catalyst": "የካታሊስት ፈቃድ", "option-catalyst-desc": "በአሁኑ ጊዜ የ{{tier}} ካታሊስት ፈቃድ አለዎት። ስለ እርዳታዎ አመሰግናለሁ!", "option-catalyst-desc-no-license": "አሁን የካታሊስት ፈቃድ የለዎትም። የካታሊስት ፈቃድ የ Obsidian ልማትን ለመደገፍ የአንድ ጊዜ ልገሳ ነው።", "label-app": "መተግበሪያ", "label-add-own-language": "See how to add your language to Obsidian." }, "account": { "name": "መለያ", "option-your-account": "መለያዎ", "option-your-account-desc": "በአሁኑ ጊዜ በ{{name}} ({{email}}) ገብተዋል።", "option-your-account-desc-no-login": "አሁን አልገቡም። መለያ የሚያስፈልገው ለ Obsidian Sync፣ Obsidian Publish እና Catalyst insider ግንባታዎች ብቻ ነው።", "label-insider": "የውስጥ አዋቂ", "label-supporter": "ደጋፊ", "label-vip": "ቪአይፒ", "button-upgrade-catalyst": "አሻሽል።", "option-commercial-license": "የንግድ ፈቃድ", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "ግዢ", "button-log-out": "ውጣ", "label-log-in": "ግባ", "label-sign-up": "ክፈት", "label-email": "ኢሜይል", "placeholder-email": "ኢሜልዎ...", "label-name": "Full name", "label-password": "ፕስወርድ", "placeholder-password": "የይለፍ ቃልዎ...", "label-forgot-password": "Forgot password?", "button-login": "ግባ", "message-empty-email": "ኢሜል ባዶ ሊሆን አይችልም።", "message-invalid-email": "ኢሜይል ልክ ያልሆነ ነው።", "message-empty-password": "የይለፍ ቃል ባዶ ሊሆን አይችልም።", "message-login-failed": "መግባት አልተሳካም፣ እባክዎ ኢሜልዎን እና የይለፍ ቃልዎን ደግመው ያረጋግጡ።", "message-signup-failed": "Failed to sign up", "label-no-account": " መለያ የለዎትም?", "link-sign-up-now": "አሁን ይመዝገቡ", "label-mfa-code": "6-digit 2FA code", "mfa-wrong-format": "The 2FA authenticator code must be 6 digits.", "mfa-verification-failed": "2FA code is incorrect, please double check your authenticator app." }, "core-plugin": { "plugin-list": "የተሰኪ ዝርዝር", "option-search-plugin": "ዋና ተሰኪዎችን ይፈልጉ", "option-search-plugin-description": "ተሰኪዎችን በስም ወይም በመግለጫ ያጣሩ።", "placeholder-search-plugin": "ተሰኪዎችን ፈልግ..." }, "third-party-plugin": { "name": "የሶስተኛ ወገን ተሰኪ", "option-restricted-mode": "የተገደበ ሁነታ", "option-restricted-mode-description": "የተገደበ ሁነታ ጠፍቷል። የማህበረሰብ ተሰኪዎችን ለማሰናከል ያብሩ።", "button-turn-on": "ማዞር", "option-browse-community-plugins": "የማህበረሰብ ተሰኪዎች", "option-browse-community-plugins-description": "በአስደናቂው ማህበረሰባችን የተሰሩ የሶስተኛ ወገን ተሰኪዎችን ጫን።", "button-browse": "አስስ", "label-exit-restricted-mode": "ከተገደበ ሁነታ ውጣ", "label-exit-restricted-mode-description-1": "የማህበረሰብ ተሰኪዎች፣ ልክ እንደ ማንኛውም እርስዎ የጫኑት ሶፍትዌር፣ የውሂብ ታማኝነት እና የደህንነት ጉዳዮችን ሊያስከትሉ ይችላሉ።", "label-exit-restricted-mode-description-2": "የተሰኪ ደህንነት ለእኛ አስፈላጊ ነው። የምናደርገውን እነሆ፡-", "label-exit-restricted-mode-description-3": "ምንም እንኳን ጥረታችን ቢሆንም፣ የማህበረሰብ ፕለጊን የተሳሳተ ባህሪ ሊኖረው የሚችልበት ትንሽ እድል አሁንም አለ።", "label-code-review": "የመጀመሪያ ኮድ ግምገማ", "label-code-review-desc": "ፕለጊኖች በመደብሩ ውስጥ ከመታየታቸው በፊት በቡድናችን የመጀመሪያ የኮድ ግምገማ ያካሂዳሉ።", "label-open-source": "ክፍት ምንጭ", "label-open-source-desc": "አብዛኛዎቹ ተሰኪዎች በ GitHub ላይ ክፍት ምንጭ ናቸው፣ ስለዚህ ኮዱን እራስዎ መመርመር ይችላሉ።", "label-peer-audit": "የአቻ ኦዲት", "label-peer-audit-desc": "እርስ በርስ የሚተያዩ ብዙ የገንቢዎች ማህበረሰብ አለን።", "label-report-mechanism": "የሪፖርት ዘዴ", "label-report-mechanism-desc": "በተጠቃሚ ሪፖርት ላይ የተበላሹ ተሰኪዎችን ተከታትለን እናስወግዳለን።", "label-exit-restricted-mode-disable-confirmation": "የማህበረሰብ ተሰኪዎችን ለማንቃት ከተገደበ ሁነታ መውጣት ይፈልጋሉ? ይህን ከማድረግዎ በፊት የውሂብዎን ምትኬ እንዲያደርጉ አበክረን እንመክራለን።", "label-learn-more": "ስለ ተሰኪ ደህንነት የበለጠ ይወቁ", "button-turn-on-community-plugins": "የማህበረሰብ ተሰኪዎችን ያብሩ", "label-trust-author": "የዚህን ካዝና ደራሲ ያምናሉ?", "label-trust-author-description-1": "ይህን ካዝና ለመጀመሪያ ጊዜ እየከፈቱት ነው፣ እና ከአንዳንድ ተሰኪዎች ጋር አብሮ ይመጣል።", "label-trust-author-description-2": "ይህን ካዝና ከሌላ ሰው ያገኙ ከሆነ፣ ምንጩ ያልታወቀ ተሰኪዎች የደህንነት አደጋዎችን ሊያስከትሉ እንደሚችሉ እባክዎ ልብ ይበሉ።", "label-trust-author-description-3": "የዚህን ቮልት ደራሲ ሙሉ በሙሉ ካላመኑት፣ በተገደበ ሁነታ ውስጥ እንዲቆዩ እንመክራለን፣ ስለዚህ በዚህ ቮልት ውስጥ ያሉት ተሰኪዎች አይሰሩም።", "button-enable-plugins": "ደራሲን እመኑ እና ተሰኪዎችን አንቃ", "button-dont-trust-author": "በተገደበ ሁነታ ውስጥ ካዝናውን ያስሱ", "placeholder-community-plugins": "የማህበረሰብ ተሰኪዎችን ፈልግ...", "msg-failed-load-plugins": "የማህበረሰብ ተሰኪዎችን መጫን አልተሳካም።", "label-installed": "ተጭኗል", "button-install": "ጫን", "button-enable": "አንቃ", "button-disable": "አሰናክል", "button-copy-share-link": "የማጋራት አገናኝ ቅዳ", "button-donate": "ለገሱ", "label-no-results-found": "ምንም ውጤቶች አልተገኙም።", "label-no-recent-files-found": "No recent files found. Type to search...", "msg-failed-to-load-manifest": "ተሰኪ አንጸባራቂን መጫን አልተሳካም።", "label-version": "ስሪት: {{version}}", "label-currently-installed-version": " (በአሁኑ የተጫነ፡ {{version}})", "label-by-author": " በ", "label-repository": " ማከማቻ፡", "label-last-update": "የመጨረሻው ዝመና፡-", "tooltip-view-last-update": "የቅርብ ጊዜውን ዝመና ይመልከቱ", "label-unsupported": "ይህ ፕለጊን መሳሪያዎን አይደግፍም።", "button-update": "አዘምን", "label-no-readme": "ይህ ተሰኪ README ፋይል አልሰጠም።", "msg-installing-plugin": "የተሰኪ \"{{name}}\" በመጫን ላይ...", "msg-failed-to-install-plugin": "የተሰኪ \"{{name}}\" መጫን አልተሳካም።", "msg-successfully-installed-plugin": "የተሰኪ \"{{name}}\" በተሳካ ሁኔታ ተጭኗል።", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "የተጫኑ ተሰኪዎች", "button-reload-plugins": "ተሰኪዎችን እንደገና ይጫኑ", "msg-reloaded-third-party-plugins": "የሶስተኛ ወገን ተሰኪዎች እንደገና ተጭነዋል።", "label-uninstall": "አራግፍ", "label-uninstall-plugin": "ተሰኪን አራግፍ", "label-uninstall-plugin-confirmation": "እርግጠኛ ነዎት ይህን ፕለጊን ማራገፍ ይፈልጋሉ? ይህ የተሰኪውን አቃፊ ይሰርዛል።", "button-open-plugins-folder": "የተሰኪዎች አቃፊን ይክፈቱ", "button-check-for-updates": "ዝማኔዎችን ይመልከቱ", "button-update-all-plugins": "ሁሉንም አዘምን", "label-current-plugins": "የአሁኑ ተሰኪዎች", "label-currently-installed": "በአሁኑ ጊዜ {{count}} ተሰኪ ተጭኗል።", "label-currently-installed_plural": "በአሁኑ ጊዜ {{count}} ተሰኪዎች ተጭነዋል።", "msg-no-updates-found": "ምንም የተሰኪ ዝመናዎች አልተገኙም።", "msg-updates-found": "ለማዘመን {{count}} ተሰኪ ተገኝቷል።", "msg-updates-found_plural": "ለማዘመን {{count}} ያህል ተሰኪዎች ተገኝተዋል።", "msg-update-plugin": "ወደ {{version}} ስሪት ያዘምኑ", "option-search-installed-plugin": "የተጫኑ ተሰኪዎችን ይፈልጉ", "option-search-installed-plugin-description": "የተጫኑ ተሰኪዎችን በስም ወይም በመግለጫ ያጣሩ።", "placeholder-search-installed-plugin": "የተጫኑ ተሰኪዎችን ፈልግ...", "show-installed-only": "መጫኑን ብቻ አሳይ", "label-donate-modal-title": "{{name}}ን ለመደገፍ ይለግሱ", "label-donate-modal-text1": "ተሰኪ ገንቢዎች ከፍላጎት ተነሳስተው አስደናቂ ነገሮችን የሚሰሩ የማህበረሰብ በጎ ፈቃደኞች ናቸው። ይህ ፕለጊን ጠቃሚ ሆኖ ካገኙት፣ እባክዎ ለልማቱ ገንዘብ መስጠት ያስቡበት።", "label-donate-modal-text2": "የእርስዎ አስተዋጽዖ 100% ወደ ተሰኪው ገንቢ ይሄዳል; ኦብሲዲያን ቆርጦ አይወስድም. የመረጡት የገንዘብ ድጋፍ መድረክ ክፍያ ሊያስከፍል ይችላል።", "label-donate-modal-text3": "ለጋስ ድጋፍዎ እናመሰግናለን!", "label-support-this-plugin": "ይህን ተሰኪ ይደግፉ፡", "label-search-summary": "{{pluginCount}}ን በማሳየት ላይ፡", "label-by-popularity": "በብዛት የወረዱ", "label-by-released": "በቅርቡ የተለቀቀው", "label-by-updated": "በቅርብ ጊዜ ዘምኗል", "label-alphabetical": "ፊደል", "label-last-updated": "ተዘምኗል {{time}}" }, "mobile-toolbar": { "name": "የተንቀሳቃሽ መሣሪያ አሞሌ", "option-configure-quick-action": "የሞባይል ፈጣን እርምጃን ያዋቅሩ", "option-configure-quick-action-description": "ከላይ ወደ ታች ሲወርድ የትኛውን ትዕዛዝ እንደሚቀሰቀስ ያዋቅሩ። የአሁኑ ትዕዛዝ ወደ \"{{command}}\" ተቀናብሯል.", "msg-missing-quick-action": "Action not configured", "button-configure": "አዋቅር", "placeholder-select-quick-action": "ፈጣን እርምጃ ይምረጡ...", "quick-action-disabled": "None", "manage-toolbar-options": "የመሳሪያ አሞሌ አማራጮችን ያቀናብሩ", "option-internal-link": "የውስጥ አገናኝ ያክሉ", "option-internal-embed": "መክተትን ጨምር", "option-tag": "መለያ ጨምር", "option-heading": "ርዕስ ቀይር", "option-strikethrough": "አድማ ቀያይር", "option-highlight": "ድምቀት ቀያይር", "option-code": "ኮድ ቀያይር", "option-blockquote": "የማገጃ ጥቅስን ቀያይር", "option-inline-math": "Toggle inline math", "option-math-block": "Toggle math block", "option-markdown-link": "የማርክ ዳውን አገናኝ ያክሉ", "option-bullet-list": "የነጥብ ዝርዝር ቀያይር", "option-numbered-list": "ቁጥር ያለው ዝርዝር ቀያይር", "option-indent-list": "ገብ ዝርዝር ንጥል", "option-unindent-list": "ያልተገለበጠ ዝርዝር ንጥል", "option-undo": "ቀልብስ", "option-redo": "ድገም", "option-move-caret-up": "እንክብካቤን ወደ ላይ አንቀሳቅስ", "option-move-caret-down": "እንክብካቤን ወደ ታች አንቀሳቅስ", "option-move-caret-left": "እንክብካቤን ወደ ግራ አንቀሳቅስ", "option-move-caret-right": "እንክብካቤን በትክክል ያንቀሳቅሱ", "option-first-line": "ወደ መጀመሪያው መስመር ይሂዱ", "option-last-line": "ወደ መጨረሻው መስመር ይሂዱ", "option-toggle-keyboard": "የቁልፍ ሰሌዳ ቀያይር", "option-configure-toolbar": "የተንቀሳቃሽ መሣሪያ አሞሌን ያዋቅሩ", "option-added-options": "የተጨመሩ አማራጮች", "option-more-toolbar-options": "ተጨማሪ የመሳሪያ አሞሌ አማራጮች", "option-attach": "አባሪ አስገባ", "option-add-command": "አለምአቀፍ ትዕዛዝ ያክሉ", "option-add-command-description": "ወደ መሣሪያ አሞሌው ለመጨመር ማንኛውንም ዓለም አቀፍ ትዕዛዝ ይምረጡ።" } }, "editor": { "search": { "placeholder-find": "አግኝ", "placeholder-replace": "ተካ", "label-exit-search": "ፍለጋን ውጣ", "label-next": "ቀጥሎ", "label-previous": "ቀዳሚ", "label-find-all": "Find all", "label-replace": "ተካ", "label-replace-all": "ሁሉንም ይተኩ" }, "link-suggestion": { "label-type-hash": "ዓይነት #", "label-link-heading": "ርዕስ ለማገናኘት", "label-type-block": "ዓይነት ^", "label-link-block": "ብሎኮችን ለማገናኘት", "label-type-pipe": "አይነት |", "label-change-display-text": "የማሳያ ጽሑፍን ለመለወጥ", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "ምንም ተዛማጅ አልተገኘም።", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "ምንም ጥቆማዎች የሉም...", "add-to-dictionary": "ወደ መዝገበ ቃላት ያክሉ" }, "menu": { "edit-link": "አገናኝ አርትዕ", "edit-tag": "Edit tag", "label-edit-block": "Edit this block", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "ርዕስ የለም።", "label-heading-level": "የርዕስ {{level}}" }, "print-modal": { "title": "ወደ ፒዲኤፍ ላክ", "caption": "ከታች ባለው ቅንብር \"{{filename}}\" ወደ ፒዲኤፍ ይላኩ።", "setting-page-size": "የገጽ መጠን", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "ህጋዊ", "setting-page-size-letter": "ደብዳቤ", "setting-page-size-tabloid": "ታብሎይድ", "setting-include-file-name": "የፋይል ስም እንደ ርዕስ ያካትቱ", "setting-landscape": "የመሬት ገጽታ", "setting-margin": "ህዳግ", "setting-margin-default": "ነባሪ", "setting-margin-minimal": "ዝቅተኛ", "setting-margin-none": "ምንም", "setting-downscale-percent": "ዝቅተኛ መጠን መቶኛ", "button-export-to-pdf": "ወደ ፒዲኤፍ ላክ" }, "link-popover": { "tooltip-follow-link": "ሊንክ ተከተሉ", "tooltip-open-link": "አገናኝ ክፈት", "tooltip-search-tag": "መለያ ይፈልጉ" } }, "interface": { "embed-cannot-find": "ማግኘት አልተቻለም፦", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "በነባሪ መተግበሪያ ክፈት", "empty-sidebar": "የጎን አሞሌው ባዶ ነው፣ መቃን ወደዚህ ለመጎተት ይሞክሩ።", "sidebar-expand": "ዘርጋ", "sidebar-collapse": "ሰብስብ", "msg-fail-to-save-file": "\"{{filepath}}\" ማስቀመጥ አልተሳካም። {{message}}።", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "ፋይል የለም", "msg-file-changed": "\"{{file}}\" በውጫዊ ሁኔታ ተስተካክሏል ፣ ለውጦችን በራስ-ሰር በማዋሃድ።", "switch-vault": "ሌላ ካዝና ክፈት", "manage-vaults": "Manage vaults...", "help": "እገዛ", "settings": "ቅንብሮች", "drag-to-rearrange": "እንደገና ለማዘጋጀት ይጎትቱ", "msg-switched-to-read": "ነባሪ እይታ ሁነታ ወደ የንባብ እይታ ተቀይሯል።", "msg-switched-to-edit": "ነባሪ እይታ ሁነታ ወደ አርታዒ ተቀይሯል።", "msg-upgrade-installer": "ይህንን ባህሪ ለመጠቀም፣ እባክዎን ከድረ-ገጻችን ባለው የቅርብ ጊዜ ጫኚ እንደገና ይጫኑ።", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "ነባሪ ቅንብሮችን ወደነበሩበት ይመልሱ", "label-copy": "ወደ ቅንጥብ ሰሌዳ ቅዳ", "label-copy-short": "Copy", "copied_generic": "ወደ ቅንጥብ ሰሌዳዎ ተቀድቷል።", "copied": "{{item}} ወደ ቅንጥብ ሰሌዳዎ ተቀድቷል።", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "ዩአርኤል", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "ፋይል ተከፍቷል \"{{path}}\"።", "msg-file-not-found-through-uri": "ፋይል \"{{name}}\" አልተገኘም።", "delete-action-short-name": "ሰርዝ", "msg-indexing": "Obsidian የእርስዎን ቮልት እየጠቆመ ነው... ይህ አንድ ጊዜ ብቻ ነው የሚሆነው። ይህ እስኪጠናቀቅ ድረስ አንዳንድ ተግባራት ላይገኙ ይችላሉ።", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "ኢንዴክስ ማድረግ ተጠናቅቋል።", "msg-sandbox-vault": "ይህ የማጠሪያ ሳጥን ነው.በዚህ ቮልት ውስጥ የሚያደርጓቸው ለውጦች ይጠፋሉ.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "ለመፍጠር አስገባ", "label-update-available": "ማዘመን አለ።", "label-debug-info": "የማረም መረጃ", "button-learn-more": "ተጨማሪ እወቅ", "button-not-now": "አሁን አይሆንም", "button-add": "አክል", "button-manage": "አስተዳድር", "label-new-tab": "አዲስ ትር", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "ይህ ትር በአሁኑ ጊዜ ሥራ በዝቶበታል፣ እባክዎ ቆይተው እንደገና ይሞክሩ", "formatting": { "label-formatting": "Format", "label-paragraph": "Paragraph", "label-insert": "Insert", "insert-link": "Add link", "insert-external-link": "Add external link", "insert-callout": "Callout", "insert-horizontal-rule": "Horizontal rule", "insert-code-block": "Code block", "insert-math-block": "Math block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comments": "Comment", "toggle-highlight": "Highlight", "toggle-italics": "Italic", "toggle-strikethrough": "Strikethrough", "toggle-math": "Math", "toggle-bullet-list": "Bullet list", "toggle-checklist": "Task list", "toggle-numbered-list": "Numbered list", "set-heading": "Heading {{level}}", "no-heading": "Body", "clear": "Clear formatting", "toggle-quote": "Quote" }, "empty-state": { "no-file-open": "ምንም ፋይል አልተከፈተም።", "create-new-file": "አዲስ ፋይል ይፍጠሩ", "go-to-file": "ወደ ፋይል ይሂዱ", "see-recent-files": "የቅርብ ጊዜ ፋይሎችን ይመልከቱ", "close": "ገጠመ", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "ተሰኪ ከአሁን በኋላ ንቁ አይደለም።", "unknown-pane-desc": "ይህንን ክፍል ({{type}}) የፈጠረው ፕለጊን ጠፍቷል" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "አርትዕ (Ctrl/Cmd+በአዲስ መቃን ለማርትዕ ጠቅ ያድርጉ)", "read-view": "የአሁኑ እይታ: ማንበብ", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "ለማርትዕ ጠቅ ያድርጉ", "switch-to-read-view": "ለማንበብ ይንኩ።", "mod-click-open-new-tab": "በአዲስ ትር ለመክፈት {{key}} + ጠቅ ይንኩ።", "find": "አግኝ...", "replace": "ተካ...", "edit": "አርትዕ", "remove": "Remove", "rename": "Rename", "preview": "ቅድመ እይታ", "more-options": "ተጨማሪ አማራጮች", "close": "ገጠመ", "close-all": "Close all", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "ሌሎችን ዝጋ", "close-after": "Close tabs after", "pin": "ፒን", "unpin": "ንቀል", "unlink-tab": "ትርን አቋርጥ", "link-tab": "ከትር ጋር አገናኝ...", "toggle-source-mode": "የምንጭ ሁነታ", "toggle-reading-view": "የንባብ እይታ", "add-property": "Add file property", "delete-file": "ፋይል ሰርዝ", "create-file": "ይህን ፋይል ይፍጠሩ", "open-link": "አገናኝ ክፈት", "open-in-new-tab": "በአዲስ ትር ክፈት", "open-to-the-right": "ወደ ቀኝ ክፈት", "copy-url": "ዩአርኤል ቅዳ", "copy": "ቅዳ", "cut": "ቁረጥ", "paste": "ለጥፍ", "paste-as-plain-text": "እንደ ግልጽ ጽሑፍ ለጥፍ", "lookup-selection": "Look up “{{selection}}”", "select-all": "ሁሉንም ምረጥ", "rename-heading": "ይህን ርዕስ እንደገና ይሰይሙ...", "rename-blockid": "ይህን የማገጃ መታወቂያ እንደገና ይሰይሙ...", "open-in-new-window": "በአዲስ መስኮት ክፈት", "move-to-new-window": "ወደ አዲስ መስኮት ይሂዱ", "open-in-browser": "በአሳሽ ውስጥ ክፈት", "stack-tabs": "ቁልል ትሮች", "unstack-tabs": "ትሮችን ይንቀሉ", "open-linked-view": "Open linked view" }, "tooltip": { "click-to-expand": "ለማስፋት ጠቅ ያድርጉ", "click-to-collapse": "ለመሰብሰብ ጠቅ ያድርጉ", "alias": "ተለዋጭ ስም", "not-created-yet": "እስካሁን አልተፈጠረም፣ ለመፍጠር ይምረጡ" }, "start-screen": { "label-version": "ሥሪት", "label-create-local-vault": "Create local vault", "option-open-folder-as-vault": "አቃፊውን እንደ ቮልት ክፈት", "option-open-folder-as-vault-description": "አሁን ያለውን የMarkdown ፋይሎች አቃፊ ይምረጡ።", "option-create-vault": "አዲስ ቋት ይፍጠሩ", "option-create-vault-description": "በአቃፊ ስር አዲስ የ Obsidian ማከማቻ ይፍጠሩ።", "option-connect-obsidian-sync": "ከ Obsidian ማመሳሰል ጋር ይገናኙ", "option-connect-obsidian-sync-description": "አሁን ካለው የርቀት ቮልት ጋር የተመሳሰለ ቮልት ያዘጋጁ።", "option-new-vault-name": "የቮልት ስም", "option-new-vault-name-description": "ለአስደናቂው ካዝናዎ ስም ይምረጡ።", "option-new-vault-location": "አካባቢ", "option-new-vault-location-description": "አዲሱን ካዝናዎን ለማስቀመጥ ቦታ ይምረጡ።", "label-new-vault-location-preview": " አዲሱ ካዝናዎ በሚከተለው ውስጥ ይቀመጣል፡-", "option-reveal-vault-in-explorer": "በስርዓት አሳሽ ውስጥ ቫልትን አሳይ", "option-reveal-vault-in-explorer-mac": "በ Finder ውስጥ ቮልት አሳይ", "option-rename-vault": "ካዝና እንደገና ይሰይሙ...", "option-copy-vault-i-d": "Copy vault ID", "msg-error-rename-exists": "ይህ ስም ያለው ካዝና አስቀድሞ አለ።", "msg-error-nested": "ቮልቱን ወደ ራሱ አቃፊ ማንቀሳቀስ አይቻልም።", "msg-error-rename-open": "በአሁኑ ጊዜ የተከፈተ ካዝና እንደገና መሰየም አይቻልም።", "msg-rename-failed": "ቮልት እንደገና መሰየም አልተሳካም።", "msg-rename-success": "ቮልት በተሳካ ሁኔታ ተቀይሯል።", "option-move-vault": "ካዝና አንቀሳቅስ...", "msg-move-select-dest": "የመድረሻ አቃፊን ይምረጡ", "msg-error-move-exists": "በመድረሻው ላይ አስቀድሞ ካዝና አለ።", "msg-error-move-open": "በአሁኑ ጊዜ የተከፈተ ቮልት ማንቀሳቀስ አይቻልም።", "msg-move-failed": "ቮልት ማንቀሳቀስ አልተሳካም።", "msg-move-success": "ቮልት በተሳካ ሁኔታ ተንቀሳቅሷል።", "option-remove": "ከዝርዝሩ አስወግድ", "button-quick-start": "ፈጣን ጅምር", "button-open": "ክፈት", "button-browse": "አስስ", "button-connect": "ተገናኝ", "button-create-vault": "ፍጠር", "button-back": "ተመለስ", "msg-empty-vault-name": "የቮልት ስም ባዶ ሊሆን አይችልም።", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "እባክዎ የሚሰራ አቃፊ ይምረጡ።", "msg-failed-to-create-vault": "ቮልት መፍጠር አልተሳካም።", "msg-failed-to-create-vault-at-location": "በተሰጠው ቦታ ላይ ቮልት መፍጠር አልተቻለም። እባክዎ ቦታውን እና ፈቃዱን እንደገና ያረጋግጡ።", "msg-error-failed-to-open-vault": "መክፈት አልተሳካም።", "msg-error-remove-current-open-vault": "በአሁኑ ጊዜ የተከፈተ ካዝናን ማስወገድ አልተቻለም።", "option-get-help": "እርዳታ ያግኙ", "option-user-email": "ኢሜይል", "placeholder-your-email": "ኢሜልዎ...", "option-user-password": "ፕስወርድ", "placeholder-your-password": "የይለፍ ቃልዎ...", "button-sign-in": "ስግን እን", "button-setup": "አዘገጃጀት", "option-connect-vault-desc": "በዚህ መሳሪያ ላይ የተመሳሰለ ካዝና ይፍጠሩ።", "tooltip-own-vault": "ይህ በእርስዎ ባለቤትነት የተያዘ የርቀት ቮልት ነው።", "tooltip-shared-vault": "ይህ ከእርስዎ ጋር የተጋራ የርቀት ቮልት ነው።", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Welcome", "welcome-file-content": "This is your new *vault*.\n\nMake a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nWhen you're ready, delete this note and make the vault your own." }, "drag-and-drop": { "insert-link-here": "ማገናኛን እዚህ አስገባ", "insert-links-here": "አገናኞችን እዚህ አስገባ", "move-into-folder": "ወደ \"{{folder}}\" ውሰድ", "star-this-file": "ይህን ፋይል ኮከብ ያድርጉበት", "star-these-files": "እነዚህን ፋይሎች ኮከብ አድርግባቸው", "open-in-this-tab": "በዚህ ትር ውስጥ ይክፈቱ", "open-as-tab": "እንደ አዲስ ትር ክፈት" }, "window": { "maximize": "ከፍ አድርግ", "minimize": "አሳንስ", "restore-down": "ወደ ታች እነበረበት መልስ", "close-window": "መስኮት ዝጋ", "go-back": "ተመለስ", "go-forward": "ወደፊት ሂድ" }, "start-up": { "loading-obsidian": "Obsidianን በመጫን ላይ...", "obsidian-load-error": "Obsidian በሚጫንበት ጊዜ ስህተት ተከስቷል።", "button-reload-app": "መተግበሪያን እንደገና ጫን", "button-reload-app-in-safe-mode": "በአስተማማኝ ሁኔታ መተግበሪያን እንደገና ይጫኑ", "button-open-another-vault": "ሌላ ካዝና ክፈት", "loading-plugins": "ተሰኪዎችን በመጫን ላይ...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "ቮልት በመጫን ላይ...", "msg-failed-to-load-vault": " ቮልት መጫን አልተሳካም፦", "loading-cache": "መሸጎጫ በመጫን ላይ...", "loading-workspace": "የስራ ቦታን በመጫን ላይ..." }, "mobile": { "action-import": "ወደ ቮልት አስመጣ", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "ለማስገባት ፋይል ይምረጡ", "action-insert-text-into-file": "ጽሑፍ ወደ {{filename}} ያስገቡ", "action-insert-link-into-file": "አገናኙን ወደ {{filename}} ያስገቡ", "action-show-switcher": "Show tab overview", "msg-importing": "በማስመጣት ላይ...", "msg-import-success": "ስኬትን አስመጣ", "msg-failed-to-import-file": "{{filename}}ማስመጣት አልተሳካም።", "msg-back-again-to-exit": "ለመውጣት እንደገና ይጫኑ።", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "ይፋዊ የእገዛ ጣቢያ", "label-official-help-site-desc": "በበርካታ ቋንቋዎች የሚገኘውን የ Obsidian ኦፊሴላዊ የእርዳታ ሰነድ ያንብቡ።", "action-visit": "ጎብኝ", "label-discord-chat": "የውይይት ክርክር", "label-discord-chat-desc": "Discord ከሌሎች ልምድ ካላቸው የኦብሲዲያን ተጠቃሚዎች ጋር ለመወያየት ምርጡ ቦታ ነው።", "action-join": "ተቀላቀል", "label-forum": "ይፋዊ መድረክ", "label-forum-desc": "እርስ በርሳችሁ ተረዳዱ፣ የባህሪ ጥያቄዎችን ይለጥፉ፣ ስህተቶችን ሪፖርት ያድርጉ እና ስለ እውቀት አስተዳደር ጥልቅ ውይይት ያድርጉ።", "label-sandbox-vault": "ማጠሪያ ማስቀመጫ", "label-sandbox-vault-desc": "ዙሪያውን ይጫወቱ እና በተለያዩ ባህሪያት ይሞክሩት። እባክዎን ለውጦችዎ አይቀመጡም." } }, "commands": { "save-file": "የአሁኑን ፋይል አስቀምጥ", "download-attachments": "Download attachments for current file", "follow-cursor-link": "አገናኙን በጠቋሚ ስር ይከተሉ", "open-cursor-link-in-new-tab": "በአዲስ ትር ውስጥ አገናኙን በጠቋሚ ስር ይክፈቱ", "open-cursor-link-to-the-right": "ማገናኛን ከጠቋሚ ስር ወደ ቀኝ ክፈት", "open-cursor-link-in-new-window": "አገናኙን በአዲስ መስኮት በጠቋሚ ስር ይክፈቱ", "navigate-tab-above": "ከላይ ባለው የትር ቡድን ላይ አተኩር", "navigate-tab-below": "ከታች ባለው የትር ቡድን ላይ አተኩር", "navigate-tab-left": "በግራ ቡድን ላይ አተኩር", "navigate-tab-right": "በቀኝ በኩል ባለው የትር ቡድን ላይ አተኩር", "toggle-pin": "ፒን ቀያይር", "split-right": "በትክክል ተከፍል", "split-down": "ተከፋፈለ", "toggle-stacked-tabs": "የተደረደሩ ትሮችን ቀያይር", "navigate-back": "ወደ ኋላ ያስሱ", "navigate-forward": "ወደፊት ያስሱ", "use-dark-mode": "ጨለማ ሁነታን ተጠቀም", "use-light-mode": "የብርሃን ሁነታን ተጠቀም", "change-theme": "ጭብጥ ቀይር", "search-current-file": "የአሁኑን ፋይል ይፈልጉ", "search-replace-current-file": "አሁን ባለው ፋይል ውስጥ ይፈልጉ እና ይተኩ", "add-property": "Add file property", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Clear file properties", "open-settings": "ቅንብሮችን ይክፈቱ", "open-help": "እገዛን ይክፈቱ", "toggle-edit": "የአርትዖት/የማንበብ እይታን ቀያይር", "toggle-source-mode": "የቀጥታ ቅድመ እይታ/ምንጭ ሁነታን ቀያይር", "delete-current-file": "የአሁኑን ፋይል ሰርዝ", "new-tab": "አዲስ ትር", "show-trash": "Show trash", "close-all-tabs": "ሁሉንም ትሮች ዝጋ", "close-active-tab": "የአሁኑን ትር ዝጋ", "close-others-in-tab-group": "Close others in tab group", "close-other-tabs": "ሁሉንም ሌሎች ትሮች ዝጋ", "close-tab-group": "Close this tab group", "toggle-left-sidebar": "የግራ ጎን አሞሌን ቀይር", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "የቀኝ የጎን አሞሌን ቀያይር", "toggle-default-new-tab-mode": "ለአዲስ ትሮች ነባሪ ሁነታን ቀይር", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "በአርታዒው ላይ ያተኩሩ", "toggle-fold-properties": "Toggle fold properties in current file", "toggle-fold": "አሁን ባለው መስመር ላይ መታጠፍን ቀያይር", "fold-all": "ሁሉንም ርእሶች እና ዝርዝሮች እጥፋቸው", "unfold-all": "ሁሉንም አርእስቶች እና ዝርዝሮችን ይክፈቱ", "fold-more": "ተጨማሪ እጠፍ", "fold-less": "ያነሰ ማጠፍ", "swap-line-up": "መስመር ይለዋወጡ", "swap-line-down": "መስመር ወደ ታች ይቀያይሩ", "remove-heading": "ርዕስ አስወግድ", "toggle-heading": "እንደ ርዕስ {{level}} አዘጋጅ", "toggle-bold": "ለምርጫ ድፍረትን ቀይር", "toggle-italics": "ለምርጫ ሰያፍ ቀይር", "toggle-highlight": "ድምቀትን ለምርጫ ቀያይር", "toggle-comments": "ለምርጫ አስተያየቶችን ቀያይር", "clear-formatting": "Clear formatting", "insert-link": "አገናኝ አስገባ", "toggle-spellcheck": "የፊደል ማረም ቀይር", "delete-paragraph": "አንቀጽ ሰርዝ", "toggle-checklist": "የማረጋገጫ ዝርዝር ሁኔታን ቀይር", "cycle-list-checklist": "የዑደት ነጥብ/አመልካች ሳጥን", "insert-callout": "ጥሪ አስገባ", "insert-code-block": "Insert code block", "insert-math-block": "Insert math block", "insert-horizontal-rule": "Insert horizontal rule", "insert-table": "Insert table", "insert-footnote": "Insert footnote", "edit-file-title": "የፋይል ርዕስ አርትዕ", "copy-path": "የፋይል መንገድ ቅዳ", "copy-url": "የ obsidian url ይቅዱ", "export-pdf": "ወደ ፒዲኤፍ ላክ", "reload": "ሳያስቀምጡ መተግበሪያን እንደገና ይጫኑ", "undo-close-tab": "ዝጋ ትርን ቀልብስ", "context-menu": "የአውድ ምናሌን በጠቋሚ ስር አሳይ", "show-debug-info": "የማረም መረጃን አሳይ", "open-sandbox-vault": "Open sandbox vault", "always-on-top": "መስኮቱን ሁልጊዜ ከላይ ቀይር", "zoom-in": "አቅርብ", "zoom-out": "አሳንስ", "reset-zoom": "ማጉላትን ዳግም አስጀምር", "toggle-preview": "የአርትዖት/የቅድመ እይታ ሁነታን ቀያይር", "move-to-new-window": "የአሁኑን ፓነል ወደ አዲስ መስኮት ይውሰዱ", "open-in-new-window": "የአሁኑን ፓነል በአዲስ መስኮት ውስጥ ይክፈቱ", "rename-current-file": "የአሁኑን ፋይል እንደገና ይሰይሙ", "go-to-prev-tab": "Go to previous tab", "go-to-next-tab": "Go to next tab", "go-to-last-tab": "Go to last tab", "go-to-nth-tab": "Go to tab #{{n}}", "show-release-notes": "Show release notes" }, "dialogue": { "label-link-affected": "ይህ በ{{files}} ውስጥ ባሉ {{links}} ላይ ተጽእኖ ይኖረዋል.", "msg-updated-links": "በ{{files}} ውስጥ የተዘመኑ {{links}}።", "label-update-links": "አገናኞችን አዘምን", "label-confirm-update-link-to-file": "ከዚህ ፋይል ጋር የሚገናኙ የውስጥ አገናኞችን ማዘመን ይፈልጋሉ?", "button-always-update": "ሁልጊዜ አዘምን", "button-just-once": "አንዴ ብቻ", "button-do-not-update": "አታዘምን", "label-confirm-deletion": "እርግጠኛ ነዎት \"{{filename}}\" መሰረዝ ይፈልግጋሉ?", "label-move-to-system-trash": "ወደ የስርዓት መጣያዎ ይወሰዳል።", "label-move-to-vault-trash": "በማከማቻዎ ውስጥ ባለው .መጣያ የተደበቀ አቃፊ ውስጥ ወደሚገኘው የ Obsidian መጣያ ይንቀሳቀሳል።", "label-permanent-delete": "ፋይሉ በቋሚነት ይሰረዛል።", "label-non-empty-folder": "ይህ አቃፊ ባዶ አይደለም።", "label-delete-folder-warning": "ከቀጠሉ በዚህ አቃፊ ውስጥ ያሉ ሁሉም ፋይሎች ይሰረዛሉ።", "label-delete-folder": "አቃፊ ሰርዝ", "button-delete": "ሰርዝ", "button-delete-do-not-ask-again": "ሰርዝ እና እንደገና አትጠይቅ", "label-do-not-ask-again": "እንደገና አትጠይቅ", "label-existing-backlink": "በአሁኑ ጊዜ ወደዚህ ማስታወሻ የሚጠቁም {{count}} ማገናኛ አለ።", "label-existing-backlink_plural": "በአሁኑ ጊዜ ወደዚህ ማስታወሻ የሚጠቁሙ {{count}} ማገናኛዎች አሉ።", "label-delete-file": "ፋይል ሰርዝ", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "አስተዳድር", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "ሰርዝ", "button-download": "Download", "button-done": "ተከናውኗል", "button-save": "አስቀምጥ", "button-stop": "ማቆም", "button-continue": "ቀጥል", "button-choose": "Choose", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "ፒዲኤፍ በማዘጋጀት ላይ...", "label-rename-file": "ፋይሉን እንደገና ይሰይሙ", "label-rename-file-generic": "File name", "label-new-name": "አዲስ ስም", "msg-rename-success": "የፋይል ስም በተሳካ ሁኔታ ተቀይሯል።", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "ርዕስ እንደገና ይሰይሙ", "label-rename-blockid": "የማገጃ መታወቂያ እንደገና ይሰይሙ" }, "menu-items": { "new-file": "ማስታወሻ ፍጠር", "new-file-to-the-right": "አዲስ ማስታወሻ ወደ ቀኝ", "new-window": "አዲስ መስኮት", "open-switcher": "በፍጥነት ክፈት...", "open-vault": "ቮልት ክፈት...", "close-tab": "ትርን ዝጋ", "close-window": "መስኮት ዝጋ", "find": "አግኝ", "replace": "ተካ", "insert-callout": "መደወል", "insert-markdown-link": "የማርክ ማድረጊያ አገናኝ", "insert-wikilink": "አገናኝ", "set-heading": "የርዕስ {{level}}", "no-heading": "ርዕስ የለም", "insert-quote": "ጥቅስ", "export-pdf": "ፒዲኤፍ ወደ ውጪ ላክ", "insert-attachment": "Insert Attachment...", "insert-codeblock": "Code Block", "insert-math-block": "Math Block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bullet-list": "የነጥብ ዝርዝር", "toggle-numbered-list": "የቁጥር ዝርዝር", "toggle-checklist": "የተግባር ዝርዝር", "toggle-bold": "ደፋር", "toggle-code": "ኮድ", "toggle-comment": "አስተያየት", "toggle-italics": "ሰያፍ", "toggle-inline-math": "Math", "toggle-highlight": "አድምቅ", "toggle-strikethrough": "ስትሮክ", "toggle-comments": "አስተያየት", "folding-menu": "Folding", "fold-all": "ሁሉንም እጠፍ", "unfold-all": "ሁሉንም ይክፈቱ", "fold-more": "ተጨማሪ ማጠፍ", "fold-less": "ያነሰ ማጠፍ", "source-mode": "የምንጭ ሁነታ", "reading-view": "የንባብ እይታ", "show-debug-info": "የማረም መረጃን አሳይ", "open-sandbox": "Open Sandbox Vault", "navigate-back": "ተመለስ ዳስስ", "navigate-forward": "ወደ ፊት አስስ", "toggle-left-sidebar": "የግራ የጎን አሞሌን ቀይር", "toggle-right-sidebar": "የቀኝ የጎን አሞሌ ቀይር", "toggle-ribbon": "Ribbon", "split-right": "በቀኝ ተከፈለ", "split-down": "ወደ ታች ተከፈለ", "release-notes": "የመልቀቂያ ማስታወሻዎች" }, "plugins": { "name": "ተሰኪዎች", "file-explorer": { "name": "ፋይል አሳሽ", "desc": "በእርስዎ ማከማቻ ውስጥ ያሉትን ሁሉንም ፋይሎች ይመልከቱ።", "action-open": "ፋይል አሳሽ ይክፈቱ", "action-show": "የፋይል አሳሽ አሳይ", "action-create-note": "አዲስ ማስታወሻ ይፍጠሩ", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Create new note in current tab", "action-create-note-to-the-right": "በቀኝ በኩል ማስታወሻ ይፍጠሩ", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "ሁሉንም ሰብስብ", "action-expand-all": "ሁሉንም ዘርጋ", "action-new-note": "አዲስ ማስታወሻ", "action-new-folder": "አዲስ ማህደር", "action-change-sort": "የመደርደር ቅደም ተከተል ለውጥ", "action-reveal-file": "በፋይል አሳሽ ውስጥ ፋይልን አሳይ", "action-reveal-active-file": "በፋይል አሳሽ ውስጥ ገቢር ፋይልን አሳይ", "command-make-a-copy": "Make a copy of the current file", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "ፋይሉን ወደ ሌላ አቃፊ ውሰድ", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "ፋይሉን ወደ...", "action-move-folder": "አቃፊ ወደ...", "action-move-items": "{{count}} ንጥሎችን ወደ...", "prompt-type-folder": "አቃፊ ይተይቡ", "label-no-folders": "ምንም አቃፊዎች አልተገኙም።", "instruction-navigate": "ለማሰስ", "instruction-move": "ለ መንቀሳቀስ", "instruction-create": "to create", "instruction-dismiss": "ለማሰናበት", "label-sort-a-to-z": "በፋይል ስም (ከA እስከ Z) ደርድር", "label-sort-z-to-a": "በፋይል ስም (Z ወደ A) ደርድር", "label-sort-new-to-old": "በአርትዖት ጊዜ ደርድር (ከአዲስ እስከ አሮጌ)", "label-sort-old-to-new": "በአርትዖት ጊዜ ደርድር (ከአሮጌ ወደ አዲስ)", "label-sort-created-old-to-new": "የተፈጠረ ጊዜ (ከአሮጌ እስከ አዲስ)", "label-sort-created-new-to-old": "የተፈጠረ ጊዜ (ከአዲስ እስከ አሮጌ)", "menu-opt-new-note": "አዲስ ማስታወሻ", "menu-opt-new-folder": "አዲስ ማህደር", "menu-opt-rename": "እንደገና ይሰይሙ", "menu-opt-delete": "ሰርዝ", "menu-opt-make-copy": "ቅጂ ይስሩ", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": " የፋይል ስም ከሚከተሉት ሆሄዎች ውስጥ አንዱን ሊይዝ አይችልም፡", "msg-unsafe-characters": " ማገናኛዎች ከእነዚህ ሆሄዎች ውስጥ አንዳቸውም ከያዙ የፋይል ስሞች ጋር አይሰሩም፡", "msg-file-already-exists": "ተመሳሳይ ስም ያለው ፋይል አስቀድሞ አለ።", "msg-empty-file-name": "የፋይል ስም ባዶ ሊሆን አይችልም።", "msg-bad-dotfile": "የፋይል ስም በነጥብ መጀመር የለበትም።", "tooltip-modified-time": "ለመጨረሻ ጊዜ የተሻሻለው በ{{time}} ነው።", "tooltip-created-time": "በ{{time}} የተፈጠረ", "tooltip-folders-files-count": "{{fileCount}} ፣ {{folderCount}}", "label-untitled-file": "ርዕስ አልባ", "label-untitled-folder": "ርዕስ አልባ", "msg-set-attachment-folder": "ዓባሪዎች ከአሁን በኋላ ወደ \"{{path}}\" ይቀመጣሉ።" }, "search": { "name": "ፈልግ", "desc": "በሁሉም ማስታወሻዎች ውስጥ ቁልፍ ቃል ይፈልጉ.", "action-open-search": "በሁሉም ፋይሎች ውስጥ ይፈልጉ", "label-collapse-results": "ውጤቶችን ሰብስብ", "label-match-case": "የማዛመጃ መያዣ", "label-explain-search-term": "የፍለጋ ቃል ያብራሩ", "label-more-context": "ተጨማሪ አውድ አሳይ", "label-result-count": "{{count}} result", "label-result-count_plural": "{{count}} results", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Search settings", "prompt-start-search": "ፍለጋ ለመጀመር ይተይቡ...", "label-match-text": " የሚዛመድ ጽሑፍ፡", "label-match-regex": " ሬጅክስን ይዛመዳል፡", "label-match-exact-text": "ትክክለኛ ጽሑፍ ይዟል፡-", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "Contains property:", "label-match-all": " ሁሉንም አዛምድ፡", "label-match-any": " ከየትኛውም ጋር አዛምድ", "label-excluding": " ሳይጨምር፡", "label-case-sensitive": "ጉዳይ ሚስጥራዊነት ያለው", "label-case-insensitive": "ጉዳይ የማይሰማ", "label-match-file-path": " የማመሳሰል ፋይል መንገድ፡", "label-match-file-name": " ተዛማጅ ፋይል ስም፡-", "label-match-content": " ተዛማጅ ፋይል ይዘት፡-", "label-match-task": " የማዛመድ ተግባር፡", "label-match-task-todo": " የማዛመድ ተግባር (የተሰራ)፦", "label-match-task-done": " የማመሳሰል ተግባር (ተከናውኗል)፦", "label-match-line": " የግጥሚያ መስመር፡", "label-match-block": " የማዛመድ እገዳ፡", "label-match-section": " የግጥሚያ ክፍል፡", "label-match-tag": " ተዛማጅ መለያ", "label-no-matches": "ምንም ተዛማጅ አልተገኙም።", "matches-with-count": "... እና ተጨማሪ {{count}} ግጥሚያ።", "matches-with-count_plural": "... እና ተጨማሪ {{count}} ግጥሚያዎችን።", "label-copy-search-results": "የፍለጋ ውጤቶችን ቅዳ", "button-copy-results": "ውጤቶችን ቅዳ", "msg-successfully-copied": "ውጤቶች ወደ ቅንጥብ ሰሌዳዎ ተቀድተዋል።", "option-show-path": "መንገድ አሳይ", "option-show-path-description": "የፋይሉን ስም ብቻ ሳይሆን የፋይሉን ሙሉ ዱካ አሳይ።", "option-link-style": "የአገናኝ ዘይቤ", "option-link-style-description": "እንደ አማራጭ እያንዳንዱን ፋይል ውጤት ወደ ማገናኛ ያዙሩት።", "option-choice-link-style-none": "ምንም", "option-choice-link-style-wikilink": "ዊኪሊንክ", "option-choice-link-style-markdown-link": "ምልክት ማድረጊያ አገናኝ", "option-list-prefix": "የዝርዝር ቅድመ ቅጥያ", "option-list-prefix-description": "እንደ አማራጭ ለእያንዳንዱ የፋይል ውጤት የዝርዝር ንጥል ቅድመ ቅጥያ ያክሉ።", "option-choice-list-style-none": "ምንም", "option-choice-list-style-dash": "ዳሽ (-)", "option-choice-list-style-asterisk": "ኮከብ ምልክት (*)", "option-choice-list-style-numbered": "የተቆጠሩ", "tooltip-clear-search": "ፍለጋን አጽዳ", "label-search-options": "የፍለጋ አማራጮች", "label-properties-group": "Properties", "label-tags-group": "Tags", "tooltip-read-more": "ተጨማሪ ያንብቡ", "label-history": "ታሪክ", "tooltip-clear-history": "የፍለጋ ታሪክን አጽዳ", "label-path-option-description": "የፋይሉ ግጥሚያ መንገድ", "label-file-name-option-description": "ተዛማጅ ፋይል ስም", "label-tag-option-description": "መለያዎችን ፈልግ", "label-line-option-description": "በተመሳሳይ መስመር ላይ ቁልፍ ቃላትን ይፈልጉ", "label-section-option-description": "በተመሳሳይ ርዕስ ስር ቁልፍ ቃላትን ይፈልጉ", "label-property-option-description": "match property", "menu-opt-search-for": "\"{{keyword}}\" ቃል ይፈልጉ", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "ፈጣን መቀየሪያ", "desc": "ከቁልፍ ሰሌዳዎ ሳይወጡ ወደ ማንኛውም ፋይሎች ይዝለሉ። Ctrl/Cmd+O ለማግበር።", "short-name": "መቀየሪያ", "action-open": "ፈጣን መቀየሪያን ይክፈቱ", "instruction-navigate": "ለማሰስ", "instruction-open": "ለመክፈት", "instruction-open-in-new-tab": "በአዲስ ትር ለመክፈት", "instruction-open-to-the-right": "ወደ ቀኝ ለመክፈት", "instruction-create": "መፍጠር", "instruction-dismiss": "ለማሰናበት", "instruction-select": "to select", "label-no-note-create-new": "ምንም ማስታወሻዎች አልተገኙም። አዲስ ለመፍጠር አስገባ።", "prompt-type-file-name": "ለመቀየር ወይም ለመፍጠር ፋይል ይተይቡ...", "label-enter-to-create": "ለመፍጠር አስገባ", "tooltip-not-created-yet": "እስካሁን አልተፈጠረም፣ ለመፍጠር ይምረጡ", "option-show-existing-only": "ያለውን ብቻ አሳይ", "option-show-existing-only-description": "ገና ላልተፈጠሩ ፋይሎች የሚወስዱ አገናኞችን ማሳየት አለመቻል።", "option-show-attachments": "አባሪዎችን አሳይ", "option-show-attachments-desc": "እንደ ምስሎች፣ ቪዲዮዎች እና ፒዲኤፎች ያሉ አባሪ ፋይሎችን አሳይ።", "option-show-all-file-types": "ሁሉንም የፋይል ዓይነቶች አሳይ", "option-show-all-file-types-desc": "Obsidian መክፈት የማይችላቸውን ጨምሮ ሁሉንም ፋይሎች አሳይ። ፋይሉ ለዚያ የፋይል አይነት በነባሪ መተግበሪያ ይከፈታል።" }, "graph-view": { "name": "የግራፍ እይታ", "desc": "የትኛዎቹ ማስታወሻዎች የሚያገናኙትን የግራፍ አጠቃላይ እይታ ይመልከቱ።", "action-open": "የግራፍ እይታን ክፈት", "action-open-local": "የአካባቢ ግራፍ ክፈት", "action-copy-screenshot": "ቅጽበታዊ ገጽ እይታን ይቅዱ", "tab-title": "የ{{displayText}} ግራፍ", "label-filters": "ማጣሪያዎች", "prompt-filter-nodes": "ፋይሎችን ፈልግ...", "option-depth": "ጥልቀት", "option-depth-description": "በዚህ የአገናኞች ብዛት አንጓዎችን አሳይ", "option-neighbor-links": "የጎረቤት ማገናኛዎች", "option-neighbor-links-description": "በጎረቤቶች መካከል ግንኙነቶችን አሳይ.", "option-forelinks": "ወጪ አገናኞች", "option-forelinks-description": "ወደ ሌሎች ፋይሎች አገናኞችን አሳይ", "option-backlinks": "ገቢ አገናኞች", "option-backlinks-description": "ከሌሎች ፋይሎች አገናኞችን አሳይ", "option-show-tags": "መለያዎች", "option-show-tags-description": "መለያዎች ከያዙት ፋይሎች ጋር የተገናኙ ናቸው።", "option-show-attachments": "አባሪዎች", "option-show-attachments-description": "በፋይሎች የተካተቱ አባሪዎችን አሳይ", "option-show-existing-files-only": "ነባር ፋይሎች ብቻ", "option-show-existing-files-only-description": "ሲፈተሽ፣ ወደሌሉ ፋይሎች የሚወስዱ አገናኞች አይታዩም።", "option-show-orphans": "ወላጅ አልባ ልጆች", "option-show-orphans-description": "ከሌላ ፋይል ጋር ያልተገናኙ ፋይሎችን አሳይ", "label-display": "ማሳያ", "option-show-arrows": "ቀስቶች", "option-show-arrows-description": "ሲጎሉ ቀስቶችን አሳይ", "option-text-fade": "የጽሑፍ ደብዛዛ ገደብ", "option-node-size": "የመስቀለኛ ክፍል መጠን", "option-link-thickness": "የአገናኝ ውፍረት", "label-forces": "ኃይሎች", "option-center-force": "የመሃል ኃይል", "option-link-force": "የአገናኝ ኃይል", "option-link-distance": "የአገናኝ ርቀት", "option-repel-force": "ኃይልን መቃወም", "tooltip-open-graph-settings": "የግራፍ ቅንብሮችን ክፈት", "msg-screenshot-copied": "ቅጽበታዊ ገጽ እይታ ወደ ቅንጥብ ሰሌዳው ተቀድቷል።", "label-groups": "ቡድኖች", "placeholder-enter-query": "ጥያቄ አስገባ...", "tooltip-delete-graph": "ቡድን ሰርዝ", "button-new-group": "አዲስ ቡድን", "tooltip-click-to-change-drag-to-reorder": "ቡድኖችን እንደገና ለመደርደር colornDrag ለመቀየር ጠቅ ያድርጉ", "action-timelapse": "የግራፍ ጊዜ ያለፈበት እነማ ጀምር", "tooltip-start-timelapse-animation": "የጊዜ ማለፊያ አኒሜሽን ጀምር", "button-animate-timelapse": "አኒሜት" }, "backlinks": { "name": "የኋላ አገናኞች", "desc": "በሁኔታ አሞሌ ውስጥ የጀርባ አገናኞችን ቁጥር አሳይ።", "action-open": "የኋላ አገናኞችን ይክፈቱ", "action-show": "የጀርባ አገናኞችን ፓነል አሳይ", "action-open-for-current": "ለአሁኑ ፋይል የኋላ አገናኞችን ይክፈቱ", "action-toggle-backlinks-in-document": "በሰነድ ውስጥ የጀርባ አገናኞችን ቀያይር", "menu-opt-backlinks-in-document": "በሰነድ ውስጥ የኋላ አገናኞች", "label-linked-mentions": "የተገናኙ መጠቀሶች", "label-no-backlinks": "ምንም የኋላ አገናኞች አልተገኙም።", "label-unlinked-mentions": "ያልተገናኙ መጠቀሶች", "label-show-search": "የፍለጋ ማጣሪያ አሳይ", "label-link-button-text": "አገናኝ", "tab-title": "ለ {{displayText}} የጀርባ አገናኞች", "label-no-unlinked-mentions": "ምንም ያልተገናኙ መጠቀሶች አልተገኙም።", "ellipsis": "...", "option-backlink-in-document": "በሰነድ ውስጥ የኋላ አገናኝ", "option-backlink-in-document-desc": "አዲስ ፓነሎችን ሲከፍቱ በነባሪ የጀርባ አገናኞችን በሰነድ አሳይ።" }, "outgoing-links": { "name": "ወጪ አገናኞች", "desc": "ወጪ አገናኞችን አሳይ እና ያልተገናኙ የሌሎች ማስታወሻዎችን አሁን ባለው ማስታወሻ ፈልግ።", "action-open": "ወጪ አገናኞችን ይክፈቱ", "action-show": "የወጪ አገናኞች መቃን አሳይ", "action-open-for-current": "ለአሁኑ ፋይል የወጪ አገናኞችን ይክፈቱ", "tab-title": "ከ {{displayText}} ወጪ አገናኞች", "label-links": "አገናኞች", "label-no-links": "ምንም ማገናኛዎች አልተገኙም።", "label-unlinked-mentions": "ያልተገናኙ መጠቀሶች", "tooltip-link-file": "ይህን ፋይል ያገናኙ", "tooltip-not-created": "እስካሁን አልተፈጠረም።" }, "tag-pane": { "name": "የመለያ ፓነል", "short-name": "Tags", "desc": "ሁሉንም መለያዎችዎን እና ከተከሰቱት ቁጥራቸው ጋር ያሳያል።", "action-show": "የመለያ መቃን አሳይ", "label-no-tags": "ምንም መለያዎች አልተገኙም።", "label-sort-by-name-a-to-z": "የመለያ ስም (ከኤ እስከ ፐ)", "label-sort-by-name-z-to-a": "የመለያ ስም (ከዜድ እስከ ሀ)", "label-sort-by-frequency-high-to-low": "ድግግሞሽ (ከከፍተኛ ወደ ዝቅተኛ)", "label-sort-by-frequency-low-to-high": "ድግግሞሽ (ከዝቅተኛ እስከ ከፍተኛ)", "action-show-nested-tags": "የጎጆ መለያዎችን አሳይ", "action-collapse-all": "ሁሉንም ሰብስብ", "action-expand-all": "ሁሉንም ዘርጋ" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Properties view", "desc": "Show the metadata for your files.", "name-global": "All properties", "name-local": "File properties", "tab-title": "File properties for {{displayText}}", "action-show": "Show all properties", "action-show-local": "Show file properties", "opt-unassign-type": "Unassign type", "label-no-properties": "No properties found.", "label-invalid-properties": "Invalid properties.", "label-sort-by-name-a-to-z": "Property name (A to Z)", "label-sort-by-name-z-to-a": "Property name (Z to A)", "label-sort-by-frequency-high-to-low": "Frequency (high to low)", "label-sort-by-frequency-low-to-high": "Frequency (low to high)", "msg-merge-properties-warning": "Merge property “{{oldKey}}” with “{{newKey}}”?", "msg-merge-properties-warning-desc": "In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-open-local": "Open file properties", "action-open-daily-note": "Open daily note" }, "page-preview": { "name": "የገጽ ቅድመ እይታ", "desc": "የውስጥ አገናኝ ሲያንዣብቡ ማስታወሻን አስቀድመው ይመልከቱ። Ctrl/Cmd + በአርታዒ ሁነታ ላይ ማንዣበብ።", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "\"{{linktext}}\" ገና አልተፈጠረም። ለመፍጠር ጠቅ ያድርጉ።", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "አርታዒ", "label-source-preview": "ቅድመ እይታ", "label-source-search": "ፍለጋ፣ የኋላ አገናኞች እና ወጪ አገናኞች", "label-source-tab-header": "Tab header", "label-require-mod": "በማንዣበብ ላይ የገጽ ቅድመ እይታን ለመቀስቀስ {{key}} ጠይቅ" }, "bookmarks": { "name": "Bookmarks", "desc": "Bookmark frequently used files and searches.", "action-show": "Show bookmarks", "action-collapse-all": "Collapse all", "action-new-bookmark": "Bookmark the active tab...", "action-new-group": "New bookmark group", "action-bookmark": "Bookmark...", "action-add-bookmark": "Add bookmark", "action-edit-bookmark": "Edit bookmark", "action-bookmark-block": "Bookmark block under cursor...", "action-bookmark-heading": "Bookmark heading under cursor...", "action-bookmark-search": "Bookmark current search...", "action-remove-bookmark": "Remove bookmark for current file", "action-bookmark-tab-group": "Bookmark {{count}} tab...", "action-bookmark-tab-group_plural": "Bookmark {{count}} tabs...", "action-bookmark-all-tabs": "Bookmark all tabs...", "action-bookmark-graph": "Bookmark this graph...", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} bookmark", "label-bookmark-with-count_plural": "{{count}} bookmarks", "label-no-bookmarks": "No bookmarks found", "label-invalid-data": "Failed to load bookmarks.", "label-invalid-data-desc": "The data file is corrupted.", "label-untitled-group": "Untitled group", "label-untitled-graph": "Untitled Graph", "menu-opt-edit": "Edit...", "menu-opt-remove": "Remove", "menu-opt-rename": "Rename", "menu-opt-bookmark-block": "Bookmark this block...", "menu-opt-bookmark-heading": "Bookmark this heading...", "msg-no-search-query": "No search query to bookmark.", "option-path": "Path", "option-query": "Query", "option-u-r-l": "URL", "option-title": "Title", "option-group": "Bookmark group", "placeholder-bookmark-group": "Bookmarks" }, "custom-css": { "name": "የግሌ ማሳመሪያ CSS", "desc": "obsidian.css በቮልት ውስጥ ያነባል እና ይተገበራል።", "setting-community-themes": "የማህበረሰብ ገጽታዎች", "msg-fetching-themes": "የማህበረሰብ ገጽታ ውሂብ በማምጣት ላይ...", "prompt-filter": "አጣራ...", "label-dark-theme-only": "ጨለማ ገጽታዎች ብቻ", "label-light-theme-only": "ቀላል ገጽታዎች ብቻ", "label-use": "ተጠቀም", "label-stop-use": "ይህን ጭብጥ መጠቀም አቁም", "label-install-and-use": "ይጫኑ እና ይጠቀሙ", "label-update": "አዘምን", "label-no-readme": "ይህ ጭብጥ README ፋይል አላቀረበም።", "tooltip-remove-theme": "ገጽታን ያስወግዱ", "label-visit-on-github": "GitHub ላይ ይጎብኙ", "msg-load-error": "የማህበረሰብ ገጽታዎችን መጫን አልተቻለም፣እባክዎ አውታረ መረብዎን ያረጋግጡ።", "msg-now-using-theme": "አሁን {{title}}ን እንደ CSS ገጽታዎ እየተጠቀምክ ነው።", "msg-deleted-theme": "የገጽታ {{title}} ተሰርዟል።", "msg-updated-theme": "የጭብጡ {{title}} ተዘምኗል።", "label-installed": "ተጭኗል", "label-legacy": "ቅርስ", "button-update-all-themes": "ሁሉንም አዘምን", "msg-failed-load-themes": "የማህበረሰብ ገጽታዎችን መጫን አልተሳካም።", "msg-no-updates-found": "ምንም የገጽታ ዝማኔዎች አልተገኙም።", "msg-updates-found": "ለማዘመን {{count}} ያህል ገጽታዎች ጭብጥ ተገኝቷል።", "msg-updates-found_plural": "ለማዘመን {{count}} ገጽታዎች ተገኝተዋል።", "msg-failed-to-install-theme": "\"{{name}}\" ገጽታ መጫን አልተሳካም።", "msg-successfully-installed-theme": "\"{{name}}\" ገጽታ በተሳካ ሁኔታ ተጭኗል።", "msg-installing-theme": "\"{{name}}\" ገጽታ በመጫን ላይ...", "label-search-summary": "{{themeCount}} በማሳየት ላይ፡", "label-update-available": "ማዘመን አለ።" }, "command-palette": { "name": "የትእዛዝ ቤተ-ስዕል", "desc": "እሱን ለመጥራት ትእዛዝ ይተይቡ። UI መጠቀም ወይም አቋራጩን ማስታወስ አያስፈልግም።", "action-open": "የትእዛዝ ቤተ-ስዕል ይክፈቱ", "instruction-navigate": "ለማሰስ", "instruction-use": "መጠቀም", "instruction-dismiss": "ለማሰናበት", "label-no-commands": "ምንም ትዕዛዞች አልተገኙም።", "prompt-type-command": "ትዕዛዝ ይተይቡ...", "label-pinned-commands": "የተሰኩ ትዕዛዞች", "option-add-new-pin": "አዲስ የተሰካ ትእዛዝ", "option-add-new-pin-description": "ምንም የፍለጋ መጠይቅ በማይኖርበት ጊዜ የተሰኩ ትዕዛዞች በሁሉም ትዕዛዞች አናት ላይ ይታያሉ።" }, "markdown-format-importer": { "name": "ምልክት ማድረጊያ ቅርጸት አስመጪ", "desc": "Markdownን ከሌሎች መተግበሪያዎች ወደ Obsidian ቅርጸት ይለውጡ።", "action-open": "Markdown አስመጪን ይክፈቱ", "option-roam-tag-fixer": "የሮም ምርምር መለያ መጠገኛ", "option-roam-tag-fixer-description": "\"#መለያ\" እና \"#[[መለያ]]\"ን ወደ \"[[መለያ]]\" ይለውጣል።", "option-roam-highlight-fixer": "የሮም ምርምር ማድመቂያ አስተካክል።", "option-roam-highlight-fixer-description": "\"^^ድምቀት^^\" ወደ \"==ድምቀት==\" ይለውጣል።", "option-roam-todo-converter": "የሮም ምርምር TODO መቀየሪያ", "option-roam-todo-converter-description": "\"{{[[TODO]]}}\" ወደ \"[ ]\" ይለውጣል።", "option-bear-highlight-fixer": "የድብ ማድመቂያ አራሚ", "option-bear-highlight-fixer-description": " \"::ማድመቅ::\" ወደ \"==ማድመቅ==\"ይቀይራል።", "zettelkasten-link-fixer": "Zettelkasten አገናኝ አስተካክል", "zettelkasten-link-fixer-description": "\"[[UID]]\" ወደ ሙሉ \"[[UID ፋይል ስም]]\" አገናኞችን ያስተካክላል።", "zettelkasten-link-beautifier": "Zettelkasten አገናኝ ማስዋቢያ", "zettelkasten-link-beautifier-description": "\"[[UID]]\" አገናኞችን ያስተካክላል እና \"[[UID የፋይል ስም|የፋይል ስም]]\" ያስውበቸዋልም።", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "ማስጠንቀቂያ፡ አስመጪው አሁን ያለውን ፋይል ብቻ ሳይሆን በቮልትዎ ውስጥ ያሉትን ሁሉንም ፋይሎች ይለውጣል።", "msg-override-files-warning": "ፋይሎችዎ ይፃፋሉ። ለመለወጥ ከመሞከርዎ በፊት ሁሉንም ፋይሎችዎን ምትኬ ያስቀምጡላቸው።", "label-start-conversion": "ልወጣ ጀምር", "label-stop": "ተወ", "label-go-back": "ተመለስ", "label-done": "ተከናውኗል", "label-processing": "በማሰናዳት ላይ...", "label-cancelling": "በመሰረዝ ላይ...", "label-finished": "ተጠናቀቀ!", "label-processed-files": "የተስተካከሉ ፋይሎች", "label-modified-files": "የተሻሻሉ ፋይሎች", "label-total-replacements": "ጠቅላላ ተተኪዎች", "label-failed": "Failed" }, "daily-notes": { "name": "ዕለታዊ ማስታወሻዎች", "desc": "የዛሬውን ዕለታዊ ማስታወሻ ይክፈቱ፣ ወይም ከሌለ አንድ ይፍጠሩ።", "short-name": "ዛሬ", "action-open": "የዛሬውን ማስታወሻ ክፈት", "action-open-previous": "የቀደመውን ዕለታዊ ማስታወሻ ይክፈቱ", "action-open-next": "የሚቀጥለውን ዕለታዊ ማስታወሻ ይክፈቱ", "action-insert-text": "ጽሁፍ ወደ ዕለታዊ ማስታወሻ አስገባ", "action-insert-link": "አገናኙን ወደ ዕለታዊ ማስታወሻ አስገባ", "msg-fail-format": "ዕለታዊ ማስታወሻ መፍጠር አልተሳካም። \"{{format}}\" የሚሰራ ቅርጸት አይደለም።", "msg-fail-folder": "ዕለታዊ ማስታወሻ መፍጠር አልተሳካም። የአቃፊ \"{{folderOption}}\" አልተገኘም።", "msg-fail-template-file": "ዕለታዊ ማስታወሻ መፍጠር አልተሳካም። የአብነት ፋይል \"{{template}}\" አልተገኘም።", "msg-no-previous": "ከዚህ በፊት ምንም ዕለታዊ ማስታወሻ የለም።", "msg-no-next": "ከዚህ በኋላ ምንም ዕለታዊ ማስታወሻ የለም።", "option-date-format": "የቀን ቅርጸት", "label-refer-to-syntax": " ለተጨማሪ አገባብ፣ ይመልከቱ፡-", "label-syntax-link": "የቅርጸት ማጣቀሻ", "label-syntax-live-preview": " ምን እንደሚመስል እነሆ፡-", "option-new-file-location": "አዲስ የፋይል ቦታ", "option-new-file-location-description": "አዲሱን ዕለታዊ ማስታወሻ ለመፍጠር የአቃፊው መንገድ።", "option-template": "የአብነት ፋይል ቦታ", "option-template-description": "እንደ አብነት ለመጠቀም የፋይል ዱካ።", "option-open-on-start": "ጅምር ላይ ዕለታዊ ማስታወሻ ይክፈቱ", "option-open-on-start-description": "ይህንን ቮልት በከፈቱ ቁጥር ዕለታዊ ማስታወሻዎን በራስ-ሰር ይክፈቱ።" }, "unique-note-creator": { "name": "ልዩ ማስታወሻ ፈጣሪ", "desc": "እንደ zettelkasten ወይም ሸርተቴ ላሉ የስራ ፍሰቶች ልዩ የጊዜ ማህተም ቅድመ ቅጥያ ያላቸው ማስታወሻዎችን ይፍጠሩ።", "short-name": "ልዩ", "action-create-note": "አዲስ ልዩ ማስታወሻ ይፍጠሩ", "action-add-link": "Add unique internal link", "option-new-file-location": "አዲስ የፋይል ቦታ", "option-new-file-location-description": "አዲሱን ልዩ ማስታወሻ ለመፍጠር የአቃፊው መንገድ።", "msg-folder-not-found": "ልዩ ማስታወሻ መፍጠር አልተሳካም። የአቃፊ \"{{folderOption}}\" አልተገኘም።", "option-template-file": "የአብነት ፋይል ቦታ", "option-template-file-description": "እንደ አብነት ለመጠቀም የፋይል ዱካ።", "option-template-file-placeholder": "ምሳሌ፡ አቃፊ1/ማስታወሻ", "option-id-format": "ልዩ ቅድመ ቅጥያ ቅርጸት", "msg-template-file-not-found": "ልዩ ማስታወሻ መፍጠር አልተሳካም። የአብነት ፋይል \"{{template}}\" አልተገኘም።", "msg-failed-to-generate": "በ \"{{format}} ቅርጸት ልዩ ማስታወሻ ማመንጨት አልተሳካም" }, "random-note": { "name": "የዘፈቀደ ማስታወሻ", "desc": "የዘፈቀደ ማስታወሻ ይከፍታል። ለግምገማ እና ለማወቅ ይጠቅማል።", "short-name": "በዘፈቀደ", "action-open": "የዘፈቀደ ማስታወሻ ይክፈቱ" }, "outline": { "name": "ዝርዝር", "desc": "የአሁኑን ፋይል ወይም የተገናኘውን መቃን ዝርዝር ያሳያል።", "action-open": "ዝርዝርን ይክፈቱ", "action-show": "የዝርዝር መቃን አሳይ", "action-open-for-current": "የአሁኑን ፋይል ዝርዝር ይክፈቱ", "tab-title": "የ\"{{template}}\" ዝርዝር", "label-no-headings": "ምንም ርዕሶች አልተገኙም።", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "የቃላት ብዛት", "desc": "በሁኔታ አሞሌ ውስጥ የቃላት ብዛት አሳይ።" }, "slides": { "name": "ስላይዶች", "desc": "ከMarkdown የቀረበ ተንሸራታቾችን ለመለየት --- ይጠቀሙ።", "action-start": "የዝግጅት አቀራረብን ጀምር" }, "audio-recorder": { "name": "የድምጽ መቅጃ", "desc": "ኦዲዮ ይቅረጹ እና እንደ አባሪ ያስቀምጡ።", "action-start": "ኦዲዮ መቅዳት ጀምር", "action-stop": "ኦዲዮ መቅዳት አቁም", "action-toggle": "መቅዳት ጀምር/አቁም", "msg-access-denied": "የማይክሮፎን መዳረሻ ተከልክሏል፣ እባክህ ከምርጫ ፓነል አንቃው።", "msg-pending-grant": "ቀረጻ ለመጀመር እባክዎ የማይክሮፎን ፍቃድ ይስጡ።", "msg-no-microphone": "ምንም ማይክሮፎን አልተገናኘም።" }, "open-with-default-app": { "name": "በነባሪ መተግበሪያ ክፈት", "desc": "በነባሪ መተግበሪያ ውስጥ የአሁኑን ፋይል ለመክፈት ቁልፍ ያክሉ።", "action-open-file": "በነባሪ መተግበሪያ ክፈት", "action-open-file-mobile": "አጋራ", "action-show-in-folder": "በአቃፊ ውስጥ አሳይ", "action-show-in-folder-mac": "በፈላጊ ውስጥ ይገለጡ" }, "templates": { "name": "አብነቶች", "desc": "የአብነት ይዘትን ከአብነት ፋይሎች አቃፊ አስገባ።", "action-insert": "አብነት አስገባ", "action-insert-current-date": "የአሁኑን ቀን አስገባ", "action-insert-current-time": "የአሁኑን ጊዜ አስገባ", "option-template-folder-location": "የአብነት አቃፊ ቦታ", "option-template-folder-location-description": "በዚህ አቃፊ ውስጥ ያሉ ፋይሎች እንደ አብነት ይገኛሉ።", "option-template-date-format": "የቀን ቅርጸት", "option-template-date-format-description": "በአብነት ፋይል ውስጥ ያለው {{date}} በዚህ ዋጋ ይተካል።", "option-template-date-format-description2": "ቅርጸቱን አንድ ጊዜ ለመሻር ቀን፡ {{date:YYYY-MM-DD}}ን መጠቀም ይችላሉ።", "option-template-time-format": "የጊዜ ቅርጸት", "option-template-time-format-description": "በአብነት ፋይሉ ውስጥ ያለው {{time}} በዚህ ዋጋ ይተካል።", "option-template-time-format-description2": "ቅርጸቱን አንድ ጊዜ ለመሻር {{time:HH:mm}}ን መጠቀም ይችላሉ።", "instruction-navigate": "ለማሰስ", "instruction-insert": "አብነት ለማስገባት", "instruction-dismiss": "ለማሰናበት", "msg-no-templates-found": "ምንም አብነቶች አልተገኙም።", "msg-fail-invalid-folder": "አብነቶችን መዘርዘር አልተሳካም። የአብነት አቃፊ ልክ ያልሆነ ነው።", "msg-fail-folder-not-found": "አብነቶችን መዘርዘር አልተሳካም። የአቃፊ \"{{folderOption}}\" አልተገኘም።", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "Failed to list templates. No template folder configured.", "prompt-type-template": "የአብነት ስም ይተይቡ..." }, "translucency": { "name": "ገላጭ መስኮት", "desc": "የጥልቀት ስሜትን ለመጨመር ግልጽነት ተፅእኖን ያብሩ። ከጨለማ ሁነታ ጋር መጠቀም የተሻለ ነው። በሊኑክስ ላይ አይደገፍም።" }, "slash-command": { "name": "Slash ትዕዛዞች", "desc": "ወደፊት slash በመተየብ በአርታዒው ውስጥ slash ትዕዛዞችን የመቀስቀስ ችሎታን ያንቁ።" }, "editor-status": { "name": "የአርታዒ ሁኔታ", "desc": "የአሁኑን አርታኢ ሁነታ ለማሳየት እና ለመለወጥ የሁኔታ አሞሌ ንጥልን ያክላል።", "read": "ማንበብ", "edit-source": "የምንጭ ሁነታ", "edit-live-preview": "የቀጥታ ቅድመ እይታ" }, "publish": { "name": "አትም", "desc": "ማስታወሻዎችዎን በ Obsidian Publish በኩል ያትሙ።", "action-publish-changes": "ለውጦችን አትም...", "action-publish-file": "Publish current file", "label-no-internet-access": "ለውጦችን ለማተም የበይነመረብ መዳረሻ ያስፈልግዎታል።", "label-publish-service-description": "Obsidian Publish ከ Obsidian በቀጥታ ማስታወሻዎችዎን በመስመር ላይ እንዲያትሙ የሚያስችል ተጨማሪ የሚከፈልበት አገልግሎት ነው።", "label-please-login": "ማተም ለመጀመር፣ እባክዎ ይግቡ ወይም አዲስ የ Obsidian መለያ ይፍጠሩ።", "label-no-publish-subscription": "እስካሁን የ Obsidian Publish ምዝገባ የለዎትም።", "button-purchase": "ግዢ", "label-manage-sites": "ጣቢያዎችን አስተዳድር", "label-no-sites": "ምንም ጣቢያዎች የሉዎትም።", "button-choose": "ይምረጡ", "tooltip-edit-site-id": "የጣቢያ መታወቂያን ያርትዑ", "tooltip-delete-site": "ጣቢያ ሰርዝ", "label-delete-site-confirmation": "እርግጠኛ ነዎት ይህን ጣቢያ መሰረዝ ይፈልጋሉ?", "label-delete-site-details": "ይህ ጣቢያዎን ወዲያውኑ እና በቋሚነት ይሰርዘዋል።", "label-confirm-delete-site": "የ ጣቢያ \"{{site}}\" መሰረዝን ያረጋግጡ", "option-site-id": "የጣቢያ መታወቂያ", "option-site-id-description": "ጣቢያዎ https://publish.obsidian.md/{site id} ላይ ይሆናል። ይህን በኋላ መቀየር ይችላሉ። አነስተኛ ሆሄያት፣ ቁጥሮች እና ሰረዞች ብቻ ይፈቀዳሉ።", "option-site-id-placeholder": "የጣቢያ መታወቂያ ይምረጡ", "button-create": "ፍጠር", "msg-invalid-site-id": "የጣቢያ መታወቂያ ትንሽ ሆሄያትን፣ ቁጥሮችን እና ሰረዞችን ብቻ ሊይዝ ይችላል።", "msg-site-id-in-use": "ይህ የጣቢያ መታወቂያ በአገልግሎት ላይ ነው፣ እባክዎ ሌላ ይሞክሩ።", "msg-create-site-issue": "ጣቢያዎን ሲፈጥሩ ያ ችግር ነበር።", "label-site-options": "የጣቢያ አማራጮች", "option-site-general": "አጠቃላይ", "option-site-components": "አካላት", "option-site-appearance": "መልክ", "option-site-reading-experience": "የማንበብ ልምድ", "option-site-misc": "ሌሎች የጣቢያ ቅንብሮች", "option-site-name": "የጣቢያ ስም", "option-site-name-description": "የታተመ ጣቢያዎ ስም። በጣቢያዎ ገጽ ርዕስ ላይ ይታያል.", "option-site-name-placeholder": "የጣቢያዎ ስም", "option-home-page-file": "የመነሻ ገጽ ፋይል", "option-home-page-file-description": "በታተመ ጣቢያዎ ላይ ሲያርፍ ተጠቃሚው የሚያየው የመጀመሪያ ገጽ", "option-home-page-file-placeholder": "የታተመ ፋይል ይምረጡ", "option-logo": "አርማ", "option-logo-description": "የምስል ፋይል እንደ ጣቢያዎ አርማ ይምረጡ።", "option-logo-placeholder": "በእርስዎ ማከማቻ ውስጥ ያለ ማንኛውም የተሰቀለ ምስል...", "option-site-collaboration": "የጣቢያ ትብብር", "option-site-collaboration-desc": "ለዚህ ጣቢያ ተባባሪዎችን ያስተዳድሩ።", "option-customize-navigation": "Customize navigation", "option-customize-navigation-desc": "Override the order of navigation items and hide pages or folders from showing.", "option-navigation-order": "Navigation item display order", "option-hide-items-in-navigation": "Hide pages or folders from navigation", "option-hide-items-in-navigation-desc": "Right click and select \"Hide\" to prevent specific pages from appearing in the site navigation. The pages will still be accessible via links or accessing the URL directly.", "option-show-hidden-items": "Show hidden", "button-customize-sidebar": "Manage", "label-navigation-modal-title": "Navigation", "label-navigation-modal-desc": "Drag and drop to customize the order in which navigation items appear on your Publish site.", "option-hide-in-navigation": "Hide in navigation", "button-manage-collaborators": "አስተዳድር", "option-theme": "ጭብጥ", "option-theme-description": "ለጣቢያዎ ነባሪ የቀለም ንድፍ ይምረጡ።", "option-theme-system": "ከስርዓት ጋር መላመድ", "option-show-theme-toggle": "ብርሃን/ጨለማ መቀያየር", "option-show-theme-toggle-description": "ጎብኚው በራሳቸው ብርሃን እና ጨለማ ገጽታ መካከል እንዲቀያየሩ ያድርጉ።", "option-show-navigation": "አሰሳ አሳይ", "option-show-navigation-description": "በታተመው ጣቢያዎ በግራ በኩል ሁሉንም የታተሙ ገጾችን ዝርዝር ያሳዩ።", "option-show-search": "የፍለጋ አሞሌ አሳይ", "option-show-search-description": "ጎብኝዎች በጣቢያዎ ላይ ገጾችን እና ርዕሶችን እንዲፈልጉ የሚያስችል የፍለጋ አሞሌን በአሰሳው አናት ላይ ያሳዩ።", "option-show-graph": "የግራፍ እይታ አሳይ", "option-show-graph-description": "በእያንዳንዱ ገጽ ላይ ትንሽ የአካባቢ ግራፍ አሳይ.", "option-show-outline": "ማውጫ አሳይ", "option-show-outline-description": "በእያንዳንዱ ገጽ ላይ የርዕሶችን ዝርዝር ያሳዩ።", "option-show-backlinks": "የኋላ አገናኞችን አሳይ", "option-show-backlinks-description": "በእያንዳንዱ ገጽ መጨረሻ ላይ የኋላ ማገናኛ ክፍልን አሳይ።", "option-sliding-window-mode": "ተንሸራታች መስኮቶችን ይጠቀሙ", "option-sliding-window-mode-description": "ገጾችን በአዲስ መቃኖች በቀኝ በኩል ይክፈቱ። በክፈፎች ውስጥ በአግድም ማሸብለል ይፈቅዳል።", "option-hover-preview-file": "የማንዣበብ ቅድመ እይታን አሳይ", "option-hover-preview-file-description": "አገናኞችን ሲያንዣብቡ የገጽ ቅድመ እይታን አሳይ።", "option-hide-title": "የገጽ ርዕስ ደብቅ", "option-hide-title-description": "የገጹን ርዕስ ደብቅ። በእያንዳንዱ ገጽ መጀመሪያ ላይ የራስዎ ርእሶች ሲኖሩዎት ጠቃሚ።", "option-readable-line-length": "ሊነበብ የሚችል የመስመር ርዝመት", "option-readable-line-length-description": "ከፍተኛውን የመስመር ርዝመት ይገድቡ። በማያ ገጹ ላይ ያነሰ ይዘትን ይገጥማል፣ ነገር ግን ረጅም አንቀጾችን የበለጠ ተነባቢ ያደርገዋል።", "option-site-password": "የይለፍ ቃሎች", "option-site-password-description": "በይለፍ ቃል የጣቢያዎን መዳረሻ ይገድቡ።", "option-google-analytics": "የጉግል አናሌቲክስ መከታተያ ኮድ", "option-google-analytics-description": "ለጣቢያዎ ጎግል ትንታኔን ያዋቅሩ። ከብጁ ጎራ ዩአርኤል ለመጡ ጎብኝዎች ብቻ ይገኛል። እባክዎ በመጀመሪያ የአካባቢዎን ህጎች እና ደንቦች ያረጋግጡ።", "button-manage-passwords": "አስተዳድር", "button-save-site-settings": "የጣቢያ ቅንብሮችን ያስቀምጡ", "msg-updated-options": "ለጣቢያዎ የተዘመኑ አማራጮች።", "button-go-back": "ተመለስ", "label-publishing-to": "በማተም ላይ", "tooltip-switch-site": "ጣቢያ ቀይር", "button-add-linked": "የተገናኘ ያክሉ", "tooltip-add-linked": "አሁን በተመረጡት ንጥሎች የተገናኙትን ሁሉንም ፋይሎች ያክሉ", "msg-added-linked-files": "የተገናኘ ፋይል {{count}} ታክሏል።", "msg-added-linked-files_plural": "{{count}} ያህል የተገናኙ ፋይሎች ተጨምሯል።", "tooltip-open-site-options": "የጣቢያ አማራጮችን ይቀይሩ", "label-no-changes-detected": "ምንም ለውጦች አልተገኙም።", "label-changed-files-to-be-published": "ለውጦች", "label-unchanged-files-already-published": "አልተለወጠም (ለመሰረዝ ምረጥ)", "label-file-selected": " ተመርጧል", "button-select-all-files": "ሁሉንም ምረጥ", "label-custom-navigation-title": "Navigation items", "button-deselect-all-files": "ሁሉንም አይምረጡ", "label-new-files-to-be-published": "አዲስ", "button-publish": "አትም", "msg-no-permission-to-publish-to-site": "አሁን ባለው ጣቢያ ላይ ለማተም ፈቃድ የለዎትም።", "msg-select-at-least-one-file": "እባክዎ ቢያንስ አንድ ፋይል ይምረጡ።", "label-upload-changes": "ለውጦችን ይስቀሉ", "button-done": "ተከናውኗል", "button-stop": "ተወ", "label-status-uploading": "በመስቀል ላይ", "label-status-to-publish": "ለማተም", "label-status-to-delete": "ለመሰረዝ", "label-status-published": "የታተመ", "label-status-deleted": "ተሰርዟል።", "label-status-failed": "አልተሳካም።", "label-status-cancelled": "ተሰርዟል።", "button-change": "ለውጥ", "label-clear-cache": "ለውጦቹ በጣቢያዎ ላይ እስኪታዩ ድረስ ጥቂት ደቂቃዎችን ይወስዳል። የቅርብ ጊዜ ለውጦችዎን ካላዩ በአሳሽዎ ውስጥ ያለውን መሸጎጫ ለማጽዳት ይሞክሩ።", "label-visit-site": " ጣቢያዎን እዚህ መጎብኘት ይችላሉ፡-", "msg-something-went-wrong": "የሆነ ስህተት ተከስቷል. እባክዎን ለዝርዝሮች የገንቢ ኮንሶሉን ያረጋግጡ።", "msg-network-error": " የአውታረ መረብ ስህተት ተከስቷል።", "label-manage-passwords": "የይለፍ ቃላትን አስተዳድር", "label-add-password": "የይለፍ ቃል ያክሉ", "action-new-password": "አዲስ የይለፍ ቃል", "label-no-password": "የእርስዎ ጣቢያ በአሁኑ ጊዜ ምንም የይለፍ ቃል የሉትም። ማንም ሰው ሊጎበኘው ይችላል።", "label-have-password": "ጣቢያዎ በይለፍ ቃል የተጠበቀ ነው። ብዙ የይለፍ ቃሎች ካሉዎት ጎብኝዎች ማንኛውንም በማስገባት ጣቢያዎን ማግኘት ይችላሉ።", "option-password-name": "ፕስወርድ", "option-password-desc": "የይለፍ ቃልዎ ሃሽ ደህንነቱ በተጠበቀ ሁኔታ ይቀመጣል። የይለፍ ቃሉ አንዴ ከተዋቀረ በግልጽ በጽሑፍ ሊገለጥ አይችልም።", "option-password-placeholder": "የይለፍ ቃልህ", "option-nickname-name": "ቅጽል ስም (አማራጭ)", "option-nickname-desc": "የይለፍ ቃሉ ለማን ወይም ለማን እንደሆነ እራስዎን ለማስታወስ ቅጽል ስም ያዘጋጁ።", "action-add-password": "ይህን የይለፍ ቃል ያክሉ", "label-untitled-password": "ርዕስ የሌለው የይለፍ ቃል", "label-password-created-time": "{{time}} የተፈጠረ", "msg-added-new-password": "አዲስ የይለፍ ቃል ታክሏል።", "option-custom-domain": "ብጁ ጎራ", "option-custom-domain-desc": "ከhttps://publish.obsidian.md/{site id} URL ይልቅ የራስዎ ጎራ ይጠቀሙ።", "option-noindex": "የፍለጋ ሞተር መረጃ ጠቋሚን አትፍቀድ", "option-noindex-desc": "የፍለጋ ፕሮግራሞች ጣቢያዎን እንዳይጠቁሙ ይከልክሉ።", "button-configure": "አዋቅር", "label-configure-custom-domain": "ብጁ ጎራ አዋቅር", "option-custom-url-name": "ብጁ ዩአርኤል", "option-custom-url-desc": "ጣቢያዎ የሚገኝበት URL።", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "ወደ ብጁ ጎራዎ አዙር", "option-custom-url-redirect-desc": "በpublic.obsidian.md/id ላይ ጎብኚዎችን ወደ ብጁ ጎራዎ ያዙሩ።", "button-update-custom-domain": "የጎራ ቅንብርን ያዘምኑ", "label-custom-domain-instructions": "ለበለጠ መረጃ እባክዎን የእኛን የእርዳታ ጣቢያ ላይ ያለውን {{link}} ይመልከቱ።", "label-custom-domain-link-name": "ብጁ ጎራ ማዋቀር መመሪያ", "label-site-usage": "ከ{{limit}} ውጪ {{site}}ን እየተጠቀሙ ነው።", "button-add-more-sites": "ተጨማሪ ጣቢያዎችን ይግዙ", "label-no-sites-bought": "ምንም ጣቢያዎችን አልገዙም።", "button-get-site": "ጣቢያ ያግኙ", "label-manage-sharing": "ለ \"{{name}}\" ማጋራትን ማስተዳደር", "label-sharing-with-users": "ይህ ጣቢያ በአሁኑ ጊዜ ለሚከተሉት ሰዎች ተጋርቷል።", "label-not-sharing": "ይህ ጣቢያ በአሁኑ ጊዜ ለማንም አልተጋራም።", "label-invite-pending": "በመጠባበቅ ላይ", "tooltip-remove-user": "ተጠቃሚን ያስወግዱ", "option-invite-user": "ተጠቃሚን ይጋብዙ", "placeholder-invite-user": "ኢሜላቸውን አስገባ...", "error-email-must-be-valid": "እባክህ የሆነ ሰው ለመጋበዝ የሚሰራ ኢሜይል አስገባ።", "msg-enable-publish-plugin": "እባክዎ ጣቢያዎችን ለማየት በቅንብሮች -> ኮር ፕለጊኖች ውስጥ የህትመት ኮር ተሰኪን ያንቁ።", "label-your-sites": "የእርስዎ ጣቢያዎች", "label-sites-shared-with-you": "ጣቢያዎች ለእርስዎ ተጋርተዋል።", "tooltip-leave-site-sharing": "በዚህ ጣቢያ ላይ መተባበር ያቁሙ", "label-leave-site-confirmation": "የማቆሚያ ጣቢያ ትብብርን ያረጋግጡ", "label-leave-site-confirmation-details": "ይህ ይህን ጣቢያ ከእርስዎ ጋር ከተጋሩ የጣቢያዎች ዝርዝር ውስጥ ያስወግዳል። ይህ እርምጃ ሊመለስ አይችልም።", "label-leave-site-confirmation-details-2": "በዚህ ጣቢያ ላይ እንደገና ለመተባበር ከፈለጉ እባክዎን የጣቢያውን ባለቤት ያነጋግሩ።", "button-leave": "ተወው", "label-compare-with-live": "ከቀጥታ ሥሪት ጋር አወዳድር", "button-use-live-version": "የቀጥታ ስሪት ይጠቀሙ", "label-confirm-override": "የአካባቢያዊ ስሪት መሻርን ያረጋግጡ", "label-confirm-override-1": "እርግጠኛ ነዎት የአካባቢውን ስሪት መሻር ይፈልጋሉ?", "label-confirm-override-2": "የቀጥታ ስሪቱ ጥቅም ላይ ይውላል እና የአካባቢዎ ስሪት ይጣላል። እባክዎ አስፈላጊ ከሆነ ምትኬዎችን ያድርጉ።", "button-proceed": "ቀጥል።", "message-successfully-used-live-version": "የአካባቢዎን ስሪት ለመሻር በተሳካ ሁኔታ የቀጥታ ስሪት ተጠቅሟል።", "label-open-in-live-site": "Open in live site", "label-open-file": "ክፍት ፋይል", "tooltip-manage-publish-filters": "የህትመት ማጣሪያዎችን ያቀናብሩ", "option-included-folders": "የተካተቱ አቃፊዎች", "option-included-folders-desc": "ለማተም ለውጦችን ሲገመግሙ በእነዚህ አቃፊዎች ስር ያሉ ፋይሎች በራስ-ሰር ይመረጣሉ።", "option-currently-included-folders": "እነዚህ አቃፊዎች በአሁኑ ጊዜ ተካትተዋል፡", "option-excluded-folders": "የተገለሉ አቃፊዎች", "option-excluded-folders-desc": "ለማተም ለውጦችን ሲገመግሙ በእነዚህ አቃፊዎች ስር ያሉ ፋይሎች አይታዩም። ይህ ቅንብር ከላይ ከተካተቱት አቃፊዎች የበለጠ ቅድሚያ ይሰጣል።", "label-number-of-folders-included": "Obsidian Publish በአሁኑ ጊዜ {{folders}} ያካትታል።", "label-number-of-folders-excluded": "Obsidian Publish በአሁኑ ጊዜ {{folders}} አያካትትም።", "label-manage-included-folders": "የተካተቱ አቃፊዎችን ያስተዳድሩ", "label-manage-excluded-folders": "ያልተካተቱ አቃፊዎችን አስተዳድር", "label-add-included-folder": "አቃፊ ያካትቱ", "label-add-included-folder-desc": "ሁለቱንም ነባር አቃፊዎች እና አቃፊዎች እስካሁን ያልተፈጠሩ ማካተት ይችላሉ።", "tooltip-contact-support": "ድጋፍን ያነጋግሩ", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "የስራ ቦታዎች", "desc": "የስራ ቦታ አቀማመጥ ያስቀምጡ እና ይጫኑ።", "action-load-layout": "የመስሪያ ቦታ አቀማመጥን ጫን", "action-manage-layouts": "የስራ ቦታ አቀማመጦችን ያቀናብሩ", "action-save": "Save layout", "action-save-and-load-layout": "ሌላ አቀማመጥ ያስቀምጡ እና ይጫኑ", "placeholder-save-current-layout-as": "የአሁኑን የስራ ቦታ አቀማመጥ አስቀምጥ እንደ...", "button-save": "አስቀምጥ", "button-load": "ጫን", "tooltip-delete-layout": "አቀማመጥን ሰርዝ", "msg-enter-name": "እባክዎ ለአዲሱ አቀማመጥ ስም ያስገቡ።", "msg-save-layout-success": "አቀማመጥ በተሳካ ሁኔታ ተቀምጧል።", "label-no-layout-found": "ምንም የተቀመጠ አቀማመጥ አልተገኘም።", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "የአቀማመጥ ስም ይተይቡ..." }, "sync": { "name": "አመሳስል", "desc": "ፋይሎችዎን በ Obsidian Sync በኩል ያመሳስሉ.", "action-view-version-history": "የስሪት ታሪክን ይመልከቱ", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "ተጨማሪ ይጫኑ", "label-show-diff": "ልዩነት አሳይ", "label-copy-to-clipboard": "ወደ ቅንጥብ ሰሌዳ ቅዳ", "label-restore-this-version": "ይህን ስሪት እነበረበት መልስ", "msg-already-latest-version": "ይህ ስሪት አስቀድሞ የቅርብ ጊዜ ስሪት ነው።", "msg-restored-version": "ከ{{time}} በተሳካ ሁኔታ ወደነበረበት ተመልሷል", "label-file-deleted": "ይህ ፋይል ተሰርዟል።", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "This file was renamed from \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revision", "label-revision_plural": "{{revisions}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "ባዶ", "label-unable-to-retrieve": "Unable to retrieve version history", "label-setting-files": "ፋይሎችን በማዘጋጀት ላይ", "label-deleted-files": "የተሰረዙ ፋይሎች", "label-version-history": "የስሪት ታሪክ", "label-click-to-see-history": "ታሪኩን ለማየት የተሰረዘ ፋይል ላይ ጠቅ ያድርጉ።", "label-create-remote-vault": "የርቀት ማስቀመጫ ይፍጠሩ", "msg-please-enter-password": "እባክህ የይለፍ ቃል አስገባ።", "msg-vault-name-cannot-be-empty": "የቮልት ስም ባዶ ሊሆን አይችልም።", "msg-successfully-created-vault": "የርቀት ቮልት \"{{name}}\" በተሳካ ሁኔታ ፍጠር።", "label-remote-vault-explanation": "የርቀት ማስቀመጫዎች ቮልትዎን በመሳሪያዎች መካከል ደህንነቱ በተጠበቀ ሁኔታ ያመሳስላሉ።", "option-vault-name": "የቮልት ስም", "option-vault-name-desc": "ይህ ቮልት ምን እንደሆነ ለማስታወስ ይረዳዎታል።", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Select the server region closest to you to store the remote vault. This cannot be changed in the future.", "option-vault-name-placeholder": "የእኔ አስደናቂ ግምጃ ቤት", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "የምስጠራ ይለፍ ቃል", "option-encryption-password-desc": "ይህ የይለፍ ቃል በኋላ ሊቀየር አይችልም።", "option-encryption-password-desc-warning": "ይህን የይለፍ ቃል ከረሱት ማንኛውም የርቀት ዳታ ለዘለዓለም ጥቅም ላይ ሊውል የማይችል ሆኖ ይቆያል።", "option-encryption-password-desc-2": "ይህ የአካባቢ ውሂብዎን አይጎዳውም.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "የይለፍ ቃልዎ", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "ካዝና ይክፈቱ", "label-remote-vaults": "የርቀት ማስቀመጫዎችዎ", "label-vault-created-time": "{{time}} የተፈጠረ", "tooltip-delete-remote-vault": "ሰርዝ", "tooltip-rename-remote-vault": "Rename", "label-rename-remote-vault": "Rename remote vault \"{{name}}\"", "label-rename-remote-vault-desc": "Enter a new name for this remote vault.", "tooltip-manage-sharing": "ማጋራትን ያስተዳድሩ", "label-confirm-delete-remote-vault": "መሰረዙን ያረጋግጡ", "label-confirm-delete-remote-vault-question": "እርግጠኛ ነዎት ይህን የርቀት ቮልት መሰረዝ ይፈልጋሉ?", "label-confirm-delete-remote-vault-result": "የስሪት ታሪክን ጨምሮ በአገልጋያችን ላይ ያሉ ሁሉም መረጃዎች ይሰረዛሉ። የአካባቢዎ ፋይሎች ሳይበላሹ ይቆያሉ።", "label-confirm-delete-remote-vault-warning": "ይህ እርምጃ ቋሚ እና የማይቀለበስ ነው.", "msg-remote-vault-deleted": "{{name}} ተሰርዟል።", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "ተገናኝ", "button-disconnect-from-remote-vault": "ግንኙነት አቋርጥ", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "ምንም የርቀት ማስቀመጫዎች የሉዎትም።", "label-no-subscription": "You don't have an active Obsidian Sync subscription.", "label-please-visit": "Please visit", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "አዲስ ቋት ይፍጠሩ", "label-sync-log": "የማመሳሰል መዝገብ", "option-event-type-all": "All", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Merge conflicts", "button-copy-sync-log": "የማመሳሰል መዝገብን ይቅዱ", "msg-successfully-copied-sync-log": "የማመሳሰል መዝገብ በተሳካ ሁኔታ ተቀድቷል።", "button-retry": "እንደገና ይሞክሩ", "button-purchase-subscription": "ግዢ", "label-third-party-sync-warning": "Conflicting file sync service detected", "label-third-party-sync-warning-desc": "Warning: Your vault seems to be using {{service}} as a third party sync service. If you use Obsidian Sync with this vault, you may run into conflicts, file corruption, or data loss.", "label-icloud-drive-warning": "If you are using iCloud Drive, your Documents and Desktop folders might be synced by iCloud. This could cause conflicts with Obsidian Sync.", "option-remote-vault": "የርቀት ማስቀመጫ", "button-choose-remote-vault": "ይምረጡ", "button-manage-remote-vault": "አስተዳድር", "option-remote-vault-desc-connected": "በአሁኑ ጊዜ ከርቀት ቮልት \"{{name}}\" ጋር ተገናኝቷል።", "option-remote-vault-desc-not-connected": "በአሁኑ ጊዜ ከማንኛውም የርቀት ቮልት ጋር አልተገናኘም።", "option-sync-status": "የማመሳሰል ሁኔታ", "option-sync-status-desc-paused": "Obsidian ማመሳሰል በአሁኑ ጊዜ ባለበት ቆሟል።", "option-sync-status-desc-running": "Obsidian ማመሳሰል በአሁኑ ጊዜ እየሰራ ነው።", "option-device-name": "የመሣሪያ ስም", "option-device-name-desc": "ይህ ስም በማመሳሰል ምዝግብ ማስታወሻ ውስጥ ይታያል. ነባሪውን ስም ለመጠቀም ባዶ ይተዉት።", "button-resume": "የራስ መግለጫ", "button-pause": "ለአፍታ አቁም", "option-view-deleted-files": "የተሰረዙ ፋይሎች", "option-view-deleted-files-desc": "የተሰረዙ ፋይሎችን ይመልከቱ እና ወደነበሩበት ይመልሱ።", "option-sync-log": "እንቅስቃሴን አስምር", "option-sync-log-desc": "ለማረም የቅርብ ጊዜ የማመሳሰል እንቅስቃሴዎችን ይመልከቱ።", "button-view": "ይመልከቱ", "button-bulk-restore": "የጅምላ እነበረበት መልስ", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "ወደነበረበት በመመለስ ላይ...", "msg-restoring-complete": "'ወደነበረበት መመለስ ተጠናቅቋል፡{{succeeded}} ተሳክቷል እና {{failed}} አልተሳካም።'", "option-vault-size": "Vault size", "option-vault-size-desc": "You are using {{size}} out of {{limit}}", "option-vault-size-unknown": "Unable to retrieve your vault size.", "option-vault-size-loading": "Retrieving your vault size...", "option-over-size": "የቮልት መጠን ከገደቡ በላይ", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "ትላልቅ ፋይሎችን ይመልከቱ", "msg-largest-files-desc": "ብዙ ቦታ እየወሰዱ ያሉት እነዚህ የርቀት ፋይሎች ናቸው። አባሪዎችን ከሰረዙ በኋላ፣ የርቀት ቮልት ቦታ ለማስለቀቅ የማጽጃ አዝራሩን ይጠቀሙ።", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "ማጽዳት", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "ቦታ ለመቆጠብ የተሰረዙ አባሪዎችን ከሩቅ ቮልት እስከመጨረሻው ያጽዱ።", "msg-purge-complete": "ማጽዳቱ ተጠናቅቋል።", "option-prevent-sleep": "የመሳሪያውን እንቅልፍ ይከላከሉ", "option-prevent-sleep-desc": "አሁንም የሚመሳሰሉ ፋይሎች ሲኖሩ መሳሪያው እንዳይተኛ ይከለክላል።", "option-selective-sync": "የተመረጠ ማመሳሰል", "option-excluded-folders": "የተገለሉ አቃፊዎች", "option-excluded-folder-desc": "የተወሰኑ አቃፊዎች እንዳይመሳሰሉ ይከልክሉ።", "option-currently-excluded-folders": " እነዚህ አቃፊዎች በአሁኑ ጊዜ አልተካተቱም፦", "button-manage-excluded-folders": "አስተዳድር", "option-sync-image": "ምስሎችን ያመሳስሉ", "option-sync-image-desc": "የምስል ፋይሎችን ከእነዚህ ቅጥያዎች ጋር ያመሳስሉ፡ {{extensions}}።", "option-sync-audio": "ኦዲዮ አመሳስል።", "option-sync-audio-desc": "የድምጽ ፋይሎችን ከእነዚህ ቅጥያዎች ጋር ያመሳስሉ፡ {{extensions}}።", "option-sync-video": "ቪዲዮዎችን አስምር", "option-sync-video-desc": "የቪዲዮ ፋይሎችን ከእነዚህ ቅጥያዎች ጋር ያመሳስሉ፡ {{extensions}}።", "option-sync-pdf": "ፒዲኤፎችን አመሳስል።", "option-sync-pdf-desc": "ፒዲኤፍ ፋይሎችን አመሳስል።", "option-sync-unsupported": "ሁሉንም ሌሎች ዓይነቶች ያመሳስሉ", "option-sync-unsupported-desc": "የማይደገፉ የፋይል አይነቶችን አስምር።", "option-vault-config-sync": "የቮልት ውቅር ማመሳሰል", "option-view-config-files": "የቅንብሮች ሥሪት ታሪክ", "option-view-config-files-desc": "የፋይሎችን ቅንብር የስሪት ታሪክ ይመልከቱ እና ይመልሱ።", "option-sync-app": "ዋና ቅንብሮች", "option-sync-app-desc": "የአርታዒ ቅንብሮችን፣ የፋይሎችን እና የአገናኞችን ቅንብሮችን፣ ብጁ ትኩስ ቁልፎችን ወዘተ ለማመሳሰል ያንቁ።", "option-sync-appearance": "የመልክ ቅንብሮች", "option-sync-appearance-desc": "እንደ ጨለማ ሁነታ፣ ገባሪ ጭብጥ እና የነቁ ቅንጥቦች ያሉ የመልክ ቅንብሮችን ያመሳስሉ።", "option-sync-appearance-data": "ገጽታዎች እና ቅንጥቦች", "option-sync-appearance-data-desc": "የወረዱ ገጽታዎችን እና ቅንጥቦችን አመሳስል። መንቃታቸው በቀደመው ቅንብር ላይ የተመሰረተ ነው።", "option-sync-hotkey": "ትኩስ ቁልፎች", "option-sync-hotkey-desc": "ብጁ ቁልፎችን አስምር።", "option-sync-core-plugin": "ንቁ የኮር ተሰኪ ዝርዝር", "option-sync-core-plugin-desc": "የትኞቹ ዋና ተሰኪዎች እንደነቁ ያመሳስሉ።", "option-sync-core-plugin-data": "የኮር ተሰኪ ቅንብሮች", "option-sync-core-plugin-data-desc": "የዋና ተሰኪ ቅንብሮችን አመሳስል።", "option-sync-community-plugin": "ንቁ የማህበረሰብ ተሰኪ ዝርዝር", "option-sync-community-plugin-desc": "የትኞቹ የማህበረሰብ ተሰኪዎች እንደነቁ ያመሳስሉ።", "option-sync-community-plugin-data": "የማህበረሰብ ተሰኪዎች ተጭነዋል", "option-sync-community-plugin-data-desc": "የተጫኑ የማህበረሰብ ተሰኪዎችን (.js፣ .css እና manifest.json ፋይሎችን) እና ቅንብሮቻቸውን አመሳስል።", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian ማመሳሰል ከጫፍ እስከ ጫፍ ምስጠራ እና የስሪት ታሪክ ያለው የ Obsidian ተጨማሪ የማመሳሰል አገልግሎት ነው።", "label-account-required": "ማመሳሰል ለመጀመር እባክዎ ይግቡ ወይም አዲስ የ Obsidian መለያ ይፍጠሩ።", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "ክፈት", "button-log-in": "ግባ", "label-manage-excluded-folders": "ያልተካተቱ አቃፊዎችን አስተዳድር", "label-number-of-folders-excluded": "{{folders}} በአሁኑ ጊዜ ከመመሳሰል የተገለሉ ናቸው።", "label-add-excluded-folder": "ማህደርን አታካትት።", "label-add-excluded-folder-desc": "እስካሁን ያልተፈጠሩ ሁለቱንም ማህደሮች እና አቃፊዎች ማግለል ይችላሉ።", "tooltip-remove-excluded-folder": "ከተገለሉ ዝርዝር ውስጥ ያስወግዱ", "label-setup-connection": "ግንኙነትን ያዋቅሩ", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "አሁን ከ\"{{name}}\" ጋር ተገናኝተዋል።", "button-start-syncing": "ማመሳሰል ጀምር", "label-confirm-merge-vault": "የውህደት ቮልት ያረጋግጡ", "msg-vault-has-notes": "የአካባቢዎ ካዝና አስቀድሞ አንዳንድ ማስታወሻዎችን ይዟል።", "msg-vault-merge-warning": "ከርቀት ቮልት \"{{name}}\" ጋር ከተገናኙ በአካባቢዎ ቮልት ውስጥ ያሉ ማስታወሻዎች ከርቀት ቮልትዎ ማስታወሻዎች ጋር ይዋሃዳሉ። በግጭቶች ጊዜ, በጣም የቅርብ ጊዜው የማስታወሻ እትም ተጠብቆ ይቆያል.", "tooltip-update-setting-on-all-devices": "እባኮትን ይህን አማራጭ ያዘምኑ እና መተግበሪያ እንዲተገበር በፈለጓቸው መሳሪያዎች ላይ እንደገና ያስጀምሩት።", "label-sharing-with-users": "ይህ የርቀት ማከማቻ በአሁኑ ጊዜ ከሚከተሉት ሰዎች ጋር ተጋርቷል።", "label-not-sharing": "ይህ የርቀት ማከማቻ በአሁኑ ጊዜ ለማንም አልተጋራም።", "label-vaults-shared-with-you": "ካዝናዎች ለእርስዎ ተጋርተዋል።", "tooltip-leave-vault-sharing": "በዚህ ቮልት ላይ መተባበር አቁም።", "label-leave-vault-confirmation": "የማቆሚያ ቮልት ትብብርን ያረጋግጡ", "label-leave-vault-confirmation-details": "ይህ ይህን ካዝና ከእርስዎ ጋር ከተጋሩት የካዝና ዝርዝር ውስጥ ያስወግዳል። ይህ እርምጃ ሊመለስ አይችልም።", "label-leave-vault-confirmation-details-2": "በዚህ ቮልት ላይ እንደገና ለመተባበር ከፈለጉ እባክዎን የካዝናውን ባለቤት ያነጋግሩ።", "button-leave": "ተወው", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "ከዚህ ቮልት ጋር ለመገናኘት የ Obsidian Sync ደንበኝነት ምዝገባ ያስፈልግዎታል።", "option-contact-support": "ድጋፍን ያነጋግሩ", "option-contact-support-desc": "በ Obsidian Sync ላይ ምንም አይነት ችግር ካጋጠመዎ፣እባክዎ ልንረዳዎ እንድንችል ያግኙን! በ support@obsidian.md ሊያገኙን ይችላሉ።", "button-copy-debug": "Copy debug info", "button-email-support": "የኢሜል ድጋፍ", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Sync lets you create up to 5 remote vaults. In order to create a new remote vault, please remove an existing one.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "ፋይል መልሶ ማግኛ", "desc": "ከአጋጣሚ የውሂብ መጥፋት ለማገገም የቅርብ ጊዜ ቅጽበተ-ፎቶዎችን ወደነበሩበት ይመልሱ። ቅጽበተ-ፎቶዎች የሚቀመጡት ለ Markdown ፋይሎች ብቻ ነው።", "action-open": "የተቀመጡ ቅጽበተ-ፎቶዎችን ይክፈቱ", "option-interval": "የቅጽበታዊ ገጽ እይታ ክፍተት", "option-interval-description": "በሁለት ቅጽበተ-ፎቶዎች መካከል ያለው አነስተኛ ክፍተት በደቂቃዎች ውስጥ።", "option-keep": "የታሪክ ርዝመት", "option-keep-description": "በቀናት ውስጥ ያለው ርዝመት ቅጽበተ-ፎቶዎች ተቀምጠዋል።", "option-open-history": "ቅጽበተ-ፎቶዎች", "option-open-history-description": "የተቀመጡ ቅጽበተ-ፎቶዎችን ይመልከቱ እና ወደነበሩበት ይመልሱ።", "button-view-history": "View", "option-clear": "ታሪክ አጽዳ", "option-clear-description": "ሁሉንም ቅጽበተ-ፎቶዎች ይጥረጉ።", "button-clear-history": "ግልጽ", "label-clear-warning": "እርግጠኛ ነዎት ሁሉንም ቅጽበተ-ፎቶዎችን መሰረዝ ይፈልጋሉ? ቅጽበታዊ ገጽ እይታዎች ብቻ እንደሚወገዱ ልብ ይበሉ። በእርስዎ ማከማቻ ውስጥ ያሉ ሁሉም ፋይሎች አይነኩም።", "msg-clear-complete": "ቅጽበተ-ፎቶዎች ጸድተዋል።", "label-no-history-found": "ምንም ቅጽበተ-ፎቶዎች አልተገኙም።", "placeholder-choose-file": "ፋይል ይምረጡ...", "label-select-file": "ቅጽበተ-ፎቶዎችን ለማየት እባክዎ በግራ በኩል አንድ ፋይል ይምረጡ።" }, "note-composer": { "name": "ማስታወሻ አቀናባሪ", "desc": "አዋህድ፣ ተከፋፍል እና ማስታወሻዎችን አስተካክል።", "option-confirm-file-merge": "የፋይል ውህደትን ያረጋግጡ", "option-confirm-file-merge-description": "ሁለት ፋይሎችን ከማዋሃድዎ በፊት ይጠይቁ።", "option-split-replacement-text": "ከወጣ በኋላ ጽሑፍ", "option-split-replacement-text-description": "ከተመረጠው ጽሑፍ ከወጣ በኋላ በተመረጠው ቦታ ምን እንደሚታይ።", "option-choice-split-replacement-text-link": "ወደ አዲስ ፋይል አገናኝ", "option-choice-split-replacement-text-embed": "አዲስ ፋይል ክተት", "option-choice-split-replacement-text-none": "ምንም", "option-template-file": "የአብነት ፋይል ቦታ", "option-template-file-description": "ሲዋሃዱ ወይም ሲወጡ የሚጠቀሙበት የአብነት ፋይል። የሚገኙ ተለዋዋጮች፡ {{content}}፡ {{fromTitle}}፡ {{newTitle}}፡ {{date:FORMAT}}፡ ለምሳሌ {{date:YYYY-MM-DD}}።", "command-merge-file": "የአሁኑን ፋይል ከሌላ ፋይል ጋር አዋህድ...", "action-merge-file": "ሙሉውን ፋይል ከ...", "label-no-files": "ምንም ፋይሎች አልተገኙም።", "instruction-navigate": "ለማሰስ", "instruction-merge": "ለማዋሃድ", "instruction-create-new": "አዲስ ለመፍጠር", "instruction-merge-at-top": "ከላይ ለመዋሃድ", "instruction-dismiss": "ለማሰናበት", "prompt-select-file-to-merge": "ወደ ውስጥ ለመግባት ፋይል ምረጥ...", "label-merge-file": "ፋይል አዋህድ", "label-confirm-file-merge": "እርግጠኛ ነዎት \"{{file}}\"ን ወደ \"{{destination}}\" ማዋሃድ ይፈልጋሉ? \"{{file}}\" ይሰረዛል።", "button-merge": "አዋህድ", "command-split-file": "የአሁኑን ምርጫ ያውጡ...", "command-extract-heading": "ይህን ርዕስ አውጣ...", "instruction-append": "ወደ ታች ለመንቀሳቀስ", "instruction-prepend": "ወደ ላይ ለመንቀሳቀስ", "msg-fail-to-fetch-template": "የአብነት ፋይል ማምጣት አልተሳካም፡ \"{{template}}\" አልተገኘም።", "msg-fail-to-find-heading": "ርዕስ ማግኘት አልተሳካም።" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "ሸራ", "desc": "ማለቂያ በሌለው ሸራ ላይ ማስታወሻዎችን ያዘጋጁ እና ያገናኙ።", "action-add-note": "ማስታወሻ ከቮልት ያክሉ", "action-add-media": "ሚዲያ ከቮልት ያክሉ", "action-add-card": "ካርድ ጨምር", "action-add-website": "ድረ-ገጽ ያክሉ", "action-create-group": "ቡድን ይፍጠሩ", "action-create-with-size": "የተወሰነ መጠን ያለው ካርድ ይፍጠሩ", "action-convert-to-file": "ወደ ፋይል ቀይር...", "action-drag-to-add-note": "ከቮልት ማስታወሻ ለመጨመር ይጎትቱ", "action-drag-to-add-media": "ሚዲያ ከቮልት ለመጨመር ይጎትቱ", "action-drag-to-add-card": "ካርድ ለመጨመር ይጎትቱ", "action-edit-label": "መለያ አርትዕ", "action-remove-label": "መለያን ያስወግዱ", "action-search-file": "ፋይል ይፈልጉ", "action-set-color": "ቀለም አዘጋጅ", "action-align": "አሰልፍ", "action-align-left": "ወደ ግራ አሰልፍ", "action-align-center": "መሃል አሰልፍ", "action-align-right": "ወደ ቀኝ አሰልፍ", "action-align-top": "ከላይ አሰልፍ", "action-align-middle": "መሃል አሰልፍ", "action-align-bottom": "ከታች አሰልፍ", "action-distribute-horizontal-spacing": "አግድም ክፍተቶችን ያሰራጩ", "action-distribute-vertical-spacing": "አቀባዊ ክፍተቶችን ያሰራጩ", "action-justify-horizontally": "በአግድም አረጋግጥ", "action-justify-vertically": "በአቀባዊ አረጋግጥ", "action-arrange-horizontally": "Arrange in a row", "action-arrange-vertically": "Arrange in a column", "action-arrange-grid": "Arrange in a grid", "action-export-png": "እንደ ምስል ወደ ውጭ ላክ", "action-jump-to-group": "Jump to group", "action-set-background": "Set background", "action-edit-background": "Edit background", "action-replace-background": "Replace background", "action-remove-background": "Remove background", "label-no-images": "No images found.", "label-no-media": "No media found.", "label-export-png-desc": "\"{{title}}\"ን በPNG ፋይል ከዚህ በታች ባሉት ቅንጅቶች ወደ ውጭ ላክ።", "label-export-png-dimensions": "የተገመተው የምስል ልኬቶች፡ {{dimensions}}", "label-distribute": "Distribute", "label-justify": "Justify", "label-arrange": "Arrange", "label-always": "Always", "label-hover": "On hover", "label-never": "Never", "label-no-section-found": "No section found", "option-wheel-behavior": "Default mouse wheel behavior", "option-mod-drag-behavior": "Default {{key}} behavior", "option-show-menu": "Show menu", "option-new-canvas-location": "Default location for new canvas files", "option-new-canvas-location-description": "Where newly created canvas files are placed.", "option-new-canvas-folder-path": "Folder to create new canvas files in", "option-new-canvas-folder-path-description": "Newly created canvas files will appear under this folder.", "option-node-label": "Display card label", "option-snap-to-grid": "Snap to grid", "option-snap-to-grid-desc": "Snap cards to the background grid when moving and resizing.", "option-snap-to-objects": "Snap to objects", "option-snap-to-objects-desc": "Snap cards to nearby objects when moving and resizing.", "option-zoom-breakpoint": "Zoom threshold for hiding card content", "option-zoom-breakpoint-desc": "Lower values will increase performance but hide card content sooner when zooming out.", "option-export-png-show-logo": "አርማ አሳይ", "option-export-png-show-logo-desc": "ይህ የ Obsidian አርማ ከታች በግራ በኩል ይጨምራል።", "option-export-png-privacy-mode": "Privacy mode", "option-export-png-privacy-mode-desc": "This will obscure any text on your canvas.", "option-export-png-zoom": "አጉላ", "option-export-png-zoom-desc": "ከፍ ያለ ማጉላት ከፍተኛ ጥራት ያለው ምስል ይፈጥራል።", "option-export-png-frame": "የእይታ ቦታ", "option-export-png-frame-desc": "መላውን ሸራ ወይም አሁን ያለውን የእይታ እይታ ብቻ ለማሳየት ይምረጡ።", "option-export-png-frame-full": "ሙሉ ሸራ", "option-export-png-frame-viewport": "የእይታ ቦታ ብቻ", "option-background-cover": "Cover", "option-background-ratio": "Keep aspect ratio", "option-background-repeat": "Repeat", "action-new-canvas": "New canvas", "action-remove": "አስወግድ", "action-narrow-heading": "Narrow to heading...", "action-narrow-block": "Narrow to block...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "ፋይል ቀያይር...", "action-change-url": "URL ቀይር...", "action-zoom-to-fit": "ለማስማማት አጉላ", "action-zoom-to-selection": "ወደ ምርጫ አጉላ", "action-reload-page": "ገጽ እንደገና ጫን", "action-follow-connection": "Follow connection", "command-create-new-canvas": "አዲስ ሸራ ይፍጠሩ", "command-convert-to-file": "Convert to file...", "instruction-narrow-heading": "to embed heading", "instruction-narrow-block": "to embed block", "instruction-jump-to-group": "to navigate to group", "prompt-to-narrow": "የርዕስ ስም ዓይነት", "label-enter-url": "URL አስገባ", "label-empty-embed": "\"{{linktext}}\" ሊገኝ አልቻለም።", "prompt-add-text": "ጽሑፍ አክል...", "prompt-start-search": "ለመፈለግ ይተይቡ...", "label-canvas-help": "የሸራ እገዛ", "label-canvas-settings": "Canvas settings", "label-no-narrow": "Show entire file", "label-show-default-view": "Show default view", "label-readonly": "Read-only", "label-disable-readonly": "Disable read-only", "label-pan": "ፓን", "label-pan-horizontal": "በአግድም ፓን", "label-zoom": "አጉላ", "label-select-all": "ሁሉንም ምረጥ", "label-add-remove-selection": "ወደ አክል/ከምርጫ አስወግድ", "label-clone-card": "ክሎን ካርድ", "label-constrain-movement-axis": "የካርድ እንቅስቃሴን ወደ ዘንግ ይገድቡ", "label-disable-drag-snapping": "እየጎተቱ እያለ ማንሳትን ያሰናክሉ።", "label-remove-card": "ካርድ ያስወግዱ", "label-drag-from-below": "ከታች ይጎትቱ ወይም ሁለቴ ጠቅ ያድርጉ", "label-longpress": "Touch and hold to add / move / select", "label-drag-pan": "Drag to pan", "label-pinch-zoom": "Pinch to zoom", "label-space-drag-pan": "ክፍተት + ወደ መጥበሻ ይጎትቱ", "label-scroll-to-zoom": "ለማጉላት ሸብልል።", "label-untitled-group": "ርዕስ አልባ ቡድን", "label-line-direction": "Line direction", "label-nondirectional": "Nondirectional", "label-unidirectional": "Unidirectional", "label-bidirectional": "Bidirectional", "label-image": "Image", "label-style": "Style", "msg-no-groups-found": "No groups found", "msg-export-failed-empty-canvas": "Cannot export an empty canvas", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Highlight all", "action-match-diacritics": "Match diacritics", "action-whole-words": "Whole words", "action-show-thumbnails": "Thumbnails", "action-show-outline": "Table of contents", "action-reveal-in-outline": "Reveal page in table of contents", "action-toggle-sidebar": "Toggle sidebar", "action-previous-page": "Previous page", "action-next-page": "Next page", "action-fit-width": "Fit width", "action-fit-height": "Fit height", "action-save-p-d-f-location": "Save current position in document", "action-copy-annotation": "Copy annotation", "action-copy-quote": "Copy as quote", "action-copy-selection-link": "Copy link to selection", "action-copy-annot-link": "Copy link to annotation", "action-copy-section-link": "Copy link to section", "action-copy-section-link-title": "Copy link to “{{title}}”", "action-copy-page-link": "Copy link to page {{page}}", "msg-max-search-results": "{{current}} of over {{limit}} matches", "msg-search-count": "{{current}} of {{total}} match", "msg-search-count_plural": "{{current}} of {{total}} matches", "msg-password-protected": "This PDF is password protected", "msg-invalid-password": "Invalid password", "msg-enter-password": "Enter the password below", "label-of-pages": "of {{count}}", "label-page-of-pages": "({{current}} of {{count}})", "label-spread-single": "Single page", "label-spread-odd": "Two page (odd)", "label-spread-even": "Two page (even)", "tooltip-sidebar-options": "Sidebar options", "tooltip-display-options": "Display options", "label-adapt-to-theme": "Adapt to theme", "label-page": "page {{page}}", "page_landmark": "Page {{page}}", "thumb_page_title": "Page {{page}}", "thumb_page_canvas": "Page {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "List", "option-unknown": "Unknown", "option-text": "Text", "option-aliases": "Aliases", "option-tags": "Tags", "option-folder": "Folder", "option-file": "File", "option-date": "Date", "option-datetime": "Date & time", "option-number": "Number", "option-checkbox": "Checkbox" }, "value-suggestion": { "key-link-note": "Type [[", "instruction-link-note": "to link note", "instruction-dismiss": "to dismiss" }, "option-property-type": "Property type", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "Invalid tag name", "msg-invalid-number": "Invalid number", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "No value", "label-heading": "Properties", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "Add property", "label-type-mismatch-warning": "Type mismatch, expected {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Column", "label-row": "Row", "action-row-after": "Add row after", "action-column-after": "Add column after", "action-row-before": "Add row before", "action-row-up": "Move row up", "action-row-down": "Move row down", "action-column-before": "Add column before", "action-column-left": "Move column left", "action-column-right": "Move column right", "action-duplicate-row": "Duplicate row", "action-duplicate-column": "Duplicate column", "action-delete-row": "Delete row", "action-delete-column": "Delete column", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-delete-selection": "Delete cells", "action-clear-selection": "Clear cells", "action-sort-a-z": "Sort by column (A to Z)", "action-sort-z-a": "Sort by column (Z to A)", "label-command": "Table: {{command}}" }, "callout": { "option-type": "Callout type", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Success", "question": "Question", "warning": "Warning", "quote": "Quote", "example": "Example", "none": "None" }, "option-other": "Other...", "option-other-placeholder": "Callout type..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} ቃል", "word-with-count_plural": "{{count}} ቃላት", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} ሆሄ", "character-with-count_plural": "{{count}} ሆሄያት", "link-with-count": "{{count}} አገናኝ", "link-with-count_plural": "{{count}} አገናኞች", "file-with-count": "{{count}} ፋይል", "file-with-count_plural": "{{count}} ፋይሎች", "folder-with-count": "{{count}} አቃፊ", "folder-with-count_plural": "{{count}} አቃፊዎች", "backlink-with-count": "{{count}} የኋላ ማገናኛ", "backlink-with-count_plural": "{{count}} የኋላ አገናኞች", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} property", "properties-with-count_plural": "{{count}} properties", "site-with-count": "{{count}} ጣቢያ", "site-with-count_plural": "{{count}} ጣቢያዎች", "plugin-with-count": "{{count}} ተሰኪ", "plugin-with-count_plural": "{{count}} ተሰኪዎች", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} ጭብጥ", "theme-with-count_plural": "{{count}} ጭብጦች" } }{ "setting": { "options": "الخيارات", "plugin": "ملحق", "builtin-plugins": "الملحقات الأساسية", "plugin-options": "خيارات الملحق", "folder-path-example-placeholder": "مثال: مجلد 1/مجلد 2", "file-path-example-placeholder": "مثال: مجلد/ملاحظة", "msg-restart-required": "يتطلب تغيير هذا الخيار إعادة تشغيل البرنامج ليظهر تأثيره.", "editor": { "name": "المحرر", "section-behavior": "السلوك", "section-display": "العرض", "option-spellcheck": "التدقيق الإملائي", "option-spellcheck-description": "يقوم بتشغيل التدقيق الإملائي. يعمل حاليًا باللغة الإنجليزية فقط", "spellcheck-languages": "لغات التدقيق الإملائي", "spellcheck-languages-description": "اختر اللغات التي تريد استخدامها للتدقيق الإملائي.", "spellcheck-languages-mac-description": "سيكتشف التدقيق الإملائي المحلي تلقائيًا اللغة المستخدمة لديك في macOS.", "spellcheck-dict": "قاموس التدقيق الإملائي", "spellcheck-dict-empty": "قاموس التدقيق الإملائي فارغ.", "option-show-inline-title": "إظهار العنوان الضمني", "option-show-inline-title-description": "إظهار اسم الملف كعنوان قابل للتحرير في صفحة محتويات الملف.", "option-readable-line-length": "طول سطر قابل للقراءة", "option-readable-line-description": "تحديد الحد الأقصى لطول السطر. يتيح ذلك عرض محتوى أقل على الشاشة، ولكن يجعل الفقرات الطويلة أكثر قابلية للقراءة.", "option-strict-line-break": "فواصل الأسطر الصارمة", "option-strict-line-break-description": "في وضع المعاينة، تجاهل فواصل الأسطر الفردية وفقًا لمواصفات Markdown. قم بإيقاف تشغيل هذا لعرض فواصل الأسطر الفردية في المعاينة.", "option-properties-in-document": "الخصائص في المستند", "option-properties-in-document-description": "اختر كيفية عرض الخصائص داخل المحرر. حدد \"مصدري\" لعرض الخصائص بتنسيق YAML.", "option-properties-hidden": "مخفي", "option-properties-visible": "مرئي", "option-properties-source": "مصدري", "option-auto-pair-brackets": "إقران تلقائي للأقواس", "option-auto-pair-brackets-description": "قم بإقران الأقواس والاقتباسات تلقائيًا.", "option-auto-pair-markdown": "إقتران تلقائي لصيغ Markdown", "option-auto-pair-markdown-description": "إقران الرموز تلقائيًا للخط العريض، المائل، المحدد، والمشطوب، بالإضافة إلى الشيفرة المصدرية.", "option-smart-indent-lists": "قوائم ذكية", "option-smart-indent-lists-description": "الاعتناء بالمسافة البادئة وعلامة القائمة نيابة عنك.", "option-fold-heading": "طي العنوان", "option-fold-heading-description": "تتيح لك طي كل شيء تحت عنوان.", "option-fold-indent": "طي القوائم", "option-fold-indent-description": "تتيح لك طي جزء من المسافة البادئة، مثل القوائم.", "option-default-new-tab-view": "العرض الافتراضي لعلامات التبويب الجديدة", "option-default-new-tab-view-description": "العرض الافتراضي الذي يتم فيه فتح علامة تبويب Markdown جديدة.", "option-default-new-tab-view-editing": "عرض التحرير", "option-default-new-tab-view-reading": "عرض القراءة", "option-open-tab-in-foreground": "ركز دائمًا على علامات التبويب الجديدة", "option-open-tab-in-foreground-description": "عندما تفتح رابطًا في علامة تبويب جديدة، قم بالتبديل إليه على الفور.", "option-default-editing-mode": "وضع التحرير الافتراضي", "option-default-editing-mode-description": "وضع التحرير الافتراضي الذي يتم بدء النافذة الجديدة به.", "option-default-editing-mode-source": "وضع المصدر", "option-default-editing-mode-live-preview": "المعاينة المباشرة", "option-show-line-number": "إظهار رقم السطر", "option-show-line-number-description": "إظهار رقم السطر في الحاشية.", "option-indentation-guide": "إظهار أدلة المسافة البادئة", "option-indentation-guide-description": "إظهار خطوط رأسية تمثل العلاقات بين القوائم، تستعمل فقط للإرشاد المرئي.", "option-use-tabs": "استخدام حرف الجدولة", "option-use-tabs-description": "استخدم حرف الجدولة للتباعد عند الضغط على مفتاح \"Tab\". أوقف هذا الخيار لإستخدام المسافات العادية", "option-tab-size": "اتساع حرف الجدولة", "option-tab-size-description": "عدد المسافات التي يعادلها حرف الجدولة.", "option-rtl": "من اليمين إلى اليسار", "option-rtl-description": "تحديد اتجاه نص الملاحظات لعرضه من اليمين إلى اليسار.", "option-auto-convert-html": "تحويل HTML تلقائيًا ", "option-auto-convert-html-description": "قم بتحويل HTML إلى Markdown تلقائيًا عند اللصق والسحب والإفلات من صفحات الويب.\nاستخدم Ctrl / Cmd + Shift + V للصق بدون تحويل.", "option-vim-key-bindings": "اختصارات Vim", "option-vim-key-bindings-description": "يتيح هذا الخيار استخدام الإختصارات الخاصة بمفاتيح Vim في محرر المصدر.", "option-vim-key-bindings-mobile": "على الأجهزة المحمولة، هذا الإعداد محدد لكل جهاز وليس متزامنًا عبر ملف التهيئة.", "option-reindex-vault": "إعادة بناء ذاكرة التخزين المؤقت للخزنة", "option-reindex-vault-description": "قد تستغرق عملية إعادة بناء ذاكرة التخزين المؤقت بضع ثوانٍ إلى بضع دقائق اعتمادًا على حجم الخزنة الخاصة بك.", "label-reindex": "إعادة البناء", "label-confirm-enable-vim": "تأكيد الدخول في وضع Vim", "label-vim-warning": "يعد وضع Vim مناسبًا لتحرير النصوص بكفاءة ولكنه يمكن أن يكون مضللًا للغاية. إذا كنت لا تعرف Vim بشكل جيد، فقد يجعل هذا الخيار يبدو وكأن Obsidian قد توقف عن العمل.", "label-vim-test": "للتحقق من أنك على دراية بمحرر النصوص Vim، يرجى إدخال أمر إنهاء Vim بدون حفظ بالأسفل:", "label-vim-your-answer": "إجابتك", "placeholder-enter-command": "أدخل الأمر...", "button-confirm-enable-vim": "دعني أمكن Vim", "msg-vim-mode-enabled": "الأمر صحيح. الآن تم تمكين وضع Vim.", "msg-vim-mode-not-enabled": "الأمر خاطئ. سيظل وضع Vim معطلاً لحمايتك.", "msg-vim-mode-please-enter-command": "يرجى إدخال الأمر لتمكين وضع Vim" }, "file": { "name": "الملفات والروابط", "option-confirm-file-deletion": "تأكيذ حذف الملف", "option-confirm-file-deletion-description": "هل تريد الحصول على رسالة تأكيد عند حذفك لملف ما.", "option-delete-destination": "الملفات المحذوفة", "option-delete-destination-description": "ماذا تفعل بالملفات بعد حذفها.", "option-choice-system-trash": "نقل إلى سلة المحذوفات في النظام", "option-choice-vault-trash": "نقل إلى سلة محذوفات البرنامج (مجلد trash.)", "option-choice-permanent-delete": "حذف دائم", "option-always-update-links": "تحديث الروابط الداخلية دائمًا", "option-always-update-links-description": "هل تريد تحديث الروابط تلقائيًا بعد إعادة تسمية ملف ما.", "option-new-note-location": "الموقع الافتراضي للملاحظة الجديدة", "option-new-note-location-description": "أين يتم وضع الملاحظات التي تم إنشاؤها حديثًا. إعدادات بعض الملحقات من الممكن أن تتجاوز هذا الخيار.", "option-choice-vault-root": "جذر الخزنة", "option-choice-current-folder": "نفس المجلد الموجود فيه الملف", "option-choice-specified-folder": "في المجلد المحدد أدناه", "option-new-file-folder-path": "مجلد لإنشاء ملاحظات جديدة فيه", "option-new-file-folder-path-description": "ستظهر الملاحظات الجديدة تحت هذا المجلد. إعدادات بعض الملحقات من الممكن أن تتجاوز هذا الخيار.", "option-use-wiki-links": "استخدام [[روابط الويكي]]", "option-use-wiki-links-description": "إنشاء روابط ويكي تلقائي للـ[[روابط]] و[[الصور]]! بدلاً من الروابط والصور العادية في Markdown. قم بتعطيل هذا الخيار لإنشاء روابط Markdown بدلاً من ذلك.", "option-show-unsupported-files": "اكتشاف جميع امتدادات الملفات", "option-show-unsupported-files-description": "إظهار الملفات بأي امتداد حتى لو لم يتمكن Obsidian من فتحها بشكل محلي، بحيث يمكنك الارتباط بها ورؤيتها في مستكشف الملفات والإنتقال السريع", "option-link-autocompleted-format": "تنسيق الروابط الجديدة", "option-link-autocompleted-format-description": "ما هي الروابط التي يجب إدراجها عند إنشاء الروابط الداخلية تلقائيًا.", "option-choice-shortest-linktext": "أقصر مسار إن أمكن", "option-choice-relative-path": "المسار النسبي للملف", "option-choice-absolute-path": "المسار المطلق في الخزنة", "option-new-attachment-location": "المكان الافتراضي للمرفقات الحديثة", "option-new-attachment-location-description": "مكان وضع المرفقات المضافة حديثًا.", "option-new-attachment-location-default": "المرفقات", "option-choice-subdirectory": "في مجلد فرعي تحت المجلد الحالي", "option-attachment-folder-path": "مسار مجلد المرفقات", "option-attachment-folder-path-description": "سيظهر الملفات المرفقة الجديدة هنا. ويشمل ذلك الصور التي تم إنشاؤها عبر السحب والإفلات أو اللصق وتسجيلات الصوت.", "option-attachment-subfolder-path": "اسم المجلد الفرعي", "option-attachment-subfolder-path-description": "إذا كان ملفك تحت \"خزنة/مجلد\"، وحددت اسم المجلد الفرعي \"مرفقات\"، سيتم حفظ المرفقات في \"خزنة/مجلد/مرفقات\".", "option-excluded-files": "الملفات المستبعدة", "option-excluded-files-desc": "ستكون الملفات المستبعدة إما مخفية أو أقل وضوحًا في أماكن مختلفة، مثل الانتقال السريع، واقتراح الرابط، والعرض البياني.", "label-no-excluded-filters-applied": "لا يتم تطبيق أي تصفية لإستبعاد المفات في الوقت الحالي. أضف تصفية أدناه.", "label-excluded-filters-applied": "الملفات المطابقة للتصفية التالية مستبعدة حاليًا:", "label-excluded-filter": "التصفية", "message-empty-filter": "لا يمكن أن تكون التصفية فارغة", "placeholder-excluded-filter": "أدخل المسار أو \"/التعبير النمطي/\"...", "option-uri-callbacks": "السماح بإتصالات الروابط الإلكترونية", "option-uri-callbacks-desc": "تمكين استخدام x-callback-url من خلال x-success أو x-error عند التعامل مع عناوين الخاصة بـ Obsidian." }, "appearance": { "name": "المظهر", "option-base-theme": "السمة الأساسية", "option-base-theme-description": "اختر نظام الألوان الافتراضي للبرنامج.", "option-accent-color": "اللون المميز", "option-accent-color-description": "اختر لون مميز لاستخدامه في كامل التطبيق.", "dark-theme": "داكن", "light-theme": "فاتح", "system-theme": "تكيف مع النظام", "option-font": "الخط", "option-advanced": "متقدم", "option-interface": "الواجهة", "option-interface-font": "خط الواجهة", "option-interface-font-description": "تعيين الخط الأساسي لكامل البرنامج.", "option-zoom-level": "مستوى التكبير", "option-zoom-level-description": "يتحكم في مستوى التكبير العام للتطبيق.", "option-text-font": "خط النص", "option-text-font-description": "تعيين الخط المستخدم في عرض القراءة والتحرير.", "option-monospace-font": "خط أحادي المسافة", "option-monospace-font-description": "تعيين الخط المستخدم في أماكن مثل كتل الشيفرات ورأسية المستند.", "label-single-font-currently-in-effect": " الخط المطبق حاليًا: ", "label-multiple-fonts-currently-in-effect": " الخطوط التالية تُطبق حاليًا:", "option-font-placeholder": "أدخل اسم الخط...", "label-no-custom-font-set": "لا يوجد خط مخصص يتم تطبيقه حاليًا. أضف واحدًا أدناه.", "label-font-applied": "سيتم تطبيق الخط الأول من هذه القائمة حسب توافرها على نظامك.", "msg-font-not-found": "لم يتم الكشف عن هذا الخط في نظامك.", "msg-font-found": "تم الكشف عن هذا الخط في نظامك.", "label-font-name": "اسم الخط", "option-community-themes": "فتح سمات المجتمع", "option-community-themes-description": "معاينة واستخدام السمات الرائعة التي أنشأها المجتمع.", "button-browse-community-themes": "تصفح", "option-font-size": "حجم الخط", "option-font-size-description": "حجم الخط بالبكسل الذي يؤثر على محرر النص والمعاينة.", "option-font-size-action": "ضبط سريع لحجم الخط", "option-font-size-action-description": "ضبط حجم الخط باستخدام Ctrl + تمرير عجل الفأرة، أو باستخدام إيماءة التكبير/التصغير بلوحة اللمس.", "option-themes": "السمات", "option-manage-themes-description": "إدارة السمات المثبتة وتصفح سمات المجتمع.", "option-theme-button-manage": "إدارة", "option-choice-none": "لا شيء", "option-native-menus": "القوائم الأصلية", "option-native-menus-desc": "ستتوافق القوائم في جميع أنحاء التطبيق مع نظام التشغيل. لن تأثر بالسمة التي تستخدمها.", "button-reload-themes": "إعادة تحميل السمات", "msg-reloaded-themes": "إعادة تحميل سمات CSS المخصصة.", "button-open-themes-folder": "فتح مجلد السمات", "option-css-snippets": "مقتطفات CSS", "label-no-css-snippets-found": "لا يوجد مقتطفات CSS في مجلد المقتطفات.", "no-snippet-description": "يتم تخزين مقتطفات CSS في \"{{path}}\".", "button-reload-snippets": "إعادة تحميل المقتطفات", "button-open-snippets-folder": "فتح مجلد المقتطفات", "msg-reloaded-snippets": "تم إعادة تحميل مقتطفات CSS.", "option-toggle-snippet-description": "تطبيق مقتطف CSS في \"{{path}}\".", "label-installed-themes": "السمات المثبتة", "label-screenshot-unavailable": "لقطة الشّاشة غير متوفرة", "label-default-theme": "الافتراضي", "tooltip-click-to-enlarge": "انقر للتكبير", "button-update": "تحديث", "label-currently-active": "نشط", "option-frame-style": "نمط إطار النافذة", "option-frame-description": "يحدد تصميم شريط عنوان نوافذ التطبيق. يتطلب إعادة تشغيل البرنامج كاملًا للتأثير.", "option-frame-hidden": "مخفي (افتراضي)", "option-frame-obsidian": "إطار Obsidian", "option-frame-native": "الإطار الأصلي", "option-custom-icon": "أيقونة التطبيق المخصصة", "option-custom-icon-desc": "قم بتعيين أيقونة مخصصة للتطبيق", "button-choose-custom-icon": "اختر أيقونة مخصصة", "option-configure-ribbon": "قائمة الشريط", "option-configure-ribbon-desc": "تهيئة الأوامر التي تظهر في قائمة الشريط في شريط التنقل.", "option-mobile-quick-ribbon-item": "الوصول السريع لعنصر الشريط", "option-mobile-quick-ribbon-item-desc": "ستؤدي النقر على عنصر الشريط في قائمة التنقل إلى تنشيط عنصر الشريط. سيؤدي النقر مع الاستمرار إلى استمرار عرض القائمة.", "option-mobile-quick-ribbon-default": "فتح قائمة الشريط", "button-configure": "تهيئة", "option-show-ribbon": "إظهار الشريط", "option-show-ribbon-desc": "إظهار شريط أدوات عمودي إلى جانب النافذة.", "label-additional-ribbon-items": "عناصر أخرى للشريط", "label-modal-configuration": "تهيئة الشريط", "label-modal-configuration-desc": "اختر العناصر التي تريد أن تكون نشطة في الشريط. اسحب وأفلت لتغيير الترتيب.", "option-show-view-header": "عرض شريط عنوان التبويب", "option-show-view-header-desc": "عرض العنوان بالأعلى في كل علامة تبويب.", "msg-updates-found": "تم العثور على {{count}} سمة للتحديث.", "msg-updates-found_plural": "تم العثور على {{count}} سمات للتحديث.", "button-check-for-updates": "التحقق من تحديثات", "button-view-updates": "عرض التحديثات", "button-update-all-themes": "تحديث الكل", "label-current-themes": "سمات المجتمع الحالية", "label-currently-installed": "لديك {{count}} سمة مثبتة حاليًا.", "label-currently-installed_plural": "لديك {{count}} سمات مثبتة حاليًا." }, "hotkeys": { "name": "اختصارات لوحة المفاتيح", "option-search": "ابحث عن مفاتيح اختصار", "option-search-desc": "عرض {{count}} مفتاح اختصار. ", "option-search-desc_plural": "عرض {{count}} مفاتيح اختصار. ", "option-search-conflict": "{{count}} تعارض بين الأمر.", "option-search-conflict_plural": "{{count}} تعارض بين الأوامر.", "prompt-filter": "تصفية...", "tooltip-delete-hotkey": "حذف اإختصار", "label-waiting-for-hotkey-press": "اضغط على اختصار لوحة المفاتيح...", "label-show-all": "الكل", "label-show-unassigned": "غير معين", "label-show-assigned": "معين", "label-show-user-assigned": "تم تعيينها بواسطتي", "tooltip-restore-default": "استعادة الافتراضي", "tooltip-customize-command": "تخصيص هذا الأمر", "tooltip-hotkey-single-conflict": "هذا الاختصار يتعارض مع \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "هذا الاختصار يتعارض مع {{count}} أوامر أخرى", "label-blank-hotkey": "فارغ" }, "about": { "name": "عام", "label-commercial-license": "ترخيص تجاري", "label-license-key": "مفتاح الترخيص", "license-key-placeholder": "مفتاح ترخيصك...", "label-activate-license": "تفعيل الترخيص", "button-activate": "تفعيل", "label-unknown-version": "غير معروف", "label-current-version": "الإصدار الحالي: ", "label-install-version": "(الإصدار المثبت: {{version}})", "label-up-to-date": "التطبيق محدث!", "label-read-changelog": "اقرأ سجل التغييرات.", "label-manual-update-required": "لدعم أحدث الميزات وتلقي أحدث التصحيحات الأمنية، يحتاج Obsidian إلى تحديث مثبت كبير. يتعين عليك تنزيل Obsidian وإعادة تثبيته يدويًا.", "label-new-version-ready": "هناك إصدار جديد جاهز للتثبيت.", "label-disabled-updates": "التحديثات معطّلة.", "button-relaunch": "أعد تشغيل", "button-check-for-updates": "تحقق من وجود تحديثات", "option-auto-update": "تحديثات تلقائية", "option-auto-update-description": "قم بإيقاف هذا الخيار لمنع التطبيق من التحقق من وجود تحديثات.", "option-check-slow-startup": "إعلامي إذا استغرق بدء تشغيل التطبيق وقتًا أطول من المتوقع.", "option-check-slow-startup-description": "تشخيص المشكلات المتعلقة بالتطبيق من خلال معرفة سبب بطء تحميل التطبيق.", "button-check-startup": "تحقق الآن", "option-get-help": "احصل على مساعدة", "option-get-help-description": "احصل على مساعدة لكيفية استخدام Obsidian.", "button-open": "إفتح", "option-language": "اللغة", "option-language-description": "تغيير لغة العرض.", "option-insider-build": "تلقي الإصدارات الداخلية", "option-insider-build-description": "تحديث تلقائي إلى الإصدارات الداخلية لتجربة الميزات الجديدة. يرجى الانتباه بأن هذه النسخ تجريبية بشكل كبير وقد تكون أقل استقرارًا.", "option-advanced": "متقدم", "option-hw-acceleration": "التسريع باستخدام عتاد الحاسوب", "option-hw-acceleration-description": "يشغّل تسريع عتاد الحاسوب، والذي يستخدم وحدة المعالجة الرسومية الخاصة بك لجعل التطبيق أكثر سلاسة.", "option-hw-acceleration-warning": "إذا قمت بإيقاف هذا الخيار، فسوف ينخفض أداء التطبيق بشكل كبير.", "option-config-location": "استبدال مجلد التهيئة", "option-config-location-description": "استخدم مجلد تهيئة مختلف عن المجلد الافتراضي. يجب أن يبدأ بنقطة.", "option-config-location-warning": "يجب أن يكون موقع ملف التهيئة اسمًا صحيحًا لمجلد يبدأ بنقطة.", "label-license": "الترخيص", "label-your-commercial-license-key": "مفتاح الترخيص التجاري الخاص بك هو \"{{key}}\".", "label-commercial-license-info": "مسجل باسم \"{{company}}\" لـ {{seats}} مستخدمين. صالح حتى {{expiry}}.", "label-validating-commercial-license": "التحقق من الصلاحية...", "label-invalid-commercial-license": "الترخيص غير صالح: ", "button-remove-commercial-license": "إزالة", "option-catalyst": "ترخيص Catalyst", "option-catalyst-desc": "لديك حاليًا ترخيص {{tier}} Catalyst. شكرًا لدعمك!", "option-catalyst-desc-no-license": "لا يوجد لديك حاليًا ترخيص Catalyst. ترخيص Catalyst هو تبرع مرة واحدة لدعم تطوير تطبيق Obsidian.", "label-app": "التطبيق", "label-add-own-language": "تعرف على كيفية إضافة لغتك إلى Obsidian." }, "account": { "name": "الحساب", "option-your-account": "حسابك", "option-your-account-desc": "أنت مسجل حاليًا باسم {{name}} والبريد إلكتروني ({{email}}).", "option-your-account-desc-no-login": "أنت غير مسجل دخولك حاليًا. الحساب مطلوب فقط لـ Obsidian Sync و Obsidian Publish ومعاينة الإصدارات الداخلية Catalyst.", "label-insider": "داخلي", "label-supporter": "داعم", "label-vip": "VIP", "button-upgrade-catalyst": "ترقية", "option-commercial-license": "الترخيص التجاري", "option-commercial-license-desc": "ساعد في الحفاظ على Obsidian مدعومًا بنسبة 100٪ من المستخدم.", "button-purchase": "شراء", "button-log-out": "تسجيل الخروج", "label-log-in": "تسجيل الدخول", "label-sign-up": "اشتراك", "label-email": "البريد الإلكتروني", "placeholder-email": "البريد الإلكتروني الخاص بك...", "label-name": "الإسم الكامل", "label-password": "كلمة المرور", "placeholder-password": "كلمة المرور الخاصة بك...", "label-forgot-password": "هل نسيت كلمة المرور؟", "button-login": "تسجيل الدخول", "message-empty-email": "لا يمكن ترك البريد الإلكتروني فارغًا.", "message-invalid-email": "البريد الإلكتروني غير صالح.", "message-empty-password": "لا يمكن ترك كلمة المرور فارغة.", "message-login-failed": "فشل تسجيل الدخول، يرجى التحقق مرة أخرى من البريد الإلكتروني وكلمة المرور الخاصة بك.", "message-signup-failed": "فشل في التسجيل", "label-no-account": "لا تملك حسابًا؟ ", "link-sign-up-now": "اشترك الآن", "label-mfa-code": "رمز المصادقة الثنائية المكون من 6 أرقام", "mfa-wrong-format": "يجب أن يكون رمز المصادقة الثنائية من 6 أرقام", "mfa-verification-failed": "رمز المصادقة الثنائية، غير صحيح، يرجى التحقق مرة أخرى من تطبيق المصادقة الخاص بك" }, "core-plugin": { "plugin-list": "قائمة الملحقات", "option-search-plugin": "البحث عن الملحقات الأساسية", "option-search-plugin-description": "تصفية الملحقات حسب الاسم أو الوصف.", "placeholder-search-plugin": "البحث في الملحقات..." }, "third-party-plugin": { "name": "ملحقات تابعة لجهات خارجية", "option-restricted-mode": "الوضع المقيد", "option-restricted-mode-description": "الوضع المقيد معطّل. قم بتفعيله لتعطيل ملحقات المجتمع.", "button-turn-on": "تفعيل", "option-browse-community-plugins": "ملحقات المجتمع", "option-browse-community-plugins-description": "تصفّح وقم بتثبيت ملحقات تابعة لجهات خارجية التي أنشأها مجتمعنا.", "button-browse": "تصفّح", "label-exit-restricted-mode": "الخروج من الوضع المقيد", "label-exit-restricted-mode-description-1": "ملحقات المجتمع، كأي برنامج آخر تثبته، يمكن أن تتسبب في مشكلات الأمان وسلامة البيانات.", "label-exit-restricted-mode-description-2": "نولي أهمية كبيرة لأمان الملحقات. إليك ما نقوم به:", "label-exit-restricted-mode-description-3": "على الرغم من جهودنا، لا يزال هناك فرصة ضئيلة لسلوك غير لائق من ملحقات المجتمع.", "label-code-review": "مراجعة أولية للشيفرة المصدرية", "label-code-review-desc": "يتم خضوع الملحقات لمراجعة رمزية أولية من قبل فريقنا قبل أن تظهر في المتجر.", "label-open-source": "المصدر مفتوح", "label-open-source-desc": "معظم الملحقات هي مصادر مفتوحة على GitHub، لذا يمكنك فحص الشيفرة المصدرية بنفسك.", "label-peer-audit": "مراجعة النظير", "label-peer-audit-desc": "لدينا مجتمع كبير من المطورين الذين يتابعون بعضهم البعض.", "label-report-mechanism": "آلية الإبلاغ", "label-report-mechanism-desc": "نتابع ونقوم بإزالة الملحقات المعيبة بناءً على تقارير المستخدمين.", "label-exit-restricted-mode-disable-confirmation": "هل ترغب في الخروج من الوضع المقيد لتمكين ملحقات المجتمع؟ نوصي بشدة بإنشاء نسخ احتياطية من بياناتك قبل القيام بذلك.", "label-learn-more": "تعرف على المزيد حول أمان الملحقات", "button-turn-on-community-plugins": "تفعيل ملاحظات المجتمع", "label-trust-author": "هل تثق في مؤلف هذه الخزنة؟", "label-trust-author-description-1": "أنت تفتح هذه الخزنة للمرة الأولى، وهي تحتوي على بعض الملحقات.", "label-trust-author-description-2": "إذا كنت حصلت على هذه الخزنة من شخص آخر، فيرجى ملاحظة أن الملحقات ذات المصدر غير المعروف يمكن أن تشكل مخاطر أمنية.", "label-trust-author-description-3": "إذا كنت لا تثق تماما في مؤلف هذه الخزنة، فنوصي بالبقاء في الوضع المقيد، حتى لا تتم تشغيل الملحقات في هذه الخزنة.", "button-enable-plugins": "ثق بالمؤلف وتمكين الملحقات", "button-dont-trust-author": "تصفح الخزنة في الوضع المقيد", "placeholder-community-plugins": "البحث عن ملحقات المجتمع...", "msg-failed-load-plugins": "فشل تحميل ملحقات المجتمع.", "label-installed": "مثبتة", "button-install": "تثبيت", "button-enable": "تمكين", "button-disable": "تعطيل", "button-copy-share-link": "نسخ رابط المشاركة", "button-donate": "تبرع", "label-no-results-found": "لم يتم العثور على نتائج.", "label-no-recent-files-found": "لا يوجد ملفات حديثة. اكتب للبحث...", "msg-failed-to-load-manifest": "فشل تحميل بيان الملحق.", "label-version": "الإصدار: {{version}}", "label-currently-installed-version": " (الإصدار الحالي: {{version}})", "label-by-author": "بواسطة: ", "label-repository": "المستودع: ", "label-last-update": "آخر تحديث: ", "tooltip-view-last-update": "عرض آخر تحديث", "label-unsupported": "هذا الملحق لا يدعم جهازك.", "button-update": "تحديث", "label-no-readme": "هذا الملحق لم يوفر ملف README.", "msg-installing-plugin": "جارٍ تثبيت الملحق \"{{name}}\"...", "msg-failed-to-install-plugin": "فشل تثبيت الملحق \"{{name}}\".", "msg-successfully-installed-plugin": "تم تثبيت الملحق \"{{name}}\" بنجاح.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "الملحقات المثبتة", "button-reload-plugins": "إعادة تحميل الملحقات", "msg-reloaded-third-party-plugins": "تم إعادة تحميل الملحقات التابعة لجهات خارجية.", "label-uninstall": "إلغاء التثبيت", "label-uninstall-plugin": "إلغاء تثبيت الملحق", "label-uninstall-plugin-confirmation": "هل أنت متأكد من رغبتك في إلغاء تثبيت هذا الملحق، سيؤدي ذلك إلى حذف المجلد الخاص به.", "button-open-plugins-folder": "فتح مجلد الملحقات", "button-check-for-updates": "التحقق من التحديثات", "button-update-all-plugins": "تحديث الكل", "label-current-plugins": "الملحقات الحالية", "label-currently-installed": "لديك حاليًا {{count}} ملحق مثبت.", "label-currently-installed_plural": "لديك حاليًا {{count}} ملحقات مثبتة.", "msg-no-updates-found": "لا يوجد تحديثات للملحقات.", "msg-updates-found": "تم العثور على {{count}} ملحق للتحديث.", "msg-updates-found_plural": "تم العثور على {{count}} ملحقات للتحديث.", "msg-update-plugin": "التحديث إلى الإصدار {{version}}", "option-search-installed-plugin": "البحث عن الملحقات المثبتة", "option-search-installed-plugin-description": "تصفية الملحقات المثبتة حسب الاسم أو الوصف.", "placeholder-search-installed-plugin": "البحث عن الملحقات المثبتة...", "show-installed-only": "عرض المثبتة فقط", "label-donate-modal-title": "تبرع لدعم {{name}}", "label-donate-modal-text1": "مطوروا الملحقات هم متطوعون في المجتمع الذين يصنعون أشياء مذهلة بدافع شغفهم. إذا وجدت هذا الملحق مفيدة، يرجى التفكير في تمويل تطويرها.", "label-donate-modal-text2": "ستذهب 100٪ من مساهمتك إلى مطور الملحق لا تأخذ Obsidian أي نسبة. قد تفرض المنصة التي يختارونها للتمويل رسومًا.", "label-donate-modal-text3": "شكرًا لك على دعمك الكريم!", "label-support-this-plugin": "دعم هذا الملحق:", "label-search-summary": "يتم عرض {{pluginCount}}:", "label-by-popularity": "الأكثر تحميلًا", "label-by-released": "صدر مؤخرًا", "label-by-updated": "مُحدث مؤخرًا", "label-alphabetical": "ترتيب أبجدي", "label-last-updated": "تم التحديث {{time}}" }, "mobile-toolbar": { "name": "شريط أدوات الهاتف", "option-configure-quick-action": "تهيئة الإجراء السريع للهاتف", "option-configure-quick-action-description": "تهيئة الأمر الذي يتم تشغيله عند السحب من الأعلى. يتم تعيين الأمر الحالي إلى \"{{command}}\".", "msg-missing-quick-action": "الإجراء لم يتم تهيئته", "button-configure": "تهيئة", "placeholder-select-quick-action": "تحديد إجراء سريع...", "quick-action-disabled": "لا شيء", "manage-toolbar-options": "إدارة خيارات شريط الأدوات", "option-internal-link": "إضافة رابط داخلي", "option-internal-embed": "إضافة تضمين", "option-tag": "إضافة وسم", "option-heading": "تبديل العنوان", "option-strikethrough": "تبديل شطب بخط", "option-highlight": "تبديل التظليل", "option-code": "تبديل شيفرة مصدرية", "option-blockquote": "تبديل كتلة اقتباس", "option-inline-math": "تبديل الرياضيات المضمنة", "option-math-block": "تبديل كتلة الرياضيات", "option-markdown-link": "إضافة رابط Markdown", "option-bullet-list": "تبديل قائمة منقطة", "option-numbered-list": "تبديل قائمة مرقمة", "option-indent-list": "مسافة بادئة لعنصر القائمة", "option-unindent-list": "إزالة المسافة البادئة لعنصر القائمة", "option-undo": "تراجع", "option-redo": "إعادة", "option-move-caret-up": "نقل مؤشر الكتابة للأعلى", "option-move-caret-down": "نقل مؤشر الكتابة للأسفل", "option-move-caret-left": "نقل مؤشر الكتابة لليسار", "option-move-caret-right": "نقل مؤشر الكتابة لليمين", "option-first-line": "انتقال للسطر الأول", "option-last-line": "انتقال للسطر الأخير", "option-toggle-keyboard": "تبديل لوحة المفاتيح", "option-configure-toolbar": "تهيئة شريط أدوات الهاتف", "option-added-options": "الخيارات المضافة", "option-more-toolbar-options": "المزيد من خيارات شريط الأدوات", "option-attach": "إدراج مرفق", "option-add-command": "إضافة أمر عام", "option-add-command-description": "حدد أي أمر عام لإضافته إلى شريط الأدوات." } }, "editor": { "search": { "placeholder-find": "بحث", "placeholder-replace": "استبدل", "label-exit-search": "الخروج من البحث", "label-next": "التالي", "label-previous": "السابق", "label-find-all": "البحث عن الكل", "label-replace": "استبدال", "label-replace-all": "استبدال الكل" }, "link-suggestion": { "label-type-hash": "اكتب #", "label-link-heading": "لربط العنوان", "label-type-block": "اكتب ^", "label-link-block": "لربط الكتل", "label-type-pipe": "اكتب |", "label-change-display-text": "لتغيير النص المعروض", "label-no-alias": "إظهار النص", "label-no-heading": "عنوان", "label-no-match-found": "تعذر العثور على تطابق", "label-image-size": "حجم الصورة: {{size}} نقطة", "label-accept": "لقبول", "label-new-footnote": "حاشية جديدة..." }, "spellcheck": { "no-suggestion": "تعذر العثور على اقتراحات...", "add-to-dictionary": "إضافة للقاموس" }, "menu": { "edit-link": "تعديل الرابط", "edit-tag": "تعديل الوسم", "label-edit-block": "تحرير هذه الكتلة", "label-delete-footref-and-note": "حذف الحاشية والمرجع" }, "heading-suggestion": { "label-no-heading": "بدون عنوان", "label-heading-level": "عنوان {{level}}" }, "print-modal": { "title": "تصدير كـ PDF", "caption": "تصدير \"{{filename}}\" إلى ملف PDF باستخدام الإعدادات التالية.", "setting-page-size": "حجم الصفحة", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "تضمين اسم الملف كعنوان", "setting-landscape": "عرض أفقي", "setting-margin": "الهامش", "setting-margin-default": "افتراضي", "setting-margin-minimal": "الحد الأدنى", "setting-margin-none": "لا شيء", "setting-downscale-percent": "نسبة التصغير", "button-export-to-pdf": "تصدير كـ PDF" }, "link-popover": { "tooltip-follow-link": "متابعة الرابط", "tooltip-open-link": "فتح الرابط", "tooltip-search-tag": "البحث عن وسم" } }, "interface": { "embed-cannot-find": "تعذر العثور على:", "label-unable-to-find-section": "تعذر العثور على “{{subpath}}” في {{file}}", "embed-open-in-default-app-tooltip": "فتح في التطبيق الافتراضي", "empty-sidebar": "الشريط الجانبي فارغ، جرب سحب لوحة هنا.", "sidebar-expand": "توسيع", "sidebar-collapse": "طي", "msg-fail-to-save-file": "فشل حفظ الملف \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "فشل في تحميل الملحق “{{plugin}}”", "msg-plugin-error": "الملحق “{{plugin}}” واجه خطأ أثناء التحميل", "msg-failed-to-load-file": "فشل في فتح “{{filepath}}”", "msg-failed-to-open-href": "لا يمكن فتح الموقع “{{href}}”", "no-file": "لا يوجد ملف", "msg-file-changed": "تم تعديل \"{{file}}\" خارجيًا، جارٍ دمج التغييرات تلقائيًا.", "switch-vault": "فتح خزنة أخرى", "manage-vaults": "إدارة الخزائن...", "help": "مساعدة", "settings": "الإعدادات", "drag-to-rearrange": "سحب لإعادة الترتيب", "msg-switched-to-read": "تم تغيير وضع العرض الافتراضي إلى عرض القراءة.", "msg-switched-to-edit": "تم تغيير وضع العرض الافتراضي إلى وضع التحرير.", "msg-upgrade-installer": "لاستخدام هذه الميزة، يرجى إعادة تثبيت البرنامج باستخدام أحدث حزمة تثبيت متاحة من موقعنا على الويب.", "msg-slow-boot": "تم اكتشاف بأن وقت بدء تشغيل التطبيق بطيء.", "msg-desktop-only-feature": "هذه الميزة متاحة فقط في تطبيق سطح المكتب.", "tooltip-restore-default-settings": "استعادة الإعدادات الافتراضية", "label-copy": "نسخ للحافظة", "label-copy-short": "نسخ", "copied_generic": "تم النسخ للحافظة", "copied": "تم نسخ {{item}} للحافظة", "copy_failed": "فشل في النسخ إلى حافظة الجهاز", "prompt-filter": "تصفية...", "url": "رابط", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "تم فتح الملف \"{{path}}\"", "msg-file-not-found-through-uri": "تعذر العثور على الملف \"{{name}}\".", "delete-action-short-name": "حذف", "msg-indexing": "يقوم التطبيق بفهرسة الخزنة الخاصة بك...\nيجب أن يحدث هذا مرة واحدة فقط.\nقد لا تكون بعض الوظائف متاحة حتى يتم الانتهاء من الفهرسة.", "msg-indexing-desc": "قد لا تكون بعض الوظائف متاحة حتى يكتمل هذا الإجراء.", "msg-indexing-complete": "اكتملت الفهرسة.", "msg-sandbox-vault": "هذا خزنة تجريبية.\nستفقد التغييرات التي تجريها في هذه الخزنة.", "msg-indexed-db-not-supported": "مطلوب IndexedDB لهذه الميزة ، ولكن معطل حاليًا.", "msg-indexed-db-i-o-s": "إذا كنت تستعمل وضع التأمين على iOS, يرجى استبعاد Obsidian \"Configure Web Browsing\" من إعدادات وضع التأمين.", "label-enter-to-create": "اضغط Enter للإنشاء", "label-update-available": "تحديث متاح", "label-debug-info": "معلومات التصحيح", "button-learn-more": "تعلم المزيد", "button-not-now": "ليس الآن", "button-add": "إضافة", "button-manage": "إدارة", "label-new-tab": "علامة تبويب جديدة", "option-hide-ribbon": "إخفاء الشريط", "msg-tab-busy": "علامة التبويب هذه مشغولة حاليًا، يرجى المحاولة مرة أخرى في وقت لاحق.", "formatting": { "label-formatting": "تنسيق", "label-paragraph": "فقرة", "label-insert": "إدراج", "insert-link": "إدرج رابط", "insert-external-link": "إدرج رابط خارجي", "insert-callout": "قصاصة", "insert-horizontal-rule": "خط فاصل", "insert-code-block": "كتلة شيفرة مصدرية", "insert-math-block": "كتلة رياضيات", "insert-table": "جدول", "insert-footnote": "حاشية", "toggle-bold": "عريض", "toggle-code": "شيفرة برمجية", "toggle-comments": "تعليق", "toggle-highlight": "تظليل", "toggle-italics": "مائل", "toggle-strikethrough": "شطب بخط", "toggle-math": "رياضيات", "toggle-bullet-list": "قائمة نقطية", "toggle-checklist": "قائمة مهام", "toggle-numbered-list": "قائمة مرقمة", "set-heading": "عنوان {{level}}", "no-heading": "الجسم", "clear": "أزل التنسيق", "toggle-quote": "إقتباس" }, "empty-state": { "no-file-open": "لا يوجد ملف مفتوح", "create-new-file": "إنشاء ملف جديد", "go-to-file": "انتقل إلى ملف", "see-recent-files": "عرض الملفات المفتوحة مؤخرًا", "close": "إغلاق", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "الملحق لم يعد نشط", "unknown-pane-desc": "اختفى الملحق ({{type}}) الذي أنشأ هذه اللوحة" }, "release-notes": { "tab-title": "ملاحظات الإصدار {{version}}", "msg-missing-release-notes": "لا توجد ملاحظات إصدار متاحة لـ {{version}}.", "msg-failed-to-load": "لا يمكن تحميل ملاحظات الإصدار لـ {{version}}." }, "menu": { "edit-view": "تعديل (Ctrl/Cmd+نقرة للتعديل في لوحة جديدة)", "read-view": "العرض الحالي: القراءة", "ribbon": "شريط", "left-sidebar": "الشريط الجانبي الأيسر", "right-sidebar": "الشريط الجانبي الأيمن", "switch-to-edit-view": "انقر للتعديل", "switch-to-read-view": "انقر للقراءة", "mod-click-open-new-tab": "{{key}}+نقرة لفتح في علامة تبويب جديدة", "find": "بحث...", "replace": "استبدال...", "edit": "تحرير", "remove": "أزل", "rename": "إعادة التسمية", "preview": "معاينة", "more-options": "المزيد من الخيارات", "close": "إغلاق", "close-all": "إغلاق الكل", "close-tabs-with-count": "أغلق {{count}} تبويب", "close-tabs-with-count_plural": "إغلاق {{count}} تبويبات", "close-others": "إغلاق الآخرين", "close-after": "إغلاق التبويبات بعد", "pin": "تثبيت", "unpin": "إلغاء التثبيت", "unlink-tab": "فصل علامة التبويب", "link-tab": "ربط مع علامة التبويب...", "toggle-source-mode": "وضع المصدر", "toggle-reading-view": "عرض القراءة", "add-property": "أضف خصائص", "delete-file": "حذف الملف", "create-file": "أنشئ هذا الملف", "open-link": "إفتح الرابط", "open-in-new-tab": "إفتح في علامة تبويب جديدة", "open-to-the-right": "إفتح إلى اليمين", "copy-url": "إنسخ الرابط", "copy": "نسخ", "cut": "قص", "paste": "لصق", "paste-as-plain-text": "لصق كنص عادي", "lookup-selection": "ابحث عن “{{selection}}”", "select-all": "تحديد الكل", "rename-heading": "إعادة تسمية هذا العنوان...", "rename-blockid": "إعادة تسمية معرف هذا الكتلة...", "open-in-new-window": "فتح في نافذة جديدة", "move-to-new-window": "نقل إلى نافذة جديدة", "open-in-browser": "فتح في المتصفح", "stack-tabs": "كدس علامات التبويب", "unstack-tabs": "فك تكديس علامات التبويب", "open-linked-view": "فتح العرض المرتبط" }, "tooltip": { "click-to-expand": "انقر للتوسيع", "click-to-collapse": "انقر للطي", "alias": "اسم مستعار", "not-created-yet": "لم يتم الإنشاء بعد، حدد للإنشاء" }, "start-screen": { "label-version": "الإصدار", "label-create-local-vault": "إنشاء خزنة محلية", "option-open-folder-as-vault": "افتح مجلد كخزنة", "option-open-folder-as-vault-description": "اختر مجلدًا موجودًا يحتوي على ملفات Markdown.", "option-create-vault": "إنشاء خزنة جديدة", "option-create-vault-description": "إنشاء خزنة Obsidian جديدة تحت مجلد.", "option-connect-obsidian-sync": "الاتصال بـ Obsidian Sync", "option-connect-obsidian-sync-description": "إعداد خزنة متزامنة مع خزنة موجودة عن بُعد.", "option-new-vault-name": "اسم الخزنة", "option-new-vault-name-description": "اختر اسمًا لخزنتك الرائعة.", "option-new-vault-location": "الموقع", "option-new-vault-location-description": "اختر موقعًا لوضع الخزنة الجديدة الخاص بك..", "label-new-vault-location-preview": "سيتم وضع الخزنة الجديدة الخاص بك في: ", "option-reveal-vault-in-explorer": "كشف الخزنة في مستكشف النظام", "option-reveal-vault-in-explorer-mac": "كشف الخزنة في متصفح الملفات", "option-rename-vault": "إعادة تسمية الخزنة...", "option-copy-vault-i-d": "انسخ معرف الخزنة", "msg-error-rename-exists": "هناك خزنة بنفس هذا الاسم.", "msg-error-nested": "لا يمكن نقل الخزنة إلى مجلد فرعي من نفسه.", "msg-error-rename-open": "لا يمكن إعادة تسمية الخزنة المفتوحة حاليًا.", "msg-rename-failed": "فشل إعادة تسمية الخزنة..", "msg-rename-success": "تمت إعادة تسمية الخزنة بنجاح.", "option-move-vault": "نقل الخزنة...", "msg-move-select-dest": "حدد مجلد الوجهة", "msg-error-move-exists": "يوجد بالفعل خزنة في الوجهة.", "msg-error-move-open": "لا يمكن نقل الخزنة المفتوحة حاليًا.", "msg-move-failed": "فشل نقل الخزنة.", "msg-move-success": "تم نقل الخزنة بنجاح.", "option-remove": "إزالة من القائمة", "button-quick-start": "البدء السريع", "button-open": "فتح", "button-browse": "تصفح", "button-connect": "اتصال", "button-create-vault": "إنشاء", "button-back": "عودة", "msg-empty-vault-name": "لا يمكن أن يكون اسم الخزنة فارغًا.", "msg-trailing-dot-vault-name": "إسم الخزنة لا يمكن أن ينتهي بنقطة.", "msg-invalid-folder": "يرجى اختيار مجلد صالح.", "msg-failed-to-create-vault": "فشل إنشاء الخزنة.", "msg-failed-to-create-vault-at-location": "تعذر إنشاء الخزنة في الموقع المحدد. يرجى التحقق مرة أخرى من الموقع والأذونات.", "msg-error-failed-to-open-vault": "فشل الفتح.", "msg-error-remove-current-open-vault": "لا يمكن إزالة الخزنة المفتوحة حاليًا.", "option-get-help": "الحصول على المساعدة", "option-user-email": "البريد الإلكتروني", "placeholder-your-email": "بريدك الإلكتروني...", "option-user-password": "كلمة المرور", "placeholder-your-password": "كلمة المرور الخاصة بك...", "button-sign-in": "تسجيل الدخول", "button-setup": "إعداد", "option-connect-vault-desc": "إنشاء خزنة مزامنة على هذا الجهاز.", "tooltip-own-vault": "هذا الخزنة عن بعد مملوك لك.", "tooltip-shared-vault": "هذا الخزنة عن بعد مشترك معك.", "mobile": { "label-start-screen": "أفكارك لك.", "label-synced": "مزامن", "label-not-synced": "غير مزامن", "label-none": "لا شيء", "label-recommended": "موصى به", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "أنشئ خزنة", "option-use-existing": "استعمل خزنة موجوة", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "تخطي الآن", "option-skip-short": "تخطئ", "label-vault-create": "اختر اسمًا لخزنتك.", "button-create": "انشئ خزنة", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "انشئ خزنة", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "مرحبًا", "welcome-file-content": "هذه *خزنتك* الجديدة.\n\nأنشئ ملاحظة، [[create a link]]، أو جرب [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nعندما تكون جاهزًا، احذف هذه الملاحظة واجعل هذه الخزنة لك." }, "drag-and-drop": { "insert-link-here": "أدرج الرابط هنا", "insert-links-here": "أدرج الروابط هنا", "move-into-folder": "انقل إلى \"{{folder}}\"", "star-this-file": "إضافة الملف للمفضلة", "star-these-files": "إضافة الملفات للمفضلة", "open-in-this-tab": "فتح في علامة التبويب الحالية", "open-as-tab": "فتح كعلامة تبويب جديدة" }, "window": { "maximize": "تكبير", "minimize": "تصغير", "restore-down": "استعادة الحجم الأصلي", "close-window": "أغلاق النافذة", "go-back": "عودة للخلف", "go-forward": "انتقال للأمام" }, "start-up": { "loading-obsidian": "جارٍ تحميل Obsidian...", "obsidian-load-error": "حدث خطأ أثناء تحميل Obsidian.", "button-reload-app": "إعادة تحميل التطبيق", "button-reload-app-in-safe-mode": "إعادة تحميل التطبيق في الوضع الآمن", "button-open-another-vault": "فتح خزنة أخرى", "loading-plugins": "جارٍ تحميل الملحقات...", "msg-plugin-hang": "الملحق “{{plugin}}” يأخذ وقت طويل للتحميل. ", "loading-vault": "جارٍ تحميل الخزنة...", "msg-failed-to-load-vault": "فشل تحميل الخزنة: ", "loading-cache": "جارٍ تحميل الذاكرة المؤقتة...", "loading-workspace": "جارٍ تحميل مساحة العمل..." }, "mobile": { "action-import": "استيراد إلى الخزنة", "action-insert-text-desc": "إضافة نص إلى الملف:", "action-choose-file-to-insert": "اختر ملفًا للإدراج", "action-insert-text-into-file": "إدراج نص في {{filename}}", "action-insert-link-into-file": "إدراج رابط في {{filename}}", "action-show-switcher": "إظهار نظرة عامة على علامة التبويب", "msg-importing": "جارٍ الاستيراد...", "msg-import-success": "تم الاستيراد بنجاح", "msg-failed-to-import-file": "فشل استيراد الملف {{filename}}", "msg-back-again-to-exit": "اضغط على الزر الخلفي مرة أخرى للخروج.", "feedback": { "label-feedback": "تغذية راجعة", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "قيم التطبيق", "action-dismiss": "رفض" } }, "help-screen": { "label-official-help-site": "الموقع الرسمي للمساعدة", "label-official-help-site-desc": "اقرأ وثائق المساعدة الرسمية لـ Obsidian، المتاحة بلغات متعددة.", "action-visit": "زيارة", "label-discord-chat": "دردشات Discord", "label-discord-chat-desc": "Discord هو أفضل مكان للدردشة مع مستخدمي Obsidian المتمرسين من جميع أنحاء العالم.", "action-join": "انضم", "label-forum": "المنتدى الرسمي", "label-forum-desc": "تبادلوا المساعدة، وانشروا طلبات الميزات، والإبلاغ عن الأخطاء، والمناقشات العميقة حول إدارة المعرفة.", "label-sandbox-vault": "خزنة تجريبية", "label-sandbox-vault-desc": "تجول واختبر الميزات المختلفة. يرجى ملاحظة أن التغييرات التي تقوم بها لن يتم حفظها." } }, "commands": { "save-file": "حفظ الملف الحالي", "download-attachments": "قم بتنزيل مرفقات ملف الحالي", "follow-cursor-link": "متابعة الرابط تحت المؤشر", "open-cursor-link-in-new-tab": "فتح الرابط تحت المؤشر في علامة تبويب جديدة", "open-cursor-link-to-the-right": "فتح الرابط تحت المؤشر على اليمين", "open-cursor-link-in-new-window": "فتح الرابط تحت المؤشر في نافذة جديدة", "navigate-tab-above": "التركيز على مجموعة علامات التبويب بالأعلى", "navigate-tab-below": "التركيز على مجموعة علامات التبويب بالأسفل", "navigate-tab-left": "التركيز على مجموعة علامات التبويب لليسار", "navigate-tab-right": "التركيز على مجموعة علامات التبويب لليمين", "toggle-pin": "تبديل تثبيت", "split-right": "تقسيم لليمن", "split-down": "تقسيم للأسفل", "toggle-stacked-tabs": "تبديل علامات التبويب المرصوصة", "navigate-back": "التنقل للخلف", "navigate-forward": "التنقل للأمام", "use-dark-mode": "استخدام الوضع الداكن", "use-light-mode": "استخدام الوضع الفاتح", "change-theme": "تغيير السمة", "search-current-file": "بحث في الملف الحالي", "search-replace-current-file": "بحث واستبدال في الملف الحالي", "add-property": "إدراج خصائص الملف", "label-sort-property-a-to-z": "الإسم (أ إلى ي)", "label-sort-property-z-to-a": "الإسم (أ إلى ي)", "add-alias": "إضافة إسم مستعار", "clear-properties": "مسح خصائص الملف", "open-settings": "فتح الإعدادات", "open-help": "فتح المساعدة", "toggle-edit": "تبديل وضع التحرير/القراءة", "toggle-source-mode": "تبديل معاينة مباشرة/وضع المصدر", "delete-current-file": "حذف الملف الحالي", "new-tab": "علامة تبويب جديدة", "show-trash": "إظهر سلة المهملات", "close-all-tabs": "إغلاق جميع علامات التبويب", "close-active-tab": "إغلاق علامة التبويب الحالية", "close-others-in-tab-group": "أغلق الآخرين في مجموعة علامات التبويب", "close-other-tabs": "إغلاق جميع علامات التبويب الأخرى", "close-tab-group": "أغلق مجموعة علامة التبويب هذه", "toggle-left-sidebar": "تبديل الشريط الجانبي الأيسر", "toggle-ribbon": "تبديل الشريط", "toggle-right-sidebar": "تبديل الشريط الجانبي الأيمن", "toggle-default-new-tab-mode": "تبديل الوضع الافتراضي لعلامات التبويب الجديدة", "add-cursor-above": "أضف المؤشر أعلاه", "add-cursor-below": "أضف المؤشر أدناه", "focus-editor": "ركز على المحرر", "toggle-fold-properties": "تبديل خصائص الطي في الملف الحالي", "toggle-fold": "تبديل الطي في السطر الحالي", "fold-all": "طي جميع العناوين والقوائم", "unfold-all": "فتح جميع العناوين والقوائم", "fold-more": "طي أكثر", "fold-less": "طي أقل", "swap-line-up": "تبديل السطر للأعلى", "swap-line-down": "تبديل الخط للأسفل", "remove-heading": "إزالة العنوان", "toggle-heading": "تعيين كعنوان {{level}}", "toggle-bold": "تبديل الخط السميك للنص المحدد", "toggle-italics": "تبديل الخط المائل للنص المحدد", "toggle-highlight": "تبديل التظليل للنص المحدد", "toggle-comments": "تبديل التعليقات للنص المحدد", "clear-formatting": "أزل التنسيق", "insert-link": "إدراج رابط", "toggle-spellcheck": "تبديل التدقيق الإملائي", "delete-paragraph": "حذف الفقرة", "toggle-checklist": "تبديل حالة قائمة المهام", "cycle-list-checklist": "سلسلة نقطية/مهام", "insert-callout": "إدراج قصاصة", "insert-code-block": "إدراج كتلة شيفرة مصدرية", "insert-math-block": "إدراج كتلة الرياضيات", "insert-horizontal-rule": "إدراج خط فاصل", "insert-table": "إدراج جدول", "insert-footnote": "إدراج حاشية", "edit-file-title": "تعديل عنوان الملف", "copy-path": "نسخ مسار الملف", "copy-url": "نسخ عنوان obsidian", "export-pdf": "تصدير كـ PDF", "reload": "إعادة تحميل التطبيق بدون حفظ", "undo-close-tab": "تراجع عن إغلاق علامة التبويب", "context-menu": "إظهار قائمة السياق تحت المؤشر", "show-debug-info": "إظهار معلومات التصحيح", "open-sandbox-vault": "فتح الخزنة التجريبية", "always-on-top": "تبديل النافذة دائمًا في المقدمة", "zoom-in": "تكبير", "zoom-out": "تصغير", "reset-zoom": "إعادة ضبط التكبير", "toggle-preview": "تبديل وضع التحرير/المعاينة", "move-to-new-window": "نقل اللوحة الحالية إلى نافذة جديدة", "open-in-new-window": "فتح اللوحة الحالية في نافذة جانبية جديدة", "rename-current-file": "إعادة تسمية الملف الحالي", "go-to-prev-tab": "انتقل إلى علامة التبويب السابقة", "go-to-next-tab": "انتقل إلى علامة التبويب التالية", "go-to-last-tab": "انتقل إلى علامة التبويب الأخيرة", "go-to-nth-tab": "انتقل إلى علامة التبويب #{{n}}", "show-release-notes": "عرض ملاحظات الإصدار" }, "dialogue": { "label-link-affected": "سيؤثر هذا على {{links}} في {{files}}.", "msg-updated-links": "تم تحديث {{links}} في {{files}}.", "label-update-links": "تحديث الروابط", "label-confirm-update-link-to-file": "هل تريد تحديث الروابط الداخلية التي تشير إلى هذا الملف؟", "button-always-update": "التحديث دائمًا", "button-just-once": "هذه المرة فقط", "button-do-not-update": "لا تقم بالتحديث", "label-confirm-deletion": "هل أنت متأكد من أنك تريد حذف \"{{filename}}\"؟", "label-move-to-system-trash": "سيتم نقله إلى سلة المحذوفات في نظامك.", "label-move-to-vault-trash": "سيتم نقله إلى سلة محذوفات Obsidian، والتي تقع في مجلد مخفي بعنوان \".trash\" داخل الخزنة الخاصة بك.", "label-permanent-delete": "سيتم حذف الملف بشكل دائم.", "label-non-empty-folder": "هذا المجلد ليس فارغاً.", "label-delete-folder-warning": "إذا واصلت، سيتم حذف جميع الملفات داخل هذا المجلد.", "label-delete-folder": "حذف المجلد", "button-delete": "حذف", "button-delete-do-not-ask-again": "احذف، ولا تسأل مرة أخرى", "label-do-not-ask-again": "لا تسأل مرة أخرى", "label-existing-backlink": "يوجد حاليًا {{count}} رابط يشير إلى هذه الملاحظة.", "label-existing-backlink_plural": "يوجد حاليًا {{count}} روابط تشير إلى هذه الملاحظة.", "label-delete-file": "حذف الملف", "label-download-attachments": "نزل المرفقات", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "نزل {{count}} مرفق.", "label-downloaded-attachments_plural": "نزل {{count}} مرفقات.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "إدارة", "button-view": "عرض", "button-confirm": "تأكيد", "button-cancel": "إلغاء", "button-download": "نزل", "button-done": "تم", "button-save": "حفظ", "button-stop": "إيقاف", "button-continue": "استمرار", "button-choose": "اختر", "button-retry": "إعادة المحاولة", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "جارٍ التجهيز كـ PDF...", "label-rename-file": "إعادة تسمية الملف", "label-rename-file-generic": "اسم الملف", "label-new-name": "اسم جديد", "msg-rename-success": "تمت إعادة تسمية الملف بنجاح.", "msg-merge-failed": "فشل في دمج الملاحظات: {{message}}", "msg-file-or-folder-not-found": "الملف أو المجلد “{{path}}” غير موجود.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "إعادة تسمية العنوان", "label-rename-blockid": "إعادة تسمية معرف الكتلة" }, "menu-items": { "new-file": "إنشاء ملاحظة", "new-file-to-the-right": "ملاحظة جديدة لليمين", "new-window": "نافذة جديدة", "open-switcher": "فتح بسرعة...", "open-vault": "فتح الخزنة...", "close-tab": "إغلاق التبويب", "close-window": "إغلاق النافذة", "find": "بحث", "replace": "استبدل", "insert-callout": "قصاصة", "insert-markdown-link": "رابط Markdown", "insert-wikilink": "رابط", "set-heading": "عنوان {{level}}", "no-heading": "لا يوجد عنوان", "insert-quote": "اقتباس", "export-pdf": "تصدير كـ PDF", "insert-attachment": "أدرج مرفق...", "insert-codeblock": "كتلة شيفرة مصدرية", "insert-math-block": "كتلة رياضيات", "insert-table": "جدول", "insert-footnote": "حاشية", "toggle-bullet-list": "قائمة منقطة", "toggle-numbered-list": "قائمة مرقمة", "toggle-checklist": "قائمة مهام", "toggle-bold": "سميك", "toggle-code": "شيفرة مصدرية", "toggle-comment": "تعليق", "toggle-italics": "مائل", "toggle-inline-math": "رياضيات", "toggle-highlight": "تظليل", "toggle-strikethrough": "شطب بخط", "toggle-comments": "تعليق", "folding-menu": "طي", "fold-all": "طي الكل", "unfold-all": "فتح الكل", "fold-more": "طي أكثر", "fold-less": "طي أقل", "source-mode": "وضع المصدر", "reading-view": "عرض القراءة", "show-debug-info": "إظهار معلومات التصحيح", "open-sandbox": "افتح الخزنة التجريبية", "navigate-back": "انتقل للخلف", "navigate-forward": "انتقل للأمام", "toggle-left-sidebar": "تبديل الشريط الجانبي الأيسر", "toggle-right-sidebar": "تبديل الشريط الجانبي الأيمن", "toggle-ribbon": "شريط", "split-right": "تقسيم لليمين", "split-down": "تقسيم للأسفل", "release-notes": "ملاحظات الإصدار" }, "plugins": { "name": "الملحقات", "file-explorer": { "name": "مستكشف الملفات", "desc": "إظهار جميع الملفات في خزنتك.", "action-open": "إفتح مستكشف الملفات", "action-show": "أظهار مستكشف الملفات", "action-create-note": "أنشئ ملاحظة جديدة", "action-create-folder": "أنشئ مجلد جديد", "action-create-note-in-current-tab": "أنشئ ملاحظة جديدة في علامة التبويب الحالية", "action-create-note-to-the-right": "أنشئ ملاحظة جديدة لليمين", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "طي الكل", "action-expand-all": "توسيع الكل", "action-new-note": "ملاحظة جديدة", "action-new-folder": "مجلد جديد", "action-change-sort": "تغيير ترتيب الفرز", "action-reveal-file": "أظهر الملف في مستكشف الملفات", "action-reveal-active-file": "أظهر الملف النشط في مستكشف الملفات", "command-make-a-copy": "قم بعمل نسخة من الملف الحالي", "command-make-a-copy-mac": "استنساخ الملف الحالي", "command-move-file": "نقل الملف إلى مجلد آخر", "action-new-folder-with-count": "مجلد جديد من ({{count}} ملف)", "action-new-folder-with-count_plural": "مجلد جديد من ({{count}} ملفات)", "action-move-file": "أنقل الملف إلى...", "action-move-folder": "أنقل المجلد إلى...", "action-move-items": "أنقل {{count}} عنصر إلى...", "prompt-type-folder": "اكتب اسم المجلد", "label-no-folders": "تعذر العثور على مجلدات.", "instruction-navigate": "للتنقل", "instruction-move": "للنقل", "instruction-create": "للإنشاء", "instruction-dismiss": "للتجاهل", "label-sort-a-to-z": "اسم الملف (أ إلى ي)", "label-sort-z-to-a": "اسم الملف (ي إلي أ)", "label-sort-new-to-old": "وقت التحرير (الأحدث إلى الأقدم)", "label-sort-old-to-new": "وقت التحرير (الأقدم إلى الأحدث)", "label-sort-created-old-to-new": "وقت الإنشاء (الأقدم إلى الأحدث)", "label-sort-created-new-to-old": "وقت الإنشاء (الأحدث إلى الأقدم)", "menu-opt-new-note": "ملاحظة جديدة", "menu-opt-new-folder": "مجلد جديد", "menu-opt-rename": "إعادة التسمية", "menu-opt-delete": "حذف", "menu-opt-make-copy": "قم بعمل نسخة", "menu-opt-make-copy-mac": "استنساخ", "msg-invalid-characters": "اسم الملف لا يمكن أن يحتوي على أي من الأحرف التالية: ", "msg-unsafe-characters": "لن تعمل الروابط مع أسماء الملفات التي تحتوي على أي من هذه الأحرف: ", "msg-file-already-exists": "يوجد بالفعل ملف بنفس الاسم", "msg-empty-file-name": "اسم الملف لا يمكن أن يكون فارغًا.", "msg-bad-dotfile": "يجب ألا يبدأ اسم الملف بنقطة.", "tooltip-modified-time": "آخر تعديل في {{time}}", "tooltip-created-time": "تم الإنشاء في {{time}}", "tooltip-folders-files-count": "{{fileCount}}، {{folderCount}}", "label-untitled-file": "بدون عنوان", "label-untitled-folder": "بدون عنوان", "msg-set-attachment-folder": "سيتم حفظ المرفقات في \"{{path}}\" من الآن فصاعدًا." }, "search": { "name": "البحث", "desc": "البحث عن كلمة مفتاحية في جميع الملاحظات.", "action-open-search": "البحث في جميع الملفات", "label-collapse-results": "طي النتائج", "label-match-case": "مطابقة الحالة", "label-explain-search-term": "تفسير مصطلح البحث", "label-more-context": "عرض المزيد من السياق", "label-result-count": "{{count}} نتيجة", "label-result-count_plural": "{{count}} نتائج", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "إعدادات البحث", "prompt-start-search": "اكتب لبدء البحث...", "label-match-text": "يطابق النص: ", "label-match-regex": "يطابق التعبير النمطي: ", "label-match-exact-text": "يحتوي على النص الدقيق: ", "label-match-greater-than": "أكبر من: ", "label-match-less-than": "أقل من: ", "label-match-true": "صحيح", "label-match-false": "خاطئ", "label-match-empty": "فارغ", "label-match-property": "يحتوي على خصائص:", "label-match-all": "يطابق جميع: ", "label-match-any": "يطابق أي من: ", "label-excluding": "باستثناء: ", "label-case-sensitive": "حساسية حالة الأحرف", "label-case-insensitive": "غير حساس لحالة الأحرف", "label-match-file-path": "يطابق مسار الملف: ", "label-match-file-name": "يطابق اسم الملف: ", "label-match-content": "يطابق محتوى الملف: ", "label-match-task": "يطابق المهمة: ", "label-match-task-todo": "يطابق المهمة (للإنجاز): ", "label-match-task-done": "يطابق المهمة (منجزة): ", "label-match-line": "يطابق السطر: ", "label-match-block": "يطابق الكتلة: ", "label-match-section": "يطابق القسم: ", "label-match-tag": "يطابق الوسم: ", "label-no-matches": "تعذر العثور على تطابق.", "matches-with-count": "... و {{count}} تطابق آخر.", "matches-with-count_plural": "... و {{count}} تطابقات أخرى.", "label-copy-search-results": "نسخ نتائج البحث", "button-copy-results": "نسخ النتائج", "msg-successfully-copied": "تم نسخ النتائج لحافظتك.", "option-show-path": "عرض المسار", "option-show-path-description": "عرض مسار الملف الكامل بدلاً من اسم الملف فقط.", "option-link-style": "نمط الرابط", "option-link-style-description": "خيار إختياري، تحويل كل نتيجة ملف إلى رابط.", "option-choice-link-style-none": "لا شيء", "option-choice-link-style-wikilink": "رابط الويكي", "option-choice-link-style-markdown-link": "رابط Markdown", "option-list-prefix": "بادئة القائمة", "option-list-prefix-description": "خيار إختياري، قم بإضافة بادئة عنصر القائمة إلى كل نتيجة ملف.", "option-choice-list-style-none": "لا شيء", "option-choice-list-style-dash": "شرطة (-)", "option-choice-list-style-asterisk": "نجمة (*)", "option-choice-list-style-numbered": "مُرقم", "tooltip-clear-search": "مسح البحث", "label-search-options": "خيارات البحث", "label-properties-group": "خصائص", "label-tags-group": "وسوم", "tooltip-read-more": "قراءة المزيد", "label-history": "السجل", "tooltip-clear-history": "مسح سجل البحث", "label-path-option-description": "مطابقة مسار الملف", "label-file-name-option-description": "مطابقة اسم الملف", "label-tag-option-description": "البحث عن وسوم", "label-line-option-description": "البحث عن الكلمات الرئيسية في نفس السطر", "label-section-option-description": "البحث عن الكلمات الرئيسية تحت نفس العنوان", "label-property-option-description": "طابق الخصائص", "menu-opt-search-for": "البحث عن \"{{keyword}}\"", "menu-opt-search-in-folder": "البحث في المجلد" }, "quick-switcher": { "name": "الانتقال السريع", "desc": "قم بالانتقال إلى أي ملف دون ترك لوحة المفاتيح الخاصة بك. استخدم Ctrl/Cmd+O للتنشيط.", "short-name": "المتنقل", "action-open": "إفتح الانتقال السريع", "instruction-navigate": "للتنقل", "instruction-open": "للفتح", "instruction-open-in-new-tab": "للفتح في علامة تبويب جديدة", "instruction-open-to-the-right": "للفتح على اليمين", "instruction-create": "للإنشاء", "instruction-dismiss": "للتجاهل", "instruction-select": "للتحديد", "label-no-note-create-new": "لا توجد ملاحظات. اضغط على Enter لإنشاء واحدة جديدة.", "prompt-type-file-name": "اكتب اسم الملف الذي تريد التنقل إليه أو إنشاؤه...", "label-enter-to-create": "اضغط Enter للإنشاء", "tooltip-not-created-yet": "لم يتم إنشاؤه بعد، حدد للإنشاء", "option-show-existing-only": "عرض الموجود فقط", "option-show-existing-only-description": "هل تريد عرض روابط الملفات التي لم يتم إنشاؤها بعد.", "option-show-attachments": "إظهار المرفقات", "option-show-attachments-desc": "عرض ملفات المرفقات مثل الصور ومقاطع الفيديو وملفات PDF.", "option-show-all-file-types": "عرض جميع أنواع الملفات", "option-show-all-file-types-desc": "عرض جميع الملفات بما في ذلك تلك التي لا يمكن فتحها بواسطة Obsidian. سيتم فتح الملف باستخدام التطبيق الافتراضي لنوع الملف." }, "graph-view": { "name": "العرض البياني", "desc": "شاهد نظرة عامة بواسطة رسم بياني للملاحظات المرتبطة ببعضها البعض", "action-open": "إفتح العرض البياني", "action-open-local": "إفتح العرض البياني المحلي", "action-copy-screenshot": "إنسخ لقطة الشاشة", "tab-title": "عرض بياني لـ {{displayText}}", "label-filters": "تصفية", "prompt-filter-nodes": "ابحث عن ملفات...", "option-depth": "العمق", "option-depth-description": "عرض الروابط البعيدة بعدد هذه الرؤوس", "option-neighbor-links": "الروابط المتجاورة", "option-neighbor-links-description": "إظهار الروابط بين الجيران.", "option-forelinks": "الروابط صادرة", "option-forelinks-description": "إظهار الروابط الصادرة إلى الملفات الأخرى", "option-backlinks": "الروابط واردة", "option-backlinks-description": "إظهار الروابط الواردة من الملفات الأخرى", "option-show-tags": "وسوم", "option-show-tags-description": "ترتبط الوسوم بالملفات التي تحتوي عليها", "option-show-attachments": "مرفقات", "option-show-attachments-description": "إظهار المرفقات المضمنة بواسطة الملفات", "option-show-existing-files-only": "الملفات الموجودة فقط", "option-show-existing-files-only-description": "عند التفعيل، لا يتم عرض الروابط للملفات الغير موجودة", "option-show-orphans": "أيتام", "option-show-orphans-description": "إظهار الملفات الغير مرتبطة بأي ملف آخر", "label-display": "العرض", "option-show-arrows": "الأسهم", "option-show-arrows-description": "إظهار الأسهم عند التكبير", "option-text-fade": "حد تلاشي النص", "option-node-size": "حجم الرأس", "option-link-thickness": "سمك الرابط", "label-forces": "القِوَى", "option-center-force": "قوة الوسط", "option-link-force": "قوة الرابط", "option-link-distance": "مسافة الرابط", "option-repel-force": "قوة الصد", "tooltip-open-graph-settings": "فتح إعدادات العرض البياني", "msg-screenshot-copied": "تم نسخ لقطة الشاشة للحافظة.", "label-groups": "المجموعات", "placeholder-enter-query": "أدخل استعلام...", "tooltip-delete-graph": "حذف المجموعة", "button-new-group": "مجموعة جديدة", "tooltip-click-to-change-drag-to-reorder": "انقر لتغيير اللون \nاسحب لإعادة ترتيب المجموعات", "action-timelapse": "بدء التحريك بفاصل زمني للعرض البياني", "tooltip-start-timelapse-animation": "بدء التحريك بفاصل زمني", "button-animate-timelapse": "تحريك" }, "backlinks": { "name": "الروابط الخلفية", "desc": "إظهار عدد الروابط الخلفية في شريط الحالة.", "action-open": "إفتح الروابط الخلفية", "action-show": "أظهار لوحة الروابط الخلفية", "action-open-for-current": "إفتح الروابط الخلفية الخاصة بالملف الحالي", "action-toggle-backlinks-in-document": "تبديل الروابط الخلفية في مستند", "menu-opt-backlinks-in-document": "الروابط الخلفية في مستند", "label-linked-mentions": "الإشارات المرتبطة", "label-no-backlinks": "لا يوجد روابط خلفية.", "label-unlinked-mentions": "الإشارات الغير مرتبطة", "label-show-search": "إظهار عامل تصفية البحث", "label-link-button-text": "رابط", "tab-title": "روابط خلفية لـ {{displayText}}", "label-no-unlinked-mentions": "لا يوجد إشارات غير مرتبطة.", "ellipsis": "...", "option-backlink-in-document": "روابط خلفية في مستند", "option-backlink-in-document-desc": "إظهار الروابط الخلفية في المستند افتراضيًا عند فتح نوافذ جديدة." }, "outgoing-links": { "name": "روابط صادرة", "desc": "إظهار الروابط الصادرة والكشف عن الروابط غير المرتبطة بالملاحظات الأخرى في الملاحظة الحالية.", "action-open": "إفتح الروابط الصادرة", "action-show": "أظهار لوحة الروابط الصادرة", "action-open-for-current": "إفتح الروابط الصادرة للملف الحالي", "tab-title": "الروابط الصادرة من {{displayText}}", "label-links": "روابط", "label-no-links": "لا يوجد روابط.", "label-unlinked-mentions": "إشارات غير مرتبطة", "tooltip-link-file": "ربط هذا الملف", "tooltip-not-created": "لم يتم إنشاؤه بعد." }, "tag-pane": { "name": "لوحة الوسوم", "short-name": "وسوم", "desc": "يعرض جميع الوسوم الخاصة بك مع عدد مرات ظهورها.", "action-show": "أظهار لوحة الوسوم", "label-no-tags": "تعذر العثور على وسوم.", "label-sort-by-name-a-to-z": "اسم الوسم (أ إلى ي)", "label-sort-by-name-z-to-a": "اسم الوسم (ي إلى أ)", "label-sort-by-frequency-high-to-low": "التكرار (الأكثر إلى الأقل)", "label-sort-by-frequency-low-to-high": "التكرار (الأقل إلى الأكثر)", "action-show-nested-tags": "إعرض الوسوم المتداخلة", "action-collapse-all": "طي الكل", "action-expand-all": "توسيع الكل" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "الحواشي", "desc": "Show a list of footnotes from the current note.", "action-show": "أظهر الحواشي", "label-no-footnotes": "لم يتم العثور على حواشي." }, "properties": { "name": "عرض الخصائص", "desc": "إظهار البيانات الوصفية لملفاتك.", "name-global": "جميع الخصائص", "name-local": "خصائص الملف", "tab-title": "خصائص الملف لـ {{displayText}}", "action-show": "أظهار جميع الخصائص", "action-show-local": "أظهار خصائص الملف", "opt-unassign-type": "إلغاء تعيين النوع", "label-no-properties": "لم يتم العثور على خصائص.", "label-invalid-properties": "خصائص غير صالحة.", "label-sort-by-name-a-to-z": "اسم الخاصية (أ إلى ي)", "label-sort-by-name-z-to-a": "اسم الخاصية (أ إلى ي)", "label-sort-by-frequency-high-to-low": "التكرار (الأكثر إلى الأقل)", "label-sort-by-frequency-low-to-high": "التكرار (الأقل إلى الأكثر)", "msg-merge-properties-warning": "دمج الخاصية “{{oldKey}}” مع “{{newKey}}”؟", "msg-merge-properties-warning-desc": "في حال التعارض, سيتم دمج القيم أو سيتم استخدام القيمة من “{{oldKey}}”.", "action-collapse-all": "طي الكل", "action-expand-all": "توسيع الكل", "action-open-local": "إفتح خصائص الملف", "action-open-daily-note": "إفتح الملاحظات اليومية" }, "page-preview": { "name": "معاينة الصفحة", "desc": "معاينة الملاحظة عند تمرير مؤشر الفأرة فوق رابط داخلي. في وضع المحرر، استعمل Ctrl/Cmd + وحرك مؤشر الفأرة فوق الرابط.", "label-empty-attachment": "لم يتم العثور على “{{linktext}}”.", "label-empty-note": "لم يتم إنشاء \"{{linktext}}\" بعد. انقر لإنشائه.", "label-missing-footote": "الحاشية السفلية {{id}} غير موجودة. أنقر لإنشاء واحدة.", "label-source-editor": "المحرر", "label-source-preview": "معاينة", "label-source-search": "بحث، روابط خلفية، وروابط صادرة", "label-source-tab-header": "Tab header", "label-require-mod": "يتطلب الزر {{key}} لتشغيل عرض معاينة الصفحة عند تمرير مؤشر الفأرة." }, "bookmarks": { "name": "الإشارات المرجعية", "desc": "وضع إشارة مرجعية للملفات وعمليات البحث المستخدمة بشكل متكرر.", "action-show": "أظهار الإشارات المرجعية", "action-collapse-all": "طي الكل", "action-new-bookmark": "أضافة إشارة مرجعية لعلامة التبويب النشطة...", "action-new-group": "مجموعة إشارات مرجعية جديدة", "action-bookmark": "إشاراة مرجعية...", "action-add-bookmark": "أضف إشاراة مرجعية", "action-edit-bookmark": "حرر الإشاراة المرجعية", "action-bookmark-block": "إشاراة مرجعية للكتلة تحت المؤشر...", "action-bookmark-heading": "إشاراة مرجعية للعنوان تحت المؤشر...", "action-bookmark-search": "إشاراة مرجعية للبحث الحالي...", "action-remove-bookmark": "إزالة الإشاراة المرجعية للملف الحالي", "action-bookmark-tab-group": "إشاراة مرجعية لـ {{count}} علامة تبويب...", "action-bookmark-tab-group_plural": "إشاراة مرجعية لـ {{count}} علامات تبويب...", "action-bookmark-all-tabs": "إشاراة مرجعية لكل التبويبات...", "action-bookmark-graph": "إشاراة مرجعية لهذا العرض البياني...", "label-bookmark": "إشاراة مرجعية", "label-bookmarked": "مشارة مرجعيًا", "label-bookmark-with-count": "{{count}} إشارة مرجعية", "label-bookmark-with-count_plural": "{{count}} إشارات مرجعية", "label-no-bookmarks": "تعذر العثور على إشارات مرجعية", "label-invalid-data": "فشل في تحميل الإشارات المرجعية.", "label-invalid-data-desc": "ملف البيانات تالف.", "label-untitled-group": "مجموعة بلا عنوان", "label-untitled-graph": "عرض بياني بلا عنوان", "menu-opt-edit": "تحرير...", "menu-opt-remove": "إزالة", "menu-opt-rename": "إعادة تسمية", "menu-opt-bookmark-block": "إشارة مرجعية على هذه الكتلة...", "menu-opt-bookmark-heading": "إشارة مرجعية لهذا العنوان...", "msg-no-search-query": "لا يوجد استعلام بحث للإشارة المرجعية.", "option-path": "مسار", "option-query": "استعلام", "option-u-r-l": "رابط", "option-title": "عنوان", "option-group": "مجموعات إشارات المرجعية", "placeholder-bookmark-group": "الإشارات المرجعية" }, "custom-css": { "name": "CSS مخصص", "desc": "يقرأ \"obsidian.css\" في الخزنة ويطبقه.", "setting-community-themes": "سمات المجتمع", "msg-fetching-themes": "جلب بيانات سمات المجتمع...", "prompt-filter": "تصفية...", "label-dark-theme-only": "السمات الداكنة فقط", "label-light-theme-only": "السمات الفاتحة فقط", "label-use": "إستخدام", "label-stop-use": "توقف عن استخدام هذه السمة", "label-install-and-use": "تثبيت وإستخدام", "label-update": "تحديث", "label-no-readme": "هذه السمة لم توفر ملف README.", "tooltip-remove-theme": "إزالة السمة", "label-visit-on-github": "زيارة على GitHub", "msg-load-error": "تعذر تحميل سمات المجتمع، يرجى التحقق من الشبكة الخاصة بك.", "msg-now-using-theme": "أنت تستخدم الآن {{title}} كسمة CSS الخاصة بك.", "msg-deleted-theme": "السمة {{title}} تمت إزالتها.", "msg-updated-theme": "السمة {{title}} تم تحديثها.", "label-installed": "تم التثبيت", "label-legacy": "قديم", "button-update-all-themes": "تحديث الكل", "msg-failed-load-themes": "فشل في تحميل سمات المجتمع.", "msg-no-updates-found": "لم يتم العثور على تحديثات للسمات.", "msg-updates-found": "تم العثور على {{count}} سمة للتحديث.", "msg-updates-found_plural": "تم العثور على {{count}} سمة للتحديث.", "msg-failed-to-install-theme": "فشل تثبيت السمة \"{{name}}\".", "msg-successfully-installed-theme": "تم تثبيت السمة \"{{name}}\" بنجاح.", "msg-installing-theme": "جارٍ تثبيت السمة \"{{name}}\"...", "label-search-summary": "يتم إظهار {{themeCount}}:", "label-update-available": "تحديث متاح" }, "command-palette": { "name": "لوحة الأوامر", "desc": "اكتب الأمر لتنفيذه. لا حاجة لاستخدام واجهة المستخدم أو تذكر الاختصار.", "action-open": "إفتح لوحة الأوامر", "instruction-navigate": "للتنقل", "instruction-use": "للاستخدام", "instruction-dismiss": "للإلغاء", "label-no-commands": "لم يتم العثور على أوامر.", "prompt-type-command": "اكتب أمر...", "label-pinned-commands": "الأوامر المثبتة", "option-add-new-pin": "تثبيت أمر جديد", "option-add-new-pin-description": "ستظهر الأوامر المثبتة في قمة قائمة الأوامر عند عدم وجود استعلام بحث." }, "markdown-format-importer": { "name": "مستورد تنسيق Markdown", "desc": "يحول تنسيق Markdown من تطبيقات أخرى إلى تنسيق Obsidian.", "action-open": "إفتح مستورد Markdown", "option-roam-tag-fixer": "معالج وسوم Roam Research", "option-roam-tag-fixer-description": "تحويل \"#tag\" و \"#[[tag]]\" إلى \"[[tag]]\".", "option-roam-highlight-fixer": "محرر تظليل Roam Research", "option-roam-highlight-fixer-description": "تحويل \"^^highlight^^\" إلى \"==highlight==\".", "option-roam-todo-converter": "محول قائمة مهام Roam Research", "option-roam-todo-converter-description": "تحويل \"{{[[TODO]]}}\" إلى \"[ ]\".", "option-bear-highlight-fixer": "معالج تظليل Bear", "option-bear-highlight-fixer-description": "تحويل \"::highlight::\" إلى \"==highlight==\".", "zettelkasten-link-fixer": "معالج روابط Zettelkasten", "zettelkasten-link-fixer-description": "يعالج الروابط من \"[[UID]]\" إلى \"[[UID File Name|File Name]]\".", "zettelkasten-link-beautifier": "مُحسن روابط Zettelkasten", "zettelkasten-link-beautifier-description": "يعالج الروابط من \"[[UID]]\" ويحسنها إلى \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "تحذير: سيتم تحويل جميع الملفات في المجلد، وليس الملف الحالي فقط.", "msg-override-files-warning": "سيتم استبدال ملفاتك. احرص على عمل نسخ احتياطية من جميع ملفاتك قبل محاولة التحويل.", "label-start-conversion": "إبدء التحويل", "label-stop": "إيقاف", "label-go-back": "عودة للخلف", "label-done": "تم", "label-processing": "جارٍ المعالجة...", "label-cancelling": "جارٍ الإلغاء...", "label-finished": "تم الانتهاء!", "label-processed-files": "الملفات المعالجة", "label-modified-files": "الملفات المعدلة", "label-total-replacements": "إجمالي الاستبدالات", "label-failed": "Failed" }, "daily-notes": { "name": "الملاحظات اليومية", "desc": "افتح ملاحظة اليوم، أو أنشئ واحدة إذا لم تكن موجودة.", "short-name": "اليوم", "action-open": "إفتح ملاحظة اليوم", "action-open-previous": "إفتح ملاحظة اليوم السابق", "action-open-next": "إفتح ملاحظة اليوم التالي", "action-insert-text": "أدراج نص في الملاحظة اليومية", "action-insert-link": "أدراج رابط في الملاحظة اليومية", "msg-fail-format": "فشل إنشاء الملاحظة اليومية. \"{{format}}\" ليس تنسيقًا صالحًا.", "msg-fail-folder": "فشل إنشاء الملاحظة اليومية. المجلد \"{{folderOption}}\" غير موجود.", "msg-fail-template-file": "فشل إنشاء الملاحظة اليومية. ملف القالب \"{{template}}\" غير موجود.", "msg-no-previous": "لا توجد ملاحظة يومية قبل هذه الملاحظة.", "msg-no-next": "لا توجد ملاحظة يومية بعد هذه الملاحظة.", "option-date-format": "تنسيق التاريخ", "label-refer-to-syntax": "للحصول على المزيد من الصيغ، راجع: ", "label-syntax-link": "مرجع التنسيق", "label-syntax-live-preview": "سيبدو التنسيق بهذا الشكل: ", "option-new-file-location": "موقع الملف الجديد", "option-new-file-location-description": "حدد مسار المجلد لإنشاء الملاحظة اليومية الجديدة فيه.", "option-template": "موقع ملف القالب", "option-template-description": "مسار ملف ما لاستخدامه كقالب.", "option-open-on-start": "فتح الملاحظة اليومية عند بدء البرنامج", "option-open-on-start-description": "فتح ملاحظتك اليومية تلقائيًا في كل مرة تفتح فيها هذه الخزنة." }, "unique-note-creator": { "name": "مُنشئ الملاحظات الفريدة", "desc": "إنشاء ملاحظات بطابع زمني فريد، لعمليات سير العمل مثل zettelkasten أو Slip Box.", "short-name": "فريد", "action-create-note": "أنشاء ملاحظة فريدة جديدة", "action-add-link": "Add unique internal link", "option-new-file-location": "موقع الملف الجديد", "option-new-file-location-description": "حدد مسار المجلد لإنشاء الملاحظة الفريدة الجديدة فيه.", "msg-folder-not-found": "فشل إنشاء ملاحظة فريدة. المجلد \"{{folderOption}}\" غير موجود.", "option-template-file": "موقع ملف القالب", "option-template-file-description": "مسار ملف ما لاستخدامه كقالب.", "option-template-file-placeholder": "مثال: مجلد 1/ملاحظة", "option-id-format": "تنسيق البادئة الفريدة", "msg-template-file-not-found": "فشل إنشاء ملاحظة فريدة. ملف القالب \"{{template}}\" غير موجود.", "msg-failed-to-generate": "فشل توليد ملاحظة فريدة بتنسيق \"{{format}}" }, "random-note": { "name": "ملاحظة عشوائية", "desc": "فتح ملاحظة عشوائية. مفيد للمراجعة والاكتشاف.", "short-name": "عشوائي", "action-open": "إفتح ملاحظة عشوائية" }, "outline": { "name": "المخطط التفصيلي", "desc": "يعرض المخطط التفصيلي للملف الحالي أو الأجزاء المرتبطة به.", "action-open": "إفتح المخطط التفصيلي", "action-show": "أظهار لوحة المخطط التفصيلي", "action-open-for-current": "إفتح المخطط التفصيلي للملف الحالي", "tab-title": "المخطط التفصيلي لـ {{displayText}}", "label-no-headings": "لا يوجد عناوين.", "label-follow-cursor": "دحرجة تلقائية للقسم الحالي" }, "word-count": { "name": "عدّاد الكلمات", "desc": "إظهار عدد الكلمات في شريط الحالة." }, "slides": { "name": "الشرائح", "desc": "عمل عرض تقديمي باستخدام Markdown. استعمل \"---\" لفصل الشرائح.", "action-start": "إبدء العرض التقديمي" }, "audio-recorder": { "name": "مسجل الصوت", "desc": "تسجيل الصوت وحفظه كمرفق.", "action-start": "إبدء تسجيل الصوت", "action-stop": "أوقف تسجيل الصوت", "action-toggle": "بدء/إيقاف التسجيل", "msg-access-denied": "تم رفض الوصول إلى الميكروفون، يرجى تمكين الوصول من خلال لوحة التفضيلات.", "msg-pending-grant": "يرجى منح إذن الميكروفون لبدء التسجيل.", "msg-no-microphone": "لا يوجد ميكروفون متصل." }, "open-with-default-app": { "name": "فتح في التطبيق الافتراضي", "desc": "إضافة زر لفتح الملف الحالي في التطبيق الافتراضي.", "action-open-file": "إفتح في التطبيق الافتراضي", "action-open-file-mobile": "مشاركة", "action-show-in-folder": "إعرض في المجلد", "action-show-in-folder-mac": "الكشف عن الملف في Finder" }, "templates": { "name": "القوالب", "desc": "إدراج محتوى القالب من مجلد القوالب.", "action-insert": "أدرج قالب", "action-insert-current-date": "أدرج التاريخ الحالي", "action-insert-current-time": "أدرج الوقت الحالي", "option-template-folder-location": "موقع مجلد القوالب", "option-template-folder-location-description": "الملفات الموجودة في هذا المجلد سيتم استعمالها كقوالب.", "option-template-date-format": "تنسيق التاريخ", "option-template-date-format-description": "سيتم استبدال {{date}} في ملف القالب بهذه القيمة.", "option-template-date-format-description2": "يمكنك أيضًا استخدام {{date:YYYY-MM-DD}} لتجاوز هذا التنسيق.", "option-template-time-format": "تنسيق الوقت", "option-template-time-format-description": "سيتم استبدال {{time}} في ملف القالب بهذه القيمة.", "option-template-time-format-description2": "يمكنك أيضًا استخدام {{time:HH:mm}} لتجاوز هذا التنسيق.", "instruction-navigate": "للتنقل", "instruction-insert": "لإدراج قالب", "instruction-dismiss": "للتجاهل", "msg-no-templates-found": "لم يتم العثور على قوالب", "msg-fail-invalid-folder": "فشل في سرد القوالب. مجلد القوالب غير صالح.", "msg-fail-folder-not-found": "فشل في سرد القوالب. المجلد \"{{folderOption}}\" غير موجود.", "msg-fail-invalid-template-properties": "لا يمكن إدراج القالب، الخصائص الموجود في ملف القالب لا يمكن قراءتها.", "msg-no-folder-set": "فشل في سرد القوالب. لم يتم تكوين مجلد القالب.", "prompt-type-template": "اكتب اسم القالب..." }, "translucency": { "name": "نافذة شفافة", "desc": "تشغيل تأثير الشفافية لتعزيز الإحساس بالعمق. يستخدم بشكل أفضل مع الوضع الداكن. غير مدعوم على لينكس." }, "slash-command": { "name": "أوامر الشرطة المائلة", "desc": "يمكنك هذا الخيار من تشغيل أوامر في المحرر مباشرة عن طريق كتابة شرطة مائلة." }, "editor-status": { "name": "حالة المحرر", "desc": "إضافة شريط الحالة، لإظهار وضع المحرر الحالي وتغييره.", "read": "وضع القراءة", "edit-source": "وضع المصدر", "edit-live-preview": "المعاينة المباشرة" }, "publish": { "name": "النشر", "desc": "نشر ملاحظاتك من خلال خدمة Obsidian Publish.", "action-publish-changes": "أنشر التغييرات...", "action-publish-file": "أنشر الملف الحالي", "label-no-internet-access": "تحتاج إلى الوصول إلى الإنترنت لنشر التغييرات.", "label-publish-service-description": "Obsidian Publish هي خدمة مدفوعة إضافية تتيح لك نشر ملاحظاتك عبر الإنترنت مباشرةً من Obsidian.", "label-please-login": "للبدء في النشر، يرجى تسجيل الدخول أو إنشاء حساب Obsidian جديد.", "label-no-publish-subscription": "ليس لديك اشتراك Obsidian Publish بعد.", "button-purchase": "شراء", "label-manage-sites": "إدارة المواقع", "label-no-sites": "ليس لديك أي مواقع", "button-choose": "إختر", "tooltip-edit-site-id": "تعديل معرف الموقع", "tooltip-delete-site": "حذف الموقع", "label-delete-site-confirmation": "هل أنت متأكد من رغبتك في حذف هذا الموقع؟", "label-delete-site-details": "سيتم حذف الموقع الخاص بك على الفور وبشكل دائم.", "label-confirm-delete-site": "تأكيد حذف الموقع \"{{site}}\"", "option-site-id": "معرف الموقع", "option-site-id-description": "سيكون موقعك على https://publish.obsidian.md/{site id}. يمكنك تغيير هذا لاحقًا. يُسمح فقط باستخدام الأحرف الصغيرة والأرقام والشرطات.", "option-site-id-placeholder": "اختر معرفًا للموقع", "button-create": "إنشاء", "msg-invalid-site-id": "معرف الموقع يمكن أن يحتوي فقط على الأحرف الصغيرة والأرقام والشرطات.", "msg-site-id-in-use": "معرّف الموقع قيد الاستخدام، يرجى تجربة معرّف آخر.", "msg-create-site-issue": "كانت هناك مشكلة عند إنشاء موقعك.", "label-site-options": "خيارات الموقع", "option-site-general": "عام", "option-site-components": "المكونات", "option-site-appearance": "المظهر", "option-site-reading-experience": "تجربة القراءة", "option-site-misc": "إعدادات الموقع الأخرى", "option-site-name": "اسم الموقع", "option-site-name-description": "اسم موقعك المنشور. سيظهر في عنوان الصفحة الخاصة بموقعك.", "option-site-name-placeholder": "اسم موقعك", "option-home-page-file": "ملف الصفحة الرئيسية", "option-home-page-file-description": "أول صفحة يراها المستخدم عند الهبوط على موقعك المنشور", "option-home-page-file-placeholder": "اختر ملفًا منشورًا", "option-logo": "شعار", "option-logo-description": "اختر ملف الصورة كشعار لموقعك.", "option-logo-placeholder": "أي صورة تم تحميلها في الخزنة الخاصة بك...", "option-site-collaboration": "تعاون الموقع", "option-site-collaboration-desc": "إدارة المتعاونين لهذا الموقع.", "option-customize-navigation": "تخصيص التنقل", "option-customize-navigation-desc": "تجاوز ترتيب عناصر التنقل وإخفاء الصفحات أو المجلدات من العرض.", "option-navigation-order": "ترتيب عرض عناصر التنقل", "option-hide-items-in-navigation": "إخفاء صفحات أو مجلدات من التنقل", "option-hide-items-in-navigation-desc": "انقر بزر الماوس الأيمن وحدد \"إخفاء\" لمنع الصفحات المحددة من الظهور في التنقل داخل الموقع. ستظل الصفحات متاحة عن طريق الروابط أو الوصول إليها مباشرةً عن طريق عنوان URL.", "option-show-hidden-items": "أظهر المخفي", "button-customize-sidebar": "إدارة", "label-navigation-modal-title": "التنقل", "label-navigation-modal-desc": "سحب وإسقاط لتخصيص ترتيب عرض عناصر التنقل في موقع النشر الخاص بك.", "option-hide-in-navigation": "إخفاء في التنقل", "button-manage-collaborators": "إدارة", "option-theme": "السمة", "option-theme-description": "اختر مخطط الألوان الافتراضي لموقعك.", "option-theme-system": "تكيف مع النظام", "option-show-theme-toggle": "تبديل فاتح/داكن", "option-show-theme-toggle-description": "السماح للزائر بالتبديل بين السمة الفاتحة والداكنة بمفرده.", "option-show-navigation": "إظهار التنقل", "option-show-navigation-description": "عرض قائمة بجميع الصفحات المنشورة على الجانب الأيسر من موقعك المنشور.", "option-show-search": "عرض شريط البحث", "option-show-search-description": "عرض شريط البحث في أعلى القائمة الجانبية الذي يسمح للزائرين بالبحث في الصفحات والعناوين على موقعك.", "option-show-graph": "إظهار العرض البياني المحلي", "option-show-graph-description": "عرض بياني صغير على كل صفحة.", "option-show-outline": "إظهار جدول المحتويات", "option-show-outline-description": "إظهار مخطط لعناوين كل صفحة.", "option-show-backlinks": "عرض الروابط النصية", "option-show-backlinks-description": "إظهار قسم الروابط النصية في نهاية كل صفحة.", "option-sliding-window-mode": "استخدام النوافذ المنزلقة", "option-sliding-window-mode-description": "فتح الصفحات في نوافذ جديدة على اليمين. يسمح بالتمرير عبر النوافذ أفقياً.", "option-hover-preview-file": "إظهار معاينة التمرير", "option-hover-preview-file-description": "عرض معاينة الصفحة عند التمرير بالماوس على الروابط.", "option-hide-title": "إخفاء عنوان الصفحة", "option-hide-title-description": "إخفاء عنوان الصفحة. مفيد عندما تكون لديك عناوين خاصة بك في بداية كل صفحة.", "option-readable-line-length": "طول السطر المقروء", "option-readable-line-length-description": "تحديد الحد الأقصى لطول السطر. يناسب محتوى أقل على الشاشة ويجعل الفقرات الطويلة قابله قراءةً.", "option-site-password": "كلمات المرور", "option-site-password-description": "تقييد الوصول إلى موقعك بكلمات مرور.", "option-google-analytics": "رمز تتبع إحصاءات Google", "option-google-analytics-description": "تهيئة إحصاءات Google لموقعك. متاح فقط للزوار من عنوان URL النطاق المخصص الخاص بك. يرجى التحقق أولاً من القوانين واللوائح المحلية.", "button-manage-passwords": "إدارة", "button-save-site-settings": "حفظ إعدادات الموقع", "msg-updated-options": "خيارات محدثة لموقعك.", "button-go-back": "رجوع", "label-publishing-to": "النشر إلى", "tooltip-switch-site": "تبديل الموقع", "button-add-linked": "إضافة المرتبط", "tooltip-add-linked": "إضافة جميع الملفات التي تم ربطها بالعناصر المحددة حاليًا.", "msg-added-linked-files": "تمت إضافة {{count}} ملف مرتبط.", "msg-added-linked-files_plural": "تمت إضافة {{count}} ملف مرتبط.", "tooltip-open-site-options": "تغيير خيارات الموقع", "label-no-changes-detected": "لم يتم اكتشاف أي تغييرات.", "label-changed-files-to-be-published": "التغييرات", "label-unchanged-files-already-published": "بدون تغيير (حدد للحذف)", "label-file-selected": " محدد", "button-select-all-files": "تحديد الكل", "label-custom-navigation-title": "عناصر التنقل", "button-deselect-all-files": "إلغاء تحديد الكل", "label-new-files-to-be-published": "جديد", "button-publish": "نشر", "msg-no-permission-to-publish-to-site": "ليس لديك الإذن للنشر على الموقع الحالي.", "msg-select-at-least-one-file": "يرجى تحديد ملف واحد على الأقل.", "label-upload-changes": "رفع التغييرات", "button-done": "تم", "button-stop": "إيقاف", "label-status-uploading": "جارٍ الرفع", "label-status-to-publish": "للنشر", "label-status-to-delete": "للحذف", "label-status-published": "تم النشر", "label-status-deleted": "تم الحذف", "label-status-failed": "فشل", "label-status-cancelled": "أُلغي", "button-change": "تغيير", "label-clear-cache": "يستغرق ظهور التغييرات على موقعك عدة دقائق. إذا لم ترى أحدث التغييرات الخاصة بك ، فيرجى محاولة مسح ذاكرة التخزين المؤقت في متصفحك.", "label-visit-site": "يمكنك زيارة موقعك هنا: ", "msg-something-went-wrong": "حدث خطأ ما. يرجى التحقق من وحدة التحكم للمطور للحصول على التفاصيل.", "msg-network-error": "حدث خطأ في الشبكة. ", "label-manage-passwords": "إدارة كلمات المرور", "label-add-password": "إضافة كلمة مرور", "action-new-password": "كلمة مرور جديدة", "label-no-password": "لا يوجد كلمات مرور حاليًا لموقعك. يمكن لأي شخص زيارته.", "label-have-password": "موقعك محمي بكلمة مرور. إذا كان لديك عدة كلمات مرور، يمكن للزوار الوصول إلى موقعك عن طريق إدخال أي منها.", "option-password-name": "كلمة المرور", "option-password-desc": "سيتم تخزين تجزئة كلمة المرور الخاصة بك بأمان. بمجرد تعيين كلمة المرور، لا يمكن الكشف عنها على شكل نص عادي.", "option-password-placeholder": "كلمة المرور الخاصة بك", "option-nickname-name": "اللقب (اختياري)", "option-nickname-desc": "ضع لقبًا لتذكير نفسك بما أو من تتعلق كلمة المرور.", "action-add-password": "أضف كلمة المرور هذه", "label-untitled-password": "كلمة مرور بدون عنوان", "label-password-created-time": "تم إنشاؤه {{time}}", "msg-added-new-password": "تمت إضافة كلمة مرور جديدة.", "option-custom-domain": "نطاق مخصص", "option-custom-domain-desc": "استخدم نطاقك الخاص بدلاً من https://publish.obsidian.md/{site id} URL.", "option-noindex": "عدم السماح بفهرسة محرك البحث", "option-noindex-desc": "منع محركات البحث من فهرسة موقعك.", "button-configure": "تهيئة", "label-configure-custom-domain": "تهيئة النطاق المخصص", "option-custom-url-name": "رابط مخصص", "option-custom-url-desc": "عنوان URL الذي سيتم تحديد موقع موقعك عليه.", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "إعادة توجيه إلى النطاق المخصص الخاص بك", "option-custom-url-redirect-desc": "إعادة توجيه الزائرين من publish.obsidian.md/id إلى النطاق المخصص الخاص بك.", "button-update-custom-domain": "تحديث إعدادات النطاق", "label-custom-domain-instructions": "يرجى الرجوع إلى {{link}} على موقع المساعدة لدينا للمزيد من المعلومات.", "label-custom-domain-link-name": "دليل إعداد النطاق المخصص", "label-site-usage": "تستخدم {{site}} من أصل {{limit}} المتاحة لديك.", "button-add-more-sites": "شراء المزيد من المواقع", "label-no-sites-bought": "لم تقم بشراء أي مواقع بعد.", "button-get-site": "احصل على موقع", "label-manage-sharing": "إدارة المشاركة لـ \"{{name}}\"", "label-sharing-with-users": "يتم مشاركة هذا الموقع حاليًا مع الأشخاص التالية.", "label-not-sharing": "هذا الموقع لم يتم مشاركته حاليًا مع أي شخص.", "label-invite-pending": "معلق", "tooltip-remove-user": "إزالة مستخدم", "option-invite-user": "دعوة مستخدم", "placeholder-invite-user": "أدخل بريدهم الإلكتروني...", "error-email-must-be-valid": "يرجى إدخال بريد إلكتروني صحيح لدعوة شخص ما.", "msg-enable-publish-plugin": "يرجى تمكين إضافة النشر الأساسية في الإعدادات -> الإضافات الأساسية لعرض المواقع.", "label-your-sites": "مواقعك", "label-sites-shared-with-you": "المواقع المشاركة معك", "tooltip-leave-site-sharing": "إيقاف التعاون على هذا الموقع", "label-leave-site-confirmation": "تأكيد إيقاف تعاون الموقع", "label-leave-site-confirmation-details": "سيؤدي هذا إلى إزالة هذا الموقع من قائمة المواقع المشتركة معك. لا يمكن عكس هذا الإجراء.", "label-leave-site-confirmation-details-2": "من فضلك تواصل مع مالك الموقع إذا كنت ترغب في التعاون على هذا الموقع مرة أخرى.", "button-leave": "مغادرة", "label-compare-with-live": "قارن مع النسخة المباشرة", "button-use-live-version": "استخدم النسخة المباشرة", "label-confirm-override": "تأكيد استبدال النسخة المحلية", "label-confirm-override-1": "هل أنت متأكد من أنك تريد استبدال النسخة المحلية؟", "label-confirm-override-2": "سيتم استخدام النسخة المباشرة وسيتم تجاهل النسخة المحلية. يرجى إنشاء نسخ احتياطية إذا لزم الأمر.", "button-proceed": "متابعة", "message-successfully-used-live-version": "تم استخدام النسخة المباشرة بنجاح لاستبدال النسخة المحلية.", "label-open-in-live-site": "Open in live site", "label-open-file": "فتح ملف", "tooltip-manage-publish-filters": "إدارة تصفية النشر", "option-included-folders": "المجلدات المضمنة", "option-included-folders-desc": "ستتم اختيار الملفات تلقائياً داخل هذه المجلدات عند مراجعة التغييرات للنشر.", "option-currently-included-folders": " المجلدات التالية مضمنة حاليًا:", "option-excluded-folders": "المجلدات المستبعدة", "option-excluded-folders-desc": "لن تظهر الملفات داخل هذه المجلدات عند مراجعة التغييرات التي تم إجراؤها على النشر. تأخذ هذه الإعدادات الأولوية على المجلدات المضمنة أعلاه.", "label-number-of-folders-included": "خدمة نشر Obsidian تتضمن حاليًا {{folders}}.", "label-number-of-folders-excluded": "خدمة نشر Obsidian تستبعد حاليًا {{folders}}.", "label-manage-included-folders": "إدارة المجلدات المضمنة", "label-manage-excluded-folders": "إدارة المجلدات المستبعدة", "label-add-included-folder": "تضمين مجلد", "label-add-included-folder-desc": "يمكنك تضمين المجلدات الموجودة بالفعل والمجلدات التي لم يتم إنشاؤها بعد.", "tooltip-contact-support": "الاتصال بالدعم", "label-navigation-preview": "معاينة التنقل" }, "workspaces": { "name": "مساحات العمل", "desc": "حفظ وتحميل تخطيط مساحة العمل.", "action-load-layout": "حمل تخطيط مساحة العمل", "action-manage-layouts": "أدر تخطيطات مساحات العمل", "action-save": "إحفظ التخطيط", "action-save-and-load-layout": "إحفظ وحمل تخطيط آخر", "placeholder-save-current-layout-as": "حفظ تخطيط مساحة العمل الحالي باسم...", "button-save": "حفظ", "button-load": "تحميل", "tooltip-delete-layout": "حذف التخطيط", "msg-enter-name": "الرجاء إدخال اسم للتخطيط الجديد.", "msg-save-layout-success": "تم حفظ التخطيط بنجاح.", "label-no-layout-found": "لم يتم العثور على أي تخطيط محفوظ.", "label-workspace-modified-time": "تم تعديله في {{time}}", "placeholder-type-to-search-layouts": "أدخل اسم التخطيط..." }, "sync": { "name": "المزامنة", "desc": "مزامنة الملفات عبر خدمة Obsidian Sync.", "action-view-version-history": "أظهار سجل الإصدارات", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "إفتح سجل الإصدار", "action-view-sync-sidebar": "أظهار سجل المزامنة", "action-activity-log": "إفتح سجل النشاط", "label-load-more": "تحميل المزيد", "label-show-diff": "إظهار الإختلافات", "label-copy-to-clipboard": "نسخ للحافظة", "label-restore-this-version": "استعادة هذا الإصدار", "msg-already-latest-version": "هذا الإصدار هو بالفعل آخر إصدار.", "msg-restored-version": "تم استعادة الإصدار بنجاح منذ {{time}}.", "label-file-deleted": "تم حذف هذا الملف", "label-file-deleted-via": " تم حذفه عن طريق {{ device }}", "label-file-renamed-from": "تمت إعادة تسمية هذا الملف من \"{{filepath}}\"", "label-file-renamed-from-to": "تمت إعادة التسمية من “{{from}}” إلى “{{to}}”", "label-file-moved-from": "تم النقل من “{{from}}”", "label-file-moved-from-to": "تم النقل من “{{from}}” إلى “{{to}}”", "label-revision": "مراجعة واحدة", "label-revision_plural": "{{revisions}} مراجعات", "label-via-device": "بواسطة {{device}}", "label-no-history": "لا يوجد سجل مزامنة لهذا الملف.", "label-empty-file": "فارغ", "label-unable-to-retrieve": "غير قادر على استرداد محفوظات الإصدار", "label-setting-files": "إعداد الملفات", "label-deleted-files": "الملفات المحذوفة", "label-version-history": "سجل الإصدارات", "label-click-to-see-history": "انقر على ملف محذوف لرؤية تاريخه.", "label-create-remote-vault": "إنشاء خزنة عن بُعد", "msg-please-enter-password": "يرجى إدخال كلمة مرور.", "msg-vault-name-cannot-be-empty": "لا يمكن ترك اسم الخزنة فارغًا.", "msg-successfully-created-vault": "تم إنشاء خزنة عن بُعد بنجاح \"{{name}}\".", "label-remote-vault-explanation": "الخزنات عن بُعد تتزامن بالخزنة الخاصة بك بشكل آمن بين الأجهزة.", "option-vault-name": "اسم الخزنة", "option-vault-name-desc": "يساعد على تذكر غرض هذا الخزنة.", "option-vault-region": "المنظقة", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "حدد منطقة الخادم الأقرب إليك لتخزين الخزنة البعيدة. لا يمكن تغيير هذا في المستقبل.", "option-vault-name-placeholder": "الخزنة الخاصة بي رائعة", "option-encryption": "تعمية", "option-encryption-desc": "توفر التعمية بين الطرفين أقوى مستوى من الأمان ولكنه يتطلب منك تخزين كلمة مرور التعمية الخاصة بك بأمان. تستخدم التعمية العادية مفتاحًا يديره Obsidian لحماية بياناتك أثناء النقل وعلى خوادمنا.", "option-encryption-warning": "هذا الخيار لا يمكن تغييره لاحقًا.", "option-encryption-end-to-end": "تعمية بين الطرفين", "option-encryption-standard": "تعمية عادية", "option-encryption-password": "كلمة المرور للتعمية", "option-encryption-password-desc": "لا يمكن تغيير كلمة المرور هذه لاحقًا.", "option-encryption-password-desc-warning": "إذا نسيت كلمة المرور هذه، سيتعذر استخدام أي بيانات عن بُعد للأبد.", "option-encryption-password-desc-2": "لا يؤثر هذا على البيانات المحلية.", "label-encryption-password-explanation": "الخزنة البعيدة “{{name}}” مشفرة حاليًا. أدخل كلمة المرور لفك القفل.", "option-encryption-password-placeholder": "كلمة المرور الخاصة بك", "label-unlock-encrypted-vault": "فك قفل خزنتك البعيدة", "button-unlock-vault": "إلغاء قفل الخزنة", "label-remote-vaults": "الخزنات الخاصة بك عن بُعد", "label-vault-created-time": "تم الإنشاء {{time}}", "tooltip-delete-remote-vault": "حذف", "tooltip-rename-remote-vault": "اعادة التسمية", "label-rename-remote-vault": "اعد تسمية خزنة بعيدة \"{{name}}\"", "label-rename-remote-vault-desc": "أدخل اسمًا جديدًا لهذا الخزنة البعيدة.", "tooltip-manage-sharing": "إدارة المشاركة", "label-confirm-delete-remote-vault": "تأكيد حذف الخزنة", "label-confirm-delete-remote-vault-question": "هل أنت متأكد من رغبتك في حذف الخزنة عن بُعد هذا؟", "label-confirm-delete-remote-vault-result": "سيتم حذف جميع البيانات على الخادم الخاص بنا، بما في ذلك سجل الإصدار، وستبقى ملفاتك المحلية سليمة.", "label-confirm-delete-remote-vault-warning": "هذا الإجراء دائم ولا يمكن التراجع عنه.", "msg-remote-vault-deleted": "تم حذف {{name}}.", "msg-disconnect-from-deleted-vault": "خدمة مزامنة Obsidian: لم يعد الخزنة البعيدة المتصلة موجودة.", "button-connect-to-remote-vault": "اتصال", "button-disconnect-from-remote-vault": "قطع الاتصال", "label-sync-status": "مزامنة: {{status}}", "label-not-remote-vaults": "ليس لديك أي خزنة عن بُعد.", "label-no-subscription": "ليس لديك اشتراك Obsidian Sync نشط.", "label-please-visit": "الرجاء الإنتظار", "label-preview-unsupported-file-type": "غير قادة على معاينة ملفات {{type}}.", "button-create-new-remote-vault": "إنشاء خزنة جديدة", "label-sync-log": "سجل المزامنة", "option-event-type-all": "الكل", "option-event-type-errors": "الأخطاء", "option-event-type-skipped": "تم تخطيه", "option-event-type-merge-conflicts": "إدمج المتعارض", "button-copy-sync-log": "نسخ سجل المزامنة", "msg-successfully-copied-sync-log": "تم النسخ بنجاح لسجل المزامنة.", "button-retry": "إعادة المحاولة", "button-purchase-subscription": "شراء", "label-third-party-sync-warning": "تم اكتشاف خدمة مزامنة الملفات المتعارضة", "label-third-party-sync-warning-desc": "تحذير: يبدو أن خزنتك تستخدم {{service}} كخدمة مزامنة من جهة خارجية. إذا استخدمت Obsidian Sync مع هذا الخزنة، فقد تواجه تعارضات، فساد الملفات أو فقدان البيانات.", "label-icloud-drive-warning": "إذا كنت تستخدم iCloud Drive، فقد يتم مزامنة مجلدات الوثائق وسطح المكتب الخاصة بك عبر iCloud. قد يتسبب هذا تعارض مع Obsidian Sync.", "option-remote-vault": "خزنة عن بُعد", "button-choose-remote-vault": "اختيار", "button-manage-remote-vault": "إدارة", "option-remote-vault-desc-connected": "متصل حاليًا بالخزنة \"{{name}}\" عن بُعد.", "option-remote-vault-desc-not-connected": "غير متصل حاليًا بأي خزنة عن بُعد.", "option-sync-status": "حالة المزامنة", "option-sync-status-desc-paused": " خدمة مزامنة Obsidian متوقفة.", "option-sync-status-desc-running": "خدمة مزامنة Obsidian تعمل.", "option-device-name": "اسم الجهاز", "option-device-name-desc": "سيتم عرض هذا الاسم في سجل المزامنة. اتركه فارغًا لاستخدام الاسم الافتراضي.", "button-resume": "استئناف", "button-pause": "إيقاف مؤقت", "option-view-deleted-files": "الملفات المحذوفة", "option-view-deleted-files-desc": "عرض واستعادة الملفات المحذوفة.", "option-sync-log": "نشاط المزامنة", "option-sync-log-desc": "عرض أحدث الأنشطة في المزامنة لأغراض تصحيح الأخطاء.", "button-view": "عرض", "button-bulk-restore": "استعادة مجمعة ", "button-restore-files_zero": "استعادة الملفات", "button-restore-files": "استعادة {{count}} ملف", "button-restore-files_plural": "استعادة {{count}} ملفات", "msg-restoring": "جارٍ الاستعادة...", "msg-restoring-complete": "`اكتملت الاستعادة: {{succeeded}} نجح و {{failed}} فشل.`", "option-vault-size": "حجم الخزنة", "option-vault-size-desc": "أنت تستعمل {{size}} من أصل {{limit}}", "option-vault-size-unknown": "غير قادر على استرداد حجم الخزنة الخاص بك.", "option-vault-size-loading": "استرداد حجم الخزنة الخاص بك...", "option-over-size": "مساحة الخزنة تتجاوز الحد المسموح به", "option-almost-over-size": "حجم الخزنة قارب إلى الحد الأقصى", "msg-largest-files": "عرض أكبر الملفات", "msg-largest-files-desc": "هذه هي الملفات عن بُعد التي تأخذ أكبر مساحة. بعد حذف المرفقات، استخدم زر المحو لتحرير مساحة الخزنة عن بُعد.", "button-upgrade-storage": "ترقية التخزين", "button-purge-remote": "تطهير", "button-hide-my-changes": "أخفِ تغييراتي", "tooltip-purge-remote": "تطهير المرفقات المحذوفة بشكل دائم من الخزنة عن بُعد لتوفير المساحة.", "msg-purge-complete": "اكتمال تطهير..", "option-prevent-sleep": "منع سكون الجهاز", "option-prevent-sleep-desc": "يمنع الجهاز من الذهاب إلى وضع السكون عندما لا تزال هناك ملفات يتعين مزامنتها.", "option-selective-sync": "المزامنة الانتقائية", "option-excluded-folders": "المجلدات المستثناة", "option-excluded-folder-desc": "منع بعض المجلدات من التزامن.", "option-currently-excluded-folders": " هذه المجلدات مستثناة حالياً:", "button-manage-excluded-folders": "إدارة", "option-sync-image": "مزامنة الصور", "option-sync-image-desc": "مزامنة ملفات الصور بهذه الامتدادات: {{extensions}}.", "option-sync-audio": "مزامنة الصوت", "option-sync-audio-desc": "مزامنة ملفات الصوت بهذه الامتدادات: {{extensions}}..", "option-sync-video": "مزامنة الفيديو", "option-sync-video-desc": "مزامنة ملفات الفيديو بهذه الامتدادات: {{extensions}}.", "option-sync-pdf": "مزامنة ملفات PDF", "option-sync-pdf-desc": "مزامنة ملفات PDF.", "option-sync-unsupported": "مزامنة جميع الأنواع الأخرى", "option-sync-unsupported-desc": "مزامنة أنواع الملفات التي لا يتم دعمها.", "option-vault-config-sync": "مزامنة تهيئة الخزنة", "option-view-config-files": "سجل إصدار الإعدادات", "option-view-config-files-desc": "عرض واستعادة سجل إصدار ملفات الإعدادات.", "option-sync-app": "الإعدادات الرئيسية", "option-sync-app-desc": "تمكين مزامنة إعدادات المحرر ,إعدادات الملفات والروابط، اختصارات لوحة المفاتيح المخصصة، إلخ.", "option-sync-appearance": "إعدادات المظهر", "option-sync-appearance-desc": "مزامنة إعدادات المظهر مثل الوضع الداكن، السمة النشطة والمقتطفات الممكّنة.", "option-sync-appearance-data": "السمات والمقتطفات", "option-sync-appearance-data-desc": "تزامن القوالب ومقتطفات النصوص التي تم تحميلها. سيتم تمكينها أو تعطيلها بناءً على الإعداد السابق.", "option-sync-hotkey": "اختصارات لوحة المفاتيح", "option-sync-hotkey-desc": "مزامنة اختصارات لوحة المفاتيح المخصصة.", "option-sync-core-plugin": "قائمة الملحقات الأساسية النشطة", "option-sync-core-plugin-desc": "تزامن القائمة التي تحتوي على الملحقات الأساسية الممكّنة.", "option-sync-core-plugin-data": "إعدادات الملحقات الأساسية", "option-sync-core-plugin-data-desc": "تزامن إعدادات الملحقات الأساسية.", "option-sync-community-plugin": "قائمة ملحقات المجتمع النشطة", "option-sync-community-plugin-desc": "تزامن القائمة التي تحتوي على ملحقات المجتمع الممكّنة.", "option-sync-community-plugin-data": "ملحقات المجتمع المثبتة", "option-sync-community-plugin-data-desc": "تزامن ملحقات المجتمع المثبتة (js ،.css.، وملفات manifest.json) وإعداداتها.", "label-sync-loading": "المزامنة لا تزال قيد التحميل، يرجى تحديث هذه الصفحة لاحقاً.", "label-sync-introduction": "Obsidian Sync هو خدمة مزامنة Obsidian المضافة بتعمية بين الطرفين وسجل الإصدارات.", "label-account-required": "لبدء المزامنة، يرجى تسجيل الدخول أو إنشاء حساب Obsidian جديد.", "label-current-file": "الملف الحالي", "label-sync-changes": "تغييرات المزامنة", "label-today": "اليوم", "label-yesterday": "أمس", "label-this-week": "هذا الأسبوع", "label-older": "أقدم", "label-last-sync": "آخر مزامنة", "label-more": "{{count}} مزيد", "button-sign-up": "التسجيل", "button-log-in": "تسجيل الدخول", "label-manage-excluded-folders": "إدارة المجلدات المستبعدة", "label-number-of-folders-excluded": "{{folders}} مستبعدة حاليًا من المزامنة.", "label-add-excluded-folder": "استبعاد مجلد", "label-add-excluded-folder-desc": "يمكنك استبعاد المجلدات الحالية والتي لم يتم إنشاؤها بعد.", "tooltip-remove-excluded-folder": "إزالة من القائمة المستبعدة", "label-setup-connection": "إعداد الاتصال", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "أنت الآن متصل بـ \"{{name}}\".", "button-start-syncing": "بدء المزامنة", "label-confirm-merge-vault": "تأكيد دمج الخزنة", "msg-vault-has-notes": "تحتوي خزنتك المحلية بالفعل على بعض الملاحظات.", "msg-vault-merge-warning": "إذا قمت بالاتصال بالخزنة \"{{name}}\" عن بُعد، فسيتم دمج الملاحظات في خزنتك المحلي مع الملاحظات من خزنتك عن بُعد. في حالة وجود تعارضات، سيتم الحفاظ على الإصدار الأحدث من الملاحظة.", "tooltip-update-setting-on-all-devices": "يرجى تحديث هذا الخيار وإعادة تشغيل التطبيق على جميع الأجهزة التي ترغب في تطبيق التغيير عليها.", "label-sharing-with-users": "هذه الخزنة عن بُعد مشتركة حاليًا مع الأشخاص التالية.", "label-not-sharing": "الخزنة عن بُعد هذا غير مشترك حاليًا مع أي شخص.", "label-vaults-shared-with-you": "الخزنات المشتركة معك", "tooltip-leave-vault-sharing": "إيقاف التعاون على هذا الخزنة", "label-leave-vault-confirmation": "تأكيد إيقاف تعاون الخزنة", "label-leave-vault-confirmation-details": "سيؤدي هذا إلى إزالة هذه الخزنة من قائمة الخزنات المشتركة معك. لا يمكن التراجع عن هذا الإجراء.", "label-leave-vault-confirmation-details-2": "يرجى الاتصال بمالك الخزنة إذا كنت ترغب في التعاون على هذه الخزنة مرة أخرى.", "button-leave": "غادر", "msg-error-failed-to-fetch": "فشل في تحميل الخزنات البعيدة.", "label-require-subscription-to-connect": "تحتاج إلى اشتراك Obsidian Sync للاتصال بهذه الخزنة.", "option-contact-support": "اتصل بالدعم", "option-contact-support-desc": "إذا واجهت أي مشاكل مع Obsidian Sync، يرجى الاتصال بنا حتى نتمكن من مساعدتك! يمكنك الوصول إلينا على support@obsidian.md.", "button-copy-debug": "انسخ معلومات التصحيح", "button-email-support": "الدعم عن طريق البريد الإلكتروني", "label-sync-disconnected": "خدمة المزامنة غير متصلة بخزنة بعيدة.", "msg-remote-vault-limit-hit": "يتيح لك Obsidian Sync إنشاء ما يصل إلى 5 خزنات بعيدة. لإنشاء خزنة بعيدة جديدة، يرجى إزالة الخزنة الحالية.", "label-upgrade-vault": "ترقية الخزنة", "label-upgrade-vault-encryption": "ترقية تعمية الخزنة", "label-upgrade-vault-encryption-desc": "هناك نسخة جديدة من التشفير متاحة للخزائن البعيدة.", "label-migrate-remote-vault": "ترحيل الخزنة البعيدة", "label-remote-vault-configuration": "تهيئة الخزنة البعيدة", "button-migrate": "ترحيل", "msg-recreate-remote-vault": "سيؤدي هذا إلى حذف خزنتك البعيدة وإعادة إنشائها بأحدث تشفير. لن تتأثر الملفات المحلية، لكن سيتم فقدان سجل الإصدارات.", "label-confirm-migrate": "تأكيد ترحيل الخزنة", "msg-migrate-pre-confirmation-part1": "لترقية التشفير، سيتم إعادة رفع كل البيانات في الخزنة إلى خوادم Obsidian Sync باستخدام طريقة التشفير الجديدة. هذه العملية ستحذف نهائياً كل البيانات المشفرة بالتشفير القديم، بما في ذلك سجل الإصدارات لخزنتك.", "msg-migrate-pre-confirmation-part2": "مهم: ننصح بشدة بإنشاء نسخة احتياطية من خزنتك قبل المتابعة لتجنب فقدان البيانات.", "msg-migrate-pre-confirmation-part3": "بعد إتمام الترقية، ستحتاج لإعادة ربط جميع أجهزتك بالخزنة البعيدة المحدثة.", "msg-migrate-confirmation": "قد تستغرق عملية ترحيل الخزنة بعض الوقت. يجب إبقاء Obsidian نشطاً على هذا الجهاز لإعادة رفع كل ملاحظاتك وملحقاتك. من الأفضل القيام بذلك على جهازك الرئيسي.", "msg-migrate-confirmation-size": "لديك {{size}} من البيانات. قد تستغرق عملية ترحيل الخزنة بعض الوقت. يجب إبقاء Obsidian نشطاً على هذا الجهاز لإعادة رفع كل ملاحظاتك وملحقاتك. من الأفضل القيام بذلك على جهازك الرئيسي.", "msg-proceed-prompt": "هل تريد المتابعة؟", "msg-vault-migration-started": "جارٍ ترحيل الخزنة." }, "file-recovery": { "name": "استعادة الملفات", "desc": "يتيح لك استعادة لقطات مأخوذة مؤخرًا لاستعادة البيانات المفقودة بالخطأ. يتم حفظ اللقطات الاحتياطية لملفات Markdown فقط.", "action-open": "إفتح اللقطات المأخوذة", "option-interval": "فترة اللقطة المأخوذة", "option-interval-description": "الحد الأدنى للفترة بالدقائق بين لقطتين.", "option-keep": "مدة السجل", "option-keep-description": "عدد الأيام التي يتم الاحتفاظ باللقطات المأخوذة.", "option-open-history": "اللقطات المأخوذة", "option-open-history-description": "عرض واستعادة اللقطات المأخوذة.", "button-view-history": "View", "option-clear": "مسح السجل", "option-clear-description": "حذف جميع اللقطات المأخوذة.", "button-clear-history": "إزالة", "label-clear-warning": "هل أنت متأكد من رغبتك في إزالة جميع اللقطات المأخوذة؟ يرجى ملاحظة أنه سيتم حذف اللقطات المأخوذة فقط ولن يتأثر أي من الملفات داخل الخزنة الخاصة بك.", "msg-clear-complete": "تم إزالة اللقطات المأخوذة.", "label-no-history-found": "تعذر العثور على لقطات المأخوذة.", "placeholder-choose-file": "اختر ملف...", "label-select-file": "يرجى تحديد ملف على اليمين لعرض اللقطات المأخوذة." }, "note-composer": { "name": "محرر الملاحظات", "desc": "دمج، تقسيم، وتنظيم الملاحظات.", "option-confirm-file-merge": "تأكيد دمج الملف", "option-confirm-file-merge-description": "إسئلني قبل دمج ملفين.", "option-split-replacement-text": "النص بعد الاستخراج", "option-split-replacement-text-description": "ما الذي تريد عرضه مكان النص المحدد بعد استخراجه.", "option-choice-split-replacement-text-link": "ربط بملف جديد", "option-choice-split-replacement-text-embed": "تضمين ملف جديد", "option-choice-split-replacement-text-none": "لا شيء", "option-template-file": "موقع ملف القالب", "option-template-file-description": "ملف القالب المستخدم للدمج أو الاستخراج. المتغيرات المتاحة: {{content}}، {{fromTitle}}، {{newTitle}}، {{date:FORMAT}}، مثل {{date:YYYY-MM-DD}}.", "command-merge-file": "دمج الملف الحالي مع ملف آخر...", "action-merge-file": "ادمج الملف بأكمله مع...", "label-no-files": "لم يتم العثور على ملفات.", "instruction-navigate": "للتنقل", "instruction-merge": "للدمج", "instruction-create-new": "لإنشاء جديد", "instruction-merge-at-top": "للدمج في الأعلى", "instruction-dismiss": "للتجاهل", "prompt-select-file-to-merge": "حدد الملف الذي تريد الإندماج فيه...", "label-merge-file": "دمج الملف", "label-confirm-file-merge": "هل أنت متأكد من رغبتك في دمج \"{{file}}\" في \"{{destination}}\"؟ الملف \"{{file}}\" سيتم حذفه.", "button-merge": "دمج", "command-split-file": "استخراج التحديد الحالي...", "command-extract-heading": "استخراج هذا العنوان...", "instruction-append": "نقل للأسفل", "instruction-prepend": "نقل للأعلى", "msg-fail-to-fetch-template": "فشل في جلب ملف القالب: تعذر العثور على \"{{template}}\".", "msg-fail-to-find-heading": "فشل في العثور على عنوان" }, "web-viewer": { "name": "عارض الويب", "history-name": "تاريخ المتصفح", "desc": "فتح الروابط الخارجية لصفحات الويب داخل التطبيق.", "action-open": "إفتح عارض الويب", "action-show-history": "عرض التاريخ", "action-toggle-reader-mode": "تبديل وضع القراءة", "action-copy-u-r-l": "إنسخ الرابط", "action-remove-from-history": "إحذف من التاريخ", "action-clear-history": "إمسح التاريخ", "action-open-link": "إفتح الرابط", "action-open-link-new-tab": "إفتح الرابط في علامة تبويب جديدة", "action-open-link-new-split": "إفتح الرابط إلى اليمين", "action-open-link-new-window": "إفتح الرابط في نافذة جديدة", "action-open-link-default-browser": "إفتح الرابط في المتصفح الإفتراضي", "action-open-link-web-viewer": "فتح الرابط في معاينة الويب", "action-copy-link-address": "إنسخ عنوان الرابط", "action-bookmark-link": "ضع إشارة مرجعية على الرابط", "action-search-for-query": "إبحث عن “{{query}}”", "action-extract-selection": "استخراج التحديد إلى ملاحظة جديدة", "action-copy-selection": "نسخ", "action-cut": "قص", "action-paste": "لصق", "action-delete": "حذف", "action-select-all": "تحديد الكل", "action-save-to-vault": "إحفظ في الخزنة", "action-save-image": "إحفظ الصورة في الخزنة", "action-copy-image": "إنسخ الصورة", "action-copy-image-link": "إنسخ عنوان الصورة", "action-backward": "إلى الخلف", "action-forward": "إلى الأمام", "action-reload": "إعادة التحميل", "action-bookmark-page": "ضع إشارة مرجعية للصفحة", "action-open-default-browser": "إفتح في المتصفح الافتراضي", "action-focus-address-bar": "ركز على شريط العنوان", "action-search-the-web": "إبحث في الويب", "action-clear-data": "إمسح البيانات", "action-clear-data-cookies": "الكعكات", "action-clear-data-cookies-desc": "من الممكن لهذا الخيار أن يؤدي إلى تسجيل خروجك من مواقع الويب.", "action-clear-data-cache": "البيانات المخزنة مؤقتًا", "action-clear-data-history": "التاريخ", "action-clear-data-all": "كل بيانات عارض الويب", "action-clear-data-all-desc": "يزيل كل ما سبق بالإضافة إلى التخزين المحلي والجلسات النشطة.", "label-new-web-viewer": "عارض ويب جديد", "label-fail-to-load": "غير قادر على تحميل هذا الموقع.", "label-fail-to-load-desc": "يرجى التأكد من أن لديك العنوان الصحيح.", "label-search-the-web": "البحث في الويب", "label-web-viewer-data": "بيانات عارض الويب", "label-clear-data": "حذف بيانات عارض واليب", "option-open-external-links": "فتح الروابط الخاجية", "option-open-external-links-desc": "فتح الروابط في التطبيق بدلاً من الوضع الافتراضي للنظام.", "option-homepage": "الصفحة الرئيسية", "option-homepage-desc": "ما هي الصفحة التي يجب عرضها عند فتح عارض الويب", "option-saved-markdown": "حفظ الصفحة في مجلد", "option-saved-markdown-desc": "سيتم وضع المواقع المحفوظة بتنسيق Markdown هنا.", "option-search-engine": "محرك البحث", "option-search-engine-desc": "محرك البحث المستخدم عند البحث من شريط العناوين.", "option-search-engine-custom": "محرك بحث مخصص", "option-search-engine-custom-desc": "استعمل %s في محل الاستعلام.", "option-search-engine-custom-drop-down": "مخصص", "option-enable-adblock": "تفعيل حظر الإعلانات", "option-enable-adblock-desc": "إذا تم تمكين هذا الخيار فسيتم تطبيق قوائم التصفية أدناه على جميع علامات تبويب عارض الويب.", "option-adblock-lists": "قواعد حظر الإعلانات", "option-adblock-lists-desc": "ضع رابط واحد لكل سطر في قائمة حظر الإعلانات. مشترك بين جميع الخزائن.", "option-adblock-frequency": "تردد تحديث مانع الإعلانات", "option-adblock-frequency-desc": "عدد الأيام بين تحديث قوائم التصفية الرقم 0 يعني تعطيل الخيار. مشترك بين جميع الخزائن.", "title-clear-data-modal": "حذف بيانات عارض الويب", "msg-error-extracting-content": "خطأ غير متوقع لاستخراج المحتوى.", "msg-error-finding-content": "غير قادر على العثور على محتوى للاستخراج." }, "canvas": { "name": "اللوحة البصرية", "desc": "ترتيب وربط الملاحظات على لوحة بصرية لانهائية.", "action-add-note": "أضاف ملاحظة من الخزنة", "action-add-media": "أضاف وسائط من الخزنة", "action-add-card": "أضاف بطاقة", "action-add-website": "أضاف صفحة ويب", "action-create-group": "أنشئ مجموعة", "action-create-with-size": "أنشئ بطاقة بحجم محدد", "action-convert-to-file": "حول إلى ملف...", "action-drag-to-add-note": "إسحب لإضافة ملاحظة من الخزنة", "action-drag-to-add-media": "إسحب لإضافة وسائط من الخزنة", "action-drag-to-add-card": "إسحب لإضافة بطاقة", "action-edit-label": "عدل الملصق", "action-remove-label": "أزال الملصق", "action-search-file": "إبحث عن ملف", "action-set-color": "عين لون", "action-align": "محاذاة", "action-align-left": "محاذاة لليسار", "action-align-center": "محاذاة للوسط", "action-align-right": "محاذاة لليمين", "action-align-top": "محاذاة للأعلى", "action-align-middle": "محاذاة للوسط", "action-align-bottom": "محاذاة للإسفل", "action-distribute-horizontal-spacing": "وزع التباعد أفقيًا", "action-distribute-vertical-spacing": "وزع التباعد عموديًا", "action-justify-horizontally": "باعد أفقيًا", "action-justify-vertically": "باعد عموديًا", "action-arrange-horizontally": "رتب في صف", "action-arrange-vertically": "رتب في عمود", "action-arrange-grid": "رتب في شبكة", "action-export-png": "تصدير كصورة", "action-jump-to-group": "إنتقل للمجموعة", "action-set-background": "تعيين خلفية", "action-edit-background": "حرر الخلفية", "action-replace-background": "استبدل الخلفية", "action-remove-background": "أزال الخلفية", "label-no-images": "تعذر العثور على صور.", "label-no-media": "لم يتم العثور على وسائط.", "label-export-png-desc": "تصدير \"{{title}}\" كملف PNG بالإعدادات أدناه.", "label-export-png-dimensions": "الأبعاد التقديرية للصورة: {{dimensions}}", "label-distribute": "توزيع", "label-justify": "محاذاة", "label-arrange": "ترتيب", "label-always": "دائمًا", "label-hover": "عند تمرير مؤشر الفأرة", "label-never": "أبدًا", "label-no-section-found": "لم يتم العثور على أي قسم", "option-wheel-behavior": "السلوك الافتراضي لعجلة الفأرة", "option-mod-drag-behavior": "السلوك الافتراضي لزر {{key}}", "option-show-menu": "إظهار القائمة", "option-new-canvas-location": "الموقع الافتراضي لملفات اللوحات البصرية الجديدة", "option-new-canvas-location-description": "حيث يتم وضع ملفات اللوحات البصرية الجديدة", "option-new-canvas-folder-path": "مجلد لإنشاء ملفات اللوحات البصرية الجديدة فيه", "option-new-canvas-folder-path-description": "ستظهر ملفات اللوحات البصرية الجديدة تحت هذا المجلد.", "option-node-label": "عرض تسمية البطاقة", "option-snap-to-grid": "جذب للشبكة", "option-snap-to-grid-desc": "جذب البطاقات للشبكة الخلفية عند التحريك وتغيير حجمها.", "option-snap-to-objects": "جذب للكائنات", "option-snap-to-objects-desc": "جذب البطاقات للكائنات القريبة عند التحريك وتغيير حجمها.", "option-zoom-breakpoint": "عتبة التكبير لإخفاء محتوى البطاقة", "option-zoom-breakpoint-desc": "القيم الأقل ستزيد من الأداء ولكنها ستخفي محتوى البطاقة بشكل أسرع عند التصغير.", "option-export-png-show-logo": "عرض الشعار", "option-export-png-show-logo-desc": "سيضيف هذا الخيار شعار Obsidian في الأسفل إلى اليمين.", "option-export-png-privacy-mode": "وضع الخصوصية", "option-export-png-privacy-mode-desc": "سيقوم هذا الخيار بتعتيم أي نص على لوحتك البصرية.", "option-export-png-zoom": "تكبير", "option-export-png-zoom-desc": "سيؤدي التكبير العالي إلى إنشاء صورة ذات دقة أعلى.", "option-export-png-frame": "إطار العرض", "option-export-png-frame-desc": "اختر تصيير اللوحة البصرية بأكملها أو إطار العرض المرئي الحالي فقط.", "option-export-png-frame-full": "لوحة بصرية كاملة", "option-export-png-frame-viewport": "إطار العرض فقط", "option-background-cover": "غلاف", "option-background-ratio": "الحفاظ على نسبة الأبعاد", "option-background-repeat": "تكرار", "action-new-canvas": "لوحة بصرية جديدة", "action-remove": "إزالة", "action-narrow-heading": "تضيق لعنوان...", "action-narrow-block": "تضيق لكتلة...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "أبدل الملف...", "action-change-url": "غيّر الرابط...", "action-zoom-to-fit": "كبر للملائمة", "action-zoom-to-selection": "كبر للمحدد", "action-reload-page": "أعاد تحميل الصفحة", "action-follow-connection": "إتبع الارتباط", "command-create-new-canvas": "أنشئ لوحة بصرية جديدة", "command-convert-to-file": "تحويل إلى ملف...", "instruction-narrow-heading": "لتضمين العنوان", "instruction-narrow-block": "لتضمين الكتلة", "instruction-jump-to-group": "للانتقال إلى المجموعة", "prompt-to-narrow": "اكتب اسم العنوان", "label-enter-url": "أدخل رابط", "label-empty-embed": "تعذر العثور على \"{{linktext}}\".", "prompt-add-text": "أضف نص...", "prompt-start-search": "اكتب للبحث...", "label-canvas-help": "مساعدة", "label-canvas-settings": "إعدادات اللوحة البصرية", "label-no-narrow": "عرض الملف بأكمله", "label-show-default-view": "Show default view", "label-readonly": "للقراءة فقط", "label-disable-readonly": "تعطيل القراءة فقط", "label-pan": "تحريك", "label-pan-horizontal": "تحريك أفقيًا", "label-zoom": "تكبير", "label-select-all": "تحديد الكل", "label-add-remove-selection": "إضافة إلى / إزالة من التحديد", "label-clone-card": "استنساخ البطاقة", "label-constrain-movement-axis": "قيد حركة البطاقة على المحور", "label-disable-drag-snapping": "تعطيل الجذب أثناء السحب", "label-remove-card": "إزالة البطاقة", "label-drag-from-below": "سحب من الأسفل أو النقر المزدوج", "label-longpress": "اللمس مع الاستمرار للإضافة / للنقل / للتحديد", "label-drag-pan": "سحب للتحريك", "label-pinch-zoom": "اسحب للتكبير", "label-space-drag-pan": "مسافة + سحب للتحريك", "label-scroll-to-zoom": "تمرير الفأرة للتكبير", "label-untitled-group": "مجموعة بلا عنوان", "label-line-direction": "اتجاه السطر", "label-nondirectional": "غير موجه", "label-unidirectional": "أحادي الاتجاه", "label-bidirectional": "ثنائي الاتجاه", "label-image": "صورة", "label-style": "نمط", "msg-no-groups-found": "تعذر العثور على مجموعات", "msg-export-failed-empty-canvas": "لا يمكن تصدير لوحة بصرية فارغة", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "قواعد البيانات", "desc": "أنشئ قواعد من خلال استعلام خصائص الملاحظات.", "action-new-base": "قاعدة جديدة", "action-add-property": "أضف خاصية", "action-add-formula": "Add formula", "action-hide-all": "اخف الكل", "action-toggle-visibility": "تبديل الظهور", "action-delete-property": "احذف الخاصية", "action-duplicate-view": "نسخ العرض", "action-delete-view": "حذف العرض", "action-export-c-s-v": "Export CSV...", "command-create-new": "أنشئ قاعدة جديدة", "command-insert-new": "أدرج قاعدة جديدة", "command-copy-table": "انسخ الجدول إلى الحافظة", "command-change-view": "تغيير العرض", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "الخصائص المحسوبة", "label-property-type": "نوع الخاصية", "label-hide-property": "إخفاء الخاصية", "label-show-property": "إظهار الخاصية", "label-edit-property": "تحرير الخاصية", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "تهيئة العرض", "label-view-layout": "التخطيط", "label-global-filters": "المرشحات العامة", "label-view-filters": "مرشحات العرض", "label-view-name": "اسم العرض", "label-default-view": "عرض", "label-view-type-table": "جدول", "label-display-name": "Display name", "label-formula": "معادلة", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "أي من التالي صحيح", "label-all-the-following": "جميع ما يلي صحيح", "label-none-of-the-following": "لا شيء من التالي صحيح", "label-where": "حيث", "label-or": "أو", "label-and": "و", "label-property-key": "خاصية", "label-untitled-property": "بدون عنوان", "label-file-prop-file": "الملف", "label-file-prop-name": "الاسم", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "المسار", "label-file-prop-folder": "المجلد", "label-file-prop-ext": "الملحق", "label-file-prop-ctime": "وقت الإنشاء", "label-file-prop-mtime": "وقت التعديل", "label-file-prop-size": "حجم الملف", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "لا يمكن تمثيل هذا المرشح باستخدام مُنشئ المرشحات البسيط.", "msg-filter-cannot-parse": "لا يمكن تحليل المرشح. لا يمكن استخدام مُنشئ المرشحات الأساسي.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "تعذر إضافة عرض قواعد جديد \"{{ viewID }}\". يوجد عرض بهذا المعرف بالفعل.", "msg-error-unable-to-parse": "تعذر تحليل ملف القاعدة:", "msg-error-view-not-found": "العرض \"{{ view }}\" غير موجود", "msg-error-unknown-view-type": "تم تهيئة القاعدة بنوع عرض غير معروف: {{ viewtype }}", "msg-error-view-type": "يجب أن تكون العروض في مصفوفة", "msg-error-display-values": "يجب أن تكون قيم العرض سلاسل نصية. القيمة الخاصة بالخاصية {{ key }} ليست كذلك.", "msg-error-must-be-a-type": "\"{{ key }}\" يجب أن تكون {{ type }}", "msg-error-filter-type": "\"filters\" يجب أن تكون سلسلة أو كائن", "msg-error-filter-must-be-array": "المرشح \"{{ conjunction }}\" يجب أن يكون مصفوفة", "msg-error-filter-allowed-keys": "\"filters\" يجب أن تحتوي فقط على أحد المفاتيح: \"and\" أو \"or\" أو \"not\".", "msg-error-filter-failed-to-evaluate": "فشل في تقييم المرشح: {{ message }}", "msg-error-formula-values": "يجب أن تكون قيم المعادلة سلاسل نصية. القيمة الخاصة بالخاصية {{ key }} ليست كذلك.", "msg-error-computed-failed-to-compute": "فشل في حساب قيمة الخاصية \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "صيغة الاستعلام غير صالحة. يجب أن يكون كائناً بتنسيق YAML.", "msg-error-view-invalid-format": "عناصر \"view\" يجب أن تكون كائناً بتنسيق YAML، ولكن العنصر {{ index }} ليس كذلك", "msg-error-view-name-invalid": "مفقود أو غير صالح \"name\" في العرض {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" مطلوب في العرض \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" يجب أن يكون من النوع {{ type }} في العرض \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "يجب أن تكون جميع قيم \"{{ key }}\" من النوع {{ type }} في العرض \"{{ viewName }}\"", "msg-error-view-parsing-filters": "تعذر تحليل المرشحات في العرض \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "تم اكتشاف حلقة لا نهائية في المعادلة", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "مرشح متقدم", "tooltip-filter-simple-mode": "مرشح بسيط", "tooltip-remove-filter": "إزالة المرشح", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "إخفاء العمود", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "تظليل الكل", "action-match-diacritics": "مطابقة التشكيل", "action-whole-words": "جميع الكلمات", "action-show-thumbnails": "الصور المصغرة", "action-show-outline": "جدول المحتويات", "action-reveal-in-outline": "أظهر الصفحة في جدول المحتويات", "action-toggle-sidebar": "تبديل الشريط الجانبي", "action-previous-page": "الصفحة السابقة", "action-next-page": "الصفحة التالية", "action-fit-width": "ملائمة العرض", "action-fit-height": "ملائمة الارتفاع", "action-save-p-d-f-location": "حفظ الوضع الحالي في المستند", "action-copy-annotation": "نسخ التعليق التوضيحي", "action-copy-quote": "نسخ كاقتباس", "action-copy-selection-link": "نسخ الرابط إلى التحديد", "action-copy-annot-link": "نسخ الرابط إلى التعليق التوضيحي", "action-copy-section-link": "نسخ الرابط إلى القسم", "action-copy-section-link-title": "نسخ الرابط إلى “{{title}}”", "action-copy-page-link": "نسخ الرابط إلى الصفحة {{page}}", "msg-max-search-results": "تطابق {{current}} من بين {{limit}} نتائج", "msg-search-count": "تطابق {{current}} من بين {{total}} نتيجة", "msg-search-count_plural": "تطابق {{current}} من بين {{total}} ناتج", "msg-password-protected": "ملف PDF هذا محمي بكلمة مرور", "msg-invalid-password": "كلمة المرور غير صحيحة", "msg-enter-password": "أدخل كلمة المرور أدناه", "label-of-pages": "من {{count}}", "label-page-of-pages": "({{current}} من بين {{count}})", "label-spread-single": "صفحة واحدة", "label-spread-odd": "صفحتان (فردية)", "label-spread-even": "صفحتان (زوجية)", "tooltip-sidebar-options": "خيارات الشريط الجانبي", "tooltip-display-options": "خيارات العرض", "label-adapt-to-theme": "التكيف مع السمة", "label-page": "صفحة {{page}}", "page_landmark": "صفحة {{page}}", "thumb_page_title": "صفحة {{page}}", "thumb_page_canvas": "صفحة {{page}}", "text_annotation_type": "[{{type}} تعليق توضيحي]", "annotation_date_string": "{{date}}، {{time}}" }, "properties": { "types": { "option-multitext": "قائمة", "option-unknown": "مجهول", "option-text": "نص", "option-aliases": "اسماء مستعارة", "option-tags": "وسوم", "option-folder": "مجلد", "option-file": "ملف", "option-date": "تاريخ", "option-datetime": "تاريخ ووقت", "option-number": "رقم", "option-checkbox": "مربع اختيار" }, "value-suggestion": { "key-link-note": "نوع [[", "instruction-link-note": "لربط الملاحظات", "instruction-dismiss": "للرفض" }, "option-property-type": "نوع الخاصية", "msg-empty-property-name": "إسم الخاصية لا يمكن أن يكون فارغًا.", "msg-duplicate-property-name": "الخاصية موجودة بالفعل", "msg-invalid-tag": "اسم الوسم غير صالح", "msg-invalid-number": "الرقم غير صالح", "msg-invalid-properties": "فشل في قراءة الخصائص.", "label-no-value": "لا قيمة", "label-heading": "الخصائص", "label-invalid-heading": "خصائص غير صالحة", "label-show-source": "أظهر المصدر", "label-invalid-yaml-marker": "خطأ في بنية الجملة. الرأسية الخاصة بك غير صالحة.", "label-add-property-button": "اضافة خاصية", "label-type-mismatch-warning": "عدم تطابق النوع، توقع {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "عمود", "label-row": "صف", "action-row-after": "أضف صف لاحق", "action-column-after": "أضف عمود لاحق", "action-row-before": "أضف صف سابق", "action-row-up": "حرك الصف للأعلى", "action-row-down": "حرك الصف للأسفل", "action-column-before": "أضف عمود سابق", "action-column-left": "أضف عمود لليسار", "action-column-right": "أضف عمود لليمين", "action-duplicate-row": "كرر الصف", "action-duplicate-column": "كرر العمود", "action-delete-row": "إحذف الصف", "action-delete-column": "إحذف العمود", "action-align-left": "محاذاة لليسار", "action-align-center": "محاذاة للوسط", "action-align-right": "محاذاة لليمين", "action-delete-selection": "إحذف الخانات", "action-clear-selection": "إمسح الخانات", "action-sort-a-z": "ترتيب حسب العمود (من أ إلى ي)", "action-sort-z-a": "ترتيب حسب العمود (من أ إلى ي)", "label-command": "جدول: {{command}}" }, "callout": { "option-type": "نوع القصاصة", "type": { "info": "معلومة", "important": "هام", "tip": "نصيحة", "success": "نجاح", "question": "سؤال", "warning": "تحذير", "quote": "اقتباس", "example": "مثال", "none": "لا شيء" }, "option-other": "أخرى...", "option-other-placeholder": "نوع القصاصة..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} كلمة", "word-with-count_plural": "{{count}} كلمات", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} حرف", "character-with-count_plural": "{{count}} أحرف", "link-with-count": "{{count}} رابط", "link-with-count_plural": "{{count}} روابط", "file-with-count": "{{count}} ملف", "file-with-count_plural": "{{count}} ملفات", "folder-with-count": "{{count}} مجلد", "folder-with-count_plural": "{{count}} مجلدات", "backlink-with-count": "{{count}} رابط خلفي", "backlink-with-count_plural": "{{count}} روابط خلفية", "tabs-with-count": "{{count}} تبويب", "tabs-with-count_plural": "{{count}} تبويبات", "properties-with-count": "{{count}} خاصية", "properties-with-count_plural": "{{count}} خصائص", "site-with-count": "{{count}} موقع", "site-with-count_plural": "{{count}} مواقع", "plugin-with-count": "{{count}} ملحق", "plugin-with-count_plural": "{{count}} ملحقات", "plugin-active-with-count": "{{count}} نشط", "snippet-active-with-count": "{{count}} قصاصة", "snippet-active-with-count_plural": "{{count}} قصاصات", "theme-with-count": "{{count}} سمة", "theme-with-count_plural": "{{count}} سمات" } }{ "setting": { "options": "Параметры", "plugin": "Плагін", "builtin-plugins": "Базавыя плагіны", "plugin-options": "Налада плагінаў", "folder-path-example-placeholder": "Прыклад: папка 1/папка 2", "file-path-example-placeholder": "Прыклад: папка/нататка", "msg-restart-required": "Для змены гэтага параметра неабходны перазапуск.", "editor": { "name": "Рэдактар", "section-behavior": "Функцыі рэдактара", "section-display": "Адлюстраванне", "option-spellcheck": "Правяраць правапіс", "option-spellcheck-description": "Уключае праверку правапісу. У цяперашні час працуе толькі з англійскай (ЗША).", "spellcheck-languages": "Мовы для праверкі правапісу", "spellcheck-languages-description": "Абярыце мовы для праверкі арфаграфіі.", "spellcheck-languages-mac-description": "Убудаваная праверка арфаграфіі аўтаматычна вызначыць мову, якая выкарыстоўваецца ў macOS.", "spellcheck-dict": "Слоўнік", "spellcheck-dict-empty": "Слоўнік пусты.", "option-show-inline-title": "Паказаць назву ў пачатку", "option-show-inline-title-description": "Адлюстроўвае імя файла ў выглядзе загалоўка, які можна рэдагаваць, у адным радку са змесцівам файла.", "option-readable-line-length": "Абмяжуйце максімальную даўжыню радка", "option-readable-line-description": "Павялічвае зручнасць чытання доўгіх абзацаў, але памяншае колькасць інфармацыі, якая змяшчаецца на экране.", "option-strict-line-break": "Падвойны раздзяляльнік радкоў", "option-strict-line-break-description": "Ігнараваць адзіночныя раздзяляльнікі радкоў у рэжыме прагляду ў адпаведнасці са стандартам Markdown. Адключыце, каб адзінкавыя раздзяляльнікі адлюстроўваліся ў рэжыме прагляду.", "option-properties-in-document": "Уласцівасці ў дакуменце", "option-properties-in-document-description": "Абярыце спосаб адлюстравання ўласцівасцяў у рэдактары. Каб уласцівасці адлюстроўваліся ў фармаце YAML, абярыце \"Зыходны код\".", "option-properties-hidden": "Схаваны", "option-properties-visible": "Бачны", "option-properties-source": "Зыходны код", "option-auto-pair-brackets": "Зачыняць дужкі", "option-auto-pair-brackets-description": "Аўтаматычна закрываць дужкі і двукоссі.", "option-auto-pair-markdown": "Зачыняць тэгі Markdown", "option-auto-pair-markdown-description": "Аўтаматычна закрывае тэгі для тоўстага і курсіўнага напісання.", "option-smart-indent-lists": "Водступ для спісаў", "option-smart-indent-lists-description": "Аўтаматычна дадае водступы і тэгі для спісаў.", "option-fold-heading": "Згортваць загалоўкі", "option-fold-heading-description": "Згортвае ўвесь тэкст пад загалоўкамі.", "option-fold-indent": "Згортваць водступы", "option-fold-indent-description": "Згортвае тэкст з аднолькавымі водступамі, напрыклад спісы.", "option-default-new-tab-view": "Прадвызначаны выгляд для новых укладак", "option-default-new-tab-view-description": "Прадвызначаны выгляд для новай укладкі Markdown.", "option-default-new-tab-view-editing": "Рэжым рэдагавання", "option-default-new-tab-view-reading": "Рэжым прагляду", "option-open-tab-in-foreground": "Заўсёды факусіравацца на новай укладцы", "option-open-tab-in-foreground-description": "Пры адкрыцці спасылкі ў новай ўкладцы, аўтаматычна пераключацца на яе.", "option-default-editing-mode": "Прадвызначаны рэжым рэдактара", "option-default-editing-mode-description": "Прадвызначаны рэдактар адкрыецца ў абраным рэжыме.", "option-default-editing-mode-source": "Зыходны код", "option-default-editing-mode-live-preview": "Дынамічны прагляд", "option-show-line-number": "Адлюстроўваць нумары радкоў", "option-show-line-number-description": "Дадае нумарацыю радкоў на палях.", "option-indentation-guide": "Адлюстроўваць лініі водступу", "option-indentation-guide-description": "Паказваць вертыкальныя лініі паміж пунктамі для візуальнага арыентавання.", "option-use-tabs": "Выкарыстоўваць табуляцыю", "option-use-tabs-description": "Выкарыстоўваць табуляцыю для водступаў пры націску клавішы \"Tab\". Адключыце, каб замест табуляцыі выкарыстоўваліся сімвалы прабелу.", "option-tab-size": "Шырыня табуляцыі", "option-tab-size-description": "Колькасць прабелаў, якому адпавядае табуляцыя.", "option-rtl": "Напрамак напісання (RTL)", "option-rtl-description": "Устанаўлівае кірунак напісання нататак справа налева.", "option-auto-convert-html": "Канвертаваць HTML", "option-auto-convert-html-description": "Аўтаматычна пераўтвараць HTML у Markdown пры ўстаўцы і перацягванні вэб-спасылак. Выкарыстоўвайце з Ctrl/Cmd+Shift+V для ўстаўкі без пераўтварэння.", "option-vim-key-bindings": "Выкарыстоўваць камбінацыі клавіш Vim", "option-vim-key-bindings-description": "Дазваляе выкарыстоўваць спалучэнні клавіш Vim у рэжыме рэдагавання.", "option-vim-key-bindings-mobile": "Гэты параметр наладжваецца асобна на розных прыладах і не захоўваецца ў файле канфігурацыі.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Пацвердзіце выбар Vim рэжыму", "label-vim-warning": "Рэжым Vim прызначаны для эфектыўнага рэдагавання тэксту, але ён не з'яўляецца інтуітыўна зразумелым. Калі вы не знаёмыя з Vim, гэтая опцыя можа стварыць адчуванне, што Obsidian не працуе.", "label-vim-test": "Пацвердзіце навыкі валодання Vim, увёўшы каманду выхаду з Vim без захавання:", "label-vim-your-answer": "Ваш адказ", "placeholder-enter-command": "Увядзіце каманду...", "button-confirm-enable-vim": "Дазвольце мне ўключыць Vim", "msg-vim-mode-enabled": "Каманда правільная. Рэжым Vim актываваны.", "msg-vim-mode-not-enabled": "Каманда няправільная. Рэжым Vim застаецца адключаным для вашай аховы.", "msg-vim-mode-please-enter-command": "Для ўключэння рэжыму Vim увядзіце каманду" }, "file": { "name": "Файлы і ссылкі", "option-confirm-file-deletion": "Пацвердзіце выдаленне файла", "option-confirm-file-deletion-description": "Адлюстроўвае акно з пацвярджэннем выдалення файла.", "option-delete-destination": "Выдаленыя файлы", "option-delete-destination-description": "Што рабіць з файламі пасля выдалення.", "option-choice-system-trash": "Перамясціць у сметніцу сістэмы", "option-choice-vault-trash": "Перамяшчаць у сметніцу Obsidian (папка .trash)", "option-choice-permanent-delete": "Выдаліць беззваротна", "option-always-update-links": "Заўжды абнаўляць унутраныя спасылкі", "option-always-update-links-description": "Абнаўляе спасылкі аўтаматычна пасля перайменавання файла.", "option-new-note-location": "Прадвызначанае месца для новых нататак", "option-new-note-location-description": "Дзе ствараць новую нататку. Налады плагінаў могуць перавызначыць гэта значэнне.", "option-choice-vault-root": "У корні сховішча", "option-choice-current-folder": "У той жа папцы, дзе размешчаны файл", "option-choice-specified-folder": "У папцы, пазначанай ніжэй", "option-new-file-folder-path": "Папка, у якой ствараць новыя нататкі", "option-new-file-folder-path-description": "Новыя нататкі будуць стварацца ў гэтай папцы. Налады плагінаў могуць перавызначыць гэта значэнне.", "option-use-wiki-links": "Выкарыстоўваць [[Wiki-спасылкі]]", "option-use-wiki-links-description": "Аўтаматычна ствараць Wiki-спасылкі для [[спасылак]] і ![[відарысаў]] замест Markdown-спасылак.", "option-show-unsupported-files": "Выяўленне файлаў усіх пашырэнняў", "option-show-unsupported-files-description": "Паказваць файлы з любым пашырэннем, нават калі Obsidian не можа адкрыць іх самастойна. Вы зможаце іх бачыць і спасылацца на іх у Файлавым менеджары і Хуткім пераходзе.", "option-link-autocompleted-format": "Фармат новай спасылкі", "option-link-autocompleted-format-description": "Які фармат выкарыстоўваць пры стварэнні ўнутраных спасылак.", "option-choice-shortest-linktext": "Самы кароткі шлях да файла з магчымых", "option-choice-relative-path": "Адносны шлях да файла", "option-choice-absolute-path": "Абсалютны шлях адносна сховішча", "option-new-attachment-location": "Прадвызначанае месца для ўкладзеных файлаў", "option-new-attachment-location-description": "Дзе размяшчаюцца новыя дададзеныя далучэнні.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "У падпапку ў бягучай папцы", "option-attachment-folder-path": "Шлях да папкі з укладаннямі", "option-attachment-folder-path-description": "Новыя далучаныя файлы будуць захоўвацца ў гэтай папцы. У тым ліку любыя ўстаўленыя відарысы і аўдыязапісы.", "option-attachment-subfolder-path": "Назва падпапкі", "option-attachment-subfolder-path-description": "Калі нататка знаходзіцца ў \"vault/folder\", а імя падпапкі \"attachments\", то ўкладзеныя файлы будуць захоўвацца ў \"vault/folder/attachments\".", "option-excluded-files": "Выключаныя файлы", "option-excluded-files-desc": "Выключаныя файлы будуць схаваны або менш бачныя ў розных месцах, такіх як Хуткі пераход, прапанаваныя спасылкі або Графы.", "label-no-excluded-filters-applied": "Не ўсталяваны ніводны фільтр. Дадайце яго ніжэй.", "label-excluded-filters-applied": "Файлы, якія адпавядаюць наступным фільтрам, выключаюцца:", "label-excluded-filter": "Фільтр", "message-empty-filter": "Фільтр не можа быць пустым", "placeholder-excluded-filter": "Увядзіце шлях або \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Выгляд", "option-base-theme": "Асноўная тэма", "option-base-theme-description": "Выбар прадвызначанай каляровай гамы.", "option-accent-color": "Акцэнтны колер", "option-accent-color-description": "Выберыце акцэнтны колер, які будзе выкарыстоўвацца ва ўсёй праграме.", "dark-theme": "Цёмная", "light-theme": "Светлая", "system-theme": "Дапасаваць да сістэмнай", "option-font": "Шрыфт", "option-advanced": "Пашыраныя налады", "option-interface": "Інтэрфейс", "option-interface-font": "Шрыфт інтэрфейсу", "option-interface-font-description": "Выбар асноўнага шрыфта інтэрфейсу ў Obsidian.", "option-zoom-level": "Узровень маштабавання", "option-zoom-level-description": "Кіраванне агульным узроўнем маштабавання ў праграме.", "option-text-font": "Шрыфт тэксту", "option-text-font-description": "Выбар шрыфта для абласцей рэдагавання і прагляду.", "option-monospace-font": "Манашырынны шрыфт", "option-monospace-font-description": "Выбар шрыфта для блокаў з кодам і для frontmatter.", "label-single-font-currently-in-effect": " У цяперашні час выкарыстоўваецца наступны шрыфт: ", "label-multiple-fonts-currently-in-effect": " Зараз выкарыстоўваюцца наступныя шрыфты:", "option-font-placeholder": "Увядзіце імя шрыфта...", "label-no-custom-font-set": "У дадзены момант карыстальніцкі шрыфт не прымяняецца. Дадайце яго ніжэй.", "label-font-applied": "Будзе выкарыстоўвацца першы шрыфт з гэтага спісу, які даступны ў вашай сістэме.", "msg-font-not-found": "Гэты шрыфт не знойдзены ў вашай сістэме.", "msg-font-found": "Гэты шрыфт знойдзены ў вашай сістэме.", "label-font-name": "Назва шрыфту", "option-community-themes": "Паглядзець тэмы супольнасці", "option-community-themes-description": "Папярэдні прагляд і выкарыстанне тэм, створаных супольнасцю.", "button-browse-community-themes": "Агляд", "option-font-size": "Памер шрыфту", "option-font-size-description": "Памер шрыфта ў пікселях, які ўплывае на рэдактар і папярэдні прагляд.", "option-font-size-action": "Хуткая настройка памеру шрыфта", "option-font-size-action-description": "Наладзьце памер шрыфта з дапамогай Ctrl + Scroll або выкарыстоўвайце жэст \"шчыпок\" і маштабаванне на трекпаде.", "option-themes": "Тэмы", "option-manage-themes-description": "Кіраванне ўстаноўленымі тэмамі і прагляд тэм супольнасці.", "option-theme-button-manage": "Кіраваць", "option-choice-none": "Стандартны", "option-native-menus": "Роднае меню", "option-native-menus-desc": "Меню ўсёй праграмы будуць адпавядаць аперацыйнай сістэме. Ваша тэма не закране іх.", "button-reload-themes": "Абнавіць тэму", "msg-reloaded-themes": "Спіс CSS-тэм абноўлены.", "button-open-themes-folder": "Адчыніць папку з тэмамі", "option-css-snippets": "CSS сніпеты", "label-no-css-snippets-found": "У папцы CSS-сніпетаў нічога не знойдзена.", "no-snippet-description": "CSS cніпеты захоўваюцца ў \"{{path}}\".", "button-reload-snippets": "Абнавіць сніпеты", "button-open-snippets-folder": "Адчыніць сніпеты", "msg-reloaded-snippets": "Сніпеты абноўлены.", "option-toggle-snippet-description": "Ужыць CSS сніпет да \"{{path}}\".", "label-installed-themes": "Усталяваныя тэмы", "label-screenshot-unavailable": "Здымак экрана недаступны", "label-default-theme": "Прадвызначаны", "tooltip-click-to-enlarge": "Націсніце, каб павялічыць", "button-update": "Абнавіць", "label-currently-active": "Актыўна", "option-frame-style": "Стыль рамкі акна", "option-frame-description": "Вызначае стыль загалоўка вокнаў Obsidian. Для ўступлення ў сілу патрабуецца поўны перазапуск.", "option-frame-hidden": "Схавана (прадвызначаны)", "option-frame-obsidian": "Obsidian", "option-frame-native": "Убудаваны", "option-custom-icon": "Карыстальніцкі значок праграмы", "option-custom-icon-desc": "Устанавіць уласны значок для праграмы", "button-choose-custom-icon": "Абярыце ўласны значок", "option-configure-ribbon": "Стужкавае меню", "option-configure-ribbon-desc": "Наладзьце, якія каманды будуць адлюстроўвацца ў меню стужкі на панэлі навігацыі.", "option-mobile-quick-ribbon-item": "Элемент стужкі хуткага доступу", "option-mobile-quick-ribbon-item-desc": "Націсканне на элемент стужкі ў меню навігацыі актывуе гэты элемент стужкі. Націсніце і ўтрымлівайце для адлюстравання меню.", "option-mobile-quick-ribbon-default": "Адкрыйце стужку меню", "button-configure": "Наладзіць", "option-show-ribbon": "Паказаць стужку", "option-show-ribbon-desc": "Паказаць вертыкальную панэль інструментаў збоку ад акна.", "label-additional-ribbon-items": "Іншыя вырабы з стужак", "label-modal-configuration": "Канфігурацыя стужкі", "label-modal-configuration-desc": "Абярыце, якія элементы будуць актыўныя ў стужцы. Перацягніце іх, каб змяніць парадак.", "option-show-view-header": "Паказваць загаловак укладкі", "option-show-view-header-desc": "Паказвае загаловак у верхняй частцы кожнай укладкі.", "msg-updates-found": "Вы можаце абнавіць {{count}} тэму.", "msg-updates-found_plural": "Вы можаце абнавіць {{count}} тэмы.", "button-check-for-updates": "Праверыць абнаўленні", "button-view-updates": "Праглядзець абнаўленні", "button-update-all-themes": "Абнавіць усё", "label-current-themes": "Бягучыя тэмы супольнасці", "label-currently-installed": "Устаноўлена тэм: {{count}}.", "label-currently-installed_plural": "Устаноўлена тэм: {{count}}." }, "hotkeys": { "name": "Гарачыя клавішы", "option-search": "Шукаць гарачыя клавішы", "option-search-desc": "Гарачых клавіш: {{count}}. ", "option-search-desc_plural": "Гарачых клавіш: {{count}}. ", "option-search-conflict": "{{count}} каманда з канфліктам.", "option-search-conflict_plural": "{{count}} каманды з канфліктамі.", "prompt-filter": "Фільтр...", "tooltip-delete-hotkey": "Выдаліць гарачую клавішу", "label-waiting-for-hotkey-press": "Націсніце спалучэнне клавіш...", "label-show-all": "Усе", "label-show-unassigned": "Непрызначаны", "label-show-assigned": "Прызначаныя", "label-show-user-assigned": "Прызначаныя мной", "tooltip-restore-default": "Аднавіць да прадвызначаных", "tooltip-customize-command": "Наладзьце гэтую каманду", "tooltip-hotkey-single-conflict": "Гэта спалучэнне канфліктуе з камандай \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Колькасць канфліктаў гэтага спалучэння з іншымі камандамі: {{count}}", "label-blank-hotkey": "Не прызначана" }, "about": { "name": "Асноўныя", "label-commercial-license": "Камерцыйная ліцэнзія", "label-license-key": "Ліцэнзійны ключ", "license-key-placeholder": "Ваш ліцэнзійны ключ...", "label-activate-license": "Актываваць ліцэнзію", "button-activate": "Актываваць", "label-unknown-version": "Невядомая", "label-current-version": "Бягучая версія: ", "label-install-version": "(Версія інсталятара: {{version}})", "label-up-to-date": "Устаноўлена актуальная версія!", "label-read-changelog": "Спіс змен.", "label-manual-update-required": "Obsidian патрабуе сур'ёзнага абнаўлення інсталятара каб падтрымліваць найноўшыя функцыі і атрымліваць апошнія патчы бяспекі. Вам трэба ўручную спампаваць і пераўсталяваць Obsidian.", "label-new-version-ready": "Новая версія даступна для ўсталявання. ", "label-disabled-updates": "Абнаўлення адключаны.", "button-relaunch": "Перазапусціць", "button-check-for-updates": "Праверыць абнаўленні", "option-auto-update": "Аўтаматычныя абнаўленні", "option-auto-update-description": "Выключыце, каб праграма не правярала, ці ёсць новыя абнаўленні.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Атрымаць даведку", "option-get-help-description": "Атрымайце дапамогу па выкарыстанні Obsidian.", "button-open": "Адкрыць", "option-language": "Мова", "option-language-description": "Змяняе мову інтэрфейсу.", "option-insider-build": "Атрымлівайце раннія зборкі", "option-insider-build-description": "Аўтаматычна абнаўляць да ранніх зборак, каб паспрабаваць новыя функцыі. Звярніце ўвагу, што гэтыя зборкі могуць быць менш стабільнымі.", "option-advanced": "Пашыраныя налады", "option-hw-acceleration": "Апаратнае паскарэнне", "option-hw-acceleration-description": "Уключае апаратнае паскарэнне, якое выкарыстоўвае GPU, для больш плаўнай працы Obsidian.", "option-hw-acceleration-warning": "Калі вы адключыце гэтую функцыю, прадукцыйнасць праграмы моцна знізіцца.", "option-config-location": "Перавызначыць папку з канфігурацыяй", "option-config-location-description": "Выкарыстоўвайце папку канфігурацыі, адрозную ад прадвызначанай папкі. Назва павінна пачынацца з кропкі.", "option-config-location-warning": "Размяшчэнне канфігурацыі павінна быць сапраўдным імем папкі, якое пачынаецца з кропкі.", "label-license": "Ліцэнзія", "label-your-commercial-license-key": "Ключ вашай камерцыйнай ліцэнзіі \"{{key}}\".", "label-commercial-license-info": "Зарэгістравана на \"{{company}}\" для {{seats}} карыстальнікаў. Сапраўдная да {{expiry}}.", "label-validating-commercial-license": "Праверка...", "label-invalid-commercial-license": "Ліцэнзія недзейная: ", "button-remove-commercial-license": "Выдаліць", "option-catalyst": "Ліцэнзія Catalyst", "option-catalyst-desc": "Зараз вы валодаеце {{tier}} ліцэнзіяй Catalyst. Дзякуй за падтрымку!", "option-catalyst-desc-no-license": "Зараз у вас няма ліцэнзіі Catalyst. Ліцэнзія Catalyst - гэта аднаразовае ахвяраванне ў падтрымку распрацоўкі Obsidian.", "label-app": "Праграма", "label-add-own-language": "Даведайцеся, як дадаць сваю мову ў Obsidian." }, "account": { "name": "Уліковы запіс", "option-your-account": "Ваш уліковы запіс", "option-your-account-desc": "Вы ўвайшлі як {{name}} ({{email}}).", "option-your-account-desc-no-login": "Вы не ўвайшлі ў сістэму. Уліковы запіс неабходна толькі для працы Obsidian Sync, Obsidian Publish і доступу да ранніх зборак Catalyst.", "label-insider": "інсайдэр", "label-supporter": "падтрымшчык", "label-vip": "VIP", "button-upgrade-catalyst": "Абнавіць", "option-commercial-license": "Камерцыйная ліцэнзія", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Набыць", "button-log-out": "Выйсці", "label-log-in": "Увайсці", "label-sign-up": "Рэгістрацыя", "label-email": "Пошта", "placeholder-email": "Ваш эл. адрас...", "label-name": "Full name", "label-password": "Пароль", "placeholder-password": "Ваш пароль...", "label-forgot-password": "Забыліся на пароль?", "button-login": "Увайсці", "message-empty-email": "Электронны адрас не можа быць пустым.", "message-invalid-email": "Несапраўдная эл. пошта.", "message-empty-password": "Пароль не можа быць пустым.", "message-login-failed": "Няправільны адрас электроннай пошты ці пароль.", "message-signup-failed": "Failed to sign up", "label-no-account": "Няма ўліковага запісу? ", "link-sign-up-now": "Зарэгістравацца", "label-mfa-code": "6-значны код двухфактарнай аўтэнтыфікацыі", "mfa-wrong-format": "Код аўтэнтыфікацыі павінен складацца з 6 лічбаў.", "mfa-verification-failed": "Код двухфактарнай аўтэнтыфікацыі няправільны, калі ласка, пераправерце праграму аўтэнтыфікацыі яшчэ раз." }, "core-plugin": { "plugin-list": "Спіс плагінаў", "option-search-plugin": "Пошук базавых плагінаў", "option-search-plugin-description": "Пошук плагінаў па назве і апісанні.", "placeholder-search-plugin": "Пошук плагінаў..." }, "third-party-plugin": { "name": "Староннія плагіны", "option-restricted-mode": "Абмежаваны рэжым", "option-restricted-mode-description": "Абмежаваны рэжым выключаны. Уключыце, каб адключыць усе плагіны супольнасці.", "button-turn-on": "Уключыць", "option-browse-community-plugins": "Плагіны супольнасці", "option-browse-community-plugins-description": "Агляд і ўстаноўка старонніх плагінаў, зробленых нашай неверагоднай супольнасцю.", "button-browse": "Агляд", "label-exit-restricted-mode": "Выйсці з Бяспечнага рэжыму", "label-exit-restricted-mode-description-1": "Плагіны супольнасці, як і будзь якія іншыя ўсталяваныя праграмы, патэнцыйна могуць шкодзіць вашым файлам і бяспецы.", "label-exit-restricted-mode-description-2": "Бяспека плагінаў важная для нас. Вось што мы робім:", "label-exit-restricted-mode-description-3": "Нягледзячы на нашы намаганні, усё яшчэ існуе невялікая верагоднасць таго, што плагін супольнасці можа паводзіць сябе няправільна.", "label-code-review": "Першапачатковая праверка коду", "label-code-review-desc": "Плагіны праходзяць першапачатковую праверку коду нашай камандай, перш чым яны трапляюць у каталог.", "label-open-source": "Адкрыты зыходны код", "label-open-source-desc": "Большасць плагінаў маюць адкрыты зыходны код на GitHub, таму вы можаце праверыць код самастойна.", "label-peer-audit": "Калектыўны аўдыт", "label-peer-audit-desc": "У нас вялікая супольнасць распрацоўшчыкаў, якія правяраюць адзін аднаго.", "label-report-mechanism": "Механізм справаздачнасці", "label-report-mechanism-desc": "Мы адсочваем і выдаляем няспраўныя плагіны пасля скаргаў карыстальнікаў.", "label-exit-restricted-mode-disable-confirmation": "Хочаце выйсці з абмежаванага рэжыму, каб уключыць плагіны супольнасці? Мы настойліва рэкамендуем вам зрабіць рэзервовую копію дадзеных перад гэтым.", "label-learn-more": "Даведацца больш пра бяспеку плагінаў", "button-turn-on-community-plugins": "Уключыць плагіны супольнасці", "label-trust-author": "Ці давяраеце вы аўтару гэтага сховішча?", "label-trust-author-description-1": "Вы адкрываеце гэта сховішча першы раз, яно ідзе з некалькімі плагінамі.", "label-trust-author-description-2": "Калі вы атрымалі гэта сховішча ад кагосьці невядомага, звярніце ўвагу, што плагіны з невядомых крыніц могуць быць небяспечнымі.", "label-trust-author-description-3": "Калі вы не давяраеце аўтару гэтага сховішча, мы рэкамендуем вам заставацца ў Абмежаваным рэжыме, каб плагіны не працавалі.", "button-enable-plugins": "Даверыцца аўтару і ўключыць плагіны", "button-dont-trust-author": "Прагляд сховішча ў Бяспечным рэжыме", "placeholder-community-plugins": "Шукаць плагіны супольнасці...", "msg-failed-load-plugins": "Не атрымалася загрузіць плагіны супольнасці.", "label-installed": "Усталяваны", "button-install": "Усталяваць", "button-enable": "Уключыць", "button-disable": "Адключыць", "button-copy-share-link": "Скапіяваць спасылку", "button-donate": "Ахвяраваць", "label-no-results-found": "Вынікаў не знойдзена.", "label-no-recent-files-found": "Нядаўніх файлаў не знойдзена. Увядзіце пошукавы запыт...", "msg-failed-to-load-manifest": "Не ўдалося загрузіць апісанне плагіна.", "label-version": "Версія: {{version}}", "label-currently-installed-version": " (усталявана: {{version}})", "label-by-author": "Аўтар: ", "label-repository": "Рэпазіторый: ", "label-last-update": "Апошняе абнаўленне: ", "tooltip-view-last-update": "Паказаць апошняе абнаўленне", "label-unsupported": "Гэты плагін не падтрымлівае вашу прыладу.", "button-update": "Абнавіць", "label-no-readme": "Гэты плагін не змяшчае файл README.", "msg-installing-plugin": "Устанаўліваецца плагін \"{{name}}\"...", "msg-failed-to-install-plugin": "Не атрымалася ўсталяваць плагін \"{{name}}\".", "msg-successfully-installed-plugin": "Плагін \"{{name}}\" устаноўлены.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Усталяваныя плагіны", "button-reload-plugins": "Перазагрузіць плагіны", "msg-reloaded-third-party-plugins": "Староннія плагіны перагружаны.", "label-uninstall": "Выдаліць", "label-uninstall-plugin": "Выдаліць плагін", "label-uninstall-plugin-confirmation": "Вы ўпэўнены, што хочаце выдаліць гэты плагін? Гэта выдаліць папку плагіна.", "button-open-plugins-folder": "Адкрыць папку з плагінамі", "button-check-for-updates": "Праверыць абнаўленні", "button-update-all-plugins": "Абнавіць усё", "label-current-plugins": "Усталяваныя плагіны", "label-currently-installed": "Устаноўлена плагінаў: {{count}}.", "label-currently-installed_plural": "Устаноўлена плагінаў: {{count}}.", "msg-no-updates-found": "Абнаўленні не знойдзены.", "msg-updates-found": "Знойдзен {{count}} плагін для абнаўлення.", "msg-updates-found_plural": "Знойдзена {{count}} плагінаў для абнаўлення.", "msg-update-plugin": "Абнавіць да версіі {{version}}", "option-search-installed-plugin": "Пошук усталяваных плагінаў", "option-search-installed-plugin-description": "Пошук устаноўленых плагінаў па назве і апісанні.", "placeholder-search-installed-plugin": "Пошук усталяваных плагінаў...", "show-installed-only": "Паказаць толькі ўсталяваныя", "label-donate-modal-title": "Ахвяруйце на падтрымку {{name}}", "label-donate-modal-text1": "Распрацоўшчыкі плагінаў - гэта валанцёры супольнасці, якія ствараюць дзіўныя рэчы з захаплення. Калі вы лічыце гэты плагін карысным, падумайце пра магчымасць падтрымкі распрацоўкі.", "label-donate-modal-text2": "100% вашага ўкладу пойдзе распрацоўшчыку плагіна; Obsidian не бярэ камісію. Выбраная імі платформа фінансавання можа браць камісію.", "label-donate-modal-text3": "Дзякуй за вашу шчодрую падтрымку!", "label-support-this-plugin": "Падтрымаць плагін:", "label-search-summary": "Паказаны {{pluginCount}}:", "label-by-popularity": "Па колькасці запамповак", "label-by-released": "Нядаўна выпусцілі", "label-by-updated": "Нядаўна абноўленыя", "label-alphabetical": "Па алфавіце", "label-last-updated": "Абноўлена ў {{time}}" }, "mobile-toolbar": { "name": "Мабільная панэль інструментаў", "option-configure-quick-action": "Наладзіць хуткае дзеянне", "option-configure-quick-action-description": "Вызначыце якую каманду выклікаць, пацягнуўшы экран зверху ўніз. Бягучы выбар: \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "Наладзіць", "placeholder-select-quick-action": "Абярыце хуткае дзеянне...", "quick-action-disabled": "Нiчога", "manage-toolbar-options": "Кіраванне панэллю інструментаў", "option-internal-link": "Дадаць унутраную ссылку", "option-internal-embed": "Дадаць устаўку", "option-tag": "Дадаць тэг", "option-heading": "Загаловак", "option-strikethrough": "Перакрэсліванне", "option-highlight": "Вылучэнне", "option-code": "Фрагмент кода", "option-blockquote": "Цытата", "option-inline-math": "Паказаць/схаваць матэматычныя выразы", "option-math-block": "Паказаць/схаваць матэматычны блок", "option-markdown-link": "Дадаць Markdown спасылку", "option-bullet-list": "Маркіраваны спіс", "option-numbered-list": "Нумараваны спіс", "option-indent-list": "Дадайце водступ", "option-unindent-list": "Прыбраць водступ", "option-undo": "Скасаваць", "option-redo": "Паўтарыць", "option-move-caret-up": "Карэтка наверх", "option-move-caret-down": "Карэтка ўніз", "option-move-caret-left": "Карэтка налева", "option-move-caret-right": "Карэтка направа", "option-first-line": "Перайсці да першага радка", "option-last-line": "Перайсці да апошняга радка", "option-toggle-keyboard": "Пераключыць клавіятуру", "option-configure-toolbar": "Наладзіць мабільную панэль інструментаў", "option-added-options": "Дададзеныя опцыі", "option-more-toolbar-options": "Іншыя налады", "option-attach": "Уставіць далучэнні", "option-add-command": "Дадаць глабальную каманду", "option-add-command-description": "Абярыце любую глабальную каманду для дадання ў панэль інструментаў." } }, "editor": { "search": { "placeholder-find": "Знайсці", "placeholder-replace": "Замяніць", "label-exit-search": "Закрыць пошук", "label-next": "Наперад", "label-previous": "Назад", "label-find-all": "Знайдзі ўсе", "label-replace": "Замяніць", "label-replace-all": "Замяніць усе" }, "link-suggestion": { "label-type-hash": "Напішыце #", "label-link-heading": "каб спасылацца на загаловак", "label-type-block": "Напішыце ^", "label-link-block": "каб спасылацца на блок", "label-type-pipe": "Напішыце |", "label-change-display-text": "каб змяніць тэкст, што паказваецца", "label-no-alias": "Адлюстраванне тэксту", "label-no-heading": "Загаловак", "label-no-match-found": "Супадзенняў не знойдзена", "label-image-size": "Памер відарыса: шырыня {{size}}px", "label-accept": "прыняць", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Прапановы адсутнічаюць...", "add-to-dictionary": "Дадаць у слоўнік" }, "menu": { "edit-link": "Рэдагаваць спасылку", "edit-tag": "Рэдагаваць тэг", "label-edit-block": "Рэдагаваць блок", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "Без загалоўка", "label-heading-level": "Загаловак {{level}}" }, "print-modal": { "title": "Экспартаваць як PDF", "caption": "Экспартаваць \"{{filename}}\" як PDF з наступнымі параметрамі.", "setting-page-size": "Памер старонкі", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Прававая інфармацыя", "setting-page-size-letter": "Ліст", "setting-page-size-tabloid": "Таблоід", "setting-include-file-name": "Выкарыстоўваць імя файла ў загалоўку", "setting-landscape": "Альбомны", "setting-margin": "Палі", "setting-margin-default": "Прадвызначаны", "setting-margin-minimal": "Мінімальны", "setting-margin-none": "Нiчога", "setting-downscale-percent": "Адсотак маштабавання", "button-export-to-pdf": "Экспартаваць як PDF" }, "link-popover": { "tooltip-follow-link": "Перайсьці па спасылцы", "tooltip-open-link": "Адкрыць спасылку", "tooltip-search-tag": "Шукаць тэг" } }, "interface": { "embed-cannot-find": "Не ўдалося знайсці:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Адкрыць у прадвызначанай праграме", "empty-sidebar": "Бакавая панэль пустая, паспрабуйце перацягнуць сюды адно з акон.", "sidebar-expand": "Разгарнуць", "sidebar-collapse": "Згарнуць", "msg-fail-to-save-file": "Не атрымалася захаваць файл \"{{filepath}}. {{message}}.", "msg-failed-to-load-plugin": "Не ўдалося загрузіць плагін “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Не ўдалося адкрыць “{{filepath}}”", "msg-failed-to-open-href": "Немагчыма адкрыць месцазнаходжанне «{{href}}»", "no-file": "Няма файлу", "msg-file-changed": "\"{{file}}\" быў зменены звонку, аб'яднанне змяненняў адбываецца аўтаматычна.", "switch-vault": "Адкрыць іншае сховішча", "manage-vaults": "Кіраваць сховішчамі...", "help": "Дапамога", "settings": "Налады", "drag-to-rearrange": "Перацягнуць", "msg-switched-to-read": "Рэжым чытання ўсталяваны прадвызначаным.", "msg-switched-to-edit": "Рэжым рэдагавання ўсталяваны прадвызначаным.", "msg-upgrade-installer": "Запампуйце актуальную версію з сайта і пераўсталюеце Obsidian, каб уключыць гэтую функцыю.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Аднавіць да прадвызначаных налад", "label-copy": "Скапіяваць у буфер абмену", "label-copy-short": "Скапіраваць", "copied_generic": "Скапіраваць у ваш буфер абмену", "copied": "{{item}} скапіраваны ў ваш буфер абмену", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Адкрыты файл \"{{path}}\"", "msg-file-not-found-through-uri": "Файл \"{{name}}\" не знойдзены.", "delete-action-short-name": "Выдаліць", "msg-indexing": "Obsidian індэксуе сховішча...\nГэта павінна адбыцца толькі аднойчы.\nНекаторы функцыянал можа быць недаступны, пакуль працэс не скончаны.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Індэксацыя завершана.", "msg-sandbox-vault": "Гэта сховішча - пясочніца.\nЗмяненні, зробленыя вамі ў гэтым сховішчы, будуць страчаныя.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Націсніце Enter для стварэння", "label-update-available": "Даступна абнаўленне", "label-debug-info": "Інфармацыя аб адладцы", "button-learn-more": "Падрабязней", "button-not-now": "Не зараз", "button-add": "Дадаць", "button-manage": "Кіраваць", "label-new-tab": "Новая ўкладка", "option-hide-ribbon": "Схаваць стужку", "msg-tab-busy": "Гэта ўкладка зараз занятая, паўтарыце спробу пазней", "formatting": { "label-formatting": "Фармат", "label-paragraph": "Параграф", "label-insert": "Устаўка", "insert-link": "Дадаць спасылку", "insert-external-link": "Дадаць знешнюю спасылку", "insert-callout": "Зноска", "insert-horizontal-rule": "Гарызантальная лінейка", "insert-code-block": "Блок кода", "insert-math-block": "Матэматычны блок", "insert-table": "Табліца", "insert-footnote": "Footnote", "toggle-bold": "Тлусты", "toggle-code": "Код", "toggle-comments": "Каментар", "toggle-highlight": "Вылучыць", "toggle-italics": "Курсіў", "toggle-strikethrough": "Закрэсліванне", "toggle-math": "Матэматыка", "toggle-bullet-list": "Маркіраваны спіс", "toggle-checklist": "Спіс задач", "toggle-numbered-list": "Нумараваны спіс", "set-heading": "Загаловак {{level}}", "no-heading": "Захаваць", "clear": "Ачысціць фарматаванне", "toggle-quote": "Цытата" }, "empty-state": { "no-file-open": "Ніводны файл не адкрыты", "create-new-file": "Стварыць новы файл", "go-to-file": "Перайсці да файла", "see-recent-files": "Прагледзець нядаўнія файлы", "close": "Закрыць", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Плагін болей не актыўны", "unknown-pane-desc": "Плагін, які стварыў гэтую панэль ({{type}}), знік" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Бягучы рэжым: рэдактар", "read-view": "Бягучы рэжым: чытанне", "ribbon": "Стужка", "left-sidebar": "Левая бакавая панэль", "right-sidebar": "Правая бакавая панэль", "switch-to-edit-view": "Націсніце, каб рэдагаваць", "switch-to-read-view": "Націсніце, каб паглядзець", "mod-click-open-new-tab": "{{key}}+Click каб адкрыць у новай укладцы", "find": "Шукаць...", "replace": "Замяніць...", "edit": "Рэдагаваць", "remove": "Выдаліць", "rename": "Перайменаваць", "preview": "Перадпрагляд", "more-options": "Больш параметраў", "close": "Закрыць", "close-all": "Закрыць усё", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Закрыць іншыя ўкладкі", "close-after": "Close tabs after", "pin": "Замацаваць", "unpin": "Адмацаваць", "unlink-tab": "Адвязаць укладку", "link-tab": "Звязаць з укладкай...", "toggle-source-mode": "Зыходны код", "toggle-reading-view": "Рэжым чытання", "add-property": "Дадаць уласцівасць файлу", "delete-file": "Выдаліць файл", "create-file": "Стварыць гэты файл", "open-link": "Адкрыць спасылку", "open-in-new-tab": "Адкрыць у новай укладцы", "open-to-the-right": "Адкрыць у вобласці справа", "copy-url": "Скапіяваць URL", "copy": "Скапіяваць", "cut": "Выразаць", "paste": "Уставіць", "paste-as-plain-text": "Уставіць без фарматавання", "lookup-selection": "Пошук “{{selection}}”", "select-all": "Абраць усё", "rename-heading": "Перайменаваць загаловак...", "rename-blockid": "Перайменаваць ID блока...", "open-in-new-window": "Адчыніць у новым акне", "move-to-new-window": "Перамясціць у новае акно", "open-in-browser": "Адкрыць у браўзеры", "stack-tabs": "Пераключыцца ў рэжым накладання ўкладак", "unstack-tabs": "Выйсці з рэжыму накладання ўкладак", "open-linked-view": "Адкрыць звязаны выгляд" }, "tooltip": { "click-to-expand": "Націсніце, каб разгарнуць", "click-to-collapse": "Націсніце, каб згарнуць", "alias": "Псеўданім", "not-created-yet": "Яшчэ не створана, выберыце для стварэння" }, "start-screen": { "label-version": "Версія", "label-create-local-vault": "Стварыць лакальнае сховішча", "option-open-folder-as-vault": "Адкрыць папку як сховішча", "option-open-folder-as-vault-description": "Абярыце папку, якая месціць Markdown-файлы.", "option-create-vault": "Стварыць новае сховішча", "option-create-vault-description": "Стварыце ў папцы новае сховішча Obsidian.", "option-connect-obsidian-sync": "Падключыць да Obsidian Sync", "option-connect-obsidian-sync-description": "Наладзьце сінхранізацыю з аддаленым сховішчам.", "option-new-vault-name": "Назва сховішча", "option-new-vault-name-description": "Абярыце назву новага сховішча.", "option-new-vault-location": "Месцазнаходжанне", "option-new-vault-location-description": "Абярыце размяшчэнне новага сховішча.", "label-new-vault-location-preview": "Ваша новае сховішча будзе размешчана ў: ", "option-reveal-vault-in-explorer": "Адкрыць у правадніку", "option-reveal-vault-in-explorer-mac": "Адкрыць у Finder", "option-rename-vault": "Перайменаваць сховішча...", "option-copy-vault-i-d": "Скапіруйце ID сховішча", "msg-error-rename-exists": "Сховішча з такой назвай ужо існуе.", "msg-error-nested": "Немагчыма перамясціць сховішча ва ўласную падпапку.", "msg-error-rename-open": "Немагчыма перайменаваць сховішча, адкрытае ў дадзены момант.", "msg-rename-failed": "Не ўдалося перайменаваць сховішча.", "msg-rename-success": "Сховішча паспяхова перайменавана.", "option-move-vault": "Перамясціць сховішча...", "msg-move-select-dest": "Абраць каталог прызначэння", "msg-error-move-exists": "У папцы прызначэння ўжо ёсць сховішча.", "msg-error-move-open": "Нельга перамясціць сховішча, калі яно адкрыта.", "msg-move-failed": "Не ўдалося перамясціць сховішча.", "msg-move-success": "Сховішча паспяхова перамешчана.", "option-remove": "Выдаліць са спісу", "button-quick-start": "Хуткі старт", "button-open": "Адкрыць", "button-browse": "Агляд", "button-connect": "Падключыць", "button-create-vault": "Стварыць", "button-back": "Назад", "msg-empty-vault-name": "Назва сховішча не можа быць пустой.", "msg-trailing-dot-vault-name": "Назва сховішча не можа заканчвацца кропкай.", "msg-invalid-folder": "Калі ласка, абярыце існуючую папку.", "msg-failed-to-create-vault": "Не атрымалася стварыць сховішча.", "msg-failed-to-create-vault-at-location": "Не ўдалося стварыць сховішча ва ўказаным месце. Пераправерце шляхі і правы доступу.", "msg-error-failed-to-open-vault": "Не атрымалася адкрыць.", "msg-error-remove-current-open-vault": "Нельга выдаліць адкрытае сховішча.", "option-get-help": "Атрымаць даведку", "option-user-email": "Пошта", "placeholder-your-email": "Ваш эл. адрас...", "option-user-password": "Пароль", "placeholder-your-password": "Ваш пароль...", "button-sign-in": "Увайсці", "button-setup": "Налады", "option-connect-vault-desc": "Стварыце сховішча на гэтай прыладзе, якое сінхранізуецца.", "tooltip-own-vault": "Гэта аддаленае сховішча, якое належыць вам.", "tooltip-shared-vault": "Гэта аддаленае сховішча, доступ да якога вам дадзены.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Вітаем", "welcome-file-content": "Гэта ваша новае *сховішча*.\n\nЗапішыце што-небудзь, [[стварыце спасылку]], або паспрабуйце [плагін Імпарта Markdown-файлаў](https://help.obsidian.md/Plugins/Importer)!\n\nКалі вы будзеце гатовы, выдаліце гэтую нататку і зрабіце сховішча сваім уласным." }, "drag-and-drop": { "insert-link-here": "Уставіць спасылку", "insert-links-here": "Уставіць спасылкі", "move-into-folder": "Перамясціць у \"{{folder}}\"", "star-this-file": "Пазначыць гэты файл", "star-these-files": "Пазначыць гэтыя файлы", "open-in-this-tab": "Адкрыць у гэтай укладцы", "open-as-tab": "Адкрыць як новую ўкладку" }, "window": { "maximize": "Разгарнуць", "minimize": "Згарнуць", "restore-down": "Аднавіць", "close-window": "Закрыць акно", "go-back": "Назад", "go-forward": "Уперад" }, "start-up": { "loading-obsidian": "Obsidian загружаецца...", "obsidian-load-error": "Пры загрузцы Obsidian адбылася памылка.", "button-reload-app": "Перазагрузіць праграму", "button-reload-app-in-safe-mode": "Перазагрузіць праграму ў бяспечным рэжыме", "button-open-another-vault": "Адкрыць іншае сховішча", "loading-plugins": "Загрузка плагінаў...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Загрузка сховішча...", "msg-failed-to-load-vault": "Не атрымалася загрузіць сховішча: ", "loading-cache": "Загрузка кэшу...", "loading-workspace": "Загрузка працоўнай прасторы..." }, "mobile": { "action-import": "Імпартаваць у сховішча", "action-insert-text-desc": "Уставіць тэкст у файл:", "action-choose-file-to-insert": "Выберыце файл для ўстаўкі", "action-insert-text-into-file": "Уставіць тэкст у {{filename}}", "action-insert-link-into-file": "Уставіць спасылку ў {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "Імпартаванне...", "msg-import-success": "Імпарт завершаны", "msg-failed-to-import-file": "Не атрымалася імпартаваць файл {{filename}}", "msg-back-again-to-exit": "Для выхаду націсніце кнопку назад яшчэ раз.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Афіцыйны сайт дапамогі", "label-official-help-site-desc": "Чытайце афіцыйную даведачную дакументацыю Obsidian, даступную на некалькіх мовах.", "action-visit": "Наведаць", "label-discord-chat": "Discord чат", "label-discord-chat-desc": "Discord - лепшае месца для зносін з іншымі дасведчанымі карыстальнікамі Obsidian з усяго свету.", "action-join": "Далучыцца", "label-forum": "Афіцыйны форум", "label-forum-desc": "Дапамагайце адзін аднаму, публікуйце запыты аб магчымасцях, паведамляйце пра памылкі і праводзіце паглыбленыя абмеркаванні пытанняў па кіраванні ведамі.", "label-sandbox-vault": "Сховішча-пясочніца", "label-sandbox-vault-desc": "Грайце і эксперыментуйце з рознымі функцыямі. Звярніце ўвагу, што вашыя змены не будуць захаваны." } }, "commands": { "save-file": "Захаваць бягучы файл", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Перайсці па спасылцы пад курсорам", "open-cursor-link-in-new-tab": "Адкрыць спасылку пад курсорам у новай укладцы", "open-cursor-link-to-the-right": "Адкрыць спасылку пад курсорам справа", "open-cursor-link-in-new-window": "Адкрыць спасылку ў новым акне", "navigate-tab-above": "Сканцэнтравацца на групе ўкладак вышэй", "navigate-tab-below": "Сканцэнтравацца на групе ўкладак ніжэй", "navigate-tab-left": "Сканцэнтравацца на групе ўкладак злева", "navigate-tab-right": "Сканцэнтравацца на групе ўкладак справа", "toggle-pin": "Уключыць/выключыць замацаваныя вобласці", "split-right": "Раздзяліць управа", "split-down": "Раздзяліць уніз", "toggle-stacked-tabs": "Згарнуць/разгарнуць укладкі", "navigate-back": "Перайсці назад", "navigate-forward": "Перайсці наперад", "use-dark-mode": "Выкарыстоўваць цёмную тэму", "use-light-mode": "Выкарыстоўваць светлую тэму", "change-theme": "Змяніць тэму", "search-current-file": "Пошук у бягучым файле", "search-replace-current-file": "Пошук і замена ў бягучым файле", "add-property": "Дадаць уласцівасць файлу", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Дадаць псеўданім", "clear-properties": "Ачысціць уласцівасць файлу", "open-settings": "Адкрыць налады", "open-help": "Адкрыць даведку", "toggle-edit": "Змяніць рэжым прагляду (рэдагавання/чытання)", "toggle-source-mode": "Пераключыцца паміж рэжымамі Дынамічны прагляд/Зыходны код", "delete-current-file": "Выдаліць бягучы файл", "new-tab": "Новая ўкладка", "show-trash": "Паказаць кошык", "close-all-tabs": "Закрыць усе ўкладкі", "close-active-tab": "Закрыць бягучую ўкладку", "close-others-in-tab-group": "Закрыць іншыя ў гэтай групе ўкладак", "close-other-tabs": "Закрыць усе іншыя ўкладкі", "close-tab-group": "Закрыць гэту групу ўкладак", "toggle-left-sidebar": "Згарнуць/разгарнуць левую панэль", "toggle-ribbon": "Пераключыць стужку", "toggle-right-sidebar": "Згарнуць/разгарнуць правую панэль", "toggle-default-new-tab-mode": "Уключыць/выключыць прадвызначаны рэжым для ўсіх новых укладак", "add-cursor-above": "Дадаць курсор зверху", "add-cursor-below": "Дадаць курсор знізу", "focus-editor": "Вярнуцца да рэдактару", "toggle-fold-properties": "Згарнуць/разгарнуць уласцівасці ў бягучым файле", "toggle-fold": "Згарнуць/разгарнуць бягучы загаловак/спіс", "fold-all": "Згарнуць усе загалоўкі ды спіскі", "unfold-all": "Разгарнуць усе загалоўкі ды спіскі", "fold-more": "Згарнуць больш", "fold-less": "Згарнуць менш", "swap-line-up": "Памяняць месцамі з верхнім радком", "swap-line-down": "Памяняць месцамі з ніжнім радком", "remove-heading": "Выдаліць загаловак", "toggle-heading": "Устанавіць загаловак узроўню {{level}}", "toggle-bold": "Уключыць/выключыць тлустае напісанне для вылучэння", "toggle-italics": "Уключыць/выключыць курсіўнае напісанне для вылучэння", "toggle-highlight": "Уключыць/выключыць тэг падсветкі для вылучэння", "toggle-comments": "Уключыць/выключыць каментарыі для вылучэння", "clear-formatting": "Ачысціць фарматаванне", "insert-link": "Уставіць спасылку", "toggle-spellcheck": "Уключыць/выключыць праверку арфаграфіі", "delete-paragraph": "Выдаліць абзац", "toggle-checklist": "Выбар / адмена выбару элемента спісу", "cycle-list-checklist": "Пераключыць стан маркер/сцяжок", "insert-callout": "Уставіць вынасны блок", "insert-code-block": "Уставіць блок кода", "insert-math-block": "Уставіць матэматычны блок", "insert-horizontal-rule": "Уставіць гарызантальную лінію", "insert-table": "Уставіць табліцу", "insert-footnote": "Insert footnote", "edit-file-title": "Рэдагаваць загаловак файла", "copy-path": "Скапіяваць шлях да файла", "copy-url": "Скапіяваць Obsidian URL", "export-pdf": "Экспартаваць як PDF", "reload": "Перазагрузіць праграму без захавання", "undo-close-tab": "Адмяніць закрыццё ўкладкі", "context-menu": "Паказаць кантэкстнае меню пад курсорам", "show-debug-info": "Паказаць звесткі адладкі", "open-sandbox-vault": "Адкрыць сховішча-пясочніцу", "always-on-top": "Уключыць/выключыць адлюстраванне па-над усімі вокнамі", "zoom-in": "Павялічыць", "zoom-out": "Паменшыць", "reset-zoom": "Скінуць маштаб", "toggle-preview": "Пераключыцца паміж рэжымамі рэдагавання і прагляду", "move-to-new-window": "Перамясціць бягучую панэль у новае акно", "open-in-new-window": "Адкрыць бягучую панэль у новым акне", "rename-current-file": "Перайменаваць бягучы файл", "go-to-prev-tab": "Перайсці на папярэднюю ўкладку", "go-to-next-tab": "Да наступнай укладкі", "go-to-last-tab": "Да апошняй укладкі", "go-to-nth-tab": "Перайсці да ўкладкі #{{n}}", "show-release-notes": "Паказаць нататкі да выпуску" }, "dialogue": { "label-link-affected": "Гэта паўплывае на {{links}} у {{files}}.", "msg-updated-links": "Абноўлена {{links}} у {{files}}.", "label-update-links": "Абнавіць спасылкі", "label-confirm-update-link-to-file": "Вы хочаце абнавіць унутраныя спасылкі, якія звязаны з гэтым файлам?", "button-always-update": "Абнаўляць заўжды", "button-just-once": "Толькі зараз", "button-do-not-update": "Не абнаўляць", "label-confirm-deletion": "Вы сапраўды хочаце выдаліць \"{{filename}}\"?", "label-move-to-system-trash": "Ён будзе перамешчаны ў кошык сістэмы.", "label-move-to-vault-trash": "Будзе перамешчаны ў кошык Obsidian, якая знаходзіцца ва схованай папцы \".trash\" вашага сховішча.", "label-permanent-delete": "Файл будзе выдалены назаўсёды.", "label-non-empty-folder": "Гэта папка не пуста.", "label-delete-folder-warning": "Калі вы працягнеце, усе файлы ў гэтай папцы будуць выдалены.", "label-delete-folder": "Выдаліць папку", "button-delete": "Выдаліць", "button-delete-do-not-ask-again": "Выдаліць і больш не пытаць", "label-do-not-ask-again": "Не пытаць зноў", "label-existing-backlink": "Зараз ёсць {{count}} спасылка, якая паказвае на гэтую нататку.", "label-existing-backlink_plural": "Зараз ёсць {{count}} спасылак, якія паказваюць на гэтую нататку.", "label-delete-file": "Выдаліць файл", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Кіраваць", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Скасаваць", "button-download": "Download", "button-done": "Гатова", "button-save": "Захаваць", "button-stop": "Спыніць", "button-continue": "Працягнуць", "button-choose": "Абраць", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Падрыхтоўка PDF...", "label-rename-file": "Перайменаваць файл", "label-rename-file-generic": "Назва файла", "label-new-name": "Новая назва", "msg-rename-success": "Файл паспяхова перайменаваны.", "msg-merge-failed": "Не ўдалося аб'яднаць нататкі: {{message}}", "msg-file-or-folder-not-found": "Файл ці папка \"{{path}}\" не існуюць.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Перайменаваць загаловак", "label-rename-blockid": "Перайменаваць ID блока" }, "menu-items": { "new-file": "Стварыць нататку", "new-file-to-the-right": "Стварыць нататку справа", "new-window": "Новае акно", "open-switcher": "Хутка адкрыць...", "open-vault": "Адкрыць сховішча...", "close-tab": "Закрыць укладку", "close-window": "Закрыць акно", "find": "Знайсці", "replace": "Замяніць", "insert-callout": "Зноска", "insert-markdown-link": "Markdown спасылка", "insert-wikilink": "Спасылка", "set-heading": "Загаловак {{level}}", "no-heading": "Без загалоўка", "insert-quote": "Цытата", "export-pdf": "Экспартаваць PDF", "insert-attachment": "Уставіць далучэнне...", "insert-codeblock": "Блок кода", "insert-math-block": "Матэматычны блок", "insert-table": "Табліца", "insert-footnote": "Footnote", "toggle-bullet-list": "Маркіраваны спіс", "toggle-numbered-list": "Нумараваны спіс", "toggle-checklist": "Спіс заданняў", "toggle-bold": "Тлусты", "toggle-code": "Код", "toggle-comment": "Каментар", "toggle-italics": "Курсіў", "toggle-inline-math": "Матэматычныя выразы", "toggle-highlight": "Вылучыць", "toggle-strikethrough": "Закрэсліванне", "toggle-comments": "Каментар", "folding-menu": "Складванне", "fold-all": "Згарнуць усе", "unfold-all": "Разгарнуць усе", "fold-more": "Згарнуць больш", "fold-less": "Згарнуць менш", "source-mode": "Зыходны код", "reading-view": "Рэжым чытання", "show-debug-info": "Паказаць інфармацыю аб адладцы", "open-sandbox": "Адкрыць сховішча-пясочніцу", "navigate-back": "Перайсці назад", "navigate-forward": "Перайсці наперад", "toggle-left-sidebar": "Згарнуць/разгарнуць левую панэль", "toggle-right-sidebar": "Згарнуць/разгарнуць правую панэль", "toggle-ribbon": "Стужка", "split-right": "Раздзяліць управа", "split-down": "Раздзяліць уніз", "release-notes": "Нататкі да выпуску" }, "plugins": { "name": "Плагiны", "file-explorer": { "name": "Праваднік", "desc": "Паказвае ўсе файлы вашага сховішча.", "action-open": "Адкрыць праваднік", "action-show": "Паказаць праваднік", "action-create-note": "Стварыць новую нататку", "action-create-folder": "Стварыць новую папку", "action-create-note-in-current-tab": "Стварыць новую нататку ў бягучай укладцы", "action-create-note-to-the-right": "Стварыць нататку ў вобласці справа", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Згарнуць усё", "action-expand-all": "Разгарнуць усё", "action-new-note": "Новая нататка", "action-new-folder": "Новая папка", "action-change-sort": "Спосаб сартавання", "action-reveal-file": "Паказаць у правадніку", "action-reveal-active-file": "Паказаць бягучы файл у правадніку", "command-make-a-copy": "Зрабіць копію бягучага файлу", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Перамясціць файл у іншую папку", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Перамясціць файл у...", "action-move-folder": "Перамясціць папку ў...", "action-move-items": "Перамясціць {{count}} аб'ектаў у...", "prompt-type-folder": "Увядзіце назву папкі", "label-no-folders": "Папка з такой назвай не знойдзена.", "instruction-navigate": "навігацыя", "instruction-move": "перамясціць", "instruction-create": "стварыць", "instruction-dismiss": "скасаваць", "label-sort-a-to-z": "Па назве файла (А -> Я)", "label-sort-z-to-a": "Па назве файла (Я -> А)", "label-sort-new-to-old": "Па часе апошняй змены (ад новых да старых)", "label-sort-old-to-new": "Па часе апошняй змены (ад старых да новых)", "label-sort-created-old-to-new": "Па часе стварэння (ад старых да новых)", "label-sort-created-new-to-old": "Па часе стварэння (ад новых да старых)", "menu-opt-new-note": "Новая нататка", "menu-opt-new-folder": "Новая папка", "menu-opt-rename": "Перайменаваць", "menu-opt-delete": "Выдаліць", "menu-opt-make-copy": "Зрабіць копію", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "Назва файла не павінна змяшчаць наступныя сімвалы: ", "msg-unsafe-characters": "Спасылкі не будуць працаваць пры наяўнасці ў імені любога з гэтых сімвалаў: ", "msg-file-already-exists": "Файл з такой назвай ужо існуе", "msg-empty-file-name": "Назва файла не можа быць пустой.", "msg-bad-dotfile": "Назва файла не можа пачынацца з кропкі.", "tooltip-modified-time": "Час апошняга змянення {{time}}", "tooltip-created-time": "Створана {{time}}", "tooltip-folders-files-count": "файлаў: {{fileCount}}, папак: {{folderCount}}", "label-untitled-file": "Без назвы", "label-untitled-folder": "Без назвы", "msg-set-attachment-folder": "Далучэнні цяпер будуць захоўвацца ў \"{{path}}\"." }, "search": { "name": "Пошук", "desc": "Пошук па ключавых словах ва ўсіх нататках.", "action-open-search": "Пошук ва ўсіх файлах", "label-collapse-results": "Згарнуць вынікі", "label-match-case": "Улічваць рэгістр", "label-explain-search-term": "Растлумачце пошукавы тэрмін", "label-more-context": "Паказаць больш кантэксту", "label-result-count": "{{count}} вынік", "label-result-count_plural": "{{count}} вынікаў", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Пошук у наладах", "prompt-start-search": "Увядзіце пошукавы запыт...", "label-match-text": "Адпавядае тэксту: ", "label-match-regex": "Супадае з рэгулярным выразам: ", "label-match-exact-text": "Змяшчае дакладнае супадзенне: ", "label-match-greater-than": "Больш: ", "label-match-less-than": "Менш чым: ", "label-match-true": "Гэта праўда", "label-match-false": "Гэта няпраўда", "label-match-empty": "Пусты", "label-match-property": "Змяшчае ўласцівасць:", "label-match-all": "Супадзенне з усімі: ", "label-match-any": "Супадае з любымі: ", "label-excluding": "За выключэннем: ", "label-case-sensitive": "Улічваць рэгістр", "label-case-insensitive": "Не ўлічваць рэгістр", "label-match-file-path": "Супадае з шляхам файла: ", "label-match-file-name": "Супадае з назвай файла: ", "label-match-content": "Супадае з зместам файла: ", "label-match-task": "Супадае з задачай: ", "label-match-task-todo": "Супадзенне з незавершанай задачай: ", "label-match-task-done": "Супадзенне з завершанай задачай: ", "label-match-line": "Супадзенне ў радку: ", "label-match-block": "Матэматычны блок: ", "label-match-section": "Супадае з загалоўкам: ", "label-match-tag": "Супадае з тэгам: ", "label-no-matches": "Супадзенняў не знойдзена.", "matches-with-count": "... і яшчэ {{count}} супадзення.", "matches-with-count_plural": "... і яшчэ {{count}} супадзенні.", "label-copy-search-results": "Скапіяваць вынікі пошуку", "button-copy-results": "Скапіяваць вынікі", "msg-successfully-copied": "Вынікі скапіяваныя ў буфер абмену.", "option-show-path": "Адлюстроўваць шлях", "option-show-path-description": "Адлюстроўваць поўны шлях да файла замест імя файла.", "option-link-style": "Стыль спасылкі", "option-link-style-description": "Афармляць вынікі ў выглядзе спасылак.", "option-choice-link-style-none": "Нiчога", "option-choice-link-style-wikilink": "Wiki-спасылка", "option-choice-link-style-markdown-link": "Markdown спасылка", "option-list-prefix": "Прэфікс спісу", "option-list-prefix-description": "Дадае прэфікс да кожнага імя файла ў спісе.", "option-choice-list-style-none": "Нiчога", "option-choice-list-style-dash": "Працяжнік (-)", "option-choice-list-style-asterisk": "Зорачка (*)", "option-choice-list-style-numbered": "Нумарацыя", "tooltip-clear-search": "Ачысціць пошук", "label-search-options": "Параметры пошуку", "label-properties-group": "Уласцівасці", "label-tags-group": "Тэгі", "tooltip-read-more": "Падрабязней", "label-history": "Гісторыя", "tooltip-clear-history": "Ачысціць гісторыю пошуку", "label-path-option-description": "супадзенне ў шляху да файла", "label-file-name-option-description": "супадзенне ў імені файла", "label-tag-option-description": "супадзенне ў тэгах", "label-line-option-description": "ключавыя словы на адным радку", "label-section-option-description": "ключавыя словы пад адным загалоўкам", "label-property-option-description": "супадзенне з уласцівасцю", "menu-opt-search-for": "Шукаць \"{{keyword}}\"", "menu-opt-search-in-folder": "Шукаць у папцы" }, "quick-switcher": { "name": "Хуткі пераход", "desc": "Хутка пераходзіце да любога файла, не адрываючы рук ад клавіятуры. Выклікаецца па спалучэнні клавіш Ctrl/Cmd+O.", "short-name": "Пераход", "action-open": "Меню хуткай навігацыі", "instruction-navigate": "навігацыя", "instruction-open": "адкрыць", "instruction-open-in-new-tab": "адкрыць у новай укладцы", "instruction-open-to-the-right": "адкрыць у вобласці справа", "instruction-create": "стварыць", "instruction-dismiss": "скасаваць", "instruction-select": "выбраць", "label-no-note-create-new": "Такой нататкі не знойдзена. Націсніце Enter, каб стварыць новую.", "prompt-type-file-name": "Набярыце імя файла для стварэння або пераходу...", "label-enter-to-create": "Націсніце Enter для стварэння", "tooltip-not-created-yet": "Яшчэ не створана, выберыце для стварэння", "option-show-existing-only": "Адлюстроўваць толькі існуючыя файлы", "option-show-existing-only-description": "Ці паказваць спасылкі на файлы, якія яшчэ не створаны.", "option-show-attachments": "Паказаць далучэнні", "option-show-attachments-desc": "Адлюстроўваць укладзеныя файлы, такія як відарысы, відэафайлы і PDF-файлы.", "option-show-all-file-types": "Адлюстроўваць усе тыпы файлаў", "option-show-all-file-types-desc": "Паказваць файлы з любым пашырэннем, нават калі Obsidian не можа адкрыць іх самастойна. Файл будзе адчынены ў прадвызначанай праграме для гэтага тыпу файлаў." }, "graph-view": { "name": "Граф", "desc": "Графічнае адлюстраванне сувязей паміж нататкамі.", "action-open": "Граф", "action-open-local": "Адкрыць лакальны граф", "action-copy-screenshot": "Скапіяваць здымак экрана", "tab-title": "Граф {{displayText}}", "label-filters": "Фільтры", "prompt-filter-nodes": "Шукаць у...", "option-depth": "Глыбіня", "option-depth-description": "Глыбіня адлюстравання сувязей", "option-neighbor-links": "Суседнія спасылкі", "option-neighbor-links-description": "Паказаць сувязь паміж суседнімі нататкамі.", "option-forelinks": "Выходныя спасылкі", "option-forelinks-description": "Паказваць спасылкі на іншыя файлы", "option-backlinks": "Уваходныя спасылкі", "option-backlinks-description": "Паказваць спасылкі з іншых файлаў", "option-show-tags": "Тэгі", "option-show-tags-description": "Тэгі прывязаныя да нататак, дзе яны змяшчаюцца", "option-show-attachments": "Далучэнні", "option-show-attachments-description": "Паказваць змешчаныя ў нататках далучэнні", "option-show-existing-files-only": "Толькі створаныя нататкі", "option-show-existing-files-only-description": "Не паказваюцца спасылкі на неіснуючыя нататкі", "option-show-orphans": "Аб'екты без сувязяў", "option-show-orphans-description": "Паказаць файлы, у якіх няма сувязей", "label-display": "Адлюстраванне", "option-show-arrows": "Напрамак сувязей", "option-show-arrows-description": "Паказваць напрамак пры набліжэнні", "option-text-fade": "Парог знікнення тэксту", "option-node-size": "Памер вузла", "option-link-thickness": "Таўшчыня лініі", "label-forces": "Сілы", "option-center-force": "Сіла прыцягнення", "option-link-force": "Сіла сувязі", "option-link-distance": "Адлегласць паміж вузламі", "option-repel-force": "Сіла адштурхвання", "tooltip-open-graph-settings": "Адкрыць налады графа", "msg-screenshot-copied": "Здымак экрана скапіяваны ў буфер абмену.", "label-groups": "Групы", "placeholder-enter-query": "Пошукавы запыт...", "tooltip-delete-graph": "Выдаліць групу", "button-new-group": "Новая група", "tooltip-click-to-change-drag-to-reorder": "Змена колеру\nУпарадкаванне перацягваннем", "action-timelapse": "Запусціць анімацыю графа ў часе", "tooltip-start-timelapse-animation": "Запусціць анімацыю графа", "button-animate-timelapse": "Запусціць анімацыю" }, "backlinks": { "name": "Зваротныя спасылкі", "desc": "Паказвае зваротныя спасылкі ў радку стану.", "action-open": "Паказаць зваротныя спасылкі", "action-show": "Паказаць панэль зваротных спасылак", "action-open-for-current": "Адкрыць зваротныя спасылкі для бягучага файлу", "action-toggle-backlinks-in-document": "Уключыць/выключыць зваротныя спасылкі ў дакуменце", "menu-opt-backlinks-in-document": "Зваротныя спасылкі ў дакуменце", "label-linked-mentions": "Звязаныя згадкі", "label-no-backlinks": "Зваротныя спасылкі не знойдзены.", "label-unlinked-mentions": "Згадкі без сувязі", "label-show-search": "Паказаць пошукавы фільтр", "label-link-button-text": "Спасылка", "tab-title": "Зваротныя спасылкі да {{displayText}}", "label-no-unlinked-mentions": "Не знойдзена не звязаных згадак.", "ellipsis": "...", "option-backlink-in-document": "Зваротныя спасылкі ў дакуменце", "option-backlink-in-document-desc": "Прадвызначаны паказваць зваротныя спасылкі пры адкрыцці новых панэляў." }, "outgoing-links": { "name": "Выходныя спасылкі", "desc": "Паказаць выходныя спасылкі і знайсці згадкі іншых нататак у бягучай нататцы.", "action-open": "Адкрыць выходныя спасылкі", "action-show": "Паказаць панэль выходных спасылак", "action-open-for-current": "Адкрыць выходныя спасылкі для гэтага файла", "tab-title": "Выходныя спасылкі з {{displayText}}", "label-links": "Спасылкі", "label-no-links": "Спасылкі не знойдзены.", "label-unlinked-mentions": "Згадкі без сувязі", "tooltip-link-file": "Звязаць з гэтым файлам", "tooltip-not-created": "Яшчэ не створана" }, "tag-pane": { "name": "Панэль тэгаў", "short-name": "Тэгі", "desc": "Паказвае ўсе тэгі і колькасць іх згадак.", "action-show": "Паказаць панэль тэгаў", "label-no-tags": "Не знойдзена тэгаў.", "label-sort-by-name-a-to-z": "Назва тэга (А - Я)", "label-sort-by-name-z-to-a": "Назва тэга (Я - А)", "label-sort-by-frequency-high-to-low": "Па частаце (часта -> рэдка)", "label-sort-by-frequency-low-to-high": "Па частаце (рэдка -> часта)", "action-show-nested-tags": "Паказваць укладзеныя тэгі", "action-collapse-all": "Згарнуць усё", "action-expand-all": "Разгарнуць усё" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Прагляд уласцівасцяў", "desc": "Паказаць метададзеныя вашых файлаў.", "name-global": "Усе ўласцівасці", "name-local": "Уласцівасці файла", "tab-title": "Уласцівасці файла для {{displayText}}", "action-show": "Паказаць усе ўласцівасці", "action-show-local": "Паказаць уласцівасці файла", "opt-unassign-type": "Выдаліць тып", "label-no-properties": "Уласцівасці не знойдзены.", "label-invalid-properties": "Няправільныя ўласцівасці.", "label-sort-by-name-a-to-z": "Імя ўласцівасці (ад А да Я)", "label-sort-by-name-z-to-a": "Імя ўласцівасці (ад Я да А)", "label-sort-by-frequency-high-to-low": "Па частаце (часта -> рэдка)", "label-sort-by-frequency-low-to-high": "Па частаце (рэдка -> часта)", "msg-merge-properties-warning": "Аб'яднаць уласцівасць \"{{oldKey}}\" з \"{{newKey}}\"?", "msg-merge-properties-warning-desc": "У выпадку ўзнікнення канфліктаў значэння будуць аб'яднаны або будзе выкарыстана значэнне з \"{{oldKey}}\".", "action-collapse-all": "Згарнуць усё", "action-expand-all": "Разгарнуць усё", "action-open-local": "Ачысціць уласцівасць файлу", "action-open-daily-note": "Адкрыць штодзённую нататку" }, "page-preview": { "name": "Перадпрагляд старонкі", "desc": "Праглядаць нататку пры навядзенні курсора на ўнутраную спасылку. Навядзенне + Ctrl/Cmd у рэжымя рэдагавання.", "label-empty-attachment": "\"{{linktext}}\" не можа быць знойдзена.", "label-empty-note": "\"{{linktext}}\" яшчэ не створана. Націсніце, каб стварыць.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Рэдактар", "label-source-preview": "Перадпрагляд", "label-source-search": "Пошук, зваротныя і выходныя спасылкі", "label-source-tab-header": "Tab header", "label-require-mod": "Трэба націснуць {{key}} для папярэдняга прагляду нататкі пры навядзенні курсора" }, "bookmarks": { "name": "Закладкі", "desc": "Стварыце закладкі для часта выкарыстоўваных файлаў і пошукавых запытаў.", "action-show": "Паказаць закладкі", "action-collapse-all": "Згарнуць усё", "action-new-bookmark": "Дадаць у закладкі бягучую ўкладку...", "action-new-group": "Новая група закладак", "action-bookmark": "Дадаць у закладкі...", "action-add-bookmark": "Дадаць закладку", "action-edit-bookmark": "Рэдагаваць закладку", "action-bookmark-block": "Дадаць у закладкі тэкставы блок пад курсорам...", "action-bookmark-heading": "Дадаць у закладкі загаловак пад курсорам...", "action-bookmark-search": "Дадаць у закладкі бягучы пошукавы запыт...", "action-remove-bookmark": "Выдаліць з закладак бягучы файл", "action-bookmark-tab-group": "Дадаць у закладкі {{count}} укладку...", "action-bookmark-tab-group_plural": "Дадаць у закладкі {{count}} укладак...", "action-bookmark-all-tabs": "Дадаць у закладкі ўсе ўкладкі...", "action-bookmark-graph": "Дадаць у закладкі гэты граф...", "label-bookmark": "Закладка", "label-bookmarked": "Дададзена ў закладкі", "label-bookmark-with-count": "{{count}} закладка", "label-bookmark-with-count_plural": "{{count}} закладак", "label-no-bookmarks": "Закладкі не знойдзены", "label-invalid-data": "Не атрымалася загрузіць закладкі.", "label-invalid-data-desc": "Файл дадзеных пашкоджаны.", "label-untitled-group": "Група без назвы", "label-untitled-graph": "Граф без назвы", "menu-opt-edit": "Рэдагаваць...", "menu-opt-remove": "Выдаліць", "menu-opt-rename": "Перайменаваць", "menu-opt-bookmark-block": "Дадаць гэты блок у закладкі...", "menu-opt-bookmark-heading": "Дадаць у закладкі гэты загаловак...", "msg-no-search-query": "Няма пошукавага запыту для дадання ў закладкі.", "option-path": "Шлях", "option-query": "Запыт", "option-u-r-l": "URL", "option-title": "Загаловак", "option-group": "Група закладак", "placeholder-bookmark-group": "Закладкі" }, "custom-css": { "name": "Карыстальніцкі CSS", "desc": "Чытае \"obsidian.css\" з вашага сховішча і прымяняе яго.", "setting-community-themes": "Тэмы супольнасці", "msg-fetching-themes": "Загружаюцца дадзеныя аб тэмах супольнасці...", "prompt-filter": "Фільтр...", "label-dark-theme-only": "Толькі цёмныя", "label-light-theme-only": "Толькі светлыя", "label-use": "Выкарыстаць", "label-stop-use": "Выключыць тэму", "label-install-and-use": "Усталюйце і выкарыстоўвайце", "label-update": "Абнавіць", "label-no-readme": "Гэтая тэма не змяшчае файл README.", "tooltip-remove-theme": "Выдаліць тэму", "label-visit-on-github": "Перайсці на GitHub", "msg-load-error": "Не атрымалася загрузіць тэмы супольнасці. Калі ласка, праверце сувязь з інтэрнэтам.", "msg-now-using-theme": "Прыменена CSS-тэма {{title}}.", "msg-deleted-theme": "Тэма {{title}} была выдалена.", "msg-updated-theme": "Тэма {{title}} была абноўлена.", "label-installed": "Усталявана", "label-legacy": "Устарэла", "button-update-all-themes": "Абнавіць усе", "msg-failed-load-themes": "Не атрымалася загрузіць тэмы супольнасці.", "msg-no-updates-found": "Абнаўленні не знойдзены.", "msg-updates-found": "Знойдзена {{count}} тэма для абнаўлення.", "msg-updates-found_plural": "Знойдзена {{count}} тэм для абнаўлення.", "msg-failed-to-install-theme": "Не атрымалася ўсталяваць тэму \"{{name}}\".", "msg-successfully-installed-theme": "Тэма \"{{name}}\" устаноўлена.", "msg-installing-theme": "Устанаўліваецца тэма \"{{name}}\"...", "label-search-summary": "Адлюстроўваецца {{themeCount}}:", "label-update-available": "Даступна абнаўленне" }, "command-palette": { "name": "Меню каманд", "desc": "Увядзіце каманду, якую хочаце запусціць. Дазваляе звяртацца да функцый Obsidian без узаемадзеяння з інтэрфейсам і запамінання спалучэнняў клавіш.", "action-open": "Адкрыць камандную панэль", "instruction-navigate": "навігацыя", "instruction-use": "выкарыстоўваць", "instruction-dismiss": "скасаваць", "label-no-commands": "Каманда не знойдзена.", "prompt-type-command": "Увядзіце назву каманды...", "label-pinned-commands": "Замацаваныя каманды", "option-add-new-pin": "Замацаваць каманду", "option-add-new-pin-description": "Замацаваныя каманды будуць адлюстроўвацца ў верхняй частцы спісу каманд пры пустым пошукавым запыце." }, "markdown-format-importer": { "name": "Імпарт Markdown-файлаў", "desc": "Канвертуе Markdown-файлы з іншых праграм у фармат Obsidian.", "action-open": "Імпарт Markdown-файлаў", "option-roam-tag-fixer": "Выправіць фармат тэгаў з Roam Research", "option-roam-tag-fixer-description": "Канвертуе \"#tag\" і \"#[[tag]]\" у \"[[tag]]\".", "option-roam-highlight-fixer": "Выправіць фармат вылучэння тэксту з Roam Research", "option-roam-highlight-fixer-description": "Канвертуе \"^^highlight^^\" у \"==highlight==\".", "option-roam-todo-converter": "Выправіць чэкбоксы з Roam Research", "option-roam-todo-converter-description": "Канвертуе \"{{[[TODO]]}}\" у \"[ ]\".", "option-bear-highlight-fixer": "Выправіць фармат вылучэння тэксту з Bear", "option-bear-highlight-fixer-description": "Канвертуе \"::highlight::\" у \"==highlight==\".", "zettelkasten-link-fixer": "Выправіць спасылкі на Zettelkasten нататкі", "zettelkasten-link-fixer-description": "Канвертуе спасылкі \"[[UID]]\" у \"[[UID File Name]]\".", "zettelkasten-link-beautifier": "Упрыгожыць спасылкі на Zettelkasten нататкі", "zettelkasten-link-beautifier-description": "Канвертуе і ўпрыгожвае спасылкі \"[[UID]]\" у \"[[UID File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Увага: плагін пераўтворыць усе файлы ў вашым сховішчы, а не толькі бягучы адкрыты файл.", "msg-override-files-warning": "Вашы файлы будуць перазапісаны. Зрабіце бекап усіх файлаў перад тым, як пачаць канвертаванне.", "label-start-conversion": "Пачаць канвертацыю", "label-stop": "Спыніць", "label-go-back": "Назад", "label-done": "Закрыць", "label-processing": "Апрацоўка...", "label-cancelling": "Скасаванне...", "label-finished": "Гатова!", "label-processed-files": "Апрацавана", "label-modified-files": "Зменена", "label-total-replacements": "Усяго замен", "label-failed": "Failed" }, "daily-notes": { "name": "Штодзённыя нататкі", "desc": "Адкрывае сённяшнюю штодзённую нататку альбо стварае яе ўпершыню.", "short-name": "Сёння", "action-open": "Сённяшняя нататка", "action-open-previous": "Адкрыць папярэднюю штодзённую нататку", "action-open-next": "Адкрыць наступную штодзённую нататку", "action-insert-text": "Уставіць тэкст у штодзённую нататку", "action-insert-link": "Уставіць спасылку ў штодзённую нататку", "msg-fail-format": "Не ўдалося стварыць штодзённую нататку. Няправільны фармат \"{{format}}\".", "msg-fail-folder": "Не ўдалося стварыць штодзённую нататку. Папка \"{{folderOption}}\" не знойдзена.", "msg-fail-template-file": "Не ўдалося стварыць штодзённую нататку. Файл шаблону \"{{template}}\" не знойдзены.", "msg-no-previous": "Ранейшыя штодзённыя нататкі адсутнічаюць.", "msg-no-next": "Пазнейшыя штодзённыя нататкі адсутнічаюць.", "option-date-format": "Фармат даты", "label-refer-to-syntax": "Для больш падрабязнай інфармацыі аб сінтаксісе перайдзіце па: ", "label-syntax-link": "спасылцы", "label-syntax-live-preview": "Вось як гэта будзе выглядаць: ", "option-new-file-location": "Новае размяшчэнне файлу", "option-new-file-location-description": "Шлях да папкі, у якой будзе стварацца новая штодзённая нататка.", "option-template": "Размяшчэнне шаблону", "option-template-description": "Шлях да файла, які будзе ўжывацца як шаблон.", "option-open-on-start": "Адкрываць штодзённую нататку па запуску праграмы", "option-open-on-start-description": "Аўтаматычна адчыняць сённяшнюю нататку пры адкрыцці сховішча." }, "unique-note-creator": { "name": "Канструктар унікальных нататак", "desc": "Стварэнне нататак з унікальнымі ідэнтыфікатарамі ў выглядзе часовых пазнак, як у Zettelkasten і іншых картатэках.", "short-name": "Унікальны", "action-create-note": "Стварыць нататку з унікальным ідэнтыфікатарам", "action-add-link": "Add unique internal link", "option-new-file-location": "Размяшчэнне новага файла", "option-new-file-location-description": "Шлях да папкі, у якой будзе стварацца новая нататка з унікальным ідэнтыфікатарам.", "msg-folder-not-found": "Не ўдалося стварыць нататку з унікальным ідэнтыфікатарам. Папка \"{{folderOption}}\" не знойдзена.", "option-template-file": "Размяшчэнне шаблону", "option-template-file-description": "Шлях да файла, які будзе ўжывацца як шаблон.", "option-template-file-placeholder": "Прыклад: папка1/нататка", "option-id-format": "Фармат унікальнага ідэнтыфікатара", "msg-template-file-not-found": "Не ўдалося стварыць нататку з унікальным ідэнтыфікатарам. Файл шаблону \"{{template}}\" не знойдзены.", "msg-failed-to-generate": "Не ўдалося стварыць нататку з унікальным ідэнтыфікатарам. Няправільны фармат \"{{format}}" }, "random-note": { "name": "Выпадковая нататка", "desc": "Адкрывае выпадковую нататку. Можа спатрэбіцца для паўторнага чытання і нечаканых адкрыццяў.", "short-name": "Выпадкова", "action-open": "Адкрыць выпадковую нататку" }, "outline": { "name": "Структура", "desc": "Паказвае структуру бягучага файла або звязанай панэлі.", "action-open": "Адкрыць структуру", "action-show": "Паказаць панэль структуры", "action-open-for-current": "Адкрыць панэль структуры бягучага файла", "tab-title": "Структура {{displayText}}", "label-no-headings": "Не знойдзена ніводнага загалоўка.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Колькасць слоў", "desc": "Паказвае колькасць слоў у радку стану." }, "slides": { "name": "Слайды", "desc": "Прыемны сюрпрыз ад Мarkdown. Каб падзяліць слайды, выкарыстоўвайце \"---\".", "action-start": "Пачаць прэзентацыю" }, "audio-recorder": { "name": "Дыктафон", "desc": "Запісвае аўдыё і захоўвае яго як далучэнне.", "action-start": "Пачаць запіс аўдыя", "action-stop": "Спыніць запіс аўдыя", "action-toggle": "Пачаць/спыніць запіс", "msg-access-denied": "Доступ да мікрафона быў адхілены. Калі ласка, дазвольце доступ з панэлі налад вашай сістэмы.", "msg-pending-grant": "Дайце дазвол на доступ да мікрафона, каб пачаць запіс.", "msg-no-microphone": "Не ўдалося выявіць мікрафон." }, "open-with-default-app": { "name": "Адкрыць у прадвызначанай праграме", "desc": "Дадае магчымасць адкрываць бягучы файл у прадвызначанай праграме.", "action-open-file": "Адкрыць у прадвызначанай праграме", "action-open-file-mobile": "Абагуліць", "action-show-in-folder": "Паказаць у папцы", "action-show-in-folder-mac": "Паказаць у Finder" }, "templates": { "name": "Шаблоны", "desc": "Уставіць змесціва шаблону з папкі шаблонных файлаў.", "action-insert": "Уставіць шаблон", "action-insert-current-date": "Уставіць бягучую дату", "action-insert-current-time": "Уставіць бягучы час", "option-template-folder-location": "Шлях да папцы з шаблонамі", "option-template-folder-location-description": "Файлы гэтай папцы будуць даступныя як шаблоны.", "option-template-date-format": "Фармат даты", "option-template-date-format-description": "{{date}} у файле шаблону заменіцца на гэта значэнне.", "option-template-date-format-description2": "Выкарыстоўвайце канструкцыю {{date:YYYY-MM-DD}}, каб задаць фармат прама ў шаблоне.", "option-template-time-format": "Фармат часу", "option-template-time-format-description": "{{time}} у файле шаблону заменіцца на гэта значэнне.", "option-template-time-format-description2": "Выкарыстоўвайце канструкцыю {{time:HH:mm}}, каб задаць фармат прама ў шаблоне.", "instruction-navigate": "навігацыя", "instruction-insert": "уставіць шаблон", "instruction-dismiss": "скасаваць", "msg-no-templates-found": "Шаблоны не знойдзены", "msg-fail-invalid-folder": "Не ўдалося адлюстраваць шаблоны. Недапушчальнае імя папцы шаблонаў.", "msg-fail-folder-not-found": "Не ўдалося адлюстраваць шаблоны. Папка \"{{folderOption}}\" не знойдзена.", "msg-fail-invalid-template-properties": "Не ўдалося ўставіць шаблон, не ўдалося прачытаць уласцівасці ў файле шаблона.", "msg-no-folder-set": "Не ўдалося адлюстраваць шаблоны. Не настроена папка з шаблонамі.", "prompt-type-template": "Увядзіце назву шаблона..." }, "translucency": { "name": "Напаўпразрыстае акно", "desc": "Дадае інтэрфейсу адчуванні глыбіні, асабліва ў цёмным рэжыме. Не працуе пад Linux." }, "slash-command": { "name": "Слэш-каманды", "desc": "Уключыць выбар каманд у рэдактары пры наборы \"/\"." }, "editor-status": { "name": "Рэжым рэдактару", "desc": "Дадаць у радок стану элемент, які адлюстроўвае бягучы рэжым рэдактара.", "read": "Чытанне", "edit-source": "Зыходны код", "edit-live-preview": "Дынамічны прагляд" }, "publish": { "name": "Апублікаваць", "desc": "Публікуйце свае нататкі з дапамогай Obsidian Publish.", "action-publish-changes": "Публікацыя змен...", "action-publish-file": "Апублікаваць бягучы файл", "label-no-internet-access": "Для публікацыі змен патрабуецца доступ да інтэрнэту.", "label-publish-service-description": "Obsidian Publish гэта дадатковы платны сэрвіс для публікацыі нататак у інтэрнэт напрамую з Obsidian.", "label-please-login": "Перад пачаткам публікацыі ўвайдзіце ў свой уліковы запіс Obsidian ці зарэгіструйце новы.", "label-no-publish-subscription": "Вы не падпісаны на сэрвіс Obsidian Publish.", "button-purchase": "Набыць", "label-manage-sites": "Упраўленне сайтамі", "label-no-sites": "У вас няма сайтаў.", "button-choose": "Абраць", "tooltip-edit-site-id": "Змяніць ID сайта", "tooltip-delete-site": "Выдаліць сайт", "label-delete-site-confirmation": "Вы сапраўды хочаце выдаліць гэты сайт?", "label-delete-site-details": "Сайт будзе выдалены неадкладна і назаўсёды.", "label-confirm-delete-site": "Пацвердзіць выдаленне сайту \"{{site}}\"", "option-site-id": "ID сайта", "option-site-id-description": "Сайт будзе даступны па адрасе https://publish.obsidian.md/{site id}. Яго можна змяніць пазней. Дапушчаюцца толькі малыя літары, лічбы і працяжнік.", "option-site-id-placeholder": "Абярыце ID сайта", "button-create": "Стварыць", "msg-invalid-site-id": "У ID сайта дапускаюцца толькі малыя літары, лічбы і працяжнік.", "msg-site-id-in-use": "Такі ID сайта ўжо заняты, паспрабуйце іншы.", "msg-create-site-issue": "Пры стварэнні сайта адбылася памылка.", "label-site-options": "Налады сайта", "option-site-general": "Агульныя", "option-site-components": "Кампаненты", "option-site-appearance": "Афармленне", "option-site-reading-experience": "Зручнасць чытання", "option-site-misc": "Іншыя налады сайта", "option-site-name": "Назва сайта", "option-site-name-description": "Назва публікуемага сайта. Яно будзе паказвацца ў загалоўках старонак.", "option-site-name-placeholder": "Назва сайта", "option-home-page-file": "Хатняя старонка", "option-home-page-file-description": "Першая старонка, якую ўбачыць наведвальнік апублікаванага сайта", "option-home-page-file-placeholder": "Абярыце апублікаваны файл", "option-logo": "Лагатып", "option-logo-description": "Выберыце відарыс у якасці лагатыпа.", "option-logo-placeholder": "Любой загружаны відарыс са сховішча...", "option-site-collaboration": "Сумесная праца", "option-site-collaboration-desc": "Кіраванне ўдзельнікамі для гэтага сайта.", "option-customize-navigation": "Наладзіць навігацыю", "option-customize-navigation-desc": "Змяніць парадак элементаў навігацыі і схаваць старонкі або папкі.", "option-navigation-order": "Парадак адлюстравання элементаў навігацыі", "option-hide-items-in-navigation": "Схаваць старонкі ці папкі ў навігацыі", "option-hide-items-in-navigation-desc": "Націсніце правай кнопкай мышы і выберыце «Схаваць», каб пэўныя старонкі не з'яўляліся ў навігацыі сайта. Старонкі будуць па-ранейшаму даступныя праз спасылкі або непасрэдна па URL.", "option-show-hidden-items": "Паказаць схаванае", "button-customize-sidebar": "Кіраваць", "label-navigation-modal-title": "Навігацыя", "label-navigation-modal-desc": "Перацягвайце і парадкуйце элементы навігацыі, каб задаць парадак іх адлюстравання на вашым сайце Publish.", "option-hide-in-navigation": "Схаваць у навігацыі", "button-manage-collaborators": "Кіраваць", "option-theme": "Тэма", "option-theme-description": "Абярыце каляровую тэму афармлення сайта.", "option-theme-system": "Адаптацыя да сістэмнай тэмы", "option-show-theme-toggle": "Пераключальнік Светлая/Цёмная тэма", "option-show-theme-toggle-description": "Дазволіць наведвальніку самастойна пераключаць светлую і цёмную тэму.", "option-show-navigation": "Адлюстраванне навігацыі", "option-show-navigation-description": "Адлюстроўваць у левай частцы спіс усіх апублікаваных старонак.", "option-show-search": "Адлюстраванне радка пошуку", "option-show-search-description": "Адлюстроўваць радок пошуку над навігацыяй, каб наведвальнікі маглі шукаць па зместу і загалоўках вашага сайта.", "option-show-graph": "Адлюстраванне графа", "option-show-graph-description": "Адлюстроўваць маленькі граф на кожнай старонцы.", "option-show-outline": "Адлюстраванне зместу", "option-show-outline-description": "Адлюстроўваць структуру загалоўкаў на кожнай старонцы.", "option-show-backlinks": "Паказаць зваротныя спасылкі", "option-show-backlinks-description": "Паказаць падзел зваротных спасылак напрыканцы кожнай старонцы.", "option-sliding-window-mode": "Выкарыстанне рассоўных вокнаў", "option-sliding-window-mode-description": "Адкрываць старонкі ў новых абласцях справа. Дазваляе перасоўвацца па абласцях гарызантальна.", "option-hover-preview-file": "Адлюстраванне прадпрагляду", "option-hover-preview-file-description": "Паказваць прагляд пры навядзенні курсора на спасылку.", "option-hide-title": "Схаваць загаловак старонкі", "option-hide-title-description": "Схаваць загаловак назвы старонкі. Карысна, калі на пачатку кожнай старонкі ёсць уласныя загалоўкі.", "option-readable-line-length": "Абмяжуйце максімальную даўжыню радка", "option-readable-line-length-description": "Павялічвае зручнасць чытання доўгіх абзацаў, але памяншае колькасць інфармацыі, якая змяшчаецца на экране.", "option-site-password": "Паролі", "option-site-password-description": "Абмежаваць доступ да сайта з дапамогай пароляў.", "option-google-analytics": "Код сачэння Google Analytics", "option-google-analytics-description": "Наладзіць Google Analytics для сайта. Даступна толькі для наведвальнікаў з вашага асабістага даменнага URL. Папярэдне звярайцеся з мясцовымі законамі і патрабаваннямі рэгулятара.", "button-manage-passwords": "Наладзіць", "button-save-site-settings": "Захаваць", "msg-updated-options": "Налады для сайту захаваны.", "button-go-back": "Назад", "label-publishing-to": "Публікацыя на", "tooltip-switch-site": "Выбраць іншы сайт", "button-add-linked": "Дадаць звязаныя", "tooltip-add-linked": "Дадаць усе файлы, звязаныя з выдзеленымі аб'ектамі", "msg-added-linked-files": "Дададзены {{count}} звязаны файл.", "msg-added-linked-files_plural": "Дададзена {{count}} звязаных файлаў.", "tooltip-open-site-options": "Налады сайта", "label-no-changes-detected": "Змены не выяўлены.", "label-changed-files-to-be-published": "Зменены", "label-unchanged-files-already-published": "Без змен (вылучыце для выдалення)", "label-file-selected": " вылучана", "button-select-all-files": "Вылучыць усе", "label-custom-navigation-title": "Элементы навігацыі", "button-deselect-all-files": "Зняць вылучэнне з усіх", "label-new-files-to-be-published": "Новы", "button-publish": "Апублікаваць", "msg-no-permission-to-publish-to-site": "У вас недастаткова правоў для публікацыі на абраным сайце.", "msg-select-at-least-one-file": "Выберыце, калі ласка, як найменш адзін файл.", "label-upload-changes": "Запампаваць змены", "button-done": "Гатова", "button-stop": "Спыніць", "label-status-uploading": "Загружаецца", "label-status-to-publish": "Да публікацыі", "label-status-to-delete": "Да выдалення", "label-status-published": "Апублікавана", "label-status-deleted": "Выдалена", "label-status-failed": "Не ўдалося", "label-status-cancelled": "Скасавана", "button-change": "Змяніць", "label-clear-cache": "Змены адлюструюцца на сайце на працягу некалькіх хвілін. Паспрабуйце ачысціць кэш браўзера, калі змены не бачныя.", "label-visit-site": "Ваш сайт даступны па адрасе: ", "msg-something-went-wrong": "Нешта пайшло не так. Падрабязнасці ў кансолі для распрацоўшчыкаў.", "msg-network-error": "Адбылася сеткавая памылка. ", "label-manage-passwords": "Кіраванне паролямі", "label-add-password": "Дадаць пароль", "action-new-password": "Новы пароль", "label-no-password": "Ваш сайт не абаронены паролем і бачны ўсім.", "label-have-password": "Ваш сайт абаронены паролем. Калі вы ўстанавілі некалькі пароляў, наведалі могуць атрымаць доступ да сайта з любым з іх.", "option-password-name": "Пароль", "option-password-desc": "Пароль хэшуецца і не захоўваецца ў выглядзе звычайнага тэксту.", "option-password-placeholder": "Ваш пароль", "option-nickname-name": "Псеўданім (апцыянальна)", "option-nickname-desc": "Усталюйце псеўданім, каб запомніць, для чаго ці для каго дадзены пароль.", "action-add-password": "Дадаць пароль", "label-untitled-password": "Пароль без назвы", "label-password-created-time": "Створана {{time}}", "msg-added-new-password": "Дададзены новы пароль.", "option-custom-domain": "Уласны дамен", "option-custom-domain-desc": "Выкарыстоўвайце свой уласны дамен замест https://publish.obsidian.md/{site id}.", "option-noindex": "Забараніць індэксацыю пошукавікам", "option-noindex-desc": "Прадухіліць індэксацыю сайта пошукавымі машынамі.", "button-configure": "Наладзіць", "label-configure-custom-domain": "Налады ўласнага дамена", "option-custom-url-name": "Уласны URL", "option-custom-url-desc": "URL-адрас па якім будзе даступны ваш сайт.", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "Перанакіроўваць на ўласны дамен", "option-custom-url-redirect-desc": "Перанакіроўваць наведвальнікаў publish.obsidian.md/id на ваш асабісты дамен.", "button-update-custom-domain": "Захаваць", "label-custom-domain-instructions": "Больш інфармацыі пра налады ўласнага дамену ў {{link}}.", "label-custom-domain-link-name": "дакументацыя Obsidian", "label-site-usage": "Вы карыстаецеся {{site}} з {{limit}}.", "button-add-more-sites": "Купіць яшчэ сайт", "label-no-sites-bought": "Вы не купілі ніводнага сайта.", "button-get-site": "Набыць", "label-manage-sharing": "Наладзіць доступ для \"{{name}}\"", "label-sharing-with-users": "Цяпер агульны доступ да гэтага сайта ёсць у наступных людзей.", "label-not-sharing": "Зараз ні ў кога няма агульнага доступу да гэтага сайта.", "label-invite-pending": "Чакаецца", "tooltip-remove-user": "Выдалены карыстальніка", "option-invite-user": "Запрасіць карыстальніка", "placeholder-invite-user": "Увядзіце іх адрас электроннай пошты...", "error-email-must-be-valid": "Калі ласка, увядзіце дзейны адрас электроннай пошты, каб запрасіць каго-небудзь.", "msg-enable-publish-plugin": "Калі ласка, уключыце базавы плагін \"Публікацыя\" у Наладах -> Базавыя плагіны для прагляду сайтаў.", "label-your-sites": "Вашы сайты", "label-sites-shared-with-you": "Сайты да якіх у вас ёсць агульны доступ", "tooltip-leave-site-sharing": "Спыніць сумесную працу на гэтым сайце", "label-leave-site-confirmation": "Пацвердзіць спыненне сумеснай працы на сайце", "label-leave-site-confirmation-details": "Гэта прывядзе да выдалення гэтага сайта са спісу сайтаў, да якіх у вас ёсць агульны доступ. Гэтае дзеянне не можа быць адменена.", "label-leave-site-confirmation-details-2": "Калі ласка, звяжыцеся з уладальнікам сайта, калі вы хочаце зноў атрымаць доступ да гэтага сайта.", "button-leave": "Выйсці", "label-compare-with-live": "Параўнаць з публічнай версіяй", "button-use-live-version": "Выкарыстоўваць публічную версію", "label-confirm-override": "Пацвердзіце перазапіс лакальнай версіі", "label-confirm-override-1": "Вы ўпэўненыя, што жадаеце перазапісаць лакальную версію?", "label-confirm-override-2": "Будзе выкарыстоўвацца публічная версія, а ваша лакальная версія будзе выдалена. Калі ласка, зрабіце рэзервовыя копіі, калі гэта неабходна.", "button-proceed": "Працягнуць", "message-successfully-used-live-version": "Публічная версія выкарыстана для перазапісу вашай лакальнай версіі.", "label-open-in-live-site": "Open in live site", "label-open-file": "Адкрыць файл", "tooltip-manage-publish-filters": "Наладзіць фільтры публікацыі", "option-included-folders": "Уключаныя папкі", "option-included-folders-desc": "Файлы ў гэтых папках будуць аўтаматычна абраныя пры праглядзе змен перад публікацыяй.", "option-currently-included-folders": " Гэтыя папкі зараз уключаны:", "option-excluded-folders": "Выключаныя папкі", "option-excluded-folders-desc": "Файлы ў гэтых папках не будуць адлюстроўвацца пры праглядзе змен перад публікацыяй. Гэтая настройка мае прыярытэт над уключанымі папкамі.", "label-number-of-folders-included": "Obsidian Publish уключае {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish выключае {{folders}}.", "label-manage-included-folders": "Наладзіць уключаныя папкі", "label-manage-excluded-folders": "Наладзіць выключаныя папкі", "label-add-included-folder": "Уключыць папку", "label-add-included-folder-desc": "Вы можаце ўключыць як існуючыя папкі, так і папкі, якія яшчэ не былі створаны.", "tooltip-contact-support": "Звярнуцца ў службу падтрымкі", "label-navigation-preview": "Прадпрагляд навігацыі" }, "workspaces": { "name": "Прасторы", "desc": "Захаваць і загрузіць прастору.", "action-load-layout": "Загрузіць прастору", "action-manage-layouts": "Кіраваць прасторамі", "action-save": "Захаваць макет", "action-save-and-load-layout": "Захаваць і загрузіць іншую прастору", "placeholder-save-current-layout-as": "Захаваць бягучую прастору як...", "button-save": "Захаваць", "button-load": "Загрузіць", "tooltip-delete-layout": "Выдаліць прастору", "msg-enter-name": "Увядзіце імя для новай прасторы.", "msg-save-layout-success": "Прастора захавана.", "label-no-layout-found": "Няма захаваных прастораў.", "label-workspace-modified-time": "Зменена {{time}}", "placeholder-type-to-search-layouts": "Увядзіце імя прасторы..." }, "sync": { "name": "Сінхранізацыя", "desc": "Сінхранізуйце файлы з дапамогай Obsidian Sync.", "action-view-version-history": "Паказаць гісторыю версій", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Адкрыць гісторыю версій", "action-view-sync-sidebar": "Паказаць гісторыю сінхранізацыі", "action-activity-log": "Адкрыць журнал актыўнасці", "label-load-more": "Загрузіць яшчэ", "label-show-diff": "Паказаць адрозненні", "label-copy-to-clipboard": "Скапіяваць у буфер абмену", "label-restore-this-version": "Аднавіць гэту версію", "msg-already-latest-version": "Бягучая версія самая апошняя.", "msg-restored-version": "Удалося аднавіць версію ад {{time}}", "label-file-deleted": "Гэты файл быў выдалены", "label-file-deleted-via": "Выдалена праз {{ device }}", "label-file-renamed-from": "Гэты файл быў перайменаваны з \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 версія", "label-revision_plural": "{{revisions}} версій", "label-via-device": "праз {{device}}", "label-no-history": "Для гэтага файла няма гісторыі сінхранізацыі.", "label-empty-file": "Пуста", "label-unable-to-retrieve": "Не ўдалося атрымаць гісторыю версій", "label-setting-files": "Файлы налад", "label-deleted-files": "Выдаленыя файлы", "label-version-history": "Гісторыя змен", "label-click-to-see-history": "Націсніце на выдалены файл, каб прагледзець яго гісторыю.", "label-create-remote-vault": "Стварэнне аддаленага сховішча", "msg-please-enter-password": "Калі ласка, увядзіце пароль.", "msg-vault-name-cannot-be-empty": "Назва сховішча не можа быць пустой.", "msg-successfully-created-vault": "Аддаленае сховішча \"{{name}}\" створана.", "label-remote-vault-explanation": "Сховішчы ў Obsidian Sync бяспечна сінхранізуюць вашыя дадзеныя паміж прыладамі.", "option-vault-name": "Назва сховішча", "option-vault-name-desc": "Дапамагае запамятаць прызначэнне сховішча.", "option-vault-region": "Рэгіён", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Абярыце бліжэйшае да вас месцазнаходжанне сервера для размяшчэння аддаленага сховішча. Гэта не можа быць зменена ў будучыні.", "option-vault-name-placeholder": "Маё файнае сховішча", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Пароль шыфравання", "option-encryption-password-desc": "Гэты пароль нельга змяніць пазней.", "option-encryption-password-desc-warning": "Калі вы забудзеце пароль, доступ да сінхранізаваных дадзеных будзе страчаны назаўжды.", "option-encryption-password-desc-2": "Гэтая налада ніяк не ўплывае на вашыя лакальныя дадзеныя.", "label-encryption-password-explanation": "Аддаленае сховішча «{{name}}» зараз зашыфравана. Каб разблакіраваць, увядзіце пароль.", "option-encryption-password-placeholder": "Ваш пароль", "label-unlock-encrypted-vault": "Разблакіруйце сваё аддаленае сховішча", "button-unlock-vault": "Разблакіраваць сховішча", "label-remote-vaults": "Вашы аддаленыя сховішчы", "label-vault-created-time": "Створана {{time}}", "tooltip-delete-remote-vault": "Выдаліць", "tooltip-rename-remote-vault": "Перайменаваць", "label-rename-remote-vault": "Перайменаваць аддаленае сховішча \"{{name}}\"", "label-rename-remote-vault-desc": "Увядзіце новую назву для гэтага аддаленага сховішча.", "tooltip-manage-sharing": "Наладзіць агульны доступ", "label-confirm-delete-remote-vault": "Пацвердзіць выдаленне сховішча", "label-confirm-delete-remote-vault-question": "Вы сапраўды хочаце выдаліць гэтае сховішча з Obsidian Sync?", "label-confirm-delete-remote-vault-result": "Усе дадзеныя на нашым серверы, у тым ліку гісторыя версій. Вашы лакальныя файлы застануцца некранутымі.", "label-confirm-delete-remote-vault-warning": "Гэтае дзеянне нельга адмяніць.", "msg-remote-vault-deleted": "{{name}} выдалена.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: падключанае выдаленае сховішча больш не існуе.", "button-connect-to-remote-vault": "Падключыць", "button-disconnect-from-remote-vault": "Адключыць", "label-sync-status": "Сінхранізацыя: {{status}}", "label-not-remote-vaults": "У вас няма аддаленых сховішчаў.", "label-no-subscription": "У вас няма актыўнай падпіскі Obsidian Sync.", "label-please-visit": "Калі ласка, наведайце", "label-preview-unsupported-file-type": "Немагчыма праглядзець файлы {{type}}.", "button-create-new-remote-vault": "Стварыць новае сховішча", "label-sync-log": "Журнал сінхранізацыі", "option-event-type-all": "Усе", "option-event-type-errors": "Памылкі", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Канфлікты зліцця", "button-copy-sync-log": "Скапіяваць журнал сінхранізацыі", "msg-successfully-copied-sync-log": "Журнал сінхранізацыі скапіяваны.", "button-retry": "Паўтарыць", "button-purchase-subscription": "Набыць", "label-third-party-sync-warning": "Знойдзена канфліктуючая служба сінхранізацыі", "label-third-party-sync-warning-desc": "Папярэджанне: Падобна, што ваша сховішча выкарыстоўвае {{service}} у якасці іншай службы сінхранізацыі. Калі вы карыстаецеся Obsidian Sync з гэтым сховішчам, вы можаце сутыкнуцца з канфліктамі, пашкоджаннем файлаў ці стратай дадзеных.", "label-icloud-drive-warning": "Калі вы карыстаецеся iCloud Drive, вашыя папкі Дакументы і Працоўны стол могуць быць сінхранізаваныя iCloud. Гэта можа прывесці да канфліктаў з Obsidian Sync.", "option-remote-vault": "Аддаленае сховішча", "button-choose-remote-vault": "Абраць", "button-manage-remote-vault": "Кіраваць", "option-remote-vault-desc-connected": "Устаноўлена злучэнне з аддаленым сховішчам \"{{name}}\".", "option-remote-vault-desc-not-connected": "Няма злучэння ні з адным аддаленым сховішчам.", "option-sync-status": "Статус сінхранізацыі", "option-sync-status-desc-paused": "Obsidian Sync прыпынена.", "option-sync-status-desc-running": "Obsidian Sync працуе.", "option-device-name": "Назва прылады", "option-device-name-desc": "Гэтае імя будзе адлюстроўвацца ў журнале сінхранізацыі. Пакіньце пустым для выкарыстання прадвызначанага імя.", "button-resume": "Працягнуць", "button-pause": "Паўза", "option-view-deleted-files": "Выдаленыя файлы", "option-view-deleted-files-desc": "Прагляд і аднаўленне выдаленых файлаў.", "option-sync-log": "Сінхранізацыя актыўнасці", "option-sync-log-desc": "Прагляд нядаўніх дзеянняў сінхранізацыі для адладкі.", "button-view": "Перагляд", "button-bulk-restore": "Масавае аднаўленне", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Ідзе аднаўленне...", "msg-restoring-complete": "Аднаўленне завершана: {{succeeded}} паспяхова і {{failed}} няўдачна.", "option-vault-size": "Памер сховішча", "option-vault-size-desc": "Вы выкарыстоўваеце {{size}} з {{limit}}", "option-vault-size-unknown": "Не ўдалося вызначыць памер вашага сховішча.", "option-vault-size-loading": "Вызначэнне памеру вашага сховішча...", "option-over-size": "Памер сховішча перавышае ліміт", "option-almost-over-size": "Памер сховішча набліжаецца да мяжы", "msg-largest-files": "Прагляд найбольшых файлаў", "msg-largest-files-desc": "Гэта файлы, якія займаюць найбольшую колькасць месца. Пасля выдалення ўкладанняў націсніце Ачысціць для вызвалення месца ў звязаных сховішчах.", "button-upgrade-storage": "Павялічыць сховішча", "button-purge-remote": "Ачысціць", "button-hide-my-changes": "Схаваць мае змены", "tooltip-purge-remote": "Назаўсёды ачысціце выдаленыя ўкладанні з аддаленага сховішча, каб сэканоміць месца.", "msg-purge-complete": "Ачыстка скончана.", "option-prevent-sleep": "Забараніць пераход у рэжым сну", "option-prevent-sleep-desc": "Захоўвае праграму актыўнай і не дазваляе прыладзе пераходзіць у рэжым сну, для сінхранізацыі файлаў.", "option-selective-sync": "Выбарачная сінхранізацыя", "option-excluded-folders": "Выключаныя папкі", "option-excluded-folder-desc": "Абярыце папкі, якія не будуць сінхранізаваныя.", "option-currently-excluded-folders": " Бягучы спіс выключэнняў:", "button-manage-excluded-folders": "Наладзіць", "option-sync-image": "Сінхранізаваць відарысы", "option-sync-image-desc": "Падтрымліваюцца пашырэння відарысаў: {{extensions}}.", "option-sync-audio": "Сінхранізаваць аўдыё", "option-sync-audio-desc": "Падтрымліваюцца пашырэння аўдыё: {{extensions}}.", "option-sync-video": "Сінхранізаваць відэа", "option-sync-video-desc": "Падтрымліваюцца пашырэнні відэа: {{extensions}}.", "option-sync-pdf": "Сінхранізаваць файлы PDF", "option-sync-pdf-desc": "Сінхранізаваць PDF файлы.", "option-sync-unsupported": "Сінхранізаваць усе астатнія тыпы файлаў", "option-sync-unsupported-desc": "Сінхранізаваць тыпы файлаў, якія не падтрымліваюцца.", "option-vault-config-sync": "Настройка сінхранізацыі сховішча", "option-view-config-files": "Гісторыя версій налад", "option-view-config-files-desc": "Прагляд і аднаўленне файлаў налад.", "option-sync-app": "Асноўныя налады", "option-sync-app-desc": "Уключыць сінхранізацыю налад рэдактара, файлаў, гарачых клавіш і г.д.", "option-sync-appearance": "Налады выгляду", "option-sync-appearance-desc": "Сінхранізаваць налады выгляду, такія як начны рэжым, актыўная тэма і ўключаныя сніпеты.", "option-sync-appearance-data": "Тэмы і сніпеты", "option-sync-appearance-data-desc": "Сінхранізаваць спампаваныя тэмы і сніпеты. Ці будуць яны ўключаны, залежыць ад папярэдняй налады.", "option-sync-hotkey": "Гарачыя клавішы", "option-sync-hotkey-desc": "Сінхранізаваць уласныя гарачыя клавішы.", "option-sync-core-plugin": "Спіс актыўных базавых плагінаў", "option-sync-core-plugin-desc": "Сінхранізаваць актыўныя базавыя плагіны.", "option-sync-core-plugin-data": "Налады базавых плагінаў", "option-sync-core-plugin-data-desc": "Сінхранізаваць налады базавых плагінаў.", "option-sync-community-plugin": "Спіс актыўных плагінаў супольнасці", "option-sync-community-plugin-desc": "Сінхранізаваць актыўныя плагіны супольнасці.", "option-sync-community-plugin-data": "Усталяваныя плагіны супольнасці", "option-sync-community-plugin-data-desc": "Сінхранізаваць устаноўленыя плагіны супольнасці (.js, .css, and manifest.json файлы) і іх налады.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync - сэрвіс для сінхранізацыі сховішчаў з падтрымкай скразнога шыфравання і гісторыяй версій.", "label-account-required": "Перад пачаткам сінхранізацыі ўвайдзіце ў свой уліковы запіс Obsidian ці зарэгіструйце новы.", "label-current-file": "Бягучы файл", "label-sync-changes": "Сінхранізаваць змены", "label-today": "Сёння", "label-yesterday": "Учора", "label-this-week": "На гэтым тыдні", "label-older": "Старэйшы", "label-last-sync": "Апошняя сінхр.", "label-more": "{{count}} больш", "button-sign-up": "Рэгістрацыя", "button-log-in": "Увайсці", "label-manage-excluded-folders": "Наладжванне выключэнняў", "label-number-of-folders-excluded": "{{folders}} зараз выключаны з сінхранізацыі.", "label-add-excluded-folder": "Выключыць папку", "label-add-excluded-folder-desc": "Вы можаце выключыць як існуючыя папкі, так і папкі, якія яшчэ не былі створаны.", "tooltip-remove-excluded-folder": "Выдаліць са спісу выключаных", "label-setup-connection": "Налады злучэння", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "Усталявана злучэнне са сховішчам \"{{name}}\".", "button-start-syncing": "Пачаць сінхранізацыю", "label-confirm-merge-vault": "Пацвердзіць аб'яднанне сховішч", "msg-vault-has-notes": "Ваша лакальнае сховішча ўжо змяшчае некаторыя нататкі.", "msg-vault-merge-warning": "Калі вы падключыцеся да аддаленага сховішча \"{{name}}\", нататкі ў вашым лакальным сховішчы будуць аб'яднаны з нататкамі з вашага аддаленага сховішча. У выпадку канфліктаў будзе захавана апошняя версія нататкі.", "tooltip-update-setting-on-all-devices": "Калі ласка, абнавіце гэты параметр і перазапусціце праграму на ўсіх прыладах, дзе вы хочаце, каб ён уступіў у сілу.", "label-sharing-with-users": "Зараз агульны доступ да гэтага знешняга сховішча ёсць у наступных людзей.", "label-not-sharing": "Цяпер ні ў каго няма агульнага доступу да гэтага знешняга сховішча.", "label-vaults-shared-with-you": "Сховішчы да якіх у вас ёсць агульны доступ", "tooltip-leave-vault-sharing": "Спыніць сумесную працу з гэтым сховішчам", "label-leave-vault-confirmation": "Пацвердзіць спыненне сумеснай працы са сховішчам", "label-leave-vault-confirmation-details": "Гэта прывядзе да выдалення гэтага сховішча са спісу сховішчаў, да якіх у вас ёсць агульны доступ. Гэтае дзеянне не можа быць адменена.", "label-leave-vault-confirmation-details-2": "Калі ласка, звяжыцеся з уладальнікам сховішча, калі вы хочаце зноў атрымаць доступ да гэтага сховішча.", "button-leave": "Выйсці", "msg-error-failed-to-fetch": "Не атрымалася загрузіць аддаленыя сховішчы.", "label-require-subscription-to-connect": "Вам неабходна мець падпіску Obsidian Sync для падключэння да гэтага сховішча.", "option-contact-support": "Звярнуцца ў службу падтрымкі", "option-contact-support-desc": "Калі ў вас узнікнуць якія-небудзь праблемы з Obsidian Sync, калі ласка, звяжыцеся з намі, каб мы маглі вам дапамагчы! Вы можаце звязацца з намі па адрасе support@obsidian.md.", "button-copy-debug": "Скапіяваць звесткі адладкі", "button-email-support": "Падтрымка па электроннай пошце", "label-sync-disconnected": "Сінхранізацыя не падключана да аддаленага сховішча.", "msg-remote-vault-limit-hit": "Obsidian Sync дазваляе ствараць да 5 аддаленых сховішчаў. Каб стварыць новае сховішча, выдаліце адно з існуючых.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "Аднаўленне файлаў", "desc": "Дазваляе аднаўляць нядаўнія здымкі файлаў пасля выпадковай страты дадзеных. Здымкі робяцца толькі для Markdown-файлаў.", "action-open": "Адкрыць захаваныя здымкі", "option-interval": "Інтэрвал стварэння здымкаў", "option-interval-description": "Мінімальны інтэрвал паміж стварэннем здымкаў у хвілінах.", "option-keep": "Гісторыя захоўвання здымкаў", "option-keep-description": "Працягласць захоўвання здымкаў у днях.", "option-open-history": "Здымкі", "option-open-history-description": "Прагляд і аднаўленне захаваных здымкаў.", "button-view-history": "View", "option-clear": "Ачысціць гісторыю", "option-clear-description": "Сціранне ўсіх здымкаў.", "button-clear-history": "Ачысціць", "label-clear-warning": "Вы ўпэўненыя, што жадаеце выдаліць усе здымкі? Звярніце ўвагу, што будуць выдалены толькі здымкі. Файлы ў вашым сховішчы не будуць закрануты.", "msg-clear-complete": "Здымкі выдалены.", "label-no-history-found": "Здымкі не знойдзены.", "placeholder-choose-file": "Абраць файл...", "label-select-file": "Калі ласка, абярыце файл здымка злева для прагляду яго змесціва." }, "note-composer": { "name": "Кампаноўшчык нататак", "desc": "Аб'ядноўвайце, раздзяляйце і рэфармуйце нататкі.", "option-confirm-file-merge": "Пацвердзіць аб'яднанне файлаў", "option-confirm-file-merge-description": "Спытаць перад аб'яднаннем двух файлаў.", "option-split-replacement-text": "Тэкст пасля вымання", "option-split-replacement-text-description": "Што пакінуць на месцы выдзеленага тэксту пасля яго вымання.", "option-choice-split-replacement-text-link": "Звязаць з новым файлам", "option-choice-split-replacement-text-embed": "Укладанне новага файла", "option-choice-split-replacement-text-none": "Нiчога", "option-template-file": "Размяшчэнне шаблону", "option-template-file-description": "Шаблон, які выкарыстоўваецца пры аб'яднанні або выманні. Даступныя зменныя: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}. Напрыклад, {{date:YYYY-MM-DD}}.", "command-merge-file": "Аб'яднаць бягучы файл з іншым файлам...", "action-merge-file": "Аб'яднаць увесь файл з...", "label-no-files": "Не знойдзена файлаў.", "instruction-navigate": "перайсці", "instruction-merge": "аб'яднаць", "instruction-create-new": "стварыць новы", "instruction-merge-at-top": "аб'яднаць зверху", "instruction-dismiss": "скасаваць", "prompt-select-file-to-merge": "Абярыце файл для аб'яднання...", "label-merge-file": "Аб'яднаць файл", "label-confirm-file-merge": "Вы ўпэўнены, што хочаце аб'яднаць \"{{file}}\" у \"{{destination}}\"? \"{{file}}\" будзе выдалены.", "button-merge": "Аб'яднаць", "command-split-file": "Выняць бягучае вылучэнне...", "command-extract-heading": "Выняць гэты загаловак...", "instruction-append": "змясціць у канец", "instruction-prepend": "змясціць у пачатак", "msg-fail-to-fetch-template": "Не ўдалося выклікаць шаблон: \"{{template}}\" не знойдзены.", "msg-fail-to-find-heading": "Не ўдалося знайсці загаловак" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Палатно", "desc": "Спарадкуйце і злучайце нататкі на бясконцым палатне.", "action-add-note": "Дадаць нататку са сховішча", "action-add-media": "Дадаць медыяфайл са сховішча", "action-add-card": "Дадаць картку", "action-add-website": "Дадаць вэб-старонку", "action-create-group": "Стварыць групу", "action-create-with-size": "Стварыць картку з пэўным памерам", "action-convert-to-file": "Канвертаваць у файл...", "action-drag-to-add-note": "Перацягніце, каб дадаць нататку са сховішча", "action-drag-to-add-media": "Перацягніце, каб дадаць медыяфайл са сховішча", "action-drag-to-add-card": "Перацягніце, каб дадаць картку", "action-edit-label": "Рэдагаваць пазнаку", "action-remove-label": "Выдаліць пазнаку", "action-search-file": "Пошук файла", "action-set-color": "Задаць колер", "action-align": "Выраўнаваць", "action-align-left": "Выраўнаваць па левым краі", "action-align-center": "Выраўнаваць па цэнтры", "action-align-right": "Выраўнаваць па правым краі", "action-align-top": "Выраўнаваць па верхняй мяжы", "action-align-middle": "Па сярэдзіне", "action-align-bottom": "Выраўнаваць па ніжняй мяжы", "action-distribute-horizontal-spacing": "Выраўнаваць інтэрвалы па гарызанталі", "action-distribute-vertical-spacing": "Выраўнаваць інтэрвалы па вертыкалі", "action-justify-horizontally": "Выраўнаваць па гарызанталі", "action-justify-vertically": "Выраўнаваць па вертыкалі", "action-arrange-horizontally": "Расстаўце ў рад", "action-arrange-vertically": "Размесціце ў калоне", "action-arrange-grid": "Упарадкаваньне ў сетцы", "action-export-png": "Экспартаваць як відарыс", "action-jump-to-group": "Перайсці да групы", "action-set-background": "Усталяваць фон", "action-edit-background": "Рэдагаваць фон", "action-replace-background": "Замяніць фон", "action-remove-background": "Выдаліць фон", "label-no-images": "Відарысы не знойдзеныя.", "label-no-media": "No media found.", "label-export-png-desc": "Экспартаваць \"{{title}}\" як PNG з наступнымі параметрамі.", "label-export-png-dimensions": "Разліковыя памеры відарыса: {{dimensions}}", "label-distribute": "Выраўнаваць", "label-justify": "Выраўняць", "label-arrange": "Упарадкаваць", "label-always": "Заўжды", "label-hover": "Пры навядзенні", "label-never": "Ніколі", "label-no-section-found": "Блок не знойдзены", "option-wheel-behavior": "Прадвызначаны паводзіны колца мышы", "option-mod-drag-behavior": "Прадвызначаны паводзіны {{key}}", "option-show-menu": "Паказаць меню", "option-new-canvas-location": "Прадвызначанае месца для файлаў з палотнамі", "option-new-canvas-location-description": "Куды будуць дадавацца новыя файлы з палотнамі.", "option-new-canvas-folder-path": "Шлях да папкі для файлаў з палотнамі", "option-new-canvas-folder-path-description": "Новыя файлы з палотнамі будуць захоўвацца ў гэтай папцы.", "option-node-label": "Адлюстроўваць подпіс да карткі", "option-snap-to-grid": "Прывязка да сеткі", "option-snap-to-grid-desc": "Прывязка картак да фонавай сеткі пры перасоўванні і змене памеру.", "option-snap-to-objects": "Прывязаць да аб'ектаў", "option-snap-to-objects-desc": "Прымацоўвае карты да бліжэйшых аб'ектаў пры перамяшчэнні і змене памеру.", "option-zoom-breakpoint": "Парог маштабавання для ўтойвання змесціва карты", "option-zoom-breakpoint-desc": "Ніжэйшыя значэнні павялічваюць прадукцыйнасць, але пры памяншэнні маштабу змесціва карткі хаваецца раней.", "option-export-png-show-logo": "Паказваць лагатып", "option-export-png-show-logo-desc": "Дадаць лагатып Obsidian у левы ніжні кут.", "option-export-png-privacy-mode": "Рэжым прыватнасці", "option-export-png-privacy-mode-desc": "Хавае любы тэкст на вашым палатне.", "option-export-png-zoom": "Маштаб", "option-export-png-zoom-desc": "Павелічэнне дае відарыс з больш высокім дазволам.", "option-export-png-frame": "Вобласць прагляду", "option-export-png-frame-desc": "Абярыце для вываду ўсё палатно ці толькі бачную вобласць прагляду.", "option-export-png-frame-full": "Усё палатно", "option-export-png-frame-viewport": "Вобласць прагляду", "option-background-cover": "Расцягнуць", "option-background-ratio": "Захаваць прапорцыі", "option-background-repeat": "Паўтарэнне", "action-new-canvas": "Новае палатно", "action-remove": "Выдаліць", "action-narrow-heading": "Звузіць да загалоўка...", "action-narrow-block": "Звузіць да блока...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Замяніць файл...", "action-change-url": "Змяніць спасылку...", "action-zoom-to-fit": "Маштаб да памеру", "action-zoom-to-selection": "Павялічыць да выдзеленага", "action-reload-page": "Перазагрузіць старонку", "action-follow-connection": "Сачыце за злучэннем", "command-create-new-canvas": "Стварыць новае палатно", "command-convert-to-file": "Канвертаваць у файл...", "instruction-narrow-heading": "выбраць загаловак", "instruction-narrow-block": "выбраць блок", "instruction-jump-to-group": "перайсці да групы", "prompt-to-narrow": "Увядзіце імя блока", "label-enter-url": "Увядзіце URL", "label-empty-embed": "\"{{linktext}}\" не знойдзена.", "prompt-add-text": "Дадаць тэкст...", "prompt-start-search": "Увядзіце пошукавы запыт...", "label-canvas-help": "Дапамога з палотнамі", "label-canvas-settings": "Наладзіць палатно", "label-no-narrow": "Паказаць увесь файл", "label-show-default-view": "Show default view", "label-readonly": "Толькі для чытання", "label-disable-readonly": "Адключыць толькі для чытання", "label-pan": "Захоп", "label-pan-horizontal": "Захоп гарызантальна", "label-zoom": "Маштаб", "label-select-all": "Абраць усё", "label-add-remove-selection": "Дадаць / прыбраць з вылучанага", "label-clone-card": "Кланіраваць картку", "label-constrain-movement-axis": "Абмяжуйце рух картак па восі", "label-disable-drag-snapping": "Адключыць прывязку падчас перацягвання", "label-remove-card": "Выдаліць картку", "label-drag-from-below": "Перацягніце знізу або двойчы націсніце", "label-longpress": "Націсніце і ўтрымлівайце, каб дадаць / перамясціць / выбраць", "label-drag-pan": "Перацягнуць, каб захапіць", "label-pinch-zoom": "Каб павялічыць, развядзіце пальцамі", "label-space-drag-pan": "Прабел + перацягванне для пазіцыянавання", "label-scroll-to-zoom": "Пракруціце, для маштабавання", "label-untitled-group": "Група без назвы", "label-line-direction": "Напрамак лініі", "label-nondirectional": "Без напрамку", "label-unidirectional": "Аднанакіраваны", "label-bidirectional": "Двунакіраваны", "label-image": "Відарыс", "label-style": "Стыль", "msg-no-groups-found": "Групы не знойдзены", "msg-export-failed-empty-canvas": "Немагчыма экспартаваць пустое палатно", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Вылучыць усе", "action-match-diacritics": "Параўнанне дыякрытычных знакаў", "action-whole-words": "Цэлыя словы", "action-show-thumbnails": "Мініяцюры", "action-show-outline": "Змест", "action-reveal-in-outline": "Паказваць нумар старонкі ў змесце", "action-toggle-sidebar": "Пераключыць бачнасць бакавой паліцы", "action-previous-page": "Папярэдняя старонка", "action-next-page": "Наступная старонка", "action-fit-width": "Падганяць па шырыні", "action-fit-height": "Падганяць па вышыні", "action-save-p-d-f-location": "Захаваць бягучую пазіцыю ў дакуменце", "action-copy-annotation": "Скапіяваць анатацыю", "action-copy-quote": "Скапіяваць як цытату", "action-copy-selection-link": "Скапіяваць спасылку да вылучэння", "action-copy-annot-link": "Скапіяваць спасылку да анатацыі", "action-copy-section-link": "Скапіяваць спасылку да падзелу", "action-copy-section-link-title": "Скапіяваць спасылку да “{{title}}”", "action-copy-page-link": "Скапіяваць спасылку да старонкі “{{page}}”", "msg-max-search-results": "{{current}} з больш чым {{limit}} супадзенняў", "msg-search-count": "{{current}} з {{total}} супадзення", "msg-search-count_plural": "{{current}} з {{total}} супадзенняў", "msg-password-protected": "Гэты PDF-файл абаронены паролем", "msg-invalid-password": "Няправільны пароль", "msg-enter-password": "Увядзіце пароль ніжэй", "label-of-pages": "з {{count}}", "label-page-of-pages": "({{current}} з {{count}})", "label-spread-single": "Адна старонка", "label-spread-odd": "Дзве старонкі (няцотныя)", "label-spread-even": "Дзве старонкі (цотныя)", "tooltip-sidebar-options": "Параметры бакавой панэлі", "tooltip-display-options": "Параметры паказу", "label-adapt-to-theme": "Адаптаваць пад тэму", "label-page": "старонка {{page}}", "page_landmark": "Старонка {{page}}", "thumb_page_title": "Старонка {{page}}", "thumb_page_canvas": "Старонка {{page}}", "text_annotation_type": "[{{type}} Анатацыя]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Спіс", "option-unknown": "Невядома", "option-text": "Тэкст", "option-aliases": "Псеўданімы", "option-tags": "Тэгі", "option-folder": "Folder", "option-file": "File", "option-date": "Дата", "option-datetime": "Дата і час", "option-number": "Лік", "option-checkbox": "Птушка" }, "value-suggestion": { "key-link-note": "Напішыце [[", "instruction-link-note": "каб звязаць нататку", "instruction-dismiss": "скасаваць" }, "option-property-type": "Тып уласцівасці", "msg-empty-property-name": "Імя ўласцівасці не можа быць пустым.", "msg-duplicate-property-name": "Уласцівасць ужо існуе", "msg-invalid-tag": "Недапушчальная назва тэга", "msg-invalid-number": "Недапушчальны лік", "msg-invalid-properties": "Не ўдалося прачытаць уласцівасці.", "label-no-value": "Няма значэння", "label-heading": "Уласцівасці", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Памылка ў сінтаксісе ўласцівасцей. Загаловак Yaml няверны.", "label-add-property-button": "Дадаць уласцівасць", "label-type-mismatch-warning": "Неадпаведнасць тыпу, чакалася {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Слупок", "label-row": "Радок", "action-row-after": "Дадаць радок знізу", "action-column-after": "Дадаць слупок справа", "action-row-before": "Дадаць радок зверху", "action-row-up": "Перамясціць радок уверх", "action-row-down": "Перамясціць радок уніз", "action-column-before": "Дадаць слупок злева", "action-column-left": "Перамясціць слупок налева", "action-column-right": "Перамясціць слупок направа", "action-duplicate-row": "Прадубліраваць радок", "action-duplicate-column": "Прадубліраваць слупок", "action-delete-row": "Выдаліць радок", "action-delete-column": "Выдаліць слупок", "action-align-left": "Выраўнаваць па левым краі", "action-align-center": "Выраўнаваць па цэнтры", "action-align-right": "Выраўнаваць па правым краі", "action-delete-selection": "Выдаліць ячэйкі", "action-clear-selection": "Ачысціць ячэйкі", "action-sort-a-z": "Сартаванне па слупку (ад А да Я)", "action-sort-z-a": "Сартаванне па слупку (ад Я да А)", "label-command": "Табліца: {{command}}" }, "callout": { "option-type": "Тып выноснага блока", "type": { "info": "Звесткі", "important": "Важнае", "tip": "Падказка", "success": "Поспех", "question": "Пытанне", "warning": "Папярэджанне", "quote": "Цытата", "example": "Прыклад", "none": "None" }, "option-other": "Іншыя...", "option-other-placeholder": "Увядзіце тып выноснага блока..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} слова", "word-with-count_plural": "{{count}} слоў", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} сімвал", "character-with-count_plural": "{{count}} сімвалаў", "link-with-count": "{{count}} спасылка", "link-with-count_plural": "{{count}} спасылак", "file-with-count": "{{count}} файл", "file-with-count_plural": "{{count}} файлаў", "folder-with-count": "{{count}} папка", "folder-with-count_plural": "{{count}} папак", "backlink-with-count": "{{count}} зваротная спасылка", "backlink-with-count_plural": "{{count}} зваротных спасылак", "tabs-with-count": "{{count}} укладка", "tabs-with-count_plural": "{{count}} укладкі", "properties-with-count": "{{count}} уласцівасць", "properties-with-count_plural": "{{count}} уласцівасцей", "site-with-count": "{{count}} сайт", "site-with-count_plural": "{{count}} сайтаў", "plugin-with-count": "{{count}} плагін", "plugin-with-count_plural": "{{count}} плагінаў", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} тэма", "theme-with-count_plural": "{{count}} тэмы" } }{ "setting": { "options": "Opcions", "plugin": "Connector", "builtin-plugins": "Connectors principals", "plugin-options": "Opcions del connector", "folder-path-example-placeholder": "Exemple: carpeta 1/carpeta 2", "file-path-example-placeholder": "Exemple: carpeta/nota", "msg-restart-required": "Canviar aquesta opció requereix un reinici perquè tingui efecte.", "editor": { "name": "Editor", "section-behavior": "Comportament", "section-display": "Visualització", "option-spellcheck": "Corrector ortogràfic", "option-spellcheck-description": "Activa el corrector ortogràfic. Actualment només funciona en anglès (EUA).", "spellcheck-languages": "Idiomes del corrector ortogràfic", "spellcheck-languages-description": "Tria els idiomes que el corrector ortogràfic ha d'utilitzar.", "spellcheck-languages-mac-description": "El corrector ortogràfic natiu detectarà automàticament l'idioma que s'està utilitzant a macOS.", "spellcheck-dict": "Diccionari del corrector ortogràfic", "spellcheck-dict-empty": "El diccionari del corrector ortogràfic està buit.", "option-show-inline-title": "Mostra el títol en línia", "option-show-inline-title-description": "Mostra el nom del fitxer com un títol editable en línia amb el contingut del fitxer.", "option-readable-line-length": "Longitud de línia llegible", "option-readable-line-description": "Limita la longitud màxima de la línia. Redueix la quantitat de contingut a la pantalla, però fa que els paràgrafs llargs siguin més llegibles.", "option-strict-line-break": "Trencament de línia estricte", "option-strict-line-break-description": "En mode de visualització prèvia, ignora els salts de línia simples segons les especificacions de Markdown. Desactiva això per mostrar els salts de línia simples en la visualització prèvia.", "option-properties-in-document": "Propietats en el document", "option-properties-in-document-description": "Tria com es mostren les propietats dins de l'editor. Selecciona \"font\" per mostrar les propietats com a YAML.", "option-properties-hidden": "Amagades", "option-properties-visible": "Visibles", "option-properties-source": "Font", "option-auto-pair-brackets": "Autoemparella els parèntesis", "option-auto-pair-brackets-description": "Autoemparella els parèntesis i les cometes automàticament.", "option-auto-pair-markdown": "Autoemparella la sintaxi Markdown", "option-auto-pair-markdown-description": "Autoemparella els símbols automàticament per a negreta, cursiva, ressaltat, ratllat i codi.", "option-smart-indent-lists": "Sagnat intel·ligent de llistes", "option-smart-indent-lists-description": "Gestiona el sagnat i el marcador de llistes per a tu.", "option-fold-heading": "Plega l'encapçalament", "option-fold-heading-description": "Et permet plegar tot el que hi ha sota d'un encapçalament.", "option-fold-indent": "Plega la sagnia", "option-fold-indent-description": "Et permet plegar una part de la mateixa sagnia, com ara llistes.", "option-default-new-tab-view": "Visualització per defecte per a pestanyes noves", "option-default-new-tab-view-description": "La visualització per defecte que s'obté en obrir una nova pestanya de Markdown.", "option-default-new-tab-view-editing": "Visualització d'edició", "option-default-new-tab-view-reading": "Visualització de lectura", "option-open-tab-in-foreground": "Mantén sempre les pestanyes noves en primer pla", "option-open-tab-in-foreground-description": "Quan obres un enllaç en una nova pestanya, canvia immediatament a aquesta.", "option-default-editing-mode": "Mode d'edició per defecte", "option-default-editing-mode-description": "El mode d'edició per defecte amb el qual s'iniciarà una nova finestra.", "option-default-editing-mode-source": "Mode font", "option-default-editing-mode-live-preview": "Previsualització en viu", "option-show-line-number": "Mostra el número de línia", "option-show-line-number-description": "Mostra el número de línia a la vora.", "option-indentation-guide": "Mostra les guies de sagnat", "option-indentation-guide-description": "Mostra línies verticals de relació entre els pics per a l'orientació visual.", "option-use-tabs": "Utilitza les tabulacions", "option-use-tabs-description": "Utilitza les tabulacions per fer el sagnat quan premis la tecla \"Tab\". Desactiva-ho per utilitzar espais.", "option-tab-size": "Mida de la tabulació", "option-tab-size-description": "Nombre d'espais equivalents a una tabulació.", "option-rtl": "Dreta a esquerra (RTL)", "option-rtl-description": "Defineix la direcció del text de les notes com a de dreta a esquerra.", "option-auto-convert-html": "Conversió automàtica d'HTML", "option-auto-convert-html-description": "Converteix automàticament HTML a Markdown quan enganxes i arrossegues contingut de pàgines web. Utilitza Ctrl/Cmd+Maj+V per enganxar sense conversió.", "option-vim-key-bindings": "Vincles de tecles Vim", "option-vim-key-bindings-description": "Permet utilitzar els vincles de tecles Vim a l'editor font.", "option-vim-key-bindings-mobile": "En dispositius mòbils, aquesta configuració és per dispositiu i no es sincronitza mitjançant el fitxer de configuració.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Confirma l'entrada al mode Vim", "label-vim-warning": "El mode Vim és per a l'edició de text eficient, però pot ser bastant contra-intuïtiu. Si no estàs familiaritzat amb Vim, aquesta opció podria fer que sembli que Obsidian ha deixat de funcionar.", "label-vim-test": "Per verificar que coneixes Vim, introdueix l'ordre per sortir de Vim sense desar-lo a continuació:", "label-vim-your-answer": "La teva resposta", "placeholder-enter-command": "Introdueix una ordre...", "button-confirm-enable-vim": "Permet-me habilitar Vim", "msg-vim-mode-enabled": "L'ordre és correcta. El mode Vim ara està habilitat.", "msg-vim-mode-not-enabled": "L'ordre no és correcta. El mode Vim continua deshabilitat per a la teva protecció.", "msg-vim-mode-please-enter-command": "Si us plau, introdueix l'ordre per habilitar el mode Vim" }, "file": { "name": "Fitxers i Enllaços", "option-confirm-file-deletion": "Confirmar l'eliminació de fitxers", "option-confirm-file-deletion-description": "Si vols que es demani confirmació abans d'eliminar fitxers.", "option-delete-destination": "Fitxers eliminats", "option-delete-destination-description": "Què fer amb els fitxers després d'eliminar-los.", "option-choice-system-trash": "Moure a la paperera del sistema", "option-choice-vault-trash": "Moure a la paperera d'Obsidian (carpeta .trash)", "option-choice-permanent-delete": "Eliminar permanentment", "option-always-update-links": "Sempre actualitza els enllaços interns", "option-always-update-links-description": "Si s'actualitzen automàticament els enllaços després de canviar el nom d'un fitxer o d'un missatge.", "option-new-note-location": "Ubicació predeterminada de les notes noves", "option-new-note-location-description": "On posar les noves notes creades. Les configuracions dels connectors poden canviar això.", "option-choice-vault-root": "Arrel de l'arca", "option-choice-current-folder": "Mateixa carpeta on es troba el fitxer", "option-choice-specified-folder": "Dins la carpeta especificada a continuació", "option-new-file-folder-path": "Carpeta per crear notes noves", "option-new-file-folder-path-description": "Les notes noves creades apareixeran en aquesta carpeta. Les configuracions dels connectors poden canviar això.", "option-use-wiki-links": "Utilitzar [[Wikienllaços]]", "option-use-wiki-links-description": "Generar automàticament Wikienllaços per a [[links]] i ![[images]] en lloc d'enllaços i imatges de Markdown. Desactiva aquesta opció per generar enllaços de Markdown.", "option-show-unsupported-files": "Detectar totes les extensions de fitxers", "option-show-unsupported-files-description": "Mostrar fitxers amb qualsevol extensió, fins i tot si Obsidian no els pot obrir nativament, perquè puguis enllaçar-hi i veure'ls a l'Explorador de Fitxers i al Quick Switcher.", "option-link-autocompleted-format": "Nou format d'enllaç", "option-link-autocompleted-format-description": "Quins enllaços inserir quan es generen automàticament enllaços interns.", "option-choice-shortest-linktext": "Camí més curt quan sigui possible", "option-choice-relative-path": "Camí relatiu al fitxer", "option-choice-absolute-path": "Camí absolut a l'arca", "option-new-attachment-location": "Ubicació predeterminada per a nous fitxers adjunts", "option-new-attachment-location-description": "On es col·loquen els fitxers adjunts afegits recentment.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "En una subcarpeta sota la carpeta actual", "option-attachment-folder-path": "Ruta de la carpeta de fitxers adjunts", "option-attachment-folder-path-description": "Els fitxers adjunts creats recentment apareixeran aquí. Això inclou imatges creades mitjançant arrossegar i deixar anar o enganxar, i enregistraments d'àudio.", "option-attachment-subfolder-path": "Nom de la subcarpeta", "option-attachment-subfolder-path-description": "Si el teu fitxer es troba a \"arca/carpeta\", i estableixes el nom de la subcarpeta com \"adjunts\", els fitxers adjunts es guardaran a \"arca/carpeta/adjunts\".", "option-excluded-files": "Fitxers exclosos", "option-excluded-files-desc": "Els fitxers exclosos es mostraran ocults o menys visibles en diversos llocs, com ara al Quick Switcher, la suggerència d'enllaços i la Vista de Gràfic.", "label-no-excluded-filters-applied": "No s'aplica cap filtre d'exclusió ara mateix. Afegeix-ne un a continuació.", "label-excluded-filters-applied": "Actualment s'exclouen els fitxers que coincideixen amb els següents filtres:", "label-excluded-filter": "Filtre", "message-empty-filter": "El filtre no pot estar buit", "placeholder-excluded-filter": "Introdueix la ruta o \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Aparença", "option-base-theme": "Tema base", "option-base-theme-description": "Tria l'esquema de colors per defecte d'Obsidian.", "option-accent-color": "Color d'accent", "option-accent-color-description": "Tria el color d'accent utilitzat a tota l'aplicació.", "dark-theme": "Fosc", "light-theme": "Clar", "system-theme": "Adaptat al sistema", "option-font": "Font", "option-advanced": "Avançat", "option-interface": "Interfície", "option-interface-font": "Font d'interfície", "option-interface-font-description": "Estableix la font base per a tot l'Obsidian.", "option-zoom-level": "Nivell de zoom", "option-zoom-level-description": "Controla el nivell de zoom global de l'aplicació.", "option-text-font": "Font de text", "option-text-font-description": "Estableix la font per a les vistes d'edició i lectura.", "option-monospace-font": "Font monoespaiada", "option-monospace-font-description": "Estableix la font per a llocs com ara blocs de codi i metadades.", "label-single-font-currently-in-effect": " Font actualment aplicada: ", "label-multiple-fonts-currently-in-effect": " Les següents fonts s'apliquen actualment:", "option-font-placeholder": "Introdueix el nom de la font...", "label-no-custom-font-set": "Actualment no s'aplica cap font personalitzada. Afegeix-ne una a continuació.", "label-font-applied": "S'aplicarà la primera font d'aquesta llista que estigui disponible al teu sistema.", "msg-font-not-found": "Aquesta font no s'ha detectat al teu sistema.", "msg-font-found": "Aquesta font s'ha detectat al teu sistema.", "label-font-name": "Nom de la font", "option-community-themes": "Obre els temes de la comunitat", "option-community-themes-description": "Previsualitza i utilitza temes increïbles creats per la comunitat.", "button-browse-community-themes": "Navega", "option-font-size": "Mida de la font", "option-font-size-description": "Mida de la font en píxels que afecta l'editor i a la visualització prèvia.", "option-font-size-action": "Ajust ràpid de la mida de la font", "option-font-size-action-description": "Ajusta la mida de la font amb Ctrl + Roda o fent servir el gest de pessigada.", "option-themes": "Temes", "option-manage-themes-description": "Gestiona els temes instal·lats i navega pels temes de la comunitat.", "option-theme-button-manage": "Gestiona", "option-choice-none": "Cap", "option-native-menus": "Menús nadius", "option-native-menus-desc": "Els menús a tota l'aplicació coincidiran amb el sistema operatiu. No es veuran afectats pel teu tema.", "button-reload-themes": "Recarrega els temes", "msg-reloaded-themes": "Temes CSS personalitzats recarregats.", "button-open-themes-folder": "Obre la carpeta de temes", "option-css-snippets": "Pedaços de CSS", "label-no-css-snippets-found": "No s'han trobat pedaços de CSS a la carpeta de pedaços.", "no-snippet-description": "Els Pedaços de CSS s'emmagatzemen a \"{{path}}\".", "button-reload-snippets": "Recarrega els pedaços", "button-open-snippets-folder": "Obre la carpeta de pedaços", "msg-reloaded-snippets": "Pedaços de CSS recarregats.", "option-toggle-snippet-description": "Aplica el tros de CSS a \"{{path}}\".", "label-installed-themes": "Temes instal·lats", "label-screenshot-unavailable": "Captura de pantalla no disponible", "label-default-theme": "Per defecte", "tooltip-click-to-enlarge": "Fes clic per ampliar", "button-update": "Actualitzar", "label-currently-active": "Activa", "option-frame-style": "Estil del marc de finestra", "option-frame-description": "Determina l'estil de la barra de títols de les finestres d'Obsidian. Cal reiniciar perquè tingui efecte.", "option-frame-hidden": "Amagat (predeterminat)", "option-frame-obsidian": "Marc d'Obsidian", "option-frame-native": "Marc nadiu", "option-custom-icon": "Icona personalitzada de l'aplicació", "option-custom-icon-desc": "Estableix una icona personalitzada per a l'aplicació", "button-choose-custom-icon": "Tria una icona personalitzada", "option-configure-ribbon": "Menú de cinta", "option-configure-ribbon-desc": "Configura quines ordres apareixen al menú de cinta a la barra de navegació.", "option-mobile-quick-ribbon-item": "Accés ràpid a Element de la cinta", "option-mobile-quick-ribbon-item-desc": "Tocar l'element de la cinta a la barra de navegació activarà aquest element de la cinta. Prémer i mantenir premut encara mostrarà el menú.", "option-mobile-quick-ribbon-default": "Open ribbon menu", "button-configure": "Configurar", "option-show-ribbon": "Mostra la cinta", "option-show-ribbon-desc": "Mostra la barra d'eines vertical al costat de la finestra.", "label-additional-ribbon-items": "Altres elements de la cinta", "label-modal-configuration": "Configuració de la cinta", "label-modal-configuration-desc": "Tria quins elements vols que estiguin actius a la cinta. Arrossega i deixa anar per canviar l'ordre.", "option-show-view-header": "Mostra la barra de títol de les pestanyes", "option-show-view-header-desc": "Mostra la capçalera a la part superior de cada pestanya.", "msg-updates-found": "S'ha trobat {{count}} tema per actualitzar.", "msg-updates-found_plural": "S'han trobat {{count}} temes per actualitzar.", "button-check-for-updates": "Comprovar actualitzacions", "button-view-updates": "Veure les actualitzacions", "button-update-all-themes": "Actualitzar tots", "label-current-themes": "Temes comunitaris actuals", "label-currently-installed": "Actualment tens {{count}} tema instal·lat.", "label-currently-installed_plural": "Actualment tens {{count}} temes instal·lats." }, "hotkeys": { "name": "Dreceres de teclat", "option-search": "Cercar drecera de teclat", "option-search-desc": "Mostrant {{count}} drecera.", "option-search-desc_plural": "Mostrant {{count}} dreceres.", "option-search-conflict": "{{count}} comandament amb conflicte.", "option-search-conflict_plural": "{{count}} comandaments amb conflictes.", "prompt-filter": "Filtrar...", "tooltip-delete-hotkey": "Eliminar la drecera", "label-waiting-for-hotkey-press": "Prem la tecla de drecera...", "label-show-all": "Totes", "label-show-unassigned": "No assignades", "label-show-assigned": "Assignades", "label-show-user-assigned": "Assignades per mi", "tooltip-restore-default": "Restaurar la configuració predeterminada", "tooltip-customize-command": "Personalitza aquest comandament", "tooltip-hotkey-single-conflict": "Aquesta drecera té conflicte amb \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Aquesta drecera té conflicte amb {{count}} altres comandaments", "label-blank-hotkey": "Buida" }, "about": { "name": "Quant a", "label-commercial-license": "Llicència comercial", "label-license-key": "Clau de llicència", "license-key-placeholder": "La teva clau de llicència...", "label-activate-license": "Activar la llicència", "button-activate": "Activar", "label-unknown-version": "Desconeguda", "label-current-version": "Versió actual: ", "label-install-version": "(Versió de l'instal·lador: {{version}})", "label-up-to-date": "La teva aplicació està actualitzada!", "label-read-changelog": "Llegeix el registre de canvis.", "label-manual-update-required": "Per donar suport a les últimes característiques i rebre les últimes actualitzacions de seguretat, Obsidian necessita una actualització important de l'instal·lador. Has de descarregar i reinstal·lar manualment l'Obsidian.", "label-new-version-ready": "Hi ha una nova versió llesta per ser instal·lada. ", "label-disabled-updates": "Les actualitzacions estan desactivades.", "button-relaunch": "Torna a iniciar", "button-check-for-updates": "Comprovar actualitzacions", "option-auto-update": "Actualitzacions automàtiques", "option-auto-update-description": "Desactiva això per evitar que l'aplicació comprovi actualitzacions.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Obtenir ajuda", "option-get-help-description": "Obtén ajuda sobre com utilitzar Obsidian.", "button-open": "Obre", "option-language": "Idioma", "option-language-description": "Canvia l'idioma mostrat.", "option-insider-build": "Rebre versions de prova", "option-insider-build-description": "Actualitza automàticament a les versions dde prova per testar les noves característiques. Tingues en compte que aquestes versions són molt experimentals i poden ser menys estables.", "option-advanced": "Avançat", "option-hw-acceleration": "Acceleració de maquinari", "option-hw-acceleration-description": "Activa l'acceleració de maquinari, que utilitza la GPU per fer que Obsidian sigui més fluïda.", "option-hw-acceleration-warning": "Si desactives això, el rendiment de l'aplicació es veurà greument afectat.", "option-config-location": "Ubicació de configuració personalitzada", "option-config-location-description": "Utilitza una carpeta de configuració diferent de la predeterminada. Ha de començar amb un punt.", "option-config-location-warning": "L'ubicació de configuració ha de ser un nom de carpeta vàlid que comenci amb un punt.", "label-license": "Llicència", "label-your-commercial-license-key": "La teva clau de llicència comercial és \"{{key}}\".", "label-commercial-license-info": "Registrada a \"{{company}}\" per a {{seats}} usuaris. Vàlida fins a {{expiry}}.", "label-validating-commercial-license": "Validant...", "label-invalid-commercial-license": "Llicència no vàlida: ", "button-remove-commercial-license": "Eliminar", "option-catalyst": "Llicència Catalyst", "option-catalyst-desc": "Actualment tens la llicència Catalyst {{tier}}. Gràcies pel teu suport!", "option-catalyst-desc-no-license": "Ara mateix no tens una llicència Catalyst. La llicència Catalyst és una donació única per donar suport al desenvolupament d'Obsidian.", "label-app": "Aplicació", "label-add-own-language": "Consulta com afegir el teu idioma a Obsidian." }, "account": { "name": "Compte", "option-your-account": "El teu compte", "option-your-account-desc": "Actualment has iniciat la sessió com a {{name}} ({{email}}).", "option-your-account-desc-no-login": "Encara no has iniciat la sessió. És necessari un compte per a Obsidian Sync, Obsidian Publish i les versions de l'insider de Catalyst.", "label-insider": "insider", "label-supporter": "supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Millorar", "option-commercial-license": "Llicència comercial", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Comprar", "button-log-out": "Tancar la sessió", "label-log-in": "Iniciar la sessió", "label-sign-up": "Registra't", "label-email": "Correu electrònic", "placeholder-email": "El teu correu electrònic...", "label-name": "Full name", "label-password": "Contrasenya", "placeholder-password": "La teva contrasenya...", "label-forgot-password": "Has oblidat la contrasenya?", "button-login": "Iniciar la sessió", "message-empty-email": "El correu electrònic no pot estar buit.", "message-invalid-email": "El correu electrònic no és vàlid.", "message-empty-password": "La contrasenya no pot estar buida.", "message-login-failed": "Error d'inici de sessió, comprova el correu electrònic i la contrasenya.", "message-signup-failed": "Failed to sign up", "label-no-account": "No tens un compte? ", "link-sign-up-now": "Registra't ara", "label-mfa-code": "Codi 2FA de 6 dígits", "mfa-wrong-format": "El codi autenticador 2FA ha de tenir 6 dígits.", "mfa-verification-failed": "El codi 2FA no és correcte, comprova l'aplicació autenticadora." }, "core-plugin": { "plugin-list": "Llista de connectors", "option-search-plugin": "Cerca els connectors principals", "option-search-plugin-description": "Filtra els connectors per nom o descripció.", "placeholder-search-plugin": "Cerca connectors..." }, "third-party-plugin": { "name": "Connectors de tercers", "option-restricted-mode": "Mode restringit", "option-restricted-mode-description": "El mode restringit està apagat. Activa'l per desactivar els connectors de la comunitat.", "button-turn-on": "Activar", "option-browse-community-plugins": "Connectors de la comunitat", "option-browse-community-plugins-description": "Navega i instaŀla connectors de tercers creats per la nostra increïble comunitat.", "button-browse": "Navega", "label-exit-restricted-mode": "Sortir del mode restringit", "label-exit-restricted-mode-description-1": "Els connectors de la comunitat, com qualsevol altra aplicació que instal·les, podrien causar problemes d'integritat de dades i seguretat.", "label-exit-restricted-mode-description-2": "La seguretat dels connectors és important per a nosaltres. Així és com ho gestionem:", "label-exit-restricted-mode-description-3": "Tot i els nostres esforços, encara hi ha una petita possibilitat que un connector de la comunitat pugui funcionar incorrectament.", "label-code-review": "Revisió de codi inicial", "label-code-review-desc": "Els connectors passen per una revisió de codi inicial per part del nostre equip abans d'aparèixer a la botiga.", "label-open-source": "Codi obert", "label-open-source-desc": "La majoria dels connectors tenen codi obert a GitHub, així pots inspeccionar el codi tu mateix.", "label-peer-audit": "Auditoria de companys", "label-peer-audit-desc": "Tenim una gran comunitat de desenvolupadors que vetllen els uns pels altres.", "label-report-mechanism": "Mecanisme de notificació", "label-report-mechanism-desc": "Donem seguiment i eliminem els connectors defectuosos quan els usuaris ho notifiquen.", "label-exit-restricted-mode-disable-confirmation": "Vols sortir del mode restringit per habilitar els connectors de la comunitat? Recomanem molt fer còpies de seguretat de les teves dades abans de fer-ho.", "label-learn-more": "Més informació sobre la seguretat dels connectors", "button-turn-on-community-plugins": "Habilitar els connectors de la comunitat", "label-trust-author": "Confies en l'autor d'aquesta arca?", "label-trust-author-description-1": "Estàs obrint aquesta arca per primera vegada i conté alguns connectors.", "label-trust-author-description-2": "Si has obtingut aquest arca d'algú altre, tingues en compte que els connectors d'origen desconegut podrien comportar riscos de seguretat.", "label-trust-author-description-3": "Si no confies totalment en l'autor d'aquesta arca, et recomanem que et quedis en mode restringit perquè els connectors d'aquesta arca no s'executin.", "button-enable-plugins": "Confiar en l'autor i habilitar els connectors", "button-dont-trust-author": "Navega per l'arca en mode restringit", "placeholder-community-plugins": "Cerca connectors de la comunitat...", "msg-failed-load-plugins": "Error al carregar els connectors de la comunitat.", "label-installed": "Instal·lat", "button-install": "Instal·lar", "button-enable": "Habilitar", "button-disable": "Desactivar", "button-copy-share-link": "Copiar l'enllaç de compartició", "button-donate": "Donar", "label-no-results-found": "No s'han trobat resultats.", "label-no-recent-files-found": "No s'han trobat fitxers recents. Escriu per buscar...", "msg-failed-to-load-manifest": "Error al carregar el manifest del connector.", "label-version": "Versió: {{version}}", "label-currently-installed-version": " (instal·lat actualment: {{version}})", "label-by-author": "Per ", "label-repository": "Repositori: ", "label-last-update": "Última actualització: ", "tooltip-view-last-update": "Veure l'última actualització", "label-unsupported": "Aquest connector no és compatible amb el teu dispositiu.", "button-update": "Actualitzar", "label-no-readme": "Aquest connector no proporciona un fitxer README.", "msg-installing-plugin": "S'està instal·lant el connector \"{{name}}\"...", "msg-failed-to-install-plugin": "No s'ha pogut instal·lar el connector \"{{name}}\".", "msg-successfully-installed-plugin": "El connector \"{{name}}\" s'ha instal·lat correctament.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Connectors instal·lats", "button-reload-plugins": "Recarregar connectors", "msg-reloaded-third-party-plugins": "S'han recarregat els connectors tercers.", "label-uninstall": "Desinstal·lar", "label-uninstall-plugin": "Desinstal·lar connector", "label-uninstall-plugin-confirmation": "Segur que vols desinstal·lar aquest connector? Això eliminarà la carpeta del connector.", "button-open-plugins-folder": "Obrir la carpeta de connectors", "button-check-for-updates": "Comprovar actualitzacions", "button-update-all-plugins": "Actualitzar-ho tot", "label-current-plugins": "Connectors actuals", "label-currently-installed": "Actualment tens {{count}} connector instal·lat.", "label-currently-installed_plural": "Actualment tens {{count}} connectors instal·lats.", "msg-no-updates-found": "No s'han trobat actualitzacions de connectors.", "msg-updates-found": "S'ha trobat {{count}} connector per actualitzar.", "msg-updates-found_plural": "S'han trobat {{count}} connectors per actualitzar.", "msg-update-plugin": "Actualitzar a la versió {{version}}", "option-search-installed-plugin": "Cerca connectors instal·lats", "option-search-installed-plugin-description": "Filtra els connectors instal·lats pel nom o la descripció.", "placeholder-search-installed-plugin": "Cerca connectors instal·lats...", "show-installed-only": "Mostra només els instal·lats", "label-donate-modal-title": "Fes una donació per donar suport a {{name}}", "label-donate-modal-text1": "Els desenvolupadors de connectors són voluntaris de la comunitat que fan coses increïbles amb passió. Si trobes aquest connector útil, considera fer-hi una donació.", "label-donate-modal-text2": "El 100% de la teva contribució anirà al desenvolupador del connector; Obsidian no se'n queda cap comissió. La plataforma de finançament que hagin triat podria quedar-se'n una part.", "label-donate-modal-text3": "Gràcies pel teu generós suport!", "label-support-this-plugin": "Dona suport a aquest connector:", "label-search-summary": "Mostrant {{pluginCount}}:", "label-by-popularity": "Més descarregats", "label-by-released": "Recentment publicats", "label-by-updated": "Recentment actualitzats", "label-alphabetical": "Per ordre alfabètic", "label-last-updated": "Actualitzat {{time}}" }, "mobile-toolbar": { "name": "Barra d'eines mòbil", "option-configure-quick-action": "Configura l'Acció Ràpida mòbil", "option-configure-quick-action-description": "Configura quina ordre s'inicia en fer lliscar des de dalt cap avall. L'a 'ordre actual està establerta com a \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "Configura", "placeholder-select-quick-action": "Selecciona una Acció Ràpida...", "quick-action-disabled": "None", "manage-toolbar-options": "Gestiona les opcions de la barra d'eines", "option-internal-link": "Afegeix un enllaç intern", "option-internal-embed": "Afegeix un incrustat intern", "option-tag": "Afegeix una etiqueta", "option-heading": "Activa/desactiva els títols", "option-strikethrough": "Activa/desactiva el ratllat", "option-highlight": "Activa/desactiva el ressaltat", "option-code": "Activa/desactiva el codi", "option-blockquote": "Activa/desactiva la citació", "option-inline-math": "Activa/desactiva la notació matemàtica en línia", "option-math-block": "Activa/desactiva el bloc de notació matemàtica", "option-markdown-link": "Afegeix un enllaç Markdown", "option-bullet-list": "Activa/desactiva la llista amb pic", "option-numbered-list": "Activa/desactiva la llista numerada", "option-indent-list": "Afegeix una sagnia a l'element de la llista", "option-unindent-list": "Treu una sagnia a l'element de la llista", "option-undo": "Desfés", "option-redo": "Refer", "option-move-caret-up": "Mou el cursor amunt", "option-move-caret-down": "Mou el cursor avall", "option-move-caret-left": "Mou el cursor a l'esquerra", "option-move-caret-right": "Mou el cursor a la dreta", "option-first-line": "Ves a la primera línia", "option-last-line": "Ves a l'última línia", "option-toggle-keyboard": "Activa/desactiva el teclat", "option-configure-toolbar": "Configura la barra d'eines mòbil", "option-added-options": "Opcions afegides", "option-more-toolbar-options": "Més opcions de la barra d'eines", "option-attach": "Insereix un adjunt", "option-add-command": "Afegeix una ordre global", "option-add-command-description": "Selecciona qualsevol ordre global per afegir a la barra d'eines." } }, "editor": { "search": { "placeholder-find": "Cerca", "placeholder-replace": "Reemplaça", "label-exit-search": "Sortir de la cerca", "label-next": "Següent", "label-previous": "Anterior", "label-find-all": "Troba'ls tots", "label-replace": "Reemplaça", "label-replace-all": "Reemplaça-ho tot" }, "link-suggestion": { "label-type-hash": "Escriu #", "label-link-heading": "per enllaçar a títol", "label-type-block": "Escriu ^", "label-link-block": "per enllaçar a blocs", "label-type-pipe": "Escriu |", "label-change-display-text": "per canviar el text de visualització", "label-no-alias": "Mostra el text", "label-no-heading": "Encapçalament", "label-no-match-found": "No s'ha trobat coincidència", "label-image-size": "Mida d'imatge: {{size}}px d'ample", "label-accept": "acceptar", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Sense suggeriments...", "add-to-dictionary": "Afegir al diccionari" }, "menu": { "edit-link": "Edita l'enllaç", "edit-tag": "Edita l'etiqueta", "label-edit-block": "Edita aquest bloc", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "Sense títol", "label-heading-level": "Títol {{level}}" }, "print-modal": { "title": "Exporta a PDF", "caption": "Exporta \"{{filename}}\" a PDF amb la configuració següent.", "setting-page-size": "Mida de pàgina", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Carta", "setting-page-size-tabloid": "Tabloide", "setting-include-file-name": "Inclou el nom del fitxer com a títol", "setting-landscape": "Horitzontal", "setting-margin": "Marge", "setting-margin-default": "Per defecte", "setting-margin-minimal": "Mínim", "setting-margin-none": "Cap", "setting-downscale-percent": "Redueix la mida en percentatge", "button-export-to-pdf": "Exporta a PDF" }, "link-popover": { "tooltip-follow-link": "Segueix l'enllaç", "tooltip-open-link": "Obre l'enllaç", "tooltip-search-tag": "Cerca l'etiqueta" } }, "interface": { "embed-cannot-find": "No es pot trobar:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Obre-ho en l'aplicació predeterminada", "empty-sidebar": "La barra lateral està buida; prova d'arrossegar una finestra aquí.", "sidebar-expand": "Amplia", "sidebar-collapse": "Redueix", "msg-fail-to-save-file": "No s'ha pogut desar el fitxer \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "No s'ha pogut carregar el connector “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "No s'ha pogut obrir “{{filepath}}”", "msg-failed-to-open-href": "No es pot obrir la ubicació “{{href}}”", "no-file": "Sense fitxer", "msg-file-changed": "\"{{file}}\" ha estat modificat externament, s'estan fusionant els canvis automàticament.", "switch-vault": "Obre una altra arca", "manage-vaults": "Gestiona les arques...", "help": "Ajuda", "settings": "Configuració", "drag-to-rearrange": "Arrossega per reorganitzar", "msg-switched-to-read": "S'ha canviat el mode de visualització per defecte a la visualització de lectura.", "msg-switched-to-edit": "S'ha canviat el mode de visualització per defecte a l'editor.", "msg-upgrade-installer": "Per utilitzar aquesta característica, si us plau, torna a instal·lar-la amb l'últim instal·lador disponible al nostre lloc web.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Restaura la configuració predeterminada", "label-copy": "Copia al porta-retalls", "label-copy-short": "Copiar", "copied_generic": "Copiat al teu porta-retalls", "copied": "{{item}} copiat al teu porta-retalls", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Fitxer obert \"{{path}}\"", "msg-file-not-found-through-uri": "No s'ha trobat el fitxer \"{{name}}\".", "delete-action-short-name": "Esborra", "msg-indexing": "Obsidian està indexant la teva arca...\nAixò només hauria de passar una vegada.\nAlgunes funcions poden no estar disponibles fins que això acabi.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indexació completa.", "msg-sandbox-vault": "Aquesta és una arca de proves. \nEls canvis que facis en aquesta arca es perdran.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Prem Enter per crear", "label-update-available": "Actualització disponible", "label-debug-info": "Informació de depuració", "button-learn-more": "Aprèn'n més", "button-not-now": "Ara no", "button-add": "Afegir", "button-manage": "Gestionar", "label-new-tab": "Nova pestanya", "option-hide-ribbon": "Amaga la cinta", "msg-tab-busy": "Aquesta pestanya està actualment ocupada; si us plau, torna-ho a provar més tard", "formatting": { "label-formatting": "Format", "label-paragraph": "Paràgraf", "label-insert": "Insertar", "insert-link": "Afegir enllaç", "insert-external-link": "Afegir enllaç extern", "insert-callout": "Destacat", "insert-horizontal-rule": "Línia horitzontal", "insert-code-block": "Bloc de Codi", "insert-math-block": "Bloc matemàtic", "insert-table": "Taula", "insert-footnote": "Footnote", "toggle-bold": "Negreta", "toggle-code": "Codi", "toggle-comments": "Comentari", "toggle-highlight": "Ressaltar", "toggle-italics": "Cursiva", "toggle-strikethrough": "Ratllat", "toggle-math": "Matemàtic", "toggle-bullet-list": "Llista", "toggle-checklist": "Llista de tasques", "toggle-numbered-list": "Llista numerada", "set-heading": "Títol {{level}}", "no-heading": "Cos", "clear": "Netaja el format", "toggle-quote": "Citació" }, "empty-state": { "no-file-open": "No s'ha obert cap fitxer", "create-new-file": "Crea un fitxer nou", "go-to-file": "Vés al fitxer", "see-recent-files": "Mostra els fitxers recents", "close": "Tanca", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "El connector ja no està actiu", "unknown-pane-desc": "El connector que va crear aquest panell ({{type}}) ha desaparegut" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Edita (Ctrl/Cmd+Clica per editar en una nova finestra)", "read-view": "Vista actual: lectura", "ribbon": "Cinta", "left-sidebar": "Columna esquerra", "right-sidebar": "Columna dreta", "switch-to-edit-view": "Clica per editar", "switch-to-read-view": "Clica per llegir", "mod-click-open-new-tab": "{{key}}+Clic per obrir en una nova pestanya", "find": "Cerca...", "replace": "Reemplaça...", "edit": "Edita", "remove": "Remove", "rename": "Rename", "preview": "Previsualitza", "more-options": "Més opcions", "close": "Tanca", "close-all": "Tanca-ho tot", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Tanca les altres", "close-after": "Close tabs after", "pin": "Fixa", "unpin": "Desfixa", "unlink-tab": "Desenllaça la pestanya", "link-tab": "Enllaça amb la pestanya...", "toggle-source-mode": "Mode codi", "toggle-reading-view": "Vista de lectura", "add-property": "Afegeix una propietat del fitxer", "delete-file": "Esborra el fitxer", "create-file": "Crea aquest fitxer", "open-link": "Obre l'enllaç", "open-in-new-tab": "Obre en una nova pestanya", "open-to-the-right": "Obre cap a la dreta", "copy-url": "Copia la URL", "copy": "Copia", "cut": "Talla", "paste": "Enganxa", "paste-as-plain-text": "Enganxa com a text pla", "lookup-selection": "Cerca “{{selection}}”", "select-all": "Selecciona-ho tot", "rename-heading": "Reanomena aquesta capçalera...", "rename-blockid": "Reanomena aquesta ID de bloc...", "open-in-new-window": "Obre en una finestra nova", "move-to-new-window": "Mou a una finestra nova", "open-in-browser": "Obre en el navegador", "stack-tabs": "Apila les pestanyes", "unstack-tabs": "Desapila les pestanyes", "open-linked-view": "Obre la vista enllaçada" }, "tooltip": { "click-to-expand": "Feu clic per expandir", "click-to-collapse": "Feu clic per contraure", "alias": "Àlies", "not-created-yet": "Encara no creat, seleccioneu per crear-lo" }, "start-screen": { "label-version": "Versió", "label-create-local-vault": "Crear arca local", "option-open-folder-as-vault": "Obrir carpeta com a arca", "option-open-folder-as-vault-description": "Trieu una carpeta existent d'arxius Markdown.", "option-create-vault": "Crear una arca nova", "option-create-vault-description": "Creeu una nova arca Obsidian dins una carpeta.", "option-connect-obsidian-sync": "Connectar a Obsidian Sync", "option-connect-obsidian-sync-description": "Configureu una arca sincronitzada amb una arca remota existent.", "option-new-vault-name": "Nom de l'arca", "option-new-vault-name-description": "Trieu un nom per a la vostra magnífica arca.", "option-new-vault-location": "Ubicació", "option-new-vault-location-description": "Trieu un lloc per posar la vostra arca nova.", "label-new-vault-location-preview": "La vostra arca nova s'ubicarà a: ", "option-reveal-vault-in-explorer": "Mostrar arca a l'explorador del sistema", "option-reveal-vault-in-explorer-mac": "Mostrar arca al Finder", "option-rename-vault": "Canviar nom de l'arca...", "option-copy-vault-i-d": "Copia la ID de l'arca", "msg-error-rename-exists": "Ja existeix una arca amb aquest nom.", "msg-error-nested": "No es pot moure l'arca a una subcarpeta de si mateix.", "msg-error-rename-open": "No es pot canviar el nom d'una arca que està oberta actualment.", "msg-rename-failed": "No s'ha pogut canviar el nom de l'arca.", "msg-rename-success": "S'ha canviat el nom de l'arca amb èxit.", "option-move-vault": "Moure arca...", "msg-move-select-dest": "Seleccioneu la carpeta de destinació", "msg-error-move-exists": "Ja existeix una arca a la destinació.", "msg-error-move-open": "No es pot moure una arca que està oberta actualment.", "msg-move-failed": "No s'ha pogut moure l'arca.", "msg-move-success": "L'arca s'ha mogut amb èxit.", "option-remove": "Eliminar de la llista", "button-quick-start": "Inici ràpid", "button-open": "Obrir", "button-browse": "Navegar", "button-connect": "Connectar", "button-create-vault": "Crear", "button-back": "Enrere", "msg-empty-vault-name": "El nom de l'arca no pot estar buit.", "msg-trailing-dot-vault-name": "El nom de l'Arca no pot acabar amb un punt.", "msg-invalid-folder": "Trieu una carpeta vàlida.", "msg-failed-to-create-vault": "No s'ha pogut crear l'arca.", "msg-failed-to-create-vault-at-location": "No s'ha pogut crear l'arca a la ubicació proporcionada. Comproveu-ne la ubicació i els permisos.", "msg-error-failed-to-open-vault": "No s'ha pogut obrir.", "msg-error-remove-current-open-vault": "No es pot eliminar una arca que està oberta actualment.", "option-get-help": "Obtenir ajuda", "option-user-email": "Correu electrònic", "placeholder-your-email": "El vostre correu electrònic...", "option-user-password": "Contrasenya", "placeholder-your-password": "La vostra contrasenya...", "button-sign-in": "Iniciar sessió", "button-setup": "Configuració", "option-connect-vault-desc": "Creeu una arca sincronitzada en aquest dispositiu.", "tooltip-own-vault": "Aquesta és una arca remota que us pertany.", "tooltip-shared-vault": "Aquesta és una arca remota compartida.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Hola", "welcome-file-content": "Aquesta és la teva nova *arca*.\n\nFes una nota d'alguna cosa, [[crea un enllaç]] o prova [l'importador](https://help.obsidian.md /Plugins/Importer)!\n\nQuan estiguis a punt, suprimeix aquesta nota i fes la teva arca." }, "drag-and-drop": { "insert-link-here": "Insereix l'enllaç aquí", "insert-links-here": "Insereix els enllaços aquí", "move-into-folder": "Mou a \"{{folder}}\"", "star-this-file": "Destaca aquest fitxer", "star-these-files": "Destaca aquests fitxers", "open-in-this-tab": "Obre en aquesta pestanya", "open-as-tab": "Obre com a nova pestanya" }, "window": { "maximize": "Maximitza", "minimize": "Minimitza", "restore-down": "Restaura", "close-window": "Tanca la finestra", "go-back": "Torna enrere", "go-forward": "Avança" }, "start-up": { "loading-obsidian": "Carregant Obsidian...", "obsidian-load-error": "S'ha produït un error en carregar Obsidian.", "button-reload-app": "Recarrega l'aplicació", "button-reload-app-in-safe-mode": "Recarrega l'aplicació en mode segur", "button-open-another-vault": "Obre una altra arca", "loading-plugins": "Carregant connectors...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Carregant arca...", "msg-failed-to-load-vault": "No s'ha pogut carregar l'arca: ", "loading-cache": "Carregant memòria cau...", "loading-workspace": "Carregant espai de treball..." }, "mobile": { "action-import": "Importa a l'arca", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "Tria un fitxer per inserir", "action-insert-text-into-file": "Insereix text a {{filename}}", "action-insert-link-into-file": "Insereix enllaç a {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "Important...", "msg-import-success": "Importació realitzada amb èxit", "msg-failed-to-import-file": "No s'ha pogut importar el fitxer {{filename}}", "msg-back-again-to-exit": "Prem de nou enrere per sortir.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Lloc web d'ajuda oficial", "label-official-help-site-desc": "Llegeix la documentació oficial d'ajuda d'Obsidian, disponible en diverses llengües.", "action-visit": "Visitar", "label-discord-chat": "Xat de Discord", "label-discord-chat-desc": "Discord és el millor lloc per xatejar amb altres usuaris experimentats d'Obsidian de tot el món.", "action-join": "Uneix-t'hi", "label-forum": "Fòrum oficial", "label-forum-desc": "Ajudeu-vos mútuament, publiqueu sol·licituds de funcionalitats, informeu d'errors i feu discussions a fons sobre la gestió del coneixement.", "label-sandbox-vault": "Arca d'experimentació", "label-sandbox-vault-desc": "Juga i experimenta amb diferents funcionalitats. Tingueu en compte que els canvis no es desaran." } }, "commands": { "save-file": "Desa l'arxiu actual", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Segueix l'enllaç sota el cursor", "open-cursor-link-in-new-tab": "Obre l'enllaç sota el cursor en una nova pestanya", "open-cursor-link-to-the-right": "Obre l'enllaç sota el cursor a la dreta", "open-cursor-link-in-new-window": "Obre l'enllaç sota el cursor en una finestra nova", "navigate-tab-above": "Focalitza en el grup de pestanyes superior", "navigate-tab-below": "Focalitza en el grup de pestanyes inferior", "navigate-tab-left": "Focalitza en el grup de pestanyes a l'esquerra", "navigate-tab-right": "Focalitza en el grup de pestanyes a la dreta", "toggle-pin": "Activa/desactiva la fixació", "split-right": "Divideix a la dreta", "split-down": "Divideix cap avall", "toggle-stacked-tabs": "Alterna les pestanyes apilades", "navigate-back": "Navega enrere", "navigate-forward": "Navega endavant", "use-dark-mode": "Utilitza el mode fosc", "use-light-mode": "Utilitza el mode clar", "change-theme": "Canvia el tema", "search-current-file": "Cerca a l'arxiu actual", "search-replace-current-file": "Cerca i substitueix a l'arxiu actual", "add-property": "Afegeix propietat a l'arxiu", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Afegeix un àlies", "clear-properties": "Esborra les propietats de l'arxiu", "open-settings": "Obre la configuració", "open-help": "Obre l'ajuda", "toggle-edit": "Alterna entre la vista d'edició i la de lectura", "toggle-source-mode": "Alterna entre la vista prèvia en directe i el mode font", "delete-current-file": "Esborra l'arxiu actual", "new-tab": "Nova pestanya", "show-trash": "Mostra la paperera", "close-all-tabs": "Tanca totes les pestanyes", "close-active-tab": "Tanca la pestanya actual", "close-others-in-tab-group": "Tanca les altres en el grup de pestanyes", "close-other-tabs": "Tanca totes les altres pestanyes", "close-tab-group": "Tanca aquest grup de pestanyes", "toggle-left-sidebar": "Alterna la barra lateral esquerra", "toggle-ribbon": "Alterna la cinta", "toggle-right-sidebar": "Alterna la barra lateral dreta", "toggle-default-new-tab-mode": "Alterna el mode per defecte per a les noves pestanyes", "add-cursor-above": "Afegeix el cursor a sobre", "add-cursor-below": "Afegeix el cursor a sota", "focus-editor": "Focalitza en l'editor", "toggle-fold-properties": "Alterna l'ocultació de les propietats a l'arxiu actual", "toggle-fold": "Alterna l'ocultació a la línia actual", "fold-all": "Oculta totes les capçaleres i llistes", "unfold-all": "Desoculta totes les capçaleres i llistes", "fold-more": "Oculta més", "fold-less": "Oculta menys", "swap-line-up": "Intercanvia la línia cap amunt", "swap-line-down": "Intercanvia la línia cap avall", "remove-heading": "Elimina la capçalera", "toggle-heading": "Estableix com a capçalera {{level}}", "toggle-bold": "Alterna la negreta per a la selecció", "toggle-italics": "Alterna la cursiva per a la selecció", "toggle-highlight": "Alterna el ressaltat per a la selecció", "toggle-comments": "Alterna els comentaris per a la selecció", "clear-formatting": "Neteja el format", "insert-link": "Insereix un enllaç", "toggle-spellcheck": "Alterna la correcció ortogràfica", "delete-paragraph": "Elimina el paràgraf", "toggle-checklist": "Alterna l'estat de la llista de verificació", "cycle-list-checklist": "Alterna entre pic/casella de selecció", "insert-callout": "Insereix una nota", "insert-code-block": "Insereix un bloc de codi", "insert-math-block": "Insereix un bloc de fórmules matemàtiques", "insert-horizontal-rule": "Insereix fila horitzontal", "insert-table": "Insereix taula", "insert-footnote": "Insert footnote", "edit-file-title": "Edita el títol de l'arxiu", "copy-path": "Copia la ruta de l'arxiu", "copy-url": "Copia l'URL d'Obsidian", "export-pdf": "Exporta a PDF", "reload": "Recarrega l'aplicació sense desar", "undo-close-tab": "Desfés el tancament de la pestanya", "context-menu": "Mostra el menú contextual sota el cursor", "show-debug-info": "Mostra la informació de depuració", "open-sandbox-vault": "Obre l'arca de proves", "always-on-top": "Alterna la finestra sempre visible", "zoom-in": "Augmenta el zoom", "zoom-out": "Redueix el zoom", "reset-zoom": "Restableix el zoom", "toggle-preview": "Alterna entre la vista d'edició i la de previsualització", "move-to-new-window": "Mou el panell actual a una nova finestra", "open-in-new-window": "Obre el panell actual en una finestra nova", "rename-current-file": "Reanomena l'arxiu actual", "go-to-prev-tab": "Ves a la pestanya anterior", "go-to-next-tab": "Ves a la següent pestanya", "go-to-last-tab": "Ves a l'última pestanya", "go-to-nth-tab": "Ves a la pestanya núm. {{n}}", "show-release-notes": "Mostra les notes de la versió" }, "dialogue": { "label-link-affected": "Això afectarà {{links}} en {{files}}.", "msg-updated-links": "S'han actualitzat {{links}} en {{files}}.", "label-update-links": "Actualitza els enllaços", "label-confirm-update-link-to-file": "Voleu actualitzar els enllaços interns que apunten a aquest arxiu?", "button-always-update": "Actualitza sempre", "button-just-once": "Només aquesta vegada", "button-do-not-update": "No actualitzis", "label-confirm-deletion": "Segur que voleu suprimir \"{{filename}}\"?", "label-move-to-system-trash": "S'enviarà a la paperera del sistema.", "label-move-to-vault-trash": "S'enviarà a la paperera d'Obsidian, que es troba a la carpeta oculta \".trash\" del vostre arca.", "label-permanent-delete": "L'arxiu s'eliminarà permanentment.", "label-non-empty-folder": "Aquesta carpeta no està buida.", "label-delete-folder-warning": "Si continueu, totes les arxius dins d'aquesta carpeta s'eliminaran.", "label-delete-folder": "Suprimeix la carpeta", "button-delete": "Suprimeix", "button-delete-do-not-ask-again": "Suprimeix i no m'ho preguntis més", "label-do-not-ask-again": "No ho preguntis més", "label-existing-backlink": "Actualment hi ha {{count}} enllaç que apunta a aquesta nota.", "label-existing-backlink_plural": "Actualment hi ha {{count}} enllaços que apunten a aquesta nota.", "label-delete-file": "Suprimeix l'arxiu", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Gestiona", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Cancel·la", "button-download": "Download", "button-done": "Fet", "button-save": "Desa", "button-stop": "Atura", "button-continue": "Continua", "button-choose": "Tria", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Preparant el PDF...", "label-rename-file": "Canvia el nom de l'arxiu", "label-rename-file-generic": "Nom de l'arxiu", "label-new-name": "Nou nom", "msg-rename-success": "S'ha canviat el nom de l'arxiu amb èxit.", "msg-merge-failed": "Error en fusionar les notes: {{message}}", "msg-file-or-folder-not-found": "El fitxer o carpeta “{{path}}” no existeix.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Canvia el nom de la capçalera", "label-rename-blockid": "Canvia el nom de l'ID del bloc" }, "menu-items": { "new-file": "Crear nota", "new-file-to-the-right": "Nova nota a la dreta", "new-window": "Nova finestra", "open-switcher": "Obre ràpidament...", "open-vault": "Obre Arca...", "close-tab": "Tanca la pestanya", "close-window": "Tanca la finestra", "find": "Cerca", "replace": "Reemplaça", "insert-callout": "Destacats", "insert-markdown-link": "Enllaç Markdown", "insert-wikilink": "Enllaç", "set-heading": "Capçalera {{level}}", "no-heading": "Sense capçalera", "insert-quote": "Cita", "export-pdf": "Exporta a PDF", "insert-attachment": "Insereix adjunt...", "insert-codeblock": "Bloc de codi", "insert-math-block": "Bloc de matemàtiques", "insert-table": "Taula", "insert-footnote": "Footnote", "toggle-bullet-list": "Llista", "toggle-numbered-list": "Llista numerada", "toggle-checklist": "Llista de tasques", "toggle-bold": "Negreta", "toggle-code": "Codi", "toggle-comment": "Comentari", "toggle-italics": "Cursiva", "toggle-inline-math": "Matemàtica en línia", "toggle-highlight": "Ressaltat", "toggle-strikethrough": "Ratllat", "toggle-comments": "Comentaris", "folding-menu": "Plegat", "fold-all": "Plega-ho tot", "unfold-all": "Desplega-ho tot", "fold-more": "Plega més", "fold-less": "Plega menys", "source-mode": "Mode font", "reading-view": "Vista de lectura", "show-debug-info": "Mostra informació de depuració", "open-sandbox": "Obre l'Arca de proves", "navigate-back": "Navega enrere", "navigate-forward": "Navega endavant", "toggle-left-sidebar": "Alterna la barra lateral esquerra", "toggle-right-sidebar": "Alterna la barra lateral dreta", "toggle-ribbon": "Cinta", "split-right": "Divideix cap a la dreta", "split-down": "Divideix cap avall", "release-notes": "Notes de la versió" }, "plugins": { "name": "Connectors", "file-explorer": { "name": "Explorador de fitxers", "desc": "Mostra tots els fitxers de la teva Arca.", "action-open": "Obre l'explorador de fitxers", "action-show": "Mostra l'explorador de fitxers", "action-create-note": "Crea una nota nova", "action-create-folder": "Crea una carpeta nova", "action-create-note-in-current-tab": "Crea una nota nova a la pestanya actual", "action-create-note-to-the-right": "Crea una nota a la dreta", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Redueix-ho tot", "action-expand-all": "Expandeix-ho tot", "action-new-note": "Nota nova", "action-new-folder": "Carpeta nova", "action-change-sort": "Canvia l'ordre de classificació", "action-reveal-file": "Mostra el fitxer a l'explorador de fitxers", "action-reveal-active-file": "Mostra el fitxer actiu a l'explorador de fitxers", "command-make-a-copy": "Fes una còpia del fitxer actual", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Mou el fitxer a una altra carpeta", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Mou el fitxer a...", "action-move-folder": "Mou la carpeta a...", "action-move-items": "Mou {{count}} elements a...", "prompt-type-folder": "Escriu el nom de la carpeta", "label-no-folders": "No s'han trobat carpetes.", "instruction-navigate": "per navegar", "instruction-move": "per moure", "instruction-create": "per crear", "instruction-dismiss": "per descartar", "label-sort-a-to-z": "Ordena per nom de fitxer (A a Z)", "label-sort-z-to-a": "Ordena per nom de fitxer (Z a A)", "label-sort-new-to-old": "Ordena per hora d'edició (nou a vell)", "label-sort-old-to-new": "Ordena per hora d'edició (vell a nou)", "label-sort-created-old-to-new": "Hora de creació (vell a nou)", "label-sort-created-new-to-old": "Hora de creació (nou a vell)", "menu-opt-new-note": "Nota nova", "menu-opt-new-folder": "Carpeta nova", "menu-opt-rename": "Reanomena", "menu-opt-delete": "Suprimeix", "menu-opt-make-copy": "Fes una còpia", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "El nom del fitxer no pot contenir cap dels següents caràcters: ", "msg-unsafe-characters": "Els enllaços no funcionaran amb noms de fitxers que continguin aquests caràcters: ", "msg-file-already-exists": "Ja existeix un fitxer amb el mateix nom", "msg-empty-file-name": "El nom del fitxer no pot estar buit.", "msg-bad-dotfile": "El nom del fitxer no pot començar amb un punt.", "tooltip-modified-time": "Darrera modificació a les {{time}}", "tooltip-created-time": "Creat a les {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Sense títol", "label-untitled-folder": "Sense títol", "msg-set-attachment-folder": "Els adjunts s'han de desar a \"{{path}}\" a partir d'ara." }, "search": { "name": "Cerca", "desc": "Cerca una paraula clau en totes les notes.", "action-open-search": "Cerca en tots els fitxers", "label-collapse-results": "Redueix els resultats", "label-match-case": "Coincidència de majúscules i minúscules", "label-explain-search-term": "Explica el terme de cerca", "label-more-context": "Mostra més context", "label-result-count": "{{count}} resultat", "label-result-count_plural": "{{count}} resultats", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Configuració de cerca", "prompt-start-search": "Escriu per començar la cerca...", "label-match-text": "Coincideix amb el text: ", "label-match-regex": "Coincideix amb l'expressió regular: ", "label-match-exact-text": "Conté el text exacte: ", "label-match-greater-than": "Més gran que: ", "label-match-less-than": "Menys que: ", "label-match-true": "És veritat", "label-match-false": "És fals", "label-match-empty": "Està buit", "label-match-property": "Conté la propietat:", "label-match-all": "Coincideix amb tots els següents: ", "label-match-any": "Coincideix amb qualsevol dels següents: ", "label-excluding": "Excloent: ", "label-case-sensitive": "Coincidència amb majúscules i minúscules", "label-case-insensitive": "Coincidència sense distinció de majúscules i minúscules", "label-match-file-path": "Coincideix amb la ruta del fitxer: ", "label-match-file-name": "Coincideix amb el nom del fitxer: ", "label-match-content": "Coincideix amb el contingut del fitxer: ", "label-match-task": "Coincideix amb la tasca: ", "label-match-task-todo": "Coincideix amb la tasca (pendent): ", "label-match-task-done": "Coincideix amb la tasca (feta): ", "label-match-line": "Coincideix amb la línia: ", "label-match-block": "Coincideix amb el bloc: ", "label-match-section": "Coincideix amb la secció: ", "label-match-tag": "Coincideix amb l'etiqueta: ", "label-no-matches": "No s'han trobat coincidències.", "matches-with-count": "... i {{count}} coincidència més.", "matches-with-count_plural": "... i {{count}} coincidències més.", "label-copy-search-results": "Copia els resultats de la cerca", "button-copy-results": "Copia els resultats", "msg-successfully-copied": "Els resultats s'han copiat al porta-retalls.", "option-show-path": "Mostra la ruta", "option-show-path-description": "Mostra la ruta completa del fitxer en lloc només del nom del fitxer.", "option-link-style": "Estil de l'enllaç", "option-link-style-description": "Converteix cada resultat de fitxer en un enllaç de manera opcional.", "option-choice-link-style-none": "Cap", "option-choice-link-style-wikilink": "Wikienllaç", "option-choice-link-style-markdown-link": "Enllaç de Markdown", "option-list-prefix": "Prefix de la llista", "option-list-prefix-description": "Afegeix de manera opcional un prefix d'element de llista a cada resultat de fitxer.", "option-choice-list-style-none": "Cap", "option-choice-list-style-dash": "Guió (-)", "option-choice-list-style-asterisk": "Asterisc (*)", "option-choice-list-style-numbered": "Numerat", "tooltip-clear-search": "Neteja la cerca", "label-search-options": "Opcions de cerca", "label-properties-group": "Propietats", "label-tags-group": "Etiquetes", "tooltip-read-more": "Llegeix més", "label-history": "Historial", "tooltip-clear-history": "Neteja l'historial de cerca", "label-path-option-description": "coincideix amb la ruta del fitxer", "label-file-name-option-description": "coincideix amb el nom del fitxer", "label-tag-option-description": "cerca etiquetes", "label-line-option-description": "cerca paraules clau a la mateixa línia", "label-section-option-description": "cerca paraules clau sota la mateixa capçalera", "label-property-option-description": "coincideix amb la propietat", "menu-opt-search-for": "Cerca \"{{keyword}}\"", "menu-opt-search-in-folder": "Cerca a la carpeta" }, "quick-switcher": { "name": "Selector ràpid", "desc": "Salta a qualsevol fitxer sense deixar el teclat. Ctrl/Cmd+O per activar.", "short-name": "Selector", "action-open": "Obre el selector ràpid", "instruction-navigate": "per navegar", "instruction-open": "per obrir", "instruction-open-in-new-tab": "per obrir en una pestanya nova", "instruction-open-to-the-right": "per obrir a la dreta", "instruction-create": "per crear", "instruction-dismiss": "per descartar", "instruction-select": "per seleccionar", "label-no-note-create-new": "No s'han trobat notes. Prem Enter per crear-ne una de nova.", "prompt-type-file-name": "Escriu el nom del fitxer al qual vols saltar o crear...", "label-enter-to-create": "Enter per crear", "tooltip-not-created-yet": "Encara no s'ha creat, selecciona per crear", "option-show-existing-only": "Mostra només els existents", "option-show-existing-only-description": "Mostra només enllaços als fitxers que encara no s'han creat.", "option-show-attachments": "Mostra els fitxers adjunts", "option-show-attachments-desc": "Mostra els fitxers adjunts com ara imatges, vídeos i PDF.", "option-show-all-file-types": "Mostra tots els tipus de fitxer", "option-show-all-file-types-desc": "Mostra tots els fitxers, inclosos aquells que Obsidian no pot obrir. El fitxer s'obrirà amb l'aplicació predeterminada per a aquest tipus de fitxer." }, "graph-view": { "name": "Vista gràfica", "desc": "Visualitza un gràfic de les notes que estan enllaçades entre elles.", "action-open": "Obre la vista gràfica", "action-open-local": "Obre la vista gràfica local", "action-copy-screenshot": "Copia la captura de pantalla", "tab-title": "Gràfic de {{displayText}}", "label-filters": "Filtres", "prompt-filter-nodes": "Cerca fitxers...", "option-depth": "Profunditat", "option-depth-description": "Mostra els nodes a aquesta distància de links", "option-neighbor-links": "Enllaços de veïns", "option-neighbor-links-description": "Mostra els enllaços entre veïns.", "option-forelinks": "Enllaços sortints", "option-forelinks-description": "Mostra els enllaços cap a altres fitxers", "option-backlinks": "Enllaços entrants", "option-backlinks-description": "Mostra els enllaços des d'altres fitxers", "option-show-tags": "Etiquetes", "option-show-tags-description": "Les etiquetes estan enllaçades als fitxers que les contenen", "option-show-attachments": "Fitxers adjunts", "option-show-attachments-description": "Mostra els fitxers adjunts inclosos pels fitxers", "option-show-existing-files-only": "Només fitxers existents", "option-show-existing-files-only-description": "Si està marcat, no es mostraran els enllaços a fitxers que no existeixen", "option-show-orphans": "Òrfes", "option-show-orphans-description": "Mostra els fitxers que no estan enllaçats amb cap altre fitxer", "label-display": "Visualització", "option-show-arrows": "Fletxes", "option-show-arrows-description": "Mostra les fletxes quan estigui ampliat", "option-text-fade": "Llindar d'esvaïment del text", "option-node-size": "Mida del node", "option-link-thickness": "Gruix de l'enllaç", "label-forces": "Forces", "option-center-force": "Força de centrat", "option-link-force": "Força de l'enllaç", "option-link-distance": "Distància de l'enllaç", "option-repel-force": "Força de repulsió", "tooltip-open-graph-settings": "Obre la configuració de la vista gràfica", "msg-screenshot-copied": "Captura de pantalla copiada al porta-retalls.", "label-groups": "Grups", "placeholder-enter-query": "Introdueix la consulta...", "tooltip-delete-graph": "Esborra el grup", "button-new-group": "Nou grup", "tooltip-click-to-change-drag-to-reorder": "Fes clic per canviar el color\nArrossega per reordenar els grups", "action-timelapse": "Inicia l'animació de lapse de temps del gràfic", "tooltip-start-timelapse-animation": "Inicia l'animació de lapse de temps", "button-animate-timelapse": "Animar" }, "backlinks": { "name": "Retroenllaços", "desc": "Mostra el nombre de retroenllaços a la barra d'estat.", "action-open": "Obre els retroenllaços", "action-show": "Mostra el panell de retroenllaços", "action-open-for-current": "Obre els retroenllaços per al fitxer actual", "action-toggle-backlinks-in-document": "Alterna els retroenllaços al document", "menu-opt-backlinks-in-document": "Retroenllaços al document", "label-linked-mentions": "Mencions enllaçades", "label-no-backlinks": "No s'han trobat retroenllaços.", "label-unlinked-mentions": "Mencions sense enllaçar", "label-show-search": "Mostra el filtre de cerca", "label-link-button-text": "Enllaç", "tab-title": "Retroenllaços per a {{displayText}}", "label-no-unlinked-mentions": "No s'han trobat mencions sense enllaçar.", "ellipsis": "...", "option-backlink-in-document": "Retroenllaç al document", "option-backlink-in-document-desc": "Mostra els retroenllaços al document per defecte en obrir nous panells." }, "outgoing-links": { "name": "Enllaços sortints", "desc": "Mostra els enllaços sortints i detecta mencions sense enllaçar d'altres notes en el fitxer actual.", "action-open": "Obre els enllaços sortints", "action-show": "Mostra el panell d'enllaços sortints", "action-open-for-current": "Obre els enllaços sortints per al fitxer actual", "tab-title": "Enllaços sortints de {{displayText}}", "label-links": "Enllaços", "label-no-links": "No s'han trobat enllaços.", "label-unlinked-mentions": "Mencions sense enllaçar", "tooltip-link-file": "Enllaça aquest fitxer", "tooltip-not-created": "Encara no creat" }, "tag-pane": { "name": "Panell d'etiquetes", "short-name": "Etiquetes", "desc": "Mostra totes les teves etiquetes juntament amb el seu nombre d'aparicions.", "action-show": "Mostra el panell d'etiquetes", "label-no-tags": "No s'han trobat etiquetes.", "label-sort-by-name-a-to-z": "Nom de l'etiqueta (A a Z)", "label-sort-by-name-z-to-a": "Nom de l'etiqueta (Z a A)", "label-sort-by-frequency-high-to-low": "Freqüència (d'alta a baixa)", "label-sort-by-frequency-low-to-high": "Freqüència (de baixa a alta)", "action-show-nested-tags": "Mostra les etiquetes emmascarades", "action-collapse-all": "Redueix-ho tot", "action-expand-all": "Expandeix-ho tot" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Vista de propietats", "desc": "Mostra les metadades dels teus fitxers.", "name-global": "Totes les propietats", "name-local": "Propietats del fitxer", "tab-title": "Propietats del fitxer per a {{displayText}}", "action-show": "Mostra totes les propietats", "action-show-local": "Mostra les propietats del fitxer", "opt-unassign-type": "Desassigna el tipus", "label-no-properties": "No s'han trobat propietats.", "label-invalid-properties": "Propietats no vàlides.", "label-sort-by-name-a-to-z": "Nom de la propietat (A a Z)", "label-sort-by-name-z-to-a": "Nom de la propietat (Z a A)", "label-sort-by-frequency-high-to-low": "Freqüència (d'alta a baixa)", "label-sort-by-frequency-low-to-high": "Freqüència (de baixa a alta)", "msg-merge-properties-warning": "Vols fusionar la propietat “{{oldKey}}” amb “{{newKey}}”?", "msg-merge-properties-warning-desc": "En cas de conflictes, els valors es fusionaran o es farà servir el valor de “{{oldKey}}”.", "action-collapse-all": "Redueix-ho tot", "action-expand-all": "Expandeix-ho tot", "action-open-local": "Obre les propietats del fitxer", "action-open-daily-note": "Obre nota diària" }, "page-preview": { "name": "Previsualització de la pàgina", "desc": "Previsualitza una nota en passar el ratolí per damunt d'un enllaç intern. Ctrl/Cmd + passa el ratolí en mode d'edició.", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "\"{{linktext}}\" encara no s'ha creat. Fes clic per crear-la.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Editor", "label-source-preview": "Previsualització", "label-source-search": "Cerca, Retroenllaços i Enllaços sortints", "label-source-tab-header": "Tab header", "label-require-mod": "Cal {{key}} per activar la previsualització de la pàgina en passar el ratolí" }, "bookmarks": { "name": "Marcadors", "desc": "Marca fitxers i cerques que fas servir amb freqüència.", "action-show": "Mostra els marcadors", "action-collapse-all": "Redueix-ho tot", "action-new-bookmark": "Marca la pestanya activa...", "action-new-group": "Nou grup de marcadors", "action-bookmark": "Marca...", "action-add-bookmark": "Afegeix un marcador", "action-edit-bookmark": "Edita el marcador", "action-bookmark-block": "Marca el bloc sota el cursor...", "action-bookmark-heading": "Marca l'encapçalament sota el cursor...", "action-bookmark-search": "Marca la cerca actual...", "action-remove-bookmark": "Elimina el marcador per al fitxer actual", "action-bookmark-tab-group": "Marca {{count}} pestanya...", "action-bookmark-tab-group_plural": "Marca {{count}} pestanyes...", "action-bookmark-all-tabs": "Marca totes les pestanyes...", "action-bookmark-graph": "Marca aquesta gràfica...", "label-bookmark": "Marcador", "label-bookmarked": "Marcats", "label-bookmark-with-count": "{{count}} marcador", "label-bookmark-with-count_plural": "{{count}} marcadors", "label-no-bookmarks": "No s'han trobat marcadors", "label-invalid-data": "Error en carregar els marcadors.", "label-invalid-data-desc": "El fitxer de dades està corromput.", "label-untitled-group": "Grup sense títol", "label-untitled-graph": "Gràfica sense títol", "menu-opt-edit": "Edita...", "menu-opt-remove": "Elimina", "menu-opt-rename": "Canvia el nom", "menu-opt-bookmark-block": "Marca aquest bloc...", "menu-opt-bookmark-heading": "Marca aquest encapçalament...", "msg-no-search-query": "No hi ha cap cerca per marcar.", "option-path": "Ruta", "option-query": "Cerca", "option-u-r-l": "URL", "option-title": "Títol", "option-group": "Grup de marcadors", "placeholder-bookmark-group": "Marcadors" }, "custom-css": { "name": "CSS personalitzat", "desc": "Llegeix \"obsidian.css\" a l'arca i l'aplica.", "setting-community-themes": "Temes de la comunitat", "msg-fetching-themes": "S'estan obtenint les dades dels temes de la comunitat...", "prompt-filter": "Filtre...", "label-dark-theme-only": "Només temes foscos", "label-light-theme-only": "Només temes clars", "label-use": "Fes servir", "label-stop-use": "Deixa d'utilitzar aquest tema", "label-install-and-use": "Instal·la i fes-lo servir", "label-update": "Actualitza", "label-no-readme": "Aquest tema no proporciona un fitxer README.", "tooltip-remove-theme": "Elimina el tema", "label-visit-on-github": "Visita a GitHub", "msg-load-error": "No s'han pogut carregar els temes de la comunitat, comprova la teva connexió a la xarxa.", "msg-now-using-theme": "Ara estàs fent servir {{title}} com a tema CSS.", "msg-deleted-theme": "S'ha eliminat el tema {{title}}.", "msg-updated-theme": "S'ha actualitzat el tema {{title}}.", "label-installed": "Instal·lat", "label-legacy": "Antic", "button-update-all-themes": "Actualitza-ho tot", "msg-failed-load-themes": "No s'han pogut carregar els temes de la comunitat.", "msg-no-updates-found": "No s'han trobat actualitzacions de temes.", "msg-updates-found": "S'ha trobat 1 tema per actualitzar.", "msg-updates-found_plural": "S'han trobat {{count}} temes per actualitzar.", "msg-failed-to-install-theme": "No s'ha pogut instal·lar el tema \"{{name}}\".", "msg-successfully-installed-theme": "S'ha instal·lat correctament el tema \"{{name}}\".", "msg-installing-theme": "S'està instal·lant el tema \"{{name}}\"...", "label-search-summary": "Mostrant {{themeCount}}:", "label-update-available": "Actualització disponible" }, "command-palette": { "name": "Paleta d'ordres", "desc": "Escriu una ordre per invocar-la. No cal utilitzar la interfície d'usuari o recordar el drecera.", "action-open": "Obre la paleta d'ordres", "instruction-navigate": "per navegar", "instruction-use": "per utilitzar", "instruction-dismiss": "per descartar", "label-no-commands": "No s'han trobat ordres.", "prompt-type-command": "Escriu una ordre...", "label-pinned-commands": "Ordres fixades", "option-add-new-pin": "Nova ordre fixada", "option-add-new-pin-description": "Les ordres fixades apareixeran al principi de totes les ordres quan no hi hagi una cerca." }, "markdown-format-importer": { "name": "Importador de format Markdown", "desc": "Converteix Markdown d'altres aplicacions al format Obsidian.", "action-open": "Obre l'importador Markdown", "option-roam-tag-fixer": "Reparador d'etiquetes de Roam Research", "option-roam-tag-fixer-description": "Converteix \"#etiqueta\" i \"#[[etiqueta]]\" a \"[[etiqueta]]\".", "option-roam-highlight-fixer": "Reparador de ressalts de Roam Research", "option-roam-highlight-fixer-description": "Converteix \"^^ressaltat^^\" a \"==ressaltat==\".", "option-roam-todo-converter": "Conversor de tasques de Roam Research", "option-roam-todo-converter-description": "Converteix \"{{[[TODO]]}}\" a \"[ ]\".", "option-bear-highlight-fixer": "Reparador de ressaltats de Bear", "option-bear-highlight-fixer-description": "Converteix \"::ressaltat::\" a \"==ressaltat==\".", "zettelkasten-link-fixer": "Reparador d'enllaços Zettelkasten", "zettelkasten-link-fixer-description": "Corregir els enllaços \"[[UID]]\" a \"[[Nom del fitxer UID]]\".", "zettelkasten-link-beautifier": "Embellidor d'enllaços Zettelkasten", "zettelkasten-link-beautifier-description": "Corregir els enllaços \"[[UID]]\" i també els embelleix \"[[Nom del fitxer UID|Nom del fitxer]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Advertència: l'importador convertirà tots els fitxers del teu calaix, no només el fitxer actual.", "msg-override-files-warning": "Els teus fitxers seran sobreescrits. Fes una còpia de seguretat de tots els teus fitxers abans d'intentar la conversió.", "label-start-conversion": "Inicia la conversió", "label-stop": "Atura", "label-go-back": "Torna enrere", "label-done": "Fet", "label-processing": "Processant...", "label-cancelling": "Cancel·lant...", "label-finished": "Fet!", "label-processed-files": "Fitxers processats", "label-modified-files": "Fitxers modificats", "label-total-replacements": "Reemplaçaments totals", "label-failed": "Failed" }, "daily-notes": { "name": "Notes diàries", "desc": "Obre la nota diària d'avui o en crea una si no hi és.", "short-name": "Avui", "action-open": "Obre la nota d'avui", "action-open-previous": "Obre la nota diària anterior", "action-open-next": "Obre la nota diària següent", "action-insert-text": "Insereix text a la nota diària", "action-insert-link": "Insereix un enllaç a la nota diària", "msg-fail-format": "No s'ha pogut crear la nota diària. \"{{format}}\" no és un format vàlid.", "msg-fail-folder": "No s'ha pogut crear la nota diària. Carpeta \"{{folderOption}}\" no trobada.", "msg-fail-template-file": "No s'ha pogut crear la nota diària. Fitxer de plantilla \"{{template}}\" no trobat.", "msg-no-previous": "No hi ha cap nota diària abans d'aquesta.", "msg-no-next": "No hi ha cap nota diària després d'aquesta.", "option-date-format": "Format de data", "label-refer-to-syntax": "Per a més sintaxi, consulta: ", "label-syntax-link": "referència del format", "label-syntax-live-preview": "Aquí tens com ho veuràs: ", "option-new-file-location": "Ubicació del fitxer nou", "option-new-file-location-description": "La ruta de la carpeta per crear la nova nota diària.", "option-template": "Ubicació del fitxer de plantilla", "option-template-description": "La ruta del fitxer a utilitzar com a plantilla.", "option-open-on-start": "Obre la nota diària en iniciar", "option-open-on-start-description": "Obre automàticament la teva nota diària cada vegada que obres aquest calaix." }, "unique-note-creator": { "name": "Creador de notes úniques", "desc": "Crea notes amb prefixes de temps únics, per a fluxos de treball com ara Zettelkasten o Slip Box.", "short-name": "Única", "action-create-note": "Crea una nova nota única", "action-add-link": "Add unique internal link", "option-new-file-location": "Ubicació del fitxer nou", "option-new-file-location-description": "La ruta de la carpeta per crear la nova nota única.", "msg-folder-not-found": "No s'ha pogut crear la nota única. Carpeta \"{{folderOption}}\" no trobada.", "option-template-file": "Ubicació del fitxer de plantilla", "option-template-file-description": "La ruta del fitxer a utilitzar com a plantilla.", "option-template-file-placeholder": "Exemple: carpeta1/nota", "option-id-format": "Format de prefix", "msg-template-file-not-found": "No s'ha pogut crear la nota única. Fitxer de plantilla \"{{template}}\" no trobat.", "msg-failed-to-generate": "No s'ha pogut generar una nota única amb el format \"{{format}}" }, "random-note": { "name": "Nota aleatòria", "desc": "Obre una nota aleatòria. Útil per revisar i descobrir.", "short-name": "Aleatòria", "action-open": "Obre nota aleatòria" }, "outline": { "name": "Esquema", "desc": "Mostra l'esquema de l'arxiu actual o del panell vinculat.", "action-open": "Obre esquema", "action-show": "Mostra el panell d'esquema", "action-open-for-current": "Obre l'esquema de l'arxiu actual", "tab-title": "Esquema de {{displayText}}", "label-no-headings": "No s'han trobat capçaleres.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Comptador de paraules", "desc": "Mostra el comptador de paraules a la barra d'estat." }, "slides": { "name": "Presentació", "desc": "Presenta des de Markdown. Usa \"---\" per separar les diapositives.", "action-start": "Inicia presentació" }, "audio-recorder": { "name": "Enregistrament d'àudio", "desc": "Enregistra àudio i desa com a adjunt.", "action-start": "Inicia enregistrament d'àudio", "action-stop": "Atura enregistrament d'àudio", "action-toggle": "Inicia/atura enregistrament", "msg-access-denied": "S'ha denegat l'accés al micròfon, si us plau, habilita'l des del panell de preferències.", "msg-pending-grant": "Si us plau, concedeix permisos per accedir al micròfon i començar l'enregistrament.", "msg-no-microphone": "No hi ha cap micròfon connectat." }, "open-with-default-app": { "name": "Obre amb l'aplicació predeterminada", "desc": "Afegeix un botó per obrir l'arxiu actual a l'aplicació predeterminada.", "action-open-file": "Obre a l'aplicació predeterminada", "action-open-file-mobile": "Comparteix", "action-show-in-folder": "Mostra a la carpeta", "action-show-in-folder-mac": "Mostra al Finder" }, "templates": { "name": "Plantilles", "desc": "Insereix contingut de plantilla des d'una carpeta de fitxers de plantilla.", "action-insert": "Inserir plantilla", "action-insert-current-date": "Inserir data actual", "action-insert-current-time": "Inserir hora actual", "option-template-folder-location": "Ubicació de la carpeta de plantilles", "option-template-folder-location-description": "Els fitxers d'aquesta carpeta estaran disponibles com a plantilles.", "option-template-date-format": "Format de data", "option-template-date-format-description": "{{date}} en el fitxer de plantilla serà reemplaçat amb aquest valor.", "option-template-date-format-description2": "També pots utilitzar {{date:YYYY-MM-DD}} per anul·lar el format una vegada.", "option-template-time-format": "Format d'hora", "option-template-time-format-description": "{{time}} en el fitxer de plantilla serà reemplaçat amb aquest valor.", "option-template-time-format-description2": "També pots utilitzar {{time:HH:mm}} per anul·lar el format una vegada.", "instruction-navigate": "per navegar", "instruction-insert": "per inserir la plantilla", "instruction-dismiss": "per descartar", "msg-no-templates-found": "No s'han trobat plantilles", "msg-fail-invalid-folder": "No s'han pogut llistar les plantilles. La carpeta de plantilles no és vàlida.", "msg-fail-folder-not-found": "No s'han pogut llistar les plantilles. Carpeta \"{{folderOption}}\" no trobada.", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "No s'han pogut llistar les plantilles. No hi ha cap carpeta de plantilles configurada.", "prompt-type-template": "Escriu el nom d'una plantilla..." }, "translucency": { "name": "Finestra translúcida", "desc": "Activa l'efecte de translucidesa per millorar la sensació de profunditat. Millor utilitzat amb el mode fosc. No compatible amb Linux." }, "slash-command": { "name": "Comandes de barra inclinada", "desc": "Habilita la capacitat d'activar comandes de barra inclinada a l'editor, escrivint la barra inclinada cap endavant." }, "editor-status": { "name": "Estat de l'editor", "desc": "Afegeix un element a la barra d'estat per mostrar i canviar el mode actual de l'editor.", "read": "Lectura", "edit-source": "Mode de font", "edit-live-preview": "Previsualització en directe" }, "publish": { "name": "Publish", "desc": "Publica les teves notes a través d'Obsidian Publish.", "action-publish-changes": "Publica els canvis...", "action-publish-file": "Publica el fitxer actual", "label-no-internet-access": "Necessites accés a internet per publicar els canvis.", "label-publish-service-description": "Obsidian Publish és un servei addicional de pagament que et permet publicar les teves notes en línia directament des d'Obsidian.", "label-please-login": "Per començar a publicar, inicia la sessió o crea un compte nou a Obsidian.", "label-no-publish-subscription": "Encara no tens cap subscripció a Obsidian Publish.", "button-purchase": "Comprar", "label-manage-sites": "Gestionar llocs", "label-no-sites": "No tens cap lloc.", "button-choose": "Escollir", "tooltip-edit-site-id": "Editar l'ID del lloc", "tooltip-delete-site": "Eliminar lloc", "label-delete-site-confirmation": "Segur que vols eliminar aquest lloc?", "label-delete-site-details": "Això eliminarà immediatament i de forma permanent el teu lloc.", "label-confirm-delete-site": "Confirma l'eliminació del lloc \"{{site}}\"", "option-site-id": "ID del lloc", "option-site-id-description": "El teu lloc estarà a https://publish.obsidian.md/{site id}. Pots canviar-lo més endavant. Només es permeten lletres minúscules, nombres i guions.", "option-site-id-placeholder": "Escull un ID del lloc", "button-create": "Crear", "msg-invalid-site-id": "L'ID del lloc només pot contenir lletres minúscules, nombres i guions.", "msg-site-id-in-use": "Aquest ID de lloc està en ús, si us plau, prova'n un altre.", "msg-create-site-issue": "S'ha produït un problema en crear el teu lloc.", "label-site-options": "Opcions del lloc", "option-site-general": "General", "option-site-components": "Components", "option-site-appearance": "Aparença", "option-site-reading-experience": "Experiència de lectura", "option-site-misc": "Altres configuracions del lloc", "option-site-name": "Nom del lloc", "option-site-name-description": "Nom del teu lloc publicat. Apareixerà al títol de la pàgina del teu lloc.", "option-site-name-placeholder": "Nom del teu lloc", "option-home-page-file": "Fitxer d'inici", "option-home-page-file-description": "La primera pàgina que l'usuari veu en arribar al teu lloc publicat", "option-home-page-file-placeholder": "Tria un fitxer publicat", "option-logo": "Logotip", "option-logo-description": "Tria un fitxer d'imatge com a logotip del teu lloc.", "option-logo-placeholder": "Qualsevol imatge pujada a la teva arca...", "option-site-collaboration": "Col·laboració al lloc", "option-site-collaboration-desc": "Gestiona els col·laboradors d'aquest lloc.", "option-customize-navigation": "Personalitza la navegació", "option-customize-navigation-desc": "Substitueix l'ordre dels elements de navegació i amaga pàgines o carpetes perquè no es mostrin.", "option-navigation-order": "Ordre de visualització dels elements de navegació", "option-hide-items-in-navigation": "Amagar pàgines o carpetes de la navegació", "option-hide-items-in-navigation-desc": "Fes clic amb el botó dret i selecciona \"Amagar\" per evitar que determinades pàgines apareguin a la navegació del lloc. Les pàgines seguiran sent accessibles mitjançant enllaços o accedint a la URL directament.", "option-show-hidden-items": "Mostrar amagades", "button-customize-sidebar": "Gestionar", "label-navigation-modal-title": "Navegació", "label-navigation-modal-desc": "Arrossega i deixa anar per personalitzar l'ordre en què apareixen els elements de navegació al teu lloc de Publish.", "option-hide-in-navigation": "Amagar a la navegació", "button-manage-collaborators": "Gestionar", "option-theme": "Tema", "option-theme-description": "Tria un esquema de colors per defecte per al teu lloc.", "option-theme-system": "Adaptar-se al del sistema", "option-show-theme-toggle": "Commutador de clar/fosc", "option-show-theme-toggle-description": "Permet que el visitant commuti entre el tema clar i el fosc ell mateix.", "option-show-navigation": "Mostrar navegació", "option-show-navigation-description": "Mostrar una llista de totes les pàgines publicades a l'esquerra del teu lloc publicat.", "option-show-search": "Mostrar la barra de cerca", "option-show-search-description": "Mostrar una barra de cerca a la part superior de la navegació que permet als visitants cercar pàgines i títols del teu lloc.", "option-show-graph": "Mostrar vista gràfica", "option-show-graph-description": "Mostra un petit gràfic local a cada pàgina.", "option-show-outline": "Mostra l'Índex", "option-show-outline-description": "Mostra l'estructura de títols de cada pàgina.", "option-show-backlinks": "Mostra els retroenllaços", "option-show-backlinks-description": "Mostra la secció de retroenllaços al final de cada pàgina.", "option-sliding-window-mode": "Utilitza finestres desplaçables", "option-sliding-window-mode-description": "Obre pàgines en finestres noves a la dreta. Permet desplaçar-te horitzontalment entre les planes.", "option-hover-preview-file": "Mostra la previsualització en passar el cursor", "option-hover-preview-file-description": "Mostra una previsualització de la pàgina en passar el cursor per sobre dels enllaços.", "option-hide-title": "Amaga el títol de la pàgina", "option-hide-title-description": "Amaga l'encapçalament del títol de la pàgina. Útil quan tens els teus propis títols a l'inici de cada pàgina.", "option-readable-line-length": "Longitud de línia llegible", "option-readable-line-length-description": "Limita la longitud màxima de línia. Mostra menys contingut a la pantalla, però fa que els paràgrafs llargs siguin més llegibles.", "option-site-password": "Contrasenyes", "option-site-password-description": "Restringeix l'accés al teu lloc amb contrasenyes.", "option-google-analytics": "Codi de seguiment de Google Analytics", "option-google-analytics-description": "Configura Google Analytics per al teu lloc. Només està disponible per als visitants amb URL de domini personalitzada. Si us plau, consulta les lleis i regulacions locals.", "button-manage-passwords": "Gestionar", "button-save-site-settings": "Desa les configuracions del lloc", "msg-updated-options": "Opcions actualitzades per al teu lloc.", "button-go-back": "Enrere", "label-publishing-to": "Publicant a", "tooltip-switch-site": "Canvia de lloc", "button-add-linked": "Afegir enllaçat", "tooltip-add-linked": "Afegeix tots els fitxers que estan enllaçats als elements seleccionats actualment", "msg-added-linked-files": "S'ha afegit {{count}} fitxer enllaçat.", "msg-added-linked-files_plural": "S'han afegit {{count}} fitxers enllaçats.", "tooltip-open-site-options": "Canvia les opcions del lloc", "label-no-changes-detected": "No s'han detectat canvis.", "label-changed-files-to-be-published": "Canvis", "label-unchanged-files-already-published": "No modificats (selecciona per eliminar)", "label-file-selected": " seleccionat", "button-select-all-files": "Selecciona-ho tot", "label-custom-navigation-title": "Elements de navegació", "button-deselect-all-files": "Desselecciona-ho tot", "label-new-files-to-be-published": "Nou", "button-publish": "Publica", "msg-no-permission-to-publish-to-site": "No tens permisos per publicar al lloc actual.", "msg-select-at-least-one-file": "Si us plau, selecciona almenys un fitxer.", "label-upload-changes": "Puja els canvis", "button-done": "Fet", "button-stop": "Atura", "label-status-uploading": "Pujant", "label-status-to-publish": "Per publicar", "label-status-to-delete": "Per eliminar", "label-status-published": "Publicat", "label-status-deleted": "Eliminat", "label-status-failed": "Fallit", "label-status-cancelled": "Cancel·lat", "button-change": "Canviar", "label-clear-cache": "Es pot trigar uns minuts a mostrar els canvis al lloc. Si no veus les darreres actualitzacions, prova a netejar la memòria cau del teu navegador.", "label-visit-site": "Pots visitar el teu lloc aquí: ", "msg-something-went-wrong": "Alguna cosa ha anat malament. Si us plau, comprova la consola de desenvolupador per obtenir més detalls.", "msg-network-error": "S'ha produït un error de xarxa. ", "label-manage-passwords": "Gestiona les contrasenyes", "label-add-password": "Afegir contrasenya", "action-new-password": "Nova contrasenya", "label-no-password": "Actualment, el teu lloc no té cap contrasenya. Qualsevol pot visitar-lo.", "label-have-password": "El teu lloc està protegit amb contrasenya. Si tens diverses contrasenyes, els visitants poden accedir al teu lloc introduint-ne qualsevol d'elles.", "option-password-name": "Contrasenya", "option-password-desc": "S'emmagatzemarà de forma segura un hash de la teva contrasenya. Un cop s'hagi establert la contrasenya, no es podrà revelar en text pla.", "option-password-placeholder": "La teva contrasenya", "option-nickname-name": "Sobrenom (opcional)", "option-nickname-desc": "Estableix un sobrenom per recordar per a què o per a qui és la contrasenya.", "action-add-password": "Afegir aquesta contrasenya", "label-untitled-password": "Contrasenya sense títol", "label-password-created-time": "Creat el {{time}}", "msg-added-new-password": "S'ha afegit una nova contrasenya.", "option-custom-domain": "Domini personalitzat", "option-custom-domain-desc": "Utilitza el teu propi domini enlloc de la URL https://publish.obsidian.md/{site id}.", "option-noindex": "Prohibir la indexació als motors de cerca", "option-noindex-desc": "Evita que els motors de cerca indexin el teu lloc.", "button-configure": "Configurar", "label-configure-custom-domain": "Configura el domini personalitzat", "option-custom-url-name": "URL personalitzada", "option-custom-url-desc": "La URL on estarà ubicat el teu lloc.", "option-custom-url-placeholder": "www.elteudomini.com", "option-custom-url-redirect": "Redirigeix al teu domini personalitzat", "option-custom-url-redirect-desc": "Redirigeix els visitants de publish.obsidian.md/id al teu domini personalitzat.", "button-update-custom-domain": "Actualitza la configuració del domini", "label-custom-domain-instructions": "Consulta la nostra {{link}} a la nostra pàgina d'ajuda per obtenir més informació.", "label-custom-domain-link-name": "guia de configuració de domini personalitzat", "label-site-usage": "Estàs utilitzant {{site}} del teu límit de {{limit}}.", "button-add-more-sites": "Compra més llocs", "label-no-sites-bought": "No has comprat cap lloc.", "button-get-site": "Obtén un lloc", "label-manage-sharing": "Gestiona la compartició per a \"{{name}}\"", "label-sharing-with-users": "Actualment aquest lloc es comparteix amb les següents persones.", "label-not-sharing": "Actualment aquest lloc no es comparteix amb ningú.", "label-invite-pending": "Pendent", "tooltip-remove-user": "Elimina l'usuari", "option-invite-user": "Convida un usuari", "placeholder-invite-user": "Introdueix el seu correu electrònic...", "error-email-must-be-valid": "Si us plau, introdueix un correu electrònic vàlid per convidar algú.", "msg-enable-publish-plugin": "Si us plau, habilita el onnector Publish almenys en la configuració -> Connectors principals per veure els llocs.", "label-your-sites": "Els teus llocs", "label-sites-shared-with-you": "Llocs compartits amb tu", "tooltip-leave-site-sharing": "Deixa de col·laborar en aquest lloc", "label-leave-site-confirmation": "Confirma la finalització de col·laboració en el lloc", "label-leave-site-confirmation-details": "Això eliminarà aquest lloc de la llista de llocs compartits amb tu. Aquesta acció no es pot desfer.", "label-leave-site-confirmation-details-2": "Si us plau, contacta amb el propietari del lloc si vols col·laborar en aquest lloc de nou.", "button-leave": "Marxar", "label-compare-with-live": "Compara amb la versió en directe", "button-use-live-version": "Utilitza la versió en directe", "label-confirm-override": "Confirma la substitució de la versió local", "label-confirm-override-1": "Estàs segur que vols substituir la versió local?", "label-confirm-override-2": "S'utilitzarà la versió en directe i la teva versió local es descartarà. Si us plau, fes còpies de seguretat si és necessari.", "button-proceed": "Continua", "message-successfully-used-live-version": "S'ha utilitzat amb èxit la versió en directe per substituir la teva versió local.", "label-open-in-live-site": "Open in live site", "label-open-file": "Obre el fitxer", "tooltip-manage-publish-filters": "Gestiona els filtres de publicació", "option-included-folders": "Carpetes incloses", "option-included-folders-desc": "Els fitxers d'aquestes carpetes es seleccionaran automàticament quan revisis els canvis per publicar.", "option-currently-included-folders": " Actualment, aquestes carpetes hi estan incloses:", "option-excluded-folders": "Carpetes excloses", "option-excluded-folders-desc": "Els fitxers d'aquestes carpetes no apareixeran quan revisis els canvis per publicar. Aquesta configuració té prioritat sobre les carpetes incloses anteriorment.", "label-number-of-folders-included": "Obsidian Publish inclou actualment {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish exclou actualment {{folders}}.", "label-manage-included-folders": "Gestiona les carpetes incloses", "label-manage-excluded-folders": "Gestiona les carpetes excloses", "label-add-included-folder": "Inclou una carpeta", "label-add-included-folder-desc": "Pots incloure tant carpetes existents com carpetes que encara no s'han creat.", "tooltip-contact-support": "Contacta amb l'assitència", "label-navigation-preview": "Previsualització de navegació" }, "workspaces": { "name": "Espais de treball", "desc": "Desa i carrega la disposició de l'espai de treball.", "action-load-layout": "Carrega la disposició de l'espai de treball", "action-manage-layouts": "Gestiona les disposicions de l'espai de treball", "action-save": "Desa la disposició", "action-save-and-load-layout": "Desa i carrega una altra disposició", "placeholder-save-current-layout-as": "Desa l'actual disposició de l'espai de treball com a...", "button-save": "Desa", "button-load": "Carrega", "tooltip-delete-layout": "Esborra la disposició", "msg-enter-name": "Si us plau, introdueix un nom per a la nova disposició.", "msg-save-layout-success": "S'ha desat correctament la disposició.", "label-no-layout-found": "No s'ha trobat cap disposició desada.", "label-workspace-modified-time": "Modificat {{time}}", "placeholder-type-to-search-layouts": "Escriu el nom de la disposició..." }, "sync": { "name": "Sincronització", "desc": "Sincronitza els teus fitxers a través d'Obsidian Sync.", "action-view-version-history": "Veure l'historial de versions", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Obre l'historial de versions", "action-view-sync-sidebar": "Mostra l'historial de Sync", "action-activity-log": "Obre el registre d'activitat", "label-load-more": "Carrega'n més", "label-show-diff": "Mostra la diferència", "label-copy-to-clipboard": "Copia-ho al porta-retalls", "label-restore-this-version": "Restaura aquesta versió", "msg-already-latest-version": "Aquesta versió és ja la més recent.", "msg-restored-version": "Versió restaurada amb èxit de {{time}}", "label-file-deleted": "Aquest fitxer s'ha eliminat", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "Aquest fitxer s'ha reanomenat de \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revisió", "label-revision_plural": "{{revisions}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No hi ha historial de sincronització per aquest fitxer.", "label-empty-file": "Buit", "label-unable-to-retrieve": "No es pot recuperar l'historial de versions.", "label-setting-files": "Fitxers de configuració", "label-deleted-files": "Fitxers eliminats", "label-version-history": "Historial de versions", "label-click-to-see-history": "Feu clic en un fitxer eliminat per veure el seu historial.", "label-create-remote-vault": "Crea una arca remota", "msg-please-enter-password": "Si us plau, introdueix una contrasenya.", "msg-vault-name-cannot-be-empty": "El nom de l'arca no pot estar buit.", "msg-successfully-created-vault": "Arca remota \"{{name}}\" creada amb èxit.", "label-remote-vault-explanation": "Les arques remotes se sincronitzen de forma segura als teus dispositius.", "option-vault-name": "Nom de l'arca'", "option-vault-name-desc": "T'ajuda a recordar per a què és aquesta arca.", "option-vault-region": "Regió", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Selecciona la regió del servidor més propera a tu per emmagatzemar l'Arca remota. Aquesta opció no es pot canviar en el futur.", "option-vault-name-placeholder": "La meva magnífica arca", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Contrasenya d'encriptació", "option-encryption-password-desc": "Aquesta contrasenya no es pot canviar més endavant.", "option-encryption-password-desc-warning": "Si oblideu aquesta contrasenya, qualsevol dada remota romandrà inutilitzable per sempre.", "option-encryption-password-desc-2": "Això no afecta les teves dades locals.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "La teva contrasenya", "label-unlock-encrypted-vault": "Desbloca l'arca remota", "button-unlock-vault": "Desbloca l'arca", "label-remote-vaults": "Les teves arques remotes", "label-vault-created-time": "Creat el {{time}}", "tooltip-delete-remote-vault": "Elimina", "tooltip-rename-remote-vault": "Reanomena", "label-rename-remote-vault": "Reanomena l'arca remota \"{{name}}\"", "label-rename-remote-vault-desc": "Introdueix un nou nom per a aquesta arca remota.", "tooltip-manage-sharing": "Gestiona la compartició", "label-confirm-delete-remote-vault": "Confirma l'eliminació de l'arca", "label-confirm-delete-remote-vault-question": "Segur que vols eliminar aquesta arca remota?", "label-confirm-delete-remote-vault-result": "Totes les dades al nostre servidor, incloent-hi l'historial de versions, s'eliminaran. Els vostres fitxers locals es mantindran intactes.", "label-confirm-delete-remote-vault-warning": "Aquesta acció és permanent i irreversible.", "msg-remote-vault-deleted": "{{name}} s'ha eliminat.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: L'arca remota connectada ja no existeix.", "button-connect-to-remote-vault": "Connecta", "button-disconnect-from-remote-vault": "Desconnecta", "label-sync-status": "Sincronització: {{status}}", "label-not-remote-vaults": "No tens cap arca remota.", "label-no-subscription": "No tens una subscripció activa d'Obsidian Sync.", "label-please-visit": "Si us plau, visita", "label-preview-unsupported-file-type": "No es poden previsualitzar els fitxers {{type}}.", "button-create-new-remote-vault": "Crea una arca nova", "label-sync-log": "Registre de sincronització", "option-event-type-all": "Tots", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Conflictes de fusió", "button-copy-sync-log": "Copia el registre de sincronització", "msg-successfully-copied-sync-log": "Registre de sincronització copiat amb èxit.", "button-retry": "Torna a intentar", "button-purchase-subscription": "Compra", "label-third-party-sync-warning": "S'ha detectat un servei de sincronització de fitxers en conflicte", "label-third-party-sync-warning-desc": "Advertència: La vostra arca sembla estar utilitzant {{service}} com a servei de sincronització de tercers. Si feu servir Obsidian Sync amb aquesta arca, podeu trobar-vos amb conflictes, corrupció de fitxers o pèrdua de dades.", "label-icloud-drive-warning": "Si feu servir iCloud Drive, les carpetes Documents i Escriptori podrien estar sincronitzades amb iCloud. Això podria causar conflictes amb Obsidian Sync.", "option-remote-vault": "Arca remota", "button-choose-remote-vault": "Escull", "button-manage-remote-vault": "Gestiona", "option-remote-vault-desc-connected": "Actualment connectat a l'arca remota \"{{name}}\".", "option-remote-vault-desc-not-connected": "Actualment no connectat a cap arca remota.", "option-sync-status": "Estat de sincronització", "option-sync-status-desc-paused": "La sincronització d'Obsidian està actualment en pausa.", "option-sync-status-desc-running": "La sincronització d'Obsidian està actualment en marxa.", "option-device-name": "Nom del dispositiu", "option-device-name-desc": "Aquest nom es mostrarà al registre de sincronització. Deixa-ho en blanc per utilitzar el nom predeterminat.", "button-resume": "Reprendre", "button-pause": "Pausa", "option-view-deleted-files": "Fitxers eliminats", "option-view-deleted-files-desc": "Mostra i restaura els fitxers eliminats.", "option-sync-log": "Activitat de sincronització", "option-sync-log-desc": "Visualitza l'activitat de sincronització recent per a la depuració.", "button-view": "Visualitzar", "button-bulk-restore": "Restauració massiva", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Restaurant...", "msg-restoring-complete": "Restauració completada: {{succeeded}} èxit i {{failed}} fallades.", "option-vault-size": "Mida de l'arca", "option-vault-size-desc": "Estàs utilitzant {{size}} de {{limit}} a l'arca", "option-vault-size-unknown": "No es pot recuperar la mida de l'arca.", "option-vault-size-loading": "Recuperant la mida de l'arca...", "option-over-size": "Mida de l'arca per sobre del límit", "option-almost-over-size": "La mida de l'arca s'acosta al seu límit", "msg-largest-files": "Veure els fitxers més grans", "msg-largest-files-desc": "Aquests són els fitxers remots que ocupen més espai. Després d'eliminar els fitxers adjunts, utilitza el botó de purga per alliberar espai de l'arca remot.", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "Purga", "button-hide-my-changes": "Amaga els meus canvis", "tooltip-purge-remote": "Elimina definitivament els fitxers adjunts eliminats de l'arca remota per estalviar espai.", "msg-purge-complete": "Purga completada.", "option-prevent-sleep": "Evitar la suspensió del dispositiu", "option-prevent-sleep-desc": "Evita que el dispositiu entri en mode de suspensió quan hi ha fitxers per sincronitzar.", "option-selective-sync": "Sincronització selectiva", "option-excluded-folders": "Carpetes excloses", "option-excluded-folder-desc": "Impedeix que certes carpetes es sincronitzin.", "option-currently-excluded-folders": "Actualment, aquestes carpetes estan excloses:", "button-manage-excluded-folders": "Gestionar", "option-sync-image": "Sincronitzar imatges", "option-sync-image-desc": "Sincronitza fitxers d'imatges amb aquestes extensions: {{extensions}}.", "option-sync-audio": "Sincronitzar àudio", "option-sync-audio-desc": "Sincronitza fitxers d'àudio amb aquestes extensions: {{extensions}}.", "option-sync-video": "Sincronitzar vídeos", "option-sync-video-desc": "Sincronitza fitxers de vídeo amb aquestes extensions: {{extensions}}.", "option-sync-pdf": "Sincronitzar PDFs", "option-sync-pdf-desc": "Sincronitza fitxers PDF.", "option-sync-unsupported": "Sincronitzar tots els altres tipus", "option-sync-unsupported-desc": "Sincronitza tipus de fitxer no compatibles.", "option-vault-config-sync": "Configuració de sincronització de l'arca", "option-view-config-files": "Historial de versions de la configuració", "option-view-config-files-desc": "Mostra i restaura l'historial de versions dels fitxers de configuració.", "option-sync-app": "Configuració principal", "option-sync-app-desc": "Activa la sincronització de la configuració de l'editor, fitxers i enllaços, tecles d'accés ràpid personalitzades, etc.", "option-sync-appearance": "Configuració d'aparença", "option-sync-appearance-desc": "Sincronitza la configuració de l'aparença com el mode fosc, el tema actiu i les funcionalitats habilitades.", "option-sync-appearance-data": "Temes i funcionalitats", "option-sync-appearance-data-desc": "Sincronitza temes i funcionalitats descarregades. Si estan habilitats o no depèn de l'opció anterior.", "option-sync-hotkey": "Tecles d'accés ràpid", "option-sync-hotkey-desc": "Sincronitza les tecles d'accés ràpid personalitzades.", "option-sync-core-plugin": "Llista de connectors bàsics actius", "option-sync-core-plugin-desc": "Sincronitza quins connectors bàsics estan habilitats.", "option-sync-core-plugin-data": "Configuració dels connectors bàsics", "option-sync-core-plugin-data-desc": "Sincronitza la configuració dels connectors bàsics.", "option-sync-community-plugin": "Llista de connectors de la comunitat actius", "option-sync-community-plugin-desc": "Sincronitza quins connectors de la comunitat estan habilitats.", "option-sync-community-plugin-data": "Connectors de la comunitat instal·lats", "option-sync-community-plugin-data-desc": "Sincronitza connectors de la comunitat instal·lats (fitxers .js, .css i manifest.json) i la seva configuració.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync és el servei de sincronització addicional d'Obsidian amb xifrat d'extrem a extrem i historial de versions.", "label-account-required": "Per començar la sincronització, inicieu la sessió o creeu un compte nou d'Obsidian.", "label-current-file": "Fitxers actuals", "label-sync-changes": "Sincronitza els canvis", "label-today": "Avui", "label-yesterday": "Ahir", "label-this-week": "Aquesta setmana", "label-older": "Més antic", "label-last-sync": "Darrera sincronització", "label-more": "{{count}} més", "button-sign-up": "Registra't", "button-log-in": "Inicia sessió", "label-manage-excluded-folders": "Gestiona les carpetes excloses", "label-number-of-folders-excluded": "Actualment, s'exclouen {{folders}} carpetes de la sincronització.", "label-add-excluded-folder": "Exclou una carpeta", "label-add-excluded-folder-desc": "Pots excloure tant carpetes existents com carpetes que encara no s'han creat.", "tooltip-remove-excluded-folder": "Treure de la llista d'exclusió", "label-setup-connection": "Configura la connexió", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "Ara estàs connectat a \"{{name}}\".", "button-start-syncing": "Inicia la sincronització", "label-confirm-merge-vault": "Confirma la fusió de l'arca", "msg-vault-has-notes": "La teva arca local ja conté algunes notes.", "msg-vault-merge-warning": "Si et connectes a l'arca remota \"{{name}}\", les notes de la teva arca local es fusionaran amb les notes de l'arca remota. En cas de conflicte, es conservarà la versió més recent de la nota.", "tooltip-update-setting-on-all-devices": "Actualitza aquesta opció i reinicia l'aplicació a tots els dispositius on vulguis que tingui efecte.", "label-sharing-with-users": "Aquesta arca remota està actualment compartida amb les següents persones.", "label-not-sharing": "Aquesta arca remota no està actualment compartida amb cap persona.", "label-vaults-shared-with-you": "Arques compartides amb tu", "tooltip-leave-vault-sharing": "Deixa de col·laborar en aquesta arca", "label-leave-vault-confirmation": "Confirma la fi de la col·laboració amb l'arca", "label-leave-vault-confirmation-details": "Això eliminarà aquesta arca de la llista d'arques compartides amb tu. Aquesta acció no es pot desfer.", "label-leave-vault-confirmation-details-2": "Si desitges tornar a col·laborar en aquesta arca, posa't en contacte amb el propietari de l'arca.", "button-leave": "Marxar", "msg-error-failed-to-fetch": "No s'han pogut carregar les arues remotes.", "label-require-subscription-to-connect": "Necessites una subscripció d'Obsidian Sync per connectar-te a aquesta arca.", "option-contact-support": "Contacta amb el suport", "option-contact-support-desc": "Si trobes algun problema amb Obsidian Sync, posa't en contacte amb nosaltres perquè et puguem ajudar. Pots contactar amb nosaltres a support@obsidian.md.", "button-copy-debug": "Copia la informació de depuració", "button-email-support": "Envia un correu al suport", "label-sync-disconnected": "Sync no està connectat a cap arca remota.", "msg-remote-vault-limit-hit": "Obsidian Sync et permet crear fins a 5 arcque remotes. Per crear una arca remota nova, elimina'n una d'existent.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "Recuperació de fitxers", "desc": "Permet restaurar instantànies recents per recuperar-se de la pèrdua accidental de dades. Les instantànies només es guarden per a fitxers Markdown.", "action-open": "Obre les instantànies desades", "option-interval": "Interval de l'instantània", "option-interval-description": "Interval mínim en minuts entre dues instantànies.", "option-keep": "Longitud de l'historial", "option-keep-description": "Nombre de dies que es mantenen les instantànies.", "option-open-history": "Instantànies", "option-open-history-description": "Visualitza i restaura les instantànies desades.", "button-view-history": "View", "option-clear": "Esborra l'historial", "option-clear-description": "Elimina totes les instantànies.", "button-clear-history": "Esborra", "label-clear-warning": "Esteu segur que voleu eliminar totes les instantànies? Tingueu en compte que només s'eliminaran les instantànies. Tots els fitxers dins de la vostra arca no es veuran afectats.", "msg-clear-complete": "Instantànies esborrades.", "label-no-history-found": "No s'han trobat instantànies.", "placeholder-choose-file": "Trieu un fitxer...", "label-select-file": "Seleccioneu un fitxer a l'esquerra per veure les instantànies." }, "note-composer": { "name": "Compositor de notes", "desc": "Uneix, divideix i reorganitza notes.", "option-confirm-file-merge": "Confirma la fusió de fitxers", "option-confirm-file-merge-description": "Sol·licita confirmació abans de fusionar dos fitxers.", "option-split-replacement-text": "Text després de l'extracció", "option-split-replacement-text-description": "Què mostrar en lloc del text seleccionat després d'extreure'l.", "option-choice-split-replacement-text-link": "Enllaça al nou fitxer", "option-choice-split-replacement-text-embed": "Incrusta el nou fitxer", "option-choice-split-replacement-text-none": "Cap", "option-template-file": "Ubicació del fitxer de plantilla", "option-template-file-description": "Fitxer de plantilla a utilitzar en la fusió o extracció. Variables disponibles: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, p. ex., {{date:YYYY-MM-DD}}.", "command-merge-file": "Fusiona el fitxer actual amb un altre fitxer...", "action-merge-file": "Fusiona tot el fitxer amb...", "label-no-files": "No s'han trobat fitxers.", "instruction-navigate": "per navegar", "instruction-merge": "per fusionar", "instruction-create-new": "per crear de nou", "instruction-merge-at-top": "per fusionar a la part superior", "instruction-dismiss": "per descartar", "prompt-select-file-to-merge": "Seleccioneu el fitxer per fusionar amb...", "label-merge-file": "Fusiona el fitxer", "label-confirm-file-merge": "Esteu segur que voleu fusionar \"{{file}}\" amb \"{{destination}}\"? \"{{file}}\" s'eliminarà.", "button-merge": "Fusiona", "command-split-file": "Extreu la selecció actual...", "command-extract-heading": "Extreu aquest encapçalament...", "instruction-append": "per moure a la part inferior", "instruction-prepend": "per moure a la part superior", "msg-fail-to-fetch-template": "No s'ha pogut obtenir el fitxer de plantilla: \"{{template}}\" no s'ha trobat.", "msg-fail-to-find-heading": "No s'ha pogut trobar l'encapçalament" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Llenç", "desc": "Organitza i connecta notes en un llenç infinit.", "action-add-note": "Afegeix nota de l'arca", "action-add-media": "Afegeix mitjans de l'arca", "action-add-card": "Afegeix targeta", "action-add-website": "Afegeix pàgina web", "action-create-group": "Crea grup", "action-create-with-size": "Crea una targeta amb mida específica", "action-convert-to-file": "Converteix a fitxer...", "action-drag-to-add-note": "Arrossega per afegir una nota de l'arca", "action-drag-to-add-media": "Arrossega per afegir mitjans de l'arca", "action-drag-to-add-card": "Arrossega per afegir targeta", "action-edit-label": "Edita l'etiqueta", "action-remove-label": "Elimina l'etiqueta", "action-search-file": "Cerca fitxer", "action-set-color": "Estableix el color", "action-align": "Alinea", "action-align-left": "Alinea a l'esquerra", "action-align-center": "Alinea al centre", "action-align-right": "Alinea a la dreta", "action-align-top": "Alinea a dalt", "action-align-middle": "Alinea al mig", "action-align-bottom": "Alinea a baix", "action-distribute-horizontal-spacing": "Distribueix l'espai horitzontal", "action-distribute-vertical-spacing": "Distribueix l'espai vertical", "action-justify-horizontally": "Justifica horitzontalment", "action-justify-vertically": "Justifica verticalment", "action-arrange-horizontally": "Organitza en fila", "action-arrange-vertically": "Organitza en columna", "action-arrange-grid": "Organitza en graella", "action-export-png": "Exporta com a imatge", "action-jump-to-group": "Salta al grup", "action-set-background": "Estableix el fons", "action-edit-background": "Edita el fons", "action-replace-background": "Canvia el fons", "action-remove-background": "Elimina el fons", "label-no-images": "No s'han trobat imatges.", "label-no-media": "No media found.", "label-export-png-desc": "Exporta \"{{title}}\" com a fitxer PNG amb la configuració següent.", "label-export-png-dimensions": "Dimensions estimades de la imatge: {{dimensions}}", "label-distribute": "Distribueix", "label-justify": "Justifica", "label-arrange": "Organitza", "label-always": "Sempre", "label-hover": "En passar el cursor", "label-never": "Mai", "label-no-section-found": "No s'ha trobat cap secció", "option-wheel-behavior": "Comportament predeterminat de la roda del ratolí", "option-mod-drag-behavior": "Comportament predeterminat de {{key}}", "option-show-menu": "Mostra el menú", "option-new-canvas-location": "Ubicació predeterminada per als nous fitxers de llenç", "option-new-canvas-location-description": "On es col·loquen els fitxers de llenç creats recentment.", "option-new-canvas-folder-path": "Carpeta per crear nous fitxers de llenç", "option-new-canvas-folder-path-description": "Els fitxers de llenç creats recentment apareixeran en aquesta carpeta.", "option-node-label": "Mostra l'etiqueta de la targeta", "option-snap-to-grid": "Ajusta a la graella", "option-snap-to-grid-desc": "Ajusta les targetes a la graella de fons quan es mouen i es redimensionen.", "option-snap-to-objects": "Ajusta als objectes", "option-snap-to-objects-desc": "Ajusta les targetes als objectes propers quan es mouen i es redimensionen.", "option-zoom-breakpoint": "Llindar de zoom per amagar el contingut de la targeta", "option-zoom-breakpoint-desc": "Valors més baixos augmentaran el rendiment però ocultaran abans el contingut de la targeta en fer zoom cap enrere.", "option-export-png-show-logo": "Mostra el logotip", "option-export-png-show-logo-desc": "Això afegirà el logotip d'Obsidian a la part inferior esquerra.", "option-export-png-privacy-mode": "Mode de privacitat", "option-export-png-privacy-mode-desc": "Això ocultarà qualsevol text al teu llenç.", "option-export-png-zoom": "Zoom", "option-export-png-zoom-desc": "Un zoom més alt generarà una imatge de resolució més elevada.", "option-export-png-frame": "Vista", "option-export-png-frame-desc": "Escull si vols representar tot el llenç o només la vista actual.", "option-export-png-frame-full": "Llenç complet", "option-export-png-frame-viewport": "Només la vista", "option-background-cover": "Cobertura", "option-background-ratio": "Mantén la proporció", "option-background-repeat": "Repeteix", "action-new-canvas": "Nou llenç", "action-remove": "Elimina", "action-narrow-heading": "Redueix a l'encapçalament...", "action-narrow-block": "Redueix al bloc...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Canvia el fitxer...", "action-change-url": "Canvia la URL...", "action-zoom-to-fit": "Ajusta al zoom", "action-zoom-to-selection": "Ajusta a la selecció", "action-reload-page": "Recarrega la pàgina", "action-follow-connection": "Segueix la connexió", "command-create-new-canvas": "Crea un llenç nou", "command-convert-to-file": "Converteix a fitxer...", "instruction-narrow-heading": "per incrustar l'encapçalament", "instruction-narrow-block": "per incrustar el bloc", "instruction-jump-to-group": "per navegar al grup", "prompt-to-narrow": "Escriu el nom de l'encapçalament", "label-enter-url": "Introduïu la URL", "label-empty-embed": "\"{{linktext}}\" no s'ha pogut trobar.", "prompt-add-text": "Afegir text...", "prompt-start-search": "Escriu per cercar...", "label-canvas-help": "Ajuda del llenç", "label-canvas-settings": "Configuració del llenç", "label-no-narrow": "Mostra tot el fitxer", "label-show-default-view": "Show default view", "label-readonly": "Només lectura", "label-disable-readonly": "Deshabilita només lectura", "label-pan": "Arrossega", "label-pan-horizontal": "Arrossega horitzontalment", "label-zoom": "Zoom", "label-select-all": "Selecciona-ho tot", "label-add-remove-selection": "Afegeix / Elimina de la selecció", "label-clone-card": "Clona la targeta", "label-constrain-movement-axis": "Restringeix el moviment de la targeta a l'eix", "label-disable-drag-snapping": "Deshabilita l'ajustament mentre es s'arrossega", "label-remove-card": "Elimina la targeta", "label-drag-from-below": "Arrossega des de sota o fes doble clic", "label-longpress": "Toca i mantén per afegir / moure / seleccionar", "label-drag-pan": "Arrossega per moure", "label-pinch-zoom": "Pinça per fer zoom", "label-space-drag-pan": "Espai + Arrossega per moure", "label-scroll-to-zoom": "Desplaça per fer zoom", "label-untitled-group": "Grup sense títol", "label-line-direction": "Direcció de la línia", "label-nondirectional": "No direccional", "label-unidirectional": "Unidireccional", "label-bidirectional": "Bidireccional", "label-image": "Imatge", "label-style": "Estil", "msg-no-groups-found": "No s'han trobat grups", "msg-export-failed-empty-canvas": "No es pot exportar un llenç buit", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Ressaltar-ho tot", "action-match-diacritics": "Coincidir amb diacrítics", "action-whole-words": "Paraules completes", "action-show-thumbnails": "Miniatures", "action-show-outline": "Índex", "action-reveal-in-outline": "Revelar pàgina a l'índex", "action-toggle-sidebar": "Commutar la barra lateral", "action-previous-page": "Pàgina anterior", "action-next-page": "Pàgina següent", "action-fit-width": "Ajustar a l'amplada", "action-fit-height": "Ajustar a l'alçada", "action-save-p-d-f-location": "Desar posició actual al document", "action-copy-annotation": "Copiar anotació", "action-copy-quote": "Copiar com a cita", "action-copy-selection-link": "Copiar enllaç a la selecció", "action-copy-annot-link": "Copiar enllaç a l'anotació", "action-copy-section-link": "Copiar enllaç a la secció", "action-copy-section-link-title": "Copiar enllaç a “{{title}}”", "action-copy-page-link": "Copiar enllaç a la pàgina {{page}}", "msg-max-search-results": "{{current}} de més de {{limit}} coincidències", "msg-search-count": "{{current}} de {{total}} coincidència", "msg-search-count_plural": "{{current}} de {{total}} coincidències", "msg-password-protected": "Aquest PDF està protegit amb contrasenya", "msg-invalid-password": "Contrasenya no vàlida", "msg-enter-password": "Introdueix la contrasenya a continuació", "label-of-pages": "de {{count}}", "label-page-of-pages": "({{current}} de {{count}})", "label-spread-single": "Pàgina única", "label-spread-odd": "Dues pàgines (imparell)", "label-spread-even": "Dues pàgines (parell)", "tooltip-sidebar-options": "Opcions de la barra lateral", "tooltip-display-options": "Opcions de visualització", "label-adapt-to-theme": "Adaptar al tema", "label-page": "pàgina {{page}}", "page_landmark": "Pàgina {{page}}", "thumb_page_title": "Pàgina {{page}}", "thumb_page_canvas": "Pàgina {{page}}", "text_annotation_type": "[Anotació de {{type}}]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Llista", "option-unknown": "Desconegut", "option-text": "Text", "option-aliases": "Àlies", "option-tags": "Etiquetes", "option-folder": "Folder", "option-file": "File", "option-date": "Data", "option-datetime": "Data i hora", "option-number": "Número", "option-checkbox": "Casella de selecció" }, "value-suggestion": { "key-link-note": "Escriu [[", "instruction-link-note": "per enllaçar una nota", "instruction-dismiss": "per descartar" }, "option-property-type": "Tipus de propietat", "msg-empty-property-name": "El nom de la propietat no pot estar buit.", "msg-duplicate-property-name": "La propietat ja existeix", "msg-invalid-tag": "Nom d'etiqueta no vàlid", "msg-invalid-number": "Número no vàlid", "msg-invalid-properties": "No s'han pogut llegir les propietats.", "label-no-value": "Sense valor", "label-heading": "Propietats", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Error de sintaxi. El teu frontmatter no és vàlid.", "label-add-property-button": "Afegir propietat", "label-type-mismatch-warning": "Incompatibilitat de tipus, s'esperava {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Columna", "label-row": "Fila", "action-row-after": "Afegir fila després", "action-column-after": "Afegir columna després", "action-row-before": "Afegir fila abans", "action-row-up": "Moure fila amunt", "action-row-down": "Moure fila avall", "action-column-before": "Afegir columna abans", "action-column-left": "Moure columna a l'esquerra", "action-column-right": "Moure columna a la dreta", "action-duplicate-row": "Duplicar fila", "action-duplicate-column": "Duplicar columna", "action-delete-row": "Eliminar fila", "action-delete-column": "Eliminar columna", "action-align-left": "Alinea a l'esquerra", "action-align-center": "Alinea al centre", "action-align-right": "Alinea a la dreta", "action-delete-selection": "Eliminar cel·les", "action-clear-selection": "Netejar cel·les", "action-sort-a-z": "Ordena per columna (A a Z)", "action-sort-z-a": "Ordena per columna (Z a A)", "label-command": "Taula: {{command}}" }, "callout": { "option-type": "Tipus de destacat", "type": { "info": "Informació", "important": "Important", "tip": "Consell", "success": "Èxit", "question": "Pregunta", "warning": "Advertència", "quote": "Cita", "example": "Exemple", "none": "None" }, "option-other": "Altres...", "option-other-placeholder": "Tipus de destacat..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} paraula", "word-with-count_plural": "{{count}} paraules", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} caràcter", "character-with-count_plural": "{{count}} caràcters", "link-with-count": "{{count}} enllaç", "link-with-count_plural": "{{count}} enllaços", "file-with-count": "{{count}} fitxer", "file-with-count_plural": "{{count}} fitxers", "folder-with-count": "{{count}} carpeta", "folder-with-count_plural": "{{count}} carpetes", "backlink-with-count": "{{count}} retroenllaç", "backlink-with-count_plural": "{{count}} retroenllaços", "tabs-with-count": "{{count}} pestanya", "tabs-with-count_plural": "{{count}} pestanyes", "properties-with-count": "{{count}} propietat", "properties-with-count_plural": "{{count}} propietats", "site-with-count": "{{count}} lloc", "site-with-count_plural": "{{count}} llocs", "plugin-with-count": "{{count}} connector", "plugin-with-count_plural": "{{count}} connectors", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} tema", "theme-with-count_plural": "{{count}} temes" } }{ "setting": { "options": "Nastavení", "plugin": "Plugin", "builtin-plugins": "Základní pluginy", "plugin-options": "Nastavení pluginů", "folder-path-example-placeholder": "Příklad: složka 1/složka 2", "file-path-example-placeholder": "Příklad: složka/poznámka", "msg-restart-required": "Je vyžadován restart aby se tato změna projevila.", "editor": { "name": "Režim úprav", "section-behavior": "Chování", "section-display": "Zobrazení", "option-spellcheck": "Kontrola pravopisu", "option-spellcheck-description": "Spustit kontrolu pravopisu. V současnosti je podporována pouze v Angličtině.", "spellcheck-languages": "Jazyky kontroly pravopisu", "spellcheck-languages-description": "Zvolte jazyk kontroly pravopisu.", "spellcheck-languages-mac-description": "Nativní kontrola pravopisu automaticky rozpozná jazyk, který se se používá v macOS.", "spellcheck-dict": "Slovník kontroly pravopisu", "spellcheck-dict-empty": "Slovník kontroly pravopisu je prázdný.", "option-show-inline-title": "Zobrazit inline nadpis", "option-show-inline-title-description": "Zobrazí název souboru jako upravitelný název společně s obsahem souboru.", "option-readable-line-length": "Čitelná délka řádku", "option-readable-line-description": "Omezit maximální délku řádku. Na obrazovku se vleze méně informací, ale dlouhé odstavce budou lépe čitelné.", "option-strict-line-break": "Striktní zalomení řádku", "option-strict-line-break-description": "V režimu náhledu ignorovat jednotlivé zalomení konce řádků podle specifikací Markdownu. Tuto možnost vypněte, aby se jednotlivé zalomení řádků zobrazovaly v náhledu.", "option-properties-in-document": "Vlastnosti v dokumentu", "option-properties-in-document-description": "Zvolte jakým způsobem mají být zobrazeny vlastnosti dokumentu v editoru. Zvolte \"zdroj\", aby se vlastnosti zobrazovali jako YAML.", "option-properties-hidden": "Skryté", "option-properties-visible": "Viditelné", "option-properties-source": "Zdroj", "option-auto-pair-brackets": "Automatické spárování závorek", "option-auto-pair-brackets-description": "Automaticky spáruje závorky a citace.", "option-auto-pair-markdown": "Automatické spárování pomocí Markdown syntaxe", "option-auto-pair-markdown-description": "Automaticky spárujte symboly pro tučné písmo a kurzívu.", "option-smart-indent-lists": "Inteligentní odsazení seznamů", "option-smart-indent-lists-description": "Postará se o odsazení a očíslování seznamů za vás.", "option-fold-heading": "Srolovatelné nadpisy", "option-fold-heading-description": "Umožní schovat vše pod nadpisem.", "option-fold-indent": "Srolovatelné odsazení", "option-fold-indent-description": "Umožní schovat část stejného odsazení, třeba seznam.", "option-default-new-tab-view": "Výchozí zobrazení pro nové karty", "option-default-new-tab-view-description": "Výchozí zobrazení, ve kterém se otevře nová mardown karta.", "option-default-new-tab-view-editing": "Editační zobrazení", "option-default-new-tab-view-reading": "Zobrazení pro čtení", "option-open-tab-in-foreground": "Otevřít novou kartu v popředí", "option-open-tab-in-foreground-description": "Když otevřete odkaz na nové kartě, okamžitě se na ni přepnete.", "option-default-editing-mode": "Výchozí režim pro editování", "option-default-editing-mode-description": "Defaultní režim pro editování, který se použije pro nový panel.", "option-default-editing-mode-source": "Zdrojový kód", "option-default-editing-mode-live-preview": "Živý náhled", "option-show-line-number": "Zobrazovat čísla řádků", "option-show-line-number-description": "Zobrazení čísla řádku v levém žlábku.", "option-indentation-guide": "Zobrazit odsazovací návod", "option-indentation-guide-description": "Zobrazit vertikální vztahové čáry mezi odrážkami pro vizuální orientaci.", "option-use-tabs": "Používat odrážky", "option-use-tabs-description": "Použije odrážky při odsazení pomocí klávesy \"Tab\". Chcete-li používat mezery, nechte tuto možnost vypnutou.", "option-tab-size": "Velikost tabulátoru", "option-tab-size-description": "Množství mezer kterému odbovídá tabulátor.", "option-rtl": "Zprava-doleva (RTL)", "option-rtl-description": "Nastavuje směr poznámek, které se mají zobrazit zprava-doleva", "option-auto-convert-html": "Automaticky konvertovat HTML", "option-auto-convert-html-description": "Automaticky konvertuje HTML do Markdownu při vkládání nebo přetažení z webových stránek. Použíjte Ctrl/Cmd+Shift+V pro vložení bez konverze.", "option-vim-key-bindings": "Vim klávesové zkratky", "option-vim-key-bindings-description": "Umožní použití Vim klávesových zkratek v zdrojovém editoru.", "option-vim-key-bindings-mobile": "Na mobilních zařízeních je toto nastavení určeno pro jednotlivá zařízení a není synchronizováno prostřednictvím konfiguračního souboru.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Potvrďte vstup do řežimu Vim", "label-vim-warning": "Režim Vim je velice efektivní možností úpravy textu, ale pro nezkušené uživatele může být docela neintuitivní. Pokud nejste obeznámeni s editorem Vim, tato možnost může způsobit, že Obsidian přestane fungovat.", "label-vim-test": "Pro ověření, že se v editoru Vim orientujete, zadejte prosím příkaz pro ukončení editoru Vim bez uložení změn:", "label-vim-your-answer": "Vaše odpověď", "placeholder-enter-command": "Vložit příkaz...", "button-confirm-enable-vim": "Zapnout Vim", "msg-vim-mode-enabled": "Příkaz je správný. Mód Vim je nyní zapnutý.", "msg-vim-mode-not-enabled": "Příkaz není správný. Vim mód zůstává vypnutý, aby vás ochránil.", "msg-vim-mode-please-enter-command": "Prosím vložte příkaz pro zapnutí módu Vim" }, "file": { "name": "Soubory a odkazy", "option-confirm-file-deletion": "Potvrzovat odstranění souborů", "option-confirm-file-deletion-description": "Chcete-li být vyzváni k potvrzení při odstraňování souboru.", "option-delete-destination": "Odstraněné soubory", "option-delete-destination-description": "Kam přesouvat odstraněné soubory.", "option-choice-system-trash": "Přesunout do systémového koše", "option-choice-vault-trash": "Přesunout do koše aplikace Obsidian (složka .trash)", "option-choice-permanent-delete": "Permanentní odstranění", "option-always-update-links": "Vždy aktualizovat interní odkazy", "option-always-update-links-description": "Zda automaticky aktualizovat odkazy po přejmenování souboru.", "option-new-note-location": "Výchozí umístění nové poznámky", "option-new-note-location-description": "Specifikujte kde se mají vytvářet nové poznámky. Nastavení jiných pluginů toto nastavení přepíšou.", "option-choice-vault-root": "Kořen trezoru", "option-choice-current-folder": "Stejná složka ve které je aktuální soubor", "option-choice-specified-folder": "Ve složce specifikované níže", "option-new-file-folder-path": "Složka do které se budou vytvářet nové poznámky", "option-new-file-folder-path-description": "Nově vytvořené poznámky se vytvoří v této složce. Nastavení pluginů toto nastavení přepíšou.", "option-use-wiki-links": "Používat [[Wiki-odkaz]]", "option-use-wiki-links-description": "Automaticky vytvoří Wiki-odkaz pro [[odkaz]] a ![[obrázek]] místo Markdown odkazů a obrázků. Tuto možnost vypněte pro vytváření Markdown odkazů.", "option-show-unsupported-files": "Detekovat všechny přípony souborů", "option-show-unsupported-files-description": "Zobrazit soubory s jakoukoli příponou, přestože je Obsidian neumí nativně otevřít, abyste na ně mohli odkazovat a zobrazit je v Průzkumníku souborů nebo Rychlém přepínači.", "option-link-autocompleted-format": "Formát automaticky vytvořených odkazů", "option-link-autocompleted-format-description": "Jaký formát mají mít automaticky vygenerované interní odkazy.", "option-choice-shortest-linktext": "Nejkratší možná cesta", "option-choice-relative-path": "Relativní cesta k souboru", "option-choice-absolute-path": "Absolutní cesta k souboru", "option-new-attachment-location": "Výchozí umístění pro nové přílohy", "option-new-attachment-location-description": "Kam se umisťují nově přidané přílohy.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "Do podsložky v aktuální složce", "option-attachment-folder-path": "Umístění složky příloh", "option-attachment-folder-path-description": "Nově vytvořené přílohy se přesunou sem. Mezi přílohy patří vložené obrázky nebo audio nahrávky.", "option-attachment-subfolder-path": "Název podsložky", "option-attachment-subfolder-path-description": "Pokud je soubor v \"trezor/složka\", a pojmenujete podsložku jako \"přílohy\", tak se přílohy budou ukládat do \"trezor/složka/přílohy\".", "option-excluded-files": "Vyloučené soubory", "option-excluded-files-desc": "Vyloučené soubory budou buď skryté, nebo méně viditelné na různých místech, jako je Rychlý přepínač, návrhy odkazů a zobrazení grafu.", "label-no-excluded-filters-applied": "Žádný filtr vyloučených souborů není v současné době použit. Přidejte ho níže.", "label-excluded-filters-applied": "Soubory odpovídající následujícím filtrům jsou aktuálně vyloučeny:", "label-excluded-filter": "Filtr", "message-empty-filter": "Filtr nemůže být prázdný", "placeholder-excluded-filter": "Vložte cestu nebo \"/regulární výraz (regex)/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Vzhled", "option-base-theme": "Základní motiv", "option-base-theme-description": "Zvolte výchozí odstín základního motivu aplikace Obsidian.", "option-accent-color": "Barva akcentu", "option-accent-color-description": "Zvolte barvu akcentu používanou v celé aplikaci.", "dark-theme": "Tmavý", "light-theme": "Světlý", "system-theme": "Přizpůsobit se systému", "option-font": "Písmo", "option-advanced": "Pokročilé", "option-interface": "Rozhraní", "option-interface-font": "Písmo rozhraní", "option-interface-font-description": "Nastavuje základní písmo všech textů v aplikaci.", "option-zoom-level": "Úroveň přiblížení", "option-zoom-level-description": "Ovládá celkovou úroveň přiblížení aplikace.", "option-text-font": "Písmo textu", "option-text-font-description": "Nastavení písma pro režim editace a režim čtení.", "option-monospace-font": "Písmo Monospace", "option-monospace-font-description": "Nastavení písma pro místa, jako jsou bloky kódu a frontmatter.", "label-single-font-currently-in-effect": " Aktuálně použité písmo: ", "label-multiple-fonts-currently-in-effect": " Aktuálně jsou použita následující písma:", "option-font-placeholder": "Zadejte název písma...", "label-no-custom-font-set": "Není použito žádné vlastní písmo. Přidejte ho níže.", "label-font-applied": "Bude použito první písmo z tohoto seznamu, které je v systému k dispozici.", "msg-font-not-found": "Toto písmo není ve vašem systému detekováno.", "msg-font-found": "Toto písmo je detekováno ve vašem systému.", "label-font-name": "Název písma", "option-community-themes": "Otevřít komunitní motivy", "option-community-themes-description": "Prouzkoumejte a vyberte si z úžasných motivů vytvořených komunitou.", "button-browse-community-themes": "Procházet", "option-font-size": "Velikost písma", "option-font-size-description": "Velikost písma v pixelech, které ovlivňuje editor a náhled.", "option-font-size-action": "Rychlé nastavení velikosti písma", "option-font-size-action-description": "Upravte velikost písma pomocí klávesové zkratky Ctrl + Scroll nebo pomocí gesta pinch-zoom na trackpadu.", "option-themes": "Motivy", "option-manage-themes-description": "Správa nainstalovaných motivů a hledání komunitních motivů.", "option-theme-button-manage": "Správa", "option-choice-none": "Žádný", "option-native-menus": "Nativní nabídky", "option-native-menus-desc": "Nabídky v celé aplikaci budou odpovídat operačnímu systému. Vaše motivy na ně nebudou mít vliv.", "button-reload-themes": "Znovu načíst motivy", "msg-reloaded-themes": "Vlastní CSS byli aktualizovány.", "button-open-themes-folder": "Otevřít složku motivů", "option-css-snippets": "CSS úryvky", "label-no-css-snippets-found": "Ve složce úryvků nejsou žádné CSS úryvky.", "no-snippet-description": "CSS úryvky jsou umisťovány v \"{{path}}\".", "button-reload-snippets": "Znovu načíst úryvky", "button-open-snippets-folder": "Otevřít složku úryvků", "msg-reloaded-snippets": "CSS úryvky byli aktualizovány.", "option-toggle-snippet-description": "Použít CSS úryvky umistěné v \"{{path}}\".", "label-installed-themes": "Nainstalované motivy", "label-screenshot-unavailable": "Snímek obrazovky není k dispozici", "label-default-theme": "Výchozí", "tooltip-click-to-enlarge": "Klikněte pro zvětšení", "button-update": "Aktualizovat", "label-currently-active": "Active", "option-frame-style": "Styl rámečku", "option-frame-description": "Určuje styl nadpisu oken Obsidian. Vyžaduje restart, aby se tato změna projevila.", "option-frame-hidden": "Skryté (výchozí)", "option-frame-obsidian": "Obsidian rámeček", "option-frame-native": "Výchozí rámeček", "option-custom-icon": "Vlastní ikona aplikace", "option-custom-icon-desc": "Nastavení vlastní ikony aplikace", "button-choose-custom-icon": "Výběr vlastní ikony", "option-configure-ribbon": "Ribbon nabídka", "option-configure-ribbon-desc": "Seznam příkazů, které se zobrazují v nabídce ribbon na navigačním panelu.", "option-mobile-quick-ribbon-item": "Položka s rychlým přístupem v nabídce ribbon", "option-mobile-quick-ribbon-item-desc": "Kliknutím na položku v ribbon navigační nabídce aktivujete tuto položku. Kliknutím a podržením se nabídka nadále zobrazuje.", "option-mobile-quick-ribbon-default": "Otevřít ribbon nabídku", "button-configure": "Nastavení", "option-show-ribbon": "Zobrazit ribbon", "option-show-ribbon-desc": "Zobrazit svislý nástrojový-panel na boku okna.", "label-additional-ribbon-items": "Ostatní položky ribbon", "label-modal-configuration": "Ribbon Nastavení", "label-modal-configuration-desc": "Vyberte, které položky chcete mít v ribbon aktivní. Tažením myše můžete měnit pořadí.", "option-show-view-header": "Zobrazit nadpis karty", "option-show-view-header-desc": "Zobrazit záhlaví v horní části každé karty.", "msg-updates-found": "Nalezen {{count}} motiv k aktualizaci.", "msg-updates-found_plural": "Nalezeno {{count}} motivů k aktualizaci.", "button-check-for-updates": "Zkontrolovat aktualizace", "button-view-updates": "Zobrazit aktualizace", "button-update-all-themes": "Aktualizovat vše", "label-current-themes": "Aktuální komunitní motivy", "label-currently-installed": "Nainstalováno motivů: {{count}}.", "label-currently-installed_plural": "Nainstalováno motivů: {{count}}." }, "hotkeys": { "name": "Klávesové Zkratky", "option-search": "Hledat klávesové Zkratky", "option-search-desc": "Zobrazena {{count}} klávesová zkratka. ", "option-search-desc_plural": "Zobrazeno {{count}} klávesových zkratek. ", "option-search-conflict": "{{count}} příkaz s konfliktem.", "option-search-conflict_plural": "{{count}} příkazu s konflikty.", "prompt-filter": "Filtrovat...", "tooltip-delete-hotkey": "Smazat klávesovou zkratku", "label-waiting-for-hotkey-press": "Stikněte klávesovou zkratku...", "label-show-all": "Vše", "label-show-unassigned": "Nepřiřazeno", "label-show-assigned": "Přiřazeno", "label-show-user-assigned": "Přiřazeno mnou", "tooltip-restore-default": "Vrátit vychozí nastavení", "tooltip-customize-command": "Přizpůsobte si tento příkaz", "tooltip-hotkey-single-conflict": "Tato klávesová zkratka je už používána \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Tato klávesová zkratka je už používána {{count}} dalšími zkratkami", "label-blank-hotkey": "Prázdný" }, "about": { "name": "Obecné", "label-commercial-license": "Komerční licence", "label-license-key": "Licenční klíč", "license-key-placeholder": "Váš licenční klíč...", "label-activate-license": "Aktivovat licenci", "button-activate": "Aktivovat", "label-unknown-version": "Neznáma", "label-current-version": "Současná verze: ", "label-install-version": "(Verze instalátoru: {{version}})", "label-up-to-date": "Vaše aplikace je aktuální!", "label-read-changelog": "Přečíst seznam změn.", "label-manual-update-required": "Pro získání nejnovějších funkcí a aktuálních bezpečnostích oprav je potřeba stáhnout nový instalátor aplikace. Je potřeba manuálně stáhnout a nainstalovat novou verzi aplikace.", "label-new-version-ready": "Nová verze je připravená k instalaci. ", "label-disabled-updates": "Aktualizace jsou vypnuté.", "button-relaunch": "Restartovat", "button-check-for-updates": "Vyhledat aktualizace", "option-auto-update": "Automatické aktualizace", "option-auto-update-description": "Toto vypnětě pokud nechcete, aby si aplikace sama vyhledávala aktualizace.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Potřebuji pomoct", "option-get-help-description": "Získejte pomoc týkající se aplikace Obsidian.", "button-open": "Otevřít", "option-language": "Jazyk", "option-language-description": "Změna jazyku rozhraní.", "option-insider-build": "Dostávat insider buildy", "option-insider-build-description": "Automatická aktualizace insider buildů pro vyzkoušení nejnovějších funkcí. Varujeme že tyto buildy obsahují nejmodernější technologie a můou být méně stabilní.", "option-advanced": "Rozšířené", "option-hw-acceleration": "Hardwarová akcelerace", "option-hw-acceleration-description": "Zapne hardwarovou akceleraci, která využívá GPU pro plynulejší chod aplikace Obsidian.", "option-hw-acceleration-warning": "Pokud toto vypnete, výkon aplikace poklesne.", "option-config-location": "Override nastavení folder", "option-config-location-description": "Use a different nastavení folder than the default one. Must start with a dot.", "option-config-location-warning": "nastavení location must be a valid folder name that starts with a dot.", "label-license": "Licence", "label-your-commercial-license-key": "Klíč vaší komerční licence je \"{{key}}\".", "label-commercial-license-info": "Registrováno \"{{company}}\" pro {{seats}} uživatelů. Platné do {{expiry}}.", "label-validating-commercial-license": "Ověřování...", "label-invalid-commercial-license": "Licence je neplatná: ", "button-remove-commercial-license": "Odebrat", "option-catalyst": "Catalyst licence", "option-catalyst-desc": "Nyní máte aktivní Catalyst licenci {{tier}}. Děkujeme za podporu!", "option-catalyst-desc-no-license": "Nyní nemáte aktivní Catalyst licenci. Koupí Catalyst licence jednorázově podpoříte vývoj aplikace Obsidian.", "label-app": "Aplikace", "label-add-own-language": "Podívejte se jak přidat váš jazyk do Obsidian." }, "account": { "name": "Účet", "option-your-account": "Váš účet", "option-your-account-desc": "Nyní jste přihlášeni jako {{name}} ({{email}}).", "option-your-account-desc-no-login": "Nyní nejste přihlášeni. Účet je potřeba pro Obsidian Sync, Obsidian Publish, a Catalyst insider builds.", "label-insider": "insider", "label-supporter": "supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Upgradovat", "option-commercial-license": "Komerční licence", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Zakoupit", "button-log-out": "Odhlásit", "label-log-in": "Přihlásit", "label-sign-up": "Registrovat", "label-email": "Email", "placeholder-email": "Váš email...", "label-name": "Full name", "label-password": "Heslo", "placeholder-password": "Vaše heslo...", "label-forgot-password": "Zapomněli jste heslo?", "button-login": "Přihlásit", "message-empty-email": "Email nesmí být prázdný.", "message-invalid-email": "Email není správně.", "message-empty-password": "Heslo nesmí být prázdné.", "message-login-failed": "Přihlášení selhalo, zkontrolujte váš email a heslo.", "message-signup-failed": "Failed to sign up", "label-no-account": "Nemáte účet? ", "link-sign-up-now": "Zaregistrujte se", "label-mfa-code": "6-ciferný 2FA kód", "mfa-wrong-format": "2FA kód musí být šestimístný.", "mfa-verification-failed": "2FA kód je nesprávný." }, "core-plugin": { "plugin-list": "Seznam pluginů", "option-search-plugin": "Hledat základní pluginy", "option-search-plugin-description": "Filtrujte pluginy podle názvu nebo popisu.", "placeholder-search-plugin": "Hledat pluginy..." }, "third-party-plugin": { "name": "Pluginy třetích stran", "option-restricted-mode": "Restricted mode (Omezený režim)", "option-restricted-mode-description": "Omezený režim je vypnutý. Zapnutím zakážete komunitní pluginy.", "button-turn-on": "Zapnout", "option-browse-community-plugins": "Komunitní pluginy", "option-browse-community-plugins-description": "Procházejte a instalujte pluginy třetích stran vytvořené naší suprovou komunitou.", "button-browse": "Procházet", "label-exit-restricted-mode": "Ukončit omezený režim", "label-exit-restricted-mode-description-1": "Komunitní pluginy, stejně jako jakýkoliv jiný software, může potenciálně způsobit problémy se ztrátou a zabezpečením dat.", "label-exit-restricted-mode-description-2": "Zabezpečení pluginů je pro nás důležité. Zde je co děláme:", "label-exit-restricted-mode-description-3": "Navzdory našemu úsilí stále existuje malá pravděpodobnost, že komunitní plugin bude chybný.", "label-code-review": "Prvotní revize kódu", "label-code-review-desc": "Než se pluginy objeví v nabídce, projdou úvodní kontrolou naším týmem.", "label-open-source": "Open source", "label-open-source-desc": "Většina pluginů má volně přístupný zdrojový kód na GitHubu, takže si ho můžete zkontrolovat sami.", "label-peer-audit": "Peer audit", "label-peer-audit-desc": "Máme velkou komunitu developerů, kteří na sebe navzájem dohlížejí.", "label-report-mechanism": "Report mechanismus", "label-report-mechanism-desc": "Chybné pluginy sledujeme a odstraňujeme na základě nahlášení uživatelů.", "label-exit-restricted-mode-disable-confirmation": "Chcete ukončit omezený režim a povolit komunitní pluginy? Doporučujeme předtím zálohovat svá data.", "label-learn-more": "Další informace o zabezpečení pluginů", "button-turn-on-community-plugins": "Zapnout komunitní pluginy", "label-trust-author": "Věříte autorovi tohoto trezoru?", "label-trust-author-description-1": "Tento trezor, který otevírate poprvé, obsahuje některé pluginy.", "label-trust-author-description-2": "Pokud jste tento trezor dostali od někoho jiného, mějte na paměti, že pluginy mohou představovat bezpečnostní riziko.", "label-trust-author-description-3": "Pokud autorovi tohoto trezoru plně nedůvěřujete, doporučujeme zůstat v omezeném režimu, aby pluginy v tomto trezoru zůstaly vypnuté.", "button-enable-plugins": "Důvěřovat autorovi a povolit pluginy", "button-dont-trust-author": "Procházet trezor v omezeném režimu", "placeholder-community-plugins": "Hledat komunitní pluginy...", "msg-failed-load-plugins": "Načtení komunitních pluginů selhalo.", "label-installed": "Nainstalováno", "button-install": "Nainstalovat", "button-enable": "Zapnout", "button-disable": "Vypnout", "button-copy-share-link": "Kopírovat odkaz sdílení", "button-donate": "Přispět", "label-no-results-found": "Žádné výsledky.", "label-no-recent-files-found": "Nedávné soubory nenalezeny. Pište pro vyhledání...", "msg-failed-to-load-manifest": "Nepodařilo se načíct manifest pluginů.", "label-version": "Verze: {{version}}", "label-currently-installed-version": " (aktuálně nainstalovaná: {{version}})", "label-by-author": "Autor ", "label-repository": "Repozitář: ", "label-last-update": "Poslední aktualizace: ", "tooltip-view-last-update": "Zobrazit nejnovější aktualizaci", "label-unsupported": "Tento plugin nepodporuje vaše zařízení.", "button-update": "Aktualizovat", "label-no-readme": "Tento plugin neposkytlu README soubor.", "msg-installing-plugin": "Instaluje se plugin \"{{name}}\"...", "msg-failed-to-install-plugin": "Nepodařilo se nainstalovat plugin \"{{name}}\".", "msg-successfully-installed-plugin": "Plugin \"{{name}}\" byl úspěšně nainstalován.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Nainstalované pluginy", "button-reload-plugins": "Znovu načíst pluginy", "msg-reloaded-third-party-plugins": "Pluginy třetích stran byli aktualizovány.", "label-uninstall": "Odinstalovat", "label-uninstall-plugin": "Odinstalovat plugin", "label-uninstall-plugin-confirmation": "Jste si jisti že chcete odinstalovat tento plugin? Složka tohoto pluginu bude smazána.", "button-open-plugins-folder": "Otevřít složku pluginů", "button-check-for-updates": "Zkontrolovat aktualizace", "button-update-all-plugins": "Aktualizovat vše", "label-current-plugins": "Současné pluginy", "label-currently-installed": "V současnosti máte nainstalován {{count}} plugin.", "label-currently-installed_plural": "V současnosti máte nainstalováno {{count}} pluginů.", "msg-no-updates-found": "Nebyly nalezeny žádné aktualizace pluginů.", "msg-updates-found": "Nalezena aktualizace pro {{count}} plugin.", "msg-updates-found_plural": "Nalezeny aktualizace pro {{count}} pluginů.", "msg-update-plugin": "Aktualizovat na verzi {{version}}", "option-search-installed-plugin": "Hledat nainstalované pluginy", "option-search-installed-plugin-description": "Filtrovat nainstalované pluginy dle jména nebo popisu.", "placeholder-search-installed-plugin": "Hledat nainstalované pluginy...", "show-installed-only": "Zobrazit pouze nainstalované", "label-donate-modal-title": "Přispět na podporu {{name}}", "label-donate-modal-text1": "Vývojáři pluginů jsou dobrovolníci, kteří z nadšení vytvářejí úžasné věci. Pokud je pro vás tento plugin užitečný, zvažte prosím financování jeho vývoje.", "label-donate-modal-text2": "100 % vašeho příspěvku jde vývojářům pluginů; Obsidian si nebere žádný podíl. Banka nebo kreditní společnost si může vzít poplatek.", "label-donate-modal-text3": "Díky za vaši podporu!", "label-support-this-plugin": "Přispět na tento plugin:", "label-search-summary": "Zobrazuji {{pluginCount}}:", "label-by-popularity": "Nejstahovanější", "label-by-released": "Nedávno vydaný", "label-by-updated": "Nedávno aktualizovaný", "label-alphabetical": "Abecedně", "label-last-updated": "Aktualizováno {{time}}" }, "mobile-toolbar": { "name": "Mobilní nástrojový-panel", "option-configure-quick-action": "Nastavit mobilní Rychlou akci", "option-configure-quick-action-description": "Nastavit co se má stát při stažení z horní části. Aktuálně nastaveno na \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "Nastavit", "placeholder-select-quick-action": "Vybrat Rychlou akci...", "quick-action-disabled": "Nic", "manage-toolbar-options": "Upravit nástrojový-panel", "option-internal-link": "Přidat interní odkaz", "option-internal-embed": "Přidat embed", "option-tag": "Přidat štítek", "option-heading": "Nadpis", "option-strikethrough": "Přeškrtnout", "option-highlight": "Zvýraznit", "option-code": "Kód", "option-blockquote": "Citace", "option-inline-math": "Inline matika", "option-math-block": "Matika block", "option-markdown-link": "Přidat Markdown odkaz", "option-bullet-list": "Bodový list", "option-numbered-list": "Číslovaný list", "option-indent-list": "Odsadit řádek", "option-unindent-list": "Odsadit řádek", "option-undo": "Vrátit zpět", "option-redo": "Vrátit dopředu", "option-move-caret-up": "Přesunout caret nahoru", "option-move-caret-down": "Přesunout caret dolů", "option-move-caret-left": "Přesunout caret doleva", "option-move-caret-right": "Přesunout caret doprava", "option-first-line": "Přejít na první řádek", "option-last-line": "Přejít na poslední řádek", "option-toggle-keyboard": "Klávesnice", "option-configure-toolbar": "Nastavit nástrojový-panel", "option-added-options": "Přidané možnosti", "option-more-toolbar-options": "Další nastavení", "option-attach": "Vložit přílohu", "option-add-command": "Přidat globální command", "option-add-command-description": "Vyberte jakýkoliv globální příkaz, který chcete přidat do nástrojovýho-panele" } }, "editor": { "search": { "placeholder-find": "Najít", "placeholder-replace": "Nahradit", "label-exit-search": "Opustit vyhledávání", "label-next": "Následující", "label-previous": "Předchozí", "label-find-all": "Najít všechny", "label-replace": "Nahradit", "label-replace-all": "Nahradit vše" }, "link-suggestion": { "label-type-hash": "Napište #", "label-link-heading": "pro odkaz na nadpis", "label-type-block": "Napište ^", "label-link-block": "pro blokovou referenci", "label-type-pipe": "Napište |", "label-change-display-text": "pro změnu zobrazovaného textu", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "No match found", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Žádné návrhy...", "add-to-dictionary": "Přidat do slovníku" }, "menu": { "edit-link": "Edit link", "edit-tag": "Edit tag", "label-edit-block": "Edit this block", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "No heading", "label-heading-level": "Heading {{level}}" }, "print-modal": { "title": "Exportovat do PDF", "caption": "Exportuje \"{{filename}}\" do PDF s nastavením níže.", "setting-page-size": "Velikost stránky", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legální", "setting-page-size-letter": "Dopis", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Include file name as title", "setting-landscape": "Na šířku", "setting-margin": "Okraj", "setting-margin-default": "Základní", "setting-margin-minimal": "Minimální", "setting-margin-none": "Žádný", "setting-downscale-percent": "Procento zmenšení", "button-export-to-pdf": "Exportovat do PDF" }, "link-popover": { "tooltip-follow-link": "Follow link", "tooltip-open-link": "Open link", "tooltip-search-tag": "Search tag" } }, "interface": { "embed-cannot-find": "Nelze najít:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Otevřít ve výchozí aplikaci", "empty-sidebar": "Postranní panel je prázdný, zkuste sem přetáhnout nějaký panel.", "sidebar-expand": "Zobrazit", "sidebar-collapse": "Skrýt", "msg-fail-to-save-file": "Uložení souboru \"{{filepath}}\" se nezdařilo. {{message}}.", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "Žádný soubor", "msg-file-changed": "\"{{file}}\" has been modified externally, merging changes automatically.", "switch-vault": "Otevřít jiný trezor", "manage-vaults": "Manage vaults...", "help": "Nápověda", "settings": "Nastavení", "drag-to-rearrange": "Přetažením změníte uspořádání", "msg-switched-to-read": "Switched default view mode to reading view.", "msg-switched-to-edit": "Přepnuto výchozího zobrazení na mód úprav.", "msg-upgrade-installer": "Pro použít této funkce, nainstalujte znovu pomocí nejnovějšího instalátoru, který je dostupný na našem webu.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Obnovit výchozí nastavení", "label-copy": "Copy to clipboard", "label-copy-short": "Copy", "copied_generic": "Copied to your clipboard", "copied": "{{item}} zkopírován do schránky", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "Url", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Opened file \"{{path}}\"", "msg-file-not-found-through-uri": "File \"{{name}}\" not found.", "delete-action-short-name": "Delete", "msg-indexing": "Obsidian is indexing your vault...\nThis should only happen once.\nSome functionality may not be available until this is complete.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indexing complete.", "msg-sandbox-vault": "This is a sandbox vault.\nChanges you make in this vault will be lost.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Enter to create", "label-update-available": "Update Available", "label-debug-info": "Debug info", "button-learn-more": "Learn more", "button-not-now": "Not now", "button-add": "Add", "button-manage": "Manage", "label-new-tab": "New tab", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "This tab is currently busy, please try again later", "formatting": { "label-formatting": "Format", "label-paragraph": "Paragraph", "label-insert": "Insert", "insert-link": "Add link", "insert-external-link": "Add external link", "insert-callout": "Callout", "insert-horizontal-rule": "Horizontal rule", "insert-code-block": "Code block", "insert-math-block": "Math block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comments": "Comment", "toggle-highlight": "Highlight", "toggle-italics": "Italic", "toggle-strikethrough": "Strikethrough", "toggle-math": "Math", "toggle-bullet-list": "Bullet list", "toggle-checklist": "Task list", "toggle-numbered-list": "Numbered list", "set-heading": "Heading {{level}}", "no-heading": "Body", "clear": "Clear formatting", "toggle-quote": "Quote" }, "empty-state": { "no-file-open": "Není otevřený žádný soubor", "create-new-file": "Vytvořit nový soubor", "go-to-file": "Přejít k souboru", "see-recent-files": "Nedávné soubory", "close": "Zavřít", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Plugin no longer active", "unknown-pane-desc": "The plugin that created this pane ({{type}}) has gone away" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Režim úprav (Ctrl/Cmd+Klik pro úpravu v novém panelu)", "read-view": "Current view: reading", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "Click to edit", "switch-to-read-view": "Click to read", "mod-click-open-new-tab": "{{key}}+Click to open in new tab", "find": "Najít...", "replace": "Nahradit...", "edit": "Upravit", "remove": "Remove", "rename": "Rename", "preview": "Náhled", "more-options": "Více možností", "close": "Zavřít", "close-all": "Close all", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Close others", "close-after": "Close tabs after", "pin": "Připnout", "unpin": "Unpin", "unlink-tab": "Unlink tab", "link-tab": "Link with tab...", "toggle-source-mode": "Source mode", "toggle-reading-view": "Reading view", "add-property": "Add file property", "delete-file": "Smazat soubor", "create-file": "Create this file", "open-link": "Open link", "open-in-new-tab": "Open in new tab", "open-to-the-right": "Open to the right", "copy-url": "Kopírovat url", "copy": "Copy", "cut": "Cut", "paste": "Paste", "paste-as-plain-text": "Paste as plain text", "lookup-selection": "Look up “{{selection}}”", "select-all": "Select all", "rename-heading": "Rename this heading...", "rename-blockid": "Rename this block ID...", "open-in-new-window": "Open in new window", "move-to-new-window": "Move to new window", "open-in-browser": "Open in browser", "stack-tabs": "Stack tabs", "unstack-tabs": "Unstack tabs", "open-linked-view": "Open linked view" }, "tooltip": { "click-to-expand": "Kliknutím rozbalíte", "click-to-collapse": "Kliknutím sbalíte", "alias": "Alias", "not-created-yet": "Not created yet, select to create" }, "start-screen": { "label-version": "Verze", "label-create-local-vault": "Vytvořit lokální trezor", "option-open-folder-as-vault": "Použít složku jako trezor", "option-open-folder-as-vault-description": "Vyberte existující složku s Markdown soubory.", "option-create-vault": "Vytvořit nový trezor", "option-create-vault-description": "Vytvořit nový trezor Obsidian ve složce.", "option-connect-obsidian-sync": "Připojit k Obsidian Sync", "option-connect-obsidian-sync-description": "Set up a synced vault with existing remote vault.", "option-new-vault-name": "Jméno trezoru", "option-new-vault-name-description": "Zvolte jméno vašeho úžasného trezoru.", "option-new-vault-location": "Umístění", "option-new-vault-location-description": "Zvolte umístění nového trezoru.", "label-new-vault-location-preview": "Váš nově vytvořený trezor bude umístěn v: ", "option-reveal-vault-in-explorer": "Zobrazit umístění trezoru v systémovém prohlížeči souborů", "option-reveal-vault-in-explorer-mac": "Reveal vault in Finder", "option-rename-vault": "Přejmenovat trezor...", "option-copy-vault-i-d": "Copy vault ID", "msg-error-rename-exists": "Již existuje trezor s tímto názvem.", "msg-error-nested": "Cannot move vault into a subfolder of itself.", "msg-error-rename-open": "Nemohu přejmenovat právě otevřený trezor.", "msg-rename-failed": "Chyba přejmenování trezoru", "msg-rename-success": "Trezor úpěsně přejmenován.", "option-move-vault": "Přesunout trezor...", "msg-move-select-dest": "Zvolte cílovou složku", "msg-error-move-exists": "Na zadaném místě se již trezor nachází.", "msg-error-move-open": "Nemohu přesunout právě otevřený trezor.", "msg-move-failed": "Nemohu přesunout trezor.", "msg-move-success": "Trezor úspěšně přesunut.", "option-remove": "Odstranit ze seznamu", "button-quick-start": "Rychlý start", "button-open": "Otevřít", "button-browse": "Procházet", "button-connect": "Připojit", "button-create-vault": "Vytvořit", "button-back": "Zpět", "msg-empty-vault-name": "Jméno trezoru nesmí být prázdné.", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "Prosím zvolte platnou složku.", "msg-failed-to-create-vault": "Trezor se nepodařilo vytvořit.", "msg-failed-to-create-vault-at-location": "Trezor se nepodařilo vytvořit ve zvoleném umístění. Znovu zkontrolujte umístění a oprávnění.", "msg-error-failed-to-open-vault": "Trezor se nepodařilo otevřít.", "msg-error-remove-current-open-vault": "Nelze smazat právě otevřený trezor.", "option-get-help": "Získat nápovědu", "option-user-email": "Email", "placeholder-your-email": "Váš email...", "option-user-password": "Heslo", "placeholder-your-password": "Vaše heslo...", "button-sign-in": "Přihlásit", "button-setup": "Nastavit", "option-connect-vault-desc": "Create a synced vault on this device.", "tooltip-own-vault": "This is a remote vault owned by you.", "tooltip-shared-vault": "This is a remote vault shared with you.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Welcome", "welcome-file-content": "This is your new *vault*.\n\nMake a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nWhen you're ready, delete this note and make the vault your own." }, "drag-and-drop": { "insert-link-here": "Zde vložte odkaz", "insert-links-here": "Zde vložte odkazy", "move-into-folder": "Přesunout do složky \"{{folder}}\"", "star-this-file": "Označit hvězdičkou", "star-these-files": "Označit hvězdičkami", "open-in-this-tab": "Otevřít v této záložce", "open-as-tab": "Otevřít jako novou záložku" }, "window": { "maximize": "Maximalizovat", "minimize": "Minimalizovat", "restore-down": "Restore down", "close-window": "Zavřít okno", "go-back": "Jít zpět", "go-forward": "Jít dopředu" }, "start-up": { "loading-obsidian": "Obsidian nabíhá...", "obsidian-load-error": "Při nabíhání Obsidian se objevila chyba.", "button-reload-app": "Znovu načíst aplikaci", "button-reload-app-in-safe-mode": "Znovunačíst aplikaci v bezpečném režimu", "button-open-another-vault": "Otevřít jiný trezor", "loading-plugins": "Načítání pluginů...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Načítání trezoru...", "msg-failed-to-load-vault": "Nepodařilo se načíst trezor: ", "loading-cache": "Načítání keše...", "loading-workspace": "Načítání pracovního prostoru..." }, "mobile": { "action-import": "Importovat do trezoru", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "Zvolit soubor pro vložení", "action-insert-text-into-file": "Vložit text do {{filename}}", "action-insert-link-into-file": "Vložit odkaz do {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "Importuji...", "msg-import-success": "Import úspěšný", "msg-failed-to-import-file": "Nepodařilo se naimportovat soubor {{filename}}", "msg-back-again-to-exit": "Stikněte zpět pro ukončení.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Oficiální stránka s nápovědou", "label-official-help-site-desc": "Read the official help documentation of Obsidian, available in multiple languages.", "action-visit": "Navštívit", "label-discord-chat": "Discord chat", "label-discord-chat-desc": "Discord is the best place to chat with other experienced Obsidian users from around the world.", "action-join": "Připojit", "label-forum": "Official forum", "label-forum-desc": "Help each other, post feature requests, report bugs, and have in-depth discussions about knowledge management.", "label-sandbox-vault": "Trezor pískoviště", "label-sandbox-vault-desc": "Play around and experiment with various features. Please note your changes will not be saved." } }, "commands": { "save-file": "Uložit aktuální soubor", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Následovat odkaz pod kurzorem", "open-cursor-link-in-new-tab": "Open link under cursor in new tab", "open-cursor-link-to-the-right": "Open link under cursor to the right", "open-cursor-link-in-new-window": "Open link under cursor in new window", "navigate-tab-above": "Focus on tab group above", "navigate-tab-below": "Focus on tab group below", "navigate-tab-left": "Focus on tab group to the left", "navigate-tab-right": "Focus on tab group to the right", "toggle-pin": "Připnout", "split-right": "Rozdělit doprava", "split-down": "Rozdělit dolů", "toggle-stacked-tabs": "Toggle stacked tabs", "navigate-back": "Přejít zpět", "navigate-forward": "Přejít vpřed", "use-dark-mode": "Použít tmavý režim", "use-light-mode": "Použít světlý režim", "change-theme": "Change theme", "search-current-file": "Hledat v aktivním souboru", "search-replace-current-file": "Hledat a nahradit v aktivním souboru", "add-property": "Přidat vlastnost souboru", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Clear file properties", "open-settings": "Otevřít nastavení", "open-help": "Otevřít nápovědu", "toggle-edit": "Toggle editing/reading view", "toggle-source-mode": "Toggle Live Preview/Source mode", "delete-current-file": "Odstranit současný soubor", "new-tab": "New tab", "show-trash": "Show trash", "close-all-tabs": "Close all tabs", "close-active-tab": "Close current tab", "close-others-in-tab-group": "Close others in tab group", "close-other-tabs": "Close all other tabs", "close-tab-group": "Close this tab group", "toggle-left-sidebar": "Zobrazit/skrýt levý boční panel", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "Zobrazit/skrýt pravý boční panel", "toggle-default-new-tab-mode": "Toggle default mode for new tabs", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "Focus on editor", "toggle-fold-properties": "Toggle fold properties in current file", "toggle-fold": "Sbalení/rozbalení aktuálního řádku", "fold-all": "Sbalit všechny nadpisy a seznamy", "unfold-all": "Rozbalit všechny nadpisy a seznamy", "fold-more": "Fold more", "fold-less": "Fold less", "swap-line-up": "Prohodit řádek nahoru", "swap-line-down": "Prohodit řádek dolů", "remove-heading": "Remove heading", "toggle-heading": "Set as heading {{level}}", "toggle-bold": "Přepnout tučně pro výběr", "toggle-italics": "Přepnout kurzívu pro výběr", "toggle-highlight": "Přepnout zvýraznění pro výběr", "toggle-comments": "Toggle comments for selection", "clear-formatting": "Clear formatting", "insert-link": "Vložit odkaz", "toggle-spellcheck": "Toggle spellcheck", "delete-paragraph": "Odstranit odstavec", "toggle-checklist": "Změnit odfajfkování", "cycle-list-checklist": "Cycle bullet/checkbox", "insert-callout": "Insert callout", "insert-code-block": "Insert code block", "insert-math-block": "Insert math block", "insert-horizontal-rule": "Insert horizontal rule", "insert-table": "Insert table", "insert-footnote": "Insert footnote", "edit-file-title": "Upravit název souboru", "copy-path": "Kopírovat cestu souboru", "copy-url": "Kopírovat Obsidian URL", "export-pdf": "Exportovat do PDF", "reload": "Reload app without saving", "undo-close-tab": "Undo close tab", "context-menu": "Show context menu under cursor", "show-debug-info": "Zobrazit debugovací informace", "open-sandbox-vault": "Open sandbox vault", "always-on-top": "Toggle window always on top", "zoom-in": "Zoom in", "zoom-out": "Zoom out", "reset-zoom": "Reset zoom", "toggle-preview": "Přepínání mezi módem úprav/náhledu", "move-to-new-window": "Move current pane to new window", "open-in-new-window": "Open current pane in new window", "rename-current-file": "Rename current file", "go-to-prev-tab": "Go to previous tab", "go-to-next-tab": "Go to next tab", "go-to-last-tab": "Go to last tab", "go-to-nth-tab": "Go to tab #{{n}}", "show-release-notes": "Show release notes" }, "dialogue": { "label-link-affected": "Tohle ovlivní {{links}} ve {{files}}.", "msg-updated-links": "Aktualizovány {{links}} ve {{files}}.", "label-update-links": "Aktualizovány odkazy", "label-confirm-update-link-to-file": "Chcete aktualizovat interní odkazy, které odkazují na tento soubor?", "button-always-update": "Aktualizovat vždy", "button-just-once": "Jen jednou", "button-do-not-update": "Neaktualizovat", "label-confirm-deletion": "Jste si jisti že chcete odstranit \"{{filename}}\"?", "label-move-to-system-trash": "Soubor bude přesunut do systémového koše.", "label-move-to-vault-trash": "Soubor bude přesunut do koše Obsidian, který se nachází ve skryté složce \".trash\" ve vašem trezoru.", "label-permanent-delete": "Soubor bude permanentně odstraněn.", "label-non-empty-folder": "Složka není prázdná.", "label-delete-folder-warning": "Pokud budete pokračovat, všechny soubory uvnitř složky budou také odstraněny.", "label-delete-folder": "Odstranit složku", "button-delete": "Odstranit", "button-delete-do-not-ask-again": "Odstranit a vícekrát se neptat", "label-do-not-ask-again": "Don't ask again", "label-existing-backlink": "Aktuálně existuje {{count}} odkaz směřující na tuto poznámku.", "label-existing-backlink_plural": "Aktuálně existuje {{count}} odkazů směřujících na tuto poznámku.", "label-delete-file": "Odstranit soubor", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Manage", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Zrušit", "button-download": "Download", "button-done": "Hotovo", "button-save": "Save", "button-stop": "Stop", "button-continue": "Continue", "button-choose": "Choose", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Připravuje se PDF...", "label-rename-file": "Rename file", "label-rename-file-generic": "File name", "label-new-name": "New name", "msg-rename-success": "Successfully renamed file.", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Rename heading", "label-rename-blockid": "Rename block ID" }, "menu-items": { "new-file": "Vytvořit poznámku", "new-file-to-the-right": "Nová poznámka napravo", "new-window": "Nové okno", "open-switcher": "Otevřít rychle...", "open-vault": "Otevřít trezor...", "close-tab": "Zavřít záložku", "close-window": "Zavřít okno", "find": "Najít", "replace": "Nahradit", "insert-callout": "Callout", "insert-markdown-link": "Markdown Link", "insert-wikilink": "Link", "set-heading": "Heading {{level}}", "no-heading": "No Heading", "insert-quote": "Quote", "export-pdf": "Export PDF", "insert-attachment": "Insert Attachment...", "insert-codeblock": "Code Block", "insert-math-block": "Math Block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bullet-list": "Bullet List", "toggle-numbered-list": "Numbered List", "toggle-checklist": "Task List", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comment": "Comment", "toggle-italics": "Italics", "toggle-inline-math": "Math", "toggle-highlight": "Highlight", "toggle-strikethrough": "Strikethrough", "toggle-comments": "Comment", "folding-menu": "Folding", "fold-all": "Fold All", "unfold-all": "Unfold All", "fold-more": "Fold More", "fold-less": "Fold Less", "source-mode": "Source Mode", "reading-view": "Reading View", "show-debug-info": "Show Debug Info", "open-sandbox": "Open Sandbox Vault", "navigate-back": "Navigate Back", "navigate-forward": "Navigate Forward", "toggle-left-sidebar": "Toggle Left Sidebar", "toggle-right-sidebar": "Toggle Right Sidebar", "toggle-ribbon": "Ribbon", "split-right": "Split Right", "split-down": "Split Down", "release-notes": "Release Notes" }, "plugins": { "name": "Pluginy", "file-explorer": { "name": "Průzkumník souborů", "desc": "Zobrazuje všechny soubory ve vašem trezoru.", "action-open": "Open file explorer", "action-show": "Show file explorer", "action-create-note": "Vytvořit novou poznámku", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Create new note in current tab", "action-create-note-to-the-right": "Create note to the right", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-new-note": "Nová poznámka", "action-new-folder": "Nová složka", "action-change-sort": "Změnit pořadí řazení", "action-reveal-file": "Zobrazit soubor v průzkumníku souborů", "action-reveal-active-file": "Zobrazit aktivní soubor v průzkumníku souborů", "command-make-a-copy": "Make a copy of the current file", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Přesunou soubor do jiné složky", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Přesunout soubor do...", "action-move-folder": "Přesunou složku do...", "action-move-items": "Move {{count}} items to...", "prompt-type-folder": "Napište název složky", "label-no-folders": "Nebyly nalezeny žádné složky.", "instruction-navigate": "přesunout na", "instruction-move": "přemístit na", "instruction-create": "to create", "instruction-dismiss": "přerušit", "label-sort-a-to-z": "Seřadit podle jména (od A do Z)", "label-sort-z-to-a": "Seřadit podle jména (od Z po A)", "label-sort-new-to-old": "Seřadit podle data upravení (od nejnovéjšího po nejstarší)", "label-sort-old-to-new": "Seřadit podle data upravení (od nejstaršího po nejnovější)", "label-sort-created-old-to-new": "Čas vytvoření (od nejstaršího po nejnovější)", "label-sort-created-new-to-old": "Čas vytvoření (od nejnovéjšího po nejstarší)", "menu-opt-new-note": "Nová poznámka", "menu-opt-new-folder": "Nová složka", "menu-opt-rename": "Přejmenovat", "menu-opt-delete": "Smazat", "menu-opt-make-copy": "Vytvořit kopii", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "Název souborů nemůže obsahovat žádný z nasledujících znaků: ", "msg-unsafe-characters": "Links will not work with file names containing any of these characters: ", "msg-file-already-exists": "Již existuje soubor se stejným názvem", "msg-empty-file-name": "Název souboru nemůže být prázdný.", "msg-bad-dotfile": "File name must not start with a dot.", "tooltip-modified-time": "Naposledy upraveno {{time}}", "tooltip-created-time": "Vytvořeno {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Bez názvu", "label-untitled-folder": "Bez názvu", "msg-set-attachment-folder": "Přílohy budou uloženy do \"{{path}}\" odteď." }, "search": { "name": "Hledat", "desc": "Vyhledat klíčové slovo ve všech poznámkách.", "action-open-search": "Hledat ve všech souborech", "label-collapse-results": "Sbalit výsledky", "label-match-case": "Rozlišovat velká a malá písmena", "label-explain-search-term": "Vysvětlit hledaný výraz", "label-more-context": "Zobrazit více kontextu", "label-result-count": "{{count}} result", "label-result-count_plural": "{{count}} results", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Search settings", "prompt-start-search": "Pište pro vyhledání ...", "label-match-text": "Odpovídá textu:", "label-match-regex": "Shoduje se s regulárním výrazem:", "label-match-exact-text": "Obsahuje přesný text:", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "Contains property:", "label-match-all": "Shoduje se ze vším z:", "label-match-any": "Shoduje se s některými z:", "label-excluding": "Vyloučit:", "label-case-sensitive": "Rozlišovat malá a velká písmena", "label-case-insensitive": "Nerozlišovat malá a velká písmena", "label-match-file-path": "Shoduje se s cestou k souboru:", "label-match-file-name": "Shoduje se s názevem souboru:", "label-match-content": "Shoduje se s obsahem souboru:", "label-match-task": "Match task: ", "label-match-task-todo": "Shoduje se s úkolem (udělat): ", "label-match-task-done": "Shoduje se s úkolem (hotovo): ", "label-match-line": "Shoduje se s frází: ", "label-match-block": "Shoduje se s blokem: ", "label-match-section": "Shoduje se se sekcí: ", "label-match-tag": "Shoduje se s štítkem:", "label-no-matches": "Nebyly nalezeny žádné shody.", "matches-with-count": "... a {{count}} další shoda.", "matches-with-count_plural": "... a {{count}} dalších shod.", "label-copy-search-results": "Kopírovat výsledky hledání", "button-copy-results": "Kopírovat výsledky", "msg-successfully-copied": "Výsledky zkopírovány do schránky.", "option-show-path": "Zobrazit cestu", "option-show-path-description": "Zobrazit celou cestu k souboru, nikoli pouze jeho název.", "option-link-style": "Styl odkazu", "option-link-style-description": "Každý nalezený soubor transformovat na odkaz.", "option-choice-link-style-none": "Žádný", "option-choice-link-style-wikilink": "Wiki odkaz (Wikilink)", "option-choice-link-style-markdown-link": "Markdown odkaz", "option-list-prefix": "Předpona seznamu", "option-list-prefix-description": "Volitelně přidat předponu položky seznamu ke každému výsledku souboru.", "option-choice-list-style-none": "Žádný", "option-choice-list-style-dash": "Pomlčka (-)", "option-choice-list-style-asterisk": "Hvězdička (*)", "option-choice-list-style-numbered": "Očíslovaný", "tooltip-clear-search": "Smazat historii hledání", "label-search-options": "Nastavení hledání", "label-properties-group": "Vlastnosti", "label-tags-group": "Tagy", "tooltip-read-more": "Číst dále", "label-history": "Historie", "tooltip-clear-history": "Smazat historii hledání", "label-path-option-description": "match path of the file", "label-file-name-option-description": "match file name", "label-tag-option-description": "Hledat tagy", "label-line-option-description": "search keywords on same line", "label-section-option-description": "search keywords under same heading", "label-property-option-description": "match property", "menu-opt-search-for": "Search for \"{{keyword}}\"", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "Rychlé přepínání", "desc": "Přepínejte mezi soubory bez sundání rukou z klávesnice. Ctrl/Cmd+O pro aktivování.", "short-name": "Přepínač", "action-open": "Otevřít rychlé přepínání", "instruction-navigate": "pro navigaci", "instruction-open": "pro otevření", "instruction-open-in-new-tab": "pro otevření v nové kartě", "instruction-open-to-the-right": "pro otevření napravo", "instruction-create": "pro vytvoření", "instruction-dismiss": "pro odmítnutí", "instruction-select": "to select", "label-no-note-create-new": "Žádné poznámky. Enter pro vytvoření nové.", "prompt-type-file-name": "Napište soubor na který přepnout nebo jej vytvořit...", "label-enter-to-create": "Enter pro vytvoření", "tooltip-not-created-yet": "Zatím nevytvořeno, vyberete pro vytvoření", "option-show-existing-only": "Zobrazit pouze existující", "option-show-existing-only-description": "Whether to show links to files that are not yet created.", "option-show-attachments": "Zobrazit přílohy", "option-show-attachments-desc": "Show attachment files like images, videos, and PDFs.", "option-show-all-file-types": "Zobrazit všechny typy souborů", "option-show-all-file-types-desc": "Show all files including ones that Obsidian can't open. The file will be opened with the default app for that file type." }, "graph-view": { "name": "Graf", "desc": "Podívejte se na grafický přehled toho jak jsou poznámky propojené.", "action-open": "Otevřít graf", "action-open-local": "Otevřít lokální graf", "action-copy-screenshot": "Kopírovat jako obrázek", "tab-title": "Graf {{displayText}}", "label-filters": "Filtry", "prompt-filter-nodes": "Vyhledat soubory...", "option-depth": "Hloubka", "option-depth-description": "Zobrazit uzly tento počet odkazů daleko", "option-neighbor-links": "Sousedící odkazy", "option-neighbor-links-description": "Zobrazit propojené odkazy u sousedních.", "option-forelinks": "Odchozí odkazy", "option-forelinks-description": "Zobrazit propojení odkazů na jiné soubory", "option-backlinks": "Příchozí odkazy", "option-backlinks-description": "Zobrazit propojené odkazy z jiných souorů na tento", "option-show-tags": "Tagy", "option-show-tags-description": "Tagy budou propojeny se soubory které je obsahují", "option-show-attachments": "Přílohy", "option-show-attachments-description": "Zobrazit přílohy obsažené v souborech", "option-show-existing-files-only": "Jenom existující soubory", "option-show-existing-files-only-description": "Pokud zaškrtnuto, tak propojení na neexistující soubory nebude vidět", "option-show-orphans": "Sirotci", "option-show-orphans-description": "Zobrazit soubory které nejsou propojeny s žádným jiným souborem", "label-display": "Zobrazení", "option-show-arrows": "Šipky", "option-show-arrows-description": "Zobrazit šipky podle směru odkazu při přiblížení", "option-text-fade": "Prahová hodnota zmizení textů", "option-node-size": "Velikost uzlů", "option-link-thickness": "Tloušťka čar", "label-forces": "Síly", "option-center-force": "Gravitace středu", "option-link-force": "Síla propojení", "option-link-distance": "Délka propojení", "option-repel-force": "Odpudivá síla", "tooltip-open-graph-settings": "Otevřít nastavení grafu", "msg-screenshot-copied": "Snímek obrazovky zkopírován do schránky.", "label-groups": "Skupiny", "placeholder-enter-query": "Vložte dotaz...", "tooltip-delete-graph": "Smazat skupinu", "button-new-group": "Nová skupina", "tooltip-click-to-change-drag-to-reorder": "Click to change color\nDrag to reorder groups", "action-timelapse": "Start graph timelapse animation", "tooltip-start-timelapse-animation": "Start timelapse animation", "button-animate-timelapse": "Animovat" }, "backlinks": { "name": "Zpětné odkazy", "desc": "Ukázovat množství zpětných odkazů ve stavovém řádku.", "action-open": "Otevřít zpětné odkazy", "action-show": "Zobrazit panel zpětných odkazů", "action-open-for-current": "Otevřít zpětné odkazy současného souboru", "action-toggle-backlinks-in-document": "Přepnout zpětné odkazy v dokumentu", "menu-opt-backlinks-in-document": "Zpětné odkazy v dokumentu", "label-linked-mentions": "Propojené zmínky", "label-no-backlinks": "Žádné zpětné odkazy.", "label-unlinked-mentions": "Nepropojené zmínky", "label-show-search": "Show search filter", "label-link-button-text": "Odkaz", "tab-title": "Zpětné odkazy pro {{displayText}}", "label-no-unlinked-mentions": "Nebyly nalezeny žádné nepropojené zmínky.", "ellipsis": "...", "option-backlink-in-document": "Zpětné odkazy v dokumentu", "option-backlink-in-document-desc": "Standardně zobrazit zpětné odkazy v dokumentu při otevření nového okna." }, "outgoing-links": { "name": "Odchozí odkazy", "desc": "Show outgoing links and detect unlinked mentions of other notes in the current note.", "action-open": "Otevřít odchozí odkazy", "action-show": "Zobrazit okno odchozích odkazů", "action-open-for-current": "Otevřít odchozí odkazy současného souboru", "tab-title": "Odchozí odkazy z {{displayText}}", "label-links": "Odkazy", "label-no-links": "Žádné odkazy nenalezny.", "label-unlinked-mentions": "Unlinked mentions", "tooltip-link-file": "Link this file", "tooltip-not-created": "Not created yet" }, "tag-pane": { "name": "Panel tagů", "short-name": "Tags", "desc": "Zobrazuje všechny vaše tagy s množstvím výskytů.", "action-show": "Show tag pane", "label-no-tags": "Žádné tagy.", "label-sort-by-name-a-to-z": "Název tagů (od A do Z)", "label-sort-by-name-z-to-a": "Název tagů (od Z do A)", "label-sort-by-frequency-high-to-low": "Počet výskytů (Od nejvíce po nejméně)", "label-sort-by-frequency-low-to-high": "Počet výskytů (Od nejméně po nejvíce)", "action-show-nested-tags": "Zobrazit vnořené značky", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Properties view", "desc": "Show the metadata for your files.", "name-global": "Všechny vlastnosti", "name-local": "Vlastnosti souboru", "tab-title": "Vlastnosti souborů pro {{displayText}}", "action-show": "Zobrazit všechny vlastnosti", "action-show-local": "Zobrazit vlastnosti souboru", "opt-unassign-type": "Unassign type", "label-no-properties": "Žádné vlastnosti nenalezny.", "label-invalid-properties": "Invalid properties.", "label-sort-by-name-a-to-z": "Název vlastnosti (A až Z)", "label-sort-by-name-z-to-a": "Název vlastnosti (Z až A)", "label-sort-by-frequency-high-to-low": "Frekvence (od nejvyšší po nejnižší)", "label-sort-by-frequency-low-to-high": "Frekvence (od nejnižší po nejvyšší)", "msg-merge-properties-warning": "Merge property “{{oldKey}}” with “{{newKey}}”?", "msg-merge-properties-warning-desc": "In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-open-local": "Otevřít vlastnosti souboru", "action-open-daily-note": "Open daily note" }, "page-preview": { "name": "Náhled poznámky", "desc": "Náhled poznámky při najetí myší na interní odkaz. Ctrl/Cmd + najetí myší v režimu úprav.", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "\"{{linktext}}\" prozatím neexituje. Klikněte pro vytvoření.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Editor", "label-source-preview": "Preview", "label-source-search": "Search, Backlinks, and Outgoing links", "label-source-tab-header": "Tab header", "label-require-mod": "Require {{key}} to trigger page preview on hover" }, "bookmarks": { "name": "Záložky", "desc": "Bookmark frequently used files and searches.", "action-show": "Zobrazit záložky", "action-collapse-all": "Collapse all", "action-new-bookmark": "Bookmark the active tab...", "action-new-group": "New bookmark group", "action-bookmark": "Záložky...", "action-add-bookmark": "Přidat záložku", "action-edit-bookmark": "Editovat záložku", "action-bookmark-block": "Bookmark block under cursor...", "action-bookmark-heading": "Bookmark heading under cursor...", "action-bookmark-search": "Bookmark current search...", "action-remove-bookmark": "Remove bookmark for current file", "action-bookmark-tab-group": "Bookmark {{count}} tab...", "action-bookmark-tab-group_plural": "Bookmark {{count}} tabs...", "action-bookmark-all-tabs": "Bookmark all tabs...", "action-bookmark-graph": "Bookmark this graph...", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} bookmark", "label-bookmark-with-count_plural": "{{count}} bookmarks", "label-no-bookmarks": "No bookmarks found", "label-invalid-data": "Failed to load bookmarks.", "label-invalid-data-desc": "The data file is corrupted.", "label-untitled-group": "Untitled group", "label-untitled-graph": "Untitled Graph", "menu-opt-edit": "Edit...", "menu-opt-remove": "Remove", "menu-opt-rename": "Rename", "menu-opt-bookmark-block": "Bookmark this block...", "menu-opt-bookmark-heading": "Bookmark this heading...", "msg-no-search-query": "No search query to bookmark.", "option-path": "Path", "option-query": "Query", "option-u-r-l": "URL", "option-title": "Title", "option-group": "Bookmark group", "placeholder-bookmark-group": "Bookmarks" }, "custom-css": { "name": "Vlastní CSS", "desc": "Přečte \"obsidian.css\" v trezoru a použije je.", "setting-community-themes": "Komunitní motivy", "msg-fetching-themes": "Načítání komunitních motivů...", "prompt-filter": "Filtr...", "label-dark-theme-only": "Pouze tmavé motivy", "label-light-theme-only": "Pouze světlé motivy", "label-use": "Použít", "label-stop-use": "Stop using this theme", "label-install-and-use": "Install and use", "label-update": "Update", "label-no-readme": "This theme did not provide a README file.", "tooltip-remove-theme": "Remove theme", "label-visit-on-github": "Zobrazit na GitHubu", "msg-load-error": "Nepodařilo se načíct komunitní motivy, zkontrolujte své internetové připojení.", "msg-now-using-theme": "Právě používáte {{title}} jako váš CSS motiv.", "msg-deleted-theme": "The theme {{title}} has been deleted.", "msg-updated-theme": "The theme {{title}} has been updated.", "label-installed": "Installed", "label-legacy": "Legacy", "button-update-all-themes": "Update all", "msg-failed-load-themes": "Failed to load community themes.", "msg-no-updates-found": "No theme updates found.", "msg-updates-found": "Found {{count}} theme to update.", "msg-updates-found_plural": "Found {{count}} themes to update.", "msg-failed-to-install-theme": "Failed to install theme \"{{name}}\".", "msg-successfully-installed-theme": "Successfully installed theme \"{{name}}\".", "msg-installing-theme": "Installing theme \"{{name}}\"...", "label-search-summary": "Showing {{themeCount}}:", "label-update-available": "Update available" }, "command-palette": { "name": "Paleta příkazů", "desc": "Zadejte příkaz k jeho provedení. Není třeba používat uživatelské rozhraní nebo si pamatovat zástupce.", "action-open": "Otevřít paletu příkazů", "instruction-navigate": "pro navigaci", "instruction-use": "pro použití", "instruction-dismiss": "pro odmítnutí", "label-no-commands": "Nebyly nalezeny žádné příkazy.", "prompt-type-command": "Napište příkaz...", "label-pinned-commands": "Pinned commands", "option-add-new-pin": "New pinned command", "option-add-new-pin-description": "Pinned commands will appear at the top of all commands when no search query is present." }, "markdown-format-importer": { "name": "Importér Markdown formátu", "desc": "Převede Markdown z jiných aplikací do formátu aplikace Obsidian.", "action-open": "Otevřít importér Markdown formátu", "option-roam-tag-fixer": "Opravení štítků z Roam Research", "option-roam-tag-fixer-description": "Převede \"#tag\" a \"#[[tag]]\" na \"[[tag]]\".", "option-roam-highlight-fixer": "Opravení zvýraznění z Roam Research", "option-roam-highlight-fixer-description": "Převede \"^^highlight^^\" na \"==highlight==\".", "option-roam-todo-converter": "Opravení TODO z Roam Research", "option-roam-todo-converter-description": "Převede \"{{[[TODO]]}}\" na \"[ ]\".", "option-bear-highlight-fixer": "Opravení zvýraznění z Bear", "option-bear-highlight-fixer-description": "Převede \"::highlight::\" na \"==highlight==\".", "zettelkasten-link-fixer": "Opravení Zettelkasten odkazů", "zettelkasten-link-fixer-description": "Převede \"[[UID]]\" odkazy na úplné \"[[UID File Name]]\".", "zettelkasten-link-beautifier": "Zkrášlení Zettelkasten odkazů", "zettelkasten-link-beautifier-description": "Převede \"[[UID]]\" odkazy a zkrášlí je na \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Upozornění: importér převede všechny soubory ve vašem trezoru, nejen aktuální soubor.", "msg-override-files-warning": "Vaše soubory budou přepsány. Před provedením převodu si zálohujte všechny své soubory.", "label-start-conversion": "Začít převod", "label-stop": "Stop", "label-go-back": "Jít zpět", "label-done": "Hotovo", "label-processing": "Zpracovávání...", "label-cancelling": "Rušení...", "label-finished": "Dokončeno!", "label-processed-files": "Zpracované soubory", "label-modified-files": "Upravené soubory", "label-total-replacements": "Všechny změny", "label-failed": "Failed" }, "daily-notes": { "name": "Každodenní poznámky", "desc": "Otevře dnešní poznámku a pokud ještě neexistuje tak ji vytvoří.", "short-name": "Today", "action-open": "Otevřít dnešní poznámku", "action-open-previous": "Otevřít předchozí denní poznámku", "action-open-next": "Otevřít následující denní poznámku", "action-insert-text": "Insert text into daily note", "action-insert-link": "Insert link into daily note", "msg-fail-format": "Nezdařilo se vytvořit dnešní poznámku. \"{{format}}\" není validní formát.", "msg-fail-folder": "Nezdařilo se vytvořit dnešní poznámku. Složka \"{{folderOption}}\" nebyla nalezena.", "msg-fail-template-file": "Nezdařilo se vytvořit dnešní poznámku. Soubor šablony \"{{template}}\" nebyl nalezen.", "msg-no-previous": "Neexistuje předchozí denní poznámka před touto.", "msg-no-next": "Neexistuje následující denní poznámka po této.", "option-date-format": "Formát data", "label-refer-to-syntax": "Více syntaxí najdete na: ", "label-syntax-link": "dokumentace formátu", "label-syntax-live-preview": "Tady je ukázka jak to bude vypadat: ", "option-new-file-location": "Umístění nových poznámek", "option-new-file-location-description": "Složka kam se budou vytvářet denní poznámky.", "option-template": "Umístění šablony", "option-template-description": "Umístění zápisku co bude použit jako šablona.", "option-open-on-start": "Open daily note on startup", "option-open-on-start-description": "Open your daily note automatically whenever you open this vault." }, "unique-note-creator": { "name": "Unique note creator", "desc": "Create notes with unique timestamp prefixes, for workflows like zettelkasten or slip box.", "short-name": "Unique", "action-create-note": "Create new unique note", "action-add-link": "Add unique internal link", "option-new-file-location": "New file location", "option-new-file-location-description": "The folder path to create the new unique note.", "msg-folder-not-found": "Failed to create unique note. Folder \"{{folderOption}}\" not found.", "option-template-file": "Template file location", "option-template-file-description": "The file path to use as template.", "option-template-file-placeholder": "Example: folder1/note", "option-id-format": "Unique prefix format", "msg-template-file-not-found": "Failed to create unique note. Template file \"{{template}}\" not found.", "msg-failed-to-generate": "Failed to generate a unique note with the format \"{{format}}" }, "random-note": { "name": "Náhodná poznámka", "desc": "Otevře náhodnou poznámku. Užitečné pro kontrolu a objevování.", "short-name": "Náhoda", "action-open": "Otevřít náhodnou poznámku" }, "outline": { "name": "Přehled", "desc": "Zobrazí přehled současného souboru nebo připojeního panelu.", "action-open": "Otevřít přehled", "action-show": "Show outline pane", "action-open-for-current": "Open outline of the current file", "tab-title": "Přehled {{displayText}}", "label-no-headings": "Nebyly nalezeny žádné nadpisy.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Počet slov", "desc": "Zobrazovat počet slov ve stavovém řádku." }, "slides": { "name": "Snímky", "desc": "Prezentujte přímo z Markdownu. Použijte \"---\" pro rozdělení snímků prezentace.", "action-start": "Spustit prezentaci" }, "audio-recorder": { "name": "Diktafon", "desc": "Nahraje zvukový záznam a uloží jako přílohu.", "action-start": "Spustit nahrávání", "action-stop": "Zastavit nahrávání", "action-toggle": "Spustit/zastavit nahrávání", "msg-access-denied": "Byl zamítnut přístup k mikrofonu, povolte jej v panelu předvoleb.", "msg-pending-grant": "Chcete-li zahájit nahrávání, udělejte oprávnění pro používání mikrofonu.", "msg-no-microphone": "Není připojen žádný mikrofón." }, "open-with-default-app": { "name": "Otevřít ve výchozí aplikaci", "desc": "Přidá možnost pro otevření aktuálního souboru ve výchozí aplikaci.", "action-open-file": "Otevřít ve výchozí aplikaci", "action-open-file-mobile": "Share", "action-show-in-folder": "Zobrazit ve složce", "action-show-in-folder-mac": "Reveal in Finder" }, "templates": { "name": "Šablony", "desc": "Vloží obsah šablony ze složky souborů šablon.", "action-insert": "Vložit šablonu", "action-insert-current-date": "Insert current date", "action-insert-current-time": "Insert current time", "option-template-folder-location": "Umístění složky šablon", "option-template-folder-location-description": "Soubory v této složce budou dostupné jako šablony.", "option-template-date-format": "Formát data", "option-template-date-format-description": "{{date}} v šabloně bude nahrazen touto hodnotou.", "option-template-date-format-description2": "Můžete také použít {{date:YYYY-MM-DD}} pro přepsání formátu u konkrétního souboru.", "option-template-time-format": "Formát času", "option-template-time-format-description": "{{time}} v šabloně bude nahrazen touto hodnotou.", "option-template-time-format-description2": "Můžete také použít {{time:HH:mm}} pro přepsání formátu u konkrétního souboru.", "instruction-navigate": "pro navigaci", "instruction-insert": "pro vložení šablony", "instruction-dismiss": "pro odmítnutí", "msg-no-templates-found": "Nebyly nalezeny žádné šablony", "msg-fail-invalid-folder": "Nepodařilo se načíst šablony. Složka šablon není validní.", "msg-fail-folder-not-found": "Nepodařilo se načíst šablony. Složka \"{{folderOption}}\" nebyla nalezena.", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "Failed to list templates. No template folder configured.", "prompt-type-template": "Napište název šablony..." }, "translucency": { "name": "Průhledné okno", "desc": "Přidá efekt průhlednosti pro navození pocitu hloubky. Vhodnější pro tmavý režim. Není podporováno na Linuxu." }, "slash-command": { "name": "Slash commands", "desc": "Enable the ability to trigger slash commands in the editor by typing the forward slash." }, "editor-status": { "name": "Editor status", "desc": "Adds a status bar item to show and change the current editor mode.", "read": "Reading", "edit-source": "Source mode", "edit-live-preview": "Live Preview" }, "publish": { "name": "Publikovat", "desc": "Publikujte vaše poznámky pomocí Obsidian Publish.", "action-publish-changes": "Publish changes", "action-publish-file": "Publish current file", "label-no-internet-access": "Pro publikování změn je nutný přístup k internetu.", "label-publish-service-description": "Obsidian Publish je doplňková placená služba, která vám umožní publikovat poznámky online přímo z aplikace Obsidian.", "label-please-login": "Pro publikování se musíte přihlásit nebo si vytvořit Obsidian účet.", "label-no-publish-subscription": "Obsidian Publish zatím nemáte předplacený.", "button-purchase": "Předplatit", "label-manage-sites": "Správa stránek", "label-no-sites": "Nemáte žádné stránky.", "button-choose": "Zvolit", "tooltip-edit-site-id": "Změnit ID stránky", "tooltip-delete-site": "Odstranit stránku", "label-delete-site-confirmation": "Jste si jisti že chcete stránku odstranit?", "label-delete-site-details": "Vaše stránka bude okamžitě a permanentně smazána.", "label-confirm-delete-site": "Potvrďte smazání stránky \"{{site}}\"", "option-site-id": "ID stránky", "option-site-id-description": "Vaši stránku najdete na https://publish.obsidian.md/{site id}. Toto můžete změnit i později. Jsou povolena jen malá písmena, čísla a pomlčky.", "option-site-id-placeholder": "Zvolte ID stránky", "button-create": "Vytvořit", "msg-invalid-site-id": "ID stránky může obsahovat pouze malá písmena, čísla a pomlčky.", "msg-site-id-in-use": "Toto ID stránky je už používáno, zkuste prosím jiné.", "msg-create-site-issue": "Při vytváření stránky došlo k chybě.", "label-site-options": "Nastavení stránky", "option-site-general": "General", "option-site-components": "Komponenty", "option-site-appearance": "Vzhled", "option-site-reading-experience": "Zážitek ze čtení", "option-site-misc": "Other site settings", "option-site-name": "Jméno stránky", "option-site-name-description": "Jméno vaší publikované stránky. Ukáže se jako nadpis vaší stránky.", "option-site-name-placeholder": "Jméno vaší stránky", "option-home-page-file": "Soubor domovské stránky", "option-home-page-file-description": "První stránka co návštěvník uvidí když navštíví vašich publikovaných stránkách", "option-home-page-file-placeholder": "Zvolte publikovaný soubor", "option-logo": "Logo", "option-logo-description": "Pick an image file as your site logo.", "option-logo-placeholder": "Any any uploaded image in your vault...", "option-site-collaboration": "Site collaboration", "option-site-collaboration-desc": "Manage collaborators for this site.", "option-customize-navigation": "Customize navigation", "option-customize-navigation-desc": "Override the order of navigation items and hide pages or folders from showing.", "option-navigation-order": "Navigation item display order", "option-hide-items-in-navigation": "Hide pages or folders from navigation", "option-hide-items-in-navigation-desc": "Right click and select \"Hide\" to prevent specific pages from appearing in the site navigation. The pages will still be accessible via links or accessing the URL directly.", "option-show-hidden-items": "Show hidden", "button-customize-sidebar": "Manage", "label-navigation-modal-title": "Navigation", "label-navigation-modal-desc": "Drag and drop to customize the order in which navigation items appear on your Publish site.", "option-hide-in-navigation": "Hide in navigation", "button-manage-collaborators": "Manage", "option-theme": "Motiv", "option-theme-description": "Zvolte vychozí barevný motiv pro vaše stránky.", "option-theme-system": "Adapt to system", "option-show-theme-toggle": "Light/dark toggle", "option-show-theme-toggle-description": "Let the visitor toggle between light and dark theme on their own.", "option-show-navigation": "Zobrazovat navigaci", "option-show-navigation-description": "Zobrazit seznam všech publikovaných stránek na levé straně publikovaného webu.", "option-show-search": "Zobrazovat vyhledávací pole", "option-show-search-description": "Zobrazí vyhledávací pole nad navigací, které návětevníkům umožní vyhledat poznámky a nadpisy na vašich stránkách.", "option-show-graph": "Zobrazovat graf", "option-show-graph-description": "Na každé stránce zobrazit malý lokální graf.", "option-show-outline": "Zobrazovat tabulku obsahu", "option-show-outline-description": "Zobrazit tabulku s obsahem na každé stránce.", "option-show-backlinks": "Zobrazovat zpáteční odkazy", "option-show-backlinks-description": "Zobrazit sekci zpětných odkazů na konci každé stránky.", "option-sliding-window-mode": "Použít posuvná okna", "option-sliding-window-mode-description": "Otevírat stránky v nových panelech vpravo. Umožňuje vodorovné posouvání v panelech.", "option-hover-preview-file": "Zobrazovat náhled při najetí kurzorem", "option-hover-preview-file-description": "Zobrazí náhled stránky při najetí kurzorem na odkaz.", "option-hide-title": "Hide page title", "option-hide-title-description": "Hide the page title heading. Useful when you have your own headings at the beginning of each page.", "option-readable-line-length": "Čitelná délka řádku", "option-readable-line-length-description": "Omezit maximální délku řádku. Na obrazovku se vleze méně informací, ale dlouhé odstavce budou lépe čitelné.", "option-site-password": "Hesla", "option-site-password-description": "Umožní přístup na vaše stránky jen těm kteří mají heslo.", "option-google-analytics": "Google Analytics tracking code", "option-google-analytics-description": "Configure Google Analytics for your site. Only available for visitors from your custom domain URL. Please check with your local laws and regulations first.", "button-manage-passwords": "Spravovat", "button-save-site-settings": "Uložit nastavení stránky", "msg-updated-options": "Nastavení vaší stránky bylo aktualizováno.", "button-go-back": "Zpět", "label-publishing-to": "Publikovat na", "tooltip-switch-site": "Změnit stránku", "button-add-linked": "Přidat propojené odkazy", "tooltip-add-linked": "Přidejte všechny soubory, které jsou propojeny k aktuálně vybraným položkám", "msg-added-linked-files": "{{count}} propojený soubor byl přidán.", "msg-added-linked-files_plural": "{{count}} propojených souborů bylo přidáno.", "tooltip-open-site-options": "Změna nastavení stránky", "label-no-changes-detected": "Nebyly detekovány žádné změny.", "label-changed-files-to-be-published": "Změny", "label-unchanged-files-already-published": "Nezměněno (vyberte pro smazání)", "label-file-selected": " vybrané", "button-select-all-files": "Vybrat vše", "label-custom-navigation-title": "Navigation items", "button-deselect-all-files": "Odznačit vše", "label-new-files-to-be-published": "Nový", "button-publish": "Publikovat", "msg-no-permission-to-publish-to-site": "Nemáte oprávnění publikovat na současnou stránku.", "msg-select-at-least-one-file": "Vyberte alespoň jeden soubor.", "label-upload-changes": "Nahrát změny", "button-done": "Hotovo", "button-stop": "Zastavit", "label-status-uploading": "Nahrávání", "label-status-to-publish": "Bude publikováno", "label-status-to-delete": "Bude smazáno", "label-status-published": "Publikováno", "label-status-deleted": "Smazáno", "label-status-failed": "Nezdařilo se", "label-status-cancelled": "Zrušeno", "button-change": "Změnit", "label-clear-cache": "Publikování vašich změn může zabrat pár minut než se na vaších stránkých objeví. Pokud změny stále nevidíte, zkuste vymazat mezipaměť prohlížeče.", "label-visit-site": "Vaše stránky můžete navštívit zde: ", "msg-something-went-wrong": "Něco se nezdařilo. Pro více informací zkontrolujte vývojařskou konzoli.", "msg-network-error": "Problém s internetovým připojením. ", "label-manage-passwords": "Spravovat hesla", "label-add-password": "Přidat heslo", "action-new-password": "Nové heslo", "label-no-password": "Vaše stránka zatím nemá žádné hesla. Kdokoliv je může navštívit.", "label-have-password": "Heslo vašich stránek je chráněno. Pokud máte více hesel, návštěvníci můžou použít kterékoliv z nich pro návštěvu vašich stránek.", "option-password-name": "Heslo", "option-password-desc": "Vaše zahashované heslo bude uchováno bezpečně. Jakmile je heslo nastaveno, nemůže už být zobrazeno v originální textové podobě.", "option-password-placeholder": "Vaše heslo", "option-nickname-name": "Přezdívka (nepovinné)", "option-nickname-desc": "Nastavit přezdívku pro připomenutí komu je toto heslo přiděleno.", "action-add-password": "Přidat toto heslo", "label-untitled-password": "Nepojmenované heslo", "label-password-created-time": "Vytvořeno {{time}}", "msg-added-new-password": "Přidáno nové heslo.", "option-custom-domain": "Custom domain", "option-custom-domain-desc": "Use your own domain rather than the https://publish.obsidian.md/{site id} URL.", "option-noindex": "Disallow search engine indexing", "option-noindex-desc": "Prevent search engines from indexing your site.", "button-configure": "Configure", "label-configure-custom-domain": "Configure custom domain", "option-custom-url-name": "Custom URL", "option-custom-url-desc": "The URL that your site will be located at.", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "Redirect to your custom domain", "option-custom-url-redirect-desc": "Redirect visitors on publish.obsidian.md/id to your custom domain.", "button-update-custom-domain": "Update domain setting", "label-custom-domain-instructions": "Please refer to our {{link}} on our help site for more information.", "label-custom-domain-link-name": "custom domain setup guide", "label-site-usage": "You're using {{site}} out of your {{limit}}.", "button-add-more-sites": "Buy more sites", "label-no-sites-bought": "You haven't bought any sites.", "button-get-site": "Get a site", "label-manage-sharing": "Manage sharing for \"{{name}}\"", "label-sharing-with-users": "This site is currently shared with the following people.", "label-not-sharing": "This site is not currently shared with anyone.", "label-invite-pending": "Pending", "tooltip-remove-user": "Remove user", "option-invite-user": "Invite user", "placeholder-invite-user": "Enter their email...", "error-email-must-be-valid": "Please enter a valid email to invite someone.", "msg-enable-publish-plugin": "Please enable the Publish core plugin in Settings -> Core plugins to view sites.", "label-your-sites": "Your sites", "label-sites-shared-with-you": "Sites shared with you", "tooltip-leave-site-sharing": "Stop collaborating on this site", "label-leave-site-confirmation": "Confirm stop site collaboration", "label-leave-site-confirmation-details": "This will remove this site from the list of sites shared with you. This action cannot be reverted.", "label-leave-site-confirmation-details-2": "Please contact the owner of the site if you wish to collaborate on this site again.", "button-leave": "Leave", "label-compare-with-live": "Compare with live version", "button-use-live-version": "Use live version", "label-confirm-override": "Confirm overriding local version", "label-confirm-override-1": "Are you sure you want to override the local version?", "label-confirm-override-2": "The live version will be used and your local version will be discarded. Please make backups if necessary.", "button-proceed": "Proceed", "message-successfully-used-live-version": "Successfully used live version to override your local version.", "label-open-in-live-site": "Open in live site", "label-open-file": "Open file", "tooltip-manage-publish-filters": "Manage publish filters", "option-included-folders": "Included folders", "option-included-folders-desc": "Files under these folders will automatically be selected when you review changes to publish.", "option-currently-included-folders": " These folders are currently included:", "option-excluded-folders": "Excluded folders", "option-excluded-folders-desc": "Files under these folders won't show up when you review changes to publish. This setting takes priority over included folders above.", "label-number-of-folders-included": "Obsidian Publish is currently including {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish is currently excluding {{folders}}.", "label-manage-included-folders": "Manage included folders", "label-manage-excluded-folders": "Manage excluded folders", "label-add-included-folder": "Include a folder", "label-add-included-folder-desc": "You can include both existing folders and folders that have not been created yet.", "tooltip-contact-support": "Contact support", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "Pracovní prostory", "desc": "Uložit a načíst rozložení pracovního prostoru.", "action-load-layout": "Load workspace layout", "action-manage-layouts": "Manage workspace layouts", "action-save": "Save layout", "action-save-and-load-layout": "Save and load another layout", "placeholder-save-current-layout-as": "Save current workspace layout as...", "button-save": "Uložit", "button-load": "Načíst", "tooltip-delete-layout": "Delete layout", "msg-enter-name": "Please enter a name for the new layout.", "msg-save-layout-success": "Successfully saved layout.", "label-no-layout-found": "No saved layout found.", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "Type layout name..." }, "sync": { "name": "Synchronizace", "desc": "Synchronizujte své soubory pomocí Obsidian Sync.", "action-view-version-history": "Zobrazit historii verzí", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "Načíst více", "label-show-diff": "Zobrazit rozdíl", "label-copy-to-clipboard": "Kopírovat do schránek", "label-restore-this-version": "Obnovit tuto verzi", "msg-already-latest-version": "Tato verze je již nejaktuálnější.", "msg-restored-version": "Úspěšně obnovena verze ze {{time}}", "label-file-deleted": "Tento soubor byl smazán", "label-file-deleted-via": "Odstraněno pomocí {{ device }}", "label-file-renamed-from": "Tento soubor byl přejmenován z \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revize", "label-revision_plural": "{{revisions}} revizí", "label-via-device": "pomocí {{device}}", "label-no-history": "Neexistují žádné dřívější verze tohoto souboru.", "label-empty-file": "Prázdný", "label-unable-to-retrieve": "Nelze načíst historii verzí", "label-setting-files": "Soubory s nastavením", "label-deleted-files": "Smazané soubory", "label-version-history": "Historie verzí", "label-click-to-see-history": "Klikněte na smazaný soubor pro zobrazení jeho historie.", "label-create-remote-vault": "Vytvořit vzdálený trezor", "msg-please-enter-password": "Prosím vložte heslo.", "msg-vault-name-cannot-be-empty": "Název trezoru nemůže být prázdný.", "msg-successfully-created-vault": "Úspěšně byl vytvořen vzdálený trezor \"{{name}}\".", "label-remote-vault-explanation": "Vzdálené trezory bezpečně synchronizují váš trezor mezi více zařízeními.", "option-vault-name": "Název trezoru", "option-vault-name-desc": "Pomůže vám připomenout, co je v tomto trezoru.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Vyberte region serveru, který je vašemu trezoru nejblíže. Nelze v budoucnu změnit.", "option-vault-name-placeholder": "Můj úžasný trezor", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Šifrovací heslo", "option-encryption-password-desc": "Toto heslo nelze později změnit.", "option-encryption-password-desc-warning": "Pokud toto heslo zapomenete, všechna data zůstanou navždy nepřístupná.", "option-encryption-password-desc-2": "Na lokální data to nemá vliv.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "Vaše heslo", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "Odemknout trezor", "label-remote-vaults": "Vaše vzdálené trezory", "label-vault-created-time": "Vytvořeno {{time}}", "tooltip-delete-remote-vault": "Smazat", "tooltip-rename-remote-vault": "Přejmenovat", "label-rename-remote-vault": "Přejmenovat vzdálený trezor \"{{name}}\"", "label-rename-remote-vault-desc": "Zadejte nové jméno pro tento vzdálený trezor.", "tooltip-manage-sharing": "Spravovat sdílení", "label-confirm-delete-remote-vault": "Potvrdit smazání trezoru", "label-confirm-delete-remote-vault-question": "Opravdu chcete tento vzdálený trezor odstranit?", "label-confirm-delete-remote-vault-result": "Všechna data na našem serveru, včetně historie verzí, budou odstraněna. Vaše lokální soubory zůstanou nedotčeny.", "label-confirm-delete-remote-vault-warning": "Tato akce je permanentní a nevratná.", "msg-remote-vault-deleted": "{{name}} bylo odstraněno.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "Připojit", "button-disconnect-from-remote-vault": "Odpojit", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "Nemáte žádné vzdálené trezory.", "label-no-subscription": "Nemáte aktivní předplatné služby Obsidian Sync.", "label-please-visit": "Navštivte prosím", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "Vytvořit nový trezor", "label-sync-log": "Záznam o synchronizaci", "option-event-type-all": "Vše", "option-event-type-errors": "Chyby", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Sloučení konfliktů", "button-copy-sync-log": "Kopírovat záznam synchronizace", "msg-successfully-copied-sync-log": "Úspěšně zkopírován záznam synchronizace.", "button-retry": "Zopakovat", "button-purchase-subscription": "Zakoupit", "label-third-party-sync-warning": "Zjištěna konfliktní služba na synchronizaci souborů", "label-third-party-sync-warning-desc": "Varování: Zdá se, že váš trezor už je používán {{service}} pro synchronizaci. Pokud s tímto trezorem použijete službu Obsidian Sync, může dojít ke konfliktům, poškození souborů nebo ztrátě dat.", "label-icloud-drive-warning": "Používáte-li iCloud Drive, vaše složky jako Dokumenty a Plocha by už by mohly být pod synchronizací. To by mohlo způsobit konflikty se službou Obsidian Sync.", "option-remote-vault": "Vzdálený trezor", "button-choose-remote-vault": "Vybrat", "button-manage-remote-vault": "Spravovat", "option-remote-vault-desc-connected": "Momentálně připojeno ke vzdálenému trezoru \"{{name}}\".", "option-remote-vault-desc-not-connected": "Momentálně nejste připojeni k žádnému vzdálenému trezoru.", "option-sync-status": "Stav synchronizace", "option-sync-status-desc-paused": "Synchronizace pomocí Obsidian je pozastavena.", "option-sync-status-desc-running": "Synchronizace pomocí Obsidian je zapnuta.", "option-device-name": "Název zařízení", "option-device-name-desc": "Tento název se bude zobrazen v záznamu synchronizace. Nechte prázdné, chcete-li použít výchozí název.", "button-resume": "Obnovit", "button-pause": "Pozastavit", "option-view-deleted-files": "Odstraněné soubory", "option-view-deleted-files-desc": "Zobrazit a obnovit smazané soubory.", "option-sync-log": "Záznam synchronizace", "option-sync-log-desc": "Zobrazit nejnovější záznam synchronizace pro debugging.", "button-view": "Zobrazit", "button-bulk-restore": "Hromadné obnovení", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Obnovování...", "msg-restoring-complete": "`Obnovení dokončeno: {{succeeded}} se podařilo obnovit, {{failed}} se nepodařilo obnovit.`", "option-vault-size": "Velikost trezoru", "option-vault-size-desc": "Používáte {{size}} z {{limit}}.", "option-vault-size-unknown": "Nelze načíst velikost vašeho trezoru.", "option-vault-size-loading": "Načítání velikosti vašeho trezoru...", "option-over-size": "Velikost trezoru je nad limitem", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "Zobrazit největší soubory", "msg-largest-files-desc": "Toto jsou vzdálené soubory, které zabírají nejvíce místa. Po odstranění příloh použijte tlačítko purge k uvolnění místa ve vzdáleném trezoru.", "button-upgrade-storage": "Upgrade úložiště", "button-purge-remote": "Purge", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "Trvale vyčistit smazané přílohy ze vzdáleného trezoru a uvolnit tím místo.", "msg-purge-complete": "Purge dokončen.", "option-prevent-sleep": "Zabránit režimu spánku", "option-prevent-sleep-desc": "Zabrání zařízení přejít do režimu spánku, pokud jsou ještě soubory, které je potřeba synchronizovat.", "option-selective-sync": "Selektivní synchronizace", "option-excluded-folders": "Vyloučené složky", "option-excluded-folder-desc": "Zabrání synchronizaci určitých složek.", "option-currently-excluded-folders": " Tyto složky jsou aktuálně vyloučeny:", "button-manage-excluded-folders": "Spravovat", "option-sync-image": "Synchronizovat obrázky", "option-sync-image-desc": "Synchronizovat obrázkové soubory s těmito příponami: {{extensions}}.", "option-sync-audio": "Synchronizovat audio", "option-sync-audio-desc": "Synchronizovat zvukové soubory s těmito příponami: {{extensions}}.", "option-sync-video": "Synchronizovat videa", "option-sync-video-desc": "Synchronizovat videosoubory s těmito příponami: {{extensions}}.", "option-sync-pdf": "Synchronizovat PDFka", "option-sync-pdf-desc": "Synchronizovat soubory PDF.", "option-sync-unsupported": "Synchronizovat všechny ostatní typy souborů", "option-sync-unsupported-desc": "Synchronizovat nepodporované typy souborů.", "option-vault-config-sync": "Synchronizovat nastavení trezoru", "option-view-config-files": "Historie verzí nastavení", "option-view-config-files-desc": "Zobrazit a obnovit historii verzí nastavení.", "option-sync-app": "Hlavní nastavení", "option-sync-app-desc": "Povolte pro synchronizaci nastavení editoru, souboru, odkazu, vlastních klávesových zkratek atd.", "option-sync-appearance": "Nastavení vzhledu", "option-sync-appearance-desc": "Synchronizovat nastavení vzhledu, jako tmavý režim, aktivní motivy a úryvky.", "option-sync-appearance-data": "Motivy a úryvky", "option-sync-appearance-data-desc": "Synchronizovat stažené motivy a úryvky. Zda jsou povoleny, závisí na předchozím nastavení.", "option-sync-hotkey": "Klávesové zkratky", "option-sync-hotkey-desc": "Synchronizovat vlastní klávesové zkratky.", "option-sync-core-plugin": "Seznam aktivních základních pluginů", "option-sync-core-plugin-desc": "Synchronizovat, které základní pluginy jsou zapnuté.", "option-sync-core-plugin-data": "Nastavení základních pluginů", "option-sync-core-plugin-data-desc": "Synchronizovat nastavení základních pluginů.", "option-sync-community-plugin": "Seznam aktivních komunitních pluginů", "option-sync-community-plugin-desc": "Synchronizovat, které komunitní pluginy jsou zapnuté.", "option-sync-community-plugin-data": "Nainstalované komunitní pluginy", "option-sync-community-plugin-data-desc": "Synchronizovat nainstalované komunitní pluginy (soubory .js, .css a manifest.json) a jejich nastavení.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync je služba pro synchronizaci souborů a nastavení s end-to-end šifrováním a historii verzí.", "label-account-required": "Chcete-li spustit synchronizaci, přihlaste se nebo si vytvořte nový účet pro Obsidian.", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "Registrovat", "button-log-in": "Přihlásit", "label-manage-excluded-folders": "Spravovat vyloučené složky", "label-number-of-folders-excluded": "{{folders}} jsou v současnosti vyloučeny ze synchronizace.", "label-add-excluded-folder": "Vyloučit složku", "label-add-excluded-folder-desc": "Můžete vyloučit jak existující složky, tak složky, které ještě nebyly vytvořeny.", "tooltip-remove-excluded-folder": "Odebrat ze seznamu vyloučených složek", "label-setup-connection": "Nastavit připojení", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "Nyní jste připojen k \"{{name}}\".", "button-start-syncing": "Zahájit synchronizaci", "label-confirm-merge-vault": "Potvrdit sloučení trezoru", "msg-vault-has-notes": "Lokální trezor již obsahuje některé poznámky.", "msg-vault-merge-warning": "Pokud se připojíte ke vzdálenému trezoru \"{{name}}\", budou poznámky ve vašem lokálním trezoru sloučeny s poznámkami ze vzdáleného trezoru. V případě konfliktů bude zachována nejnovější verze poznámky.", "tooltip-update-setting-on-all-devices": "Aktualizujte toto nastavení a restartujte aplikaci na všech zařízeních, kde chcete, aby se projevila.", "label-sharing-with-users": "Tento vzdálený trezor je v současné době sdílen s následujícími osobami.", "label-not-sharing": "Tento vzdálený trezor není v současnosti s nikým sdílen.", "label-vaults-shared-with-you": "Trezory sdílené s vámi", "tooltip-leave-vault-sharing": "Přestat spolupracovat na tomto trezoru", "label-leave-vault-confirmation": "Potvrďte ukončení spolupráce na trezoru", "label-leave-vault-confirmation-details": "Tím odstraníte tento trezor ze seznamu trezorů sdílených s vámi. Tuto akci nelze vrátit zpět.", "label-leave-vault-confirmation-details-2": "Pokud chcete na tomto trezoru opět spolupracovat, kontaktujte prosím vlastníka trezoru.", "button-leave": "Opustit", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "Pro připojení k tomuto trezoru potřebujete předplatné služby Obsidian Sync.", "option-contact-support": "Kontaktovat podporu", "option-contact-support-desc": "Pokud se setkáte s jakýmikoli problémy s Obsidian Sync, kontaktujte nás, abychom vám mohli pomoct! Můžete nás kontaktovat na adrese support@obsidian.md.", "button-copy-debug": "Kopírovat debug informace", "button-email-support": "E-mailová podpora", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Sync umožňuje vytvořit až 5 vzdálených trezorů. Chcete-li vytvořit nový vzdálený trezor, odstraňte prosím stávající.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "File recovery", "desc": "Let you restore recent snapshots to recover from accidental data loss. Snapshots are only saved for Markdown files.", "action-open": "Open saved snapshots", "option-interval": "Snapshot interval", "option-interval-description": "Minimal interval in minutes between two snapshots.", "option-keep": "History length", "option-keep-description": "Length in days snapshots is kept for.", "option-open-history": "Snapshots", "option-open-history-description": "View and restore saved snapshots.", "button-view-history": "View", "option-clear": "Clear history", "option-clear-description": "Wipe all snapshots.", "button-clear-history": "Clear", "label-clear-warning": "Are you sure you want to delete all snapshots? Note that only snapshots will be removed. All files inside your vault will not be affected.", "msg-clear-complete": "Snapshots cleared.", "label-no-history-found": "No snapshots found.", "placeholder-choose-file": "Choose a file...", "label-select-file": "Please select a file on the left to view snapshots." }, "note-composer": { "name": "Note composer", "desc": "Merge, split, and refactor notes.", "option-confirm-file-merge": "Confirm file merge", "option-confirm-file-merge-description": "Prompt before merging two files.", "option-split-replacement-text": "Text after extraction", "option-split-replacement-text-description": "What to show in place of the selected text after extracting it.", "option-choice-split-replacement-text-link": "Link to new file", "option-choice-split-replacement-text-embed": "Embed new file", "option-choice-split-replacement-text-none": "None", "option-template-file": "Template file location", "option-template-file-description": "Template file to use when merging or extracting. Available variables: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, e.g. {{date:YYYY-MM-DD}}.", "command-merge-file": "Merge current file with another file...", "action-merge-file": "Merge entire file with...", "label-no-files": "No files found.", "instruction-navigate": "to navigate", "instruction-merge": "to merge", "instruction-create-new": "to create new", "instruction-merge-at-top": "to merge at top", "instruction-dismiss": "to dismiss", "prompt-select-file-to-merge": "Select file to merge into...", "label-merge-file": "Merge file", "label-confirm-file-merge": "Are you sure you want to merge \"{{file}}\" into \"{{destination}}\"? \"{{file}}\" will be deleted.", "button-merge": "Merge", "command-split-file": "Extract current selection...", "command-extract-heading": "Extract this heading...", "instruction-append": "to move to bottom", "instruction-prepend": "to move to top", "msg-fail-to-fetch-template": "Failed to fetch template file: \"{{template}}\" not found.", "msg-fail-to-find-heading": "Failed to find heading" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Canvas", "desc": "Uspořádejte a propojte poznámky na nekonečném plátně, neboli canvas.", "action-add-note": "Přidat poznámku z trezoru", "action-add-media": "Přidat média z trezoru", "action-add-card": "Přidat kartu", "action-add-website": "Přidat webovou stránku", "action-create-group": "Vytvořit skupinu", "action-create-with-size": "Vytvořit kartu s určitou velikostí", "action-convert-to-file": "Konvertovat do souboru...", "action-drag-to-add-note": "Přetažením přidáte poznámku z trezoru", "action-drag-to-add-media": "Přetažením přidáte média z trezoru", "action-drag-to-add-card": "Přetažením přidáte kartu", "action-edit-label": "Upravit štítek", "action-remove-label": "Odstranit štítek", "action-search-file": "Vyhledat soubor", "action-set-color": "Nastavit barvu", "action-align": "Zarovnat", "action-align-left": "Zarovnat vlevo", "action-align-center": "Zarovnat uprostřed", "action-align-right": "Zarovnat vpravo", "action-align-top": "Zarovnat nahoru", "action-align-middle": "Zarovnat uprostřed", "action-align-bottom": "Zarovnat dolů", "action-distribute-horizontal-spacing": "Rozdělit horizontální mezery", "action-distribute-vertical-spacing": "Rozdělit vertikální mezery", "action-justify-horizontally": "Vyrovnat vodorovně", "action-justify-vertically": "Vyrovnat vertikálně", "action-arrange-horizontally": "Uspořádat do řady", "action-arrange-vertically": "Uspořádat do sloupce", "action-arrange-grid": "Uspořádat do mřížky", "action-export-png": "Exportovat jako obrázek", "action-jump-to-group": "Přejít do skupiny", "action-set-background": "Nastavit pozadí", "action-edit-background": "Upravit pozadí", "action-replace-background": "Vyměnit pozadí", "action-remove-background": "Odstranit pozadí", "label-no-images": "Nebyly nalezeny žádné obrázky.", "label-no-media": "No media found.", "label-export-png-desc": "Exportujte \"{{title}}\" pomocí souboru PNG s níže uvedeným nastavením.", "label-export-png-dimensions": "Odhadované rozměry obrázku: {{dimensions}}", "label-distribute": "Rozdělit", "label-justify": "Vyrovnat", "label-arrange": "Uspořádat", "label-always": "Vždy", "label-hover": "Při najetí myší", "label-never": "Nikdy", "label-no-section-found": "Nebyla nalezena žádná sekce", "option-wheel-behavior": "Výchozí chování kolečka myši", "option-mod-drag-behavior": "Výchozí chování {{key}}", "option-show-menu": "Zobrazit nabídku", "option-new-canvas-location": "Výchozí umístění nových souborů canvas", "option-new-canvas-location-description": "Kde jsou umístěny nově vytvořené soubory canvas.", "option-new-canvas-folder-path": "Složka, ve které se mají vytvářet nové soubory canvas", "option-new-canvas-folder-path-description": "Nově vytvořené soubory canvas se zobrazí v této složce.", "option-node-label": "Zobrazit popisek karty", "option-snap-to-grid": "Přichytit k mřížce", "option-snap-to-grid-desc": "Přichytit karty k mřížce na pozadí při přesouvání a změně velikosti.", "option-snap-to-objects": "Přichytit k objektům", "option-snap-to-objects-desc": "Přichytit karty k blízkým objektům při přesouvání a změně velikosti.", "option-zoom-breakpoint": "Limit přiblížení pro skrytí obsahu karty", "option-zoom-breakpoint-desc": "Nižší hodnoty zvýší výkon načítání, ale při oddálení dříve skryjí obsah karty.", "option-export-png-show-logo": "Zobrazit logo", "option-export-png-show-logo-desc": "Přidá logo aplikace Obsidian do levého dolního rohu.", "option-export-png-privacy-mode": "Režim soukromí", "option-export-png-privacy-mode-desc": "Zakryje veškerý text na canvas.", "option-export-png-zoom": "Přiblížení", "option-export-png-zoom-desc": "Větší přiblížení vygeneruje obrázek s vyšším rozlišením.", "option-export-png-frame": "Viditelný prostor", "option-export-png-frame-desc": "Zvolte, zda chcete vykreslit celý canvas, nebo pouze aktuálně viditelný prostor.", "option-export-png-frame-full": "Celý canvas", "option-export-png-frame-viewport": "Pouze viditelný prostor", "option-background-cover": "Krytí", "option-background-ratio": "Zachovat poměr stran", "option-background-repeat": "Opakovat", "action-new-canvas": "Nový canvas", "action-remove": "Odstranit", "action-narrow-heading": "Zmenšit na nadpis...", "action-narrow-block": "Zmenšit na blok...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Vyměnit soubor...", "action-change-url": "Změnit URL...", "action-zoom-to-fit": "Přiblížit, aby sedělo", "action-zoom-to-selection": "Přiblížit na blok", "action-reload-page": "Znovu načíst stránku", "action-follow-connection": "Sledovat spojení", "command-create-new-canvas": "Vytvořit nový canvas", "command-convert-to-file": "Převést do souboru...", "instruction-narrow-heading": "vložit nadpis", "instruction-narrow-block": "vložit blok", "instruction-jump-to-group": "přejít na skupinu", "prompt-to-narrow": "Zadejte název nadpisu", "label-enter-url": "Zadejte URL", "label-empty-embed": "\"{{linktext}}\" se nepodařilo najít.", "prompt-add-text": "Přidat text...", "prompt-start-search": "Pište pro vyhledávání...", "label-canvas-help": "Nápověda pro canvas", "label-canvas-settings": "Nastavení canvas", "label-no-narrow": "Zobrazit celý soubor", "label-show-default-view": "Show default view", "label-readonly": "Pouze pro čtení", "label-disable-readonly": "Vypnout pouze pro čtení", "label-pan": "Posunout", "label-pan-horizontal": "Posunout vodorovně", "label-zoom": "Přiblížit", "label-select-all": "Vybrat vše", "label-add-remove-selection": "Přidat / odebrat z výběru", "label-clone-card": "Klonovat kartu", "label-constrain-movement-axis": "Omezit pohyb karty na osu", "label-disable-drag-snapping": "Vypnout přichytávání při přetahování", "label-remove-card": "Odstranit kartu", "label-drag-from-below": "Táhněte zespodu nebo dvakrát klikněte", "label-longpress": "Dotykem a podržením přidáte / přesunete / vyberete", "label-drag-pan": "Tažení pro posun", "label-pinch-zoom": "Stažením přiblížíte", "label-space-drag-pan": "Mezerník + tažením posouváte", "label-scroll-to-zoom": "Scrollem přiblížíte", "label-untitled-group": "Skupina bez názvu", "label-line-direction": "Směr čáry", "label-nondirectional": "Nesměrové", "label-unidirectional": "Jednosměrné", "label-bidirectional": "Obousměrné", "label-image": "Obrázek", "label-style": "Styl", "msg-no-groups-found": "Nebyly nalezeny žádné skupiny", "msg-export-failed-empty-canvas": "Nelze exportovat prázdný canvas", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Highlight all", "action-match-diacritics": "Match diacritics", "action-whole-words": "Whole words", "action-show-thumbnails": "Thumbnails", "action-show-outline": "Table of contents", "action-reveal-in-outline": "Reveal page in table of contents", "action-toggle-sidebar": "Toggle sidebar", "action-previous-page": "Previous page", "action-next-page": "Next page", "action-fit-width": "Fit width", "action-fit-height": "Fit height", "action-save-p-d-f-location": "Save current position in document", "action-copy-annotation": "Copy annotation", "action-copy-quote": "Copy as quote", "action-copy-selection-link": "Copy link to selection", "action-copy-annot-link": "Copy link to annotation", "action-copy-section-link": "Copy link to section", "action-copy-section-link-title": "Copy link to “{{title}}”", "action-copy-page-link": "Copy link to page {{page}}", "msg-max-search-results": "{{current}} of over {{limit}} matches", "msg-search-count": "{{current}} of {{total}} match", "msg-search-count_plural": "{{current}} of {{total}} matches", "msg-password-protected": "This PDF is password protected", "msg-invalid-password": "Invalid password", "msg-enter-password": "Enter the password below", "label-of-pages": "of {{count}}", "label-page-of-pages": "({{current}} of {{count}})", "label-spread-single": "Single page", "label-spread-odd": "Two page (odd)", "label-spread-even": "Two page (even)", "tooltip-sidebar-options": "Sidebar options", "tooltip-display-options": "Display options", "label-adapt-to-theme": "Adapt to theme", "label-page": "page {{page}}", "page_landmark": "Page {{page}}", "thumb_page_title": "Page {{page}}", "thumb_page_canvas": "Page {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Seznam", "option-unknown": "Neznámý", "option-text": "Text", "option-aliases": "Aliasy", "option-tags": "Tagy", "option-folder": "Folder", "option-file": "File", "option-date": "Datum", "option-datetime": "Datum & čas", "option-number": "Číslo", "option-checkbox": "Checkbox" }, "value-suggestion": { "key-link-note": "Typ [[", "instruction-link-note": "to link note", "instruction-dismiss": "to dismiss" }, "option-property-type": "Property type", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "Invalid tag name", "msg-invalid-number": "Invalid number", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "No value", "label-heading": "Properties", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "Add property", "label-type-mismatch-warning": "Type mismatch, expected {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Column", "label-row": "Row", "action-row-after": "Add row after", "action-column-after": "Add column after", "action-row-before": "Add row before", "action-row-up": "Move row up", "action-row-down": "Move row down", "action-column-before": "Add column before", "action-column-left": "Move column left", "action-column-right": "Move column right", "action-duplicate-row": "Duplicate row", "action-duplicate-column": "Duplicate column", "action-delete-row": "Delete row", "action-delete-column": "Delete column", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-delete-selection": "Delete cells", "action-clear-selection": "Clear cells", "action-sort-a-z": "Sort by column (A to Z)", "action-sort-z-a": "Sort by column (Z to A)", "label-command": "Table: {{command}}" }, "callout": { "option-type": "Callout type", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Success", "question": "Question", "warning": "Warning", "quote": "Quote", "example": "Example", "none": "None" }, "option-other": "Other...", "option-other-placeholder": "Callout type..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} slovo", "word-with-count_plural": "{{count}} slov", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} znak", "character-with-count_plural": "{{count}} znaků", "link-with-count": "{{count}} odkaz", "link-with-count_plural": "{{count}} odkazů", "file-with-count": "{{count}} soubor", "file-with-count_plural": "{{count}} souborů", "folder-with-count": "{{count}} složka", "folder-with-count_plural": "{{count}} složek", "backlink-with-count": "{{count}} zpětný odkaz", "backlink-with-count_plural": "{{count}} zpětných odkazů", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} property", "properties-with-count_plural": "{{count}} properties", "site-with-count": "{{count}} stránka", "site-with-count_plural": "{{count}} stránek", "plugin-with-count": "{{count}} plugin", "plugin-with-count_plural": "{{count}} pluginů", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} theme", "theme-with-count_plural": "{{count}} themes" } }{ "setting": { "options": "Indstillinger", "plugin": "Plugin", "builtin-plugins": "Kerneplugins", "plugin-options": "Pluginindstillinger", "folder-path-example-placeholder": "Eksempel: mappe 1/mappe 2", "file-path-example-placeholder": "Eksempel: mappe/note", "msg-restart-required": "Ændring af denne indstilling kræver en genstart for at fungere.", "editor": { "name": "Editor", "section-behavior": "Adfærd", "section-display": "Visning", "option-spellcheck": "Stavekontrol", "option-spellcheck-description": "Aktiverer stavekontrol. Fungerer i øjeblikket kun på engelsk (USA).", "spellcheck-languages": "Stavekontrolsprog", "spellcheck-languages-description": "Vælg de sprog, som stavekontrollen skal bruge.", "spellcheck-languages-mac-description": "Den indbyggede stavekontrol på macOS registrerer automatisk sproget, du bruger.", "spellcheck-dict": "Stavekontrolordbog", "spellcheck-dict-empty": "Stavekontrolordbogen er tom.", "option-show-inline-title": "Vis indlejret titel", "option-show-inline-title-description": "Viser filnavn som en redigerbar titel indlejret i filindholdet.", "option-readable-line-length": "Læsbar linjelængde", "option-readable-line-description": "Begræns maksimal linjelængde. Rummer mindre indhold på skærmen, men gør lange afsnit mere læsbare.", "option-strict-line-break": "Strenge linjeskift", "option-strict-line-break-description": "I forhåndsvisning ignoreres enkeltlinjeskift ifølge Markdown-specifikationerne. Slå dette fra for at vise enkeltlinjeskift.", "option-properties-in-document": "Egenskaber i dokument", "option-properties-in-document-description": "Vælg, hvordan egenskaber vises i editoren. Vælg \"kilde\" for at vise egenskaberne som YAML.", "option-properties-hidden": "Skjult", "option-properties-visible": "Synlig", "option-properties-source": "Kilde", "option-auto-pair-brackets": "Auto-par paranteser", "option-auto-pair-brackets-description": "Par parenteser og anførselstegn automatisk.", "option-auto-pair-markdown": "Auto-par Markdown-syntaks", "option-auto-pair-markdown-description": "Par automatisk symboler for fed, kursiv, fremhævning, gennemstregning og kode.", "option-smart-indent-lists": "Smart listeindrykning", "option-smart-indent-lists-description": "Ordner indrykning og listepunkter for dig.", "option-fold-heading": "Fold overskrift", "option-fold-heading-description": "Lader dig folde alt under en overskrift.", "option-fold-indent": "Fold indrykning", "option-fold-indent-description": "Lader dig folde en del af den samme indrykning, fx lister.", "option-default-new-tab-view": "Standardvisning for nye faner", "option-default-new-tab-view-description": "Standardvisningen, som en ny Markdown-fane åbnes i.", "option-default-new-tab-view-editing": "Redigeringsvisning", "option-default-new-tab-view-reading": "Læsevisning", "option-open-tab-in-foreground": "Fokuser altid på nye faner", "option-open-tab-in-foreground-description": "Når du åbner et link i en ny fane, skift til det med det samme.", "option-default-editing-mode": "Standard redigeringstilstand", "option-default-editing-mode-description": "Den standard redigeringstilstand, som et nyt panel starter med.", "option-default-editing-mode-source": "Kildetilstand", "option-default-editing-mode-live-preview": "Live forhåndsvisning", "option-show-line-number": "Vis linjenummer", "option-show-line-number-description": "Vis linjenummer i margen.", "option-indentation-guide": "Vis indrykningshjælpelinjer", "option-indentation-guide-description": "Vis lodrette hjælpelinjer mellem punkter for visuel vejledning.", "option-use-tabs": "Brug tabulatorer", "option-use-tabs-description": "Brug tabulatorer til indrykning ved tryk på \"Tab\"-tasten. Slå dette fra for at bruge mellemrum.", "option-tab-size": "Tabulatorstørrelse", "option-tab-size-description": "Antal mellemrum, en tabulator svarer til.", "option-rtl": "Højre-til-venstre (RTL)", "option-rtl-description": "Indstiller tekstretningen for noter til at vises fra højre mod venstre.", "option-auto-convert-html": "Auto-konverter HTML", "option-auto-convert-html-description": "Konverter automatisk HTML til Markdown ved indsætning og træk-og-slip fra hjemmesider. Brug Ctrl/Cmd+Shift+V for at indsætte uden konvertering.", "option-vim-key-bindings": "Vim-tastaturgenveje", "option-vim-key-bindings-description": "Lader dig bruge Vim-tastaturgenveje i kildeeditoren.", "option-vim-key-bindings-mobile": "På mobilenheder er denne indstilling pr. enhed og synkroniseres ikke via konfigurationsfilen.", "option-reindex-vault": "Genopbyg boks cache", "option-reindex-vault-description": "Genopbygning af cachen kan tage fra et par sekunder til et par minutter afhængig af størrelsen på din boks.", "label-reindex": "Genopbyg", "label-confirm-enable-vim": "Bekræft, at gå ind i Vim-tilstand", "label-vim-warning": "Vim-tilstand er til effektiv tekstredigering, men kan være ret ulogisk. Hvis du ikke kender Vim, kan denne indstilling få Obsidian til at se ud, som om den ikke virker mere.", "label-vim-test": "For at bekræfte, at du kender til Vim, bedes du indtaste kommandoen for at afslutte Vim uden at gemme nedenfor:", "label-vim-your-answer": "Dit svar", "placeholder-enter-command": "Indtast kommando...", "button-confirm-enable-vim": "Lad mig aktivere Vim", "msg-vim-mode-enabled": "Kommandoen er korrekt. Vim-tilstand er nu aktiveret.", "msg-vim-mode-not-enabled": "Kommandoen er ikke korrekt. Vim-tilstand forbliver deaktiveret for at beskytte dig.", "msg-vim-mode-please-enter-command": "Indtast venligst kommandoen for at aktivere Vim-tilstand" }, "file": { "name": "Filer & Links", "option-confirm-file-deletion": "Bekræft filsletning", "option-confirm-file-deletion-description": "Om du vil bedes om at bekræfte filsletning.", "option-delete-destination": "Slettede filer", "option-delete-destination-description": "Hvad der sker med filer ved sletning.", "option-choice-system-trash": "Flyt til systemets papirkurv", "option-choice-vault-trash": "Flyt til Obsidian-papirkurv (.trash-mappe)", "option-choice-permanent-delete": "Slet permanent", "option-always-update-links": "Opdater altid interne links", "option-always-update-links-description": "Om links skal opdateres automatisk efter omdøbning af en fil eller prompt.", "option-new-note-location": "Standardplacering for nye noter", "option-new-note-location-description": "Hvor nye noter skal placeres. Plugin-indstillinger tilsidesætter dette.", "option-choice-vault-root": "Boks-mappe", "option-choice-current-folder": "Samme mappe, hvor filen ligger", "option-choice-specified-folder": "I mappen angivet nedenfor", "option-new-file-folder-path": "Mappe at oprette nye noter i", "option-new-file-folder-path-description": "Nye noter vises i denne mappe. Plugin-indstillinger tilsidesætter dette.", "option-use-wiki-links": "Brug [[Wikilinks]]", "option-use-wiki-links-description": "Auto-generér Wikilinks for [[links]] og ![[images]] i stedet for Markdown-links og -billeder. Deaktiver denne indstilling for at generere Markdown-links i stedet.", "option-show-unsupported-files": "Registrer alle filtyper", "option-show-unsupported-files-description": "Vis alle filtyper, selvom Obsidian ikke kan åbne dem direkte, så du kan linke til dem og se dem i Stifinder og Quick Switcher.", "option-link-autocompleted-format": "Nyt linkformat", "option-link-autocompleted-format-description": "Hvilke links skal indsættes ved auto-generering af interne links.", "option-choice-shortest-linktext": "Korteste sti, når muligt", "option-choice-relative-path": "Relativ sti til fil", "option-choice-absolute-path": "Absolut sti til boks", "option-new-attachment-location": "Standardplacering for nye vedhæftninger", "option-new-attachment-location-description": "Hvor nye vedhæftede filer placeres.", "option-new-attachment-location-default": "vedhæftninger", "option-choice-subdirectory": "I undermappe under nuværende mappe", "option-attachment-folder-path": "Sti til vedhæftningsmappe", "option-attachment-folder-path-description": "Nye vedhæftede filer vises her. Det inkluderer billeder, der er oprettet via træk-og-slip eller indsætning, og lydoptagelser.", "option-attachment-subfolder-path": "Navn på undermappe", "option-attachment-subfolder-path-description": "Hvis din fil er i \"boks/mappe\", og du angiver undermappens navn til \"vedhæftninger\", gemmes vedhæftninger i \"boks/mappe/vedhæftninger\".", "option-excluded-files": "Ekskluderede filer", "option-excluded-files-desc": "Ekskluderede filer bliver enten skjult eller mindre synlige forskellige steder, fx i Quick Switcher, linkforslag og Grafvisning.", "label-no-excluded-filters-applied": "Intet eksklusionsfilter anvendes lige nu. Tilføj et nedenfor.", "label-excluded-filters-applied": "Filer, der matcher følgende filtre, er i øjeblikket ekskluderet:", "label-excluded-filter": "Filter", "message-empty-filter": "Filter må ikke være tomt", "placeholder-excluded-filter": "Angiv sti eller \"/regex/\"...", "option-uri-callbacks": "Tillad URI callbacks", "option-uri-callbacks-desc": "Slå brugen til af x-callback-url gennem x-success eller x-error for Obsidian URIs." }, "appearance": { "name": "Udseende", "option-base-theme": "Basistema", "option-base-theme-description": "Vælg Obsidians standard farvetema.", "option-accent-color": "Accentfarve", "option-accent-color-description": "Vælg accentfarven, der bruges i hele appen.", "dark-theme": "Mørk", "light-theme": "Lys", "system-theme": "Tilpas til system", "option-font": "Skrifttype", "option-advanced": "Avanceret", "option-interface": "Grænseflade", "option-interface-font": "Grænsefladeskrifttype", "option-interface-font-description": "Indstil basisskrifttype for hele Obsidian.", "option-zoom-level": "Zoomniveau", "option-zoom-level-description": "Styrer appens overordnede zoomniveau.", "option-text-font": "Tekstskrifttype", "option-text-font-description": "Indstil skrifttype for redigerings- og læsevisninger.", "option-monospace-font": "Monospace-skrifttype", "option-monospace-font-description": "Indstil skrifttype til steder som kodeblokke og frontmatter.", "label-single-font-currently-in-effect": " Nuværende anvendt skrifttype: ", "label-multiple-fonts-currently-in-effect": " Følgende skrifttyper anvendes i øjeblikket:", "option-font-placeholder": "Indtast skrifttypenavn...", "label-no-custom-font-set": "Ingen brugerdefineret skrifttype anvendes lige nu. Tilføj en nedenfor.", "label-font-applied": "Den første skrifttype fra denne liste, der er tilgængelig på dit system, anvendes.", "msg-font-not-found": "Denne skrifttype findes ikke på dit system.", "msg-font-found": "Denne skrifttype findes på dit system.", "label-font-name": "Skrifttypenavn", "option-community-themes": "Åbn fællesskabstemaer", "option-community-themes-description": "Forhåndsvis og brug fantastiske temaer skabt af fællesskabet.", "button-browse-community-themes": "Gennemse", "option-font-size": "Skriftstørrelse", "option-font-size-description": "Skriftstørrelse i pixels, der påvirker editor og forhåndsvisning.", "option-font-size-action": "Hurtig justering af skriftstørrelse", "option-font-size-action-description": "Juster skriftstørrelsen med Ctrl + Scroll eller knibe-zoom-bevægelsen på touchpad'en.", "option-themes": "Temaer", "option-manage-themes-description": "Administrer installerede temaer og gennemse fællesskabstemaer.", "option-theme-button-manage": "Administrer", "option-choice-none": "Ingen", "option-native-menus": "Styresystemets menuer", "option-native-menus-desc": "Menuer i hele appen vil matche styresystemets menuer. De påvirkes ikke af dit tema.", "button-reload-themes": "Genindlæs temaer", "msg-reloaded-themes": "Genindlæste brugerdefinerede CSS-temaer.", "button-open-themes-folder": "Åbn temamappe", "option-css-snippets": "CSS-kodestykker", "label-no-css-snippets-found": "Ingen CSS-kodestykker fundet i kodestykker-mappen.", "no-snippet-description": "CSS-kodestykker er gemt i \"{{path}}\".", "button-reload-snippets": "Genindlæs kodestykker", "button-open-snippets-folder": "Åbn kodestykker-mappe", "msg-reloaded-snippets": "Genindlæste CSS-kodestykker.", "option-toggle-snippet-description": "Anvend CSS-kodestykke ved \"{{path}}\".", "label-installed-themes": "Installerede temaer", "label-screenshot-unavailable": "Skærmbillede utilgængeligt", "label-default-theme": "Standard", "tooltip-click-to-enlarge": "Klik for at forstørre", "button-update": "Opdater", "label-currently-active": "Aktiv", "option-frame-style": "Vinduesrammestil", "option-frame-description": "Bestemmer stilen for titellinjen i Obsidian-vinduer. Kræver en fuld genstart for at træde i kraft.", "option-frame-hidden": "Skjult (standard)", "option-frame-obsidian": "Obsidian stil", "option-frame-native": "Styresystem stil", "option-custom-icon": "Brugerdefineret applikationsikon", "option-custom-icon-desc": "Indstil et brugerdefineret ikon til applikationen", "button-choose-custom-icon": "Vælg brugerdefineret ikon", "option-configure-ribbon": "Båndmenu", "option-configure-ribbon-desc": "Konfigurer hvilke kommandoer, der vises i båndmenuen på navigationslinjen.", "option-mobile-quick-ribbon-item": "Hurtig adgang til båndelement", "option-mobile-quick-ribbon-item-desc": "Et tryk på båndelementet i navigationsmenuen aktiverer dette. Tryk og hold viser stadig menuen.", "option-mobile-quick-ribbon-default": "Åbn båndmenu", "button-configure": "Konfigurer", "option-show-ribbon": "Vis båndmenu", "option-show-ribbon-desc": "Vis lodret menubjælke på siden af vinduet.", "label-additional-ribbon-items": "Andre båndelementer", "label-modal-configuration": "Båndkonfiguration", "label-modal-configuration-desc": "Vælg, hvilke elementer du vil have aktive i båndet. Træk og slip for at ændre rækkefølgen.", "option-show-view-header": "Vis fanens titellinje", "option-show-view-header-desc": "Vis overskriften øverst på hver fane.", "msg-updates-found": "Fandt {{count}} tema at opdatere.", "msg-updates-found_plural": "Fandt {{count}} temaer at opdatere.", "button-check-for-updates": "Tjek for opdateringer", "button-view-updates": "Se opdateringer", "button-update-all-themes": "Opdater alle", "label-current-themes": "Nuværende fællesskabstemaer", "label-currently-installed": "Du har i øjeblikket {{count}} tema installeret.", "label-currently-installed_plural": "Du har i øjeblikket {{count}} temaer installeret." }, "hotkeys": { "name": "Genvejstaster", "option-search": "Søg i genvejstaster", "option-search-desc": "Viser {{count}} genvejstast. ", "option-search-desc_plural": "Viser {{count}} genvejstaster. ", "option-search-conflict": "{{count}} kommando med konflikter.", "option-search-conflict_plural": "{{count}} kommandoer med konflikter.", "prompt-filter": "Filtrer...", "tooltip-delete-hotkey": "Slet genvejstast", "label-waiting-for-hotkey-press": "Tryk på genvejstast...", "label-show-all": "Alle", "label-show-unassigned": "Ikke tildelt", "label-show-assigned": "Tildelt", "label-show-user-assigned": "Tildelt af mig", "tooltip-restore-default": "Gendan standard", "tooltip-customize-command": "Tilpas denne kommando", "tooltip-hotkey-single-conflict": "Denne genvejstast er i konflikt med \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Denne genvejstast er i konflikt med {{count}} andre kommandoer", "label-blank-hotkey": "Tomt" }, "about": { "name": "Om", "label-commercial-license": "Kommerciel licens", "label-license-key": "Licensnøgle", "license-key-placeholder": "Din licensnøgle...", "label-activate-license": "Aktiver licens", "button-activate": "Aktiver", "label-unknown-version": "Ukendt", "label-current-version": "Nuværende version: ", "label-install-version": "(Installationsversion: {{version}})", "label-up-to-date": "Obsidian er opdateret!", "label-read-changelog": "Læs ændringsloggen.", "label-manual-update-required": "For at understøtte og modtage de nyeste funktioner og sikkerhedsopdateringer kræver Obsidian en stor opdatering af installationsprogrammet. Du skal manuelt hente og geninstallere Obsidian.", "label-new-version-ready": "En ny version er klar til at installeres. ", "label-disabled-updates": "Opdateringer er deaktiveret.", "button-relaunch": "Genstart", "button-check-for-updates": "Tjek for opdateringer", "option-auto-update": "Automatiske opdateringer", "option-auto-update-description": "Slå dette fra for at forhindre appen i at tjekke for opdateringer.", "option-check-slow-startup": "Notificer hvis opstarten tager længere tid end forventet", "option-check-slow-startup-description": "Diagnosticer problemer med Obsidian ved at vise årsager til at opstarten er langsom.", "button-check-startup": "Tjek nu", "option-get-help": "Få hjælp", "option-get-help-description": "Få hjælp til at bruge Obsidian.", "button-open": "Åbn", "option-language": "Sprog", "option-language-description": "Skift det viste sprog.", "option-insider-build": "Modtag insider-versioner", "option-insider-build-description": "Auto-opdater til insider-versioner for at afprøve nye funktioner. Bemærk, at disse versioner er helt nye og kan være mindre stabile.", "option-advanced": "Avanceret", "option-hw-acceleration": "Hardwareacceleration", "option-hw-acceleration-description": "Slår hardwareacceleration til, som bruger din GPU til at forbedre Obsidians ydeevne.", "option-hw-acceleration-warning": "Hvis du slår dette fra, forringes appens ydeevne betydeligt.", "option-config-location": "Tilsidesæt konfigurationsmappe", "option-config-location-description": "Brug en anden konfigurationsmappe end standardmappen. Skal starte med et punktum.", "option-config-location-warning": "Konfigurationsplaceringen skal være et gyldigt mappenavn, der starter med et punktum.", "label-license": "Licens", "label-your-commercial-license-key": "Din kommercielle licensnøgle er \"{{key}}\".", "label-commercial-license-info": "Registreret til \"{{company}}\" for {{seats}} brugere. Gyldig indtil {{expiry}}.", "label-validating-commercial-license": "Validerer...", "label-invalid-commercial-license": "Licensen er ugyldig: ", "button-remove-commercial-license": "Fjern", "option-catalyst": "Catalyst-licens", "option-catalyst-desc": "Du har i øjeblikket {{tier}} Catalyst-licens. Tak for din støtte!", "option-catalyst-desc-no-license": "Du har ingen Catalyst-licens i øjeblikket. Catalyst-licensen er en engangsdonation til at støtte Obsidians udvikling.", "label-app": "App", "label-add-own-language": "Se, hvordan du føjer dit sprog til Obsidian." }, "account": { "name": "Konto", "option-your-account": "Din konto", "option-your-account-desc": "Du er nu logget ind på {{name}} ({{email}}).", "option-your-account-desc-no-login": "Du er ikke logget ind i øjeblikket. En konto er kun nødvendig for Obsidian Sync, Obsidian Publish og Catalyst insider-versioner.", "label-insider": "insider", "label-supporter": "supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Opgrader", "option-commercial-license": "Kommerciel licens", "option-commercial-license-desc": "Hjælp til med at lade Obsidian være 100% brugersupporteret.", "button-purchase": "Køb", "button-log-out": "Log ud", "label-log-in": "Log ind", "label-sign-up": "Tilmeld dig", "label-email": "E-mail", "placeholder-email": "Din e-mail...", "label-name": "Dit navn", "label-password": "Adgangskode", "placeholder-password": "Din adgangskode...", "label-forgot-password": "Har du glemt kodeordet?", "button-login": "Log ind", "message-empty-email": "E-mail må ikke være tom.", "message-invalid-email": "E-mail er ikke gyldig.", "message-empty-password": "Adgangskode må ikke være tom.", "message-login-failed": "Login mislykkedes. Dobbelttjek venligst din e-mail og adgangskode.", "message-signup-failed": "Kunne ikke oprette konto", "label-no-account": "Har du ikke en konto? ", "link-sign-up-now": "Tilmeld dig nu", "label-mfa-code": "6-cifret 2FA-kode", "mfa-wrong-format": "2FA-godkendelseskoden skal være på 6 cifre.", "mfa-verification-failed": "2FA-koden er forkert. Dobbelttjek venligst din godkendelsesapp." }, "core-plugin": { "plugin-list": "Pluginliste", "option-search-plugin": "Søg i kerneplugins", "option-search-plugin-description": "Filtrer plugins efter navn eller beskrivelse.", "placeholder-search-plugin": "Søg plugins..." }, "third-party-plugin": { "name": "Tredjepartsplugins", "option-restricted-mode": "Begrænset tilstand", "option-restricted-mode-description": "Begrænset tilstand er slået fra. Slå til for at deaktivere fællesskabsplugins.", "button-turn-on": "Slå til", "option-browse-community-plugins": "Fællesskabsplugins", "option-browse-community-plugins-description": "Gennemse og installer tredjepartsplugins skabt af vores fantastiske fællesskab.", "button-browse": "Gennemse", "label-exit-restricted-mode": "Afslut Begrænset Tilstand", "label-exit-restricted-mode-description-1": "Fællesskabsplugins kan, som enhver anden software du installerer, potentielt forårsage problemer med dataintegritet og sikkerhed.", "label-exit-restricted-mode-description-2": "Pluginsikkerhed er vigtig for os. Sådan gør vi:", "label-exit-restricted-mode-description-3": "På trods af vores indsats er der stadig en lille chance for, at et fællesskabsplugin opfører sig forkert.", "label-code-review": "Indledende kodegennemgang", "label-code-review-desc": "Plugins gennemgår en indledende kodegennemgang af vores team, før de vises i butikken.", "label-open-source": "Open source", "label-open-source-desc": "De fleste plugins er open source på GitHub, så du selv kan undersøge koden.", "label-peer-audit": "Kollegial revision", "label-peer-audit-desc": "Vi har et stort fællesskab af udviklere, som passer på hinanden.", "label-report-mechanism": "Rapporteringsmekanisme", "label-report-mechanism-desc": "Vi følger op og fjerner fejlbehæftede plugins ved brugerrapportering.", "label-exit-restricted-mode-disable-confirmation": "Vil du gerne afslutte Begrænset Tilstand for at aktivere fællesskabsplugins? Det er stærkt anbefalet at lave en sikkerhedskopi af dine data, før du gør det.", "label-learn-more": "Få mere at vide om pluginsikkerhed", "button-turn-on-community-plugins": "Aktiver fællesskabsplugins", "label-trust-author": "Har du tillid til skaberen af denne boks?", "label-trust-author-description-1": "Du åbner denne boks for første gang, og den indeholder nogle plugins.", "label-trust-author-description-2": "Hvis du har fået denne boks fra en anden, så bemærk, at plugins af ukendt oprindelse kan udgøre en sikkerhedsrisiko.", "label-trust-author-description-3": "Hvis du ikke har fuld tillid til skaberen af denne boks, anbefaler vi at blive i Begrænset Tilstand, så plugins i denne boks ikke kan køre.", "button-enable-plugins": "Stol på skaberen, og aktiver plugins", "button-dont-trust-author": "Gennemse boks i Begrænset Tilstand", "placeholder-community-plugins": "Søg i fællesskabsplugins...", "msg-failed-load-plugins": "Kunne ikke indlæse fællesskabsplugins.", "label-installed": "Installeret", "button-install": "Installer", "button-enable": "Aktiver", "button-disable": "Deaktiver", "button-copy-share-link": "Kopiér delingslink", "button-donate": "Donér", "label-no-results-found": "Ingen resultater fundet.", "label-no-recent-files-found": "Ingen nylige filer fundet. Skriv for at søge...", "msg-failed-to-load-manifest": "Kunne ikke indlæse plugin-manifest.", "label-version": "Version: {{version}}", "label-currently-installed-version": " (installeret i øjeblikket: {{version}})", "label-by-author": "Af ", "label-repository": "Repository: ", "label-last-update": "Seneste opdatering: ", "tooltip-view-last-update": "Se den seneste opdatering", "label-unsupported": "Dette plugin understøtter ikke din enhed.", "button-update": "Opdater", "label-no-readme": "Dette plugin indeholdt ikke en README-fil.", "msg-installing-plugin": "Installerer plugin \"{{name}}\"...", "msg-failed-to-install-plugin": "Kunne ikke installere plugin \"{{name}}\".", "msg-successfully-installed-plugin": "Pluginet \"{{name}}\" blev installeret.", "msg-failed-to-uninstall-plugin": "Kunne ikke afinstallere plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Kunne ikke deaktivere plugin “{{id}}”.", "label-installed-plugins": "Installerede plugins", "button-reload-plugins": "Genindlæs plugins", "msg-reloaded-third-party-plugins": "Genindlæste tredjepartsplugins.", "label-uninstall": "Afinstaller", "label-uninstall-plugin": "Afinstaller plugin", "label-uninstall-plugin-confirmation": "Er du sikker på, at du vil afinstallere dette plugin? Dette sletter mappen med pluginet.", "button-open-plugins-folder": "Åbn plugins-mappe", "button-check-for-updates": "Tjek for opdateringer", "button-update-all-plugins": "Opdater alle", "label-current-plugins": "Nuværende plugins", "label-currently-installed": "Du har i øjeblikket {{count}} plugin installeret.", "label-currently-installed_plural": "Du har i øjeblikket {{count}} plugins installeret.", "msg-no-updates-found": "Ingen pluginopdateringer fundet.", "msg-updates-found": "Fandt {{count}} plugin at opdatere.", "msg-updates-found_plural": "Fandt {{count}} plugins at opdatere.", "msg-update-plugin": "Opdater til version {{version}}", "option-search-installed-plugin": "Søg i installerede plugins", "option-search-installed-plugin-description": "Filtrer installerede plugins efter navn eller beskrivelse.", "placeholder-search-installed-plugin": "Søg i installerede plugins...", "show-installed-only": "Vis kun installerede", "label-donate-modal-title": "Donér for at støtte {{name}}", "label-donate-modal-text1": "Pluginudviklere er frivillige i fællesskabet, som skaber fantastiske ting ud af passion. Hvis dette plugin er nyttigt for dig, overvej venligst at bidrage til udviklingen.", "label-donate-modal-text2": "100% af dit bidrag går til pluginudvikleren; Obsidian tager ikke en andel. Finansieringsplatformen, de vælger, kan opkræve et gebyr.", "label-donate-modal-text3": "Tak for din generøse støtte!", "label-support-this-plugin": "Støt dette plugin:", "label-search-summary": "Viser {{pluginCount}}:", "label-by-popularity": "Mest hentet", "label-by-released": "Nyligt udgivet", "label-by-updated": "Nyligt opdateret", "label-alphabetical": "Alfabetisk", "label-last-updated": "Opdateret {{time}}" }, "mobile-toolbar": { "name": "Mobil værktøjslinje", "option-configure-quick-action": "Konfigurer Hurtig Handling på mobil", "option-configure-quick-action-description": "Konfigurer, hvilken kommando der skal udløses, når du trækker ned fra toppen. Den nuværende kommando er sat til \"{{kommando}}\".", "msg-missing-quick-action": "Kommando er ikke konfigureret", "button-configure": "Konfigurer", "placeholder-select-quick-action": "Vælg Hurtig Handling...", "quick-action-disabled": "Ingen", "manage-toolbar-options": "Administrer værktøjslinjeindstillinger", "option-internal-link": "Tilføj internt link", "option-internal-embed": "Tilføj indlejring", "option-tag": "Tilføj tag", "option-heading": "Slå overskrift til/fra", "option-strikethrough": "Slå gennemstregning til/fra", "option-highlight": "Slå fremhævning til/fra", "option-code": "Slå kode til/fra", "option-blockquote": "Slå blokcitat til/fra", "option-inline-math": "Slå indlejret matematik til/fra", "option-math-block": "Slå matematikblok til/fra", "option-markdown-link": "Tilføj Markdown-link", "option-bullet-list": "Slå punktliste til/fra", "option-numbered-list": "Slå nummereret liste til/fra", "option-indent-list": "Indryk listeelement", "option-unindent-list": "Fjern indrykning af listeelement", "option-undo": "Fortryd", "option-redo": "Gendan", "option-move-caret-up": "Flyt markøren op", "option-move-caret-down": "Flyt markøren ned", "option-move-caret-left": "Flyt markøren til venstre", "option-move-caret-right": "Flyt markøren til højre", "option-first-line": "Gå til første linje", "option-last-line": "Gå til sidste linje", "option-toggle-keyboard": "Slå tastatur til/fra", "option-configure-toolbar": "Konfigurer Værktøjslinje på mobil", "option-added-options": "Tilføjede indstillinger", "option-more-toolbar-options": "Flere værktøjslinjeindstillinger", "option-attach": "Indsæt vedhæftning", "option-add-command": "Tilføj global kommando", "option-add-command-description": "Vælg enhver global kommando at føje til værktøjslinjen." } }, "editor": { "search": { "placeholder-find": "Find", "placeholder-replace": "Erstat", "label-exit-search": "Afslut søgning", "label-next": "Næste", "label-previous": "Forrige", "label-find-all": "Find all", "label-replace": "Erstat", "label-replace-all": "Erstat alt" }, "link-suggestion": { "label-type-hash": "Skriv #", "label-link-heading": "for at linke overskrift", "label-type-block": "Skriv ^", "label-link-block": "for at linke blokke", "label-type-pipe": "Skriv |", "label-change-display-text": "for at ændre visningstekst", "label-no-alias": "Vis tekst", "label-no-heading": "Overskrift", "label-no-match-found": "Intet match fundet", "label-image-size": "Billedstørrelse: {{size}}px bred", "label-accept": "for at acceptere", "label-new-footnote": "Ny fodnote..." }, "spellcheck": { "no-suggestion": "Ingen forslag...", "add-to-dictionary": "Føj til ordbog" }, "menu": { "edit-link": "Rediger link", "edit-tag": "Rediger tag", "label-edit-block": "Rediger denne blok", "label-delete-footref-and-note": "Slet fodnote og reference" }, "heading-suggestion": { "label-no-heading": "Ingen overskrift", "label-heading-level": "Overskrift {{level}}" }, "print-modal": { "title": "Eksportér til PDF", "caption": "Eksportér \"{{filename}}\" til PDF med nedenstående indstilling.", "setting-page-size": "Sidestørrelse", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Inkluder filnavn som titel", "setting-landscape": "Landskab", "setting-margin": "Margen", "setting-margin-default": "Standard", "setting-margin-minimal": "Minimal", "setting-margin-none": "Ingen", "setting-downscale-percent": "Nedskaleringsprocent", "button-export-to-pdf": "Eksportér til PDF" }, "link-popover": { "tooltip-follow-link": "Følg link", "tooltip-open-link": "Åbn link", "tooltip-search-tag": "Søg tag" } }, "interface": { "embed-cannot-find": "Kan ikke finde:", "label-unable-to-find-section": "Kunne ikke finde “{{subpath}}” i {{file}}", "embed-open-in-default-app-tooltip": "Åbn i standardapp", "empty-sidebar": "Sidebjælken er tom. Prøv at trække et panel derhen.", "sidebar-expand": "Udvid", "sidebar-collapse": "Skjul", "msg-fail-to-save-file": "Kunne ikke gemme filen \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Kunne ikke indlæse plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” løb ind i en fejl under indlæsning", "msg-failed-to-load-file": "Kunne ikke åbne “{{filepath}}”", "msg-failed-to-open-href": "Kan ikke åbne lokationen “{{href}}”", "no-file": "Ingen fil", "msg-file-changed": "\"{{file}}\" er blevet ændret eksternt, og ændringerne flettes automatisk.", "switch-vault": "Åbn en anden boks", "manage-vaults": "Håndtér bokse...", "help": "Hjælp", "settings": "Indstillinger", "drag-to-rearrange": "Træk for at omarrangere", "msg-switched-to-read": "Skiftede standardvisningstilstand til læsevisning.", "msg-switched-to-edit": "Skiftede standardvisningstilstand til editor.", "msg-upgrade-installer": "For at bruge denne funktion, geninstaller med den nyeste installationsfil fra vores hjemmeside.", "msg-slow-boot": "Langsom opstart er detekteret.", "msg-desktop-only-feature": "Denne funktion er kun tilgængelig i desktop versionen.", "tooltip-restore-default-settings": "Gendan standardindstillinger", "label-copy": "Kopiér til udklipsholder", "label-copy-short": "Kopiér", "copied_generic": "Kopieret til udklipsholderen", "copied": "{{item}} blev kopieret til udklipsholderen", "copy_failed": "Kunne ikke kopiere til udklipsholderen", "prompt-filter": "Filter...", "url": "URL", "msg-codeblock-render-error": "Stødte på en fejl under visning af en kodeblok.", "msg-open-file-through-uri": "Åbnede filen \"{{path}}\"", "msg-file-not-found-through-uri": "Filen \"{{name}}\" blev ikke fundet.", "delete-action-short-name": "Slet", "msg-indexing": "Obsidian indekserer din boks... \nDette bør kun ske én gang.\nNogle funktioner er muligvis ikke tilgængelige, før dette er fuldført.", "msg-indexing-desc": "Nogle funktioner er muligvis ikke tilgængelige, før dette er fuldført.", "msg-indexing-complete": "Indeksering fuldført.", "msg-sandbox-vault": "Dette er en sandkasseboks.\nÆndringer, du foretager i denne boks, går tabt.", "msg-indexed-db-not-supported": "Der kræves IndexedDB for denne feature, men den er deaktiveret i øjeblikket.", "msg-indexed-db-i-o-s": "Hvis du benytter iOS i Lockdown mode, så ekskluder Obsidian fra \"Configure Web Browsing\" indstillingerne under Lockdown Mode.", "label-enter-to-create": "Tryk Enter for at oprette", "label-update-available": "Opdatering Tilgængelig", "label-debug-info": "Fejlfindingsinfo", "button-learn-more": "Få mere at vide", "button-not-now": "Ikke nu", "button-add": "Tilføj", "button-manage": "Administrer", "label-new-tab": "Ny fane", "option-hide-ribbon": "Skjul båndmenu", "msg-tab-busy": "Denne fane er optaget i øjeblikket. Prøv venligst igen senere.", "formatting": { "label-formatting": "Formatering", "label-paragraph": "Afsnit", "label-insert": "Indsæt", "insert-link": "Tilføj link", "insert-external-link": "Tilføj eksternt link", "insert-callout": "Bemærkning", "insert-horizontal-rule": "Vandret streg", "insert-code-block": "Kodeblok", "insert-math-block": "Matematisk blok", "insert-table": "Tabel", "insert-footnote": "Fodnote", "toggle-bold": "Fed", "toggle-code": "Kode", "toggle-comments": "Kommentar", "toggle-highlight": "Fremhævet", "toggle-italics": "Kursiv", "toggle-strikethrough": "Gennemstreget", "toggle-math": "Matematik", "toggle-bullet-list": "Punktliste", "toggle-checklist": "Tjekliste", "toggle-numbered-list": "Nummereret liste", "set-heading": "Overskrift {{level}}", "no-heading": "Tekst", "clear": "Ryd formatering", "toggle-quote": "Citat" }, "empty-state": { "no-file-open": "Ingen fil er åben", "create-new-file": "Opret ny fil", "go-to-file": "Gå til fil", "see-recent-files": "Se seneste filer", "close": "Luk", "close-all": "Luk alle “{{id}}” faner ({{count}})", "unknown-pane-title": "Plugin er ikke længere aktivt", "unknown-pane-desc": "Pluginet, der oprettede dette panel ({{type}}), er forsvundet" }, "release-notes": { "tab-title": "Udgivelsesnoter {{version}}", "msg-missing-release-notes": "Der er ingen udgivelsesnoter for {{version}}.", "msg-failed-to-load": "Udgivelsesnoter kunne ikke hentes for {{version}}." }, "menu": { "edit-view": "Rediger (Ctrl/Cmd+Klik for at redigere i nyt panel)", "read-view": "Nuværende visning: læsning", "ribbon": "Båndmenu", "left-sidebar": "Venstre sidebjælke", "right-sidebar": "Højre sidebjælke", "switch-to-edit-view": "Klik for at redigere", "switch-to-read-view": "Klik for at læse", "mod-click-open-new-tab": "{{key}}+Klik for at åbne i ny fane", "find": "Find...", "replace": "Erstat...", "edit": "Rediger", "remove": "Fjern", "rename": "Omdøb", "preview": "Forhåndsvis", "more-options": "Flere muligheder", "close": "Luk", "close-all": "Luk alle", "close-tabs-with-count": "Luk {{count}} fane", "close-tabs-with-count_plural": "Luk {{count}} faner", "close-others": "Luk andre", "close-after": "Luk faner efter", "pin": "Fastgør", "unpin": "Frigør", "unlink-tab": "Fjern link til fane", "link-tab": "Link med fane...", "toggle-source-mode": "Kildetilstand", "toggle-reading-view": "Læsevisning", "add-property": "Tilføj filegenskab", "delete-file": "Slet fil", "create-file": "Opret denne fil", "open-link": "Åbn link", "open-in-new-tab": "Åbn i ny fane", "open-to-the-right": "Åbn til højre", "copy-url": "Kopiér URL", "copy": "Kopiér", "cut": "Klip", "paste": "Indsæt", "paste-as-plain-text": "Indsæt som almindelig tekst", "lookup-selection": "Slå “{{selection}}” op", "select-all": "Vælg alt", "rename-heading": "Omdøb denne overskrift...", "rename-blockid": "Omdøb dette blok-ID...", "open-in-new-window": "Åbn i nyt vindue", "move-to-new-window": "Flyt til nyt vindue", "open-in-browser": "Åbn i browser", "stack-tabs": "Gruppér faner", "unstack-tabs": "Afgruppér faner", "open-linked-view": "Åbn linket visning" }, "tooltip": { "click-to-expand": "Klik for at udvide", "click-to-collapse": "Klik for at skjule", "alias": "Alias", "not-created-yet": "Ikke oprettet endnu; vælg for at oprette" }, "start-screen": { "label-version": "Version", "label-create-local-vault": "Opret lokal boks", "option-open-folder-as-vault": "Åbn mappe som boks", "option-open-folder-as-vault-description": "Vælg en eksisterende mappe med Markdown-filer.", "option-create-vault": "Opret ny boks", "option-create-vault-description": "Opret en ny Obsidian-boks under en mappe.", "option-connect-obsidian-sync": "Forbind til Obsidian Sync", "option-connect-obsidian-sync-description": "Opsæt en synkroniseret boks med en eksisterende ekstern boks.", "option-new-vault-name": "Navn på boks", "option-new-vault-name-description": "Angiv et navn til din lokale boks.", "option-new-vault-location": "Placering", "option-new-vault-location-description": "Angiv en placering til din nye boks.", "label-new-vault-location-preview": "Din boks placeres i: ", "option-reveal-vault-in-explorer": "Vis boks i systemets stifinder", "option-reveal-vault-in-explorer-mac": "Vis boks i Finder", "option-rename-vault": "Omdøb boks...", "option-copy-vault-i-d": "Kopiér boks-ID", "msg-error-rename-exists": "Der er allerede en boks med dette navn.", "msg-error-nested": "Kan ikke flytte boks til en undermappe af sig selv.", "msg-error-rename-open": "Kan ikke omdøbe en åben boks.", "msg-rename-failed": "Kunne ikke omdøbe boks.", "msg-rename-success": "Boksen blev omdøbt.", "option-move-vault": "Flyt boks...", "msg-move-select-dest": "Vælg destinationsmappe", "msg-error-move-exists": "Der er allerede en boks med dette navn i mappen.", "msg-error-move-open": "Kan ikke flytte en åben boks.", "msg-move-failed": "Kunne ikke flytte boks.", "msg-move-success": "Boksen blev flyttet.", "option-remove": "Fjern fra liste", "button-quick-start": "Hurtig start", "button-open": "Åbn", "button-browse": "Gennemse", "button-connect": "Forbind", "button-create-vault": "Opret", "button-back": "Tilbage", "msg-empty-vault-name": "Navnet på boksen må ikke være tom.", "msg-trailing-dot-vault-name": "Boksnavnet kan ikke slutte med et punktum.", "msg-invalid-folder": "Vælg venligst en gyldig mappe.", "msg-failed-to-create-vault": "Kunne ikke oprette boks.", "msg-failed-to-create-vault-at-location": "Kunne ikke oprette boks i den givne placering. Dobbelttjek venligst placering og tilladelse.", "msg-error-failed-to-open-vault": "Kunne ikke åbne boksen.", "msg-error-remove-current-open-vault": "Kan ikke fjerne en åben boks.", "option-get-help": "Få Hjælp", "option-user-email": "E-mail", "placeholder-your-email": "Din e-mail...", "option-user-password": "Adgangskode", "placeholder-your-password": "Din adgangskode...", "button-sign-in": "Log ind", "button-setup": "Opsætning", "option-connect-vault-desc": "Opret en synkroniseret boks på denne enhed.", "tooltip-own-vault": "Dette er en ekstern boks, du ejer.", "tooltip-shared-vault": "Dette er en ekstern boks, som deles med dig.", "mobile": { "label-start-screen": "Dine tanker er dine.", "label-synced": "synkroniseret", "label-not-synced": "ikke synkroniseret", "label-none": "Ingen", "label-recommended": "Anbefalet", "label-start-screen-desc": "Obsidian gemmer noter på din enhed, så du kan tilgå den hurtigt og privat, endda offline.\nDine data er gemt i en sikker lokal mappe kaldet en **boks**.", "option-create": "Opret en boks", "option-use-existing": "Benyt min eksisterende boks", "label-sync-intro": "For at tilgå dine noter på andre enheder skal du benytte og opsætte Obsidian Sync.", "label-sync-intro-desc": "Fordi Obsidian gemmer dine noter på din enhed, skal du benytte Obsidian Sync. hvis du vi lkunne tilgå dine noter på en anden mobil, tablet eller computer.\nDu kan opsætte Sync nu, eller gøre det senere.", "option-setup-sync": "Opsæt Sync", "option-skip": "Spring over for nu", "option-skip-short": "Spring over", "label-vault-create": "Vælg et navn til din boks.", "button-create": "Opret boks", "label-sync-setup": "Sync opsætning", "label-sync-setup-desc": "Opret en synkroniseret boks på din Obsidian konto, så du har adgang til dine data på andre enheder.", "label-remote-vault-create": "Sync kryptering", "option-encryption-custom": "Slut-til-slut kryptering", "option-encryption-custom-desc": "Tilbyder den stærkeste sikkerhed, men kræver at du gemmer dit kordord sikkert", "option-encryption-managed": "Standard kryptering", "option-encryption-managed-desc": "Anvender en nøgle, som er administreret af Obsidian for at sikre dine data i transit til vores servere.", "label-sync-settings": "Sync indstillinger", "label-sync-settings-desc": "Vil du udelukke nogle mapper eller filer, når du synkroniserer til denne enhed?", "button-start": "Start synkronisering", "label-sign-in-or-sign-up": "Opret en Obsidian konto eller logind", "option-sign-up": "Log ind", "option-sign-in": "Opret konto", "button-resend-email": "Gensend email", "label-remote-vault-options": "Du har eksisterende bokse, som er synkroniseret", "label-remote-vault-options-desc": "Vil du oprette en ny boks eller forbinde til en eksisterende synkroniseret boks?", "option-remote-create": "Opret ny synkroniseret boks", "option-remote-choose": "Vælg en eksisterende boks", "button-logout": "Log ud", "button-forgot-password": "Har glemt kodeord", "label-vault-name": "Boks navn", "label-vault-location": "Boks placering", "label-vault-location-desc": "Din nye boks bliver placeret her: {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Vælg den server region, som ligger tættest på dig, for hurtigere synkronisering.", "label-encryption-key": "Krypteringsnøgle", "label-encryption-key-help": "Dette kodeord kan ikke ændres senere. Hvis du glemmer dit kodeord, vil al data på en synkroniseret fjernserver være utilgængelig for altid.", "placeholder-vault-name": "Ny boks", "opt-region-selection-automatic": "Automatisk", "label-remote-vault-selection": "Vælg en boks", "label-remote-vault-selection-desc": "Din konto **{{email}}** har eksisterende bokse, som du kan forbinde til.", "label-sign-in": "Log ind på din Obsidian konto", "label-forgot-password": "Glemt kodeord", "button-reset-password": "Nulstil kodeord", "msg-password-reset": "Vi har sendt en email til {{email}}, så du kan nulstille dit kodeord.", "label-sync-method-selection": "Vælg hvordan du vil synkronisere dine noter", "label-sync-method-selection-desc": "For at benytte Obsidian på dine enheder, er du nødt til at synkronisere dine data.", "label-sync-pro1": "Problemfrit mellem enhver enhed og ethvert operativsystem.", "label-sync-pro2": "Sikret med den stærkeste slut-til-slut krypteringsstandard.", "label-sync-pro3": "Kræver en Obsidian konto.", "label-icloud-con1": "Kun for iOS og macOS.", "label-icloud-con2": "Som udgangspunk ikke krypteret.", "label-third-party-desc1": "Kræver tredjepartsplugins eller værktøjer.", "label-third-party-desc2": "Er muligvis ikke krypteret som standard.", "opt-use-obsidian-sync": "Benyt Obsidian Sync", "opt-use-icloud": "Benyt iCloud", "opt-use-other": "Benyt tredjepartssynkronisering", "opt-learn-other-sync": "Andre synkroniseringsmetoder", "opt-use-supported": "Benyt supporterede synkroniseringsmetoder", "label-sync-restore": "Hvor er din boks placeret?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "andre", "label-other-sync": "Tredjepartssynkronisering", "label-local-folder": "På denne enhed", "option-connect-icloud": "Forbind til iCloud", "option-connect-other": "Forbind til andre synkroniseringsservices", "option-connect-sync": "Forbind til Obsidian Sync", "option-connect-local-folder": "Valg mappe", "label-sync-other": "Andre synkroniseringsmetoder", "label-sync-other-desc": "Obsidian supporterer officielt to synkroniseringsmetoder: **Obsidian Sync** og **iCloud**.\nMen da Obsidian giver dig fuld kontrol over dine data er der andre synkroniseringsmetoder du kan anvende.\nDisse muligheder inkluderer tredjeparts plugins eller andre værktøjer, som kræver mere avanceret opsætning.\nFor at anvende en alternativ synkroniseringsmetode, så **opret en boks** og følg instruktionerne, der følger med det valgte tredjeparts plugin eller værktøj.", "label-email-entry": "Angiv din email", "label-email-entry-desc": "Din email er nødvendig for at kunne oprette en Obsidian konto.", "label-signup": "Angiv dit navn og et kodeord", "email-verification": "Forbind til Obsidian Sync", "email-verification-desc": "Du bør modtage en email indenfor kort tid på mailkonto **{{email}}** med instruktioner om, hvordan du forbinder til Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Din iCloud boks kunne ikke findes. Du kan skyldes en af følgende grunde:", "icloud-missing-reason1": "Din boks ligger på en anden iCloud konto end den, som du for nuværende er logget ind på, på denne enhed.", "icloud-missing-reason2": "Din boks er ikke placeret direkte under Obsidian mappen på dit iCloud drev.", "i-cloud-unsupported": "iCloud er ikke understøttet", "i-cloud-unsupported-desc": "iCloud synkronisering er kun tilgængelig på Apple enheder. Hvis din boks for nuværende synkroniseres via iCloud, kan du lære hvordan du migrerer din boks til andre synkroniseringsmetoder.", "allow-file-access": "Tillad filadgang", "msg-login-pending": "Logger dig ind...", "msg-name-required": "Der kræves et boksnavn", "msg-new-email-success": "En ny bekræftelsesemail er sendt.", "msg-new-email-failure": "Kunne ikke gensende email.", "msg-invalid-vault": "Boksplaceringen skal være en mappe." } }, "starter-content": { "welcome-filename": "Velkommen", "welcome-file-content": "Dette er din nye *boks*.\n\nNotér noget, [[opret et link]], eller prøv [Importer] (https://help.obsidian.md/Plugins/Importer)!\n\nNår du er klar, så slet denne note og gør boksen til din egen." }, "drag-and-drop": { "insert-link-here": "Indsæt link her", "insert-links-here": "Indsæt links her", "move-into-folder": "Flyt til \"{{folder}}\"", "star-this-file": "Stjernemarkér denne fil", "star-these-files": "Stjernemarkér disse filer", "open-in-this-tab": "Åbn i denne fane", "open-as-tab": "Åbn som ny fane" }, "window": { "maximize": "Maksimer", "minimize": "Minimer", "restore-down": "Gendan ned", "close-window": "Luk vindue", "go-back": "Gå tilbage", "go-forward": "Gå frem" }, "start-up": { "loading-obsidian": "Indlæser Obsidian...", "obsidian-load-error": "En fejl opstod under indlæsning af Obsidian.", "button-reload-app": "Genindlæs appen", "button-reload-app-in-safe-mode": "Genindlæs appen i sikker tilstand", "button-open-another-vault": "Åbn en anden boks", "loading-plugins": "Indlæser plugins...", "msg-plugin-hang": "Plugin “{{plugin}}” er for længe op at blive indlæst. ", "loading-vault": "Indlæser boks...", "msg-failed-to-load-vault": "Kunne ikke indlæse boks: ", "loading-cache": "Indlæser cache...", "loading-workspace": "Indlæser arbejdsområde..." }, "mobile": { "action-import": "Importér til boks", "action-insert-text-desc": "Føj tekst til filen:", "action-choose-file-to-insert": "Vælg en fil at indsætte", "action-insert-text-into-file": "Indsæt tekst i {{filename}}", "action-insert-link-into-file": "Indsæt link i {{filename}}", "action-show-switcher": "Vis fane overblik", "msg-importing": "Importerer...", "msg-import-success": "Vellykket import", "msg-failed-to-import-file": "Kunne ikke importere filen {{filename}}", "msg-back-again-to-exit": "Tryk tilbage igen for at afslutte.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Nyder du Obsidian? Hjælp os ved at give den en bedømmelse.", "action-rate": "Bedøm Obsidian", "action-dismiss": "Afvis" } }, "help-screen": { "label-official-help-site": "Officiel hjælpeside", "label-official-help-site-desc": "Læs Obsidians officielle hjælpedokumentation, tilgængelig på flere sprog.", "action-visit": "Besøg", "label-discord-chat": "Discord-chat", "label-discord-chat-desc": "Discord er det bedste sted at chatte med andre erfarne Obsidian-brugere fra hele verden.", "action-join": "Deltag", "label-forum": "Officielt forum", "label-forum-desc": "Hjælp hinanden, indsend funktionsanmodninger, rapporter fejl, og deltag i dybdegående diskussioner om vidensstyring.", "label-sandbox-vault": "Sandkasseboks", "label-sandbox-vault-desc": "Prøv dig frem og eksperimentér med forskellige funktioner. Bemærk, at dine ændringer ikke gemmes." } }, "commands": { "save-file": "Gem nuværende fil", "download-attachments": "Hent vedhæftninger for nuværende fil", "follow-cursor-link": "Følg link under markør", "open-cursor-link-in-new-tab": "Åbn link under markør i ny fane", "open-cursor-link-to-the-right": "Åbn link under markør til højre", "open-cursor-link-in-new-window": "Åbn link under markør i nyt vindue", "navigate-tab-above": "Fokuser på fanegruppen ovenfor", "navigate-tab-below": "Fokuser på fanegruppen nedenfor", "navigate-tab-left": "Fokuser på fanegruppen til venstre", "navigate-tab-right": "Fokuser på fanegruppen til højre", "toggle-pin": "Fastgør/Frigør", "split-right": "Del til højre", "split-down": "Del nedad", "toggle-stacked-tabs": "Slå fanegrupper til/fra", "navigate-back": "Naviger tilbage", "navigate-forward": "Naviger frem", "use-dark-mode": "Brug mørk tilstand", "use-light-mode": "Brug lys tilstand", "change-theme": "Skift tema", "search-current-file": "Søg i nuværende fil", "search-replace-current-file": "Søg & erstat i nuværende fil", "add-property": "Tilføj filegenskab", "label-sort-property-a-to-z": "Navn (A til Å)", "label-sort-property-z-to-a": "Navn (Å to A)", "add-alias": "Tilføj alias", "clear-properties": "Ryd filegenskaber", "open-settings": "Åbn indstillinger", "open-help": "Åbn hjælp", "toggle-edit": "Skift mellem redigerings- og læsevisning", "toggle-source-mode": "Skift mellem forhåndsvisning og kildetilstand", "delete-current-file": "Slet nuværende fil", "new-tab": "Ny fane", "show-trash": "Vis papirkurv", "close-all-tabs": "Luk alle faner", "close-active-tab": "Luk nuværende fane", "close-others-in-tab-group": "Luk andre i fanegruppen", "close-other-tabs": "Luk alle andre faner", "close-tab-group": "Luk denne fanegruppe", "toggle-left-sidebar": "Slå venstre sidebjælke til/fra", "toggle-ribbon": "Skift båndmenu", "toggle-right-sidebar": "Slå højre sidebjælke til/fra", "toggle-default-new-tab-mode": "Skift standardtilstand for nye faner", "add-cursor-above": "Tilføj markør ovenfor", "add-cursor-below": "Tilføj markør nedenfor", "focus-editor": "Fokuser på editor", "toggle-fold-properties": "Skift mellem foldningsegenskaber i nuværende fil", "toggle-fold": "Slå foldning på den aktuelle linje til/fra", "fold-all": "Sammenfold alle overskrifter og lister", "unfold-all": "Udfold alle overskrifter og lister", "fold-more": "Fold mere", "fold-less": "Fold mindre", "swap-line-up": "Byt linje op", "swap-line-down": "Byt linje ned", "remove-heading": "Fjern overskrift", "toggle-heading": "Sæt som overskrift {{level}}", "toggle-bold": "Skift til fed skrift for markering", "toggle-italics": "Skift til kursiv skrift for markering", "toggle-highlight": "Skift til fremhævning for markering", "toggle-comments": "Skift til kommentar for markering", "clear-formatting": "Ryd formatering", "insert-link": "Indsæt link", "toggle-spellcheck": "Slå stavekontrol til/fra", "delete-paragraph": "Slet afsnit", "toggle-checklist": "Skift status for tjekliste", "cycle-list-checklist": "Skift mellem punkter/afkrydsningsfelter", "insert-callout": "Indsæt bemærkning", "insert-code-block": "Indsæt kodeblok", "insert-math-block": "Indsæt matematisk blok", "insert-horizontal-rule": "Indsæt vandret streg", "insert-table": "Indsæt tabel", "insert-footnote": "Indsæt fodnote", "edit-file-title": "Rediger filtitel", "copy-path": "Kopiér filsti", "copy-url": "Kopiér Obsidian-URL", "export-pdf": "Eksportér til PDF", "reload": "Genindlæs app uden at gemme", "undo-close-tab": "Fortryd lukket fane", "context-menu": "Vis kontekstmenu under markøren", "show-debug-info": "Vis fejlfindingsinfo", "open-sandbox-vault": "Åbn sandkasseboks", "always-on-top": "Skift vindue til altid at være øverst", "zoom-in": "Zoom ind", "zoom-out": "Zoom ud", "reset-zoom": "Nulstil zoom", "toggle-preview": "Skift mellem redigerings- og forhåndsvisningstilstand", "move-to-new-window": "Flyt nuværende panel til nyt vindue", "open-in-new-window": "Åbn nuværende panel i nyt vindue", "rename-current-file": "Omdøb nuværende fil", "go-to-prev-tab": "Gå til forrige fane", "go-to-next-tab": "Gå til næste fane", "go-to-last-tab": "Gå til sidste fane", "go-to-nth-tab": "Gå til fane #{{n}}", "show-release-notes": "Vis udgivelsesnoter" }, "dialogue": { "label-link-affected": "Dette vil påvirke {{links}} i {{files}}.", "msg-updated-links": "Opdaterede {{links}} i {{files}}.", "label-update-links": "Opdater links", "label-confirm-update-link-to-file": "Vil du opdatere interne links, der fører til denne fil?", "button-always-update": "Opdater altid", "button-just-once": "Kun én gang", "button-do-not-update": "Opdater ikke", "label-confirm-deletion": "Er du sikker på, at du vil slette \"{{filename}}\"?", "label-move-to-system-trash": "Den flyttes til systemets papirkurv.", "label-move-to-vault-trash": "Den flyttes til din Obsidian-papirkurv, som ligger i den skjulte mappe \".trash\" i din boks.", "label-permanent-delete": "Filen slettes permanent.", "label-non-empty-folder": "Denne mappe er ikke tom.", "label-delete-folder-warning": "Hvis du fortsætter, slettes alle filer i denne mappe.", "label-delete-folder": "Slet mappe", "button-delete": "Slet", "button-delete-do-not-ask-again": "Slet, og spørg ikke igen", "label-do-not-ask-again": "Spørg ikke igen", "label-existing-backlink": "Der er i øjeblikket {{count}} link, der peger på denne note.", "label-existing-backlink_plural": "Der er i øjeblikket {{count}} links, der peger på denne note.", "label-delete-file": "Slet fil", "label-download-attachments": "Hent vedhæftninger", "label-no-attachments": "Der er ingen eksterne vedhæftninger i denne note.", "label-downloaded-attachments": "Har hentet {{count}} vedhæftning.", "label-downloaded-attachments_plural": "Har hentet {{count}} vedhæftninger.", "msg-files-updated": "Opdaterede {{count}} fil.", "msg-files-updated_plural": "Opdaterede {{count}} filer.", "msg-files-reverted": "Fjernede ændringerne i {{count}} fil.", "msg-files-reverted_plural": "Fjernede ændringerne i {{count}} filer.", "button-manage": "Administrer", "button-view": "Vis", "button-confirm": "Bekræft", "button-cancel": "Annuller", "button-download": "Hent", "button-done": "Færdig", "button-save": "Gem", "button-stop": "Stop", "button-continue": "Fortsæt", "button-choose": "Vælg", "button-retry": "Prøv igen", "button-update": "Opdater", "button-undo": "Fortryd", "preparing-pdf": "Klargører PDF...", "label-rename-file": "Omdøb fil", "label-rename-file-generic": "Filnavn", "label-new-name": "Nyt navn", "msg-rename-success": "Filen blev omdøbt.", "msg-merge-failed": "Kunne ikke flette noter: {{message}}", "msg-file-or-folder-not-found": "Filen eller mappen “{{path}}” findes ikke.", "msg-heading-empty": "Overskrift kan ikke være tom", "msg-block-id-empty": "Blok ID kan ikke være tom", "msg-block-id-invalid": "Blok ID kan kun indeholde alfanummeriske tegn eller bindestreg", "label-rename-heading": "Omdøb overskrift", "label-rename-blockid": "Omdøb blok-ID" }, "menu-items": { "new-file": "Opret note", "new-file-to-the-right": "Ny note til højre", "new-window": "Nyt vindue", "open-switcher": "Åbn Hurtig...", "open-vault": "Åbn boks...", "close-tab": "Luk fane", "close-window": "Luk vindue", "find": "Find", "replace": "Erstat", "insert-callout": "Bemærkning", "insert-markdown-link": "Markdown-link", "insert-wikilink": "Link", "set-heading": "Overskrift {{level}}", "no-heading": "Ingen overskrift", "insert-quote": "Citat", "export-pdf": "Eksportér PDF", "insert-attachment": "Indsæt vedhæftning...", "insert-codeblock": "Kodeblok", "insert-math-block": "Matematisk blok", "insert-table": "Tabel", "insert-footnote": "Fodnote", "toggle-bullet-list": "Punktliste", "toggle-numbered-list": "Nummereret liste", "toggle-checklist": "Tjekliste", "toggle-bold": "Fed", "toggle-code": "Kode", "toggle-comment": "Kommentar", "toggle-italics": "Kursiv", "toggle-inline-math": "Matematik", "toggle-highlight": "Fremhæv", "toggle-strikethrough": "Gennemstreget", "toggle-comments": "Kommentar", "folding-menu": "Foldning", "fold-all": "Sammenfold alle", "unfold-all": "Udfold alle", "fold-more": "Fold mere", "fold-less": "Fold mindre", "source-mode": "Kildetilstand", "reading-view": "Læsevisning", "show-debug-info": "Vis fejlfindingsinfo", "open-sandbox": "Åbn sandkasseboks", "navigate-back": "Naviger tilbage", "navigate-forward": "Naviger frem", "toggle-left-sidebar": "Slå venstre sidebjælke til/fra", "toggle-right-sidebar": "Slå højre sidebjælke til/fra", "toggle-ribbon": "Båndmenu", "split-right": "Del til højre", "split-down": "Del nedad", "release-notes": "Udgivelsesnoter" }, "plugins": { "name": "Plugins", "file-explorer": { "name": "Stifinder", "desc": "Se alle filerne i din boks.", "action-open": "Åbn stifinder", "action-show": "Vis stifinder", "action-create-note": "Opret ny note", "action-create-folder": "Opret ny mappe", "action-create-note-in-current-tab": "Opret ny note i nuværende fane", "action-create-note-to-the-right": "opret note til højre", "action-auto-reveal": "Auto-vis nuværende fil", "action-collapse-all": "Skjul alle", "action-expand-all": "Udvid alle", "action-new-note": "Ny note", "action-new-folder": "Ny mappe", "action-change-sort": "Skift sorteringsrækkefølge", "action-reveal-file": "Vis fil i stifinder", "action-reveal-active-file": "Vis aktiv fil i stifinder", "command-make-a-copy": "Opret en kopi af den nuværende fil", "command-make-a-copy-mac": "Dupliker den aktuelle fil", "command-move-file": "Flyt fil til en anden mappe", "action-new-folder-with-count": "Ny mappe med ({{count}}) valgt element", "action-new-folder-with-count_plural": "Ny mappe med ({{count}} valgte elementer)", "action-move-file": "Flyt fil til...", "action-move-folder": "Flyt mappe til...", "action-move-items": "Flyt {{count}} elementer til...", "prompt-type-folder": "Indtast et mappenavn", "label-no-folders": "Ingen mapper fundet.", "instruction-navigate": "for at navigere", "instruction-move": "for at flytte", "instruction-create": "for at oprette", "instruction-dismiss": "for at afvise", "label-sort-a-to-z": "Filnavn (A til Å)", "label-sort-z-to-a": "Filnavn (Å to A)", "label-sort-new-to-old": "Sidst redigeret (ny til gammel)", "label-sort-old-to-new": "Sidst redigeret (gammel til ny)", "label-sort-created-old-to-new": "Oprettelsestidspunkt (gammel til ny)", "label-sort-created-new-to-old": "Oprettelsestidspunkt (ny til gammel)", "menu-opt-new-note": "Ny note", "menu-opt-new-folder": "Ny mappe", "menu-opt-rename": "Omdøb", "menu-opt-delete": "Slet", "menu-opt-make-copy": "Opret en kopi", "menu-opt-make-copy-mac": "Dupliker", "msg-invalid-characters": "Filnavn må ikke indeholde nogen af følgende tegn: ", "msg-unsafe-characters": "Links fungerer ikke med filnavne, der indeholder nogen af disse tegn: ", "msg-file-already-exists": "Der findes allerede en fil med dette navn", "msg-empty-file-name": "Filnavn må ikke være tomt.", "msg-bad-dotfile": "Filnavn må ikke starte med punktum.", "tooltip-modified-time": "Sidst modificeret {{time}}", "tooltip-created-time": "Oprettet {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Unavngivet", "label-untitled-folder": "Unavngivet", "msg-set-attachment-folder": "Vedhæftninger gemmes fremover i \"{{path}}\"." }, "search": { "name": "Søg", "desc": "Søg efter nøgleord i alle noter.", "action-open-search": "Søg i alle filer", "label-collapse-results": "Skjul resultater", "label-match-case": "Match store og små bogstaver", "label-explain-search-term": "Forklar søgeord", "label-more-context": "Vis mere kontekst", "label-result-count": "{{count}} resultat", "label-result-count_plural": "{{count}} resultater", "label-result-max": "{{count}}+ resultater", "label-toggle-search-settings": "Søgeindstillinger", "prompt-start-search": "Skriv for at starte søgning...", "label-match-text": "Matcher tekst: ", "label-match-regex": "Matcher regex: ", "label-match-exact-text": "Indeholder nøjagtig tekst: ", "label-match-greater-than": "Større end: ", "label-match-less-than": "Mindre end: ", "label-match-true": "Matcher", "label-match-false": "Matcher ikke", "label-match-empty": "Er tom", "label-match-property": "Indeholder egenskab:", "label-match-all": "Matcher alle: ", "label-match-any": "Matcher enhver: ", "label-excluding": "Ekskluder: ", "label-case-sensitive": "Forskel på store og små bogstaver", "label-case-insensitive": "Ikke forskel på store og små bogstaver", "label-match-file-path": "Matcher filsti: ", "label-match-file-name": "Matcher filnavn: ", "label-match-content": "Matcher filindhold: ", "label-match-task": "Matcher opgave: ", "label-match-task-todo": "Matcher opgave (skal gøres): ", "label-match-task-done": "Matcher opgave (færdig): ", "label-match-line": "Matcher linje: ", "label-match-block": "Matcher blok: ", "label-match-section": "Matcher sektion: ", "label-match-tag": "Matcher tag: ", "label-no-matches": "Ingen matcher fundet.", "matches-with-count": "... og {{count}} mere match.", "matches-with-count_plural": "... og {{count}} flere matcher.", "label-copy-search-results": "Kopiér søgeresultater", "button-copy-results": "Kopiér resultater", "msg-successfully-copied": "Resultater kopieret til udklipsholderen.", "option-show-path": "Vis sti", "option-show-path-description": "Vis hele filstien i stedet for kun filnavn.", "option-link-style": "Linkstil", "option-link-style-description": "Eventuelt kan du gøre hvert filresultat til et link.", "option-choice-link-style-none": "Ingen", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Markdown-link", "option-list-prefix": "Listepræfiks", "option-list-prefix-description": "Eventuelt kan du føje en listepræfiks til hvert filresultat.", "option-choice-list-style-none": "Ingen", "option-choice-list-style-dash": "Bindestreg (-)", "option-choice-list-style-asterisk": "Stjerne (*)", "option-choice-list-style-numbered": "Nummereret", "tooltip-clear-search": "Ryd søgning", "label-search-options": "Søgemuligheder", "label-properties-group": "Egenskaber", "label-tags-group": "Tags", "tooltip-read-more": "Læs mere", "label-history": "Historik", "tooltip-clear-history": "Ryd søgehistorik", "label-path-option-description": "match filens sti", "label-file-name-option-description": "match filnavn", "label-tag-option-description": "søg efter tags", "label-line-option-description": "søg nøgleord på samme linje", "label-section-option-description": "søg nøgleord under samme overskrift", "label-property-option-description": "match egenskab", "menu-opt-search-for": "Søg efter \"{{keyword}}\"", "menu-opt-search-in-folder": "Søg i mappe" }, "quick-switcher": { "name": "Hurtig Skifter", "desc": "Spring til enhver fil uden at forlade tastaturet. Ctrl/Cmd+O for at aktivere.", "short-name": "Skifter", "action-open": "Åbn hurtig skifter", "instruction-navigate": "for at navigere", "instruction-open": "for at åbne", "instruction-open-in-new-tab": "for at åbne i ny fane", "instruction-open-to-the-right": "for at åbne til højre", "instruction-create": "for at oprette", "instruction-dismiss": "for at afvise", "instruction-select": "for at vælge", "label-no-note-create-new": "Ingen noter fundet. Tryk Enter for at oprette en ny.", "prompt-type-file-name": "Indtast filnavn for at skifte til eller oprette...", "label-enter-to-create": "Tryk Enter for at oprette", "tooltip-not-created-yet": "Ikke oprettet endnu. Vælg for at oprette", "option-show-existing-only": "Vis kun eksisterende", "option-show-existing-only-description": "Vis links til filer, der endnu ikke er oprettet.", "option-show-attachments": "Vis vedhæftninger", "option-show-attachments-desc": "Vis vedhæftede filer som billeder, videoer og PDF'er.", "option-show-all-file-types": "Vis alle filtyper", "option-show-all-file-types-desc": "Vis alle filtyper, også dem Obsidian ikke kan åbne. Filen åbnes med standardappen for den pågældende filtype." }, "graph-view": { "name": "Grafvisning", "desc": "Se en grafoversigt over, hvilke noter der linker til hvilke.", "action-open": "Åbn grafvisning", "action-open-local": "Åbn lokal graf", "action-copy-screenshot": "Kopiér skærmbillede", "tab-title": "Graf over {{displayText}}", "label-filters": "Filtre", "prompt-filter-nodes": "Søg filer...", "option-depth": "Dybde", "option-depth-description": "Vis noder dette antal links væk", "option-neighbor-links": "Nabolinks", "option-neighbor-links-description": "Vis links mellem naboer.", "option-forelinks": "Udgående links", "option-forelinks-description": "Vis links til andre filer", "option-backlinks": "Indgående links", "option-backlinks-description": "Vis links fra andre filer", "option-show-tags": "Tags", "option-show-tags-description": "Tags er linket til filerne, der indeholder dem", "option-show-attachments": "Vedhæftninger", "option-show-attachments-description": "Vis vedhæftninger inkluderet af filer", "option-show-existing-files-only": "Kun eksisterende filer", "option-show-existing-files-only-description": "Når markeret, vises links til ikke-eksisterende filer ikke", "option-show-orphans": "Forældreløse", "option-show-orphans-description": "Vis filer, der ikke er linket til nogen anden fil", "label-display": "Visning", "option-show-arrows": "Pile", "option-show-arrows-description": "Vis pile, når der zoomes ind", "option-text-fade": "Tærskel for tekstudtoning", "option-node-size": "Nodestørrelse", "option-link-thickness": "Linktykkelse", "label-forces": "Kræfter", "option-center-force": "Centerkraft", "option-link-force": "Linkkraft", "option-link-distance": "Linkafstand", "option-repel-force": "Frastødningskraft", "tooltip-open-graph-settings": "Åbn grafindstillinger", "msg-screenshot-copied": "Skærmbillede kopieret til udklipsholderen.", "label-groups": "Grupper", "placeholder-enter-query": "Indtast forespørgsel...", "tooltip-delete-graph": "Slet gruppe", "button-new-group": "Ny gruppe", "tooltip-click-to-change-drag-to-reorder": "Klik for at ændre farve\nTræk for at omarrangere grupper", "action-timelapse": "Start grafens timelapse-animation", "tooltip-start-timelapse-animation": "Start timelapse-animation", "button-animate-timelapse": "Animer" }, "backlinks": { "name": "Tilbagelinks", "desc": "Vis antallet af tilbage i statuslinjen.", "action-open": "Åbn tilbagelinks", "action-show": "Vis tilbagelinkspanel", "action-open-for-current": "Åbn tilbagelinks for nuværende fil", "action-toggle-backlinks-in-document": "Vis/skjul tilbagelinks", "menu-opt-backlinks-in-document": "Tilbagelinks i dokument", "label-linked-mentions": "Linkede omtaler", "label-no-backlinks": "Ingen tilbagelinks fundet.", "label-unlinked-mentions": "Ikke-linkede omtaler", "label-show-search": "Vis søgefilter", "label-link-button-text": "Link", "tab-title": "Tilbagelinks for {{displayText}}", "label-no-unlinked-mentions": "Ingen ikke-linkede omtaler fundet.", "ellipsis": "...", "option-backlink-in-document": "Backlink i dokument", "option-backlink-in-document-desc": "Vis tilbagelinks i dokumentet som standard, når nye paneler åbnes." }, "outgoing-links": { "name": "Udgående Links", "desc": "Vis udgående links og find ikke-linkede omtaler fra andre noter i den aktuelle note.", "action-open": "Åbn udgående links", "action-show": "Vis udgående links-panel", "action-open-for-current": "Åbn udgående links for nuværende fil", "tab-title": "Udgående links fra {{displayText}}", "label-links": "Links", "label-no-links": "Ingen links fundet.", "label-unlinked-mentions": "Ikke-linkede omtaler", "tooltip-link-file": "Link denne fil", "tooltip-not-created": "Ikke oprettet endnu" }, "tag-pane": { "name": "Tagspanel", "short-name": "Tags", "desc": "Viser alle dine tags samt antallet af forekomster.", "action-show": "Vis tagspanel", "label-no-tags": "Ingen tags fundet.", "label-sort-by-name-a-to-z": "Tagnavn (A to Å)", "label-sort-by-name-z-to-a": "Tagnavn (Å to A)", "label-sort-by-frequency-high-to-low": "Frekvens (høj til lav)", "label-sort-by-frequency-low-to-high": "Frekvens (lav til høj)", "action-show-nested-tags": "Vis indlejrede tags", "action-collapse-all": "Sammenfold alle", "action-expand-all": "Udfold alle" }, "footnotes-pane": { "name": "Fodnotevisning", "short-name": "Fodnoter", "desc": "Viser en liste af fodnoter for den nuværende note.", "action-show": "Vis fodnoter", "label-no-footnotes": "Ingen fodnoter fundet." }, "properties": { "name": "Egenskaber", "desc": "Vis metadata for dine filer.", "name-global": "Alle egenskaber", "name-local": "Filegenskaber", "tab-title": "Filegenskaber for {{displayText}}", "action-show": "Vis alle egenskaber", "action-show-local": "Vis filegenskaber", "opt-unassign-type": "Fjern tildeling af type", "label-no-properties": "Ingen egenskaber fundet.", "label-invalid-properties": "Ugyldige egenskaber.", "label-sort-by-name-a-to-z": "Egenskabsnavn (A to Z)", "label-sort-by-name-z-to-a": "Egenskabsnavn (Z to A)", "label-sort-by-frequency-high-to-low": "Frekvens (høj til lav)", "label-sort-by-frequency-low-to-high": "Frekvens (lav til høj)", "msg-merge-properties-warning": "Flet egenskaben “{{oldKey}}” med “{{newKey}}”?", "msg-merge-properties-warning-desc": "I tilfælde af konflikter flettes værdierne eller værdien fra “{{oldKey}}” bruges.", "action-collapse-all": "Sammenfold alle", "action-expand-all": "Udfold alle", "action-open-local": "Åbn filegenskaber", "action-open-daily-note": "Åbn daglig note" }, "page-preview": { "name": "Sideforhåndsvisning", "desc": "Forhåndsvis en note ved at holde musen over et internt link. Ctrl/Cmd + hold musen over i redigeringstilstand.", "label-empty-attachment": "“{{linktext}}” kunne ikke findes.", "label-empty-note": "\"{{linktext}}\" er ikke oprettet endnu. Klik for at oprette.", "label-missing-footote": "Fodnoten {{id}} er ikke fundet. Klik for at oprette den.", "label-source-editor": "Editor", "label-source-preview": "Forhåndsvis", "label-source-search": "Søg, Tilbagelinks og Udgående Links", "label-source-tab-header": "Fande overskrift", "label-require-mod": "Kræver {{key}} for at udløse sideforhåndsvisning, når musen holdes over" }, "bookmarks": { "name": "Bogmærker", "desc": "Bogmærk ofte brugte filer og søgninger.", "action-show": "Vis bogmærker", "action-collapse-all": "Sammenfold alle", "action-new-bookmark": "Bogmærk den aktive fane...", "action-new-group": "Ny bogmærkegruppe", "action-bookmark": "Bogmærk...", "action-add-bookmark": "Tilføj bogmærke", "action-edit-bookmark": "Rediger bogmærke", "action-bookmark-block": "Bogmærk blokken under markøren...", "action-bookmark-heading": "Bogmærk overskriften under markøren...", "action-bookmark-search": "Bogmærk nuværende søgning...", "action-remove-bookmark": "Fjern bogmærke for nuværende fil", "action-bookmark-tab-group": "Bogmærk {{count}} fane...", "action-bookmark-tab-group_plural": "Bogmærk {{count}} faner...", "action-bookmark-all-tabs": "Bogmærk alle faner...", "action-bookmark-graph": "Bogmærk denne graf...", "label-bookmark": "Bogmærke", "label-bookmarked": "Bogmærket", "label-bookmark-with-count": "{{count}} bogmærke", "label-bookmark-with-count_plural": "{{count}} bogmærker", "label-no-bookmarks": "Ingen bogmærker fundet", "label-invalid-data": "Kunne ikke indlæse bogmærker.", "label-invalid-data-desc": "Datafilen er beskadiget.", "label-untitled-group": "Unavngiven gruppe", "label-untitled-graph": "Unavngiven graf", "menu-opt-edit": "Rediger...", "menu-opt-remove": "Fjern", "menu-opt-rename": "Omdøb", "menu-opt-bookmark-block": "Bogmærk denne blok...", "menu-opt-bookmark-heading": "Bogmærk denne overskrift...", "msg-no-search-query": "Ingen søgning at bogmærke.", "option-path": "Sti", "option-query": "Forespørgsel", "option-u-r-l": "URL", "option-title": "Titel", "option-group": "Bogmærkegruppe", "placeholder-bookmark-group": "Bogmærker" }, "custom-css": { "name": "Brugerdefineret CSS", "desc": "Læser \"obsidian.css\" i boksen og anvender det.", "setting-community-themes": "Fællesskabstemaer", "msg-fetching-themes": "Henter data om fællesskabstemaer...", "prompt-filter": "Filter...", "label-dark-theme-only": "Kun mørke temaer", "label-light-theme-only": "Kun lyse temaer", "label-use": "Brug", "label-stop-use": "Stop brugen af dette tema", "label-install-and-use": "Installer og brug", "label-update": "Opdater", "label-no-readme": "Dette tema indeholdt ikke en README-fil.", "tooltip-remove-theme": "Fjern tema", "label-visit-on-github": "Besøg på GitHub", "msg-load-error": "Kunne ikke indlæse fællesskabstemaer. Tjek venligst din internetforbindelse.", "msg-now-using-theme": "Du bruger nu {{title}} som dit CSS-tema.", "msg-deleted-theme": "Temaet {{title}} er blevet slettet.", "msg-updated-theme": "Temaet {{title}} er blevet opdateret.", "label-installed": "Installeret", "label-legacy": "Ældre", "button-update-all-themes": "Opdater alle", "msg-failed-load-themes": "Kunne ikke indlæse fællesskabstemaer.", "msg-no-updates-found": "Ingen temaopdateringer fundet.", "msg-updates-found": "Fandt {{count}} tema at opdatere.", "msg-updates-found_plural": "Fandt {{count}} temaer at opdatere.", "msg-failed-to-install-theme": "Kunne ikke installere temaet \"{{name}}\".", "msg-successfully-installed-theme": "Temaet \"{{name}}\" blev installeret.", "msg-installing-theme": "Installerer tema \"{{name}}\"...", "label-search-summary": "Viser {{themeCount}}:", "label-update-available": "Opdatering tilgængelig" }, "command-palette": { "name": "Fastgjorte kommandoer", "desc": "Indtast en kommando for at aktivere den. Ingen grund til at bruge brugergrænsefladen eller huske genvejen.", "action-open": "Åbn fastgjorte kommandoer", "instruction-navigate": "for at navigere", "instruction-use": "for at bruge", "instruction-dismiss": "for at afvise", "label-no-commands": "Ingen kommandoer fundet.", "prompt-type-command": "Indtast en kommando...", "label-pinned-commands": "Fastgjorte kommandoer", "option-add-new-pin": "Ny fastgjort kommando", "option-add-new-pin-description": "Fastgjorte kommandoer vises øverst i kommandolisten, når ingen søgeforespørgsel er til stede." }, "markdown-format-importer": { "name": "Importør af Markdown-format", "desc": "Konverter Markdown fra andre apps til Obsidian-format.", "action-open": "Åbn Markdown-importør", "option-roam-tag-fixer": "Konverter Roam Research-tag", "option-roam-tag-fixer-description": "Konverterer \"#tag\" og \"#[[tag]]\" til \"[[tag]]\".", "option-roam-highlight-fixer": "Konverter Roam Research-fremhævning", "option-roam-highlight-fixer-description": "Konverterer \"^^fremhævet^^\" til \"==fremhævet==\".", "option-roam-todo-converter": "Konverter Roam Research-TODOs", "option-roam-todo-converter-description": "Konverterer \"{{[[TODO]]}}\" til \"[ ]\".", "option-bear-highlight-fixer": "Konverter Bear-fremhævning", "option-bear-highlight-fixer-description": "Konverterer \"::fremhævning::\" til \"==fremhævning==\".", "zettelkasten-link-fixer": "Konverter Zettelkasten-links", "zettelkasten-link-fixer-description": "Konverterer \"[[UID]]\" links til fuldt format \"[[UID Filname]]\".", "zettelkasten-link-beautifier": "Zettelkasten-linkforskønner", "zettelkasten-link-beautifier-description": "Retter \"[[UID]]\" links og forskønner dem også \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migrering", "frontmatter-migration-description": "Migrerer frontmatter tags, aliases, og cssclasses til det strikte format som Obsidian v1.9+ kræver", "msg-all-files-warning": "Advarsel: importøren konverterer alle filerne i din boks, ikke kun den aktuelle fil.", "msg-override-files-warning": "Dine filer overskrives. Sikkerhedskopiér alle dine filer, før du forsøger at konvertere.", "label-start-conversion": "Start Konvertering", "label-stop": "Stop", "label-go-back": "Gå tilbage", "label-done": "Udført", "label-processing": "Behandler...", "label-cancelling": "Annullerer...", "label-finished": "Færdig!", "label-processed-files": "Behandlede filer", "label-modified-files": "Modificerede filer", "label-total-replacements": "Erstatninger i alt", "label-failed": "Fejlede" }, "daily-notes": { "name": "Daglige noter", "desc": "Åbn dagens daglige note, eller opret en, hvis du ikke har en.", "short-name": "I dag", "action-open": "Åbn dagens note", "action-open-previous": "Åbn forrige daglige note", "action-open-next": "Åbn næste daglige note", "action-insert-text": "Indsæt tekst i daglig note", "action-insert-link": "Indsæt link i daglig note", "msg-fail-format": "Kunne ikke oprette daglig note. \"{{format}}\" er ikke et gyldigt format.", "msg-fail-folder": "Kunne ikke oprette daglig note. Mappen \"{{folderOption}}\" blev ikke fundet.", "msg-fail-template-file": "Kunne ikke oprette daglig note. Skabelonfilen \"{{template}}\" blev ikke fundet.", "msg-no-previous": "Ingen daglig note før denne.", "msg-no-next": "Ingen daglige note efter denne.", "option-date-format": "Datoformat", "label-refer-to-syntax": "For mere syntaks, se: ", "label-syntax-link": "formatreference", "label-syntax-live-preview": "Sådan kommer det til at se ud: ", "option-new-file-location": "Ny filplacering", "option-new-file-location-description": "Mappestien, hvor den nye daglige note oprettes.", "option-template": "Skabelonens filplacering", "option-template-description": "Filstien, der bruges som skabelon.", "option-open-on-start": "Åbn daglig note ved opstart", "option-open-on-start-description": "Åbner din daglige note automatisk, når du åbner denne boks." }, "unique-note-creator": { "name": "Unik noteopretter", "desc": "Opret noter med unikke tidsstempelpræfikser til arbejdsgange som zettelkasten eller slip box.", "short-name": "Unik", "action-create-note": "Opret ny unik note", "action-add-link": "Tilføj unik internt link", "option-new-file-location": "Ny filplacering", "option-new-file-location-description": "Mappestien, hvor den nye unikke note oprettes.", "msg-folder-not-found": "Kunne ikke oprette unik note. Mappen \"{{folderOption}}\" blev ikke fundet.", "option-template-file": "Skabelonens filplacering", "option-template-file-description": "Filstien, der bruges som skabelon.", "option-template-file-placeholder": "Eksempel: mappe1/note", "option-id-format": "Unikt præfiksformat", "msg-template-file-not-found": "Kunne ikke oprette unik note. Skabelonfilen \"{{template}}\" blev ikke fundet.", "msg-failed-to-generate": "Kunne ikke generere en unik note med formatet \"{{format}}\"" }, "random-note": { "name": "Tilfældig note", "desc": "Åbner en tilfældig note. Praktisk til gennemgang og opdagelse.", "short-name": "Tilfældig", "action-open": "Åbn tilfældig note" }, "outline": { "name": "Disposition", "desc": "Viser dispositionen af den aktuelle fil eller tilknyttede panel.", "action-open": "Åbn disposition", "action-show": "Vis dispositionspanel", "action-open-for-current": "Åbn disposition af den nuværende fil", "tab-title": "Disposition af {{displayText}}", "label-no-headings": "Ingen overskrifter fundet.", "label-follow-cursor": "Auto-scroll til nuværende sektion" }, "word-count": { "name": "Ordtælling", "desc": "Vis ordtælling i statuslinjen." }, "slides": { "name": "Slides", "desc": "Præsenter fra Markdown. Brug \"---\" for at adskille slides.", "action-start": "Start præsentation" }, "audio-recorder": { "name": "Lydoptager", "desc": "Optag lyd, og gem som vedhæftning.", "action-start": "Start lydoptagelse", "action-stop": "Stop lydoptagelse", "action-toggle": "Start/stop lydoptagelse", "msg-access-denied": "Mikrofonadgang blev nægtet. Aktiver den venligst på indstillingssiden.", "msg-pending-grant": "Giv venligst mikrofontilladelse for at starte optagelsen.", "msg-no-microphone": "Ingen mikrofon er tilsluttet." }, "open-with-default-app": { "name": "Åbn i standardapp", "desc": "Tilføj knap for at åbne nuværende fil i standardappen.", "action-open-file": "Åbn i standardapp", "action-open-file-mobile": "Del", "action-show-in-folder": "Vis i mappe", "action-show-in-folder-mac": "Vis i Stifinder" }, "templates": { "name": "Skabeloner", "desc": "Indsæt skabelonindhold fra en mappe med skabelonfiler.", "action-insert": "Indsæt skabelon", "action-insert-current-date": "Indsæt dags dato", "action-insert-current-time": "Indsæt nuværende tidspunkt", "option-template-folder-location": "Placering af skabelonmappe", "option-template-folder-location-description": "Filer i denne mappe vil være tilgængelige som skabeloner.", "option-template-date-format": "Datoformat", "option-template-date-format-description": "{{date}} i skabelonfilen erstattes med denne værdi.", "option-template-date-format-description2": "Du kan også bruge {{date:YYYY-MM-DD}} for at tilsidesætte formatet én gang.", "option-template-time-format": "Tidsformat", "option-template-time-format-description": "{{time}} i skabelonfilen erstattes med denne værdi.", "option-template-time-format-description2": "Du kan også bruge {{time:HH:mm}} for at tilsidesætte formatet én gang.", "instruction-navigate": "for at navigere", "instruction-insert": "for at indsætte skabelon", "instruction-dismiss": "for at afvise", "msg-no-templates-found": "Ingen skabeloner fundet", "msg-fail-invalid-folder": "Kunne ikke liste skabeloner. Skabelonmappen er ugyldig.", "msg-fail-folder-not-found": "Kunne ikke liste skabeloner. Mappen \"{{folderOption}}\" blev ikke fundet.", "msg-fail-invalid-template-properties": "Kan ikke indsætte skabelon. Egenskaberne i skabelonfilen kunne ikke læses.", "msg-no-folder-set": "Kunne ikke liste skabeloner. Ingen skabelonmappe konfigureret.", "prompt-type-template": "Indtast navn på en skabelon..." }, "translucency": { "name": "Gennemsigtigt vindue", "desc": "Slå gennemsigtighedseffekten til for at forstærke dybdefornemmelsen. Bruges bedst med mørk tilstand. Understøttes ikke på Linux." }, "slash-command": { "name": "Skråstregskommandoer", "desc": "Aktiver evnen til at udløse skråstregskommandoer i editoren ved at skrive en skråstreg." }, "editor-status": { "name": "Redigeringsstatus", "desc": "Føjer et element til statuslinjen som viser og ændrer den aktuelle redigeringstilstand.", "read": "Læsning", "edit-source": "Kildetilstand", "edit-live-preview": "Live forhåndsvisning" }, "publish": { "name": "Publish", "desc": "Udgiv dine noter gennem Obsidian Publish.", "action-publish-changes": "Udgiv ændringer...", "action-publish-file": "Udgiv nuværende fil", "label-no-internet-access": "Du skal have adgang til internettet for at udgive ændringer.", "label-publish-service-description": "Obsidian Publish er en betalt tillægstjeneste, der lader dig udgive dine noter online direkte fra Obsidian.", "label-please-login": "For at begynde at udgive, log venligst ind eller opret en ny Obsidian-konto.", "label-no-publish-subscription": "Du har endnu ikke et Obsidian Publish-abonnement.", "button-purchase": "Køb", "label-manage-sites": "Administrer sider", "label-no-sites": "Du har ingen sider.", "button-choose": "Vælg", "tooltip-edit-site-id": "Rediger side-ID", "tooltip-delete-site": "Slet side", "label-delete-site-confirmation": "Er du sikker på, at du vil slette denne side?", "label-delete-site-details": "Dette sletter straks og permanent din side.", "label-confirm-delete-site": "Bekræft sletning af side \"{{site}}\"", "option-site-id": "Side-ID", "option-site-id-description": "Din side vil være på https://publish.obsidian.md/{side id}. Du kan ændre dette senere. Kun små bogstaver, tal og bindestreger er tilladt.", "option-site-id-placeholder": "Vælg et side-ID", "button-create": "Opret", "msg-invalid-site-id": "Side-ID kan kun indeholde små bogstaver, tal og bindestreger.", "msg-site-id-in-use": "Dette side-ID er allerede i brug. Prøv venligst et andet.", "msg-create-site-issue": "Der opstod et problem ved oprettelsen af din side.", "label-site-options": "Side-indstillinger", "option-site-general": "Generelt", "option-site-components": "Komponenter", "option-site-appearance": "Udseende", "option-site-reading-experience": "Læseoplevelse", "option-site-misc": "Andre sideindstillinger", "option-site-name": "Sidenavn", "option-site-name-description": "Navnet på din udgivne side. Det vises i sidetitlen på din side.", "option-site-name-placeholder": "Navnet på din side", "option-home-page-file": "Startsidefil", "option-home-page-file-description": "Den første side, brugeren ser, når de lander på din udgivne side", "option-home-page-file-placeholder": "Vælg en udgivet fil", "option-logo": "Logo", "option-logo-description": "Vælg en billedfil som dit side-logo.", "option-logo-placeholder": "Ethvert uploadet billede i din boks...", "option-site-collaboration": "Side-samarbejde", "option-site-collaboration-desc": "Administrer samarbejdspartnere for denne side.", "option-customize-navigation": "Tilpas navigation", "option-customize-navigation-desc": "Tilsidesæt rækkefølgen af navigationspunkter og skjul sider eller mapper fra visning.", "option-navigation-order": "Visningsrækkefølge for navigationspunkter", "option-hide-items-in-navigation": "Skjul sider eller mapper fra navigation", "option-hide-items-in-navigation-desc": "Højreklik og vælg \"Skjul\" for at forhindre specifikke sider i at vises i side-navigationen. Siderne vil stadig være tilgængelige via links eller ved at tilgå URL'en direkte.", "option-show-hidden-items": "Vis skjulte", "button-customize-sidebar": "Administrer", "label-navigation-modal-title": "Navigation", "label-navigation-modal-desc": "Træk og slip for at tilpasse rækkefølgen af navigationspunkter på din Publish-side.", "option-hide-in-navigation": "Skjul i navigation", "button-manage-collaborators": "Administrer", "option-theme": "Tema", "option-theme-description": "Vælg standardfarveskema for din side.", "option-theme-system": "Tilpas til system", "option-show-theme-toggle": "Skift mellem lys/mørk", "option-show-theme-toggle-description": "Lad besøgende skifte mellem lys og mørk tema efter eget ønske.", "option-show-navigation": "Vis navigation", "option-show-navigation-description": "Vis en liste over alle udgivne sider i venstre side af din udgivne side.", "option-show-search": "Vis søgefelt", "option-show-search-description": "Vis et søgefelt øverst i navigationen, der lader besøgende søge efter sider og overskrifter på din side.", "option-show-graph": "Vis grafvisning", "option-show-graph-description": "Vis en lille lokal graf på hver side.", "option-show-outline": "Vis indholdsfortegnelse", "option-show-outline-description": "Vis dispositionen af overskrifter på hver side.", "option-show-backlinks": "Vis backlinks", "option-show-backlinks-description": "Vis backlink-sektionen i slutningen af hver side.", "option-sliding-window-mode": "Brug glidende vinduer", "option-sliding-window-mode-description": "Åbn sider i nye paneler til højre. Tillader vandret scrolling gennem paneler.", "option-hover-preview-file": "Vis hover-forhåndsvisning", "option-hover-preview-file-description": "Vis sideforhåndsvisning ved musen over links.", "option-hide-title": "Skjul sidetitel", "option-hide-title-description": "Skjul sidens titeloverskrift. Nyttigt ved brug af egne overskrifter i begyndelsen af hver side.", "option-readable-line-length": "Læsbar linjelængde", "option-readable-line-length-description": "Begræns maksimal linjelængde. Rummer mindre indhold på skærmen, men gør lange afsnit mere læsbare.", "option-site-password": "Adgangskoder", "option-site-password-description": "Begræns adgang til din side med adgangskoder.", "option-google-analytics": "Google Analytics-sporingskode", "option-google-analytics-description": "Konfigurer Google Analytics for din side. Kun tilgængelig for besøgende fra din brugerdefinerede domæne-URL. Kontrollér venligst dine lokale love og regler først.", "button-manage-passwords": "Administrer", "button-save-site-settings": "Gem sideindstillinger", "msg-updated-options": "Opdaterede indstillinger for din side.", "button-go-back": "Tilbage", "label-publishing-to": "Udgiver til", "tooltip-switch-site": "Skift side", "button-add-linked": "Tilføj linkede", "tooltip-add-linked": "Tilføj alle filer, der er linket af de nuværende valgte elementer", "msg-added-linked-files": "{{count}} linket fil er blevet tilføjet.", "msg-added-linked-files_plural": "{{count}} linkede filer er blevet tilføjet.", "tooltip-open-site-options": "Ændr sideindstillinger", "label-no-changes-detected": "Ingen ændringer blev registreret.", "label-changed-files-to-be-published": "Ændringer", "label-unchanged-files-already-published": "Uændret (vælg for at slette)", "label-file-selected": " valgt", "button-select-all-files": "Vælg alle", "label-custom-navigation-title": "Navigationselementer", "button-deselect-all-files": "Fravælg alle", "label-new-files-to-be-published": "Ny", "button-publish": "Udgiv", "msg-no-permission-to-publish-to-site": "Du har ikke tilladelse til at udgive til den nuværende side.", "msg-select-at-least-one-file": "Vælg venligst mindst én fil.", "label-upload-changes": "Upload ændringer", "button-done": "Færdig", "button-stop": "Stop", "label-status-uploading": "Uploader", "label-status-to-publish": "At udgive", "label-status-to-delete": "At slette", "label-status-published": "Udgivet", "label-status-deleted": "Slettet", "label-status-failed": "Mislykket", "label-status-cancelled": "Annulleret", "button-change": "Skift", "label-clear-cache": "Det kan tage op til et par minutter, før ændringerne vises på din side. Hvis du ikke ser dine seneste ændringer, prøv at rydde cachen i din browser.", "label-visit-site": "Du kan besøge din side her: ", "msg-something-went-wrong": "Noget gik galt. Tjek udviklerkonsollen for detaljer.", "msg-network-error": "Der opstod en netværksfejl.", "label-manage-passwords": "Administrer adgangskoder", "label-add-password": "Tilføj adgangskode", "action-new-password": "Ny adgangskode", "label-no-password": "Din side har i øjeblikket ingen adgangskoder. Alle kan besøge den.", "label-have-password": "Din side er adgangskodebeskyttet. Hvis du har flere adgangskoder, kan besøgende få adgang til din side ved at indtaste en af dem.", "option-password-name": "Adgangskode", "option-password-desc": "En hash af din adgangskode gemmes sikkert. Når adgangskoden er indstillet, kan den ikke afsløres i klartekst.", "option-password-placeholder": "Din adgangskode", "option-nickname-name": "Kaldenavn (valgfrit)", "option-nickname-desc": "Indstil et kaldenavn for at minde dig selv om, hvad eller hvem adgangskoden er til.", "action-add-password": "Tilføj denne adgangskode", "label-untitled-password": "Unavngivet adgangskode", "label-password-created-time": "Oprettet {{time}}", "msg-added-new-password": "Tilføjede ny adgangskode.", "option-custom-domain": "Brugerdefineret domæne", "option-custom-domain-desc": "Brug dit eget domæne i stedet for https://publish.obsidian.md/{side id} URL'en.", "option-noindex": "Forhindre søgemaskineindeksering", "option-noindex-desc": "Forhindre søgemaskiner i at indeksere din side.", "button-configure": "Konfigurer", "label-configure-custom-domain": "Konfigurer brugerdefineret domæne", "option-custom-url-name": "Brugerdefineret URL", "option-custom-url-desc": "Den URL, din hjemmeside ligger på.", "option-custom-url-placeholder": "www.ditdomæne.com", "option-custom-url-redirect": "Omdiriger til dit brugerdefinerede domæne", "option-custom-url-redirect-desc": "Omdiriger besøgende på publish.obsidian.md/id til dit brugerdefinerede domæne.", "button-update-custom-domain": "Opdater domæneindstilling", "label-custom-domain-instructions": "Se venligst vores {{link}} på vores hjælpeside for mere information.", "label-custom-domain-link-name": "vejledning til opsætning af brugerdefineret domæne", "label-site-usage": "Du bruger {{site}} ud af din {{limit}}.", "button-add-more-sites": "Køb flere sider", "label-no-sites-bought": "Du har ikke købt nogen sider.", "button-get-site": "Få en side", "label-manage-sharing": "Administrer deling for \"{{name}}\"", "label-sharing-with-users": "Denne side deles i øjeblikket med følgende personer.", "label-not-sharing": "Denne side deles i øjeblikket ikke med nogen.", "label-invite-pending": "Afventer", "tooltip-remove-user": "Fjern bruger", "option-invite-user": "Inviter bruger", "placeholder-invite-user": "Indtast deres e-mail...", "error-email-must-be-valid": "Indtast venligst en gyldig e-mail for at invitere nogen.", "msg-enable-publish-plugin": "Aktiver venligst Publish-kerneplugin i Indstillinger -> Kerneplugins for at se sider.", "label-your-sites": "Dine sider", "label-sites-shared-with-you": "Sider delt med dig", "tooltip-leave-site-sharing": "Stop samarbejde på denne side", "label-leave-site-confirmation": "Bekræft stop af sidesamarbejde", "label-leave-site-confirmation-details": "Dette fjerner denne side fra listen over sider, der er delt med dig. Denne handling kan ikke fortrydes.", "label-leave-site-confirmation-details-2": "Kontakt ejeren af siden, hvis du ønsker at samarbejde om denne side igen.", "button-leave": "Forlad", "label-compare-with-live": "Sammenlign med live-version", "button-use-live-version": "Brug live-version", "label-confirm-override": "Bekræft overskrivning af lokal version", "label-confirm-override-1": "Er du sikker på, at du vil overskrive den lokale version?", "label-confirm-override-2": "Live versionen bruges, og din lokale version kasseres. Sikkerhedskopiér venligst, hvis nødvendigt.", "button-proceed": "Fortsæt", "message-successfully-used-live-version": "Det lykkedes at bruge live-versionen til at overskrive din lokale version.", "label-open-in-live-site": "Åben på live websted", "label-open-file": "Åbn fil", "tooltip-manage-publish-filters": "Administrer udgivelsesfiltre", "option-included-folders": "Inkluderede mapper", "option-included-folders-desc": "Filer i disse mapper vælges automatisk, når du gennemgår ændringer til udgivelse.", "option-currently-included-folders": "Disse mapper er i øjeblikket inkluderet:", "option-excluded-folders": "Ekskluderede mapper", "option-excluded-folders-desc": "Filer i disse mapper vises ikke, når du gennemgår ændringer til udgivelse. Denne indstilling har prioritet over de inkluderede mapper ovenfor.", "label-number-of-folders-included": "Obsidian Publish inkluderer i øjeblikket {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish ekskluderer i øjeblikket {{folders}}.", "label-manage-included-folders": "Administrer inkluderede mapper", "label-manage-excluded-folders": "Administrer ekskluderede mapper", "label-add-included-folder": "Inkluder en mappe", "label-add-included-folder-desc": "Du kan inkludere både eksisterende mapper og mapper, der endnu ikke er oprettet.", "tooltip-contact-support": "Kontakt support", "label-navigation-preview": "Navigationsforhåndsvisning" }, "workspaces": { "name": "Arbejdsområder", "desc": "Gem og indlæs arbejdsområdelayout.", "action-load-layout": "Indlæs arbejdsområdelayout", "action-manage-layouts": "Administrer arbejdsområdelayouts", "action-save": "Gem layout", "action-save-and-load-layout": "Gem og indlæs et andet layout", "placeholder-save-current-layout-as": "Gem nuværende arbejdsområdelayout som...", "button-save": "Gem", "button-load": "Indlæs", "tooltip-delete-layout": "Slet layout", "msg-enter-name": "Indtast venligst et navn til det nye layout.", "msg-save-layout-success": "Layout blev gemt.", "label-no-layout-found": "Ingen gemte layouts fundet.", "label-workspace-modified-time": "Modificeret {{time}}", "placeholder-type-to-search-layouts": "Indtast layoutnavn..." }, "sync": { "name": "Sync", "desc": "Synkroniser dine filer med Obsidian Sync.", "action-view-version-history": "Se versionshistorik", "action-setup-sync": "Opsæt Obsidian Sync", "menu-opt-view-version-history": "Åbn versions historie", "action-view-sync-sidebar": "Vis Sync historie", "action-activity-log": "Åbn aktivitets log", "label-load-more": "Indlæs mere", "label-show-diff": "Vis forskel", "label-copy-to-clipboard": "Kopiér til udklipsholder", "label-restore-this-version": "Gendan denne version", "msg-already-latest-version": "Denne version er allerede den seneste version.", "msg-restored-version": "Version fra {{time}} blev gendannet", "label-file-deleted": "Denne fil var slettet", "label-file-deleted-via": "Slettet via {{ device }}", "label-file-renamed-from": "Denne fil blev omdøbt fra \"{{filepath}}\"", "label-file-renamed-from-to": "Omdøbt fra “{{from}}” til “{{to}}”", "label-file-moved-from": "Flyttet fra “{{from}}”", "label-file-moved-from-to": "Flyttet fra “{{from}}” til “{{to}}”", "label-revision": "1 revision", "label-revision_plural": "{{revisions}} revisioner", "label-via-device": "via {{device}}", "label-no-history": "Der er ingen synkroniserings historik for denne fil.", "label-empty-file": "Tom", "label-unable-to-retrieve": "Kan ikke hente versionshistorik", "label-setting-files": "Indstillingsfiler", "label-deleted-files": "Slettede filer", "label-version-history": "Versionshistorik", "label-click-to-see-history": "Klik på en slettet fil for at se dens historik.", "label-create-remote-vault": "Opret ekstern boks", "msg-please-enter-password": "Indtast venligst en adgangskode.", "msg-vault-name-cannot-be-empty": "Boksnavnet må ikke være tomt.", "msg-successfully-created-vault": "Den eksterne boks \"{{name}}\" blev oprettet.", "label-remote-vault-explanation": "Eksterne bokse synkroniserer din boks sikkert mellem enheder.", "option-vault-name": "Boksnavn", "option-vault-name-desc": "Hjælper dig med at huske, hvad denne boks er til.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatisk", "option-vault-region-desc": "Vælg den serverregion tættest på dig til at gemme den eksterne boks. Dette kan ikke ændres i fremtiden.", "option-vault-name-placeholder": "Min fantastiske boks", "option-encryption": "Kryptering", "option-encryption-desc": "Slut-til-slut kryptering er den stærkeste kryptering, men kræver at du gemmer dit kodeord sikkert. Standard kryptering benytter en nøgle, som er håndteret af Obsidian for at beskytte dine data under flytning til vores servere og på dem.", "option-encryption-warning": "Denne valgmulighed kan ikke ændres senere.", "option-encryption-end-to-end": "Slut-til-slut kryptering", "option-encryption-standard": "Standard kryptering", "option-encryption-password": "Krypteringsadgangskode", "option-encryption-password-desc": "Denne adgangskode kan ikke ændres senere.", "option-encryption-password-desc-warning": "Hvis du glemmer denne adgangskode, forbliver alle fjerndata ubrugelige for evigt.", "option-encryption-password-desc-2": "Dette påvirker ikke dine lokale data.", "label-encryption-password-explanation": "Fjernboksen “{{name}}” er i øjeblikket krypteret. Angiv dit kodeord for at låse den op.", "option-encryption-password-placeholder": "Din adgangskode", "label-unlock-encrypted-vault": "Lås din fjernboks op", "button-unlock-vault": "Lås boks op", "label-remote-vaults": "Dine eksterne bokse", "label-vault-created-time": "Oprettet {{time}}", "tooltip-delete-remote-vault": "Slet", "tooltip-rename-remote-vault": "Omdøb", "label-rename-remote-vault": "Omdøb ekstern boks \"{{name}}\"", "label-rename-remote-vault-desc": "Indtast et nyt navn til denne eksterne boks.", "tooltip-manage-sharing": "Administrer deling", "label-confirm-delete-remote-vault": "Bekræft sletning af boks", "label-confirm-delete-remote-vault-question": "Er du sikker på, at du vil slette denne eksterne boks?", "label-confirm-delete-remote-vault-result": "Alle data på vores server, inklusive versionshistorik, slettes. Dine lokale filer forbliver intakte.", "label-confirm-delete-remote-vault-warning": "Denne handling er permanent og irreversibel.", "msg-remote-vault-deleted": "{{name}} blev slettet.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: Fjernboksen findes ikke længere.", "button-connect-to-remote-vault": "Forbind", "button-disconnect-from-remote-vault": "Afbryd", "label-sync-status": "Synkronisering: {{status}}", "label-not-remote-vaults": "Du har ingen eksterne bokse.", "label-no-subscription": "Du har ikke et aktivt Obsidian Sync-abonnement.", "label-please-visit": "Besøg venligst", "label-preview-unsupported-file-type": "Kan ikke forhåndsvise {{type}} filer.", "button-create-new-remote-vault": "Opret ny ekstern boks", "label-sync-log": "Synkroniseringslog", "option-event-type-all": "Alle", "option-event-type-errors": "Fejl", "option-event-type-skipped": "Sprunget over", "option-event-type-merge-conflicts": "Fletningskonflikter", "button-copy-sync-log": "Kopiér synkroniseringslog", "msg-successfully-copied-sync-log": "Synkroniseringslog blev kopieret.", "button-retry": "Prøv igen", "button-purchase-subscription": "Køb", "label-third-party-sync-warning": "Konfliktende filsynkroniseringstjeneste fundet", "label-third-party-sync-warning-desc": "Advarsel: Din boks ser ud til at bruge {{service}} som en tredjepartssynkroniseringstjeneste. Hvis du bruger Obsidian Sync med denne boks, kan der opstå konflikter, filbeskadigelse eller datatab.", "label-icloud-drive-warning": "Hvis du bruger iCloud Drive, synkroniseres dine mapper Documents og Desktop muligvis af iCloud. Det kan skabe konflikter med Obsidian Sync.", "option-remote-vault": "Fjernboks", "button-choose-remote-vault": "Vælg", "button-manage-remote-vault": "Administrer", "option-remote-vault-desc-connected": "Har i øjeblikket forbindelse til den eksterne boks \"{{name}}\".", "option-remote-vault-desc-not-connected": "Har i øjeblikket ingen forbindelse til nogen ekstern boks.", "option-sync-status": "Synkroniseringsstatus", "option-sync-status-desc-paused": "Obsidian Sync er sat på pause i øjeblikket.", "option-sync-status-desc-running": "Obsidian Sync kører i øjeblikket.", "option-device-name": "Enhedsnavn", "option-device-name-desc": "Dette navn vises i synkroniseringsloggen. Lad det være tomt for at bruge standardnavnet.", "button-resume": "Fortsæt", "button-pause": "Sæt på pause", "option-view-deleted-files": "Slettede filer", "option-view-deleted-files-desc": "Vis og gendan slettede filer.", "option-sync-log": "Synkroniseringsaktivitet", "option-sync-log-desc": "Se seneste synkroniseringsaktivitet til fejlfinding.", "button-view": "Se", "button-bulk-restore": "Massegendannelse", "button-restore-files_zero": "Gendan filer", "button-restore-files": "Gendanner {{count}} fil", "button-restore-files_plural": "Gendanner {{count}} filer", "msg-restoring": "Gendanner...", "msg-restoring-complete": "`Gendannelse fuldført: {{succeeded}} lykkedes og {{failed}} mislykkedes.`", "option-vault-size": "Boksstørrelse", "option-vault-size-desc": "Du bruger {{size}} ud af {{limit}}", "option-vault-size-unknown": "Kan ikke hente din boksstørrelse.", "option-vault-size-loading": "Henter din boksstørrelse...", "option-over-size": "Boksstørrelse overstiger grænsen", "option-almost-over-size": "Størrelsen på boksen nærmer sig grænsen", "msg-largest-files": "Se største filer", "msg-largest-files-desc": "Disse er de eksterne filer, der optager mest plads. Efter sletning af vedhæftninger kan du bruge oprydningsknappen til at frigøre plads i den eksterne boks.", "button-upgrade-storage": "Opgrader lagerplads", "button-purge-remote": "Fjern", "button-hide-my-changes": "Skjul mine ændringer", "tooltip-purge-remote": "Fjern slettede vedhæftninger permanent fra den eksterne boks for at spare plads.", "msg-purge-complete": "Oprydning fuldført.", "option-prevent-sleep": "Forhindr, at enheden går i dvale", "option-prevent-sleep-desc": "Forhindrer at enheden går i dvale, når der stadig er filer, der skal synkroniseres.", "option-selective-sync": "Selektiv synkronisering", "option-excluded-folders": "Ekskluderede mapper", "option-excluded-folder-desc": "Forhindrer visse mapper i at blive synkroniseret.", "option-currently-excluded-folders": " Disse mapper er i øjeblikket ekskluderet:", "button-manage-excluded-folders": "Administrer", "option-sync-image": "Synkroniser billeder", "option-sync-image-desc": "Synkroniser billedfiler med disse udvidelser: {{extensions}}.", "option-sync-audio": "Synkroniser lyd", "option-sync-audio-desc": "Synkroniser lydfiler med disse udvidelser: {{extensions}}.", "option-sync-video": "Synkroniser videoer", "option-sync-video-desc": "Synkroniser videoer med disse udvidelser: {{extensions}}.", "option-sync-pdf": "Synkroniser PDF-filer", "option-sync-pdf-desc": "Synkroniser PDF-filer.", "option-sync-unsupported": "Synkroniser alle andre typer", "option-sync-unsupported-desc": "Synkroniser ikke-understøttede filtyper.", "option-vault-config-sync": "Synkronisering af bokskonfiguration", "option-view-config-files": "Indstillingernes versionshistorik", "option-view-config-files-desc": "Se og gendan versionhistorik for indstillingsfiler.", "option-sync-app": "Hovedindstillinger", "option-sync-app-desc": "Aktiver for at synkronisere editorindstillinger, fil- og linkindstillinger, brugerdefinerede genvejstaster osv.", "option-sync-appearance": "Indstillinger for udseende", "option-sync-appearance-desc": "Synkroniser indstillinger for udseende som mørk tilstand, aktivt tema og aktiverede kodestykker.", "option-sync-appearance-data": "Temaer og kodestykker", "option-sync-appearance-data-desc": "Synkroniser hentede temaer og kodestykker. Om de er aktiveret, afhænger af den tidligere indstilling.", "option-sync-hotkey": "Genvejstaster", "option-sync-hotkey-desc": "Synkroniser brugerdefinerede genvejstaster.", "option-sync-core-plugin": "Liste over aktive kerneplugins", "option-sync-core-plugin-desc": "Synkroniser, hvilke kerneplugins er aktiveret.", "option-sync-core-plugin-data": "Kerneplugin-indstillinger", "option-sync-core-plugin-data-desc": "Synkroniser indstilling for kerneplugin.", "option-sync-community-plugin": "Liste over aktive fællesskabsplugins", "option-sync-community-plugin-desc": "Synkroniser, hvilke fællesskabsplugins er aktiveret.", "option-sync-community-plugin-data": "Installerede fællesskabsplugins", "option-sync-community-plugin-data-desc": "Synkroniser installerede fællesskabsplugins (.js, .css og manifest.json-filer) og deres indstillinger.", "label-sync-loading": "Sync arbejder stadig, så genopfrisk denne side senere.", "label-sync-introduction": "Obsidian Sync er Obsidians ekstra synkroniseringstjeneste med end-to-end-kryptering og versionshistorik.", "label-account-required": "For at starte synkroniseringen skal du logge ind eller oprette en ny Obsidian-konto.", "label-current-file": "Nuværende fil", "label-sync-changes": "Synkroniserings ændringer", "label-today": "I dag", "label-yesterday": "I går", "label-this-week": "Denne uge", "label-older": "Ældre", "label-last-sync": "Sidste synkronisering", "label-more": "{{count}} flere", "button-sign-up": "Tilmeld", "button-log-in": "Log ind", "label-manage-excluded-folders": "Administrer ekskluderede mapper", "label-number-of-folders-excluded": "{{folders}} er i øjeblikket ekskluderet fra synkronisering.", "label-add-excluded-folder": "Ekskluder en mappe", "label-add-excluded-folder-desc": "Du kan ekskludere både eksisterende mapper og mapper, der ikke er oprettet endnu.", "tooltip-remove-excluded-folder": "Fjern fra eksklusionslisten", "label-setup-connection": "Opsæt forbindelse", "label-connecting-to-vault": "Forbinder...", "label-connection-failed": "Der kunne ikke oprettes forbindelse", "label-connection-failed-desc": "Kunne ikke forbinde til fjernboksen.", "label-now-connected-to-vault": "Du er nu forbundet til \"{{name}}\".", "button-start-syncing": "Start synkronisering", "label-confirm-merge-vault": "Bekræft fletning af boks", "msg-vault-has-notes": "Din lokale boks indeholder allerede nogle noter.", "msg-vault-merge-warning": "Hvis du opretter forbindelse til den eksterne boks \"{{name}}\", flettes noter i din lokale boks med noter fra din eksterne boks. I tilfælde af konflikter bevares den seneste version af noten.", "tooltip-update-setting-on-all-devices": "Opdater venligst denne indstilling, og genstart appen på alle de enheder, hvor den skal træde i kraft.", "label-sharing-with-users": "Denne eksterne boks deles i øjeblikket med følgende personer.", "label-not-sharing": "Denne eksterne boks deles i øjeblikket ikke med nogen.", "label-vaults-shared-with-you": "Bokse delt med dig", "tooltip-leave-vault-sharing": "Stop samarbejde om denne boks", "label-leave-vault-confirmation": "Bekræft at stoppe samarbejde om denne boks", "label-leave-vault-confirmation-details": "Dette fjerner denne boks fra listen over bokse, der deles med dig. Denne handling kan ikke fortrydes.", "label-leave-vault-confirmation-details-2": "Kontakt venligst ejeren af boksen, hvis du ønsker at samarbejde om denne boks igen.", "button-leave": "Forlad", "msg-error-failed-to-fetch": "Dinne ikke indlæse fjernbokse.", "label-require-subscription-to-connect": "Du skal have et Obsidian Sync-abonnement for at oprette forbindelse til denne boks.", "option-contact-support": "Kontakt support", "option-contact-support-desc": "Hvis du oplever problemer med Obsidian Sync, bedes du kontakte os, så vi kan hjælpe dig! Du kan få fat i os på support@obsidian.md.", "button-copy-debug": "Kopiér fejlfindingsinfo", "button-email-support": "E-mail support", "label-sync-disconnected": "Sync er ikke forbundet med en fjernboks.", "msg-remote-vault-limit-hit": "Obsidian Sync lader dig oprette op til 5 eksterne bokse. For at oprette en ny ekstern boks skal du fjerne en eksisterende.", "label-upgrade-vault": "Opgrader boks", "label-upgrade-vault-encryption": "Opgrader boks kryptering", "label-upgrade-vault-encryption-desc": "Der er en ny krypteringsversion klar for fjernbokse.", "label-migrate-remote-vault": "Migrer fjernboks", "label-remote-vault-configuration": "Fjernboks konfiguration", "button-migrate": "Migrer", "msg-recreate-remote-vault": "Dette vil slette din fjernboks og genskabe den med den nyeste kryptering. Lokale filer vil ikke bliver rørt, men du vil miste din historik.", "label-confirm-migrate": "Bekræft migrering af din boks", "msg-migrate-pre-confirmation-part1": "For at opgradere din krypteringsmetode vil al data i boksen blive genuploaded til Obsidian Sync serverne med den nye krypteringsmetode. Denne proces vil slette al data krypteret med den gamle kryptering permanent, inklusiv versionshistorikken for boksen.", "msg-migrate-pre-confirmation-part2": "Vigtigt: vi anbefaler stærkt, at der oprettes en backup af din boks for du fortsætter for at forhindre potentiel datatab.", "msg-migrate-pre-confirmation-part3": "Når opgraderingen er færdig, skal du forbinde dine enheder igen til den opdaterede boks.", "msg-migrate-confirmation": "Migrering af din boks kan tage et stykke tid. Du bliver nødt til at lade Obsidian være aktiv på denne enhed for at få gemt alle dine noter og vedhæftninger i fjernboksen igen. Det gøres bedst på din primære enhed.", "msg-migrate-confirmation-size": "Du har {{size}} data. Migrering af din boks kan tage et stykke tid. Du bliver nødt til at lade Obsidian være aktiv på denne enhed for at få gemt alle dine noter og vedhæftninger i fjernboksen igen. Det gøres bedst på din primære enhed.", "msg-proceed-prompt": "Vil du fortsætte?", "msg-vault-migration-started": "Boksen er ved at blive migreret." }, "file-recovery": { "name": "Filgenoprettelse", "desc": "Lader dig gendanne nylige snapshots for at genoprette efter utilsigtet datatab. Snapshots gemmes kun for Markdown-filer.", "action-open": "Åbn gemte snapshots", "option-interval": "Snapshot-interval", "option-interval-description": "Minimumsinterval i minutter mellem to snapshots.", "option-keep": "Historiklængde", "option-keep-description": "Længde i dage snapshots gemmes i.", "option-open-history": "Snapshots", "option-open-history-description": "Se og gendan gemte snapshots.", "button-view-history": "Se", "option-clear": "Ryd historik", "option-clear-description": "Slet alle snapshots.", "button-clear-history": "Ryd", "label-clear-warning": "Er du sikker på, at du vil slette alle snapshots? Bemærk, at kun snapshots fjernes. Ingen filer i din boks påvirkes.", "msg-clear-complete": "Snapshots blev slettet.", "label-no-history-found": "Ingen snapshots fundet.", "placeholder-choose-file": "Vælg en fil...", "label-select-file": "Vælg venligst en fil til venstre for at se snapshots." }, "note-composer": { "name": "Notekomponist", "desc": "Flet, opdel og omstrukturer noter.", "option-confirm-file-merge": "Bekræft filfletning", "option-confirm-file-merge-description": "Spørg, inden to filer flettes.", "option-split-replacement-text": "Tekst efter udtrækning", "option-split-replacement-text-description": "Hvad der vises i stedet for den valgte tekst efter udtrækning.", "option-choice-split-replacement-text-link": "Link til ny fil", "option-choice-split-replacement-text-embed": "Indlejr ny fil", "option-choice-split-replacement-text-none": "Intet", "option-template-file": "Skabelonens filplacering", "option-template-file-description": "Skabelonfil til brug ved fletning eller udtrækning. Tilgængelige variabler: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, fx {{date:YYYY-MM-DD}}.", "command-merge-file": "Flet nuværende fil med en anden fil...", "action-merge-file": "Flet hele filen med...", "label-no-files": "Ingen filer fundet.", "instruction-navigate": "for at navigere", "instruction-merge": "for at flette", "instruction-create-new": "for at oprette ny", "instruction-merge-at-top": "for at flette til toppen", "instruction-dismiss": "for at afvise", "prompt-select-file-to-merge": "Vælg filen at flette ind i...", "label-merge-file": "Flet fil", "label-confirm-file-merge": "Er du sikker på, at du vil flette \"{{file}}\" til \"{{destination}}\"? \"{{file}}\" slettes.", "button-merge": "Flet", "command-split-file": "Udtræk nuværende markering...", "command-extract-heading": "Udtræk denne overskrift...", "instruction-append": "for at flytte til bunden", "instruction-prepend": "for at flytte til toppen", "msg-fail-to-fetch-template": "Kunne ikke hente skabelonfilen: \"{{template}}\" blev ikke fundet.", "msg-fail-to-find-heading": "Kunne ikke finde overskrift" }, "web-viewer": { "name": "Webfremviser", "history-name": "Web historik", "desc": "Åbn eksterne links til websider i Obsidian.", "action-open": "Åbn webfremviser", "action-show-history": "Vis historik", "action-toggle-reader-mode": "Skift læsningstilstand", "action-copy-u-r-l": "Kopier URL", "action-remove-from-history": "Fjern fra historik", "action-clear-history": "Ryd historik", "action-open-link": "Åbn link", "action-open-link-new-tab": "Åbn link i ny fane", "action-open-link-new-split": "Åbn link til højre", "action-open-link-new-window": "Åbn link i nyt vindue", "action-open-link-default-browser": "Kopier link i standardbrowser", "action-open-link-web-viewer": "Åben link i webfremviser", "action-copy-link-address": "Kopier link adresse", "action-bookmark-link": "Bogmærk link", "action-search-for-query": "Søg efter “{{query}}”", "action-extract-selection": "Udtræk markering til ny note", "action-copy-selection": "Kopier", "action-cut": "Klip", "action-paste": "Indsæt", "action-delete": "Slet", "action-select-all": "Vælgt alt", "action-save-to-vault": "Gem til boks", "action-save-image": "Gem billede til boks", "action-copy-image": "Kopier billede", "action-copy-image-link": "Kopier billede link", "action-backward": "Tilbage", "action-forward": "Frem", "action-reload": "Genindlæs", "action-bookmark-page": "Bogmærk side", "action-open-default-browser": "Åbn i standardbrowser", "action-focus-address-bar": "Sæt fokus på adresselinjen", "action-search-the-web": "Søg på nettet", "action-clear-data": "Ryd data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "Kan logge dig ud af websteder.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "Historik", "action-clear-data-all": "Al webviser data", "action-clear-data-all-desc": "Fjerner alt foroven såvel som alt lokalt og alle aktive sessioner.", "label-new-web-viewer": "Ny webfremviser", "label-fail-to-load": "Kunne ikke indlæse dette websted.", "label-fail-to-load-desc": "Sørg på at have den korrekte adresse.", "label-search-the-web": "Søg på nettet", "label-web-viewer-data": "Webfremviser data", "label-clear-data": "Ryd webfremviser data", "option-open-external-links": "Åbn eksterne links", "option-open-external-links-desc": "Åbn links med Obsidian i stedet for med systemets standard.", "option-homepage": "Hjemmeside", "option-homepage-desc": "Siden som skal åbnes, når en webfremviser åbnes", "option-saved-markdown": "Gemte sier mappe", "option-saved-markdown-desc": "Websteder gemt som markdown vil blive placeret her.", "option-search-engine": "Søgemaskine", "option-search-engine-desc": "Den anvendte søgemaskine, når der søges fra adresselinjen.", "option-search-engine-custom": "Brugerdefineret søgemaskine", "option-search-engine-custom-desc": "Brug %s i stedet for forespørgslen.", "option-search-engine-custom-drop-down": "Brugerdefineret", "option-enable-adblock": "Aktiver annonceblokker", "option-enable-adblock-desc": "Hvis aktiveret vil nedenstående filerliste blive anvendt for alle webfremviser faner.", "option-adblock-lists": "Regler for annonceblokker", "option-adblock-lists-desc": "En annonceblokker URL per linje. Delt af alle bokse.", "option-adblock-frequency": "Opdateringsfrekvens for annonceblokering", "option-adblock-frequency-desc": "Antal dage mellem hver opdatering af filerlister. 0 indikerer at den er nulstillet. Delt mellem alle bokse.", "title-clear-data-modal": "Ryd webfremviserdata", "msg-error-extracting-content": "Uventet fejl under udpakning af indhold.", "msg-error-finding-content": "Kunne ikke finde noget indhold til udpakning." }, "canvas": { "name": "Lærred", "desc": "Arranger og forbind noter på et uendeligt lærred.", "action-add-note": "Tilføj note fra boks", "action-add-media": "Tilføj medie fra boks", "action-add-card": "Tilføj kort", "action-add-website": "Tilføj webside", "action-create-group": "Opret gruppe", "action-create-with-size": "Opret et kort med en bestemt størrelse", "action-convert-to-file": "Konverter til fil...", "action-drag-to-add-note": "Træk for at tilføje note fra boksen", "action-drag-to-add-media": "Træk for at tilføje medie fra boksen", "action-drag-to-add-card": "Træk for at tilføje kort", "action-edit-label": "Rediger etiket", "action-remove-label": "Fjern etiket", "action-search-file": "Søg efter fil", "action-set-color": "Indstil farve", "action-align": "Juster", "action-align-left": "Venstrejuster", "action-align-center": "Centrer", "action-align-right": "Højrejuster", "action-align-top": "Juster øverst", "action-align-middle": "Juster midte", "action-align-bottom": "Juster nederst", "action-distribute-horizontal-spacing": "Fordel vandret afstand", "action-distribute-vertical-spacing": "Fordel lodret afstand", "action-justify-horizontally": "Lige margener vandret", "action-justify-vertically": "Lige margener lodret", "action-arrange-horizontally": "Arranger i en række", "action-arrange-vertically": "Arranger i en kolonne", "action-arrange-grid": "Arranger i et gitter", "action-export-png": "Eksportér som billede", "action-jump-to-group": "Spring til gruppe", "action-set-background": "Indstil baggrund", "action-edit-background": "Rediger baggrund", "action-replace-background": "Udskift baggrund", "action-remove-background": "Fjern baggrund", "label-no-images": "Ingen billeder fundet.", "label-no-media": "Ingen medier fundet.", "label-export-png-desc": "Eksportér \"{{title}}\" som en PNG-fil med nedenstående indstillinger.", "label-export-png-dimensions": "Estimerede billeddimensioner: {{dimensioner}}", "label-distribute": "Fordel", "label-justify": "Fuldjuster", "label-arrange": "Arranger", "label-always": "Altid", "label-hover": "Når musen holdes over", "label-never": "Aldrig", "label-no-section-found": "Ingen sektion fundet", "option-wheel-behavior": "Standardadfærd for musehjul", "option-mod-drag-behavior": "Standardadfærd for {{key}}", "option-show-menu": "Vis menu", "option-new-canvas-location": "Standardplacering for nye lærredfiler", "option-new-canvas-location-description": "Hvor nye lærredsfiler placeres.", "option-new-canvas-folder-path": "Mappe at oprette nye lærredsfiler i", "option-new-canvas-folder-path-description": "Nyoprettede lærredsfiler vises under denne mappe.", "option-node-label": "Vis kortetiket", "option-snap-to-grid": "Snap til gitter", "option-snap-to-grid-desc": "Snap kort til baggrundsgitteret, når du flytter og ændrer størrelse.", "option-snap-to-objects": "Snap til objekter", "option-snap-to-objects-desc": "Snap kort til nærliggende objekter, når du flytter og ændrer størrelse.", "option-zoom-breakpoint": "Zoomtærskel for at skjule kortindhold", "option-zoom-breakpoint-desc": "Lavere værdier øger ydeevnen, men skjuler kortindholdet hurtigere, når du zoomer ud.", "option-export-png-show-logo": "Vis logo", "option-export-png-show-logo-desc": "Dette tilføjer et Obsidian-logo nederst til venstre.", "option-export-png-privacy-mode": "Privatlivstilstand", "option-export-png-privacy-mode-desc": "Dette skjuler al tekst på dit lærred.", "option-export-png-zoom": "Zoom", "option-export-png-zoom-desc": "En højere zoom giver et billede med højere opløsning.", "option-export-png-frame": "Visningsområde", "option-export-png-frame-desc": "Vælg at gengive hele lærredet eller kun den nuværende synlige visning.", "option-export-png-frame-full": "Hele lærredet", "option-export-png-frame-viewport": "Kun Visningsområde", "option-background-cover": "Cover", "option-background-ratio": "Behold størrelsesforhold", "option-background-repeat": "Gentag", "action-new-canvas": "Nyt lærred", "action-remove": "Fjern", "action-narrow-heading": "Begræns til overskrift...", "action-narrow-block": "Begræns til blok...", "action-narrow-bases-view": "Fastgør view...", "action-swap-file": "Byt fil...", "action-change-url": "Skift URL...", "action-zoom-to-fit": "Zoom for at passe", "action-zoom-to-selection": "Zoom til markering", "action-reload-page": "Gendindlæs side", "action-follow-connection": "Følg forbindelse", "command-create-new-canvas": "Opret nyt lærred", "command-convert-to-file": "Konverter til fil...", "instruction-narrow-heading": "for at indlejre overskrift", "instruction-narrow-block": "for at indlejre blok", "instruction-jump-to-group": "for at navigere til gruppe", "prompt-to-narrow": "Indtast navn på overskrift", "label-enter-url": "Indtast URL", "label-empty-embed": "\"{{linktext}}\" kunne ikke findes.", "prompt-add-text": "Tilføj tekst...", "prompt-start-search": "Skriv for at søge...", "label-canvas-help": "Lærredshjælp", "label-canvas-settings": "Lærredsindstillinger", "label-no-narrow": "Vis hele filen", "label-show-default-view": "Vis standard view", "label-readonly": "Skrivebeskyttet", "label-disable-readonly": "Deaktiver skrivebeskyttelse", "label-pan": "Panorer", "label-pan-horizontal": "Panorer vandret", "label-zoom": "Zoom", "label-select-all": "Vælg alle", "label-add-remove-selection": "Tilføj/fjern fra markering", "label-clone-card": "Klon kort", "label-constrain-movement-axis": "Begræns kortets bevægelse til aksen", "label-disable-drag-snapping": "Deaktiver snapping, mens du trækker", "label-remove-card": "Fjern kort", "label-drag-from-below": "Træk nedefra eller dobbeltklik", "label-longpress": "Tryk og hold for at tilføje / flytte / vælge", "label-drag-pan": "Træk for at panorere", "label-pinch-zoom": "Knib for at zoome", "label-space-drag-pan": "Mellemrum + Træk for at panorere", "label-scroll-to-zoom": "Rul for at zoome", "label-untitled-group": "Unavngivet gruppe", "label-line-direction": "Linjeretning", "label-nondirectional": "Ikke-retningsbestemt", "label-unidirectional": "Ensrettet", "label-bidirectional": "Tovejs", "label-image": "Billede", "label-style": "Stil", "msg-no-groups-found": "Ingen grupper fundet", "msg-export-failed-empty-canvas": "Kan ikke eksportere et tomt lærred", "msg-updating-links": "Der er detekteret filnavnsændringer, som påvirker {{count}} lærred, opdaterer...", "msg-updating-links_plural": "Der er detekteret filnavnsændringer, som påvirker {{count}} lærreder, opdaterer...", "msg-updated-links": "Lærredet blev opdateret med {{count}} indlejret kort", "msg-updated-links_plural": "Lærredet blev opdateret med {{count}} indlejrede kort" }, "bases": { "name": "Baser", "desc": "Opret baser ved at udføre forespørgsler på egenskaberne i dine noter.", "action-new-base": "Ny base", "action-add-property": "Tilføj egenskab", "action-add-formula": "Tilføj formel", "action-hide-all": "Gem alle", "action-toggle-visibility": "Skift synlighed", "action-delete-property": "Slet egenskab", "action-duplicate-view": "Dupliker view", "action-delete-view": "Slet view", "action-export-c-s-v": "Eksport CSV...", "command-create-new": "Opret ny base", "command-insert-new": "Indsæt ny base", "command-copy-table": "Kopier tabel til udklipsholderen", "command-change-view": "Skift view", "command-add-view": "Tilføj view", "command-add-item": "Tilføj element", "button-add-view": "Tilføj view", "button-add-filter": "Tilføj filter", "button-add-filter-group": "Tilføj filter gruppe", "button-show-all": "Vis alle", "button-show-all-count": "Vis alle ({{count}})", "label-all-views": "Alle views", "label-current-view": "Dette view", "placeholder-search-property": "Find eller opret...", "label-computed-properties": "Beregnede egenskaber", "label-property-type": "Egenskabstype", "label-hide-property": "Skjul egenskab", "label-show-property": "Vis egenskab", "label-edit-property": "Rediger egenskab", "placeholder-formula": "x + y", "title-edit-property": "Regiger {{name}}", "label-configure-view": "Konfigurer view", "label-view-layout": "Layout", "label-global-filters": "Globale filtre", "label-view-filters": "View filtre", "label-view-name": "View navn", "label-default-view": "View", "label-view-type-table": "Tabel", "label-display-name": "Vis navn", "label-formula": "Formel", "label-sort": "Sorter", "label-filter": "Filter", "label-properties": "Egenskaber", "label-new-item": "Ny", "label-new-item-template-file": "Ny element skabelonfil", "label-new-item-folder": "Ny element mappe", "label-any-of-the-following": "Enhver af det følgende er sandt", "label-all-the-following": "Alt det følgende er sandt", "label-none-of-the-following": "Intet det følgende er sandt", "label-where": "hvor", "label-or": "eller", "label-and": "og", "label-property-key": "Egenskab", "label-untitled-property": "Unavngivet", "label-file-prop-file": "fil", "label-file-prop-name": "navm", "label-file-prop-base-name": "fil base navn", "label-file-prop-full-name": "fil fulde navn", "label-file-prop-path": "sti", "label-file-prop-folder": "mappe", "label-file-prop-ext": "extension", "label-file-prop-ctime": "oprettelsestidspunkt", "label-file-prop-mtime": "Tidspunkt modificeret", "label-file-prop-size": "fil størrelse", "label-file-prop-links": "fil links", "label-file-prop-embeds": "fil indlejringer", "label-file-prop-tags": "fil tags", "label-add-sort": "Tilføj sortering", "label-limit": "Begræns antallet af resultater", "label-sort-a-z": "A → Å", "label-sort-z-a": "Å → A", "label-sort-old-new": "Gamle til nye", "label-sort-new-old": "Nye til gamle", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View navnet kan ikke indeholde: ", "msg-filter-simple-unavailable": "Dette filter kan ikke repræsenteres med det simple filterværktøj.", "msg-filter-cannot-parse": "Filteret kunne ikke analyseres. Det simple filterværktøj kan ikke anvendes.", "msg-error-invalid-properties-section": "Ugyldig egenskabs konfiguration.", "msg-error-invalid-property-config": "Ugyldig egenskabs konfigurationsfil for \"{{ name }}\".", "msg-error-register-view": "Kunne ikke tilføje det nye base view \"{{ viewID }}\". Et view med dette ID findes allerede.", "msg-error-unable-to-parse": "Kunne ikke analysere din basefil:", "msg-error-view-not-found": "Viewet \"{{ view }}\" kunne ikke findes", "msg-error-unknown-view-type": "Base er konfigureret med enb ukendt view type: {{ viewtype }}", "msg-error-view-type": "Views skal være en sekvens", "msg-error-display-values": "Visningsværdier skal være tekststrenge. Værdiern for egenskab {{ key }} er ikke en tekststreng.", "msg-error-must-be-a-type": "\"{{ key }}\" skal være af typen {{ type }}", "msg-error-filter-type": "\"filters\" skal være en teksstreng eller et objekt", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter skal være en sekvens", "msg-error-filter-allowed-keys": "\"filters\" må kun indeholde én \"og\", \"eller\", eller \"ikke\" nøgle.", "msg-error-filter-failed-to-evaluate": "Kunne ikke analysere et filter: {{ message }}", "msg-error-formula-values": "Formelværdier skal være tekststrenge. Værdien for egenskaben {{ key }} er ikke en tekststreng.", "msg-error-computed-failed-to-compute": "Kunne ikke beregne værdien af egenskaben \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Forespørgslen har et ugyldigt format. Det skal være et YAML objekt.", "msg-error-view-invalid-format": "\"view\" elementer skal være et YAML objekt, og elementet {{ index }} er ikke", "msg-error-view-name-invalid": "\"Navnet\" mangler eller er ugyldigt i view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" kræves i view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" skal være af type {{ type }} i view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" værdier skal alle være af type {{ type }} i view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Kunne ikke læse filtre i view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Uendelig løkke detekteret i formlen", "msg-error-invalid-property": "Ugyldig egenskab", "msg-new-item-filtered": "Denne note bliver filtreret fra, da den ikke matcher dine kriterier", "placeholder-filter-advanced-mode": "Advanceret filter", "placeholder-limit": "f.eks. 10", "tooltip-filter-advanced-mode": "Avanceret filter", "tooltip-filter-simple-mode": "Simpelt filter", "tooltip-remove-filter": "Fjern filter", "cards": { "name": "Kort", "label-card-size": "Kort størrelse", "label-image-property": "Billedegenskab", "label-image-fit": "Billedtilpasning", "option-image-fit-cover": "Omslag", "option-image-fit-contain": "Indhold", "label-image-aspect-ratio": "Billedformatforhold" }, "table": { "name": "Tabel", "action-hide-column": "Skjul kolonne", "action-edit-property": "Rediger egenskab...", "action-edit-formula": "Rediger formel...", "action-sort-default": "Nulstil sortering", "action-sort-a-z": "Sorter A → Å", "action-sort-z-a": "Sorter Å → A" } } }, "formulas": { "msg-error-parse-formula": "Kunne ikke læse formlen \"{{ formula }}\"", "msg-error-invalid-function": "Kan ikke finde funktionen \"{{ function }}\"", "msg-error-invalid-instance-function": "Kan ikke finde funktionen \"{{ function }}\" for type {{ type }}", "msg-error-not-enough-arguments": "Kan ikke kalde funktionen \"{{ function }}\", der er ikke nok argumenter.", "msg-error-too-many-arguments": "Kan ikke kalde funktionen \"{{ function }}\", der er for mange argumenter.", "msg-error-type-error": "Skrivefejl i \"{{ function }}\", parameter \"{{ parameter }}\". Forventede {{ expected }}, fandt {{ given }}.", "msg-error-invalid-array-access": "Kan ikke tilgå indekset {{ index }} på en ikke-array værdi", "msg-error-invalid-object-access": "Kan ikke finde {{ index }} for type {{ type }}" }, "pdf": { "action-highlight-all": "Fremhæv alle", "action-match-diacritics": "Match diakritiske tegn", "action-whole-words": "Hele ord", "action-show-thumbnails": "Miniaturebilleder", "action-show-outline": "Indholdsfortegnelse", "action-reveal-in-outline": "Vis side i indholdfortegnelsen", "action-toggle-sidebar": "Slå sidebjælke til/fra", "action-previous-page": "Forrige side", "action-next-page": "Næste side", "action-fit-width": "Tilpas bredde", "action-fit-height": "Tilpas højde", "action-save-p-d-f-location": "Gem nuværende position i dokument", "action-copy-annotation": "Kopiér annotation", "action-copy-quote": "Kopiér som citat", "action-copy-selection-link": "Kopiér link til markering", "action-copy-annot-link": "Kopiér link til annotation", "action-copy-section-link": "Kopiér link til sektion", "action-copy-section-link-title": "Kopiér link til “{{title}}”", "action-copy-page-link": "Kopiér link til {{page}}", "msg-max-search-results": "{{current}} af over {{limit}} matcher", "msg-search-count": "{{current}} af {{total}} matcher", "msg-search-count_plural": "{{current}} af {{total}} matcher", "msg-password-protected": "Denne PDF er adgangskodebeskyttet", "msg-invalid-password": "Ugyldig adgangskode", "msg-enter-password": "Indtast adgangskoden nedenfor", "label-of-pages": "af {{count}}", "label-page-of-pages": "({{current}} af {{count}})", "label-spread-single": "Enkeltsidet", "label-spread-odd": "Dobbeltsidet (ulige)", "label-spread-even": "Dobbeltsidet (lige)", "tooltip-sidebar-options": "Indstillinger for sidebjælke", "tooltip-display-options": "Indstillinger for visning", "label-adapt-to-theme": "Tilpas til tema", "label-page": "side {{page}}", "page_landmark": "Side {{page}}", "thumb_page_title": "Side {{page}}", "thumb_page_canvas": "Side {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Liste", "option-unknown": "Ukendt", "option-text": "Tekst", "option-aliases": "Aliasser", "option-tags": "Tags", "option-folder": "Mappe", "option-file": "Fil", "option-date": "Dato", "option-datetime": "Dato & tid", "option-number": "Nummer", "option-checkbox": "Afkrydsningsfelt" }, "value-suggestion": { "key-link-note": "Indtast [[", "instruction-link-note": "for at linke note", "instruction-dismiss": "for at afvise" }, "option-property-type": "Egenskabstype", "msg-empty-property-name": "Egenskabsnavn må ikke være tomt.", "msg-duplicate-property-name": "Egenskab findes allerede", "msg-invalid-tag": "Ugyldigt tagnavn", "msg-invalid-number": "Ugyldigt nummer", "msg-invalid-properties": "Kunne ikke læse egenskaber.", "label-no-value": "Ingen værdi", "label-heading": "Egenskaber", "label-invalid-heading": "Ugyldige egenskaber", "label-show-source": "Vis kilde", "label-invalid-yaml-marker": "Syntaksfejl. Dit frontmatter er ugyldigt.", "label-add-property-button": "Tilføj egenskab", "label-type-mismatch-warning": "Type uoverensstemmelse; forventede {{type}}", "label-type-mismatch-warning-generic": "Type uoverensstemmelse", "label-change-property-type": "Vis som {{type}}?", "label-change-property-type-desc": "Din {{oldType}} data er ikke kompatible. Den vil blive tilpasset det nye format." }, "table": { "label-column": "Kolonne", "label-row": "Række", "action-row-after": "Tilføj række efter", "action-column-after": "Tilføj kolonne efter", "action-row-before": "Tilføj række før", "action-row-up": "Flyt række op", "action-row-down": "Flyt række ned", "action-column-before": "Tilføj kolonne før", "action-column-left": "Flyt kolonne til venstre", "action-column-right": "Flyt kolonne til højre", "action-duplicate-row": "Dupliker række", "action-duplicate-column": "Dupliker kolonne", "action-delete-row": "Slet række", "action-delete-column": "Slet kolonne", "action-align-left": "Venstrejuster", "action-align-center": "Centrer", "action-align-right": "Højrejuster", "action-delete-selection": "Slet celler", "action-clear-selection": "Ryd celler", "action-sort-a-z": "Sorter kolonner (A to Å)", "action-sort-z-a": "Sorter kolonner (Å to A)", "label-command": "Tabel: {{command}}" }, "callout": { "option-type": "Bemærkningstype", "type": { "info": "Info", "important": "Vigtigt", "tip": "Tip", "success": "Succes", "question": "Spørgsmål", "warning": "Advarsel", "quote": "Citat", "example": "Eksempel", "none": "Ingen" }, "option-other": "Andre...", "option-other-placeholder": "Bemærkningstype..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} ord", "word-with-count_plural": "{{count}} ord", "result-with-count": "{{count}} resultat", "result-with-count_plural": "{{count}} resultater", "character-with-count": "{{count}} tegn", "character-with-count_plural": "{{count}} tegn", "link-with-count": "{{count}} link", "link-with-count_plural": "{{count}} links", "file-with-count": "{{count}} fil", "file-with-count_plural": "{{count}} filer", "folder-with-count": "{{count}} mappe", "folder-with-count_plural": "{{count}} mapper", "backlink-with-count": "{{count}} tilbagelink", "backlink-with-count_plural": "{{count}} tilbagelinks", "tabs-with-count": "{{count}} fane", "tabs-with-count_plural": "{{count}} faner", "properties-with-count": "{{count}} egenskab", "properties-with-count_plural": "{{count}} egenskaber", "site-with-count": "{{count}} webside", "site-with-count_plural": "{{count}} websider", "plugin-with-count": "{{count}} plugin", "plugin-with-count_plural": "{{count}} plugins", "plugin-active-with-count": "{{count}} aktive", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} tema", "theme-with-count_plural": "{{count}} temaer" } } { "setting": { "options": "Optionen", "plugin": "Erweiterungen", "builtin-plugins": "Obsidian-Erweiterungen", "plugin-options": "Erweiterungs-Einstellungen", "folder-path-example-placeholder": "Beispiel: Ordner 1/Ordner 2", "file-path-example-placeholder": "Beispiel: Ordner/Notiz", "msg-restart-required": "Damit diese Änderungen wirksam werden, starte Obsidian bitte neu.", "editor": { "name": "Editor", "section-behavior": "Verhalten", "section-display": "Anzeige", "option-spellcheck": "Rechtschreibprüfung", "option-spellcheck-description": "Schaltet die Rechtschreibprüfung ein.", "spellcheck-languages": "Rechtschreibprüfung - Sprachen", "spellcheck-languages-description": "Wähle die Sprachen aus, für die die Rechtschreibprüfung aktiv sein soll.", "spellcheck-languages-mac-description": "Die eingebaute Rechtschreibprüfung erkennt auf macOS automatisch die Sprache, die du für Obsidian nutzt.", "spellcheck-dict": "Wörterbuch für die Rechtschreibprüfung", "spellcheck-dict-empty": "Das Wörterbuch für die Rechtschreibprüfung ist leer.", "option-show-inline-title": "Zeige Titel in Notiz", "option-show-inline-title-description": "Zeigt den Dateinamen als bearbeitbaren Titel zusammen mit den Dateiinhalten in der Notiz an.", "option-readable-line-length": "Lesbare Zeilenlänge", "option-readable-line-description": "Begrenzt die maximale Zeilenlänge. Es passt weniger Inhalt auf den Bildschirm, dafür sind lange Absätze besser lesbar.", "option-strict-line-break": "Strenge Zeilenumbrüche", "option-strict-line-break-description": "Ignoriert einzelne Zeilenumbrüche im Lesemodus gemäß Markdown-Spezifikation. Schalte dies aus, um einzelne Zeilenumbrüche auch im Lesemodus anzuzeigen.", "option-properties-in-document": "Eigenschaften im Dokument", "option-properties-in-document-description": "Wähle aus, ob die Eigenschaften im Lesemodus und der Live-Vorschau angezeigt werden sollen. Wähle \"Quelle\", um die Eigenschaften in der Live-Vorschau als YAML anzuzeigen.", "option-properties-hidden": "Nicht sichtbar", "option-properties-visible": "Sichtbar", "option-properties-source": "Quelle", "option-auto-pair-brackets": "Automatische Klammerpaare", "option-auto-pair-brackets-description": "Setzt automatisch Klammern- und Anführungszeichen-Paare.", "option-auto-pair-markdown": "Automatische Markdown-Vervollständigung", "option-auto-pair-markdown-description": "Setzt automatisch Symbol-Paare für Fett- und Kursivschrift.", "option-smart-indent-lists": "Intelligenter Zeileneinzug", "option-smart-indent-lists-description": "Schaltet den automatischen Zeilen- und Listeneinzug ein.", "option-fold-heading": "Überschriften einklappen", "option-fold-heading-description": "Klappt alles unterhalb einer Überschrift ein.", "option-fold-indent": "Zeileneinzug einklappen", "option-fold-indent-description": "Klappt einen Teil des gleichen Zeileneinzugs, etwa bei Listen, ein.", "option-default-new-tab-view": "Standard-Ansicht für neue Tabs", "option-default-new-tab-view-description": "Standard-Ansicht, in der sich neue Markdown-Tabs öffnen.", "option-default-new-tab-view-editing": "Bearbeitungsmodus", "option-default-new-tab-view-reading": "Lesemodus", "option-open-tab-in-foreground": "Neue Tabs immer fokussieren", "option-open-tab-in-foreground-description": "Beim Öffnen eines Links in einem neuen Tab sofort zu diesem wechseln.", "option-default-editing-mode": "Standardmodus zum Bearbeiten", "option-default-editing-mode-description": "Der Standardmodus, in dem ein neuer Fensterbereich zum Bearbeiten geöffnet wird.", "option-default-editing-mode-source": "Quellcode-Ansicht", "option-default-editing-mode-live-preview": "Live-Vorschau", "option-show-line-number": "Zeilennummern zeigen", "option-show-line-number-description": "Zeigt Zeilennummern im Steg an.", "option-indentation-guide": "Einrück-Hilfen anzeigen", "option-indentation-guide-description": "Zeigt vertikale Linien für eine visuelle Hilfe zum Einrücken zwischen Listeneinträgen an.", "option-use-tabs": "Tabs nutzen", "option-use-tabs-description": "Nutzt Tabs für den Zeileneinzug, wenn die \"Tab\"-Taste gedrückt wird. Schalte dies aus, um Leerzeichen zu verwenden.", "option-tab-size": "Länge der Tabs", "option-tab-size-description": "Definiert die Anzahl der Leerzeichen, die einem Tab entsprechen.", "option-rtl": "Schrift - Rechts nach Links (RTL)", "option-rtl-description": "Ändert die Ausrichtung des Texts in Notizen von rechts nach links.", "option-auto-convert-html": "HTML automatisch konvertieren", "option-auto-convert-html-description": "Konvertiert HTML automatisch nach Markdown, wenn Inhalte von Webseiten durch Ziehen und Ablegen eingefügt werden. Nutze STRG/CMD+Shift+V, um ohne Konvertierung einzufügen.", "option-vim-key-bindings": "Vim-Tastenbindung", "option-vim-key-bindings-description": "Erlaubt die Nutzung der VIM-Tastenbelegung im Quellcode Editor.", "option-vim-key-bindings-mobile": "Auf mobilen Geräten kann diese Einstellung für jedes Gerät separat gewählt werden und wird nicht über die Konfigurationsdatei synchronisiert.", "option-reindex-vault": "Vault-Cache zurücksetzen", "option-reindex-vault-description": "Das erneute Aufbauen des Cache kann je nach Größe des Vaults einige Sekunden bis Minuten beanspruchen.", "label-reindex": "Zurücksetzen", "label-confirm-enable-vim": "Vim-Modus bestätigen", "label-vim-warning": "Mit dem Vim-Modus können Texte effizient bearbeitet werden, aber dieser Modus ist nicht immer sehr intuitiv. Falls du dich nicht mit Vim auskennst, könnte diese Option es aussehen lassen, als ob Obsidian nicht mehr funktionieren würde.", "label-vim-test": "Um zu zeigen, dass du dich mit Vim auskennst, gib bitte unten den Befehl ein, der Vim schließt, ohne zu speichern:", "label-vim-your-answer": "Deine Antwort", "placeholder-enter-command": "Befehl eingeben...", "button-confirm-enable-vim": "Aktiviere Vim", "msg-vim-mode-enabled": "Der Befehl ist korrekt. Vim-Modus ist jetzt aktiviert.", "msg-vim-mode-not-enabled": "Der Befehl ist nicht korrekt. Vim-Modus bleibt zur Sicherheit deiner Dateien deaktiviert.", "msg-vim-mode-please-enter-command": "Bitte gib den Befehl ein, um den Vim-Modus zu aktivieren" }, "file": { "name": "Dateien & Links", "option-confirm-file-deletion": "Löschen der Datei bestätigen", "option-confirm-file-deletion-description": "Zeigt Bestätigungsdialog zum Löschen einer Datei.", "option-delete-destination": "Gelöschte Dateien", "option-delete-destination-description": "Was soll mit gelöschten Dateien geschehen?", "option-choice-system-trash": "In Papierkorb (System) verschieben", "option-choice-vault-trash": "In Papierkorb (Obsidian, .trash Ordner) verschieben", "option-choice-permanent-delete": "Endgültig löschen", "option-always-update-links": "Interne Links automatisch aktualisieren", "option-always-update-links-description": "Aktualisiert Links automatisch, wenn eine Datei umbenannt wird.", "option-new-note-location": "Standardordner für neue Notizen", "option-new-note-location-description": "Speichert neue Notizen an diesem Ort. Wird ggf. von Erweiterungs-Einstellungen überschrieben.", "option-choice-vault-root": "Im Vault Hauptordner", "option-choice-current-folder": "Im aktuellen Ordner (bei geöffneter Notiz)", "option-choice-specified-folder": "Eigenen Ordner unten festlegen", "option-new-file-folder-path": "Ordner für neu erstellte Notizen", "option-new-file-folder-path-description": "Speichert neue Notizen an diesem Ort. Wird ggf. von Erweiterungs-Einstellungen überschrieben.", "option-use-wiki-links": "[[Wiki-Links]] benutzen", "option-use-wiki-links-description": "Erzeugt automatisch Wiki-Links für [[Links]] und ![[Bilder]] anstelle von Markdown-Links und Bildern. Deaktiviere diese Option, um stattdessen Markdown-Links zu erzeugen.", "option-show-unsupported-files": "Alle Datei-Endungen erkennen", "option-show-unsupported-files-description": "Zeigt Dateien mit allen Endungen, selbst wenn Obsidian diese Dateien nicht nativ öffnen kann. Damit kannst du sie verlinken und im Dateiexplorer und in der Schnellauswahl sehen.", "option-link-autocompleted-format": "Link-Format", "option-link-autocompleted-format-description": "Welche Form haben automatisch erzeugte, interne Links?", "option-choice-shortest-linktext": "Wenn möglich: kürzester Pfad", "option-choice-relative-path": "Relativer Pfad (der aktuellen Datei)", "option-choice-absolute-path": "Absoluter Pfad im Vault", "option-new-attachment-location": "Standardordner für neue Anhänge", "option-new-attachment-location-description": "Wo werden neu hinzugefügte Anhänge platziert?", "option-new-attachment-location-default": "Anhänge", "option-choice-subdirectory": "In Unterordner des aktuellen Ordners", "option-attachment-folder-path": "Ordnerpfad für Anhänge", "option-attachment-folder-path-description": "Speichert neu angehängte Dateien in diesem Ordner, wie z.B. durch Ziehen und Ablegen eingefügte Bilder oder Audioaufzeichnungen.", "option-attachment-subfolder-path": "Name des Unterordners", "option-attachment-subfolder-path-description": "Wenn deine Datei unter \"vault/folder\" liegt und du den Unterordner \"attachments\" genannt hast, werden Anhänge unter \"vault/folder/attachments\" gespeichert.", "option-excluded-files": "Ignorierte Dateien", "option-excluded-files-desc": "Ignorierte Dateien sind entweder ausgeblendet oder weniger auffällig an verschiedenen Stellen, wie z.B. in der Schnellauswahl, Linkvorschlägen und der Graph-Ansicht.", "label-no-excluded-filters-applied": "Im Moment werden keine Dateien ignoriert. Füge einen Filter hinzu.", "label-excluded-filters-applied": "Dateien, die den folgenden Filterkriterien entsprechen, werden momentan ignoriert:", "label-excluded-filter": "Filter", "message-empty-filter": "Filter darf nicht leer sein", "placeholder-excluded-filter": "Pfad oder \"/regex/\" eingeben...", "option-uri-callbacks": "URI-Callbacks erlauben", "option-uri-callbacks-desc": "Bei der Behandlung von Obsidian-URIs die Verwendung von X-Callback-URLs durch x-success oder x-error aktivieren." }, "appearance": { "name": "Darstellung", "option-base-theme": "Standard-Farbschema", "option-base-theme-description": "Wähle das Standard-Farbschema für Obsidian.", "option-accent-color": "Akzentfarbe", "option-accent-color-description": "Wähle eine Akzentfarbe, die in der gesamten Anwendung verwendet werden soll.", "dark-theme": "Dunkel", "light-theme": "Hell", "system-theme": "An System anpassen", "option-font": "Schriftart", "option-advanced": "Erweitert", "option-interface": "Interface", "option-interface-font": "Standard-Schriftart", "option-interface-font-description": "Wähle die Standard-Schriftart für Obsidian.", "option-zoom-level": "Vergrößerungsstufe", "option-zoom-level-description": "Wähle eine Vergrößerungsstufe für die gesamte Anwendung.", "option-text-font": "Text-Schriftart", "option-text-font-description": "Wähle eine Schriftart für die Bearbeitungs- und Leseansicht.", "option-monospace-font": "Monospace-Schriftart", "option-monospace-font-description": "Wähle eine Schriftart für Quelltext-Blöcke und Frontmatter.", "label-single-font-currently-in-effect": "Aktuell verwendete Schriftart: ", "label-multiple-fonts-currently-in-effect": "Die folgenden Schriftarten werden momentan verwendet:", "option-font-placeholder": "Name der Schriftart eingeben...", "label-no-custom-font-set": "Derzeit wird keine eigene Schriftart verwendet. Füge unten eine hinzu.", "label-font-applied": "Es wird die erste Schriftart aus dieser Liste verwendet, die auf deinem System verfügbar ist.", "msg-font-not-found": "Diese Schriftart wurde auf deinem System nicht gefunden.", "msg-font-found": "Diese Schriftart wurde auf deinem System gefunden.", "label-font-name": "Name der Schriftart", "option-community-themes": "Farbschemata aus der Community", "option-community-themes-description": "Vorschau und Verwendung der von unserer Community erstellten Farbschemata.", "button-browse-community-themes": "Durchsuchen", "option-font-size": "Schriftgröße", "option-font-size-description": "Schriftgröße in Pixeln für die Bearbeitungs- und Leseansicht.", "option-font-size-action": "Schnellanpassung der Schriftgröße", "option-font-size-action-description": "Die Schriftgröße kann durch Strg + Scrollen oder durch eine Zoom-Geste auf dem Trackpad angepasst werden.", "option-themes": "Farbschemata", "option-manage-themes-description": "Verwalte installierte Farbschemata und durchsuche die Community-Themes.", "option-theme-button-manage": "Verwalten", "option-choice-none": "Keines", "option-native-menus": "Native Menüs", "option-native-menus-desc": "Der Menü-Stil wird an das Betriebssystem angepasst. Das gewählte Farbschema hat darauf keinen Einfluss.", "button-reload-themes": "Farbschemata neu laden", "msg-reloaded-themes": "Farbschemata wurden neu geladen.", "button-open-themes-folder": "Farbschemata-Ordner öffnen", "option-css-snippets": "CSS-Bausteine", "label-no-css-snippets-found": "Keine CSS-Bausteine gefunden.", "no-snippet-description": "CSS-Bausteine sind in \"{{path}}\" gespeichert.", "button-reload-snippets": "CSS-Bausteine neu laden", "button-open-snippets-folder": "CSS-Baustein-Ordner öffnen", "msg-reloaded-snippets": "CSS-Bausteine wurden neu geladen.", "option-toggle-snippet-description": "Wende CSS-Baustein unter \"{{path}}\" an.", "label-installed-themes": "Installierte Farbschemata", "label-screenshot-unavailable": "Bildschirmaufnahme nicht verfügbar", "label-default-theme": "Standard", "tooltip-click-to-enlarge": "Klicke zum Vergrößern", "button-update": "Aktualisieren", "label-currently-active": "Aktiv", "option-frame-style": "Stil des Obsidian-Fensters", "option-frame-description": "Stellt die Titelleiste aller Obsidian-Fenster ein. Das erfordert einen Neustart der Anwendung.", "option-frame-hidden": "Ausgeblendet (Standard)", "option-frame-obsidian": "Obsidian", "option-frame-native": "Nativ", "option-custom-icon": "Benutzerdefiniertes App-Symbol", "option-custom-icon-desc": "Ein eigenes Symbol für die App festlegen", "button-choose-custom-icon": "Benutzerdefiniertes Symbol auswählen", "option-configure-ribbon": "Werkzeugleiste", "option-configure-ribbon-desc": "Konfiguriere, welche Befehle in der Werkzeugleiste erscheinen sollen.", "option-mobile-quick-ribbon-item": "Schnellzugriff auf Werkzeugleisten-Befehl", "option-mobile-quick-ribbon-item-desc": "Der Befehl wird durch Antippen in der Werkzeugleiste aktiviert. Antippen und Halten zeigt das Menü an.", "option-mobile-quick-ribbon-default": "Werkzeugleiste öffnen", "button-configure": "Konfigurieren", "option-show-ribbon": "Werkzeugleiste anzeigen", "option-show-ribbon-desc": "Vertikale Werkzeugleiste neben dem Fenster anzeigen.", "label-additional-ribbon-items": "Andere Werkzeugleisten-Befehle", "label-modal-configuration": "Werkzeugleisten-Konfiguration", "label-modal-configuration-desc": "Wähle aus, welche Befehle in der Werkzeugleiste aktiviert sein sollen. Ändere die Reihenfolge durch Ziehen und Ablegen.", "option-show-view-header": "Zeige Tab-Titelleiste", "option-show-view-header-desc": "Zeigt die Titelleiste am oberen Rand jedes Tabs an.", "msg-updates-found": "{{count}} Farbschema zum Aktualisieren gefunden.", "msg-updates-found_plural": "{{count}} Farbschemata zum Aktualisieren gefunden.", "button-check-for-updates": "Nach Aktualisierungen suchen", "button-view-updates": "Aktualisierungen anzeigen", "button-update-all-themes": "Alle aktualisieren", "label-current-themes": "Aktuelle Farbschemata aus der Community", "label-currently-installed": "Du hast derzeit {{count}} Farbschema installiert.", "label-currently-installed_plural": "Du hast derzeit {{count}} Farbschemata installiert." }, "hotkeys": { "name": "Tastenkürzel", "option-search": "Tastenkürzel durchsuchen", "option-search-desc": "Zeige {{count}} Tastenkürzel. ", "option-search-desc_plural": "Zeige {{count}} Tastenkürzel. ", "option-search-conflict": "{{count}} Befehl mit Konflikten.", "option-search-conflict_plural": "{{count}} Befehle mit Konflikten.", "prompt-filter": "Filtern...", "tooltip-delete-hotkey": "Tastenkürzel löschen", "label-waiting-for-hotkey-press": "Tastenkürzel drücken...", "label-show-all": "Alle", "label-show-unassigned": "Nicht zugewiesen", "label-show-assigned": "Zugewiesen", "label-show-user-assigned": "Zugewiesen von mir", "tooltip-restore-default": "Standard wiederherstellen", "tooltip-customize-command": "Eigenes Tastenkürzel festlegen", "tooltip-hotkey-single-conflict": "Dieses Tastenkürzel und \"{{command}}\" überschneiden sich.", "tooltip-hotkey-multiple-conflicts": "Dieses Tastenkürzel überschneidet sich mit {{count}} anderen.", "label-blank-hotkey": "Leer" }, "about": { "name": "Allgemein", "label-commercial-license": "Kommerzielle Lizenz", "label-license-key": "Lizenzschlüssel", "license-key-placeholder": "Dein Lizenzschlüssel...", "label-activate-license": "Lizenz aktivieren", "button-activate": "Aktivieren", "label-unknown-version": "Unbekannt", "label-current-version": "Aktuelle Version: ", "label-install-version": "(Installer-Version: {{version}})", "label-up-to-date": "Deine Anwendung ist auf dem neuesten Stand!", "label-read-changelog": "Liste der Änderungen lesen.", "label-manual-update-required": "Um die neuesten Funktionen zu unterstützen und die aktuellsten Sicherheitspatches zu erhalten, benötigt Obsidian eine umfangreiche Neuinstallation. Du musst Obsidian erneut manuell herunterladen und neu installieren.", "label-new-version-ready": "Eine neue Version ist bereit zur Installation.", "label-disabled-updates": "Aktualisierungen sind deaktiviert.", "button-relaunch": "Neu starten", "button-check-for-updates": "Nach Aktualisierungen suchen", "option-auto-update": "Automatische Aktualisierungen", "option-auto-update-description": "Ausschalten, um die automatische Suche nach Aktualisierungen zu deaktivieren.", "option-check-slow-startup": "Benachrichtigen, wenn der Startvorgang ungewöhnlich lange dauert", "option-check-slow-startup-description": "Zeige zur Fehlerdiagnose die Ladezeiten einzelner Anwendungskomponenten an.", "button-check-startup": "Jetzt überprüfen", "option-get-help": "Hilfe", "option-get-help-description": "Hilfe zum Umgang mit Obsidian.", "button-open": "Öffnen", "option-language": "Sprache", "option-language-description": "Wähle die Anzeige-Sprache aus.", "option-insider-build": "Insider-Builds erhalten", "option-insider-build-description": "Lädt automatisch Insider-Builds herunter, um neue Funktionen zu testen. Achtung: Diese Builds sind brandneu und könnten weniger stabil sein.", "option-advanced": "Erweitert", "option-hw-acceleration": "Hardware-Beschleunigung", "option-hw-acceleration-description": "Aktiviert die Hardware-Beschleunigung, um Obsidian durch deine GPU flüssiger darzustellen.", "option-hw-acceleration-warning": "Wenn du das deaktivierst, kann die Leistung der Anwendung stark beeinträchtigt werden.", "option-config-location": "Konfigurationsordner überschreiben", "option-config-location-description": "Nutzt einen anderen als den Standardordner für Konfigurationsdateien. Muss mit einem Punkt beginnen.", "option-config-location-warning": "Konfigurationsordner muss ein gültiger Ordnername sein, der mit einem Punkt beginnt.", "label-license": "Lizenz", "label-your-commercial-license-key": "Dein kommerzieller Lizenzschlüssel ist \"{{key}}\".", "label-commercial-license-info": "Registriert bei \"{{company}}\" für {{seats}} Benutzer. Gültig bis {{expiry}}.", "label-validating-commercial-license": "Bestätigen...", "label-invalid-commercial-license": "Lizenz ungültig: ", "button-remove-commercial-license": "Entfernen", "option-catalyst": "Catalyst-Lizenz", "option-catalyst-desc": "Du nutzt aktuell die {{tier}} Catalyst-Lizenz. Vielen Dank für deine Unterstützung!", "option-catalyst-desc-no-license": "Du nutzt aktuell keine Catalyst-Lizenz. Die Catalyst-Lizenz ist eine einmalige Spende, um die Entwicklung von Obsidian zu unterstützen.", "label-app": "Anwendung", "label-add-own-language": "Erfahre, wie du deine Sprache zu Obsidian hinzufügen kannst." }, "account": { "name": "Nutzerkonto", "option-your-account": "Dein Nutzerkonto", "option-your-account-desc": "Du bist momentan angemeldet als {{name}} ({{email}}).", "option-your-account-desc-no-login": "Du bist momentan nicht angemeldet. Ein Nutzerkonto ist nur notwendig für Obsidian Sync, Obsidian Publish und Catalyst Insider Builds.", "label-insider": "Insider", "label-supporter": "Unterstützer", "label-vip": "VIP", "button-upgrade-catalyst": "Erweitern", "option-commercial-license": "Kommerzielle Lizenz", "option-commercial-license-desc": "Hilf mit, dass Obsidian 100% nutzerfinanziert bleibt.", "button-purchase": "Erwerben", "button-log-out": "Abmelden", "label-log-in": "Anmelden", "label-sign-up": "Registrieren", "label-email": "E-Mail", "placeholder-email": "Deine E-Mail...", "label-name": "Vollständiger Name", "label-password": "Passwort", "placeholder-password": "Dein Passwort...", "label-forgot-password": "Passwort vergessen?", "button-login": "Anmelden", "message-empty-email": "E-Mail darf nicht leer sein.", "message-invalid-email": "E-Mail ist ungültig.", "message-empty-password": "Passwort darf nicht leer sein.", "message-login-failed": "Anmeldung fehlgeschlagen, bitte überprüfe deine E-Mail und dein Passwort.", "message-signup-failed": "Anmeldung fehlgeschlagen", "label-no-account": "Du hast noch kein Nutzerkonto? ", "link-sign-up-now": "Jetzt anmelden", "label-mfa-code": "6-stelliger 2FA-Code", "mfa-wrong-format": "Der 2FA-Authentifizierungscode muss 6-stellig sein.", "mfa-verification-failed": "Der 2FA-Code ist falsch, bitte überprüfe deine Authentifizierungs-App." }, "core-plugin": { "plugin-list": "Liste der Erweiterungen", "option-search-plugin": "Durchsuche Obsidian-Erweiterungen", "option-search-plugin-description": "Filtere Erweiterungen nach Name oder Beschreibung.", "placeholder-search-plugin": "Durchsuche Erweiterungen..." }, "third-party-plugin": { "name": "Externe Erweiterungen", "option-restricted-mode": "Eingeschränkter Modus", "option-restricted-mode-description": "Eingeschränkter Modus ist abgeschaltet. Schalte ihn ein, um Community-Erweiterungen zu deaktivieren.", "button-turn-on": "Einschalten", "option-browse-community-plugins": "Community-Erweiterungen", "option-browse-community-plugins-description": "Durchsuche und installiere von unserer großartigen Community erstellte Erweiterungen.", "button-browse": "Durchsuchen", "label-exit-restricted-mode": "Eingeschränkten Modus verlassen", "label-exit-restricted-mode-description-1": "Community-Erweiterungen, wie auch jede andere Software, die du installierst, können potentiell Probleme mit der Daten-Integrität und -Sicherheit verursachen.", "label-exit-restricted-mode-description-2": "Die Sicherheit von Erweiterungen ist uns sehr wichtig. Hier siehst du, was wir tun:", "label-exit-restricted-mode-description-3": "Trotz unserer Anstrengungen besteht trotzdem eine kleine Chance, dass eine Community-Erweiterung sich unangemessen verhält.", "label-code-review": "Erster Code-Review", "label-code-review-desc": "Erweiterungen werden von unserem Team einem Code-Review unterzogen, bevor sie im Store erscheinen.", "label-open-source": "Open Source", "label-open-source-desc": "Die meisten Erweiterungen sind Open Source auf Github, du kannst den Code daher selbst untersuchen.", "label-peer-audit": "Peer-Audit", "label-peer-audit-desc": "Wir haben eine große Community von Entwicklern, die ein Auge aufeinander haben.", "label-report-mechanism": "Meldesystem", "label-report-mechanism-desc": "Wir verfolgen und entfernen fehlerhafte Plugins nach Meldung durch unsere Benutzer.", "label-exit-restricted-mode-disable-confirmation": "Möchtest du den eingeschränkten Modus verlassen, um Community-Erweiterungen zu aktivieren? Wir empfehlen dir dringend, vorher ein Backup deiner Daten zu machen.", "label-learn-more": "Erfahre mehr zur Sicherheit von Erweiterungen", "button-turn-on-community-plugins": "Community-Erweiterungen aktivieren", "label-trust-author": "Vertraust du dem Ersteller dieses Vaults?", "label-trust-author-description-1": "Du öffnest diesen Vault zum ersten Mal, und er enthält einige Erweiterungen.", "label-trust-author-description-2": "Wenn du diesen Vault nicht selbst erstellt hast, beachte bitte, dass Erweiterungen unbekannter Herkunft ein Sicherheitsrisiko darstellen können.", "label-trust-author-description-3": "Falls du dem Ersteller dieses Vaults nicht komplett vertraust, empfehlen wir, im eingeschränkten Modus zu bleiben, damit Erweiterungen in diesem Vault nicht ausgeführt werden.", "button-enable-plugins": "Dem Ersteller vertrauen und Erweiterungen aktivieren", "button-dont-trust-author": "Vault im eingeschränkten Modus betrachten", "placeholder-community-plugins": "Durchsuche Community-Erweiterungen...", "msg-failed-load-plugins": "Laden der Community-Erweiterungen fehlgeschlagen.", "label-installed": "Installiert", "button-install": "Installieren", "button-enable": "Aktivieren", "button-disable": "Deaktivieren", "button-copy-share-link": "Öffentlichen Link kopieren", "button-donate": "Spenden", "label-no-results-found": "Keine Ergebnisse gefunden.", "label-no-recent-files-found": "Keine kürzlich verwendeten Dateien gefunden. Suchen...", "msg-failed-to-load-manifest": "Laden des Erweiterungs-Manifests fehlgeschlagen.", "label-version": "Version: {{version}}", "label-currently-installed-version": " (aktuell installiert: {{version}})", "label-by-author": "Von ", "label-repository": "Repository: ", "label-last-update": "Letzte Aktualisierung: ", "tooltip-view-last-update": "Zeige die letzte Aktualisierung", "label-unsupported": "Dein Gerät wird von dieser Erweiterung nicht unterstützt.", "button-update": "Aktualisieren", "label-no-readme": "Diese Erweiterung enthält keine README Datei.", "msg-installing-plugin": "Installiere Erweiterung \"{{name}}\"...", "msg-failed-to-install-plugin": "Installieren der Erweiterung \"{{name}}\" fehlgeschlagen.", "msg-successfully-installed-plugin": "Installation der Erweiterung \"{{name}}\" erfolgreich.", "msg-failed-to-uninstall-plugin": "Deinstallation der Erweiterung “{{id}}” fehlgeschlagen.", "msg-failed-to-disable-plugin": "Deaktivierung der Erweiterung “{{id}}” fehlgeschlagen.", "label-installed-plugins": "Installierte Erweiterungen", "button-reload-plugins": "Erweiterungen neu laden", "msg-reloaded-third-party-plugins": "Drittanbieter-Erweiterungen neu geladen.", "label-uninstall": "Deinstallieren", "label-uninstall-plugin": "Erweiterung deinstallieren", "label-uninstall-plugin-confirmation": "Bist du sicher, dass du diese Erweiterung deinstallieren möchtest? Dies wird den Ordner der Erweiterung löschen.", "button-open-plugins-folder": "Ordner für Erweiterungen öffnen", "button-check-for-updates": "Nach Aktualisierungen suchen", "button-update-all-plugins": "Alle aktualisieren", "label-current-plugins": "Aktuelle Erweiterungen", "label-currently-installed": "Du hast derzeit {{count}} Erweiterung installiert.", "label-currently-installed_plural": "Du hast derzeit {{count}} Erweiterungen installiert.", "msg-no-updates-found": "Keine Aktualisierung für Erweiterungen gefunden.", "msg-updates-found": "{{count}} Erweiterung kann aktualisiert werden.", "msg-updates-found_plural": "{{count}} Erweiterungen können aktualisiert werden.", "msg-update-plugin": "Aktualisiere auf Version {{version}}", "option-search-installed-plugin": "Installierte Erweiterungen durchsuchen", "option-search-installed-plugin-description": "Installierte Erweiterungen nach Name oder Beschreibung filtern.", "placeholder-search-installed-plugin": "Installierte Erweiterungen durchsuchen...", "show-installed-only": "Nur installierte anzeigen", "label-donate-modal-title": "Spenden, um {{name}} zu unterstützen", "label-donate-modal-text1": "Die Entwickler der Erweiterungen sind Mitglieder unserer Community, die großartige Dinge mit Leidenschaft erstellen. Wenn du diese Erweiterung hilfreich findest, ziehe bitte in Betracht, ihre Entwicklung zu unterstützen.", "label-donate-modal-text2": "100% deines Beitrages gehen an die Entwickler; Obsidian bekommt nichts davon. Die Plattform, über die deine Spende verarbeitet wird, berechnet möglicherweise eine kleine Gebühr.", "label-donate-modal-text3": "Vielen Dank für deine großzügige Unterstützung!", "label-support-this-plugin": "Diese Erweiterung unterstützen:", "label-search-summary": "Zeige {{pluginCount}}:", "label-by-popularity": "Am häufigsten heruntergeladen", "label-by-released": "Kürzlich veröffentlicht", "label-by-updated": "Kürzlich aktualisiert", "label-alphabetical": "Alphabetisch", "label-last-updated": "Aktualisiert {{time}}" }, "mobile-toolbar": { "name": "Mobile-Werkzeugleiste", "option-configure-quick-action": "Schnell-Aktion für Mobile konfigurieren", "option-configure-quick-action-description": "Konfiguriert, welcher Befehl ausgeführt wird, wenn du von oben nach unten ziehst. Momentan ist es \"{{command}}\".", "msg-missing-quick-action": "Aktion nicht konfiguriert", "button-configure": "Konfigurieren", "placeholder-select-quick-action": "Schnell-Aktion auswählen...", "quick-action-disabled": "Keine", "manage-toolbar-options": "Optionen für die Werkzeugleiste verwalten", "option-internal-link": "Internen Link hinzufügen", "option-internal-embed": "Einbettung hinzufügen", "option-tag": "Tag hinzufügen", "option-heading": "Überschrift umschalten", "option-strikethrough": "Durchgestrichen umschalten", "option-highlight": "Hervorheben umschalten", "option-code": "Code umschalten", "option-blockquote": "Blockzitat umschalten", "option-inline-math": "Formeln (inline) umschalten", "option-math-block": "Formeln (Block) umschalten", "option-markdown-link": "Markdown-Link hinzufügen", "option-bullet-list": "Auflistung (nicht nummeriert) umschalten", "option-numbered-list": "Auflistung (nummeriert) umschalten", "option-indent-list": "Listeneintrag einziehen", "option-unindent-list": "Einzug von Listeneintrag rückgängig machen", "option-undo": "Rückgängig", "option-redo": "Wiederholen", "option-move-caret-up": "Cursor nach oben", "option-move-caret-down": "Cursor nach unten", "option-move-caret-left": "Cursor nach links", "option-move-caret-right": "Cursor nach rechts", "option-first-line": "Springe zu erster Zeile", "option-last-line": "Springe zu letzter Zeile", "option-toggle-keyboard": "Tastatur umschalten", "option-configure-toolbar": "Mobile Werkzeugleiste bearbeiten", "option-added-options": "Hinzugefügte Optionen", "option-more-toolbar-options": "Mehr Optionen für die Werkzeugleiste", "option-attach": "Anhang hinzufügen", "option-add-command": "Globalen Befehl hinzufügen", "option-add-command-description": "Wähle einen globalen Befehl aus, der zur Werkzeugleiste hinzugefügt wird." } }, "editor": { "search": { "placeholder-find": "Suchen...", "placeholder-replace": "Ersetzen...", "label-exit-search": "Suche beenden", "label-next": "Nächste", "label-previous": "Vorherige", "label-find-all": "Alle finden", "label-replace": "Ersetzen", "label-replace-all": "Alle Ersetzen" }, "link-suggestion": { "label-type-hash": "Tippe #", "label-link-heading": "um Überschrift zu verlinken", "label-type-block": "Tippe ^", "label-link-block": "um Blöcke zu verlinken", "label-type-pipe": "Tippe |", "label-change-display-text": "um den Anzeigetext zu ändern", "label-no-alias": "Anzeigetext", "label-no-heading": "Überschrift", "label-no-match-found": "Keine Übereinstimmung gefunden", "label-image-size": "Bildgrösse: {{size}}px breit", "label-accept": "akzeptieren", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Keine Vorschläge...", "add-to-dictionary": "In das Wörterbuch aufnehmen" }, "menu": { "edit-link": "Link bearbeiten", "edit-tag": "Tag bearbeiten", "label-edit-block": "Diesen Block editieren", "label-delete-footref-and-note": "Fußnote und Referenz entfernen" }, "heading-suggestion": { "label-no-heading": "Keine Überschrift", "label-heading-level": "Überschrift {{level}}" }, "print-modal": { "title": "Als PDF exportieren", "caption": "Exportiert \"{{filename}}\" als PDF mit den folgenden Einstellungen.", "setting-page-size": "Seitenformat", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Brief (Letter)", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Dateinamen als Titel anhängen", "setting-landscape": "Querformat", "setting-margin": "Rand", "setting-margin-default": "Standard", "setting-margin-minimal": "Minimal", "setting-margin-none": "Kein", "setting-downscale-percent": "Verkleinern (Prozent)", "button-export-to-pdf": "Als PDF exportieren" }, "link-popover": { "tooltip-follow-link": "Link folgen", "tooltip-open-link": "Link öffnen", "tooltip-search-tag": "Tag suchen" } }, "interface": { "embed-cannot-find": "Nicht gefunden:", "label-unable-to-find-section": "“{{subpath}}” in {{file}} nicht gefunden", "embed-open-in-default-app-tooltip": "Mit Standard-Anwendung öffnen", "empty-sidebar": "Die Seitenleiste ist leer, ziehe einen Fensterbereich hierher.", "sidebar-expand": "Aufklappen", "sidebar-collapse": "Zuklappen", "msg-fail-to-save-file": "Fehler beim Speichern der Datei \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Erweiterung “{{plugin}}” konnte nicht geladen werden", "msg-plugin-error": "Beim Laden der Erweiterung “{{plugin}}” ist ein Fehler aufgetreten", "msg-failed-to-load-file": "“{{filepath}}” konnte nicht geöffnet werden", "msg-failed-to-open-href": "“{{href}}” konnte nicht geöffnet werden", "no-file": "Keine Datei", "msg-file-changed": "\"{{file}}\" wurde extern bearbeitet. Änderungen werden automatisch eingefügt.", "switch-vault": "Einen anderen Vault öffnen", "manage-vaults": "Vaults verwalten...", "help": "Hilfe", "settings": "Einstellungen", "drag-to-rearrange": "Zum Umordnen ziehen", "msg-switched-to-read": "Standard-Ansicht auf Lesemodus umgeschaltet.", "msg-switched-to-edit": "Standard-Ansicht auf Bearbeitungsmodus umgeschaltet.", "msg-upgrade-installer": "Bitte installiere die Anwendung mit dem aktuellsten Installer von unserer Website neu, um diese Funktion nutzen zu können.", "msg-slow-boot": "Langsamer Programmstart festgestellt.", "msg-desktop-only-feature": "Dieses Feature ist nur in der Desktop-App verfügbar.", "tooltip-restore-default-settings": "Voreinstellungen wiederherstellen", "label-copy": "In Zwischenablage kopieren", "label-copy-short": "Kopieren", "copied_generic": "In Zwischenablage kopiert", "copied": "{{item}} in die Zwischenablage kopiert", "copy_failed": "Kopieren in die Zwischenablage nicht möglich", "prompt-filter": "Filtern...", "url": "URL", "msg-codeblock-render-error": "Beim Rendern des Quelltext-Blocks ist ein Fehler aufgetreten.", "msg-open-file-through-uri": "Datei \"{{path}}\" geöffnet", "msg-file-not-found-through-uri": "Datei \"{{name}}\" nicht gefunden.", "delete-action-short-name": "Löschen", "msg-indexing": "Obsidian indiziert deinen Vault...\nDies sollte nur einmal geschehen.\nManche Funktionen könnten erst nach der Indizierung verfügbar sein.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indizierung abgeschlossen.", "msg-sandbox-vault": "Dies ist ein Sandbox-Vault. \nJegliche Veränderungen an diesem Vault werden verloren gehen.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Enter zum Erstellen", "label-update-available": "Aktualisierung verfügbar", "label-debug-info": "Debug-Informationen", "button-learn-more": "Erfahre mehr", "button-not-now": "Nicht jetzt", "button-add": "Hinzufügen", "button-manage": "Verwalten", "label-new-tab": "Neuer Tab", "option-hide-ribbon": "Werkzeugleiste ausblenden", "msg-tab-busy": "Dieser Tab lädt noch. Bitte versuche es später noch einmal", "formatting": { "label-formatting": "Format", "label-paragraph": "Absatz", "label-insert": "Einfügen", "insert-link": "Link hinzufügen", "insert-external-link": "Externen Link hinzufügen", "insert-callout": "Callout", "insert-horizontal-rule": "Horizontale Linie", "insert-code-block": "Quelltext-Block", "insert-math-block": "Mathe-Block", "insert-table": "Tabelle", "insert-footnote": "Footnote", "toggle-bold": "Fett", "toggle-code": "Quelltext", "toggle-comments": "Kommentar", "toggle-highlight": "Hervorheben", "toggle-italics": "Kursiv", "toggle-strikethrough": "Durchgestrichen", "toggle-math": "Mathe", "toggle-bullet-list": "Aufzählung", "toggle-checklist": "Aufgabenliste", "toggle-numbered-list": "Nummerierte Aufzählung", "set-heading": "Überschrift {{level}}", "no-heading": "Keine Überschrift", "clear": "Formatierung entfernen", "toggle-quote": "Zitat" }, "empty-state": { "no-file-open": "Keine Datei geöffnet", "create-new-file": "Neue Datei erzeugen", "go-to-file": "Gehe zu Datei", "see-recent-files": "Zuletzt verwendete Dateien", "close": "Schließen", "close-all": "Schließe alle “{{id}}” Tabs ({{count}})", "unknown-pane-title": "Erweiterung ist nicht mehr aktiv", "unknown-pane-desc": "Die Erweiterung, die diesen Fensterbereich ({{type}}) hinzufügte, ist nicht mehr vorhanden" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Bearbeiten (Strg/Cmd + Klick zum Bearbeiten in neuem Fensterbereich)", "read-view": "Aktuelle Ansicht: Lesemodus", "ribbon": "Werkzeugleiste", "left-sidebar": "Linke Seitenleiste", "right-sidebar": "Rechte Seitenleiste", "switch-to-edit-view": "Klicken zum Bearbeiten", "switch-to-read-view": "Klicken zum Lesen", "mod-click-open-new-tab": "{{key}} + Klicken, um in neuem Tab zu öffnen", "find": "Suchen...", "replace": "Ersetzen...", "edit": "Bearbeiten", "remove": "Entfernen", "rename": "Umbenennen", "preview": "Vorschau", "more-options": "Weitere Optionen", "close": "Schließen", "close-all": "Alle schließen", "close-tabs-with-count": "Schließe {{count}} Tab", "close-tabs-with-count_plural": "Schließe {{count}} Tabs", "close-others": "Andere schließen", "close-after": "Tabs danach schließen", "pin": "Anheften", "unpin": "Anheftung aufheben", "unlink-tab": "Tab-Verlinkung aufheben", "link-tab": "Mit Tab verlinken...", "toggle-source-mode": "Quellcode-Ansicht", "toggle-reading-view": "Lesemodus", "add-property": "Dateieigenschaften hinzufügen", "delete-file": "Datei löschen", "create-file": "Diese Datei erstellen", "open-link": "Link öffnen", "open-in-new-tab": "In neuem Tab öffnen", "open-to-the-right": "Rechts davon öffnen", "copy-url": "URL kopieren", "copy": "Kopieren", "cut": "Ausschneiden", "paste": "Einfügen", "paste-as-plain-text": "Als unformatierten Text einfügen", "lookup-selection": "Suche “{{selection}}”", "select-all": "Alles auswählen", "rename-heading": "Diese Überschrift umbenennen...", "rename-blockid": "Diese Block-ID umbenennen...", "open-in-new-window": "In neuem Fenster öffnen", "move-to-new-window": "In ein neues Fenster verschieben", "open-in-browser": "In Browser öffnen", "stack-tabs": "Tabs stapeln", "unstack-tabs": "Tabs nicht mehr stapeln", "open-linked-view": "Verlinkte Ansicht öffnen" }, "tooltip": { "click-to-expand": "Klick zum Aufklappen", "click-to-collapse": "Klick zum Zuklappen", "alias": "Alias", "not-created-yet": "Noch nicht erstellt, auswählen zum Erstellen" }, "start-screen": { "label-version": "Version", "label-create-local-vault": "Lokalen Vault erstellen", "option-open-folder-as-vault": "Ordner als Vault öffnen.", "option-open-folder-as-vault-description": "Wähle einen vorhandenen Ordner mit Markdown-Dateien.", "option-create-vault": "Einen neuen Vault erstellen.", "option-create-vault-description": "Erstelle einen neuen Obsidian-Vault innerhalb eines Ordners.", "option-connect-obsidian-sync": "Mit Obsidian Sync verbinden", "option-connect-obsidian-sync-description": "Erstelle einen synchronisierten Vault mit einem bestehenden Remote-Vault.", "option-new-vault-name": "Name des Vaults", "option-new-vault-name-description": "Wähle einen Namen für deinen wunderbaren Vault.", "option-new-vault-location": "Speicherort", "option-new-vault-location-description": "Wähle einen Speicherort für deinen neuen Vault.", "label-new-vault-location-preview": "Dein neuer Vault wird hier gespeichert: ", "option-reveal-vault-in-explorer": "Zeige Vault im System Explorer", "option-reveal-vault-in-explorer-mac": "Zeige Vault im Finder", "option-rename-vault": "Vault umbenennen...", "option-copy-vault-i-d": "Vault-ID kopieren", "msg-error-rename-exists": "Es existiert bereits ein Vault mit diesem Namen.", "msg-error-nested": "Ein Vault kann nicht in seinen eigenen Unterordner verschoben werden.", "msg-error-rename-open": "Ein gerade geöffneter Vault kann nicht umbenannt werden.", "msg-rename-failed": "Umbenennen des Vaults fehlgeschlagen.", "msg-rename-success": "Umbenennen des Vaults erfolgreich.", "option-move-vault": "Vault verschieben...", "msg-move-select-dest": "Wähle einen Zielordner", "msg-error-move-exists": "An diesem Ort existiert bereits ein Vault.", "msg-error-move-open": "Ein gerade geöffneter Vault kann nicht verschoben werden.", "msg-move-failed": "Verschieben des Vaults fehlgeschlagen.", "msg-move-success": "Verschieben des Vaults erfolgreich.", "option-remove": "Von Liste entfernen", "button-quick-start": "Schnellstart", "button-open": "Öffnen", "button-browse": "Wählen", "button-connect": "Verbinden", "button-create-vault": "Erstellen", "button-back": "Zurück", "msg-empty-vault-name": "Der Vault-Name darf nicht leer sein.", "msg-trailing-dot-vault-name": "Der Vault-Name darf nicht mit einem Punkt enden.", "msg-invalid-folder": "Bitte wähle einen gültigen Ordner.", "msg-failed-to-create-vault": "Erstellung des Vaults fehlgeschlagen.", "msg-failed-to-create-vault-at-location": "Der Vault konnte unter dem angegebenen Ort nicht erstellt werden. Bitte prüfe den Speicherort und die Berechtigung.", "msg-error-failed-to-open-vault": "Öffnen fehlgeschlagen.", "msg-error-remove-current-open-vault": "Der Vault ist gerade geöffnet und kann nicht entfernt werden.", "option-get-help": "Hilfe", "option-user-email": "E-Mail", "placeholder-your-email": "Deine E-Mail...", "option-user-password": "Passwort", "placeholder-your-password": "Dein Passwort...", "button-sign-in": "Anmelden", "button-setup": "Einrichten", "option-connect-vault-desc": "Erstelle einen synchronisierten Vault auf diesem Gerät.", "tooltip-own-vault": "Dies ist ein Remote-Vault, der dir gehört.", "tooltip-shared-vault": "Dies ist ein Remote-Vault, der mit dir geteilt wurde.", "mobile": { "label-start-screen": "Deine Gedanken gehören dir.", "label-synced": "synchronisiert", "label-not-synced": "nicht synchronisiert", "label-none": "Keine", "label-recommended": "Empfohlen", "label-start-screen-desc": "Obsidian speichert Notizen auf deinem Gerät, so dass du schnell und privat darauf zugreifen kannst, auch offline.\nDeine Daten werden in einem sicheren lokalen Ordner, dem sogenannten **Vault**, gespeichert.", "option-create": "Vault erstellen", "option-use-existing": "Meinen bestehenden Vault verwenden", "label-sync-intro": "Um auf deine Notizen auf anderen Geräten zugreifen zu können, musst du die Synchronisierung einrichten.", "label-sync-intro-desc": "Da Obsidian die Notizen auf deinem Geräten speichert, musst du die Synchronisierung einrichten, wenn du auf deine Notizen auf einem anderen Telefon oder Computer zugreifen möchten.\nDu kannst die Synchronisierung jetzt einrichten oder einfach mit dem Schreiben beginnen und sie später einrichten.", "option-setup-sync": "Sync einrichten", "option-skip": "Vorerst überspringen", "option-skip-short": "Skip", "label-vault-create": "Wähle einen Namen für deinen Vault.", "button-create": "Vault erstellen", "label-sync-setup": "Sync Einrichtung", "label-sync-setup-desc": "Erstelle einen synchronisierten Vault unter deinem Obsidian-Konto, damit du von anderen Geräten aus auf deine Daten zugreifen kannst", "label-remote-vault-create": "Sync Verschlüsselung", "option-encryption-custom": "Ende-zu-Ende-Verschlüsselung", "option-encryption-custom-desc": "Bietet die stärkste Sicherheit, aber erfordert, dass du dein Verschlüsselungspasswort sicher aufbewahrst.", "option-encryption-managed": "Standardverschlüsselung", "option-encryption-managed-desc": "Verwendet einen von Obsidian verwalteten Schlüssel, um deine Daten bei der Übertragung und auf unseren Servern zu schützen.", "label-sync-settings": "Sync Einstellungen", "label-sync-settings-desc": "Möchtest du bestimmte Ordner oder Dateien bei der Synchronisierung mit diesem Gerät ausschließen?", "button-start": "Sync starten", "label-sign-in-or-sign-up": "Erstelle ein Obsidian-Konto oder melde dich an", "option-sign-up": "Registrieren", "option-sign-in": "Anmelden", "button-resend-email": "Email erneut versenden", "label-remote-vault-options": "Du hast bestehende Sync-Vaults", "label-remote-vault-options-desc": "Möchtest du einen neuen Vault erstellen oder eine Verbindung zu einem bestehenden synchronisierten Vault herstellen?", "option-remote-create": "Neuen Sync-Vault erstellen", "option-remote-choose": "Einen vorhandenen Vault auswählen", "button-logout": "Abmelden", "button-forgot-password": "Passwort vergessen", "label-vault-name": "Vault-Name", "label-vault-location": "Standort des Vaults", "label-vault-location-desc": "Dein neuer Vault wird in {{vaultLocation}} platziert", "label-region-selection": "Region", "label-region-selection-help": "Wähle eine Serverregion in deiner Nähe, um die Synchronisierung zu beschleunigen.", "label-encryption-key": "Verschlüsselungsschlüssel", "label-encryption-key-help": "Dieses Passwort kann später nicht mehr geändert werden. Wenn du dein Kennwort vergisst, sind alle Remote-Daten auf den Sync-Servern für immer unzugänglich.", "placeholder-vault-name": "Mein Vault", "opt-region-selection-automatic": "Automatisch", "label-remote-vault-selection": "Vault auswählen", "label-remote-vault-selection-desc": "Dein Konto **{{email}}** verfügt über bestehende Vaults, mit denen du dich verbinden kannst.", "label-sign-in": "Melden dich bei deinem Obsidian-Konto an", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Wähle, wie du deine Notizen synchronisieren möchten", "label-sync-method-selection-desc": "Um Obsidian auf deinen Geräten zu verwenden, musst du deine Daten synchronisieren.", "label-sync-pro1": "Nahtlos über alle Geräte und Betriebssysteme hinweg.", "label-sync-pro2": "Gesichert mit dem stärksten Ende-zu-Ende-Verschlüsselungsstandard.", "label-sync-pro3": "Erfordert ein Obsidian-Konto.", "label-icloud-con1": "Nur für iOS und macOS.", "label-icloud-con2": "Standardmäßig nicht verschlüsselt.", "label-third-party-desc1": "Erfordert Drittanbieter-Erweiterungen oder Werkzeuge.", "label-third-party-desc2": "Möglicherweise nicht standardmäßig verschlüsselt.", "opt-use-obsidian-sync": "Obsidian Sync verwenden", "opt-use-icloud": "iCloud verwenden", "opt-use-other": "Drittanbieter Sync verwenden", "opt-learn-other-sync": "Andere Sync-Methoden", "opt-use-supported": "Unterstützte Sync-Methoden verwenden", "label-sync-restore": "Wo befindet sich dein Vault?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Andere", "label-other-sync": "Drittanbieter-Synchronisierung", "label-local-folder": "Auf diesem Gerät", "option-connect-icloud": "Mit iCloud verbinden", "option-connect-other": "Mit anderem Synchronisierungsdienst verbinden", "option-connect-sync": "Verbindung zu einem anderen Synchronisierungsdienst", "option-connect-local-folder": "Ordner auswählen", "label-sync-other": "Andere Sync-Methoden", "label-sync-other-desc": "Obsidian unterstützt offiziell zwei Synchronisationsmethoden: **Obsidian Sync** und **iCloud**.\nDa Obsidian dir jedoch die Kontrolle über deine Daten gibt, kannst du auch andere Synchronisierungsoptionen verwenden.\nZu diesen Optionen gehören Plugins von Drittanbietern und andere Tools, die unter Umständen eine erweiterte Einrichtung erfordern.\nUm eine alternative Synchronisierungsmethode zu verwenden, **erstelle einen Vault** und folge den Anweisungen des Plugins oder des Drittanbieters für die Synchronisierung.", "label-email-entry": "E-Mail eingeben", "label-email-entry-desc": "Deine E-Mail ist erforderlich, um ein Obsidian-Konto zu erstellen.", "label-signup": "Gib deinen Namen und dein Passwort ein", "email-verification": "Verbindung mit Obsidian Sync", "email-verification-desc": "Du solltest in Kürze eine E-Mail an **{{email}}** mit Anweisungen zur Verbindung mit Obsidian Sync erhalten.", "icloud-missing": "iCloud", "icloud-missing-desc": "Dein iCloud-Datenspeicher wurde nicht erkannt. Dies könnte folgende Ursachen haben:", "icloud-missing-reason1": "Dein Vault befindet sich in einem anderen iCloud-Konto als dem, mit dem du derzeit auf diesem Gerät angemeldet bist.", "icloud-missing-reason2": "Dein Vault ist nicht im Obsidian-Ordner der obersten Ebene deines iCloud-Laufwerks gespeichert.", "i-cloud-unsupported": "iCloud wird nicht unterstützt", "i-cloud-unsupported-desc": "Die iCloud-Synchronisierung ist nur auf Apple-Geräten verfügbar. Wenn dein Vault derzeit über iCloud synchronisiert wird, erfährst du, wie du deinen Vault auf einen anderen Synchronisierungsdienst migrieren kannst.", "allow-file-access": "Dateizugriff erlauben", "msg-login-pending": "Du wirst angemeldet...", "msg-name-required": "Vault-Name ist erforderlich", "msg-new-email-success": "Neue Bestätigungsmail gesendet.", "msg-new-email-failure": "E-Mail kann nicht erneut gesendet werden.", "msg-invalid-vault": "Vault-Speicherort muss ein Ordner sein." } }, "starter-content": { "welcome-filename": "Willkommen", "welcome-file-content": "Das ist dein neuer *Vault*.\n\nNotiere dir etwas oder, [[Neuer Link|erstelle einen neuen Link]], oder probiere [die Importer-Erweiterung aus](https://help.obsidian.md/Plugins/Importer)!\n\nWenn du soweit bist kannst du diese Seite löschen und den Vault ganz nach deinen Wünschen und Vorstellungen gestalten." }, "drag-and-drop": { "insert-link-here": "Link hier einfügen", "insert-links-here": "Links hier einfügen", "move-into-folder": "Nach \"{{folder}}\" verschieben", "star-this-file": "Diese Datei mit Stern markieren", "star-these-files": "Diese Dateien mit Stern markieren", "open-in-this-tab": "In diesem Tab öffnen", "open-as-tab": "Als neuen Tab öffnen" }, "window": { "maximize": "Maximieren", "minimize": "Minimieren", "restore-down": "Kleines Fenster wiederherstellen", "close-window": "Fenster schließen", "go-back": "Zurück", "go-forward": "Weiter" }, "start-up": { "loading-obsidian": "Obsidian wird geladen...", "obsidian-load-error": "Beim Laden von Obsidian ist ein Fehler aufgetreten.", "button-reload-app": "App neu laden", "button-reload-app-in-safe-mode": "App im abgesicherten Modus neu laden", "button-open-another-vault": "Anderen Vault öffnen", "loading-plugins": "Erweiterungen laden...", "msg-plugin-hang": "Plugin “{{plugin}}” benötigt lange zum Laden. ", "loading-vault": "Vault wird geladen...", "msg-failed-to-load-vault": "Laden des Vaults fehlgeschlagen: ", "loading-cache": "Cache wird geladen...", "loading-workspace": "Workspace wird geladen..." }, "mobile": { "action-import": "In Vault importieren", "action-insert-text-desc": "Text zur Datei hinzufügen:", "action-choose-file-to-insert": "Wähle eine Datei zum Einfügen", "action-insert-text-into-file": "Füge Text in {{filename}} ein", "action-insert-link-into-file": "Füge Link in {{filename}} ein", "action-show-switcher": "Tab Übersicht anzeigen", "msg-importing": "Importiere...", "msg-import-success": "Import erfolgreich", "msg-failed-to-import-file": "Fehler beim Import von {{filename}}", "msg-back-again-to-exit": "Zum Verlassen erneut zurück drücken.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Offizielle Hilfe-Seite", "label-official-help-site-desc": "Lies die offizielle Dokumentation von Obsidian, verfügbar in mehreren Sprachen.", "action-visit": "Besuchen", "label-discord-chat": "Discord Chat", "label-discord-chat-desc": "Discord ist der beste Ort, um mit anderen erfahrenen Obsidian-Nutzern auf der ganzen Welt zu chatten.", "action-join": "Beitreten", "label-forum": "Offizielles Forum", "label-forum-desc": "Helft Euch gegenseitig, schlagt neue Features vor, meldet Bugs und führt ausführliche Diskussionen über Knowledge-Management.", "label-sandbox-vault": "Sandbox-Vault", "label-sandbox-vault-desc": "Spiele und experimentiere mit verschiedenen Features. Bitte beachte, dass deine Veränderungen an diesem Vault nicht gespeichert werden." } }, "commands": { "save-file": "Aktuelle Datei speichern", "download-attachments": "Anhänge für die aktuelle Datei herunterladen", "follow-cursor-link": "Link unter Cursor folgen", "open-cursor-link-in-new-tab": "Link unter Cursor in neuem Tab öffnen", "open-cursor-link-to-the-right": "Link unter Cursor rechts davon öffnen", "open-cursor-link-in-new-window": "Link unter Cursor in neuem Fenster öffnen", "navigate-tab-above": "Obere Tabgruppe fokussieren", "navigate-tab-below": "Untere Tabgruppe fokussieren", "navigate-tab-left": "Linke Tabgruppe fokussieren", "navigate-tab-right": "Rechte Tabgruppe fokussieren", "toggle-pin": "Pin umschalten", "split-right": "Rechts teilen", "split-down": "Unten teilen", "toggle-stacked-tabs": "Umschalten zwischen Stapel-/Tab-Ansicht", "navigate-back": "Zurück navigieren", "navigate-forward": "Vorwärts navigieren", "use-dark-mode": "Dunklen Modus benutzen", "use-light-mode": "Hellen Modus benutzen", "change-theme": "Farbschema wechseln", "search-current-file": "In geöffneter Datei suchen", "search-replace-current-file": "In geöffneter Datei suchen & ersetzen", "add-property": "Dateieigenschaften hinzufügen", "label-sort-property-a-to-z": "Name (A bis Z)", "label-sort-property-z-to-a": "Name (Z bis A)", "add-alias": "Alias hinzufügen", "clear-properties": "Dateieigenschaften löschen", "open-settings": "Einstellungen öffnen", "open-help": "Hilfe öffnen", "toggle-edit": "Umschalten zwischen Editor/Lesemodus", "toggle-source-mode": "Umschalten zwischen Live-Vorschau/Quellcode-Ansicht", "delete-current-file": "Aktuelle Datei löschen", "new-tab": "Neuer Tab", "show-trash": "Papierkorb anzeigen", "close-all-tabs": "Schließe alle Tabs", "close-active-tab": "Schließe aktuellen Tab", "close-others-in-tab-group": "Andere in Tab-Gruppe schließen", "close-other-tabs": "Schließe andere Tabs", "close-tab-group": "Diese Tab-Gruppe schließen", "toggle-left-sidebar": "Linke Seitenleiste umschalten", "toggle-ribbon": "Werkzeugleiste umschalten", "toggle-right-sidebar": "Rechte Seitenleiste umschalten", "toggle-default-new-tab-mode": "Standardmodus für neue Tabs umschalten", "add-cursor-above": "Cursor darüber einfügen", "add-cursor-below": "Cursor darunter einfügen", "focus-editor": "Editor fokussieren", "toggle-fold-properties": "Eigenschaften der aktuellen Datei einklappen", "toggle-fold": "Aktuelle Zeile einklappen", "fold-all": "Alle Überschriften und Listen einklappen", "unfold-all": "Alle Überschriften und Listen aufklappen", "fold-more": "Noch mehr einklappen", "fold-less": "Weniger einklappen", "swap-line-up": "Mit Zeile darüber tauschen", "swap-line-down": "Mit Zeile darunter tauschen", "remove-heading": "Überschrift entfernen", "toggle-heading": "Als Überschrift {{level}} setzen", "toggle-bold": "Tausche fett für Auswahl", "toggle-italics": "Tausche kursiv für Auswahl", "toggle-highlight": "Tausche hervorgehoben für Auswahl", "toggle-comments": "Kommentare für Auswahl umschalten", "clear-formatting": "Formatierung löschen", "insert-link": "Link einfügen", "toggle-spellcheck": "Rechtschreibprüfung umschalten", "delete-paragraph": "Absatz löschen", "toggle-checklist": "Status der Checkliste umschalten", "cycle-list-checklist": "Zwischen Checkbox/Listenpunkt umschalten", "insert-callout": "Callout einfügen", "insert-code-block": "Quelltext-Block einfügen", "insert-math-block": "Mathe-Block einfügen", "insert-horizontal-rule": "Horizontale Linie einfügen", "insert-table": "Tabelle einfügen", "insert-footnote": "Insert footnote", "edit-file-title": "Dateinamen ändern", "copy-path": "Dateipfad kopieren", "copy-url": "Obsidian URL kopieren", "export-pdf": "Nach PDF exportieren", "reload": "Anwendung neu laden ohne zu speichern", "undo-close-tab": "Tab wieder öffnen", "context-menu": "Zeige Kontextmenü unter dem Cursor", "show-debug-info": "Zeige Debug-Informationen", "open-sandbox-vault": "Sandbox-Vault öffnen", "always-on-top": "Fenster immer im Vordergrund halten", "zoom-in": "Vergrößern", "zoom-out": "Verkleinern", "reset-zoom": "Vergrößerung zurücksetzen", "toggle-preview": "Editor/Vorschau Modus wechseln", "move-to-new-window": "Aktiven Fensterbereich in neues Fenster verschieben", "open-in-new-window": "Aktiven Fensterbereich in neuem Fenster öffnen", "rename-current-file": "Aktuelle Datei umbenennen", "go-to-prev-tab": "Zum vorherigen Tab gehen", "go-to-next-tab": "Zum nächsten Tab gehen", "go-to-last-tab": "Zum letzten Tab gehen", "go-to-nth-tab": "Zum #{{n}} Tab gehen", "show-release-notes": "Versionshinweise anzeigen" }, "dialogue": { "label-link-affected": "Das betrifft {{links}} in {{files}}.", "msg-updated-links": "Aktualisiert {{links}} in {{files}}.", "label-update-links": "Links aktualisieren", "label-confirm-update-link-to-file": "Möchtest du interne Links aktualisieren, die auf diese Datei verweisen?", "button-always-update": "Immer aktualisieren", "button-just-once": "Nur dieses eine Mal", "button-do-not-update": "Nicht aktualisieren", "label-confirm-deletion": "Möchtest du wirklich \"{{filename}}\" löschen?", "label-move-to-system-trash": "Die Datei wird in den Papierkorb deines Systems verschoben.", "label-move-to-vault-trash": "Die Datei wird in deinen Obsidian Papierkorb verschoben, der sich im versteckten Ordner \".trash\" in deinem Vault befindet.", "label-permanent-delete": "Die Datei wird dauerhaft gelöscht.", "label-non-empty-folder": "Dieser Ordner ist nicht leer.", "label-delete-folder-warning": "Wenn du fortfährst, werden alle Dateien in diesem Ordner gelöscht.", "label-delete-folder": "Ordner löschen", "button-delete": "Löschen", "button-delete-do-not-ask-again": "Löschen und nicht mehr fragen", "label-do-not-ask-again": "Nicht erneut fragen", "label-existing-backlink": "Es gibt derzeit {{count}} Link, der auf diese Notiz verweist.", "label-existing-backlink_plural": "Es gibt derzeit {{count}} Links, die auf diese Notiz verweisen.", "label-delete-file": "Datei löschen", "label-download-attachments": "Anhänge herunterladen", "label-no-attachments": "Es gibt keine externen Anhänge in dieser Notiz.", "label-downloaded-attachments": "{{count}} Anhang heruntergeladen.", "label-downloaded-attachments_plural": "{{count}} Anhänge heruntergeladen.", "msg-files-updated": "{{count}} Datei aktualisiert.", "msg-files-updated_plural": "{{count}} Dateien aktualisiert.", "msg-files-reverted": "Änderungen an {{count}} Datei rückgängig gemacht.", "msg-files-reverted_plural": "Änderungen an {{count}} Dateien rückgängig gemacht.", "button-manage": "Verwalten", "button-view": "Anzeigen", "button-confirm": "Bestätigen", "button-cancel": "Abbrechen", "button-download": "Download", "button-done": "Fertig", "button-save": "Speichern", "button-stop": "Stopp", "button-continue": "Fortsetzen", "button-choose": "Auswählen", "button-retry": "Wiederholen", "button-update": "Aktualisieren", "button-undo": "Rückgängig", "preparing-pdf": "PDF wird vorbereitet...", "label-rename-file": "Datei umbenennen", "label-rename-file-generic": "Dateiname", "label-new-name": "Neuer Name", "msg-rename-success": "Datei erfolgreich umbenannt.", "msg-merge-failed": "Die Dateien konnten nicht zusammengeführt werden: {{message}}", "msg-file-or-folder-not-found": "Die Datei oder der Pfad “{{path}}” gibt's nicht.", "msg-heading-empty": "Überschrift darf nicht leer sein", "msg-block-id-empty": "Block ID darf nicht leer sein", "msg-block-id-invalid": "Die Block ID darf nur alphanumerische Zeichen oder einen Bindestrich enthalten.", "label-rename-heading": "Überschrift umbenennen", "label-rename-blockid": "Block ID umbenennen" }, "menu-items": { "new-file": "Notiz erstellen", "new-file-to-the-right": "Neue Notiz rechts", "new-window": "Neues Fenster", "open-switcher": "Schnell öffnen...", "open-vault": "Vault öffnen...", "close-tab": "Tab schließen", "close-window": "Fenster schließen", "find": "Suche", "replace": "Ersetze", "insert-callout": "Callout", "insert-markdown-link": "Markdown-Link", "insert-wikilink": "Link", "set-heading": "Überschrift {{level}}", "no-heading": "Keine Überschrift", "insert-quote": "Zitat", "export-pdf": "Als PDF Exportieren", "insert-attachment": "Anhang einfügen...", "insert-codeblock": "Quelltext-Block", "insert-math-block": "Mathe-Block", "insert-table": "Tabelle", "insert-footnote": "Footnote", "toggle-bullet-list": "Auflistung", "toggle-numbered-list": "Nummerierte Liste", "toggle-checklist": "Aufgabenliste", "toggle-bold": "Fett", "toggle-code": "Quelltext", "toggle-comment": "Kommentar", "toggle-italics": "Kursiv", "toggle-inline-math": "Mathe", "toggle-highlight": "Hervorgehoben", "toggle-strikethrough": "Durchgestrichen", "toggle-comments": "Kommentar", "folding-menu": "Auf-/Zuklappen", "fold-all": "Alle einklappen", "unfold-all": "Alle ausklappen", "fold-more": "Noch mehr einklappen", "fold-less": "Weniger einklappen", "source-mode": "Quellcode-Ansicht", "reading-view": "Lesemodus", "show-debug-info": "Debug-Informationen anzeigen", "open-sandbox": "Sandbox-Vault öffnen", "navigate-back": "Zurück", "navigate-forward": "Vorwärts", "toggle-left-sidebar": "Linke Seitenleiste umschalten", "toggle-right-sidebar": "Rechte Seitenleiste umschalten", "toggle-ribbon": "Werkzeugleiste", "split-right": "Rechts teilen", "split-down": "Unten teilen", "release-notes": "Neuigkeiten" }, "plugins": { "name": "Erweiterungen", "file-explorer": { "name": "Dateiexplorer", "desc": "Zeige alle Dateien in deinem Vault.", "action-open": "Dateiexplorer öffnen", "action-show": "Dateiexplorer zeigen", "action-create-note": "Neue Notiz erstellen", "action-create-folder": "Neuen Ordner erstellen", "action-create-note-in-current-tab": "Neue Notiz in aktuellem Tab erstellen", "action-create-note-to-the-right": "Notiz rechts erstellen", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Alles einklappen", "action-expand-all": "Alles ausklappen", "action-new-note": "Neue Notiz", "action-new-folder": "Neuer Ordner", "action-change-sort": "Sortierreihenfolge ändern", "action-reveal-file": "Zeige Datei im Dateiexplorer", "action-reveal-active-file": "Aktive Datei im Dateiexplorer zeigen", "command-make-a-copy": "Kopie der aktuellen Datei erstellen", "command-make-a-copy-mac": "Aktuelle Datei duplizieren", "command-move-file": "Datei in anderen Ordner verschieben", "action-new-folder-with-count": "Neuer Ordner mit Selektion ({{count}} Eintrag)", "action-new-folder-with-count_plural": "Neuer Ordner mit Selektion ({{count}} Einträge)", "action-move-file": "Datei verschieben nach...", "action-move-folder": "Ordner verschieben nach...", "action-move-items": "Verschiebe {{count}} Elemente nach...", "prompt-type-folder": "Ordnernamen eingeben", "label-no-folders": "Keine Ordner gefunden.", "instruction-navigate": "zum Navigieren", "instruction-move": "zum Verschieben", "instruction-create": "zum Erstellen", "instruction-dismiss": "zum Abbrechen", "label-sort-a-to-z": "Nach Dateinamen sortieren (A - Z)", "label-sort-z-to-a": "Nach Dateinamen sortieren (Z - A)", "label-sort-new-to-old": "Nach Bearbeitungszeitpunkt sortieren (neu - alt)", "label-sort-old-to-new": "Nach Bearbeitungszeitpunkt sortieren (alt - neu)", "label-sort-created-old-to-new": "Nach Erstellungszeitpunkt sortieren (alt - neu)", "label-sort-created-new-to-old": "Nach Erstellungszeitpunkt sortieren (neu - alt)", "menu-opt-new-note": "Neue Notiz", "menu-opt-new-folder": "Neuer Ordner", "menu-opt-rename": "Umbenennen", "menu-opt-delete": "Löschen", "menu-opt-make-copy": "Kopie erstellen", "menu-opt-make-copy-mac": "Duplizieren", "msg-invalid-characters": "Dateiname darf keines der folgenden Symbole enthalten: ", "msg-unsafe-characters": "Links werden nicht funktionieren, wenn der Dateiname eines der folgenden Symbole enthält: ", "msg-file-already-exists": "Es existiert bereits eine Datei mit demselben Namen", "msg-empty-file-name": "Der Dateiname darf nicht leer sein.", "msg-bad-dotfile": "Der Dateiname darf nicht mit einem Punkt beginnen.", "tooltip-modified-time": "Zuletzt bearbeitet: {{time}}", "tooltip-created-time": "Erstellt: {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Unbenannt", "label-untitled-folder": "Unbenannt", "msg-set-attachment-folder": "Anhänge werden von nun an in diesem Pfad \"{{path}}\" gespeichert." }, "search": { "name": "Suchen", "desc": "Sucht in allen Notizen nach einem Stichwort.", "action-open-search": "In allen Dateien suchen", "label-collapse-results": "Ergebnisse zuklappen", "label-match-case": "Großschreibung beachten", "label-explain-search-term": "Suchbegriff erklären", "label-more-context": "Mehr Kontext anzeigen", "label-result-count": "{{count}} Ergebnis", "label-result-count_plural": "{{count}} Ergebnisse", "label-result-max": "{{count}}+ Ergebnisse", "label-toggle-search-settings": "Einstellungen durchsuchen", "prompt-start-search": "Suchbegriff eingeben...", "label-match-text": "Suchbegriff stimmt überein: ", "label-match-regex": "RegEx stimmt überein: ", "label-match-exact-text": "Enthält exakt: ", "label-match-greater-than": "Größer als: ", "label-match-less-than": "Kleiner als: ", "label-match-true": "Ist wahr", "label-match-false": "Ist falsch", "label-match-empty": "Ist leer", "label-match-property": "Enthält Eigenschaften:", "label-match-all": "Enthält alle: ", "label-match-any": "Enthält eins von: ", "label-excluding": "Ohne: ", "label-case-sensitive": "Großschreibung beachten", "label-case-insensitive": "Großschreibung ignorieren", "label-match-file-path": "Dateipfad stimmt überein: ", "label-match-file-name": "Dateiname stimmt überein: ", "label-match-content": "Dateiinhalt stimmt überein: ", "label-match-task": "Aufgabe stimmt überein: ", "label-match-task-todo": "Aufgabe (zu erledigen) stimmt überein: ", "label-match-task-done": "Aufgabe (erledigt) stimmt überein: ", "label-match-line": "Zeile stimmt überein: ", "label-match-block": "Block stimmt überein: ", "label-match-section": "Abschnitt stimmt überein: ", "label-match-tag": "Tag stimmt überein: ", "label-no-matches": "Keine Übereinstimmungen gefunden.", "matches-with-count": "... und {{count}} weitere Übereinstimmung.", "matches-with-count_plural": "... und {{count}} weitere Übereinstimmungen.", "label-copy-search-results": "Suchergebnisse kopieren", "button-copy-results": "Kopieren", "msg-successfully-copied": "Suchergebnisse in die Zwischenablage kopiert.", "option-show-path": "Zeige Pfad", "option-show-path-description": "Zeigt den kompletten Pfad der Datei an, anstelle nur des Dateinamens.", "option-link-style": "Art der Links", "option-link-style-description": "Optional: Wandelt jedes Suchergebnis in einen Link um.", "option-choice-link-style-none": "Keine", "option-choice-link-style-wikilink": "Wiki-Link", "option-choice-link-style-markdown-link": "Markdown-Link", "option-list-prefix": "Listensymbol", "option-list-prefix-description": "Optional: Fügt vor jedem Suchergebnis ein Listensymbol ein.", "option-choice-list-style-none": "Keines", "option-choice-list-style-dash": "Bindestrich (-)", "option-choice-list-style-asterisk": "Sternchen (*)", "option-choice-list-style-numbered": "Nummeriert", "tooltip-clear-search": "Suche leeren", "label-search-options": "Suchoptionen", "label-properties-group": "Eigenschaften", "label-tags-group": "Tags", "tooltip-read-more": "Mehr lesen", "label-history": "Verlauf", "tooltip-clear-history": "Suchverlauf löschen", "label-path-option-description": "Pfad stimmt überein", "label-file-name-option-description": "Dateiname stimmt überein", "label-tag-option-description": "Tag stimmt überein", "label-line-option-description": "suche Begriff in der gleichen Zeile", "label-section-option-description": "suche Begriff unter der gleichen Überschrift", "label-property-option-description": "Eigenschaft stimmt überein", "menu-opt-search-for": "Suche nach \"{{keyword}}\"", "menu-opt-search-in-folder": "Im Ordner suchen" }, "quick-switcher": { "name": "Schnellauswahl", "desc": "Ermöglicht das schnelle Wechseln zu einer beliebigen Notiz mittels Tastenkombination. Strg/Cmd+O, um den Dialog anzuzeigen.", "short-name": "Schnellauswahl", "action-open": "Schnellauswahl öffnen", "instruction-navigate": "navigieren", "instruction-open": "öffnen", "instruction-open-in-new-tab": "um in neuem Tab zu öffnen", "instruction-open-to-the-right": "um rechts davon zu öffnen", "instruction-create": "erstellen", "instruction-dismiss": "abbrechen", "instruction-select": "auswählen", "label-no-note-create-new": "Keine Notiz gefunden. Eingabetaste, um eine neue Notiz zu erstellen.", "prompt-type-file-name": "Gib einen Namen ein, um zu einer Notiz zu wechseln oder diese zu erstellen...", "label-enter-to-create": "Eingabetaste, um eine neue Notiz mit diesem Namen zu erstellen", "tooltip-not-created-yet": "Noch nicht erstellt, auswählen zum Erstellen", "option-show-existing-only": "Nur Existierende anzeigen", "option-show-existing-only-description": "Wähle aus, ob Links zu noch nicht erstellten Dateien angezeigt werden.", "option-show-attachments": "Anhänge anzeigen", "option-show-attachments-desc": "Zeigt angehängte Dateien wie Bilder, Videos und PDFs.", "option-show-all-file-types": "Alle Dateitypen zeigen", "option-show-all-file-types-desc": "Zeigt alle Dateitypen an, inklusive solcher, die Obsidian nicht öffnen kann. Die Datei wird mit der Standardanwendung geöffnet." }, "graph-view": { "name": "Graph-Ansicht", "desc": "Zeigt Beziehungen zwischen deinen Notizen in einer graphischen Übersicht.", "action-open": "Graph-Ansicht öffnen", "action-open-local": "Lokalen Graphen öffnen", "action-copy-screenshot": "Kopiere Bildschirminhalt", "tab-title": "Graph von {{displayText}}", "label-filters": "Filter", "prompt-filter-nodes": "Suche Dateien...", "option-depth": "Tiefe", "option-depth-description": "Zeige Notizen, die diese Anzahl von Links entfernt sind.", "option-neighbor-links": "Benachbarte Knoten", "option-neighbor-links-description": "Zeige Links zwischen benachbarten Knoten.", "option-forelinks": "Ausgehende Links", "option-forelinks-description": "Zeige Links zu anderen Dateien", "option-backlinks": "Eingehende Links", "option-backlinks-description": "Zeige Links von anderen Dateien", "option-show-tags": "Tags", "option-show-tags-description": "Tags sind mit den Dateien verknüpft, die sie beinhalten.", "option-show-attachments": "Anhänge", "option-show-attachments-description": "Zeige Dateien, die keine Notizen sind.", "option-show-existing-files-only": "Nur existierende Dateien zeigen", "option-show-existing-files-only-description": "Wenn aktiviert, werden Links zu nicht existierenden Dateien ausgeblendet.", "option-show-orphans": "Verwaiste Dateien", "option-show-orphans-description": "Zeige Dateien, die nicht mit anderen Dateien verlinkt sind.", "label-display": "Anzeige", "option-show-arrows": "Pfeile", "option-show-arrows-description": "Zeige Pfeile beim Vergrößern", "option-text-fade": "Grenze Text-Transparenz", "option-node-size": "Knotengröße", "option-link-thickness": "Kantenstärke", "label-forces": "Kräfte", "option-center-force": "Zentrierkraft", "option-link-force": "Linkkraft", "option-link-distance": "Linkabstand", "option-repel-force": "Abstoßungskraft", "tooltip-open-graph-settings": "Graph-Einstellungen öffnen", "msg-screenshot-copied": "Bildschirminhalt in die Zwischenablage kopiert.", "label-groups": "Gruppen", "placeholder-enter-query": "Suchbegriff eingeben...", "tooltip-delete-graph": "Gruppe löschen", "button-new-group": "Neue Gruppe", "tooltip-click-to-change-drag-to-reorder": "Klicke, um Farbe zu ändern\nZiehe, um Gruppen neu zu sortieren", "action-timelapse": "Zeitraffer-Animation des Graphen beginnen", "tooltip-start-timelapse-animation": "Zeitraffer-Animation starten", "button-animate-timelapse": "Animieren" }, "backlinks": { "name": "Rückverweis", "desc": "Zeigt die Anzahl der Rückverweise in der Statusleiste.", "action-open": "Rückverweise öffnen", "action-show": "Rückverweis-Bereich zeigen", "action-open-for-current": "Öffne Rückverweise für die aktuelle Datei", "action-toggle-backlinks-in-document": "Rückverweise im Dokument ein/ausblenden", "menu-opt-backlinks-in-document": "Rückverweise im Dokument", "label-linked-mentions": "Verlinkte Erwähnungen", "label-no-backlinks": "Keine Rückverweise gefunden.", "label-unlinked-mentions": "Nicht-verlinkte Erwähnungen", "label-show-search": "Zeige Suchfilter", "label-link-button-text": "Link", "tab-title": "Rückverweise für {{displayText}}", "label-no-unlinked-mentions": "Keine nicht-verlinkten Erwähnungen gefunden.", "ellipsis": "...", "option-backlink-in-document": "Rückverweis in Notiz", "option-backlink-in-document-desc": "Zeige Rückverweise in dieser Notiz immer an, wenn neue Fensterbereiche geöffnet werden." }, "outgoing-links": { "name": "Ausgehende Links", "desc": "Zeigt ausgehende Links und erkennt nicht verlinkte Erwähnungen anderer Notizen in der aktuellen Notiz.", "action-open": "Ausgehende Links öffnen", "action-show": "Fensterbereich mit ausgehenden Links zeigen", "action-open-for-current": "Ausgehende Links für die aktuelle Datei öffnen", "tab-title": "Ausgehende Links von {{displayText}} öffnen", "label-links": "Links", "label-no-links": "Keine Links gefunden.", "label-unlinked-mentions": "Nicht verlinkte Erwähnungen", "tooltip-link-file": "Diese Datei verlinken", "tooltip-not-created": "Noch nicht erstellt" }, "tag-pane": { "name": "Tag-Bereich", "short-name": "Tags", "desc": "Zeigt alle deine Tags und die Anzahl der Vorkommen.", "action-show": "Tag-Bereich zeigen", "label-no-tags": "Keine Tags gefunden.", "label-sort-by-name-a-to-z": "Tag (A - Z)", "label-sort-by-name-z-to-a": "Tag (Z - A)", "label-sort-by-frequency-high-to-low": "Häufigkeit (hoch - niedrig)", "label-sort-by-frequency-low-to-high": "Häufigkeit (niedrig - hoch)", "action-show-nested-tags": "Zeige verschachtelte Tags", "action-collapse-all": "Alles einklappen", "action-expand-all": "Alles ausklappen" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Eigenschaften-Ansicht", "desc": "Dateieigenschaften anzeigen.", "name-global": "Alle Eigenschaften", "name-local": "Dateieigenschaften", "tab-title": "Dateieigenschaften von {{displayText}}", "action-show": "Alle Eigenschaften anzeigen", "action-show-local": "Zeige Dateieigenschaften", "opt-unassign-type": "Typzuweisung entfernen", "label-no-properties": "Keine Eigenschaften gefunden.", "label-invalid-properties": "Ungültige Eigenschaften.", "label-sort-by-name-a-to-z": "Eigenschaft (A bis Z)", "label-sort-by-name-z-to-a": "Eigenschaft (Z bis A)", "label-sort-by-frequency-high-to-low": "Häufigkeit (hoch bis tief)", "label-sort-by-frequency-low-to-high": "Häufigkeit (low to high)", "msg-merge-properties-warning": "Eigenschaft “{{oldKey}}” mit “{{newKey}}” zusammenführen?", "msg-merge-properties-warning-desc": "Falls es zu Konflikten beim Zusammenführen kommt, werden die Werte von “{{oldKey}}” übernommen oder zusammengeführt.", "action-collapse-all": "Alle einklappen", "action-expand-all": "Alle ausklappen", "action-open-local": "Dateieigenschaften öffnen", "action-open-daily-note": "Tagesnotiz öffnen" }, "page-preview": { "name": "Seitenvorschau", "desc": "Vorschau der Notiz während der Mauszeiger über einem internen Link schwebt. Strg/Cmd + Schweben im Bearbeitungsmodus.", "label-empty-attachment": "“{{linktext}}” konnte nicht gefunden werden.", "label-empty-note": "\"{{linktext}}\" ist noch nicht erstellt. Klicken zum Erstellen.", "label-missing-footote": "Fußnote {{id}} nicht gefunden. Klicken zum Erstellen.", "label-source-editor": "Editor", "label-source-preview": "Vorschau", "label-source-search": "Suche, Rückverweise und ausgehende Links", "label-source-tab-header": "Tab header", "label-require-mod": "Benötigt {{key}}, um Seitenvorschau beim Schweben mit dem Mauszeiger zu aktivieren" }, "bookmarks": { "name": "Lesezeichen", "desc": "Lesezeichen für häufig verwendete Dateien und Suchvorgänge.", "action-show": "Zeige Lesezeichen", "action-collapse-all": "Alles zuklappen", "action-new-bookmark": "Lesezeichen für aktiven Tab setzen...", "action-new-group": "Neue Gruppe von Lesezeichen", "action-bookmark": "Setze Lesezeichen...", "action-add-bookmark": "Lesezeichen hinzufügen", "action-edit-bookmark": "Bearbeite Lesezeichen", "action-bookmark-block": "Lesezeichen für Block unter dem Cursor...", "action-bookmark-heading": "Lesezeichen für Überschrift unter Cursor...", "action-bookmark-search": "Lesezeichen für aktuelle Suche...", "action-remove-bookmark": "Entferne Lesezeichen für aktuelle Datei", "action-bookmark-tab-group": "Erstelle Lesezeichen für {{count}} Tab...", "action-bookmark-tab-group_plural": "Erstelle Lesezeichen für {{count}} Tabs...", "action-bookmark-all-tabs": "Lesezeichen für alle Tabs...", "action-bookmark-graph": "Lesezeichen für diesen Graphen...", "label-bookmark": "Lesezeichen", "label-bookmarked": "Als Lesezeichen gesetzt", "label-bookmark-with-count": "{{count}} Lesezeichen", "label-bookmark-with-count_plural": "{{count}} Lesezeichen", "label-no-bookmarks": "Keine Lesezeichen gefunden", "label-invalid-data": "Lesezeichen konnten nicht geladen werden.", "label-invalid-data-desc": "Die Datendatei ist korrupt.", "label-untitled-group": "Unbenannte Gruppe", "label-untitled-graph": "Unbenannter Graph", "menu-opt-edit": "Bearbeiten...", "menu-opt-remove": "Entfernen", "menu-opt-rename": "Umbenennen", "menu-opt-bookmark-block": "Lesezeichen für diesen Block setzen...", "menu-opt-bookmark-heading": "Lesezeichen für diese Überschrift...", "msg-no-search-query": "Keine Suchabfrage für ein Lesezeichen gefunden.", "option-path": "Pfad", "option-query": "Abfrage", "option-u-r-l": "URL", "option-title": "Titel", "option-group": "Lesezeichen-Gruppe", "placeholder-bookmark-group": "Lesezeichen" }, "custom-css": { "name": "Benutzerdefiniertes CSS", "desc": "Liest \"obsidian.css\" im Vault und wendet es an.", "setting-community-themes": "Community-Farbschemata", "msg-fetching-themes": "Lade die Community-Farbschema-Dateien...", "prompt-filter": "Filtern...", "label-dark-theme-only": "Nur dunkle Farbschemata", "label-light-theme-only": "Nur helle Farbschemata", "label-use": "Anwenden", "label-stop-use": "Nicht mehr anwenden", "label-install-and-use": "Installieren und anwenden", "label-update": "Aktualisieren", "label-no-readme": "Dieses Farbschema hat keine README-Datei.", "tooltip-remove-theme": "Farbschema entfernen", "label-visit-on-github": "Auf GitHub besuchen", "msg-load-error": "Die Community-Farbschemata konnten nicht geladen werden. Bitte überprüfe deine Netzwerkverbindung.", "msg-now-using-theme": "Du verwendest jetzt {{title}} als dein Farbschema.", "msg-deleted-theme": "Das Farbschema {{title}} wurde gelöscht.", "msg-updated-theme": "Das Farbschema {{title}} wurde aktualisiert.", "label-installed": "Installiert", "label-legacy": "Legacy", "button-update-all-themes": "Alle aktualisieren", "msg-failed-load-themes": "Laden der Community-Farbschemata fehlgeschlagen.", "msg-no-updates-found": "Keine Farbschema-Aktualisierungen gefunden.", "msg-updates-found": "{{count}} Farbschema kann aktualisiert werden.", "msg-updates-found_plural": "{{count}} Farbschemata können aktualisiert werden.", "msg-failed-to-install-theme": "Installation des Farbschemas \"{{name}}\" fehlgeschlagen.", "msg-successfully-installed-theme": "Farbschema \"{{name}}\" wurde erfolgreich installiert.", "msg-installing-theme": "Farbschema \"{{name}}\" wird installiert...", "label-search-summary": "Zeige {{themeCount}}:", "label-update-available": "Aktualisierung verfügbar" }, "command-palette": { "name": "Befehlspalette", "desc": "Ermöglicht die schnelle Eingabe eines Befehls. Drücke Ctrl/Cmd+P und beginne zu tippen, um eine Aktion auszuführen.", "action-open": "Befehlspalette öffnen", "instruction-navigate": "zum Navigieren", "instruction-use": "zum Benutzen", "instruction-dismiss": "zum Schließen", "label-no-commands": "Keine Befehle gefunden.", "prompt-type-command": "Gib einen Befehl ein...", "label-pinned-commands": "Angeheftete Befehle", "option-add-new-pin": "Neuen Befehl anheften", "option-add-new-pin-description": "Wenn kein Suchbegriff eingegeben ist, werden angeheftete Befehle vor allen anderen gezeigt." }, "markdown-format-importer": { "name": "Importprogramm für Markdown Format", "desc": "Konvertiert das Markdown von anderen Anwendungen in das Obsidian Format.", "action-open": "Markdown Importprogramm öffnen", "option-roam-tag-fixer": "Korrekturregel für Roam Research Kategorien", "option-roam-tag-fixer-description": "Konvertiert \"#tag\" und \"#[[tag]]\" zu \"[[tag]]\".", "option-roam-highlight-fixer": "Korrekturregel für Roam Research Hervorhebung", "option-roam-highlight-fixer-description": "Konvertiert \"^^highlight^^\" zu \"==highlight==\".", "option-roam-todo-converter": "Konvertierer für Roam Research TODO", "option-roam-todo-converter-description": "Konvertiert \"{{[[TODO]]}}\" zu \"[ ]\".", "option-bear-highlight-fixer": "Korrekturregel für Bear Hervorhebung", "option-bear-highlight-fixer-description": "Konvertiert \"::highlight::\" zu \"==highlight==\".", "zettelkasten-link-fixer": "Korrekturregel für Zettelkasten-Links", "zettelkasten-link-fixer-description": "Korrigiert \"[[UID]]\" Links zu vollständigen \"[[UID File Name]]\".", "zettelkasten-link-beautifier": "Verschönerer für Zettelkasten Links", "zettelkasten-link-beautifier-description": "Korrigiert \"[[UID]]\" Links und verschönert sie zu \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter-Migration", "frontmatter-migration-description": "Frontmatter Tags, Aliasse und CSS-Klassen in das für Obsidian v1.9+ zwingend erforderliche Format umwandeln.", "msg-all-files-warning": "Warnung: Das Importprogramm wird alle Dateien im Vault konvertierten, nicht nur die aktuelle Datei.", "msg-override-files-warning": "Deine Dateien werden überschrieben. Erstelle eine Sicherungskopie deiner Dateien vor der Konvertierung.", "label-start-conversion": "Konvertierung starten", "label-stop": "Stopp", "label-go-back": "Zurück", "label-done": "Fertig", "label-processing": "Verarbeite...", "label-cancelling": "Abbrechen...", "label-finished": "Erledigt!", "label-processed-files": "Verarbeitete Dateien", "label-modified-files": "Geänderte Dateien", "label-total-replacements": "Summe Ersetzungen", "label-failed": "Fehlgeschlagen" }, "daily-notes": { "name": "Tägliche Notizen", "desc": "Öffnet die heutige Notiz oder erstelle eine, wenn sie nicht vorhanden ist.", "short-name": "Heute", "action-open": "Heutige Notiz öffnen", "action-open-previous": "Vorherige Tagesnotiz öffnen", "action-open-next": "Nächste tägliche Notiz öffnen", "action-insert-text": "Text in tägliche Notiz einfügen", "action-insert-link": "Link in tägliche Notiz einfügen", "msg-fail-format": "Tägliche Notiz konnte nicht erstellt werden. \"{{format}}\" ist kein gültiges Format.", "msg-fail-folder": "Tägliche Notiz konnte nicht erstellt werden. Ordner \"{{folderOption}}\" wurde nicht gefunden.", "msg-fail-template-file": "Tägliche Notiz konnte nicht erstellt werden. Vorlagedatei \"{{template}}\" wurde nicht gefunden.", "msg-no-previous": "Es gibt keine tägliche Notiz vor dieser.", "msg-no-next": "Es gibt keine tägliche Notiz nach dieser.", "option-date-format": "Datumsformat", "label-refer-to-syntax": "Weitere Syntax findest du unter: ", "label-syntax-link": "Format-Referenz", "label-syntax-live-preview": "So wird es aussehen: ", "option-new-file-location": "Neuer Dateispeicherort", "option-new-file-location-description": "Der Ordnerpfad, um die neue tägliche Notiz zu erstellen.", "option-template": "Speicherort der Vorlagendatei", "option-template-description": "Der Dateipfad, der als Vorlage verwendet werden soll.", "option-open-on-start": "Tagesnotiz beim Start öffnen", "option-open-on-start-description": "Öffnet deine tägliche Notiz automatisch, sobald du diesen Vault öffnest." }, "unique-note-creator": { "name": "Eindeutige Notiz erstellen", "desc": "Erstellt eindeutige Notizen mit einzigartigen Zeitstempeln im Namen, für Methoden wie den Zettelkasten.", "short-name": "Eindeutig", "action-create-note": "Neue eindeutige Notiz erstellen", "action-add-link": "Eindeutigen internen Link hinzufügen“", "option-new-file-location": "Neuer Datei-Speicherort", "option-new-file-location-description": "Der Pfad zu dem Ordner, in dem die neue eindeutige Notiz erstellt wird.", "msg-folder-not-found": "Eindeutige Notiz konnte nicht erstellt werden. Ordner \"{{folderOption}}\" nicht gefunden.", "option-template-file": "Vorlage Speicherort", "option-template-file-description": "Der Pfad zu der Datei, die als Vorlage genutzt werden soll.", "option-template-file-placeholder": "Beispiel: ordner1/notiz", "option-id-format": "Eindeutiges Zeitstempelformat", "msg-template-file-not-found": "Eindeutige Notiz konnte nicht erstellt werden. Vorlagendatei \"{{template}}\" nicht gefunden.", "msg-failed-to-generate": "Eindeutige Notiz mit dem Format \"{{format}}\" konnte nicht erstellt werden." }, "random-note": { "name": "Zufällige Notiz", "desc": "Öffnet eine zufällige Notiz. Nützlich für die Überprüfung und Erkundung.", "short-name": "Zufall", "action-open": "Zufällige Notiz öffnen" }, "outline": { "name": "Gliederung", "desc": "Zeigt die Gliederung der aktuellen Datei oder des verlinkten Bereichs an.", "action-open": "Gliederung öffnen", "action-show": "Gliederungsbereich zeigen", "action-open-for-current": "Gliederung für die aktuelle Datei öffnen", "tab-title": "Gliederung von {{displayText}}", "label-no-headings": "Keine Überschriften gefunden.", "label-follow-cursor": "Auto-scroll zum aktuellen Abschnitt" }, "word-count": { "name": "Anzahl der Wörter", "desc": "Zeigt die Anzahl der Wörter in der Statusleiste an." }, "slides": { "name": "Präsentation", "desc": "Ermöglicht die Präsentation mit Markdown. Verwende \"---\", um Folien zu trennen.", "action-start": "Präsentation starten" }, "audio-recorder": { "name": "Audio-Rekorder", "desc": "Ermöglicht die Aufzeichnung von Audio und das Speichern von Aufzeichnungen als Anhang.", "action-start": "Audioaufzeichnung starten", "action-stop": "Audioaufzeichnung stoppen", "action-toggle": "Audioaufzeichnung starten/stoppen", "msg-access-denied": "Der Mikrofonzugriff wurde verweigert. Aktiviere ihn bitte über den Einstellungsbereich.", "msg-pending-grant": "Bitte erteile dem Mikrofon die Berechtigung, die Aufnahme zu starten.", "msg-no-microphone": "Es ist kein Mikrofon angeschlossen." }, "open-with-default-app": { "name": "Mit Standard-Anwendung öffnen", "desc": "Fügt einen Button hinzu, um die aktuelle Datei mit der Standard-Anwendung zu öffnen.", "action-open-file": "Mit Standard-Anwendung öffnen", "action-open-file-mobile": "Teilen", "action-show-in-folder": "Im Ordner anzeigen", "action-show-in-folder-mac": "Im Finder anzeigen" }, "templates": { "name": "Vorlagen", "desc": "Ermöglicht das Einfügen von Vorlageinhalten aus Vorlagen in einem Ordner.", "action-insert": "Vorlage einfügen", "action-insert-current-date": "Aktuelles Datum einfügen", "action-insert-current-time": "Aktuelle Zeit einfügen", "option-template-folder-location": "Vorlagenordner Speicherort", "option-template-folder-location-description": "Dateien in diesem Ordner werden als Vorlagen verfügbar sein.", "option-template-date-format": "Datumsformat", "option-template-date-format-description": "{{date}} in der Vorlage werden mit dem aktuellen Wert ersetzt.", "option-template-date-format-description2": "Du kannst auch {{date:YYYY-MM-DD}} benutzen, um das Format einmal zu überschreiben.", "option-template-time-format": "Zeitformat", "option-template-time-format-description": "{{time}} in der Vorlage werden mit dem aktuellen Wert ersetzt.", "option-template-time-format-description2": "Du kann auch {{time:HH:mm}} benutzen, um das Format einmal zu überschreiben.", "instruction-navigate": "zum navigieren", "instruction-insert": "Vorlage einfügen", "instruction-dismiss": "zum abbrechen", "msg-no-templates-found": "Keine Vorlagen gefunden", "msg-fail-invalid-folder": "Es können keine Vorlagen angezeigt werden. Der Vorlagenordner ist nicht gültig.", "msg-fail-folder-not-found": "Es können keine Vorlagen angezeigt werden. Ordner \"{{folderOption}}\" wurde nicht gefunden.", "msg-fail-invalid-template-properties": "Vorlage konnte nicht eingefügt werden, da die Eigenschaften in der Vorlagendatei nicht eingelesen werden konnten.", "msg-no-folder-set": "Es können keine Vorlagen angezeigt werden. Kein Vorlagenordner konfiguriert.", "prompt-type-template": "Vorlagenamen eingeben..." }, "translucency": { "name": "Durchscheinender Fensterbereich", "desc": "Aktiviert den Durchschein-Effekt, um ein Gefühl von Tiefe zu erzeugen. Nutze es am besten mit dem Dunklen Modus. Wird von Linux nicht unterstützt." }, "slash-command": { "name": "Slash-Befehle", "desc": "Aktiviert die Möglichkeit, Slash-Befehle im Editor zu verwenden, wenn du den Schrägstrich eingibst." }, "editor-status": { "name": "Editor Status", "desc": "Lässt dich den Modus zum Bearbeiten über eine Schaltfläche in der Statusleiste ändern.", "read": "Lesen", "edit-source": "Quellcode-Ansicht", "edit-live-preview": "Live-Vorschau" }, "publish": { "name": "Veröffentlichen", "desc": "Ermöglicht das Veröffentlichen deiner Notizen mittels Obsidian Publish.", "action-publish-changes": "Änderungen veröffentlichen", "action-publish-file": "Aktuelle Datei veröffentlichen", "label-no-internet-access": "Eine Internetverbindung wird benötigt, um Änderungen zu veröffentlichen.", "label-publish-service-description": "Obsidian Publish ist ein optionaler, kostenpflichtiger Service, der es dir ermöglicht, deine Notizen direkt aus Obsidian zu veröffentlichen..", "label-please-login": "Um Notizen zu veröffentlichen, melde dich bitte an oder erstelle ein neues Obsidian-Konto.", "label-no-publish-subscription": "Du hast den Obsidian Publish Service noch nicht aktiviert.", "button-purchase": "Erwerben", "label-manage-sites": "Webseiten verwalten", "label-no-sites": "Du hast keine Websites.", "button-choose": "Wählen", "tooltip-edit-site-id": "Website-ID bearbeiten", "tooltip-delete-site": "Website löschen", "label-delete-site-confirmation": "Bist du sicher, dass du diese Website löschen möchtest?", "label-delete-site-details": "Das wird deine Website sofort und unwiderruflich löschen.", "label-confirm-delete-site": "Bestätige das Löschen der Website \"{{site}}\"", "option-site-id": "Website-ID", "option-site-id-description": "Deine Website wird unter https://publish.obsidian.md/{site id} zu finden sein. Du kannst das später ändern. Nur Kleinbuchstaben, Ziffern und Bindestriche sind erlaubt.", "option-site-id-placeholder": "Wähle eine Website-ID", "button-create": "Erstellen", "msg-invalid-site-id": "Seiten-ID darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.", "msg-site-id-in-use": "Diese Seiten-ID wird bereits verwendet, bitte versuche eine andere.", "msg-create-site-issue": "Es gab ein Problem beim Erstellen deiner Seite.", "label-site-options": "Seiten-Einstellungen", "option-site-general": "Allgemein", "option-site-components": "Komponenten", "option-site-appearance": "Aussehen", "option-site-reading-experience": "Leser-Erlebnis", "option-site-misc": "Andere Seiten-Einstellungen", "option-site-name": "Seiten-Name", "option-site-name-description": "Der Name deiner veröffentlichten Website. Er wird im Seitentitel der Website zu sehen sein.", "option-site-name-placeholder": "Name deiner Website", "option-home-page-file": "Homepage-Datei", "option-home-page-file-description": "Die erste Seite, die Nutzer sehen, wenn sie deine veröffentlichte Website aufrufen", "option-home-page-file-placeholder": "Wähle eine veröffentlichte Datei", "option-logo": "Logo", "option-logo-description": "Wähle eine Bilddatei als Logo deiner Website.", "option-logo-placeholder": "Ein hochgeladenes Bild in deinem Vault...", "option-site-collaboration": "Website-Zusammenarbeit", "option-site-collaboration-desc": "Verwalte Mitarbeiter dieser Website.", "option-customize-navigation": "Navigation anpassen", "option-customize-navigation-desc": "Überschreibe die Reihenfolge der Navigationselemente und blende Seiten oder Ordner aus.", "option-navigation-order": "Reihenfolge der angezeigten Navigationselemente", "option-hide-items-in-navigation": "Blende Seiten oder Ordner in der Navigation aus", "option-hide-items-in-navigation-desc": "Rechtsklick und wähle \"Ausblenden\", um bestimmte Seiten von der Navigation auszuschließen. Die Seiten werden weiterhin über Links oder die direkte URL erreichbar sein.", "option-show-hidden-items": "Ausgeblendete anzeigen", "button-customize-sidebar": "Verwalten", "label-navigation-modal-title": "Navigation", "label-navigation-modal-desc": "Ziehen und ablegen, um die Reihenfolge der Navigationselemente deiner Publish-Website anzupassen.", "option-hide-in-navigation": "In Navigation ausblenden", "button-manage-collaborators": "Verwalten", "option-theme": "Schema", "option-theme-description": "Wähle ein Standard-Schema für deine Seite.", "option-theme-system": "An System anpassen", "option-show-theme-toggle": "Hell/Dunkel umschalten", "option-show-theme-toggle-description": "Lässt den Besucher selbst zwischen dem hellen und dunklen Farbschema umschalten.", "option-show-navigation": "Navigation anzeigen", "option-show-navigation-description": "Zeigt eine Liste deiner veröffentlichten Seiten am linken Rand der veröffentlichten Website.", "option-show-search": "Zeige Suchbereich", "option-show-search-description": "Zeigt einen Suchbereich über der Navigation, mit dem Besucher Seiten und Titel auf deiner Website durchsuchen können.", "option-show-graph": "Zeige Graph-Ansicht", "option-show-graph-description": "Zeigt einen kleinen, lokalen Graphen auf jeder Seite an.", "option-show-outline": "Zeige Inhaltsverzeichnis", "option-show-outline-description": "Zeigt eine Liste aller Überschriften auf jeder Seite an.", "option-show-backlinks": "Zeige Rückverweise", "option-show-backlinks-description": "Zeigt am Ende jeder Seite einen Bereich mit Rückverweisen an.", "option-sliding-window-mode": "Nutze horizontales Scrollen", "option-sliding-window-mode-description": "Öffnet Seiten in neuen Fensterbereichen rechts. Erlaubt horizontales Scrollen durch die Fensterbereiche.", "option-hover-preview-file": "Zeige Vorschau", "option-hover-preview-file-description": "Zeigt eine Vorschau der Seite, wenn Mauszeiger über einen Link fährt.", "option-hide-title": "Seitentitel ausblenden", "option-hide-title-description": "Blendet den Seitentitel aus. Das ist nützlich, wenn du deine eigenen Überschriften am Anfang jeder Seite hast.", "option-readable-line-length": "Lesbare Zeilenlänge", "option-readable-line-length-description": "Begrenzt die maximale Zeilenlänge. Es passt weniger Inhalt auf den Bildschirm, dafür sind lange Absätze besser lesbar.", "option-site-password": "Passwörter", "option-site-password-description": "Beschränke den Zugang zu deiner Website mit Passwörtern.", "option-google-analytics": "Google Analytics Tracking-Code", "option-google-analytics-description": "Konfiguriert Google Analytics für deine Website. Nur verfügbar für Besucher deiner eigenen Domain-URL. Bitte beachte dabei die gesetzlichen Bestimmungen und Regeln deines Landes.", "button-manage-passwords": "Verwalten", "button-save-site-settings": "Seiteneinstellungen speichern", "msg-updated-options": "Einstellungen für deine Seite aktualisiert.", "button-go-back": "Zurück", "label-publishing-to": "Veröffentlichen nach", "tooltip-switch-site": "Seite wechseln", "button-add-linked": "Verlinkte hinzufügen", "tooltip-add-linked": "Fügt alle von der aktuellen Auswahl verlinkten Dateien hinzu", "msg-added-linked-files": "{{count}} verlinkte Datei wurde hinzugefügt.", "msg-added-linked-files_plural": "{{count}} verlinkte Dateien wurden hinzugefügt.", "tooltip-open-site-options": "Seiteneinstellungen ändern", "label-no-changes-detected": "Keine Änderungen wurden gefunden.", "label-changed-files-to-be-published": "Änderungen", "label-unchanged-files-already-published": "Unverändert (zum Löschen auswählen)", "label-file-selected": " ausgewählt", "button-select-all-files": "Alle auswählen", "label-custom-navigation-title": "Navigationelemente", "button-deselect-all-files": "Auswahl aufheben", "label-new-files-to-be-published": "Neu", "button-publish": "Veröffentlichen", "msg-no-permission-to-publish-to-site": "Du hast nicht die erforderlichen Berechtigungen, um etwas auf dieser Website zu veröffentlichen.", "msg-select-at-least-one-file": "Bitte wähle mindestens eine Datei aus.", "label-upload-changes": "Änderungen hochladen", "button-done": "Fertig", "button-stop": "Stopp", "label-status-uploading": "Lädt hoch", "label-status-to-publish": "Zum Veröffentlichen", "label-status-to-delete": "Zum Löschen", "label-status-published": "Veröffentlicht", "label-status-deleted": "Gelöscht", "label-status-failed": "Fehlgeschlagen", "label-status-cancelled": "Abgebrochen", "button-change": "Ändern", "label-clear-cache": "Es kann einige Minuten dauern, bis die Änderungen auf deiner Website sichtbar sind. Wenn du deine letzten Änderungen nicht sehen kannst, versuche den Cache deines Browsers zu löschen.", "label-visit-site": "Hier findest du deine Website: ", "msg-something-went-wrong": "Etwas ging schief. Überprüfe die Entwickler-Konsole auf Details.", "msg-network-error": "Ein Netzwerkfehler ist aufgetreten. ", "label-manage-passwords": "Passwörter verwalten", "label-add-password": "Passwort hinzufügen", "action-new-password": "Neues Passwort", "label-no-password": "Deine Seite nutzt momentan keine Passwörter. Jeder kann deine Website besuchen.", "label-have-password": "Deine Seite ist passwortgeschützt. Nutzt du mehrere Passwörter, können Besucher mit jedem beliebigen dieser Passwörter auf deine Website zugreifen.", "option-password-name": "Passwort", "option-password-desc": "Ein Hash deines Passwortes wird sicher gespeichert. Ist das Passwort einmal gesetzt, kann es nicht mehr als Text angezeigt werden.", "option-password-placeholder": "Dein Passwort", "option-nickname-name": "Spitzname (optional)", "option-nickname-desc": "Wähle einen Spitznamen, um dich daran zu erinnern, für wen oder was das Passwort ist.", "action-add-password": "Dieses Passwort hinzufügen", "label-untitled-password": "Unbenanntes Passwort", "label-password-created-time": "Erstellt: {{time}}", "msg-added-new-password": "Neues Passwort hinzugefügt.", "option-custom-domain": "Eigene Domain", "option-custom-domain-desc": "Nutze deine eigene Domain anstelle der https://publish.obsidian.md/{site id} URL.", "option-noindex": "Verbiete Indizierung durch Suchmaschinen", "option-noindex-desc": "Verhindere das Indizieren deiner Website durch Suchmaschinen.", "button-configure": "Konfigurieren", "label-configure-custom-domain": "Eigene Domain konfigurieren", "option-custom-url-name": "Eigene URL", "option-custom-url-desc": "Die URL, unter der deine Website zu finden sein wird.", "option-custom-url-placeholder": "www.eigenedomain.com", "option-custom-url-redirect": "Weiterleitung auf deine eigene Domain", "option-custom-url-redirect-desc": "Leite deine Besucher von publish.obsidian.md/id zu deiner eigenen Domain weiter.", "button-update-custom-domain": "Domain-Einstellungen aktualisieren", "label-custom-domain-instructions": "Bitte besuche {{link}} auf unserer Hilfe-Seite für weitere Informationen.", "label-custom-domain-link-name": "Anleitung für Anpassungen der eigenen Domain", "label-site-usage": "Du nutzt {{site}} von deinen {{limit}} Websites.", "button-add-more-sites": "Kaufe mehr Websites", "label-no-sites-bought": "Du hast noch keine Websites gekauft.", "button-get-site": "Erwerbe eine Website", "label-manage-sharing": "Teilen verwalten für \"{{name}}\"", "label-sharing-with-users": "Diese Website wird aktuell mit den folgenden Personen geteilt.", "label-not-sharing": "Diese Website wird aktuell mit niemandem geteilt.", "label-invite-pending": "Ausstehend", "tooltip-remove-user": "Nutzer entfernen", "option-invite-user": "Nutzer einladen", "placeholder-invite-user": "Gib die Email-Adresse ein...", "error-email-must-be-valid": "Bitte gib eine gültige Email-Adresse ein, um jemanden einzuladen.", "msg-enable-publish-plugin": "Bitte aktiviere das Publish-Kernplugin in Einstellungen -> Obsidian-Erweiterungen, um Websites anzuzeigen.", "label-your-sites": "Deine Websites", "label-sites-shared-with-you": "Websites, die mit dir geteilt wurden", "tooltip-leave-site-sharing": "Mitarbeit an dieser Website beenden", "label-leave-site-confirmation": "Beendigung der Mitarbeit an dieser Website bestätigen", "label-leave-site-confirmation-details": "Dadurch wird diese Website aus der Liste der mit dir geteilten Websites entfernt. Diese Aktion kann nicht rückgängig gemacht werden.", "label-leave-site-confirmation-details-2": "Bitte kontaktiere den Eigentümer der Website, falls du wieder mitarbeiten möchtest.", "button-leave": "Verlassen", "label-compare-with-live": "Mit Live-Version vergleichen", "button-use-live-version": "Live-Version nutzen", "label-confirm-override": "Überschreiben der lokalen Version bestätigen", "label-confirm-override-1": "Bist du sicher, dass du die lokale Version überschreiben willst?", "label-confirm-override-2": "Die Live-Version wird genutzt und deine lokale Version wird verworfen. Bitte erstelle bei Bedarf vorher ein Backup.", "button-proceed": "Fortfahren", "message-successfully-used-live-version": "Live-Version wurde erfolgreich genutzt, um deine lokale Version zu überschreiben.", "label-open-in-live-site": "Open in live site", "label-open-file": "Datei öffnen", "tooltip-manage-publish-filters": "Publish-Filter verwalten", "option-included-folders": "Enthaltene Ordner", "option-included-folders-desc": "Dateien in diesen Ordnern werden automatisch ausgewählt, wenn du Veränderungen zum Veröffentlichen anschaust.", "option-currently-included-folders": "Diese Ordner sind aktuell enthalten:", "option-excluded-folders": "Nicht enthaltene Ordner", "option-excluded-folders-desc": "Dateien in diesen Ordnern werden nicht auftauchen, wenn du Veränderungen zum Veröffentlichen anschaust. Diese Einstellung hat höhere Priorität, als die enthaltenen Ordner oben.", "label-number-of-folders-included": "Obsidian Publish schließt aktuell {{folders}} ein.", "label-number-of-folders-excluded": "Obsidian Publish schließt aktuell {{folders}} aus.", "label-manage-included-folders": "Enthaltene Ordner verwalten", "label-manage-excluded-folders": "Nicht enthaltene Ordner verwalten", "label-add-included-folder": "Ordner einbeziehen", "label-add-included-folder-desc": "Du kannst sowohl bestehende, als auch zukünftig erstellte Ordner einbeziehen.", "tooltip-contact-support": "Support kontaktieren", "label-navigation-preview": "Navigationsvorschau" }, "workspaces": { "name": "Workspaces", "desc": "Ermöglicht das Speichern und Laden von Workspace-Layouts.", "action-load-layout": "Workspace-Layout laden", "action-manage-layouts": "Workspace-Layouts verwalten", "action-save": "Layout speichern", "action-save-and-load-layout": "Speichern und ein anderes Layout laden", "placeholder-save-current-layout-as": "Speichere das aktuelle Workspace-Layout als...", "button-save": "Speichern", "button-load": "Laden", "tooltip-delete-layout": "Layout löschen", "msg-enter-name": "Bitte gib einen Namen für das neue Layout ein.", "msg-save-layout-success": "Layout erfolgreich gespeichert.", "label-no-layout-found": "Kein gespeichertes Layout gefunden.", "label-workspace-modified-time": "Geändert {{time}}", "placeholder-type-to-search-layouts": "Layout-Namen eingeben..." }, "sync": { "name": "Sync", "desc": "Synchronisiere deine Dateien mit Obsidian Sync.", "action-view-version-history": "Zeige den Versionsverlauf der aktuellen Datei", "action-setup-sync": "Synchronisierung einrichten", "menu-opt-view-version-history": "Öffne den Versionsverlauf", "action-view-sync-sidebar": "Zeige den Synchronisierungsverlauf an", "action-activity-log": "Zeige den Aktivitätsverlauf an", "label-load-more": "Mehr laden", "label-show-diff": "Unterschiede zeigen", "label-copy-to-clipboard": "In Zwischenablage kopieren", "label-restore-this-version": "Diese Version wiederherstellen", "msg-already-latest-version": "Diese Version ist bereits die aktuellste Version.", "msg-restored-version": "Version von {{time}} erfolgreich wiederhergestellt.", "label-file-deleted": "Diese Datei wurde gelöscht", "label-file-deleted-via": "Gelöscht von {{ device }}", "label-file-renamed-from": "Diese Datei wurde von \"{{filepath}}\" umbenannt.", "label-file-renamed-from-to": "Umbenannt von “{{from}}” nach “{{to}}”", "label-file-moved-from": "Verschoben von “{{from}}”", "label-file-moved-from-to": "Verschoben von “{{from}}” nach “{{to}}”", "label-revision": "1 Revision", "label-revision_plural": "{{revisions}} Revisionen", "label-via-device": "via {{device}}", "label-no-history": "Kein Synchronisierungsverlauf für diese Datei.", "label-empty-file": "Leer", "label-unable-to-retrieve": "Versionsverlauf kann nicht geladen werden", "label-setting-files": "Einstellungsdateien", "label-deleted-files": "Gelöschte Dateien", "label-version-history": "Versionsverlauf", "label-click-to-see-history": "Klicke auf eine Datei, um ihren Verlauf zu sehen.", "label-create-remote-vault": "Remote-Vault erstellen", "msg-please-enter-password": "Bitte gib ein Passwort ein.", "msg-vault-name-cannot-be-empty": "Vault-Name darf nicht leer sein.", "msg-successfully-created-vault": "Erstellung des Remote-Vaults \"{{name}}\" erfolgreich.", "label-remote-vault-explanation": "Remote-Vaults synchronisieren deinen Vault sicher zwischen deinen Geräten.", "option-vault-name": "Vault-Name", "option-vault-name-desc": "Hilft, dich an den Inhalt deines Vaults zu erinnern.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatisch", "option-vault-region-desc": "Wähle eine Region, welche dir am nächsten ist, um deinen Remote-Vault zu speichern. Diese Option kann später nicht mehr geändert werden.", "option-vault-name-placeholder": "Mein großartiger Vault", "option-encryption": "Verschlüsselung", "option-encryption-desc": "Ende-zu-Ende-Verschlüsselung bietet die größte Sicherheit, allerdings können die Daten bei Verlust des Passworts nicht wiederhergestellt werden. Die Standard-Verschlüsselung nutzt einen von Obsidian verwalten Schlüssel, um die Daten während der Übertragung und auf unseren Servern zu schützen.", "option-encryption-warning": "Diese Option kann später nicht geändert werden.", "option-encryption-end-to-end": "Ende-zu-Ende-Verschlüsselung", "option-encryption-standard": "Standard-Verschlüsselung", "option-encryption-password": "Passwort für Verschlüsselung", "option-encryption-password-desc": "Dieses Passwort kann später nicht mehr geändert werden!", "option-encryption-password-desc-warning": "Wenn du dieses Passwort vergisst, werden alle Remote-Daten für immer unbrauchbar sein.", "option-encryption-password-desc-2": "Dies hat keine Auswirkungen auf deine lokalen Daten.", "label-encryption-password-explanation": "Der Remote-Vault “{{name}}” ist aktuell verschlüsselt. Gib dein Passwort ein, um ihn zu entsperren.", "option-encryption-password-placeholder": "Dein Passwort", "label-unlock-encrypted-vault": "Deinen Remote-Vault entsperren", "button-unlock-vault": "Vault entsperren", "label-remote-vaults": "Deine Remote-Vaults", "label-vault-created-time": "Erstellt {{time}}", "tooltip-delete-remote-vault": "Löschen", "tooltip-rename-remote-vault": "Umbenennen", "label-rename-remote-vault": "Remote-Vault \"{{name}}\" umbenennen", "label-rename-remote-vault-desc": "Gib einen neuen Namen für diesen Remote-Vault ein.", "tooltip-manage-sharing": "Teilen verwalten", "label-confirm-delete-remote-vault": "Löschen des Vaults bestätigen", "label-confirm-delete-remote-vault-question": "Bist du sicher, dass du diesen Remote-Vault löschen willst?", "label-confirm-delete-remote-vault-result": "Alle Daten auf unseren Servern, inklusive des Versions-Verlaufes, werden gelöscht. Deine lokalen Dateien bleiben unberührt.", "label-confirm-delete-remote-vault-warning": "Diese Aktion ist permanent und irreversibel.", "msg-remote-vault-deleted": "{{name}} wurde gelöscht.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: Der verbundene Remote-Vault existiert nicht mehr.", "button-connect-to-remote-vault": "Verbinden", "button-disconnect-from-remote-vault": "Verbindung trennen", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "Du hast keine Remote-Vaults.", "label-no-subscription": "Du hast kein aktives Abo für Obsidian Sync.", "label-please-visit": "Bitte besuche", "label-preview-unsupported-file-type": "Für {{type}} Dateien ist keine Vorschau möglich.", "button-create-new-remote-vault": "Neuen Vault erstellen", "label-sync-log": "Sync-Log", "option-event-type-all": "Alle", "option-event-type-errors": "Fehler", "option-event-type-skipped": "Übersprungen", "option-event-type-merge-conflicts": "Fehler beim Zusammenführen", "button-copy-sync-log": "Sync-Log kopieren", "msg-successfully-copied-sync-log": "Sync-Log erfolgreich kopiert.", "button-retry": "Erneut versuchen", "button-purchase-subscription": "Erwerben", "label-third-party-sync-warning": "Widersprüchlicher Synchronisierungsdienst erkannt", "label-third-party-sync-warning-desc": "Achtung: Dein Vault scheint {{service}} als externen Synchronisierungsdienst zu verwenden. Wenn du Obsidian Sync mit diesem Vault verwendest, riskierst du Konflikte, Datenbeschädigung und Datenverlust.", "label-icloud-drive-warning": "Falls du iCloud Drive verwendest, könnten deine Dokumente und Desktop-Ordner von iCloud synchronisiert werden. Das kann Konflikte mit Obsidian Sync verursachen.", "option-remote-vault": "Remote-Vault", "button-choose-remote-vault": "Wählen", "button-manage-remote-vault": "Verwalten", "option-remote-vault-desc-connected": "Aktuell verbunden mit dem Remote-Vault \"{{name}}\".", "option-remote-vault-desc-not-connected": "Aktuell mit keinem Remote-Vault verbunden.", "option-sync-status": "Sync Status", "option-sync-status-desc-paused": "Obsidian Sync ist momentan pausiert.", "option-sync-status-desc-running": "Obsidian Sync läuft gerade.", "option-device-name": "Name des Gerätes", "option-device-name-desc": "Dieser Name wird im Sync-Log angezeigt. Wenn du das Feld leer lässt, wird der Standardname verwendet.", "button-resume": "Fortfahren", "button-pause": "Anhalten", "option-view-deleted-files": "Gelöschte Dateien", "option-view-deleted-files-desc": "Zeigt gelöschte Dateien und ermöglicht Wiederherstellung.", "option-sync-log": "Sync-Aktivität", "option-sync-log-desc": "Zeigt kürzliche Sync-Aktivitäten zur Fehlerdiagnose.", "button-view": "Zeigen", "button-bulk-restore": "Mehrere wiederherstellen", "button-restore-files_zero": "Dateien wiederherstellen", "button-restore-files": "{{count}} Datei wiederherstellen", "button-restore-files_plural": "{{count}} Dateien wiederherstellen", "msg-restoring": "Wiederherstellen...", "msg-restoring-complete": "`Wiederherstellung vollständig: {{succeeded}} erfolgreich und {{failed}} fehlgeschlagen.`", "option-vault-size": "Größe des Vaults", "option-vault-size-desc": "Du benutzt {{size}} von {{limit}}", "option-vault-size-unknown": "Größe des Vaults konnte nicht bestimmt werden.", "option-vault-size-loading": "Bestimme die Größe deines Vaults...", "option-over-size": "Vault Größe über Limit", "option-almost-over-size": "Vault Größe ist nahe am Limit", "msg-largest-files": "Zeige größte Dateien", "msg-largest-files-desc": "Diese Remote-Dateien beanspruchen den meisten Platz. Nachdem du Anhänge gelöscht hast, betätige den Bereinigen-Knopf, um Speicherplatz für deinen Remote-Vault freizugeben.", "button-upgrade-storage": "Speicherplatz erweitern", "button-purge-remote": "Bereinigen", "button-hide-my-changes": "Meine Änderungen ausblenden", "tooltip-purge-remote": "Gelöschte Anhänge werden permanent vom Remote-Vault entfernt, um Speicherplatz zu sparen.", "msg-purge-complete": "Bereinigung erfolgreich.", "option-prevent-sleep": "Gerät aktiv halten", "option-prevent-sleep-desc": "Verhindert, dass das Gerät in den Ruhemodus geht, während Dateien synchronisiert werden.", "option-selective-sync": "Selektive Synchronisation", "option-excluded-folders": "Nicht eingeschlossene Ordner", "option-excluded-folder-desc": "Schließt bestimmte Ordner von der Synchronisation aus.", "option-currently-excluded-folders": "Diese Ordner sind momentan nicht eingeschlossen:", "button-manage-excluded-folders": "Verwalten", "option-sync-image": "Bilder synchronisieren", "option-sync-image-desc": "Synchronisiert Bilddateien mit diesen Dateiendungen: {{extensions}}.", "option-sync-audio": "Audiodateien synchronisieren", "option-sync-audio-desc": "Synchronisiert Audiodateien mit diesen Dateiendungen: {{extensions}}.", "option-sync-video": "Videos synchronisieren", "option-sync-video-desc": "Synchronisiert Videodateien mit diesen Dateiendungen: {{extensions}}.", "option-sync-pdf": "PDFs synchronisieren", "option-sync-pdf-desc": "Synchronisiert PDF-Dateien.", "option-sync-unsupported": "Alle anderen Dateien synchronisieren", "option-sync-unsupported-desc": "Synchronisiert Dateien mit nicht unterstützten Dateiendungen.", "option-vault-config-sync": "Vault-Konfiguration synchronisieren", "option-view-config-files": "Einstellungsverlauf", "option-view-config-files-desc": "Zeigt den Versionsverlauf der Einstellungsdateien mit Option zum Wiederherstellen.", "option-sync-app": "Allgemeine Einstellungen", "option-sync-app-desc": "Aktiviere die Synchronisierung von Editor-, Datei- und Link-Einstellungen, angepassten Tastenkürzeln usw.", "option-sync-appearance": "Darstellungseinstellungen", "option-sync-appearance-desc": "Synchronisiert Darstellungseinstellungen wie dunklen Modus, aktives Schema und aktivierte CSS-Snippets.", "option-sync-appearance-data": "Farbschemata und Snippets", "option-sync-appearance-data-desc": "Synchronisiert heruntergeladene Schemen und Snippets. Ob diese aktiviert sind, entscheidet die vorherige Einstellung.", "option-sync-hotkey": "Tastenkürzel", "option-sync-hotkey-desc": "Synchronisiert eigene Tastenkürzel.", "option-sync-core-plugin": "Aktive Obsidian-Erweiterungen", "option-sync-core-plugin-desc": "Synchronisiert, welche integrierten Erweiterungen aktiviert sind.", "option-sync-core-plugin-data": "Obsidian-Erweiterungseinstellungen", "option-sync-core-plugin-data-desc": "Synchronisiert Einstellungen der Obsidian-Erweiterungen.", "option-sync-community-plugin": "Aktive externe Erweiterungen", "option-sync-community-plugin-desc": "Synchronisiert, welche Community-Erweiterungen aktiviert sind.", "option-sync-community-plugin-data": "Installierte externe Erweiterungen", "option-sync-community-plugin-data-desc": "Synchronisiert installierte Community-Erweiterungen (.js, .css, und manifest.json Dateien) und deren Einstellungen.", "label-sync-loading": "Sync wird noch geladen, bitte aktualisiere diese Seite später.", "label-sync-introduction": "Obsidian Sync ist Obsidian's optionaler Synchronisierungsdienst mit Ende-zu-Ende-Verschlüsselung und Versionsverlauf.", "label-account-required": "Um die Synchronisierung zu starten, melde dich bitte an oder erstelle ein neues Obsidian-Konto.", "label-current-file": "Aktuelle Datei", "label-sync-changes": "Änderungen synchronisieren", "label-today": "Heute", "label-yesterday": "Gestern", "label-this-week": "Diese Woche", "label-older": "Älter", "label-last-sync": "Letzte Synchronisierung", "label-more": "{{count}} mehr", "button-sign-up": "Registrieren", "button-log-in": "Anmelden", "label-manage-excluded-folders": "Ausgeschlossene Ordner verwalten", "label-number-of-folders-excluded": "{{folders}} sind momentan von der Synchronisation ausgeschlossen.", "label-add-excluded-folder": "Ordner ausschließen", "label-add-excluded-folder-desc": "Du kannst bereits existierende und zukünftig erstellte Ordner ausschließen.", "tooltip-remove-excluded-folder": "Von Ausschlussliste entfernen", "label-setup-connection": "Verbindung einrichten", "label-connecting-to-vault": "Verbinden...", "label-connection-failed": "Verbindung fehlgeschlagen", "label-connection-failed-desc": "Die Verbindung zum Remote-Vault konnte nicht hergestellt werden.", "label-now-connected-to-vault": "Du bist jetzt mit \"{{name}}\" verbunden.", "button-start-syncing": "Synchronisierung starten", "label-confirm-merge-vault": "Vault-Kombination bestätigen", "msg-vault-has-notes": "Dein lokaler Vault enthält bereits einige Notizen.", "msg-vault-merge-warning": "Wenn du den Remote-Vault \"{{name}}\" verbindest, werden Notizen aus deinem lokalen Vault mit Notizen aus deinem Remote-Vault zusammengeführt. In Konfliktsituationen wird die aktuellere Version der Notiz beibehalten.", "tooltip-update-setting-on-all-devices": "Bitte aktualisiere diese Einstellung und starte die Anwendung auf allen deinen Geräten neu, auf denen die Änderungen übernommen werden sollen.", "label-sharing-with-users": "Dieser Remote-Vault wird aktuell mit den folgenden Personen geteilt:", "label-not-sharing": "Dieser Remote-Vault wird aktuell mit niemandem geteilt.", "label-vaults-shared-with-you": "Mit dir geteilte Vaults", "tooltip-leave-vault-sharing": "Nicht mehr an diesem Vault mitarbeiten", "label-leave-vault-confirmation": "Bestätige, dass du nicht mehr an diesem Vault mitarbeiten möchtest", "label-leave-vault-confirmation-details": "Dies wird den Vault von der Liste der mit dir geteilten Vaults entfernen. Diese Aktion kann nicht rückgängig gemacht werden!", "label-leave-vault-confirmation-details-2": "Bitte kontaktiere den Eigentümer des Vaults, falls du wieder an diesem Vault mitarbeiten möchtest.", "button-leave": "Verlassen", "msg-error-failed-to-fetch": "Laden der Remote-Vaults fehlgeschlagen.", "label-require-subscription-to-connect": "Du benötigst ein Obsidian-Sync-Abo, um dich mit diesem Vault zu verbinden.", "option-contact-support": "Support kontaktieren", "option-contact-support-desc": "Falls du Schwierigkeiten mit Obsidian Sync hast, kontaktiere uns bitte, damit wir dir helfen können! Du erreichst uns unter support@obsidian.md.", "button-copy-debug": "Debug-Informationen kopieren", "button-email-support": "Email an den Support", "label-sync-disconnected": "Sync ist nicht mit einem Remote-Vault verbunden.", "msg-remote-vault-limit-hit": "Du hast die maximale Anzahl an Remote-Vaults erstellt. Um einen neuen Remote-Vault anzulegen, entferne einen bestehenden oder erwirb ein Upgrade.", "label-upgrade-vault": "Vault upgraden", "label-upgrade-vault-encryption": "Vault-Verschlüsselung upgraden", "label-upgrade-vault-encryption-desc": "Eine neue Version der Verschlüsselung für Remote-Vaults ist verfügbar.", "label-migrate-remote-vault": "Remote-Vault migrieren", "label-remote-vault-configuration": "Remote-Vault Konfiguration", "button-migrate": "Migrieren", "msg-recreate-remote-vault": "Dein Remote-Vault wird gelöscht und mit der aktuellsten Verschlüsselung neu aufgesetzt. Lokale Dateien sind nicht betroffen, allerdings wird die Versionshistorie gelöscht.", "label-confirm-migrate": "Vault-Migration bestätigen", "msg-migrate-pre-confirmation-part1": "Um deine Verschlüsselung zu aktualisieren, werden alle Daten im Vault mit der neuen Verschlüsselungsmethode neu auf die Obsidian Sync-Server hochgeladen. Dieser Prozess löscht dauerhaft alle Daten, die mit der alten Verschlüsselung verschlüsselt wurden, einschließlich der Versionshistorie für deinen Vault.", "msg-migrate-pre-confirmation-part2": "Wichtig: Wir empfehlen dringend eine Sicherungskopie deines Vaults zu erstellen, um einen möglichen Datenverlust zu vermeiden, bevor du fortfährst", "msg-migrate-pre-confirmation-part3": "Nach Abschluss des Upgrades musst du alle deine Geräte erneut mit dem aktualisierten Remote-Vault verbinden.", "msg-migrate-confirmation": "Die Migration deines Vaults kann einige Zeit beanspruchen. Obsidian muss auf diesem Gerät geöffnet und aktiv bleiben, um alle Notizen und Anhänge erneut hochzuladen. Führe diese Aktion am besten auf deinem Hauptgerät aus.", "msg-migrate-confirmation-size": "Du hast {{size}} Daten. Die Migration deines Vaults kann einige Zeit beanspruchen. Obsidian muss auf diesem Gerät geöffnet und aktiv bleiben, um alle Notizen und Anhänge erneut hochzuladen. Führe diese Aktion am besten auf deinem Hauptgerät aus.", "msg-proceed-prompt": "Möchtest du fortfahren?", "msg-vault-migration-started": "Migration des Vaults in Arbeit." }, "file-recovery": { "name": "Datenwiederherstellung", "desc": "Wiederherstellung älterer Dateiversionen bei versehentlichem Datenverlust. Sicherungskopien werden nur für Markdown-Dateien erstellt.", "action-open": "Gespeicherte Sicherungskopien öffnen", "option-interval": "Sicherungsintervall", "option-interval-description": "Mindestintervall zwischen zwei Sicherungskopien (in Minuten).", "option-keep": "Archivierungsdauer", "option-keep-description": "Zeitraum, für den Sicherungskopien aufbewahrt werden sollen (in Tagen).", "option-open-history": "Sicherungskopien", "option-open-history-description": "Gespeicherte Sicherungskopien ansehen und wiederherstellen.", "button-view-history": "View", "option-clear": "Archiv leeren", "option-clear-description": "Alle Sicherungskopien löschen.", "button-clear-history": "Leeren", "label-clear-warning": "Bist du sicher, dass du alle Sicherungskopien löschen möchtest? Es werden nur die Sicherungskopien entfernt. Sämtliche Dateien in deinem Vault bleiben erhalten.", "msg-clear-complete": "Sicherungskopien gelöscht.", "label-no-history-found": "Keine Sicherungskopien gefunden.", "placeholder-choose-file": "Wähle eine Datei aus...", "label-select-file": "Bitte wähle eine Datei auf der linken Seite, um gespeicherte ältere Versionen anzusehen." }, "note-composer": { "name": "Notizen-Werkbank", "desc": "Verbinden, Aufteilen und Umgestalten von Notizen.", "option-confirm-file-merge": "Bestätigung der Verbindung von Dateien", "option-confirm-file-merge-description": "Fragt nach, bevor zwei Dateien verbunden werden.", "option-split-replacement-text": "Text nach Extrahierung", "option-split-replacement-text-description": "Was wird an der Stelle des markierten Textes nach der Extrahierung angezeigt?", "option-choice-split-replacement-text-link": "Link zu neuer Datei", "option-choice-split-replacement-text-embed": "Einbettung der neuen Datei", "option-choice-split-replacement-text-none": "Nichts", "option-template-file": "Vorlagen-Datei Speicherort", "option-template-file-description": "Vorlagen-Datei, die beim Verbinden oder Extrahieren verwendet wird. Verfügbare Variablen: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, z.B. {{date:YYYY-MM-DD}}.", "command-merge-file": "Verbinde aktuelle Datei mit anderer Datei...", "action-merge-file": "Verbinde gesamte Datei mit...", "label-no-files": "Keine Dateien gefunden.", "instruction-navigate": "zum Navigieren", "instruction-merge": "zum Verbinden", "instruction-create-new": "um neu zu erstellen", "instruction-merge-at-top": "um am Anfang zu verbinden", "instruction-dismiss": "zum Verwerfen", "prompt-select-file-to-merge": "Wähle Datei zum Verbinden...", "label-merge-file": "Datei verbinden", "label-confirm-file-merge": "Bist du sicher, dass du \"{{file}}\" mit \"{{destination}}\" verbinden willst?? \"{{file}}\" wird dabei gelöscht.", "button-merge": "Verbinden", "command-split-file": "Aktuelle Auswahl extrahieren...", "command-extract-heading": "Diese Überschrift extrahieren...", "instruction-append": "um zum Ende zu verschieben", "instruction-prepend": "um zum Anfang zu verschieben", "msg-fail-to-fetch-template": "Vorlagen-Datei: \"{{template}}\" nicht gefunden.", "msg-fail-to-find-heading": "Überschrift konnte nicht gefunden werden" }, "web-viewer": { "name": "Web-Viewer", "history-name": "Web history", "desc": "Links zu externen Webseiten in Obsidian öffnen.", "action-open": "Web-Viewer öffnen", "action-show-history": "History anzeigen", "action-toggle-reader-mode": "Lesemodus an/aus", "action-copy-u-r-l": "URL kopieren", "action-remove-from-history": "Aus History entfernen", "action-clear-history": "History leeren", "action-open-link": "Link öffnen", "action-open-link-new-tab": "Link in neuem Tab öffnen", "action-open-link-new-split": "Link nach rechts öffnen", "action-open-link-new-window": "Link in neuem Fenster öffnen", "action-open-link-default-browser": "Link im Standard-Browser öffnen", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Link-Adresse kopieren", "action-bookmark-link": "Lesezeichen für Link hinzufügen", "action-search-for-query": "Suche nach “{{query}}”", "action-extract-selection": "Auswahl als neue Notiz speichern", "action-copy-selection": "Kopieren", "action-cut": "Ausschneiden", "action-paste": "Einfügen", "action-delete": "Löschen", "action-select-all": "Alles auswählen", "action-save-to-vault": "In Vault speichern", "action-save-image": "Bild in Vault speichern", "action-copy-image": "Bild kopieren", "action-copy-image-link": "Bild-Link kopieren", "action-backward": "Zurück", "action-forward": "Vorwärts", "action-reload": "Neu laden", "action-bookmark-page": "Lesezeichen für Seite hinzufügen", "action-open-default-browser": "Im Standard-Browser öffnen", "action-focus-address-bar": "Adressleiste fokussieren", "action-search-the-web": "Das Web durchsuchen", "action-clear-data": "Daten Zurücksetzen", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "Du wirst unter Umständen von Webseiten abgemeldet.", "action-clear-data-cache": "Gecachete Daten", "action-clear-data-history": "History", "action-clear-data-all": "All Web-Viewer-Daten", "action-clear-data-all-desc": "Entfernt sämtliche zuvor genannten Daten sowie Local Storage und aktive Sessions.", "label-new-web-viewer": "Neuer Web-Viewer", "label-fail-to-load": "Seite konnte nicht geladen werden.", "label-fail-to-load-desc": "Stelle sicher, dass die Adresse korrekt geschrieben ist.", "label-search-the-web": "Das Web durchsuchen", "label-web-viewer-data": "Web-Viewer-Daten", "label-clear-data": "Web-Viewer-Daten zurücksetzen", "option-open-external-links": "Externe Links öffnen", "option-open-external-links-desc": "Links in Obsidian öffnen, statt den Systemstandard zu verwenden.", "option-homepage": "Homepage", "option-homepage-desc": "Welche Seite angezeigt wird, wenn der Web-Viewer geöffnet wird", "option-saved-markdown": "Gespeicherte Seiten", "option-saved-markdown-desc": "Als Markdown gespeicherte Webseiten werden hier abgelegt.", "option-search-engine": "Suchmaschine", "option-search-engine-desc": "Bei der Suche aus der Adressleiste verwendete Suchmaschine.", "option-search-engine-custom": "Benutzerdefinierte Suchmaschine", "option-search-engine-custom-desc": "Nutze %s statt der Suchanfrage.", "option-search-engine-custom-drop-down": "Benutzerdefiniert", "option-enable-adblock": "Adblocker", "option-enable-adblock-desc": "Wenn aktiviert, werden alle unten stehenden Filterlisten auf alle Web-Viewer-Tabs angewandt.", "option-adblock-lists": "Adblocker-Regeln", "option-adblock-lists-desc": "Eine Adblocker-Regel pro Zeile. Gilt für alle Vaults.", "option-adblock-frequency": "Adblocker-Update-Frequenz", "option-adblock-frequency-desc": "Tage zwischen den Updates der Filterlisten. Zum Deaktivieren auf 0 setzen. Gilt für alle Vaults.", "title-clear-data-modal": "Web-Viewer-Daten zurücksetzen", "msg-error-extracting-content": "Unerwarteter Fehler beim Extrahieren der Daten.", "msg-error-finding-content": "Keine Daten zum Extrahieren gefunden" }, "canvas": { "name": "Canvas", "desc": "Verbinde Notizen und ordne sie auf einer unendlichen Leinwand (Canvas) an.", "action-add-note": "Notiz aus Vault hinzufügen", "action-add-media": "Medien aus Vault hinzufügen", "action-add-card": "Karte hinzufügen", "action-add-website": "Webseite hinzufügen", "action-create-group": "Gruppe erstellen", "action-create-with-size": "Erstelle eine Karte mit einer bestimmten Größe", "action-convert-to-file": "In Datei umwandeln...", "action-drag-to-add-note": "Ziehen, um Notiz aus Vault hinzuzufügen", "action-drag-to-add-media": "Ziehen, um Medien aus Vault hinzuzufügen", "action-drag-to-add-card": "Ziehen, um Karte hinzuzufügen", "action-edit-label": "Beschriftung bearbeiten", "action-remove-label": "Beschriftung entfernen", "action-search-file": "Nach Datei suchen", "action-set-color": "Farbe wählen", "action-align": "Ausrichten", "action-align-left": "Links ausrichten", "action-align-center": "Mitte horizontal ausrichten", "action-align-right": "Rechts ausrichten", "action-align-top": "Oben ausrichten", "action-align-middle": "Mitte vertikal ausrichten", "action-align-bottom": "Unten ausrichten", "action-distribute-horizontal-spacing": "Horizontale Abstände aufteilen", "action-distribute-vertical-spacing": "Vertikale Abstände aufteilen", "action-justify-horizontally": "Horizontal angleichen", "action-justify-vertically": "Vertikal angleichen", "action-arrange-horizontally": "In einer Zeile anordnen", "action-arrange-vertically": "In einer Spalte anordnen", "action-arrange-grid": "Gitterförmig anordnen", "action-export-png": "Als Bild exportieren", "action-jump-to-group": "Springe zu Gruppe", "action-set-background": "Hintergrund auswählen", "action-edit-background": "Hintergrund bearbeiten", "action-replace-background": "Hintergrund ersetzen", "action-remove-background": "Hintergrund entfernen", "label-no-images": "Keine Bilder gefunden.", "label-no-media": "Keine Medien gefunden.", "label-export-png-desc": "Exportiere \"{{title}}\" als PNG-Datei mit den Einstellungen von unten.", "label-export-png-dimensions": "Geschätzte Bildgröße: {{dimensions}}", "label-distribute": "Verteilen", "label-justify": "Angleichen", "label-arrange": "Anordnen", "label-always": "Immer", "label-hover": "Unter Mauszeiger", "label-never": "Nie", "label-no-section-found": "Keine Auswahl gefunden", "option-wheel-behavior": "Standardaktion des Mausrads", "option-mod-drag-behavior": "Standard {{key}} Aktion", "option-show-menu": "Zeige Menü", "option-new-canvas-location": "Standard Speicherort für neue Canvas Dateien", "option-new-canvas-location-description": "Hier werden neu erstellte Canvas Dateien gespeichert.", "option-new-canvas-folder-path": "Ordner, in dem neue Canvas Dateien erstellt werden", "option-new-canvas-folder-path-description": "Neu erstellte Canvas Dateien werden in diesem Ordner gespeichert.", "option-node-label": "Zeige Kartenbeschriftung", "option-snap-to-grid": "An Raster einrasten", "option-snap-to-grid-desc": "Karten rasten am Hintergrundraster ein, wenn du sie verschiebst oder ihre Größe änderst.", "option-snap-to-objects": "An Objekten einrasten", "option-snap-to-objects-desc": "Karten rasten an nahen Objekten ein, wenn du sie verschiebst oder ihre Größe änderst.", "option-zoom-breakpoint": "Vergrößerungsgrenze zum Ausblenden von Karteninhalten", "option-zoom-breakpoint-desc": "Niedrigere Werte erhöhen die Performanz, aber blenden Karteninhalte eher aus, wenn du die Ansicht verkleinerst.", "option-export-png-show-logo": "Logo einblenden", "option-export-png-show-logo-desc": "Ein Obsidian-Logo wird in der unteren linken Ecke hinzugefügt.", "option-export-png-privacy-mode": "Privater Modus", "option-export-png-privacy-mode-desc": "Jeglicher Text auf deinem Canvas unkenntlich gemacht.", "option-export-png-zoom": "Vergrößerung", "option-export-png-zoom-desc": "Eine höhere Vergrößerung erzeugt ein besser aufgelöstes Bild.", "option-export-png-frame": "Viewport", "option-export-png-frame-desc": "Wähle aus, ob der gesamte Canvas oder nur der aktuell sichtbare Teil (Viewport) exportiert werden soll.", "option-export-png-frame-full": "Kompletter Canvas", "option-export-png-frame-viewport": "Nur Viewport", "option-background-cover": "Abdecken", "option-background-ratio": "Seitenverhältnis beibehalten", "option-background-repeat": "Wiederholen", "action-new-canvas": "Neuer Canvas", "action-remove": "Entfernen", "action-narrow-heading": "An Überschrift anpassen...", "action-narrow-block": "An Block anpassen...", "action-narrow-bases-view": "Ansicht anheften...", "action-swap-file": "Datei tauschen...", "action-change-url": "URL anpassen...", "action-zoom-to-fit": "Vergrößerung anpassen", "action-zoom-to-selection": "Auf Auswahl zoomen", "action-reload-page": "Seite neu laden", "action-follow-connection": "Verbindung folgen", "command-create-new-canvas": "Neuen Canvas erstellen", "command-convert-to-file": "In Datei umwandeln...", "instruction-narrow-heading": "um Überschrift einzubetten", "instruction-narrow-block": "um Block einzubetten", "instruction-jump-to-group": "um zu Gruppe zu navigieren", "prompt-to-narrow": "Name der Überschrift eingeben", "label-enter-url": "URL eingeben", "label-empty-embed": "\"{{linktext}}\" konnte nicht gefunden werden.", "prompt-add-text": "Text hinzufügen...", "prompt-start-search": "Tippen zum Suchen...", "label-canvas-help": "Canvas Hilfe", "label-canvas-settings": "Canvas Einstellungen", "label-no-narrow": "Gesamte Datei anzeigen", "label-show-default-view": "Standard-Ansicht anzeigen", "label-readonly": "Nur Leseansicht", "label-disable-readonly": "Nur Leseansicht deaktivieren", "label-pan": "Verschieben", "label-pan-horizontal": "Horizontal verschieben", "label-zoom": "Vergrößern", "label-select-all": "Alles auswählen", "label-add-remove-selection": "Zur Auswahl hinzufügen / Aus Auswahl entfernen", "label-clone-card": "Karte duplizieren", "label-constrain-movement-axis": "Kartenbewegung auf Achse beschränken", "label-disable-drag-snapping": "Einrasten beim Ziehen deaktivieren", "label-remove-card": "Karte entfernen", "label-drag-from-below": "Von unten ziehen oder Doppelklick", "label-longpress": "Berühren und halten zum Hinzufügen / Bewegen / Auswählen", "label-drag-pan": "Ziehen zum Verschieben", "label-pinch-zoom": "Pinch zum Vergrößern", "label-space-drag-pan": "Leertaste + Ziehen zum Verschieben", "label-scroll-to-zoom": "Scrollen zum Vergrößern", "label-untitled-group": "Unbenannte Gruppe", "label-line-direction": "Verbindungsrichtung", "label-nondirectional": "Ohne Richtung", "label-unidirectional": "In eine Richtung", "label-bidirectional": "In beide Richtungen", "label-image": "Bild", "label-style": "Stil", "msg-no-groups-found": "Keine Gruppen gefunden", "msg-export-failed-empty-canvas": "Ein leerer Canvas kann nicht exportiert werden", "msg-updating-links": "Canvas hat Änderungen an Dateinamen erkannt, die {{count}} Canvas-Datei betreffen. Aktualisiere...", "msg-updating-links_plural": "Canvas hat Änderungen an Dateinamen erkannt, die {{count}} Canvas-Dateien betreffen. Aktualisiere...", "msg-updated-links": "Canvas hat {{count}} eingebettete Karte aktualisiert", "msg-updated-links_plural": "Canvas hat {{count}} eingebettete Karten aktualisiert" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Alles markieren", "action-match-diacritics": "Diakritische Zuordnung", "action-whole-words": "Ganze Wörter", "action-show-thumbnails": "Vorschauen", "action-show-outline": "Inhaltsverzeichnis", "action-reveal-in-outline": "Dokument im Inhaltsverzeichnis anzeigen", "action-toggle-sidebar": "Seitenleisten einblenden", "action-previous-page": "Vorherige Seite", "action-next-page": "Nächste Seite", "action-fit-width": "An Breite anpassen", "action-fit-height": "An Höhe anpassen", "action-save-p-d-f-location": "Speichere den aktuellen Stand im Dokument", "action-copy-annotation": "Anmerkung kopieren", "action-copy-quote": "Als Zitat kopieren", "action-copy-selection-link": "Link zur Auswahl kopieren", "action-copy-annot-link": "Link zur Anmerkung kopieren", "action-copy-section-link": "Link zum Abschnitt kopieren", "action-copy-section-link-title": "Link zu “{{title}}” kopieren", "action-copy-page-link": "Link zur Seite {{page}} kopieren", "msg-max-search-results": "{{current}} von über {{limit}} Treffern", "msg-search-count": "{{current}} von {{total}} Treffern", "msg-search-count_plural": "{{current}} von {{total}} Treffern", "msg-password-protected": "Diese PDF-Datei ist passwortgeschützt", "msg-invalid-password": "Falsches Passwort", "msg-enter-password": "Passwort unten eingeben", "label-of-pages": "von {{count}}", "label-page-of-pages": "({{current}} von {{count}})", "label-spread-single": "Einzelne Seite", "label-spread-odd": "Zwei Seiten (ungerade)", "label-spread-even": "Zwei Seiten (gerade)", "tooltip-sidebar-options": "Seitenleistenoptionen", "tooltip-display-options": "Ansichtsoptionen", "label-adapt-to-theme": "An Theme anpassen", "label-page": "Seite {{page}}", "page_landmark": "Seite {{page}}", "thumb_page_title": "Seite {{page}}", "thumb_page_canvas": "Seite {{page}}", "text_annotation_type": "[{{type}} Anmerkung]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Liste", "option-unknown": "Unbekannt", "option-text": "Text", "option-aliases": "Aliasse", "option-tags": "Tags", "option-folder": "Ordner", "option-file": "Datei", "option-date": "Datum", "option-datetime": "Datum und Uhrzeit", "option-number": "Zahl", "option-checkbox": "Checkbox" }, "value-suggestion": { "key-link-note": "Tippe [[", "instruction-link-note": "um Notizen zu verlinken", "instruction-dismiss": "zum Verwerfen" }, "option-property-type": "Eigenschaftentyp", "msg-empty-property-name": "Eigenschaft kann nicht leer sein.", "msg-duplicate-property-name": "Eigenschaft gibt's bereits", "msg-invalid-tag": "Ungültiger Name für einen Tag", "msg-invalid-number": "Ungültige Zahl", "msg-invalid-properties": "Eigenschaften konnten nicht gelesen werden.", "label-no-value": "Kein Wert", "label-heading": "Eigenschaften", "label-invalid-heading": "Ungültige Eigenschaften", "label-show-source": "Quelle anzeigen", "label-invalid-yaml-marker": "Syntaxfehler. Dein Frontmatter ist ungültig.", "label-add-property-button": "Eigenschaft hinzufügen", "label-type-mismatch-warning": "Typ stimmt nicht überein, erwartet wurde {{type}}", "label-type-mismatch-warning-generic": "Typenkonflikt", "label-change-property-type": "Anzeigen als {{type}}?", "label-change-property-type-desc": "Deine {{oldType}}-Daten sind nicht kompatibel. Sie werden an das neue Format angepasst." }, "table": { "label-column": "Spalte", "label-row": "Zeile", "action-row-after": "Zeile danach einfügen", "action-column-after": "Spalte danach einfügen", "action-row-before": "Zeile davor einfügen", "action-row-up": "Zeile nach oben verschieben", "action-row-down": "Zeile nach unten verschieben", "action-column-before": "Spalte davor einfügen", "action-column-left": "Spalte nach links verschieben", "action-column-right": "Spalte nach rechts verschieben", "action-duplicate-row": "Zeile duplizieren", "action-duplicate-column": "Spalte duplizieren", "action-delete-row": "Zeile löschen", "action-delete-column": "Spalte löschen", "action-align-left": "Links ausrichten", "action-align-center": "Mittig ausrichten", "action-align-right": "Rechts ausrichten", "action-delete-selection": "Zellen löschen", "action-clear-selection": "Zellen leeren", "action-sort-a-z": "Nach Spalte sortieren (A bis Z)", "action-sort-z-a": "Nach Spalte sortieren (Z bis A)", "label-command": "Tabelle: {{command}}" }, "callout": { "option-type": "Callout-Typ", "type": { "info": "Info", "important": "Wichtig", "tip": "Tipp", "success": "Erfolg", "question": "Frage", "warning": "Warnung", "quote": "Zitat", "example": "Beispiel", "none": "Ohne" }, "option-other": "Andere...", "option-other-placeholder": "Callout-Typ..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} Wort", "word-with-count_plural": "{{count}} Wörter", "result-with-count": "{{count}} Ergebnis", "result-with-count_plural": "{{count}} Ergebnisse", "character-with-count": "{{count}} Zeichen", "character-with-count_plural": "{{count}} Zeichen", "link-with-count": "{{count}} Link", "link-with-count_plural": "{{count}} Links", "file-with-count": "{{count}} Datei", "file-with-count_plural": "{{count}} Dateien", "folder-with-count": "{{count}} Ordner", "folder-with-count_plural": "{{count}} Ordner", "backlink-with-count": "{{count}} Rückverweis", "backlink-with-count_plural": "{{count}} Rückverweise", "tabs-with-count": "{{count}} Tab", "tabs-with-count_plural": "{{count}} Tabs", "properties-with-count": "{{count}} Eigenschaft", "properties-with-count_plural": "{{count}} Eigenschaften", "site-with-count": "{{count}} Seite", "site-with-count_plural": "{{count}} Seiten", "plugin-with-count": "{{count}} Erweiterung", "plugin-with-count_plural": "{{count}} Erweiterungen", "plugin-active-with-count": "{{count}} aktiv", "snippet-active-with-count": "{{count}} Snippet", "snippet-active-with-count_plural": "{{count}} Snippets", "theme-with-count": "{{count}} Farbschema", "theme-with-count_plural": "{{count}} Farbschemata" } }{ "setting": { "options": "Options", "plugin": "Plugin", "builtin-plugins": "Core plugins", "plugin-options": "Plugin options", "folder-path-example-placeholder": "Example: folder 1/folder 2", "file-path-example-placeholder": "Example: folder/note", "msg-restart-required": "Changing this option requires a restart to take effect.", "editor": { "name": "Editor", "section-behavior": "Behaviour", "section-display": "Display", "option-spellcheck": "Spellcheck", "option-spellcheck-description": "Turn on the spellchecker.", "spellcheck-languages": "Spellcheck languages", "spellcheck-languages-description": "Choose the languages for the spellchecker to use.", "spellcheck-languages-mac-description": "The native spellchecker will automatically detect the language being used for you on macOS.", "spellcheck-dict": "Spellcheck dictionary", "spellcheck-dict-empty": "The spellcheck dictionary is empty.", "option-show-inline-title": "Show inline title", "option-show-inline-title-description": "Displays the filename as an editable title inline with the file contents.", "option-readable-line-length": "Readable line length", "option-readable-line-description": "Limit maximum line length. Less content fits onscreen, but long blocks of text are more readable.", "option-strict-line-break": "Strict line breaks", "option-strict-line-break-description": "In preview mode, ignore single line breaks according to the Markdown specification. Turn this off for single line breaks to show in preview.", "option-properties-in-document": "Properties in document", "option-properties-in-document-description": "Choose how properties are displayed at the top of notes. Select “source” to show properties as raw YAML.", "option-properties-hidden": "Hidden", "option-properties-visible": "Visible", "option-properties-source": "Source", "option-auto-pair-brackets": "Auto-pair brackets", "option-auto-pair-brackets-description": "Pair brackets and quotes automatically.", "option-auto-pair-markdown": "Auto-pair Markdown syntax", "option-auto-pair-markdown-description": "Pair symbols automatically for bold, italic, code, and more.", "option-smart-indent-lists": "Smart lists", "option-smart-indent-lists-description": "Automatically set indentation and place list items correctly.", "option-fold-heading": "Fold heading", "option-fold-heading-description": "Lets you fold all content under a heading.", "option-fold-indent": "Fold indent", "option-fold-indent-description": "Lets you fold part of an indentation, such as lists.", "option-default-new-tab-view": "Default view for new tabs", "option-default-new-tab-view-description": "The default view that a new Markdown tab gets opened in.", "option-default-new-tab-view-editing": "Editing view", "option-default-new-tab-view-reading": "Reading view", "option-open-tab-in-foreground": "Always focus new tabs", "option-open-tab-in-foreground-description": "When you open a link in a new tab, switch to it immediately.", "option-default-editing-mode": "Default editing mode", "option-default-editing-mode-description": "The default editing mode a new tab will start with.", "option-default-editing-mode-source": "Source mode", "option-default-editing-mode-live-preview": "Live Preview", "option-show-line-number": "Show line numbers", "option-show-line-number-description": "Show line numbers in the gutter.", "option-indentation-guide": "Show indentation guides", "option-indentation-guide-description": "Show vertical relationship lines between list items.", "option-use-tabs": "Indent using tabs", "option-use-tabs-description": "Use tabs to indent by pressing the “Tab” key. Turn this off to indent using 4 spaces.", "option-tab-size": "Indent visual width", "option-tab-size-description": "Number of spaces a tab character will render as.", "option-rtl": "Right-to-left (RTL)", "option-rtl-description": "Sets the default text direction of notes to right-to-left.", "option-auto-convert-html": "Convert pasted HTML to Markdown", "option-auto-convert-html-description": "Automatically convert HTML to Markdown when pasting and drag-and-drop from web pages. Use Ctrl/Cmd+Shift+V to paste HTML without converting.", "option-vim-key-bindings": "Vim key bindings", "option-vim-key-bindings-description": "Use Vim key bindings when editing.", "option-vim-key-bindings-mobile": "On mobile devices, this setting is per-device and is not synchronized through the config file.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Confirm entering Vim mode", "label-vim-warning": "Vim mode is for efficient text editing but can be quite counter-intuitive. If you are not familiar with Vim, this option might make it look like Obsidian has stopped working.", "label-vim-test": "To verify that you know your way around Vim, please enter the command to quit Vim without saving below:", "label-vim-your-answer": "Your answer", "placeholder-enter-command": "Enter command...", "button-confirm-enable-vim": "Let me enable Vim", "msg-vim-mode-enabled": "Command is correct. Vim mode now enabled.", "msg-vim-mode-not-enabled": "Command is incorrect. Vim mode remains disabled to protect you.", "msg-vim-mode-please-enter-command": "Please enter the command to enable Vim mode" }, "file": { "name": "Files and links", "option-confirm-file-deletion": "Confirm file deletion", "option-confirm-file-deletion-description": "Prompt before file deletion.", "option-delete-destination": "Deleted files", "option-delete-destination-description": "What happens to a file after you delete it.", "option-choice-system-trash": "Move to system trash", "option-choice-vault-trash": "Move to Obsidian trash (.trash folder)", "option-choice-permanent-delete": "Permanently delete", "option-always-update-links": "Automatically update internal links", "option-always-update-links-description": "Turn off to be prompted to update links after renaming a file.", "option-new-note-location": "Default location for new notes", "option-new-note-location-description": "Where newly created notes are placed.", "option-choice-vault-root": "Vault folder", "option-choice-current-folder": "Same folder as current file", "option-choice-specified-folder": "In the folder specified below", "option-new-file-folder-path": "Folder to create new notes in", "option-new-file-folder-path-description": "Newly created notes will appear under this folder.", "option-use-wiki-links": "Use [[Wikilinks]]", "option-use-wiki-links-description": "Auto-generate Wikilinks for [[links]] and ![[images]] instead of Markdown links and images. Disable this option to generate Markdown links instead.", "option-show-unsupported-files": "Detect all file extensions", "option-show-unsupported-files-description": "Show files with any extension even if Obsidian cannot open them natively, so that you can link to them and see them in File Explorer and Quick Switcher.", "option-link-autocompleted-format": "New link format", "option-link-autocompleted-format-description": "What links to insert when auto-generating internal links.", "option-choice-shortest-linktext": "Shortest path when possible", "option-choice-relative-path": "Relative path to file", "option-choice-absolute-path": "Absolute path in vault", "option-new-attachment-location": "Default location for new attachments", "option-new-attachment-location-description": "Where newly added attachments are placed.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "In subfolder under current folder", "option-attachment-folder-path": "Attachment folder path", "option-attachment-folder-path-description": "Place newly created attachment files, such as images created via drag-and-drop or audio recordings, in this folder.", "option-attachment-subfolder-path": "Subfolder name", "option-attachment-subfolder-path-description": "If your file is under “vault/folder”, and you set subfolder name to “attachments”, attachments will be saved to “vault/folder/attachments”.", "option-excluded-files": "Excluded files", "option-excluded-files-desc": "Excluded files will be hidden in Search, Graph View, and Unlinked Mentions, less noticeable in Quick Switcher and link suggestions.", "label-no-excluded-filters-applied": "No excluded filter is applied right now. Add one below.", "label-excluded-filters-applied": "Files matching the following filters are currently excluded:", "label-excluded-filter": "Filter", "message-empty-filter": "Filter cannot be empty", "placeholder-excluded-filter": "Enter path or “/regex/”...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Appearance", "option-base-theme": "Base colour scheme", "option-base-theme-description": "Choose Obsidian's default colour scheme.", "option-accent-color": "Accent colour", "option-accent-color-description": "Choose the accent colour used throughout the app.", "dark-theme": "Dark", "light-theme": "Light", "system-theme": "Adapt to system", "option-font": "Font", "option-advanced": "Advanced", "option-interface": "Interface", "option-interface-font": "Interface font", "option-interface-font-description": "Set base font for all of Obsidian.", "option-zoom-level": "Zoom level", "option-zoom-level-description": "Controls the overall zoom level of the app.", "option-text-font": "Text font", "option-text-font-description": "Set font for editing and reading views.", "option-monospace-font": "Monospace font", "option-monospace-font-description": "Set font for places like code blocks and frontmatter.", "label-single-font-currently-in-effect": " Currently applied font: ", "label-multiple-fonts-currently-in-effect": " The following fonts are currently applied:", "option-font-placeholder": "Enter font name...", "label-no-custom-font-set": "No custom font is applied right now. Add one below.", "label-font-applied": "The first font from this list that is available on your system will be applied.", "msg-font-not-found": "This font is not detected on your system.", "msg-font-found": "This font is detected on your system.", "label-font-name": "Font name", "option-community-themes": "Community themes", "option-community-themes-description": "Preview and use amazing themes created by the community.", "button-browse-community-themes": "Browse", "option-font-size": "Font size", "option-font-size-description": "Font size in pixels that affects editing and reading views.", "option-font-size-action": "Quick font size adjustment", "option-font-size-action-description": "Adjust the font size using Ctrl + Scroll, or using the trackpad pinch-zoom gesture.", "option-themes": "Themes", "option-manage-themes-description": "Manage installed themes and browse community themes.", "option-theme-button-manage": "Manage", "option-choice-none": "None", "option-native-menus": "Native menus", "option-native-menus-desc": "Menus throughout the app will match the operating system. They will not be affected by your theme.", "button-reload-themes": "Reload themes", "msg-reloaded-themes": "Reloaded custom CSS themes.", "button-open-themes-folder": "Open themes folder", "option-css-snippets": "CSS snippets", "label-no-css-snippets-found": "No CSS snippets found.", "no-snippet-description": "CSS Snippets are stored in “{{path}}”.", "button-reload-snippets": "Reload snippets", "button-open-snippets-folder": "Open snippets folder", "msg-reloaded-snippets": "Reloaded CSS snippets.", "option-toggle-snippet-description": "Apply CSS snippet at “{{path}}”.", "label-installed-themes": "Installed themes", "label-screenshot-unavailable": "Screenshot unavailable", "label-default-theme": "Default", "tooltip-click-to-enlarge": "Click to enlarge", "button-update": "Update", "label-currently-active": "Active", "option-frame-style": "Window frame style", "option-frame-description": "Determines the styling of the title bar of Obsidian windows. Requires a full restart to take effect.", "option-frame-hidden": "Hidden (default)", "option-frame-obsidian": "Obsidian frame", "option-frame-native": "Native frame", "option-custom-icon": "Custom app icon", "option-custom-icon-desc": "Set a custom icon for the app", "button-choose-custom-icon": "Choose custom icon", "option-configure-ribbon": "Ribbon menu configuration", "option-configure-ribbon-desc": "Configure what commands appear in the ribbon menu.", "option-mobile-quick-ribbon-item": "Quick access ribbon item", "option-mobile-quick-ribbon-item-desc": "Choose the behavior of tapping the ribbon button in the navigation menu. By default, this will open a menu showing all your ribbon items.", "option-mobile-quick-ribbon-default": "Open ribbon menu", "button-configure": "Configure", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "Other ribbon items", "label-modal-configuration": "Ribbon menu", "label-modal-configuration-desc": "Choose what items you want to be active in the ribbon. Drag and drop to change the order.", "option-show-view-header": "Show tab title bar", "option-show-view-header-desc": "Display the header at the top of every tab.", "msg-updates-found": "Found {{count}} theme to update.", "msg-updates-found_plural": "Found {{count}} themes to update.", "button-check-for-updates": "Check for updates", "button-view-updates": "View updates", "button-update-all-themes": "Update all", "label-current-themes": "Current community themes", "label-currently-installed": "You currently have {{count}} theme installed.", "label-currently-installed_plural": "You currently have {{count}} themes installed." }, "hotkeys": { "name": "Hotkeys", "option-search": "Search hotkeys", "option-search-desc": "Showing {{count}} hotkey. ", "option-search-desc_plural": "Showing {{count}} hotkeys. ", "option-search-conflict": "{{count}} command with conflicts.", "option-search-conflict_plural": "{{count}} commands with conflicts.", "prompt-filter": "Filter...", "tooltip-delete-hotkey": "Delete hotkey", "label-waiting-for-hotkey-press": "Press hotkey...", "label-show-all": "All", "label-show-unassigned": "Unassigned", "label-show-assigned": "Assigned", "label-show-user-assigned": "Assigned by me", "tooltip-restore-default": "Restore default", "tooltip-customize-command": "Customise this command", "tooltip-hotkey-single-conflict": "This hotkey conflicts with \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "This hotkey conflicts with {{count}} other commands", "label-blank-hotkey": "Blank" }, "about": { "name": "General", "label-commercial-license": "Commercial licence", "label-license-key": "Licence key", "license-key-placeholder": "Your licence key...", "label-activate-license": "Activate licence", "button-activate": "Activate", "label-unknown-version": "Unknown", "label-current-version": "Current version: ", "label-install-version": "(Installer version: {{version}})", "label-up-to-date": "Obsidian is up to date!", "label-read-changelog": "Read the changelog.", "label-manual-update-required": "To support the latest features and to receive the latest security patches, Obsidian needs a major installer update. You need to manually download and reinstall Obsidian.", "label-new-version-ready": "A new version is ready to be installed. ", "label-disabled-updates": "Updates are disabled.", "button-relaunch": "Relaunch", "button-check-for-updates": "Check for updates", "option-auto-update": "Automatic updates", "option-auto-update-description": "Turn this off to prevent the app from checking for updates.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Help", "option-get-help-description": "Learn how to use Obsidian and get help from the community.", "button-open": "Open", "option-language": "Language", "option-language-description": "Change the display language.", "option-insider-build": "Receive early access versions", "option-insider-build-description": "Auto-update to the latest early access version. These versions include new features but may be less stable.", "option-advanced": "Advanced", "option-hw-acceleration": "Hardware acceleration", "option-hw-acceleration-description": "Turns on Hardware Acceleration, which uses your GPU to make Obsidian smoother.", "option-hw-acceleration-warning": "If you turn this off, app performance will be severely degraded.", "option-config-location": "Override configuration folder", "option-config-location-description": "Use a different configuration folder than the default one. Must start with a dot.", "option-config-location-warning": "Configuration location must be a valid folder name that starts with a dot.", "label-license": "Licence", "label-your-commercial-license-key": "Your commercial licence key is \"{{key}}\".", "label-commercial-license-info": "Registered to \"{{company}}\" for {{seats}} users. Valid until {{expiry}}.", "label-validating-commercial-license": "Validating...", "label-invalid-commercial-license": "Licence invalid: ", "button-remove-commercial-license": "Remove", "option-catalyst": "Catalyst licence", "option-catalyst-desc": "You currently have the {{tier}} Catalyst licence. Thanks for your support!", "option-catalyst-desc-no-license": "You do not have a Catalyst licence right now. Catalyst licence is a one-time donation to support Obsidian development.", "label-app": "App", "label-add-own-language": "Learn how to add a new language to Obsidian." }, "account": { "name": "Account", "option-your-account": "Your account", "option-your-account-desc": "You are currently signed in {{name}} ({{email}}).", "option-your-account-desc-no-login": "You are not logged in right now. An account is only needed for Obsidian Sync, Obsidian Publish, and Catalyst insider builds.", "label-insider": "insider", "label-supporter": "supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Upgrade", "option-commercial-license": "Commercial licence", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Purchase", "button-log-out": "Log out", "label-log-in": "Log in", "label-sign-up": "Sign up", "label-email": "Email", "placeholder-email": "Your email...", "label-name": "Full name", "label-password": "Password", "placeholder-password": "Your password...", "label-forgot-password": "Forgot password?", "button-login": "Login", "message-empty-email": "Email cannot be empty.", "message-invalid-email": "Email is not valid.", "message-empty-password": "Password cannot be empty.", "message-login-failed": "Login failed, please double check your email and password.", "message-signup-failed": "Failed to sign up", "label-no-account": "Do not have an account? ", "link-sign-up-now": "Sign up now", "label-mfa-code": "6-digit 2FA code", "mfa-wrong-format": "The 2FA authenticator code must be 6 digits.", "mfa-verification-failed": "2FA code is incorrect, please double check your authenticator app." }, "core-plugin": { "plugin-list": "Plugin list", "option-search-plugin": "Search core plugins", "option-search-plugin-description": "Filter plugins by name or description.", "placeholder-search-plugin": "Search plugins..." }, "third-party-plugin": { "name": "Community plugins", "option-restricted-mode": "Restricted mode", "option-restricted-mode-description": "Restricted mode is off. Turn on to disable community plugins.", "button-turn-on": "Turn on and reload", "option-browse-community-plugins": "Community plugins", "option-browse-community-plugins-description": "Browse and install community plugins made by our amazing community.", "button-browse": "Browse", "label-exit-restricted-mode": "Exit Restricted Mode", "label-exit-restricted-mode-description-1": "Community plugins, like any other software you install, could potentially cause data integrity and security issues.", "label-exit-restricted-mode-description-2": "Plugin security is important to us. Here is what we do:", "label-exit-restricted-mode-description-3": "Despite our efforts, there is still a small chance that a community plugin might misbehave.", "label-code-review": "Initial code review", "label-code-review-desc": "Plugins in the official community directory undergo an initial code review by our team before they are listed.", "label-open-source": "Open source", "label-open-source-desc": "Most plugins are open source on GitHub, so you can inspect the code yourself.", "label-peer-audit": "Peer audit", "label-peer-audit-desc": "We have a large community of developers who watch out for each other.", "label-report-mechanism": "Report mechanism", "label-report-mechanism-desc": "We follow up and remove faulty plugins upon user report.", "label-exit-restricted-mode-disable-confirmation": "Would you like to exit Restricted Mode to enable community plugins? We strongly recommend making backups of your data before doing so.", "label-learn-more": "Learn more about plugin security", "button-turn-on-community-plugins": "Turn on community plugins", "label-trust-author": "Do you trust the author of this vault?", "label-trust-author-description-1": "You are opening this vault for the first time, and it comes with some plugins.", "label-trust-author-description-2": "If you obtained this vault from someone else, please note that plugins of unknown origin might pose security risks.", "label-trust-author-description-3": "If you do not fully trust the author of this vault, we recommend staying in Restricted Mode, so the plugins in this vault do not run.", "button-enable-plugins": "Trust author and enable plugins", "button-dont-trust-author": "Browse vault in Restricted Mode", "placeholder-community-plugins": "Search community plugins...", "msg-failed-load-plugins": "Failed to load community plugins.", "label-installed": "Installed", "button-install": "Install", "button-enable": "Enable", "button-disable": "Disable", "button-copy-share-link": "Copy share link", "button-donate": "Donate", "label-no-results-found": "No results found.", "label-no-recent-files-found": "No recent files found. Type to search...", "msg-failed-to-load-manifest": "Failed to load plugin manifest.", "label-version": "Version: {{version}}", "label-currently-installed-version": " (currently installed: {{version}})", "label-by-author": "By ", "label-repository": "Repository: ", "label-last-update": "Last updated: ", "tooltip-view-last-update": "View the latest update", "label-unsupported": "This plugin does not support your device.", "button-update": "Update", "label-no-readme": "This plugin did not provide a README file.", "msg-installing-plugin": "Installing plugin “{{name}}”...", "msg-failed-to-install-plugin": "Failed to install plugin “{{name}}”.", "msg-successfully-installed-plugin": "Successfully installed plugin “{{name}}”.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Installed plugins", "button-reload-plugins": "Reload plugins", "msg-reloaded-third-party-plugins": "Reloaded third-party plugins.", "label-uninstall": "Uninstall", "label-uninstall-plugin": "Uninstall plugin", "label-uninstall-plugin-confirmation": "Are you sure you want to uninstall this plugin? This will delete the folder of the plugin.", "button-open-plugins-folder": "Open plugins folder", "button-check-for-updates": "Check for updates", "button-update-all-plugins": "Update all", "label-current-plugins": "Current plugins", "label-currently-installed": "You currently have {{count}} plugin installed.", "label-currently-installed_plural": "You currently have {{count}} plugins installed.", "msg-no-updates-found": "No plugin updates found.", "msg-updates-found": "Found {{count}} plugin to update.", "msg-updates-found_plural": "Found {{count}} plugins to update.", "msg-update-plugin": "Update to version {{version}}", "option-search-installed-plugin": "Search installed plugins", "option-search-installed-plugin-description": "Filter installed plugins by name or description.", "placeholder-search-installed-plugin": "Search installed plugins...", "show-installed-only": "Show installed only", "label-donate-modal-title": "Donate to support {{name}}", "label-donate-modal-text1": "Plugin developers are community volunteers who make amazing things out of passion. If you find this plugin useful, please consider funding its development.", "label-donate-modal-text2": "100% of your contribution will go to the plugin developer; Obsidian does not take a cut. The funding platform they choose might charge a fee.", "label-donate-modal-text3": "Thanks for your generous support!", "label-support-this-plugin": "Support this plugin:", "label-search-summary": "Showing {{pluginCount}}:", "label-by-popularity": "Most downloaded", "label-by-released": "Recently released", "label-by-updated": "Recently updated", "label-alphabetical": "Alphabetical", "label-last-updated": "Updated {{time}}" }, "mobile-toolbar": { "name": "Toolbar", "option-configure-quick-action": "Configure mobile Quick Action", "option-configure-quick-action-description": "Configure which command to trigger when pulling down from the top. The current command is set to “{{command}}”.", "msg-missing-quick-action": "Action not configured", "button-configure": "Configure", "placeholder-select-quick-action": "Select Quick Action...", "quick-action-disabled": "None", "manage-toolbar-options": "Manage toolbar options", "option-internal-link": "Add internal link", "option-internal-embed": "Add embed", "option-tag": "Add tag", "option-heading": "Toggle heading", "option-strikethrough": "Toggle strikethrough", "option-highlight": "Toggle highlight", "option-code": "Toggle code", "option-blockquote": "Toggle blockquote", "option-inline-math": "Toggle inline maths", "option-math-block": "Toggle maths block", "option-markdown-link": "Add Markdown link", "option-bullet-list": "Toggle bullet list", "option-numbered-list": "Toggle numbered list", "option-indent-list": "Indent list item", "option-unindent-list": "Unindent list item", "option-undo": "Undo", "option-redo": "Redo", "option-move-caret-up": "Move caret up", "option-move-caret-down": "Move caret down", "option-move-caret-left": "Move caret left", "option-move-caret-right": "Move caret right", "option-first-line": "Go to first line", "option-last-line": "Go to last line", "option-toggle-keyboard": "Toggle keyboard", "option-configure-toolbar": "Configure mobile toolbar", "option-added-options": "Added options", "option-more-toolbar-options": "More toolbar options", "option-attach": "Insert attachment", "option-add-command": "Add global command", "option-add-command-description": "Select any global command to add to the toolbar." } }, "editor": { "search": { "placeholder-find": "Find...", "placeholder-replace": "Replace...", "label-exit-search": "Exit search", "label-next": "Next", "label-previous": "Previous", "label-find-all": "Find all", "label-replace": "Replace", "label-replace-all": "Replace all" }, "link-suggestion": { "label-type-hash": "Type #", "label-link-heading": "to link heading", "label-type-block": "Type ^", "label-link-block": "to link blocks", "label-type-pipe": "Type |", "label-change-display-text": "to change display text", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "No match found", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "No suggestions...", "add-to-dictionary": "Add to dictionary" }, "menu": { "edit-link": "Edit link", "edit-tag": "Edit tag", "label-edit-block": "Edit this block", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "No heading", "label-heading-level": "Heading {{level}}" }, "print-modal": { "title": "Export to PDF", "caption": "Export “{{filename}}” to PDF with the settings below.", "setting-page-size": "Page size", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Include file name as title", "setting-landscape": "Landscape", "setting-margin": "Margin", "setting-margin-default": "Default", "setting-margin-minimal": "Minimal", "setting-margin-none": "None", "setting-downscale-percent": "Downscale percent", "button-export-to-pdf": "Export to PDF" }, "link-popover": { "tooltip-follow-link": "Follow link", "tooltip-open-link": "Open link", "tooltip-search-tag": "Search tag" } }, "interface": { "embed-cannot-find": "Cannot find:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Open in default app", "empty-sidebar": "The sidebar is empty, try dragging a tab here.", "sidebar-expand": "Expand", "sidebar-collapse": "Collapse", "msg-fail-to-save-file": "Failed to save file “{{filepath}}”. {{message}}. Make a backup of the contents of this file now to avoid losing data.", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "No file", "msg-file-changed": "“{{file}}” has been modified externally, merging changes automatically.", "switch-vault": "Open another vault", "manage-vaults": "Manage vaults...", "help": "Help", "settings": "Settings", "drag-to-rearrange": "Drag to rearrange", "msg-switched-to-read": "Switched default view mode to reading view.", "msg-switched-to-edit": "Switched default view mode to editing view.", "msg-upgrade-installer": "To use this feature, please re-install with latest installer available from our website.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Restore default settings", "label-copy": "Copy to clipboard", "label-copy-short": "Copy", "copied_generic": "Copied to your clipboard", "copied": "{{item}} copied to your clipboard", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Opened file “{{path}}”", "msg-file-not-found-through-uri": "File “{{name}}” not found.", "delete-action-short-name": "Delete", "msg-indexing": "Indexing vault...", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indexing complete.", "msg-sandbox-vault": "This is a sandbox vault.\nChanges you make in this vault will be lost.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Enter to create", "label-update-available": "Update Available", "label-debug-info": "Debug info", "button-learn-more": "Learn more", "button-not-now": "Not now", "button-add": "Add", "button-manage": "Manage", "label-new-tab": "New tab", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "This tab is currently busy, please try again later", "formatting": { "label-formatting": "Format", "label-paragraph": "Paragraph", "label-insert": "Insert", "insert-link": "Add link", "insert-external-link": "Add external link", "insert-callout": "Callout", "insert-horizontal-rule": "Horizontal rule", "insert-code-block": "Code block", "insert-math-block": "Maths block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comments": "Comment", "toggle-highlight": "Highlight", "toggle-italics": "Italic", "toggle-strikethrough": "Strikethrough", "toggle-math": "Maths", "toggle-bullet-list": "Bullet list", "toggle-checklist": "Task list", "toggle-numbered-list": "Numbered list", "set-heading": "Heading {{level}}", "no-heading": "Body", "clear": "Clear formatting", "toggle-quote": "Quote" }, "empty-state": { "no-file-open": "No file is open", "create-new-file": "Create new note", "go-to-file": "Go to file", "see-recent-files": "See recent files", "close": "Close", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Plugin no longer active", "unknown-pane-desc": "The plugin that created this view ({{type}}) has gone away" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Current view: editing", "read-view": "Current view: reading", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "Click to edit", "switch-to-read-view": "Click to read", "mod-click-open-new-tab": "{{key}}+Click to open to the right", "find": "Find...", "replace": "Replace...", "edit": "Edit", "remove": "Remove", "rename": "Rename", "preview": "Preview", "more-options": "More options", "close": "Close", "close-all": "Close all", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Close others", "close-after": "Close tabs after", "pin": "Pin", "unpin": "Unpin", "unlink-tab": "Unlink tab", "link-tab": "Link with tab...", "toggle-source-mode": "Source mode", "toggle-reading-view": "Reading view", "add-property": "Add file property", "delete-file": "Delete file", "create-file": "Create this file", "open-link": "Open link", "open-in-new-tab": "Open in new tab", "open-to-the-right": "Open to the right", "copy-url": "Copy URL", "copy": "Copy", "cut": "Cut", "paste": "Paste", "paste-as-plain-text": "Paste as plain text", "lookup-selection": "Look up “{{selection}}”", "select-all": "Select all", "rename-heading": "Rename this heading...", "rename-blockid": "Rename this block ID...", "open-in-new-window": "Open in new window", "move-to-new-window": "Move to new window", "open-in-browser": "Open external link", "stack-tabs": "Stack tabs", "unstack-tabs": "Unstack tabs", "open-linked-view": "Open linked view" }, "tooltip": { "click-to-expand": "Click to expand", "click-to-collapse": "Click to collapse", "alias": "Alias", "not-created-yet": "Not created yet, select to create" }, "start-screen": { "label-version": "Version", "label-create-local-vault": "Create local vault", "option-open-folder-as-vault": "Open folder as vault", "option-open-folder-as-vault-description": "Choose an existing folder of Markdown files.", "option-create-vault": "Create new vault", "option-create-vault-description": "Create a new Obsidian vault under a folder.", "option-connect-obsidian-sync": "Open vault from Obsidian Sync", "option-connect-obsidian-sync-description": "Set up a synced vault with existing remote vault.", "option-new-vault-name": "Vault name", "option-new-vault-name-description": "Pick a name for your awesome vault.", "option-new-vault-location": "Location", "option-new-vault-location-description": "Pick a place to put your new vault.", "label-new-vault-location-preview": "Your new vault will be placed in: ", "option-reveal-vault-in-explorer": "Reveal vault in system explorer", "option-reveal-vault-in-explorer-mac": "Reveal vault in Finder", "option-rename-vault": "Rename vault...", "option-copy-vault-i-d": "Copy vault ID", "msg-error-rename-exists": "There is already a vault with this name.", "msg-error-nested": "Cannot move vault into a subfolder of itself.", "msg-error-rename-open": "Cannot rename a currently open vault.", "msg-rename-failed": "Failed to rename vault.", "msg-rename-success": "Successfully renamed vault.", "option-move-vault": "Move vault...", "msg-move-select-dest": "Select destination folder", "msg-error-move-exists": "There is already a vault at the destination.", "msg-error-move-open": "Cannot move a currently open vault.", "msg-move-failed": "Failed to move vault.", "msg-move-success": "Successfully moved vault.", "option-remove": "Remove from list", "button-quick-start": "Quick start", "button-open": "Open", "button-browse": "Browse", "button-connect": "Connect", "button-create-vault": "Create", "button-back": "Back", "msg-empty-vault-name": "Vault name cannot be empty.", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "Please pick a valid folder.", "msg-failed-to-create-vault": "Failed to create vault.", "msg-failed-to-create-vault-at-location": "Could not create vault at the given location. Please double check the location and permission.", "msg-error-failed-to-open-vault": "Failed to open.", "msg-error-remove-current-open-vault": "Cannot remove a currently open vault.", "option-get-help": "Get Help", "option-user-email": "Email", "placeholder-your-email": "Your email...", "option-user-password": "Password", "placeholder-your-password": "Your password...", "button-sign-in": "Sign in", "button-setup": "Setup", "option-connect-vault-desc": "Create a synced vault on this device.", "tooltip-own-vault": "This is a remote vault owned by you.", "tooltip-shared-vault": "This is a remote vault shared with you.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you will need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Continue without sync", "option-skip-short": "Skip", "label-vault-create": "Configure your new vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Welcome", "welcome-file-content": "This is your new *vault*.\n\nMake a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nWhen you are ready, delete this note and make the vault your own." }, "drag-and-drop": { "insert-link-here": "Insert link here", "insert-links-here": "Insert links here", "move-into-folder": "Move into “{{folder}}”", "star-this-file": "Star this file", "star-these-files": "Star these files", "open-in-this-tab": "Open in this tab", "open-as-tab": "Open as new tab" }, "window": { "maximize": "Maximize", "minimize": "Minimize", "restore-down": "Restore down", "close-window": "Close window", "go-back": "Go back", "go-forward": "Go forward" }, "start-up": { "loading-obsidian": "Loading Obsidian...", "obsidian-load-error": "An error occurred while loading Obsidian.", "button-reload-app": "Reload app", "button-reload-app-in-safe-mode": "Reload app in Restricted Mode", "button-open-another-vault": "Open another vault", "loading-plugins": "Loading plugins...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Loading vault...", "msg-failed-to-load-vault": "Failed to load vault: ", "loading-cache": "Loading cache...", "loading-workspace": "Loading workspace..." }, "mobile": { "action-import": "Import into vault", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "Choose a file...", "action-insert-text-into-file": "{{filename}}", "action-insert-link-into-file": "Insert link into “{{filename}}”", "action-show-switcher": "Show tab overview", "msg-importing": "Importing...", "msg-import-success": "Import success", "msg-failed-to-import-file": "Failed to import file “{{filename}}”", "msg-back-again-to-exit": "Press back again to exit.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Official help site", "label-official-help-site-desc": "Read the official help documentation of Obsidian, available in multiple languages.", "action-visit": "Visit", "label-discord-chat": "Discord chat", "label-discord-chat-desc": "Discord is the best place to chat with other experienced Obsidian users from around the world.", "action-join": "Join", "label-forum": "Official forum", "label-forum-desc": "Help each other, post feature requests, report bugs, and have in-depth discussions about knowledge management.", "label-sandbox-vault": "Sandbox vault", "label-sandbox-vault-desc": "Play around and experiment with various features. Please note your changes will not be saved." } }, "commands": { "save-file": "Save current file", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Follow link under cursor", "open-cursor-link-in-new-tab": "Open link under cursor in new tab", "open-cursor-link-to-the-right": "Open link under cursor to the right", "open-cursor-link-in-new-window": "Open link under cursor in new window", "navigate-tab-above": "Focus on tab group above", "navigate-tab-below": "Focus on tab group below", "navigate-tab-left": "Focus on tab group to the left", "navigate-tab-right": "Focus on tab group to the right", "toggle-pin": "Toggle pin", "split-right": "Split right", "split-down": "Split down", "toggle-stacked-tabs": "Toggle stacked tabs", "navigate-back": "Navigate back", "navigate-forward": "Navigate forward", "use-dark-mode": "Use dark mode", "use-light-mode": "Use light mode", "change-theme": "Change theme", "search-current-file": "Search current file", "search-replace-current-file": "Search & replace in current file", "add-property": "Add file property", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Clear file properties", "open-settings": "Open settings", "open-help": "Open help", "toggle-edit": "Toggle editing/reading view", "toggle-source-mode": "Toggle Live Preview/Source mode", "delete-current-file": "Delete current file", "new-tab": "New tab", "show-trash": "Show trash", "close-all-tabs": "Close all tabs", "close-active-tab": "Close current tab", "close-others-in-tab-group": "Close others in tab group", "close-other-tabs": "Close all other tabs", "close-tab-group": "Close this tab group", "toggle-left-sidebar": "Toggle left sidebar", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "Toggle right sidebar", "toggle-default-new-tab-mode": "Toggle default mode for new tabs", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "Focus on last note", "toggle-fold-properties": "Toggle fold properties in current file", "toggle-fold": "Toggle fold on the current line", "fold-all": "Fold all headings and lists", "unfold-all": "Unfold all headings and lists", "fold-more": "Fold more", "fold-less": "Fold less", "swap-line-up": "Move line up", "swap-line-down": "Move line down", "remove-heading": "Remove heading", "toggle-heading": "Set as heading {{level}}", "toggle-bold": "Toggle bold", "toggle-italics": "Toggle italic", "toggle-highlight": "Toggle highlight", "toggle-comments": "Toggle comment", "clear-formatting": "Clear formatting", "insert-link": "Insert Markdown link", "toggle-spellcheck": "Toggle spellcheck", "delete-paragraph": "Delete paragraph", "toggle-checklist": "Toggle checkbox status", "cycle-list-checklist": "Cycle bullet/checkbox", "insert-callout": "Insert callout", "insert-code-block": "Insert code block", "insert-math-block": "Insert maths block", "insert-horizontal-rule": "Insert horizontal rule", "insert-table": "Insert table", "insert-footnote": "Insert footnote", "edit-file-title": "Rename file", "copy-path": "Copy file path", "copy-url": "Copy Obsidian URL", "export-pdf": "Export to PDF...", "reload": "Reload app without saving", "undo-close-tab": "Undo close tab", "context-menu": "Show context menu under cursor", "show-debug-info": "Show debug info", "open-sandbox-vault": "Open sandbox vault", "always-on-top": "Toggle window always on top", "zoom-in": "Zoom in", "zoom-out": "Zoom out", "reset-zoom": "Reset zoom", "toggle-preview": "Toggle reading view", "move-to-new-window": "Move current tab to new window", "open-in-new-window": "Open current tab in new window", "rename-current-file": "Rename current file", "go-to-prev-tab": "Go to previous tab", "go-to-next-tab": "Go to next tab", "go-to-last-tab": "Go to last tab", "go-to-nth-tab": "Go to tab #{{n}}", "show-release-notes": "Show release notes" }, "dialogue": { "label-link-affected": "This will affect {{links}} in {{files}}.", "msg-updated-links": "Updated {{links}} in {{files}}.", "label-update-links": "Update links", "label-confirm-update-link-to-file": "Do you want to update internal links that link to this file?", "button-always-update": "Always update", "button-just-once": "Just once", "button-do-not-update": "Do not update", "label-confirm-deletion": "Are you sure you want to delete “{{filename}}”?", "label-move-to-system-trash": "It will be moved to your system trash.", "label-move-to-vault-trash": "It will be moved to your Obsidian trash, which is located in the “.trash” hidden folder in your vault.", "label-permanent-delete": "The file will be permanent deleted.", "label-non-empty-folder": "This folder is not empty.", "label-delete-folder-warning": "If you continue, all files inside this folder will be deleted.", "label-delete-folder": "Delete folder", "button-delete": "Delete", "button-delete-do-not-ask-again": "Delete and do not ask again", "label-do-not-ask-again": "do not ask again", "label-existing-backlink": "There are currently {{links}} pointing to this note.", "label-existing-backlink_plural": "There are currently {{links}} pointing to this note.", "label-delete-file": "Delete file", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Manage", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Cancel", "button-download": "Download", "button-done": "Done", "button-save": "Save", "button-stop": "Stop", "button-continue": "Continue", "button-choose": "Choose", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Preparing PDF...", "label-rename-file": "Note title", "label-rename-file-generic": "File name", "label-new-name": "New name", "msg-rename-success": "Successfully renamed file.", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Rename heading", "label-rename-blockid": "Rename block ID" }, "menu-items": { "new-file": "New Note", "new-file-to-the-right": "New Note to the Right", "new-window": "New Window", "open-switcher": "Open Quickly...", "open-vault": "Open Vault...", "close-tab": "Close Tab", "close-window": "Close Window", "find": "Find", "replace": "Replace", "insert-callout": "Callout", "insert-markdown-link": "Markdown Link", "insert-wikilink": "Link", "set-heading": "Heading {{level}}", "no-heading": "Body", "insert-quote": "Quote", "export-pdf": "Export To PDF...", "insert-attachment": "Insert Attachment...", "insert-codeblock": "Code Block", "insert-math-block": "Math Block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bullet-list": "Bullet List", "toggle-numbered-list": "Numbered List", "toggle-checklist": "Task List", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comment": "Comment", "toggle-italics": "Italics", "toggle-inline-math": "Math", "toggle-highlight": "Highlight", "toggle-strikethrough": "Strikethrough", "toggle-comments": "Comment", "folding-menu": "Folding", "fold-all": "Fold All", "unfold-all": "Unfold All", "fold-more": "Fold More", "fold-less": "Fold Less", "source-mode": "Source Mode", "reading-view": "Reading View", "show-debug-info": "Show Debug Info", "open-sandbox": "Open Sandbox Vault", "navigate-back": "Navigate Back", "navigate-forward": "Navigate Forward", "toggle-left-sidebar": "Left Sidebar", "toggle-right-sidebar": "Right Sidebar", "toggle-ribbon": "Ribbon", "split-right": "Split Right", "split-down": "Split Down", "release-notes": "Release Notes" }, "plugins": { "name": "Plugins", "file-explorer": { "name": "Files", "desc": "Browse the files and folders in your vault.", "action-open": "Open file explorer", "action-show": "Show file explorer", "action-create-note": "Create new note", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Create new note in current tab", "action-create-note-to-the-right": "Create note to the right", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-new-note": "New note", "action-new-folder": "New folder", "action-change-sort": "Change sort order", "action-reveal-file": "Reveal file in navigation", "action-reveal-active-file": "Reveal current file in navigation", "command-make-a-copy": "Make a copy of the current file", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Move current file to another folder", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Move file to...", "action-move-folder": "Move folder to...", "action-move-items": "Move {{count}} items to...", "prompt-type-folder": "Type a folder", "label-no-folders": "No existing folders found.", "instruction-navigate": "to navigate", "instruction-move": "to move", "instruction-create": "to create", "instruction-dismiss": "to dismiss", "label-sort-a-to-z": "File name (A to Z)", "label-sort-z-to-a": "File name (Z to A)", "label-sort-new-to-old": "Modified time (new to old)", "label-sort-old-to-new": "Modified time (old to new)", "label-sort-created-old-to-new": "Created time (old to new)", "label-sort-created-new-to-old": "Created time (new to old)", "menu-opt-new-note": "New note", "menu-opt-new-folder": "New folder", "menu-opt-rename": "Rename...", "menu-opt-delete": "Delete", "menu-opt-make-copy": "Make a copy", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "File name cannot contain any of these characters: ", "msg-unsafe-characters": "Links will not work with file names containing any of these characters: ", "msg-file-already-exists": "There is already a file with the same name", "msg-empty-file-name": "File name cannot be empty.", "msg-bad-dotfile": "File name must not start with a dot.", "tooltip-modified-time": "Last modified at {{time}}", "tooltip-created-time": "Created at {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Untitled", "label-untitled-folder": "Untitled", "msg-set-attachment-folder": "Attachments will be saved to “{{path}}” from now on." }, "search": { "name": "Search", "desc": "Search for a keyword in all the notes.", "action-open-search": "Search in all files", "label-collapse-results": "Collapse results", "label-match-case": "Match case", "label-explain-search-term": "Explain search terms", "label-more-context": "Show more context", "label-result-count": "{{count}} result", "label-result-count_plural": "{{count}} results", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Search settings", "prompt-start-search": "Search...", "label-match-text": "Matches text: ", "label-match-regex": "Matches regex: ", "label-match-exact-text": "Contains exact text: ", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "Contains property:", "label-match-all": "Match all of: ", "label-match-any": "Match any of: ", "label-excluding": "Excluding: ", "label-case-sensitive": "Case sensitive", "label-case-insensitive": "Case insensitive", "label-match-file-path": "Match file path: ", "label-match-file-name": "Match file name: ", "label-match-content": "Match file content: ", "label-match-task": "Match task: ", "label-match-task-todo": "Match task (todo): ", "label-match-task-done": "Match task (done): ", "label-match-line": "Match line: ", "label-match-block": "Match block: ", "label-match-section": "Match section: ", "label-match-tag": "Match tag: ", "label-no-matches": "No matches found.", "matches-with-count": "... and {{count}} more match.", "matches-with-count_plural": "... and {{count}} more matches.", "label-copy-search-results": "Copy search results", "button-copy-results": "Copy results", "msg-successfully-copied": "Results copied to your clipboard.", "option-show-path": "Show path", "option-show-path-description": "Display full path of the file rather than just the file name.", "option-link-style": "Link style", "option-link-style-description": "Optionally turn each file result in to a link.", "option-choice-link-style-none": "None", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Markdown link", "option-list-prefix": "List prefix", "option-list-prefix-description": "Optionally add a list item prefix to each file result.", "option-choice-list-style-none": "None", "option-choice-list-style-dash": "Dash (-)", "option-choice-list-style-asterisk": "Asterisk (*)", "option-choice-list-style-numbered": "Numbered", "tooltip-clear-search": "Clear search", "label-search-options": "Search options", "label-properties-group": "Properties", "label-tags-group": "Tags", "tooltip-read-more": "Read more", "label-history": "History", "tooltip-clear-history": "Clear search history", "label-path-option-description": "match path of the file", "label-file-name-option-description": "match file name", "label-tag-option-description": "search for tags", "label-line-option-description": "search keywords on same line", "label-section-option-description": "search keywords under same heading", "label-property-option-description": "match property", "menu-opt-search-for": "Search for “{{keyword}}”", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "Quick switcher", "desc": "Jump to other files with your keyboard.", "short-name": "Switcher", "action-open": "Open quick switcher", "instruction-navigate": "to navigate", "instruction-open": "to open", "instruction-open-in-new-tab": "to open in new tab", "instruction-open-to-the-right": "to open to the right", "instruction-create": "to create", "instruction-dismiss": "to dismiss", "instruction-select": "to select", "label-no-note-create-new": "No notes found. Enter to create a new one.", "prompt-type-file-name": "Find or create a note...", "label-enter-to-create": "Enter to create", "tooltip-not-created-yet": "Not created yet, select to create", "option-show-existing-only": "Show existing only", "option-show-existing-only-description": "Only show results from existing files. Links to files that are not yet created will be hidden.", "option-show-attachments": "Show attachments", "option-show-attachments-desc": "Show attachment files like images, videos, and PDFs.", "option-show-all-file-types": "Show all file types", "option-show-all-file-types-desc": "Show all files including ones that Obsidian cannot open. The file will be opened with the default app for that file type." }, "graph-view": { "name": "Graph view", "desc": "Visualize the relationships between your notes.", "action-open": "Open graph view", "action-open-local": "Open local graph", "action-copy-screenshot": "Copy screenshot", "tab-title": "Graph of {{displayText}}", "label-filters": "Filters", "prompt-filter-nodes": "Search files...", "option-depth": "Depth", "option-depth-description": "Show nodes this number of links away", "option-neighbor-links": "Neighbor links", "option-neighbor-links-description": "Show links between neighbors", "option-forelinks": "Outgoing links", "option-forelinks-description": "Show links to other files", "option-backlinks": "Incoming links", "option-backlinks-description": "Show links from other files", "option-show-tags": "Tags", "option-show-tags-description": "Tags are linked to the files that contain them", "option-show-attachments": "Attachments", "option-show-attachments-description": "Show attachments", "option-show-existing-files-only": "Existing files only", "option-show-existing-files-only-description": "When enabled, links to nonexistent files are not shown", "option-show-orphans": "Orphans", "option-show-orphans-description": "Show files that are not linked to any other file", "label-display": "Display", "option-show-arrows": "Arrows", "option-show-arrows-description": "Show arrows when zoomed in", "option-text-fade": "Text fade threshold", "option-node-size": "Node size", "option-link-thickness": "Link thickness", "label-forces": "Forces", "option-center-force": "Centre force", "option-link-force": "Link force", "option-link-distance": "Link distance", "option-repel-force": "Repel force", "tooltip-open-graph-settings": "Open graph settings", "msg-screenshot-copied": "Screenshot copied to the clipboard.", "label-groups": "Groups", "placeholder-enter-query": "Enter query...", "tooltip-delete-graph": "Delete group", "button-new-group": "New group", "tooltip-click-to-change-drag-to-reorder": "Click to change colour\nDrag to reorder groups", "action-timelapse": "Start graph time-lapse animation", "tooltip-start-timelapse-animation": "Start time-lapse animation", "button-animate-timelapse": "Animate" }, "backlinks": { "name": "Backlinks", "desc": "Show links from other files to the current file. Backlinks can be shown in a separate view or at the bottom of the note.", "action-open": "Open backlinks", "action-show": "Show backlinks", "action-open-for-current": "Open backlinks for the current note", "action-toggle-backlinks-in-document": "Toggle backlinks in document", "menu-opt-backlinks-in-document": "Backlinks in document", "label-linked-mentions": "Linked mentions", "label-no-backlinks": "No backlinks found.", "label-unlinked-mentions": "Unlinked mentions", "label-show-search": "Show search filter", "label-link-button-text": "Link", "tab-title": "Backlinks for {{displayText}}", "label-no-unlinked-mentions": "No unlinked mentions found.", "ellipsis": "...", "option-backlink-in-document": "Show backlinks at the bottom of notes", "option-backlink-in-document-desc": "Make backlinks visible in new tabs by default." }, "outgoing-links": { "name": "Outgoing links", "desc": "Show outgoing links and detect unlinked mentions of other notes in the current note.", "action-open": "Open outgoing links", "action-show": "Show outgoing links", "action-open-for-current": "Open outgoing links for the current file", "tab-title": "Outgoing links from {{displayText}}", "label-links": "Links", "label-no-links": "No links found.", "label-unlinked-mentions": "Unlinked mentions", "tooltip-link-file": "Link this file", "tooltip-not-created": "Not created yet" }, "tag-pane": { "name": "Tags view", "short-name": "Tags", "desc": "Show a list of all tags and their number of occurrences.", "action-show": "Show tags", "label-no-tags": "No tags found.", "label-sort-by-name-a-to-z": "Tag name (A to Z)", "label-sort-by-name-z-to-a": "Tag name (Z to A)", "label-sort-by-frequency-high-to-low": "Frequency (high to low)", "label-sort-by-frequency-low-to-high": "Frequency (low to high)", "action-show-nested-tags": "Show nested tags", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Properties view", "desc": "Show the metadata for your files in the sidebar.", "name-global": "All properties", "name-local": "File properties", "tab-title": "File properties for {{displayText}}", "action-show": "Show all properties", "action-show-local": "Show file properties", "opt-unassign-type": "Unassign type", "label-no-properties": "No properties found.", "label-invalid-properties": "Invalid properties.", "label-sort-by-name-a-to-z": "Property name (A to Z)", "label-sort-by-name-z-to-a": "Property name (Z to A)", "label-sort-by-frequency-high-to-low": "Frequency (high to low)", "label-sort-by-frequency-low-to-high": "Frequency (low to high)", "msg-merge-properties-warning": "Merge property “{{oldKey}}” with “{{newKey}}”?", "msg-merge-properties-warning-desc": "In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-open-local": "Open file properties", "action-open-daily-note": "Open daily note" }, "page-preview": { "name": "Page preview", "desc": "Hover an internal link to preview its content. In editor mode, press Ctrl/Cmd while hovering.", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "“{{linktext}}” is not created yet. Click to create.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Editing view", "label-source-preview": "Reading view", "label-source-search": "Search, Backlinks, and Outgoing links", "label-source-tab-header": "Tab header", "label-require-mod": "Require {{key}} to trigger page preview on hover" }, "bookmarks": { "name": "Bookmarks", "desc": "Save shortcuts to files, searches, headings, and graphs.", "action-show": "Show bookmarks", "action-collapse-all": "Collapse all", "action-new-bookmark": "Bookmark the active tab...", "action-new-group": "New group", "action-bookmark": "Bookmark...", "action-add-bookmark": "Add bookmark", "action-edit-bookmark": "Edit bookmark", "action-bookmark-block": "Bookmark block under cursor...", "action-bookmark-heading": "Bookmark heading under cursor...", "action-bookmark-search": "Bookmark current search...", "action-remove-bookmark": "Remove bookmark for the current file", "action-bookmark-tab-group": "Bookmark {{count}} tab...", "action-bookmark-tab-group_plural": "Bookmark {{count}} tabs...", "action-bookmark-all-tabs": "Bookmark all tabs...", "action-bookmark-graph": "Bookmark this graph...", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} bookmark", "label-bookmark-with-count_plural": "{{count}} bookmarks", "label-no-bookmarks": "No bookmarks found", "label-invalid-data": "Failed to load bookmarks.", "label-invalid-data-desc": "The data file is corrupted.", "label-untitled-group": "Untitled group", "label-untitled-graph": "Untitled Graph", "menu-opt-edit": "Edit...", "menu-opt-remove": "Remove", "menu-opt-rename": "Rename", "menu-opt-bookmark-block": "Bookmark this block...", "menu-opt-bookmark-heading": "Bookmark this heading...", "msg-no-search-query": "No search query to bookmark.", "option-path": "Path", "option-query": "Query", "option-u-r-l": "URL", "option-title": "Title", "option-group": "Bookmark group", "placeholder-bookmark-group": "Bookmarks" }, "custom-css": { "name": "Custom CSS", "desc": "Read and apply “obsidian.css” in the vault folder.", "setting-community-themes": "Community themes", "msg-fetching-themes": "Fetching community theme data...", "prompt-filter": "Filter...", "label-dark-theme-only": "Dark themes only", "label-light-theme-only": "Light themes only", "label-use": "Use this theme", "label-stop-use": "Stop using this theme", "label-install-and-use": "Install and use", "label-update": "Update", "label-no-readme": "This theme did not provide a README file.", "tooltip-remove-theme": "Remove theme", "label-visit-on-github": "Visit on GitHub", "msg-load-error": "Could not load community themes, please check your network.", "msg-now-using-theme": "You are now using {{title}} as your CSS theme.", "msg-deleted-theme": "The theme {{title}} has been deleted.", "msg-updated-theme": "The theme {{title}} has been updated.", "label-installed": "Installed", "label-legacy": "Legacy", "button-update-all-themes": "Update all", "msg-failed-load-themes": "Failed to load community themes.", "msg-no-updates-found": "No theme updates found.", "msg-updates-found": "Found {{count}} theme to update.", "msg-updates-found_plural": "Found {{count}} themes to update.", "msg-failed-to-install-theme": "Failed to install theme “{{name}}”.", "msg-successfully-installed-theme": "Successfully installed theme “{{name}}”.", "msg-installing-theme": "Installing theme “{{name}}”...", "label-search-summary": "Showing {{themeCount}}:", "label-update-available": "Update available" }, "command-palette": { "name": "Command palette", "desc": "Use Cmd/Ctrl+P and begin typing to invoke a command.", "action-open": "Open command palette", "instruction-navigate": "to navigate", "instruction-use": "to use", "instruction-dismiss": "to dismiss", "label-no-commands": "No commands found.", "prompt-type-command": "Select a command...", "label-pinned-commands": "Pinned commands", "option-add-new-pin": "New pinned command", "option-add-new-pin-description": "Pinned commands will appear at the top of all commands when no search query is present." }, "markdown-format-importer": { "name": "Format converter", "desc": "Convert Markdown from other apps to Obsidian format.", "action-open": "Open format converter", "option-roam-tag-fixer": "Roam Research tag fixer", "option-roam-tag-fixer-description": "Converts “#tag” and “#[[tag]]” to “[[tag]]”.", "option-roam-highlight-fixer": "Roam Research highlight fixer", "option-roam-highlight-fixer-description": "Converts “^^highlight^^” to “==highlight==”.", "option-roam-todo-converter": "Roam Research TODO converter", "option-roam-todo-converter-description": "Converts “{{[[TODO]]}}” to “[ ]”.", "option-bear-highlight-fixer": "Bear highlight fixer", "option-bear-highlight-fixer-description": "Converts “::highlight::” to “==highlight==”.", "zettelkasten-link-fixer": "Zettelkasten link fixer", "zettelkasten-link-fixer-description": "Fixes “[[UID]]” links to full “[[UID File Name]]”.", "zettelkasten-link-beautifier": "Zettelkasten link beautifier", "zettelkasten-link-beautifier-description": "Fixes “[[UID]]” links and also beautify them “[[UID File Name|File Name]]”.", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Warning: the converter will convert all the files in your vault, not just the current file.", "msg-override-files-warning": "Your files will be overwritten. Back up all your files before attempting conversion.", "label-start-conversion": "Start conversion", "label-stop": "Stop", "label-go-back": "Go back", "label-done": "Done", "label-processing": "Processing...", "label-cancelling": "Cancelling...", "label-finished": "Finished!", "label-processed-files": "Processed files", "label-modified-files": "Modified files", "label-total-replacements": "Total replacements", "label-failed": "Failed" }, "daily-notes": { "name": "Daily notes", "desc": "Create or open today's daily note.", "short-name": "Today", "action-open": "Open today's daily note", "action-open-previous": "Open previous daily note", "action-open-next": "Open next daily note", "action-insert-text": "Today's daily note", "action-insert-link": "Insert link into daily note", "msg-fail-format": "Failed to create daily note. \"{{format}}\" is not a valid format.", "msg-fail-folder": "Failed to create daily note. Folder \"{{folderOption}}\" not found.", "msg-fail-template-file": "Failed to create daily note. Template file \"{{template}}\" not found.", "msg-no-previous": "There is no daily note before this one.", "msg-no-next": "There is no daily note after this one.", "option-date-format": "Date format", "label-refer-to-syntax": "For more syntax, refer to ", "label-syntax-link": "format reference", "label-syntax-live-preview": "Your current syntax looks like this: ", "option-new-file-location": "New file location", "option-new-file-location-description": "New daily notes will be placed here.", "option-template": "Template file location", "option-template-description": "Choose the file to use as a template.", "option-open-on-start": "Open daily note on startup", "option-open-on-start-description": "Open your daily note automatically whenever you open this vault." }, "unique-note-creator": { "name": "Unique note creator", "desc": "Create notes with unique timestamp prefixes, for workflows like zettelkasten or slip box.", "short-name": "Unique", "action-create-note": "Create new unique note", "action-add-link": "Add unique internal link", "option-new-file-location": "New file location", "option-new-file-location-description": "The folder path to create the new unique note in.", "msg-folder-not-found": "Failed to create unique note. Folder “{{folderOption}}” not found.", "option-template-file": "Template file location", "option-template-file-description": "The file path to use as template.", "option-template-file-placeholder": "Example: folder1/note", "option-id-format": "Unique prefix format", "msg-template-file-not-found": "Failed to create unique note. Template file “{{template}}” not found.", "msg-failed-to-generate": "Failed to generate a unique note with the format “{{format}}”" }, "random-note": { "name": "Random note", "desc": "Open a random note to rediscover or review.", "short-name": "Random", "action-open": "Open random note" }, "outline": { "name": "Outline", "desc": "Show the table of contents for the current note.", "action-open": "Open outline", "action-show": "Show outline", "action-open-for-current": "Open outline of the current file", "tab-title": "Outline of {{displayText}}", "label-no-headings": "No headings found.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Word count", "desc": "Show word count in the status bar." }, "slides": { "name": "Slides", "desc": "Create a presentation by using “---” to separate slides.", "action-start": "Start presentation" }, "audio-recorder": { "name": "Audio recorder", "desc": "Record audio notes and save them as attachments.", "action-start": "Start recording audio", "action-stop": "Stop recording audio", "action-toggle": "Start/stop recording", "msg-access-denied": "Microphone access was denied, please enable it from the preference pane.", "msg-pending-grant": "Please grant microphone permission to start recording.", "msg-no-microphone": "No microphone is connected." }, "open-with-default-app": { "name": "Open in default app", "desc": "Add a button to open the current file in its default app.", "action-open-file": "Open in default app", "action-open-file-mobile": "Share", "action-show-in-folder": "Show in system explorer", "action-show-in-folder-mac": "Reveal in Finder" }, "templates": { "name": "Templates", "desc": "Insert template content from a folder of template files.", "action-insert": "Insert template", "action-insert-current-date": "Insert current date", "action-insert-current-time": "Insert current time", "option-template-folder-location": "Template folder location", "option-template-folder-location-description": "Files in this folder will be available as templates.", "option-template-date-format": "Date format", "option-template-date-format-description": "{{date}} in the template file will be replaced with this value.", "option-template-date-format-description2": "You can also use {{date:YYYY-MM-DD}} to override the format once.", "option-template-time-format": "Time format", "option-template-time-format-description": "{{time}} in the template file will be replaced with this value.", "option-template-time-format-description2": "You can also use {{time:HH:mm}} to override the format once.", "instruction-navigate": "to navigate", "instruction-insert": "to insert template", "instruction-dismiss": "to dismiss", "msg-no-templates-found": "No templates found", "msg-fail-invalid-folder": "Failed to list templates. Template folder is invalid.", "msg-fail-folder-not-found": "Failed to list templates. Folder “{{folderOption}}” not found.", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "Failed to list templates. No template folder configured.", "prompt-type-template": "Type name of a template..." }, "translucency": { "name": "Translucent window", "desc": "Turn on translucency effect to enhance a sense of depth. Best used with dark mode. Not supported on Linux." }, "slash-command": { "name": "Slash commands", "desc": "Trigger commands in the editor by using the forward slash key." }, "editor-status": { "name": "Show editing mode in status bar", "desc": "Show the editing mode toggle in the status bar.", "read": "Reading", "edit-source": "Source mode", "edit-live-preview": "Live Preview" }, "publish": { "name": "Publish", "desc": "Host your notes online as a website, wiki or documentation.", "action-publish-changes": "Publish changes...", "action-publish-file": "Publish current file", "label-no-internet-access": "You need access to the internet to publish changes.", "label-publish-service-description": "Obsidian Publish is an add-on paid service that lets you publish your notes online directly from Obsidian.", "label-please-login": "To start publishing, please log in or create a new Obsidian account.", "label-no-publish-subscription": "You do not have an Obsidian Publish subscription yet.", "button-purchase": "Purchase", "label-manage-sites": "Manage sites", "label-no-sites": "You do not have any sites.", "button-choose": "Choose", "tooltip-edit-site-id": "Edit site ID", "tooltip-delete-site": "Delete site", "label-delete-site-confirmation": "Are you sure you want to delete this site?", "label-delete-site-details": "This will immediately and permanently delete your site.", "label-confirm-delete-site": "Confirm delete site “{{site}}”", "option-site-id": "Site ID", "option-site-id-description": "Your site will be at https://publish.obsidian.md/{site id}. You can change this later. Only lower case letters, numbers, and dashes are allowed.", "option-site-id-placeholder": "Pick a site ID", "button-create": "Create", "msg-invalid-site-id": "Site ID can only contain lowercase letters, numbers, and dashes.", "msg-site-id-in-use": "This site ID is in use, please try another one.", "msg-create-site-issue": "There was an issue when creating your site.", "label-site-options": "Site options", "option-site-general": "General", "option-site-components": "Components", "option-site-appearance": "Appearance", "option-site-reading-experience": "Reading experience", "option-site-misc": "Other site settings", "option-site-name": "Site name", "option-site-name-description": "Name of your published site. It will show up in the page title of your site.", "option-site-name-placeholder": "Name of your site", "option-home-page-file": "Homepage file", "option-home-page-file-description": "The first page the user sees when landing on your published site", "option-home-page-file-placeholder": "Pick a published file", "option-logo": "Logo", "option-logo-description": "Pick an image file as your site logo.", "option-logo-placeholder": "Any uploaded image in your vault...", "option-site-collaboration": "Site collaboration", "option-site-collaboration-desc": "Manage collaborators for this site.", "option-customize-navigation": "Customise navigation", "option-customize-navigation-desc": "Override the order of navigation items and hide pages or folders from showing.", "option-navigation-order": "Navigation item display order", "option-hide-items-in-navigation": "Hide pages or folders from navigation", "option-hide-items-in-navigation-desc": "Right click and select “Hide” to prevent specific pages from appearing in the site navigation. The pages will still be accessible via links or accessing the URL directly.", "option-show-hidden-items": "Show hidden", "button-customize-sidebar": "Manage", "label-navigation-modal-title": "Navigation", "label-navigation-modal-desc": "Drag and drop to customise the order in which navigation items appear on your Publish site.", "option-hide-in-navigation": "Hide in navigation", "button-manage-collaborators": "Manage", "option-theme": "Theme", "option-theme-description": "Choose default colour scheme for your site.", "option-theme-system": "Adapt to system", "option-show-theme-toggle": "Light/dark toggle", "option-show-theme-toggle-description": "Let visitors toggle between light and dark theme on their own.", "option-show-navigation": "Show navigation", "option-show-navigation-description": "Display a list of all published pages on the left side of your published site.", "option-show-search": "Show search bar", "option-show-search-description": "Display a search bar that lets the visitors search pages, aliases, and headings on your site.", "option-show-graph": "Show graph view", "option-show-graph-description": "Display a small local graph on each page.", "option-show-outline": "Show table of contents", "option-show-outline-description": "Display the outline of headings on each page.", "option-show-backlinks": "Show backlinks", "option-show-backlinks-description": "Show backlink section at the end of each page.", "option-sliding-window-mode": "Stack pages", "option-sliding-window-mode-description": "Links will open next to the current page in the same window. Scroll horizontally to see stacked pages.", "option-hover-preview-file": "Show hover preview", "option-hover-preview-file-description": "Display page preview when hovering links.", "option-hide-title": "Hide page title", "option-hide-title-description": "Hide the page title heading. Useful when you have your own headings at the beginning of each page.", "option-readable-line-length": "Readable line length", "option-readable-line-length-description": "Limit maximum line length. Fits less content on the screen, but makes long paragraphs more readable.", "option-site-password": "Passwords", "option-site-password-description": "Restrict access to your site with passwords.", "option-google-analytics": "Google Analytics tracking code", "option-google-analytics-description": "Configure Google Analytics for your site. Only available for visitors from your custom domain URL. Please check with your local laws and regulations first.", "button-manage-passwords": "Manage", "button-save-site-settings": "Save site settings", "msg-updated-options": "Updated options for your site.", "button-go-back": "Back", "label-publishing-to": "Publishing to", "tooltip-switch-site": "Switch site", "button-add-linked": "Add linked", "tooltip-add-linked": "Add all files that are linked by currently selected items", "msg-added-linked-files": "{{count}} linked file has been added.", "msg-added-linked-files_plural": "{{count}} linked files have been added.", "tooltip-open-site-options": "Change site options", "label-no-changes-detected": "No changes were detected.", "label-changed-files-to-be-published": "Changed", "label-unchanged-files-already-published": "Unchanged (select to unpublish)", "label-file-selected": " selected", "button-select-all-files": "Select all", "label-custom-navigation-title": "Navigation items", "button-deselect-all-files": "Deselect all", "label-new-files-to-be-published": "New", "button-publish": "Publish", "msg-no-permission-to-publish-to-site": "You do not have permissions to publish to the current site.", "msg-select-at-least-one-file": "Please select at least one file.", "label-upload-changes": "Upload changes", "button-done": "Done", "button-stop": "Stop", "label-status-uploading": "Uploading", "label-status-to-publish": "To publish", "label-status-to-delete": "To delete", "label-status-published": "Published", "label-status-deleted": "Deleted", "label-status-failed": "Failed", "label-status-cancelled": "Cancelled", "button-change": "Change", "label-clear-cache": "It takes up to a few minutes for the changes to show up on your site. If you do not see your latest changes, try clearing the cache in your browser.", "label-visit-site": "You can visit your site here: ", "msg-something-went-wrong": "Something went wrong.", "msg-network-error": "A network error occurred.", "label-manage-passwords": "Manage passwords", "label-add-password": "Add password", "action-new-password": "New password", "label-no-password": "Your site currently does not have any passwords. Anyone can visit it.", "label-have-password": "Your site is password protected. If you have multiple passwords, visitors can access your site by entering any of them.", "option-password-name": "Password", "option-password-desc": "A hash of your password will be stored securely. Once the password is set, it cannot be revealed in plaintext.", "option-password-placeholder": "Your password", "option-nickname-name": "Nickname (optional)", "option-nickname-desc": "Set a nickname to remind yourself what or who the password is for.", "action-add-password": "Add this password", "label-untitled-password": "Untitled password", "label-password-created-time": "Created {{time}}", "msg-added-new-password": "Added new password.", "option-custom-domain": "Custom domain", "option-custom-domain-desc": "Use your own domain rather than the https://publish.obsidian.md/{site id} URL.", "option-noindex": "Disallow search engine indexing", "option-noindex-desc": "Prevent search engines from indexing your site.", "button-configure": "Configure", "label-configure-custom-domain": "Configure custom domain", "option-custom-url-name": "Custom URL", "option-custom-url-desc": "The URL that your site will be located at.", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "Redirect to your custom domain", "option-custom-url-redirect-desc": "Redirect visitors on publish.obsidian.md/id to your custom domain.", "button-update-custom-domain": "Update domain setting", "label-custom-domain-instructions": "Please refer to our {{link}} on our help site for more information.", "label-custom-domain-link-name": "custom domain setup guide", "label-site-usage": "You are using {{site}} out of your {{limit}}.", "button-add-more-sites": "Buy more sites", "label-no-sites-bought": "You have not bought any sites.", "button-get-site": "Get a site", "label-manage-sharing": "Manage sharing for “{{name}}”", "label-sharing-with-users": "This site is currently shared with the following people:", "label-not-sharing": "This site is not currently shared with anyone.", "label-invite-pending": "Pending", "tooltip-remove-user": "Remove user", "option-invite-user": "Invite user", "placeholder-invite-user": "Enter their email...", "error-email-must-be-valid": "Please enter a valid email to invite someone.", "msg-enable-publish-plugin": "Please enable the Publish core plugin in Settings -> Core plugins to view sites.", "label-your-sites": "Your sites", "label-sites-shared-with-you": "Sites shared with you", "tooltip-leave-site-sharing": "Stop collaborating on this site", "label-leave-site-confirmation": "Confirm stop site collaboration", "label-leave-site-confirmation-details": "This will remove this site from the list of sites shared with you. This action cannot be reverted.", "label-leave-site-confirmation-details-2": "Please contact the owner of the site if you wish to collaborate on this site again.", "button-leave": "Leave", "label-compare-with-live": "Compare with live version", "button-use-live-version": "Use live version", "label-confirm-override": "Confirm overriding local version", "label-confirm-override-1": "Are you sure you want to override the local version?", "label-confirm-override-2": "The live version will be used and your local version will be discarded. Please make backups if necessary.", "button-proceed": "Proceed", "message-successfully-used-live-version": "Successfully used live version to override your local version.", "label-open-in-live-site": "Open in live site", "label-open-file": "Open file", "tooltip-manage-publish-filters": "Manage publish filters", "option-included-folders": "Included folders", "option-included-folders-desc": "Files under these folders will automatically be selected when you review changes to publish.", "option-currently-included-folders": " These folders are currently included:", "option-excluded-folders": "Excluded folders", "option-excluded-folders-desc": "Files under these folders will not show up when you review changes to publish. This setting takes priority over included folders above.", "label-number-of-folders-included": "Obsidian Publish is currently including {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish is currently excluding {{folders}}.", "label-manage-included-folders": "Manage included folders", "label-manage-excluded-folders": "Manage excluded folders", "label-add-included-folder": "Include a folder", "label-add-included-folder-desc": "You can include both existing folders and folders that have not been created yet.", "tooltip-contact-support": "Contact support", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "Workspaces", "desc": "Save and load workspace layouts.", "action-load-layout": "Load workspace layout", "action-manage-layouts": "Manage workspace layouts", "action-save": "Save layout", "action-save-and-load-layout": "Save and load another layout", "placeholder-save-current-layout-as": "Save current workspace layout as...", "button-save": "Save", "button-load": "Load", "tooltip-delete-layout": "Delete layout", "msg-enter-name": "Please enter a name for the new layout.", "msg-save-layout-success": "Successfully saved layout “{{name}}”", "label-no-layout-found": "No saved layout found.", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "Type layout name..." }, "sync": { "name": "Sync", "desc": "Synchronise your files through Obsidian Sync.", "action-view-version-history": "Open version history for the current file", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "Load more", "label-show-diff": "Show changes", "label-copy-to-clipboard": "Copy to clipboard", "label-restore-this-version": "Restore", "msg-already-latest-version": "This version is already the latest version.", "msg-restored-version": "Successfully restored version from {{time}}", "label-file-deleted": "This file was deleted", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "Renamed from “{{from}}”", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "{{count}} revision", "label-revision_plural": "{{count}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "Empty content", "label-unable-to-retrieve": "Unable to retrieve version history", "label-setting-files": "Setting files", "label-deleted-files": "Deleted files", "label-version-history": "Version history", "label-click-to-see-history": "Click on a file to see its history.", "label-create-remote-vault": "Create remote vault", "msg-please-enter-password": "Please enter a password.", "msg-vault-name-cannot-be-empty": "Vault name cannot be empty.", "msg-successfully-created-vault": "Successfully created remote vault “{{name}}”.", "label-remote-vault-explanation": "Remote vaults securely synchronise your vault between devices.", "option-vault-name": "Vault name", "option-vault-name-desc": "Helps you remember what this vault is for.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Select the server region closest to you to store the remote vault. This cannot be changed in the future.", "option-vault-name-placeholder": "My awesome vault", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Encryption password", "option-encryption-password-desc": "This password cannot be changed later.", "option-encryption-password-desc-warning": "If you forget this password, any remote data will remain unusable forever.", "option-encryption-password-desc-2": "This does not affect your local data.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "Your password", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "Unlock vault", "label-remote-vaults": "Your remote vaults", "label-vault-created-time": "Created {{time}}", "tooltip-delete-remote-vault": "Delete", "tooltip-rename-remote-vault": "Rename", "label-rename-remote-vault": "Rename remote vault “{{name}}”", "label-rename-remote-vault-desc": "Enter a new name for this remote vault.", "tooltip-manage-sharing": "Manage sharing", "label-confirm-delete-remote-vault": "Confirm delete vault", "label-confirm-delete-remote-vault-question": "Are you sure you want to delete the remote vault \"{{name}}\"?", "label-confirm-delete-remote-vault-result": "All data on our server, including version history, will be deleted. Your local files will stay intact.", "label-confirm-delete-remote-vault-warning": "This action is permanent and irreversible.", "msg-remote-vault-deleted": "{{name}} has been deleted.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "Connect", "button-disconnect-from-remote-vault": "Disconnect", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "You do not have any remote vaults.", "label-no-subscription": "You do not have an active Obsidian Sync subscription.", "label-please-visit": "Please visit", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "Create new vault", "label-sync-log": "Sync log", "option-event-type-all": "All", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Merge conflicts", "button-copy-sync-log": "Copy sync log", "msg-successfully-copied-sync-log": "Successfully copied sync log.", "button-retry": "Retry", "button-purchase-subscription": "Purchase", "label-third-party-sync-warning": "Conflicting file sync service detected", "label-third-party-sync-warning-desc": "Warning: Your vault seems to be using {{service}} as a third party sync service. If you use Obsidian Sync with this vault, you may run into conflicts, file corruption, or data loss.", "label-icloud-drive-warning": "If you are using iCloud Drive, your Documents and Desktop folders might be synced by iCloud. This could cause conflicts with Obsidian Sync.", "option-remote-vault": "Remote vault", "button-choose-remote-vault": "Choose", "button-manage-remote-vault": "Manage", "option-remote-vault-desc-connected": "Currently connected to the “{{name}}” remote vault.", "option-remote-vault-desc-not-connected": "Currently not connected to any remote vault.", "option-sync-status": "Sync status", "option-sync-status-desc-paused": "Obsidian Sync is currently paused.", "option-sync-status-desc-running": "Obsidian Sync is currently running.", "option-device-name": "Device name", "option-device-name-desc": "This name will be displayed in the activity log. Leave empty to use the default name.", "button-resume": "Resume", "button-pause": "Pause", "option-view-deleted-files": "Deleted files", "option-view-deleted-files-desc": "View and restore deleted files.", "option-sync-log": "Activity log", "option-sync-log-desc": "View recent sync activities for debugging.", "button-view": "View", "button-bulk-restore": "Bulk restore", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Restoring...", "msg-restoring-complete": "Restore complete: {{succeeded}} succeeded and {{failed}} failed.", "option-vault-size": "Storage usage", "option-vault-size-desc": "You are using {{size}} out of {{limit}}", "option-vault-size-unknown": "Unable to retrieve your vault size.", "option-vault-size-loading": "Retrieving your vault size...", "option-over-size": "Vault size over limit", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "View largest files", "msg-largest-files-desc": "These are the remote files that are taking the most space. After deleting attachments, use the purge button to free up remote vault space.", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "Purge", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "Permanently purge deleted attachments from remote vault to save space.", "msg-purge-complete": "Purge complete.", "option-prevent-sleep": "Prevent device sleep", "option-prevent-sleep-desc": "Prevents the device from going to sleep when there are still files to be synced.", "option-selective-sync": "Selective sync", "option-excluded-folders": "Excluded folders", "option-excluded-folder-desc": "Prevent certain folders from being synced.", "option-currently-excluded-folders": " These folders are currently excluded:", "button-manage-excluded-folders": "Manage", "option-sync-image": "Sync images", "option-sync-image-desc": "Sync image files with these extensions: {{extensions}}.", "option-sync-audio": "Sync audio", "option-sync-audio-desc": "Sync audio files with these extensions: {{extensions}}.", "option-sync-video": "Sync videos", "option-sync-video-desc": "Sync video files with these extensions: {{extensions}}.", "option-sync-pdf": "Sync PDFs", "option-sync-pdf-desc": "Sync PDF files.", "option-sync-unsupported": "Sync all other types", "option-sync-unsupported-desc": "Sync unsupported file types.", "option-vault-config-sync": "Vault configuration sync", "option-view-config-files": "Settings version history", "option-view-config-files-desc": "View and restore version history of setting files.", "option-sync-app": "Main settings", "option-sync-app-desc": "Enable to sync editor settings, files & links settings, etc.", "option-sync-appearance": "Appearance settings", "option-sync-appearance-desc": "Sync appearance settings like dark mode, active theme, and enabled snippets.", "option-sync-appearance-data": "Themes and snippets", "option-sync-appearance-data-desc": "Sync downloaded themes and snippets. Whether they are enabled depends on the previous setting.", "option-sync-hotkey": "Hotkeys", "option-sync-hotkey-desc": "Sync custom hotkeys.", "option-sync-core-plugin": "Active core plugin list", "option-sync-core-plugin-desc": "Sync which core plugins are enabled.", "option-sync-core-plugin-data": "Core plugin settings", "option-sync-core-plugin-data-desc": "Sync core plugin settings.", "option-sync-community-plugin": "Active community plugin list", "option-sync-community-plugin-desc": "Sync which community plugins are enabled.", "option-sync-community-plugin-data": "Installed community plugins", "option-sync-community-plugin-data-desc": "Sync installed community plugins (.js, .css, and manifest.json files) and their settings.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync is Obsidian's add-on sync service with end-to-end encryption and version history.", "label-account-required": "To start syncing, please log in or create a new Obsidian account.", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "Sign up", "button-log-in": "Log in", "label-manage-excluded-folders": "Manage excluded folders", "label-number-of-folders-excluded": "Obsidian Sync is currently excluding {{folders}}.", "label-add-excluded-folder": "Exclude a folder", "label-add-excluded-folder-desc": "You can exclude both existing folders and folders that have not been created yet.", "tooltip-remove-excluded-folder": "Remove from excluded list", "label-setup-connection": "Setup connection", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "You are now connected to \"{{name}}\".", "button-start-syncing": "Start syncing", "label-confirm-merge-vault": "Confirm Merge Vault", "msg-vault-has-notes": "Your local vault already contains some notes.", "msg-vault-merge-warning": "If you connect to the remote vault “{{name}}”, notes in your local vault will be merged with notes from your remote vault. In case of conflicts, the most recent version of the note will be preserved.", "tooltip-update-setting-on-all-devices": "Please update this option and restart app on all the devices where you want it to take effect.", "label-sharing-with-users": "This remote vault is currently shared with the following people:", "label-not-sharing": "This remote vault is not currently shared with anyone.", "label-vaults-shared-with-you": "Vaults shared with you", "tooltip-leave-vault-sharing": "Stop collaborating on this vault", "label-leave-vault-confirmation": "Confirm stop vault collaboration", "label-leave-vault-confirmation-details": "This will remove this vault from the list of vaults shared with you. This action cannot be reverted.", "label-leave-vault-confirmation-details-2": "Please contact the owner of the vault if you wish to collaborate on this vault again.", "button-leave": "Leave", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "You need an Obsidian Sync subscription to connect to this vault.", "option-contact-support": "Contact support", "option-contact-support-desc": "If you run into any issues with Obsidian Sync, please contact us so we can help you out! You can reach us at support@obsidian.md.", "button-copy-debug": "Copy debug info", "button-email-support": "Email support", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "You have created the maximum number of remote vaults. In order to create a new remote vault, please upgrade your account or remove an existing one.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "File recovery", "desc": "Restore recent snapshots to recover from accidental data loss. Snapshots are only saved for Markdown files.", "action-open": "Open local history", "option-interval": "Snapshot interval", "option-interval-description": "Minimal interval in minutes between two snapshots.", "option-keep": "History length", "option-keep-description": "Number of days the snapshots are kept for.", "option-open-history": "Snapshots", "option-open-history-description": "View and restore saved snapshots.", "button-view-history": "View", "option-clear": "Clear history", "option-clear-description": "Delete all snapshots.", "button-clear-history": "Clear", "label-clear-warning": "Are you sure you want to delete all snapshots? Files inside your vault will not be affected.", "msg-clear-complete": "Local history cleared.", "label-no-history-found": "Snapshots found.", "placeholder-choose-file": "Choose a file...", "label-select-file": "Please select a file on the left to view snapshots." }, "note-composer": { "name": "Note composer", "desc": "Merge two notes or split one into two.", "option-confirm-file-merge": "Confirm file merge", "option-confirm-file-merge-description": "Prompt before merge two files.", "option-split-replacement-text": "Text after extraction", "option-split-replacement-text-description": "What to show in place of the selected text after extracting it.", "option-choice-split-replacement-text-link": "Link to new file", "option-choice-split-replacement-text-embed": "Embed new file", "option-choice-split-replacement-text-none": "None", "option-template-file": "Template file location", "option-template-file-description": "Template file to use when merging or extracting. Available variables: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, e.g. {{date:YYYY-MM-DD}}.", "command-merge-file": "Merge current file with another file...", "action-merge-file": "Merge entire file with...", "label-no-files": "No files found.", "instruction-navigate": "to navigate", "instruction-merge": "to merge", "instruction-create-new": "to create new", "instruction-merge-at-top": "to merge at top", "instruction-dismiss": "to dismiss", "prompt-select-file-to-merge": "Select file to merge into...", "label-merge-file": "Merge file", "label-confirm-file-merge": "Are you sure you want to merge “{{file}}” into “{{destination}}”? “{{file}}” will be deleted.", "button-merge": "Merge", "command-split-file": "Extract current selection...", "command-extract-heading": "Extract this heading...", "instruction-append": "to move to bottom", "instruction-prepend": "to move to top", "msg-fail-to-fetch-template": "Failed to fetch template file: “{{template}}” not found.", "msg-fail-to-find-heading": "Failed to find heading" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load site.", "label-fail-to-load-desc": "Make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexpected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Canvas", "desc": "Arrange and connect notes on an infinite canvas.", "action-add-note": "Add note from vault", "action-add-media": "Add media from vault", "action-add-card": "Add card", "action-add-website": "Add web page", "action-create-group": "Create group", "action-create-with-size": "Create a card with specific size", "action-convert-to-file": "Convert to file...", "action-drag-to-add-note": "Drag to add note from vault", "action-drag-to-add-media": "Drag to add media from vault", "action-drag-to-add-card": "Drag to add card", "action-edit-label": "Edit label", "action-remove-label": "Remove label", "action-search-file": "Search for file", "action-set-color": "Set colour", "action-align": "Align", "action-align-left": "Align left", "action-align-center": "Align centre", "action-align-right": "Align right", "action-align-top": "Align top", "action-align-middle": "Align middle", "action-align-bottom": "Align bottom", "action-distribute-horizontal-spacing": "Distribute horizontal spacing", "action-distribute-vertical-spacing": "Distribute vertical spacing", "action-justify-horizontally": "Justify horizontally", "action-justify-vertically": "Justify vertically", "action-arrange-horizontally": "Arrange in a row", "action-arrange-vertically": "Arrange in a column", "action-arrange-grid": "Arrange in a grid", "action-export-png": "Export as image", "action-jump-to-group": "Jump to group", "action-set-background": "Set background", "action-edit-background": "Edit background", "action-replace-background": "Replace background", "action-remove-background": "Remove background", "label-no-images": "No images found.", "label-no-media": "No media found.", "label-export-png-desc": "Export “{{title}}” as a PNG file with the settings below.", "label-export-png-dimensions": "Estimated image dimensions: {{dimensions}}", "label-distribute": "Distribute", "label-justify": "Justify", "label-arrange": "Arrange", "label-always": "Always", "label-hover": "On hover", "label-never": "Never", "label-no-section-found": "No section found", "option-wheel-behavior": "Default mouse wheel behaviour", "option-mod-drag-behavior": "Default {{key}} behaviour", "option-show-menu": "Show menu", "option-new-canvas-location": "Default location for new canvas files", "option-new-canvas-location-description": "Where newly created canvas files are placed.", "option-new-canvas-folder-path": "Folder to create new canvas files in", "option-new-canvas-folder-path-description": "Newly created canvas files will appear under this folder.", "option-node-label": "Show card names", "option-snap-to-grid": "Snap to grid", "option-snap-to-grid-desc": "Snap cards to the background grid when moving and resizing.", "option-snap-to-objects": "Snap to objects", "option-snap-to-objects-desc": "Snap cards to nearby objects when moving and resizing.", "option-zoom-breakpoint": "Zoom threshold for hiding card content", "option-zoom-breakpoint-desc": "Lower values will increase performance but hide card content sooner when zooming out.", "option-export-png-show-logo": "Show logo", "option-export-png-show-logo-desc": "This will add an Obsidian logo to the bottom left.", "option-export-png-privacy-mode": "Privacy mode", "option-export-png-privacy-mode-desc": "This will obscure any text on your canvas.", "option-export-png-zoom": "Zoom", "option-export-png-zoom-desc": "A higher zoom will generate a higher resolution image.", "option-export-png-frame": "Viewport", "option-export-png-frame-desc": "Choose to render the entire canvas or just the current visible viewport.", "option-export-png-frame-full": "Full canvas", "option-export-png-frame-viewport": "Viewport only", "option-background-cover": "Cover", "option-background-ratio": "Keep aspect ratio", "option-background-repeat": "Repeat", "action-new-canvas": "New canvas", "action-remove": "Remove", "action-narrow-heading": "Narrow to heading...", "action-narrow-block": "Narrow to block...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Swap file...", "action-change-url": "Change URL...", "action-zoom-to-fit": "Zoom to fit", "action-zoom-to-selection": "Zoom to selection", "action-reload-page": "Reload page", "action-follow-connection": "Follow connection", "command-create-new-canvas": "Create new canvas", "command-convert-to-file": "Convert to file...", "instruction-narrow-heading": "to embed heading", "instruction-narrow-block": "to embed block", "instruction-jump-to-group": "to navigate to group", "prompt-to-narrow": "Type to find file, heading, or block", "label-enter-url": "Enter URL", "label-empty-embed": "“{{linktext}}” could not be found.", "prompt-add-text": "Add text...", "prompt-start-search": "Type to search...", "label-canvas-help": "Canvas help", "label-canvas-settings": "Canvas settings", "label-no-narrow": "Show entire file", "label-show-default-view": "Show default view", "label-readonly": "Read-only", "label-disable-readonly": "Disable read-only", "label-pan": "Pan", "label-pan-horizontal": "Pan horizontally", "label-zoom": "Zoom", "label-select-all": "Select all", "label-add-remove-selection": "Add to / remove from selection", "label-clone-card": "Clone card", "label-constrain-movement-axis": "Constrain card movement to axis", "label-disable-drag-snapping": "Disable snapping while dragging", "label-remove-card": "Remove card", "label-drag-from-below": "Drag from below or double click", "label-longpress": "Touch and hold to add / move / select", "label-drag-pan": "Drag to pan", "label-pinch-zoom": "Pinch to zoom", "label-space-drag-pan": "Space + Drag to pan", "label-scroll-to-zoom": "Scroll to zoom", "label-untitled-group": "Untitled group", "label-line-direction": "Line direction", "label-nondirectional": "Nondirectional", "label-unidirectional": "Unidirectional", "label-bidirectional": "Bidirectional", "label-image": "Image", "label-style": "Style", "msg-no-groups-found": "No groups found", "msg-export-failed-empty-canvas": "Cannot export an empty canvas", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Highlight all", "action-match-diacritics": "Match diacritics", "action-whole-words": "Whole words", "action-show-thumbnails": "Thumbnails", "action-show-outline": "Table of contents", "action-reveal-in-outline": "Reveal page in table of contents", "action-toggle-sidebar": "Toggle sidebar", "action-previous-page": "Previous page", "action-next-page": "Next page", "action-fit-width": "Fit width", "action-fit-height": "Fit height", "action-save-p-d-f-location": "Save current position in document", "action-copy-annotation": "Copy annotation", "action-copy-quote": "Copy as quote", "action-copy-selection-link": "Copy link to selection", "action-copy-annot-link": "Copy link to annotation", "action-copy-section-link": "Copy link to section", "action-copy-section-link-title": "Copy link to “{{title}}”", "action-copy-page-link": "Copy link to page {{page}}", "msg-max-search-results": "{{current}} of over {{limit}} matches", "msg-search-count": "{{current}} of {{total}} match", "msg-search-count_plural": "{{current}} of {{total}} matches", "msg-password-protected": "This PDF is password protected", "msg-invalid-password": "Invalid password", "msg-enter-password": "Enter the password below", "label-of-pages": "of {{count}}", "label-page-of-pages": "({{current}} of {{count}})", "label-spread-single": "Single page", "label-spread-odd": "Two-page (odd)", "label-spread-even": "Two-page (even)", "tooltip-sidebar-options": "Sidebar options", "tooltip-display-options": "Display options", "label-adapt-to-theme": "Adapt to theme", "label-page": "page {{page}}", "page_landmark": "Page {{page}}", "thumb_page_title": "Page {{page}}", "thumb_page_canvas": "Page {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "List", "option-unknown": "Unknown", "option-text": "Text", "option-aliases": "Aliases", "option-tags": "Tags", "option-folder": "Folder", "option-file": "File", "option-date": "Date", "option-datetime": "Date & time", "option-number": "Number", "option-checkbox": "Checkbox" }, "value-suggestion": { "key-link-note": "Type [[", "instruction-link-note": "to link note", "instruction-dismiss": "to dismiss" }, "option-property-type": "Property type", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "Invalid tag name", "msg-invalid-number": "Invalid number", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "Empty", "label-heading": "Properties", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "Add property", "label-type-mismatch-warning": "Type mismatch, expected {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Column", "label-row": "Row", "action-row-after": "Add row after", "action-column-after": "Add column after", "action-row-before": "Add row before", "action-row-up": "Move row up", "action-row-down": "Move row down", "action-column-before": "Add column before", "action-column-left": "Move column left", "action-column-right": "Move column right", "action-duplicate-row": "Duplicate row", "action-duplicate-column": "Duplicate column", "action-delete-row": "Delete row", "action-delete-column": "Delete column", "action-align-left": "Align left", "action-align-center": "Align centre", "action-align-right": "Align right", "action-delete-selection": "Delete cells", "action-clear-selection": "Clear cells", "action-sort-a-z": "Sort by column (A to Z)", "action-sort-z-a": "Sort by column (Z to A)", "label-command": "Table: {{command}}" }, "callout": { "option-type": "Callout type", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Success", "question": "Question", "warning": "Warning", "quote": "Quote", "example": "Example", "none": "None" }, "option-other": "Other...", "option-other-placeholder": "Callout type..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} word", "word-with-count_plural": "{{count}} words", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} character", "character-with-count_plural": "{{count}} characters", "link-with-count": "{{count}} link", "link-with-count_plural": "{{count}} links", "file-with-count": "{{count}} file", "file-with-count_plural": "{{count}} files", "folder-with-count": "{{count}} folder", "folder-with-count_plural": "{{count}} folders", "backlink-with-count": "{{count}} backlink", "backlink-with-count_plural": "{{count}} backlinks", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} property", "properties-with-count_plural": "{{count}} properties", "site-with-count": "{{count}} site", "site-with-count_plural": "{{count}} sites", "plugin-with-count": "{{count}} plugin", "plugin-with-count_plural": "{{count}} plugins", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} theme", "theme-with-count_plural": "{{count}} themes" } } { "setting": { "options": "Options", "plugin": "Plugin", "builtin-plugins": "Core plugins", "plugin-options": "Plugin options", "folder-path-example-placeholder": "Example: folder 1/folder 2", "file-path-example-placeholder": "Example: folder/note", "msg-restart-required": "Changing this option requires a restart to take effect.", "editor": { "name": "Editor", "section-behavior": "Behavior", "section-display": "Display", "option-spellcheck": "Spellcheck", "option-spellcheck-description": "Turn on the spellchecker.", "spellcheck-languages": "Spellcheck languages", "spellcheck-languages-description": "Choose the languages for the spellchecker to use.", "spellcheck-languages-mac-description": "The native spellchecker will automatically detect the language being used for you on macOS.", "spellcheck-dict": "Spellcheck dictionary", "spellcheck-dict-empty": "The spellcheck dictionary is empty.", "option-show-inline-title": "Show inline title", "option-show-inline-title-description": "Displays the filename as an editable title inline with the file contents.", "option-readable-line-length": "Readable line length", "option-readable-line-description": "Limit maximum line length. Less content fits onscreen, but long blocks of text are more readable.", "option-strict-line-break": "Strict line breaks", "option-strict-line-break-description": "Markdown specs ignore single line breaks in reading view. Turn this off to make single line breaks visible.", "option-properties-in-document": "Properties in document", "option-properties-in-document-description": "Choose how properties are displayed at the top of notes. Select “source” to show properties as raw YAML.", "option-properties-hidden": "Hidden", "option-properties-visible": "Visible", "option-properties-source": "Source", "option-auto-pair-brackets": "Auto-pair brackets", "option-auto-pair-brackets-description": "Pair brackets and quotes automatically.", "option-auto-pair-markdown": "Auto-pair Markdown syntax", "option-auto-pair-markdown-description": "Pair symbols automatically for bold, italic, code, and more.", "option-smart-indent-lists": "Smart lists", "option-smart-indent-lists-description": "Automatically set indentation and place list items correctly.", "option-fold-heading": "Fold heading", "option-fold-heading-description": "Lets you fold all content under a heading.", "option-fold-indent": "Fold indent", "option-fold-indent-description": "Lets you fold part of an indentation, such as lists.", "option-default-new-tab-view": "Default view for new tabs", "option-default-new-tab-view-description": "The default view that a new Markdown tab gets opened in.", "option-default-new-tab-view-editing": "Editing view", "option-default-new-tab-view-reading": "Reading view", "option-open-tab-in-foreground": "Always focus new tabs", "option-open-tab-in-foreground-description": "When you open a link in a new tab, switch to it immediately.", "option-default-editing-mode": "Default editing mode", "option-default-editing-mode-description": "The default editing mode a new tab will start with.", "option-default-editing-mode-source": "Source mode", "option-default-editing-mode-live-preview": "Live Preview", "option-show-line-number": "Show line numbers", "option-show-line-number-description": "Show line numbers in the gutter.", "option-indentation-guide": "Show indentation guides", "option-indentation-guide-description": "Show vertical relationship lines between list items.", "option-use-tabs": "Indent using tabs", "option-use-tabs-description": "Use tabs to indent by pressing the “Tab” key. Turn this off to indent using 4 spaces.", "option-tab-size": "Indent visual width", "option-tab-size-description": "Number of spaces a tab character will render as.", "option-rtl": "Right-to-left (RTL)", "option-rtl-description": "Sets the default text direction of notes to right-to-left.", "option-auto-convert-html": "Convert pasted HTML to Markdown", "option-auto-convert-html-description": "Automatically convert HTML to Markdown when pasting and drag-and-drop from web pages. Use Ctrl/Cmd+Shift+V to paste HTML without converting.", "option-vim-key-bindings": "Vim key bindings", "option-vim-key-bindings-description": "Use Vim key bindings when editing.", "option-vim-key-bindings-mobile": "On mobile devices, this setting is per-device and is not synchronized through the config file.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Confirm entering Vim mode", "label-vim-warning": "Vim mode is for efficient text editing but can be quite counter-intuitive. If you're not familiar with Vim, this option might make it look like Obsidian has stopped working.", "label-vim-test": "To verify that you know your way around Vim, please enter the command to quit Vim without saving below:", "label-vim-your-answer": "Your answer", "placeholder-enter-command": "Enter command...", "button-confirm-enable-vim": "Let me enable Vim", "msg-vim-mode-enabled": "Command is correct. Vim mode now enabled.", "msg-vim-mode-not-enabled": "Command is incorrect. Vim mode remains disabled to protect you.", "msg-vim-mode-please-enter-command": "Please enter the command to enable Vim mode" }, "file": { "name": "Files and links", "option-confirm-file-deletion": "Confirm file deletion", "option-confirm-file-deletion-description": "Prompt before file deletion.", "option-delete-destination": "Deleted files", "option-delete-destination-description": "What happens to a file after you delete it.", "option-choice-system-trash": "Move to system trash", "option-choice-vault-trash": "Move to Obsidian trash (.trash folder)", "option-choice-permanent-delete": "Permanently delete", "option-always-update-links": "Automatically update internal links", "option-always-update-links-description": "Turn off to be prompted to update links after renaming a file.", "option-new-note-location": "Default location for new notes", "option-new-note-location-description": "Where newly created notes are placed.", "option-choice-vault-root": "Vault folder", "option-choice-current-folder": "Same folder as current file", "option-choice-specified-folder": "In the folder specified below", "option-new-file-folder-path": "Folder to create new notes in", "option-new-file-folder-path-description": "Newly created notes will appear under this folder.", "option-use-wiki-links": "Use [[Wikilinks]]", "option-use-wiki-links-description": "Auto-generate Wikilinks for [[links]] and ![[images]] instead of Markdown links and images. Disable this option to generate Markdown links instead.", "option-show-unsupported-files": "Detect all file extensions", "option-show-unsupported-files-description": "Show files with any extension even if Obsidian can't open them natively, so that you can link to them and see them in File Explorer and Quick Switcher.", "option-link-autocompleted-format": "New link format", "option-link-autocompleted-format-description": "What links to insert when auto-generating internal links.", "option-choice-shortest-linktext": "Shortest path when possible", "option-choice-relative-path": "Relative path to file", "option-choice-absolute-path": "Absolute path in vault", "option-new-attachment-location": "Default location for new attachments", "option-new-attachment-location-description": "Where newly added attachments are placed.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "In subfolder under current folder", "option-attachment-folder-path": "Attachment folder path", "option-attachment-folder-path-description": "Place newly created attachment files, such as images created via drag-and-drop or audio recordings, in this folder.", "option-attachment-subfolder-path": "Subfolder name", "option-attachment-subfolder-path-description": "If your file is under “vault/folder”, and you set subfolder name to “attachments”, attachments will be saved to “vault/folder/attachments”.", "option-excluded-files": "Excluded files", "option-excluded-files-desc": "Excluded files will be hidden in Search, Graph View, and Unlinked Mentions, less noticeable in Quick Switcher and link suggestions.", "label-no-excluded-filters-applied": "No excluded filter is applied right now. Add one below.", "label-excluded-filters-applied": "Files matching the following filters are currently excluded:", "label-excluded-filter": "Filter", "message-empty-filter": "Filter cannot be empty", "placeholder-excluded-filter": "Enter path or “/regex/”...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Appearance", "option-base-theme": "Base color scheme", "option-base-theme-description": "Choose Obsidian's default color scheme.", "option-accent-color": "Accent color", "option-accent-color-description": "Choose the accent color used throughout the app.", "dark-theme": "Dark", "light-theme": "Light", "system-theme": "Adapt to system", "option-font": "Font", "option-advanced": "Advanced", "option-interface": "Interface", "option-interface-font": "Interface font", "option-interface-font-description": "Set base font for all of Obsidian.", "option-zoom-level": "Zoom level", "option-zoom-level-description": "Controls the overall zoom level of the app.", "option-text-font": "Text font", "option-text-font-description": "Set font for editing and reading views.", "option-monospace-font": "Monospace font", "option-monospace-font-description": "Set font for places like code blocks and frontmatter.", "label-single-font-currently-in-effect": " Currently applied font: ", "label-multiple-fonts-currently-in-effect": " The following fonts are currently applied:", "option-font-placeholder": "Enter font name...", "label-no-custom-font-set": "No custom font is applied right now. Add one below.", "label-font-applied": "The first font from this list that is available on your system will be applied.", "msg-font-not-found": "This font is not detected on your system.", "msg-font-found": "This font is detected on your system.", "label-font-name": "Font name", "option-community-themes": "Community themes", "option-community-themes-description": "Preview and use amazing themes created by the community.", "button-browse-community-themes": "Browse", "option-font-size": "Font size", "option-font-size-description": "Font size in pixels that affects editing and reading views.", "option-font-size-action": "Quick font size adjustment", "option-font-size-action-description": "Adjust the font size using Ctrl + Scroll, or using the trackpad pinch-zoom gesture.", "option-themes": "Themes", "option-manage-themes-description": "Manage installed themes and browse community themes.", "option-theme-button-manage": "Manage", "option-choice-none": "None", "option-native-menus": "Native menus", "option-native-menus-desc": "Menus throughout the app will match the operating system. They will not be affected by your theme.", "button-reload-themes": "Reload themes", "msg-reloaded-themes": "Reloaded custom CSS themes.", "button-open-themes-folder": "Open themes folder", "option-css-snippets": "CSS snippets", "label-no-css-snippets-found": "No CSS snippets found.", "no-snippet-description": "CSS Snippets are stored in “{{path}}”.", "button-reload-snippets": "Reload snippets", "button-open-snippets-folder": "Open snippets folder", "msg-reloaded-snippets": "Reloaded CSS snippets.", "option-toggle-snippet-description": "Apply CSS snippet at “{{path}}”.", "label-installed-themes": "Installed themes", "label-screenshot-unavailable": "Screenshot unavailable", "label-default-theme": "Default", "tooltip-click-to-enlarge": "Click to enlarge", "button-update": "Update", "label-currently-active": "Active", "option-frame-style": "Window frame style", "option-frame-description": "Determines the styling of the title bar of Obsidian windows. Requires a full restart to take effect.", "option-frame-hidden": "Hidden (default)", "option-frame-obsidian": "Obsidian frame", "option-frame-native": "Native frame", "option-custom-icon": "Custom app icon", "option-custom-icon-desc": "Set a custom icon for the app", "button-choose-custom-icon": "Choose custom icon", "option-configure-ribbon": "Ribbon menu configuration", "option-configure-ribbon-desc": "Configure what commands appear in the ribbon menu.", "option-mobile-quick-ribbon-item": "Quick access ribbon item", "option-mobile-quick-ribbon-item-desc": "Choose the behavior of tapping the ribbon button in the navigation menu. By default, this will open a menu showing all your ribbon items.", "option-mobile-quick-ribbon-default": "Open ribbon menu", "button-configure": "Configure", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "Other ribbon items", "label-modal-configuration": "Ribbon menu", "label-modal-configuration-desc": "Choose what items you want to be active in the ribbon. Drag and drop to change the order.", "option-show-view-header": "Show tab title bar", "option-show-view-header-desc": "Display the header at the top of every tab.", "msg-updates-found": "Found {{count}} theme to update.", "msg-updates-found_plural": "Found {{count}} themes to update.", "button-check-for-updates": "Check for updates", "button-view-updates": "View updates", "button-update-all-themes": "Update all", "label-current-themes": "Current community themes", "label-currently-installed": "You currently have {{count}} theme installed.", "label-currently-installed_plural": "You currently have {{count}} themes installed." }, "hotkeys": { "name": "Hotkeys", "option-search": "Search hotkeys", "option-search-desc": "Showing {{count}} hotkey. ", "option-search-desc_plural": "Showing {{count}} hotkeys. ", "option-search-conflict": "{{count}} command with conflicts.", "option-search-conflict_plural": "{{count}} commands with conflicts.", "prompt-filter": "Filter...", "tooltip-delete-hotkey": "Delete hotkey", "label-waiting-for-hotkey-press": "Press hotkey...", "label-show-all": "All", "label-show-unassigned": "Unassigned", "label-show-assigned": "Assigned", "label-show-user-assigned": "Assigned by me", "tooltip-restore-default": "Restore default", "tooltip-customize-command": "Customize this command", "tooltip-hotkey-single-conflict": "This hotkey conflicts with “{{command}}”", "tooltip-hotkey-multiple-conflicts": "This hotkey conflicts with {{count}} other commands", "label-blank-hotkey": "Blank" }, "about": { "name": "General", "label-commercial-license": "Commercial license", "label-license-key": "License key", "license-key-placeholder": "Your license key...", "label-activate-license": "Activate license", "button-activate": "Activate", "label-unknown-version": "Unknown", "label-current-version": "Current version: ", "label-install-version": "(Installer version: {{version}})", "label-up-to-date": "Obsidian is up to date!", "label-read-changelog": "Read the changelog.", "label-manual-update-required": "To support the latest features and to receive the latest security patches, Obsidian needs a major installer update. You need to manually download and reinstall Obsidian.", "label-new-version-ready": "A new version is ready to be installed. ", "label-disabled-updates": "Updates are disabled.", "button-relaunch": "Relaunch", "button-check-for-updates": "Check for updates", "option-auto-update": "Automatic updates", "option-auto-update-description": "Turn this off to prevent the app from checking for updates.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Help", "option-get-help-description": "Learn how to use Obsidian and get help from the community.", "button-open": "Open", "option-language": "Language", "option-language-description": "Change the display language.", "option-insider-build": "Receive early access versions", "option-insider-build-description": "Auto-update to the latest early access version. These versions include new features but may be less stable.", "option-advanced": "Advanced", "option-hw-acceleration": "Hardware acceleration", "option-hw-acceleration-description": "Turns on Hardware Acceleration, which uses your GPU to make Obsidian smoother.", "option-hw-acceleration-warning": "If you turn this off, app performance will be severely degraded.", "option-config-location": "Override config folder", "option-config-location-description": "Use a different config folder than the default one. Must start with a dot.", "option-config-location-warning": "Config location must be a valid folder name that starts with a dot.", "label-license": "License", "label-your-commercial-license-key": "Your commercial license key is “{{key}}”.", "label-commercial-license-info": "Registered to “{{company}}” for {{seats}} users. Valid until {{expiry}}.", "label-validating-commercial-license": "Validating...", "label-invalid-commercial-license": "License invalid: ", "button-remove-commercial-license": "Remove", "option-catalyst": "Catalyst license", "option-catalyst-desc": "You currently have the {{tier}} Catalyst license. Thanks for your support!", "option-catalyst-desc-no-license": "You don't have a Catalyst license. Catalyst is a one-time donation that helps Obsidian remain 100% user-supported and gives you early access to new features.", "label-app": "App", "label-add-own-language": "Learn how to add a new language to Obsidian." }, "account": { "name": "Account", "option-your-account": "Your account", "option-your-account-desc": "You're currently signed in as {{name}} ({{email}}).", "option-your-account-desc-no-login": "You're not logged in right now. An account is only needed for Obsidian Sync, Obsidian Publish, and early access versions.", "label-insider": "Insider", "label-supporter": "Supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Upgrade", "option-commercial-license": "Commercial license", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Purchase", "button-log-out": "Log out", "label-log-in": "Log in", "label-sign-up": "Sign up", "label-email": "Email", "placeholder-email": "Your email...", "label-name": "Full name", "label-password": "Password", "placeholder-password": "Your password...", "label-forgot-password": "Forgot password?", "button-login": "Login", "message-empty-email": "Email cannot be empty.", "message-invalid-email": "Email is not valid.", "message-empty-password": "Password cannot be empty.", "message-login-failed": "Login failed, please double check your email and password.", "message-signup-failed": "Failed to sign up", "label-no-account": "Don't have an account? ", "link-sign-up-now": "Sign up now", "label-mfa-code": "6-digit 2FA code", "mfa-wrong-format": "The 2FA authenticator code must be 6 digits.", "mfa-verification-failed": "2FA code is incorrect, please double check your authenticator app." }, "core-plugin": { "plugin-list": "Plugin list", "option-search-plugin": "Search core plugins", "option-search-plugin-description": "Filter plugins by name or description.", "placeholder-search-plugin": "Search plugins..." }, "third-party-plugin": { "name": "Community plugins", "option-restricted-mode": "Restricted mode", "option-restricted-mode-description": "Restricted mode is off. Turn on to disable community plugins.", "button-turn-on": "Turn on and reload", "option-browse-community-plugins": "Community plugins", "option-browse-community-plugins-description": "Browse and install community plugins made by our amazing community.", "button-browse": "Browse", "label-exit-restricted-mode": "Exit Restricted Mode", "label-exit-restricted-mode-description-1": "Community plugins, like any other software you install, could potentially cause data integrity and security issues.", "label-exit-restricted-mode-description-2": "Plugin security is important to us. Here's what we do:", "label-exit-restricted-mode-description-3": "Despite our efforts, there is still a small chance that a community plugin might misbehave.", "label-code-review": "Initial code review", "label-code-review-desc": "Plugins in the official community directory undergo an initial code review by our team before they are listed.", "label-open-source": "Open source", "label-open-source-desc": "Most plugins are open source on GitHub, so you can inspect the code yourself.", "label-peer-audit": "Peer audit", "label-peer-audit-desc": "We have a large community of developers who watch out for each other.", "label-report-mechanism": "Report mechanism", "label-report-mechanism-desc": "We follow up and remove faulty plugins upon user report.", "label-exit-restricted-mode-disable-confirmation": "Would you like to exit Restricted Mode to enable community plugins? We strongly recommend making backups of your data before doing so.", "label-learn-more": "Learn more about plugin security", "button-turn-on-community-plugins": "Turn on community plugins", "label-trust-author": "Do you trust the author of this vault?", "label-trust-author-description-1": "You're opening this vault for the first time, and it comes with some plugins.", "label-trust-author-description-2": "If you obtained this vault from someone else, please note that plugins of unknown origin might pose security risks.", "label-trust-author-description-3": "If you do not fully trust the author of this vault, we recommend staying in Restricted Mode, so the plugins in this vault do not run.", "button-enable-plugins": "Trust author and enable plugins", "button-dont-trust-author": "Browse vault in Restricted Mode", "placeholder-community-plugins": "Search community plugins...", "msg-failed-load-plugins": "Failed to load community plugins.", "label-installed": "Installed", "button-install": "Install", "button-enable": "Enable", "button-disable": "Disable", "button-copy-share-link": "Copy share link", "button-donate": "Donate", "label-no-results-found": "No results found.", "label-no-recent-files-found": "No recent files found. Type to search...", "msg-failed-to-load-manifest": "Failed to load plugin manifest.", "label-version": "Version: {{version}}", "label-currently-installed-version": " (currently installed: {{version}})", "label-by-author": "By ", "label-repository": "Repository: ", "label-last-update": "Last update: ", "tooltip-view-last-update": "View the latest update", "label-unsupported": "This plugin does not support your device.", "button-update": "Update", "label-no-readme": "This plugin did not provide a README file.", "msg-installing-plugin": "Installing plugin “{{name}}”...", "msg-failed-to-install-plugin": "Failed to install plugin “{{name}}”.", "msg-successfully-installed-plugin": "Successfully installed plugin “{{name}}”.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Installed plugins", "button-reload-plugins": "Reload plugins", "msg-reloaded-third-party-plugins": "Reloaded third-party plugins.", "label-uninstall": "Uninstall", "label-uninstall-plugin": "Uninstall plugin", "label-uninstall-plugin-confirmation": "Are you sure you want to uninstall this plugin? This will delete the folder of the plugin.", "button-open-plugins-folder": "Open plugins folder", "button-check-for-updates": "Check for updates", "button-update-all-plugins": "Update all", "label-current-plugins": "Current plugins", "label-currently-installed": "You currently have {{count}} plugin installed.", "label-currently-installed_plural": "You currently have {{count}} plugins installed.", "msg-no-updates-found": "No plugin updates found.", "msg-updates-found": "Found {{count}} plugin to update.", "msg-updates-found_plural": "Found {{count}} plugins to update.", "msg-update-plugin": "Update to version {{version}}", "option-search-installed-plugin": "Search installed plugins", "option-search-installed-plugin-description": "Filter installed plugins by name or description.", "placeholder-search-installed-plugin": "Search installed plugins...", "show-installed-only": "Show installed only", "label-donate-modal-title": "Donate to support {{name}}", "label-donate-modal-text1": "Plugin developers are community volunteers who make amazing things out of passion. If you find this plugin useful, please consider funding its development.", "label-donate-modal-text2": "100% of your contribution will go to the plugin developer; Obsidian does not take a cut. The funding platform they choose might charge a fee.", "label-donate-modal-text3": "Thanks for your generous support!", "label-support-this-plugin": "Support this plugin:", "label-search-summary": "Showing {{pluginCount}}:", "label-by-popularity": "Most downloaded", "label-by-released": "Recently released", "label-by-updated": "Recently updated", "label-alphabetical": "Alphabetical", "label-last-updated": "Updated {{time}}" }, "mobile-toolbar": { "name": "Toolbar", "option-configure-quick-action": "Configure mobile Quick Action", "option-configure-quick-action-description": "Configure which command to trigger when pulling down from the top. The current command is set to “{{command}}”.", "msg-missing-quick-action": "Action not configured", "button-configure": "Configure", "placeholder-select-quick-action": "Select Quick Action...", "quick-action-disabled": "None", "manage-toolbar-options": "Manage toolbar options", "option-internal-link": "Add internal link", "option-internal-embed": "Add embed", "option-tag": "Add tag", "option-heading": "Toggle heading", "option-strikethrough": "Toggle strikethrough", "option-highlight": "Toggle highlight", "option-code": "Toggle code", "option-blockquote": "Toggle blockquote", "option-inline-math": "Toggle inline math", "option-math-block": "Toggle math block", "option-markdown-link": "Add Markdown link", "option-bullet-list": "Toggle bullet list", "option-numbered-list": "Toggle numbered list", "option-indent-list": "Indent list item", "option-unindent-list": "Unindent list item", "option-undo": "Undo", "option-redo": "Redo", "option-move-caret-up": "Move caret up", "option-move-caret-down": "Move caret down", "option-move-caret-left": "Move caret left", "option-move-caret-right": "Move caret right", "option-first-line": "Go to first line", "option-last-line": "Go to last line", "option-toggle-keyboard": "Toggle keyboard", "option-configure-toolbar": "Configure mobile toolbar", "option-added-options": "Added options", "option-more-toolbar-options": "More toolbar options", "option-attach": "Insert attachment", "option-add-command": "Add global command", "option-add-command-description": "Select any global command to add to the toolbar." } }, "editor": { "search": { "placeholder-find": "Find...", "placeholder-replace": "Replace...", "label-exit-search": "Exit search", "label-next": "Next", "label-previous": "Previous", "label-find-all": "Find all", "label-replace": "Replace", "label-replace-all": "Replace all" }, "link-suggestion": { "label-type-hash": "Type #", "label-link-heading": "to link heading", "label-type-block": "Type ^", "label-link-block": "to link blocks", "label-type-pipe": "Type |", "label-change-display-text": "to change display text", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "No match found", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "No suggestions...", "add-to-dictionary": "Add to dictionary" }, "menu": { "edit-link": "Edit link", "edit-tag": "Edit tag", "label-edit-block": "Edit this block", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "No heading", "label-heading-level": "Heading {{level}}" }, "print-modal": { "title": "Export to PDF", "caption": "Export “{{filename}}” to PDF with the settings below.", "setting-page-size": "Page size", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Include file name as title", "setting-landscape": "Landscape", "setting-margin": "Margin", "setting-margin-default": "Default", "setting-margin-minimal": "Minimal", "setting-margin-none": "None", "setting-downscale-percent": "Downscale percent", "button-export-to-pdf": "Export to PDF" }, "link-popover": { "tooltip-follow-link": "Follow link", "tooltip-open-link": "Open link", "tooltip-search-tag": "Search tag" } }, "interface": { "embed-cannot-find": "Cannot find:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Open in default app", "empty-sidebar": "The sidebar is empty, try dragging a tab here.", "sidebar-expand": "Expand", "sidebar-collapse": "Collapse", "msg-fail-to-save-file": "Failed to save file “{{filepath}}”. {{message}}. Make a backup of the contents of this file now to avoid losing data.", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "No file", "msg-file-changed": "“{{file}}” has been modified externally, merging changes automatically.", "switch-vault": "Open another vault", "manage-vaults": "Manage vaults...", "help": "Help", "settings": "Settings", "drag-to-rearrange": "Drag to rearrange", "msg-switched-to-read": "Switched default view mode to reading view.", "msg-switched-to-edit": "Switched default view mode to editing view.", "msg-upgrade-installer": "To use this feature, please re-install with latest installer available from our website.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Restore default settings", "label-copy": "Copy to clipboard", "label-copy-short": "Copy", "copied_generic": "Copied to your clipboard", "copied": "{{item}} copied to your clipboard", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Opened file “{{path}}”", "msg-file-not-found-through-uri": "File “{{name}}” not found.", "delete-action-short-name": "Delete", "msg-indexing": "Indexing vault...", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indexing complete.", "msg-sandbox-vault": "This is a sandbox vault.\nChanges you make in this vault will be lost.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Enter to create", "label-update-available": "Update Available", "label-debug-info": "Debug info", "button-learn-more": "Learn more", "button-not-now": "Not now", "button-add": "Add", "button-manage": "Manage", "label-new-tab": "New tab", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "This tab is currently busy, please try again later", "formatting": { "label-formatting": "Format", "label-paragraph": "Paragraph", "label-insert": "Insert", "insert-link": "Add link", "insert-external-link": "Add external link", "insert-callout": "Callout", "insert-horizontal-rule": "Horizontal rule", "insert-code-block": "Code block", "insert-math-block": "Math block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comments": "Comment", "toggle-highlight": "Highlight", "toggle-italics": "Italic", "toggle-strikethrough": "Strikethrough", "toggle-math": "Math", "toggle-bullet-list": "Bullet list", "toggle-checklist": "Task list", "toggle-numbered-list": "Numbered list", "set-heading": "Heading {{level}}", "no-heading": "Body", "clear": "Clear formatting", "toggle-quote": "Quote" }, "empty-state": { "no-file-open": "No file is open", "create-new-file": "Create new note", "go-to-file": "Go to file", "see-recent-files": "See recent files", "close": "Close", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Plugin no longer active", "unknown-pane-desc": "The plugin that created this tab ({{type}}) has gone away." }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Current view: editing", "read-view": "Current view: reading", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "Click to edit", "switch-to-read-view": "Click to read", "mod-click-open-new-tab": "{{key}}+Click to open to the right", "find": "Find...", "replace": "Replace...", "edit": "Edit", "remove": "Remove", "rename": "Rename", "preview": "Preview", "more-options": "More options", "close": "Close", "close-all": "Close all", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Close others", "close-after": "Close tabs after", "pin": "Pin", "unpin": "Unpin", "unlink-tab": "Unlink tab", "link-tab": "Link with tab...", "toggle-source-mode": "Source mode", "toggle-reading-view": "Reading view", "add-property": "Add file property", "delete-file": "Delete file", "create-file": "Create this file", "open-link": "Open link", "open-in-new-tab": "Open in new tab", "open-to-the-right": "Open to the right", "copy-url": "Copy URL", "copy": "Copy", "cut": "Cut", "paste": "Paste", "paste-as-plain-text": "Paste as plain text", "lookup-selection": "Look up “{{selection}}”", "select-all": "Select all", "rename-heading": "Rename this heading...", "rename-blockid": "Rename this block ID...", "open-in-new-window": "Open in new window", "move-to-new-window": "Move to new window", "open-in-browser": "Open external link", "stack-tabs": "Stack tabs", "unstack-tabs": "Unstack tabs", "open-linked-view": "Open linked view" }, "tooltip": { "click-to-expand": "Click to expand", "click-to-collapse": "Click to collapse", "alias": "Alias", "not-created-yet": "Not created yet, select to create" }, "start-screen": { "label-version": "Version", "label-create-local-vault": "Create local vault", "option-open-folder-as-vault": "Open folder as vault", "option-open-folder-as-vault-description": "Choose an existing folder of Markdown files.", "option-create-vault": "Create new vault", "option-create-vault-description": "Create a new Obsidian vault under a folder.", "option-connect-obsidian-sync": "Open vault from Obsidian Sync", "option-connect-obsidian-sync-description": "Set up a synced vault with existing remote vault.", "option-new-vault-name": "Vault name", "option-new-vault-name-description": "Pick a name for your awesome vault.", "option-new-vault-location": "Location", "option-new-vault-location-description": "Pick a place to put your new vault.", "label-new-vault-location-preview": "Your new vault will be placed in: ", "option-reveal-vault-in-explorer": "Reveal vault in system explorer", "option-reveal-vault-in-explorer-mac": "Reveal vault in Finder", "option-rename-vault": "Rename vault...", "option-copy-vault-i-d": "Copy vault ID", "msg-error-rename-exists": "There is already a vault with this name.", "msg-error-nested": "Cannot move vault into a subfolder of itself.", "msg-error-rename-open": "Can't rename a currently open vault.", "msg-rename-failed": "Failed to rename vault.", "msg-rename-success": "Successfully renamed vault.", "option-move-vault": "Move vault...", "msg-move-select-dest": "Select destination folder", "msg-error-move-exists": "There is already a vault at the destination.", "msg-error-move-open": "Can't move a currently open vault.", "msg-move-failed": "Failed to move vault.", "msg-move-success": "Successfully moved vault.", "option-remove": "Remove from list", "button-quick-start": "Quick start", "button-open": "Open", "button-browse": "Browse", "button-connect": "Connect", "button-create-vault": "Create", "button-back": "Back", "msg-empty-vault-name": "Vault name cannot be empty.", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "Please pick a valid folder.", "msg-failed-to-create-vault": "Failed to create vault.", "msg-failed-to-create-vault-at-location": "Could not create vault at the given location. Please double check the location and permission.", "msg-error-failed-to-open-vault": "Failed to open.", "msg-error-remove-current-open-vault": "Can't remove a currently open vault.", "option-get-help": "Get Help", "option-user-email": "Email", "placeholder-your-email": "Your email...", "option-user-password": "Password", "placeholder-your-password": "Your password...", "button-sign-in": "Sign in", "button-setup": "Setup", "option-connect-vault-desc": "Create a synced vault on this device.", "tooltip-own-vault": "This is a remote vault owned by you.", "tooltip-shared-vault": "This is a remote vault shared with you.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Continue without sync", "option-skip-short": "Skip", "label-vault-create": "Configure your new vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Welcome", "welcome-file-content": "This is your new *vault*.\n\nMake a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nWhen you're ready, delete this note and make the vault your own." }, "drag-and-drop": { "insert-link-here": "Insert link here", "insert-links-here": "Insert links here", "move-into-folder": "Move into “{{folder}}”", "star-this-file": "Star this file", "star-these-files": "Star these files", "open-in-this-tab": "Open in this tab", "open-as-tab": "Open as new tab" }, "window": { "maximize": "Maximize", "minimize": "Minimize", "restore-down": "Restore down", "close-window": "Close window", "go-back": "Go back", "go-forward": "Go forward" }, "start-up": { "loading-obsidian": "Loading Obsidian...", "obsidian-load-error": "An error occurred while loading Obsidian.", "button-reload-app": "Reload app", "button-reload-app-in-safe-mode": "Reload app in Restricted Mode", "button-open-another-vault": "Open another vault", "loading-plugins": "Loading plugins...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Loading vault...", "msg-failed-to-load-vault": "Failed to load vault: ", "loading-cache": "Loading cache...", "loading-workspace": "Loading workspace..." }, "mobile": { "action-import": "Import into vault", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "Choose a file...", "action-insert-text-into-file": "{{filename}}", "action-insert-link-into-file": "Insert link into “{{filename}}”", "action-show-switcher": "Show tab overview", "msg-importing": "Importing...", "msg-import-success": "Import success", "msg-failed-to-import-file": "Failed to import file “{{filename}}”", "msg-back-again-to-exit": "Press back again to exit.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Official help site", "label-official-help-site-desc": "Read the official help documentation of Obsidian, available in multiple languages.", "action-visit": "Visit", "label-discord-chat": "Discord chat", "label-discord-chat-desc": "Discord is the best place to chat with other experienced Obsidian users from around the world.", "action-join": "Join", "label-forum": "Official forum", "label-forum-desc": "Help each other, post feature requests, report bugs, and have in-depth discussions about knowledge management.", "label-sandbox-vault": "Sandbox vault", "label-sandbox-vault-desc": "Play around and experiment with various features. Please note your changes will not be saved." } }, "commands": { "save-file": "Save current file", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Follow link under cursor", "open-cursor-link-in-new-tab": "Open link under cursor in new tab", "open-cursor-link-to-the-right": "Open link under cursor to the right", "open-cursor-link-in-new-window": "Open link under cursor in new window", "navigate-tab-above": "Focus on tab group above", "navigate-tab-below": "Focus on tab group below", "navigate-tab-left": "Focus on tab group to the left", "navigate-tab-right": "Focus on tab group to the right", "toggle-pin": "Toggle pin", "split-right": "Split right", "split-down": "Split down", "toggle-stacked-tabs": "Toggle stacked tabs", "navigate-back": "Navigate back", "navigate-forward": "Navigate forward", "use-dark-mode": "Use dark mode", "use-light-mode": "Use light mode", "change-theme": "Change theme", "search-current-file": "Search current file", "search-replace-current-file": "Search & replace in current file", "add-property": "Add file property", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Clear file properties", "open-settings": "Open settings", "open-help": "Open help", "toggle-edit": "Toggle editing/reading view", "toggle-source-mode": "Toggle Live Preview/Source mode", "delete-current-file": "Delete current file", "new-tab": "New tab", "show-trash": "Show trash", "close-all-tabs": "Close all tabs", "close-active-tab": "Close current tab", "close-others-in-tab-group": "Close others in tab group", "close-other-tabs": "Close all other tabs", "close-tab-group": "Close this tab group", "toggle-left-sidebar": "Toggle left sidebar", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "Toggle right sidebar", "toggle-default-new-tab-mode": "Toggle default mode for new tabs", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "Focus on last note", "toggle-fold-properties": "Toggle fold properties in current file", "toggle-fold": "Toggle fold on the current line", "fold-all": "Fold all headings and lists", "unfold-all": "Unfold all headings and lists", "fold-more": "Fold more", "fold-less": "Fold less", "swap-line-up": "Move line up", "swap-line-down": "Move line down", "remove-heading": "Remove heading", "toggle-heading": "Set as heading {{level}}", "toggle-bold": "Toggle bold", "toggle-italics": "Toggle italic", "toggle-highlight": "Toggle highlight", "toggle-comments": "Toggle comment", "clear-formatting": "Clear formatting", "insert-link": "Insert Markdown link", "toggle-spellcheck": "Toggle spellcheck", "delete-paragraph": "Delete paragraph", "toggle-checklist": "Toggle checkbox status", "cycle-list-checklist": "Cycle bullet/checkbox", "insert-callout": "Insert callout", "insert-code-block": "Insert code block", "insert-math-block": "Insert math block", "insert-horizontal-rule": "Insert horizontal rule", "insert-table": "Insert table", "insert-footnote": "Insert footnote", "edit-file-title": "Rename file", "copy-path": "Copy file path", "copy-url": "Copy Obsidian URL", "export-pdf": "Export to PDF...", "reload": "Reload app without saving", "undo-close-tab": "Undo close tab", "context-menu": "Show context menu under cursor", "show-debug-info": "Show debug info", "open-sandbox-vault": "Open sandbox vault", "always-on-top": "Toggle window always on top", "zoom-in": "Zoom in", "zoom-out": "Zoom out", "reset-zoom": "Reset zoom", "toggle-preview": "Toggle reading view", "move-to-new-window": "Move current tab to new window", "open-in-new-window": "Open current tab in new window", "rename-current-file": "Rename current file", "go-to-prev-tab": "Go to previous tab", "go-to-next-tab": "Go to next tab", "go-to-last-tab": "Go to last tab", "go-to-nth-tab": "Go to tab #{{n}}", "show-release-notes": "Show release notes" }, "dialogue": { "label-link-affected": "This will affect {{links}} in {{files}}.", "msg-updated-links": "Updated {{links}} in {{files}}.", "label-update-links": "Update links", "label-confirm-update-link-to-file": "Do you want to update internal links that link to this file?", "button-always-update": "Always update", "button-just-once": "Just once", "button-do-not-update": "Do not update", "label-confirm-deletion": "Are you sure you want to delete “{{filename}}”?", "label-move-to-system-trash": "It will be moved to your system trash.", "label-move-to-vault-trash": "It will be moved to your Obsidian trash, which is located in the “.trash” hidden folder in your vault.", "label-permanent-delete": "The file will be permanent deleted.", "label-non-empty-folder": "This folder is not empty.", "label-delete-folder-warning": "If you continue, all files inside this folder will be deleted.", "label-delete-folder": "Delete folder", "button-delete": "Delete", "button-delete-do-not-ask-again": "Delete and don't ask again", "label-do-not-ask-again": "Don't ask again", "label-existing-backlink": "There is currently {{count}} link pointing to this note.", "label-existing-backlink_plural": "There are currently {{count}} links pointing to this note.", "label-delete-file": "Delete file", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Manage", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Cancel", "button-download": "Download", "button-done": "Done", "button-save": "Save", "button-stop": "Stop", "button-continue": "Continue", "button-choose": "Choose", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Preparing PDF...", "label-rename-file": "Note title", "label-rename-file-generic": "File name", "label-new-name": "New name", "msg-rename-success": "Successfully renamed file.", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Rename heading", "label-rename-blockid": "Rename block ID" }, "menu-items": { "new-file": "New Note", "new-file-to-the-right": "New Note to the Right", "new-window": "New Window", "open-switcher": "Open Quickly...", "open-vault": "Open Vault...", "close-tab": "Close Tab", "close-window": "Close Window", "find": "Find", "replace": "Replace", "insert-callout": "Callout", "insert-markdown-link": "Markdown Link", "insert-wikilink": "Link", "set-heading": "Heading {{level}}", "no-heading": "Body", "insert-quote": "Quote", "export-pdf": "Export To PDF...", "insert-attachment": "Insert Attachment...", "insert-codeblock": "Code Block", "insert-math-block": "Math Block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bullet-list": "Bullet List", "toggle-numbered-list": "Numbered List", "toggle-checklist": "Task List", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comment": "Comment", "toggle-italics": "Italics", "toggle-inline-math": "Math", "toggle-highlight": "Highlight", "toggle-strikethrough": "Strikethrough", "toggle-comments": "Comment", "folding-menu": "Folding", "fold-all": "Fold All", "unfold-all": "Unfold All", "fold-more": "Fold More", "fold-less": "Fold Less", "source-mode": "Source Mode", "reading-view": "Reading View", "show-debug-info": "Show Debug Info", "open-sandbox": "Open Sandbox Vault", "navigate-back": "Navigate Back", "navigate-forward": "Navigate Forward", "toggle-left-sidebar": "Left Sidebar", "toggle-right-sidebar": "Right Sidebar", "toggle-ribbon": "Ribbon", "split-right": "Split Right", "split-down": "Split Down", "release-notes": "Release Notes" }, "plugins": { "name": "Plugins", "file-explorer": { "name": "Files", "desc": "Browse the files and folders in your vault.", "action-open": "Open file explorer", "action-show": "Show file explorer", "action-create-note": "Create new note", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Create new note in current tab", "action-create-note-to-the-right": "Create note to the right", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-new-note": "New note", "action-new-folder": "New folder", "action-change-sort": "Change sort order", "action-reveal-file": "Reveal file in navigation", "action-reveal-active-file": "Reveal current file in navigation", "command-make-a-copy": "Make a copy of the current file", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Move current file to another folder", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Move file to...", "action-move-folder": "Move folder to...", "action-move-items": "Move {{count}} items to...", "prompt-type-folder": "Type a folder", "label-no-folders": "No existing folders found.", "instruction-navigate": "to navigate", "instruction-move": "to move", "instruction-create": "to create", "instruction-dismiss": "to dismiss", "label-sort-a-to-z": "File name (A to Z)", "label-sort-z-to-a": "File name (Z to A)", "label-sort-new-to-old": "Modified time (new to old)", "label-sort-old-to-new": "Modified time (old to new)", "label-sort-created-old-to-new": "Created time (old to new)", "label-sort-created-new-to-old": "Created time (new to old)", "menu-opt-new-note": "New note", "menu-opt-new-folder": "New folder", "menu-opt-rename": "Rename...", "menu-opt-delete": "Delete", "menu-opt-make-copy": "Make a copy", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "File name cannot contain any of these characters: ", "msg-unsafe-characters": "Links will not work with file names containing any of these characters: ", "msg-file-already-exists": "There's already a file with the same name", "msg-empty-file-name": "File name cannot be empty.", "msg-bad-dotfile": "File name must not start with a dot.", "tooltip-modified-time": "Last modified at {{time}}", "tooltip-created-time": "Created at {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Untitled", "label-untitled-folder": "Untitled", "msg-set-attachment-folder": "Attachments will be saved to “{{path}}” from now on." }, "search": { "name": "Search", "desc": "Search for a keyword in all the notes.", "action-open-search": "Search in all files", "label-collapse-results": "Collapse results", "label-match-case": "Match case", "label-explain-search-term": "Explain search terms", "label-more-context": "Show more context", "label-result-count": "{{count}} result", "label-result-count_plural": "{{count}} results", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Search settings", "prompt-start-search": "Search...", "label-match-text": "Matches text: ", "label-match-regex": "Matches regex: ", "label-match-exact-text": "Contains exact text: ", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "Contains property:", "label-match-all": "Match all of: ", "label-match-any": "Match any of: ", "label-excluding": "Excluding: ", "label-case-sensitive": "Case sensitive", "label-case-insensitive": "Case insensitive", "label-match-file-path": "Match file path: ", "label-match-file-name": "Match file name: ", "label-match-content": "Match file content: ", "label-match-task": "Match task: ", "label-match-task-todo": "Match task (todo): ", "label-match-task-done": "Match task (done): ", "label-match-line": "Match line: ", "label-match-block": "Match block: ", "label-match-section": "Match section: ", "label-match-tag": "Match tag: ", "label-no-matches": "No matches found.", "matches-with-count": "... and {{count}} more match.", "matches-with-count_plural": "... and {{count}} more matches.", "label-copy-search-results": "Copy search results", "button-copy-results": "Copy results", "msg-successfully-copied": "Results copied to your clipboard.", "option-show-path": "Show path", "option-show-path-description": "Display full path of the file rather than just the file name.", "option-link-style": "Link style", "option-link-style-description": "Optionally turn each file result in to a link.", "option-choice-link-style-none": "None", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Markdown link", "option-list-prefix": "List prefix", "option-list-prefix-description": "Optionally add a list item prefix to each file result.", "option-choice-list-style-none": "None", "option-choice-list-style-dash": "Dash (-)", "option-choice-list-style-asterisk": "Asterisk (*)", "option-choice-list-style-numbered": "Numbered", "tooltip-clear-search": "Clear search", "label-search-options": "Search options", "label-properties-group": "Properties", "label-tags-group": "Tags", "tooltip-read-more": "Read more", "label-history": "History", "tooltip-clear-history": "Clear search history", "label-path-option-description": "match path of the file", "label-file-name-option-description": "match file name", "label-tag-option-description": "search for tags", "label-line-option-description": "search keywords on same line", "label-section-option-description": "search keywords under same heading", "label-property-option-description": "match property", "menu-opt-search-for": "Search for “{{keyword}}”", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "Quick switcher", "desc": "Jump to other files with your keyboard.", "short-name": "Switcher", "action-open": "Open quick switcher", "instruction-navigate": "to navigate", "instruction-open": "to open", "instruction-open-in-new-tab": "to open in new tab", "instruction-open-to-the-right": "to open to the right", "instruction-create": "to create", "instruction-dismiss": "to dismiss", "instruction-select": "to select", "label-no-note-create-new": "No notes found. Enter to create a new one.", "prompt-type-file-name": "Find or create a note...", "label-enter-to-create": "Enter to create", "tooltip-not-created-yet": "Not created yet, select to create", "option-show-existing-only": "Show existing only", "option-show-existing-only-description": "Only show results from existing files. Links to files that are not yet created will be hidden.", "option-show-attachments": "Show attachments", "option-show-attachments-desc": "Show attachment files like images, videos, and PDFs.", "option-show-all-file-types": "Show all file types", "option-show-all-file-types-desc": "Show all files including ones that Obsidian can't open. The file will be opened with the default app for that file type." }, "graph-view": { "name": "Graph view", "desc": "Visualize the relationships between your notes.", "action-open": "Open graph view", "action-open-local": "Open local graph", "action-copy-screenshot": "Copy screenshot", "tab-title": "Graph of {{displayText}}", "label-filters": "Filters", "prompt-filter-nodes": "Search files...", "option-depth": "Depth", "option-depth-description": "Show nodes this number of links away", "option-neighbor-links": "Neighbor links", "option-neighbor-links-description": "Show links between neighbors", "option-forelinks": "Outgoing links", "option-forelinks-description": "Show links to other files", "option-backlinks": "Incoming links", "option-backlinks-description": "Show links from other files", "option-show-tags": "Tags", "option-show-tags-description": "Tags are linked to the files that contain them", "option-show-attachments": "Attachments", "option-show-attachments-description": "Show attachments", "option-show-existing-files-only": "Existing files only", "option-show-existing-files-only-description": "When enabled, links to nonexistent files are not shown", "option-show-orphans": "Orphans", "option-show-orphans-description": "Show files that are not linked to any other file", "label-display": "Display", "option-show-arrows": "Arrows", "option-show-arrows-description": "Show arrows when zoomed in", "option-text-fade": "Text fade threshold", "option-node-size": "Node size", "option-link-thickness": "Link thickness", "label-forces": "Forces", "option-center-force": "Center force", "option-link-force": "Link force", "option-link-distance": "Link distance", "option-repel-force": "Repel force", "tooltip-open-graph-settings": "Open graph settings", "msg-screenshot-copied": "Screenshot copied to the clipboard.", "label-groups": "Groups", "placeholder-enter-query": "Enter query...", "tooltip-delete-graph": "Delete group", "button-new-group": "New group", "tooltip-click-to-change-drag-to-reorder": "Click to change color\nDrag to reorder groups", "action-timelapse": "Start graph timelapse animation", "tooltip-start-timelapse-animation": "Start timelapse animation", "button-animate-timelapse": "Animate" }, "backlinks": { "name": "Backlinks", "desc": "Show links from other files to the current file. Backlinks can be shown in a separate view or at the bottom of the note.", "action-open": "Open backlinks", "action-show": "Show backlinks", "action-open-for-current": "Open backlinks for the current note", "action-toggle-backlinks-in-document": "Toggle backlinks in document", "menu-opt-backlinks-in-document": "Backlinks in document", "label-linked-mentions": "Linked mentions", "label-no-backlinks": "No backlinks found.", "label-unlinked-mentions": "Unlinked mentions", "label-show-search": "Show search filter", "label-link-button-text": "Link", "tab-title": "Backlinks for {{displayText}}", "label-no-unlinked-mentions": "No unlinked mentions found.", "ellipsis": "...", "option-backlink-in-document": "Show backlinks at the bottom of notes", "option-backlink-in-document-desc": "Make backlinks visible in new tabs by default." }, "outgoing-links": { "name": "Outgoing links", "desc": "Show outgoing links and detect unlinked mentions of other notes in the current note.", "action-open": "Open outgoing links", "action-show": "Show outgoing links", "action-open-for-current": "Open outgoing links for the current file", "tab-title": "Outgoing links from {{displayText}}", "label-links": "Links", "label-no-links": "No links found.", "label-unlinked-mentions": "Unlinked mentions", "tooltip-link-file": "Link this file", "tooltip-not-created": "Not created yet" }, "tag-pane": { "name": "Tags view", "short-name": "Tags", "desc": "Show a list of all tags and their number of occurrences.", "action-show": "Show tags", "label-no-tags": "No tags found.", "label-sort-by-name-a-to-z": "Tag name (A to Z)", "label-sort-by-name-z-to-a": "Tag name (Z to A)", "label-sort-by-frequency-high-to-low": "Frequency (high to low)", "label-sort-by-frequency-low-to-high": "Frequency (low to high)", "action-show-nested-tags": "Show nested tags", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Properties view", "desc": "Show the metadata for your files in the sidebar.", "name-global": "All properties", "name-local": "File properties", "tab-title": "File properties for {{displayText}}", "action-show": "Show all properties", "action-show-local": "Show file properties", "opt-unassign-type": "Unassign type", "label-no-properties": "No properties found.", "label-invalid-properties": "Invalid properties.", "label-sort-by-name-a-to-z": "Property name (A to Z)", "label-sort-by-name-z-to-a": "Property name (Z to A)", "label-sort-by-frequency-high-to-low": "Frequency (high to low)", "label-sort-by-frequency-low-to-high": "Frequency (low to high)", "msg-merge-properties-warning": "Merge property “{{oldKey}}” with “{{newKey}}”?", "msg-merge-properties-warning-desc": "In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-open-local": "Open file properties", "action-open-daily-note": "Open daily note" }, "page-preview": { "name": "Page preview", "desc": "Hover an internal link to preview its content. In editor mode, press Ctrl/Cmd while hovering.", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "“{{linktext}}” is not created yet. Click to create.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Editing view", "label-source-preview": "Reading view", "label-source-search": "Search, Backlinks, and Outgoing links", "label-source-tab-header": "Tab header", "label-require-mod": "Require {{key}} to trigger page preview on hover" }, "bookmarks": { "name": "Bookmarks", "desc": "Save shortcuts to files, searches, headings, and graphs.", "action-show": "Show bookmarks", "action-collapse-all": "Collapse all", "action-new-bookmark": "Bookmark the active tab...", "action-new-group": "New group", "action-bookmark": "Bookmark...", "action-add-bookmark": "Add bookmark", "action-edit-bookmark": "Edit bookmark", "action-bookmark-block": "Bookmark block under cursor...", "action-bookmark-heading": "Bookmark heading under cursor...", "action-bookmark-search": "Bookmark current search...", "action-remove-bookmark": "Remove bookmark for the current file", "action-bookmark-tab-group": "Bookmark {{count}} tab...", "action-bookmark-tab-group_plural": "Bookmark {{count}} tabs...", "action-bookmark-all-tabs": "Bookmark all tabs...", "action-bookmark-graph": "Bookmark this graph...", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} bookmark", "label-bookmark-with-count_plural": "{{count}} bookmarks", "label-no-bookmarks": "No bookmarks found", "label-invalid-data": "Failed to load bookmarks.", "label-invalid-data-desc": "The data file is corrupted.", "label-untitled-group": "Untitled group", "label-untitled-graph": "Untitled Graph", "menu-opt-edit": "Edit...", "menu-opt-remove": "Remove", "menu-opt-rename": "Rename", "menu-opt-bookmark-block": "Bookmark this block...", "menu-opt-bookmark-heading": "Bookmark this heading...", "msg-no-search-query": "No search query to bookmark.", "option-path": "Path", "option-query": "Query", "option-u-r-l": "URL", "option-title": "Title", "option-group": "Bookmark group", "placeholder-bookmark-group": "Bookmarks" }, "custom-css": { "name": "Custom CSS", "desc": "Read and apply “obsidian.css” in the vault folder.", "setting-community-themes": "Community themes", "msg-fetching-themes": "Fetching community theme data...", "prompt-filter": "Filter...", "label-dark-theme-only": "Dark themes only", "label-light-theme-only": "Light themes only", "label-use": "Use this theme", "label-stop-use": "Stop using this theme", "label-install-and-use": "Install and use", "label-update": "Update", "label-no-readme": "This theme did not provide a README file.", "tooltip-remove-theme": "Remove theme", "label-visit-on-github": "Visit on GitHub", "msg-load-error": "Could not load community themes, please check your network.", "msg-now-using-theme": "You're now using {{title}} as your CSS theme.", "msg-deleted-theme": "The theme {{title}} has been deleted.", "msg-updated-theme": "The theme {{title}} has been updated.", "label-installed": "Installed", "label-legacy": "Legacy", "button-update-all-themes": "Update all", "msg-failed-load-themes": "Failed to load community themes.", "msg-no-updates-found": "No theme updates found.", "msg-updates-found": "Found {{count}} theme to update.", "msg-updates-found_plural": "Found {{count}} themes to update.", "msg-failed-to-install-theme": "Failed to install theme “{{name}}”.", "msg-successfully-installed-theme": "Successfully installed theme “{{name}}”.", "msg-installing-theme": "Installing theme “{{name}}”...", "label-search-summary": "Showing {{themeCount}}:", "label-update-available": "Update available" }, "command-palette": { "name": "Command palette", "desc": "Use Cmd/Ctrl+P and begin typing to invoke a command.", "action-open": "Open command palette", "instruction-navigate": "to navigate", "instruction-use": "to use", "instruction-dismiss": "to dismiss", "label-no-commands": "No commands found.", "prompt-type-command": "Select a command...", "label-pinned-commands": "Pinned commands", "option-add-new-pin": "New pinned command", "option-add-new-pin-description": "Pinned commands will appear at the top of all commands when no search query is present." }, "markdown-format-importer": { "name": "Format converter", "desc": "Convert Markdown from other apps to Obsidian format.", "action-open": "Open format converter", "option-roam-tag-fixer": "Roam Research tag fixer", "option-roam-tag-fixer-description": "Converts “#tag” and “#[[tag]]” to “[[tag]]”.", "option-roam-highlight-fixer": "Roam Research highlight fixer", "option-roam-highlight-fixer-description": "Converts “^^highlight^^” to “==highlight==”.", "option-roam-todo-converter": "Roam Research TODO converter", "option-roam-todo-converter-description": "Converts “{{[[TODO]]}}” to “[ ]”.", "option-bear-highlight-fixer": "Bear highlight fixer", "option-bear-highlight-fixer-description": "Converts “::highlight::” to “==highlight==”.", "zettelkasten-link-fixer": "Zettelkasten link fixer", "zettelkasten-link-fixer-description": "Fixes “[[UID]]” links to full “[[UID File Name]]”.", "zettelkasten-link-beautifier": "Zettelkasten link beautifier", "zettelkasten-link-beautifier-description": "Fixes “[[UID]]” links and also beautify them “[[UID File Name|File Name]]”.", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Warning: the converter will convert all the files in your vault, not just the current file.", "msg-override-files-warning": "Your files will be overwritten. Back up all your files before attempting conversion.", "label-start-conversion": "Start conversion", "label-stop": "Stop", "label-go-back": "Go back", "label-done": "Done", "label-processing": "Processing...", "label-cancelling": "Cancelling...", "label-finished": "Finished!", "label-processed-files": "Processed files", "label-modified-files": "Modified files", "label-total-replacements": "Total replacements", "label-failed": "Failed" }, "daily-notes": { "name": "Daily notes", "desc": "Create or open today's daily note.", "short-name": "Today", "action-open": "Open today's daily note", "action-open-previous": "Open previous daily note", "action-open-next": "Open next daily note", "action-insert-text": "Today's daily note", "action-insert-link": "Insert link into daily note", "msg-fail-format": "Failed to create daily note. “{{format}}” is not a valid format.", "msg-fail-folder": "Failed to create daily note. Folder “{{folderOption}}” not found.", "msg-fail-template-file": "Failed to create daily note. Template file “{{template}}” not found.", "msg-no-previous": "There's no daily note before this one.", "msg-no-next": "There's no daily note after this one.", "option-date-format": "Date format", "label-refer-to-syntax": "For more syntax, refer to ", "label-syntax-link": "format reference", "label-syntax-live-preview": "Your current syntax looks like this: ", "option-new-file-location": "New file location", "option-new-file-location-description": "New daily notes will be placed here.", "option-template": "Template file location", "option-template-description": "Choose the file to use as a template.", "option-open-on-start": "Open daily note on startup", "option-open-on-start-description": "Open your daily note automatically whenever you open this vault." }, "unique-note-creator": { "name": "Unique note creator", "desc": "Create notes with unique timestamp prefixes, for workflows like zettelkasten or slip box.", "short-name": "Unique", "action-create-note": "Create new unique note", "action-add-link": "Add unique internal link", "option-new-file-location": "New file location", "option-new-file-location-description": "The folder path to create the new unique note in.", "msg-folder-not-found": "Failed to create unique note. Folder “{{folderOption}}” not found.", "option-template-file": "Template file location", "option-template-file-description": "The file path to use as template.", "option-template-file-placeholder": "Example: folder1/note", "option-id-format": "Unique prefix format", "msg-template-file-not-found": "Failed to create unique note. Template file “{{template}}” not found.", "msg-failed-to-generate": "Failed to generate a unique note with the format “{{format}}”" }, "random-note": { "name": "Random note", "desc": "Open a random note to rediscover or review.", "short-name": "Random", "action-open": "Open random note" }, "outline": { "name": "Outline", "desc": "Show the table of contents for the current note.", "action-open": "Open outline", "action-show": "Show outline", "action-open-for-current": "Open outline of the current file", "tab-title": "Outline of {{displayText}}", "label-no-headings": "No headings found.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Word count", "desc": "Show word count in the status bar." }, "slides": { "name": "Slides", "desc": "Create a presentation by using “---” to separate slides.", "action-start": "Start presentation" }, "audio-recorder": { "name": "Audio recorder", "desc": "Record audio notes and save them as attachments.", "action-start": "Start recording audio", "action-stop": "Stop recording audio", "action-toggle": "Start/stop recording", "msg-access-denied": "Microphone access was denied, please enable it from the preference pane.", "msg-pending-grant": "Please grant microphone permission to start recording.", "msg-no-microphone": "No microphone is connected." }, "open-with-default-app": { "name": "Open in default app", "desc": "Add a button to open the current file in its default app.", "action-open-file": "Open in default app", "action-open-file-mobile": "Share", "action-show-in-folder": "Show in system explorer", "action-show-in-folder-mac": "Reveal in Finder" }, "templates": { "name": "Templates", "desc": "Insert template content from a folder of template files.", "action-insert": "Insert template", "action-insert-current-date": "Insert current date", "action-insert-current-time": "Insert current time", "option-template-folder-location": "Template folder location", "option-template-folder-location-description": "Files in this folder will be available as templates.", "option-template-date-format": "Date format", "option-template-date-format-description": "{{date}} in the template file will be replaced with this value.", "option-template-date-format-description2": "You can also use {{date:YYYY-MM-DD}} to override the format once.", "option-template-time-format": "Time format", "option-template-time-format-description": "{{time}} in the template file will be replaced with this value.", "option-template-time-format-description2": "You can also use {{time:HH:mm}} to override the format once.", "instruction-navigate": "to navigate", "instruction-insert": "to insert template", "instruction-dismiss": "to dismiss", "msg-no-templates-found": "No templates found", "msg-fail-invalid-folder": "Failed to list templates. Template folder is invalid.", "msg-fail-folder-not-found": "Failed to list templates. Folder “{{folderOption}}” not found.", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "Failed to list templates. No template folder configured.", "prompt-type-template": "Type name of a template..." }, "translucency": { "name": "Translucent window", "desc": "Turn on translucency effect to enhance a sense of depth. Best used with dark mode. Not supported on Linux." }, "slash-command": { "name": "Slash commands", "desc": "Trigger commands in the editor by using the forward slash key." }, "editor-status": { "name": "Show editing mode in status bar", "desc": "Show the editing mode toggle in the status bar.", "read": "Reading", "edit-source": "Source mode", "edit-live-preview": "Live Preview" }, "publish": { "name": "Publish", "desc": "Host your notes online as a website, wiki or documentation.", "action-publish-changes": "Publish changes...", "action-publish-file": "Publish current file", "label-no-internet-access": "You need access to the internet to publish changes.", "label-publish-service-description": "Obsidian Publish is an add-on paid service that lets you publish your notes online directly from Obsidian.", "label-please-login": "To start publishing, please log in or create a new Obsidian account.", "label-no-publish-subscription": "You do not have an Obsidian Publish subscription yet.", "button-purchase": "Purchase", "label-manage-sites": "Manage sites", "label-no-sites": "You don't have any sites.", "button-choose": "Choose", "tooltip-edit-site-id": "Edit site ID", "tooltip-delete-site": "Delete site", "label-delete-site-confirmation": "Are you sure you want to delete this site?", "label-delete-site-details": "This will immediately and permanently delete your site.", "label-confirm-delete-site": "Confirm delete site “{{site}}”", "option-site-id": "Site ID", "option-site-id-description": "Your site will be at https://publish.obsidian.md/{site id}. You can change this later. Only lower case letters, numbers, and dashes are allowed.", "option-site-id-placeholder": "Pick a site ID", "button-create": "Create", "msg-invalid-site-id": "Site ID can only contain lowercase letters, numbers, and dashes.", "msg-site-id-in-use": "This site ID is in use, please try another one.", "msg-create-site-issue": "There was an issue when creating your site.", "label-site-options": "Site options", "option-site-general": "General", "option-site-components": "Components", "option-site-appearance": "Appearance", "option-site-reading-experience": "Reading experience", "option-site-misc": "Other site settings", "option-site-name": "Site name", "option-site-name-description": "Name of your published site. It will show up in the page title of your site.", "option-site-name-placeholder": "Name of your site", "option-home-page-file": "Homepage file", "option-home-page-file-description": "The first page the user sees when landing on your published site", "option-home-page-file-placeholder": "Pick a published file", "option-logo": "Logo", "option-logo-description": "Pick an image file as your site logo.", "option-logo-placeholder": "Any uploaded image in your vault...", "option-site-collaboration": "Site collaboration", "option-site-collaboration-desc": "Manage collaborators for this site.", "option-customize-navigation": "Customize navigation", "option-customize-navigation-desc": "Override the order of navigation items and hide pages or folders from showing.", "option-navigation-order": "Navigation item display order", "option-hide-items-in-navigation": "Hide pages or folders from navigation", "option-hide-items-in-navigation-desc": "Right click and select “Hide” to prevent specific pages from appearing in the site navigation. The pages will still be accessible via links or accessing the URL directly.", "option-show-hidden-items": "Show hidden", "button-customize-sidebar": "Manage", "label-navigation-modal-title": "Navigation", "label-navigation-modal-desc": "Drag and drop to customize the order in which navigation items appear on your Publish site.", "option-hide-in-navigation": "Hide in navigation", "button-manage-collaborators": "Manage", "option-theme": "Theme", "option-theme-description": "Choose default color scheme for your site.", "option-theme-system": "Adapt to system", "option-show-theme-toggle": "Light/dark toggle", "option-show-theme-toggle-description": "Let visitors toggle between light and dark theme on their own.", "option-show-navigation": "Show navigation", "option-show-navigation-description": "Display a list of all published pages on the left side of your published site.", "option-show-search": "Show search bar", "option-show-search-description": "Display a search bar that lets the visitors search pages, aliases, and headings on your site.", "option-show-graph": "Show graph view", "option-show-graph-description": "Display a small local graph on each page.", "option-show-outline": "Show table of contents", "option-show-outline-description": "Display the outline of headings on each page.", "option-show-backlinks": "Show backlinks", "option-show-backlinks-description": "Show backlink section at the end of each page.", "option-sliding-window-mode": "Stack pages", "option-sliding-window-mode-description": "Links will open next to the current page in the same window. Scroll horizontally to see stacked pages.", "option-hover-preview-file": "Show hover preview", "option-hover-preview-file-description": "Display page preview when hovering links.", "option-hide-title": "Hide page title", "option-hide-title-description": "Hide the page title heading. Useful when you have your own headings at the beginning of each page.", "option-readable-line-length": "Readable line length", "option-readable-line-length-description": "Limit maximum line length. Fits less content on the screen, but makes long paragraphs more readable.", "option-site-password": "Passwords", "option-site-password-description": "Restrict access to your site with passwords.", "option-google-analytics": "Google Analytics tracking code", "option-google-analytics-description": "Configure Google Analytics for your site. Only available for visitors from your custom domain URL. Please check with your local laws and regulations first.", "button-manage-passwords": "Manage", "button-save-site-settings": "Save site settings", "msg-updated-options": "Updated options for your site.", "button-go-back": "Back", "label-publishing-to": "Publishing to", "tooltip-switch-site": "Switch site", "button-add-linked": "Add linked", "tooltip-add-linked": "Add all files that are linked by currently selected items", "msg-added-linked-files": "{{count}} linked file has been added.", "msg-added-linked-files_plural": "{{count}} linked files have been added.", "tooltip-open-site-options": "Change site options", "label-no-changes-detected": "No changes were detected.", "label-changed-files-to-be-published": "Changed", "label-unchanged-files-already-published": "Unchanged (select to unpublish)", "label-file-selected": " selected", "button-select-all-files": "Select all", "label-custom-navigation-title": "Navigation items", "button-deselect-all-files": "Deselect all", "label-new-files-to-be-published": "New", "button-publish": "Publish", "msg-no-permission-to-publish-to-site": "You do not have permissions to publish to the current site.", "msg-select-at-least-one-file": "Please select at least one file.", "label-upload-changes": "Upload changes", "button-done": "Done", "button-stop": "Stop", "label-status-uploading": "Uploading", "label-status-to-publish": "To publish", "label-status-to-delete": "To delete", "label-status-published": "Published", "label-status-deleted": "Deleted", "label-status-failed": "Failed", "label-status-cancelled": "Cancelled", "button-change": "Change", "label-clear-cache": "It takes up to a few minutes for the changes to show up on your site. If you do not see your latest changes, try clearing the cache in your browser.", "label-visit-site": "You can visit your site here: ", "msg-something-went-wrong": "Something went wrong.", "msg-network-error": "A network error occurred.", "label-manage-passwords": "Manage passwords", "label-add-password": "Add password", "action-new-password": "New password", "label-no-password": "Your site currently does not have any passwords. Anyone can visit it.", "label-have-password": "Your site is password protected. If you have multiple passwords, visitors can access your site by entering any of them.", "option-password-name": "Password", "option-password-desc": "A hash of your password will be stored securely. Once the password is set, it cannot be revealed in plaintext.", "option-password-placeholder": "Your password", "option-nickname-name": "Nickname (optional)", "option-nickname-desc": "Set a nickname to remind yourself what or who the password is for.", "action-add-password": "Add this password", "label-untitled-password": "Untitled password", "label-password-created-time": "Created {{time}}", "msg-added-new-password": "Added new password.", "option-custom-domain": "Custom domain", "option-custom-domain-desc": "Use your own domain rather than the https://publish.obsidian.md/{site id} URL.", "option-noindex": "Disallow search engine indexing", "option-noindex-desc": "Prevent search engines from indexing your site.", "button-configure": "Configure", "label-configure-custom-domain": "Configure custom domain", "option-custom-url-name": "Custom URL", "option-custom-url-desc": "Enter the URL of your custom site, do not include “www.”", "option-custom-url-placeholder": "yourdomain.com", "option-custom-url-redirect": "Redirect to your custom domain", "option-custom-url-redirect-desc": "Redirect visitors on publish.obsidian.md/id to your custom domain.", "button-update-custom-domain": "Update domain setting", "label-custom-domain-instructions": "Please refer to our {{link}} on our help site for more information.", "label-custom-domain-link-name": "custom domain setup guide", "label-site-usage": "You're using {{site}} out of your {{limit}}.", "button-add-more-sites": "Add more sites", "label-no-sites-bought": "You haven't bought any sites.", "button-get-site": "Get a site", "label-manage-sharing": "Manage sharing for “{{name}}”", "label-sharing-with-users": "This site is currently shared with the following people:", "label-not-sharing": "This site is not currently shared with anyone.", "label-invite-pending": "Pending", "tooltip-remove-user": "Remove user", "option-invite-user": "Invite user", "placeholder-invite-user": "Enter their email...", "error-email-must-be-valid": "Please enter a valid email to invite someone.", "msg-enable-publish-plugin": "Please enable the Publish core plugin in Settings -> Core plugins to view sites.", "label-your-sites": "Your sites", "label-sites-shared-with-you": "Sites shared with you", "tooltip-leave-site-sharing": "Stop collaborating on this site", "label-leave-site-confirmation": "Confirm stop site collaboration", "label-leave-site-confirmation-details": "This will remove this site from the list of sites shared with you. This action cannot be reverted.", "label-leave-site-confirmation-details-2": "Please contact the owner of the site if you wish to collaborate on this site again.", "button-leave": "Leave", "label-compare-with-live": "Compare with live version", "button-use-live-version": "Use live version", "label-confirm-override": "Confirm overriding local version", "label-confirm-override-1": "Are you sure you want to override the local version?", "label-confirm-override-2": "The live version will be used and your local version will be discarded. Please make backups if necessary.", "button-proceed": "Proceed", "message-successfully-used-live-version": "Successfully used live version to override your local version.", "label-open-in-live-site": "Open in live site", "label-open-file": "Open file", "tooltip-manage-publish-filters": "Manage publish filters", "option-included-folders": "Included folders", "option-included-folders-desc": "Files under these folders will automatically be selected when you review changes to publish.", "option-currently-included-folders": " These folders are currently included:", "option-excluded-folders": "Excluded folders", "option-excluded-folders-desc": "Files under these folders won't show up when you review changes to publish. This setting takes priority over included folders above.", "label-number-of-folders-included": "Obsidian Publish is currently including {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish is currently excluding {{folders}}.", "label-manage-included-folders": "Manage included folders", "label-manage-excluded-folders": "Manage excluded folders", "label-add-included-folder": "Include a folder", "label-add-included-folder-desc": "You can include both existing folders and folders that have not been created yet.", "tooltip-contact-support": "Contact support", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "Workspaces", "desc": "Save and load workspace layouts.", "action-load-layout": "Load workspace layout", "action-manage-layouts": "Manage workspace layouts", "action-save": "Save layout", "action-save-and-load-layout": "Save and load another layout", "placeholder-save-current-layout-as": "Save current workspace layout as...", "button-save": "Save", "button-load": "Load", "tooltip-delete-layout": "Delete layout", "msg-enter-name": "Please enter a name for the new layout.", "msg-save-layout-success": "Successfully saved layout “{{name}}”", "label-no-layout-found": "No saved layout found.", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "Type layout name..." }, "sync": { "name": "Sync", "desc": "Synchronize your files through Obsidian Sync.", "action-view-version-history": "Open version history for the current file", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "Load more", "label-show-diff": "Show changes", "label-copy-to-clipboard": "Copy to clipboard", "label-restore-this-version": "Restore", "msg-already-latest-version": "This version is already the latest version.", "msg-restored-version": "Successfully restored version from {{time}}", "label-file-deleted": "This file was deleted", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "Renamed from “{{from}}”", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "{{count}} revision", "label-revision_plural": "{{count}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "Empty content", "label-unable-to-retrieve": "Unable to retrieve version history", "label-setting-files": "Setting files", "label-deleted-files": "Deleted files", "label-version-history": "Version history", "label-click-to-see-history": "Click on a file to see its history.", "label-create-remote-vault": "Create remote vault", "msg-please-enter-password": "Please enter a password.", "msg-vault-name-cannot-be-empty": "Vault name cannot be empty.", "msg-successfully-created-vault": "Successfully created remote vault “{{name}}”.", "label-remote-vault-explanation": "Remote vaults securely synchronize your vault between devices.", "option-vault-name": "Vault name", "option-vault-name-desc": "Helps you remember what this vault is for.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Select the server region closest to you to store the remote vault. This cannot be changed in the future.", "option-vault-name-placeholder": "My awesome vault", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Encryption password", "option-encryption-password-desc": "This password cannot be changed later.", "option-encryption-password-desc-warning": "If you forget this password, any remote data will remain unusable forever.", "option-encryption-password-desc-2": "This does not affect your local data.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "Your password", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "Unlock vault", "label-remote-vaults": "Your remote vaults", "label-vault-created-time": "Created {{time}}", "tooltip-delete-remote-vault": "Delete", "tooltip-rename-remote-vault": "Rename", "label-rename-remote-vault": "Rename remote vault “{{name}}”", "label-rename-remote-vault-desc": "Enter a new name for this remote vault.", "tooltip-manage-sharing": "Manage sharing", "label-confirm-delete-remote-vault": "Confirm delete vault", "label-confirm-delete-remote-vault-question": "Are you sure you want to delete the remote vault \"{{name}}\"?", "label-confirm-delete-remote-vault-result": "All data on our server, including version history, will be deleted. Your local files will stay intact.", "label-confirm-delete-remote-vault-warning": "This action is permanent and irreversible.", "msg-remote-vault-deleted": "{{name}} has been deleted.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "Connect", "button-disconnect-from-remote-vault": "Disconnect", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "You don't have any remote vaults.", "label-no-subscription": "You don't have an active Obsidian Sync subscription.", "label-please-visit": "Please visit", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "Create new vault", "label-sync-log": "Sync log", "option-event-type-all": "All", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Merge conflicts", "button-copy-sync-log": "Copy sync log", "msg-successfully-copied-sync-log": "Successfully copied sync log.", "button-retry": "Retry", "button-purchase-subscription": "Purchase", "label-third-party-sync-warning": "Conflicting file sync service detected", "label-third-party-sync-warning-desc": "Warning: Your vault seems to be using {{service}} as a third party sync service. If you use Obsidian Sync with this vault, you may run into conflicts, file corruption, or data loss.", "label-icloud-drive-warning": "If you are using iCloud Drive, your Documents and Desktop folders might be synced by iCloud. This could cause conflicts with Obsidian Sync.", "option-remote-vault": "Remote vault", "button-choose-remote-vault": "Choose", "button-manage-remote-vault": "Manage", "option-remote-vault-desc-connected": "Currently connected to the “{{name}}” remote vault.", "option-remote-vault-desc-not-connected": "Currently not connected to any remote vault.", "option-sync-status": "Sync status", "option-sync-status-desc-paused": "Obsidian Sync is currently paused.", "option-sync-status-desc-running": "Obsidian Sync is currently running.", "option-device-name": "Device name", "option-device-name-desc": "This name will be displayed in the activity log. Leave empty to use the default name.", "button-resume": "Resume", "button-pause": "Pause", "option-view-deleted-files": "Deleted files", "option-view-deleted-files-desc": "View and restore deleted files.", "option-sync-log": "Activity log", "option-sync-log-desc": "View recent sync activities for debugging.", "button-view": "View", "button-bulk-restore": "Bulk restore", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Restoring...", "msg-restoring-complete": "Restore complete: {{succeeded}} succeeded and {{failed}} failed.", "option-vault-size": "Storage usage", "option-vault-size-desc": "You are using {{size}} out of {{limit}}", "option-vault-size-unknown": "Unable to retrieve your vault size.", "option-vault-size-loading": "Retrieving your vault size...", "option-over-size": "Vault size over limit", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "View largest files", "msg-largest-files-desc": "These are the remote files that are taking the most space. After deleting attachments, use the purge button to free up remote vault space.", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "Purge", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "Permanently purge deleted attachments from remote vault to save space.", "msg-purge-complete": "Purge complete.", "option-prevent-sleep": "Prevent device sleep", "option-prevent-sleep-desc": "Prevents the device from going to sleep when there are still files to be synced.", "option-selective-sync": "Selective sync", "option-excluded-folders": "Excluded folders", "option-excluded-folder-desc": "Prevent certain folders from being synced.", "option-currently-excluded-folders": " These folders are currently excluded:", "button-manage-excluded-folders": "Manage", "option-sync-image": "Sync images", "option-sync-image-desc": "Sync image files with these extensions: {{extensions}}.", "option-sync-audio": "Sync audio", "option-sync-audio-desc": "Sync audio files with these extensions: {{extensions}}.", "option-sync-video": "Sync videos", "option-sync-video-desc": "Sync video files with these extensions: {{extensions}}.", "option-sync-pdf": "Sync PDFs", "option-sync-pdf-desc": "Sync PDF files.", "option-sync-unsupported": "Sync all other types", "option-sync-unsupported-desc": "Sync unsupported file types.", "option-vault-config-sync": "Vault configuration sync", "option-view-config-files": "Settings version history", "option-view-config-files-desc": "View and restore version history of setting files.", "option-sync-app": "Main settings", "option-sync-app-desc": "Enable to sync editor settings, files & links settings, etc.", "option-sync-appearance": "Appearance settings", "option-sync-appearance-desc": "Sync appearance settings like dark mode, active theme, and enabled snippets.", "option-sync-appearance-data": "Themes and snippets", "option-sync-appearance-data-desc": "Sync downloaded themes and snippets. Whether they are enabled depends on the previous setting.", "option-sync-hotkey": "Hotkeys", "option-sync-hotkey-desc": "Sync custom hotkeys.", "option-sync-core-plugin": "Active core plugin list", "option-sync-core-plugin-desc": "Sync which core plugins are enabled.", "option-sync-core-plugin-data": "Core plugin settings", "option-sync-core-plugin-data-desc": "Sync core plugin settings.", "option-sync-community-plugin": "Active community plugin list", "option-sync-community-plugin-desc": "Sync which community plugins are enabled.", "option-sync-community-plugin-data": "Installed community plugins", "option-sync-community-plugin-data-desc": "Sync installed community plugins (.js, .css, and manifest.json files) and their settings.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync is Obsidian's add-on sync service with end-to-end encryption and version history.", "label-account-required": "To start syncing, please log in or create a new Obsidian account.", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "Sign up", "button-log-in": "Log in", "label-manage-excluded-folders": "Manage excluded folders", "label-number-of-folders-excluded": "Obsidian Sync is currently excluding {{folders}}.", "label-add-excluded-folder": "Exclude a folder", "label-add-excluded-folder-desc": "You can exclude both existing folders and folders that have not been created yet.", "tooltip-remove-excluded-folder": "Remove from excluded list", "label-setup-connection": "Setup connection", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "You're now connected to “{{name}}”.", "button-start-syncing": "Start syncing", "label-confirm-merge-vault": "Confirm Merge Vault", "msg-vault-has-notes": "Your local vault already contains some notes.", "msg-vault-merge-warning": "If you connect to the remote vault “{{name}}”, notes in your local vault will be merged with notes from your remote vault. In case of conflicts, the most recent version of the note will be preserved.", "tooltip-update-setting-on-all-devices": "Please update this option and restart app on all the devices where you want it to take effect.", "label-sharing-with-users": "This remote vault is currently shared with the following people:", "label-not-sharing": "This remote vault is not currently shared with anyone.", "label-vaults-shared-with-you": "Vaults shared with you", "tooltip-leave-vault-sharing": "Stop collaborating on this vault", "label-leave-vault-confirmation": "Confirm stop vault collaboration", "label-leave-vault-confirmation-details": "This will remove this vault from the list of vaults shared with you. This action cannot be reverted.", "label-leave-vault-confirmation-details-2": "Please contact the owner of the vault if you wish to collaborate on this vault again.", "button-leave": "Leave", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "You need an Obsidian Sync subscription to connect to this vault.", "option-contact-support": "Contact support", "option-contact-support-desc": "If you run into any issues with Obsidian Sync, please contact us so we can help you out! You can reach us at support@obsidian.md.", "button-copy-debug": "Copy debug info", "button-email-support": "Email support", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "You have created the maximum number of remote vaults. In order to create a new remote vault, please upgrade your account or remove an existing one.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "File recovery", "desc": "Restore recent snapshots to recover from accidental data loss. Snapshots are only saved for Markdown files.", "action-open": "Open local history", "option-interval": "Snapshot interval", "option-interval-description": "Minimal interval in minutes between two snapshots.", "option-keep": "History length", "option-keep-description": "Number of days the snapshots are kept for.", "option-open-history": "Snapshots", "option-open-history-description": "View and restore saved snapshots.", "button-view-history": "View", "option-clear": "Clear history", "option-clear-description": "Delete all snapshots.", "button-clear-history": "Clear", "label-clear-warning": "Are you sure you want to delete all snapshots? Files inside your vault will not be affected.", "msg-clear-complete": "Local history cleared.", "label-no-history-found": "Snapshots found.", "placeholder-choose-file": "Choose a file...", "label-select-file": "Please select a file on the left to view snapshots." }, "note-composer": { "name": "Note composer", "desc": "Merge two notes or split one into two.", "option-confirm-file-merge": "Confirm file merge", "option-confirm-file-merge-description": "Prompt before merge two files.", "option-split-replacement-text": "Text after extraction", "option-split-replacement-text-description": "What to show in place of the selected text after extracting it.", "option-choice-split-replacement-text-link": "Link to new file", "option-choice-split-replacement-text-embed": "Embed new file", "option-choice-split-replacement-text-none": "None", "option-template-file": "Template file location", "option-template-file-description": "Template file to use when merging or extracting. Available variables: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, e.g. {{date:YYYY-MM-DD}}.", "command-merge-file": "Merge current file with another file...", "action-merge-file": "Merge entire file with...", "label-no-files": "No files found.", "instruction-navigate": "to navigate", "instruction-merge": "to merge", "instruction-create-new": "to create new", "instruction-merge-at-top": "to merge at top", "instruction-dismiss": "to dismiss", "prompt-select-file-to-merge": "Select file to merge into...", "label-merge-file": "Merge file", "label-confirm-file-merge": "Are you sure you want to merge “{{file}}” into “{{destination}}”? “{{file}}” will be deleted.", "button-merge": "Merge", "command-split-file": "Extract current selection...", "command-extract-heading": "Extract this heading...", "instruction-append": "to move to bottom", "instruction-prepend": "to move to top", "msg-fail-to-fetch-template": "Failed to fetch template file: “{{template}}” not found.", "msg-fail-to-find-heading": "Failed to find heading" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load site.", "label-fail-to-load-desc": "Make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexpected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Canvas", "desc": "Arrange and connect notes on an infinite canvas.", "action-add-note": "Add note from vault", "action-add-media": "Add media from vault", "action-add-card": "Add card", "action-add-website": "Add web page", "action-create-group": "Create group", "action-create-with-size": "Create a card with specific size", "action-convert-to-file": "Convert to file...", "action-drag-to-add-note": "Drag to add note from vault", "action-drag-to-add-media": "Drag to add media from vault", "action-drag-to-add-card": "Drag to add card", "action-edit-label": "Edit label", "action-remove-label": "Remove label", "action-search-file": "Search for file", "action-set-color": "Set color", "action-align": "Align", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-align-top": "Align top", "action-align-middle": "Align middle", "action-align-bottom": "Align bottom", "action-distribute-horizontal-spacing": "Distribute horizontal spacing", "action-distribute-vertical-spacing": "Distribute vertical spacing", "action-justify-horizontally": "Justify horizontally", "action-justify-vertically": "Justify vertically", "action-arrange-horizontally": "Arrange in a row", "action-arrange-vertically": "Arrange in a column", "action-arrange-grid": "Arrange in a grid", "action-export-png": "Export as image", "action-jump-to-group": "Jump to group", "action-set-background": "Set background", "action-edit-background": "Edit background", "action-replace-background": "Replace background", "action-remove-background": "Remove background", "label-no-images": "No images found.", "label-no-media": "No media found.", "label-export-png-desc": "Export “{{title}}” as a PNG file with the settings below.", "label-export-png-dimensions": "Estimated image dimensions: {{dimensions}}", "label-distribute": "Distribute", "label-justify": "Justify", "label-arrange": "Arrange", "label-always": "Always", "label-hover": "On hover", "label-never": "Never", "label-no-section-found": "No section found", "option-wheel-behavior": "Default mouse wheel behavior", "option-mod-drag-behavior": "Default {{key}} behavior", "option-show-menu": "Show menu", "option-new-canvas-location": "Default location for new canvas files", "option-new-canvas-location-description": "Where newly created canvas files are placed.", "option-new-canvas-folder-path": "Folder to create new canvas files in", "option-new-canvas-folder-path-description": "Newly created canvas files will appear under this folder.", "option-node-label": "Show card names", "option-snap-to-grid": "Snap to grid", "option-snap-to-grid-desc": "Snap cards to the background grid when moving and resizing.", "option-snap-to-objects": "Snap to objects", "option-snap-to-objects-desc": "Snap cards to nearby objects when moving and resizing.", "option-zoom-breakpoint": "Zoom threshold for hiding card content", "option-zoom-breakpoint-desc": "Lower values will increase performance but hide card content sooner when zooming out.", "option-export-png-show-logo": "Show logo", "option-export-png-show-logo-desc": "This will add an Obsidian logo to the bottom left.", "option-export-png-privacy-mode": "Privacy mode", "option-export-png-privacy-mode-desc": "This will obscure any text on your canvas.", "option-export-png-zoom": "Zoom", "option-export-png-zoom-desc": "A higher zoom will generate a higher resolution image.", "option-export-png-frame": "Viewport", "option-export-png-frame-desc": "Choose to render the entire canvas or just the current visible viewport.", "option-export-png-frame-full": "Full canvas", "option-export-png-frame-viewport": "Viewport only", "option-background-cover": "Cover", "option-background-ratio": "Keep aspect ratio", "option-background-repeat": "Repeat", "action-new-canvas": "New canvas", "action-remove": "Remove", "action-narrow-heading": "Narrow to heading...", "action-narrow-block": "Narrow to block...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Swap file...", "action-change-url": "Change URL...", "action-zoom-to-fit": "Zoom to fit", "action-zoom-to-selection": "Zoom to selection", "action-reload-page": "Reload page", "action-follow-connection": "Follow connection", "command-create-new-canvas": "Create new canvas", "command-convert-to-file": "Convert to file...", "instruction-narrow-heading": "to embed heading", "instruction-narrow-block": "to embed block", "instruction-jump-to-group": "to navigate to group", "prompt-to-narrow": "Type to find file, heading, or block", "label-enter-url": "Enter URL", "label-empty-embed": "“{{linktext}}” could not be found.", "prompt-add-text": "Add text...", "prompt-start-search": "Type to search...", "label-canvas-help": "Canvas help", "label-canvas-settings": "Canvas settings", "label-no-narrow": "Show entire file", "label-show-default-view": "Show default view", "label-readonly": "Read-only", "label-disable-readonly": "Disable read-only", "label-pan": "Pan", "label-pan-horizontal": "Pan horizontally", "label-zoom": "Zoom", "label-select-all": "Select all", "label-add-remove-selection": "Add to / remove from selection", "label-clone-card": "Clone card", "label-constrain-movement-axis": "Constrain card movement to axis", "label-disable-drag-snapping": "Disable snapping while dragging", "label-remove-card": "Remove card", "label-drag-from-below": "Drag from below or double click", "label-longpress": "Touch and hold to add / move / select", "label-drag-pan": "Drag to pan", "label-pinch-zoom": "Pinch to zoom", "label-space-drag-pan": "Space + Drag to pan", "label-scroll-to-zoom": "Scroll to zoom", "label-untitled-group": "Untitled group", "label-line-direction": "Line direction", "label-nondirectional": "Nondirectional", "label-unidirectional": "Unidirectional", "label-bidirectional": "Bidirectional", "label-image": "Image", "label-style": "Style", "msg-no-groups-found": "No groups found", "msg-export-failed-empty-canvas": "Cannot export an empty canvas", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add \"{{name}}\" property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "file name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "file path", "label-file-prop-folder": "folder", "label-file-prop-ext": "file extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewId }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Highlight all", "action-match-diacritics": "Match diacritics", "action-whole-words": "Whole words", "action-show-thumbnails": "Thumbnails", "action-show-outline": "Table of contents", "action-reveal-in-outline": "Reveal page in table of contents", "action-toggle-sidebar": "Toggle sidebar", "action-previous-page": "Previous page", "action-next-page": "Next page", "action-fit-width": "Fit width", "action-fit-height": "Fit height", "action-save-p-d-f-location": "Save current position in document", "action-copy-annotation": "Copy annotation", "action-copy-quote": "Copy as quote", "action-copy-selection-link": "Copy link to selection", "action-copy-annot-link": "Copy link to annotation", "action-copy-section-link": "Copy link to section", "action-copy-section-link-title": "Copy link to “{{title}}”", "action-copy-page-link": "Copy link to page {{page}}", "msg-max-search-results": "{{current}} of over {{limit}} matches", "msg-search-count": "{{current}} of {{total}} match", "msg-search-count_plural": "{{current}} of {{total}} matches", "msg-password-protected": "This PDF is password protected", "msg-invalid-password": "Invalid password", "msg-enter-password": "Enter the password below", "label-of-pages": "of {{count}}", "label-page-of-pages": "({{current}} of {{count}})", "label-spread-single": "Single page", "label-spread-odd": "Two-page (odd)", "label-spread-even": "Two-page (even)", "tooltip-sidebar-options": "Sidebar options", "tooltip-display-options": "Display options", "label-adapt-to-theme": "Adapt to theme", "label-page": "page {{page}}", "page_landmark": "Page {{page}}", "thumb_page_title": "Page {{page}}", "thumb_page_canvas": "Page {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "List", "option-unknown": "Unknown", "option-text": "Text", "option-aliases": "Aliases", "option-tags": "Tags", "option-folder": "Folder", "option-file": "File", "option-date": "Date", "option-datetime": "Date & time", "option-number": "Number", "option-checkbox": "Checkbox" }, "value-suggestion": { "key-link-note": "Type [[", "instruction-link-note": "to link note", "instruction-dismiss": "to dismiss" }, "option-property-type": "Property type", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "Invalid tag name", "msg-invalid-number": "Invalid number", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "Empty", "label-heading": "Properties", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "Add property", "label-type-mismatch-warning": "Type mismatch, expected {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Column", "label-row": "Row", "action-row-after": "Add row below", "action-column-after": "Add column to the right", "action-row-before": "Add row above", "action-row-up": "Move row up", "action-row-down": "Move row down", "action-column-before": "Add column to the left", "action-column-left": "Move column left", "action-column-right": "Move column right", "action-duplicate-row": "Duplicate row", "action-duplicate-column": "Duplicate column", "action-delete-row": "Delete row", "action-delete-column": "Delete column", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-delete-selection": "Delete cells", "action-clear-selection": "Clear cells", "action-sort-a-z": "Sort by column (A to Z)", "action-sort-z-a": "Sort by column (Z to A)", "label-command": "Table: {{command}}" }, "callout": { "option-type": "Callout type", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Success", "question": "Question", "warning": "Warning", "quote": "Quote", "example": "Example", "none": "None" }, "option-other": "Other...", "option-other-placeholder": "Callout type..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} word", "word-with-count_plural": "{{count}} words", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} character", "character-with-count_plural": "{{count}} characters", "link-with-count": "{{count}} link", "link-with-count_plural": "{{count}} links", "file-with-count": "{{count}} file", "file-with-count_plural": "{{count}} files", "folder-with-count": "{{count}} folder", "folder-with-count_plural": "{{count}} folders", "backlink-with-count": "{{count}} backlink", "backlink-with-count_plural": "{{count}} backlinks", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} property", "properties-with-count_plural": "{{count}} properties", "site-with-count": "{{count}} site", "site-with-count_plural": "{{count}} sites", "plugin-with-count": "{{count}} plugin", "plugin-with-count_plural": "{{count}} plugins", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} theme", "theme-with-count_plural": "{{count}} themes" } } { "setting": { "options": "Opciones", "plugin": "Complemento", "builtin-plugins": "Complementos principales", "plugin-options": "Opciones de complementos", "folder-path-example-placeholder": "Ejemplo: carpeta1/carpeta2", "file-path-example-placeholder": "Ejemplo: carpeta/nota", "msg-restart-required": "Al cambiar esta opción, es necesario reiniciar la aplicación para que surta efecto.", "editor": { "name": "Editor", "section-behavior": "Comportamiento", "section-display": "Pantalla", "option-spellcheck": "Revisión ortográfica", "option-spellcheck-description": "Activar el corrector ortográfico.", "spellcheck-languages": "Idiomas del corrector ortográfico", "spellcheck-languages-description": "Elija los idiomas que utilizará el corrector ortográfico.", "spellcheck-languages-mac-description": "El corrector ortográfico nativo detectará automáticamente el idioma que se está utilizando en macOS.", "spellcheck-dict": "Diccionario del corrector ortográfico", "spellcheck-dict-empty": "El diccionario del corrector ortográfico está vacío.", "option-show-inline-title": "Mostrar título en una línea", "option-show-inline-title-description": "Muestra el nombre de archivo como título editable en una línea con el contenido del archivo.", "option-readable-line-length": "Longitud de línea legible", "option-readable-line-description": "Limita la longitud de línea máxima. Muestra menos contenido en pantalla, pero los párrafos largos son más legibles.", "option-strict-line-break": "Saltos de línea estrictos", "option-strict-line-break-description": "En modo previsualización, ignora los saltos de una sola línea según las especificaciones de Markdown. Desactívelo para que los saltos de una sola línea se muestren en previsualización.", "option-properties-in-document": "Propiedades en el documento", "option-properties-in-document-description": "Decida cómo se muestran las propiedades en el editor. Seleccione \"Fuente\" para mostrar las propiedades en formato YAML.", "option-properties-hidden": "Ocultas", "option-properties-visible": "Visibles", "option-properties-source": "Fuente", "option-auto-pair-brackets": "Emparejamiento automático de corchetes", "option-auto-pair-brackets-description": "Empareja automáticamente los corchetes y las comillas.", "option-auto-pair-markdown": "Emparejamiento automático de sintaxis Markdown", "option-auto-pair-markdown-description": "Empareja automáticamente los símbolos para negrita y cursiva.", "option-smart-indent-lists": "Listas con sangrado inteligente", "option-smart-indent-lists-description": "La aplicación gestiona la sangría y las viñetas.", "option-fold-heading": "Colapsar encabezado", "option-fold-heading-description": "Permite colapsar el contenido bajo un encabezado.", "option-fold-indent": "Colapsar texto sangrado", "option-fold-indent-description": "Permite colapsar una porción con el mismo indentado, por ejemplo, listas.", "option-default-new-tab-view": "Vista por defecto para nuevas pestañas", "option-default-new-tab-view-description": "La vista por defecto en que se abre una nueva pestaña de Markdown.", "option-default-new-tab-view-editing": "Vista de edición", "option-default-new-tab-view-reading": "Vista de lectura", "option-open-tab-in-foreground": "Siempre fijar el foco en las pestañas nuevas", "option-open-tab-in-foreground-description": "Al abrir un enlace en una nueva pestaña, cambiar a esta inmediatamente.", "option-default-editing-mode": "Modo de edición predeterminado", "option-default-editing-mode-description": "Seleccione el modo de edición predeterminado al abrir un nuevo panel.", "option-default-editing-mode-source": "Modo fuente", "option-default-editing-mode-live-preview": "Modo vista previa", "option-show-line-number": "Mostrar número de línea", "option-show-line-number-description": "Muestra los números de línea.", "option-indentation-guide": "Mostrar guías de sangrado", "option-indentation-guide-description": "Muestra líneas de relación verticales entre viñetas que sirven como asistencia visual.", "option-use-tabs": "Usar tabulación", "option-use-tabs-description": "Active esta opción para usar tabulaciones como sangrado al presionar la tecla \"Tab\" o desactívela para usar espacios.", "option-tab-size": "Tamaño de la tabulación", "option-tab-size-description": "Número de espacios a los que equivale una tabulación.", "option-rtl": "Derecha-a-izquierda (Modo RTL)", "option-rtl-description": "Establece la dirección del texto de las notas para que se muestren de derecha a izquierda.", "option-auto-convert-html": "Conversión automática de HTML", "option-auto-convert-html-description": "Permite convertir automáticamente HTML a Markdown al pegar y arrastrar y soltar desde páginas web. Use Ctrl/Cmd+Shift+V para pegar sin convertir.", "option-vim-key-bindings": "Atajos de teclado de Vim", "option-vim-key-bindings-description": "Permite el uso de los atajos de teclado de Vim en el editor.", "option-vim-key-bindings-mobile": "En dispositivos móviles este ajuste se realiza individualmente por dispositivo y no se sincroniza a través del archivo de configuración.", "option-reindex-vault": "Reconstruir caché de la bóveda", "option-reindex-vault-description": "Reconstruir el caché podría tomar segundos o minutos dependiendo del tamaño de su bóveda.", "label-reindex": "Reconstruir", "label-confirm-enable-vim": "Confirme la entrada en modo Vim", "label-vim-warning": "El modo Vim es para una edición de texto eficiente, pero puede ser poco intuitivo. Si no está familiarizadon con Vim, esta opción puede hacer que parezca que Obsidian ha dejado de funcionar.", "label-vim-test": "Para verificar que conoce Vim, introduzca a continuación el comando para salir de Vim sin guardar:", "label-vim-your-answer": "Su respuesta", "placeholder-enter-command": "Introduzca el comando...", "button-confirm-enable-vim": "Habilitar modo Vim", "msg-vim-mode-enabled": "El comando es correcto. El modo Vim está habilitado.", "msg-vim-mode-not-enabled": "El comando es incorrecto. El modo Vim permanecerá desactivado por precaución.", "msg-vim-mode-please-enter-command": "Por favor, introduzca el comando para habilitar el modo Vim" }, "file": { "name": "Archivos y enlaces", "option-confirm-file-deletion": "Confirmar eliminación de archivo", "option-confirm-file-deletion-description": "Decida si desea confirmar la eliminación de un archivo.", "option-delete-destination": "Archivos eliminados", "option-delete-destination-description": "Qué hacer con los archivos eliminados.", "option-choice-system-trash": "Mover a la papelera de reciclaje", "option-choice-vault-trash": "Mover a la papelera de Obsidian (carpeta .trash)", "option-choice-permanent-delete": "Eliminar permanentemente", "option-always-update-links": "Siempre actualizar enlaces cuando...", "option-always-update-links-description": "Si los enlaces se actualizan automáticamente después de renombrar un archivo o se debe preguntar antes.", "option-new-note-location": "Ubicación por defecto para nuevas notas", "option-new-note-location-description": "Dónde poner los archivos nuevos. Puede sobreescribirse por la configuración de un complemento.", "option-choice-vault-root": "Ruta raíz de la bóveda", "option-choice-current-folder": "Misma carpeta donde está el archivo", "option-choice-specified-folder": "En la carpeta especificada abajo", "option-new-file-folder-path": "Carpeta por defecto para las notas nuevas", "option-new-file-folder-path-description": "Las notas nuevas se crearán en esta carpeta. Puede sobreescribirse por la configuración de un complemento.", "option-use-wiki-links": "Usar [[Wikilinks]]", "option-use-wiki-links-description": "Active esta opción si desea generar Wikilinks automáticamente para [[enlaces]] e ![[imágenes]]. Desactívela para generar enlaces de Markdown en su lugar.", "option-show-unsupported-files": "Detectar todas las extensiones de archivo", "option-show-unsupported-files-description": "Muestra archivos con cualquier extensión, incluso si Obsidian no puede abrirlos de forma nativa, para que pueda vincularlos y verlos en el Explorador de Archivos y el Selector Rápido.", "option-link-autocompleted-format": "Formato de enlace nuevo", "option-link-autocompleted-format-description": "Tipo de enlace que se debe insertar cuando se generan los enlaces internos automáticamente.", "option-choice-shortest-linktext": "Usar la ruta más corta cuando sea posible", "option-choice-relative-path": "Ruta relativa al archivo", "option-choice-absolute-path": "Ruta absoluta en la bóveda", "option-new-attachment-location": "Ubicación predeterminada para los archivos adjuntos nuevos", "option-new-attachment-location-description": "Dónde se colocan los archivos adjuntos recién agregados.", "option-new-attachment-location-default": "adjuntos", "option-choice-subdirectory": "En la subcarpeta de la carpeta actual", "option-attachment-folder-path": "Ubicación de la carpeta de adjuntos", "option-attachment-folder-path-description": "Los adjuntos nuevos se agregarán aquí. Incluye imágenes importadas (arrastrar y soltar o pegar) y grabaciones de audio.", "option-attachment-subfolder-path": "Nombre de la subcarpeta", "option-attachment-subfolder-path-description": "Si su archivo está en \"bóveda/carpeta\", y su nombre de la subcarpeta establecida en \"adjuntos\", los archivos adjuntos se guardarán en \"bóveda/carpeta/adjuntos\".", "option-excluded-files": "Archivos excluidos", "option-excluded-files-desc": "Los archivos excluidos se ocultarán o se harán menos visibles en diferentes lugares como el Selector Rápido, la función de Sugerencia de Enlaces y la Vista Gráfica.", "label-no-excluded-filters-applied": "No se está aplicando ningún filtro de exclusión. Añada uno debajo.", "label-excluded-filters-applied": "Los archivos que cumplen los siguientes filtros están actualmente excluidos:", "label-excluded-filter": "Filtrar", "message-empty-filter": "El filtro no se pudo aplicar", "placeholder-excluded-filter": "Ingrese una ruta o un patrón \"/regex/\"...", "option-uri-callbacks": "Permitir URI callbacks", "option-uri-callbacks-desc": "Habilitar el uso de x-callback-url a través de x-success o x-error al manejar una URI de Obsidian." }, "appearance": { "name": "Apariencia", "option-base-theme": "Tema base", "option-base-theme-description": "Esquema de colores por defecto de Obsidian.", "option-accent-color": "Color acentuado", "option-accent-color-description": "Color acentuado en toda la aplicación.", "dark-theme": "Oscuro", "light-theme": "Claro", "system-theme": "Adaptar al sistema", "option-font": "Fuente", "option-advanced": "Avanzado", "option-interface": "Interfaz", "option-interface-font": "Fuente de la interfaz", "option-interface-font-description": "Configurar la fuente de la interfaz en todo Obsidian.", "option-zoom-level": "Nivel de zoom", "option-zoom-level-description": "Controla el nivel de zoom global de la aplicación.", "option-text-font": "Fuente del texto", "option-text-font-description": "Configurar la fuente para las vistas de edición y lectura.", "option-monospace-font": "Fuente monoespaciada", "option-monospace-font-description": "Configurar la fuente para lugares como bloques de código e información preliminar.", "label-single-font-currently-in-effect": "Fuente en uso actualmente: ", "label-multiple-fonts-currently-in-effect": "Las siguientes fuentes están siendo usadas actualmente:", "option-font-placeholder": "Introducir nombre de la fuente...", "label-no-custom-font-set": "No hay ninguna fuente personalizada en uso ahora mismo. Añada una abajo.", "label-font-applied": "Se aplicará la primera fuente de la lista que esté disponible en su sistema.", "msg-font-not-found": "No se ha detectado esta fuente en su sistema.", "msg-font-found": "Esta fuente se ha detectada en su sistema.", "label-font-name": "Nombre de la fuente", "option-community-themes": "Explorar temas de la comunidad", "option-community-themes-description": "Previsualice y use temas increíbles creados por la comunidad.", "button-browse-community-themes": "Explorar", "option-font-size": "Tamaño de fuente", "option-font-size-description": "Tamaño de fuente en píxeles que afecta al editor y la vista previa.", "option-font-size-action": "Ajuste rápido del tamaño de fuente", "option-font-size-action-description": "Ajuste el tamaño de la fuente usando Ctrl + Rueda del ratón, o usando el gesto de pellizcar y acercar del trackpad.", "option-themes": "Temas", "option-manage-themes-description": "Administre los temas instalados y explore los temas de la comunidad.", "option-theme-button-manage": "Administrar", "option-choice-none": "Ninguno", "option-native-menus": "Menús nativos", "option-native-menus-desc": "Los menús de toda la aplicación coincidirán con el sistema operativo. No se verán afectados por su tema.", "button-reload-themes": "Recargar temas", "msg-reloaded-themes": "Se recargaron los temas CSS personalizados.", "button-open-themes-folder": "Abrir carpeta de temas", "option-css-snippets": "Fragmentos de CSS", "label-no-css-snippets-found": "No se encontraron fragmentos de CSS en la carpeta de fragmentos.", "no-snippet-description": "Los fragmentos de CSS están almacenados en \"{{path}}\".", "button-reload-snippets": "Recargar fragmentos de CSS", "button-open-snippets-folder": "Abrir carpeta de fragmentos de CSS", "msg-reloaded-snippets": "Recargar fragmentos de CSS.", "option-toggle-snippet-description": "Aplicar fragmentos de CSS en \"{{path}}\".", "label-installed-themes": "Temas instalados", "label-screenshot-unavailable": "Captura de pantalla no disponible", "label-default-theme": "Por defecto", "tooltip-click-to-enlarge": "Clic para agrandar", "button-update": "Actualizar", "label-currently-active": "Activa", "option-frame-style": "Estilo del marco de la ventana", "option-frame-description": "Determina el estilo de la barra de título de la ventana de Obsidian. Es necesario reiniciar la app para que surta efecto.", "option-frame-hidden": "Oculto (por defecto)", "option-frame-obsidian": "Marco de Obsidian", "option-frame-native": "Marco nativo", "option-custom-icon": "Ícono personalizado", "option-custom-icon-desc": "Configure un ícono personalizado para la aplicación.", "button-choose-custom-icon": "Elegir un ícono", "option-configure-ribbon": "Menú de cinta", "option-configure-ribbon-desc": "Escoja los comandos que aparecen en el menú de cinta en la barra de navegación.", "option-mobile-quick-ribbon-item": "Elemento de la cinta de acceso rápido", "option-mobile-quick-ribbon-item-desc": "Tocar un elemento de la cinta en el menú de navegación activará este elemento. Pulsar y mantener aún mostrará el menú.", "option-mobile-quick-ribbon-default": "Abrir el menú de cinta", "button-configure": "Configurar", "option-show-ribbon": "Mostrar menú de cinta", "option-show-ribbon-desc": "Muestra una barra de herramientas vertical en el costado de la ventaja.", "label-additional-ribbon-items": "Otros elementos de la cinta", "label-modal-configuration": "Ajustes del menú de cinta", "label-modal-configuration-desc": "Elegir qué elementos deben mostrarse en el menú de cinta. Arrastre y suelte para cambiar el orden.", "option-show-view-header": "Mostrar la barra de título de pestaña", "option-show-view-header-desc": "Mostrar el encabezado en la parte superior de todas las pestañas.", "msg-updates-found": "Se encontró {{count}} tema para actualizar.", "msg-updates-found_plural": "Se encontraron {{count}} temas para actualizar.", "button-check-for-updates": "Comprobar actualizaciones", "button-view-updates": "Ver actualizaciones", "button-update-all-themes": "Actualizar todo", "label-current-themes": "Temas de la comunidad instalados", "label-currently-installed": "Actualmente tiene {{count}} tema instalado.", "label-currently-installed_plural": "Actualmente tiene {{count}} temas instalados." }, "hotkeys": { "name": "Atajos de teclado", "option-search": "Buscar atajos de teclado", "option-search-desc": "Mostrando {{count}} atajo. ", "option-search-desc_plural": "Mostrando {{count}} atajos. ", "option-search-conflict": "Se encontró {{count}} comando en conflicto.", "option-search-conflict_plural": "Se encontraron {{count}} comandos en conflicto.", "prompt-filter": "Filtrar...", "tooltip-delete-hotkey": "Eliminar atajo", "label-waiting-for-hotkey-press": "Presione las teclas...", "label-show-all": "Todos", "label-show-unassigned": "No asignados", "label-show-assigned": "Asignados", "label-show-user-assigned": "Asignados por mí", "tooltip-restore-default": "Restaurar los valores por defecto", "tooltip-customize-command": "Modificar este comando", "tooltip-hotkey-single-conflict": "Este atajo está en conflicto con \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Este atajo está en conflicto con otros {{count}} comandos", "label-blank-hotkey": "Vacío" }, "about": { "name": "Acerca de", "label-commercial-license": "Licencia comercial", "label-license-key": "Clave de licencia", "license-key-placeholder": "Su clave de licencia...", "label-activate-license": "Activar licencia", "button-activate": "Activar", "label-unknown-version": "Desconocido", "label-current-version": "Versión actual: ", "label-install-version": "(Versión del instalador: {{version}})", "label-up-to-date": "¡Su aplicación está actualizada!", "label-read-changelog": "Leer el registro de cambios.", "label-manual-update-required": "Para apoyar las últimas funcionalidades y recibir los últimos parches de seguridad, Obsidian necesita una actualización importante del instalador. Descargue y reinstale Obsidian manualmente.", "label-new-version-ready": "Una nueva versión está lista para instalarse. ", "label-disabled-updates": "Las actualizaciones están desactivadas.", "button-relaunch": "Reiniciar la app", "button-check-for-updates": "Buscar actualizaciones", "option-auto-update": "Actualizaciones automáticas", "option-auto-update-description": "Si lo desactiva, evita que la app busque actualizaciones.", "option-check-slow-startup": "Notificar si la apertura tarda más de lo esperado", "option-check-slow-startup-description": "Diagnostique problemas con la aplicación al ver qué causa que cargue lentamente.", "button-check-startup": "Comprobar ahora", "option-get-help": "Obtener ayuda", "option-get-help-description": "Obtenga ayuda para usar Obsidian.", "button-open": "Abrir", "option-language": "Idioma", "option-language-description": "Cambiar el idioma mostrado.", "option-insider-build": "Recibir versiones de prueba", "option-insider-build-description": "Actualizar automáticamente a versiones de Insider para probar nuevas funciones. Tome en cuenta que estas versiones son la versión más reciente y son inestables.", "option-advanced": "Avanzado", "option-hw-acceleration": "Aceleración de hardware", "option-hw-acceleration-description": "Activa la aceleración de hardware, que usa su GPU para hacer que Obsidian sea más suave.", "option-hw-acceleration-warning": "Si desactiva esta opción, el rendimiento de la aplicación se verá gravemente degradado.", "option-config-location": "Anular la carpeta de configuración", "option-config-location-description": "Utilice una carpeta de configuración diferente a la predeterminada. Debe comenzar con un punto.", "option-config-location-warning": "La ubicación de la configuración debe ser un nombre de carpeta válido que comience con un punto.", "label-license": "Licencia", "label-your-commercial-license-key": "Su clave de licencia comercial es \"{{key}}\".", "label-commercial-license-info": "Registrado a \"{{company}}\" para {{seats}} usuarios. Válido hasta {{expiry}}.", "label-validating-commercial-license": "Validando...", "label-invalid-commercial-license": "Licencia inválida: ", "button-remove-commercial-license": "Eliminar", "option-catalyst": "Licencia Catalyst", "option-catalyst-desc": "Actualmente tiene la licencia Catalyst {{tier}}. ¡Gracias por su apoyo!", "option-catalyst-desc-no-license": "En este momento no tiene una licencia Catalyst. La licencia Catalyst se obtiene mediante una donación única que apoya el desarrollo de Obsidian.", "label-app": "Aplicación", "label-add-own-language": "Vea cómo añadir su idioma a Obsidian." }, "account": { "name": "Cuenta", "option-your-account": "Su cuenta", "option-your-account-desc": "Sesión iniciada como {{name}} ({{email}}).", "option-your-account-desc-no-login": "No está identificado en este momento. Sólo necesita una cuenta para Obsidian Sync, Obsidian Publish y las versiones internas de Catalyst.", "label-insider": "Insider", "label-supporter": "Supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Mejorar licencia", "option-commercial-license": "Licencia comercial", "option-commercial-license-desc": "Ayuda a mantener Obsidian 100% soportado por sus usuarios.", "button-purchase": "Comprar", "button-log-out": "Salir", "label-log-in": "Entrar", "label-sign-up": "Registrarse", "label-email": "Correo electrónico", "placeholder-email": "Su correo electrónico...", "label-name": "Nombre completo", "label-password": "Contraseña", "placeholder-password": "Su contraseña...", "label-forgot-password": "¿Olvidó la contraseña?", "button-login": "Iniciar sesión", "message-empty-email": "El correo electrónico no puede estar vacío.", "message-invalid-email": "El correo electrónico no es válido.", "message-empty-password": "La contraseña no puede estar vacía.", "message-login-failed": "El inicio de sesión fracasó. Por favor, revise su correo electrónico y contraseña.", "message-signup-failed": "Error al registrarse", "label-no-account": "¿Aún no tiene una cuenta? ", "link-sign-up-now": "Regístrese ahora", "label-mfa-code": "Código 2FA de 6 dígitos", "mfa-wrong-format": "El código de autentificación debe ser de 6 dígitos.", "mfa-verification-failed": "El código de autentificación es incorrecto, por favor revise su aplicación de autentificación." }, "core-plugin": { "plugin-list": "Lista de complementos", "option-search-plugin": "Buscar en los complementos principales", "option-search-plugin-description": "Filtra los complementos por nombre o descripción.", "placeholder-search-plugin": "Buscar complementos..." }, "third-party-plugin": { "name": "Complementos comunitarios", "option-restricted-mode": "Modo restringido", "option-restricted-mode-description": "El modo restringido está apagado. Enciéndalo para desactivar los complementos creados por la comunidad.", "button-turn-on": "Activar", "option-browse-community-plugins": "Complementos creados por la comunidad", "option-browse-community-plugins-description": "Busque e instala complementos creados por nuestra comunidad", "button-browse": "Buscar", "label-exit-restricted-mode": "Salir del modo restringido", "label-exit-restricted-mode-description-1": "Los complementos creados por la comunidad, tal como cualquier otro software que instale, podría potencialmente causar problemas de integridad y seguridad de datos.", "label-exit-restricted-mode-description-2": "La seguridad de los complementos es importante para nosotros. Esto es lo que hacemos:", "label-exit-restricted-mode-description-3": "A pesar de nuestros esfuerzos, existe una pequeña posibilidad de que un complemento de la comunidad pudiera comportarse incorrectamente.", "label-code-review": "Revisión inicial de código", "label-code-review-desc": "Los complementos pasan una revisión inicial de código por nuestro equipo antes de aparecer en la tienda.", "label-open-source": "Código abierto", "label-open-source-desc": "La mayoría de los complementos son de código abierto en GitHub, para que usted mismo pueda inspeccionar el código.", "label-peer-audit": "Auditoria de pares", "label-peer-audit-desc": "Tenemos una gran comunidad de desarrolladores que velan por cada otro.", "label-report-mechanism": "Mecanismo de reporte", "label-report-mechanism-desc": "Seguimos y removemos los complementos defectuosos a partir del reporte de usuarios.", "label-exit-restricted-mode-disable-confirmation": "¿Está seguro de que desea salir del Modo Restringido para activar complementos de la comunidad? Le recomendamos encarecidamente que respalde su información antes de hacerlo.", "label-learn-more": "Aprenda más acerca de la seguridad de los complementos", "button-turn-on-community-plugins": "Activar complementos creados por la comunidad", "label-trust-author": "¿Confía en el autor de esta bóveda?", "label-trust-author-description-1": "Está abriendo esta bóveda por primera vez y trae algunos complementos.", "label-trust-author-description-2": "Si obtuvo esta bóveda de alguien más, tenga en cuenta que los complementos de origen desconocido podrían presentar riesgos de seguridad.", "label-trust-author-description-3": "Si no confía plenamente en el autor de esta bóveda, le recomendamos mantenerse en Modo Restringido, de modo que los complementos de la bóveda no se ejecuten.", "button-enable-plugins": "Confiar en el autor y activar complementos", "button-dont-trust-author": "Explorar bóveda en Modo Restringido", "placeholder-community-plugins": "Buscar complementos de la comunidad...", "msg-failed-load-plugins": "Ha ocurrido un error al cargar los complementos.", "label-installed": "Instalado correctamente", "button-install": "Instalar", "button-enable": "Activar", "button-disable": "Desactivar", "button-copy-share-link": "Copiar enlace para compartir", "button-donate": "Donar", "label-no-results-found": "Sin resultados.", "label-no-recent-files-found": "No se han encontrado archivos recientes. Escribe para buscar...", "msg-failed-to-load-manifest": "Error al cargar el manifiesto.", "label-version": "Versión: {{version}}", "label-currently-installed-version": " (Instalada: {{version}})", "label-by-author": "Por ", "label-repository": "Repositorio: ", "label-last-update": "Última actualización: ", "tooltip-view-last-update": "Ver la última actualización", "label-unsupported": "Este complemento no es soportado por su dispositivo.", "button-update": "Actualizar", "label-no-readme": "Este complemento no tiene un archivo LÉEME", "msg-installing-plugin": "Instalando \"{{name}}\"...", "msg-failed-to-install-plugin": "Ha ocurrido un error al instalar \"{{name}}\".", "msg-successfully-installed-plugin": "\"{{name}}\" se ha instalado correctamente.", "msg-failed-to-uninstall-plugin": "Error al desinstalar el complemento “{{id}}”.", "msg-failed-to-disable-plugin": "Error al desactivar el complemento “{{id}}”.", "label-installed-plugins": "Complementos instalados", "button-reload-plugins": "Recargar", "msg-reloaded-third-party-plugins": "Se han recargado los complementos.", "label-uninstall": "Desinstalar", "label-uninstall-plugin": "Desinstalar complemento", "label-uninstall-plugin-confirmation": "¿Está seguro de que quiere desinstalar este complemento? Esto borrará la carpeta en la que está descargado.", "button-open-plugins-folder": "Abrir la carpeta de complementos", "button-check-for-updates": "Buscar actualizaciones", "button-update-all-plugins": "Actualizar todo", "label-current-plugins": "Complementos actuales", "label-currently-installed": "Tiene {{count}} complemento instalado actualmente.", "label-currently-installed_plural": "Tiene {{count}} complementos instalados actualmente.", "msg-no-updates-found": "No se encontraron actualizaciones de complementos.", "msg-updates-found": "Se encontró actualización para {{count}} plugin.", "msg-updates-found_plural": "Se encontraron actualizaciones para {{count}} complementos.", "msg-update-plugin": "Actualizar a la versión {{version}}", "option-search-installed-plugin": "Buscar complementos instalados.", "option-search-installed-plugin-description": "Filtrar complementos instalados por nombre o descripción.", "placeholder-search-installed-plugin": "Buscar complementos instalados...", "show-installed-only": "Mostrar solo los instalados", "label-donate-modal-title": "Donar para apoyar a {{name}}", "label-donate-modal-text1": "Los desarrolladores de complementos son voluntarios de la comunidad que hacen cosas increíbles a partir de su pasión. Si encuentra útil este complemento, por favor considere donar para su desarrollo.", "label-donate-modal-text2": "100% de su contribución irá al desarrollador del complemento. Obsidian no se queda con nada. La plataforma de donación puede hacer un cargo de servicio.", "label-donate-modal-text3": "¡Gracias por su generoso aporte!", "label-support-this-plugin": "Apoya este complemento:", "label-search-summary": "Mostrando {{pluginCount}}:", "label-by-popularity": "Más descargado", "label-by-released": "Publicado recientemente", "label-by-updated": "Actualizado recientemente", "label-alphabetical": "Alfabético", "label-last-updated": "Actualizado {{time}}" }, "mobile-toolbar": { "name": "Barra de herramientas móvil", "option-configure-quick-action": "Configurar acción rápida para el móvil", "option-configure-quick-action-description": "Configurar el comando que se ejecutará cuando arrastre desde arriba. El comando actual es \"{{command}}\".", "msg-missing-quick-action": "Acción no configurada", "button-configure": "Configurar", "placeholder-select-quick-action": "Seleccionar Acción Rápida...", "quick-action-disabled": "Ninguna", "manage-toolbar-options": "Administrar las opciones en la barra de herramientas móvil", "option-internal-link": "Añadir enlace interno", "option-internal-embed": "Añadir adjunto", "option-tag": "Añadir etiqueta", "option-heading": "Alternar cabecera", "option-strikethrough": "Alternar tachado", "option-highlight": "Alternar resaltado", "option-code": "Alternar código", "option-blockquote": "Alternar bloque de cita", "option-inline-math": "Alternar bloque de ecuación en párrafo", "option-math-block": "Alternar bloque de ecuación", "option-markdown-link": "Agregar enlace Markdown", "option-bullet-list": "Alternar lista", "option-numbered-list": "Alternar lista numerada", "option-indent-list": "Sangrar elemento de lista", "option-unindent-list": "Desangrar elemento de lista", "option-undo": "Deshacer", "option-redo": "Rehacer", "option-move-caret-up": "Mover el cursor arriba", "option-move-caret-down": "Mover el cursor abajo", "option-move-caret-left": "Mover el cursor a la izquierda", "option-move-caret-right": "Mover el cursor a la derecha", "option-first-line": "Ir a la primera línea", "option-last-line": "Ir a la última línea", "option-toggle-keyboard": "Alternar teclado", "option-configure-toolbar": "Configurar la barra de herramientas móvil", "option-added-options": "Opciones añadidas", "option-more-toolbar-options": "Más opciones de barra de herramientas", "option-attach": "Insertar archivo adjunto", "option-add-command": "Agregar comando global", "option-add-command-description": "Seleccione cualquier comando global para añadirlo a la barra de herramientas." } }, "editor": { "search": { "placeholder-find": "Buscar", "placeholder-replace": "Reemplazar", "label-exit-search": "Salir de la búsqueda", "label-next": "Siguiente", "label-previous": "Anterior", "label-find-all": "Buscar todo", "label-replace": "Reemplazar", "label-replace-all": "Reemplazar todas" }, "link-suggestion": { "label-type-hash": "Use #", "label-link-heading": "para enlazar el encabezado", "label-type-block": "Use ^", "label-link-block": "para enlazar bloques", "label-type-pipe": "Use |", "label-change-display-text": "para cambiar el texto mostrado", "label-no-alias": "Texto mostrado", "label-no-heading": "Encabezado", "label-no-match-found": "No se encontraron resultados", "label-image-size": "Tamaño de imagen: {{size}}px de ancho", "label-accept": "para aceptar", "label-new-footnote": "Nueva nota al pie..." }, "spellcheck": { "no-suggestion": "Sin sugerencias...", "add-to-dictionary": "Añadir al diccionario" }, "menu": { "edit-link": "Editar enlace", "edit-tag": "Editar etiqueta", "label-edit-block": "Editar este bloque", "label-delete-footref-and-note": "Borrar nota al pie y su referencia" }, "heading-suggestion": { "label-no-heading": "Sin encabezado", "label-heading-level": "Encabezado {{level}}" }, "print-modal": { "title": "Exportar a PDF", "caption": "Exportar \"{{filename}}\" a PDF con la siguiente configuración.", "setting-page-size": "Tamaño de página", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Carta", "setting-page-size-tabloid": "Tabloide", "setting-include-file-name": "Incluir el nombre del archivo como título", "setting-landscape": "Horizontal", "setting-margin": "Márgenes", "setting-margin-default": "Predeterminado", "setting-margin-minimal": "Mínimo", "setting-margin-none": "Ninguno", "setting-downscale-percent": "Porcentaje de reducción de escala", "button-export-to-pdf": "Exportar a PDF" }, "link-popover": { "tooltip-follow-link": "Seguir enlace", "tooltip-open-link": "Abrir enlace", "tooltip-search-tag": "Buscar etiqueta" } }, "interface": { "embed-cannot-find": "No se encontró:", "label-unable-to-find-section": "Imposible encontrar “{{subpath}}” en {{file}}", "embed-open-in-default-app-tooltip": "Abrir en la app por defecto", "empty-sidebar": "La barra lateral esta vacía, intente arrastrar un panel aquí.", "sidebar-expand": "Expandir", "sidebar-collapse": "Colapsar", "msg-fail-to-save-file": "Error al guardar el archivo \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "No se pudo cargar el complemento “{{plugin}}”", "msg-plugin-error": "El complemento “{{plugin}}” encontró un error mientras cargaba", "msg-failed-to-load-file": "No se pudo abrir “{{filepath}}”", "msg-failed-to-open-href": "No se encontró “{{href}}”", "no-file": "No hay archivo", "msg-file-changed": "\"{{file}}\" ha sido modificado externamente, combinando cambios de manera automática.", "switch-vault": "Abrir otra bóveda", "manage-vaults": "Administrar bóvedas...", "help": "Ayuda", "settings": "Preferencias", "drag-to-rearrange": "Arrastre para reordenar", "msg-switched-to-read": "El modo de visualización por defecto ha sido cambiado a modo lectura.", "msg-switched-to-edit": "Cambió el modo de visualización por defecto a modo editor.", "msg-upgrade-installer": "Para usar esta función, por favor reinstale la app mediante el instalador más reciente disponible en nuestra página web.", "msg-slow-boot": "Se detectó un tiempo de apertura muy alto.", "msg-desktop-only-feature": "Esta característica solo está disponible en la aplicación de escritorio.", "tooltip-restore-default-settings": "Restaurar ajustes por defecto", "label-copy": "Copiar al portapapeles", "label-copy-short": "Copiar", "copied_generic": "Copiado a su portapapeles", "copied": "{{item}} copiado al portapapeles", "copy_failed": "Imposible copiar al portapeles", "prompt-filter": "Filtrar...", "url": "Dirección", "msg-codeblock-render-error": "Hubo un error al renderizar el bloque de código.", "msg-open-file-through-uri": "Archivo abierto \"{{path}}\"", "msg-file-not-found-through-uri": "Archivo \"{{name}}\" no encontrado.", "delete-action-short-name": "Borrar", "msg-indexing": "Obsidian está indexando la bóveda...\nEsto debería ocurrir sólo una vez.\nAlgunas funcionalidades podrían no estar disponibles hasta que esto finalice.", "msg-indexing-desc": "Algunas funciones podrían no estar disponibles hasta que esto esté completo.", "msg-indexing-complete": "Indexado completo.", "msg-sandbox-vault": "Esta es una bóveda de prueba.\nLos cambios que hagas en esta bóveda se perderán.", "msg-indexed-db-not-supported": "Se requiere IndexedDB para esta característica, pero actualmente está desactivado.", "msg-indexed-db-i-o-s": "Si está usando iOS en Modo Hermético, por favor excluya Obsidian del ajuste \"Configurar Navegación Web\" del Modo Hermético.", "label-enter-to-create": "Presione Enter para crear", "label-update-available": "Actualización disponible", "label-debug-info": "Información de depuración", "button-learn-more": "Aprender más", "button-not-now": "Ahora no", "button-add": "Añadir", "button-manage": "Administrar", "label-new-tab": "Nueva pestaña", "option-hide-ribbon": "Ocultar menú de cinta", "msg-tab-busy": "Esta pestaña está ocupada en este momento, por favor, inténtelo de nuevo más tarde", "formatting": { "label-formatting": "Formato", "label-paragraph": "Párrafo", "label-insert": "Insertar", "insert-link": "Añadir enlace", "insert-external-link": "Añadir enlace existente", "insert-callout": "Destacado", "insert-horizontal-rule": "Regla horizontal", "insert-code-block": "Bloque de código", "insert-math-block": "Bloque matemático", "insert-table": "Tabla", "insert-footnote": "Nota al pie", "toggle-bold": "Negrita", "toggle-code": "Código", "toggle-comments": "Comentario", "toggle-highlight": "Resaltado", "toggle-italics": "Cursiva", "toggle-strikethrough": "Tachado", "toggle-math": "Fórmula matemática", "toggle-bullet-list": "Lista con viñetas", "toggle-checklist": "Lista de tareas", "toggle-numbered-list": "Lista numerada", "set-heading": "Título {{level}}", "no-heading": "Cuerpo", "clear": "Limpiar formato", "toggle-quote": "Cita" }, "empty-state": { "no-file-open": "No hay ningún archivo abierto", "create-new-file": "Crear un nuevo archivo", "go-to-file": "Ir a archivo", "see-recent-files": "Ver archivos recientes", "close": "Cerrar", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Complemento no activo", "unknown-pane-desc": "El complemento que creó este panel ({{type}}) no está disponible" }, "release-notes": { "tab-title": "Registro de cambios {{version}}", "msg-missing-release-notes": "No hay un registro de cambios disponible para {{version}}.", "msg-failed-to-load": "No se pudo cargar el registro de cambios para {{version}}." }, "menu": { "edit-view": "Editar (Ctrl/Cmd+Clic para editar en nuevo panel)", "read-view": "Vista actual: lectura", "ribbon": "Menú de cinta", "left-sidebar": "Barra lateral izquierda", "right-sidebar": "Barra lateral derecha", "switch-to-edit-view": "Clic para editar", "switch-to-read-view": "Clic para leer", "mod-click-open-new-tab": "{{key}}+Clic para abrir en una nueva pestaña", "find": "Buscar...", "replace": "Reemplazar...", "edit": "Editar", "remove": "Eliminar", "rename": "Renombrar", "preview": "Vista previa", "more-options": "Más opciones", "close": "Cerrar", "close-all": "Cerrar todas las pestañas", "close-tabs-with-count": "Cerrar {{count}} pestaña", "close-tabs-with-count_plural": "Cerrar {{count}} pestañas", "close-others": "Cerrar otras pestañas", "close-after": "Cerrar las pestañas a continuación", "pin": "Fijar", "unpin": "Desfijar", "unlink-tab": "Desvincular pestaña", "link-tab": "Vincular con pestaña...", "toggle-source-mode": "Modo fuente", "toggle-reading-view": "Modo lectura", "add-property": "Añadir propiedad de archivo", "delete-file": "Eliminar archivo", "create-file": "Crear archivo", "open-link": "Abrir enlace", "open-in-new-tab": "Abrir en pestaña nueva", "open-to-the-right": "Abrir a la derecha", "copy-url": "Copiar dirección URL", "copy": "Copiar", "cut": "Cortar", "paste": "Pegar", "paste-as-plain-text": "Pegar como texto sin formato", "lookup-selection": "Buscar “{{selection}}”", "select-all": "Seleccionar todo", "rename-heading": "Renombrar este encabezado...", "rename-blockid": "Renombrar el ID de este bloque...", "open-in-new-window": "Abrir en una nueva ventana", "move-to-new-window": "Mover a una nueva ventana", "open-in-browser": "Abrir en explorador", "stack-tabs": "Apilar pestañas", "unstack-tabs": "Desapilar pestañas", "open-linked-view": "Abrir en vista enlazada" }, "tooltip": { "click-to-expand": "Clic para expandir", "click-to-collapse": "Clic para colapsar", "alias": "Alias", "not-created-yet": "Aún no creado, seleccione para crear" }, "start-screen": { "label-version": "Versión", "label-create-local-vault": "Crear bóveda local", "option-open-folder-as-vault": "Abrir una carpeta como bóveda", "option-open-folder-as-vault-description": "Seleccionar un directorio existente de archivos Markdown.", "option-create-vault": "Crear una bóveda nueva", "option-create-vault-description": "Crear una nueva bóveda de Obsidian en un directorio.", "option-connect-obsidian-sync": "Conectar con Obsidian Sync", "option-connect-obsidian-sync-description": "Sincronice una bóveda local con una bóveda remota existente.", "option-new-vault-name": "Nombre de la bóveda", "option-new-vault-name-description": "Elija un nombre para su increíble bóveda.", "option-new-vault-location": "Ubicación", "option-new-vault-location-description": "Elija un lugar para ubicar su nueva bóveda.", "label-new-vault-location-preview": "Su nueva bóveda será ubicada en: ", "option-reveal-vault-in-explorer": "Mostrar la bóveda en el explorador del sistema", "option-reveal-vault-in-explorer-mac": "Mostrar la bóveda en el Buscador", "option-rename-vault": "Renombrar la bóveda...", "option-copy-vault-i-d": "Copiar el identificador de la bóveda", "msg-error-rename-exists": "Ya existe una bóveda con este nombre.", "msg-error-nested": "No es posible mover la bóveda a uno de sus subdirectorios.", "msg-error-rename-open": "No se puede renombrar un bóveda abierta actualmente.", "msg-rename-failed": "Error al renombrar la bóveda.", "msg-rename-success": "Bóveda renombrada con éxito.", "option-move-vault": "Mover la bóveda...", "msg-move-select-dest": "Seleccione la carpeta de destino", "msg-error-move-exists": "Ya hay una bóveda en la carpeta de destino.", "msg-error-move-open": "No se puede mover una bóveda abierta.", "msg-move-failed": "Error al mover la bóveda.", "msg-move-success": "La bóveda se movió con éxito.", "option-remove": "Eliminar de la lista", "button-quick-start": "Inicio rápido", "button-open": "Abrir", "button-browse": "Explorar", "button-connect": "Conectar", "button-create-vault": "Crear", "button-back": "Volver", "msg-empty-vault-name": "El nombre de la bóveda no puede estar vacío.", "msg-trailing-dot-vault-name": "El nombre de la bóveda no puede terminar con un punto.", "msg-invalid-folder": "Por favor, seleccione un directorio válido.", "msg-failed-to-create-vault": "Error al crear la bóveda.", "msg-failed-to-create-vault-at-location": "No se pudo crear la bóveda en la ubicación indicada. Por favor, verifique la ubicación y permisos.", "msg-error-failed-to-open-vault": "Error al abrir.", "msg-error-remove-current-open-vault": "No se puede eliminar una bóveda abierta actualmente.", "option-get-help": "Obtener ayuda", "option-user-email": "Correo electrónico", "placeholder-your-email": "Su correo electrónico...", "option-user-password": "Contraseña", "placeholder-your-password": "Su Contraseña...", "button-sign-in": "Iniciar sesión", "button-setup": "Configurar", "option-connect-vault-desc": "Crear una bóveda sincronizada en este dispositivo.", "tooltip-own-vault": "Esta es una bóveda remota de su propiedad.", "tooltip-shared-vault": "Esta es una bóveda remota compartida con usted.", "mobile": { "label-start-screen": "Sus pensamientos son suyos.", "label-synced": "sincronizado", "label-not-synced": "no sincronizado", "label-none": "Ninguno", "label-recommended": "Recomendado", "label-start-screen-desc": "Obsidian guarda las notas en su dispositivo, de modo que pueda acceder a ellas rápida y privadamente, incluso desconectado.\n Sus datos son almacenados en una carpeta local llamada **bóveda**.", "option-create": "Crear una bóveda", "option-use-existing": "Usar una bóveda existente", "label-sync-intro": "Para acceder a sus notas en otros dispositivos necesita configurar una cuenta de sincronización.", "label-sync-intro-desc": "Dado que Obsidian almacena las notas en tus dipositivos, tendrá que configurar la sincronización si quiere tener acceso a sus notas en otro teléfono o computador.\nPuede configurar Sync ahora o empezar a escribir y hacerlo después.", "option-setup-sync": "Configurar Sync", "option-skip": "Omitir por ahora", "option-skip-short": "Saltar", "label-vault-create": "Elija un nombre para su bóveda.", "button-create": "Crear bóveda", "label-sync-setup": "Configurar Sync", "label-sync-setup-desc": "Crear una bóveda sincronizada en su cuenta de Obsidian de modo que pueda acceder a sus datos desde otros dispositivos.", "label-remote-vault-create": "Cifrado de sincronización", "option-encryption-custom": "Cifrado de extremo a extremo", "option-encryption-custom-desc": "Ofrece la seguridad más fuerte pero requiere que almacenes de manera segura su contraseña de cifrado", "option-encryption-managed": "Cifrado estándar", "option-encryption-managed-desc": "Usa una llave manejada por Obsidian para proteger tus datos en tránsito y en nuestros servidores.", "label-sync-settings": "Ajustes de Sync", "label-sync-settings-desc": "¿Desea excluir alguna carpeta o archivo al sincronizar este dispositivo?", "button-start": "Iniciar sincronización", "label-sign-in-or-sign-up": "Crear una cuenta de Obsidian o iniciar sesión", "option-sign-up": "Registrarse", "option-sign-in": "Iniciar sesión", "button-resend-email": "Reenviar correo electrónico", "label-remote-vault-options": "Se encontraron bóvedas existentes", "label-remote-vault-options-desc": "¿Quiere crear una nueva bóveda o conectarse a una existente?", "option-remote-create": "Crear una nueva bóveda", "option-remote-choose": "Elegir una bóveda existente", "button-logout": "Cerrar sesión", "button-forgot-password": "Contraseña olvidada", "label-vault-name": "Nombre de la bóveda", "label-vault-location": "Ubicación de la bóveda", "label-vault-location-desc": "Su nueva bóveda estará ubicada en {{vaultLocation}}", "label-region-selection": "Región", "label-region-selection-help": "Elija la región más cercana para que la sincronización sea más rápida.", "label-encryption-key": "Llave de cifrado", "label-encryption-key-help": "Esta contraseña no se puede cambiar después. Si la olvida, cualquier información remota en los servidores de Sync se volverá inaccesible para siempre.", "placeholder-vault-name": "Mi bóveda", "opt-region-selection-automatic": "Automático", "label-remote-vault-selection": "Elegir una bóveda", "label-remote-vault-selection-desc": "Su cuenta **{{email}}** tiene bóvedas existentes.", "label-sign-in": "Iniciar sesión en su cuenta de Obsidian", "label-forgot-password": "Contraseña olvidada", "button-reset-password": "Restablecer contraseña", "msg-password-reset": "Hemos enviado un correo a {{email}} para restablecer su contraseña.", "label-sync-method-selection": "Elija cómo sincronizar sus notas", "label-sync-method-selection-desc": "Para usar Obsidian en sus dispositivos necesitará sincronizar sus datos.", "label-sync-pro1": "Instantánea entre todos los dispositivos y sistemas operativos.", "label-sync-pro2": "Protegido con los estándares de seguridad de cifrado de extremo a extremo más altos.", "label-sync-pro3": "Requiere una cuenta de Obsidian Obsidian.", "label-icloud-con1": "Solo para iOS y macOS.", "label-icloud-con2": "No encriptado por defecto.", "label-third-party-desc1": "Requiere complementos o herramientas de terceros.", "label-third-party-desc2": "No puede estar encriptado por defecto.", "opt-use-obsidian-sync": "Usar Obsidian Sync", "opt-use-icloud": "Usar iCloud", "opt-use-other": "Usar sincronización de terceros", "opt-learn-other-sync": "Otros métodos de sincronización", "opt-use-supported": "Usar métodos de sincronización soportados", "label-sync-restore": "¿Dónde está ubicada su bóveda?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Otro", "label-other-sync": "Sincronización de terceros", "label-local-folder": "En este dispositivo", "option-connect-icloud": "Conectar a iCloud", "option-connect-other": "Conectar a otro servicio de sincronización", "option-connect-sync": "Conectar a Obsidian Sync", "option-connect-local-folder": "Elegir carpeta", "label-sync-other": "Otros métodos de sincronización", "label-sync-other-desc": "Obsidian oficialmente soporta dos métodos de sincronización: **Obsidian Sync** y **iCloud**.\nSin embargo, dado que Obsidian le da control sobre sus datos, hay otras opciones que puedes usar.\nEstas opciones incluyen complementos y otras herramientas de terceros qeu podrían requerir una configuración más avanzada.\nPara usar un método alternativo, **cree una bóveda** y siga las instrucciones proporcionadas por el complemento o proveedor.", "label-email-entry": "Ingrese su e-mail", "label-email-entry-desc": "Su e-mail es requerido para crear una cuenta de Obsidian.", "label-signup": "Ingrese su usuario y contraseña", "email-verification": "Conectar a Obsidian Sync", "email-verification-desc": "Debería recibir un mensaje de correo electrónico en **{{email}}** con instrucciones para conectarse a Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Su bóveda de iCloud no se detectó. Esto podría deberse a una de las siguientes razones:", "icloud-missing-reason1": "Su bóveda está en una cuenta diferente de iCloud que la que está usando en este dispositivo.", "icloud-missing-reason2": "Su bóveda no está almacenada en el directorio raíz de la carpeta de Obsidian en iCloud Drive.", "i-cloud-unsupported": "iCloud no soportado", "i-cloud-unsupported-desc": "La sincronización vía iCloud solo está disponible en dispositivos Apple. Si su bóvedda se sincroniza por iCloud, aprenda a migrar su bóveda a un servicio de sincronización distinto.", "allow-file-access": "Permitir acceso a archivos", "msg-login-pending": "Iniciando sesión...", "msg-name-required": "Se necesita un nombre de bóveda", "msg-new-email-success": "Nuevo mensaje de confirmación enviado.", "msg-new-email-failure": "Error al reenviar el email.", "msg-invalid-vault": "La ubicación de la bóveda debe ser una carpeta." } }, "starter-content": { "welcome-filename": "Bienvenido", "welcome-file-content": "Esta es su nueva *bóveda*.\n\nCree una nota de algo, [[cree un enlace]], o pruebe [el Importador](https://help.obsidian.md/Plugins/Importer)!\n\nCuando esté listo, borre esta nota y aprópiese de la bóveda" }, "drag-and-drop": { "insert-link-here": "Insertar enlace aquí", "insert-links-here": "Insertar enlaces aquí", "move-into-folder": "Mover a \"{{folder}}\"", "star-this-file": "Destacar este archivo", "star-these-files": "Destacar estos archivos", "open-in-this-tab": "Abrir en esta pestaña", "open-as-tab": "Abrir en una pestaña nueva" }, "window": { "maximize": "Maximizar", "minimize": "Minimizar", "restore-down": "Restaurar", "close-window": "Cerrar ventana", "go-back": "Ir atrás", "go-forward": "Ir adelante" }, "start-up": { "loading-obsidian": "Cargando Obsidian...", "obsidian-load-error": "Ha ocurrido un error mientras se cargaba Obsidian.", "button-reload-app": "Recargar la aplicación", "button-reload-app-in-safe-mode": "Recargar la aplicación en modo seguro", "button-open-another-vault": "Abrir otra bóveda", "loading-plugins": "Cargando complementos...", "msg-plugin-hang": "El complemento “{{plugin}}” está tardando demasiado en cargar. ", "loading-vault": "Cargando bóveda...", "msg-failed-to-load-vault": "Error al cargar la bóveda: ", "loading-cache": "Cargando la caché...", "loading-workspace": "Cargando el espacio de trabajo..." }, "mobile": { "action-import": "Importar a la bóveda", "action-insert-text-desc": "Añadir texto al archivo:", "action-choose-file-to-insert": "Seleccionar el archivo a insertar", "action-insert-text-into-file": "Insertar texto en {{filename}}", "action-insert-link-into-file": "Insertar enlace en {{filename}}", "action-show-switcher": "Mostrar vista general de pestañas", "msg-importing": "Importando...", "msg-import-success": "Importación exitosa", "msg-failed-to-import-file": "Error al importar el archivo {{filename}}", "msg-back-again-to-exit": "Presione atrás otra vez para salir.", "feedback": { "label-feedback": "Retroalimentación", "label-feedback-desc": "¿Está disfrutando Obsidian? Ayúdenos dando una calificación.", "action-rate": "Evaluar la app", "action-dismiss": "Omitir" } }, "help-screen": { "label-official-help-site": "Sitio de ayuda oficial", "label-official-help-site-desc": "Lea la documentación oficial de Obsidian, disponible en múltiples idiomas.", "action-visit": "Visitar", "label-discord-chat": "Chat en Discord", "label-discord-chat-desc": "Discord es el mejor lugar para chatear con otros usuarios experimentados de Obsidian de alrededor del mundo.", "action-join": "Unirse", "label-forum": "Foro oficial", "label-forum-desc": "Ayuda, peticiones de características, reporte de bugs y discusiones en profundidad sobre gestión del conocimiento.", "label-sandbox-vault": "Bóveda de prueba", "label-sandbox-vault-desc": "Juegue y experimente con varias características. Por favor, tenga en cuenta que sus cambios no serán guardados." } }, "commands": { "save-file": "Guardar el archivo actual", "download-attachments": "Descargar archivos adjuntos", "follow-cursor-link": "Seguir el enlace bajo el cursor", "open-cursor-link-in-new-tab": "Abrir el enlace bajo el cursor en una nueva pestaña", "open-cursor-link-to-the-right": "Abrir el enlace bajo el cursor a la derecha", "open-cursor-link-in-new-window": "Abrir el enlace bajo el cursor en nueva ventana", "navigate-tab-above": "Fijar el foco en el grupo de pestañas de encima", "navigate-tab-below": "Fijar el foco en el grupo de pestañas de abajo", "navigate-tab-left": "Fijar el foco en el grupo de pestañas de la izquierda", "navigate-tab-right": "Fijar el foco en el grupo de pestañas de la derecha", "toggle-pin": "Cambiar estado de fijado", "split-right": "Dividir a la derecha", "split-down": "Dividir abajo", "toggle-stacked-tabs": "Alternar pestañas apiladas", "navigate-back": "Navegar atrás", "navigate-forward": "Navegar adelante", "use-dark-mode": "Usar modo oscuro", "use-light-mode": "Usar modo claro", "change-theme": "Cambiar tema", "search-current-file": "Buscar en archivo actual", "search-replace-current-file": "Buscar y reemplazar en el archivo actual", "add-property": "Añadir propiedad", "label-sort-property-a-to-z": "Nombre (A-Z)", "label-sort-property-z-to-a": "Nombre (Z-A)", "add-alias": "Añadir alias", "clear-properties": "Borrar propiedades", "open-settings": "Abrir ajustes", "open-help": "Abrir ayuda", "toggle-edit": "Alternar vistas de lectura y edición", "toggle-source-mode": "Alternar Modo Vista Previa y Modo Fuente", "delete-current-file": "Eliminar archivo actual", "new-tab": "Nueva pestaña", "show-trash": "Mostrar papelera", "close-all-tabs": "Cerrar todas las pestañas", "close-active-tab": "Cerrar la pestaña actual", "close-others-in-tab-group": "Cerrar las otras pestañas del grupo", "close-other-tabs": "Cerrar todas las otras pestañas", "close-tab-group": "Cerrar este grupo de pestañas", "toggle-left-sidebar": "Alternar barra lateral izquierda", "toggle-ribbon": "Alternar cinta", "toggle-right-sidebar": "Alternar barra lateral derecha", "toggle-default-new-tab-mode": "Alternar modo por defecto para las pestañas nuevas", "add-cursor-above": "Añadir cursor encima", "add-cursor-below": "Añadir cursor debajo", "focus-editor": "Fijar el foco en el editor", "toggle-fold-properties": "Alternar colapso de propiedades en el archivo actual", "toggle-fold": "Alternar colapso de la línea actual", "fold-all": "Colapsar todos los títulos y listas", "unfold-all": "Expandir todos los títulos y listas", "fold-more": "Colapsar más", "fold-less": "Colapsar menos", "swap-line-up": "Intercambiar línea hacia arriba", "swap-line-down": "Intercambiar línea hacia abajo", "remove-heading": "Quitar encabezado", "toggle-heading": "Fijar como encabezado {{level}}", "toggle-bold": "Alternar negrita para la selección", "toggle-italics": "Alternar cursiva para la selección", "toggle-highlight": "Alternar resaltado para la selección", "toggle-comments": "Alternar comentarios para la selección", "clear-formatting": "Limpiar formato", "insert-link": "Insertar enlace", "toggle-spellcheck": "Alternar corrector ortográfico", "delete-paragraph": "Eliminar párrafo", "toggle-checklist": "Alternar estado de caja de verificación", "cycle-list-checklist": "Alternar viñeta/caja de verificación", "insert-callout": "Insertar destacado", "insert-code-block": "Insertar bloque de código", "insert-math-block": "Insertar bloque de ecuación", "insert-horizontal-rule": "Insertar línea horizontal", "insert-table": "Insertar tabla", "insert-footnote": "Insertar nota al pie", "edit-file-title": "Editar nombre del archivo", "copy-path": "Copiar ruta del archivo", "copy-url": "Copiar URL de Obsidian", "export-pdf": "Exportar a PDF", "reload": "Recargar la app sin guardar", "undo-close-tab": "Deshacer cerrar pestaña", "context-menu": "Mostrar menú contextual bajo cursor", "show-debug-info": "Mostrar información de depuración", "open-sandbox-vault": "Abrir bóveda de prueba", "always-on-top": "Alternar ventana siempre encima", "zoom-in": "Acercar", "zoom-out": "Alejar", "reset-zoom": "Reiniciar zoom", "toggle-preview": "Alternar entre modo edición/vista previa", "move-to-new-window": "Mover panel actual a una ventana nueva", "open-in-new-window": "Abrir panel actual en una ventana nueva", "rename-current-file": "Renombrar el archivo actual", "go-to-prev-tab": "Ir a la pestaña anterior", "go-to-next-tab": "Ir a la siguiente pestaña", "go-to-last-tab": "Ir a la última pestaña", "go-to-nth-tab": "Ir a la pestaña #{{n}}", "show-release-notes": "Mostrar notas de la versión" }, "dialogue": { "label-link-affected": "Esto afectará {{links}} en {{files}}.", "msg-updated-links": "Actualizado {{links}} en {{files}}.", "label-update-links": "Actualizar enlaces", "label-confirm-update-link-to-file": "¿Quiere actualizar los enlaces internos que enlazan a este archivo?", "button-always-update": "Siempre actualizar", "button-just-once": "Solo una vez", "button-do-not-update": "No actualizar", "label-confirm-deletion": "¿Está seguro de que quiere eliminar \"{{filename}}\"?", "label-move-to-system-trash": "Será movido a la papelera de su sistema.", "label-move-to-vault-trash": "Será movido a la papelera de Obsidian, la cual se encuentra en la carpeta \".trash\" que está oculta dentro de su bóveda.", "label-permanent-delete": "Este archivo será eliminado permanentemente", "label-non-empty-folder": "Esta carpeta no está vacía.", "label-delete-folder-warning": "Si continúa, todos los archivos en esta carpeta serán eliminados.", "label-delete-folder": "Eliminar carpeta", "button-delete": "Eliminar", "button-delete-do-not-ask-again": "Eliminar y no volver a preguntar", "label-do-not-ask-again": "No preguntar de nuevo", "label-existing-backlink": "Actualmente hay {{count}} enlace que apunta a esta nota.", "label-existing-backlink_plural": "Actualmente hay {{count}} enlaces que apuntan a esta nota.", "label-delete-file": "Eliminar archivo", "label-download-attachments": "Descargar adjuntos", "label-no-attachments": "No hay adjuntos en esta nota.", "label-downloaded-attachments": "Descargado {{count}} adjunto.", "label-downloaded-attachments_plural": "Descargados {{count}} adjuntos.", "msg-files-updated": "Actualizado {{count}} archivo.", "msg-files-updated_plural": "Actualizados {{count}} archivos.", "msg-files-reverted": "Se revirtieron los cambios de {{count}} archivo.", "msg-files-reverted_plural": "Se revirtieron los cambios de {{count}} archivos.", "button-manage": "Administrar", "button-view": "Ver", "button-confirm": "Confirmar", "button-cancel": "Cancelar", "button-download": "Descargar", "button-done": "Listo", "button-save": "Guardar", "button-stop": "Detener", "button-continue": "Continuar", "button-choose": "Elegir", "button-retry": "Reintentar", "button-update": "Actualizar", "button-undo": "deshacer", "preparing-pdf": "Preparando PDF...", "label-rename-file": "Renombrar archivo", "label-rename-file-generic": "Nombre de archivo", "label-new-name": "Nuevo nombre", "msg-rename-success": "Archivo renombrado satisfactoriamente.", "msg-merge-failed": "Error al combinar las notas", "msg-file-or-folder-not-found": "El archivo o carpeta “{{path}}” no existe.", "msg-heading-empty": "El encabezado no puede estar vacío", "msg-block-id-empty": "El ID de bloque no puede estar vacío", "msg-block-id-invalid": "El ID de bloque solo puede contener caracterres alfanuméricos o guionesh", "label-rename-heading": "Renombrar el encabezado", "label-rename-blockid": "Renombrar el ID de bloque" }, "menu-items": { "new-file": "Crear nota", "new-file-to-the-right": "Nueva nota a la derecha", "new-window": "Nueva ventana", "open-switcher": "Abrir rápidamente...", "open-vault": "Abrir bóveda...", "close-tab": "Cerrar pestaña", "close-window": "Cerrar ventana", "find": "Buscar", "replace": "Reemplazar", "insert-callout": "Insertar destacado", "insert-markdown-link": "Enlace Markdown", "insert-wikilink": "Enlace", "set-heading": "Encabezado {{level}}", "no-heading": "Sin encabezado", "insert-quote": "Cita", "export-pdf": "Exportar PDF", "insert-attachment": "Insertar adjunto...", "insert-codeblock": "Bloque de código", "insert-math-block": "Bloque de fórmulas", "insert-table": "Tabla", "insert-footnote": "Nota al pie", "toggle-bullet-list": "Viñeta", "toggle-numbered-list": "Lista numerada", "toggle-checklist": "Lista de tareas", "toggle-bold": "Negrita", "toggle-code": "Código", "toggle-comment": "Comentario", "toggle-italics": "Cursiva", "toggle-inline-math": "Ecuación", "toggle-highlight": "Resaltado", "toggle-strikethrough": "Tachado", "toggle-comments": "Comentario", "folding-menu": "Colapsar/Expandir", "fold-all": "Colapsar todo", "unfold-all": "Expandir todo", "fold-more": "Colapsar Más", "fold-less": "Colapsar Menos", "source-mode": "Modo fuente", "reading-view": "Modo lectura", "show-debug-info": "Mostrar Información de Depuración", "open-sandbox": "Abrir Bóveda de Prueba", "navigate-back": "Navegar atrás", "navigate-forward": "Navegar adelante", "toggle-left-sidebar": "Alternar barra lateral izquierda", "toggle-right-sidebar": "Alternar barra lateral derecha", "toggle-ribbon": "Menú de cinta", "split-right": "Dividir a la derecha", "split-down": "Dividir abajo", "release-notes": "Notas de la versión" }, "plugins": { "name": "Complementos", "file-explorer": { "name": "Explorador de archivos", "desc": "Vea todos los archivos en su bóveda.", "action-open": "Abrir explorador de archivos", "action-show": "Mostrar el explorador de archivos", "action-create-note": "Crear nueva nota", "action-create-folder": "Crear nueva carpeta", "action-create-note-in-current-tab": "Crear nueva nota en la pestaña actual", "action-create-note-to-the-right": "Crear nota a la derecha", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Colapsar todo", "action-expand-all": "Expandir todo", "action-new-note": "Nueva nota", "action-new-folder": "Nueva carpeta", "action-change-sort": "Cambiar el orden", "action-reveal-file": "Mostrar en el explorador de archivos", "action-reveal-active-file": "Mostrar archivo actual en el explorador de archivos", "command-make-a-copy": "Hacer una copia del archivo actual", "command-make-a-copy-mac": "Duplicar el archivo actual", "command-move-file": "Mover archivo a otra carpeta", "action-new-folder-with-count": "Nueva carpeta con la selección de ({{count}} elemento)", "action-new-folder-with-count_plural": "Nueva carpeta con la selección de ({{count}} elementos)", "action-move-file": "Mover archivo a...", "action-move-folder": "Mover carpeta a...", "action-move-items": "Mover {{count}} elementos a...", "prompt-type-folder": "Escriba el nombre de una carpeta", "label-no-folders": "No se encontraron carpetas.", "instruction-navigate": "para navegar", "instruction-move": "para mover", "instruction-create": "para crear", "instruction-dismiss": "para descartar", "label-sort-a-to-z": "Ordenar por nombre de archivo (A-Z)", "label-sort-z-to-a": "Ordenar por nombre de archivo (Z-A)", "label-sort-new-to-old": "Ordenar por fecha de edición (más reciente)", "label-sort-old-to-new": "Ordenar por fecha de edición (más antiguo)", "label-sort-created-old-to-new": "Creado (antiguo-nuevo)", "label-sort-created-new-to-old": "Creado (nuevo-antiguo)", "menu-opt-new-note": "Nueva nota", "menu-opt-new-folder": "Nueva carpeta", "menu-opt-rename": "Renombrar", "menu-opt-delete": "Borrar", "menu-opt-make-copy": "Hacer una copia", "menu-opt-make-copy-mac": "Duplicar", "msg-invalid-characters": "El nombre de archivo no puede contener ninguno de los siguientes caracteres: ", "msg-unsafe-characters": "Los enlaces no funcionarán con nombres de archivos que contengan estos caracteres: ", "msg-file-already-exists": "Ya hay un archivo con ese nombre", "msg-empty-file-name": "El nombre de archivo no puede estar vacío.", "msg-bad-dotfile": "El nombre de archivo no debe empezar con un punto.", "tooltip-modified-time": "Última modificación: {{time}}", "tooltip-created-time": "Creado: {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Sin título", "label-untitled-folder": "Sin nombre", "msg-set-attachment-folder": "Los adjuntos se guardarán en \"{{path}}\" de ahora en adelante." }, "search": { "name": "Buscar", "desc": "Buscar palabras clave en todas las notas.", "action-open-search": "Buscar en todos los archivos", "label-collapse-results": "Colapsar resultados", "label-match-case": "Coincidir mayúsculas y minúsculas", "label-explain-search-term": "Explicar término de búsqueda", "label-more-context": "Mostrar más contexto", "label-result-count": "{{count}} resultado", "label-result-count_plural": "{{count}} resultados", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Ajustes de búsqueda", "prompt-start-search": "Escriba para empezar a buscar...", "label-match-text": "Coincide con texto: ", "label-match-regex": "Coincide con la expresión regular: ", "label-match-exact-text": "Contiene el texto exacto: ", "label-match-greater-than": "Mayor que:", "label-match-less-than": "Menor que: ", "label-match-true": "Es verdadero", "label-match-false": "Es falso", "label-match-empty": "Está vacío", "label-match-property": "Contiene la propiedad:", "label-match-all": "Coincide con todo en: ", "label-match-any": "Coincide con cualquiera de: ", "label-excluding": "Excluye: ", "label-case-sensitive": "Coincide con mayúsculas y minúsculas", "label-case-insensitive": "Ignorar mayúsculas y minúsculas", "label-match-file-path": "Coincide con la ruta de archivo: ", "label-match-file-name": "Coincide con el nombre de archivo: ", "label-match-content": "Coincide con el contenido del archivo: ", "label-match-task": "Coincide con la tarea: ", "label-match-task-todo": "Coincide con la tarea (por hacer): ", "label-match-task-done": "Coincide con la tarea (hecha): ", "label-match-line": "Coincide con la línea: ", "label-match-block": "Coincide con el bloque: ", "label-match-section": "Coincide con la sección: ", "label-match-tag": "Coincide con la etiqueta: ", "label-no-matches": "No hay coincidencias.", "matches-with-count": "... y {{count}} coincidencia más.", "matches-with-count_plural": "... y {{count}} coincidencias más.", "label-copy-search-results": "Copiar resultados de búsqueda", "button-copy-results": "Copiar resultados", "msg-successfully-copied": "Resultados copiados al portapapeles.", "option-show-path": "Mostrar ruta", "option-show-path-description": "Muestra la ruta completa del archivo en lugar de solo el nombre de archivo.", "option-link-style": "Estilo de enlace", "option-link-style-description": "Opcionalmente convierte cada archivo en un enlace.", "option-choice-link-style-none": "Ninguno", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Enlace Markdown", "option-list-prefix": "Prefijo de lista", "option-list-prefix-description": "Opcionalmente añade un prefijo de elemento de lista a cada resultado.", "option-choice-list-style-none": "Ninguno", "option-choice-list-style-dash": "Guion (-)", "option-choice-list-style-asterisk": "Asterisco (*)", "option-choice-list-style-numbered": "Lista numerada", "tooltip-clear-search": "Limpiar búsqueda", "label-search-options": "Opciones de búsqueda", "label-properties-group": "Propiedades", "label-tags-group": "Etiquetas", "tooltip-read-more": "Leer más", "label-history": "Historial", "tooltip-clear-history": "Limpiar el historial de búsqueda", "label-path-option-description": "coincidir la ruta del archivo", "label-file-name-option-description": "coincidir el nombre de archivo", "label-tag-option-description": "buscar por etiquetas", "label-line-option-description": "buscar palabras clave en la misma línea", "label-section-option-description": "buscar palabras clave bajo el mismo encabezado", "label-property-option-description": "coincidir la propiedad", "menu-opt-search-for": "Buscar por \"{{keyword}}\"", "menu-opt-search-in-folder": "Buscar en la carpeta" }, "quick-switcher": { "name": "Selector rápido", "desc": "Abra cualquier archivo sin dejar su teclado. Ctrl/Cmd+O para activar.", "short-name": "Selector", "action-open": "Abrir selector rápido", "instruction-navigate": "para navegar", "instruction-open": "para abrir", "instruction-open-in-new-tab": "para abrir en una nueva pestaña", "instruction-open-to-the-right": "para abrir a la derecha", "instruction-create": "para crear", "instruction-dismiss": "para descartar", "instruction-select": "para seleccionar", "label-no-note-create-new": "No se encontraron notas. Presione Enter para crear una nueva.", "prompt-type-file-name": "Escriba el nombre del archivo para cambiar o crear...", "label-enter-to-create": "Presione Enter para crear", "tooltip-not-created-yet": "Aún no creada, seleccione para crear", "option-show-existing-only": "Mostrar solo archivos existentes", "option-show-existing-only-description": "Decida si mostrar o no los enlaces a archivos que no han sido creados aún.", "option-show-attachments": "Mostrar adjuntos", "option-show-attachments-desc": "Mostrar archivos adjuntos como imágenes, videos y PDFs.", "option-show-all-file-types": "Mostrar todos los tipos", "option-show-all-file-types-desc": "Mostrar todos los archivos incluyendo aquellos que Obsidian no puede abrir. Estos serán abiertos con la app por defecto." }, "graph-view": { "name": "Vista gráfica", "desc": "Vea un resumen gráfico de cuales notas están enlazadas con cuales.", "action-open": "Abrir vista gráfica", "action-open-local": "Abrir gráfico local", "action-copy-screenshot": "Copiar captura de pantalla", "tab-title": "Gráfico de {{displayText}}", "label-filters": "Filtros", "prompt-filter-nodes": "Buscar archivos...", "option-depth": "Profundidad", "option-depth-description": "Mostrar nodos que se encuentran a este número de enlaces de distancia", "option-neighbor-links": "Enlaces adyacentes", "option-neighbor-links-description": "Mostrar enlaces entre notas vecinas.", "option-forelinks": "Enlaces salientes", "option-forelinks-description": "Mostrar enlaces a otras notas", "option-backlinks": "Enlaces entrantes", "option-backlinks-description": "Mostrar enlaces desde otras notas", "option-show-tags": "Etiquetas", "option-show-tags-description": "Las etiquetas están vinculadas a las notas que las contienen", "option-show-attachments": "Adjuntos", "option-show-attachments-description": "Mostrar archivos incluidos", "option-show-existing-files-only": "Solo archivos existentes", "option-show-existing-files-only-description": "Cuando está activada, no se muestran los enlaces a archivos no existentes", "option-show-orphans": "Huérfanos", "option-show-orphans-description": "Muestra los archivos que no están vinculados a ningún otro", "label-display": "Mostrar", "option-show-arrows": "Flechas", "option-show-arrows-description": "Mostrar flechas al hacer zoom", "option-text-fade": "Umbral de desvanecimiento", "option-node-size": "Tamaño del nodo", "option-link-thickness": "Grosor de la línea", "label-forces": "Fuerzas", "option-center-force": "Fuerza centrípeta", "option-link-force": "Fuerza de enlace", "option-link-distance": "Distancia de enlace", "option-repel-force": "Fuerza de repelencia", "tooltip-open-graph-settings": "Abrir ajustes de gráfico", "msg-screenshot-copied": "La captura ha sido copiada al portapapeles.", "label-groups": "Grupos", "placeholder-enter-query": "Ingresar consulta...", "tooltip-delete-graph": "Eliminar grupo", "button-new-group": "Nuevo grupo", "tooltip-click-to-change-drag-to-reorder": "Pinche para cambiar el color\nArrastre para reordenar los grupos", "action-timelapse": "Muestra una animación histórica del gráfico", "tooltip-start-timelapse-animation": "Iniciar animación histórica del gráfico", "button-animate-timelapse": "Animar" }, "backlinks": { "name": "Enlaces entrantes", "desc": "Muestre el número de enlaces entrantes en la barra de estatus.", "action-open": "Abrir enlaces entrantes", "action-show": "Mostrar panel de enlaces entrantes", "action-open-for-current": "Abrir enlaces entrantes para el archivo actual", "action-toggle-backlinks-in-document": "Alternar enlaces entrantes en el documento", "menu-opt-backlinks-in-document": "Enlaces entrantes en el documento", "label-linked-mentions": "Menciones con enlaces", "label-no-backlinks": "No se encontraron enlaces entrantes.", "label-unlinked-mentions": "Menciones sin enlace", "label-show-search": "Mostrar filtro de búsqueda", "label-link-button-text": "Enlace", "tab-title": "Enlaces entrantes de {{displayText}}", "label-no-unlinked-mentions": "No se encontraron menciones sin enlace.", "ellipsis": "...", "option-backlink-in-document": "Enlaces entrantes en el documento", "option-backlink-in-document-desc": "Mostrar enlaces entrantes en el documento por defecto al abrir nuevos paneles." }, "outgoing-links": { "name": "Enlaces salientes", "desc": "Mostrar enlaces salientes y detectar menciones no enlazadas de otras notas en la nota actual.", "action-open": "Abrir enlaces salientes", "action-show": "Mostrar panel de enlaces salientes", "action-open-for-current": "Abrir enlaces salientes del archivo actual", "tab-title": "Enlaces salientes de {{displayText}}", "label-links": "Enlaces", "label-no-links": "No se encontraron enlaces.", "label-unlinked-mentions": "Menciones no enlazadas", "tooltip-link-file": "Enlazar este archivo", "tooltip-not-created": "No creado aún" }, "tag-pane": { "name": "Panel de Etiquetas", "short-name": "Etiquetas", "desc": "Muestra sus etiquetas junto con el número de ocurrencias.", "action-show": "Mostrar panel de etiquetas", "label-no-tags": "Etiquetas no encontradas.", "label-sort-by-name-a-to-z": "Nombre de etiqueta (A-Z)", "label-sort-by-name-z-to-a": "Nombre de etiqueta (Z-A)", "label-sort-by-frequency-high-to-low": "Frecuencia (alta-baja)", "label-sort-by-frequency-low-to-high": "Frecuencia (baja-alta)", "action-show-nested-tags": "Mostrar etiquetas anidadas", "action-collapse-all": "Colapsar todo", "action-expand-all": "Expandir todo" }, "footnotes-pane": { "name": "Vista de notas al pie", "short-name": "Notas al pie", "desc": "Mostrar una lista de notas al pie en la nota actual.", "action-show": "Mostrar notas al pie", "label-no-footnotes": "No se encontraron notas al pie." }, "properties": { "name": "Vista de propiedades", "desc": "Muestra los metadatos de tus archivos", "name-global": "Todas las propiedades", "name-local": "Propiedades del archivo", "tab-title": "Propiedades de los archivos para {{displayText}}", "action-show": "Mostrar todas las propiedades", "action-show-local": "Mostrar propiedades de archivo", "opt-unassign-type": "Desasignar tipo", "label-no-properties": "No se han encontrado propiedades.", "label-invalid-properties": "Propiedades inválidas.", "label-sort-by-name-a-to-z": "Nombre de la propiedad (A-Z)", "label-sort-by-name-z-to-a": "Nombre de la propiedad (Z-A)", "label-sort-by-frequency-high-to-low": "Frecuencia (alta a baja)", "label-sort-by-frequency-low-to-high": "Frecuencia (baja a alta)", "msg-merge-properties-warning": "Combinar la propiedad “{{oldKey}}” con “{{newKey}}”?", "msg-merge-properties-warning-desc": "En caso de conflicto, los valores serán combinados o se usará el valor de “{{oldKey}}”.", "action-collapse-all": "Contraer todo", "action-expand-all": "Expandir todo", "action-open-local": "Abrir las propiedades del archivo", "action-open-daily-note": "Abrir la nota diaria" }, "page-preview": { "name": "Vista previa", "desc": "Mostrar la vista previa de una nota al colocar el cursor sobre un link interno. Ctrl/Cmd + cursor en modo edición.", "label-empty-attachment": "No se encontró “{{linktext}}”.", "label-empty-note": "\"{{linktext}}\" no se ha creado todavía. Haga clic para crearla.", "label-missing-footote": "La nota al pie {{id}} no se encontró. Haga clic para crearla.", "label-source-editor": "Editor", "label-source-preview": "Vista previa", "label-source-search": "Búsqueda, Enlaces Entrantes y Enlaces Salientes", "label-source-tab-header": "Encabezado de pestaña", "label-require-mod": "Requerir {{key}} para desencadenar la vista previa de página al ponerse encima" }, "bookmarks": { "name": "Marcadores", "desc": "Marcar archivos y búsquedas usadas frecuentemente.", "action-show": "Mostrar marcadores", "action-collapse-all": "Colapsar todo", "action-new-bookmark": "Marcar la etiqueta activa...", "action-new-group": "Nuevo grupo de marcadores", "action-bookmark": "Marcar...", "action-add-bookmark": "Añadir marcador", "action-edit-bookmark": "Editar marcador", "action-bookmark-block": "Marcar bloque bajo el cursor...", "action-bookmark-heading": "Marcar el encabezado bajo el cursor...", "action-bookmark-search": "Marcar la búsqueda actual...", "action-remove-bookmark": "Eliminar el marcador del archivo actual", "action-bookmark-tab-group": "Marcar {{count}} pestaña...", "action-bookmark-tab-group_plural": "Marcar {{count}} pestañas...", "action-bookmark-all-tabs": "Marcar todas las pestañas...", "action-bookmark-graph": "Marcar este gráfico...", "label-bookmark": "Marcador", "label-bookmarked": "Marcador creado", "label-bookmark-with-count": "{{count}} marcador", "label-bookmark-with-count_plural": "{{count}} marcadores", "label-no-bookmarks": "No se encontraron marcadores", "label-invalid-data": "Error al cargar los marcadores.", "label-invalid-data-desc": "El archivo de datos está dañado.", "label-untitled-group": "Grupo sin título", "label-untitled-graph": "Gráfico sin título", "menu-opt-edit": "Editar...", "menu-opt-remove": "Eliminar", "menu-opt-rename": "Renombrar", "menu-opt-bookmark-block": "Marcar este bloque...", "menu-opt-bookmark-heading": "Marcar este encabezado...", "msg-no-search-query": "No hay una consulta que marcar.", "option-path": "Ruta", "option-query": "Consulta", "option-u-r-l": "URL", "option-title": "Título", "option-group": "Grupo de marcadores", "placeholder-bookmark-group": "Marcadores" }, "custom-css": { "name": "CSS personalizado", "desc": "Lee el archivo \"obsidian.css\" en la bóveda y lo aplica.", "setting-community-themes": "Temas de la comunidad", "msg-fetching-themes": "Obteniendo datos de los temas de la comunidad...", "prompt-filter": "Filtrar...", "label-dark-theme-only": "Solo temas oscuros", "label-light-theme-only": "Solo temas claros", "label-use": "Aplicar", "label-stop-use": "Dejar de usar este tema", "label-install-and-use": "Instalar y usar", "label-update": "Actualizar", "label-no-readme": "Este tema no proporciona un archivo LÉEME.", "tooltip-remove-theme": "Quitar tema", "label-visit-on-github": "Ver en GitHub", "msg-load-error": "No se han podido cargar los temas de la comunidad, por favor revise su conexión.", "msg-now-using-theme": "Ahora está usando {{title}} como el tema CSS.", "msg-deleted-theme": "Se eliminó el tema {{title}}.", "msg-updated-theme": "Se actualizó el tema {{title}}.", "label-installed": "Instalado", "label-legacy": "Legado", "button-update-all-themes": "Actualizar todo", "msg-failed-load-themes": "Error al cargar los temas de la comunidad.", "msg-no-updates-found": "No se encontraron actualizaciones de temas.", "msg-updates-found": "Se encontró actualización para {{count}} tema.", "msg-updates-found_plural": "Se encontró actualización para {{count}} temas.", "msg-failed-to-install-theme": "Error al instalar el tema \"{{name}}\".", "msg-successfully-installed-theme": "Se instaló satisfactoriamente el tema \"{{name}}\".", "msg-installing-theme": "Instalando tema \"{{name}}\"...", "label-search-summary": "Mostrando {{themeCount}}:", "label-update-available": "Actualización disponible" }, "command-palette": { "name": "Paleta de comandos", "desc": "Escriba un comando para invocarlo. No es necesario usar la interfaz de usuario para recordar un atajo.", "action-open": "Abrir paleta de comandos", "instruction-navigate": "para navegar", "instruction-use": "para usar", "instruction-dismiss": "para descartar", "label-no-commands": "No se encontraron comandos.", "prompt-type-command": "Escribe un comando...", "label-pinned-commands": "Comandos fijados", "option-add-new-pin": "Nuevo comando fijado", "option-add-new-pin-description": "Los comandos fijados aparecerán al principio de todos los comandos cuando no se haya ingresado una consulta." }, "markdown-format-importer": { "name": "Importador de formato Markdown", "desc": "Convertir el formato Markdown de otras apps al formato de Obsidian.", "action-open": "Abrir el importador de Markdown", "option-roam-tag-fixer": "Corrector de etiquetas de Roam Research", "option-roam-tag-fixer-description": "Convierte \"#etiqueta\" y \"#[[etiqueta]]\" a \"[[etiqueta]]\".", "option-roam-highlight-fixer": "Corrector de resaltados de Roam Research", "option-roam-highlight-fixer-description": "Convierte \"^^highlight^^\" a \"==highlight==\".", "option-roam-todo-converter": "Convertidor de tareas de Roam Research", "option-roam-todo-converter-description": "Convierte de \"{{[[TODO]]}}\" a \"[ ]\".", "option-bear-highlight-fixer": "Corrector de resaltados de Bear", "option-bear-highlight-fixer-description": "Convierte \"::highlight::\" en \"==highlight==\".", "zettelkasten-link-fixer": "Corrector de enlaces de Zettelkasten", "zettelkasten-link-fixer-description": "Corrige enlaces de \"[[UID]]\" a \"[[UID Nombre de Archivo]]\".", "zettelkasten-link-beautifier": "Embellece los enlaces de Zettelkasten", "zettelkasten-link-beautifier-description": "Arregla enlaces y cambia el formato de \"[[UID]]\" a \"[[UID Nombre de Archivo|Nombre de Archivo]]\".", "frontmatter-migration": "Migración de metadatos", "frontmatter-migration-description": "Migrar las etiquetas, aliases y cssclasses al formato estricto requerido por Obsidian v1.9+", "msg-all-files-warning": "Advertencia: El importador convertirá todos los archivos de la bóveda, no solo el archivo actual.", "msg-override-files-warning": "Sus archivos serán sobreescritos. Haga un respaldo antes de intentar la conversión.", "label-start-conversion": "Empezar la conversión", "label-stop": "Cancelar", "label-go-back": "Regresar", "label-done": "Listo", "label-processing": "Procesando...", "label-cancelling": "Cancelando...", "label-finished": "¡Completado!", "label-processed-files": "Archivos procesados", "label-modified-files": "Archivos modificados", "label-total-replacements": "Reemplazos totales", "label-failed": "Error" }, "daily-notes": { "name": "Notas diarias", "desc": "Abrir la nota de hoy o crear una si no hay una presente.", "short-name": "Hoy", "action-open": "Abrir la nota de hoy", "action-open-previous": "Abrir la nota diaria anterior", "action-open-next": "Abrir la siguiente nota diaria", "action-insert-text": "Insertar texto en nota diaria", "action-insert-link": "Insertar enlace en nota diaria", "msg-fail-format": "Error al crear nota diaria. \"{{format}}\" no es un formato válido.", "msg-fail-folder": "Error al crear nota diaria. La carpeta \"{{folderOption}}\" no existe.", "msg-fail-template-file": "Error al crear nota diaria. El archivo de plantilla \"{{template}}\" no existe.", "msg-no-previous": "No hay nota diaria antes de esta.", "msg-no-next": "No hay nota diaria después de esta.", "option-date-format": "Formato de fecha", "label-refer-to-syntax": "Para más opciones, vea: ", "label-syntax-link": "referencia de formato", "label-syntax-live-preview": "Así es como se verá: ", "option-new-file-location": "Ubicación del nuevo archivo", "option-new-file-location-description": "La carpeta para crear una nota diaria nueva.", "option-template": "Ubicación de la plantilla", "option-template-description": "La ruta al archivo para usar como plantilla.", "option-open-on-start": "Abrir nota diaria al inicio", "option-open-on-start-description": "Cargar la nota diaria automáticamente cuando abre esta bóveda." }, "unique-note-creator": { "name": "Creador de notas únicas", "desc": "Crea notas con prefijo de marca de tiempo único para flujos de trabajo como Zettelkasten o slip box.", "short-name": "Único", "action-create-note": "Crear nueva nota única", "action-add-link": "Add unique internal link", "option-new-file-location": "Ubicación de archivo nuevo", "option-new-file-location-description": "La ruta de la carpeta para crear la nota única nueva.", "msg-folder-not-found": "Error al crear nota única. No se encontró la carpeta \"{{folderOption}}\".", "option-template-file": "Ubicación de plantilla", "option-template-file-description": "La ruta al archivo que se usará como plantilla.", "option-template-file-placeholder": "Ejemplo: carpeta1/nota", "option-id-format": "Formato de prefijo único", "msg-template-file-not-found": "Error al crear nota única. No se encontró la plantilla \"{{template}}\".", "msg-failed-to-generate": "Error al generar una nueva única con el formato \"{{format}}" }, "random-note": { "name": "Nota aleatoria", "desc": "Abre una nota al azar. Útil para repasar y descubrir.", "short-name": "Aleatorio", "action-open": "Abrir nota al azar" }, "outline": { "name": "Esquema", "desc": "Muestra el esquema del archivo actual o el panel enlazado.", "action-open": "Abrir el esquema", "action-show": "Mostrar panel de esquema", "action-open-for-current": "Abrir el esquema del archivo actual", "tab-title": "Esquema de {{displayText}}", "label-no-headings": "No se encontraron encabezados.", "label-follow-cursor": "Autodesplazar a la sección actual" }, "word-count": { "name": "Conteo de palabras", "desc": "Muestra el número de palabras en la barra de estado." }, "slides": { "name": "Diapositivas", "desc": "Cree presentaciones usando Markdown. Use \"---\" para separar diapositivas.", "action-start": "Empezar presentación" }, "audio-recorder": { "name": "Grabadora de audio", "desc": "Grabe audio y guárdelo como archivo adjunto.", "action-start": "Empezar grabación", "action-stop": "Detener grabación", "action-toggle": "Iniciar/Detener la grabación", "msg-access-denied": "El acceso al micrófono fue denegado, por favor habilítelo desde el panel de preferencias.", "msg-pending-grant": "Por favor autorice acceso al micrófono para empezar a grabar.", "msg-no-microphone": "No se encontró un micrófono conectado." }, "open-with-default-app": { "name": "Abrir en la app por defecto", "desc": "Añadir botón para abrir el archivo actual en la app por defecto.", "action-open-file": "Abrir en la app por defecto", "action-open-file-mobile": "Compartir", "action-show-in-folder": "Mostrar en carpeta", "action-show-in-folder-mac": "Mostrar en el Finder" }, "templates": { "name": "Plantillas", "desc": "Insertar contenido de plantillas desde una carpeta de archivo de plantillas.", "action-insert": "Insertar plantilla", "action-insert-current-date": "Insertar fecha actual", "action-insert-current-time": "Insertar hora actual", "option-template-folder-location": "Ubicación de la carpeta de plantillas", "option-template-folder-location-description": "Los archivos en esta carpeta estarán disponibles como plantillas.", "option-template-date-format": "Formato de fecha", "option-template-date-format-description": "{{date}} en la plantilla será reemplazado con este valor.", "option-template-date-format-description2": "También puede usar {{date:YYYY-MM-DD}} para sobreescribir el formato una vez.", "option-template-time-format": "Formato de tiempo", "option-template-time-format-description": "{{time}} en la plantilla será reemplazado con este valor.", "option-template-time-format-description2": "También puede usar {{time:HH:mm}} para sobreescribir el formato una vez.", "instruction-navigate": "para navegar", "instruction-insert": "para insertar plantilla", "instruction-dismiss": "para descartar", "msg-no-templates-found": "No se encontraron plantillas", "msg-fail-invalid-folder": "Error al listar las plantillas. La carpeta de plantillas es inválida.", "msg-fail-folder-not-found": "Error al listar las plantillas. No sé encontró la carpeta \"{{folderOption}}\".", "msg-fail-invalid-template-properties": "No se pudo insertar la plantilla, las propiedades en la plantilla no se pudieron leer", "msg-no-folder-set": "Error al listar plantillas. No se configuró una carpeta de plantillas.", "prompt-type-template": "Escriba el nombre de una plantilla..." }, "translucency": { "name": "Ventana translúcida", "desc": "Activa un efecto de translucidez que aumenta la sensación de profundidad. Mejor para usar en modo oscuro. No soportado en Linux." }, "slash-command": { "name": "Comandos de barra diagonal", "desc": "Habilita la opción para permitir comandos de barra diagonal en el editor tipeando una barra diagonal hacia adelante." }, "editor-status": { "name": "Estado del editor", "desc": "Mostrar el estado del editor en la barra de estado y un botón para cambiar el modo del editor.", "read": "Leyendo", "edit-source": "Codigo fuente", "edit-live-preview": "Vista previa" }, "publish": { "name": "Publish", "desc": "Publique sus notas a través de Obsidian Publish.", "action-publish-changes": "Publicar cambios", "action-publish-file": "Publicar el archivo actual", "label-no-internet-access": "Necesita acceso a internet para publicar los cambios.", "label-publish-service-description": "Obsidian Publish es un servicio complementario de pago que le permite publicar sus notas en internet directamente desde Obsidian.", "label-please-login": "Para empezar a publicar, por favor inicie sesión o cree una nueva cuenta de Obsidian.", "label-no-publish-subscription": "Todavía no tiene una suscripción a Obsidian Publish.", "button-purchase": "Comprar", "label-manage-sites": "Administrar las páginas web", "label-no-sites": "No tiene ninguna página web.", "button-choose": "Elegir", "tooltip-edit-site-id": "Editar ID de página web", "tooltip-delete-site": "Eliminar página web", "label-delete-site-confirmation": "¿Está seguro de que quiere eliminar esta página web?", "label-delete-site-details": "Esta acción eliminará inmediata y permanentemente su página web.", "label-confirm-delete-site": "Confirmación de borrado de la página web \"{{site}}\"", "option-site-id": "ID de página web", "option-site-id-description": "Su página web estará en https://publish.obsidian.md/{site id}. Puede cambiar esto después. Solo se permiten letras minúsculas, números y guiones.", "option-site-id-placeholder": "Elegir un ID de página web", "button-create": "Crear", "msg-invalid-site-id": "El ID de página web solo puede contener letras minúsculas, números y guiones.", "msg-site-id-in-use": "Este ID de página web está en uso, por favor pruebe con otro.", "msg-create-site-issue": "Hubo un problema al crear su página web.", "label-site-options": "Opciones de la página web", "option-site-general": "General", "option-site-components": "Componentes", "option-site-appearance": "Apariencia", "option-site-reading-experience": "Experiencia de lectura", "option-site-misc": "Otros ajustes de la página web", "option-site-name": "Nombre de la página web", "option-site-name-description": "Nombre de la página web publicada. Se mostrará en el título de página de su página web.", "option-site-name-placeholder": "Nombre de la página web", "option-home-page-file": "Archivo de página de inicio", "option-home-page-file-description": "La primera página que el usuario ve al ingresar a su página web publicado", "option-home-page-file-placeholder": "Elija un archivo publicado", "option-logo": "Logo", "option-logo-description": "Elija un archivo de imagen como logo para su página web.", "option-logo-placeholder": "Cualquier imagen de su bóveda...", "option-site-collaboration": "Colaboración de página web", "option-site-collaboration-desc": "Administre los colaboradores para esta página web.", "option-customize-navigation": "Personalizar navegación", "option-customize-navigation-desc": "Anular el orden de los elementos de navegación y ocultar páginas o carpetas.", "option-navigation-order": "Orden de los elementos de navegación", "option-hide-items-in-navigation": "Ocultar páginas o carpetas de la navegación", "option-hide-items-in-navigation-desc": "Haga clic derecho y seleccione \"Ocultar\" para prevenir que ciertas páginas aparezcan en la navegación del sitio. Las páginas aún serán accesibles mediante enlaces o accediendo a la dirección URL.", "option-show-hidden-items": "Mostrar archivos ocultos", "button-customize-sidebar": "Administrar", "label-navigation-modal-title": "Navegación", "label-navigation-modal-desc": "Arrastrar y soltar para personalizar el orden en que los elementos de navegación aparecen en su sitio publicado.", "option-hide-in-navigation": "Ocultar en navegación", "button-manage-collaborators": "Administrar", "option-theme": "Tema", "option-theme-description": "Elegir el esquema de color por defecto para su sitio.", "option-theme-system": "Adaptar al sistema", "option-show-theme-toggle": "Alternar modo claro/oscuro", "option-show-theme-toggle-description": "Permite que el visitante elija entre el tema claro y oscuro por su cuenta.", "option-show-navigation": "Mostrar navegación", "option-show-navigation-description": "Muestra una lista de todas las páginas publicadas en el panel izquierdo de su sitio publicado.", "option-show-search": "Mostrar barra de búsqueda", "option-show-search-description": "Mostrar una barra de búsqueda en la parte superior de la navegación que permite al visitante buscar páginas y encabezados en su sitio.", "option-show-graph": "Mostrar vista gráfica", "option-show-graph-description": "Muestra un pequeño gráfico local en cada página.", "option-show-outline": "Mostrar tabla de contenidos", "option-show-outline-description": "Mostrar el esquema de encabezados en cada página.", "option-show-backlinks": "Mostrar enlaces entrantes", "option-show-backlinks-description": "Muestra una sección con los enlaces entrantes al final de cada página.", "option-sliding-window-mode": "Usar ventanas deslizantes", "option-sliding-window-mode-description": "Abre las páginas en nuevos paneles a la deerecha. Permite hacer scroll horizontal a través de ellos.", "option-hover-preview-file": "Mostrar previsualización al ponerse encima", "option-hover-preview-file-description": "Muestra una vista previa de la página al ponerse encima de los enlaces.", "option-hide-title": "Ocultar título de página", "option-hide-title-description": "Oculta el encabezado el título de página. Es útil cuando tienes tus propios encabezados al inicio de cada página.", "option-readable-line-length": "Longitud de línea visible", "option-readable-line-length-description": "Establece la longitud máxima de cada línea. Muestra menos contenido en la pantalla, pero hace más legibles los párrafos largos.", "option-site-password": "Contraseñas", "option-site-password-description": "Restringir el acceso a su sitio con una contraseña.", "option-google-analytics": "Código de seguimiento de Google Analytics", "option-google-analytics-description": "Configure Google Analytics para su sitio. Solo los visitantes disponibles de su URL personalizada. Por favor, primero verifique sus leyes y regulaciones locales.", "button-manage-passwords": "Administrar", "button-save-site-settings": "Guardar ajustes de sitio", "msg-updated-options": "Las opciones de su sitio fueron actualizadas.", "button-go-back": "Atrás", "label-publishing-to": "Publicar a", "tooltip-switch-site": "Cambiar sitio", "button-add-linked": "Añadir enlace", "tooltip-add-linked": "Añadir todos los archivos que se encuentran enlazados por los elementos seleccionados", "msg-added-linked-files": "{{count}} archivo enlazado ha sido añadido.", "msg-added-linked-files_plural": "{{count}} archivos enlazados han sido añadidos.", "tooltip-open-site-options": "Cambiar ajustes de sitio", "label-no-changes-detected": "No se detectó ningún cambio.", "label-changed-files-to-be-published": "Cambios", "label-unchanged-files-already-published": "Sin cambios (selecciona para eliminar)", "label-file-selected": " seleccionado", "button-select-all-files": "Seleccionar todo", "label-custom-navigation-title": "Elementos de navegación", "button-deselect-all-files": "Deseleccionar todo", "label-new-files-to-be-published": "Nuevo", "button-publish": "Publicar", "msg-no-permission-to-publish-to-site": "No tiene permiso para publicar el sitio actual.", "msg-select-at-least-one-file": "Por favor seleccione al menos un archivo.", "label-upload-changes": "Subir cambios", "button-done": "Hecho", "button-stop": "Detener", "label-status-uploading": "Subiendo", "label-status-to-publish": "Por publicar", "label-status-to-delete": "Por eliminar", "label-status-published": "Publicado", "label-status-deleted": "Eliminado", "label-status-failed": "Error", "label-status-cancelled": "Cancelado", "button-change": "Cambio", "label-clear-cache": "Los cambios tardan unos minutos en reflejarse en su sitio. Si no ve sus últimos cambios, pruebe limpiando el caché de su navegador.", "label-visit-site": "Puede visitar su sitio aquí: ", "msg-something-went-wrong": "Algo no funcionó. Por favor revisa la consola de desarrollador para obtener detalles.", "msg-network-error": "Ocurrió un error de red. ", "label-manage-passwords": "Administrar contraseñas", "label-add-password": "Añadir contraseña", "action-new-password": "Nueva contraseña", "label-no-password": "Actualmente su sitio no tiene ninguna contraseña. Cualquiera puede visitarlo.", "label-have-password": "Su sitio está protegido por contraseña. Si tiene múltiples contraseñas, los visitantes pueden acceder su sitio ingresando cualquiera de ellas.", "option-password-name": "Contraseña", "option-password-desc": "Se almacenará un hash de su contraseña de manera segura. Una vez que se fija una contraseña, no puede mostrarse en texto plano.", "option-password-placeholder": "Su contraseña", "option-nickname-name": "Apodo (opcional)", "option-nickname-desc": "Elija un apodo para recordar para qué o para quién es la contraseña.", "action-add-password": "Añadir esta contraseña", "label-untitled-password": "Contraseña sin título", "label-password-created-time": "Creada {{time}}", "msg-added-new-password": "Contraseña nueva añadida.", "option-custom-domain": "Dominio personalizado", "option-custom-domain-desc": "Utilice su propio dominio en lugar de la URL https://publish.obsidian.md/{site id}.", "option-noindex": "Deshabilitar indexado de motores de búsqueda", "option-noindex-desc": "Prevenir que los motores de búsqueda indexen su página web.", "button-configure": "Configurar", "label-configure-custom-domain": "Configurar un dominio personalizado", "option-custom-url-name": "URL personalizada", "option-custom-url-desc": "La URL de su página web estará ubicada en.", "option-custom-url-placeholder": "www.sudominio.com", "option-custom-url-redirect": "Redirigir a su dominio personalizado", "option-custom-url-redirect-desc": "Redirige a los visitantes de publish.obsidian.md/id a su dominio personalizado.", "button-update-custom-domain": "Actualizar ajustes de dominio", "label-custom-domain-instructions": "Por favor remítase a {{link}} para recibir más información.", "label-custom-domain-link-name": "guía de configuración de dominio personalizado", "label-site-usage": "Está usando {{site}} de {{limit}}.", "button-add-more-sites": "Comprar más páginas web", "label-no-sites-bought": "No ha comprado ninguna página web.", "button-get-site": "Obtener una página web", "label-manage-sharing": "Administrar compartición de \"{{name}}\"", "label-sharing-with-users": "Actualmente esta página web se comparte con las siguientes personas.", "label-not-sharing": "Esta página web no está compartida con nadie actualmente.", "label-invite-pending": "Pendiente", "tooltip-remove-user": "Eliminar usuario", "option-invite-user": "Invitar usuario", "placeholder-invite-user": "Ingrese su correo electrónico...", "error-email-must-be-valid": "Por favor, ingrese una dirección de correo electrónico correcta para invitar a alguien.", "msg-enable-publish-plugin": "Por favor, habilite el complemento Publish en Ajustes --> Complementos principales para ver sus páginas web.", "label-your-sites": "Sus páginas web", "label-sites-shared-with-you": "Sitios compartidos con usted", "tooltip-leave-site-sharing": "Dejar de colaborar en esta página web", "label-leave-site-confirmation": "Dejar de colaborar en la página web", "label-leave-site-confirmation-details": "Esto eliminará la página web de la lista de sitios compartidos con usted. Esta acción es irreversible.", "label-leave-site-confirmation-details-2": "Por favor comuníquese con el dueño de la página web si quiere volver a colaborar.", "button-leave": "Abandonar", "label-compare-with-live": "Comparar con la versión en vivo", "button-use-live-version": "Usar versión en vivo", "label-confirm-override": "Confirmar anular la versión local", "label-confirm-override-1": "¿Está seguro de que desea anular la versión local?", "label-confirm-override-2": "Se usará la versión en vivo y la versión local será descartada. Por favor haga los respaldos que estime necesarios.", "button-proceed": "Proceder", "message-successfully-used-live-version": "Se ha usado la versión en vivo de forma satisfactoria para anular su versión local.", "label-open-in-live-site": "Abrir en un sitio en vivo", "label-open-file": "Abrir archivo", "tooltip-manage-publish-filters": "Administrar los filtros de publicación", "option-included-folders": "Carpetas incluidas", "option-included-folders-desc": "Los archivos bajo estas carpetas serán seleccionados automáticamente cuando revise los cambios para publicar.", "option-currently-included-folders": "Estas carpetas están incluidas actualmente:", "option-excluded-folders": "Carpetas excluidas", "option-excluded-folders-desc": "Los archivos bajo estas carpetas no se mostrarán cuando revise los cambios a publicar. Este ajuste tiene prioridad sobre las carpetas incluidas abajo.", "label-number-of-folders-included": "Obsidian Publish incluye actualmente {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish excluye actualmente {{folders}}.", "label-manage-included-folders": "Administrar carpetas incluidas", "label-manage-excluded-folders": "Administrar carpetas excluidas", "label-add-included-folder": "Incluir una carpeta", "label-add-included-folder-desc": "Puede incluir tanto carpetas existentes como carpetas que no se han creado aún.", "tooltip-contact-support": "Contactar a soporte", "label-navigation-preview": "Vista previa de navegación" }, "workspaces": { "name": "Espacios de trabajo", "desc": "Guardar y cargar una disposición de espacio de trabajo.", "action-load-layout": "Cargar disposición de espacio de trabajo", "action-manage-layouts": "Gestionar disposiciones de espacio de trabajo", "action-save": "Guardar disposición", "action-save-and-load-layout": "Guardar y cargar otra disposición", "placeholder-save-current-layout-as": "Guardar la disposición de espacio de trabajo actual como...", "button-save": "Guardar", "button-load": "Cargar", "tooltip-delete-layout": "Borrar disposición", "msg-enter-name": "Por favor ingrese un nombre para la nueva disposición.", "msg-save-layout-success": "Disposición guardada satisfactoriamente.", "label-no-layout-found": "No se han encontrado disposiciones guardadas.", "label-workspace-modified-time": "Modificada {{time}}", "placeholder-type-to-search-layouts": "Escriba el nombre de la disposición..." }, "sync": { "name": "Sync", "desc": "Sincronice sus archivos mediante Obsidian Sync.", "action-view-version-history": "Ver historial de versiones", "action-setup-sync": "Configurar Sync", "menu-opt-view-version-history": "Abrir el historial de versiones", "action-view-sync-sidebar": "Mostrar historial de sincronización", "action-activity-log": "Abrir el registro de actividad", "label-load-more": "Cargar más", "label-show-diff": "Mostrar diferencias", "label-copy-to-clipboard": "Copiar al portapapeles", "label-restore-this-version": "Restaurar esta versión", "msg-already-latest-version": "Esta versión ya es la última versión.", "msg-restored-version": "Se ha restaurado exitosamente la versión del {{time}}", "label-file-deleted": "Este archivo fue eliminado", "label-file-deleted-via": "Eliminado mediante {{ device }}", "label-file-renamed-from": "Este archivo fue renombrado desde \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Movido desde “{{from}}”", "label-file-moved-from-to": "Movido desde “{{from}}” a “{{to}}”", "label-revision": "1 revisión", "label-revision_plural": "{{revisions}} revisiones", "label-via-device": "mediante {{device}}", "label-no-history": "No hay historial de versiones para este archivo.", "label-empty-file": "Vacío", "label-unable-to-retrieve": "Imposible recuperar el historial de versiones", "label-setting-files": "Archivos de configuración", "label-deleted-files": "Archivos eliminados", "label-version-history": "Historial de versiones", "label-click-to-see-history": "Haga clic en un archivo eliminado para ver su historial.", "label-create-remote-vault": "Crear bóveda remota", "msg-please-enter-password": "Por favor ingrese una contraseña.", "msg-vault-name-cannot-be-empty": "El nombre de la bóveda no puede estar vacío.", "msg-successfully-created-vault": "La bóveda remota \"{{name}}\" se creó exitosamente.", "label-remote-vault-explanation": "Las bóvedas remotas se sincronizan de manera segura con su bóveda local entre dispositivos.", "option-vault-name": "Nombre de la bóveda", "option-vault-name-desc": "Le ayuda a recordar para qué es esta bóveda.", "option-vault-region": "Región", "opt-vault-region-automatic": "Automático", "option-vault-region-desc": "Seleccione la región más cercana a usted para almacenar su bóveda remota. Esta opción no se puede cambiar en el futuro.", "option-vault-name-placeholder": "Mi increíble bóveda", "option-encryption": "Cifrado", "option-encryption-desc": "El cifrado de extremo a extremo ofrece mayor seguridad pero requiere que guarde su contraseña de cifrado de manera segura. El cifrado estándar usa una contraseña manejada por Obsidian para proteger su información durante su tránsito y en nuestros servidores.", "option-encryption-warning": "Está opción no puede ser cambiada más tarde.", "option-encryption-end-to-end": "Cifrado de extremo a extremo", "option-encryption-standard": "Cifrado estándar", "option-encryption-password": "Contraseña de cifrado", "option-encryption-password-desc": "Esta contraseña no puede ser cambiada más tarde.", "option-encryption-password-desc-warning": "Si olvida esta contraseña, cualquier información remota quedará inutilizable para siempre.", "option-encryption-password-desc-2": "Esto no afecta sus datos locales.", "label-encryption-password-explanation": "La bóveda remota “{{name}}” está actualmente cifrada. Ingrese su contraseña para desbloquear.", "option-encryption-password-placeholder": "Su contraseña", "label-unlock-encrypted-vault": "Desbloquee su bóveda remota", "button-unlock-vault": "Desbloquear bóveda", "label-remote-vaults": "Sus bóvedas remotas", "label-vault-created-time": "Creada {{time}}", "tooltip-delete-remote-vault": "Borrar", "tooltip-rename-remote-vault": "Renombrar", "label-rename-remote-vault": "Renombrar bóveda remota \"{{name}}\"", "label-rename-remote-vault-desc": "Ingrese un nuevo nombre para esta bóveda remota.", "tooltip-manage-sharing": "Gestionar compartición", "label-confirm-delete-remote-vault": "Confirmar borrar bóveda", "label-confirm-delete-remote-vault-question": "¿Está seguro de que quiere borrar esta bóveda remota?", "label-confirm-delete-remote-vault-result": "Todos los datos en nuestro servidor, incluido el historial de versiones, será eliminado. Sus datos locales se mantendrán intactos.", "label-confirm-delete-remote-vault-warning": "Esta acción es permanente e irreversible.", "msg-remote-vault-deleted": "La bóveda {{name}} ha sido eliminada.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: La bóveda remota conectada ya no existe.", "button-connect-to-remote-vault": "Conectar", "button-disconnect-from-remote-vault": "Desconectar", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "No tiene bóvedas remotas.", "label-no-subscription": "No tiene una suscripción a Obsidian Sync.", "label-please-visit": "Por favor visite", "label-preview-unsupported-file-type": "Es imposible previsualizar archivos {{type}}.", "button-create-new-remote-vault": "Crear nueva bóveda", "label-sync-log": "Registro de sincronización", "option-event-type-all": "Todos", "option-event-type-errors": "Errores", "option-event-type-skipped": "Omitido", "option-event-type-merge-conflicts": "Combinar conflictos", "button-copy-sync-log": "Copiar registro de sincronización", "msg-successfully-copied-sync-log": "Registro de sincronización copiado satisfactoriamente.", "button-retry": "Reintentar", "button-purchase-subscription": "Comprar", "label-third-party-sync-warning": "Conflicto con servicio de sincronización de archivos detectado", "label-third-party-sync-warning-desc": "Peligro: Su bóveda parece estar usando {{service}} como servicio de sincronización de terceros. Si usa Obsidian Sync con esta bóveda, podría tener conflictos, corrupción de archivos o pérdida de datos.", "label-icloud-drive-warning": "Si está usando iCloud Drive, sus carpetas de Documentos y Escritorio podrían ser sincronizadas vía iCloud. Esto podría causar conflictos con Obsidian Sync.", "option-remote-vault": "Bóveda remota", "button-choose-remote-vault": "Elegir", "button-manage-remote-vault": "Administrar", "option-remote-vault-desc-connected": "Actualmente está conectado a la bóveda remota \"{{name}}\".", "option-remote-vault-desc-not-connected": "Actualmente no está conectado a ninguna bóveda remota.", "option-sync-status": "Estado de sincronización", "option-sync-status-desc-paused": "Obsidian Sync está pausado actualmente.", "option-sync-status-desc-running": "Obsidian Sync está ejecutándose actualmente.", "option-device-name": "Nombre del dispositivo", "option-device-name-desc": "Este nombre aparecerá en el registro de sincronización. Déjelo vacío para usar el nombre por defecto.", "button-resume": "Continuar", "button-pause": "Pausar", "option-view-deleted-files": "Archivos eliminados", "option-view-deleted-files-desc": "Ver y restaurar archivos eliminados.", "option-sync-log": "Actividad de sincronización", "option-sync-log-desc": "Ver actividad reciente de sincronización para depuración.", "button-view": "Ver", "button-bulk-restore": "Restauración masiva", "button-restore-files_zero": "Restaurar archivos", "button-restore-files": "Restaurar {{count}} archivo", "button-restore-files_plural": "Restaurar {{count}} archivos", "msg-restoring": "Restaurando…", "msg-restoring-complete": "`Restauración completa: {{succeeded}} exitosos y {{failed}} fallidos.`", "option-vault-size": "Tamaño de la bóveda", "option-vault-size-desc": "Está usando {{size}} de un total de {{limit}}", "option-vault-size-unknown": "Imposible recuperar el tamaño de la bóveda.", "option-vault-size-loading": "Calculando el tamaño de la bóveda...", "option-over-size": "El tamaño de la bóveda supera el límite", "option-almost-over-size": "El tamaño de la bóveda se está aproximando al límite", "msg-largest-files": "Ver archivos más grandes", "msg-largest-files-desc": "Estos son los archivos remotos que ocupan más espacio. Después de borrar los adjuntos, use el botón de purgado para liberar el espacio de su bóveda remota.", "button-upgrade-storage": "Mejorar almacenamiento", "button-purge-remote": "Purgar", "button-hide-my-changes": "Ocultar mis cambios", "tooltip-purge-remote": "Purgar permanentemente los adjuntos eliminados de la bóveda remota para ahorrar espacio.", "msg-purge-complete": "Purgado completo.", "option-prevent-sleep": "Prevenir que el dispositivo se suspenda", "option-prevent-sleep-desc": "Prevenir que el dispositivo se suspenda cuando aún haya archivos por sincronizar.", "option-selective-sync": "Sincronización selectiva", "option-excluded-folders": "Carpetas excluidas", "option-excluded-folder-desc": "Prevenir que ciertas carpetas se sincronicen.", "option-currently-excluded-folders": "Estas carpetas están actualmente excluidas:", "button-manage-excluded-folders": "Administrar", "option-sync-image": "Sincronizar imágenes", "option-sync-image-desc": "Sincronizar archivos de imágenes con las siguientes extensiones: {{extensions}}.", "option-sync-audio": "Sincronizar audio", "option-sync-audio-desc": "Sincronizar archivos de audio con las siguientes extensiones: {{extensions}}.", "option-sync-video": "Sincronizar videos", "option-sync-video-desc": "Sincronizar archivos de video con las siguientes extensiones: {{extensions}}.", "option-sync-pdf": "Sincronizar PDFs", "option-sync-pdf-desc": "Sincronizar archivos PDF.", "option-sync-unsupported": "Sincronizar todos los otros tipos", "option-sync-unsupported-desc": "Sincronizar tipos de archivo no soportados.", "option-vault-config-sync": "Sincronizar ajustes de la bóveda", "option-view-config-files": "Historial de versiones de los ajustes", "option-view-config-files-desc": "Ver y restaurar la historia de versiones de los archivos de configuración.", "option-sync-app": "Ajustes principales", "option-sync-app-desc": "Permitir la sincronización de ajustes del editor, archivos y enlaces, atajos de teclado personalizados, etc.", "option-sync-appearance": "Ajustes de apariencia", "option-sync-appearance-desc": "Sincronizar ajustes de apariencia como modo oscuro, tema activo y fragmentos CSS activados.", "option-sync-appearance-data": "Temas y funcionalidades", "option-sync-appearance-data-desc": "Sincronizar temas y funcionalidades descargadas. Si estos están activados depende del ajuste anterior.", "option-sync-hotkey": "Atajos de teclado", "option-sync-hotkey-desc": "Sincronizar atajos de teclado personalizados.", "option-sync-core-plugin": "Lista de complementos principales activos", "option-sync-core-plugin-desc": "Sincronizar los complementos principales que están activados.", "option-sync-core-plugin-data": "Ajustes de complementos principales", "option-sync-core-plugin-data-desc": "Sincronizar los ajustes de complementos principales.", "option-sync-community-plugin": "Lista de complementos creados por la comunidad activados", "option-sync-community-plugin-desc": "Sincronizar los complementos creados por la comunidad que están activados.", "option-sync-community-plugin-data": "Complementos creados por la comunidad instalados", "option-sync-community-plugin-data-desc": "Sincronizar los complementos creados por la comunidad instalados (archivos .js, .css y manifest.json) y sus ajustes.", "label-sync-loading": "La sincronización aún está cargando, por favor recargue esta página luego.", "label-sync-introduction": "Obsidian Sync es el servicio complementario de sincronización con encripción de extremo a extremo e historial de versiones.", "label-account-required": "Para comenzar la sincronización, por favor inicie sesión o cree una nueva cuenta de Obsidian.", "label-current-file": "Archivo actual", "label-sync-changes": "Sincronizar cambios", "label-today": "Hoy", "label-yesterday": "Ayer", "label-this-week": "Esta semana", "label-older": "Más antiguo", "label-last-sync": "Última sincronización", "label-more": "{{count}} más", "button-sign-up": "Registrarse", "button-log-in": "Iniciar sesión", "label-manage-excluded-folders": "Administrar carpetas excluidas", "label-number-of-folders-excluded": "{{folders}} están excluidas de la sincronización.", "label-add-excluded-folder": "Excluir una carpeta", "label-add-excluded-folder-desc": "Puede excluir carpetas existentes como carpetas que no se han creado aún.", "tooltip-remove-excluded-folder": "Quitar de la lista de exclusión", "label-setup-connection": "Configurar conexión", "label-connecting-to-vault": "Conectando...", "label-connection-failed": "Conexión fallida", "label-connection-failed-desc": "Hubo un error al conectarse a la bóveda remota.", "label-now-connected-to-vault": "Está conectado a \"{{name}}\".", "button-start-syncing": "Iniciar sincronización", "label-confirm-merge-vault": "Confirmar la combinación de las bóvedas", "msg-vault-has-notes": "Su bóveda local ya contiene algunas notas.", "msg-vault-merge-warning": "Si se conecta a la bóveda remota \"{{name}}\", las notas en su bóveda local se mezclarán con las de su bóveda remota. En caso de conflictos, se conservará la versión más reciente de la nota.", "tooltip-update-setting-on-all-devices": "Por favor actualice esta opción y reinicie la app en todos los dispositivos donde quiera que surjan efecto.", "label-sharing-with-users": "Esta bóveda remota se está compartiendo actualmente con las siguientes personas.", "label-not-sharing": "Esta bóveda remota no se está compartiendo actualmente con nadie.", "label-vaults-shared-with-you": "Bóvedas compartidas con usted", "tooltip-leave-vault-sharing": "Dejar de colaborar en esta bóveda", "label-leave-vault-confirmation": "Dejar de colaborar en esta bóveda", "label-leave-vault-confirmation-details": "Esto eliminará la bóveda de la lista de bóvedas compartidas con usted. Esta acción es irreversible.", "label-leave-vault-confirmation-details-2": "Por favor comuníquese con el dueño de esta bóveda si quiere volver a ser un colaborador.", "button-leave": "Abandonar", "msg-error-failed-to-fetch": "Hubo un error al cargar las bóvedas remotas.", "label-require-subscription-to-connect": "Necesita una suscripción a Obsidian Sync para conectarse a esta bóveda.", "option-contact-support": "Contactar a soporte", "option-contact-support-desc": "Si tiene algún problema con Obsidian Sync, por favor comuníquese con nosotros de modo que podamos ayudarle. Puede encontrarnos en support@obsidian.md.", "button-copy-debug": "Copiar información de depuración", "button-email-support": "Correo electrónico de soporte", "label-sync-disconnected": "Sync no está conectado a una bóveda remota.", "msg-remote-vault-limit-hit": "Obsidian Sync le permite crear hasta 5 bóvedas remotas. Para poder crear una nueva bóveda remota, por favor elimine una de las existentes.", "label-upgrade-vault": "Actualizar bóveda", "label-upgrade-vault-encryption": "Actualizar el cifrado de la bóveda", "label-upgrade-vault-encryption-desc": "Hay una nueva versión de cifrado disponible para las bóvedas remotas.", "label-migrate-remote-vault": "Migrar bóveda remota", "label-remote-vault-configuration": "Configuración de bóveda remota", "button-migrate": "Migrar", "msg-recreate-remote-vault": "Esto borrará su bóveda remota y la recreará con el sistema de cifrado más reciente. Los archivos locales no serán afectados, pero su historial de versiones se perderá.", "label-confirm-migrate": "Confirmar migración de la bóveda", "msg-migrate-pre-confirmation-part1": "Para actualizar su cifrado, todos los datos en la bóveda serán resubidos a los servidores de Obsidian Sync usando el nuevo método de cifrado. Este proceso borrará permanentemente los datos antiguos, incluyendo el historial de versiones de su bóveda.", "msg-migrate-pre-confirmation-part2": "Importante: Recomendamos profundamente crear un respaldo de su bóveda para evitar cualquier potencial pérdida de datos.", "msg-migrate-pre-confirmation-part3": "Luego de ocompletar la actualización, necesitará reconectar todos sus dispositivos a la bóveda remota actualizada.", "msg-migrate-confirmation": "Migrar su bóveda puede tomar algo de tiempo. Necesitará mantener Obsidian activo en este dispositivo para volver a subir todas sus notas y adjuntos. Es mejor hacerlo en el dispositivo primario.", "msg-migrate-confirmation-size": "Tiene {{size}} de información. Migrar su bóveda tomará algo de tiempo. Necesitará mantener Obsidian activo en este dispositivo para volver a subir todas sus notas y adjuntos. Es mejor hacerlo en el dispositivo primario.", "msg-proceed-prompt": "¿Desea continuar?", "msg-vault-migration-started": "Migración de la bóveda en curso." }, "file-recovery": { "name": "Recuperación de archivos", "desc": "Le permite recuperar capturas recientes para enmendar pérdidas accidentales de información. Las capturas solo incluyen los archivos Markdown.", "action-open": "Abrir capturas guardadas", "option-interval": "Intervalo de captura", "option-interval-description": "Intervalo mínimo en minutos entre dos capturas.", "option-keep": "Longitud del historial", "option-keep-description": "Cantidad de días durante los que se guardan las capturas.", "option-open-history": "Capturas", "option-open-history-description": "Ver y recuperar capturas guardadas.", "button-view-history": "Ver", "option-clear": "Limpiar historial", "option-clear-description": "Limpiar todas las capturas.", "button-clear-history": "Limpiar", "label-clear-warning": "¿Está seguro de que quiere borrar todas las capturas? Tenga en cuenta que solo se eliminarán las capturas. Los archivos en su bóveda no serán afectados.", "msg-clear-complete": "Capturas limpiadas.", "label-no-history-found": "No se encontraron capturas.", "placeholder-choose-file": "Elegir un archivo...", "label-select-file": "Por favor seleccione un archivo a la izquierda para ver sus capturas." }, "note-composer": { "name": "Compositor de notas", "desc": "Combina, dividide y refactoriza notas.", "option-confirm-file-merge": "Confirma la combinación de notas", "option-confirm-file-merge-description": "Preguntar antes de combinar dos archivos.", "option-split-replacement-text": "Texto después de la extracción", "option-split-replacement-text-description": "Qué mostrar en lugar del texto seleccionado después de extraerlo.", "option-choice-split-replacement-text-link": "Enlazar al nuevo archivo", "option-choice-split-replacement-text-embed": "Incrustar nuevo archivo", "option-choice-split-replacement-text-none": "Ninguno", "option-template-file": "Ubicación de la plantilla", "option-template-file-description": "La plantilla a usar al mezclar o extraer. Variables disponibles : {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, e.g. {{date:YYYY-MM-DD}}.", "command-merge-file": "Combinar el archivo actual con otro archivo...", "action-merge-file": "Combinar el archivo entero con...", "label-no-files": "No se encontraron archivos.", "instruction-navigate": "para navegar", "instruction-merge": "para combinar", "instruction-create-new": "para crear nuevo", "instruction-merge-at-top": "para combinar arriba", "instruction-dismiss": "para descartar", "prompt-select-file-to-merge": "Seleccione el archivo en el que combinar...", "label-merge-file": "Combinar archivo", "label-confirm-file-merge": "¿Está seguro de que deseas combinar \"{{file}}\" en \"{{destination}}\"? \"{{file}}\" será eliminado.", "button-merge": "Combinar", "command-split-file": "Extraer la selección actual...", "command-extract-heading": "Extraer este encabezado...", "instruction-append": "mover al final", "instruction-prepend": "mover arriba", "msg-fail-to-fetch-template": "Error al recuperar la plantilla: \"{{template}}\" no encontrada.", "msg-fail-to-find-heading": "Error para encontrar el encabezado" }, "web-viewer": { "name": "Visor web", "history-name": "Historial web", "desc": "Abrir los enlaces externos a páginas web dentro de Obsidian.", "action-open": "Abrir visor web", "action-show-history": "Mostrar historial", "action-toggle-reader-mode": "Alternar modo de lectura", "action-copy-u-r-l": "Copiar URL", "action-remove-from-history": "Eliminar del historial", "action-clear-history": "Limpiar historial", "action-open-link": "Abrir enlace", "action-open-link-new-tab": "Abrir enlace en una nueva pestaña", "action-open-link-new-split": "Abrir enlace a la derecha", "action-open-link-new-window": "Abrir enlace en una nueva ventana", "action-open-link-default-browser": "Abrir enlace en el navegador por defecto", "action-open-link-web-viewer": "Abrir enlace en el visor web", "action-copy-link-address": "Copiar dirección", "action-bookmark-link": "Enlace del marcador", "action-search-for-query": "Buscar por “{{query}}”", "action-extract-selection": "Extraer la selección a una nota nueva", "action-copy-selection": "Copiar", "action-cut": "Cortar", "action-paste": "Pegar", "action-delete": "Borrar", "action-select-all": "Seleccionar todo", "action-save-to-vault": "Guardar a su bóveda", "action-save-image": "Guardar la imagen en la bóveda", "action-copy-image": "Copiar imagen", "action-copy-image-link": "Copiar el enlace de la imagen", "action-backward": "Atrás", "action-forward": "Adelante", "action-reload": "Recargar", "action-bookmark-page": "Página de marcadores", "action-open-default-browser": "Abrir en el navegador por defecto", "action-focus-address-bar": "Foco sobre la barra de dirección", "action-search-the-web": "Buscar en la web", "action-clear-data": "Borrar datos", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "Puede cerrar su sesión en algunos sitios web.", "action-clear-data-cache": "Datos en caché", "action-clear-data-history": "Historial", "action-clear-data-all": "Todos los datos del visor web", "action-clear-data-all-desc": "Elimina todo lo anterior así como el almacenamiento local y las sesiones activas.", "label-new-web-viewer": "Nuevo visor web", "label-fail-to-load": "Imposible cargar ese sitio.", "label-fail-to-load-desc": "Asegúrese de que tiene la dirección correcta.", "label-search-the-web": "Buscar en la web", "label-web-viewer-data": "Datos del visor web", "label-clear-data": "Limpiar los datos del visor web", "option-open-external-links": "Abrir enlaces externos", "option-open-external-links-desc": "Abrir enlaces externos en Obsidian en lugar de la aplicación por defecto.", "option-homepage": "Página de inicio", "option-homepage-desc": "Qué página ver cuando se abre el visor web", "option-saved-markdown": "Carpeta de páginas guardadas", "option-saved-markdown-desc": "Los sitios web guardados como Markdown se ubicarán aquí.", "option-search-engine": "Motor de búsqueda", "option-search-engine-desc": "El motor de búsqueda usado al buscar desde la barra de direcciones.", "option-search-engine-custom": "Motor de búsqueda personalizado", "option-search-engine-custom-desc": "Use %s en el lugar donde irá la consulta.", "option-search-engine-custom-drop-down": "Personalizado", "option-enable-adblock": "Activar bloqueo de anuncios", "option-enable-adblock-desc": "Cuando se activa, las listas de filtros se aplicará a todas las pestañas del visor web.", "option-adblock-lists": "Reglas del bloqueador de anuncios", "option-adblock-lists-desc": "Una URL de lista bloqueo de anuncios por línea. Compartido por todas las bóvedas.", "option-adblock-frequency": "Frecuencia de actualización del bloqueo de anuncios", "option-adblock-frequency-desc": "Días entre la actualización de las listas de filtros. 0 indica deshabilitado. Compartido por todas las bóvedas.", "title-clear-data-modal": "Limpiar los datos del visor web", "msg-error-extracting-content": "Error inesperado al extraer el contenido.", "msg-error-finding-content": "No se encontró contenido que extraer." }, "canvas": { "name": "Canvas", "desc": "Ordena y conecta notas en un lienzo infinito.", "action-add-note": "Agregar nota desde la bóveda", "action-add-media": "Agregar medio desde la bóveda", "action-add-card": "Agregar tarjeta", "action-add-website": "Agregar página web", "action-create-group": "Crear grupo", "action-create-with-size": "Crear una tarjeta de un tamaño específico", "action-convert-to-file": "Convertir a archivo...", "action-drag-to-add-note": "Arrastrar para agregar nota desde la bóveda", "action-drag-to-add-media": "Arrastrar para agregar medios desde la bóveda", "action-drag-to-add-card": "Arrastrar para añadir tarjeta", "action-edit-label": "Editar etiqueta", "action-remove-label": "Eliminar etiqueta", "action-search-file": "Buscar por archivo", "action-set-color": "Definir color", "action-align": "Alinear", "action-align-left": "Alinear a la izquierda", "action-align-center": "Alinear al centro", "action-align-right": "Alinear a la derecha", "action-align-top": "Alinear arriba", "action-align-middle": "Alinear al medio", "action-align-bottom": "Alinear abajo", "action-distribute-horizontal-spacing": "Distribuir horizontalmente", "action-distribute-vertical-spacing": "Distribuir verticalmente", "action-justify-horizontally": "Justificar horizontalmente", "action-justify-vertically": "Justificar verticalmente", "action-arrange-horizontally": "Ordenar en una fila", "action-arrange-vertically": "Ordenar en una columna", "action-arrange-grid": "Ordenar en una grilla", "action-export-png": "Exportar como imagen", "action-jump-to-group": "Saltar a un grupo", "action-set-background": "Definir fondo", "action-edit-background": "Editar fondo", "action-replace-background": "Reemplazar fondo", "action-remove-background": "Eliminar fondo", "label-no-images": "No se encontraron imágenes.", "label-no-media": "No se encontraron archivos multimedia.", "label-export-png-desc": "Exportar \"{{title}}\" en un archivo PNG con los ajustes de abajo.", "label-export-png-dimensions": "Dimensiones estimadas de la imagen: {{dimensions}}", "label-distribute": "Distribuir", "label-justify": "Justificar", "label-arrange": "Ordenar", "label-always": "Siempre", "label-hover": "Al ponerse encima", "label-never": "Nunca", "label-no-section-found": "No se encontró la sección", "option-wheel-behavior": "Comportamiento por defecto de la rueda del mouse", "option-mod-drag-behavior": "Comportamiento por defecto de la tecla {{key}}", "option-show-menu": "Mostrar menú", "option-new-canvas-location": "Ubicación por defecto para nuevos archivos de canvas", "option-new-canvas-location-description": "Dónde se ubican los nuevos archivos de canvas.", "option-new-canvas-folder-path": "Carpeta para crear nuevos archivos de canvas", "option-new-canvas-folder-path-description": "Los nuevos archivos de canvas aparecerán dentro de esta carpeta.", "option-node-label": "Mostrar etiqueta de tarjeta", "option-snap-to-grid": "Ajustar a la cuadrícula", "option-snap-to-grid-desc": "Ajustar tarjetas a la cuadrícula del fondo al mover y redimensionar.", "option-snap-to-objects": "Ajustar a objetos", "option-snap-to-objects-desc": "Ajustar tarjetas a los objetos cercanos al mover y redimensionar.", "option-zoom-breakpoint": "Umbral de zoom para ocultar el contenido de una tarjeta", "option-zoom-breakpoint-desc": "Los valores más bajos incrementarán el rendimiento, pero ocultarán el contenido de una tarjeta al alejarse.", "option-export-png-show-logo": "Mostrar logo", "option-export-png-show-logo-desc": "Esto añadirá un logo de Obsidian abajo a la izquierda.", "option-export-png-privacy-mode": "Modo de privacidad", "option-export-png-privacy-mode-desc": "Esto oscurecerá cualquier texto en su lienzo.", "option-export-png-zoom": "Zoom", "option-export-png-zoom-desc": "Un nivel de zoom mayor generará una imagen de mayor resolución.", "option-export-png-frame": "Vista", "option-export-png-frame-desc": "Elegir renderizar el lienzo entero o solo la vista actual.", "option-export-png-frame-full": "lienzo completo", "option-export-png-frame-viewport": "Solo la vista", "option-background-cover": "Portada", "option-background-ratio": "Mantener relación de aspecto", "option-background-repeat": "Repetir", "action-new-canvas": "Nuevo lienzo", "action-remove": "Eliminar", "action-narrow-heading": "Acotar al encabezado...", "action-narrow-block": "Acotar al bloque...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Intercambiar archivo...", "action-change-url": "Cambiar la URL...", "action-zoom-to-fit": "Acercar para ajustar", "action-zoom-to-selection": "Acercar a la selección", "action-reload-page": "Recargar página", "action-follow-connection": "Seguir conexión", "command-create-new-canvas": "Crear nuevo lienzo", "command-convert-to-file": "Convertir a archivo...", "instruction-narrow-heading": "a encabezado incrustado", "instruction-narrow-block": "a bloque incrustado", "instruction-jump-to-group": "para navegar al grupo", "prompt-to-narrow": "Escriba el nombre del encabezado", "label-enter-url": "Ingrese la URL", "label-empty-embed": "No se encontró \"{{linktext}}\".", "prompt-add-text": "Añadir texto...", "prompt-start-search": "Tipea para buscar...", "label-canvas-help": "Ayuda de lienzo", "label-canvas-settings": "Ajustes de lienzo", "label-no-narrow": "Mostrar el archivo completo", "label-show-default-view": "Show default view", "label-readonly": "Solo lectura", "label-disable-readonly": "Desactivar solo lectura", "label-pan": "Panear", "label-pan-horizontal": "Panear horizontalmente", "label-zoom": "Zoom", "label-select-all": "Seleccionar todo", "label-add-remove-selection": "Agregar/Eliminar de la selección", "label-clone-card": "Clonar tarjeta", "label-constrain-movement-axis": "Limitar el movimiento de la tarjeta al eje", "label-disable-drag-snapping": "Deshabilitar el ajuste al arrastrar", "label-remove-card": "Eliminar tarjeta", "label-drag-from-below": "Arrastrar desde abajo o con doble clic", "label-longpress": "Pulsar y mantener para agregar / mover / seleccionar", "label-drag-pan": "Arrastrar para panear", "label-pinch-zoom": "Pellizcar para hacer zoom", "label-space-drag-pan": "Espacio + Arrastrar para panear", "label-scroll-to-zoom": "Girar la rueda hacer zoom", "label-untitled-group": "Grupo sin título", "label-line-direction": "Dirección de línea", "label-nondirectional": "No direccional", "label-unidirectional": "Unidireccional", "label-bidirectional": "Bidireccional", "label-image": "Imagen", "label-style": "Estilo", "msg-no-groups-found": "No se encontraron grupos", "msg-export-failed-empty-canvas": "No se puede exportar un lienzo vacío", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Crear bases consultando propiedades de la nota.", "action-new-base": "Nueva base", "action-add-property": "Agregar propiedad", "action-add-formula": "Agregar fórmula", "action-hide-all": "Ocultar todo", "action-toggle-visibility": "Alternar visibilidad", "action-delete-property": "Borrar propiedad", "action-duplicate-view": "Duplicar vista", "action-delete-view": "Borrar vista", "action-export-c-s-v": "Export CSV...", "command-create-new": "Crear nueva base", "command-insert-new": "Insertar nueva base", "command-copy-table": "Copiar tabla al portapapeles", "command-change-view": "Cambiar vista", "command-add-view": "Añadir vista", "command-add-item": "Añadir elemento", "button-add-view": "Añadir vista", "button-add-filter": "Añadir filtro", "button-add-filter-group": "Añadir grupo de filtros", "button-show-all": "Mostrar todo", "button-show-all-count": "Mostrar todo ({{count}})", "label-all-views": "Todas las vistas", "label-current-view": "Esta vista", "placeholder-search-property": "Buscar o crear...", "label-computed-properties": "Propiedades calculadas", "label-property-type": "Tipo de propiedad", "label-hide-property": "Ocultar propiedad", "label-show-property": "Mostrar propiedad", "label-edit-property": "Editar propiedad", "placeholder-formula": "x + y", "title-edit-property": "Editar {{name}}", "label-configure-view": "Configurar vista", "label-view-layout": "Disposición", "label-global-filters": "Filtros globales", "label-view-filters": "Ver filtros", "label-view-name": "Ver nombre", "label-default-view": "Vista", "label-view-type-table": "Tabla", "label-display-name": "Nombre para mostrar", "label-formula": "Fórmula", "label-sort": "Ordenar", "label-filter": "Filtrar", "label-properties": "Propiedades", "label-new-item": "Nuevo", "label-new-item-template-file": "Nuevo archivo de plantilla", "label-new-item-folder": "Nueva carpeta de elemento", "label-any-of-the-following": "Cualquiera de los siguientes son verdaderos", "label-all-the-following": "Todos los siguientes son verdaderos", "label-none-of-the-following": "Ninguno de los siguientes son verdaderos", "label-where": "donde", "label-or": "o", "label-and": "y", "label-property-key": "Propiedad", "label-untitled-property": "Sin título", "label-file-prop-file": "archivo", "label-file-prop-name": "nombre", "label-file-prop-base-name": "nombre de archivo base", "label-file-prop-full-name": "nombre de archivo completo", "label-file-prop-path": "ruta", "label-file-prop-folder": "carpeta", "label-file-prop-ext": "extensión", "label-file-prop-ctime": "creado", "label-file-prop-mtime": "modificado", "label-file-prop-size": "tamaño de archivo", "label-file-prop-links": "enlaces de archivo", "label-file-prop-embeds": "adjuntos del archivo", "label-file-prop-tags": "etiquetas del archivo", "label-add-sort": "Añadir orden", "label-limit": "Limitar el número de resultados", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Antiguo a nuevo", "label-sort-new-old": "Nuevo a antiguo", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "El nombre de la vista no puede contener: ", "msg-filter-simple-unavailable": "Este filtro no puede representarse por el constructor básico de filtros.", "msg-filter-cannot-parse": "El filtro no se pudo cargar. No se puede usar el constructor básico de filtros.", "msg-error-invalid-properties-section": "Configuración de propiedades inválida.", "msg-error-invalid-property-config": "Configuración de propiedad inválida para \"{{ name }}\".", "msg-error-register-view": "Imposible agregar la nueva vista de Bases \"{{ viewID }}\". Una vista con este ID ya existe.", "msg-error-unable-to-parse": "Imposible cargar su archivo base:", "msg-error-view-not-found": "La vista \"{{ view }}\" no se encontró", "msg-error-unknown-view-type": "Base configurada con un tipo de vista desconocido: {{ viewtype }}", "msg-error-view-type": "Las vistas deben ser un arreglo", "msg-error-display-values": "Los valores a mostrar deben ser cadenas. El valor de la propiedad {{ key }} no lo es.", "msg-error-must-be-a-type": "\"{{ key }}\" debe ser un {{ type }}", "msg-error-filter-type": "Los \"Filtros\" deben ser una cadena o un objeto", "msg-error-filter-must-be-array": "El filtro de \"{{ conjunction }}\" debe ser un arreglo", "msg-error-filter-allowed-keys": "Los \"filters\" solo pueden tener una llave de \"y\", \"o\", o \"no\".", "msg-error-filter-failed-to-evaluate": "Error al evaluar el filtro: {{ message }}", "msg-error-formula-values": "Los valores de fórmula deben ser cadenas. El valor de {{ key }} no lo es.", "msg-error-computed-failed-to-compute": "Error al calcular el valor de la propiedad \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "La consulta tiene un formato inválido. Debería ser un objeto YAML.", "msg-error-view-invalid-format": "Los elementos de \"view\" deben ser un objeto YAML, sin embargo, {{ index }} no lo es", "msg-error-view-name-invalid": "\"name\" faltante o inválido en la vista {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" se requiere en la vista \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" debe ser un {{ type }} en la vista \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "Los valores de \"{{ key }}\" deben ser todos del tipo {{ type }} en la vista \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Imposible cargar los filtros de la vista \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Bucle infinito detectado en la fórmula", "msg-error-invalid-property": "Propiedad inválida", "msg-new-item-filtered": "Esta nota será filtrada porque no coincide con sus criterios", "placeholder-filter-advanced-mode": "Filtro avanzado", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Filtro avanzado", "tooltip-filter-simple-mode": "Filtro simple", "tooltip-remove-filter": "Eliminar filtro", "cards": { "name": "Cards", "label-card-size": "Tamaño de la tarjeta", "label-image-property": "Propiedad de la imagen", "label-image-fit": "Ajustar", "option-image-fit-cover": "Rellenar", "option-image-fit-contain": "Contener", "label-image-aspect-ratio": "Proporción de aspecto de imagen" }, "table": { "name": "Table", "action-hide-column": "Ocultar columna", "action-edit-property": "Editar propiedad...", "action-edit-formula": "Editar fórmula...", "action-sort-default": "Limpiar orden", "action-sort-a-z": "Ordenar A → Z", "action-sort-z-a": "Ordenar Z → A" } } }, "formulas": { "msg-error-parse-formula": "Imposible mostrar la fórmula \"{{ formula }}\"", "msg-error-invalid-function": "Imposible encontrar la función \"{{ function }}\"", "msg-error-invalid-instance-function": "Imposible encontrar la función \"{{ function }}\" en el tipo {{ type }}", "msg-error-not-enough-arguments": "Imposible llamar la función \"{{ function }}\", argumentos insuficientes.", "msg-error-too-many-arguments": "Imposible llamar la función \"{{ function }}\", demasiados argumentos.", "msg-error-type-error": "Error de tipo en \"{{ function }}\", parámetro \"{{ parameter }}\". Se esperaba {{ expected }}, se proporcionó {{ given }}.", "msg-error-invalid-array-access": "Imposible acceder al índice {{ index }} de un valor que no es un arreglo", "msg-error-invalid-object-access": "Imposible encontrar {{ index }} en tipo {{ type }}" }, "pdf": { "action-highlight-all": "Resaltar todo", "action-match-diacritics": "Coincidir diacríticos", "action-whole-words": "Palabras enteras", "action-show-thumbnails": "Miniaturas", "action-show-outline": "Tabla de contenidos", "action-reveal-in-outline": "Mostrar página en la tabla de contenidos", "action-toggle-sidebar": "Alternar barra lateral", "action-previous-page": "Página anterior", "action-next-page": "Página siguiente", "action-fit-width": "Ajustar al ancho", "action-fit-height": "Ajustar al alto", "action-save-p-d-f-location": "Guardar la posición actual en el documento", "action-copy-annotation": "Copiar anotación", "action-copy-quote": "Copiar como una cita", "action-copy-selection-link": "Copiar enlace a esta selección", "action-copy-annot-link": "Copiar enlace a la anotación", "action-copy-section-link": "Copiar enlace a la sección", "action-copy-section-link-title": "Copiar enlace a “{{title}}”", "action-copy-page-link": "Copiar enlace a la página {{page}}", "msg-max-search-results": "{{current}} de más de {{limit}} coincidencias", "msg-search-count": "{{current}} de {{total}} coincidencia", "msg-search-count_plural": "{{current}} de {{total}} coincidencias", "msg-password-protected": "Este archivo PDF está protegido por contraseña", "msg-invalid-password": "Contraseña inválida", "msg-enter-password": "Ingrese la contraseña debajo", "label-of-pages": "de {{count}}", "label-page-of-pages": "({{current}} de {{count}})", "label-spread-single": "Página única", "label-spread-odd": "Dos páginas (impar)", "label-spread-even": "Dos páginas (par)", "tooltip-sidebar-options": "Opciones de barra lateral", "tooltip-display-options": "Opciones de pantalla", "label-adapt-to-theme": "Adaptar al tema", "label-page": "página {{page}}", "page_landmark": "Página {{page}}", "thumb_page_title": "Página {{page}}", "thumb_page_canvas": "Página {{page}}", "text_annotation_type": "[Anotación {{type}}]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Lista", "option-unknown": "Desconocido", "option-text": "Texto", "option-aliases": "Aliases", "option-tags": "Etiquetas", "option-folder": "Folder", "option-file": "Archivo", "option-date": "Fecha", "option-datetime": "Fecha y hora", "option-number": "Número", "option-checkbox": "Casilla de verificación" }, "value-suggestion": { "key-link-note": "Escriba [[", "instruction-link-note": "para enlazar una nota", "instruction-dismiss": "para descartar" }, "option-property-type": "Tipo de propiedad", "msg-empty-property-name": "El nombre de una propiedad no puede estar vacío.", "msg-duplicate-property-name": "Esa propiedad ya existe", "msg-invalid-tag": "Nombre de etiqueta inválido", "msg-invalid-number": "Número inválido", "msg-invalid-properties": "Error al leer las propiedades.", "label-no-value": "Sin valor", "label-heading": "Propiedades", "label-invalid-heading": "Propiedades inválidas", "label-show-source": "Mostrar fuente", "label-invalid-yaml-marker": "Error de sintaxis. El encabezado es inválido.", "label-add-property-button": "Añadir propiedad", "label-type-mismatch-warning": "Error de tipeo, se esperaba {{type}}", "label-type-mismatch-warning-generic": "Error de tipeo", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Columna", "label-row": "Fila", "action-row-after": "Añadir una fila debajo", "action-column-after": "Añadir una columna a la derecha", "action-row-before": "Añadir una fila encima", "action-row-up": "Mover la fila arriba", "action-row-down": "Mover la fila abajo", "action-column-before": "Añadir una columna a la izquierda", "action-column-left": "Mover la columna a la izquierda", "action-column-right": "Mover la columna a la derecha", "action-duplicate-row": "Duplicar la fila", "action-duplicate-column": "Duplicar la columna", "action-delete-row": "Borrar la fila", "action-delete-column": "Borrar la columna", "action-align-left": "Alinear a la izquierda", "action-align-center": "Alinear al centro", "action-align-right": "Alinear a la derecha", "action-delete-selection": "Borrar las celdas", "action-clear-selection": "Vaciar las celdas", "action-sort-a-z": "Ordenar por columna (A-Z)", "action-sort-z-a": "Ordenar por columna (Z-A)", "label-command": "Tabla: {{command}}" }, "callout": { "option-type": "Tipo de destacado", "type": { "info": "Información", "important": "Importante", "tip": "Consejo", "success": "Éxito", "question": "Pregunta", "warning": "Advertencia", "quote": "Cita", "example": "Ejemplo", "none": "Ninguno" }, "option-other": "Otro...", "option-other-placeholder": "Tipo de llamada de texto..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} palabra", "word-with-count_plural": "{{count}} palabras", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} carácter", "character-with-count_plural": "{{count}} caracteres", "link-with-count": "{{count}} enlace", "link-with-count_plural": "{{count}} enlaces", "file-with-count": "{{count}} archivo", "file-with-count_plural": "{{count}} archivos", "folder-with-count": "{{count}} carpeta", "folder-with-count_plural": "{{count}} carpetas", "backlink-with-count": "{{count}} enlace entrante", "backlink-with-count_plural": "{{count}} entrantes", "tabs-with-count": "{{count}} pestaña", "tabs-with-count_plural": "{{count}} pestañas", "properties-with-count": "{{count}} propiedad", "properties-with-count_plural": "{{count}} propiedades", "site-with-count": "{{count}} sitio", "site-with-count_plural": "{{count}} sitios", "plugin-with-count": "{{count}} complemento", "plugin-with-count_plural": "{{count}} complementos", "plugin-active-with-count": "{{count}} activo", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} tema", "theme-with-count_plural": "{{count}} temas" } } { "setting": { "options": "تنظیمات", "plugin": "افزونه‌ها", "builtin-plugins": "افزونه‌های اصلی", "plugin-options": "تنظیمات افزونه‌ها", "folder-path-example-placeholder": "نمونه: پوشه‌ی ۱ / پوشه‌ی ۲", "file-path-example-placeholder": "نمونه: پوشه/یادداشت", "msg-restart-required": "برای اعمال این گزینه‌ها باید برنامه را باز و بسته کنید.", "editor": { "name": "ویرایشگر", "section-behavior": "رفتار", "section-display": "نمایش", "option-spellcheck": "بررسی املا", "option-spellcheck-description": "روشن کردن بررسی املا که هم‌اکنون فقط با انگلیسی امریکایی کار می‌کند.", "spellcheck-languages": "زبان‌های بررسی املایی", "spellcheck-languages-description": "زبان‌هایی که می‌خواهید بررسی املایی شوند را برگزینید.", "spellcheck-languages-mac-description": "در مک‌اواِس همان بررسی املایی سیستم‌عامل کار را انجام می‌دهد.", "spellcheck-dict": "فرهنگ املایی", "spellcheck-dict-empty": "فرهنگ املایی خالی است.", "option-show-inline-title": "نمایش عنوان درون یادداشت", "option-show-inline-title-description": "نام فایل را به عنوان عنوانی قابل ویرایش در کنار محتوای فایل نمایش می دهد.", "option-readable-line-length": "طول‌خطوط خوانا", "option-readable-line-description": "محدودسازی بیشینه‌ی طول خطوط. در این حالت، محتوای کمتری در صفحه جا می‌گیرد اما متن خواناتر می‌شوند.", "option-strict-line-break": "سخت‌گیری در نمایش شکست خطوط", "option-strict-line-break-description": "در حالت پیش‌نمایش، با توجه به مشخصات مارک‌داون، شکست خطوط یا نقطه‌سرخط نمایش داده نمی‌شود. اگر این گزینه را خاموش کنید، شکست خطوط تکی هم نشان داده می‌شود.", "option-properties-in-document": "ویژگی‌ها در سند", "option-properties-in-document-description": "انتخاب کنید که ویژگی‌ها چگونه در بالای یادداشت‌ها نمایش داده شوند. برای نمایش ویژگی‌ها به صورت YAML خام، «منبع» را انتخاب کنید.", "option-properties-hidden": "پنهان", "option-properties-visible": "آشکار", "option-properties-source": "منبع", "option-auto-pair-brackets": "جفت‌سازی خودکار کمانک‌ها", "option-auto-pair-brackets-description": "جفت‌سازی خودکار کمانک‌ها و نشانه‌های نقل‌قول.", "option-auto-pair-markdown": "جفت‌سازی خودکار نحو مارک‌داون", "option-auto-pair-markdown-description": "جفت‌سازی خودکار نشانه‌هایی مانند درشت‌نویس، کج‌نویس، هایلات، خط‌خورده و کد", "option-smart-indent-lists": "تورفتگی هوشمند در فهرست‌ها", "option-smart-indent-lists-description": "خودبه‌خود تورفتگی و نشانه‌های فهرستی را سر-و-سامان می‌دهد", "option-fold-heading": "جمع کردن سرفصل‌ها", "option-fold-heading-description": "جمع کردن همه‌ی محتوا زیر سرفصل", "option-fold-indent": "جمع کردن تورفتگی", "option-fold-indent-description": "جمع کردن بخشی از فرورفتگی یکسان مثلا در فهرست‌ها", "option-default-new-tab-view": "نمای پیش‌فرض زبانه‌های نو", "option-default-new-tab-view-description": "نمای پیش‌فرضی که زبانه‌ی نوی مارک‌داون در آن باز می‌شود.", "option-default-new-tab-view-editing": "نمای ویرایش", "option-default-new-tab-view-reading": "نمای خواندن", "option-open-tab-in-foreground": "تمرکز همیشه روی زبانه‌ی فعال باشد", "option-open-tab-in-foreground-description": "وقتی پیوندی را در زبانه‌ای نو باز می‌کنید، فورا همان زبانه نمایش داده می‌شود", "option-default-editing-mode": "حالت ویرایش پیش‌فرض", "option-default-editing-mode-description": "حالت پیش‌فرضی که برگ نو به شکل‌اش باز می‌شود.", "option-default-editing-mode-source": "حالت منبع", "option-default-editing-mode-live-preview": "پیش‌نمایش زنده", "option-show-line-number": "نمایش شماره‌ی خطوط", "option-show-line-number-description": "نمایش شماره‌ی خطوط در کناره", "option-indentation-guide": "نمایش راهنمای تورفتگی", "option-indentation-guide-description": "برای هدایت بصری، ارتباط عمودی میان سطرهای گلوله‌ای نمایش داده می‌شود.", "option-use-tabs": "استفاده از کلید تب", "option-use-tabs-description": "ایجاد تورفتگی با فشردن کلید «تب». برای استفاده از کلید اسپیس، این گزینه را خاموش کنید. ", "option-tab-size": "اندازه‌ی کلید تب", "option-tab-size-description": "هر کلید تب برابر با چند اسپیس باشد؟", "option-rtl": "راست‌به‌چپ", "option-rtl-description": "جهت ‌متن یادداشت‌ها را راست‌به‌چپ می‌کند.", "option-auto-convert-html": "تبدیل خودکار اچ‌تی‌ام‌ال", "option-auto-convert-html-description": "وقتی صفحات وب کشید-و-انداخته یا جاگذاری می‌شوند، خودبه‌خود اچ‌تی‌ام‌ال تبدیل به مارک‌داون می‌شود. اگر می‌خواهید این تبدیل انجام نشود، از Ctrl/Cmd+Shift+V استفاده کنید.", "option-vim-key-bindings": "کلیدبندی ویم", "option-vim-key-bindings-description": "استفاده از کلیدبندی ویم در ویرایشگر منبع.", "option-vim-key-bindings-mobile": "در دستگاه‌های تلفن همراه، این تنظیم برای هر دستگاه است و از طریق فایل پیکربندی همگام‌سازی نمی‌شود.", "option-reindex-vault": "بازسازی کش (حافظه پنهان) خزانه", "option-reindex-vault-description": "بازسازی کش ممکن است چند ثانیه تا چند دقیقه طول بکشد که به اندازه خزانه شما بستگی دارد.", "label-reindex": "بازسازی", "label-confirm-enable-vim": "تایید ورود به حالت ویم", "label-vim-warning": "حالت ویم برای ویرایش متون کارامد است اما چندان سرراست نیست. اگر با ویم آشنا نباشید و این گزینه را فعال کنید خیال می‌کنید Obsidian از کار افتاده.", "label-vim-test": "برای این‌که معلوم شود واقعا از ویم سر در می‌آورید یا نه، فرمان «خروج بدون ذخیره کردن» در ویم را در زیر وارد فرمایید:", "label-vim-your-answer": "پاسخ شما", "placeholder-enter-command": "فرمان را وارد کنید...", "button-confirm-enable-vim": "بگذار ویم را فعال کنم", "msg-vim-mode-enabled": "فرمان درست است، اکنون حالت ویم فعال است.", "msg-vim-mode-not-enabled": "فرمان نادرست است، حالت ویم غیرفعال می‌ماند تا از شما حفاظت شود.", "msg-vim-mode-please-enter-command": "برای فعال کردن ویم فرمان را وارد فرمایید" }, "file": { "name": "پرونده‌ها و پیوندها", "option-confirm-file-deletion": "تایید حذف پرونده", "option-confirm-file-deletion-description": "هنگام حذف پرونده‌ها پیامی نشان داده شود یا نه؟", "option-delete-destination": "پرونده‌های حذف‌شده", "option-delete-destination-description": "پس از حذف پرونده‌ها چه بلایی سرشان بیاید؟", "option-choice-system-trash": "ریختن در زباله‌دان دستگاه", "option-choice-vault-trash": "ریختن در زباله‌دان Obsidian (.trash پوشه‌ی)", "option-choice-permanent-delete": "حذف برای همیشه", "option-always-update-links": "همیشه پیوندهای درونی به‌روز شوند", "option-always-update-links-description": "تعیین این‌که پس از نام‌گذاری پرونده‌ها پیوندها خودبه‌خود به‌روز شوند یا پیغام تأیید نشان داده شود.", "option-new-note-location": "جای پیش‌فرض یادداشت‌ها نو", "option-new-note-location-description": "جای ذخیره‌ی یادداشت‌های نو. یادتان باشد که افزونه‌ها می‌توانند این تنظیم را پامال کنند.", "option-choice-vault-root": "پوشه‌ی اصلی خزانه", "option-choice-current-folder": "همان پوشه‌ای که پرونده در آن است", "option-choice-specified-folder": "در پوشه‌ای که در پایین تعیین می‌کنم", "option-new-file-folder-path": "پوشه‌ی یادداشت‌های نو", "option-new-file-folder-path-description": "یادداشت‌های نو در این پوشه ساخته می‌شوند. افزونه‌ها می‌توانند این تنظیم را پامال کنند.", "option-use-wiki-links": "استفاده از [[ویکی‌پیوند]]", "option-use-wiki-links-description": "ساخت خودکار ویکی‌پیوند برای [[پیوندها]] و ![[تصاویر]] به جای پیوندها و تصاویر مارک‌داونی. با خاموش کردن این گزینه پیوندهای مارک‌داونی ساخته می‌شود.", "option-show-unsupported-files": "شناسایی همه‌جور فرمت پرونده", "option-show-unsupported-files-description": "نمایش همه‌جور قالب پرونده، حتا پرونده‌هایی که خود اوبسیدیان هم نمی‌تواند اجرا کند، در نتیجه می‌توانید چنین پرونده‌هایی را در مرورگر پرونده و پرش سریع ببینید و به آن‌ها پیوند بزنید.", "option-link-autocompleted-format": "قالب‌بندی پیوند نو", "option-link-autocompleted-format-description": "وقتی پیوندهای درونی خودبه‌خود ساخته می‌شوند، چه پیوندی درج شود؟", "option-choice-shortest-linktext": "کوتاه‌ترین مسیر ممکن", "option-choice-relative-path": "مسیر وابسته به پرونده", "option-choice-absolute-path": "مسیر مستقل در خزانه", "option-new-attachment-location": "جای پیش‌فرض پیوست‌های نو", "option-new-attachment-location-description": "پیوست‌های تازه‌افزوده کجا گذاشته شوند؟", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "در زیرپوشه‌ای درون پوشه‌ی کنونی", "option-attachment-folder-path": "مسیر پوشه‌ی پیوست‌ها", "option-attachment-folder-path-description": "پیوست‌های نوساخته اینجا ظاهر می‌شوند؛ یعنی تصاویری که با کشیدن و انداختن یا جاگذاری ساخته شده‌اند و همچنین صوت‌های ضبط‌شده.", "option-attachment-subfolder-path": "نام زیرپوشه", "option-attachment-subfolder-path-description": "اگر پرونده درون \"vault/folder\" است و نام زیرپوشه را \"attachments\" گذاشته‌اید، پیوست‌ها در \"vault/folder/attachments\" ذخیره خواهند شد.", "option-excluded-files": "پرونده‌های مستثنا", "option-excluded-files-desc": "پرونده‌های مستثنا در جست‌وجو، نمای نمودار، و یادکردهای پیوندنشده پنهان خواهند شد، و در پرش به پرونده و پیشنهادهای پیوند کمتر پیش چشم خواهند بود.", "label-no-excluded-filters-applied": "هنوز پالایه‌ای برای مستثنا کردن اعمال نشده است. در پایین یکی بیفزایید.", "label-excluded-filters-applied": "پرونده‌هایی که به پالایه‌های ذیل می‌خورند مستثنا شده‌اند:", "label-excluded-filter": "پالایه", "message-empty-filter": "پالایه نمی‌تواند خالی باشد", "placeholder-excluded-filter": "وارد کردن مسیر یا «/regex/»...", "option-uri-callbacks": "اجازه دادن به کالبک‌های یو‌آر‌آی", "option-uri-callbacks-desc": "فعال کردن استفاده از x-callback-url از طریق x-success یا x-error هنگام مدیریت یو‌آر‌آی‌های Obsidian." }, "appearance": { "name": "چهره", "option-base-theme": "رنگ‌بندی پایه", "option-base-theme-description": "رنگ‌بندی پیش‌فرض Obsidian را انتخاب کنید.", "option-accent-color": "رنگ برجسته", "option-accent-color-description": "رنگ برجسته‌ای که در سراسر برنامه استفاده می‌شود را انتخاب کنید.", "dark-theme": "تاریک", "light-theme": "روشن", "system-theme": "سازگار با دستگاه", "option-font": "قلم", "option-advanced": "پیشرفته", "option-interface": "رابط کاربری", "option-interface-font": "قلم رابط‌ کاربری", "option-interface-font-description": "تعیین قلم پایه برای سراسر Obsidian.", "option-zoom-level": "سطح بزرگ‌نمایی", "option-zoom-level-description": "تعیین زوم کلی برنامه", "option-text-font": "قلم متن", "option-text-font-description": "تعیین قلم برای نماهای خواندن و ویراش", "option-monospace-font": "قلم مونواِسپیس", "option-monospace-font-description": "تنظیم قلم برای مکان‌هایی مانند بلوک‌های کد و فرانت‌متر (frontmatter).", "label-single-font-currently-in-effect": " قلم‌های اعمال‌شده: ", "label-multiple-fonts-currently-in-effect": " قلم‌های ذیل هم‌اکنون اعمال شده‌اند:", "option-font-placeholder": "نام قلم را بنویسید...", "label-no-custom-font-set": "هم‌اکنون هیچ فونت دلخواهی اعمال نشده است. در زیر یک فونت بیفزایید.", "label-font-applied": "اولین قلم از این فهرست که در دستگاه موجود باشد، اعمال خواهد شد.", "msg-font-not-found": "این فونت در دستگاه یافت نشد.", "msg-font-found": "این فونت در دستگاه یافت شد.", "label-font-name": "نام قلم", "option-community-themes": "گشودن پوسته‌های انجمن", "option-community-themes-description": "پیش‌نمایش و استفاده از پوسته‌های خفنی که انجمن ساخته.", "button-browse-community-themes": "مرور", "option-font-size": "اندازه‌ی قلم", "option-font-size-description": "اندازه‌ی قلم به پیکسل که بر ویرایشگر و پیش‌نمایش مؤثر است.", "option-font-size-action": "تغییر سریع اندازه‌ی قلم", "option-font-size-action-description": "اندازه قلم را با استفاده از (Ctrl + \"اسکرول ماوس\")، یا با حرکت \"بزرگنمایی نیشگون‌مانند\" روی ترک‌پد، تنظیم کنید.", "option-themes": "پوسته‌ها", "option-manage-themes-description": "مدیریت پوسته‌های نصب‌شده و مرور پوسته‌های انجمن.", "option-theme-button-manage": "مدیریت", "option-choice-none": "هیچ‌کدام", "option-native-menus": "منوهای خود سیستم‌عامل", "option-native-menus-desc": "منوهای سرتاسر برنامه با سیستم‌عامل هماهنگ می‌شوند. منوها از پوسته اثر نمی‌پذیرند.", "button-reload-themes": "بازگیری پوسته‌ها", "msg-reloaded-themes": "پوسته‌های دلخواه سی‌اس‌اس بازگذاری شدند.", "button-open-themes-folder": "گشودن پوشه‌ی پوسته‌ها", "option-css-snippets": "تکه‌کدهای سی‌اس‌اس", "label-no-css-snippets-found": "در پوشه‌ی تکه‌کدها، تکه‌کد سی‌اس‌اسی پیدا نشد.", "no-snippet-description": "تکه‌کدهای سی‌اس‌اس در مسیر \"{{path}}\" ذخیره شده‌اند.", "button-reload-snippets": "بازگیری تکه‌کدها", "button-open-snippets-folder": "گشودن پوشه‌ی تکه‌کدها", "msg-reloaded-snippets": "تکه‌کدهای سی‌اس‌اس بازگیری شدند.", "option-toggle-snippet-description": "اعمال تکه‌کدهای سی‌اس‌اس در \"{{path}}\".", "label-installed-themes": "پوسته‌های نصب‌شده", "label-screenshot-unavailable": "تصویری نیست", "label-default-theme": "پیش‌فرض", "tooltip-click-to-enlarge": "برای بزرگ‌نمایی کلیک کنید", "button-update": "به‌روزرساندن", "label-currently-active": "فعال", "option-frame-style": "سبک قاب پنجره", "option-frame-description": "تعیین سبک‌وسیاق نوار بالایی پنجره‌ی Obsidian. برای اثر کردن لازم است برنامه کاملا بسته و سپس باز شود.", "option-frame-hidden": "پنهان (پیش‌فرض)", "option-frame-obsidian": "قاب Obsidian", "option-frame-native": "قاب بومی سیستم‌عامل", "option-custom-icon": "نماد دلخواه برنامه", "option-custom-icon-desc": "تنظیم نماد دلخواه برای برنامه", "button-choose-custom-icon": "انتخاب نماد دلخواه", "option-configure-ribbon": "منوی روبان", "option-configure-ribbon-desc": "پیکربندی کنید چه دستوراتی در منوی روبان در نوار پیمایش ظاهر می شود.", "option-mobile-quick-ribbon-item": "آیتم دسترسی سریع روبان", "option-mobile-quick-ribbon-item-desc": "با ضربه زدن روی آیتم روبان در منوی پیمایش، این آیتم روبان فعال می شود. ضربه بزنید و نگه دارید همچنان منو نشان داده می شود.", "option-mobile-quick-ribbon-default": "گشودن منوی روبان", "button-configure": "پیکربندی", "option-show-ribbon": "نمایش بروبان", "option-show-ribbon-desc": "نمایش نوار ابزار عمودی در کنار پنجره.", "label-additional-ribbon-items": "دیگر موارد روبان", "label-modal-configuration": "پیکربندی روبان", "label-modal-configuration-desc": "مواردی را که می خواهید در روبان فعال باشند انتخاب کنید. برای تغییر ترتیب، بکشید و رها کنید.", "option-show-view-header": "نمایش نوار عنوان زبانه", "option-show-view-header-desc": "نمایش سرایند بالای همه‌ی زبانه‌ها", "msg-updates-found": "تعداد {{count}} پوسته برای بروزرسانی پیدا شد.", "msg-updates-found_plural": "تعداد {{count}} پوسته برای بروزرسانی پیدا شد.", "button-check-for-updates": "بررسی به‌روزرسانی‌ها", "button-view-updates": "دیدن به‌روزرسانی‌ها", "button-update-all-themes": "به‌روزرساندن همه", "label-current-themes": "پوسته‌های کنونی انجمن", "label-currently-installed": "شما در حال حاضر {{count}} پوسته نصب شده دارید.", "label-currently-installed_plural": "شما در حال حاضر {{count}} پوسته نصب شده دارید." }, "hotkeys": { "name": "میانبرها", "option-search": "جست‌وجوی میانبرها", "option-search-desc": "در حال نمایش {{count}} میانبر", "option-search-desc_plural": "در حال نمایش {{count}} میانبر", "option-search-conflict": "تعداد {{count}} دستور تداخل دارد.", "option-search-conflict_plural": "تعداد {{count}} دستور تداخل دارند.", "prompt-filter": "پالایش...", "tooltip-delete-hotkey": "حذف میانبر", "label-waiting-for-hotkey-press": "میانبر دلخواه را وارد کنید...", "label-show-all": "همه", "label-show-unassigned": "تعیین‌نشده", "label-show-assigned": "تعیین‌شده", "label-show-user-assigned": "تعیین‌شده به‌دست من", "tooltip-restore-default": "واگردانی به حال اول", "tooltip-customize-command": "شخصی‌سازی این فرمان", "tooltip-hotkey-single-conflict": "میانبر واردشده با \"{{command}}\" تداخل دارد", "tooltip-hotkey-multiple-conflicts": "این میانبر با {{count}} فرمان دیگر تداخل دارد", "label-blank-hotkey": "خالی" }, "about": { "name": "عمومی", "label-commercial-license": "پروانه‌ی تجاری", "label-license-key": "کلید پروانه", "license-key-placeholder": "کلید پروانه‌ی شما...", "label-activate-license": "فعال کردن پروانه", "button-activate": "فعال کردن", "label-unknown-version": "نامعلوم", "label-current-version": "نسخه‌ی کنونی: ", "label-install-version": "(نسخه‌ی نصبگر: {{version}})", "label-up-to-date": "برنامه به‌روز است!", "label-read-changelog": "خواندن تغییرات‌نامه.", "label-manual-update-required": "برای پشتیبانی از آخرین ویژگی‌ها و دریافت آخرین وصله های امنیتی، Obsidian به یک به روز رسانی نصب کننده اصلی نیاز دارد. باید Obsidian را به صورت دستی دانلود و دوباره نصب کنید.", "label-new-version-ready": "نسخه‌ی نویی آماده‌ی نصب است. ", "label-disabled-updates": "به‌روزرسانی‌ها غیرفعال اند.", "button-relaunch": "باز و بستن برنامه", "button-check-for-updates": "بررسی برای به‌روزرسانی", "option-auto-update": "به‌روزرسانی خودکار", "option-auto-update-description": "با خاموش کردن این گزینه، برنامه دیگر وجود به‌روزرسانی را بررسی نمی‌کند...", "option-check-slow-startup": "در صورت طولانی شدن زمان بارگذاری، اطلاع‌رسانی کن", "option-check-slow-startup-description": "با مشاهده علت کندی بارگذاری برنامه، مشکلات آن را تشخیص دهید.", "button-check-startup": "بررسی کن", "option-get-help": "گرفتن راهنمایی", "option-get-help-description": "دریافت راهنمایی استفاده از Obsidian", "button-open": "گشودن", "option-language": "زبان", "option-language-description": "تغییر زبان نمایشی", "option-insider-build": "دریافت نسخه‌های دسترسی زودهنگام", "option-insider-build-description": "به طور خودکار به جدیدترین نسخه دسترسی زودهنگام به‌روزرسانی کنید. این نسخه‌ها شامل ویژگی‌های جدید هستند اما ممکن است پایداری کمتری داشته باشند.", "option-advanced": "پیشرفته", "option-hw-acceleration": "شتاب‌دهی سخت‌افزاری", "option-hw-acceleration-description": "این گزینه شتاب‌دهی سخت‌افزاری را فعال می‌کند؛ یعنی با استفاده از کارت گرافیک، Obsidian را روان‌تر می‌کند.", "option-hw-acceleration-warning": "اگر این گزینه را خاموش کنید، کارایی برنامه خیلی افت می‌کند.", "option-config-location": "پایمالی پوشه‌ی پیکربندی", "option-config-location-description": "استفاده از پوشه‌ای دیگر به‌جای پوشه‌ی پیکربندی پیش‌فرض. نام این پوشه‌ی نو باید با نقطه آغاز شود.", "option-config-location-warning": "نام پوشه‌ی پیکربندی باید معتبر بوده و با نقطه آغاز شود.", "label-license": "پروانه", "label-your-commercial-license-key": "کلید پروانه‌ی تجاری شما \"{{key}}\" است.", "label-commercial-license-info": "ثبت‌شده به نام \"{{company}}\" برای {{seats}} کاربر. معتبر تا تاریخ {{expiry}}.", "label-validating-commercial-license": "دارد ارزیابی می‌شود...", "label-invalid-commercial-license": "پروانه: ", "button-remove-commercial-license": "حذف", "option-catalyst": "پروانه‌ی کاتالیست", "option-catalyst-desc": "!شما در حال حاضر لایسنس {{tier}} کاتالیست را دارید. از حمایتتان ممنونیم", "option-catalyst-desc-no-license": "شما در حال حاضر مجوز کاتالیست ندارید. مجوز کاتالیست یک کمک مالی یکباره برای حمایت از توسعه Obsidian است.", "label-app": "برنامه", "label-add-own-language": "چگونگی افزودن زبان به Obsidian" }, "account": { "name": "حساب", "option-your-account": "حساب شما", "option-your-account-desc": "شما در حال حاضر وارد شده اید {{name}} ({{email}}).", "option-your-account-desc-no-login": "شما در حال حاضر وارد نشده‌اید. حساب کاربری فقط برای Obsidian سینک، Obsidian پابلیش، و نسخه‌های دسترسی زودهنگام مورد نیاز است.", "label-insider": "داخلی/خودی", "label-supporter": "حامی", "label-vip": "عالی‌رتبه", "button-upgrade-catalyst": "ارتقا", "option-commercial-license": "پروانه‌ی تجاری", "option-commercial-license-desc": "از Obsidian حمایت کنید.", "button-purchase": "خریدن", "button-log-out": "خروج", "label-log-in": "ورود", "label-sign-up": "نام‌نویسی", "label-email": "ایمیل", "placeholder-email": "ایمیل شما...", "label-name": "نام کامل", "label-password": "گذرواژه", "placeholder-password": "گذرواژه‌ی شما", "label-forgot-password": "؟رمز خود را فراموش کرده اید", "button-login": "ورود", "message-empty-email": "ایمیل نبایست خالی باشد.", "message-invalid-email": "ایمیل نادرست است.", "message-empty-password": "گذرواژه نبایست خالی باشد.", "message-login-failed": "ورود به مشکل خورد، ایمیل و گذرواژه را وارسی کنید.", "message-signup-failed": "ثبت‌نام ناموفق بود", "label-no-account": "حسابی ندارید؟ ", "link-sign-up-now": "اکنون نام‌نویسی کنید.", "label-mfa-code": "کد شش‌رقمی درستی‌سنجی دومرحله‌ای", "mfa-wrong-format": "کد درستی‌سنجی دومرحله‌ای باید شش رقم داشته باشد.", "mfa-verification-failed": "کد درستی‌سنجی دومرحله‌ای نادرست است. برنامه‌ی درستی‌سنجتان را دوباره بررسی فرمایید." }, "core-plugin": { "plugin-list": "فهرست افزونه‌ها", "option-search-plugin": "جست‌وجوی افزونه‌های اصلی", "option-search-plugin-description": "پالایش افزونه‌ها براساس نام یا توضیحات.", "placeholder-search-plugin": "جست‌وجوی افزونه‌ها..." }, "third-party-plugin": { "name": "افزونه‌های شخص‌ثالث", "option-restricted-mode": "حالت محدود", "option-restricted-mode-description": "حالت محدود خاموش است. برای غیرفعال کردن افزونه‌های انجمن آن را روشن کنید.", "button-turn-on": "روشنیدن", "option-browse-community-plugins": "افزونه‌های انجمن", "option-browse-community-plugins-description": "مرور و نصب افزونه‌های شخص‌ثالثی که انجمن خفن‌مان ساخته.", "button-browse": "مرور", "label-exit-restricted-mode": "برون‌رفت از حالت محدود", "label-exit-restricted-mode-description-1": "افزونه های انجمن، مانند هر نرم افزار دیگری که نصب می کنید، به طور بالقوه می تواند باعث یکپارچگی داده‌ها و مشکلات امنیتی شود.", "label-exit-restricted-mode-description-2": ":امنیت افزونه برای ما مهم است. این چیزی است که ما انجام می دهیم", "label-exit-restricted-mode-description-3": "علی‌رغم تلاش‌های ما، هنوز احتمال کمی وجود دارد که یک افزونه انجمن رفتار نادرست داشته باشد.", "label-code-review": "بررسی اولیه کد", "label-code-review-desc": "افزونه‌ها قبل از اینکه در فروشگاه ظاهر شوند توسط تیم ما مورد بررسی اولیه کد قرار می گیرند.", "label-open-source": "گشودن منبع", "label-open-source-desc": "اکثر افزونه‌ها در گیتهاب منبع باز هستند، بنابراین می توانید کد را خودتان بررسی کنید.", "label-peer-audit": "حسابرسی همتا", "label-peer-audit-desc": "ما جامعه بزرگی از توسعه دهندگان داریم که مراقب یکدیگر هستند.", "label-report-mechanism": "سازوکار گزارش", "label-report-mechanism-desc": "پس از گزارش کاربر، افزونه های معیوب را پیگیری و حذف می کنیم.", "label-exit-restricted-mode-disable-confirmation": "آیا می‌خواهید از حالت محدود خارج شوید تا افزونه‌های انجمن فعال شوند؟ ما به شدت توصیه می‌کنیم قبل از انجام این کار، از داده‌های خود نسخه پشتیبان تهیه کنید.", "label-learn-more": "درباره‌ی امنیت افزونه‌ها بیشتر بیاموزید", "button-turn-on-community-plugins": "روشنیدن افزونه‌های انجمن", "label-trust-author": "آیا به نویسنده این خزانه اعتماد دارید؟", "label-trust-author-description-1": "شما برای اولین بار است که این خزانه را باز می کنید، این خزانه با چند افزونه همراه است.", "label-trust-author-description-2": "اگر این خزانه را از شخص دیگری تهیه کرده اید، لطفا توجه داشته باشید که افزونه هایی با منشأ ناشناخته ممکن است خطرات امنیتی ایجاد کنند.", "label-trust-author-description-3": "اگر به نویسنده این خزانه کاملا اعتماد ندارید، توصیه می‌کنیم در حالت محدود بمانید، بنابراین افزونه‌های این صندوق اجرا نمی‌شوند.", "button-enable-plugins": "اعتماد به نویسنده و روشنیدن افزونه‌ها", "button-dont-trust-author": "خزانه را در حالت محدود مرور کنید", "placeholder-community-plugins": "جست‌وجوی افزونه‌های انجمن...", "msg-failed-load-plugins": "بارگیری افزونه‌های انجمن به مشکل خورد.", "label-installed": "نصب‌شده", "button-install": "نصب", "button-enable": "فعال کردن", "button-disable": "غیرفعال کردن", "button-copy-share-link": "کپی پیوند هم‌رسانی", "button-donate": "کمک مالی", "label-no-results-found": "!نتیجه‌ای پیدا نشد", "label-no-recent-files-found": "پرونده‌ی اخیری یافت نشد. برای جست‌وجو بنویسید...", "msg-failed-to-load-manifest": "بارگیری مانیفست افزونه به مشکل خورد.", "label-version": "نسخه: {{version}}", "label-currently-installed-version": " (نسخه‌ی نصب‌شده‌ی کنونی: {{version}})", "label-by-author": "کاری از ", "label-repository": "مخزن: ", "label-last-update": "آخرین به‌روزرسانی: ", "tooltip-view-last-update": "دیدن آخرین به‌روزرسانی", "label-unsupported": "این افزونه دستگاه‌تان را پشتیبانی نمی‌کند.", "button-update": "به‌روزرساندن", "label-no-readme": "این افزونه پرونده‌ی مرابخوان ارایه نکرده.", "msg-installing-plugin": "افزونه‌ی \"{{name}}\" دارد نصب می‌شود...", "msg-failed-to-install-plugin": "نصب افزونه‌ی \"{{name}}\" به مشکل خورد.", "msg-successfully-installed-plugin": "نصب افزونه‌ی \"{{name}}\" موفق بود.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "افزونه‌های نصب‌شده", "button-reload-plugins": "بازگیری افزونه‌ها", "msg-reloaded-third-party-plugins": "افزونه‌های شخص‌ثالث بازگیری شدند.", "label-uninstall": "حذف", "label-uninstall-plugin": "حذف افزونه", "label-uninstall-plugin-confirmation": "آیا از حذف افزونه مطمئنید؟ با این کار پوشه‌ی افزونه هم پاک می‌شود.", "button-open-plugins-folder": "گشودن پوشه‌ی افزونه‌ها", "button-check-for-updates": "بررسی به‌روزرسانی‌ها", "button-update-all-plugins": "به‌روزرساندن همه", "label-current-plugins": "افزونه‌های کنونی", "label-currently-installed": "هم‌اکنون {{count}} افزونه نصب است.", "label-currently-installed_plural": "هم‌اکنون {{count}} افزونه نصب است.", "msg-no-updates-found": "به‌روزرسانی افزونه‌ای پیدا نشد.", "msg-updates-found": "{{count}} افزونه برای به‌روزرساندن پیدا شد", "msg-updates-found_plural": "{{count}} افزونه برای به‌روزرساندن پیدا شد", "msg-update-plugin": "به‌روزرساندن به نسخه {{version}}", "option-search-installed-plugin": "جست‌وجوی افزونه‌های نصب‌شده", "option-search-installed-plugin-description": "پالایش افزونه‌ها براساس نام یا توضیحات.", "placeholder-search-installed-plugin": "جست‌وجوی افزونه‌های نصب‌شده...", "show-installed-only": "فقط نمایش نصب‌شده‌ها", "label-donate-modal-title": "کمک مالی جهت حمایت {{name}}", "label-donate-modal-text1": "توسعه دهندگان پلاگین داوطلبان انجمن هستند که از روی اشتیاق چیزهای شگفت انگیزی می سازند. اگر این افزونه را مفید می‌دانید، لطفا بودجه توسعه آن را در نظر بگیرید.", "label-donate-modal-text2": "100٪ از مشارکت شما به توسعه دهنده افزونه خواهد رفت. Obsidian سهمی نمی گیرد. پلتفرم بودجه ای که آنها انتخاب می کنند ممکن است هزینه ای دریافت کند.", "label-donate-modal-text3": "!با تشکر از حمایت سخاوتمندانه شما", "label-support-this-plugin": "حمایت از این افزونه:", "label-search-summary": "{{pluginCount}}افزونه را نمایش می‌دهد", "label-by-popularity": "بیشترین بارگیری", "label-by-released": "تازه منتشرشده‌ها", "label-by-updated": "تازه به‌روزشده‌ها", "label-alphabetical": "الفبایی", "label-last-updated": "به‌روزرسانی {{time}}" }, "mobile-toolbar": { "name": "نوارابزار گوشی", "option-configure-quick-action": "پیکربندی کارهای سریع گوشی", "option-configure-quick-action-description": "پیکربندی فرمانی که هنگام لمس از بالا به پایین اجرا می‌شود. فرمان کنونی \"{{command}}\" است.", "msg-missing-quick-action": "عملیات تعریف نشده است", "button-configure": "پیکربندی", "placeholder-select-quick-action": "انتخاب کار سریع...", "quick-action-disabled": "هیچ‌کدام", "manage-toolbar-options": "مدیریت گزینه‌های نوارابزار", "option-internal-link": "افزودن پیوند درونی", "option-internal-embed": "افزودن جاساز", "option-tag": "افزودن برچسب", "option-heading": "سرفصل", "option-strikethrough": "کج‌نویس", "option-highlight": "هایلات", "option-code": "کد", "option-blockquote": "نقل‌قول", "option-inline-math": "فعال کردن/نکردن ریاضی درون‌خطی", "option-math-block": "فعال کردن/نکردن بلوک ریاضی", "option-markdown-link": "افزودن پیوند مارک‌داونی", "option-bullet-list": "فهرست گلوله‌ای", "option-numbered-list": "فهرست شماره‌دار", "option-indent-list": "تو بردن مورد", "option-unindent-list": "بیرون بردن مورد", "option-undo": "واگرد", "option-redo": "ازنو", "option-move-caret-up": "بالا بردن نشانگر", "option-move-caret-down": "پایین آوردن نشانگر", "option-move-caret-left": "چپ بردن نشانگر", "option-move-caret-right": "راست بردن نشانگر", "option-first-line": "رفتن به خط اول", "option-last-line": "رفتن به خط آخر", "option-toggle-keyboard": "صفحه‌کلید", "option-configure-toolbar": "پیکربندی نوارابزار گوشی", "option-added-options": "گزینه‌های افزوده", "option-more-toolbar-options": "گزینه‌های بیشتر", "option-attach": "درج پیوست", "option-add-command": "افزودن فرمان سراسری", "option-add-command-description": "فرمان دلخواهی را به نوارابزار اضافه کنید." } }, "editor": { "search": { "placeholder-find": "یافتن", "placeholder-replace": "جایگزینی", "label-exit-search": "خروج از جست‌وجو", "label-next": "بعدی", "label-previous": "قبلی", "label-find-all": "یافتن همه", "label-replace": "جایگزینی", "label-replace-all": "جایگزین کردن همه" }, "link-suggestion": { "label-type-hash": "# بنویسید", "label-link-heading": "برای پیوند سرفصل", "label-type-block": "بنویسید ^", "label-link-block": "برای پیوند بلوک", "label-type-pipe": "بنویسید |", "label-change-display-text": "برای تغییر متن نمایشی", "label-no-alias": "متن نمایش", "label-no-heading": "سرفصل", "label-no-match-found": "نتیجه‌ای پیدا نشد", "label-image-size": "اندازه تصویر: {{size}}px عرض", "label-accept": "برای پذیرش", "label-new-footnote": "پاورقی جدید..." }, "spellcheck": { "no-suggestion": "پیشنهادی نیست...", "add-to-dictionary": "افزودن به واژه‌نامه" }, "menu": { "edit-link": "ویرایش پیوند", "edit-tag": "ویرایش برچسب", "label-edit-block": "ویرایش این بلوک", "label-delete-footref-and-note": "حذف پانویس و مرجع" }, "heading-suggestion": { "label-no-heading": "بی‌سرفصل", "label-heading-level": "سرفصل {{level}}" }, "print-modal": { "title": "خروجی به پی‌دی‌اف", "caption": "خروجی گرفتن \"{{filename}}\" به پی‌دی‌اف با تنظیمات زیر.", "setting-page-size": "اندازه‌ی برگه", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "گنجاندن نام فایل به عنوان تیتر", "setting-landscape": "افقی", "setting-margin": "حاشیه", "setting-margin-default": "پیش‌فرض", "setting-margin-minimal": "کمینه", "setting-margin-none": "بی‌حاشیه", "setting-downscale-percent": "درصد کاهش مقیاس", "button-export-to-pdf": "خروجی به پی‌دی‌اف" }, "link-popover": { "tooltip-follow-link": "دنبالیدن پیوند", "tooltip-open-link": "گشودن پیوند", "tooltip-search-tag": "جست‌وجوی برچسب" } }, "interface": { "embed-cannot-find": "یافت نمی‌شود:", "label-unable-to-find-section": "امکان یافتن \"{{subpath}}\" در {{file}} وجود ندارد", "embed-open-in-default-app-tooltip": "گشودن در برنامه‌ی پیش‌فرض", "empty-sidebar": "نوار کناری خالی است، سعی کنید زبانه‌ای اینجا بکشید.", "sidebar-expand": "گستردن", "sidebar-collapse": "جمع کردن", "msg-fail-to-save-file": "ذخیره‌ی پرونده‌ی \"{{filepath}}\" به مشکل خورد. {{message}}.", "msg-failed-to-load-plugin": "بارگیری افزونه «{{plugin}}» ناموفق بود", "msg-plugin-error": "افزونه «{{plugin}}» هنگام بارگیری با خطا مواجه شد", "msg-failed-to-load-file": "باز کردن «{{filepath}}» ناموفق بود", "msg-failed-to-open-href": "نمی‌توان مکان «{{href}}» را باز کرد", "no-file": "پرونده‌ای نیست", "msg-file-changed": "\"{{file}}\" از بیرون دستکاری شده است، تغییرات دارند خودبه‌خود یکی کردن می‌شوند.", "switch-vault": "گشودن خزانه‌ای دیگر", "manage-vaults": "مدیریت خزانه‌ها...", "help": "راهنما", "settings": "تنظیمات", "drag-to-rearrange": "کشیدن برای بازچینش", "msg-switched-to-read": "حالت نمای پیش‌فرض به نمای خواندن تغییر کرد.", "msg-switched-to-edit": "حالت نمای پیش‌فرض به ویرایشگر تغییر کرد.", "msg-upgrade-installer": "برای استفاده از این قابلیت، برنامه را با نوترین نصب‌گر که در وبگاه‌مان هست، باز نصب فرمایید.", "msg-slow-boot": "زمان راه‌اندازی کند شناسایی شد.", "msg-desktop-only-feature": "این قابلیت فقط در نسخه دسکتاپ در دسترس است.", "tooltip-restore-default-settings": "بازنشانی به تنظیمات پیش‌فرض", "label-copy": "کپی در تخته‌یادداشت", "label-copy-short": "کپی", "copied_generic": "در تخته‌یادداشت کپی شد", "copied": "{{item}} در تخته‌یادداشت کپی شد.", "copy_failed": "امکان کپی به تخته‌یادداشت وجود ندارد", "prompt-filter": "فیلتر...", "url": "آدرس اینترنتی", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "پرونده‌ی \"{{path}}\" گشوده شد.", "msg-file-not-found-through-uri": "پرونده‌ی \"{{name}}\" پیدا نشد.", "delete-action-short-name": "حذف", "msg-indexing": "Obsidian دارد خزانه را نمایه‌سازی می‌کند...\nاین عمل بایستی یک بار رخ دهد.\nممکن است تا پیش از پایان این کار، برخی قابلیت‌ها کار نکنند", "msg-indexing-desc": "برخی قابلیت‌ها ممکن است تا پایان این در دسترس نباشند.", "msg-indexing-complete": "نمایه‌سازی کامل شد.", "msg-sandbox-vault": "این یک خزانه سندباکس (جعبه شنی) است.\nتغییراتی که در این خزانه ایجاد می‌کنید، از بین خواهند رفت.", "msg-indexed-db-not-supported": "IndexedDB برای این ویژگی مورد نیاز است، اما در حال حاضر غیرفعال است.", "msg-indexed-db-i-o-s": "اگر از iOS در حالت Lockdown Mode استفاده می‌کنید، لطفا Obsidian را از تنظیمات \"پیکربندی مرور وب\" حالت Lockdown Mode حذف کنید.", "label-enter-to-create": "برای ساختن اینتر بزنید", "label-update-available": "به‌روزرسانی موجود است", "label-debug-info": "اطلاعات اشکال‌زدایی", "button-learn-more": "اطلاعات بیشتر", "button-not-now": "فعلا نه", "button-add": "افزودن", "button-manage": "مدیریت", "label-new-tab": "زبانه‌ی نو", "option-hide-ribbon": "پنهان کردن روبان", "msg-tab-busy": "این زبانه هم‌اکنون مشغول است، بعدا دوباره کوشش فرمایید", "formatting": { "label-formatting": "قالب‌بندی", "label-paragraph": "بندنوشت", "label-insert": "درج", "insert-link": "افزودن پیوند", "insert-external-link": "افزودن پیوند بیرونی", "insert-callout": "فراخوان", "insert-horizontal-rule": "خط افقی", "insert-code-block": "بلوک کد", "insert-math-block": "بلوک ریاضی", "insert-table": "جدول", "insert-footnote": "پاورقی", "toggle-bold": "درشت‌نویس", "toggle-code": "کد", "toggle-comments": "دیدگاه", "toggle-highlight": "هایلایت", "toggle-italics": "کج‌نویس", "toggle-strikethrough": "خط‌خورده", "toggle-math": "ریاضی", "toggle-bullet-list": "فهرست گلوله‌ای", "toggle-checklist": "فهرست کارها", "toggle-numbered-list": "فهرست شماره‌دار", "set-heading": "{{level}} سرفصل", "no-heading": "تنه", "clear": "حذف قالب‌بندی", "toggle-quote": "نقل‌قول" }, "empty-state": { "no-file-open": "پرونده‌ای باز نیست", "create-new-file": "ساخت پرونده‌ی نو", "go-to-file": "رفتن به پرونده", "see-recent-files": "دیدن پرونده‌های اخیر", "close": "بستن", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "افزونه دیگر فعال نیست", "unknown-pane-desc": "افزونه‌ای که این برگ را ساخته ({{type}}) ناموجود است" }, "release-notes": { "tab-title": "یادداشت‌های انتشار {{version}}", "msg-missing-release-notes": "هیچ یادداشت انتشار برای نسخه {{version}} موجود نیست.", "msg-failed-to-load": "بارگیری یادداشت‌های انتشار برای نسخه {{version}} امکان‌پذیر نبود." }, "menu": { "edit-view": "ویرایش (کنترل/⌘+کلیک برای ویرایش در برگ نو)", "read-view": "نمای کنونی: خواندن", "ribbon": "روبان", "left-sidebar": "ستون‌کناری چپ", "right-sidebar": "ستون‌کناری راست", "switch-to-edit-view": "کلیک برای ویرایش", "switch-to-read-view": "کلیک برای خواندن", "mod-click-open-new-tab": "برای گشودن در زبانه‌ی نو {{key}}+کلیک کنید", "find": "یافتن...", "replace": "جایگزینی...", "edit": "ویرایش", "remove": "حذف", "rename": "نام‌گذاری", "preview": "پیش‌نمایش", "more-options": "گزینه‌های بیشتر", "close": "بستن", "close-all": "بستن همه‌ی زبانه‌ها", "close-tabs-with-count": "بستن {{count}} زبانه", "close-tabs-with-count_plural": "بستن {{count}} زبانه", "close-others": "بستن زبانه‌های دیگر", "close-after": "بستن زبانه‌ها بعد از", "pin": "سنجاق کردن", "unpin": "برداشتن سنجاق", "unlink-tab": "بی‌پیوند کردن زبانه", "link-tab": "پیوند زدن به زبانه‌ی...", "toggle-source-mode": "نمای منبع", "toggle-reading-view": "نمای خواندن", "add-property": "افزودن ویژگی پرونده", "delete-file": "حذف پرونده", "create-file": "ساختن این پرونده", "open-link": "گشودن پیوند", "open-in-new-tab": "گشودن در زبانه‌ی نو", "open-to-the-right": "گشودن در سمت راست", "copy-url": "کپی آدرس اینترنتی", "copy": "کپی", "cut": "برش", "paste": "جاگذاری", "paste-as-plain-text": "جاگذاری به‌صورت متن ساده", "lookup-selection": "جست‌وجوی «{{selection}}»", "select-all": "انتخاب همه", "rename-heading": "نام‌گذاری این سرفصل...", "rename-blockid": "نام‌گذاری این شناسه‌ی بلوک...", "open-in-new-window": "گشودن در پنجره‌ی نو", "move-to-new-window": "بردن به پنجره‌ی نو", "open-in-browser": "گشودن در مرورگر", "stack-tabs": "روی‌هم‌گذاری زبانه‌ها", "unstack-tabs": "ازهم‌گشودن زبانه‌ها", "open-linked-view": "گشودن نمای پیوندشده" }, "tooltip": { "click-to-expand": "کلیک برای گستردن", "click-to-collapse": "کلیک برای جمع کردن", "alias": "نام مستعار", "not-created-yet": "هنوز ساخته نشده، برای ساختن انتخاب کنید" }, "start-screen": { "label-version": "نسخه", "label-create-local-vault": "ساختن خزانه‌ی محلی", "option-open-folder-as-vault": "گشودن پوشه به‌عنوان خزانه", "option-open-folder-as-vault-description": "انتخاب پوشه‌ای موجود که پرونده‌های مارک‌داون دارد.", "option-create-vault": "ساخت خزانه‌ی نو", "option-create-vault-description": "ساخت خزانه‌ی Obsidian تحت یک پوشه", "option-connect-obsidian-sync": "گشودن خزانه از Obsidian سینک", "option-connect-obsidian-sync-description": "یک خزانه همگام‌سازی شده با خزانه راه دور موجود راه‌اندازی کنید.", "option-new-vault-name": "نام خزانه", "option-new-vault-name-description": "یک نام برای خزانه خود انتخاب کنید.", "option-new-vault-location": "جایگاه", "option-new-vault-location-description": "انتخاب جایی برای گذاشتن خزانه", "label-new-vault-location-preview": "خزانه جدید شما در اینجا قرار خواهد گرفت: ", "option-reveal-vault-in-explorer": "نمایش خزانه در مرورگر پرونده سیستم", "option-reveal-vault-in-explorer-mac": "نمایش خزانه در مرورگر پرونده مک‌اواِس", "option-rename-vault": "نام‌گذاری خزانه...", "option-copy-vault-i-d": "کپی شناسه‌ی خزانه", "msg-error-rename-exists": "همین‌حالا نیز خزانه‌ای با همین نام وجود دارد.", "msg-error-nested": "امکان جابجایی خزانه به یک زیرپوشه از خودش وجود ندارد.", "msg-error-rename-open": "نمی‌توان خزانه‌ای را که هم‌اکنون باز است نام‌گذاری کرد", "msg-rename-failed": "نام‌گذاری خزانه شکست خورد.", "msg-rename-success": "نام‌گذاری خزانه به‌درستی انجام شد.", "option-move-vault": "جابه‌جایی خزانه...", "msg-move-select-dest": "انتخاب پوشه‌ی مقصد", "msg-error-move-exists": "همین‌حالا هم خزانه‌ای در این مقصد هست.", "msg-error-move-open": "نمی‌شود خزانه‌ای که هم‌اکنون باز است را جابه‌جا کرد.", "msg-move-failed": "جابه‌جایی خزانه شکست خورد.", "msg-move-success": "جابه‌جایی خزانه به‌درستی انجام شد.", "option-remove": "حذف از فهرست", "button-quick-start": "آغاز سریع", "button-open": "گشودن", "button-browse": "مرور", "button-connect": "وصل کردن", "button-create-vault": "ساختن", "button-back": "بازگشت", "msg-empty-vault-name": "خزانه نمی‌تواند بی‌نام باشد.", "msg-trailing-dot-vault-name": "نام خزانه نمی‌تواند با نقطه به پایان برسد.", "msg-invalid-folder": "پوشه‌ای معتبر انتخاب فرمایید.", "msg-failed-to-create-vault": "ساخت خزانه به مشکل خورد.", "msg-failed-to-create-vault-at-location": "در جای داده‌شده نمی‌توان خزانه‌ی نویی ساخت. مجوزها و جایگاه را وارسی کنید.", "msg-error-failed-to-open-vault": "گشودن به مشکل خورد.", "msg-error-remove-current-open-vault": "نمی‌شود خزانه‌ای که اکنون باز است را حذف کرد.", "option-get-help": "راهنمایی", "option-user-email": "ایمیل", "placeholder-your-email": "ایمیل شما...", "option-user-password": "گذرواژه", "placeholder-your-password": "گذرواژه‌ی شما...", "button-sign-in": "ورود", "button-setup": "راه‌اندازی", "option-connect-vault-desc": "یک خزانه همگام‌سازی شده در این دستگاه ایجاد کنید.", "tooltip-own-vault": "این یک خزانه ریموت (از راه دور) است که متعلق به شماست.", "tooltip-shared-vault": "این یک خزانه ریموت (از راه دور) است که با شما به اشتراک گذاشته شده است.", "mobile": { "label-start-screen": "افکار شما متعلق به خودتان است.", "label-synced": "همگام‌سازی شده", "label-not-synced": "همگام‌سازی نشده", "label-none": "هیچ", "label-recommended": "پیشنهادی", "label-start-screen-desc": "Obsidian یادداشت‌ها را در دستگاه شما ذخیره می‌کند، بنابراین می‌توانید به سرعت و به صورت خصوصی، حتی آفلاین، به آن‌ها دسترسی داشته باشید.\nداده‌های شما در یک پوشه محلی امن به نام **vault** ذخیره می‌شوند.", "option-create": "ایجاد یک خزانه", "option-use-existing": "استفاده از خزانه موجود من", "label-sync-intro": "برای دسترسی به یادداشت‌های خود در دستگاه‌های دیگر، باید همگام‌سازی را تنظیم کنید.", "label-sync-intro-desc": "از آنجایی که Obsidian یادداشت‌های شما را در دستگاه‌هایتان ذخیره می‌کند، اگر می‌خواهید به یادداشت‌های خود در تلفن یا رایانه دیگری دسترسی داشته باشید، باید همگام‌سازی را تنظیم کنید.\nمی‌توانید همگام‌سازی را اکنون تنظیم کنید، یا فقط شروع به نوشتن کنید و بعدا آن را تنظیم کنید.", "option-setup-sync": "تنظیم همگام‌سازی", "option-skip": "فعلا رد کن", "option-skip-short": "رد کردن", "label-vault-create": "نامی برای خزانه خود انتخاب کنید.", "button-create": "ایجاد خزانه", "label-sync-setup": "تنظیم همگام‌سازی", "label-sync-setup-desc": "یک خزانه همگام‌سازی شده در حساب Obsidian خود ایجاد کنید تا بتوانید از دستگاه‌های دیگر به داده‌های خود دسترسی داشته باشید.", "label-remote-vault-create": "رمزگذاری همگام‌سازی", "option-encryption-custom": "رمزگذاری سرتاسری", "option-encryption-custom-desc": "قوی‌ترین امنیت را ارائه می‌دهد اما نیاز دارد که رمز عبور رمزگذاری خود را به صورت ایمن ذخیره کنید", "option-encryption-managed": "رمزگذاری استاندارد", "option-encryption-managed-desc": "از یک کلید مدیریت شده توسط Obsidian برای محافظت از داده‌های شما در حین انتقال و در سرورهای ما استفاده می‌کند.", "label-sync-settings": "تنظیمات همگام‌سازی", "label-sync-settings-desc": "آیا می‌خواهید هنگام همگام‌سازی با این دستگاه، پوشه‌ها یا فایل‌ها را مستثنی کنید؟", "button-start": "شروع همگام‌سازی", "label-sign-in-or-sign-up": "یک حساب Obsidian ایجاد کنید یا وارد شوید", "option-sign-up": "ثبت‌نام", "option-sign-in": "ورود", "button-resend-email": "ارسال مجدد ایمیل", "label-remote-vault-options": "شما خزانه‌های همگام‌سازی موجود دارید", "label-remote-vault-options-desc": "آیا می‌خواهید یک خزانه جدید ایجاد کنید یا به یک خزانه همگام‌سازی شده موجود متصل شوید؟", "option-remote-create": "ایجاد خزانه همگام‌سازی جدید", "option-remote-choose": "انتخاب یک خزانه موجود", "button-logout": "خروج", "button-forgot-password": "رمز عبور را فراموش کرده‌ام", "label-vault-name": "نام خزانه", "label-vault-location": "مکان خزانه", "label-vault-location-desc": "خزانه جدید شما در {{vaultLocation}} قرار خواهد گرفت", "label-region-selection": "منطقه", "label-region-selection-help": "یک منطقه سرور نزدیک خود را انتخاب کنید تا همگام‌سازی سریع‌تر شود.", "label-encryption-key": "کلید رمزگذاری", "label-encryption-key-help": "این رمز عبور بعدا قابل تغییر نیست. اگر رمز عبور خود را فراموش کنید، هر گونه داده ریموت (از راه دور) در سرورهای Sync برای همیشه غیرقابل دسترسی خواهد بود.", "placeholder-vault-name": "خزانه من", "opt-region-selection-automatic": "خودکار", "label-remote-vault-selection": "انتخاب یک خزانه", "label-remote-vault-selection-desc": "حساب شما **{{email}}** خزانه‌های موجودی دارد که می‌توانید به آن‌ها متصل شوید.", "label-sign-in": "ورود به حساب Obsidian خود", "label-forgot-password": "رمز عبور را فراموش کرده‌ام", "button-reset-password": "بازنشانی رمز عبور", "msg-password-reset": "ما ایمیلی به {{email}} برای بازنشانی رمز عبور شما ارسال کرده‌ایم.", "label-sync-method-selection": "نحوه همگام‌سازی یادداشت‌های خود را انتخاب کنید", "label-sync-method-selection-desc": "برای استفاده از Obsidian در دستگاه‌های خود، باید داده‌های خود را همگام‌سازی کنید.", "label-sync-pro1": "بدون نقص در هر دستگاه و سیستم‌عامل.", "label-sync-pro2": "با قوی‌ترین استاندارد رمزگذاری سرتاسری ایمن شده است.", "label-sync-pro3": "نیاز به یک حساب Obsidian دارد.", "label-icloud-con1": "فقط برای iOS و macOS.", "label-icloud-con2": "به‌طور پیش‌فرض رمزگذاری نشده است.", "label-third-party-desc1": "نیاز به افزونه‌ها یا ابزارهای شخص ثالث دارد.", "label-third-party-desc2": "ممکن است به‌طور پیش‌فرض رمزگذاری نشده باشد.", "opt-use-obsidian-sync": "استفاده از همگام‌سازی Obsidian", "opt-use-icloud": "استفاده از iCloud", "opt-use-other": "استفاده از همگام‌سازی شخص ثالث", "opt-learn-other-sync": "روش‌های همگام‌سازی دیگر", "opt-use-supported": "استفاده از روش‌های همگام‌سازی پشتیبانی‌شده", "label-sync-restore": "خزانه شما در کجا قرار دارد؟", "label-obsidian-sync": "همگام‌سازی Obsidian", "label-icloud": "iCloud", "label-other": "دیگر", "label-other-sync": "همگام‌سازی شخص ثالث", "label-local-folder": "در این دستگاه", "option-connect-icloud": "اتصال به iCloud", "option-connect-other": "اتصال به سرویس همگام‌سازی دیگر", "option-connect-sync": "اتصال به همگام‌سازی Obsidian", "option-connect-local-folder": "انتخاب پوشه", "label-sync-other": "روش‌های همگام‌سازی دیگر", "label-sync-other-desc": "Obsidian به طور رسمی از دو روش همگام‌سازی پشتیبانی می‌کند: **همگام‌سازی Obsidian** و **iCloud**.\nبا این حال، چون Obsidian به شما کنترل بر داده‌هایتان را می‌دهد، گزینه‌های همگام‌سازی دیگری نیز می‌توانید استفاده کنید.\nاین گزینه‌ها شامل افزونه‌های شخص ثالث و ابزارهای دیگر است که ممکن است به تنظیمات پیشرفته‌تری نیاز داشته باشند.\nبرای استفاده از یک روش همگام‌سازی جایگزین، **یک خزانه ایجاد کنید** و دستورالعمل‌های ارائه شده توسط افزونه یا ارائه‌دهنده همگام‌سازی شخص ثالث را دنبال کنید.", "label-email-entry": "ایمیل خود را وارد کنید", "label-email-entry-desc": "ایمیل شما برای ایجاد یک حساب Obsidian الزامی است.", "label-signup": "نام و رمز عبور خود را وارد کنید", "email-verification": "اتصال به همگام‌سازی Obsidian", "email-verification-desc": "به زودی ایمیلی به **{{email}}** حاوی دستورالعمل‌های اتصال به همگام‌سازی Obsidian دریافت خواهید کرد.", "icloud-missing": "iCloud", "icloud-missing-desc": "خزانه iCloud شما شناسایی نشد. این می‌تواند به دلایل زیر باشد:", "icloud-missing-reason1": "خزانه شما در حساب iCloud متفاوتی نسبت به حسابی است که در حال حاضر در این دستگاه وارد شده‌اید.", "icloud-missing-reason2": "خزانه شما در پوشه اصلی Obsidian در iCloud Drive شما ذخیره نشده است.", "i-cloud-unsupported": "iCloud پشتیبانی نمی‌شود", "i-cloud-unsupported-desc": "همگام‌سازی iCloud فقط در دستگاه‌های اپل موجود است. اگر خزانه شما در حال حاضر از طریق iCloud همگام‌سازی می‌شود، نحوه انتقال خزانه خود را به یک سرویس همگام‌سازی دیگر بیاموزید.", "allow-file-access": "اجازه دسترسی به فایل", "msg-login-pending": "در حال ورود به سیستم...", "msg-name-required": "نام خزانه الزامی است", "msg-new-email-success": "ایمیل تأیید جدید ارسال شد.", "msg-new-email-failure": "ارسال مجدد ایمیل ناموفق بود.", "msg-invalid-vault": "مکان خزانه باید یک پوشه باشد." } }, "starter-content": { "welcome-filename": "خوش آمدید", "welcome-file-content": "این *خزانه* جدید شماست.\n\nچیزی را یادداشت کنید، [[یک پیوند ایجاد کنید]]، یا [ابزار واردکننده](https://help.obsidian.md/Plugins/Importer) را امتحان کنید!\n\nوقتی آماده شدید، این یادداشت را حذف کنید و خزانه را مال خود کنید." }, "drag-and-drop": { "insert-link-here": "پیوند همین‌جا درج شود", "insert-links-here": "پیوندها همین‌جا درج شوند", "move-into-folder": "ریختن در \"{{folder}}\"", "star-this-file": "ستاره کردن این پرونده", "star-these-files": "ستاره کردن این پرونده‌ها", "open-in-this-tab": "گشودن در همین زبانه", "open-as-tab": "گشودن در زبانه‌ای نو" }, "window": { "maximize": "بیشینه کردن پنجره", "minimize": "کمینه کردن پنجره", "restore-down": "بازنشانی کردن پنجره", "close-window": "بستن پنجره", "go-back": "عقب‌گرد", "go-forward": "پیش‌رفت" }, "start-up": { "loading-obsidian": "بارگیری Obsidian...", "obsidian-load-error": "هنگام بارگیری Obsidian خطایی رخ داد.", "button-reload-app": "باز و بستن برنامه", "button-reload-app-in-safe-mode": "بارگذاری دوباره‌ی برنامه در حالت امن", "button-open-another-vault": "گشودن خزانه‌ای دیگر", "loading-plugins": "بارگیری افزونه‌ها...", "msg-plugin-hang": "ظاهرا بارگذاری افزونه \"{{plugin}}\" دارد زمان زیادی طول می‌کشد. ", "loading-vault": "بارگیری خزانه...", "msg-failed-to-load-vault": "بارگیری خزانه به مشکل خورد: ", "loading-cache": "بارگیری حافظه‌ی پنهان...", "loading-workspace": "بارگیری فضای کاری..." }, "mobile": { "action-import": "وارد کردن به خزانه", "action-insert-text-desc": "افزودن متن به فایل:", "action-choose-file-to-insert": "پرونده‌ای برای درج انتخاب کنید", "action-insert-text-into-file": "درج متن درون {{filename}}", "action-insert-link-into-file": "درج پیوند درون {{filename}}", "action-show-switcher": "نمایش نمای کلی تب‌ها", "msg-importing": "دارد وارد می‌شود...", "msg-import-success": "وارد کردن موفق بود", "msg-failed-to-import-file": "وارد کردن پرونده به مشکل خورد {{filename}}", "msg-back-again-to-exit": "برای خروج، دوباره دکمه بازگشت را فشار دهید.", "feedback": { "label-feedback": "بازخورد", "label-feedback-desc": "آیا از Obsidian لذت می‌برید؟ با دادن امتیاز به ما کمک کنید.", "action-rate": "امتیاز دادن به برنامه", "action-dismiss": "رد کردن" } }, "help-screen": { "label-official-help-site": "وبگاه راهنمای رسمی", "label-official-help-site-desc": "مستندات راهنمای رسمی Obsidian را بخوانید که به چندین زبان موجود است.", "action-visit": "بازدید", "label-discord-chat": "چت دیسکورد", "label-discord-chat-desc": "دیسکورد بهترین مکان برای چت با سایر کاربران باتجربه Obsidian از سراسر جهان است.", "action-join": "پیوستن", "label-forum": "انجمن رسمی", "label-forum-desc": "به یکدیگر کمک کنید، درخواست‌های ویژگی ارسال کنید، باگ‌ها را گزارش دهید و بحث‌های عمیق درباره مدیریت دانش داشته باشید.", "label-sandbox-vault": "خزانه سندباکس", "label-sandbox-vault-desc": "با ویژگی‌های مختلف بازی کنید و آزمایش کنید. لطفا توجه داشته باشید که تغییرات شما ذخیره نخواهند شد." } }, "commands": { "save-file": "ذخیره‌ی همین پرونده", "download-attachments": "بارگیری پیوست‌ها برای فایل فعلی", "follow-cursor-link": "دنبال کردن پیوند زیر نشانگر", "open-cursor-link-in-new-tab": "گشودن پیوند زیر نشانگر در زبانه‌ی نو", "open-cursor-link-to-the-right": "گشودن پیوند زیر نشانگر در سمت راست", "open-cursor-link-in-new-window": "گشودن پیوند زیر نشانگر در پنچره‌ی نو", "navigate-tab-above": "تمرکز بر گروه زبانه‌های بالا", "navigate-tab-below": "تمرکز بر گروه زبانه‌های پایین", "navigate-tab-left": "تمرکز بر گروه زبانه‌های چپ", "navigate-tab-right": "تمرکز بر گروه زبانه‌های راست", "toggle-pin": "سنجاق بودن", "split-right": "نصف کردن به راست", "split-down": "نصف کردن به پایین", "toggle-stacked-tabs": "روشن/خاموش کردن زبانه‌های برهم", "navigate-back": "عقب‌گرد", "navigate-forward": "پیش‌رفت", "use-dark-mode": "حالت تاریک", "use-light-mode": "حالت روشن", "change-theme": "تغییر پوسته", "search-current-file": "جست‌وجو در همین پرونده", "search-replace-current-file": "جست‌وجو و جایگزینی در همین پرونده", "add-property": "افزودن ویژگی پرونده", "label-sort-property-a-to-z": "نام (الف تا ی)", "label-sort-property-z-to-a": "نام (ی تا الف)", "add-alias": "افزودن نام مستعار", "clear-properties": "حذف همه‌ی ویژگی‌های پرونده", "open-settings": "گشودن تنظیمات", "open-help": "گشودن راهنما", "toggle-edit": "نمای خواندن/ویرایش", "toggle-source-mode": "نمای حالت پیش‌نمایش زنده/منبع", "delete-current-file": "حذف همین پرونده", "new-tab": "زبانه‌ی نو", "show-trash": "نمایش زباله‌دان", "close-all-tabs": "بستن همه‌ی زبانه‌ها", "close-active-tab": "بستن همین زبانه", "close-others-in-tab-group": "بستن دیگر زبانه‌ها در همین گروه", "close-other-tabs": "بستن همه‌ی زبانه‌های دیگر", "close-tab-group": "بستن این گروه از زبانه‌ها", "toggle-left-sidebar": "نمایش نوار کناری چپ", "toggle-ribbon": "تغییر وضعیت روبان", "toggle-right-sidebar": "نمایش نوار کناری راست", "toggle-default-new-tab-mode": "تغییر حالت پیش‌فرض برای زبانه‌های جدید", "add-cursor-above": "افزودن نشانگر به بالا", "add-cursor-below": "افزودن نشانگر به پایین", "focus-editor": "تمرکز بر ویرایشگر", "toggle-fold-properties": "گستردن/جمع کردن ویژگی‌ها در همین پرونده", "toggle-fold": "گستردن/جمع کردن این خط", "fold-all": "جمع کردن همه‌ی سرفصل‌ها و فهرست‌ها", "unfold-all": "گستردن همه‌ی سرفصل‌ها و فهرست‌ها", "fold-more": "تا کردن بیشتر", "fold-less": "تا کردن کمتر", "swap-line-up": "بالا بردن این خط", "swap-line-down": "پایین آوردن این خط", "remove-heading": "حذف سرفصل", "toggle-heading": "تبدیل به سرفصل {{level}}", "toggle-bold": "درشت‌نویس کردن/نکردن", "toggle-italics": "کج‌نویس کردن/نکردن", "toggle-highlight": "هایلایت کردن/نکردن", "toggle-comments": "دیدگاه کردن/نکردن", "clear-formatting": "پاک کردن قالب‌بندی", "insert-link": "درج پیوند", "toggle-spellcheck": "روشن/خاموش کردن بررسی املا", "delete-paragraph": "حذف بند", "toggle-checklist": "بازبینه‌سازی", "cycle-list-checklist": "گردش میان فهرست گلوله‌ای/تیک‌زدنی", "insert-callout": "درج فراخوان", "insert-code-block": "درج بلوک کد", "insert-math-block": "درج بلوک ریاضی", "insert-horizontal-rule": "درج خط افقی", "insert-table": "درج جدول", "insert-footnote": "درج پاورقی", "edit-file-title": "ویرایش عنوان پرونده", "copy-path": "کپی مسیر فعال", "copy-url": "کپی آدرس اینترنتی Obsidian", "export-pdf": "خروجی پی‌دی‌اف", "reload": "باز و بستن بدون ذخیره", "undo-close-tab": "واگردانی بستن زبانه", "context-menu": "نمایش منوی محتوایی زیر نشانگر موس", "show-debug-info": "نمایش اطلاعات اشکال‌زدایی", "open-sandbox-vault": "گشودن خزانه‌ی آزمایشی", "always-on-top": "نمایش پنجره همیشه در بالا", "zoom-in": "زوم‌پیش", "zoom-out": "زوم‌پس", "reset-zoom": "بازنشانی زوم", "toggle-preview": "تغییر حالت ویرایش/پیش‌نمایش", "move-to-new-window": "بردن همین برگه به پنجره‌ای نو", "open-in-new-window": "گشودن همین برگه در پنجره‌ای نو", "rename-current-file": "تغییر نام همین پرونده", "go-to-prev-tab": "رفتن به زبانه‌ی قبل", "go-to-next-tab": "رفتن به زبانه‌ی بعد", "go-to-last-tab": "رفتن به زبانه‌ی آخر", "go-to-nth-tab": "رفتن به زبانه‌ی شماره‌ی {{n}}", "show-release-notes": "نمایش تغییرات‌نامه" }, "dialogue": { "label-link-affected": "این تغییر روی {{links}} در {{files}} تأثیر خواهد گذاشت.", "msg-updated-links": "{{links}} در {{files}} به‌روزرسانی شد.", "label-update-links": "به‌روزرسانی پیوندها", "label-confirm-update-link-to-file": "آیا می‌خواهید پیوندهای درونی که به این پرونده پیوندشده‌اند را به‌روز کنید؟", "button-always-update": "همیشه به‌روز شود", "button-just-once": "فقط یک‌بار", "button-do-not-update": "به‌روز نشود", "label-confirm-deletion": "آیا مطمئنید می‌خواهید \"{{filename}}\" را حذف کنید؟", "label-move-to-system-trash": "این پرونده به زباله‌دان دستگاه ریخته می‌شود.", "label-move-to-vault-trash": "این پرونده به زباله‌دان Obsidian منتقل می‌شود که در پوشه‌ی \".trash\" جای دارد و آن هم' خود در پوشه‌ی خزانه پنهان است.", "label-permanent-delete": "این پرونده برای همیشه حذف خواهد شد.", "label-non-empty-folder": "این پوشه خالی نیست.", "label-delete-folder-warning": "اگر ادامه دهید، همه‌ی پرونده‌های درون این پوشه پاک خواهند شد.", "label-delete-folder": "حذف پوشه", "button-delete": "حذف", "button-delete-do-not-ask-again": "حذف کن و دیگر نپرس", "label-do-not-ask-again": "دیگر نپرس", "label-existing-backlink": "در حال حاضر {{count}} پیوند به این یادداشت اشاره دارد.", "label-existing-backlink_plural": "در حال حاضر {{count}} پیوند به این یادداشت اشاره دارند.", "label-delete-file": "حذف پرونده", "label-download-attachments": "بارگیری پیوست‌ها", "label-no-attachments": "هیچ پیوست خارجی در این یادداشت وجود ندارد.", "label-downloaded-attachments": "{{count}} پیوست بارگیری شد.", "label-downloaded-attachments_plural": "{{count}} پیوست بارگیری شدند.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "مدیریت", "button-view": "مشاهده", "button-confirm": "تأیید", "button-cancel": "لغو", "button-download": "بارگیری", "button-done": "انجام", "button-save": "ذخیره", "button-stop": "ایست", "button-continue": "ادامه", "button-choose": "انتخاب", "button-retry": "تلاش مجدد", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "درحال آماده‌سازی پی‌دی‌اف...", "label-rename-file": "نام‌گذاری پرونده", "label-rename-file-generic": "نام پرونده", "label-new-name": "نام نو", "msg-rename-success": "نام‌گذاری موفق بود", "msg-merge-failed": "ادغام یادداشت‌ها ناموفق بود: {{message}}", "msg-file-or-folder-not-found": "فایل یا پوشه «{{path}}» وجود ندارد.", "msg-heading-empty": "سرفصل نمی‌تواند خالی باشد", "msg-block-id-empty": "شناسه بلوک نمی‌تواند خالی باشد", "msg-block-id-invalid": "شناسه بلوک فقط می‌تواند شامل حروف الفبا (انگلیسی)، اعداد (لاتین) یا خط تیره باشد", "label-rename-heading": "نام‌گذاری سرفصل", "label-rename-blockid": "نام‌گذاری شناسه‌ی بلوک" }, "menu-items": { "new-file": "ساختن یادداشت", "new-file-to-the-right": "ساختن یادداشت نو در سمت راست", "new-window": "پنجره‌ی نو", "open-switcher": "گشودن سریع...", "open-vault": "گشودن خزانه...", "close-tab": "بستن زبانه", "close-window": "بستن پنجره", "find": "یافتن", "replace": "جایگزین کردن", "insert-callout": "فراخوان", "insert-markdown-link": "پیوند مارک‌داون", "insert-wikilink": "پیوند", "set-heading": "سرفصل {{level}}", "no-heading": "بی‌سرفصل", "insert-quote": "نقل‌قول", "export-pdf": "خروجی پی‌دی‌اف", "insert-attachment": "درج پیوست...", "insert-codeblock": "بلوک کد", "insert-math-block": "بلوک ریاضی", "insert-table": "جدول", "insert-footnote": "پاورقی", "toggle-bullet-list": "فهرست گلوله‌ای", "toggle-numbered-list": "فهرست شماره‌ای", "toggle-checklist": "فهرست کارها", "toggle-bold": "درشت‌نویس", "toggle-code": "کد", "toggle-comment": "دیدگاه", "toggle-italics": "کج‌نویس", "toggle-inline-math": "ریاضی", "toggle-highlight": "هایلایت", "toggle-strikethrough": "خط‌خوردگی", "toggle-comments": "دیدگاه", "folding-menu": "تا کردن", "fold-all": "تا کردن همه", "unfold-all": "وا کردن همه", "fold-more": "تا کردن بیشتر", "fold-less": "تا کردن کمتر", "source-mode": "حالت منبع", "reading-view": "نمای خواندن", "show-debug-info": "نمایش اطلاعات اشکال‌زدایی", "open-sandbox": "گشودن خزانه‌ی آزمایشی", "navigate-back": "عقب‌گرد", "navigate-forward": "پیش‌رفت", "toggle-left-sidebar": "باز/بستن نوار کناری چپ", "toggle-right-sidebar": "باز/بستن نوار کناری راست", "toggle-ribbon": "روبان", "split-right": "نصف کردن به راست", "split-down": "نصف کردن به پایین", "release-notes": "تغییرات‌نامه" }, "plugins": { "name": "افزونه‌ها", "file-explorer": { "name": "مرورگر پرونده", "desc": "دیدن همه‌ی پرونده‌های خزانه.", "action-open": "گشودن مرورگر پرونده", "action-show": "نمایش مرورگر پرونده", "action-create-note": "ساخت یادداشت نو", "action-create-folder": "ایجاد پوشه جدید", "action-create-note-in-current-tab": "ساختن یادداشت نو در همین زبانه", "action-create-note-to-the-right": "ساختن یادداشت نو در سمت راست", "action-auto-reveal": "نمایش خودکار فایل فعلی", "action-collapse-all": "جمع کردن همه", "action-expand-all": "گستردن همه", "action-new-note": "یادداشت نو", "action-new-folder": "پوشه‌ی نو", "action-change-sort": "تغییر ترتیب چینش", "action-reveal-file": "نمایش پرونده در مرورگر پرونده", "action-reveal-active-file": "نمایش پرونده‌ی فعال در مرورگر پرونده", "command-make-a-copy": "ایجاد یک کپی از فایل فعلی", "command-make-a-copy-mac": "تکثیر فایل فعلی", "command-move-file": "ریختن پرونده در پوشه‌ای دیگر", "action-new-folder-with-count": "پوشه جدید با انتخاب ({{count}} مورد)", "action-new-folder-with-count_plural": "پوشه جدید با انتخاب ({{count}} مورد)", "action-move-file": "ریختن پرونده به...", "action-move-folder": "ریختن پوشه در...", "action-move-items": "انتقال {{count}} مورد به...", "prompt-type-folder": "نام پوشه‌ای را بنویسید...", "label-no-folders": "پوشه‌ای پیدا نشد.", "instruction-navigate": "برای جابه‌جایی", "instruction-move": "برای ریختن", "instruction-create": "برای ساختن", "instruction-dismiss": "برای خروج", "label-sort-a-to-z": "چینش براساس نام پرونده (ترتیب الفبایی)", "label-sort-z-to-a": "چینش براساس نام پرونده (عکس ترتیب الفبایی)", "label-sort-new-to-old": "چینش براساس زمان ویرایش (نو به کهنه)", "label-sort-old-to-new": "چینش براساس زمان ویرایش (کهنه به نو)", "label-sort-created-old-to-new": "زمان ساخته‌شدن (کهنه به نو)", "label-sort-created-new-to-old": "زمان ساخته‌شدن (نو به کهنه)", "menu-opt-new-note": "یادداشت نو", "menu-opt-new-folder": "پوشه‌ی نو", "menu-opt-rename": "نام‌گذاری", "menu-opt-delete": "حذف", "menu-opt-make-copy": "ایجاد یک کپی", "menu-opt-make-copy-mac": "تکثیر", "msg-invalid-characters": "در نام پرونده نمی‌توانید از این نویسه‌ها استفاده کنید: ", "msg-unsafe-characters": "پیوندها با پرونده‌هایی که نامشان این نویسه‌ها را داشته باشد کار نمی‌کنند: ", "msg-file-already-exists": "از قبل پرونده‌ای به همین نام وجود دارد", "msg-empty-file-name": "پرونده نمی‌تواند بی‌نام باشد.", "msg-bad-dotfile": "نام پرونده نبایست با نقطه آغاز شود.", "tooltip-modified-time": "آخرین بار در {{time}} دستکاری شده", "tooltip-created-time": "ساخته‌شده در {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "بی‌نام", "label-untitled-folder": "بی‌نام", "msg-set-attachment-folder": "از حالا پیوست‌ها در \"{{path}}\" ذخیره می‌شوند." }, "search": { "name": "جست‌وجو", "desc": "جست‌وجوی کلیدواژه‌ها در همه‌ی یادداشت‌ها", "action-open-search": "جست‌وجو در همه‌ی پرونده‌ها", "label-collapse-results": "پنهان کردن نتایج", "label-match-case": "هم‌خوانی کامل", "label-explain-search-term": "توضیح‌دادن متن جست‌وجوشده", "label-more-context": "نمایش محتوای بیشتر", "label-result-count": "{{count}} نتیجه", "label-result-count_plural": "{{count}} نتیجه", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "تنظیمات جست‌وجو", "prompt-start-search": "تایپ برای آغاز جست‌وجو...", "label-match-text": "هم‌خوانی با متن: ", "label-match-regex": "هم‌خوانی با عبارت باقاعده‌ی: ", "label-match-exact-text": "دقیقا حاوی متن: ", "label-match-greater-than": "بیش‌تر از: ", "label-match-less-than": "کم‌تر از: ", "label-match-true": "صحیح است", "label-match-false": "غلط است", "label-match-empty": "خالی است", "label-match-property": "حاوی ویژگی:", "label-match-all": "هم‌خوانی با همه‌ی: ", "label-match-any": "هم‌خوانی با هرکدام از:: ", "label-excluding": "به‌استثنای: ", "label-case-sensitive": "حساس به بزرگ‌و‌کوچکی حرف", "label-case-insensitive": "بی‌تفاوت به بزرگ‌و‌کوچکی حرف", "label-match-file-path": "هم‌خوانی با مسیر پرونده‌ی: ", "label-match-file-name": "هم‌خوانی با نام پرونده‌ی: ", "label-match-content": "هم‌خوانی با محتوای پرونده‌ی: ", "label-match-task": "هم‌خوانی با کار: ", "label-match-task-todo": "مطابقت وظیفه (انجام نشده): ", "label-match-task-done": "مطابقت وظیفه (انجام شده): ", "label-match-line": "هم‌خوانی با خط: ", "label-match-block": "هم‌خوانی با بلوک: ", "label-match-section": "هم‌خوانی با بخش: ", "label-match-tag": "هم‌خوانی با برچسب: ", "label-no-matches": "نتیجه‌ای پیدا", "matches-with-count": "... و {{count}} مورد دیگر.", "matches-with-count_plural": "... و {{count}} مورد دیگر.", "label-copy-search-results": "کپی نتایج جست‌وجو", "button-copy-results": "کپی نتایج", "msg-successfully-copied": "نتایج در تخته‌یادداشت کپی شدند.", "option-show-path": "نمایش مسیر", "option-show-path-description": "نمایش مسیر کامل فایل به جای فقط نام فایل.", "option-link-style": "سبک پیوند", "option-link-style-description": "به صورت اختیاری، هر نتیجه فایل را به یک پیوند تبدیل کنید.", "option-choice-link-style-none": "هیچ‌کدام", "option-choice-link-style-wikilink": "ویکی‌پیوند", "option-choice-link-style-markdown-link": "پیوند مارک‌داونی", "option-list-prefix": "پیشوند لیست", "option-list-prefix-description": "به صورت اختیاری، پیشوند آیتم لیست را به هر نتیجه فایل اضافه کنید.", "option-choice-list-style-none": "هیچ‌کدام", "option-choice-list-style-dash": "خط‌تیره (-)", "option-choice-list-style-asterisk": "خط‌تیره (-)", "option-choice-list-style-numbered": "شماره‌گذاری‌شده", "tooltip-clear-search": "پاک‌سازی جست‌وجو", "label-search-options": "گزینه‌های جست‌وجو", "label-properties-group": "ویژگی‌ها", "label-tags-group": "برچسب‌ها", "tooltip-read-more": "اطلاعات بیشتر", "label-history": "تاریخچه", "tooltip-clear-history": "پاک‌سازی تاریخچه‌ی جست‌وجو", "label-path-option-description": "هم‌خوانی دادن مسیر پرونده", "label-file-name-option-description": "هم‌خوانی دادن نام پرونده", "label-tag-option-description": "جست‌وجوی برچسب‌ها", "label-line-option-description": "جست‌وجوی کلیدواژه‌های درون یک خط", "label-section-option-description": "جست‌وجوی کلیدواژه‌های زیر یک عنوان", "label-property-option-description": "هم‌خوانی دادن ویژگی", "menu-opt-search-for": "جست‌وجوی \"{{keyword}}\"", "menu-opt-search-in-folder": "جستجو در پوشه" }, "quick-switcher": { "name": "پرش سریع", "desc": "پریدن به پرونده‌های مختلف بدون دست‌برداشتن از صفحه‌کلید", "short-name": "پرش", "action-open": "گشودن پرش سریع", "instruction-navigate": "برای جابه‌جایی", "instruction-open": "برای گشودن", "instruction-open-in-new-tab": "برای گشودن در زبانه‌ی نو", "instruction-open-to-the-right": "برای گشودن در سمت راست", "instruction-create": "برای ساختن", "instruction-dismiss": "برای بستن", "instruction-select": "برای انتخاب", "label-no-note-create-new": "یادداشتی پیدا نشد. برای ساخت یادداشتی نو با این نام، کلید اینتر را بزنید.", "prompt-type-file-name": "برای ساخت یا پرش به یادداشت نامش را بنویسید...", "label-enter-to-create": "برای ساخت اینتر را بزنید", "tooltip-not-created-yet": "هنوز ساخته نشده، برای ساختن انتخاب کنید.", "option-show-existing-only": "فقط نمایش موجودها", "option-show-existing-only-description": "تعیین این‌که پیوند به پرونده‌هایی که هنوز ساخته نشده‌اند نمایش داده بشوند یا نه.", "option-show-attachments": "نمایش پیوست‌ها", "option-show-attachments-desc": "نمایش پیوست‌هایی مانند فیلم، تصویر و پی‌دی‌اف.", "option-show-all-file-types": "نمایش همه‌جور پرونده", "option-show-all-file-types-desc": "نمایش همه‌ی پرونده‌ها حتا آن‌هایی که Obsidian نمی‌تواند باز کند. این پرونده‌ها را برنامه‌ی پیش‌فرض‌شان باز خواهد کرد." }, "graph-view": { "name": "نمای نمودار", "desc": "دیدن نمودار اجمالی این‌که هر یادداشت به کدام یادداشت‌ها پیوند شد‌ است.", "action-open": "گشودن نمای نمودار", "action-open-local": "گشودن نمودار محلی", "action-copy-screenshot": "کپی تصویر صفحه", "tab-title": "نمودار {{displayText}}", "label-filters": "پالایه‌ها", "prompt-filter-nodes": "جست‌وجوی پرونده‌ها", "option-depth": "عمق", "option-depth-description": "نمایش گره‌هایی که در این مقدار فاصله هستند.", "option-neighbor-links": "پیوندهای همسایه", "option-neighbor-links-description": "نمایش پیوندهای میان همسایه‌ها", "option-forelinks": "پیوندهای برون‌رو", "option-forelinks-description": "نمایش پیوندها به پرونده‌های دیگر", "option-backlinks": "پیوندهای درون‌آ", "option-backlinks-description": "نمایش پیوندها از پرونده‌های دیگر", "option-show-tags": "برچسب‌ها", "option-show-tags-description": "برچسب‌ها به پرونده‌هایی که حاوی‌شان هستند، پیوند شده‌اند.", "option-show-attachments": "پیوست‌ها", "option-show-attachments-description": "نمایش پیوست‌های درون پرونده‌ها", "option-show-existing-files-only": "فقط پرونده‌های موجود", "option-show-existing-files-only-description": "وقتی تیک‌دار باشد، پیوندها به پرونده‌ها ناموجود نشان داده‌نمی‌شوند.", "option-show-orphans": "یتیمان", "option-show-orphans-description": "نمایش پرونده‌هایی که به هیچ پرونده‌ی دیگری پیوند نشده‌اند.", "label-display": "نمایش", "option-show-arrows": "پیکان‌ها", "option-show-arrows-description": "نمایش پیکان‌ها هنگام زوم", "option-text-fade": "آستانه‌ی محوشدگی متن", "option-node-size": "اندازه‌ی گره", "option-link-thickness": "کلفتی پیوند", "label-forces": "نیروها", "option-center-force": "نیروی مرکز", "option-link-force": "نیروی پیوند", "option-link-distance": "دوری پیوند", "option-repel-force": "نیروی پس‌زننده", "tooltip-open-graph-settings": "گشودن تنظیمات نمودار", "msg-screenshot-copied": "تصویر صفحه به تخته‌یادداشت کپی شد", "label-groups": "گروه‌ها", "placeholder-enter-query": "نوشتن عبارت جست‌وجو...", "tooltip-delete-graph": "حذف گروه", "button-new-group": "گروه نو", "tooltip-click-to-change-drag-to-reorder": "کلیک برای تغییر رنگ \n کشیدن برای چینش گروه‌ها", "action-timelapse": "آغاز پویانمایی سریع نمودار", "tooltip-start-timelapse-animation": "آغاز پویانمایی", "button-animate-timelapse": "پویانمایی" }, "backlinks": { "name": "پشت‌وندها", "desc": "نمایش تعداد پشت‌وندها در نوار وضعیت", "action-open": "گشودن پشت‌وندها", "action-show": "نمایش برگ پشت‌وندها", "action-open-for-current": "گشودن پشت‌وندها برای همین پرونده", "action-toggle-backlinks-in-document": "روشن/خاموش کردن پشت‌وندها در این یادداشت", "menu-opt-backlinks-in-document": "پشت‌وندهای سند", "label-linked-mentions": "یادکردهای پیوندشده", "label-no-backlinks": "پشت‌وندی پیدا نشد", "label-unlinked-mentions": "یادکردهای پیوندنشده", "label-show-search": "نمایش پالایه‌های جست‌وجو", "label-link-button-text": "پیوند", "tab-title": "پشت‌وندهای {{displayText}}", "label-no-unlinked-mentions": "یادکرد پیوندنشده‌ای پیدا نشد.", "ellipsis": "...", "option-backlink-in-document": "پشت‌وند در یادداشت", "option-backlink-in-document-desc": "نمایش پیش‌فرض پشت‌وندها هنگام باز کردن برگ‌های نو." }, "outgoing-links": { "name": "پیوندهای برون‌رو", "desc": "نمایش پیوندهای برون‌رو و تشخیص یادکردهای پیوندنشده‌ی یادداشت‌های دیگر در این یادداشت.", "action-open": "گشودن پیوندهای برون‌رو", "action-show": "نمایش برگ پیوندهای برون‌رو", "action-open-for-current": "گشودن پیوندهای برون‌رو برای همین پرونده", "tab-title": "لینک‌های برون‌رو از {{displayText}}", "label-links": "پیوندها", "label-no-links": "پیوندی پیدا نشد.", "label-unlinked-mentions": "یادکردهای پیوندنشده", "tooltip-link-file": "پیونددادن این پرونده", "tooltip-not-created": "هنوز ساخته‌نشده" }, "tag-pane": { "name": "برگ برچسب", "short-name": "برچسب‌ها", "desc": "نمایش همه‌ی برچسب‌ها و این‌که چندبار استفاده شده‌اند.", "action-show": "نمایش برگ برچسب", "label-no-tags": "برچسبی پیدا نشد.", "label-sort-by-name-a-to-z": "نام برچسب (ترتیب الفبایی)", "label-sort-by-name-z-to-a": "نام برچسب (عکس ترتیب الفبایی)", "label-sort-by-frequency-high-to-low": "فراوانی (زیاد به کم)", "label-sort-by-frequency-low-to-high": "فراوانی (کم به زیاد)", "action-show-nested-tags": "نمایش برچسب‌های تودرتو", "action-collapse-all": "جمع کردن همه", "action-expand-all": "گستردن همه" }, "footnotes-pane": { "name": "نمای پانویس‌ها", "short-name": "پانویس‌ها", "desc": "لیستی از پانویس‌ها را از یادداشت فعلی نمایش می‌دهد.", "action-show": "نمایش پانویس‌ها", "label-no-footnotes": "پانویسی یافت نشد." }, "properties": { "name": "نمای ویژگی‌ها", "desc": "نمایش فراداده‌های پرونده‌ها.", "name-global": "همه‌ی ویژگی‌ها", "name-local": "ویژگی‌های پرونده", "tab-title": "ویژگی‌های پرونده‌ی «{{displayText}}»", "action-show": "نمایش همه‌ی ویژگی‌ها", "action-show-local": "نمایش ویژگی‌های پروند", "opt-unassign-type": "لغو انتساب نوع", "label-no-properties": "ویژگی‌ای یافت نشد.", "label-invalid-properties": "ویژگی‌های نامعتبر.", "label-sort-by-name-a-to-z": "نام ویژگی (آ تا ی)", "label-sort-by-name-z-to-a": "نام ویژگی (ی تا آ)", "label-sort-by-frequency-high-to-low": "فراوانی (زیاد به کم)", "label-sort-by-frequency-low-to-high": "فراوانی (کم به زیاد)", "msg-merge-properties-warning": "ادغام ویژگی \"{{oldKey}}\" با \"{{newKey}}\"؟", "msg-merge-properties-warning-desc": "در صورت بروز تضاد، مقادیر ادغام می‌شوند یا از مقدار \"{{oldKey}}\" استفاده خواهد شد.", "action-collapse-all": "جمع کردن همه", "action-expand-all": "گستردن همه", "action-open-local": "گشودن ویژگی‌های پرونده", "action-open-daily-note": "گشودن روزنوشت" }, "page-preview": { "name": "پیش‌نمایش صفحه", "desc": "وقتی با موس روی پیوندی درونی می‌ایستید، پیش‌نمایشی نشان داده شود. برای استفاده، در حالت ویرایشگر، کلید کنترل/کامند را نگه دارید.", "label-empty-attachment": "\"{{linktext}}\" یافت نشد.", "label-empty-note": "\"{{linktext}}\" هنوز ساخته نشده. برای ساختن کلیک کنید.", "label-missing-footote": "پاورقی {{id}} یافت نشد. برای ایجاد کلیک کنید.", "label-source-editor": "ویرایشگر", "label-source-preview": "پیش‌نمایش", "label-source-search": "جستن، پشت‌وندها و پیوندهای برون‌رو", "label-source-tab-header": "سربرگ زبانه", "label-require-mod": "کلید {{key}} برای فعال کردن پیش‌نمایش صفحه وقتی با موس رویش می‌روید، لازم است." }, "bookmarks": { "name": "نشانک‌ها", "desc": "میان‌برهایی برای فایل‌ها، جست‌وجوها، عنوان‌ها، و نمودارها ذخیره کنید.", "action-show": "نمایش نشانک‌ها", "action-collapse-all": "جمع کردن همه", "action-new-bookmark": "نشانک‌گذاری زبانه فعال...", "action-new-group": "گروه جدید", "action-bookmark": "نشانک‌گذاری...", "action-add-bookmark": "افزودن نشانک", "action-edit-bookmark": "ویرایش نشانک", "action-bookmark-block": "نشانک‌گذاری بلوک زیر نشانگر...", "action-bookmark-heading": "نشانک‌گذاری سرفصل زیر نشانگر...", "action-bookmark-search": "نشانک‌گذاری جست‌وجوی فعلی...", "action-remove-bookmark": "حذف نشانک برای فایل فعلی", "action-bookmark-tab-group": "نشانک‌گذاری {{count}} زبانه...", "action-bookmark-tab-group_plural": "نشانک‌گذاری {{count}} زبانه...", "action-bookmark-all-tabs": "نشانک‌گذاری همه زبانه‌ها...", "action-bookmark-graph": "نشانک‌گذاری این نمودار...", "label-bookmark": "نشانک", "label-bookmarked": "نشانک‌گذاری شده", "label-bookmark-with-count": "{{count}} نشانک", "label-bookmark-with-count_plural": "{{count}} نشانک", "label-no-bookmarks": "نشانکی یافت نشد", "label-invalid-data": "بارگذاری نشانک‌ها شکست خورد.", "label-invalid-data-desc": "فایل داده خراب است.", "label-untitled-group": "گروه بدون عنوان", "label-untitled-graph": "نمودار بدون عنوان", "menu-opt-edit": "ویرایش...", "menu-opt-remove": "حذف", "menu-opt-rename": "تغییر نام", "menu-opt-bookmark-block": "نشانک‌گذاری این بلوک...", "menu-opt-bookmark-heading": "نشانک‌گذاری این عنوان...", "msg-no-search-query": "عبارت جست‌وجویی برای نشانک‌گذاری وجود ندارد.", "option-path": "مسیر", "option-query": "عبارت جست‌وجو", "option-u-r-l": "نشانی وب", "option-title": "عنوان", "option-group": "گروه نشانک", "placeholder-bookmark-group": "نشانک‌ها" }, "custom-css": { "name": "سی‌اس‌اس دلخواه", "desc": "فایل \"obsidian.css\" را در خزانه می‌خواند و آن را اعمال می‌کند.", "setting-community-themes": "پوسته‌های انجمن", "msg-fetching-themes": "درحال دریافت داده‌های پوسته‌های انجمن...", "prompt-filter": "پالایش...", "label-dark-theme-only": "فقط پوسته‌های تاریک", "label-light-theme-only": "فقط پوسته‌های روشن", "label-use": "استفاده", "label-stop-use": "خاموش کردن این پوسته", "label-install-and-use": "نصب و استفاده", "label-update": "به‌روزرساندن", "label-no-readme": "این پوسته پرونده‌ی مرابخوان ندارد.", "tooltip-remove-theme": "حذف پوسته", "label-visit-on-github": "مشاهده در گیت‌هاب", "msg-load-error": "بارگیری پوسته‌های انجمن به مشکل خورد، دسترسی اینترنت خود را وارسی کنید.", "msg-now-using-theme": "شما اکنون از {{title}} به عنوان پوسته سی‌اس‌اس خود استفاده می‌کنید.", "msg-deleted-theme": "پوسته‌ی {{title}} پاک شد.", "msg-updated-theme": "پوسته‌ی {{title}} به‌روز شد.", "label-installed": "نصب‌شده", "label-legacy": "کهنه", "button-update-all-themes": "به‌روزرسانی همه", "msg-failed-load-themes": "بارگیری افزونه‌های انجمن شکست خورد.", "msg-no-updates-found": "به‌روزرسانی‌ای برای پوسته‌ها یافت نشد.", "msg-updates-found": "{{count}} پوسته برای به‌روزرسانی یافت شد.", "msg-updates-found_plural": "{{count}} پوسته برای به‌روزرسانی یافت شدند.", "msg-failed-to-install-theme": "نصب پوسته \"{{name}}\" ناموفق بود.", "msg-successfully-installed-theme": "پوسته \"{{name}}\" با موفقیت نصب شد.", "msg-installing-theme": "در حال نصب پوسته \"{{name}}\"...", "label-search-summary": "نمایش {{themeCount}}:", "label-update-available": "به‌روزرسانی موجود است" }, "command-palette": { "name": "فرمان‌دان", "desc": "فراخوان فرمان‌ها با تایپ؛ دیگر نیازی نیست از رابط‌کاربری استفاده کنید یا میانبر صفحه‌کلید فرمان‌ها را بلد باشید.", "action-open": "گشودن فرمان‌دان", "instruction-navigate": "برای جابه‌جایی", "instruction-use": "برای استفاده", "instruction-dismiss": "برای خروج", "label-no-commands": "فرمانی یافت نشد.", "prompt-type-command": "فرمان را بنویسید...", "label-pinned-commands": "فرمان‌های سنجاق‌شده", "option-add-new-pin": "فرمان سنجاق‌شده‌ی نو", "option-add-new-pin-description": "فرمان‌های سنجاق‌شده در بالای همه فرمان‌ها نشان داده خواهند شد، البته فقط زمانی که عبارت جستجو خالی باشد." }, "markdown-format-importer": { "name": "واردکننده‌ی قالب مارک‌داون", "desc": "تبدیل مارک‌داون از برنامه‌های دیگر به قالب Obsidian", "action-open": "گشودن واردکننده‌ی مارک‌داون", "option-roam-tag-fixer": "رفع‌کننده برچسب Roam Research", "option-roam-tag-fixer-description": "برچسب‌های \"#tag\" و \"#[[tag]]\" را به \"[[tag]]\" تبدیل می‌کند.", "option-roam-highlight-fixer": "رفع‌کننده هایلایت Roam Research", "option-roam-highlight-fixer-description": "متن‌های \"^^highlight^^\" را به \"==highlight==\" تبدیل می‌کند.", "option-roam-todo-converter": "تبدیل‌کننده TODO در Roam Research", "option-roam-todo-converter-description": "متن \"{{[[TODO]]}}\" را به \"[ ]\" تبدیل می‌کند.", "option-bear-highlight-fixer": "رفع‌کننده هایلایت Bear", "option-bear-highlight-fixer-description": "متن‌های \"::highlight::\" را به \"==highlight==\" تبدیل می‌کند.", "zettelkasten-link-fixer": "رفع‌کننده پیوند Zettelkasten", "zettelkasten-link-fixer-description": "پیوندهای \"[[UID]]\" را به \"[[UID File Name]]\" کامل اصلاح می‌کند.", "zettelkasten-link-beautifier": "زیباساز پیوند Zettelkasten", "zettelkasten-link-beautifier-description": "پیوندهای \"[[UID]]\" را اصلاح و همچنین آن‌ها را \"[[UID File Name|File Name]]\" زیبا می‌کند.", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "هشدار: واردکننده همه‌ی پرونده‌های خزانه را تبدیل می‌کند نه فقط پرونده کنونی را.", "msg-override-files-warning": "پرونده‌های‌تان جایگزین و بازنویسی می‌شوند. پیش از تبدیل از همه‌ی پرونده‌ها پشتیبان بگیرید.", "label-start-conversion": "آغاز تبدیل", "label-stop": "ایست", "label-go-back": "بازگشت", "label-done": "انجام‌شد", "label-processing": "درحال پردازش...", "label-cancelling": "درحال لغو...", "label-finished": "!انجام شد", "label-processed-files": "پرونده‌های پرداخته", "label-modified-files": "پرونده‌های دستکاری‌شده", "label-total-replacements": "مجموع جایگزینی‌ها", "label-failed": "Failed" }, "daily-notes": { "name": "روزنوشت‌ها", "desc": "گشودن یادداشت امروز یا اگر نبود، ساخت یادداشت نو.", "short-name": "امروز", "action-open": "گشودن یادداشت امروز", "action-open-previous": "گشودن روزنوشت قبلی", "action-open-next": "گشودن اروزنوشت بعدی", "action-insert-text": "درج متن در روزنوشت", "action-insert-link": "درج پیوند در روزنوشت", "msg-fail-format": "ایجاد یادداشت روزانه ناموفق بود. «{{format}}» قالب معتبری نیست.", "msg-fail-folder": "ایجاد یادداشت روزانه ناموفق بود. پوشه «{{folderOption}}» یافت نشد.", "msg-fail-template-file": "ایجاد یادداشت روزانه ناموفق بود. فایل الگو «{{template}}» یافت نشد.", "msg-no-previous": "قبل از این یادداشت، روزنوشت دیگری وجود ندارد.", "msg-no-next": "دیگر روزنوشتی وجود ندارد.", "option-date-format": "قالب تاریخ", "label-refer-to-syntax": "برای دستور زبان بیشتر، مراجعه کنید به: ", "label-syntax-link": "مرجع قالب‌بندی", "label-syntax-live-preview": "اینگونه دیده خواهد شد: ", "option-new-file-location": "جای پرونده‌ی نو", "option-new-file-location-description": "مسیر پوشه‌ای که روزنوشت‌ها در آن ساخته خواهند شد", "option-template": "جای پرونده‌ی الگو", "option-template-description": "مسیر پرونده‌ای که به‌عنوان الگو استفاده خواهد شد", "option-open-on-start": "گشودن روزنوشت‌ها هنگام بالا آمدن برنامه", "option-open-on-start-description": "هرگاه این خزانه را باز کردید روزنوشت هم باز شود." }, "unique-note-creator": { "name": "یادداشت‌یکتاساز", "desc": "برای گردش‌کارهایی مثل زتل‌کاستن یا اسلیپ‌باکس، یادداشت‌هایی با پیشوند زمانی یکتا بسازید.", "short-name": "یکتا", "action-create-note": "ساختن یادداشت یکتای نو", "action-add-link": "افزودن پیوند داخلی یکتا", "option-new-file-location": "مسیر پرونده‌های نو", "option-new-file-location-description": "مسیر پوشه برای ایجاد یادداشت یکتای جدید.", "msg-folder-not-found": "ایجاد یادداشت یکتا ناموفق بود. پوشه «{{folderOption}}» یافت نشد.", "option-template-file": "جایگاه پرونده‌ی الگو", "option-template-file-description": "مسیر فایل برای استفاده به عنوان الگو.", "option-template-file-placeholder": "نمونه: پوشه‌ی۱/یادداشت", "option-id-format": "فرمت پیشوند یکتا", "msg-template-file-not-found": "ایجاد یادداشت یکتا ناموفق بود. فایل الگو «{{template}}» یافت نشد.", "msg-failed-to-generate": "ایجاد یادداشت یکتا با فرمت «{{format}}» ناموفق بود" }, "random-note": { "name": "یادداشت تصادفی", "desc": "تصادفی یادداشتی را باز می‌کند. به درد مرور و کشف می‌خورد.", "short-name": "تصادفی", "action-open": "گشودن یادداشت تصادفی" }, "outline": { "name": "نمای کلی", "desc": "فهرست مطالب را برای یادداشت کنونی نمایش دهید.", "action-open": "گشودن نمای کلی", "action-show": "نمایش برگ نمای کلی", "action-open-for-current": "گشودن نمای کلی همین پرونده", "tab-title": "نمای کلی {{displayText}}", "label-no-headings": "سرفصلی پیدا نشد.", "label-follow-cursor": "اسکرول خودکار به بخش فعلی" }, "word-count": { "name": "واژه‌شمار", "desc": "نمایش تعداد واژه‌ها در نوار وضعیت" }, "slides": { "name": "نمابرگ", "desc": "از پرونده‌ی مارک‌داون ارایه دهد. برای جداکردن نمابرگ‌ها از \"---\" استفاده کنید.", "action-start": "آغاز ارایه" }, "audio-recorder": { "name": "ضبط صوت", "desc": "ضبط صوت و ذخیره‌اش به‌صورت پیوست.", "action-start": "آغاز ضبط صوت", "action-stop": "پایان ضبط صوت", "action-toggle": "آغاز/پایان ضبط صوت", "msg-access-denied": "دسترسی به میکروفون رد شد، لطفا آن را از بخش تنظیمات فعال کنید.", "msg-pending-grant": "برای شروع ضبط، لطفا اجازه دسترسی به میکروفون را بدهید.", "msg-no-microphone": "هیچ میکروفونی وصل نیست." }, "open-with-default-app": { "name": "گشودن در برنامه‌ی پیش‌فرض", "desc": "افزودن دکمه‌ای برای باز کردن همین پرونده در برنامه‌ی پیش‌فرض.", "action-open-file": "گشودن در برنامه‌ی پیش‌فرض", "action-open-file-mobile": "هم‌رسانی", "action-show-in-folder": "نمایش در پوشه", "action-show-in-folder-mac": "نشان دادن در پوشه" }, "templates": { "name": "الگوها", "desc": "درج الگو از پوشه‌ای حاوی پرونده‌های الگو.", "action-insert": "درج الگو", "action-insert-current-date": "درج تاریخ کنونی", "action-insert-current-time": "درج زمان کنونی", "option-template-folder-location": "جای پوشه‌ی الگو", "option-template-folder-location-description": "پرونده‌های این پوشه زین‌پس الگو خواهند بود.", "option-template-date-format": "قالب تاریخ", "option-template-date-format-description": "{{date}} در فایل الگو با این مقدار جایگزین خواهد شد.", "option-template-date-format-description2": "همچنین می‌توانید از {{date:YYYY-MM-DD}} برای نادیده گرفتن یکباره قالب استفاده کنید.", "option-template-time-format": "قالب زمان", "option-template-time-format-description": "{{time}} در فایل الگو با این مقدار جایگزین خواهد شد.", "option-template-time-format-description2": "همچنین می‌توانید از {{time:HH:mm}} برای نادیده گرفتن یکباره قالب استفاده کنید.", "instruction-navigate": "برای جابه‌جایی", "instruction-insert": "برای درج الگو", "instruction-dismiss": "برای خروج", "msg-no-templates-found": "الگویی پیدا نشد", "msg-fail-invalid-folder": "فهرست‌سازی الگوها به مشکل خورد. پوشه‌ی الگوها نامعتبر است.", "msg-fail-folder-not-found": "فهرست کردن الگوها ناموفق بود. پوشه «{{folderOption}}» یافت نشد.", "msg-fail-invalid-template-properties": "امکان درج الگو وجود ندارد، ویژگی‌های فایل الگو قابل خواندن نبودند.", "msg-no-folder-set": "فهرست کردن الگوها شکست خورد. پوشه‌ی برای الگوها تعیین نشده است.", "prompt-type-template": "نام الگو را بنویسید..." }, "translucency": { "name": "پنجره‌ی شفاف", "desc": "برای بهبود حس عمق، جلوه‌ی شفافیت را فعال کنید. این جلوه با پوسته‌ی تاریک بهتر کار می‌کند. در لینوکس پشتیبانی نمی‌شود" }, "slash-command": { "name": "فرمان‌های کج‌خط", "desc": "قابلیت باز کردن فرمان‌های کج‌خط با تایپ نشانه‌ی ممیز." }, "editor-status": { "name": "وضعیت ویرایشگر", "desc": "موردی به نوار وضعیت اضافه می‌کند که با آن می‌توان حالت کنونی ویرایشگر را دید و تغییر داد.", "read": "خواندن", "edit-source": "حالت منبع", "edit-live-preview": "پیش‌نمایش زنده" }, "publish": { "name": "پابلیش", "desc": "با Obsidian پابلیش، یادداشت‌های‌تان را منتشر کنید.", "action-publish-changes": "نشر تغییرات...", "action-publish-file": "انتشار فایل فعلی", "label-no-internet-access": "برای نشر تغییرات اینترنت نیاز است.", "label-publish-service-description": "اوبسیدیان پابلیش افزونه‌ای‌ست پولی که می‌گذارد یادداشت‌های‌تان را مستقیما از درون Obsidian به شکل آنلاین منتشر کنید", "label-please-login": "برای آغاز نشر، وارد حساب Obsidian‌تان شوید یا حساب نویی باز کنید.", "label-no-publish-subscription": "هنوز اشتراک Obsidian پابلیش ندارید.", "button-purchase": "خرید", "label-manage-sites": "مدیریت وبگاه‌ها", "label-no-sites": "وبگاهی ندارید.", "button-choose": "انتخاب", "tooltip-edit-site-id": "ویرایش شناسه‌ی وبگاه", "tooltip-delete-site": "حذف وبگاه", "label-delete-site-confirmation": "مطمئنید می‌خواهید این وبگاه را خذف کنید؟", "label-delete-site-details": "این کار فوری و برای همیشه وبگاه را حذف می‌کند.", "label-confirm-delete-site": "تأیید حذف سایت \"{{site}}\"", "option-site-id": "شناسه‌ی وبگاه", "option-site-id-description": "سایت شما در https://publish.obsidian.md/{site id} خواهد بود. می‌توانید بعدا آن را تغییر دهید. فقط حروف کوچک (انگلیسی)، اعداد (لاتین) و خط تیره مجاز هستند.", "option-site-id-placeholder": "انتخاب شناسه‌ی وبگاه", "button-create": "ساختن", "msg-invalid-site-id": "شناسه سایت فقط می‌تواند شامل حروف کوچک (انگلیسی)، اعداد (لاتین) و خط تیره باشد.", "msg-site-id-in-use": "این شناسه سایت در حال استفاده است، لطفا یکی دیگر را امتحان کنید.", "msg-create-site-issue": "هنگام ساختن وبگاه شما مشکلی پیش آمد.", "label-site-options": "تنظیمات وبگاه", "option-site-general": "عمومی", "option-site-components": "سازه‌ها", "option-site-appearance": "چهره", "option-site-reading-experience": "تجربه‌ی خواندن", "option-site-misc": "دیگر تنظیمات وبگاه", "option-site-name": "نام وبگاه", "option-site-name-description": "نام سایت منتشر شده شما. این نام در عنوان صفحه سایت شما نمایش داده خواهد شد.", "option-site-name-placeholder": "نام وبگاه", "option-home-page-file": "پرونده‌ی صفحه‌ی اصلی", "option-home-page-file-description": "اولین صفحه‌ای که کاربر هنگام ورود به سایت منتشر شده شما می‌بیند.", "option-home-page-file-placeholder": "یک پرونده‌ی منتشرشده را انتخاب کنید", "option-logo": "نشان", "option-logo-description": "یک پرونده‌ی تصویر را به عنوان نشان وبگاه انتخاب کنید", "option-logo-placeholder": "هر تصویر آپلود شده در خزانه شما...", "option-site-collaboration": "همکاری سایت", "option-site-collaboration-desc": "همکاران این سایت را مدیریت کنید.", "option-customize-navigation": "سفارشی‌سازی ناوبری", "option-customize-navigation-desc": "ترتیب آیتم‌های ناوبری را تغییر دهید و صفحات یا پوشه‌ها را از نمایش پنهان کنید.", "option-navigation-order": "ترتیب نمایش آیتم ناوبری", "option-hide-items-in-navigation": "پنهان کردن صفحات یا پوشه‌ها از ناوبری", "option-hide-items-in-navigation-desc": "کلیک راست کنید و \"پنهان کردن\" را انتخاب کنید تا از نمایش صفحات خاص در ناوبری سایت جلوگیری شود. صفحات همچنان از طریق پیوندها یا دسترسی مستقیم به آدرس اینترنتی قابل دسترسی خواهند بود.", "option-show-hidden-items": "نمایش پنهان‌ها", "button-customize-sidebar": "مدیریت", "label-navigation-modal-title": "ناوبری", "label-navigation-modal-desc": "برای سفارشی‌سازی ترتیب نمایش آیتم‌های ناوبری در سایت Publish خود، بکشید و رها کنید.", "option-hide-in-navigation": "پنهان‌سازی در ناوبری", "button-manage-collaborators": "مدیریت", "option-theme": "پوسته", "option-theme-description": "رنگ‌بندی پیش‌فرض سایت خود را انتخاب کنید.", "option-theme-system": "هماهنگ با دستگاه", "option-show-theme-toggle": "کلید روشن/تاریک", "option-show-theme-toggle-description": "به بازدیدکننده اجازه دهید خودش بین پوسته روشن و تاریک جابجا شود.", "option-show-navigation": "نمایش ناوبری", "option-show-navigation-description": "نمایش لیستی از تمام صفحات منتشر شده در سمت چپ سایت منتشر شده شما.", "option-show-search": "نمایش کادر جست‌وجو", "option-show-search-description": "نمایش یک نوار جست‌وجو در بالای ناوبری که به بازدیدکنندگان امکان جست‌وجو در صفحات و سرفصل‌های سایت شما را می‌دهد.", "option-show-graph": "نمایش نمای نمودار", "option-show-graph-description": "نمایش نمودار محلی کوچک در هر صفحه.", "option-show-outline": "فهرست رئوس مطالب", "option-show-outline-description": "نمایش طرح کلی سرفصل‌ها در هر صفحه.", "option-show-backlinks": "نمایش پشت‌وندها", "option-show-backlinks-description": "نمایش بخش پشت‌وندها در پایان صفحه.", "option-sliding-window-mode": "استفاده از پنجره‌های کشویی", "option-sliding-window-mode-description": "باز کردن صفحات در پنجره‌های جدید به سمت راست. امکان پیمایش افقی بین پنجره‌ها را فراهم می‌کند.", "option-hover-preview-file": "نمایش پیش‌نمایش شناور", "option-hover-preview-file-description": "نمایش پیش‌نمایش صفحه هنگام نگه داشتن نشانگر روی پیوندها.", "option-hide-title": "پنهان کردن عنوان صفحه", "option-hide-title-description": "پنهان کردن عنوان صفحه. زمانی مفید است که سرفصل‌های خود را در ابتدای هر صفحه دارید.", "option-readable-line-length": "خواناسازی طول خطوط", "option-readable-line-length-description": "محدود کردن حداکثر طول خط. محتوای کمتری را در صفحه جای می‌دهد، اما پاراگراف‌های طولانی را خواناتر می‌کند.", "option-site-password": "گذرواژه‌ها", "option-site-password-description": "محدود کردن دسترسی به سایت شما با گذرواژه‌ها.", "option-google-analytics": "کد رهگیری Google Analytics", "option-google-analytics-description": "گوگل آنالیتیکس را برای سایت خود تنظیم کنید. فقط برای بازدیدکنندگانی که از آدرس اینترنتی دامنه سفارشی شما وارد می‌شوند، در دسترس است. لطفاً ابتدا قوانین و مقررات محلی خود را بررسی کنید.", "button-manage-passwords": "مدیریت", "button-save-site-settings": "ذخیره‌ی تنظیمات وبگاه", "msg-updated-options": "تنظیمات وبگاه به‌روز شدند.", "button-go-back": "بازگشت", "label-publishing-to": "در حال انتشار به", "tooltip-switch-site": "تغییر سایت", "button-add-linked": "افزودن پیوند شده", "tooltip-add-linked": "افزودن تمام فایل‌های پیوند شده توسط آیتم‌های انتخاب شده فعلی", "msg-added-linked-files": "{{count}} فایل پیوند شده اضافه شد.", "msg-added-linked-files_plural": "{{count}} فایل پیوند شده اضافه شدند.", "tooltip-open-site-options": "تغییر تنظیمات وبگاه", "label-no-changes-detected": "تغییری شناسایی نشد.", "label-changed-files-to-be-published": "تغییرات", "label-unchanged-files-already-published": "بدون تغییر (برای حذف انتخاب کنید)", "label-file-selected": " انتخاب‌شده", "button-select-all-files": "انتخاب همه", "label-custom-navigation-title": "آیتم‌های ناوبری", "button-deselect-all-files": "لغو انتخاب همه", "label-new-files-to-be-published": "نو", "button-publish": "نشر دادن", "msg-no-permission-to-publish-to-site": "شما اجازه انتشار در سایت فعلی را ندارید.", "msg-select-at-least-one-file": "دست‌کم یک پرونده را انتخاب فرمایید.", "label-upload-changes": "بارگذاری تغییرات", "button-done": "انجام", "button-stop": "ایست", "label-status-uploading": "دارد بارگذاری می‌شود", "label-status-to-publish": "برای نشر", "label-status-to-delete": "برای حذف", "label-status-published": "نشرشده", "label-status-deleted": "حذف‌شده", "label-status-failed": "شکست‌خورده", "label-status-cancelled": "لغوشده", "button-change": "تغییر", "label-clear-cache": "چند دقیقه طول می‌کشد تا تغییرات در سایت شما نمایش داده شوند. اگر آخرین تغییرات خود را نمی‌بینید، کش مرورگر خود را پاک کنید.", "label-visit-site": "می‌توانید از سایت خود در اینجا بازدید کنید: ", "msg-something-went-wrong": "مشکلی پیش آمد. لطفا برای جزئیات بیشتر، کنسول توسعه‌دهنده را بررسی کنید.", "msg-network-error": "خطایی در اتصال اینترنت پیش‌آمده. ", "label-manage-passwords": "مدیریت گذرواژه‌ها", "label-add-password": "افزودن گذرواژه", "action-new-password": "گذرواژه‌ی نو", "label-no-password": "هم‌اکنون وبگاه شما گذرواژه‌ای ندارد. همه می‌توانند وبگاه را ببینند.", "label-have-password": "سایت شما با رمز عبور محافظت شده است. اگر چندین رمز عبور دارید، بازدیدکنندگان می‌توانند با وارد کردن هر یک از آنها به سایت شما دسترسی پیدا کنند.", "option-password-name": "گذرواژه", "option-password-desc": "یک هش از گذرواژه شما به صورت ایمن ذخیره خواهد شد. پس از تنظیم گذرواژه، نمی‌توان آن را به صورت متن ساده نمایش داد.", "option-password-placeholder": "گذرواژه‌ی شما", "option-nickname-name": "لقب (اختیاری)", "option-nickname-desc": "یک نام مستعار تعیین کنید تا به خودتان یادآوری کنید که گذرواژه برای چه یا چه کسی است.", "action-add-password": "افزودن این گذرواژه", "label-untitled-password": "گذرواژه‌ی بی‌نام", "label-password-created-time": "ایجاد شده {{time}}", "msg-added-new-password": "گذرواژه‌ی نو افزوده شد.", "option-custom-domain": "دامنه‌ی دلخواه", "option-custom-domain-desc": "به جای آدرس اینترنتی \"https://publish.obsidian.md/{site id}\" از دامنه خود استفاده کنید.", "option-noindex": "جلوگیری از نمایه‌سازی موتورهای جست‌وجو", "option-noindex-desc": "جلوگیری از نمایه‌سازی موتورهای جست‌وجو (یعنی وبگاه قابل‌جستن در گوگل و مانند آن نباشد).", "button-configure": "پیکربندی", "label-configure-custom-domain": "پیکربندی دامنه‌ی دلخواه", "option-custom-url-name": "آدرس اینترنتی دلخواه", "option-custom-url-desc": "آدرس اینترنتی وبگاه شما", "option-custom-url-placeholder": "www.damane-ye-shoma.ir", "option-custom-url-redirect": "انتقال به دامنه‌ی دلخواه شما", "option-custom-url-redirect-desc": "بازدیدکنندگان را از publish.obsidian.md/id به دامنه سفارشی شما هدایت کنید.", "button-update-custom-domain": "به‌روزرسانی تنظیمات دامنه", "label-custom-domain-instructions": "برای اطلاعات بیشتر، لطفا به {{link}} در سایت راهنمای ما مراجعه کنید.", "label-custom-domain-link-name": "راهنمای راه‌اندازی دامنه‌ی دلخواه", "label-site-usage": "شما از {{site}} از {{limit}} خود استفاده می‌کنید.", "button-add-more-sites": "خرید وبگاه‌های بیشتر", "label-no-sites-bought": "وبگاهی نخریده‌اید.", "button-get-site": "خریدن وبگاه", "label-manage-sharing": "مدیریت اشتراک‌گذاری برای \"{{name}}\"", "label-sharing-with-users": "این سایت در حال حاضر با افراد زیر به اشتراک گذاشته شده است.", "label-not-sharing": "این سایت در حال حاضر با کسی به اشتراک گذاشته نشده است.", "label-invite-pending": "در انتظار", "tooltip-remove-user": "حذف کاربر", "option-invite-user": "دعوت از کاربر", "placeholder-invite-user": "ایمیل ایشان را بنویسید...", "error-email-must-be-valid": "لطفا برای دعوت از کسی یک ایمیل معتبر وارد کنید.", "msg-enable-publish-plugin": "لطفا افزونه اصلی Publish را در تنظیمات -> افزونه‌های اصلی فعال کنید تا سایت‌ها را مشاهده کنید.", "label-your-sites": "وبگاه‌های شما", "label-sites-shared-with-you": "سایت‌های به اشتراک گذاشته شده با شما", "tooltip-leave-site-sharing": "توقف همکاری در این سایت", "label-leave-site-confirmation": "تأیید توقف همکاری در سایت", "label-leave-site-confirmation-details": "این کار این سایت را از لیست سایت‌های به اشتراک گذاشته شده با شما حذف خواهد کرد. این عمل قابل بازگشت نیست.", "label-leave-site-confirmation-details-2": "اگر می‌خواهید دوباره در این سایت همکاری کنید، لطفا با مالک سایت تماس بگیرید.", "button-leave": "بیرون رفتن", "label-compare-with-live": "مقایسه با نسخه زنده", "button-use-live-version": "استفاده از نسخه زنده", "label-confirm-override": "تأیید بازنویسی نسخه محلی", "label-confirm-override-1": "آیا مطمئن هستید که می‌خواهید نسخه محلی را بازنویسی کنید؟", "label-confirm-override-2": "نسخه زنده استفاده خواهد شد و نسخه محلی شما کنار گذاشته می‌شود. لطفا در صورت نیاز، پشتیبان‌گیری کنید.", "button-proceed": "ادامه", "message-successfully-used-live-version": "نسخه زنده با موفقیت برای بازنویسی نسخه محلی شما استفاده شد.", "label-open-in-live-site": "باز کردن در سایت زنده", "label-open-file": "گشودن پرونده", "tooltip-manage-publish-filters": "مدیریت فیلترهای انتشار", "option-included-folders": "پوشه‌های شامل", "option-included-folders-desc": "فایل‌های زیر این پوشه‌ها به طور خودکار هنگام بررسی تغییرات برای انتشار انتخاب می‌شوند.", "option-currently-included-folders": "این پوشه‌ها در حال حاضر شامل می‌شوند:", "option-excluded-folders": "پوشه‌های مستثنی", "option-excluded-folders-desc": "فایل‌های زیر این پوشه‌ها هنگام بررسی تغییرات برای انتشار نمایش داده نمی‌شوند. این تنظیم بر پوشه‌های شامل شده در بالا اولویت دارد.", "label-number-of-folders-included": "Obsidian پابلیش در حال حاضر {{folders}} را شامل می‌شود.", "label-number-of-folders-excluded": "Obsidian پابلیش در حال حاضر {{folders}} را مستثنی می‌کند.", "label-manage-included-folders": "مدیریت پوشه‌های شامل", "label-manage-excluded-folders": "Manage excluded folders", "label-add-included-folder": "اضافه کردن یک پوشه", "label-add-included-folder-desc": "شما می‌توانید هم پوشه‌های موجود و هم پوشه‌هایی که هنوز ایجاد نشده‌اند را شامل کنید.", "tooltip-contact-support": "تماس با پشتیبانی", "label-navigation-preview": "پیش‌نمایش ناوبری" }, "workspaces": { "name": "فضاهای کاری", "desc": "ذخیره و بارگیری چیدمان فضای کاری", "action-load-layout": "بارگذاری چیدمان فضای کار", "action-manage-layouts": "مدیریت چیدمان‌های فضای کار", "action-save": "ذخیره چیدمان", "action-save-and-load-layout": "ذخیره و بارگذاری چیدمانی دیگر", "placeholder-save-current-layout-as": "ذخیره‌ی چیدمان کنونی به‌شکل...", "button-save": "ذخیره", "button-load": "بارگیری", "tooltip-delete-layout": "حذف چیدمان", "msg-enter-name": "نامی برای چیدمان نو وارد فرمایید.", "msg-save-layout-success": "چیدمان به‌درستی ذخیره شد.", "label-no-layout-found": "چیدمان ذخیره‌شده‌ای یافت نشد.", "label-workspace-modified-time": "تغییر یافته {{time}}", "placeholder-type-to-search-layouts": "نام چیدمان را بنویسید..." }, "sync": { "name": "همگام‌سازی", "desc": "با Obsidian سینک پرونده‌های خود را همگام‌سازی کنید.", "action-view-version-history": "دیدن تاریخچه‌ی نسخه‌ها", "action-setup-sync": "راه‌اندازی همگام‌سازی", "menu-opt-view-version-history": "باز کردن تاریخچه نسخه‌ها", "action-view-sync-sidebar": "نمایش تاریخچه همگام‌سازی", "action-activity-log": "باز کردن گزارش فعالیت", "label-load-more": "بارگیری بیشتر", "label-show-diff": "نمایش تفاوت‌ها", "label-copy-to-clipboard": "کپی در تخته‌یادداشت", "label-restore-this-version": "بازیابی این نسخه", "msg-already-latest-version": "این نسخه نوترین است.", "msg-restored-version": "نسخه با موفقیت از {{time}} بازیابی شد.", "label-file-deleted": "این پرونده حذف شده", "label-file-deleted-via": "حذف شده از طریق {{ device }}", "label-file-renamed-from": "نام این پرونده از \"{{filepath}}\" تغییر یافته است", "label-file-renamed-from-to": "نام از \"{{from}}\" به \"{{to}}\" تغییر یافت", "label-file-moved-from": "از \"{{from}}\" منتقل شد", "label-file-moved-from-to": "از \"{{from}}\" به \"{{to}}\" منتقل شد", "label-revision": "1 بازنگری", "label-revision_plural": "{{revisions}} بازنگری", "label-via-device": "از طریق {{device}}", "label-no-history": "هیچ تاریخچه همگام‌سازی برای این فایل وجود ندارد.", "label-empty-file": "خالی", "label-unable-to-retrieve": "امکان بازیابی تاریخچه نسخه وجود ندارد", "label-setting-files": "پرونده‌های تنظیمات", "label-deleted-files": "پرونده‌های حذف‌شده", "label-version-history": "تاریخچه‌ی نسخه‌ها", "label-click-to-see-history": "برای دیدن تاریخچه‌ی پرونده‌ی حذف‌شده کلیک کنید.", "label-create-remote-vault": "ساختن خزانه‌ی راه‌دور", "msg-please-enter-password": "گذواژه‌ای وارد فرمایید.", "msg-vault-name-cannot-be-empty": "خزانه نباید بی‌نام باشد.", "msg-successfully-created-vault": "خزانه راه دور \"{{name}}\" با موفقیت ایجاد شد.", "label-remote-vault-explanation": "خزانه‌های راه دور به طور امن خزانه شما را بین دستگاه‌ها همگام‌سازی می‌کنند.", "option-vault-name": "نام خزانه", "option-vault-name-desc": "به یادآوری کاربرد این خزانه کمک می‌کند.", "option-vault-region": "منطقه", "opt-vault-region-automatic": "خودکار", "option-vault-region-desc": "منطقه سرور نزدیک‌ترین به خود را برای ذخیره خزانه راه دور انتخاب کنید. این مورد در آینده قابل تغییر نیست.", "option-vault-name-placeholder": "خزانه‌ی خفن من", "option-encryption": "رمزگذاری", "option-encryption-desc": "رمزگذاری سرتاسری قوی‌ترین امنیت را ارائه می‌دهد اما نیاز دارد که شما گذرواژه رمزگذاری خود را به طور ایمن ذخیره کنید. رمزگذاری استاندارد از یک کلید مدیریت شده توسط Obsidian برای محافظت از داده‌های شما در حین انتقال و در سرورهای ما استفاده می‌کند.", "option-encryption-warning": "این گزینه بعدا قابل تغییر نیست.", "option-encryption-end-to-end": "رمزگذاری سرتاسری", "option-encryption-standard": "رمزگذاری استاندارد", "option-encryption-password": "گذرواژه‌ی رمزگذاری‌شده", "option-encryption-password-desc": "این گذرواژه را نمی‌توان بعدا تغییر داد.", "option-encryption-password-desc-warning": "اگر این گذرواژه را فراموش کنید، هر گونه داده راه دور برای همیشه غیرقابل استفاده خواهد ماند.", "option-encryption-password-desc-2": "این بر داده‌های محلی شما تأثیری نمی‌گذارد.", "label-encryption-password-explanation": "خزانه راه دور «{{name}}» در حال حاضر رمزگذاری شده است. گذرواژه خود را برای باز کردن قفل وارد کنید.", "option-encryption-password-placeholder": "'گذرواژه‌ی شما'", "label-unlock-encrypted-vault": "باز کردن قفل خزانه راه دور شما", "button-unlock-vault": "قفل‌گشایی خزانه", "label-remote-vaults": "خزانه‌های راه‌دور شما", "label-vault-created-time": "ایجاد شده {{time}}", "tooltip-delete-remote-vault": "حذف", "tooltip-rename-remote-vault": "نام‌گذاری", "label-rename-remote-vault": "تغییر نام خزانه راه دور \"{{name}}\"", "label-rename-remote-vault-desc": "یک نام جدید برای این خزانه راه دور وارد کنید.", "tooltip-manage-sharing": "مدیریت هم‌رسانی", "label-confirm-delete-remote-vault": "تأیید حذف خزانه", "label-confirm-delete-remote-vault-question": "آیا از حذف این خزانه راه دور مطمئن هستید؟", "label-confirm-delete-remote-vault-result": "تمام داده‌های روی سرور ما، از جمله تاریخچه نسخه‌ها، حذف خواهند شد. فایل‌های محلی شما دست‌نخورده باقی خواهند ماند.", "label-confirm-delete-remote-vault-warning": "این عمل دائمی و برگشت‌ناپذیر است.", "msg-remote-vault-deleted": "{{name}} حذف شد.", "msg-disconnect-from-deleted-vault": "همگام‌سازی Obsidian: خزانه راه دور متصل دیگر وجود ندارد.", "button-connect-to-remote-vault": "وصل کردن", "button-disconnect-from-remote-vault": "قطعیدن", "label-sync-status": "همگام‌سازی: {{status}}", "label-not-remote-vaults": "خزانه‌ی راه‌دوری ندارید.", "label-no-subscription": "شما اشتراک فعال Obsidian سینک ندارید.", "label-please-visit": "لطفا بازدید کنید", "label-preview-unsupported-file-type": "امکان پیش‌نمایش فایل‌های نوع {{type}} وجود ندارد.", "button-create-new-remote-vault": "ساخت خزانه‌ی نو", "label-sync-log": "گزارش همگام‌سازی", "option-event-type-all": "همه", "option-event-type-errors": "خطاها", "option-event-type-skipped": "رد شده", "option-event-type-merge-conflicts": "تناقض‌های ادغام", "button-copy-sync-log": "کپی گزارش همگام‌سازی", "msg-successfully-copied-sync-log": "گزارش همگام‌سازی با موفقیت کپی شد.", "button-retry": "بازکوشش", "button-purchase-subscription": "خرید", "label-third-party-sync-warning": "سرویس همگام‌سازی فایل شخص ثالث شناسایی شد", "label-third-party-sync-warning-desc": "هشدار: به نظر می‌رسد خزانه شما از {{service}} به عنوان سرویس همگام‌سازی شخص ثالث استفاده می‌کند. اگر از همگام‌سازی Obsidian با این خزانه استفاده کنید، ممکن است با تضادها، خرابی فایل یا از دست دادن داده مواجه شوید.", "label-icloud-drive-warning": "اگر از iCloud Drive استفاده می‌کنید، پوشه‌های اسناد و دسکتاپ شما ممکن است توسط iCloud همگام‌سازی شوند. این می‌تواند باعث تضاد با همگام‌سازی Obsidian شود.", "option-remote-vault": "حذف خزانه", "button-choose-remote-vault": "انتخاب", "button-manage-remote-vault": "مدیریت", "option-remote-vault-desc-connected": "در حال حاضر به خزانه راه دور \"{{name}}\" متصل است.", "option-remote-vault-desc-not-connected": "در حال حاضر به هیچ خزانه راه دوری متصل نیست.", "option-sync-status": "وضعیت همگام‌سازی", "option-sync-status-desc-paused": "Obsidian سینک هم‌اکنون از کار ایستاده است.", "option-sync-status-desc-running": "Obsidian سینک دارد کار می‌کند.", "option-device-name": "نام دستگاه", "option-device-name-desc": "این نام در گزارش همگام‌سازی نمایش داده خواهد شد. برای استفاده از نام پیش‌فرض، آن را خالی بگذارید.", "button-resume": "ادامه", "button-pause": "توقف موقت", "option-view-deleted-files": "پرونده‌های حذف‌شده", "option-view-deleted-files-desc": "مشاهده و بازیابی پرونده‌های حذف‌شده", "option-sync-log": "فعالیت همگام‌سازی", "option-sync-log-desc": "مشاهده فعالیت‌های اخیر همگام‌سازی برای اشکال‌زدایی.", "button-view": "دیدن", "button-bulk-restore": "بازیابی فله‌ای", "button-restore-files_zero": "بازیابی فایل‌ها", "button-restore-files": "{{count}} فایل را بازیابی کن", "button-restore-files_plural": "{{count}} فایل را بازیابی کن", "msg-restoring": "درحال بازیابی...", "msg-restoring-complete": "`بازیابی کامل شد: {{succeeded}} موفق و {{failed}} ناموفق.`", "option-vault-size": "اندازه‌ی خزانه", "option-vault-size-desc": "شما از {{size}} از {{limit}} استفاده می‌کنید.", "option-vault-size-unknown": "امکان بازیابی اندازه خزانه شما وجود ندارد.", "option-vault-size-loading": "در حال بازیابی اندازه خزانه شما...", "option-over-size": "اندازه خزانه بیش از حد مجاز", "option-almost-over-size": "اندازه خزانه نزدیک به حد مجاز", "msg-largest-files": "دیدن بزرگ‌ترین پرونده‌ها", "msg-largest-files-desc": "این‌ها فایل‌های راه دور هستند که بیشترین فضا را اشغال کرده‌اند. پس از حذف پیوست‌ها، از دکمه پاکسازی برای آزاد کردن فضای خزانه راه دور استفاده کنید.", "button-upgrade-storage": "ارتقاء فضای ذخیره‌سازی", "button-purge-remote": "حذف کامل", "button-hide-my-changes": "پنهان کردن تغییرات من", "tooltip-purge-remote": "پیوست‌های حذف شده را برای همیشه از خزانه راه دور پاک کنید تا فضا ذخیره شود.", "msg-purge-complete": "حذف کامل انجام شد.", "option-prevent-sleep": "جلوگیری از خواب رفتن دستگاه", "option-prevent-sleep-desc": "جلوگیری از خواب رفتن دستگاه هنگامی که هنوز فایل‌هایی برای همگام‌سازی وجود دارد.", "option-selective-sync": "همگام‌سازی گزینشی", "option-excluded-folders": "پوشه‌های استثناشده", "option-excluded-folder-desc": "جلوگیری از همگام‌سازی پوشه‌های خاص.", "option-currently-excluded-folders": "هم‌اکنون این پوشه‌ها استثنا شده‌اند:", "button-manage-excluded-folders": "مدیریت", "option-sync-image": "همگام‌سازی تصویرها", "option-sync-image-desc": "همگام‌سازی فایل‌های تصویری با این پسوندها: {{extensions}}.", "option-sync-audio": "همگام‌سازی صوت‌ها", "option-sync-audio-desc": "همگام‌سازی فایل‌های صوتی با این پسوندها: {{extensions}}.", "option-sync-video": "همگام‌سازی فیلم‌ها", "option-sync-video-desc": "همگام‌سازی فایل‌های ویدیویی با این پسوندها: {{extensions}}.", "option-sync-pdf": "همگام‌سازی پی‌دی‌اف‌ها", "option-sync-pdf-desc": "همگام‌سازی پرونده‌های پی‌دی‌اف.", "option-sync-unsupported": "همگام‌سازی همه جور پرونده‌ی دیگر", "option-sync-unsupported-desc": "همگام‌سازی انواع فایل‌های پشتیبانی نشده.", "option-vault-config-sync": "همگام‌سازی پیکربندی خزانه", "option-view-config-files": "تاریخچه نسخه تنظیمات", "option-view-config-files-desc": "مشاهده و بازیابی تاریخچه نسخه فایل‌های تنظیمات.", "option-sync-app": "تنظیمات اصلی", "option-sync-app-desc": "برای همگام‌سازی تنظیمات ویرایشگر، تنظیمات فایل‌ها و پیوندها، میانبرهای سفارشی و غیره، فعال کنید.", "option-sync-appearance": "تنظیمات چهره", "option-sync-appearance-desc": "همگام‌سازی تنظیمات ظاهر مانند حالت تاریک، پوسته فعال و اسنیپت‌های فعال.", "option-sync-appearance-data": "پوسته‌ها و تکه‌کدها", "option-sync-appearance-data-desc": "همگام‌سازی پوسته‌ها و اسنیپت‌های دانلود شده. فعال بودن آن‌ها به تنظیم قبلی بستگی دارد.", "option-sync-hotkey": "میانبرها", "option-sync-hotkey-desc": "همگام‌سازی میانبرهای دلخواه", "option-sync-core-plugin": "فهرست افزونه‌های اصلی فعال", "option-sync-core-plugin-desc": "همگام‌سازی افزونه‌های اصلی فعال.", "option-sync-core-plugin-data": "تنظیمات افزونه‌های اصلی", "option-sync-core-plugin-data-desc": "همگام‌سازی تنظیمات افزونه‌های اصلی", "option-sync-community-plugin": "فهرست افزونه‌های فعال انجمن", "option-sync-community-plugin-desc": "همگام‌سازی افزونه‌های فعال انجمن", "option-sync-community-plugin-data": "افزونه‌های نصب‌شده‌ی انجمن", "option-sync-community-plugin-data-desc": "همگام‌سازی افزونه‌های جامعه نصب شده (فایل‌های .js، .css و manifest.json) و تنظیمات آنها.", "label-sync-loading": "همگام‌سازی هنوز در حال بارگیری است، لطفا بعدا این صفحه را رفرش کنید.", "label-sync-introduction": "همگام‌سازی Obsidian، سرویس همگام‌سازی افزودنی Obsidian با رمزگذاری سرتاسری و تاریخچه نسخه است.", "label-account-required": "برای شروع همگام‌سازی، لطفا وارد شوید یا یک حساب کاربری جدید Obsidian ایجاد کنید.", "label-current-file": "فایل فعلی", "label-sync-changes": "همگام‌سازی تغییرات", "label-today": "امروز", "label-yesterday": "دیروز", "label-this-week": "این هفته", "label-older": "قدیمی‌تر", "label-last-sync": "آخرین همگام‌سازی", "label-more": "{{count}} بیشتر", "button-sign-up": "نام‌نویسی", "button-log-in": "ورود", "label-manage-excluded-folders": "مدیریت پوشه‌های استثناشده", "label-number-of-folders-excluded": "{{folders}} در حال حاضر از همگام‌سازی مستثنی شده‌اند.", "label-add-excluded-folder": "مستثنا کردن یک پوشه", "label-add-excluded-folder-desc": "شما می‌توانید هم پوشه‌های موجود و هم پوشه‌هایی که هنوز ایجاد نشده‌اند را مستثنی کنید.", "tooltip-remove-excluded-folder": "حذف از فهرست مستثناها", "label-setup-connection": "راه‌اندازی اتصال", "label-connecting-to-vault": "در حال اتصال...", "label-connection-failed": "اتصال ناموفق بود", "label-connection-failed-desc": "اتصال به خزانه راه دور ناموفق بود.", "label-now-connected-to-vault": "شما اکنون به «{{name}}» متصل هستید.", "button-start-syncing": "آغاز همگام‌سازی", "label-confirm-merge-vault": "تأیید یکی کردن خزانه", "msg-vault-has-notes": "خزانه محلی شما قبلا حاوی یادداشت‌هایی است.", "msg-vault-merge-warning": "اگر به خزانه راه دور «{{name}}» متصل شوید، یادداشت‌های موجود در خزانه محلی شما با یادداشت‌های خزانه راه دور شما ادغام خواهند شد. در صورت بروز تضاد، آخرین نسخه یادداشت حفظ خواهد شد.", "tooltip-update-setting-on-all-devices": "لطفا این گزینه را به‌روزرسانی کرده و برنامه را در تمام دستگاه‌هایی که می‌خواهید اعمال شود، راه‌اندازی مجدد کنید.", "label-sharing-with-users": "این خزانه راه دور در حال حاضر با افراد زیر به اشتراک گذاشته شده است.", "label-not-sharing": "این خزانه راه دور در حال حاضر با کسی به اشتراک گذاشته نشده است.", "label-vaults-shared-with-you": "خزانه‌های به اشتراک گذاشته شده با شما", "tooltip-leave-vault-sharing": "توقف همکاری در این خزانه", "label-leave-vault-confirmation": "تأیید توقف همکاری در خزانه", "label-leave-vault-confirmation-details": "این کار این خزانه را از لیست خزانه‌های به اشتراک گذاشته شده با شما حذف خواهد کرد. این عمل قابل بازگشت نیست.", "label-leave-vault-confirmation-details-2": "اگر می‌خواهید دوباره در این خزانه همکاری کنید، لطفا با مالک خزانه تماس بگیرید.", "button-leave": "خروج", "msg-error-failed-to-fetch": "بارگذاری خزانه‌های راه دور ناموفق بود.", "label-require-subscription-to-connect": "برای اتصال به این خزانه، به اشتراک Obsidian سینک نیاز دارید.", "option-contact-support": "تماس با پشتیبانی", "option-contact-support-desc": "اگر در مورد همگام‌سازی Obsidian با مشکلی مواجه شدید، لطفا با ما تماس بگیرید تا بتوانیم به شما کمک کنیم! می‌توانید با ما در support@obsidian.md در تماس باشید.", "button-copy-debug": "کپی اطلاعات اشکال‌زدایی", "button-email-support": "ایمیل به پشتیبانی", "label-sync-disconnected": "همگام‌سازی به خزانه راه دور متصل نیست.", "msg-remote-vault-limit-hit": "همگام‌سازی Obsidian به شما امکان می‌دهد تا ۵ خزانه راه دور ایجاد کنید. برای ایجاد یک خزانه راه دور جدید، لطفا یک خزانه موجود را حذف کنید.", "label-upgrade-vault": "ارتقاء خزانه", "label-upgrade-vault-encryption": "ارتقاء رمزگذاری خزانه", "label-upgrade-vault-encryption-desc": "نسخه جدیدی از رمزگذاری برای خزانه‌های راه دور در دسترس است.", "label-migrate-remote-vault": "مهاجرت خزانه راه دور", "label-remote-vault-configuration": "پیکربندی خزانه راه دور", "button-migrate": "مهاجرت", "msg-recreate-remote-vault": "این کار خزانه راه دور شما را حذف کرده و با جدیدترین رمزگذاری بازسازی می‌کند. فایل‌های محلی تحت تأثیر قرار نمی‌گیرند، اما تاریخچه نسخه شما از بین خواهد رفت.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "برای ارتقاء رمزگذاری، تمام داده‌های موجود در خزانه با استفاده از روش رمزگذاری جدید به سرورهای همگام‌سازی Obsidian دوباره آپلود خواهند شد. این فرآیند به طور دائمی تمام داده‌های رمزگذاری شده با رمزگذاری قدیمی، از جمله تاریخچه نسخه خزانه شما را حذف خواهد کرد.", "msg-migrate-pre-confirmation-part2": "مهم: ما به شدت توصیه می‌کنیم قبل از ادامه، یک پشتیبان از خزانه خود تهیه کنید تا از هرگونه از دست دادن احتمالی داده جلوگیری شود.", "msg-migrate-pre-confirmation-part3": "پس از تکمیل ارتقاء، باید تمام دستگاه‌های خود را به خزانه راه دور به‌روز شده دوباره وصل کنید.", "msg-migrate-confirmation": "مهاجرت خزانه شما ممکن است زمان‌بر باشد. باید Obsidian را روی این دستگاه فعال نگه دارید تا تمام یادداشت‌ها و پیوست‌های خود را دوباره آپلود کنید. بهتر است این کار را در دستگاه اصلی خود انجام دهید.", "msg-migrate-confirmation-size": "شما {{size}} داده دارید. مهاجرت خزانه شما ممکن است زمان‌بر باشد. باید Obsidian را روی این دستگاه فعال نگه دارید تا تمام یادداشت‌ها و پیوست‌های خود را دوباره آپلود کنید. بهتر است این کار را در دستگاه اصلی خود انجام دهید.", "msg-proceed-prompt": "آیا می‌خواهید ادامه دهید؟", "msg-vault-migration-started": "مهاجرت خزانه در حال انجام است." }, "file-recovery": { "name": "بازیابی پرونده", "desc": "به شما اجازه می‌دهد تا لحظه‌های بازیابی اخیر را برای بازیابی از از دست دادن تصادفی داده بازیابی کنید. لحظه‌ها فقط برای فایل‌های مارک‌داون ذخیره می‌شوند.", "action-open": "گشودن پشتیبان‌های مقطعی ذخیره‌شده", "option-interval": "بازه‌ی پشتیبان‌گیری مقطعی", "option-interval-description": "کمترین بازه‌ی زمانی میان دو پشتیبان مقطعی به دقیقه", "option-keep": "درازی تاریخچه", "option-keep-description": "تعداد روزهایی که پشتیبان‌های مقطعی نگه داشته می‌شوند.", "option-open-history": "پشتیبان‌های مقطعی", "option-open-history-description": "دیدن و بازیابی پشتیبان‌های مقطعی ذخیره‌شده", "button-view-history": "مشاهده", "option-clear": "حذف تاریخچه", "option-clear-description": "حذف پشتیبان‌های مقطعی", "button-clear-history": "حذف", "label-clear-warning": "آیا از حذف تمام لحظه‌ها مطمئن هستید؟ توجه داشته باشید که فقط لحظه‌ها حذف خواهند شد. تمام فایل‌های داخل خزانه شما تحت تأثیر قرار نخواهند گرفت.", "msg-clear-complete": "پشتیبان‌های مقطعی پاک شدند.", "label-no-history-found": "پشتیبان مقطعی‌ای پیدا نشد.", "placeholder-choose-file": "انتخاب یک پرونده...", "label-select-file": "برای دیدن پشتیبان‌های مقطعی، پرونده‌ای را از سمت چپ انتخاب کنید" }, "note-composer": { "name": "یادداشت‌ساز", "desc": "یکی کردن، جداسازی و بازسازی یادداشت‌ها", "option-confirm-file-merge": "تأیید یکی کردن پرونده", "option-confirm-file-merge-description": "پیش از یکی کردن دو پرونده، از شما سؤال شود.", "option-split-replacement-text": "متن پس از بیرون کشیدن", "option-split-replacement-text-description": "چه چیزی به جای متن انتخاب شده پس از استخراج آن نمایش داده شود.", "option-choice-split-replacement-text-link": "پیوند به پرونده‌ی نو", "option-choice-split-replacement-text-embed": "جاساز پرونده‌ی نو", "option-choice-split-replacement-text-none": "هیچ‌کدام", "option-template-file": "جای پرونده‌ی الگو", "option-template-file-description": "فایل الگویی که هنگام ادغام یا استخراج استفاده می‌شود. متغیرهای موجود: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}، مانند {{date:YYYY-MM-DD}}.", "command-merge-file": "یکی کردن این پرونده با پرونده‌ای دیگر...", "action-merge-file": "یکی کردن کل پرونده با...", "label-no-files": "پرونده‌ای پیدا نشد.", "instruction-navigate": "برای جابه‌جایی", "instruction-merge": "برای یکی کردن", "instruction-create-new": "برای ساختن نو", "instruction-merge-at-top": "برای یکی کردن در بالایی", "instruction-dismiss": "برای خروج", "prompt-select-file-to-merge": "پرونده‌ای را برای یکی کردن انتخاب کنید...", "label-merge-file": "یکی کردن پرونده", "label-confirm-file-merge": "آیا مطمئن هستید که می‌خواهید \"{{file}}\" را در \"{{destination}}\" ادغام کنید؟ \"{{file}}\" حذف خواهد شد.", "button-merge": "یکی کردن", "command-split-file": "بیرون کشیدن انتخاب کنونی...", "command-extract-heading": "بیرون کشیدن این سرفصل...", "instruction-append": "برای بردن به پایین", "instruction-prepend": "برای بردن به بالا", "msg-fail-to-fetch-template": "واکشی فایل الگو ناموفق بود: \"{{template}}\" یافت نشد.", "msg-fail-to-find-heading": "پیدا کردن سرفصل به مشکل خورد" }, "web-viewer": { "name": "نمایش‌گر وب", "history-name": "تاریخچه وب", "desc": "باز کردن پیوندهای خارجی به صفحات وب در داخل Obsidian.", "action-open": "باز کردن نمایش‌گر وب", "action-show-history": "نمایش تاریخچه", "action-toggle-reader-mode": "تغییر حالت مطالعه", "action-copy-u-r-l": "کپی آدرس اینترنتی", "action-remove-from-history": "حذف از تاریخچه", "action-clear-history": "پاک کردن تاریخچه", "action-open-link": "باز کردن پیوند", "action-open-link-new-tab": "باز کردن پیوند در برگه جدید", "action-open-link-new-split": "باز کردن پیوند به سمت راست", "action-open-link-new-window": "باز کردن پیوند در پنجره جدید", "action-open-link-default-browser": "باز کردن پیوند در مرورگر پیش‌فرض", "action-open-link-web-viewer": "باز کردن پیوند در نمایش‌گر وب", "action-copy-link-address": "کپی آدرس پیوند", "action-bookmark-link": "نشانک‌گذاری پیوند", "action-search-for-query": "جست‌وجو برای «{{query}}»", "action-extract-selection": "استخراج انتخاب به یادداشت جدید", "action-copy-selection": "کپی", "action-cut": "برش", "action-paste": "چسباندن", "action-delete": "حذف", "action-select-all": "انتخاب همه", "action-save-to-vault": "ذخیره در خزانه", "action-save-image": "ذخیره تصویر در خزانه", "action-copy-image": "کپی تصویر", "action-copy-image-link": "کپی پیوند تصویر", "action-backward": "عقب", "action-forward": "جلو", "action-reload": "بارگذاری مجدد", "action-bookmark-page": "نشانک‌گذاری صفحه", "action-open-default-browser": "باز کردن در مرورگر پیش‌فرض", "action-focus-address-bar": "تمرکز روی نوار آدرس", "action-search-the-web": "جست‌وجو در وب", "action-clear-data": "پاک کردن داده‌ها", "action-clear-data-cookies": "کوکی‌ها", "action-clear-data-cookies-desc": "ممکن است شما را از وب‌سایت‌ها خارج کند.", "action-clear-data-cache": "داده‌های کش شده", "action-clear-data-history": "تاریخچه", "action-clear-data-all": "همه داده‌های نمایش‌گر وب", "action-clear-data-all-desc": "همه موارد بالا و همچنین حافظه محلی و نشست‌های فعال را حذف می‌کند.", "label-new-web-viewer": "نمایش‌گر وب جدید", "label-fail-to-load": "بارگذاری سایت ناموفق بود.", "label-fail-to-load-desc": "لطفا از صحت آدرس اطمینان حاصل کنید.", "label-search-the-web": "جست‌وجو در وب", "label-web-viewer-data": "داده‌های نمایش‌گر وب", "label-clear-data": "پاک کردن داده‌های نمایش‌گر وب", "option-open-external-links": "باز کردن پیوندهای خارجی", "option-open-external-links-desc": "پیوندها را در Obsidian باز کنید نه در مرورگر پیش‌فرض سیستم.", "option-homepage": "صفحه اصلی", "option-homepage-desc": "هنگام باز شدن نمایش‌گر وب، چه صفحه‌ای نمایش داده شود", "option-saved-markdown": "پوشه صفحات ذخیره شده", "option-saved-markdown-desc": "وب‌سایت‌های ذخیره شده به عنوان مارک‌داون در اینجا قرار خواهند گرفت.", "option-search-engine": "موتور جست‌وجو", "option-search-engine-desc": "موتور جست‌وجوی مورد استفاده هنگام جست‌وجو از نوار آدرس.", "option-search-engine-custom": "موتور جست‌وجوی سفارشی", "option-search-engine-custom-desc": "از %s به جای عبارت جست‌وجو استفاده کنید.", "option-search-engine-custom-drop-down": "سفارشی", "option-enable-adblock": "فعال کردن مسدودکننده تبلیغات", "option-enable-adblock-desc": "در صورت فعال بودن، لیست‌های فیلتر زیر برای همه برگه‌های نمایش‌گر وب اعمال خواهند شد.", "option-adblock-lists": "قوانین مسدودکننده تبلیغات", "option-adblock-lists-desc": "یک آدرس اینترنتی لیست مسدودکننده تبلیغات در هر خط. مشترک بین همه خزانه‌ها.", "option-adblock-frequency": "بسامد به‌روزرسانی مسدودکننده تبلیغات", "option-adblock-frequency-desc": "روزهای بین به‌روزرسانی لیست‌های فیلتر. ۰ به معنای غیرفعال بودن است. مشترک بین همه خزانه‌ها.", "title-clear-data-modal": "پاک کردن داده‌های نمایش‌گر وب", "msg-error-extracting-content": "خطای غیرمنتظره در استخراج محتوا.", "msg-error-finding-content": "محتوایی برای استخراج یافت نشد." }, "canvas": { "name": "بوم", "desc": "آراستن و پیوستن یادداشت‌ها روی یک بوم بی‌پایان.", "action-add-note": "افزودن یادداشت از خزانه", "action-add-media": "افزودن رسانه از خزانه", "action-add-card": "افزودن کارت", "action-add-website": "افزودن صفحه‌ی وب", "action-create-group": "ساختن گروه", "action-create-with-size": "ساختن کارت با اندازه‌ی مشخص", "action-convert-to-file": "تبدیل به پرونده...", "action-drag-to-add-note": "برای افزودن یادداشت از خزانه بکشید", "action-drag-to-add-media": "برای افزودن رسانه از خزانه بکشید", "action-drag-to-add-card": "برای افزودن کارت بکشید", "action-edit-label": "ویرایش برچسب", "action-remove-label": "حذف برچسب", "action-search-file": "جست‌وجوی پرونده", "action-set-color": "انتخاب رنگ", "action-align": "چینش", "action-align-left": "چپ‌چین", "action-align-center": "وسط‌چین", "action-align-right": "راست‌چین", "action-align-top": "بالاچین", "action-align-middle": "میان‌چین", "action-align-bottom": "پایین‌چین", "action-distribute-horizontal-spacing": "پخش کردن فاصله‌گذاری افقی", "action-distribute-vertical-spacing": "پخش کردن فاصله‌گذاری عمودی", "action-justify-horizontally": "تراز کردن افقی", "action-justify-vertically": "تراز کردن عمودی", "action-arrange-horizontally": "چیدن در یک ردیف", "action-arrange-vertically": "چیدن در یک ستون", "action-arrange-grid": "آراستن در یک شبکه", "action-export-png": "خروجی عکس", "action-jump-to-group": "پرش به گروه", "action-set-background": "گذاشتن پس‌زمینه", "action-edit-background": "ویرایش پس‌زمینه", "action-replace-background": "جایگزینی پس‌زمینه", "action-remove-background": "حذف پس‌زمینه", "label-no-images": "عکسی پیدا نشد.", "label-no-media": "رسانه‌ای یافت نشد.", "label-export-png-desc": "خروجی گرفتن از \"{{title}}\" به صورت فایل PNG با تنظیمات زیر.", "label-export-png-dimensions": "ابعاد تخمینی تصویر: {{dimensions}}", "label-distribute": "پخش کردن", "label-justify": "تراز کردن", "label-arrange": "مرتب کردن", "label-always": "همیشه", "label-hover": "هنگام بردن نشانگر روی کارت", "label-never": "هیچ‌گاه", "label-no-section-found": "بخشی یافت نشد", "option-wheel-behavior": "رفتار پیش‌فرض چرخک موس", "option-mod-drag-behavior": "رفتار پیش‌فرض {{key}}", "option-show-menu": "نمایش منو", "option-new-canvas-location": "جای پیش‌فرض بوم‌های نو", "option-new-canvas-location-description": "جایی که فایل‌های بوم تازه ایجاد شده قرار می‌گیرند.", "option-new-canvas-folder-path": "پوشه برای ایجاد فایل‌های بوم جدید", "option-new-canvas-folder-path-description": "فایل‌های بوم تازه ایجاد شده زیر این پوشه ظاهر خواهند شد.", "option-node-label": "نمایش برچسب کارت", "option-snap-to-grid": "چفت کردن به شبکه", "option-snap-to-grid-desc": "چفت کردن کارت‌ها به تور پس‌زمینه هنگام جابه‌جایی یا تغییر اندازه‌ی‌شان.", "option-snap-to-objects": "چفت کردن به اشیا", "option-snap-to-objects-desc": "هنگام جابجایی و تغییر اندازه، کارت‌ها را به اشیاء نزدیک بچسبانید.", "option-zoom-breakpoint": "آستانه بزرگنمایی برای پنهان کردن محتوای کارت", "option-zoom-breakpoint-desc": "مقادیر کمتر عملکرد را افزایش می‌دهند اما محتوای کارت را زودتر هنگام کوچک‌نمایی پنهان می‌کنند.", "option-export-png-show-logo": "نمایش نشان", "option-export-png-show-logo-desc": "یک لوگوی Obsidian را به پایین سمت چپ اضافه می‌کند.", "option-export-png-privacy-mode": "حالت حریم خصوصی", "option-export-png-privacy-mode-desc": "این گزینه هر متنی که در بوم باشد را تار می‌کند.", "option-export-png-zoom": "زوم", "option-export-png-zoom-desc": "بزرگنمایی بالاتر، تصویری با وضوح بالاتر ایجاد می‌کند.", "option-export-png-frame": "میدان دید", "option-export-png-frame-desc": "تعیین خروجی‌گیری از کل بوم یا تنها آن بخش که در میدان دید است.", "option-export-png-frame-full": "کل بوم", "option-export-png-frame-viewport": "فقط میدان دید", "option-background-cover": "جلد", "option-background-ratio": "حفظ نسبت تصویر", "option-background-repeat": "تکرار", "action-new-canvas": "بوم نو", "action-remove": "حذف", "action-narrow-heading": "محدود کردن به سرفصل...", "action-narrow-block": "محدود کردن به بلوک...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "جایگزینی پرونده...", "action-change-url": "تغییر آدرس اینترنتی...", "action-zoom-to-fit": "زوم متناسب", "action-zoom-to-selection": "زوم بر بخش انتخاب‌شده", "action-reload-page": "بارگذاری دوباره‌ی صفحه", "action-follow-connection": "پی‌گرفتن اتصال", "command-create-new-canvas": "ساختن بوم نو", "command-convert-to-file": "تبدیل به پرونده...", "instruction-narrow-heading": "برای جاسازی سرفصل", "instruction-narrow-block": "برای جاسازی بلوک", "instruction-jump-to-group": "برای رفتن به گروه", "prompt-to-narrow": "نام سرفصل را بنویسید", "label-enter-url": "وارد کردن آدرس اینترنتی صفحه", "label-empty-embed": "\"{{linktext}}\" یافت نشد.", "prompt-add-text": "افزودن متن...", "prompt-start-search": "برای جست‌وجو بنویسید...", "label-canvas-help": "راهنمای بوم", "label-canvas-settings": "تنظیمات بوم", "label-no-narrow": "نمایش کل پرونده", "label-show-default-view": "Show default view", "label-readonly": "فقط-خواندن", "label-disable-readonly": "خاموش کردن فقط-خواندن", "label-pan": "پیمایش", "label-pan-horizontal": "پیمایش افقی", "label-zoom": "زوم", "label-select-all": "انتخاب همه", "label-add-remove-selection": "افزودن به / حذف از انتخاب", "label-clone-card": "همسانه‌سازی از کارت", "label-constrain-movement-axis": "محدود کردن حرکت کارت به محورها", "label-disable-drag-snapping": "غیرفعال کردن چفت شدن هنگام کشیدن با موس", "label-remove-card": "حذف کارت", "label-drag-from-below": "از پایین بکشید یا دو کلیک کنید", "label-longpress": "برای افزودن / جابه‌جا کردن / انتخاب کردن لمس کنید و نگه دارید", "label-drag-pan": "برای پیمایش بکشید", "label-pinch-zoom": "برای زوم کردن نیشگون بگیرید", "label-space-drag-pan": "برای پیمایش کلید فاصله را نگه دارید و با موس بکشید", "label-scroll-to-zoom": "برای زوم کردن اسکرول کنید", "label-untitled-group": "گروه بی‌نام", "label-line-direction": "جهت خط", "label-nondirectional": "بی‌جهت", "label-unidirectional": "تک‌جهته", "label-bidirectional": "دوجهته", "label-image": "عکس", "label-style": "سبک", "msg-no-groups-found": "گروهی یافت نشد", "msg-export-failed-empty-canvas": "نمی‌شود از بوم خالی خروجی گرفت.", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "پایگاه‌ها", "desc": "ایجاد پایگاه‌ها با پرس‌وجو از ویژگی‌های یادداشت.", "action-new-base": "پایگاه جدید", "action-add-property": "افزودن ویژگی", "action-add-formula": "Add formula", "action-hide-all": "پنهان کردن همه", "action-toggle-visibility": "تغییر وضعیت دید", "action-delete-property": "حذف ویژگی", "action-duplicate-view": "تکثیر نما", "action-delete-view": "حذف نما", "action-export-c-s-v": "Export CSV...", "command-create-new": "ایجاد پایگاه جدید", "command-insert-new": "درج پایگاه جدید", "command-copy-table": "کپی جدول در تخته‌یادداشت", "command-change-view": "تغییر نما", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "ویژگی‌های محاسبه شده", "label-property-type": "نوع ویژگی", "label-hide-property": "پنهان کردن ویژگی", "label-show-property": "نمایش ویژگی", "label-edit-property": "ویرایش ویژگی", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "پیکربندی نما", "label-view-layout": "چیدمان", "label-global-filters": "فیلترهای سراسری", "label-view-filters": "فیلترهای نما", "label-view-name": "نام نما", "label-default-view": "نما", "label-view-type-table": "جدول", "label-display-name": "Display name", "label-formula": "فرمول", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "هر یک از موارد زیر صحیح است", "label-all-the-following": "همه موارد زیر صحیح هستند", "label-none-of-the-following": "هیچ یک از موارد زیر صحیح نیست", "label-where": "جایی که", "label-or": "یا", "label-and": "و", "label-property-key": "ویژگی", "label-untitled-property": "بی‌عنوان", "label-file-prop-file": "فایل", "label-file-prop-name": "نام", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "مسیر", "label-file-prop-folder": "پوشه", "label-file-prop-ext": "پسوند", "label-file-prop-ctime": "زمان ایجاد", "label-file-prop-mtime": "زمان اصلاح", "label-file-prop-size": "اندازه فایل", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "این فیلتر نمی‌تواند توسط سازنده فیلتر ساده نمایش داده شود.", "msg-filter-cannot-parse": "فیلتر قابل تجزیه نیست. سازنده فیلتر پایه نمی‌تواند استفاده شود.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "امکان افزودن نمای پایگاه جدید \"{{ viewID }}\" وجود ندارد. یک نما با این شناسه از قبل موجود است.", "msg-error-unable-to-parse": "امکان تجزیه فایل پایگاه شما وجود ندارد:", "msg-error-view-not-found": "نمای \"{{ view }}\" یافت نشد", "msg-error-unknown-view-type": "پایگاه با نوع نمای ناشناخته پیکربندی شده است: {{ viewtype }}", "msg-error-view-type": "نماها باید یک آرایه باشند", "msg-error-display-values": "مقادیر نمایش باید رشته باشند. مقدار برای ویژگی {{ key }} رشته نیست.", "msg-error-must-be-a-type": "\"{{ key }}\" باید یک {{ type }} باشد", "msg-error-filter-type": "\"filters\" باید یک رشته یا یک شی باشد", "msg-error-filter-must-be-array": "فیلتر \"{{ conjunction }}\" باید یک آرایه باشد", "msg-error-filter-allowed-keys": "\"filters\" فقط می‌تواند یکی از کلیدهای \"and\"، \"or\" یا \"not\" را داشته باشد.", "msg-error-filter-failed-to-evaluate": "ارزیابی فیلتر ناموفق بود: {{ message }}", "msg-error-formula-values": "مقادیر فرمول باید رشته باشند. مقدار برای ویژگی {{ key }} رشته نیست.", "msg-error-computed-failed-to-compute": "محاسبه مقدار ویژگی \"{{ key }}\" ناموفق بود: {{ message }}", "msg-error-invalid-query-format": "پرس‌وجو فرمت نامعتبری دارد. باید یک شی YAML باشد.", "msg-error-view-invalid-format": "آیتم‌های \"view\" باید یک شی YAML باشند، اما آیتم {{ index }} نیست", "msg-error-view-name-invalid": "نام در نمای {{ index }} از دست رفته یا نامعتبر است", "msg-error-view-missing-required-key": "\"{{ key }}\" در نمای \"{{ viewName }}\" الزامی است", "msg-error-view-incorrect-type": "\"{{ key }}\" باید از نوع {{ type }} در نمای \"{{ viewName }}\" باشد", "msg-error-view-incorrect-value-type": "مقادیر \"{{ key }}\" باید همگی از نوع {{ type }} در نمای \"{{ viewName }}\" باشند", "msg-error-view-parsing-filters": "امکان تجزیه فیلترها در نمای \"{{ viewName }}\" وجود ندارد: {{ message }}", "msg-error-infinite-loop": "حلقه بی‌نهایت در فرمول شناسایی شد", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "فیلتر پیشرفته", "tooltip-filter-simple-mode": "فیلتر ساده", "tooltip-remove-filter": "حذف فیلتر", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "پنهان کردن ستون", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "هایلایت کردن همه", "action-match-diacritics": "هم‌خوانی نشانه‌های زیر و زبری", "action-whole-words": "واژه‌های درسته", "action-show-thumbnails": "تصویرک‌ها", "action-show-outline": "فهرست", "action-reveal-in-outline": "نشان دادن صفحه در فهرست", "action-toggle-sidebar": "باز/بستن نوار کناری", "action-previous-page": "صفحه‌ی پیش", "action-next-page": "صفحه‌ی بعد", "action-fit-width": "پهنای متناسب", "action-fit-height": "درازای متناسب", "action-save-p-d-f-location": "ذخیره‌ی جایگاه کنونی سند", "action-copy-annotation": "کپی حاشیه‌نویسی", "action-copy-quote": "کپی به‌شکل نقل‌قول", "action-copy-selection-link": "کپی پیوند بخش انتخاب‌شده", "action-copy-annot-link": "کپی پیوند حاشیه‌نویسی", "action-copy-section-link": "کپی پیوند به بخش", "action-copy-section-link-title": "کپی پیوند به \"{{title}}\"", "action-copy-page-link": "کپی پیوند به صفحه {{page}}", "msg-max-search-results": "{{current}} از بیش از {{limit}} مورد مطابقت", "msg-search-count": "{{current}} از {{total}} مورد مطابقت دارد", "msg-search-count_plural": "{{current}} از {{total}} مورد مطابقت دارند", "msg-password-protected": "این پی‌دی‌اف گذرواژه دارد", "msg-invalid-password": "گذرواژه‌ی نامعتبر", "msg-enter-password": "گذرواژه را در زیر وارد کنید", "label-of-pages": "از {{count}}", "label-page-of-pages": "({{current}} از {{count}})", "label-spread-single": "تک صفحه", "label-spread-odd": "دو صفحه (فرد)", "label-spread-even": "دو صفحه (زوج)", "tooltip-sidebar-options": "تنظیمات نوار کناری", "tooltip-display-options": "تنظیمات نمایش", "label-adapt-to-theme": "سازگار کردن با پوسته", "label-page": "صفحه {{page}}", "page_landmark": "صفحه {{page}}", "thumb_page_title": "صفحه {{page}}", "thumb_page_canvas": "صفحه {{page}}", "text_annotation_type": "[حاشیه‌نویسی {{type}}]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "فهرست", "option-unknown": "نامعلوم", "option-text": "متن", "option-aliases": "دگرنام", "option-tags": "برچسب", "option-folder": "پوشه", "option-file": "فایل", "option-date": "تاریخ", "option-datetime": "تاریخ و زمان", "option-number": "شماره", "option-checkbox": "تیک‌زدنی" }, "value-suggestion": { "key-link-note": "]] بنویسید", "instruction-link-note": "برای پیوند زدن به یادداشت", "instruction-dismiss": "برای لغو" }, "option-property-type": "نوع ویژگی", "msg-empty-property-name": "نام ویژگی نمی‌تواند خالی باشد.", "msg-duplicate-property-name": "این ویژگی هم‌اکنون هم موجود است.", "msg-invalid-tag": "نام نامعتبر برای برچسب", "msg-invalid-number": "عدد نامعتبر", "msg-invalid-properties": "خواندن ویژگی‌ها شکست خورد.", "label-no-value": "بدون مقدار", "label-heading": "ویژگی‌ها", "label-invalid-heading": "ویژگی‌های نامعتبر", "label-show-source": "نمایش منبع", "label-invalid-yaml-marker": "خطای سینتکس. فرانت‌متر (frontmatter) شما نامعتبر است.", "label-add-property-button": "افزودن ویژگی", "label-type-mismatch-warning": "عدم تطابق نوع، {{type}} مورد انتظار بود", "label-type-mismatch-warning-generic": "عدم تطابق نوع", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "ستون", "label-row": "ردیف", "action-row-after": "افزودن ردیف به بعد", "action-column-after": "افزودن ستون به بعد", "action-row-before": "افزودن ردیف به قبل", "action-row-up": "بالا بردن ردیف", "action-row-down": "پایین آوردن ردیف", "action-column-before": "افزودن ستون به قبل", "action-column-left": "بردن ستون به چپ", "action-column-right": "بردن ستون به راست", "action-duplicate-row": "دوتا کردن ردیف", "action-duplicate-column": "دوتا کردن ستون", "action-delete-row": "حذف ردیف", "action-delete-column": "حذف ستون", "action-align-left": "چپ‌چین", "action-align-center": "وسط‌چین", "action-align-right": "راست‌چین", "action-delete-selection": "حذف خانه‌ها", "action-clear-selection": "تمیز کردن خانه‌ها", "action-sort-a-z": "مرتب کردن بر اساس ستون (به‌ترتیب حروف الفبا)", "action-sort-z-a": "مرتب کردن بر اساس ستون (برعکس حروف الفبا)", "label-command": "جدول {{command}}" }, "callout": { "option-type": "نوع فراخوان", "type": { "info": "اطلاعات", "important": "مهم", "tip": "نکته", "success": "موفقیت", "question": "پرسش", "warning": "هشدار", "quote": "نقل‌قول", "example": "نمونه", "none": "هیچ" }, "option-other": "دیگر...", "option-other-placeholder": "نوع فراخوان..." }, "nouns": { "count": "{{count}}", "word-with-count": "واژه {{count}}", "word-with-count_plural": "واژه {{count}}", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "نویسه {{count}}", "character-with-count_plural": "نویسه {{count}}", "link-with-count": "پیوند {{count}}", "link-with-count_plural": "پیوند {{count}}", "file-with-count": "پرونده {{count}}", "file-with-count_plural": "پرونده {{count}}", "folder-with-count": "پوشه {{count}}", "folder-with-count_plural": "پوشه {{count}}", "backlink-with-count": "پشت‌وند {{count}}", "backlink-with-count_plural": "پشت‌وند {{count}}", "tabs-with-count": "{{count}} زبانه", "tabs-with-count_plural": "{{count}} زبانه", "properties-with-count": "ویژگی {{count}}", "properties-with-count_plural": "ویژگی {{count}}", "site-with-count": "وبگاه {{count}}", "site-with-count_plural": "وبگاه {{count}}", "plugin-with-count": "افزونه {{count}}", "plugin-with-count_plural": "افزونه {{count}}", "plugin-active-with-count": "{{count}} فعال", "snippet-active-with-count": "{{count}} تکه‌کد", "snippet-active-with-count_plural": "{{count}} تکه‌کد", "theme-with-count": "پوسته {{count}}", "theme-with-count_plural": "پوسته {{count}}" } }{ "setting": { "options": "Options", "plugin": "Module", "builtin-plugins": "Modules principaux", "plugin-options": "Options des modules", "folder-path-example-placeholder": "Exemple : dossier1/dossier2", "file-path-example-placeholder": "Exemple : dossier/note", "msg-restart-required": "Changer cette option requiert un redémarrage pour prendre effet", "editor": { "name": "Éditeur", "section-behavior": "Comportement", "section-display": "Affichage", "option-spellcheck": "Vérification orthographique", "option-spellcheck-description": "Active le correcteur orthographique.", "spellcheck-languages": "Langues du correcteur", "spellcheck-languages-description": "Choisir les langues que le correcteur orthographique doit vérifier.", "spellcheck-languages-mac-description": "Le correcteur orthographique natif détectera automatiquement la langue utilisée sur macOS", "spellcheck-dict": "Dictionnaire du correcteur orthographique", "spellcheck-dict-empty": "Le dictionnaire du correcteur orthographique est vide.", "option-show-inline-title": "Afficher le titre comme entête", "option-show-inline-title-description": "Affiche le nom du fichier sous forme d'entête modifiable avec le contenu du fichier.", "option-readable-line-length": "Longueur de ligne lisible", "option-readable-line-description": "Limite la longueur de ligne maximale. Affiche moins de contenu à l'écran mais rend les longs paragraphes plus lisibles.", "option-strict-line-break": "Sauts de ligne stricts", "option-strict-line-break-description": "En mode aperçu, ignore les sauts de ligne selon les spécifications Markdown. Désactiver cette option permet que les sauts de ligne uniques s'affichent en mode aperçu.", "option-properties-in-document": "Propriétés dans les documents", "option-properties-in-document-description": "Choisir comment les propriétés sont affichées dans l'éditeur. Sélectionner \"source\" pour avoir les propriétés affichées comme YAML.", "option-properties-hidden": "Caché", "option-properties-visible": "Visible", "option-properties-source": "Source", "option-auto-pair-brackets": "Association automatique des crochets", "option-auto-pair-brackets-description": "Associe automatiquement les crochets et guillemets.", "option-auto-pair-markdown": "Association automatique de la syntaxe Markdown", "option-auto-pair-markdown-description": "Associe automatiquement les symboles pour : gras, italique, surlignage, soulignement et code.", "option-smart-indent-lists": "Indentation intelligente des listes", "option-smart-indent-lists-description": "Prise en charge automatique de l'indentation des marqueurs de liste.", "option-fold-heading": "Pliage de l'entête", "option-fold-heading-description": "Permet de plier toute la section sous une entête.", "option-fold-indent": "Pliage de l'indentation", "option-fold-indent-description": "Permet de plier des portions d'indentation identique, tels que les listes.", "option-default-new-tab-view": "Mode par défaut pour les nouveaux onglets", "option-default-new-tab-view-description": "Le mode par défaut dans lequel un nouvel onglet Markdown est ouvert.", "option-default-new-tab-view-editing": "Mode édition", "option-default-new-tab-view-reading": "Mode lecture", "option-open-tab-in-foreground": "Toujours focaliser les nouveaux onglets", "option-open-tab-in-foreground-description": "Lorsque vous ouvrez un lien dans un nouvel onglet, basculer immédiatement vers celui-ci.", "option-default-editing-mode": "Mode d'édition par défaut", "option-default-editing-mode-description": "Le mode d'édition par défaut dans un nouveau volet.", "option-default-editing-mode-source": "Mode source", "option-default-editing-mode-live-preview": "Aperçu en direct", "option-show-line-number": "Afficher le numéro de ligne", "option-show-line-number-description": "Afficher le numéro de ligne dans la marge.", "option-indentation-guide": "Afficher les guides d'indentation", "option-indentation-guide-description": "Affiche les lignes verticales pour relier entre elles les puces d'indentation de même niveau afin de fournir un guide visuel.", "option-use-tabs": "Utiliser des tabulations", "option-use-tabs-description": "Utilise des tabulations pour indenter lorsqu'avec la touche \"Tab\". Désactiver cette option pour utiliser des espaces.", "option-tab-size": "Taille de la tabulation", "option-tab-size-description": "Nombre d'espaces auquel une tabulation équivaut.", "option-rtl": "De droite à gauche (RTL)", "option-rtl-description": "Définit la direction du texte des notes à afficher de droite à gauche", "option-auto-convert-html": "Convertir automatiquement le HTML", "option-auto-convert-html-description": "Convertit automatiquement le HTML en Markdown lors du collage et du glisser-déposer à partir de pages Web. Utiliser Ctrl/Cmd + Maj + V pour coller sans mise en forme.", "option-vim-key-bindings": "Raccourcis clavier Vim", "option-vim-key-bindings-description": "Permet d'utiliser les raccourcis clavier Vim en mode éditeur.", "option-vim-key-bindings-mobile": "Sur les mobiles, ce réglage est propre à chaque appareil et n'est pas synchronisé.", "option-reindex-vault": "Reconstruire le cache du coffre", "option-reindex-vault-description": "La reconstruction du cache peut prendre plusieurs secondes à plusieurs minutes suivant la taille du coffre.", "label-reindex": "Reconstruire", "label-confirm-enable-vim": "Confirmer l'entrée en mode Vim", "label-vim-warning": "Le mode Vim permet une édition de texte efficace mais peut être contre-intuitive. Si vous n'êtes pas familier avec Vim, cette option peut donner l'impression qu'Obsidian a cessé de fonctionner.", "label-vim-test": "Pour vérifier que vous connaissez Vim, veuillez entrer la commande pour quitter Vim sans enregistrer ci-dessous : ", "label-vim-your-answer": "Votre réponse", "placeholder-enter-command": "Entrer la commande...", "button-confirm-enable-vim": "Activer Vim", "msg-vim-mode-enabled": "La commande étant correcte, le mode Vim est maintenant activé.", "msg-vim-mode-not-enabled": "La commande étant incorrecte, le mode Vim reste désactivé pour vous protéger.", "msg-vim-mode-please-enter-command": "Entrer la commande pour activer le mode Vim" }, "file": { "name": "Fichiers & Liens", "option-confirm-file-deletion": "Confirmer la suppression du fichier", "option-confirm-file-deletion-description": "Pour recevoir une invite de confirmation à la suppression du fichier.", "option-delete-destination": "Fichiers supprimés", "option-delete-destination-description": "Que faire des fichiers après les avoir supprimés ?", "option-choice-system-trash": "Déplacer vers la corbeille du système", "option-choice-vault-trash": "Déplacer vers la corbeille d'Obsidian (dossier .trash)", "option-choice-permanent-delete": "Supprimer définitivement", "option-always-update-links": "Toujours mettre à jour les liens internes", "option-always-update-links-description": "Mettre à jour automatiquement les liens internes après avoir renommé un fichier.", "option-new-note-location": "Emplacement par défaut de la nouvelle note", "option-new-note-location-description": "Où placer les nouvelles notes. Les paramètres des modules remplaceront ce paramètre.", "option-choice-vault-root": "Racine du coffre", "option-choice-current-folder": "Même dossier que le fichier", "option-choice-specified-folder": "Dans le dossier spécifié ci-dessous", "option-new-file-folder-path": "Dossier dans lequel créer de nouvelles notes", "option-new-file-folder-path-description": "Les nouvelles notes apparaîtront dans ce dossier. Les paramètres des modules primeront en cas de conflit.", "option-use-wiki-links": "Utiliser les [[Wikilinks]]", "option-use-wiki-links-description": "Générer automatiquement des Wikilinks pour les [[liens]] et ![[images]] à la place des liens Markdown et images. Désactiver cette option pour générer automatiquement les liens Markdown.", "option-show-unsupported-files": "Détecter toutes les extensions de fichiers", "option-show-unsupported-files-description": "Afficher les fichiers et leurs extensions, même si Obsidian ne peut pas les ouvrir nativement, afin que vous puissiez les lier et les voir dans l'explorateur de fichiers et le sélecteur rapide.", "option-link-autocompleted-format": "Format des nouveaux liens", "option-link-autocompleted-format-description": "Quel sera le format des liens lors de la génération automatique de liens internes.", "option-choice-shortest-linktext": "Chemin le plus court si possible", "option-choice-relative-path": "Chemin relatif au fichier", "option-choice-absolute-path": "Chemin absolu dans le coffre", "option-new-attachment-location": "Emplacement par défaut des nouvelles pièces jointes", "option-new-attachment-location-description": "Emplacement des pièces jointes nouvellement ajoutées.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "Dans le sous-dossier, sous le dossier actuel", "option-attachment-folder-path": "Chemin du dossier des pièces jointes", "option-attachment-folder-path-description": "Les nouveaux fichiers joints apparaîtront ici. Cela inclut les images créées par glisser-déposer ou collées et les enregistrements audio.", "option-attachment-subfolder-path": "Nom du sous-dossier", "option-attachment-subfolder-path-description": "Si votre dossier est sous \"coffre/dossier\", et votre nom de sous-dossier défini sur \"pièces jointes\", alors les pièces jointes seront enregistrées dans \"coffre/dossier/pièces jointes\".", "option-excluded-files": "Fichiers exclus", "option-excluded-files-desc": "Les fichiers exclus seront soit masqués, soit moins visibles à divers endroits, notamment dans le sélecteur rapide, la suggestion de liens et la vue graphique.", "label-no-excluded-filters-applied": "Aucun filtre d'exclusion n'est appliqué pour le moment. Ajoutez-en un en dessous.", "label-excluded-filters-applied": "Les fichiers correspondant aux filtres suivants sont actuellement exclus : ", "label-excluded-filter": "Filtre", "message-empty-filter": "Le filtre ne peut être vide", "placeholder-excluded-filter": "Entrer un chemin ou un \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Apparence", "option-base-theme": "Thème de base", "option-base-theme-description": "Choisissez le jeu de couleurs par défaut d'Obsidian.", "option-accent-color": "Couleur d'accentuation", "option-accent-color-description": "Choisissez la couleur d'accentuation utilisée dans toute l'application.", "dark-theme": "Sombre", "light-theme": "Clair", "system-theme": "S'adapte automatiquement au système", "option-font": "Police", "option-advanced": "Avancé", "option-interface": "Interface", "option-interface-font": "Police de l'interface", "option-interface-font-description": "Définir la police de base pour tout Obsidian.", "option-zoom-level": "Niveau de zoom", "option-zoom-level-description": "Contrôler le niveau global du zoom de l'application.", "option-text-font": "Police de texte", "option-text-font-description": "Définir la police pour l'édition et l'aperçu.", "option-monospace-font": "Police monospace", "option-monospace-font-description": "Définir la police pour des endroits tels que les blocs de code et de métadonnées.", "label-single-font-currently-in-effect": " Police actuellement utilisée : ", "label-multiple-fonts-currently-in-effect": " Les polices suivantes sont actuellement appliquées :", "option-font-placeholder": "Entrer le nom de la police...", "label-no-custom-font-set": "Aucune police personnalisée n'est appliquée pour le moment. Ajoutez-en une ci-dessous.", "label-font-applied": "La première police de cette liste qui est présente dans votre système sera appliquée.", "msg-font-not-found": "Cette police n'est pas détectée dans votre système.", "msg-font-found": "Cette police est détectée dans votre système.", "label-font-name": "Nom de la police", "option-community-themes": "Ouvrir les thèmes communautaires", "option-community-themes-description": "Prévisualiser et utiliser des thèmes incroyables créés par la communauté.", "button-browse-community-themes": "Parcourir", "option-font-size": "Taille de police", "option-font-size-description": "Taille de police en pixels qui affecte l'éditeur et l'aperçu.", "option-font-size-action": "Réglage rapide de la taille de police ", "option-font-size-action-description": "Ajuster la taille de la police à l'aide de Ctrl + Molette ou à l'aide du geste de zoom par pincement du trackpad.", "option-themes": "Thèmes", "option-manage-themes-description": "Gérer les thèmes installés et parcourir les thèmes de la communauté", "option-theme-button-manage": "Gérer", "option-choice-none": "Aucun", "option-native-menus": "Menus natifs", "option-native-menus-desc": "Les menus de l'application correspondent au système d'exploitation. Ils ne seront pas affectés par votre thème.", "button-reload-themes": "Recharger les thèmes", "msg-reloaded-themes": "Thèmes CSS personnalisés rechargés.", "button-open-themes-folder": "Ouvrir le dossier des thèmes", "option-css-snippets": "Extraits CSS", "label-no-css-snippets-found": "Aucun extrait de code CSS trouvé dans le dossier des extraits de code.", "no-snippet-description": "Les extraits CSS sont stockés dans \"{{path}}\".", "button-reload-snippets": "Recharger les extraits", "button-open-snippets-folder": "Ouvrir le dossier des extraits de code", "msg-reloaded-snippets": "Extraits CSS rechargés.", "option-toggle-snippet-description": "Appliquer l'extrait de code CSS à partir du fichier \"{{path}}\".", "label-installed-themes": "Thèmes installés", "label-screenshot-unavailable": "Capture d'écran indisponible", "label-default-theme": "Défaut", "tooltip-click-to-enlarge": "Cliquer pour agrandir", "button-update": "Mettre à jour", "label-currently-active": "Active", "option-frame-style": "Style du cadre des fenêtres", "option-frame-description": "Détermine le style de la barre de titre des fenêtres Obsidian. Nécessite un redémarrage complet pour prendre effet.", "option-frame-hidden": "Caché (par défaut)", "option-frame-obsidian": "Cadre Obsidian", "option-frame-native": "Cadre natif", "option-custom-icon": "Icône d'app personnalisée", "option-custom-icon-desc": "Définir une icône personnalisée pour l'app", "button-choose-custom-icon": "Choisir une icône personnalisée", "option-configure-ribbon": "Ruban latéral", "option-configure-ribbon-desc": "Configurer les commandes apparaissant dans le ruban latéral de cette barre de navigation.", "option-mobile-quick-ribbon-item": "Élément du ruban d'accès rapide", "option-mobile-quick-ribbon-item-desc": "Taper sur l'élément du ruban dans le menu de navigation activera cet élément. Maintenir appuyer permet d'afficher le menu.", "option-mobile-quick-ribbon-default": "Ouvrir le menu déroulant", "button-configure": "Configurer", "option-show-ribbon": "Afficher le ruban", "option-show-ribbon-desc": "Afficher la barre d'outils verticale sur le côté de la fenêtre.", "label-additional-ribbon-items": "Autres éléments du ruban", "label-modal-configuration": "Configuration du ruban", "label-modal-configuration-desc": "Choisir les éléments que vous voulez activer dans le ruban. Faire un glisser-déposer permet de modifier l'ordre.", "option-show-view-header": "Afficher la barre de titre des onglets", "option-show-view-header-desc": "Afficher le menu d'entête en amont de chaque onglet.", "msg-updates-found": "Trouvé {{count}} thèmes à mettre à jour.", "msg-updates-found_plural": "Trouvé {{count}} thèmes à mettre à jour.", "button-check-for-updates": "Rechercher les mises à jour", "button-view-updates": "Afficher les mises à jour", "button-update-all-themes": "Tout mettre à jour", "label-current-themes": "Thème communautaire actuel", "label-currently-installed": "Vous avez actuellement {{count}} thème installé.", "label-currently-installed_plural": "Vous avez actuellement {{count}} thèmes installés." }, "hotkeys": { "name": "Raccourcis clavier", "option-search": "Rechercher des raccourcis clavier", "option-search-desc": "Affichage de {{count}} raccourci clavier.", "option-search-desc_plural": "Affichage de {{count}} raccourcis clavier.", "option-search-conflict": "{{count}} commande avec des conflits.", "option-search-conflict_plural": "{{count}} commandes avec des conflits.", "prompt-filter": "Filtrer...", "tooltip-delete-hotkey": "Supprimer le raccourci clavier", "label-waiting-for-hotkey-press": "Appuyer sur la touche de raccourci...", "label-show-all": "Tous", "label-show-unassigned": "Non-assignés", "label-show-assigned": "Assignés", "label-show-user-assigned": "Assignés par moi-même", "tooltip-restore-default": "Restaurer par défaut", "tooltip-customize-command": "Personnaliser la commande", "tooltip-hotkey-single-conflict": "Ce raccourci clavier est en conflit avec \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Ce raccourci clavier est en conflit avec {{count}} autres commandes", "label-blank-hotkey": "Indéfini" }, "about": { "name": "Général", "label-commercial-license": "Licence commerciale", "label-license-key": "Clé de licence", "license-key-placeholder": "Votre clé de licence...", "label-activate-license": "Activer une licence", "button-activate": "Activer", "label-unknown-version": "Inconnue", "label-current-version": "Version actuelle : ", "label-install-version": "(Version de l'installateur : {{version}})", "label-up-to-date": "Votre application est à jour !", "label-read-changelog": "Lire le journal des modifications.", "label-manual-update-required": "Pour profiter des dernières fonctionnalités et recevoir les derniers correctifs de sécurité, Obsidian nécessite une mise à jour majeure de son installateur. Vous devez télécharger et réinstaller Obsidian manuellement.", "label-new-version-ready": "Une nouvelle version est prête à être installée.", "label-disabled-updates": "Les mises à jour sont désactivées.", "button-relaunch": "Relancer", "button-check-for-updates": "Rechercher les mises à jour", "option-auto-update": "Mises à jour automatiques", "option-auto-update-description": "Désactiver pour empêcher l'application de chercher les mises à jour.", "option-check-slow-startup": "Alerter si le démarrage est plus long que prévu", "option-check-slow-startup-description": "Détectez les dysfonctionnements en analysant les motifs de lenteurs.", "button-check-startup": "Vérifier maintenant", "option-get-help": "Obtenir de l'aide", "option-get-help-description": "Obtenir de l'aide sur l'utilisation d'Obsidian", "button-open": "Ouvrir", "option-language": "Langue", "option-language-description": "Changer la langue d'affichage.", "option-insider-build": "Recevoir les pré-versions (Insider)", "option-insider-build-description": "Mise à jour automatique sur des pré-versions pour essayer des nouvelles fonctionnalités. Notez que ces versions peuvent être moins stables.", "option-advanced": "Avancé", "option-hw-acceleration": "Accélération matérielle", "option-hw-acceleration-description": "Active l'accélération matérielle. Utilise votre GPU pour rendre Obsidian plus fluide.", "option-hw-acceleration-warning": "Si vous désactivez cette option, les performances de l'application seront sévèrement dégradées.", "option-config-location": "Modifier le dossier de configuration", "option-config-location-description": "Utiliser un dossier de configuration différent de celui par défaut. Il doit commencer par un point.", "option-config-location-warning": "L'emplacement de configuration doit être un nom de dossier valide commençant par un point.", "label-license": "Licence", "label-your-commercial-license-key": "Votre clé commerciale est : \"{{key}}\".", "label-commercial-license-info": "Enregistré à \"{{company}}\" pour {{seats}} utilisateurs. Valable jusqu'au {{expiry}}.", "label-validating-commercial-license": "Validation en cours...", "label-invalid-commercial-license": "Licence invalide : ", "button-remove-commercial-license": "Supprimer", "option-catalyst": "Licence Catalyst", "option-catalyst-desc": "Vous avez actuellement la licence {{tier}} Catalyst. Merci pour votre soutien !", "option-catalyst-desc-no-license": "Vous n'avez pas de licence Catalyst pour le moment. La licence Catalyst est un don unique pour soutenir le développement d'Obsidian.", "label-app": "Application", "label-add-own-language": "Voir comment ajouter votre langue à Obsidian." }, "account": { "name": "Compte", "option-your-account": "Votre compte", "option-your-account-desc": "Vous êtes actuellement connecté avec {{name}} ({{email}}).", "option-your-account-desc-no-login": "Vous n'êtes pas connecté pour le moment. Un compte n'est nécessaire que pour Obsidian Sync, Obsidian Publish et préversions Catalyst.", "label-insider": "insider", "label-supporter": "supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Mise à niveau", "option-commercial-license": "Licence commerciale", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Acheter", "button-log-out": "Se déconnecter", "label-log-in": "Se connecter", "label-sign-up": "S'inscrire", "label-email": "Adresse électronique", "placeholder-email": "Votre adresse électronique...", "label-name": "Nom complet", "label-password": "Mot de passe", "placeholder-password": "Votre mot de passe...", "label-forgot-password": "Mot de passe oublié ?", "button-login": "Se connecter", "message-empty-email": "L'adresse électronique ne peut pas être vide.", "message-invalid-email": "L'adresse électronique est invalide.", "message-empty-password": "Le mot de passe ne peut pas être vide.", "message-login-failed": "Échec de connexion, merci de vérifier à nouveau l'adresse électronique et le mot de passe.", "message-signup-failed": "Inscription échouée", "label-no-account": "Vous n'avez pas de compte ? ", "link-sign-up-now": "S'inscrire maintenant", "label-mfa-code": "Code 2FA à six chiffres", "mfa-wrong-format": "Le code de double authentification doit contenir 6 chiffres.", "mfa-verification-failed": "Code 2FA incorrect, veuillez vérifier votre application d'authentification." }, "core-plugin": { "plugin-list": "Liste des modules principaux", "option-search-plugin": "Rechercher parmi les modules principaux", "option-search-plugin-description": "Filtrer les modules par nom ou description.", "placeholder-search-plugin": "Rechercher parmi les modules..." }, "third-party-plugin": { "name": "Modules complémentaires", "option-restricted-mode": "Mode restreint", "option-restricted-mode-description": "Le mode restreint est désactivé. Activez cette option pour désactiver les modules complémentaires.", "button-turn-on": "Activer", "option-browse-community-plugins": "Modules complémentaires", "option-browse-community-plugins-description": "Parcourir et installer des modules complémentaires créés par notre formidable communauté...", "button-browse": "Parcourir", "label-exit-restricted-mode": "Quitter le mode restreint", "label-exit-restricted-mode-description-1": "Les modules complémentaires, comme tout autre logiciel que vous installez, peuvent potentiellement causer des problèmes d'intégrité et de sécurité des données.", "label-exit-restricted-mode-description-2": "La sécurité des modules est importante pour nous. Voici ce que nous faisons :", "label-exit-restricted-mode-description-3": "Malgré nos efforts, il existe toujours une petite chance qu'un module complémentaire se comporte mal.", "label-code-review": "Examen initial du code", "label-code-review-desc": "Les modules sont soumises à un examen initial du code par notre équipe avant d'apparaître dans la boutique.", "label-open-source": "Open source", "label-open-source-desc": "La plupart des modules sont open source sur GitHub, ce qui vous permet d'inspecter le code vous-même.", "label-peer-audit": "Audit par des pairs", "label-peer-audit-desc": "Nous avons une grande communauté de développeurs qui veillent les uns sur les autres.", "label-report-mechanism": "Dispositif de rapport", "label-report-mechanism-desc": "Nous assurons le suivi et le retrait des modules défectueux sur signalement de l'utilisateur.", "label-exit-restricted-mode-disable-confirmation": "Souhaitez-vous quitter le mode restreint pour activer les modules complémentaires ? Nous vous recommandons vivement de faire des sauvegardes de vos données avant de le faire.", "label-learn-more": "En savoir plus sur la sécurité des modules", "button-turn-on-community-plugins": "Activer les modules complémentaires", "label-trust-author": "Faites-vous confiance à l'auteur de ce coffre ?", "label-trust-author-description-1": "Vous ouvrez ce coffre pour la première fois, et il est livré avec quelques modules.", "label-trust-author-description-2": "Si vous avez obtenu ce coffre de quelqu'un d'autre, veuillez noter que les modules d'origines inconnues peuvent présenter des risques pour la sécurité.", "label-trust-author-description-3": "Si vous ne faites pas entièrement confiance à l'auteur de ce coffre, nous vous recommandons de rester en mode restreint, afin que les modules de ce coffre ne s'exécutent pas.", "button-enable-plugins": "Faites confiance à l'auteur et activez les modules", "button-dont-trust-author": "Parcourir le coffre en mode restreint", "placeholder-community-plugins": "Recherche de modules complémentaires...", "msg-failed-load-plugins": "Impossible de charger les modules complémentaires.", "label-installed": "Installé", "button-install": "Installer", "button-enable": "Activer", "button-disable": "Désactiver", "button-copy-share-link": "Copier le lien de partage", "button-donate": "Faire un don", "label-no-results-found": "Aucun résultat trouvé.", "label-no-recent-files-found": "Aucun fichier récent trouvé. Tapez pour rechercher...", "msg-failed-to-load-manifest": "Échec du chargement du manifeste du module.", "label-version": "Version : {{version}}", "label-currently-installed-version": " (actuellement installée : {{version}})", "label-by-author": "Par ", "label-repository": "Dépôt : ", "label-last-update": "Dernière mise à jour : ", "tooltip-view-last-update": "Voir la dernière mise à jour", "label-unsupported": "Ce module complémentaire ne prend pas en charge cet appareil.", "button-update": "Mise à jour", "label-no-readme": "Ce module complémentaire n'a pas fourni de fichier README.", "msg-installing-plugin": "Installation du module \"{{name}}\"...", "msg-failed-to-install-plugin": "Échec de l'installation du module \"{{name}}\".", "msg-successfully-installed-plugin": "Le module \"{{name}}\" a été installé avec succès.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Modules installés", "button-reload-plugins": "Recharger les modules complémentaires", "msg-reloaded-third-party-plugins": "Modules complémentaires rechargés.", "label-uninstall": "Désinstaller", "label-uninstall-plugin": "Désinstaller le module complémentaire", "label-uninstall-plugin-confirmation": "Êtes-vous sûr de vouloir désinstaller ce module ? Cela supprimera aussi son dossier.", "button-open-plugins-folder": "Ouvrir le dossier des modules complémentaires", "button-check-for-updates": "Rechercher les mises à jour", "button-update-all-plugins": "Tout mettre à jour", "label-current-plugins": "Modules actuels", "label-currently-installed": "Il y a {{count}} module installé.", "label-currently-installed_plural": "Il y a {{count}} modules installés.", "msg-no-updates-found": "Aucune mise à jour de module complémentaire trouvée.", "msg-updates-found": "{{count}} module peut être mis à jour.", "msg-updates-found_plural": "{{count}} modules peuvent être mis à jour.", "msg-update-plugin": "Mettre à jour vers la version {{version}}", "option-search-installed-plugin": "Rechercher dans les modules installés", "option-search-installed-plugin-description": "Filtrer les modules installés par nom ou par description", "placeholder-search-installed-plugin": "Rechercher les modules installés...", "show-installed-only": "Afficher uniquement les modules installés", "label-donate-modal-title": "Faire un don pour soutenir {{name}}", "label-donate-modal-text1": "Les développeurs de modules sont des bénévoles de la communauté qui réalisent des trucs incroyables par passion. Si vous trouvez ce module utile, veuillez envisager de faire un don pour soutenir son développement.", "label-donate-modal-text2": "100% des dons iront directement au développeur du module ; Obsidian ne prend pas de commission. La plateforme de financement qu'ils choisissent peut prélever des frais de transaction.", "label-donate-modal-text3": "Merci pour votre généreux soutien !", "label-support-this-plugin": "Soutenir ce module :", "label-search-summary": "Affichage de {{pluginCount}} : ", "label-by-popularity": "Les plus téléchargés", "label-by-released": "Récemment publiés", "label-by-updated": "Récemment mis à jour", "label-alphabetical": "Alphabétique", "label-last-updated": "Mise à jour {{time}}" }, "mobile-toolbar": { "name": "Barre d'outils mobile", "option-configure-quick-action": "Configurer l'action rapide", "option-configure-quick-action-description": "Configure la commande à déclencher lorsque vous tirez du haut vers le bas. La commande actuelle est définie sur \"{{command}}\".", "msg-missing-quick-action": "Action non configurée", "button-configure": "Configurer", "placeholder-select-quick-action": "Sélectionner l'action rapide...", "quick-action-disabled": "Aucun", "manage-toolbar-options": "Gérer les options de la barre d'outils", "option-internal-link": "Ajouter un lien interne", "option-internal-embed": "Intégrer un aperçu", "option-tag": "Ajouter un mot-clé", "option-heading": "Basculer l'entête", "option-strikethrough": "Mettre en barré", "option-highlight": "Mettre en surbrillance", "option-code": "Basculer en code", "option-blockquote": "Basculer en bloc de citation", "option-inline-math": "Basculer en ligne mathématique", "option-math-block": "Basculer en bloc mathématique", "option-markdown-link": "Ajouter un lien Markdown", "option-bullet-list": "Basculer en liste à puces", "option-numbered-list": "Basculer en liste numérotée", "option-indent-list": "Indenter l'item de liste", "option-unindent-list": "Désindenter l'item de liste", "option-undo": "Annuler", "option-redo": "Rétablir", "option-move-caret-up": "Déplacer le curseur vers le haut", "option-move-caret-down": "Déplacer le curseur vers le bas", "option-move-caret-left": "Déplacer le curseur vers la gauche", "option-move-caret-right": "Déplacer le curseur vers la droite", "option-first-line": "Aller à la première ligne", "option-last-line": "Aller à la dernière ligne", "option-toggle-keyboard": "Basculer le clavier", "option-configure-toolbar": "Configurer la barre d'outils mobile", "option-added-options": "Options ajoutées", "option-more-toolbar-options": "Plus d'options de barre d'outils", "option-attach": "Insérer une pièce jointe", "option-add-command": "Ajouter une commande globale", "option-add-command-description": "Sélectionner une commande globale à ajouter à la barre d'outils." } }, "editor": { "search": { "placeholder-find": "Chercher", "placeholder-replace": "Remplacer", "label-exit-search": "Quitter la recherche", "label-next": "Suivant", "label-previous": "Précédent", "label-find-all": "Trouver tout", "label-replace": "Remplacer", "label-replace-all": "Remplacer tout" }, "link-suggestion": { "label-type-hash": "Saisir #", "label-link-heading": "pour lier l'entête", "label-type-block": "Saisir ^", "label-link-block": "pour lier les blocs", "label-type-pipe": "Saisir |", "label-change-display-text": "pour changer le texte d'affichage", "label-no-alias": "Affichier texte", "label-no-heading": "Entête", "label-no-match-found": "Aucune correspondance trouvée", "label-image-size": "Taille image : largeur {{size}} px", "label-accept": "pour accepter", "label-new-footnote": "Nouvelle note de bas de page." }, "spellcheck": { "no-suggestion": "Aucune suggestion...", "add-to-dictionary": "Ajouter au dictionnaire" }, "menu": { "edit-link": "Modifier le lien", "edit-tag": "Editer le tag", "label-edit-block": "Modifier ce bloc", "label-delete-footref-and-note": "Supprimer pied de page et référence" }, "heading-suggestion": { "label-no-heading": "Aucun entête", "label-heading-level": "Entête {{level}}" }, "print-modal": { "title": "Exporter au format PDF", "caption": "Exporter \"{{filename}}\" au format PDF avec les réglages ci-dessous.", "setting-page-size": "Format de la page", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal US", "setting-page-size-letter": "Lettre US", "setting-page-size-tabloid": "Tabloïd", "setting-include-file-name": "Inclure le nom du fichier comme entête", "setting-landscape": "Paysage", "setting-margin": "Marge", "setting-margin-default": "Défaut", "setting-margin-minimal": "Minimale", "setting-margin-none": "Aucune", "setting-downscale-percent": "Mise à l'échelle", "button-export-to-pdf": "Exporter au format PDF" }, "link-popover": { "tooltip-follow-link": "Suivre le lien", "tooltip-open-link": "Ouvrir le lien", "tooltip-search-tag": "Mot-clé de recherche" } }, "interface": { "embed-cannot-find": "Impossible de trouver :", "label-unable-to-find-section": "Impossible de trouver “{{subpath}}” dans {{file}}", "embed-open-in-default-app-tooltip": "Ouvrir avec l'application par défaut", "empty-sidebar": "La barre latérale est vide, essayez de faire glisser un volet ici.", "sidebar-expand": "Développer", "sidebar-collapse": "Réduire", "msg-fail-to-save-file": "Échec de l'enregistrement du fichier \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Echec de chargement du module “{{plugin}}”", "msg-plugin-error": "Erreur lors du chargement du module “{{plugin}}”", "msg-failed-to-load-file": "Impossible d'ouvrir “{{filepath}}”", "msg-failed-to-open-href": "Impossible d'ouvrir l'emplacement “{{href}}”", "no-file": "Pas de fichier", "msg-file-changed": "\"{{file}}\" a été modifié hors de l'application. Fusion automatique des modifications.", "switch-vault": "Ouvrir un autre coffre", "manage-vaults": "Gérer les coffres...", "help": "Aide", "settings": "Paramètres", "drag-to-rearrange": "Glisser pour réorganiser", "msg-switched-to-read": "Mode d'affichage par défaut basculé sur Aperçu.", "msg-switched-to-edit": "Mode d'affichage par défaut basculé sur Éditeur.", "msg-upgrade-installer": "Pour utiliser cette fonctionnalité, merci de réinstaller Obsidian avec le dernier programme d'installation disponible sur notre site web.", "msg-slow-boot": "Chargement lent détecté.", "msg-desktop-only-feature": "Cette fonction n'est disponible que dans l'app de bureau.", "tooltip-restore-default-settings": "Restaurer les paramètres par défaut", "label-copy": "Copier dans le presse-papier", "label-copy-short": "Copier", "copied_generic": "Copié dans votre presse-papier", "copied": "{{item}} copié dans le presse-papier", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filtrer...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Fichier ouvert \"{{path}}\"", "msg-file-not-found-through-uri": "Le fichier \"{{name}}\" n'a pas été trouvé.", "delete-action-short-name": "Supprimer", "msg-indexing": "Obsidian indexe votre coffre...\nCela ne devrait se produire qu'une seule fois.\nCertaines fonctionnalités peuvent ne pas être disponibles tant que le processus n'est pas terminé.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indexation terminée.", "msg-sandbox-vault": "C'est un coffre test.\nLes modifications faites dans ce coffre seront perdues.", "msg-indexed-db-not-supported": "IndexedDB est nécessaire pour cette fonction, mais est désactivée.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Entrer pour créer", "label-update-available": "Mise à jour disponible", "label-debug-info": "Infos de débogage", "button-learn-more": "En savoir plus", "button-not-now": "Pas maintenant", "button-add": "Ajouter", "button-manage": "Gérer", "label-new-tab": "Nouvel onglet", "option-hide-ribbon": "Masquer le ruban", "msg-tab-busy": "Cet onglet est actuellement occupé, veuillez réessayer plus tard.", "formatting": { "label-formatting": "Formater", "label-paragraph": "Paragraphe", "label-insert": "Insérer", "insert-link": "Ajouter un lien", "insert-external-link": "Ajouter un lien externe", "insert-callout": "Mise en avant", "insert-horizontal-rule": "Ligne horizontale", "insert-code-block": "Bloc de code", "insert-math-block": "Bloc mathématiques", "insert-table": "Tableau", "insert-footnote": "Footnote", "toggle-bold": "Gras", "toggle-code": "Code", "toggle-comments": "Commentaire", "toggle-highlight": "Surligner", "toggle-italics": "Italique", "toggle-strikethrough": "Barré", "toggle-math": "Mathématiques", "toggle-bullet-list": "Liste à puces", "toggle-checklist": "Liste de tâches", "toggle-numbered-list": "Liste numérotée", "set-heading": "Titre {{level}}", "no-heading": "Corps", "clear": "Supprimer le formatage", "toggle-quote": "Citation" }, "empty-state": { "no-file-open": "Aucun fichier n'est ouvert", "create-new-file": "Créer un nouveau fichier", "go-to-file": "Aller au fichier", "see-recent-files": "Voir les fichiers récents", "close": "Fermer", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Le module complémentaire n'est plus actif.", "unknown-pane-desc": "Le module complémentaire qui créait ce volet ({{type}}) a disparu." }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Éditer (Ctrl/Cmd + Clic pour éditer dans un nouveau volet)", "read-view": "Mode actuel : Aperçu", "ribbon": "Ruban", "left-sidebar": "Barre latérale de gauche", "right-sidebar": "Barre latérale de droite", "switch-to-edit-view": "Cliquer pour modifier", "switch-to-read-view": "Cliquer pour lire", "mod-click-open-new-tab": "{{key}}+Clique pour ouvrir dans un nouvel onglet", "find": "Chercher...", "replace": "Remplacer...", "edit": "Éditer", "remove": "Supprimer", "rename": "Renommer", "preview": "Aperçu", "more-options": "Plus d'options", "close": "Fermer", "close-all": "Fermer tout", "close-tabs-with-count": "Fermer {{count}} onglet", "close-tabs-with-count_plural": "Fermer {{count}} onglets", "close-others": "Fermer les autres", "close-after": "Fermer les onglets après", "pin": "Épingler", "unpin": "Désépingler", "unlink-tab": "Délier l'onglet", "link-tab": "Lier avec l'onglet...", "toggle-source-mode": "Mode source", "toggle-reading-view": "Mode lecture", "add-property": "Ajouter des propriétés de fichier", "delete-file": "Supprimer le fichier", "create-file": "Créer ce fichier", "open-link": "Ouvrir le lien", "open-in-new-tab": "Ouvrir dans un nouvel onglet", "open-to-the-right": "Ouvrir vers la droite", "copy-url": "Copier le lien", "copy": "Copier", "cut": "Couper", "paste": "Coller", "paste-as-plain-text": "Coller en texte brut", "lookup-selection": "Recherchez “{{selection}}”", "select-all": "Tout sélectionner", "rename-heading": "Renommer cet entête...", "rename-blockid": "Renommer cet ID de bloc...", "open-in-new-window": "Ouvrir dans une nouvelle fenêtre", "move-to-new-window": "Déplacer dans une nouvelle fenêtre", "open-in-browser": "Ouvrir dans le navigateur", "stack-tabs": "Empiler les onglets", "unstack-tabs": "Désempiler les onglets", "open-linked-view": "Ouvrir la vue liée" }, "tooltip": { "click-to-expand": "Cliquer pour afficher", "click-to-collapse": "Cliquer pour réduire", "alias": "Alias", "not-created-yet": "Pas encore créé, cliquer pour créer" }, "start-screen": { "label-version": "Version", "label-create-local-vault": "Créer un coffre local", "option-open-folder-as-vault": "Ouvrir un dossier comme coffre", "option-open-folder-as-vault-description": "Choisir un dossier de fichiers Markdown existant.", "option-create-vault": "Créer un nouveau coffre", "option-create-vault-description": "Crée un nouveau coffre Obsidian dans un dossier.", "option-connect-obsidian-sync": "Se connecter à Obsidian Sync", "option-connect-obsidian-sync-description": "Configure un coffre synchronisé avec un coffre distant existant.", "option-new-vault-name": "Nom du coffre", "option-new-vault-name-description": "Choisir un nom pour votre superbe coffre.", "option-new-vault-location": "Emplacement", "option-new-vault-location-description": "Choisir un emplacement où mettre votre nouveau coffre.", "label-new-vault-location-preview": "Votre nouveau coffre sera placé dans : ", "option-reveal-vault-in-explorer": "Révéler le coffre dans l'explorateur système", "option-reveal-vault-in-explorer-mac": "Révéler le coffre dans le Finder", "option-rename-vault": "Renommer le coffre...", "option-copy-vault-i-d": "Copier l'ID du coffre", "msg-error-rename-exists": "Il y a déjà un coffre avec ce nom.", "msg-error-nested": "Impossible de déplacer le coffre dans un de ses sous-dossiers.", "msg-error-rename-open": "Impossible de renommer un coffre actuellement ouvert.", "msg-rename-failed": "Échec du renommage du coffre.", "msg-rename-success": "Le coffre a été renommé avec succès.", "option-move-vault": "Déplacement du coffre...", "msg-move-select-dest": "Sélectionner le dossier de destination", "msg-error-move-exists": "Il y a déjà un coffre dans le dossier de destination.", "msg-error-move-open": "Impossible de déplacer un coffre actuellement ouvert.", "msg-move-failed": "Échec du déplacement du coffre.", "msg-move-success": "Le coffre a été déplacé avec succès.", "option-remove": "Supprimer de la liste", "button-quick-start": "Démarrage rapide", "button-open": "Ouvrir", "button-browse": "Parcourir", "button-connect": "Connecter", "button-create-vault": "Créer", "button-back": "Retour", "msg-empty-vault-name": "Le nom du coffre ne peut pas être vide.", "msg-trailing-dot-vault-name": "Le nom du coffre ne peut pas finir par un point.", "msg-invalid-folder": "Merci de choisir un dossier valide.", "msg-failed-to-create-vault": "Échec de la création du coffre.", "msg-failed-to-create-vault-at-location": "Impossible de créer le coffre à cet emplacement. Merci de vérifier l'emplacement et ses permissions d'accès.", "msg-error-failed-to-open-vault": "Échec de l'ouverture.", "msg-error-remove-current-open-vault": "Impossible de supprimer un coffre en cours d'utilisation.", "option-get-help": "Obtenir de l'aide", "option-user-email": "Adresse électronique", "placeholder-your-email": "Votre adresse électronique...", "option-user-password": "Mot de passe", "placeholder-your-password": "Votre mot de passe...", "button-sign-in": "Connexion", "button-setup": "Configuration", "option-connect-vault-desc": "Créez un coffre synchronisé sur cet appareil.", "tooltip-own-vault": "Il s'agit d'un coffre distant dont vous êtes le propriétaire.", "tooltip-shared-vault": "Il s'agit d'un coffre distant partagé avec vous.", "mobile": { "label-start-screen": "Vos pensées sont les vôtres.", "label-synced": "Synchronisé", "label-not-synced": "Non synchronisé", "label-none": "Aucun", "label-recommended": "Recommendé", "label-start-screen-desc": "Obsidian enregistre les notes sur votre appareil, afin que vous puissiez y accéder rapidement et de manière privée, même hors ligne.\nVos données sont enregistrées dans un dossier local sécurisé appelé **coffre**.", "option-create": "Créer un coffre", "option-use-existing": "Utiliser mon coffre existant", "label-sync-intro": "Pour accéder à vos notes sur d'autres appareils vous devez paramétrer la synchronisation.", "label-sync-intro-desc": "Obsidian enregistrant vos notes sur vos appareils, vous devez activer la synchronisation si vous voulez accéder à vos notes sur un autre appareil.\nVous pouvez paramétrer la synchronisation maintenant, ou commencer à écrire et la paramétrer plus tard.", "option-setup-sync": "Paramétrer Sync", "option-skip": "Passer pour l'instant", "option-skip-short": "Skip", "label-vault-create": "Choisir un nom pour votre coffre.", "button-create": "Créer un coffre", "label-sync-setup": "Paramétrage de Sync", "label-sync-setup-desc": "Créer un coffre synchronisé sur votre compte Obsidian pour que vous puissiez accéder à vos données depuis d'autres appareils.", "label-remote-vault-create": "Chiffrement Sync", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Paramètres Sync", "label-sync-settings-desc": "Voulez-vous exclure des dossiers ou fichiers lors de la synchronisation sur cet appareil ?", "button-start": "Début de synchronisation", "label-sign-in-or-sign-up": "Créez un compte Obsidian ou connectez-vous", "option-sign-up": "Créez un compte", "option-sign-in": "Connectez-vous", "button-resend-email": "Envoyer un nouveau mail", "label-remote-vault-options": "Vous avez des coffres synchronisés", "label-remote-vault-options-desc": "Voulez-vous créer un nouveau coffre ou exister un coffre synchronisé existant ?", "option-remote-create": "Créer un nouveau coffre synchronisé", "option-remote-choose": "Choisir un coffre existant", "button-logout": "Se déconnecter", "button-forgot-password": "Mot de passe oublié", "label-vault-name": "Nom du coffre", "label-vault-location": "Emplacement du coffre", "label-vault-location-desc": "Votre nouveau coffre sera placé dans {{vaultLocation}}", "label-region-selection": "Région", "label-region-selection-help": "Choisir une région de serveur proche de vous pour accélérer la synchronisation.", "label-encryption-key": "Clé de chiffrement", "label-encryption-key-help": "Ce mot de passe ne peut pas être modifié par la suite. Si vous oubliez votre mot de passe, toute donnée distant sur les serveur Sync sera définitivement perdue.", "placeholder-vault-name": "Mon coffre", "opt-region-selection-automatic": "Automatique", "label-remote-vault-selection": "Choisir un coffre", "label-remote-vault-selection-desc": "Votre compte **{{email}}** dispose déjà de coffres auxquels vous pouvez vous connecter.", "label-sign-in": "Connectez-vous à votre compte Obsidian", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choisissez comment synchroniser vos notes", "label-sync-method-selection-desc": "Pour utiliser Obsidian sur vos appareils vous devrez synchroniser vos données.", "label-sync-pro1": "De manière transparente sur tous les équipements et systèmes d'exploitation.", "label-sync-pro2": "Sécurisé avec les standards les plus élevés de chiffrement point à point.", "label-sync-pro3": "Nécessite un compte Obsidian.", "label-icloud-con1": "Uniquement pour iOS et macOS.", "label-icloud-con2": "Non chiffré par défaut.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Utiliser Obsidian Sync", "opt-use-icloud": "Utiliser iCloud", "opt-use-other": "Utiliser un tiers de synchronisation", "opt-learn-other-sync": "Autres méthodes de synchronisation", "opt-use-supported": "Utiliser des méthodes de synchronisation prises en charge", "label-sync-restore": "Où est situé votre coffre ?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Autre", "label-other-sync": "Third-party sync", "label-local-folder": "Sur cet appareil", "option-connect-icloud": "Connecté à iCloud", "option-connect-other": "Connecté à un autre service de synchronisation", "option-connect-sync": "Connecté à Obsidian Sync", "option-connect-local-folder": "Choisir un dossier", "label-sync-other": "Autres méthodes de synchronisation", "label-sync-other-desc": "Obsidian supporte de manière officielle deux méthodes de synchronisation : **Obsidian Sync** et **iCloud**.\nCependant, car Obsidian vous donne le contrôle sur vos données, il existe d'autres options de synchronisation que vous pouvez utiliser.\nCes options comprennent des modules tiers et autres outils qui peuvent demander un paramétrage plus avancé.\nPour utiliser une méthode alternative de synchronisation, **créez un coffre** et suivez les instructions fournies par le module ou le fournisseur tiers de synchronisation.", "label-email-entry": "Entrez votre email", "label-email-entry-desc": "Votre email est nécessaire pour créer un compte Obsidian.", "label-signup": "Entrez votre nom et mot de passe", "email-verification": "Se connect à Obsidian Sync", "email-verification-desc": "Vous devriez bientôt recevoir un email pour **{{email}}** avec des instructions pour vous connecter à Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Votre coffre iCloud n'a pas été détecté. Cela peut être dû aux raisons suivantes :", "icloud-missing-reason1": "Votre coffre est sur un compte iCloud différent de celui avec lequel vous êtes connecté sur cet appareil.", "icloud-missing-reason2": "Votre coffre n'est pas enregistré sur votre répertoire Obsidian de premier rang de votre lecteur iCloud.", "i-cloud-unsupported": "iCloud non pris en charge", "i-cloud-unsupported-desc": "La synchronisation iCloud n'est disponible que sur les appareils Apple. Si votre coffre se synchronise actuellement via iCloud, apprenez à migrer votre coffre vers un autre service de synchronisation.", "allow-file-access": "Allow file access", "msg-login-pending": "En cours de connexion à...", "msg-name-required": "Le nom du coffre est requis", "msg-new-email-success": "Nouvel email de confirmation envoyé.", "msg-new-email-failure": "Echec dans le nouvel envoi de l'email.", "msg-invalid-vault": "L'emplacement du coffre doit être un dossier." } }, "starter-content": { "welcome-filename": "Bienvenue", "welcome-file-content": "Voici votre nouveau *coffre*.\n\nNotez quelque chose, [[créez un lien]], ou essayez [l'importateur](https://help.obsidian.md/Plugins/Importer)!\n\nLorsque vous serez prêt, supprimez cette note et faites ce coffre vôtre." }, "drag-and-drop": { "insert-link-here": "Insérer le lien ici", "insert-links-here": "Insérer des liens ici", "move-into-folder": "Déplacer dans \"{{folder}}\"", "star-this-file": "Ajouter ce fichier aux favoris", "star-these-files": "Ajouter ces fichiers aux favoris", "open-in-this-tab": "Ouvrir dans cet onglet", "open-as-tab": "Ouvrir comme nouvel onglet" }, "window": { "maximize": "Maximiser", "minimize": "Minimiser", "restore-down": "Restaurer", "close-window": "Fermer la fenêtre", "go-back": "Précédent", "go-forward": "Suivant" }, "start-up": { "loading-obsidian": "Chargement d'Obsidian", "obsidian-load-error": "Une erreur s'est produite lors du chargement d'Obsidian.", "button-reload-app": "Recharger l'application", "button-reload-app-in-safe-mode": "Relancer l'app en mode sans échec", "button-open-another-vault": "Ouvrir un autre coffre", "loading-plugins": "Chargement des modules...", "msg-plugin-hang": "Le module “{{plugin}}” prend du temps à se charger. ", "loading-vault": "Chargement du coffre...", "msg-failed-to-load-vault": "Échec du chargement du coffre : ", "loading-cache": "Chargement du cache...", "loading-workspace": "Chargement de l'espace de travail..." }, "mobile": { "action-import": "Importer dans le coffre", "action-insert-text-desc": "Ajouter du texte à un fichier :", "action-choose-file-to-insert": "Choisir un fichier à insérer ", "action-insert-text-into-file": "Insérer du texte dans {{filename}}", "action-insert-link-into-file": "Insérer le lien dans {{filename}}", "action-show-switcher": "Afficher la vue des onglets", "msg-importing": "Importation...", "msg-import-success": "Importation réussie", "msg-failed-to-import-file": "Échec de l'importation du fichier {{filename}}", "msg-back-again-to-exit": "Appuyez à nouveau sur la touche retour pour sortir.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Site officiel du support", "label-official-help-site-desc": "Lisez la documentation d'aide officielle d'Obsidian, disponible en plusieurs langues.", "action-visit": "Visiter", "label-discord-chat": "Discussion sur Discord", "label-discord-chat-desc": "Discord est le meilleur endroit pour discuter avec d'autres utilisateurs expérimentés d'Obsidian dans le monde entier.", "action-join": "Rejoindre", "label-forum": "Forum officiel", "label-forum-desc": "Aidez-vous les uns les autres, postez des demandes de fonctionnalités, signalez les bogues et ayez des discussions approfondies sur la gestion des connaissances.", "label-sandbox-vault": "Coffre de test", "label-sandbox-vault-desc": "Jouez et expérimentez avec les différentes fonctionnalités. Notez que vos modifications ne seront pas enregistrées." } }, "commands": { "save-file": "Enregistrer le fichier courant", "download-attachments": "Télécharger les pièces jointes pour le fichier actuel", "follow-cursor-link": "Suivre le lien sous le curseur", "open-cursor-link-in-new-tab": "Ouvrir le lien sous le curseur dans un nouvel onglet", "open-cursor-link-to-the-right": "Ouvrir le lien sous le curseur vers la droite", "open-cursor-link-in-new-window": "Ouvrir le lien sous le curseur dans une nouvelle fenêtre", "navigate-tab-above": "Focus sur le groupe d'onglets ci-dessus", "navigate-tab-below": "Focus sur le groupe d'onglets ci-dessous", "navigate-tab-left": "Focus sur le groupe d'onglets vers la gauche", "navigate-tab-right": "Focus sur le groupe d'onglets vers la droite", "toggle-pin": "Basculer l'épingle", "split-right": "Fractionner vers la droite", "split-down": "Fractionner vers le bas", "toggle-stacked-tabs": "Faire basculer les onglets empilés", "navigate-back": "Naviguer en arrière", "navigate-forward": "Naviguer vers l'avant", "use-dark-mode": "Utiliser l'affichage sombre", "use-light-mode": "Utiliser l'affichage clair", "change-theme": "Changer le thème", "search-current-file": "Rechercher dans le fichier courant", "search-replace-current-file": "Rechercher & remplacer dans le fichier courant", "add-property": "Ajouter une propriété de fichier", "label-sort-property-a-to-z": "Nom (A à Z)", "label-sort-property-z-to-a": "Nom (Z à A)", "add-alias": "Ajouter un alias", "clear-properties": "Retirer les propriétés de fichier", "open-settings": "Ouvrir les paramètres", "open-help": "Ouvrir l'aide", "toggle-edit": "Basculer entre Édition et Aperçu", "toggle-source-mode": "Basculer entre aperçu en direct et mode source", "delete-current-file": "Supprimer le fichier actuel", "new-tab": "Nouvel onglet", "show-trash": "Afficher la corbeille", "close-all-tabs": "Fermer tous les onglets", "close-active-tab": "Fermer l'onglet actuel", "close-others-in-tab-group": "Fermer les autres onglets du groupe", "close-other-tabs": "Fermer tous les autres onglets", "close-tab-group": "Fermer ce groupe d'onglet", "toggle-left-sidebar": "Basculer la barre latérale gauche", "toggle-ribbon": "Afficher le ruban", "toggle-right-sidebar": "Basculer la barre latérale droite", "toggle-default-new-tab-mode": "Basculer le mode par défaut pour les nouveaux onglets", "add-cursor-above": "Ajouter un curseur au-dessus", "add-cursor-below": "Ajouter un curseur en dessous", "focus-editor": "Focus sur l'éditeur", "toggle-fold-properties": "Basculer le pli des propriétés du fichier actuel", "toggle-fold": "Basculer le pli sur la ligne actuelle", "fold-all": "Plier tous les titres et listes", "unfold-all": "Déplier tous les titres et listes", "fold-more": "Plier plus", "fold-less": "Plier moins", "swap-line-up": "Déplacer la ligne vers le haut", "swap-line-down": "Déplacer la ligne vers le bas", "remove-heading": "Supprimer l'entête", "toggle-heading": "Définir comme entête {{level}}", "toggle-bold": "Mettre en gras la sélection", "toggle-italics": "Mettre en italique la sélection", "toggle-highlight": "Mettre en surbrillance la sélection", "toggle-comments": "Mettre en commentaire la sélection", "clear-formatting": "Afficher le formatage", "insert-link": "Insérer un lien", "toggle-spellcheck": "Activer la vérification orthographique", "delete-paragraph": "Supprimer le paragraphe", "toggle-checklist": "Basculer l'état de l'élément de la checklist", "cycle-list-checklist": "Basculer entre puce/case à cocher", "insert-callout": "Insérer une mise en avant (callout)", "insert-code-block": "Insérer un bloc de code", "insert-math-block": "Insérer un bloc mathématiques", "insert-horizontal-rule": "Insérer une ligne horizontale", "insert-table": "Insérer un tableau", "insert-footnote": "Ajouter une note de bas de page", "edit-file-title": "Modifier le titre du fichier", "copy-path": "Copier le chemin du fichier", "copy-url": "Copier l'URL Obsidian", "export-pdf": "Exporter en PDF", "reload": "Recharger l'application sans enregistrer", "undo-close-tab": "Annuler la fermeture de l'onglet", "context-menu": "Afficher le menu contextuel sous le curseur", "show-debug-info": "Afficher les informations de débogage", "open-sandbox-vault": "Ouvrir le coffre bac à sable", "always-on-top": "Rendre la fenêtre toujours visible", "zoom-in": "Zoom avant", "zoom-out": "Zoom arrière", "reset-zoom": "Réinitialiser le zoom", "toggle-preview": "Basculer entre édition et aperçu", "move-to-new-window": "Déplacer le volet actuel vers une nouvelle fenêtre", "open-in-new-window": "Ouvrir le volet actuel dans une nouvelle fenêtre", "rename-current-file": "Renommer le fichier actuel", "go-to-prev-tab": "Aller à l'onglet précédent", "go-to-next-tab": "Aller à l'onglet suivant", "go-to-last-tab": "Aller au dernier onglet", "go-to-nth-tab": "Aller à l'onglet #{{n}}", "show-release-notes": "Afficher les notes de mise à jour" }, "dialogue": { "label-link-affected": "Cela met à jour {{links}} dans {{files}}.", "msg-updated-links": "{{links}} mis à jour dans {{files}}.", "label-update-links": "Mettre à jour les liens", "label-confirm-update-link-to-file": "Mettre à jour les liens internes qui renvoient à ce fichier ?", "button-always-update": "Toujours mettre à jour", "button-just-once": "Cette fois uniquement", "button-do-not-update": "Ne pas mettre à jour", "label-confirm-deletion": "Confirmer la suppression de \"{{filename}}\" ?", "label-move-to-system-trash": "Il sera déplacé vers la corbeille de votre système.", "label-move-to-vault-trash": "Il sera déplacé vers votre corbeille Obsidian, qui se trouve dans le dossier caché \".trash\" de votre coffre.", "label-permanent-delete": "Le fichier sera définitivement supprimé.", "label-non-empty-folder": "Ce dossier n'est pas vide.", "label-delete-folder-warning": "En cas de confirmation, tous les fichiers de ce dossier seront supprimés.", "label-delete-folder": "Supprimer le dossier", "button-delete": "Supprimer", "button-delete-do-not-ask-again": "Supprimer et ne plus redemander", "label-do-not-ask-again": "Ne pas redemander", "label-existing-backlink": "Il y a actuellement {{count}} lien pointant vers cette note.", "label-existing-backlink_plural": "Il y a actuellement {{count}} liens pointant vers cette note.", "label-delete-file": "Supprimer le fichier", "label-download-attachments": "Télécharger les pièces jointes", "label-no-attachments": "Il n'y a pas de pièces jointes externes dans cette note.", "label-downloaded-attachments": "{{count}} pièce jointe téléchargée.", "label-downloaded-attachments_plural": "{{count}} pièces jointes téléchargées.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Gérer", "button-view": "Voir", "button-confirm": "Confirmer", "button-cancel": "Annuler", "button-download": "Téléchager", "button-done": "Valider", "button-save": "Sauvegarder", "button-stop": "Arrêter", "button-continue": "Continuer", "button-choose": "Choisir", "button-retry": "Réessayer", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Préparation du PDF...", "label-rename-file": "Renommer le fichier", "label-rename-file-generic": "Nom du fichier", "label-new-name": "Nouveau nom", "msg-rename-success": "Fichier correctement renommé.", "msg-merge-failed": "Échec de la fusion des notes : {{message}}", "msg-file-or-folder-not-found": "Le fichier ou dossier “{{path}}” n'existe.", "msg-heading-empty": "L'entête ne peut pas être vide", "msg-block-id-empty": "L'ID du bloc ne peut pas être vide", "msg-block-id-invalid": "L'ID du bloc ne peut contenir que des caractères alphanumériques ou des tirets", "label-rename-heading": "Renommer l'entête", "label-rename-blockid": "Renommer l'ID du bloc" }, "menu-items": { "new-file": "Créer une note", "new-file-to-the-right": "Créer une note à droite", "new-window": "Nouvelle fenêtre", "open-switcher": "Ouvrir rapidement...", "open-vault": "Ouvrir le coffre...", "close-tab": "Fermer l'onglet", "close-window": "Fermer la fenêtre", "find": "Trouver", "replace": "Remplacer", "insert-callout": "Mise en avant (callout)", "insert-markdown-link": "Lien Markdown", "insert-wikilink": "Lien", "set-heading": "Entête {{level}}", "no-heading": "Aucun entête", "insert-quote": "Citation", "export-pdf": "Exporter en PDF", "insert-attachment": "Insérer une pièce jointe...", "insert-codeblock": "Bloc de Code", "insert-math-block": "Bloc Mathématique", "insert-table": "Tableau", "insert-footnote": "Footnote", "toggle-bullet-list": "Liste à puces", "toggle-numbered-list": "Liste numérotée", "toggle-checklist": "Liste de tâches", "toggle-bold": "Gras", "toggle-code": "Code", "toggle-comment": "Commentaire", "toggle-italics": "Italique", "toggle-inline-math": "Maths", "toggle-highlight": "Surligné", "toggle-strikethrough": "Barré", "toggle-comments": "Commentaires", "folding-menu": "Plier", "fold-all": "Tout plier", "unfold-all": "Tout déplier", "fold-more": "Plier plus", "fold-less": "Plier moins", "source-mode": "Mode source", "reading-view": "Mode lecture", "show-debug-info": "Afficher les informations de débogage.", "open-sandbox": "Ouvrir le Coffre Bac à sable", "navigate-back": "Naviguer vers l'arrière", "navigate-forward": "Naviguer vers l'avant", "toggle-left-sidebar": "Basculer la barre latérale gauche", "toggle-right-sidebar": "Basculer la barre latérale droite", "toggle-ribbon": "Ruban", "split-right": "Fractionner à droite", "split-down": "Fractionner en bas", "release-notes": "Notes de mise à jour" }, "plugins": { "name": "Modules", "file-explorer": { "name": "Explorateur de fichiers", "desc": "Voir tous les fichiers de votre coffre.", "action-open": "Ouvrir l'explorateur de fichiers", "action-show": "Afficher l'explorateur de fichiers", "action-create-note": "Créer une nouvelle note", "action-create-folder": "Créer un nouveau dossier", "action-create-note-in-current-tab": "Créer une note dans l'onglet actuel", "action-create-note-to-the-right": "Créer une note à droite", "action-auto-reveal": "Auto-revéler le fichier actuel", "action-collapse-all": "Tout réduire", "action-expand-all": "Tout développer", "action-new-note": "Nouvelle note", "action-new-folder": "Nouveau dossier", "action-change-sort": "Modifier l'ordre de tri", "action-reveal-file": "Afficher le fichier dans l'explorateur de fichiers", "action-reveal-active-file": "Afficher le fichier actif dans l'explorateur de fichiers", "command-make-a-copy": "Faire une copie du fichier actuel", "command-make-a-copy-mac": "Dupliquer le fichier actuel", "command-move-file": "Déplacer le fichier vers un autre dossier", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Déplacer le fichier vers...", "action-move-folder": "Déplacer le dossier vers...", "action-move-items": "Déplacer {{count}} articles dans...", "prompt-type-folder": "Saisir le nom d'un dossier", "label-no-folders": "Aucun dossier trouvé.", "instruction-navigate": "pour naviguer", "instruction-move": "pour déplacer", "instruction-create": "pour créer", "instruction-dismiss": "pour annuler", "label-sort-a-to-z": "Trier par nom de fichier (A à Z)", "label-sort-z-to-a": "Trier par nom de fichier (Z à A)", "label-sort-new-to-old": "Trier par date d'édition (plus récent au plus ancien)", "label-sort-old-to-new": "Trier par date d'édition (plus ancien au plus récent)", "label-sort-created-old-to-new": "Trier par date de création (plus ancien au plus récent)", "label-sort-created-new-to-old": "Trier par date de création (plus récent au plus ancien)", "menu-opt-new-note": "Nouvelle note", "menu-opt-new-folder": "Nouveau dossier", "menu-opt-rename": "Renommer", "menu-opt-delete": "Supprimer", "menu-opt-make-copy": "Dupliquer", "menu-opt-make-copy-mac": "Dupliquer", "msg-invalid-characters": "Le nom de fichier ne peut contenir les caractères suivants : ", "msg-unsafe-characters": "Les liens ne fonctionneront pas avec les noms de fichiers contenant l'un de ces caractères : ", "msg-file-already-exists": "Il y a déjà un fichier du même nom", "msg-empty-file-name": "Le nom de fichier ne peut pas être vide.", "msg-bad-dotfile": "Le nom de fichier ne doit pas commencer avec un point.", "tooltip-modified-time": "Dernière modification le {{time}}", "tooltip-created-time": "Créé le {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Sans titre", "label-untitled-folder": "Sans titre", "msg-set-attachment-folder": "Les pièces jointes seront désormais enregistrées dans \"{{path}}\"." }, "search": { "name": "Rechercher", "desc": "Rechercher le mot-clé dans toutes les notes.", "action-open-search": "Rechercher dans tous les fichiers", "label-collapse-results": "Réduire les résultats", "label-match-case": "Respecter la casse", "label-explain-search-term": "Expliquer le terme de recherche", "label-more-context": "Afficher plus de contexte", "label-result-count": "{{count}} résultat", "label-result-count_plural": "{{count}} résultats", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Chercher des paramètres", "prompt-start-search": "Saisir pour lancer la recherche...", "label-match-text": "Correspond au texte : ", "label-match-regex": "Correspond au regex : ", "label-match-exact-text": "Contient l'expression exacte : ", "label-match-greater-than": "Supérieur à : ", "label-match-less-than": "Moins de : ", "label-match-true": "Est vrai", "label-match-false": "Est faux", "label-match-empty": "Est vide", "label-match-property": "Contient la propriété : ", "label-match-all": "Contient tous ces termes : ", "label-match-any": "Contient au moins l'un de ces termes : ", "label-excluding": "Exclure : ", "label-case-sensitive": "Sensible à la casse", "label-case-insensitive": "Insensible à la casse", "label-match-file-path": "Correspond au chemin d'accès au fichier : ", "label-match-file-name": "Correspond au nom du fichier : ", "label-match-content": "Correspond au contenu : ", "label-match-task": "Correspond à la tâche : ", "label-match-task-todo": "Correspond à la tâche (à faire) : ", "label-match-task-done": "Correspond à la tâche (fait) : ", "label-match-line": "Correspond à la ligne : ", "label-match-block": "Correspond au bloc : ", "label-match-section": "Correspond à la section : ", "label-match-tag": "Correspond au mot-clé : ", "label-no-matches": "Aucun résultat.", "matches-with-count": "... et {{count}} autre résultat.", "matches-with-count_plural": "... et {{count}} autres résultats.", "label-copy-search-results": "Copier le résultat de la recherche", "button-copy-results": "Copier les résultats", "msg-successfully-copied": "Résultats copiés dans votre presse-papiers.", "option-show-path": "Afficher l'emplacement", "option-show-path-description": "Affiche le chemin complet du fichier plutôt que simplement le nom du fichier.", "option-link-style": "Style de lien", "option-link-style-description": "Transformer chaque fichier trouvé en un lien.", "option-choice-link-style-none": "Aucun", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Lien Markdown", "option-list-prefix": "Préfixe de liste", "option-list-prefix-description": "Ajoute un préfixe à chaque fichier trouvé.", "option-choice-list-style-none": "Aucun", "option-choice-list-style-dash": "Tiret (-)", "option-choice-list-style-asterisk": "Astérisque (*)", "option-choice-list-style-numbered": "Numéroté", "tooltip-clear-search": "Effacer la recherche", "label-search-options": "Options de recherche", "label-properties-group": "Propriétés", "label-tags-group": "Mots-clés", "tooltip-read-more": "Lire plus", "label-history": "Historique", "tooltip-clear-history": "Effacer l'historique de recherche", "label-path-option-description": "correspondance avec le chemin du fichier", "label-file-name-option-description": "correspondance avec le nom du fichier", "label-tag-option-description": "recherche par mots-clés", "label-line-option-description": "recherche par mots-clés dans la même ligne", "label-section-option-description": "recherche par mots-clés sous le même titre", "label-property-option-description": "propriété correspondante", "menu-opt-search-for": "Rechercher \"{{keyword}}\"", "menu-opt-search-in-folder": "Rechercher dans un dossier" }, "quick-switcher": { "name": "Sélecteur rapide", "desc": "Accéder à tous les fichiers sans quitter le clavier. Ctrl/Cmd + O pour activer.", "short-name": "Sélecteur", "action-open": "Ouvrir le sélecteur rapide", "instruction-navigate": "pour naviguer", "instruction-open": "pour ouvrir", "instruction-open-in-new-tab": "pour ouvrir dans un nouvel onglet", "instruction-open-to-the-right": "pour ouvrir vers la droite", "instruction-create": "pour créer", "instruction-dismiss": "pour annuler", "instruction-select": "pour sélectionner", "label-no-note-create-new": "Aucune note trouvée. Appuyer sur Entrée pour en créer une nouvelle.", "prompt-type-file-name": "Saisir le fichier vers lequel basculer ou créer...", "label-enter-to-create": "Entrer pour créer le fichier", "tooltip-not-created-yet": "Inexistant, selectionner pour créer.", "option-show-existing-only": "Afficher uniquement des liens existants", "option-show-existing-only-description": "Si cochés, les liens vers des fichiers inexistants ne seront pas affichés.", "option-show-attachments": "Afficher les pièces jointes", "option-show-attachments-desc": "Afficher les pièces jointes tels que les images, vidéos et PDF.", "option-show-all-file-types": "Afficher tous les types de fichiers", "option-show-all-file-types-desc": "Afficher tous les fichiers, y compris ceux qu'Obsidian ne peut pas ouvrir. Le fichier sera ouvert avec l'application par défaut pour ce type de fichier." }, "graph-view": { "name": "Vue graphique", "desc": "Voir un aperçu graphique des connexions entre vos notes", "action-open": "Ouvrir la vue graphique", "action-open-local": "Ouvrir la vue graphique autour du fichier courant", "action-copy-screenshot": "Copier la capture d'écran", "tab-title": "Graphique de {{displayText}}", "label-filters": "Filtres", "prompt-filter-nodes": "Rechercher des fichiers...", "option-depth": "Profondeur", "option-depth-description": "Affiche les nœuds à ce nombre de nœuds de distance.", "option-neighbor-links": "Liens voisins", "option-neighbor-links-description": "Afficher les liens entre voisins.", "option-forelinks": "Liens sortants", "option-forelinks-description": "Afficher les liens vers d'autres fichiers", "option-backlinks": "Rétroliens", "option-backlinks-description": "Afficher les liens venant d'autres fichiers", "option-show-tags": "Mots-clés", "option-show-tags-description": "Les mots-clés sont liés aux notes qui les contiennent", "option-show-attachments": "Pièces jointes", "option-show-attachments-description": "Afficher les pièces jointes incluses dans les notes", "option-show-existing-files-only": "Fichiers existants uniquement", "option-show-existing-files-only-description": "Si cochés, les liens vers des fichiers inexistants ne seront pas affichés", "option-show-orphans": "Orphelins", "option-show-orphans-description": "Afficher les fichiers qui ne sont liés à aucun autre fichier", "label-display": "Afficher", "option-show-arrows": "Flèches", "option-show-arrows-description": "Afficher les flèches quand zoomé", "option-text-fade": "Seuil de fondu du texte", "option-node-size": "Taille des nœuds", "option-link-thickness": "Épaisseur des liens", "label-forces": "Forces", "option-center-force": "Force centrale", "option-link-force": "Force de liaison", "option-link-distance": "Distance des liens", "option-repel-force": "Force de répulsion", "tooltip-open-graph-settings": "Ouvrir les paramètres du graphique", "msg-screenshot-copied": "Capture d'écran copiée dans le presse-papiers.", "label-groups": "Groupes", "placeholder-enter-query": "Entrer la requête...", "tooltip-delete-graph": "Supprimer le groupe", "button-new-group": "Nouveau groupe", "tooltip-click-to-change-drag-to-reorder": "Cliquer pour changer la couleur\nFaire glisser pour réorganiser les groupes", "action-timelapse": "Lancer l'animation timelapse du graphique", "tooltip-start-timelapse-animation": "Démarrer le timelapse", "button-animate-timelapse": "Animer" }, "backlinks": { "name": "Rétroliens", "desc": "Afficher le nombre de rétroliens dans la barre d'état.", "action-open": "Ouvrir les rétroliens", "action-show": "Afficher le volet des rétroliens", "action-open-for-current": "Ouvrir les rétroliens du fichier courant", "action-toggle-backlinks-in-document": "Basculer les rétroliens dans le document", "menu-opt-backlinks-in-document": "Rétroliens dans le document", "label-linked-mentions": "Occurrences liées", "label-no-backlinks": "Aucun rétrolien trouvé.", "label-unlinked-mentions": "Occurrences non liées", "label-show-search": "Afficher le filtre de recherche", "label-link-button-text": "Lien", "tab-title": "Rétrolien pour {{displayText}}", "label-no-unlinked-mentions": "Aucune occurrence non liée trouvée.", "ellipsis": "...", "option-backlink-in-document": "Rétroliens dans le document", "option-backlink-in-document-desc": "Afficher les rétroliens dans le document par défaut lors de l'ouverture de nouveaux volets." }, "outgoing-links": { "name": "Liens sortants", "desc": "Afficher les liens sortants et détecter des mentions non liées d'autres notes dans la note actuelle.", "action-open": "Ouvrir les liens sortants", "action-show": "Afficher le volet des liens sortants", "action-open-for-current": "Ouvre les liens sortants pour le fichier actuel", "tab-title": "Liens sortants de {{displayText}}", "label-links": "Liens", "label-no-links": "Aucun lien trouvé.", "label-unlinked-mentions": "Mention non liée", "tooltip-link-file": "Lier ce fichier", "tooltip-not-created": "Pas encore créé" }, "tag-pane": { "name": "Volet de mots-clés", "short-name": "Mots-clés", "desc": "Affiche tous vos mots-clés et leur nombre d'occurrences", "action-show": "Afficher le volet des mots-clés", "label-no-tags": "Aucun mot-clé trouvé", "label-sort-by-name-a-to-z": "Nom de mot-clé (A à Z)", "label-sort-by-name-z-to-a": "Nom de mot-clé (Z à A)", "label-sort-by-frequency-high-to-low": "Fréquence (décroissant)", "label-sort-by-frequency-low-to-high": "Fréquence (croissant)", "action-show-nested-tags": "Afficher les mots-clés imbriqués", "action-collapse-all": "Tout réduire", "action-expand-all": "Tout développer" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Vue des propriétés", "desc": "Afficher les métadonnées de vos fichiers.", "name-global": "Toutes les propriétés", "name-local": "Propriétés du fichier", "tab-title": "Propriétés du fichier pour {{displayText}}", "action-show": "Afficher toutes les propriétés", "action-show-local": "Afficher les propriétés du fichier", "opt-unassign-type": "Désaffecter le type", "label-no-properties": "Aucune propriété trouvée.", "label-invalid-properties": "Propriétés invalides.", "label-sort-by-name-a-to-z": "Nom de la propriété (A à Z)", "label-sort-by-name-z-to-a": "Nom de la propriété (Z à A)", "label-sort-by-frequency-high-to-low": "Fréquence (haute à basse)", "label-sort-by-frequency-low-to-high": "Frequence (basse à haute)", "msg-merge-properties-warning": "Fusionner la propriété “{{oldKey}}” avec “{{newKey}}” ?", "msg-merge-properties-warning-desc": "En cas de conflit, les values seront fusionnées ou la valeur de “{{oldKey}}” sera utilisée.", "action-collapse-all": "Tout fermer", "action-expand-all": "Tout développer", "action-open-local": "Ouvrir les propriétés du fichier", "action-open-daily-note": "Ouvrir la note journalière" }, "page-preview": { "name": "Aperçu de page", "desc": "Prévisualiser une note en passant la souris sur un lien interne. Ctrl/Cmd + survol en mode édition.", "label-empty-attachment": "“{{linktext}}” ne peut être trouvé.", "label-empty-note": "\"{{linktext}}\" n'est pas encore créé. Cliquer pour créer.", "label-missing-footote": "Note de bas de page {{id}} non trouvée. Cliquer pour créer.", "label-source-editor": "Éditeur", "label-source-preview": "Aperçu", "label-source-search": "Recherche, rétroliens et liens sortants", "label-source-tab-header": "Entête des onglets", "label-require-mod": "Exiger l'appui de {{key}} pour déclencher l'aperçu de page au survol" }, "bookmarks": { "name": "Signets", "desc": "Marquer les fichiers et les recherches fréquemment utilisés.", "action-show": "Afficher les signets", "action-collapse-all": "Tout réduire", "action-new-bookmark": "Marquer l'onglet actif...", "action-new-group": "Nouveau groupe de signets", "action-bookmark": "Marquer...", "action-add-bookmark": "Ajouter un signet", "action-edit-bookmark": "Modifier le signet", "action-bookmark-block": "Marquer le bloc sous le curseur...", "action-bookmark-heading": "Marquer l'en-tête sous le curseur...", "action-bookmark-search": "Marquer la recherche en cours...", "action-remove-bookmark": "Supprimer le signet du fichier actuel", "action-bookmark-tab-group": "Marquer {{count}} onglet...", "action-bookmark-tab-group_plural": "Marquer {{count}} onglets...", "action-bookmark-all-tabs": "Marquer tous les onglets...", "action-bookmark-graph": "Marquer ce graphique...", "label-bookmark": "Signet", "label-bookmarked": "Signet marqué", "label-bookmark-with-count": "{{count}} signet", "label-bookmark-with-count_plural": "{{count}} signets", "label-no-bookmarks": "Aucun signet trouvé", "label-invalid-data": "Échec du chargement des signets.", "label-invalid-data-desc": "Les données du fichiers sont corrompues.", "label-untitled-group": "Groupe sans titre", "label-untitled-graph": "Graphique sans titre", "menu-opt-edit": "Modifier...", "menu-opt-remove": "Supprimer", "menu-opt-rename": "Renommer", "menu-opt-bookmark-block": "Mettre un signet sur ce bloc...", "menu-opt-bookmark-heading": "Marquer cet en-tête...", "msg-no-search-query": "Aucune recherche à marquer.", "option-path": "Chemin", "option-query": "Requête", "option-u-r-l": "URL", "option-title": "Titre", "option-group": "Groupe de signets", "placeholder-bookmark-group": "signets" }, "custom-css": { "name": "CSS personnalisé", "desc": "Lire \"obsidian.css\" dans le coffre et l'appliquer.", "setting-community-themes": "Thèmes tiers", "msg-fetching-themes": "Récupération des thèmes de la communauté...", "prompt-filter": "Filtrer...", "label-dark-theme-only": "Thèmes sombres uniquement", "label-light-theme-only": "Thèmes clairs uniquement", "label-use": "Utiliser", "label-stop-use": "Arrêter d'utiliser ce thème", "label-install-and-use": "Installer et utiliser", "label-update": "Mise à jour", "label-no-readme": "Ce thème ne contient pas de README.", "tooltip-remove-theme": "Supprimer le thème", "label-visit-on-github": "Ouvrir sur GitHub", "msg-load-error": "Impossible de charger les thèmes de la communauté, merci de vérifier la connexion internet.", "msg-now-using-theme": "Vous utilisez maintenant {{title}} en thème CSS.", "msg-deleted-theme": "Le thème {{title}} a été supprimé", "msg-updated-theme": "Le thème {{title}} a été mis à jour.", "label-installed": "Installé", "label-legacy": "Legacy", "button-update-all-themes": "Tout mettre à jour", "msg-failed-load-themes": "Échec du chargement des thèmes communautaires.", "msg-no-updates-found": "Aucune mise à jour de thème trouvée.", "msg-updates-found": "Trouvé {{count}} thème à mettre à jour.", "msg-updates-found_plural": "Trouvé {{count}} thèmes à mettre à jour.", "msg-failed-to-install-theme": "Échec de la mise à jour du thème \"{{name}}\".", "msg-successfully-installed-theme": "Le thème \"{{name}}\" a été installé avec succès.", "msg-installing-theme": "Installation du thème \"{{name}}\"...", "label-search-summary": "Affichage de {{themeCount}} :", "label-update-available": "Mise à jour disponible" }, "command-palette": { "name": "Palette de commandes", "desc": "Saisir une commande pour l'invoquer. Pas besoin d'utiliser l'interface utilisateur ou de mémoriser le raccourci.", "action-open": "Ouvrir la palette de commandes", "instruction-navigate": "pour naviguer", "instruction-use": "pour utiliser", "instruction-dismiss": "pour fermer", "label-no-commands": "Aucune commande trouvée.", "prompt-type-command": "Saisir une commande...", "label-pinned-commands": "Commandes épinglées", "option-add-new-pin": "Nouvelle commande épinglée", "option-add-new-pin-description": "Les commandes épinglées apparaîtront en haut de toutes les commandes lorsqu'aucune requête de recherche n'est présente." }, "markdown-format-importer": { "name": "Importateur depuis des fichiers Markdown", "desc": "Convertir les fichiers Markdown d'autres applications au format Obsidian.", "action-open": "Ouvrir l'importateur Markdown", "option-roam-tag-fixer": "Répare les mots-clés de Roam Research", "option-roam-tag-fixer-description": "Convertit \"#tag\" et \"#[[tag]]\" en \"[[tag]]\".", "option-roam-highlight-fixer": "Répare le surlignage de Roam Research", "option-roam-highlight-fixer-description": "Convertit \"^^surlignage^^\" en \"==surlignage==\".", "option-roam-todo-converter": "Convertit les TODO de Roam Research", "option-roam-todo-converter-description": "Convertit \"{{[[TODO]]}}\" en \"[ ]\".", "option-bear-highlight-fixer": "Répare le surlignage de Bear", "option-bear-highlight-fixer-description": "Convertit \"::surlignage::\" en \"==surlignage==\".", "zettelkasten-link-fixer": "Répare les liens Zettelkasten", "zettelkasten-link-fixer-description": "Répare les liens \"[[UID]]\" en liens \"[[UID Nom Du Fichier]]\" complet.", "zettelkasten-link-beautifier": "Embellisseur de lien Zettelkasten", "zettelkasten-link-beautifier-description": "Répare les liens \"[[UID]]\" et les embellit en \"[[UID Nom Du Fichier|Nom Du Fichier]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Attention : l'importateur convertira tous les fichiers de votre coffre, pas seulement le fichier actuel.", "msg-override-files-warning": "Vos fichiers seront écrasés. Enregistrez tous vos fichiers avant de tenter la conversion.", "label-start-conversion": "Lancer la conversion", "label-stop": "Arrêter", "label-go-back": "Retourner", "label-done": "Fait", "label-processing": "Traitement en cours...", "label-cancelling": "Annulation...", "label-finished": "Terminé !", "label-processed-files": "Fichiers traités", "label-modified-files": "Fichiers modifiés", "label-total-replacements": "Remplacements totaux", "label-failed": "Failed" }, "daily-notes": { "name": "Notes quotidiennes", "desc": "Ouvre la note quotidienne ou la crée si elle n'est pas présente.", "short-name": "Aujourd'hui", "action-open": "Ouvrir la note quotidienne", "action-open-previous": "Ouvrir la note quotidienne précédente", "action-open-next": "Ouvrir la note quotidienne suivante", "action-insert-text": "Insérer du texte dans la note quotidienne", "action-insert-link": "Insérer un lien dans la note quotidienne", "msg-fail-format": "Échec de la création de la note quotidienne. \"{{format}}\" n'est pas un format valide.", "msg-fail-folder": "Échec de la création de la note quotidienne. Le dossier \"{{folderOption}}\" n'a pas été trouvé.", "msg-fail-template-file": "Échec de la création de la note quotidienne. Le fichier modèle \"{{template}}\" n'a pas été trouvé.", "msg-no-previous": "Il n'y a pas de note quotidienne avant celle-ci.", "msg-no-next": "Il n'y a pas de note quotidienne après celle-ci.", "option-date-format": "Format de la date", "label-refer-to-syntax": "Pour plus d'informations à propos de la syntaxe, se reporter à : ", "label-syntax-link": "référence des formats", "label-syntax-live-preview": "Voici ce à quoi cela va ressembler : ", "option-new-file-location": "Nouvel emplacement de fichier", "option-new-file-location-description": "Emplacement du dossier où créer la nouvelle note quotidienne.", "option-template": "Emplacement du fichier de modèle", "option-template-description": "Emplacement du fichier à utiliser comme modèle.", "option-open-on-start": "Ouverture de la note quotidienne au démarrage", "option-open-on-start-description": "Ouvre la note quotidienne automatiquement à chaque ouverture de ce coffre." }, "unique-note-creator": { "name": "Créateur de note unique", "desc": "Créez des notes avec des préfixes d'horodatage uniques, pour des workflows tels que zettelkasten ou slip box.", "short-name": "Unique", "action-create-note": "Créer une nouvelle note unique", "action-add-link": "Ajouter un lien interne unique", "option-new-file-location": "Nouvel emplacement du fichier", "option-new-file-location-description": "Le chemin du dossier pour créer la nouvelle note unique.", "msg-folder-not-found": "Échec de la création d'une note unique. Dossier \"{{folderOption}}\" introuvable.", "option-template-file": "Emplacement du modèle", "option-template-file-description": "Le chemin du fichier à utiliser comme modèle.", "option-template-file-placeholder": "Exemple: dossier1/note", "option-id-format": "Format de préfixe unique", "msg-template-file-not-found": "Échec de la création d'une note unique. Modèle \"{{template}}\" introuvable.", "msg-failed-to-generate": "Échec de la création d'une note unique avec le format \"{{format}}" }, "random-note": { "name": "Note aléatoire", "desc": "Ouvre une note au hasard. Utile pour réviser et découvrir.", "short-name": "Aléatoire", "action-open": "Ouvre une note au hasard" }, "outline": { "name": "Plan", "desc": "Affiche le plan du fichier courant ou du volet lié.", "action-open": "Ouvrir le plan", "action-show": "Affiche le volet de plan", "action-open-for-current": "Ouvrir le plan du fichier actuel", "tab-title": "Plan de {{displayText}}", "label-no-headings": "Aucun entête trouvé.", "label-follow-cursor": "Défilement automatique vers la section courante" }, "word-count": { "name": "Nombre de mots", "desc": "Affiche le nombre de mots dans la barre d'état." }, "slides": { "name": "Diapositives", "desc": "Présentation à partir du Markdown. Utiliser \"---\" pour séparer les diapositives.", "action-start": "Démarrer la présentation" }, "audio-recorder": { "name": "Enregistreur audio", "desc": "Enregistre l'audio et l'enregistre comme pièce jointe.", "action-start": "Commencer l'enregistrement audio", "action-stop": "Arrêter l'enregistrement audio", "action-toggle": "Démarrer / arrêter l'enregistrement", "msg-access-denied": "L'accès au microphone a été refusé, merci de l'activer dans le volet des préférences.", "msg-pending-grant": "Merci d'autoriser le microphone pour démarrer l'enregistrement.", "msg-no-microphone": "Aucun microphone n'est connecté." }, "open-with-default-app": { "name": "Ouvrir avec l'application par défaut", "desc": "Ajouter un bouton pour ouvrir le fichier actuel avec l'application par défaut", "action-open-file": "Ouvrir avec l'application par défaut", "action-open-file-mobile": "Partager", "action-show-in-folder": "Afficher dans le dossier", "action-show-in-folder-mac": "Révéler dans le Finder" }, "templates": { "name": "Modèles", "desc": "Insérer le contenu d'un modèle à partir d'un dossier de fichiers de modèles.", "action-insert": "Insérer le modèle", "action-insert-current-date": "Insérer la date actuelle", "action-insert-current-time": "Insérer l'heure actuelle", "option-template-folder-location": "Emplacement du dossier modèle", "option-template-folder-location-description": "Les fichiers dans ce dossier seront disponibles comme modèles.", "option-template-date-format": "Format de date", "option-template-date-format-description": "{{date}} dans ce fichier modèle sera remplacé par cette valeur.", "option-template-date-format-description2": "Il est aussi possible d'utiliser {{date:YYYY-MM-DD}} pour passer outre le format ponctuellement.", "option-template-time-format": "Format de temps", "option-template-time-format-description": "{{time}} dans ce fichier modèle sera remplacé par cette valeur.", "option-template-time-format-description2": "Il est aussi possible d'utiliser {{time:HH:mm}} pour passer outre le format ponctuellement.", "instruction-navigate": "pour naviguer", "instruction-insert": "pour insérer le modèle", "instruction-dismiss": "pour annuler", "msg-no-templates-found": "Aucun modèle trouvé", "msg-fail-invalid-folder": "Échec de l'affichage de la liste des modèles. Le dossier modèle n'est pas valide.", "msg-fail-folder-not-found": "Échec de l'affichage de la liste des modèles. Le dossier \"{{folderOption}}\" est introuvable.", "msg-fail-invalid-template-properties": "Impossible d'insérer le modèle, les propriétés du modèle n'ont pas pu être lues.", "msg-no-folder-set": "Échec de l'énumération des modèles. Aucun dossier de modèles n'est configuré.", "prompt-type-template": "Saisir le nom d'un modèle..." }, "translucency": { "name": "Transparence de la fenêtre", "desc": "Active l'effet de transparence pour améliorer la sensation de profondeur. À utiliser de préférence avec le mode sombre. Non pris en charge sous Linux." }, "slash-command": { "name": "Commandes Slash /", "desc": "Permet de déclencher les commandes Slash / dans l'éditeur en tapant la touche barre oblique." }, "editor-status": { "name": "Statut Édition", "desc": "Ajoute un élément dans la barre d'état pour afficher et modifier le mode d'édition actuel.", "read": "Aperçu", "edit-source": "Mode source", "edit-live-preview": "Aperçu en direct" }, "publish": { "name": "Publier", "desc": "Publie vos notes via Obsidian Publish.", "action-publish-changes": "Publier les modifications", "action-publish-file": "Publier le fichier actuel", "label-no-internet-access": "Un accès à internet est nécessaire pour publier les modifications.", "label-publish-service-description": "Obsidian Publish est un service payant complémentaire qui vous permet de publier vos notes en ligne directement depuis Obsidian.", "label-please-login": "Pour commencer à publier, connectez-vous ou créez un nouveau compte Obsidian.", "label-no-publish-subscription": "Aucun abonnement à Obsidian Publish.", "button-purchase": "Acheter", "label-manage-sites": "Gérer les sites", "label-no-sites": "Vous n'avez aucun site.", "button-choose": "Choisir", "tooltip-edit-site-id": "Modifier l'ID du site", "tooltip-delete-site": "Supprimer le site", "label-delete-site-confirmation": "Êtes-vous sûr de vouloir supprimer ce site ?", "label-delete-site-details": "Cela supprimera immédiatement et définitivement votre site.", "label-confirm-delete-site": "Confirmer la suppression du site \"{{site}}\"", "option-site-id": "ID du site", "option-site-id-description": "Votre site sera disponible à https://publish.obsidian.md/{site id}. Il est possible de changer cela plus tard. Seuls les lettres minuscules, les chiffres et les tirets sont autorisés.", "option-site-id-placeholder": "Choisir un identifiant de site", "button-create": "Créer", "msg-invalid-site-id": "L'ID de site ne peut contenir que des lettres minuscules, des chiffres et des tirets.", "msg-site-id-in-use": "Cet ID de site est déjà utilisé, merci d'en essayer un autre.", "msg-create-site-issue": "Un problème est survenu lors de la création de votre site.", "label-site-options": "Options du site", "option-site-general": "Général", "option-site-components": "Composants", "option-site-appearance": "Apparence", "option-site-reading-experience": "Mode lecture", "option-site-misc": "Autres paramètres du site", "option-site-name": "Nom du site", "option-site-name-description": "Il apparaîtra comme titre du site.", "option-site-name-placeholder": "Nom de votre site", "option-home-page-file": "Page d'accueil", "option-home-page-file-description": "La première page que l'utilisateur voit quand il va sur le site", "option-home-page-file-placeholder": "Nom du fichier", "option-logo": "Logo", "option-logo-description": "Choisir une image à utiliser comme logo du site.", "option-logo-placeholder": "Nom de l'image", "option-site-collaboration": "Publication collaborative", "option-site-collaboration-desc": "Gérer les collaborateurs de ce site.", "option-customize-navigation": "Personnaliser la navigation", "option-customize-navigation-desc": "Modifier l'ordre des éléments de navigation et masquer les pages ou dossiers de l'affichage.", "option-navigation-order": "Ordre d'affichage des éléments de navigation", "option-hide-items-in-navigation": "Masquer des pages ou des dossiers de la navigation", "option-hide-items-in-navigation-desc": "Effectuez un clic droit et sélectionnez \"Masquer\" pour empêcher certaines pages spécifiques d'apparaître dans la navigation du site. Les pages resteront accessibles via des liens ou en accédant directement à l'URL.", "option-show-hidden-items": "Afficher les éléments masqués", "button-customize-sidebar": "Gérer", "label-navigation-modal-title": "Navigation", "label-navigation-modal-desc": "Faites glisser et déposer pour personnaliser l'ordre d'apparition des éléments de navigation sur votre site Publish.", "option-hide-in-navigation": "Masquer dans la navigation", "button-manage-collaborators": "Gérer", "option-theme": "Thème", "option-theme-description": "Choisir le jeu de couleurs par défaut pour votre site.", "option-theme-system": "Adapter au système", "option-show-theme-toggle": "Bascule entre les thèmes sombre/lumineux", "option-show-theme-toggle-description": "Laisse le visiteur basculer entre le thème clair et le thème sombre.", "option-show-navigation": "Affichage de la navigation", "option-show-navigation-description": "Affiche toutes les pages publiées sur le côté gauche de votre site publié.", "option-show-search": "Affichage de la barre de recherche", "option-show-search-description": "Affiche une barre de recherche en haut de la navigation qui permet aux visiteurs de rechercher pages et titres sur votre site.", "option-show-graph": "Afficher la vue graphique", "option-show-graph-description": "Affiche un petit graphique local sur chaque page.", "option-show-outline": "Afficher la table des matières", "option-show-outline-description": "Affiche le plan du fichier sur chaque page.", "option-show-backlinks": "Afficher des rétroliens", "option-show-backlinks-description": "Affiche une section avec les rétroliens au bas de chaque page.", "option-sliding-window-mode": "Utiliser les fenêtres coulissantes", "option-sliding-window-mode-description": "Ouvre les nouvelles pages dans des volets à droite. Permet de faire défiler les volets horizontalement.", "option-hover-preview-file": "Afficher l'aperçu au survol", "option-hover-preview-file-description": "Affiche l'aperçu de la page lors du survol des liens.", "option-hide-title": "Cacher le titre de la page", "option-hide-title-description": "Cache le titre de la page. Utile lorsque vous avez vos propres titres au début de chaque page.", "option-readable-line-length": "Longueur de ligne lisible", "option-readable-line-length-description": "Limite la longueur de ligne maximale. Affiche moins de contenu à l'écran mais rends les longs paragraphes plus lisibles.", "option-site-password": "Mots de passe", "option-site-password-description": "Restreindre l'accès à votre site avec un ou des mots de passe.", "option-google-analytics": "Code de suivi Google Analytics", "option-google-analytics-description": "Configure Google Analytics pour votre site. Uniquement disponible pour les visiteurs depuis l'URL de votre domaine personnalisé. Merci de d'abord vérifier les lois et réglementations locales.", "button-manage-passwords": "Gérer", "button-save-site-settings": "Enregistrer les paramètres du site", "msg-updated-options": "Options mises à jour pour votre site.", "button-go-back": "Retour", "label-publishing-to": "Publier sur", "tooltip-switch-site": "Changer de site", "button-add-linked": "Ajouter les fichiers liés", "tooltip-add-linked": "Ajouter tous les fichiers qui sont liés dans les éléments sélectionnés", "msg-added-linked-files": "{{count}} fichier lié a été ajouté.", "msg-added-linked-files_plural": "{{count}} fichiers liés ont été ajoutés.", "tooltip-open-site-options": "Modifier les options du site", "label-no-changes-detected": "Aucun changement n'a été détecté.", "label-changed-files-to-be-published": "Changements", "label-unchanged-files-already-published": "Inchangé (sélectionner pour supprimer)", "label-file-selected": " sélectionné", "button-select-all-files": "Tout sélectionner", "label-custom-navigation-title": "Élements de navigation", "button-deselect-all-files": "Tout désélectionner", "label-new-files-to-be-published": "Nouveau", "button-publish": "Publier", "msg-no-permission-to-publish-to-site": "Vous ne disposez pas des autorisations nécessaires pour publier sur le site actuel.", "msg-select-at-least-one-file": "Merci de sélectionner au moins un fichier.", "label-upload-changes": "Envoyer les modifications", "button-done": "Terminer", "button-stop": "Arrêter", "label-status-uploading": "Envoi en cours", "label-status-to-publish": "À publier", "label-status-to-delete": "À supprimer", "label-status-published": "Publié", "label-status-deleted": "Supprimé", "label-status-failed": "Erreur", "label-status-cancelled": "Annulé", "button-change": "Modifier", "label-clear-cache": "Il faut quelques minutes pour que les modifications apparaissent sur votre site. Si vous ne voyez pas vos dernières modifications, essayez de vider le cache de votre navigateur.", "label-visit-site": "Vous pouvez visiter votre site ici : ", "msg-something-went-wrong": "Un problème est survenu. Consulter la console développeur pour plus de détails.", "msg-network-error": "Une erreur réseau s'est produite.", "label-manage-passwords": "Gérer les mots de passe", "label-add-password": "Ajouter un mot de passe", "action-new-password": "Nouveau mot de passe", "label-no-password": "Votre site n'a actuellement aucun mot de passe. Tout le monde peut le visiter.", "label-have-password": "Votre site est protégé par mot de passe. Si vous avez plusieurs mots de passe, les visiteurs peuvent accéder à votre site en saisissant l'un d'entre eux.", "option-password-name": "Mot de passe", "option-password-desc": "Une version chiffrée de votre mot de passe sera stockée en toute sécurité. Une fois le mot de passe défini, il ne peut pas être déchiffré en clair.", "option-password-placeholder": "Votre mot de passe", "option-nickname-name": "Surnom (optionnel)", "option-nickname-desc": "Définissez un surnom pour vous rappeler à quoi ou à qui est destiné le mot de passe.", "action-add-password": "Ajouter ce mot de passe", "label-untitled-password": "Mot de passe sans titre", "label-password-created-time": "Créé {{time}}", "msg-added-new-password": "Nouveau mot de passe ajouté.", "option-custom-domain": "Domaine personnalisé", "option-custom-domain-desc": "Utiliser un domaine personnalisé à la place de l'URL : https://publish.obsidian.md/{site id}.", "option-noindex": "Refuser l'indexation par les moteurs de recherche", "option-noindex-desc": "Empêcher les moteurs de recherche d'indexer le site.", "button-configure": "Configurer", "label-configure-custom-domain": "Configuration du domaine personnalisé", "option-custom-url-name": "URL personnalisée", "option-custom-url-desc": "L'URL sur laquelle votre site sera situé.", "option-custom-url-placeholder": "www.votredomaine.fr", "option-custom-url-redirect": "Redirection vers un domaine personnalisé", "option-custom-url-redirect-desc": "Rediriger les visiteurs de publish.obsidian.md/id vers le domaine personnalisé.", "button-update-custom-domain": "Mettre à jour les paramètres du domaine", "label-custom-domain-instructions": "Veuillez vous référer à notre {{link}} sur notre site pour plus d'informations.", "label-custom-domain-link-name": "guide d'aide pour le domaine personnalisé", "label-site-usage": "Vous utilisez {{site}} de vos {{limit}} sites possibles.", "button-add-more-sites": "Acheter plus de sites", "label-no-sites-bought": "Vous n'avez acheté aucun site.", "button-get-site": "Obtenir un site", "label-manage-sharing": "Gérer le partage pour \"{{name}}\"", "label-sharing-with-users": "Ce site est actuellement partagé avec les personnes suivantes.", "label-not-sharing": "Ce site n'est actuellement partagé avec personne.", "label-invite-pending": "En attente", "tooltip-remove-user": "Supprimer l'utilisateur", "option-invite-user": "Inviter un utilisateur", "placeholder-invite-user": "Saisir leur adresse électronique...", "error-email-must-be-valid": "Veuillez saisir une adresse électronique valide pour inviter quelqu'un.", "msg-enable-publish-plugin": "Veuillez activer le module principal Publish dans Paramètres -> modules principaux pour afficher les sites.", "label-your-sites": "Vos sites", "label-sites-shared-with-you": "Sites partagés avec vous", "tooltip-leave-site-sharing": "Arrêter de collaborer sur ce site", "label-leave-site-confirmation": "Confirmer l'arrêt de la collaboration", "label-leave-site-confirmation-details": "Cela supprimera ce site de la liste des sites partagés avec vous. Cette action ne peut pas être annulée.", "label-leave-site-confirmation-details-2": "Veuillez contacter le propriétaire du site si vous souhaitez collaborer à nouveau sur ce site.", "button-leave": "Quitter", "label-compare-with-live": "Comparer avec la version live", "button-use-live-version": "Utiliser la version live", "label-confirm-override": "Confirmer le remplacement de la version locale", "label-confirm-override-1": "Êtes-vous sûr de vouloir remplacer la version locale ?", "label-confirm-override-2": "La version en ligne sera utilisée et votre version locale sera abandonnée. Veuillez faire des sauvegardes si nécessaire.", "button-proceed": "Continuer", "message-successfully-used-live-version": "Utilisation réussie de la version en direct pour remplacer votre version locale.", "label-open-in-live-site": "Ouvrir dans le site live", "label-open-file": "Ouvrir le dossier", "tooltip-manage-publish-filters": "Gérer les filtres de Publish", "option-included-folders": "Dossiers inclus", "option-included-folders-desc": "Les fichiers situés dans ces dossiers seront automatiquement sélectionnés lorsque vous examinerez les modifications à publier.", "option-currently-included-folders": " Ces dossiers sont actuellement inclus :", "option-excluded-folders": "Dossiers exclus", "option-excluded-folders-desc": "Les fichiers situés dans ces dossiers n'apparaîtront pas lorsque vous examinerez les modifications à publier. Ce paramètre est prioritaire sur les dossiers inclus ci-dessus.", "label-number-of-folders-included": "Obsidian Publish inclut actuellement {{dossiers}}.", "label-number-of-folders-excluded": "Obsidian Publish exclut actuellement les {{dossiers}}.", "label-manage-included-folders": "Gérer les dossiers inclus", "label-manage-excluded-folders": "Gérer les dossiers exclus", "label-add-included-folder": "Inclure un dossier", "label-add-included-folder-desc": "Vous pouvez inclure à la fois des dossiers existants et des dossiers qui n'ont pas encore été créés..", "tooltip-contact-support": "Contacter le support", "label-navigation-preview": "Aperçu de la navigation" }, "workspaces": { "name": "Espaces de travail", "desc": "Enregistrer et charger la disposition de l'espace de travail.", "action-load-layout": "Charger l'espace de travail", "action-manage-layouts": "Gérer les espaces de travail", "action-save": "Sauvegarder l'espace de travail", "action-save-and-load-layout": "Sauvegarder et charger un autre espace de travail", "placeholder-save-current-layout-as": "Sauvegarder l'espace de travail actuel comme...", "button-save": "Sauvegarder", "button-load": "Charger", "tooltip-delete-layout": "Supprimer l'espace de travail", "msg-enter-name": "Veuillez saisir un nom pour le nouvel espace de travail.", "msg-save-layout-success": "L'espace de travail été sauvegardé avec succès.", "label-no-layout-found": "Aucun espace de travail enregistré n'a été trouvé.", "label-workspace-modified-time": "Modifié le {{time}}", "placeholder-type-to-search-layouts": "Taper le nom de l'espace de travail..." }, "sync": { "name": "Sync", "desc": "Synchronise vos fichiers avec Obsidian Sync.", "action-view-version-history": "Afficher l'historique des instantanés", "action-setup-sync": "Paramétrer Sync", "menu-opt-view-version-history": "Ouvrir d'historique de version", "action-view-sync-sidebar": "Afficher l'historique de Sync", "action-activity-log": "Ouvrir le journal d'activité", "label-load-more": "Charger plus", "label-show-diff": "Afficher les différences", "label-copy-to-clipboard": "Copier dans le presse-papiers", "label-restore-this-version": "Restaurer cette version", "msg-already-latest-version": "Cette version est déjà la dernière.", "msg-restored-version": "Version restaurée avec succès d'{{time}}", "label-file-deleted": "Ce fichier a été supprimé", "label-file-deleted-via": "Supprimé depuis {{ device }}", "label-file-renamed-from": "Ce fichier a été renommé depuis \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 révision", "label-revision_plural": "{{revisions}} révisions", "label-via-device": "depuis {{device}}", "label-no-history": "Pas d'historique de synchronisation pour ce fichier.", "label-empty-file": "Vide", "label-unable-to-retrieve": "Impossible de retrouver l'historique des versions", "label-setting-files": "Fichiers de configuration", "label-deleted-files": "Fichiers supprimés", "label-version-history": "Historique des versions", "label-click-to-see-history": "Cliquez sur un fichier supprimé pour voir son historique.", "label-create-remote-vault": "Créer un coffre distant", "msg-please-enter-password": "Veuillez entrer un mot de passe.", "msg-vault-name-cannot-be-empty": "Le nom du coffre ne peut pas être vide.", "msg-successfully-created-vault": "Création réussie du coffre distant \"{{name}}\".", "label-remote-vault-explanation": "Les coffres distants permettent une synchronisation fiable et sécurisée entre tous vos appareils.", "option-vault-name": "Nom du coffre", "option-vault-name-desc": "Choisir un nom évoquant l'objet du coffre.", "option-vault-region": "Région", "opt-vault-region-automatic": "Automatique", "option-vault-region-desc": "Sélectionnez la région du serveur la plus proche de vous pour stocker le coffre distant. Ce choix ne pourra pas être modifié à l'avenir.", "option-vault-name-placeholder": "Mon superbe coffre", "option-encryption": "Chiffrement", "option-encryption-desc": "Le chiffrement de bout en bout offre le meilleur niveau de sécurité mais nécessite que vous enregistriez votre mot de passe de chiffrement. Le chiffrement standard utilise une clé gérée par Obsidian pour protéger le transfert de vos données et son stockage sur nos serveurs.", "option-encryption-warning": "Cette option ne peut pas être changée par la suite.", "option-encryption-end-to-end": "Chiffrement de bout en bout", "option-encryption-standard": "Chiffrement standard", "option-encryption-password": "Mot de passe de chiffrement", "option-encryption-password-desc": "Le mot de passe ne pourra pas être modifié ultérieurement.", "option-encryption-password-desc-warning": "Si vous oubliez le mot de passe, les données stockées à distance resteront inutilisables à jamais.", "option-encryption-password-desc-2": "Cela n'affecte pas les données stockées localement.", "label-encryption-password-explanation": "Le coffre distant “{{name}}” est actuellement chiffré. Entrez votre mot de passe pour le déverrouiller.", "option-encryption-password-placeholder": "Votre mot de passe", "label-unlock-encrypted-vault": "Déverrouiller votre coffre distant", "button-unlock-vault": "Déverrouiller le coffre", "label-remote-vaults": "Vos coffres distants", "label-vault-created-time": "Créé {{time}}", "tooltip-delete-remote-vault": "Supprimer", "tooltip-rename-remote-vault": "Renommer", "label-rename-remote-vault": "Renommer le coffre distant \"{{name}}\"", "label-rename-remote-vault-desc": "Entrez un nouveau nom pour ce coffre distant.", "tooltip-manage-sharing": "Gérer le partage", "label-confirm-delete-remote-vault": "Confirmer la suppression du coffre", "label-confirm-delete-remote-vault-question": "Souhaitez-vous vraiment supprimer ce coffre distant ?", "label-confirm-delete-remote-vault-result": "Toutes les données stockées sur notre serveur ainsi que l'historique des instantanés seront supprimés. Vos fichiers locaux resteront intacts.", "label-confirm-delete-remote-vault-warning": "Cette action est permanente et irréversible.", "msg-remote-vault-deleted": "Le coffre distant {{name}} a été supprimé.", "msg-disconnect-from-deleted-vault": "Obsidian Sync : le coffre distant connecté n'existe plus.", "button-connect-to-remote-vault": "Se connecter", "button-disconnect-from-remote-vault": "Se déconnecter", "label-sync-status": "Sync : {{status}}", "label-not-remote-vaults": "Vous n'avez aucun coffre distant.", "label-no-subscription": "Vous n'avez pas d'abonnement actif à Obsidian Sync.", "label-please-visit": "Veuillez visiter", "label-preview-unsupported-file-type": "Impossible de prévisualiser les fichiers {{type}}.", "button-create-new-remote-vault": "Créer un nouveau coffre", "label-sync-log": "Journal des synchronisations", "option-event-type-all": "Tout", "option-event-type-errors": "Erreurs", "option-event-type-skipped": "Passé", "option-event-type-merge-conflicts": "Conflits de fusion", "button-copy-sync-log": "Copier le journal des synchronisations", "msg-successfully-copied-sync-log": "Journal des synchronisations copié avec succès.", "button-retry": "Réessayer", "button-purchase-subscription": "Acheter", "label-third-party-sync-warning": "Détection d'un conflit avec le service de synchronisation de fichiers.", "label-third-party-sync-warning-desc": "Attention : votre coffre semble être utilisé par {{service}} en tant que service de synchronisation tiers. Si vous souhaitez utiliser Obsidian Sync pour ce coffre, vous risquez de rencontrer des conflits, une corruption de fichiers ou une perte de données.", "label-icloud-drive-warning": "Si vous utilisez iCloud Drive, vos dossiers Documents et Bureau pourraient être synchronisés avec iCloud. Cela pourrait provoquer des conflits avec Obsidian Sync.", "option-remote-vault": "Coffre distant", "button-choose-remote-vault": "Choisir", "button-manage-remote-vault": "Gérer", "option-remote-vault-desc-connected": "Actuellement connecté au coffre distant \"{{name}}\".", "option-remote-vault-desc-not-connected": "Actuellement non connecté à un coffre distant.", "option-sync-status": "État de la synchronisation", "option-sync-status-desc-paused": "Obsidian Sync est en pause.", "option-sync-status-desc-running": "Obsidian Sync est activé et en cours de fonctionnement.", "option-device-name": "Nom de l'appareil", "option-device-name-desc": "Ce nom sera affiché dans le journal des synchronisations. Laissez vide pour utiliser le nom par défaut.", "button-resume": "Reprendre", "button-pause": "Pause", "option-view-deleted-files": "Fichiers supprimés", "option-view-deleted-files-desc": "Afficher et récupérer les fichiers supprimés.", "option-sync-log": "Activité de synchronisation", "option-sync-log-desc": "Afficher le journal des synchronisations récentes.", "button-view": "Voir", "button-bulk-restore": "Tout récupérer", "button-restore-files_zero": "Restaurer les fichiers", "button-restore-files": "{{count}} fichier restauré", "button-restore-files_plural": "{{count}} fichiers restaurés", "msg-restoring": "Récupération...", "msg-restoring-complete": "`Récupération complète : {{succeeded}} réussi et {{failed}} échec.`", "option-vault-size": "Taille du coffre", "option-vault-size-desc": "Vous utilisez {{size}} sur {{limit}}", "option-vault-size-unknown": "Impossible de retrouver la taille du coffre.", "option-vault-size-loading": "Récupération de la taille du coffre...", "option-over-size": "Taille du coffre au-dessus de la limite", "option-almost-over-size": "La taille du coffre approche la limite", "msg-largest-files": "Voir les fichiers les plus volumineux", "msg-largest-files-desc": "Voici les fichiers téléversés qui prennent le plus de place. Après la suppression des pièces jointes, utilisez le bouton purger pour libérer l'espace sur le coffre distant.", "button-upgrade-storage": "Augmenter le stockage", "button-purge-remote": "Purger", "button-hide-my-changes": "Masquer mes changements", "tooltip-purge-remote": "Efface de manière permanente les pièces jointes supprimées de votre coffre distant et ainsi libère de l'espace.", "msg-purge-complete": "Purge complète.", "option-prevent-sleep": "Empêcher la mise en veille de l'appareil", "option-prevent-sleep-desc": "Empêche l'appareil de se mettre en veille lorsqu'il reste des fichiers à synchroniser.", "option-selective-sync": "Synchronisation sélective", "option-excluded-folders": "Dossiers exclus", "option-excluded-folder-desc": "Empêche la synchronisation de certains dossiers.", "option-currently-excluded-folders": " Les dossiers suivants sont actuellement exclus :", "button-manage-excluded-folders": "Gérer", "option-sync-image": "Synchronisation des images", "option-sync-image-desc": "Synchronise les fichiers image ayant ces extensions : {{extensions}}.", "option-sync-audio": "Synchronisation des audios", "option-sync-audio-desc": "Synchronise les fichiers audio ayant ces extensions : {{extensions}}.", "option-sync-video": "Synchronisation des vidéos", "option-sync-video-desc": "Synchronise les fichiers vidéo ayant ces extensions : {{extensions}}.", "option-sync-pdf": "Synchronisation des PDF", "option-sync-pdf-desc": "Synchronise les fichiers PDF.", "option-sync-unsupported": "Synchronisation de tous les autres types", "option-sync-unsupported-desc": "Synchronise les types de fichiers non pris en charge par Obsidian.", "option-vault-config-sync": "Configuration de la synchronisation du coffre", "option-view-config-files": "Historique des versions des paramètres", "option-view-config-files-desc": "Affiche et restaure l'historique des versions des fichiers de paramètres.", "option-sync-app": "Réglages principaux", "option-sync-app-desc": "Synchronise les paramètres de l'éditeur, des fichiers, des liens, des raccourcis personnalisés, etc.", "option-sync-appearance": "Paramètres d'apparence", "option-sync-appearance-desc": "Synchronise les paramètres d'apparence tels que le mode sombre, le thème actif et les extraits CSS activés.", "option-sync-appearance-data": "Thèmes et extraits CSS", "option-sync-appearance-data-desc": "Synchronise les thèmes et les extraits CSS téléchargés. Dépend aussi du choix des paramètres précédents.", "option-sync-hotkey": "Raccourcis clavier", "option-sync-hotkey-desc": "Synchronise les raccourcis clavier personnalisés.", "option-sync-core-plugin": "Liste des modules principaux actifs", "option-sync-core-plugin-desc": "Synchronise la liste des modules principaux actifs.", "option-sync-core-plugin-data": "Paramètres des modules principaux", "option-sync-core-plugin-data-desc": "Synchronise les paramètres des modules principaux.", "option-sync-community-plugin": "Liste des modules complémentaires actifs", "option-sync-community-plugin-desc": "Synchronise les modules complémentaires actifs.", "option-sync-community-plugin-data": "Liste des modules complémentaires installés", "option-sync-community-plugin-data-desc": "Synchronise les modules complémentaires installés (Fichiers .js, .css, et manifest.json) ainsi que leurs paramètres.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync est le service de synchronisation complémentaire d'Obsidian, avec chiffrement de bout en bout et historique des instantanés.", "label-account-required": "Pour démarrer la synchronisation, veuillez vous connecter ou créer un nouveau compte Obsidian.", "label-current-file": "Fichier actuel", "label-sync-changes": "Synchroniser les changements", "label-today": "Aujourd'hui", "label-yesterday": "Hier", "label-this-week": "Cette semaine", "label-older": "Plus ancien", "label-last-sync": "Dernière synchronisation", "label-more": "{{count}} supplémentaires", "button-sign-up": "S'inscrire", "button-log-in": "S'identifier", "label-manage-excluded-folders": "Gérer les dossiers qui sont exclus", "label-number-of-folders-excluded": "{{folders}} sont actuellement exclus de la synchronisation.", "label-add-excluded-folder": "Exclure un dossier", "label-add-excluded-folder-desc": "Vous pouvez exclure à la fois les dossiers existants et les dossiers qui n'ont pas encore été créés.", "tooltip-remove-excluded-folder": "Retirer de la liste des exclus", "label-setup-connection": "Paramétrer la connexion", "label-connecting-to-vault": "Connexion...", "label-connection-failed": "Echec de la connexion", "label-connection-failed-desc": "Echec de la connexion au coffre distant.", "label-now-connected-to-vault": "Vous êtes maintenant connecté à \"{{name}}\".", "button-start-syncing": "Démarrer la synchronisation", "label-confirm-merge-vault": "Confirmer la fusion des coffres", "msg-vault-has-notes": "Votre coffre local contient déjà quelques notes.", "msg-vault-merge-warning": "Si vous vous connectez à l'espace de stockage distant \"{{nom}}\", les notes de votre espace de stockage local seront fusionnées avec les notes de votre espace de stockage distant. En cas de conflit, la version la plus récente de la note sera préservée.", "tooltip-update-setting-on-all-devices": "Veuillez mettre à jour cette option et redémarrer l'application sur tous les appareils où vous souhaitez qu'elle prenne effet.", "label-sharing-with-users": "Ce coffre distant est actuellement partagé avec les personnes suivantes.", "label-not-sharing": "Ce coffre distant n'est actuellement partagé avec personne.", "label-vaults-shared-with-you": "Coffres partagés avec vous.", "tooltip-leave-vault-sharing": "Arrêter de collaborer sur ce coffre", "label-leave-vault-confirmation": "Confirmer l'arrêt de la collaboration", "label-leave-vault-confirmation-details": "Cela supprimera ce coffre de la liste des coffres-forts partagés avec vous. Cette action ne peut pas être annulée.", "label-leave-vault-confirmation-details-2": "Veuillez contacter le propriétaire du coffre si vous souhaitez collaborer à nouveau sur ce coffre.", "button-leave": "Quitter", "msg-error-failed-to-fetch": "Echec lors du chargement des coffres distants.", "label-require-subscription-to-connect": "Vous avez besoin d'un abonnement à Obsidian Sync pour vous connecter à ce coffre.", "option-contact-support": "Contacter le support", "option-contact-support-desc": "Si vous rencontrez des problèmes avec Obsidian Sync, veuillez nous contacter pour que nous puissions vous aider ! Vous pouvez nous joindre à support@obsidian.md.", "button-copy-debug": "Copier les info de débogage", "button-email-support": "Support par mail", "label-sync-disconnected": "Sync n'est pas connecté à un coffre distant.", "msg-remote-vault-limit-hit": "Obsidian Sync vous permet de créer jusqu'à 5 coffres distants. Pour créer un nouveau coffre distant, veuillez supprimer un coffre existant.", "label-upgrade-vault": "Mettre à niveau le coffre", "label-upgrade-vault-encryption": "Mettre à niveau le chiffrement du coffre", "label-upgrade-vault-encryption-desc": "Il y a une nouvelle version de chiffrement disponible pour les coffres distants.", "label-migrate-remote-vault": "Migrer le coffre distant", "label-remote-vault-configuration": "Configuration du coffre distant", "button-migrate": "Migrer", "msg-recreate-remote-vault": "Ceci supprimera votre coffre distant et le recréera avec le dernier chiffrement. Les fichiers locaux ne seront pas affectés, mais l'historique des versions sera perdu.", "label-confirm-migrate": "Confirmer la migration du coffre", "msg-migrate-pre-confirmation-part1": "Pour mettre à niveau votre chiffrement, toutes les données du coffre seront à nouveau téléversées vers les serveurs Obsidian Sync en utilisant la nouvelle méthode de chiffrement. Ceci supprimera de manière définitive toute les données chiffrées avec l'ancienne méthode, y compris l'historique de version de votre coffre.", "msg-migrate-pre-confirmation-part2": "Important : nous vous recommandons fortement de créer une sauvegarde de votre coffre avant de procéder afin d'éviter toute perte de données.", "msg-migrate-pre-confirmation-part3": "Après la mise à niveau, vous devrez reconnecter tous vos appareils au coffre distant mis à niveau.", "msg-migrate-confirmation": "Migrer votre coffre peut prendre du temps. Nous devons conserver Obsidian actif sur cet appareil pour téléverser à nouveau toutes vos notes et pièces jointes. Il est préférable de faire ceci sur votre appareil principal.", "msg-migrate-confirmation-size": "Vous avez {{size}} de données. La migration de votre coffre peut prendre du temps. Vous devrez conserver Obsidian actif sur cet appareil pour téléverser à nouveau toutes vos notes et pièces jointes. Il est préférable de faire ceci sur votre appareil principal.", "msg-proceed-prompt": "Voulez-vous continuer ?", "msg-vault-migration-started": "Migration du coffre en cours." }, "file-recovery": { "name": "Récupération de fichier", "desc": "Permet de restaurer des instantanés récents en cas de perte de données accidentelle. Les instantanés ne sont enregistrés que pour les fichiers Markdown.", "action-open": "Ouvrir les instantanés", "option-interval": "Intervalle entre les instantanés", "option-interval-description": "Intervalle minimal en minutes entre l'enregistrement de deux instantanés.", "option-keep": "Durée de l'historique", "option-keep-description": "Durée en jours pendant laquelle les instantanés sont conservés.", "option-open-history": "Instantanés", "option-open-history-description": "Afficher et restaurer les instantanés enregistrés.", "button-view-history": "View", "option-clear": "Supprimer l'historique", "option-clear-description": "Efface tout l'historique des instantanés.", "button-clear-history": "Supprimer", "label-clear-warning": "Souhaitez-vous vraiment supprimer tous les instantanés ? Seuls les instantanés seront supprimés, aucun fichier de votre coffre ne sera touché.", "msg-clear-complete": "Instantanés effacés.", "label-no-history-found": "Aucun instantané trouvé.", "placeholder-choose-file": "Choisir un fichier...", "label-select-file": "Sélectionner un fichier sur la gauche pour en afficher les instantanés." }, "note-composer": { "name": "Compositeur de note", "desc": "Fusionne, scinde et restructure des notes.", "option-confirm-file-merge": "Confirmer la fusion du fichier", "option-confirm-file-merge-description": "Invite avant de fusionner deux fichiers.", "option-split-replacement-text": "Texte après extraction", "option-split-replacement-text-description": "Que montrer à la place du texte sélectionné après l'extraction.", "option-choice-split-replacement-text-link": "Lien vers un nouveau fichier", "option-choice-split-replacement-text-embed": "Incorporer un nouveau fichier", "option-choice-split-replacement-text-none": "Rien", "option-template-file": "Emplacement du fichier de modèle", "option-template-file-description": "Fichier de modèle à utiliser lors de la fusion ou de l'extraction. Variables disponibles : {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, par exemple {{date:YYYY-MM-DD}}.", "command-merge-file": "Fusionner le fichier actuel avec un autre fichier...", "action-merge-file": "Fusionner tout le fichier avec...", "label-no-files": "Aucun fichier trouvé.", "instruction-navigate": "pour naviguer", "instruction-merge": "pour fusionner", "instruction-create-new": "pour créer un nouveau", "instruction-merge-at-top": "pour fusionner en haut", "instruction-dismiss": "pour annuler", "prompt-select-file-to-merge": "Sélectionner un fichier à fusionner...", "label-merge-file": "Fusionner le fichier", "label-confirm-file-merge": "Êtes-vous sûr de vouloir fusionner \"{{file}}\" vers \"{{destination}}\" ? \"{{file}}\" sera supprimé.", "button-merge": "Fusionner", "command-split-file": "Extraire la sélection actuelle...", "command-extract-heading": "Extraire cette entête...", "instruction-append": "pour ajouter en bas", "instruction-prepend": "pour ajouter en haut", "msg-fail-to-fetch-template": "Échec de récupération du fichier de modèle : \"{{template}}\" n'a pas été trouvé.", "msg-fail-to-find-heading": "Impossible de trouver l'entête" }, "web-viewer": { "name": "Afficheur web", "history-name": "Historique web", "desc": "Ouvrir les liens externes vers des pages web dans Obsidian.", "action-open": "Ouvrir l'afficheur web", "action-show-history": "Afficher l'historique", "action-toggle-reader-mode": "Activer le mode lecture", "action-copy-u-r-l": "Copier l'URL", "action-remove-from-history": "Supprimer de l'historique", "action-clear-history": "Supprimer l'historique", "action-open-link": "Ouvrir le lien", "action-open-link-new-tab": "Ouvrir le lien dans un nouvel onglet", "action-open-link-new-split": "Ouvrir le lien à droite", "action-open-link-new-window": "Ouvrir le lien dans une nouvelle fenêtre", "action-open-link-default-browser": "Ouvrir le lien dans le navigateur par défaut", "action-open-link-web-viewer": "Ouvrir le lien dans l'afficheur web", "action-copy-link-address": "Copier l'adresse du lien", "action-bookmark-link": "Mettre le lien en favori", "action-search-for-query": "Chercher “{{query}}”", "action-extract-selection": "Extraire la sélection vers une nouvelle note", "action-copy-selection": "Copier", "action-cut": "Couper", "action-paste": "Coller", "action-delete": "Supprimer", "action-select-all": "Sélectionner tout", "action-save-to-vault": "Enregistrer dans le coffre", "action-save-image": "Enregistrer l'image dans le coffre", "action-copy-image": "Copier l'image", "action-copy-image-link": "Copier le lien de l'image", "action-backward": "Précédent", "action-forward": "Suivant", "action-reload": "Recharger", "action-bookmark-page": "Marquer la page", "action-open-default-browser": "Ouvrir dans le navigateur par défaut", "action-focus-address-bar": "Focus sur la barre d'addresse", "action-search-the-web": "Rechercher sur Internet", "action-clear-data": "Supprimer les données", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "Ceci peut vous déconnecter de sites Internet.", "action-clear-data-cache": "Données en cache", "action-clear-data-history": "Historique", "action-clear-data-all": "Toutes les données de l'afficheur web", "action-clear-data-all-desc": "Supprime toutes les données ci-dessus ainsi que le stockage local et les sessions actives.", "label-new-web-viewer": "Nouvel afficheur web", "label-fail-to-load": "Impossible de charger ce site.", "label-fail-to-load-desc": "Soyez certains que vous disposez de la bonne adresse.", "label-search-the-web": "Chercher sur Internet", "label-web-viewer-data": "Données du visualisateur web", "label-clear-data": "Effacer les données du visualisateur web", "option-open-external-links": "Ouvrir les liens externes", "option-open-external-links-desc": "Ouvrir les liens dans Obsidian plutôt que dans le système par défaut.", "option-homepage": "Page d'accueil", "option-homepage-desc": "Quelle page afficher lorsque un visualisateur web est ouvert", "option-saved-markdown": "Dossier des pages sauvegardé", "option-saved-markdown-desc": "Les sites Internet sauvegardés en Markdown seront placés ici.", "option-search-engine": "Moteur de recherche", "option-search-engine-desc": "Moteur de recherche utilisé lors d'une recherche depuis la barre d'adresses.", "option-search-engine-custom": "Moteur de recherche personnalisé", "option-search-engine-custom-desc": "Utilise %s à la place de la requête.", "option-search-engine-custom-drop-down": "Personnalisé", "option-enable-adblock": "Active le bloqueur de publicités", "option-enable-adblock-desc": "Activé, les listes de filtre ci-dessous seront appliquées à tous les onglets du visualisateur web.", "option-adblock-lists": "Règles de blocage publicitaire", "option-adblock-lists-desc": "Une URL de liste de blocage par ligne. Partagé par tous les coffres.", "option-adblock-frequency": "Fréquence de mise à jour du blocage publicitaire.", "option-adblock-frequency-desc": "Jours entre les mises à jours des listes de filtre. 0 signifie désactivé. Partagé par tous les coffres.", "title-clear-data-modal": "Supprimer les données du visualisateur web", "msg-error-extracting-content": "Erreur inattendue lors de l'extraction du contenu.", "msg-error-finding-content": "Impossible de trouver du contenu à extraire." }, "canvas": { "name": "Canvas", "desc": "Arranger et connecter des notes dans une toile infinie.", "action-add-note": "Ajouter une note du coffre", "action-add-media": "Ajouter un média du coffre", "action-add-card": "Ajouter une carte", "action-add-website": "Ajouter une page web", "action-create-group": "Créer un groupe", "action-create-with-size": "Créer une carte avec une taille spécifique", "action-convert-to-file": "Convertir en fichier...", "action-drag-to-add-note": "Glisser pour ajouter une note du coffre", "action-drag-to-add-media": "Glisser pour ajouter un média du coffre", "action-drag-to-add-card": "Glisser pour ajouter une carte", "action-edit-label": "Modifier l'étiquette", "action-remove-label": "Supprimer l'étiquette", "action-search-file": "Chercher pour un fichier", "action-set-color": "Définir la couleur", "action-align": "Aligner", "action-align-left": "Aligner à gauche", "action-align-center": "Aligner au centre", "action-align-right": "Aligner à droite", "action-align-top": "Aligner en haut", "action-align-middle": "Aligner au milieu", "action-align-bottom": "Aligner en bas", "action-distribute-horizontal-spacing": "Répartir l'espacement horizontal", "action-distribute-vertical-spacing": "Répartir l'espacement vertical", "action-justify-horizontally": "Justifier horizontalement", "action-justify-vertically": "Justifier horizontalement", "action-arrange-horizontally": "Disposer en ligne", "action-arrange-vertically": "Disposer en colonne", "action-arrange-grid": "Disposer en grille", "action-export-png": "Exporter comme image", "action-jump-to-group": "Passer au groupe", "action-set-background": "Définir l'arrière-plan", "action-edit-background": "Éditer l'arrière-plan", "action-replace-background": "Remplacer l'arrière-plan", "action-remove-background": "Supprimer l'arrière-plan", "label-no-images": "Aucune image trouvée.", "label-no-media": "No media found.", "label-export-png-desc": "Exporter \"{{title}}\" dans un fichier PNG avec les paramètres suivants.", "label-export-png-dimensions": "Dimensions estimées de l'image: {{dimensions}}", "label-distribute": "Distribuer", "label-justify": "Justifier", "label-arrange": "Disposer", "label-always": "Toujours", "label-hover": "Au survol", "label-never": "Jamais", "label-no-section-found": "Aucune section trouvée", "option-wheel-behavior": "Comportement par défaut de la roulette de la souris", "option-mod-drag-behavior": "Comportement par défaut de {{key}}", "option-show-menu": "Afficher le menu", "option-new-canvas-location": "Emplacement par défaut pour les nouvelles toiles", "option-new-canvas-location-description": "Emplacement des fichiers \"canvas\" nouvellement créées.", "option-new-canvas-folder-path": "Dossier où créer les nouvelles toiles", "option-new-canvas-folder-path-description": "Les fichiers \"canvas\" nouvellement créées apparaissent dans ce dossier.", "option-node-label": "Afficher l'étiquette des cartes", "option-snap-to-grid": "Aligner sur la grille", "option-snap-to-grid-desc": "Alignement des cartes sur la grille d'arrière-plan lors de leur déplacement et de leur redimensionnement.", "option-snap-to-objects": "Aligner par rapport aux objets", "option-snap-to-objects-desc": "Adaptation des cartes aux objets proches lors de leur déplacement et de leur redimensionnement.", "option-zoom-breakpoint": "Seuil de zoom pour cacher le contenu des cartes", "option-zoom-breakpoint-desc": "Des valeurs plus faibles augmenteront les performances mais masqueront le contenu de la carte plus tôt lors d'un zoom arrière.", "option-export-png-show-logo": "Afficher le logo", "option-export-png-show-logo-desc": "Cela affichera le logo d'Obsidian en bas à droite.", "option-export-png-privacy-mode": "Mode de confidentialité", "option-export-png-privacy-mode-desc": "Ceci obscurcira tout texte sur votre toile.", "option-export-png-zoom": "Zoom", "option-export-png-zoom-desc": "Un zoom plus élevé génère une image de plus haute résolution.", "option-export-png-frame": "Fenêtre d'affichage", "option-export-png-frame-desc": "Choisir d'afficher le rendu de l'ensemble de la toile ou seulement la fenêtre actuellement visible.", "option-export-png-frame-full": "Toile complète", "option-export-png-frame-viewport": "Fenêtre d'affichage uniquement", "option-background-cover": "Couvrir", "option-background-ratio": "Conserver le rapport hauteur/largeur", "option-background-repeat": "Répéter", "action-new-canvas": "Nouvelle toile", "action-remove": "Supprimer", "action-narrow-heading": "Réduire à l'en-tête...", "action-narrow-block": "Réduire au bloc...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Échanger le fichier...", "action-change-url": "Changer l'URL...", "action-zoom-to-fit": "Zoomer pour ajuster", "action-zoom-to-selection": "Zoomer sur la sélection", "action-reload-page": "Recharger la page", "action-follow-connection": "Suivre la connexion", "command-create-new-canvas": "Créer une nouvelle toile", "command-convert-to-file": "Convertir au fichier...", "instruction-narrow-heading": "pour intégrer l'en-tête", "instruction-narrow-block": "pour intégrer le bloc", "instruction-jump-to-group": "pour naviguer au groupe", "prompt-to-narrow": "Taper le nom de l'entête", "label-enter-url": "Entrer l'URL", "label-empty-embed": "\"{{linktext}}\" ne peut pas être trouvé.", "prompt-add-text": "Ajouter du texte...", "prompt-start-search": "Taper pour rechercher...", "label-canvas-help": "Aide concernant la toile", "label-canvas-settings": "Paramètre des canvas", "label-no-narrow": "Afficher le fichier entier", "label-show-default-view": "Show default view", "label-readonly": "Lecture-seule", "label-disable-readonly": "Désactiver la lecture-seule", "label-pan": "Panoramique", "label-pan-horizontal": "Panoramique horizontal", "label-zoom": "Zoomer", "label-select-all": "Tout sélectionner", "label-add-remove-selection": "Ajouter à / supprimer de la sélection", "label-clone-card": "Cloner la carte", "label-constrain-movement-axis": "Limitation du mouvement de la carte à l'axe", "label-disable-drag-snapping": "Désactiver le verrouillage lors d'un déplacement", "label-remove-card": "Supprimer la carte", "label-drag-from-below": "Faites glisser depuis le bas ou double-cliquez", "label-longpress": "Touchez et maintenez pour ajouter / déplacer / sélectionner", "label-drag-pan": "Faire glisser pour obtenir un panoramique", "label-pinch-zoom": "Pincer pour agrandir", "label-space-drag-pan": "Espace + glisser pour faire un panoramique", "label-scroll-to-zoom": "Faites défiler pour zoomer", "label-untitled-group": "Groupe sans titre", "label-line-direction": "Direction de la ligne", "label-nondirectional": "Non directionnel", "label-unidirectional": "Unidirectionnel", "label-bidirectional": "Bidirectionnel", "label-image": "Image", "label-style": "Style", "msg-no-groups-found": "Aucun groupe trouvé", "msg-export-failed-empty-canvas": "Impossible d'exporter une toile vide", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Tout surligner", "action-match-diacritics": "Correspondance des diacritiques", "action-whole-words": "Mot entier", "action-show-thumbnails": "Vignettes", "action-show-outline": "Table des matières", "action-reveal-in-outline": "Afficher la page dans la table des matières", "action-toggle-sidebar": "Afficher le ruban latéral", "action-previous-page": "Page précédente", "action-next-page": "Page suivante", "action-fit-width": "Ajuster la largeur", "action-fit-height": "Ajuster la hauteur", "action-save-p-d-f-location": "Sauvegarder la position actuelle dans le document", "action-copy-annotation": "Copier l'annotation", "action-copy-quote": "Copier comme citation", "action-copy-selection-link": "Copier le lien vers la sélection", "action-copy-annot-link": "Copier le lien vers l'annotation", "action-copy-section-link": "Copier le lien vers la section", "action-copy-section-link-title": "Copier le lien vers “{{title}}”", "action-copy-page-link": "Copier le lien vers la page {{page}}", "msg-max-search-results": "{{current}} sur plus de {{limit}} résultats", "msg-search-count": "{{current}} sur {{total}} résultat", "msg-search-count_plural": "{{current}} sur {{total}} résultats", "msg-password-protected": "Ce PDF est protégé par un mot de passe.", "msg-invalid-password": "Mot de passe invalide", "msg-enter-password": "Saisissez le mot de passe ci-dessous", "label-of-pages": "de {{count}}", "label-page-of-pages": "({{current}} de {{count}})", "label-spread-single": "Page unique", "label-spread-odd": "Deux pages (impaires)", "label-spread-even": "Deux pages (paires)", "tooltip-sidebar-options": "Option du ruban latéral", "tooltip-display-options": "Options d'affichage", "label-adapt-to-theme": "Adapter au thème", "label-page": "page {{page}}", "page_landmark": "Page {{page}}", "thumb_page_title": "Page {{page}}", "thumb_page_canvas": "Page {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Liste", "option-unknown": "Inconnu", "option-text": "Texte", "option-aliases": "Alias", "option-tags": "Mots-clés", "option-folder": "Folder", "option-file": "File", "option-date": "Date", "option-datetime": "Date & heure", "option-number": "Nombre", "option-checkbox": "Case à cocher" }, "value-suggestion": { "key-link-note": "Type [[", "instruction-link-note": "pour lier la note", "instruction-dismiss": "pour annuler" }, "option-property-type": "Type de propriété", "msg-empty-property-name": "Le nom de la propriété ne peut être vide.", "msg-duplicate-property-name": "La propriété existe déjà", "msg-invalid-tag": "Nom de mot-clé invalide", "msg-invalid-number": "Nombre invalide", "msg-invalid-properties": "Impossible de lire les propriétés.", "label-no-value": "Aucune valeur", "label-heading": "Propriétés", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Erreur de syntax. Le frontmatter est invalide.", "label-add-property-button": "Ajouter une propriété", "label-type-mismatch-warning": "Incompatibilité du type, attendue {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Colonne", "label-row": "Ligne", "action-row-after": "Ajouter une ligne après", "action-column-after": "Ajouter une colonne après", "action-row-before": "Ajouter une ligne avant", "action-row-up": "Déplacer la ligne vers le haut", "action-row-down": "Déplacer la ligne vers le bas", "action-column-before": "Ajouter une colonne avant", "action-column-left": "Déplacer la colonne vers la gauche", "action-column-right": "Déplacer la colonne vers la droite", "action-duplicate-row": "Dupliquer la ligne", "action-duplicate-column": "Dupliquer la colonne", "action-delete-row": "Supprimer la ligne", "action-delete-column": "Supprimer la colonne", "action-align-left": "Aligner à gauche", "action-align-center": "Aligner au centre", "action-align-right": "Aligner à droite", "action-delete-selection": "Supprimer la cellule", "action-clear-selection": "Nettoyer les cellules", "action-sort-a-z": "Tri par colonne (A à Z)", "action-sort-z-a": "Tri par colonne (Z à A)", "label-command": "Tableau : {{command}}" }, "callout": { "option-type": "Type de mise en avant", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Succès", "question": "Question", "warning": "Attention", "quote": "Citation", "example": "Exemple", "none": "None" }, "option-other": "Autres...", "option-other-placeholder": "Type de mise en avant..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} mot", "word-with-count_plural": "{{count}} mots", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} caractère", "character-with-count_plural": "{{count}} caractères", "link-with-count": "{{count}} lien", "link-with-count_plural": "{{count}} liens", "file-with-count": "{{count}} fichier", "file-with-count_plural": "{{count}} fichiers", "folder-with-count": "{{count}} dossier", "folder-with-count_plural": "{{count}} dossiers", "backlink-with-count": "{{count}} rétrolien", "backlink-with-count_plural": "{{count}} rétroliens", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} propriété", "properties-with-count_plural": "{{count}} propriétés", "site-with-count": "{{count}} site", "site-with-count_plural": "{{count}} sites", "plugin-with-count": "{{count}} module", "plugin-with-count_plural": "{{count}} modules", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} thème", "theme-with-count_plural": "{{count}} thèmes" } }{ "setting": { "options": "Roghanna", "plugin": "Breiseán", "builtin-plugins": "Breiseáin lárnacha", "plugin-options": "Roghanna breiseán", "folder-path-example-placeholder": "Sampla: fillteán 1/fillteán 2", "file-path-example-placeholder": "Sampla: fillteán/nóta", "msg-restart-required": "Éilíonn an rogha seo a athrú chun atosú a bheith i bhfeidhm.", "editor": { "name": "Eagarthóir", "section-behavior": "Iompar", "section-display": "Taispeáin", "option-spellcheck": "Seiceáil litrithe", "option-spellcheck-description": "Cas ar an seiceálaí litrithe.", "spellcheck-languages": "Teangacha seiceála litrithe", "spellcheck-languages-description": "Roghnaigh na teangacha chun an seiceálaí litrithe a úsáid.", "spellcheck-languages-mac-description": "Braithfidh an seiceálaí litrithe dúchasach an teanga atá á úsáid duit ar macOS go huathoibríoch.", "spellcheck-dict": "Foclóir seiceála litrithe", "spellcheck-dict-empty": "Tá an foclóir seiceála litrithe folamh.", "option-show-inline-title": "Taispeáin teideal inlíne", "option-show-inline-title-description": "Taispeánann ainm an chomhaid mar theideal in-eagarthóireachta inlíne le hábhar an chomhaid.", "option-readable-line-length": "Fad líne inléite", "option-readable-line-description": "Fad líne uasta a theorannú. Oireann níos lú ábhar ar an scáileán, ach tá bloic fhada téacs níos inléite.", "option-strict-line-break": "Sosanna líne dhian", "option-strict-line-break-description": "Déanann sonraíochtaí Markdown neamhaird le sosanna líne aonair i radharc léithe Múch é seo chun sosanna líne aonair a dhéanamh le feiceáil.", "option-properties-in-document": "Airíonna sa doiciméad", "option-properties-in-document-description": "Roghnaigh conas a thaispeántar airíonna ag barr na nótaí. Roghnaigh “foinse” chun airíonna a thaispeáint mar YAML amh.", "option-properties-hidden": "I bhfolach", "option-properties-visible": "Infheicthe", "option-properties-source": "Foinse", "option-auto-pair-brackets": "Lúibíní uath-péire", "option-auto-pair-brackets-description": "Péireáil lúibíní agus luachana go huathoibr", "option-auto-pair-markdown": "Comhréir Markdown uathoibríoch péire", "option-auto-pair-markdown-description": "Péireáil siombailí go huathoibríoch le haghaidh trom, iodálach, cód agus go leor eile.", "option-smart-indent-lists": "Liostaí cliste", "option-smart-indent-lists-description": "Socraigh ionchur go huathoibríoch agus cuir míreanna liosta i gceart.", "option-fold-heading": "Ceannteideal fillte", "option-fold-heading-description": "Ligeann duit gach ábhar a fhilleadh faoi cheannteideal.", "option-fold-indent": "Fill an bhliain", "option-fold-indent-description": "Ligeann duit cuid de ionbhrú a fhilleadh, mar shampla liostaí.", "option-default-new-tab-view": "Féach réamhshocraithe do chluaisíní nua", "option-default-new-tab-view-description": "An dearcadh réamhshocraithe ina n-osclaítear cluaisín Markdown nua isteach.", "option-default-new-tab-view-editing": "Féach eagarthóireachta", "option-default-new-tab-view-reading": "Féach léitheoire", "option-open-tab-in-foreground": "Déan cluaisíní nua a dhíriú", "option-open-tab-in-foreground-description": "Nuair a osclaíonn tú nasc i gcluaisín nua, aistrigh chuige láithreach.", "option-default-editing-mode": "Modh eagarthóireachta réamh", "option-default-editing-mode-description": "An modh eagarthóireachta réamhshocraithe tosóidh cluaisín nua leis.", "option-default-editing-mode-source": "Modh foinse", "option-default-editing-mode-live-preview": "Réamhamharc Beo", "option-show-line-number": "Taispeáin uimhreacha líne", "option-show-line-number-description": "Taispeáin uimhreacha líne sa gutter.", "option-indentation-guide": "Taispeáin treoracha ionghabhála", "option-indentation-guide-description": "Taispeáin línte caidrimh ingearacha idir earraí liosta.", "option-use-tabs": "Ionchur ag baint úsáide as cluaisíní", "option-use-tabs-description": "Úsáid cluaisíní chun ísliú tríd an eochair “Tab” a bhrú. Mhúchadh é seo go dtí an bhliain ag baint úsáide as 4 spás.", "option-tab-size": "Leithead amhairc insint", "option-tab-size-description": "Líon na spásanna a thabharfaidh carachtar cluaisín mar.", "option-rtl": "Ar dheis go clé (RTL)", "option-rtl-description": "Socraíonn treo réamhshocraithe téacs na nótaí ar dheis go clé.", "option-auto-convert-html": "Tiontaigh HTML greamaithe go Markdown", "option-auto-convert-html-description": "Tiontaigh HTML go Markdown go huathoibríoch agus tú ag greamú agus tarraingt-agus-scaoil ó leathanaigh ghréasáin. Úsáid Ctrl/Cmd+Shift+V chun HTML a ghreamú gan tiontú.", "option-vim-key-bindings": "Ceangail eochair Vim", "option-vim-key-bindings-description": "Úsáid eochrcheangail Vim agus tú ag eagarthóireacht", "option-vim-key-bindings-mobile": "Ar ghléasanna soghluaiste, tá an socrú seo in aghaidh an fheiste agus níl sé sioncronaithe tríd an gcomhad cumraithe.", "option-reindex-vault": "Taisce clár a thógáil", "option-reindex-vault-description": "D'fhéadfadh cúpla soicind go cúpla nóiméad a thógáil an taisce a aththógáil ag brath ar mhéid do chluiche.", "label-reindex": "Ag tógáil", "label-confirm-enable-vim": "Deimhnigh dul isteach i mód Vim", "label-vim-warning": "Tá modh Vim le haghaidh eagarthóireacht éifeachtach téacs ach is féidir a bheith frith-iomasach go leor Mura bhfuil tú eolach ar Vim, d'fhéadfadh an rogha seo go mbeadh cuma air go bhfuil Obsidian stop ag obair.", "label-vim-test": "Chun a fhíorú go bhfuil a fhios agat do bhealach timpeall Vim, cuir isteach an t-ordú chun Vim a scor gan sábháil thíos:", "label-vim-your-answer": "Do fhreagra", "placeholder-enter-command": "Cuir isteach an t-ordú...", "button-confirm-enable-vim": "Lig dom Vim a chumasú", "msg-vim-mode-enabled": "Tá an t-ordú ceart. Modh Vim cumasaithe anois.", "msg-vim-mode-not-enabled": "Tá an t-ordú mícheart. Tá modh Vim faoi dhíchumasacht chun tú a chosaint.", "msg-vim-mode-please-enter-command": "Cuir isteach an t-ordú chun mód Vim a chumasú" }, "file": { "name": "Comhaid agus naisc", "option-confirm-file-deletion": "Deimhnigh scriosadh comhad", "option-confirm-file-deletion-description": "Pras roimh scriosadh comhad.", "option-delete-destination": "Comhaid scriosta", "option-delete-destination-description": "Cad a tharlaíonn do chomhad tar éis duit é a scriosadh.", "option-choice-system-trash": "Bogadh chuig bruscar an chórais", "option-choice-vault-trash": "Bogadh chuig bruscar Obsidian (fillteán.trash)", "option-choice-permanent-delete": "Scrios go buan", "option-always-update-links": "Nuashonraigh naisc inmheánacha", "option-always-update-links-description": "Mhúchadh chun tú a spreagadh chun naisc a nuashonrú tar éis comhad a athainmniú.", "option-new-note-location": "Suíomh réamhshocraithe le haghaidh nótaí nua", "option-new-note-location-description": "Nuair a chuirtear nótaí nua-chruthaithe. Déanfaidh socruithe breiseán athshlánú é seo.", "option-choice-vault-root": "Fillteán Vault", "option-choice-current-folder": "An fillteán céanna leis an comhad reatha", "option-choice-specified-folder": "Sa fhillteán a shonraítear thíos", "option-new-file-folder-path": "Fillteán chun nótaí nua a chruthú i", "option-new-file-folder-path-description": "Feicfidh nótaí nua-chruthaithe faoin bhfillteán seo. Déanfaidh socruithe breiseán athshlánú é seo.", "option-use-wiki-links": "Úsáid [[Wikilinks]]", "option-use-wiki-links-description": "Giniúint Wikilinks go huathoibríoch le haghaidh [[naisc]] agus! [[íomhánna]] in ionad naisc agus íomhánna Markdown. Díchumasaigh an rogha seo chun naisc Markdown a ghiniúint ina ionad sin.", "option-show-unsupported-files": "Gach síneadh comhaid a bhrath", "option-show-unsupported-files-description": "Taispeáin comhaid le haon síneadh fiú mura féidir le Obsidian iad a oscailt go dúchasach, ionas gur féidir leat nasc a dhéanamh leo agus iad a fheiceáil i File Explorer agus Quick Switcher.", "option-link-autocompleted-format": "Formáid nasc nua", "option-link-autocompleted-format-description": "Cad iad na naisc atá le cur isteach agus naisc inmheánacha á ghiniúint agat", "option-choice-shortest-linktext": "Conair is giorra nuair is féidir", "option-choice-relative-path": "Conair choibhneasta chuig comhad", "option-choice-absolute-path": "Conair iomlán i gclár", "option-new-attachment-location": "Suíomh réamhshocraithe do cheangaltán nua", "option-new-attachment-location-description": "Nuair a chuirtear ceangaltáin nua-bhreise.", "option-new-attachment-location-default": "ceangaltáin", "option-choice-subdirectory": "Sa fhofhillteán faoin bhfillteán reatha", "option-attachment-folder-path": "Conair fillteán ceangal", "option-attachment-folder-path-description": "Cuir comhaid ceangaltán nua-chruthaithe, mar íomhánna a cruthaíodh trí thaifeadtaí tarraing-agus-scaoil nó fuaime, san fhillteán seo", "option-attachment-subfolder-path": "Ainm an fho-fhillteáin", "option-attachment-subfolder-path-description": "Má tá do chomhad faoi “vault/folder”, agus má shocraíonn tú ainm an fho-fhillteáin go “ceangaltáin”, sábhálfar ceangaltáin chuig “vault/fillteán/ceangaltáin”.", "option-excluded-files": "Comhaid eisiata", "option-excluded-files-desc": "Beidh comhaid eisiata i bhfolach i gCuardach, Amharc Graf, agus Luanna Neamhnasctha, nach bhfuil chomh suntasach i gQuick Switcher agus moltaí nasc.", "label-no-excluded-filters-applied": "Ní chuirtear aon scagaire eisiata i bhfeidhm anois. Cuir ceann thíos.", "label-excluded-filters-applied": "Tá comhaid a mheaitseálann leis na scagairí seo a leanas eisiata", "label-excluded-filter": "Scagaire", "message-empty-filter": "Ní féidir leis an scagaire a bheith folamh", "placeholder-excluded-filter": "Cuir isteach cosán nó “/regex/”...", "option-uri-callbacks": "Ceadaigh aisghlaonna URI", "option-uri-callbacks-desc": "Cumasaigh úsáid x-callback-url trí x-success nó x-error agus URIs Obsidian á láimhseáil." }, "appearance": { "name": "Dealramh", "option-base-theme": "Scéim dathanna bonn", "option-base-theme-description": "Roghnaigh scéim dathanna réamhshocraithe Obsidian.", "option-accent-color": "Dath blas", "option-accent-color-description": "Roghnaigh an dath blas a úsáidtear ar fud an aip.", "dark-theme": "Dorcha", "light-theme": "Solas", "system-theme": "Oiriúnaigh don chóras", "option-font": "Cló", "option-advanced": "Ardleibhéal", "option-interface": "Comhéadan", "option-interface-font": "Cló comhéadan", "option-interface-font-description": "Socraigh cló bonn do Obsidian go léir.", "option-zoom-level": "Leibhéal súmáil", "option-zoom-level-description": "Rialaíonn sé leibhéal súmáil foriomlán an aip.", "option-text-font": "Cló téacs", "option-text-font-description": "Socraigh cló chun tuairimí a chur in eagar agus a léamh", "option-monospace-font": "Cló Monospace", "option-monospace-font-description": "Socraigh cló d'áiteanna cosúil le bloic cód agus tosaigh.", "label-single-font-currently-in-effect": " Cló atá i bhfeidhm faoi láthair: ", "label-multiple-fonts-currently-in-effect": " Tá na clónna seo a leanas i bhfeidhm faoi láthair:", "option-font-placeholder": "Cuir isteach ainm cló...", "label-no-custom-font-set": "Ní chuirtear aon chló saincheaptha i bhfeidhm faoi láthair. Cuir ceann thíos.", "label-font-applied": "Cuirfear an chéad chló ón liosta seo atá ar fáil ar do chóras i bhfeidhm.", "msg-font-not-found": "Ní bhraitear an cló seo ar do chóras.", "msg-font-found": "Braitear an cló seo ar do chóras.", "label-font-name": "Ainm cló", "option-community-themes": "Téamaí pobail", "option-community-themes-description": "Réamhamharc agus bain úsáid as téamaí iontacha a chruthaigh an pobal.", "button-browse-community-themes": "Brabhsáil", "option-font-size": "Méid cló", "option-font-size-description": "Méid cló i bpicteilíní a théann i bhfeidhm ar eagarthóireacht agus", "option-font-size-action": "Coigeartú tapa ar mhéid cló", "option-font-size-action-description": "Coigeartaigh méid an cló ag baint úsáide as Ctrl + Scroll, nó ag baint úsáide as an gcomhartha súmáil brúnt-súmá", "option-themes": "Téamaí", "option-manage-themes-description": "Bainistigh téamaí suiteáilte agus téamaí pobail a", "option-theme-button-manage": "Bainistiú", "option-choice-none": "Níl aon", "option-native-menus": "Biachláir dúchasacha", "option-native-menus-desc": "Meaitneoidh biachláir ar fud an aip an córas oibriúcháin. Ní bheidh tionchar ag do théama orthu.", "button-reload-themes": "Athluchtaigh téamaí", "msg-reloaded-themes": "Téamaí saincheaptha CSS athluchtaithe.", "button-open-themes-folder": "Fillteán téamaí osc", "option-css-snippets": "Snippets CSS", "label-no-css-snippets-found": "Níor aimsíodh aon snippets CSS.", "no-snippet-description": "Stóráiltear Snippets CSS i “{{path}}”.", "button-reload-snippets": "Athluchtaigh sraitheanna", "button-open-snippets-folder": "Oscail fillteán snippets", "msg-reloaded-snippets": "Snippets CSS athluchtaithe.", "option-toggle-snippet-description": "Cuir snippet CSS i bhfeidhm ag “{{path}}”.", "label-installed-themes": "Téama suiteáilte", "label-screenshot-unavailable": "Scáileán ar fáil", "label-default-theme": "Réamhshocraithe", "tooltip-click-to-enlarge": "Cliceáil chun méadú", "button-update": "Nuashonraigh", "label-currently-active": "Gníomhach", "option-frame-style": "Stíl fráma fuinneoige", "option-frame-description": "Cinneann sé stíl an bharra teidil de fhuinneoga Obsidian. Éilíonn atosú iomlán chun dul i bhfeidhm.", "option-frame-hidden": "I bhfolach (réamhshocraithe)", "option-frame-obsidian": "Fráma Obsidian", "option-frame-native": "Fráma Dúchasach", "option-custom-icon": "Deilbhín aip saincheaptha", "option-custom-icon-desc": "Socraigh deilbhín saincheaptha don aip", "button-choose-custom-icon": "Roghnú deilbhín saincheaptha", "option-configure-ribbon": "Cumraíocht roghchlár ribín", "option-configure-ribbon-desc": "Cumraigh na horduithe atá le feiceáil sa roghchlár ribín.", "option-mobile-quick-ribbon-item": "Mír ribín rochtana tapa", "option-mobile-quick-ribbon-item-desc": "Roghnaigh iompar an cnaipe ribín a thapáil sa roghchlár nascleanúna. De réir réamhshocraithe, osclóidh sé seo roghchlár a thaispeánann do chuid míreanna ribín", "option-mobile-quick-ribbon-default": "Oscail roghchlár ribín", "button-configure": "Cumraigh", "option-show-ribbon": "Taispeáin ribín", "option-show-ribbon-desc": "Taispeáin uirlisí ingearach ar thaobh na fuinneoige.", "label-additional-ribbon-items": "Míreanna ribín eile", "label-modal-configuration": "Roghchlár ribín", "label-modal-configuration-desc": "Roghnaigh na míreanna is mian leat a bheith gníomhach sa ribín. Tarraing agus scaoil chun an t-ordú a athrú.", "option-show-view-header": "Taispeáin barra teidil cluaisín", "option-show-view-header-desc": "Taispeáin an ceanntásc ag barr gach cluaisín.", "msg-updates-found": "Aimsíodh téama {{count}} le nuashonrú.", "msg-updates-found_plural": "Aimsíodh téamaí {{count}} le nuashonrú.", "button-check-for-updates": "Seiceáil nuashonruithe", "button-view-updates": "Féach nuashonruithe", "button-update-all-themes": "Nuashonraigh gach", "label-current-themes": "Téamaí pobail reatha", "label-currently-installed": "Tá téama {{count}} suiteáilte agat faoi láthair.", "label-currently-installed_plural": "Tá téamaí {{count}} suiteáilte agat faoi láthair." }, "hotkeys": { "name": "Hotkeys", "option-search": "Cuardaigh hotkeys", "option-search-desc": "Ag taispeáint hotkey {{count}}. ", "option-search-desc_plural": "Ag taispeáint hotkeys {{count}}. ", "option-search-conflict": "Ordú {{count}} le coinbhleachtaí.", "option-search-conflict_plural": "Orduithe {{count}} le coinbhleachtaí.", "prompt-filter": "Scagaire...", "tooltip-delete-hotkey": "Scrios hotkey", "label-waiting-for-hotkey-press": "Brúigh hotkey...", "label-show-all": "Gach", "label-show-unassigned": "Neamhshannaithe", "label-show-assigned": "Sannaithe", "label-show-user-assigned": "Sannaithe agam", "tooltip-restore-default": "Athshocraigh réamhshoc", "tooltip-customize-command": "Saincheapadh an t-ordú seo", "tooltip-hotkey-single-conflict": "Déanann an hotkey seo i gcoinbhleacht le “{{command}}”", "tooltip-hotkey-multiple-conflicts": "Déanann an hotkey seo i gcoinbhleacht le {{count}} orduithe eile", "label-blank-hotkey": "Bán" }, "about": { "name": "Ginearálta", "label-commercial-license": "Ceadúnas tráchtá", "label-license-key": "Eochair ceadúnais", "license-key-placeholder": "Do eochair cheadúnais...", "label-activate-license": "Ceadúnas gníomh", "button-activate": "Gníomhachtú", "label-unknown-version": "Anaithnid", "label-current-version": "Leagan reatha: ", "label-install-version": "(Leagan suiteálaí: {{version}})", "label-up-to-date": "Tá Obsidian cothrom le dáta!", "label-read-changelog": "Léigh an changelog.", "label-manual-update-required": "Chun tacú leis na gnéithe is déanaí agus na paistí slándála is déanaí a fháil, teastaíonn nuashonrú mór suiteálaí ó Obsidian. Ní mór duit Obsidian a íoslódáil agus a athshuiteáil de láimh.", "label-new-version-ready": "Tá leagan nua réidh le suiteáil. ", "label-disabled-updates": "Tá nuashonruithe díchumasaithe.", "button-relaunch": "Athsheoladh", "button-check-for-updates": "Seiceáil nuashonruithe", "option-auto-update": "Nuashonruithe uath", "option-auto-update-description": "Múch é seo chun an aip a chosc ó sheiceáil le haghaidh nuashonruithe.", "option-check-slow-startup": "Cuir in iúl má thógann tosú níos faide ná mar a", "option-check-slow-startup-description": "Déan saincheisteanna a dhiagnóisiú le d'aip trí fheiceáil cad atá ina chúis leis an aip a luchtú go mall.", "button-check-startup": "Seiceáil anois", "option-get-help": "Cabhair", "option-get-help-description": "Foghlaim conas Obsidian a úsáid agus cabhair a fháil ón bpobal.", "button-open": "Oscailte", "option-language": "Teanga", "option-language-description": "Athraigh an teanga taispeána.", "option-insider-build": "Faigh leaganacha luathrochtana", "option-insider-build-description": "Nuashonrú uathoibríoch go dtí an leagan luathrochtana Cuimsíonn na leaganacha seo gnéithe nua ach d'fhéadfadh a bheith chomh cobhsaí", "option-advanced": "Ardleibhéal", "option-hw-acceleration": "Luathú crua-earraí", "option-hw-acceleration-description": "Casann sé ar Luasghéarú Crua-earraí, a úsáideann do GPU chun Obsidian a dhéanamh níos réidh.", "option-hw-acceleration-warning": "Má mhúchfaidh tú é seo, déanfar díghrádú mór ar fheidhmíocht an aip.", "option-config-location": "Fillteán cumraithe a fhilleadh", "option-config-location-description": "Úsáid fillteán cumraithe difriúil ná an ceann réamhshocraithe. Ní mór tosú le ponc.", "option-config-location-warning": "Ní mór go mbeadh suíomh cumraithe ina ainm bailí fillteán a thosaíonn le ponc.", "label-license": "Ceadúnas", "label-your-commercial-license-key": "Is é “{{key}}” d'eochair ceadúnais tráchtála.", "label-commercial-license-info": "Cláraithe chuig “{{company}}” d'úsáideoirí {{suíocháin}}. Bailí go dtí {{in éag}}.", "label-validating-commercial-license": "Bailíochtú...", "label-invalid-commercial-license": "Ceadúnas míbhailí: ", "button-remove-commercial-license": "Bain", "option-catalyst": "Ceadúnas catalaíoch", "option-catalyst-desc": "Tá an ceadúnas Catalaíoch {{tier}} agat faoi láthair. Go raibh maith agat as do thacaíocht!", "option-catalyst-desc-no-license": "Níl ceadúnas Catalaíoch agat. Is síntiús aon-uaire é Catalyst a chuidíonn le Obsidian fanacht 100% le tacaíocht ó úsáideoir agus a thugann rochtain luath duit ar ghnéithe nua.", "label-app": "Aip", "label-add-own-language": "Foghlaim conas teanga nua a chur le Obsidian." }, "account": { "name": "Cuntas", "option-your-account": "Do chuntas", "option-your-account-desc": "Tá tú sínithe isteach faoi láthair mar {{name}} ({{email}}).", "option-your-account-desc-no-login": "Níl tú logáilte isteach anois. Níl cuntas ag teastáil ach le haghaidh Obsidian Sync, Obsidian Publish, agus leaganacha luathrochtana.", "label-insider": "Taobh istigh", "label-supporter": "Tacaíocht", "label-vip": "VIP", "button-upgrade-catalyst": "Uasghrádú", "option-commercial-license": "Ceadúnas tráchtá", "option-commercial-license-desc": "Cuidigh le Obsidian a choinneáil tacaíocht ó úsáideoir 100%.", "button-purchase": "Ceannach", "button-log-out": "Logáil amach", "label-log-in": "Logáil isteach", "label-sign-up": "Cláraigh", "label-email": "Ríomhphost", "placeholder-email": "Do r-phost...", "label-name": "Ainm iomlán", "label-password": "Pasfhocal", "placeholder-password": "Do phasfhocal...", "label-forgot-password": "Dearmad ar phasfhocal?", "button-login": "Logáil isteach", "message-empty-email": "Ní féidir le ríomhphost a bheith folamh.", "message-invalid-email": "Níl ríomhphost bailí.", "message-empty-password": "Ní féidir le pasfhocal a bheith folamh.", "message-login-failed": "Theip ar logáil isteach, seiceáil faoi dhó do r-phost agus do phasfhocal.", "message-signup-failed": "Theip ar chlárú", "label-no-account": "Níl cuntas agat? ", "link-sign-up-now": "Cláraigh anois", "label-mfa-code": "Cód 2FA 6-dhigit", "mfa-wrong-format": "Caithfidh cód fíordheimhnithe 2FA a bheith 6 dhigit.", "mfa-verification-failed": "Tá cód 2FA mícheart, seiceáil do aip fíordheimhnithe faoi dhó le do thoil." }, "core-plugin": { "plugin-list": "Liosta breiseáin", "option-search-plugin": "Cuardaigh croíbhreiseáin", "option-search-plugin-description": "Scagaigh breiseáin de réir ainm nó tuairisc.", "placeholder-search-plugin": "Cuardaigh breiseáin..." }, "third-party-plugin": { "name": "Breiseáin pobail", "option-restricted-mode": "Modh srianta", "option-restricted-mode-description": "Tá modh srianta as. Cas air chun breiseáin phobail a dhíchumasú.", "button-turn-on": "Cas air agus athluchtaigh", "option-browse-community-plugins": "Breiseáin pobail", "option-browse-community-plugins-description": "Brabhsáil agus suiteáil breiseáin pobail a rinne ár bpobal iontach.", "button-browse": "Brabhsáil", "label-exit-restricted-mode": "Mód Srianta Scoir", "label-exit-restricted-mode-description-1": "D'fhéadfadh breiseáin phobail, cosúil le haon bhogearraí eile a shuiteálann tú, fadhbanna sláine agus slándála sonraí a bheith", "label-exit-restricted-mode-description-2": "Tá slándáil breiseán tábhachtach dúinn. Seo an méid a dhéanaimid:", "label-exit-restricted-mode-description-3": "In ainneoin ár n-iarrachtaí, tá seans beag ann fós go bhféadfadh breiseán pobail mí-iompar.", "label-code-review": "Athbhreithniú tosaigh", "label-code-review-desc": "Déanann ár bhfoireann athbhreithniú tosaigh ar chód breiseáin san eolaire pobail oifigiúil sula ndéantar iad a liostáil", "label-open-source": "Foinse oscailte", "label-open-source-desc": "Tá an chuid is mó de na breiseáin foinse oscailte ar GitHub, ionas gur féidir leat an cód a iniúchadh duit féin.", "label-peer-audit": "Iniúchadh piaraí", "label-peer-audit-desc": "Tá pobal mór forbróirí againn a faire amach dá chéile.", "label-report-mechanism": "Meicníocht tuar", "label-report-mechanism-desc": "Leanaimid suas agus bainimid breiseáin lochtacha ar thuarascáil an úsáideora.", "label-exit-restricted-mode-disable-confirmation": "Ar mhaith leat an Mód Srianta a fhágáil chun breiseáin phobail a chumasú? Molaimid go láidir cúltacaí a dhéanamh de do shonraí sula ndéanann tú é sin.", "label-learn-more": "Tuilleadh eolais a fháil faoi shlándáil", "button-turn-on-community-plugins": "Cas ar bhreiseáin pobail", "label-trust-author": "An bhfuil muinín agat as údar an chluiche seo?", "label-trust-author-description-1": "Tá tú ag oscailt an clár seo den chéad uair, agus tagann sé le roinnt breiseáin.", "label-trust-author-description-2": "Má fuair tú an clúdach seo ó dhuine eile, tabhair faoi deara le do thoil go bhféadfadh rioscaí slándála a bheith i mbun breiseáin", "label-trust-author-description-3": "Mura bhfuil muinín iomlán agat as údar an chabhán seo, molaimid fanacht sa Mód Srianta, ionas nach ritheann na breiseáin sa chabhán seo.", "button-enable-plugins": "Cuir muinín as an údar agus cumasaigh", "button-dont-trust-author": "Brabhsáil cruinneachán i mód srianta", "placeholder-community-plugins": "Cuardaigh breiseáin pobail...", "msg-failed-load-plugins": "Theip ar breiseáin pobail a luchtú.", "label-installed": "Suiteáilte", "button-install": "Suiteáil", "button-enable": "Cumasaigh", "button-disable": "Díchumasaigh", "button-copy-share-link": "Cóipeáil nasc roinnt", "button-donate": "Deontas", "label-no-results-found": "Níor aimsíodh aon torthaí.", "label-no-recent-files-found": "Ní bhfuarthas aon chomhaid le déanaí. Clóscríobh le cuardach...", "msg-failed-to-load-manifest": "Theip ar léiriú breiseán a luchtú.", "label-version": "Leagan: {{version}}", "label-currently-installed-version": " (suiteáilte faoi láthair: {{version}})", "label-by-author": "De réir ", "label-repository": "Stóráil: ", "label-last-update": "Nuashonrú deireanach: ", "tooltip-view-last-update": "Féach an nuashonrú is déanaí", "label-unsupported": "Ní thacaíonn an breiseán seo le do ghléas.", "button-update": "Nuashonraigh", "label-no-readme": "Níor chuir an breiseán seo comhad README ar fáil.", "msg-installing-plugin": "Suiteáil breiseán “{{name}}”...", "msg-failed-to-install-plugin": "Theip ar an breiseán “{{name}}” a shuiteáil.", "msg-successfully-installed-plugin": "Breiseán “{{name}}” a shuiteáilte go rathúil.", "msg-failed-to-uninstall-plugin": "Theip ar an breiseán “{{id}}” a dhíshuiteáil.", "msg-failed-to-disable-plugin": "Theip ar an breiseán “{{id}}” a dhíchumasú.", "label-installed-plugins": "Breiseáin suiteáil", "button-reload-plugins": "Breiseáin a athlódáil", "msg-reloaded-third-party-plugins": "Breiseáin tríú páirtí a athlódáil", "label-uninstall": "Díshuiteáil", "label-uninstall-plugin": "Díshuiteáil breiseán", "label-uninstall-plugin-confirmation": "An bhfuil tú cinnte gur mhaith leat an breiseán seo a dhíshuiteáil? Scriosfaidh sé seo fillteán an bhreiseáin.", "button-open-plugins-folder": "Oscail fillteán breise", "button-check-for-updates": "Seiceáil nuashonruithe", "button-update-all-plugins": "Nuashonraigh gach", "label-current-plugins": "Breiseáin reatha", "label-currently-installed": "Tá breiseán {{count}} suiteáilte agat faoi láthair.", "label-currently-installed_plural": "Tá breiseáin {{count}} suiteáilte agat faoi láthair.", "msg-no-updates-found": "Ní bhfuarthas aon nuashonruithe breiseán", "msg-updates-found": "Fuarthas breiseán {{count}} le nuashonrú.", "msg-updates-found_plural": "Fuarthas breiseáin {{count}} le nuashonrú.", "msg-update-plugin": "Nuashonrú go leagan {{version}}", "option-search-installed-plugin": "Cuardaigh breiseáin suiteá", "option-search-installed-plugin-description": "Scagaigh breiseáin suiteáilte de réir ainm nó tuairisc", "placeholder-search-installed-plugin": "Cuardaigh breiseáin suiteáilte", "show-installed-only": "Taispeáin suiteáilte amháin", "label-donate-modal-title": "Deonaigh chun tacú le {{name}}", "label-donate-modal-text1": "Is saorálaithe pobail iad forbróirí breiseán a dhéanann rudaí iontacha as paisean. Má aimsíonn an breiseán seo úsáideach, smaoinigh ar a fhorbairt a mhaoiniú.", "label-donate-modal-text2": "Rachaidh 100% de do ranníocaíocht chuig an bhforbróir breiseán; Ní ghlacann Obsidian gearradh. D'fhéadfadh an t-ardán maoinithe a roghnaíonn siad táille a ghearradh", "label-donate-modal-text3": "Go raibh maith agat as do thacaíocht flaithiúil!", "label-support-this-plugin": "Tacaigh leis an mbreiseán seo:", "label-search-summary": "Ag taispeáint {{pluginCount}}:", "label-by-popularity": "Is mó a íoslódáil", "label-by-released": "Scaoilte le déana", "label-by-updated": "Nuashonraithe le dé", "label-alphabetical": "Aibítreach", "label-last-updated": "Nuashonraithe {{time}}" }, "mobile-toolbar": { "name": "Barra uirlisí", "option-configure-quick-action": "Cumraigh Gníomh Tapa sogh", "option-configure-quick-action-description": "Cumraigh an t-ordú atá le spreagadh agus tú ag tarraingt síos ón mbarr. Tá an t-ordú reatha socraithe go “{{command}}”.", "msg-missing-quick-action": "Gníomh nach bhfuil cumraithe", "button-configure": "Cumraigh", "placeholder-select-quick-action": "Roghnaigh Gníomh Tapa...", "quick-action-disabled": "Níl aon", "manage-toolbar-options": "Bainistigh roghanna uir", "option-internal-link": "Cuir nasc inmheánach leis", "option-internal-embed": "Cuir leabú leis", "option-tag": "Cuir clib leis", "option-heading": "Ceannteideal toggle", "option-strikethrough": "Athraigh strikethrough", "option-highlight": "Athraigh buaicphointe", "option-code": "Cód toggle", "option-blockquote": "Athraigh blockquote", "option-inline-math": "Athraigh matamaitic inlíne", "option-math-block": "Athraigh bloc matamaitice", "option-markdown-link": "Cuir nasc Markdown leis", "option-bullet-list": "Athraigh liosta piléar", "option-numbered-list": "Athraigh liosta uimhrithe", "option-indent-list": "Mír liosta íosrúcháin", "option-unindent-list": "Mír liosta neamhchinnte", "option-undo": "Cealaigh", "option-redo": "Athchóirigh", "option-move-caret-up": "Bogadh caret suas", "option-move-caret-down": "Bog ceart síos", "option-move-caret-left": "Bogadh caret ar chlé", "option-move-caret-right": "Bog ceart ar dheis", "option-first-line": "Téigh go dtí an chéad líne", "option-last-line": "Téigh go dtí an líne dheireanach", "option-toggle-keyboard": "Toggle méarchlár", "option-configure-toolbar": "Cumraigh barras uirlisí", "option-added-options": "Roghanna breise", "option-more-toolbar-options": "Roghanna uirlisí níos mó", "option-attach": "Cuir isteach ceangaltán", "option-add-command": "Cuir ordú domhanda leis", "option-add-command-description": "Roghnaigh aon ordú domhanda le cur leis an uirlisí uirlisí." } }, "editor": { "search": { "placeholder-find": "Aimsigh...", "placeholder-replace": "Cuir in ionad...", "label-exit-search": "Cuardach imeachta", "label-next": "Ar Aghaidh", "label-previous": "Roimhe Seo", "label-find-all": "Aimsigh go léir", "label-replace": "athsholáthair", "label-replace-all": "Cuir gach duine in ionad" }, "link-suggestion": { "label-type-hash": "Cineál #", "label-link-heading": "chun ceannteideal a nascadh", "label-type-block": "Cineál ^", "label-link-block": "chun bloic a nascadh", "label-type-pipe": "Cineál |", "label-change-display-text": "téacs taispeána a athrú", "label-no-alias": "Taispeáin téacs", "label-no-heading": "Ceannteideal", "label-no-match-found": "Níl aon mheaitseáil le fáil", "label-image-size": "Méid an íomhá: {{size}} px ar leithead", "label-accept": "glacadh le", "label-new-footnote": "Foot nua..." }, "spellcheck": { "no-suggestion": "Gan aon mholtaí...", "add-to-dictionary": "Cuir leis an bhfoclóir" }, "menu": { "edit-link": "Athraigh nasc", "edit-tag": "Cuir clib in eagar", "label-edit-block": "Cuir an bloc seo in eagar", "label-delete-footref-and-note": "Scrios fónóta agus tagairt" }, "heading-suggestion": { "label-no-heading": "Gan ceannteideal", "label-heading-level": "Ceannteideal {{level}}" }, "print-modal": { "title": "Easpórtáil go PDF", "caption": "Easpórtáil “{{filename}}” chuig PDF leis na socruithe thíos.", "setting-page-size": "Méid an leathanaigh", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Dlíthiúil", "setting-page-size-letter": "Litir", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Cuir ainm comhaid san áireamh mar theideal", "setting-landscape": "Tírdhreach", "setting-margin": "Corrlaigh", "setting-margin-default": "Réamhshocraithe", "setting-margin-minimal": "Íosta", "setting-margin-none": "Níl aon", "setting-downscale-percent": "Céatadán íoscála", "button-export-to-pdf": "Easpórtáil go PDF" }, "link-popover": { "tooltip-follow-link": "Lean an nasc", "tooltip-open-link": "Oscail nasc", "tooltip-search-tag": "Clib cuardaigh" } }, "interface": { "embed-cannot-find": "Ní féidir teacht ar:", "label-unable-to-find-section": "Ní féidir teacht ar “{{subpath}}” i {{file}}", "embed-open-in-default-app-tooltip": "Oscail san aip réamhshocraithe", "empty-sidebar": "Tá an barra taobh folamh, déan iarracht cluaisín a tharraingt anseo.", "sidebar-expand": "Leathnaigh", "sidebar-collapse": "Titim", "msg-fail-to-save-file": "Theip ar chomhad “{{filepath}}” a shábháil. {{message}}. Déan cúltaca d'ábhar an chomhaid seo anois chun sonraí a chailleadh a sheachaint.", "msg-failed-to-load-plugin": "Theip ar an breiseán “{{plugin}}” a luchtú", "msg-plugin-error": "Bhí earráid ag an mbreiseán “{{plugin}}” agus é á luchtú", "msg-failed-to-load-file": "Theip ar oscailt “{{filepath}}”", "msg-failed-to-open-href": "Ní féidir suíomh “{{href}}” a oscailt", "no-file": "Gan aon chomhad", "msg-file-changed": "Tá “{{file}}” modhnaithe go seachtrach, ag cumasc athruithe go huathoibríoch.", "switch-vault": "Oscail cruinneas eile", "manage-vaults": "Bainistigh luchtanna...", "help": "Cabhair", "settings": "Socruithe", "drag-to-rearrange": "Tarraing chun athshocrú", "msg-switched-to-read": "Athraigh modh amharc réamhshocraithe go léitheoire", "msg-switched-to-edit": "Aistrigh modh amharc réamhshocraithe go radharc eag", "msg-upgrade-installer": "Chun an ghné seo a úsáid, athshuiteáil le do thoil leis an suiteálaí is déanaí ar fáil ónár suíomh", "msg-slow-boot": "Braithíodh am tosaithe mall.", "msg-desktop-only-feature": "Níl an ghné seo ar fáil ach san aip deisce.", "tooltip-restore-default-settings": "Socruithe réamhshocraithe a", "label-copy": "Cóipeáil chuig gearr", "label-copy-short": "Cóipeáil", "copied_generic": "Cóipeáil chuig do ghearr", "copied": "{{item}} cóipeáilte chuig do ghearrthaisce", "copy_failed": "Ní féidir cóipeáil chuig do ghearrthaisce", "prompt-filter": "Scagaire...", "url": "URL", "msg-codeblock-render-error": "Bhí earráid agam agus tú ag rindreáil bloc cód.", "msg-open-file-through-uri": "Comhad oscailte “{{path}}”", "msg-file-not-found-through-uri": "Níor aimsíodh comhad “{{name}}”.", "delete-action-short-name": "Scrios", "msg-indexing": "Cruinneas innéacsúcháin...", "msg-indexing-desc": "B'fhéidir nach mbeidh roinnt feidhmiúlachta ar fáil go dtí go mbeidh sé seo críochnai", "msg-indexing-complete": "Innéacsú críochnaithe.", "msg-sandbox-vault": "Is clúdach bosca gainimh é seo.\nCaillfear na hathruithe a dhéanann tú sa treoir seo.", "msg-indexed-db-not-supported": "Tá IndexedDB ag teastáil don ghné seo, ach tá sé díchumasaithe faoi láthair.", "msg-indexed-db-i-o-s": "Má tá iOS á úsáid agat i Mód Lockdown, eisiamh Obsidian ón socrú \"Cumraigh Brabhsáil Gréasáin\" den Mód Lockdown.", "label-enter-to-create": "Iontráil chun a chruthú", "label-update-available": "Nuashonrú atá ar fáil", "label-debug-info": "Eolas dífhabhtaithe", "button-learn-more": "Tuilleadh eolais", "button-not-now": "Ní anois", "button-add": "Cuir", "button-manage": "Bainistiú", "label-new-tab": "Cluaisín nua", "option-hide-ribbon": "Folaigh ribín", "msg-tab-busy": "Tá an cluaisín seo gnóthach faoi láthair, déan iarracht arís níos dé", "formatting": { "label-formatting": "Formáid", "label-paragraph": "Mír", "label-insert": "Cuir isteach", "insert-link": "Cuir nasc leis", "insert-external-link": "Cuir nasc seachtrach leis", "insert-callout": "Glaoigh", "insert-horizontal-rule": "Riail chothrománach", "insert-code-block": "Bloc cód", "insert-math-block": "Bloc matamaitice", "insert-table": "Tábla", "insert-footnote": "Fónót", "toggle-bold": "trom", "toggle-code": "Cód", "toggle-comments": "Trácht", "toggle-highlight": "Aibhsigh", "toggle-italics": "Iodálach", "toggle-strikethrough": "Strikethrough", "toggle-math": "Matamaitic", "toggle-bullet-list": "Liosta piléar", "toggle-checklist": "Liosta tascanna", "toggle-numbered-list": "Liosta uimhrithe", "set-heading": "Ceannteideal {{level}}", "no-heading": "Comhlacht", "clear": "Formáidiú Glan", "toggle-quote": "Sleachta" }, "empty-state": { "no-file-open": "Níl aon chomhad oscailte", "create-new-file": "Cruthaigh nóta nua", "go-to-file": "Téigh go dtí an comhad", "see-recent-files": "Féach na comhaid le déanaí", "close": "Dún", "close-all": "Dún gach cluaisín “{{id}}” ({{count}})", "unknown-pane-title": "Níl an breiseán gníomhach a", "unknown-pane-desc": "Tá an breiseán a chruthaigh an cluaisín seo ({{type}}) imithe." }, "release-notes": { "tab-title": "Nótaí Scaoilte {{version}}", "msg-missing-release-notes": "Níl aon nótaí scaoilte ar fáil do {{version}}.", "msg-failed-to-load": "Níor féidir nótaí scaoilte a luchtú do {{version}}." }, "menu": { "edit-view": "Amharc reatha: eagarthóireacht", "read-view": "Amharc reatha: léamh", "ribbon": "Ribbón", "left-sidebar": "Taobh na taobh clé", "right-sidebar": "Taobh na taobh deise", "switch-to-edit-view": "Cliceáil chun cur in eagar", "switch-to-read-view": "Cliceáil chun léamh", "mod-click-open-new-tab": "{{key}} +Cliceáil chun oscailt ar dheis", "find": "Aimsigh...", "replace": "Cuir in ionad...", "edit": "Cuir in eagar", "remove": "Bain", "rename": "Athainmnigh", "preview": "Réamhamharc", "more-options": "Tuilleadh roghanna", "close": "Dún", "close-all": "Dún go léir", "close-tabs-with-count": "Dún cluaisín {{count}}", "close-tabs-with-count_plural": "Dún cluaisíní {{count}}", "close-others": "Dún daoine eile", "close-after": "Dún cluaisíní tar éis", "pin": "Bioráin", "unpin": "Díphoráil", "unlink-tab": "Cluaisín Dínasc", "link-tab": "Nasc le cluaisín...", "toggle-source-mode": "Modh foinse", "toggle-reading-view": "Féach léitheoire", "add-property": "Cuir maoin comhad leis", "delete-file": "Scrios comhad", "create-file": "Cruthaigh an comhad seo", "open-link": "Oscail nasc", "open-in-new-tab": "Oscail i gcluaisín nua", "open-to-the-right": "Oscailte ar dheis", "copy-url": "Cóipeáil URL", "copy": "Cóipeáil", "cut": "Gearradh", "paste": "Greamaigh", "paste-as-plain-text": "Greamaigh mar théacs simplí", "lookup-selection": "Cuardaigh suas “{{selection}}”", "select-all": "Roghnaigh go léir", "rename-heading": "Athainmnigh an ceannteideal seo...", "rename-blockid": "Athainmnigh an ID bloc seo...", "open-in-new-window": "Oscail i bhfuinneog nua", "move-to-new-window": "Bogadh chuig fuinneog nua", "open-in-browser": "Oscail nasc seachtrach", "stack-tabs": "Cluaisíní cruach", "unstack-tabs": "Cluaisíní a dhíchuir", "open-linked-view": "Oscail radharc nasctha" }, "tooltip": { "click-to-expand": "Cliceáil chun leathnú", "click-to-collapse": "Cliceáil chun titim", "alias": "Alias", "not-created-yet": "Níl cruthaithe fós, roghnaigh chun a chruthú" }, "start-screen": { "label-version": "Leagan", "label-create-local-vault": "Cruthaigh clúdach áitiúil", "option-open-folder-as-vault": "Oscail fillteán mar chabhair", "option-open-folder-as-vault-description": "Roghnaigh fillteán atá ann cheana de chomhaid Markdown.", "option-create-vault": "Cruthaigh clúdach nua", "option-create-vault-description": "Cruthaigh clúdach Obsidian nua faoi fhillteán.", "option-connect-obsidian-sync": "Cruinneog oscailte ó Obsidian Sync", "option-connect-obsidian-sync-description": "Cuir clúdach sioncronaithe ar bun leis an gclár iargúlta atá ann cheana.", "option-new-vault-name": "Ainm clár", "option-new-vault-name-description": "Roghnaigh ainm do do chluiche uamhnach.", "option-new-vault-location": "Suíomh", "option-new-vault-location-description": "Roghnaigh áit chun do chluiche nua a chur.", "label-new-vault-location-preview": "Cuirfear do ghabhálaí nua i: ", "option-reveal-vault-in-explorer": "Nocht cruinneas i taiscéalaí córais", "option-reveal-vault-in-explorer-mac": "Nochtadh cruinneachán in Finder", "option-rename-vault": "Athainmnigh cruinneas...", "option-copy-vault-i-d": "Cóipeáil ID clár", "msg-error-rename-exists": "Tá clúdach leis an ainm seo cheana féin.", "msg-error-nested": "Ní féidir gluaiseán a bhogadh isteach i bhfo-fhillteán de féin.", "msg-error-rename-open": "Ní féidir gluaiseán atá oscailte faoi láthair a athainmniú.", "msg-rename-failed": "Theip ar an gclár a athainmniú.", "msg-rename-success": "Athainmniú go rathúil ar chab", "option-move-vault": "Bogadh cruinneachán...", "msg-move-select-dest": "Roghnaigh an fillteán", "msg-error-move-exists": "Tá cruinneachán ag an gceann scríbe cheana féin.", "msg-error-move-open": "Ní féidir gluaiseán oscailte faoi láthair a bhogadh.", "msg-move-failed": "Theip ar chabhair a bhogadh.", "msg-move-success": "Cruinneas a bhogadh go rathúil.", "option-remove": "Bain ón liosta", "button-quick-start": "Tús tapa", "button-open": "Oscailte", "button-browse": "Brabhsáil", "button-connect": "Ceangail", "button-create-vault": "Cruthaigh", "button-back": "Ar ais", "msg-empty-vault-name": "Ní féidir ainm an treoir a bheith folamh.", "msg-trailing-dot-vault-name": "Ní féidir deireadh a chur le ponc ainm an trealaimh.", "msg-invalid-folder": "Roghnaigh fillteán bailí le do thoil.", "msg-failed-to-create-vault": "Theip ar chluiche a chruthú.", "msg-failed-to-create-vault-at-location": "Ní raibh sé in ann cruthú clúdach ag an áit ar leith. Seiceáil faoi dhó an suíomh agus an cead.", "msg-error-failed-to-open-vault": "Theip ar oscailt.", "msg-error-remove-current-open-vault": "Ní féidir clár a bhaint atá oscailte faoi láthair.", "option-get-help": "Faigh Cabhair", "option-user-email": "Ríomhphost", "placeholder-your-email": "Do r-phost...", "option-user-password": "Pasfhocal", "placeholder-your-password": "Do phasfhocal...", "button-sign-in": "Sínigh isteach", "button-setup": "Socrú", "option-connect-vault-desc": "Cruthaigh clúdach sioncronaithe ar an bhfeiste seo.", "tooltip-own-vault": "Is clár iargúlta é seo atá faoi úinéireacht agat.", "tooltip-shared-vault": "Is clár iargúlta é seo a roinntear leat.", "mobile": { "label-start-screen": "Is leatsa iad do chuid smaointe.", "label-synced": "sioncronaithe", "label-not-synced": "nach bhfuil sioncrónaithe", "label-none": "Níl aon", "label-recommended": "Molta", "label-start-screen-desc": "Stórálann Obsidian nótaí ar do ghléas, ionas gur féidir leat rochtain a fháil orthu go tapa agus go príobháideach, fiú as líne.\nStóráiltear do chuid sonraí i bhfillteán áitiúil slán ar a dtugtar **vault**.", "option-create": "Cruthaigh clúdach", "option-use-existing": "Úsáid mo ghabháil atá ann cheana", "label-sync-intro": "Chun rochtain a fháil ar do nótaí ar ghléasanna eile ní mór duit sioncrónú a chur ar bun.", "label-sync-intro-desc": "Toisc go stórálann Obsidian do nótaí ar do ghléasanna, beidh ort sioncrónú a chur ar bun más mian leat rochtain a fháil ar do nótaí ar ghuthán nó ar ríomhaire eile.\nIs féidir leat sioncrónú a chur ar bun anois, nó tosú ag scríobh agus é a chur ar bun níos déanaí.", "option-setup-sync": "Syncrónú Socraithe", "option-skip": "Lean ar aghaidh gan sioncronú", "option-skip-short": "Scipeáil", "label-vault-create": "Cumraigh do ghabhálaí nua.", "button-create": "Cruthaigh clúdach", "label-sync-setup": "Socrú sioncrónaithe", "label-sync-setup-desc": "Cruthaigh clár sincronaithe ar do chuntas Obsidian ionas gur féidir leat rochtain a fháil ar do chuid sonraí ó ghléasanna eile.", "label-remote-vault-create": "Criptiú sioncronú", "option-encryption-custom": "Criptiú deireadh go deireadh", "option-encryption-custom-desc": "Cuireann an slándáil is láidre ar fáil ach éilíonn ort do phasfhocal criptithe a stóráil", "option-encryption-managed": "Criptiú caighde", "option-encryption-managed-desc": "Úsáideann sé eochair a bhainistíonn Obsidian chun do chuid sonraí a chosaint agus ar ár bhfreastalaithe.", "label-sync-settings": "Socruithe Sync", "label-sync-settings-desc": "Ar mhaith leat aon fhillteáin nó comhaid a eisiamh agus tú ag sioncrónú leis an bhfeiste seo?", "button-start": "Tosaigh sioncrónú", "label-sign-in-or-sign-up": "Cruthaigh cuntas Obsidian nó logáil isteach", "option-sign-up": "Cláraigh", "option-sign-in": "Sínigh isteach", "button-resend-email": "Seol ríomhphost arís", "label-remote-vault-options": "Tá clúdaigh Sync agat cheana féin", "label-remote-vault-options-desc": "Ar mhaith leat clár nua a chruthú nó ceangal a dhéanamh le cruinneas comhshonraithe atá ann cheana?", "option-remote-create": "Cruthaigh clár Sync nua", "option-remote-choose": "Roghnaigh clúdach atá ann cheana", "button-logout": "Logáil amach", "button-forgot-password": "Dearmad focal faire", "label-vault-name": "Ainm clár", "label-vault-location": "Suíomh an chabhála", "label-vault-location-desc": "Cuirfear do chluiche nua i {{vaultLocation}}", "label-region-selection": "Réigiún", "label-region-selection-help": "Roghnaigh réigiún freastalaí in aice leat chun sioncrónú a dhéanamh níos gasta.", "label-encryption-key": "Eochair criptithe", "label-encryption-key-help": "Ní féidir an pasfhocal seo a athrú níos déanaí. Má dhéanann tú dearmad ar do phasfhocal, beidh aon sonraí iargúlta ar fhreastalaithe Sync inrochtana go deo.", "placeholder-vault-name": "Mo clár", "opt-region-selection-automatic": "Uathoibrithe", "label-remote-vault-selection": "Roghnaigh cruinneachán", "label-remote-vault-selection-desc": "Tá do chuntas** {{email}} ** tá clóirí ann cheana ar féidir leat nasc a dhéanamh leo.", "label-sign-in": "Sínigh isteach i do chuntas Obsidian", "label-forgot-password": "Dearmad focal faire", "button-reset-password": "Athshocraigh pasfhocal", "msg-password-reset": "Chuireamar ríomhphost chuig {{email}} chun do phasfhocal a athshocrú.", "label-sync-method-selection": "Roghnaigh conas do nótaí a shioncronú", "label-sync-method-selection-desc": "Chun Obsidian a úsáid ar do ghléasanna beidh ort do chuid sonraí a shioncronú.", "label-sync-pro1": "Gan uaim ar fud gach feiste agus OS.", "label-sync-pro2": "Daingnithe leis an gcaighdeán criptithe deireadh go deireadh is láidre", "label-sync-pro3": "Teastaíonn cuntas Obsidian.", "label-icloud-con1": "Ní amháin le haghaidh iOS agus macOS.", "label-icloud-con2": "Gan criptithe de réir réamhshocraithe.", "label-third-party-desc1": "Teastaíonn breiseáin nó uirlisí tríú", "label-third-party-desc2": "Ní féidir é a chriptiú de réir réamhshocraithe.", "opt-use-obsidian-sync": "Úsáid Obsidian Sync", "opt-use-icloud": "Úsáid iCloud", "opt-use-other": "Úsáid sioncronú tríú", "opt-learn-other-sync": "Modhanna sioncrónaithe eile", "opt-use-supported": "Úsáid modhanna sioncronaithe tacaithe", "label-sync-restore": "Cá bhfuil do chluibheán suite?", "label-obsidian-sync": "Sync Obsidian", "label-icloud": "iCloud", "label-other": "Eile", "label-other-sync": "Syncrónú tríú", "label-local-folder": "Ar an bhfeiste seo", "option-connect-icloud": "Ceangail le iCloud", "option-connect-other": "Ceangail le seirbhís sioncrónaithe eile", "option-connect-sync": "Ceangail le Obsidian Sync", "option-connect-local-folder": "Roghnaigh fillte", "label-sync-other": "Modhanna sioncrónaithe eile", "label-sync-other-desc": "Tacaíonn Obsidian le dhá mhodh sioncrónaithe go hoifigiúil: **Obsidian Sync** agus **iCloud**.\nMar sin féin, toisc go dtugann Obsidian smacht duit ar do chuid sonraí tá roghanna sioncrónaithe eile is féidir leat a úsáid.\nI measc na roghanna seo tá breiseáin tríú páirtí agus uirlisí eile a d'fhéadfadh go mbeadh níos airde\nChun modh sioncrónaithe malartach a úsáid, **cruthaigh vault** agus lean na treoracha a sholáthraíonn an breiseán nó an soláthraí sioncrónaithe tríú páirtí.", "label-email-entry": "Cuir isteach do r-phost", "label-email-entry-desc": "Teastaíonn do r-phost chun cuntas Obsidian a chruthú.", "label-signup": "Cuir isteach d'ainm agus do phasfhocal", "email-verification": "Ceangail le Obsidian Sync", "email-verification-desc": "Ba chóir duit ríomhphost a fháil go luath chuig ** {{email}} ** le treoracha chun nasc a dhéanamh le Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Níor aimsíodh do chluibheán iCloud. D'fhéadfadh sé seo a bheith mar gheall ar aon cheann de na cúiseanna seo a leanas:", "icloud-missing-reason1": "Tá do ghabhálaí ar chuntas iCloud difriúil ná an ceann a bhfuil tú sínithe isteach faoi láthair ar an bhfeiste seo.", "icloud-missing-reason2": "Ní stóráiltear do chluibheán ar an bhfillteán Obsidian barrleibhéil de do iCloud Drive.", "i-cloud-unsupported": "Ní thacaítear le iCloud", "i-cloud-unsupported-desc": "Níl sioncrónú iCloud ar fáil ach ar ghléasanna Apple. Má tá do ghabhálaí ag sioncrónú trí iCloud faoi láthair, foghlaim conas do ghabháil a aistriú chuig seirbhís sioncrónaithe difriúil.", "allow-file-access": "Ceadaigh rochtain ar chomhad", "msg-login-pending": "Tú a logáil isteach...", "msg-name-required": "Tá ainm clár ag teastáil", "msg-new-email-success": "Seoltar ríomhphost dearbhaithe nua.", "msg-new-email-failure": "Theip ar ríomhphost a athsheoladh.", "msg-invalid-vault": "Caithfidh fillteán a bheith i suíomh an chosca." } }, "starter-content": { "welcome-filename": "Fáilte", "welcome-file-content": "Seo d'* vault* nua.\n\nDéan nóta ar rud éigin, [[cruthaigh nasc]], nó bain triail as [an Allmhaireoir] (https://help.obsidian.md/Plugins/Importer)!\n\nNuair a bheidh tú réidh, scrios an nóta seo agus déan an clúdach duit féin." }, "drag-and-drop": { "insert-link-here": "Cuir isteach nasc anseo", "insert-links-here": "Cuir naisc isteach anseo", "move-into-folder": "Bogadh isteach i “{{folder}}”", "star-this-file": "Réalta an comhad seo", "star-these-files": "Réalta na comhaid seo", "open-in-this-tab": "Oscail sa chluaisín seo", "open-as-tab": "Oscail mar chluaisín nua" }, "window": { "maximize": "A mhéadú", "minimize": "Íoslaghdú", "restore-down": "Athchóirigh síos", "close-window": "Dún an fhuinneog", "go-back": "Téigh ar ais", "go-forward": "Téigh ar aghaidh" }, "start-up": { "loading-obsidian": "Á lódáil Obsidian...", "obsidian-load-error": "Tharla earráid agus Obsidian á luchtú.", "button-reload-app": "Athluchtaigh aip", "button-reload-app-in-safe-mode": "Athluchtaigh aip i mód srianta", "button-open-another-vault": "Oscail cruinneas eile", "loading-plugins": "Breiseáin á lódáil...", "msg-plugin-hang": "Tá breiseán “{{plugin}}” ag glacadh fada le luchtú. ", "loading-vault": "Á lódáil vault...", "msg-failed-to-load-vault": "Theip ar luchtú clúdach: ", "loading-cache": "Á lódáil cache...", "loading-workspace": "Spás oibre á lódáil..." }, "mobile": { "action-import": "Iompórtáil isteach i g", "action-insert-text-desc": "Cuir téacs leis an gcomhad:", "action-choose-file-to-insert": "Roghnaigh comhad...", "action-insert-text-into-file": "{{filename}}", "action-insert-link-into-file": "Cuir isteach an nasc isteach i “{{filename}}”", "action-show-switcher": "Taispeáin léargas cluaisín", "msg-importing": "Allmhairiú...", "msg-import-success": "Rath iompórtála", "msg-failed-to-import-file": "Theip ar an comhad “{{filename}}” a iompórtáil", "msg-back-again-to-exit": "Brúigh ar ais arís chun imeacht.", "feedback": { "label-feedback": "Aiseolas", "label-feedback-desc": "An bhfuil tú taitneamh as Obsidian? Cabhair linn trí rátáil a thabhairt dó.", "action-rate": "Rátáil an aip", "action-dismiss": "Díbhunaigh" } }, "help-screen": { "label-official-help-site": "Suíomh cabhrach oifigiúil", "label-official-help-site-desc": "Léigh cáipéisíocht chabhrach oifigiúil Obsidian, atá ar fáil i iliomad teangacha.", "action-visit": "Tabhair cuairt", "label-discord-chat": "Comhrá Discord", "label-discord-chat-desc": "Is é Discord an áit is fearr chun comhrá a dhéanamh le húsáideoirí Obsidian eile a bhfuil taithí acu ó gach cearn den domhan.", "action-join": "Bí páirt", "label-forum": "Fóram oifigiúil", "label-forum-desc": "Cuidigh lena chéile, iarrataí gné a phostáil, fabhtanna a thuairisciú, agus bíodh plé domhain agat faoi bhainistíocht", "label-sandbox-vault": "Cruinneamh Bosca Gaineamh", "label-sandbox-vault-desc": "Seinn timpeall agus déan triail as gnéithe éagsúla. Tabhair faoi deara le do thoil nach sábhálfar d'athruithe." } }, "commands": { "save-file": "Sábháil an comhad reatha", "download-attachments": "Íoslódáil ceangaltán don chomhad reatha", "follow-cursor-link": "Lean an nasc faoi chúrsóir", "open-cursor-link-in-new-tab": "Oscail nasc faoi chúrsóir i gcluaisín nua", "open-cursor-link-to-the-right": "Oscail nasc faoi chúrsóir ar dheis", "open-cursor-link-in-new-window": "Oscail nasc faoi chúrsóir i bhfuinneog nua", "navigate-tab-above": "Dírigh ar ghrúpa cluaisíní thuas", "navigate-tab-below": "Dírigh ar ghrúpa cluaisíní thíos", "navigate-tab-left": "Dírigh ar ghrúpa cluaisíní ar chlé", "navigate-tab-right": "Dírigh ar ghrúpa cluaisíní ar dheis", "toggle-pin": "Togla bioráin", "split-right": "Roinn ar dheis", "split-down": "Roinn síos", "toggle-stacked-tabs": "Athraigh cluaisíní cruachta", "navigate-back": "Nascleanúint ar ais", "navigate-forward": "Nascleanúint ar aghaidh", "use-dark-mode": "Úsáid modh dorcha", "use-light-mode": "Úsáid modh solais", "change-theme": "Athraigh téama", "search-current-file": "Cuardaigh an comhad reatha", "search-replace-current-file": "Cuardaigh agus athsholáthair sa chomhad reatha", "add-property": "Cuir maoin comhad leis", "label-sort-property-a-to-z": "Ainm (A go Z)", "label-sort-property-z-to-a": "Ainm (Z go A)", "add-alias": "Cuir alias leis", "clear-properties": "Airíonna comhad soiléir", "open-settings": "Socruithe oscailte", "open-help": "Cabhair oscailte", "toggle-edit": "Athraigh amharc eagarthóireachta/léithe", "toggle-source-mode": "Athraigh Réamhamharc Beo/Modh Foinse", "delete-current-file": "Scrios an comhad reatha", "new-tab": "Cluaisín nua", "show-trash": "Taispeáin bruscar", "close-all-tabs": "Dún gach cluaisín", "close-active-tab": "Dún cluaisín reatha", "close-others-in-tab-group": "Dún daoine eile i ngrúpa cluaisíní", "close-other-tabs": "Dún gach cluaisín eile", "close-tab-group": "Dún an grúpa cluaisín seo", "toggle-left-sidebar": "Athraigh an taobh taobh clé", "toggle-ribbon": "Athraigh ribín", "toggle-right-sidebar": "Athraigh an taobh na taobh deise", "toggle-default-new-tab-mode": "Athraigh modh réamhshocraithe do chluaisíní nua", "add-cursor-above": "Cuir cúrsóir thuas", "add-cursor-below": "Cuir cúrsóir thíos", "focus-editor": "Dírigh ar an nóta deireanach", "toggle-fold-properties": "Athraigh airíonna folláin sa chomhad reatha", "toggle-fold": "Toglaigh filleadh ar an líne reatha", "fold-all": "Fill gach ceannteideal agus liosta", "unfold-all": "Déan gach ceannteideal agus liosta a oscailt", "fold-more": "Fill níos mó", "fold-less": "Fill níos lú", "swap-line-up": "Bog líne suas", "swap-line-down": "Bogadh líne síos", "remove-heading": "Bain ceannteideal", "toggle-heading": "Socraigh mar cheannteideal {{level}}", "toggle-bold": "Athraigh trom", "toggle-italics": "Athraigh iodálach", "toggle-highlight": "Athraigh buaicphointe", "toggle-comments": "Athraigh trácht", "clear-formatting": "Formáidiú Glan", "insert-link": "Cuir isteach nasc Markdown", "toggle-spellcheck": "Athraigh seiceáil litrithe", "delete-paragraph": "Scrios mír", "toggle-checklist": "Athraigh stádas bosca seiceála", "cycle-list-checklist": "Bulléad rothaíochta/bosca seiceála", "insert-callout": "Cuir isteach glaonna", "insert-code-block": "Cuir isteach bloc cód", "insert-math-block": "Cuir isteach bloc matamaitice", "insert-horizontal-rule": "Cuir isteach riail chothrománach", "insert-table": "Cuir isteach tábla", "insert-footnote": "Cuir isteach fónóta", "edit-file-title": "Athainmnigh comhad", "copy-path": "Cóipeáil cosán comh", "copy-url": "Cóipeáil URL Obsidian", "export-pdf": "Easpórtáil go PDF...", "reload": "Athlódáil aip gan sábháil", "undo-close-tab": "Cealaigh cluaisín dún", "context-menu": "Taispeáin roghchlár comhthéacs faoin", "show-debug-info": "Taispeáin faisnéis dífhabhtaithe", "open-sandbox-vault": "Oscailte bosca gainimh", "always-on-top": "Togla fuinneog i gcónaí ar bharr", "zoom-in": "Zúmáil isteach", "zoom-out": "Súmáil amach", "reset-zoom": "Athshocraigh súmáil", "toggle-preview": "Déan amharc léitheoireachta", "move-to-new-window": "Bog cluaisín reatha chuig fuinneog nua", "open-in-new-window": "Oscail cluaisín reatha i bhfuinneog nua", "rename-current-file": "Athainmnigh an comhad reatha", "go-to-prev-tab": "Téigh chuig cluaisín roimhe seo", "go-to-next-tab": "Téigh go dtí an chluaisín eile", "go-to-last-tab": "Téigh chuig an cluaisín deireanach", "go-to-nth-tab": "Téigh go dtí cluaisín # {{n}}", "show-release-notes": "Taispeáin nótaí scaoilte" }, "dialogue": { "label-link-affected": "Beidh tionchar aige seo ar {{links}} i {{files}}.", "msg-updated-links": "Nuashonraithe {{links}} i {{files}}.", "label-update-links": "Nuashonraigh naisc", "label-confirm-update-link-to-file": "Ar mhaith leat naisc inmheánacha a nascann leis an gcomhad seo a nuashonrú?", "button-always-update": "Nuashonraigh i g", "button-just-once": "Díreach uair amháin", "button-do-not-update": "Ná nuashonraigh", "label-confirm-deletion": "An bhfuil tú cinnte gur mhaith leat “{{filename}}” a scriosadh?", "label-move-to-system-trash": "Aistreofar é chuig bruscar do chórais.", "label-move-to-vault-trash": "Aistreofar é chuig do bhruscar Obsidian, atá suite san fhillteán “.trash” i do chluiche.", "label-permanent-delete": "Scriosfar an comhad go buan.", "label-non-empty-folder": "Níl an fillteán seo folamh.", "label-delete-folder-warning": "Má leanann tú ar aghaidh, scriosfar gach comhad taobh istigh den fhillteán seo.", "label-delete-folder": "Scrios fillteán", "button-delete": "Scrios", "button-delete-do-not-ask-again": "Scrios agus ná iarr arís", "label-do-not-ask-again": "Ná iarr arís", "label-existing-backlink": "Tá nasc {{count}} ann faoi láthair ag díriú chuig an nóta seo.", "label-existing-backlink_plural": "Tá naisc {{count}} ann faoi láthair ag díriú ar an nóta seo.", "label-delete-file": "Scrios comhad", "label-download-attachments": "Íoslódáil ceangal", "label-no-attachments": "Níl aon cheangaltáin sheachtracha sa nóta seo.", "label-downloaded-attachments": "Ceangaltán {{count}} íoslódáilte.", "label-downloaded-attachments_plural": "Ceangaltáin {{count}} íoslódáilte.", "msg-files-updated": "Comhad {{count}} nuashonraithe.", "msg-files-updated_plural": "Comhaid {{count}} nuashonraithe.", "msg-files-reverted": "Athruithe ar ais ar an gcomhad {{count}}.", "msg-files-reverted_plural": "Athruithe ar ais ar chomhaid {{count}}.", "button-manage": "Bainistiú", "button-view": "Féach", "button-confirm": "Deimhnigh", "button-cancel": "Cealaigh", "button-download": "Íoslódáil", "button-done": "Déanta", "button-save": "Sábháil", "button-stop": "Stop", "button-continue": "Lean ar aghaidh", "button-choose": "Roghnaigh", "button-retry": "Déan iarracht arís", "button-update": "Nuashonraigh", "button-undo": "Cealaigh", "preparing-pdf": "Ullmhú PDF...", "label-rename-file": "Teideal nótaí", "label-rename-file-generic": "Ainm an chomhaid", "label-new-name": "Ainm nua", "msg-rename-success": "Athainmnigh go rathúil comhad.", "msg-merge-failed": "Theip ar nótaí a chumasc: {{message}}", "msg-file-or-folder-not-found": "Níl an comhad nó an fillteán “{{path}}” ann.", "msg-heading-empty": "Ní féidir ceannteideal a bheith folamh", "msg-block-id-empty": "Ní féidir le Bloc ID a bheith folamh", "msg-block-id-invalid": "Ní féidir ach carachtair alfauméireacha nó sraith a bheith ag ID bloc", "label-rename-heading": "Athainmnigh ceannteideal", "label-rename-blockid": "Athainmnigh ID bloc" }, "menu-items": { "new-file": "Nóta Nua", "new-file-to-the-right": "Nóta Nua ar an gceart", "new-window": "Fuinneog Nua", "open-switcher": "Oscail go tapa...", "open-vault": "Oscail Vault...", "close-tab": "Dún cluaisín", "close-window": "Dún Fuinneog", "find": "Aimsigh", "replace": "athsholáthair", "insert-callout": "Glaoigh", "insert-markdown-link": "Nasc Markdown", "insert-wikilink": "Nasc", "set-heading": "Ceannteideal {{level}}", "no-heading": "Comhlacht", "insert-quote": "Sleachta", "export-pdf": "Easpórtáil chuig PDF...", "insert-attachment": "Cuir isteach Ceangaltán...", "insert-codeblock": "Bloc Cód", "insert-math-block": "Bloc Matamaitice", "insert-table": "Tábla", "insert-footnote": "Fónót", "toggle-bullet-list": "Liosta piléar", "toggle-numbered-list": "Liosta uimhrithe", "toggle-checklist": "Liosta Tascanna", "toggle-bold": "trom", "toggle-code": "Cód", "toggle-comment": "Trácht", "toggle-italics": "Iodálacha", "toggle-inline-math": "Matamaitic", "toggle-highlight": "Aibhsigh", "toggle-strikethrough": "Strikethrough", "toggle-comments": "Trácht", "folding-menu": "Filleadh", "fold-all": "Fill Gach", "unfold-all": "Fill Gach", "fold-more": "Fill Níos Mó", "fold-less": "Fill Níos Lú", "source-mode": "Mód Foinse", "reading-view": "Féach Léitheoire", "show-debug-info": "Taispeáin Faisnéis Dífhabhtaithe", "open-sandbox": "Oscail Vault Bosca Gaineamh", "navigate-back": "Nascleanúint ar ais", "navigate-forward": "Nascleanúint ar aghaidh", "toggle-left-sidebar": "Taobh na taobh clé", "toggle-right-sidebar": "Taobh na taobh dheis", "toggle-ribbon": "Ribbón", "split-right": "Scoilt ar dheis", "split-down": "Roinn síos", "release-notes": "Nótaí Scaoilte" }, "plugins": { "name": "Breiseáin", "file-explorer": { "name": "Comhaid", "desc": "Brabhsáil na comhaid agus na fillteáin i do chluiche.", "action-open": "Oscail taiscéalaí comhad", "action-show": "Taispeáin taispeántóir comhad", "action-create-note": "Cruthaigh nóta nua", "action-create-folder": "Cruthaigh fillteán nua", "action-create-note-in-current-tab": "Cruthaigh nóta nua sa chluaisín reatha", "action-create-note-to-the-right": "Cruthaigh nóta ar dheis", "action-auto-reveal": "Nochtadh go huathoibríoch", "action-collapse-all": "Thit go léir", "action-expand-all": "Leathnaigh go léir", "action-new-note": "Nóta nua", "action-new-folder": "fillteán nua", "action-change-sort": "Athraigh ord sórtála", "action-reveal-file": "Nocht comhad sa nascleanúint", "action-reveal-active-file": "Nocht an comhad reatha i nascleanúint", "command-make-a-copy": "Déan cóip den chomhad reatha", "command-make-a-copy-mac": "Comhad reatha dúbailte", "command-move-file": "Bog an comhad reatha chuig fillteán eile", "action-new-folder-with-count": "Fillteán nua le roghnú ({{count}} mír)", "action-new-folder-with-count_plural": "Fillteán nua le roghnú ({{count}} earraí)", "action-move-file": "Bogadh comhad chuig...", "action-move-folder": "Bogadh fillteán chuig...", "action-move-items": "Bog míreanna {{count}} chuig...", "prompt-type-folder": "Clóscríobh fillteán", "label-no-folders": "Ní bhfuarthas aon fhillteáin ann cheana.", "instruction-navigate": "nascleanúint a dhéanamh", "instruction-move": "bogadh", "instruction-create": "chun a chruthú", "instruction-dismiss": "a dhíscríobh", "label-sort-a-to-z": "Ainm an chomhaid (A go Z)", "label-sort-z-to-a": "Ainm an chomhaid (Z go A)", "label-sort-new-to-old": "Am modhnaithe (nua go sean)", "label-sort-old-to-new": "Am modhnaithe (sean go nua)", "label-sort-created-old-to-new": "Am cruthaithe (sean go nua)", "label-sort-created-new-to-old": "Am cruthaithe (nua go sean)", "menu-opt-new-note": "Nóta nua", "menu-opt-new-folder": "fillteán nua", "menu-opt-rename": "Athainmnigh...", "menu-opt-delete": "Scrios", "menu-opt-make-copy": "Déan cóip", "menu-opt-make-copy-mac": "Dúblach", "msg-invalid-characters": "Ní féidir aon cheann de na carachtair seo a bheith san ainm comhaid: ", "msg-unsafe-characters": "Ní oibreoidh naisc le hainmneacha comhaid ina bhfuil aon cheann de na carachtair seo: ", "msg-file-already-exists": "Tá comhad ann cheana leis an ainm céanna", "msg-empty-file-name": "Ní féidir ainm an chomhaid a bheith folamh.", "msg-bad-dotfile": "Níor chóir go dtosóidh ainm an chomhaid le ponc.", "tooltip-modified-time": "Athraigh go deireanach ag {{time}}", "tooltip-created-time": "Cruthaithe ag {{time}}", "tooltip-folders-files-count": "{{FileCount}}, {{FolderCount}}", "label-untitled-file": "Gan teideal", "label-untitled-folder": "Gan teideal", "msg-set-attachment-folder": "Sábhálfar ceangaltáin chuig “{{path}}” as seo amach." }, "search": { "name": "Cuardaigh", "desc": "Cuardaigh eochairfhocal sna nótaí go léir.", "action-open-search": "Cuardaigh i ngach comhad", "label-collapse-results": "Torthaí titim", "label-match-case": "Cás meaitseála", "label-explain-search-term": "Téarmaí cuardaigh mínigh", "label-more-context": "Taispeáin níos mó comhthéacs", "label-result-count": "Toradh {{count}}", "label-result-count_plural": "Torthaí {{count}}", "label-result-max": "{{count}} + torthaí", "label-toggle-search-settings": "Socruithe cuardaigh", "prompt-start-search": "Cuardaigh...", "label-match-text": "Téacs a mheaitseáil: ", "label-match-regex": "Meaitseálacha regex: ", "label-match-exact-text": "Tá téacs cruinn ann: ", "label-match-greater-than": "Níos mó ná: ", "label-match-less-than": "Níos lú ná: ", "label-match-true": "Tá sé fíor", "label-match-false": "Tá sé bréagach", "label-match-empty": "Tá sé folamh", "label-match-property": "Tá maoin ann:", "label-match-all": "Meaitseáil gach ceann de: ", "label-match-any": "Meaitseáil aon cheann de: ", "label-excluding": "Gan a áireamh: ", "label-case-sensitive": "Cás-íogair", "label-case-insensitive": "Cás neamhíogair", "label-match-file-path": "Conair comhad a mheaitseáil: ", "label-match-file-name": "Meaitseáil ainm an chomhaid: ", "label-match-content": "Meaitseáil ábhar comhad: ", "label-match-task": "Tasc meaitseála: ", "label-match-task-todo": "Tasc meaitseála (todo): ", "label-match-task-done": "Tasc meaitseála (déanta): ", "label-match-line": "Líne meaitseála: ", "label-match-block": "Bloc meaitseála: ", "label-match-section": "Rannóg meaitseála: ", "label-match-tag": "Clib meaitseála: ", "label-no-matches": "Níor aimsíodh aon chluichí.", "matches-with-count": "... agus {{count}} níos mó meaitseála.", "matches-with-count_plural": "... agus {{count}} níos mó cluichí.", "label-copy-search-results": "Cóipeáil na torthaí", "button-copy-results": "Torthaí cóipeáil", "msg-successfully-copied": "Torthaí cóipeáilte chuig do ghearr", "option-show-path": "Taispeáin cosán", "option-show-path-description": "Taispeáin cosán iomlán an chomhaid seachas ainm an chomhaid amháin.", "option-link-style": "Stíl nasc", "option-link-style-description": "Casadh gach toradh comhad go roghnach go nasc.", "option-choice-link-style-none": "Níl aon", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Nasc Markdown", "option-list-prefix": "Réimír liosta", "option-list-prefix-description": "Cuir réimír mír liosta go roghnach le gach toradh comhad.", "option-choice-list-style-none": "Níl aon", "option-choice-list-style-dash": "Dráth (-)", "option-choice-list-style-asterisk": "Réiltín (*)", "option-choice-list-style-numbered": "Uimhrithe", "tooltip-clear-search": "Cuardach soiléir", "label-search-options": "Roghanna cuardaigh", "label-properties-group": "Airíonna", "label-tags-group": "Clibeanna", "tooltip-read-more": "Léigh tuilleadh", "label-history": "Stair", "tooltip-clear-history": "Glan stair chuardaigh", "label-path-option-description": "cosán meaitseála an chomhaid", "label-file-name-option-description": "ainm comhad meaitseála", "label-tag-option-description": "cuardaigh clibeanna", "label-line-option-description": "cuardaigh eochairfhocail ar líne chéanna", "label-section-option-description": "cuardaigh eochairfhocail faoin gce", "label-property-option-description": "maoin meaitseála", "menu-opt-search-for": "Cuardaigh “{{keyword}}”", "menu-opt-search-in-folder": "Cuardaigh san fhillteán" }, "quick-switcher": { "name": "Athraitheoir tapa", "desc": "Léim chuig comhaid eile le do mhéarchlár.", "short-name": "Athraitheoir", "action-open": "Oscail lascaire tapa", "instruction-navigate": "nascleanúint a dhéanamh", "instruction-open": "a oscailt", "instruction-open-in-new-tab": "chun oscailt i gcluaisín nua", "instruction-open-to-the-right": "chun oscailt ar dheis", "instruction-create": "chun a chruthú", "instruction-dismiss": "a dhíscríobh", "instruction-select": "a roghnú", "label-no-note-create-new": "Níor aimsíodh aon nótaí. Iontráil chun ceann nua a chruthú.", "prompt-type-file-name": "Faigh nó cruthaigh nóta...", "label-enter-to-create": "Iontráil chun a chruthú", "tooltip-not-created-yet": "Níl cruthaithe fós, roghnaigh chun a chruthú", "option-show-existing-only": "Taispeáin atá ann cheana amháin", "option-show-existing-only-description": "Taispeáin ach torthaí ó chomhaid atá ann cheana. Beidh naisc le comhaid nach cruthaíodh fós i bhfolach.", "option-show-attachments": "Taispeáin ceangaltán", "option-show-attachments-desc": "Taispeáin comhaid ceangaltán cosúil le híomhánna, físeáin agus PDFanna.", "option-show-all-file-types": "Taispeáin gach cineál comhaid", "option-show-all-file-types-desc": "Taispeáin gach comhad lena n-áirítear cinn nach féidir le Obsidian a oscailt. Osclófar an comhad leis an aip réamhshocraithe don chineál comhaid sin." }, "graph-view": { "name": "Amharc graif", "desc": "Samhlaigh na caidrimh idir do nótaí.", "action-open": "Radharc graf oscailte", "action-open-local": "Oscail graf áitiúil", "action-copy-screenshot": "Cóipeáil íomh", "tab-title": "Graf de {{displayText}}", "label-filters": "Scagairí", "prompt-filter-nodes": "Cuardaigh comhaid...", "option-depth": "Doimhneacht", "option-depth-description": "Taispeáin nóid an líon naisc seo ar shiúl", "option-neighbor-links": "Naisc comharsa", "option-neighbor-links-description": "Taispeáin naisc idir comharsana", "option-forelinks": "Naisc amach", "option-forelinks-description": "Taispeáin naisc chuig comhaid eile", "option-backlinks": "Naisc ag teacht isteach", "option-backlinks-description": "Taispeáin naisc ó chomhaid eile", "option-show-tags": "Clibeanna", "option-show-tags-description": "Tá clibeanna nasctha leis na comhaid ina bhfuil siad", "option-show-attachments": "Ceangaltáin", "option-show-attachments-description": "Taispeáin ceangaltán", "option-show-existing-files-only": "Comhaid atá ann cheana amháin", "option-show-existing-files-only-description": "Nuair a chumasaítear é, ní thaispeántar naisc le comhaid nach bhfuil ann", "option-show-orphans": "Dílíthithe", "option-show-orphans-description": "Taispeáin comhaid nach bhfuil nasctha le haon chomhad eile", "label-display": "Taispeáin", "option-show-arrows": "Saigheada", "option-show-arrows-description": "Taispeáin saigheada nuair a dhéantar súmáil", "option-text-fade": "Tairseach éadaithe téacs", "option-node-size": "Méid nód", "option-link-thickness": "Tiús nasc", "label-forces": "Fórsaí", "option-center-force": "Fórsa ionaid", "option-link-force": "Fórsa nasc", "option-link-distance": "Fad nasc", "option-repel-force": "Fórsa a dhíbirt", "tooltip-open-graph-settings": "Socruithe graf oscail", "msg-screenshot-copied": "Scáileán cóipeáilte chuig an gearr", "label-groups": "Grúpaí", "placeholder-enter-query": "Cuir isteach ceist...", "tooltip-delete-graph": "Scrios grúpa", "button-new-group": "Grúpa nua", "tooltip-click-to-change-drag-to-reorder": "Cliceáil chun dath a athrú\nTarraing chun grúpaí a athordú", "action-timelapse": "Tosaigh beochan timelapse graf", "tooltip-start-timelapse-animation": "Tosaigh beochan timelapse", "button-animate-timelapse": "Beochan" }, "backlinks": { "name": "Cúlnaisc", "desc": "Taispeáin naisc ó chomhaid eile chuig an gcomhad reatha. Is féidir backlinks a thaispeáint i radharc ar leithligh nó ag bun an nóta.", "action-open": "Backlinks oscailte", "action-show": "Taispeáin backlinks", "action-open-for-current": "Oscail backlinks don nóta reatha", "action-toggle-backlinks-in-document": "Athraigh backlinks sa doiciméad", "menu-opt-backlinks-in-document": "Backlinks sa doiciméad", "label-linked-mentions": "Luanna nasctha", "label-no-backlinks": "Níor aimsíodh aon backlinks.", "label-unlinked-mentions": "Luanna neamhnasctha", "label-show-search": "Taispeáin scagaire cuardaigh", "label-link-button-text": "Nasc", "tab-title": "Cúlnaisc do {{displayText}}", "label-no-unlinked-mentions": "Níor aimsíodh aon lua neamhnasctha.", "ellipsis": "...", "option-backlink-in-document": "Taispeáin backlinks ag bun na nótaí", "option-backlink-in-document-desc": "Déan backlinks le feiceáil i gcluaisíní nua de réir réamhshocraithe." }, "outgoing-links": { "name": "Naisc amach", "desc": "Taispeáin naisc amach agus braite luaitheanna neamhnasctha ar nótaí eile sa nóta reatha.", "action-open": "Oscail naisc amach", "action-show": "Taispeáin naisc amach", "action-open-for-current": "Oscail naisc amach don chomhad reatha", "tab-title": "Naisc amach ó {{displayText}}", "label-links": "Naisc", "label-no-links": "Níl aon naisc le fáil.", "label-unlinked-mentions": "Luanna neamhnasctha", "tooltip-link-file": "Nasc an comhad seo", "tooltip-not-created": "Níor cruthaíodh go fóill" }, "tag-pane": { "name": "Amharc Clibeanna", "short-name": "Clibeanna", "desc": "Taispeáin liosta de na clibeanna go léir agus a líon na n-imeachtaí.", "action-show": "Taispeáin clibeanna", "label-no-tags": "Níl aon chlibeanna le fáil.", "label-sort-by-name-a-to-z": "Ainm clib (A go Z)", "label-sort-by-name-z-to-a": "Ainm tag (Z go A)", "label-sort-by-frequency-high-to-low": "Minicíocht (ard go íseal)", "label-sort-by-frequency-low-to-high": "Minicíocht (íseal go ard)", "action-show-nested-tags": "Taispeáin clibeanna neadaithe", "action-collapse-all": "Thit go léir", "action-expand-all": "Leathnaigh go léir" }, "footnotes-pane": { "name": "Amharc fónótaí", "short-name": "Fonótaí", "desc": "Taispeáin liosta de na fónótaí ón nóta reatha.", "action-show": "Taispeáin fónótaí", "label-no-footnotes": "Níor aimsíodh aon fhonótaí." }, "properties": { "name": "Amharc airíonna", "desc": "Taispeáin na meiteashonraí do do chuid comhad sa bharra taobh.", "name-global": "Gach airíonna", "name-local": "Airíonna comhad", "tab-title": "Airíonna comhad do {{displayText}}", "action-show": "Taispeáin gach airíonna", "action-show-local": "Taispeáin airíonna comhad", "opt-unassign-type": "Cineál neamhshannaigh", "label-no-properties": "Níor aimsíodh aon airíonna.", "label-invalid-properties": "Airíonna neamhbhailí.", "label-sort-by-name-a-to-z": "Ainm maoine (A go Z)", "label-sort-by-name-z-to-a": "Ainm maoine (Z go A)", "label-sort-by-frequency-high-to-low": "Minicíocht (ard go íseal)", "label-sort-by-frequency-low-to-high": "Minicíocht (íseal go ard)", "msg-merge-properties-warning": "Maoin “{{oldKey}}” a chumasc le “{{newKey}}”?", "msg-merge-properties-warning-desc": "I gcás coinbhleachtaí, cuirfear na luachanna a chumasc nó úsáidfear an luach ó “{{oldKey}}”.", "action-collapse-all": "Thit go léir", "action-expand-all": "Leathnaigh go léir", "action-open-local": "Airíonna comhad oscail", "action-open-daily-note": "Nóta laethúil oscailte" }, "page-preview": { "name": "Réamhamharc leathanach", "desc": "Cuir nasc inmheánach chun réamhamharc a ábhar. I mód eagarthóra, brúigh Ctrl/Cmd agus tú ag crochadh.", "label-empty-attachment": "Ní raibh “{{linktext}}” a aimsiú.", "label-empty-note": "Níl “{{linktext}}” cruthaithe go fóill. Cliceáil chun a chruthú.", "label-missing-footote": "Níor aimsíodh foot {{id}}. Cliceáil chun a chruthú.", "label-source-editor": "Féach eagarthóireachta", "label-source-preview": "Féach léitheoire", "label-source-search": "Cuardaigh, Backlinks, agus naisc amach", "label-source-tab-header": "Ceanntásc cluaisín", "label-require-mod": "Éilíonn {{key}} chun réamhamharc leathanaigh a spreagadh ar hover" }, "bookmarks": { "name": "Leabharmharcanna", "desc": "Sábháil aicearraí chuig comhaid, cuardaigh, ceannteidil agus graif.", "action-show": "Taispeáin leabharmharcanna", "action-collapse-all": "Thit go léir", "action-new-bookmark": "Leabharmharcáil an cluaisín gníomhach...", "action-new-group": "Grúpa nua", "action-bookmark": "Leabharmharc...", "action-add-bookmark": "Cuir leabharmharc leis", "action-edit-bookmark": "Cuir leabharmharc in eagar", "action-bookmark-block": "Bloc leabharmharc faoi chúrsóir...", "action-bookmark-heading": "Ceannteideal leabharmharc faoi chúrsóir...", "action-bookmark-search": "Cuardach reatha leabharmharcáil...", "action-remove-bookmark": "Bain leabharmharc don chomhad reatha", "action-bookmark-tab-group": "Leabharmharc {{count}} cluaisín...", "action-bookmark-tab-group_plural": "Cluaisíní leabharmharcáil {{count}}...", "action-bookmark-all-tabs": "Leabharmharcáil gach cluaisín...", "action-bookmark-graph": "Leabharmharcáil an graf seo...", "label-bookmark": "Leabharmharc", "label-bookmarked": "Leabharmharcáilte", "label-bookmark-with-count": "Leabharmharc {{count}}", "label-bookmark-with-count_plural": "Leabharmharcanna {{count}}", "label-no-bookmarks": "Níor aimsíodh aon leabharmharcanna", "label-invalid-data": "Theip ar leabharmharcanna a luchtú.", "label-invalid-data-desc": "Tá an comhad sonraí truaillithe.", "label-untitled-group": "Grúpa gan theideal", "label-untitled-graph": "Graf gan teideal", "menu-opt-edit": "Cuir in eagar...", "menu-opt-remove": "Bain", "menu-opt-rename": "Athainmnigh", "menu-opt-bookmark-block": "Leabharmharcáil an bloc seo...", "menu-opt-bookmark-heading": "Leabharmharcáil an ceannteideal seo...", "msg-no-search-query": "Níl aon cheist cuardaigh le leabharmharc.", "option-path": "Conair", "option-query": "Fiosrú", "option-u-r-l": "URL", "option-title": "Teideal", "option-group": "Grúpa leabharmharc", "placeholder-bookmark-group": "Leabharmharcanna" }, "custom-css": { "name": "CSS Saincheaptha", "desc": "Léigh agus cuir i bhfeidhm “obsidian.css” san fhillteán cruinneacháin.", "setting-community-themes": "Téamaí pobail", "msg-fetching-themes": "Sonraí téama pobail a fháil...", "prompt-filter": "Scagaire...", "label-dark-theme-only": "Téamaí dorcha amháin", "label-light-theme-only": "Téamaí éadroma amháin", "label-use": "Úsáid an téama seo", "label-stop-use": "Stop úsáid a bhaint as an téama seo", "label-install-and-use": "Suiteáil agus úsáid", "label-update": "Nuashonraigh", "label-no-readme": "Níor chuir an téama seo comhad README ar fáil.", "tooltip-remove-theme": "Bain téama", "label-visit-on-github": "Tabhair cuairt ar GitHub", "msg-load-error": "Ní féidir téamaí pobail a luchtú, seiceáil do líonra le do thoil.", "msg-now-using-theme": "Tá {{title}} á úsáid agat anois mar do théama CSS.", "msg-deleted-theme": "Tá an téama {{title}} scriosta.", "msg-updated-theme": "Tá an téama {{title}} nuashonraithe.", "label-installed": "Suiteáilte", "label-legacy": "Oidhreacht", "button-update-all-themes": "Nuashonraigh gach", "msg-failed-load-themes": "Theip ar théamaí pobail a luchtú.", "msg-no-updates-found": "Níl aon nuashonruithe téama le fáil.", "msg-updates-found": "Aimsíodh téama {{count}} le nuashonrú.", "msg-updates-found_plural": "Aimsíodh téamaí {{count}} le nuashonrú.", "msg-failed-to-install-theme": "Theip ar théama “{{name}}” a shuiteáil.", "msg-successfully-installed-theme": "Téama suiteáilte go rathúil “{{name}}”.", "msg-installing-theme": "Téama “{{name}}” a shuiteáil...", "label-search-summary": "Ag taispeáint {{themeCount}}:", "label-update-available": "Nuashonrú ar fáil" }, "command-palette": { "name": "Pailéad ordaithe", "desc": "Úsáid Cmd/Ctrl+P agus tosú ag clóscríobh chun ordú a ghairm.", "action-open": "Oscailte pailéad ordaithe", "instruction-navigate": "nascleanúint a dhéanamh", "instruction-use": "le húsáid", "instruction-dismiss": "a dhíscríobh", "label-no-commands": "Níor aimsíodh aon orduithe.", "prompt-type-command": "Roghnaigh ordú...", "label-pinned-commands": "Orduithe brionnaithe", "option-add-new-pin": "Ordú nua binneáilte", "option-add-new-pin-description": "Beidh orduithe brionnaithe le feiceáil ag barr na n-orduithe uile nuair nach mbeidh aon cheist cuardaigh i láthair." }, "markdown-format-importer": { "name": "Tiontaire formáid", "desc": "Tiontaigh Markdown ó aipeanna eile go formáid Obsidian.", "action-open": "Tiontaire formáid oscail", "option-roam-tag-fixer": "Socraitheoir clibeanna Roam Research", "option-roam-tag-fixer-description": "Athraíonn “#tag” agus “# [[tag]]” go “[[tag]]”.", "option-roam-highlight-fixer": "Socraitheoir aibhsithe Roam Research", "option-roam-highlight-fixer-description": "Athraíonn sé “^^highlight^^” go “==Highlight ==”.", "option-roam-todo-converter": "Tiontaire TODO Roam Research", "option-roam-todo-converter-description": "Athraíonn sé “{{[[TODO]]}}” go “[ ]”.", "option-bear-highlight-fixer": "Socraitheoir aibhsithe béar", "option-bear-highlight-fixer-description": "Tiontaíonn “::highlight::” go “==Highlight ==”.", "zettelkasten-link-fixer": "Socraitheoir nasc lámhaire", "zettelkasten-link-fixer-description": "Socraíonn nasc “[[UID]]” chuig “[[Ainm Comhaid UID]]” iomlán.", "zettelkasten-link-beautifier": "Áilleoir nasc Zettelkasten", "zettelkasten-link-beautifier-description": "Socraíonn naisc “[[UID]]” agus déanann sé iad a áilleamh freisin “[[Ainm Comhaid UID |Ainm Comhaid]]”.", "frontmatter-migration": "Imirce Frontmatter", "frontmatter-migration-description": "Aimirgh clibeanna tosaigh, ainmneacha agus cssclasses go dtí an fhormáid dhian a theastaíonn ag Obsidian v1.9 +", "msg-all-files-warning": "Rabhadh: tiontóidh an tiontaire na comhaid go léir i do ghabhán, ní hamháin an comhad reatha.", "msg-override-files-warning": "Déanfar do chuid comhad a fhorscríobh. Cuir cúltaca ar do chuid comhad go léir sula ndéanann tú iarracht", "label-start-conversion": "Tosaigh comhshó", "label-stop": "Stop", "label-go-back": "Téigh ar ais", "label-done": "Déanta", "label-processing": "Próiseáil...", "label-cancelling": "Ag cealú...", "label-finished": "Críochnaithe!", "label-processed-files": "comhaid próiseáilte", "label-modified-files": "Comhaid modhnaithe", "label-total-replacements": "Athsholáthairtí iomlána", "label-failed": "Theip" }, "daily-notes": { "name": "Nótaí laethúla", "desc": "Cruthaigh nó oscail nóta laethúil an lae inniu.", "short-name": "lá atá inniu ann", "action-open": "Oscail nóta laethúil an lae inniu", "action-open-previous": "Oscail nóta laethúil roimhe", "action-open-next": "Oscail an nóta laethúil eile", "action-insert-text": "Nóta laethúil an lae inniu", "action-insert-link": "Cuir nasc isteach sa nóta laethúil", "msg-fail-format": "Theip ar nóta laethúil a chruthú. Ní formáid bailí é “{{format}}”.", "msg-fail-folder": "Theip ar nóta laethúil a chruthú. Níor aimsíodh fillteán “{{folderOption}}”.", "msg-fail-template-file": "Theip ar nóta laethúil a chruthú. Níor aimsíodh comhad teimpléad “{{template}}”.", "msg-no-previous": "Níl aon nóta laethúil roimh an gceann seo.", "msg-no-next": "Níl aon nóta laethúil ann tar éis an cheann seo.", "option-date-format": "Formáid dáta", "label-refer-to-syntax": "Le haghaidh tuilleadh comhréireachta, féach ", "label-syntax-link": "formáid tagartha", "label-syntax-live-preview": "Tá cuma seo ar do chomhréir reatha: ", "option-new-file-location": "Suíomh nua an chomhaid", "option-new-file-location-description": "Cuirfear nótaí laethúla nua anseo.", "option-template": "Suíomh comhad teimpléad", "option-template-description": "Roghnaigh an comhad le húsáid mar theimpléad.", "option-open-on-start": "Oscail nóta laethúil ar thosú", "option-open-on-start-description": "Oscail do nóta laethúil go huathoibríoch aon uair a osclaíonn tú an" }, "unique-note-creator": { "name": "Cruthaitheoir nótaí uath", "desc": "Cruthaigh nótaí le réamhshamhlacha ama uathúla, le haghaidh sreafaí oibre cosúil le zettelkasten nó bosca duillín.", "short-name": "Uathúil", "action-create-note": "Cruthaigh nóta uathúil nua", "action-add-link": "Cuir nasc inmheánach uathúil", "option-new-file-location": "Suíomh nua an chomhaid", "option-new-file-location-description": "An cosán fillteán chun an nóta uathúil nua a chruthú isteach.", "msg-folder-not-found": "Theip ar nóta uathúil a chruthú. Níor aimsíodh fillteán “{{folderOption}}”.", "option-template-file": "Suíomh comhad teimpléad", "option-template-file-description": "An cosán comhad le húsáid mar theimpléad.", "option-template-file-placeholder": "Sampla: fillteán1/nóta", "option-id-format": "Formáid réimír uathúil", "msg-template-file-not-found": "Theip ar nóta uathúil a chruthú. Níor aimsíodh comhad teimpléad “{{template}}”.", "msg-failed-to-generate": "Theip ar nóta uathúil a ghiniúint leis an bhformáid “{{format}}”" }, "random-note": { "name": "Nóta randamach", "desc": "Oscail nóta randamach chun athfhionnú nó athbhreithniú a dhéanamh.", "short-name": "Randamach", "action-open": "Nóta randamach oscail" }, "outline": { "name": "Imlíne", "desc": "Taispeáin an tábla ábhair don nóta reatha.", "action-open": "Imlíne oscailte", "action-show": "Taispeáin imlíne", "action-open-for-current": "Imlíne oscailte ar an gcomhad reatha", "tab-title": "Imlíne ar {{displayText}}", "label-no-headings": "Níor aimsíodh aon cheannteidil.", "label-follow-cursor": "Scrollaigh go huathoibríoch go dt" }, "word-count": { "name": "Líon focal", "desc": "Taispeáin comhaireamh focal sa bharra stádais." }, "slides": { "name": "Sleamhnáin", "desc": "Cruthaigh cur i láthair trí úsáid a bhaint as “---” chun sleamhnáin a scaradh.", "action-start": "Tosaigh cur i láthair" }, "audio-recorder": { "name": "Taifeadán fuaime", "desc": "Taifeadadh nótaí fuaime agus sábháil iad mar cheangaltáin.", "action-start": "Tosaigh taifeadadh fuaime", "action-stop": "Stop ag taifeadadh fuaime", "action-toggle": "Tos/stop taifeadadh", "msg-access-denied": "Diúltaíodh rochtain micreafón, cumasaigh é ón bpána roghanna le do thoil.", "msg-pending-grant": "Tabhair cead micreafóin chun taifeadadh a thosú.", "msg-no-microphone": "Níl aon mhicreafón ceangailte." }, "open-with-default-app": { "name": "Oscail san aip réamhshocraithe", "desc": "Cuir cnaipe leis chun an comhad reatha a oscailt ina aip réamhshocraithe.", "action-open-file": "Oscail san aip réamhshocraithe", "action-open-file-mobile": "Comhroinn", "action-show-in-folder": "Taispeáin i taiscéalaí córais", "action-show-in-folder-mac": "Nochtadh i Finder" }, "templates": { "name": "Teimpléid", "desc": "Cuir isteach ábhar teimpléid ó fhillteán comhaid teimpléad.", "action-insert": "Cuir isteach teimpléad", "action-insert-current-date": "Cuir isteach an dáta reatha", "action-insert-current-time": "Cuir isteach an t-am reatha", "option-template-folder-location": "Suíomh fillteán teimplé", "option-template-folder-location-description": "Beidh comhaid san fhillteán seo ar fáil mar theimpléid.", "option-template-date-format": "Formáid dáta", "option-template-date-format-description": "Cuirfear an luach seo in ionad {{date}} sa chomhad teimpléid.", "option-template-date-format-description2": "Is féidir leat {{date:YYYY-MM-DD}} a úsáid freisin chun an fhormáid a shárú uair amháin.", "option-template-time-format": "Formáid ama", "option-template-time-format-description": "Cuirfear an luach seo in ionad {{time}} sa chomhad teimpléid.", "option-template-time-format-description2": "Is féidir leat {{time:HH:mm}} a úsáid freisin chun an fhormáid a shárú uair amháin.", "instruction-navigate": "nascleanúint a dhéanamh", "instruction-insert": "teimpléad a chur isteach", "instruction-dismiss": "a dhíscríobh", "msg-no-templates-found": "Níl aon teimpléid le fáil", "msg-fail-invalid-folder": "Theip ar theimpléid a liostáil. Tá fillteán teimpléad nebhailí", "msg-fail-folder-not-found": "Theip ar theimpléid a liostáil. Níor aimsíodh fillteán “{{folderOption}}”.", "msg-fail-invalid-template-properties": "Ní féidir teimpléad a chur isteach, ní fhéadfaí na hairíonna sa chomhad teimpléid a léamh.", "msg-no-folder-set": "Theip ar theimpléid a liostáil. Gan aon fhillteán teimpléad cumraithe", "prompt-type-template": "Cineál ainm teimpléad..." }, "translucency": { "name": "Fuinneog trédhearcach", "desc": "Cas ar éifeacht trédhearcachta chun mothú doimhneachta a fheabhsú. Is fearr a úsáidtear le modh dorcha. Níl tacaíocht ar Linux." }, "slash-command": { "name": "Orduithe Slash", "desc": "Orduithe a spreagadh san eagarthóir tríd an eochair slash ar aghaidh a úsáid." }, "editor-status": { "name": "Taispeáin modh eagarthóireachta sa bharra stádais", "desc": "Taispeáin an toggle modh eagarthóireachta sa bharra stádais.", "read": "Léamh", "edit-source": "Modh foinse", "edit-live-preview": "Réamhamharc Beo" }, "publish": { "name": "Foilsiú", "desc": "Óstáil do nótaí ar líne mar shuíomh Gréasáin, wiki nó doiciméadú.", "action-publish-changes": "Foilsigh athruithe...", "action-publish-file": "Foilsigh an comhad reatha", "label-no-internet-access": "Ní mór duit rochtain ar an idirlíon chun athruithe a fhoilsiú.", "label-publish-service-description": "Is seirbhís íoctha breiseán é Obsidian Publish a ligeann duit do nótaí a fhoilsiú ar líne go díreach ó Obsidian.", "label-please-login": "Chun tosú ag foilsiú, logáil isteach nó cruthaigh cuntas nua Obsidian.", "label-no-publish-subscription": "Níl síntiús Obsidian Publish agat fós.", "button-purchase": "Ceannach", "label-manage-sites": "Bainistigh láithreáin", "label-no-sites": "Níl aon suíomhanna agat.", "button-choose": "Roghnaigh", "tooltip-edit-site-id": "Athraigh ID an láithreáin", "tooltip-delete-site": "Scrios an láithreán", "label-delete-site-confirmation": "An bhfuil tú cinnte gur mhaith leat an suíomh seo a scriosadh?", "label-delete-site-details": "Scriosfaidh sé seo do shuíomh láithreach agus go buan.", "label-confirm-delete-site": "Deimhnigh an láithreán scriosadh “{{site}}”", "option-site-id": "ID Láithreáin", "option-site-id-description": "Beidh do shuíomh ag https://publish.obsidian.md/{site id}. Is féidir leat é seo a athrú níos déanaí. Ní cheadaítear ach litreacha, uimhreacha agus sraitheanna íochtaracha.", "option-site-id-placeholder": "Roghnaigh ID láithreáin", "button-create": "Cruthaigh", "msg-invalid-site-id": "Ní féidir ach litreacha beaga, uimhreacha agus sraitheanna a bheith ag ID Láithreáin.", "msg-site-id-in-use": "Tá an ID láithreáin seo in úsáid, bain triail as ceann eile le do thoil.", "msg-create-site-issue": "Bhí saincheist ann agus tú ag cruthú do shuíomh.", "label-site-options": "Roghanna láithreáin", "option-site-general": "Ginearálta", "option-site-components": "comhpháirteanna", "option-site-appearance": "Dealramh", "option-site-reading-experience": "Taithí léamh", "option-site-misc": "Socruithe suímh eile", "option-site-name": "Ainm an láithreáin", "option-site-name-description": "Ainm do shuíomh foilsithe. Taispeánfaidh sé suas i dteideal leathanaigh do shuíomh.", "option-site-name-placeholder": "Ainm do shuíomh", "option-home-page-file": "Comhad leathanach baile", "option-home-page-file-description": "An chéad leathanach a fheiceann an t-úsáideoir nuair a bhíonn tú ag tuirlingt ar do", "option-home-page-file-placeholder": "Roghnaigh comhad foilsithe", "option-logo": "Lógó", "option-logo-description": "Roghnaigh comhad íomhá mar lógó do shuíomh.", "option-logo-placeholder": "Aon íomhá uaslódáilte i do chluiche", "option-site-collaboration": "Comhoibriú láithreáin", "option-site-collaboration-desc": "Bainistigh comhoibritheoirí don suíomh seo.", "option-customize-navigation": "Saincheapadh nascleanúint", "option-customize-navigation-desc": "Athraigh ord na n-earraí nascleanúna agus folaigh leathanaigh nó fillteáin ó thaispeáint.", "option-navigation-order": "Ordú taispeána earra loingseo", "option-hide-items-in-navigation": "Folaigh leathanaigh nó fillteáin ó nascleanúint", "option-hide-items-in-navigation-desc": "Cliceáil ar dheis agus roghnaigh “Folaigh” chun leathanaigh shonracha a chosc ó bheith le feiceáil sa nascleanúint Beidh na leathanaigh inrochtana fós trí naisc nó trí rochtain a fháil go díreach ar an URL.", "option-show-hidden-items": "Taispeáin i bhfolach", "button-customize-sidebar": "Bainistiú", "label-navigation-modal-title": "Nascleanúint", "label-navigation-modal-desc": "Tarraing agus scaoil chun an t-ord ina bhfuil earraí nascleanúna le feiceáil ar do shuíomh Foilsithe a shaincheapadh.", "option-hide-in-navigation": "Folaigh i nascleanúint", "button-manage-collaborators": "Bainistiú", "option-theme": "Téama", "option-theme-description": "Roghnaigh scéim datha réamhshocraithe do do shuíomh.", "option-theme-system": "Oiriúnaigh don chóras", "option-show-theme-toggle": "Togla éadrom/dorcha", "option-show-theme-toggle-description": "Lig do chuairteoirí aistriú idir téama éadrom agus dorcha leo féin.", "option-show-navigation": "Taispeáin nascleanúint", "option-show-navigation-description": "Taispeáin liosta de na leathanaigh foilsithe go léir ar an taobh clé de do shuíomh foilsithe.", "option-show-search": "Taispeáin barra cuardaigh", "option-show-search-description": "Taispeáin barra cuardaigh a ligeann do chuairteoirí leathanaigh, ainmneacha agus ceannteidil a chuardach ar do shuíomh.", "option-show-graph": "Taispeáin amharc graf", "option-show-graph-description": "Taispeáin graf áitiúil beag ar gach leathanach.", "option-show-outline": "Taispeáin tábla na n-ábhar", "option-show-outline-description": "Taispeáin imlíne na gceannteidil ar gach leathanach.", "option-show-backlinks": "Taispeáin backlinks", "option-show-backlinks-description": "Taispeáin an chuid backlink ag deireadh gach leathanaigh.", "option-sliding-window-mode": "Leathanaigh cruach", "option-sliding-window-mode-description": "Osclóidh naisc in aice leis an leathanach reatha san fhuinneog chéanna. Scrollaigh go cothrománach chun leathanaigh chruachaithe", "option-hover-preview-file": "Taispeáin réamhamharc hover", "option-hover-preview-file-description": "Taispeáin réamhamharc leathanaigh agus naisc á choinneáil.", "option-hide-title": "Folaigh teideal an leathanaigh", "option-hide-title-description": "Folaigh ceannteideal an leathanaigh. Úsáideach nuair a bhíonn do cheannteidil féin agat ag tús gach leathanaigh.", "option-readable-line-length": "Fad líne inléite", "option-readable-line-length-description": "Fad líne uasta a theorannú. Oireann sé níos lú ábhar ar an scáileán, ach déanann sé míreanna fada níos inléite.", "option-site-password": "Pasfhocail", "option-site-password-description": "Cuir srian ar rochtain ar do shuíomh le pasfhocail.", "option-google-analytics": "Cód rianaithe Google Analytics", "option-google-analytics-description": "Cumraigh Google Analytics do do shuíomh. Ar fáil ach amháin do chuairteoirí ó do URL fearainn saincheaptha. Seiceáil le do dhlíthe agus rialacháin áitiúla ar dtús.", "button-manage-passwords": "Bainistiú", "button-save-site-settings": "Sábháil socruithe láithreáin", "msg-updated-options": "Roghanna nuashonraithe do do shuíomh.", "button-go-back": "Ar ais", "label-publishing-to": "Foilsiú chuig", "tooltip-switch-site": "Athraigh suíomh", "button-add-linked": "Cuir nasctha leis", "tooltip-add-linked": "Cuir na comhaid go léir atá nasctha le míreanna roghnaithe faoi láthair", "msg-added-linked-files": "Cuireadh comhad nasctha {{count}} leis.", "msg-added-linked-files_plural": "Cuireadh comhaid nasctha {{count}} leis.", "tooltip-open-site-options": "Athraigh roghanna láithreáin", "label-no-changes-detected": "Níor aimsíodh aon athruithe.", "label-changed-files-to-be-published": "Athraithe", "label-unchanged-files-already-published": "Gan athrú (roghnaigh chun dífhoilsiú)", "label-file-selected": " roghnaithe", "button-select-all-files": "Roghnaigh go léir", "label-custom-navigation-title": "míreanna nascleanúna", "button-deselect-all-files": "Díroghnaigh go léir", "label-new-files-to-be-published": "Nua", "button-publish": "Foilsiú", "msg-no-permission-to-publish-to-site": "Níl ceadanna agat chun foilsiú ar an suíomh reatha.", "msg-select-at-least-one-file": "Roghnaigh comhad amháin ar a laghad.", "label-upload-changes": "Uaslódáil athruithe", "button-done": "Déanta", "button-stop": "Stop", "label-status-uploading": "Uaslódáil", "label-status-to-publish": "Foilsiú", "label-status-to-delete": "Chun scriosadh", "label-status-published": "Foilsithe", "label-status-deleted": "Scriosta", "label-status-failed": "Theip", "label-status-cancelled": "Cealaíodh", "button-change": "Athraigh", "label-clear-cache": "Tógann sé suas le cúpla nóiméad chun na hathruithe a thaispeáint ar do shuíomh. Mura bhfeiceann tú d'athruithe is déanaí, déan iarracht an taisce a ghlanadh i do bhrabhsálaí.", "label-visit-site": "Is féidir leat cuairt a thabhairt ar do shuíomh anseo: ", "msg-something-went-wrong": "Chuaigh rud éigin mícheart.", "msg-network-error": "Tharla earráid líonra.", "label-manage-passwords": "Bainistigh pasfhocal", "label-add-password": "Cuir pasfhocal leis", "action-new-password": "Pasfhocal nua", "label-no-password": "Níl aon phasfhocail ag do shuíomh faoi láthair. Is féidir le duine ar bith cuairt air.", "label-have-password": "Tá do shuíomh faoi chosaint ar phasfhocal. Má tá iliomad pasfhocail agat, is féidir le cuairteoirí rochtain a fháil ar do shuíomh trí aon cheann acu a iontráil.", "option-password-name": "Pasfhocal", "option-password-desc": "Stórálfar hash de do phasfhocal go sábháilte. Nuair a bheidh an pasfhocal socraithe, ní féidir é a nochtadh i dtéacs simplí.", "option-password-placeholder": "Do phasfhocal", "option-nickname-name": "Leasainm (roghnach)", "option-nickname-desc": "Socraigh leasainm chun a mheabhrú duit féin cad é nó cé dó an pasfhocal.", "action-add-password": "Cuir an pasfhocal seo leis", "label-untitled-password": "Pasfhocal gan teideal", "label-password-created-time": "Cruthaithe {{time}}", "msg-added-new-password": "Cuireadh pasfhocal nua leis.", "option-custom-domain": "Fearainn saincheaptha", "option-custom-domain-desc": "Úsáid do fhearann féin seachas an URL https://publish.obsidian.md/{site id}.", "option-noindex": "Dícheadaigh innéacsú inneall cuardaigh", "option-noindex-desc": "Cosc ar innill chuardaigh ó do shuíomh a innéacsú.", "button-configure": "Cumraigh", "label-configure-custom-domain": "Cumraigh fearann saincheaptha", "option-custom-url-name": "URL saincheaptha", "option-custom-url-desc": "Cuir isteach URL do shuíomh saincheaptha, ná cuir “www.”", "option-custom-url-placeholder": "do réimine.com", "option-custom-url-redirect": "Atreoraigh chuig do fearainn saincheaptha", "option-custom-url-redirect-desc": "Cuairteoirí a atreorú ar publish.obsidian.md/id chuig do fearainn saincheaptha.", "button-update-custom-domain": "Nuashonraigh suíomh fearainn", "label-custom-domain-instructions": "Féach ar ár {{link}} ar ár suíomh cabhrach le haghaidh tuilleadh eolais.", "label-custom-domain-link-name": "treoir socraithe fearainn saincheaptha", "label-site-usage": "Tá {{site}} á úsáid agat as do {{limit}}.", "button-add-more-sites": "Cuir tuilleadh suíomhanna", "label-no-sites-bought": "Níor cheannaigh tú aon suíomhanna.", "button-get-site": "Faigh suíomh", "label-manage-sharing": "Comhroinnt a bhainistiú le haghaidh “{{name}}”", "label-sharing-with-users": "Tá an suíomh seo roinnte faoi láthair leis na daoine seo a leanas:", "label-not-sharing": "Ní roinntear an suíomh seo le duine ar bith faoi láthair.", "label-invite-pending": "Ar feitheamh", "tooltip-remove-user": "Bain úsáideoir", "option-invite-user": "Cuireadh d'úsáideoir", "placeholder-invite-user": "Cuir isteach a r-phost...", "error-email-must-be-valid": "Cuir isteach ríomhphost bailí chun cuireadh a thabhairt do dhuine.", "msg-enable-publish-plugin": "Cumasaigh an croí-breiseán Foilsigh i Socruithe -> Breiseáin lárnacha chun suíomhanna a fheiceáil", "label-your-sites": "Do shuíomhanna", "label-sites-shared-with-you": "Láithreáin roinnte leat", "tooltip-leave-site-sharing": "Stop ag comhoibriú ar an suíomh seo", "label-leave-site-confirmation": "Deimhnigh comhoibriú stop láithre", "label-leave-site-confirmation-details": "Bainfidh sé seo an suíomh seo as liosta na suíomhanna a roinntear leat. Ní féidir an gníomh seo a chur ar ais.", "label-leave-site-confirmation-details-2": "Téigh i dteagmháil le húinéir an láithreáin más mian leat comhoibriú ar an suíomh seo arís.", "button-leave": "Fágáil", "label-compare-with-live": "Déan comparáid idir leagan beo", "button-use-live-version": "Úsáid leagan beo", "label-confirm-override": "Deimhnigh leagan áitiúil foráitiúil", "label-confirm-override-1": "An bhfuil tú cinnte gur mhaith leat an leagan áitiúil a shárú?", "label-confirm-override-2": "Úsáidfear an leagan beo agus cuirfear deireadh le do leagan áitiúil. Déan cúltacaí más gá.", "button-proceed": "Lean ar aghaidh", "message-successfully-used-live-version": "Úsáidtear leagan beo go rathúil chun do leagan áitiúil a shárú.", "label-open-in-live-site": "Oscailte ar an suíomh beo", "label-open-file": "Oscail comhad", "tooltip-manage-publish-filters": "Scagairí foilsithe a", "option-included-folders": "Filteáin san áireamh", "option-included-folders-desc": "Roghnófar comhaid faoi na fillteáin seo go huathoibríoch nuair a dhéanann tú athbhreithniú ar", "option-currently-included-folders": " Tá na fillteáin seo san áireamh faoi láthair:", "option-excluded-folders": "Fillteáin eisiata", "option-excluded-folders-desc": "Ní thaispeánfaidh na comhaid faoin bhfillteáin seo nuair a dhéanann tú athbhreithniú ar athruithe Glacann an socrú seo tosaíocht ar fhillteáin a chuimsítear", "label-number-of-folders-included": "Tá {{folders}} san áireamh ag Obsidian Publish faoi láthair.", "label-number-of-folders-excluded": "Tá Obsidian Publish {{folders}} san áireamh faoi láthair.", "label-manage-included-folders": "Bainistigh fillteáin san", "label-manage-excluded-folders": "Bainistigh fillteáin eisi", "label-add-included-folder": "Fillteán san áireamh", "label-add-included-folder-desc": "Is féidir leat fillteáin agus fillteáin atá ann cheana nach cruthaíodh fós a áireamh.", "tooltip-contact-support": "Tacaíocht teagmhála", "label-navigation-preview": "Réamhamharc nasclean" }, "workspaces": { "name": "Spásanna Oibre", "desc": "Sábháil agus luchtaigh leagan amach spáis oibre.", "action-load-layout": "Luchtaigh leagan amach spáis oibre", "action-manage-layouts": "Bainistigh leagan amach spáis oibre", "action-save": "Sábháil leagan amach", "action-save-and-load-layout": "Sábháil agus luchtaigh leagan amach eile", "placeholder-save-current-layout-as": "Sábháil leagan amach reatha an spáis oibre mar...", "button-save": "Sábháil", "button-load": "Luchtaigh", "tooltip-delete-layout": "Scrios leagan amach", "msg-enter-name": "Cuir isteach ainm don leagan amach nua le do thoil.", "msg-save-layout-success": "An leagan amach shábháilte go rathúil “{{name}}”", "label-no-layout-found": "Níl aon leagan amach sábháilte le fáil", "label-workspace-modified-time": "Athraithe {{time}}", "placeholder-type-to-search-layouts": "Cineál ainm leagan amach..." }, "sync": { "name": "Sioncronú", "desc": "Sioncrónaigh do chuid comhad trí Obsidian Sync.", "action-view-version-history": "Oscail stair an leagan don chomhad reatha", "action-setup-sync": "Socraigh Sync", "menu-opt-view-version-history": "Stair leagan oscailte", "action-view-sync-sidebar": "Taispeáin stair Sync", "action-activity-log": "Logáil gníomhaíochta oscail", "label-load-more": "Luchtaigh níos mó", "label-show-diff": "Taispeáin athruithe", "label-copy-to-clipboard": "Cóipeáil chuig gearr", "label-restore-this-version": "Athchóirigh", "msg-already-latest-version": "Is é an leagan seo an leagan is déanaí cheana féin.", "msg-restored-version": "Leagan athchóirithe go rathúil ó {{time}}", "label-file-deleted": "Scriosadh an comhad seo", "label-file-deleted-via": "Scriosta trí {{ device }}", "label-file-renamed-from": "Athainmnithe ó “{{from}}”", "label-file-renamed-from-to": "Athainmnithe ó “{{from}}” go “{{to}}”", "label-file-moved-from": "Bogadh ó “{{from}}”", "label-file-moved-from-to": "Ag bogadh ó “{{from}}” go “{{to}}”", "label-revision": "Athbhreithniú {{count}}", "label-revision_plural": "Athbhreithnithe {{count}}", "label-via-device": "trí {{device}}", "label-no-history": "Níl aon stair sioncrónaithe don chomhad seo.", "label-empty-file": "Ábhar folamh", "label-unable-to-retrieve": "Ní féidir stair an leagan a aisghabháil", "label-setting-files": "Comhaid a shocrú", "label-deleted-files": "Comhaid scriosta", "label-version-history": "Stair leagan", "label-click-to-see-history": "Cliceáil ar chomhad chun a stair a fheiceáil.", "label-create-remote-vault": "Cruthaigh cianghabhál", "msg-please-enter-password": "Cuir isteach pasfhocal le do thoil.", "msg-vault-name-cannot-be-empty": "Ní féidir ainm an treoir a bheith folamh.", "msg-successfully-created-vault": "Cruthaíodh go rathúil ceann iargúlta “{{name}}”.", "label-remote-vault-explanation": "Sioncrónaigh luchtanna iargúlta do ghabhála go daingean", "option-vault-name": "Ainm clár", "option-vault-name-desc": "Cuidíonn sé leat cuimhneamh ar a bhfuil an clúdach seo.", "option-vault-region": "Réigiún", "opt-vault-region-automatic": "Uathoibrithe", "option-vault-region-desc": "Roghnaigh an réigiún freastalaí is gaire duit chun an clár iargúlta a stóráil. Ní féidir é seo a athrú sa todhchaí.", "option-vault-name-placeholder": "Mo clár uamhnach", "option-encryption": "Criptiú", "option-encryption-desc": "Cuireann criptiú deireadh go deireadh an tslándáil is láidre ar fáil ach éilíonn sé ort do phasfhocal criptithe a stóráil Úsáideann criptiú caighdeánach eochair a bhainistíonn Obsidian chun do chuid sonraí a chosaint agus ar ár bhfreastalaithe.", "option-encryption-warning": "Ní féidir an rogha seo a athrú níos déanaí.", "option-encryption-end-to-end": "Criptiú deireadh go deireadh", "option-encryption-standard": "Criptiú caighde", "option-encryption-password": "Pasfhocal criptithe", "option-encryption-password-desc": "Ní féidir an pasfhocal seo a athrú níos déanaí.", "option-encryption-password-desc-warning": "Má dhéanann tú dearmad ar an bhfocal faire seo, fanfaidh aon sonraí iargúlta neamhúsáidte go deo.", "option-encryption-password-desc-2": "Ní dhéanann sé seo difear do shonraí áitiúla.", "label-encryption-password-explanation": "Tá an clár iargúlta “{{name}}” criptithe faoi láthair. Cuir isteach do phasfhocal chun díghlasáil.", "option-encryption-password-placeholder": "Do phasfhocal", "label-unlock-encrypted-vault": "Díghlasáil do chluibhseán", "button-unlock-vault": "Díghlasáil clúdach", "label-remote-vaults": "Do chláir iargúlta", "label-vault-created-time": "Cruthaithe {{time}}", "tooltip-delete-remote-vault": "Scrios", "tooltip-rename-remote-vault": "Athainmnigh", "label-rename-remote-vault": "Athainmnigh cruinneas iargúlta “{{name}}”", "label-rename-remote-vault-desc": "Cuir isteach ainm nua don chluiche iargúlta seo.", "tooltip-manage-sharing": "Comhroinnt a bhainistiú", "label-confirm-delete-remote-vault": "Deimhnigh scríobhán", "label-confirm-delete-remote-vault-question": "An bhfuil tú cinnte gur mhaith leat an clár iargúlta \"{{name}}\" a scriosadh?", "label-confirm-delete-remote-vault-result": "Scriosfar na sonraí go léir ar ár bhfreastalaí, lena n-áirítear stair na leaganacha. Fanfaidh do chuid comhad áitiúla slán.", "label-confirm-delete-remote-vault-warning": "Tá an gníomh seo buan agus dochúlghabháilte.", "msg-remote-vault-deleted": "Scriosadh {{name}}.", "msg-disconnect-from-deleted-vault": "Sync Obsidian: Níl an clúdach iargúlta ceangailte ann a thuilleadh.", "button-connect-to-remote-vault": "Ceangail", "button-disconnect-from-remote-vault": "Dícheangail", "label-sync-status": "Sionc: {{status}}", "label-not-remote-vaults": "Níl aon chláir iargúlta agat.", "label-no-subscription": "Níl síntiús gníomhach Obsidian Sync agat.", "label-please-visit": "Tabhair cuairt", "label-preview-unsupported-file-type": "Ní féidir réamhamharc a dhéanamh ar chomhaid {{type}}.", "button-create-new-remote-vault": "Cruthaigh clúdach nua", "label-sync-log": "Logáil sioncrónaithe", "option-event-type-all": "Gach", "option-event-type-errors": "Earráidí", "option-event-type-skipped": "Scaipeáilte", "option-event-type-merge-conflicts": "Cumaisc coinbhleachtaí", "button-copy-sync-log": "Cóipeáil log sioncronaithe", "msg-successfully-copied-sync-log": "Cóipeáil go rathúil log sioncronaithe.", "button-retry": "Déan iarracht arís", "button-purchase-subscription": "Ceannach", "label-third-party-sync-warning": "Braithíodh seirbhís sioncrónú comhaid", "label-third-party-sync-warning-desc": "Rabhadh: Is cosúil go bhfuil {{service}} á úsáid ag do ghabháil mar sheirbhís sioncrónaithe tríú páirtí. Má úsáideann tú Obsidian Sync leis an gclár seo, d'fhéadfadh go mbeadh coinbhleachtaí, éilliú comhad nó caillteanas sonraí ort.", "label-icloud-drive-warning": "Má tá iCloud Drive á úsáid agat, d'fhéadfadh iCloud do dhoiciméid agus fillteáin Deisce a shioncronú. D'fhéadfadh sé seo a bheith ina chúis le coinbhleachtaí le Obsidian Sync.", "option-remote-vault": "Iargúlta", "button-choose-remote-vault": "Roghnaigh", "button-manage-remote-vault": "Bainistiú", "option-remote-vault-desc-connected": "Faoi láthair ceangailte leis an gclár iargúlta “{{name}}”.", "option-remote-vault-desc-not-connected": "Faoi láthair níl sé ceangailte le haon chluibhse", "option-sync-status": "Stádas sioncrónaithe", "option-sync-status-desc-paused": "Tá Obsidian Sync stop faoi láthair.", "option-sync-status-desc-running": "Tá Obsidian Sync ag rith faoi láthair.", "option-device-name": "Ainm gléas", "option-device-name-desc": "Taispeánfar an t-ainm seo sa log gníomhaíochta. Fág folamh chun an t-ainm réamhshocraithe a úsáid.", "button-resume": "Ag atosú", "button-pause": "Sos", "option-view-deleted-files": "Comhaid scriosta", "option-view-deleted-files-desc": "Féach agus athchóirigh comhaid scriosta.", "option-sync-log": "Logáil gníomhaíochta", "option-sync-log-desc": "Féach ar ghníomhaíochtaí sioncrónaithe le déanaí le haghaidh", "button-view": "Féach", "button-bulk-restore": "Bulc athchóiriú", "button-restore-files_zero": "Athchóirigh comhaid", "button-restore-files": "Athchóirigh comhad {{count}}", "button-restore-files_plural": "Athchóirigh comhaid {{count}}", "msg-restoring": "Ag athshlánú...", "msg-restoring-complete": "Athchóirigh iomlán: D'éirigh le {{succeeded}} agus theip ar {{failed}}.", "option-vault-size": "Úsáid stórála", "option-vault-size-desc": "Tá {{size}} á úsáid agat as {{limit}}", "option-vault-size-unknown": "Ní féidir méid do ghabhála a aisghabháil.", "option-vault-size-loading": "Aisghabháil méid do ghabhála...", "option-over-size": "Méid an chabhair thar an teorainn", "option-almost-over-size": "Méid an ghabhála ag druidim", "msg-largest-files": "Féach ar na comhaid is mó", "msg-largest-files-desc": "Is iad seo na comhaid iargúlta atá ag glacadh an spáis is mó. Tar éis ceangaltáin a scriosadh, bain úsáid as an gcnaipe glantacháin chun spás iargúlta a shaor", "button-upgrade-storage": "Uasghrádú stórá", "button-purge-remote": "Glanadh", "button-hide-my-changes": "Folaigh mo chuid athruithe", "tooltip-purge-remote": "Déan ceangaltáin scriosta a ghlanadh go buan ó ghabháil iargúlta chun spás", "msg-purge-complete": "Glanadh críochnaithe.", "option-prevent-sleep": "Cosc a dhéanamh ar chodladh glé", "option-prevent-sleep-desc": "Cuireann sé cosc ar an bhfeiste dul chun codladh nuair a bhíonn comhaid fós le sioncrónú.", "option-selective-sync": "Syncrónú roghnach", "option-excluded-folders": "Fillteáin eisiata", "option-excluded-folder-desc": "Cosc ar fhillteáin áirithe ó shioncronú.", "option-currently-excluded-folders": " Tá na fillteáin seo eisiata faoi láthair:", "button-manage-excluded-folders": "Bainistiú", "option-sync-image": "Íomhánna sioncronú", "option-sync-image-desc": "Sync comhaid íomhá leis na síntí seo: {{extensions}}.", "option-sync-audio": "Fuaim sioncrónaithe", "option-sync-audio-desc": "Sync comhaid fuaime leis na síntí seo: {{extensions}}.", "option-sync-video": "Físeáin Sync", "option-sync-video-desc": "Sync comhaid físe leis na síntí seo: {{extensions}}.", "option-sync-pdf": "Sioncronaigh PDFanna", "option-sync-pdf-desc": "Comhaid PDF a sioncrónú.", "option-sync-unsupported": "Sync gach cineál eile", "option-sync-unsupported-desc": "Sync cineálacha comhaid gan tacaíocht.", "option-vault-config-sync": "Syncrónú cumraíochta Vault", "option-view-config-files": "Stair leagan socruithe", "option-view-config-files-desc": "Féach agus athchóirigh stair leagan comhaid a shocrú.", "option-sync-app": "Príomh-shocruithe", "option-sync-app-desc": "Cumasaigh socruithe eagarthóra, comhaid & socruithe naisc, srl a shioncronú.", "option-sync-appearance": "Socruithe Dealramh", "option-sync-appearance-desc": "Socraigh socruithe cuma cosúil le modh dorcha, téama gníomhach, agus snippets cumasaithe.", "option-sync-appearance-data": "Téamaí agus snippets", "option-sync-appearance-data-desc": "Sync téamaí agus snippets íoslódáilte. Braitheann cibé an bhfuil siad cumasaithe ar an socrú roimhe seo.", "option-sync-hotkey": "Hotkeys", "option-sync-hotkey-desc": "Sync hotkeys saincheaptha.", "option-sync-core-plugin": "Liosta croí breiseán gníomhach", "option-sync-core-plugin-desc": "Sync na croí-bhreiseáin atá cumasaithe.", "option-sync-core-plugin-data": "Socruithe lárnacha breiseán", "option-sync-core-plugin-data-desc": "Socraigh croíshuíomhanna breiseán.", "option-sync-community-plugin": "Liosta breiseán gníomhach pobail", "option-sync-community-plugin-desc": "Sync na breiseáin pobail atá cumasaithe.", "option-sync-community-plugin-data": "Breiseáin pobail suiteáil", "option-sync-community-plugin-data-desc": "Sync breiseáin pobail suiteáilte (comhaid .js, .css, agus manifest.json) agus a gcuid socruithe.", "label-sync-loading": "Tá sioncrónú fós á luchtú, athnuachan an leathanach seo níos déanaí.", "label-sync-introduction": "Is é Obsidian Sync seirbhís sioncrónaithe breiseán Obsidian le criptiú deireadh go deireadh agus stair leaganacha.", "label-account-required": "Chun sioncrónú a thosú, logáil isteach nó cruthaigh cuntas nua Obsidian.", "label-current-file": "Comhad reatha", "label-sync-changes": "Athruithe sioncraithe", "label-today": "lá atá inniu ann", "label-yesterday": "Inné", "label-this-week": "An tseachtain seo", "label-older": "Níos Sine", "label-last-sync": "Syncrónú deireanach", "label-more": "{{count}} níos mó", "button-sign-up": "Cláraigh", "button-log-in": "Logáil isteach", "label-manage-excluded-folders": "Bainistigh fillteáin eisi", "label-number-of-folders-excluded": "Tá Sync Obsidian in áireamh faoi láthair ag {{folders}}.", "label-add-excluded-folder": "Eisiamh fillteán", "label-add-excluded-folder-desc": "Is féidir leat fillteáin agus fillteáin atá ann cheana nach cruthaíodh fós a eisiamh.", "tooltip-remove-excluded-folder": "Bain ón liosta eisiata", "label-setup-connection": "Nasc socraithe", "label-connecting-to-vault": "Ag nascadh...", "label-connection-failed": "Theip ar an nasc", "label-connection-failed-desc": "Theip ort nascadh le clúdach iargúlta.", "label-now-connected-to-vault": "Tá tú ceangailte anois le “{{name}}”.", "button-start-syncing": "Tosaigh sioncrónú", "label-confirm-merge-vault": "Deimhnigh Merge Vault", "msg-vault-has-notes": "Tá roinnt nótaí i do ghabháil áitiúil cheana féin.", "msg-vault-merge-warning": "Má cheanglaíonn tú leis an gclár iargúlta “{{name}}”, cuirfear nótaí i do ghabhálaí áitiúil le nótaí ó do ghabháil iargúlta. I gcás coinbhleachtaí, caomhnófar an leagan is déanaí den nóta.", "tooltip-update-setting-on-all-devices": "Nuashonraigh an rogha seo le do thoil agus atosaigh an aip ar na feistí go léir inar mian leat go dtiocfadh sé i bhfeidhm.", "label-sharing-with-users": "Tá an clúdach iargúlta seo roinnte faoi láthair leis na daoine seo a leanas:", "label-not-sharing": "Ní roinntear an clúdach iargúlta seo le duine ar bith faoi láthair.", "label-vaults-shared-with-you": "Vaults roinnte leat", "tooltip-leave-vault-sharing": "Stop ag comhoibriú ar an gclár seo", "label-leave-vault-confirmation": "Deimhnigh comhoibriú stop clár", "label-leave-vault-confirmation-details": "Bainfidh sé seo an clúdach seo ón liosta na gclóthaí a roinntear leat. Ní féidir an gníomh seo a chur ar ais.", "label-leave-vault-confirmation-details-2": "Téigh i dteagmháil le húinéir an chabhán, le do thoil, más mian leat comhoibriú arís ar an gclár", "button-leave": "Fágáil", "msg-error-failed-to-fetch": "Theip ar luchtanna iargúlta a luchtú.", "label-require-subscription-to-connect": "Teastaíonn síntiús Obsidian Sync uait chun nascadh leis an gclár seo.", "option-contact-support": "Tacaíocht teagmhála", "option-contact-support-desc": "Má bhíonn aon cheisteanna agat le Obsidian Sync, déan teagmháil linn ionas gur féidir linn cabhrú leat! Is féidir leat teacht orainn ag support@obsidian.md.", "button-copy-debug": "Cóipeáil faisnéis dífhabht", "button-email-support": "Tacaíocht ríomhphoist", "label-sync-disconnected": "Níl an sioncrónú ceangailte le cruinneachán iargúlta.", "msg-remote-vault-limit-hit": "Chruthaigh tú an líon uasta na gclóthaí iargúlta. D'fhonn cruinneas iargúlta nua a chruthú, uasghrádaigh do chuntas nó bain ceann atá ann cheana.", "label-upgrade-vault": "Uasghrádú a dhéanamh", "label-upgrade-vault-encryption": "Uasghrádaigh criptiú", "label-upgrade-vault-encryption-desc": "Tá leagan nua criptithe ar fáil do luchtanna iargúlta.", "label-migrate-remote-vault": "Aimirce iargúlta", "label-remote-vault-configuration": "Cumraíocht cianda clúdach", "button-migrate": "Aimirce", "msg-recreate-remote-vault": "Scriosfaidh sé seo do ghabháil iargúlta agus é a athchruthú leis an criptiú is déanaí. Ní bheidh tionchar ag comhaid áitiúla, ach caillfear do stair leagan.", "label-confirm-migrate": "Deimhnigh imirce clár", "msg-migrate-pre-confirmation-part1": "Chun do chriptiú a uasghrádú, athuaslódófar na sonraí go léir sa chríobhán chuig freastalaithe Obsidian Sync ag baint úsáide as an modh criptithe nua. Scriosfaidh an próiseas seo go buan na sonraí go léir atá criptithe leis an sean-chriptiú, lena n-áirítear stair an leagan do do ghabhá", "msg-migrate-pre-confirmation-part2": "Tábhachtach: molaimid go láidir cúltaca de do chluiche a chruthú sula dtéann tú ar aghaidh chun aon chaillteanas sonraí féide", "msg-migrate-pre-confirmation-part3": "Tar éis duit an t-uasghrádú a chríochnú, beidh ort do ghléasanna go léir a athnascadh leis an gclúdach iargúlta nu", "msg-migrate-confirmation": "D'fhéadfadh go dtógfadh sé tamall a thógáil d'imirce. Beidh ort Obsidian a choinneáil gníomhach ar an bhfeiste seo chun do nótaí agus ceangaltáin go léir a athuaslódáil. Is fearr é seo a dhéanamh ar do phríomhghléas.", "msg-migrate-confirmation-size": "Tá {{size}} sonraí agat. D'fhéadfadh go dtógfadh sé tamall a thógáil d'imirce. Beidh ort Obsidian a choinneáil gníomhach ar an bhfeiste seo chun do nótaí agus ceangaltáin go léir a athuaslódáil. Is fearr é seo a dhéanamh ar do phríomhghléas.", "msg-proceed-prompt": "Ar mhaith leat dul ar aghaidh?", "msg-vault-migration-started": "Imirce trealbhachán ar siúl." }, "file-recovery": { "name": "Aisghabháil comhad", "desc": "Athchóirigh léargas le déanaí chun aisghabháil ó chaillteanas sonraí Ní shábháiltear snapshots ach le haghaidh comhaid Markdown.", "action-open": "Oscail stair áitiúil", "option-interval": "Eatramh snapshot", "option-interval-description": "Eatramh íosta i nóiméid idir dhá shamhlú.", "option-keep": "Fad staire", "option-keep-description": "Líon na laethanta a choinnítear na snapshots dóibh.", "option-open-history": "Grianghraif", "option-open-history-description": "Féach agus athchóirigh léargas sábháilte.", "button-view-history": "Féach", "option-clear": "Stair soiléir", "option-clear-description": "Scrios gach snapshot.", "button-clear-history": "Soiléir", "label-clear-warning": "An bhfuil tú cinnte gur mhaith leat gach snapshot a scriosadh? Ní bheidh tionchar ag comhaid taobh istigh de do ghabhán.", "msg-clear-complete": "Glanadh stair áitiúil.", "label-no-history-found": "Fuarthas snapshots.", "placeholder-choose-file": "Roghnaigh comhad...", "label-select-file": "Roghnaigh comhad ar chlé le do thoil chun snapshots a fheiceáil." }, "note-composer": { "name": "Nóta cumadóir", "desc": "Cumaisc dhá nóta nó roinn ceann amháin ina dhá cheann.", "option-confirm-file-merge": "Deimhnigh cumasc comhaid", "option-confirm-file-merge-description": "Pras sula ndéantar dhá chomhad a chumasc.", "option-split-replacement-text": "Téacs tar éis eastóscadh", "option-split-replacement-text-description": "Cad atá le taispeáint in ionad an téacs roghnaithe tar éis é a bhaint.", "option-choice-split-replacement-text-link": "Nasc le comhad nua", "option-choice-split-replacement-text-embed": "Leabaigh comhad nua", "option-choice-split-replacement-text-none": "Níl aon", "option-template-file": "Suíomh comhad teimpléad", "option-template-file-description": "Comhad teimpléad le húsáid agus tú ag cumasc nó ag eastóscadh. Athróga atá ar fáil: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, m.sh. {{date:YYYY-MM-DD}}.", "command-merge-file": "Cumaisc an comhad reatha le comhad eile...", "action-merge-file": "Cumaisc an comhad iomlán le...", "label-no-files": "Níor aimsíodh aon chomhaid.", "instruction-navigate": "nascleanúint a dhéanamh", "instruction-merge": "a chumasc", "instruction-create-new": "chun nua a chruthú", "instruction-merge-at-top": "a chumasc ag an mbarr", "instruction-dismiss": "a dhíscríobh", "prompt-select-file-to-merge": "Roghnaigh comhad le cumasc i...", "label-merge-file": "Comhad a chumasc", "label-confirm-file-merge": "An bhfuil tú cinnte gur mhaith leat “{{file}}” a chumasc isteach i “{{destination}}”? Scriosfar “{{file}}”.", "button-merge": "Cumaisc", "command-split-file": "Bain an rogha reatha a bhaint...", "command-extract-heading": "Bain an ceannteideal seo...", "instruction-append": "bogadh go bun", "instruction-prepend": "bogadh go dtí an barr", "msg-fail-to-fetch-template": "Theip ar chomhad teimpléad a fháil: “{{template}}” ní aimsíodh.", "msg-fail-to-find-heading": "Theip ar cheannteideal a aimsiú" }, "web-viewer": { "name": "Breathnóir gréasáin", "history-name": "Stair an ghréasáin", "desc": "Oscail naisc sheachtracha le leathanaigh ghréasáin taobh istigh de Obsidian.", "action-open": "Féachtóir gréasáin oscailte", "action-show-history": "Taispeáin stair", "action-toggle-reader-mode": "Athraigh modh léitheora", "action-copy-u-r-l": "Cóipeáil URL", "action-remove-from-history": "Bain ón stair", "action-clear-history": "Stair soiléir", "action-open-link": "Oscail nasc", "action-open-link-new-tab": "Oscail nasc i gcluaisín nua", "action-open-link-new-split": "Oscail nasc ar dheis", "action-open-link-new-window": "Oscail nasc i bhfuinneog nua", "action-open-link-default-browser": "Oscail an nasc sa bhrabhsálaí", "action-open-link-web-viewer": "Oscail nasc i bhféachtóir gréasáin", "action-copy-link-address": "Seoladh nasc cóipeáil", "action-bookmark-link": "Nasc leabharmharc", "action-search-for-query": "Cuardaigh do “{{query}}”", "action-extract-selection": "Roghnú a bhaint chuig nóta nua", "action-copy-selection": "Cóipeáil", "action-cut": "Gearradh", "action-paste": "Greamaigh", "action-delete": "Scrios", "action-select-all": "Roghnaigh go léir", "action-save-to-vault": "Sábháil chuig cruinneachán", "action-save-image": "Sábháil íomhá chuig cruinneas", "action-copy-image": "Íomhá cóipeáil", "action-copy-image-link": "Nasc íomhá cóipeáil", "action-backward": "Ar Cúl", "action-forward": "Ar aghaidh", "action-reload": "Athluchtaigh", "action-bookmark-page": "Leathanach leabharmharc", "action-open-default-browser": "Oscailte i mbrabhsálaí", "action-focus-address-bar": "Barra seoladh fócas", "action-search-the-web": "Cuardaigh ar an ngréasán", "action-clear-data": "Sonraí soiléir", "action-clear-data-cookies": "Fianáin", "action-clear-data-cookies-desc": "Féadfaidh tú a shíniú as láithreáin ghréasáin.", "action-clear-data-cache": "Sonraí taisceáilte", "action-clear-data-history": "Stair", "action-clear-data-all": "Gach sonraí féachana gréasáin", "action-clear-data-all-desc": "Baintear gach ceann de na rudaí thuas chomh maith le stóráil áitiúil agus seisiúin ghníomh", "label-new-web-viewer": "Breathnóir gréasáin nua", "label-fail-to-load": "Ní féidir an láithreán a luchtú.", "label-fail-to-load-desc": "Déan cinnte go bhfuil an seoladh ceart agat.", "label-search-the-web": "Cuardaigh ar an ngréasán", "label-web-viewer-data": "Sonraí féachana gréasáin", "label-clear-data": "Sonraí féachana gréasáin a ghlanadh", "option-open-external-links": "Oscail naisc sheachtracha", "option-open-external-links-desc": "Naisc oscail i Obsidian seachas réamhshocrú an chórais.", "option-homepage": "Leathanach baile", "option-homepage-desc": "Cén leathanach le breathnú nuair a osclaítear breathnóir gréasáin", "option-saved-markdown": "Fillteán leathanach sábhál", "option-saved-markdown-desc": "Cuirfear láithreáin ghréasáin a shábháiltear mar mharcáil anseo.", "option-search-engine": "Inneall cuardaigh", "option-search-engine-desc": "Inneall cuardaigh a úsáidtear agus tú ag cuardach ón mbarra seoltaí.", "option-search-engine-custom": "Inneall cuardaigh saincheaptha", "option-search-engine-custom-desc": "Úsáid %s in ionad an cheistiúcháin.", "option-search-engine-custom-drop-down": "Saincheaptha", "option-enable-adblock": "Cumasaigh blocaire fógraí", "option-enable-adblock-desc": "Má tá sé cumasaithe, cuirfear na liostaí scagaire thíos i bhfeidhm ar gach cluaisín féachana gréasáin.", "option-adblock-lists": "Rialacha blocála fógraí", "option-adblock-lists-desc": "URL liosta bloc fógraí amháin in aghaidh an líne. Roinnte ag gach ceann.", "option-adblock-frequency": "Minicíocht nuashonrú bloc fógraí", "option-adblock-frequency-desc": "Laethanta idir liostaí scagaire a nuashonrú. Léiríonn 0 míchum Roinnte ag gach ceann.", "title-clear-data-modal": "Sonraí féachana gréasáin a ghlanadh", "msg-error-extracting-content": "Earráid gan choinne ag eastóscadh ábhar.", "msg-error-finding-content": "Ní féidir ábhar a fháil le bhaint." }, "canvas": { "name": "Canbhás", "desc": "Socraigh agus ceangail nótaí ar chanbhás gan teorainn.", "action-add-note": "Cuir nóta leis ó ghabhán", "action-add-media": "Cuir meáin leis ó ghabhálaí", "action-add-card": "Cuir cárta", "action-add-website": "Cuir leathanach gréasáin leis", "action-create-group": "Cruthaigh grúpa", "action-create-with-size": "Cruthaigh cárta le méid ar leith", "action-convert-to-file": "Tiontaigh go comhad...", "action-drag-to-add-note": "Tarraing chun nóta a chur leis ó chabhair", "action-drag-to-add-media": "Tarraing chun meáin a chur leis ó ghabhán", "action-drag-to-add-card": "Tarraing chun cárta a chur leis", "action-edit-label": "Athraigh lipéad", "action-remove-label": "Bain lipéad", "action-search-file": "Cuardaigh comhad", "action-set-color": "Socraigh dath", "action-align": "Ailínigh", "action-align-left": "Ailínigh ar chlé", "action-align-center": "Ionad ailínigh", "action-align-right": "Ailínigh ar dheis", "action-align-top": "Ailínigh barr", "action-align-middle": "Ailínigh lár", "action-align-bottom": "Ailínigh bun", "action-distribute-horizontal-spacing": "Dáileadh spásáil chothrománach", "action-distribute-vertical-spacing": "Spásanna ingearach a dháileadh", "action-justify-horizontally": "Údar go cothrománach", "action-justify-vertically": "Údar go hingearach", "action-arrange-horizontally": "Socraigh i ndiaidh a chéile", "action-arrange-vertically": "Socraigh i gcolún", "action-arrange-grid": "Socraigh i ngreille", "action-export-png": "Easpórtáil mar íomhá", "action-jump-to-group": "Léim chuig an ngrúpa", "action-set-background": "Socraigh cúlra", "action-edit-background": "Athraigh cúlra", "action-replace-background": "Athsholáthair cúlra", "action-remove-background": "Bain cúlra", "label-no-images": "Níl aon íomhánna le fáil.", "label-no-media": "Níor aimsíodh aon mheáin.", "label-export-png-desc": "Easpórtáil “{{title}}” mar chomhad PNG leis na socruithe thíos.", "label-export-png-dimensions": "Toisí íomhá measta: {{dimensions}}", "label-distribute": "Dáileadh", "label-justify": "Cuir údar", "label-arrange": "Socraigh", "label-always": "I gcónaí", "label-hover": "Ar hover", "label-never": "Ná riamh", "label-no-section-found": "Níl aon rannán le fáil", "option-wheel-behavior": "Iompar roth luiche réamhshoc", "option-mod-drag-behavior": "Iompar réamhshocraithe {{key}}", "option-show-menu": "Taispeáin roghchlár", "option-new-canvas-location": "Suíomh réamhshocraithe do chomhaid canbhás", "option-new-canvas-location-description": "Áit a gcuirtear comhaid chanbhás nua-chruthaithe.", "option-new-canvas-folder-path": "Fillteán chun comhaid chanbhás nua a chruthú i", "option-new-canvas-folder-path-description": "Beidh comhaid chanbhás nuachruthaithe le feiceáil faoin bhfillte", "option-node-label": "Taispeáin ainm cárta", "option-snap-to-grid": "Snap chuig an eangach", "option-snap-to-grid-desc": "Snap cártaí chuig an eangach cúlra agus tú ag bogadh agus ag athrú méid.", "option-snap-to-objects": "Snap chuig rudaí", "option-snap-to-objects-desc": "Snap cártaí chuig rudaí in aice láimhe agus tú ag bogadh agus ag athrú", "option-zoom-breakpoint": "Tairseach zúmáil chun ábhar cárta", "option-zoom-breakpoint-desc": "Méadóidh luachanna níos ísle feidhmíocht ach folóidh sé ábhar cárta níos luaithe agus iad ag súmáil", "option-export-png-show-logo": "Taispeáin lógó", "option-export-png-show-logo-desc": "Cuirfidh sé seo lógó Obsidian leis an taobh clé bun.", "option-export-png-privacy-mode": "Modh príobháideachta", "option-export-png-privacy-mode-desc": "Déanfaidh sé seo aon téacs ar do chanbhás a fhoilsiú.", "option-export-png-zoom": "Súmáil", "option-export-png-zoom-desc": "Ghinfidh súmáil níos airde íomhá taifigh níos airde.", "option-export-png-frame": "Amharc", "option-export-png-frame-desc": "Roghnaigh an chanbhás iomlán a rindreáil nó díreach an radharc infheicthe reatha.", "option-export-png-frame-full": "Canbhás iomlán", "option-export-png-frame-viewport": "Viewport amháin", "option-background-cover": "Clúdach", "option-background-ratio": "Coinnigh cóimheas gné", "option-background-repeat": "Déan arís", "action-new-canvas": "Canbhás nua", "action-remove": "Bain", "action-narrow-heading": "Cúng go ceannteideal...", "action-narrow-block": "Cúng chun bac a chur ar...", "action-narrow-bases-view": "Amharc bioráin...", "action-swap-file": "Comhad malartaigh...", "action-change-url": "Athraigh URL...", "action-zoom-to-fit": "Súmáil chun oiriúnach", "action-zoom-to-selection": "Súmáil go roghnú", "action-reload-page": "Athluchtaigh an leathanach", "action-follow-connection": "Lean nasc", "command-create-new-canvas": "Cruthaigh canbhás nua", "command-convert-to-file": "Tiontaigh go comhad...", "instruction-narrow-heading": "chun ceannteideal a leabú", "instruction-narrow-block": "chun bloc a leabú", "instruction-jump-to-group": "chun nascleanúint a dhéanamh go dtí an", "prompt-to-narrow": "Clóscríobh chun comhad, ceannteideal nó bloc a aimsiú", "label-enter-url": "Cuir isteach URL", "label-empty-embed": "Ní raibh “{{linktext}}” a aimsiú.", "prompt-add-text": "Cuir téacs leis...", "prompt-start-search": "Clóscríobh le cuardach...", "label-canvas-help": "Cabhair chanbhás", "label-canvas-settings": "Socruithe canbhás", "label-no-narrow": "Taispeáin an comhad iomlán", "label-show-default-view": "Taispeáin amharc réamhshoc", "label-readonly": "Léitheoireacht amháin", "label-disable-readonly": "Díchumasaigh léitheoireacht amháin", "label-pan": "Pan", "label-pan-horizontal": "Pan go cothrománach", "label-zoom": "Súmáil", "label-select-all": "Roghnaigh go léir", "label-add-remove-selection": "Cuir chuig/bain ó roghnú", "label-clone-card": "Cárta Clón", "label-constrain-movement-axis": "Cuir srian ar ghluaiseacht cárta go ais", "label-disable-drag-snapping": "Díchumasaigh snapping agus tú ag tarraingt", "label-remove-card": "Bain cárta", "label-drag-from-below": "Tarraing ó thíos nó cliceáil faoi dhó", "label-longpress": "Téigh i dteagmháil agus coinnigh chun a chur leis/bogadh/ro", "label-drag-pan": "Tarraing go pan", "label-pinch-zoom": "Pinch chun súmáil", "label-space-drag-pan": "Spás + Tarraing go pan", "label-scroll-to-zoom": "Scrollaigh chun súmáil", "label-untitled-group": "Grúpa gan theideal", "label-line-direction": "Treo líne", "label-nondirectional": "Neamhthreorach", "label-unidirectional": "Aon-threorach", "label-bidirectional": "Déthreorach", "label-image": "Íomhá", "label-style": "Stíl", "msg-no-groups-found": "Níl aon ghrúpaí le fáil", "msg-export-failed-empty-canvas": "Ní féidir canbhás folamh a easpórtá", "msg-updating-links": "Athainmneacha comhad braite Canbhás a théann i bhfeidhm ar chomhad canbhás {{count}}, nu", "msg-updating-links_plural": "Athainmneacha comhaid braite Canbhás a théann i bhfeidhm ar chomhaid chanbhás {{count}},", "msg-updated-links": "Cárta leabaithe canbhás nuashonraithe {{count}}", "msg-updated-links_plural": "Cártaí leabaithe canbhás nuashonraithe {{count}}" }, "bases": { "name": "Bonn", "desc": "Cruthaigh bonn trí airíonna nótaí a cheistiú.", "action-new-base": "Bonn nua", "action-add-property": "Cuir maoin \"{{name}}\" leis", "action-add-formula": "Cuir foirmle leis", "action-hide-all": "Folaigh go léir", "action-toggle-visibility": "Athraigh infheictheacht", "action-delete-property": "Scrios maoin", "action-duplicate-view": "Amharc dúblach", "action-delete-view": "Scrios amharc", "action-export-c-s-v": "Easpórtáil CSV...", "command-create-new": "Cruthaigh bonn nua", "command-insert-new": "Cuir isteach bonn nua", "command-copy-table": "Cóipeáil tábla chuig gearr", "command-change-view": "Athraigh radharc", "command-add-view": "Cuir amharc leis", "command-add-item": "Cuir mír leis", "button-add-view": "Cuir amharc leis", "button-add-filter": "Cuir scagaire", "button-add-filter-group": "Cuir grúpa scagaire leis", "button-show-all": "Taispeáin go léir", "button-show-all-count": "Taispeáin gach ({{count}})", "label-all-views": "Gach tuairimí", "label-current-view": "An dearcadh seo", "placeholder-search-property": "Faigh nó cruthaigh...", "label-computed-properties": "Airíonna ríomhaithe", "label-property-type": "Cineál maoine", "label-hide-property": "Folaigh maoin", "label-show-property": "Taispeáin maoin", "label-edit-property": "Athraigh maoin", "placeholder-formula": "x+y", "title-edit-property": "Cuir in eagar {{name}}", "label-configure-view": "Cumraigh radharc", "label-view-layout": "leagan amach", "label-global-filters": "Scagairí domhanda", "label-view-filters": "Féach ar scagairí", "label-view-name": "Féach ar ainm", "label-default-view": "Féach", "label-view-type-table": "Tábla", "label-display-name": "Ainm taispeána", "label-formula": "Foirmle", "label-sort": "Sórtáil", "label-filter": "Scagaire", "label-properties": "Airíonna", "label-new-item": "Nua", "label-new-item-template-file": "Comhad teimpléad earra nua", "label-new-item-folder": "Fillteán mír nua", "label-any-of-the-following": "Tá aon cheann de na nithe seo a leanas fíor", "label-all-the-following": "Tá na nithe seo a leanas go léir fíor", "label-none-of-the-following": "Níl aon cheann de na nithe seo a leanas fíor", "label-where": "cá háit", "label-or": "nó", "label-and": "agus", "label-property-key": "Maoin", "label-untitled-property": "Gan teideal", "label-file-prop-file": "comhad", "label-file-prop-name": "ainm an chomhaid", "label-file-prop-base-name": "ainm bonn comhad", "label-file-prop-full-name": "ainm iomlán an chomhaid", "label-file-prop-path": "cosán comhad", "label-file-prop-folder": "fillteán", "label-file-prop-ext": "síneadh comhad", "label-file-prop-ctime": "am cruthaithe", "label-file-prop-mtime": "am modhnaithe", "label-file-prop-size": "méid an chomhaid", "label-file-prop-links": "naisc comhad", "label-file-prop-embeds": "comhaid leabaithe", "label-file-prop-tags": "clibeanna comhad", "label-add-sort": "Cuir sórtáil leis", "label-limit": "Líon na dtorthaí a theorannú", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Sean go nua", "label-sort-new-old": "Nua go sean", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "Ní féidir leis an ainm amharc a bheith: ", "msg-filter-simple-unavailable": "Ní féidir leis an tógálaí scagaire simplí an scagaire seo a léiriú.", "msg-filter-cannot-parse": "Ní féidir scagaire a pháirseáil. Ní féidir tógálaí scagaire bunúsach a úsáid.", "msg-error-invalid-properties-section": "Cumraíocht airíonna nebhailí.", "msg-error-invalid-property-config": "Cumraíocht maoine neamhbhailí do \"{{name}}\".", "msg-error-register-view": "Ní féidir amharc nua Bunanna \"{{viewId}}\" a chur leis. Tá dearcadh leis an aitheantas seo ann cheana féin.", "msg-error-unable-to-parse": "Ní féidir do bhunchomhad a pháirseáil:", "msg-error-view-not-found": "Féach \"{{ view }}\" nach bhfuarthas", "msg-error-unknown-view-type": "Bonn cumraithe le cineál amharc anaithnid: {{ viewtype }}", "msg-error-view-type": "Caithfidh tuairimí a bheith ina eagar", "msg-error-display-values": "Ní mór luachanna taispeána a bheith ina teaghráin Níl luach do mhaoin {{ key }}.", "msg-error-must-be-a-type": "Caithfidh \"{{ key }}\" a bheith ina {{ type }}", "msg-error-filter-type": "caithfidh \"scagairí\" a bheith ina shreang nó ina rud", "msg-error-filter-must-be-array": "Caithfidh an scagaire \"{{conjunction}}\" a bheith ina eagar", "msg-error-filter-allowed-keys": "Ní fhéadfaidh \"scagairí\" ach ceann d'eochracha \"agus\", \"nó\", nó \"nach\" a bheith ag \"scagairí\".", "msg-error-filter-failed-to-evaluate": "Theip ar scagaire a mheas: {{ message }}", "msg-error-formula-values": "Ní mór luachanna foirmle a bheith ina teaghráin Níl luach do mhaoin {{key}}.", "msg-error-computed-failed-to-compute": "Theip ar luach maoine \"{{key}}\" a ríomh: {{message}}", "msg-error-invalid-query-format": "Is formáid neamhbhailí é an cheist. Ba chóir go mbeadh sé ina réad YAML.", "msg-error-view-invalid-format": "Caithfidh míreanna \"amharc\" a bheith ina réad YAML, ach níl mír {{index}}", "msg-error-view-name-invalid": "“Ainm” atá ar iarraidh nó neamhbhailí i radharc {{index}}", "msg-error-view-missing-required-key": "Tá \"{{key}}\" ag teastáil i bhféachaint \"{{ViewName}}\"", "msg-error-view-incorrect-type": "Caithfidh \"{{key}}\" a bheith ina {{cineál}} i bhféachaint \"{{ViewName}}\"", "msg-error-view-incorrect-value-type": "Caithfidh luachanna \"{{key}}\" go léir a bheith de chineál {{type}} i bhféachaint \"{{viewName}}\"", "msg-error-view-parsing-filters": "Ní féidir scagairí a pháirseáil i radharc \"{{viewName}}\": {{ message }}", "msg-error-infinite-loop": "Lúb gan teorainn braite sa fhoirmle", "msg-error-invalid-property": "Maoin neamhbhailí", "msg-new-item-filtered": "Déanfar an nóta seo a scagadh amach toisc nach n-oireann sé do chritéir", "placeholder-filter-advanced-mode": "Scagaire chun cinn", "placeholder-limit": "m.sh. 10", "tooltip-filter-advanced-mode": "Scagaire chun cinn", "tooltip-filter-simple-mode": "Scagaire simplí", "tooltip-remove-filter": "Bain scagaire", "cards": { "name": "Cártaí", "label-card-size": "Méid an chárta", "label-image-property": "Maoin íomhá", "label-image-fit": "Íomhá oiriúnach", "option-image-fit-cover": "Clúdach", "option-image-fit-contain": "Cuimsíonn", "label-image-aspect-ratio": "cóimheas gné íomhá" }, "table": { "name": "Tábla", "action-hide-column": "Folaigh colún", "action-edit-property": "Athraigh maoin...", "action-edit-formula": "Athraigh an fhoirmle...", "action-sort-default": "Sórtáil ghlan", "action-sort-a-z": "Sórtáil A → Z", "action-sort-z-a": "Sórtáil Z → A" } } }, "formulas": { "msg-error-parse-formula": "Theip ar fhoirmle \"{{ formula }}\" a pháirseáil", "msg-error-invalid-function": "Ní féidir feidhm \"{{ function }}\" a aimsiú", "msg-error-invalid-instance-function": "Ní féidir feidhm \"{{ function }}\" a aimsiú ar chineál {{ type }}", "msg-error-not-enough-arguments": "Ní féidir glaoch ar fheidhm \"{{ function }}\", ní leor argóintí.", "msg-error-too-many-arguments": "Ní féidir glaoch ar fheidhm \"{{ function }}\", an iomarca argóintí.", "msg-error-type-error": "Earráid clóscríobh i \"{{ function }}\", paraiméadar \"{{ parameter }}\". Táthar ag súil leis {{ expected }}, i bhfianaise {{ given }}.", "msg-error-invalid-array-access": "Ní féidir rochtain a fháil ar innéacs {{ index }} de luach neamh-eagar", "msg-error-invalid-object-access": "Ní féidir {{ index }} a aimsiú ar chineál {{ type }}" }, "pdf": { "action-highlight-all": "Aibhsigh ar fad", "action-match-diacritics": "Meaitseáil diacritics", "action-whole-words": "Focail iomlána", "action-show-thumbnails": "Mionsamhlacha", "action-show-outline": "Tábla na n-ábhar", "action-reveal-in-outline": "Nocht leathanach sa tábla ábhair", "action-toggle-sidebar": "Athraigh barra taobh", "action-previous-page": "Leathanach roimhe seo", "action-next-page": "An chéad leathanach eile", "action-fit-width": "Leithead oiriúnach", "action-fit-height": "Airde oiriúnach", "action-save-p-d-f-location": "Sábháil an suíomh reatha sa doiciméad", "action-copy-annotation": "Cóipeáil anótáil", "action-copy-quote": "Cóipeáil mar luachan", "action-copy-selection-link": "Cóipeáil nasc leis an rogha", "action-copy-annot-link": "Cóipeáil nasc chuig anótáil", "action-copy-section-link": "Cóipeáil nasc leis an rannóg", "action-copy-section-link-title": "Cóipeáil nasc chuig “{{ title }}”", "action-copy-page-link": "Cóipeáil nasc chuig an leathanach {{page}}", "msg-max-search-results": "{{current}} de na cluichí os cionn {{limit}}", "msg-search-count": "Meaitseáil {{current}} de {{total}}", "msg-search-count_plural": "{{current}} de {{total}} cluichí", "msg-password-protected": "Tá an PDF seo faoi chosaint ar phasfhocal", "msg-invalid-password": "Pasfhocal nebhailí", "msg-enter-password": "Cuir isteach an pasfhocal thíos", "label-of-pages": "de {{count}}", "label-page-of-pages": "({{current}} de {{count}})", "label-spread-single": "Leathanach aonair", "label-spread-odd": "Dhá leathanach (aisteach)", "label-spread-even": "Dhá leathanach (fiú)", "tooltip-sidebar-options": "Roghanna barra taobh", "tooltip-display-options": "Roghanna taispeána", "label-adapt-to-theme": "Oiriúnaigh don téama", "label-page": "leathanach {{page}}", "page_landmark": "Leathanach {{page}}", "thumb_page_title": "Leathanach {{page}}", "thumb_page_canvas": "Leathanach {{page}}", "text_annotation_type": "[{{type}} Annotáil]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Liosta", "option-unknown": "Anaithnid", "option-text": "Téacs", "option-aliases": "Ainmneacha", "option-tags": "Clibeanna", "option-folder": "fillteán", "option-file": "Comhad", "option-date": "Dáta", "option-datetime": "Dáta & am", "option-number": "Uimhir", "option-checkbox": "Bosca Seiceála" }, "value-suggestion": { "key-link-note": "Cineál [[", "instruction-link-note": "chun nóta a nascadh", "instruction-dismiss": "a dhíscríobh" }, "option-property-type": "Cineál maoine", "msg-empty-property-name": "Ní féidir ainm maoine a bheith folamh.", "msg-duplicate-property-name": "Tá maoin ann cheana féin", "msg-invalid-tag": "Ainm clib neamhbhailí", "msg-invalid-number": "Líon neamhbhailí", "msg-invalid-properties": "Theip ar airíonna a léamh.", "label-no-value": "folamh", "label-heading": "Airíonna", "label-invalid-heading": "Airíonna míbhailí", "label-show-source": "Taispeáin foinse", "label-invalid-yaml-marker": "Earráid comhréireachta. Tá d'ábhar tosaigh neamhbhailí.", "label-add-property-button": "Cuir maoin leis", "label-type-mismatch-warning": "Neamhchomhoiriúnú cineál, ag súil leis {{type}}", "label-type-mismatch-warning-generic": "Neamhchomhoiriúnú cineál", "label-change-property-type": "Taispeáin mar {{time}}?", "label-change-property-type-desc": "Níl do chuid sonraí {{oldType}} comhoiriúnach. Cuirfear é in oiriúint chun an fhormáid nua a fheistiú." }, "table": { "label-column": "Colún", "label-row": "Sraith", "action-row-after": "Cuir an tsraith thíos", "action-column-after": "Cuir colún ar dheis", "action-row-before": "Cuir an tsraith thuas", "action-row-up": "Bog an tsraith suas", "action-row-down": "Bog an tsraith síos", "action-column-before": "Cuir colún leis an taobh clé", "action-column-left": "Bogadh colún ar chlé", "action-column-right": "Bog colún ar dheis", "action-duplicate-row": "Sraith dúblach", "action-duplicate-column": "Colún dúblach", "action-delete-row": "Scrios an tsraith", "action-delete-column": "Scrios colún", "action-align-left": "Ailínigh ar chlé", "action-align-center": "Ionad ailínigh", "action-align-right": "Ailínigh ar dheis", "action-delete-selection": "Scrios cealla", "action-clear-selection": "Cealla soiléir", "action-sort-a-z": "Sórtáil de réir colún (A go Z)", "action-sort-z-a": "Sórtáil de réir colún (Z go A)", "label-command": "Tábla: {{command}}" }, "callout": { "option-type": "Cineál glaonna", "type": { "info": "Eolas", "important": "Tábhachtach", "tip": "Leid", "success": "Rath", "question": "Ceist", "warning": "Rabhadh", "quote": "Sleachta", "example": "Sampla", "none": "Níl aon" }, "option-other": "Eile...", "option-other-placeholder": "Cineál glaonna..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} focal", "word-with-count_plural": "{{count}} focail", "result-with-count": "Toradh {{count}}", "result-with-count_plural": "Torthaí {{count}}", "character-with-count": "{{count}} carachtar", "character-with-count_plural": "Carachtair {{count}}", "link-with-count": "Nasc {{count}}", "link-with-count_plural": "Naisc {{count}}", "file-with-count": "Comhad {{count}}", "file-with-count_plural": "Comhaid {{count}}", "folder-with-count": "Fillteán {{count}}", "folder-with-count_plural": "Fillteáin {{count}}", "backlink-with-count": "{{count}} nasc siar", "backlink-with-count_plural": "Cúlnaisc {{count}}", "tabs-with-count": "Cluaisín {{count}}", "tabs-with-count_plural": "Cluaisíní {{count}}", "properties-with-count": "Maoin {{count}}", "properties-with-count_plural": "Airíonna {{count}}", "site-with-count": "{{count}} láithreán", "site-with-count_plural": "Láithreáin {{count}}", "plugin-with-count": "Breiseán {{count}}", "plugin-with-count_plural": "Breiseáin {{count}}", "plugin-active-with-count": "{{count}} gníomhach", "snippet-active-with-count": "Snipppet {{count}}", "snippet-active-with-count_plural": "Snippets {{count}}", "theme-with-count": "{{count}} téama", "theme-with-count_plural": "{{count}} téamaí" } }{ "setting": { "options": "אפשרויות", "plugin": "Plugin", "builtin-plugins": "תוספי ליבה", "plugin-options": "אפשרויות תוספים", "folder-path-example-placeholder": "דוגמא: תיקיה 1/תיקיה 2", "file-path-example-placeholder": "דוגמא: תיקיה/הערה", "msg-restart-required": "שינוי אפשרות זו דורש הפעלה מחדש כדי להיכנס לתוקף.", "editor": { "name": "עורך", "section-behavior": "התנהגות", "section-display": "הצגה", "option-spellcheck": "בדיקת איות", "option-spellcheck-description": "מפעיל את בודק האיות. כרגע עובד רק באנגלית (ארה\"ב).", "spellcheck-languages": "שפות בדיקת איות", "spellcheck-languages-description": "בחר את השפות שבהן בודק האיות ישתמש.", "spellcheck-languages-mac-description": "בודק האיות המקורי יזהה אוטומטית את השפה המשמשת עבורך ב-macOS.", "spellcheck-dict": "מילון בדיקת איות", "spellcheck-dict-empty": "מילון בדיקת האיות ריק.", "option-show-inline-title": "הצג כותרת מוטבעת", "option-show-inline-title-description": "מציג את שם הקובץ ככותרת הניתנת לעריכה בשורה אחת עם תוכן הקובץ.", "option-readable-line-length": "אורך שורה קריא", "option-readable-line-description": "הגבל את אורך הקו המרבי. מתאים פחות תוכן על המסך, אבל הופך פסקאות ארוכות לקריאות יותר.", "option-strict-line-break": "מעברי שורות קפדניים", "option-strict-line-break-description": "במצב תצוגה מקדימה, התעלם ממעברי שורה בודדים בהתאם למפרטי Markdown. כבה זאת עבור מעברי שורה בודדים שיוצגו בתצוגה מקדימה.", "option-properties-in-document": "מאפיינים במסמך", "option-properties-in-document-description": "בחר כיצד המאפיינים יוצגו בתוך העורך. בחר \"מקור\" כדי שהמאפיינים יוצגו כ-YAML.", "option-properties-hidden": "מוסתר", "option-properties-visible": "גלוי", "option-properties-source": "מקור", "option-auto-pair-brackets": "צמדים אוטומטיים", "option-auto-pair-brackets-description": "צמד סוגריים באופן אוטומטי.", "option-auto-pair-markdown": "התאמה אוטומטית של תחביר Markdown", "option-auto-pair-markdown-description": "צמד סמלים אוטומטית עבור מודגש, נטוי, הדגשה, קו חוצה וקוד.", "option-smart-indent-lists": "רשימות כניסות חכמות", "option-smart-indent-lists-description": "דאג לסמן הזחה וסמן רשימה עבורך.", "option-fold-heading": "מקפלים את הכותרת", "option-fold-heading-description": "אפשר לקפל הכל תחת כותרת.", "option-fold-indent": "קיפול שקע", "option-fold-indent-description": "אפשר לקפל חלק מאותה הזחה, כגון רשימות.", "option-default-new-tab-view": "תצוגת ברירת מחדל עבור כרטיסיות חדשות", "option-default-new-tab-view-description": "תצוגת ברירת המחדל שבה נפתחת כרטיסיית סימון חדשה.", "option-default-new-tab-view-editing": "תצוגת עריכה", "option-default-new-tab-view-reading": "תצוגת קריאה", "option-open-tab-in-foreground": "התמקד תמיד בכרטיסיות חדשות", "option-open-tab-in-foreground-description": "כאשר אתה פותח קישור בכרטיסייה חדשה, עבור אליו מיד.", "option-default-editing-mode": "מצב עריכה ברירת מחדל", "option-default-editing-mode-description": "מצב העריכה המוגדר כברירת מחדל בו יתחיל חלונית חדשה.", "option-default-editing-mode-source": "מצב מקור", "option-default-editing-mode-live-preview": "תצוגה מקדימה חיה", "option-show-line-number": "הצג את מספר השורה", "option-show-line-number-description": "הצג את מספר השורה.", "option-indentation-guide": "הצג מדריכי הזחה", "option-indentation-guide-description": "הצג קווי קשר אנכיים בין נקודות תבליט להנחיה חזותית.", "option-use-tabs": "השתמש בכרטיסיות", "option-use-tabs-description": "השתמש בטאבים כדי להכניס כניסה בעת לחיצה על מקש \"Tab\". הגדר את זה לכבוי כדי להשתמש ברווחים.", "option-tab-size": "גודל הכרטיסייה", "option-tab-size-description": "מספר הרווחים שאליהם טאב שווה ערך.", "option-rtl": "מימין לשמאל (RTL)", "option-rtl-description": "מגדיר את כיוון הטקסט של הערות לתצוגה מימין לשמאל.", "option-auto-convert-html": "המרה אוטומטית של HTML", "option-auto-convert-html-description": "המר אוטומטית HTML ל-Markdown בעת הדבקה וגרירה מדפי אינטרנט. השתמש ב-Ctrl/Cmd+Shift+V כדי להדביק ללא המרה.", "option-vim-key-bindings": "כריכות מפתח של Vim", "option-vim-key-bindings-description": "אפשר להשתמש בכריכות מפתח של Vim בעורך המקור.", "option-vim-key-bindings-mobile": "במכשירים ניידים, הגדרה זו היא לכל מכשיר ואינה מסונכרנת דרך קובץ התצורה.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "אשר כניסה למצב Vim", "label-vim-warning": "מצב Vim מיועד לעריכת טקסט יעילה אך יכול להיות די נגד אינטואיציה. אם אתה לא מכיר את Vim, אפשרות זו עשויה לגרום לזה להיראות כאילו Obsidian הפסיק לעבוד.", "label-vim-test": "כדי לוודא שאתה מכיר את Vim, אנא הזן את הפקודה כדי לצאת מ-Vim מבלי לשמור למטה:", "label-vim-your-answer": "תשובתך", "placeholder-enter-command": "הזן פקודה...", "button-confirm-enable-vim": "תן לי להפעיל את Vim", "msg-vim-mode-enabled": "הפקודה נכונה. מצב Vim מופעל כעת.", "msg-vim-mode-not-enabled": "הפקודה לא נכונה. מצב Vim נשאר מושבת כדי להגן עליך.", "msg-vim-mode-please-enter-command": "אנא הזן את הפקודה כדי להפעיל את מצב Vim" }, "file": { "name": "קבצים וקישורים", "option-confirm-file-deletion": "אשר את מחיקת הקובץ", "option-confirm-file-deletion-description": "האם ברצונך לקבל הנחיה לאשר את מחיקת הקובץ.", "option-delete-destination": "קבצים שנמחקו", "option-delete-destination-description": "מה לעשות עם קבצים לאחר מחיקתם.", "option-choice-system-trash": "העבר לאשפה של המערכת", "option-choice-vault-trash": "העבר לאשפה Obsidian (תיקיית.trash)", "option-choice-permanent-delete": "מחיקה לצמיתות", "option-always-update-links": "עדכן תמיד קישורים פנימיים", "option-always-update-links-description": "האם לעדכן קישורים אוטומטית לאחר שינוי שם קובץ או בקשה.", "option-new-note-location": "מיקום ברירת מחדל של הערה חדשה", "option-new-note-location-description": "היכן לשים הערות חדשות שנוצרו. הגדרות הפלאגין יעקפו זאת.", "option-choice-vault-root": "שורש כספת", "option-choice-current-folder": "אותה תיקיה שבה נמצא הקובץ", "option-choice-specified-folder": "בתיקייה המצוינת למטה", "option-new-file-folder-path": "תיקיה ליצירת הערות חדשות", "option-new-file-folder-path-description": "הערות חדשות שנוצרו יופיעו מתחת לתיקיה זו. הגדרות הפלאגין יעקפו זאת.", "option-use-wiki-links": "השתמש ב[[וויקילינקים]]", "option-use-wiki-links-description": "צור אוטומטית Wikilinks עבור [[קישורים]] ו-![[תמונות]] במקום קישורים ותמונות Markdown. השבת אפשרות זו כדי ליצור קישורי Markdown במקום זאת.", "option-show-unsupported-files": "זיהוי כל סיומות הקבצים", "option-show-unsupported-files-description": "הצג קבצים עם כל סיומת גם אם Obsidian לא יכול לפתוח אותם באופן מקורי, כך שתוכל לקשר אליהם ולראות אותם בסייר הקבצים וב-Quick Switcher.", "option-link-autocompleted-format": "פורמט קישור חדש", "option-link-autocompleted-format-description": "אילו קישורים יש להוסיף בעת יצירה אוטומטית של קישורים פנימיים.", "option-choice-shortest-linktext": "הדרך הקצרה ביותר כשאפשר", "option-choice-relative-path": "נתיב יחסי לקובץ", "option-choice-absolute-path": "נתיב מוחלט בכספת", "option-new-attachment-location": "מיקום ברירת מחדל עבור קבצים מצורפים חדשים", "option-new-attachment-location-description": "היכן ממוקמים קבצים מצורפים שנוספו לאחרונה.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "בתיקיית משנה תחת התיקיה הנוכחית", "option-attachment-folder-path": "נתיב התיקייה המצורפת", "option-attachment-folder-path-description": "קבצים מצורפים שנוצרו לאחרונה יופיעו כאן. זה כולל תמונות שנוצרו באמצעות גרירה ושחרור או הדבקה, והקלטות שמע.", "option-attachment-subfolder-path": "שם תיקיית משנה", "option-attachment-subfolder-path-description": "אם הקובץ שלך נמצא תחת \"כספת/תיקייה\", ושם התיקייה שהוגדרה ל\"קבצים מצורפים\", הקבצים המצורפים יישמרו ב\"כספת/תיקיה/קבצים מצורפים\".", "option-excluded-files": "קבצים שלא נכללו", "option-excluded-files-desc": "קבצים שלא ייכללו יהיו מוסתרים או פחות בולטים במקומות שונים, כגון מחליף מהיר, הצעת קישור ותצוגת גרף.", "label-no-excluded-filters-applied": "לא מוחל מסנן שלא נכלל כרגע. הוסף אחד למטה.", "label-excluded-filters-applied": "קבצים התואמים למסננים הבאים אינם נכללים כרגע:", "label-excluded-filter": "לסנן", "message-empty-filter": "מסנן לא יכול להיות ריק", "placeholder-excluded-filter": "הזן נתיב או \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "מראה חיצוני", "option-base-theme": "נושא בסיס", "option-base-theme-description": "בחר את ערכת הצבעים המוגדרת כברירת מחדל של Obsidian.", "option-accent-color": "צבע הדגשה", "option-accent-color-description": "בחר את צבע המבטא המשמש בכל האפליקציה.", "dark-theme": "כהה", "light-theme": "בהיר", "system-theme": "התאימו למערכת", "option-font": "גופן", "option-advanced": "מתקדם", "option-interface": "ממשק", "option-interface-font": "גופן ממשק", "option-interface-font-description": "הגדר גופן בסיס עבור כל אובסידיאן.", "option-zoom-level": "רמת הזום", "option-zoom-level-description": "שולט ברמת הזום הכוללת של האפליקציה.", "option-text-font": "גופן טקסט", "option-text-font-description": "הגדר גופן עבור תצוגות עריכה וקריאה.", "option-monospace-font": "גופן מונוספייס", "option-monospace-font-description": "הגדר גופן למקומות כמו בלוקי קוד ו-frontmatter.", "label-single-font-currently-in-effect": "הגופן המוחל כעת:", "label-multiple-fonts-currently-in-effect": "הגופנים הבאים מוחלים כעת:", "option-font-placeholder": "הזן שם גופן...", "label-no-custom-font-set": "שום גופן מותאם אישית לא מוחל כעת. הוסף אחד למטה.", "label-font-applied": "הגופן הראשון מרשימה זו הזמין במערכת שלך יוחל.", "msg-font-not-found": "גופן זה אינו מזוהה במערכת שלך.", "msg-font-found": "גופן זה מזוהה במערכת שלך.", "label-font-name": "שם גופן", "option-community-themes": "ערכות נושא פתוחות לקהילה", "option-community-themes-description": "הצג תצוגה מקדימה והשתמש בנושאים מדהימים שנוצרו על ידי הקהילה.", "button-browse-community-themes": "לדפדף", "option-font-size": "גודל גופן", "option-font-size-description": "גודל גופן בפיקסלים שמשפיע על העורך והתצוגה המקדימה.", "option-font-size-action": "התאמת גודל גופן מהירה", "option-font-size-action-description": "התאם את גודל הגופן באמצעות Ctrl + Scroll, או באמצעות תנועת צביטה-זום של משטח העקיבה.", "option-themes": "ערכות נושא", "option-manage-themes-description": "נהל ערכות נושא מותקנות ועיין בערכות נושא קהילתיות.", "option-theme-button-manage": "לנהל", "option-choice-none": "אף אחד", "option-native-menus": "תפריטים מקוריים", "option-native-menus-desc": "תפריטים בכל האפליקציה יתאימו למערכת ההפעלה. הם לא יושפעו מהנושא שלך.", "button-reload-themes": "טען מחדש ערכות נושא", "msg-reloaded-themes": "נטען מחדש ערכות נושא CSS מותאמות אישית.", "button-open-themes-folder": "פתח את תיקיית הנושאים", "option-css-snippets": "קטעי CSS", "label-no-css-snippets-found": "לא נמצאו קטעי CSS בתיקיית הקטעים.", "no-snippet-description": "קטעי CSS מאוחסנים ב\"{{path}}\".", "button-reload-snippets": "טען מחדש קטעים", "button-open-snippets-folder": "פתח את תיקיית הקטעים", "msg-reloaded-snippets": "קטעי CSS נטענו מחדש.", "option-toggle-snippet-description": "החל קטע CSS ב-\"{{path}}\".", "label-installed-themes": "ערכות נושא מותקנות", "label-screenshot-unavailable": "צילום מסך לא זמין", "label-default-theme": "ברירת מחדל", "tooltip-click-to-enlarge": "לחץ להגדלה", "button-update": "עדכון", "label-currently-active": "Active", "option-frame-style": "סגנון מסגרת חלון", "option-frame-description": "קובע את הסגנון של שורת הכותרת של חלונות אובסידיאן. דורש הפעלה מחדש מלאה כדי להיכנס לתוקף.", "option-frame-hidden": "מוסתר (ברירת מחדל)", "option-frame-obsidian": "מסגרת אובסידיאן", "option-frame-native": "מסגרת מקורית", "option-custom-icon": "סמל אפליקציה מותאמת אישית", "option-custom-icon-desc": "הגדר סמל מותאם אישית עבור האפליקציה", "button-choose-custom-icon": "בחר סמל מותאם אישית", "option-configure-ribbon": "תפריט סרט", "option-configure-ribbon-desc": "הגדר אילו פקודות יופיעו בתפריט רצועת הכלים בסרגל הניווט הזה.", "option-mobile-quick-ribbon-item": "פריט סרט גישה מהירה", "option-mobile-quick-ribbon-item-desc": "הקשה על פריט הסרט בתפריט הניווט תפעיל את פריט הסרט הזה. הקש והחזק עדיין יציג את התפריט.", "option-mobile-quick-ribbon-default": "פתח את תפריט הסרט", "button-configure": "הגדר", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "פריטי סרט אחרים", "label-modal-configuration": "תצורת סרט", "label-modal-configuration-desc": "בחר אילו פריטים ברצונך שיהיו פעילים ברצועת הכלים. גרור ושחרר כדי לשנות את הסדר.", "option-show-view-header": "הצג את שורת הכותרת של הכרטיסייה", "option-show-view-header-desc": "הצג את הכותרת בראש כל כרטיסייה.", "msg-updates-found": "נמצא ערכת נושא {{count}} לעדכון.", "msg-updates-found_plural": "נמצאו {{count}} ערכות נושא לעדכון.", "button-check-for-updates": "בדוק עדכונים", "button-view-updates": "הצג עדכונים", "button-update-all-themes": "עדכן הכל", "label-current-themes": "נושאים קהילתיים עדכניים", "label-currently-installed": "כרגע מותקן לך ערכת נושא {{count}}.", "label-currently-installed_plural": "כרגע מותקנים לך {{count}} ערכות נושא." }, "hotkeys": { "name": "מקשי קיצור", "option-search": "חיפוש מקשי קיצור", "option-search-desc": "מציג מקש קיצור {{count}}.", "option-search-desc_plural": "מציג {{count}} מקשי קיצור.", "option-search-conflict": "פקודה {{count}} עם התנגשויות.", "option-search-conflict_plural": "{{count}} פקודות עם התנגשויות.", "prompt-filter": "לסנן...", "tooltip-delete-hotkey": "מחק מקש קיצור", "label-waiting-for-hotkey-press": "לחץ על מקש קיצור...", "label-show-all": "את כל", "label-show-unassigned": "לא הוקצה", "label-show-assigned": "שהוקצה", "label-show-user-assigned": "הוקצה על ידי", "tooltip-restore-default": "להחזיר לברירת מחדל", "tooltip-customize-command": "התאם אישית את הפקודה הזו", "tooltip-hotkey-single-conflict": "מקש קיצור זה מתנגש עם \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "מקש קיצור זה מתנגש עם {{count}} פקודות אחרות", "label-blank-hotkey": "ריק" }, "about": { "name": " אודות", "label-commercial-license": "רישיון פרסומי", "label-license-key": "מפתח רישיון", "license-key-placeholder": "מפתח הרישיון שלך...", "label-activate-license": "הפעל רישיון", "button-activate": "להפעיל", "label-unknown-version": "לא ידוע", "label-current-version": "גרסה נוכחית:", "label-install-version": "(גרסת מתקין: {{version}})", "label-up-to-date": "האפליקציה שלך מעודכנת!", "label-read-changelog": "קרא את יומן השינויים.", "label-manual-update-required": "כדי לתמוך בתכונות העדכניות ביותר וכדי לקבל את תיקוני האבטחה העדכניים ביותר, Obsidian זקוק לעדכון מתקין גדול. אתה צריך להוריד ולהתקין מחדש את Obsidian באופן ידני.", "label-new-version-ready": "גרסה חדשה מוכנה להתקנה.", "label-disabled-updates": "העדכונים מושבתים.", "button-relaunch": "השקה מחדש", "button-check-for-updates": "בדוק עדכונים", "option-auto-update": "עדכונים אוטומטיים", "option-auto-update-description": "כבה זאת כדי למנוע מהאפליקציה לחפש עדכונים.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "תקבל עזרה", "option-get-help-description": "קבל עזרה בשימוש ב- Obsidian.", "button-open": "לפתוח", "option-language": "שפה", "option-language-description": "שנה את שפת התצוגה.", "option-insider-build": "קבל בנייה פנימית", "option-insider-build-description": "עדכון אוטומטי למבנים פנימיים כדי לנסות תכונות חדשות. שימו לב שהמבנה הזה הוא קצה מדמם ועשויים להיות פחות יציבים.", "option-advanced": "מתקדם", "option-hw-acceleration": "האצת חומרה", "option-hw-acceleration-description": "מפעיל את האצת חומרה, המשתמשת ב-GPU שלך כדי להפוך את Obsidian לחלק יותר.", "option-hw-acceleration-warning": "אם תכבה זאת, ביצועי האפליקציה ייפגעו מאוד.", "option-config-location": "עוקף את תיקיית התצורה", "option-config-location-description": "השתמש בתיקיית תצורה שונה מזו של ברירת המחדל. חייב להתחיל עם נקודה.", "option-config-location-warning": "מיקום התצורה חייב להיות שם תיקייה חוקי שמתחיל בנקודה.", "label-license": "רישיון", "label-your-commercial-license-key": "מפתח הרישיון המסחרי שלך הוא \"{{key}}\".", "label-commercial-license-info": "רשום ב-\"{{company}}\" עבור {{seats}} משתמשים. תקף עד {{expiry}}.", "label-validating-commercial-license": "מאמת...", "label-invalid-commercial-license": "רישיון לא חוקי:", "button-remove-commercial-license": "להסיר", "option-catalyst": "רישיון catalyst", "option-catalyst-desc": "כרגע יש לך את הרישיון {{tier}} Catalyst. תודה על תמיכתך!", "option-catalyst-desc-no-license": "אין לך רישיון Catalyst כרגע. רישיון Catalyst הוא תרומה חד פעמית לתמיכה בפיתוח Obsidian.", "label-app": "אפליקציה", "label-add-own-language": "ראה כיצד להוסיף את השפה שלך לאובסידיאן." }, "account": { "name": "חשבון", "option-your-account": "החשבון שלך", "option-your-account-desc": "אתה מחובר כעת ל-{{name}} ({{email}}).", "option-your-account-desc-no-login": "אתה לא מחובר כרגע. יש צורך בחשבון רק עבור בניית מבפנים של Obsidian Sync, Obsidian Publish ו-Catalyst.", "label-insider": "פנימי", "label-supporter": "תומך", "label-vip": "VIP", "button-upgrade-catalyst": "שדרוג", "option-commercial-license": "רישיון פרסומי", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "לרכוש", "button-log-out": "להתנתק", "label-log-in": "התחברות", "label-sign-up": "הירשם", "label-email": "אימייל", "placeholder-email": "האימייל שלך...", "label-name": "Full name", "label-password": "סיסמה", "placeholder-password": "הסיסמה שלך...", "label-forgot-password": "Forgot password?", "button-login": "התחברות", "message-empty-email": "אימייל לא יכול להיות ריק.", "message-invalid-email": "האימייל אינו חוקי.", "message-empty-password": "הסיסמה לא יכולה להיות ריקה.", "message-login-failed": "הכניסה נכשלה, אנא בדוק שוב את הדוא\"ל והסיסמה שלך.", "message-signup-failed": "Failed to sign up", "label-no-account": "אין לך חשבון?", "link-sign-up-now": "הרשם עכשיו", "label-mfa-code": "קוד בן 6 ספרות 2FA", "mfa-wrong-format": "קוד המאמת 2FA חייב להיות בן 6 ספרות.", "mfa-verification-failed": "קוד 2FA שגוי, אנא בדוק שוב את אפליקציית המאמת שלך." }, "core-plugin": { "plugin-list": "רשימת תוספים", "option-search-plugin": "חיפוש תוספי ליבה", "option-search-plugin-description": "סנן תוספים לפי שם או תיאור.", "placeholder-search-plugin": "חיפוש תוספים..." }, "third-party-plugin": { "name": "תוסף של צד שלישי", "option-restricted-mode": "מצב מוגבל", "option-restricted-mode-description": "סינון תוכן כבוי. הפעל כדי להשבית תוספי קהילה.", "button-turn-on": "להדליק", "option-browse-community-plugins": "תוספים קהילתיים", "option-browse-community-plugins-description": "עיין והתקן תוספים של צד שלישי שנעשו על ידי הקהילה המדהימה שלנו.", "button-browse": "לדפדף", "label-exit-restricted-mode": "צא מסינון תוכן", "label-exit-restricted-mode-description-1": "תוספים קהילתיים, כמו כל תוכנה אחרת שתתקינו, עלולים לגרום לבעיות של שלמות הנתונים ואבטחה.", "label-exit-restricted-mode-description-2": "אבטחת תוספים חשובה לנו. הנה מה שאנחנו עושים:", "label-exit-restricted-mode-description-3": "למרות המאמצים שלנו, עדיין יש סיכוי קטן שתוסף קהילה עלול להתנהג בצורה לא נכונה.", "label-code-review": "סקירת קוד ראשונית", "label-code-review-desc": "תוספים עוברים סקירת קוד ראשונית על ידי הצוות שלנו לפני שהם מופיעים בחנות.", "label-open-source": "קוד פתוח", "label-open-source-desc": "רוב התוספים הם קוד פתוח ב-GitHub, כך שאתה יכול לבדוק את הקוד בעצמך.", "label-peer-audit": "ביקורת עמיתים", "label-peer-audit-desc": "יש לנו קהילה גדולה של מפתחים ששומרים אחד על השני.", "label-report-mechanism": "מנגנון דיווח", "label-report-mechanism-desc": "אנו עוקבים ומסירים תוספים פגומים עם דיווח המשתמש.", "label-exit-restricted-mode-disable-confirmation": "האם תרצה לצאת מסינון תוכן כדי להפעיל תוספים קהילתיים? אנו ממליצים בחום לבצע גיבויים של הנתונים שלך לפני שתעשה זאת.", "label-learn-more": "למידע נוסף על אבטחת תוספים", "button-turn-on-community-plugins": "הפעל תוספי קהילה", "label-trust-author": "האם אתה סומך על המחבר של הכספת הזו?", "label-trust-author-description-1": "אתה פותח את הכספת הזו בפעם הראשונה, והיא מגיעה עם כמה תוספים.", "label-trust-author-description-2": "אם השגת את הכספת הזו ממישהו אחר, שים לב שתוספים ממקור לא ידוע עלולים להוות סיכוני אבטחה.", "label-trust-author-description-3": "אם אינך סומך באופן מלא על המחבר של הכספת הזו, אנו ממליצים להישאר במצב מוגבל, כדי שהתוספים בכספת זו לא יפעלו.", "button-enable-plugins": "סמוך על המחבר והפעל תוספים", "button-dont-trust-author": "עיין בכספת במצב סינון", "placeholder-community-plugins": "חפש תוספי קהילה...", "msg-failed-load-plugins": "טעינת הפלאגינים של הקהילה נכשלה.", "label-installed": "מותקן", "button-install": "להתקין", "button-enable": "לאפשר", "button-disable": "השבת", "button-copy-share-link": "העתק קישור לשיתוף", "button-donate": "לתרום", "label-no-results-found": "לא נמצאו תוצאות.", "label-no-recent-files-found": "לא נמצאו קבצים אחרונים. הקלד לחיפוש...", "msg-failed-to-load-manifest": "טעינת המניפסט של הפלאגין נכשלה.", "label-version": "גרסה: {{version}}", "label-currently-installed-version": "(מותקן כעת: {{version}})", "label-by-author": "על ידי", "label-repository": "מאגר:", "label-last-update": "העדכון אחרון:", "tooltip-view-last-update": "צפה בעדכון האחרון", "label-unsupported": "תוסף זה אינו תומך במכשיר שלך.", "button-update": "עדכון", "label-no-readme": "תוסף זה לא סיפק קובץ README.", "msg-installing-plugin": "מתקין את הפלאגין \"{{name}}\"...", "msg-failed-to-install-plugin": "התקנת הפלאגין \"{{name}}\" נכשלה.", "msg-successfully-installed-plugin": "הפלאגין \"{{name}}\" הותקן בהצלחה.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "תוספים מותקנים", "button-reload-plugins": "טען מחדש תוספים", "msg-reloaded-third-party-plugins": "תוספים של צד שלישי נטענו מחדש.", "label-uninstall": "הסר את ההתקנה", "label-uninstall-plugin": "הסר את התוסף", "label-uninstall-plugin-confirmation": "האם אתה בטוח שברצונך להסיר את התוסף הזה? פעולה זו תמחק את התיקיה של התוסף.", "button-open-plugins-folder": "פתח את תיקיית התוספים", "button-check-for-updates": "בדוק עדכונים", "button-update-all-plugins": "עדכן הכל", "label-current-plugins": "תוספים נוכחיים", "label-currently-installed": "כרגע מותקן לך פלאגין {{count}}.", "label-currently-installed_plural": "כרגע מותקנים לך {{count}} פלאגינים.", "msg-no-updates-found": "לא נמצאו עדכוני פלאגין.", "msg-updates-found": "נמצא פלאגין {{count}} לעדכון.", "msg-updates-found_plural": "נמצאו {{count}} פלאגינים לעדכון.", "msg-update-plugin": "עדכון לגרסה {{version}}", "option-search-installed-plugin": "חפש תוספים מותקנים", "option-search-installed-plugin-description": "סנן תוספים מותקנים לפי שם או תיאור.", "placeholder-search-installed-plugin": "חפש תוספים מותקנים...", "show-installed-only": "הצג מותקן בלבד", "label-donate-modal-title": "תרום לתמיכה ב-{{name}}", "label-donate-modal-text1": "מפתחי תוספים הם מתנדבי קהילה שעושים דברים מדהימים מתוך תשוקה. אם אתה מוצא תוסף זה שימושי, אנא שקול לממן את הפיתוח שלו.", "label-donate-modal-text2": "100% מהתרומה שלך תעבור למפתח הפלאגין; אובסידיאן לא לוקח חתך. פלטפורמת המימון שהם יבחרו עשויה לגבות עמלה.", "label-donate-modal-text3": "תודה על תמיכתך הנדיבה!", "label-support-this-plugin": "תמכו בתוסף הזה:", "label-search-summary": "מציג {{pluginCount}}:", "label-by-popularity": "רוב ההורדות", "label-by-released": "שוחרר לאחרונה", "label-by-updated": "עודכן לאחרונה", "label-alphabetical": "אלף ביתי", "label-last-updated": "עודכן {{time}}" }, "mobile-toolbar": { "name": "סרגל כלים נייד", "option-configure-quick-action": "הגדר פעולה מהירה לנייד", "option-configure-quick-action-description": "הגדר איזו פקודה להפעיל בעת משיכה למטה מלמעלה. הפקודה הנוכחית מוגדרת ל-\"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "הגדר", "placeholder-select-quick-action": "בחר פעולה מהירה...", "quick-action-disabled": "אף אחד", "manage-toolbar-options": "נהל את אפשרויות סרגל הכלים", "option-internal-link": "הוסף קישור פנימי", "option-internal-embed": "הוסף הטמעה", "option-tag": "הוסף תגית", "option-heading": "החלף כותרת", "option-strikethrough": "החלף קו קו קו", "option-highlight": "החלף סימון", "option-code": "החלף קוד", "option-blockquote": "החלף ציטוט בלוק", "option-inline-math": "החלף מתמטיקה מוטבעת", "option-math-block": "החלף בלוק מתמטי", "option-markdown-link": "הוסף קישור Markdown", "option-bullet-list": "החלף את רשימת התבליטים", "option-numbered-list": "החלף רשימה ממוספרת", "option-indent-list": "פריט רשימת הזחה", "option-unindent-list": "פריט ביטול כניסות ברשימה", "option-undo": "לבטל", "option-redo": "לעשות שוב", "option-move-caret-up": "תזיז את הסמן למעלה", "option-move-caret-down": "תזיז את הסמן למטה", "option-move-caret-left": "הזז את הסמן שמאלה", "option-move-caret-right": "תזיז את הסמן ימינה", "option-first-line": "עבור לשורה הראשונה", "option-last-line": "עבור לשורה האחרונה", "option-toggle-keyboard": "החלף מקלדת", "option-configure-toolbar": "הגדר את סרגל הכלים לנייד", "option-added-options": "נוספו אפשרויות", "option-more-toolbar-options": "אפשרויות נוספות של סרגל כלים", "option-attach": "הכנס קובץ מצורף", "option-add-command": "הוסף פקודה גלובלית", "option-add-command-description": "בחר כל פקודה גלובלית להוספה לסרגל הכלים." } }, "editor": { "search": { "placeholder-find": "למצוא", "placeholder-replace": "החלף", "label-exit-search": "צא מהחיפוש", "label-next": "הבא", "label-previous": "הקודם", "label-find-all": "Find all", "label-replace": "החלף", "label-replace-all": "החלף הכל" }, "link-suggestion": { "label-type-hash": "הקלד #", "label-link-heading": "לכותרת קישור", "label-type-block": "הקלד ^", "label-link-block": "לקשר בלוקים", "label-type-pipe": "הקלד |", "label-change-display-text": "כדי לשנות את טקסט התצוגה", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "לא נמצאה התאמה", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "אין הצעות...", "add-to-dictionary": "הוסף למילון" }, "menu": { "edit-link": "ערוך קישור", "edit-tag": "Edit tag", "label-edit-block": "ערוך את הבלוק הזה", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "אין כותרת", "label-heading-level": "כותרת {{level}}" }, "print-modal": { "title": "ייצוא ל-PDF", "caption": "ייצא את \"{{filename}}\" ל-PDF עם ההגדרה למטה.", "setting-page-size": "גודל עמוד", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "משפטי", "setting-page-size-letter": "מכתב", "setting-page-size-tabloid": "טבלית", "setting-include-file-name": "כלול את שם הקובץ ככותרת", "setting-landscape": "תצוגה", "setting-margin": "שולים", "setting-margin-default": "ברירת מחדל", "setting-margin-minimal": "מינימלי", "setting-margin-none": "אף אחד", "setting-downscale-percent": "אחוז נמוך בקנה מידה", "button-export-to-pdf": "ייצוא ל-PDF" }, "link-popover": { "tooltip-follow-link": "עקוב אחר הקישור", "tooltip-open-link": "פתח קישור", "tooltip-search-tag": "תג חיפוש" } }, "interface": { "embed-cannot-find": "לא מוצא:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "פתח באפליקציית ברירת המחדל", "empty-sidebar": "סרגל הצד ריק, נסה לגרור חלונית לכאן.", "sidebar-expand": "להרחיב", "sidebar-collapse": "לצמצם", "msg-fail-to-save-file": "שמירת הקובץ \"{{filepath}}\" נכשלה. {{message}}.", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "אין קובץ", "msg-file-changed": "\"{{file}}\" השתנה באופן חיצוני, תוך מיזוג שינויים באופן אוטומטי.", "switch-vault": "פתח כספת נוספת", "manage-vaults": "Manage vaults...", "help": "עזרה", "settings": "הגדרות", "drag-to-rearrange": "גרור כדי לסדר מחדש", "msg-switched-to-read": "החליף מצב תצוגת ברירת מחדל לתצוגת קריאה.", "msg-switched-to-edit": "החליף מצב תצוגת ברירת מחדל לעורך.", "msg-upgrade-installer": "כדי להשתמש בתכונה זו, אנא התקן מחדש עם תוכנית ההתקנה העדכנית ביותר שזמינה מהאתר שלנו.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "שחזר הגדרות ברירת מחדל", "label-copy": "העתק ללוח", "label-copy-short": "עותק", "copied_generic": "הועתק ללוח שלך", "copied": "{{item}} הועתק ללוח שלך", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "כתובת אתר", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "הקובץ \"{{path}}\" נפתח", "msg-file-not-found-through-uri": "הקובץ \"{{name}}\" לא נמצא.", "delete-action-short-name": "למחוק", "msg-indexing": "אובסידיאן מוסיף את הכספת שלך לאינדקס...\nזה אמור לקרות רק פעם אחת.\nייתכן שחלק מהפונקציונליות לא תהיה זמינה עד להשלמת פעולה זו.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "יצירת האינדקס הושלמה.", "msg-sandbox-vault": "זהו כספת ארגז חול.\nשינויים שתבצע בכספת הזו יאבדו.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "הכנס כדי ליצור", "label-update-available": "עדכון זמין", "label-debug-info": "מידע על ניפוי באגים", "button-learn-more": "למד עוד", "button-not-now": "לא עכשיו", "button-add": "להוסיף", "button-manage": "לנהל", "label-new-tab": "כרטיסייה חדשה", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "כרטיסייה זו תפוסה כעת, אנא נסה שוב מאוחר יותר", "formatting": { "label-formatting": "פורמט", "label-paragraph": "פיסקה", "label-insert": "להכניס", "insert-link": "הוסף קישור", "insert-external-link": "הוסף קישור חיצוני", "insert-callout": "ציטוט", "insert-horizontal-rule": "קו אופקי", "insert-code-block": "בלוק קוד", "insert-math-block": "בלוק מתמטי", "insert-table": "טבלה", "insert-footnote": "Footnote", "toggle-bold": "מודגש", "toggle-code": "קוד", "toggle-comments": "הערה", "toggle-highlight": "הבלטה", "toggle-italics": "נטוי", "toggle-strikethrough": "חוצה", "toggle-math": "מתמטיקה", "toggle-bullet-list": "רשימת תבליטים", "toggle-checklist": "רשימת מטלות", "toggle-numbered-list": "רשימה ממוספרת", "set-heading": "כותרת {{level}}", "no-heading": "גוף", "clear": "נקה עיצוב", "toggle-quote": "ציטוט" }, "empty-state": { "no-file-open": "אין קובץ פתוח", "create-new-file": "צור קובץ חדש", "go-to-file": "עבור לקובץ", "see-recent-files": "ראה קבצים אחרונים", "close": "סגור", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "הפלאגין כבר לא פעיל", "unknown-pane-desc": "הפלאגין שיצר את החלונית הזו ({{type}}) נעלם" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "ערוך (Ctrl/Cmd+לחץ כדי לערוך בחלונית חדשה)", "read-view": "תצוגה נוכחית: קריאה", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "לחץ כדי לערוך", "switch-to-read-view": "לחץ לקריאה", "mod-click-open-new-tab": "{{key}}+לחץ כדי לפתוח בכרטיסייה חדשה", "find": "למצוא...", "replace": "החלף...", "edit": "לערוך", "remove": "להסיר", "rename": "שנה שם", "preview": "תצוגה מקדימה", "more-options": "אפשרויות נוספות", "close": "סגור", "close-all": "סגור הכל", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "סגור אחרים", "close-after": "Close tabs after", "pin": "שים סיכה", "unpin": "להוציא סיכה", "unlink-tab": "בטל קישור לכרטיסייה", "link-tab": "קישור עם כרטיסייה...", "toggle-source-mode": "מצב מקור", "toggle-reading-view": "תצוגת קריאה", "add-property": "הוסף מאפיין קובץ", "delete-file": "מחק קובץ", "create-file": "צור את הקובץ הזה", "open-link": "פתח קישור", "open-in-new-tab": "פתח בכרטיסייה חדשה", "open-to-the-right": "פתח ימינה", "copy-url": "העתק כתובת אתר", "copy": "העתקה", "cut": "גזירה", "paste": "הדבקה", "paste-as-plain-text": "הדבק כטקסט רגיל", "lookup-selection": "חפש את \"{{selection}}\"", "select-all": "בחר הכל", "rename-heading": "שנה את שם הכותרת הזו...", "rename-blockid": "שנה את השם של מזהה הבלוק הזה...", "open-in-new-window": "פתח בחלון חדש", "move-to-new-window": "עבור לחלון חדש", "open-in-browser": "פתוח בדפדפן", "stack-tabs": "ערימת כרטיסיות", "unstack-tabs": "בטל ערימת כרטיסיות", "open-linked-view": "פתח תצוגה מקושרת" }, "tooltip": { "click-to-expand": "לחץ כדי להרחיב", "click-to-collapse": "לחץ כדי לכווץ", "alias": "כינוי", "not-created-yet": "עדיין לא נוצר, בחר כדי ליצור" }, "start-screen": { "label-version": "גרסה", "label-create-local-vault": "צור כספת מקומית", "option-open-folder-as-vault": "פתח את התיקיה ככספת", "option-open-folder-as-vault-description": "בחר תיקייה קיימת של קובצי Markdown.", "option-create-vault": "צור כספת חדשה", "option-create-vault-description": "צור כספת אובסידיאן חדשה מתחת לתיקיה.", "option-connect-obsidian-sync": "התחבר ל- Obsidian Sync", "option-connect-obsidian-sync-description": "הגדר כספת מסונכרנת עם כספת מרחוק קיימת.", "option-new-vault-name": "שם הכספת", "option-new-vault-name-description": "בחר שם לכספת המדהימה שלך.", "option-new-vault-location": "מקום", "option-new-vault-location-description": "בחר מקום לשים את הכספת החדשה שלך.", "label-new-vault-location-preview": "הכספת החדשה שלך תוצב ב:", "option-reveal-vault-in-explorer": "הצג כספת בסייר המערכת", "option-reveal-vault-in-explorer-mac": "הצג כספת ב-Finder", "option-rename-vault": "שנה את שם הכספת...", "option-copy-vault-i-d": "העתק את מזהה הכספת", "msg-error-rename-exists": "יש כבר כספת בשם הזה.", "msg-error-nested": "לא ניתן להעביר את הכספת לתיקיית משנה של עצמה.", "msg-error-rename-open": "לא ניתן לשנות את שם הכספת הפתוחה כעת.", "msg-rename-failed": "שינוי שם הכספת נכשל.", "msg-rename-success": "שם הכספת שונה בהצלחה.", "option-move-vault": "הזז את הכספת...", "msg-move-select-dest": "בחר תיקיית יעד", "msg-error-move-exists": "יש כבר כספת ביעד.", "msg-error-move-open": "לא ניתן להזיז כספת פתוחה כעת.", "msg-move-failed": "העברת הכספת נכשלה.", "msg-move-success": "הכספת הועברה בהצלחה.", "option-remove": "הסר מהרשימה", "button-quick-start": "התחלה מהירה", "button-open": "לפתוח", "button-browse": "לדפדף", "button-connect": "לחבר", "button-create-vault": "ליצור", "button-back": "חזור", "msg-empty-vault-name": "שם הכספת לא יכול להיות ריק.", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "אנא בחר תיקיה חוקית.", "msg-failed-to-create-vault": "יצירת הכספת נכשלה.", "msg-failed-to-create-vault-at-location": "לא ניתן ליצור כספת במיקום הנתון. אנא בדוק שוב את המיקום וההרשאה.", "msg-error-failed-to-open-vault": "נכשל להיפתח.", "msg-error-remove-current-open-vault": "לא ניתן להסיר כספת פתוחה כעת.", "option-get-help": "תקבל עזרה", "option-user-email": "אימייל", "placeholder-your-email": "האימייל שלך...", "option-user-password": "סיסמה", "placeholder-your-password": "הסיסמה שלך...", "button-sign-in": "להתחבר", "button-setup": "להכין", "option-connect-vault-desc": "צור כספת מסונכרנת במכשיר זה.", "tooltip-own-vault": "זוהי כספת מרוחקת בבעלותך.", "tooltip-shared-vault": "זוהי כספת מרחוק ששותפה איתך.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "ברוך הבא", "welcome-file-content": "זו ה*כספת* החדשה שלך.\n\nרשום משהו, [[צור קישור]], או נסה את [היבואן](https://help.obsidian.md/Plugins/Importer)!\n\nכשתהיה מוכן, מחק את ההערה הזו והפוך את הכספת לשלך." }, "drag-and-drop": { "insert-link-here": "הכנס קישור כאן", "insert-links-here": "הכנס כאן קישורים", "move-into-folder": "עבור אל \"{{folder}}\"", "star-this-file": "בכוכב את הקובץ הזה", "star-these-files": "בכוכב את הקבצים האלה", "open-in-this-tab": "פתח בכרטיסייה זו", "open-as-tab": "פתח ככרטיסייה חדשה" }, "window": { "maximize": "להגדיל", "minimize": "לצמצם", "restore-down": "שחזר למטה", "close-window": "חלון סגור", "go-back": "תחזור", "go-forward": "לך קדימה" }, "start-up": { "loading-obsidian": "טוען Obsidian...", "obsidian-load-error": "אירעה שגיאה בעת טעינת Obsidian.", "button-reload-app": "טען מחדש את האפליקציה", "button-reload-app-in-safe-mode": "טען מחדש את האפליקציה במצב בטוח", "button-open-another-vault": "פתח כספת נוספת", "loading-plugins": "טוען תוספים...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "טוען כספת...", "msg-failed-to-load-vault": "טעינת הכספת נכשלה:", "loading-cache": "טוען מטמון...", "loading-workspace": "טוען סביבת עבודה..." }, "mobile": { "action-import": "ייבוא ​​לכספת", "action-insert-text-desc": "הוסף טקסט לקובץ:", "action-choose-file-to-insert": "בחר קובץ להוספה", "action-insert-text-into-file": "הוסף טקסט לתוך {{filename}}", "action-insert-link-into-file": "הוסף קישור לתוך {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "מייבא...", "msg-import-success": "הצלחה בייבוא", "msg-failed-to-import-file": "ייבוא ​​הקובץ {{filename}} נכשל", "msg-back-again-to-exit": "לחץ שוב אחורה כדי לצאת.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "אתר עזרה רשמי", "label-official-help-site-desc": "קרא את תיעוד העזרה הרשמי של Obsidian, זמין במספר שפות.", "action-visit": "לבקר", "label-discord-chat": "צ'אט דיסקורד", "label-discord-chat-desc": "Discord הוא המקום הטוב ביותר לשוחח עם משתמשי Obsidian מנוסים אחרים מרחבי העולם.", "action-join": "להצטרף", "label-forum": "הפורום הרשמי", "label-forum-desc": "עזרו זה לזה, פרסמו בקשות לתכונות, דווחו על באגים וקיימו דיונים מעמיקים על ניהול ידע.", "label-sandbox-vault": "כספת ארגז חול", "label-sandbox-vault-desc": "שחקו והתנסו בתכונות שונות. שים לב שהשינויים שלך לא יישמרו." } }, "commands": { "save-file": "שמור את הקובץ הנוכחי", "download-attachments": "Download attachments for current file", "follow-cursor-link": "עקוב אחר הקישור מתחת לסמן", "open-cursor-link-in-new-tab": "פתח קישור מתחת לסמן בכרטיסייה חדשה", "open-cursor-link-to-the-right": "פתח קישור מתחת לסמן מימין", "open-cursor-link-in-new-window": "פתח קישור מתחת לסמן בחלון חדש", "navigate-tab-above": "התמקד בקבוצת הכרטיסיות למעלה", "navigate-tab-below": "התמקד בקבוצת הכרטיסיות למטה", "navigate-tab-left": "התמקד בקבוצת הכרטיסיות משמאל", "navigate-tab-right": "התמקד בקבוצת הכרטיסיות מימין", "toggle-pin": "החלף סיכה", "split-right": "פיצול ימינה", "split-down": "פיצול למטה", "toggle-stacked-tabs": "החלף מצב של כרטיסיות מוערמות", "navigate-back": "נווט אחורה", "navigate-forward": "נווט קדימה", "use-dark-mode": "השתמש במצב כהה", "use-light-mode": "השתמש במצב בהיר", "change-theme": "לשנות נושא", "search-current-file": "חפש את הקובץ הנוכחי", "search-replace-current-file": "חפש והחלף בקובץ הנוכחי", "add-property": "הוסף מאפיין קובץ", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "נקה את מאפייני הקובץ", "open-settings": "פתח את ההגדרות", "open-help": "פתח את העזרה", "toggle-edit": "החלף את תצוגת העריכה/קריאה", "toggle-source-mode": "החלף מצב תצוגה מקדימה חיה/מקור", "delete-current-file": "מחק את הקובץ הנוכחי", "new-tab": "כרטיסייה חדשה", "show-trash": "הצג אשפה", "close-all-tabs": "לסגור את כל הכרטיסיות", "close-active-tab": "סגור את הכרטיסייה הנוכחית", "close-others-in-tab-group": "סגור אחרים בקבוצת הכרטיסיות", "close-other-tabs": "סגור את כל שאר הכרטיסיות", "close-tab-group": "סגור את קבוצת הכרטיסיות הזו", "toggle-left-sidebar": "החלף את סרגל הצד השמאלי", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "החלף את סרגל הצד הימני", "toggle-default-new-tab-mode": "החלף מצב ברירת מחדל עבור כרטיסיות חדשות", "add-cursor-above": "הוסף סמן למעלה", "add-cursor-below": "הוסף סמן למטה", "focus-editor": "התמקד בעורך", "toggle-fold-properties": "החלף את מאפייני הקיפול בקובץ הנוכחי", "toggle-fold": "החלף קיפול בקו הנוכחי", "fold-all": "מקפלים את כל הכותרות והרשימות", "unfold-all": "פתח את כל הכותרות והרשימות", "fold-more": "לקפל יותר", "fold-less": "לקפל פחות", "swap-line-up": "החלף קו", "swap-line-down": "החלף קו למטה", "remove-heading": "הסר את הכותרת", "toggle-heading": "הגדר ככותרת {{level}}", "toggle-bold": "החלף מודגש לבחירה", "toggle-italics": "החלף נטוי לבחירה", "toggle-highlight": "החלף סימון לבחירה", "toggle-comments": "החלף הערות לבחירה", "clear-formatting": "נקה עיצוב", "insert-link": "הכנס קישור", "toggle-spellcheck": "החלף את בדיקת האיות", "delete-paragraph": "מחק פסקה", "toggle-checklist": "החלף את מצב רשימת הבדיקה", "cycle-list-checklist": "מחזור כדור/תיבת סימון", "insert-callout": "הוסף הסבר", "insert-code-block": "הכנס בלוק קוד", "insert-math-block": "הכנס בלוק מתמטי", "insert-horizontal-rule": "הכנס כלל אופקי", "insert-table": "הכנס טבלה", "insert-footnote": "Insert footnote", "edit-file-title": "ערוך את כותרת הקובץ", "copy-path": "העתק את נתיב הקובץ", "copy-url": "העתק כתובת URL של Obsidian", "export-pdf": "ייצוא ל-PDF", "reload": "טען מחדש את האפליקציה מבלי לשמור", "undo-close-tab": "בטל כרטיסיית סגירה", "context-menu": "הצג תפריט הקשר מתחת לסמן", "show-debug-info": "הצג מידע על ניפוי באגים", "open-sandbox-vault": "פתח את כספת ארגז החול", "always-on-top": "החלף את החלון תמיד למעלה", "zoom-in": "להתמקד", "zoom-out": "להקטין את התצוגה", "reset-zoom": "אפס זום", "toggle-preview": "החלף מצב עריכה/תצוגה מקדימה", "move-to-new-window": "העבר את החלונית הנוכחית לחלון חדש", "open-in-new-window": "פתח את החלונית הנוכחית בחלון חדש", "rename-current-file": "שנה את שם הקובץ הנוכחי", "go-to-prev-tab": "עבור לכרטיסייה הקודמת", "go-to-next-tab": "עבור לכרטיסייה הבאה", "go-to-last-tab": "עבור לכרטיסייה האחרונה", "go-to-nth-tab": "עבור לכרטיסייה #{{n}}", "show-release-notes": "הצג הערות שחרור" }, "dialogue": { "label-link-affected": "זה ישפיע על {{links}} ב-{{files}}.", "msg-updated-links": "עודכן {{links}} ב-{{files}}.", "label-update-links": "עדכן קישורים", "label-confirm-update-link-to-file": "האם ברצונך לעדכן קישורים פנימיים המקשרים לקובץ זה?", "button-always-update": "תעדכן תמיד", "button-just-once": "רק פעם אחת", "button-do-not-update": "אל תעדכן", "label-confirm-deletion": "האם אתה בטוח שברצונך למחוק את \"{{filename}}\"?", "label-move-to-system-trash": "זה יועבר לאשפה של המערכת שלך.", "label-move-to-vault-trash": "הוא יועבר לאשפה של Obsidian שלך, שנמצאת בתיקייה הנסתרת \".trash\" בכספת שלך.", "label-permanent-delete": "הקובץ יימחק לצמיתות.", "label-non-empty-folder": "תיקיה זו אינה ריקה.", "label-delete-folder-warning": "אם תמשיך, כל הקבצים שבתיקייה זו יימחקו.", "label-delete-folder": "מחק תיקייה", "button-delete": "למחוק", "button-delete-do-not-ask-again": "מחק ואל תשאל שוב", "label-do-not-ask-again": "אל תשאל שוב", "label-existing-backlink": "כרגע יש {{count}} קישור המצביע על הערה זו.", "label-existing-backlink_plural": "כרגע יש {{count}} קישורים המצביעים על הערה זו.", "label-delete-file": "מחק קובץ", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "לנהל", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "לבטל", "button-download": "Download", "button-done": "בוצע", "button-save": "להציל", "button-stop": "תפסיק", "button-continue": "להמשיך", "button-choose": "בחר", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "מכין PDF...", "label-rename-file": "שנה את שם הקובץ", "label-rename-file-generic": "שם קובץ", "label-new-name": "שם חדש", "msg-rename-success": "שם הקובץ שונה בהצלחה.", "msg-merge-failed": "מיזוג הערות נכשל: {{message}}", "msg-file-or-folder-not-found": "הקובץ או התיקיה \"{{path}}\" אינם קיימים.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "שנה את שם הכותרת", "label-rename-blockid": "שנה את שם מזהה הבלוק" }, "menu-items": { "new-file": "צור פתק", "new-file-to-the-right": "הערה חדשה מימין", "new-window": "חלון חדש", "open-switcher": "פתח מהיר...", "open-vault": "פתח כספת...", "close-tab": "סגור טאב", "close-window": "סגור חלון", "find": "מצא", "replace": "החלף", "insert-callout": "ציטוט", "insert-markdown-link": "קישור לסימון", "insert-wikilink": "קישור", "set-heading": "כותרת {{level}}", "no-heading": "אין כותרת", "insert-quote": "ציטוט", "export-pdf": "ייצוא PDF", "insert-attachment": "הוסף קובץ מצורף...", "insert-codeblock": "בלוק קוד", "insert-math-block": "בלוק מתמטיקה", "insert-table": "טבלה", "insert-footnote": "Footnote", "toggle-bullet-list": "רשימת תבליטים", "toggle-numbered-list": "רשימה ממוספרת", "toggle-checklist": "רשימת מטלות", "toggle-bold": "מודגש", "toggle-code": "קוד", "toggle-comment": "תגובה", "toggle-italics": "אותיות מוטות", "toggle-inline-math": "מתמטיקה", "toggle-highlight": "שיא", "toggle-strikethrough": "חוצה", "toggle-comments": "תגובה", "folding-menu": "מתקפל", "fold-all": "מקפל הכל", "unfold-all": "פתח הכל", "fold-more": "קפל עוד", "fold-less": "מקפלים פחות", "source-mode": "מצב מקור", "reading-view": "תצוגת קריאה", "show-debug-info": "הצג מידע על ניפוי באגים", "open-sandbox": "פתח את כספת ארגז חול", "navigate-back": "נווט חזרה", "navigate-forward": "נווט קדימה", "toggle-left-sidebar": "החלף את סרגל הצד השמאלי", "toggle-right-sidebar": "החלף את סרגל הצד הימני", "toggle-ribbon": "Ribbon", "split-right": "פיצול ימינה", "split-down": "נשפך", "release-notes": "מכתבי שחרור" }, "plugins": { "name": "תוספים", "file-explorer": { "name": "סייר קבצים", "desc": "ראה את כל הקבצים בכספת שלך.", "action-open": "פתח את סייר הקבצים", "action-show": "הצג את סייר הקבצים", "action-create-note": "צור הערה חדשה", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "צור הערה חדשה בכרטיסייה הנוכחית", "action-create-note-to-the-right": "צור הערה מימין", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "למוטט הכל", "action-expand-all": "הרחב הכל", "action-new-note": "פתק חדש", "action-new-folder": "תיקייה חדשה", "action-change-sort": "שנה סדר מיון", "action-reveal-file": "הצג קובץ בסייר הקבצים", "action-reveal-active-file": "הצג קובץ פעיל בסייר הקבצים", "command-make-a-copy": "צור עותק של הקובץ הנוכחי", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "העבר את הקובץ לתיקיה אחרת", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "העבר את הקובץ ל...", "action-move-folder": "העבר תיקייה ל...", "action-move-items": "העבר {{count}} פריטים אל...", "prompt-type-folder": "הקלד תיקיה", "label-no-folders": "לא נמצאו תיקיות.", "instruction-navigate": "לנווט", "instruction-move": "לזוז", "instruction-create": "ליצור", "instruction-dismiss": "לבטל", "label-sort-a-to-z": "מיין לפי שם קובץ (א' עד ת')", "label-sort-z-to-a": "מיין לפי שם קובץ (Z עד A)", "label-sort-new-to-old": "מיין לפי זמן עריכה (חדש לישן)", "label-sort-old-to-new": "מיין לפי זמן עריכה (ישן לחדש)", "label-sort-created-old-to-new": "זמן יצירה (ישן לחדש)", "label-sort-created-new-to-old": "זמן יצירה (חדש לישן)", "menu-opt-new-note": "פתק חדש", "menu-opt-new-folder": "תיקייה חדשה", "menu-opt-rename": "שנה שם", "menu-opt-delete": "למחוק", "menu-opt-make-copy": "צור עותק", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "שם הקובץ אינו יכול להכיל אף אחד מהתווים הבאים:", "msg-unsafe-characters": "קישורים לא יעבדו עם שמות קבצים המכילים אף אחד מהתווים הבאים:", "msg-file-already-exists": "יש כבר קובץ עם אותו שם", "msg-empty-file-name": "שם הקובץ לא יכול להיות ריק.", "msg-bad-dotfile": "שם הקובץ לא יכול להתחיל בנקודה.", "tooltip-modified-time": "שונה לאחרונה ב-{{time}}", "tooltip-created-time": "נוצר ב-{{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "ללא כותרת", "label-untitled-folder": "ללא כותרת", "msg-set-attachment-folder": "קבצים מצורפים יישמרו ב-\"{{path}}\" מעתה ואילך." }, "search": { "name": "לחפש", "desc": "חפש מילת מפתח בכל ההערות.", "action-open-search": "חפש בכל הקבצים", "label-collapse-results": "כווץ תוצאות", "label-match-case": "מארז התאמה", "label-explain-search-term": "הסבר את מונח החיפוש", "label-more-context": "הצג יותר הקשר", "label-result-count": "תוצאה של {{count}}", "label-result-count_plural": "{{count}} תוצאות", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "הגדרות חיפוש", "prompt-start-search": "הקלד כדי להתחיל בחיפוש...", "label-match-text": "מתאים לטקסט:", "label-match-regex": "תואם ביטוי רגולרי:", "label-match-exact-text": "מכיל טקסט מדויק:", "label-match-greater-than": "גדול מ:", "label-match-less-than": "פחות מ:", "label-match-true": "נכון", "label-match-false": "הוא שקר", "label-match-empty": "זה ריק", "label-match-property": "מכיל מאפיין:", "label-match-all": "התאם את כל:", "label-match-any": "התאימו לכל אחד מ:", "label-excluding": "למעט:", "label-case-sensitive": "רגיש לאותיות גדולות", "label-case-insensitive": "חסר רגישות לרישיות", "label-match-file-path": "התאמת נתיב קובץ:", "label-match-file-name": "התאמת שם קובץ:", "label-match-content": "התאמת תוכן הקובץ:", "label-match-task": "משימת התאמה:", "label-match-task-todo": "משימת התאמה (מטלה):", "label-match-task-done": "משימת התאמה (בוצעה):", "label-match-line": "קו התאמה:", "label-match-block": "בלוק התאמה:", "label-match-section": "קטע התאמה:", "label-match-tag": "תג התאמה:", "label-no-matches": "אין תוצאות מתאימות.", "matches-with-count": "... ועוד {{count}} התאמה.", "matches-with-count_plural": "... ועוד {{count}} התאמות.", "label-copy-search-results": "העתק את תוצאות החיפוש", "button-copy-results": "העתק תוצאות", "msg-successfully-copied": "התוצאות הועתקו ללוח שלך.", "option-show-path": "הצג נתיב", "option-show-path-description": "הצג את הנתיב המלא של הקובץ ולא רק את שם הקובץ.", "option-link-style": "סגנון קישור", "option-link-style-description": "אפשר להפוך כל תוצאת קובץ לקישור.", "option-choice-link-style-none": "אף אחד", "option-choice-link-style-wikilink": "ויקילינק", "option-choice-link-style-markdown-link": "קישור לסימון", "option-list-prefix": "קידומת רשימה", "option-list-prefix-description": "אפשר להוסיף קידומת פריט רשימה לכל תוצאת קובץ.", "option-choice-list-style-none": "אף אחד", "option-choice-list-style-dash": "לזנק (-)", "option-choice-list-style-asterisk": "כוכבית (*)", "option-choice-list-style-numbered": "ממוספר", "tooltip-clear-search": "חיפוש נקי", "label-search-options": "אפשרויות חיפוש", "label-properties-group": "מאפיינים", "label-tags-group": "תגים", "tooltip-read-more": "קרא עוד", "label-history": "היסטוריה", "tooltip-clear-history": "לנקות היסטוריית חיפוש", "label-path-option-description": "נתיב תואם של הקובץ", "label-file-name-option-description": "תואם את שם הקובץ", "label-tag-option-description": "חפש תגיות", "label-line-option-description": "חפש מילות מפתח באותה שורה", "label-section-option-description": "חפש מילות מפתח תחת אותה כותרת", "label-property-option-description": "להתאים מאפיין", "menu-opt-search-for": "חפש \"{{keyword}}\"", "menu-opt-search-in-folder": "חפש בתיקייה" }, "quick-switcher": { "name": "מחליף מהיר", "desc": "קפוץ לקבצים כלשהם מבלי לעזוב את המקלדת. Ctrl/Cmd+O להפעלה.", "short-name": "מחליף", "action-open": "פתח את המחליף המהיר", "instruction-navigate": "לנווט", "instruction-open": "לפתוח", "instruction-open-in-new-tab": "כדי לפתוח בכרטיסייה חדשה", "instruction-open-to-the-right": "כדי לפתוח ימינה", "instruction-create": "ליצור", "instruction-dismiss": "לבטל", "instruction-select": "לבחור", "label-no-note-create-new": "לא נמצאו הערות. היכנס כדי ליצור אחד חדש.", "prompt-type-file-name": "הקלד קובץ כדי לעבור אליו או ליצור...", "label-enter-to-create": "הכנס כדי ליצור", "tooltip-not-created-yet": "עדיין לא נוצר, בחר כדי ליצור", "option-show-existing-only": "הצג קיים בלבד", "option-show-existing-only-description": "האם להציג קישורים לקבצים שעדיין לא נוצרו.", "option-show-attachments": "הצג קבצים מצורפים", "option-show-attachments-desc": "הצג קבצים מצורפים כמו תמונות, סרטונים וקובצי PDF.", "option-show-all-file-types": "הצג את כל סוגי הקבצים", "option-show-all-file-types-desc": "הצג את כל הקבצים כולל אלה ש-Obsidian לא יכול לפתוח. הקובץ ייפתח עם אפליקציית ברירת המחדל עבור סוג קובץ זה." }, "graph-view": { "name": "תצוגת גרף", "desc": "ראה סקירת גרף של אילו הערות מקשרות לאיזה.", "action-open": "פתח תצוגת גרף", "action-open-local": "פתח גרף מקומי", "action-copy-screenshot": "העתק צילום מסך", "tab-title": "גרף של {{displayText}}", "label-filters": "מסננים", "prompt-filter-nodes": "לחפש תיקיות...", "option-depth": "עומק", "option-depth-description": "הצג צמתים את המספר הזה של קישורים", "option-neighbor-links": "קישורי שכנים", "option-neighbor-links-description": "הצג קישורים בין שכנים.", "option-forelinks": "קישורים יוצאים", "option-forelinks-description": "הצג קישורים לקבצים אחרים", "option-backlinks": "קישורים נכנסים", "option-backlinks-description": "הצג קישורים מקבצים אחרים", "option-show-tags": "תגים", "option-show-tags-description": "התגים מקושרים לקבצים המכילים אותם", "option-show-attachments": "קבצים מצורפים", "option-show-attachments-description": "הצג קבצים מצורפים הכלולים לפי קבצים", "option-show-existing-files-only": "קבצים קיימים בלבד", "option-show-existing-files-only-description": "כאשר מסומן, קישורים לקבצים שאינם קיימים אינם מוצגים", "option-show-orphans": "יתומים", "option-show-orphans-description": "הצג קבצים שאינם מקושרים לשום קובץ אחר", "label-display": "להציג", "option-show-arrows": "חצים", "option-show-arrows-description": "הצג חיצים בעת התקרבות", "option-text-fade": "סף דהיית טקסט", "option-node-size": "גודל הצומת", "option-link-thickness": "עובי קישור", "label-forces": "כוחות", "option-center-force": "כוח מרכז", "option-link-force": "כוח קישור", "option-link-distance": "מרחק קישור", "option-repel-force": "דחיית כוח", "tooltip-open-graph-settings": "פתח את הגדרות הגרף", "msg-screenshot-copied": "צילום מסך הועתק ללוח.", "label-groups": "קבוצות", "placeholder-enter-query": "הזן שאילתה...", "tooltip-delete-graph": "מחק קבוצה", "button-new-group": "קבוצה חדשה", "tooltip-click-to-change-drag-to-reorder": "לחץ כדי לשנות צבע\nגרור כדי לסדר מחדש קבוצות", "action-timelapse": "התחל אנימציית Timelapse של גרף", "tooltip-start-timelapse-animation": "התחל אנימציית Timelapse", "button-animate-timelapse": "להנפיש" }, "backlinks": { "name": "קישורים נכנסים", "desc": "הצג מספר קישורים נכנסים בשורת המצב.", "action-open": "פתח קישורים נכנסים", "action-show": "הצג חלונית קישורים נכנסים", "action-open-for-current": "פתח קישורים נכנסים עבור הקובץ הנוכחי", "action-toggle-backlinks-in-document": "החלף קישורים נכנסים במסמך", "menu-opt-backlinks-in-document": "קישורים נכנסים במסמך", "label-linked-mentions": "אזכורים מקושרים", "label-no-backlinks": "לא נמצאו קישורים נכנסים.", "label-unlinked-mentions": "אזכורים לא מקושרים", "label-show-search": "הצג מסנן חיפוש", "label-link-button-text": "קישור", "tab-title": "קישורים נכנסים עבור {{displayText}}", "label-no-unlinked-mentions": "לא נמצאו אזכורים לא מקושרים.", "ellipsis": "...", "option-backlink-in-document": "קישור חוזר במסמך", "option-backlink-in-document-desc": "הצג קישורים נכנסים במסמך כברירת מחדל בעת פתיחת חלוניות חדשות." }, "outgoing-links": { "name": "קישורים יוצאים", "desc": "הצג קישורים יוצאים וזיהוי אזכורים לא מקושרים של הערות אחרות בהערה הנוכחית.", "action-open": "פתח קישורים יוצאים", "action-show": "הצג את חלונית הקישורים היוצאים", "action-open-for-current": "פתח קישורים יוצאים עבור הקובץ הנוכחי", "tab-title": "קישורים יוצאים מ-{{displayText}}", "label-links": "קישורים", "label-no-links": "לא נמצאו קישורים.", "label-unlinked-mentions": "אזכורים לא מקושרים", "tooltip-link-file": "קשר את הקובץ הזה", "tooltip-not-created": "עדיין לא נוצר" }, "tag-pane": { "name": "חלונית תגים", "short-name": "תגים", "desc": "מציג את כל התגים שלך יחד עם מספר המופעים שלהם.", "action-show": "הצג חלונית תגים", "label-no-tags": "לא נמצאו תגים.", "label-sort-by-name-a-to-z": "שם תג (א' עד ת')", "label-sort-by-name-z-to-a": "שם תג (Z עד A)", "label-sort-by-frequency-high-to-low": "תדירות (מגבוה לנמוכה)", "label-sort-by-frequency-low-to-high": "תדירות (נמוכה עד גבוהה)", "action-show-nested-tags": "הצג תגים מקוננים", "action-collapse-all": "למוטט הכל", "action-expand-all": "הרחב הכל" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "תצוגת מאפיינים", "desc": "הצג את המטא נתונים עבור הקבצים שלך.", "name-global": "כל המאפיינים", "name-local": "מאפייני קובץ", "tab-title": "מאפייני קובץ עבור {{displayText}}", "action-show": "הצג את כל המאפיינים", "action-show-local": "הצג מאפייני קובץ", "opt-unassign-type": "בטל הקצאת סוג", "label-no-properties": "לא נמצאו מאפיינים.", "label-invalid-properties": "מאפיינים לא חוקיים.", "label-sort-by-name-a-to-z": "שם המאפיין (א' עד ת')", "label-sort-by-name-z-to-a": "שם המאפיין (Z עד A)", "label-sort-by-frequency-high-to-low": "תדירות (מגבוה לנמוכה)", "label-sort-by-frequency-low-to-high": "תדירות (נמוכה עד גבוהה)", "msg-merge-properties-warning": "למזג את המאפיין \"{{oldKey}}\" עם \"{{newKey}}\"?", "msg-merge-properties-warning-desc": "במקרה של התנגשויות, הערכים ימוזגו או שישמש את הערך מ-\"{{oldKey}}\".", "action-collapse-all": "לצמצם הכל", "action-expand-all": "הרחב הכל", "action-open-local": "פתח את מאפייני הקובץ", "action-open-daily-note": "פתק יומי פתוח" }, "page-preview": { "name": "תצוגה מקדימה של הדף", "desc": "תצוגה מקדימה של הערה בעת ריחוף של קישור פנימי. Ctrl/Cmd + רחף במצב עורך.", "label-empty-attachment": "\"{{linktext}}\" לא נמצא.", "label-empty-note": "\"{{linktext}}\" עדיין לא נוצר. לחץ כדי ליצור.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "עורך", "label-source-preview": "תצוגה מקדימה", "label-source-search": "חיפוש, קישורים נכנסים וקישורים יוצאים", "label-source-tab-header": "Tab header", "label-require-mod": "דרוש {{key}} כדי להפעיל תצוגה מקדימה של דף בעת ריחוף" }, "bookmarks": { "name": "סימניות", "desc": "סמן קבצים וחיפושים בשימוש תכוף.", "action-show": "הצג סימניות", "action-collapse-all": "למוטט הכל", "action-new-bookmark": "סמן את הכרטיסייה הפעילה בסימניות...", "action-new-group": "קבוצת סימניות חדשה", "action-bookmark": "סימנייה...", "action-add-bookmark": "הוסף סימניה", "action-edit-bookmark": "ערוך סימניה", "action-bookmark-block": "סימניה בלוק מתחת לסמן...", "action-bookmark-heading": "כותרת סימניה מתחת לסמן...", "action-bookmark-search": "סמן את החיפוש הנוכחי...", "action-remove-bookmark": "הסר את הסימניה עבור הקובץ הנוכחי", "action-bookmark-tab-group": "סימניה הכרטיסייה {{count}}...", "action-bookmark-tab-group_plural": "סימנייה של {{count}} כרטיסיות...", "action-bookmark-all-tabs": "סמן את כל הכרטיסיות בסימניות...", "action-bookmark-graph": "סמן את הגרף הזה בסימניות...", "label-bookmark": "סימניה", "label-bookmarked": "סימניה", "label-bookmark-with-count": "סימניה {{count}}", "label-bookmark-with-count_plural": "{{count}} סימניות", "label-no-bookmarks": "לא נמצאו סימניות", "label-invalid-data": "טעינת הסימניות נכשלה.", "label-invalid-data-desc": "קובץ הנתונים פגום.", "label-untitled-group": "קבוצה ללא שם", "label-untitled-graph": "גרף ללא כותרת", "menu-opt-edit": "לערוך...", "menu-opt-remove": "להסיר", "menu-opt-rename": "שנה שם", "menu-opt-bookmark-block": "סמן את הבלוק הזה בסימניות...", "menu-opt-bookmark-heading": "הוסף כותרת זו לסימניות...", "msg-no-search-query": "אין שאילתת חיפוש לסימניה.", "option-path": "נתיב", "option-query": "שאילתא", "option-u-r-l": "כתובת אתר", "option-title": "כותרת", "option-group": "קבוצת סימניות", "placeholder-bookmark-group": "סימניות" }, "custom-css": { "name": "CSS מותאם אישית", "desc": "קורא \"obsidian.css\" בכספת ומחיל אותו.", "setting-community-themes": "נושאים קהילתיים", "msg-fetching-themes": "מביא נתונים של נושא הקהילה...", "prompt-filter": "לסנן...", "label-dark-theme-only": "נושאים אפלים בלבד", "label-light-theme-only": "ערכות נושא קלות בלבד", "label-use": "להשתמש", "label-stop-use": "הפסק להשתמש בערכת נושא זה", "label-install-and-use": "התקן והשתמש", "label-update": "עדכון", "label-no-readme": "ערכת נושא זה לא סיפקה קובץ README.", "tooltip-remove-theme": "הסר עיצוב", "label-visit-on-github": "בקר ב-GitHub", "msg-load-error": "לא ניתן לטעון ערכות נושא של הקהילה, אנא בדוק את הרשת שלך.", "msg-now-using-theme": "אתה משתמש כעת ב-{{title}} כנושא ה-CSS שלך.", "msg-deleted-theme": "הנושא {{title}} נמחק.", "msg-updated-theme": "הנושא {{title}} עודכן.", "label-installed": "מותקן", "label-legacy": "מורשת", "button-update-all-themes": "עדכן הכל", "msg-failed-load-themes": "טעינת ערכות הנושא של הקהילה נכשלה.", "msg-no-updates-found": "לא נמצאו עדכוני ערכות נושא.", "msg-updates-found": "נמצא ערכת נושא {{count}} לעדכון.", "msg-updates-found_plural": "נמצאו {{count}} ערכות נושא לעדכון.", "msg-failed-to-install-theme": "התקנת העיצוב \"{{name}}\" נכשלה.", "msg-successfully-installed-theme": "העיצוב \"{{name}}\" הותקן בהצלחה.", "msg-installing-theme": "מתקין את ערכת הנושא \"{{name}}\"...", "label-search-summary": "מציג {{themeCount}}:", "label-update-available": "עדכון זמין" }, "command-palette": { "name": "לוח פקודות", "desc": "הקלד פקודה כדי להפעיל אותה. אין צורך להשתמש בממשק המשתמש או לזכור את קיצור הדרך.", "action-open": "פתח את לוח הפקודות", "instruction-navigate": "לנווט", "instruction-use": "להשתמש", "instruction-dismiss": "לבטל", "label-no-commands": "לא נמצאו פקודות.", "prompt-type-command": "הקלד פקודה...", "label-pinned-commands": "פקודות מוצמדות", "option-add-new-pin": "פקודה מוצמדת חדשה", "option-add-new-pin-description": "פקודות מוצמדות יופיעו בראש כל הפקודות כאשר אין שאילתת חיפוש." }, "markdown-format-importer": { "name": "יבואן פורמט Markdown", "desc": "המרת Markdown מאפליקציות אחרות לפורמט Obsidian.", "action-open": "פתח את יבואן Markdown", "option-roam-tag-fixer": "מתקן תגיות Roam Research", "option-roam-tag-fixer-description": "ממיר את \"#tag\" ו-\"#[[tag]]\" ל-\"[[tag]]\".", "option-roam-highlight-fixer": "מתקן הדגשה של Roam Research", "option-roam-highlight-fixer-description": "ממיר \"^^highlight^^\" ל-\"==highlight==\".", "option-roam-todo-converter": "ממיר TODO של Roam Research", "option-roam-todo-converter-description": "ממיר את \"{{[[TODO]]}}\" ל-\"[ ]\".", "option-bear-highlight-fixer": "מתקן גולת הכותרת של דוב", "option-bear-highlight-fixer-description": "ממיר את \"::highlight::\" ל-\"==highlight==\".", "zettelkasten-link-fixer": "מתקן קישור Zettelkasten", "zettelkasten-link-fixer-description": "מתקן את קישורי \"[[UID]]\" ל\"[[שם קובץ UID]]\" המלא.", "zettelkasten-link-beautifier": "Zettelkasten link beautifier", "zettelkasten-link-beautifier-description": "מתקן קישורי \"[[UID]]\" וגם מייפה אותם \"[[שם קובץ UID|שם קובץ]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "אזהרה: היבואן ימיר את כל הקבצים בכספת שלך, לא רק את הקובץ הנוכחי.", "msg-override-files-warning": "הקבצים שלך יוחלפו. גבה את כל הקבצים שלך לפני ניסיון המרה.", "label-start-conversion": "התחל המרה", "label-stop": "תפסיק", "label-go-back": "תחזור", "label-done": "בוצע", "label-processing": "מעבד...", "label-cancelling": "מבטל...", "label-finished": "גמור!", "label-processed-files": "קבצים מעובדים", "label-modified-files": "קבצים ששונו", "label-total-replacements": "סך הכל תחליפים", "label-failed": "Failed" }, "daily-notes": { "name": "הערות יומיות", "desc": "פתח את הפתק היומי של היום, או צור אחד אם לא קיים.", "short-name": "היום", "action-open": "פתח את ההערה של היום", "action-open-previous": "פתח הערה יומית קודמת", "action-open-next": "פתח את הפתק היומי הבא", "action-insert-text": "הכנס טקסט להערה היומית", "action-insert-link": "הכנס קישור להערה היומית", "msg-fail-format": "יצירת הערה יומית נכשלה. \"{{format}}\" אינו פורמט חוקי.", "msg-fail-folder": "יצירת הערה יומית נכשלה. התיקייה \"{{folderOption}}\" לא נמצאה.", "msg-fail-template-file": "יצירת הערה יומית נכשלה. קובץ התבנית \"{{template}}\" לא נמצא.", "msg-no-previous": "אין הערה יומית לפני זה.", "msg-no-next": "אין הערה יומית אחרי זה.", "option-date-format": "פורמט תאריך", "label-refer-to-syntax": "לתחביר נוסף, עיין ב:", "label-syntax-link": "הפניה לפורמט", "label-syntax-live-preview": "הנה איך זה ייראה:", "option-new-file-location": "מיקום קובץ חדש", "option-new-file-location-description": "נתיב התיקייה ליצירת ההערה היומית החדשה.", "option-template": "מיקום קובץ התבנית", "option-template-description": "נתיב הקובץ לשימוש כתבנית.", "option-open-on-start": "הערה יומית פתוחה על ההפעלה", "option-open-on-start-description": "פתח את הפתק היומי שלך באופן אוטומטי בכל פעם שאתה פותח את הכספת הזו." }, "unique-note-creator": { "name": "יוצר פתק ייחודי", "desc": "צור הערות עם קידומות חותמת זמן ייחודיות, עבור זרימות עבודה כמו zettelkasten או slip box.", "short-name": "ייחודי", "action-create-note": "צור הערה ייחודית חדשה", "action-add-link": "Add unique internal link", "option-new-file-location": "מיקום קובץ חדש", "option-new-file-location-description": "נתיב התיקיה ליצירת ההערה הייחודית החדשה.", "msg-folder-not-found": "יצירת הערה ייחודית נכשלה. התיקייה \"{{folderOption}}\" לא נמצאה.", "option-template-file": "מיקום קובץ התבנית", "option-template-file-description": "נתיב הקובץ לשימוש כתבנית.", "option-template-file-placeholder": "דוגמה: תיקייה1/הערה", "option-id-format": "פורמט קידומת ייחודי", "msg-template-file-not-found": "יצירת הערה ייחודית נכשלה. קובץ התבנית \"{{template}}\" לא נמצא.", "msg-failed-to-generate": "יצירת הערה ייחודית בפורמט \"{{format}} נכשלה." }, "random-note": { "name": "הערה אקראית", "desc": "פותח הערה אקראית. שימושי לסקירה ולגילוי.", "short-name": "אקראי", "action-open": "פתח הערה אקראית" }, "outline": { "name": "מתווה", "desc": "מציג את קווי המתאר של הקובץ הנוכחי או החלונית המקושרת.", "action-open": "מתאר פתוח", "action-show": "הצג חלונית מתאר", "action-open-for-current": "פתח את קווי המתאר של הקובץ הנוכחי", "tab-title": "מתאר של {{displayText}}", "label-no-headings": "לא נמצאו כותרות.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "ספירת מילים", "desc": "הצג ספירת מילים בשורת המצב." }, "slides": { "name": "שקופיות", "desc": "הווה מ-Markdown. השתמש ב---- כדי להפריד בין שקופיות.", "action-start": "התחל את המצגת" }, "audio-recorder": { "name": "מקליט אודיו", "desc": "הקלט אודיו ושמור כקובץ מצורף.", "action-start": "התחל להקליט אודיו", "action-stop": "הפסק להקליט אודיו", "action-toggle": "התחל/הפסק הקלטה", "msg-access-denied": "הגישה למיקרופון נדחתה, אנא הפעל אותה מחלונית ההעדפות.", "msg-pending-grant": "אנא הענק הרשאה למיקרופון כדי להתחיל בהקלטה.", "msg-no-microphone": "אין מיקרופון מחובר." }, "open-with-default-app": { "name": "פתח באפליקציית ברירת המחדל", "desc": "כפתור הוסף כדי לפתוח את הקובץ הנוכחי באפליקציית ברירת המחדל.", "action-open-file": "פתח באפליקציית ברירת המחדל", "action-open-file-mobile": "לחלוק", "action-show-in-folder": "הצג בתיקייה", "action-show-in-folder-mac": "חשוף ב-Finder" }, "templates": { "name": "תבניות", "desc": "הוסף תוכן תבנית מתיקיה של קובצי תבנית.", "action-insert": "הכנס תבנית", "action-insert-current-date": "הכנס את התאריך הנוכחי", "action-insert-current-time": "הכנס את השעה הנוכחית", "option-template-folder-location": "מיקום תיקיית התבנית", "option-template-folder-location-description": "קבצים בתיקייה זו יהיו זמינים כתבניות.", "option-template-date-format": "פורמט תאריך", "option-template-date-format-description": "{{date}} בקובץ התבנית יוחלף בערך זה.", "option-template-date-format-description2": "אתה יכול גם להשתמש ב-{{date:YYYY-MM-DD}} כדי לעקוף את הפורמט פעם אחת.", "option-template-time-format": "פורמט זמן", "option-template-time-format-description": "{{time}} בקובץ התבנית יוחלף בערך זה.", "option-template-time-format-description2": "אתה יכול גם להשתמש ב-{{time:HH:mm}} כדי לעקוף את הפורמט פעם אחת.", "instruction-navigate": "לנווט", "instruction-insert": "כדי להכניס תבנית", "instruction-dismiss": "לבטל", "msg-no-templates-found": "לא נמצאו תבניות", "msg-fail-invalid-folder": "רישום התבניות נכשל. תיקיית התבנית אינה חוקית.", "msg-fail-folder-not-found": "רישום התבניות נכשל. התיקייה \"{{folderOption}}\" לא נמצאה.", "msg-fail-invalid-template-properties": "לא ניתן להכניס תבנית, לא ניתן היה לקרוא את המאפיינים בקובץ התבנית.", "msg-no-folder-set": "רישום התבניות נכשל. לא הוגדרה תיקיית תבנית.", "prompt-type-template": "הקלד שם של תבנית..." }, "translucency": { "name": "חלון שקוף", "desc": "הפעל את אפקט השקיפות כדי לשפר את תחושת העומק. עדיף להשתמש במצב כהה. לא נתמך בלינוקס." }, "slash-command": { "name": "פקודות סלאש", "desc": "אפשר את היכולת להפעיל פקודות לוכסן בעורך על ידי הקלדת הלוכסן קדימה." }, "editor-status": { "name": "סטטוס עורך", "desc": "מוסיף פריט בשורת המצב כדי להציג ולשנות את מצב העורך הנוכחי.", "read": "קריאה", "edit-source": "מצב מקור", "edit-live-preview": "תצוגה מקדימה חיה" }, "publish": { "name": "לפרסם", "desc": "פרסם את ההערות שלך דרך Obsidian Publish.", "action-publish-changes": "פרסם שינויים...", "action-publish-file": "Publish current file", "label-no-internet-access": "אתה צריך גישה לאינטרנט כדי לפרסם שינויים.", "label-publish-service-description": "Obsidian Publish הוא שירות תוסף בתשלום המאפשר לך לפרסם את ההערות שלך באופן מקוון ישירות מאובסידיאן.", "label-please-login": "כדי להתחיל לפרסם, התחבר או צור חשבון Obsidian חדש.", "label-no-publish-subscription": "עדיין אין לך מנוי Obsidian Publish.", "button-purchase": "לרכוש", "label-manage-sites": "ניהול אתרים", "label-no-sites": "אין לך אתרים.", "button-choose": "בחר", "tooltip-edit-site-id": "ערוך את מזהה האתר", "tooltip-delete-site": "מחק אתר", "label-delete-site-confirmation": "האם אתה בטוח שברצונך למחוק את האתר הזה?", "label-delete-site-details": "פעולה זו תמחק את האתר שלך באופן מיידי ולתמיד.", "label-confirm-delete-site": "אשר את מחיקת האתר \"{{site}}\"", "option-site-id": "מזהה אתר", "option-site-id-description": "האתר שלך יהיה ב-https://publish.obsidian.md/{site id}. תוכל לשנות זאת מאוחר יותר. רק אותיות קטנות, מספרים ומקפים מותרים.", "option-site-id-placeholder": "בחר מזהה אתר", "button-create": "ליצור", "msg-invalid-site-id": "מזהה אתר יכול להכיל רק אותיות קטנות, מספרים ומקפים.", "msg-site-id-in-use": "מזהה אתר זה נמצא בשימוש, אנא נסה אחד אחר.", "msg-create-site-issue": "זו הייתה בעיה בעת יצירת האתר שלך.", "label-site-options": "אפשרויות האתר", "option-site-general": "כללי", "option-site-components": "רכיבים", "option-site-appearance": "מראה חיצוני", "option-site-reading-experience": "חווית קריאה", "option-site-misc": "הגדרות אתר אחרות", "option-site-name": "שם אתר", "option-site-name-description": "שם האתר שפורסם. זה יופיע בכותרת העמוד של האתר שלך.", "option-site-name-placeholder": "שם האתר שלך", "option-home-page-file": "קובץ דף הבית", "option-home-page-file-description": "הדף הראשון שהמשתמש רואה כשהוא נוחת באתר שפורסם", "option-home-page-file-placeholder": "בחר קובץ שפורסם", "option-logo": "סמל", "option-logo-description": "בחר קובץ תמונה בתור לוגו האתר שלך.", "option-logo-placeholder": "כל תמונה שהועלתה בכספת שלך...", "option-site-collaboration": "שיתוף פעולה באתר", "option-site-collaboration-desc": "נהל שותפי עריכה עבור אתר זה.", "option-customize-navigation": "התאם אישית את הניווט", "option-customize-navigation-desc": "תעקוף את סדר פריטי הניווט והסתר דפים או תיקיות מלהציג.", "option-navigation-order": "סדר תצוגת פריט ניווט", "option-hide-items-in-navigation": "הסתר דפים או תיקיות מהניווט", "option-hide-items-in-navigation-desc": "לחץ לחיצה ימנית ובחר \"הסתר\" כדי למנוע דפים ספציפיים להופיע בניווט באתר. הדפים עדיין יהיו נגישים באמצעות קישורים או גישה ישירה לכתובת האתר.", "option-show-hidden-items": "הראה את המוסתר", "button-customize-sidebar": "לנהל", "label-navigation-modal-title": "ניווט", "label-navigation-modal-desc": "גרור ושחרר כדי להתאים אישית את הסדר שבו פריטי ניווט מופיעים באתר הפרסום שלך.", "option-hide-in-navigation": "הסתר בניווט", "button-manage-collaborators": "לנהל", "option-theme": "נושא", "option-theme-description": "בחר ערכת צבע ברירת מחדל עבור האתר שלך.", "option-theme-system": "התאימו למערכת", "option-show-theme-toggle": "החלפת בהיר/כהה", "option-show-theme-toggle-description": "תן למבקר לעבור בין נושא בהיר לחשוך בעצמו.", "option-show-navigation": "הראה ניווט", "option-show-navigation-description": "הצג רשימה של כל הדפים שפורסמו בצד ימין של האתר שפורסם.", "option-show-search": "הצג את שורת החיפוש", "option-show-search-description": "הצג סרגל חיפוש בראש הניווט המאפשר למבקרים לחפש דפים וכותרות באתר שלך.", "option-show-graph": "הצג תצוגת גרף", "option-show-graph-description": "הצג גרף מקומי קטן בכל עמוד.", "option-show-outline": "הצג את תוכן העניינים", "option-show-outline-description": "הצג את קווי המתאר של הכותרות בכל עמוד.", "option-show-backlinks": "הצג קישורים נכנסים", "option-show-backlinks-description": "הצג קטע קישורים נכנסים בסוף כל עמוד.", "option-sliding-window-mode": "השתמש בחלונות הזזה", "option-sliding-window-mode-description": "פתח דפים בחלוניות חדשות מימין. מאפשר גלילה אופקית בין חלוניות.", "option-hover-preview-file": "הצג תצוגה מקדימה של ריחוף", "option-hover-preview-file-description": "הצג תצוגה מקדימה של דף בעת ריחוף קישורים.", "option-hide-title": "הסתר את כותרת העמוד", "option-hide-title-description": "הסתר את כותרת הדף. שימושי כאשר יש לך כותרות משלך בתחילת כל עמוד.", "option-readable-line-length": "אורך שורה קריא", "option-readable-line-length-description": "הגבל את אורך הקו המרבי. מתאים פחות תוכן על המסך, אבל הופך פסקאות ארוכות לקריאות יותר.", "option-site-password": "סיסמאות", "option-site-password-description": "הגבל את הגישה לאתר שלך באמצעות סיסמאות.", "option-google-analytics": "קוד מעקב של Google Analytics", "option-google-analytics-description": "הגדר את Google Analytics עבור האתר שלך. זמין רק למבקרים מכתובת האתר של הדומיין המותאם אישית שלך. בדוק תחילה עם החוקים והתקנות המקומיים שלך.", "button-manage-passwords": "לנהל", "button-save-site-settings": "שמור את הגדרות האתר", "msg-updated-options": "אפשרויות מעודכנות עבור האתר שלך.", "button-go-back": "חזור", "label-publishing-to": "מפרסם ל", "tooltip-switch-site": "החלף אתר", "button-add-linked": "הוסף מקושר", "tooltip-add-linked": "הוסף את כל הקבצים המקושרים על ידי הפריטים שנבחרו כעת", "msg-added-linked-files": "{{count}} קובץ מקושר נוסף.", "msg-added-linked-files_plural": "{{count}} קבצים מקושרים נוספו.", "tooltip-open-site-options": "שנה אפשרויות אתר", "label-no-changes-detected": "לא זוהו שינויים.", "label-changed-files-to-be-published": "שינויים", "label-unchanged-files-already-published": "ללא שינוי (בחר למחוק)", "label-file-selected": "נבחר", "button-select-all-files": "בחר הכל", "label-custom-navigation-title": "פריטי ניווט", "button-deselect-all-files": "הסר סימון מהכל", "label-new-files-to-be-published": "חדש", "button-publish": "לפרסם", "msg-no-permission-to-publish-to-site": "אין לך הרשאה לפרסם באתר הנוכחי.", "msg-select-at-least-one-file": "אנא בחר קובץ אחד לפחות.", "label-upload-changes": "העלה שינויים", "button-done": "בוצע", "button-stop": "תפסיק", "label-status-uploading": "מעלה", "label-status-to-publish": "לפרסם", "label-status-to-delete": "למחוק", "label-status-published": "יצא לאור", "label-status-deleted": "נמחק", "label-status-failed": "נכשל", "label-status-cancelled": "מבוטל", "button-change": "שינוי", "label-clear-cache": "לוקח עד כמה דקות עד שהשינויים יופיעו באתר שלך. אם אינך רואה את השינויים האחרונים שלך, נסה לנקות את המטמון בדפדפן שלך.", "label-visit-site": "אתה יכול לבקר באתר שלך כאן:", "msg-something-went-wrong": "משהו השתבש. אנא בדוק את מסוף המפתחים לפרטים.", "msg-network-error": "אירעה שגיאת רשת.", "label-manage-passwords": "נהל סיסמאות", "label-add-password": "הוסף סיסמה", "action-new-password": "סיסמה חדשה", "label-no-password": "לאתר שלך אין כרגע סיסמאות. כל אחד יכול לבקר בו.", "label-have-password": "האתר שלך מוגן בסיסמה. אם יש לך מספר סיסמאות, מבקרים יכולים לגשת לאתר שלך על ידי הזנת כל אחת מהן.", "option-password-name": "סיסמה", "option-password-desc": "Hash של הסיסמה שלך יישמר בצורה מאובטחת. לאחר הגדרת הסיסמה, לא ניתן לחשוף אותה בטקסט פשוט.", "option-password-placeholder": "הסיסמה שלך", "option-nickname-name": "כינוי (אופציונלי)", "option-nickname-desc": "הגדר כינוי כדי להזכיר לעצמך למה או למי מיועדת הסיסמה.", "action-add-password": "הוסף את הסיסמה הזו", "label-untitled-password": "סיסמה ללא כותרת", "label-password-created-time": "נוצר {{time}}", "msg-added-new-password": "נוספה סיסמה חדשה.", "option-custom-domain": "תחום מותאם אישית", "option-custom-domain-desc": "השתמש בדומיין שלך במקום בכתובת האתר של https://publish.obsidian.md/{site id}.", "option-noindex": "לא לאפשר אינדקס למנועי חיפוש", "option-noindex-desc": "מנע ממנועי חיפוש להוסיף את האתר שלך לאינדקס.", "button-configure": "הגדר", "label-configure-custom-domain": "הגדר דומיין מותאם אישית", "option-custom-url-name": "כתובת אתר מותאם אישית", "option-custom-url-desc": "כתובת ה-URL שבה האתר שלך ימוקם.", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "הפנה מחדש לדומיין המותאם אישית שלך", "option-custom-url-redirect-desc": "הפנה מבקרים ב-publish.obsidian.md/id לדומיין המותאם אישית שלך.", "button-update-custom-domain": "עדכן את הגדרת הדומיין", "label-custom-domain-instructions": "אנא עיין ב-{{link}} שלנו באתר העזרה שלנו למידע נוסף.", "label-custom-domain-link-name": "מדריך להגדרת דומיין מותאם אישית", "label-site-usage": "אתה משתמש ב-{{site}} מתוך ה-{{limit}} שלך.", "button-add-more-sites": "קנה אתרים נוספים", "label-no-sites-bought": "לא קנית אף אתר.", "button-get-site": "קבל אתר", "label-manage-sharing": "נהל שיתוף עבור \"{{name}}\"", "label-sharing-with-users": "אתר זה משותף כעת עם האנשים הבאים.", "label-not-sharing": "אתר זה אינו משותף כעת עם אף אחד.", "label-invite-pending": "ממתין ל", "tooltip-remove-user": "הסר משתמש", "option-invite-user": "הזמן משתמש", "placeholder-invite-user": "הכנס את המייל שלהם...", "error-email-must-be-valid": "אנא הזן אימייל חוקי כדי להזמין מישהו.", "msg-enable-publish-plugin": "אנא הפעל את התוסף פרסם ליבה בהגדרות -> תוספים ליבה כדי להציג אתרים.", "label-your-sites": "האתרים שלך", "label-sites-shared-with-you": "אתרים ששותפו איתך", "tooltip-leave-site-sharing": "הפסק לשתף פעולה באתר זה", "label-leave-site-confirmation": "אשר להפסיק את שיתוף הפעולה באתר", "label-leave-site-confirmation-details": "פעולה זו תסיר את האתר הזה מרשימת האתרים ששותפו איתך. לא ניתן לבטל פעולה זו.", "label-leave-site-confirmation-details-2": "אנא צור קשר עם הבעלים של האתר אם ברצונך לשתף פעולה באתר זה שוב.", "button-leave": "לעזוב", "label-compare-with-live": "השווה לגרסה חיה", "button-use-live-version": "השתמש בגרסה חיה", "label-confirm-override": "אשר את עקיפת הגרסה המקומית", "label-confirm-override-1": "האם אתה בטוח שברצונך לעקוף את הגרסה המקומית?", "label-confirm-override-2": "הגרסה החיה תשמש והגרסה המקומית שלך תימחק. נא לבצע גיבויים במידת הצורך.", "button-proceed": "להמשיך", "message-successfully-used-live-version": "השתמשת בהצלחה בגרסה החיה כדי לעקוף את הגרסה המקומית שלך.", "label-open-in-live-site": "Open in live site", "label-open-file": "קובץ פתוח", "tooltip-manage-publish-filters": "נהל מסנני פרסום", "option-included-folders": "תיקיות כלולות", "option-included-folders-desc": "קבצים תחת תיקיות אלה ייבחרו אוטומטית כאשר תבדוק שינויים לפרסום.", "option-currently-included-folders": "התיקיות האלה כלולות כרגע:", "option-excluded-folders": "תיקיות שלא נכללו", "option-excluded-folders-desc": "קבצים מתחת לתיקיות אלה לא יופיעו כאשר תבדוק שינויים לפרסום. הגדרה זו מקבלת עדיפות על פני התיקיות הנכללות למעלה.", "label-number-of-folders-included": "Obsidian Publish כולל כעת את {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish אינו כולל כרגע את {{folders}}.", "label-manage-included-folders": "נהל תיקיות כלולות", "label-manage-excluded-folders": "נהל תיקיות שלא נכללות", "label-add-included-folder": "כלול תיקיה", "label-add-included-folder-desc": "אתה יכול לכלול גם תיקיות קיימות וגם תיקיות שעדיין לא נוצרו.", "tooltip-contact-support": "צור קשר עם תמיכה", "label-navigation-preview": "תצוגה מקדימה של ניווט" }, "workspaces": { "name": "חללי עבודה", "desc": "שמור וטען את פריסת סביבת העבודה.", "action-load-layout": "טען פריסת סביבת עבודה", "action-manage-layouts": "נהל פריסות סביבות עבודה", "action-save": "Save layout", "action-save-and-load-layout": "שמור וטען פריסה אחרת", "placeholder-save-current-layout-as": "שמור את פריסת סביבת העבודה הנוכחית כ...", "button-save": "להציל", "button-load": "לטעון", "tooltip-delete-layout": "מחק פריסה", "msg-enter-name": "נא להזין שם לפריסה החדשה.", "msg-save-layout-success": "פריסה נשמרה בהצלחה.", "label-no-layout-found": "לא נמצאה פריסה שמורה.", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "הקלד שם פריסה..." }, "sync": { "name": "סינכרון", "desc": "סנכרן את הקבצים שלך באמצעות Obsidian Sync.", "action-view-version-history": "הצג היסטוריית גרסאות", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "טען עוד", "label-show-diff": "הצג הבדל", "label-copy-to-clipboard": "העתק ללוח", "label-restore-this-version": "שחזר גרסה זו", "msg-already-latest-version": "גרסה זו היא כבר הגרסה האחרונה.", "msg-restored-version": "שוחזרה בהצלחה גרסה מ-{{time}}", "label-file-deleted": "קובץ זה נמחק", "label-file-deleted-via": "נמחק דרך {{ device }}", "label-file-renamed-from": "שם הקובץ הזה שונה מ-\"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "גרסה 1", "label-revision_plural": "{{revisions}} גרסאות", "label-via-device": "דרך {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "ריק", "label-unable-to-retrieve": "לא ניתן לאחזר היסטוריית גרסאות", "label-setting-files": "הגדרת קבצים", "label-deleted-files": "קבצים שנמחקו", "label-version-history": "היסטוריית גרסאות", "label-click-to-see-history": "לחץ על קובץ שנמחק כדי לראות את ההיסטוריה שלו.", "label-create-remote-vault": "צור כספת מרחוק", "msg-please-enter-password": "הכנס סיסמא בבקשה.", "msg-vault-name-cannot-be-empty": "שם הכספת לא יכול להיות ריק.", "msg-successfully-created-vault": "צור בהצלחה כספת מרוחקת \"{{name}}\".", "label-remote-vault-explanation": "כספות מרוחקות מסנכרנות בצורה מאובטחת את הכספת שלך בין מכשירים.", "option-vault-name": "שם הכספת", "option-vault-name-desc": "עוזר לך לזכור למה מיועד הכספת הזו.", "option-vault-region": "אזור", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "בחר את אזור השרת הקרוב אליך כדי לאחסן את הכספת המרוחקת. לא ניתן לשנות זאת בעתיד.", "option-vault-name-placeholder": "הכספת המדהימה שלי", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "סיסמת הצפנה", "option-encryption-password-desc": "לא ניתן לשנות סיסמה זו מאוחר יותר.", "option-encryption-password-desc-warning": "אם תשכח את הסיסמה הזו, כל מידע מרחוק יישאר בלתי שמיש לנצח.", "option-encryption-password-desc-2": "זה לא משפיע על הנתונים המקומיים שלך.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "הסיסמה שלך", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "פתח את נעילת הכספת", "label-remote-vaults": "הכספות המרוחקות שלך", "label-vault-created-time": "נוצר {{time}}", "tooltip-delete-remote-vault": "למחוק", "tooltip-rename-remote-vault": "שנה שם", "label-rename-remote-vault": "שנה את שם הכספת המרוחקת \"{{name}}\"", "label-rename-remote-vault-desc": "הזן שם חדש לכספת מרחוק זו.", "tooltip-manage-sharing": "נהל שיתוף", "label-confirm-delete-remote-vault": "אשר את מחיקת הכספת", "label-confirm-delete-remote-vault-question": "האם אתה בטוח שברצונך למחוק את הכספת המרוחקת הזו?", "label-confirm-delete-remote-vault-result": "כל הנתונים בשרת שלנו, כולל היסטוריית הגרסאות, יימחקו. הקבצים המקומיים שלך יישארו שלמים.", "label-confirm-delete-remote-vault-warning": "פעולה זו היא קבועה ובלתי הפיכה.", "msg-remote-vault-deleted": "{{name}} נמחק.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "לחבר", "button-disconnect-from-remote-vault": "לנתק", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "אין לך כספות מרוחקות.", "label-no-subscription": "אין לך מנוי פעיל של Obsidian Sync.", "label-please-visit": "בבקשה תבקר", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "צור כספת חדשה", "label-sync-log": "יומן סנכרון", "option-event-type-all": "את כל", "option-event-type-errors": "שגיאות", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "מיזוג קונפליקטים", "button-copy-sync-log": "העתק את יומן הסנכרון", "msg-successfully-copied-sync-log": "יומן הסנכרון הועתק בהצלחה.", "button-retry": "נסה שוב", "button-purchase-subscription": "לרכוש", "label-third-party-sync-warning": "זוהה שירות סנכרון קבצים מתנגש", "label-third-party-sync-warning-desc": "אזהרה: נראה שהכספת שלך משתמשת ב-{{service}} כשירות סנכרון של צד שלישי. אם אתה משתמש ב- Obsidian Sync עם כספת זו, אתה עלול להיתקל בהתנגשויות, פגמים בקבצים או אובדן נתונים.", "label-icloud-drive-warning": "אם אתה משתמש ב-iCloud Drive, ייתכן שתיקיות המסמכים והתיקיות שלך שולחן העבודה מסונכרנות על ידי iCloud. זה עלול לגרום להתנגשויות עם Obsidian Sync.", "option-remote-vault": "כספת מרחוק", "button-choose-remote-vault": "בחר", "button-manage-remote-vault": "לנהל", "option-remote-vault-desc-connected": "מחובר כעת לכספת המרוחקת \"{{name}}\".", "option-remote-vault-desc-not-connected": "כרגע לא מחובר לאף כספת מרחוק.", "option-sync-status": "סטטוס סנכרון", "option-sync-status-desc-paused": "סנכרון Obsidian מושהה כעת.", "option-sync-status-desc-running": "Obsidian Sync פועל כעת.", "option-device-name": "שם התקן", "option-device-name-desc": "שם זה יוצג ביומן הסנכרון. השאר ריק כדי להשתמש בשם ברירת המחדל.", "button-resume": "קורות חיים", "button-pause": "הפסקה", "option-view-deleted-files": "קבצים שנמחקו", "option-view-deleted-files-desc": "הצג ושחזר קבצים שנמחקו.", "option-sync-log": "פעילות סנכרון", "option-sync-log-desc": "הצג פעילויות סנכרון אחרונות לצורך ניפוי באגים.", "button-view": "תצוגה", "button-bulk-restore": "שחזור בכמות גדולה", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "משחזר...", "msg-restoring-complete": "'השחזור הושלם: {{succeeded}} הצליח ו-{{failed}} נכשל.'", "option-vault-size": "גודל כספת", "option-vault-size-desc": "אתה משתמש ב-{{size}} מתוך {{limit}}", "option-vault-size-unknown": "לא ניתן לאחזר את גודל הכספת שלך.", "option-vault-size-loading": "מאחזר את גודל הכספת שלך...", "option-over-size": "גודל הכספת מעל המגבלה", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "הצג את הקבצים הגדולים ביותר", "msg-largest-files-desc": "אלו הם הקבצים המרוחקים שגוזלים הכי הרבה מקום. לאחר מחיקת קבצים מצורפים, השתמש בלחצן הטיהור כדי לפנות מקום בכספת מרחוק.", "button-upgrade-storage": "שדרג את האחסון", "button-purge-remote": "לטהר", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "נקה לצמיתות קבצים מצורפים שנמחקו מהכספת המרוחקת כדי לחסוך במקום.", "msg-purge-complete": "הטיהור הושלם.", "option-prevent-sleep": "מניעת שינה של המכשיר", "option-prevent-sleep-desc": "מונע מהמכשיר לעבור למצב שינה כאשר עדיין יש קבצים לסנכרון.", "option-selective-sync": "סנכרון סלקטיבי", "option-excluded-folders": "תיקיות שלא נכללו", "option-excluded-folder-desc": "מנע סנכרון של תיקיות מסוימות.", "option-currently-excluded-folders": "התיקיות האלה לא נכללות כרגע:", "button-manage-excluded-folders": "לנהל", "option-sync-image": "סנכרון תמונות", "option-sync-image-desc": "סנכרן קובצי תמונה עם הרחבות אלה: {{extensions}}.", "option-sync-audio": "סנכרן אודיו", "option-sync-audio-desc": "סנכרן קובצי שמע עם הרחבות אלה: {{extensions}}.", "option-sync-video": "סנכרן סרטונים", "option-sync-video-desc": "סנכרן קובצי וידאו עם הרחבות אלה: {{extensions}}.", "option-sync-pdf": "סנכרן קובצי PDF", "option-sync-pdf-desc": "סנכרון קבצי PDF.", "option-sync-unsupported": "סנכרן את כל שאר הסוגים", "option-sync-unsupported-desc": "סנכרן סוגי קבצים שאינם נתמכים.", "option-vault-config-sync": "סנכרון תצורת הכספת", "option-view-config-files": "היסטוריית גרסאות הגדרות", "option-view-config-files-desc": "הצג ושחזור היסטוריית גרסאות של קבצי הגדרות.", "option-sync-app": "הגדרות ראשיות", "option-sync-app-desc": "אפשר לסנכרן הגדרות עורך, הגדרות קבצים וקישורים, מקשי קיצור מותאמים אישית וכו'.", "option-sync-appearance": "הגדרות מראה", "option-sync-appearance-desc": "סנכרן הגדרות מראה כמו מצב כהה, ערכת נושא פעילה וקטעי טקסט מופעלים.", "option-sync-appearance-data": "ערכות נושא וקטעים", "option-sync-appearance-data-desc": "סנכרון ערכות נושא וקטעים שהורדו. אם הם מופעלים תלוי בהגדרה הקודמת.", "option-sync-hotkey": "מקשי קיצור", "option-sync-hotkey-desc": "סנכרון מקשי קיצור מותאמים אישית.", "option-sync-core-plugin": "רשימת תוספים ליבה פעילה", "option-sync-core-plugin-desc": "סנכרן אילו תוספים הליבה מופעלים.", "option-sync-core-plugin-data": "הגדרות ליבה של תוסף", "option-sync-core-plugin-data-desc": "סנכרון הגדרות תוסף ליבה.", "option-sync-community-plugin": "רשימת תוספי קהילה פעילה", "option-sync-community-plugin-desc": "סנכרן אילו תוספים קהילתיים מופעלים.", "option-sync-community-plugin-data": "התקנת תוספי קהילה", "option-sync-community-plugin-data-desc": "סנכרן תוספים קהילתיים מותקנים (.js, .css וקובצי manifest.json) וההגדרות שלהם.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync הוא שירות הסנכרון התוסף של Obsidian עם הצפנה מקצה לקצה והיסטוריית גרסאות.", "label-account-required": "כדי להתחיל לסנכרן, התחבר או צור חשבון Obsidian חדש.", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "הירשם", "button-log-in": "התחברות", "label-manage-excluded-folders": "נהל תיקיות שלא נכללות", "label-number-of-folders-excluded": "{{folders}} אינם נכללים כעת מסנכרון.", "label-add-excluded-folder": "אל תכלול תיקיה", "label-add-excluded-folder-desc": "אתה יכול להוציא גם תיקיות קיימות וגם תיקיות שעדיין לא נוצרו.", "tooltip-remove-excluded-folder": "הסר מרשימת החרגות", "label-setup-connection": "הגדר חיבור", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "אתה מחובר כעת אל \"{{name}}\".", "button-start-syncing": "התחל לסנכרן", "label-confirm-merge-vault": "אשר את מיזוג הכספת", "msg-vault-has-notes": "הכספת המקומית שלך כבר מכילה כמה הערות.", "msg-vault-merge-warning": "אם תתחבר לכספת המרוחקת \"{{name}}\", הערות בכספת המקומית שלך ימוזגו עם הערות מהכספת המרוחקת שלך. במקרה של התנגשויות, הגרסה העדכנית ביותר של ההערה תישמר.", "tooltip-update-setting-on-all-devices": "אנא עדכן אפשרות זו והפעל מחדש את האפליקציה בכל המכשירים שבהם אתה רוצה שהיא תיכנס לתוקף.", "label-sharing-with-users": "כספת מרחוק זו משותפת כעת עם האנשים הבאים.", "label-not-sharing": "כספת מרחוק זו אינה משותפת כעת עם אף אחד.", "label-vaults-shared-with-you": "כספות שותפו איתך", "tooltip-leave-vault-sharing": "תפסיק לשתף פעולה בכספת הזו", "label-leave-vault-confirmation": "אשר עצירת שיתוף הפעולה בכספת", "label-leave-vault-confirmation-details": "פעולה זו תסיר את הכספת הזו מרשימת הכספות ששותפו איתך. לא ניתן לבטל פעולה זו.", "label-leave-vault-confirmation-details-2": "אנא צור קשר עם הבעלים של הכספת אם ברצונך לשתף פעולה שוב בכספת זו.", "button-leave": "לעזוב", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "אתה צריך מנוי Obsidian Sync כדי להתחבר לכספת הזו.", "option-contact-support": "צור קשר עם תמיכה", "option-contact-support-desc": "אם אתה נתקל בבעיות כלשהן עם Obsidian Sync, אנא צור איתנו קשר כדי שנוכל לעזור לך! אתה יכול להגיע אלינו בכתובת support@obsidian.md.", "button-copy-debug": "העתק מידע על ניפוי באגים", "button-email-support": "תמיכת דוא\"ל", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Sync מאפשר לך ליצור עד 5 כספות מרוחקות. על מנת ליצור כספת מרחוק חדשה, אנא הסר כספת קיימת.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "שחזור קובץ", "desc": "מאפשר לך לשחזר את התמונות האחרונות כדי להתאושש מאובדן נתונים בשוגג. תמונות מצב נשמרות רק עבור קובצי Markdown.", "action-open": "פתח תמונות שמורות", "option-interval": "מרווח תמונת מצב", "option-interval-description": "מרווח מינימלי בדקות בין שתי תמונות.", "option-keep": "אורך היסטוריה", "option-keep-description": "אורך בימים, תמונות מצב נשמרות למשך.", "option-open-history": "תצלומים", "option-open-history-description": "הצג ושחזר צילומי מצב שמורים.", "button-view-history": "View", "option-clear": "נקה היסטוריה", "option-clear-description": "מחק את כל התמונות.", "button-clear-history": "ברור", "label-clear-warning": "האם אתה בטוח שברצונך למחוק את כל התמונות? שימו לב שרק צילומי מצב יוסרו. כל הקבצים בתוך הכספת שלך לא יושפעו.", "msg-clear-complete": "צילומי מצב נוקו.", "label-no-history-found": "לא נמצאו צילומי מצב.", "placeholder-choose-file": "בחר קובץ...", "label-select-file": "אנא בחר קובץ בצד שמאל כדי לצפות בתמונות." }, "note-composer": { "name": "מחבר הערות", "desc": "מיזוג, פיצול ושינוי הערות.", "option-confirm-file-merge": "אשר את מיזוג הקבצים", "option-confirm-file-merge-description": "הנח לפני מיזוג שני קבצים.", "option-split-replacement-text": "טקסט לאחר חילוץ", "option-split-replacement-text-description": "מה להציג במקום הטקסט שנבחר לאחר חילוץו.", "option-choice-split-replacement-text-link": "קישור לקובץ חדש", "option-choice-split-replacement-text-embed": "הטמע קובץ חדש", "option-choice-split-replacement-text-none": "אף אחד", "option-template-file": "מיקום קובץ התבנית", "option-template-file-description": "קובץ תבנית לשימוש בעת מיזוג או חילוץ. משתנים זמינים: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, למשל {{date:YYYY-MM-DD}}.", "command-merge-file": "מיזוג קובץ נוכחי עם קובץ אחר...", "action-merge-file": "מיזוג הקובץ כולו עם...", "label-no-files": "לא נמצאו קבצים.", "instruction-navigate": "לנווט", "instruction-merge": "למזג", "instruction-create-new": "ליצור חדש", "instruction-merge-at-top": "להתמזג למעלה", "instruction-dismiss": "לבטל", "prompt-select-file-to-merge": "בחר קובץ למיזוג לתוך...", "label-merge-file": "מיזוג קובץ", "label-confirm-file-merge": "האם אתה בטוח שברצונך למזג את \"{{file}}\" לתוך \"{{destination}}\"? \"{{file}}\" יימחק.", "button-merge": "למזג", "command-split-file": "חלץ את הבחירה הנוכחית...", "command-extract-heading": "חלץ את הכותרת הזו...", "instruction-append": "כדי לעבור למטה", "instruction-prepend": "לעבור למעלה", "msg-fail-to-fetch-template": "אחזור קובץ התבנית נכשל: \"{{template}}\" לא נמצא.", "msg-fail-to-find-heading": "לא הצליח למצוא את הכותרת" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "קנבס", "desc": "סדר וחבר הערות על קנבס אינסופי.", "action-add-note": "הוסף פתק מהכספת", "action-add-media": "הוסף מדיה מהכספת", "action-add-card": "הוסף כרטיס", "action-add-website": "הוסף דף אינטרנט", "action-create-group": "צור קבוצה", "action-create-with-size": "צור כרטיס בגודל מסוים", "action-convert-to-file": "המר לקובץ...", "action-drag-to-add-note": "גרור כדי להוסיף הערה מהכספת", "action-drag-to-add-media": "גרור כדי להוסיף מדיה מהכספת", "action-drag-to-add-card": "גרור כדי להוסיף כרטיס", "action-edit-label": "ערוך תווית", "action-remove-label": "הסר תווית", "action-search-file": "חפש קובץ", "action-set-color": "הגדר צבע", "action-align": "יישר", "action-align-left": "ישר לשמאל", "action-align-center": "יישר למרכז", "action-align-right": "יישר לימין", "action-align-top": "יישר למעלה", "action-align-middle": "יישר למרכז", "action-align-bottom": "יישר למטה", "action-distribute-horizontal-spacing": "חלק מרווחים אופקיים", "action-distribute-vertical-spacing": "חלק מרווחים אנכיים", "action-justify-horizontally": "יישור אופקית", "action-justify-vertically": "יישור אנכית", "action-arrange-horizontally": "סידור בשורה", "action-arrange-vertically": "סידור בטור", "action-arrange-grid": "סידור ברשת", "action-export-png": "ייצא כתמונה", "action-jump-to-group": "קפוץ לקבוצה", "action-set-background": "הגדר רקע", "action-edit-background": "ערוך רקע", "action-replace-background": "החלף רקע", "action-remove-background": "הסר רקע", "label-no-images": "לא נמצאו תמונות.", "label-no-media": "No media found.", "label-export-png-desc": "ייצא את \"{{title}}\" עם קובץ PNG עם ההגדרות למטה.", "label-export-png-dimensions": "מידות תמונה משוערות: {{dimensions}}", "label-distribute": "להפיץ", "label-justify": "ליישר", "label-arrange": "לארגן", "label-always": "תמיד", "label-hover": "בזמן ריחוף", "label-never": "לעולם לא", "label-no-section-found": "לא נמצא קטע", "option-wheel-behavior": "התנהגות ברירת המחדל של גלגל העכבר", "option-mod-drag-behavior": "התנהגות ברירת המחדל של {{key}}", "option-show-menu": "הראה תפריט", "option-new-canvas-location": "מיקום ברירת מחדל עבור קבצי קנבס חדשים", "option-new-canvas-location-description": "היכן ממוקמים קבצי קנבס שנוצרו לאחרונה.", "option-new-canvas-folder-path": "תיקיה ליצירת קבצי קנבס חדשים", "option-new-canvas-folder-path-description": "קבצי בד שנוצרו לאחרונה יופיעו מתחת לתיקיה זו.", "option-node-label": "תווית כרטיס תצוגה", "option-snap-to-grid": "הצמד לרשת", "option-snap-to-grid-desc": "הצמד כרטיסים לרשת הרקע בעת הזזה ושינוי גודל.", "option-snap-to-objects": "הצמד לאוביקטים", "option-snap-to-objects-desc": "הצמד כרטיסים לאובייקטים קרובים בעת הזזה ושינוי גודל.", "option-zoom-breakpoint": "סף זום להסתרת תוכן כרטיס", "option-zoom-breakpoint-desc": "ערכים נמוכים יותר יגדילו את הביצועים אך יסתירו את תוכן הכרטיס מוקדם יותר בעת התרחקות.", "option-export-png-show-logo": "הצג לוגו", "option-export-png-show-logo-desc": "זה יוסיף לוגו של Obsidian בפינה השמאלית התחתונה.", "option-export-png-privacy-mode": "מצב פרטיות", "option-export-png-privacy-mode-desc": "זה יסתיר כל טקסט על הקנבס שלך.", "option-export-png-zoom": "זום", "option-export-png-zoom-desc": "זום גבוה יותר יפיק תמונה ברזולוציה גבוהה יותר.", "option-export-png-frame": "Viewport", "option-export-png-frame-desc": "בחר לעבד את כל הקנבס או רק את יציאת התצוגה הגלויה הנוכחית.", "option-export-png-frame-full": "קנבס מלא", "option-export-png-frame-viewport": "נקודת מבט בלבד", "option-background-cover": "כיסוי", "option-background-ratio": "שמור על יחס רוחב-גובה", "option-background-repeat": "חזור", "action-new-canvas": "קנבס חדש", "action-remove": "להסיר", "action-narrow-heading": "צר לכותרת...", "action-narrow-block": "צר לחסום...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "החלפת קובץ...", "action-change-url": "שנה כתובת URL...", "action-zoom-to-fit": "זום כדי להתאים", "action-zoom-to-selection": "זום לבחירה", "action-reload-page": "טען מחדש את הדף", "action-follow-connection": "עקוב אחר החיבור", "command-create-new-canvas": "צור קנבס חדש", "command-convert-to-file": "המר לקובץ...", "instruction-narrow-heading": "להטביע כותרת", "instruction-narrow-block": "להטביע בלוק", "instruction-jump-to-group": "כדי לנווט לקבוצה", "prompt-to-narrow": "הקלד את שם הכותרת", "label-enter-url": "הזן כתובת אתר", "label-empty-embed": "\"{{linktext}}\" לא נמצא.", "prompt-add-text": "הוסף טקסט...", "prompt-start-search": "הקלד לחיפוש...", "label-canvas-help": "עזרה על קנבס", "label-canvas-settings": "הגדרות קנבס", "label-no-narrow": "הצג את כל הקובץ", "label-show-default-view": "Show default view", "label-readonly": "לקריאה בלבד", "label-disable-readonly": "השבת קריאה בלבד", "label-pan": "מחבת", "label-pan-horizontal": "פנו אופקית", "label-zoom": "זום", "label-select-all": "בחר הכל", "label-add-remove-selection": "הוסף/הסר מהבחירה", "label-clone-card": "כרטיס שיבוט", "label-constrain-movement-axis": "הגבל את תנועת הכרטיס לציר", "label-disable-drag-snapping": "השבת את ההצמדה בזמן גרירה", "label-remove-card": "הסר את הכרטיס", "label-drag-from-below": "גרור מלמטה או לחץ פעמיים", "label-longpress": "גע והחזק כדי להוסיף / להעביר / לבחור", "label-drag-pan": "גרור כדי להזיז", "label-pinch-zoom": "צביטה כדי להתקרב", "label-space-drag-pan": "רווח + גרור כדי להזיז", "label-scroll-to-zoom": "גלול להגדלה", "label-untitled-group": "קבוצה ללא שם", "label-line-direction": "כיוון קו", "label-nondirectional": "לא כיווני", "label-unidirectional": "חד כווני", "label-bidirectional": "דו - כיווני", "label-image": "תמונה", "label-style": "סגנון", "msg-no-groups-found": "לא נמצאו קבוצות", "msg-export-failed-empty-canvas": "לא ניתן לייצא קנבס ריק", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "הדגש הכל", "action-match-diacritics": "התאם דיאקריטים", "action-whole-words": "מילים שלמות", "action-show-thumbnails": "תמונות ממוזערות", "action-show-outline": "תוכן העניינים", "action-reveal-in-outline": "חשוף עמוד בתוכן העניינים", "action-toggle-sidebar": "החלף את סרגל הצד", "action-previous-page": "עמוד קודם", "action-next-page": "עמוד הבא", "action-fit-width": "התאמה לרוחב", "action-fit-height": "התאמה לגובה", "action-save-p-d-f-location": "שמור את המיקום הנוכחי במסמך", "action-copy-annotation": "העתק את ההערה", "action-copy-quote": "העתק בתור ציטוט", "action-copy-selection-link": "העתק קישור לבחירה", "action-copy-annot-link": "העתק קישור להערה", "action-copy-section-link": "העתק קישור למדור", "action-copy-section-link-title": "העתק קישור אל \"{{title}}\"", "action-copy-page-link": "העתק קישור לדף {{page}}", "msg-max-search-results": "{{current}} מתוך יותר מ-{{limit}} התאמות", "msg-search-count": "{{current}} מתוך {{total}} התאמה", "msg-search-count_plural": "{{current}} מתוך {{total}} התאמות", "msg-password-protected": "PDF זה מוגן בסיסמה", "msg-invalid-password": "סיסמה שגויה", "msg-enter-password": "הזן את הסיסמה למטה", "label-of-pages": "מתוך {{count}}", "label-page-of-pages": "({{current}} מתוך {{count}})", "label-spread-single": "עמוד יחיד", "label-spread-odd": "שני עמודים (מוזר)", "label-spread-even": "שני עמודים (אפילו)", "tooltip-sidebar-options": "אפשרויות סרגל צד", "tooltip-display-options": "אפשרויות תצוגה", "label-adapt-to-theme": "התאימו לנושא", "label-page": "עמוד {{page}}", "page_landmark": "עמוד {{page}}", "thumb_page_title": "עמוד {{page}}", "thumb_page_canvas": "עמוד {{page}}", "text_annotation_type": "[{{type}} הערה]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "רשימה", "option-unknown": "לא ידוע", "option-text": "טקסט", "option-aliases": "כינויים", "option-tags": "תגים", "option-folder": "Folder", "option-file": "File", "option-date": "תאריך", "option-datetime": "תאריך שעה", "option-number": "מספר", "option-checkbox": "תיבת סימון" }, "value-suggestion": { "key-link-note": "הקלד [[", "instruction-link-note": "לקישור הערה", "instruction-dismiss": "לבטל" }, "option-property-type": "סוג מאפיין", "msg-empty-property-name": "שם המאפיין לא יכול להיות ריק.", "msg-duplicate-property-name": "המאפיין כבר קיים", "msg-invalid-tag": "שם תג לא חוקי", "msg-invalid-number": "מספר לא תקין", "msg-invalid-properties": "קריאת המאפיינים נכשלה.", "label-no-value": "אין ערך", "label-heading": "מאפיינים", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "שגיאת תחביר. עניין החזית שלך לא חוקי.", "label-add-property-button": "הוסף מאפיין", "label-type-mismatch-warning": "אי התאמה של סוג, צפוי {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "עמודה", "label-row": "שורה", "action-row-after": "הוסף שורה אחרי", "action-column-after": "הוסף עמודה אחרי", "action-row-before": "הוסף שורה לפני", "action-row-up": "הזז שורה למעלה", "action-row-down": "הזז שורה למטה", "action-column-before": "הוסף עמודה לפני", "action-column-left": "הזז את העמודה שמאלה", "action-column-right": "הזז את העמודה ימינה", "action-duplicate-row": "שכפל שורה", "action-duplicate-column": "שכפל עמודה", "action-delete-row": "מחק שורה", "action-delete-column": "מחק עמודה", "action-align-left": "יישור לשמאל", "action-align-center": "יישור למרכז", "action-align-right": "יישור לימין", "action-delete-selection": "מחק תאים", "action-clear-selection": "נקה תאים", "action-sort-a-z": "מיין לפי עמודה (א' עד ת')", "action-sort-z-a": "מיין לפי עמודה (ת' עד א')", "label-command": "טבלה: {{command}}" }, "callout": { "option-type": "סוג הסבר", "type": { "info": "מידע", "important": "חשוב", "tip": "עצה", "success": "הצלחה", "question": "שאלה", "warning": "אזהרה", "quote": "ציטוט", "example": "דוגמא", "none": "None" }, "option-other": "אחר...", "option-other-placeholder": "סוג הסבר..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} מילה", "word-with-count_plural": "{{count}} מילים", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "תו {{count}}", "character-with-count_plural": "{{count}} תווים", "link-with-count": "קישור {{count}}", "link-with-count_plural": "{{count}} קישורים", "file-with-count": "קובץ {{count}}", "file-with-count_plural": "קובץ {{count}}", "folder-with-count": "התיקייה {{count}}", "folder-with-count_plural": "{{count}} תיקיות", "backlink-with-count": "{{count}} קישור נכנס", "backlink-with-count_plural": "{{count}} קישורים נכנסים", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "מאפיין {{count}}", "properties-with-count_plural": "{{count}} מאפיינים", "site-with-count": "אתר {{count}}", "site-with-count_plural": "{{count}} אתרים", "plugin-with-count": "תוסף {{count}}", "plugin-with-count_plural": "{{count}} תוספים", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "נושא {{count}}", "theme-with-count_plural": "{{count}} ערכות נושא" } }{ "setting": { "options": "Beállítások", "plugin": "Bővítmény", "builtin-plugins": "Alap bővítmények", "plugin-options": "Bővítmény beállítások", "folder-path-example-placeholder": "Példa: mappa 1/mappa 2", "file-path-example-placeholder": "Példa: mappa/jegyzet", "msg-restart-required": "Ezen beállítás érvényesítéséhez újraindítás szükséges.", "editor": { "name": "Szerkesztő", "section-behavior": "Viselkedés", "section-display": "Megjelenítés", "option-spellcheck": "Helyesírás-ellenőrzés", "option-spellcheck-description": "Engedélyezi a helyesírás-ellenőrzést. Jelenleg csak angol (US) nyelvvel működik.", "spellcheck-languages": "Helyesírás-ellenőrzés nyelvei", "spellcheck-languages-description": "Válassza ki a helyesírás-ellenőrző nyelveit.", "spellcheck-languages-mac-description": "A natív helyesírás-ellenőrző automatikusan felismeri a használt nyelvet a macOS rendszeren.", "spellcheck-dict": "Helyesírás-ellenőrzés szótára", "spellcheck-dict-empty": "A helyesírás-ellenőrző szótár üres.", "option-show-inline-title": "Címsor megjelenítése", "option-show-inline-title-description": "Megjeleníti a fájlnevet mint szerkeszthető címsort a fájl tartalma mellett.", "option-readable-line-length": "Olvasható sorhossz", "option-readable-line-description": "A maximális sorhossz korlátozása. Így kevesebb tartalom fér el a képernyőn, de a hosszú bekezdések olvashatóbbá válnak.", "option-strict-line-break": "Szigorú sortörés", "option-strict-line-break-description": "Az előnézeti módban figyelmen kívül hagyja az egyetlen sortöréseket a Markdown specifikációk szerint. Kapcsolja ki az egyetlen sortörések megjelenítéséhez az előnézetben.", "option-properties-in-document": "Tulajdonságok a dokumentumban", "option-properties-in-document-description": "Válassza ki, hogyan jelenjenek meg a tulajdonságok a szerkesztőben. Válassza a \"Forrás\"-t a tulajdonságok YAML-ban való megjelenítéséhez.", "option-properties-hidden": "Rejtett", "option-properties-visible": "Látható", "option-properties-source": "Forrás", "option-auto-pair-brackets": "Zárójelek automatikus párosítása", "option-auto-pair-brackets-description": "Zárójelek és idézőjelek automatikus párosítása.", "option-auto-pair-markdown": "Markdown szintaxis automatikus párosítása", "option-auto-pair-markdown-description": "Szimbólumok automatikus párosítása félkövér, dőlt, kiemelt, áthúzott és kódszövegek esetén.", "option-smart-indent-lists": "Okos behúzás listáknál", "option-smart-indent-lists-description": "Automatikusan gondoskodik a behúzásról és a lista jelölőjéről.", "option-fold-heading": "Cím behajtása", "option-fold-heading-description": "Lehetővé teszi minden behajtását egy cím alatt.", "option-fold-indent": "Behúzás behajtása", "option-fold-indent-description": "Lehetővé teszi azonos behúzású részek, például listák, behajtogatását.", "option-default-new-tab-view": "Új lapok alapértelmezett nézete", "option-default-new-tab-view-description": "Az alapértelmezett nézet, amelyben az új Markdown lap megnyílik.", "option-default-new-tab-view-editing": "Szerkesztési nézet", "option-default-new-tab-view-reading": "Olvasási nézet", "option-open-tab-in-foreground": "Az új lapot mindig előtérbe helyezi", "option-open-tab-in-foreground-description": "Amikor új lapot nyit meg egy linkkel, azonnal előtérbe helyezi azt.", "option-default-editing-mode": "Alapértelmezett szerkesztési mód", "option-default-editing-mode-description": "Az alapértelmezett szerkesztési mód új panelek indításakor.", "option-default-editing-mode-source": "Forrás mód", "option-default-editing-mode-live-preview": "Élő előnézet", "option-show-line-number": "Sorszám megjelenítése", "option-show-line-number-description": "A sorszám megjelenítése a margóban.", "option-indentation-guide": "Behúzások megjelenítése", "option-indentation-guide-description": "Függőleges vonalak megjelenítése a felsorolások közötti kapcsolatok jelzésére.", "option-use-tabs": "Tabulátorok használata", "option-use-tabs-description": "Tabulátorok használata a \"Tab\" billentyű lenyomásakor a behúzáshoz. Kapcsolja ki az egyszerű szóköz használatához.", "option-tab-size": "Tabulátor mérete", "option-tab-size-description": "A tabulátorral egyenértékű szóközök száma.", "option-rtl": "Jobbról-balra (RTL)", "option-rtl-description": "A jegyzetek szövegirányának beállítása jobbról-balra (RTL) megjelenítéshez.", "option-auto-convert-html": "HTML automatikus konvertálása", "option-auto-convert-html-description": "HTML automatikus átalakítása Markdown formátummá beillesztés és weboldalakról való húzás és beillesztés esetén. A konverzió nélküli beillesztéshez használja a Ctrl/Cmd+Shift+V billentyűkombinációt.", "option-vim-key-bindings": "Vim billentyűparancsok", "option-vim-key-bindings-description": "Vim billentyűparancsok használatának engedélyezése a forrásszerkesztőben.", "option-vim-key-bindings-mobile": "Mobil eszközökön ez a beállítás az adott eszközre vonatkozik, és nem szinkronizálódik a konfigurációs fájlban.", "option-reindex-vault": "A széf gyorsítótárának újraépítése", "option-reindex-vault-description": "A széf méretétől függően az újraépítés pár másodperctől akár pár percig is eltarthat.", "label-reindex": "Újraépítés", "label-confirm-enable-vim": "Vim mód engedélyezésének megerősítése", "label-vim-warning": "A Vim mód hatékony szövegszerkesztéshez készült, de meglehetősen ellentmondásos lehet. Ha nem ismeri a Vimet, akkor ez az opció úgy tűnhet, mintha az Obsidian leállt volna.", "label-vim-test": "Hogy igazolja, hogy képes kezelni a Vimet, kérjük, alább írja be a Vim mentés nélküli bezárásához tartozó parancsot:", "label-vim-your-answer": "Az ön válasza", "placeholder-enter-command": "Írjon be egy parancsot...", "button-confirm-enable-vim": "A Vim engedélyezése", "msg-vim-mode-enabled": "A parancs helyes. A Vim mód mostantól engedélyezve van.", "msg-vim-mode-not-enabled": "A parancs helytelen. A Vim mód letiltva marad.", "msg-vim-mode-please-enter-command": "Kérjük, írja be a parancsot a Vim mód engedélyezéséhez" }, "file": { "name": "Fájlok és hivatkozások", "option-confirm-file-deletion": "Fájl törlésének megerősítése", "option-confirm-file-deletion-description": "Megjelenjen-e megerősítési ablak fájl törlésekor.", "option-delete-destination": "Törölt fájlok", "option-delete-destination-description": "Ez történjen a fájlokkal törlés után.", "option-choice-system-trash": "Áthelyezés a rendszer lomtárába", "option-choice-vault-trash": "Áthelyezés az Obsidian lomtárába (.trash mappa)", "option-choice-permanent-delete": "Végleges törlés", "option-always-update-links": "Belső hivatkozások automatikus frissítése", "option-always-update-links-description": "Hivatkozások automatikus frissítése fájlok átnevezése után, vagy megerősítés kérése.", "option-new-note-location": "Új jegyzet alapértelmezett helye", "option-new-note-location-description": "Az új jegyzetek létrehozásának helye. A bővítmények beállításai felülbírálják ezt.", "option-choice-vault-root": "Széf mappája", "option-choice-current-folder": "Ugyanabban a mappában, ahol a fájl található", "option-choice-specified-folder": "A lent megadott mappában", "option-new-file-folder-path": "Mappa az új jegyzetek létrehozásához", "option-new-file-folder-path-description": "Az újonnan létrehozott jegyzetek ezen a mappán belül fognak megjelenni. A bővítmények beállításai felülbírálják ezt.", "option-use-wiki-links": "Használjon [[wikihivatkozásokat]]", "option-use-wiki-links-description": "Automatikusan generáljon Wikihivatkozásokat a [[hivatkozások]] és ![[képek]] számára Markdown hivatkozások és képek helyett. Kapcsolja ki ezt az opciót Markdown hivatkozások generálásához.", "option-show-unsupported-files": "Minden fájlkiterjesztés észlelése", "option-show-unsupported-files-description": "Az összes fájl kiterjesztésének megjelenítése akkor is, ha az Obsidian nem képes őket natív módon megnyitni, így hivatkozhat rájuk, és azok megjelennek a Fájlkezelőben és a Gyors váltó funkció alatt.", "option-link-autocompleted-format": "Új hivatkozás formátuma", "option-link-autocompleted-format-description": "Az automatikusan generált belső hivatkozásokhoz használt hivatkozások típusa.", "option-choice-shortest-linktext": "Lehetőség szerint legrövidebb útvonal", "option-choice-relative-path": "Relatív elérési útvonal a fájlhoz", "option-choice-absolute-path": "Abszolút elérési útvonal a széfben", "option-new-attachment-location": "Új melléklet alapértelmezett helye", "option-new-attachment-location-description": "Az újonnan hozzáadott mellékletek helye.", "option-new-attachment-location-default": "mellékletek", "option-choice-subdirectory": "Almappában az aktuális mappa alatt", "option-attachment-folder-path": "Melléklet mappa útvonala", "option-attachment-folder-path-description": "Az újonnan létrehozott mellékletek fájljai itt fognak megjelenni. Ide tartoznak a húzással vagy beillesztéssel létrehozott képek, és a hangfelvételek is.", "option-attachment-subfolder-path": "Almappa neve", "option-attachment-subfolder-path-description": "Ha a fájl a \"széf/mappa\" alatt található, és az almappa nevét \"mellékletek\"-re állítja, a mellékletek a \"széf/mappa/mellékletek\" mappában lesznek elmentve.", "option-excluded-files": "Kizárt fájlok", "option-excluded-files-desc": "A kizárt fájlok nem lesznek megjelenítve vagy kevésbé lesznek feltűnőek olyan helyeken mint például a Gyors váltó, a hivatkozási javaslatok és a Gráf nézet.", "label-no-excluded-filters-applied": "Jelenleg nincs fájlkizáró szűrő megadva. Alább hozzáadhatja őket.", "label-excluded-filters-applied": "A következő szűrőkkel megegyező fájlok jelenleg kizárásra kerülnek:", "label-excluded-filter": "Szűrő", "message-empty-filter": "A szűrő nem lehet üres", "placeholder-excluded-filter": "Elérési út vagy \"/regex/\"...", "option-uri-callbacks": "URI-visszahívások engedélyezése", "option-uri-callbacks-desc": "Az x-callback-url engedélyezése 'x-success'-en vagy 'x-error'-on keresztül Obsidian URL-ek kezelése során." }, "appearance": { "name": "Megjelenés", "option-base-theme": "Alap téma", "option-base-theme-description": "Válassza ki az Obsidian alapértelmezett színsémáját.", "option-accent-color": "Hangsúly szín", "option-accent-color-description": "Válassza ki az alkalmazásban használt hangsúly színt.", "dark-theme": "Sötét", "light-theme": "Világos", "system-theme": "Rendszerhez igazítás", "option-font": "Betűtípus", "option-advanced": "Haladó", "option-interface": "Felület", "option-interface-font": "Felület betűtípusa", "option-interface-font-description": "Beállítja az alap betűtípust az Obsidian minden területére.", "option-zoom-level": "Nagyítás mértéke", "option-zoom-level-description": "Vezérli az alkalmazás teljes nagyítási mértékét.", "option-text-font": "Szöveg betűtípusa", "option-text-font-description": "Beállítja a szerkesztési és olvasási nézet betűtípusát.", "option-monospace-font": "Monospace betűtípus", "option-monospace-font-description": "Beállítja az olyan helyek, mint a kódblokkok és a metaadatok betűtípusát.", "label-single-font-currently-in-effect": " Jelenleg alkalmazott betűtípus: ", "label-multiple-fonts-currently-in-effect": " Jelenleg alkalmazott betűtípusok: ", "option-font-placeholder": "Adja meg a betűtípus nevét...", "label-no-custom-font-set": "Jelenleg nincs alkalmazott egyedi betűtípus. Adjon hozzá egyet alább.", "label-font-applied": "Az első betűtípus, amely ebből a listából rendelkezésre áll a rendszeren, lesz alkalmazva.", "msg-font-not-found": "Ez a betűtípus nem található a rendszeren.", "msg-font-found": "Ez a betűtípus megtalálható a rendszeren.", "label-font-name": "Betűtípus neve", "option-community-themes": "Közösségi témák megnyitása", "option-community-themes-description": "Tekintse meg és használja a közösség által készített fantasztikus témákat.", "button-browse-community-themes": "Böngészés", "option-font-size": "Betűméret", "option-font-size-description": "A szerkesztő és a nézet előnézeti betűmérete pixelben.", "option-font-size-action": "Betűméret gyors állítása", "option-font-size-action-description": "A betűméret állítása a Ctrl + görgetéssel vagy az érintőpad pinch-zoom gesztusával.", "option-themes": "Témák", "option-manage-themes-description": "Telepített témák kezelése és közösségi témák böngészése.", "option-theme-button-manage": "Kezelés", "option-choice-none": "Nincs", "option-native-menus": "Natív menük", "option-native-menus-desc": "Az alkalmazásban lévő menük igazodnak az operációs rendszerhez. Ezt a témák nem befolyásolják.", "button-reload-themes": "Témák újratöltése", "msg-reloaded-themes": "Újratöltött egyedi CSS témák.", "button-open-themes-folder": "Témamappa megnyitása", "option-css-snippets": "CSS kódrészletek", "label-no-css-snippets-found": "Nem található CSS kódrészlet a kódrészletek mappában.", "no-snippet-description": "A CSS kódrészletek itt tárolódnak: \"{{path}}\".", "button-reload-snippets": "Kódrészletek újratöltése", "button-open-snippets-folder": "Kódrészletek mappa megnyitása", "msg-reloaded-snippets": "Újratöltött CSS kódrészletek.", "option-toggle-snippet-description": "A(z) \"{{path}}\" útvonalon lévő CSS kódrészlet alkalmazása.", "label-installed-themes": "Telepített témák", "label-screenshot-unavailable": "Nem érhető el képernyőkép", "label-default-theme": "Alapértelmezett", "tooltip-click-to-enlarge": "Kattintson a nagyításhoz", "button-update": "Frissítés", "label-currently-active": "Active", "option-frame-style": "Ablakkeret stílusa", "option-frame-description": "Meghatározza az Obsidian ablakok címsávjának stílusát. Teljes újraindítás szükséges az életbeléptetéshez.", "option-frame-hidden": "Elrejtve (alapértelmezett)", "option-frame-obsidian": "Obsidian keret", "option-frame-native": "Natív keret", "option-custom-icon": "Egyedi alkalmazásikon", "option-custom-icon-desc": "Egyedi ikont adhat meg az alkalmazás számára", "button-choose-custom-icon": "Ikon választása", "option-configure-ribbon": "Szalagmenü", "option-configure-ribbon-desc": "Állítsa be, hogy mely parancsok jelenjenek meg a navigációs sávban található szalagmenüben.", "option-mobile-quick-ribbon-item": "Gyors hozzáférésű szalagelem", "option-mobile-quick-ribbon-item-desc": "A navigációs menüben található szalagelemre koppintva aktiválódik ez a szalagelem. A tartós megjelenítéshez tartsa lenyomva a menüt.", "option-mobile-quick-ribbon-default": "Szalagmenü megnyitása", "button-configure": "Konfigurálás", "option-show-ribbon": "Szalag megjelenítése", "option-show-ribbon-desc": "Megjelenít egy függőleges eszköztárat az ablak oldalsó részén.", "label-additional-ribbon-items": "Egyéb szalagelemek", "label-modal-configuration": "Szalag konfiguráció", "label-modal-configuration-desc": "Válassza ki, mely elemeket szeretné használni a szalagon. Kattintással és egérhúzással módosíthatja a sorrendjüket.", "option-show-view-header": "Lap címsávjának megjelenítése", "option-show-view-header-desc": "A címsáv megjelenítése minden lap tetején.", "msg-updates-found": "{{count}} témához érhető el frissítés.", "msg-updates-found_plural": "{{count}} témához érhető el frissítés.", "button-check-for-updates": "Frissítések ellenőrzése", "button-view-updates": "Frissítések megtekintése", "button-update-all-themes": "Minden frissítése", "label-current-themes": "Aktuális közösségi témák", "label-currently-installed": "Jelenleg {{count}} téma van telepítve.", "label-currently-installed_plural": "Jelenleg {{count}} téma van telepítve." }, "hotkeys": { "name": "Gyorsbillentyűk", "option-search": "Gyorsbillentyűk keresése", "option-search-desc": "{{count}} gyorsbillentyű megjelenítve. ", "option-search-desc_plural": "{{count}} gyorsbillentyű megjelenítve. ", "option-search-conflict": "{{count}} parancs ütközik.", "option-search-conflict_plural": "{{count}} parancs ütközik.", "prompt-filter": "Szűrés...", "tooltip-delete-hotkey": "Gyorsbillentyű törlése", "label-waiting-for-hotkey-press": "Nyomjon meg egy gyorsbillentyűt...", "label-show-all": "Minden", "label-show-unassigned": "Hozzárendelés nélküli", "label-show-assigned": "Hozzárendelt", "label-show-user-assigned": "Általam hozzárendelve", "tooltip-restore-default": "Alapértelmezettek visszaállítása", "tooltip-customize-command": "Ezen parancs testreszabása", "tooltip-hotkey-single-conflict": "Ezen gyorsbillentyű ütközik a következővel: \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Ezen gyorsbillentyű ütközik {{count}} másik parancssal", "label-blank-hotkey": "Üres" }, "about": { "name": "Általános", "label-commercial-license": "Kereskedelmi licenc", "label-license-key": "Licenckulcs", "license-key-placeholder": "Az Ön licenckulcsa...", "label-activate-license": "Licenc aktiválása", "button-activate": "Aktiválás", "label-unknown-version": "Ismeretlen", "label-current-version": "Jelenlegi verzió: ", "label-install-version": "(Telepítő verziója: {{version}})", "label-up-to-date": "Az alkalmazás naprakész!", "label-read-changelog": "Tekintse meg a változási naplót.", "label-manual-update-required": "A legújabb funkciók támogatásához és a legfrissebb biztonsági javításokhoz az Obsidian-nak egy nagyobb, telepítőn keresztüli frissítésre van szüksége. Kérjük, töltse le a telepítőt és telepítse újra az Obsidian-t.", "label-new-version-ready": "Új verzió telepítésre kész. ", "label-disabled-updates": "A frissítések letiltva.", "button-relaunch": "Újraindítás", "button-check-for-updates": "Frissítések ellenőrzése", "option-auto-update": "Automatikus frissítések", "option-auto-update-description": "Az opció kikapcsolása után az alkalmazás nem fog automatikusan frissítéseket keresni.", "option-check-slow-startup": "Jelezze, ha az indítás az általánosnál több időt vesz igénybe.", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Ellenőrzés", "option-get-help": "Segítség kérése", "option-get-help-description": "Segítség kérése az Obsidian használatával kapcsolatban.", "button-open": "Megnyitás", "option-language": "Nyelv", "option-language-description": "A megjelenítési nyelv módosítása.", "option-insider-build": "Belsős verziók telepítése", "option-insider-build-description": "Automatikusan telepíti a belsős frissítéseket az új funkciók kipróbálásához. Fontos megjegyezni, hogy ezek a verziók kísérleti jellegűek és kevésbé stabilak lehetnek.", "option-advanced": "Haladó", "option-hw-acceleration": "Hardveres gyorsítás", "option-hw-acceleration-description": "A hardveres gyorsítás bekapcsolása, amely a GPU-t használja az Obsidian simábbá tételéhez.", "option-hw-acceleration-warning": "Ha kikapcsolja ezt a funkciót, az alkalmazás teljesítménye jelentősen csökken.", "option-config-location": "Konfigurációs mappa felülbírálása", "option-config-location-description": "Megadhat másik konfigurációs mappát az alapértelmezett helyett. Ponttal kell kezdődnie.", "option-config-location-warning": "A konfiguráció helyének érvényes mappanévnek kell lennie, amely ponttal kezdődik.", "label-license": "Licenc", "label-your-commercial-license-key": "Az Ön kereskedelmi licenckulcsa: \"{{key}}\".", "label-commercial-license-info": "\"{{company}}\" nevére {{seats}} felhasználó számára van regisztrálva. Érvényes {{expiry}}-ig.", "label-validating-commercial-license": "Ellenőrzés folyamatban...", "label-invalid-commercial-license": "Érvénytelen licenc: ", "button-remove-commercial-license": "Eltávolítás", "option-catalyst": "Catalyst licenc", "option-catalyst-desc": "Jelenleg {{tier}} Catalyst licencet használ. Köszönjük a támogatását!", "option-catalyst-desc-no-license": "Jelenleg nincs Catalyst licence. A Catalyst licenc egy egyszeri adomány az Obsidian fejlesztésének támogatására.", "label-app": "Alkalmazás", "label-add-own-language": "Útmutató az Ön által beszélt nyelv Obsidian-hoz adásához." }, "account": { "name": "Fiók", "option-your-account": "Saját fiók", "option-your-account-desc": "Jelenleg a következőként van jelentkezve: {{name}} ({{email}}).", "option-your-account-desc-no-login": "Jelenleg nincs bejelentkezve. Fiókra csak az Obsidian Sync, az Obsidian Publish és a Catalyst belső verziók használatakor van szükség.", "label-insider": "belsős", "label-supporter": "támogató", "label-vip": "VIP", "button-upgrade-catalyst": "Frissítés", "option-commercial-license": "Kereskedelmi licenc", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Vásárlás", "button-log-out": "Kijelentkezés", "label-log-in": "Bejelentkezés", "label-sign-up": "Regisztráció", "label-email": "E-mail", "placeholder-email": "Az ön e-mail címe...", "label-name": "Teljes név", "label-password": "Jelszó", "placeholder-password": "Az ön jelszava...", "label-forgot-password": "Elfelejtette a jelszavát?", "button-login": "Bejelentkezés", "message-empty-email": "Az e-mail mező nem lehet üres.", "message-invalid-email": "Az e-mail cím nem érvényes.", "message-empty-password": "A jelszó mező nem lehet üres.", "message-login-failed": "A bejelentkezés sikertelen, kérjük, ellenőrizze az e-mail címet és a jelszót.", "message-signup-failed": "A regisztráció sikertelen", "label-no-account": "Nincs még fiókja? ", "link-sign-up-now": "Regisztráljon most", "label-mfa-code": "6 számjegyű 2FA kód", "mfa-wrong-format": "A 2FA hitelesítő kód 6 számjegyű kell legyen.", "mfa-verification-failed": "A 2FA kód helytelen, kérjük, ellenőrizze a hitelesítő alkalmazást." }, "core-plugin": { "plugin-list": "Bővítmények", "option-search-plugin": "Belső bővítmények keresése", "option-search-plugin-description": "Bővítmények szűrése név vagy leírás alapján.", "placeholder-search-plugin": "Bővítmények keresése..." }, "third-party-plugin": { "name": "Külső bővítmény", "option-restricted-mode": "Korlátozott mód", "option-restricted-mode-description": "A korlátozott mód ki van kapcsolva. Kapcsolja be a közösségi bővítmények letiltásához.", "button-turn-on": "Bekapcsolás", "option-browse-community-plugins": "Közösségi bővítmények", "option-browse-community-plugins-description": "Böngésszen és telepítsen harmadik féltől származó bővítményeket, amelyeket fantasztikus közösségünk készített.", "button-browse": "Böngészés", "label-exit-restricted-mode": "Kilépés a korlátozott módból", "label-exit-restricted-mode-description-1": "A közösségi bővítmények, mint bármely más telepített szoftver, potenciálisan adatintegritási és biztonsági problémákat okozhatnak.", "label-exit-restricted-mode-description-2": "A bővítmények biztonsága fontos számunkra. Íme, amit teszünk:", "label-exit-restricted-mode-description-3": "Erőfeszítéseink ellenére még mindig van kis esély arra, hogy a közösségi bővítmények nem az elvárt módon viselkedjenek.", "label-code-review": "Kezdeti kódellenőrzés", "label-code-review-desc": "A bővítmények az áruházban való megjelenés előtt, a csapatunk által, egy kezdeti kódellenőrzésen esnek át.", "label-open-source": "Nyílt forráskód", "label-open-source-desc": "A legtöbb bővítmény nyílt forráskóddal érhető el a GitHub-on, így Ön is megtekintheti a kódot.", "label-peer-audit": "Kölcsönös ellenőrzés", "label-peer-audit-desc": "Nagy fejlesztői közösséggel rendelkezünk, akik vigyáznak egymásra.", "label-report-mechanism": "Bővítmények jelentése", "label-report-mechanism-desc": "Felhasználói bejelentéseket követően utánanézünk és eltávolítjuk a hibás bővítményeket.", "label-exit-restricted-mode-disable-confirmation": "Szeretne kilépni a korlátozott módból a közösségi bővítmények engedélyezéséhez? Mielőtt megtenné, erősen ajánlott adatairól biztonsági mentést készíteni.", "label-learn-more": "Tudjon meg többet a bővítménybiztonságról", "button-turn-on-community-plugins": "Közösségi bővítmények engedélyezése", "label-trust-author": "Megbízik ezen széf szerzőjében?", "label-trust-author-description-1": "Ön először nyitja meg ezt a széfet, amely néhány bővítményt is tartalmaz.", "label-trust-author-description-2": "Ha valaki mástól kapta meg ezt a széfet, vegye figyelembe, hogy az ismeretlen eredetű bővítmények biztonsági kockázatot jelenthetnek.", "label-trust-author-description-3": "Ha nem bízik meg teljesen ezen széf szerzőjében, javasoljuk, hogy maradjon a korlátozott módban, így a széfben található bővítmények nem fognak futni.", "button-enable-plugins": "Megbízok a szerzőben, engedélyezze a bővítményeket", "button-dont-trust-author": "Széf böngészése korlátozott módban", "placeholder-community-plugins": "Közösségi bővítmények keresése...", "msg-failed-load-plugins": "Nem sikerült betölteni a közösségi bővítményeket.", "label-installed": "Telepített", "button-install": "Telepítés", "button-enable": "Engedélyezés", "button-disable": "Letiltás", "button-copy-share-link": "Megosztási link másolása", "button-donate": "Adományozás", "label-no-results-found": "Nincs találat.", "label-no-recent-files-found": "Nem találhatók friss fájlok. Írjon ide a kereséshez...", "msg-failed-to-load-manifest": "Nem sikerült betölteni a bővítmény leírófájlját.", "label-version": "Verzió: {{version}}", "label-currently-installed-version": " (jelenlegi verzió: {{version}})", "label-by-author": "Készítő: ", "label-repository": "Adattár: ", "label-last-update": "Utoljára frisítve: ", "tooltip-view-last-update": "Az legutóbbi kiadás megtekintése", "label-unsupported": "Ez a bővítmény nem támogatja az ön eszközét.", "button-update": "Frissítés", "label-no-readme": "Ez a bővítmény nem tartalmaz README fájlt.", "msg-installing-plugin": "Bővítmény telepítése: \"{{name}}\"...", "msg-failed-to-install-plugin": "Nem sikerült telepíteni a bővítményt: \"{{name}}\".", "msg-successfully-installed-plugin": "Sikeresen telepített bővítmény: \"{{name}}\".", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Telepített bővítmények", "button-reload-plugins": "Bővítmények újratöltése", "msg-reloaded-third-party-plugins": "A harmadik féltől származó bővítmények újratöltődtek.", "label-uninstall": "Eltávolítás", "label-uninstall-plugin": "Bővítmény eltávolítása", "label-uninstall-plugin-confirmation": "Biztosan el szeretné távolítani ezt a bővítményt? Ez törölni fogja a bővítmény mappáját.", "button-open-plugins-folder": "Bővítmények mappa megnyitása", "button-check-for-updates": "Frissítések ellenőrzése", "button-update-all-plugins": "Összes frissítése", "label-current-plugins": "Jelenlegi bővítmények", "label-currently-installed": "Jelenleg {{count}} bővítmény van telepítve.", "label-currently-installed_plural": "Jelenleg {{count}} bővítmény van telepítve.", "msg-no-updates-found": "Nincs elérhető frissítés.", "msg-updates-found": "Elérhető {{count}} bővítmény frissítése.", "msg-updates-found_plural": "Elérhető {{count}} bővítmény frissítése.", "msg-update-plugin": "Frissítés erre a verzióra: {{version}}", "option-search-installed-plugin": "Telepített bővítmények keresése", "option-search-installed-plugin-description": "A telepített bővítmények szűrése név vagy leírás alapján.", "placeholder-search-installed-plugin": "Telepített bővítmények keresése...", "show-installed-only": "Csak a telepítettek mutatása", "label-donate-modal-title": "Adományozás a(z) {{name}} támogatására", "label-donate-modal-text1": "A bővítményfejlesztők közösségi önkéntesek, akik szenvedéllyel csinálnak fantasztikus dolgokat. Ha hasznosnak találja ezt a bővítményt, kérjük, fontolja meg a fejlesztés támogatását.", "label-donate-modal-text2": "Hozzájárulásának 100%-a a bővítményfejlesztőhöz kerül; az Obsidian nem von le semmit. Az általuk választott finanszírozási platform díjat számíthat fel.", "label-donate-modal-text3": "Köszönjük a nagylelkű támogatását!", "label-support-this-plugin": "Támogassa ezt a bővítményt:", "label-search-summary": "{{pluginCount}} találat:", "label-by-popularity": "Leggyakrabban letöltött", "label-by-released": "Frissen kiadott", "label-by-updated": "Nem rég frissítve", "label-alphabetical": "ABC sorrend", "label-last-updated": "Frissítve ekkor: {{time}}" }, "mobile-toolbar": { "name": "Mobil eszköztár", "option-configure-quick-action": "Mobil gyorsművelet konfigurálása", "option-configure-quick-action-description": "Állítsa be, mely parancs fusson le, amikor a képernyő felső részét lehúzza. Az aktuálisan beállított parancs \"{{command}}\".", "msg-missing-quick-action": "Nincs művelet beállítva", "button-configure": "Beállítás", "placeholder-select-quick-action": "Gyorsművelet kiválasztása...", "quick-action-disabled": "Nincs", "manage-toolbar-options": "Eszköztár beállításainak kezelése", "option-internal-link": "Belső hivatkozás hozzáadása", "option-internal-embed": "Beágyazás hozzáadása", "option-tag": "Címke hozzáadása", "option-heading": "Fejléc váltása", "option-strikethrough": "Áthúzás váltása", "option-highlight": "Kiemelés váltása", "option-code": "Kód váltása", "option-blockquote": "Idézet váltása", "option-inline-math": "Sorközi matematikai kifejezések váltása", "option-math-block": "Matematikai blokk váltása", "option-markdown-link": "Markdown hivatkozás hozzáadása", "option-bullet-list": "Felsorolás váltása", "option-numbered-list": "Számozott lista váltása", "option-indent-list": "Listaelem behúzása", "option-unindent-list": "Listaelem kihúzása", "option-undo": "Visszavonás", "option-redo": "Újra", "option-move-caret-up": "Kurzor fel", "option-move-caret-down": "Kurzor le", "option-move-caret-left": "Kurzor balra", "option-move-caret-right": "Kurzor jobbra", "option-first-line": "Ugrás az első sorra", "option-last-line": "Ugrás az utolsó sorra", "option-toggle-keyboard": "Billentyűzet váltása", "option-configure-toolbar": "Mobil eszköztár konfigurálása", "option-added-options": "Hozzáadott lehetőségek", "option-more-toolbar-options": "További eszköztár beállítások", "option-attach": "Csatolmány beszúrása", "option-add-command": "Globális parancs hozzáadása", "option-add-command-description": "Válasszon ki bármilyen globális parancsot az eszköztárhoz való hozzáadáshoz." } }, "editor": { "search": { "placeholder-find": "Keresés", "placeholder-replace": "Csere", "label-exit-search": "Keresés befejezése", "label-next": "Következő", "label-previous": "Előző", "label-find-all": "Minden találat megjelenítése", "label-replace": "Csere", "label-replace-all": "Összes cseréje" }, "link-suggestion": { "label-type-hash": "# karakter", "label-link-heading": "fejléc linkeléséhez", "label-type-block": "^ karakter", "label-link-block": "blokkok linkeléséhez", "label-type-pipe": "| karakter", "label-change-display-text": "a megjelenített szöveg megváltoztatásához", "label-no-alias": "Megjelenített szöveg", "label-no-heading": "Fejléc", "label-no-match-found": "Nincs találat", "label-image-size": "Képméret: {{size}}px széles", "label-accept": "az elfogadáshoz", "label-new-footnote": "Új lábjegyzet..." }, "spellcheck": { "no-suggestion": "Nincs javaslat...", "add-to-dictionary": "Hozzáadás a szótárhoz" }, "menu": { "edit-link": "Hivatkozás szerkesztése", "edit-tag": "Címke szerkesztése", "label-edit-block": "Blokk szerkesztése", "label-delete-footref-and-note": "Lábjegyzet és hivatkozás törlése" }, "heading-suggestion": { "label-no-heading": "Nincs fejléc", "label-heading-level": "Fejléc szintje: {{level}}" }, "print-modal": { "title": "Exportálás PDF-be", "caption": "A \"{{filename}}\" fájl exportálása PDF-be az alábbi beállításokkal.", "setting-page-size": "Oldalméret", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Levél", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Fájlnév használata címként", "setting-landscape": "Fekvő tájolás", "setting-margin": "Margó", "setting-margin-default": "Alapértelmezett", "setting-margin-minimal": "Minimális", "setting-margin-none": "Nincs", "setting-downscale-percent": "Kicsinyítés százaléka", "button-export-to-pdf": "Exportálás PDF-be" }, "link-popover": { "tooltip-follow-link": "Link követése", "tooltip-open-link": "Link megnyitása", "tooltip-search-tag": "Címke keresése" } }, "interface": { "embed-cannot-find": "Nem található:", "label-unable-to-find-section": "A(z) “{{subpath}}” nem található ebben a fájlban: {{file}}", "embed-open-in-default-app-tooltip": "Megnyitás az alapértelmezett alkalmazásban", "empty-sidebar": "Az oldalsáv üres, próbáljon meg egy panelt ide húzni.", "sidebar-expand": "Kibontás", "sidebar-collapse": "Összecsukás", "msg-fail-to-save-file": "Nem sikerült menteni a \"{{filepath}}\" fájlt: {{message}}.", "msg-failed-to-load-plugin": "Nem sikerült betölteni a(z) “{{plugin}}” bővítményt", "msg-plugin-error": "A(z) “{{plugin}}” beépülő hibába ütközött a betöltés során", "msg-failed-to-load-file": "Nem sikerült megnyitni a következőt: “{{filepath}}”", "msg-failed-to-open-href": "A hely megnyitása nem lehetséges: “{{href}}”", "no-file": "Nincs fájl", "msg-file-changed": "\"{{file}}\" az Obsidian-on kívül lett módosítva, a változások automatikus összefésülése folyamatban.", "switch-vault": "Másik széf megnyitása", "manage-vaults": "Széfek kezelése...", "help": "Súgó", "settings": "Beállítások", "drag-to-rearrange": "Átrendezés húzással", "msg-switched-to-read": "Az alapértelmezett nézetről olvasási nézetre váltott.", "msg-switched-to-edit": "Az alapértelmezett nézetről szerkesztő nézetre váltott.", "msg-upgrade-installer": "Ehhez a funkcióhoz telepítse újra az Obsidian-t a weboldalunkon elérhető legújabb telepítővel.", "msg-slow-boot": "Lassú indulást észleltünk.", "msg-desktop-only-feature": "Ez a funkció csak az asztali alkalmazásban érhető el.", "tooltip-restore-default-settings": "Alapértelmezett beállítások visszaállítása", "label-copy": "Vágólapra másolás", "label-copy-short": "Másolás", "copied_generic": "Vágólapra másolva", "copied": "{{item}} a vágólapra másolva", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Szűrő...", "url": "Url", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "\"{{path}}\" megnyitva", "msg-file-not-found-through-uri": "A fájl \"{{name}}\" nem található.", "delete-action-short-name": "Törlés", "msg-indexing": "Az Obsidian indexeli a széfjét...\nEz csak egyszer történik meg.\nNéhány funkció nem lesz elérhető, amíg ez be nem fejeződik.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Az indexelés befejeződött.", "msg-sandbox-vault": "Ez egy homokozó széf.\nAz itt végzett változtatások elvesznek.", "msg-indexed-db-not-supported": "Ehhez a funkcióhoz IndexedDB szükséges, azonban az jelenleg ki van kapcsolva.", "msg-indexed-db-i-o-s": "Ha iOS-t használ Zárt módban, kérjük, adja hozzá kizárásként az Obsidian-t a Zárt mód \"Webes böngészés konfigurálása\" lehetőségénél.", "label-enter-to-create": "Nyomja meg az Enter-t a létrehozáshoz", "label-update-available": "Frissítés érhető el", "label-debug-info": "Hibakeresési információk", "button-learn-more": "További információ", "button-not-now": "Most nem", "button-add": "Hozzáadás", "button-manage": "Kezelés", "label-new-tab": "Új lap", "option-hide-ribbon": "Szalag elrejtése", "msg-tab-busy": "Ez a lap jelenleg elfoglalt, próbálkozzon újra később", "formatting": { "label-formatting": "Formázás", "label-paragraph": "Bekezdés", "label-insert": "Beszúrás", "insert-link": "Hivatkozás hozzáadása", "insert-external-link": "Külső hivatkozás hozzáadása", "insert-callout": "Felhívás", "insert-horizontal-rule": "Vízszintes elválasztó", "insert-code-block": "Kódblokk", "insert-math-block": "Matemetikai blokk", "insert-table": "Táblázat", "insert-footnote": "Lábjegyzet", "toggle-bold": "Félkövér", "toggle-code": "Kód", "toggle-comments": "Megjegyzás", "toggle-highlight": "Kiemelés", "toggle-italics": "Dőlt", "toggle-strikethrough": "Áthúzott", "toggle-math": "Matematika", "toggle-bullet-list": "Pontozott lista", "toggle-checklist": "Feladatlista", "toggle-numbered-list": "Számozott lista", "set-heading": "Fejléc szintje: {{level}}", "no-heading": "Szövegtörzs", "clear": "Formázás törlése", "toggle-quote": "Idézet" }, "empty-state": { "no-file-open": "Nincs megnyitott fájl", "create-new-file": "Új fájl létrehozása", "go-to-file": "Ugrás fájlra", "see-recent-files": "Legutóbbi fájlok megtekintése", "close": "Bezárás", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "A bővítmény már nem aktív", "unknown-pane-desc": "A bővítmény, amely ezt az ablakot ({{type}}) létrehozta, már nem létezik" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Szerkesztés (Ctrl/Cmd+kattintás új panelen történő szerkesztéshez)", "read-view": "Aktuális nézet: olvasási", "ribbon": "Szalag", "left-sidebar": "Bal oldalsáv", "right-sidebar": "Jobb oldalsáv", "switch-to-edit-view": "Kattintson a szerkesztéshez", "switch-to-read-view": "Kattintson az olvasáshoz", "mod-click-open-new-tab": "{{key}}+kattintás új lapon történő megnyitáshoz", "find": "Keresés...", "replace": "Csere...", "edit": "Szerkesztés", "remove": "Eltávolítás", "rename": "Átnevezés", "preview": "Előnézet", "more-options": "További lehetőségek", "close": "Bezárás", "close-all": "Minden lap bezárása", "close-tabs-with-count": "{{count}} lap bezárása", "close-tabs-with-count_plural": "{{count}} lap bezárása", "close-others": "Többi lap bezárása", "close-after": "Jobbra lévő lapok bezárása", "pin": "Rögzítés", "unpin": "Rögzítés feloldása", "unlink-tab": "Lapok szétkapcsolása", "link-tab": "Kapcsolódás lapokkal...", "toggle-source-mode": "Forrás mód", "toggle-reading-view": "Olvasási nézet", "add-property": "Fájltulajdonság hozzáadása", "delete-file": "Fájl törlése", "create-file": "Fájl létrehozása", "open-link": "Hivatkozás megnyitása", "open-in-new-tab": "Megnyitás új lapon", "open-to-the-right": "Megnyitás jobbra", "copy-url": "URL másolása", "copy": "Másolás", "cut": "Kivágás", "paste": "Beillesztés", "paste-as-plain-text": "Beillesztés egyszerű szövegként", "lookup-selection": "Keresés a „{{selection}}” kifejezésre", "select-all": "Mindet kiválaszt", "rename-heading": "Fejléc átnevezése...", "rename-blockid": "Blokkazonosító átnevezése...", "open-in-new-window": "Megnyitás új ablakban", "move-to-new-window": "Mozgatás új ablakba", "open-in-browser": "Megnyitás böngészőben", "stack-tabs": "Lapok csoportosítása", "unstack-tabs": "Lapok csoportosításának megszüntetése", "open-linked-view": "Kapcsolt nézet megnyitása" }, "tooltip": { "click-to-expand": "Kattintson a kibontáshoz", "click-to-collapse": "Kattintson a becsukáshoz", "alias": "Alternatív név", "not-created-yet": "Még nincs létrehozva, válasszon a létrehozáshoz" }, "start-screen": { "label-version": "Verzió", "label-create-local-vault": "Helyi széf létrehozása", "option-open-folder-as-vault": "Mappa megnyitása széfként", "option-open-folder-as-vault-description": "Válasszon egy létező, Markdown fájlokat tartalmazó, mappát.", "option-create-vault": "Új széf létrehozása", "option-create-vault-description": "Új Obsidian széf létrehozása egy mappa alatt.", "option-connect-obsidian-sync": "Kapcsolódás az Obsidian Sync-hez", "option-connect-obsidian-sync-description": "Beállít egy szinkronizált széfet egy meglévő távoli széffel.", "option-new-vault-name": "Széf neve", "option-new-vault-name-description": "Válasszon egy nevet a fantasztikus széfjének.", "option-new-vault-location": "Hely", "option-new-vault-location-description": "Válasszon helyet új széfjének elhelyezéséhez.", "label-new-vault-location-preview": "Új széfjét ide helyezzük: ", "option-reveal-vault-in-explorer": "Széf mutatása a rendszer fájlkezelőjében", "option-reveal-vault-in-explorer-mac": "Széf mutatása a Finder-ben", "option-rename-vault": "Széf átnevezése...", "option-copy-vault-i-d": "Széfazonosító másolása", "msg-error-rename-exists": "Már létezik egy széf ezzel a névvel.", "msg-error-nested": "Nem lehet széfet annak egy almappájába áthelyezni.", "msg-error-rename-open": "Nem lehet átnevezni egy jelenleg megnyitott széfet.", "msg-rename-failed": "A széf átnevezése nem sikerült.", "msg-rename-success": "A széf sikeresen át lett nevezve.", "option-move-vault": "Széf áthelyezése...", "msg-move-select-dest": "Válasszon célmappát", "msg-error-move-exists": "Már létezik egy széf a célhelyen.", "msg-error-move-open": "Egy jelenleg megnyitott széfet nem lehet áthelyezni.", "msg-move-failed": "A tárhely áthelyezése nem sikerült.", "msg-move-success": "A tárhely sikeresen áthelyezve.", "option-remove": "Eltávolítás a listából", "button-quick-start": "Gyors indítás", "button-open": "Megnyitás", "button-browse": "Tallózás", "button-connect": "Kapcsolódás", "button-create-vault": "Létrehozás", "button-back": "Vissza", "msg-empty-vault-name": "A széf neve nem lehet üres.", "msg-trailing-dot-vault-name": "A széf neve nem végződhez ponttal.", "msg-invalid-folder": "Kérjük, válasszon érvényes mappát.", "msg-failed-to-create-vault": "A széf létrehozása nem sikerült.", "msg-failed-to-create-vault-at-location": "Nem sikerült létrehozni a széfet a megadott helyen. Kérjük, ellenőrizze a helyet és a hozzáférési engedélyeket.", "msg-error-failed-to-open-vault": "A széf megnyitása nem sikerült.", "msg-error-remove-current-open-vault": "Egy jelenleg megnyitott széfet nem lehet eltávolítani.", "option-get-help": "Segítség kérése", "option-user-email": "E-mail", "placeholder-your-email": "Az e-mail címe...", "option-user-password": "Jelszó", "placeholder-your-password": "A jelszava...", "button-sign-in": "Bejelentkezés", "button-setup": "Beállítás", "option-connect-vault-desc": "Egy szinkronizált széf létrehozása ezen az eszközön.", "tooltip-own-vault": "Ez egy Ön által létrehozott távoli széf.", "tooltip-shared-vault": "Ez egy Önnel megosztott távoli széf.", "mobile": { "label-start-screen": "A gondolatai csakis az  Öné.", "label-synced": "szinkr.", "label-not-synced": "nincs szinkr.", "label-none": "Nincs", "label-recommended": "Ajánlott", "label-start-screen-desc": "Az Obsidian a jegyzeteket az eszközén tárolja, így gyorsan és privát módon érheti el azokat, még akkor is, ha nincs az internethez kapcsolódva.\nAdatai egy biztonságos, helyi mappában, egy úgynevezett **széfben** vannak tárolva.", "option-create": "Széf létrehozása", "option-use-existing": "Egy már létező széf használata", "label-sync-intro": "Jegyzetei más eszközökön történő eléréséhez szinkronizációt szükséges beállítani.", "label-sync-intro-desc": "Mivel az Obsidian az eszközein tárolja a jegyzeteit, szinkronizáció beállítása szükséges ahhoz, hogy másik telefonon vagy számítógépen is elérhesse őket.\nA szinkronizációt beállíthatja most, vagy merüljön el az írásban, és állítsa be azt később.", "option-setup-sync": "Sync beállítása", "option-skip": "Most kihagyom", "option-skip-short": "Kihagyás", "label-vault-create": "Válasszon nevet a széfjének.", "button-create": "Széf létrehozása", "label-sync-setup": "Sync beállítása", "label-sync-setup-desc": "Hozzon létre egy szinkronizált széfet Obsidian fiókjában, így elérheti adatait más eszközökön is.", "label-remote-vault-create": "Sync titkosítás", "option-encryption-custom": "Végpontok közötti titkosítás", "option-encryption-custom-desc": "A legerősebb biztonsági szintet nyújtja, de szükséges hozzá, hogy Ön biztonságosan tárolja a titkosított jelszavát.", "option-encryption-managed": "Általános titkosítás", "option-encryption-managed-desc": "Egy, az Obsidian által kezelt, kulcsot használ adatai védelmére mind adatküldés közben, mind a szervereinken történő tároláshoz.", "label-sync-settings": "Sync beállítások", "label-sync-settings-desc": "Szeretne mappákat vagy fájlokat kizárni az ezen eszközre történő szinkronizációból?", "button-start": "Szinkr. megkezdése", "label-sign-in-or-sign-up": "Hozzon létre Obsidian fiókot vagy lépjen be", "option-sign-up": "Regisztráció", "option-sign-in": "Belépés", "button-resend-email": "E-mail újraküldése", "label-remote-vault-options": "Ön már rendelkezik Sync széfekkel", "label-remote-vault-options-desc": "Szeretne új széfet létrehozni, vagy kapcsolódna egy, már létező, szinkronizált széfhez?", "option-remote-create": "Új Sync széf létrehozása", "option-remote-choose": "Meglévő széf használata", "button-logout": "Kilépés", "button-forgot-password": "Elfelejtett jelszó", "label-vault-name": "Széf neve", "label-vault-location": "Széf helye", "label-vault-location-desc": "Széfje itt lesz létrehozva: {{vaultLocation}}", "label-region-selection": "Régió", "label-region-selection-help": "Válasszon egy Önhöz közeli régiót a gyorsabb szinkronizáció érdekében.", "label-encryption-key": "Titkosítási kulcs", "label-encryption-key-help": "Ez a jelszó később már nem változtatható meg. Ha elfelejti ezt a jelszót, a Sync szervereken tárolt adataihoz nem fog többé tudni hozzáférni.", "placeholder-vault-name": "A széfem", "opt-region-selection-automatic": "Automatikus", "label-remote-vault-selection": "Széf választása", "label-remote-vault-selection-desc": "Az Ön **{{email}}** fiókja rendelkezik már széfekkel, amelyekhez csatlakozhat.", "label-sign-in": "Bejelentkezés Obsidian  fiókba", "label-forgot-password": "Elfelejtett jelszó", "button-reset-password": "Jelszó visszaállítása", "msg-password-reset": "Küldtünk Önnek a következő címre egy e-mail-t a jelszó visszaállításához: {{email}}.", "label-sync-method-selection": "Válassza ki a szinkronizáció módját", "label-sync-method-selection-desc": "Hogy az Obsidian-t az eszközein is használhassa, adatai szinkronizálására lesz szükség.", "label-sync-pro1": "Gördülékenyen működik minden eszköz és operációs rendszer között.", "label-sync-pro2": "A legerősebb, végpontok közötti titkosítás által nyújt biztonságot.", "label-sync-pro3": "Használatához Obsidian fiók szükséges.", "label-icloud-con1": "Csak iOS-en és macOS-en érhető el.", "label-icloud-con2": "Alapért. nincs titkosítva.", "label-third-party-desc1": "Külső beépülők vagy eszközök szükségesek hozzá.", "label-third-party-desc2": "Lehetséges, hogy alapértelmezetten nincs titkosítva.", "opt-use-obsidian-sync": "Obsidian Sync használata", "opt-use-icloud": "iCloud használata", "opt-use-other": "Külső szolgáltatás használata", "opt-learn-other-sync": "További szinkr. lehetőségek", "opt-use-supported": "Támogatott szinkr. módok használata", "label-sync-restore": "Hol található a széfje?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Egyéb", "label-other-sync": "Külső féltől származó szinkronizációs szolgáltatás", "label-local-folder": "Ezen az eszközön", "option-connect-icloud": "Csatlakozás az iCloud-hoz", "option-connect-other": "Csatlakozás más szolgáltatáshoz", "option-connect-sync": "Csatlakozás az Obsidian Sync-hez", "option-connect-local-folder": "Mappa választása", "label-sync-other": "Egyéb szinkr. módok", "label-sync-other-desc": "Az Obsidian hivatalosan két szinkronizációs módot támogat: az **Obsidian Sync**-et és az **iCloud**-ot.\nAzonban, mivel az Obsidian az Ön kezébe adja adatai kezelését, további szinkronizációs lehetőségek is a rendelkezésére állnak.\nEzek lehetnek külső féltől származó beépülők, vagy egyéb szolgáltatások, melyek beállítása több odafigyelést igényelhet.\nEgy alternatív szinkronizációs mód használatához **hozzon létre egy széfet**, és kövesse a beépülő vagy szolgáltatás által nyújtott utasításokat.", "label-email-entry": "Adja meg e-mail címét", "label-email-entry-desc": "Obsidian fiók létrehozásához kötelező megadni egy e-mail címet.", "label-signup": "Adja meg nevét és jelszavát", "email-verification": "Csatlakozás az Obsidian Sync-hez", "email-verification-desc": "Hamarosan egy levelet fog kapni az **{{email}}** e-mail címére, melyben instrukciókat talál majd arról, hogyan csatlakozhat az Obsidian Sync-hez.", "icloud-missing": "iCloud", "icloud-missing-desc": "Nem sikerült észlelni iCloud széfjét. Ez a következők miatt történhetett:", "icloud-missing-reason1": "Széfje egy másik iCloud fiókban van tárolva, nem pedig abban, amellyel jelenleg erre az eszközre be van jelentkezve.", "icloud-missing-reason2": "Széfje nem az Ön iCloud meghajtójának gyökérkönyvtárában található.", "i-cloud-unsupported": "Az iCloud nem támogatott", "i-cloud-unsupported-desc": "Az iCloud-dal történő szinkronizáció csak Apple eszközökön érhető el. Ha széfjét jelenleg iCloud-dal szinkronizálja, kérjük, járjon utána, hogyan teheti ezt meg egy másik szolgáltatással.", "allow-file-access": "Fájlhozzáférés engedélyezése", "msg-login-pending": "Beléptetés folyamatban...", "msg-name-required": "A széf neve kötelező", "msg-new-email-success": "Új megerősítő e-mail elküldve.", "msg-new-email-failure": "Az e-mail küldése sikertelen.", "msg-invalid-vault": "A széf helye mappa kell legyen." } }, "starter-content": { "welcome-filename": "Üdvözöljük", "welcome-file-content": "Ez az Ön új *széfje*.\n\nJegyzeteljen, [[hozzon létre hivatkozást]], vagy próbálja ki [az Importálót](https://help.obsidian.md/Plugins/Importer)!\n\nAmikor készen áll, törölje ezt a jegyzetet, és rendezze be széfjét tetszése szerint." }, "drag-and-drop": { "insert-link-here": "Hivatkozás beszúrása ide", "insert-links-here": "Hivatkozások beszúrása ide", "move-into-folder": "Áthelyezés ide: \"{{folder}}\"", "star-this-file": "Csillagozza meg ezt a fájlt", "star-these-files": "Csillagozza meg ezeket a fájlokat", "open-in-this-tab": "Megnyitás ezen a lapon", "open-as-tab": "Megnyitás új lapon" }, "window": { "maximize": "Teljes méret", "minimize": "Kis méret", "restore-down": "Előző méret", "close-window": "Ablak bezárása", "go-back": "Vissza", "go-forward": "Előre" }, "start-up": { "loading-obsidian": "Az Obsidian betöltése...", "obsidian-load-error": "Hiba történt az Obsidian betöltése közben.", "button-reload-app": "Alkalmazás újratöltése", "button-reload-app-in-safe-mode": "Alkalmazás újratöltése korlátozott módban", "button-open-another-vault": "Másik széf megnyitása", "loading-plugins": "Beépülők betöltése...", "msg-plugin-hang": "A(z) “{{plugin}}” betöltése túl sok időt vesz igénybe. ", "loading-vault": "Széf betöltése...", "msg-failed-to-load-vault": "A széf betöltése nem sikerült: ", "loading-cache": "Gyorsítótár betöltése...", "loading-workspace": "Munkaterület betöltése..." }, "mobile": { "action-import": "Importálás a széfbe", "action-insert-text-desc": "Szöveg hozzáadása fájlhoz:", "action-choose-file-to-insert": "Válasszon ki egy fájlt a beszúráshoz", "action-insert-text-into-file": "Szöveg beszúrása a(z) {{filename}} fájlba", "action-insert-link-into-file": "Hivatkozás beszúrása a(z) {{filename}} fájlba", "action-show-switcher": "Lapok áttekintő nézete", "msg-importing": "Importálás...", "msg-import-success": "Importálás sikeres", "msg-failed-to-import-file": "Nem sikerült a(z) {{filename}} fájl importálása", "msg-back-again-to-exit": "A kilépéshez nyomja meg ismét a vissza gombot.", "feedback": { "label-feedback": "Visszajelzés", "label-feedback-desc": "Tetszik Önnek az Obsidian? Segítse munkánkat az alkalmazás értékelésével.", "action-rate": "Alkalmazás értékelése", "action-dismiss": "Kihagyás" } }, "help-screen": { "label-official-help-site": "Hivatalos súgó", "label-official-help-site-desc": "Olvassa el az Obsidian hivatalos segédleteit, amelyek elérhetőek több nyelven.", "action-visit": "Megtekintés", "label-discord-chat": "Discord csevegés", "label-discord-chat-desc": "A Discord a legjobb hely a többi tapasztalt Obsidian felhasználóval való csevegéshez a világ minden tájáról.", "action-join": "Csatlakozás", "label-forum": "Hivatalos fórum", "label-forum-desc": "Segítsen másoknak, javasoljon új funkciókat, jelentsen hibákat, és folytasson mélyreható beszélgetéseket arról, hogyan kezelheti megszerzett ismereteit.", "label-sandbox-vault": "Homokozó széf", "label-sandbox-vault-desc": "Játszhat és kísérletezhet különböző funkciókkal. Kérjük, vegye figyelembe, hogy a változtatások nem lesznek mentve." } }, "commands": { "save-file": "Aktuális fájl mentése", "download-attachments": "Aktuális fájl csatolmányainak letöltése", "follow-cursor-link": "Ugrás a kurzor alatti hivatkozásra", "open-cursor-link-in-new-tab": "A kurzor alatti hivatkozás megnyitása új lapon", "open-cursor-link-to-the-right": "A kurzor alatti hivatkozás megnyitása jobb oldalon", "open-cursor-link-in-new-window": "A kurzor alatti hivatkozás megnyitása új ablakban", "navigate-tab-above": "Ugrás a fenti lapcsoportra", "navigate-tab-below": "Ugrás a lenti lapcsoportra", "navigate-tab-left": "Ugrás a bal oldali lapcsoportra", "navigate-tab-right": "Ugrás a jobb oldali lapcsoportra", "toggle-pin": "Lap rögzítése/feloldása", "split-right": "Felosztás jobbra", "split-down": "Felosztás lefelé", "toggle-stacked-tabs": "Vertikális lapok ki/be", "navigate-back": "Navigálás visszafelé", "navigate-forward": "Navigálás előrefelé", "use-dark-mode": "Sötét mód használata", "use-light-mode": "Világos mód használata", "change-theme": "Téma váltása", "search-current-file": "Keresés az aktuális fájlban", "search-replace-current-file": "Keresés és csere az aktuális fájlban", "add-property": "Fájltulajdonság hozzáadása", "label-sort-property-a-to-z": "Név szerinti rendezés (A-tól Z-ig)", "label-sort-property-z-to-a": "Név szerinti rendezés (Z-től A-ig)", "add-alias": "Alternatív név hozzáadása", "clear-properties": "Fájltulajdonságok törlése", "open-settings": "Beállítások megnyitása", "open-help": "Súgó megnyitása", "toggle-edit": "Szerkesztési/olvasási nézet váltása", "toggle-source-mode": "Élő előnézet/forrásmód váltása", "delete-current-file": "Aktuális fájl törlése", "new-tab": "Új lap", "show-trash": "Lomtár megjelenítése", "close-all-tabs": "Az összes lap bezárása", "close-active-tab": "Aktuális lap bezárása", "close-others-in-tab-group": "Többi lap bezárása a csoportban", "close-other-tabs": "Többi lap bezárása", "close-tab-group": "Lapcsoport bezárása", "toggle-left-sidebar": "Bal oldali oldalsáv ki/be", "toggle-ribbon": "Szalag eszköztár ki/be", "toggle-right-sidebar": "Jobb oldali oldalsáv ki/be", "toggle-default-new-tab-mode": "Alapértelmezett mód váltása az új lapokhoz", "add-cursor-above": "Kurzor hozzáadása fent", "add-cursor-below": "Kurzor hozzáadása lent", "focus-editor": "Fókuszálás a szerkesztőre", "toggle-fold-properties": "A tulajdonságok összecsukása/kibontása a jelenlegi fájlban", "toggle-fold": "A jelenlegi sor összecsukása/kibontása", "fold-all": "Az összes cím és lista összecsukása", "unfold-all": "Az összes cím és lista kibontása", "fold-more": "Több összecsukása", "fold-less": "Kevesebb összecsukása", "swap-line-up": "Sor felcserélése a fentivel", "swap-line-down": "Sor felcserélése a lentivel", "remove-heading": "Cím törlése", "toggle-heading": "Beállítás mint {{level}}. szintű cím", "toggle-bold": "Félkövér ki-/bekapcsolása a kijelölésben", "toggle-italics": "Dőlt ki-/bekapcsolása a kijelölésben", "toggle-highlight": "Kiemelés ki-/bekapcsolása a kijelölésben", "toggle-comments": "Megjegyzések ki-/bekapcsolása a kijelölésben", "clear-formatting": "Formázás törlése", "insert-link": "Hivatkozás beszúrása", "toggle-spellcheck": "Helyesírás-ellenőrzés ki-/bekapcsolása", "delete-paragraph": "Bekezdés törlése", "toggle-checklist": "Ellenőrző lista állapotának ki-/bekapcsolása", "cycle-list-checklist": "Listajel/jelölőnégyzet váltása", "insert-callout": "Felhívás beszúrása", "insert-code-block": "Kódblokk beszúrása", "insert-math-block": "Matematikai blokk beszúrása", "insert-horizontal-rule": "Vízszintes elválasztó beszúrása", "insert-table": "Táblázat beszúrása", "insert-footnote": "Lábjegyzet beszúrása", "edit-file-title": "Fájlnév szerkesztése", "copy-path": "Fájl elérési útvonalának másolása", "copy-url": "Obsidian URL másolása", "export-pdf": "Exportálás PDF-be", "reload": "Alkalmazás újratöltése mentés nélkül", "undo-close-tab": "Lapbezárás visszavonása", "context-menu": "Helyi menü megjelenítése a kurzor alatt", "show-debug-info": "Hibakeresési információk megjelenítése", "open-sandbox-vault": "Homokozó széf megnyitása", "always-on-top": "Ablak mindig előtérben ki/be", "zoom-in": "Nagyítás", "zoom-out": "Kicsinyítés", "reset-zoom": "Alapértelmezett nagyítás", "toggle-preview": "Szerkesztés/előnézet mód váltása", "move-to-new-window": "Aktuális panel mozgatása új ablakba", "open-in-new-window": "Aktuális panel megnyitása új ablakban", "rename-current-file": "Aktuális fájl átnevezése", "go-to-prev-tab": "Ugrás az előző lapra", "go-to-next-tab": "Ugrás a következő lapra", "go-to-last-tab": "Ugrás az utolsó lapra", "go-to-nth-tab": "Ugrás a(z) {{n}}. lapra", "show-release-notes": "Kiadási jegyzetek megjelenítése" }, "dialogue": { "label-link-affected": "Ez érinti a(z) {{links}} hivatkozást a(z) {{files}} fájlban.", "msg-updated-links": "{{links}} frissítve a(z) {{files}} fájlban.", "label-update-links": "Hivatkozások frissítése", "label-confirm-update-link-to-file": "Szeretné frissíteni a belső hivatkozásokat, amelyek erre a fájlra mutatnak?", "button-always-update": "Mindig frissítse", "button-just-once": "Csak egyszer", "button-do-not-update": "Ne frissítse", "label-confirm-deletion": "Biztosan törli a(z) \"{{filename}}\" fájlt?", "label-move-to-system-trash": "Áthelyezés a rendszer lomtárába.", "label-move-to-vault-trash": "Áthelyezés az Obsidian lomtárába, amely a széfjében tárolt \".trash\" rejtett mappában található.", "label-permanent-delete": "A fájl véglegesen törlődni fog.", "label-non-empty-folder": "Ez a mappa nem üres.", "label-delete-folder-warning": "Ha folytatja, az összes fájl ebben a mappában törlődni fog.", "label-delete-folder": "Mappa törlése", "button-delete": "Törlés", "button-delete-do-not-ask-again": "Törlés, és többé ne kérdezzen rá", "label-do-not-ask-again": "Ne kérdezzen rá újra", "label-existing-backlink": "Jelenleg {{count}} hivatkozás mutat erre a jegyzetre.", "label-existing-backlink_plural": "Jelenleg {{count}} hivatkozás mutat erre a jegyzetre.", "label-delete-file": "Fájl törlése", "label-download-attachments": "Csatolmányok letöltése", "label-no-attachments": "Ez a jegyzet nem rendelkezik külső csatolmánnyal.", "label-downloaded-attachments": "{{count}} csatolmány letöltve.", "label-downloaded-attachments_plural": "{{count}} csatolmány letöltve.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Kezelés", "button-view": "Megtekintés", "button-confirm": "Megerősítés", "button-cancel": "Mégse", "button-download": "Letöltés", "button-done": "Kész", "button-save": "Mentés", "button-stop": "Leállítás", "button-continue": "Folytatás", "button-choose": "Kiválasztás", "button-retry": "Újra", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "PDF előkészítése...", "label-rename-file": "Fájl átnevezése", "label-rename-file-generic": "Fájlnév", "label-new-name": "Új név", "msg-rename-success": "Fájl sikeresen átnevezve.", "msg-merge-failed": "A jegyzetek egyesítése sikertelen: {{message}}", "msg-file-or-folder-not-found": "A “{{path}}” fájl vagy mappa nem létezik.", "msg-heading-empty": "A cím nem lehet üres", "msg-block-id-empty": "A blokkazonosító nem lehet üres", "msg-block-id-invalid": "A blokkazonosító csak betűt, számot és kötőjelet tartalmazhat", "label-rename-heading": "Cím átnevezése", "label-rename-blockid": "Blokkazonosító átnevezése" }, "menu-items": { "new-file": "Jegyzet létrehozása", "new-file-to-the-right": "Új jegyzet jobbra", "new-window": "Új ablak", "open-switcher": "Gyors megnyitás...", "open-vault": "Széf megnyitása...", "close-tab": "Lap bezárása", "close-window": "Ablak bezárása", "find": "Keresés", "replace": "Csere", "insert-callout": "Felhívás", "insert-markdown-link": "Markdown hivatkozás", "insert-wikilink": "Hivatkozás", "set-heading": "Cím {{level}}", "no-heading": "Nincs cím", "insert-quote": "Idézet", "export-pdf": "PDF exportálása...", "insert-attachment": "Csatolmány beszúrása...", "insert-codeblock": "Kódblokk", "insert-math-block": "Matematikai blokk", "insert-table": "Táblázat", "insert-footnote": "Lábjegyzet", "toggle-bullet-list": "Pontozott lista", "toggle-numbered-list": "Számozott lista", "toggle-checklist": "Teendőlista", "toggle-bold": "Félkövér", "toggle-code": "Kód", "toggle-comment": "Megjegyzés", "toggle-italics": "Dőlt", "toggle-inline-math": "Matematika", "toggle-highlight": "Kiemelés", "toggle-strikethrough": "Áthúzás", "toggle-comments": "Megjegyzés", "folding-menu": "Összecsukás", "fold-all": "Mindet összecsuk", "unfold-all": "Mindet kibont", "fold-more": "Több összecsukása", "fold-less": "Kevesebb összecsukása", "source-mode": "Forrásmód", "reading-view": "Olvasási nézet", "show-debug-info": "Hibakeresési információk megjelenítése", "open-sandbox": "Homokozó széf megnyitása", "navigate-back": "Navigálás visszafelé", "navigate-forward": "Navigálás előrefelé", "toggle-left-sidebar": "Bal oldali oldalsáv ki/be", "toggle-right-sidebar": "Jobb oldali oldalsáv ki/be", "toggle-ribbon": "Szalag", "split-right": "Felosztás jobbra", "split-down": "Felosztás lefelé", "release-notes": "Kiadási jegyzetek" }, "plugins": { "name": "Bővítmények", "file-explorer": { "name": "Fájlkezelő", "desc": "Megtekintheti a széfjében található összes fájlt.", "action-open": "Fájlkezelő megnyitása", "action-show": "Fájlkezelő megjelenítése", "action-create-note": "Új jegyzet létrehozása", "action-create-folder": "Új mappa létrehozása", "action-create-note-in-current-tab": "Új jegyzet készítése a jelenlegi lapon", "action-create-note-to-the-right": "Jegyzet létrehozása jobbra", "action-auto-reveal": "Aktuális fájl automatikus megjelenítése", "action-collapse-all": "Összes összecsukása", "action-expand-all": "Összes kibontása", "action-new-note": "Új jegyzet", "action-new-folder": "Új mappa", "action-change-sort": "Rendezési sorrend módosítása", "action-reveal-file": "Fájl megjelenítése a fájlkezelőben", "action-reveal-active-file": "Aktív fájl megjelenítése a fájlkezelőben", "command-make-a-copy": "Másolat készítése az aktuális fájlról", "command-make-a-copy-mac": "Aktuális fájl duplikálása", "command-move-file": "Fájl áthelyezése másik mappába", "action-new-folder-with-count": "Új mappa a kijelöltekből ({{count}} elem)", "action-new-folder-with-count_plural": "Új mappa a kijelöltekből ({{count}} elem)", "action-move-file": "Fájl áthelyezése ide...", "action-move-folder": "Mappa áthelyezése ide...", "action-move-items": "{{count}} elem áthelyezése ide...", "prompt-type-folder": "Adjon meg egy mappát", "label-no-folders": "Nincs mappa.", "instruction-navigate": "navigáláshoz", "instruction-move": "mozgatáshoz", "instruction-create": "létrehozáshoz", "instruction-dismiss": "elvetéshez", "label-sort-a-to-z": "Fájlnév szerint (A-tól Z-ig)", "label-sort-z-to-a": "Fájlnév szerint (Z-től A-ig)", "label-sort-new-to-old": "Módosítás ideje szerint (új -> régi)", "label-sort-old-to-new": "Módosítás ideje szerint (régi -> új)", "label-sort-created-old-to-new": "Létrehozási idő szerint (régi -> új)", "label-sort-created-new-to-old": "Létrehozási idő szerint (új -> régi)", "menu-opt-new-note": "Új jegyzet", "menu-opt-new-folder": "Új mappa", "menu-opt-rename": "Átnevezés", "menu-opt-delete": "Törlés", "menu-opt-make-copy": "Másolat készítése", "menu-opt-make-copy-mac": "Duplikálás", "msg-invalid-characters": "A fájlnév nem tartalmazhatja az alábbi karaktereket: ", "msg-unsafe-characters": "A hivatkozások nem fognak működni olyan fájlnevekkel, amelyek tartalmazzák az alábbi karaktereket: ", "msg-file-already-exists": "Már létezik egy fájl ugyanezzel a névvel", "msg-empty-file-name": "A fájlnév nem lehet üres.", "msg-bad-dotfile": "A fájlnév nem kezdődhet ponttal.", "tooltip-modified-time": "Utolsó módosítás időpontja: {{time}}", "tooltip-created-time": "Létrehozás időpontja: {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Névtelen", "label-untitled-folder": "Névtelen", "msg-set-attachment-folder": "A mellékletek mostantól a \"{{path}}\" mappába lesznek mentve." }, "search": { "name": "Keresés", "desc": "Keresés kulcsszó alapján az összes jegyzetben.", "action-open-search": "Keresés minden fájlban", "label-collapse-results": "Eredmények összecsukása", "label-match-case": "Kis- és nagybetű megkülönböztetése", "label-explain-search-term": "Keresési kifejezés magyarázata", "label-more-context": "Több kontextus mutatása", "label-result-count": "{{count}} találat", "label-result-count_plural": "{{count}} találat", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Keresési beállítások", "prompt-start-search": "A kereséshez írjon ide...", "label-match-text": "Egyezés szöveggel: ", "label-match-regex": "Egyezés regex-szel: ", "label-match-exact-text": "Tartalmazza e szöveget: ", "label-match-greater-than": "Nagyobb mint: ", "label-match-less-than": "Kisebb mint: ", "label-match-true": "igaz", "label-match-false": "hamis", "label-match-empty": "üres", "label-match-property": "Tartalmaz tulajdonságot:", "label-match-all": "Egyezés mindegyikkel: ", "label-match-any": "Egyezés ezek egyikével: ", "label-excluding": "Kivéve: ", "label-case-sensitive": "Kis-/nagybetűre érzékeny", "label-case-insensitive": "Kis-/nagybetűre nem érzékeny", "label-match-file-path": "Egyezés fájl elérési útvonalával: ", "label-match-file-name": "Egyezés fájlnévvel: ", "label-match-content": "Fájl tartalma egyezik: ", "label-match-task": "Egyezés feladattal: ", "label-match-task-todo": "Egyezés feladattal (teendő): ", "label-match-task-done": "Egyezés feladattal (kész): ", "label-match-line": "Egyezés sorral: ", "label-match-block": "Egyezés blokkal: ", "label-match-section": "Egyezés szekcióval: ", "label-match-tag": "Egyezés címkével: ", "label-no-matches": "Nincs találat.", "matches-with-count": "... és {{count}} további találat.", "matches-with-count_plural": "... és {{count}} további találat.", "label-copy-search-results": "Keresési találatok másolása", "button-copy-results": "Találatok másolása", "msg-successfully-copied": "Az eredmények másolva lettek a vágólapra.", "option-show-path": "Elérési útvonal megjelenítése", "option-show-path-description": "Teljes fájl elérési útvonalának, nem csak a fájlnév, megjelenítése.", "option-link-style": "Hivatkozás stílusa", "option-link-style-description": "Megadhatja, hogy az egyes fájltalálatok hivatkozássá legyenek átalakítva.", "option-choice-link-style-none": "Nincs", "option-choice-link-style-wikilink": "Wikihivatkozás", "option-choice-link-style-markdown-link": "Markdown hivatkozás", "option-list-prefix": "Lista előtagja", "option-list-prefix-description": "Kiválaszthatja, milyen listaelem előtag kerüljön az egyes fájltalálatok elé.", "option-choice-list-style-none": "Nincs", "option-choice-list-style-dash": "Kötőjel (-)", "option-choice-list-style-asterisk": "Csillag (*)", "option-choice-list-style-numbered": "Számozott", "tooltip-clear-search": "Keresés törlése", "label-search-options": "Keresési lehetőségek", "label-properties-group": "Tulajdonságok", "label-tags-group": "Címkék", "tooltip-read-more": "További információk", "label-history": "Előzmények", "tooltip-clear-history": "Keresési előzmények törlése", "label-path-option-description": "a fájl elérési útvonala alapján", "label-file-name-option-description": "a fájlnév alapján", "label-tag-option-description": "a címkék alapján", "label-line-option-description": "azonos sorban lévő kulcsszavak alapján", "label-section-option-description": "azonos cím alatti kulcsszavak alapján", "label-property-option-description": "egyező tulajdonság alapján", "menu-opt-search-for": "Keresés erre: \"{{keyword}}\"", "menu-opt-search-in-folder": "Keresés a mappában" }, "quick-switcher": { "name": "Gyors váltó", "desc": "Ugrás a fájlok között a billentyűzet elengedése nélkül. Ctrl/Cmd+O az aktiváláshoz.", "short-name": "Váltó", "action-open": "Gyors váltó megnyitása", "instruction-navigate": "a navigáláshoz", "instruction-open": "a megnyitáshoz", "instruction-open-in-new-tab": "megnyitás új lapon", "instruction-open-to-the-right": "megnyitás jobbra", "instruction-create": "létrehozás", "instruction-dismiss": "elvetés", "instruction-select": "kiválasztás", "label-no-note-create-new": "Nem található jegyzet. Létrehozáshoz üssön Enter-t.", "prompt-type-file-name": "Fájlnév vagy létrehozás...", "label-enter-to-create": "Létrehozáshoz üssön Enter-t", "tooltip-not-created-yet": "Még nincs létrehozva, válassza ki a létrehozáshoz", "option-show-existing-only": "Csak létező linkek megjelenítése", "option-show-existing-only-description": "Hogy megjelenítse-e azokat a fájlokra mutató linkeket, amelyek még nem léteznek.", "option-show-attachments": "Csatolmányok megjelenítése", "option-show-attachments-desc": "Csatolmányfájlok megjelenítése, mint például képek, videók és PDF-ek.", "option-show-all-file-types": "Minden fájltípus megjelenítése", "option-show-all-file-types-desc": "Megjeleníti az összes fájlt, beleértve azokat is, amelyeket az Obsidian nem tud megnyitni. A fájl a fájltípushoz tartozó alapértelmezett alkalmazásban fog megnyílni." }, "graph-view": { "name": "Gráf nézet", "desc": "Megtekintheti a jegyzetekről készített gráf áttekintést.", "action-open": "Gráf nézet megnyitása", "action-open-local": "Helyi gráf megnyitása", "action-copy-screenshot": "Képernyőkép másolása", "tab-title": "{{displayText}} gráfja", "label-filters": "Szűrők", "prompt-filter-nodes": "Fájlok keresése...", "option-depth": "Mélység", "option-depth-description": "A csomópontok megjelenítése ennyi ugrás távolságra", "option-neighbor-links": "Szomszédos hivatkozások", "option-neighbor-links-description": "Kapcsolatok megjelenítése a szomszédos fájlok között.", "option-forelinks": "Kimenő hivatkozások", "option-forelinks-description": "Hivatkozások megjelenítése más fájlokra", "option-backlinks": "Visszahivatkozások", "option-backlinks-description": "Hivatkozások megjelenítése más fájlokból", "option-show-tags": "Címkék", "option-show-tags-description": "A címkék azon fájlokhoz kapcsolódnak, amelyek tartalmazzák őket.", "option-show-attachments": "Csatolmányok", "option-show-attachments-description": "A fájlokban található csatolmányok megjelenítése", "option-show-existing-files-only": "Csak létező fájlok megjelenítése", "option-show-existing-files-only-description": "Ha be van jelölve, elrejti a nem létező fájlokra mutató kapcsolatokat.", "option-show-orphans": "Árva fájlok", "option-show-orphans-description": "Megjeleníti azon fájlokat, amelyekre már más fájl nem hivatkozik", "label-display": "Megjelenítés", "option-show-arrows": "Nyilak", "option-show-arrows-description": "Nyilak megjelenítése nagyítás során", "option-text-fade": "Szöveg áttetszősége", "option-node-size": "Csomópont mérete", "option-link-thickness": "Kapcsolat vastagsága", "label-forces": "Erők", "option-center-force": "Középponti vonzás", "option-link-force": "Kapcsolati erő", "option-link-distance": "Kapcsolat távolsága", "option-repel-force": "Taszítás", "tooltip-open-graph-settings": "Gráf-beállítások megnyitása", "msg-screenshot-copied": "Képernyőkép másolva lett a vágólapra.", "label-groups": "Csoportok", "placeholder-enter-query": "Adjon meg lekérdezést...", "tooltip-delete-graph": "Csoport törlése", "button-new-group": "Új csoport", "tooltip-click-to-change-drag-to-reorder": "Kattintson a szín megváltoztatásához\nHúzza az újrarendezéshez", "action-timelapse": "Gráf timelapse animáció elindítása", "tooltip-start-timelapse-animation": "Timelapse animáció elindítása", "button-animate-timelapse": "Animáció" }, "backlinks": { "name": "Visszahivatkozások", "desc": "A visszahivatkozások számának megjelenítése az állapotsorban.", "action-open": "Visszahivatkozások megnyitása", "action-show": "Visszahivatkozások panel megjelenítése", "action-open-for-current": "Visszahivatkozások megnyitása az aktuális fájlhoz", "action-toggle-backlinks-in-document": "Visszahivatkozások ki-/bekapcsolása a dokumentumban", "menu-opt-backlinks-in-document": "Visszahivatkozások a dokumentumban", "label-linked-mentions": "Kapcsolt említések", "label-no-backlinks": "Nem található visszahivatkozás.", "label-unlinked-mentions": "Nem kapcsolt említések", "label-show-search": "Keresési szűrő megjelenítése", "label-link-button-text": "Hivatkozás", "tab-title": "{{displayText}} visszahivatkozásai", "label-no-unlinked-mentions": "Nem található nem kapcsolt említés.", "ellipsis": "...", "option-backlink-in-document": "Visszahivatkozás a dokumentumban", "option-backlink-in-document-desc": "Az új panelek megnyitásakor alapértelmezetten megjeleníti a visszahivatkozásokat a dokumentumban." }, "outgoing-links": { "name": "Kimenő kapcsolatok", "desc": "Kimenő kapcsolatok megjelenítése és más jegyzetek nem kapcsolt említéseinek észlelése az aktuális jegyzetben.", "action-open": "Kimenő kapcsolatok megnyitása", "action-show": "Kimenő kapcsolatok panel megjelenítése", "action-open-for-current": "Kimenő kapcsolatok megnyitása az aktuális fájlhoz", "tab-title": "Kimenő kapcsolatok a(z) {{displayText}} jegyzetből", "label-links": "Kapcsolatok", "label-no-links": "Nem található kapcsolat.", "label-unlinked-mentions": "Nem kapcsolt említések", "tooltip-link-file": "Jegyzethez kapcsolás", "tooltip-not-created": "Még nincs létrehozva" }, "tag-pane": { "name": "Címke panel", "short-name": "Címkék", "desc": "Megjeleníti az összes címkét azok előfordulási számaival együtt.", "action-show": "Címke panel megjelenítése", "label-no-tags": "Nem található címke.", "label-sort-by-name-a-to-z": "Címke neve (A-tól Z-ig)", "label-sort-by-name-z-to-a": "Címke neve (Z-től A-ig)", "label-sort-by-frequency-high-to-low": "Gyakoriság (csökkenő)", "label-sort-by-frequency-low-to-high": "Gyakoriság (növekvő)", "action-show-nested-tags": "Beágyazott címkék megjelenítése", "action-collapse-all": "Összes összecsukása", "action-expand-all": "Összes kibontása" }, "footnotes-pane": { "name": "Lábjegyzet nézet", "short-name": "Lábjegyzetek", "desc": "Megjeleníti az aktuális jegyzetben található lábjegyzeteket.", "action-show": "Lábjegyzetek megjelenítése", "label-no-footnotes": "Nem található lábjegyzet." }, "properties": { "name": "Tulajdonságok nézet", "desc": "Fájlok metaadatainak mutatása.", "name-global": "Minden tulajdonság", "name-local": "Fájl tulajdonságok", "tab-title": "{{displayText}} fájl tulajdonságai", "action-show": "Minden tulajdonság megjelenítése", "action-show-local": "Fájl tulajdonságok megjelenítése", "opt-unassign-type": "Típus hivatkozás törlése", "label-no-properties": "Nincsenek tulajdonságok.", "label-invalid-properties": "Érvénytelen tulajdonságok.", "label-sort-by-name-a-to-z": "Tulajdonság neve (A-tól Z-ig)", "label-sort-by-name-z-to-a": "Tulajdonság neve (Z-től A-ig)", "label-sort-by-frequency-high-to-low": "Gyakoriság (csökkenő)", "label-sort-by-frequency-low-to-high": "Gyakoriság (növekvő)", "msg-merge-properties-warning": "Összevonja a(z) “{{oldKey}}” és “{{newKey}}” tulajdonságokat?", "msg-merge-properties-warning-desc": "Ütközések esetén az értékek kerülnek összevonásra, vagy “{{oldKey}}” értéke lesz használva.", "action-collapse-all": "Mindet összecsuk", "action-expand-all": "Mindet kinyit", "action-open-local": "Fájl tulajdonságok megnyitása", "action-open-daily-note": "Napi jegyzet megnyítása" }, "page-preview": { "name": "Oldal előnézet", "desc": "Jegyzet előnézetének megjelenítése az egér belső hivatkozásra történő mozgatásával. Ctrl/Cmd + egérmozgatás szerkesztő módban.", "label-empty-attachment": "“{{linktext}}” nem található.", "label-empty-note": "A \"{{linktext}}\" még nincs létrehozva. Kattintson a létrehozáshoz.", "label-missing-footote": "A következő lábjegyzet nem található: {{id}}. Kattintson ide a létrehozáshoz.", "label-source-editor": "Szerkesztő", "label-source-preview": "Előnézet", "label-source-search": "Keresés, visszahivatkozások és kimenő linkek", "label-source-tab-header": "Lap címsávja", "label-require-mod": "Az oldal előnézetének megjelenítéséhez szükséges billentyű: {{key}}" }, "bookmarks": { "name": "Könyvjelzők", "desc": "Gyakran használt fájlok és keresések könyvjelzőzése.", "action-show": "Könyvjelzők megjelenítése", "action-collapse-all": "Összes összecsukása", "action-new-bookmark": "Könyvjelző létrehozása az aktív laphoz...", "action-new-group": "Új könyvjelző-csoport", "action-bookmark": "Könyvjelző...", "action-add-bookmark": "Könyvjelző hozzáadása", "action-edit-bookmark": "Könyvjelző szerkesztése", "action-bookmark-block": "Új könyvjelző a kurzor alatti blokkhoz...", "action-bookmark-heading": "Új könyvjelző a kurzor alatti fejléchez...", "action-bookmark-search": "Új könyvjelző a jelenlegi kereséshez...", "action-remove-bookmark": "Könyvjelző eltávolítása az aktuális fájlból", "action-bookmark-tab-group": "{{count}} lap könyvjelzőzése...", "action-bookmark-tab-group_plural": "{{count}} lap könyvjelzőzése...", "action-bookmark-all-tabs": "Az összes lap könyvjelzőzése...", "action-bookmark-graph": "Új könyvjelző ezen gráfhoz...", "label-bookmark": "Könyvjelző", "label-bookmarked": "Mentve a könyvjelzőkhöz", "label-bookmark-with-count": "{{count}} könyvjelző", "label-bookmark-with-count_plural": "{{count}} könyvjelző", "label-no-bookmarks": "Nem található könyvjelző", "label-invalid-data": "Könyvjelzők betöltése sikertelen.", "label-invalid-data-desc": "Az adatfájl sérült.", "label-untitled-group": "Névtelen csoport", "label-untitled-graph": "Névtelen gráf", "menu-opt-edit": "Szerkesztés...", "menu-opt-remove": "Eltávolítás", "menu-opt-rename": "Átnevezés", "menu-opt-bookmark-block": "Új könyvjelző ezen blokkhoz...", "menu-opt-bookmark-heading": "Új könyvjelző ezen fejléchez...", "msg-no-search-query": "Nincs keresési lekérdezés könyvjelző létrehozásához.", "option-path": "Útvonal", "option-query": "Lekérdezés", "option-u-r-l": "URL", "option-title": "Cím", "option-group": "Könyvjelző-csoport", "placeholder-bookmark-group": "Könyvjelzők" }, "custom-css": { "name": "Egyedi CSS", "desc": "Beolvassa az \"obsidian.css\"-t a széfbe és alkalmazza azt.", "setting-community-themes": "Közösségi témák", "msg-fetching-themes": "Közösségi témaadatok letöltése...", "prompt-filter": "Szűrő...", "label-dark-theme-only": "Csak sötét témák", "label-light-theme-only": "Csak világos témák", "label-use": "Használat", "label-stop-use": "Témahasználat befejezése", "label-install-and-use": "Telepítés és használat", "label-update": "Frissítés", "label-no-readme": "Ehhez a témához nem tartozik README fájl.", "tooltip-remove-theme": "Téma eltávolítása", "label-visit-on-github": "Megtekintés a GitHub-on", "msg-load-error": "Nem sikerült betölteni a közösségi témákat, kérjük ellenőrizze a hálózati kapcsolatot.", "msg-now-using-theme": "Most a(z) \"{{title}}\" témát használja a CSS témájaként.", "msg-deleted-theme": "A(z) \"{{title}}\" téma törölve lett.", "msg-updated-theme": "A(z) \"{{title}}\" téma frissítve lett.", "label-installed": "Telepítve", "label-legacy": "Örökölt", "button-update-all-themes": "Az összes frissítése", "msg-failed-load-themes": "Nem sikerült betölteni a közösségi témákat.", "msg-no-updates-found": "Nem található témafrissítés.", "msg-updates-found": "{{count}} témafrissítés található.", "msg-updates-found_plural": "{{count}} témafrissítés található.", "msg-failed-to-install-theme": "Nem sikerült telepíteni a(z) \"{{name}}\" témát.", "msg-successfully-installed-theme": "A(z) \"{{name}}\" téma sikeresen telepítve lett.", "msg-installing-theme": "A(z) \"{{name}}\" téma telepítése...", "label-search-summary": "{{themeCount}} téma:", "label-update-available": "Frissítés érhető el" }, "command-palette": { "name": "Parancspaletta", "desc": "Gépeljen egy parancsot annak meghívásához. Nem szükséges a felhasználói felület használata vagy a gyorsbillentyűk megjegyzése.", "action-open": "Parancspaletta megnyitása", "instruction-navigate": "navigáláshoz", "instruction-use": "használathoz", "instruction-dismiss": "elutasításhoz", "label-no-commands": "Nincsenek találatok.", "prompt-type-command": "Gépeljen be egy parancsot...", "label-pinned-commands": "Rögzített parancsok", "option-add-new-pin": "Új rögzített parancs", "option-add-new-pin-description": "A rögzített parancsok az összes parancs felett jelennek meg, amikor nincs keresési lekérdezés megadva." }, "markdown-format-importer": { "name": "Markdown formátum importáló", "desc": "Konvertálja más alkalmazások Markdown-ját az Obsidian formátumába.", "action-open": "Markdown importáló megnyitása", "option-roam-tag-fixer": "Roam Research címkejavító", "option-roam-tag-fixer-description": "Átalakítja a \"#címke\" és \"#[[címke]]\" formátumot \"[[címke]]\"-re.", "option-roam-highlight-fixer": "Roam Research kiemelésjavító", "option-roam-highlight-fixer-description": "Átalakítja a \"^^kiemelés^^\" formátumot \"==kiemelés==\"-re.", "option-roam-todo-converter": "Roam Research TEENDŐ-átalakító", "option-roam-todo-converter-description": "Átalakítja a \"{{[[TODO]]}}\" formátumot \"[ ]\"-re.", "option-bear-highlight-fixer": "Bear kiemelésjavító", "option-bear-highlight-fixer-description": "Átalakítja a \"::kiemelés::\" formátumot \"==kiemelés==\"-re.", "zettelkasten-link-fixer": "Zettelkasten hivatkozásjavító", "zettelkasten-link-fixer-description": "Javítja az \"[[UID]]\" hivatkozásokat teljes \"[[UID Fájlnév]]\" formátumra.", "zettelkasten-link-beautifier": "Zettelkasten hivatkozás szebbé tétele", "zettelkasten-link-beautifier-description": "Javítja az \"[[UID]]\" hivatkozásokat, és szebbé teszi őket \"[[UID Fájlnév|Fájlnév]]\" formátumban.", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Figyelem: az importáló minden fájlt átkonvertál a széfjében, nem csak az aktuális fájlt.", "msg-override-files-warning": "A fájlok felül lesznek írva. Mielőtt konvertálná őket, készítsen biztonsági másolatot minden fájljáról.", "label-start-conversion": "Konvertálás indítása", "label-stop": "Leállítás", "label-go-back": "Vissza", "label-done": "Kész", "label-processing": "Feldolgozás...", "label-cancelling": "Mégsem...", "label-finished": "Kész!", "label-processed-files": "Feldolgozott fájlok", "label-modified-files": "Módosított fájlok", "label-total-replacements": "Összes csere", "label-failed": "Failed" }, "daily-notes": { "name": "Napi jegyzetek", "desc": "Megnyitja a mai napi jegyzetet, vagy létrehoz egyet, ha az még nem létezik.", "short-name": "Mai", "action-open": "Mai jegyzet megnyitása", "action-open-previous": "Előző napi jegyzet megnyitása", "action-open-next": "Következő napi jegyzet megnyitása", "action-insert-text": "Szöveg beszúrása a napi jegyzetbe", "action-insert-link": "Hivatkozás beszúrása a napi jegyzetbe", "msg-fail-format": "Nem sikerült létrehozni a napi jegyzetet. A(z) \"{{format}}\" formátum nem érvényes.", "msg-fail-folder": "Nem sikerült létrehozni a napi jegyzetet. A(z) \"{{folderOption}}\" mappa nem található.", "msg-fail-template-file": "Nem sikerült létrehozni a napi jegyzetet. A(z) \"{{template}}\" sablonfájl nem található.", "msg-no-previous": "Nincs ettől korábbi napi jegyzet.", "msg-no-next": "Nincs ettől későbbi napi jegyzet.", "option-date-format": "Dátumformátum", "label-refer-to-syntax": "Részletesebb szintaxisért tekintse meg a ", "label-syntax-link": "formátum referenciát.", "label-syntax-live-preview": "Így fog megjelenni: ", "option-new-file-location": "Új fájl helye", "option-new-file-location-description": "A mappa útvonala az új napi jegyzet létrehozásához.", "option-template": "Sablonfájl helye", "option-template-description": "A sablonként használandó fájl útvonala.", "option-open-on-start": "Napi jegyzet megnyitása induláskor", "option-open-on-start-description": "A napi jegyzet automatikus megnyitása a széf megnyitásakor." }, "unique-note-creator": { "name": "Egyedi jegyzet létrehozó", "desc": "Jegyzeteket hozhat létre egyedi időbélyeg előtaggal, például zettelkasten vagy slip box munkafolyamatokhoz.", "short-name": "Egyedi", "action-create-note": "Új egyedi jegyzet létrehozása", "action-add-link": "Egyedi belső hivatkozás hozzáadása", "option-new-file-location": "Új fájl helye", "option-new-file-location-description": "A mappa útvonala az új egyedi jegyzet létrehozásához.", "msg-folder-not-found": "Nem sikerült létrehozni az egyedi jegyzetet. A(z) \"{{folderOption}}\" mappa nem található.", "option-template-file": "Sablonfájl helye", "option-template-file-description": "A sablonként használandó fájl útvonala.", "option-template-file-placeholder": "Példa: mappa1/jegyzet", "option-id-format": "Egyedi előtag formátuma", "msg-template-file-not-found": "Nem sikerült létrehozni az egyedi jegyzetet. A(z) \"{{template}}\" sablonfájl nem található.", "msg-failed-to-generate": "Nem sikerült létrehozni az egyedi jegyzetet a(z) \"{{format}}\" formátumban." }, "random-note": { "name": "Véletlenszerű jegyzet", "desc": "Megnyit egy véletlenszerűen kiválasztott jegyzetet. Hasznos felülvizsgálathoz és felfedezéshez.", "short-name": "Véletlen", "action-open": "Véletlenszerű jegyzet megnyitása" }, "outline": { "name": "Vázlat", "desc": "A jelenlegi fájl vagy hivatkozott panel vázlatának megjelenítése.", "action-open": "Vázlat megnyitása", "action-show": "Vázlat panel megjelenítése", "action-open-for-current": "Jelenlegi fájl vázlatának megnyitása", "tab-title": "{{displayText}} vázlata", "label-no-headings": "Nincsenek fejlécek.", "label-follow-cursor": "Auto. görgetés az aktuális szakaszhoz" }, "word-count": { "name": "Szavak száma", "desc": "Szavak számának megjelenítése az állapotsorban." }, "slides": { "name": "Diák", "desc": "Előadás Markdown formátumból. Használja a \"---\" jelet a diák elválasztásához.", "action-start": "Előadás indítása" }, "audio-recorder": { "name": "Hangrögzítő", "desc": "Hang felvétele és mellékletként mentése.", "action-start": "Hangfelvétel indítása", "action-stop": "Hangfelvétel leállítása", "action-toggle": "Hangvelvétel indítása/leállítása", "msg-access-denied": "A mikrofonhoz való hozzáférés megtagadva, engedélyezze a beállítások panelről.", "msg-pending-grant": "Kérjük, engedélyezze a mikrofon használatát a felvétel megkezdéséhez.", "msg-no-microphone": "Nincs mikrofon csatlakoztatva." }, "open-with-default-app": { "name": "Megnyitás az alapértelmezett alkalmazásban", "desc": "Gomb hozzáadása az aktuális fájl megnyitásához az alapértelmezett alkalmazásban.", "action-open-file": "Megnyitás az alapértelmezett alkalmazásban", "action-open-file-mobile": "Megosztás", "action-show-in-folder": "Megjelenítés mappában", "action-show-in-folder-mac": "Megjelenítés a Finder-ben" }, "templates": { "name": "Sablonok", "desc": "Sablon tartalom beszúrása sablonfájlok egy mappájából.", "action-insert": "Sablon beszúrása", "action-insert-current-date": "Aktuális dátum beszúrása", "action-insert-current-time": "Aktuális idő beszúrása", "option-template-folder-location": "Sablonmappa helye", "option-template-folder-location-description": "Ebben a mappában lévő fájlok lesznek elérhetőek sablonként.", "option-template-date-format": "Dátumformátum", "option-template-date-format-description": "A sablonfájlban lévő {{date}} erre az értékre lesz lecserélve.", "option-template-date-format-description2": "Lehetőség van a {{date:YYYY-MM-DD}} használatára, hogy felülbírálja a formátumot.", "option-template-time-format": "Időformátum", "option-template-time-format-description": "A sablonfájlban lévő {{time}} erre az értékre lesz lecserélve.", "option-template-time-format-description2": "Lehetőség van a {{time:HH:mm}} használatára, hogy felülbírálja a formátumot.", "instruction-navigate": "a navigáláshoz", "instruction-insert": "sablon beszúrásához", "instruction-dismiss": "a bezáráshoz", "msg-no-templates-found": "Nincsenek sablonok", "msg-fail-invalid-folder": "Nem sikerült listázni a sablonokat. A sablonmappa érvénytelen.", "msg-fail-folder-not-found": "Nem sikerült listázni a sablonokat. A(z) \"{{folderOption}}\" mappa nem található.", "msg-fail-invalid-template-properties": "A sablon beszúrása sikertelen. Nem lehetett beolvasni a sablonfájlban található tulajdonságokat.", "msg-no-folder-set": "Nem sikerült listázni a sablonokat. Nincs konfigurált sablonmappa.", "prompt-type-template": "Írja be a sablon nevét..." }, "translucency": { "name": "Áttetsző ablak", "desc": "Az áttetsző hatás bekapcsolása a térérzet fokozásához. Legjobban sötét mód használatával érvényesül. Linuxon nem támogatott." }, "slash-command": { "name": "Perjel parancsok", "desc": "Engedélyezi a perjel-parancsok aktiválását a szerkesztőben a / karakter beírásával." }, "editor-status": { "name": "Szerkesztő állapota", "desc": "Hozzáad egy állapotsor elemet, ami megmutatja és megváltoztatja a jelenlegi szerkesztő módját.", "read": "Olvasás", "edit-source": "Forrás mód", "edit-live-preview": "Élő előnézet" }, "publish": { "name": "Publikálás", "desc": "Publikálhatja jegyzeteit az Obsidian Publish segítségével.", "action-publish-changes": "Változtatások publikálása...", "action-publish-file": "Aktuális fájl publikálása", "label-no-internet-access": "A változtatások publikálásához internetkapcsolat szükséges.", "label-publish-service-description": "Az Obsidian Publish egy fizetős kiegészítő szolgáltatás, amely lehetővé teszi jegyzetei közvetlen online publikálását az Obsidian segítségével.", "label-please-login": "A publikálás megkezdéséhez jelentkezzen be vagy hozzon létre egy új Obsidian fiókot.", "label-no-publish-subscription": "Még nincs Obsidian Publish előfizetése.", "button-purchase": "Vásárlás", "label-manage-sites": "Webhelyek kezelése", "label-no-sites": "Nincsenek webhelyei.", "button-choose": "Kiválasztás", "tooltip-edit-site-id": "Webhelyazonosító szerkesztése", "tooltip-delete-site": "Webhely törlése", "label-delete-site-confirmation": "Biztosan törölni szeretné ezt a webhelyet?", "label-delete-site-details": "Ez azonnal és véglegesen törli a webhelyet.", "label-confirm-delete-site": "Webhely törlésének megerősítése: \"{{site}}\"", "option-site-id": "Webhelyazonosító", "option-site-id-description": "A webhelye a https://publish.obsidian.md/{site id} címen lesz elérhető. Később ezt megváltoztathatja. Csak kisbetűket, számokat és kötőjeleket tartalmazhat.", "option-site-id-placeholder": "Válasszon webhelyazonosítót", "button-create": "Létrehozás", "msg-invalid-site-id": "A webhelyazonosító csak kisbetűket, számokat és kötőjeleket tartalmazhat.", "msg-site-id-in-use": "Ez a webhelyazonosító már használatban van, próbáljon meg egy másikat választani.", "msg-create-site-issue": "Probléma merült fel a webhely létrehozásakor.", "label-site-options": "Webhely beállítások", "option-site-general": "Általános", "option-site-components": "Komponensek", "option-site-appearance": "Megjelenés", "option-site-reading-experience": "Olvasási élmény", "option-site-misc": "Egyéb webhely beállítások", "option-site-name": "Webhely neve", "option-site-name-description": "A publikált webhelyének neve. A webhely oldalcímében jelenik meg.", "option-site-name-placeholder": "Webhely neve", "option-home-page-file": "Kezdőoldal fájl", "option-home-page-file-description": "Az a lap, amellyel a felhasználó, a publikált webhelyre való érkezéskor, elsőként találkozik.", "option-home-page-file-placeholder": "Válasszon publikált fájlt", "option-logo": "Logó", "option-logo-description": "Válasszon egy képfájlt webhelye logójaként.", "option-logo-placeholder": "Bármely feltöltött kép a széfjében...", "option-site-collaboration": "Együttműködés a webhelyen", "option-site-collaboration-desc": "Kezelje a webhely együttműködőit.", "option-customize-navigation": "Navigáció testreszabása", "option-customize-navigation-desc": "Felülírhatja a navigációs elemek sorrendjét, és elrejtheti az oldalakat vagy mappákat a megjelenítés elől.", "option-navigation-order": "Navigációs elemek megjelenítési sorrendje", "option-hide-items-in-navigation": "Oldalak vagy mappák elrejtése a navigációból", "option-hide-items-in-navigation-desc": "Kattintson a jobb egérgombbal, majd válassza az \"Elrejtés\" lehetőséget, hogy adott oldalak ne jelenjenek meg a webhely navigációjában. Az oldalak elérhetők maradnak hivatkozásokon keresztül vagy közvetlen URL-cím megnyitásával.", "option-show-hidden-items": "Rejtett elemek megjelenítése", "button-customize-sidebar": "Kezelés", "label-navigation-modal-title": "Navigáció", "label-navigation-modal-desc": "Egérhúzással testreszabhatja a navigációs elemek sorrendjét a Publish webhelyén.", "option-hide-in-navigation": "Elrejtés a navigációban", "button-manage-collaborators": "Kezelés", "option-theme": "Téma", "option-theme-description": "Válasszon alapértelmezett színsémát webhelye számára.", "option-theme-system": "Igazítás az operációs rendszerhez", "option-show-theme-toggle": "Világos/sötét váltása", "option-show-theme-toggle-description": "Lehetővé teszi a látogatók számára, hogy saját maguk válthassanak világos és sötét téma között.", "option-show-navigation": "Navigáció megjelenítése", "option-show-navigation-description": "Az összes publikált oldal listájának megjelenítése a publikált webhely bal oldalán.", "option-show-search": "Keresőmező megjelenítése", "option-show-search-description": "A navigáció tetején megjelenő keresőmező, amely lehetővé teszi a látogatóknak az oldalak és a fejlécek keresését a webhelyén.", "option-show-graph": "Gráf nézet megjelenítése", "option-show-graph-description": "Kis, helyi gráf megjelenítése minden oldalon.", "option-show-outline": "Tartalomjegyzék megjelenítése", "option-show-outline-description": "Fejlécek áttekintésének megjelenítése minden oldalon.", "option-show-backlinks": "Visszahivatkozások megjelenítése", "option-show-backlinks-description": "Visszahivatkozási szekció megjelenítése minden oldal alján.", "option-sliding-window-mode": "Csúsztatható ablakok használata", "option-sliding-window-mode-description": "Oldalak új ablakokban való megnyitása jobbra. Lehetőséget biztosít a panelek eléréséhez vízszintesen történő görgetéssel.", "option-hover-preview-file": "Felugró előnézet megjelenítése", "option-hover-preview-file-description": "Oldal-előnézet megjelenítése az egérkurzor hivatkozásokra történő mozgatásával.", "option-hide-title": "Oldalcím elrejtése", "option-hide-title-description": "Az oldalcím fejléc elrejtése. Hasznos, ha saját fejlécei vannak az oldalak elején.", "option-readable-line-length": "Olvasható sorhossz", "option-readable-line-length-description": "A maximális sorhossz korlátozása. Kevesebb tartalom fér a képernyőre, de a hosszú bekezdések könnyebben olvashatók lesznek.", "option-site-password": "Jelszavak", "option-site-password-description": "Korlátozza webhelye hozzáférését jelszavakkal.", "option-google-analytics": "Google Analytics követőkód", "option-google-analytics-description": "Állítsa be webhelyéhez a Google Analytics-et. Csak az Ön, egyénileg megadott, webhelyéről érkező látogatók számára érhető el. Kérjük, először járjon utána a helyi törvényeknek és szabályozásoknak.", "button-manage-passwords": "Kezelés", "button-save-site-settings": "Webhely beállításainak mentése", "msg-updated-options": "A webhelybeállítások frissítve lettek.", "button-go-back": "Vissza", "label-publishing-to": "Publikálás a következőre:", "tooltip-switch-site": "Webhely váltása", "button-add-linked": "Hivatkozott elemek hozzáadása", "tooltip-add-linked": "Az összes olyan fájl hozzáadása, amelyekre az aktuálisan kiválasztott elemek hivatkoznak.", "msg-added-linked-files": "{{count}} hivatkozott fájl hozzá lett adva.", "msg-added-linked-files_plural": "{{count}} hivatkozott fájl hozzá lett adva.", "tooltip-open-site-options": "Webhely beállításainak módosítása", "label-no-changes-detected": "Nincs található változás.", "label-changed-files-to-be-published": "Változások", "label-unchanged-files-already-published": "Változatlan (válasszon elemet a törléshez)", "label-file-selected": " kiválasztott", "button-select-all-files": "Összes kijelölése", "label-custom-navigation-title": "Navigációs elemek", "button-deselect-all-files": "Kijelölések törlése", "label-new-files-to-be-published": "Új", "button-publish": "Publikálás", "msg-no-permission-to-publish-to-site": "Nincs engedélye a jelenlegi webhelyre történő publikáláshoz.", "msg-select-at-least-one-file": "Válasszon legalább egy fájlt.", "label-upload-changes": "Változások feltöltése", "button-done": "Kész", "button-stop": "Megállítás", "label-status-uploading": "Feltöltés folyamatban", "label-status-to-publish": "Publikálásra vár", "label-status-to-delete": "Törlésre vár", "label-status-published": "Publikált", "label-status-deleted": "Törölve", "label-status-failed": "Sikertelen", "label-status-cancelled": "Megszakítva", "button-change": "Módosítás", "label-clear-cache": "A változtatások megjelenítése néhány percig is eltarthat a webhelyén. Ha nem látja a legfrissebb változtatásokat, próbálja meg törölni böngészője gyorsítótárát.", "label-visit-site": "Webhelyét itt tekintheti meg: ", "msg-something-went-wrong": "Valami hiba történt. Kérjük, ellenőrizze a fejlesztői konzolt a részletekért.", "msg-network-error": "Hálózati hiba történt. ", "label-manage-passwords": "Jelszavak kezelése", "label-add-password": "Jelszó hozzáadása", "action-new-password": "Új jelszó", "label-no-password": "Jelenleg nincsenek jelszavak a webhelyén, így bárki meglátogathatja.", "label-have-password": "A webhelye jelszóval van védve. Ha több jelszava van, a látogatók bármelyikkel hozzáférhetnek.", "option-password-name": "Jelszó", "option-password-desc": "A jelszava hash formájában biztonságosan lesz tárolva. Miután beállította a jelszót, az nem fedhető fel olvasható, szöveges formában.", "option-password-placeholder": "Jelszava", "option-nickname-name": "Becenév (választható)", "option-nickname-desc": "Adjon meg egy becenevet emlékeztetőként, hogy a jelszó mihez szükséges vagy kihez tartozik.", "action-add-password": "Jelszó hozzáadása", "label-untitled-password": "Névtelen jelszó", "label-password-created-time": "Létrehozva: {{time}}", "msg-added-new-password": "Új jelszó hozzáadva.", "option-custom-domain": "Egyedi tartomány", "option-custom-domain-desc": "Saját tartománynév használata az https://publish.obsidian.md/{site id} URL helyett.", "option-noindex": "Keresőmotorok indexelésének tiltása", "option-noindex-desc": "Megakadályozza, hogy a keresőmotorok indexeljék a webhelyét.", "button-configure": "Konfigurálás", "label-configure-custom-domain": "Egyedi tartomány beállítása", "option-custom-url-name": "Egyedi URL", "option-custom-url-desc": "A webhelye ezen az URL-címen lesz elérhető.", "option-custom-url-placeholder": "www.peldadomain.hu", "option-custom-url-redirect": "Átirányítás az egyedi tartományára", "option-custom-url-redirect-desc": "Átirányítja a látogatókat a publish.obsidian.md/id címről az Ön egyedi tartományára.", "button-update-custom-domain": "Tartománybeállítás frissítése", "label-custom-domain-instructions": "További információkért kérjük, olvassa el a súgónkban a következőt: {{link}}.", "label-custom-domain-link-name": "egyedi tartomány beállítási útmutatót", "label-site-usage": "Jelenleg {{site}} van használatban ennyiből: {{limit}}.", "button-add-more-sites": "További webhelyek vásárlása", "label-no-sites-bought": "Még nem vásárolt webhelyet.", "button-get-site": "Webhely beszerzése", "label-manage-sharing": "Megosztás kezelése: \"{{name}}\"", "label-sharing-with-users": "Ez a webhely jelenleg a következő személyekkel van megosztva.", "label-not-sharing": "Ez a webhely jelenleg senkivel sincs megosztva.", "label-invite-pending": "Függőben", "tooltip-remove-user": "Felhasználó eltávolítása", "option-invite-user": "Felhasználó meghívása", "placeholder-invite-user": "Írja ide az e-mail címüket...", "error-email-must-be-valid": "Kérjük, adjon meg érvényes e-mail címet a meghíváshoz.", "msg-enable-publish-plugin": "A webhelyek megtekintéséhez kérjük, engedélyezze a Publish alapértelmezett bővítményt a Beállítások -> Alap bővítmények menüben.", "label-your-sites": "A webhelyei", "label-sites-shared-with-you": "Az Önnel megosztott webhelyek", "tooltip-leave-site-sharing": "Együttműködés befejezése ezen a webhelyen", "label-leave-site-confirmation": "A webhelyen történő együttműködés befejezésének megerősítése", "label-leave-site-confirmation-details": "Ez eltávolítja ezt a webhelyet az Önnel megosztott webhelyek listájáról. Ezt a műveletet nem lehet visszavonni.", "label-leave-site-confirmation-details-2": "Ha újra együtt szeretne működni ezen a webhelyen, lépjen kapcsolatba a webhely tulajdonosával.", "button-leave": "Kilépés", "label-compare-with-live": "Összehasonlítás az élő verzióval", "button-use-live-version": "Élő verzió használata", "label-confirm-override": "Helyi verzió felülbírálásának megerősítése", "label-confirm-override-1": "Biztosan felül szeretné bírálni a helyi verziót?", "label-confirm-override-2": "Az élő verzió kerül használatra, a helyi verzió pedig el lesz vetve. Kérjük, készítsen biztonsági mentést szükség esetén.", "button-proceed": "Tovább", "message-successfully-used-live-version": "A helyi verzió sikeresen felül lett írva az élő verzióval.", "label-open-in-live-site": "Megnyitás az élő oldalon", "label-open-file": "Fájl megnyitása", "tooltip-manage-publish-filters": "Kiadványszűrők kezelése", "option-included-folders": "Beleértett mappák", "option-included-folders-desc": "Az ezen mappák alatt lévő fájlok automatikusan kiválasztásra kerülnek, amikor átnézi a publikáláshoz történő változtatásokat.", "option-currently-included-folders": " Jelenleg az alábbi mappák vannak beleértve:", "option-excluded-folders": "Kizárt mappák", "option-excluded-folders-desc": "Az ezen mappák alatt lévő fájlok nem jelennek meg, amikor átnézi a publikáláshoz történő változtatásokat. Ez a beállítás elsőbbséget élvez a fent említett beleértett mappákkal szemben.", "label-number-of-folders-included": "Az Obsidian Publish jelenleg {{folders}} mappát tartalmaz.", "label-number-of-folders-excluded": "Az Obsidian Publish jelenleg {{folders}} mappát zár ki.", "label-manage-included-folders": "Beleértett mappák kezelése", "label-manage-excluded-folders": "Kizárt mappák kezelése", "label-add-included-folder": "Mappa hozzáadása", "label-add-included-folder-desc": "Beleértett mappákat és még nem létező mappákat is hozzáadhat.", "tooltip-contact-support": "Kapcsolatfelvétel az ügyfélszolgálattal", "label-navigation-preview": "Navigáció előnézete" }, "workspaces": { "name": "Munkaterületek", "desc": "Elmentheti és visszatöltheti a munkaterület elrendezését.", "action-load-layout": "Munkaterület-elrendezés betöltése", "action-manage-layouts": "Munkaterület-elrendezések kezelése", "action-save": "Elrendezés mentése", "action-save-and-load-layout": "Mentés és másik elrendezés betöltése", "placeholder-save-current-layout-as": "Jelenlegi munkaterület-elrendezés mentése másként...", "button-save": "Mentés", "button-load": "Betöltés", "tooltip-delete-layout": "Elrendezés törlése", "msg-enter-name": "Adja meg az új elrendezés nevét.", "msg-save-layout-success": "A(z) “{{name}}” elrendezés sikeresen elmentve.", "label-no-layout-found": "Nincs mentett elrendezés.", "label-workspace-modified-time": "Módosítva ekkor: {{time}}", "placeholder-type-to-search-layouts": "Írja be az elrendezés nevét..." }, "sync": { "name": "Szinkronizálás", "desc": "Szinkronizálja a fájljait az Obsidian Sync segítségével.", "action-view-version-history": "Verziótörténet megtekintése", "action-setup-sync": "A Sync beállítása", "menu-opt-view-version-history": "Verziótörténet megnyitása", "action-view-sync-sidebar": "Szinkronizálási előzmények", "action-activity-log": "Aktivitásnapló", "label-load-more": "Továbbiak betöltése", "label-show-diff": "Különbségek megjelenítése", "label-copy-to-clipboard": "Másolás a vágólapra", "label-restore-this-version": "Ezen verzió helyreállítása", "msg-already-latest-version": "Ez jelenleg a legfrissebb verzió.", "msg-restored-version": "Sikeresen visszaállított verzió innen: {{time}}", "label-file-deleted": "Ez a fájl törölve lett", "label-file-deleted-via": "Törölve ezen keresztül: {{ device }}", "label-file-renamed-from": "Ez a fájl át lett nevezve a következőről: “{{from}}”", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "{{count}} revízió", "label-revision_plural": "{{count}} revízió", "label-via-device": "ezen keresztül: {{device}}", "label-no-history": "Nincs szinkronizálási előzmény ehhez a fájlhoz.", "label-empty-file": "Üres", "label-unable-to-retrieve": "A verziótörténet lekérése sikertelen", "label-setting-files": "Beállítási fájlok", "label-deleted-files": "Törölt fájlok", "label-version-history": "Verziótörténet", "label-click-to-see-history": "Kattintson egy törölt fájlra a verziótörténet megtekintéséhez.", "label-create-remote-vault": "Távoli széf létrehozása", "msg-please-enter-password": "Adjon meg egy jelszót.", "msg-vault-name-cannot-be-empty": "A széf neve nem lehet üres.", "msg-successfully-created-vault": "Sikeresen létrehozta a távoli széfet: \"{{name}}\".", "label-remote-vault-explanation": "A távoli széfek biztonságosan szinkronizálják a tárhelyét készülékek között.", "option-vault-name": "Tárhely neve", "option-vault-name-desc": "Segít emlékezni arra, hogy ez a tárhely mire szolgál.", "option-vault-region": "Régió", "opt-vault-region-automatic": "Automatikus", "option-vault-region-desc": "Válassza ki az Önhöz legközelebbi szerverrégiót, ahol a távoli széf tárolásra kerül. Ezt később nem lehet megváltoztatni.", "option-vault-name-placeholder": "A remek széfem", "option-encryption": "Titkosítás", "option-encryption-desc": "A végpontok közötti titkosítás a legerősebb védelmet nyújtja, azonban szükséges, hogy a titkosítási jelszót biztonságosan tárolja. Az általános titkosítás egy, az Obsidian által kezelt, kulcsot használ a küldés alatt levő és a szervereinken tárolt adatai védelméhez.", "option-encryption-warning": "Ez a beállítás később nem változtatható meg.", "option-encryption-end-to-end": "Végpontok közötti titkosítás", "option-encryption-standard": "Általános titkosítás", "option-encryption-password": "Titkosítási jelszó", "option-encryption-password-desc": "Ezt a jelszót később nem lehet megváltoztatni.", "option-encryption-password-desc-warning": "Ha elfelejti ezt a jelszót, az összes távoli adat örökre használhatatlan marad.", "option-encryption-password-desc-2": "Ez nem érinti a helyi adatokat.", "label-encryption-password-explanation": "A(z) “{{name}}” távoli széf jelenleg titkosítva van. Adja meg a jelszavát a feloldáshoz.", "option-encryption-password-placeholder": "A jelszava", "label-unlock-encrypted-vault": "Távoli széfjének feloldása", "button-unlock-vault": "Széf feloldása", "label-remote-vaults": "A távoli széfjei", "label-vault-created-time": "Létrehozva: {{time}}", "tooltip-delete-remote-vault": "Törlés", "tooltip-rename-remote-vault": "Átnevezés", "label-rename-remote-vault": "Távoli széf, \"{{name}}\" átnevezése", "label-rename-remote-vault-desc": "Adjon meg egy új nevet a távoli széfnek.", "tooltip-manage-sharing": "Megosztás kezelése", "label-confirm-delete-remote-vault": "Széf törlésének megerősítése", "label-confirm-delete-remote-vault-question": "Biztosan törli a(z) \"{{name}}\" távoli széfet?", "label-confirm-delete-remote-vault-result": "A szerverünkön tárolt összes adat, beleértve a verziótörténetet, törölve lesz. A helyi fájljai érintetlenek maradnak.", "label-confirm-delete-remote-vault-warning": "Ez a művelet végleges és visszavonhatatlan.", "msg-remote-vault-deleted": "A(z) \"{{name}}\" távoli széf törölve lett.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: A jelenlegi kapcsolathoz tartozó távoli széf már nem létezik.", "button-connect-to-remote-vault": "Csatlakozás", "button-disconnect-from-remote-vault": "Kapcsolat megszakítása", "label-sync-status": "Szinkronizálás: {{status}}", "label-not-remote-vaults": "Nincsenek távoli széfjei.", "label-no-subscription": "Önnek nincs aktív Obsidian Sync előfizetése.", "label-please-visit": "Látogassa meg ezt:", "label-preview-unsupported-file-type": "A {{type}} fájlok előnézete nem támogatott.", "button-create-new-remote-vault": "Új széf létrehozása", "label-sync-log": "Szinkronizálási napló", "option-event-type-all": "Mind", "option-event-type-errors": "Hibák", "option-event-type-skipped": "Kihagyottak", "option-event-type-merge-conflicts": "Ütközések", "button-copy-sync-log": "Szinkronizálási napló másolása", "msg-successfully-copied-sync-log": "Szinkronizálási napló sikeresen kimásolva.", "button-retry": "Újra", "button-purchase-subscription": "Vásárlás", "label-third-party-sync-warning": "Ütköző fájlszinkronizálási szolgáltatás észlelve", "label-third-party-sync-warning-desc": "Figyelem: A széfje úgy tűnik, hogy a(z) {{service}}-t használja harmadik féltől származó fájlszinkronizálási szolgáltatásként. Ha az Obsidian Sync-et ezzel a széffel használja, ütközések, fájlsérülések vagy adatvesztés léphet fel.", "label-icloud-drive-warning": "Ha az iCloud Drive-ot használja, az Ön Dokumentumok és Asztal mappái az iCloud által szinkronizálódhatnak. Ez ütközéseket okozhat az Obsidian Sync-kel.", "option-remote-vault": "Távoli széf", "button-choose-remote-vault": "Kiválasztás", "button-manage-remote-vault": "Kezelés", "option-remote-vault-desc-connected": "Jelenleg a(z) \"{{name}}\" távoli széfhez van csatlakozva.", "option-remote-vault-desc-not-connected": "Jelenleg nincs csatlakozva egyetlen távoli széfhez sem.", "option-sync-status": "Szinkronizálási állapot", "option-sync-status-desc-paused": "Az Obsidian Sync jelenleg szünetel.", "option-sync-status-desc-running": "Az Obsidian Sync jelenleg fut.", "option-device-name": "Eszköz neve", "option-device-name-desc": "Ez a név megjelenik a szinkronizálási naplóban. Hagyja üresen az alapértelmezett név használatához.", "button-resume": "Folytatás", "button-pause": "Szüneteltetés", "option-view-deleted-files": "Törölt fájlok", "option-view-deleted-files-desc": "Törölt fájlok megtekintése és helyreállítása.", "option-sync-log": "Szinkronizálási tevékenység", "option-sync-log-desc": "A legutóbbi szinkronizálási tevékenységek megtekintése hibakereséshez.", "button-view": "Megtekintés", "button-bulk-restore": "Csoportos helyreállítás", "button-restore-files_zero": "Fájlok visszaállítása", "button-restore-files": "{{count}} fájl visszaállítása", "button-restore-files_plural": "{{count}} fájl visszaállítása", "msg-restoring": "Helyreállítás folyamatban...", "msg-restoring-complete": "`Helyreállítás kész: {{succeeded}} sikerült és {{failed}} sikertelen.`", "option-vault-size": "A széf mérete", "option-vault-size-desc": "Jelenleg {{size}} van használatban ennyiből: {{limit}}.", "option-vault-size-unknown": "A széfméret lekérdezése sikertelen.", "option-vault-size-loading": "Széf méretének lekérdezése...", "option-over-size": "A széf mérete átlépte a felső limitet", "option-almost-over-size": "A széf mérete megközelíti a felső limitet", "msg-largest-files": "A legnagyobb fájlok megtekintése", "msg-largest-files-desc": "Ezek a távoli fájlok foglalják a legtöbb helyet. Az ilyen fájlok törlése után használja a törlés gombot tárhely felszabadításához a távoli széfben.", "button-upgrade-storage": "Tárhely fejlesztése", "button-purge-remote": "Törlés", "button-hide-my-changes": "Változtatások elrejtése", "tooltip-purge-remote": "Véglegesen törli a törölt csatolmányokat a távoli széfből hely felszabadításához.", "msg-purge-complete": "A törlés befejeződött.", "option-prevent-sleep": "Az eszköz alvásának megakadályozása", "option-prevent-sleep-desc": "Megakadályozza az eszközt az alvó állapotba lépésben, amikor még fájlok szinkronizálódnak.", "option-selective-sync": "Szelektív szinkronizálás", "option-excluded-folders": "Kizárt mappák", "option-excluded-folder-desc": "Bizonyos mappák szinkronizálásának megakadályozása.", "option-currently-excluded-folders": " Jelenleg ezek a mappák vannak kizárva:", "button-manage-excluded-folders": "Kezelés", "option-sync-image": "Képek szinkronizálása", "option-sync-image-desc": "Szinkronizálja a képfájlokat az alábbi kiterjesztésekkel: {{extensions}}.", "option-sync-audio": "Hangfájlok szinkronizálása", "option-sync-audio-desc": "Szinkronizálja a hangfájlokat az alábbi kiterjesztésekkel: {{extensions}}.", "option-sync-video": "Videók szinkronizálása", "option-sync-video-desc": "Szinkronizálja a videófájlokat az alábbi kiterjesztésekkel: {{extensions}}.", "option-sync-pdf": "PDF-ek szinkronizálása", "option-sync-pdf-desc": "Szinkronizálja a PDF-fájlokat.", "option-sync-unsupported": "Egyéb típusok szinkronizálása", "option-sync-unsupported-desc": "Szinkronizálja a nem támogatott fájltípusokat.", "option-vault-config-sync": "Széfkonfiguráció szinkronizálása", "option-view-config-files": "Beállítások verziótörténete", "option-view-config-files-desc": "Megnézheti és visszaállíthatja a beállításfájlok verziótörténetét.", "option-sync-app": "Fő beállítások", "option-sync-app-desc": "Engedélyezi a szerkesztő-beállítások, fájl- és linkbeállítások, egyéni gyorsbillentyűk, stb. szinkronizálását.", "option-sync-appearance": "Megjelenés beállításai", "option-sync-appearance-desc": "Szinkronizálja a megjelenés beállításait, mint például a sötét mód, az aktív téma és az engedélyezett kódrészletek.", "option-sync-appearance-data": "Témák és kódrészletek", "option-sync-appearance-data-desc": "Szinkronizálja a letöltött témákat és kódrészleteket. Hogy ezek engedélyezve vannak-e, az az előző beállítástól függ.", "option-sync-hotkey": "Gyorsbillentyűk", "option-sync-hotkey-desc": "Szinkronizálja az egyéni gyorsbillentyűket.", "option-sync-core-plugin": "Aktív alap bővítmények", "option-sync-core-plugin-desc": "Szinkronizálja, hogy mely alap bővítmények vannak engedélyezve.", "option-sync-core-plugin-data": "Alap bővítmények beállításai", "option-sync-core-plugin-data-desc": "Szinkronizálja az alap bővítmények beállításait.", "option-sync-community-plugin": "Aktív közösségi bővítmények", "option-sync-community-plugin-desc": "Szinkronizálja, hogy mely közösségi bővítmények vannak engedélyezve.", "option-sync-community-plugin-data": "Telepített közösségi bővítmények", "option-sync-community-plugin-data-desc": "Szinkronizálja a telepített közösségi bővítményeket (.js, .css és manifest.json fájlok) és azok beállításait.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Az Obsidian Sync az Obsidian kiegészítő szinkronizációs szolgáltatása végpontok közötti titkosítással és verziótörténettel.", "label-account-required": "A szinkronizáláshoz kérjük, jelentkezzen be vagy hozzon létre egy új Obsidian fiókot.", "label-current-file": "Az aktuális fájl", "label-sync-changes": "Változtatások szinkronizálása", "label-today": "Ma", "label-yesterday": "Tegnap", "label-this-week": "Ezen a héten", "label-older": "Korábbi", "label-last-sync": "Utolsó szinkronizáció", "label-more": "{{count}} további", "button-sign-up": "Regisztráció", "button-log-in": "Bejelentkezés", "label-manage-excluded-folders": "Kizárt mappák kezelése", "label-number-of-folders-excluded": "Jelenleg ezek a mappák vannak kizárva a szinkronizálásból: {{folders}}.", "label-add-excluded-folder": "Mappa kizárása", "label-add-excluded-folder-desc": "Mind meglévő, mind még nem létező mappákat kizárhat.", "tooltip-remove-excluded-folder": "Eltávolítás a kizárt mappák közül", "label-setup-connection": "Csatlakozás beállítása", "label-connecting-to-vault": "Csatlakozás...", "label-connection-failed": "A csatlakozás sikertelen", "label-connection-failed-desc": "Nem sikerült csatlakozni a távoli széfhez.", "label-now-connected-to-vault": "Most már csatlakozva van a(z) \"{{name}}\" széfhez.", "button-start-syncing": "Szinkronizálás indítása", "label-confirm-merge-vault": "Széf egyesítésének megerősítése", "msg-vault-has-notes": "A helyi széf már tartalmaz néhány jegyzetet.", "msg-vault-merge-warning": "Ha csatlakozik a(z) \"{{name}}\" távoli széfhez, a helyi széfjében lévő jegyzetek egyesítésre kerülnek a távoli széfben lévőkkel. Ütközések esetén a jegyzet legutóbbi verziója marad meg.", "tooltip-update-setting-on-all-devices": "Kérjük, frissítse ezt az opciót, és indítsa újra az alkalmazást minden eszközön, ahol életbe kívánja léptetni.", "label-sharing-with-users": "Ez a távoli széf jelenleg az alábbi személyekkel van megosztva.", "label-not-sharing": "Ez a távoli széf jelenleg senkivel sincs megosztva.", "label-vaults-shared-with-you": "Az Önnel megosztott széfek", "tooltip-leave-vault-sharing": "A széf megosztásának megszüntetése", "label-leave-vault-confirmation": "Széfegyüttműködés megszüntetésének megerősítése", "label-leave-vault-confirmation-details": "Ez eltávolítja ezt a széfet az Önnel megosztott széfek közül. Ez a művelet nem vonható vissza.", "label-leave-vault-confirmation-details-2": "Ha újra együttműködést kíván kezdeményezni ebben a széfben, kérjük, lépjen kapcsolatba a széf tulajdonosával.", "button-leave": "Kilépés", "msg-error-failed-to-fetch": "Távoli széfek betöltése sikertelen.", "label-require-subscription-to-connect": "Egy Obsidian Sync előfizetésre van szükség ahhoz, hogy csatlakozhasson ehhez a széfhez.", "option-contact-support": "Kapcsolatfelvétel a támogatással", "option-contact-support-desc": "Ha bármilyen problémája akad az Obsidian Sync használatával kapcsolatban, kérljük, lépjen velünk kapcsolatba ezen az e-mail címen: support@obsidian.md.", "button-copy-debug": "Hibakeresési infó másolása", "button-email-support": "Támogatás megkeresése e-mailben", "label-sync-disconnected": "A Sync jelenleg nem kapcsolódik egy távoli széfhez sem.", "msg-remote-vault-limit-hit": "Az Obsidian Sync lehetővé teszi akár 5 távoli széf létrehozását. Új távoli széf létrehozásához kérjük, először töröljön egy meglévőt.", "label-upgrade-vault": "Széf fejlesztése", "label-upgrade-vault-encryption": "Széf titkosításának fejlesztése", "label-upgrade-vault-encryption-desc": "Új titkosítási verzió érhető el távolí széfek számára.", "label-migrate-remote-vault": "Távoli széf átállítása", "label-remote-vault-configuration": "Távoli széf konfigurációja", "button-migrate": "Átállítás", "msg-recreate-remote-vault": "Ez törölni fogja a távoli széfjét, majd újra létrehozza azt a legújabb titkosítással. A helyi fájlokat nem fogja érinteni, viszont a verziótörténet el fog veszni.", "label-confirm-migrate": "Széf átállításának megerősítése", "msg-migrate-pre-confirmation-part1": "A titkosítás fejlesztése során a széfben tárolt minden adat az új titkosítást használva újra feltöltésre kerül az Obsidian Sync szerverekre. Egyúttal az előző módszerrel titkosított adatok, beleértve a verzióelőzményeket, törlődnek a széfből.", "msg-migrate-pre-confirmation-part2": "Fontos: mielőtt folytatná, erősen ajánlott egy biztonsági mentés készítése esetleges adatvesztés megelőzése céljából.", "msg-migrate-pre-confirmation-part3": "Miután a fejlesztés befejeződött, minden eszközét újra szükséges lesz csatlakoztatnia a távoli széfhez.", "msg-migrate-confirmation": "A széf átállítása némi időbe telhet. Kérjük, tartsa megnyitva az Obsidian-t ezen az eszközön, hogy minden jegyzetét és csatolmányát újra fel lehessen tölteni. Ajánlott az elsődlegesen használt eszközén megtenni ezt.", "msg-migrate-confirmation-size": "Az Ön adatai {{size}} helyet foglalnak. Kérjük, tartsa megnyitva az Obsidian-t ezen az eszközön, hogy minden jegyzetét és csatolmányát újra fel lehessen tölteni. Ajánlott az elsődlegesen használt eszközén megtenni ezt.", "msg-proceed-prompt": "Kívánja folytatni?", "msg-vault-migration-started": "A széf átállítása folyamatban." }, "file-recovery": { "name": "Fájl-visszaállítás", "desc": "Lehetővé teszi a nemrég készült pillanatfelvételek visszaállítását véletlen adatvesztés esetén. A pillanatfelvételek csak Markdown fájlokról készülnek.", "action-open": "Mentett pillanatfelvételek megnyitása", "option-interval": "Pillanatfelvételek időköze", "option-interval-description": "A két pillanatfelvétel közötti minimális időköz percekben.", "option-keep": "Történet hossza", "option-keep-description": "A pillanatfelvételek megőrzési ideje napokban.", "option-open-history": "Pillanatfelvételek", "option-open-history-description": "Tekintse meg és állítsa vissza a mentett pillanatfelvételeket.", "button-view-history": "View", "option-clear": "Történet törlése", "option-clear-description": "Az összes pillanatfelvétel törlése.", "button-clear-history": "Törlés", "label-clear-warning": "Biztosan törli az összes pillanatfelvételt? Csak a pillanatfelvételek lesznek eltávolítva, ez a széfjében tárolt fájlokat nem érinti.", "msg-clear-complete": "A pillanatfelvételek törölve.", "label-no-history-found": "Nem található pillanatfelvétel.", "placeholder-choose-file": "Válasszon egy fájlt...", "label-select-file": "Kérjük, válasszon ki egy fájlt a bal oldalon a pillanatfelvételek megtekintéséhez." }, "note-composer": { "name": "Jegyzet-szerkesztő", "desc": "Jegyzetek egyesítése, szétválasztása és átstrukturálása.", "option-confirm-file-merge": "Fájl egyesítésének megerősítése", "option-confirm-file-merge-description": "Kérdezzen rá két fájl egyesítése előtt.", "option-split-replacement-text": "Kiszervezés utáni szöveg", "option-split-replacement-text-description": "A kijelölt szövegrész kiszervezése után megjelenítendő szöveg.", "option-choice-split-replacement-text-link": "Hivatkozás az új fájlra", "option-choice-split-replacement-text-embed": "Új fájl beágyazása", "option-choice-split-replacement-text-none": "Nincs", "option-template-file": "Sablonfájl helye", "option-template-file-description": "Sablonfájl az egyesítéshez vagy a kiszervezéshez. Elérhető változók: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, például {{date:YYYY-MM-DD}}.", "command-merge-file": "Jelenlegi fájl egyesítése egy másik fájllal...", "action-merge-file": "Teljes fájl egyesítése...", "label-no-files": "Nincsenek fájlok.", "instruction-navigate": "a navigáláshoz", "instruction-merge": "az egyesítéshez", "instruction-create-new": "a létrehozáshoz", "instruction-merge-at-top": "a tetején való egyesítéshez", "instruction-dismiss": "az elvetéshez", "prompt-select-file-to-merge": "Válasszon célfájlt az egyesítéshez...", "label-merge-file": "Fájl egyesítése", "label-confirm-file-merge": "Biztosan egyesíteni szeretné a(z) \"{{file}}\" fájlt a(z) \"{{destination}}\" fájllal? A(z) \"{{file}}\" fájl törlődni fog.", "button-merge": "Egyesítés", "command-split-file": "A kiválasztott szövegrész kiszervezése...", "command-extract-heading": "Ezen fejléchez tartozó szöveg kiszervezése...", "instruction-append": "az aljára mozgatáshoz", "instruction-prepend": "a tetejére mozgatáshoz", "msg-fail-to-fetch-template": "Nem sikerült lekérdezni a sablonfájlt: \"{{template}}\" nem található.", "msg-fail-to-find-heading": "A fejléc nem található" }, "web-viewer": { "name": "Webes megjelenítő", "history-name": "Webes előzmények", "desc": "Külső weboldalakat nyithat meg az Obsidian-on belül.", "action-open": "Webes megjelenítő megnyitása", "action-show-history": "Előzmények", "action-toggle-reader-mode": "Olvasó mód ki/be", "action-copy-u-r-l": "URL másolása", "action-remove-from-history": "Eltávolítás az előzményekből", "action-clear-history": "Előzmények törlése", "action-open-link": "Hivatkozás megnyitása", "action-open-link-new-tab": "Hivatkozás megnyitása új lapon", "action-open-link-new-split": "Hivatkozás megnyitása jobbra", "action-open-link-new-window": "Hivatkozás megnyitása új ablakban", "action-open-link-default-browser": "Hivatkozás megnyitása az alapértelmezett böngészőben", "action-open-link-web-viewer": "Hivatkozás megnyitása a webes megjelenítőben", "action-copy-link-address": "Hivatkozási cím másolása", "action-bookmark-link": "Hivatkozás hozzáadása a könyvjelzőkhöz", "action-search-for-query": "Keresés erre: “{{query}}”", "action-extract-selection": "Új jegyzet létrehozása a kiválasztásból", "action-copy-selection": "Másolás", "action-cut": "Kivágás", "action-paste": "Beillesztés", "action-delete": "Törlés", "action-select-all": "Mind kiválasztása", "action-save-to-vault": "Mentés a széfbe", "action-save-image": "Kép mentése a széfbe", "action-copy-image": "Kép másolása", "action-copy-image-link": "Kép hivatkozásának másolása", "action-backward": "Vissza", "action-forward": "Előre", "action-reload": "Újratöltés", "action-bookmark-page": "Oldal hozzáadása a könyvjelzőkhöz", "action-open-default-browser": "Megnyítás az alapértelmezett böngészőben", "action-focus-address-bar": "Fókuszálás a címsorra", "action-search-the-web": "Keresés a weben", "action-clear-data": "Adatok törlése", "action-clear-data-cookies": "Sütik", "action-clear-data-cookies-desc": "Bizonyos oldalakon ez kijelentkeztetheti Önt.", "action-clear-data-cache": "Mentett adatok", "action-clear-data-history": "Előzmények", "action-clear-data-all": "A webes megjelenítő minden adata", "action-clear-data-all-desc": "Eltávolítja az összes fenti adatot, továbbá a lokális tárolót és az aktív munkameneteket.", "label-new-web-viewer": "Új megjelenítő", "label-fail-to-load": "Az oldal betöltése sikertelen.", "label-fail-to-load-desc": "Bizonyosodjon meg róla, hogy helyes a megadott cím.", "label-search-the-web": "Keresés a weben", "label-web-viewer-data": "A webes megjelenítő adatai", "label-clear-data": "Adatok törlése", "option-open-external-links": "Külső hivatkozások megnyitása", "option-open-external-links-desc": "Hivatkozások megnyítása az Obsidian-ban az alapértelmezett program helyett.", "option-homepage": "Kezdőoldal", "option-homepage-desc": "Ez az oldal fog megnyílni a webes megjelenítő megnyitásakor", "option-saved-markdown": "Mentett oldalak", "option-saved-markdown-desc": "Markdown-ként mentett weboldalak fognak megjelenni itt.", "option-search-engine": "Keresőmotor", "option-search-engine-desc": "A címsorból történő keresés során használt keresőmotor.", "option-search-engine-custom": "Egyéni keresőmotor", "option-search-engine-custom-desc": "A kulcsszó helyén használhatja a %s helyettesítőt.", "option-search-engine-custom-drop-down": "Egyéni", "option-enable-adblock": "Reklámblokkoló engedélyezése", "option-enable-adblock-desc": "Bekapcsolt állapotban az alábbi szűrőlisták lesznek alkalmazva minden, a webes megjelenítőben, megnyitott lapra.", "option-adblock-lists": "Reklámblokkoló-szabályok", "option-adblock-lists-desc": "Egy szabálylista URL soronként. Minden széfre alkalmazva lesznek.", "option-adblock-frequency": "Reklámblokkoló frissítések gyakorisága", "option-adblock-frequency-desc": "A szűrőlisták frissítése közti idő napokban. 0 esetén kikapcsolásra kerül. Minden széfre alkalmazva lesznek.", "title-clear-data-modal": "A webes megjelenítő adatainak törlése", "msg-error-extracting-content": "Váratlan hiba a tartalom kiszervezése során", "msg-error-finding-content": "Nem található kiszervezhető tartalom." }, "canvas": { "name": "Vászon", "desc": "Jegyzeteket rendezhet és kapcsolhat összes egy végtelen vásznon.", "action-add-note": "Jegyzet hozzáadása széfből", "action-add-media": "Média hozzáadása széfből", "action-add-card": "Kártya hozzáadása", "action-add-website": "Weboldal hozzáadása", "action-create-group": "Csoport létrehozása", "action-create-with-size": "Kártya létrehozása meghatározott mérettel", "action-convert-to-file": "Átalakítás fájlra...", "action-drag-to-add-note": "Húzza a vászonra jegyzet hozzáadásához a széfből", "action-drag-to-add-media": "Húzza a vászonra médiafájl hozzáadásához a széfből", "action-drag-to-add-card": "Húzza a vászonra kártya hozzáadásához", "action-edit-label": "Címke szerkesztése", "action-remove-label": "Címke eltávolítása", "action-search-file": "Fájl keresése", "action-set-color": "Szín beállítása", "action-align": "Igazítás", "action-align-left": "Balra igazítás", "action-align-center": "Középre igazítás", "action-align-right": "Jobbra igazítás", "action-align-top": "Fentre igazítás", "action-align-middle": "Középre igazítás", "action-align-bottom": "Lentre igazítás", "action-distribute-horizontal-spacing": "Vízszintes távolság elosztása", "action-distribute-vertical-spacing": "Függőleges távolság elosztása", "action-justify-horizontally": "Vízszintes sorkizárás", "action-justify-vertically": "Függőleges sorkizárás", "action-arrange-horizontally": "Elrendezés sorban", "action-arrange-vertically": "Elrendezés oszlopban", "action-arrange-grid": "Elrendezés rácsban", "action-export-png": "Exportálás képként", "action-jump-to-group": "Ugrás csoportba", "action-set-background": "Háttér beállítása", "action-edit-background": "Háttér szerkesztése", "action-replace-background": "Háttér cseréje", "action-remove-background": "Háttér eltávolítása", "label-no-images": "Nem találhatók képek.", "label-no-media": "Nem találhatók médiafájlok.", "label-export-png-desc": "\"{{title}}\" exportálása PNG fájlként az alábbi beállításokkal.", "label-export-png-dimensions": "Becsült képméret: {{dimensions}}", "label-distribute": "Elosztás", "label-justify": "Sorkizárás", "label-arrange": "Elrendezés", "label-always": "Mindig", "label-hover": "Rámutatáskor", "label-never": "Soha", "label-no-section-found": "Nem található szakasz", "option-wheel-behavior": "Egérkerék alapértelmezett viselkedése", "option-mod-drag-behavior": "{{key}} alapértelmezett viselkedése", "option-show-menu": "Menü megjelenítése", "option-new-canvas-location": "Alapértelmezett hely az új vászonfájlokhoz", "option-new-canvas-location-description": "Az újonnan létrehozott vászonfájlok helye.", "option-new-canvas-folder-path": "Könyvtár az új vászonfájlok létrehozásához", "option-new-canvas-folder-path-description": "Az újonnan létrehozott vászonfájlok ezen könyvtár alatt jelennek meg.", "option-node-label": "Kártyacímke megjelenítése", "option-snap-to-grid": "Rácshoz illesztés", "option-snap-to-grid-desc": "A kártyákat a háttér rácsához illeszti azok mozgatásakor vagy átméretezésekor.", "option-snap-to-objects": "Objektumokhoz illesztés", "option-snap-to-objects-desc": "A kártyákat a közeli objektumokhoz illeszti azok mozgatásakor vagy átméretezésekor.", "option-zoom-breakpoint": "Nagyítási küszöbérték a kártyák tartalmának elrejtéséhez", "option-zoom-breakpoint-desc": "A kisebb értékek növelik a teljesítményt, de hamarabb elrejtik a kártyák tartalmát nagyításkor.", "option-export-png-show-logo": "Logó megjelenítése", "option-export-png-show-logo-desc": "Ez hozzáad egy Obsidian logót a bal alsó sarokban.", "option-export-png-privacy-mode": "Magán mód", "option-export-png-privacy-mode-desc": "Elrejti a vászonon található szöveget.", "option-export-png-zoom": "Nagyítás", "option-export-png-zoom-desc": "Magasabb nagyítási szint magasabb felbontású képet eredményez.", "option-export-png-frame": "Keret", "option-export-png-frame-desc": "Kiválaszthatja, hogy a teljes vásznat vagy csak az aktuálisan látható nézetet szeretné-e megjeleníteni.", "option-export-png-frame-full": "Teljes vászon", "option-export-png-frame-viewport": "Csak a nézet", "option-background-cover": "Borító", "option-background-ratio": "Képarány megtartása", "option-background-repeat": "Ismétlés", "action-new-canvas": "Új vászon", "action-remove": "Eltávolítás", "action-narrow-heading": "Szűkítés címre...", "action-narrow-block": "Szűkítés blokkra...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Fájl cseréje...", "action-change-url": "URL módosítása...", "action-zoom-to-fit": "Nagyítás illeszkedésre", "action-zoom-to-selection": "Nagyítás kijelölésre", "action-reload-page": "Oldal újratöltése", "action-follow-connection": "Kapcsolat követése", "command-create-new-canvas": "Új vászon létrehozása", "command-convert-to-file": "Átalakítás fájlra...", "instruction-narrow-heading": "cím beágyazásához", "instruction-narrow-block": "blokk beágyazásához", "instruction-jump-to-group": "a csoportba ugráshoz", "prompt-to-narrow": "Írjon be fájlnevet, fejlécet vagy blokkot a kereséshez", "label-enter-url": "URL megadása", "label-empty-embed": "\"{{linktext}}\" nem található.", "prompt-add-text": "Szöveg hozzáadása...", "prompt-start-search": "Írjon ide a kereséshez...", "label-canvas-help": "Vászon súgó", "label-canvas-settings": "Vászon beállítások", "label-no-narrow": "Teljes fájl megjelenítése", "label-show-default-view": "Show default view", "label-readonly": "Írásvédetté tétel", "label-disable-readonly": "Írásvédettség kikapcsolása", "label-pan": "Nézet mozgatása", "label-pan-horizontal": "Vízszintes mozgatás", "label-zoom": "Nagyítás", "label-select-all": "Mindent kijelöl", "label-add-remove-selection": "Hozzáadás / eltávolítás a kijelölésben", "label-clone-card": "Kártya klónozása", "label-constrain-movement-axis": "Kártya mozgásának korlátozása a tengelyre", "label-disable-drag-snapping": "Illesztés kikapcsolása húzáskor", "label-remove-card": "Kártya eltávolítása", "label-drag-from-below": "Húzza alulról vagy kattintson duplán", "label-longpress": "Érintse meg és tartsa lenyomva a hozzáadáshoz / mozgatáshoz / kijelöléshez", "label-drag-pan": "Húzza a mozgatáshoz", "label-pinch-zoom": "Többujjas nagyítás", "label-space-drag-pan": "Szóköz + húzás a mozgatáshoz", "label-scroll-to-zoom": "Görgetés a nagyításhoz", "label-untitled-group": "Névtelen csoport", "label-line-direction": "Vonal iránya", "label-nondirectional": "Irányfüggetlen", "label-unidirectional": "Egyirányú", "label-bidirectional": "Kétirányú", "label-image": "Kép", "label-style": "Stílus", "msg-no-groups-found": "Nem találhatók csoportok", "msg-export-failed-empty-canvas": "Üres vászon nem exportálható", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Mind kijelölése", "action-match-diacritics": "Egyezés a diakritikus jelekkel", "action-whole-words": "Egész szavak", "action-show-thumbnails": "Előnézeti képek", "action-show-outline": "Tartalomjegyzék", "action-reveal-in-outline": "Oldal megjelenítése a tartalomjegyzékben", "action-toggle-sidebar": "Oldalsáv ki/be", "action-previous-page": "Előző oldal", "action-next-page": "Következő oldal", "action-fit-width": "Kitöltés lapszélesség alapján", "action-fit-height": "Kitöltés lapmagasság alapján", "action-save-p-d-f-location": "Aktuális pozíció mentése a dokumentumban", "action-copy-annotation": "Széljegyzet másolása", "action-copy-quote": "Másolás idézetként", "action-copy-selection-link": "A kiválasztott szövegre mutató link másolása", "action-copy-annot-link": "A széljegyzetre mutató link másolása", "action-copy-section-link": "A szakaszra mutató link másolása", "action-copy-section-link-title": "Link másolása ehhez: “{{title}}”", "action-copy-page-link": "A(z) {{page}} oldalra mutató link másolása", "msg-max-search-results": "{{current}} / {{limit}}+", "msg-search-count": "{{current}} / {{total}}", "msg-search-count_plural": "{{current}} / {{total}}", "msg-password-protected": "Ez a PDF jelszóval védett", "msg-invalid-password": "Érvénytelen jelszó", "msg-enter-password": "Adja meg alább a jelszót", "label-of-pages": "/ {{count}}", "label-page-of-pages": "({{current}} / {{count}})", "label-spread-single": "Egyoldalas", "label-spread-odd": "Kétoldalas (páratlantól kezdve)", "label-spread-even": "Kétoldalas (párostól kezdve)", "tooltip-sidebar-options": "Oldalsáv beállításai", "tooltip-display-options": "Megjelenítés beállításai", "label-adapt-to-theme": "Adaptálás témához", "label-page": "{{page}}. oldal", "page_landmark": "{{page}}. oldal", "thumb_page_title": "{{page}}. oldal", "thumb_page_canvas": "{{page}}. oldal", "text_annotation_type": "[{{type}} széljegyzet]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Lista", "option-unknown": "Ismeretlen", "option-text": "Szöveg", "option-aliases": "Alternatív nevek", "option-tags": "Címkék", "option-folder": "Folder", "option-file": "File", "option-date": "Dátum", "option-datetime": "Dátum és idő", "option-number": "Szám", "option-checkbox": "Jelölőnégyzet" }, "value-suggestion": { "key-link-note": "Írjon [[-et", "instruction-link-note": "jegyzet csatolásához", "instruction-dismiss": "az elvetéshez" }, "option-property-type": "Tulajdonságtípus", "msg-empty-property-name": "A tulajdonság nem lehet üres.", "msg-duplicate-property-name": "Ez a tulajdonság már létezik.", "msg-invalid-tag": "Hibás címkenév", "msg-invalid-number": "Hibás szám", "msg-invalid-properties": "Tulajdonságok beolvasása sikertelen.", "label-no-value": "Nincs érték", "label-heading": "Tulajdonságok", "label-invalid-heading": "Érvénytelen tulajdonságok", "label-show-source": "Forrás megjelenítése", "label-invalid-yaml-marker": "Szintaxis hiba. A megadott metaadatok érvénytelenek.", "label-add-property-button": "Tulajdonság hozzáadása", "label-type-mismatch-warning": "Eltérő típusok, elvárt: {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Oszlop", "label-row": "Sor", "action-row-after": "Sor hozzáadása alulra", "action-column-after": "Oszlop hozzáadása jobbra", "action-row-before": "Sor hozzáadása felülre", "action-row-up": "Sor mozgatása felfelé", "action-row-down": "Sor mozgatása lefelé", "action-column-before": "Oszlop hozzáadása balra", "action-column-left": "Oszlop mozgatása balra", "action-column-right": "Oszlop mozgatása jobbra", "action-duplicate-row": "Sor duplikálása", "action-duplicate-column": "Oszlop duplikálása", "action-delete-row": "Sor törlése", "action-delete-column": "Oszlop törlése", "action-align-left": "Igazítás balra", "action-align-center": "Igazítás középre", "action-align-right": "Igazítás jobbra", "action-delete-selection": "Cellák eltávolítása", "action-clear-selection": "Cellák tartalmának törlése", "action-sort-a-z": "Sorok rendezése (A-tól Z-ig)", "action-sort-z-a": "Sorok rendezése (Z-től A-ig)", "label-command": "Táblázat: {{command}}" }, "callout": { "option-type": "Felhívás típusa", "type": { "info": "Információ", "important": "Fontos", "tip": "Tipp", "success": "Siker", "question": "Kérdés", "warning": "Figyelmeztetés", "quote": "Idézet", "example": "Példa", "none": "Semelyik" }, "option-other": "Továbbiak...", "option-other-placeholder": "Felhívás típusa..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} szó", "word-with-count_plural": "{{count}} szó", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} karakter", "character-with-count_plural": "{{count}} karakter", "link-with-count": "{{count}} hivatkozás", "link-with-count_plural": "{{count}} hivatkozás", "file-with-count": "{{count}} fájl", "file-with-count_plural": "{{count}} fájl", "folder-with-count": "{{count}} mappa", "folder-with-count_plural": "{{count}} mappa", "backlink-with-count": "{{count}} visszahivatkozás", "backlink-with-count_plural": "{{count}} visszahivatkozás", "tabs-with-count": "{{count}} lap", "tabs-with-count_plural": "{{count}} lap", "properties-with-count": "{{count}} tulajdonság", "properties-with-count_plural": "{{count}} tulajdonság", "site-with-count": "{{count}} weboldal", "site-with-count_plural": "{{count}} weboldal", "plugin-with-count": "{{count}} bővítmény", "plugin-with-count_plural": "{{count}} bővítmény", "plugin-active-with-count": "{{count}} aktív", "snippet-active-with-count": "{{count}} részlet", "snippet-active-with-count_plural": "{{count}} részlet", "theme-with-count": "{{count}} téma", "theme-with-count_plural": "{{count}} téma" } }{ "setting": { "options": "Pengaturan", "plugin": "Plugin", "builtin-plugins": "Plugin inti", "plugin-options": "Pengaturan plugin", "folder-path-example-placeholder": "Contoh: folder 1/folder 2", "file-path-example-placeholder": "Contoh: folder/berkas", "msg-restart-required": "Mengubah opsi ini memerlukan pemuatan ulang untuk mendapatkan perubahan.", "editor": { "name": "Pengubah", "section-behavior": "Perilaku", "section-display": "Tampilan", "option-spellcheck": "Pemeriksa ejaan", "option-spellcheck-description": "Aktifkan pemeriksa ejaan. Sementara hanya berfungsi untuk bahasa Inggris Amerika.", "spellcheck-languages": "Bahasa pemeriksa ejaan", "spellcheck-languages-description": "Pilih bahasa untuk menggunakan pemeriksa ejaan.", "spellcheck-languages-mac-description": "Pemeriksa ejaan bawaan akan secara otomatis mendeteksi bahasa yang digunakan jika menggunakan macOS.", "spellcheck-dict": "Kamus pemeriksa ejaan", "spellcheck-dict-empty": "Kamus pemeriksa ejaan tidak tersedia.", "option-show-inline-title": "Tampilkan judul sebaris", "option-show-inline-title-description": "Menampilkan nama file sebagai judul yang dapat diubah sesuai dengan konten file.", "option-readable-line-length": "Panjang baris yang dapat dibaca", "option-readable-line-description": "Batasi panjang maksimum baris teks. Memuat lebih sedikit konten pada layar, tetapi membuat paragraf-paragraf yang panjang lebih mudah dibaca.", "option-strict-line-break": "Pemisah baris ketat", "option-strict-line-break-description": "Spesifikasi Markdown mengabaikan tiap pemisah baris teks dalam mode pratinjau. Matikan untuk menampilkan tiap pemisah baris.", "option-properties-in-document": "Properti di dokumen", "option-properties-in-document-description": "Pilih bagaimana properti ditampilkan pada pengubah. Pilih \"sumber\" untuk menampilkan properti dalam bentuk YAML.", "option-properties-hidden": "Tersembunyi", "option-properties-visible": "Ditampilkan", "option-properties-source": "sumber", "option-auto-pair-brackets": "Pasangkan otomatis tanda kurung", "option-auto-pair-brackets-description": "Pasangkan tanda kurung dan tanda kutip secara otomatis.", "option-auto-pair-markdown": "Pasangkan otomatis sintaksis Markdown", "option-auto-pair-markdown-description": "Pasangkan simbol secara otomatis untuk cetak teks tebal, miring, sorot, coret, dan kode", "option-smart-indent-lists": "Indentasi daftar cerdas", "option-smart-indent-lists-description": "Atur secara otomatis indentasi dan menempatkan daftar item dengan benar.", "option-fold-heading": "Lipat judul", "option-fold-heading-description": "Memungkinkan Anda untuk melipat konten di bawah judul.", "option-fold-indent": "Lipat indentasi", "option-fold-indent-description": "Memungkinkan Anda untuk melipat bagian indentasi yang berderet, seperti deret daftar.", "option-default-new-tab-view": "Tampilan bawaan untuk tab baru", "option-default-new-tab-view-description": "Tampilan Bawaan yang tab Markdown dapatkan ketika terbuka.", "option-default-new-tab-view-editing": "Tampilan Ubah", "option-default-new-tab-view-reading": "Tampilan Baca", "option-open-tab-in-foreground": "Selalu fokus ke tab baru", "option-open-tab-in-foreground-description": "Ketika anda membuka tab baru, langsung beralih ke sana.", "option-default-editing-mode": "Mode ubah bawaan", "option-default-editing-mode-description": "Mode bawaan pengubah pada saat panel baru dimulai.", "option-default-editing-mode-source": "Mode Sumber", "option-default-editing-mode-live-preview": "Pratinjau Nyata", "option-show-line-number": "Tampilkan nomor baris", "option-show-line-number-description": "Tampilkan nomor baris di sisi.", "option-indentation-guide": "Tampilkan bantuan indentasi", "option-indentation-guide-description": "Tampilkan garis hubungan vertikal di antara titik poin untuk membantu secara visual.", "option-use-tabs": "Gunakan tab", "option-use-tabs-description": "Gunakan tab untuk menginden ketika menekan \"Tab\". Matikan untuk menggunakan spasi.", "option-tab-size": "Ukuran tab", "option-tab-size-description": "Jumlah spasi yang setara dengan tab.", "option-rtl": "Kanan-ke-Kiri (RTL)", "option-rtl-description": "Atur arah teks dari catatan untuk ditampilkan secara kanan-ke-kiri.", "option-auto-convert-html": "Ubah HTML otomatis", "option-auto-convert-html-description": "Secara otomatis mengubah HTML ke Markdown saat menempelkan atau seret-dan-jatuhkan dari laman web. Gunakan Ctrl/Cmd+Shift+V untuk menempelkan tanpa pengubahan.", "option-vim-key-bindings": "key binding Vim", "option-vim-key-bindings-description": "Memungkinkan Anda untuk menggunakan key binding Vim dalam pengubah sumber.", "option-vim-key-bindings-mobile": "Pada perangkat seluler, pengaturan ini akan diatur per-perangkat dan tidak disinkronkan melalui berkas konfigurasi.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Konfirmasi memasuki mode Vim", "label-vim-warning": "Mode Vim untuk mengedit teks secara efisien, tetapi bisa cukup kontra-intuitif. Jika Anda tidak familiar dengan Vim, opsi ini mungkin terlihat seperti Obsidian berhenti bekerja.", "label-vim-test": "Untuk memverifikasi bahwa Anda mengetahui Vim, masukkan perintah untuk keluar Vim tanpa menyimpan ini:", "label-vim-your-answer": "Jawaban Anda", "placeholder-enter-command": "Masukkan perintah...", "button-confirm-enable-vim": "Izinkan saya aktifkan Vim", "msg-vim-mode-enabled": "Perintah benar. Mode Vim sekarang aktif.", "msg-vim-mode-not-enabled": "Perintah salah. Mode Vim masih nonaktif untuk melindungi Anda.", "msg-vim-mode-please-enter-command": "Masukkan perintah untuk aktifkan mode Vim" }, "file": { "name": "Berkas & Tautan", "option-confirm-file-deletion": "Konfirmasi penghapusan berkas", "option-confirm-file-deletion-description": "Peringatkan sebelum penghapusan berkas.", "option-delete-destination": "Berkas terhapus", "option-delete-destination-description": "Apa yang terjadi pada berkas setelah Anda hapus.", "option-choice-system-trash": "Pindahkan ke tempat sampah sistem", "option-choice-vault-trash": "Pindahkan ke tempat sampah Obsidian (folder .trash)", "option-choice-permanent-delete": "Hapus secara permanen", "option-always-update-links": "Secara otomatis perbarui tautan internal", "option-always-update-links-description": "Matikan untuk diperingatkan memperbarui tautan setelah menamai berkas.", "option-new-note-location": "Lokasi bawaan untuk catatan baru", "option-new-note-location-description": "Di mana menaruh setiap catatan yang baru dibuat. Pengaturan plugin akan mengesampingkan ini.", "option-choice-vault-root": "Folder vault", "option-choice-current-folder": "Satu folder dengan berkas sekarang", "option-choice-specified-folder": "Dalam folder yang dikhususkan ini", "option-new-file-folder-path": "Folder untuk membuat catatan baru", "option-new-file-folder-path-description": "Catatan yang baru dibuat akan muncul di dalam folder ini. Pengaturan plugin akan mengesampingkan ini.", "option-use-wiki-links": "Gunakan [[Wikilink]]", "option-use-wiki-links-description": "Buat otomatis Wikilink untuk [[tautan]] dan ![[gambar]] sebagai ganti dari tautan dan gambar Markdown. Nonaktifkan opsi ini untuk membuat tautan Markdown.", "option-show-unsupported-files": "Deteksi semua ekstensi berkas", "option-show-unsupported-files-description": "Tampilkan berkas dengan ekstensi apa pun meski jika Obsidian tidak dapat membuka mereka, jadi Anda dapat menghubungkan ke mereka dan melihat mereka di Penjelajah berkas dan Peralih cepat.", "option-link-autocompleted-format": "Format tautan baru", "option-link-autocompleted-format-description": "Tautan apa yang disisipkan saat pembuatan otomatis tautan internal.", "option-choice-shortest-linktext": "Alur terdekat jika memungkinkan", "option-choice-relative-path": "Alur relatif terhadap berkas", "option-choice-absolute-path": "Alur absolut dalam vault", "option-new-attachment-location": "Lokasi bawaan untuk lampiran baru", "option-new-attachment-location-description": "Dimana lampiran yang baru ditambahkan akan disimpan.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "Di subfolder di bawah folder sekarang", "option-attachment-folder-path": "Lokasi folder lampiran", "option-attachment-folder-path-description": "Menempatkan berkas lampiran yang baru dibuat, seperti gambar yang melalui seret-dan-jatuhkan atau rekaman audio, dalam folder ini.", "option-attachment-subfolder-path": "Nama subfolder", "option-attachment-subfolder-path-description": "Jika berkas Anda di bawah \"vault/folder\", dan Anda mengatur nama subfolder ke \"lampiran\", lampiran akan disimpan ke \"vault/folder/lampiran\".", "option-excluded-files": "Berkas yang dikecualikan", "option-excluded-files-desc": "Berkas yang dikecualikan merupakan antara tersembunyi atau kurang terlihat di beragam tempat, seperti Peralih Cepat, saran tautan, dan Tampilan Grafik.", "label-no-excluded-filters-applied": "Tidak ada berkas yang dikecualikan saat ini. Tambahkan di bawah.", "label-excluded-filters-applied": "Berkas yang menyesuaikan saringan berikut saat ini dikecualikan:", "label-excluded-filter": "Saring", "message-empty-filter": "Penyaring tidak dapat kosong", "placeholder-excluded-filter": "Masukkan alur atau \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Tampilan", "option-base-theme": "Tema dasar", "option-base-theme-description": "Pilih skema warna bawaan Obsidian.", "option-accent-color": "Warna aksen", "option-accent-color-description": "Pilih warna aksen yang digunakan pada aplikasi.", "dark-theme": "Gelap", "light-theme": "Terang", "system-theme": "Beradaptasi dengan sistem", "option-font": "Font", "option-advanced": "Lanjutan", "option-interface": "Interface", "option-interface-font": "Font antarmuka", "option-interface-font-description": "Atur font dasar untuk semua bagian Obsidian.", "option-zoom-level": "Tingkat pembesaran", "option-zoom-level-description": "Atur tingkat pembesaran dari keseluruhan aplikasi.", "option-text-font": "Font teks", "option-text-font-description": "Atur font untuk tampilan pengubah dan baca.", "option-monospace-font": "Font monospace", "option-monospace-font-description": "Atur font untuk tempat-tempat seperti blok kode dan frontmatter.", "label-single-font-currently-in-effect": " Font yang diterapkan saat ini: ", "label-multiple-fonts-currently-in-effect": " Font berikut yang saat ini diterapkan:", "option-font-placeholder": "Masukkan nama font...", "label-no-custom-font-set": "Tidak ada font kustom yang diterapkan saat ini. Tambahkan di bawah.", "label-font-applied": "Font pertama dari daftar ini yang tersedia pada sistem Anda akan diterapkan.", "msg-font-not-found": "Font ini tidak terdeteksi pada sistem Anda.", "msg-font-found": "Font ini terdeteksi pada sistem Anda.", "label-font-name": "Nama font", "option-community-themes": "Buka tema komunitas", "option-community-themes-description": "Tampilkan dan gunakan tema-tema luar biasa yang dibuat oleh komunitas.", "button-browse-community-themes": "Telusuri", "option-font-size": "Ukuran font", "option-font-size-description": "Ukuran font dalam piksel yang mempengaruhi editor dan pratinjau.", "option-font-size-action": "Pengaturan cepat ukuran font", "option-font-size-action-description": "Atur ukuran font menggunakan Ctrl + gulir, atau menggunakan gestur jepit perbesar trackpad.", "option-themes": "Tema", "option-manage-themes-description": "Kelola tema terpasang dan telusuri tema komunitas.", "option-theme-button-manage": "Kelola", "option-choice-none": "Tidak ada", "option-native-menus": "Menu bawaan", "option-native-menus-desc": "Menu pada aplikasi akan menyesuaikan sistem operasi. Mereka tidak akan dipengaruhi oleh tema Anda.", "button-reload-themes": "Muat ulang tema", "msg-reloaded-themes": "Tema CSS kustom termuat ulang.", "button-open-themes-folder": "Buka folder tema", "option-css-snippets": "Cuplikan CSS", "label-no-css-snippets-found": "Cuplikan CSS tidak ditemukan di folder cuplikan.", "no-snippet-description": "Cuplikan CSS tersimpan di \"{{path}}\".", "button-reload-snippets": "Muat ulang cuplikan", "button-open-snippets-folder": "Buka folder cuplikan", "msg-reloaded-snippets": "Cuplikan CSS termuat ulang.", "option-toggle-snippet-description": "Terapkan cuplikan CSS di \"{{path}}\".", "label-installed-themes": "Tema terpasang", "label-screenshot-unavailable": "Tangkapan layar tidak tersedia", "label-default-theme": "Bawaan", "tooltip-click-to-enlarge": "Klik untuk memperbesar", "button-update": "Perbarui", "label-currently-active": "Active", "option-frame-style": "Gaya bingkai jendela", "option-frame-description": "Tentukan gaya bilah judul dari jendela Obsidian. Memerlukan pemuata ulang secara penuh untuk mendapatkan hasil.", "option-frame-hidden": "Tersembunyi (bawaan)", "option-frame-obsidian": "Bingkai Obsidian", "option-frame-native": "Bingkai bawaan", "option-custom-icon": "Ikon aplikasi kustom", "option-custom-icon-desc": "Atur ikon kustom untuk aplikasi", "button-choose-custom-icon": "Pilih ikon kustom", "option-configure-ribbon": "Menu ribbon", "option-configure-ribbon-desc": "Atur perintah apa yang tampil pada menu ribbon di bilah navigasi.", "option-mobile-quick-ribbon-item": "Akses cepat item ribbon", "option-mobile-quick-ribbon-item-desc": "Mengetuk pada item ribbon di menu navigasi akan mengaktifkan item ribbon ini. Ketuk dan tahan akan tetap menampilkan menu.", "option-mobile-quick-ribbon-default": "Open ribbon menu", "button-configure": "Atur", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "Item ribbon lain", "label-modal-configuration": "Atur Ribbon", "label-modal-configuration-desc": "Pilih item apa saja yang ingin Anda aktifkan pada ribbon. Seret-dan-jatuhkan untuk mengurutkannya.", "option-show-view-header": "Tampilkan tab bilah judul", "option-show-view-header-desc": "Menampilkan judul pada bagian atas setiap tab.", "msg-updates-found": "Ditemukan {{count}} tema untuk pembaruan.", "msg-updates-found_plural": "Ditemukan {{count}} tema untuk pembaruan.", "button-check-for-updates": "Periksa pembaruan", "button-view-updates": "Lihat pembaruan", "button-update-all-themes": "Perbarui semua", "label-current-themes": "Tema komunitas terkini", "label-currently-installed": "Anda saat ini memiliki {{count}} tema terpasang.", "label-currently-installed_plural": "Anda saat ini memiliki {{count}} tema terpasang." }, "hotkeys": { "name": "Pintasan", "option-search": "Cari pintasan", "option-search-desc": "Menampilkan {{count}} pintasan. ", "option-search-desc_plural": "Menampilkan {{count}} pintasan. ", "option-search-conflict": "{{count}} perintah dengan konflik.", "option-search-conflict_plural": "{{count}} perintah dengan konflik.", "prompt-filter": "Saring...", "tooltip-delete-hotkey": "Hapus tombol pintasan", "label-waiting-for-hotkey-press": "Tekan tombol pintasan...", "label-show-all": "Semua", "label-show-unassigned": "Belum ditetapkan", "label-show-assigned": "Ditetapkan", "label-show-user-assigned": "Ditetapkan oleh saya", "tooltip-restore-default": "Pulihkan bawaan", "tooltip-customize-command": "Kustomisasi pintasan ini", "tooltip-hotkey-single-conflict": "Pintasan ini berkonflik dengan \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Pintasan ini berkonflik dengan {{count}} perintah lain", "label-blank-hotkey": "Kosong" }, "about": { "name": "Tentang", "label-commercial-license": "Lisensi komersial", "label-license-key": "Kunci lisensi", "license-key-placeholder": "Kunci lisensi Anda...", "label-activate-license": "Aktifkan lisensi", "button-activate": "Aktifkan", "label-unknown-version": "Tidak diketahui", "label-current-version": "Versi sekarang: ", "label-install-version": "(Versi pemasang: {{version}})", "label-up-to-date": "Aplikasi Anda sudah terbaru!", "label-read-changelog": "Baca log perubahan.", "label-manual-update-required": "Untuk mendukung fitur terbaru dan untuk menerima pembaruan keamanan, Obsidian memerlukan pembaruan pemasangan besar. Anda perlu mengunduh dan memasang ulang Obsidian secara manual.", "label-new-version-ready": "Versi terbaru siap untuk dipasang. ", "label-disabled-updates": "Pembaruan dinonaktifkan.", "button-relaunch": "Mulai ulang", "button-check-for-updates": "Periksa pembaruan", "option-auto-update": "Perbarui otomatis", "option-auto-update-description": "Matikan ini untuk mencegah aplikasi dari pemeriksaan pembaruan.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Dapatkan Bantuan", "option-get-help-description": "Dapatkan bantuan penggunaan Obsidian.", "button-open": "Buka", "option-language": "Bahasa", "option-language-description": "Ubah tampilan bahasa.", "option-insider-build": "Dapatkan versi insider", "option-insider-build-description": "Perbarui otomatis ke versi insider untuk mencoba fitur baru. Perhatikan bahwa versi ini adalah terdepan dan mungkin kurang stabil.", "option-advanced": "Lanjutan", "option-hw-acceleration": "Akselerasi Perangkat Keras", "option-hw-acceleration-description": "Aktifkan Akselerasi Perangkat Keras, menggunakan GPU Anda untuk membuat Obsidian lebih lancar.", "option-hw-acceleration-warning": "Jika Anda menonaktifkan ini, performa aplikasi akan turun drastis.", "option-config-location": "Timpa folder konfigurasi", "option-config-location-description": "Gunakan folder konfigurasi yang berbeda dari bawaan. Harus dimulai dengan titik.", "option-config-location-warning": "Lokasi konfigurasi harus bernama folder yang valid yang mana dimulai dengan titik.", "label-license": "Lisensi", "label-your-commercial-license-key": "Kunci lisensi komersial Anda adalah \"{{key}}\".", "label-commercial-license-info": "Terdaftar atas \"{{company}}\" untuk {{seats}} pengguna. Valid hingga {{expiry}}.", "label-validating-commercial-license": "Memvalidasi...", "label-invalid-commercial-license": "Lisensi tidak valid: ", "button-remove-commercial-license": "Hapus", "option-catalyst": "Lisensi Catalyst", "option-catalyst-desc": "Anda saat ini memiliki lisensi {{tier}} Catalyst. Terima kasih atas dukungan Anda!", "option-catalyst-desc-no-license": "Saat ini Anda tidak memiliki lisensi Catalyst. Lisensi Catalyst merupakan donasi satu kali untuk mendukung pengembangan Obsidian.", "label-app": "Aplikasi", "label-add-own-language": "Lihat bagaimana menambahkan bahasa anda ke Obsidian." }, "account": { "name": "Akun", "option-your-account": "Akun Anda", "option-your-account-desc": "Anda saat ini masuk sebagai {{name}} ({{email}}).", "option-your-account-desc-no-login": "Saat ini Anda belum masuk. Akun hanya diperlukan untuk Obsidian Sync, Obsidian Publish, dan build Catalyst insider.", "label-insider": "insider", "label-supporter": "supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Tingkatkan", "option-commercial-license": "Lisensi Komersial", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Bayar", "button-log-out": "Keluar", "label-log-in": "Masuk", "label-sign-up": "Daftar", "label-email": "Surel", "placeholder-email": "Surel Anda...", "label-name": "Full name", "label-password": "Kata sandi", "placeholder-password": "Kata sandi Anda...", "label-forgot-password": "Forgot password?", "button-login": "Masuk", "message-empty-email": "Surel tidak boleh kosong.", "message-invalid-email": "Surel tidak valid.", "message-empty-password": "Kata sandi tidak boleh kosong.", "message-login-failed": "Gagal masuk, periksa kembali surel dan kata sandi Anda.", "message-signup-failed": "Failed to sign up", "label-no-account": "Belum memiliki akun? ", "link-sign-up-now": "Daftar sekarang", "label-mfa-code": "kode 6-digit 2FA", "mfa-wrong-format": "Kode otentikator 2FA haruslah 6 digit.", "mfa-verification-failed": "Kode 2FA salah, harap periksa kembali aplikasi otentikasi Anda." }, "core-plugin": { "plugin-list": "Daftar Plugin", "option-search-plugin": "Cari plugin ini", "option-search-plugin-description": "Saring plugin berdasarkan nama atau deskripsi.", "placeholder-search-plugin": "Cari plugin..." }, "third-party-plugin": { "name": "Plugin komunitas", "option-restricted-mode": "Mode terbatas", "option-restricted-mode-description": "Mode terbatas sedang mati. Nyalakan untuk menonaktifkan plugin komunitas.", "button-turn-on": "Nyalakan", "option-browse-community-plugins": "Plugin komunitas", "option-browse-community-plugins-description": "Telusuri dan pasang plugin yang dibuat oleh komunitas kami yang menakjubkan.", "button-browse": "Telusuri", "label-exit-restricted-mode": "Keluar Mode Terbatas", "label-exit-restricted-mode-description-1": "Plugin komunitas, seperti halnya aplikasi lain yang Anda pasang, berpotensi menyebabkan masalah integritas dan keamanan data.", "label-exit-restricted-mode-description-2": "Keamanan plugin sangat penting bagi kami. Berikut yang kami lakukan:", "label-exit-restricted-mode-description-3": "Terlepas dari upaya kami, masih ada kemungkinan kecil bahwa plugin komunitas mungkin berperilaku tidak semestinya.", "label-code-review": "Peninjauan awal kode", "label-code-review-desc": "Plugin menjalani peninjauan kode awal oleh tim kami sebelum merka tampil pada toko.", "label-open-source": "Sumber terbuka", "label-open-source-desc": "Kebanyakan plugin merupakan sumber terbuka pada GitHub, sehingga Anda dapat memeriksa kode secara mandiri.", "label-peer-audit": "Peer audit", "label-peer-audit-desc": "Kami memiliki komunitas pengembang yang besar yang saling mengawasi satu sama lain.", "label-report-mechanism": "Mekanisme pelaporan", "label-report-mechanism-desc": "Kami menindaklanjuti dan menghapus plugin yang salah setelah laporan pengguna.", "label-exit-restricted-mode-disable-confirmation": "Apakah Anda ingin keluar dari Mode Terbatas untuk mengaktifkan plugin komunitas? Kami sangat merekomendasikan untuk mencadangkan data Anda sebelum melakukannya.", "label-learn-more": "Pelajari lebih lanjut mengenai keamanan plugin", "button-turn-on-community-plugins": "Aktifkan plugin komunitas", "label-trust-author": "Apakah Anda mempercayai pemilik dari vault ini?", "label-trust-author-description-1": "Anda membuka vault ini untuk pertama kalinya, dan terdapat beberapa plugin bersamanya.", "label-trust-author-description-2": "Jika Anda mendapatkan vault ini dari seseorang, harap dicatat bahwa plugin dengan sumber yang tidak diketahui mungkin akan menimbulkan risiko keamanan.", "label-trust-author-description-3": "Jika Anda tidak memepercayai pemilik vault ini secara penuh, kami merekomendasikan untuk tetap pada Mode Terbatas, sehingga plugin pada vault ini tidak akan berjalan.", "button-enable-plugins": "Percayai pemilik dan aktifkan plugin", "button-dont-trust-author": "Jelajahi vault dengan Mode Terbatas", "placeholder-community-plugins": "Cari plugin komunitas...", "msg-failed-load-plugins": "Gagal memuat plugin komunitas.", "label-installed": "Terpasang", "button-install": "Pasang", "button-enable": "Aktifkan", "button-disable": "Matikan", "button-copy-share-link": "Salin tautan berbagi", "button-donate": "Donasi", "label-no-results-found": "Tidak ada hasil.", "label-no-recent-files-found": "Tidak ada berkas terkini. Ketik untuk mencari...", "msg-failed-to-load-manifest": "Gagal memuat manifes plugin.", "label-version": "Versi: {{version}}", "label-currently-installed-version": " (saat ini terpasang: {{version}})", "label-by-author": "Oleh ", "label-repository": "Repositori: ", "label-last-update": "Pembaruan terakhir: ", "tooltip-view-last-update": "Lihat pembaruan terkini", "label-unsupported": "Plugin ini tidak mendukung perangkat Anda.", "button-update": "Perbarui", "label-no-readme": "Plugin ini tidak menyediakan berkas README.", "msg-installing-plugin": "Memasang plugin \"{{name}}\"...", "msg-failed-to-install-plugin": "Gagal memasang plugin \"{{name}}\".", "msg-successfully-installed-plugin": "Berhasil memasang plugin \"{{name}}\".", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Plugin terpasang", "button-reload-plugins": "Muat ulang plugin", "msg-reloaded-third-party-plugins": "Plugin komunitas termuat ulang.", "label-uninstall": "Hapus pemasangan", "label-uninstall-plugin": "Hapus plugin", "label-uninstall-plugin-confirmation": "Apa Anda yakin Anda ingin menghapus plugin ini? Ini akan menghapus folder dari plugin.", "button-open-plugins-folder": "Buka folder plugin", "button-check-for-updates": "Cek pembaruan", "button-update-all-plugins": "Perbarui semua", "label-current-plugins": "Plugin saat ini", "label-currently-installed": "Anda saat ini memiliki {{count}} plugin terpasang.", "label-currently-installed_plural": "Anda saat ini memiliki {{count}} plugin terpasang.", "msg-no-updates-found": "Pembaruan plugin tidak ditemukan.", "msg-updates-found": "Ditemukan {{count}} plugin untuk pembaruan.", "msg-updates-found_plural": "Ditemukan {{count}} plugin untuk pembaruan.", "msg-update-plugin": "Memperbarui ke versi {{version}}", "option-search-installed-plugin": "Cari plugin terpasang", "option-search-installed-plugin-description": "Saring plugin yang terpasang dengan nama atau deskripsi.", "placeholder-search-installed-plugin": "Cari plugin terpasang...", "show-installed-only": "Tampilkan hanya yang terpasang", "label-donate-modal-title": "Donasi untuk mendukung {{name}}", "label-donate-modal-text1": "Pengembang plugin merupakan komunitas yang secara sukarela membuat sesuatu yang luar biasa. Jika Anda merasa plugin ini berguna, harap pertimbangkan untuk mendanai pengembangannya.", "label-donate-modal-text2": "100% dari kontribusi Anda akan diberikan kepada pengembang plugin; Obsidian tidak meminta potongan. Media pendanaan yang mereka pilih mungkin memerlukan biaya.", "label-donate-modal-text3": "Terima kasih banyak atas kedermawanan Anda!", "label-support-this-plugin": "Dukung plugin ini:", "label-search-summary": "Menampilkan {{pluginCount}}:", "label-by-popularity": "Paling banyak diunduh", "label-by-released": "Baru-baru ini dirilis", "label-by-updated": "Baru-baru ini diperbarui", "label-alphabetical": "Secara abjad", "label-last-updated": "Diperbarui {{time}}" }, "mobile-toolbar": { "name": "Bilah alat seluler", "option-configure-quick-action": "Konfigurasikan Aksi Cepat seluler", "option-configure-quick-action-description": "Konfigurasikan perintah yang akan aktif saat menarik ke bawah. Perintah terkini diatur ke \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "Konfigurasikan", "placeholder-select-quick-action": "Pilih Aksi Cepat...", "quick-action-disabled": "None", "manage-toolbar-options": "Kelola opsi bilah alat", "option-internal-link": "Tambahkan tautan internal", "option-internal-embed": "Tambahkan sematan", "option-tag": "Tambahkan tag", "option-heading": "Masukkan judul", "option-strikethrough": "Coret teks", "option-highlight": "Sorot teks", "option-code": "Masukkan kode", "option-blockquote": "Tambahkan blok kutipan", "option-inline-math": "Peralih matematis sebaris", "option-math-block": "Peralih blok matematis", "option-markdown-link": "Tambahkan tautan Markdown", "option-bullet-list": "Tambahkan daftar poin", "option-numbered-list": "Tambahkan daftar angka", "option-indent-list": "Indentasikan daftar item", "option-unindent-list": "Balikkan indentasi daftar item", "option-undo": "Batalkan", "option-redo": "Kembalikan", "option-move-caret-up": "Pindah caret ke atas", "option-move-caret-down": "Pindah caret ke bawah", "option-move-caret-left": "Pindah caret ke kiri", "option-move-caret-right": "Pindah caret ke kanan", "option-first-line": "Pergi ke baris pertama", "option-last-line": "Pergi ke baris terakhir", "option-toggle-keyboard": "Peralih keyboard", "option-configure-toolbar": "Atur bilah alat seluler", "option-added-options": "Opsi yang ditambahkan", "option-more-toolbar-options": "Opsi bilah alat lainnya", "option-attach": "Sisipkan lampiran", "option-add-command": "Tambahkan perintah umum", "option-add-command-description": "Pilih perintah umum untuk ditambahkan ke bilah alat." } }, "editor": { "search": { "placeholder-find": "Cari", "placeholder-replace": "Ganti", "label-exit-search": "Keluar penelusuran", "label-next": "Berikutnya", "label-previous": "Sebelumnya", "label-find-all": "Find all", "label-replace": "Ganti", "label-replace-all": "Ganti semua" }, "link-suggestion": { "label-type-hash": "Ketik #", "label-link-heading": "untuk hubungkan ke judul", "label-type-block": "Ketik ^", "label-link-block": "untuk hubungkan ke blok", "label-type-pipe": "Ketik |", "label-change-display-text": "untuk ganti tampilan teks", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "Tidak ditemukan kecocokan", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Tidak ada saran...", "add-to-dictionary": "Masukkan ke kamus" }, "menu": { "edit-link": "Ubah tautan", "edit-tag": "Edit tag", "label-edit-block": "Edit this block", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "Tanpa judul", "label-heading-level": "Judul {{level}}" }, "print-modal": { "title": "Ekspor ke PDF", "caption": "Ekspor \"{{filename}}\" ke PDF dengan dengan pengaturan di bawah.", "setting-page-size": "Ukuran halaman", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Masukkan nama berkas sebagai judul", "setting-landscape": "Lanskap", "setting-margin": "Margin", "setting-margin-default": "Bawaan", "setting-margin-minimal": "Minimal", "setting-margin-none": "Tidak ada", "setting-downscale-percent": "Persentase skala", "button-export-to-pdf": "Ekspor ke PDF" }, "link-popover": { "tooltip-follow-link": "Ikuti tautan", "tooltip-open-link": "Buka tautan", "tooltip-search-tag": "Cari tag" } }, "interface": { "embed-cannot-find": "Tidak dapat menemukan:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Buka di aplikasi bawaan", "empty-sidebar": "Bilah sisi kosong, coba seret panel ke sini.", "sidebar-expand": "Buka", "sidebar-collapse": "Tutup", "msg-fail-to-save-file": "Gagal menyimpan berkas \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "Tidak ada berkas", "msg-file-changed": "\"{{file}}\" telah dimodifikasi secara eksternal, menggabungkan perubahan secara otomatis.", "switch-vault": "Buka vault lain", "manage-vaults": "Manage vaults...", "help": "Bantuan", "settings": "Pengaturan", "drag-to-rearrange": "Seret untuk menata", "msg-switched-to-read": "Beralih mode tampilan bawaan ke tampilan baca.", "msg-switched-to-edit": "Mengganti mode tampilan bawaan ke pengubah.", "msg-upgrade-installer": "Untuk menggunakan fitur ini, pasang ulang dengan pemasang terbaru yang tersedia di situs web kami.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Pulihkan pengaturan bawaan", "label-copy": "Salin ke papan klip", "label-copy-short": "Copy", "copied_generic": "Tersalin ke papan klip Anda", "copied": "{{item}} tersalin ke papan klip Anda", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "Tautan", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Berkas \"{{path}}\" terbuka", "msg-file-not-found-through-uri": "Berkas \"{{name}}\" tidak ditemukan.", "delete-action-short-name": "Hapus", "msg-indexing": "Obsidian sedang mengindeks vault Anda...\nIni hanya dilakukan sekali.\nBeberapa fungsi mungkin tidak tersedia hingga ini selesai.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Pengindeksan selesai.", "msg-sandbox-vault": "Ini merupakan vault sandbox.\nPerubahan yang Anda lakukan pada vault ini akan hilang.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Enter untuk membuat", "label-update-available": "Pembaruan Tersedia", "label-debug-info": "Info Debug", "button-learn-more": "Pelajari lebih lanjut", "button-not-now": "Tidak sekarang", "button-add": "Tambah", "button-manage": "Kelola", "label-new-tab": "Tab baru", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "Tab ini sedang sibuk, harap coba lagi nanti", "formatting": { "label-formatting": "Format", "label-paragraph": "Paragraph", "label-insert": "Insert", "insert-link": "Add link", "insert-external-link": "Add external link", "insert-callout": "Callout", "insert-horizontal-rule": "Horizontal rule", "insert-code-block": "Code block", "insert-math-block": "Math block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comments": "Comment", "toggle-highlight": "Highlight", "toggle-italics": "Italic", "toggle-strikethrough": "Strikethrough", "toggle-math": "Math", "toggle-bullet-list": "Bullet list", "toggle-checklist": "Task list", "toggle-numbered-list": "Numbered list", "set-heading": "Heading {{level}}", "no-heading": "Body", "clear": "Clear formatting", "toggle-quote": "Quote" }, "empty-state": { "no-file-open": "Tidak ada berkas terbuka", "create-new-file": "Buat berkas baru", "go-to-file": "Buka berkas", "see-recent-files": "Lihat berkas terakhir", "close": "Tutup", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Plugin tidak lagi aktif", "unknown-pane-desc": "Plugin yang membuat panel ini ({{type}}) telah hilang" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Ubah (Ctrl/Cmd+Klik untuk ubah di panel baru)", "read-view": "Tampilan terkini: Membaca", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "Klik untuk mengubah", "switch-to-read-view": "Klik untuk membaca", "mod-click-open-new-tab": "{{key}}+Klik untuk membuka di tab baru", "find": "Cari...", "replace": "Ganti...", "edit": "Ubah", "remove": "Remove", "rename": "Rename", "preview": "Pratinjau", "more-options": "Opsi lain", "close": "Tutup", "close-all": "Tutup semua", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Tutup lainnya", "close-after": "Close tabs after", "pin": "Semat", "unpin": "Lepas semat", "unlink-tab": "Batalkan tautan tab", "link-tab": "Tautkan dengan tab...", "toggle-source-mode": "Mode Sumber", "toggle-reading-view": "Tampilan Baca", "add-property": "Tambah properti berkas", "delete-file": "Hapus berkas", "create-file": "Buat berkas ini", "open-link": "Buka tautan", "open-in-new-tab": "Buka di tab baru", "open-to-the-right": "Buka di kanan", "copy-url": "Salin tautan", "copy": "Salin", "cut": "Potong", "paste": "Tempel", "paste-as-plain-text": "Tempel sebagai teks biasa", "lookup-selection": "Melihat “{{selection}}”", "select-all": "Pilih semua", "rename-heading": "Ubah nama judul ini...", "rename-blockid": "Ubah nama ID blok ini...", "open-in-new-window": "Buka di jendela baru", "move-to-new-window": "Pindah ke jendela baru", "open-in-browser": "Buka di browser", "stack-tabs": "Susun tab", "unstack-tabs": "Batal susun tab", "open-linked-view": "Buka tampilan tertaut" }, "tooltip": { "click-to-expand": "Klik untuk luaskan", "click-to-collapse": "Klik untuk ciutkan", "alias": "Alias", "not-created-yet": "Belum dibuat, pilih untuk buat" }, "start-screen": { "label-version": "Versi", "label-create-local-vault": "Buat vault lokal", "option-open-folder-as-vault": "Buka folder sebagai vault", "option-open-folder-as-vault-description": "Pilih folder yang berisikan berkas Markdown.", "option-create-vault": "Buat vault baru", "option-create-vault-description": "Buat vault Obsidian baru dalam suatu folder.", "option-connect-obsidian-sync": "Hubungkan ke Obsidian Sync", "option-connect-obsidian-sync-description": "Atur vault yang tersinkronisasi dengan vault remote yang tersedia.", "option-new-vault-name": "Nama vault", "option-new-vault-name-description": "Beri nama untuk vault Anda yang mengagumkan.", "option-new-vault-location": "Lokasi", "option-new-vault-location-description": "Pilih lokasi untuk menaruh vault baru Anda.", "label-new-vault-location-preview": "Vault baru Anda akan ditempatkan di: ", "option-reveal-vault-in-explorer": "Ungkap vault di penjelajah sistem", "option-reveal-vault-in-explorer-mac": "Ungkap vault di Finder", "option-rename-vault": "Ubah nama vault...", "option-copy-vault-i-d": "Copy vault ID", "msg-error-rename-exists": "Vault dengan nama ini telah tersedia.", "msg-error-nested": "Tidak dapat memindahkan vault ke subfolder dari dirinya sendiri.", "msg-error-rename-open": "Tidak dapat mengubah nama dari vault yang sedang terbuka.", "msg-rename-failed": "Gagal mengubah nama vault.", "msg-rename-success": "Berhasil mengubah nama vault.", "option-move-vault": "Pindahkan vault...", "msg-move-select-dest": "Pilih folder tujuan", "msg-error-move-exists": "Sudah tersedia vault pada tujuan.", "msg-error-move-open": "Tidak dapat memindahkan vault yang sedang terbuka.", "msg-move-failed": "Gagal memindahkan vault.", "msg-move-success": "Berhasil memindahkan vault.", "option-remove": "Hapus dari daftar", "button-quick-start": "Memulai cepat", "button-open": "Buka", "button-browse": "Telusuri", "button-connect": "Hubungkan", "button-create-vault": "Buat", "button-back": "Kembali", "msg-empty-vault-name": "Nama vault tidak dapat kosong.", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "Pilih folder yang valid.", "msg-failed-to-create-vault": "Gagal membuat vault.", "msg-failed-to-create-vault-at-location": "Tidak dapat membuat vault di lokasi yang dipilih. Periksa kembali lokasi dan perizinan.", "msg-error-failed-to-open-vault": "Gagal membuka.", "msg-error-remove-current-open-vault": "Tidak dapat menghapus vault yang sekarang terbuka.", "option-get-help": "Dapatkan Bantuan", "option-user-email": "Surel", "placeholder-your-email": "Surel Anda...", "option-user-password": "Kata sandi", "placeholder-your-password": "Kata sandi Anda...", "button-sign-in": "Masuk", "button-setup": "Mengatur", "option-connect-vault-desc": "Buat vault tersinkron pada perangkat ini.", "tooltip-own-vault": "Vault remote ini dimiliki oleh Anda.", "tooltip-shared-vault": "Vault remote ini dibagikan dengan Anda.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Welcome", "welcome-file-content": "This is your new *vault*.\n\nMake a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nWhen you're ready, delete this note and make the vault your own." }, "drag-and-drop": { "insert-link-here": "Sisipkan tautan di sini", "insert-links-here": "Sisipkan tautan di sini", "move-into-folder": "Pindah ke \"{{folder}}\"", "star-this-file": "Beri bintang berkas ini", "star-these-files": "Beri bintang berkas ini", "open-in-this-tab": "Buka pada tab ini", "open-as-tab": "Buka sebagai tab baru" }, "window": { "maximize": "Maksimalkan", "minimize": "Minimalkan", "restore-down": "Kecilkan", "close-window": "Tutup jendela", "go-back": "Sebelumnya", "go-forward": "Sesudahnya" }, "start-up": { "loading-obsidian": "Memuat Obsidian...", "obsidian-load-error": "Terjadi kesalahan ketika memuat Obsidian.", "button-reload-app": "Muat ulang aplikasi", "button-reload-app-in-safe-mode": "Muat ulang aplikasi dalam mode aman", "button-open-another-vault": "Buka vault lain", "loading-plugins": "Memuat plugin...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Memuat vault...", "msg-failed-to-load-vault": "Gagal memuat vault: ", "loading-cache": "Memuat cache...", "loading-workspace": "Memuat ruang kerja..." }, "mobile": { "action-import": "Impor ke vault", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "Pilih berkas untuk dimasukkan", "action-insert-text-into-file": "Masukkan teks ke {{filename}}", "action-insert-link-into-file": "Masukkan tautan ke {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "Mengimpor...", "msg-import-success": "Sukses mengimpor", "msg-failed-to-import-file": "Gagal mengimpor berkas {{filename}}", "msg-back-again-to-exit": "Tekan kembali lagi untuk keluar.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Situs bantuan resmi", "label-official-help-site-desc": "Baca dokumentasi bantuan resmi dari Obsidian, tersedia dalam berbagai bahasa.", "action-visit": "Kunjungi", "label-discord-chat": "Obrolan Discord", "label-discord-chat-desc": "Discord merupakan tempat terbaik untuk mengobrol dengan pengguna Obsidian berpengalaman lainnya dari seluruh dunia.", "action-join": "Gabung", "label-forum": "Forum resmi", "label-forum-desc": "Bantu satu sama lain, posting saran fitur, laporkan masalah, dan dapatkan diskusi mendalam mengenai pengelolaan pengetahuan.", "label-sandbox-vault": "Vault sandbox", "label-sandbox-vault-desc": "Bermain dan menguji coba dengan beragam fitur. Harap dicatat bahwa perubahan Anda tidak akan disimpan." } }, "commands": { "save-file": "Simpan berkas", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Buka tautan pada kursor", "open-cursor-link-in-new-tab": "Buka tautan pada kursor di tab baru", "open-cursor-link-to-the-right": "Buka tautan pada kursor pada sebelah kanan", "open-cursor-link-in-new-window": "Buka tautan pada kursor di jendela baru", "navigate-tab-above": "Fokus pada grup tab di atas", "navigate-tab-below": "Fokus pada grup tab di bawah", "navigate-tab-left": "Fokus pada grup tab di kiri", "navigate-tab-right": "Fokus pada grup tab di kanan", "toggle-pin": "Aktifkan/Matikan sematan", "split-right": "Pisah ke kanan", "split-down": "Pisah ke bawah", "toggle-stacked-tabs": "Peralih tab tersusun", "navigate-back": "Navigasikan mundur", "navigate-forward": "Navigasikan maju", "use-dark-mode": "Gunakan mode gelap", "use-light-mode": "Gunakan mode terang", "change-theme": "Ubah tema", "search-current-file": "Cari di dalam berkas", "search-replace-current-file": "Cari dan ganti di dalam berkas", "add-property": "Tambah properti berkas", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Hapus properti berkas", "open-settings": "Buka pengaturan", "open-help": "Buka bantuan", "toggle-edit": "Pengalih tampilan ubah/baca", "toggle-source-mode": "Pengalih Pratinjau Nyata/Mode Sumber", "delete-current-file": "Hapus berkas", "new-tab": "Tab baru", "show-trash": "Show trash", "close-all-tabs": "Tutup semua tab", "close-active-tab": "Tutup tab terkini", "close-others-in-tab-group": "Tutup lainnya di tab grup", "close-other-tabs": "Tutup semua tab lain", "close-tab-group": "Tutup tab grup ini", "toggle-left-sidebar": "Buka/Tutup bilah sisi kiri", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "Buka/Tutup bilah sisi kanan", "toggle-default-new-tab-mode": "Peralih mode bawaan untuk tab baru", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "Fokus ke pengubah", "toggle-fold-properties": "Lipat properti pada berkas terkini", "toggle-fold": "Lipat/Bentangkan baris teks", "fold-all": "Lipat semua judul dan daftar", "unfold-all": "Bentangkan semua judul dan daftar", "fold-more": "Lipat lebih", "fold-less": "Lipat kurang", "swap-line-up": "Tukar baris teks ke atas", "swap-line-down": "Tukar baris teks ke bawah", "remove-heading": "Buang judul", "toggle-heading": "Atur sebagai judul {{level}}", "toggle-bold": "Tebalkan teks yang dipilih", "toggle-italics": "Miringkan teks yang dipilih", "toggle-highlight": "Sorot teks yang dipilih", "toggle-comments": "Beri komentar untuk pilihan", "clear-formatting": "Clear formatting", "insert-link": "Sisipkan tautan", "toggle-spellcheck": "Aktifkan/Matikan pemeriksa ejaan", "delete-paragraph": "Hapus paragraf", "toggle-checklist": "Centang daftar periksa", "cycle-list-checklist": "Titik bulat/centang", "insert-callout": "Masukkan callout", "insert-code-block": "Masukkan blok kode", "insert-math-block": "Masukkan blok matematis", "insert-horizontal-rule": "Insert horizontal rule", "insert-table": "Insert table", "insert-footnote": "Insert footnote", "edit-file-title": "Ubah judul berkas", "copy-path": "Salin alur berkas", "copy-url": "Salin tautan Obsidian", "export-pdf": "Ekspor ke PDF", "reload": "Muat ulang aplikasi tanpa menyimpan", "undo-close-tab": "Batal tutup tab", "context-menu": "Tampilkan menu konteks di bawah kursor", "show-debug-info": "Tampilkan informasi debug", "open-sandbox-vault": "Buka vault sandbox", "always-on-top": "Peralih untuk jendela selalu di atas", "zoom-in": "Perbesar", "zoom-out": "Perkecil", "reset-zoom": "Atur ulang pembesaran", "toggle-preview": "Ubah mode pengubah/pratinjau", "move-to-new-window": "Pindah panel terkini ke jendela baru", "open-in-new-window": "Buka panel terkini ke jendela baru", "rename-current-file": "Ubah nama berkas terkini", "go-to-prev-tab": "Ke tab sebelumnya", "go-to-next-tab": "Ke tab berikutnya", "go-to-last-tab": "Ke tab terakhir", "go-to-nth-tab": "Ke tab #{{n}}", "show-release-notes": "Tampilkan catatan rilis" }, "dialogue": { "label-link-affected": "Ini akan mempengaruhi {{links}} di {{files}}.", "msg-updated-links": "{{links}} di {{files}} diperbarui.", "label-update-links": "Perbarui tautan", "label-confirm-update-link-to-file": "Apakah Anda ingin memperbarui tautan yang tertaut ke berkas ini?", "button-always-update": "Selalu perbarui", "button-just-once": "Hanya sekali", "button-do-not-update": "Jangan perbarui", "label-confirm-deletion": "Apakah Anda yakin ingin menghapus \"{{filename}}\"?", "label-move-to-system-trash": "Berkas akan dipindahkan ke tempat sampah sistem.", "label-move-to-vault-trash": "Berkas akan dipindahkan ke tempat sampah Obsidian, yang terletak di \".trash\" yang tersembunyi di vault Anda.", "label-permanent-delete": "Berkas akan dihapus permanen.", "label-non-empty-folder": "Folder ini tidak kosong.", "label-delete-folder-warning": "Jika Anda melanjutkan, semua berkas dalam folder ini akan dihapus.", "label-delete-folder": "Hapus folder", "button-delete": "Hapus", "button-delete-do-not-ask-again": "Hapus dan jangan tanyakan lagi", "label-do-not-ask-again": "Jangan tanya lagi", "label-existing-backlink": "Saat ini ada {{count}} tautan yang menunjuk ke catatan ini.", "label-existing-backlink_plural": "Saat ini ada {{count}} tautan yang menunjuk ke catatan ini.", "label-delete-file": "Hapus berkas", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Kelola", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Batal", "button-download": "Download", "button-done": "Selesai", "button-save": "Simpan", "button-stop": "Hentikan", "button-continue": "Lanjutkan", "button-choose": "Choose", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Menyiapkan PDF...", "label-rename-file": "Ubah nama berkas", "label-rename-file-generic": "Nama berkas", "label-new-name": "Nama baru", "msg-rename-success": "Berhasil ubah nama berkas.", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Ubah nama judul", "label-rename-blockid": "Ubah nama ID blok" }, "menu-items": { "new-file": "Buat Catatan", "new-file-to-the-right": "Catatan baru ke Kanan", "new-window": "Jendela Baru", "open-switcher": "Buka Secara Cepat...", "open-vault": "Buka Vault...", "close-tab": "Tutup Tab", "close-window": "Tutup Jendela", "find": "Cari", "replace": "Ubah", "insert-callout": "Callout", "insert-markdown-link": "Tautan Markdown", "insert-wikilink": "Tautan", "set-heading": "Judul {{level}}", "no-heading": "Tanpa Judul", "insert-quote": "Kutip", "export-pdf": "Ekspor PDF", "insert-attachment": "Masukkan Lampiran...", "insert-codeblock": "Blok Kode", "insert-math-block": "Blok Matematis", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bullet-list": "Daftar Titik", "toggle-numbered-list": "Daftar Angka", "toggle-checklist": "Daftar Tugas", "toggle-bold": "Tebal", "toggle-code": "Kode", "toggle-comment": "Komentar", "toggle-italics": "Miring", "toggle-inline-math": "Matematis", "toggle-highlight": "Sorot", "toggle-strikethrough": "Coret", "toggle-comments": "Komentar", "folding-menu": "Melipat", "fold-all": "Lipat Semua", "unfold-all": "Batal Lipat Semua", "fold-more": "Lipat Lebih", "fold-less": "Lipat Kurang", "source-mode": "Mode Sumber", "reading-view": "Mode Baca", "show-debug-info": "Tampilkan Informasi Debug", "open-sandbox": "Buka Vault Sandbox", "navigate-back": "Navigasikan Mundur", "navigate-forward": "Navigasikan Maju", "toggle-left-sidebar": "Peralih Bilah Sisi Kiri", "toggle-right-sidebar": "Peralih Bilah Sisi Kanan", "toggle-ribbon": "Ribbon", "split-right": "Pisah ke kanan", "split-down": "Pisah ke bawah", "release-notes": "Catatan Rilis" }, "plugins": { "name": "Plugin", "file-explorer": { "name": "Penjelajah berkas", "desc": "Lihat berkas dan folder dalam vault Anda.", "action-open": "Buka penjelajah berkas", "action-show": "Tampilkan penjelajah berkas", "action-create-note": "Buat catatan", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Buat catatan baru pada tab terkini", "action-create-note-to-the-right": "Buat catatan ke sebelah kanan", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Ciutkan Semua", "action-expand-all": "Bentangkan Semua", "action-new-note": "Catatan baru", "action-new-folder": "Folder baru", "action-change-sort": "Ubah urutan sortir", "action-reveal-file": "Tunjukkan berkas di penjelajah berkas", "action-reveal-active-file": "Tunjukkan berkas aktif di penjelajah berkas", "command-make-a-copy": "Buat salinan dari berkas ini", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Pindahkan berkas ke folder lain", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Pindahkan berkas ke...", "action-move-folder": "Pindahkan folder ke...", "action-move-items": "Pindahkan {{count}} item ke...", "prompt-type-folder": "Ketikkan folder", "label-no-folders": "Folder tidak ditemukan.", "instruction-navigate": "untuk navigasi", "instruction-move": "untuk pindah", "instruction-create": "untuk membuat", "instruction-dismiss": "untuk tutup", "label-sort-a-to-z": "Nama berkas (A ke Z)", "label-sort-z-to-a": "Nama berkas (Z ke A)", "label-sort-new-to-old": "Waktu modifikasi (baru ke lama)", "label-sort-old-to-new": "Waktu modifikasi (lama ke baru)", "label-sort-created-old-to-new": "Waktu pembuatan (lama ke baru)", "label-sort-created-new-to-old": "Waktu pembuatan (baru ke lama)", "menu-opt-new-note": "Catatan baru", "menu-opt-new-folder": "Folder baru", "menu-opt-rename": "Ubah nama", "menu-opt-delete": "Hapus", "menu-opt-make-copy": "Buat salinan", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "Nama berkas tidak boleh berisi salah satu diantara karakter berikut: ", "msg-unsafe-characters": "Tautan tidak bekerja dengan nama berkas yang berisi satu di antara karakter ini: ", "msg-file-already-exists": "Sudah ada berkas dengan nama yang sama", "msg-empty-file-name": "Nama berkas tidak boleh kosong.", "msg-bad-dotfile": "Nama berkas tidak boleh diawali dengan titik.", "tooltip-modified-time": "Terakhir diubah pada {{time}}", "tooltip-created-time": "Dibuat pada {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Tanpa judul", "label-untitled-folder": "Tanpa judul", "msg-set-attachment-folder": "Mulai sekarang, lampiran akan tersimpan di \"{{path}}\"." }, "search": { "name": "Penelusuran", "desc": "Telusuri kata kunci di semua catatan.", "action-open-search": "Telusuri di semua berkas", "label-collapse-results": "Ciutkan hasil", "label-match-case": "Sesuaikan huruf", "label-explain-search-term": "Jelaskan istilah penelusuran", "label-more-context": "Tampilkan lebih banyak konteks", "label-result-count": "{{count}} hasil", "label-result-count_plural": "{{count}} hasil", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Pengaturan pencarian", "prompt-start-search": "Ketik untuk memulai penelusuran...", "label-match-text": "Cocokkan teks: ", "label-match-regex": "Cocokkan regex: ", "label-match-exact-text": "Berisi teks sama persis: ", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "Contains property:", "label-match-all": "Cocokkan semua dari: ", "label-match-any": "Cocokkan salah satu: ", "label-excluding": "Kecualikan: ", "label-case-sensitive": "Peka huruf besar/kecil", "label-case-insensitive": "Tidak peka huruf besar/kecil", "label-match-file-path": "Cocokkan alur berkas: ", "label-match-file-name": "Cocokkan nama berkas: ", "label-match-content": "Cocokkan konten berkas: ", "label-match-task": "Cocokkan tugas: ", "label-match-task-todo": "Cocokkan tugas (mengerjakan): ", "label-match-task-done": "Cocokkan tugas (selesai): ", "label-match-line": "Cocolkan baris: ", "label-match-block": "Cocokkan blok: ", "label-match-section": "Cocokkan bagian: ", "label-match-tag": "Cocokkan tag: ", "label-no-matches": "Tidak ditemukan kecocokan.", "matches-with-count": "... dan {{count}} kecocokan.", "matches-with-count_plural": "... dan {{count}} kecocokan.", "label-copy-search-results": "Salin hasil penelusuran", "button-copy-results": "Salin hasil", "msg-successfully-copied": "Hasil tersalin ke papan klip Anda.", "option-show-path": "Tampilkan alur", "option-show-path-description": "Tampilkan alur lengkap dari berkas daripada hanya nama berkas.", "option-link-style": "Gaya tautan", "option-link-style-description": "Secara opsional, ubah setiap hasil berkas menjadi tautan.", "option-choice-link-style-none": "Tidak ada", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Tautan Markdown", "option-list-prefix": "Awalan daftar", "option-list-prefix-description": "Secara opsional, tambahkan item awalan untuk setiap hasil berkas.", "option-choice-list-style-none": "Tidak ada", "option-choice-list-style-dash": "Tanda hubung (-)", "option-choice-list-style-asterisk": "Asteriks (*)", "option-choice-list-style-numbered": "Bernomor", "tooltip-clear-search": "Hapus penelusuran", "label-search-options": "Opsi penelusuran", "label-properties-group": "Properti", "label-tags-group": "Tag", "tooltip-read-more": "Baca selengkapnya", "label-history": "Riwayat", "tooltip-clear-history": "Hapus riwayat penelusuran", "label-path-option-description": "cocokan alur berkas", "label-file-name-option-description": "cocokkan nama berkas", "label-tag-option-description": "telusuri tag", "label-line-option-description": "telusuri kata kunci di baris yang sama", "label-section-option-description": "telusuri kata kunci di bawah judul yang sama", "label-property-option-description": "match property", "menu-opt-search-for": "Menelusuri \"{{keyword}}\"", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "Peralih cepat", "desc": "Tekan Ctrl/Cmd+O untuk beralih ke berkas lain dengan menggunakan keyboard Anda.", "short-name": "Peralih", "action-open": "Buka peralih cepat", "instruction-navigate": "untuk navigasi", "instruction-open": "untuk membuka", "instruction-open-in-new-tab": "untuk membuka di tab baru", "instruction-open-to-the-right": "untuk membuka ke kanan", "instruction-create": "untuk membuat", "instruction-dismiss": "untuk menutup", "instruction-select": "untuk memilih", "label-no-note-create-new": "Catatan tidak ditemukan. Enter untuk buat baru.", "prompt-type-file-name": "Ketik nama berkas untuk beralih atau membuat...", "label-enter-to-create": "Enter untuk buat", "tooltip-not-created-yet": "Belum dibuat, pilih untuk buat", "option-show-existing-only": "Tampilkan yang ada saja", "option-show-existing-only-description": "Apakah menampilkan tautan ke berkas yang belum dibuat.", "option-show-attachments": "Tampilkan lampiran", "option-show-attachments-desc": "Tampilkan berkas lampiran, seperti gambar, video dan PDF.", "option-show-all-file-types": "Tampilkan semua jenis berkas", "option-show-all-file-types-desc": "Tampilkan semua berkas termasuk yang tidak bisa Obsidian buka. Berkas akan dibuka dengan aplikasi bawaan untuk jenis berkas itu." }, "graph-view": { "name": "Tampilan grafik", "desc": "Tampilkan grafik yang menunjukan ketertautan catatan-catatan Anda.", "action-open": "Buka tampilan grafik", "action-open-local": "Buka grafik lokal", "action-copy-screenshot": "Salin cuplikan layar", "tab-title": "Grafik dari {{displayText}}", "label-filters": "Saring", "prompt-filter-nodes": "Cari berkas...", "option-depth": "Kedalaman", "option-depth-description": "Tampilkan titik ini sejauh beberapa tautan", "option-neighbor-links": "Tautan tetangga", "option-neighbor-links-description": "Tampilkan tautan antar catatan yang bertetangga.", "option-forelinks": "Tautan keluar", "option-forelinks-description": "Tampilkan tautan ke berkas lain", "option-backlinks": "Tautan masuk", "option-backlinks-description": "Tampilkan tautan dari berkas lain", "option-show-tags": "Tag", "option-show-tags-description": "Tag dihubungkan ke berkas yang mengandung tag", "option-show-attachments": "Lampiran", "option-show-attachments-description": "Tampilkan lampiran yang disertakan oleh berkas", "option-show-existing-files-only": "Hanya berkas yang ada", "option-show-existing-files-only-description": "Ketika diperiksa, berkas yang tidak ada tidak ditampilkan", "option-show-orphans": "Tanpa induk", "option-show-orphans-description": "Tampilkan berkas yang tidak tertaut ke berkas mana pun", "label-display": "Tampilan", "option-show-arrows": "Panah", "option-show-arrows-description": "Tunjukan panah ketika diperbesar", "option-text-fade": "Ambang pudar teks", "option-node-size": "Ukuran titik", "option-link-thickness": "Ketebalan tautan", "label-forces": "Gaya", "option-center-force": "Gaya pusat", "option-link-force": "Gaya tautan", "option-link-distance": "Jarak tautan", "option-repel-force": "Gaya tolak", "tooltip-open-graph-settings": "Buka pengaturan grafik", "msg-screenshot-copied": "Cuplikan layar disalin ke papan klip.", "label-groups": "Grup", "placeholder-enter-query": "Masukkan kueri...", "tooltip-delete-graph": "Hapus grup", "button-new-group": "Grup baru", "tooltip-click-to-change-drag-to-reorder": "Klik untuk ubah warna\nSeret untuk tata ulang grup", "action-timelapse": "Mulai animasi selang waktu grafik", "tooltip-start-timelapse-animation": "Mulai animasi selang waktu", "button-animate-timelapse": "Animasikan" }, "backlinks": { "name": "Backlink", "desc": "Tampilkan jumlah backlink di bilah status, dan tunjukan backlink dan sebutan yang tidak tertaut di bilah sisi.", "action-open": "Buka backlink", "action-show": "Tampilkan panel backlink", "action-open-for-current": "Buka backlink", "action-toggle-backlinks-in-document": "Aktifkan backlink di dokumen", "menu-opt-backlinks-in-document": "Backlinks in document", "label-linked-mentions": "Sebutan yang tertaut", "label-no-backlinks": "Tidak ditemukan backlink.", "label-unlinked-mentions": "Sebutan yang belum tertaut", "label-show-search": "Tampilkan saringan penelusuran", "label-link-button-text": "Hubungkan", "tab-title": "Backlink pada {{displayText}}", "label-no-unlinked-mentions": "Tidak ditemukan sebutan yang belum tertaut.", "ellipsis": "...", "option-backlink-in-document": "Backlink di dokumen", "option-backlink-in-document-desc": "Tampilkan backlink di dokumen secara bawaan saat membuka panel." }, "outgoing-links": { "name": "Tautan Keluar", "desc": "Tampilkan tautan keluar dan deteksi sebutan yang belum tertaut dari catatan lain di catatan sekarang.", "action-open": "Buka tautan keluar", "action-show": "Tampilkan panel tautan keluar", "action-open-for-current": "Buka tautan keluar untuk berkas sekarang", "tab-title": "Tautan keluar dari {{displayText}}", "label-links": "Tautan", "label-no-links": "Tidak ditemukan tautan.", "label-unlinked-mentions": "Sebutan yang belum tertaut", "tooltip-link-file": "Hubungkan berkas ini", "tooltip-not-created": "Belum dibuat" }, "tag-pane": { "name": "Panel tag", "short-name": "Tags", "desc": "Tampilkan tag Anda dan jumlah kemunculannya.", "action-show": "Tampilkan panel tag", "label-no-tags": "Tidak ditemukan tag.", "label-sort-by-name-a-to-z": "Nama tag (A ke Z)", "label-sort-by-name-z-to-a": "Nama tag (Z ke A)", "label-sort-by-frequency-high-to-low": "Frekuensi (tinggi ke rendah)", "label-sort-by-frequency-low-to-high": "Frekuensi (rendah ke tinggi)", "action-show-nested-tags": "Tampilkan tag bersarang", "action-collapse-all": "Ciutkan Semua", "action-expand-all": "Bentangkan Semua" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Tampilan properti", "desc": "Tampilkan metadata untuk berkas Anda.", "name-global": "Semua properti", "name-local": "Properti berkas", "tab-title": "Properti berkas untuk {{displayText}}", "action-show": "Tampilkan semua properti", "action-show-local": "Tampilkan properti berkas", "opt-unassign-type": "batalkan penetapan tipe", "label-no-properties": "Tidak ada properti ditemukan.", "label-invalid-properties": "Invalid properties.", "label-sort-by-name-a-to-z": "Nama properti (A ke Z)", "label-sort-by-name-z-to-a": "Nama properti (Z ke A)", "label-sort-by-frequency-high-to-low": "Frekuensi (tinggi ke rendah)", "label-sort-by-frequency-low-to-high": "Frekuensi (rendah ke tinggi)", "msg-merge-properties-warning": "Merge property “{{oldKey}}” with “{{newKey}}”?", "msg-merge-properties-warning-desc": "In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.", "action-collapse-all": "Ciutkan Semua", "action-expand-all": "Bentangkan Semua", "action-open-local": "Buka properti berkas", "action-open-daily-note": "Open daily note" }, "page-preview": { "name": "Pratinjau halaman", "desc": "Arahkan kursor pada tautan internal untuk mempratinjau kontennya. Pada mode editor, tekan Ctrl/Cmd sambil mengarahkan kursor.", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "\"{{linktext}}\" belum dibuat. Klik untuk buat.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Pengubah", "label-source-preview": "Pratinjau", "label-source-search": "Cari, Backlink, dan Tautan keluar", "label-source-tab-header": "Tab header", "label-require-mod": "Membutuhkan {{key}} untuk memicu pratinjau halaman saat kursor di atasnya" }, "bookmarks": { "name": "Penanda", "desc": "Tandai berkas dan pencarian yang sering digunakan.", "action-show": "Tampilkan penanda", "action-collapse-all": "Lipat semua", "action-new-bookmark": "Tandai tab aktif...", "action-new-group": "Grup penanda baru", "action-bookmark": "Tandai...", "action-add-bookmark": "Tambah pernanda", "action-edit-bookmark": "Ubah penanda", "action-bookmark-block": "Tandai blok di bawah kursor...", "action-bookmark-heading": "Tandai judul di bawah kursor...", "action-bookmark-search": "Tandai pencarian terkini...", "action-remove-bookmark": "Hapus tanda untuk berkas terkini", "action-bookmark-tab-group": "Tandai {{count}} tab...", "action-bookmark-tab-group_plural": "Tandai {{count}} tabs...", "action-bookmark-all-tabs": "Tandai semua tab...", "action-bookmark-graph": "Tandai grafik ini...", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} penanda", "label-bookmark-with-count_plural": "{{count}} penanda", "label-no-bookmarks": "Tidak ada penanda ditemukan", "label-invalid-data": "Gagasl memuat penanda.", "label-invalid-data-desc": "Data berkas rusak.", "label-untitled-group": "Grup tanpa judul", "label-untitled-graph": "Grafik tanpa judul", "menu-opt-edit": "Ubah...", "menu-opt-remove": "Hapus", "menu-opt-rename": "Ubah nama", "menu-opt-bookmark-block": "Tandai blok ini...", "menu-opt-bookmark-heading": "Tandai judul ini...", "msg-no-search-query": "Tidak ada kueri pencarian untuk ditandai.", "option-path": "Alur", "option-query": "Kueri", "option-u-r-l": "URL", "option-title": "Judul", "option-group": "Grup penanda", "placeholder-bookmark-group": "Penanda" }, "custom-css": { "name": "CSS kustom", "desc": "Baca dan terapkan \"obsidian.css\" dalam vault.", "setting-community-themes": "Tema komunitas", "msg-fetching-themes": "Mengambil data tema komunitas...", "prompt-filter": "Saring...", "label-dark-theme-only": "Tema gelap saja", "label-light-theme-only": "Tema terang saja", "label-use": "Gunakan", "label-stop-use": "Berhenti menggunakan tema ini", "label-install-and-use": "Pasang dan gunakan", "label-update": "Perbarui", "label-no-readme": "Tema ini tidak menyediakan berkas README.", "tooltip-remove-theme": "Hapus tema", "label-visit-on-github": "Kunjungi ke GitHub", "msg-load-error": "Tidak dapat memuat tema komunitas, periksa koneksi internet Anda.", "msg-now-using-theme": "Anda sekarang menggunakan {{title}} sebagai tema CSS.", "msg-deleted-theme": "Tema {{title}} telah dihapus.", "msg-updated-theme": "Tema {{title}} telah diperbarui.", "label-installed": "Terpasang", "label-legacy": "Lawas", "button-update-all-themes": "Perbarui semua", "msg-failed-load-themes": "Gagal memuat tema komunitas.", "msg-no-updates-found": "Pembaruan tema tidak ditemukan.", "msg-updates-found": "Ditemukan {{count}} tema untuk pembaruan.", "msg-updates-found_plural": "Ditemukan {{count}} tema untuk pembaruan.", "msg-failed-to-install-theme": "Gagal memasang tema \"{{name}}\".", "msg-successfully-installed-theme": "Berhasil memasang tema \"{{name}}\".", "msg-installing-theme": "Memasang tema \"{{name}}\"...", "label-search-summary": "Menampilkan {{themeCount}}:", "label-update-available": "Pembaruan Tersedia" }, "command-palette": { "name": "Palet perintah", "desc": "Gunakan Cmd/Ctrl+P dan mulai mengetik untuk menggunakan perintah.", "action-open": "Buka palet perintah", "instruction-navigate": "untuk navigasi", "instruction-use": "untuk gunakan", "instruction-dismiss": "untuk tutup", "label-no-commands": "Perintah tidak ditemukan.", "prompt-type-command": "Ketik perintah...", "label-pinned-commands": "Perintah tersemat", "option-add-new-pin": "Perintah tersemat baru", "option-add-new-pin-description": "Perintah tersemat akan tampil di atas semua perintah ketika tidak ada kueri penelusuran." }, "markdown-format-importer": { "name": "Importir format Markdown", "desc": "Konversi format Markdown dari aplikasi lain ke format Obsidian.", "action-open": "Buka importir Markdown", "option-roam-tag-fixer": "Perbaikan tag Roam Research", "option-roam-tag-fixer-description": "Konversi \"#tag\" dan \"#[[tag]]\" ke \"[[tag]]\".", "option-roam-highlight-fixer": "Perbaikan sorotan Roam Research", "option-roam-highlight-fixer-description": "Konversi \"^^sorotan^^\" ke \"==sorotan==\".", "option-roam-todo-converter": "Pengkonversian Roam Research TODO", "option-roam-todo-converter-description": "Konversi \"{{[[TODO]]}}\" ke \"[ ]\".", "option-bear-highlight-fixer": "Perbaikan sorotan Bear", "option-bear-highlight-fixer-description": "Konversi \"::sorotan::\" ke \"==sorotan==\".", "zettelkasten-link-fixer": "Perbaikan tautan Zettelkasten", "zettelkasten-link-fixer-description": "Memperbaiki tautan \"[[UID]]\" menjadi \"[[UID Nama Berkas]]\".", "zettelkasten-link-beautifier": "Perindah tautan Zettelkasten", "zettelkasten-link-beautifier-description": "Memperbaiki tautan \"[[UID]]\" dan memperindahnya menjadi \"[[UID Nama Berkas|Nama Berkas]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Peringatan: Importir akan mengkonversi semua berkas dalam vault Anda, tidak hanya berkas yang tampil saja.", "msg-override-files-warning": "Berkas-berkas Anda akan ditimpa. Cadangkan semua berkas Anda sebelum melanjutkan konversi.", "label-start-conversion": "Mulai konversi", "label-stop": "Hentikan", "label-go-back": "Kembali", "label-done": "Selesai", "label-processing": "Memproses...", "label-cancelling": "Membatalkan...", "label-finished": "Selesai!", "label-processed-files": "Berkas yang diproses", "label-modified-files": "Berkas yang dimodifikasi", "label-total-replacements": "Total pergantian", "label-failed": "Failed" }, "daily-notes": { "name": "Catatan harian", "desc": "Buka catatan harian hari ini, atau buat baru jika belum tersedia.", "short-name": "Hari ini", "action-open": "Buka catatan hari ini", "action-open-previous": "Buka catatan harian sebelumnya", "action-open-next": "Buka catatan harian selanjutnya", "action-insert-text": "Masukkan teks ke catatan harian", "action-insert-link": "Masukkan tautan ke catatan harian", "msg-fail-format": "Gagal membuat catatan harian. \"{{format}}\" adalah format yang tidak valid.", "msg-fail-folder": "Gagal membuat catatan harian. Folder \"{{folderOption}}\" tidak ditemukan.", "msg-fail-template-file": "Gagal membuat catatan harian. Berkas template \"{{template}}\" tidak ditemukan.", "msg-no-previous": "Tidak ada catatan harian sebelum ini.", "msg-no-next": "Tidak ada catatan harian setelah ini.", "option-date-format": "Format tanggal", "label-refer-to-syntax": "Untuk format tanggal lebih lanjut, lihat: ", "label-syntax-link": "referensi format", "label-syntax-live-preview": "Tampilannya akan seperti ini: ", "option-new-file-location": "Lokasi berkas baru", "option-new-file-location-description": "Lokasi folder untuk catatan harian yang baru dibuat.", "option-template": "Lokasi berkas template", "option-template-description": "Lokasi berkas yang digunakan sebagai template.", "option-open-on-start": "Buka catatan harian saat mulai", "option-open-on-start-description": "Buka catatan harian Anda secara otomatis kapanpun Anda buka vault ini." }, "unique-note-creator": { "name": "Pembuat catatan unik", "desc": "Buat catatan dengan awalan tanda waktu unik, untuk alur kerja seperti zettelkasten atau slip box.", "short-name": "Unik", "action-create-note": "Buat catatan unik baru", "action-add-link": "Add unique internal link", "option-new-file-location": "Lokasi berkas baru", "option-new-file-location-description": "Alur folder untuk membuat catatan unik baru.", "msg-folder-not-found": "Gagal membuat catatan unik. Folder \"{{folderOption}}\" tidak ditemukan.", "option-template-file": "Lokasi berkas template", "option-template-file-description": "Alur berkas yang digunakan sebagai template.", "option-template-file-placeholder": "Misal: folder1/catatan", "option-id-format": "Format awalan unik", "msg-template-file-not-found": "Gagal membuat catatan unik. berkas Template \"{{template}}\" tidak ditemukan.", "msg-failed-to-generate": "Gagal membuat catatan unik dengan format \"{{format}}" }, "random-note": { "name": "Catatan acak", "desc": "Buka catatan secara acak untuk menemukan atau mengulas ulang.", "short-name": "Acak", "action-open": "Buka catatan secara acak" }, "outline": { "name": "Kerangka", "desc": "Tampilkan kerangka dari catatan saat ini atau dari panel tertaut.", "action-open": "Buka kerangka", "action-show": "Tampilkan panel kerangka", "action-open-for-current": "Buka kerangka dari berkas ini", "tab-title": "Kerangka dari {{displayText}}", "label-no-headings": "Tidak ditemukan judul.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Penghitung kata", "desc": "Tampilkan penghitung kata di bilah status." }, "slides": { "name": "Slide", "desc": "Presentasi dari Markdown. Gunakan \"---\" untuk memisahkan slide.", "action-start": "Mulai presentasi" }, "audio-recorder": { "name": "Perekam suara", "desc": "Merekam suara dan menyimpannya sebagai lampiran.", "action-start": "Mulai merekam suara", "action-stop": "Hentikan merekam suara", "action-toggle": "Mulai/hentikan perekaman", "msg-access-denied": "Akses mikrofon ditolak, aktifkan mikrofon dari panel preferensi.", "msg-pending-grant": "Izikan akses mikrofon untuk mulai merekam.", "msg-no-microphone": "Tidak ada mikrofon terhubung." }, "open-with-default-app": { "name": "Buka di aplikasi bawaan", "desc": "Menambahkan tombol untuk membuka berkas di aplikasi bawaan.", "action-open-file": "Buka di aplikasi bawaan", "action-open-file-mobile": "Bagikan", "action-show-in-folder": "Tampilkan dalam folder", "action-show-in-folder-mac": "Tampilkan di Finder" }, "templates": { "name": "Template", "desc": "Masukkan konten template dari folder berkas template.", "action-insert": "Masukkan template", "action-insert-current-date": "Masukkan tanggal sekarang", "action-insert-current-time": "Masukkan waktu sekarang", "option-template-folder-location": "Lokasi folder template", "option-template-folder-location-description": "Berkas-berkas dalam folder ini akan tersedia sebagai template.", "option-template-date-format": "Format tanggal", "option-template-date-format-description": "{{date}} di berkas template akan diganti dengan nilai ini.", "option-template-date-format-description2": "Anda juga bisa menggunakan {{date:YYYY-MM-DD}} untuk menimpa format sekali.", "option-template-time-format": "Format waktu", "option-template-time-format-description": "{{time}} di berkas template akan diganti dengan nilai ini.", "option-template-time-format-description2": "Anda juga bisa menggunakan {{time:HH:mm}} untuk menimpa format sekali.", "instruction-navigate": "untuk navigasi", "instruction-insert": "untuk masukkan template", "instruction-dismiss": "untuk tutup", "msg-no-templates-found": "Tidak ditemukan template", "msg-fail-invalid-folder": "Gagal untuk mencantumkan template. Folder template tidak valid.", "msg-fail-folder-not-found": "Gagal untuk mencantumkan template. Folder \"{{folderOption}}\" tidak ditemukan.", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "Gagal mendata template. Folder template tidak diatur.", "prompt-type-template": "Ketikkan nama template..." }, "translucency": { "name": "Jendela transparan", "desc": "Aktifkan efek transparan untuk memberi kesan lebih dalam. Paling baik digunakan dengan mode gelap. Tidak didukung di Linux." }, "slash-command": { "name": "Perintah garis miring", "desc": "Aktifkan kemampuan untuk menampikan perintah garis miring di pengubah dengan mengetikkan garis miring." }, "editor-status": { "name": "Status Pengubah", "desc": "Tambahkan item bilah status untuk menampilkan dan mengganti mode pengubah terkini.", "read": "Baca", "edit-source": "Mode Sumber", "edit-live-preview": "Pratinjau Nyata" }, "publish": { "name": "Publikasi", "desc": "Publikasikan catatan Anda melalui Obsidian Publish.", "action-publish-changes": "Publikasikan perubahan", "action-publish-file": "Publish current file", "label-no-internet-access": "Anda butuh akses internet untuk mempublikasikan perubahan.", "label-publish-service-description": "Obsidian Publish adalah layanan berbayar tambahan yang memungkinkan Anda untuk mempublikasikan catatan Anda online secara langsung dari Obsidian.", "label-please-login": "Untuk mulai publikasi, masukkan atau buat akun Obsidian baru.", "label-no-publish-subscription": "Anda belum berlangganan Obsidian Publish.", "button-purchase": "Beli", "label-manage-sites": "Kelola situs", "label-no-sites": "Anda tidak memiliki situs.", "button-choose": "Pilih", "tooltip-edit-site-id": "Ubah ID situs", "tooltip-delete-site": "Hapus situs", "label-delete-site-confirmation": "Anda yakin Anda ingin menghapus situs ini?", "label-delete-site-details": "Ini akan secara permanen menghapus situs Anda segera.", "label-confirm-delete-site": "Konfirmasi hapus situs \"{{site}}\"", "option-site-id": "ID situs", "option-site-id-description": "Situs Anda akan berada di https://publish.obsidian.md/{site id}. Anda dapat mengubah ini nanti. Hanya huruf kecil, angka, dan tanda hubung yang diperbolehkan.", "option-site-id-placeholder": "Pilih ID situs", "button-create": "Buat", "msg-invalid-site-id": "ID situs hanya dapat berisi huruf kecil, angka, dan tanda hubung.", "msg-site-id-in-use": "Situs ID ini sedang digunakan, coba yang lain.", "msg-create-site-issue": "Terdapat masalah ketika membuat situs Anda.", "label-site-options": "Opsi situs", "option-site-general": "Umum", "option-site-components": "Komponen", "option-site-appearance": "Tampilan", "option-site-reading-experience": "Pengalaman membaca", "option-site-misc": "Pengaturan lain situs", "option-site-name": "Nama situs", "option-site-name-description": "Nama dari situs terpublikasi Anda. Itu akan ditampilkan di judul halaman dari situs Anda.", "option-site-name-placeholder": "Nama dari situs Anda", "option-home-page-file": "Berkas laman", "option-home-page-file-description": "Halaman pertama yang pengguna lihat ketika mendarat di situs terpublikasi Anda", "option-home-page-file-placeholder": "Pilih berkas terpublikasi", "option-logo": "Logo", "option-logo-description": "Ambil berkas gambar sebagai logo situs Anda.", "option-logo-placeholder": "Semua gambar yang diunggah dalam vault Anda...", "option-site-collaboration": "Kolaborasi situs", "option-site-collaboration-desc": "Kelola kolaborator untuk situs ini.", "option-customize-navigation": "Kustomisasi navigasi", "option-customize-navigation-desc": "Timpa urutan dari item navigasi dan sembunyikan laman ataupun folder.", "option-navigation-order": "Urutan tampil item navigasi", "option-hide-items-in-navigation": "Sembunyikan laman atau folder dari navigasi", "option-hide-items-in-navigation-desc": "Klik kanan dan pilih \"Sembunyikan\" untuk mencegah laman tertentu dari ditampilkan pada navigasi situs. Laman akan tetap dapat diakses melalui tautan ataupun mengaksesnya secara langsung.", "option-show-hidden-items": "Tampilkan yang disembunyikan", "button-customize-sidebar": "Kelola", "label-navigation-modal-title": "Navigasi", "label-navigation-modal-desc": "Seret dan geser untuk mengubah urutan item navigasi yang tampil pada situs Terpublikasi anda.", "option-hide-in-navigation": "Sembunyikan di navigasi", "button-manage-collaborators": "Kelola", "option-theme": "Tema", "option-theme-description": "Pilih skema warna bawaan untuk situs Anda.", "option-theme-system": "Mengikuti sistem", "option-show-theme-toggle": "Peralih terang/gelap", "option-show-theme-toggle-description": "Biarkan pengunjung beralih antara tema terang dan gelap sesuai keinginan mereka.", "option-show-navigation": "Tampilkan navigasi", "option-show-navigation-description": "Tampilkan daftar dari semua halaman di sisi kiri dari situs terpublikasi Anda.", "option-show-search": "Tampilkan bilah penelusuran", "option-show-search-description": "Tampilkan bilah penelusuran di atas navigasi yang memungkinkan pengunjung mencari halaman dan judul di situs Anda.", "option-show-graph": "Tampilkan tapilan grafik", "option-show-graph-description": "Tampilkan grafik lokal kecil untuk setiap halaman.", "option-show-outline": "Tampilkan daftar isi", "option-show-outline-description": "Tampilkan kerangka dari judul setiap halaman.", "option-show-backlinks": "Tampilkan backlink", "option-show-backlinks-description": "Tampilkan bagian backlink di setiap akhir halaman.", "option-sliding-window-mode": "Gunakan jendela geser", "option-sliding-window-mode-description": "Buka halaman di panel baru sebelah kanan. Memungkinkan menggulir panel secara horizontal.", "option-hover-preview-file": "Tampilkan pratinjau melayang", "option-hover-preview-file-description": "Tampilkan halaman pratinjau ketika melayang pada tautan.", "option-hide-title": "Sembunyikan judul laman", "option-hide-title-description": "Menyembunyikan judul laman. Berguna ketika Anda memiliki judul tersendiri pada awalan setiap laman.", "option-readable-line-length": "Panjang baris yang dapat dibaca", "option-readable-line-length-description": "Batasi panjang maksimum baris teks. Memuat lebih sedikit konten pada layar, tetapi membuat paragraf-paragraf yang panjang lebih mudah dibaca.", "option-site-password": "Kata sandi", "option-site-password-description": "Batasi akses ke situs Anda menggunakan kata sandi.", "option-google-analytics": "Kode pelacakan Google Analytics", "option-google-analytics-description": "Atur Google Analytics untuk situs Anda. Hanya tersedia untuk pengunjung dari Tautan domain kustom Anda. Sebelumnya, periksa hukum dan regulasi setempat Anda.", "button-manage-passwords": "Atur", "button-save-site-settings": "Simpan pengaturan situs", "msg-updated-options": "Pengaturan untuk situs Anda terbarui.", "button-go-back": "Kembali", "label-publishing-to": "Publikasikan ke", "tooltip-switch-site": "Alihkan situs", "button-add-linked": "Tambahkan yang tertaut", "tooltip-add-linked": "Tambahkan semua berkas yang tertaut dengan item yang terpilih saat ini", "msg-added-linked-files": "{{count}} berkas yang tertaut telah ditambahkan.", "msg-added-linked-files_plural": "{{count}} berkas yang tertaut telah ditambahkan.", "tooltip-open-site-options": "Ubah pengaturan situs", "label-no-changes-detected": "Perubahan tidak terdeteksi.", "label-changed-files-to-be-published": "Ubah", "label-unchanged-files-already-published": "Batal ubah (pilih untuk hapus)", "label-file-selected": " Terpilih", "button-select-all-files": "Pilih semua", "label-custom-navigation-title": "Item navigasi", "button-deselect-all-files": "Batal pilih semua", "label-new-files-to-be-published": "Baru", "button-publish": "Publikasikan", "msg-no-permission-to-publish-to-site": "Anda tidak memiliki izin untuk mempublikasikan ke situs.", "msg-select-at-least-one-file": "Pilih minimal satu berkas.", "label-upload-changes": "Unggah perubahan", "button-done": "Selesai", "button-stop": "Berhenti", "label-status-uploading": "Mengunggah", "label-status-to-publish": "Mempublikasikan", "label-status-to-delete": "Menghapus", "label-status-published": "Terpublikasikan", "label-status-deleted": "Terhapus", "label-status-failed": "Gagal", "label-status-cancelled": "Terbatalkan", "button-change": "Ubah", "label-clear-cache": "Ini membutuhkan beberapa menit agar perubahan tampil di situs Anda. Jika Anda tidak melihat perubahan terakhir Anda, coba hapus cache di browser Anda.", "label-visit-site": "Anda dapat mengunjungi situs Anda di sini: ", "msg-something-went-wrong": "Terjadi kesalahan. Periksa konsol pengembang untuk rincian.", "msg-network-error": "Terjadi kesalahan jaringan. ", "label-manage-passwords": "Kelola kata sandi", "label-add-password": "Tambahkan kata sandi", "action-new-password": "Kata sandi baru", "label-no-password": "Situs Anda sekarang belum memiliki kata sandi. Semua orang dapat mengunjunginya.", "label-have-password": "Situs Anda terproteksi kata sandi. Jika Anda punya beberapa kata sandi, pengunjung dapat mengakses situs Anda dengan memasukan salah satunya.", "option-password-name": "Kata sandi", "option-password-desc": "Hash dari kata sandi Anda akan aman tersimpan. Sekali kata sandi ditetapkan, tidak dapat ditampilkan dalam teks biasa.", "option-password-placeholder": "Kata sandi Anda", "option-nickname-name": "Nama panggilan (opsional)", "option-nickname-desc": "Beri nama panggilan untuk mengingatkan Anda untuk apa atau untuk siapa kata sandi.", "action-add-password": "Tambahkan kata sandi ini", "label-untitled-password": "Kata sandi tanpa judul", "label-password-created-time": "Dibuat {{time}}", "msg-added-new-password": "Tambahkan kata sandi baru.", "option-custom-domain": "Domain kustom", "option-custom-domain-desc": "Gunakan domain Anda sendiri ganti dari Tautan https://publish.obsidian.md/{id situs}.", "option-noindex": "Jangan izinkan mesin cari mengindeks", "option-noindex-desc": "Mencegah mesin cari dari mengindeks situs Anda.", "button-configure": "Konfigurasi", "label-configure-custom-domain": "Konfigurasikan domain kustom", "option-custom-url-name": "Tautan kustom", "option-custom-url-desc": "Tautan yang situs Anda akan berada.", "option-custom-url-placeholder": "www.domainanda.com", "option-custom-url-redirect": "Alihkan ke domain kustom Anda", "option-custom-url-redirect-desc": "Mengalihkan pengunjung ke publish.obsidian.md/id ke kustom domain Anda.", "button-update-custom-domain": "Perbarui pengaturan domain", "label-custom-domain-instructions": "Rujuk ke {{link}} kami pada situs bantuan kami untuk informasi lebih lanjut.", "label-custom-domain-link-name": "panduan penyetelan domain kustom", "label-site-usage": "Anda menggunakan {{site}} melebihi {{limit}} Anda.", "button-add-more-sites": "Beli situs lebih", "label-no-sites-bought": "Anda belum membeli situs apa pun.", "button-get-site": "Dapatkan situs", "label-manage-sharing": "Kelola berbagi untuk \"{{name}}\"", "label-sharing-with-users": "Situs ini sekarang dibagikan dengan orang-orang berikut.", "label-not-sharing": "Situs ini sekarang tidak dibagikan kepada siapa pun.", "label-invite-pending": "Tertunda", "tooltip-remove-user": "Hapus pengguna", "option-invite-user": "Undang pengguna", "placeholder-invite-user": "Masukkan surel mereka..", "error-email-must-be-valid": "Harap masukkan surel yang valid untuk mengundang seseorang.", "msg-enable-publish-plugin": "Harap aktifkan plugin inti Pubikasi di Pengaturan -> Plugin inti untuk melihat situs.", "label-your-sites": "Situs Anda", "label-sites-shared-with-you": "Situs yang dibagikan dengan Anda", "tooltip-leave-site-sharing": "Berhenti berkolaborasi pada situs ini", "label-leave-site-confirmation": "Konfirmasi berhenti berkolaborasi", "label-leave-site-confirmation-details": "Ini akan menghapus situs ini dari daftar situs yang dibagikan dengan Anda. Aksi ini tidak dapat dikembalikan.", "label-leave-site-confirmation-details-2": "Harap hubungi pemilik situs jika Anda ingin berkolaborasi kembali pada situs ini.", "button-leave": "Keluar", "label-compare-with-live": "Bandingkan dengan versi nyata", "button-use-live-version": "Gunakan versi nyata", "label-confirm-override": "Konfirmasi menimpa versi lokal", "label-confirm-override-1": "Apakah Anda yakin ingin menimpa versi lokal?", "label-confirm-override-2": "Versi nyata akan digunakan dan versi lokal Anda akan dibatalkan. Harap lakukan pencadangan jika diperlukan.", "button-proceed": "Proses", "message-successfully-used-live-version": "Berhasil menggunakan versi nyata untuk menimpa versi lokal Anda.", "label-open-in-live-site": "Open in live site", "label-open-file": "Buka berkas", "tooltip-manage-publish-filters": "Kelola filter publikasi", "option-included-folders": "Masukkan folder", "option-included-folders-desc": "Berkas pada folder ini akan secara otomatis terpilih pada saat Anda meninjau perubahan untuk dipublikasikan.", "option-currently-included-folders": " Folder yang saat ini dimasukkan:", "option-excluded-folders": "Kecualikan folder", "option-excluded-folders-desc": "Berkas pada folder ini tidak akan ditampilkan pada saat Anda meninjau perubahan untuk dipublikasikan. Pengaturan ini akan diprioritaskan atas folder yang dimasukkan di atas.", "label-number-of-folders-included": "Obsidian Publish saat ini memasukkan {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish saat ini mengecualikan {{folders}}.", "label-manage-included-folders": "Kelola folder yang dimasukkan", "label-manage-excluded-folders": "Kelola folder yang dikecualikan", "label-add-included-folder": "Masukkan folder", "label-add-included-folder-desc": "Anda dapat memasukkan folder yang tersedia maupun folder yang belum Anda buat sama sekali.", "tooltip-contact-support": "Hubungi dukungan", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "Ruang kerja", "desc": "Simpan dan muat tata letak ruang kerja.", "action-load-layout": "Muat tata letak ruang kerja", "action-manage-layouts": "Kelola tata letak ruang kerja", "action-save": "Save layout", "action-save-and-load-layout": "Simpan dan muat tata letak lain", "placeholder-save-current-layout-as": "Simpan tata letak ruang kerja terkini sebagai...", "button-save": "Simpan", "button-load": "Muat", "tooltip-delete-layout": "Hapus tata letak", "msg-enter-name": "Harap masukkan nama untuk tata letak baru.", "msg-save-layout-success": "Berhasil menyimpan tata letak.", "label-no-layout-found": "Tidak ada tata letak.", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "Ketikkan nama tata letak..." }, "sync": { "name": "Sinkronisasi", "desc": "Sinkronisasi berkas Anda dengan Obsidian Sync.", "action-view-version-history": "Lihat riwayat versi", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "Muat lebih banyak", "label-show-diff": "Tampilkan perbedaan", "label-copy-to-clipboard": "Salin ke papan klip", "label-restore-this-version": "Pulihkan versi ini", "msg-already-latest-version": "Versi ini sudah versi terbaru.", "msg-restored-version": "Berhasil mengembalikan versi dari {{time}}", "label-file-deleted": "Berkas ini telah dihapus", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "Nama berkas ini diubah dari \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revision", "label-revision_plural": "{{revisions}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "Kosong", "label-unable-to-retrieve": "Unable to retrieve version history", "label-setting-files": "Pengaturan berkas", "label-deleted-files": "Berkas yang dihapus", "label-version-history": "Riwayat versi", "label-click-to-see-history": "Klik pada sebuah berkas yang telah terhapus untuk melihat riwayatnya.", "label-create-remote-vault": "Buat vault remote", "msg-please-enter-password": "Silakan masukkan kata sandi", "msg-vault-name-cannot-be-empty": "Nama vault tidak boleh kosong.", "msg-successfully-created-vault": "Berhasil membuat vault remote \"{{name}}\".", "label-remote-vault-explanation": "Vault remote menyinkronkan vault antar perangkat dengan aman.", "option-vault-name": "Nama vault", "option-vault-name-desc": "Membantu Anda mengingat untuk vault ini untuk apa.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Select the server region closest to you to store the remote vault. This cannot be changed in the future.", "option-vault-name-placeholder": "Vault keren saya", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Kata sandi enkripsi", "option-encryption-password-desc": "Kata sandi ini tidak dapat diubah nanti.", "option-encryption-password-desc-warning": "Jika Anda lupa kata sandi ini, segala data jauh akan tidak dapat digunakan selamanya.", "option-encryption-password-desc-2": "Ini tidak mempengaruhi data lokal Anda.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "Kata sandi Anda", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "Buka vault", "label-remote-vaults": "Vault remote Anda", "label-vault-created-time": "Dibuat {{time}}", "tooltip-delete-remote-vault": "Hapus", "tooltip-rename-remote-vault": "Ubah nama", "label-rename-remote-vault": "Ubah nama vault remote \"{{name}}\"", "label-rename-remote-vault-desc": "Masukkan nama baru untuk vault remote ini.", "tooltip-manage-sharing": "Kelola berbagi", "label-confirm-delete-remote-vault": "Konfirmasi hapus vault", "label-confirm-delete-remote-vault-question": "Anda yakin Anda ingin menghapus vault remote ini?", "label-confirm-delete-remote-vault-result": "Semua data pada server kami, termasuk riwayat versi, akan dihapus. Lokal berkas Anda akan tetap utuh.", "label-confirm-delete-remote-vault-warning": "Tindakan ini permanen dan tidak dapat diubah.", "msg-remote-vault-deleted": "{{name}} telah dihapus.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "Hubungkan", "button-disconnect-from-remote-vault": "Putuskan", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "Anda tidak memiliki vault remote.", "label-no-subscription": "You don't have an active Obsidian Sync subscription.", "label-please-visit": "Please visit", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "Buat vault baru", "label-sync-log": "Log sinkronisasi", "option-event-type-all": "All", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Merge conflicts", "button-copy-sync-log": "Salin log sinkronisasi", "msg-successfully-copied-sync-log": "Log sinkronisasi berhasil disalin.", "button-retry": "Coba lagi", "button-purchase-subscription": "Beli", "label-third-party-sync-warning": "Layanan sinkronisasi berkas yang bentrok terdeteksi", "label-third-party-sync-warning-desc": "Peringatan: Vault Anda tampaknya menggunakan {{service}} sebagai layanan sinkronisasi pihak ketiga. Jika Anda menggunakan Obsidian Sync pada vault ini, Anda mungkin akan mengalami bentrok, kerusakan berkas, atau kehilangan data.", "label-icloud-drive-warning": "Jika Anda menggunakan iCloud Drive, folder Dokumen dan Desktop Anda mungkin tersinkron oleh iCloud. Ini akan mengakibatkan berntrokan dengan Obsidian Sync.", "option-remote-vault": "Vault remote", "button-choose-remote-vault": "Pilih", "button-manage-remote-vault": "Kelola", "option-remote-vault-desc-connected": "Saat ini terhubung dengan vault remote \"{{name}}\".", "option-remote-vault-desc-not-connected": "Saat ini tidak terhubung dengan vault remote mana pun.", "option-sync-status": "Status sinkronisasi", "option-sync-status-desc-paused": "Obsidian Sync sekarang terjeda.", "option-sync-status-desc-running": "Obsidian Sync sekarang berjalan.", "option-device-name": "Nama perangkat", "option-device-name-desc": "Nama ini akan ditampilkan dalam log sinkr. Kosongkan untuk menggunakan nama bawaan.", "button-resume": "Lanjutkan", "button-pause": "Jeda", "option-view-deleted-files": "Berkas terhapus", "option-view-deleted-files-desc": "Tampilkan dan kembalikan berkas yang terhapus.", "option-sync-log": "Aktivitas sinkronisasi", "option-sync-log-desc": "Tampilkan aktivitas sinkronisasi terakhir untuk penelusuran kesalahan.", "button-view": "Tampilkan", "button-bulk-restore": "Pemulihan banyak", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Memulihkan...", "msg-restoring-complete": "`Pemulihan selesai: {{succeeded}} berhasil dan {{failed}} gagal.`", "option-vault-size": "Vault size", "option-vault-size-desc": "You are using {{size}} out of {{limit}}", "option-vault-size-unknown": "Unable to retrieve your vault size.", "option-vault-size-loading": "Retrieving your vault size...", "option-over-size": "Ukuran vault melebihi batas", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "Tampilkan berkas-berkas terbesar", "msg-largest-files-desc": "Ini adalah berkas jarak jauh yang mengambil banyak ruang. Setelah hapus lampiran, gunakan tombol bersihkan untuk kosongkan ruang vault jarak jauh.", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "Bersihkan", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "Secara permanen bersihkan lampiran yang dihapus dari vault jarak jauh untuk menghemat ruang.", "msg-purge-complete": "Pembersihan selesai.", "option-prevent-sleep": "Cegah perangkat tertidur", "option-prevent-sleep-desc": "Mencegah perangkat dari mode tidur ketika masih terdapat berkas yang disinkronkan.", "option-selective-sync": "Sinkronisasi selektif", "option-excluded-folders": "Folder yang dikecualikan", "option-excluded-folder-desc": "Cegah folder tertentu dari sinkronisasi.", "option-currently-excluded-folders": " Folder ini sekarang dikecualikan:", "button-manage-excluded-folders": "Kelola", "option-sync-image": "Sinkronisasi gambar", "option-sync-image-desc": "Sinkronkan berkas gambar dengan ekstensi ini: {{extensions}}.", "option-sync-audio": "Sinkronisasi audio", "option-sync-audio-desc": "Sinkronkan berkas audio dengan ekstensi ini: {{extensions}}.", "option-sync-video": "Sinkronisasi video", "option-sync-video-desc": "Sinkronkan video berkas video dengan ekstensi ini: {{extensions}}.", "option-sync-pdf": "Sinkronisasi PDF", "option-sync-pdf-desc": "Sinkronkan berkas PDF.", "option-sync-unsupported": "Sinkronkan semua jenis lainnya", "option-sync-unsupported-desc": "Sinkronkan berkas yang tidak didukung.", "option-vault-config-sync": "Sinkronkan konfigurasi vault", "option-view-config-files": "Pengaturan riwayat versi", "option-view-config-files-desc": "Tampilkan dan pulihkan riwayat versi dari pengaturan berkas.", "option-sync-app": "Pengaturan utama", "option-sync-app-desc": "Aktifkan untuk sinkronkan pengaturan editor, pengaturan berkas & tautan, pintasan kustom, dsb.", "option-sync-appearance": "Pengaturan tampilan", "option-sync-appearance-desc": "Sinkronkan pengaturan tampilan seperti mode gelap, tema digunakan, dan cuplikan yang diaktifkan.", "option-sync-appearance-data": "Tema dan cuplikan", "option-sync-appearance-data-desc": "Sinkronkan tema dan cuplikan yang diunduh. Apakah mereka aktif atau tidak, tergantung pengaturan sebelumnya.", "option-sync-hotkey": "Pintasan", "option-sync-hotkey-desc": "Sinkronkan pintasan kustom.", "option-sync-core-plugin": "Daftar plugin inti aktif", "option-sync-core-plugin-desc": "Sinkronkan plugin inti yang diaktifkan.", "option-sync-core-plugin-data": "Pengaturan plugin inti", "option-sync-core-plugin-data-desc": "Sinkronkan pengaturan plugin utama.", "option-sync-community-plugin": "Daftar plugin komunitas aktif", "option-sync-community-plugin-desc": "Sinkronkan plugin komunitas yang diaktifkan.", "option-sync-community-plugin-data": "Plugin komunitas yang terpasang", "option-sync-community-plugin-data-desc": "Sinkronkan plugin komunitas yang terpasang (berkas .js, .css, dan manifest.json) dan pengaturannya.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync adalah layanan sinkronisasi tambahan Obsidian dengan enkripsi ujung-ke-ujung dan riwayat versi.", "label-account-required": "Untuk memulai sinkronisasi, masuk atau buat akun Obsidian.", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "Daftar", "button-log-in": "Masuk", "label-manage-excluded-folders": "Kelola folder yang dikecualikan", "label-number-of-folders-excluded": "{{folders}} sekarang dikecualikan dari sinkronisasi.", "label-add-excluded-folder": "Kecualikan folder", "label-add-excluded-folder-desc": "Anda dapat mengecualikan folder yang tersedia ataupun folder yang belum dibuat.", "tooltip-remove-excluded-folder": "Hapus dari daftar pengecualian", "label-setup-connection": "Setelan koneksi", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "Anda sekarang terhubung ke \"{{name}}\".", "button-start-syncing": "Mulai menyinkronkan", "label-confirm-merge-vault": "Konfirmasi penggabungan Vault", "msg-vault-has-notes": "Vault lokal Anda telah berisi beberapa catatan.", "msg-vault-merge-warning": "Jika Anda menghubungkan ke vault remote \"{{name}}\", catatan di vault lokal Anda akan digabungkan dengan catatan dari vault remote Anda. Dalam kasus terjadinya konflik, versi terkini dari catatan akan disimpan.", "tooltip-update-setting-on-all-devices": "Harap perbarui opsi ini dan mulai ulang aplikasi pada semua perangkat yang Anda inginkan untuk mendapatkan perubahan.", "label-sharing-with-users": "Vault remote ini sekarang dibagikan dengan orang-orang berikut.", "label-not-sharing": "Vault remote ini sekarang tidak dibagikan kepada siapa pun.", "label-vaults-shared-with-you": "Vault yang dibagikan dengan Anda", "tooltip-leave-vault-sharing": "Berhenti berkolaborasi pada vault ini", "label-leave-vault-confirmation": "Konfirmasi berhenti berkolaborasi", "label-leave-vault-confirmation-details": "Ini akan menghapus vault ini dari daftar vault yang dibagikan dengan Anda. Aksi ini tidak dapat dikembalikan.", "label-leave-vault-confirmation-details-2": "Harap hubungi pemilik vault jika Anda ingin berkolaborasi pada vault ini.", "button-leave": "Keluar", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "Anda perlu berlangganan Obsidian Sync untuk terhubung dengan vault ini.", "option-contact-support": "Hubungi bantuan", "option-contact-support-desc": "Jika Anda mengalami masalah dengan Obsidian Sync, harap hubungi kami sehingga kami dapat membantu! Anda dapat menggapai kami melalui support@obsidian.md.", "button-copy-debug": "Salin info debug", "button-email-support": "Surel bantuan", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Sync memungkinkan anda membuat hingga 5 vault remote. Untuk membuat vault remote baru, harap hapus yang tersedia.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "Pemulih berkas", "desc": "Memungkinkan Anda mengembalikan riwayat terakhir untuk memulihkan dari kecelakaan data hilang. Snapshot hanya menyimpan berkas Markdown.", "action-open": "Buka riwayat tersimpan", "option-interval": "Rentang waktu riwayat", "option-interval-description": "Rentang waktu minimal menit di antara dua riwayat.", "option-keep": "Panjang riwayat", "option-keep-description": "Panjang hari riwayat disimpan.", "option-open-history": "Snapshot", "option-open-history-description": "Tampilkan dan pulihkan riwayat tersimpan.", "button-view-history": "View", "option-clear": "Hapus riwayat", "option-clear-description": "Hapus semua riwayat.", "button-clear-history": "Hapus", "label-clear-warning": "Anda yakin Anda ingin hapus semua riwayat? Perlu dicatat bahwa hanya riwayat yang akan dihapus. Semua berkas dalam vault Anda tidak akan terdampak.", "msg-clear-complete": "Snapshot terhapus.", "label-no-history-found": "Tidak ditemukan riwayat.", "placeholder-choose-file": "Pilih berkas...", "label-select-file": "Pilih berkas di sebelah kiri untuk melihat riwayat." }, "note-composer": { "name": "Komposer catatan", "desc": "Gabung, pisah, dan perbaiki catatan.", "option-confirm-file-merge": "Konfirmasi penggabungan berkas", "option-confirm-file-merge-description": "Tanya sebelum menggabungkan dua berkas.", "option-split-replacement-text": "Teks setelah ekstraksi", "option-split-replacement-text-description": "Apa yang ditampilkan di teks yang dipilih setelah mengekstraknya.", "option-choice-split-replacement-text-link": "Hubungkan ke berkas baru", "option-choice-split-replacement-text-embed": "Sematkan berkas baru", "option-choice-split-replacement-text-none": "Tidak ada", "option-template-file": "Lokasi berkas template", "option-template-file-description": "Berkas template digunakan ketika menggabungkan atau mengekstrak. Variabel tersedia: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, mis. {{date:YYYY-MM-DD}}.", "command-merge-file": "Gabungkan berkas ini dengan berkas lain...", "action-merge-file": "Gabungkan kesemua berkas dengan...", "label-no-files": "Tidak ditemukan berkas.", "instruction-navigate": "untuk navigasikan", "instruction-merge": "untuk gabungkan", "instruction-create-new": "untuk buat baru", "instruction-merge-at-top": "untuk gabungkan ke atas", "instruction-dismiss": "untuk tutup", "prompt-select-file-to-merge": "Pilih berkas untuk digabungkan...", "label-merge-file": "Gabungkan berkas", "label-confirm-file-merge": "Apakah Anda yakin Anda ingin gabungkan \"{{file}}\" menjadi \"{{destination}}\"? \"{{file}}\" akan dihapus.", "button-merge": "Gabungkan", "command-split-file": "Ekstrak seleksi ini...", "command-extract-heading": "Ekstrak judul ini...", "instruction-append": "pindah ke bawah", "instruction-prepend": "pindah ke atas", "msg-fail-to-fetch-template": "Gagal menerapkan berkas template: \"{{template}}\" tidak ditemukan.", "msg-fail-to-find-heading": "Gagal menemukan judul" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Kanvas", "desc": "Atur dan hubungkan catatan dalam kanvas yang tak terhingga.", "action-add-note": "Tambah catatan dari vault", "action-add-media": "Tambah media dari vault", "action-add-card": "Tambah kartu", "action-add-website": "Tambah laman web", "action-create-group": "Buat grup", "action-create-with-size": "Buat kartu dengan ukuran spesifik", "action-convert-to-file": "Ubah ke berkas...", "action-drag-to-add-note": "Seret untuk menambah catatan dari vault", "action-drag-to-add-media": "Seret untuk menambah media dari vault", "action-drag-to-add-card": "Seret untuk menambah kartu", "action-edit-label": "Ubah label", "action-remove-label": "Hapus label", "action-search-file": "Cari berkas", "action-set-color": "Atur warna", "action-align": "Perata", "action-align-left": "Rata kiri", "action-align-center": "Rata tengah", "action-align-right": "Rata kanan", "action-align-top": "Rata atas", "action-align-middle": "Rata pusat", "action-align-bottom": "Rata bawah", "action-distribute-horizontal-spacing": "Sebarkan secara horizontal", "action-distribute-vertical-spacing": "Sebarkan secara vertikal", "action-justify-horizontally": "Ratakan secara horizontal", "action-justify-vertically": "Ratakan secara vertikal", "action-arrange-horizontally": "Atur dalam satu baris", "action-arrange-vertically": "Atur dalam satu kolom", "action-arrange-grid": "Atur dalam satu kisi", "action-export-png": "Ekspor sebagai gambar", "action-jump-to-group": "Lompat ke grup", "action-set-background": "Atur latar", "action-edit-background": "Ubah latar", "action-replace-background": "Ganti latar", "action-remove-background": "Hapus latar", "label-no-images": "Gambar tidak ditemukan.", "label-no-media": "No media found.", "label-export-png-desc": "Ekspor \"{{title}}\" sebagai berkas PNG dengan pengaturan di bawah.", "label-export-png-dimensions": "Estimasi dimensi gambar: {{dimensions}}", "label-distribute": "Sebarkan", "label-justify": "Ratakan", "label-arrange": "Atur", "label-always": "Selalu", "label-hover": "Saat Disorot", "label-never": "Tidak Pernah", "label-no-section-found": "Seksi tidak ditemukan", "option-wheel-behavior": "Perilaku bawaan roda tetikus", "option-mod-drag-behavior": "Perilaku bawaan {{key}}", "option-show-menu": "Tampilkan menu ", "option-new-canvas-location": "Lokasi bawaan untuk berkas kanvas baru", "option-new-canvas-location-description": "Di mana kanvas yang baru dibuat akan diletakkan.", "option-new-canvas-folder-path": "Folder untuk berkas kanvas yang baru dibuat", "option-new-canvas-folder-path-description": "Berkas kanvas yang baru dibuat akan muncul pada folder ini.", "option-node-label": "Tampilkan label kartu", "option-snap-to-grid": "Kaitkan ke kisi", "option-snap-to-grid-desc": "Kaitkan kartu ke kisi latar pada saat memindah dan mengubah ukuran.", "option-snap-to-objects": "Kaitkan ke objek", "option-snap-to-objects-desc": "Kaitkan kartu ke objek terdekat pada saat memindah dan mengubah ukuran.", "option-zoom-breakpoint": "Ambang pembesaran untuk menyembunyikan konten kartu", "option-zoom-breakpoint-desc": "Nilai lebih rendah akan meningkatkan performa tetapi menyembunyikan konten kartu sebih dini ketika diperkecil.", "option-export-png-show-logo": "Tampilkan logo", "option-export-png-show-logo-desc": "Ini akan menambahkan logo Obsidian pada sisi kiri bawah.", "option-export-png-privacy-mode": "Mode Privat", "option-export-png-privacy-mode-desc": "Ini akan menyamarkan teks apa pun dari kanvas Anda.", "option-export-png-zoom": "Pembesaran", "option-export-png-zoom-desc": "Pembesaran yang lebih besar akan menghasilkan gambar dengan resolusi lebih tinggi.", "option-export-png-frame": "Viewport", "option-export-png-frame-desc": "Pilih untuk merender seluruh kanvas atau hanya viewport yang tampak saja.", "option-export-png-frame-full": "Kanvas secara penuh", "option-export-png-frame-viewport": "Viewport saja", "option-background-cover": "Sampul", "option-background-ratio": "Biarkan aspek rasio", "option-background-repeat": "Ulangi", "action-new-canvas": "Kanvas baru", "action-remove": "Hapus", "action-narrow-heading": "Sempitkan ke judul...", "action-narrow-block": "Sempitkan ke blok...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Tukar berkas...", "action-change-url": "Ubah URL...", "action-zoom-to-fit": "Perbesar untuk paskan", "action-zoom-to-selection": "Perbesar ke seleksi", "action-reload-page": "Muat ulang halaman", "action-follow-connection": "Ikuti koneksi", "command-create-new-canvas": "Buat kanvas baru", "command-convert-to-file": "Ubah ke berkas...", "instruction-narrow-heading": "untuk menanamkan judul", "instruction-narrow-block": "untuk menanamkan blok", "instruction-jump-to-group": "untuk bernavigasi ke grup", "prompt-to-narrow": "Ketikkan judul", "label-enter-url": "Ketikkan URL", "label-empty-embed": "\"{{linktext}}\" tidak ditemukan.", "prompt-add-text": "Tambah teks...", "prompt-start-search": "Ketik untuk mencari...", "label-canvas-help": "Bantuan kanvas", "label-canvas-settings": "Pengaturan kanvas", "label-no-narrow": "Tampilkan keseluruhan berkas", "label-show-default-view": "Show default view", "label-readonly": "Hanya-baca", "label-disable-readonly": "Matikan hanya-baca", "label-pan": "Geser", "label-pan-horizontal": "Geser secara horizontal", "label-zoom": "Perbesar", "label-select-all": "Pilih semua", "label-add-remove-selection": "Tambahkan ke / hapus dari pilihan", "label-clone-card": "Gandakan kartu", "label-constrain-movement-axis": "Batasi pergerakan kartu ke sumbu", "label-disable-drag-snapping": "Matikan pengaitan selama menggeser", "label-remove-card": "Hapus kartu", "label-drag-from-below": "Seret dari bawah atau ketuk ganda", "label-longpress": "Sentuh dan tahan untuk menambah / memindah / memilih", "label-drag-pan": "Seret untuk menggeser", "label-pinch-zoom": "Cubit untuk memperbesar", "label-space-drag-pan": "Spasi + Geser untuk menggeser", "label-scroll-to-zoom": "Gulir untuk memperbesar", "label-untitled-group": "Grup tanpa judul", "label-line-direction": "Arah garis", "label-nondirectional": "Tidak searah", "label-unidirectional": "Searah", "label-bidirectional": "Dua arah", "label-image": "Gambar", "label-style": "Gaya", "msg-no-groups-found": "Grup tidak ditemukan", "msg-export-failed-empty-canvas": "Tidak dapat mengekspor kanvas kosong", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Sorot semua", "action-match-diacritics": "Cocokkan diakritik", "action-whole-words": "Seluruh kata", "action-show-thumbnails": "Sampul", "action-show-outline": "Daftar isi", "action-reveal-in-outline": "Ungkap halaman di daftar isi", "action-toggle-sidebar": "Peralih bilah sisi", "action-previous-page": "Halaman sebelumnya", "action-next-page": "Halaman selanjutnya", "action-fit-width": "Paskan lebar", "action-fit-height": "Paskan tinggi", "action-save-p-d-f-location": "Simpan posisi terkini di dokumen", "action-copy-annotation": "Salin anotasi", "action-copy-quote": "Salin sebagai kutipan", "action-copy-selection-link": "Salin tautan ke seleksi", "action-copy-annot-link": "Salin tautan ke anotasi", "action-copy-section-link": "Salin tautan ke seksi", "action-copy-section-link-title": "Salin tautan ke “{{title}}”", "action-copy-page-link": "Salin tautan ke halaman {{page}}", "msg-max-search-results": "{{current}} hingga {{limit}} ditemukan", "msg-search-count": "{{current}} dari {{total}} ditemukan", "msg-search-count_plural": "{{current}} dari {{total}} ditemukan", "msg-password-protected": "PDF ini terproteksi sandi", "msg-invalid-password": "Kata sandi salah", "msg-enter-password": "Masukkan kata sandi", "label-of-pages": "dari {{count}}", "label-page-of-pages": "({{current}} dari {{count}})", "label-spread-single": "Halaman tunggal", "label-spread-odd": "Dua halaman (ganjil)", "label-spread-even": "Dua halaman (genap)", "tooltip-sidebar-options": "Opsi bilah sisi", "tooltip-display-options": "Opsi tampilan", "label-adapt-to-theme": "Sesuai tema", "label-page": "halaman {{page}}", "page_landmark": "Halaman {{page}}", "thumb_page_title": "Halaman {{page}}", "thumb_page_canvas": "Halaman {{page}}", "text_annotation_type": "[{{type}} Anotasi]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Daftar", "option-unknown": "Tidak diketahui", "option-text": "Teks", "option-aliases": "Alias", "option-tags": "Tag", "option-folder": "Folder", "option-file": "File", "option-date": "Tanggal", "option-datetime": "Tanggal & waktu", "option-number": "Angka", "option-checkbox": "Centang" }, "value-suggestion": { "key-link-note": "Ketik [[", "instruction-link-note": "untuk menautkan catatan", "instruction-dismiss": "untuk melepas" }, "option-property-type": "Tipe properti", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "nama tag tidak valid", "msg-invalid-number": "angka tidak valid", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "Tidak ada nilai", "label-heading": "Properti", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "Tambah properti", "label-type-mismatch-warning": "Tipe tidak sesusai, diharapkan {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Column", "label-row": "Row", "action-row-after": "Add row after", "action-column-after": "Add column after", "action-row-before": "Add row before", "action-row-up": "Move row up", "action-row-down": "Move row down", "action-column-before": "Add column before", "action-column-left": "Move column left", "action-column-right": "Move column right", "action-duplicate-row": "Duplicate row", "action-duplicate-column": "Duplicate column", "action-delete-row": "Delete row", "action-delete-column": "Delete column", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-delete-selection": "Delete cells", "action-clear-selection": "Clear cells", "action-sort-a-z": "Sort by column (A to Z)", "action-sort-z-a": "Sort by column (Z to A)", "label-command": "Table: {{command}}" }, "callout": { "option-type": "Callout type", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Success", "question": "Question", "warning": "Warning", "quote": "Quote", "example": "Example", "none": "None" }, "option-other": "Other...", "option-other-placeholder": "Callout type..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} kata", "word-with-count_plural": "{{count}} kata", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} karakter", "character-with-count_plural": "{{count}} karakter", "link-with-count": "{{count}} tautan", "link-with-count_plural": "{{count}} tautan", "file-with-count": "{{count}} berkas", "file-with-count_plural": "{{count}} berkas", "folder-with-count": "{{count}} folder", "folder-with-count_plural": "{{count}} folder", "backlink-with-count": "{{count}} backlink", "backlink-with-count_plural": "{{count}} backlink", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} properti", "properties-with-count_plural": "{{count}} properti", "site-with-count": "{{count}} situs", "site-with-count_plural": "{{count}} situs", "plugin-with-count": "{{count}} plugin", "plugin-with-count_plural": "{{count}} plugin", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} tema", "theme-with-count_plural": "{{count}} tema" } }{ "setting": { "options": "Opzioni", "plugin": "Plugin", "builtin-plugins": "Plugin principali", "plugin-options": "Opzioni plugin", "folder-path-example-placeholder": "Esempio: cartella 1/cartella 2", "file-path-example-placeholder": "Esempio: cartella/nota", "msg-restart-required": "Per cambiare questa impostazione è necessario il riavvio.", "editor": { "name": "Editor", "section-behavior": "Comportamento", "section-display": "Visualizzazione", "option-spellcheck": "Controllo ortografico", "option-spellcheck-description": "Attiva il controllo ortografico. Attualmente disponibile solo per l'inglese (Stati Uniti).", "spellcheck-languages": "Lingue del controllo ortografico", "spellcheck-languages-description": "Scegli le lingue del controllo ortografico da usare.", "spellcheck-languages-mac-description": "Il controllo ortografico nativo rileverà automaticamente la lingua da usare su macOS.", "spellcheck-dict": "Dizionario del controllo ortografico", "spellcheck-dict-empty": "Il dizionario del controllo ortografico è vuoto.", "option-show-inline-title": "Mostra titolo in alto", "option-show-inline-title-description": "Mostra nome del file come titolo modificabile insieme al contenuto del file.", "option-readable-line-length": "Migliora leggibilità delle righe", "option-readable-line-description": "Limita la lunghezza massima delle righe. Mostra meno contenuti sullo schermo ma rende i paragrafi lunghi più leggibili.", "option-strict-line-break": "Non mostrare interruzioni di riga singole", "option-strict-line-break-description": "In modalità Anteprima, ignora gli a capo singoli seguendo la specifica Markdown. Disattivare questa opzione per mostrare le interruzioni di riga nell'anteprima.", "option-properties-in-document": "Proprietà nel documento", "option-properties-in-document-description": "Scegli la modalità di visualizzazione delle proprietà nell'editor. Seleziona \"Codice\" per visualizzare le proprietà come YAML.", "option-properties-hidden": "Nascoste", "option-properties-visible": "Visibili", "option-properties-source": "Codice", "option-auto-pair-brackets": "Chiusura automatica delle parentesi", "option-auto-pair-brackets-description": "Chiude le parentesi e le virgolette automaticamente", "option-auto-pair-markdown": "Completamento automatico della sintassi Markdown", "option-auto-pair-markdown-description": "Accoppia automaticamente i simboli per il grassetto e il corsivo.", "option-smart-indent-lists": "Indentazione intelligente delle liste", "option-smart-indent-lists-description": "Gestisce automaticamente l'indentazione e i marcatori delle liste.", "option-fold-heading": "Comprimi intestazioni", "option-fold-heading-description": "Permette di comprimere il contenuto all'interno delle intestazioni.", "option-fold-indent": "Comprimi indentazioni", "option-fold-indent-description": "Permette di comprimere una parte del contenuto con lo stesso livello d'indentazione, come le liste.", "option-default-new-tab-view": "Visualizzazione predefinita per le nuove schede", "option-default-new-tab-view-description": "La vista predefinita con cui aprire le nuove schede.", "option-default-new-tab-view-editing": "Modifica", "option-default-new-tab-view-reading": "Lettura", "option-open-tab-in-foreground": "Passa sempre alle nuove schede", "option-open-tab-in-foreground-description": "Quando apri un collegamento in una nuova scheda, passa subito alla nuova scheda.", "option-default-editing-mode": "Modalità di modifica predefinita", "option-default-editing-mode-description": "La modalità di modifica predefinita con cui aprire un nuovo pannello.", "option-default-editing-mode-source": "Codice sorgente", "option-default-editing-mode-live-preview": "Anteprima dinamica", "option-show-line-number": "Mostra numero delle righe", "option-show-line-number-description": "Mostra il numero delle righe sul margine dell'editor.", "option-indentation-guide": "Mostra guide di indentazione", "option-indentation-guide-description": "Mostra linee verticali di collegamento tra gli elenchi come guida visiva.", "option-use-tabs": "Utilizza le tabulazioni", "option-use-tabs-description": "Utilizza le tabulazioni per indentare quando viene premuto il tasto \"Tab\". Disattivare per utilizzare gli spazi.", "option-tab-size": "Dimensione tabulazione", "option-tab-size-description": "Numero di spazi da usare per la tabulazione.", "option-rtl": "Da destra a sinistra (RTL)", "option-rtl-description": "Imposta la direzione del testo delle note da destra a sinistra.", "option-auto-convert-html": "Converti automaticamente HTML", "option-auto-convert-html-description": "Converte automaticamente HTML in Markdown quando si usa copia/incolla o trascina e rilascia da pagine web. Usare Ctrl/Cmd+Shift+V per incollare senza convertire.", "option-vim-key-bindings": "Tasti di scelta rapida Vim", "option-vim-key-bindings-description": "Permette di utilizzare la mappatura dei tasti di Vim nell'editor.", "option-vim-key-bindings-mobile": "Sui dispositivi mobili, questa impostazione è associata al dispositivo e non viene sincronizzata con il file di configurazione.", "option-reindex-vault": "Ricostruisci cache del vault", "option-reindex-vault-description": "La ricostruzione della cache potrebbe richiedere da pochi secondi a qualche minuto a seconda della dimensione del vault.", "label-reindex": "Ricostruisci", "label-confirm-enable-vim": "Attivazione della modalità Vim", "label-vim-warning": "La mappatura dei tasti di Vim è efficiente ma, se non si ha familiarità con Vim, può risultare contro-intuitiva. Attivare questa opzione potrebbe far sembrare che Obsidian abbia smesso di funzionare.", "label-vim-test": "Per verificare la tua conoscenza di Vim, inserisci il comando per uscire da Vim senza salvare qui sotto:", "label-vim-your-answer": "Risposta", "placeholder-enter-command": "Inserisci comando...", "button-confirm-enable-vim": "Attiva modalità Vim", "msg-vim-mode-enabled": "Il comando è corretto. La modalità Vim è stata attivata.", "msg-vim-mode-not-enabled": "Il comando non è corretto. Per sicurezza, la modalità Vim non è stata attivata.", "msg-vim-mode-please-enter-command": "Inserire il comando per attivare la modalità Vim" }, "file": { "name": "File e collegamenti", "option-confirm-file-deletion": "Conferma eliminazione dei file", "option-confirm-file-deletion-description": "Mostra una finestra di conferma durante l'eliminazione dei file.", "option-delete-destination": "File eliminati", "option-delete-destination-description": "Indica cosa fare con i file dopo averli eliminati.", "option-choice-system-trash": "Sposta nel cestino di sistema", "option-choice-vault-trash": "Sposta nel cestino di Obsidian (cartella .trash)", "option-choice-permanent-delete": "Elimina definitivamente", "option-always-update-links": "Aggiorna sempre collegamenti interni", "option-always-update-links-description": "Indica se aggiornare automaticamente i collegamenti dopo aver rinominato un file.", "option-new-note-location": "Posizione predefinita delle note", "option-new-note-location-description": "Indica dove inserire le note appena create. I plugin sovrascriveranno questa impostazione.", "option-choice-vault-root": "Cartella principale del vault", "option-choice-current-folder": "Stessa cartella del file", "option-choice-specified-folder": "Cartella personalizzata", "option-new-file-folder-path": "Cartella personalizzata per le nuove note", "option-new-file-folder-path-description": "Le nuove note verranno inserite nella cartella specificata. I plugin sovrascriveranno questa impostazione.", "option-use-wiki-links": "Usa [[Wikilink]]", "option-use-wiki-links-description": "Crea automaticamente Wikilink per [[collegamenti]] e ![[immagini]] al posto di collegamenti e immagini Markdown. Disabilitare questa opzione per utilizzare il formato Markdown.", "option-show-unsupported-files": "Rileva tutte le estensioni di file", "option-show-unsupported-files-description": "Mostra i file con qualsiasi estensione anche se Obsidian non può aprirli nativamente, in modo da poterli collegare o vedere in Esplora risorse e Selezione rapida.", "option-link-autocompleted-format": "Formato dei nuovi collegamenti", "option-link-autocompleted-format-description": "Formato dei collegamenti da utilizzare quando vengono generati automaticamente i collegamenti interni.", "option-choice-shortest-linktext": "Percorso più breve", "option-choice-relative-path": "Percorso relativo al file", "option-choice-absolute-path": "Percorso assoluto nel vault", "option-new-attachment-location": "Posizione predefinita dei nuovi allegati", "option-new-attachment-location-description": "Indica dove inserire gli allegati appena aggiunti.", "option-new-attachment-location-default": "allegati", "option-choice-subdirectory": "Sottocartella della cartella attuale", "option-attachment-folder-path": "Percorso cartella degli allegati", "option-attachment-folder-path-description": "I nuovi file allegati verranno inseriti nella cartella specificata. Comprende le immagini create tramite drag and drop o copia/incolla e le registrazioni audio.", "option-attachment-subfolder-path": "Nome della sottocartella", "option-attachment-subfolder-path-description": "Se il file si trova in \"vault/cartella\", e il nome della sottocartella è \"allegati\", gli allegati verranno salvati in \"vault/cartella/allegati\".", "option-excluded-files": "File esclusi", "option-excluded-files-desc": "I file esclusi verranno nascosti o saranno meno evidenti in alcuni posti come Selezione rapida, suggerimenti e Vista grafo.", "label-no-excluded-filters-applied": "Non sono presenti filtri di esclusione. Aggiungerne uno qui sotto.", "label-excluded-filters-applied": "I file che corrispondono ai seguenti filtri sono attualmente esclusi:", "label-excluded-filter": "Filtro", "message-empty-filter": "Il filtro non può essere vuoto", "placeholder-excluded-filter": "Inserisci percorso o \"/regex/\"...", "option-uri-callbacks": "Abilita callback URI", "option-uri-callbacks-desc": "Abilita l'uso di x-callback-url attraverso x-success o x-error durante la gestione degli URI di Obsidian." }, "appearance": { "name": "Aspetto", "option-base-theme": "Tema di base", "option-base-theme-description": "Combinazione di colori predefinita di Obsidian.", "option-accent-color": "Colore d'accento", "option-accent-color-description": "Scegli un colore d'accento da utilizzare nell'app.", "dark-theme": "Scuro", "light-theme": "Chiaro", "system-theme": "Adatta al sistema", "option-font": "Tipi di carattere", "option-advanced": "Avanzate", "option-interface": "Interfaccia", "option-interface-font": "Carattere interfaccia", "option-interface-font-description": "Imposta il carattere di base per Obsidian.", "option-zoom-level": "Livello zoom", "option-zoom-level-description": "Livello di zoom generale dell'app.", "option-text-font": "Carattere testo", "option-text-font-description": "Imposta il carattere per la vista Modifica e la vista Lettura.", "option-monospace-font": "Carattere monospazio", "option-monospace-font-description": "Imposta il carattere per posti come i blocchi di codice o il frontespizio.", "label-single-font-currently-in-effect": " Carattere applicato: ", "label-multiple-fonts-currently-in-effect": " Caratteri applicati:", "option-font-placeholder": "Inserisci nome carattere...", "label-no-custom-font-set": "Nessun carattere personalizzato. Aggiungerne uno qui sotto.", "label-font-applied": "Verrà applicato il primo carattere disponibile sul sistema da questo elenco.", "msg-font-not-found": "Carattere non rilevato sul sistema.", "msg-font-found": "Carattere rilevato sul sistema.", "label-font-name": "Nome carattere", "option-community-themes": "Temi della comunità", "option-community-themes-description": "Visualizza in anteprima e utilizza i temi creati dalla comunità.", "button-browse-community-themes": "Sfoglia", "option-font-size": "Dimensione carattere", "option-font-size-description": "Dimensione del carattere in pixel che ha effetto su editor e anteprima.", "option-font-size-action": "Regolazione rapida carattere", "option-font-size-action-description": "Regola la dimensione del carattere usando Ctrl + Scorr, o usando la modalità zoom indietro/avanti con le dita.", "option-themes": "Temi", "option-manage-themes-description": "Gestisci i temi installati e sfoglia i temi della comunità.", "option-theme-button-manage": "Gestisci", "option-choice-none": "Nessuno", "option-native-menus": "Menu nativi", "option-native-menus-desc": "Rende i menu nell'app come quelli del sistema operativo. Se attivo, i menu non saranno influenzati dal tema dell'app.", "button-reload-themes": "Ricarica temi", "msg-reloaded-themes": "Temi CSS personalizzati ricaricati.", "button-open-themes-folder": "Apri cartella dei temi", "option-css-snippets": "Snippet CSS", "label-no-css-snippets-found": "Nessuno snippet CSS trovato nella cartella degli snippet.", "no-snippet-description": "Gli Snippet CSS sono archiviati in \"{{path}}\".", "button-reload-snippets": "Ricarica snippet", "button-open-snippets-folder": "Apri cartella snippet", "msg-reloaded-snippets": "Snippet CSS ricaricati.", "option-toggle-snippet-description": "Applica snippet CSS a \"{{path}}\".", "label-installed-themes": "Temi installati", "label-screenshot-unavailable": "Screenshot non disponibile", "label-default-theme": "Predefinito", "tooltip-click-to-enlarge": "Fare clic per ingrandire", "button-update": "Aggiorna", "label-currently-active": "Attiva", "option-frame-style": "Cornice della finestra", "option-frame-description": "Seleziona lo stile della cornice delle finestre di Obsidian. Riavviare l'app per applicare le modifiche.", "option-frame-hidden": "Nascosta (predefinito)", "option-frame-obsidian": "Cornice Obsidian", "option-frame-native": "Cornice nativa", "option-custom-icon": "Icona dell'app personalizzata", "option-custom-icon-desc": "Imposta icona personalizzata per l'applicazione", "button-choose-custom-icon": "Scegli icona personalizzata", "option-configure-ribbon": "Barra multifunzione", "option-configure-ribbon-desc": "Configura i pulsanti visualizzati nella barra laterale primaria.", "option-mobile-quick-ribbon-item": "Accesso rapido elemento", "option-mobile-quick-ribbon-item-desc": "Toccare l'elemento nella barra multifunzione lo attiva. Toccare tenendo premuto mostra ancora il menu.", "option-mobile-quick-ribbon-default": "Apri barra multifunzione", "button-configure": "Configura", "option-show-ribbon": "Mostra barra multifunzione", "option-show-ribbon-desc": "Visualizza la barra degli strumenti verticale sul lato della finestra.", "label-additional-ribbon-items": "Altri elementi barra multifunzione", "label-modal-configuration": "Configurazione barra multifunzione", "label-modal-configuration-desc": "Scegli quali elementi attivare nella barra multifunzione. Trascina e rilascia per modificare l'ordine.", "option-show-view-header": "Mostra barra del titolo della scheda", "option-show-view-header-desc": "Visualizza intestazione nella parte superiore di ogni scheda.", "msg-updates-found": "{{count}} tema da aggiornare.", "msg-updates-found_plural": "{{count}} temi da aggiornare.", "button-check-for-updates": "Controlla aggiornamenti", "button-view-updates": "Mostra aggiornamenti", "button-update-all-themes": "Aggiorna tutto", "label-current-themes": "Temi installati", "label-currently-installed": "Hai {{count}} tema installato.", "label-currently-installed_plural": "Hai {{count}} temi installati." }, "hotkeys": { "name": "Tasti di scelta rapida", "option-search": "Cerca tasti di scelta rapida", "option-search-desc": "{{count}} tasto di scelta rapida. ", "option-search-desc_plural": "{{count}} tasti di scelta rapida. ", "option-search-conflict": "{{count}} comando con conflitti.", "option-search-conflict_plural": "{{count}} comandi con conflitti.", "prompt-filter": "Filtra...", "tooltip-delete-hotkey": "Elimina combinazione di tasti", "label-waiting-for-hotkey-press": "Premi tasti di scelta rapida...", "label-show-all": "Tutti", "label-show-unassigned": "Non assegnati", "label-show-assigned": "Assegnati", "label-show-user-assigned": "Assegnati da me", "tooltip-restore-default": "Ripristina predefinito", "tooltip-customize-command": "Personalizza comando", "tooltip-hotkey-single-conflict": "Questa combinazione è in conflitto con \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Questa combinazione è in conflitto con {{count}} altri comandi", "label-blank-hotkey": "Vuoto" }, "about": { "name": "Informazioni", "label-commercial-license": "Licenza commerciale", "label-license-key": "Chiave di licenza", "license-key-placeholder": "La tua chiave di licenza...", "label-activate-license": "Attivazione licenza", "button-activate": "Attiva", "label-unknown-version": "Sconosciuto", "label-current-version": "Versione attuale: ", "label-install-version": "(Versione dell'installer: {{version}})", "label-up-to-date": "La tua app è aggiornata!", "label-read-changelog": "Registro delle modifiche.", "label-manual-update-required": "Per supportare le nuove funzionalità e ricevere le ultime patch di sicurezza, è necessario un importante aggiornamento del programma d'installazione. Scarica e reinstalla manualmente Obsidian.", "label-new-version-ready": "Una nuova versione è pronta per l'installazione. ", "label-disabled-updates": "Gli aggiornamenti sono disattivati.", "button-relaunch": "Riavvia", "button-check-for-updates": "Controlla aggiornamenti", "option-auto-update": "Aggiornamenti automatici", "option-auto-update-description": "Disattivare per impedire il controllo automatico degli aggiornamenti.", "option-check-slow-startup": "Notifica se l'avvio richiede più tempo del previsto", "option-check-slow-startup-description": "Diagnostica i problemi dell'app per vedere cosa causa il caricamento lento..", "button-check-startup": "Controlla ora", "option-get-help": "Informazioni", "option-get-help-description": "Ulteriori informazioni sull'utilizzo di Obsidian.", "button-open": "Apri", "option-language": "Lingua", "option-language-description": "Cambia la lingua utilizzata.", "option-insider-build": "Ricevi versioni insider", "option-insider-build-description": "Aggiorna automaticamente alle versioni insider per provare nuove funzionalità. Attenzione: si tratta di versioni beta che potrebbero essere meno stabili.", "option-advanced": "Avanzate", "option-hw-acceleration": "Accelerazione hardware", "option-hw-acceleration-description": "Attiva l'accelerazione hardware. Utilizza la tua GPU per rendere Obsidian più fluido.", "option-hw-acceleration-warning": "Se si disattiva questa opzione, le prestazioni dell'app saranno notevolmente ridotte.", "option-config-location": "Cambia cartella di configurazione", "option-config-location-description": "Utilizza una cartella di configurazione diversa da quella predefinita. Deve iniziare con un punto.", "option-config-location-warning": "Inserire un nome valido per la cartella di configurazione. Il nome deve iniziare con un punto.", "label-license": "Licenza", "label-your-commercial-license-key": "La chiave di licenza commerciale è \"{{key}}\".", "label-commercial-license-info": "Registrata a nome di \"{{company}}\" per {{seats}} utenti. Valida fino al {{expiry}}.", "label-validating-commercial-license": "Validazione in corso...", "label-invalid-commercial-license": "Licenza non valida: ", "button-remove-commercial-license": "Rimuovi", "option-catalyst": "Licenza Catalyst", "option-catalyst-desc": "Al momento hai una licenza Catalyst da {{tier}}. Grazie per il supporto!", "option-catalyst-desc-no-license": "Al momento non hai una licenza Catalyst. La licenza Catalyst è una donazione una tantum per supportare lo sviluppo di Obsidian.", "label-app": "App", "label-add-own-language": "Scopri come aggiungere la tua lingua a Obsidian." }, "account": { "name": "Account", "option-your-account": "Il tuo account", "option-your-account-desc": "Sei collegato come {{name}} ({{email}}).", "option-your-account-desc-no-login": "Non sei collegato. L'account è necessario solo per ottenere le build insider, per Obsidian Publish e Obsidian Sync.", "label-insider": "insider", "label-supporter": "supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Passa a un piano superiore", "option-commercial-license": "Licenza commerciale", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Acquista", "button-log-out": "Disconnetti", "label-log-in": "Accesso", "label-sign-up": "Iscriviti", "label-email": "Email", "placeholder-email": "Il tuo indirizzo email...", "label-name": "Nome completo", "label-password": "Password", "placeholder-password": "La tua password...", "label-forgot-password": "Password dimenticata?", "button-login": "Accedi", "message-empty-email": "L'indirizzo email non può essere vuoto.", "message-invalid-email": "L'indirizzo email non è valido.", "message-empty-password": "La password non può essere vuota.", "message-login-failed": "Accesso non riuscito, verifica i dati e riprova.", "message-signup-failed": "Registrazione non riuscita", "label-no-account": "Non hai un account? ", "link-sign-up-now": "Iscriviti ora", "label-mfa-code": "Codice 2FA a 6 cifre", "mfa-wrong-format": "Il codice dell'autenticatore 2FA dev'essere di 6 cifre.", "mfa-verification-failed": "Il codice 2FA non è corretto, ricontrollare l'app di autenticazione." }, "core-plugin": { "plugin-list": "Lista plugin", "option-search-plugin": "Cerca plugin principali", "option-search-plugin-description": "Filtra i plugin per nome o descrizione.", "placeholder-search-plugin": "Cerca plugin..." }, "third-party-plugin": { "name": "Plugin di terze parti", "option-restricted-mode": "Modalità limitata", "option-restricted-mode-description": "La modalità limitata non è attiva. Attivala per disabilitare i plugin della comunità.", "button-turn-on": "Attiva", "option-browse-community-plugins": "Plugin della comunità", "option-browse-community-plugins-description": "Sfoglia e installa plugin di terze parti creati dalla nostra straordinaria comunità.", "button-browse": "Sfoglia", "label-exit-restricted-mode": "Esci dalla modalità limitata", "label-exit-restricted-mode-description-1": "I plugin della comunità, come ogni altro software installato, potrebbero causare problemi di integrità e sicurezza dei dati.", "label-exit-restricted-mode-description-2": "La sicurezza dei plugin è importante per noi. Ecco cosa facciamo:", "label-exit-restricted-mode-description-3": "Nonostante i nostri sforzi, c'è sempre la possibilità che un plugin della comunità possa essere dannoso.", "label-code-review": "Revisione iniziale del codice", "label-code-review-desc": "I plugin vengono sottoposti a una revisione del codice da parte del nostro team prima di essere mostrati nello store.", "label-open-source": "Open source", "label-open-source-desc": "La maggior parte dei plugin sono open source su GitHub, quindi possono essere personalmente controllati.", "label-peer-audit": "Peer audit", "label-peer-audit-desc": "Abbiamo una vasta comunità di sviluppatori che controllano il lavoro degli altri.", "label-report-mechanism": "Meccanismo di segnalazione", "label-report-mechanism-desc": "Controlliamo e rimuoviamo i plugin problematici su segnalazione dell'utente.", "label-exit-restricted-mode-disable-confirmation": "Uscire dalla modalità limitata per abilitare i plugin della comunità? Consigliamo vivamente di eseguire un backup dei dati prima di procedere.", "label-learn-more": "Ulteriori informazioni sulla sicurezza dei plugin", "button-turn-on-community-plugins": "Attiva i plugin della comunità", "label-trust-author": "Considerare attendibili gli autori di questo vault?", "label-trust-author-description-1": "Stai aprendo per la prima volta questo vault che contiene alcuni plugin.", "label-trust-author-description-2": "Se il vault è stato ottenuto da terzi, tenere presente che i plugin di origine sconosciuta possono comportare rischi per la sicurezza.", "label-trust-author-description-3": "Se non è possibile fidarsi completamente dell'autore di questo vault, è consigliabile restare in modalità limitata, in maniera tale che i plugin di questo vault non vengano eseguiti.", "button-enable-plugins": "Mi fido degli autori, abilita i plugin", "button-dont-trust-author": "Esplora il vault in modalità limitata", "placeholder-community-plugins": "Cerca plugin della comunità...", "msg-failed-load-plugins": "Impossibile caricare i plugin della comunità.", "label-installed": "Installato", "button-install": "Installa", "button-enable": "Abilita", "button-disable": "Disabilita", "button-copy-share-link": "Copia link di condivisione", "button-donate": "Dona", "label-no-results-found": "nessun risultato trovato.", "label-no-recent-files-found": "Nessun file recente trovato. Digita per cercare...", "msg-failed-to-load-manifest": "Impossibile caricare il manifesto del plug-in.", "label-version": "Versione: {{version}}", "label-currently-installed-version": " (attualmente installata: {{version}})", "label-by-author": "Di ", "label-repository": "Repository: ", "label-last-update": "Ultimo aggiornamento: ", "tooltip-view-last-update": "Visualizza ultimo aggiornamento", "label-unsupported": "Questo plugin non supporta il tuo dispositivo.", "button-update": "Aggiorna", "label-no-readme": "Questo plugin non ha fornito un file README.", "msg-installing-plugin": "Installazione del plugin \"{{name}}\"...", "msg-failed-to-install-plugin": "Impossibile installare il plugin \"{{name}}\".", "msg-successfully-installed-plugin": "Plugin \"{{name}}\" installato con successo.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Plugin installati", "button-reload-plugins": "Ricarica plugin", "msg-reloaded-third-party-plugins": "Plugin di terze parti ricaricati.", "label-uninstall": "Disinstalla", "label-uninstall-plugin": "Disinstallazione plugin", "label-uninstall-plugin-confirmation": "Disinstallare questo plugin? La cartella del plugin verrà cancellata.", "button-open-plugins-folder": "Apri cartella dei plugin", "button-check-for-updates": "Controlla aggiornamenti", "button-update-all-plugins": "Aggiorna tutti", "label-current-plugins": "Plugin installati", "label-currently-installed": "{{count}} plugin attualmente installato.", "label-currently-installed_plural": "{{count}} plugin attualmente installati.", "msg-no-updates-found": "Nessun aggiornamento trovato.", "msg-updates-found": "{{count}} plugin da aggiornare.", "msg-updates-found_plural": "{{count}} plugin da aggiornare.", "msg-update-plugin": "Aggiorna alla versione {{version}}", "option-search-installed-plugin": "Cerca plugin installato", "option-search-installed-plugin-description": "Filtra i plugin installati per nome o descrizione.", "placeholder-search-installed-plugin": "Cerca plugin installato...", "show-installed-only": "Mostra solo installati", "label-donate-modal-title": "Dona per sostenere {{name}}", "label-donate-modal-text1": "Gli sviluppatori di plugin sono volontari che creano tante cose incredibili per passione. Se trovi utile questo plugin, considera di finanziarne lo sviluppo.", "label-donate-modal-text2": "Il 100% del contributo andrà allo sviluppatore del plugin; Obsidian non trattiene alcuna percentuale. La piattaforma che gestisce il pagamento potrebbe addebitare una commissione.", "label-donate-modal-text3": "Grazie per il tuo generoso supporto!", "label-support-this-plugin": "Supporta questo plugin:", "label-search-summary": "Visualizzazione di {{pluginCount}}:", "label-by-popularity": "I più scaricati", "label-by-released": "Pubblicati di recente", "label-by-updated": "Aggiornati di recente", "label-alphabetical": "Ordine alfabetico", "label-last-updated": "Aggiornato il {{time}}" }, "mobile-toolbar": { "name": "Strumenti mobile", "option-configure-quick-action": "Configura azione rapida mobile", "option-configure-quick-action-description": "Consente di configurare quale comando attivare quando si trascina dall'alto verso il basso. Il comando attuale è impostato su \"{{command}}\".", "msg-missing-quick-action": "Azione non configurata", "button-configure": "Configura", "placeholder-select-quick-action": "Seleziona azione rapida...", "quick-action-disabled": "Nessuno", "manage-toolbar-options": "Gestisci opzioni barra degli strumenti", "option-internal-link": "Aggiungi collegamento interno", "option-internal-embed": "Incorpora", "option-tag": "Aggiungi etichetta", "option-heading": "Imposta intestazione", "option-strikethrough": "Imposta barrato", "option-highlight": "Imposta evidenziato", "option-code": "Imposta codice", "option-blockquote": "Imposta citazione", "option-inline-math": "Imposta Math in linea", "option-math-block": "Imposta blocco Math", "option-markdown-link": "Aggiungi collegamento Markdown", "option-bullet-list": "Imposta elenco puntato", "option-numbered-list": "Imposta elenco numerato", "option-indent-list": "Aumenta rientro elenco", "option-unindent-list": "Riduci rientro elenco", "option-undo": "Annulla", "option-redo": "Ripeti", "option-move-caret-up": "Sposta cursore in alto", "option-move-caret-down": "Sposta cursore in basso", "option-move-caret-left": "Sposta cursore a sinistra", "option-move-caret-right": "Sposta cursore a destra", "option-first-line": "Vai alla prima riga", "option-last-line": "Vai all'ultima riga", "option-toggle-keyboard": "Attiva/disattiva tastiera", "option-configure-toolbar": "Configura strumenti mobile", "option-added-options": "Opzioni aggiunte", "option-more-toolbar-options": "Altre opzioni", "option-attach": "Inserisci allegato", "option-add-command": "Aggiungi comando globale", "option-add-command-description": "Selezionare un comando globale da aggiungere alla barra degli strumenti." } }, "editor": { "search": { "placeholder-find": "Trova", "placeholder-replace": "Sostituisci", "label-exit-search": "Chiudi ricerca", "label-next": "Successivo", "label-previous": "Precedente", "label-find-all": "Trova tutto", "label-replace": "Sostituisci", "label-replace-all": "Sostituisci tutto" }, "link-suggestion": { "label-type-hash": "Digita #", "label-link-heading": "per collegare un titolo", "label-type-block": "Digita ^", "label-link-block": "per collegare un blocco", "label-type-pipe": "Digita |", "label-change-display-text": "per cambiare il testo mostrato", "label-no-alias": "Mostra testo", "label-no-heading": "Titolo", "label-no-match-found": "Nessuna corrispondenza trovata", "label-image-size": "Larghezza immagine: {{size}}px", "label-accept": "per accettare", "label-new-footnote": "Nuova nota a piè di pagina..." }, "spellcheck": { "no-suggestion": "Nessun suggerimento...", "add-to-dictionary": "Aggiungi al dizionario" }, "menu": { "edit-link": "Modifica collegamento", "edit-tag": "Modifica etichetta", "label-edit-block": "Modifica blocco", "label-delete-footref-and-note": "Elimina nota a piè di pagina e riferimento" }, "heading-suggestion": { "label-no-heading": "Nessun titolo", "label-heading-level": "Titolo {{level}}" }, "print-modal": { "title": "Esporta in PDF", "caption": "Esporta \"{{filename}}\" in PDF con le seguenti impostazioni.", "setting-page-size": "Dimensione pagina", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legale", "setting-page-size-letter": "Lettera", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Includi nome file come titolo", "setting-landscape": "Orizzontale", "setting-margin": "Margine", "setting-margin-default": "Normale", "setting-margin-minimal": "Stretto", "setting-margin-none": "Nessuno", "setting-downscale-percent": "Riduzione in percentuale", "button-export-to-pdf": "Esporta in PDF" }, "link-popover": { "tooltip-follow-link": "Segui collegamento", "tooltip-open-link": "Apri collegamento", "tooltip-search-tag": "Cerca etichetta" } }, "interface": { "embed-cannot-find": "Impossibile trovare:", "label-unable-to-find-section": "Impossibile trovare “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Apre con l'app predefinita", "empty-sidebar": "La barra laterale è vuota, prova a trascinare un pannello qui.", "sidebar-expand": "Mostra", "sidebar-collapse": "Nascondi", "msg-fail-to-save-file": "Impossibile salvare \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Impossibile caricare il plugin “{{plugin}}”", "msg-plugin-error": "Errore durante il caricamento del plugin “{{plugin}}”", "msg-failed-to-load-file": "Impossibile aprire “{{filepath}}”", "msg-failed-to-open-href": "Impossibile aprire “{{href}}”", "no-file": "Nessun file", "msg-file-changed": "\"{{file}}\" è stato modificato esternamente, unione automatica delle modifiche.", "switch-vault": "Apri un altro vault", "manage-vaults": "Gestisci vault...", "help": "Aiuto", "settings": "Impostazioni", "drag-to-rearrange": "Trascina per riordinare", "msg-switched-to-read": "Modalità Lettura impostata come predefinita.", "msg-switched-to-edit": "Modalità Modifica impostata come predefinita.", "msg-upgrade-installer": "Per usare questa funzionalità, reinstalla con il file d'installazione più recente disponibile sul nostro sito.", "msg-slow-boot": "Rilevato tempo di avvio lento.", "msg-desktop-only-feature": "Questa funzionalità è disponibile solo nell'app desktop.", "tooltip-restore-default-settings": "Ripristina impostazioni predefinite", "label-copy": "Copia negli Appunti", "label-copy-short": "Copia", "copied_generic": "Copiato negli appunti", "copied": "{{item}} copiato negli appunti", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filtra...", "url": "Url", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "File \"{{path}}\" aperto", "msg-file-not-found-through-uri": "File \"{{name}}\" non trovato.", "delete-action-short-name": "Elimina", "msg-indexing": "Obsidian sta indicizzando il vault...\nDovrebbe accadere solo una volta.\nAlcune funzioni potrebbero non essere disponibili finché l'operazione non sarà completata.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indicizzazione completa.", "msg-sandbox-vault": "Questo è un vault sandbox.\nLe modifiche apportate a questo vault andranno perse.", "msg-indexed-db-not-supported": "IndexedDB è necessario per questa funzionalità, ma attualmente è disabilitato.", "msg-indexed-db-i-o-s": "Se stai usando iOS in Modalità isolamento, escludi Obsidian dalle impostazioni \"Configura navigazione web\" della Modalità isolamento.", "label-enter-to-create": "Invio per creare", "label-update-available": "Aggiornamento disponibile", "label-debug-info": "Informazioni di debug", "button-learn-more": "Scopri di più", "button-not-now": "Non adesso", "button-add": "Aggiungi", "button-manage": "Gestisci", "label-new-tab": "Nuova scheda", "option-hide-ribbon": "Nascondi barra multifunzione", "msg-tab-busy": "Questa scheda è occupata, riprova più tardi", "formatting": { "label-formatting": "Formattazione", "label-paragraph": "Paragrafo", "label-insert": "Inserisci", "insert-link": "Aggiungi collegamento", "insert-external-link": "Aggiungi link", "insert-callout": "Callout", "insert-horizontal-rule": "Barra orizzontale", "insert-code-block": "Blocco di codice", "insert-math-block": "Blocco di matematica", "insert-table": "Tabella", "insert-footnote": "Nota a piè di pagina", "toggle-bold": "Grassetto", "toggle-code": "Codice", "toggle-comments": "Commento", "toggle-highlight": "Evidenziato", "toggle-italics": "Corsivo", "toggle-strikethrough": "Barrato", "toggle-math": "Matematica", "toggle-bullet-list": "Lista puntata", "toggle-checklist": "Lista attività", "toggle-numbered-list": "Lista numerata", "set-heading": "Intestazione {{level}}", "no-heading": "Corpo", "clear": "Cancella formattazione", "toggle-quote": "Citazione" }, "empty-state": { "no-file-open": "Nessun file aperto", "create-new-file": "Crea nuovo file", "go-to-file": "Vai al file", "see-recent-files": "Vedi file recenti", "close": "Chiudi", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Plugin non più attivo", "unknown-pane-desc": "Il plugin che ha creato questo pannello ({{type}}) non è disponibile" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Modifica (Ctrl/Cmd+Clic modifica in nuovo pannello)", "read-view": "Vista attuale: lettura", "ribbon": "Barra multifunzione", "left-sidebar": "Barra laterale sinistra", "right-sidebar": "Barra laterale destra", "switch-to-edit-view": "Fare clic per modificare", "switch-to-read-view": "Fare clic per leggere", "mod-click-open-new-tab": "{{key}}+Clic apri in nuova scheda", "find": "Trova...", "replace": "Sostituisci...", "edit": "Modifica", "remove": "Rimuovi", "rename": "Rinomina", "preview": "Anteprima", "more-options": "Altre opzioni", "close": "Chiudi", "close-all": "Chiudi tutte", "close-tabs-with-count": "Chiudi {{count}} scheda", "close-tabs-with-count_plural": "Chiudi {{count}} schede", "close-others": "Chiudi le altre schede", "close-after": "Chiudi schede a destra", "pin": "Blocca", "unpin": "Sblocca", "unlink-tab": "Scollega scheda", "link-tab": "Collega con scheda...", "toggle-source-mode": "Codice sorgente", "toggle-reading-view": "Lettura", "add-property": "Aggiungi proprietà", "delete-file": "Elimina file", "create-file": "Crea questo file", "open-link": "Apri collegamento", "open-in-new-tab": "Apri in nuova scheda", "open-to-the-right": "Apri a destra", "copy-url": "Copia URL", "copy": "Copia", "cut": "Taglia", "paste": "Incolla", "paste-as-plain-text": "Incolla come testo normale", "lookup-selection": "Ricerca “{{selection}}”", "select-all": "Seleziona tutto", "rename-heading": "Rinomina questa intestazione...", "rename-blockid": "Rinomina ID del blocco...", "open-in-new-window": "Apri in nuova finestra", "move-to-new-window": "Sposta in nuova finestra", "open-in-browser": "Apri nel browser", "stack-tabs": "Sovrapponi schede", "unstack-tabs": "Affianca schede", "open-linked-view": "Apri vista collegata" }, "tooltip": { "click-to-expand": "Clicca per espandere", "click-to-collapse": "Clicca per comprimere", "alias": "Alias", "not-created-yet": "Non ancora creato, seleziona per crearlo" }, "start-screen": { "label-version": "Versione", "label-create-local-vault": "Crea vault locale", "option-open-folder-as-vault": "Apri cartella come vault", "option-open-folder-as-vault-description": "Scegliere una cartella di file Markdown già esistente.", "option-create-vault": "Crea nuovo vault", "option-create-vault-description": "Crea un nuovo vault Obsidian in una cartella.", "option-connect-obsidian-sync": "Connetti a Obsidian Sync", "option-connect-obsidian-sync-description": "Configura vault sincronizzato con un vault remoto già esistente.", "option-new-vault-name": "Nome vault", "option-new-vault-name-description": "Scegliere un nome per il vault.", "option-new-vault-location": "Posizione", "option-new-vault-location-description": "Scegliere una posizione per il nuovo vault.", "label-new-vault-location-preview": "Il nuovo vault verrà creato in: ", "option-reveal-vault-in-explorer": "Mostra vault in Esplora file", "option-reveal-vault-in-explorer-mac": "Mostra vault in Finder", "option-rename-vault": "Rinomina vault...", "option-copy-vault-i-d": "Copia ID vault", "msg-error-rename-exists": "Vault già esistente con questo nome.", "msg-error-nested": "Impossibile spostare il vault in una sua sottocartella.", "msg-error-rename-open": "Impossibile rinominare un vault attualmente aperto.", "msg-rename-failed": "Impossibile rinominare il vault.", "msg-rename-success": "Vault rinominato con successo.", "option-move-vault": "Sposta vault...", "msg-move-select-dest": "Seleziona cartella di destinazione", "msg-error-move-exists": "Vault già esistente nella posizione specificata.", "msg-error-move-open": "Impossibile spostare un vault attualmente aperto.", "msg-move-failed": "Impossibile spostare il vault.", "msg-move-success": "Vault spostato con successo.", "option-remove": "Rimuovi dalla lista", "button-quick-start": "Avvio rapido", "button-open": "Apri", "button-browse": "Sfoglia", "button-connect": "Connetti", "button-create-vault": "Crea", "button-back": "Indietro", "msg-empty-vault-name": "Il nome del vault non può essere vuoto.", "msg-trailing-dot-vault-name": "Il nome del vault non può finire con un punto.", "msg-invalid-folder": "Scegliere una cartella valida.", "msg-failed-to-create-vault": "Impossibile creare il vault.", "msg-failed-to-create-vault-at-location": "Impossibile creare il vault nella posizione specificata. Controllare il percorso e i permessi.", "msg-error-failed-to-open-vault": "Apertura non riuscita.", "msg-error-remove-current-open-vault": "Impossibile rimuovere un vault attualmente in uso.", "option-get-help": "Aiuto", "option-user-email": "Email", "placeholder-your-email": "Il tuo indirizzo email...", "option-user-password": "Password", "placeholder-your-password": "La tua password...", "button-sign-in": "Accesso", "button-setup": "Installa", "option-connect-vault-desc": "Crea vault sincronizzato su questo dispositivo.", "tooltip-own-vault": "Questo vault remoto è di tua proprietà.", "tooltip-shared-vault": "Questo vault remoto è condiviso con te.", "mobile": { "label-start-screen": "I tuoi pensieri sono tuoi.", "label-synced": "sincronizzato", "label-not-synced": "non sincronizzato", "label-none": "Nessuno", "label-recommended": "Consigliato", "label-start-screen-desc": "Obsidian memorizza le note sul tuo dispositivo. Puoi accedervi rapidamente e in modo privato anche offline.\nI tuoi dati sono salvati in una cartella locale sicura chiamata **vault**.", "option-create": "Crea un vault", "option-use-existing": "Usa vault esistente", "label-sync-intro": "Per accedere alle tue note su altri dispositivi, devi configurare la sincronizzazione.", "label-sync-intro-desc": "Siccome Obsidian memorizza le note suu dispositivu, devi configurare la sincronizzazione se vuoi accedere alle note da un altro telefono o computer.\nPuoi configurarla ora oppure iniziare a scrivere e farlo in seguito.", "option-setup-sync": "Configura sincronizzazione", "option-skip": "Salta per ora", "option-skip-short": "Skip", "label-vault-create": "Scegli un nome per il vault.", "button-create": "Crea vault", "label-sync-setup": "Configurazione sincronizzazione", "label-sync-setup-desc": "Crea un vault sincronizzato sul tuo account Obsidian per accedere ai dati da altri dispositivi.", "label-remote-vault-create": "Crittografia sincronizzazione", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Impostazioni sincronizzazione", "label-sync-settings-desc": "Vuoi escludere cartelle o file durante la sincronizzazione su questo dispositivo?", "button-start": "Avvia sincronizzazione", "label-sign-in-or-sign-up": "Crea un account Obsidian o accedi", "option-sign-up": "Registrati", "option-sign-in": "Accedi", "button-resend-email": "Reinvia email", "label-remote-vault-options": "Vault sincronizzati già esistenti", "label-remote-vault-options-desc": "Vuoi creare un nuovo vault o connetterti a un vault sincronizzato esistente?", "option-remote-create": "Crea un nuovo vault", "option-remote-choose": "Scegli un vault esistente", "button-logout": "Esci", "button-forgot-password": "Password dimenticata", "label-vault-name": "Nome del vault", "label-vault-location": "Posizione del vault", "label-vault-location-desc": "Il nuovo vault sarà salvato in {{vaultLocation}}", "label-region-selection": "Regione", "label-region-selection-help": "Scegli un server vicino per rendere la sincronizzazione più veloce.", "label-encryption-key": "Chiave di crittografia", "label-encryption-key-help": "Questa password non potrà essere modificata in seguito. Se la dimentichi, tutti i dati remoti sui server Sync diventeranno inaccessibili per sempre.", "placeholder-vault-name": "Il mio vault", "opt-region-selection-automatic": "Automatico", "label-remote-vault-selection": "Scegli un vault", "label-remote-vault-selection-desc": "Il tuo account **{{email}}** ha dei vault esistenti a cui puoi connetterti.", "label-sign-in": "Accedi al tuo account Obsidian", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Scegli come sincronizzare le note", "label-sync-method-selection-desc": "Per utilizzare Obsidian sui tuoi dispositivi dovrai sincronizzare i tuoi dati.", "label-sync-pro1": "Ben integrato su ogni dispositivo e sistema operativo.", "label-sync-pro2": "Protetto dal più robusto standard di crittografia end-to-end.", "label-sync-pro3": "Richiede un account Obsidian.", "label-icloud-con1": "Solo per iOS e macOS.", "label-icloud-con2": "Non crittografato per impostazione predefinita.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Usa Obsidian Sync", "opt-use-icloud": "Usa iCloud", "opt-use-other": "Usa sincronizzazione di terze parti", "opt-learn-other-sync": "Altri metodi di sincronizzazione", "opt-use-supported": "Usa metodi di sincronizzazione supportati", "label-sync-restore": "Dove si trova il tuo vault?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Altro", "label-other-sync": "Third-party sync", "label-local-folder": "Su questo dispositivo", "option-connect-icloud": "Connetti a iCloud", "option-connect-other": "Connetti a un altro servizio", "option-connect-sync": "Connetti a Obsidian Sync", "option-connect-local-folder": "Scegli cartella", "label-sync-other": "Altri metodi di sincronizzazione", "label-sync-other-desc": "Obsidian supporta ufficialmente due metodi: **Obsidian Sync** e **iCloud**.\nEsistono altre opzioni di sincronizzazione che puoi utilizzare.\nQueste includono plugin di terze parti e altri strumenti che potrebbero richiedere una configurazione più avanzata.\nPer utilizzare un metodo di sincronizzazione alternativo, **crea un vault** e segui le istruzioni fornite dal plugin o dal fornitore del servizio di sincronizzazione.", "label-email-entry": "Inserisci email", "label-email-entry-desc": "La tua email è necessaria per creare un account Obsidian.", "label-signup": "Inserisci nome e password", "email-verification": "Connetti a Obsidian Sync", "email-verification-desc": "Dovresti ricevere a breve un'email a **{{email}}** con le istruzioni per connetterti a Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Il tuo vault iCloud non è stato rilevato. Ciò potrebbe essere dovuto a uno dei seguenti motivi:", "icloud-missing-reason1": "Il vault si trova su un account iCloud diverso da quello attualmente utilizzato su questo dispositivo.", "icloud-missing-reason2": "Il vault non è memorizzato nella cartella principale di Obsidian sul tuo iCloud Drive.", "i-cloud-unsupported": "iCloud non supportato", "i-cloud-unsupported-desc": "La sincronizzazione via iCloud è disponibile solo su dispositivi Apple. Se al momento il vault utilizza iCloud, consulta le istruzioni per migrare il vault su un altro servizio di sincronizzazione.", "allow-file-access": "Allow file access", "msg-login-pending": "Accesso in corso...", "msg-name-required": "Il nome del vault è richiesto", "msg-new-email-success": "Nuova email di conferma inviata.", "msg-new-email-failure": "Reinvio email fallito.", "msg-invalid-vault": "La posizione del vault deve essere una cartella." } }, "starter-content": { "welcome-filename": "Benvenuto", "welcome-file-content": "Questo è il tuo nuovo *vault*.\n\nPrendi appunti, [[crea un collegamento]], o prova a [importare](https://help.obsidian.md/Plugins/Importer) qualcosa!\n\nQuando sei pronto, elimina questa nota e personalizza il vault." }, "drag-and-drop": { "insert-link-here": "Inserisci collegamento qui", "insert-links-here": "Inserisci collegamenti qui", "move-into-folder": "Sposta in \"{{folder}}\"", "star-this-file": "Aggiungi ai Preferiti", "star-these-files": "Aggiungi ai Preferiti", "open-in-this-tab": "Apri in questa scheda", "open-as-tab": "Apri come nuova scheda" }, "window": { "maximize": "Ingrandisci", "minimize": "Riduci a icona", "restore-down": "Ripristina giù", "close-window": "Chiudi", "go-back": "Torna indietro", "go-forward": "Vai avanti" }, "start-up": { "loading-obsidian": "Caricamento di Obsidian in corso...", "obsidian-load-error": "Si è verificato un errore durante il caricamento di Obsidian.", "button-reload-app": "Ricarica app", "button-reload-app-in-safe-mode": "Ricarica app in modalità provvisoria", "button-open-another-vault": "Apri un altro vault", "loading-plugins": "Caricamento dei plugin in corso...", "msg-plugin-hang": "Il plugin “{{plugin}}” sta impiegando molto tempo per caricarsi. ", "loading-vault": "Caricamento del vault in corso...", "msg-failed-to-load-vault": "Impossibile caricare il vault: ", "loading-cache": "Caricamento cache in corso...", "loading-workspace": "Caricamento area di lavoro in corso..." }, "mobile": { "action-import": "Importa nel vault", "action-insert-text-desc": "Aggiungi descrizione al file:", "action-choose-file-to-insert": "Scegli un file da inserire", "action-insert-text-into-file": "Inserisci testo in {{filename}}", "action-insert-link-into-file": "Inserisci collegamento in {{filename}}", "action-show-switcher": "Mostra panoramica schede", "msg-importing": "Importazione in corso...", "msg-import-success": "Importazione completata", "msg-failed-to-import-file": "Impossibile importare il file {{filename}}", "msg-back-again-to-exit": "Premi Indietro per uscire.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Sito ufficiale di aiuto", "label-official-help-site-desc": "Leggi la documentazione di aiuto ufficiale di Obsidian, disponibile in più lingue.", "action-visit": "Visita", "label-discord-chat": "Chat Discord", "label-discord-chat-desc": "Discord è il posto migliore per chattare con altri utenti esperti di Obsidian provenienti da tutto il mondo.", "action-join": "Partecipa", "label-forum": "Forum ufficiale", "label-forum-desc": "Per aiutarsi a vicenda, richiedere nuove funzionalità, segnalare bug e discutere sulla gestione della conoscenza.", "label-sandbox-vault": "Vault sandbox", "label-sandbox-vault-desc": "Gioca con Obsidian e sperimenta le sue funzioni. Tutte le modifiche apportate non verranno salvate." } }, "commands": { "save-file": "Salva file attuale", "download-attachments": "Scarica allegati per il file attuale", "follow-cursor-link": "Segui collegamento sotto il cursore", "open-cursor-link-in-new-tab": "Apri collegamento sotto il cursore in nuova scheda", "open-cursor-link-to-the-right": "Apri collegamento sotto il cursore a destra", "open-cursor-link-in-new-window": "Apri collegamento sotto il cursore in nuova finestra", "navigate-tab-above": "Stato attivo su gruppo di schede sopra", "navigate-tab-below": "Stato attivo su gruppo di schede sotto", "navigate-tab-left": "Stato attivo su gruppo di schede a sinistra", "navigate-tab-right": "Stato attivo su gruppo di schede a destra", "toggle-pin": "Blocca/sblocca nota", "split-right": "Dividi a destra", "split-down": "Dividi sotto", "toggle-stacked-tabs": "Attiva/disattiva sovrapposizione schede", "navigate-back": "Vai indietro", "navigate-forward": "Vai avanti", "use-dark-mode": "Usa tema scuro", "use-light-mode": "Usa tema chiaro", "change-theme": "Modifica tema", "search-current-file": "Cerca nel file attuale", "search-replace-current-file": "Cerca e sostituisci nel file attuale", "add-property": "Aggiungi proprietà al file", "label-sort-property-a-to-z": "Nome (dalla A alla Z)", "label-sort-property-z-to-a": "Nome (dalla Z alla A)", "add-alias": "Aggiungi alias", "clear-properties": "Elimina le proprietà dal file", "open-settings": "Apri impostazioni", "open-help": "Apri aiuto", "toggle-edit": "Passa a vista Modifica/Lettura", "toggle-source-mode": "Passa a modalità Anteprima/Codice sorgente", "delete-current-file": "Elimina file attuale", "new-tab": "Nuova scheda", "show-trash": "Visualizza cestino", "close-all-tabs": "Chiudi tutte le schede", "close-active-tab": "Chiudi scheda attuale", "close-others-in-tab-group": "Chiudi altre nel gruppo schede", "close-other-tabs": "Chiudi le altre schede", "close-tab-group": "Chiudi questo gruppo schede", "toggle-left-sidebar": "Mostra/nascondi barra laterale sinistra", "toggle-ribbon": "Mostra/nascondi barra multifunzione", "toggle-right-sidebar": "Mostra/nascondi barra laterale destra", "toggle-default-new-tab-mode": "Attiva/disattiva modalità predefinita per le nuove schede", "add-cursor-above": "Aggiungi cursore sopra", "add-cursor-below": "Aggiungi cursore sotto", "focus-editor": "Stato attivo su editor", "toggle-fold-properties": "Espandi/comprimi proprietà nel file attuale", "toggle-fold": "Espandi/comprimi la riga attuale", "fold-all": "Comprimi tutte le intestazioni e le liste", "unfold-all": "Espandi tutte le intestazioni e le liste", "fold-more": "Piega di più", "fold-less": "Piega di meno", "swap-line-up": "Scambia con la linea di sopra", "swap-line-down": "Scambia con la linea di sotto", "remove-heading": "Rimuovi intestazione", "toggle-heading": "Imposta intestazione {{level}}", "toggle-bold": "Imposta il grassetto per la selezione", "toggle-italics": "Imposta il corsivo per la selezione", "toggle-highlight": "Evidenzia la selezione", "toggle-comments": "Imposta commento per la selezione", "clear-formatting": "Cancella formattazione", "insert-link": "Inserisci collegamento", "toggle-spellcheck": "Attiva/disattiva controllo ortografico", "delete-paragraph": "Cancella paragrafo", "toggle-checklist": "Attiva/disattiva stato dell'attività", "cycle-list-checklist": "Passa a elenco/attività", "insert-callout": "Inserisci callout", "insert-code-block": "Inserisci blocco di codice", "insert-math-block": "Inserisci blocco Math", "insert-horizontal-rule": "Inserisci barra orizzontale", "insert-table": "Inserisci tabella", "insert-footnote": "Inserisci nota a piè di pagina", "edit-file-title": "Modifica titolo del file", "copy-path": "Copia percorso del file", "copy-url": "Copia URL obsidian", "export-pdf": "Esporta in PDF", "reload": "Ricarica l'app senza salvare", "undo-close-tab": "Ripristina scheda chiusa", "context-menu": "Mostra menu contestuale sotto il cursore", "show-debug-info": "Mostra informazioni di debug", "open-sandbox-vault": "Apri vault sandbox", "always-on-top": "Attiva/disattiva finestra sempre in primo piano", "zoom-in": "Aumenta zoom", "zoom-out": "Riduci zoom", "reset-zoom": "Reimposta zoom", "toggle-preview": "Passa a modalità Modifica/Lettura", "move-to-new-window": "Sposta pannello in nuova finestra", "open-in-new-window": "Apri pannello in una nuova finestra", "rename-current-file": "Rinomina file attuale", "go-to-prev-tab": "Vai alla scheda precedente", "go-to-next-tab": "Vai alla scheda successiva", "go-to-last-tab": "Vai all'ultima scheda", "go-to-nth-tab": "Vai alla scheda #{{n}}", "show-release-notes": "Mostra note sulla versione" }, "dialogue": { "label-link-affected": "Questa operazione influirà su {{links}} in {{files}}.", "msg-updated-links": "Sono stati aggiornati {{links}} in {{files}}.", "label-update-links": "Aggiornamento collegamenti", "label-confirm-update-link-to-file": "Aggiornare i collegamenti interni collegati a questo file?", "button-always-update": "Aggiorna sempre", "button-just-once": "Solo una volta", "button-do-not-update": "Non aggiornare", "label-confirm-deletion": "Eliminare \"{{filename}}\"?", "label-move-to-system-trash": "Verrà spostato nel cestino di sistema.", "label-move-to-vault-trash": "Verrà spostato nel cestino di Obsidian, nella cartella nascosta \".trash\" del tuo vault.", "label-permanent-delete": "Il file verrà eliminato definitivamente.", "label-non-empty-folder": "La cartella non è vuota.", "label-delete-folder-warning": "Tutti i file nella cartella verranno eliminati.", "label-delete-folder": "Eliminazione cartella", "button-delete": "Elimina", "button-delete-do-not-ask-again": "Elimina e non chiedere più", "label-do-not-ask-again": "Non chiedere più", "label-existing-backlink": "Attualmente c'è {{count}} collegamento che punta a questa nota.", "label-existing-backlink_plural": "Attualmente ci sono {{count}} collegamenti che puntano a questa nota.", "label-delete-file": "Eliminazione file", "label-download-attachments": "Scarica allegati", "label-no-attachments": "Non ci sono allegati esterni in questa nota.", "label-downloaded-attachments": "Scaricato {{count}} allegato.", "label-downloaded-attachments_plural": "Scaricati {{count}} allegati.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Gestisci", "button-view": "Visualizza", "button-confirm": "Conferma", "button-cancel": "Annulla", "button-download": "Download", "button-done": "Fatto", "button-save": "Salva", "button-stop": "Ferma", "button-continue": "Continua", "button-choose": "Scegli", "button-retry": "Riprova", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Preparazione del PDF...", "label-rename-file": "Rinomina file", "label-rename-file-generic": "Nome file", "label-new-name": "Nuovo nome", "msg-rename-success": "File rinominato con successo.", "msg-merge-failed": "Unione note fallita: {{message}}", "msg-file-or-folder-not-found": "Il file o cartella “{{path}}” non esiste.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Rinomina intestazione", "label-rename-blockid": "Rinomina ID del blocco" }, "menu-items": { "new-file": "Crea nota", "new-file-to-the-right": "Nuova nota a destra", "new-window": "Nuova finestra", "open-switcher": "Apri selettore...", "open-vault": "Apri vault...", "close-tab": "Chiudi scheda", "close-window": "Chiudi finestra", "find": "Trova", "replace": "Sostituisci", "insert-callout": "Callout", "insert-markdown-link": "Collegamento Markdown", "insert-wikilink": "Collegamento", "set-heading": "Intestazione {{level}}", "no-heading": "Corpo", "insert-quote": "Citazione", "export-pdf": "Esporta PDF", "insert-attachment": "Inserisci allegato...", "insert-codeblock": "Blocco di codice", "insert-math-block": "Blocco Math", "insert-table": "Tabella", "insert-footnote": "Nota a piè di pagina", "toggle-bullet-list": "Elenco puntato", "toggle-numbered-list": "Elenco numerato", "toggle-checklist": "Elenco attività", "toggle-bold": "Grassetto", "toggle-code": "Codice", "toggle-comment": "Commento", "toggle-italics": "Corsivo", "toggle-inline-math": "Matematica", "toggle-highlight": "Evidenziato", "toggle-strikethrough": "Barrato", "toggle-comments": "Commenti", "folding-menu": "Comprimi/espandi", "fold-all": "Comprimi tutto", "unfold-all": "Espandi tutto", "fold-more": "Piega di più", "fold-less": "Piega di meno", "source-mode": "Codice sorgente", "reading-view": "Vista lettura", "show-debug-info": "Mostra informazioni di debug", "open-sandbox": "Apri vault Sandbox", "navigate-back": "Vai indietro", "navigate-forward": "Vai avanti", "toggle-left-sidebar": "Mostra/nascondi barra laterale sinistra", "toggle-right-sidebar": "Mostra/nascondi barra laterale destra", "toggle-ribbon": "Barra multifunzione", "split-right": "Dividi a destra", "split-down": "Dividi sotto", "release-notes": "Note di rilascio" }, "plugins": { "name": "Plugin", "file-explorer": { "name": "Esplora risorse", "desc": "Visualizza tutti i file nel tuo vault.", "action-open": "Apri Esplora risorse", "action-show": "Mostra Esplora risorse", "action-create-note": "Crea nuova nota", "action-create-folder": "Crea nuova cartella", "action-create-note-in-current-tab": "Crea nuova nota nella scheda attuale", "action-create-note-to-the-right": "Crea nota a destra", "action-auto-reveal": "Rivela automaticamente file attuale", "action-collapse-all": "Comprimi tutto", "action-expand-all": "Espandi tutto", "action-new-note": "Nuova nota", "action-new-folder": "Nuova cartella", "action-change-sort": "Ordinamento", "action-reveal-file": "Mostra in Esplora risorse", "action-reveal-active-file": "Mostra file attivo in Esplora risorse", "command-make-a-copy": "Crea una copia del file attuale", "command-make-a-copy-mac": "Duplica file attuale", "command-move-file": "Sposta file in un'altra cartella", "action-new-folder-with-count": "Nuova cartella con selezione ({{count}} elemento)", "action-new-folder-with-count_plural": "Nuova cartella con selezione ({{count}} elementi)", "action-move-file": "Sposta file in...", "action-move-folder": "Sposta cartella in...", "action-move-items": "Sposta {{count}} elementi in...", "prompt-type-folder": "Digita una cartella", "label-no-folders": "Nessuna cartella trovata.", "instruction-navigate": "seleziona", "instruction-move": "sposta", "instruction-create": "crea", "instruction-dismiss": "annulla", "label-sort-a-to-z": "Nome file (dalla A alla Z)", "label-sort-z-to-a": "Nome file (dalla Z alla A)", "label-sort-new-to-old": "Data di modifica (più recente)", "label-sort-old-to-new": "Data di modifica (meno recente)", "label-sort-created-old-to-new": "Data di creazione (meno recente)", "label-sort-created-new-to-old": "Data di creazione (più recente)", "menu-opt-new-note": "Nuova nota", "menu-opt-new-folder": "Nuova cartella", "menu-opt-rename": "Rinomina", "menu-opt-delete": "Elimina", "menu-opt-make-copy": "Crea una copia", "menu-opt-make-copy-mac": "Duplica", "msg-invalid-characters": "Il nome del file non può contenere i seguenti caratteri: ", "msg-unsafe-characters": "I collegamenti non funzioneranno se i nomi dei file contengono uno di questi caratteri: ", "msg-file-already-exists": "Esiste già un file con lo stesso nome", "msg-empty-file-name": "Il nome del file non può essere vuoto.", "msg-bad-dotfile": "Il nome del file non deve iniziare con un punto.", "tooltip-modified-time": "Ultima modifica il {{time}}", "tooltip-created-time": "Creato il {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Senza nome", "label-untitled-folder": "Senza nome", "msg-set-attachment-folder": "Gli allegati verranno salvati in \"{{path}}\"." }, "search": { "name": "Ricerca", "desc": "Cerca per parole chiave in tutte le note.", "action-open-search": "Cerca in tutti i file", "label-collapse-results": "Comprimi risultati", "label-match-case": "Maiuscole/minuscole", "label-explain-search-term": "Descrizione ricerca", "label-more-context": "Mostra più contesto", "label-result-count": "{{count}} risultato", "label-result-count_plural": "{{count}} risultati", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Impostazioni ricerca", "prompt-start-search": "Digita per iniziare la ricerca...", "label-match-text": "Corrispondenza testo: ", "label-match-regex": "Corrispondenza regex: ", "label-match-exact-text": "Contiene il testo esatto: ", "label-match-greater-than": "Maggiore di: ", "label-match-less-than": "Minore di: ", "label-match-true": "È vero", "label-match-false": "È falso", "label-match-empty": "È vuoto", "label-match-property": "Contiene le proprietà:", "label-match-all": "Corrispondenze a tutti: ", "label-match-any": "Corrispondenze a qualsiasi: ", "label-excluding": "Escluso: ", "label-case-sensitive": "Distinzione maiuscole/minuscole", "label-case-insensitive": "Senza distinzione maiuscole/minuscole", "label-match-file-path": "Corrispondenza percorso file: ", "label-match-file-name": "Corrispondenza nome file: ", "label-match-content": "Corrispondenza contenuto file: ", "label-match-task": "Corrispondenza attività: ", "label-match-task-todo": "Corrispondenza attività (da fare): ", "label-match-task-done": "Corrispondenza attività (fatto): ", "label-match-line": "Corrispondenza riga: ", "label-match-block": "Corrispondenza blocco: ", "label-match-section": "Corrispondenza sezione: ", "label-match-tag": "Corrispondenza etichetta: ", "label-no-matches": "Nessun risultato trovato.", "matches-with-count": "... e {{count}} altra corrispondenza.", "matches-with-count_plural": "... e altre {{count}} corrispondenze.", "label-copy-search-results": "Copia risultati della ricerca", "button-copy-results": "Copia risultati", "msg-successfully-copied": "Risultati copiati negli appunti.", "option-show-path": "Mostra percorso", "option-show-path-description": "Mostra il percorso completo del file al posto del nome.", "option-link-style": "Stile collegamento", "option-link-style-description": "Trasforma ogni risultato in un collegamento.", "option-choice-link-style-none": "Nessuno", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Collegamento Markdown", "option-list-prefix": "Prefisso elenco", "option-list-prefix-description": "Aggiunge un prefisso elenco a ogni risultato.", "option-choice-list-style-none": "Nessuno", "option-choice-list-style-dash": "Trattino (-)", "option-choice-list-style-asterisk": "Asterisco (*)", "option-choice-list-style-numbered": "Numerato", "tooltip-clear-search": "Cancella ricerca", "label-search-options": "Opzioni di ricerca", "label-properties-group": "Proprietà", "label-tags-group": "Etichetta", "tooltip-read-more": "Maggiori informazioni", "label-history": "Cronologia", "tooltip-clear-history": "Cancella cronologia", "label-path-option-description": "corrispondenze al percorso del file", "label-file-name-option-description": "corrispondenze al nome del file", "label-tag-option-description": "ricerca etichetta", "label-line-option-description": "ricerca parole nella stessa riga", "label-section-option-description": "ricerca parole nella stessa intestazione", "label-property-option-description": "corrisponde alla proprietà", "menu-opt-search-for": "Ricerca per \"{{keyword}}\"", "menu-opt-search-in-folder": "Ricerca nella cartella" }, "quick-switcher": { "name": "Selezione rapida", "desc": "Passa a un file senza lasciare la tastiera. Ctrl/Cmd+O per attivare.", "short-name": "Selezione", "action-open": "Apri selezione rapida", "instruction-navigate": "seleziona", "instruction-open": "apri", "instruction-open-in-new-tab": "per aprire in nuova scheda", "instruction-open-to-the-right": "per aprire a destra", "instruction-create": "crea", "instruction-dismiss": "annulla", "instruction-select": "seleziona", "label-no-note-create-new": "Nessuna nota trovata. Premere Invio per crearne una nuova.", "prompt-type-file-name": "Digita il file a cui passare o da creare...", "label-enter-to-create": "Premi Invio per creare", "tooltip-not-created-yet": "Non ancora creato, seleziona per crearlo", "option-show-existing-only": "Mostra solo esistenti", "option-show-existing-only-description": "Indica se mostrare collegamenti a file che non sono ancora stati creati.", "option-show-attachments": "Mostra allegati", "option-show-attachments-desc": "Mostra file allegati come immagini, video e PDF.", "option-show-all-file-types": "Mostra tutti i tipi di file", "option-show-all-file-types-desc": "Mostra tutti i file, compresi quelli che Obsidian non può aprire. Ogni file verrà aperto con l'app predefinita per quel tipo di file." }, "graph-view": { "name": "Vista grafo", "desc": "Visualizza una panoramica a grafo dei collegamenti tra le note.", "action-open": "Apri vista grafo", "action-open-local": "Apri grafo locale", "action-copy-screenshot": "Copia schermata", "tab-title": "Grafo di {{displayText}}", "label-filters": "Filtri", "prompt-filter-nodes": "Cerca file...", "option-depth": "Profondità", "option-depth-description": "Mostra i nodi distanti questo numero di collegamenti", "option-neighbor-links": "Collegamenti adiacenti", "option-neighbor-links-description": "Mostra i collegamenti adiacenti.", "option-forelinks": "Collegamenti in uscita", "option-forelinks-description": "Mostra i collegamenti verso altri file", "option-backlinks": "Collegamenti in entrata", "option-backlinks-description": "Mostra i collegamenti da altri file", "option-show-tags": "Etichetta", "option-show-tags-description": "Etichette che sono collegate ai file che le contengono", "option-show-attachments": "Allegati", "option-show-attachments-description": "Mostra gli allegati inclusi nei file", "option-show-existing-files-only": "Solo file esistenti", "option-show-existing-files-only-description": "Se attivato, i collegamenti a file inesistenti non vengono visualizzati", "option-show-orphans": "Orfani", "option-show-orphans-description": "Mostra file che non sono collegati a nessun altro file", "label-display": "Aspetto", "option-show-arrows": "Frecce", "option-show-arrows-description": "Mostra le frecce quando la visuale viene ingrandita", "option-text-fade": "Soglia dissolvenza testo", "option-node-size": "Dimensione nodo", "option-link-thickness": "Spessore linea", "label-forces": "Forze", "option-center-force": "Forza di centratura", "option-link-force": "Forza collegamenti", "option-link-distance": "Distanza collegamenti", "option-repel-force": "Forza di repulsione", "tooltip-open-graph-settings": "Apri impostazioni grafo", "msg-screenshot-copied": "Schermata copiata negli appunti.", "label-groups": "Gruppi", "placeholder-enter-query": "Inserisci query...", "tooltip-delete-graph": "Elimina gruppo", "button-new-group": "Nuovo gruppo", "tooltip-click-to-change-drag-to-reorder": "Fare clic per cambiare colore\nTrascinare per riordinare", "action-timelapse": "Avvia animazione timelapse", "tooltip-start-timelapse-animation": "Avvia animazione timelapse", "button-animate-timelapse": "Animazione" }, "backlinks": { "name": "Riferimenti", "desc": "Mostra il numero dei riferimenti sulla barra di stato.", "action-open": "Apri riferimenti", "action-show": "Mostra pannello riferimenti", "action-open-for-current": "Apri riferimenti per il file attuale", "action-toggle-backlinks-in-document": "Attiva/disattiva riferimenti nel documento", "menu-opt-backlinks-in-document": "Riferimenti nel documento", "label-linked-mentions": "Menzioni collegate", "label-no-backlinks": "Nessun riferimento.", "label-unlinked-mentions": "Menzioni scollegate", "label-show-search": "Mostra filtro di ricerca", "label-link-button-text": "Collegamento", "tab-title": "Riferimenti a {{displayText}}", "label-no-unlinked-mentions": "Nessuna menzione scollegata.", "ellipsis": "...", "option-backlink-in-document": "Riferimenti nel documento", "option-backlink-in-document-desc": "Mostra i riferimenti nel documento per impostazione predefinita quando si aprono nuovi pannelli." }, "outgoing-links": { "name": "Collegamenti in uscita", "desc": "Mostra collegamenti in uscita e rileva menzioni scollegate di altre note nella nota attuale.", "action-open": "Apri collegamenti in uscita", "action-show": "Mostra pannello Collegamenti in uscita", "action-open-for-current": "Apri collegamenti in uscita per il file attuale", "tab-title": "Collegamenti in uscita da {{displayText}}", "label-links": "Collegamenti", "label-no-links": "Nessun collegamento trovato.", "label-unlinked-mentions": "Menzioni scollegate", "tooltip-link-file": "Collega questo file", "tooltip-not-created": "Non ancora creato" }, "tag-pane": { "name": "Pannello delle etichette", "short-name": "Etichette", "desc": "Mostra tutte le etichette insieme al loro numero di occorrenze.", "action-show": "Mostra pannello etichette", "label-no-tags": "Nessuna etichetta trovata.", "label-sort-by-name-a-to-z": "Nome etichetta (dalla A alla Z)", "label-sort-by-name-z-to-a": "Nome etichetta (dalla Z alla A)", "label-sort-by-frequency-high-to-low": "Frequenza (decrescente)", "label-sort-by-frequency-low-to-high": "Frequenza (crescente)", "action-show-nested-tags": "Mostra etichette annidate", "action-collapse-all": "Comprimi tutto", "action-expand-all": "Espandi tutto" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Vista proprietà", "desc": "Mostra i metadati dei tuoi file.", "name-global": "Tutte le proprietà", "name-local": "Proprietà file", "tab-title": "Proprietà file per {{displayText}}", "action-show": "Mostra tutte le proprietà", "action-show-local": "Mostra le proprietà dei file", "opt-unassign-type": "Annulla assegnazione tipo", "label-no-properties": "Nessuna proprietà trovata.", "label-invalid-properties": "Proprietà non valide.", "label-sort-by-name-a-to-z": "Nome proprietà (dalla A alla Z)", "label-sort-by-name-z-to-a": "Nome proprietà (dalla Z alla A)", "label-sort-by-frequency-high-to-low": "Frequenza (decrescente)", "label-sort-by-frequency-low-to-high": "Frequenza (crescente)", "msg-merge-properties-warning": "Unire le proprietà “{{oldKey}}” e “{{newKey}}”?", "msg-merge-properties-warning-desc": "In caso di conflitti, i valori saranno uniti o sarà usato il valore di “{{oldKey}}”.", "action-collapse-all": "Comprimi tutto", "action-expand-all": "Espandi tutto", "action-open-local": "Apri proprietà del file", "action-open-daily-note": "Apri nota giornaliera" }, "page-preview": { "name": "Anteprima pagina", "desc": "Mostra l'anteprima di una nota quando si passa il mouse su un collegamento interno. Ctrl/Cmd + passa sopra con il mouse in modalità Modifica.", "label-empty-attachment": "“{{linktext}}” non trovato.", "label-empty-note": "La nota \"{{linktext}}\" non esiste ancora. Clicca per crearla.", "label-missing-footote": "La nota a piè di pagina {{id}} non esiste. Clicca per crearla.", "label-source-editor": "Modifica", "label-source-preview": "Anteprima", "label-source-search": "Ricerca, riferimenti e collegamenti in uscita", "label-source-tab-header": "Intestazione scheda", "label-require-mod": "Premere {{key}} per aprire l'anteprima al passaggio del mouse" }, "bookmarks": { "name": "Segnalibri", "desc": "Aggiunge ai Segnalibri file e ricerche utilizzate di frequente.", "action-show": "Mostra segnalibri", "action-collapse-all": "Comprimi tutto", "action-new-bookmark": "Aggiungi scheda attiva ai segnalibri...", "action-new-group": "Nuovo gruppo segnalibri", "action-bookmark": "Segnalibro...", "action-add-bookmark": "Aggiungi segnalibro", "action-edit-bookmark": "Modifica segnalibro", "action-bookmark-block": "Aggiungi blocco attuale ai segnalibri...", "action-bookmark-heading": "Aggiungi intestazione attuale ai segnalibri...", "action-bookmark-search": "Aggiungi ricerca attuale ai segnalibri...", "action-remove-bookmark": "Rimuovi segnalibro per il file attuale", "action-bookmark-tab-group": "Aggiungi {{count}} scheda ai segnalibri...", "action-bookmark-tab-group_plural": "Aggiungi {{count}} schede ai segnalibri...", "action-bookmark-all-tabs": "Aggiungi tutte le schede ai segnalibri...", "action-bookmark-graph": "Aggiungi grafo ai segnalibri...", "label-bookmark": "Segnalibro", "label-bookmarked": "Aggiunto come segnalibro", "label-bookmark-with-count": "{{count}} segnalibro", "label-bookmark-with-count_plural": "{{count}} segnalibri", "label-no-bookmarks": "Nessun segnalibro trovato", "label-invalid-data": "Impossibile caricare i segnalibri.", "label-invalid-data-desc": "Il file dei dati è danneggiato.", "label-untitled-group": "Gruppo senza titolo", "label-untitled-graph": "Grafo senza titolo", "menu-opt-edit": "Modifica...", "menu-opt-remove": "Rimuovi", "menu-opt-rename": "Rinomina", "menu-opt-bookmark-block": "Aggiungi blocco ai segnalibri...", "menu-opt-bookmark-heading": "Aggiungi questa intestazione ai segnalibri...", "msg-no-search-query": "Nessuna ricerca da aggiungere.", "option-path": "Percorso", "option-query": "Query", "option-u-r-l": "URL", "option-title": "Titolo", "option-group": "Gruppo segnalibri", "placeholder-bookmark-group": "Segnalibri" }, "custom-css": { "name": "CSS personalizzati", "desc": "Legge il file \"obsidian.css\" nel vault e lo applica.", "setting-community-themes": "Temi della comunità", "msg-fetching-themes": "Recupero temi della comunità in corso...", "prompt-filter": "Filtra...", "label-dark-theme-only": "Solo temi scuri", "label-light-theme-only": "Solo temi chiari", "label-use": "Applica", "label-stop-use": "Smetti di usare questo tema", "label-install-and-use": "Installa e attiva", "label-update": "Aggiorna", "label-no-readme": "Questo tema non ha fornito un file README.", "tooltip-remove-theme": "Rimuovi tema", "label-visit-on-github": "Vedi su GitHub", "msg-load-error": "Impossibile caricare i temi della comunità, controllare la connessione di rete.", "msg-now-using-theme": "{{title}} impostato come tema CSS.", "msg-deleted-theme": "Il tema {{title}} è stato eliminato.", "msg-updated-theme": "Il tema {{title}} è stato aggiornato.", "label-installed": "Installato", "label-legacy": "Legacy", "button-update-all-themes": "Aggiorna tutto", "msg-failed-load-themes": "Impossibile caricare i temi della comunità.", "msg-no-updates-found": "Nessun tema da aggiornare.", "msg-updates-found": "{{count}} tema da aggiornare.", "msg-updates-found_plural": "{{count}} temi da aggiornare.", "msg-failed-to-install-theme": "Impossibile installare il tema \"{{name}}\".", "msg-successfully-installed-theme": "Tema \"{{name}}\" installato con successo.", "msg-installing-theme": "Installazione del tema \"{{name}}\"...", "label-search-summary": "Visualizzazione di {{themeCount}}:", "label-update-available": "Aggiornamento disponibile" }, "command-palette": { "name": "Riquadro comandi", "desc": "Digita un comando per eseguirlo. Non è necessario usare l'interfaccia utente o ricordare le scorciatoie da tastiera.", "action-open": "Apri riquadro comandi", "instruction-navigate": "seleziona", "instruction-use": "esegui", "instruction-dismiss": "annulla", "label-no-commands": "Nessun comando trovato.", "prompt-type-command": "Digita un comando...", "label-pinned-commands": "Comandi in evidenza", "option-add-new-pin": "Nuovo comando in evidenza", "option-add-new-pin-description": "I comandi in evidenza verranno mostrati nella parte superiore del riquadro comandi quando non è presente una query di ricerca." }, "markdown-format-importer": { "name": "Strumento importazione Markdown", "desc": "Converte Markdown da altre app al formato di Obsidian.", "action-open": "Apri importazione Markdown", "option-roam-tag-fixer": "Conversione etichette di Roam Research", "option-roam-tag-fixer-description": "Converte \"#etichetta\" e \"#[[etichetta]]\" in \"[[etichetta]]\".", "option-roam-highlight-fixer": "Conversione evidenziazioni di Roam Research", "option-roam-highlight-fixer-description": "Converte \"^^highlight^^\" in \"==highlight==\".", "option-roam-todo-converter": "Conversione TODO di Roam Research", "option-roam-todo-converter-description": "Converte \"{{[[TODO]]}}\" in \"[ ]\".", "option-bear-highlight-fixer": "Conversione evidenziazioni di Bear", "option-bear-highlight-fixer-description": "Converte \"::highlight::\" in \"==highlight==\".", "zettelkasten-link-fixer": "Conversione collegamenti Zettelkasten", "zettelkasten-link-fixer-description": "Converte i collegamenti \"[[UID]]\" in \"[[UID File Name]]\".", "zettelkasten-link-beautifier": "Abbellimento collegamenti Zettelkasten", "zettelkasten-link-beautifier-description": "Converte i collegamenti \"[[UID]]\" e li abbellisce in \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Attenzione: lo strumento convertirà tutti i file nel vault, non solo il file attuale.", "msg-override-files-warning": "I file verranno sovrascritti. Eseguire il backup prima di avviare la conversione.", "label-start-conversion": "Avvia conversione", "label-stop": "Ferma", "label-go-back": "Indietro", "label-done": "Fatto", "label-processing": "Elaborazione in corso...", "label-cancelling": "Annullamento in corso...", "label-finished": "Operazione completata", "label-processed-files": "File processati", "label-modified-files": "File modificati", "label-total-replacements": "Sostituzioni totali", "label-failed": "Failed" }, "daily-notes": { "name": "Note del giorno", "desc": "Apre la nota del giorno o ne crea una se non è presente.", "short-name": "Oggi", "action-open": "Apri nota del giorno", "action-open-previous": "Apri nota del giorno precedente", "action-open-next": "Apri nota del giorno successiva", "action-insert-text": "Inserisci testo nella nota del giorno", "action-insert-link": "Inserisci collegamento nella nota del giorno", "msg-fail-format": "Impossibile creare la nota del giorno. \"{{format}}\" non è un formato valido.", "msg-fail-folder": "Impossibile creare la nota del giorno. Cartella \"{{folderOption}}\" non trovata.", "msg-fail-template-file": "Impossibile creare la nota del giorno. Modello \"{{template}}\" non trovato.", "msg-no-previous": "Nessuna nota del giorno prima di questa.", "msg-no-next": "Nessuna nota del giorno dopo di questa.", "option-date-format": "Formato data", "label-refer-to-syntax": "Per maggiori informazioni, vedere: ", "label-syntax-link": "formato di riferimento", "label-syntax-live-preview": "Apparirà così: ", "option-new-file-location": "Posizione dei nuovi file", "option-new-file-location-description": "Percorso della cartella per le nuove note del giorno.", "option-template": "Posizione file modello", "option-template-description": "Il percorso del file da usare come modello.", "option-open-on-start": "Apri nota del giorno all'avvio", "option-open-on-start-description": "Apre automaticamente la nota del giorno ogni volta che si apre questo vault." }, "unique-note-creator": { "name": "Note univoche", "desc": "Crea note con prefissi timestamp univoci, per flussi di lavoro tipo Zettelkasten.", "short-name": "Univoche", "action-create-note": "Nuova nota univoca", "action-add-link": "Aggiungi collegamento interno univoco", "option-new-file-location": "Posizione dei nuovi file", "option-new-file-location-description": "Percorso della cartella per le nuove note univoche.", "msg-folder-not-found": "Impossibile creare la nota univoca. Cartella \"{{folderOption}}\" non trovata.", "option-template-file": "Posizione file modello", "option-template-file-description": "Percorso del file da usare come modello.", "option-template-file-placeholder": "Esempio: cartella1/nota", "option-id-format": "Formato del prefisso univoco", "msg-template-file-not-found": "Impossibile creare la nota univoca. Modello \"{{template}}\" non trovato.", "msg-failed-to-generate": "Impossibile generare una nota univoca con il formato \"{{format}}" }, "random-note": { "name": "Note casuali", "desc": "Apre una nota casuale. Utile per riesaminare e ritrovare note.", "short-name": "Casuale", "action-open": "Apri nota casuale" }, "outline": { "name": "Struttura", "desc": "Visualizza la struttura del file attuale o del pannello collegato.", "action-open": "Apri struttura", "action-show": "Mostra pannello struttura", "action-open-for-current": "Apri struttura del file attuale", "tab-title": "Struttura di {{displayText}}", "label-no-headings": "Nessuna intestazione trovata.", "label-follow-cursor": "Scorri automaticamente alla sezione corrente" }, "word-count": { "name": "Conteggio parole", "desc": "Visualizza il numero delle parole nella barra di stato." }, "slides": { "name": "Diapositive", "desc": "Presentazioni da Markdown. Usare \"---\" per separare le diapositive.", "action-start": "Avvia presentazione" }, "audio-recorder": { "name": "Registratore audio", "desc": "Registra audio e lo salva come allegato.", "action-start": "Avvia registrazione audio", "action-stop": "Ferma registrazione audio", "action-toggle": "Avvia/ferma registrazione", "msg-access-denied": "L'accesso al microfono è stato negato, abilitarlo dal pannello preferenze.", "msg-pending-grant": "Concedere l'autorizzazione al microfono per avviare la registrazione.", "msg-no-microphone": "Nessun microfono collegato." }, "open-with-default-app": { "name": "Apri con app predefinita", "desc": "Aggiunge un pulsante per aprire il file attuale con l'app predefinita.", "action-open-file": "Apri con app predefinita", "action-open-file-mobile": "Condivisione", "action-show-in-folder": "Mostra nella cartella", "action-show-in-folder-mac": "Mostra in Finder" }, "templates": { "name": "Modelli", "desc": "Inserisci modello da una cartella di file modello.", "action-insert": "Inserisci modello", "action-insert-current-date": "Inserisci data attuale", "action-insert-current-time": "Inserisci ora attuale", "option-template-folder-location": "Posizione cartella dei modelli", "option-template-folder-location-description": "I file in questa cartella saranno disponibili come modelli.", "option-template-date-format": "Formato data", "option-template-date-format-description": "Nel modello, {{date}} verrà sostituito con questo valore.", "option-template-date-format-description2": "È possibile usare {{date:YYYY-MM-DD}} per sovrascrivere il formato.", "option-template-time-format": "Formato ora", "option-template-time-format-description": "Nel modello, {{time}} verrà sostituito con questo valore.", "option-template-time-format-description2": "È possibile usare {{time:HH:mm}} per sovrascrivere il formato.", "instruction-navigate": "seleziona", "instruction-insert": "inserisci modello", "instruction-dismiss": "annulla", "msg-no-templates-found": "Nessun modello trovato", "msg-fail-invalid-folder": "Impossibile visualizzare i modelli. Cartella dei modelli non valida.", "msg-fail-folder-not-found": "Impossibile visualizzare i modelli. Cartella \"{{folderOption}}\" non trovata.", "msg-fail-invalid-template-properties": "Inserimento del template fallito, non è stato possibile leggere le proprietà nel file del template.", "msg-no-folder-set": "Impossibile visualizzare i modelli. Nessuna cartella dei modelli configurata.", "prompt-type-template": "Digita nome modello..." }, "translucency": { "name": "Finestra Traslucida", "desc": "Attiva l'effetto di traslucenza per aumentare il senso di profondità. Rende meglio in modalità scura. Non supportato su Linux." }, "slash-command": { "name": "Comandi Slash", "desc": "Abilita la possibilità di inviare comandi slash nell'editor digitando la 'barra avanti'." }, "editor-status": { "name": "Stato dell'editor", "desc": "Aggiunge un elemento alla barra di stato per visualizzare e modificare la modalità attuale dell'editor.", "read": "Lettura", "edit-source": "Codice sorgente", "edit-live-preview": "Anteprima dinamica" }, "publish": { "name": "Publish", "desc": "Pubblica i tuoi appunti con Obsidian Publish.", "action-publish-changes": "Pubblica modifiche", "action-publish-file": "Pubblica file attuale", "label-no-internet-access": "È necessario accedere a Internet per pubblicare le modifiche.", "label-publish-service-description": "Obsidian Publish è un servizio aggiuntivo a pagamento che consente di pubblicare appunti online direttamente da Obsidian.", "label-please-login": "Per iniziare a pubblicare, effettuare il login o creare un nuovo account Obsidian.", "label-no-publish-subscription": "Non sei ancora abbonato a Obsidian Publish.", "button-purchase": "Acquista", "label-manage-sites": "Gestione siti", "label-no-sites": "Non sono presenti siti.", "button-choose": "Scegli", "tooltip-edit-site-id": "Modifica l'ID del sito", "tooltip-delete-site": "Elimina sito", "label-delete-site-confirmation": "Eliminare questo sito?", "label-delete-site-details": "Il sito verrà cancellato immediatamente e in modo permanente.", "label-confirm-delete-site": "Conferma eliminazione sito \"{{site}}\"", "option-site-id": "ID sito", "option-site-id-description": "Il sito sarà pubblicato su https://publish.obsidian.md/{site id}. È possibile modificarlo in seguito. Sono consentite solo lettere minuscole, numeri e trattini.", "option-site-id-placeholder": "ID del sito", "button-create": "Crea", "msg-invalid-site-id": "L'ID del sito può contenere solo lettere minuscole, numeri e trattini.", "msg-site-id-in-use": "Questo ID è già in uso, riprovare con un altro.", "msg-create-site-issue": "C'è stato un problema durante la creazione del sito.", "label-site-options": "Opzioni sito", "option-site-general": "Generale", "option-site-components": "Componenti", "option-site-appearance": "Aspetto", "option-site-reading-experience": "Esperienza di lettura", "option-site-misc": "Altre impostazioni", "option-site-name": "Nome sito", "option-site-name-description": "Nome del sito pubblicato. Apparirà nel titolo della pagina del sito.", "option-site-name-placeholder": "Nome del sito", "option-home-page-file": "File homepage", "option-home-page-file-description": "La prima pagina che l'utente vede quando accede al sito pubblicato", "option-home-page-file-placeholder": "Scegli un file pubblicato", "option-logo": "Logo", "option-logo-description": "Scegli un file immagine come logo del sito.", "option-logo-placeholder": "Qualsiasi immagine caricata nel vault...", "option-site-collaboration": "Collaboratori sito", "option-site-collaboration-desc": "Gestisci i collaboratori per questo sito.", "option-customize-navigation": "Personalizza navigazione", "option-customize-navigation-desc": "Sostituisci l'ordine degli elementi di navigazione e nascondi le pagine o le cartelle dalla visualizzazione.", "option-navigation-order": "Ordine degli elementi di navigazione", "option-hide-items-in-navigation": "Nascondi pagine o cartelle dalla navigazione", "option-hide-items-in-navigation-desc": "Fai clic con il tasto destro e seleziona \"Nascondi\" per impedire la visualizzazione di pagine specifiche nella navigazione del sito. Le pagine saranno comunque accessibili dai link o accedendo direttamente all'URL.", "option-show-hidden-items": "Mostra nascosti", "button-customize-sidebar": "Gestione", "label-navigation-modal-title": "Navigazione", "label-navigation-modal-desc": "Trascina e rilascia per personalizzare l'ordine di visualizzazione degli elementi di navigazione sul sito Publish.", "option-hide-in-navigation": "Nascondi nella navigazione", "button-manage-collaborators": "Gestisci", "option-theme": "Tema", "option-theme-description": "Scegli la combinazione di colori predefinita per il sito.", "option-theme-system": "Adatta al sistema", "option-show-theme-toggle": "Selettore chiaro/scuro", "option-show-theme-toggle-description": "Consente al visitatore di scegliere autonomamente il tema chiaro o quello scuro.", "option-show-navigation": "Mostra navigazione", "option-show-navigation-description": "Visualizza un elenco di tutte le pagine pubblicate sul lato sinistro del sito.", "option-show-search": "Mostra barra di ricerca", "option-show-search-description": "Mostra una barra di ricerca nella parte superiore della navigazione che consente ai visitatori di cercare pagine e titoli nel sito.", "option-show-graph": "Mostra grafo", "option-show-graph-description": "Visualizza un piccolo grafo locale su ogni pagina.", "option-show-outline": "Mostra indice", "option-show-outline-description": "Visualizza la struttura dei titoli su ogni pagina.", "option-show-backlinks": "Mostra riferimenti", "option-show-backlinks-description": "Mostra la sezione dei riferimenti alla fine di ogni pagina.", "option-sliding-window-mode": "Usa finestre scorrevoli", "option-sliding-window-mode-description": "Apre le pagine in nuovi riquadri a destra. Consente lo scorrimento orizzontale tra i riquadri.", "option-hover-preview-file": "Mostra anteprima al passaggio del mouse", "option-hover-preview-file-description": "Visualizza l'anteprima della pagina quando si passa il mouse sui link.", "option-hide-title": "Nascondi titolo della pagina", "option-hide-title-description": "Nascondi l'intestazione del titolo della pagina. Utile se le intestazioni sono già presenti all'inizio di ogni pagina.", "option-readable-line-length": "Migliora leggibilità delle righe", "option-readable-line-length-description": "Limita la lunghezza massima delle righe. Mostra meno contenuti sullo schermo ma rende i paragrafi lunghi più leggibili.", "option-site-password": "Password", "option-site-password-description": "Limita l'accesso al sito con password.", "option-google-analytics": "Codice di monitoraggio Google Analytics", "option-google-analytics-description": "Configura Google Analytics per il sito. Disponibile solo per i visitatori del dominio personalizzato. Controllare la compatibilità con leggi e regolamenti locali.", "button-manage-passwords": "Gestisci", "button-save-site-settings": "Salva opzioni sito", "msg-updated-options": "Le impostazioni del sito sono state aggiornate.", "button-go-back": "Indietro", "label-publishing-to": "Pubblicazione su", "tooltip-switch-site": "Cambia sito", "button-add-linked": "Aggiungi collegamenti", "tooltip-add-linked": "Aggiungi tutti i file collegati dagli elementi attualmente selezionati", "msg-added-linked-files": "{{count}} file collegato è stato aggiunto.", "msg-added-linked-files_plural": "{{count}} file collegati sono stati aggiunti.", "tooltip-open-site-options": "Modifica le opzioni del sito", "label-no-changes-detected": "Non sono state rilevate modifiche.", "label-changed-files-to-be-published": "Modifiche", "label-unchanged-files-already-published": "Invariato (seleziona per eliminare)", "label-file-selected": " selezionato", "button-select-all-files": "Seleziona tutto", "label-custom-navigation-title": "Elementi di navigazione", "button-deselect-all-files": "Deseleziona tutto", "label-new-files-to-be-published": "Nuovo", "button-publish": "Pubblica", "msg-no-permission-to-publish-to-site": "Non si dispone delle autorizzazioni per pubblicare nel sito attuale.", "msg-select-at-least-one-file": "Selezionare almeno un file.", "label-upload-changes": "Carica le modifiche", "button-done": "Fatto", "button-stop": "Ferma", "label-status-uploading": "Caricamento in corso", "label-status-to-publish": "Da pubblicare", "label-status-to-delete": "Da eliminare", "label-status-published": "Pubblicato", "label-status-deleted": "Eliminato", "label-status-failed": "Non riuscito", "label-status-cancelled": "Annullato", "button-change": "Modifica", "label-clear-cache": "Sono necessari alcuni minuti prima che le modifiche vengano visualizzate sul sito. Se le modifiche non vengono visualizzate, provare a svuotare la cache del browser.", "label-visit-site": "Visita il sito qui: ", "msg-something-went-wrong": "Si è verificato un errore. Per informazioni dettagliate controllare la console sviluppatori.", "msg-network-error": "Si è verificato un errore di rete. ", "label-manage-passwords": "Gestione password", "label-add-password": "Aggiungi password", "action-new-password": "Nuova password", "label-no-password": "Non sono presenti password per il sito. Chiunque può visitarlo.", "label-have-password": "Il sito è protetto da password. Quando sono presenti più password, i visitatori possono accedere usandone una qualsiasi.", "option-password-name": "Password", "option-password-desc": "Un hash della password verrà archiviato in modo sicuro. Una volta impostata, la password non potrà essere rivelata in chiaro.", "option-password-placeholder": "Password", "option-nickname-name": "Alias (opzionale)", "option-nickname-desc": "Impostare un alias per ricordare per cosa o per chi è destinata la password.", "action-add-password": "Aggiungi questa password", "label-untitled-password": "Password senza titolo", "label-password-created-time": "Creata il {{time}}", "msg-added-new-password": "Nuova password aggiunta.", "option-custom-domain": "Dominio personalizzato", "option-custom-domain-desc": "Usa un dominio personale anziché l'URL https://publish.obsidian.md/{site id}.", "option-noindex": "Non consentire l'indicizzazione nei motore di ricerca", "option-noindex-desc": "Impedisce ai motori di ricerca di indicizzare il sito.", "button-configure": "Configura", "label-configure-custom-domain": "Configura dominio personalizzato", "option-custom-url-name": "URL personalizzato", "option-custom-url-desc": "Indirizzo in cui si trova il sito.", "option-custom-url-placeholder": "www.tuosito.com", "option-custom-url-redirect": "Reindirizza a dominio personalizzato", "option-custom-url-redirect-desc": "Reindirizza i visitatori da publish.obsidian.md/id verso il dominio personalizzato.", "button-update-custom-domain": "Aggiorna impostazioni dominio", "label-custom-domain-instructions": "Per maggiori informazioni vedere la {{link}} sul nostro sito di aiuto.", "label-custom-domain-link-name": "guida alla configurazione del dominio personalizzato", "label-site-usage": "Stai utilizzando {{site}} su {{limit}}.", "button-add-more-sites": "Acquista altri siti", "label-no-sites-bought": "Non hai acquistato alcun sito.", "button-get-site": "Ottieni un sito", "label-manage-sharing": "Gestisci condivisione per \"{{name}}\"", "label-sharing-with-users": "Questo sito è attualmente condiviso con le seguenti persone.", "label-not-sharing": "Questo sito non è attualmente condiviso con nessuno.", "label-invite-pending": "In attesa", "tooltip-remove-user": "Rimuovi utente", "option-invite-user": "Invita utente", "placeholder-invite-user": "Inserisci la sua email...", "error-email-must-be-valid": "Per invitare qualcuno è necessario inserire un'email valida.", "msg-enable-publish-plugin": "Per visualizzare i siti, abilitare il plugin Publish in Impostazioni -> Plugin principali.", "label-your-sites": "I tuoi siti", "label-sites-shared-with-you": "Siti condivisi con te", "tooltip-leave-site-sharing": "Smetti di collaborare a questo sito", "label-leave-site-confirmation": "Conferma interruzione della collaborazione", "label-leave-site-confirmation-details": "Rimuovere il sito dall'elenco dei siti condivisi con te? Questa azione non può essere annullata.", "label-leave-site-confirmation-details-2": "Contattare il proprietario se si desidera collaborare nuovamente a questo sito.", "button-leave": "Abbandona", "label-compare-with-live": "Confronta con la versione live", "button-use-live-version": "Usa versione live", "label-confirm-override": "Conferma sovrascrittura della versione locale", "label-confirm-override-1": "Sovrascrivere la versione locale?", "label-confirm-override-2": "Verrà utilizzata la versione live e la versione locale verrà eliminata. Eseguire un backup se necessario.", "button-proceed": "Conferma", "message-successfully-used-live-version": "La versione locale è stata rimpiazzata con successo dalla versione live.", "label-open-in-live-site": "Apri nel sito live", "label-open-file": "Apri file", "tooltip-manage-publish-filters": "Gestisci filtri di pubblicazione", "option-included-folders": "Cartelle incluse", "option-included-folders-desc": "I file in queste cartelle verranno automaticamente selezionati durante la revisione delle modifiche da pubblicare.", "option-currently-included-folders": " Queste cartelle sono attualmente incluse:", "option-excluded-folders": "Cartelle escluse", "option-excluded-folders-desc": "I file in queste cartelle non verranno visualizzati durante la revisione delle modifiche da pubblicare. Questa impostazione ha la priorità sulle cartelle incluse.", "label-number-of-folders-included": "Obsidian Publish sta includendo {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish sta escludendo {{folders}}.", "label-manage-included-folders": "Gestisci cartelle incluse", "label-manage-excluded-folders": "Gestisci cartelle escluse", "label-add-included-folder": "Includi una cartella", "label-add-included-folder-desc": "Possono essere incluse sia cartelle già esistenti che cartelle non ancora create.", "tooltip-contact-support": "Contatta il supporto", "label-navigation-preview": "Anteprima navigazione" }, "workspaces": { "name": "Aree di lavoro", "desc": "Salva e carica il layout dell'area di lavoro.", "action-load-layout": "Carica layout dell'area di lavoro", "action-manage-layouts": "Gestisci layout delle aree di lavoro", "action-save": "Salva layout", "action-save-and-load-layout": "Salva e carica un altro layout", "placeholder-save-current-layout-as": "Salva layout dell'area di lavoro attuale come...", "button-save": "Salva", "button-load": "Carica", "tooltip-delete-layout": "Cancella layout", "msg-enter-name": "Inserire un nome per il nuovo layout.", "msg-save-layout-success": "Layout salvato con successo.", "label-no-layout-found": "Nessun layout salvato trovato.", "label-workspace-modified-time": "Modificato il {{time}}", "placeholder-type-to-search-layouts": "Digita nome del layout..." }, "sync": { "name": "Sync", "desc": "Sincronizza i file con Obsidian Sync.", "action-view-version-history": "Visualizza cronologia delle versioni", "action-setup-sync": "Configura Sync", "menu-opt-view-version-history": "Apri cronologia delle versioni", "action-view-sync-sidebar": "Visualizza cronologia Sync", "action-activity-log": "Apri registro attività", "label-load-more": "Carica altro", "label-show-diff": "Mostra differenze", "label-copy-to-clipboard": "Copia negli Appunti", "label-restore-this-version": "Ripristina questa versione", "msg-already-latest-version": "Questa versione è già la più recente.", "msg-restored-version": "Versione {{time}} ripristinata con successo", "label-file-deleted": "Questo file è stato eliminato", "label-file-deleted-via": "Eliminato da {{ device }}", "label-file-renamed-from": "Il file è stato rinominato da \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revisione", "label-revision_plural": "{{revisions}} revisioni", "label-via-device": "da {{device}}", "label-no-history": "Nessuno storico per questo file.", "label-empty-file": "Vuoto", "label-unable-to-retrieve": "Impossibile recuperare storico versioni", "label-setting-files": "Impostazione file", "label-deleted-files": "File eliminati", "label-version-history": "Cronologia versioni", "label-click-to-see-history": "Fare clic su un file eliminato per vedere la sua cronologia.", "label-create-remote-vault": "Crea vault remoto", "msg-please-enter-password": "Immettere una password.", "msg-vault-name-cannot-be-empty": "Il nome del vault non può essere vuoto.", "msg-successfully-created-vault": "Vault remoto \"{{name}}\" creato con successo.", "label-remote-vault-explanation": "I vault remoti permettono di sincronizzare in modo sicuro un vault tra dispositivi.", "option-vault-name": "Nome vault", "option-vault-name-desc": "Consente di ricordare a cosa serve questo vault.", "option-vault-region": "Regione", "opt-vault-region-automatic": "Automatica", "option-vault-region-desc": "Seleziona la regione del server più vicina a te in cui salvare il vault remoto. Questa scelta non potrà essere modificata in futuro.", "option-vault-name-placeholder": "Il mio vault", "option-encryption": "Crittografia", "option-encryption-desc": "La crittografia end-to-end offre la massima sicurezza ma richiede di conservare in modo sicuro una password di crittografia. La crittografia standard utilizza una chiave gestita da Obsidian per proteggere i dati durante il trasferimento e sui nostri server.", "option-encryption-warning": "Questa opzione non può essere modificata in seguito.", "option-encryption-end-to-end": "Crittografia end-to-end", "option-encryption-standard": "Crittografia standard", "option-encryption-password": "Password di crittografia", "option-encryption-password-desc": "Non sarà possibile modificarla in seguito.", "option-encryption-password-desc-warning": "Se dimentichi la password, i tuoi dati remoti saranno inutilizzabili per sempre.", "option-encryption-password-desc-2": "Ciò non influisce sui dati locali.", "label-encryption-password-explanation": "Il vault remoto “{{name}}” è criptato. Inserisci la password per sbloccarlo.", "option-encryption-password-placeholder": "La tua password", "label-unlock-encrypted-vault": "Sblocca vault remoto", "button-unlock-vault": "Sblocca vault", "label-remote-vaults": "Vault remoti", "label-vault-created-time": "Creato il {{time}}", "tooltip-delete-remote-vault": "Elimina", "tooltip-rename-remote-vault": "Rinomina", "label-rename-remote-vault": "Rinomina vault remoto \"{{name}}\"", "label-rename-remote-vault-desc": "Inserisci un nuovo nome per il vault remoto.", "tooltip-manage-sharing": "Gestisci condivisione", "label-confirm-delete-remote-vault": "Conferma eliminazione vault", "label-confirm-delete-remote-vault-question": "Eliminare questo vault remoto?", "label-confirm-delete-remote-vault-result": "Tutti i dati sul server, inclusa la cronologia delle versioni, verranno eliminati. I file locali rimarranno intatti.", "label-confirm-delete-remote-vault-warning": "Questa azione è definitiva e irreversibile.", "msg-remote-vault-deleted": "{{name}} è stato eliminato.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: il vault remoto connesso non esiste più.", "button-connect-to-remote-vault": "Connetti", "button-disconnect-from-remote-vault": "Disconnetti", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "Non sono presenti vault remoti.", "label-no-subscription": "Non hai una sottoscrizione attiva ad Obsidian Sync.", "label-please-visit": "Per favore visita", "label-preview-unsupported-file-type": "Impossibile visualizzare l'anteprima dei file {{type}}.", "button-create-new-remote-vault": "Crea nuovo vault", "label-sync-log": "Registro di Sync", "option-event-type-all": "Tutti", "option-event-type-errors": "Errori", "option-event-type-skipped": "Saltati", "option-event-type-merge-conflicts": "Unisci conflitti", "button-copy-sync-log": "Copia registro di Sync", "msg-successfully-copied-sync-log": "Registro di Sync copiato con successo.", "button-retry": "Riprova", "button-purchase-subscription": "Acquista", "label-third-party-sync-warning": "Conflitto nel servizio di sincronizzazione file", "label-third-party-sync-warning-desc": "Avviso: sembra che il vault stia utilizzando {{service}} come servizio di sincronizzazione di terze parti. Utilizzare Obsidian Sync con questo vault potrebbe causare conflitti, file danneggiati o perdite di dati.", "label-icloud-drive-warning": "Se stai utilizzando iCloud Drive, le cartelle Documenti e Scrivania potrebbero essere sincronizzate con iCloud. Ciò potrebbe causare conflitti con Obsidian Sync.", "option-remote-vault": "Vault remoto", "button-choose-remote-vault": "Scegli", "button-manage-remote-vault": "Gestisci", "option-remote-vault-desc-connected": "Attualmente collegato al vault remoto \"{{name}}\".", "option-remote-vault-desc-not-connected": "Attualmente non connesso ad alcun vault remoto.", "option-sync-status": "Stato di Sync", "option-sync-status-desc-paused": "Obsidian Sync è in pausa.", "option-sync-status-desc-running": "Obsidian Sync è in esecuzione.", "option-device-name": "Nome dispositivo", "option-device-name-desc": "Il nome verrà visualizzato nel registro di sincronizzazione. Lasciare vuoto per utilizzare il nome predefinito.", "button-resume": "Riprendi", "button-pause": "Pausa", "option-view-deleted-files": "File eliminati", "option-view-deleted-files-desc": "Visualizza e ripristina i file eliminati.", "option-sync-log": "Attività di Sync", "option-sync-log-desc": "Mostra le attività recenti di Sync per il debug.", "button-view": "Mostra", "button-bulk-restore": "Ripristino di massa", "button-restore-files_zero": "Ripristina file", "button-restore-files": "Ripristina {{count}} file", "button-restore-files_plural": "Ripristina {{count}} file", "msg-restoring": "Ripristino in corso...", "msg-restoring-complete": "`Ripristino completato: {{succeeded}} con successo e {{failed}} falliti.`", "option-vault-size": "Dimensione vault", "option-vault-size-desc": "Il vault occupa {{size}} su {{limit}}", "option-vault-size-unknown": "Impossibile recuperare le dimensioni del vault.", "option-vault-size-loading": "Recupero delle dimensioni del vault in corso...", "option-over-size": "Limite di spazio del vault superato", "option-almost-over-size": "Lo spazio del vault sta per esaurirsi", "msg-largest-files": "Mostra i file più grandi", "msg-largest-files-desc": "Questi sono i file remoti che occupano più spazio. Elimina gli allegati e usa il tasto Ripulisci per liberare spazio nel vault remoto.", "button-upgrade-storage": "Aumenta spazio di archiviazione", "button-purge-remote": "Ripulisci", "button-hide-my-changes": "Nascondi le mie modifiche", "tooltip-purge-remote": "Elimina definitivamente gli allegati rimossi dal vault remoto per risparmiare spazio.", "msg-purge-complete": "Pulizia completata.", "option-prevent-sleep": "Impedisci sospensione del dispositivo", "option-prevent-sleep-desc": "Blocca la sospensione del dispositivo quando sono ancora presenti file da sincronizzare.", "option-selective-sync": "Sincronizzazione selettiva", "option-excluded-folders": "Cartelle escluse", "option-excluded-folder-desc": "Impedisce la sincronizzazione di determinate cartelle.", "option-currently-excluded-folders": " Queste cartelle attualmente escluse:", "button-manage-excluded-folders": "Gestisci", "option-sync-image": "Sincronizza immagini", "option-sync-image-desc": "Sincronizza le immagini con queste estensioni: {{extensions}}.", "option-sync-audio": "Sincronizza audio", "option-sync-audio-desc": "Sincronizza file audio con queste estensioni: {{extensions}}.", "option-sync-video": "Sincronizza video", "option-sync-video-desc": "Sincronizza file video con queste estensioni: {{extensions}}.", "option-sync-pdf": "Sincronizza PDF", "option-sync-pdf-desc": "Sincronizza i file PDF.", "option-sync-unsupported": "Sincronizza tutti gli altri tipi", "option-sync-unsupported-desc": "Sincronizza tipi di file non supportati.", "option-vault-config-sync": "Configurazione sincronizzazione del vault", "option-view-config-files": "Impostazioni cronologia delle versioni", "option-view-config-files-desc": "Visualizza e ripristina la cronologia delle versioni dei file d'impostazione.", "option-sync-app": "Impostazioni principali", "option-sync-app-desc": "Sincronizza le impostazioni di editor, file e collegamenti, tasti di scelta rapida, etc.", "option-sync-appearance": "Impostazioni aspetto", "option-sync-appearance-desc": "Sincronizza le impostazioni relative all'aspetto come tema Scuro, tema attivo e snippet attivi.", "option-sync-appearance-data": "Temi e snippet", "option-sync-appearance-data-desc": "Sincronizzazione temi e snippet. La loro abilitazione dipende dall'impostazione precedente.", "option-sync-hotkey": "Tasti di scelta rapida", "option-sync-hotkey-desc": "Sincronizza tasti di scelta rapida personalizzati.", "option-sync-core-plugin": "Lista plugin principali attivi", "option-sync-core-plugin-desc": "Sincronizza i plugin principali che sono stati attivati.", "option-sync-core-plugin-data": "Impostazioni plugin principali", "option-sync-core-plugin-data-desc": "Sincronizza le impostazioni dei plugin principali.", "option-sync-community-plugin": "Lista plugin della comunità attivi", "option-sync-community-plugin-desc": "Sincronizza i plugin della comunità che sono stati attivati.", "option-sync-community-plugin-data": "Plugin della comunità installati", "option-sync-community-plugin-data-desc": "Sincronizza i plugin della comunità installati (file .js, .css e manifest.json) e le loro impostazioni.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync è un servizio aggiuntivo di Obsidian con crittografia end-to-end e cronologia delle versioni.", "label-account-required": "Per iniziare a sincronizzare, effettuare il login o creare un nuovo account Obsidian.", "label-current-file": "File attuale", "label-sync-changes": "Sincronizza modifiche", "label-today": "Oggi", "label-yesterday": "Ieri", "label-this-week": "Questa settimana", "label-older": "Più vecchio", "label-last-sync": "Ultima sincronizzazione", "label-more": "Altri {{count}}", "button-sign-up": "Iscriviti", "button-log-in": "Accesso", "label-manage-excluded-folders": "Gestisci cartelle escluse", "label-number-of-folders-excluded": "{{folders}} sono escluse dalla sincronizzazione.", "label-add-excluded-folder": "Escludi una cartella", "label-add-excluded-folder-desc": "È possibile escludere sia le cartelle già esistenti che quelle non ancora create.", "tooltip-remove-excluded-folder": "Rimuovi dall'elenco di esclusione", "label-setup-connection": "Configura connessione", "label-connecting-to-vault": "Connessione in corso...", "label-connection-failed": "Connessione fallita", "label-connection-failed-desc": "Connessione al vault remoto non riuscita.", "label-now-connected-to-vault": "Sei connesso a \"{{name}}\".", "button-start-syncing": "Avvia sincronizzazione", "label-confirm-merge-vault": "Conferma unione dei vault", "msg-vault-has-notes": "Il vault locale contiene già alcune note.", "msg-vault-merge-warning": "Connettendosi al vault remoto \"{{name}}\", le note nel vault locale verranno unite alle note del vault remoto. In caso di conflitti, verrà conservata la versione più recente della nota.", "tooltip-update-setting-on-all-devices": "Aggiorna questa opzione e riavvia l'app su tutti i dispositivi su cui desideri che abbia effetto.", "label-sharing-with-users": "Questo vault remoto è attualmente condiviso con le seguenti persone.", "label-not-sharing": "Questo vault remoto non è attualmente condiviso con nessuno.", "label-vaults-shared-with-you": "Vault condivisi con te", "tooltip-leave-vault-sharing": "Smetti di collaborare a questo vault", "label-leave-vault-confirmation": "Conferma fine della collaborazione con il vault", "label-leave-vault-confirmation-details": "Rimuovere il vault dall'elenco dei vault condivisi con te? Questa azione non può essere annullata.", "label-leave-vault-confirmation-details-2": "Contattare il proprietario se si desidera collaborare nuovamente a questo vault.", "button-leave": "Abbandona", "msg-error-failed-to-fetch": "Impossibile caricare i vault remoti.", "label-require-subscription-to-connect": "È necessario un abbonamento a Obsidian Sync per connettersi a questo vault.", "option-contact-support": "Contatta il supporto", "option-contact-support-desc": "Se stai riscontrando problemi con Obsidian Sync, contattaci per un aiuto! Puoi raggiungerci a support@obsidian.md.", "button-copy-debug": "Copia informazioni di debug", "button-email-support": "Email di supporto", "label-sync-disconnected": "Sync non è connesso a un vault remoto.", "msg-remote-vault-limit-hit": "Obsidian Sync consente di creare fino a 5 vault remoti. Per creare un nuovo vault devi prima rimuoverne uno esistente.", "label-upgrade-vault": "Aggiorna vault", "label-upgrade-vault-encryption": "Aggiorna crittografia vault", "label-upgrade-vault-encryption-desc": "È disponibile una nuova versione di crittografia per i vault remoti.", "label-migrate-remote-vault": "Migra vault remoto", "label-remote-vault-configuration": "Configurazione vault remoto", "button-migrate": "Migra", "msg-recreate-remote-vault": "Questo eliminerà il tuo vault remoto e lo ricreerà con la crittografia più recente. I file locali non subiranno modifiche, tuttavia la cronologia delle versioni andrà persa.", "label-confirm-migrate": "Conferma migrazione vault", "msg-migrate-pre-confirmation-part1": "Per aggiornare la crittografia, tutti i dati nel vault verranno ricaricati sui server di Obsidian Sync utilizzando il nuovo metodo crittografico. Questo processo eliminerà tutti i dati crittografati con il vecchio sistema, inclusa la cronologia delle versioni del vault.", "msg-migrate-pre-confirmation-part2": "Importante: è vivamente consigliato creare un backup del vault prima di procedere, per evitare eventuali perdite di dati.", "msg-migrate-pre-confirmation-part3": "Dopo aver completato l'aggiornamento, dovrai riconnettere tutti i dispositivi al vault remoto aggiornato.", "msg-migrate-confirmation": "La migrazione del vault potrebbe richiedere del tempo. Dovrai mantenere Obsidian attivo su questo dispositivo per ricaricare tutte le note e gli allegati. È consigliabile eseguire questa operazione sul dispositivo principale.", "msg-migrate-confirmation-size": "Hai {{size}} di dati. La migrazione del vault potrebbe richiedere del tempo. Dovrai mantenere Obsidian attivo su questo dispositivo per ricaricare tutte le note e gli allegati. È consigliabile eseguire questa operazione sul dispositivo principale.", "msg-proceed-prompt": "Vuoi procedere?", "msg-vault-migration-started": "Migrazione del vault in corso." }, "file-recovery": { "name": "Recupero file", "desc": "Consente di ripristinare istantanee recenti per recuperare una perdita di dati accidentale. Le istantanee vengono salvate solo per i file Markdown.", "action-open": "Apri istantanee salvate", "option-interval": "Intervallo istantanee", "option-interval-description": "Intervallo minimo in minuti tra due istantanee.", "option-keep": "Durata cronologia", "option-keep-description": "Durata in giorni per cui vengono conservate le istantanee.", "option-open-history": "Istantanee", "option-open-history-description": "Visualizza e ripristina le istantanee salvate.", "button-view-history": "View", "option-clear": "Cancella cronologia", "option-clear-description": "Cancella tutte le istantanee.", "button-clear-history": "Cancella", "label-clear-warning": "Eliminare tutte le istantanee? Verranno rimosse solo le istantanee. Tutti i file nel vault rimarranno intatti.", "msg-clear-complete": "Istantanee cancellate.", "label-no-history-found": "Nessuna istantanea trovata.", "placeholder-choose-file": "Scegli un file...", "label-select-file": "Selezionare un file a sinistra per visualizzare le istantanee." }, "note-composer": { "name": "Gestione note", "desc": "Unisce, divide e riformatta le note.", "option-confirm-file-merge": "Conferma unione file", "option-confirm-file-merge-description": "Chiedere una conferma prima di unire due file.", "option-split-replacement-text": "Testo dopo l'estrazione", "option-split-replacement-text-description": "Indica cosa mostrare al posto del testo selezionato dopo averlo estratto.", "option-choice-split-replacement-text-link": "Collegamento al nuovo file", "option-choice-split-replacement-text-embed": "Nuovo file incorporato", "option-choice-split-replacement-text-none": "Nessuno", "option-template-file": "Posizione file modello", "option-template-file-description": "File modello da usare per l'unione o l'estrazione. Variabili disponibili: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, e.g. {{date:YYYY-MM-DD}}.", "command-merge-file": "Unisci file attuale con un altro file...", "action-merge-file": "Unisci intero file con...", "label-no-files": "Nessun file trovato.", "instruction-navigate": "seleziona", "instruction-merge": "unisci", "instruction-create-new": "crea nuovo", "instruction-merge-at-top": "unisci in alto", "instruction-dismiss": "annulla", "prompt-select-file-to-merge": "Seleziona file da unire...", "label-merge-file": "Unisci file", "label-confirm-file-merge": "Unire il file \"{{file}}\" con \"{{destination}}\"? \"{{file}}\" verrà eliminato.", "button-merge": "Unisci", "command-split-file": "Estrai selezione attuale...", "command-extract-heading": "Estrai questa intestazione...", "instruction-append": "per spostare in basso", "instruction-prepend": "per spostare in alto", "msg-fail-to-fetch-template": "Impossibile caricare il modello: \"{{template}}\" non trovato.", "msg-fail-to-find-heading": "Impossibile trovare l'intestazione" }, "web-viewer": { "name": "Visualizzatore web", "history-name": "Cronologia web", "desc": "Apre i collegamenti esterni a pagine web all'interno di Obsidian.", "action-open": "Apri visualizzatore web", "action-show-history": "Mostra cronologia", "action-toggle-reader-mode": "Attiva/disattiva modalità lettura", "action-copy-u-r-l": "Copia URL", "action-remove-from-history": "Rimuovi dalla cronologia", "action-clear-history": "Cancella cronologia", "action-open-link": "Apri collegamento", "action-open-link-new-tab": "Apri collegamento in nuova scheda", "action-open-link-new-split": "Apri collegamento a destra", "action-open-link-new-window": "Apri collegamento in nuova finestra", "action-open-link-default-browser": "Apri collegamento nel browser predefinito", "action-open-link-web-viewer": "Apri collegamento nel visualizzatore web", "action-copy-link-address": "Copia indirizzo collegamento", "action-bookmark-link": "Aggiungi collegamento ai segnalibri", "action-search-for-query": "Cerca “{{query}}”", "action-extract-selection": "Estrai selezione in nuova nota", "action-copy-selection": "Copia", "action-cut": "Taglia", "action-paste": "Incolla", "action-delete": "Elimina", "action-select-all": "Seleziona tutto", "action-save-to-vault": "Salva nel vault", "action-save-image": "Salva immagine nel vault", "action-copy-image": "Copia immagine", "action-copy-image-link": "Copia collegamento immagine", "action-backward": "Indietro", "action-forward": "Avanti", "action-reload": "Ricarica", "action-bookmark-page": "Aggiungi pagina ai segnalibri", "action-open-default-browser": "Apri nel browser predefinito", "action-focus-address-bar": "Seleziona barra degli indirizzi", "action-search-the-web": "Cerca sul web", "action-clear-data": "Cancella dati", "action-clear-data-cookies": "Cookie", "action-clear-data-cookies-desc": "Potrebbe disconnetterti dai siti web.", "action-clear-data-cache": "Dati nella cache", "action-clear-data-history": "Cronologia", "action-clear-data-all": "Tutti i dati del visualizzatore web", "action-clear-data-all-desc": "Rimuove tutto quanto sopra oltre all'archivio locale e alle sessioni attive.", "label-new-web-viewer": "Nuovo visualizzatore web", "label-fail-to-load": "Impossibile caricare il sito.", "label-fail-to-load-desc": "Assicurati che l'indirizzo sia corretto.", "label-search-the-web": "Cerca sul web", "label-web-viewer-data": "Dati del visualizzatore web", "label-clear-data": "Cancella dati del visualizzatore web", "option-open-external-links": "Apri collegamenti esterni", "option-open-external-links-desc": "Apri i collegamenti in Obsidian anziché nel browser predefinito del sistema.", "option-homepage": "Pagina iniziale", "option-homepage-desc": "Pagina da visualizzare quando viene aperto un visualizzatore web", "option-saved-markdown": "Cartella pagine salvate", "option-saved-markdown-desc": "I siti web salvati come markdown verranno posizionati qui.", "option-search-engine": "Motore di ricerca", "option-search-engine-desc": "Motore di ricerca utilizzato quando si cerca dalla barra degli indirizzi.", "option-search-engine-custom": "Motore di ricerca personalizzato", "option-search-engine-custom-desc": "Usa %s al posto della query.", "option-search-engine-custom-drop-down": "Personalizzato", "option-enable-adblock": "Abilita blocco pubblicità", "option-enable-adblock-desc": "Se abilitato, gli elenchi dei filtri seguenti verranno applicati a tutte le schede del visualizzatore web.", "option-adblock-lists": "Regole blocco pubblicità", "option-adblock-lists-desc": "Un URL di liste di blocco pubblicità per riga. Condiviso da tutti i vault.", "option-adblock-frequency": "Frequenza di aggiornamento blocco pubblicità", "option-adblock-frequency-desc": "Frequenza in giorni per l'aggiornamento dei filtri. 0 indica disabilitato. Condiviso da tutti i vault.", "title-clear-data-modal": "Cancella dati del visualizzatore web", "msg-error-extracting-content": "Errore imprevisto durante l'estrazione del contenuto.", "msg-error-finding-content": "Impossibile trovare il contenuto da estrarre." }, "canvas": { "name": "Lavagna", "desc": "Disponi e collega le note su un'area di disegno infinita.", "action-add-note": "Aggiungi nota dal vault", "action-add-media": "Aggiungi file multimediale dal vault", "action-add-card": "Aggiungi annotazione", "action-add-website": "Aggiungi pagina web", "action-create-group": "Crea gruppo", "action-create-with-size": "Crea annotazione di dimensioni specifiche", "action-convert-to-file": "Converti in file...", "action-drag-to-add-note": "Trascina per aggiungere una nota dal vault", "action-drag-to-add-media": "Trascina per aggiungere un file multimediale dal vault", "action-drag-to-add-card": "Trascina per aggiungere un'annotazione", "action-edit-label": "Modifica etichetta", "action-remove-label": "Rimuovi etichetta", "action-search-file": "Cerca file", "action-set-color": "Imposta colore", "action-align": "Allinea", "action-align-left": "Allinea a sinistra", "action-align-center": "Allinea al centro", "action-align-right": "Allinea a destra", "action-align-top": "Allinea in alto", "action-align-middle": "Allinea in mezzo", "action-align-bottom": "Allinea in basso", "action-distribute-horizontal-spacing": "Distribuisci in orizzontale", "action-distribute-vertical-spacing": "Distribuisci in verticale", "action-justify-horizontally": "Giustifica in orizzontale", "action-justify-vertically": "Giustifica in verticale", "action-arrange-horizontally": "Disponi in fila", "action-arrange-vertically": "Disponi in colonna", "action-arrange-grid": "Disponi in griglia", "action-export-png": "Esporta come immagine", "action-jump-to-group": "Salta al gruppo", "action-set-background": "Imposta sfondo", "action-edit-background": "Modifica sfondo", "action-replace-background": "Sostituisci sfondo", "action-remove-background": "Rimuovi sfondo", "label-no-images": "Nessuna immagine trovata.", "label-no-media": "Nessun file multimediale trovato.", "label-export-png-desc": "Esporta \"{{title}}\" in un file PNG con le seguenti impostazioni.", "label-export-png-dimensions": "Dimensioni stimate: {{dimensions}}", "label-distribute": "Distribuisci", "label-justify": "Giustifica", "label-arrange": "Disponi", "label-always": "Sempre", "label-hover": "Al passaggio del mouse", "label-never": "Mai", "label-no-section-found": "Nessuna sezione trovata", "option-wheel-behavior": "Comportamento predefinito rotellina del mouse", "option-mod-drag-behavior": "Comportamento predefinito {{key}}", "option-show-menu": "Mostra menu", "option-new-canvas-location": "Percorso predefinito nuove lavagne", "option-new-canvas-location-description": "Indica dove inserire le nuove lavagne create.", "option-new-canvas-folder-path": "Percorso cartella delle lavagne", "option-new-canvas-folder-path-description": "Le nuove lavagne verranno inserite in questa cartella.", "option-node-label": "Mostra etichetta annotazione", "option-snap-to-grid": "Aggancia alla griglia", "option-snap-to-grid-desc": "Aggancia annotazione alla griglia di sfondo durante lo spostamento e il ridimensionamento.", "option-snap-to-objects": "Aggancia agli oggetti", "option-snap-to-objects-desc": "Aggancia annotazioni agli oggetti vicini durante lo spostamento e il ridimensionamento.", "option-zoom-breakpoint": "Soglia di zoom per nascondere il contenuto dell'annotazione", "option-zoom-breakpoint-desc": "Valori più bassi aumenteranno le prestazioni ma il contenuto dell'annotazione verrà nascosto prima durante lo zoom indietro.", "option-export-png-show-logo": "Mostra logo", "option-export-png-show-logo-desc": "Aggiunge il logo di Obsidian in basso a sinistra.", "option-export-png-privacy-mode": "Modalità privacy", "option-export-png-privacy-mode-desc": "Nasconde ogni contenuto di testo dalla lavagna.", "option-export-png-zoom": "Ingrandimento", "option-export-png-zoom-desc": "Un ingrandimento maggiore genera un'immagine con risoluzione più alta.", "option-export-png-frame": "Area visibile", "option-export-png-frame-desc": "Scegli se salvare l'intera lavagna o solo l'area visibile attualmente.", "option-export-png-frame-full": "Tutta la lavagna", "option-export-png-frame-viewport": "Solo area visibile", "option-background-cover": "Copertina", "option-background-ratio": "Mantieni proporzioni", "option-background-repeat": "Ripeti", "action-new-canvas": "Nuova lavagna", "action-remove": "Rimuovi", "action-narrow-heading": "Restringi all'intestazione...", "action-narrow-block": "Restringi al blocco...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Cambia file...", "action-change-url": "Cambia URL...", "action-zoom-to-fit": "Adatta alla finestra", "action-zoom-to-selection": "Zoom selezione", "action-reload-page": "Ricarica pagina", "action-follow-connection": "Segui connessione", "command-create-new-canvas": "Crea nuova lavagna", "command-convert-to-file": "Converti in file...", "instruction-narrow-heading": "incorpora intestazione", "instruction-narrow-block": "incorpora blocco", "instruction-jump-to-group": "seleziona gruppo", "prompt-to-narrow": "Digita il nome dell'intestazione", "label-enter-url": "Inserisci URL", "label-empty-embed": "Impossibile trovare \"{{linktext}}\".", "prompt-add-text": "Aggiungi testo...", "prompt-start-search": "Digita per cercare...", "label-canvas-help": "Aiuto lavagna", "label-canvas-settings": "Impostazioni lavagna", "label-no-narrow": "Mostra file intero", "label-show-default-view": "Show default view", "label-readonly": "Sola lettura", "label-disable-readonly": "Disabilita sola lettura", "label-pan": "Panoramica", "label-pan-horizontal": "Panoramica orizzontale", "label-zoom": "Zoom", "label-select-all": "Seleziona tutto", "label-add-remove-selection": "Aggiungi/rimuovi dalla selezione", "label-clone-card": "Duplica annotazione", "label-constrain-movement-axis": "Sposta annotazioni in asse", "label-disable-drag-snapping": "Disabilita aggancio durante il trascinamento", "label-remove-card": "Rimuovi annotazione", "label-drag-from-below": "Trascina dal basso o fai doppio clic", "label-longpress": "Tocca e tieni premuto per aggiungere / spostare / selezionare", "label-drag-pan": "Trascina per la panoramica", "label-pinch-zoom": "Avvicina le dita per lo zoom", "label-space-drag-pan": "Spazio + trascinamento per la panoramica", "label-scroll-to-zoom": "scorrimento per lo zoom", "label-untitled-group": "Gruppo senza titolo", "label-line-direction": "Direzione linea", "label-nondirectional": "Senza direzione", "label-unidirectional": "Unidirezionale", "label-bidirectional": "Bidirezionale", "label-image": "Immagine", "label-style": "Stile", "msg-no-groups-found": "Nessun gruppo trovato", "msg-export-failed-empty-canvas": "Impossibile esportare una lavagna vuota", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Evidenzia tutto", "action-match-diacritics": "Diacritici", "action-whole-words": "Parole intere", "action-show-thumbnails": "Miniature", "action-show-outline": "Indice", "action-reveal-in-outline": "Visualizza pagina nell'indice", "action-toggle-sidebar": "Attiva/disattiva barra laterale", "action-previous-page": "Pagina precedente", "action-next-page": "Pagina successiva", "action-fit-width": "Adatta larghezza", "action-fit-height": "Adatta altezza", "action-save-p-d-f-location": "Salva posizione attuale nel documento", "action-copy-annotation": "Copia annotazione", "action-copy-quote": "Copia come citazione", "action-copy-selection-link": "Copia collegamento alla selezione", "action-copy-annot-link": "Copia collegamento all'annotazione", "action-copy-section-link": "Copia collegamento alla sezione", "action-copy-section-link-title": "Copia collegamento a “{{title}}”", "action-copy-page-link": "Copia collegamento alla pagina {{page}}", "msg-max-search-results": "{{current}} su oltre {{limit}} corrispondono", "msg-search-count": "{{current}} su {{total}} corrisponde", "msg-search-count_plural": "{{current}} su {{total}} corrispondono", "msg-password-protected": "Questo PDF è protetto da password", "msg-invalid-password": "Password non valida", "msg-enter-password": "Inserisci la password", "label-of-pages": "di {{count}}", "label-page-of-pages": "({{current}} di {{count}})", "label-spread-single": "Una pagina", "label-spread-odd": "Due pagine (pari)", "label-spread-even": "Due pagine (dispari)", "tooltip-sidebar-options": "Opzioni barra laterale", "tooltip-display-options": "Opzioni visualizzazione", "label-adapt-to-theme": "Adatta al tema", "label-page": "pagina {{page}}", "page_landmark": "Pagina {{page}}", "thumb_page_title": "Pagina {{page}}", "thumb_page_canvas": "Pagina {{page}}", "text_annotation_type": "[Annotatione {{type}}]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Lista", "option-unknown": "Sconosciuta", "option-text": "Testo", "option-aliases": "Alias", "option-tags": "Etichetta", "option-folder": "Folder", "option-file": "File", "option-date": "Data", "option-datetime": "Data e ora", "option-number": "Numero", "option-checkbox": "Casella" }, "value-suggestion": { "key-link-note": "Digita [[", "instruction-link-note": "per collegare una nota", "instruction-dismiss": "annulla" }, "option-property-type": "Tipo proprietà", "msg-empty-property-name": "Il nome della proprietà non può essere vuoto.", "msg-duplicate-property-name": "Proprietà già esistente", "msg-invalid-tag": "Nome etichetta non valido", "msg-invalid-number": "Numero non valido", "msg-invalid-properties": "Proprietà non valida.", "label-no-value": "Nessun valore", "label-heading": "Proprietà", "label-invalid-heading": "Proprietà non valide", "label-show-source": "Mostra codice sorgente", "label-invalid-yaml-marker": "Errore di sintassi. Il frontmatter non è valido.", "label-add-property-button": "Aggiungi proprietà", "label-type-mismatch-warning": "Tipo non corretto, atteso {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Colonna", "label-row": "Riga", "action-row-after": "Aggiungi riga dopo", "action-column-after": "Aggiungi colonna dopo", "action-row-before": "Aggiungi riga prima", "action-row-up": "Sposta riga sopra", "action-row-down": "Sposta riga sotto", "action-column-before": "Aggiungi colonna prima", "action-column-left": "Sposta colonna a sinistra", "action-column-right": "Sposta colonna a destra", "action-duplicate-row": "Duplica riga", "action-duplicate-column": "Duplica colonna", "action-delete-row": "Elimina riga", "action-delete-column": "Elimina colonna", "action-align-left": "Allinea a sinistra", "action-align-center": "Allinea al centro", "action-align-right": "Allinea a destra", "action-delete-selection": "Elimina celle", "action-clear-selection": "Svuota celle", "action-sort-a-z": "Ordina per colonne (dalla A alla Z)", "action-sort-z-a": "Ordina per colonne (dalla Z alla A)", "label-command": "Tabella: {{command}}" }, "callout": { "option-type": "Tipo callout", "type": { "info": "Info", "important": "Importante", "tip": "Suggerimento", "success": "Successo", "question": "Domanda", "warning": "Avvertimento", "quote": "Citazione", "example": "Esempio", "none": "Nessuno" }, "option-other": "Altro...", "option-other-placeholder": "Tipo di callout..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} parola", "word-with-count_plural": "{{count}} parole", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} carattere", "character-with-count_plural": "{{count}} caratteri", "link-with-count": "{{count}} collegamento", "link-with-count_plural": "{{count}} collegamenti", "file-with-count": "{{count}} file", "file-with-count_plural": "{{count}} file", "folder-with-count": "{{count}} cartella", "folder-with-count_plural": "{{count}} cartelle", "backlink-with-count": "{{count}} riferimento", "backlink-with-count_plural": "{{count}} riferimenti", "tabs-with-count": "{{count}} scheda", "tabs-with-count_plural": "{{count}} schede", "properties-with-count": "{{count}} proprietà", "properties-with-count_plural": "{{count}} proprietà", "site-with-count": "{{count}} sito", "site-with-count_plural": "{{count}} siti", "plugin-with-count": "{{count}} plugin", "plugin-with-count_plural": "{{count}} plugin", "plugin-active-with-count": "{{count}} attivi", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippet", "theme-with-count": "{{count}} tema", "theme-with-count_plural": "{{count}} temi" } }{ "setting": { "options": "オプション", "plugin": "プラグイン", "builtin-plugins": "コアプラグイン", "plugin-options": "プラグインオプション", "folder-path-example-placeholder": "例: フォルダ1/フォルダ2", "file-path-example-placeholder": "例: フォルダ/ノート", "msg-restart-required": "このオプションを変更した後、変更した設定を適用するには再起動する必要があります。", "editor": { "name": "エディタ", "section-behavior": "挙動", "section-display": "表示", "option-spellcheck": "スペルチェック", "option-spellcheck-description": "スペルチェッカーを有効にします。", "spellcheck-languages": "スペルチェックの言語", "spellcheck-languages-description": "スペルチェッカーに使用する言語を選択してください。", "spellcheck-languages-mac-description": "ネイティブスペルチェッカーがmacOS上で使用されている言語を自動的に検知します。", "spellcheck-dict": "スペルチェック辞書", "spellcheck-dict-empty": "スペルチェック辞書が指定されていません。", "option-show-inline-title": "インラインタイトルの表示", "option-show-inline-title-description": "ファイル名をファイル内容と共に編集可能なインラインのタイトルとして表示します。", "option-readable-line-length": "読みやすい行の長さ", "option-readable-line-description": "最大行長を制限します。 画面に収まるコンテンツは少なくなりますが、長い段落が読みやすくなります。", "option-strict-line-break": "厳密な改行", "option-strict-line-break-description": "プレビューモードでは、マークダウンの仕様に従って単一の改行を無視します。プレビューモードで改行させる場合には無効にしてください。", "option-properties-in-document": "ドキュメント内プロパティ", "option-properties-in-document-description": "エディタ内でのプロパティの表示方法を選択してください。プロパティをYAMLとして表示する場合には「ソース」を選択してください。", "option-properties-hidden": "非表示", "option-properties-visible": "表示", "option-properties-source": "ソース", "option-auto-pair-brackets": "括弧を自動的にペアリング", "option-auto-pair-brackets-description": "括弧や引用符を自動的にペアにします。", "option-auto-pair-markdown": "マークダウン記法を自動的にペアリング", "option-auto-pair-markdown-description": "太字やイタリック体の記号を自動でペアにします。", "option-smart-indent-lists": "スマートインデント", "option-smart-indent-lists-description": "インデントやリスト記号を自動的に処理します。", "option-fold-heading": "見出しのフォールド", "option-fold-heading-description": "見出しの下の全テキストをフォールドします。", "option-fold-indent": "インデントのフォールド", "option-fold-indent-description": "リストのような同レベルのインデントの一部をフォールドできるようにします。", "option-default-new-tab-view": "新規タブのデフォルトビュー", "option-default-new-tab-view-description": "新規マークダウンタブを開いた際のデフォルトビューを選択してください。", "option-default-new-tab-view-editing": "編集ビュー", "option-default-new-tab-view-reading": "リーディングビュー", "option-open-tab-in-foreground": "常に新しいタブにフォーカス", "option-open-tab-in-foreground-description": "新規タブでリンクを開く際には、直ちにそのノートにフォーカスします。", "option-default-editing-mode": "デフォルト編集モード", "option-default-editing-mode-description": "新規ペインが開始するデフォルトの編集モードを選択してください。", "option-default-editing-mode-source": "ソースモード", "option-default-editing-mode-live-preview": "ライブプレビュー", "option-show-line-number": "行番号の表示", "option-show-line-number-description": "ガターに行番号を表示します。", "option-indentation-guide": "インデントガイドの表示", "option-indentation-guide-description": "バレットポイント間の関係性を視覚的ガイドとして表現する垂直ラインを表示します。", "option-use-tabs": "タブの使用", "option-use-tabs-description": "\"Tab\" キーを押した際に、タブを使ってインデントできるようにします。スペースを使うにはこの設定を無効にしてください。", "option-tab-size": "タブの間隔", "option-tab-size-description": "タブを表すスペースの個数を決定します。", "option-rtl": "右横書き表示 (RTL)", "option-rtl-description": "テキストを右横書きに表示するように設定します。", "option-auto-convert-html": "HTMLの自動変換", "option-auto-convert-html-description": "ウェブページからのペーストとドラッグ&ドロップの際にHTMLをマークダウンへと自動的に変換します。変換せずにペーストするにはCtrl/Cmd+Shift+Vを使用してください。", "option-vim-key-bindings": "Vimのキー設定", "option-vim-key-bindings-description": "ソースエディタでVimのキーバインディングを使用できるようにします。", "option-vim-key-bindings-mobile": "モバイルデバイスにおいて、この設定はデバイス毎のものとなり、設定ファイルを介して同期されることはありません。", "option-reindex-vault": "保管庫のキャッシュを再ビルドする", "option-reindex-vault-description": "キャッシュの再ビルドには、保管庫のサイズに応じて数秒から数分かかる場合があります。", "label-reindex": "再ビルド", "label-confirm-enable-vim": "Vimモードの起動確認", "label-vim-warning": "Vimモードは効率的なテキスト編集のためのものですが、直感に反した操作に感じられる場合があります。Vimについて不慣れな場合にはこのオプションによってObsidianが動作しないように見えるかもしれません。", "label-vim-test": "Vimの使い方を知っていることを確認するため、保存せずにVimを終了するコマンドを入力してください。", "label-vim-your-answer": "答え", "placeholder-enter-command": "コマンドを入力…", "button-confirm-enable-vim": "Vimモードを有効化", "msg-vim-mode-enabled": "正しいコマンドです。Vimモードが有効化されました。", "msg-vim-mode-not-enabled": "コマンドが間違っています。保護のためVimモードは無効化されたままです。", "msg-vim-mode-please-enter-command": "Vimモードを有効化するコマンドを入力してください。" }, "file": { "name": "ファイルとリンク", "option-confirm-file-deletion": "ファイル削除の確認", "option-confirm-file-deletion-description": "ファイルを削除する際に確認メッセージを表示するかどうかを決めます。", "option-delete-destination": "削除済みファイル", "option-delete-destination-description": "削除したファイルをどう処理するかを決めます。", "option-choice-system-trash": "システムのゴミ箱に移動する", "option-choice-vault-trash": "Obsidianのゴミ箱(.trashフォルダ)に移動する", "option-choice-permanent-delete": "完全に削除する", "option-always-update-links": "内部リンクを毎回更新する", "option-always-update-links-description": "ファイルやプロンプトの名前を変更する際に、自動的にリンクを更新するかどうかを決めます。", "option-new-note-location": "新規ノートの作成場所", "option-new-note-location-description": "新規作成したノートをどこに置くかを決めます。プラグインの設定によって上書きされます。", "option-choice-vault-root": "保管庫直下", "option-choice-current-folder": "現在のファイルと同じフォルダ", "option-choice-specified-folder": "以下で指定されたフォルダ", "option-new-file-folder-path": "新規ノートを作成するフォルダ", "option-new-file-folder-path-description": "新規作成したノートはこのフォルダに置かれます。プラグインの設定によって上書きされます。", "option-use-wiki-links": "[[ウィキリンク]]を使用", "option-use-wiki-links-description": "マークダウン形式のリンクやイメージではなく、[[リンク]]および![[イメージ]]形式のウィキリンクを自動生成します。このオプションを無効にすると、マークダウン形式のリンクを生成します。", "option-show-unsupported-files": "すべてのファイル拡張子を認識", "option-show-unsupported-files-description": "拡張子に関わらずすべてのファイルを表示します。Obsidianが開けない拡張子のファイルがファイルエクスプローラやクイックスイッチャーで表示され、リンクの作成も可能になります。", "option-link-autocompleted-format": "新規作成するリンクの形式", "option-link-autocompleted-format-description": "内部リンクを自動生成する際に、どの形式でリンクを作成するか決めます。", "option-choice-shortest-linktext": "可能であれば最短経路", "option-choice-relative-path": "ファイルに対する相対パス", "option-choice-absolute-path": "保管庫内での絶対パス", "option-new-attachment-location": "新規添付ファイルの作成場所", "option-new-attachment-location-description": "新規作成した添付ファイルはこのフォルダに置かれます。", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "現在のフォルダのサブフォルダ", "option-attachment-folder-path": "添付ファイルフォルダのパス", "option-attachment-folder-path-description": "新規作成された添付ファイルはこのフォルダに置かれます。ドラッグ&ドロップとペーストで作成された画像や音声の録音ファイルなどが含まれます。", "option-attachment-subfolder-path": "サブフォルダの名称", "option-attachment-subfolder-path-description": "現在のファイルが \"vault/folder\" にあり、サブフォルダの名前を \"attachments\" に設定している場合、添付ファイルは \"vault/folder/attachments\" に保存されます。", "option-excluded-files": "除外ファイル", "option-excluded-files-desc": "除外ファイルに設定したファイルはクイックスイッチャーやリンクサジェスト、グラフビューなどの様々な場所において非表示になるか、候補に挙がりづらくなります。", "label-no-excluded-filters-applied": "現在、除外フィルターは適用されていません。以下に追加してください。", "label-excluded-filters-applied": "現在、以下のフィルターにマッチするファイルが除外されています:", "label-excluded-filter": "フィルター", "message-empty-filter": "フィルターは空にできません", "placeholder-excluded-filter": "ファイルパスまたは \"/regex/\" を入力…", "option-uri-callbacks": "URIコールバックを許可", "option-uri-callbacks-desc": "ObsidianのURIを処理する際に、x-successまたはx-errorを介してx-callback-urlの使用を有効にします。" }, "appearance": { "name": "外観", "option-base-theme": "ベーステーマ", "option-base-theme-description": "Obsidianのデフォルトのカラースキームを選んでください。", "option-accent-color": "アクセントカラー", "option-accent-color-description": "アプリ全体で使用されるアクセントカラーを選択してください。", "dark-theme": "ダーク", "light-theme": "ライト", "system-theme": "システムテーマを適用", "option-font": "フォント", "option-advanced": "高度な設定", "option-interface": "インターフェース", "option-interface-font": "インターフェースフォント", "option-interface-font-description": "Obsidianのすべての機能で使用するベースフォントを設定します。", "option-zoom-level": "ズームレベル", "option-zoom-level-description": "アプリケーション全体でのズームレベルを制御します。", "option-text-font": "テキストフォント", "option-text-font-description": "編集ビューやリーディングビューで使用するフォントを設定します。", "option-monospace-font": "モノスペースフォント", "option-monospace-font-description": "コードブロックやフロントマターといった場所で使用するフォントを設定します。", "label-single-font-currently-in-effect": " 現在適用中のフォント: ", "label-multiple-fonts-currently-in-effect": " 現在、次のフォントが適用されています:", "option-font-placeholder": "フォント名を入力…", "label-no-custom-font-set": "現在、カスタムフォントは適用されていません。以下に追加してください。", "label-font-applied": "このリスト内のシステムで利用可能な最初のフォントが適用されます。", "msg-font-not-found": "このフォントはシステムで検知されませんでした。", "msg-font-found": "このフォントはシステムで検知されました。", "label-font-name": "フォント名", "option-community-themes": "コミュニティテーマを開く", "option-community-themes-description": "コミュニティによって開発されたテーマの閲覧と使用が可能です。", "button-browse-community-themes": "閲覧", "option-font-size": "フォントサイズ", "option-font-size-description": "フォントサイズはピクセル単位であり、エディタとプレビューの表示に影響を与えます。", "option-font-size-action": "フォントサイズのクイック調整", "option-font-size-action-description": "Ctrl+Scroll、もしくはトラックパッド上でピンチ&ズームのジェスチャによってフォントサイズを調整できます。", "option-themes": "テーマ", "option-manage-themes-description": "コミュニティテーマを閲覧とインストールされたテーマの管理を行います。", "option-theme-button-manage": "管理", "option-choice-none": "なし", "option-native-menus": "ネイティブメニュー", "option-native-menus-desc": "アプリ全体で使用されるメニューはOSのスタイルに合致します。この設定はテーマによる影響を受けません。", "button-reload-themes": "テーマをリロード", "msg-reloaded-themes": "カスタムCSSテーマをリロードしました。", "button-open-themes-folder": "テーマフォルダを開く", "option-css-snippets": "CSSスニペット", "label-no-css-snippets-found": "スニペットフォルダにCSSスニペットが見つかりません。", "no-snippet-description": "CSSスニペットは \"{{path}}\" に格納されます。", "button-reload-snippets": "スニペットをリロード", "button-open-snippets-folder": "スニペットフォルダを開く", "msg-reloaded-snippets": "CSSスニペットをリロードしました。", "option-toggle-snippet-description": "\"{{path}}\" のCSSスニペットを適用します。", "label-installed-themes": "インストールされたテーマ", "label-screenshot-unavailable": "スクリーンショットが取得できません。", "label-default-theme": "デフォルト", "tooltip-click-to-enlarge": "クリックで拡大", "button-update": "アップデート", "label-currently-active": "Active", "option-frame-style": "ウィンドウフレームのスタイル", "option-frame-description": "ウィンドウタイトルバーのスタイリングを選択してください。変更した設定を適用するには再起動する必要があります。", "option-frame-hidden": "非表示(デフォルト)", "option-frame-obsidian": "Obsidianフレーム", "option-frame-native": "ネイテイブフレーム", "option-custom-icon": "カスタムアプリアイコン", "option-custom-icon-desc": "アプリのカスタムアイコンを設定します。", "button-choose-custom-icon": "カスタムアイコンを選択", "option-configure-ribbon": "リボンメニュー", "option-configure-ribbon-desc": "ナビゲーションバーのリボンメニューに表示するコマンドを設定します。", "option-mobile-quick-ribbon-item": "リボンアイテムへのクイックアクセス", "option-mobile-quick-ribbon-item-desc": "ナビゲーションメニューのリボンアイテムをタップすることでそのアイテムをアクティブにします。タップしてからホールドしてもメニューが表示されます。", "option-mobile-quick-ribbon-default": "リボンメニューを開く", "button-configure": "設定", "option-show-ribbon": "リボンの表示", "option-show-ribbon-desc": "ウィンドウの端に縦長のツールバーを表示します。", "label-additional-ribbon-items": "他のリボンアイテム", "label-modal-configuration": "リボンの設定", "label-modal-configuration-desc": "リボンでアクティブにしたいアイテムを選択してください。ドラッグ&ドロップで順番を変更します。", "option-show-view-header": "タブタイトルバーの表示", "option-show-view-header-desc": "すべてのタブ上にヘッダーを表示します。", "msg-updates-found": "{{count}}個のテーマが更新可能です。", "msg-updates-found_plural": "{{count}}個のプラグインが更新可能です。", "button-check-for-updates": "更新を確認", "button-view-updates": "更新を閲覧", "button-update-all-themes": "すべてをアップデート", "label-current-themes": "現在のコミュニティテーマ", "label-currently-installed": "現在、{{count}}個のテーマがインストールされています。", "label-currently-installed_plural": "現在、{{count}}個のテーマがインストールされています。" }, "hotkeys": { "name": "ホットキー", "option-search": "ホットキーを検索", "option-search-desc": "{{count}}個のホットキーを表示中。", "option-search-desc_plural": "{{count}}個のホットキーを表示中。", "option-search-conflict": "{{count}}個のコマンドが衝突しています。", "option-search-conflict_plural": "{{count}}個のコマンドが衝突しています。", "prompt-filter": "フィルター…", "tooltip-delete-hotkey": "ホットキーを削除", "label-waiting-for-hotkey-press": "キーを押してください", "label-show-all": "すべて", "label-show-unassigned": "未割り当て", "label-show-assigned": "割り当て済み", "label-show-user-assigned": "ユーザーによる割り当て", "tooltip-restore-default": "デフォルトに戻す", "tooltip-customize-command": "コマンドをカスタマイズ", "tooltip-hotkey-single-conflict": "このホットキーは \"{{command}}\" と衝突しています", "tooltip-hotkey-multiple-conflicts": "このホットキーは{{count}}個のコマンドと衝突しています", "label-blank-hotkey": "ブランク" }, "about": { "name": "Obsidianについて", "label-commercial-license": "商用ライセンス", "label-license-key": "ライセンスキー", "license-key-placeholder": "ここにライセンスキーを入力", "label-activate-license": "ライセンス認証する", "button-activate": "認証", "label-unknown-version": "バージョン不明", "label-current-version": "現在のバージョン: ", "label-install-version": "(インストーラーのバージョン: {{version}})", "label-up-to-date": "アプリは最新版です!", "label-read-changelog": "変更履歴を閲覧", "label-manual-update-required": "最新機能のサポートと最新のセキュリティパッチを受け取るためには Obsidian インストーラーのメジャーアップデートが必要となります。新しい Obsidian を手動ダウンロードした上で再インストールしてください。", "label-new-version-ready": "最新バージョンがインストールできます。", "label-disabled-updates": "更新は無効になっています。", "button-relaunch": "再起動", "button-check-for-updates": "更新を確認", "option-auto-update": "自動更新", "option-auto-update-description": "アプリに更新を確認させないようにするには、このオプションを無効にしてください。", "option-check-slow-startup": "起動に時間がかかった場合に通知", "option-check-slow-startup-description": "アプリが遅く読み込まれる原因を確認することで、問題を診断します。", "button-check-startup": "今すぐ確認", "option-get-help": "ヘルプを取得", "option-get-help-description": "Obsidianを使うためのヘルプを取得します。", "button-open": "開く", "option-language": "言語", "option-language-description": "表示言語を変更する。", "option-insider-build": "インサイダービルドを取得", "option-insider-build-description": "新機能を試すにはインサイダービルドへの自動更新を有効にしてください。ビルドは最先端のものであり、不安定である可能性があります。", "option-advanced": "高度な設定", "option-hw-acceleration": "ハードウェアアクセラレーション", "option-hw-acceleration-description": "ハードウェアアクセラレーションを有効化し、Obsidianの動作をより軽快にするためにGPUを利用します。", "option-hw-acceleration-warning": "このオプションを無効化するとアプリパフォーマンスが大幅に低下します。", "option-config-location": "設定フォルダの優先を切り替える", "option-config-location-description": "デフォルトの設定フォルダではなく別の設定フォルダを使用します。フォルダ名はドットで始まる必要があります。", "option-config-location-warning": "設定フォルダはドットから始まる有効な名前である必要があります。", "label-license": "ライセンス", "label-your-commercial-license-key": "あなたの商用ライセンスのキーは \"{{key}}\" です。", "label-commercial-license-info": "\"{{company}}\" によって{{seats}}人が登録されています。{{expiry}}まで有効です。", "label-validating-commercial-license": "検証しています…", "label-invalid-commercial-license": "このライセンスは無効です: ", "button-remove-commercial-license": "削除", "option-catalyst": "カタリストライセンス", "option-catalyst-desc": "現在、{{tier}}カタリストライセンスを使用しています。Obsidianへのサポートありがとうございます!", "option-catalyst-desc-no-license": "現在、カタリストライセンスを所持していません。カタリストライセンスはObsidianの開発をサポートする買い切り版のワンタイムドネーションです。", "label-app": "アプリ", "label-add-own-language": "Obsidianへの言語の追加方法を閲覧" }, "account": { "name": "アカウント", "option-your-account": "あなたのアカウント", "option-your-account-desc": "現在、次のアカウントでサインインしています: {{name}} ({{email}})", "option-your-account-desc-no-login": "あなたは現在ログインしていません。アカウントはObsidian Sync、Obsidian Publish、およびカタリストインサイダービルドにのみ必要となります。", "label-insider": "インサイダー", "label-supporter": "サポーター", "label-vip": "VIP", "button-upgrade-catalyst": "アップグレード", "option-commercial-license": "商用ライセンス", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "購入", "button-log-out": "ログアウト", "label-log-in": "ログイン", "label-sign-up": "サインアップ", "label-email": "メールアドレス", "placeholder-email": "メールアドレス…", "label-name": "フルネーム", "label-password": "パスワード", "placeholder-password": "パスワード…", "label-forgot-password": "パスワードを忘れた場合", "button-login": "ログイン", "message-empty-email": "メールアドレス欄に入力が必要です。", "message-invalid-email": "このメールアドレスは無効です。", "message-empty-password": "パスワード欄に入力が必要です。", "message-login-failed": "ログインに失敗しました、メールアドレスとパスワードを確認してください。", "message-signup-failed": "サインアップに失敗しました。", "label-no-account": "アカウントを未取得ですか?", "link-sign-up-now": "登録してください", "label-mfa-code": "6桁の二要素認証コード", "mfa-wrong-format": "二要素認証コードは6桁の数字である必要があります", "mfa-verification-failed": "二要素認証コードが正しくありません。認証アプリをダブルチェックしてください。" }, "core-plugin": { "plugin-list": "プラグインリスト", "option-search-plugin": "コアプラグインを検索", "option-search-plugin-description": "プラグイン名または説明文でプラグインを検索します。", "placeholder-search-plugin": "プラグインを検索…" }, "third-party-plugin": { "name": "コミュニティプラグイン", "option-restricted-mode": "制限モード", "option-restricted-mode-description": "制限モードが無効になっています。コミュニティプラグインを無効化するにはこの設定を有効にしてください。", "button-turn-on": "有効化", "option-browse-community-plugins": "コミュニティプラグイン", "option-browse-community-plugins-description": "最高のコミュニティによって開発されたサードパーティプラグインを閲覧してインストールします。", "button-browse": "閲覧", "label-exit-restricted-mode": "制限モードを終了する", "label-exit-restricted-mode-description-1": "コミュニティプラグインは、インストールした他のソフトウェアのように、潜在的にデータ完全性やセキュリティ上の問題を引き起こす可能性があります。", "label-exit-restricted-mode-description-2": "プラグインセキュリティは私達にとって重要なものであるため、以下の事柄を実行しています。", "label-exit-restricted-mode-description-3": "努力に関わらず、コミュニティプラグインが不正を行う可能性が依然としてわずかに存在しています。", "label-code-review": "初期コードレビュー", "label-code-review-desc": "プラグインはストアに登場する前に私達のチームによって初期コードレビューを受けます。", "label-open-source": "オープンソース", "label-open-source-desc": "大半のプラグインはGithub上でオープンソースとして公開されており、コードについてユーザー自身で検証することができます。", "label-peer-audit": "コミュニティによる監査", "label-peer-audit-desc": "お互いに目を配りあう大きな開発者コミュニティがあります。", "label-report-mechanism": "報告の仕組み", "label-report-mechanism-desc": "ユーザーの報告に応じて欠陥のあるプラグインについての追跡調査を行い、削除します。", "label-exit-restricted-mode-disable-confirmation": "制限モードを終了してコミュニティプラグインを有効化しますか?制限モードを終了する前にデータのバックアップを作成することを強く推奨しています。", "label-learn-more": "プラグインセキュリティについての詳細を確認", "button-turn-on-community-plugins": "コミュニティプラグインを有効化", "label-trust-author": "この保管庫の作成者を信頼しますか?", "label-trust-author-description-1": "初めて開くこの保管庫にはいくつかのプラグインが含まれています。", "label-trust-author-description-2": "この保管庫が他人から入手されたものである場合には、開発元の不明なプラグインがセキュリティ上のリスクを引き起こす可能性があることに注意してください。", "label-trust-author-description-3": "この保管庫の作成者を完全には信頼しない場合、制限モードの状態を維持し、この保管庫でプラグインが実行されないようにすることを推奨します。", "button-enable-plugins": "作成者を信頼しプラグインを有効化", "button-dont-trust-author": "保管庫を制限モードで閲覧", "placeholder-community-plugins": "プラグインを検索…", "msg-failed-load-plugins": "コミュニティプラグインがロードできませんでした。", "label-installed": "インストール済み", "button-install": "インストール", "button-enable": "有効化", "button-disable": "無効化", "button-copy-share-link": "共有リンクをコピー", "button-donate": "寄付", "label-no-results-found": "結果が見つかりません。", "label-no-recent-files-found": "最近のファイルが見つかりませんでした。入力して検索…", "msg-failed-to-load-manifest": "プラグインマニフェストの読み込みに失敗しました。", "label-version": "バージョン: {{version}}", "label-currently-installed-version": " (現在のインストールバージョン: {{version}})", "label-by-author": "開発者 ", "label-repository": "リポジトリ: ", "label-last-update": "最終更新: ", "tooltip-view-last-update": "最新の更新を閲覧", "label-unsupported": "このプラグインはお使いのデバイスをサポートしていません。", "button-update": "アップデート", "label-no-readme": "このプラグインにはREADMEファイルがありません。", "msg-installing-plugin": "プラグイン \"{{name}}\" をインストールしています…", "msg-failed-to-install-plugin": "プラグイン \"{{name}}\" のインストールに失敗しました。", "msg-successfully-installed-plugin": "プラグイン \"{{name}}\" を正常にインストールしました。", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "インストールされたプラグイン", "button-reload-plugins": "プラグインの再読み込み", "msg-reloaded-third-party-plugins": "サードパーティプラグインが再読み込みされました。", "label-uninstall": "アンインストール", "label-uninstall-plugin": "プラグインのアンインストール", "label-uninstall-plugin-confirmation": "このプラグインをアンインストールしても良いですか? プラグインのフォルダは削除されます。", "button-open-plugins-folder": "プラグインのフォルダを開く", "button-check-for-updates": "アップデートを確認", "button-update-all-plugins": "すべてをアップデート", "label-current-plugins": "現在インストールされているプラグイン", "label-currently-installed": "現在、{{count}}個のプラグインがインストールされています。", "label-currently-installed_plural": "現在、{{count}}個のプラグインがインストールされています。", "msg-no-updates-found": "アップデートできるものは見つかりませんでした。", "msg-updates-found": "{{count}}個のプラグインにアップデートが見つかりました。", "msg-updates-found_plural": "{{count}}個のプラグインにアップデートが見つかりました。", "msg-update-plugin": "バージョン {{version}} にアップデートします。", "option-search-installed-plugin": "インストール済みのプラグインを検索", "option-search-installed-plugin-description": "インストール済みのプラグインを名前や説明でフィルターします。", "placeholder-search-installed-plugin": "プラグインを検索…", "show-installed-only": "インストール済みのみを表示", "label-donate-modal-title": "{{name}}を支援するために寄付する", "label-donate-modal-text1": "プラグイン開発者達は情熱から素晴らしいプラグインを開発しているコミュニティのボランティアです。このプラグインが役立つと感じた場合には開発を支援することを検討してください。", "label-donate-modal-text2": "Obsidianは手数料を一切取らず、あなたの寄付の100%がプラグイン開発者に渡されます。ただし、開発者が選択した寄付プラットフォームによっては手数料が取られる可能性があります。", "label-donate-modal-text3": "あなたの寛大なサポートに感謝致します!", "label-support-this-plugin": "このプラグインを支援:", "label-search-summary": "{{pluginCount}}を表示中:", "label-by-popularity": "ダウンロード順", "label-by-released": "最近のリリース順", "label-by-updated": "最近の更新順", "label-alphabetical": "アルファベット順", "label-last-updated": "{{time}}に更新" }, "mobile-toolbar": { "name": "モバイルツールバー", "option-configure-quick-action": "モバイルクイックアクションの設定", "option-configure-quick-action-description": "画面上からプルダウンしたときに起動するコマンドを設定します。現在のコマンドは \"{{command}}\" に設定されています。", "msg-missing-quick-action": "クイックアクションが見つかりません。", "button-configure": "設定", "placeholder-select-quick-action": "クイックアクションを選択…", "quick-action-disabled": "なし", "manage-toolbar-options": "ツールバーオプションを管理", "option-internal-link": "内部リンクを追加", "option-internal-embed": "埋め込みを追加", "option-tag": "タグを追加", "option-heading": "見出しをトグル", "option-strikethrough": "取り消し線をトグル", "option-highlight": "ハイライトをトグル", "option-code": "コードをトグル", "option-blockquote": "ブロッククォートをトグル", "option-inline-math": "インライン数学をトグル", "option-math-block": "数学ブロックをトグル", "option-markdown-link": "マークダウンリンクを追加", "option-bullet-list": "バレットリストをトグル", "option-numbered-list": "順序付きリストをトグル", "option-indent-list": "インデント", "option-unindent-list": "アンインデント", "option-undo": "取り消し", "option-redo": "再実行", "option-move-caret-up": "上に移動", "option-move-caret-down": "下に移動", "option-move-caret-left": "左に移動", "option-move-caret-right": "右に移動", "option-first-line": "開始行に移動", "option-last-line": "最終行に移動", "option-toggle-keyboard": "キーボードをトグル", "option-configure-toolbar": "モバイルツールバーの設定を開く", "option-added-options": "追加のオプション", "option-more-toolbar-options": "他のツールバーオプション", "option-attach": "添付ファイルを追加", "option-add-command": "グローバルコマンドを追加", "option-add-command-description": "ツールバーに追加するグローバルコマンドを選択してください。" } }, "editor": { "search": { "placeholder-find": "検索", "placeholder-replace": "置換", "label-exit-search": "検索を終了", "label-next": "次へ", "label-previous": "前へ", "label-find-all": "すべて検索", "label-replace": "置換", "label-replace-all": "すべて置換" }, "link-suggestion": { "label-type-hash": "#を入力すると", "label-link-heading": "見出しにリンクできます", "label-type-block": "^を入力すると", "label-link-block": "ブロックにリンクできます", "label-type-pipe": "|を入力すると", "label-change-display-text": "表示テキストを変更できます", "label-no-alias": "Display text", "label-no-heading": "見出し", "label-no-match-found": "一致するものが見つかりません", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "サジェスチョンがありません…", "add-to-dictionary": "辞書に追加" }, "menu": { "edit-link": "リンクを編集", "edit-tag": "タグを編集", "label-edit-block": "ブロックを編集", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "見出しが見つかりません", "label-heading-level": "見出しレベル {{level}}" }, "print-modal": { "title": "PDFにエクスポート", "caption": "\"{{filename}}\" を以下の設定でPDFにエクスポートします。", "setting-page-size": "ページサイズ", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "リーガル", "setting-page-size-letter": "レター", "setting-page-size-tabloid": "タブロイド", "setting-include-file-name": "ファイル名をタイトルとして含める", "setting-landscape": "横向き", "setting-margin": "余白", "setting-margin-default": "デフォルト", "setting-margin-minimal": "最小", "setting-margin-none": "なし", "setting-downscale-percent": "倍率", "button-export-to-pdf": "PDFにエクスポート" }, "link-popover": { "tooltip-follow-link": "リンクをたどる", "tooltip-open-link": "リンクを開く", "tooltip-search-tag": "タグを検索" } }, "interface": { "embed-cannot-find": "見つかりませんでした:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "規定のアプリケーションで開く", "empty-sidebar": "サイドバーが空です。ペインをこちらに移動してください。", "sidebar-expand": "展開", "sidebar-collapse": "折りたたむ", "msg-fail-to-save-file": "ファイル \"{{filepath}}\" の保存に失敗しました。{{message}}。", "msg-failed-to-load-plugin": "プラグイン \"{{plugin}}\" の読み込みに失敗しました。", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "ファイル \"{{filepath}}\" を開くのに失敗しました。", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "ファイルがありません", "msg-file-changed": "\"{{file}}\" が外部で修正されています。自動的に変更をマージします。", "switch-vault": "別の保管庫を開く", "manage-vaults": "保管庫を管理…", "help": "ヘルプ", "settings": "設定", "drag-to-rearrange": "ドラッグして順番を変更", "msg-switched-to-read": "デフォルトビューモードをリーディングビューに切り替えました。", "msg-switched-to-edit": "デフォルトの閲覧モードをエディタに変更しました。", "msg-upgrade-installer": "この機能を使用するには、Obsidianのウェブサイトから入手できる最新のインストーラを使用して再インストールしてください。", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "デフォルト設定に戻す", "label-copy": "クリップボードにコピー", "label-copy-short": "コピー", "copied_generic": "クリップボードにコピーしました", "copied": "{{item}} をクリップボードにコピーしました", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "ファイル \"{{path}}\" を開きました。", "msg-file-not-found-through-uri": "ファイル \"{{name}}\" が見つかりません。", "delete-action-short-name": "削除", "msg-indexing": "Obsidianが保管庫のインデックスを作成しています…\nこれは一度だけ実行されます。\nいくつかの機能はこれが完了するまで利用できない可能性があります。", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "インデックス作成が完了しました。", "msg-sandbox-vault": "これはサンドボックス保管庫です。\nこの保管庫での変更は失われます。", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Enterキーで作成", "label-update-available": "アップデートが利用可能", "label-debug-info": "デバッグ情報", "button-learn-more": "詳細を確認", "button-not-now": "今は行わない", "button-add": "追加", "button-manage": "管理", "label-new-tab": "新規タブ", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "このタブは現在利用できません。しばらくしてから再試行してください。", "formatting": { "label-formatting": "フォーマット", "label-paragraph": "パラグラフ", "label-insert": "挿入", "insert-link": "リンクを追加", "insert-external-link": "外部リンクを追加", "insert-callout": "コールアウト", "insert-horizontal-rule": "水平線", "insert-code-block": "コードブロック", "insert-math-block": "数学ブロック", "insert-table": "テーブル", "insert-footnote": "Footnote", "toggle-bold": "ボールド", "toggle-code": "コード", "toggle-comments": "コメント", "toggle-highlight": "ハイライト", "toggle-italics": "イタリック", "toggle-strikethrough": "取り消し線", "toggle-math": "数学", "toggle-bullet-list": "バレットリスト", "toggle-checklist": "タスクリスト", "toggle-numbered-list": "順序付きリスト", "set-heading": "見出し {{level}}", "no-heading": "見出し解除", "clear": "フォーマットをクリア", "toggle-quote": "引用" }, "empty-state": { "no-file-open": "ファイルが開かれていません", "create-new-file": "新規ファイルを作成", "go-to-file": "ファイルに移動する", "see-recent-files": "最近のファイルを見る", "close": "閉じる", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "アクティブでなくなったプラグイン", "unknown-pane-desc": "このペイン({{type}})を作成したプラグインはなくなりました" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "編集(Ctrl/Cmd+クリックで新規ペインで編集)", "read-view": "現在のビュー: リーディング", "ribbon": "リボン", "left-sidebar": "左サイドバー", "right-sidebar": "右サイドバー", "switch-to-edit-view": "クリックして編集", "switch-to-read-view": "クリックして閲覧", "mod-click-open-new-tab": "{{key}}+クリックで新規タブに開く", "find": "検索…", "replace": "置換…", "edit": "編集", "remove": "削除", "rename": "リネーム", "preview": "プレビュー", "more-options": "オプション", "close": "閉じる", "close-all": "すべてを閉じる", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "他を閉じる", "close-after": "Close tabs after", "pin": "ピン", "unpin": "ピンの解除", "unlink-tab": "タブのリンクを解除", "link-tab": "タブをリンク…", "toggle-source-mode": "ソースモード", "toggle-reading-view": "リーディングビュー", "add-property": "ファイルプロパティを追加", "delete-file": "ファイルを削除", "create-file": "このファイルを作成する", "open-link": "リンクを開く", "open-in-new-tab": "新規タブに開く", "open-to-the-right": "右側に開く", "copy-url": "URLをコピー", "copy": "コピー", "cut": "カット", "paste": "ペースト", "paste-as-plain-text": "プレーンテキストとしてペースト", "lookup-selection": "“{{selection}}” を検索", "select-all": "すべてを選択", "rename-heading": "この見出しをリネーム…", "rename-blockid": "このブロックIDをリネーム…", "open-in-new-window": "新規ウィンドウで開く", "move-to-new-window": "新規ウィンドウに移動", "open-in-browser": "ブラウザで開く", "stack-tabs": "タブをスタック", "unstack-tabs": "タブのスタックを解除", "open-linked-view": "リンクされたビューを開く" }, "tooltip": { "click-to-expand": "クリックして展開", "click-to-collapse": "クリックして折りたたむ", "alias": "エイリアス", "not-created-yet": "まだ作成されていません、作成するには選択してください" }, "start-screen": { "label-version": "バージョン", "label-create-local-vault": "ローカル保管庫を作成", "option-open-folder-as-vault": "保管庫としてフォルダを開く", "option-open-folder-as-vault-description": "マークダウンファイルのフォルダを選択します。", "option-create-vault": "保管庫を新規作成する", "option-create-vault-description": "Obisidianの保管庫をフォルダに新規作成します。", "option-connect-obsidian-sync": "Obsidian Syncから保管庫を開く", "option-connect-obsidian-sync-description": "リモート保管庫への同期設定を行います。", "option-new-vault-name": "保管庫の名称", "option-new-vault-name-description": "保管庫に名前を付けてください。", "option-new-vault-location": "ロケーション", "option-new-vault-location-description": "新規保管庫の作成場所を指定してください。", "label-new-vault-location-preview": "新規保管庫は以下の場所に配置されます: ", "option-reveal-vault-in-explorer": "システムのエクスプローラで表示", "option-reveal-vault-in-explorer-mac": "保管庫をFinderに表示", "option-rename-vault": "保管庫の名前を変更…", "option-copy-vault-i-d": "保管庫IDをコピー", "msg-error-rename-exists": "同じ名前の保管庫がすでに存在しています。", "msg-error-nested": "自身のサブフォルダに移動することはできません。", "msg-error-rename-open": "現在開いている保管庫の名前を変更することはできません。", "msg-rename-failed": "保管庫の名前の変更に失敗しました。", "msg-rename-success": "保管庫の名前の変更に成功しました。", "option-move-vault": "保管庫を移動…", "msg-move-select-dest": "対象のフォルダを選択してください。", "msg-error-move-exists": "対象のフォルダにはすでに保管庫が存在しています。", "msg-error-move-open": "現在開いている保管庫を移動することはできません。", "msg-move-failed": "保管庫の移動に失敗しました。", "msg-move-success": "保管庫の移動に成功しました。", "option-remove": "リストから削除", "button-quick-start": "クイックスタート", "button-open": "開く", "button-browse": "閲覧", "button-connect": "接続", "button-create-vault": "作成", "button-back": "前に戻る", "msg-empty-vault-name": "保管庫に名前をつけてください。", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "フォルダを指定してください。", "msg-failed-to-create-vault": "保管庫が作成できませんでした。", "msg-failed-to-create-vault-at-location": "指定の場所に保管庫を作成できませんでした。もういちど場所とパーミッションを確認してください。", "msg-error-failed-to-open-vault": "開けませんでした。", "msg-error-remove-current-open-vault": "現在開いている保管庫は削除できません。", "option-get-help": "ヘルプを得る", "option-user-email": "Eメール", "placeholder-your-email": "Eメールアドレスを入力…", "option-user-password": "パスワード", "placeholder-your-password": "パスワードを入力…", "button-sign-in": "サインイン", "button-setup": "設定", "option-connect-vault-desc": "同期された保管庫をデバイスに作成します。", "tooltip-own-vault": "これはあなたが所有するリモート保管庫です。", "tooltip-shared-vault": "これはあなたに共有されているリモート保管庫です。", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Welcome", "welcome-file-content": "This is your new *vault*.\n\nMake a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nWhen you're ready, delete this note and make the vault your own." }, "drag-and-drop": { "insert-link-here": "ここにリンクを挿入する", "insert-links-here": "ここにリンクを挿入する", "move-into-folder": "\"{{folder}}\" に移動させる", "star-this-file": "このファイルにスターを付ける", "star-these-files": "これらのファイルにスターを付ける", "open-in-this-tab": "このタブで開く", "open-as-tab": "新規タブで開く" }, "window": { "maximize": "最大化", "minimize": "最小化", "restore-down": "元のサイズに戻す", "close-window": "ウィンドウを閉じる", "go-back": "戻る", "go-forward": "進む" }, "start-up": { "loading-obsidian": "Obsidianをロードしています…", "obsidian-load-error": "Obsidianのロード中にエラーが発生しました。", "button-reload-app": "アプリをリロード", "button-reload-app-in-safe-mode": "セーフモードでアプリをリロード", "button-open-another-vault": "他の保管庫を開く", "loading-plugins": "プラグインをロードしています…", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "保管庫をロードしています…", "msg-failed-to-load-vault": "保管庫のロードに失敗しました: ", "loading-cache": "キャッシュをロードしています…", "loading-workspace": "ワークスペースをロードしています…" }, "mobile": { "action-import": "保管庫へインポート", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "挿入するファイルを選択", "action-insert-text-into-file": "{{filename}}にテキストを挿入", "action-insert-link-into-file": "{{filename}}にリンクを挿入", "action-show-switcher": "Show tab overview", "msg-importing": "インポートしています…", "msg-import-success": "インポートが成功しました。", "msg-failed-to-import-file": "ファイル{{filename}}のインポートに失敗しました。", "msg-back-again-to-exit": "終了するには再度戻るを押してください。", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "公式ヘルプサイト", "label-official-help-site-desc": "Obsidian公式のヘルプドキュメントを読むことができます。ドキュメントは多言語での利用が可能です。", "action-visit": "訪問", "label-discord-chat": "Discord チャット", "label-discord-chat-desc": "Discord は世界中から集まる卓越した Obsidian ユーザーたちとチャットするためのベストな場所です。", "action-join": "参加", "label-forum": "公式フォーラム", "label-forum-desc": "ユーザー同士の助け合いや機能リクエスト、バグレポート、ナレッジマネジメントについての議論などを行うことができます。", "label-sandbox-vault": "サンドボックス保管庫", "label-sandbox-vault-desc": "様々な機能について試すことができます。この保管庫での変更は保存されないことに注意してください。" } }, "commands": { "save-file": "現在のファイルを保存", "download-attachments": "Download attachments for current file", "follow-cursor-link": "カーソル下のリンクをたどる", "open-cursor-link-in-new-tab": "カーソル下のリンクを新規タブに開く", "open-cursor-link-to-the-right": "カーソル下のリンクを右側に開く", "open-cursor-link-in-new-window": "カーソル下のリンクを新規ウィンドウに開く", "navigate-tab-above": "上のタブグループにフォーカス", "navigate-tab-below": "下のタブグループにフォーカス", "navigate-tab-left": "左のタブグループにフォーカス", "navigate-tab-right": "右のタブグループにフォーカス", "toggle-pin": "ピンをトグル", "split-right": "右に分割", "split-down": "下に分割", "toggle-stacked-tabs": "スタックタブをトグル", "navigate-back": "戻る", "navigate-forward": "進む", "use-dark-mode": "ダークモードを使用", "use-light-mode": "ライトモードを使用", "change-theme": "テーマの変更", "search-current-file": "現在のファイルを検索", "search-replace-current-file": "現在のファイルを検索し置換", "add-property": "ファイルプロパティを追加", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "エイリアスを追加", "clear-properties": "ファイルプロパティをクリア", "open-settings": "設定を開く", "open-help": "ヘルプを開く", "toggle-edit": "編集ビュー/リーディングビューを切り替える", "toggle-source-mode": "ライブプレビュー/ソースモードを切り替える", "delete-current-file": "現在のファイルを削除", "new-tab": "新規タブ", "show-trash": "Show trash", "close-all-tabs": "すべてのタブを閉じる", "close-active-tab": "現在のタブを閉じる", "close-others-in-tab-group": "タブグループ内の他のノートを閉じる", "close-other-tabs": "他のタブをすべて閉じる", "close-tab-group": "このタブグループを閉じる", "toggle-left-sidebar": "左のサイドバーを開閉", "toggle-ribbon": "リボンを開閉", "toggle-right-sidebar": "右のサイドバーを開閉", "toggle-default-new-tab-mode": "新規タブのデフォルトモードを切り替える", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "エディタにフォーカス", "toggle-fold-properties": "現在のファイル内のプロパティの開閉をトグル", "toggle-fold": "現在の行のフォールドを開閉", "fold-all": "すべての見出しとリストをフォールド", "unfold-all": "すべての見出しとリストのフォールドを解除", "fold-more": "更にフォールド", "fold-less": "フォールドを減らす", "swap-line-up": "上の行と入れ替える", "swap-line-down": "下の行と入れ替える", "remove-heading": "見出しを削除", "toggle-heading": "見出し {{level}} に設定", "toggle-bold": "選択範囲のボールドをトグル", "toggle-italics": "選択範囲のイタリックをトグル", "toggle-highlight": "選択範囲のハイライトをトグル", "toggle-comments": "選択範囲のコメントをトグル", "clear-formatting": "Clear formatting", "insert-link": "リンクを挿入", "toggle-spellcheck": "スペルチェックをトグル", "delete-paragraph": "パラグラフを削除", "toggle-checklist": "チェックリストをトグル", "cycle-list-checklist": "バレット/チェックボックスをサイクル", "insert-callout": "コールアウトを挿入", "insert-code-block": "コードブロックを挿入", "insert-math-block": "数学ブロックを挿入", "insert-horizontal-rule": "水平線を挿入", "insert-table": "テーブルを挿入", "insert-footnote": "Insert footnote", "edit-file-title": "ファイルタイトルの編集", "copy-path": "ファイルパスをコピー", "copy-url": "Obsidian URIをコピー", "export-pdf": "PDFにエクスポート", "reload": "保存せずにアプリをリロード", "undo-close-tab": "タブを開き直す", "context-menu": "コンテキストメニューをカーソルの下に表示", "show-debug-info": "デバッグ情報を表示", "open-sandbox-vault": "サンドボックス保管庫を開く", "always-on-top": "ウィンドウの常時トップ表示をトグル", "zoom-in": "ズームイン", "zoom-out": "ズームアウト", "reset-zoom": "ズームをリセット", "toggle-preview": "編集モードとプレビューモードを切り替える", "move-to-new-window": "現在のペインを新規ウィンドウに移動", "open-in-new-window": "現在のペインを新規ウィンドウで開く", "rename-current-file": "現在のファイルをリネーム", "go-to-prev-tab": "前のタブに移動", "go-to-next-tab": "次のタブに移動", "go-to-last-tab": "最後のタブに移動", "go-to-nth-tab": "#{{n}}のタブに移動", "show-release-notes": "リリースノートを表示" }, "dialogue": { "label-link-affected": "{{files}}の{{links}}に影響があります。", "msg-updated-links": "{{files}}の{{links}}を更新しました。", "label-update-links": "リンクを更新", "label-confirm-update-link-to-file": "このファイルにリンクしている内部リンクを更新しますが良いですか?", "button-always-update": "常に更新", "button-just-once": "1回だけ更新", "button-do-not-update": "更新しない", "label-confirm-deletion": "\"{{filename}}\" を削除しても良いですか?", "label-move-to-system-trash": "システムのゴミ箱に移動します。", "label-move-to-vault-trash": "Obsidianのゴミ箱に移動します。ゴミ箱は保管庫の隠しフォルダ \".trash\" にあります。", "label-permanent-delete": "ファイルはただちに削除されます。", "label-non-empty-folder": "このフォルダは空ではありません。", "label-delete-folder-warning": "フォルダを削除すると、フォルダ内のすべてのファイルも削除されます。", "label-delete-folder": "フォルダの削除", "button-delete": "削除", "button-delete-do-not-ask-again": "削除して次からは確認しない", "label-do-not-ask-again": "次からは確認しない", "label-existing-backlink": "現在、このノートを指している {{count}} 個のリンクがあります。", "label-existing-backlink_plural": "現在、このノートを指している {{count}} 個のリンクがあります。", "label-delete-file": "ファイルの削除", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "管理", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "キャンセル", "button-download": "Download", "button-done": "完了", "button-save": "保存", "button-stop": "停止", "button-continue": "継続", "button-choose": "選択", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "PDFを準備…", "label-rename-file": "ファイル名を変更", "label-rename-file-generic": "ファイル名", "label-new-name": "新規名称", "msg-rename-success": "ファイル名の変更に成功しました。", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "見出しのリネーム", "label-rename-blockid": "ブロックIDをリネーム" }, "menu-items": { "new-file": "ノートを作成", "new-file-to-the-right": "右側に新規ノートを作成", "new-window": "新規ウィンドウ", "open-switcher": "クイックスイッチャーを開く…", "open-vault": "保管庫を開く…", "close-tab": "タブを閉じる", "close-window": "ウィンドウを閉じる", "find": "検索", "replace": "置換", "insert-callout": "コールアウト", "insert-markdown-link": "マークダウンリンク", "insert-wikilink": "リンク", "set-heading": "見出し {{level}}", "no-heading": "見出し解除", "insert-quote": "引用", "export-pdf": "PDFとしてエクスポート", "insert-attachment": "添付ファイルを挿入…", "insert-codeblock": "コードブロック", "insert-math-block": "数学ブロック", "insert-table": "テーブル", "insert-footnote": "Footnote", "toggle-bullet-list": "バレットリスト", "toggle-numbered-list": "順序付きリスト", "toggle-checklist": "タスクリスト", "toggle-bold": "ボールド", "toggle-code": "コード", "toggle-comment": "コメント", "toggle-italics": "イタリック", "toggle-inline-math": "数学", "toggle-highlight": "ハイライト", "toggle-strikethrough": "取り消し線", "toggle-comments": "コメント", "folding-menu": "メニューのフォールド", "fold-all": "すべてフォールド", "unfold-all": "すべてのフォールドを解除", "fold-more": "更にフォールド", "fold-less": "フォールドを減らす", "source-mode": "ソースモード", "reading-view": "リーディングビュー", "show-debug-info": "デバッグ情報を表示", "open-sandbox": "サンドボックス保管庫を開く", "navigate-back": "戻る", "navigate-forward": "進む", "toggle-left-sidebar": "左サイドバーに切り替える", "toggle-right-sidebar": "右サイドバーに切り替える", "toggle-ribbon": "リボン", "split-right": "右に分割", "split-down": "下に分割", "release-notes": "リリースノート" }, "plugins": { "name": "プラグイン", "file-explorer": { "name": "ファイルエクスプローラ", "desc": "保管庫内のすべてのファイルを閲覧できます。", "action-open": "ファイルエクスプローラを開く", "action-show": "ファイルエクスプローラを表示", "action-create-note": "新規ノートの作成", "action-create-folder": "新規フォルダの作成", "action-create-note-in-current-tab": "現在のタブに新規ノートを作成", "action-create-note-to-the-right": "ノートを右側に作成", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "すべて折りたたむ", "action-expand-all": "すべて展開", "action-new-note": "新規ノート", "action-new-folder": "新規フォルダ", "action-change-sort": "ソート順の変更", "action-reveal-file": "ファイルエクスプローラでファイルを表示", "action-reveal-active-file": "ファイルエクスプローラでアクティブなファイルを表示", "command-make-a-copy": "現在のファイルのコピーを作成", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "ファイルを別のフォルダに移動", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "ファイルを移動", "action-move-folder": "フォルダを移動", "action-move-items": "{{count}}個のアイテムを移動…", "prompt-type-folder": "フォルダを入力…", "label-no-folders": "フォルダが見つかりません。", "instruction-navigate": "選択", "instruction-move": "移動", "instruction-create": "作成", "instruction-dismiss": "閉じる", "label-sort-a-to-z": "ファイル名 (アルファベット順)", "label-sort-z-to-a": "ファイル名 (アルファベット逆順)", "label-sort-new-to-old": "更新日 (新しい順)", "label-sort-old-to-new": "更新日 (古い順)", "label-sort-created-old-to-new": "作成日 (古い順)", "label-sort-created-new-to-old": "作成日 (新しい順)", "menu-opt-new-note": "新規ノート", "menu-opt-new-folder": "新規フォルダ", "menu-opt-rename": "名前を変更", "menu-opt-delete": "削除", "menu-opt-make-copy": "コピーを作成", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "ファイル名には次の文字を使えません: ", "msg-unsafe-characters": "次の文字を含むファイル名ではリンクが正常に作動しません: ", "msg-file-already-exists": "同じ名前のファイルがあります。", "msg-empty-file-name": "ファイル名を空にはできません。", "msg-bad-dotfile": "ファイル名をドットから始めることはできません。", "tooltip-modified-time": "更新日時 {{time}}", "tooltip-created-time": "作成日時 {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "無題のファイル", "label-untitled-folder": "無題のフォルダ", "msg-set-attachment-folder": "添付ファイルは今後 \"{{path}}\" に保存されます。" }, "search": { "name": "検索", "desc": "すべてのノートでキーワードを検索します。", "action-open-search": "すべてのファイルを検索", "label-collapse-results": "検索結果を折りたたむ", "label-match-case": "大文字/小文字を区別", "label-explain-search-term": "検索ワードを表示", "label-more-context": "前後を表示", "label-result-count": "{{count}}件", "label-result-count_plural": "{{count}}件", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "検索設定", "prompt-start-search": "入力して検索を開始…", "label-match-text": "テキストに一致: ", "label-match-regex": "正規表現に一致: ", "label-match-exact-text": "正確なテキストを含む: ", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "プロパティを含む:", "label-match-all": "次の全てに一致: ", "label-match-any": "次のいずれかに一致: ", "label-excluding": "除外: ", "label-case-sensitive": "大文字/小文字を区別", "label-case-insensitive": "大文字/小文字を区別しない", "label-match-file-path": "ファイルパスに一致: ", "label-match-file-name": "ファイル名に一致: ", "label-match-content": "ファイルの内容に一致: ", "label-match-task": "タスクに一致: ", "label-match-task-todo": "タスクに一致 (todo): ", "label-match-task-done": "タスクに一致 (done): ", "label-match-line": "行に一致: ", "label-match-block": "ブロックに一致: ", "label-match-section": "セクションに一致: ", "label-match-tag": "タグに一致: ", "label-no-matches": "一致する箇所は見つかりませんでした。", "matches-with-count": "… さらに {{count}} 箇所で一致。", "matches-with-count_plural": "… さらに {{count}} 箇所で一致。", "label-copy-search-results": "検索結果をコピー", "button-copy-results": "結果をコピー", "msg-successfully-copied": "結果がクリップボードにコピーされました。", "option-show-path": "パスを表示", "option-show-path-description": "ファイル名称に加え、ファイルのフルパスを表示します。", "option-link-style": "リンクのスタイル", "option-link-style-description": "結果をリンクに変更することもできます。", "option-choice-link-style-none": "なし", "option-choice-link-style-wikilink": "ウィキリンク", "option-choice-link-style-markdown-link": "マークダウンリンク", "option-list-prefix": "リストの行頭文字", "option-list-prefix-description": "結果にリストの行頭文字を加えることもできます。", "option-choice-list-style-none": "なし", "option-choice-list-style-dash": "ダッシュ(-)", "option-choice-list-style-asterisk": "アスタリスク(*)", "option-choice-list-style-numbered": "番号付き", "tooltip-clear-search": "検索を削除", "label-search-options": "検索オプション", "label-properties-group": "プロパティ", "label-tags-group": "タグ", "tooltip-read-more": "詳細を閲覧", "label-history": "履歴", "tooltip-clear-history": "検索履歴をクリア", "label-path-option-description": "ファイルへのパスに一致", "label-file-name-option-description": "ファイル名に一致", "label-tag-option-description": "タグを検索", "label-line-option-description": "同一の行でキーワードを検索", "label-section-option-description": "同一の見出しでキーワードを検索", "label-property-option-description": "プロパティに一致", "menu-opt-search-for": "\"{{keyword}}\" を検索", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "クイックスイッチャー", "desc": "キーボードから指を離すことなくファイルに移動できます。Ctrl/Cmd+Oで開始します。", "short-name": "Switcher", "action-open": "クイックスイッチャーを開く", "instruction-navigate": "選択", "instruction-open": "開く", "instruction-open-in-new-tab": "新規タブに開く", "instruction-open-to-the-right": "右側に開く", "instruction-create": "作成", "instruction-dismiss": "スイッチャーを閉じる", "instruction-select": "選択", "label-no-note-create-new": "ノートが見つかりません。Enterキーで新規ノートを作成します。", "prompt-type-file-name": "移動/作成したいファイル名を入力…", "label-enter-to-create": "Enterキーで作成", "tooltip-not-created-yet": "まだ作成されていません、作成するには選択してください", "option-show-existing-only": "存在するファイルだけ表示", "option-show-existing-only-description": "作成されていないファイルを表示するかどうかを決めます。", "option-show-attachments": "添付ファイルを表示", "option-show-attachments-desc": "画像や動画、PDFなどの添付ファイルを表示するかどうかを決めます。", "option-show-all-file-types": "すべての種類のファイルを表示", "option-show-all-file-types-desc": "Obsidian内で開くことのできないタイプのものを含むあらゆるファイルを表示するかどうかを決めます。そのタイプのファイルはデフォルトのアプリで開かれます。" }, "graph-view": { "name": "グラフビュー", "desc": "ノートがどのようにリンクしているかグラフ化します。", "action-open": "グラフビューを開く", "action-open-local": "ローカルグラフを開く", "action-copy-screenshot": "スクリーンショットをコピー", "tab-title": "{{displayText}}のグラフ", "label-filters": "フィルタ", "prompt-filter-nodes": "ファイルを検索…", "option-depth": "深さ", "option-depth-description": "ノードを表示するためにリンクをたどる回数", "option-neighbor-links": "ネイバーリンク", "option-neighbor-links-description": "ネイバー間のリンクを表示", "option-forelinks": "出ていくリンク", "option-forelinks-description": "他のファイルへのリンクを表示", "option-backlinks": "入ってくるリンク", "option-backlinks-description": "他のファイルからのリンクを表示", "option-show-tags": "タグ", "option-show-tags-description": "タグが含まれるファイルにリンクされます", "option-show-attachments": "添付書類", "option-show-attachments-description": "ファイルに含まれる添付書類を表示", "option-show-existing-files-only": "存在するファイルのみ表示", "option-show-existing-files-only-description": "チェックすると、存在しないファイルへのリンクは表示しません", "option-show-orphans": "オーファン", "option-show-orphans-description": "他のファイルからリンクされていないファイルも表示", "label-display": "表示", "option-show-arrows": "矢印", "option-show-arrows-description": "ズームインしたとき矢印を表示", "option-text-fade": "テキストフェードの閾値", "option-node-size": "ノードの大きさ", "option-link-thickness": "リンクの太さ", "label-forces": "力の強さ", "option-center-force": "中心力", "option-link-force": "リンクする力", "option-link-distance": "リンクの距離", "option-repel-force": "反発力", "tooltip-open-graph-settings": "グラフ設定を開く", "msg-screenshot-copied": "スクリーンショットがクリップボードにコピーされました。", "label-groups": "グループ", "placeholder-enter-query": "クエリを入力…", "tooltip-delete-graph": "グループを削除", "button-new-group": "新規グループ", "tooltip-click-to-change-drag-to-reorder": "クリックで色を変更\nドラッグでグループを並び替え", "action-timelapse": "グラフのタイムラプスアニメーションを開始", "tooltip-start-timelapse-animation": "タイムラプスアニメーションの開始", "button-animate-timelapse": "アニメーション開始" }, "backlinks": { "name": "バックリンク", "desc": "バックリンク(他のノートからのリンク)を表示し、他のノートから現在のノートへのリンクされていないメンションを検知します。また、ステータスバーにバックリンクの数を表示します。", "action-open": "バックリンクを開く", "action-show": "バックリンクペインを表示", "action-open-for-current": "現在のファイルのバックリンクを開く", "action-toggle-backlinks-in-document": "ドキュメント内バックリンクをトグル", "menu-opt-backlinks-in-document": "ドキュメント内バックリンクを表示", "label-linked-mentions": "リンクされたメンション", "label-no-backlinks": "バックリンクは見つかりません。", "label-unlinked-mentions": "リンクされていないメンション", "label-show-search": "検索フィルターを表示", "label-link-button-text": "リンク", "tab-title": "{{displayText}}へのバックリンク", "label-no-unlinked-mentions": "リンクされていないメンションは見つかりません。", "ellipsis": "…", "option-backlink-in-document": "ドキュメント内バックリンク", "option-backlink-in-document-desc": "新規ペインを開いた際にデフォルトでドキュメント内にバックリンクを表示します。" }, "outgoing-links": { "name": "アウトゴーイングリンク", "desc": "アウトゴーイングリンク(他のノートへのリンク)を表示し、現在のノートから他のノートへのリンクされていないメンションを検知します。", "action-open": "アウトゴーイングリンクを開く", "action-show": "アウトゴーイングリンクのペインを開く", "action-open-for-current": "現在のファイルのアウトゴーイングリンクを開く", "tab-title": "{{displayText}}からのアウトゴーイングリンク", "label-links": "リンク", "label-no-links": "リンクが見つかりません", "label-unlinked-mentions": "リンクされていないメンション", "tooltip-link-file": "このファイルをリンク", "tooltip-not-created": "まだ作成されていません" }, "tag-pane": { "name": "タグペイン", "short-name": "タグ", "desc": "すべてのタグと、その使用頻度を表示します。", "action-show": "タグペインを表示", "label-no-tags": "タグはありません。", "label-sort-by-name-a-to-z": "タグ名 (アルファベット順)", "label-sort-by-name-z-to-a": "タグ名 (アルファベット逆順)", "label-sort-by-frequency-high-to-low": "頻度 (多い順)", "label-sort-by-frequency-low-to-high": "頻度 (少ない順)", "action-show-nested-tags": "ネストされたタグを表示", "action-collapse-all": "すべて折りたたむ", "action-expand-all": "すべて展開" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "プロパティビュー", "desc": "ファイルのメタデータを表示します。", "name-global": "すべてのプロパティ", "name-local": "ファイルプロパティ", "tab-title": "{{displayText}}のファイルプロパティ", "action-show": "すべてのプロパティを表示", "action-show-local": "ファイルプロパティを表示", "opt-unassign-type": "タイプの割り当て解除", "label-no-properties": "プロパティが見つかりません。", "label-invalid-properties": "Invalid properties.", "label-sort-by-name-a-to-z": "プロパティ名 (アルファベット順)", "label-sort-by-name-z-to-a": "プロパティ名 (アルファベット逆順)", "label-sort-by-frequency-high-to-low": "頻度 (多い順)", "label-sort-by-frequency-low-to-high": "頻度 (少ない順)", "msg-merge-properties-warning": "Merge property “{{oldKey}}” with “{{newKey}}”?", "msg-merge-properties-warning-desc": "In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.", "action-collapse-all": "すべて折りたたむ", "action-expand-all": "すべて展開", "action-open-local": "ファイルプロパティを開く", "action-open-daily-note": "Open daily note" }, "page-preview": { "name": "ページプレビュー", "desc": "マウスホバーでノートのプレビューを表示します。編集モードではCtrl/Cmdを押してください。", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "\"{{linktext}}\" は作成されていません。クリックで作成します。", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "エディタ", "label-source-preview": "プレビュー", "label-source-search": "検索、バックリンク、アウトゴーイングリンク", "label-source-tab-header": "Tab header", "label-require-mod": "ページプレビューを表示するには{{key}}キーを押しながらホバーします" }, "bookmarks": { "name": "ブックマーク", "desc": "頻繁に使用、検索されるファイルをブックマークします。", "action-show": "ブックマークを表示", "action-collapse-all": "すべて折りたたむ", "action-new-bookmark": "アクティブタブをブックマーク…", "action-new-group": "新規ブックマークグループ", "action-bookmark": "ブックマーク…", "action-add-bookmark": "ブックマークを追加", "action-edit-bookmark": "ブックマークを編集", "action-bookmark-block": "カーソル下のブロックをブックマーク…", "action-bookmark-heading": "カーソル下の見出しをブックマーク…", "action-bookmark-search": "現在の検索をブックマーク…", "action-remove-bookmark": "現在のファイルへのブックマークを削除", "action-bookmark-tab-group": "{{count}}個のタブをブックマーク…", "action-bookmark-tab-group_plural": "{{count}}個のタブをブックマーク…", "action-bookmark-all-tabs": "すべてのタブをブックマーク…", "action-bookmark-graph": "このグラフをブックマーク…", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} ブックマーク", "label-bookmark-with-count_plural": "{{count}} ブックマーク", "label-no-bookmarks": "ブックマークが見つかりません", "label-invalid-data": "ブックマークのロードに失敗しました。", "label-invalid-data-desc": "データファイルは破損しています。", "label-untitled-group": "無題のグループ", "label-untitled-graph": "無題のグラフ", "menu-opt-edit": "編集…", "menu-opt-remove": "削除", "menu-opt-rename": "リネーム", "menu-opt-bookmark-block": "このブロックをブックマーク…", "menu-opt-bookmark-heading": "この見出しをブックマーク…", "msg-no-search-query": "ブックマークへの検索クエリがありません。", "option-path": "パス", "option-query": "クエリ", "option-u-r-l": "URL", "option-title": "タイトル", "option-group": "ブックマークグループ", "placeholder-bookmark-group": "ブックマーク" }, "custom-css": { "name": "カスタムCSS", "desc": "保管庫にある \"obsidian.css\" を読み込み、適用します。", "setting-community-themes": "コミュニティテーマ", "msg-fetching-themes": "コミュニティテーマのデータを取得しています…", "prompt-filter": "フィルタ…", "label-dark-theme-only": "ダークテーマのみ", "label-light-theme-only": "ライトテーマのみ", "label-use": "使用", "label-stop-use": "このテーマの使用を停止", "label-install-and-use": "インストールして使用", "label-update": "アップデート", "label-no-readme": "このテーマではREADMEファイルが提供されていません。", "tooltip-remove-theme": "テーマを削除", "label-visit-on-github": "GitHubで見る", "msg-load-error": "コミュニティテーマを読み込めませんでした。ネットワークの状態を確認してください。", "msg-now-using-theme": "{{title}}を新規CSSテーマにしました。", "msg-deleted-theme": "{{title}}テーマが削除されました。", "msg-updated-theme": "{{title}}テーマがアップデートされました。", "label-installed": "インストール済み", "label-legacy": "レガシー", "button-update-all-themes": "すべてをアップデート", "msg-failed-load-themes": "コミュニティテーマのロードに失敗しました。", "msg-no-updates-found": "更新されたテーマは見つかりませんでした。", "msg-updates-found": "{{count}}テーマの更新が見つかりました。", "msg-updates-found_plural": "{{count}}テーマの更新が見つかりました。", "msg-failed-to-install-theme": "\"{{name}}\"テーマのインストールに失敗しました。", "msg-successfully-installed-theme": "\"{{name}}\"テーマのインストールに成功しました。", "msg-installing-theme": "\"{{name}}\" テーマをインストール中…", "label-search-summary": "{{themeCount}}テーマを表示中:", "label-update-available": "アップデートが利用可能です。" }, "command-palette": { "name": "コマンドパレット", "desc": "コマンドを入力して機能を呼び出します。UIを使用したりショートカットを覚えることなくコマンドを使用できます。", "action-open": "コマンドパレットを開く", "instruction-navigate": "選択", "instruction-use": "使用", "instruction-dismiss": "パレットを閉じる", "label-no-commands": "コマンドが見つかりません。", "prompt-type-command": "コマンドを入力…", "label-pinned-commands": "ピン留めされたコマンド", "option-add-new-pin": "コマンドの新規ピン留め", "option-add-new-pin-description": "検索クエリが入力されていない場合、ピン留めされたコマンドはすべてのコマンドのトップに表示されます。" }, "markdown-format-importer": { "name": "Markdownフォーマットインポーター", "desc": "他のアプリのマークダウンをObsidianの形式に変換します。", "action-open": "Markdownインポーターを開く", "option-roam-tag-fixer": "Roam Researchタグフィクサー", "option-roam-tag-fixer-description": "\"#tag\" と \"#[[tag]]\" を \"[[tag]]\" に変換します。", "option-roam-highlight-fixer": "Roam Researchハイライトフィクサー", "option-roam-highlight-fixer-description": "\"^^highlight^^\" を \"==highlight==\" に変換します。", "option-roam-todo-converter": "Roam Research TODOコンバータ", "option-roam-todo-converter-description": "\"{{[[TODO]]}}\" を \"[ ]\" に変換します。", "option-bear-highlight-fixer": "Bearハイライトフィクサー", "option-bear-highlight-fixer-description": "\"::highlight::\" を \"==highlight==\" に変換します。", "zettelkasten-link-fixer": "Zettelkastenリンクフィクサー", "zettelkasten-link-fixer-description": "\"[[UID]]\" リンクを完全な \"[[UID File Name]]\" に変換します。", "zettelkasten-link-beautifier": "Zettelkastenリンクビューティファイア", "zettelkasten-link-beautifier-description": "\"[[UID]]\" リンクを変換し \"[[UID File Name|File Name]]\" に美化します。", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "警告: インポーターは現在のファイルだけでなく、保管庫内のすべてのファイルを変換します。", "msg-override-files-warning": "ファイルは上書きされます。変換する前にすべてのファイルをバックアップしてください。", "label-start-conversion": "変換を開始する", "label-stop": "停止", "label-go-back": "戻る", "label-done": "完了", "label-processing": "処理中…", "label-cancelling": "キャンセル中…", "label-finished": "完了しました!", "label-processed-files": "処理されたファイル", "label-modified-files": "変更されたファイル", "label-total-replacements": "総置換", "label-failed": "Failed" }, "daily-notes": { "name": "デイリーノート", "desc": "デイリーノートを開きます。ファイルが存在しない場合には作成します。", "short-name": "Today", "action-open": "今日のデイリーノートを開く", "action-open-previous": "前日のデイリーノートを開く", "action-open-next": "翌日のデイリーノートを開く", "action-insert-text": "デイリーノートにテキストを挿入", "action-insert-link": "デイリーノートにリンクを挿入", "msg-fail-format": "デイリーノートが作成できませんでした。\"{{format}}\" が有効な形式ではありません。", "msg-fail-folder": "デイリーノートが作成できませんでした。\"{{folderOption}}\" フォルダが見つかりません。", "msg-fail-template-file": "デイリーノートが作成できませんでした。テンプレートファイル \"{{template}}\" が見つかりません。", "msg-no-previous": "この日より前のデイリーノートがありません。", "msg-no-next": "この日より後のデイリーノートがありません。", "option-date-format": "日付の書式", "label-refer-to-syntax": "その他の構文については、以下を参照してください: ", "label-syntax-link": "フォーマットリファレンス", "label-syntax-live-preview": "このように表示されます: ", "option-new-file-location": "新規ファイルの場所", "option-new-file-location-description": "新規デイリーノートを作成するフォルダのパス。", "option-template": "テンプレートファイルの場所", "option-template-description": "テンプレートとして使用するファイルのパス。", "option-open-on-start": "起動時にデイリーノートを開く", "option-open-on-start-description": "この保管庫を開いた時、常にデイリーノートを自動的に開くように設定します。" }, "unique-note-creator": { "name": "ユニークノートクリエイター", "desc": "ZettelkastenやSlip boxといったワークフロー用にファイル名に一意なタイムスタンププレフィックスをつけてノートを作成できます。", "short-name": "ユニーク", "action-create-note": "新規ユニークノートの作成", "action-add-link": "Add unique internal link", "option-new-file-location": "新規ファイルの場所", "option-new-file-location-description": "新規ユニークノートを作成するフォルダのパス。", "msg-folder-not-found": "ユニークノートが作成できませんでした。\"{{folderOption}}\" フォルダが見つかりません。", "option-template-file": "テンプレートファイルの場所", "option-template-file-description": "テンプレートとして使用するファイルのパス。", "option-template-file-placeholder": "例: フォルダ1/ノート", "option-id-format": "ユニークなプレフィックスのフォーマット", "msg-template-file-not-found": "ユニークノートが作成できませんでした。テンプレートファイル \"{{template}}\" が見つかりません。", "msg-failed-to-generate": "フォーマット \"{{format}}\" でのユニークノートの生成に失敗しました。" }, "random-note": { "name": "ランダムノート", "desc": "ランダムにノートを1つ開きます。振返りと発見に役立ちます。", "short-name": "ランダム", "action-open": "ランダムノートを開く" }, "outline": { "name": "アウトライン", "desc": "現在のファイルやリンクされたペインのアウトラインを表示します。", "action-open": "アウトラインを開く", "action-show": "アウトラインペインを表示", "action-open-for-current": "現在のファイルのアウトラインを開く", "tab-title": "{{displayText}}のアウトライン", "label-no-headings": "見出しが見つかりません。", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "ワードカウント", "desc": "ステータスバーにワード数を表示します。" }, "slides": { "name": "スライド", "desc": "マークダウンからスライドを作成します。\"---\" で区切った部分がスライドとして分割されます。", "action-start": "スライドプレゼンテーションを開始" }, "audio-recorder": { "name": "オーディオレコーダー", "desc": "音声を録音し、添付ファイルとして保存します。", "action-start": "音声の録音を開始します", "action-stop": "音声の録音を停止します", "action-toggle": "録音の開始/停止", "msg-access-denied": "マイクアクセスが拒否されました。環境設定パネルで有効化してください。", "msg-pending-grant": "マイクに録音を開始する許可を与えてください。", "msg-no-microphone": "マイクが接続されていません。" }, "open-with-default-app": { "name": "デフォルトアプリで開く", "desc": "現在のファイルをデフォルトのアプリで開くためのボタンを追加します。", "action-open-file": "デフォルトアプリで開く", "action-open-file-mobile": "共有", "action-show-in-folder": "フォルダで表示", "action-show-in-folder-mac": "Finderに表示" }, "templates": { "name": "テンプレート", "desc": "テンプレートファイルのフォルダからテンプレートの内容を挿入します。", "action-insert": "テンプレートを挿入", "action-insert-current-date": "現在の日付を挿入", "action-insert-current-time": "現在の時間を挿入", "option-template-folder-location": "テンプレートフォルダの場所", "option-template-folder-location-description": "このフォルダ内のファイルをテンプレートとして利用できるようになります。", "option-template-date-format": "日付の書式", "option-template-date-format-description": "テンプレートファイルの{{date}}はこの値に置き換えられます。", "option-template-date-format-description2": "{{date:YYYY-MM-DD}}を使用して、書式を上書きすることもできます。", "option-template-time-format": "時刻の書式", "option-template-time-format-description": "テンプレートファイルの{{time}}はこの値に置き換えられます。", "option-template-time-format-description2": "{{time:HH:mm}}を使用して、書式を上書きすることもできます。", "instruction-navigate": "選択", "instruction-insert": "テンプレートを挿入", "instruction-dismiss": "閉じる", "msg-no-templates-found": "テンプレートが見つかりません", "msg-fail-invalid-folder": "テンプレートリストを表示できません。テンプレートフォルダが無効です。", "msg-fail-folder-not-found": "テンプレートリストを表示できません。フォルダ \"{{folderOption}}\" が見つかりません。", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "テンプレートのリストアップに失敗しました。構成されたテンプレートフォルダがありません。", "prompt-type-template": "テンプレートの名前を入力…" }, "translucency": { "name": "半透明ウィンドウ", "desc": "半透明効果を有効にして奥行き感を高めます。ダークモードでの使用に最適です。Linuxではサポートされていません。" }, "slash-command": { "name": "スラッシュコマンド", "desc": "編集中にスラッシュを入力することで、エディタ内でスラッシュコマンドを起動できるようになります。" }, "editor-status": { "name": "エディタステータス", "desc": "ステータスバーに現在のエディタモードを表示します。クリックしてモードの変更が可能です。", "read": "リーディング", "edit-source": "ソースモード", "edit-live-preview": "ライブプレビュー" }, "publish": { "name": "パブリッシュ", "desc": "Obsidian Publishを用いてインターネット上にノートを公開します。", "action-publish-changes": "パブリッシュによる変更の公開", "action-publish-file": "Publish current file", "label-no-internet-access": "変更を公開するにはインターネットにアクセスする必要があります。", "label-publish-service-description": "Obsidian Publishは、Obsidianから直接オンラインでノートを公開できるアドオン有料サービスです。", "label-please-login": "公開を開始するには、ログインするか、Obsidianアカウントを新規作成してください。", "label-no-publish-subscription": "Obsidian Publishのサブスクリプションをまだお持ちでありません。", "button-purchase": "購入", "label-manage-sites": "サイトを管理する", "label-no-sites": "サイトを持っていません。", "button-choose": "選択", "tooltip-edit-site-id": "サイトIDを編集", "tooltip-delete-site": "サイトを削除", "label-delete-site-confirmation": "このサイトを削除してもよろしいですか?", "label-delete-site-details": "サイトは即座かつ完全に削除されます。", "label-confirm-delete-site": "サイト \"{{site}}\" を削除することを確認してください", "option-site-id": "サイトID", "option-site-id-description": "あなたのサイトは https://publish.obsidian.md/{site id} です。これは後で変更できます。小文字、数字、ダッシュのみが使用できます。", "option-site-id-placeholder": "サイトIDを選択してください", "button-create": "作成", "msg-invalid-site-id": "サイトIDには、小文字、数字、ダッシュのみを含めることができます。", "msg-site-id-in-use": "このサイトIDは使用中です。別のサイトIDを試してください。", "msg-create-site-issue": "サイト作成時に問題が発生しています。", "label-site-options": "サイトオプション", "option-site-general": "一般", "option-site-components": "コンポーネント", "option-site-appearance": "外観", "option-site-reading-experience": "リーディングエクスペリエンス", "option-site-misc": "他のサイト設定", "option-site-name": "サイト名称", "option-site-name-description": "公開サイトの名前。あなたのサイトのページタイトルに表示されます。", "option-site-name-placeholder": "あなたのサイトの名称", "option-home-page-file": "ホームページファイル", "option-home-page-file-description": "公開サイトにアクセスした際にユーザーに表示される最初のページ。", "option-home-page-file-placeholder": "公開ファイルを選択", "option-logo": "ロゴ", "option-logo-description": "サイトのロゴとして使用する画像ファイルを選択してください。", "option-logo-placeholder": "保管庫内の画像…", "option-site-collaboration": "サイトコラボレーション", "option-site-collaboration-desc": "このサイトのコラボレーターを管理します。", "option-customize-navigation": "ナビゲーションをカスタマイズ", "option-customize-navigation-desc": "ナビゲーションアイテムの順番をオーバライドして特定のページやフォルダを非表示にできます。", "option-navigation-order": "ナビゲーションアイテムの表示順番", "option-hide-items-in-navigation": "ナビゲーションからページまたはフォルダを隠す", "option-hide-items-in-navigation-desc": "サイトナビゲーション内で特定のページを非表示にするには、右クリックを行い「隠す」を選択してください。非表示にしたページにはリンク経由やURLから直接アクセスできます。", "option-show-hidden-items": "非表示アイテムを表示", "button-customize-sidebar": "管理", "label-navigation-modal-title": "ナビゲーション", "label-navigation-modal-desc": "パブリッシュサイト内で表示されるナビゲーションアイテムの順番をドラッグ&ドロップでカスタマイズできます。", "option-hide-in-navigation": "隠す", "button-manage-collaborators": "管理", "option-theme": "テーマ", "option-theme-description": "サイトのデフォルトの配色を選択します。", "option-theme-system": "システムテーマを適用", "option-show-theme-toggle": "ライトテーマとダークテーマの切り替え", "option-show-theme-toggle-description": "サイト訪問者が自分でライトテーマとダークテーマを切り替えられるようにします。", "option-show-navigation": "ナビゲーションを表示", "option-show-navigation-description": "公開サイトの左側に、公開されているすべてのページのリストを表示します。", "option-show-search": "検索バーを表示", "option-show-search-description": "訪問者がサイト上のページと見出しを検索できるようにナビゲーションのトップに検索バーを表示します。", "option-show-graph": "グラフビューを表示", "option-show-graph-description": "各ページに小さなローカルグラフを表示します。", "option-show-outline": "目次を表示", "option-show-outline-description": "各ページの見出しをアウトライン表示します。", "option-show-backlinks": "バックリンクを表示", "option-show-backlinks-description": "各ページの最後にバックリンクセクションを表示します。", "option-sliding-window-mode": "スライディングウィンドウを使用", "option-sliding-window-mode-description": "右側の新規ペインでページを開きます。ペインを水平方向にスクロールできます。", "option-hover-preview-file": "プレビューをホバー表示", "option-hover-preview-file-description": "リンクにカーソルを合わせると、ページのプレビューが表示されます。", "option-hide-title": "ページタイトルを非表示にする", "option-hide-title-description": "ページタイトルの見出しを非表示にします。各ページのはじめに独自の見出しがある場合に役立ちます。", "option-readable-line-length": "読みやすい行の長さ", "option-readable-line-length-description": "最大行長を制限します。 画面に収まるコンテンツは少なくなりますが、長い段落が読みやすくなります。", "option-site-password": "パスワード", "option-site-password-description": "パスワードと共にサイトへのアクセスを制限します。", "option-google-analytics": "Googleアナリティクスのトラッキングコード", "option-google-analytics-description": "サイトにGoogleアナリティクスを設定します。Googleアナリティクスはカスタムドメインからの訪問者のみが利用できることに注意してください。まずは自身の居住する地域の法律と制限によって許可されていることを確認してください。", "button-manage-passwords": "管理", "button-save-site-settings": "サイト設定を保存", "msg-updated-options": "サイトのオプションを更新しました。", "button-go-back": "戻る", "label-publishing-to": "パブリッシュ: ", "tooltip-switch-site": "サイトの切り替え", "button-add-linked": "リンクされているファイルを追加", "tooltip-add-linked": "現在選択されているアイテムがリンクしているすべてのファイルを追加します", "msg-added-linked-files": "{{count}} のリンクされているファイルが追加されました。", "msg-added-linked-files_plural": "{{count}} のリンクされているファイルが追加されました。", "tooltip-open-site-options": "サイトオプションの変更", "label-no-changes-detected": "変更は検出されませんでした。", "label-changed-files-to-be-published": "変更あり", "label-unchanged-files-already-published": "変更なし(選択して削除)", "label-file-selected": " 選択されました", "button-select-all-files": "すべてを選択", "label-custom-navigation-title": "ナビゲーションアイテム", "button-deselect-all-files": "すべてを選択解除", "label-new-files-to-be-published": "新規", "button-publish": "パブリッシュ", "msg-no-permission-to-publish-to-site": "現在のサイトに公開する権限がありません。", "msg-select-at-least-one-file": "少なくとも1つのファイルを選択してください。", "label-upload-changes": "変更をアップロードする", "button-done": "完了", "button-stop": "停止", "label-status-uploading": "アップロード中", "label-status-to-publish": "公開する", "label-status-to-delete": "削除する", "label-status-published": "公開しました", "label-status-deleted": "削除しました", "label-status-failed": "失敗しました", "label-status-cancelled": "キャンセルしました", "button-change": "変更", "label-clear-cache": "変更がサイトに反映されるまでに最大数分かかります。 最新の変更が表示されない場合は、ブラウザのキャッシュをクリアしてみてください。", "label-visit-site": "こちらからあなたのサイトに訪問できます: ", "msg-something-went-wrong": "エラーが発生しました。詳細は開発者コンソールを確認してください。", "msg-network-error": "ネットワークエラーが発生しました。 ", "label-manage-passwords": "パスワードの管理", "label-add-password": "パスワードの追加", "action-new-password": "新規パスワード", "label-no-password": "現在、サイトにはパスワードが存在しません。誰でも閲覧することができる状態です。", "label-have-password": "あなたのサイトはパスワードで保護されています。複数のパスワードを設定している場合には、訪問者はいずれかのパスワードを入力することでサイトにアクセスできます。", "option-password-name": "パスワード", "option-password-desc": "パスワードのハッシュは安全に保存されます。パスワードは一度設定されるとプレーンテキストで表示することができなくなります。", "option-password-placeholder": "サイトのパスワード", "option-nickname-name": "ニックネーム (オプション)", "option-nickname-desc": "パスワードの用途や使用者を思い出せるようにニックネームを設定してください。", "action-add-password": "このパスワードを追加する", "label-untitled-password": "タイトルの無いパスワード", "label-password-created-time": "{{time}}に作成", "msg-added-new-password": "新規パスワードを追加しました。", "option-custom-domain": "カスタムドメイン", "option-custom-domain-desc": "https://publish.obsidian.md/{site id} URLの代わりに独自のドメインを利用します。", "option-noindex": "検索エンジンによるインデックス化を無効", "option-noindex-desc": "検索エンジンによってサイトがインデックス化されるのを防ぎます。", "button-configure": "設定", "label-configure-custom-domain": "カスタムドメインの設定", "option-custom-url-name": "カスタムURL", "option-custom-url-desc": "サイトが位置しているURL", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "カスタムドメインへのリダイレクト", "option-custom-url-redirect-desc": "publish.obsidian.md/idの訪問者を設定したカスタムドメインにリダイレクトします。", "button-update-custom-domain": "ドメイン設定を更新", "label-custom-domain-instructions": "更に多くの情報が必要な場合にはヘルプサイトの{{link}}を確認してください。", "label-custom-domain-link-name": "カスタムドメインの設定ガイド", "label-site-usage": "現在、{{limit}}中の{{site}}個を利用しています。", "button-add-more-sites": "更にサイトを購入する", "label-no-sites-bought": "まだサイトを購入していません。", "button-get-site": "サイトを取得", "label-manage-sharing": "\"{{name}}\" の共有を管理", "label-sharing-with-users": "このサイトは現在以下のユーザーに共有されています。", "label-not-sharing": "このサイトは現在誰にも共有されていません。", "label-invite-pending": "待機中", "tooltip-remove-user": "ユーザーを取り除く", "option-invite-user": "ユーザーを招待する", "placeholder-invite-user": "ユーザーのEメールアドレスを入力…", "error-email-must-be-valid": "ユーザーを招待するための有効なEメールアドレスを入力してください。", "msg-enable-publish-plugin": "サイトを閲覧するには、「設定」 -> 「コアプラグイン」の項目からパブリッシュのコアプラグインを有効にしてください。", "label-your-sites": "あなたのサイト", "label-sites-shared-with-you": "あなたに共有されているサイト", "tooltip-leave-site-sharing": "このサイト上のコラボレーションを停止", "label-leave-site-confirmation": "サイトコラボレーションの停止を確認", "label-leave-site-confirmation-details": "共有されているサイトリストからこのサイトを取り除きます。このアクションは元に戻すことができません。", "label-leave-site-confirmation-details-2": "このサイトとのコラボレーションを再開したい場合にはサイト所有者にコンタクトを取ってください。", "button-leave": "離れる", "label-compare-with-live": "ライブバージョンと比較", "button-use-live-version": "ライブバージョンを使用", "label-confirm-override": "ローカルバージョンへの上書きを確認", "label-confirm-override-1": "ローカルバージョンへの上書きを許可しますか?", "label-confirm-override-2": "ライブバージョンが使用され、ローカルバージョンは破棄されます。必要な場合にはバックアップの作成をしてください。", "button-proceed": "実行", "message-successfully-used-live-version": "ローカルバージョンが正常に上書きされました。ライブバージョンを使用することができます。", "label-open-in-live-site": "Open in live site", "label-open-file": "ファイルを開く", "tooltip-manage-publish-filters": "公開フィルターを管理", "option-included-folders": "含まれるフォルダ", "option-included-folders-desc": "これらのフォルダ内のファイルは公開の変更をプレビューする際に自動的に選択されます。", "option-currently-included-folders": " これらのフォルダが現在含まれています:", "option-excluded-folders": "除外フォルダ", "option-excluded-folders-desc": "これらのフォルダ内のファイルは公開の変更をプレビューする際に表示されません。この設定は上記の含まれるフォルダよりも優先されます。", "label-number-of-folders-included": "現在、Obsidian Publishは{{folders}}を含みます。", "label-number-of-folders-excluded": "現在、Obsidian Publishは{{folders}}を除外しています。", "label-manage-included-folders": "含めるフォルダを管理", "label-manage-excluded-folders": "除外フォルダを管理", "label-add-included-folder": "フォルダを含める", "label-add-included-folder-desc": "既存のフォルダと未作成のフォルダの両方を含めることができます。", "tooltip-contact-support": "サポートにコンタクトを取る", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "ワークスペース", "desc": "ワークスペースレイアウトを保存してロードします。", "action-load-layout": "ワークスペースレイアウトをロード", "action-manage-layouts": "ワークスペースレイアウトを管理", "action-save": "Save layout", "action-save-and-load-layout": "保存して別のワークスペースレイアウトをロード", "placeholder-save-current-layout-as": "現在のワークスペースレイアウトを保存…", "button-save": "保存", "button-load": "ロード", "tooltip-delete-layout": "レイアウトを削除", "msg-enter-name": "新規レイアウトの名前を入力してください。", "msg-save-layout-success": "レイアウトが正常に保存されました。", "label-no-layout-found": "保存されたレイアウトが見つかりません。", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "レイアウト名を入力…" }, "sync": { "name": "同期", "desc": "Obsidian Syncを介してファイルを同期します。", "action-view-version-history": "バージョン履歴を閲覧", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "更にロード", "label-show-diff": "差分の表示", "label-copy-to-clipboard": "クリップボードにコピー", "label-restore-this-version": "このバージョンを復元", "msg-already-latest-version": "このバージョンはすでに最新です。", "msg-restored-version": "{{time}}から正常にバージョンを復元しました。", "label-file-deleted": "このファイルは削除されました", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "このファイルは \"{{filepath}}\" からリネームされました", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revision", "label-revision_plural": "{{revisions}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "ファイルがありません", "label-unable-to-retrieve": "Unable to retrieve version history", "label-setting-files": "設定ファイル", "label-deleted-files": "削除されたファイル", "label-version-history": "バージョン履歴", "label-click-to-see-history": "削除されたファイルのバージョン履歴を閲覧するにはファイルをクリックしてください。", "label-create-remote-vault": "リモート保管庫の作成", "msg-please-enter-password": "パスワードを入力してください。", "msg-vault-name-cannot-be-empty": "保管庫名を空にはできません。", "msg-successfully-created-vault": "リモート保管庫 \"{{name}}\" を作成しました。", "label-remote-vault-explanation": "リモート保管庫によってデバイス間で保管庫の同期を安全に行います。", "option-vault-name": "保管庫の名称", "option-vault-name-desc": "保管庫の用途を覚えやすい名前をつけてください。", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Select the server region closest to you to store the remote vault. This cannot be changed in the future.", "option-vault-name-placeholder": "私の保管庫", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "暗号化のパスワード", "option-encryption-password-desc": "このパスワードは後から変更できません。", "option-encryption-password-desc-warning": "このパスワードを忘れてしまった場合、あらゆるリモートデータが永遠に使用不可となります。", "option-encryption-password-desc-2": "これはローカルデータに一切影響を及ぼしません。", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "パスワード", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "保管庫をアンロック", "label-remote-vaults": "リモート保管庫", "label-vault-created-time": "作成日時 {{time}}", "tooltip-delete-remote-vault": "削除", "tooltip-rename-remote-vault": "リネーム", "label-rename-remote-vault": "リモート保管庫 \"{{name}}\" をリネーム", "label-rename-remote-vault-desc": "この保管庫の新しい名前を入力してください。", "tooltip-manage-sharing": "共有を管理", "label-confirm-delete-remote-vault": "削除された保管庫の確認", "label-confirm-delete-remote-vault-question": "このリモート保管庫の削除を行いますか?", "label-confirm-delete-remote-vault-result": "サーバー内のバージョン履歴を含むすべてのデータが削除されます。ローカルファイルに影響はありません。", "label-confirm-delete-remote-vault-warning": "この実行は永続的であり、元に戻すことはできません。", "msg-remote-vault-deleted": "{{name}}は削除されています。", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "接続", "button-disconnect-from-remote-vault": "接続を切る", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "リモート保管庫を所有していません。", "label-no-subscription": "You don't have an active Obsidian Sync subscription.", "label-please-visit": "Please visit", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "保管庫を新規作成", "label-sync-log": "同期ログ", "option-event-type-all": "All", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Merge conflicts", "button-copy-sync-log": "同期ログをコピー", "msg-successfully-copied-sync-log": "同期ログのコピーに成功しました。", "button-retry": "リトライ", "button-purchase-subscription": "購入", "label-third-party-sync-warning": "ファイル共有サービスでの競合が検知されました", "label-third-party-sync-warning-desc": "警告: この保管庫は{{service}}をサードパーティの共有サービスとして利用しているようです。この保管庫に対してObsidian Syncを利用すると、競合やファイル破損、データ損失の発生する可能性があります。", "label-icloud-drive-warning": "iCloud Driveを使用している場合には、iCloudによってDocumentsとDesktopのフォルダが共有されている可能性があります。この設定はObsidian Syncとの競合を引き起こすことがあります。", "option-remote-vault": "リモート保管庫", "button-choose-remote-vault": "選択", "button-manage-remote-vault": "管理", "option-remote-vault-desc-connected": "現在、\"{{name}}\" のリモート保管庫に接続されています。", "option-remote-vault-desc-not-connected": "現在、どのリモート保管庫にも接続されていません。", "option-sync-status": "同期ステータス", "option-sync-status-desc-paused": "現在、Obsidian Syncは停止しています。", "option-sync-status-desc-running": "現在、Obsidian Syncは実行中です。", "option-device-name": "デバイス名", "option-device-name-desc": "この名前は同期ログに表示されます。デフォルトの名前を使用する場合には空白のままにしてください。", "button-resume": "再開", "button-pause": "停止", "option-view-deleted-files": "削除されたファイル", "option-view-deleted-files-desc": "削除されたファイルの閲覧と復元を行います。", "option-sync-log": "同期アクティビティ", "option-sync-log-desc": "デバッグのために最近の同期アクティビティを閲覧します。", "button-view": "閲覧", "button-bulk-restore": "一括復元", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "復元しています…", "msg-restoring-complete": "`復元が完了しました: {{succeeded}} が成功し、 {{failed}} が失敗しました。`", "option-vault-size": "保管庫のサイズ", "option-vault-size-desc": "You are using {{size}} out of {{limit}}", "option-vault-size-unknown": "Unable to retrieve your vault size.", "option-vault-size-loading": "Retrieving your vault size...", "option-over-size": "保管庫の許容サイズ", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "最大サイズのファイルを確認してください。", "msg-largest-files-desc": "これらは最もスペースを取っているリモートファイルです。添付ファイルを削除した後、リモート保管庫のスペース開放のためにパージボタンを使用してください。", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "パージ", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "スペース確保のためにリモート保管庫から削除された添付ファイルを永続的にパージします。", "msg-purge-complete": "パージが完了しました。", "option-prevent-sleep": "デバイスのスリープを防ぐ", "option-prevent-sleep-desc": "未同期のファイルが残されている場合にデバイスがスリープするのを防ぎます。", "option-selective-sync": "選択的同期", "option-excluded-folders": "除外フォルダ", "option-excluded-folder-desc": "特定のフォルダが同期されるのを防ぎます。", "option-currently-excluded-folders": "現在、次のフォルダが除外されています。", "button-manage-excluded-folders": "管理", "option-sync-image": "画像を同期", "option-sync-image-desc": "次の拡張子の画像ファイルを同期します: {{extensions}}", "option-sync-audio": "音声を同期", "option-sync-audio-desc": "次の拡張子の音声ファイルを同期します: {{extensions}}", "option-sync-video": "動画を同期", "option-sync-video-desc": "次の拡張子の動画ファイルを同期します: {{extensions}}", "option-sync-pdf": "PDFを同期", "option-sync-pdf-desc": "PDFファイルを同期します。", "option-sync-unsupported": "他のすべてのタイプのファイルを同期", "option-sync-unsupported-desc": "サポートされていないファイルタイプを同期します。", "option-vault-config-sync": "保管庫の設定を同期", "option-view-config-files": "設定のバージョン履歴", "option-view-config-files-desc": "設定ファイルのバージョンの閲覧と復元を行います。", "option-sync-app": "メイン設定", "option-sync-app-desc": "エディタ設定、ファイルとリンクの設定、カスタムホットキー等の同期を有効化します。", "option-sync-appearance": "外観設定", "option-sync-appearance-desc": "ダークモード、アクティブテーマ、有効化されているスニペットなどの外観の設定を同期するかどうかを決めます。", "option-sync-appearance-data": "テーマとスニペット", "option-sync-appearance-data-desc": "ダウンロードされたテーマとスニペットを同期するかどうかを決めます。有効化されているかどうかは外観の同期設定に依存します。", "option-sync-hotkey": "ホットキー", "option-sync-hotkey-desc": "カスタムホットキーを同期するかどうかを決めます。", "option-sync-core-plugin": "アクティブなコアプラグインのリスト", "option-sync-core-plugin-desc": "有効化されているコアプラグインを同期するかどうかを決めます。", "option-sync-core-plugin-data": "コアプラグイン設定", "option-sync-core-plugin-data-desc": "コアプラグインの設定を同期するかどうかを決めます。", "option-sync-community-plugin": "アクティブなコミュニティプラグインのリスト", "option-sync-community-plugin-desc": "有効化されているコミュニティプラグインを同期するかどうかを決めます。", "option-sync-community-plugin-data": "インストールされているコミュニティプラグイン", "option-sync-community-plugin-data-desc": "インストールされているコミュニティプラグイン(.jsファイル、.cssファイルとmanifest.jsonファイル)とプラグイン設定を同期するかどうかを決めます。", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Syncはエンドツーエンド暗号化とバージョン履歴のためのアドオン同期サービスです。", "label-account-required": "同期を開始するには、ログインするかObsidianの新規アカウントを作成してください。", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "サインアップ", "button-log-in": "ログイン", "label-manage-excluded-folders": "除外フォルダの管理", "label-number-of-folders-excluded": "現在、{{folders}}が同期から除外されています。", "label-add-excluded-folder": "フォルダを除外する", "label-add-excluded-folder-desc": "既存のフォルダと未作成のフォルダの両方を除外することができます。", "tooltip-remove-excluded-folder": "除外リストから削除", "label-setup-connection": "接続の設定", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "現在、\"{{name}}\" に接続されています。", "button-start-syncing": "同期を開始", "label-confirm-merge-vault": "保管庫の統合を確認", "msg-vault-has-notes": "ローカル保管庫にはすでにいくつかのノートが存在しています。", "msg-vault-merge-warning": "リモート保管庫 \"{{name}}\" に接続している場合には、ローカル保管庫内のノートはリモート保管庫からのノートと統合されます。競合が起きた場合には、最新バージョンのノートが維持されます。", "tooltip-update-setting-on-all-devices": "このオプションを適用したいすべてのデバイスでこのオプションを更新した上で、アプリを再起動してください。", "label-sharing-with-users": "このリモート保管庫は現在以下のユーザーに共有されています。", "label-not-sharing": "このリモート保管庫は現在誰にも共有されていません。", "label-vaults-shared-with-you": "あなたに共有されている保管庫", "tooltip-leave-vault-sharing": "この保管庫のコラボレーションを停止", "label-leave-vault-confirmation": "保管庫コラボレーションの停止を確認", "label-leave-vault-confirmation-details": "共有されている保管庫リストからこの保管庫を取り除きます。このアクションは元に戻すことができません。", "label-leave-vault-confirmation-details-2": "この保管庫とのコラボレーションを再開したい場合には保管庫所有者にコンタクトを取ってください。", "button-leave": "離れる", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "この保管庫に接続するにはObsidian Syncのサブスクリプションが必要です。", "option-contact-support": "サポートにコンタクトを取る", "option-contact-support-desc": "Obsidian Syncで何からの問題が発生した場合には、ご連絡をいただければサポートすることができます。その場合には support@obsidian.md 宛にメールを送信してください。", "button-copy-debug": "デバッグ情報をコピー", "button-email-support": "Eメールサポート", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Syncでは最大5つまでのリモート保管庫を作成することができます。新しいリモート保管庫を作成するには既存の保管庫を取り除いてください。", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "ファイルリカバリー", "desc": "予期しないデータ損失から復旧するために最近のスナップショットを復元可能にします。スナップショットはマークダウンファイルでのみ保存されます。", "action-open": "保存されたスナップショットを開く", "option-interval": "スナップショットの間隔", "option-interval-description": "2つのスナップショット間における分単位の最小間隔。", "option-keep": "履歴の期間", "option-keep-description": "スナップショットが保持される日数。", "option-open-history": "スナップショット", "option-open-history-description": "保存されたスナップショットの閲覧と復元を行います。", "button-view-history": "View", "option-clear": "履歴をクリア", "option-clear-description": "すべてのスナップショットを削除します。", "button-clear-history": "クリア", "label-clear-warning": "すべてのスナップショットを削除しますか?スナップショットのみが削除されることに注意してください。保管庫内のファイルに影響はありません。", "msg-clear-complete": "スナップショットがクリアされました。", "label-no-history-found": "スナップショットが見つかりません。", "placeholder-choose-file": "ファイルを選択…", "label-select-file": "スナップショットを閲覧するには左からファイルを選択してください。" }, "note-composer": { "name": "ノートコンポーザー", "desc": "ノートの統合と分割、リファクタリングを行います。", "option-confirm-file-merge": "ファイルの統合を確認", "option-confirm-file-merge-description": "2つのファイルを統合する前に確認のプロンプトを表示します。", "option-split-replacement-text": "移動後のテキスト", "option-split-replacement-text-description": "選択テキストの抽出の操作後に、そのテキストの元々あった場所に表示するものを決めます。", "option-choice-split-replacement-text-link": "新規ファイルにリンク", "option-choice-split-replacement-text-embed": "新規ファイルを埋め込む", "option-choice-split-replacement-text-none": "なし", "option-template-file": "テンプレートファイルの場所", "option-template-file-description": "統合や抽出の際に使用するテンプレートファイルを選択してください。利用可能な変数: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}} (例: {{date:YYYY-MM-DD}})", "command-merge-file": "現在のファイルを別のファイルに統合…", "action-merge-file": "ファイル全体を別ファイルに統合…", "label-no-files": "ファイルが見つかりませんでした。", "instruction-navigate": "選択", "instruction-merge": "統合", "instruction-create-new": "新規作成", "instruction-merge-at-top": "ノート上部に統合", "instruction-dismiss": "ノートコンポーザーを閉じる", "prompt-select-file-to-merge": "統合先のファイルを選択…", "label-merge-file": "ファイルを統合", "label-confirm-file-merge": "\"{{file}}\" を \"{{destination}}\" に統合しますか? \"{{file}}\" は削除されます。", "button-merge": "統合", "command-split-file": "現在の選択範囲を抽出…", "command-extract-heading": "この見出しを抽出…", "instruction-append": "ノート下部に移動", "instruction-prepend": "ノート上部に移動", "msg-fail-to-fetch-template": "テンプレートファイルの取得に失敗しました: \"{{template}}\" が見つかりません。", "msg-fail-to-find-heading": "見出しの発見に失敗しました。" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "キャンバス", "desc": "無限キャンバス上でのノートの配置と接続が可能です。", "action-add-note": "保管庫からノートを追加", "action-add-media": "保管庫からメディアを追加", "action-add-card": "カードを追加", "action-add-website": "ウェブページを追加", "action-create-group": "グループを作成", "action-create-with-size": "特定サイズでカードを作成", "action-convert-to-file": "ファイルを変換…", "action-drag-to-add-note": "ドラッグで保管庫からノートを追加", "action-drag-to-add-media": "ドラッグで保管庫からメディアを追加", "action-drag-to-add-card": "ドラッグでカードを追加", "action-edit-label": "ラベルを編集", "action-remove-label": "ラベルを削除", "action-search-file": "ファイルを検索", "action-set-color": "色を設定", "action-align": "整列", "action-align-left": "水平方向左に整列", "action-align-center": "水平方向中央に整列", "action-align-right": "水平方向右に整列", "action-align-top": "垂直方向上に整列", "action-align-middle": "垂直方向中央に整列", "action-align-bottom": "垂直方向下に整列", "action-distribute-horizontal-spacing": "水平方向等間隔に分布", "action-distribute-vertical-spacing": "垂直方向等間隔に分布", "action-justify-horizontally": "水平方向に揃える", "action-justify-vertically": "垂直方向に揃える", "action-arrange-horizontally": "行方向に配置", "action-arrange-vertically": "列方向に配置", "action-arrange-grid": "グリッド状に配置", "action-export-png": "画像としてエクスポート", "action-jump-to-group": "グループにジャンプ", "action-set-background": "背景を設定", "action-edit-background": "背景を編集", "action-replace-background": "背景を置き換える", "action-remove-background": "背景を削除", "label-no-images": "画像が見つかりません。", "label-no-media": "No media found.", "label-export-png-desc": "以下の設定で \"{{title}}\" をPNGファイルとしてエクスポートします。", "label-export-png-dimensions": "推定画像サイズ: {{dimensions}}", "label-distribute": "分布", "label-justify": "位置揃え", "label-arrange": "配置", "label-always": "常に有効", "label-hover": "ホバー時のみ", "label-never": "常に無効", "label-no-section-found": "セクションが見つかりません", "option-wheel-behavior": "マウスホイールのデフォルト挙動", "option-mod-drag-behavior": "{{key}} のデフォルト挙動", "option-show-menu": "メニューを表示", "option-new-canvas-location": "新規キャンバスファイルのデフォルトロケーション", "option-new-canvas-location-description": "新規作成されたキャンバスファイルが配置される場所を設定します。", "option-new-canvas-folder-path": "新規キャンバスファイルが作成されるフォルダ", "option-new-canvas-folder-path-description": "このフォルダ内にキャンバスファイルが新規作成されます。", "option-node-label": "カードラベルの表示", "option-snap-to-grid": "グリッドにスナップ", "option-snap-to-grid-desc": "カードの移動やリサイズ時にバックグラウンドのグリッドにスナップします。", "option-snap-to-objects": "オブジェクトにスナップ", "option-snap-to-objects-desc": "カードの移動やリサイズ時に近くのオブジェクトにスナップします。", "option-zoom-breakpoint": "カード内容を隠すズームの閾値", "option-zoom-breakpoint-desc": "値を小さくすることでパフォーマンスが向上しますが、ズームアウトで直ちにカード内容が隠れるようになります。", "option-export-png-show-logo": "ロゴの表示", "option-export-png-show-logo-desc": "この設定を有効化するとエクスポート画像の左下にObsidianのロゴを追加します。", "option-export-png-privacy-mode": "プライバシーモード", "option-export-png-privacy-mode-desc": "この設定を有効化するとキャンバス上のテキストをぼかします。", "option-export-png-zoom": "ズーム", "option-export-png-zoom-desc": "値を大きくすることでより高解像の画像を生成します。", "option-export-png-frame": "ビューポート", "option-export-png-frame-desc": "キャンバス全体と現在表示中のビューポートのどちらをレンダーするか選択してください。", "option-export-png-frame-full": "キャンバス全体", "option-export-png-frame-viewport": "ビューポートのみ", "option-background-cover": "カバー", "option-background-ratio": "アスペクト比を保持", "option-background-repeat": "リピート", "action-new-canvas": "新規キャンバス", "action-remove": "削除", "action-narrow-heading": "見出しに絞り込み…", "action-narrow-block": "ブロックに絞り込み…", "action-narrow-bases-view": "Pin view...", "action-swap-file": "ファイルを入れ替える…", "action-change-url": "URLを変更…", "action-zoom-to-fit": "フィットするようにズーム", "action-zoom-to-selection": "選択対象にズーム", "action-reload-page": "ページを再読み込み", "action-follow-connection": "接続を辿る", "command-create-new-canvas": "新規キャンバスを作成", "command-convert-to-file": "ファイルに変換…", "instruction-narrow-heading": "見出しを埋め込み", "instruction-narrow-block": "ブロックを埋め込み", "instruction-jump-to-group": "グループへ移動", "prompt-to-narrow": "見出し名を入力", "label-enter-url": "URLを入力", "label-empty-embed": "\"{{linktext}}\" が見つかりません。", "prompt-add-text": "テキストを追加…", "prompt-start-search": "入力して検索…", "label-canvas-help": "キャンバスのヘルプ", "label-canvas-settings": "キャンバス設定", "label-no-narrow": "ファイル全体を表示", "label-show-default-view": "Show default view", "label-readonly": "読み取り専用", "label-disable-readonly": "読み取り専用を無効化", "label-pan": "パン", "label-pan-horizontal": "水平方向にパン", "label-zoom": "ズーム", "label-select-all": "すべてを選択", "label-add-remove-selection": "選択への追加/選択からの削除", "label-clone-card": "カードを複製", "label-constrain-movement-axis": "カードの動きを座標軸に制約", "label-disable-drag-snapping": "ドラッグ中のスナップを無効化", "label-remove-card": "カードを削除", "label-drag-from-below": "下からドラッグまたはダブルクリック", "label-longpress": "追加/移動/選択を行うにはタッチしてホールドしてください", "label-drag-pan": "ドラッグでパン", "label-pinch-zoom": "ピンチでズーム", "label-space-drag-pan": "スペース + ドラッグでパン", "label-scroll-to-zoom": "スクロールでズーム", "label-untitled-group": "無題のグループ", "label-line-direction": "ラインの方向", "label-nondirectional": "無方向", "label-unidirectional": "一方向", "label-bidirectional": "双方向", "label-image": "イメージ", "label-style": "スタイル", "msg-no-groups-found": "グループが見つかりません", "msg-export-failed-empty-canvas": "空のキャンバスはエクスポートできません", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "すべてをハイライト", "action-match-diacritics": "発音区別符号に一致", "action-whole-words": "単語全体に一致", "action-show-thumbnails": "サムネイル", "action-show-outline": "目次", "action-reveal-in-outline": "目次に表示", "action-toggle-sidebar": "サイドバーをトグル", "action-previous-page": "前のページへ", "action-next-page": "次のページへ", "action-fit-width": "幅を合わせる", "action-fit-height": "高さを合わせる", "action-save-p-d-f-location": "ドキュメント内の現在位置を保存", "action-copy-annotation": "注釈をコピー", "action-copy-quote": "引用としてコピー", "action-copy-selection-link": "選択範囲へのリンクをコピー", "action-copy-annot-link": "注釈へのリンクをコピー", "action-copy-section-link": "セクションへのリンクをコピー", "action-copy-section-link-title": "“{{title}}”へのリンクをコピー", "action-copy-page-link": "{{page}}ページへのリンクをコピー", "msg-max-search-results": "{{total}} 件中 {{current}} 件目に一致", "msg-search-count": "{{total}} 件中 {{current}}件目に一致", "msg-search-count_plural": "{{total}} 件中 {{current}} 件目に一致", "msg-password-protected": "このPDFはパスワードで保護されています", "msg-invalid-password": "無効なパスワードです", "msg-enter-password": "以下にパスワードを入力してください", "label-of-pages": "/ {{count}}", "label-page-of-pages": "({{current}} / {{count}})", "label-spread-single": "単一ページ", "label-spread-odd": "二ページ (奇数)", "label-spread-even": "二ページ (偶数)", "tooltip-sidebar-options": "サイドバーオプション", "tooltip-display-options": "表示オプション", "label-adapt-to-theme": "テーマに合わせる", "label-page": "ページ {{page}}", "page_landmark": "ページ {{page}}", "thumb_page_title": "ページ {{page}}", "thumb_page_canvas": "ページ {{page}}", "text_annotation_type": "[{{type}} 注釈]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "リスト", "option-unknown": "不明", "option-text": "テキスト", "option-aliases": "エイリアス", "option-tags": "タグ", "option-folder": "Folder", "option-file": "File", "option-date": "日付", "option-datetime": "日付と時刻", "option-number": "数値", "option-checkbox": "チェックボックス" }, "value-suggestion": { "key-link-note": "[[ を入力で", "instruction-link-note": "ノートをリンク", "instruction-dismiss": "で無視" }, "option-property-type": "プロパティタイプ", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "無効なタグ名です", "msg-invalid-number": "無効な数字です", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "値がありません", "label-heading": "プロパティ", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "プロパティを追加", "label-type-mismatch-warning": "{{type}}のタイプと不一致です", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Column", "label-row": "Row", "action-row-after": "Add row after", "action-column-after": "Add column after", "action-row-before": "Add row before", "action-row-up": "Move row up", "action-row-down": "Move row down", "action-column-before": "Add column before", "action-column-left": "Move column left", "action-column-right": "Move column right", "action-duplicate-row": "Duplicate row", "action-duplicate-column": "Duplicate column", "action-delete-row": "Delete row", "action-delete-column": "Delete column", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-delete-selection": "Delete cells", "action-clear-selection": "Clear cells", "action-sort-a-z": "Sort by column (A to Z)", "action-sort-z-a": "Sort by column (Z to A)", "label-command": "Table: {{command}}" }, "callout": { "option-type": "Callout type", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Success", "question": "Question", "warning": "Warning", "quote": "Quote", "example": "Example", "none": "None" }, "option-other": "Other...", "option-other-placeholder": "Callout type..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} ワード", "word-with-count_plural": "{{count}} ワード", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} 文字", "character-with-count_plural": "{{count}} 文字", "link-with-count": "{{count}} リンク", "link-with-count_plural": "{{count}} リンク", "file-with-count": "{{count}} ファイル", "file-with-count_plural": "{{count}} ファイル", "folder-with-count": "{{count}} フォルダ", "folder-with-count_plural": "{{count}} フォルダ", "backlink-with-count": "{{count}} バックリンク", "backlink-with-count_plural": "{{count}} バックリンク", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} プロパティ", "properties-with-count_plural": "{{count}} プロパティ", "site-with-count": "{{count}} サイト", "site-with-count_plural": "{{count}} サイト", "plugin-with-count": "{{count}} プラグイン", "plugin-with-count_plural": "{{count}} プラグイン", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} テーマ", "theme-with-count_plural": "{{count}} テーマ" } }{ "setting": { "options": "ជម្រើស", "plugin": "កម្មវិធីជំនួយ", "builtin-plugins": "កម្មវិធីជំនួយចម្បង", "plugin-options": "ជម្រើសក្នុងកម្មវិធីជំនួយ", "folder-path-example-placeholder": "ឧទាហរណ៏: ថត ១/ថត​ ២", "file-path-example-placeholder": "ឧទាហរណ៏: ថត/កំណត់ត្រា", "msg-restart-required": "ការកែប្តូរជម្រើស អ្នកត្រូវបិទហើយបើកកម្មវិធីឡើងវិញ ដើម្បីឲ្យវាមានប្រសិទ្ធិភាព", "editor": { "name": "អ្នកកែប្រែ", "section-behavior": "អាកប្បកិរិយា", "section-display": "បង្ហាញ", "option-spellcheck": "ពិនិត្យអក្ខរាវិរុទ្ធ", "option-spellcheck-description": "បើកកម្មវិធីពិនិត្យអក្ខរាវិរុទ្ធ។", "spellcheck-languages": "ពិនិត្យអក្ខរាវិរុទ្ធភាសា", "spellcheck-languages-description": "ជ្រើសរើសភាសាសម្រាប់ឱ្យកម្មវិថីពិនិត្យអក្ខរាវិរុទ្ធប្រើ។", "spellcheck-languages-mac-description": "កម្មវិធីពិនិត្យអក្ខរាវិរុទ្ធដើមនឹងរកឃើញភាសាដែលត្រូវបានប្រើសម្រាប់អ្នកនៅលើ macOS ដោយស្វ័យប្រវត្តិ។", "spellcheck-dict": "វចនានុក្រមនៃការពិនិត្យអក្ខរាវិរុទ្ធ", "spellcheck-dict-empty": "វចនានុក្រមនៃការពិនិត្យអក្ខរាវិរុទ្ធគឺទទេ។", "option-show-inline-title": "បង្ហាញចំណងជើងក្នុងបន្ទាត់", "option-show-inline-title-description": "បង្ហាញឈ្មោះឯកសារជាចំណងជើងក្នុងជួរដែលអាចកែសម្រួលបានជាមួយមាតិកាឯកសារ។", "option-readable-line-length": "ប្រវែងជួរដែលអាចអានបាន។", "option-readable-line-description": "កំណត់ប្រវែងជួរអតិបរមា។ មាតិកាតិចជាងនេះសមនឹងនៅលើអេក្រង់ប៉ុន្តែបណ្តុំអត្ថបទវែងងាយស្រួលសម្រាប់​អានជាង។", "option-strict-line-break": "ការបំបែកបន្ទាត់យ៉ាងតឹងរ៉ឹង", "option-strict-line-break-description": "លក្ខណៈសម្គាល់របស់ Markdown​​ គឺមិនអើពើនឹងការបំបែកបន្ទាត់តែមួយនៅក្នុងទិដ្ឋភាពអាន។ បិទដើម្បីធ្វើឱ្យការបំបែកបន្ទាត់តែមួយអាចមើលឃើញ។", "option-properties-in-document": "Properties in document", "option-properties-in-document-description": "Choose how properties are displayed within the editor. Select \"source\" to have the properties displayed as YAML.", "option-properties-hidden": "Hidden", "option-properties-visible": "Visible", "option-properties-source": "Source", "option-auto-pair-brackets": "តង្កៀបគូដោយស្វ័យប្រវត្តិ", "option-auto-pair-brackets-description": "គូតង្កៀប និងសម្រង់ដោយស្វ័យប្រវត្តិ។", "option-auto-pair-markdown": "ផ្គូផ្គងវាក្យសម្ព័ន្ធ Markdown ដោយស្វ័យប្រវត្តិ", "option-auto-pair-markdown-description": "ផ្គូផ្គងនិមិត្តសញ្ញាដោយស្វ័យប្រវត្តិសម្រាប់ដិត និងទ្រេត។", "option-smart-indent-lists": "បញ្ជីចូលបន្ទាត់ឆ្លាតវៃ", "option-smart-indent-lists-description": "កំណត់ការចូលបន្ទាត់ដោយស្វ័យប្រវត្តិ និងដាក់ធាតុបញ្ជីឱ្យបានត្រឹមត្រូវ។", "option-fold-heading": "បត់ចំណងជើង", "option-fold-heading-description": "អនុញ្ញាតឱ្យអ្នកបត់មាតិកាទាំងអស់នៅក្រោមចំណងជើង។", "option-fold-indent": "បត់ចូលបន្ទាត់", "option-fold-indent-description": "អនុញ្ញាតឱ្យអ្នកបត់ផ្នែកនៃការចូលបន្ទាត់ ដូចជាបញ្ជី។", "option-default-new-tab-view": "ទិដ្ឋភាពលំនាំដើមសម្រាប់ផ្ទាំងថ្មី។", "option-default-new-tab-view-description": "ទិដ្ឋភាពលំនាំដើមដែលផ្ទាំង Markdown ថ្មីត្រូវបានបើកនៅក្នុង។", "option-default-new-tab-view-editing": "ទិដ្ឋភាពការកែសម្រួល", "option-default-new-tab-view-reading": "ទិដ្ឋភាពអាន", "option-open-tab-in-foreground": "ផ្តោតលើផ្ទាំងថ្មីជានិច្ច", "option-open-tab-in-foreground-description": "នៅពេលអ្នកបើកតំណនៅក្នុងផ្ទាំងថ្មី, ប្តូរទៅវាភ្លាមៗ។", "option-default-editing-mode": "របៀបកែសម្រួលលំនាំដើម", "option-default-editing-mode-description": "របៀបកែសម្រួលលំនាំដើមផ្ទាំងថ្មីនឹងចាប់ផ្តើមជាមួយ។", "option-default-editing-mode-source": "របៀបប្រភព", "option-default-editing-mode-live-preview": "ការមើលជាមុននៃការផ្សាយបន្តផ្ទាល់", "option-show-line-number": "បង្ហាញលេខបន្ទាត់", "option-show-line-number-description": "បង្ហាញ​លេខជួរ​ក្នុង​ផ្ទៃទទេ។", "option-indentation-guide": "បង្ហាញការណែនាំអំពីការចូលបន្ទាត់", "option-indentation-guide-description": "បង្ហាញបន្ទាត់ទំនាក់ទំនងបញ្ឈររវាងចំណុចចំណុចសម្រាប់ការណែនាំដែលមើលឃើញ។", "option-use-tabs": "ចូលបន្ទាត់ដោយប្រើថេប", "option-use-tabs-description": "ប្រើថេបដើម្បីចូលបន្ទាត់ដោយចុចគ្រាប់ចុច “Tab”។ បិទដើម្បីចូលបន្ទាត់ដោយប្រើចន្លោះរហូតដល់4។", "option-tab-size": "ទំហំចូលបន្ទាត់ថេប", "option-tab-size-description": "ចំនួនដកឃ្លាដែលតួអក្សរថេបនឹងបង្ហាញ។", "option-rtl": "ស្តាំ​ទៅ​ឆ្វេង (RTL)", "option-rtl-description": "កំណត់ទិសដៅអត្ថបទនៃកំណត់ចំណាំដើម្បីបង្ហាញពីស្តាំទៅឆ្វេង។", "option-auto-convert-html": "បម្លែង HTML ដោយស្វ័យប្រវត្តិ", "option-auto-convert-html-description": "បំប្លែង HTML ដោយស្វ័យប្រវត្តិទៅជា Markdown នៅពេលបិទភ្ជាប់ និងអូសនិងទម្លាក់ពីគេហទំព័រ។ ប្រើ Ctrl/Cmd+Shift+V ដើម្បីបិទភ្ជាប់ដោយគ្មានការបំប្លែង។", "option-vim-key-bindings": "ការចង Vim key", "option-vim-key-bindings-description": "អនុញ្ញាតឱ្យអ្នកប្រើការចង Vim key នៅពេលកែសម្រួល។", "option-vim-key-bindings-mobile": "នៅលើឧបករណ៍ចល័ត ការកំណត់នេះគឺក្នុងមួយឧបករណ៍ ហើយមិនត្រូវបានធ្វើសមកាលកម្មតាមរយៈឯកសារកំណត់រចនាសម្ព័ន្ធទេ។", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "បញ្ជាក់ការចូលទៅក្នុង​​ Vim ​​​​​​​ម៉ូដ", "label-vim-warning": "Vim ម៉ូដ​គឺសម្រាប់ការកែសម្រួលអត្ថបទប្រកបដោយប្រសិទ្ធភាពប៉ុន្តែអាចជាការប្រឆាំងវិចារណញាណ។ ប្រសិនបើអ្នកមិនស៊ាំជាមួយ Vim ទេ, ជម្រើសនេះអាចធ្វើឱ្យវាមើលទៅដូចជា Obsidian បានឈប់ដំណើរការ។", "label-vim-test": "ដើម្បីផ្ទៀងផ្ទាត់ថាអ្នកស្គាល់ផ្លូវរបស់អ្នកនៅជុំវិញ Vim សូមបញ្ចូលពាក្យបញ្ជាដើម្បីចាកចេញពី Vim ដោយមិនចាំបាច់រក្សាទុកនៅខាងក្រោម៖ ", "label-vim-your-answer": "ចម្លើយ​របស់​អ្នក", "placeholder-enter-command": "បញ្ចូលពាក្យបញ្ជា...", "button-confirm-enable-vim": "អនុញ្ញាតឱ្យខ្ញុំបើក Vim", "msg-vim-mode-enabled": "ពាក្យបញ្ជាគឺត្រឹមត្រូវ។ ឥឡូវនេះ Vim ​​​​​​​ម៉ូដត្រូវបានបើក។", "msg-vim-mode-not-enabled": "ពាក្យ​បញ្ជា​មិន​ត្រឹមត្រូវ។ Vim ​​​​​​​ម៉ូដ នៅតែត្រូវបានបិទដើម្បីការពារអ្នក។", "msg-vim-mode-please-enter-command": "សូមបញ្ចូលពាក្យបញ្ជាដើម្បីបើក Vim ​​​​​​​ម៉ូដ" }, "file": { "name": "ឯកសារ & តំណ", "option-confirm-file-deletion": "បញ្ជាក់ការលុបឯកសារ", "option-confirm-file-deletion-description": "ការបញ្ជាក់មុនពេលលុបឯកសារ។", "option-delete-destination": "ឯកសារដែលបានលុប", "option-delete-destination-description": "តើមានអ្វីកើតឡើងទៅកាន់ឯកសារបន្ទាប់ពីអ្នកលុបវា។", "option-choice-system-trash": "ផ្លាស់ទីទៅធុងសំរាមប្រព័ន្ធ", "option-choice-vault-trash": "ផ្លាស់ទីទៅធុងសំរាម Obsidian (.trash folder)", "option-choice-permanent-delete": "លុបជាអចិន្ត្រៃយ៍", "option-always-update-links": "អាប់ដេតតំណខាងក្នុងដោយស្វ័យប្រវត្តិ", "option-always-update-links-description": "បិទដើម្បីជម្រុញឱ្យអាប់ដេតតំណភ្ជាប់បន្ទាប់ពីប្តូរឈ្មោះឯកសារ។", "option-new-note-location": "ទីតាំងលំនាំដើមសម្រាប់កំណត់ចំណាំថ្មី", "option-new-note-location-description": "កន្លែងដែលកំណត់ចំណាំទើបតែបង្កើតថ្មីត្រូវបានដាក់។ ការកំណត់កម្មវិធីជំនួយនឹងបដិសេធវា។", "option-choice-vault-root": "Vault folder", "option-choice-current-folder": "ថតដូចគ្នានឹងឯកសារបច្ចុប្បន្ន", "option-choice-specified-folder": "នៅក្នុងថតដែលបានបញ្ជាក់ខាងក្រោម", "option-new-file-folder-path": "ថតឯកសារដើម្បីបង្កើតកំណត់ចំណាំថ្មីនៅក្នុង", "option-new-file-folder-path-description": "កំណត់ចំណាំដែលបានបង្កើតថ្មីនឹងបង្ហាញនៅក្រោមថតឯកសារនេះ។ ការកំណត់កម្មវិធីជំនួយនឹងបដិសេធវា។", "option-use-wiki-links": "ប្រើ [[Wikilinks]]", "option-use-wiki-links-description": "បង្កើត Wikilinks ដោយស្វ័យប្រវត្តិសម្រាប់ [[តំណភ្ជាប់]] និង ![[រូបភាព]] ជំនួសឱ្យ Markdown តំណភ្ជាប់និងរូបភាព. បិទជម្រើសនេះដើម្បីបង្កើតតំណភ្ជាប់ Markdown ជំនួសវិញ។", "option-show-unsupported-files": "ស្វែងរកផ្នែកបន្ថែមឯកសារទាំងអស់។", "option-show-unsupported-files-description": "បង្ហាញឯកសារដែលមានផ្នែកបន្ថែមណាមួយ ទោះបីជា Obsidian មិនអាចបើកពួកវាពីដើមក៏ដោយ ដូច្នេះអ្នកអាចភ្ជាប់ទៅពួកវា និងមើលពួកវានៅក្នុង File Explorer និង Quick Switcher ។", "option-link-autocompleted-format": "ទម្រង់តំណភ្ជាប់ថ្មី។", "option-link-autocompleted-format-description": "តើតំណភ្ជាប់អ្វីខ្លះដែលត្រូវបញ្ចូលនៅពេលបង្កើតតំណភ្ជាប់ខាងក្នុងដោយស្វ័យប្រវត្តិ។", "option-choice-shortest-linktext": "ផ្លូវខ្លីបំផុតនៅពេលដែលអាចធ្វើទៅបាន", "option-choice-relative-path": "ផ្លូវទាក់ទងទៅឯកសារ", "option-choice-absolute-path": "ផ្លូវដាច់ខាតនៅក្នុង vault", "option-new-attachment-location": "ទីតាំងលំនាំដើមសម្រាប់ឯកសារភ្ជាប់ថ្មី។", "option-new-attachment-location-description": "កន្លែងដែលឯកសារភ្ជាប់ថ្មីត្រូវបានដាក់។", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "នៅក្នុងថតរងនៅក្រោមថតបច្ចុប្បន្ន", "option-attachment-folder-path": "ផ្លូវថតឯកសារភ្ជាប់", "option-attachment-folder-path-description": "ដាក់ឯកសារភ្ជាប់ដែលបានបង្កើតថ្មី, ដូចជារូបភាពដែលបានបង្កើតតាមរយៈការអូសនិងទម្លាក់ឬការថតសំឡេង, នៅក្នុងថតឯកសារនេះ។", "option-attachment-subfolder-path": "ឈ្មោះថតរង", "option-attachment-subfolder-path-description": "ប្រសិនបើឯកសាររបស់អ្នកស្ថិតនៅក្រោម \"vault/folder\", ហើយអ្នកកំណត់ឈ្មោះថតរងទៅ \"attachments\", ឯកសារភ្ជាប់នឹងត្រូវបានរក្សាទុកទៅ \"vault/folder/attachments\".", "option-excluded-files": "ឯកសារដែលមិនរាប់បញ្ចូល", "option-excluded-files-desc": "ឯកសារដែលបានដកចេញនឹងត្រូវបានលាក់នៅក្នុងការស្វែងរក, ទិដ្ឋភាពក្រាហ្វ, និងការលើកឡើងដែលមិនភ្ជាប់, ដែលមិនសូវកត់សម្គាល់នៅក្នុង Quick Switcher និងការស្នើតំណ។", "label-no-excluded-filters-applied": "មិនមានតម្រងដែលមិនរាប់បញ្ចូលត្រូវបានអនុវត្តនៅពេលនេះទេ។ បន្ថែមមួយនៅខាងក្រោម។", "label-excluded-filters-applied": "ឯកសារដែលផ្គូផ្គងតម្រងខាងក្រោមត្រូវបានដកចេញនាពេលបច្ចុប្បន្ននេះ៖", "label-excluded-filter": "តម្រង", "message-empty-filter": "តម្រងមិនអាចទទេបានទេ។", "placeholder-excluded-filter": "បញ្ចូលផ្លូវឬ \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "រូបរាង", "option-base-theme": "មូលដ្ឋានពណ៌ចម្រុះ", "option-base-theme-description": "ជ្រើសរើសពណ៌ចម្រុះលំនាំដើមរបស់ Obsidian។", "option-accent-color": "ពណ៌​ Accent", "option-accent-color-description": "ជ្រើសរើស​ពណ៌​ Accent ដែលប្រើពេញកម្មវិធី។", "dark-theme": "ងងឹត", "light-theme": "ភ្លឺ", "system-theme": "សម្របទៅនឹងប្រព័ន្ធ", "option-font": "ពុម្ពអក្សរ", "option-advanced": "កម្រិតខ្ពស់", "option-interface": "Interface", "option-interface-font": "ពុម្ពអក្សរចំណុចប្រទាក់", "option-interface-font-description": "កំណត់ពុម្ពអក្សរមូលដ្ឋានសម្រាប់ Obsidian ទាំងអស់។", "option-zoom-level": "កម្រិតពង្រីក", "option-zoom-level-description": "គ្រប់គ្រង​កម្រិត​ពង្រីក​ទាំងមូល​នៃ​កម្មវិធី។", "option-text-font": "ពុម្ពអក្សរអត្ថបទ", "option-text-font-description": "កំណត់ពុម្ពអក្សរសម្រាប់កែសម្រួលនិងសម្រាប់អាន។", "option-monospace-font": "ពុម្ពអក្សរ monospace", "option-monospace-font-description": "កំណត់ពុម្ពអក្សរសម្រាប់កន្លែងដូចជាកូដប្លុកនិង frontmatter។", "label-single-font-currently-in-effect": " ពុម្ពអក្សរដែលបានប្រើក្នុងពេលបច្ចុប្បន្ន៖ ", "label-multiple-fonts-currently-in-effect": " ពុម្ពអក្សរខាងក្រោមត្រូវបានប្រើប្រាស់ក្នុងពេលបច្ចុប្បន្ន៖", "option-font-placeholder": "បញ្ចូលឈ្មោះពុម្ពអក្សរ...", "label-no-custom-font-set": "មិនមានពុម្ពអក្សរផ្ទាល់ខ្លួនត្រូវបានអនុវត្តទេឥឡូវនេះ។ បន្ថែមមួយខាងក្រោម។", "label-font-applied": "ពុម្ពអក្សរដំបូងពីបញ្ជីនេះដែលមាននៅលើប្រព័ន្ធរបស់អ្នកនឹងត្រូវបានអនុវត្ត។", "msg-font-not-found": "ពុម្ពអក្សរនេះមិនត្រូវបានរកឃើញនៅលើប្រព័ន្ធរបស់អ្នកទេ។", "msg-font-found": "ពុម្ពអក្សរនេះត្រូវបានរកឃើញនៅលើប្រព័ន្ធរបស់អ្នក។", "label-font-name": "ឈ្មោះពុម្ពអក្សរ", "option-community-themes": "សហគមន៍រូបរាង", "option-community-themes-description": "មើលជាមុននិងប្រើរូបរាងដ៏អស្ចារ្យដែលបង្កើតឡើងដោយសហគមន៍។", "button-browse-community-themes": "រុករក", "option-font-size": "ទំហំពុម្ពអក្សរ", "option-font-size-description": "ទំហំពុម្ពអក្សរក្នុងភីកសែលដែលប៉ះពាល់ដល់ការកែសម្រួល និងការអានទិដ្ឋភាព។", "option-font-size-action": "ការកែតម្រូវទំហំអក្សររហ័ស", "option-font-size-action-description": "កែតម្រូវទំហំពុម្ពអក្សរដោយប្រើ Ctrl + Scroll ឬដោយប្រើកាយវិការ pinch-zoom របស់ trackpad។", "option-themes": "រូបរាង", "option-manage-themes-description": "គ្រប់គ្រងរូបរាងដែលបានដំឡើងនិងរុករករូបរាងសហគមន៍។", "option-theme-button-manage": "គ្រប់គ្រង", "option-choice-none": "គ្មាន", "option-native-menus": "ម៉ឺនុយដើម", "option-native-menus-desc": "ម៉ឺនុយទូទាំងកម្មវិធីនឹងផ្គូផ្គងប្រព័ន្ធប្រតិបត្តិការ។ ពួកគេនឹងមិនរងផលប៉ះពាល់ដោយរូបរាងរបស់អ្នកទេ។", "button-reload-themes": "ផ្ទុករូបរាងឡើងវិញ", "msg-reloaded-themes": "​ផ្ទុក​រូបរាង CSS ផ្ទាល់ខ្លួន​ឡើងវិញ។", "button-open-themes-folder": "បើកថត​រូបរាង", "option-css-snippets": "CSS snippets", "label-no-css-snippets-found": "គ្មាន CSS snippets ត្រូវបានរកឃើញ។", "no-snippet-description": "CSS Snippets ត្រូវបានរក្សាទុកនៅក្នុង \"{{path}}\".", "button-reload-snippets": "ផ្ទុក​ snippets ឡើងវិញ", "button-open-snippets-folder": "បើកថតឯកសារ snippets", "msg-reloaded-snippets": "ផ្ទុក CSS snippets ឡើងវិញ។", "option-toggle-snippet-description": "អនុវត្ត CSS snippet នៅ \"{{path}}\".", "label-installed-themes": "រូបរាងដែលបានដំឡើង", "label-screenshot-unavailable": "រូបថតអេក្រង់មិនអាចប្រើបានទេ", "label-default-theme": "លំនាំដើម", "tooltip-click-to-enlarge": "សូមចុចដើម្បីពង្រីក", "button-update": "អាប់ដេត", "label-currently-active": "Active", "option-frame-style": "រចនាប័ទ្មស៊ុម window", "option-frame-description": "កំណត់រចនាសម្ព័ន្ធរចនាប័ទ្មនៃរបារចំណងជើងនៃ Obsidian windows។ ទាមទារការចាប់ផ្តើមឡើងវិញពេញលេញដើម្បីមានប្រសិទ្ធភាព។", "option-frame-hidden": "លាក់ (លំនាំដើម)", "option-frame-obsidian": "ស៊ុម Obsidian", "option-frame-native": "ស៊ុមដើម", "option-custom-icon": "Custom app icon", "option-custom-icon-desc": "Set a custom icon for the app", "button-choose-custom-icon": "Choose custom icon", "option-configure-ribbon": "ម៉ឺនុយ Ribbon", "option-configure-ribbon-desc": "កំណត់ពាក្យបញ្ជាអ្វីដែលបង្ហាញនៅក្នុងម៉ឺនុយ ribbon នៅក្នុងរបាររុករកនោះ។", "option-mobile-quick-ribbon-item": "ការចូលរហ័សវត្ថុ ribbon", "option-mobile-quick-ribbon-item-desc": "ចុចលើវត្ថុ ribbon នៅក្នុងម៉ឺនុយរុករកនឹងធ្វើឱ្យវត្ថុ ribbon នេះសកម្ម។ ចុចឱ្យជាប់នឹងនៅតែបង្ហាញម៉ឺនុយ។", "option-mobile-quick-ribbon-default": "Open ribbon menu", "button-configure": "កំណត់រចនាសម្ព័ន្ធ", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "វត្ថុ ribbon ផ្សេងទៀត។", "label-modal-configuration": "ការកំណត់​រចនាសម្ព័ន្ធ ribbon", "label-modal-configuration-desc": "ជ្រើសរើសវត្ថុណាដែលអ្នកចង់ធ្វើឱ្យសកម្មនៅក្នុង ribbon។ អូសហើយទម្លាក់ដើម្បីផ្លាស់ប្តូរលំដាប់។", "option-show-view-header": "បង្ហាញ tab របារចំណងជើង", "option-show-view-header-desc": "បង្ហាញក្បាលទំព័រនៅផ្នែកខាងលើនៃ tab នីមួយៗ។", "msg-updates-found": "រកឃើញ {{count}} ​រូបរាងដើម្បីអាប់ដេត។", "msg-updates-found_plural": "រកឃើញ {{count}} ​រូបរាងដើម្បីអាប់ដេត។", "button-check-for-updates": "ពិនិត្យរកមើលអាប់ដេត", "button-view-updates": "មើលអាប់ដេត", "button-update-all-themes": "អាប់ដេតទាំងអស់", "label-current-themes": "​រូបរាងសហគមន៍បច្ចុប្បន្ន", "label-currently-installed": "បច្ចុប្បន្នអ្នកមាន {{count}} ​រូបរាងត្រូវបានដំឡើង។", "label-currently-installed_plural": "បច្ចុប្បន្នអ្នកមាន​ {{count}} ​រូបរាងត្រូវបានដំឡើង។" }, "hotkeys": { "name": "Hotkeys", "option-search": "ស្វែងរក hotkeys", "option-search-desc": "កំពុងបង្ហាញ {{count}} hotkey។ ​", "option-search-desc_plural": "កំពុងបង្ហាញ {{count}} hotkeys។ ", "option-search-conflict": "{{count}} បញ្ជាជាមួយជម្លោះ។", "option-search-conflict_plural": "{{count}} បញ្ជាជាមួយជម្លោះ។", "prompt-filter": "ត្រង...", "tooltip-delete-hotkey": "លុប hotkey", "label-waiting-for-hotkey-press": "ចុច hotkey...", "label-show-all": "ទាំងអស់", "label-show-unassigned": "មិនបានចាត់តាំង", "label-show-assigned": "បានចាត់តាំង", "label-show-user-assigned": "ចាត់តាំងដោយខ្ញុំ", "tooltip-restore-default": "ស្តារលំនាំដើម", "tooltip-customize-command": "ប្ដូរពាក្យបញ្ជានេះតាមបំណង", "tooltip-hotkey-single-conflict": "Hotkey នេះប៉ះទង្គិចជាមួយ \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Hotkey នេះប៉ះទង្គិចជាមួយ {{count}} ពាក្យបញ្ជាផ្សេងទៀត", "label-blank-hotkey": "ទទេ" }, "about": { "name": "អំពី", "label-commercial-license": "អាជ្ញាប័ណ្ណពាណិជ្ជកម្ម", "label-license-key": "គន្លឹះអាជ្ញាប័ណ្ណ", "license-key-placeholder": "គន្លឹះអាជ្ញាប័ណ្ណរបស់អ្នក...", "label-activate-license": "ធ្វើឱ្យអាជ្ញាប័ណ្ណសកម្ម", "button-activate": "បើកដំណើរការ", "label-unknown-version": "មិនស្គាល់", "label-current-version": "កំណែបច្ចុប្បន្ន៖ ", "label-install-version": "(កំណែកម្មវិធីដំឡើង៖ {{version}})", "label-up-to-date": "កម្មវិធីរបស់អ្នកគឺទាន់សម័យ!", "label-read-changelog": "អាន changelog។", "label-manual-update-required": "ដើម្បីគាំទ្រមុខងារចុងក្រោយបំផុតនិងដើម្បីទទួលបានបំណះសុវត្ថិភាពចុងក្រោយ, Obsidian ត្រូវការការអាប់ដេតកម្មវិធីដំឡើងដ៏សំខាន់។ អ្នកត្រូវទាញយកនិងដំឡើង Obsidian ឡើងវិញដោយដៃ។", "label-new-version-ready": "កំណែ​ថ្មី​ត្រូវ​បាន​ត្រៀមជា​ស្រេច​ដើម្បី​ដំឡើង។ ", "label-disabled-updates": "ការអាប់ដេតត្រូវបានបិទ។", "button-relaunch": "បើកដំណើរការឡើងវិញ", "button-check-for-updates": "ស្វែងមើលការអាប់ដេត", "option-auto-update": "អាប់ដេតដោយស្វ័យប្រវត្តិ", "option-auto-update-description": "បិទ​​ដើម្បី​ការពារ​កម្មវិធី​ពី​ការ​ពិនិត្យរក​មើល​ការ​អាប់ដេត។", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "ទទួល​ជំនួយ", "option-get-help-description": "ទទួលជំនួយក្នុងការប្រើ Obsidian។", "button-open": "បើក", "option-language": "ភាសា", "option-language-description": "ផ្លាស់ប្តូរភាសាដែលត្រូវនឹងបង្ហាញ។", "option-insider-build": "ទទួលការស្ថាបនាខាងក្នុង", "option-insider-build-description": "ធ្វើការអាប់ដេតដោយស្វ័យប្រវត្តិទៅនឹងការស្ថាបនាខាងក្នុងនិងសាកល្បងមុខងារថ្មីៗ។ ការស្ថាបនាទាំងនេះមាន​ bleeding-edge និងប្រហែលជាមិនសូវមានស្ថេរភាព។", "option-advanced": "កម្រិតខ្ពស់", "option-hw-acceleration": "ការបង្កើនល្បឿន hardware", "option-hw-acceleration-description": "បើកការបង្កើនល្បឿន Hardware, ដែលប្រើ GPU របស់អ្នកដើម្បីធ្វើឱ្យ Obsidian រលូនជាងមុន។", "option-hw-acceleration-warning": "ប្រសិនបើអ្នកបិទវា, ដំណើរការកម្មវិធីនឹងធ្លាក់ចុះយ៉ាងខ្លាំង។", "option-config-location": "បដិសេធថតឯកសារកំណត់រចនាសម្ព័ន្ធ", "option-config-location-description": "ប្រើថតកំណត់រចនាសម្ព័ន្ធផ្សេងពីថតកំណត់រចនាសម្ព័ន្ធលំនាំដើម។ ត្រូវតែចាប់ផ្តើមដោយចំណុច។", "option-config-location-warning": "ទីតាំងកំណត់រចនាសម្ព័ន្ធត្រូវតែជាឈ្មោះថតឯកសារត្រឹមត្រូវដែលចាប់ផ្តើមដោយចំនុច។", "label-license": "អាជ្ញាប័ណ្ណ", "label-your-commercial-license-key": "គន្លឹះអាជ្ញាប័ណ្ណពាណិជ្ជកម្មរបស់អ្នកគឺ \"{{key}}\".", "label-commercial-license-info": "ចុះឈ្មោះទៅ \"{{company}}\" សម្រាប់ {{seats}} អ្នកប្រើប្រាស់។ មាន​សុពលភាព​ដល់ {{expiry}}។", "label-validating-commercial-license": "កំពុង​ធ្វើ​ឱ្យ​មាន​សុពលភាព...", "label-invalid-commercial-license": "អាជ្ញាប័ណ្ណមិនត្រឹមត្រូវ៖ ", "button-remove-commercial-license": "ដកចេញ", "option-catalyst": "អាជ្ញាប័ណ្ណ catalyst", "option-catalyst-desc": "បច្ចុប្បន្នអ្នកមាន {{tier}} អាជ្ញាប័ណ្ណ catalyst។ សូម​អរគុណ​សម្រាប់​ការ​គាំទ្រ​របស់​អ្នក!", "option-catalyst-desc-no-license": "អ្នកមិនមានអាជ្ញាប័ណ្ណ catalyst ទេឥឡូវនេះ។ អាជ្ញាប័ណ្ណ catalyst គឺជាការបរិច្ចាគតែម្តងគត់ដើម្បីគាំទ្រការអភិវឌ្ឍន៍ Obsidian។", "label-app": "កម្មវិធី", "label-add-own-language": "See how to add your language to Obsidian." }, "account": { "name": "គណនី", "option-your-account": "គណនី​របស់​អ្នក", "option-your-account-desc": "បច្ចុប្បន្នអ្នក​បាន​បញ្ចូល {{name}} ({{email}})។", "option-your-account-desc-no-login": "អ្នកមិនទាន់បានចូលទេឥឡូវនេះ។ គណនីមួយគឺត្រូវការសម្រាប់តែ Obsidian Sync, Obsidian Publish និង ការស្ថាបនាខាងក្នុងរបស់​ catalyst។", "label-insider": "អ្នកខាងក្នុង", "label-supporter": "អ្នកគាំទ្រ", "label-vip": "វីអាយភី", "button-upgrade-catalyst": "អាប់ដេត", "option-commercial-license": "អាជ្ញាប័ណ្ណពាណិជ្ជកម្ម", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "ទិញ", "button-log-out": "ចេញពីគណនី", "label-log-in": "ចូលក្នុងគណនី", "label-sign-up": "ចុះ​ឈ្មោះ", "label-email": "អ៊ីមែល", "placeholder-email": "អ៊ីមែល​របស់​អ្នក...", "label-name": "Full name", "label-password": "ពាក្យសម្ងាត់", "placeholder-password": "ពាក្យសម្ងាត់របស់អ្នក...", "label-forgot-password": "Forgot password?", "button-login": "ចូលក្នុងគណនី", "message-empty-email": "អ៊ីមែលមិនអាចទទេបានទេ។", "message-invalid-email": "អ៊ី​ម៉ែ​ល​មិន​ត្រឹមត្រូវ​។", "message-empty-password": "ពាក្យសម្ងាត់មិនអាចទទេបានទេ។", "message-login-failed": "ការចូលគណនីត្រូវបានបរាជ័យ, សូមពិនិត្យមើលអ៊ីមែលនិងពាក្យសម្ងាត់របស់អ្នកម្តងទៀត។", "message-signup-failed": "Failed to sign up", "label-no-account": "មិន​មាន​គណនី​? ", "link-sign-up-now": "ចុះឈ្មោះឥឡូវនេះ", "label-mfa-code": "6-digit 2FA code", "mfa-wrong-format": "The 2FA authenticator code must be 6 digits.", "mfa-verification-failed": "2FA code is incorrect, please double check your authenticator app." }, "core-plugin": { "plugin-list": "បញ្ជីកម្មវិធីជំនួយ", "option-search-plugin": "ស្វែងរកកម្មវិធីជំនួយសំខាន់ៗ", "option-search-plugin-description": "ត្រងកម្មវិធីជំនួយតាមឈ្មោះឬការពិពណ៌នា។", "placeholder-search-plugin": "ស្វែងរកកម្មវិធីជំនួយ..." }, "third-party-plugin": { "name": "កម្មវិធីជំនួយរបស់សហគមន៍", "option-restricted-mode": "ម៉ូដដាក់កម្រិត", "option-restricted-mode-description": "ម៉ូដដាក់កម្រិតត្រូវបានបិទ។ បើកដើម្បីបិទកម្មវិធីជំនួយសហគមន៍។", "button-turn-on": "បើក", "option-browse-community-plugins": "កម្មវិធីជំនួយសហគមន៍", "option-browse-community-plugins-description": "រកមើលនិងដំឡើងកម្មវិធីជំនួយសហគមន៍ដែលបង្កើតឡើងដោយសហគមន៍ដ៏អស្ចារ្យរបស់យើង។", "button-browse": "រុករក", "label-exit-restricted-mode": "ចាកចេញពីម៉ូដដាក់កម្រិត", "label-exit-restricted-mode-description-1": "កម្មវិធីជំនួយរបស់សហគមន៍, ដូចជាកម្មវិធីផ្សេងទៀតដែលអ្នកដំឡើង, អាចបង្កបញ្ហាសុវត្ថិភាពទិន្នន័យនិងសុវតិ្ថភាព។", "label-exit-restricted-mode-description-2": "សុវត្ថិភាពកម្មវិធីជំនួយគឺសំខាន់សម្រាប់យើង។ នេះជាអ្វីដែលយើងធ្វើ៖", "label-exit-restricted-mode-description-3": "ទោះបីជាមានការខិតខំប្រឹងប្រែងរបស់យើងក៏ដោយ, វានៅតែមានឱកាសតិចតួចដែលកម្មវិធីជំនួយសហគមន៍អាចដំណើរការខុស។", "label-code-review": "ការពិនិត្យកូដដំបូង", "label-code-review-desc": "កម្មវិធីជំនួយឆ្លងកាត់ការត្រួតពិនិត្យកូដដំបូងដោយក្រុមរបស់យើងមុនពេលពួកវាបង្ហាញនៅក្នុងហាង។", "label-open-source": "Open source", "label-open-source-desc": "កម្មវិធីជំនួយភាគច្រើនគឺ open source នៅលើ GitHub, ដូច្នេះ​អ្នក​អាច​ពិនិត្យ​កូដ​ដោយ​ខ្លួន​ឯង។", "label-peer-audit": "សវនកម្មមិត្តភក្ដិ", "label-peer-audit-desc": "យើង​មាន​សហគមន៍​អ្នក​អភិវឌ្ឍន៍​ដ៏​ធំ​មួយ​ដែល​មើល​ថែ​គ្នា​ទៅ​វិញ​ទៅ​មក។", "label-report-mechanism": "យន្តការរាយការណ៍", "label-report-mechanism-desc": "យើងតាមដាននិងលុបកម្មវិធីជំនួយដែលមានកំហុសចេញតាមរបាយការណ៍របស់អ្នកប្រើប្រាស់។", "label-exit-restricted-mode-disable-confirmation": "តើ​អ្នក​ចង់​ចេញ​ពីម៉ូដដាក់កម្រិតដើម្បី​បើក​កម្មវិធី​ជំនួយ​សហគមន៍​ដែរ​ឬ​ទេ? យើងណែនាំយ៉ាងមុតមាំឱ្យធ្វើការបម្រុងទុកទិន្នន័យរបស់អ្នកមុនពេលធ្វើ។", "label-learn-more": "ស្វែងយល់បន្ថែមអំពីសុវត្ថិភាពកម្មវិធីជំនួយ", "button-turn-on-community-plugins": "បើកកម្មវិធីជំនួយសហគមន៍", "label-trust-author": "តើអ្នកជឿជាក់លើអ្នកនិពន្ធ vault នេះទេ?", "label-trust-author-description-1": "អ្នកកំពុងបើក vault នេះជាលើកដំបូងហើយវាភ្ជាប់មកជាមួយកម្មវិធីជំនួយមួយចំនួន។", "label-trust-author-description-2": "ប្រសិនបើអ្នកទទួលបាន vault នេះពីអ្នកផ្សេង, សូមចំណាំថាកម្មវិធីជំនួយដែលមានប្រភពដើមមិនច្បាស់លាស់អាចបង្កហានិភ័យសុវត្ថិភាព។", "label-trust-author-description-3": "ប្រសិនបើអ្នកមិនជឿជាក់ទាំងស្រុងលើអ្នកនិពន្ធនៃ vault នេះទេ, យើង​សូម​ណែនាំ​ឱ្យ​នៅ​ក្នុង​ម៉ូដដាក់កម្រិត, ដូច្នេះកម្មវិធីជំនួយនៅក្នុង vault នេះមិនដំណើរការ។", "button-enable-plugins": "ជឿជាក់លើអ្នកនិពន្ធនិងបើកកម្មវិធីជំនួយ", "button-dont-trust-author": "រុករក vault នៅក្នុងម៉ូដដាក់កម្រិត", "placeholder-community-plugins": "ស្វែងរកកម្មវិធីជំនួយសហគមន៍...", "msg-failed-load-plugins": "បរាជ័យក្នុងការផ្ទុកកម្មវិធីជំនួយសហគមន៍។", "label-installed": "បានដំឡើង", "button-install": "ដំឡើង", "button-enable": "បើកដំណើរការ", "button-disable": "បិទដំណើរការ", "button-copy-share-link": "ចម្លងតំណចែករំលែក", "button-donate": "បរិច្ចាគ", "label-no-results-found": "រក​មិន​ឃើញ​លទ្ធផល។", "label-no-recent-files-found": "មិនបានរកឃើញឯកសារថ្មីៗ។ វាយបញ្ចូលដើម្បីស្វែងរក...", "msg-failed-to-load-manifest": "បរាជ័យក្នុងការផ្ទុក manifest កម្មវិធីជំនួយ។", "label-version": "កំណែ៖ {{version}}", "label-currently-installed-version": " (បច្ចុប្បន្ន​នេះ​បាន​ដំឡើង៖​ {{version}})", "label-by-author": "ដោយ ", "label-repository": "ឃ្លាំង៖ ", "label-last-update": "អាប់ដេតចុងក្រោយ៖ ", "tooltip-view-last-update": "មើលការអាប់ដេតចុងក្រោយបង្អស់", "label-unsupported": "កម្មវិធីជំនួយនេះមិនគាំទ្រឧបករណ៍របស់អ្នកទេ។", "button-update": "អាប់ដេត", "label-no-readme": "កម្មវិធីជំនួយនេះមិនបានផ្តល់ឯកសារ README ទេ។", "msg-installing-plugin": "កំពុងដំឡើងកម្មវិធីជំនួយ \"{{name}}\"...", "msg-failed-to-install-plugin": "បរាជ័យក្នុងការដំឡើងកម្មវិធីជំនួយ \"{{name}}\".", "msg-successfully-installed-plugin": "ដំឡើងកម្មវិធីជំនួយដោយជោគជ័យ \"{{name}}\".", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "កម្មវិធីជំនួយដែលបានដំឡើង", "button-reload-plugins": "ផ្ទុកកម្មវិធីជំនួយឡើងវិញ", "msg-reloaded-third-party-plugins": "ផ្ទុកកម្មវិធីជំនួយភាគីទីបីឡើងវិញ។", "label-uninstall": "លុបការដំឡើង", "label-uninstall-plugin": "លុបកម្មវិធីជំនួយ", "label-uninstall-plugin-confirmation": "តើអ្នកប្រាកដថាចង់លុបកម្មវិធីជំនួយនេះទេ? វានឹងលុបថតឯកសារជំនួយ។", "button-open-plugins-folder": "បើកថតកម្មវិធីជំនួយ", "button-check-for-updates": "ពិនិត្យរក​មើលអាប់ដេត", "button-update-all-plugins": "អាប់ដេតទាំងអស់", "label-current-plugins": "កម្មវិធីជំនួយបច្ចុប្បន្ន", "label-currently-installed": "បច្ចុប្បន្នអ្នកមាន {{count}} កម្មវិធីជំនួយត្រូវបានដំឡើង។", "label-currently-installed_plural": "បច្ចុប្បន្នអ្នកមាន {{count}} កម្មវិធីជំនួយត្រូវបានដំឡើង។", "msg-no-updates-found": "រកមិនឃើញការអាប់ដេតកម្មវិធីជំនួយ។", "msg-updates-found": "រកឃើញ {{count}} កម្មវិធីជំនួយដើម្បីអាប់ដេត។", "msg-updates-found_plural": "រកឃើញ {{count}} កម្មវិធីជំនួយដើម្បីអាប់ដេត។", "msg-update-plugin": "អាប់ដេត​ទៅ​កំណែ {{version}}", "option-search-installed-plugin": "ស្វែងរកកម្មវិធីជំនួយដែលបានដំឡើង", "option-search-installed-plugin-description": "ត្រងកម្មវិធីជំនួយដែលបានដំឡើងតាមឈ្មោះឬការពិពណ៌នា។", "placeholder-search-installed-plugin": "ស្វែងរកកម្មវិធីជំនួយដែលបានដំឡើង...", "show-installed-only": "បង្ហាញ​តែ​បាន​ដំឡើង", "label-donate-modal-title": "បរិច្ចាគដើម្បីគាំទ្រ {{name}}", "label-donate-modal-text1": "អ្នកបង្កើតកម្មវិធីជំនួយគឺជាអ្នកស្ម័គ្រចិត្តសហគមន៍ដែលបង្កើតរបស់អស្ចារ្យចេញពីចំណង់ចំណូលចិត្ត។ ប្រសិនបើអ្នកយល់ថាកម្មវិធីជំនួយនេះមានប្រយោជន៍, សូមពិចារណាផ្តល់មូលនិធិដល់ការអភិវឌ្ឍន៍របស់វា។", "label-donate-modal-text2": "100% នៃការរួមចំណែករបស់អ្នកនឹងទៅកាន់អ្នកអភិវឌ្ឍន៍កម្មវិធីជំនួយ; Obsidian មិនកាត់ទេ។ វេទិកាផ្តល់មូលនិធិដែលពួកគេជ្រើសរើសអាចគិតថ្លៃសេវា។", "label-donate-modal-text3": "សូមអរគុណចំពោះការគាំទ្រដ៏សប្បុរសរបស់អ្នក!", "label-support-this-plugin": "គាំទ្រកម្មវិធីជំនួយនេះ៖", "label-search-summary": "កំពុងបង្ហាញ {{pluginCount}}:", "label-by-popularity": "ទាញយកច្រើនបំផុត", "label-by-released": "ចេញថ្មីៗ", "label-by-updated": "អាប់ដេតថ្មីៗ", "label-alphabetical": "តាមលំដាប់អក្សរក្រម", "label-last-updated": "ត្រូវបានអាប់ដេត {{time}}" }, "mobile-toolbar": { "name": "ចល័ត", "option-configure-quick-action": "កំណត់រចនាសម្ព័ន្ធសកម្មភាពរហ័សចល័ត", "option-configure-quick-action-description": "កំណត់រចនាសម្ព័ន្ធពាក្យបញ្ជាណាដែលត្រូវចាប់ផ្ដើមនៅពេលទាញចុះពីខាងលើ។ ពាក្យបញ្ជាបច្ចុប្បន្នត្រូវបានកំណត់ទៅ \"{{command}}\"។", "msg-missing-quick-action": "Action not configured", "button-configure": "កំណត់រចនាសម្ព័ន្ធ", "placeholder-select-quick-action": "ជ្រើសរើសសកម្មភាពរហ័ស...", "quick-action-disabled": "None", "manage-toolbar-options": "គ្រប់គ្រងជម្រើសរបារឧបករណ៍", "option-internal-link": "បន្ថែម​ internal តំណភ្ជាប់", "option-internal-embed": "បន្ថែមការបង្កប់", "option-tag": "បន្ថែមស្លាក", "option-heading": "ប្តូរចំណងជើង", "option-strikethrough": "ប្តូរបន្ទាត់ឆូត", "option-highlight": "ប្តូរផ្នែកសំខាន់", "option-code": "ប្តូរកូដ", "option-blockquote": "ប្តូរ blockquote ", "option-inline-math": "Toggle inline math", "option-math-block": "Toggle math block", "option-markdown-link": "បន្ថែមតំណភ្ជាប់ Markdown", "option-bullet-list": "ប្តូរចំណុចរាយ", "option-numbered-list": "ប្តូរលេខរាយ", "option-indent-list": "ចូលបន្ទាត់វត្ថុរាយ", "option-unindent-list": "មិនចូលបន្ទាត់វត្ថុរាយ", "option-undo": "មិនធ្វើវិញ", "option-redo": "ធ្វើឡើងវិញ", "option-move-caret-up": "ផ្លាស់ទីសញ្ញា ^ ឡើងលើ", "option-move-caret-down": "ផ្លាស់ទីសញ្ញា ^ ចុះក្រោម", "option-move-caret-left": "ផ្លាស់ទីសញ្ញា ^ ទៅឆ្វេង", "option-move-caret-right": "ផ្លាស់ទីសញ្ញា ^ ទៅស្តាំ", "option-first-line": "ទៅជួរទីមួយ", "option-last-line": "ទៅកាន់ជួរចុងក្រោយ", "option-toggle-keyboard": "ប្តូរក្តារចុច", "option-configure-toolbar": "កំណត់រចនាសម្ព័ន្ធរបារឧបករណ៍ចល័ត", "option-added-options": "បានបន្ថែមជម្រើស", "option-more-toolbar-options": "ជម្រើសរបារឧបករណ៍ច្រើនទៀត", "option-attach": "បញ្ចូលឯកសារភ្ជាប់", "option-add-command": "បន្ថែមពាក្យបញ្ជាសកល", "option-add-command-description": "ជ្រើសរើសពាក្យបញ្ជាសកលណាមួយដើម្បីបន្ថែមទៅរបារឧបករណ៍។" } }, "editor": { "search": { "placeholder-find": "ស្វែងរក", "placeholder-replace": "ជំនួស", "label-exit-search": "ចាកចេញពីការស្វែងរក", "label-next": "បន្ទាប់", "label-previous": "មុន", "label-find-all": "Find all", "label-replace": "ជំនួស", "label-replace-all": "ជំនួសទាំងអស់" }, "link-suggestion": { "label-type-hash": "វាយ #", "label-link-heading": "ដើម្បីភ្ជាប់ចំណងជើង", "label-type-block": "វាយ ^", "label-link-block": "ដើម្បីភ្ជាប់ blocks", "label-type-pipe": "វាយ |", "label-change-display-text": "ដើម្បីផ្លាស់ប្តូរអត្ថបទបង្ហាញ", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "រកមិនឃើញដំណូចទេ។", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "គ្មានការណែនាំ...", "add-to-dictionary": "បញ្ចូលទៅក្នុងវចនានុក្រម" }, "menu": { "edit-link": "កែសម្រួលតំណភ្ជាប់", "edit-tag": "Edit tag", "label-edit-block": "Edit this block", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "គ្មានចំណងជើង", "label-heading-level": "ចំណងជើង {{level}}" }, "print-modal": { "title": "នាំចេញទៅ PDF", "caption": "នាំចេញ \"{{filename}}\" ទៅជា PDF ជាមួយនឹងការកំណត់ខាងក្រោម។", "setting-page-size": "ទំហំទំព័រ", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "បញ្ចូលឈ្មោះឯកសារជាចំណងជើង", "setting-landscape": "ផ្តេក", "setting-margin": "រឹម", "setting-margin-default": "លំនាំដើម", "setting-margin-minimal": "តិចតួច", "setting-margin-none": "គ្មាន", "setting-downscale-percent": "កម្រិតទាបភាគរយ", "button-export-to-pdf": "នាំចេញទៅ PDF" }, "link-popover": { "tooltip-follow-link": "តាមដានតំណ", "tooltip-open-link": "បើកតំណ", "tooltip-search-tag": "ស្វែងរកស្លាក" } }, "interface": { "embed-cannot-find": "មិនអាច​រក​ឃើញ៖", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "បើកនៅក្នុងកម្មវិធីលំនាំដើម", "empty-sidebar": "របារចំហៀងគឺទទេ, សូមព្យាយាមអូស tab មួយមកនៅទីនេះ។", "sidebar-expand": "ពង្រីក", "sidebar-collapse": "បង្រួម", "msg-fail-to-save-file": "បរាជ័យក្នុងការរក្សាទុកឯកសារ \"{{filepath}}\"។ {{message}}។ ធ្វើការបម្រុងទុកនៃមាតិកានៃឯកសារនេះឥឡូវនេះដើម្បីជៀសវាងការបាត់បង់ទិន្នន័យ។", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "គ្មានឯកសារ", "msg-file-changed": "\"{{file}}\" ត្រូវ​បាន​កែប្រែ​ខាង​ក្រៅ, ​បញ្ចូល​ការ​ផ្លាស់ប្ដូរ​ដោយ​ស្វ័យ​ប្រវត្តិ។", "switch-vault": "បើក vault មួយទៀត", "manage-vaults": "Manage vaults...", "help": "ជំនួយ", "settings": "ការកំណត់", "drag-to-rearrange": "អូសដើម្បីរៀបចំឡើងវិញ", "msg-switched-to-read": "បានប្តូរម៉ូដមើលលំនាំដើមទៅជាទិដ្ឋភាពអាន។", "msg-switched-to-edit": "បានប្តូរម៉ូដមើលលំនាំដើមទៅជាទិដ្ឋភាពកែសម្រួល។", "msg-upgrade-installer": "ដើម្បីប្រើមុខងារនេះ, សូមដំឡើងឡើងវិញជាមួយនឹងកម្មវិធីដំឡើងចុងក្រោយបំផុតដែលមានពីគេហទំព័ររបស់យើង។", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "ស្តារការកំណត់លំនាំដើម", "label-copy": "ចម្លងទៅឃ្លីបបត", "label-copy-short": "Copy", "copied_generic": "បានចម្លងទៅឃ្លីបបតរបស់អ្នក", "copied": "{{item}} បានចម្លងទៅឃ្លីបបតរបស់អ្នក", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "ឯកសារដែលបានបើក \"{{path}}\"", "msg-file-not-found-through-uri": "ឯកសារ \"{{name}}\" មិនបានរកឃើញ។", "delete-action-short-name": "លុប", "msg-indexing": "Obsidian កំពុងធ្វើលិបិក្រម vault របស់អ្នក។...\nនេះគួរតែកើតឡើងតែម្តងប៉ុណ្ណោះ។\nមុខងារ​មួយ​ចំនួន​អាច​នឹង​មិន​អាច​ប្រើ​បាន​រហូត​ដល់​វា​បញ្ចប់។", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "ការធ្វើលិបិក្រមបានបញ្ចប់។", "msg-sandbox-vault": "នេះគឺជា sandbox vault។\nការផ្លាស់ប្តូរដែលអ្នកបានធ្វើនៅក្នុង vault នេះនឹងបាត់បង់។", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "បញ្ចូលដើម្បីបង្កើត", "label-update-available": "ការអាប់ដេតអាចប្រើបាន", "label-debug-info": "ព័ត៌មានកំនែកូដ", "button-learn-more": "ស្វែង​យល់​បន្ថែម", "button-not-now": "មិនមែនពេលនេះ", "button-add": "បន្ថែម", "button-manage": "គ្រប់គ្រង", "label-new-tab": "Tab ថ្មី", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "បច្ចុប្បន្ន tab នេះរវល់, សូមព្យាយាមម្តងទៀតនៅពេលក្រោយ", "formatting": { "label-formatting": "Format", "label-paragraph": "Paragraph", "label-insert": "Insert", "insert-link": "Add link", "insert-external-link": "Add external link", "insert-callout": "Callout", "insert-horizontal-rule": "Horizontal rule", "insert-code-block": "Code block", "insert-math-block": "Math block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comments": "Comment", "toggle-highlight": "Highlight", "toggle-italics": "Italic", "toggle-strikethrough": "Strikethrough", "toggle-math": "Math", "toggle-bullet-list": "Bullet list", "toggle-checklist": "Task list", "toggle-numbered-list": "Numbered list", "set-heading": "Heading {{level}}", "no-heading": "Body", "clear": "Clear formatting", "toggle-quote": "Quote" }, "empty-state": { "no-file-open": "គ្មាន​ឯកសារ​ត្រូវ​បាន​បើក", "create-new-file": "បង្កើតឯកសារថ្មី", "go-to-file": "ចូលទៅកាន់ឯកសារ", "see-recent-files": "មើលឯកសារថ្មីៗ", "close": "បិទ", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "កម្មវិធីជំនួយលែងដំណើរការ", "unknown-pane-desc": "កម្មវិធីជំនួយដែលបង្កើតទិដ្ឋភាពនេះ ({{type}}) បានទៅឆ្ងាយ" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "ទិដ្ឋភាពបច្ចុប្បន្ន៖ កែសម្រួល", "read-view": "ទិដ្ឋភាពបច្ចុប្បន្ន៖ អាន", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "ចុចដើម្បីកែសម្រួល", "switch-to-read-view": "ចុចដើម្បីអាន", "mod-click-open-new-tab": "{{key}}+ចុចដើម្បីបើកក្នុង tab ថ្មី។", "find": "ស្វែងរក...", "replace": "ជំនួស...", "edit": "កែសម្រួល", "remove": "Remove", "rename": "Rename", "preview": "ការមើលជាមុន", "more-options": "ជម្រើសបន្ថែមទៀត", "close": "បិទ", "close-all": "បិទទាំងអស់", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "បិទអ្វីផ្សេងទៀត", "close-after": "Close tabs after", "pin": "ខ្ទាស់", "unpin": "ដកខ្ទាស់", "unlink-tab": "ផ្តាច់ tab", "link-tab": "ភ្ជាប់ជាមួយ tab...", "toggle-source-mode": "Source ម៉ូដ", "toggle-reading-view": "ទិដ្ឋភាពអាន", "add-property": "Add file property", "delete-file": "លុប​ឯកសារ", "create-file": "បង្កើតឯកសារនេះ", "open-link": "បើកតំណភ្ជាប់", "open-in-new-tab": "បើកក្នុង tab ថ្មី", "open-to-the-right": "បើកទៅខាងស្តាំ", "copy-url": "ចម្លង URL", "copy": "ចម្លង", "cut": "កាត់", "paste": "បិទភ្ជាប់", "paste-as-plain-text": "បិទភ្ជាប់ជាអត្ថបទធម្មតា", "lookup-selection": "រក​មើល “{{selection}}”", "select-all": "ជ្រើសរើស​ទាំងអស់", "rename-heading": "ប្តូរឈ្មោះចំណងជើងនេះ...", "rename-blockid": "ប្តូរឈ្មោះលេខសម្គាល់ប្លុកនេះ...", "open-in-new-window": "បើកក្នុង window ថ្មី", "move-to-new-window": "ផ្លាស់ទីទៅ window ថ្មី", "open-in-browser": "បើកនៅក្នុងកម្មវិធីរុករក", "stack-tabs": "ជង់ tabs", "unstack-tabs": "ស្រាយ tabs", "open-linked-view": "បើកទិដ្ឋភាពដែលបានភ្ជាប់" }, "tooltip": { "click-to-expand": "ចុចដើម្បីពង្រីក", "click-to-collapse": "ចុចដើម្បីបង្រួម", "alias": "ឈ្មោះក្លែងក្លាយ", "not-created-yet": "មិនទាន់បានបង្កើតនៅឡើយទេ, សូមជ្រើសរើសដើម្បីបង្កើត" }, "start-screen": { "label-version": "Version", "label-create-local-vault": "បង្កើត vault ក្នុងស្រុក", "option-open-folder-as-vault": "បើកថតឯកសារជា vault", "option-open-folder-as-vault-description": "ជ្រើសរើសថតឯកសារ Markdown ដែលមានស្រាប់។", "option-create-vault": "បង្កើត vault ​ថ្មី", "option-create-vault-description": "បង្កើត vault Obsidian ថ្មីនៅក្រោមថតឯកសារ។", "option-connect-obsidian-sync": "បើក vault ពី Obsidian សមកាលកម្ម", "option-connect-obsidian-sync-description": "រៀបចំ vault ដែលបានធ្វើសមកាលកម្មជាមួយនឹង vault ពីចម្ងាយដែលមានស្រាប់។", "option-new-vault-name": "ឈ្មោះ vault", "option-new-vault-name-description": "ជ្រើសរើសឈ្មោះសម្រាប់ vault ដ៏អស្ចារ្យរបស់អ្នក។", "option-new-vault-location": "ទីតាំង", "option-new-vault-location-description": "ជ្រើសរើសកន្លែងដាក់ vault ថ្មីរបស់អ្នក។", "label-new-vault-location-preview": "Vault ថ្មីរបស់អ្នកនឹងត្រូវបានដាក់នៅក្នុង៖ ", "option-reveal-vault-in-explorer": "បង្ហាញ vault នៅក្នុងកម្មវិធីរុករកប្រព័ន្ធ", "option-reveal-vault-in-explorer-mac": "បង្ហាញ vault នៅក្នុង Finder", "option-rename-vault": "ប្តូរឈ្មោះ vault...", "option-copy-vault-i-d": "Copy vault ID", "msg-error-rename-exists": "មាន vault ដែលមានឈ្មោះនេះរួចហើយ។", "msg-error-nested": "មិនអាចផ្លាស់ទី vault ទៅក្នុងថតរងរបស់វាបានទេ។", "msg-error-rename-open": "មិនអាចប្តូរឈ្មោះ vault ដែលបើកបច្ចុប្បន្នបានទេ។", "msg-rename-failed": "បរាជ័យក្នុងការប្តូរឈ្មោះ vault។", "msg-rename-success": "Vault ត្រូវបានប្តូរឈ្មោះដោយជោគជ័យ។", "option-move-vault": "ផ្លាស់ទី vault...", "msg-move-select-dest": "ជ្រើសរើសថតទិសដៅ", "msg-error-move-exists": "មាន vault មួយនៅគោលដៅហើយ។", "msg-error-move-open": "មិន​អាច​ផ្លាស់ទី vault ​ដែល​បាន​បើក​បច្ចុប្បន្ន​។", "msg-move-failed": "បរាជ័យក្នុងការផ្លាស់ទី vault។", "msg-move-success": "បាន​ផ្លាស់ទី​ vault ​​ដោយ​ជោគជ័យ។", "option-remove": "យកចេញពីបញ្ជី", "button-quick-start": "ការចាប់ផ្តើមរហ័ស", "button-open": "បើក", "button-browse": "រុករក", "button-connect": "ភ្ជាប់", "button-create-vault": "បង្កើត", "button-back": "ថយក្រោយ", "msg-empty-vault-name": "ឈ្មោះ​​ vault មិនអាចទទេបានទេ។", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "សូមជ្រើសរើសថតឯកសារត្រឹមត្រូវ។", "msg-failed-to-create-vault": "បរាជ័យក្នុងការបង្កើត vault។", "msg-failed-to-create-vault-at-location": "មិនអាចបង្កើត​ vault នៅទីតាំងដែលបានផ្តល់ឱ្យបានទេ។ សូមពិនិត្យមើលទីតាំងនិងការអនុញ្ញាតម្តងទៀត។", "msg-error-failed-to-open-vault": "បរាជ័យក្នុងការបើក។", "msg-error-remove-current-open-vault": "មិន​អាច​ដក​ vault ​ដែល​បើក​ចេញ​បច្ចុប្បន្ន​ចេញ​ទេ។", "option-get-help": "ទទួល​ជំនួយ", "option-user-email": "Email", "placeholder-your-email": "Email របស់អ្នក...", "option-user-password": "ពាក្យសម្ងាត់", "placeholder-your-password": "ពាក្យសម្ងាត់របស់អ្នក...", "button-sign-in": "ចុះឈ្មោះចូល", "button-setup": "រៀបចំ", "option-connect-vault-desc": "បង្កើត​ vault ដែលបានធ្វើសមកាលកម្មនៅលើឧបករណ៍នេះ។", "tooltip-own-vault": "នេះគឺជា​ vault ពីចម្ងាយដែលជាកម្មសិទ្ធិរបស់អ្នក។", "tooltip-shared-vault": "នេះគឺជា​ vault ពីចម្ងាយដែលចែករំលែកជាមួយអ្នក។", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Welcome", "welcome-file-content": "This is your new *vault*.\n\nMake a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nWhen you're ready, delete this note and make the vault your own." }, "drag-and-drop": { "insert-link-here": "បញ្ចូលតំណភ្ជាប់នៅទីនេះ", "insert-links-here": "បញ្ចូលតំណភ្ជាប់នៅទីនេះ", "move-into-folder": "ផ្លាស់ទីទៅ \"{{folder}}\"", "star-this-file": "ដាក់ផ្កាយឯកសារនេះ", "star-these-files": "ដាក់ផ្កាយឯកសារទាំងនេះ", "open-in-this-tab": "បើកនៅក្នុង tab នេះ", "open-as-tab": "បើកជា tab ថ្មី" }, "window": { "maximize": "ពង្រីកអតិបរមា", "minimize": "បង្រួមអប្បបរមា", "restore-down": "ស្តារឡើងវិញ", "close-window": "បិទ window", "go-back": "ត្រឡប់​ក្រោយ", "go-forward": "ឆ្ពោះទៅមុខ" }, "start-up": { "loading-obsidian": "កំពុងដំណើរការ Obsidian...", "obsidian-load-error": "កំហុសបានកើតឡើងខណៈពេលកំពុងផ្ទុក Obsidian ។", "button-reload-app": "ផ្ទុកកម្មវិធីឡើងវិញ", "button-reload-app-in-safe-mode": "ផ្ទុកកម្មវិធីឡើងវិញនៅក្នុងម៉ូដដាក់កម្រិត", "button-open-another-vault": "បើក​ vault មួយទៀត", "loading-plugins": "កំពុងផ្ទុកកម្មវិធីជំនួយ...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "កំពុង​ផ្ទុក​ vault...", "msg-failed-to-load-vault": "បរាជ័យក្នុងការផ្ទុក​ vault៖ ", "loading-cache": "កំពុងផ្ទុក cache...", "loading-workspace": "កំពុងផ្ទុកកន្លែងធ្វើការ..." }, "mobile": { "action-import": "នាំចូល​ទៅ​ក្នុង​ vault", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "ជ្រើសរើសឯកសារដើម្បីបញ្ចូល", "action-insert-text-into-file": "បញ្ចូលអត្ថបទទៅក្នុង {{filename}}", "action-insert-link-into-file": "បញ្ចូលតំណភ្ជាប់ទៅ {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "នាំចូល...", "msg-import-success": "នាំចូលជោគជ័យ", "msg-failed-to-import-file": "បរាជ័យ​ក្នុង​ការ​នាំ​ចូល​ឯកសារ {{filename}}", "msg-back-again-to-exit": "ចុចត្រឡប់មកវិញម្តងទៀតដើម្បីចេញ។", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "គេហទំព័រជំនួយផ្លូវការ", "label-official-help-site-desc": "អានឯកសារជំនួយផ្លូវការរបស់ Obsidian ដែលមានច្រើនភាសា។", "action-visit": "ចូលមើល", "label-discord-chat": "Discord chat", "label-discord-chat-desc": "Discord គឺជាកន្លែងដ៏ល្អបំផុតដើម្បីជជែកជាមួយអ្នកប្រើប្រាស់ Obsidian ដែលមានបទពិសោធន៍ផ្សេងទៀតមកពីជុំវិញពិភពលោក។", "action-join": "ចូលរួម", "label-forum": "វេទិកាផ្លូវការ", "label-forum-desc": "ជួយគ្នាទៅវិញទៅមក, ប្រកាសសំណើលក្ខណៈពិសេស, រាយការណ៍កំហុស, និងមានការពិភាក្សាស៊ីជម្រៅអំពីការគ្រប់គ្រងចំណេះដឹង។", "label-sandbox-vault": "Sandbox vault", "label-sandbox-vault-desc": "លេងជុំវិញនិងពិសោធន៍ជាមួយមុខងារផ្សេងៗ។ សូមចំណាំថាការផ្លាស់ប្តូររបស់អ្នកនឹងមិនត្រូវបានរក្សាទុកទេ។" } }, "commands": { "save-file": "រក្សាទុកឯកសារបច្ចុប្បន្ន", "download-attachments": "Download attachments for current file", "follow-cursor-link": "ធ្វើតាមតំណនៅក្រោមទស្សន៍ទ្រនិច", "open-cursor-link-in-new-tab": "បើកតំណក្រោមទស្សន៍ទ្រនិចក្នុង tab ថ្មី", "open-cursor-link-to-the-right": "បើកតំណនៅក្រោមទស្សន៍ទ្រនិចទៅខាងស្តាំ", "open-cursor-link-in-new-window": "បើកតំណនៅក្រោមទស្សន៍ទ្រនិចក្នុង window ថ្មី", "navigate-tab-above": "ផ្តោតលើក្រុម tab ខាងលើ", "navigate-tab-below": "ផ្តោតលើក្រុម tab ខាងក្រោម", "navigate-tab-left": "ផ្តោតលើក្រុម tab នៅខាងឆ្វេង", "navigate-tab-right": "ផ្តោតលើក្រុម tab នៅខាងស្តាំ", "toggle-pin": "បិទ/បើកខ្ទាស់", "split-right": "បំបែកខាងស្តាំ", "split-down": "បំបែកចុះ", "toggle-stacked-tabs": "បិទ/បើក tabs ជង់", "navigate-back": "រុករកត្រឡប់មកវិញ", "navigate-forward": "រុករកទៅមុខ", "use-dark-mode": "ប្រើម៉ូដងងឹត", "use-light-mode": "ប្រើម៉ូដភ្លឺ", "change-theme": "ផ្លាស់ប្តូររូបរាង", "search-current-file": "ស្វែងរកឯកសារបច្ចុប្បន្ន", "search-replace-current-file": "ស្វែងរកនិងជំនួសក្នុងឯកសារបច្ចុប្បន្ន", "add-property": "Add file property", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Clear file properties", "open-settings": "បើកការកំណត់", "open-help": "បើកជំនួយ", "toggle-edit": "បិទ/បើក​ទិដ្ឋភាព​កែសម្រួល/អាន", "toggle-source-mode": "បិទ/បើក របៀបមើលជាមុន/Source mode", "delete-current-file": "លុបឯកសារបច្ចុប្បន្ន", "new-tab": "Tab ថ្មី", "show-trash": "Show trash", "close-all-tabs": "បិទ tab ទាំងអស់", "close-active-tab": "បិទ tab បច្ចុប្បន្ន", "close-others-in-tab-group": "បិទអ្វីផ្សេងទៀតនៅក្នុងក្រុម tab", "close-other-tabs": "បិទ tab ផ្សេងទៀតទាំងអស់", "close-tab-group": "បិទក្រុម tab នេះ។", "toggle-left-sidebar": "បិទ/បើករបារចំហៀងខាងឆ្វេង", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "បិទ/បើករបារចំហៀងខាងស្តាំ", "toggle-default-new-tab-mode": "បិទ/បើករបៀបលំនាំដើមសម្រាប់ផ្ទាំងថ្មី។", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "ផ្តោតលើចំណាំចុងក្រោយ", "toggle-fold-properties": "Toggle fold properties in current file", "toggle-fold": "បិទ/បើកបត់នៅលើជួរបច្ចុប្បន្ន", "fold-all": "បត់ចំណងជើងនិងបញ្ជីទាំងអស់", "unfold-all": "លាតត្រដាងចំណងជើងនិងបញ្ជីទាំងអស់", "fold-more": "បត់បន្ថែមទៀត", "fold-less": "បត់បន្ថយ", "swap-line-up": "រំកិលជួរឡើងលើ", "swap-line-down": "រំកិលជួរចុះក្រោម", "remove-heading": "ដកចំណងជើងចេញ", "toggle-heading": "កំណត់ជាចំណងជើង {{level}}", "toggle-bold": "បិទ/បើក​ដិត", "toggle-italics": "បិទ/បើកទ្រេត", "toggle-highlight": "បិទ/បើក ពណ៌ចំណាំ", "toggle-comments": "បិទ/បើក មតិយោបល់", "clear-formatting": "Clear formatting", "insert-link": "បញ្ចូលតំណភ្ជាប់ Markdown", "toggle-spellcheck": "បិទ/បើកការពិនិត្យអក្ខរាវិរុទ្ធ", "delete-paragraph": "លុបកថាខណ្ឌ", "toggle-checklist": "បិទ/បើកស្ថានភាពប្រអប់ធីក", "cycle-list-checklist": "រង្វង់ចំណុច/ប្រអប់ធីក", "insert-callout": "បញ្ចូល callout", "insert-code-block": "Insert code block", "insert-math-block": "Insert math block", "insert-horizontal-rule": "Insert horizontal rule", "insert-table": "Insert table", "insert-footnote": "Insert footnote", "edit-file-title": "ប្តូរឈ្មោះឯកសារ", "copy-path": "ចម្លងផ្លូវឯកសារ", "copy-url": "ចម្លង Obsidian URL", "export-pdf": "នាំចេញទៅជា PDF...", "reload": "ផ្ទុកកម្មវិធីឡើងវិញដោយមិនរក្សាទុក", "undo-close-tab": "មិនធ្វើវិញបិទ tab", "context-menu": "បង្ហាញម៉ឺនុយបរិបទនៅក្រោមទស្សន៍ទ្រនិច", "show-debug-info": "បង្ហាញព័ត៌មានបំបាត់កំហុស", "open-sandbox-vault": "បើក sandbox vault", "always-on-top": "បិទ/បើក window ​តែងតែ​នៅ​ខាង​លើ", "zoom-in": "ពង្រីក​ចូល", "zoom-out": "បង្រួម​ចេញ", "reset-zoom": "កំណត់ការពង្រីកឡើងវិញ", "toggle-preview": "បិទ/បើក​ទិដ្ឋភាព​អាន", "move-to-new-window": "ផ្លាស់ទី tab បច្ចុប្បន្នទៅ window ថ្មី", "open-in-new-window": "បើក tab បច្ចុប្បន្នទៅ window ថ្មី", "rename-current-file": "ប្តូរឈ្មោះឯកសារបច្ចុប្បន្ន", "go-to-prev-tab": "Go to previous tab", "go-to-next-tab": "Go to next tab", "go-to-last-tab": "Go to last tab", "go-to-nth-tab": "Go to tab #{{n}}", "show-release-notes": "Show release notes" }, "dialogue": { "label-link-affected": "នេះនឹងប៉ះពាល់ដល់ {{links}} ក្នុង {{files}}។", "msg-updated-links": "អាប់ដេត {{links}} ក្នុង {{files}}។", "label-update-links": "អាប់ដេតតំណភ្ជាប់", "label-confirm-update-link-to-file": "តើអ្នកចង់អាប់ដេតតំណភ្ជាប់ខាងក្នុងដែលភ្ជាប់ទៅឯកសារនេះទេ?", "button-always-update": "អាប់ដេតជានិច្ច", "button-just-once": "តែម្តង", "button-do-not-update": "កុំអាប់ដេត", "label-confirm-deletion": "តើអ្នកប្រាកដថាចង់លុប \"{{filename}}\"?", "label-move-to-system-trash": "វានឹងត្រូវបានផ្លាស់ទីទៅធុងសំរាមប្រព័ន្ធរបស់អ្នក។", "label-move-to-vault-trash": "វានឹងត្រូវបានផ្លាស់ទីទៅធុងសំរាម Obsidian របស់អ្នក ដែលមានទីតាំងនៅ \".trash\" ថតដែលលាក់នៅក្នុង vault​ របស់អ្នក។", "label-permanent-delete": "ឯកសារនឹងត្រូវបានលុបជាអចិន្ត្រៃយ៍។", "label-non-empty-folder": "ថតឯកសារនេះមិនទទេទេ។", "label-delete-folder-warning": "ប្រសិនបើអ្នកបន្ត, ឯកសារទាំងអស់នៅក្នុងថតនេះនឹងត្រូវបានលុប។", "label-delete-folder": "លុបថតឯកសារ", "button-delete": "លុប", "button-delete-do-not-ask-again": "លុបហើយកុំសួរទៀត", "label-do-not-ask-again": "កុំសួរម្តងទៀត", "label-existing-backlink": "បច្ចុប្បន្នមាន {{count}} តំណភ្ជាប់ដែលចង្អុលទៅកាន់កំណត់ត្រានេះ។", "label-existing-backlink_plural": "បច្ចុប្បន្នមាន {{count}} តំណភ្ជាប់ដែលចង្អុលទៅកាន់កំណត់ត្រានេះ។", "label-delete-file": "លុប​ឯកសារ", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "គ្រប់គ្រង", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "បោះបង់", "button-download": "Download", "button-done": "រួចរាល់", "button-save": "រក្សាទុក", "button-stop": "ឈប់", "button-continue": "បន្ត", "button-choose": "Choose", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "កំពុង​រៀបចំ​ឯកសារ PDF...", "label-rename-file": "ចំណងជើងកំណត់ចំណាំ", "label-rename-file-generic": "ឈ្មោះ​ឯកសារ", "label-new-name": "ឈ្មោះថ្មី", "msg-rename-success": "បានប្តូរឈ្មោះឯកសារដោយជោគជ័យ។", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "ប្តូរឈ្មោះចំណងជើង", "label-rename-blockid": "ប្តូរឈ្មោះលេខសម្គាល់​ block" }, "menu-items": { "new-file": "កំណត់ចំណាំថ្មី", "new-file-to-the-right": "កំណត់ចំណាំថ្មីទៅខាងស្ដាំ", "new-window": "Window ថ្មី", "open-switcher": "បើករហ័ស...", "open-vault": "បើក Vault...", "close-tab": "បិទ Tab", "close-window": "បិទ Window", "find": "ស្វែងរក", "replace": "ជំនួស", "insert-callout": "Callout", "insert-markdown-link": "តំណភ្ជាប់ Markdown", "insert-wikilink": "តំណភ្ជាប់", "set-heading": "ចំណងជើង {{level}}", "no-heading": "គ្មានចំណងជើង", "insert-quote": "សម្រង់", "export-pdf": "នាំចេញទៅជា PDF...", "insert-attachment": "Insert Attachment...", "insert-codeblock": "Code Block", "insert-math-block": "Math Block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bullet-list": "បញ្ជីចំណុច", "toggle-numbered-list": "បញ្ជីលេខ", "toggle-checklist": "បញ្ជីកិច្ចការ", "toggle-bold": "ដិត", "toggle-code": "កូដ", "toggle-comment": "មតិយោបល់", "toggle-italics": "ទ្រេត", "toggle-inline-math": "Math", "toggle-highlight": "ពណ៌ចំណាំ", "toggle-strikethrough": "បន្ទាត់ឆូត", "toggle-comments": "មតិយោបល់", "folding-menu": "Folding", "fold-all": "បត់ទាំងអស់", "unfold-all": "លាតត្រដាងទាំងអស់", "fold-more": "បត់បន្ថែមទៀត", "fold-less": "បត់បន្ថយ", "source-mode": "ម៉ូដប្រភព", "reading-view": "ទិដ្ឋភាពអាន", "show-debug-info": "បង្ហាញព័ត៌មានបំបាត់កំហុស", "open-sandbox": "បើក Sandbox Vault", "navigate-back": "រុករកត្រឡប់មកវិញ", "navigate-forward": "រុករកទៅមុខ", "toggle-left-sidebar": "បិទ/បើករបារចំហៀងខាងឆ្វេង", "toggle-right-sidebar": "បិទ/បើក របារចំហៀងខាងស្តាំ", "toggle-ribbon": "Ribbon", "split-right": "បំបែក​ខាង​ស្ដាំ", "split-down": "បំបែកចុះ", "release-notes": "ការចេញផ្សាយកំណត់ចំណាំ" }, "plugins": { "name": "កម្មវិធីជំនួយ", "file-explorer": { "name": "ឯកសារ", "desc": "មើលឯកសារ និងថតឯកសារនៅក្នុង vault របស់អ្នក។", "action-open": "បើកកម្មវិធីរុករកឯកសារ", "action-show": "បង្ហាញកម្មវិធីរុករកឯកសារ", "action-create-note": "បង្កើត​កំណត់ចំណាំថ្មី", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "បង្កើតកំណត់ចំណាំថ្មីក្នុង tab បច្ចុប្បន្ន", "action-create-note-to-the-right": "បង្កើតកំណត់ចំណាំនៅខាងស្តាំ", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "បង្រួមទាំងអស់", "action-expand-all": "ពង្រីកទាំងអស់", "action-new-note": "កំណត់ចំណាំថ្មី", "action-new-folder": "ប្រអប់​ឯកសារ​ថ្មី", "action-change-sort": "ផ្លាស់ប្តូរលំដាប់តម្រៀប", "action-reveal-file": "បង្ហាញឯកសារនៅក្នុងការរុករក", "action-reveal-active-file": "បង្ហាញឯកសារបច្ចុប្បន្ននៅក្នុងការរុករក", "command-make-a-copy": "ធ្វើច្បាប់ចម្លងនៃឯកសារបច្ចុប្បន្ន", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "ផ្លាស់ទីឯកសារបច្ចុប្បន្នទៅថតឯកសារផ្សេងទៀត", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "ផ្លាស់ទីឯកសារទៅ...", "action-move-folder": "ផ្លាស់ទីថតឯកសារទៅ...", "action-move-items": "ផ្លាស់ទី {{count}} វត្ថុទៅ... ", "prompt-type-folder": "វាយបញ្ចូលថតឯកសារ", "label-no-folders": "ថតដែលមានស្រាប់មិនត្រូវបានរកឃើញ", "instruction-navigate": "ដើម្បីរុករក", "instruction-move": "ដើម្បី​ផ្លាស់ទី", "instruction-create": "ដើម្បីបង្កើត", "instruction-dismiss": "ដើម្បីច្រានចោល", "label-sort-a-to-z": "ឈ្មោះ​ឯកសារ (A to Z)", "label-sort-z-to-a": "ឈ្មោះ​ឯកសារ (Z to A)", "label-sort-new-to-old": "ពេលវេលាដែលបានកែប្រែ (ថ្មីទៅចាស់)", "label-sort-old-to-new": "ពេលវេលាដែលបានកែប្រែ (ចាស់ទៅថ្មី)", "label-sort-created-old-to-new": "ពេលវេលាដែលបានបង្កើត (ចាស់ទៅថ្មី)", "label-sort-created-new-to-old": "ពេលវេលាដែលបានបង្កើត (ថ្មីទៅចាស់)", "menu-opt-new-note": "កំណត់ចំណាំថ្មី", "menu-opt-new-folder": "ប្រអប់​ឯកសារ​ថ្មី", "menu-opt-rename": "ប្តូរឈ្មោះ", "menu-opt-delete": "លុប", "menu-opt-make-copy": "ធ្វើច្បាប់ចម្លង", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "ឈ្មោះឯកសារមិនអាចមានតួអក្សរទាំងនេះទេ៖ ", "msg-unsafe-characters": "តំណនឹងមិនដំណើរការជាមួយឈ្មោះឯកសារដែលមានតួអក្សរទាំងនេះទេ៖ ", "msg-file-already-exists": "មានឯកសារដែលមានឈ្មោះដូចគ្នារួចហើយ", "msg-empty-file-name": "ឈ្មោះឯកសារមិនអាចទទេបានទេ។", "msg-bad-dotfile": "ឈ្មោះឯកសារមិនត្រូវចាប់ផ្តើមដោយចំនុចទេ។", "tooltip-modified-time": "កែប្រែចុងក្រោយនៅ {{time}}", "tooltip-created-time": "បង្កើតនៅ {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "គ្មានចំណងជើង", "label-untitled-folder": "គ្មានចំណងជើង", "msg-set-attachment-folder": "ឯកសារភ្ជាប់នឹងត្រូវបានរក្សាទុកទៅ \"{{path}}\" ចាប់ពី​ពេលនេះ​ទៅ។" }, "search": { "name": "ស្វែងរក", "desc": "ស្វែងរកពាក្យគន្លឹះនៅក្នុងកំណត់ចំណាំទាំងអស់។", "action-open-search": "ស្វែងរកក្នុងឯកសារទាំងអស់", "label-collapse-results": "បង្រួមលទ្ធផល", "label-match-case": "ករណីផ្គូផ្គង", "label-explain-search-term": "ពន្យល់ពាក្យស្វែងរក", "label-more-context": "បង្ហាញបរិបទបន្ថែមទៀត", "label-result-count": "{{count}} លទ្ធផល", "label-result-count_plural": "{{count}} លទ្ធផល", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "ការ​កំណត់​ការ​ស្វែងរក", "prompt-start-search": "ស្វែងរក...", "label-match-text": "អត្ថបទត្រូវគ្នា៖ ", "label-match-regex": "Regex ត្រូវគ្នា៖ ", "label-match-exact-text": "មានអត្ថបទពិតប្រាកដ៖ ", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "Contains property:", "label-match-all": "ផ្គូផ្គងទាំងអស់នៃ៖ ", "label-match-any": "ផ្គូផ្គងណាមួយនៃ៖ ", "label-excluding": "មិនរាប់បញ្ចូល៖ ", "label-case-sensitive": "ករណីប្រកាន់", "label-case-insensitive": "ករណីមិនប្រកាន់", "label-match-file-path": "ផ្គូផ្គងផ្លូវឯកសារ៖ ", "label-match-file-name": "ឈ្មោះឯកសារដែលត្រូវគ្នា៖ ", "label-match-content": "មាតិកាឯកសារដែលត្រូវគ្នា៖ ", "label-match-task": "ភារកិច្ចផ្គូផ្គង៖ ", "label-match-task-todo": "ភារកិច្ចផ្គូផ្គង (ត្រូវធ្វើ)៖ ", "label-match-task-done": "ភារកិច្ចផ្គូផ្គង (រួចរាល់)៖ ", "label-match-line": "ជួរដែលត្រូវគ្នា៖ ", "label-match-block": "Block ដែលត្រូវគ្នា៖ ", "label-match-section": "ផ្នែកដែលត្រូវគ្នា៖ ", "label-match-tag": "Tag ដែលត្រូវគ្នា៖ ", "label-no-matches": "រកមិនឃើញការផ្គូផ្គងទេ។", "matches-with-count": "... និង {{count}} ការផ្គូផ្គងបន្ថែមទៀត។", "matches-with-count_plural": "... និង {{count}} ការផ្គូផ្គងបន្ថែមទៀត។", "label-copy-search-results": "ចម្លងលទ្ធផលស្វែងរក", "button-copy-results": "ចម្លងលទ្ធផល", "msg-successfully-copied": "លទ្ធផលត្រូវបានចម្លងទៅឃ្លីបបតរបស់អ្នក។", "option-show-path": "បង្ហាញផ្លូវ", "option-show-path-description": "បង្ហាញផ្លូវពេញរបស់ឯកសារជាជាងគ្រាន់តែឈ្មោះឯកសារ។", "option-link-style": "រចនាប័ទ្មតំណភ្ជាប់", "option-link-style-description": "ជាជម្រើសបង្វែរលទ្ធផលឯកសារនីមួយៗទៅជាតំណភ្ជាប់។", "option-choice-link-style-none": "គ្មាន", "option-choice-link-style-wikilink": "តំណភ្ជាប់ wiki", "option-choice-link-style-markdown-link": "តំណភ្ជាប់ markdown", "option-list-prefix": "បញ្ជីបុព្វបទ", "option-list-prefix-description": "ជាជម្រើសបន្ថែមបុព្វបទវត្ថុបញ្ជីទៅលទ្ធផលឯកសារនីមួយៗ។", "option-choice-list-style-none": "គ្មាន", "option-choice-list-style-dash": "សញ្ញាទ្រេកណ្តាល (-)", "option-choice-list-style-asterisk": "សញ្ញាផ្កាយ (*)", "option-choice-list-style-numbered": "លេខ", "tooltip-clear-search": "ជម្រះការស្វែងរក", "label-search-options": "ជម្រើសនៃការស្វែងរក", "label-properties-group": "Properties", "label-tags-group": "Tags", "tooltip-read-more": "អាន​បន្ថែម", "label-history": "ប្រវត្តិសាស្ត្រ", "tooltip-clear-history": "លុបប្រវត្តិស្វែងរក", "label-path-option-description": "ផ្គូផ្គងផ្លូវដែលត្រូវគ្នានៃឯកសារ", "label-file-name-option-description": "ឈ្មោះឯកសារដែលត្រូវគ្នា", "label-tag-option-description": "ស្វែងរក tags", "label-line-option-description": "ស្វែងរកពាក្យគន្លឹះនៅលើជួរតែមួយ", "label-section-option-description": "ស្វែងរកពាក្យគន្លឹះក្រោមចំណងជើងដូចគ្នា", "label-property-option-description": "match property", "menu-opt-search-for": "ស្វែងរក \"{{keyword}}\"", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "ឧបករណ៍ផ្លាស់ប្តូររហ័ស", "desc": "ប្រើ Ctrl/Cmd+O ដើម្បីលោតទៅឯកសារផ្សេងទៀតដោយប្រើក្តារចុចរបស់អ្នក។", "short-name": "ឧបករណ៍ប្តូរ", "action-open": "បើកឧបករណ៍ផ្លាស់ប្តូររហ័ស", "instruction-navigate": "ដើម្បីរុករក", "instruction-open": "ដើម្បីបើក", "instruction-open-in-new-tab": "ដើម្បីបើកនៅក្នុង tab ថ្មី", "instruction-open-to-the-right": "ដើម្បីបើកទៅខាងស្តាំ", "instruction-create": "ដើម្បីបង្កើត", "instruction-dismiss": "ដើម្បីច្រានចោល", "instruction-select": "ដើម្បីជ្រើសរើស", "label-no-note-create-new": "រកមិនឃើញកំណត់ចំណាំ។ បញ្ចូលដើម្បីបង្កើតថ្មី។", "prompt-type-file-name": "ស្វែងរកឬបង្កើតកំណត់ចំណាំ...", "label-enter-to-create": "បញ្ចូលដើម្បីបង្កើត", "tooltip-not-created-yet": "មិនទាន់បានបង្កើតនៅឡើយទេ, សូមជ្រើសរើសដើម្បីបង្កើត", "option-show-existing-only": "បង្ហាញតែដែលមានស្រាប់", "option-show-existing-only-description": "បង្ហាញតែលទ្ធផលពីឯកសារដែលមានស្រាប់។ តំណភ្ជាប់ទៅកាន់ឯកសារដែលមិនទាន់បានបង្កើតនឹងត្រូវបានលាក់។", "option-show-attachments": "បង្ហាញឯកសារភ្ជាប់", "option-show-attachments-desc": "បង្ហាញឯកសារភ្ជាប់ដូចជារូបភាព, វីដេអូ, និង PDF។", "option-show-all-file-types": "បង្ហាញប្រភេទឯកសារទាំងអស់", "option-show-all-file-types-desc": "បង្ហាញឯកសារទាំងអស់រួមទាំងឯកសារដែល Obsidian មិនអាចបើកបាន។ ឯកសារនឹងត្រូវបានបើកជាមួយកម្មវិធីលំនាំដើមសម្រាប់ប្រភេទឯកសារនោះ។" }, "graph-view": { "name": "ទិដ្ឋភាពក្រាហ្វ", "desc": "មើលក្រាហ្វដែលបង្ហាញតំណភ្ជាប់រវាងកំណត់ចំណាំរបស់អ្នក។", "action-open": "បើកទិដ្ឋភាពក្រាហ្វ", "action-open-local": "បើកក្រាហ្វក្នុងតំបន់", "action-copy-screenshot": "ចម្លងរូបថតអេក្រង់", "tab-title": "ក្រាហ្វនៃ {{displayText}}", "label-filters": "តម្រង", "prompt-filter-nodes": "ស្វែងរកឯកសារ...", "option-depth": "ជម្រៅ", "option-depth-description": "បង្ហាញ nodes ចំនួននៃតំណភ្ជាប់នេះឆ្ងាយ", "option-neighbor-links": "តំណភ្ជាប់អ្នកជិតខាង", "option-neighbor-links-description": "បង្ហាញទំនាក់ទំនងរវាងតំណភ្ជាប់អ្នកជិតខាង", "option-forelinks": "តំណភ្ជាប់ចេញ", "option-forelinks-description": "បង្ហាញតំណភ្ជាប់ទៅកាន់ឯកសារផ្សេងទៀត", "option-backlinks": "តំណភ្ជាប់ចូល", "option-backlinks-description": "បង្ហាញតំណភ្ជាប់ពីឯកសារផ្សេងទៀត។", "option-show-tags": "Tags", "option-show-tags-description": "Tags ត្រូវបានភ្ជាប់ទៅឯកសារដែលមានពួកវា", "option-show-attachments": "ឯកសារភ្ជាប់", "option-show-attachments-description": "បង្ហាញឯកសារភ្ជាប់", "option-show-existing-files-only": "ឯកសារដែលមានស្រាប់តែប៉ុណ្ណោះ", "option-show-existing-files-only-description": "នៅពេលបើកដំណើរការ, តំណភ្ជាប់ទៅកាន់ឯកសារដែលមិនមានមិនត្រូវបានបង្ហាញ", "option-show-orphans": "Orphans", "option-show-orphans-description": "បង្ហាញឯកសារដែលមិនត្រូវបានភ្ជាប់ទៅឯកសារផ្សេងទៀត", "label-display": "បង្ហាញ", "option-show-arrows": "ព្រួញ", "option-show-arrows-description": "បង្ហាញព្រួញនៅពេលបង្រួម", "option-text-fade": "កម្រិតបន្ថយអត្ថបទ", "option-node-size": "ទំហំ node", "option-link-thickness": "កម្រាស់តំណ", "label-forces": "កម្លាំង", "option-center-force": "កម្លាំងកណ្តាល", "option-link-force": "កម្លាំងតំណភ្ជាប់", "option-link-distance": "ចម្ងាយតំណភ្ជាប់", "option-repel-force": "វាយលុកកម្លាំង", "tooltip-open-graph-settings": "បើកការកំណត់ក្រាហ្វ", "msg-screenshot-copied": "រូបថតអេក្រង់ត្រូវបានចម្លងទៅឃ្លីបបត។", "label-groups": "ក្រុម", "placeholder-enter-query": "បញ្ចូលសំណួរ...", "tooltip-delete-graph": "លុបក្រុម", "button-new-group": "ក្រុមថ្មី", "tooltip-click-to-change-drag-to-reorder": "ចុចដើម្បីប្តូរពណ៌\nអូសដើម្បីតម្រៀបក្រុមឡើងវិញ", "action-timelapse": "ចាប់​ផ្តើម​ចលនា​កំណត់​ម៉ោង​ក្រាហ្វិក", "tooltip-start-timelapse-animation": "ចាប់​ផ្ដើម​ចលនា​ពេល​វេលា", "button-animate-timelapse": "ចលនា" }, "backlinks": { "name": "តំណភ្ជាប់ខាងក្រោយ", "desc": "បង្ហាញតំណភ្ជាប់ពីឯកសារផ្សេងទៀតទៅកាន់ឯកសារនេះ។ Backlinks អាចត្រូវបានបង្ហាញក្នុងទិដ្ឋភាពដាច់ដោយឡែក ឬជាជម្រើសនៅក្នុងឯកសារខ្លួនវាផ្ទាល់។", "action-open": "បើកតំណភ្ជាប់ខាងក្រោយ", "action-show": "បង្ហាញតំណភ្ជាប់ខាងក្រោយ", "action-open-for-current": "បើកតំណភ្ជាប់ខាងក្រោយសម្រាប់កំណត់ចំណាំបច្ចុប្បន្ន", "action-toggle-backlinks-in-document": "បិទ/បើកតំណភ្ជាប់ខាងក្រោយក្នុងឯកសារ", "menu-opt-backlinks-in-document": "តំណភ្ជាប់ខាងក្រោយនៅក្នុងឯកសារ", "label-linked-mentions": "ការលើកឡើងដែលភ្ជាប់", "label-no-backlinks": "រកមិនឃើញតំណភ្ជាប់ខាងក្រោយ", "label-unlinked-mentions": "ការលើកឡើងដែលមិនភ្ជាប់", "label-show-search": "បង្ហាញតម្រងស្វែងរក", "label-link-button-text": "តំណភ្ជាប់", "tab-title": "តំណភ្ជាប់ខាងក្រោយសម្រាប់ {{displayText}}", "label-no-unlinked-mentions": "រកមិនឃើញការលើកឡើងដែលមិនភ្ជាប់ទេ។", "ellipsis": "...", "option-backlink-in-document": "តំណភ្ជាប់ខាងក្រោយនៅក្នុងឯកសារ", "option-backlink-in-document-desc": "បង្ហាញតំណភ្ជាប់ខាងក្រោយនុងឯកសារតាមលំនាំដើមនៅពេលបើក tab ថ្មី។" }, "outgoing-links": { "name": "តំណភ្ជាប់ចេញ", "desc": "បង្ហាញតំណភ្ជាប់ចេញនិងរកឃើញការលើកឡើងដែលមិនបានភ្ជាប់នៃកំណត់ចំណាំផ្សេងទៀតនៅក្នុងកំណត់ចំណាំបច្ចុប្បន្ន។", "action-open": "បើកតំណភ្ជាប់ចេញ", "action-show": "បង្ហាញតំណភ្ជាប់ចេញ", "action-open-for-current": "បើកតំណភ្ជាប់ចេញសម្រាប់ឯកសារបច្ចុប្បន្ន", "tab-title": "តំណភ្ជាប់ចេញមកពី {{displayText}}", "label-links": "តំណភ្ជាប់", "label-no-links": "រកមិនឃើញតំណភ្ជាប់។", "label-unlinked-mentions": "ការលើកឡើងដែលមិនភ្ជាប់", "tooltip-link-file": "ភ្ជាប់​ឯកសារ​នេះ", "tooltip-not-created": "មិនទាន់បង្កើត" }, "tag-pane": { "name": "Tags", "short-name": "Tags", "desc": "បង្ហាញ tag របស់អ្នក និងចំនួននៃការកើតឡើងរបស់វា", "action-show": "បង្ហាញ tags", "label-no-tags": "រក​មិន​ឃើញ tag។", "label-sort-by-name-a-to-z": "ឈ្មោះ tag (A to Z)", "label-sort-by-name-z-to-a": "ឈ្មោះ tag (Z to A)", "label-sort-by-frequency-high-to-low": "ភាពញឹកញាប់ (ខ្ពស់ទៅទាប)", "label-sort-by-frequency-low-to-high": "ភាពញឹកញាប់ (ទាបទៅខ្ពស់)", "action-show-nested-tags": "បង្ហាញ tag ដែលជាប់", "action-collapse-all": "បង្រួមទាំងអស់", "action-expand-all": "ពង្រីកទាំងអស់" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Properties view", "desc": "Show the metadata for your files.", "name-global": "All properties", "name-local": "File properties", "tab-title": "File properties for {{displayText}}", "action-show": "Show all properties", "action-show-local": "Show file properties", "opt-unassign-type": "Unassign type", "label-no-properties": "No properties found.", "label-invalid-properties": "Invalid properties.", "label-sort-by-name-a-to-z": "Property name (A to Z)", "label-sort-by-name-z-to-a": "Property name (Z to A)", "label-sort-by-frequency-high-to-low": "Frequency (high to low)", "label-sort-by-frequency-low-to-high": "Frequency (low to high)", "msg-merge-properties-warning": "Merge property “{{oldKey}}” with “{{newKey}}”?", "msg-merge-properties-warning-desc": "In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-open-local": "Open file properties", "action-open-daily-note": "Open daily note" }, "page-preview": { "name": "ការមើលទំព័រជាមុន", "desc": "ដាក់តំណខាងក្នុងខាងលើដើម្បីមើលមាតិការបស់វា។ នៅក្នុងរបៀបកម្មវិធីនិពន្ធ, សូមចុច Ctrl/Cmd ពេលកំពុងដាក់។", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "\"{{linktext}}\" មិន​ទាន់​បាន​បង្កើត​នៅ​ឡើយ​ទេ។ សូមចុចដើម្បីបង្កើត។", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "ទិដ្ឋភាព​កែ​សម្រួល", "label-source-preview": "ទិដ្ឋភាពអាន", "label-source-search": "ស្វែងរក, តំណភ្ជាប់ក្រោយ, និងតំណភ្ជាប់ចេញ", "label-source-tab-header": "Tab header", "label-require-mod": "តំរូវអោយ {{key}} ដើម្បីចាប់ផ្តើមការមើលទំព័រជាមុននៅលើដាក់ខាងលើ" }, "bookmarks": { "name": "កំណត់ត្រា", "desc": "កំណត់ត្រាឯកសារនិងការស្វែងរកដែលប្រើញឹកញាប់។​​ ", "action-show": "បង្ហាញកំណត់ត្រា", "action-collapse-all": "បង្រួមទាំងអស់", "action-new-bookmark": "កំណត់ត្រា tab​​ ដែលសកម្ម...", "action-new-group": "ក្រុមកំណត់ត្រាថ្មី", "action-bookmark": "កំណត់ត្រា...", "action-add-bookmark": "Add bookmark", "action-edit-bookmark": "កែសម្រួលកំណត់ត្រា", "action-bookmark-block": "កំណត់ត្រា block នៅក្រោមទស្សន៍ទ្រនិច...", "action-bookmark-heading": "កំណត់ត្រាចំណងជើងនៅក្រោមទស្សន៍ទ្រនិច...", "action-bookmark-search": "កំណត់ត្រាការស្វែងរកបច្ចុប្បន្ន...", "action-remove-bookmark": "លុបកំណត់ត្រាសម្រាប់ឯកសារបច្ចុប្បន្ន", "action-bookmark-tab-group": "កំណត់ត្រា {{count}} tab...", "action-bookmark-tab-group_plural": "កំណត់ត្រា {{count}} tabs...", "action-bookmark-all-tabs": "កំណត់ត្រា​​ tab ទាំងអស់...", "action-bookmark-graph": "កំណត់ត្រាក្រាហ្វនេះ...", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} កំណត់ត្រា", "label-bookmark-with-count_plural": "{{count}} កំណត់ត្រា", "label-no-bookmarks": "រក​មិន​ឃើញកំណត់ត្រា", "label-invalid-data": "Failed to load bookmarks.", "label-invalid-data-desc": "The data file is corrupted.", "label-untitled-group": "Untitled group", "label-untitled-graph": "ក្រាហ្វគ្មានចំណងជើង", "menu-opt-edit": "កែសម្រួល...", "menu-opt-remove": "ដកចេញ", "menu-opt-rename": "ប្តូរឈ្មោះ", "menu-opt-bookmark-block": "Bookmark this block...", "menu-opt-bookmark-heading": "កំណត់ត្រាចំណងជើងនេះ ...", "msg-no-search-query": "គ្មាន​សំណួរ​ស្វែងរក​ដើម្បី​ចំណាំ។", "option-path": "ផ្លូវ", "option-query": "សំណួរ", "option-u-r-l": "URL", "option-title": "ចំណងជើង", "option-group": "ក្រុមកំណត់ត្រា", "placeholder-bookmark-group": "កំណត់ត្រា" }, "custom-css": { "name": "CSS ផ្ទាល់ខ្លួន", "desc": "អាន និងអនុវត្ត “obsidian.css” នៅក្នុង vault ថតឯកសារ។", "setting-community-themes": "សហគមន៍រូបរាង", "msg-fetching-themes": "កំពុងទាញយកទិន្នន័យរូបរាងសហគមន៍...", "prompt-filter": "តម្រង...", "label-dark-theme-only": "រូបរាងងងឹតតែប៉ុណ្ណោះ", "label-light-theme-only": "រូបរាងភ្លឺតែប៉ុណ្ណោះ", "label-use": "ប្រើរូបរាងនេះ", "label-stop-use": "ឈប់ប្រើរូបរាងនេះ", "label-install-and-use": "ដំឡើងនិងប្រើប្រាស់", "label-update": "អាប់ដេត", "label-no-readme": "រូបរាងនេះមិនបានផ្តល់ឯកសារ README ទេ។", "tooltip-remove-theme": "ដករូបរាងចេញ", "label-visit-on-github": "ចូលមើលនៅលើ GitHub", "msg-load-error": "មិន​អាច​ផ្ទុក​រូបរាង​សហគមន៍​បាន​ទេ, សូម​ពិនិត្យ​មើល​បណ្ដាញ​របស់​អ្នក។", "msg-now-using-theme": "ឥឡូវនេះអ្នកកំពុងប្រើ {{title}} ជា​រូបរាង CSS របស់អ្នក។", "msg-deleted-theme": "​រូបរាង {{title}} ត្រូវបានលុប។", "msg-updated-theme": "រូបរាង {{title}} ត្រូវបានអាប់ដេត។ ", "label-installed": "បានដំឡើង", "label-legacy": "កេរដំណែល", "button-update-all-themes": "អាប់ដេតទាំងអស់", "msg-failed-load-themes": "បរាជ័យក្នុងការផ្ទុករូបរាងសហគមន៍។", "msg-no-updates-found": "រកមិនឃើញការអាប់ដេតរូបរាង។", "msg-updates-found": "រកឃើញ {{count}} រូបរាងដើម្បីអាប់ដេត។", "msg-updates-found_plural": "រកឃើញ {{count}} រូបរាងដើម្បីអាប់ដេត។", "msg-failed-to-install-theme": "បរាជ័យក្នុងការដំឡើងរូបរាង \"{{name}}\"។", "msg-successfully-installed-theme": "បាន​ដំឡើង​រូបរាងដោយ​ជោគជ័យ \"{{name}}\"។", "msg-installing-theme": "កំពុង​ដំឡើង​​រូបរាង \"{{name}}\"...", "label-search-summary": "បង្ហាញ {{themeCount}}៖", "label-update-available": "ការអាប់ដេតដែលមាន" }, "command-palette": { "name": "ក្ដារលាយពាក្យបញ្ជា", "desc": "ប្រើ Cmd/Ctrl+P ហើយចាប់ផ្តើមវាយដើម្បីហៅពាក្យបញ្ជា។", "action-open": "ក្ដារលាយពាក្យបញ្ជា", "instruction-navigate": "ដើម្បីរុករក", "instruction-use": "ដើម្បីប្រើប្រាស់", "instruction-dismiss": "ដើម្បីច្រានចោល", "label-no-commands": "រក​មិន​ឃើញ​ពាក្យ​បញ្ជា។", "prompt-type-command": "ជ្រើសរើសពាក្យបញ្ជាមួយ...", "label-pinned-commands": "ខ្ទាស់ពាក្យបញ្ជា", "option-add-new-pin": "ពាក្យបញ្ជាដែលបានខ្ទាស់ថ្មី", "option-add-new-pin-description": "ពាក្យបញ្ជាដែលបានខ្ទាស់នឹងបង្ហាញនៅផ្នែកខាងលើនៃពាក្យបញ្ជាទាំងអស់ នៅពេលដែលមិនមានសំណួរស្វែងរក។" }, "markdown-format-importer": { "name": "កម្មវិធីបម្លែងទ្រង់ទ្រាយ", "desc": "បំលែង Markdown ពីកម្មវិធីផ្សេងទៀតទៅជាទម្រង់ Obsidian។", "action-open": "បើកកម្មវិធីបម្លែងទ្រង់ទ្រាយ", "option-roam-tag-fixer": "កម្មវិធីជួសជុល tag Roam Research", "option-roam-tag-fixer-description": "បំប្លែង \"#tag\" និង \"#[[tag]]\" ទៅ \"[[tag]]\"។", "option-roam-highlight-fixer": "កម្មវិធីជួសជុល highlight Roam Research", "option-roam-highlight-fixer-description": "បំប្លែង \"^^highlight^^\" ទៅ \"==highlight==\".", "option-roam-todo-converter": "កម្មវិធីបម្លែង Roam Research TODO", "option-roam-todo-converter-description": "បំប្លែង \"{{[[TODO]]}}\" ទៅ \"[ ]\".", "option-bear-highlight-fixer": "អ្នកជួសជុល bear highlight", "option-bear-highlight-fixer-description": "បំប្លែង \"::highlight::\" ទៅ \"==highlight==\".", "zettelkasten-link-fixer": "អ្នកជួសជុលតំណភ្ជាប់ Zettelkasten", "zettelkasten-link-fixer-description": "ជួសជុល \"[[UID]]\" តំណភ្ជាប់ទៅពេញ \"[[UID File Name]]\".", "zettelkasten-link-beautifier": "ឧបករណ៍កែសម្ផស្សតំណភ្ជាប់ Zettelkasten", "zettelkasten-link-beautifier-description": "ជួសជុល \"[[UID]]\" តំណភ្ជាប់និងធ្វើឱ្យពួកវាស្រស់ស្អាត \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "ការព្រមាន៖ កម្មវិធីបម្លែងនឹងបំប្លែងឯកសារទាំងអស់នៅក្នុង vault របស់អ្នក, មិនត្រឹមតែឯកសារបច្ចុប្បន្ន។", "msg-override-files-warning": "ឯកសាររបស់អ្នកនឹងត្រូវបានសរសេរជាន់ពីលើ។ បម្រុងទុកឯកសាររបស់អ្នកទាំងអស់មុនពេលព្យាយាមបម្លែង។", "label-start-conversion": "ចាប់ផ្តើមការបម្លែង", "label-stop": "ឈប់", "label-go-back": "ត្រឡប់​ក្រោយ", "label-done": "រួចរាល់", "label-processing": "កំពុងដំណើរការ...", "label-cancelling": "កំពុងបោះបង់...", "label-finished": "ចប់!", "label-processed-files": "ឯកសារដែលបានដំណើរការ", "label-modified-files": "ឯកសារដែលបានកែប្រែ", "label-total-replacements": "ការជំនួសសរុប", "label-failed": "Failed" }, "daily-notes": { "name": "កំណត់ចំណាំប្រចាំថ្ងៃ", "desc": "បង្កើតឬបើកកំណត់ចំណាំប្រចាំថ្ងៃរបស់ថ្ងៃនេះ។", "short-name": "ថ្ងៃនេះ", "action-open": "បើកកំណត់ចំណាំប្រចាំថ្ងៃរបស់ថ្ងៃនេះ", "action-open-previous": "បើកកំណត់ចំណាំប្រចាំថ្ងៃពីមុន", "action-open-next": "បើកកំណត់ចំណាំប្រចាំថ្ងៃបន្ទាប់", "action-insert-text": "បញ្ចូលអត្ថបទទៅក្នុងកំណត់ចំណាំប្រចាំថ្ងៃ", "action-insert-link": "បញ្ចូលតំណភ្ជាប់ទៅក្នុងកំណត់ចំណាំប្រចាំថ្ងៃ", "msg-fail-format": "បរាជ័យក្នុងការបង្កើតកំណត់ចំណាំប្រចាំថ្ងៃ។ \"{{format}}\" មិន​មែន​ជា​ទម្រង់​ត្រឹមត្រូវ។", "msg-fail-folder": "បរាជ័យក្នុងការបង្កើតកំណត់ចំណាំប្រចាំថ្ងៃ។ ថតឯកសារ \"{{folderOption}}\" មិនបានរកឃើញ។", "msg-fail-template-file": "បរាជ័យក្នុងការបង្កើតកំណត់ចំណាំប្រចាំថ្ងៃ។ ពុម្ពឯកសារ \"{{template}}\" មិនបានរកឃើញ។", "msg-no-previous": "មិនមានកំណត់ចំណាំប្រចាំថ្ងៃមុននេះទេ។", "msg-no-next": "គ្មាន​កំណត់ចំណាំ​ប្រចាំ​ថ្ងៃ​បន្ទាប់​ពី​នេះ​។", "option-date-format": "ទម្រង់កាលបរិច្ឆេទ", "label-refer-to-syntax": "សម្រាប់វាក្យសម្ព័ន្ធបន្ថែម, សូមមើល ", "label-syntax-link": "ឯកសារយោងទម្រង់", "label-syntax-live-preview": "វាក្យសម្ព័ន្ធបច្ចុប្បន្នរបស់អ្នកមើលទៅដូចនេះ៖ ", "option-new-file-location": "ទីតាំងឯកសារថ្មី", "option-new-file-location-description": "កំណត់ចំណាំប្រចាំថ្ងៃថ្មីនឹងត្រូវបានដាក់នៅទីនេះ។", "option-template": "ទីតាំងពុម្ពឯកសារ", "option-template-description": "ជ្រើសរើសឯកសារដើម្បីប្រើជាពុម្ព។", "option-open-on-start": "បើកកំណត់ចំណាំប្រចាំថ្ងៃនៅលើ startup", "option-open-on-start-description": "បើកកំណត់ត្រាប្រចាំថ្ងៃរបស់អ្នកដោយស្វ័យប្រវត្តិ នៅពេលណាដែលអ្នកបើក​ vault នេះ។" }, "unique-note-creator": { "name": "អ្នកបង្កើតកំណត់ចំណាំពិសេស", "desc": "បង្កើតកំណត់ចំណាំដែលមានបុព្វបទពេលវេលាពិសេស, សម្រាប់ដំណើរការការងារដូចជា zettelkasten ឬ slip box។", "short-name": "ពិសេស", "action-create-note": "បង្កើតកំណត់ចំណាំថ្មីពិសេស", "action-add-link": "Add unique internal link", "option-new-file-location": "ទីតាំងឯកសារថ្មី", "option-new-file-location-description": "ផ្លូវថតឯកសារដើម្បីបង្កើតកំណត់ចំណាំពិសេសថ្មីមួយ។", "msg-folder-not-found": "បរាជ័យក្នុងការបង្កើតកំណត់ចំណាំពិសេស។ ថតឯកសារ \"{{folderOption}}\" រក​មិន​ឃើញ។", "option-template-file": "ទីតាំងពុម្ពឯកសារ", "option-template-file-description": "ផ្លូវឯកសារដែលត្រូវប្រើជាពុម្ព។", "option-template-file-placeholder": "ឧទាហរណ៍៖ folder1/note", "option-id-format": "ទម្រង់បុព្វបទពិសេស", "msg-template-file-not-found": "បរាជ័យក្នុងការបង្កើតកំណត់ចំណាំពិសេស។ ឯកសារគំរូ \"{{template}}\" មិនបានរកឃើញ។", "msg-failed-to-generate": "បរាជ័យ​ក្នុង​ការ​បង្កើត​កំណត់​ត្រា​ពិសេស​ជាមួយ​ទម្រង់ \"{{format}}" }, "random-note": { "name": "កំណត់ចំណាំចៃដន្យ", "desc": "បើកកំណត់ចំណាំចៃដន្យ ដើម្បីស្វែងរកឡើងវិញ ឬពិនិត្យឡើងវិញ។", "short-name": "ចៃដន្យ", "action-open": "បើកកំណត់ចំណាំចៃដន្យ" }, "outline": { "name": "គ្រោង", "desc": "បង្ហាញគ្រោងនៃឯកសារបច្ចុប្បន្ន ឬ tab ដែលបានភ្ជាប់។", "action-open": "បើកគ្រោង", "action-show": "បង្ហាញគ្រោង", "action-open-for-current": "បើកគ្រោងនៃឯកសារបច្ចុប្បន្ន", "tab-title": "គ្រោងនៃ {{displayText}}", "label-no-headings": "រកមិនឃើញចំណងជើង។", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "រាប់​ពាក្យ", "desc": "បង្ហាញការរាប់ពាក្យនៅក្នុងរបារស្ថានភាព។" }, "slides": { "name": "ស្លាយ", "desc": "បទបង្ហាញពី Markdown។ ប្រើ \"---\" ដើម្បីបំបែកស្លាយ។", "action-start": "ចាប់ផ្តើមបទបង្ហាញ" }, "audio-recorder": { "name": "ឧបករណ៍ថតសំឡេង", "desc": "ថតសំឡេង និងរក្សាទុកជាឯកសារភ្ជាប់។", "action-start": "ចាប់ផ្តើមថតសំឡេង", "action-stop": "បញ្ឈប់ការថតសំឡេង", "action-toggle": "ចាប់ផ្តើម / បញ្ឈប់ការថត", "msg-access-denied": "ការចូលប្រើមីក្រូហ្វូនត្រូវបានបដិសេធ, សូមបើកវាពី pane ចំណូលចិត្ត។", "msg-pending-grant": "សូម​ផ្តល់​ការអនុញ្ញាត​ឱ្យ​មីក្រូហ្វូន​ដើម្បី​ចាប់ផ្តើម​ថត។", "msg-no-microphone": "មិនមានមីក្រូហ្វូនត្រូវបានភ្ជាប់។" }, "open-with-default-app": { "name": "បើកនៅក្នុងកម្មវិធីលំនាំដើម", "desc": "បន្ថែមប៊ូតុងមួយដើម្បីបើកឯកសារបច្ចុប្បន្ននៅក្នុងកម្មវិធីលំនាំដើមរបស់វា។", "action-open-file": "បើកនៅក្នុងកម្មវិធីលំនាំដើម", "action-open-file-mobile": "ចែករំលែក", "action-show-in-folder": "បង្ហាញនៅក្នុងកម្មវិធីរុករកប្រព័ន្ធ", "action-show-in-folder-mac": "បង្ហាញនៅក្នុង Finder" }, "templates": { "name": "ពុម្ព", "desc": "បញ្ចូលមាតិកាពុម្ពពីថតឯកសារនៃឯកសារពុម្ព។", "action-insert": "បញ្ចូល​ពុម្ព", "action-insert-current-date": "បញ្ចូលកាលបរិច្ឆេទបច្ចុប្បន្ន", "action-insert-current-time": "បញ្ចូលពេលវេលាបច្ចុប្បន្ន", "option-template-folder-location": "ទីតាំងថតឯកសារពុម្ព", "option-template-folder-location-description": "ឯកសារ​ក្នុង​ថតឯកសារ​​នេះ​នឹង​មាន​ជា​ពុម្ព។", "option-template-date-format": "ទម្រង់កាលបរិច្ឆេទ", "option-template-date-format-description": "{{date}} នៅក្នុងឯកសារ​ពុម្ពនឹងត្រូវបានជំនួសដោយតម្លៃនេះ។", "option-template-date-format-description2": "អ្នក​ក៏​អាច​ប្រើ {{date:YYYY-MM-DD}} ដើម្បីបដិសេធទ្រង់ទ្រាយម្តង។", "option-template-time-format": "ទម្រង់ពេលវេលា", "option-template-time-format-description": "{{time}} នៅក្នុងឯកសារ​ពុម្ពនឹងត្រូវបានជំនួសដោយតម្លៃនេះ។", "option-template-time-format-description2": "អ្នក​ក៏​អាច​ប្រើ {{time:HH:mm}} ដើម្បីបដិសេធទ្រង់ទ្រាយម្តង។", "instruction-navigate": "ដើម្បីរុករក", "instruction-insert": "ដើម្បីបញ្ចូលពុម្ព", "instruction-dismiss": "ដើម្បីច្រានចោល", "msg-no-templates-found": "រក​មិន​ឃើញ​ពុម្ព", "msg-fail-invalid-folder": "បរាជ័យក្នុងរាយ​បញ្ជី​ពុម្ព។​ ថតឯកសារ​ពុម្ព​មិន​ត្រឹមត្រូវ។​", "msg-fail-folder-not-found": "បរាជ័យក្នុងរាយ​បញ្ជី​ពុម្ព។ ថតឯកសារ \"{{folderOption}}\" មិនបានរកឃើញ។", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "បរាជ័យក្នុងរាយ​បញ្ជី​ពុម្ព។​ គ្មាន​ថតឯកសារ​ពុម្ព​ដែល​បាន​កំណត់​រចនាសម្ព័ន្ធ​។", "prompt-type-template": "វាយ​ឈ្មោះ​ពុម្ព​មួយ​ ..." }, "translucency": { "name": "Translucent window", "desc": "បើក translucency ឥទ្ធិពលដើម្បីបង្កើនអារម្មណ៍នៃជម្រៅ។ ប្រើបានល្អបំផុតជាមួយមុខងារងងឹត។ មិនត្រូវបានគាំទ្រនៅលើលីនុច។" }, "slash-command": { "name": "ពាក្យបញ្ជា Slash", "desc": "បើកសមត្ថភាពដើំ​ម្បីបើកពាក្យបញ្ជា slash​ នៅក្នុងកម្មវិធីនិពន្ធដោយវាយពាក្យបញ្ជា​ slash ទៅមុខ" }, "editor-status": { "name": "ស្ថានភាពអ្នកកែសម្រួល", "desc": "បង្ហាញ និងផ្លាស់ប្តូររបៀបកែសម្រួលបច្ចុប្បន្ននៅក្នុងរបារស្ថានភាព។", "read": "កំពុងអាន", "edit-source": "Source ម៉ូដ", "edit-live-preview": "ការមើលជាមុន" }, "publish": { "name": "ផ្សាយ", "desc": "ផ្សាយកំណត់ចំណាំរបស់អ្នកតាមរយៈ Obsidian Publish។", "action-publish-changes": "ការផ្លាស់ប្តូរការផ្សាយ...", "action-publish-file": "Publish current file", "label-no-internet-access": "អ្នក​ត្រូវ​ការ​ចូល​ប្រើ​អ៊ីនធើណេត​ដើម្បី​ផ្សាយ​ការ​ផ្លាស់ប្ដូរ។", "label-publish-service-description": "Obsidian Publish គឺជាសេវាកម្មបង់ប្រាក់បន្ថែមដែលអនុញ្ញាតឱ្យអ្នកផ្សាយកំណត់ចំណាំរបស់អ្នកតាមអ៊ីនធើណេត​ដោយផ្ទាល់ពី Obsidian។", "label-please-login": "ដើម្បីចាប់ផ្តើមផ្សាយ​, សូមចូលឬបង្កើតគណនី Obsidian ថ្មី។", "label-no-publish-subscription": "អ្នកមិនទាន់មានការជាវ Obsidian Publish នៅឡើយទេ។", "button-purchase": "ទិញ", "label-manage-sites": "គ្រប់គ្រងគេហទំព័រ", "label-no-sites": "អ្នកមិនមានគេហទំព័រណាមួយទេ។", "button-choose": "ជ្រើសរើស", "tooltip-edit-site-id": "កែសម្រួលលេខសម្គាល់គេហទំព័រ", "tooltip-delete-site": "លុបគេហទំព័រ", "label-delete-site-confirmation": "តើអ្នកប្រាកដថាចង់លុបគេហទំព័រនេះ?", "label-delete-site-details": "វានឹងលុបគេហទំព័ររបស់អ្នកភ្លាមៗ និងជាអចិន្ត្រៃយ៍។", "label-confirm-delete-site": "បញ្ជាក់ការលុបគេហទំព័រ \"{{site}}\"", "option-site-id": "លេខសម្គាល់គេហទំព័រ", "option-site-id-description": "គេហទំព័ររបស់អ្នកនឹងស្ថិតនៅ https://publish.obsidian.md/{site id}. អ្នកអាចផ្លាស់ប្តូរវានៅពេលក្រោយ។ អនុញ្ញាត​ឱ្យ​មាន​តែ​អក្សរ​តូច, លេខ, និង​សញ្ញា​ដាច់​ៗ​ប៉ុណ្ណោះ។", "option-site-id-placeholder": "ជ្រើសរើសលេខសម្គាល់គេហទំព័រ", "button-create": "បង្កើត", "msg-invalid-site-id": "លេខសម្គាល់គេហទំព័រអាចមានតែអក្សរតូច, លេខ, និងសញ្ញាដាច់ប៉ុណ្ណោះ។", "msg-site-id-in-use": "លេខសម្គាល់គេហទំព័រនេះកំពុងប្រើប្រាស់, សូមសាកល្បងមួយផ្សេងទៀត។", "msg-create-site-issue": "នោះជាបញ្ហានៅពេលបង្កើតគេហទំព័ររបស់អ្នក។", "label-site-options": "ជម្រើសនៃគេហទំព័រ", "option-site-general": "ទូទៅ", "option-site-components": "ផែ្នក", "option-site-appearance": "រូបរាង", "option-site-reading-experience": "បទពិសោធន៍នៃការអាន", "option-site-misc": "ការកំណត់គេហទំព័រផ្សេងទៀត។", "option-site-name": "ឈ្មោះគេហទំព័រ", "option-site-name-description": "ឈ្មោះគេហទំព័រដែលបានផ្សាយរបស់អ្នក។ វានឹងបង្ហាញនៅក្នុងចំណងជើងទំព័រនៃគេហទំព័ររបស់អ្នក។", "option-site-name-placeholder": "ឈ្មោះគេហទំព័ររបស់អ្នក។", "option-home-page-file": "ឯកសារទំព័រដើម", "option-home-page-file-description": "ទំព័រដំបូងដែលអ្នកប្រើប្រាស់ឃើញនៅពេលចុះនៅលើគេហទំព័រដែលបានផ្សាយរបស់អ្នក។", "option-home-page-file-placeholder": "ជ្រើសរើសឯកសារដែលបានផ្សាយ", "option-logo": "ឡូហ្គោ", "option-logo-description": "ជ្រើសរើសឯកសាររូបភាពមួយជាឡូហ្គោគេហទំព័ររបស់អ្នក។", "option-logo-placeholder": "រូបភាពដែលបានបង្ហោះណាមួយនៅក្នុង vault របស់អ្នក...", "option-site-collaboration": "ការសហការគេហទំព័រ", "option-site-collaboration-desc": "គ្រប់គ្រងអ្នកសហការសម្រាប់គេហទំព័រនេះ។", "option-customize-navigation": "កំណត់ការរុករកតាមបំណង", "option-customize-navigation-desc": "បដិសេធលំដាប់នៃវត្ថុរុករក និងលាក់ទំព័រ ឬថតឯកសារមិនឱ្យបង្ហាញ។", "option-navigation-order": "ការបង្ហាញលំដាប់នៃវត្ថុរុករក", "option-hide-items-in-navigation": "លាក់ទំព័រ ឬថតឯកសារពីការរុករក", "option-hide-items-in-navigation-desc": "ចុចខាងស្ដាំហើយជ្រើសរើស \"Hide\" ដើម្បីការពារទំព័រជាក់លាក់មិនឱ្យលេចឡើងក្នុងការរុករកគេហទំព័រ។ ទំព័រនឹងនៅតែអាចចូលប្រើបានតាមរយៈតំណភ្ជាប់ ឬចូលប្រើ URL ដោយផ្ទាល់។", "option-show-hidden-items": "បង្ហាញ​ការ​លាក់", "button-customize-sidebar": "គ្រប់គ្រង", "label-navigation-modal-title": "ការរុករក", "label-navigation-modal-desc": "អូសហើយទម្លាក់ដើម្បីប្ដូរតាមបំណងនូវលំដាប់ដែលវត្ថុរុករកបង្ហាញនៅលើគេហទំព័រផ្សព្វផ្សាយរបស់អ្នក។", "option-hide-in-navigation": "លាក់នៅក្នុងការរុករក", "button-manage-collaborators": "គ្រប់គ្រង", "option-theme": "រូបរាង", "option-theme-description": "ជ្រើសរើស​ពណ៌​លំនាំដើម​សម្រាប់​គេហទំព័ររបស់អ្នក។", "option-theme-system": "សម្របទៅនឹងប្រព័ន្ធ", "option-show-theme-toggle": "បិទ/បើក ភ្លឺ/ងងឹត", "option-show-theme-toggle-description": "អនុញ្ញាត​ឱ្យ​អ្នក​ទស្សនា​បិទ​បើក​រវាង​រចនាប័ទ្មភ្លឺនិង​ងងឹត​ដោយ​ខ្លួន​ពួកគេ​ផ្ទាល់។", "option-show-navigation": "បង្ហាញការរុករក", "option-show-navigation-description": "បង្ហាញបញ្ជីនៃទំព័រដែលបានផ្សាយទាំងអស់នៅផ្នែកខាងឆ្វេងនៃគេហទំព័រដែលបានផ្សាយរបស់អ្នក។", "option-show-search": "បង្ហាញរបារស្វែងរក", "option-show-search-description": "បង្ហាញរបារស្វែងរកដែលអនុញ្ញាតឱ្យអ្នកទស្សនាស្វែងរកទំព័រ, ឈ្មោះក្លែងក្លាយ, និងចំណងជើងនៅលើគេហទំព័ររបស់អ្នក។", "option-show-graph": "បង្ហាញទិដ្ឋភាពក្រាហ្វ", "option-show-graph-description": "បង្ហាញក្រាហ្វមូលដ្ឋានតូចមួយនៅលើទំព័រនីមួយៗ។", "option-show-outline": "បង្ហាញតារាងមាតិកា", "option-show-outline-description": "បង្ហាញគ្រោងនៃចំណងជើងនៅលើទំព័រនីមួយៗ។", "option-show-backlinks": "បង្ហាញតំណភ្ជាប់ខាងក្រោយ", "option-show-backlinks-description": "បង្ហាញផ្នែកតំណភ្ជាប់ខាងក្រោយនៅចុងទំព័រនីមួយៗ។", "option-sliding-window-mode": "ជង់ទំព័រ", "option-sliding-window-mode-description": "តំណភ្ជាប់នឹងបើកនៅជាប់នឹងទំព័របច្ចុប្បន្ននៅក្នុង window តែមួយ។ រមូរផ្ដេកដើម្បីមើលជង់ទំព័រ។", "option-hover-preview-file": "បង្ហាញការមើលជាមុន", "option-hover-preview-file-description": "បង្ហាញការមើលទំព័រជាមុន នៅពេលដាក់តំណរភ្ជាប់។", "option-hide-title": "លាក់ចំណងជើងទំព័រ", "option-hide-title-description": "លាក់ចំណងជើងទំព័រ។ មានប្រយោជន៍នៅពេលអ្នកមានចំណងជើងផ្ទាល់ខ្លួនរបស់អ្នកនៅដើមទំព័រនីមួយៗ។", "option-readable-line-length": "ប្រវែងបន្ទាត់ដែលអាចអានបាន", "option-readable-line-length-description": "កំណត់ប្រវែងបន្ទាត់អតិបរមា។ សមនឹងមាតិកាតិចជាងនៅលើអេក្រង់, ប៉ុន្តែធ្វើឱ្យកថាខណ្ឌវែងអាចអានបានកាន់តែច្រើន។", "option-site-password": "ពាក្យសម្ងាត់", "option-site-password-description": "ដាក់កម្រិតការចូលប្រើគេហទំព័ររបស់អ្នកដោយប្រើពាក្យសម្ងាត់។", "option-google-analytics": "កូដតាមដាន Google Analytics", "option-google-analytics-description": "កំណត់រចនាសម្ព័ន្ធ Google Analytics សម្រាប់គេហទំព័ររបស់អ្នក។ មានសម្រាប់តែអ្នកទស្សនាពី URL ដែនផ្ទាល់ខ្លួនរបស់អ្នក។ សូមពិនិត្យជាមួយច្បាប់ និងបទប្បញ្ញត្តិក្នុងតំបន់របស់អ្នកជាមុនសិន។", "button-manage-passwords": "គ្រប់គ្រង", "button-save-site-settings": "រក្សាទុកការកំណត់គេហទំព័រ", "msg-updated-options": "ជម្រើសដែលបានអាប់ដេតសម្រាប់គេហទំព័ររបស់អ្នក។", "button-go-back": "ថយក្រោយ", "label-publishing-to": "ផ្សាយទៅ", "tooltip-switch-site": "ប្តូរគេហទំព័រ", "button-add-linked": "បន្ថែមតំណភ្ជាប់", "tooltip-add-linked": "បន្ថែមឯកសារទាំងអស់ដែលត្រូវបានភ្ជាប់ដោយវត្ថុដែលបានជ្រើសរើសបច្ចុប្បន្ន", "msg-added-linked-files": "{{count}} ឯកសារ​ដែល​បាន​ភ្ជាប់​ត្រូវ​បាន​បន្ថែម។", "msg-added-linked-files_plural": "{{count}} ឯកសារ​ដែល​បាន​ភ្ជាប់​ត្រូវ​បាន​បន្ថែម។", "tooltip-open-site-options": "ផ្លាស់ប្តូរជម្រើសគេហទំព័រ", "label-no-changes-detected": "គ្មានការផ្លាស់ប្តូរត្រូវបានរកឃើញទេ។", "label-changed-files-to-be-published": "បានផ្លាស់ប្តូរ", "label-unchanged-files-already-published": "មិនផ្លាស់ប្តូរ (select to unpublish)", "label-file-selected": " បានជ្រើសរើស", "button-select-all-files": "ជ្រើសរើស​ទាំងអស់", "label-custom-navigation-title": "រុករកវត្ថុ", "button-deselect-all-files": "ដក​ការ​ជ្រើស​រើស​ទាំង​អស់", "label-new-files-to-be-published": "ថ្មី", "button-publish": "ផ្សាយ", "msg-no-permission-to-publish-to-site": "អ្នក​មិន​មាន​ការ​អនុញ្ញាត​ក្នុង​ការ​បោះផ្សាយ​ទៅ​កាន់​គេហទំព័រ​បច្ចុប្បន្ន​ទេ។", "msg-select-at-least-one-file": "សូម​ជ្រើសរើស​ឯកសារ​យ៉ាង​តិច​មួយ។", "label-upload-changes": "អាប់ឡូតការផ្លាស់ប្តូរ", "button-done": "រួចរាល់", "button-stop": "ឈប់", "label-status-uploading": "កំពុងអាប់ឡូត", "label-status-to-publish": "ដើម្បីផ្សាយ", "label-status-to-delete": "ដើម្បីលុប", "label-status-published": "បានផ្សាយ", "label-status-deleted": "ត្រូវបានលុប", "label-status-failed": "បរាជ័យ", "label-status-cancelled": "បោះបង់", "button-change": "ផ្លាស់ប្តូរ", "label-clear-cache": "វាត្រូវចំណាយពេលរហូតដល់ពីរបីនាទីដើម្បីឱ្យការផ្លាស់ប្តូរបង្ហាញនៅលើគេហទំព័ររបស់អ្នក។ ប្រសិនបើអ្នកមិនឃើញការផ្លាស់ប្តូរចុងក្រោយរបស់អ្នកទេ, សូមព្យាយាមសម្អាត cache នៅក្នុងកម្មវិធីរុករករបស់អ្នក។", "label-visit-site": "អ្នកអាចចូលទៅកាន់គេហទំព័ររបស់អ្នកនៅទីនេះ៖ ", "msg-something-went-wrong": "មាន​អ្វីមួយ​មិន​ប្រក្រតី។ សូមពិនិត្យមើលកុងសូលអ្នកអភិវឌ្ឍន៍សម្រាប់ព័ត៌មានលម្អិត។", "msg-network-error": "​បញ្ហា​បណ្ដាញ​មួយបាន​កើត​ឡើង។", "label-manage-passwords": "គ្រប់គ្រងពាក្យសម្ងាត់", "label-add-password": "បញ្ចូល​ពាក្យ​សម្ងាត់", "action-new-password": "ពាក្យសម្ងាត់​ថ្មី", "label-no-password": "ក្នុងពេលបច្ចុប្បន្នគេហទំព័ររបស់អ្នកមិនមានពាក្យសម្ងាត់។ អ្នក​ណា​ក៏​អាច​ចូល​មើល​បាន។", "label-have-password": "គេហទំព័ររបស់អ្នកត្រូវបានការពារដោយពាក្យសម្ងាត់។ ប្រសិនបើអ្នកមានពាក្យសម្ងាត់ច្រើន, អ្នកទស្សនាអាចចូលប្រើគេហទំព័ររបស់អ្នកដោយបញ្ចូលពួកសម្ងាត់ណាមួយ។", "option-password-name": "ពាក្យសម្ងាត់", "option-password-desc": "Hash មួយនៃពាក្យសម្ងាត់របស់អ្នកនឹងត្រូវបានរក្សាទុកដោយសុវត្ថិភាព។ នៅពេលដែលពាក្យសម្ងាត់ត្រូវបានកំណត់, វាមិនអាចបង្ហាញជាអត្ថបទធម្មតាបានទេ។", "option-password-placeholder": "ពាក្យសម្ងាត់របស់អ្នក", "option-nickname-name": "ឈ្មោះហៅក្រៅ (ជាជម្រើស)", "option-nickname-desc": "កំណត់ឈ្មោះហៅក្រៅដើម្បីរំលឹកខ្លួនឯងថាតើពាក្យសម្ងាត់សម្រាប់អ្វីឬអ្នកណា។", "action-add-password": "បន្ថែមពាក្យសម្ងាត់នេះ", "label-untitled-password": "ពាក្យសម្ងាត់គ្មានចំណងជើង", "label-password-created-time": "បានបង្កើត {{time}}", "msg-added-new-password": "បានបន្ថែមពាក្យសម្ងាត់ថ្មី។", "option-custom-domain": "ដូមែនផ្ទាល់ខ្លួន", "option-custom-domain-desc": "ប្រើដូមែនផ្ទាល់ខ្លួនរបស់អ្នកជាជាង https://publish.obsidian.md/{site id} URL។", "option-noindex": "មិនអនុញ្ញាតឱ្យធ្វើលិបិក្រមម៉ាស៊ីនស្វែងរក", "option-noindex-desc": "រារាំងម៉ាស៊ីនស្វែងរកពីការធ្វើលិបិក្រមគេហទំព័ររបស់អ្នក។", "button-configure": "កំណត់រចនាសម្ព័ន្ធ", "label-configure-custom-domain": "កំណត់រចនាសម្ព័ន្ធដូមែនផ្ទាល់ខ្លួន", "option-custom-url-name": "URL ផ្ទាល់ខ្លួន", "option-custom-url-desc": "URL ដែលគេហទំព័ររបស់អ្នកនឹងស្ថិតនៅ។", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "ប្តូរទិសទៅកាន់ដូមែនផ្ទាល់ខ្លួនរបស់អ្នក។", "option-custom-url-redirect-desc": "ប្តូរទិសអ្នកទស្សនានៅលើ publish.obsidian.md/id ទៅដូមែនផ្ទាល់ខ្លួនរបស់អ្នក។", "button-update-custom-domain": "អាប់ដេតការកំណត់ដូមែន", "label-custom-domain-instructions": "សូមយោងទៅ {{link}} របស់យើងនៅលើគេហទំព័រជំនួយរបស់យើងសម្រាប់ព័ត៌មានបន្ថែម។", "label-custom-domain-link-name": "ការណែនាំអំពីការដំឡើងដូមែនផ្ទាល់ខ្លួន", "label-site-usage": "អ្នកកំពុងប្រើ {{site}} ចេញពី {{limit}} របស់អ្នក។", "button-add-more-sites": "បន្ថែមគេហទំព័របន្ថែមទៀត", "label-no-sites-bought": "អ្នកមិនទាន់បានទិញគេហទំព័រណាមួយទេ។", "button-get-site": "ទទួលបានគេហទំព័រមួយ", "label-manage-sharing": "គ្រប់គ្រងការចែករំលែកសម្រាប់ \"{{name}}\"", "label-sharing-with-users": "ក្នុងពេលបច្ចុប្បន្នគេហទំព័រនេះត្រូវបានចែករំលែកជាមួយមនុស្សដូចខាងក្រោម។", "label-not-sharing": "ក្នុងពេលបច្ចុប្បន្នគេហទំព័រនេះមិនត្រូវបានចែករំលែកជាមួយនរណាម្នាក់ទេ។", "label-invite-pending": "កំពុងរង់ចាំ", "tooltip-remove-user": "ដកអ្នកប្រើប្រាស់", "option-invite-user": "អញ្ជើញអ្នកប្រើប្រាស់", "placeholder-invite-user": "បញ្ចូលអ៊ីមែលរបស់ពួកគេ...", "error-email-must-be-valid": "ដើម្បីអញ្ជើញនរណាម្នាក់សូមបញ្ចូលអ៊ីមែលដែលត្រឹមត្រូវ។", "msg-enable-publish-plugin": "សូមបើកដំណើរការកម្មវិធីជំនួយ Publish core នៅក្នុងការកំណត់ -> កម្មវិធីជំនួយ core ដើម្បីមើលគេហទំព័រ។", "label-your-sites": "គេហទំព័ររបស់អ្នក", "label-sites-shared-with-you": "គេហទំព័រដែលបានចែករំលែកជាមួយអ្នក", "tooltip-leave-site-sharing": "ឈប់សហការនៅលើគេហទំព័រនេះ", "label-leave-site-confirmation": "បញ្ជាក់​ការ​ឈប់​ការ​សហការ​គេហទំព័រ", "label-leave-site-confirmation-details": "នេះនឹងលុបគេហទំព័រនេះចេញពីបញ្ជីគេហទំព័រដែលបានចែករំលែកជាមួយអ្នក។ សកម្មភាពនេះមិនអាចត្រឡប់ក្រោយវិញបានទេ។", "label-leave-site-confirmation-details-2": "សូមទាក់ទងម្ចាស់គេហទំព័រប្រសិនបើអ្នកចង់សហការនៅលើគេហទំព័រនេះម្តងទៀត។", "button-leave": "ចាកចេញ", "label-compare-with-live": "ប្រៀបធៀបជាមួយកំណែបន្តផ្ទាល់", "button-use-live-version": "ប្រើកំណែបន្តផ្ទាល់", "label-confirm-override": "បញ្ជាក់ការសសេរពីលើកំណែមូលដ្ឋាន", "label-confirm-override-1": "តើអ្នកប្រាកដថាចង់សសេរពីលើកំណែមូលដ្ឋានទេ?", "label-confirm-override-2": "កំណែបន្តផ្ទាល់នឹងត្រូវបានប្រើ ហើយកំណែមូលដ្ឋានរបស់អ្នកនឹងត្រូវបានលុបចោល។ សូមធ្វើការបម្រុងទុកប្រសិនបើចាំបាច់។", "button-proceed": "បន្ត", "message-successfully-used-live-version": "បានប្រើកំណែបន្តផ្ទាល់ដោយជោគជ័យ ដើម្បីសសេរពីលើកំណែមូលដ្ឋានរបស់អ្នក។", "label-open-in-live-site": "Open in live site", "label-open-file": "បើក​ឯកសារ", "tooltip-manage-publish-filters": "គ្រប់គ្រង​តម្រង​ផ្សាយ", "option-included-folders": "ថតឯកសារដែលត្រូវបានរួមបញ្ចូល", "option-included-folders-desc": "ឯកសារនៅក្រោមថតទាំងនេះនឹងត្រូវបានជ្រើសរើសដោយស្វ័យប្រវត្តិនៅពេលអ្នកពិនិត្យមើលការផ្លាស់ប្តូរដើម្បីផ្សាយ។", "option-currently-included-folders": " ក្នុងពេលបច្ចុប្បន្នថតឯកសារទាំងនេះត្រូវបានរួមបញ្ចូល៖", "option-excluded-folders": "ថតឯកសារ​ដែល​មិន​បាន​រាប់​បញ្ចូល", "option-excluded-folders-desc": "ឯកសារនៅក្រោមថតទាំងនេះនឹងមិនបង្ហាញនៅពេលអ្នកពិនិត្យមើលការផ្លាស់ប្តូរដើម្បីផ្សាយ។ ការកំណត់នេះផ្តល់អាទិភាពលើថតដែលបានរួមបញ្ចូលខាងលើ។", "label-number-of-folders-included": "Obsidian Publish បច្ចុប្បន្នត្រូវបានរួមបញ្ចូល {{folders}}។", "label-number-of-folders-excluded": "Obsidian Publish បច្ចុប្បន្នកំពុងមិនរាប់បញ្ចូល {{folders}}។", "label-manage-included-folders": "គ្រប់គ្រងថតឯកសារដែលបានរួមបញ្ចូល", "label-manage-excluded-folders": "គ្រប់គ្រង​ថតឯកសារ​ដែល​មិន​បាន​រាប់​បញ្ចូល", "label-add-included-folder": "រួមបញ្ចូលថតឯកសារមួយ", "label-add-included-folder-desc": "អ្នកអាចរួមបញ្ចូលទាំងថតឯកសារដែលមានស្រាប់ និងថតឯកសារដែលមិនទាន់ត្រូវបានបង្កើត។", "tooltip-contact-support": "ទាក់ទងផ្នែកជំនួយ", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "កន្លែងធ្វើការ", "desc": "រក្សាទុក និងផ្ទុកប្លង់កន្លែងការងារ។", "action-load-layout": "ផ្ទុកប្លង់កន្លែងការងារ", "action-manage-layouts": "គ្រប់គ្រងប្លង់កន្លែងការងារ", "action-save": "Save layout", "action-save-and-load-layout": "រក្សាទុក និងផ្ទុកប្លង់ផ្សេងទៀត", "placeholder-save-current-layout-as": "រក្សាទុកប្លង់កន្លែងការងារបច្ចុប្បន្នជា...", "button-save": "រក្សាទុក", "button-load": "ផ្ទុក", "tooltip-delete-layout": "លុបប្លង់", "msg-enter-name": "សូមបញ្ចូលឈ្មោះសម្រាប់ប្លង់ថ្មី។", "msg-save-layout-success": "បានរក្សាទុកប្លង់ដោយជោគជ័យ។", "label-no-layout-found": "រកមិនឃើញប្លង់ដែលបានរក្សាទុកទេ។", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "វាយឈ្មោះប្លង់..." }, "sync": { "name": "សមកាលកម្ម", "desc": "ធ្វើសមកាលកម្មឯកសាររបស់អ្នកតាមរយៈ Obsidian Sync ។", "action-view-version-history": "មើលប្រវត្តិកំណែសមកាលកម្ម", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "ផ្ទុក​បន្ថែម", "label-show-diff": "បង្ហាញភាពខុសគ្នា", "label-copy-to-clipboard": "ចម្លងទៅឃ្លីបបត", "label-restore-this-version": "ស្តារកំណែនេះ", "msg-already-latest-version": "កំណែនេះគឺជាកំណែចុងក្រោយបំផុតរួចទៅហើយ។", "msg-restored-version": "កំណែដែលបានស្ដារឡើងវិញដោយជោគជ័យពី {{time}}", "label-file-deleted": "ឯកសារ​នេះ​ត្រូវ​បាន​លុប", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "This file was renamed from \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revision", "label-revision_plural": "{{revisions}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "ទទេ", "label-unable-to-retrieve": "Unable to retrieve version history", "label-setting-files": "ការកំណត់ឯកសារ", "label-deleted-files": "ឯកសារដែលបានលុប", "label-version-history": "ប្រវត្តិកំណែ", "label-click-to-see-history": "ចុចលើឯកសារដើម្បីមើលប្រវត្តិរបស់វា។", "label-create-remote-vault": "បង្កើត​ vault ពីចម្ងាយ", "msg-please-enter-password": "សូមបញ្ចូលពាក្យសម្ងាត់។", "msg-vault-name-cannot-be-empty": "​ឈ្មោះ vault មិនអាចទទេបានទេ។", "msg-successfully-created-vault": "បង្កើត​ vault ពីចម្ងាយដោយជោគជ័យ \"{{name}}\".", "label-remote-vault-explanation": "Vault ពីចម្ងាយធ្វើសមកាលកម្ម​ vault របស់អ្នកដោយសុវត្ថិភាពរវាងឧបករណ៍។", "option-vault-name": "ឈ្មោះ vault", "option-vault-name-desc": "ជួយអ្នកឱ្យចងចាំពីអ្វីដែល vault នេះសម្រាប់។", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Select the server region closest to you to store the remote vault. This cannot be changed in the future.", "option-vault-name-placeholder": "Vault ដ៏អស្ចារ្យរបស់ខ្ញុំ", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "ពាក្យសម្ងាត់អ៊ិនគ្រីប", "option-encryption-password-desc": "ពាក្យសម្ងាត់នេះមិនអាចផ្លាស់ប្តូរនៅពេលក្រោយបានទេ។", "option-encryption-password-desc-warning": "ប្រសិនបើអ្នកភ្លេចពាក្យសម្ងាត់នេះ ទិន្នន័យពីចម្ងាយណាមួយនឹងនៅតែមិនអាចប្រើប្រាស់បានជារៀងរហូត។", "option-encryption-password-desc-2": "នេះមិនប៉ះពាល់ដល់ទិន្នន័យមូលដ្ឋានរបស់អ្នកទេ។", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "​ពាក្យសំងាត់​របស់​អ្នក", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "ដោះសោ vault", "label-remote-vaults": "Vault ពីចម្ងាយរបស់អ្នក", "label-vault-created-time": "បានបង្កើត {{time}}", "tooltip-delete-remote-vault": "លុប", "tooltip-rename-remote-vault": "Rename", "label-rename-remote-vault": "Rename remote vault \"{{name}}\"", "label-rename-remote-vault-desc": "Enter a new name for this remote vault.", "tooltip-manage-sharing": "គ្រប់គ្រងការចែករំលែក", "label-confirm-delete-remote-vault": "បញ្ជាក់ការលុប vault", "label-confirm-delete-remote-vault-question": "តើអ្នកប្រាកដថាចង់លុប vault ពីចម្ងាយនេះទេ?", "label-confirm-delete-remote-vault-result": "ទិន្នន័យទាំងអស់នៅលើម៉ាស៊ីនមេរបស់យើង រួមទាំងប្រវត្តិកំណែនឹងត្រូវបានលុប។ ឯកសារក្នុងតំបន់របស់អ្នកនឹងនៅដដែល។", "label-confirm-delete-remote-vault-warning": "សកម្មភាពនេះគឺអចិន្ត្រៃយ៍ និងមិនអាចត្រឡប់វិញបានឡើយ។", "msg-remote-vault-deleted": "{{name}} ត្រូវបានលុប។", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "ភ្ជាប់", "button-disconnect-from-remote-vault": "ផ្តាច់", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "អ្នកមិនមាន vault ពីចម្ងាយទេ។", "label-no-subscription": "You don't have an active Obsidian Sync subscription.", "label-please-visit": "Please visit", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "បង្កើត vault ថ្មី", "label-sync-log": "កំណត់ហេតុសមកាលកម្ម", "option-event-type-all": "All", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Merge conflicts", "button-copy-sync-log": "ចម្លងកំណត់ហេតុសមកាលកម្ម", "msg-successfully-copied-sync-log": "បានចម្លងកំណត់ហេតុសមកាលកម្មដោយជោគជ័យ។", "button-retry": "ព្យាយាមម្តងទៀត", "button-purchase-subscription": "ទិញ", "label-third-party-sync-warning": "បានរកឃើញសេវាកម្មធ្វើសមកាលកម្មឯកសារដែលមានជម្លោះ", "label-third-party-sync-warning-desc": "ការព្រមាន៖ vault របស់អ្នកហាក់ដូចជាកំពុងប្រើ {{service}} ជាសេវាកម្មធ្វើសមកាលកម្មភាគីទីបី។ ប្រសិនបើអ្នកប្រើ Obsidian Sync ជាមួយ vault នេះ អ្នកអាចនឹងមានបញ្ហាជម្លោះ, ខូចឯកសារ, ឬការបាត់បង់ទិន្នន័យ។", "label-icloud-drive-warning": "ប្រសិនបើអ្នកកំពុងប្រើ iCloud Drive, ឯកសារ និងថតឯកសារ Desktop របស់អ្នកអាចត្រូវបានធ្វើសមកាលកម្មដោយ iCloud ។ នេះអាចបណ្តាលឱ្យមានជម្លោះជាមួយ Obsidian Sync ។", "option-remote-vault": "Vault ពីចម្ងាយ", "button-choose-remote-vault": "ជ្រើសរើស", "button-manage-remote-vault": "គ្រប់គ្រង", "option-remote-vault-desc-connected": "បច្ចុប្បន្ន​នេះ​បាន​ភ្ជាប់​ទៅ​នឹង \"{{name}}\" vault ពីចម្ងាយ។", "option-remote-vault-desc-not-connected": "បច្ចុប្បន្ន​នេះ​មិន​បាន​ភ្ជាប់​ទៅ vault ពីចម្ងាយ​ណា​មួយ​ទេ។", "option-sync-status": "ស្ថានភាពសមកាលកម្ម", "option-sync-status-desc-paused": "បច្ចុប្បន្នការធ្វើសមកាលកម្ម Obsidian ត្រូវបានផ្អាក។", "option-sync-status-desc-running": "Obsidian Sync កំពុងដំណើរការ។", "option-device-name": "ឈ្មោះឧបករណ៍", "option-device-name-desc": "ឈ្មោះនេះនឹងត្រូវបានបង្ហាញនៅក្នុងកំណត់ហេតុសមកាលកម្ម។ ទុកឲ្យទទេ ដើម្បីប្រើឈ្មោះលំនាំដើម។", "button-resume": "បន្ត", "button-pause": "ផ្អាក", "option-view-deleted-files": "ឯកសារដែលបានលុប", "option-view-deleted-files-desc": "មើល​និង​ស្ដារ​ឯកសារ​ដែល​បាន​លុប។", "option-sync-log": "សកម្មភាពសមកាលកម្ម", "option-sync-log-desc": "មើលសកម្មភាពសមកាលកម្មថ្មីៗសម្រាប់ការកែកំហុស។", "button-view": "មើល", "button-bulk-restore": "Bulk restore", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "កំពុងស្ដារ...", "msg-restoring-complete": "ការស្តារឡើងវិញបានបញ្ចប់៖ {{succeeded}} ជោគជ័យ និង {{failed}} បរាជ័យ។", "option-vault-size": "Vault size", "option-vault-size-desc": "You are using {{size}} out of {{limit}}", "option-vault-size-unknown": "Unable to retrieve your vault size.", "option-vault-size-loading": "Retrieving your vault size...", "option-over-size": "ទំហំ vault លើសពីដែនកំណត់", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "មើលឯកសារធំបំផុត", "msg-largest-files-desc": "ទាំងនេះគឺជាឯកសារពីចម្ងាយដែលយកទំហំច្រើនបំផុត។ បន្ទាប់​ពី​លុប​ឯកសារ​ភ្ជាប់ សូម​ប្រើ​ប៊ូតុង​លុប​បំបាត់​ដើម្បី​បង្កើន​ទំហំ​ផ្ទុក​ពី​ចម្ងាយ។", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "សម្អាត", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "សម្អាតឯកសារភ្ជាប់ដែលបានលុបជាអចិន្ត្រៃយ៍ពី vault ពីចម្ងាយ ដើម្បីសន្សំទំហំ។", "msg-purge-complete": "ការ​សម្អាត​បាន​បញ្ចប់​។", "option-prevent-sleep": "ទប់ស្កាត់ការគេងរបស់ឧបករណ៍", "option-prevent-sleep-desc": "រារាំង​ឧបករណ៍​មិន​ឱ្យ​គេង​នៅពេល​ដែល​នៅ​មាន​ឯកសារ​ដែល​ត្រូវ​ធ្វើ​សមកាលកម្ម។", "option-selective-sync": "ជ្រើសរើសសមកាលកម្ម", "option-excluded-folders": "ថតឯកសារ​ដែល​មិន​បាន​រាប់​បញ្ចូល", "option-excluded-folder-desc": "ការពារថតឯកសារមួយចំនួនពីការធ្វើសមកាលកម្ម។", "option-currently-excluded-folders": " ថតឯកសារទាំងនេះមិនត្រូវបានរាប់​បញ្ចូលក្នុងពេលបច្ចុប្បន្ន​៖", "button-manage-excluded-folders": "គ្រប់គ្រង", "option-sync-image": "ធ្វើសមកាលកម្មរូបភាព", "option-sync-image-desc": "ធ្វើសមកាលកម្មឯកសាររូបភាពជាមួយផ្នែកបន្ថែមទាំងនេះ៖ {{extensions}}.", "option-sync-audio": "ធ្វើសមកាលកម្មសំឡេង", "option-sync-audio-desc": "ធ្វើសមកាលកម្មឯកសារសំឡេងជាមួយផ្នែកបន្ថែមទាំងនេះ៖ {{extensions}}.", "option-sync-video": "ធ្វើសមកាលកម្មវីដេអូ", "option-sync-video-desc": "ធ្វើសមកាលកម្មឯកសារវីដេអូជាមួយផ្នែកបន្ថែមទាំងនេះ៖ {{extensions}}.", "option-sync-pdf": "ធ្វើសមកាលកម្ម PDF", "option-sync-pdf-desc": "ធ្វើសមកាលកម្មឯកសារ PDF ។", "option-sync-unsupported": "ធ្វើសមកាលកម្មប្រភេទផ្សេងទៀតទាំងអស់។", "option-sync-unsupported-desc": "ធ្វើសមកាលកម្មប្រភេទឯកសារដែលមិនគាំទ្រ។", "option-vault-config-sync": "ការធ្វើសមកាលកម្មការកំណត់រចនាសម្ព័ន្ធ vault", "option-view-config-files": "ការកំណត់ប្រវត្តិកំណែ", "option-view-config-files-desc": "មើល និងស្ដារប្រវត្តិកំណែនៃការកំណត់ឯកសារ។", "option-sync-app": "ការកំណត់ចម្បង", "option-sync-app-desc": "បើកធ្វើសមកាលកម្មការកំណត់កម្មវិធីនិពន្ធ, ឯកសារនិងការកំណត់តំណភ្ជាប់។ល។", "option-sync-appearance": "ការកំណត់រូបរាង", "option-sync-appearance-desc": "ធ្វើសមកាលកម្មការកំណត់រូបរាងដូចជាម៉ូដងងឹត, រចនាប័ទ្មសកម្ម, និង snippet ដែលបានបើកដំណើរការ។", "option-sync-appearance-data": "រូបរាងនិង snippet", "option-sync-appearance-data-desc": "ធ្វើសមកាលកម្មរូបរាងនិង snippet។ ថាតើពួកវាត្រូវបានបើកអាស្រ័យលើការកំណត់ពីមុនឬអត់។", "option-sync-hotkey": "Hotkeys", "option-sync-hotkey-desc": "ធ្វើសមកាលកម្ម hotkey ផ្ទាល់ខ្លួន។", "option-sync-core-plugin": "បញ្ជីកម្មវិធីជំនួយ active core", "option-sync-core-plugin-desc": "ធ្វើសមកាលកម្មកម្មវិធីជំនួយ core ណាមួយត្រូវបានបើក។", "option-sync-core-plugin-data": "ការកំណត់កម្មវិធីជំនួយ core", "option-sync-core-plugin-data-desc": "ធ្វើសមកាលកម្មការកំណត់កម្មវិធីជំនួយ core។", "option-sync-community-plugin": "បញ្ជីកម្មវិធីជំនួយសហគមន៍សកម្ម", "option-sync-community-plugin-desc": "ធ្វើសមកាលកម្មកម្មវិធីជំនួយសហគមន៍ណាមួយត្រូវបានបើក។", "option-sync-community-plugin-data": "បានដំឡើងកម្មវិធីជំនួយសហគមន៍", "option-sync-community-plugin-data-desc": "ធ្វើសមកាលកម្មកម្មវិធីជំនួយសហគមន៍ដែលបានដំឡើង (.js, .css, and manifest.json files) និងការកំណត់របស់ពួកគេ។", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync គឺជាសេវាកម្មធ្វើសមកាលកម្មបន្ថែមរបស់ Obsidian ជាមួយនឹងការអ៊ិនគ្រីបពីចុងដល់ចុង និងប្រវត្តិកំណែ។", "label-account-required": "ដើម្បីចាប់ផ្តើមធ្វើសមកាលកម្ម, សូមចូល ឬបង្កើតគណនី Obsidian ថ្មី។", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "ចុះ​ឈ្មោះ", "button-log-in": "ចុះឈ្មោះចូល", "label-manage-excluded-folders": "គ្រប់គ្រង​ថតឯកសារ​ដែល​មិន​បាន​រាប់​បញ្ចូល", "label-number-of-folders-excluded": "Obsidian Sync បច្ចុប្បន្នកំពុងមិនរាប់បញ្ចូល {{folders}}.", "label-add-excluded-folder": "មិនរាប់បញ្ចូលថតឯកសារ", "label-add-excluded-folder-desc": "អ្នកអាចមិនរាប់បញ្ចូលទាំងថតដែលមានស្រាប់ និងថតដែលមិនទាន់ត្រូវបានបង្កើតនៅឡើយ។", "tooltip-remove-excluded-folder": "ដក​ចេញ​ពី​បញ្ជី​ដែល​មិន​រាប់​បញ្ចូល", "label-setup-connection": "ដំឡើងការតភ្ជាប់", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "ឥឡូវនេះអ្នកបានភ្ជាប់ទៅ \"{{name}}\".", "button-start-syncing": "ចាប់ផ្តើមធ្វើសមកាលកម្ម", "label-confirm-merge-vault": "បញ្ជាក់ការបញ្ចូល vault ជាមួយគ្នា", "msg-vault-has-notes": "Vault ក្នុងតំបន់របស់អ្នកមានកំណត់ចំណាំមួយចំនួនរួចហើយ។", "msg-vault-merge-warning": "ប្រសិនបើអ្នកភ្ជាប់ទៅ vault ពីចម្ងាយ \"{{name}}\", កំណត់ចំណាំនៅក្នុង vault ក្នុងតំបន់របស់អ្នកនឹងត្រូវបានបញ្ចូលជាមួយកំណត់ចំណាំពី vault ពីចម្ងាយរបស់អ្នក។ ក្នុងករណីមានការប៉ះទង្គិច កំណែចុងក្រោយបំផុតនៃកំណត់ចំណាំនឹងត្រូវបានរក្សា។", "tooltip-update-setting-on-all-devices": "សូមអាប់ដេតជម្រើសនេះ ហើយចាប់ផ្ដើមកម្មវិធីឡើងវិញនៅលើឧបករណ៍ទាំងអស់ដែលអ្នកចង់ឱ្យវាមានប្រសិទ្ធភាព។", "label-sharing-with-users": "Vault ពីចម្ងាយនេះបច្ចុប្បន្នត្រូវបានចែករំលែកជាមួយមនុស្សដូចខាងក្រោម។", "label-not-sharing": "Vault ពីចម្ងាយនេះបច្ចុប្បន្នមិនត្រូវបានចែករំលែកជាមួយនរណាម្នាក់ទេ។", "label-vaults-shared-with-you": "Vault ដែលបានចែករំលែកជាមួយអ្នក", "tooltip-leave-vault-sharing": "បញ្ឈប់ការសហការលើ vault នេះ", "label-leave-vault-confirmation": "បញ្ជាក់​ការ​បញ្ឈប់​ការ​សហការ vault", "label-leave-vault-confirmation-details": "វានឹងដក vault នេះចេញពីបញ្ជី vault ដែលបានចែករំលែកជាមួយអ្នក។ សកម្មភាពនេះមិនអាចត្រឡប់វិញបានទេ។", "label-leave-vault-confirmation-details-2": "សូមទាក់ទងម្ចាស់ vault ប្រសិនបើអ្នកចង់សហការលើ vault នេះម្តងទៀត។", "button-leave": "ចាកចេញ", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "អ្នកត្រូវការការជាវ Obsidian Sync ដើម្បីភ្ជាប់ទៅ vault នេះ។", "option-contact-support": "ទាក់ទងផ្នែកជំនួយ", "option-contact-support-desc": "ប្រសិនបើអ្នកមានបញ្ហាណាមួយជាមួយ Obsidian Sync សូមទាក់ទងមកយើងខ្ញុំ ដើម្បីយើងអាចជួយអ្នកបាន! អ្នកអាចទាក់ទងពួកយើងនៅ support@obsidian.md.", "button-copy-debug": "Copy debug info", "button-email-support": "ជំនួយអ៊ីមែល", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Sync អនុញ្ញាតឱ្យអ្នកបង្កើត vault ពីចម្ងាយរហូតដល់ 5។ ដើម្បីបង្កើត vault ពីចម្ងាយថ្មី, សូមលុប vault ដែលមានស្រាប់ចេញ។", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "ការស្តារឯកសារឡើងវិញ", "desc": "អនុញ្ញាត​ឱ្យ​អ្នក​ស្ដារ Snapshots​ ​ថ្មីៗ​ដើម្បី​សង្គ្រោះ​ពី​ការ​បាត់បង់​ទិន្នន័យ​ដោយ​ចៃដន្យ។ Snapshots ត្រូវបានរក្សាទុកសម្រាប់តែឯកសារ Markdown ប៉ុណ្ណោះ។", "action-open": "បើក snapshots ដែលបានរក្សាទុក", "option-interval": "ចន្លោះពេល Snapshot", "option-interval-description": "ចន្លោះពេលតិចតួចបំផុតក្នុងប៉ុន្មាននាទីរវាងពីរ snapshots។", "option-keep": "ប្រវែងប្រវត្តិ", "option-keep-description": "ប្រវែងជាថ្ងៃ snapshots ត្រូវបានរក្សាទុក។", "option-open-history": "Snapshots", "option-open-history-description": "មើល​និង​ស្តា​រ​ដែល​បាន​រក្សា​ទុក​ snapshots។", "button-view-history": "View", "option-clear": "ជម្រះប្រវត្តិ", "option-clear-description": "ជម្រះ snapshots ទាំងអស់។", "button-clear-history": "ជម្រះ", "label-clear-warning": "តើអ្នកប្រាកដថាចង់លុប snapshots​ ទាំងអស់? ចំណាំថាមានតែ snapshots នឹងត្រូវដកចេញ។ ឯកសារទាំងអស់នៅក្នុង vault របស់អ្នកនឹងមិនរងផលប៉ះពាល់ទេ។", "msg-clear-complete": "Snapshots ត្រូវបានជម្រះ។", "label-no-history-found": "គ្មាន snapshots ត្រូវបានរកឃើញ។", "placeholder-choose-file": "ជ្រើសរើសឯកសារ...", "label-select-file": "សូមជ្រើសរើសឯកសារមួយនៅខាងឆ្វេងដើម្បីមើល snapshots។" }, "note-composer": { "name": "អ្នកនិពន្ធកំណត់ត្រា", "desc": "បញ្ចូលគ្នា, បំបែក, និងកំណែប្រែកំណត់ចំណាំ។", "option-confirm-file-merge": "បញ្ជាក់ការបញ្ចូលគ្នានៃឯកសារ", "option-confirm-file-merge-description": "ជម្រុញមុនពេលបញ្ចូលឯកសារទាំងពីរ។", "option-split-replacement-text": "អត្ថបទបន្ទាប់ពីការស្រង់ចេញ", "option-split-replacement-text-description": "អ្វីដែលត្រូវបង្ហាញជំនួសអត្ថបទដែលបានជ្រើសរើសបន្ទាប់ពីស្រង់វាចេញ។", "option-choice-split-replacement-text-link": "តំណភ្ជាប់ទៅឯកសារថ្មី។", "option-choice-split-replacement-text-embed": "បង្កប់ឯកសារថ្មី។", "option-choice-split-replacement-text-none": "គ្មាន", "option-template-file": "ទីតាំងឯកសារពុម្ព", "option-template-file-description": "ឯកសារគំរូដែលត្រូវប្រើនៅពេលបញ្ចូលឬស្រង់ចេញ។ Variables ដែលអាចប្រើបាន៖ {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, ឧ. {{date:YYYY-MM-DD}}។", "command-merge-file": "បញ្ចូល​ឯកសារ​បច្ចុប្បន្ន​ជាមួយ​ឯកសារ​មួយ​ផ្សេង​ទៀត...", "action-merge-file": "បញ្ចូលឯកសារទាំងមូលជាមួយ...", "label-no-files": "ពុំអាចរក​ឃើញ​ឯកសារ។", "instruction-navigate": "ដើម្បីរុករក", "instruction-merge": "ដើម្បីបញ្ចូលគ្នា", "instruction-create-new": "ដើម្បីបង្កើតថ្មី", "instruction-merge-at-top": "ដើម្បីបញ្ចូលគ្នានៅផ្នែកខាងលើ", "instruction-dismiss": "ដើម្បីច្រានចោល", "prompt-select-file-to-merge": "ជ្រើសរើសឯកសារដើម្បីបញ្ចូលទៅជា...", "label-merge-file": "បញ្ចូលឯកសារ", "label-confirm-file-merge": "តើអ្នកប្រាកដទេថាអ្នកចង់បញ្ចូល \"{{file}}\" ចូលទៅក្នុង \"{{destination}}\"? \"{{file}}\" នឹងត្រូវបានលុប។", "button-merge": "បញ្ចូលគ្នា", "command-split-file": "ស្រង់​ជម្រើស​បច្ចុប្បន្ន...", "command-extract-heading": "ស្រង់​ចំណងជើង​នេះ...", "instruction-append": "ដើម្បីផ្លាស់ទីទៅខាងក្រោម", "instruction-prepend": "ដើម្បីផ្លាស់ទីទៅខាងលើ", "msg-fail-to-fetch-template": "បរាជ័យក្នុងការទាញយកឯកសារគំរូ៖ \"{{template}}\" មិនបានរកឃើញ។​​", "msg-fail-to-find-heading": "បរាជ័យក្នុងការស្វែងរកចំណងជើង" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Canvas", "desc": "រៀបចំនិងភ្ជាប់កំណត់ចំណាំនៅលើ canvas​​ ដែលគ្មានកំណត់។", "action-add-note": "បន្ថែមកំណត់ចំណាំពី vault", "action-add-media": "បន្ថែមមេឌៀពី vault", "action-add-card": "បន្ថែមកាត", "action-add-website": "បន្ថែម​ទំព័រ web", "action-create-group": "បង្កើតក្រុម", "action-create-with-size": "បង្កើតកាតដែលមានទំហំជាក់លាក់", "action-convert-to-file": "បម្លែង​ទៅ​ជា​ឯកសារ...", "action-drag-to-add-note": "អូសដើម្បីបន្ថែមកំណត់ចំណាំពី vault", "action-drag-to-add-media": "អូសដើម្បីបន្ថែមមេឌៀពី vault", "action-drag-to-add-card": "អូសដើម្បីបន្ថែមកាត", "action-edit-label": "កែសម្រួលស្លាក", "action-remove-label": "ដក​ស្លាក​ចេញ", "action-search-file": "ស្វែងរកឯកសារ", "action-set-color": "កំណត់ពណ៌", "action-align": "តម្រឹម", "action-align-left": "តម្រឹមខាងឆ្វេង", "action-align-center": "តម្រឹមកណ្តាល", "action-align-right": "តម្រឹមខាងស្ដាំ", "action-align-top": "តម្រឹមផ្នែកខាងលើ", "action-align-middle": "តម្រឹមកណ្តាល", "action-align-bottom": "តម្រឹមផ្នែកខាងក្រោម", "action-distribute-horizontal-spacing": "ចែកចាយគម្លាតផ្ដេក", "action-distribute-vertical-spacing": "ចែកចាយគម្លាតបញ្ឈរ", "action-justify-horizontally": "តម្រឹមផ្ដេក", "action-justify-vertically": "តម្រឹមបញ្ឈរ", "action-arrange-horizontally": "រៀបចំជាជួរ", "action-arrange-vertically": "រៀបចំ​ក្នុង​ជួរ​ឈរ", "action-arrange-grid": "រៀបចំក្នុងក្រឡាចត្រង្គ", "action-export-png": "នាំចេញជារូបភាព", "action-jump-to-group": "លោតទៅកាន់ក្រុម", "action-set-background": "កំណត់ផ្ទៃខាងក្រោយ", "action-edit-background": "កែសម្រួលផ្ទៃខាងក្រោយ", "action-replace-background": "ជំនួសផ្ទៃខាងក្រោយ", "action-remove-background": "លុបផ្ទៃខាងក្រោយ", "label-no-images": "រូបភាពមិនត្រូវបានរកឃើញ។", "label-no-media": "No media found.", "label-export-png-desc": "នាំចេញ \"{{title}}\" ជាឯកសារ PNG ជាមួយនឹងការកំណត់ខាងក្រោម។", "label-export-png-dimensions": "វិមាត្ររូបភាពប៉ាន់ស្មាន៖ {{dimensions}}", "label-distribute": "ចែកចាយ", "label-justify": "បញ្ជាក់", "label-arrange": "រៀបចំ", "label-always": "ជានិច្ច", "label-hover": "នៅ​លើ​សំកាំង", "label-never": "មិនដែល", "label-no-section-found": "ផ្នែកមិនត្រូវបានរកឃើញ", "option-wheel-behavior": "ឥរិយាបថកង់ mouse លំនាំដើម", "option-mod-drag-behavior": "ឥរិយាបថ {{key}} លំនាំដើម", "option-show-menu": "បង្ហាញម៉ឺនុយ", "option-new-canvas-location": "ទីតាំងលំនាំដើមសម្រាប់ឯកសារ canvas ថ្មី", "option-new-canvas-location-description": "កន្លែងដែលទើបឯកសារ canvas បង្កើតថ្មីត្រូវបានដាក់។", "option-new-canvas-folder-path": "ថតឯកសារដើម្បីបង្កើតឯកសារ​ canvas ថ្មី។", "option-new-canvas-folder-path-description": "ឯកសារ canvas ដែលបានបង្កើតថ្មីនឹងបង្ហាញនៅក្រោមថតនេះ។", "option-node-label": "បង្ហាញស្លាកកាត", "option-snap-to-grid": "ខ្ទាស់ទៅក្រឡាចត្រង្គ", "option-snap-to-grid-desc": "ខ្ទាស់កាតទៅក្រឡាចត្រង្គផ្ទៃខាងក្រោយ នៅពេលផ្លាស់ទី និងប្តូរទំហំ។", "option-snap-to-objects": "ខ្ទាស់ទៅវត្ថុ", "option-snap-to-objects-desc": "ខ្ទាស់​កាត​ទៅ​វត្ថុ​ដែល​នៅ​ក្បែរ​ពេល​ផ្លាស់ទី និង​ប្ដូរ​ទំហំ។", "option-zoom-breakpoint": "ពង្រីកកម្រិតសម្រាប់លាក់មាតិកាកាត", "option-zoom-breakpoint-desc": "តម្លៃទាបនឹងបង្កើនការអនុវត្ត ប៉ុន្តែលាក់មាតិកាកាតកាន់តែឆាប់នៅពេលបង្រួម។", "option-export-png-show-logo": "បង្ហាញនិមិត្តសញ្ញា", "option-export-png-show-logo-desc": "វានឹងបន្ថែមនិមិត្តសញ្ញា Obsidian ទៅខាងឆ្វេងខាងក្រោម។", "option-export-png-privacy-mode": "របៀបឯកជនភាព", "option-export-png-privacy-mode-desc": "វានឹងបិទបាំងអត្ថបទណាមួយនៅលើ canvas របស់អ្នក។", "option-export-png-zoom": "ពង្រីក", "option-export-png-zoom-desc": "ការពង្រីកកាន់តែខ្ពស់នឹងបង្កើតរូបភាពដែលមានគុណភាពបង្ហាញខ្ពស់។", "option-export-png-frame": "Viewport", "option-export-png-frame-desc": "ជ្រើសរើសដើម្បីបង្ហាញ canvas ទាំងមូលឬគ្រាន់តែជា viewport មើលឃើញបច្ចុប្បន្ន។", "option-export-png-frame-full": "Canvas ពេញ", "option-export-png-frame-viewport": "Viewport តែប៉ុណ្ណោះ", "option-background-cover": "គម្រប", "option-background-ratio": "រក្សាសមាមាត្រ", "option-background-repeat": "ធ្វើម្តងទៀត", "action-new-canvas": "Canvas ថ្មី", "action-remove": "ដក", "action-narrow-heading": "បង្រួមទៅចំណងជើង...", "action-narrow-block": "បង្រួមដើម្បីទប់ស្កាត់...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "ប្តូរឯកសារ...", "action-change-url": "ផ្លាស់ប្តូរ URL...", "action-zoom-to-fit": "ពង្រីកឱ្យសម", "action-zoom-to-selection": "ពង្រីកដើម្បីជ្រើសរើស", "action-reload-page": "ដំណើរការទំព័រឡើងវិញ", "action-follow-connection": "តាមដានការតភ្ជាប់", "command-create-new-canvas": "បង្កើត canvas ថ្មី", "command-convert-to-file": "បំប្លែងទៅជាឯកសារ...", "instruction-narrow-heading": "ដើម្បីបង្កប់ចំណងជើង", "instruction-narrow-block": "ដើម្បីបង្កប់ប្លុក", "instruction-jump-to-group": "ដើម្បីរុករកទៅក្រុម", "prompt-to-narrow": "វាយបញ្ចូលដើម្បីស្វែងរកឯកសារ, ចំណងជើង, ឬប្លុក", "label-enter-url": "បញ្ចូល URL", "label-empty-embed": "\"{{linktext}}\" មិនអាចត្រូវបានរកឃើញ។", "prompt-add-text": "បន្ថែមអត្ថបទ...", "prompt-start-search": "វាយបញ្ចូលដើម្បីស្វែងរក...", "label-canvas-help": "Canvas ជំនួយ", "label-canvas-settings": "ការកំណត់ canvas", "label-no-narrow": "បង្ហាញឯកសារទាំងមូល", "label-show-default-view": "Show default view", "label-readonly": "បានតែអាន", "label-disable-readonly": "បិទការអានតែប៉ុណ្ណោះ", "label-pan": "Pan", "label-pan-horizontal": "Pan ផ្ដេក", "label-zoom": "ពង្រីក", "label-select-all": "ជ្រើសរើស​ទាំងអស់", "label-add-remove-selection": "បន្ថែមទៅ / ដកចេញពីការជ្រើសរើស", "label-clone-card": "ក្លូនកាត", "label-constrain-movement-axis": "រឹតបន្តឹងចលនាកាតទៅអ័ក្ស", "label-disable-drag-snapping": "Disable snapping while dragging", "label-remove-card": "ដកកាតចេញ", "label-drag-from-below": "អូសពីខាងក្រោម ឬចុចពីរដង", "label-longpress": "ប៉ះនិងកាន់ដើម្បីបន្ថែម / ផ្លាស់ទី / ជ្រើសរើស", "label-drag-pan": "អូសដើម្បី pan", "label-pinch-zoom": "Pinch ដើម្បីពង្រីក", "label-space-drag-pan": "ចន្លោះ + អូសដើម្បី pan", "label-scroll-to-zoom": "រំកិល​ដើម្បី​ពង្រីក", "label-untitled-group": "ក្រុមគ្មានឈ្មោះ", "label-line-direction": "ទិសដៅបន្ទាត់", "label-nondirectional": "គ្មានទិសដៅ", "label-unidirectional": "ទិសដៅតែមួយ", "label-bidirectional": "ទ្វេទិសដៅ", "label-image": "រូបភាព", "label-style": "រចនាប័ទ្ម", "msg-no-groups-found": "ក្រុមមិនត្រូវបានរកឃើញ។", "msg-export-failed-empty-canvas": "មិន​អាច​នាំចេញ​ canvas ​ទទេ", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Highlight all", "action-match-diacritics": "Match diacritics", "action-whole-words": "Whole words", "action-show-thumbnails": "Thumbnails", "action-show-outline": "Table of contents", "action-reveal-in-outline": "Reveal page in table of contents", "action-toggle-sidebar": "Toggle sidebar", "action-previous-page": "Previous page", "action-next-page": "Next page", "action-fit-width": "Fit width", "action-fit-height": "Fit height", "action-save-p-d-f-location": "Save current position in document", "action-copy-annotation": "Copy annotation", "action-copy-quote": "Copy as quote", "action-copy-selection-link": "Copy link to selection", "action-copy-annot-link": "Copy link to annotation", "action-copy-section-link": "Copy link to section", "action-copy-section-link-title": "Copy link to “{{title}}”", "action-copy-page-link": "Copy link to page {{page}}", "msg-max-search-results": "{{current}} of over {{limit}} matches", "msg-search-count": "{{current}} of {{total}} match", "msg-search-count_plural": "{{current}} of {{total}} matches", "msg-password-protected": "This PDF is password protected", "msg-invalid-password": "Invalid password", "msg-enter-password": "Enter the password below", "label-of-pages": "of {{count}}", "label-page-of-pages": "({{current}} of {{count}})", "label-spread-single": "Single page", "label-spread-odd": "Two page (odd)", "label-spread-even": "Two page (even)", "tooltip-sidebar-options": "Sidebar options", "tooltip-display-options": "Display options", "label-adapt-to-theme": "Adapt to theme", "label-page": "page {{page}}", "page_landmark": "Page {{page}}", "thumb_page_title": "Page {{page}}", "thumb_page_canvas": "Page {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "List", "option-unknown": "Unknown", "option-text": "Text", "option-aliases": "Aliases", "option-tags": "Tags", "option-folder": "Folder", "option-file": "File", "option-date": "Date", "option-datetime": "Date & time", "option-number": "Number", "option-checkbox": "Checkbox" }, "value-suggestion": { "key-link-note": "Type [[", "instruction-link-note": "to link note", "instruction-dismiss": "to dismiss" }, "option-property-type": "Property type", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "Invalid tag name", "msg-invalid-number": "Invalid number", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "No value", "label-heading": "Properties", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "Add property", "label-type-mismatch-warning": "Type mismatch, expected {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Column", "label-row": "Row", "action-row-after": "Add row after", "action-column-after": "Add column after", "action-row-before": "Add row before", "action-row-up": "Move row up", "action-row-down": "Move row down", "action-column-before": "Add column before", "action-column-left": "Move column left", "action-column-right": "Move column right", "action-duplicate-row": "Duplicate row", "action-duplicate-column": "Duplicate column", "action-delete-row": "Delete row", "action-delete-column": "Delete column", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-delete-selection": "Delete cells", "action-clear-selection": "Clear cells", "action-sort-a-z": "Sort by column (A to Z)", "action-sort-z-a": "Sort by column (Z to A)", "label-command": "Table: {{command}}" }, "callout": { "option-type": "Callout type", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Success", "question": "Question", "warning": "Warning", "quote": "Quote", "example": "Example", "none": "None" }, "option-other": "Other...", "option-other-placeholder": "Callout type..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} ពាក្យ", "word-with-count_plural": "{{count}} ពាក្យ", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} តួអក្សរ", "character-with-count_plural": "{{count}} តួអក្សរ", "link-with-count": "{{count}} តំណភ្ជាប់", "link-with-count_plural": "{{count}} តំណភ្ជាប់", "file-with-count": "{{count}} ឯកសារ", "file-with-count_plural": "{{count}} ឯកសារ", "folder-with-count": "{{count}} ថត", "folder-with-count_plural": "{{count}} ថត", "backlink-with-count": "{{count}} តំណភ្ជាប់ខាងក្រោយ", "backlink-with-count_plural": "{{count}} តំណភ្ជាប់ខាងក្រោយ", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} property", "properties-with-count_plural": "{{count}} properties", "site-with-count": "{{count}} គេហទំព័រ", "site-with-count_plural": "{{count}} គេហទំព័រ", "plugin-with-count": "{{count}} កម្មវិធីជំនួយ", "plugin-with-count_plural": "{{count}} កម្មវិធីជំនួយ", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} រូបរាង", "theme-with-count_plural": "{{count}} រូបរាង" } }{ "setting": { "options": "옵션", "plugin": "플러그인", "builtin-plugins": "코어 플러그인", "plugin-options": "플러그인 옵션", "folder-path-example-placeholder": "예시: 폴더 1/폴더 2", "file-path-example-placeholder": "예시: 폴더/노트", "msg-restart-required": "해당 옵션을 변경 후 적용하려면 앱을 재시작 해야 합니다.", "editor": { "name": "편집기", "section-behavior": "동작", "section-display": "표시", "option-spellcheck": "맞춤법 검사", "option-spellcheck-description": "맞춤법 검사기를 사용하도록 설정합니다. 현재는 미국 영어로만 사용할 수 있습니다.", "spellcheck-languages": "맞춤법 검사 언어", "spellcheck-languages-description": "맞춤법 검사기에 사용할 언어를 선택하세요.", "spellcheck-languages-mac-description": "네이티브 맞춤법 검사기가 macOS에서 사용되고 있는 언어를 자동으로 감지합니다.", "spellcheck-dict": "맞춤법 검사 사전", "spellcheck-dict-empty": "맞춤법 검사 사전이 지정되지 않았습니다.", "option-show-inline-title": "인라인 제목 표시", "option-show-inline-title-description": "파일 이름을 파일 내용과 함께 수정 가능한 인라인 제목으로 표시해줍니다.", "option-readable-line-length": "읽기 쉬운 행 길이", "option-readable-line-description": "최대 줄 길이를 제한합니다. 화면에 맞는 콘텐츠는 줄어들지만 긴 단락을 더 쉽게 읽을 수 있게 됩니다.", "option-strict-line-break": "엄격한 줄 바꿈", "option-strict-line-break-description": "미리보기 화면에서는 마크다운 사양에 따라 단일 줄 바꿈을 무시합니다. 미리보기 화면에서 단일 줄 바꿈을 표시하고 싶다면 비활성화해주세요.", "option-properties-in-document": "문서 내 속성", "option-properties-in-document-description": "편집기 내에서 속성이 표시되는 방식을 선택합니다. 속성들을 YAML 형식으로 표시하려면 \"원본\"을 선택해주세요.", "option-properties-hidden": "숨김", "option-properties-visible": "표시", "option-properties-source": "원본", "option-auto-pair-brackets": "괄호 자동 닫기", "option-auto-pair-brackets-description": "괄호와 따옴표를 자동으로 닫습니다.", "option-auto-pair-markdown": "마크다운 문법 자동 닫기", "option-auto-pair-markdown-description": "볼드체, 이탤릭체, 하이라이트, 취소선, 코드에 사용되는 영역을 자동으로 닫아줍니다.", "option-smart-indent-lists": "스마트 들여쓰기", "option-smart-indent-lists-description": "들여쓰기와 목록들을 앱이 알아서 정리해줍니다.", "option-fold-heading": "제목 접기", "option-fold-heading-description": "제목 영역들을 접을 수 있게 해줍니다.", "option-fold-indent": "들여쓰기 접기", "option-fold-indent-description": "목록처럼 동일한 레벨의 들여쓰기들을 접을 수 있게 해줍니다.", "option-default-new-tab-view": "새 탭에 사용하는 기본 화면", "option-default-new-tab-view-description": "새 마크다운 탭을 열 때 기본적으로 사용되는 화면.", "option-default-new-tab-view-editing": "편집 화면", "option-default-new-tab-view-reading": "읽기 화면", "option-open-tab-in-foreground": "항상 새 탭으로 전환", "option-open-tab-in-foreground-description": "링크를 새 탭에서 열 경우, 즉시 해당 탭으로 전환합니다.", "option-default-editing-mode": "기본 편집 모드", "option-default-editing-mode-description": "새 패인이 시작되는 기본 편집 모드.", "option-default-editing-mode-source": "원본 모드", "option-default-editing-mode-live-preview": "실시간 미리보기", "option-show-line-number": "행 번호 표시", "option-show-line-number-description": "여백에 행 번호를 표시합니다.", "option-indentation-guide": "들여쓰기 가이드 보기", "option-indentation-guide-description": "시각적 안내를 위해 글머리 기호 사이의 수직 관계선을 표시합니다.", "option-use-tabs": "탭 사용", "option-use-tabs-description": "\"Tab\" 키를 누를 때 탭을 사용하여 들여쓰도록 합니다. 이 옵션을 비활성화 하면 띄어쓰기가 대신 사용됩니다.", "option-tab-size": "탭 크기", "option-tab-size-description": "탭을 나타내는 띄어쓰기 공백 수를 결정합니다.", "option-rtl": "오른쪽-왼쪽 방향", "option-rtl-description": "텍스트를 오른쪽에서 왼쪽 방향으로 표시하도록 설정합니다.", "option-auto-convert-html": "HTML 자동 변환", "option-auto-convert-html-description": "웹페이지에서 붙여넣기 및 드래그 앤드 드롭할 때 HTML을 마크다운으로 자동 변환합니다. 변환하지 않고 붙여넣으려면 Ctrl/Cmd+Shift+V 단축키를 사용해주세요.", "option-vim-key-bindings": "Vim 키 바인딩 설정", "option-vim-key-bindings-description": "편집 화면에서 Vim 키 바인딩을 사용할 수 있게 해줍니다.", "option-vim-key-bindings-mobile": "모바일 기기에서 이 설정은 기기별로 설정되며 설정 파일을 통해 동기화되지 않습니다.", "option-reindex-vault": "보관함 캐시 다시 빌드하기", "option-reindex-vault-description": "보관함의 크기에 따라 캐시를 다시 빌드하는 작업은 몇 초부터 몇 분까지 걸릴 수 있습니다.", "label-reindex": "다시 빌드하기", "label-confirm-enable-vim": "Vim 모드 시작 이전에...", "label-vim-warning": "Vim 모드는 더 효율적으로 텍스트 수정 작업을 진행할 수 있도록 추가된 기능이지만 어떤 사람들에게는 오히려 더 불편하게 느껴질 수도 있습니다. Vim에 익숙하시지 않으시다면 Obsidian이 망가졌다고 느끼실수도 있습니다.", "label-vim-test": "Vim 사용법을 알고 있는지 확인할 수 있도록 저장하지 않고 Vim을 종료하는 명령어를 입력해주세요.", "label-vim-your-answer": "정답", "placeholder-enter-command": "명령어 입력...", "button-confirm-enable-vim": "Vim 모드 활성화", "msg-vim-mode-enabled": "올바른 명령어입니다. Vim 모드가 활성화되었습니다.", "msg-vim-mode-not-enabled": "명령어가 잘못되었습니다. 당신을 지키기 위해 Vim 모드를 계속 비활성화 해두겠습니다...", "msg-vim-mode-please-enter-command": "Vim 모드를 활성화하는 명령어를 입력해주세요." }, "file": { "name": "파일 및 링크", "option-confirm-file-deletion": "파일 삭제 확인 메세지", "option-confirm-file-deletion-description": "파일을 삭제할 때 확인 메시지를 표시할지 여부.", "option-delete-destination": "삭제하는 파일", "option-delete-destination-description": "삭제하는 파일들을 처리할 방법.", "option-choice-system-trash": "시스템 휴지통으로 이동", "option-choice-vault-trash": "Obsidian 휴지통 (.trash 폴더) 으로 이동", "option-choice-permanent-delete": "영구적으로 삭제", "option-always-update-links": "항상 업데이트되는 내부 링크", "option-always-update-links-description": "파일 및 프롬프트의 이름을 변경할 때 링크를 자동으로 업데이트할지 여부.", "option-new-note-location": "새 노트를 생성하는 위치", "option-new-note-location-description": "새로 생성하는 노트의 위치를 결정합니다. 이 옵션은 개별 플러그인 설정으로 덮어씌어집니다.", "option-choice-vault-root": "보관함 최상위 폴더", "option-choice-current-folder": "현재 파일과 동일한 폴더", "option-choice-specified-folder": "아래에 지정된 폴더", "option-new-file-folder-path": "새 노트가 생성되는 폴더", "option-new-file-folder-path-description": "새로 생성하는 노트들이 이 폴더에 저장됩니다. 이 옵션은 개별 플러그인 설정으로 덮어씌어집니다.", "option-use-wiki-links": "[[Wikilink]] 사용", "option-use-wiki-links-description": "Markdown 링크나 이미지 대신 [[링크]] 및 ![[이미지]] 형식의 Wikilink를 자동으로 생성합니다. Markdown 링크를 대신 사용하려면 이 옵션을 비활성화해주세요.", "option-show-unsupported-files": "모든 파일 확장명 인식", "option-show-unsupported-files-description": "Obsidian이 기본적으로 열지 못하는 파일들이라도 파일 목록에 포함하게 합니다. 파일을 링크하고 파일 탐색기나 빠른 전환기로 확인할 때 유용합니다.", "option-link-autocompleted-format": "새로 생성하는 링크 형식", "option-link-autocompleted-format-description": "내부 링크를 자동으로 생성할 때 어떤 형식으로 링크를 생성할지 결정합니다.", "option-choice-shortest-linktext": "가능한 최단 경로", "option-choice-relative-path": "파일에 대한 상대 경로", "option-choice-absolute-path": "보관함에서의 절대 경로", "option-new-attachment-location": "새 첨부 파일을 생성할 위치", "option-new-attachment-location-description": "새로 추가한 첨부 파일들이 이 폴더에 위치되게 됩니다.", "option-new-attachment-location-default": "첨부파일", "option-choice-subdirectory": "현재 폴더의 하위 폴더", "option-attachment-folder-path": "첨부 파일 폴더 경로", "option-attachment-folder-path-description": "새로 추가한 첨부 파일들이 이 폴더에 위치되게 됩니다. 드래그 앤 드롭 및 붙여넣기로 추가한 이미지와 오디오 파일 등이 포함됩니다.", "option-attachment-subfolder-path": "하위 폴더 이름", "option-attachment-subfolder-path-description": "현재 파일이 \"보관함/folder\"에 있고 하위 폴더의 이름을 \"attachments\"로 설정한 경우 첨부 파일은 \"보관함/folder/attachments\"에 저장됩니다.", "option-excluded-files": "제외하는 파일", "option-excluded-files-desc": "제외하는 파일에 설정한 파일은 빠른 전환기, 링크 제안, 그래프 뷰 등의 다양한 위치에서 숨겨지거나 확인하기 어려워질수도 있습니다.", "label-no-excluded-filters-applied": "현재 필터가 적용되지 않은 상태입니다. 아래에서 추가해주세요.", "label-excluded-filters-applied": "현재 다음 필터와 일치하는 파일들이 제외되었습니다.", "label-excluded-filter": "필터", "message-empty-filter": "필터 항목은 비어있을 수 없습니다.", "placeholder-excluded-filter": "파일 경로 또는 \"/정규식/\" 입력...", "option-uri-callbacks": "URI 콜백 허용", "option-uri-callbacks-desc": "Obsidian URI를 처리할 때 x-success 혹은 x-error를 통해 x-callback-url 사용을 활성화합니다." }, "appearance": { "name": "외형", "option-base-theme": "기본 테마", "option-base-theme-description": "앱의 기본 테마를 선택합니다.", "option-accent-color": "강조 색상", "option-accent-color-description": "앱 전체에서 사용되는 강조 색상을 선택합니다.", "dark-theme": "다크", "light-theme": "라이트", "system-theme": "시스템 테마 적용", "option-font": "폰트", "option-advanced": "고급 옵션", "option-interface": "인터페이스", "option-interface-font": "인터페이스 폰트", "option-interface-font-description": "Obsidian 전체에서 사용할 기본 폰트를 선택합니다", "option-zoom-level": "배율", "option-zoom-level-description": "앱의 전반적인 배율을 조정합니다.", "option-text-font": "텍스트 폰트", "option-text-font-description": "편집 화면 및 읽기 화면에서 사용할 폰트를 설정합니다.", "option-monospace-font": "모노스페이스 폰트", "option-monospace-font-description": "코드 블럭이나 Frontmatter 등의 도구들을 사용 할 때 적용되는 폰트를 설정합니다.", "label-single-font-currently-in-effect": " 현재 적용중인 폰트: ", "label-multiple-fonts-currently-in-effect": "현재 다음 폰트들이 적용돼 있습니다: ", "option-font-placeholder": "폰트 이름을 입력해주세요...", "label-no-custom-font-set": "현재 사용자 지정 폰트가 적용되지 않았습니다. 아래에 추가해주세요.", "label-font-applied": "이 목록에 있는 폰트 중 시스템에서 사용 가능한 첫 번째 폰트가 우선적으로 적용됩니다.", "msg-font-not-found": "해당 폰트가 시스템에서 감지되지 않습니다.", "msg-font-found": "해당 폰트가 시스템에서 감지됐습니다.", "label-font-name": "폰트 이름", "option-community-themes": "커뮤니티 테마 목록 열기", "option-community-themes-description": "커뮤니티에서 개발한 테마를 찾아보고 사용해볼수 있습니다.", "button-browse-community-themes": "탐색", "option-font-size": "폰트 크기", "option-font-size-description": "픽셀 단위로 표기되는 폰트 크기는 편집 화면 및 미리보기 화면에 영향을 줍니다.", "option-font-size-action": "빠른 폰트 크기 조정", "option-font-size-action-description": "Ctrl+Scroll 또는 트랙패드에서 핀치-줌 제스처를 사용하여 폰트 크기를 조절합니다.", "option-themes": "테마", "option-manage-themes-description": "커뮤니티 테마를 탐색하고 설치된 테마를 관리합니다.", "option-theme-button-manage": "관리", "option-choice-none": "없음", "option-native-menus": "네이티브 메뉴", "option-native-menus-desc": "앱 전체에서 사용되는 메뉴를 운영체제와 일치시킵니다. 일치된 메뉴는 테마의 영향을 받지 않습니다.", "button-reload-themes": "테마 다시 불러오기", "msg-reloaded-themes": "맞춤 CSS 테마를 다시 불러왔습니다.", "button-open-themes-folder": "테마 폴더 열기", "option-css-snippets": "CSS 스네펫", "label-no-css-snippets-found": "스네펫 폴더에서 CSS 스네펫을 찾지 못했습니다.", "no-snippet-description": "CSS 스네펫이 \"{{path}}\" 에 저장됩니다.", "button-reload-snippets": "스네펫 다시 불러오기", "button-open-snippets-folder": "스네펫 폴더 열기", "msg-reloaded-snippets": "CSS 스네펫을 다시 불러왔습니다.", "option-toggle-snippet-description": "\"{{path}}\" CSS 스네펫을 적용합니다.", "label-installed-themes": "설치된 테마", "label-screenshot-unavailable": "스크린샷을 가져올 수 없습니다.", "label-default-theme": "기본 테마", "tooltip-click-to-enlarge": "확대하려면 클릭", "button-update": "업데이트", "label-currently-active": "활성화됨", "option-frame-style": "창 프레임 스타일", "option-frame-description": "Obsidian 창의 제목 표시줄 스타일을 결정합니다. 적용하려면 완전히 다시 시작해야 합니다.", "option-frame-hidden": "숨김 (기본)", "option-frame-obsidian": "Obsidian 프레임", "option-frame-native": "네이티브 프레임", "option-custom-icon": "커스텀 앱 아이콘", "option-custom-icon-desc": "앱에 사용할 커스텀 아이콘을 설정합니다.", "button-choose-custom-icon": "커스텀 아이콘 선택", "option-configure-ribbon": "리본 메뉴", "option-configure-ribbon-desc": "내비게이션바에 위치한 리본 메뉴에 어떤 명령어들을 표시할지 설정합니다.", "option-mobile-quick-ribbon-item": "리본 아이템으로 빠른 접근", "option-mobile-quick-ribbon-item-desc": "내비게이션 메뉴의 리본 아이템을 터치할 때 리본 아이템이 활성화됩니다. 터치 후 홀드하면 메뉴가 표시됩니다.", "option-mobile-quick-ribbon-default": "리본 메뉴 열기", "button-configure": "설정", "option-show-ribbon": "리본 표시하기", "option-show-ribbon-desc": "창 측면에 세로로 긴 툴바를 표시합니다.", "label-additional-ribbon-items": "다른 리본 아이템", "label-modal-configuration": "리본 설정", "label-modal-configuration-desc": "리본에 나타날 아이템을 선택해주세요. 드래그로 순서를 변경할 수 있습니다.", "option-show-view-header": "탭 타이틀바 표시", "option-show-view-header-desc": "모든 탭 상단에 헤더를 표시합니다.", "msg-updates-found": "{{count}} 개의 테마를 업데이트할 수 있습니다.", "msg-updates-found_plural": "{{count}} 개의 플러그인을 업데이트할 수 있습니다.", "button-check-for-updates": "업데이트 확인", "button-view-updates": "업데이트 보기", "button-update-all-themes": "모두 업데이트", "label-current-themes": "현재 커뮤니티 테마", "label-currently-installed": "현재 {{count}} 개의 테마가 설치되어 있습니다.", "label-currently-installed_plural": "현재 {{count}} 개의 테마가 설치되어 있습니다." }, "hotkeys": { "name": "단축키", "option-search": "단축키 검색", "option-search-desc": "{{count}} 개의 단축키를 표시합니다. ", "option-search-desc_plural": "{{count}} 개의 단축키를 표시합니다. ", "option-search-conflict": "{{count}} 개의 중복되는 단축키가 있습니다.", "option-search-conflict_plural": "{{count}} 개의 중복되는 단축키가 있습니다.", "prompt-filter": "필터...", "tooltip-delete-hotkey": "단축키 제거", "label-waiting-for-hotkey-press": "키를 눌러주세요...", "label-show-all": "전체", "label-show-unassigned": "미할당됨", "label-show-assigned": "할당됨", "label-show-user-assigned": "내가 할당한 단축키들", "tooltip-restore-default": "기본값 복원", "tooltip-customize-command": "명령어 사용자 지정하기", "tooltip-hotkey-single-conflict": "해당 단축키는 \"{{command}}\"와 중복합니다", "tooltip-hotkey-multiple-conflicts": "해당 단축키는 {{count}}개의 명령과 중복합니다", "label-blank-hotkey": "미할당됨" }, "about": { "name": "일반", "label-commercial-license": "상용 라이선스", "label-license-key": "라이선스 키", "license-key-placeholder": "라이선스 키를 입력해주세요...", "label-activate-license": "정품 인증하기", "button-activate": "인증", "label-unknown-version": "알수없음", "label-current-version": "현재 버전: ", "label-install-version": "(인스톨러 버전: {{version}})", "label-up-to-date": "이미 최신 버전으로 업데이트 돼 있습니다!", "label-read-changelog": "변경된 내용 확인하기.", "label-manual-update-required": "최신 기능 지원 및 최신 보안 패치를 받는데 인스톨러 재설치가 요구됩니다. Obsidian을 수동으로 재다운로드 해주세요.", "label-new-version-ready": "최신 버전을 설치할 준비가 됐습니다.", "label-disabled-updates": "업데이트가 비활성화 되었습니다.", "button-relaunch": "재시작", "button-check-for-updates": "업데이트 확인", "option-auto-update": "자동 업데이트", "option-auto-update-description": "앱이 자동으로 업데이트를 확인하지 못하도록 하려면 이 옵션을 비활성화해주세요.", "option-check-slow-startup": "앱 시작이 예상보다 느려질 경우 알리기", "option-check-slow-startup-description": "무엇이 앱 로드를 느리게 만드는지 확인함으로써 앱의 문제를 진단합니다.", "button-check-startup": "Check now", "option-get-help": "도움 받기", "option-get-help-description": "Obsidian 사용에 대해 도움을 받습니다.", "button-open": "열기", "option-language": "언어", "option-language-description": "표시 언어 변경.", "option-insider-build": "인사이더 빌드 가져오기", "option-insider-build-description": "새로운 기능을 사용하려면 내부자 빌드로 자동 업데이트를 사용하도록 설정하세요. 빌드는 최첨단이며 불안정할 수 있습니다.", "option-advanced": "고급 설정", "option-hw-acceleration": "하드웨어 가속", "option-hw-acceleration-description": "하드웨어 가속을 활성화하고 Obsidian의 동작을 더욱 가볍게 하기 위해 GPU를 사용합니다.", "option-hw-acceleration-warning": "해당 옵션을 사용 중지할 경우 앱 성능이 크게 저하됩니다.", "option-config-location": "설정 폴더 우선순위 전환", "option-config-location-description": "기본 설정 폴더 대신 다른 설정 폴더를 사용합니다. 폴더 이름은 온점(.)으로 시작해야 합니다.", "option-config-location-warning": "설정 폴더는 점으로 시작하는 유효한 이름이어야 합니다.", "label-license": "라이선스", "label-your-commercial-license-key": "당신의 상용 라이선스 키는 \"{{key}}\"입니다.", "label-commercial-license-info": "\"{{company}}\"에서 {{seats}}명을 등록했습니다. {{expiry}}까지 유효합니다.", "label-validating-commercial-license": "검증 중...", "label-invalid-commercial-license": "해당 라이선스는 유효하지 않습니다:", "button-remove-commercial-license": "삭제", "option-catalyst": "카탈리스트 라이선스", "option-catalyst-desc": "현재 {{tier}} 카탈리스트 라이선스를 사용하고 있습니다. Obsidian에 지원해 주셔서 감사합니다!", "option-catalyst-desc-no-license": "현재 카탈리스트 라이선스를 보유하고 있지 않습니다. 카탈리스트 라이선스는 Obsidian 개발을 지원해주는 일회성 기부입니다.", "label-app": "앱", "label-add-own-language": "Obsidian 번역에 기여하는 방법에 대해 알아보기." }, "account": { "name": "계정", "option-your-account": "내 계정", "option-your-account-desc": "현재 다음 계정으로 로그인되어 있습니다. {{name}} ({{email}})", "option-your-account-desc-no-login": "로그인이 되어있지 않은 상태입니다. 계정은 Obsidian Sync, Obsidian Publish 및 카탈리스트 인사이더 빌드를 사용할 때만 요구됩니다.", "label-insider": "인사이더", "label-supporter": "서포터", "label-vip": "VIP", "button-upgrade-catalyst": "업그레이드", "option-commercial-license": "상용 라이선스", "option-commercial-license-desc": "옵시디언이 계속 100% 유저 지원 하에 운영될수 있도록 돕습니다.", "button-purchase": "구매", "button-log-out": "로그아웃", "label-log-in": "로그인", "label-sign-up": "회원가입", "label-email": "이메일", "placeholder-email": "이메일 주소는...", "label-name": "Full name", "label-password": "비밀번호", "placeholder-password": "비밀번호는...", "label-forgot-password": "비밀번호를 잊어버리셨나요?", "button-login": "로그인", "message-empty-email": "이메일 항목은 비어있을 수 없습니다.", "message-invalid-email": "이메일이 유효하지 않습니다.", "message-empty-password": "비밀번호 항목은 비어있을 수 없습니다.", "message-login-failed": "로그인에 실패했습니다. 이메일과 비밀번호를 다시 확인해주세요.", "message-signup-failed": "회원가입에 실패하였습니다.", "label-no-account": "계정이 없으신가요?", "link-sign-up-now": "회원가입", "label-mfa-code": "6자리 이중인증 코드", "mfa-wrong-format": "이중인증 코드는 반드시 6자이어야 합니다.", "mfa-verification-failed": "이중인증 코드가 일치하지 않습니다. 인증 앱을 다시 확인해주세요." }, "core-plugin": { "plugin-list": "플러그인 목록", "option-search-plugin": "코어 플러그인 검색하기", "option-search-plugin-description": "플러그인 이름이나 설명으로 플러그인을 찾습니다.", "placeholder-search-plugin": "플러그인 검색하기..." }, "third-party-plugin": { "name": "커뮤니티 플러그인", "option-restricted-mode": "보호 모드", "option-restricted-mode-description": "보호 모드가 비활성화됐습니다. 커뮤니티 플러그인을 비활성화하려면 이 설정을 활성화해주세요.", "button-turn-on": "활성화", "option-browse-community-plugins": "커뮤니티 플러그인", "option-browse-community-plugins-description": "놀라운 커뮤니티에서 사용자들이 개발한 플러그인들을 탐색하고 설치해보세요.", "button-browse": "탐색", "label-exit-restricted-mode": "보호 모드 비활성화", "label-exit-restricted-mode-description-1": "커뮤니티 플러그인들은 다른 모든 소프트웨어와 마찬가지로 잠재적으로 데이터 무결성 및 보안 문제를 일으킬 가능성을 내포합니다.", "label-exit-restricted-mode-description-2": "플러그인 보안이 중요한 만큼 Obsidian은 다음과 같은 노력들을 하고 있습니다:", "label-exit-restricted-mode-description-3": "하지만 이러한 노력과 관계 없이 커뮤니티 플러그인이 악용될 여지가 있다는 내용을 기억해주세요.", "label-code-review": "초기 코드 검토", "label-code-review-desc": "플러그인이 스토어에 등록되기 전에 Obsidian 팀에서 초기 코드 리뷰를 진행합니다.", "label-open-source": "오픈 소스", "label-open-source-desc": "대부분의 플러그인은 Github에서 오픈 소스로 게시되어 사용자가 코드를 직접 확인할 수 있습니다.", "label-peer-audit": "동료 평가", "label-peer-audit-desc": "Obsidian은 서로를 지켜보는 큰 개발자 커뮤니티를 가지고 있습니다.", "label-report-mechanism": "보고 체계", "label-report-mechanism-desc": "사용자 신고를 확인하고 문제가 있는 플러그인들을 삭제합니다.", "label-exit-restricted-mode-disable-confirmation": "보호 모드를 비활성화하고 커뮤니티 플러그인을 활성화하시겠습니까? 보호 모드를 종료하기 전에 데이터 백업을 먼저 해두는 것이 좋습니다.", "label-learn-more": "플러그인 보안에 대해 자세히 알아보기", "button-turn-on-community-plugins": "커뮤니티 플러그인 사용", "label-trust-author": "이 보관함의 작성자를 신뢰하시나요?", "label-trust-author-description-1": "이 보관함을 처음 열고 있는데 플러그인이 몇 가지 있는 것으로 확인됩니다.", "label-trust-author-description-2": "이 보관함을 다른 사람으로부터 받았다면 출처가 불분명한 플러그인들이 보안 이슈를 일으킬수도 있다는 내용을 확인해주세요.", "label-trust-author-description-3": "이 보관함의 작성자를 완전히 신뢰하지 않는 경우 보호 모드 상태를 계속 유지해서 이 보관함에서 플러그인이 실행되지 않도록 하는 것이 좋습니다.", "button-enable-plugins": "작성자를 신뢰하고 플러그인 사용하기", "button-dont-trust-author": "보관함을 보호 모드로 탐색하기", "placeholder-community-plugins": "플러그인 검색...", "msg-failed-load-plugins": "커뮤니티 플러그인들을 불러오지 못했습니다.", "label-installed": "설치됨", "button-install": "설치", "button-enable": "활성화", "button-disable": "비활성화", "button-copy-share-link": "공유 링크 복사", "button-donate": "후원", "label-no-results-found": "결과를 찾지 못했습니다.", "label-no-recent-files-found": "최근 파일을 찾지 못했습니다. 검색어를 입력하세요...", "msg-failed-to-load-manifest": "플러그인 매니페스트를 불러오지 못했습니다.", "label-version": "버전: {{version}}", "label-currently-installed-version": " (현재 설치된 버전: {{version}})", "label-by-author": "개발자: ", "label-repository": "리포지토리: ", "label-last-update": "최근 업데이트: ", "tooltip-view-last-update": "최근 업데이트 보기", "label-unsupported": "해당 플러그인이 현재 사용 중인 기기를 지원하지 않습니다.", "button-update": "업데이트", "label-no-readme": "해당 플러그인이 README 파일을 가지고 있지 않습니다.", "msg-installing-plugin": "플러그인 \"{{name}}\" 설치 중...", "msg-failed-to-install-plugin": "플러그인 \"{{name}}\" 설치에 실패했습니다.", "msg-successfully-installed-plugin": "플러그인 \"{{name}}\" 을(를) 설치했습니다.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "설치된 플러그인", "button-reload-plugins": "플러그인 새로고침하기", "msg-reloaded-third-party-plugins": "커뮤니티 플러그인을 다시 로드했습니다.", "label-uninstall": "삭제", "label-uninstall-plugin": "플러그인 삭제", "label-uninstall-plugin-confirmation": "정말로 해당 플러그인을 삭제하시겠습니까? 삭제 시 해당 플러그인 폴더가 삭제됩니다.", "button-open-plugins-folder": "플러그인 폴더 열기", "button-check-for-updates": "업데이트 확인", "button-update-all-plugins": "모두 업데이트", "label-current-plugins": "현재 설치된 플러그인", "label-currently-installed": "현재 {{count}} 개의 플러그인이 설치되어 있습니다.", "label-currently-installed_plural": "현재 {{count}} 개의 플러그인이 설치되어 있습니다.", "msg-no-updates-found": "업데이트할 플러그인이 없습니다.", "msg-updates-found": "{{count}} 개의 플러그인 업데이트를 찾았습니다.", "msg-updates-found_plural": "{{count}} 개의 플러그인 업데이트를 찾았습니다.", "msg-update-plugin": "버전 {{version}} 으로 업데이트합니다.", "option-search-installed-plugin": "설치된 플러그인 검색", "option-search-installed-plugin-description": "설치된 플러그인들을 이름이나 설명으로 필터링합니다.", "placeholder-search-installed-plugin": "플러그인 검색...", "show-installed-only": "설치된 항목만 보기", "label-donate-modal-title": "{{name}} 를 후원해보세요", "label-donate-modal-text1": "플러그인 개발자들은 엄청난 플러그인들을 순수 열정으로 만드는 사람들입니다. 이 플러그인이 유용하다면 후원을 고려해보세요.", "label-donate-modal-text2": "여러분의 기부금은 100% 플러그인 개발자에게 전달됩니다. Obsidian은 수수료를 부과하지 않습니다. 하지만 개발자가 선택한 플랫폼에서 수수료를 부과할 수도 있으니 참고해주세요.", "label-donate-modal-text3": "후원을 고려해주셔서 감사합니다!", "label-support-this-plugin": "이 플러그인을 후원해 보세요:", "label-search-summary": "{{pluginCount}}:", "label-by-popularity": "다운로드 순", "label-by-released": "최근 출시 순", "label-by-updated": "최근 업데이트 순", "label-alphabetical": "알파벳 순", "label-last-updated": "업데이트된 시간: {{time}}" }, "mobile-toolbar": { "name": "모바일 툴바", "option-configure-quick-action": "모바일 빠른 작업 설정", "option-configure-quick-action-description": "위에서 아래로 끌어당겼을 때 실행할 명령을 설정합니다. 현재는 \"{{command}}\" 명령어가 설정되어 있습니다.", "msg-missing-quick-action": "액션이 설정되지 않았음", "button-configure": "설정", "placeholder-select-quick-action": "빠른 작업 선택...", "quick-action-disabled": "미할당", "manage-toolbar-options": "도구 모음 옵션 관리", "option-internal-link": "내부 링크 추가", "option-internal-embed": "임베드 추가", "option-tag": "태그 추가", "option-heading": "제목 활성화/비활성화", "option-strikethrough": "취소선 활성화/비활성화", "option-highlight": "하이라이트 활성화/비활성화", "option-code": "코드 활성화/비활성화", "option-blockquote": "블럭 인용구 활성화/비활성화", "option-inline-math": "인라인 수식 활성화/비활성화", "option-math-block": "블럭 수식 활성화/비활성화", "option-markdown-link": "마크다운 링크 추가", "option-bullet-list": "글머리 목록 활성화/비활성화", "option-numbered-list": "숫자 목록 활성화/비활성화", "option-indent-list": "들여쓰기", "option-unindent-list": "내어쓰기", "option-undo": "실행 취소", "option-redo": "다시 실행", "option-move-caret-up": "위로 이동", "option-move-caret-down": "아래로 이동", "option-move-caret-left": "좌측으로 이동", "option-move-caret-right": "우측으로 이동", "option-first-line": "첫번쨰 행으로 이동", "option-last-line": "마지막 행으로 이동", "option-toggle-keyboard": "키보드 활성화/비활성화", "option-configure-toolbar": "모바일 툴바 설정하기", "option-added-options": "추가한 옵션", "option-more-toolbar-options": "다른 툴바 옵션", "option-attach": "첨부 파일 추가", "option-add-command": "전역 명령어 추가", "option-add-command-description": "도구 모음에 추가할 전역 명령어를 선택해주세요." } }, "editor": { "search": { "placeholder-find": "검색", "placeholder-replace": "바꾸기", "label-exit-search": "검색 종료", "label-next": "다음", "label-previous": "이전", "label-find-all": "모두 검색", "label-replace": "바꾸기", "label-replace-all": "모두 바꾸기" }, "link-suggestion": { "label-type-hash": "#을 입력하면", "label-link-heading": "제목에 연결할 수 있습니다", "label-type-block": "^를 입력하면", "label-link-block": "블럭에 연결할 수 있습니다", "label-type-pipe": "|를 입력하면", "label-change-display-text": "표시되는 텍스트를 변경할 수 있습니다", "label-no-alias": "텍스트 표시하기", "label-no-heading": "제목", "label-no-match-found": "일치하는 내용을 찾지 못했습니다.", "label-image-size": "이미지 크기: 가로 {{size}}px", "label-accept": "확인", "label-new-footnote": "새 각주..." }, "spellcheck": { "no-suggestion": "제안이 없습니다...", "add-to-dictionary": "사전에 추가" }, "menu": { "edit-link": "편집 링크", "edit-tag": "태그 수정", "label-edit-block": "이 블럭 수정", "label-delete-footref-and-note": "각주와 참조 제거" }, "heading-suggestion": { "label-no-heading": "해당 제목 없음", "label-heading-level": "제목 {{level}}" }, "print-modal": { "title": "PDF로 내보내기", "caption": "\"{{filename}}\" 이름의 PDF파일을 다음 설정으로 내보냅니다.", "setting-page-size": "페이지 크기", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "파일 이름을 제목으로 포함", "setting-landscape": "가로", "setting-margin": "여백", "setting-margin-default": "기본값", "setting-margin-minimal": "최소", "setting-margin-none": "없음", "setting-downscale-percent": "축소 배율", "button-export-to-pdf": "PDF로 내보내기" }, "link-popover": { "tooltip-follow-link": "링크 따라가기", "tooltip-open-link": "링크 열기", "tooltip-search-tag": "태그 찾기" } }, "interface": { "embed-cannot-find": "찾을 수 없음:", "label-unable-to-find-section": "{{file}}에서 “{{subpath}}”를 찾지 못함", "embed-open-in-default-app-tooltip": "기본 앱으로 열기", "empty-sidebar": "사이드바가 비어있습니다, 패인을 여기로 끌어주세요.", "sidebar-expand": "펴기", "sidebar-collapse": "접기", "msg-fail-to-save-file": "파일 \"{{filepath}}\"을(를) 저장하지 못했습니다: {{message}}.", "msg-failed-to-load-plugin": "플러그인 “{{plugin}}” 를 로드하지 못했습니다.", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "“{{filepath}}” 를 열지 못했습니다.", "msg-failed-to-open-href": "“{{href}}” 위치를 열지 못했습니다.", "no-file": "파일 없음", "msg-file-changed": "\"{{file}}\" 이(가) 외부에서 수정되었습니다. 변경 사항을 자동으로 병합합니다.", "switch-vault": "다른 보관함 열기", "manage-vaults": "보관함 관리하기...", "help": "도움말", "settings": "설정", "drag-to-rearrange": "드래그하여 순서 변경", "msg-switched-to-read": "기본 화면 모드를 읽기 화면으로 전환했습니다.", "msg-switched-to-edit": "기본 화면 모드를 편집 화면으로 변경했습니다.", "msg-upgrade-installer": "해당 기능을 사용하려면 Obsidian 웹 사이트에서 제공하는 최신 인스톨러를 사용하여 다시 설치해주세요.", "msg-slow-boot": "느린 시작 시간 감지됨.", "msg-desktop-only-feature": "이 기능은 데스크톱 앱에서만 이용할 수 있습니다.", "tooltip-restore-default-settings": "기본 설정으로 되돌리기", "label-copy": "클립보드에 복사", "label-copy-short": "복사", "copied_generic": "클립보드에 복사됨", "copied": "{{item}} 을(를) 클립보드에 복사했습니다", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "필터...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "파일 \"{{path}}\"을(를) 열었습니다.", "msg-file-not-found-through-uri": "파일 \"{{name}}\"을(를) 찾지 못했습니다.", "delete-action-short-name": "삭제", "msg-indexing": "Obsidian이 보관함을 인덱싱하고 있습니다.\n이 작업은 한 번만 수행됩니다.\n일부 기능은 이 작업이 완료될 때까지 사용할 수 없을 수도 있습니다.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "인덱싱이 완료되었습니다.", "msg-sandbox-vault": "이 보관함은 샌드박스 보관함입니다.\n변경하는 내용은 손실됩니다.", "msg-indexed-db-not-supported": "IndexedDB가 이 기능을 사용하는데 필요하지만 현재 비활성화되어 있습니다.", "msg-indexed-db-i-o-s": "락다운 모드에서 iOS를 사용하고 계시다면 락다운 모드 설정의 \"웹 브라우징 설정\"에서 옵시디언을 제외해주세요.", "label-enter-to-create": "Enter 키를 눌러 생성", "label-update-available": "업데이트 확인됨", "label-debug-info": "디버그 정보", "button-learn-more": "자세히 알아보기", "button-not-now": "나중에 하기", "button-add": "추가", "button-manage": "관리", "label-new-tab": "새 탭", "option-hide-ribbon": "리본 숨기기", "msg-tab-busy": "탭이 현재 사용 중입니다. 나중에 다시 시도해 주세요", "formatting": { "label-formatting": "서식", "label-paragraph": "단락", "label-insert": "삽입", "insert-link": "링크 추가", "insert-external-link": "외부 링크 추가", "insert-callout": "콜아웃", "insert-horizontal-rule": "수평선", "insert-code-block": "코드 블럭", "insert-math-block": "수식 블럭", "insert-table": "표", "insert-footnote": "각주", "toggle-bold": "볼드체", "toggle-code": "코드", "toggle-comments": "주석", "toggle-highlight": "하이라이트", "toggle-italics": "기울이기", "toggle-strikethrough": "취소선", "toggle-math": "수식", "toggle-bullet-list": "글머리 목록", "toggle-checklist": "체크박스", "toggle-numbered-list": "숫자 목록", "set-heading": "제목 {{level}}", "no-heading": "본문", "clear": "서식 지우기", "toggle-quote": "인용" }, "empty-state": { "no-file-open": "열린 파일이 없습니다.", "create-new-file": "새 파일 생성하기", "go-to-file": "파일로 이동하기", "see-recent-files": "최근 파일 보기", "close": "닫기", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "플러그인이 더 이상 활성화돼있지 않음", "unknown-pane-desc": "해당 패인 ({{type}}) 을(를) 생성한 플러그인이 사라졌습니다" }, "release-notes": { "tab-title": "릴리즈 노트 {{version}}", "msg-missing-release-notes": "{{version}} 버전에 해당하는 릴리즈 노트가 존재하지 않습니다.", "msg-failed-to-load": "{{version}} 버전에 해당하는 릴리즈 노트를 불러오지 못했습니다.." }, "menu": { "edit-view": "편집 (Ctrl/Cmd+클릭으로 새 패인에서 편집)", "read-view": "현재 화면: 읽기", "ribbon": "리본", "left-sidebar": "좌측 사이드바", "right-sidebar": "우측 사이드바", "switch-to-edit-view": "클릭해서 수정하기", "switch-to-read-view": "클릭해서 보기", "mod-click-open-new-tab": "{{key}}+클릭하여 새 탭에서 열기", "find": "검색...", "replace": "바꾸기...", "edit": "편집", "remove": "삭제", "rename": "이름 변경", "preview": "미리보기", "more-options": "다른 옵션", "close": "닫기", "close-all": "모두 닫기", "close-tabs-with-count": "{{count}} 탭 닫기", "close-tabs-with-count_plural": "{{count}} 탭 닫기", "close-others": "다른 탭들 닫기", "close-after": "뒤 탭들 닫기", "pin": "핀", "unpin": "핀 해제", "unlink-tab": "탭 링크 해제", "link-tab": "탭으로 링크...", "toggle-source-mode": "원본 모드", "toggle-reading-view": "읽기 화면", "add-property": "파일 속성 추가", "delete-file": "파일 삭제", "create-file": "해당 파일 생성", "open-link": "링크 열기", "open-in-new-tab": "새 탭에서 열기", "open-to-the-right": "우측 화면에서 열기", "copy-url": "URL 복사", "copy": "복사", "cut": "잘라내기", "paste": "붙여넣기", "paste-as-plain-text": "일반 텍스트로 붙여넣기", "lookup-selection": "찾아보기: “{{selection}}”", "select-all": "모두 선택", "rename-heading": "이 제목 이름 변경하기...", "rename-blockid": "이 블럭 ID 이름 변경하기...", "open-in-new-window": "새 창에서 열기", "move-to-new-window": "새 창으로 이동", "open-in-browser": "브라우저에서 열기", "stack-tabs": "스택 탭", "unstack-tabs": "탭 스택 해제", "open-linked-view": "링크된 화면 열기" }, "tooltip": { "click-to-expand": "펼치려면 클릭", "click-to-collapse": "접으려면 클릭", "alias": "별칭", "not-created-yet": "아직 작성되지 않았습니다. 작성하려면 선택하십시오" }, "start-screen": { "label-version": "버전", "label-create-local-vault": "로컬 보관함 생성", "option-open-folder-as-vault": "보관함 폴더 열기", "option-open-folder-as-vault-description": "마크다운 파일의 폴더를 선택합니다.", "option-create-vault": "새 보관함 생성", "option-create-vault-description": "폴더 안에 새 Obsidian 보관함을 만듭니다.", "option-connect-obsidian-sync": "Obsidian Sync 보관함 열기", "option-connect-obsidian-sync-description": "기존에 사용하는 원격 보관함과 함께 보관함 동기화를 설정합니다.", "option-new-vault-name": "보관함 이름", "option-new-vault-name-description": "멋진 보관함의 이름을 지어보세요.", "option-new-vault-location": "위치", "option-new-vault-location-description": "새 보관함의 위치를 지정합니다.", "label-new-vault-location-preview": "새 보관함이 다음 위치에 생성될 예정입니다.", "option-reveal-vault-in-explorer": "시스템 탐색기에서 보관함 열기", "option-reveal-vault-in-explorer-mac": "Finder에서 보관함 열기", "option-rename-vault": "보관함 이름 변경...", "option-copy-vault-i-d": "보관함 ID 복사하기", "msg-error-rename-exists": "동일한 이름의 보관함이 이미 존재합니다.", "msg-error-nested": "보관함 폴더의 하위 폴더로 보관함을 이동할 수 없습니다.", "msg-error-rename-open": "현재 열려 있는 보관함의 이름을 변경할 수 없습니다.", "msg-rename-failed": "보관함의 이름을 변경하지 못했습니다.", "msg-rename-success": "보관함의 이름을 성공적으로 변경했습니다.", "option-move-vault": "보관함 이동...", "msg-move-select-dest": "대상 폴더를 선택하세요.", "msg-error-move-exists": "대상 폴더에 이미 보관함이 존재합니다.", "msg-error-move-open": "현재 열려 있는 보관함은 이동시킬 수 없습니다.", "msg-move-failed": "보관함을 이동하지 못했습니다.", "msg-move-success": "성공적으로 보관함을 이동시켰습니다.", "option-remove": "목록에서 삭제", "button-quick-start": "빠른 시작", "button-open": "열기", "button-browse": "탐색", "button-connect": "연결", "button-create-vault": "생성", "button-back": "이전으로 돌아가기", "msg-empty-vault-name": "보관함 이름은 비어있을 수 없습니다.", "msg-trailing-dot-vault-name": "보관함 이름은 온점(.)으로 끝날 수 없습니다", "msg-invalid-folder": "유효한 폴더를 지정해주세요.", "msg-failed-to-create-vault": "보관함을 생성하지 못했습니다.", "msg-failed-to-create-vault-at-location": "해당 위치에 보관함을 생성할 수 없습니다. 해당 위치와 사용 권한을 다시 확인해주세요.", "msg-error-failed-to-open-vault": "열지 못했습니다.", "msg-error-remove-current-open-vault": "현재 열려 있는 보관함은 삭제할 수 없습니다.", "option-get-help": "도움 받기", "option-user-email": "이메일", "placeholder-your-email": "이메일 주소 입력...", "option-user-password": "비밀번호", "placeholder-your-password": "비밀번호 입력...", "button-sign-in": "로그인", "button-setup": "설정", "option-connect-vault-desc": "이 기기에 동기화된 보관함을 만듭니다.", "tooltip-own-vault": "소유하고 있는 원격 보관함입니다.", "tooltip-shared-vault": "공유받고 있는 원격 보관함입니다.", "mobile": { "label-start-screen": "당신의 생각은 당신의 것입니다.", "label-synced": "동기화됨", "label-not-synced": "동기화되지 않음", "label-none": "없음", "label-recommended": "추천됨", "label-start-screen-desc": "옵시디언은 빠르고 안전하게, 그리고 심지어는 오프라인 환경에서도 노트에 접근할 수 있도록 기기에 노트를 보괸합니다.\n데이터는 **보관함**이라고 불리는 안전한 로컬 폴더에 보관됩니다.", "option-create": "보관함 생성", "option-use-existing": "기존에 사용하던 보관함 사용", "label-sync-intro": "다른 기기에서 노트에 접근하려면 동기화를 먼저 설정해야 합니다.", "label-sync-intro-desc": "옵시디언이 기기에 노트를 저장하기 때문에, 다른 폰이나 컴퓨터에서 노트를 접근하길 원한다면 동기화를 설정해야 합니다.\n지금 동기화를 설정할 수도 있고, 그냥 글쓰기를 시작한 뒤 나중에 설정할 수도 있습니다.", "option-setup-sync": "동기화 설정", "option-skip": "나중에 설정", "option-skip-short": "Skip", "label-vault-create": "보관함의 이름을 입력해주세요.", "button-create": "보관함 생성", "label-sync-setup": "동기화 설정", "label-sync-setup-desc": "다른 기기에서 데이터에 접근할 수 있도록 옵시디언 계정에 동기화되는 보관함을 생성합니다.", "label-remote-vault-create": "암호화 동기화", "option-encryption-custom": "종단 간 암호화", "option-encryption-custom-desc": "가장 강력한 보안을 제공하지만 유저가 암호화 비밀번호를 안전히 보관해야 합니다.", "option-encryption-managed": "표준 암호화", "option-encryption-managed-desc": "이동 중일 때 혹은 옵시디언 서버에서 데이터를 보호하는 데 옵시디언이 관리하는 키를 사용합니다.", "label-sync-settings": "동기화 설정", "label-sync-settings-desc": "이 기기를 연동시킬 때 폴더나 파일을 제외시키고 싶으신가요?", "button-start": "동기화 시작", "label-sign-in-or-sign-up": "옵시디언 계정을 생성하거나 회원가입합니다.", "option-sign-up": "회원가입", "option-sign-in": "로그인", "button-resend-email": "이메일 재전송", "label-remote-vault-options": "사용하던 연동 보관함이 존재합니다.", "label-remote-vault-options-desc": "새 보관함을 생성하시고 싶으신가요 아니면 연동 보관함에 연결하시고 싶으신가요?", "option-remote-create": "새 연동 보관함 생성하기", "option-remote-choose": "기존에 존재하는 보관함 선택하기", "button-logout": "로그아웃", "button-forgot-password": "비밀번호를 잊어버렸어요", "label-vault-name": "보관함 이름", "label-vault-location": "보관함 위치", "label-vault-location-desc": "새 보관함이 다음 위치에 추가됩니다: {{vaultLocation}}", "label-region-selection": "지역", "label-region-selection-help": "연동을 더 빠르게 시키려면 자신과 가까운 서버 지역을 선택해주세요.", "label-encryption-key": "암호화 키", "label-encryption-key-help": "비밀번호는 나중에 변경될 수 없습니다. 비밀번호를 잊어버린다면, Obsidian Sync 서버의 모든 원격 데이터에 접근할 수 없게 됩니다.", "placeholder-vault-name": "내 보관함", "opt-region-selection-automatic": "자동", "label-remote-vault-selection": "보관함 선택", "label-remote-vault-selection-desc": "계정 **{{email}}** (이)가 연결할 수 있는 보관함을 가지고 있습니다.", "label-sign-in": "옵시디언 계정에 로그인", "label-forgot-password": "비밀번호 찾기", "button-reset-password": "비밀번호 초기화", "msg-password-reset": "{{email}}주소로 비밀번호 초기화 이메일을 보냈습니다.", "label-sync-method-selection": "노트 동기화 방법 선택", "label-sync-method-selection-desc": "다른 기기들에서 옵시디언을 사용하려면 데이터를 연동해야 합니다.", "label-sync-pro1": "모든 기기와 운영체제에서 부드럽게 작동함.", "label-sync-pro2": "가장 강력한 종단 간 암호화 표준에 따라 안전하게 보관됨.", "label-sync-pro3": "옵시디언 계정이 필요함.", "label-icloud-con1": "iOS와 macOS에서만 이용 가능함.", "label-icloud-con2": "기본값으로 암호화하지 않음.", "label-third-party-desc1": "써드파티 플러그인이나 도구가 요구됨.", "label-third-party-desc2": "기본값으로는 암호화되지 않을 수 있음.", "opt-use-obsidian-sync": "Obsidian Sync 사용", "opt-use-icloud": "iCloud 사용", "opt-use-other": "써드파티 동기화 서비스 사용", "opt-learn-other-sync": "다른 동기화 방법", "opt-use-supported": "지원하는 동기화 방법 사용", "label-sync-restore": "보관함이 어디에 위치해 있나요?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "그 외", "label-other-sync": "Third-party sync", "label-local-folder": "이 기기에서", "option-connect-icloud": "iCloud에 연결", "option-connect-other": "다른 동기화 서비스에 연결", "option-connect-sync": "Obsidian Sync에 연결", "option-connect-local-folder": "폴더 선택", "label-sync-other": "다른 동기화 방법", "label-sync-other-desc": "옵시디언은 공식적으로 두가지 연동 방법을 지원합니다: **Obsidian Sync**와 **iCloud**.\n하지만 옵시디언이 유저에게 데이터에 대한 통제권을 주기 때문에, 사용할 수 있는 다른 연동 방법들도 있습니다.\n이 옵션들은 써드파티 플러그인과 다른 툴들을 포함하는데, 이런 옵션들은 더 고급적인 설정이 필요할 수도 있습니다.\n다른 연동 방법을 사용하려면, **보관함을 생성**하고 플러그인이나 써드파티 연동 제공자가 제공하는 지침을 따라주세요.", "label-email-entry": "이메일 입력", "label-email-entry-desc": "이메일이 옵시디언 계정을 생성하는데 필요합니다.", "label-signup": "이름과 비밀번호 입력", "email-verification": "Obsidian Sync에 연결", "email-verification-desc": "Obsidian Sync로 연결하는 지침이 포함된 이메일을 금방 **{{email}}**로 받을 것입니다.", "icloud-missing": "iCloud", "icloud-missing-desc": "iCloud 보관함이 감지되지 않았습니다. 다음 중 어떤 이유에 해당할 수 있습니다:", "icloud-missing-reason1": "보관함이 이 기기에서 로그인된 계정과 다른 iCloud 계정에 있는 경우.", "icloud-missing-reason2": "보관함이 iCloud Drive의 옵시디언 폴더 최상단에 위치해 있지 않는 경우.", "i-cloud-unsupported": "iCloud가 지원되지 않음", "i-cloud-unsupported-desc": "iCloud 연동은 애플 기기에서만 이용할 수 있습니다. 보관함이 현재 iCloud를 통해 연동되고 있다면, 보관함을 어떻게 다른 연동 서비스로 마이그레이션 하는지 배워보세요.", "allow-file-access": "Allow file access", "msg-login-pending": "로그인 중...", "msg-name-required": "보관함 이름이 필요함.", "msg-new-email-success": "새로운 인증 메일을 보냈음.", "msg-new-email-failure": "이메일 재전송에 실패함.", "msg-invalid-vault": "보관함의 위치는 폴더이어야만 합니다." } }, "starter-content": { "welcome-filename": "환영합니다!", "welcome-file-content": "새로운 *보관함*입니다.\n\n내용을 한번 적어보세요, [[create a link]], 혹은 [임포터](https://help.obsidian.md/Plugins/Importer)를 사용해봐도 좋습니다!\n\n준비가 됐다면 이 노트를 삭제하고 맞춤형 보관함을 만들어보세요." }, "drag-and-drop": { "insert-link-here": "여기에 링크 삽입", "insert-links-here": "여기에 링크 삽입", "move-into-folder": "\"{{folder}}\" 폴더로 이동", "star-this-file": "해당 파일 즐겨찾기 추가", "star-these-files": "해당 파일 즐겨찾기 추가", "open-in-this-tab": "현재 탭에서 열기", "open-as-tab": "새 탭에서 열기" }, "window": { "maximize": "최대화", "minimize": "최소화", "restore-down": "원본 크기로 되돌리기", "close-window": "창 닫기", "go-back": "뒤로", "go-forward": "앞으로" }, "start-up": { "loading-obsidian": "Obsidian 불러오는 중...", "obsidian-load-error": "Obsidian을 불러오는 중 오류가 발생했습니다.", "button-reload-app": "앱 새로고침", "button-reload-app-in-safe-mode": "안전 모드로 앱 새로고침", "button-open-another-vault": "다른 보관함 열기", "loading-plugins": "플러그인 불러오는 중...", "msg-plugin-hang": "플러그인 “{{plugin}}” 이(가) 로드되는데 많은 시간이 소요되고 있습니다. ", "loading-vault": "보관함 불러오는 중...", "msg-failed-to-load-vault": "보관함을 불러오지 못했습니다: ", "loading-cache": "캐시 불러오는 중...", "loading-workspace": "작업 공간 불러오는 중..." }, "mobile": { "action-import": "보관함으로 가져오기", "action-insert-text-desc": "파일에 텍스트 추가하기:", "action-choose-file-to-insert": "삽입할 파일 선택", "action-insert-text-into-file": "{{filename}} 파일에 텍스트 삽입", "action-insert-link-into-file": "{{filename}} 파일에 링크 삽입", "action-show-switcher": "탭 미리보기 표시", "msg-importing": "가져오는 중...", "msg-import-success": "가져오기에 성공했습니다", "msg-failed-to-import-file": "{{filename}} 파일을 가져오지 못했습니다", "msg-back-again-to-exit": "종료하려면 뒤로가기를 다시 눌러주세요.", "feedback": { "label-feedback": "피드백", "label-feedback-desc": "Obsidian을 즐기고 계신가요? 평가를 작성하여 저희를 도와주세요.", "action-rate": "앱 평가하기", "action-dismiss": "닫기" } }, "help-screen": { "label-official-help-site": "공식 도움말 사이트", "label-official-help-site-desc": "Obsidian 공식 도움말 문서를 읽을 수 있습니다. 문서는 다국어로 제공됩니다.", "action-visit": "방문", "label-discord-chat": "Discord 채팅", "label-discord-chat-desc": "Discord는 전 세계의 탁월한 Obsidian 사용자들과 채팅할 수 있는 최고의 장소입니다.", "action-join": "참여", "label-forum": "공식 포럼", "label-forum-desc": "사용자 간의 도움이나 기능 요청, 버그 보고서, 지식 관리에 대한 깊은 토론 등을 할 수 있습니다.", "label-sandbox-vault": "샌드박스 보관함", "label-sandbox-vault-desc": "다양한 기능을 사용해 볼 수 있습니다. 이 보관함의 변경사항은 저장되지 않습니다." } }, "commands": { "save-file": "현재 파일 저장", "download-attachments": "현재 파일의 첨부파일 다운로드하기", "follow-cursor-link": "커서 뒤 링크 따라가기", "open-cursor-link-in-new-tab": "새 탭에서 커서 뒤 링크 열기", "open-cursor-link-to-the-right": "우측 화면에서 커서 뒤 링크 열기", "open-cursor-link-in-new-window": "새 창에서 커서 뒤 링크 열기", "navigate-tab-above": "상단 탭 그룹으로 이동", "navigate-tab-below": "하단 탭 그룹으로 이동", "navigate-tab-left": "좌측 탭 그룹으로 이동", "navigate-tab-right": "우측 탭 그룹으로 이동", "toggle-pin": "고정핀 켜기/끄기", "split-right": "우측 분할", "split-down": "하단 분할", "toggle-stacked-tabs": "스택 탭 활성화/비활성화", "navigate-back": "뒤로가기", "navigate-forward": "앞으로 가기", "use-dark-mode": "다크 모드 사용하기", "use-light-mode": "라이트 모드 사용하기", "change-theme": "테마 변경", "search-current-file": "현재 파일 내 검색", "search-replace-current-file": "현재 파일 내 검색 및 바꾸기", "add-property": "파일 속성 추가", "label-sort-property-a-to-z": "이름 (알파벳순)", "label-sort-property-z-to-a": "이름 (알파벳 역순)", "add-alias": "별칭 추가", "clear-properties": "파일 속성 지우기", "open-settings": "설정 열기", "open-help": "도움말 열기", "toggle-edit": "편집/읽기 화면 전환", "toggle-source-mode": "실시간 미리보기/원본 모드 전환", "delete-current-file": "현재 파일 삭제", "new-tab": "새 탭", "show-trash": "휴지통 열기", "close-all-tabs": "모든 탭 닫기", "close-active-tab": "현재 탭 닫기", "close-others-in-tab-group": "탭 그룹에 있는 다른 탭들 닫기", "close-other-tabs": "다른 탭들 닫기", "close-tab-group": "현재 탭 그룹 닫기", "toggle-left-sidebar": "왼쪽 사이드바 열기/닫기", "toggle-ribbon": "리본 활성화/비활성화", "toggle-right-sidebar": "오른쪽 사이드바 열기/닫기", "toggle-default-new-tab-mode": "새 탭 기본 모드 전환", "add-cursor-above": "위에 커서 추가", "add-cursor-below": "아래에 커서 추가", "focus-editor": "에디터에 포커스", "toggle-fold-properties": "현재 파일에서 속성 접기/펼치기", "toggle-fold": "현재 행에서 펴기/접기", "fold-all": "모든 제목 및 목록 접기", "unfold-all": "모든 제목 및 목록 펼치기", "fold-more": "접기", "fold-less": "펼치기", "swap-line-up": "윗줄과 바꾸기", "swap-line-down": "아랫줄과 바꾸기", "remove-heading": "제목 제거", "toggle-heading": "제목 {{level}} 설정", "toggle-bold": "선택된 텍스트 볼드체 활성화/비활성화", "toggle-italics": "선택된 텍스트 이탤릭체 활성화/비활성화", "toggle-highlight": "선택된 텍스트 하이라이트 활성화/비활성화", "toggle-comments": "주석 켜기/끄기", "clear-formatting": "서식 지우기", "insert-link": "링크 삽입", "toggle-spellcheck": "맞춤법 검사 활성화/비활성화", "delete-paragraph": "단락 제거", "toggle-checklist": "체크박스 체크/해제", "cycle-list-checklist": "글머리 목록/체크박스 순환", "insert-callout": "콜아웃 삽입", "insert-code-block": "코드 블럭 삽입", "insert-math-block": "수식 블럭 삽입", "insert-horizontal-rule": "수평선 삽입", "insert-table": "표 삽입", "insert-footnote": "각주 삽입", "edit-file-title": "파일 제목 편집", "copy-path": "파일 경로 복사", "copy-url": "Obsidian URL 복사", "export-pdf": "PDF로 내보내기", "reload": "저장하지 않고 앱 새로고침", "undo-close-tab": "탭 닫기 실행 취소", "context-menu": "컨텍스트 메뉴를 커서 뒤에 열기", "show-debug-info": "디버그 정보 보기", "open-sandbox-vault": "샌드박스 보관함 열기", "always-on-top": "항상 최상단에 두는 창 활성화/비활성화", "zoom-in": "확대", "zoom-out": "축소", "reset-zoom": "화면 비율 초기화", "toggle-preview": "편집/미리보기 모드 활성화/비활성화", "move-to-new-window": "현재 패인을 새 창으로 이동", "open-in-new-window": "현재 패인을 새 창에서 열기", "rename-current-file": "현재 파일 이름 변경", "go-to-prev-tab": "이전 탭으로 이동", "go-to-next-tab": "다음 탭으로 이동", "go-to-last-tab": "마지막 탭으로 이동", "go-to-nth-tab": "{{n}} 번째 탭으로 이동", "show-release-notes": "릴리즈 노트 열기" }, "dialogue": { "label-link-affected": "이 작업이 {{files}} 의 {{links}} 링크에 영향을 끼칠 수도 있습니다.", "msg-updated-links": "{{files}} 의 {{links}} 를 업데이트했습니다.", "label-update-links": "링크 업데이트", "label-confirm-update-link-to-file": "이 파일로 연결되는 내부 링크들을 업데이트하시겠습니까?", "button-always-update": "항상 업데이트", "button-just-once": "한 번만 업데이트", "button-do-not-update": "업데이트하지 않음", "label-confirm-deletion": "정말로 \"{{filename}}\" 을(를) 삭제하시겠습니까?", "label-move-to-system-trash": "이 파일을 시스템 휴지통으로 이동시킵니다.", "label-move-to-vault-trash": "Obsidian의 휴지통으로 이동합니다. Obsidian 휴지통은 보관함의 숨겨진 폴더 \".trash\"에 위치해 있습니다.", "label-permanent-delete": "이 파일을 영구적으로 삭제합니다.", "label-non-empty-folder": "해당 폴더가 비어 있지 않습니다.", "label-delete-folder-warning": "폴더를 삭제하면 폴더 내의 모든 파일들이 삭제됩니다.", "label-delete-folder": "폴더 삭제", "button-delete": "삭제", "button-delete-do-not-ask-again": "삭제하고 다시 묻지 않기", "label-do-not-ask-again": "다시 묻지 않기", "label-existing-backlink": "현재 이 노트를 가리키는 {{count}}개의 링크가 있습니다.", "label-existing-backlink_plural": "현재 이 노트를 가리키는 {{count}}개의 링크가 있습니다.", "label-delete-file": "파일 삭제", "label-download-attachments": "첨부파일 다운로드", "label-no-attachments": "이 노트에 외부 첨부파일이 존재하지 않습니다.", "label-downloaded-attachments": "{{count}}개의 첨부파일을 다운로드함.", "label-downloaded-attachments_plural": "{{count}}개의 첨부파일을 다운로드함.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "관리", "button-view": "보기", "button-confirm": "확인", "button-cancel": "취소", "button-download": "다운로드", "button-done": "완료", "button-save": "저장", "button-stop": "정지", "button-continue": "계속", "button-choose": "선택", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "PDF 파일 준비중...", "label-rename-file": "파일 이름 변경", "label-rename-file-generic": "파일 이름", "label-new-name": "새 이름", "msg-rename-success": "파일 이름을 변경했습니다.", "msg-merge-failed": "노트 병합 실패: {{message}}", "msg-file-or-folder-not-found": "“{{path}}” 경로의 폴더/파일이 존재하지 않습니다.", "msg-heading-empty": "제목은 비어있을 수 없습니다.", "msg-block-id-empty": "블럭 ID는 비어있을 수 없습니다.", "msg-block-id-invalid": "블럭 ID는 영숫자 문자나 대시(-)만을 포함할 수 있습니다.", "label-rename-heading": "제목 이름 변경", "label-rename-blockid": "블럭 ID 이름 변경" }, "menu-items": { "new-file": "노트 생성", "new-file-to-the-right": "오른쪽에 노트 생성", "new-window": "새 창", "open-switcher": "빠르게 열기...", "open-vault": "보관함 열기...", "close-tab": "탭 닫기", "close-window": "창 닫기", "find": "찾기", "replace": "바꾸기", "insert-callout": "콜아웃", "insert-markdown-link": "마크다운 링크", "insert-wikilink": "링크", "set-heading": "제목 {{level}}", "no-heading": "제목 서식 지우기", "insert-quote": "인용", "export-pdf": "PDF로 내보내기", "insert-attachment": "첨부 파일 삽입...", "insert-codeblock": "코드 블럭", "insert-math-block": "수식 블럭", "insert-table": "표", "insert-footnote": "각주", "toggle-bullet-list": "글머리 목록", "toggle-numbered-list": "숫자 목록", "toggle-checklist": "작업 목록", "toggle-bold": "굵기", "toggle-code": "코드", "toggle-comment": "주석", "toggle-italics": "이탤릭체", "toggle-inline-math": "수식", "toggle-highlight": "하이라이트", "toggle-strikethrough": "취소선", "toggle-comments": "주석", "folding-menu": "접기", "fold-all": "모두 접기", "unfold-all": "모두 펼치기", "fold-more": "접기", "fold-less": "펼치기", "source-mode": "원본 모드", "reading-view": "읽기 화면", "show-debug-info": "디버그 정보 표시", "open-sandbox": "샌드박스 보관함 열기", "navigate-back": "뒤로가기", "navigate-forward": "앞으로가기", "toggle-left-sidebar": "왼쪽 사이드바 열기/닫기", "toggle-right-sidebar": "오른쪽 사이드바 열기/닫기", "toggle-ribbon": "리본", "split-right": "오른쪽 분할", "split-down": "아래쪽 분할", "release-notes": "릴리즈 노트" }, "plugins": { "name": "플러그인", "file-explorer": { "name": "파일 탐색기", "desc": "보관함의 모든 파일을 보여줍니다.", "action-open": "파일 탐색기 열기", "action-show": "파일 탐색기 표시", "action-create-note": "새 노트 생성", "action-create-folder": "새 폴더 생성", "action-create-note-in-current-tab": "현재 탭에 새 노트 생성", "action-create-note-to-the-right": "오른쪽에 노트 생성", "action-auto-reveal": "현재 파일 자동으로 표시하기", "action-collapse-all": "모두 접기", "action-expand-all": "모두 펼치기", "action-new-note": "새 노트", "action-new-folder": "새 폴더", "action-change-sort": "정렬 순서 변경", "action-reveal-file": "파일 탐색기에서 파일 보기", "action-reveal-active-file": "파일 탐색기에서 파일 보기", "command-make-a-copy": "이 파일의 사본 생성", "command-make-a-copy-mac": "현재 파일 복제하기", "command-move-file": "다른 폴더로 파일 이동", "action-new-folder-with-count": "선택한 항목과 함께 새 폴더 만들기 ({{count}} 개 항목)", "action-new-folder-with-count_plural": "선택한 항목과 함께 새 폴더 만들기 ({{count}} 개 항목)", "action-move-file": "파일을 다음 위치로 이동...", "action-move-folder": "폴더 이동...", "action-move-items": "{{count}} 개의 항목 이동...", "prompt-type-folder": "폴더 입력", "label-no-folders": "폴더를 찾지 못했습니다.", "instruction-navigate": "이동하기", "instruction-move": "옮기기", "instruction-create": "생성하기", "instruction-dismiss": "닫기", "label-sort-a-to-z": "파일 이름 (알파벳순)", "label-sort-z-to-a": "파일 이름 (알파벳 역순)", "label-sort-new-to-old": "업데이트 날짜 (최신순)", "label-sort-old-to-new": "업데이트 날짜 (오래된 순)", "label-sort-created-old-to-new": "생성일 (오래된 순)", "label-sort-created-new-to-old": "생성일 (최신순)", "menu-opt-new-note": "새 노트", "menu-opt-new-folder": "새 폴더", "menu-opt-rename": "이름 변경", "menu-opt-delete": "삭제", "menu-opt-make-copy": "복사본 생성", "menu-opt-make-copy-mac": "복제", "msg-invalid-characters": "파일 이름에는 다음 문자들을 사용할 수 없습니다: ", "msg-unsafe-characters": "다음 문자가 포함된 파일 이름들은 링크 기능을 사용할 때 작동하지 않습니다: ", "msg-file-already-exists": "동일한 이름의 파일이 있습니다", "msg-empty-file-name": "파일 이름은 비울 수 없습니다.", "msg-bad-dotfile": "온점(.)으로 파일 이름을 시작할 수 없습니다.", "tooltip-modified-time": "마지막으로 수정된 시간: {{time}}", "tooltip-created-time": "생성된 날짜 및 시간: {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "무제", "label-untitled-folder": "무제", "msg-set-attachment-folder": "첨부 파일들이 이제부터 \"{{path}}\"에 저장됩니다." }, "search": { "name": "검색", "desc": "모든 노트에서 키워드를 검색합니다.", "action-open-search": "모든 파일 찾기", "label-collapse-results": "결과 더 작게 표시", "label-match-case": "대소문자 구분", "label-explain-search-term": "검색어 설명", "label-more-context": "내용 더 길게 표시하기", "label-result-count": "{{count}} 개의 결과", "label-result-count_plural": "{{count}} 개의 결과", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "검색 설정", "prompt-start-search": "입력하여 검색하기...", "label-match-text": "일치시킨 텍스트: ", "label-match-regex": "일치시킨 정규식: ", "label-match-exact-text": "정확히 일치시킨 텍스트: ", "label-match-greater-than": "초과 : ", "label-match-less-than": "미만: ", "label-match-true": "참 여부", "label-match-false": "거짓 여부", "label-match-empty": "비어있는지 여부", "label-match-property": "속성 포함: ", "label-match-all": "다음 모두와 일치함: ", "label-match-any": "다음 중 하나 이상과 일치함: ", "label-excluding": "제외됨: ", "label-case-sensitive": "대소문자 구분", "label-case-insensitive": "대소문자 미구분", "label-match-file-path": "일치시킨 파일 경로: ", "label-match-file-name": "일치시킨 파일 이름: ", "label-match-content": "파일 내용 일치: ", "label-match-task": "일치시킨 체크박스: ", "label-match-task-todo": "일치시킨 체크박스 (미완료):", "label-match-task-done": "일치시킨 체크박스 (완료): ", "label-match-line": "일치시킨 행: ", "label-match-block": "일치시킨 블럭: ", "label-match-section": "일치시킨 영역: ", "label-match-tag": "일치시킨 태그: ", "label-no-matches": "일치하는 결과가 없습니다.", "matches-with-count": "... 그리고 {{count}} 개가 더 일치함.", "matches-with-count_plural": "... 그리고 {{count}} 개가 더 일치함.", "label-copy-search-results": "검색 결과 복사", "button-copy-results": "결과 복사", "msg-successfully-copied": "결과가 클립보드에 복사되었습니다.", "option-show-path": "경로 표시", "option-show-path-description": "파일 이름 뿐 아니라 파일의 전체 경로까지 표시합니다.", "option-link-style": "링크 스타일", "option-link-style-description": "선택사항으로 각 결과를 링크로 변환합니다.", "option-choice-link-style-none": "없음", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Markdown 링크", "option-list-prefix": "목록 접두사", "option-list-prefix-description": "선택사항으로 목록 접두사를 각 파일 결과에 추가합니다.", "option-choice-list-style-none": "없음", "option-choice-list-style-dash": "대시 (-)", "option-choice-list-style-asterisk": "별표 (*)", "option-choice-list-style-numbered": "번호 포함", "tooltip-clear-search": "검색어 지우기", "label-search-options": "검색 옵션", "label-properties-group": "속성", "label-tags-group": "태그", "tooltip-read-more": "더 보기", "label-history": "기록", "tooltip-clear-history": "검색 기록 지우기", "label-path-option-description": "일치하는 파일 경로", "label-file-name-option-description": "일치하는 파일 이름", "label-tag-option-description": "태그 검색", "label-line-option-description": "동일한 행에서 키워드 검색", "label-section-option-description": "동일한 제목 아래에서 키워드 검색", "label-property-option-description": "일치하는 속성", "menu-opt-search-for": "\"{{keyword}}\" 검색", "menu-opt-search-in-folder": "폴더에서 검색" }, "quick-switcher": { "name": "빠른 전환기", "desc": "키보드에서 손가락을 떼지 않고 다른 파일로 이동할 수 있습니다. Ctrl/Cmd+O로 시작할 수 있습니다.", "short-name": "전환", "action-open": "빠른 전환기 열기", "instruction-navigate": "파일 선택하기", "instruction-open": "파일 열기", "instruction-open-in-new-tab": "새 탭에서 열기", "instruction-open-to-the-right": "오른쪽에 열기", "instruction-create": "생성하기", "instruction-dismiss": "닫기", "instruction-select": "선택하기", "label-no-note-create-new": "노트를 찾지 못했습니다. Enter 키를 눌러 새 노트를 만들어보세요.", "prompt-type-file-name": "이동하거나 생성하려는 파일 이름 입력...", "label-enter-to-create": "Enter 키로 생성", "tooltip-not-created-yet": "아직 파일이 생성되지 않았습니다. 생성하려면 선택하세요.", "option-show-existing-only": "존재하는 파일만 표시", "option-show-existing-only-description": "생성되지 않은 파일을 가리키는 링크의 표시 여부.", "option-show-attachments": "첨부 파일 표시", "option-show-attachments-desc": "이미지, 동영상, PDF 등 첨부 파일들의 표시 여부.", "option-show-all-file-types": "모든 파일 형식 표시", "option-show-all-file-types-desc": "Obsidian이 열 수 없는 유형의 파일을 포함해서 모든 종류의 파일을 표시할지 여부. 이러한 파일들은 기본 앱을 통해 열게 됩니다." }, "graph-view": { "name": "그래프 뷰", "desc": "노트가 어떻게 연결되어 있는지 그래프로 표시합니다.", "action-open": "그래프 뷰 열기", "action-open-local": "로컬 그래프 열기", "action-copy-screenshot": "스크린샷 복사", "tab-title": "{{displayText}} 그래프", "label-filters": "필터", "prompt-filter-nodes": "파일 검색...", "option-depth": "깊이", "option-depth-description": "지정한 횟수만큼의 노드를 추적해서 표시합니다.", "option-neighbor-links": "이웃 링크", "option-neighbor-links-description": "이웃 노드 사이의 링크를 표시합니다.", "option-forelinks": "나가는 링크", "option-forelinks-description": "다른 파일로 나가는 링크를 표시합니다.", "option-backlinks": "들어오는 링크", "option-backlinks-description": "다른 파일에서 들어오는 링크를 표시합니다.", "option-show-tags": "태그", "option-show-tags-description": "태그들은 각 태그를 포함하는 파일들로 링크됩니다.", "option-show-attachments": "첨부 파일", "option-show-attachments-description": "파일에 포함된 첨부 파일 보기", "option-show-existing-files-only": "존재하는 파일만 표시", "option-show-existing-files-only-description": "활성화 한 경우 존재하지 않는 파일로의 링크는 표시되지 않습니다.", "option-show-orphans": "미연결 노트", "option-show-orphans-description": "다른 파일로 링크되지 않은 파일도 표시", "label-display": "표시", "option-show-arrows": "화살표", "option-show-arrows-description": "확대했을 때 화살표 표시", "option-text-fade": "텍스트 표시 시작점", "option-node-size": "노드 크기", "option-link-thickness": "링크 두께", "label-forces": "장력", "option-center-force": "중심 장력", "option-link-force": "링크 장력", "option-link-distance": "링크 거리", "option-repel-force": "반발력", "tooltip-open-graph-settings": "그래프 설정 열기", "msg-screenshot-copied": "스크린샷이 클립보드에 복사되었습니다.", "label-groups": "그룹", "placeholder-enter-query": "검색어 입력...", "tooltip-delete-graph": "그룹 삭제", "button-new-group": "새 그룹", "tooltip-click-to-change-drag-to-reorder": "색상을 변경하려면 클릭하세요\n그룹을 재정렬하려면 드래그하세요", "action-timelapse": "그래프 타임랩스 애니메이션 시작", "tooltip-start-timelapse-animation": "타임랩스 애니메이션 시작", "button-animate-timelapse": "애니메이션 재생" }, "backlinks": { "name": "백링크", "desc": "상태바에 백링크의 수를 표시합니다.", "action-open": "백링크 열기", "action-show": "백링크 패인 표시", "action-open-for-current": "현재 파일의 백링크 열기", "action-toggle-backlinks-in-document": "현재 파일의 백링크 활성화/비활성화", "menu-opt-backlinks-in-document": "문서 내 백링크", "label-linked-mentions": "링크된 언급", "label-no-backlinks": "백링크를 찾지 못했습니다.", "label-unlinked-mentions": "링크되지 않은 언급", "label-show-search": "검색 필터 보기", "label-link-button-text": "링크", "tab-title": "{{displayText}} 의 백링크", "label-no-unlinked-mentions": "링크되지 않은 언급을 찾지 못했습니다.", "ellipsis": "...", "option-backlink-in-document": "문서 내 백링크", "option-backlink-in-document-desc": "새 패인을 열 때 기본값으로 문서 내 백링크를 표시합니다." }, "outgoing-links": { "name": "나가는 링크", "desc": "나가는 링크를 표시하고 현재 노트에서 링크되지 않은 다른 노트의 호출들을 감지합니다.", "action-open": "나가는 링크 열기", "action-show": "나가는 링크 패인 표시", "action-open-for-current": "현재 파일의 나가는 링크 열기", "tab-title": "{{displayText}} 의 나가는 링크", "label-links": "링크", "label-no-links": "링크를 찾지 못했습니다.", "label-unlinked-mentions": "링크되지 않은 호출", "tooltip-link-file": "해당 파일 링크", "tooltip-not-created": "아직 생성되지 않았습니다" }, "tag-pane": { "name": "태그 패인", "short-name": "태그", "desc": "모든 태그와 각 태그의 사용 빈도를 표시합니다.", "action-show": "태그 패인 표시", "label-no-tags": "태그를 찾지 못했습니다.", "label-sort-by-name-a-to-z": "태그 이름 (알파벳순)", "label-sort-by-name-z-to-a": "태그 이름 (알파벳 역순)", "label-sort-by-frequency-high-to-low": "빈도 (높은 것부터 낮은 것까지)", "label-sort-by-frequency-low-to-high": "빈도 (낮은 것부터 높은 것까지)", "action-show-nested-tags": "중첩된 태그 표시", "action-collapse-all": "모두 접기", "action-expand-all": "모두 펼치기" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "속성 화면", "desc": "파일의 메타데이터를 표시합니다.", "name-global": "모든 속성", "name-local": "파일 속성", "tab-title": "{{displayText}} 의 파일 속성", "action-show": "모든 속성 표시", "action-show-local": "파일 속성 표시", "opt-unassign-type": "타입 할당 삭제", "label-no-properties": "속성을 찾지 못했습니다.", "label-invalid-properties": "유효하지 않은 속성.", "label-sort-by-name-a-to-z": "속성 이름 (알파벳순)", "label-sort-by-name-z-to-a": "속성 이름 (알파벳 역순)", "label-sort-by-frequency-high-to-low": "빈도 (높은 것부터 낮은 것까지)", "label-sort-by-frequency-low-to-high": "빈도 (낮은 것부터 높은 것까지)", "msg-merge-properties-warning": "속성 “{{oldKey}}” 를 “{{newKey}}” 로 병합하시겠습니까?", "msg-merge-properties-warning-desc": "충돌이 발생할 경우에 값이 병합되거나 “{{oldKey}}” 의 값이 사용될 예정입니다.", "action-collapse-all": "모두 접기", "action-expand-all": "모두 펼치기", "action-open-local": "파일 속성 열기", "action-open-daily-note": "일일 노트 열기" }, "page-preview": { "name": "페이지 미리보기", "desc": "내부 링크에 마우스를 오버할 때 노트 미리보기를 표시합니다. 편집 모드에서는 Ctrl/Cmd + 마우스 오버를 통해 표시할 수 있습니다.", "label-empty-attachment": "“{{linktext}}” 을 찾지 못했습니다.", "label-empty-note": "\"{{linktext}}\" 이(가) 아직 생성되지 않았습니다. 클릭해서 생성해보세요.", "label-missing-footote": "각주 {{id}} 을(를) 찾지 못했습니다. 클릭하여 생성해보세요.", "label-source-editor": "편집기", "label-source-preview": "미리보기", "label-source-search": "검색, 백링크, 나가는 링크", "label-source-tab-header": "탭 제목", "label-require-mod": "페이지 미리보기를 볼 때 {{key}} 키를 누른 상태로 마우스를 오버하도록 합니다." }, "bookmarks": { "name": "북마크", "desc": "자주 사용하는 파일이나 검색들을 북마크합니다.", "action-show": "북마크 표시", "action-collapse-all": "모두 접기", "action-new-bookmark": "활성 탭 북마크...", "action-new-group": "새 북마크 그룹", "action-bookmark": "북마크...", "action-add-bookmark": "북마크 추가", "action-edit-bookmark": "북마크 수정", "action-bookmark-block": "마우스 커서 뒤 블럭 북마크...", "action-bookmark-heading": "마우스 커서 뒤 제목 북마크...", "action-bookmark-search": "현재 검색 북마크...", "action-remove-bookmark": "현재 파일의 북마크 제거", "action-bookmark-tab-group": "{{count}} 개의 탭 북마크...", "action-bookmark-tab-group_plural": "{{count}} 개의 탭 북마크...", "action-bookmark-all-tabs": "모든 탭 북마크...", "action-bookmark-graph": "이 그래프 북마크...", "label-bookmark": "북마크", "label-bookmarked": "북마크됨", "label-bookmark-with-count": "{{count}} 개의 북마크", "label-bookmark-with-count_plural": "{{count}} 개의 북마크", "label-no-bookmarks": "북마크를 찾지 못함", "label-invalid-data": "북마크를 불러오지 못했음.", "label-invalid-data-desc": "데이터 파일이 손상됐음.", "label-untitled-group": "무제 그룹", "label-untitled-graph": "무제 그래프", "menu-opt-edit": "수정...", "menu-opt-remove": "제거", "menu-opt-rename": "이름 변경", "menu-opt-bookmark-block": "이 블럭 북마크...", "menu-opt-bookmark-heading": "이 제목 북마크...", "msg-no-search-query": "북마크할 검색어가 없습니다.", "option-path": "경로", "option-query": "검색어", "option-u-r-l": "URL", "option-title": "제목", "option-group": "북마크 그룹", "placeholder-bookmark-group": "북마크" }, "custom-css": { "name": "커스텀 CSS", "desc": "보관함에 있는 \"obsidian.css\" 를 불러오고 적용합니다.", "setting-community-themes": "커뮤니티 테마", "msg-fetching-themes": "커뮤니티 테마의 데이터를 가져오는 중...", "prompt-filter": "필터...", "label-dark-theme-only": "다크 테마만 보기", "label-light-theme-only": "라이트 테마만 보기", "label-use": "사용", "label-stop-use": "테마 사용 중지", "label-install-and-use": "설치 및 사용", "label-update": "업데이트", "label-no-readme": "이 테마는 README 파일을 제공하지 않았습니다.", "tooltip-remove-theme": "테마 삭제", "label-visit-on-github": "GitHub에서 보기", "msg-load-error": "커뮤니티 테마를 불러오지 못했습니다. 네트워크 상태를 확인해주세요.", "msg-now-using-theme": "이제부터 {{title}} 를 CSS 테마로 사용합니다.", "msg-deleted-theme": "{{title}} 테마가 삭제되었습니다.", "msg-updated-theme": "{{title}} 테마가 업데이트되었습니다.", "label-installed": "설치됨", "label-legacy": "레거시", "button-update-all-themes": "모두 업데이트", "msg-failed-load-themes": "커뮤니티 테마를 불러오지 못했습니다.", "msg-no-updates-found": "찾은 테마 업데이트가 없습니다.", "msg-updates-found": "{{count}} 개의 테마 업데이트를 찾았습니다.", "msg-updates-found_plural": "{{count}} 개의 테마 업데이트를 찾았습니다.", "msg-failed-to-install-theme": "테마 \"{{name}}\" 를 설치하지 못했습니다.", "msg-successfully-installed-theme": "테마 \"{{name}}\" 를 성공적으로 설치했습니다.", "msg-installing-theme": "\"{{name}}\" 테마 설치 중...", "label-search-summary": "{{themeCount}} 개의 테마 표시중:", "label-update-available": "업데이트 찾음" }, "command-palette": { "name": "명령어 팔레트", "desc": "명령어를 입력하여 기능을 호출합니다. UI를 사용하거나 단축키를 기억하지 않고 명령어를 사용할 수 있습니다.", "action-open": "명령어 팔레트 열기", "instruction-navigate": "선택하기", "instruction-use": "사용하기", "instruction-dismiss": "닫기", "label-no-commands": "명령어를 찾지 못했습니다.", "prompt-type-command": "명령어 입력...", "label-pinned-commands": "즐겨찾기된 명령어", "option-add-new-pin": "새롭게 즐겨찾기된 명령어", "option-add-new-pin-description": "검색어가 입력되지 않은 경우 즐겨찾기된 명령어가 제일 위에 표시됩니다." }, "markdown-format-importer": { "name": "마크다운 형식 불러오기", "desc": "다른 앱의 마크다운을 Obsidian 형식으로 변환합니다.", "action-open": "마크다운 형식 불러오기 열기", "option-roam-tag-fixer": "Roam Research 태그 고치기", "option-roam-tag-fixer-description": "\"#tag\" 와 \"#[[tag]]\" 를 \"[[tag]]\" 로 변환합니다.", "option-roam-highlight-fixer": "Roam Research 하이라이트 고치기", "option-roam-highlight-fixer-description": "\"^^highlight^^\" 를 \"==highlight==\"로 변환합니다.", "option-roam-todo-converter": "Roam Research 체크박스 변환하기", "option-roam-todo-converter-description": "\"{{[[TODO]]}}\" 를 \"[ ]\" 로 변환합니다.", "option-bear-highlight-fixer": "Bear 하이라이트 고치기", "option-bear-highlight-fixer-description": "\"::highlight::\" 를 \"==highlight==\" 로 변환합니다.", "zettelkasten-link-fixer": "Zettelkasten 링크 고치기", "zettelkasten-link-fixer-description": "\"[[UID]]\" 링크를 전체 길이인 \"[[UID File Name]]\" 으로 변환합니다.", "zettelkasten-link-beautifier": "Zettelkasten 링크 꾸미기", "zettelkasten-link-beautifier-description": "\"[[UID]]\" 링크를 고치고 \"[[UID File Name|File Name]]\"로 아름답게 정리합니다.", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "경고: 가져오기는 현재 파일 뿐 아니라 보관함 내의 모든 파일들을 변환합니다.", "msg-override-files-warning": "파일들이 덮어씌어집니다. 변환하기 전에 모든 파일을 백업해주세요.", "label-start-conversion": "변환 시작", "label-stop": "정지", "label-go-back": "뒤로", "label-done": "완료", "label-processing": "처리 중...", "label-cancelling": "취소 중...", "label-finished": "완료되었습니다!", "label-processed-files": "처리된 파일", "label-modified-files": "변경된 파일", "label-total-replacements": "총 바꾼 횟수", "label-failed": "Failed" }, "daily-notes": { "name": "일일 노트", "desc": "오늘의 일일 노트를 열거나 없다면 생성합니다.", "short-name": "오늘", "action-open": "오늘의 일일 노트 열기", "action-open-previous": "어제의 일일 노트 열기", "action-open-next": "내일의 일일 노트 열기", "action-insert-text": "일일 노트에 텍스트 삽입", "action-insert-link": "일일 노트에 링크 삽입", "msg-fail-format": "일일 노트를 생성하지 못했습니다. \"{{format}}\" 은 유효한 형식이 아닙니다.", "msg-fail-folder": "일일 노트를 생성하지 못했습니다. \"{{folderOption}}\" 폴더를 찾지 못했습니다.", "msg-fail-template-file": "일일 노트를 생성하지 못했습니다. 템플릿 파일 \"{{template}}\"을(를) 찾지 못했습니..", "msg-no-previous": "이전 일일 노트가 존재하지 않습니다.", "msg-no-next": "다음 일일 노트가 존재하지 않습니다.", "option-date-format": "날짜 형식", "label-refer-to-syntax": "더 많은 문법을 확인하려면 다음을 참조해주세요: ", "label-syntax-link": "형식 참조", "label-syntax-live-preview": "다음과 같이 표시될 예정입니다: ", "option-new-file-location": "새 파일 위치", "option-new-file-location-description": "새 일일 노트를 생성할 폴더의 위치입니다.", "option-template": "템플릿 파일 위치", "option-template-description": "템플릿으로 사용할 파일의 위치입니다.", "option-open-on-start": "앱 시작 시 일일 노트 열기", "option-open-on-start-description": "보관함을 열 때마다 자동으로 일일 노트를 엽니다." }, "unique-note-creator": { "name": "고유 노트 생성", "desc": "ZetteKasten이나 slip box 등에 사용할 수 있도록 고유한 타임스탬프 접두사를 포함해서 노트를 생성합니다.", "short-name": "고유", "action-create-note": "새 고유 노트 생성", "action-add-link": "고유한 내부 링크 추가하기", "option-new-file-location": "새 파일 위치", "option-new-file-location-description": "새 고유 노트를 생성할 폴더의 위치입니다.", "msg-folder-not-found": "고유 노트를 생성하지 못했습니다. \"{{folderOption}}\" 폴더를 찾지 못했습니다.", "option-template-file": "템플릿 파일 위치", "option-template-file-description": "템플릿으로 사용할 파일의 경로입니다.", "option-template-file-placeholder": "예시: 폴더 1/노트", "option-id-format": "고유 접두사 형식", "msg-template-file-not-found": "고유 노트를 생성하지 못했습니다. 템플릿 파일 \"{{template}}\"을(를) 찾지 못했습니다.", "msg-failed-to-generate": "\"{{format}} 형식으로 고유 노트를 만들지 못했습니다." }, "random-note": { "name": "무작위 노트", "desc": "무작위로 아무 노트를 하나 엽니다. 노트를 리뷰하고 살펴볼 때 유용합니다.", "short-name": "무작위", "action-open": "무작위 노트 열기" }, "outline": { "name": "개요", "desc": "현재 파일 혹은 링크된 패인의 개요를 표시합니다.", "action-open": "개요 열기", "action-show": "개요 패인 표시", "action-open-for-current": "현재 파일의 개요 열기", "tab-title": "{{displayText}} 의 개요", "label-no-headings": "제목을 찾지 못했습니다.", "label-follow-cursor": "현재 영역으로 자동스크롤하기" }, "word-count": { "name": "단어 개수", "desc": "상태바에 단어 개수를 표시합니다." }, "slides": { "name": "슬라이드", "desc": "마크다운으로 슬라이드를 만듭니다.\"---\"로 슬라이드를 분리해보세요.", "action-start": "프레젠테이션 시작" }, "audio-recorder": { "name": "음성 녹음", "desc": "오디오를 녹음하여 첨부 파일로 저장합니다.", "action-start": "음성 녹음 시작", "action-stop": "음성 녹음 정지", "action-toggle": "녹음 시작/정지", "msg-access-denied": "마이크 접근이 거부되었습니다. 환경설정 패인에서 활성화해주세요.", "msg-pending-grant": "녹음을 시작하려면 마이크 권한을 활성화해주세요.", "msg-no-microphone": "마이크가 연결되어 있지 않습니다." }, "open-with-default-app": { "name": "기본 앱에서 열기", "desc": "현재 파일을 기본 앱에서 여는 버튼을 추가합니다.", "action-open-file": "기본 앱에서 열기", "action-open-file-mobile": "공유", "action-show-in-folder": "폴더에서 보기", "action-show-in-folder-mac": "Finder에서 보기" }, "templates": { "name": "템플릿", "desc": "템플릿 파일 폴더에 있는 템플릿의 내용을 삽입합니다.", "action-insert": "템플릿 삽입", "action-insert-current-date": "현재 날짜 삽입", "action-insert-current-time": "현재 시간 삽입", "option-template-folder-location": "템플릿 폴더 위치", "option-template-folder-location-description": "이 폴더의 파일들을 템플릿으로 사용할 수 있게 됩니다.", "option-template-date-format": "날짜 형식", "option-template-date-format-description": "템플릿 파일의 {{date}} 이(가) 다음 값으로 바꾸어집니다.", "option-template-date-format-description2": "{{date:YYYY-MM-DD}} 처럼 형식을 임의로 덮어씌울 수도 있습니다.", "option-template-time-format": "시간 형식", "option-template-time-format-description": "템플릿 파일의 {{time}} 이(가) 다음 값으로 바꾸어집니다.", "option-template-time-format-description2": "{{time:HH:mm}} 처럼 형식을 임의로 덮어씌울 수도 있습니다.", "instruction-navigate": "선택하기", "instruction-insert": "템플릿 삽입하기", "instruction-dismiss": "닫기", "msg-no-templates-found": "템플릿을 찾지 못했습니다.", "msg-fail-invalid-folder": "템플릿 목록을 가져오지 못했습니다. 템플릿 폴더가 유효하지 않습니다.", "msg-fail-folder-not-found": "템플릿 목록을 볼 수 없습니다. 폴더 \"{{folderOption}}\" 을(를) 찾을 수 없습니다.", "msg-fail-invalid-template-properties": "템플릿을 삽입할 수 없습니다. 템플릿 파일의 속성을 읽지 못했습니다.", "msg-no-folder-set": "템플릿 목록을 가져오지 못했습니다. 템플릿 폴더가 설정돼 있지 않습니다.", "prompt-type-template": "템플릿 이름 입력..." }, "translucency": { "name": "반투명 창", "desc": "반투명 효과를 사용하여 깊이감을 더해줍니다. 다크 모드에서 사용하기에 이상적입니다. Linux 환경에서는 지원되지 않습니다." }, "slash-command": { "name": "슬래시 명령어", "desc": "편집기에서 슬래시를 입력하여 앞 슬래시 (/) 명령어를 실행할 수 있게 해줍니다." }, "editor-status": { "name": "편집기 상태", "desc": "상태바에서 현재 편집 모드를 표시하고 바꿀 수 있도록 항목을 추가합니다.", "read": "읽기 모드", "edit-source": "원본 모드", "edit-live-preview": "실시간 미리보기" }, "publish": { "name": "게재", "desc": "Obsidian Publish를 사용하여 인터넷에 노트를 게재합니다.", "action-publish-changes": "변경사항 게재", "action-publish-file": "현재 파일 게재", "label-no-internet-access": "변경사항을 게재하려면 인터넷 접속이 필요합니다.", "label-publish-service-description": "Obsidian Publish는 Obsidian에서 바로 온라인으로 노트를 게재할 수 있게 해주는 부가 유료 서비스입니다.", "label-please-login": "게재를 시작하려면 로그인하거나 새 Obsidian 계정을 생성해 주세요.", "label-no-publish-subscription": "Obsidian Publish 플랜에 구독하지 않은 상태입니다.", "button-purchase": "구매", "label-manage-sites": "사이트 관리", "label-no-sites": "소유하고 있는 사이트가 없습니다.", "button-choose": "선택", "tooltip-edit-site-id": "사이트 ID 수정", "tooltip-delete-site": "사이트 삭제", "label-delete-site-confirmation": "정말로 이 사이트를 삭제하시겠습니까?", "label-delete-site-details": "즉시 영구적으로 이 사이트를 삭제합니다.", "label-confirm-delete-site": "삭제하는 사이트: \"{{site}}\"", "option-site-id": "사이트 ID", "option-site-id-description": "사이트가 https://publish.obsidian.md/{site id} 로 개제될 예정입니다. 사이트 이름은 나중에 변경할 수 있으며, 오직 소문자, 숫자, 대시(-)만 포함할 수 있습니다.", "option-site-id-placeholder": "사이트 ID 선택", "button-create": "생성", "msg-invalid-site-id": "사이트 ID는 오직 소문자, 숫자, 대시(-)만 포함할 수 있습니다.", "msg-site-id-in-use": "해당 사이트 ID가 이미 사용 중입니다. 다른 사이트 ID를 사용해 주세요.", "msg-create-site-issue": "사이트를 생성하는데 문제가 발생했습니다.", "label-site-options": "사이트 옵션", "option-site-general": "일반", "option-site-components": "구성 요소", "option-site-appearance": "외형", "option-site-reading-experience": "읽는 방식", "option-site-misc": "기타 사이트 설정", "option-site-name": "사이트 이름", "option-site-name-description": "게재되는 사이트의 이름. 사이트의 페이지 제목으로 표시됩니다.", "option-site-name-placeholder": "게재되는 사이트의 이름", "option-home-page-file": "홈페이지 파일", "option-home-page-file-description": "사이트에 처음 방문 시 사용자가 보게 되는 페이지입니다.", "option-home-page-file-placeholder": "게재된 파일 선택", "option-logo": "로고", "option-logo-description": "사이트 로고로 사용할 이미지 파일을 선택해주세요.", "option-logo-placeholder": "보관함에 올라온 아무 종류의 이미지...", "option-site-collaboration": "사이트 공동 작업", "option-site-collaboration-desc": "해당 사이트의 공동 작업자를 관리합니다.", "option-customize-navigation": "사용자 지정 내비게이션", "option-customize-navigation-desc": "내비게이션 항목들의 순서를 수정하고 페이지나 폴더를 숨깁니다.", "option-navigation-order": "내비게이션 항목 표시 순서", "option-hide-items-in-navigation": "페이지나 폴더를 내비게이션 영역으로부터 숨깁니다.", "option-hide-items-in-navigation-desc": "특정 페이지가 사이트 내비게이션에 표시되지 않도록 하려면 오른쪽 클릭 후 \"숨김\"을 선택해 주세요. 페이지를 숨기더라도 링크나 URL로 바로 접근하여 확인할 수는 있습니다.", "option-show-hidden-items": "숨겨진 항목 표시", "button-customize-sidebar": "관리", "label-navigation-modal-title": "내비게이션", "label-navigation-modal-desc": "드래그 앤 드롭하여 내비게이션 항목이 게재된 사이트에 표시되는 순서를 커스터마이징 사용자 지정화해보세요.", "option-hide-in-navigation": "내비게이션에서 숨기기", "button-manage-collaborators": "관리", "option-theme": "테마", "option-theme-description": "사이트의 기본 테마를 선택합니다.", "option-theme-system": "시스템 테마 적용", "option-show-theme-toggle": "라이트/다크 테마 전환", "option-show-theme-toggle-description": "사이트 방문자가 직접 라이트 테마와 다크 테마를 전환할 수 있도록 허용합니다.", "option-show-navigation": "내비게이션 표시", "option-show-navigation-description": "개제되는 사이트 왼쪽에 게재된 모든 페이지를 목록으로 표시합니다.", "option-show-search": "검색바 표시", "option-show-search-description": "방문자가 사이트에 있는 페이지와 제목을 검색할 수 있도록 내비게이션 최상단에 검색바를 표시합니다.", "option-show-graph": "그래프 화면 표시", "option-show-graph-description": "각 페이지에 작은 로컬 그래프를 표시합니다.", "option-show-outline": "목차 표시", "option-show-outline-description": "각 페이지의 제목을 개요에 표시합니다.", "option-show-backlinks": "백링크 보기", "option-show-backlinks-description": "각 페이지 끝에 백링크 영역을 표시합니다.", "option-sliding-window-mode": "슬라이딩 창 사용", "option-sliding-window-mode-description": "오른쪽의 새 패인에 페이지를 엽니다. 패인들을 가로로 넘길 수 있도록 해줍니다.", "option-hover-preview-file": "마우스 오버 시 미리보기 표시", "option-hover-preview-file-description": "링크에 마우스 커서를 올리면 패인 미리보기를 표시해줍니다.", "option-hide-title": "페이지 제목 숨기기", "option-hide-title-description": "페이지 이름 제목을 숨깁니다. 각 페이지 시작 부분에 제목을 따로 만들어둔 경우 유용합니다.", "option-readable-line-length": "읽기 쉬운 행 길이", "option-readable-line-length-description": "최대 줄 길이를 제한합니다. 화면에 표시되는 글자의 수는 줄어들지만, 긴 문단을 읽기 편해집니다.", "option-site-password": "비밀번호", "option-site-password-description": "사이트 접속을 비밀번호로 제한합니다.", "option-google-analytics": "Google Analytics 추적 코드", "option-google-analytics-description": "사이트에 Google Analytics를 설정합니다. Google Analytics는 맞춤 도메인을 사용한 방문자들에게만 사용됩니다. 거주하는 지역의 법과 규제가 사용을 허용하는지 확인해주세요.", "button-manage-passwords": "관리", "button-save-site-settings": "사이트 설정 저장", "msg-updated-options": "사이트 옵션을 업데이트했습니다.", "button-go-back": "뒤로", "label-publishing-to": "다음 링크로 개제합니다: ", "tooltip-switch-site": "사이트 전환", "button-add-linked": "링크된 파일 추가", "tooltip-add-linked": "현재 선택한 항목에 의해 링크된 모든 파일을 추가합니다.", "msg-added-linked-files": "{{count} 개의 링크된 파일이 추가되었습니다.", "msg-added-linked-files_plural": "{{count}} 개의 링크된 파일이 추가되었습니다.", "tooltip-open-site-options": "사이트 옵션 변경", "label-no-changes-detected": "변경된 사항을 감지하지 못했습니다.", "label-changed-files-to-be-published": "변경된 사항", "label-unchanged-files-already-published": "변경 없음 (선택하여 삭제)", "label-file-selected": " 선택됨", "button-select-all-files": "모두 선택", "label-custom-navigation-title": "내비게이션 항목", "button-deselect-all-files": "모두 선택 취소", "label-new-files-to-be-published": "신규", "button-publish": "게재", "msg-no-permission-to-publish-to-site": "해당 사이트에 게재할 권한이 없습니다.", "msg-select-at-least-one-file": "적어도 1개의 파일을 선택해주세요.", "label-upload-changes": "변경 사항 업로드", "button-done": "완료", "button-stop": "정지", "label-status-uploading": "업로드 중", "label-status-to-publish": "게재", "label-status-to-delete": "삭제", "label-status-published": "게재 완료", "label-status-deleted": "삭제됨", "label-status-failed": "실패", "label-status-cancelled": "취소됨", "button-change": "변경", "label-clear-cache": "변경 사항이 사이트에 적용되기까지 몇 분 정도까지 걸릴 수 있습니다. 가장 최근에 변경한 사항이 보이지 않는다면 브라우저 캐시를 비워보세요.", "label-visit-site": "여기에서 사이트를 방문할 수 있습니다: ", "msg-something-went-wrong": "오류가 발생했습니다. 자세한 내용은 개발자 콘솔을 확인해주세요.", "msg-network-error": "네트워크 오류가 발생했습니다.", "label-manage-passwords": "비밀번호 관리", "label-add-password": "비밀번호 추가", "action-new-password": "새 비밀번호", "label-no-password": "현재 사이트에 비밀번호가 설정돼 있지 않습니다. 아무나 페이지를 열 수 있습니다.", "label-have-password": "사이트가 비밀번호로 보호됩니다. 여러 비밀번호를 설정한 경우 방문자가 설정한 아무 비밀번호나 입력하여 접근할 수 있습니다.", "option-password-name": "비밀번호", "option-password-desc": "비밀번호 해시가 안전하게 저장됩니다. 비밀번호가 한 번 설정되면 원본 텍스트로 해시를 볼 수 없게 됩니다.", "option-password-placeholder": "비밀번호", "option-nickname-name": "닉네임 (선택사항)", "option-nickname-desc": "어디에 사용되는 비밀번호인지, 누가 사용하는 비밀번호인지 기억할 수 있도록 닉네임을 설정해주세요.", "action-add-password": "이 비밀번호 추가", "label-untitled-password": "무제 비밀번호", "label-password-created-time": "생성된 날짜 및 시간: {{time}}", "msg-added-new-password": "새 비밀번호를 추가했습니다.", "option-custom-domain": "사용자 지정 도메인", "option-custom-domain-desc": "https://publish.obsidian.md/{site id} URL 대신 자신만의 도메인을 사용해 보세요.", "option-noindex": "검색 엔진 인덱싱을 사용하지 않음", "option-noindex-desc": "검색 엔진이 사이트를 인덱싱하지 못하도록 합니다.", "button-configure": "설정", "label-configure-custom-domain": "사용자 지정 도메인 설정", "option-custom-url-name": "사용자 지정 URL", "option-custom-url-desc": "사이트가 위치하게 될 URL 입니다.", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "사용자 지정 도메인으로 리디렉션", "option-custom-url-redirect-desc": "publish.obsidian.md/id 의 방문자들을 지정한 도메인으로 리디렉션합니다.", "button-update-custom-domain": "도메인 설정 업데이트", "label-custom-domain-instructions": "더 많은 정보를 확인하려면 도움말 웹사이트의 {{link}} 를 방문해 주세요.", "label-custom-domain-link-name": "사용자 지정 도메인 설정 가이드", "label-site-usage": "현재 {{limit}}개의 사이트 중 {{site}}개를 사용 중입니다.", "button-add-more-sites": "더 많은 사이트 구매", "label-no-sites-bought": "아직 사이트를 구입하지 않았습니다.", "button-get-site": "사이트 구매", "label-manage-sharing": "\"{{name}}\" 공유 관리", "label-sharing-with-users": "해당 사이트를 현재 다음 사용자들과 공유하고 있습니다.", "label-not-sharing": "해당 사이트를 현재 누구와도 공유하지 않고 있습니다.", "label-invite-pending": "대기 중", "tooltip-remove-user": "사용자 제거", "option-invite-user": "사용자 초대", "placeholder-invite-user": "사용자의 이메일 주소 입력...", "error-email-must-be-valid": "사용자 초대를 위해 유효한 이메일 주소를 입력해주세요.", "msg-enable-publish-plugin": "사이트를 표시하려면 설정 -> 코어 플러그인 항목에서 Publish 코어 플러그인을 활성화 해주세요.", "label-your-sites": "내 사이트", "label-sites-shared-with-you": "내가 공유한 사이트", "tooltip-leave-site-sharing": "해당 사이트에서 공동 작업 중지", "label-leave-site-confirmation": "공동 작업 중단 확인", "label-leave-site-confirmation-details": "이 사이트를 공유하는 사이트 목록에서 제거합니다. 이 작업은 되돌릴 수 없습니다.", "label-leave-site-confirmation-details-2": "해당 사이트에서 공동 작업을 다시 시작하고 싶다면 사이트 소유자에게 문의해주세요.", "button-leave": "떠나기", "label-compare-with-live": "라이브 버전과 비교", "button-use-live-version": "라이브 버전 사용", "label-confirm-override": "로컬 버전 덮어쓰기 확인", "label-confirm-override-1": "정말로 로컬 버전을 덮어쓰시겠습니까?", "label-confirm-override-2": "라이브 버전을 사용하고 로컬 버전을 삭제합니다. 필요한 경우 백업을 미리 해주세요.", "button-proceed": "계속", "message-successfully-used-live-version": "성공적으로 라이브 버전을 사용하고 로컬 버전을 덮어씌었습니다.", "label-open-in-live-site": "라이브 사이트에서 열기", "label-open-file": "파일 열기", "tooltip-manage-publish-filters": "개제 필터 관리", "option-included-folders": "포함되는 폴더", "option-included-folders-desc": "해당 폴더 아래에 있는 파일들은 변경 사항을 검토할 때 자동으로 선택됩니다.", "option-currently-included-folders": "현재 포함되는 폴더:", "option-excluded-folders": "제외되는 폴더", "option-excluded-folders-desc": "해당 폴더 아래에 있는 파일들은 게재 시 변경 사항을 검토할 때 나타나지 않습니다. 이 설정은 상단의 포함되는 폴더 설정보다 우선권을 가집니다.", "label-number-of-folders-included": "현재 Obsidian Publish가 {{folders}}개를 포함하고 있습니다.", "label-number-of-folders-excluded": "현재 Obsidian Publush가 {{folders}}개를 제외하고 있습니다.", "label-manage-included-folders": "포함되는 폴더 관리", "label-manage-excluded-folders": "제외되는 폴더 관리", "label-add-included-folder": "폴더 포함", "label-add-included-folder-desc": "기존에 존재하는 폴더와 아직 생성하지 않은 폴더를 모두 포함시킬 수 있습니다.", "tooltip-contact-support": "지원팀에 문의하기", "label-navigation-preview": "내비게이션 미리보기" }, "workspaces": { "name": "작업 공간", "desc": "작업 공간 레이아웃을 저장하고 불러옵니다.", "action-load-layout": "작업 공간 레이아웃 불러오기", "action-manage-layouts": "작업 공간 레이아웃 관리", "action-save": "레이아웃 저장", "action-save-and-load-layout": "저장하고 다른 레이아웃 불러오기", "placeholder-save-current-layout-as": "현재 레이아웃을 다른 이름으로 저장...", "button-save": "저장", "button-load": "불러오기", "tooltip-delete-layout": "레이아웃 삭제", "msg-enter-name": "새 레이아웃의 이름을 입력해주세요.", "msg-save-layout-success": "레이아웃이 성공적으로 저장되었습니다.", "label-no-layout-found": "저장된 레이아웃을 찾지 못했습니다.", "label-workspace-modified-time": "수정된 시간: {{time}}", "placeholder-type-to-search-layouts": "레이아웃 이름 입력..." }, "sync": { "name": "동기화", "desc": "Obsidian Sync를 통해 파일을 동기화합니다.", "action-view-version-history": "버전 내역 보기", "action-setup-sync": "동기화 설정하기", "menu-opt-view-version-history": "버전 내역 열기", "action-view-sync-sidebar": "동기화 기록 열기", "action-activity-log": "활동 기록 열기", "label-load-more": "더 불러오기", "label-show-diff": "diff 표시", "label-copy-to-clipboard": "클립보드에 복사", "label-restore-this-version": "이 버전 복원", "msg-already-latest-version": "이 버전은 이미 제일 최신 버전입니다.", "msg-restored-version": "{{time}} 의 버전을 성공적으로 복원했습니다.", "label-file-deleted": "해당 파일이 삭제되었습니다", "label-file-deleted-via": "{{ device }} 기기에서 삭제됨", "label-file-renamed-from": "\"{{filepath}}\" 파일의 이름이 변경되었습니다.", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1개의 수정사항", "label-revision_plural": "{{revisions}}개의 수정사항", "label-via-device": "{{device}} 기기에서", "label-no-history": "이 파일의 동기화 기록이 없습니다.", "label-empty-file": "비어 있음", "label-unable-to-retrieve": "버전 기록을 가져올 수 없습니다", "label-setting-files": "설정 파일", "label-deleted-files": "삭제된 파일", "label-version-history": "버전 기록", "label-click-to-see-history": "버전 기록을 보려면 삭제된 파일을 클릭해주세요.", "label-create-remote-vault": "원격 보관함 생성", "msg-please-enter-password": "비밀번호를 입력해주세요.", "msg-vault-name-cannot-be-empty": "보관함 이름은 비어있을 수 없습니다.", "msg-successfully-created-vault": "원격 보관함 \"{{name}}\" 을(를) 성공적으로 만들었습니다.", "label-remote-vault-explanation": "원격 보관함이 보관함을 기기끼리 안전하게 동기화해줍니다.", "option-vault-name": "보관함 이름", "option-vault-name-desc": "어떤 보관함인지 알려고 할 때 유용합니다.", "option-vault-region": "지역", "opt-vault-region-automatic": "자동", "option-vault-region-desc": "원격 보관함을 보관할 가장 가까운 서버 지역을 선택합니다. 이 옵션은 나중에 변경할 수 없습니다.", "option-vault-name-placeholder": "나의 보관함", "option-encryption": "암호화", "option-encryption-desc": "종단간 암호화는 가장 강력한 보안을 제공하지만 유저가 암호화 비밀번호를 안전히 보관해야 합니다. 표준 암호화는 Obsidian이 관리하는 키를 이용하여 이동할 때와 Obsidian 서버에 있을 때 데이터를 보호해줍니다.", "option-encryption-warning": "이 옵션은 나중에 변경될 수 없습니다.", "option-encryption-end-to-end": "종단간 암호화", "option-encryption-standard": "표준 암호화", "option-encryption-password": "암호화 비밀번호", "option-encryption-password-desc": "이 비밀번호는 나중에 변경할 수 없습니다.", "option-encryption-password-desc-warning": "이 비밀번호를 잊어버리면 모든 원격 데이터를 영구적으로 접근할 수 없게 됩니다.", "option-encryption-password-desc-2": "이 암호는 로컬 데이터에 영향을 미치지 않습니다.", "label-encryption-password-explanation": "원격 보관함 “{{name}}” 이 현재 암호화 돼 있는 상태입니다. 잠금 해제하려면 비밀번호를 입력해주세요.", "option-encryption-password-placeholder": "비밀번호", "label-unlock-encrypted-vault": "원격 보관함 잠금 해제", "button-unlock-vault": "보관함 잠금 해제", "label-remote-vaults": "나의 원격 보관함", "label-vault-created-time": "생성된 날짜 및 시간: {{time}}", "tooltip-delete-remote-vault": "삭제", "tooltip-rename-remote-vault": "이름 변경", "label-rename-remote-vault": "원격 보관함 \"{{name}}\" 이름 변경", "label-rename-remote-vault-desc": "이 원격 보과함의 새 이름을 입력해주세요", "tooltip-manage-sharing": "공유 관리", "label-confirm-delete-remote-vault": "보관함 삭제 확인", "label-confirm-delete-remote-vault-question": "정말로 해당 원격 보관함을 삭제하시겠습니까?", "label-confirm-delete-remote-vault-result": "버전 기록을 포함한 서버의 모든 데이터가 삭제됩니다. 로컬 파일은 영향을 받지 않습니다.", "label-confirm-delete-remote-vault-warning": "해당 작업은 영구적이며 되돌릴 수 없습니다.", "msg-remote-vault-deleted": "{{name}} 이(가) 삭제되었습니다.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: 연결된 보관함이 더 이상 존재하지 않습니다.", "button-connect-to-remote-vault": "연결", "button-disconnect-from-remote-vault": "연결 끊기", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "소유하고 있는 원격 보관함이 없습니다.", "label-no-subscription": "활성화 돼 있는 Obsidian Sync 구독 플랜이 없습니다.", "label-please-visit": "다음 링크를 방문해주세요", "label-preview-unsupported-file-type": "{{type}} 파일을 미리보기 할 수 없습니다.", "button-create-new-remote-vault": "새 원격 보관함 생성하기", "label-sync-log": "Sync 기록", "option-event-type-all": "모두", "option-event-type-errors": "에러", "option-event-type-skipped": "건너뜀", "option-event-type-merge-conflicts": "병합 충돌", "button-copy-sync-log": "동기화 기록 복사", "msg-successfully-copied-sync-log": "성공적으로 동기화 기록을 복사했습니다.", "button-retry": "재시도", "button-purchase-subscription": "구매", "label-third-party-sync-warning": "충돌되는 파일 동기화 서비스가 감지되었습니다.", "label-third-party-sync-warning-desc": "경고: 보관함이 외부 동기화 서비스 {{service}} 을(를) 사용하는 것 같습니다. 해당 저장소에 Obsidian Sync를 사용할 경우 충돌로 인해 파일손상 및 데이터 손실이 발생할 수도 있습니다.", "label-icloud-drive-warning": "iCloud Drive를 사용하고 있다면, 문서와 폴더들이 iCloud 에 의해 동기화되고 있을 수도 있습니다. 이 경우 Obsidian Sync와 충돌될 수도 있습니다.", "option-remote-vault": "원격 보관함", "button-choose-remote-vault": "선택", "button-manage-remote-vault": "관리", "option-remote-vault-desc-connected": "현재 \"{{name}}\" 원격 보관함에 연결되어 있습니다.", "option-remote-vault-desc-not-connected": "현재 어떤 원격 보관함에도 연결되어 있지 않습니다.", "option-sync-status": "동기화 상태", "option-sync-status-desc-paused": "현재 Obsidian Sync가 중지된 상태입니다.", "option-sync-status-desc-running": "현재 Obsidian Sync가 실행 중입니다.", "option-device-name": "장치 이름", "option-device-name-desc": "이 이름이 동기화 기록에 표시될 예정입니다. 기본 이름을 사용하려면 공백으로 둬주세요.", "button-resume": "재개", "button-pause": "중지", "option-view-deleted-files": "삭제된 파일", "option-view-deleted-files-desc": "삭제된 파일을 확인하고 복원합니다.", "option-sync-log": "동기화 활동", "option-sync-log-desc": "디버깅을 위해 최근 동기화 활동을 확인합니다.", "button-view": "보기", "button-bulk-restore": "일괄 복원", "button-restore-files_zero": "파일 복원", "button-restore-files": "{{count}} 개 파일 복원하기", "button-restore-files_plural": "{{count}} 개 파일 복원하기", "msg-restoring": "복원 중...", "msg-restoring-complete": "`복원이 완료되었습니다: {{succeeded}}개에 성공했고 {{failed}}개에 실패했습니다.`", "option-vault-size": "보관함 크기", "option-vault-size-desc": "{{limit}} 중 {{size}} 만큼의 크기를 사용하고 있습니다.", "option-vault-size-unknown": "보관함 크기를 불러올 수 없습니다.", "option-vault-size-loading": "보관함 크기 불러오는 중...", "option-over-size": "보관함 크기가 한도를 초과했습니다", "option-almost-over-size": "보관함 크기가 한도에 가까워지고 있습니다", "msg-largest-files": "큰 파일 보기", "msg-largest-files-desc": "다음은 대부분의 공간을 차지하고 있는 원격 파일들입니다. 첨부 파일을 삭제한 다음 퍼지 버튼을 눌러 원격 보관함의 공간을 비워보세요.", "button-upgrade-storage": "저장 공간 업그레이드하기", "button-purge-remote": "퍼지", "button-hide-my-changes": "변경 사항 숨기기", "tooltip-purge-remote": "공간 확보를 위해 원격 보관함에서 삭제된 첨부 파일을 영구적으로 퍼지합니다.", "msg-purge-complete": "퍼지가 완료되었습니다.", "option-prevent-sleep": "기기 잠자기 모드 방지", "option-prevent-sleep-desc": "동기화되지 않은 파일이 더 남아 있는 경우 기기가 잠자기 상태가 되는 것을 방지합니다.", "option-selective-sync": "선택적 동기화", "option-excluded-folders": "제외되는 폴더", "option-excluded-folder-desc": "특정 폴더가 동기화되는 것을 방지합니다.", "option-currently-excluded-folders": " 현재 다음 폴더가 제외되었습니다:", "button-manage-excluded-folders": "관리", "option-sync-image": "이미지 동기화", "option-sync-image-desc": "다음 확장명의 이미지 파일들을 동기화합니다: {{extensions}}", "option-sync-audio": "오디오 동기화", "option-sync-audio-desc": "다음 확장자의 오디오 파일들을 동기화합니다: {{extensions}}", "option-sync-video": "동영상 동기화", "option-sync-video-desc": "다음 확장명의 동영상 파일들을 동기화합니다: {{extensions}}", "option-sync-pdf": "PDF 동기화", "option-sync-pdf-desc": "PDF 파일들을 동기화합니다.", "option-sync-unsupported": "다른 모든 유형의 파일 동기화", "option-sync-unsupported-desc": "지원되지 않는 파일 형식들을 동기화합니다.", "option-vault-config-sync": "보관함 설정 동기화", "option-view-config-files": "설정 버전 기록", "option-view-config-files-desc": "설정 파일들의 버전 기록을 확인하고 복원합니다.", "option-sync-app": "기본 설정", "option-sync-app-desc": "편집기 설정, 파일 및 링크 설정, 사용자 지정 단축키 등을 동기화하려면 활성화해주세요.", "option-sync-appearance": "외형 설정", "option-sync-appearance-desc": "다크 모드, 생성된 날짜 및 시간, 테마, 사용 가능한 스네펫 등의 외형 설정을 동기화합니다.", "option-sync-appearance-data": "테마 및 스네펫", "option-sync-appearance-data-desc": "다운로드된 테마와 스네펫을 동기화할지 여부를 결정합니다. 활성화 여부는 이전 설정에 따라 다를 수 있습니다.", "option-sync-hotkey": "단축키", "option-sync-hotkey-desc": "사용자 지정 단축키를 동기화합니다.", "option-sync-core-plugin": "활성화된 코어 플러그인 목록", "option-sync-core-plugin-desc": "활성화된 코어 플러그인 목록을 동기화합니다.", "option-sync-core-plugin-data": "코어 플러그인 설정", "option-sync-core-plugin-data-desc": "코어 플러그인 설정을 동기화합니다.", "option-sync-community-plugin": "활성화된 커뮤니티 플러그인 목록", "option-sync-community-plugin-desc": "활성화된 커뮤니티 플러그인 목록을 동기화합니다.", "option-sync-community-plugin-data": "설치된 커뮤니티 플러그인", "option-sync-community-plugin-data-desc": "설치된 커뮤니티 플러그인 (.js, .css 및 manifest.json 파일) 과 각 플러그인의 설정 파일들을 동기화합니다.", "label-sync-loading": "Sync가 아직 로드되고 있습니다. 이 페이지를 나중에 새로고침해주세요.", "label-sync-introduction": "Obsidian Sync는 종단간 암호화 및 버전 기록을 제공하는 부가 동기화 서비스입니다.", "label-account-required": "동기화를 시작하려면 로그인하거나 새 Obsidian 계정을 생성해주세요.", "label-current-file": "현재 파일", "label-sync-changes": "변경 사항 동기화", "label-today": "오늘", "label-yesterday": "어제", "label-this-week": "이번 주", "label-older": "Older", "label-last-sync": "마지막 동기화", "label-more": "{{count}}개 더", "button-sign-up": "회원가입", "button-log-in": "로그인", "label-manage-excluded-folders": "제외되는 폴더 관리", "label-number-of-folders-excluded": "현재 {{folders}}개의 폴더가 동기화에서 제외되었습니다.", "label-add-excluded-folder": "폴더 제외", "label-add-excluded-folder-desc": "기존에 존재하는 폴더와 아직 생성하지 않은 폴더를 모두 제외시킬 수 있습니다.", "tooltip-remove-excluded-folder": "제외하는 목록에서 제거", "label-setup-connection": "연결 설정", "label-connecting-to-vault": "연결 중...", "label-connection-failed": "연결 실패", "label-connection-failed-desc": "원격 보관함에 접속하지 못했음.", "label-now-connected-to-vault": "현재 \"{{name}}\" 에 연결되어 있습니다.", "button-start-syncing": "동기화 시작", "label-confirm-merge-vault": "보관함 병합 확인", "msg-vault-has-notes": "로컬 보관함에 이미 노트가 존재합니다.", "msg-vault-merge-warning": "원격 보관함 \"{{name}}\" 에 연결하면 로컬 보관함에 있는 노트들이 원격 보관함의 노트들과 병합됩니다. 충돌이 발생할 경우에는 최신 버전의 노트가 유지됩니다.", "tooltip-update-setting-on-all-devices": "이 옵션을 업데이트하고 변경 사항을 확인하려는 모든 기기에서 앱을 재시작해 주세요.", "label-sharing-with-users": "해당 원격 보관함을 현재 다음 사용자들과 공유하고 있습니다.", "label-not-sharing": "해당 원격 보관함을 현재 누구와도 공유하지 않고 있습니다.", "label-vaults-shared-with-you": "공유하고 있는 보관함", "tooltip-leave-vault-sharing": "해당 보관함에서 공동 작업 중지", "label-leave-vault-confirmation": "보관함 공동 작업 중지 확인", "label-leave-vault-confirmation-details": "이 보관함을 공유하는 보관함 목록에서 제거합니다. 이 작업은 되돌릴 수 없습니다.", "label-leave-vault-confirmation-details-2": "해당 보관함에서 공동 작업을 다시 시작하고 싶다면 보관함 소유자에게 문의해주세요.", "button-leave": "떠나기", "msg-error-failed-to-fetch": "원격 보관함을 불러오지 못했음.", "label-require-subscription-to-connect": "해당 보관함에 연결하려면 Obsidian Sync 구독이 필요합니다.", "option-contact-support": "지원팀에 문의하기", "option-contact-support-desc": "Obsidian Sync 사용하다가 문제가 발생했다면, 문의하여 도움을 받아보세요! support@obsidian.md 로 이메일을 보내주시면 됩니다.", "button-copy-debug": "디버그 정보 복사", "button-email-support": "이메일 지원", "label-sync-disconnected": "Sync가 원격 보관함에 연결돼 있지 않습니다.", "msg-remote-vault-limit-hit": "Obsidian Sync로 최대 5개의 보관함을 생성할 수 있습니다. 새 원격 보관함을 생성하려면 기존에 있는 보관", "label-upgrade-vault": "보관함 업그레이드하기", "label-upgrade-vault-encryption": "보관함 암호화 업그레이드하기", "label-upgrade-vault-encryption-desc": "원격 보관함에 이용할 수 있는 새 버전의 암호화가 존재합니다.", "label-migrate-remote-vault": "원격 보관함 이동시키기", "label-remote-vault-configuration": "원격 보관함 설정", "button-migrate": "이동시키기", "msg-recreate-remote-vault": "현재 원격 보관함이 삭제되고 제일 최신인 암호화로 재생성됩니다. 로컬 파일들은 영향을 받지 않지만 버전 기록은 사라집니다.", "label-confirm-migrate": "보관함 이동 확인하기", "msg-migrate-pre-confirmation-part1": "암호화를 업그레이드하기 위해 보관함의 모든 데이터가 새로운 암호화 수단을 사용하여 Obsidian Sync 서버로 재업로드 됩니다. 이 처리는 보관함의 버전 기록을 포함하여 기존 암호화로 암호화된 모든 데이터를 영구적으로 제거합니다.", "msg-migrate-pre-confirmation-part2": "중요: 잠재적인 데이터 유실을 방지하기 위해 진행 전 보관함을 백업할 것을 강력히 권장합니다.", "msg-migrate-pre-confirmation-part3": "업그레이드를 완료한 이후, 모든 기기를 업데이트된 원격 보관함과 재연결해야 합니다.", "msg-migrate-confirmation": "보관함을 이동시키는 작업이 어느 정도 시간을 소요할 수도 있습니다. 모든 노트와 첨부 파일들을 재업로드 하기 위해서 Obsidian을 켜둔 상태로 유지해야 합니다. 주로 사용하는 기기에서 하는 것이 가장 좋습니다.", "msg-migrate-confirmation-size": "{{size}} 크기의 데이터를 가지고 있습니다. 보관함을 이동시키는 작업이 어느 정도 시간을 소요할 수도 있습니다. 모든 노트와 첨부 파일들을 재업로드 하기 위해서 Obsidian을 켜둔 상태로 유지해야 합니다. 주로 사용하는 기기에서 하는 것이 가장 좋습니다.", "msg-proceed-prompt": "계속 진행하시겠습니까?", "msg-vault-migration-started": "보관함 이동 진행 중." }, "file-recovery": { "name": "파일 복원", "desc": "예기치 않은 데이터 손실에서 복구하기 위해 최근 스냅샷을 복원할 수 있습니다. 스냅샷은 마크다운 파일에만 저장됩니다.", "action-open": "저장된 스냅샷 열기", "option-interval": "스냅샷 간격", "option-interval-description": "두 개의 스냅샷 사이의 분 단위의 최소 간격.", "option-keep": "기록 기간", "option-keep-description": "스냅샷이 보존되는 일수입니다.", "option-open-history": "스냅샷", "option-open-history-description": "저장된 스냅샷을 보고 복원합니다.", "button-view-history": "View", "option-clear": "기록 지우기", "option-clear-description": "모든 스냅샷을 제거합니다.", "button-clear-history": "지우기", "label-clear-warning": "모든 스냅샷을 삭제하시겠습니까? 스냅샷만 삭제됩니다. 보관함의 파일에는 영향을 주지 않습니다.", "msg-clear-complete": "스냅샷이 지워졌습니다.", "label-no-history-found": "스냅샷을 찾을 수 없습니다.", "placeholder-choose-file": "파일 선택...", "label-select-file": "스냅샷을 보려면 왼쪽에서 파일을 선택하세요." }, "note-composer": { "name": "노트 작성기", "desc": "노트를 통합하고 분할하고 리팩토링합니다.", "option-confirm-file-merge": "파일 병합 확인", "option-confirm-file-merge-description": "두 파일을 병합하기 전에 확인 메세지를 띄웁니다.", "option-split-replacement-text": "추출 후 텍스트", "option-split-replacement-text-description": "추출 작업 이후 선택한 텍스트 영역에 표시할 내용.", "option-choice-split-replacement-text-link": "새 파일에 링크", "option-choice-split-replacement-text-embed": "새 파일 임베드", "option-choice-split-replacement-text-none": "없음", "option-template-file": "템플릿 파일 위치", "option-template-file-description": "통합 또는 추출에 사용할 템플릿 파일. 사용 가능한 변수: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}} (예시: {{date:YYYY-MM-DD}})", "command-merge-file": "현재 파일을 다음 파일로 합치기...", "action-merge-file": "전체 파일을 다음으로 합치기...", "label-no-files": "파일을 찾을 수 없습니다.", "instruction-navigate": "선택하기", "instruction-merge": "병합하기", "instruction-create-new": "새로 생성하기", "instruction-merge-at-top": "최상단에 병합하기", "instruction-dismiss": "닫기", "prompt-select-file-to-merge": "병합할 파일 선택...", "label-merge-file": "파일 병합", "label-confirm-file-merge": "정말로 \"{{file}}\" 을(를) \"{{destination}}\" 에 병합하시겠습니까? \"{{file}}\" 이(가) 삭제됩니다.", "button-merge": "병합", "command-split-file": "현재 선택 영역 추출...", "command-extract-heading": "현재 제목 추출...", "instruction-append": "노트 최하단으로 이동", "instruction-prepend": "노트 최상단으로 이동", "msg-fail-to-fetch-template": "템플릿 파일을 가져오지 못했습니다: \"{{template}}\"을(를) 찾지 못했습니다.", "msg-fail-to-find-heading": "제목을 찾지 못했습니다." }, "web-viewer": { "name": "웹 뷰어", "history-name": "웹 사용 기록", "desc": "Obsidian 내에서 외부 웹 페이지 링크를 엽니다.", "action-open": "웹 뷰어 열기", "action-show-history": "기록 표시", "action-toggle-reader-mode": "읽기 모드 켜기/끄기", "action-copy-u-r-l": "URL 복사", "action-remove-from-history": "기록에서 지우기", "action-clear-history": "기록 지우기", "action-open-link": "링크 열기", "action-open-link-new-tab": "새 탭에서 링크 열기", "action-open-link-new-split": "오른쪽에 링크 열기", "action-open-link-new-window": "새 창에서 링크 열기", "action-open-link-default-browser": "기본 브라우저에서 링크 열기", "action-open-link-web-viewer": "웹 뷰어에서 링크 열기", "action-copy-link-address": "링크 주소 복사", "action-bookmark-link": "북마크 링크", "action-search-for-query": "“{{query}}” 검색어로 검색하기", "action-extract-selection": "선택한 내용을 새 노트로 추출하기", "action-copy-selection": "복사", "action-cut": "자르기", "action-paste": "붙여놓기", "action-delete": "삭제", "action-select-all": "모두 선택", "action-save-to-vault": "보관함에 저장", "action-save-image": "이미지 보관함에 저장", "action-copy-image": "이미지 복사", "action-copy-image-link": "이미지 링크 복사", "action-backward": "뒤로", "action-forward": "앞으로", "action-reload": "새로고침", "action-bookmark-page": "북마크 페이지", "action-open-default-browser": "기본 브라우저에서 열기", "action-focus-address-bar": "주소 바에 포커스", "action-search-the-web": "웹에서 검색", "action-clear-data": "데이터 지우기", "action-clear-data-cookies": "쿠키", "action-clear-data-cookies-desc": "웹사이트들에서 로그아웃 될 수도 있습니다.", "action-clear-data-cache": "캐시 데이터", "action-clear-data-history": "기록", "action-clear-data-all": "모든 웹 뷰어 데이터", "action-clear-data-all-desc": "로컬 저장소와 활성 세션들과 함께 위 모든 항목을 지웁니다.", "label-new-web-viewer": "새 웹 뷰어", "label-fail-to-load": "해당 웹사이트를 로드할 수 없음.", "label-fail-to-load-desc": "정확한 주소를 입력했는지 다시 확인해주세요.", "label-search-the-web": "웹에서 검색", "label-web-viewer-data": "웹 뷰어 데이터", "label-clear-data": "웹 뷰어 데이터 지우기", "option-open-external-links": "외부 링크 열기", "option-open-external-links-desc": "시스템 기본 브라우저 대신 Obsidian에서 링크 열기.", "option-homepage": "홈페이지", "option-homepage-desc": "웹 뷰어가 열려있을 때 표시할 페이지", "option-saved-markdown": "저장된 페이지 폴더", "option-saved-markdown-desc": "마크다운으로 저장된 웹사이트들이 이곳에 저장됩니다.", "option-search-engine": "검색 엔진", "option-search-engine-desc": "검색바에서 검색할 때 사용할 검색 엔진.", "option-search-engine-custom": "커스텀 검색 엔진", "option-search-engine-custom-desc": "검색어가 들어갈 자리에 %s (을)를 사용.", "option-search-engine-custom-drop-down": "zj", "option-enable-adblock": "광고 차단 활성화하기", "option-enable-adblock-desc": "활성화된 경우, 아래 필터 목록이 모든 웹 뷰어 탭들에 적용됩니다.", "option-adblock-lists": "광고 차단 규칙", "option-adblock-lists-desc": "각 줄마다 광고 차단 목록 URL을 하나씩 기재함. 모든 보관함이 이 설정값을 공유함.", "option-adblock-frequency": "광고 차단 업데이트 간격", "option-adblock-frequency-desc": "필터 목록을 업데이트하는 일 간격. 0은 비활성화를 나타냄. 모든 보관함이 이 설정값을 공유함.", "title-clear-data-modal": "웹 뷰어 데이터 지우기", "msg-error-extracting-content": "내용 추출 중 예상치 못한 에러가 발생함.", "msg-error-finding-content": "추출할 내용을 찾지 못했음." }, "canvas": { "name": "캔버스", "desc": "무한한 캔버스에서 노트를 배치하고 연결해보세요.", "action-add-note": "보관함의 노트 추가", "action-add-media": "보관함의 미디어 추가", "action-add-card": "카드 추가", "action-add-website": "웹페이지 추가", "action-create-group": "그룹 생성", "action-create-with-size": "특정 크기로 카드 생성", "action-convert-to-file": "파일로 변환...", "action-drag-to-add-note": "드래그로 보관함의 노트 추가", "action-drag-to-add-media": "드래그로 보관함의 미디어 추가", "action-drag-to-add-card": "드래그로 카드 추가", "action-edit-label": "라벨 수정", "action-remove-label": "라벨 제거", "action-search-file": "파일 찾기", "action-set-color": "색상 설정", "action-align": "정렬", "action-align-left": "왼쪽 정렬", "action-align-center": "수평 중앙 정렬", "action-align-right": "오른쪽 정렬", "action-align-top": "위로 정렬", "action-align-middle": "수직 중앙 정렬", "action-align-bottom": "아래쪽 정렬", "action-distribute-horizontal-spacing": "수평 균등 배치", "action-distribute-vertical-spacing": "수직 균등 배치", "action-justify-horizontally": "너비 일치", "action-justify-vertically": "높이 일치", "action-arrange-horizontally": "수평으로 배열", "action-arrange-vertically": "수직으로 배열", "action-arrange-grid": "그리드로 배열", "action-export-png": "이미지로 내보내기", "action-jump-to-group": "그룹으로 이동", "action-set-background": "배경 설정", "action-edit-background": "배경 수정", "action-replace-background": "배경 바꾸기", "action-remove-background": "배경 제거", "label-no-images": "이미지를 찾지 못했습니다.", "label-no-media": "No media found.", "label-export-png-desc": "아래 설정으로 \"{{title}}\" 라는 이름의 PNG 파일을 내보냅니다.", "label-export-png-dimensions": "추정 이미지 크기: {{dimensions}}", "label-distribute": "균등 배치", "label-justify": "일치", "label-arrange": "배열", "label-always": "항상", "label-hover": "마우스 오버 시", "label-never": "없음", "label-no-section-found": "영역을 찾지 못했습니다.", "option-wheel-behavior": "마우스 휠 기본 동작", "option-mod-drag-behavior": "기본 {{key}} 동작", "option-show-menu": "메뉴 표시", "option-new-canvas-location": "새 캔버스 파일 기본 생성 위치", "option-new-canvas-location-description": "새 캔버스 파일이 생성되는 위치입니다.", "option-new-canvas-folder-path": "새 캔버스 파일이 생성될 폴더", "option-new-canvas-folder-path-description": "새롭게 생성되는 캔버스 파일이 이 폴더 아래에 나타납니다.", "option-node-label": "카드 라벨 표시", "option-snap-to-grid": "그리드에 맞추기", "option-snap-to-grid-desc": "이동하거나 크기 조정 시 카드를 격자에 맞춥니다.", "option-snap-to-objects": "개체에 맞추기", "option-snap-to-objects-desc": "이동하거나 크기 조정 시 카드를 주변의 개체에 맞춥니다.", "option-zoom-breakpoint": "카드 내용 숨김 시작점", "option-zoom-breakpoint-desc": "값이 낮을수록 성능이 개선되나, 축소 시 카드 내용이 더 빨리 사라집니다.", "option-export-png-show-logo": "로고 표시", "option-export-png-show-logo-desc": "Obsidian 로고가 좌측 하단에 추가됩니다", "option-export-png-privacy-mode": "사생활 보호 모드", "option-export-png-privacy-mode-desc": "캔버스의 모든 글자를 가립니다.", "option-export-png-zoom": "확대/축소", "option-export-png-zoom-desc": "더 확대할수록 이미지의 해상도가 높아집니다", "option-export-png-frame": "뷰포트", "option-export-png-frame-desc": "캔버스 전체를 렌더할지 보이는 뷰포트 영역만 렌더할지 여부를 결정합니다.", "option-export-png-frame-full": "캔버스 전체", "option-export-png-frame-viewport": "뷰포트만", "option-background-cover": "커버", "option-background-ratio": "종횡비 유지", "option-background-repeat": "반복", "action-new-canvas": "새 캔버스", "action-remove": "제거", "action-narrow-heading": "제목으로 좁히기...", "action-narrow-block": "블럭으로 좁히기...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "파일 바꿔치기...", "action-change-url": "URL 변경...", "action-zoom-to-fit": "화면 맞춤 확대", "action-zoom-to-selection": "선택 맞춤 확대", "action-reload-page": "페이지 새로고침", "action-follow-connection": "연결 뒤따라가기", "command-create-new-canvas": "새 캔버스 만들기", "command-convert-to-file": "파일로 변환...", "instruction-narrow-heading": "제목 임베드하기", "instruction-narrow-block": "블럭 임베드하기", "instruction-jump-to-group": "그룹으로 이동하기", "prompt-to-narrow": "제목을 입력하세요", "label-enter-url": "URL을 입력하세요", "label-empty-embed": "\"{{linktext}}\" 를 찾지 못했습니다.", "prompt-add-text": "텍스트 추가...", "prompt-start-search": "검색어를 입력하세요...", "label-canvas-help": "캔버스 도움말", "label-canvas-settings": "캔버스 설정", "label-no-narrow": "전체 파일 보기", "label-show-default-view": "Show default view", "label-readonly": "읽기 전용", "label-disable-readonly": "읽기 전용 비활성화", "label-pan": "이동", "label-pan-horizontal": "수평 이동", "label-zoom": "확대/축소", "label-select-all": "전체 선택", "label-add-remove-selection": "선택 추가 및 제거", "label-clone-card": "카드 복제", "label-constrain-movement-axis": "이동 축 제한", "label-disable-drag-snapping": "드래그 중 스내핑 비활성화", "label-remove-card": "카드 제거", "label-drag-from-below": "아래에서 드래그하거나 더블클릭", "label-longpress": "터치하고 길게 눌러 추가 / 이동 / 선택", "label-drag-pan": "드래그하여 이동", "label-pinch-zoom": "핀치하여 확대/축소", "label-space-drag-pan": "스페이스 + 드래그로 이동", "label-scroll-to-zoom": "스크롤하여 확대/축소", "label-untitled-group": "무제 그룹", "label-line-direction": "선 방향", "label-nondirectional": "무방향", "label-unidirectional": "단방향", "label-bidirectional": "양방향", "label-image": "이미지", "label-style": "스타일", "msg-no-groups-found": "그룹을 찾지 못함", "msg-export-failed-empty-canvas": "빈 캔버스는 내보낼 수 없습니다", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "베이스", "desc": "노트 속성을 쿼리하여 베이스를 생성해보세요.", "action-new-base": "새 베이스", "action-add-property": "속성 추가하기", "action-add-formula": "Add formula", "action-hide-all": "모두 가리기", "action-toggle-visibility": "표시 켜기/끄기", "action-delete-property": "속성 삭제하기", "action-duplicate-view": "뷰 복제하기", "action-delete-view": "뷰 제거하기", "action-export-c-s-v": "Export CSV...", "command-create-new": "새 베이스 생성하기", "command-insert-new": "새 베이스 삽입하기", "command-copy-table": "표를 클립보드에 복사하기", "command-change-view": "뷰 변경하기", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "계산된 속성", "label-property-type": "속성 유형", "label-hide-property": "속성 가리기", "label-show-property": "속성 보이기", "label-edit-property": "속성 편집", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "뷰 설정", "label-view-layout": "레이아웃", "label-global-filters": "전역 필터", "label-view-filters": "뷰 필터", "label-view-name": "뷰 이름", "label-default-view": "뷰", "label-view-type-table": "표", "label-display-name": "Display name", "label-formula": "수식", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "다음 중 하나 이상이 참임", "label-all-the-following": "다음 중 전체가 참임", "label-none-of-the-following": "다음 중 참인 것이 존재하지 않음", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "속성", "label-untitled-property": "무제", "label-file-prop-file": "파일", "label-file-prop-name": "이름", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "경로", "label-file-prop-folder": "폴더", "label-file-prop-ext": "확장자", "label-file-prop-ctime": "생성된 시간", "label-file-prop-mtime": "수정된 시간", "label-file-prop-size": "파일 크기", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "이 필터는 간단한 필터 빌더로 나타낼 수 없습니다.", "msg-filter-cannot-parse": "필터를 읽어들일 수 없습니다. 간단한 필터 빌더가 사용될 수 없습니다.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "베이스 뷰 \"{{ viewID }}\" (을)를 추가하지 못했습니다. 이 ID를 가진 뷰가 이미 존재합니다.", "msg-error-unable-to-parse": "베이스 파일을 읽어들일 수 없음:", "msg-error-view-not-found": "뷰 \"{{ view }}\" 을(를) 찾을 수 없음", "msg-error-unknown-view-type": "알 수 없는 뷰 타입으로 뷰가 설정됨 {{ viewtype }}", "msg-error-view-type": "뷰는 반드시 배열이어야 함", "msg-error-display-values": "표시 값은 반드시 문자열이어야 합니다. 속성 {{ key }} 의 값은 문자열이 아닙니다.", "msg-error-must-be-a-type": "\"{{ key }}\" 은(는) 반드시 {{ type }} 타입이어야 함", "msg-error-filter-type": "\"필터\" 는 반드시 문자열이거나 객체이어야 함", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" 필터는 반드시 배열이어야 함", "msg-error-filter-allowed-keys": "\"필터\" 는 \"and\", \"or\", or \"not\" 키중 하나만을 가질 수 있습니다.", "msg-error-filter-failed-to-evaluate": "필터를 계산하지 못함: {{ message }}", "msg-error-formula-values": "수식은 반드시 문자열이어야 함. 속성 {{ key }} 의 값은 문자열이 아님.", "msg-error-computed-failed-to-compute": "속성 \"{{ key }}\" 의 값을 계산하지 못함: {{ message }}", "msg-error-invalid-query-format": "쿼리문의 형태가 유효하지 않습니다. 쿼리문은 YAML 객체이어야 합니다.", "msg-error-view-invalid-format": "\"뷰\" 항목은 반드시 YAML 객체이어야 하지만 항목 {{ index }} (은)는 그렇지 않음", "msg-error-view-name-invalid": "뷰 {{ index }} 에서 \"이름\"이 없거나 유효하지 않음", "msg-error-view-missing-required-key": "뷰 \"{{ viewName }}\" 에서 \"{{ key }}\" (이)가 필요함", "msg-error-view-incorrect-type": "\"{{ key }}\" 는 반드시 뷰 \"{{ viewName }}\" 의 {{ type }} 이어야 함", "msg-error-view-incorrect-value-type": "\"{{ key }}\" 값들은 모두 반드시 뷰 \"{{ viewName }}\" 의 {{ type }} 유형이어야 함", "msg-error-view-parsing-filters": "뷰 \"{{ viewName }}\" 의 필터를 읽어들이지 못함: {{ message }}", "msg-error-infinite-loop": "수식에서 무한 루프가 감지됨", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "고급 필터", "tooltip-filter-simple-mode": "간단한 필터", "tooltip-remove-filter": "필터 삭제하기", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "열 가리기", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "모두 하이라이트하기", "action-match-diacritics": "다이어크리틱 일치시키기", "action-whole-words": "완전한 단어들", "action-show-thumbnails": "미리보기 이미지", "action-show-outline": "목차", "action-reveal-in-outline": "페이지를 목차에 표시하기", "action-toggle-sidebar": "사이드바 활성화/비활성화", "action-previous-page": "이전 페이지", "action-next-page": "다음 페이지", "action-fit-width": "너비 맞추기", "action-fit-height": "높이 맞추기", "action-save-p-d-f-location": "현재 문서 위치 저장하기", "action-copy-annotation": "주석 복사", "action-copy-quote": "인용으로 복사", "action-copy-selection-link": "선택한 내용을 가리키는 링크 복사", "action-copy-annot-link": "주석을 가리키는 링크 복사", "action-copy-section-link": "영역을 가리키는 링크 복사", "action-copy-section-link-title": "“{{title}}” 을 가리키는 링크 복사", "action-copy-page-link": "페이지 {{page}}를 가리키는 링크 복사", "msg-max-search-results": "{{limit}}개 이상 중 {{limit}}개 일치함", "msg-search-count": "{{current}}개 중 {{total}}개 일치함", "msg-search-count_plural": "{{total}}개 중 {{current}}개 일치함", "msg-password-protected": "이 PDF는 비밀번호로 보호되어 있습니다.", "msg-invalid-password": "비밀번호가 일치하지 않습니다", "msg-enter-password": "아래에 비밀번호를 입력해 주세요", "label-of-pages": "/ {{count}}", "label-page-of-pages": "({{current}} / {{count}})", "label-spread-single": "한 페이지", "label-spread-odd": "두 페이지 (홀수)", "label-spread-even": "두 페이지 (짝수)", "tooltip-sidebar-options": "사이드바 옵션", "tooltip-display-options": "옵션 표시", "label-adapt-to-theme": "테마에 색 맞추기", "label-page": "페이지 {{page}}", "page_landmark": "페이지 {{page}}", "thumb_page_title": "페이지 {{page}}", "thumb_page_canvas": "페이지 {{page}}", "text_annotation_type": "[{{type}} 주석]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "목록", "option-unknown": "알수없음", "option-text": "텍스트", "option-aliases": "별칭", "option-tags": "태그", "option-folder": "Folder", "option-file": "File", "option-date": "날짜", "option-datetime": "날짜 및 시간", "option-number": "숫자", "option-checkbox": "체크박스" }, "value-suggestion": { "key-link-note": "유형 [[", "instruction-link-note": "노트 링크하기", "instruction-dismiss": "닫기" }, "option-property-type": "속성 유형", "msg-empty-property-name": "속성 이름은 비어있을 수 없습니다.", "msg-duplicate-property-name": "속성 이름이 이미 존재합니다", "msg-invalid-tag": "유효하지 않은 태그 이름", "msg-invalid-number": "유효하지 않은 이름", "msg-invalid-properties": "속성을 읽지 못했습니다.", "label-no-value": "값 없음", "label-heading": "속성", "label-invalid-heading": "유효하지 않은 속성", "label-show-source": "원본 표시", "label-invalid-yaml-marker": "문법 오류. Frontmatter가 유효하지 않습니다.", "label-add-property-button": "속성 추가", "label-type-mismatch-warning": "유형이 일치하지 않습니다. {{type}}가 예상됩니다.", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "열", "label-row": "행", "action-row-after": "뒤에 행 추가하기", "action-column-after": "뒤에 열 추가하기", "action-row-before": "앞에 행 추가하기", "action-row-up": "행 위로 이동하기", "action-row-down": "행 아래로 이동하기", "action-column-before": "앞에 열 추가하기", "action-column-left": "열 왼쪽으로 옮기기", "action-column-right": "열 오른쪽으로 옮기기", "action-duplicate-row": "행 복제하기", "action-duplicate-column": "열 복제하기", "action-delete-row": "행 제거하기", "action-delete-column": "열 제거하기", "action-align-left": "왼쪽 정렬", "action-align-center": "중앙 정렬", "action-align-right": "오른쪽으로 정렬", "action-delete-selection": "셀 제거", "action-clear-selection": "셀 지우기", "action-sort-a-z": "열로 순서 정렬하기 (A to Z)", "action-sort-z-a": "열로 순서 정렬하기 (Z to A)", "label-command": "표: {{command}}" }, "callout": { "option-type": "콜아웃 유형", "type": { "info": "정보", "important": "중요", "tip": "팁", "success": "성공", "question": "질문", "warning": "경고", "quote": "인용", "example": "예시", "none": "None" }, "option-other": "기타...", "option-other-placeholder": "콜아웃 유형..." }, "nouns": { "count": "{{count}}개", "word-with-count": "{{count}}개 단어", "word-with-count_plural": "{{count}}개 단어", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}}개 문자", "character-with-count_plural": "{{count}}개 문자", "link-with-count": "{{count}}개 링크", "link-with-count_plural": "{{count}}개 링크", "file-with-count": "{{count}}개 파일", "file-with-count_plural": "{{count}}개 파일", "folder-with-count": "{{count}}개 폴더", "folder-with-count_plural": "{{count}}개 폴더", "backlink-with-count": "{{count}}개 백링크", "backlink-with-count_plural": "{{count}}개 백링크", "tabs-with-count": "{{count}}개 탭", "tabs-with-count_plural": "{{count}}개 탭", "properties-with-count": "{{count}}개 속성", "properties-with-count_plural": "{{count}}개 속성", "site-with-count": "{{count}}개 사이트", "site-with-count_plural": "{{count}}개 사이트", "plugin-with-count": "{{count}}개 플러그인", "plugin-with-count_plural": "{{count}}개 플러그인", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}}개 테마", "theme-with-count_plural": "{{count}}개 테마" } }{ "setting": { "options": "Opcijas", "plugin": "Spraudnis", "builtin-plugins": "Pamatspraudņi", "plugin-options": "Spraudņu opcijas", "folder-path-example-placeholder": "Piemērs: mape 1/mape 2", "file-path-example-placeholder": "Piemērs: mape/piezīme", "msg-restart-required": "Šīs opcijas maiņa prasa restartu, lai stātos spēkā.", "editor": { "name": "Redaktors", "section-behavior": "Uzvedība", "section-display": "Attēlošana", "option-spellcheck": "Pareizrakstības pārbaude", "option-spellcheck-description": "Ieslēdz pareizrakstības pārbaudītāju. Pašlaik darbojas tikai angļu valodā (ASV).", "spellcheck-languages": "Pareizrakstības pārbaudes valodas", "spellcheck-languages-description": "Izvēlies valodas, kuras izmantot pareizrakstības pārbaudītājā.", "spellcheck-languages-mac-description": "Vietējais pareizrakstības pārbaudītājs automātiski noteiks izmantoto valodu macOS.", "spellcheck-dict": "Pareizrakstības vārdnīca", "spellcheck-dict-empty": "Pareizrakstības vārdnīca ir tukša.", "option-show-inline-title": "Rādīt virsrakstu iekšēji", "option-show-inline-title-description": "Rāda faila nosaukumu kā rediģējamu virsrakstu vienā līmenī ar faila saturu.", "option-readable-line-length": "Lasāms rindu garums", "option-readable-line-description": "Ierobežo maksimālo rindu garumu. Tas padara garus rindkopas vieglāk lasāmus, bet uz ekrāna redzams mazāk satura.", "option-strict-line-break": "Stingri rindas pārtraukumi", "option-strict-line-break-description": "Priekšskatījuma režīmā ignorē vienrindu pārtraukumus saskaņā ar Markdown specifikācijām. Izslēdz to, lai vienrindu pārtraukumi tiktu parādīti priekšskatījumā.", "option-properties-in-document": "Īpašības dokumentā", "option-properties-in-document-description": "Izvēlies, kā īpašības tiek attēlotas redaktorā. Izvēlies \"avots\", lai īpašības tiktu attēlotas kā YAML.", "option-properties-hidden": "Slēpts", "option-properties-visible": "Redzams", "option-properties-source": "Avots", "option-auto-pair-brackets": "Automātiski pārīt iekavas", "option-auto-pair-brackets-description": "Automātiski pārīt iekavas un pēdiņas.", "option-auto-pair-markdown": "Automātiski pārīt Markdown sintaksi", "option-auto-pair-markdown-description": "Automātiski pārīt simbolus treknrakstam, slīprakstam, izcēlumam, pārsvītrojumam un kodam.", "option-smart-indent-lists": "Gudra sarakstu atkāpe", "option-smart-indent-lists-description": "Automātiski parūpējas par atkāpi un saraksta marķējumu.", "option-fold-heading": "Salocīt virsrakstu", "option-fold-heading-description": "Ļauj salocīt visu, kas ir zem virsraksta.", "option-fold-indent": "Salocīt atkāpi", "option-fold-indent-description": "Ļauj salocīt to pašu atkāpi, piemēram, sarakstus.", "option-default-new-tab-view": "Noklusējuma skats jaunām cilnēm", "option-default-new-tab-view-description": "Noklusējuma skats, kurā tiek atvērta jauna Markdown cilne.", "option-default-new-tab-view-editing": "Rediģēšanas skats", "option-default-new-tab-view-reading": "Lasīšanas skats", "option-open-tab-in-foreground": "Vienmēr fokusēt jaunas cilnes", "option-open-tab-in-foreground-description": "Atverot saiti jaunā cilnē, nekavējoties pārslēgties uz to.", "option-default-editing-mode": "Noklusējuma rediģēšanas režīms", "option-default-editing-mode-description": "Noklusējuma rediģēšanas režīms, ar kuru tiks atvērts jauns panelis.", "option-default-editing-mode-source": "Avota režīms", "option-default-editing-mode-live-preview": "Tiešs priekšskatījums", "option-show-line-number": "Rādīt rindu numurus", "option-show-line-number-description": "Rādīt rindu numurus malā.", "option-indentation-guide": "Rādīt atkāpes vadlīnijas", "option-indentation-guide-description": "Rāda vertikālās saistības līnijas starp aizzīmēm vizuālai orientācijai.", "option-use-tabs": "Izmantot cilnes", "option-use-tabs-description": "Izmantot cilnes, lai veiktu atkāpi, nospiežot \"Tab\" taustiņu. Izslēdz to, lai izmantotu atstarpes.", "option-tab-size": "Cilnes izmērs", "option-tab-size-description": "Atstarpu skaits, kam cilne ir ekvivalenta.", "option-rtl": "No labās uz kreiso (RTL)", "option-rtl-description": "Iestata teksta virzienu piezīmēm no labās uz kreiso pusi.", "option-auto-convert-html": "Automātiski pārveidot HTML", "option-auto-convert-html-description": "Automātiski pārveido HTML uz Markdown, kopējot vai pārvietojot no tīmekļa lapām. Izmanto Ctrl/Cmd+Shift+V, lai ielīmētu bez konvertēšanas.", "option-vim-key-bindings": "Vim taustiņu saites", "option-vim-key-bindings-description": "Ļauj izmantot Vim taustiņu saites avota redaktorā.", "option-vim-key-bindings-mobile": "Mobilajās ierīcēs šis iestatījums ir atsevišķs katrai ierīcei un netiek sinhronizēts caur konfigurācijas failu.", "option-reindex-vault": "Pārbūvēt krātuves kešatmiņu", "option-reindex-vault-description": "Kešatmiņas pārbūve var ilgt no dažām sekundēm līdz dažām minūtēm atkarībā no jūsu krātuves lieluma.", "label-reindex": "Pārbūvēt", "label-confirm-enable-vim": "Apstiprināt iekļūšanu Vim režīmā", "label-vim-warning": "Vim režīms ir paredzēts efektīvai teksta rediģēšanai, bet var šķist intuitīvs. Ja neesi pazīstams ar Vim, šī opcija var likt izskatīties, ka Obsidian ir pārstājis darboties.", "label-vim-test": "Lai pārbaudītu, vai zini savu ceļu Vim, lūdzu, ievadi komandu, lai izietu no Vim bez saglabāšanas:", "label-vim-your-answer": "Tava atbilde", "placeholder-enter-command": "Ievadi komandu...", "button-confirm-enable-vim": "Ļauj man ieslēgt Vim", "msg-vim-mode-enabled": "Komanda ir pareiza. Vim režīms tagad ir ieslēgts.", "msg-vim-mode-not-enabled": "Komanda ir nepareiza. Vim režīms paliek atspējots, lai tevi aizsargātu.", "msg-vim-mode-please-enter-command": "Lūdzu, ievadi komandu, lai iespējotu Vim režīmu" }, "file": { "name": "Faili un saites", "option-confirm-file-deletion": "Apstiprināt faila dzēšanu", "option-confirm-file-deletion-description": "Vai vēlaties iegut apstiprinājumu pirms faila dzēšanas.", "option-delete-destination": "Dzēstie faili", "option-delete-destination-description": "Ko darīt ar failiem pēc to dzēšanas.", "option-choice-system-trash": "Pārvietot uz sistēmas atkritni", "option-choice-vault-trash": "Pārvietot uz Obsidian atkritni (.trash mape)", "option-choice-permanent-delete": "Pastāvīga dzēšana", "option-always-update-links": "Vienmēr atjaunināt iekšējās saites", "option-always-update-links-description": "Vai automātiski atjaunināt saites pēc faila pārdēvēšanas vai lūgt apstiprinājumu.", "option-new-note-location": "Jaunas piezīmes noklusējuma atrašanās vieta", "option-new-note-location-description": "Kur ievietot tikko izveidotas piezīmes. Spraudņu iestatījumi pārrakstīs šo.", "option-choice-vault-root": "Krātuves sakne", "option-choice-current-folder": "Tajā pašā mapē, kur fails", "option-choice-specified-folder": "Norādītajā mapē zemāk", "option-new-file-folder-path": "Mape, kurā izveidot jaunas piezīmes", "option-new-file-folder-path-description": "Jaunizveidotās piezīmes parādīsies šajā mapē. Spraudņu iestatījumi pārrakstīs šo.", "option-use-wiki-links": "Izmantot [[Vikilinkus]]", "option-use-wiki-links-description": "Automātiski ģenerēt Vikilinkus priekš [[saitēm]] un ![[attēliem]] Markdown vietā. Izslēdziet šo opciju, lai izmantotu Markdown saites.", "option-show-unsupported-files": "Atpazīt visus failu paplašinājumus", "option-show-unsupported-files-description": "Rādīt failus ar jebkuru paplašinājumu, pat ja Obsidian tos nevar atvērt vietēji, lai jūs varētu uz tiem izveidot saites un redzēt tos Failu pārlūkā un Ātrajā pārslēdzējā.", "option-link-autocompleted-format": "Jaunas saites formāts", "option-link-autocompleted-format-description": "Kādas saites ievietot, automātiski ģenerējot iekšējās saites.", "option-choice-shortest-linktext": "Īsākais ceļš, ja iespējams", "option-choice-relative-path": "Relatīvais ceļš uz failu", "option-choice-absolute-path": "Absolūtais ceļš krātuvē", "option-new-attachment-location": "Noklusējuma vieta jaunām pielikumam", "option-new-attachment-location-description": "Kur tiks ievietoti tikko pievienotie pielikumi.", "option-new-attachment-location-default": "piedevas", "option-choice-subdirectory": "Apakšmapē zem pašreizējās mapes", "option-attachment-folder-path": "Pielikumu mapes ceļš", "option-attachment-folder-path-description": "Jaunizveidotie pielikumu faili parādīsies šeit. Tas attiecas uz attēliem, kas izveidoti, velkot un nometot, vai ielīmējot, un audio ierakstiem.", "option-attachment-subfolder-path": "Apakšmapes nosaukums", "option-attachment-subfolder-path-description": "Ja jūsu fails ir zem \"vault/folder\", un jūs iestatāt apakšmapes nosaukumu uz \"attachments\", tad pielikumi tiks saglabāti \"vault/folder/attachments\".", "option-excluded-files": "Izslēgtie faili", "option-excluded-files-desc": "Izslēgtie faili tiks vai nu paslēpti, vai mazāk pamanāmi dažādās vietās, piemēram, Ātrajā pārslēdzējā, saišu ieteikumos un Grafika skatā.", "label-no-excluded-filters-applied": "Pašlaik nav piemērots neviens izslēgšanas filtrs. Pievienojiet vienu zemāk.", "label-excluded-filters-applied": "Faili, kas atbilst šādiem filtriem, pašlaik ir izslēgti:", "label-excluded-filter": "Filtrs", "message-empty-filter": "Filtrs nevar būt tukšs", "placeholder-excluded-filter": "Ievadiet ceļu vai \"/regex/\"...", "option-uri-callbacks": "Atļaut URI atzvanus", "option-uri-callbacks-desc": "Iespējot x-callback-url izmantošanu ar x-success vai x-error, apstrādājot Obsidian URI." }, "appearance": { "name": "Izskats", "option-base-theme": "Pamata tēma", "option-base-theme-description": "Izvēlies Obsidian noklusējuma krāsu shēmu.", "option-accent-color": "Akcenta krāsa", "option-accent-color-description": "Izvēlies akcenta krāsu, kas tiek izmantota visā lietotnē.", "dark-theme": "Tumša", "light-theme": "Gaiša", "system-theme": "Pielāgoties sistēmai", "option-font": "Fonts", "option-advanced": "Paplašināti", "option-interface": "Saskarne", "option-interface-font": "Saskarnes fonts", "option-interface-font-description": "Iestatīt pamata fontu visam Obsidian.", "option-zoom-level": "Pietuvināšanas līmenis", "option-zoom-level-description": "Kontrolē lietotnes vispārējo pietuvināšanas līmeni.", "option-text-font": "Teksta fonts", "option-text-font-description": "Iestatīt fontu rediģēšanas un lasīšanas skatiem.", "option-monospace-font": "Monospace fonts", "option-monospace-font-description": "Iestatīt fontu, piemēram, koda blokiem un frontmatter.", "label-single-font-currently-in-effect": " Pašlaik piemērotais fonts: ", "label-multiple-fonts-currently-in-effect": " Pašlaik piemērotie fonti:", "option-font-placeholder": "Ievadi fonta nosaukumu...", "label-no-custom-font-set": "Pašlaik nav piemērots neviens pielāgots fonts. Pievieno to zemāk.", "label-font-applied": "Tiks piemērots pirmais fonts no šī saraksta, kas pieejams jūsu sistēmā.", "msg-font-not-found": "Šis fonts nav atpazīts jūsu sistēmā.", "msg-font-found": "Šis fonts ir atpazīts jūsu sistēmā.", "label-font-name": "Fonta nosaukums", "option-community-themes": "Atvērt kopienas tēmas", "option-community-themes-description": "Pārskati un izmanto lieliskās tēmas, ko izveidojusi kopiena.", "button-browse-community-themes": "Pārlūkot", "option-font-size": "Fonta izmērs", "option-font-size-description": "Fonta izmērs pikseļos, kas ietekmē redaktoru un priekšskatījumu.", "option-font-size-action": "Ātrā fonta izmēra pielāgošana", "option-font-size-action-description": "Pielāgo fonta izmēru, izmantojot Ctrl + ritināšanu vai izmantojot skārienpaliktņa tuvināšanas žestu.", "option-themes": "Tēmas", "option-manage-themes-description": "Pārvaldi instalētās tēmas un pārlūko kopienas tēmas.", "option-theme-button-manage": "Pārvaldīt", "option-choice-none": "Neviena", "option-native-menus": "Vietējās izvēlnes", "option-native-menus-desc": "Izvēlnes visā lietotnē tiks pielāgotas operētājsistēmai. Tās netiks ietekmētas jūsu tēmas dēļ.", "button-reload-themes": "Pārlādēt tēmas", "msg-reloaded-themes": "Pielāgotās CSS tēmas ir pārlādētas.", "button-open-themes-folder": "Atvērt tēmu mapi", "option-css-snippets": "CSS fragmenti", "label-no-css-snippets-found": "CSS fragmenti netika atrasti fragmentu mapē.", "no-snippet-description": "CSS fragmenti tiek glabāti \"{{path}}\".", "button-reload-snippets": "Pārlādēt fragmentus", "button-open-snippets-folder": "Atvērt fragmentu mapi", "msg-reloaded-snippets": "CSS fragmenti ir pārlādēti.", "option-toggle-snippet-description": "Pielietot CSS fragmentu \"{{path}}\".", "label-installed-themes": "Instalētās tēmas", "label-screenshot-unavailable": "Ekrānuzņēmums nav pieejams", "label-default-theme": "Noklusējuma", "tooltip-click-to-enlarge": "Noklikšķiniet, lai palielinātu", "button-update": "Atjaunināt", "label-currently-active": "Aktīvs", "option-frame-style": "Loga rāmja stils", "option-frame-description": "Nosaka Obsidian logu nosaukumjoslas stilizāciju. Nepieciešams pilns restarts, lai stātos spēkā.", "option-frame-hidden": "Slēpts (noklusējuma)", "option-frame-obsidian": "Obsidian rāmis", "option-frame-native": "Vietējais rāmis", "option-custom-icon": "Pielāgota lietotnes ikona", "option-custom-icon-desc": "Iestatiet pielāgotu ikonu lietotnei", "button-choose-custom-icon": "Izvēlēties pielāgotu ikonu", "option-configure-ribbon": "Lentes izvēlne", "option-configure-ribbon-desc": "Konfigurējiet, kuras komandas tiek rādītas lentes izvēlnē navigācijas joslā.", "option-mobile-quick-ribbon-item": "Ātrās piekļuves lentes vienums", "option-mobile-quick-ribbon-item-desc": "Pieskaroties lentes vienumam navigācijas izvēlnē, tas aktivizēs šo lentes vienumu. Pieskarieties un turiet, lai joprojām rādītu izvēlni.", "option-mobile-quick-ribbon-default": "Atvērt lentes izvēlni", "button-configure": "Konfigurēt", "option-show-ribbon": "Rādīt lenti", "option-show-ribbon-desc": "Rādīt vertikālo rīkjoslu loga malā.", "label-additional-ribbon-items": "Citi lentes vienumi", "label-modal-configuration": "Lentes konfigurācija", "label-modal-configuration-desc": "Izvēlieties, kuri vienumi jāaktivizē lentē. Vilkt un nomest, lai mainītu secību.", "option-show-view-header": "Rādīt cilnes nosaukumjoslu", "option-show-view-header-desc": "Rādīt virsrakstu katras cilnes augšdaļā.", "msg-updates-found": "Atrasta {{count}} tēma atjaunināšanai.", "msg-updates-found_plural": "Atrastas {{count}} tēmas atjaunināšanai.", "button-check-for-updates": "Pārbaudīt atjauninājumus", "button-view-updates": "Skatīt atjauninājumus", "button-update-all-themes": "Atjaunināt visas", "label-current-themes": "Pašreizējās kopienas tēmas", "label-currently-installed": "Jums pašlaik ir instalēta {{count}} tēma.", "label-currently-installed_plural": "Jums pašlaik ir instalētas {{count}} tēmas." }, "hotkeys": { "name": "Karstie taustiņi", "option-search": "Meklēt karstos taustiņus", "option-search-desc": "Parādīts {{count}} karstais taustiņš. ", "option-search-desc_plural": "Parādīti {{count}} karstie taustiņi. ", "option-search-conflict": "{{count}} komanda ar konfliktiem.", "option-search-conflict_plural": "{{count}} komandas ar konfliktiem.", "prompt-filter": "Filtrēt...", "tooltip-delete-hotkey": "Dzēst karsto taustiņu", "label-waiting-for-hotkey-press": "Nospiediet karsto taustiņu...", "label-show-all": "Visi", "label-show-unassigned": "Neuzdevumi", "label-show-assigned": "Piešķirtie", "label-show-user-assigned": "Piešķirts man", "tooltip-restore-default": "Atjaunot noklusēto", "tooltip-customize-command": "Pielāgot šo komandu", "tooltip-hotkey-single-conflict": "Šis karstais taustiņš konfliktē ar \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Šis karstais taustiņš konfliktē ar {{count}} citām komandām", "label-blank-hotkey": "Tukšs" }, "about": { "name": "Vispārīgi", "label-commercial-license": "Komerciālā licence", "label-license-key": "Licences atslēga", "license-key-placeholder": "Jūsu licences atslēga...", "label-activate-license": "Aktivizēt licenci", "button-activate": "Aktivizēt", "label-unknown-version": "Nezināma versija", "label-current-version": "Pašreizējā versija: ", "label-install-version": "(Instalētāja versija: {{version}})", "label-up-to-date": "Jūsu lietotne ir atjaunināta!", "label-read-changelog": "Lasīt izmaiņu žurnālu.", "label-manual-update-required": "Lai izmantotu jaunākās funkcijas un saņemtu jaunākos drošības atjauninājumus, Obsidian nepieciešams liels instalētāja atjauninājums. Jums ir manuāli jālejupielādē un jāinstalē Obsidian no jauna.", "label-new-version-ready": "Ir pieejama jauna versija instalēšanai. ", "label-disabled-updates": "Atjauninājumi ir atspējoti.", "button-relaunch": "Pārstartēt", "button-check-for-updates": "Pārbaudīt atjauninājumus", "option-auto-update": "Automātiskie atjauninājumi", "option-auto-update-description": "Izslēdziet šo, lai lietotne nepārbaudītu atjauninājumus.", "option-check-slow-startup": "Paziņot, ja palaišana aizņem vairāk laika nekā paredzēts", "option-check-slow-startup-description": "Diagnostējiet problēmas ar lietotni, redzot, kas izraisa tās lēno ielādi.", "button-check-startup": "Pārbaudīt tagad", "option-get-help": "Saņemt palīdzību", "option-get-help-description": "Saņemiet palīdzību par Obsidian izmantošanu.", "button-open": "Atvērt", "option-language": "Valoda", "option-language-description": "Mainīt displeja valodu.", "option-insider-build": "Saņemt Insider būvējumus", "option-insider-build-description": "Automātiski atjaunināties uz Insider būvēm, lai izmēģinātu jaunas funkcijas. Ņemiet vērā, ka šīs būves var būt mazāk stabilas.", "option-advanced": "Papildu", "option-hw-acceleration": "Aparatūras paātrinājums", "option-hw-acceleration-description": "Ieslēdz Aparatūras paātrinājumu, kas izmanto jūsu GPU, lai Obsidian darbotos plūdenāk.", "option-hw-acceleration-warning": "Ja to izslēgsiet, lietotnes darbība ievērojami pasliktināsies.", "option-config-location": "Pārdefinēt konfigurācijas mapi", "option-config-location-description": "Izmantot citu konfigurācijas mapi, nevis noklusēto. Tai jāsākas ar punktu.", "option-config-location-warning": "Konfigurācijas vietai ir jābūt derīgam mapes nosaukumam, kas sākas ar punktu.", "label-license": "Licence", "label-your-commercial-license-key": "Jūsu komerciālās licences atslēga ir \"{{key}}\".", "label-commercial-license-info": "Reģistrēts uz \"{{company}}\" {{seats}} lietotājiem. Derīga līdz {{expiry}}.", "label-validating-commercial-license": "Validācija...", "label-invalid-commercial-license": "Licences kļūda: ", "button-remove-commercial-license": "Noņemt", "option-catalyst": "Catalyst licence", "option-catalyst-desc": "Pašlaik jums ir {{tier}} Catalyst licence. Paldies par atbalstu!", "option-catalyst-desc-no-license": "Pašlaik jums nav Catalyst licences. Catalyst licence ir vienreizējs ziedojums, lai atbalstītu Obsidian attīstību.", "label-app": "Lietotne", "label-add-own-language": "Skatīt, kā pievienot savu valodu Obsidian." }, "account": { "name": "Konts", "option-your-account": "Jūsu konts", "option-your-account-desc": "Jūs pašlaik esat pieteicies kā {{name}} ({{email}}).", "option-your-account-desc-no-login": "Jūs šobrīd neesat pieteicies. Konts ir nepieciešams tikai Obsidian Sync, Obsidian Publish un Catalyst insider būvēm.", "label-insider": "insider", "label-supporter": "atbalstītājs", "label-vip": "VIP", "button-upgrade-catalyst": "Uzlabot", "option-commercial-license": "Komerciālā licence", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Iegādāties", "button-log-out": "Izrakstīties", "label-log-in": "Pieteikties", "label-sign-up": "Reģistrēties", "label-email": "E-pasts", "placeholder-email": "Jūsu e-pasts...", "label-name": "Full name", "label-password": "Parole", "placeholder-password": "Jūsu parole...", "label-forgot-password": "Aizmirsi paroli?", "button-login": "Pieteikties", "message-empty-email": "E-pasts nevar būt tukšs.", "message-invalid-email": "E-pasta adrese nav derīga.", "message-empty-password": "Parole nevar būt tukša.", "message-login-failed": "Pieteikšanās neizdevās, lūdzu, pārbaudiet savu e-pastu un paroli.", "message-signup-failed": "Failed to sign up", "label-no-account": "Vai jums nav konta? ", "link-sign-up-now": "Reģistrējieties tagad", "label-mfa-code": "6 ciparu 2FA kods", "mfa-wrong-format": "2FA autentifikatora kodam jābūt 6 cipariem.", "mfa-verification-failed": "2FA kods ir nepareizs, lūdzu, pārbaudiet savu autentifikatora lietotni." }, "core-plugin": { "plugin-list": "Spraudņu saraksts", "option-search-plugin": "Meklēt iebūvētos spraudņus", "option-search-plugin-description": "Filtrēt spraudņus pēc nosaukuma vai apraksta.", "placeholder-search-plugin": "Meklēt spraudņus..." }, "third-party-plugin": { "name": "Trešās puses spraudnis", "option-restricted-mode": "Ierobežotais režīms", "option-restricted-mode-description": "Ierobežotais režīms ir izslēgts. Ieslēdziet, lai atspējotu kopienas spraudņus.", "button-turn-on": "Ieslēgt", "option-browse-community-plugins": "Kopienas spraudņi", "option-browse-community-plugins-description": "Pārlūkojiet un instalējiet trešās puses spraudņus, kurus izstrādājusi mūsu brīnišķīgā kopiena.", "button-browse": "Pārlūkot", "label-exit-restricted-mode": "Iziet no Ierobežotā režīma", "label-exit-restricted-mode-description-1": "Kopienas spraudņi, līdzīgi jebkurai citai programmatūrai, kuru instalējat, var radīt datu integritātes un drošības problēmas.", "label-exit-restricted-mode-description-2": "Spraudņu drošība mums ir svarīga. Lūk, ko mēs darām:", "label-exit-restricted-mode-description-3": "Neskatoties uz mūsu pūlēm, joprojām pastāv neliels risks, ka kāds kopienas spraudnis varētu uzvesties nepareizi.", "label-code-review": "Sākotnējā koda pārbaude", "label-code-review-desc": "Spraudņi tiek pakļauti sākotnējai koda pārbaudei no mūsu komandas puses, pirms tie parādās veikalā.", "label-open-source": "Atvērtā pirmkoda", "label-open-source-desc": "Lielākā daļa spraudņu ir atvērtā pirmkoda GitHub platformā, tāpēc varat paši pārbaudīt kodu.", "label-peer-audit": "Kopienas audits", "label-peer-audit-desc": "Mums ir liela izstrādātāju kopiena, kas rūpējas par drošību.", "label-report-mechanism": "Ziņošanas mehānisms", "label-report-mechanism-desc": "Mēs reaģējam un izņemam kļūdainos spraudņus pēc lietotāju ziņojumiem.", "label-exit-restricted-mode-disable-confirmation": "Vai vēlaties iziet no Ierobežotā režīma, lai iespējotu kopienas spraudņus? Mēs stingri iesakām veikt datu rezerves kopēšanu pirms tam.", "label-learn-more": "Uzziniet vairāk par spraudņu drošību", "button-turn-on-community-plugins": "Ieslēgt kopienas spraudņus", "label-trust-author": "Vai uzticaties šīs krātuves autoram?", "label-trust-author-description-1": "Jūs pirmo reizi atverat šo krātuvi, un tai ir pievienoti daži spraudņi.", "label-trust-author-description-2": "Ja šo krātuvi saņēmāt no kāda cita, lūdzu, ņemiet vērā, ka nezināmas izcelsmes spraudņi var radīt drošības riskus.", "label-trust-author-description-3": "Ja jūs pilnībā neuzticaties šīs krātuves autoram, mēs iesakām palikt Ierobežotajā režīmā, lai šīs krātuves spraudņi netiktu palaisti.", "button-enable-plugins": "Uzticēties autoram un iespējot spraudņus", "button-dont-trust-author": "Pārlūkot krātuvi Ierobežotajā režīmā", "placeholder-community-plugins": "Meklēt kopienas spraudņus...", "msg-failed-load-plugins": "Neizdevās ielādēt kopienas spraudņus.", "label-installed": "Instalēts", "button-install": "Instalēt", "button-enable": "Iespējot", "button-disable": "Atspējot", "button-copy-share-link": "Kopēt koplietošanas saiti", "button-donate": "Ziedot", "label-no-results-found": "Rezultāti netika atrasti.", "label-no-recent-files-found": "Pēdējie faili netika atrasti. Rakstiet, lai meklētu...", "msg-failed-to-load-manifest": "Neizdevās ielādēt spraudņa manifestu.", "label-version": "Versija: {{version}}", "label-currently-installed-version": " (pašreiz instalētā: {{version}})", "label-by-author": "Autors: ", "label-repository": "Repozitorijs: ", "label-last-update": "Pēdējais atjauninājums: ", "tooltip-view-last-update": "Skatīt pēdējo atjauninājumu", "label-unsupported": "Šis spraudnis neatbalsta jūsu ierīci.", "button-update": "Atjaunināt", "label-no-readme": "Šis spraudnis nav nodrošinājis README failu.", "msg-installing-plugin": "Instalē spraudni \"{{name}}\"...", "msg-failed-to-install-plugin": "Neizdevās instalēt spraudni \"{{name}}\".", "msg-successfully-installed-plugin": "Spraudnis \"{{name}}\" veiksmīgi instalēts.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Instalētie spraudņi", "button-reload-plugins": "Pārlādēt spraudņus", "msg-reloaded-third-party-plugins": "Trešās puses spraudņi pārlādēti.", "label-uninstall": "Atinstalēt", "label-uninstall-plugin": "Atinstalēt spraudni", "label-uninstall-plugin-confirmation": "Vai tiešām vēlaties atinstalēt šo spraudni? Tas izdzēsīs spraudņa mapi.", "button-open-plugins-folder": "Atvērt spraudņu mapi", "button-check-for-updates": "Pārbaudīt atjauninājumus", "button-update-all-plugins": "Atjaunināt visus", "label-current-plugins": "Pašreizējie spraudņi", "label-currently-installed": "Pašlaik ir instalēts {{count}} spraudnis.", "label-currently-installed_plural": "Pašlaik ir instalēti {{count}} spraudņi.", "msg-no-updates-found": "Spraudņu atjauninājumi nav atrasti.", "msg-updates-found": "Atrasts {{count}} spraudņa atjauninājums.", "msg-updates-found_plural": "Atrasti {{count}} spraudņu atjauninājumi.", "msg-update-plugin": "Atjaunināt uz versiju {{version}}", "option-search-installed-plugin": "Meklēt instalētos spraudņus", "option-search-installed-plugin-description": "Filtrēt instalētos spraudņus pēc nosaukuma vai apraksta.", "placeholder-search-installed-plugin": "Meklēt instalētos spraudņus..", "show-installed-only": "Rādīt tikai instalētos", "label-donate-modal-title": "Ziedojiet, lai atbalstītu {{name}}", "label-donate-modal-text1": "Spraudņu izstrādātāji ir kopienas brīvprātīgie, kas rada apbrīnojamus risinājumus no aizrautības. Ja šis spraudnis jums ir noderīgs, apsveriet iespēju atbalstīt tā izstrādi.", "label-donate-modal-text2": "100% no jūsu ziedojuma nonāks pie spraudņa izstrādātāja; Obsidian nepatur nekādu daļu. Tomēr ziedojuma platforma var piemērot maksu.", "label-donate-modal-text3": "Paldies par jūsu dāsno atbalstu!", "label-support-this-plugin": "Atbalstīt šo spraudni:", "label-search-summary": "Parādīti {{pluginCount}}:", "label-by-popularity": "Visvairāk lejupielādētie", "label-by-released": "Nesen izlaisti", "label-by-updated": "Nesen atjaunināti", "label-alphabetical": "Alfabētiskā secībā", "label-last-updated": "Atjaunināts {{time}}" }, "mobile-toolbar": { "name": "Mobilā rīkjosla", "option-configure-quick-action": "Konfigurēt ātro darbību mobilajam", "option-configure-quick-action-description": "Konfigurējiet, kuru komandu aktivizēt, velkot uz leju no augšas. Pašreizējā komanda ir \"{{command}}\".", "msg-missing-quick-action": "Darbība nav konfigurēta", "button-configure": "Konfigurēt", "placeholder-select-quick-action": "Izvēlēties ātro darbību...", "quick-action-disabled": "Nav", "manage-toolbar-options": "Pārvaldīt rīkjoslas opcijas", "option-internal-link": "Pievienot iekšējo saiti", "option-internal-embed": "Pievienot iegulumu", "option-tag": "Pievienot tagu", "option-heading": "Pārslēgt virsrakstu", "option-strikethrough": "Pārslēgt pārsvītrojumu", "option-highlight": "Pārslēgt izcelšanu", "option-code": "Pārslēgt kodu", "option-blockquote": "Pārslēgt citātu", "option-inline-math": "Pārslēgt matemātisko izteiksmi rindā", "option-math-block": "Pārslēgt matemātisko bloku", "option-markdown-link": "Pievienot Markdown saiti", "option-bullet-list": "Pārslēgt aizzīmju sarakstu", "option-numbered-list": "Pārslēgt numurēto sarakstu", "option-indent-list": "Ieindentēt saraksta vienumu", "option-unindent-list": "Izņemt ieindentēšanu no saraksta vienuma", "option-undo": "Atsaukt", "option-redo": "Atcelt atsaukšanu", "option-move-caret-up": "Pārvietot kursoru uz augšu", "option-move-caret-down": "Pārvietot kursoru uz leju", "option-move-caret-left": "Pārvietot kursoru pa kreisi", "option-move-caret-right": "Pārvietot kursoru pa labi", "option-first-line": "Pāriet uz pirmo rindu", "option-last-line": "Pāriet uz pēdējo rindu", "option-toggle-keyboard": "Pārslēgt tastatūru", "option-configure-toolbar": "Konfigurēt mobilo rīkjoslu", "option-added-options": "Pievienotās opcijas", "option-more-toolbar-options": "Vairāk rīkjoslas opciju", "option-attach": "Ievietot pielikumu", "option-add-command": "Pievienot globālo komandu", "option-add-command-description": "Izvēlieties jebkuru globālo komandu, lai pievienotu to rīkjoslai." } }, "editor": { "search": { "placeholder-find": "Meklēt", "placeholder-replace": "Aizvietot", "label-exit-search": "Iziet no meklēšanas", "label-next": "Nākamais", "label-previous": "Iepriekšējais", "label-find-all": "Meklēt visu", "label-replace": "Aizvietot", "label-replace-all": "Aizvietot visu" }, "link-suggestion": { "label-type-hash": "Ievadiet #", "label-link-heading": "lai pievienotu saiti uz virsrakstu", "label-type-block": "Ievadiet ^", "label-link-block": "lai pievienotu saiti uz bloku", "label-type-pipe": "Ievadiet |", "label-change-display-text": "lai mainītu parādāmo tekstu", "label-no-alias": "Parādīt tekstu", "label-no-heading": "Virsraksts", "label-no-match-found": "Sakritības netika atrastas", "label-image-size": "Attēla izmērs: {{size}}px plats", "label-accept": "lai apstiprinātu", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Nav ieteikumu...", "add-to-dictionary": "Pievienot vārdnīcai" }, "menu": { "edit-link": "Rediģēt saiti", "edit-tag": "Rediģēt tagu", "label-edit-block": "Rediģēt šo bloku", "label-delete-footref-and-note": "Dzēst zemsvītras piezīmi un atsauci" }, "heading-suggestion": { "label-no-heading": "Nav virsraksta", "label-heading-level": "Virsraksts {{level}}" }, "print-modal": { "title": "Eksportēt uz PDF", "caption": "Eksportēt \"{{filename}}\" uz PDF ar zemāk norādītajiem iestatījumiem.", "setting-page-size": "Lapas izmērs", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Iekļaut faila nosaukumu kā virsrakstu", "setting-landscape": "Ainava", "setting-margin": "Mala", "setting-margin-default": "Noklusējuma", "setting-margin-minimal": "Minimāla", "setting-margin-none": "Nav", "setting-downscale-percent": "Samazināt procentus", "button-export-to-pdf": "Eksportēt uz PDF" }, "link-popover": { "tooltip-follow-link": "Sekot saitei", "tooltip-open-link": "Atvērt saiti", "tooltip-search-tag": "Meklēt tagu" } }, "interface": { "embed-cannot-find": "Nevar atrast:", "label-unable-to-find-section": "Nevar atrast “{{subpath}}” failā {{file}}", "embed-open-in-default-app-tooltip": "Atvērt noklusētajā lietotnē", "empty-sidebar": "Sānu panelis ir tukšs, mēģiniet šeit ievilkt paneli.", "sidebar-expand": "Izvērst", "sidebar-collapse": "Sakļaut", "msg-fail-to-save-file": "Neizdevās saglabāt failu \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Neizdevās ielādēt spraudni \"{{plugin}}\"", "msg-plugin-error": "Spraudnis “{{plugin}}” ielādējoties radās kļūda", "msg-failed-to-load-file": "Neizdevās atvērt failu \"{{filepath}}\"", "msg-failed-to-open-href": "Nevar atvērt atrašanās vietu \"{{href}}\"", "no-file": "Nav faila", "msg-file-changed": "\"{{file}}\" ir modificēts ārēji, izmaiņas tiek apvienotas automātiski.", "switch-vault": "Atvērt citu krātuvi", "manage-vaults": "Pārvaldīt krātuves...", "help": "Palīdzība", "settings": "Iestatījumi", "drag-to-rearrange": "Velciet, lai pārkārtotu", "msg-switched-to-read": "Noklusējuma skata režīms mainīts uz lasīšanas režīmu.", "msg-switched-to-edit": "Noklusējuma skata režīms mainīts uz redaktoru.", "msg-upgrade-installer": "Lai izmantotu šo funkciju, lūdzu, pārinstalējiet, izmantojot jaunāko instalētāju, kas pieejams mūsu mājaslapā.", "msg-slow-boot": "Tika konstatēts lēns startēšanas laiks.", "msg-desktop-only-feature": "Šī funkcija ir pieejama tikai darbvirsmas lietotnē.", "tooltip-restore-default-settings": "Atjaunot noklusējuma iestatījumus", "label-copy": "Kopēt uz starpliktuvi", "label-copy-short": "Kopēt", "copied_generic": "Kopēts uz jūsu starpliktuvi", "copied": "{{item}} kopēts uz jūsu starpliktuvi", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "Url", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Atvērts fails \"{{path}}\"", "msg-file-not-found-through-uri": "Fails \"{{name}}\" nav atrasts.", "delete-action-short-name": "Dzēst", "msg-indexing": "Obsidian indeksē jūsu krātuvi...\nŠim vajadzētu notikt tikai vienreiz.\nDažas funkcijas var nebūt pieejamas, līdz tas ir pabeigts.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indeksēšana pabeigta.", "msg-sandbox-vault": "Šī ir smilšu kastes krātuve.\nIzmaiņas, kuras veicat šajā krātuvē, tiks zaudētas.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Nospiediet Enter, lai izveidotu", "label-update-available": "Pieejams atjauninājums", "label-debug-info": "Atkļūdošanas informācija", "button-learn-more": "Uzzināt vairāk", "button-not-now": "Ne tagad", "button-add": "Pievienot", "button-manage": "Pārvaldīt", "label-new-tab": "Jauna cilne", "option-hide-ribbon": "Slēpt lenti", "msg-tab-busy": "Šī cilne pašlaik ir aizņemta, mēģiniet vēlāk", "formatting": { "label-formatting": "Formatēt", "label-paragraph": "Paragrāfs", "label-insert": "Ievietot", "insert-link": "Pievienot saiti", "insert-external-link": "Pievienot ārējo saiti", "insert-callout": "Ievietot izsaukumu", "insert-horizontal-rule": "Horizontālā līnija", "insert-code-block": "Koda bloks", "insert-math-block": "Matemātikas bloks", "insert-table": "Tabula", "insert-footnote": "Footnote", "toggle-bold": "Treknraksts", "toggle-code": "Kods", "toggle-comments": "Komentārs", "toggle-highlight": "Izcelt", "toggle-italics": "Slīpraksts", "toggle-strikethrough": "Pārsvītrots", "toggle-math": "Matemātika", "toggle-bullet-list": "Aizzīmju saraksts", "toggle-checklist": "Uzdevumu saraksts", "toggle-numbered-list": "Numurētais saraksts", "set-heading": "Virsraksts {{level}}", "no-heading": "Ķermenis", "clear": "Notīrīt formatējumu", "toggle-quote": "Citāts" }, "empty-state": { "no-file-open": "Neviens fails nav atvērts", "create-new-file": "Izveidot jaunu failu", "go-to-file": "Pāriet uz failu", "see-recent-files": "Skatīt nesenos failus", "close": "Aizvērt", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Spraudnis vairs nav aktīvs", "unknown-pane-desc": "Spraudnis, kas izveidoja šo paneli ({{type}}), vairs nav pieejams" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Rediģēt (Ctrl/Cmd+Klikšķis, lai rediģētu jaunā panelī)", "read-view": "Pašreizējais skats: lasīšanas", "ribbon": "Lente", "left-sidebar": "Kreisais sānjosla", "right-sidebar": "Labais sānjosla", "switch-to-edit-view": "Klikšķis, lai rediģētu", "switch-to-read-view": "Klikšķis, lai lasītu", "mod-click-open-new-tab": "{{key}}+Klikšķis, lai atvērtu jaunā cilnē", "find": "Meklēt...", "replace": "Aizvietot...", "edit": "Rediģēt", "remove": "Noņemt", "rename": "Pārdēvēt", "preview": "Priekšskatījums", "more-options": "Vairāk opciju", "close": "Aizvērt", "close-all": "Aizvērt visu", "close-tabs-with-count": "Aizvērt {{count}} cilni", "close-tabs-with-count_plural": "Aizvērt {{count}} cilnes", "close-others": "Aizvērt citus", "close-after": "Aizvērt cilnes pēc", "pin": "Piespraust", "unpin": "Atspraust", "unlink-tab": "Atvienot cilni", "link-tab": "Saistīt ar cilni...", "toggle-source-mode": "Avota režīms", "toggle-reading-view": "Lasīšanas skats", "add-property": "Pievienot faila īpašību", "delete-file": "Dzēst failu", "create-file": "Izveidot šo failu", "open-link": "Atvērt saiti", "open-in-new-tab": "Atvērt jaunā cilnē", "open-to-the-right": "Atvērt pa labi", "copy-url": "Kopēt URL", "copy": "Kopēt", "cut": "Izgriezt", "paste": "Ielīmēt", "paste-as-plain-text": "Ielīmēt kā vienkāršu tekstu", "lookup-selection": "Meklēt “{{selection}}”", "select-all": "Atlasīt visu", "rename-heading": "Pārdēvēt šo virsrakstu...", "rename-blockid": "Pārdēvēt šo bloka ID...", "open-in-new-window": "Atvērt jaunā logā", "move-to-new-window": "Pārvietot uz jaunu logu", "open-in-browser": "Atvērt pārlūkā", "stack-tabs": "Sakraut cilnes", "unstack-tabs": "Atdalīt cilnes", "open-linked-view": "Atvērt saistīto skatu" }, "tooltip": { "click-to-expand": "Klikšķis, lai izvērstu", "click-to-collapse": "Klikšķis, lai sakļautu", "alias": "Aizstājvārds", "not-created-yet": "Vēl nav izveidots, izvēlieties, lai izveidotu" }, "start-screen": { "label-version": "Versija", "label-create-local-vault": "Izveidot lokālo krātuvi", "option-open-folder-as-vault": "Atvērt mapi kā krātuvi", "option-open-folder-as-vault-description": "Izvēlieties esošu Markdown failu mapi.", "option-create-vault": "Izveidot jaunu krātuvi", "option-create-vault-description": "Izveidojiet jaunu Obsidian krātuvi mapē.", "option-connect-obsidian-sync": "Pievienoties Obsidian Sync", "option-connect-obsidian-sync-description": "Iestatiet sinhronizētu krātuvi ar esošu attālo krātuvi.", "option-new-vault-name": "Krātuves nosaukums", "option-new-vault-name-description": "Izvēlieties nosaukumu savai lieliskajai krātuvei.", "option-new-vault-location": "Atrašanās vieta", "option-new-vault-location-description": "Izvēlieties vietu savai jaunajai krātuvei.", "label-new-vault-location-preview": "Jūsu jaunā krātuve tiks izvietota: ", "option-reveal-vault-in-explorer": "Atvērt krātuvi sistēmas pārlūkā", "option-reveal-vault-in-explorer-mac": "Atvērt krātuvi Finder lietotnē", "option-rename-vault": "Pārdēvēt krātuvi...", "option-copy-vault-i-d": "Kopēt krātuves ID", "msg-error-rename-exists": "Krātuve ar šādu nosaukumu jau pastāv.", "msg-error-nested": "Nevar pārvietot krātuvi uz tās pašas apakšmapi.", "msg-error-rename-open": "Nevar pārdēvēt pašlaik atvērtu krātuvi.", "msg-rename-failed": "Neizdevās pārdēvēt krātuvi.", "msg-rename-success": "Krātuve veiksmīgi pārdēvēta.", "option-move-vault": "Pārvietot krātuvi...", "msg-move-select-dest": "Izvēlieties galamērķa mapi", "msg-error-move-exists": "Galapunktā jau pastāv krātuve.", "msg-error-move-open": "Nevar pārvietot pašlaik atvērtu krātuvi.", "msg-move-failed": "Neizdevās pārvietot krātuvi.", "msg-move-success": "Krātuve veiksmīgi pārvietota.", "option-remove": "Noņemt no saraksta", "button-quick-start": "Ātrā startēšana", "button-open": "Atvērt", "button-browse": "Pārlūkot", "button-connect": "Pievienot", "button-create-vault": "Izveidot", "button-back": "Atpakaļ", "msg-empty-vault-name": "Krātuves nosaukums nevar būt tukšs.", "msg-trailing-dot-vault-name": "Krātuves nosaukums nevar beigties ar punktu.", "msg-invalid-folder": "Lūdzu, izvēlieties derīgu mapi.", "msg-failed-to-create-vault": "Neizdevās izveidot krātuvi.", "msg-failed-to-create-vault-at-location": "Neizdevās izveidot krātuvi izvēlētajā vietā. Pārbaudiet atrašanās vietu un piekļuves atļaujas.", "msg-error-failed-to-open-vault": "Neizdevās atvērt.", "msg-error-remove-current-open-vault": "Nevar noņemt pašlaik atvērtu krātuvi.", "option-get-help": "Iegūt palīdzību", "option-user-email": "E-pasts", "placeholder-your-email": "Jūsu e-pasts...", "option-user-password": "Parole", "placeholder-your-password": "Jūsu parole...", "button-sign-in": "Pierakstīties", "button-setup": "Iestatīt", "option-connect-vault-desc": "Izveidot sinhronizētu krātuvi šajā ierīcē.", "tooltip-own-vault": "Šī ir jūsu attālā krātuve.", "tooltip-shared-vault": "Šī ir koplietota attālā krātuve ar jums.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Laipni lūdzam", "welcome-file-content": "Šī ir jūsu jaunā *krātuve*.\n\nUzrakstiet piezīmi, [[izveidojiet saiti]] vai izmēģiniet [Importētāju](https://help.obsidian.md/Plugins/Importer)!\n\nKad būsiet gatavs, izdzēsiet šo piezīmi un padariet krātuvi par savu." }, "drag-and-drop": { "insert-link-here": "Ievietot saiti šeit", "insert-links-here": "Ievietot saites šeit", "move-into-folder": "Pārvietot uz \"{{folder}}\"", "star-this-file": "Izcelt šo failu", "star-these-files": "Izcelt šos failus", "open-in-this-tab": "Atvērt šajā cilnē", "open-as-tab": "Atvērt jaunā cilnē" }, "window": { "maximize": "Maksimizēt", "minimize": "Minimizēt", "restore-down": "Atjaunot", "close-window": "Aizvērt", "go-back": "Atpakaļ", "go-forward": "Uz priekšu" }, "start-up": { "loading-obsidian": "Ielādē Obsidian...", "obsidian-load-error": "Radās kļūda, ielādējot Obsidian.", "button-reload-app": "Pārlādēt lietotni", "button-reload-app-in-safe-mode": "Pārlādēt drošajā režīmā", "button-open-another-vault": "Atvērt citu krātuvi", "loading-plugins": "Ielādē spraudņus...", "msg-plugin-hang": "Spraudnis “{{plugin}}” tiek ielādēts pārāk ilgi. ", "loading-vault": "Ielādē krātuvi...", "msg-failed-to-load-vault": "Neizdevās ielādēt krātuvi: ", "loading-cache": "Ielādē kešatmiņu...", "loading-workspace": "Ielādē darbvietu..." }, "mobile": { "action-import": "Importēt krātuvē", "action-insert-text-desc": "Pievienot tekstu failam:", "action-choose-file-to-insert": "Izvēlēties failu ievietošanai", "action-insert-text-into-file": "Ievietot tekstu failā {{filename}}", "action-insert-link-into-file": "Ievietot saiti failā {{filename}}", "action-show-switcher": "Rādīt cilņu pārskatu", "msg-importing": "Importē...", "msg-import-success": "Importēšana veiksmīga", "msg-failed-to-import-file": "Neizdevās importēt failu {{filename}}", "msg-back-again-to-exit": "Nospiediet atpakaļ vēlreiz, lai izietu.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Oficiālā palīdzības vietne", "label-official-help-site-desc": "Lasiet oficiālo Obsidian dokumentāciju vairākās valodās.", "action-visit": "Apmeklēt", "label-discord-chat": "Discord čats", "label-discord-chat-desc": "Labākā vieta sarunām ar citiem pieredzējušiem Obsidian lietotājiem.", "action-join": "Pievienoties", "label-forum": "Oficiālais forums", "label-forum-desc": "Palīdziet cits citam, iesakiet funkcijas, ziņojiet par kļūdām un apspriediet zināšanu pārvaldību.", "label-sandbox-vault": "Smilškastes krātuve", "label-sandbox-vault-desc": "Eksperimentējiet ar dažādām funkcijām. Izmaiņas netiks saglabātas." } }, "commands": { "save-file": "Saglabāt pašreizējo failu", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Sekot saitei zem kursora", "open-cursor-link-in-new-tab": "Atvērt saiti zem kursora jaunā cilnē", "open-cursor-link-to-the-right": "Atvērt saiti zem kursora pa labi", "open-cursor-link-in-new-window": "Atvērt saiti zem kursora jaunā logā", "navigate-tab-above": "Fokusēties uz augšējo cilni", "navigate-tab-below": "Fokusēties uz apakšējo cilni", "navigate-tab-left": "Fokusēties uz kreiso cilni", "navigate-tab-right": "Fokusēties uz labo cilni", "toggle-pin": "Pārslēgt piespraušanu", "split-right": "Sadalīt pa labi", "split-down": "Sadalīt uz leju", "toggle-stacked-tabs": "Pārslēgt sakrautas cilnes", "navigate-back": "Pārvietoties atpakaļ", "navigate-forward": "Pārvietoties atpakaļ", "use-dark-mode": "Izmantot tumšo režīmu", "use-light-mode": "Izmantot gaišo režīmu", "change-theme": "Mainīt tēmu", "search-current-file": "Meklēt pašreizējā failā", "search-replace-current-file": "Meklēt un aizstāt pašreizējā failā", "add-property": "Pievienot faila īpašību", "label-sort-property-a-to-z": "Nosaukums (A to Ž)", "label-sort-property-z-to-a": "Nosaukums (Ž to A)", "add-alias": "Pievienot aizstājvārdu", "clear-properties": "Notīrīt faila īpašības", "open-settings": "Atvērt iestatījumus", "open-help": "Atvērt palīdzību", "toggle-edit": "Pārslēgt rediģēšanas/lasīšanas skatu", "toggle-source-mode": "Pārslēgt priekšskatījumu/avotu", "delete-current-file": "Dzēst pašreizējo failu", "new-tab": "Jauna cilne", "show-trash": "Parādīt atkritni", "close-all-tabs": "Aizvērt visas cilnes", "close-active-tab": "Aizvērt pašreizējo cilni", "close-others-in-tab-group": "Aizvērt pārējās cilnes grupā", "close-other-tabs": "Aizvērt visas pārējās cilnes", "close-tab-group": "Aizvērt šo cilņu grupu", "toggle-left-sidebar": "Pārslēgt kreiso sānjoslu", "toggle-ribbon": "Pārslēgt rīkjoslu", "toggle-right-sidebar": "Pārslēgt labo sānjoslu", "toggle-default-new-tab-mode": "Pārslēgt noklusējuma režīmu jaunām cilnēm", "add-cursor-above": "Pievienot kursoru augšpusē", "add-cursor-below": "Pievienot kursoru apakšā", "focus-editor": "Fokusēties uz redaktoru", "toggle-fold-properties": "Pārslēgt īpašību sakļaušanu pašreizējā failā", "toggle-fold": "Pārslēgt sakļaušanu pašreizējā rindā", "fold-all": "Sakļaut visus virsrakstus un sarakstus", "unfold-all": "Atvērt visus virsrakstus un sarakstus", "fold-more": "Sakļaut vairāk", "fold-less": "Sakļaut mazāk", "swap-line-up": "Mainīt rindu uz augšu", "swap-line-down": "Mainīt rindu uz leju", "remove-heading": "Noņemt virsrakstu", "toggle-heading": "Iestatīt kā virsrakstu {{level}}", "toggle-bold": "Pārslēgt treknrakstu izvēlei", "toggle-italics": "Pārslēgt slīprakstu izvēlei", "toggle-highlight": "Pārslēgt izcelšanu izvēlei", "toggle-comments": "Pārslēgt komentārus izvēlei", "clear-formatting": "Notīrīt formatējumu", "insert-link": "Ievietot saiti", "toggle-spellcheck": "Pārslēgt pareizrakstības pārbaudi", "delete-paragraph": "Dzēst rindkopu", "toggle-checklist": "Pārslēgt saraksta statusu", "cycle-list-checklist": "Mainīt starp aizzīmēm un izvēles rūtiņām", "insert-callout": "Ievietot izsaukumu", "insert-code-block": "Ievietot koda bloku", "insert-math-block": "Ievietot matemātikas bloku", "insert-horizontal-rule": "Ievietot horizontālo līniju", "insert-table": "Ievietot tabulu", "insert-footnote": "Insert footnote", "edit-file-title": "Rediģēt faila nosaukumu", "copy-path": "Kopēt faila ceļu", "copy-url": "Kopēt Obsidian URL", "export-pdf": "Eksportēt uz PDF", "reload": "Pārlādēt lietotni bez saglabāšanas", "undo-close-tab": "Atsaukt cilnes aizvēršanu", "context-menu": "Rādīt konteksta izvēlni zem kursora", "show-debug-info": "Rādīt atkļūdošanas informāciju", "open-sandbox-vault": "Atvērt smilškastes krātuvi", "always-on-top": "Pārslēgt logu vienmēr virspusē", "zoom-in": "Pietuvināt", "zoom-out": "Attālināt", "reset-zoom": "Atiestatīt pietuvinājumu", "toggle-preview": "Pārslēgt rediģēšanas/priekšskatījuma režīmu", "move-to-new-window": "Pārvietot pašreizējo paneli uz jaunu logu", "open-in-new-window": "Atvērt pašreizējo paneli jaunā logā", "rename-current-file": "Pārdēvēt pašreizējo failu", "go-to-prev-tab": "Pāriet uz iepriekšējo cilni", "go-to-next-tab": "Pāriet uz nākamo cilni", "go-to-last-tab": "Pāriet uz pēdējo cilni", "go-to-nth-tab": "Pāriet uz cilni #{{n}}", "show-release-notes": "Rādīt izlaiduma piezīmes" }, "dialogue": { "label-link-affected": "Tas ietekmēs {{links}} saites {{files}} failos.", "msg-updated-links": "Atjauninātas {{links}} saites {{files}} failos.", "label-update-links": "Atjaunināt saites", "label-confirm-update-link-to-file": "Vai vēlaties atjaunināt iekšējās saites, kas norāda uz šo failu?", "button-always-update": "Vienmēr atjaunināt", "button-just-once": "Tikai vienreiz", "button-do-not-update": "Neatjaunināt", "label-confirm-deletion": "Vai tiešām vēlaties dzēst \"{{filename}}\"?", "label-move-to-system-trash": "Tas tiks pārvietots uz jūsu sistēmas atkritni.", "label-move-to-vault-trash": "Tas tiks pārvietots uz Obsidian atkritni, kas atrodas slēptajā mapē \".trash\" jūsu krātuvē.", "label-permanent-delete": "Fails tiks neatgriezeniski dzēsts.", "label-non-empty-folder": "Šī mape nav tukša.", "label-delete-folder-warning": "Ja turpināsiet, visi faili šajā mapē tiks dzēsti.", "label-delete-folder": "Dzēst mapi", "button-delete": "Dzēst", "button-delete-do-not-ask-again": "Dzēst un vairs nejautāt", "label-do-not-ask-again": "Vairs nejautāt", "label-existing-backlink": "Pašlaik ir {{count}} saite, kas norāda uz šo piezīmi.", "label-existing-backlink_plural": "Pašlaik ir {{count}} saites, kas norāda uz šo piezīmi.", "label-delete-file": "Dzēst failu", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Pārvaldīt", "button-view": "Skatīt", "button-confirm": "Apstiprināt", "button-cancel": "Atcelt", "button-download": "Download", "button-done": "Pabeigts", "button-save": "Saglabāt", "button-stop": "Apturēt", "button-continue": "Turpināt", "button-choose": "Izvēlēties", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Gatavo PDF...", "label-rename-file": "Pārdēvēt failu", "label-rename-file-generic": "Faila nosaukums", "label-new-name": "Jauns nosaukums", "msg-rename-success": "Fails veiksmīgi pārdēvēts.", "msg-merge-failed": "Neizdevās apvienot piezīmes: {{message}}", "msg-file-or-folder-not-found": "Fails vai mape “{{path}}” neeksistē.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Pārdēvēt virsrakstu", "label-rename-blockid": "Pārdēvēt bloka ID" }, "menu-items": { "new-file": "Izveidot piezīmi", "new-file-to-the-right": "Jauna piezīme pa labi", "new-window": "Jauns logs", "open-switcher": "Ātrā atvēršana...", "open-vault": "Atvērt krātuvi...", "close-tab": "Aizvērt cilni", "close-window": "Aizvērt logu", "find": "Meklēt", "replace": "Aizvietot", "insert-callout": "Piezīme", "insert-markdown-link": "Markdown saite", "insert-wikilink": "Saite", "set-heading": "Virsraksts {{level}}", "no-heading": "Bez virsraksta", "insert-quote": "Citāts", "export-pdf": "Eksportēt PDF", "insert-attachment": "Ievietot pielikumu...", "insert-codeblock": "Koda bloks", "insert-math-block": "Matemātikas bloks", "insert-table": "Tabula", "insert-footnote": "Footnote", "toggle-bullet-list": "Aizzīmju saraksts", "toggle-numbered-list": "Numurēts saraksts", "toggle-checklist": "Uzdevumu saraksts", "toggle-bold": "Treknraksts", "toggle-code": "Kods", "toggle-comment": "Komentārs", "toggle-italics": "Slīpraksts", "toggle-inline-math": "Matemātika", "toggle-highlight": "Izcelt", "toggle-strikethrough": "Pārsvītrot", "toggle-comments": "Komentārs", "folding-menu": "Salocīšana", "fold-all": "Salocīt visu", "unfold-all": "Izlocīt visu", "fold-more": "Salocīt vairāk", "fold-less": "Salocīt mazāk", "source-mode": "Avota režīms", "reading-view": "Lasīšanas skats", "show-debug-info": "Parādīt atkļūdošanas informāciju", "open-sandbox": "Atvērt smilškastes krātuvi", "navigate-back": "Atpakaļ", "navigate-forward": "Uz priekšu", "toggle-left-sidebar": "Pārslēgt kreiso sānjoslu", "toggle-right-sidebar": "Pārslēgt labo sānjoslu", "toggle-ribbon": "Lente", "split-right": "Sadale pa labi", "split-down": "Sadale uz leju", "release-notes": "Izlaiduma piezīmes" }, "plugins": { "name": "Spraudņi", "file-explorer": { "name": "Failu pārlūks", "desc": "Skatiet visus failus savā krātuvē.", "action-open": "Atvērt failu pārlūku", "action-show": "Rādīt failu pārlūku", "action-create-note": "Izveidot jaunu piezīmi", "action-create-folder": "Izveidot jaunu mapi", "action-create-note-in-current-tab": "Izveidot jaunu piezīmi pašreizējā cilnē", "action-create-note-to-the-right": "Izveidot piezīmi pa labi", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Sakļaut visu", "action-expand-all": "Izvērst visu", "action-new-note": "Jauna piezīme", "action-new-folder": "Jauna mape", "action-change-sort": "Mainīt kārtošanas secību", "action-reveal-file": "Parādīt failu failu pārlūkā", "action-reveal-active-file": "Parādīt aktīvo failu failu pārlūkā", "command-make-a-copy": "Izveidot pašreizējā faila kopiju", "command-make-a-copy-mac": "Dublēt pašreizējo failu", "command-move-file": "Pārvietot failu uz citu mapi", "action-new-folder-with-count": "Jauna mape ar atlasi ({{count}} vienums)", "action-new-folder-with-count_plural": "Jauna mape ar atlasi ({{count}} vienumi)", "action-move-file": "Pārvietot failu uz...", "action-move-folder": "Pārvietot mapi uz...", "action-move-items": "Pārvietot {{count}} vienumus uz...", "prompt-type-folder": "Ievadiet mapi", "label-no-folders": "Mapes nav atrastas.", "instruction-navigate": "navigācijai", "instruction-move": "lai pārvietotu", "instruction-create": "lai izveidotu", "instruction-dismiss": "lai noraidītu", "label-sort-a-to-z": "Kārtot pēc faila nosaukuma (A līdz Z)", "label-sort-z-to-a": "Kārtot pēc faila nosaukuma (Z līdz A)", "label-sort-new-to-old": "Kārtot pēc rediģēšanas laika (jaunākie līdz vecākajiem)", "label-sort-old-to-new": "Kārtot pēc rediģēšanas laika (vecākie līdz jaunākajiem)", "label-sort-created-old-to-new": "Izveidošanas laiks (vecākie līdz jaunākajiem)", "label-sort-created-new-to-old": "Izveidošanas laiks (jaunākie līdz vecākajiem)", "menu-opt-new-note": "Jauna piezīme", "menu-opt-new-folder": "Jauna mape", "menu-opt-rename": "Pārdēvēt", "menu-opt-delete": "Dzēst", "menu-opt-make-copy": "Izveidot kopiju", "menu-opt-make-copy-mac": "Dublēt", "msg-invalid-characters": "Faila nosaukums nedrīkst saturēt šādus simbolus: ", "msg-unsafe-characters": "Saites nedarbosies ar failu nosaukumiem, kas satur šādus simbolus: ", "msg-file-already-exists": "Fails ar tādu pašu nosaukumu jau pastāv.", "msg-empty-file-name": "Faila nosaukums nevar būt tukšs.", "msg-bad-dotfile": "Faila nosaukums nedrīkst sākties ar punktu.", "tooltip-modified-time": "Pēdējo reizi rediģēts {{time}}", "tooltip-created-time": "Izveidots {{time}}", "tooltip-folders-files-count": "{{fileCount}} faili, {{folderCount}} mapes", "label-untitled-file": "Bez nosaukuma", "label-untitled-folder": "Bez nosaukuma", "msg-set-attachment-folder": "Pielikumi turpmāk tiks saglabāti mapē \"{{path}}\"." }, "search": { "name": "Meklēšana", "desc": "Meklēt atslēgvārdus visās piezīmēs.", "action-open-search": "Meklēt visos failos", "label-collapse-results": "Sakļaut rezultātus", "label-match-case": "Reģistra sakritība", "label-explain-search-term": "Paskaidrot meklēšanas terminu", "label-more-context": "Rādīt vairāk konteksta", "label-result-count": "{{count}} rezultāts", "label-result-count_plural": "{{count}} rezultāti", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Meklēšanas iestatījumi", "prompt-start-search": "Ievadiet, lai sāktu meklēšanu...", "label-match-text": "Sakrīt teksts: ", "label-match-regex": "Sakrīt ar regex: ", "label-match-exact-text": "Satur precīzu tekstu: ", "label-match-greater-than": "Lielāks nekā: ", "label-match-less-than": "Mazāks nekā: ", "label-match-true": "Ir patiess", "label-match-false": "Ir aplams", "label-match-empty": "Ir tukšs", "label-match-property": "Satur īpašību:", "label-match-all": "Sakritība ar visu: ", "label-match-any": "Sakritība ar jebkuru: ", "label-excluding": "Izslēdzot: ", "label-case-sensitive": "Reģistra jutīgs", "label-case-insensitive": "Reģistra nejutīgs", "label-match-file-path": "Sakrīt ar faila ceļu: ", "label-match-file-name": "Sakrīt ar faila nosaukumu: ", "label-match-content": "Sakrīt ar faila saturu: ", "label-match-task": "Sakrīt ar uzdevumu: ", "label-match-task-todo": "Sakrīt ar uzdevumu (darāmais): ", "label-match-task-done": "Sakrīt ar uzdevumu (paveikts): ", "label-match-line": "Sakrīt ar rindu: ", "label-match-block": "Sakrīt ar bloku: ", "label-match-section": "Sakrīt ar sadaļu: ", "label-match-tag": "Sakrīt ar birku: ", "label-no-matches": "Sakritību nav atrasts.", "matches-with-count": "... un vēl {{count}} sakritība.", "matches-with-count_plural": "... un vēl {{count}} sakritība.", "label-copy-search-results": "Kopēt meklēšanas rezultātus", "button-copy-results": "Kopēt rezultātus", "msg-successfully-copied": "Rezultāti kopēti starpliktuvē.", "option-show-path": "Rādīt ceļu", "option-show-path-description": "Rādīt pilnu faila ceļu, nevis tikai faila nosaukumu.", "option-link-style": "Saites stils", "option-link-style-description": "Pēc izvēles pārvērst katru faila rezultātu par saiti.", "option-choice-link-style-none": "Nav", "option-choice-link-style-wikilink": "Vikisaite", "option-choice-link-style-markdown-link": "Markdown saite", "option-list-prefix": "Saraksta prefikss", "option-list-prefix-description": "Pēc izvēles pievienot saraksta vienuma prefiksu katram faila rezultātam.", "option-choice-list-style-none": "Nav", "option-choice-list-style-dash": "Domuzīme (-)", "option-choice-list-style-asterisk": "Zvaigznīte (*)", "option-choice-list-style-numbered": "Numurēts", "tooltip-clear-search": "Notīrīt meklēšanu", "label-search-options": "Meklēšanas opcijas", "label-properties-group": "Īpašības", "label-tags-group": "Tagi", "tooltip-read-more": "Lasīt vairāk", "label-history": "Vēsture", "tooltip-clear-history": "Notīrīt meklēšanas vēsturi", "label-path-option-description": "sakrist ar faila ceļu", "label-file-name-option-description": "sakrist ar faila nosaukumu", "label-tag-option-description": "meklēt tagus", "label-line-option-description": "meklēt atslēgvārdus tajā pašā rindā", "label-section-option-description": "meklēt atslēgvārdus zem tā paša virsraksta", "label-property-option-description": "sakrist ar īpašību", "menu-opt-search-for": "Meklēt \"{{keyword}}\"", "menu-opt-search-in-folder": "Meklēt mapē" }, "quick-switcher": { "name": "Ātrā pārslēgšana", "desc": "Pāriet uz jebkuru failu, neatstājot tastatūru. Lai aktivizētu, izmantojiet Ctrl/Cmd+O.", "short-name": "Pārslēdzējs", "action-open": "Atvērt ātro pārslēgšanu", "instruction-navigate": "lai pārvietotos", "instruction-open": "lai atvērtu", "instruction-open-in-new-tab": "lai atvērtu jaunā cilnē", "instruction-open-to-the-right": "lai atvērtu pa labi", "instruction-create": "lai izveidotu", "instruction-dismiss": "lai atceltu", "instruction-select": "lai atlasītu", "label-no-note-create-new": "Nav atrastas piezīmes. Nospiediet Enter, lai izveidotu jaunu.", "prompt-type-file-name": "Ierakstiet faila nosaukumu, lai pārslēgtos vai izveidotu...", "label-enter-to-create": "Nospiediet Enter, lai izveidotu", "tooltip-not-created-yet": "Vēl nav izveidots, atlasiet, lai izveidotu", "option-show-existing-only": "Rādīt tikai esošos", "option-show-existing-only-description": "Vai rādīt saites uz failiem, kas vēl nav izveidoti.", "option-show-attachments": "Rādīt pielikumus", "option-show-attachments-desc": "Rādīt failu pielikumus, piemēram, attēlus, video un PDF failus.", "option-show-all-file-types": "Rādīt visus failu tipus", "option-show-all-file-types-desc": "Rādīt visus failus, ieskaitot tos, kurus Obsidian nevar atvērt. Fails tiks atvērts ar noklusējuma lietotni šim faila tipam." }, "graph-view": { "name": "Grafu skats", "desc": "Skatīt grafu pārskatu par to, kuras piezīmes ir saistītas viena ar otru.", "action-open": "Atvērt grafu skatu", "action-open-local": "Atvērt lokālo grafu", "action-copy-screenshot": "Kopēt ekrānuzņēmumu", "tab-title": "{{displayText}} grafs", "label-filters": "Filtri", "prompt-filter-nodes": "Meklēt failus...", "option-depth": "Dziļums", "option-depth-description": "Rādīt mezglus, kas ir šajā attālumā no saitēm", "option-neighbor-links": "Kaimiņu saites", "option-neighbor-links-description": "Rādīt saites starp kaimiņiem.", "option-forelinks": "Izejošās saites", "option-forelinks-description": "Rādīt saites uz citiem failiem", "option-backlinks": "Ienākošās saites", "option-backlinks-description": "Rādīt saites no citiem failiem", "option-show-tags": "Tagi", "option-show-tags-description": "Tagi ir saistīti ar failiem, kuros tie atrodas", "option-show-attachments": "Pielikumi", "option-show-attachments-description": "Rādīt failos iekļautos pielikumus", "option-show-existing-files-only": "Tikai esošie faili", "option-show-existing-files-only-description": "Kad atzīmēts, saites uz neesošiem failiem netiek rādītas", "option-show-orphans": "Bāreņi", "option-show-orphans-description": "Rādīt failus, kas nav saistīti ar citiem failiem", "label-display": "Rādīt", "option-show-arrows": "Bultiņas", "option-show-arrows-description": "Rādīt bultiņas, kad palielināts skats", "option-text-fade": "Teksta izbalēšanas slieksnis", "option-node-size": "Mezglu izmērs", "option-link-thickness": "Saites biezums", "label-forces": "Spēki", "option-center-force": "Centra spēks", "option-link-force": "Saites spēks", "option-link-distance": "Saites attālums", "option-repel-force": "Atgrūšanās spēks", "tooltip-open-graph-settings": "Atvērt grafa iestatījumus", "msg-screenshot-copied": "Ekrānuzņēmums nokopēts starpliktuvē.", "label-groups": "Grupas", "placeholder-enter-query": "Ievadiet vaicājumu...", "tooltip-delete-graph": "Dzēst grupu", "button-new-group": "Jauna grupa", "tooltip-click-to-change-drag-to-reorder": "Noklikšķiniet, lai mainītu krāsu\nVelciet, lai pārkārtotu grupas", "action-timelapse": "Sākt grafa animāciju laika ritējumā", "tooltip-start-timelapse-animation": "Sākt laika ritējuma animāciju", "button-animate-timelapse": "Animēt" }, "backlinks": { "name": "Atpakaļsaites", "desc": "Rādīt atpakaļsaiteņu skaitu statusa joslā.", "action-open": "Atvērt atpakaļsaites", "action-show": "Rādīt atpakaļsaišu paneli", "action-open-for-current": "Atvērt atpakaļsaites aktīvajam failam", "action-toggle-backlinks-in-document": "Pārslēgt atpakaļsaites dokumentā", "menu-opt-backlinks-in-document": "Atpakaļsaites dokumentā", "label-linked-mentions": "Saistītās pieminēšanas", "label-no-backlinks": "Atpakaļsaites nav atrastas.", "label-unlinked-mentions": "Nesaistītās pieminēšanas", "label-show-search": "Rādīt meklēšanas filtru", "label-link-button-text": "Saite", "tab-title": "Atpakaļsaites par {{displayText}}", "label-no-unlinked-mentions": "Nesaistītās pieminēšanas nav atrastas.", "ellipsis": "...", "option-backlink-in-document": "Atpakaļsaite dokumentā", "option-backlink-in-document-desc": "Pēc noklusējuma rādīt atpakaļsaites dokumentā, atverot jaunas rūtiņas." }, "outgoing-links": { "name": "Izejošās saites", "desc": "Rādīt izejošās saites un noteikt nesaistītās pieminēšanas citās piezīmēs aktīvajā piezīmē.", "action-open": "Atvērt izejošās saites", "action-show": "Rādīt izejošo saišu paneli", "action-open-for-current": "Atvērt izejošās saites aktīvajam failam", "tab-title": "Izejošās saites no {{displayText}}", "label-links": "Saites", "label-no-links": "Saites nav atrastas.", "label-unlinked-mentions": "Nesaistītās pieminēšanas", "tooltip-link-file": "Saistīt šo failu", "tooltip-not-created": "Vēl nav izveidots" }, "tag-pane": { "name": "Birkas panelis", "short-name": "Birkas", "desc": "Rāda visas jūsu birkas kopā ar to biežumu.", "action-show": "Rādīt birku paneli", "label-no-tags": "Birkas nav atrastas.", "label-sort-by-name-a-to-z": "Birkas nosaukums (A līdz Z)", "label-sort-by-name-z-to-a": "Birkas nosaukums (Z līdz A)", "label-sort-by-frequency-high-to-low": "Biežums (no augsta uz zemu)", "label-sort-by-frequency-low-to-high": "Biežums (no zema uz augstu)", "action-show-nested-tags": "Rādīt ligzdotās birkas", "action-collapse-all": "Sakļaut visu", "action-expand-all": "Izvērst visu" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Īpašību skats", "desc": "Rādīt failu metadatus.", "name-global": "Visas īpašības", "name-local": "Faila īpašības", "tab-title": "Faila īpašības priekš {{displayText}}", "action-show": "Rādīt visas īpašības", "action-show-local": "Rādīt faila īpašības", "opt-unassign-type": "Noņemt tipu", "label-no-properties": "Īpašības nav atrastas.", "label-invalid-properties": "Nederīgas īpašības.", "label-sort-by-name-a-to-z": "Īpašību nosaukums (A līdz Z)", "label-sort-by-name-z-to-a": "Īpašību nosaukums (Z līdz A)", "label-sort-by-frequency-high-to-low": "Frekvence (no augstākās līdz zemākajai)", "label-sort-by-frequency-low-to-high": "Frekvence (no zemākās līdz augstākajai)", "msg-merge-properties-warning": "Apvienot īpašību “{{oldKey}}” ar “{{newKey}}”?", "msg-merge-properties-warning-desc": "Konfliktu gadījumā vērtības tiks apvienotas vai tiks izmantota “{{oldKey}}” vērtība.", "action-collapse-all": "Sakļaut visu", "action-expand-all": "Izvērst visu", "action-open-local": "Atvērt faila īpašības", "action-open-daily-note": "Atvērt dienas piezīmi" }, "page-preview": { "name": "Lapas priekšskatījums", "desc": "Priekšskatīt piezīmi, uzvedot peles kursoru virs iekšējās saites. Ctrl/Cmd + virs peles kursora rediģēšanas režīmā.", "label-empty-attachment": "“{{linktext}}” nav atrasts.", "label-empty-note": "\"{{linktext}}\" vēl nav izveidots. Noklikšķiniet, lai izveidotu.", "label-missing-footote": "Zemsvītras piezīme {{id}} nav atrasta. Noklikšķiniet, lai izveidotu.", "label-source-editor": "Redaktors", "label-source-preview": "Priekšskatījums", "label-source-search": "Meklēšana, Atpakaļsaites un Izejošās saites", "label-source-tab-header": "Tab header", "label-require-mod": "Nepieciešams {{key}}, lai iedarbinātu lapas priekšskatījumu, uzvedot peles kursoru" }, "bookmarks": { "name": "Grāmatzīmes", "desc": "Grāmatzīme bieži lietotajiem failiem un meklējumiem.", "action-show": "Rādīt grāmatzīmes", "action-collapse-all": "Sakļaut visu", "action-new-bookmark": "Grāmatzīme aktīvajai cilnei...", "action-new-group": "Jauna grāmatzīmju grupa", "action-bookmark": "Pievienot grāmatzīmi...", "action-add-bookmark": "Pievienot grāmatzīmi", "action-edit-bookmark": "Rediģēt grāmatzīmi", "action-bookmark-block": "Pievienot grāmatzīmi bloka elementam zem kursora...", "action-bookmark-heading": "Pievienot grāmatzīmi virsrakstam zem kursora...", "action-bookmark-search": "Grāmatzīme aktīvajā meklēšanā...", "action-remove-bookmark": "Noņemt grāmatzīmi pašreizējam failam", "action-bookmark-tab-group": "Atzīmēt {{count}} cilni...", "action-bookmark-tab-group_plural": "Atzīmēt {{count}} cilnes...", "action-bookmark-all-tabs": "Atzīmēt visas cilnes...", "action-bookmark-graph": "Pievienot šo grafu grāmatzīmēm...", "label-bookmark": "Grāmatzīme", "label-bookmarked": "Pievienots grāmatzīmēm", "label-bookmark-with-count": "{{count}} grāmatzīme", "label-bookmark-with-count_plural": "{{count}} grāmatzīmes", "label-no-bookmarks": "Nav atrastas grāmatzīmes", "label-invalid-data": "Neizdevās ielādēt grāmatzīmes.", "label-invalid-data-desc": "Datu fails ir bojāts", "label-untitled-group": "Nepārdēvēta grupa", "label-untitled-graph": "Nepārdēvēts grafiks", "menu-opt-edit": "Rediģēt...", "menu-opt-remove": "Noņemt", "menu-opt-rename": "Pārdēvēt", "menu-opt-bookmark-block": "Pievienot šo bloku grāmatzīmēm...", "menu-opt-bookmark-heading": "Pievienot šo virsrakstu grāmatzīmēm...", "msg-no-search-query": "Nav meklēšanas vaicājuma, lai pievienotu grāmatzīmei.", "option-path": "Ceļš", "option-query": "Vaicājums", "option-u-r-l": "URL", "option-title": "Nosaukums", "option-group": "Grāmatzīmju grupa", "placeholder-bookmark-group": "Grāmatzīmes" }, "custom-css": { "name": "Pielāgots CSS", "desc": "Nolasa \"obsidian.css\" no krātuves un piemēro to.", "setting-community-themes": "Kopienas tēmas", "msg-fetching-themes": "Tiek iegūti kopienas tēmu dati...", "prompt-filter": "Filtrēt...", "label-dark-theme-only": "Tikai tumšās tēmas", "label-light-theme-only": "Tikai gaišās tēmas", "label-use": "Izmantot", "label-stop-use": "Pārtraukt šīs tēmas izmantošanu", "label-install-and-use": "Instalēt un izmantot", "label-update": "Atjaunināt", "label-no-readme": "Šī tēma nesniedza README failu.", "tooltip-remove-theme": "Noņemt tēmu", "label-visit-on-github": "Apmeklēt GitHub", "msg-load-error": "Neizdevās ielādēt kopienas tēmas, lūdzu, pārbaudiet savu tīklu.", "msg-now-using-theme": "Tagad jūs izmantojat {{title}} kā savu CSS tēmu.", "msg-deleted-theme": "Tēma {{title}} ir dzēsta.", "msg-updated-theme": "Tēma {{title}} ir atjaunināta.", "label-installed": "Instalēts", "label-legacy": "Mantojums", "button-update-all-themes": "Atjaunināt visu", "msg-failed-load-themes": "Neizdevās ielādēt kopienas tēmas.", "msg-no-updates-found": "Nav atrasti tēmu atjauninājumi.", "msg-updates-found": "Atrasta {{count}} tēma, kuru nepieciešams atjaunināt.", "msg-updates-found_plural": "Atrastas {{count}} tēmas, kuras nepieciešams atjaunināt.", "msg-failed-to-install-theme": "Neizdevās instalēt tēmu \"{{name}}\".", "msg-successfully-installed-theme": "Tēma \"{{name}}\" veiksmīgi instalēta.", "msg-installing-theme": "Notiek tēmas \"{{name}}\" instalēšana...", "label-search-summary": "Rāda {{themeCount}}:", "label-update-available": "Pieejams atjauninājums" }, "command-palette": { "name": "Command palette", "desc": "Ievadiet komandu, lai to izpildītu. Nav nepieciešams izmantot saskarni vai atcerēties īsinājumtaustiņus.", "action-open": "Atvērt komandu paleti", "instruction-navigate": "navigēt", "instruction-use": "lietot", "instruction-dismiss": "aizvērt", "label-no-commands": "Nav atrastas komandas.", "prompt-type-command": "Ievadiet komandu...", "label-pinned-commands": "Piespraustās komandas", "option-add-new-pin": "Jauna piespraustā komanda", "option-add-new-pin-description": "Piespraustās komandas parādīsies saraksta augšpusē, ja nav ievadīta meklēšanas frāze." }, "markdown-format-importer": { "name": "Markdown formāta importētājs", "desc": "Konvertēt Markdown no citām lietotnēm uz Obsidian formātu.", "action-open": "Atvērt Markdown importētāju", "option-roam-tag-fixer": "Roam Research birku labotājs", "option-roam-tag-fixer-description": "Konvertē \"#tag\" un \"#[[tag]]\" uz \"[[tag]]\".", "option-roam-highlight-fixer": "Roam Research iezīmējumu labotājs", "option-roam-highlight-fixer-description": "Konvertē \"^^highlight^^\" uz \"==highlight==\".", "option-roam-todo-converter": "Roam Research TODO pārveidotājs", "option-roam-todo-converter-description": "Konvertē \"{{[[TODO]]}}\" uz \"[ ]\".", "option-bear-highlight-fixer": "Bear iezīmējumu labotājs", "option-bear-highlight-fixer-description": "Konvertē \"::highlight::\" uz \"==highlight==\".", "zettelkasten-link-fixer": "Zettelkasten saišu labotājs", "zettelkasten-link-fixer-description": "Labojiet \"[[UID]]\" saites uz pilnu formu \"[[UID Faila nosaukums]]\".", "zettelkasten-link-beautifier": "Zettelkasten saišu uzlabošanas rīks", "zettelkasten-link-beautifier-description": "Labojiet \"[[UID]]\" saites un uzlabojiet tās uz \"[[UID Faila nosaukums|Faila nosaukums]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Brīdinājums: importētājs konvertēs visus failus jūsu krātuvē, ne tikai pašreizējo failu.", "msg-override-files-warning": "Jūsu faili tiks pārrakstīti. Pirms mēģinājuma pārliecinieties, ka veicāt dublēšanu.", "label-start-conversion": "Sākt konvertēšanu", "label-stop": "Apturēt", "label-go-back": "Atgriezties", "label-done": "Pabeigts", "label-processing": "Apstrāde...", "label-cancelling": "Atcelšana...", "label-finished": "Pabeigts!", "label-processed-files": "Apstrādātie faili", "label-modified-files": "Modificētie faili", "label-total-replacements": "Kopējās nomaiņas", "label-failed": "Failed" }, "daily-notes": { "name": "Dienas piezīmes", "desc": "Atveriet šodienas piezīmi vai izveidojiet to, ja tā neeksistē.", "short-name": "Šodien", "action-open": "Atvērt šodienas piezīmi", "action-open-previous": "Atvērt iepriekšējo dienas piezīmi", "action-open-next": "Atvērt nākamo dienas piezīmi", "action-insert-text": "Ievietot tekstu dienas piezīmē", "action-insert-link": "Ievietot saiti dienas piezīmē", "msg-fail-format": "Neizdevās izveidot dienas piezīmi. \"{{format}}\" nav derīgs formāts.", "msg-fail-folder": "Neizdevās izveidot dienas piezīmi. Mape \"{{folderOption}}\" nav atrasta.", "msg-fail-template-file": "Neizdevās izveidot dienas piezīmi. Veidnes fails \"{{template}}\" nav atrasts.", "msg-no-previous": "Nav iepriekšējās dienas piezīmes.", "msg-no-next": "Nav nākamās dienas piezīmes.", "option-date-format": "Datuma formāts", "label-refer-to-syntax": "Papildinformācijai par sintaksi skatiet: ", "label-syntax-link": "formāta atsauce", "label-syntax-live-preview": "Šādi tas izskatīsies: ", "option-new-file-location": "Jaunā faila atrašanās vieta", "option-new-file-location-description": "Mapes ceļš, kurā izveidot jauno dienas piezīmi.", "option-template": "Veidnes faila atrašanās vieta", "option-template-description": "Faila ceļš, ko izmantot kā veidni.", "option-open-on-start": "Atvērt dienas piezīmi startēšanas laikā", "option-open-on-start-description": "Automātiski atvērt dienas piezīmi, kad tiek atvērta šī krātuve." }, "unique-note-creator": { "name": "Unikālo piezīmju veidotājs", "desc": "Izveidojiet piezīmes ar unikāliem laika zīmogu prefiksiem, piemēram, Zettelkasten vai slip box darbplūsmām.", "short-name": "Unikāls", "action-create-note": "Izveidot jaunu unikālo piezīmi", "action-add-link": "Add unique internal link", "option-new-file-location": "Jaunā faila atrašanās vieta", "option-new-file-location-description": "Mapes ceļš, kurā izveidot jauno unikālo piezīmi.", "msg-folder-not-found": "Neizdevās izveidot unikālo piezīmi. Mape \"{{folderOption}}\" nav atrasta.", "option-template-file": "Veidnes faila atrašanās vieta", "option-template-file-description": "Faila ceļš, ko izmantot kā veidni.", "option-template-file-placeholder": "Piemērs: folder1/note", "option-id-format": "Unikālā prefiksa formāts", "msg-template-file-not-found": "Neizdevās izveidot unikālo piezīmi. Veidnes fails \"{{template}}\" nav atrasts.", "msg-failed-to-generate": "Neizdevās ģenerēt unikālo piezīmi ar formātu \"{{format}}\"." }, "random-note": { "name": "Nejauša piezīme", "desc": "Atver nejaušu piezīmi. Noderīgi pārskatīšanai un atklājumiem.", "short-name": "Nejauša", "action-open": "Atvērt nejaušu piezīmi" }, "outline": { "name": "Satura rādītājs", "desc": "Parāda pašreizējā faila vai saistītā loga satura rādītāju.", "action-open": "Atvērt satura rādītāju", "action-show": "Parādīt satura rādītāja paneli", "action-open-for-current": "Atvērt pašreizējā faila satura rādītāju", "tab-title": "{{displayText}} satura rādītājs", "label-no-headings": "Virsraksti nav atrasti.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Vārdu skaits", "desc": "Parādīt vārdu skaitu statusjoslā." }, "slides": { "name": "Slaidi", "desc": "Prezentācija no Markdown. Izmantojiet \"---\" lai atdalītu slaidus.", "action-start": "Sākt prezentāciju" }, "audio-recorder": { "name": "Audio ierakstītājs", "desc": "Ierakstiet audio un saglabājiet to kā pielikumu.", "action-start": "Sākt audio ierakstu", "action-stop": "Pārtraukt audio ierakstu", "action-toggle": "Sākt/pārtraukt ierakstīšanu", "msg-access-denied": "Mikrofona piekļuve tika liegta, lūdzu, ieslēdziet to preferences paneļa iestatījumos.", "msg-pending-grant": "Lūdzu, piešķiriet atļauju mikrofonam, lai sāktu ierakstīšanu.", "msg-no-microphone": "Mikrofons nav pievienots." }, "open-with-default-app": { "name": "Atvērt noklusējuma lietotnē", "desc": "Pievienot pogu pašreizējā faila atvēršanai noklusējuma lietotnē.", "action-open-file": "Atvērt noklusējuma lietotnē", "action-open-file-mobile": "Kopīgot", "action-show-in-folder": "Parādīt mapē", "action-show-in-folder-mac": "Parādīt Finder" }, "templates": { "name": "Veidnes", "desc": "Ievieto veidnes saturu no mapes ar veidņu failiem.", "action-insert": "Ievietot veidni", "action-insert-current-date": "Ievietot pašreizējo datumu", "action-insert-current-time": "Ievietot pašreizējo laiku", "option-template-folder-location": "Veidņu mapes atrašanās vieta", "option-template-folder-location-description": "Faili šajā mapē būs pieejami kā veidnes.", "option-template-date-format": "Datuma formāts", "option-template-date-format-description": "{{date}} veidnes failā tiks aizstāts ar šo vērtību.", "option-template-date-format-description2": "Jūs varat izmantot arī {{date:YYYY-MM-DD}}, lai mainītu formātu vienreiz.", "option-template-time-format": "Laika formāts", "option-template-time-format-description": "{{time}} veidnes failā tiks aizstāts ar šo vērtību.", "option-template-time-format-description2": "Jūs varat izmantot arī {{time:HH:mm}}, lai mainītu formātu vienreiz.", "instruction-navigate": "navigācijai", "instruction-insert": "lai ievietotu veidni", "instruction-dismiss": "lai aizvērtu", "msg-no-templates-found": "Nav atrasta neviena veidne", "msg-fail-invalid-folder": "Neizdevās uzskaitīt veidnes. Veidņu mape ir nederīga.", "msg-fail-folder-not-found": "Neizdevās uzskaitīt veidnes. Mape \"{{folderOption}}\" nav atrasta.", "msg-fail-invalid-template-properties": "Nevar ievietot veidni, veidnes faila īpašības nav lasāmas.", "msg-no-folder-set": "Neizdevās uzskaitīt veidnes. Nav konfigurēta neviena veidņu mape.", "prompt-type-template": "Ierakstiet veidnes nosaukumu..." }, "translucency": { "name": "Puscaurspīdīgs logs", "desc": "Ieslēdziet caurspīdīguma efektu, lai uzlabotu dziļuma sajūtu. Vislabāk izmantojams tumšajā režīmā. Nav atbalstīts Linux." }, "slash-command": { "name": "Slash komandas", "desc": "Iespējojiet slash komandu izsaukšanu redaktorā, rakstot slīpsvītru." }, "editor-status": { "name": "Redaktora statuss", "desc": "Pievieno statusjoslas vienumu, lai parādītu un mainītu pašreizējo redaktora režīmu.", "read": "Lasīšana", "edit-source": "Avots", "edit-live-preview": "Tiešais priekšskatījums" }, "publish": { "name": "Publicēt", "desc": "Publicējiet savas piezīmes, izmantojot Obsidian Publish.", "action-publish-changes": "Publicēt izmaiņas...", "action-publish-file": "Publicēt pašreizējo failu", "label-no-internet-access": "Lai publicētu izmaiņas, nepieciešama piekļuve internetam.", "label-publish-service-description": "Obsidian Publish ir maksas papildpakalpojums, kas ļauj publicēt savas piezīmes tiešsaistē tieši no Obsidian.", "label-please-login": "Lai sāktu publicēšanu, lūdzu, piesakieties vai izveidojiet jaunu Obsidian kontu.", "label-no-publish-subscription": "Jums vēl nav abonementa uz Obsidian Publish.", "button-purchase": "Iegādāties", "label-manage-sites": "Pārvaldīt vietnes", "label-no-sites": "Jums nav nevienas vietnes.", "button-choose": "Izvēlēties", "tooltip-edit-site-id": "Rediģēt vietnes ID", "tooltip-delete-site": "Dzēst vietni", "label-delete-site-confirmation": "Vai tiešām vēlaties dzēst šo vietni?", "label-delete-site-details": "Šī darbība nekavējoties un neatgriezeniski dzēsīs jūsu vietni.", "label-confirm-delete-site": "Apstipriniet vietnes \"{{site}}\" dzēšanu", "option-site-id": "Vietnes ID", "option-site-id-description": "Jūsu vietne būs pieejama https://publish.obsidian.md/{site id}. To var mainīt vēlāk. Tiek atļautas tikai mazās burti, cipari un defises.", "option-site-id-placeholder": "Izvēlieties vietnes ID", "button-create": "Izveidot", "msg-invalid-site-id": "Vietnes ID drīkst saturēt tikai mazās burti, ciparus un defises.", "msg-site-id-in-use": "TŠis vietnes ID jau tiek izmantots, lūdzu, izmēģiniet citu.", "msg-create-site-issue": "Radās problēma, izveidojot jūsu vietni.", "label-site-options": "Vietnes iestatījumi", "option-site-general": "Vispārīgi", "option-site-components": "Komponenti", "option-site-appearance": "Izskats", "option-site-reading-experience": "Lasīšanas pieredze", "option-site-misc": "Citi vietnes iestatījumi", "option-site-name": "Vietnes nosaukums", "option-site-name-description": "Jūsu publicētās vietnes nosaukums. Tas tiks rādīts vietnes lapas nosaukumā.", "option-site-name-placeholder": "Vietnes nosaukums", "option-home-page-file": "Mājaslapas fails", "option-home-page-file-description": "Pirmā lapa, ko lietotājs redzēs, apmeklējot jūsu publicēto vietni.", "option-home-page-file-placeholder": "Izvēlieties publicētu failu", "option-logo": "Logotips", "option-logo-description": "Izvēlieties attēla failu kā vietnes logotipu.", "option-logo-placeholder": "Jebkurš augšupielādēts attēls jūsu krātuvē...", "option-site-collaboration": "Vietnes sadarbība", "option-site-collaboration-desc": "Pārvaldiet šīs vietnes sadarbības partnerus.", "option-customize-navigation": "Pielāgot navigāciju", "option-customize-navigation-desc": "Mainiet navigācijas elementu kārtību un paslēpiet lapas vai mapes no redzamības.", "option-navigation-order": "Navigācijas vienumu kārtība", "option-hide-items-in-navigation": "Paslēpt lapas vai mapes no navigācijas", "option-hide-items-in-navigation-desc": "Noklikšķiniet ar labo peles pogu un izvēlieties \"Hide\", lai novērstu konkrētu lapu parādīšanos vietnes navigācijā. Lapas joprojām būs pieejamas, izmantojot saites vai tieši ievadot URL.", "option-show-hidden-items": "Rādīt paslēptos", "button-customize-sidebar": "Pārvaldīt", "label-navigation-modal-title": "Navigācija", "label-navigation-modal-desc": "Velciet un nometiet, lai pielāgotu navigācijas elementu secību jūsu Publish vietnē.", "option-hide-in-navigation": "Paslēpt navigācijā", "button-manage-collaborators": "Pārvaldīt", "option-theme": "Tēma", "option-theme-description": "Izvēlieties noklusēto krāsu shēmu jūsu vietnei.", "option-theme-system": "Pielāgoties sistēmai", "option-show-theme-toggle": "Gaišā/tumšā tēmas pārslēgs", "option-show-theme-toggle-description": "Ļauj apmeklētājam pašam pārslēgties starp gaišo un tumšo tēmu.", "option-show-navigation": "Parādīt navigāciju", "option-show-navigation-description": "Rādiet publicēto lapu sarakstu jūsu vietnes kreisajā pusē.", "option-show-search": "Rādīt meklētāju", "option-show-search-description": "Parādiet meklēšanas joslu navigācijas augšpusē, lai ļautu apmeklētājiem meklēt lapas un virsrakstus jūsu vietnē.", "option-show-graph": "Parādīt grafu skatu", "option-show-graph-description": "Parādiet nelielu vietējo grafu katrā lapā.", "option-show-outline": "Parādīt satura rādītāju", "option-show-outline-description": "Parādiet virsrakstu izklāstu katrā lapā.", "option-show-backlinks": "Parādīt atpakaļsaites", "option-show-backlinks-description": "Rādīt atpakaļsaišu sadaļu katras lapas beigās.", "option-sliding-window-mode": "Izmantot slīdošos logus", "option-sliding-window-mode-description": "Atveriet lapas jaunās rūts labajā pusē. Ļauj ritināt rūti horizontāli.", "option-hover-preview-file": "Parādīt uznirstošo priekšskatījumu", "option-hover-preview-file-description": "Parādiet lapas priekšskatījumu, pārliekot peles kursoru virs saitēm.", "option-hide-title": "Paslēpt lapas virsrakstu", "option-hide-title-description": "Paslēpiet lapas virsrakstu. Noderīgi, ja katras lapas sākumā ir jūsu pašu virsraksti.", "option-readable-line-length": "Lasāms rindas garums", "option-readable-line-length-description": "Ierobežojiet maksimālo rindas garumu. Ekrānā parādīsies mazāk satura, taču garākus rindkopas būs vieglāk lasīt.", "option-site-password": "Paroles", "option-site-password-description": "Ierobežot piekļuvi jūsu vietnei ar parolēm.", "option-google-analytics": "Google Analytics izsekošanas kods", "option-google-analytics-description": "Konfigurējiet Google Analytics savā vietnē. Pieejams tikai apmeklētājiem no jūsu pielāgotās domēna URL. Lūdzu, pārbaudiet vietējos likumus un noteikumus.", "button-manage-passwords": "Pārvaldīt", "button-save-site-settings": "Saglabāt vietnes iestatījumus", "msg-updated-options": "Atjauninātas vietnes opcijas.", "button-go-back": "Atpakaļ", "label-publishing-to": "Publicēšana uz", "tooltip-switch-site": "Mainīt vietni", "button-add-linked": "Pievienot saistītos", "tooltip-add-linked": "Pievienot visus failus, kas ir saistīti ar pašreiz atlasītajiem vienumiem", "msg-added-linked-files": "{{count}} saistītais fails ir pievienots.", "msg-added-linked-files_plural": "{{count}} saistītie faili ir pievienoti.", "tooltip-open-site-options": "Mainīt vietnes opcijas", "label-no-changes-detected": "Izmaiņas nav konstatētas.", "label-changed-files-to-be-published": "Izmaiņas", "label-unchanged-files-already-published": "Neizmainīts (atlasiet, lai izdzēstu)", "label-file-selected": " atlasīts", "button-select-all-files": "Atlasīt visus", "label-custom-navigation-title": "Navigācijas vienumi", "button-deselect-all-files": "Noņemt atlasi", "label-new-files-to-be-published": "Jauns", "button-publish": "Publicēt", "msg-no-permission-to-publish-to-site": "Jums nav atļaujas publicēt šo vietni.", "msg-select-at-least-one-file": "Lūdzu, atlasiet vismaz vienu failu.", "label-upload-changes": "Augšupielādēt izmaiņas", "button-done": "Gatavs", "button-stop": "Apturēt", "label-status-uploading": "Augšupielāde", "label-status-to-publish": "Publicēšanai", "label-status-to-delete": "Dzēšanai", "label-status-published": "Publicēts", "label-status-deleted": "Izdzēsts", "label-status-failed": "Neizdevās", "label-status-cancelled": "Atcelts", "button-change": "Mainīt", "label-clear-cache": "Izmaiņu parādīšanās vietnē var aizņemt vairākas minūtes. Ja neredzat jaunākās izmaiņas, mēģiniet notīrīt pārlūkprogrammas kešatmiņu.", "label-visit-site": "Jūs varat apmeklēt savu vietni šeit: ", "msg-something-went-wrong": "Radās kļūda. Lūdzu, pārbaudiet izstrādātāja konsoli, lai iegūtu sīkāku informāciju.", "msg-network-error": "Notika tīkla kļūda. ", "label-manage-passwords": "Pārvaldīt paroles", "label-add-password": "Pievienot paroli", "action-new-password": "Jauna parole", "label-no-password": "Pašlaik jūsu vietnē nav parolēs. Ikviens var to apmeklēt.", "label-have-password": "Jūsu vietne ir aizsargāta ar paroli. Ja jums ir vairākas paroles, apmeklētāji var piekļūt vietnei, ievadot jebkuru no tām.", "option-password-name": "Parole", "option-password-desc": "Jūsu paroles hash tiks droši saglabāts. Kad parole ir iestatīta, to nevar parādīt parastajā tekstā.", "option-password-placeholder": "Jūsu parole", "option-nickname-name": "Segvārds (pēc izvēles)", "option-nickname-desc": "Iestatiet segvārdu, lai atcerētos, kam vai kādam nolūkam ir šī parole.", "action-add-password": "Pievienot šo paroli", "label-untitled-password": "Bez nosaukuma parole", "label-password-created-time": "Izveidots {{time}}", "msg-added-new-password": "Pievienota jauna parole.", "option-custom-domain": "Pielāgots domēns", "option-custom-domain-desc": "Izmantojiet savu domēnu, nevis https://publish.obsidian.md/{site id} URL.", "option-noindex": "Aizliegt meklētājprogrammām indeksēt", "option-noindex-desc": "Neļaut meklētājprogrammām indeksēt jūsu vietni.", "button-configure": "Konfigurēt", "label-configure-custom-domain": "Konfigurēt pielāgoto domēnu", "option-custom-url-name": "Pielāgots URL", "option-custom-url-desc": "URL, kurā jūsu vietne būs pieejama.", "option-custom-url-placeholder": "www.jusudomains.lv", "option-custom-url-redirect": "Pāradresēt uz jūsu pielāgoto domēnu", "option-custom-url-redirect-desc": "Pāradresēt apmeklētājus no publish.obsidian.md/id uz jūsu pielāgoto domēnu.", "button-update-custom-domain": "Atjaunināt domēna iestatījumus", "label-custom-domain-instructions": "Lūdzu, skatiet mūsu {{link}} mūsu palīdzības vietnē, lai iegūtu vairāk informācijas.", "label-custom-domain-link-name": "pielāgoto domēnu iestatīšanas ceļvedis", "label-site-usage": "Jūs izmantojat {{site}} no {{limit}}.", "button-add-more-sites": "Nopirkt vairāk vietņu", "label-no-sites-bought": "Jūs neesat iegādājies nevienu vietni.", "button-get-site": "Iegūt vietni", "label-manage-sharing": "Pārvaldīt kopīgošanu \"{{name}}\"", "label-sharing-with-users": "Pašlaik šī vietne ir kopīgota ar šādiem cilvēkiem.", "label-not-sharing": "Pašlaik šī vietne nav kopīgota ar nevienu.", "label-invite-pending": "Gaida", "tooltip-remove-user": "Noņemt lietotāju", "option-invite-user": "Uzaicināt lietotāju", "placeholder-invite-user": "Ievadiet viņu e-pastu...", "error-email-must-be-valid": "Lūdzu, ievadiet derīgu e-pastu, lai uzaicinātu kādu.", "msg-enable-publish-plugin": "Lūdzu, iespējojiet Publish Core spraudni sadaļā Iestatījumi -> Core spraudņi, lai apskatītu vietnes.", "label-your-sites": "Jūsu vietnes", "label-sites-shared-with-you": "Vietnes, kas kopīgots ar jums", "tooltip-leave-site-sharing": "Pārtraukt sadarbību šajā vietnē", "label-leave-site-confirmation": "Apstiprināt vietnes sadarbības pārtraukšanu", "label-leave-site-confirmation-details": "Tas noņems šo vietni no kopīgoto vietņu saraksta. Šo darbību nevar atcelt.", "label-leave-site-confirmation-details-2": "Lūdzu, sazinieties ar vietnes īpašnieku, ja vēlaties turpināt sadarbību šajā vietnē.", "button-leave": "Atstāt", "label-compare-with-live": "Salīdzināt ar tiešsaistes versiju", "button-use-live-version": "Izmantot tiešsaistes versiju", "label-confirm-override": "Apstiprināt vietējās versijas pārrakstīšanu", "label-confirm-override-1": "Vai tiešām vēlaties pārrakstīt vietējo versiju?", "label-confirm-override-2": "Tiks izmantota tiešsaistes versija, un jūsu vietējā versija tiks dzēsta. Lūdzu, izveidojiet dublējumus, ja nepieciešams.", "button-proceed": "Turpināt", "message-successfully-used-live-version": "Tiešsaistes versija veiksmīgi izmantota, lai pārrakstītu jūsu vietējo versiju.", "label-open-in-live-site": "Open in live site", "label-open-file": "Atvērt failu", "tooltip-manage-publish-filters": "Pārvaldīt publicēšanas filtrus", "option-included-folders": "Iekļautās mapes", "option-included-folders-desc": "Faili šajās mapēs tiks automātiski atlasīti, kad pārskatīsiet publicējamās izmaiņas.", "option-currently-included-folders": " Šobrīd tiek iekļautas šādas mapes:", "option-excluded-folders": "Izslēgtās mapes", "option-excluded-folders-desc": "Faili šajās mapēs netiks rādīti, kad pārskatīsiet publicējamās izmaiņas. Šis iestatījums ir prioritāte pār iepriekš minētajām iekļautajām mapēm.", "label-number-of-folders-included": "Obsidian Publish šobrīd iekļauj {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish šobrīd izslēdz {{folders}}.", "label-manage-included-folders": "Pārvaldīt iekļautās mapes", "label-manage-excluded-folders": "Pārvaldīt izslēgtās mapes", "label-add-included-folder": "Iekļaut mapi", "label-add-included-folder-desc": "Varat iekļaut gan esošās mapes, gan mapes, kas vēl nav izveidotas.", "tooltip-contact-support": "Sazināties ar atbalstu", "label-navigation-preview": "Navigācijas priekšskatījums" }, "workspaces": { "name": "Darbtelpas", "desc": "Saglabājiet un ielādējiet darbtelpas izkārtojumu.", "action-load-layout": "Ielādēt darba telpas izkārtojumu", "action-manage-layouts": "Pārvaldīt darba telpas izkārtojumus", "action-save": "Saglabāt izkārtojumu", "action-save-and-load-layout": "Saglabāt un ielādēt citu izkārtojumu", "placeholder-save-current-layout-as": "Saglabāt pašreizējo darbtelpas izkārtojumu kā...", "button-save": "Saglabāt", "button-load": "Ielādēt", "tooltip-delete-layout": "Dzēst izkārtojumu", "msg-enter-name": "Lūdzu, ievadiet jauna izkārtojuma nosaukumu.", "msg-save-layout-success": "Izkārtojums veiksmīgi saglabāts.", "label-no-layout-found": "Nav saglabātu izkārtojumu.", "label-workspace-modified-time": "Modificēts {{time}}", "placeholder-type-to-search-layouts": "Ierakstiet izkārtojuma nosaukumu..." }, "sync": { "name": "Sinhronizācija", "desc": "Sinhronizējiet savus failus, izmantojot Obsidian Sync.", "action-view-version-history": "Skatīt versiju vēsturi", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Atvērt versiju vēsturi", "action-view-sync-sidebar": "Rādīt sinhronizācijas vēsturi", "action-activity-log": "Atvērt darbību žurnālu", "label-load-more": "Ielādēt vairāk", "label-show-diff": "Rādīt atšķirības", "label-copy-to-clipboard": "Kopēt starpliktuvē", "label-restore-this-version": "Atjaunot šo versiju", "msg-already-latest-version": "Šī ir jaunākā versija.", "msg-restored-version": "Versija veiksmīgi atjaunota no {{time}}", "label-file-deleted": "Šis fails tika izdzēsts", "label-file-deleted-via": "Izdzēsts, izmantojot {{device}}", "label-file-renamed-from": "Šis fails tika pārdēvēts no \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 pārskatījums", "label-revision_plural": "{{revisions}} pārskatījumi", "label-via-device": "izmantojot {{device}}", "label-no-history": "Šim failam nav sinhronizācijas vēstures.", "label-empty-file": "Tukšs", "label-unable-to-retrieve": "Neizdevās iegūt versiju vēsturi", "label-setting-files": "Iestatījumu faili", "label-deleted-files": "Izdzēstie faili", "label-version-history": "Versiju vēsture", "label-click-to-see-history": "Noklikšķiniet uz izdzēstā faila, lai skatītu tā vēsturi.", "label-create-remote-vault": "Izveidot attālināto krātuvi", "msg-please-enter-password": "Lūdzu, ievadiet paroli.", "msg-vault-name-cannot-be-empty": "Krātuves nosaukums nevar būt tukšs.", "msg-successfully-created-vault": "Attālinātā krātuve \"{{name}}\" veiksmīgi izveidota.", "label-remote-vault-explanation": "Attālinātās krātuves droši sinhronizē jūsu krātuvi starp ierīcēm.", "option-vault-name": "Krātuves nosaukums", "option-vault-name-desc": "Palīdz atcerēties, kam šī krātuve ir paredzēta.", "option-vault-region": "Reģions", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Izvēlieties servera reģionu, kas ir vistuvāk jums, lai glabātu attālināto krātuvi. Šo iestatījumu nevar mainīt vēlāk.", "option-vault-name-placeholder": "Mana lieliskā krātuve", "option-encryption": "Šifrēšana", "option-encryption-desc": "Gala līdz galam šifrēšana nodrošina visaugstāko drošības līmeni, bet prasa droši saglabāt jūsu šifrēšanas paroli. Standarta šifrēšana izmanto Obsidian pārvaldītu atslēgu, lai aizsargātu jūsu datus pārraides laikā un uz mūsu serveriem.", "option-encryption-warning": "Šo opciju vēlāk nevarēs mainīt.", "option-encryption-end-to-end": "Gala līdz galam šifrēšana", "option-encryption-standard": "Standarta šifrēšana", "option-encryption-password": "Šifrēšanas parole", "option-encryption-password-desc": "Šo paroli nevar mainīt vēlāk.", "option-encryption-password-desc-warning": "Ja jūs aizmirsīsiet šo paroli, jebkuri attālinātie dati būs neizmantojami uz visiem laikiem.", "option-encryption-password-desc-2": "Tas neietekmē jūsu vietējos datus.", "label-encryption-password-explanation": "Attālinātā krātuve \"{{name}}\" pašlaik ir šifrēta. Ievadiet paroli, lai to atbloķētu.", "option-encryption-password-placeholder": "Jūsu parole", "label-unlock-encrypted-vault": "Atbloķēt attālināto krātuvi", "button-unlock-vault": "Atbloķēt krātuvi", "label-remote-vaults": "Jūsu attālinātās krātuves", "label-vault-created-time": "Izveidota {{time}}", "tooltip-delete-remote-vault": "Dzēst", "tooltip-rename-remote-vault": "Pārsaukt", "label-rename-remote-vault": "Pārsaukt attālināto krātuvi \"{{name}}\"", "label-rename-remote-vault-desc": "Ievadiet jaunu nosaukumu šai attālinātajai krātuvei.", "tooltip-manage-sharing": "Pārvaldīt koplietošanu", "label-confirm-delete-remote-vault": "Apstiprināt krātuves dzēšanu", "label-confirm-delete-remote-vault-question": "Vai esat pārliecināts, ka vēlaties dzēst šo attālināto krātuvi?", "label-confirm-delete-remote-vault-result": "Visi dati mūsu serverī, ieskaitot versiju vēsturi, tiks dzēsti. Jūsu vietējie faili paliks neskarti.", "label-confirm-delete-remote-vault-warning": "Šī darbība ir neatgriezeniska un galīga.", "msg-remote-vault-deleted": "{{name}} ir dzēsta.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: Savienotā attālinātā krātuve vairs neeksistē.", "button-connect-to-remote-vault": "Savienot", "button-disconnect-from-remote-vault": "Atvienot", "label-sync-status": "Sinhronizācija: {{status}}", "label-not-remote-vaults": "Jums nav nevienas attālinātās krātuves.", "label-no-subscription": "Jums nav aktīva Obsidian Sync abonementa.", "label-please-visit": "Lūdzu, apmeklējiet", "label-preview-unsupported-file-type": "Nevar priekšskatīt {{type}} failus.", "button-create-new-remote-vault": "Izveidot jaunu krātuvi", "label-sync-log": "Sinhronizācijas žurnāls", "option-event-type-all": "Visi", "option-event-type-errors": "Kļūdas", "option-event-type-skipped": "Izlaists", "option-event-type-merge-conflicts": "Apvienošanas konflikti", "button-copy-sync-log": "Kopēt sinhronizācijas žurnālu", "msg-successfully-copied-sync-log": "Sinhronizācijas žurnāls veiksmīgi nokopēts.", "button-retry": "Mēģināt vēlreiz", "button-purchase-subscription": "Iegādāties", "label-third-party-sync-warning": "Konflikta sinhronizācijas pakalpojums noteikts", "label-third-party-sync-warning-desc": "Brīdinājums: Jūsu krātuve, šķiet, izmanto {{service}} kā trešās puses sinhronizācijas pakalpojumu. Ja izmantojat Obsidian Sync ar šo krātuvi, var rasties konflikti, failu bojājumi vai datu zudumi.", "label-icloud-drive-warning": "Ja izmantojat iCloud Drive, jūsu Dokumentu un Darbvirsmas mapes var sinhronizēt iCloud. Tas var izraisīt konfliktus ar Obsidian Sync.", "option-remote-vault": "Attālinātā krātuve", "button-choose-remote-vault": "Izvēlēties", "button-manage-remote-vault": "Pārvaldīt", "option-remote-vault-desc-connected": "Pašlaik savienots ar \"{{name}}\" attālināto krātuvi.", "option-remote-vault-desc-not-connected": "Pašlaik nesavienots ar nevienu attālināto krātuvi.", "option-sync-status": "Sinhronizācijas statuss", "option-sync-status-desc-paused": "Obsidian Sync pašlaik ir apturēta.", "option-sync-status-desc-running": "Obsidian Sync pašlaik darbojas.", "option-device-name": "Ierīces nosaukums", "option-device-name-desc": "Šis nosaukums tiks rādīts sinhronizācijas žurnālā. Atstājiet tukšu, lai izmantotu noklusējuma nosaukumu.", "button-resume": "Atsākt", "button-pause": "Apturēt", "option-view-deleted-files": "Dzēstie faili", "option-view-deleted-files-desc": "Apskatīt un atjaunot dzēstos failus.", "option-sync-log": "Sinhronizācijas aktivitāte", "option-sync-log-desc": "Apskatīt nesenās sinhronizācijas darbības problēmu novēršanai.", "button-view": "Skatīt", "button-bulk-restore": "Masveida atjaunošana", "button-restore-files_zero": "Atjaunot failus", "button-restore-files": "Atjaunot {{count}} failu", "button-restore-files_plural": "Atjaunot {{count}} failus", "msg-restoring": "Atjaunošana...", "msg-restoring-complete": "`Atjaunošana pabeigta: {{succeeded}} izdevās un {{failed}} neizdevās.`", "option-vault-size": "Krātuves izmērs", "option-vault-size-desc": "Jūs izmantojat {{size}} no {{limit}}", "option-vault-size-unknown": "Nevarēja iegūt jūsu krātuves izmēru.", "option-vault-size-loading": "Iegūst krātuves izmēru...", "option-over-size": "Krātuves izmērs pārsniedz limitu", "option-almost-over-size": "Krātuves izmērs tuvojas limitam", "msg-largest-files": "Skatīt lielākos failus", "msg-largest-files-desc": "Šie ir attālinātie faili, kas aizņem visvairāk vietas. Pēc pielikumu dzēšanas izmantojiet tīrīšanas pogu, lai atbrīvotu vietu attālinātajā krātuvē.", "button-upgrade-storage": "Atjaunināt krātuvi", "button-purge-remote": "Attīrīt", "button-hide-my-changes": "Paslēpt manas izmaiņas", "tooltip-purge-remote": "Neatgriezeniski attīriet izdzēstos pielikumus no attālinātās seifa, lai ietaupītu vietu.", "msg-purge-complete": "Attīrīšana pabeigta.", "option-prevent-sleep": "Novērst ierīces aizmigšanu", "option-prevent-sleep-desc": "Novērš ierīces aizmigšanu, kad joprojām ir faili, kas jāsinhronizē.", "option-selective-sync": "Selektīvā sinhronizācija", "option-excluded-folders": "Izslēgtās mapes", "option-excluded-folder-desc": "Novērst noteiktu mapju sinhronizāciju.", "option-currently-excluded-folders": " Šīs mapes pašlaik ir izslēgtas:", "button-manage-excluded-folders": "Pārvaldīt", "option-sync-image": "Sinhronizēt attēlus", "option-sync-image-desc": "Sinhronizēt attēlu failus ar šiem paplašinājumiem: {{extensions}}.", "option-sync-audio": "Sinhronizēt audio", "option-sync-audio-desc": "Sinhronizēt audio failus ar šiem paplašinājumiem: {{extensions}}.", "option-sync-video": "Sinhronizēt video", "option-sync-video-desc": "Sinhronizēt video failus ar šiem paplašinājumiem: {{extensions}}.", "option-sync-pdf": "Sinhronizēt PDF", "option-sync-pdf-desc": "Sinhronizēt PDF failus.", "option-sync-unsupported": "Sinhronizēt citus tipus", "option-sync-unsupported-desc": "Sinhronizēt neatbalstītos failu tipus.", "option-vault-config-sync": "Krātuves konfigurācijas sinhronizācija", "option-view-config-files": "Iestatījumu versiju vēsture", "option-view-config-files-desc": "Apskatiet un atjaunojiet iestatījumu failu versiju vēsturi.", "option-sync-app": "Galvenie iestatījumi", "option-sync-app-desc": "Iespējot redaktora iestatījumu, failu un saišu iestatījumu, pielāgoto karsto taustiņu sinhronizāciju utt.", "option-sync-appearance": "Izskata iestatījumi", "option-sync-appearance-desc": "Sinhronizēt izskata iestatījumus, piemēram, tumšo režīmu, aktīvo tēmu un iespējamās fragmentus.", "option-sync-appearance-data": "Tēmas un fragmenti", "option-sync-appearance-data-desc": "Sinhronizēt lejupielādētās tēmas un fragmentus. Vai tie ir aktivizēti, ir atkarīgs no iepriekšējā iestatījuma.", "option-sync-hotkey": "Karstie taustiņi", "option-sync-hotkey-desc": "Sinhronizēt pielāgotos karstos taustiņus.", "option-sync-core-plugin": "Aktīvo pamata spraudņu saraksts", "option-sync-core-plugin-desc": "Sinhronizēt, kuri pamata spraudņi ir ieslēgti.", "option-sync-core-plugin-data": "Pamata spraudņu iestatījumi", "option-sync-core-plugin-data-desc": "Sinhronizēt pamata spraudņu iestatījumus.", "option-sync-community-plugin": "Aktīvo kopienas spraudņu saraksts", "option-sync-community-plugin-desc": "Sinhronizēt, kuri kopienas spraudņi ir ieslēgti.", "option-sync-community-plugin-data": "Uzstādītie kopienas spraudņi", "option-sync-community-plugin-data-desc": "Sinhronizēt uzstādītos kopienas spraudņus (.js, .css un manifest.json faili) un to iestatījumus.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync ir Obsidian papildu sinhronizācijas pakalpojums ar pilnīgu šifrēšanu un versiju vēsturi.", "label-account-required": "Lai sāktu sinhronizāciju, lūdzu, piesakieties vai izveidojiet jaunu Obsidian kontu.", "label-current-file": "Pašreizējais fails", "label-sync-changes": "Sinhronizēt izmaiņas", "label-today": "Šodien", "label-yesterday": "Vakar", "label-this-week": "Šonedēļ", "label-older": "Vecāki", "label-last-sync": "Pēdējā sinhronizācija", "label-more": "{{count}} vairāk", "button-sign-up": "Reģistrēties", "button-log-in": "Pieteikties", "label-manage-excluded-folders": "Pārvaldīt izslēgtās mapes", "label-number-of-folders-excluded": "{{folders}} mapes pašlaik ir izslēgtas no sinhronizācijas.", "label-add-excluded-folder": "Izslēgt mapi", "label-add-excluded-folder-desc": "Jūs varat izslēgt gan esošās mapes, gan mapes, kas vēl nav izveidotas.", "tooltip-remove-excluded-folder": "Noņemt no izslēgto saraksta", "label-setup-connection": "Iestatīt savienojumu", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "Jūs tagad esat savienots ar \"{{name}}\".", "button-start-syncing": "Sākt sinhronizāciju", "label-confirm-merge-vault": "Apstiprināt krātuves apvienošanu", "msg-vault-has-notes": "Jūsu vietējā krātuvē jau ir dažas piezīmes.", "msg-vault-merge-warning": "Ja pievienosities attālajai krātuvei \"{{name}}\", vietējās krātuves piezīmes tiks apvienotas ar attālās krātuves piezīmēm. Konfliktu gadījumā tiks saglabāta visjaunākā piezīmes versija.", "tooltip-update-setting-on-all-devices": "Lūdzu, atjauniniet šo opciju un restartējiet lietotni visās ierīcēs, kur vēlaties to izmantot.", "label-sharing-with-users": "Šī attālā krātuve pašlaik ir koplietota ar šādiem cilvēkiem.", "label-not-sharing": "Šī attālā krātuve pašlaik nav koplietota ar nevienu.", "label-vaults-shared-with-you": "Ar jums koplietotās krātuves", "tooltip-leave-vault-sharing": "Pārtraukt sadarbību par šo krātuvi", "label-leave-vault-confirmation": "Apstipriniet sadarbības pārtraukšanu krātuvē", "label-leave-vault-confirmation-details": "Šī darbība noņems šo krātuvi no saraksta ar jums koplietotajām krātuvēm. Šo darbību nevar atsaukt.", "label-leave-vault-confirmation-details-2": "Ja vēlaties atkal sadarboties šajā krātuvē, sazinieties ar krātuves īpašnieku.", "button-leave": "Iziet", "msg-error-failed-to-fetch": "Neizdevās ielādēt attālās krātuves.", "label-require-subscription-to-connect": "Lai pievienotos šai krātuvei, nepieciešams Obsidian Sync abonements.", "option-contact-support": "Sazināties ar atbalstu", "option-contact-support-desc": "Ja rodas problēmas ar Obsidian Sync, sazinieties ar mums, lai mēs varētu palīdzēt! Jūs varat sazināties ar mums pa e-pastu support@obsidian.md.", "button-copy-debug": "Kopēt atkļūdošanas informāciju", "button-email-support": "Nosūtīt e-pastu atbalstam", "label-sync-disconnected": "Sync nav pieslēgts attālajai krātuvei.", "msg-remote-vault-limit-hit": "Obsidian Sync ļauj izveidot līdz 5 attālajām krātuvēm. Lai izveidotu jaunu attālo krātuvi, lūdzu, izdzēsiet kādu no esošajām.", "label-upgrade-vault": "Uzlabot krātuvi", "label-upgrade-vault-encryption": "Uzlabot krātuves šifrēšanu", "label-upgrade-vault-encryption-desc": "Pieejama jauna šifrēšanas versija attālajām krātuvēm.", "label-migrate-remote-vault": "Migrēt attālo krātuvi", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrēt", "msg-recreate-remote-vault": "Tas dzēsīs jūsu attālo krātuvi un atkārtoti izveidos to ar jaunāko šifrēšanu. Lokālie faili netiks ietekmēti, tomēr jūsu versiju vēsture tiks zaudēta.", "label-confirm-migrate": "Apstiprināt krātuves migrāciju", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Krātuves migrēšana var aizņemt zināmu laiku. Jums būs jāuztur Obsidian aktīvs šajā ierīcē, lai atkārtoti augšupielādētu visas piezīmes un pielikumus. Vislabāk to darīt jūsu galvenajā ierīcē.", "msg-migrate-confirmation-size": "Jums ir {{size}} datu. Krātuves migrēšana var aizņemt zināmu laiku. Jums būs jāuztur Obsidian aktīvs šajā ierīcē, lai atkārtoti augšupielādētu visas piezīmes un pielikumus. Vislabāk to darīt jūsu galvenajā ierīcē.", "msg-proceed-prompt": "Vai vēlaties turpināt?", "msg-vault-migration-started": "Krātuves migrācija tiek veikta." }, "file-recovery": { "name": "Failu atjaunošana", "desc": "Ļauj atjaunot nesenās momentuzņēmumus, lai atgūtu zaudētus datus. Momentuzņēmumi tiek saglabāti tikai Markdown failiem.", "action-open": "Atvērt saglabātos momentuzņēmumus", "option-interval": "Momentuzņēmumu intervāls", "option-interval-description": "Minimālais laika intervāls minūtēs starp diviem momentuzņēmumiem.", "option-keep": "Vēstures ilgums", "option-keep-description": "Dienu skaits, kurās tiek glabāti momentuzņēmumi.", "option-open-history": "Momentuzņēmumi", "option-open-history-description": "Skatīt un atjaunot saglabātos momentuzņēmumus.", "button-view-history": "View", "option-clear": "Notīrīt vēsturi", "option-clear-description": "Izdzēst visus momentuzņēmumus.", "button-clear-history": "Notīrīt", "label-clear-warning": "Vai tiešām vēlaties izdzēst visus momentuzņēmumus? Tiks noņemti tikai momentuzņēmumi, faili krātuvē netiks skarti.", "msg-clear-complete": "Momentuzņēmumi notīrīti.", "label-no-history-found": "Nav atrasti momentuzņēmumi.", "placeholder-choose-file": "Izvēlieties failu...", "label-select-file": "Lūdzu, izvēlieties failu kreisajā pusē, lai skatītu momentuzņēmumus." }, "note-composer": { "name": "Piezīmju veidotājs", "desc": "Apvienot, sadalīt un pārveidot piezīmes.", "option-confirm-file-merge": "Apstiprināt failu apvienošanu", "option-confirm-file-merge-description": "Pajautāt pirms divu failu apvienošanas.", "option-split-replacement-text": "Teksts pēc izvilkšanas", "option-split-replacement-text-description": "Kas parādās izvilktā teksta vietā.", "option-choice-split-replacement-text-link": "Saite uz jauno failu", "option-choice-split-replacement-text-embed": "Iegult jauno failu", "option-choice-split-replacement-text-none": "Nav", "option-template-file": "Veidnes faila atrašanās vieta", "option-template-file-description": "Veidnes fails, ko izmantot apvienošanā vai izvilkšanā. Pieejamie mainīgie: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, piemēram, {{date:YYYY-MM-DD}}.", "command-merge-file": "Apvienot pašreizējo failu ar citu...", "action-merge-file": "Apvienot visu failu ar...", "label-no-files": "Nav atrasti faili.", "instruction-navigate": "pārvietoties", "instruction-merge": "apvienot", "instruction-create-new": "izveidot jaunu", "instruction-merge-at-top": "apvienot augšpusē", "instruction-dismiss": "atteikties", "prompt-select-file-to-merge": "Izvēlieties failu, ar kuru apvienot...", "label-merge-file": "Apvienot failu", "label-confirm-file-merge": "Vai tiešām vēlaties apvienot \"{{file}}\" ar \"{{destination}}\"? \"{{file}}\" tiks dzēsts.", "button-merge": "Apvienot", "command-split-file": "Izvilkt pašreizējo atlasi...", "command-extract-heading": "Izvilkt šo virsrakstu...", "instruction-append": "pārvietot uz apakšu", "instruction-prepend": "pārvietot uz augšu", "msg-fail-to-fetch-template": "Neizdevās iegūt veidnes failu: \"{{template}}\" nav atrasts.", "msg-fail-to-find-heading": "Neizdevās atrast virsrakstu" }, "web-viewer": { "name": "Tīmekļa skatītājs", "history-name": "Web history", "desc": "Atveriet ārējās saites uz tīmekļa lapām Obsidian ietvaros.", "action-open": "Atvērt tīmekļa skatītāju", "action-show-history": "Parādīt vēsturi", "action-toggle-reader-mode": "Pārslēgt lasītāja režīmu", "action-copy-u-r-l": "Kopēt URL", "action-remove-from-history": "Noņemt no vēstures", "action-clear-history": "Notīrīt vēsturi", "action-open-link": "Atvērt saiti", "action-open-link-new-tab": "Atvērt saiti jaunā cilnē", "action-open-link-new-split": "Atvērt saiti pa labi", "action-open-link-new-window": "Atvērt saiti jaunā logā", "action-open-link-default-browser": "Atvērt saiti noklusējuma pārlūkā", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Kopēt saites adresi", "action-bookmark-link": "Pievienot saiti grāmatzīmēm", "action-search-for-query": "Meklēt “{{query}}”", "action-extract-selection": "Izvilkt atlasi uz jaunu piezīmi", "action-copy-selection": "Kopēt", "action-cut": "Izgriezt", "action-paste": "Ielīmēt", "action-delete": "Dzēst", "action-select-all": "Izvēlēties visu", "action-save-to-vault": "Saglabāt krātuvē", "action-save-image": "Saglabāt attēlu krātuvē", "action-copy-image": "Kopēt attēlu", "action-copy-image-link": "Kopēt attēla saiti", "action-backward": "Atpakaļ", "action-forward": "Uz priekšu", "action-reload": "Pārlādēt", "action-bookmark-page": "Pievienot lapu grāmatzīmēm", "action-open-default-browser": "Atvērt noklusējuma pārlūkā", "action-focus-address-bar": "Fokusēt adreses joslu", "action-search-the-web": "Meklēt tīmeklī", "action-clear-data": "Notīrīt datus", "action-clear-data-cookies": "Sīkdatnes", "action-clear-data-cookies-desc": "Var izrakstīt jūs no vietnēm.", "action-clear-data-cache": "Kešatmiņas dati", "action-clear-data-history": "Vēsture", "action-clear-data-all": "Visa tīmekļa skatītāja datu tīrīšana", "action-clear-data-all-desc": "Noņem visu iepriekš minēto, kā arī vietējo atmiņu un aktīvās sesijas.", "label-new-web-viewer": "Jauns tīmekļa skatītājs", "label-fail-to-load": "Neizdevās ielādēt šo vietni.", "label-fail-to-load-desc": "Pārliecinieties, ka ievadījāt pareizo adresi.", "label-search-the-web": "Meklēt tīmeklī", "label-web-viewer-data": "Tīmekļa skatītāja dati", "label-clear-data": "Notīrīt tīmekļa skatītāja datus", "option-open-external-links": "Atvērt ārējās saites", "option-open-external-links-desc": "Atveriet saites Obsidian ietvaros, nevis sistēmas noklusējuma pārlūkā.", "option-homepage": "Mājaslapa", "option-homepage-desc": "Kura lapa tiks atvērta, kad tiek atvērts tīmekļa skatītājs", "option-saved-markdown": "Saglabāto lapu mape", "option-saved-markdown-desc": "Vietnes, kas saglabātas Markdown formātā, tiks novietotas šeit.", "option-search-engine": "Meklētājprogramma", "option-search-engine-desc": "Meklētājprogramma, ko izmantot meklēšanai no adreses joslas.", "option-search-engine-custom": "Pielāgota meklētājprogramma", "option-search-engine-custom-desc": "Izmantojiet %s meklēšanas vaicājuma vietā.", "option-search-engine-custom-drop-down": "Pielāgota", "option-enable-adblock": "Iespējot reklāmu bloķētāju", "option-enable-adblock-desc": "Ja iespējots, zemāk norādītie filtru saraksti tiks piemēroti visām tīmekļa skatītāja cilnēm.", "option-adblock-lists": "Reklāmu bloķēšanas noteikumi", "option-adblock-lists-desc": "Viena reklāmu bloķēšanas saraksta URL katrā rindā. Koplietojams visām krātuvēm.", "option-adblock-frequency": "Reklāmu bloķēšanas atjaunināšanas biežums", "option-adblock-frequency-desc": "Dienas starp filtru sarakstu atjauninājumiem. 0 nozīmē atspējots. Koplietojams visām krātuvēm.", "title-clear-data-modal": "Notīrīt tīmekļa skatītāja datus", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Audekls", "desc": "Sakārtojiet un savienojiet piezīmes uz neierobežota audekla.", "action-add-note": "Pievienot piezīmi no krātuves", "action-add-media": "Pievienot mediju no krātuves", "action-add-card": "Pievienot kartīti", "action-add-website": "Pievienot tīmekļa lapu", "action-create-group": "Izveidot grupu", "action-create-with-size": "Izveidot kartīti ar noteiktu izmēru", "action-convert-to-file": "Pārvērst par failu...", "action-drag-to-add-note": "Velciet, lai pievienotu piezīmi no krātuves", "action-drag-to-add-media": "Velciet, lai pievienotu mediju no krātuves", "action-drag-to-add-card": "Velciet, lai pievienotu kartīti", "action-edit-label": "Rediģēt etiķeti", "action-remove-label": "Rediģēt etiķeti", "action-search-file": "Meklēt failu", "action-set-color": "Iestatīt krāsu", "action-align": "Izlīdzināt", "action-align-left": "Izlīdzināt pa kreisi", "action-align-center": "Izlīdzināt centrā", "action-align-right": "Izlīdzināt pa labi", "action-align-top": "Izlīdzināt augšpusē", "action-align-middle": "Izlīdzināt vertikāli pa centrā", "action-align-bottom": "Izlīdzināt apakšā", "action-distribute-horizontal-spacing": "Izlīdzināt horizontālos attālumus", "action-distribute-vertical-spacing": "Izlīdzināt vertikālos attālumus", "action-justify-horizontally": "Izlīdzināt horizontāli", "action-justify-vertically": "Izlīdzināt vertikāli", "action-arrange-horizontally": "Sakārtot rindā", "action-arrange-vertically": "Sakārtot kolonnā", "action-arrange-grid": "Sakārtot režģī", "action-export-png": "Eksportēt kā attēlu", "action-jump-to-group": "Pāriet uz grupu", "action-set-background": "Iestatīt fonu", "action-edit-background": "Rediģēt fonu", "action-replace-background": "Nomainīt fonu", "action-remove-background": "Noņemt fonu", "label-no-images": "Nav atrasti attēli.", "label-no-media": "Nav atrasti multivides", "label-export-png-desc": "Eksportēt \"{{title}}\" kā PNG failu ar norādītajiem iestatījumiem.", "label-export-png-dimensions": "Aptuvenie attēla izmēri: {{dimensions}}", "label-distribute": "Izplatīt", "label-justify": "Pamatot", "label-arrange": "Sakārtot", "label-always": "Vienmēr", "label-hover": "Pārlidojot", "label-never": "Nekad", "label-no-section-found": "Nav atrasta neviena sadaļa", "option-wheel-behavior": "Noklusējuma peles ritenīša uzvedība", "option-mod-drag-behavior": "Noklusējuma {{key}} uzvedība", "option-show-menu": "Rādīt izvēlni", "option-new-canvas-location": "Jaunu audekla failu noklusētā atrašanās vieta", "option-new-canvas-location-description": "Kur tiks izvietoti jaunizveidotie kanvas faili.", "option-new-canvas-folder-path": "Mape, kurā izveidot jaunus audekla failus", "option-new-canvas-folder-path-description": "Jaunie audekla faili parādīsies šajā mapē.", "option-node-label": "Parādīt kartītes uzrakstu", "option-snap-to-grid": "Pielāgot tīklam", "option-snap-to-grid-desc": "Pielāgot kartītes fonā esošajam tīklam, pārvietojot un mainot izmēru.", "option-snap-to-objects": "Pielāgot objektiem", "option-snap-to-objects-desc": "Pielāgot kartītes tuvumā esošajiem objektiem, pārvietojot un mainot izmēru.", "option-zoom-breakpoint": "Tālummaiņas slieksnis kartītes satura paslēpšanai", "option-zoom-breakpoint-desc": "Zemākas vērtības uzlabos veiktspēju, bet ātrāk paslēps kartītes saturu, tālinot.", "option-export-png-show-logo": "Rādīt logotipu", "option-export-png-show-logo-desc": "Tas pievienos Obsidian logotipu apakšējā kreisajā stūrī.", "option-export-png-privacy-mode": "Privātuma režīms", "option-export-png-privacy-mode-desc": "Tas paslēps jebkuru tekstu uz jūsu audekla.", "option-export-png-zoom": "Tālummaiņa", "option-export-png-zoom-desc": "Lielāka tālummaiņa nodrošinās augstāka izšķirtspējas attēlu.", "option-export-png-frame": "Skata apgabals", "option-export-png-frame-desc": "Izvēlieties, vai renderēt visu audeklu vai tikai redzamo skata apgabalu.", "option-export-png-frame-full": "Pilns audekls", "option-export-png-frame-viewport": "Tikai skata apgabals", "option-background-cover": "Pārklājums", "option-background-ratio": "Saglabāt malu attiecību", "option-background-repeat": "Atkārtot", "action-new-canvas": "Jauns audekls", "action-remove": "Noņemt", "action-narrow-heading": "Sašaurināt līdz virsrakstam...", "action-narrow-block": "Sašaurināt līdz blokam...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Apmainīt failu...", "action-change-url": "Mainīt URL...", "action-zoom-to-fit": "Tālummaiņa līdz atbilstībai", "action-zoom-to-selection": "Tālummaiņa līdz izvēlētajam", "action-reload-page": "Pārlādēt lapu", "action-follow-connection": "Sekot savienojumam", "command-create-new-canvas": "Izveidot jaunu audeklu", "command-convert-to-file": "Konvertēt uz failu...", "instruction-narrow-heading": "lai iegultu virsrakstu", "instruction-narrow-block": "lai iegultu bloku", "instruction-jump-to-group": "lai pārietu uz grupu", "prompt-to-narrow": "Ierakstiet virsraksta nosaukumu", "label-enter-url": "Ievadiet URL", "label-empty-embed": "\"{{linktext}}\" nevarēja atrast.", "prompt-add-text": "Pievienot tekstu...", "prompt-start-search": "Rakstiet, lai meklētu...", "label-canvas-help": "Audekla palīdzība", "label-canvas-settings": "Audekla iestatījumi", "label-no-narrow": "Rādīt visu failu", "label-show-default-view": "Show default view", "label-readonly": "Tikai lasīšanas", "label-disable-readonly": "Atspējot tikai lasīšanas", "label-pan": "Panoramēt", "label-pan-horizontal": "Panoramēt horizontāli", "label-zoom": "Tālummaiņa", "label-select-all": "Izvēlēties visu", "label-add-remove-selection": "Pievienot/izņemt no izvēles", "label-clone-card": "Klonēt kartīti", "label-constrain-movement-axis": "Ierobežot kartītes kustību pa asi", "label-disable-drag-snapping": "Atspējot pielāgošanu velkot", "label-remove-card": "Noņemt kartīti", "label-drag-from-below": "Velciet no apakšas vai veiciet dubultklikšķi", "label-longpress": "Pieskarieties un turiet, lai pievienotu / pārvietotu / izvēlētos", "label-drag-pan": "Velciet, lai panoramētu", "label-pinch-zoom": "Saspiediet, lai tālinātu", "label-space-drag-pan": "Space un velciet, lai panoramētu", "label-scroll-to-zoom": "Ritiniet, lai tālinātu", "label-untitled-group": "Bez nosaukuma grupa", "label-line-direction": "Līnijas virziens", "label-nondirectional": "Bez virziena", "label-unidirectional": "Vienvirziena", "label-bidirectional": "Divvirziena", "label-image": "Attēls", "label-style": "Stils", "msg-no-groups-found": "Nav atrastas grupas", "msg-export-failed-empty-canvas": "Nevar eksportēt tukšu audeklu", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Izcelt visu", "action-match-diacritics": "Sakritība ar diakritiskajām zīmēm", "action-whole-words": "Pilni vārdi", "action-show-thumbnails": "Sīktēli", "action-show-outline": "Satura rādītājs", "action-reveal-in-outline": "Parādīt lapu satura rādītājā", "action-toggle-sidebar": "Pārslēgt sānjoslu", "action-previous-page": "Iepriekšējā lapa", "action-next-page": "Nākamā lapa", "action-fit-width": "Pielāgot platumam", "action-fit-height": "Pielāgot augstumam", "action-save-p-d-f-location": "Saglabāt pašreizējo pozīciju dokumentā", "action-copy-annotation": "Kopēt anotāciju", "action-copy-quote": "Kopēt kā citātu", "action-copy-selection-link": "Kopēt saiti uz atlasīto", "action-copy-annot-link": "Kopēt saiti uz anotāciju", "action-copy-section-link": "Kopēt saiti uz sadaļu", "action-copy-section-link-title": "Kopēt saiti uz “{{title}}”", "action-copy-page-link": "Kopēt saiti uz lapu {{page}}", "msg-max-search-results": "{{current}} no vairāk nekā {{limit}} atbilstībām", "msg-search-count": "{{current}} no {{total}} atbilstības", "msg-search-count_plural": "{{current}} no {{total}} atbilstībām", "msg-password-protected": "Šis PDF ir aizsargāts ar paroli", "msg-invalid-password": "Nepareiza parole", "msg-enter-password": "Ievadiet paroli zemāk", "label-of-pages": "no {{count}}", "label-page-of-pages": "({{current}} no {{count}})", "label-spread-single": "Viena lapa", "label-spread-odd": "Divas lapas (nepāra)", "label-spread-even": "Divas lapas (pāra)", "tooltip-sidebar-options": "Sānjoslas opcijas", "tooltip-display-options": "Attēlošanas opcijas", "label-adapt-to-theme": "Pielāgot tēmai", "label-page": "lapa {{page}}", "page_landmark": "Lapa {{page}}", "thumb_page_title": "Lapa {{page}}", "thumb_page_canvas": "Lapa {{page}}", "text_annotation_type": "[{{type}} Anotācija]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Saraksts", "option-unknown": "Nezināms", "option-text": "Teksts", "option-aliases": "Aizstājvārdi", "option-tags": "Tēmturi", "option-folder": "Folder", "option-file": "File", "option-date": "Datums", "option-datetime": "Datums un laiks", "option-number": "Skaitlis", "option-checkbox": "Karodziņa" }, "value-suggestion": { "key-link-note": "Ievadiet [[", "instruction-link-note": "lai saistītu piezīmi", "instruction-dismiss": "lai atceltu" }, "option-property-type": "Īpašības tips", "msg-empty-property-name": "Īpašības nosaukums nevar būt tukšs.", "msg-duplicate-property-name": "Šī īpašība jau pastāv.", "msg-invalid-tag": "Nederīgs birkas nosaukums.", "msg-invalid-number": "Nederīgs skaitlis.", "msg-invalid-properties": "Neizdevās nolasīt īpašības.", "label-no-value": "Nav vērtības", "label-heading": "Īpašības", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Sintakses kļūda. Jūsu frontmatter ir nederīgs", "label-add-property-button": "Pievienot īpašību", "label-type-mismatch-warning": "Veida nesaderība, gaidīts {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Kolonna", "label-row": "Rinda", "action-row-after": "Pievienot rindu pēc", "action-column-after": "Pievienot kolonnu pēc", "action-row-before": "Pievienot rindu pirms", "action-row-up": "Pārvietot rindu augšup", "action-row-down": "Pārvietot rindu uz lejup", "action-column-before": "Pievienot kolonnu pirms", "action-column-left": "Pārvietot kolonnu pa kreisi", "action-column-right": "Pārvietot kolonnu pa labi", "action-duplicate-row": "Dublēt rindu", "action-duplicate-column": "Dublēt kolonnu", "action-delete-row": "Dzēst rindu", "action-delete-column": "Dzēst kolonnu", "action-align-left": "Līdzināt pa kreisi", "action-align-center": "Centrēt", "action-align-right": "Līdzināt pa labi", "action-delete-selection": "Dzēst šūnas", "action-clear-selection": "Notīrīt šūnas", "action-sort-a-z": "Kārtot pēc kolonnas (A līdz Z)", "action-sort-z-a": "Kārtot pēc kolonnas (Z līdz A)", "label-command": "Tabula: {{command}}" }, "callout": { "option-type": "Izsaukuma veids", "type": { "info": "Informācija", "important": "Svarīgi", "tip": "Padoms", "success": "Veiksmīgi", "question": "Jautājums", "warning": "Brīdinājums", "quote": "Citāts", "example": "Piemērs", "none": "None" }, "option-other": "Cits...", "option-other-placeholder": "Izsaukuma veids..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} vārds", "word-with-count_plural": "{{count}} vārdi", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} rakstzīme", "character-with-count_plural": "{{count}} rakstzīmes", "link-with-count": "{{count}} saite", "link-with-count_plural": "{{count}} saites", "file-with-count": "{{count}} fails", "file-with-count_plural": "{{count}} faili", "folder-with-count": "{{count}} mape", "folder-with-count_plural": "{{count}} mapes", "backlink-with-count": "{{count}} atpakaļsaite", "backlink-with-count_plural": "{{count}} atpakaļsaites", "tabs-with-count": "{{count}} cilne", "tabs-with-count_plural": "{{count}} cilnes", "properties-with-count": "{{count}} īpašība", "properties-with-count_plural": "{{count}} īpašības", "site-with-count": "{{count}} vietne", "site-with-count_plural": "{{count}} vietnes", "plugin-with-count": "{{count}} spraudnis", "plugin-with-count_plural": "{{count}} spraudņi", "plugin-active-with-count": "{{count}} aktīvs", "snippet-active-with-count": "{{count}} fragments", "snippet-active-with-count_plural": "{{count}} fragmenti", "theme-with-count": "{{count}} tēma", "theme-with-count_plural": "{{count}} tēmas" } }{ "setting": { "options": "Tetapan", "plugin": "Plugin", "builtin-plugins": "Plugin teras", "plugin-options": "Tetapan plugin", "folder-path-example-placeholder": "Contoh: folder 1/folder 2", "file-path-example-placeholder": "Contoh: folder/nota", "msg-restart-required": "Changing this option requires a restart to take effect.", "editor": { "name": "Penyuntingan", "section-behavior": "Behavior", "section-display": "Display", "option-spellcheck": "Semak ejaan", "option-spellcheck-description": "Pasang penyemak ejaan. Sekarang hanya menyokong bahasa Inggeris (US).", "spellcheck-languages": "Spellcheck languages", "spellcheck-languages-description": "Choose the languages for the spellchecker to use.", "spellcheck-languages-mac-description": "The native spellchecker will automatically detect the language being used for you on macOS.", "spellcheck-dict": "Kamus penyemak ejaan", "spellcheck-dict-empty": "Kamus penyemak ejaan kini kosong.", "option-show-inline-title": "Show inline title", "option-show-inline-title-description": "Displays the filename as an editable title inline with the file contents.", "option-readable-line-length": "Panjang baris mudah baca", "option-readable-line-description": "Hadkan panjang baris maksima. Ia mengurangkan jumlah isi pada skrin, tapi perenggan panjang jadi lebih mudah dibaca.", "option-strict-line-break": "Pemenggalan baris tegas", "option-strict-line-break-description": "Dalam mod pralihat, abaikan pemenggalan baris tunggal yang menepati spesifikasi Markdown. Padam ciri ini untuk tunjukkan pemenggalan baris tunggal dalam pralihat.", "option-properties-in-document": "Properties in document", "option-properties-in-document-description": "Choose how properties are displayed within the editor. Select \"source\" to have the properties displayed as YAML.", "option-properties-hidden": "Hidden", "option-properties-visible": "Visible", "option-properties-source": "Source", "option-auto-pair-brackets": "Munculkan sepasang kurungan", "option-auto-pair-brackets-description": "Kurungan dan pemetik kata dimunculkan secara automatik.", "option-auto-pair-markdown": "Munculkan pasangan sintaksis Markdown", "option-auto-pair-markdown-description": "Simbol untuk kata tebal, kata condong, kata tumpu, palang kata, dan kod.", "option-smart-indent-lists": "Inden pintar untuk senarai", "option-smart-indent-lists-description": "Uruskan inden dan penanda senarai secara automatik.", "option-fold-heading": "Lipat pengepala", "option-fold-heading-description": "Membolehkan isi-isi bawah pengepala dilipat.", "option-fold-indent": "Lipat inden", "option-fold-indent-description": "Membolehkan isi-isi bawah inden yang sama dilipat, seperti dalam senarai.", "option-default-new-tab-view": "Default view for new tabs", "option-default-new-tab-view-description": "The default view that a new Markdown tab gets opened in.", "option-default-new-tab-view-editing": "Editing view", "option-default-new-tab-view-reading": "Reading view", "option-open-tab-in-foreground": "Always focus new tabs", "option-open-tab-in-foreground-description": "When you open a link in a new tab, switch to it immediately.", "option-default-editing-mode": "Default editing mode", "option-default-editing-mode-description": "The default editing mode a new tab will start with.", "option-default-editing-mode-source": "Source mode", "option-default-editing-mode-live-preview": "Live Preview", "option-show-line-number": "Tunjuk nombor baris", "option-show-line-number-description": "Nombor setiap baris akan ditunjukkan di sisi tetingkap.", "option-indentation-guide": "Show indentation guides", "option-indentation-guide-description": "Show vertical relationship lines between bullet points for visual guidance.", "option-use-tabs": "Gunakan Tab", "option-use-tabs-description": "Menghasilkan inden baris menggunakan kekunci \"Tab\". Padamkannya jika mahu guna kekunci jarak.", "option-tab-size": "Saiz Tab", "option-tab-size-description": "Satu kekunci Tab bersamaan berapa jarak.", "option-rtl": "Right-to-left (RTL)", "option-rtl-description": "Sets the text direction of notes to display in right-to-left.", "option-auto-convert-html": "Auto tukar dari HTML", "option-auto-convert-html-description": "Menukarkan format HTML menjadi Markdown apabila menampal atau ditarik dari laman web. Gunakan Ctrl/Cmd+Shift+V untuk menampal tanpa penukaran.", "option-vim-key-bindings": "Pemadanan kekunci Vim", "option-vim-key-bindings-description": "Membolehkan anda menggunakan papan kekunci Vim dalam mod suntingan.", "option-vim-key-bindings-mobile": "On mobile devices, this setting is per-device and is not synchronized through the config file.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Pengesahan masuk mod Vim", "label-vim-warning": "Mod Vim melancarkan penyuntingan teks tetapi agak mencabar untuk difahami. Jika anda tidak biasa dengan Vim, mod ini akan kelihatan seperti Obsidian sudah tidak lagi berfungsi.", "label-vim-test": "Untuk mengesahkan kefahaman Vim anda, letakkan arahan untuk keluar Vim tanpa simpan fail di bawah:", "label-vim-your-answer": "Jawapan anda", "placeholder-enter-command": "Letakkan arahan...", "button-confirm-enable-vim": "Benarkan saya masuk mod Vim", "msg-vim-mode-enabled": "Arahan adalah tepat. Mod Vim telah dipasangkan.", "msg-vim-mode-not-enabled": "Arahan adalah salah. Mod Vim tidak dipasangkan demi maslahat anda.", "msg-vim-mode-please-enter-command": "Diminta letakkan arahan tersebut untuk masuk mod Vim" }, "file": { "name": "Fail & Pautan", "option-confirm-file-deletion": "Sahkan penghapusan fail", "option-confirm-file-deletion-description": "Pilih sama ada ingin diminta mengesahkan penghapusan fail.", "option-delete-destination": "Fail yang telah dihapuskan", "option-delete-destination-description": "Apa yang perlu dilakukan dengan fail yang dihapuskan.", "option-choice-system-trash": "Pindah ke tong sampah sistem", "option-choice-vault-trash": "Pindah ke tong sampah Obsidian (folder .trash)", "option-choice-permanent-delete": "Penghapusan kekal", "option-always-update-links": "Sentiasa kemas kini pautan dalaman", "option-always-update-links-description": "Pilih sama ada pautan dalaman ingin dikemas kini secara automatik ataupun minta pengesahan setiap kali.", "option-new-note-location": "Tempat letak nota baharu", "option-new-note-location-description": "Pilih tempat letak nota yang baru dibuat. Tetapan plugin akan ambil alih tetapan ini jika ada.", "option-choice-vault-root": "Direktori akar peti", "option-choice-current-folder": "Folder yang sama dengan nota yang dipaparkan", "option-choice-specified-folder": "Dalam folder yang ditetapkan di bawah", "option-new-file-folder-path": "Folder untuk nota-nota baharu", "option-new-file-folder-path-description": "Nota yang baru dibuat akan muncul dalam folder ini. Tetapan plugin akan ambil alih tetapan ini jika ada.", "option-use-wiki-links": "Gunakan [[Wikipautan]]", "option-use-wiki-links-description": "Menghasilkan pautan gaya wiki untuk [[pautan]] dan ![[gambar]] dan bukan pautan serta gambar gaya piawaian Markdown. Tutup pilihan ini untuk jika mahukan pautan gaya Markdown.", "option-show-unsupported-files": "Tunjuk semua jenis fail", "option-show-unsupported-files-description": "Tunjukkan semua jenis fail walaupun fail tersebut tidak disokong oleh Obsidian teras supaya boleh dipautkan dan boleh dilihat dalam peneroka fail dan penukaran pantas.", "option-link-autocompleted-format": "Format untuk pautan baharu", "option-link-autocompleted-format-description": "Tentukan rupa pautan yang dihasilkan secara automatik", "option-choice-shortest-linktext": "Laluan terpendek sekiranya boleh", "option-choice-relative-path": "Laluan relatif kepada fail", "option-choice-absolute-path": "Laluan mutlak dalam peti", "option-new-attachment-location": "Tempat letak lampiran baharu", "option-new-attachment-location-description": "Pilih tempat letak lampiran yang baru dibuat.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "Dalam subfolder dalam folder yang aktif", "option-attachment-folder-path": "Laluan untuk folder lampiran", "option-attachment-folder-path-description": "Semua lampiran baharu akan diletakkan di sini iaitu gambar atau rakaman audio yang dihasilkan sama ada melalui tarik masuk ataupun melalui salin dan tampal.", "option-attachment-subfolder-path": "Nama subfolder", "option-attachment-subfolder-path-description": "Jika fail sekarang ini ialah \"akar peti/folder\", lalu subfolder ini dinamakan \"lampiran\", maka lampiran-lampiran akan diletakkan dalam folder \"akar peti/folder/lampiran\".", "option-excluded-files": "Excluded files", "option-excluded-files-desc": "Excluded files will be hidden in Search, Graph View, and Unlinked Mentions, less noticeable in Quick Switcher and link suggestions.", "label-no-excluded-filters-applied": "No excluded filter is applied right now. Add one below.", "label-excluded-filters-applied": "Files matching the following filters are currently excluded:", "label-excluded-filter": "Filter", "message-empty-filter": "Filter cannot be empty", "placeholder-excluded-filter": "Enter path or \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Penampilan", "option-base-theme": "Tema asal", "option-base-theme-description": "Gunakan tema asal Obsidian.", "option-accent-color": "Accent color", "option-accent-color-description": "Choose the accent color used throughout the app.", "dark-theme": "Gelap", "light-theme": "Cerah", "system-theme": "Adapt to system", "option-font": "Font", "option-advanced": "Advanced", "option-interface": "Interface", "option-interface-font": "Interface font", "option-interface-font-description": "Set base font for all of Obsidian.", "option-zoom-level": "Zoom level", "option-zoom-level-description": "Controls the overall zoom level of the app.", "option-text-font": "Text font", "option-text-font-description": "Set font for editing and reading views.", "option-monospace-font": "Monospace font", "option-monospace-font-description": "Set font for places like code blocks and frontmatter.", "label-single-font-currently-in-effect": " Currently applied font: ", "label-multiple-fonts-currently-in-effect": " The following fonts are currently applied:", "option-font-placeholder": "Enter font name...", "label-no-custom-font-set": "No custom font is applied right now. Add one below.", "label-font-applied": "The first font from this list that is available on your system will be applied.", "msg-font-not-found": "This font is not detected on your system.", "msg-font-found": "This font is detected on your system.", "label-font-name": "Font name", "option-community-themes": "Buka tema-tema komuniti", "option-community-themes-description": "Pralihat dan gunakan tema-tema mengagumkan yang dihasilkan oleh komuniti.", "button-browse-community-themes": "Cari", "option-font-size": "Saiz huruf", "option-font-size-description": "Saiz huruf dalam ukuran piksel yang akan mempengaruhi mod suntingan dan pralihat.", "option-font-size-action": "Ubah saiz huruf dengan pantas", "option-font-size-action-description": "Ubah saiz huruf menggunakan CTRL + Tatal atau gunakan kawalan zum pada pad sesentuh.", "option-themes": "Tema", "option-manage-themes-description": "Manage installed themes and browse community themes.", "option-theme-button-manage": "Manage", "option-choice-none": "Tiada", "option-native-menus": "Native menus", "option-native-menus-desc": "Menus throughout the app will match the operating system. They will not be affected by your theme.", "button-reload-themes": "Muat semula tema", "msg-reloaded-themes": "Tema CSS sendiri sudah dimuatkan semula.", "button-open-themes-folder": "Buka folder tema", "option-css-snippets": "Snippet CSS", "label-no-css-snippets-found": "Tiada snippet CSS dijumpai dalam folder snippet.", "no-snippet-description": "Snippet CSS disimpan dalam \"{{path}}\".", "button-reload-snippets": "Muat semula snippet", "button-open-snippets-folder": "Buka folder snippet", "msg-reloaded-snippets": "Snippet CSS sudah dimuatkan semula.", "option-toggle-snippet-description": "Gunakan snippet CSS dari \"{{path}}\".", "label-installed-themes": "Installed themes", "label-screenshot-unavailable": "Screenshot unavailable", "label-default-theme": "Default", "tooltip-click-to-enlarge": "Click to enlarge", "button-update": "Update", "label-currently-active": "Active", "option-frame-style": "Window frame style", "option-frame-description": "Determines the styling of the title bar of Obsidian windows. Requires a full restart to take effect.", "option-frame-hidden": "Hidden (default)", "option-frame-obsidian": "Obsidian frame", "option-frame-native": "Native frame", "option-custom-icon": "Custom app icon", "option-custom-icon-desc": "Set a custom icon for the app", "button-choose-custom-icon": "Choose custom icon", "option-configure-ribbon": "Ribbon menu", "option-configure-ribbon-desc": "Configure what commands appear in the ribbon menu in the navigation bar.", "option-mobile-quick-ribbon-item": "Quick access ribbon item", "option-mobile-quick-ribbon-item-desc": "Tapping on the ribbon item in the navigation menu will activate this ribbon item. Tap and hold will still show the menu.", "option-mobile-quick-ribbon-default": "Open ribbon menu", "button-configure": "Configure", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "Other ribbon items", "label-modal-configuration": "Ribbon Configuration", "label-modal-configuration-desc": "Choose what items you want to be active in the ribbon. Drag and drop to change the order.", "option-show-view-header": "Show tab title bar", "option-show-view-header-desc": "Display the header at the top of every tab.", "msg-updates-found": "Found {{count}} theme to update.", "msg-updates-found_plural": "Found {{count}} themes to update.", "button-check-for-updates": "Check for updates", "button-view-updates": "View updates", "button-update-all-themes": "Update all", "label-current-themes": "Current community themes", "label-currently-installed": "You currently have {{count}} theme installed.", "label-currently-installed_plural": "You currently have {{count}} themes installed." }, "hotkeys": { "name": "Kekunci Pintasan", "option-search": "Search hotkeys", "option-search-desc": "Showing {{count}} hotkey. ", "option-search-desc_plural": "Showing {{count}} hotkeys. ", "option-search-conflict": "{{count}} command with conflicts.", "option-search-conflict_plural": "{{count}} commands with conflicts.", "prompt-filter": "Tapis...", "tooltip-delete-hotkey": "Hapuskan kekunci pintasan", "label-waiting-for-hotkey-press": "Tekan kekunci pintasan...", "label-show-all": "All", "label-show-unassigned": "Unassigned", "label-show-assigned": "Assigned", "label-show-user-assigned": "Assigned by me", "tooltip-restore-default": "Balik ke tetapan asal", "tooltip-customize-command": "Tetapkan kekunci untuk arahan", "tooltip-hotkey-single-conflict": "Kekunci pintasan ini bercanggah dengan \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Kekunci pintasan ini bercangan dengan {{count}} arahan lain", "label-blank-hotkey": "Kosong" }, "about": { "name": "Perisian", "label-commercial-license": "Commercial license", "label-license-key": "Kunci lesen", "license-key-placeholder": "Kunci lesen anda...", "label-activate-license": "Hidupkan lesen", "button-activate": "Hidupkan", "label-unknown-version": "Tidak diketahui", "label-current-version": "Versi terkini: ", "label-install-version": "(Versi pemasang: {{version}})", "label-up-to-date": "Aplikasi anda sudah dikemas kini!", "label-read-changelog": "Baca log perubahan.", "label-manual-update-required": "To support the latest features and to receive the latest security patches, Obsidian needs a major installer update. You need to manually download and reinstall Obsidian.", "label-new-version-ready": "Versi terbaharu sedia untuk dipasang.", "label-disabled-updates": "Proses pengemaskinian ditutup.", "button-relaunch": "Buka semula", "button-check-for-updates": "Semak kemas kini terbaharu", "option-auto-update": "Kemas kini secara automatik", "option-auto-update-description": "Tutup pilihan ini jika tidak ingin aplikasi menyemak kemas kini.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Get help", "option-get-help-description": "Get help on using Obsidian.", "button-open": "Buka", "option-language": "Bahasa", "option-language-description": "Tukar bahasa paparan", "option-insider-build": "Dapatkan versi ujian insider", "option-insider-build-description": "Mendapatkan kemas kini daripada versi insider untuk menguji ciri-ciri baharu. Ambil maklum bahawa versi ini adalah yang paling terkehadapan dan mungkin kurang stabil.", "option-advanced": "Lanjutan", "option-hw-acceleration": "Pemecutan perkakas", "option-hw-acceleration-description": "Menghidupkan ciri pemecutan perkakas yang menggunakan GPU untuk melancarkan Obsidian.", "option-hw-acceleration-warning": "Jika pilihan ini ditutup, prestasi aplikasi akan merosot dengan banyak.", "option-config-location": "Ambil alih folder konfigurasi", "option-config-location-description": "Pilih folder konfigurasi selain yang ditetapkan. Nama folder perlu bermula dengan titik.", "option-config-location-warning": "Tempat letak konfigurasi mestilah menggunakan nama folder yang sah serta bermula dengan titik.", "label-license": "Lesen", "label-your-commercial-license-key": "Your commercial license key is \"{{key}}\".", "label-commercial-license-info": "Didaftarkan bawah nama \"{{company}}\" untuk {{seats}} orang pengguna. Sah sehingga {{expiry}}.", "label-validating-commercial-license": "Mengesahkan...", "label-invalid-commercial-license": "Lesen tidak sah: ", "button-remove-commercial-license": "Remove", "option-catalyst": "Catalyst license", "option-catalyst-desc": "You currently have the {{tier}} Catalyst license. Thanks for your support!", "option-catalyst-desc-no-license": "You don't have a Catalyst license right now. Catalyst license is a one-time donation to support Obsidian development.", "label-app": "App", "label-add-own-language": "See how to add your language to Obsidian." }, "account": { "name": "Akaun", "option-your-account": "Your account", "option-your-account-desc": "You're currently signed in {{name}} ({{email}}).", "option-your-account-desc-no-login": "You're not logged in right now. An account is only needed for Obsidian Sync, Obsidian Publish, and Catalyst insider builds.", "label-insider": "insider", "label-supporter": "supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Upgrade", "option-commercial-license": "Commercial license", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Purchase", "button-log-out": "Daftar keluar", "label-log-in": "Daftar masuk", "label-sign-up": "Sign up", "label-email": "Emel", "placeholder-email": "Emel anda...", "label-name": "Full name", "label-password": "Kata laluan", "placeholder-password": "Kata laluan anda...", "label-forgot-password": "Forgot password?", "button-login": "Daftar masuk", "message-empty-email": "Emel tidak boleh dibiarkan kosong.", "message-invalid-email": "Emel yang dimasukkan tidak sah.", "message-empty-password": "Kata laluan tidak boleh dibiarkan kosong.", "message-login-failed": "Gagal mendaftar masuk, pastikan emel dan kata laluan adalah betul.", "message-signup-failed": "Failed to sign up", "label-no-account": "Tiada akaun? ", "link-sign-up-now": "Daftar akaun", "label-mfa-code": "6-digit 2FA code", "mfa-wrong-format": "The 2FA authenticator code must be 6 digits.", "mfa-verification-failed": "2FA code is incorrect, please double check your authenticator app." }, "core-plugin": { "plugin-list": "Plugin list", "option-search-plugin": "Search core plugins", "option-search-plugin-description": "Filter plugins by name or description.", "placeholder-search-plugin": "Search plugins..." }, "third-party-plugin": { "name": "Plugin pihak ketiga", "option-restricted-mode": "Restricted mode", "option-restricted-mode-description": "Restricted mode is off. Turn on to disable community plugins.", "button-turn-on": "Turn on", "option-browse-community-plugins": "Plugin komuniti", "option-browse-community-plugins-description": "Gelintar dan pasang plugin pihak ketiga yang dihasilkan oleh komuniti kami yang hebat-hebat belaka.", "button-browse": "Gelintar", "label-exit-restricted-mode": "Exit Restricted Mode", "label-exit-restricted-mode-description-1": "Community plugins, like any other software you install, could potentially cause data integrity and security issues.", "label-exit-restricted-mode-description-2": "Plugin security is important to us. Here's what we do:", "label-exit-restricted-mode-description-3": "Despite our efforts, there is still a small chance that a community plugin might misbehave.", "label-code-review": "Initial code review", "label-code-review-desc": "Plugins undergo an initial code review by our team before they appear in the store.", "label-open-source": "Open source", "label-open-source-desc": "Most plugins are open source on GitHub, so you can inspect the code yourself.", "label-peer-audit": "Peer audit", "label-peer-audit-desc": "We have a large community of developers who watch out for each other.", "label-report-mechanism": "Report mechanism", "label-report-mechanism-desc": "We follow up and remove faulty plugins upon user report.", "label-exit-restricted-mode-disable-confirmation": "Would you like to exit Restricted Mode to enable community plugins? We strongly recommend making backups of your data before doing so.", "label-learn-more": "Learn more about plugin security", "button-turn-on-community-plugins": "Turn on community plugins", "label-trust-author": "Do you trust the author of this vault?", "label-trust-author-description-1": "You're opening this vault for the first time, and it comes with some plugins.", "label-trust-author-description-2": "If you obtained this vault from someone else, please note that plugins of unknown origin might pose security risks.", "label-trust-author-description-3": "If you do not fully trust the author of this vault, we recommend staying in Restricted Mode, so the plugins in this vault do not run.", "button-enable-plugins": "Trust author and enable plugins", "button-dont-trust-author": "Browse vault in Restricted Mode", "placeholder-community-plugins": "Cari plugin komuniti...", "msg-failed-load-plugins": "Gagal memuatkan plugin komuniti.", "label-installed": "Dipasang", "button-install": "Pasang", "button-enable": "Hidupkan", "button-disable": "Matikan", "button-copy-share-link": "Copy share link", "button-donate": "Donate", "label-no-results-found": "Tiada hasil carian.", "label-no-recent-files-found": "No recent files found. Type to search...", "msg-failed-to-load-manifest": "Gagal memuatkan 'manifest' plugin.", "label-version": "Versi: {{version}}", "label-currently-installed-version": " (versi yang dipasang sekarang: {{version}})", "label-by-author": "Oleh ", "label-repository": "Repositori: ", "label-last-update": "Last update: ", "tooltip-view-last-update": "View the latest update", "label-unsupported": "Plugin ini tidak menyokong peranti anda.", "button-update": "Kemas kini", "label-no-readme": "Plugin ini tidak menyediakan fail README.", "msg-installing-plugin": "Memasang plugin \"{{name}}\"...", "msg-failed-to-install-plugin": "Gagal memasang plugin \"{{name}}\".", "msg-successfully-installed-plugin": "Berjaya memasang plugin \"{{name}}\".", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Plugin yang sudah dipasang", "button-reload-plugins": "Muat semula plugin", "msg-reloaded-third-party-plugins": "Sudah memuat semula plugin pihak ketiga.", "label-uninstall": "Buang", "label-uninstall-plugin": "Buang plugin", "label-uninstall-plugin-confirmation": "Adakah anda yakin ingin membuang plugin ini? Perbuatan ini akan memadam folder yang menempatkan plugin ini.", "button-open-plugins-folder": "Buka folder plugin", "button-check-for-updates": "Semak pengemaskinian", "button-update-all-plugins": "Kemas kini semua", "label-current-plugins": "Plugin yang ada", "label-currently-installed": "Sekarang ini ada {{count}} plugin yang dipasang.", "label-currently-installed_plural": "Sekarang ini ada {{count}} plugin yang dipasang.", "msg-no-updates-found": "Tiada kemas kini plugin yang dijumpai.", "msg-updates-found": "Terdapat {{count}} plugin yang ada kemas kini.", "msg-updates-found_plural": "Terdapat {{count}} plugin yang ada kemas kini.", "msg-update-plugin": "Kemas kini menjadi versi {{version}}", "option-search-installed-plugin": "Cari plugin yang dipasang", "option-search-installed-plugin-description": "Tapis plugin yang dipasang mengikut nama atau keterangan.", "placeholder-search-installed-plugin": "Cari plugin yang dipasang...", "show-installed-only": "Show installed only", "label-donate-modal-title": "Donate to support {{name}}", "label-donate-modal-text1": "Plugin developers are community volunteers who make amazing things out of passion. If you find this plugin useful, please consider funding its development.", "label-donate-modal-text2": "100% of your contribution will go to the plugin developer; Obsidian does not take a cut. The funding platform they choose might charge a fee.", "label-donate-modal-text3": "Thanks for your generous support!", "label-support-this-plugin": "Support this plugin:", "label-search-summary": "Terdapat {{pluginCount}} plugin:", "label-by-popularity": "Most downloaded", "label-by-released": "Recently released", "label-by-updated": "Recently updated", "label-alphabetical": "Alphabetical", "label-last-updated": "Updated {{time}}" }, "mobile-toolbar": { "name": "Jalur alat untuk peranti mudah alih", "option-configure-quick-action": "Tetapan untuk Tindakan Pantas mudah alih", "option-configure-quick-action-description": "Tetapkan arahan apa yang ingin dilaksanakan ketika skrin dileret dari atas ke bawah. Arahan yang sekarang ialah \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "Penetapan", "placeholder-select-quick-action": "Pilih Tindakan Pantas...", "quick-action-disabled": "None", "manage-toolbar-options": "Uruskan pilihan jalur alat", "option-internal-link": "Tambah pautan dalaman", "option-internal-embed": "Selitkan media atau sebahagian nota", "option-tag": "Tambah tag", "option-heading": "Jadikan pengepala", "option-strikethrough": "Silih ganti tulisan berpalang", "option-highlight": "Silih ganti tulisan tumpuan", "option-code": "Silih ganti kod", "option-blockquote": "Silih ganti bongkah petua", "option-inline-math": "Toggle inline math", "option-math-block": "Toggle math block", "option-markdown-link": "Tambah pautan gaya Markdown", "option-bullet-list": "Silih ganti senarai bertitik", "option-numbered-list": "Silih ganti senarai bernombor", "option-indent-list": "Inden masuk item senarai", "option-unindent-list": "Inden keluar item senarai", "option-undo": "Undur kerja", "option-redo": "Maju kerja", "option-move-caret-up": "Pindah karet ke atas", "option-move-caret-down": "Pindah karet ke bawah", "option-move-caret-left": "Pindah karet ke kiri", "option-move-caret-right": "Pindah karet ke kanan", "option-first-line": "Pergi ke baris pertama", "option-last-line": "Pergi ke baris terakhir", "option-toggle-keyboard": "Buka/Tutup papan kekunci", "option-configure-toolbar": "Tetapan untuk jalur alat mudah alih", "option-added-options": "Pilihan yang dimasukkan", "option-more-toolbar-options": "Pilihan lanjut untuk jalur alat", "option-attach": "Masukkan lampiran", "option-add-command": "Tambah arahan global", "option-add-command-description": "Pilih arahan global untuk ditambahkan ke jalur alat." } }, "editor": { "search": { "placeholder-find": "Find", "placeholder-replace": "Replace", "label-exit-search": "Keluar carian", "label-next": "Seterusnya", "label-previous": "Sebelumnya", "label-find-all": "Find all", "label-replace": "Ganti masuk", "label-replace-all": "Ganti semua" }, "link-suggestion": { "label-type-hash": "Letak #", "label-link-heading": "untuk pautkan ke pengepala", "label-type-block": "Letak ^", "label-link-block": "untuk pautkan ke bongkah", "label-type-pipe": "Letak |", "label-change-display-text": "untuk ubah tulisan yang dipaparkan", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "Tiada padanan yang dijumpai", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Tiada saranan...", "add-to-dictionary": "Tambahkan ke kamus" }, "menu": { "edit-link": "Edit link", "edit-tag": "Edit tag", "label-edit-block": "Edit this block", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "No heading", "label-heading-level": "Heading {{level}}" }, "print-modal": { "title": "Eksport ke PDF", "caption": "Eksport \"{{filename}}\" ke PDF dengan tetapan berikut.", "setting-page-size": "Saiz muka surat", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Include file name as title", "setting-landscape": "Landscape", "setting-margin": "Margin", "setting-margin-default": "Default", "setting-margin-minimal": "Minimal", "setting-margin-none": "Tiada", "setting-downscale-percent": "Peratusan pengecilan", "button-export-to-pdf": "Eksport ke PDF" }, "link-popover": { "tooltip-follow-link": "Ikuti pautan", "tooltip-open-link": "Buka pautan", "tooltip-search-tag": "Cari tag" } }, "interface": { "embed-cannot-find": "Cannot find:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Buka dalam aplikasi default", "empty-sidebar": "Papan sisi adalah kosong, cuba tarik masuk satu tetingkap ke sini.", "sidebar-expand": "Kembangkan", "sidebar-collapse": "Tutup", "msg-fail-to-save-file": "Gagal menyimpan fail \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "Tiada fail", "msg-file-changed": "\"{{file}}\" telah diubah suai di luar, sedang menyepadukan perubahan secara automatik.", "switch-vault": "Buka peti nota lain", "manage-vaults": "Manage vaults...", "help": "Bantuan", "settings": "Tetapan", "drag-to-rearrange": "Tarik untuk tukar susunan", "msg-switched-to-read": "Switched default view mode to reading view.", "msg-switched-to-edit": "Sudah tetapkan penyuntingan sebagai mod pertama.", "msg-upgrade-installer": "Jika mahu gunakan ciri ini, sila pasang semula aplikasi menggunakan pemasang terkini daripada laman kami.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Balik ke tetapan asal", "label-copy": "Salin ke papan klip", "label-copy-short": "Copy", "copied_generic": "Copied to your clipboard", "copied": "{{item}} sudah disalin ke papan klip", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "Url", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Sudah buka fail \"{{path}}\"", "msg-file-not-found-through-uri": "Fail \"{{name}}\" tidak dijumpai.", "delete-action-short-name": "Hapus", "msg-indexing": "Obsidian sedang mengindeks nota-nota...\nPerkara ini sepatutnya dilakukan sekali sahaja.\nBeberapa fungsi mungkin tidak ada buat seketika sehinggalah pengindeksan selesai.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Selesai mengindeks nota.", "msg-sandbox-vault": "This is a sandbox vault.\nChanges you make in this vault will be lost.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Enter to create", "label-update-available": "Update Available", "label-debug-info": "Debug info", "button-learn-more": "Learn more", "button-not-now": "Not now", "button-add": "Add", "button-manage": "Manage", "label-new-tab": "New tab", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "This tab is currently busy, please try again later", "formatting": { "label-formatting": "Format", "label-paragraph": "Paragraph", "label-insert": "Insert", "insert-link": "Add link", "insert-external-link": "Add external link", "insert-callout": "Callout", "insert-horizontal-rule": "Horizontal rule", "insert-code-block": "Code block", "insert-math-block": "Math block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comments": "Comment", "toggle-highlight": "Highlight", "toggle-italics": "Italic", "toggle-strikethrough": "Strikethrough", "toggle-math": "Math", "toggle-bullet-list": "Bullet list", "toggle-checklist": "Task list", "toggle-numbered-list": "Numbered list", "set-heading": "Heading {{level}}", "no-heading": "Body", "clear": "Clear formatting", "toggle-quote": "Quote" }, "empty-state": { "no-file-open": "Tiada fail yang dibuka", "create-new-file": "Buat fail baharu", "go-to-file": "Buka fail", "see-recent-files": "Lihat fail-fail terkini", "close": "Tutup", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Plugin no longer active", "unknown-pane-desc": "The plugin that created this view ({{type}}) has gone away" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Sunting (Ctrl/Cmd+Click untuk sunting di tetingkap baharu)", "read-view": "Current view: reading", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "Click to edit", "switch-to-read-view": "Click to read", "mod-click-open-new-tab": "{{key}}+Click to open in new tab", "find": "Cari...", "replace": "Ganti...", "edit": "Sunting", "remove": "Remove", "rename": "Rename", "preview": "Pralihat", "more-options": "Pilihan lain", "close": "Tutup", "close-all": "Close all", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Close others", "close-after": "Close tabs after", "pin": "Semat", "unpin": "Unpin", "unlink-tab": "Unlink tab", "link-tab": "Link with tab...", "toggle-source-mode": "Source mode", "toggle-reading-view": "Reading view", "add-property": "Add file property", "delete-file": "Hapuskan fail", "create-file": "Create this file", "open-link": "Open link", "open-in-new-tab": "Open in new tab", "open-to-the-right": "Open to the right", "copy-url": "Salin url", "copy": "Copy", "cut": "Cut", "paste": "Paste", "paste-as-plain-text": "Paste as plain text", "lookup-selection": "Look up “{{selection}}”", "select-all": "Select all", "rename-heading": "Rename this heading...", "rename-blockid": "Rename this block ID...", "open-in-new-window": "Open in new window", "move-to-new-window": "Move to new window", "open-in-browser": "Open in browser", "stack-tabs": "Stack tabs", "unstack-tabs": "Unstack tabs", "open-linked-view": "Open linked view" }, "tooltip": { "click-to-expand": "Tekan untuk kembangkan", "click-to-collapse": "Tekan untuk tutup", "alias": "Alias", "not-created-yet": "Not created yet, select to create" }, "start-screen": { "label-version": "Version", "label-create-local-vault": "Create local vault", "option-open-folder-as-vault": "Buka folder sebagai Peti Nota", "option-open-folder-as-vault-description": "Pilih salah satu folder sedia ada yang mengandungi fail-fail Markdown.", "option-create-vault": "Buat Peti Nota baharu", "option-create-vault-description": "Buat satu folder baharu sebagai Peti Nota untuk Obsidian.", "option-connect-obsidian-sync": "Open vault from Obsidian Sync", "option-connect-obsidian-sync-description": "Set up a synced vault with existing remote vault.", "option-new-vault-name": "Nama Peti Nota", "option-new-vault-name-description": "Pilih nama untuk Peti Nota anda yang gempak.", "option-new-vault-location": "Tempat", "option-new-vault-location-description": "Pilih tempat untuk meletakkan Peti Nota.", "label-new-vault-location-preview": "Your new vault will be placed in: ", "option-reveal-vault-in-explorer": "Reveal vault in system explorer", "option-reveal-vault-in-explorer-mac": "Reveal vault in Finder", "option-rename-vault": "Rename vault...", "option-copy-vault-i-d": "Copy vault ID", "msg-error-rename-exists": "There is already a vault with this name.", "msg-error-nested": "Cannot move vault into a subfolder of itself.", "msg-error-rename-open": "Can't rename a currently open vault.", "msg-rename-failed": "Failed to rename vault.", "msg-rename-success": "Successfully renamed vault.", "option-move-vault": "Move vault...", "msg-move-select-dest": "Select destination folder", "msg-error-move-exists": "There is already a vault at the destination.", "msg-error-move-open": "Can't move a currently open vault.", "msg-move-failed": "Failed to move vault.", "msg-move-success": "Successfully moved vault.", "option-remove": "Remove from list", "button-quick-start": "Quick start", "button-open": "Buka", "button-browse": "Cari folder", "button-connect": "Connect", "button-create-vault": "Buat Peti Nota", "button-back": "Balik", "msg-empty-vault-name": "Nama Peti Nota tidak boleh kosong.", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "Diminta pilih folder yang sah.", "msg-failed-to-create-vault": "Gagal membuat Peti Nota.", "msg-failed-to-create-vault-at-location": "Peti Nota gagal dibuat di tempat yang diberikan. Diminta semak semula tempat dan keizinan.", "msg-error-failed-to-open-vault": "Gagal membuka Peti Nota.", "msg-error-remove-current-open-vault": "Peti Nota yang sedang digunakan tidak boleh dibuang.", "option-get-help": "Get Help", "option-user-email": "Email", "placeholder-your-email": "Your email...", "option-user-password": "Password", "placeholder-your-password": "Your password...", "button-sign-in": "Sign in", "button-setup": "Setup", "option-connect-vault-desc": "Create a synced vault on this device.", "tooltip-own-vault": "This is a remote vault owned by you.", "tooltip-shared-vault": "This is a remote vault shared with you.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Welcome", "welcome-file-content": "This is your new *vault*.\n\nMake a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nWhen you're ready, delete this note and make the vault your own." }, "drag-and-drop": { "insert-link-here": "Masukkan pautan di sini", "insert-links-here": "Masukkan pautan di sini", "move-into-folder": "Pindah ke folder \"{{folder}}\"", "star-this-file": "Bintangkan fail ini", "star-these-files": "Bintangkan fail ini", "open-in-this-tab": "Open in this tab", "open-as-tab": "Open as new tab" }, "window": { "maximize": "Maksimumkan", "minimize": "Minimumkan", "restore-down": "Kecilkan", "close-window": "Tutup", "go-back": "Ke belakang", "go-forward": "Ke hadapan" }, "start-up": { "loading-obsidian": "Memuatkan Obsidian...", "obsidian-load-error": "Berlaku ralat ketika memuatkan Obsidian.", "button-reload-app": "Muat semula aplikasi", "button-reload-app-in-safe-mode": "Reload app in Restricted Mode", "button-open-another-vault": "Buka Peti Nota baharu", "loading-plugins": "Memuatkan plugin...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Memuatkan Peti Nota...", "msg-failed-to-load-vault": "Gagal memuatkan Peti Nota: ", "loading-cache": "Memuatkan cache...", "loading-workspace": "Memuatkan tempat kerja..." }, "mobile": { "action-import": "Import into vault", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "Choose a file to insert", "action-insert-text-into-file": "Insert text into {{filename}}", "action-insert-link-into-file": "Insert link into {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "Importing...", "msg-import-success": "Import success", "msg-failed-to-import-file": "Failed to import file {{filename}}", "msg-back-again-to-exit": "Press back again to exit.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Official help site", "label-official-help-site-desc": "Read the official help documentation of Obsidian, available in multiple languages.", "action-visit": "Visit", "label-discord-chat": "Discord chat", "label-discord-chat-desc": "Discord is the best place to chat with other experienced Obsidian users from around the world.", "action-join": "Join", "label-forum": "Official forum", "label-forum-desc": "Help each other, post feature requests, report bugs, and have in-depth discussions about knowledge management.", "label-sandbox-vault": "Sandbox vault", "label-sandbox-vault-desc": "Play around and experiment with various features. Please note your changes will not be saved." } }, "commands": { "save-file": "Simpan fail ini", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Ikuti pautan pada penunjuk", "open-cursor-link-in-new-tab": "Open link under cursor in new tab", "open-cursor-link-to-the-right": "Open link under cursor to the right", "open-cursor-link-in-new-window": "Open link under cursor in new window", "navigate-tab-above": "Focus on tab group above", "navigate-tab-below": "Focus on tab group below", "navigate-tab-left": "Focus on tab group to the left", "navigate-tab-right": "Focus on tab group to the right", "toggle-pin": "Letak/Buang semat", "split-right": "Split right", "split-down": "Split down", "toggle-stacked-tabs": "Toggle stacked tabs", "navigate-back": "Ke belakang", "navigate-forward": "Ke hadapan", "use-dark-mode": "Gunakan mod gelap", "use-light-mode": "Gunakan mod cerah", "change-theme": "Change theme", "search-current-file": "Cari dalam fail", "search-replace-current-file": "Cari & ganti dalam fail", "add-property": "Add file property", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Clear file properties", "open-settings": "Buka tetapan", "open-help": "Buka bantuan", "toggle-edit": "Toggle editing/reading view", "toggle-source-mode": "Toggle Live Preview/Source mode", "delete-current-file": "Hapuskan fail", "new-tab": "New tab", "show-trash": "Show trash", "close-all-tabs": "Close all tabs", "close-active-tab": "Close current tab", "close-others-in-tab-group": "Close others in tab group", "close-other-tabs": "Close all other tabs", "close-tab-group": "Close this tab group", "toggle-left-sidebar": "Buka/Tutup papan kiri", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "Buka/Tutup papan kanan", "toggle-default-new-tab-mode": "Toggle default mode for new tabs", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "Focus on last note", "toggle-fold-properties": "Toggle fold properties in current file", "toggle-fold": "Buka/Tutup lipatan dalam baris", "fold-all": "Lipat semua pengepala dan senarai", "unfold-all": "Buka lipatan semua pengepala dan senarai", "fold-more": "Fold more", "fold-less": "Fold less", "swap-line-up": "Pindah ke baris atas", "swap-line-down": "Pindah ke baris bawah", "remove-heading": "Remove heading", "toggle-heading": "Set as heading {{level}}", "toggle-bold": "Silih ganti tulisan tebal yang dipilih", "toggle-italics": "Silih ganti tulisan miring yang dipilih", "toggle-highlight": "Silih ganti tulisan tumpu yang dipilih", "toggle-comments": "Silih ganti format komen yang dipilih", "clear-formatting": "Clear formatting", "insert-link": "Masukkan pautan", "toggle-spellcheck": "Hidupkan/Matikan penyemak ejaan", "delete-paragraph": "Padam perenggan", "toggle-checklist": "Silih ganti status senarai semak", "cycle-list-checklist": "Cycle bullet/checkbox", "insert-callout": "Insert callout", "insert-code-block": "Insert code block", "insert-math-block": "Insert math block", "insert-horizontal-rule": "Insert horizontal rule", "insert-table": "Insert table", "insert-footnote": "Insert footnote", "edit-file-title": "Sunting tajuk fail", "copy-path": "Salin laluan ke fail", "copy-url": "Salin url Obsidian", "export-pdf": "Eksport ke PDF", "reload": "Muat semula aplikasi tanpa menyimpan", "undo-close-tab": "Undo close tab", "context-menu": "Show context menu under cursor", "show-debug-info": "Show debug info", "open-sandbox-vault": "Open sandbox vault", "always-on-top": "Toggle window always on top", "zoom-in": "Zoom in", "zoom-out": "Zoom out", "reset-zoom": "Reset zoom", "toggle-preview": "Tukar mod sunting/pralihat", "move-to-new-window": "Move current tab to new window", "open-in-new-window": "Open current tab in new window", "rename-current-file": "Rename current file", "go-to-prev-tab": "Go to previous tab", "go-to-next-tab": "Go to next tab", "go-to-last-tab": "Go to last tab", "go-to-nth-tab": "Go to tab #{{n}}", "show-release-notes": "Show release notes" }, "dialogue": { "label-link-affected": "Ini akan memberi kesan kepada {{links}} dalam {{files}}.", "msg-updated-links": "Selesai mengemas kini {{links}} dalam {{files}}.", "label-update-links": "Kemas kini pautan", "label-confirm-update-link-to-file": "Adakah anda ingin mengemas kini pautan dalaman yang memaut ke fail ini?", "button-always-update": "Sentiasa kemas kini", "button-just-once": "Hanya sekali", "button-do-not-update": "Jangan kemas kini", "label-confirm-deletion": "Adakah anda pasti ingin memadam \"{{filename}}\"?", "label-move-to-system-trash": "Ia akan dipindahkan ke tong sampah sistem anda.", "label-move-to-vault-trash": "Ia akan dipindahkan ke tong sampah Obsidian, yang terletak pada folder tersembunyi \".trash\" dalam Peti Nota anda.", "label-permanent-delete": "Fail akan dihapuskan secara kekal.", "label-non-empty-folder": "Folder ini tidak kosong.", "label-delete-folder-warning": "Jika anda meneruskan, semua fail di dalam folder ini akan dihapuskan.", "label-delete-folder": "Hapuskan folder", "button-delete": "Hapus", "button-delete-do-not-ask-again": "Hapus dan jangan tanya lagi.", "label-do-not-ask-again": "Don't ask again", "label-existing-backlink": "Pada masa ini terdapat {{count}} pautan yang menunjuk kepada nota ini.", "label-existing-backlink_plural": "Pada masa ini terdapat {{count}} pautan yang menunjuk kepada nota ini.", "label-delete-file": "Hapus fail", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Manage", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Batal", "button-download": "Download", "button-done": "Selesai", "button-save": "Save", "button-stop": "Stop", "button-continue": "Continue", "button-choose": "Choose", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Menyediakan PDF...", "label-rename-file": "Namakan semula fail", "label-rename-file-generic": "File name", "label-new-name": "Nama baharu", "msg-rename-success": "Fail berjaya dinamakan semula.", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Rename heading", "label-rename-blockid": "Rename block ID" }, "menu-items": { "new-file": "New Note", "new-file-to-the-right": "New Note to the Right", "new-window": "New Window", "open-switcher": "Open Quickly...", "open-vault": "Open Vault...", "close-tab": "Close Tab", "close-window": "Close Window", "find": "Find", "replace": "Replace", "insert-callout": "Callout", "insert-markdown-link": "Markdown Link", "insert-wikilink": "Link", "set-heading": "Heading {{level}}", "no-heading": "No Heading", "insert-quote": "Quote", "export-pdf": "Export To PDF...", "insert-attachment": "Insert Attachment...", "insert-codeblock": "Code Block", "insert-math-block": "Math Block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bullet-list": "Bullet List", "toggle-numbered-list": "Numbered List", "toggle-checklist": "Task List", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comment": "Comment", "toggle-italics": "Italics", "toggle-inline-math": "Math", "toggle-highlight": "Highlight", "toggle-strikethrough": "Strikethrough", "toggle-comments": "Comment", "folding-menu": "Folding", "fold-all": "Fold All", "unfold-all": "Unfold All", "fold-more": "Fold More", "fold-less": "Fold Less", "source-mode": "Source Mode", "reading-view": "Reading View", "show-debug-info": "Show Debug Info", "open-sandbox": "Open Sandbox Vault", "navigate-back": "Navigate Back", "navigate-forward": "Navigate Forward", "toggle-left-sidebar": "Toggle Left Sidebar", "toggle-right-sidebar": "Toggle Right Sidebar", "toggle-ribbon": "Ribbon", "split-right": "Split Right", "split-down": "Split Down", "release-notes": "Release Notes" }, "plugins": { "name": "Plugin", "file-explorer": { "name": "Peneroka fail", "desc": "Lihat semua fail dalam peti nota anda.", "action-open": "Buka peneroka fail", "action-show": "Tunjuk peneroka fail", "action-create-note": "Buat nota baharu", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Create new note in current tab", "action-create-note-to-the-right": "Create note to the right", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-new-note": "Nota baharu", "action-new-folder": "Folder baharu", "action-change-sort": "Tukar kaedah pengisihan", "action-reveal-file": "Tunjuk fail dalam peneroka fail", "action-reveal-active-file": "Tunjukkan fail terkini di peneroka fail", "command-make-a-copy": "Make a copy of the current file", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Pindah fail ke folder lain", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Pindahkan fail ke...", "action-move-folder": "Pindahkan folder ke...", "action-move-items": "Move {{count}} items to...", "prompt-type-folder": "Taip nama folder", "label-no-folders": "Tiada folder ditemui.", "instruction-navigate": "untuk navigasi", "instruction-move": "untuk pergerakan", "instruction-create": "to create", "instruction-dismiss": "untuk abaikan", "label-sort-a-to-z": "Pengisihan mengikut nama (A ke Z)", "label-sort-z-to-a": "Pengisihan mengikut nama (Z ke A)", "label-sort-new-to-old": "Pengisihan mengikut waktu suntingan (baharu ke lama)", "label-sort-old-to-new": "Pengisihan mengikut waktu suntingan (baharu ke lama)", "label-sort-created-old-to-new": "Masa dibuat (baharu ke lama)", "label-sort-created-new-to-old": "Masa dibuat (lama ke baharu)", "menu-opt-new-note": "Nota baharu", "menu-opt-new-folder": "Folder baharu", "menu-opt-rename": "Tukar nama", "menu-opt-delete": "Hapus", "menu-opt-make-copy": "Buat satu salinan", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "Nama fail tidak boleh mengandungi mana-mana aksara berikut: ", "msg-unsafe-characters": "Pautan tidak akan berfungsi dengan nama yang mengandungi aksara berikut: ", "msg-file-already-exists": "Sudah ada fail dengan nama yang sama", "msg-empty-file-name": "Nama fail tidak boleh kosong.", "msg-bad-dotfile": "File name must not start with a dot.", "tooltip-modified-time": "Kali terakhir disunting {{time}}", "tooltip-created-time": "Dibuat pada {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Tak bertajuk", "label-untitled-folder": "Tak bertajuk", "msg-set-attachment-folder": "Lampiran akan disimpan di \"{{path}}\" mulai sekarang." }, "search": { "name": "Carian", "desc": "Cari kata kunci di semua nota.", "action-open-search": "Cari dalam semua fail", "label-collapse-results": "Mampatkan hasil carian", "label-match-case": "Padankan huruf besar atau kecil dengan tepat", "label-explain-search-term": "Jelaskan hasil carian", "label-more-context": "Kembangkan konteks lanjut", "label-result-count": "{{count}} result", "label-result-count_plural": "{{count}} results", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Search settings", "prompt-start-search": "Taip untuk mulakan carian...", "label-match-text": "Memadankan teks: ", "label-match-regex": "Memadankan regex: ", "label-match-exact-text": "Mengandungi teks sebiji-sebiji: ", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "Contains property:", "label-match-all": "Memadankan semua: ", "label-match-any": "Memadankan sebahagian: ", "label-excluding": "Mengecualikan: ", "label-case-sensitive": "Menepati carian huruf besar atau kecil", "label-case-insensitive": "Mengabaikan ketepatan huruf besar atau kecil", "label-match-file-path": "Memadankan laluan folder: ", "label-match-file-name": "Memadankan nama fail: ", "label-match-content": "Memadankan isi fail: ", "label-match-task": "Memadankan tugasan: ", "label-match-task-todo": "Memadankan tugasan (belum): ", "label-match-task-done": "Memadankan tugasan (siap): ", "label-match-line": "Memadankan barisan: ", "label-match-block": "Match block: ", "label-match-section": "Match section: ", "label-match-tag": "Memadankan tag: ", "label-no-matches": "Tiada padanan dijumpai.", "matches-with-count": "... dan {{count}} lagi padanan.", "matches-with-count_plural": "... dan {{count}} lagi padanan.", "label-copy-search-results": "Salin hasil carian", "button-copy-results": "Salin hasil", "msg-successfully-copied": "Berjaya menyalin hasil carian.", "option-show-path": "Tunjukkan laluan", "option-show-path-description": "Tunjukkan laluan penuh ke fail berbanding hanya nama fail.", "option-link-style": "Gaya pautan", "option-link-style-description": "Pilih sama ada mahu menukarkan setiap hasil fail menjadi pautan.", "option-choice-link-style-none": "Tiada", "option-choice-link-style-wikilink": "Wikipautan", "option-choice-link-style-markdown-link": "Pautan Markdown", "option-list-prefix": "Imbuhan senarai", "option-list-prefix-description": "Pilih sama ada mahu mengimbuhkan item senarai pada setiap hasil fail.", "option-choice-list-style-none": "Tiada", "option-choice-list-style-dash": "Dash (-)", "option-choice-list-style-asterisk": "Asterisk (*)", "option-choice-list-style-numbered": "Bernombor", "tooltip-clear-search": "Kosongkan carian", "label-search-options": "Tetapan carian", "label-properties-group": "Properties", "label-tags-group": "Tags", "tooltip-read-more": "Baca lanjut", "label-history": "Sejarah", "tooltip-clear-history": "Kosongkan sejarah carian", "label-path-option-description": "padankan laluan ke fail", "label-file-name-option-description": "padankan nama fail", "label-tag-option-description": "cari tag", "label-line-option-description": "cari kata kunci dalam barisan yang sama", "label-section-option-description": "cari kata kunci bawah pengepala yang sama", "label-property-option-description": "match property", "menu-opt-search-for": "Search for \"{{keyword}}\"", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "Penukaran pantas", "desc": "Tukar ke fail lain tanpa meninggalkan papan kekunci. Gunakan Ctrl/Cmd+O untuk aktifkan.", "short-name": "Penukar fail", "action-open": "Aktifkan penukaran pantas", "instruction-navigate": "untuk navigasi", "instruction-open": "untuk buka", "instruction-open-in-new-tab": "to open in new tab", "instruction-open-to-the-right": "to open to the right", "instruction-create": "untuk wujudkan", "instruction-dismiss": "untuk tutup", "instruction-select": "to select", "label-no-note-create-new": "Tiada nota dijumpai. Tekan Enter untuk wujudkan yang baharu.", "prompt-type-file-name": "Taip fail yang ingin dibuka atau diwujudkan...", "label-enter-to-create": "Tekan Enter untuk buat", "tooltip-not-created-yet": "Not created yet, select to create", "option-show-existing-only": "Show existing only", "option-show-existing-only-description": "Only show results from existing files. Links to files that are not yet created will be hidden.", "option-show-attachments": "Show attachments", "option-show-attachments-desc": "Show attachment files like images, videos, and PDFs.", "option-show-all-file-types": "Show all file types", "option-show-all-file-types-desc": "Show all files including ones that Obsidian can't open. The file will be opened with the default app for that file type." }, "graph-view": { "name": "Paparan graf", "desc": "Lihat graf yang menggambarkan pautan antara nota.", "action-open": "Buka paparan graf", "action-open-local": "Buka graf tempatan", "action-copy-screenshot": "Salin tangkap layar", "tab-title": "Graf {{displayText}}", "label-filters": "Tapisan", "prompt-filter-nodes": "Cari fail...", "option-depth": "Kedalaman", "option-depth-description": "Tunjukkan nota yang dihubungkan sedalam jumlah pautan ini", "option-neighbor-links": "Pautan jiran", "option-neighbor-links-description": "Tunjukkan pautan antara jiran.", "option-forelinks": "Pautan keluar", "option-forelinks-description": "Tunjukkan pautan ke fail lain", "option-backlinks": "Pautan balik", "option-backlinks-description": "Tunjukkan pautan dari fail lain", "option-show-tags": "Tag", "option-show-tags-description": "Tag dipautkan dengan fail yang menyebut tag tersebut", "option-show-attachments": "Lampiran", "option-show-attachments-description": "Tunjukkan lampiran yang dimasukkan dalam fail", "option-show-existing-files-only": "Fail yang wujud sahaja", "option-show-existing-files-only-description": "Kalau ya, maka fail yang tidak wujud tidak ditunjukkan", "option-show-orphans": "Nota terpencil", "option-show-orphans-description": "Tunjukkan nota yang tidak dipautkan oleh mana-mana fail lain", "label-display": "Penampilan", "option-show-arrows": "Anak panah", "option-show-arrows-description": "Tunjukkan anak panah apabila dizum masuk", "option-text-fade": "Bila pudarnya teks", "option-node-size": "Saiz titik", "option-link-thickness": "Ketebalan pautan", "label-forces": "Daya", "option-center-force": "Daya pusat", "option-link-force": "Daya pautan", "option-link-distance": "Jarak pautan", "option-repel-force": "Daya menolak", "tooltip-open-graph-settings": "Buka tetapan graf", "msg-screenshot-copied": "Tangkap layar sudah disalin ke papan klip.", "label-groups": "Kumpulan", "placeholder-enter-query": "Masukkan carian...", "tooltip-delete-graph": "Padam kumpulan", "button-new-group": "Kumpulan baharu", "tooltip-click-to-change-drag-to-reorder": "Tekan untuk ubah warna\nTarik untuk ubah susunan", "action-timelapse": "Mulakan animasi susur masa perkembangan peti", "tooltip-start-timelapse-animation": "Mulakan animasi", "button-animate-timelapse": "Animasikan" }, "backlinks": { "name": "Pautan balik", "desc": "Tunjukkan jumlah pautan balik dalam jalur status.", "action-open": "Buka pautan balik", "action-show": "Buka tetingkap pautan balik", "action-open-for-current": "Buka pautan balik untuk fail ini", "action-toggle-backlinks-in-document": "Letak/Buang pautan balik dalam dokuman", "menu-opt-backlinks-in-document": "Backlinks in document", "label-linked-mentions": "Sebutan yang dipautkan", "label-no-backlinks": "Tiada pautan balik yang dijumpai.", "label-unlinked-mentions": "Sebutan yang tidak dipautkan", "label-show-search": "Tunjukkan tapisan carian", "label-link-button-text": "Pautan", "tab-title": "Pautan balik untuk {{displayText}}", "label-no-unlinked-mentions": "Tiada sebutan tidak dipautkan yang dijumpai.", "ellipsis": "...", "option-backlink-in-document": "Backlink in document", "option-backlink-in-document-desc": "Show backlinks in document by default when opening new tabs." }, "outgoing-links": { "name": "Outgoing Links", "desc": "Show outgoing links and detect unlinked mentions of other notes in the current note.", "action-open": "Open outgoing links", "action-show": "Show outgoing links", "action-open-for-current": "Open outgoing links for the current file", "tab-title": "Outgoing links from {{displayText}}", "label-links": "Links", "label-no-links": "No links found.", "label-unlinked-mentions": "Unlinked mentions", "tooltip-link-file": "Link this file", "tooltip-not-created": "Not created yet" }, "tag-pane": { "name": "Tetingkap Tag", "short-name": "Tags", "desc": "Tunjukkan semua tag yang ada serta jumpa kemunculannya.", "action-show": "Tunjukkan tetingkap tag", "label-no-tags": "Tiada tag dijumpai.", "label-sort-by-name-a-to-z": "Nama tag (A ke Z)", "label-sort-by-name-z-to-a": "Nama tag (Z ke A)", "label-sort-by-frequency-high-to-low": "Kekerapan (selalu ke jarang)", "label-sort-by-frequency-low-to-high": "Kekerapan (jarang ke selalu)", "action-show-nested-tags": "Tunjukkan tag bertingkat", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Properties view", "desc": "Show the metadata for your files.", "name-global": "All properties", "name-local": "File properties", "tab-title": "File properties for {{displayText}}", "action-show": "Show all properties", "action-show-local": "Show file properties", "opt-unassign-type": "Unassign type", "label-no-properties": "No properties found.", "label-invalid-properties": "Invalid properties.", "label-sort-by-name-a-to-z": "Property name (A to Z)", "label-sort-by-name-z-to-a": "Property name (Z to A)", "label-sort-by-frequency-high-to-low": "Frequency (high to low)", "label-sort-by-frequency-low-to-high": "Frequency (low to high)", "msg-merge-properties-warning": "Merge property “{{oldKey}}” with “{{newKey}}”?", "msg-merge-properties-warning-desc": "In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-open-local": "Open file properties", "action-open-daily-note": "Open daily note" }, "page-preview": { "name": "Pratonton pautan", "desc": "Tunjukkan nota yang dipautkan apabila penunjuk dihalakan atas pautan. Kalau dalam mod suntingan, Ctrl/Cmd + halakan penunjuk.", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "\"{{linktext}}\" belum wujud. Tekan untuk wujudkan.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Suntingan", "label-source-preview": "Pratontonan", "label-source-search": "Search, Backlinks, and Outgoing links", "label-source-tab-header": "Tab header", "label-require-mod": "Perlu tekan {{key}} untuk aktifkan ciri pratontonan pautan" }, "bookmarks": { "name": "Bookmarks", "desc": "Bookmark frequently used files and searches.", "action-show": "Show bookmarks", "action-collapse-all": "Collapse all", "action-new-bookmark": "Bookmark the active tab...", "action-new-group": "New bookmark group", "action-bookmark": "Bookmark...", "action-add-bookmark": "Add bookmark", "action-edit-bookmark": "Edit bookmark", "action-bookmark-block": "Bookmark block under cursor...", "action-bookmark-heading": "Bookmark heading under cursor...", "action-bookmark-search": "Bookmark current search...", "action-remove-bookmark": "Remove bookmark for current file", "action-bookmark-tab-group": "Bookmark {{count}} tab...", "action-bookmark-tab-group_plural": "Bookmark {{count}} tabs...", "action-bookmark-all-tabs": "Bookmark all tabs...", "action-bookmark-graph": "Bookmark this graph...", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} bookmark", "label-bookmark-with-count_plural": "{{count}} bookmarks", "label-no-bookmarks": "No bookmarks found", "label-invalid-data": "Failed to load bookmarks.", "label-invalid-data-desc": "The data file is corrupted.", "label-untitled-group": "Untitled group", "label-untitled-graph": "Untitled Graph", "menu-opt-edit": "Edit...", "menu-opt-remove": "Remove", "menu-opt-rename": "Rename", "menu-opt-bookmark-block": "Bookmark this block...", "menu-opt-bookmark-heading": "Bookmark this heading...", "msg-no-search-query": "No search query to bookmark.", "option-path": "Path", "option-query": "Query", "option-u-r-l": "URL", "option-title": "Title", "option-group": "Bookmark group", "placeholder-bookmark-group": "Bookmarks" }, "custom-css": { "name": "CSS Sendiri", "desc": "Menghiasi peti ini dengan CSS yang ditulis sendiri dalam \"obsidian.css\".", "setting-community-themes": "Tema komuniti", "msg-fetching-themes": "Sedang mendapatkan data tema komuniti...", "prompt-filter": "Tapisan...", "label-dark-theme-only": "Tema gelap sahaja", "label-light-theme-only": "Tema terang sahaja", "label-use": "Guna", "label-stop-use": "Stop using this theme", "label-install-and-use": "Install and use", "label-update": "Update", "label-no-readme": "This theme did not provide a README file.", "tooltip-remove-theme": "Remove theme", "label-visit-on-github": "Lawati GitHub", "msg-load-error": "Tidak boleh mendapatkan data tema. Mungkin internet anda bermasalah.", "msg-now-using-theme": "Sekarang anda sedang gunakan tema {{title}}.", "msg-deleted-theme": "The theme {{title}} has been deleted.", "msg-updated-theme": "The theme {{title}} has been updated.", "label-installed": "Installed", "label-legacy": "Legacy", "button-update-all-themes": "Update all", "msg-failed-load-themes": "Failed to load community themes.", "msg-no-updates-found": "No theme updates found.", "msg-updates-found": "Found {{count}} theme to update.", "msg-updates-found_plural": "Found {{count}} themes to update.", "msg-failed-to-install-theme": "Failed to install theme \"{{name}}\".", "msg-successfully-installed-theme": "Successfully installed theme \"{{name}}\".", "msg-installing-theme": "Installing theme \"{{name}}\"...", "label-search-summary": "Showing {{themeCount}}:", "label-update-available": "Update available" }, "command-palette": { "name": "Palet arahan", "desc": "Taipkan arahan untuk laksanakannya dengan pantas tanpa mengingati pintasan.", "action-open": "Buka palet arahan", "instruction-navigate": "untuk navigasi", "instruction-use": "untuk guna", "instruction-dismiss": "untuk tutup", "label-no-commands": "Tiada arahan ditemui.", "prompt-type-command": "Taipkan arahan...", "label-pinned-commands": "Arahan tersemat", "option-add-new-pin": "Arahan tersemat baharu", "option-add-new-pin-description": "Arahan tersemat akan diutamakan di tempat paling atas sewaktu tiada apa yang ditaipkan." }, "markdown-format-importer": { "name": "Pengimport format Markdown", "desc": "Tukar fail Markdown dari aplikasi lain menjadi format Markdown Obsidian.", "action-open": "Buka pengimport Markdown", "option-roam-tag-fixer": "Baiki tag Roam Research", "option-roam-tag-fixer-description": "Menukar \"#tag\" dan \"#[[tag]]\" menjadi \"[[tag]]\".", "option-roam-highlight-fixer": "Baiki teks tumpu Roam Research", "option-roam-highlight-fixer-description": "Menukar \"^^tumpuan^^\" menjadi \"==tumpuan==\".", "option-roam-todo-converter": "Tukar TODO Roam Research", "option-roam-todo-converter-description": "Menukar \"{{[[TODO]]}}\" menjadi \"[ ]\".", "option-bear-highlight-fixer": "Baiki teks tumpu Bear", "option-bear-highlight-fixer-description": "Menukar \"::tumpuan::\" menjadi \"==tumpuan==\".", "zettelkasten-link-fixer": "Baiki pautan Zettelkasten", "zettelkasten-link-fixer-description": "Membaiki pautan \"[[UID]]\" menjadi pautan dengan nama penuh \"[[UID Nama Fail]]\".", "zettelkasten-link-beautifier": "Perkemas pautan Zettelkasten", "zettelkasten-link-beautifier-description": "Membaiki pautan \"[[UID]]\" dan perkemaskannya menjadi \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Peringatan: Pengimport akan mengubah format semua fail dalam peti anda, bukan untuk fail yang terbuka sahaja.", "msg-override-files-warning": "Fail-fail anda akan dipaksa ubah. Dinasihatkan agar semua fail disandarkan sebelum cuba mengubah format.", "label-start-conversion": "Mula tukar format", "label-stop": "Berhenti", "label-go-back": "Patah balik", "label-done": "Selesai", "label-processing": "Sedang diproses...", "label-cancelling": "Sedang dibatalkan...", "label-finished": "Sudah habis!", "label-processed-files": "Fail yang diproses", "label-modified-files": "Fail yang diubah suai", "label-total-replacements": "Total replacements", "label-failed": "Failed" }, "daily-notes": { "name": "Nota harian", "desc": "Buka hari ini punya nota harian, atau wujudkan kalau tiada.", "short-name": "Hari ini", "action-open": "Buka nota hari ini", "action-open-previous": "Buka nota hari sebelumnya", "action-open-next": "Buka nota hari seterusnya", "action-insert-text": "Insert text into daily note", "action-insert-link": "Insert link into daily note", "msg-fail-format": "Gagal mewujudkan nota harian. \"{{format}}\" bukanlah format yang sah.", "msg-fail-folder": "Gagal mewujudkan nota harian. Folder \"{{folderOption}}\" tidak dijumpai.", "msg-fail-template-file": "Gagal mewujudkan nota harian. Fail templat \"{{template}}\" tidak dijumpai.", "msg-no-previous": "Tiada nota harian untuk hari sebelum ini.", "msg-no-next": "Tiada nota harian untuk hari selepas ini.", "option-date-format": "Format tarikh", "label-refer-to-syntax": "Untuk sintaksis lanjut, lawat: ", "label-syntax-link": "rujukan format", "label-syntax-live-preview": "Inilah rupa tarikhnya: ", "option-new-file-location": "Tempat letak fail baharu", "option-new-file-location-description": "Laluan folder untuk membuat nota harian.", "option-template": "Tempat letak fail templat", "option-template-description": "Laluan fail yang akan digunakan sebagai templat.", "option-open-on-start": "Buka nota harian bila buka aplikasi", "option-open-on-start-description": "Buka nota harian secara automatik setiap kali anda membuka peti ini." }, "unique-note-creator": { "name": "Unique note creator", "desc": "Create notes with unique timestamp prefixes, for workflows like zettelkasten or slip box.", "short-name": "Unique", "action-create-note": "Create new unique note", "action-add-link": "Add unique internal link", "option-new-file-location": "New file location", "option-new-file-location-description": "The folder path to create the new unique note.", "msg-folder-not-found": "Failed to create unique note. Folder \"{{folderOption}}\" not found.", "option-template-file": "Template file location", "option-template-file-description": "The file path to use as template.", "option-template-file-placeholder": "Example: folder1/note", "option-id-format": "Unique prefix format", "msg-template-file-not-found": "Failed to create unique note. Template file \"{{template}}\" not found.", "msg-failed-to-generate": "Failed to generate a unique note with the format \"{{format}}" }, "random-note": { "name": "Nota rawak", "desc": "Buka suatu nota rawak. Berguna untuk mengkaji dan menemui nota.", "short-name": "Rawak", "action-open": "Buka nota secara rawak" }, "outline": { "name": "Kerangka", "desc": "Tunjukkan setiap pengepala sebagai kerangka untuk nota ini atau nota yang terpaut.", "action-open": "Buka kerangka", "action-show": "Buka tetingkap kerangka", "action-open-for-current": "Buka kerangka nota ini", "tab-title": "Kerangka {{displayText}}", "label-no-headings": "Tiada pengepala dijumpai.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Jumlah kata", "desc": "Tunjukkan jumlah perkataan dalam jalur status." }, "slides": { "name": "Slaid", "desc": "Buat pembentangan guna Markdown. Gunakan \"---\" untuk pisahkan slaid.", "action-start": "Mula pembentangan" }, "audio-recorder": { "name": "Perakam audio", "desc": "Rakam audio dan simpan sebagai lampiran.", "action-start": "Mula rakam audio", "action-stop": "Henti rakam audio", "action-toggle": "Mula/Henti rakaman", "msg-access-denied": "Akses ke mikrofon dinafikan, tolong berikan akses melalui preference pane.", "msg-pending-grant": "Tolong berikan akses ke mikrofon untuk merakam audio.", "msg-no-microphone": "Tiada mikrofon yang tersambung." }, "open-with-default-app": { "name": "Buka dalam aplikasi lalai", "desc": "Tambah butang untuk membuka fail semasa dalam aplikasi lalai.", "action-open-file": "Buka dalam aplikasi lalai", "action-open-file-mobile": "Share", "action-show-in-folder": "Tunjuk dalam folder", "action-show-in-folder-mac": "Reveal in Finder" }, "templates": { "name": "Templat", "desc": "Masukkan kandungan bertemplat yang diambil dari folder berisi fail-fail templat.", "action-insert": "Masukkan templat", "action-insert-current-date": "Insert current date", "action-insert-current-time": "Insert current time", "option-template-folder-location": "Templat letak folder templat", "option-template-folder-location-description": "Fail-fail dalam folder ini akan dijadikan templat.", "option-template-date-format": "Format tarikh", "option-template-date-format-description": "{{date}} dalam templat akan digantikan dengan nilai ini.", "option-template-date-format-description2": "Anda juga boleh guna {{date:YYYY-MM-DD}} untuk memaksa format untuk templat terpilih.", "option-template-time-format": "Format masa", "option-template-time-format-description": "{{time}} dalam templat akan digantikan dengan nilai ini.", "option-template-time-format-description2": "Anda juga boleh guna {{time:HH:mm}} untuk memaksa format untuk templat terpilih.", "instruction-navigate": "untuk navigasi", "instruction-insert": "untuk masukkan templat", "instruction-dismiss": "untuk tutup", "msg-no-templates-found": "Tiada templat ditemui", "msg-fail-invalid-folder": "Gagal menemui senarai templat. Folder templat tidak sah.", "msg-fail-folder-not-found": "Gagal menemui senarai templat. Folder \"{{folderOption}}\" tidak dijumpai.", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "Failed to list templates. No template folder configured.", "prompt-type-template": "Taip nama templat..." }, "translucency": { "name": "Latar lut cahaya", "desc": "Hidupkan latar belakang lut cahaya untuk nampak berlapis-lapis. Disarankan dipasang bersama mod gelap. Tidak disokong dalam Linux." }, "slash-command": { "name": "Slash commands", "desc": "Enable the ability to trigger slash commands in the editor by typing the forward slash." }, "editor-status": { "name": "Editor status", "desc": "Display and change the current editor mode in the status bar.", "read": "Reading", "edit-source": "Source mode", "edit-live-preview": "Live Preview" }, "publish": { "name": "Publish", "desc": "Terbitkan nota-nota melalui Obsidian Publish.", "action-publish-changes": "Terbitkan perubahan...", "action-publish-file": "Publish current file", "label-no-internet-access": "Anda perlu capaian internet untuk menerbitkan perubahan.", "label-publish-service-description": "Obsidian Publish ialah perkhidmatan tambahan berbayar yang membolehkan anda menerbitkan nota dalam talian melalui Obsidian.", "label-please-login": "Untuk mula menerbit, diminta daftar masuk atau buat akaun Obsidian baharu.", "label-no-publish-subscription": "Anda belum lagi melanggan khidmat Obsidian Publish.", "button-purchase": "Beli", "label-manage-sites": "Uruskan laman web", "label-no-sites": "Anda tiada laman web.", "button-choose": "Pilih", "tooltip-edit-site-id": "Sunting ID laman", "tooltip-delete-site": "Hapus laman", "label-delete-site-confirmation": "Anda yakin anda ingin menghapuskan laman ini?", "label-delete-site-details": "Perkara ini akan menghapuskan laman serta-merta buat selama-lamanya.", "label-confirm-delete-site": "Sahkan penghapusan laman \"{{site}}\"", "option-site-id": "ID laman", "option-site-id-description": "Laman anda akan disiarkan di https://publish.obsidian.md/{site id}. Anda boleh mengubahnya kemudian. Hanya huruf kecil, nombor, dan sengkang sahaja dibenarkan.", "option-site-id-placeholder": "Pilih ID laman", "button-create": "Buat", "msg-invalid-site-id": "ID laman hanya boleh ada huruf kecil, nombor dan sengkang.", "msg-site-id-in-use": "ID laman ini sedang digunakan orang lain. Pilih ID yang lain.", "msg-create-site-issue": "Ada masalah membuat laman anda.", "label-site-options": "Tetapan laman", "option-site-general": "General", "option-site-components": "Komponen", "option-site-appearance": "Penampilan", "option-site-reading-experience": "Reading experience", "option-site-misc": "Tetapan lanjut laman", "option-site-name": "Nama laman", "option-site-name-description": "Nama laman yang anda terbitkan. Ini yang akan muncul sebagai tajuk laman anda.", "option-site-name-placeholder": "Nama laman anda", "option-home-page-file": "Fail halaman induk", "option-home-page-file-description": "Halaman pertama yang akan dilihat oleh pelawat ketika sampai ke laman anda", "option-home-page-file-placeholder": "Pilih dari fail yang terbit", "option-logo": "Logo", "option-logo-description": "Pilih fail gambar yang akan dijadikan logo laman anda.", "option-logo-placeholder": "Mana-mana gambar yang dimuat naik dari peti...", "option-site-collaboration": "Site collaboration", "option-site-collaboration-desc": "Manage collaborators for this site.", "option-customize-navigation": "Customize navigation", "option-customize-navigation-desc": "Override the order of navigation items and hide pages or folders from showing.", "option-navigation-order": "Navigation item display order", "option-hide-items-in-navigation": "Hide pages or folders from navigation", "option-hide-items-in-navigation-desc": "Right click and select \"Hide\" to prevent specific pages from appearing in the site navigation. The pages will still be accessible via links or accessing the URL directly.", "option-show-hidden-items": "Show hidden", "button-customize-sidebar": "Manage", "label-navigation-modal-title": "Navigation", "label-navigation-modal-desc": "Drag and drop to customize the order in which navigation items appear on your Publish site.", "option-hide-in-navigation": "Hide in navigation", "button-manage-collaborators": "Manage", "option-theme": "Tema", "option-theme-description": "Pilih tema warna untuk laman anda.", "option-theme-system": "Adapt to system", "option-show-theme-toggle": "Light/dark toggle", "option-show-theme-toggle-description": "Let the visitor toggle between light and dark theme on their own.", "option-show-navigation": "Tunjukkan navigasi", "option-show-navigation-description": "Tunjukkan senarai halaman yang sudah terbit di sebelah kiri laman.", "option-show-search": "Tunjukkan jalur carian", "option-show-search-description": "Tunjukkan jalur carian di bahagian atas navigasi yang membolehkan halaman dan pengepala-pengepalanya dicari oleh pelawat.", "option-show-graph": "Tunjukkan paparan graf", "option-show-graph-description": "Tunjukkan graf tempatan yang kecil di setiap halaman.", "option-show-outline": "Tunjukkan senarai kandungan", "option-show-outline-description": "Tunjukkan kerangka pengepala di setiap halaman.", "option-show-backlinks": "Tunjukkan pautan balik", "option-show-backlinks-description": "Tunjukkan bahagian pautan balik di hujung setiap halaman.", "option-sliding-window-mode": "Guna tetingkap boleh gelungsur", "option-sliding-window-mode-description": "Buka halaman baharu di hujung belah kanan dan boleh menggelungsur tetingkap ke kiri dan ke kanan.", "option-hover-preview-file": "Tunjuk pratontonan terapung", "option-hover-preview-file-description": "Paparkan pratontonan halaman bila penunjuk dihalakan ke pautan.", "option-hide-title": "Hide page title", "option-hide-title-description": "Hide the page title heading. Useful when you have your own headings at the beginning of each page.", "option-readable-line-length": "Panjang baris boleh dibaca", "option-readable-line-length-description": "Hadkan panjang baris maksimum. Tak banyak yang akan muat dalam skrin, tapi perenggan panjang lebih mudah dibaca.", "option-site-password": "Kata laluan", "option-site-password-description": "Hadkan akses ke laman menggunakan kata laluan.", "option-google-analytics": "Kod penjejak Google Analytics", "option-google-analytics-description": "Gunakan Google Analytics untuk laman anda. Hanya boleh digunakan kalau anda gunakan domain URL sendiri. Disarankan ambil maklum berkaitan undang-undang tempatan terlebih dahulu.", "button-manage-passwords": "Urus", "button-save-site-settings": "Simpan tetapan laman", "msg-updated-options": "Tetapan laman sudah dikemas kini.", "button-go-back": "Balik", "label-publishing-to": "Diterbit ke", "tooltip-switch-site": "Tukar laman", "button-add-linked": "Tambah yang terpaut", "tooltip-add-linked": "Tambah masuk semua fail yang dipautkan dari item yang dipilih", "msg-added-linked-files": "{{count}} fail terpaut sudah ditambah.", "msg-added-linked-files_plural": "{{count}} fail terpaut sudah ditambah.", "tooltip-open-site-options": "Tukar tetapan laman", "label-no-changes-detected": "Tiada perubahan yang ditemui.", "label-changed-files-to-be-published": "Perubahan", "label-unchanged-files-already-published": "Tiada perubahan (pilih untuk buang)", "label-file-selected": " dipilih", "button-select-all-files": "Pilih semua", "label-custom-navigation-title": "Navigation items", "button-deselect-all-files": "Batalkan semua pilihan", "label-new-files-to-be-published": "Baharu", "button-publish": "Terbit", "msg-no-permission-to-publish-to-site": "Anda tiada keizinan untuk terbit ke laman tersebut.", "msg-select-at-least-one-file": "Sila pilih sekurang-kurangnya satu fail.", "label-upload-changes": "Muat naik perubahan", "button-done": "Selesai", "button-stop": "Henti", "label-status-uploading": "Memuat naik", "label-status-to-publish": "Untuk terbit", "label-status-to-delete": "Untuk hapus", "label-status-published": "Sudah terbit", "label-status-deleted": "Sudah hapus", "label-status-failed": "Gagal", "label-status-cancelled": "Dibatalkan", "button-change": "Ubah", "label-clear-cache": "Perubahan pada laman mengambil masa beberapa minit. Kalau anda tidak nampak perubahan terbaharu, cuba buang cache pelayar anda.", "label-visit-site": "Laman anda boleh dilawati di sini: ", "msg-something-went-wrong": "Ada masalah timbul. Lihat konsol untuk maklumat lanjut.", "msg-network-error": "Ralat mencapai internet. ", "label-manage-passwords": "Uruskan kata laluan", "label-add-password": "Tambah kata laluan", "action-new-password": "Kata laluan baharu", "label-no-password": "Laman anda tiada kata laluan. Sesiapa sahaja boleh melawatnya.", "label-have-password": "Laman anda dikunci oleh kata laluan. Jika anda mempunyai banyak kata laluan, pelawat boleh masuk menggunakan mana-mana kata laluan tersebut.", "option-password-name": "Kata laluan", "option-password-desc": "Kata laluan dalam bentuk hash akan disimpan dengan selamat. Setelah kata laluan ditetapkan, ia tidak boleh didedahkan sebagai teks boleh dibaca.", "option-password-placeholder": "Kata laluan anda", "option-nickname-name": "Nama panggilan (pilihan)", "option-nickname-desc": "Letak nama panggilan untuk ingatkan diri kata laluan itu untuk siapa.", "action-add-password": "Tambah kata laluan ini", "label-untitled-password": "Kata laluan tanpa nama", "label-password-created-time": "Dibuat {{time}}", "msg-added-new-password": "Kata laluan baharu selesai dibuat.", "option-custom-domain": "Domain kustom", "option-custom-domain-desc": "Guna domain sendiri berbanding https://publish.obsidian.md/{site id} yang disediakan.", "option-noindex": "Jangan indeks laman ini", "option-noindex-desc": "Mencegah enjin carian mengindeks laman anda.", "button-configure": "Tetapkan", "label-configure-custom-domain": "Tetapkan domain kustom", "option-custom-url-name": "URL kustom", "option-custom-url-desc": "URL tempat letak laman anda.", "option-custom-url-placeholder": "www.domainanda.com", "option-custom-url-redirect": "Halakan pelawat ke domain kustom", "option-custom-url-redirect-desc": "Bawa pelawat yang melawat publish.obsidian.md/id ke domain anda.", "button-update-custom-domain": "Kemas kini tetapan domain", "label-custom-domain-instructions": "Sila rujuk pautan bantuan kami di {{link}} untuk maklumat lanjut.", "label-custom-domain-link-name": "panduan pengurusan domain kustom", "label-site-usage": "Anda sedang gunakan {{site}} daripada {{limit}} laman.", "button-add-more-sites": "Bila laman lagi", "label-no-sites-bought": "You haven't bought any sites.", "button-get-site": "Get a site", "label-manage-sharing": "Manage sharing for \"{{name}}\"", "label-sharing-with-users": "This site is currently shared with the following people.", "label-not-sharing": "This site is not currently shared with anyone.", "label-invite-pending": "Pending", "tooltip-remove-user": "Remove user", "option-invite-user": "Invite user", "placeholder-invite-user": "Enter their email...", "error-email-must-be-valid": "Please enter a valid email to invite someone.", "msg-enable-publish-plugin": "Please enable the Publish core plugin in Settings -> Core plugins to view sites.", "label-your-sites": "Your sites", "label-sites-shared-with-you": "Sites shared with you", "tooltip-leave-site-sharing": "Stop collaborating on this site", "label-leave-site-confirmation": "Confirm stop site collaboration", "label-leave-site-confirmation-details": "This will remove this site from the list of sites shared with you. This action cannot be reverted.", "label-leave-site-confirmation-details-2": "Please contact the owner of the site if you wish to collaborate on this site again.", "button-leave": "Leave", "label-compare-with-live": "Compare with live version", "button-use-live-version": "Use live version", "label-confirm-override": "Confirm overriding local version", "label-confirm-override-1": "Are you sure you want to override the local version?", "label-confirm-override-2": "The live version will be used and your local version will be discarded. Please make backups if necessary.", "button-proceed": "Proceed", "message-successfully-used-live-version": "Successfully used live version to override your local version.", "label-open-in-live-site": "Open in live site", "label-open-file": "Open file", "tooltip-manage-publish-filters": "Manage publish filters", "option-included-folders": "Included folders", "option-included-folders-desc": "Files under these folders will automatically be selected when you review changes to publish.", "option-currently-included-folders": " These folders are currently included:", "option-excluded-folders": "Excluded folders", "option-excluded-folders-desc": "Files under these folders won't show up when you review changes to publish. This setting takes priority over included folders above.", "label-number-of-folders-included": "Obsidian Publish is currently including {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish is currently excluding {{folders}}.", "label-manage-included-folders": "Manage included folders", "label-manage-excluded-folders": "Manage excluded folders", "label-add-included-folder": "Include a folder", "label-add-included-folder-desc": "You can include both existing folders and folders that have not been created yet.", "tooltip-contact-support": "Contact support", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "Tempat kerja", "desc": "Simpan dan muat susun atur ruang tempat kerja.", "action-load-layout": "Load workspace layout", "action-manage-layouts": "Manage workspace layouts", "action-save": "Save layout", "action-save-and-load-layout": "Save and load another layout", "placeholder-save-current-layout-as": "Save current workspace layout as...", "button-save": "Simpan", "button-load": "Muat susun", "tooltip-delete-layout": "Delete layout", "msg-enter-name": "Please enter a name for the new layout.", "msg-save-layout-success": "Successfully saved layout.", "label-no-layout-found": "No saved layout found.", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "Type layout name..." }, "sync": { "name": "Sync", "desc": "Segerakkan fail-fail anda melalui Obsidian Sync.", "action-view-version-history": "Lihat sejarah versi", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "Papar lagi", "label-show-diff": "Show diff", "label-copy-to-clipboard": "Salin ke papan klip", "label-restore-this-version": "Pulihkan versi ini", "msg-already-latest-version": "Versi ini adalah sama dengan versi yang terkini.", "msg-restored-version": "Berjaya memulihkan versi dari {{time}}", "label-file-deleted": "Fail ini telah dihapus", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "This file was renamed from \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revision", "label-revision_plural": "{{revisions}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "Kosong", "label-unable-to-retrieve": "Unable to retrieve version history", "label-setting-files": "Setting files", "label-deleted-files": "Fail terhapus", "label-version-history": "Version history", "label-click-to-see-history": "Tekan pada fail terhapus untuk lihat sejarahnya.", "label-create-remote-vault": "Wujudkan peti dalam awan", "msg-please-enter-password": "Sila letak kata laluan.", "msg-vault-name-cannot-be-empty": "Nama peti tidak boleh kosong.", "msg-successfully-created-vault": "Berjaya mewujudkan peti awan bernama \"{{name}}\".", "label-remote-vault-explanation": "Peti awan menyegerakkan peti-peti dari peranti berbeza secara selamat.", "option-vault-name": "Nama peti", "option-vault-name-desc": "Bantu anda mengingati tujuan peti ini dibuat.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Select the server region closest to you to store the remote vault. This cannot be changed in the future.", "option-vault-name-placeholder": "Peti gempak saya", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Kata laluan penyulitan", "option-encryption-password-desc": "Kata laluan ini tidak boleh diubah kemudian.", "option-encryption-password-desc-warning": "Jika anda lupa kata laluan ini, mana-mana data dalam awan tidak boleh digunakan selama-lamanya.", "option-encryption-password-desc-2": "Perkara ini tidak memberi kesan pada data tempatan anda.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "Kata laluan anda", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "Buka kunci peti", "label-remote-vaults": "Peti awan anda", "label-vault-created-time": "Dibuat {{time}}", "tooltip-delete-remote-vault": "Hapus", "tooltip-rename-remote-vault": "Rename", "label-rename-remote-vault": "Rename remote vault \"{{name}}\"", "label-rename-remote-vault-desc": "Enter a new name for this remote vault.", "tooltip-manage-sharing": "Manage sharing", "label-confirm-delete-remote-vault": "Sah hapus peti", "label-confirm-delete-remote-vault-question": "Anda yakin anda ingin menghapuskan peti awan ini?", "label-confirm-delete-remote-vault-result": "Semua data dalam pelayan kami, termasuklah sejarah versi, akan dihapuskan. Data-data dalam komputer anda tidak disentuh.", "label-confirm-delete-remote-vault-warning": "Perbuatan ini akan kekal dan tidak boleh berpatah balik.", "msg-remote-vault-deleted": "{{name}} sudah dihapuskan.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "Sambungkan", "button-disconnect-from-remote-vault": "Putuskan", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "Anda tiada peti awan.", "label-no-subscription": "You don't have an active Obsidian Sync subscription.", "label-please-visit": "Please visit", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "Wujudkan peti awan baharu", "label-sync-log": "Log penyegerakan", "option-event-type-all": "All", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Merge conflicts", "button-copy-sync-log": "Salin log penyegerakan", "msg-successfully-copied-sync-log": "Berjaya menyalin log penyegerakan.", "button-retry": "Cuba lagi", "button-purchase-subscription": "Beli", "label-third-party-sync-warning": "Conflicting file sync service detected", "label-third-party-sync-warning-desc": "Warning: Your vault seems to be using {{service}} as a third party sync service. If you use Obsidian Sync with this vault, you may run into conflicts, file corruption, or data loss.", "label-icloud-drive-warning": "If you are using iCloud Drive, your Documents and Desktop folders might be synced by iCloud. This could cause conflicts with Obsidian Sync.", "option-remote-vault": "Remote vault", "button-choose-remote-vault": "Pilih", "button-manage-remote-vault": "Manage", "option-remote-vault-desc-connected": "Currently connected to the \"{{name}}\" remote vault.", "option-remote-vault-desc-not-connected": "Currently not connected to any remote vault.", "option-sync-status": "Status Sync", "option-sync-status-desc-paused": "Obsidian Sync sedang jeda.", "option-sync-status-desc-running": "Obsidian Sync sedang bergerak.", "option-device-name": "Nama peranti", "option-device-name-desc": "Nama ini akan ditunjukkan dalam log penyegerakan. Biarkan kosong untuk nama default.", "button-resume": "Teruskan", "button-pause": "Jeda", "option-view-deleted-files": "Fail terhapus", "option-view-deleted-files-desc": "Lihat dan pulihkan fail terhapus.", "option-sync-log": "Aktiviti Sync", "option-sync-log-desc": "Lihat aktiviti terkini Sync untuk tujuan nyahpepijat.", "button-view": "Lihat", "button-bulk-restore": "Bulk restore", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Restoring...", "msg-restoring-complete": "Restore complete: {{succeeded}} succeeded and {{failed}} failed.", "option-vault-size": "Vault size", "option-vault-size-desc": "You are using {{size}} out of {{limit}}", "option-vault-size-unknown": "Unable to retrieve your vault size.", "option-vault-size-loading": "Retrieving your vault size...", "option-over-size": "Saiz peti melebihi had", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "Lihat fail-fail terbesar", "msg-largest-files-desc": "Ini adalah fail-fail yang memakan paling banyak ruang. Setelah menghapuskan lampiran, tekan butang 'bersihkan' untuk kemaskan ruang peti awan.", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "Bersihkan", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "Buang lampiran-lampiran yang terhapus dari peti awan untuk menjimatkan ruang.", "msg-purge-complete": "Pembersihan selesai.", "option-prevent-sleep": "Prevent device sleep", "option-prevent-sleep-desc": "Prevents the device from going to sleep when there are still files to be synced.", "option-selective-sync": "Penyegerakan berpilihan", "option-excluded-folders": "Abaikan folder", "option-excluded-folder-desc": "Pilih mana folder yang ingin diabaikan oleh Obsidian Sync.", "option-currently-excluded-folders": " Folder-folder yang diabaikan:", "button-manage-excluded-folders": "Uruskan", "option-sync-image": "Sync images", "option-sync-image-desc": "Segerakkan fail-fail gambar dengan ekstension berikut: {{extensions}}.", "option-sync-audio": "Segerakkan audio", "option-sync-audio-desc": "Segerakkan fail-fail audio dengan ekstension berikut: {{extensions}}.", "option-sync-video": "Segerakkan video", "option-sync-video-desc": "Segerakkan fail-fail video dengan ekstension berikut: {{extensions}}.", "option-sync-pdf": "Segerakkan PDF", "option-sync-pdf-desc": "Segerakkan fail-fail PDF.", "option-sync-unsupported": "Sync all other types", "option-sync-unsupported-desc": "Sync unsupported file types.", "option-vault-config-sync": "Vault configuration sync", "option-view-config-files": "Settings version history", "option-view-config-files-desc": "View and restore version history of setting files.", "option-sync-app": "Main settings", "option-sync-app-desc": "Enable to sync editor settings, files & links settings, etc.", "option-sync-appearance": "Appearance settings", "option-sync-appearance-desc": "Sync appearance settings like dark mode, active theme, and enabled snippets.", "option-sync-appearance-data": "Themes and snippets", "option-sync-appearance-data-desc": "Sync downloaded themes and snippets. Whether they are enabled depends on the previous setting.", "option-sync-hotkey": "Hotkeys", "option-sync-hotkey-desc": "Sync custom hotkeys.", "option-sync-core-plugin": "Active core plugin list", "option-sync-core-plugin-desc": "Sync which core plugins are enabled.", "option-sync-core-plugin-data": "Core plugin settings", "option-sync-core-plugin-data-desc": "Sync core plugin settings.", "option-sync-community-plugin": "Active community plugin list", "option-sync-community-plugin-desc": "Sync which community plugins are enabled.", "option-sync-community-plugin-data": "Installed community plugins", "option-sync-community-plugin-data-desc": "Sync installed community plugins (.js, .css, and manifest.json files) and their settings.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync ialah perkhidmatan tambahan berbayar untuk penyegrakan berserta penyulitan hujung-ke-hujung dan sejarah versi.", "label-account-required": "Untuk mula menyegerak, sila daftar masuk atau buat akaun Obsidian baharu.", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "Daftar akaun", "button-log-in": "Daftar masuk", "label-manage-excluded-folders": "Uruskan folder yang diabaikan", "label-number-of-folders-excluded": "{{folders}} sedang diabaikan oleh Obsidian Sync.", "label-add-excluded-folder": "Exclude a folder", "label-add-excluded-folder-desc": "You can exclude both existing folders and folders that have not been created yet.", "tooltip-remove-excluded-folder": "Remove from excluded list", "label-setup-connection": "Capai sambungan", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "Anda sudah bersambung dengan \"{{name}}\".", "button-start-syncing": "Mula penyegerakan", "label-confirm-merge-vault": "Confirm Merge Vault", "msg-vault-has-notes": "Your local vault already contains some notes.", "msg-vault-merge-warning": "If you connect to the remote vault \"{{name}}\", notes in your local vault will be merged with notes from your remote vault. In case of conflicts, the most recent version of the note will be preserved.", "tooltip-update-setting-on-all-devices": "Please update this option and restart app on all the devices where you want it to take effect.", "label-sharing-with-users": "This remote vault is currently shared with the following people.", "label-not-sharing": "This remote vault is not currently shared with anyone.", "label-vaults-shared-with-you": "Vaults shared with you", "tooltip-leave-vault-sharing": "Stop collaborating on this vault", "label-leave-vault-confirmation": "Confirm stop vault collaboration", "label-leave-vault-confirmation-details": "This will remove this vault from the list of vaults shared with you. This action cannot be reverted.", "label-leave-vault-confirmation-details-2": "Please contact the owner of the vault if you wish to collaborate on this vault again.", "button-leave": "Leave", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "You need an Obsidian Sync subscription to connect to this vault.", "option-contact-support": "Contact support", "option-contact-support-desc": "If you run into any issues with Obsidian Sync, please contact us so we can help you out! You can reach us at support@obsidian.md.", "button-copy-debug": "Copy debug info", "button-email-support": "Email support", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Sync lets you create up to 5 remote vaults. In order to create a new remote vault, please remove an existing one.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "Pemulihan fail", "desc": "Membolehkan anda mengembalikan snapshot-snapshot paling baharu untuk pulih dari kehilangan data yang tidak disengajakan. Snapshot hanya disimpan untuk fail Markdown.", "action-open": "Buka simpanan snapshot", "option-interval": "Sela masa snapshot", "option-interval-description": "Sela masa paling pendek antara dua snapshot dalam minit.", "option-keep": "Panjang sejarah", "option-keep-description": "Sejauh mana snapshot akan disimpan dalam hari.", "option-open-history": "Snapshot", "option-open-history-description": "Lihat dan kembalikan snapshot yang disimpan.", "button-view-history": "View", "option-clear": "Buang sejarah", "option-clear-description": "Hapus semua snapshot.", "button-clear-history": "Buang", "label-clear-warning": "Anda yakin ingin menghapuskan semua snapshot? Ambil maklum hanya snapshot sahaja yang akan dipadam. Semua fail dalam peti tidak disentuh.", "msg-clear-complete": "Snapshot dihapuskan.", "label-no-history-found": "Tiada snapshot ditemui.", "placeholder-choose-file": "Pilih fail...", "label-select-file": "Sila pilih fail dari sebelah kiri untuk lihat snapshot." }, "note-composer": { "name": "Note composer", "desc": "Merge, split, and refactor notes.", "option-confirm-file-merge": "Confirm file merge", "option-confirm-file-merge-description": "Prompt before merge two files.", "option-split-replacement-text": "Text after extraction", "option-split-replacement-text-description": "What to show in place of the selected text after extracting it.", "option-choice-split-replacement-text-link": "Link to new file", "option-choice-split-replacement-text-embed": "Embed new file", "option-choice-split-replacement-text-none": "None", "option-template-file": "Template file location", "option-template-file-description": "Template file to use when merging or extracting. Available variables: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, e.g. {{date:YYYY-MM-DD}}.", "command-merge-file": "Merge current file with another file...", "action-merge-file": "Merge entire file with...", "label-no-files": "No files found.", "instruction-navigate": "to navigate", "instruction-merge": "to merge", "instruction-create-new": "to create new", "instruction-merge-at-top": "to merge at top", "instruction-dismiss": "to dismiss", "prompt-select-file-to-merge": "Select file to merge into...", "label-merge-file": "Merge file", "label-confirm-file-merge": "Are you sure you want to merge \"{{file}}\" into \"{{destination}}\"? \"{{file}}\" will be deleted.", "button-merge": "Merge", "command-split-file": "Extract current selection...", "command-extract-heading": "Extract this heading...", "instruction-append": "to move to bottom", "instruction-prepend": "to move to top", "msg-fail-to-fetch-template": "Failed to fetch template file: \"{{template}}\" not found.", "msg-fail-to-find-heading": "Failed to find heading" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Canvas", "desc": "Arrange and connect notes on an infinite canvas.", "action-add-note": "Add note from vault", "action-add-media": "Add media from vault", "action-add-card": "Add card", "action-add-website": "Add web page", "action-create-group": "Create group", "action-create-with-size": "Create a card with specific size", "action-convert-to-file": "Convert to file...", "action-drag-to-add-note": "Drag to add note from vault", "action-drag-to-add-media": "Drag to add media from vault", "action-drag-to-add-card": "Drag to add card", "action-edit-label": "Edit label", "action-remove-label": "Remove label", "action-search-file": "Search for file", "action-set-color": "Set color", "action-align": "Align", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-align-top": "Align top", "action-align-middle": "Align middle", "action-align-bottom": "Align bottom", "action-distribute-horizontal-spacing": "Distribute horizontal spacing", "action-distribute-vertical-spacing": "Distribute vertical spacing", "action-justify-horizontally": "Justify horizontally", "action-justify-vertically": "Justify vertically", "action-arrange-horizontally": "Arrange in a row", "action-arrange-vertically": "Arrange in a column", "action-arrange-grid": "Arrange in a grid", "action-export-png": "Export as image", "action-jump-to-group": "Jump to group", "action-set-background": "Set background", "action-edit-background": "Edit background", "action-replace-background": "Replace background", "action-remove-background": "Remove background", "label-no-images": "No images found.", "label-no-media": "No media found.", "label-export-png-desc": "Export \"{{title}}\" as a PNG file with the settings below.", "label-export-png-dimensions": "Estimated image dimensions: {{dimensions}}", "label-distribute": "Distribute", "label-justify": "Justify", "label-arrange": "Arrange", "label-always": "Always", "label-hover": "On hover", "label-never": "Never", "label-no-section-found": "No section found", "option-wheel-behavior": "Default mouse wheel behavior", "option-mod-drag-behavior": "Default {{key}} behavior", "option-show-menu": "Show menu", "option-new-canvas-location": "Default location for new canvas files", "option-new-canvas-location-description": "Where newly created canvas files are placed.", "option-new-canvas-folder-path": "Folder to create new canvas files in", "option-new-canvas-folder-path-description": "Newly created canvas files will appear under this folder.", "option-node-label": "Display card label", "option-snap-to-grid": "Snap to grid", "option-snap-to-grid-desc": "Snap cards to the background grid when moving and resizing.", "option-snap-to-objects": "Snap to objects", "option-snap-to-objects-desc": "Snap cards to nearby objects when moving and resizing.", "option-zoom-breakpoint": "Zoom threshold for hiding card content", "option-zoom-breakpoint-desc": "Lower values will increase performance but hide card content sooner when zooming out.", "option-export-png-show-logo": "Show logo", "option-export-png-show-logo-desc": "This will add an Obsidian logo to the bottom left.", "option-export-png-privacy-mode": "Privacy mode", "option-export-png-privacy-mode-desc": "This will obscure any text on your canvas.", "option-export-png-zoom": "Zoom", "option-export-png-zoom-desc": "A higher zoom will generate a higher resolution image.", "option-export-png-frame": "Viewport", "option-export-png-frame-desc": "Choose to render the entire canvas or just the current visible viewport.", "option-export-png-frame-full": "Full canvas", "option-export-png-frame-viewport": "Viewport only", "option-background-cover": "Cover", "option-background-ratio": "Keep aspect ratio", "option-background-repeat": "Repeat", "action-new-canvas": "New canvas", "action-remove": "Remove", "action-narrow-heading": "Narrow to heading...", "action-narrow-block": "Narrow to block...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Swap file...", "action-change-url": "Change URL...", "action-zoom-to-fit": "Zoom to fit", "action-zoom-to-selection": "Zoom to selection", "action-reload-page": "Reload page", "action-follow-connection": "Follow connection", "command-create-new-canvas": "Create new canvas", "command-convert-to-file": "Convert to file...", "instruction-narrow-heading": "to embed heading", "instruction-narrow-block": "to embed block", "instruction-jump-to-group": "to navigate to group", "prompt-to-narrow": "Type to find file, heading, or block", "label-enter-url": "Enter URL", "label-empty-embed": "\"{{linktext}}\" could not be found.", "prompt-add-text": "Add text...", "prompt-start-search": "Type to search...", "label-canvas-help": "Canvas help", "label-canvas-settings": "Canvas settings", "label-no-narrow": "Show entire file", "label-show-default-view": "Show default view", "label-readonly": "Read-only", "label-disable-readonly": "Disable read-only", "label-pan": "Pan", "label-pan-horizontal": "Pan horizontally", "label-zoom": "Zoom", "label-select-all": "Select all", "label-add-remove-selection": "Add to / remove from selection", "label-clone-card": "Clone card", "label-constrain-movement-axis": "Constrain card movement to axis", "label-disable-drag-snapping": "Disable snapping while dragging", "label-remove-card": "Remove card", "label-drag-from-below": "Drag from below or double click", "label-longpress": "Touch and hold to add / move / select", "label-drag-pan": "Drag to pan", "label-pinch-zoom": "Pinch to zoom", "label-space-drag-pan": "Space + Drag to pan", "label-scroll-to-zoom": "Scroll to zoom", "label-untitled-group": "Untitled group", "label-line-direction": "Line direction", "label-nondirectional": "Nondirectional", "label-unidirectional": "Unidirectional", "label-bidirectional": "Bidirectional", "label-image": "Image", "label-style": "Style", "msg-no-groups-found": "No groups found", "msg-export-failed-empty-canvas": "Cannot export an empty canvas", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Highlight all", "action-match-diacritics": "Match diacritics", "action-whole-words": "Whole words", "action-show-thumbnails": "Thumbnails", "action-show-outline": "Table of contents", "action-reveal-in-outline": "Reveal page in table of contents", "action-toggle-sidebar": "Toggle sidebar", "action-previous-page": "Previous page", "action-next-page": "Next page", "action-fit-width": "Fit width", "action-fit-height": "Fit height", "action-save-p-d-f-location": "Save current position in document", "action-copy-annotation": "Copy annotation", "action-copy-quote": "Copy as quote", "action-copy-selection-link": "Copy link to selection", "action-copy-annot-link": "Copy link to annotation", "action-copy-section-link": "Copy link to section", "action-copy-section-link-title": "Copy link to “{{title}}”", "action-copy-page-link": "Copy link to page {{page}}", "msg-max-search-results": "{{current}} of over {{limit}} matches", "msg-search-count": "{{current}} of {{total}} match", "msg-search-count_plural": "{{current}} of {{total}} matches", "msg-password-protected": "This PDF is password protected", "msg-invalid-password": "Invalid password", "msg-enter-password": "Enter the password below", "label-of-pages": "of {{count}}", "label-page-of-pages": "({{current}} of {{count}})", "label-spread-single": "Single page", "label-spread-odd": "Two page (odd)", "label-spread-even": "Two page (even)", "tooltip-sidebar-options": "Sidebar options", "tooltip-display-options": "Display options", "label-adapt-to-theme": "Adapt to theme", "label-page": "page {{page}}", "page_landmark": "Page {{page}}", "thumb_page_title": "Page {{page}}", "thumb_page_canvas": "Page {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "List", "option-unknown": "Unknown", "option-text": "Text", "option-aliases": "Aliases", "option-tags": "Tags", "option-folder": "Folder", "option-file": "File", "option-date": "Date", "option-datetime": "Date & time", "option-number": "Number", "option-checkbox": "Checkbox" }, "value-suggestion": { "key-link-note": "Type [[", "instruction-link-note": "to link note", "instruction-dismiss": "to dismiss" }, "option-property-type": "Property type", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "Invalid tag name", "msg-invalid-number": "Invalid number", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "No value", "label-heading": "Properties", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "Add property", "label-type-mismatch-warning": "Type mismatch, expected {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Column", "label-row": "Row", "action-row-after": "Add row after", "action-column-after": "Add column after", "action-row-before": "Add row before", "action-row-up": "Move row up", "action-row-down": "Move row down", "action-column-before": "Add column before", "action-column-left": "Move column left", "action-column-right": "Move column right", "action-duplicate-row": "Duplicate row", "action-duplicate-column": "Duplicate column", "action-delete-row": "Delete row", "action-delete-column": "Delete column", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-delete-selection": "Delete cells", "action-clear-selection": "Clear cells", "action-sort-a-z": "Sort by column (A to Z)", "action-sort-z-a": "Sort by column (Z to A)", "label-command": "Table: {{command}}" }, "callout": { "option-type": "Callout type", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Success", "question": "Question", "warning": "Warning", "quote": "Quote", "example": "Example", "none": "None" }, "option-other": "Other...", "option-other-placeholder": "Callout type..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} patah kata", "word-with-count_plural": "{{count}} patah kata", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} aksara", "character-with-count_plural": "{{count}} aksara", "link-with-count": "{{count}} pautan", "link-with-count_plural": "{{count}} pautan", "file-with-count": "{{count}} fail", "file-with-count_plural": "{{count}} fail", "folder-with-count": "{{count}} folder", "folder-with-count_plural": "{{count}} folder", "backlink-with-count": "{{count}} pautan balik", "backlink-with-count_plural": "{{count}} pautan balik", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} property", "properties-with-count_plural": "{{count}} properties", "site-with-count": "{{count}} laman", "site-with-count_plural": "{{count}} laman", "plugin-with-count": "{{count}} plugin", "plugin-with-count_plural": "{{count}} plugin", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} theme", "theme-with-count_plural": "{{count}} themes" } }{ "setting": { "options": "विकल्प", "plugin": "प्लग-इन", "builtin-plugins": "कोर प्लग-इन", "plugin-options": "प्लग-इन विकल्प", "folder-path-example-placeholder": "उदाहरण: फोल्डर १/फोल्डर २", "file-path-example-placeholder": "उदाहरण: फोल्डर/नोट", "msg-restart-required": "यो विकल्प परिवर्तन गर्दा प्रभाव पार्न पुन: सुरु गर्न आवश्यक छ।", "editor": { "name": "एडिटर", "section-behavior": "व्यवहार", "section-display": "डिस्प्ले", "option-spellcheck": "हिज्जे जाँच", "option-spellcheck-description": "हिज्जे परीक्षक सक्रिय गर्दछ। हाल अंग्रेजी (US) को लागि मात्र काम गर्दछ।", "spellcheck-languages": "हिज्जे जाँच भाषाहरू", "spellcheck-languages-description": "हिज्जे जाँचकर्ताले प्रयोग गर्ने भाषाहरू छान्नुहोस्।", "spellcheck-languages-mac-description": "नेटिभ हिज्जे परीक्षकले macOS मा तपाइँको लागि प्रयोग भइरहेको भाषा स्वचालित रूपमा पत्ता लगाउनेछ।", "spellcheck-dict": "हिज्जे जाँच शब्दकोश", "spellcheck-dict-empty": "हिज्जे जाँच शब्दकोश खाली छ।", "option-show-inline-title": "इनलाइन शीर्षक देखाउनुहोस्", "option-show-inline-title-description": "फाइलको सामग्रीसँग सम्पादन योग्य शीर्षकको रूपमा फाइलनाम देखाउँछ।", "option-readable-line-length": "पढ्न सकिने लाइन लम्बाइ", "option-readable-line-description": "अधिकतम रेखा लम्बाइ सीमित गर्नुहोस्। स्क्रिनमा कम सामग्री फिट हुन्छ, तर लामो अनुच्छेदहरूलाई अझ पढ्न योग्य बनाउँछ।", "option-strict-line-break": "कडा रेखा विच्छेद", "option-strict-line-break-description": "पूर्वावलोकन मोडमा, मार्कडाउन स्पेसिक्स अनुसार एकल लाइन ब्रेकहरू बेवास्ता गर्नुहोस्। पूर्वावलोकनमा एकल लाइन ब्रेकहरू देखाउनको लागि यसलाई बन्द गर्नुहोस्।", "option-properties-in-document": "कागजातमा रहेका गुण", "option-properties-in-document-description": "सम्पादक भित्र कसरी गुणहरू देखाइन्छ भन्ने छनोट गर्नुहोस्। YAML को रूपमा देखाइएका गुणहरूलाई \"स्रोत\" चयन गर्नुहोस्।", "option-properties-hidden": "लुकेको", "option-properties-visible": "दृश्यमान", "option-properties-source": "स्रोत", "option-auto-pair-brackets": "स्वत: जोडी कोष्ठक", "option-auto-pair-brackets-description": "स्वचालित रूपमा कोष्ठक र उद्धरणहरू जोड्नुहोस्।", "option-auto-pair-markdown": "स्वत: जोडी मार्कडाउन वाक्यविन्यास", "option-auto-pair-markdown-description": "बोल्ड, इटालिक, हाइलाइट, स्ट्राइकथ्रु, र कोडका लागि स्वतः प्रतीकहरू जोडा।", "option-smart-indent-lists": "स्मार्ट इन्डेन्ट सूची", "option-smart-indent-lists-description": "तपाईंको लागि इन्डेन्टेसन र सूची मार्करको ख्याल राख्नुहोस्।", "option-fold-heading": "फोल्ड हेडिङ", "option-fold-heading-description": "तपाईलाई सबै कुरा हेडिङ अन्तर्गत फोल्ड गर्न दिनुहोस्।", "option-fold-indent": "फोल्ड इन्डेन्ट", "option-fold-indent-description": "तपाईँलाई एउटै इन्डेन्टेसनको कुनै भाग फोल्ड गर्न दिनुहोस्, जस्तै सूची।", "option-default-new-tab-view": "नयाँ ट्याबहरूको लागि पूर्वनिर्धारित दृश्य", "option-default-new-tab-view-description": "नयाँ मार्कडाउन ट्याब खोलिएको पूर्वनिर्धारित दृश्य।", "option-default-new-tab-view-editing": "दृश्य सम्पादन गर्दै", "option-default-new-tab-view-reading": "पढ्ने दृश्य", "option-open-tab-in-foreground": "सधैँ नयाँ ट्याबहरू केन्द्रित गर्नुहोस्", "option-open-tab-in-foreground-description": "जब तपाइँ नयाँ ट्याबमा लिङ्क खोल्नुहुन्छ, तुरुन्तै त्यसमा स्विच गर्नुहोस्।", "option-default-editing-mode": "पूर्वनिर्धारित सम्पादन मोड", "option-default-editing-mode-description": "नयाँ फलक सुरु हुने पूर्वनिर्धारित सम्पादन मोड।", "option-default-editing-mode-source": "स्रोत मोड", "option-default-editing-mode-live-preview": "लाइभ पूर्वावलोकन", "option-show-line-number": "लाइन नम्बर देखाउनुहोस्", "option-show-line-number-description": "नालीमा लाइन नम्बर देखाउनुहोस्।", "option-indentation-guide": "इन्डेन्टेशन गाइडहरू देखाउनुहोस्", "option-indentation-guide-description": "दृश्य मार्गदर्शनको लागि बुलेट बिन्दुहरू बीचको ठाडो सम्बन्ध रेखाहरू देखाउनुहोस्।", "option-use-tabs": "ट्याबहरू प्रयोग गर्नुहोस्", "option-use-tabs-description": "\"ट्याब\" कुञ्जी थिच्दा इन्डेन्ट गर्नका लागि ट्याबहरू प्रयोग गर्नुहोस्। खाली ठाउँहरू प्रयोग गर्नका लागि यसलाई अफमा सेट गर्नुहोस्।", "option-tab-size": "ट्याब साइज", "option-tab-size-description": "ट्याब बराबरको खाली ठाउँहरूको संख्या।", "option-rtl": "दायाँ-देखि-बायाँ (RTL)", "option-rtl-description": "दायाँ-देखि-बायाँ प्रदर्शन गर्न नोटहरूको पाठ दिशा सेट गर्दछ।", "option-auto-convert-html": "HTML स्वतः रूपान्तरण", "option-auto-convert-html-description": "वेबपेजहरूबाट टाँस्दा र ड्र्याग-एन्ड-ड्रप गर्दा HTML स्वचालित रूपमा मार्कडाउनमा रूपान्तरण गर्नुहोस्। रूपान्तरण बिना टाँस्न Ctrl/Cmd+Shift+V प्रयोग गर्नुहोस्।", "option-vim-key-bindings": "विम कुञ्जी बाइन्डिङ", "option-vim-key-bindings-description": "तपाईंलाई स्रोत सम्पादकमा Vim कुञ्जी बाइन्डिङ प्रयोग गर्न दिनुहोस्।", "option-vim-key-bindings-mobile": "मोबाइल यन्त्रहरूमा, यो सेटिङ प्रति-यन्त्र हो र कन्फिग फाइल मार्फत सिंक्रोनाइज गरिएको छैन।", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Vim मोडमा प्रवेश गरेको पुष्टि गर्नुहोस्", "label-vim-warning": "Vim मोड कुशल पाठ सम्पादनको लागि हो तर एकदम काउन्टर-इन्टेटिभ हुन सक्छ। यदि तपाईं Vim सँग परिचित हुनुहुन्न भने, यो विकल्पले यसलाई Obsidian ले काम गर्न छोडेको जस्तो देखिन सक्छ।", "label-vim-test": "तपाईँलाई Vim वरिपरि आफ्नो बाटो थाहा छ भनी प्रमाणित गर्न, कृपया तल बचत नगरी Vim छोड्ने आदेश प्रविष्ट गर्नुहोस्:", "label-vim-your-answer": "तपाईको जवाफ", "placeholder-enter-command": "कमाण्ड प्रविष्ट गर्नुहोस्...", "button-confirm-enable-vim": "मलाई Vim सक्षम गर्न दिनुहोस्", "msg-vim-mode-enabled": "कमाण्ड सही छ। Vim मोड अब सक्षम छ।", "msg-vim-mode-not-enabled": "कमान्ड गलत छ। तपाइँको सुरक्षा गर्न Vim मोड असक्षम राखिएको छ।", "msg-vim-mode-please-enter-command": "कृपया Vim मोड सक्षम गर्न आदेश प्रविष्ट गर्नुहोस्" }, "file": { "name": "फाइलहरू र लिङ्कहरू", "option-confirm-file-deletion": "फाइल मेटाउने निश्चित गर्नुहोस्", "option-confirm-file-deletion-description": "तपाईले फाइल मेटाउने कुरा पुष्टि गर्न प्रोम्प्ट प्राप्त गर्न चाहनुहुन्छ कि होइन।", "option-delete-destination": "मेटाइएका फाइलहरू", "option-delete-destination-description": "फाइलहरू मेटाएपछि के गर्ने।", "option-choice-system-trash": "प्रणाली रद्दीटोकरीमा सार्नुहोस्", "option-choice-vault-trash": "ओब्सिडियन रद्दीटोकरीमा सार्नुहोस् (ट्र्यास फोल्डर)", "option-choice-permanent-delete": "स्थायी रूपमा मेटाउने", "option-always-update-links": "सधैं आन्तरिक लिङ्कहरू अपडेट गर्नुहोस्", "option-always-update-links-description": "फाइल वा प्रम्प्टको नाम परिवर्तन गरेपछि स्वतः लिङ्कहरू अद्यावधिक गर्ने कि नगर्ने।", "option-new-note-location": "नयाँ नोटको पूर्वनिर्धारित स्थान", "option-new-note-location-description": "नयाँ सिर्जना गरिएका नोटहरू कहाँ राख्ने। प्लगइन सेटिङहरूले यसलाई ओभरराइड गर्नेछन्।", "option-choice-vault-root": "भल्ट रूट", "option-choice-current-folder": "फाइल जस्तै फोल्डरमा छ", "option-choice-specified-folder": "तल निर्दिष्ट गरिएको फोल्डरमा", "option-new-file-folder-path": "नयाँ नोटहरू सिर्जना गर्न फोल्डर", "option-new-file-folder-path-description": "नयाँ सिर्जना गरिएका नोटहरू यस फोल्डर अन्तर्गत देखिनेछन्। प्लगइन सेटिङहरूले यसलाई ओभरराइड गर्नेछन्।", "option-use-wiki-links": "[[विकिलिङ्कहरू]] प्रयोग गर्नुहोस्", "option-use-wiki-links-description": "मार्कडाउन लिङ्कहरू र छविहरूको सट्टा [[लिङ्कहरू]] र ![[छविहरू]]का लागि विकलिङ्कहरू स्वत: उत्पन्न गर्नुहोस्। यसको सट्टामा मार्कडाउन लिङ्कहरू उत्पन्न गर्न यो विकल्प असक्षम गर्नुहोस्।", "option-show-unsupported-files": "सबै फाइल विस्तारहरू पत्ता लगाउनुहोस्", "option-show-unsupported-files-description": "ओब्सिडियनले नेटिभ रूपमा खोल्न नसके तापनि कुनै पनि एक्सटेन्सन भएका फाइलहरू देखाउनुहोस्, ताकि तपाईंले तिनीहरूलाई लिङ्क गर्न र फाइल एक्सप्लोरर र क्विक स्विचरमा हेर्न सक्नुहुन्छ।", "option-link-autocompleted-format": "नयाँ लिङ्क ढाँचा", "option-link-autocompleted-format-description": "आन्तरिक लिङ्कहरू स्वत: उत्पन्न गर्दा कुन लिङ्कहरू घुसाउने।", "option-choice-shortest-linktext": "सम्भव भएसम्म छोटो बाटो", "option-choice-relative-path": "फाइलको सापेक्ष मार्ग", "option-choice-absolute-path": "भल्टमा निरपेक्ष मार्ग", "option-new-attachment-location": "नयाँ संलग्नहरूका लागि पूर्वनिर्धारित स्थान", "option-new-attachment-location-description": "जहाँ नयाँ थपिएका संलग्नहरू राखिएका छन्।", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "हालको फोल्डर अन्तर्गत सबफोल्डरमा", "option-attachment-folder-path": "संलग्नक फोल्डर मार्ग", "option-attachment-folder-path-description": "नयाँ सिर्जना गरिएका एट्याचमेन्ट फाइलहरू यहाँ देखिनेछन्। जसमा ड्र्याग एण्ड ड्रप वा टाँस्ने माध्यमबाट सिर्जना गरिएका छविहरू र अडियो रेकर्डिङहरू समावेश हुन्छन्।", "option-attachment-subfolder-path": "सबफोल्डरको नाम", "option-attachment-subfolder-path-description": "यदि तपाईंको फाइल \"भल्ट/फोल्डर\" अन्तर्गत छ, र तपाईंले सबफोल्डरको नाम \"संलग्नकहरू\" मा सेट गर्नुभयो भने, एट्याचमेन्टहरू \"भल्ट/फोल्डर/संलग्नकहरूमा सुरक्षित हुनेछन्। \"।", "option-excluded-files": "बहिष्कृत फाइलहरू", "option-excluded-files-desc": "बहिष्कृत फाइलहरू या त लुकाइनेछ वा विभिन्न ठाउँहरूमा कम देखिनेछ, जस्तै द्रुत स्विचर, लिङ्क सुझाव, र ग्राफ दृश्य।", "label-no-excluded-filters-applied": "अहिले कुनै पनि बहिष्कृत फिल्टर लागू गरिएको छैन। तल एउटा थप्नुहोस्।", "label-excluded-filters-applied": "निम्न फिल्टरहरूसँग मिल्ने फाइलहरू हाल हटाइएका छन्:", "label-excluded-filter": "फिल्टर", "message-empty-filter": "फिल्टर खाली हुन सक्दैन", "placeholder-excluded-filter": "मार्ग प्रविष्ट गर्नुहोस् वा \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "रूप", "option-base-theme": "आधार विषयवस्तु", "option-base-theme-description": "Obsidian को पूर्वनिर्धारित रंग योजना छनोट गर्नुहोस्।", "option-accent-color": "एक्सेन्ट रङ", "option-accent-color-description": "एपमा प्रयोग भएको एक्सेन्ट रङ छान्नुहोस्।", "dark-theme": "गाढा", "light-theme": "प्रकाश", "system-theme": "प्रणालीमा अनुकूलन", "option-font": "फन्ट", "option-advanced": "उन्नत", "option-interface": "इन्टरफेस", "option-interface-font": "इन्टरफेस फन्ट", "option-interface-font-description": "सबै ओब्सिडियनका लागि आधार फन्ट सेट गर्नुहोस्।", "option-zoom-level": "जुम स्तर", "option-zoom-level-description": "एपको समग्र जुम स्तर नियन्त्रण गर्छ।", "option-text-font": "पाठ फन्ट", "option-text-font-description": "दृश्य सम्पादन र पढ्नको लागि फन्ट सेट गर्नुहोस्।", "option-monospace-font": "मोनोस्पेस फन्ट", "option-monospace-font-description": "कोड ब्लक र फ्रन्टमेटर जस्ता ठाउँहरूको लागि फन्ट सेट गर्नुहोस्।", "label-single-font-currently-in-effect": " हाल लागू गरिएको फन्ट: ", "label-multiple-fonts-currently-in-effect": " हाल निम्न फन्टहरू लागू गरिएका छन्:", "option-font-placeholder": "फन्ट नाम प्रविष्ट गर्नुहोस्...", "label-no-custom-font-set": "अहिले कुनै अनुकूलन फन्ट लागू गरिएको छैन। तल एउटा थप्नुहोस्।", "label-font-applied": "तपाईँको प्रणालीमा उपलब्ध यो सूचीबाट पहिलो फन्ट लागू हुनेछ।", "msg-font-not-found": "तपाईँको प्रणालीमा यो फन्ट फेला परेको छैन।", "msg-font-found": "यो फन्ट तपाईको प्रणालीमा फेला परेको छ।", "label-font-name": "फन्ट नाम", "option-community-themes": "सामुदायिक विषयवस्तुहरू खोल्नुहोस्", "option-community-themes-description": "समुदायले सिर्जना गरेका अद्भुत विषयवस्तुहरूको पूर्वावलोकन गर्नुहोस् र प्रयोग गर्नुहोस्।", "button-browse-community-themes": "ब्राउज गर्नुहोस्", "option-font-size": "फन्ट साइज", "option-font-size-description": "पिक्सेलमा फन्ट साइज जसले सम्पादक र पूर्वावलोकनलाई असर गर्छ।", "option-font-size-action": "द्रुत फन्ट साइज समायोजन", "option-font-size-action-description": "Ctrl + Scroll प्रयोग गरेर वा ट्र्याकप्याड पिन्च-जुम इशारा प्रयोग गरेर फन्ट साइज समायोजन गर्नुहोस्।", "option-themes": "विषयवस्तु", "option-manage-themes-description": "स्थापित विषयवस्तुहरू व्यवस्थापन गर्नुहोस् र सामुदायिक विषयवस्तुहरू ब्राउज गर्नुहोस्।", "option-theme-button-manage": "प्रबन्ध गर्नुहोस्", "option-choice-none": "कुनै पनि छैन", "option-native-menus": "नेटिभ मेनु", "option-native-menus-desc": "एप भरका मेनुहरू अपरेटिङ सिस्टमसँग मेल खानेछन्। तिनीहरू तपाईंको विषयवस्तुबाट प्रभावित हुनेछैनन्।", "button-reload-themes": "विषयवस्तुहरू पुनः लोड गर्नुहोस्", "msg-reloaded-themes": "अनुकूल CSS विषयवस्तुहरू पुनः लोड गरियो।", "button-open-themes-folder": "विषयवस्तुको फोल्डर खोल्नुहोस्", "option-css-snippets": "CSS स्निपेटहरू", "label-no-css-snippets-found": "स्निपेट्स फोल्डरमा कुनै CSS स्निपेट फेला परेन।", "no-snippet-description": "CSS स्निपेटहरू \"{{path}}\" मा भण्डार गरिएको छ।", "button-reload-snippets": "स्निपेटहरू पुन: लोड गर्नुहोस्", "button-open-snippets-folder": "स्निपेट्स फोल्डर खोल्नुहोस्", "msg-reloaded-snippets": "रिलोड गरिएको CSS स्निपेटहरू।", "option-toggle-snippet-description": "\"{{path}}\" मा CSS स्निपेट लागू गर्नुहोस्।", "label-installed-themes": "स्थापित विषयवस्तु", "label-screenshot-unavailable": "स्क्रिनसट अनुपलब्ध", "label-default-theme": "पूर्वनिर्धारित", "tooltip-click-to-enlarge": "विस्तार गर्न क्लिक गर्नुहोस्", "button-update": "अद्यावधिक", "label-currently-active": "Active", "option-frame-style": "सञ्झ्याल फ्रेम शैली", "option-frame-description": "ओब्सिडियन विन्डोको शीर्षक पट्टीको शैली निर्धारण गर्दछ। प्रभाव पार्न पूर्ण पुन: सुरु गर्न आवश्यक छ।", "option-frame-hidden": "लुकेको (पूर्वनिर्धारित)", "option-frame-obsidian": "ओब्सिडियन फ्रेम", "option-frame-native": "नेटिभ फ्रेम", "option-custom-icon": "अनुकूलन एप आइकन", "option-custom-icon-desc": "एपको लागि आफू अनुकूल आइकन सेट गर्नुहोस्", "button-choose-custom-icon": "अनुकूल प्रतिमा छान्नुहोस्", "option-configure-ribbon": "रिबन मेनु", "option-configure-ribbon-desc": "त्यो नेभिगेसन बारको रिबन मेनुमा कुन कमाण्डहरू देखा पर्छन् भनी कन्फिगर गर्नुहोस्।", "option-mobile-quick-ribbon-item": "द्रुत पहुँच रिबन वस्तु", "option-mobile-quick-ribbon-item-desc": "नेभिगेसन मेनुमा रहेको रिबन वस्तुमा ट्याप गर्दा यो रिबन वस्तु सक्रिय हुनेछ। ट्याप गर्नुहोस् र होल्ड गर्नुहोस् अझै पनि मेनु देखाउनेछ।", "option-mobile-quick-ribbon-default": "रिबन मेनु खोल्नुहोस्", "button-configure": "कन्फिगर गर्नुहोस्", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "अन्य रिबन वस्तुहरू", "label-modal-configuration": "रिबन कन्फिगरेसन", "label-modal-configuration-desc": "रिबनमा सक्रिय हुन चाहने वस्तुहरू छान्नुहोस्। क्रम परिवर्तन गर्न तान्नुहोस् र छोड्नुहोस्।", "option-show-view-header": "ट्याबको शीर्षक पट्टी देखाउनुहोस्", "option-show-view-header-desc": "हरेक ट्याबको शीर्षमा हेडर देखाउनुहोस्।", "msg-updates-found": "अपडेट गर्न {{count}} विषयवस्तु भेटियो।", "msg-updates-found_plural": "अपडेट गर्न {{count}} विषयवस्तुहरू फेला पर्यो।", "button-check-for-updates": "अद्यावधिकहरूको लागि जाँच गर्नुहोस्", "button-view-updates": "अद्यावधिकहरू हेर्नुहोस्", "button-update-all-themes": "सबै अद्यावधिक गर्नुहोस्", "label-current-themes": "वर्तमान सामुदायिक विषयवस्तु", "label-currently-installed": "तपाईंले हाल {{count}} विषयवस्तु स्थापना गर्नुभएको छ।", "label-currently-installed_plural": "तपाईँसँग हाल {{count}} विषयवस्तुहरू स्थापना भएका छन्।" }, "hotkeys": { "name": "हटकीहरू", "option-search": "हटकीहरू खोज्नुहोस्", "option-search-desc": "{{count}} हटकी देखाउँदै।", "option-search-desc_plural": "{{count}} हटकीहरू देखाउँदै।", "option-search-conflict": "{{count}} द्वन्द्वहरू सहितको आदेश।", "option-search-conflict_plural": "{{count}} द्वन्द्वहरू सहितको आदेशहरू।", "prompt-filter": "फिल्टर...", "tooltip-delete-hotkey": "हटकी मेटाउनुहोस्", "label-waiting-for-hotkey-press": "हटकी थिच्नुहोस्...", "label-show-all": "सबै", "label-show-unassigned": "असाइन गरिएको छैन", "label-show-assigned": "असाइन गरिएको", "label-show-user-assigned": "प्रयोगकर्ताले असाइन गरिएको", "tooltip-restore-default": "पूर्वनिर्धारित पुनर्स्थापना", "tooltip-customize-command": "यस आदेशलाई अनुकूलन गर्नुहोस्", "tooltip-hotkey-single-conflict": "यो हटकी \"{{command}}\" सँग विवादित छ", "tooltip-hotkey-multiple-conflicts": "यो हटकी अन्य {{count}} आदेशहरूसँग बाझिएको छ", "label-blank-hotkey": "खाली" }, "about": { "name": "सामान्य", "label-commercial-license": "व्यावसायिक इजाजतपत्र", "label-license-key": "लाइसेन्स कुञ्जी", "license-key-placeholder": "तपाईँको इजाजतपत्र कुञ्जी...", "label-activate-license": "लाइसेन्स सक्रिय गर्नुहोस्", "button-activate": "सक्रिय गर्नुहोस्", "label-unknown-version": "अज्ञात", "label-current-version": "हालको संस्करण: ", "label-install-version": "(स्थापनाकर्ता संस्करण: {{version}})", "label-up-to-date": "तपाईँको एप अप टु डेट छ!", "label-read-changelog": "चेंजलग पढ्नुहोस्।", "label-manual-update-required": "नयाँ सुविधाहरू समर्थन गर्न र नवीनतम सुरक्षा प्याचहरू प्राप्त गर्न, Obsidian लाई प्रमुख स्थापनाकर्ता अद्यावधिक चाहिन्छ। तपाईंले म्यानुअल रूपमा Obsidian डाउनलोड र पुन: स्थापना गर्न आवश्यक छ।", "label-new-version-ready": "नयाँ संस्करण स्थापना गर्न तयार छ।", "label-disabled-updates": "अद्यावधिकहरू असक्षम पारिएका छन्।", "button-relaunch": "पुनः सुरु गर्नुहोस्", "button-check-for-updates": "अद्यावधिकहरूको लागि जाँच गर्नुहोस्", "option-auto-update": "स्वचालित अद्यावधिक", "option-auto-update-description": "अनुप्रयोगलाई अद्यावधिकहरू जाँच गर्नबाट रोक्न यसलाई बन्द गर्नुहोस्।", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "मद्दत लिनुहोस्", "option-get-help-description": "ओब्सिडियन प्रयोग गर्न मद्दत लिनुहोस्।", "button-open": "खोल्नुहोस्", "option-language": "भाषा", "option-language-description": "प्रदर्शन भाषा परिवर्तन गर्नुहोस्।", "option-insider-build": "आन्तरिक निर्माणहरू प्राप्त गर्नुहोस्", "option-insider-build-description": "नयाँ सुविधाहरू प्रयोग गर्नको लागि इनसाइडर बिल्डहरूमा स्वत: अद्यावधिक गर्नुहोस्। ध्यान दिनुहोस् कि यी निर्माणहरू ब्लीडिङ एज छन् र कम स्थिर हुन सक्छन्।", "option-advanced": "उन्नत", "option-hw-acceleration": "हार्डवेयर एक्सेलेरेशन", "option-hw-acceleration-description": "हार्डवेयर एक्सेलेरेशन अन गर्छ, जसले ओब्सिडियनलाई सहज बनाउनको लागि तपाइँको GPU प्रयोग गर्दछ।", "option-hw-acceleration-warning": "यदि तपाईंले यसलाई बन्द गर्नुभयो भने, एपको कार्यसम्पादनमा ह्रास आउनेछ।", "option-config-location": "कन्फिग फोल्डर ओभरराइड गर्नुहोस्", "option-config-location-description": "पूर्वनिर्धारित फोल्डर भन्दा फरक कन्फिगरेसन फोल्डर प्रयोग गर्नुहोस्। बिन्दुबाट सुरु गर्नुपर्छ।", "option-config-location-warning": "कन्फिग गर्ने स्थान एउटा मान्य फोल्डरको नाम हुनुपर्छ जुन डटबाट सुरु हुन्छ।", "label-license": "लाइसेन्स", "label-your-commercial-license-key": "तपाईँको व्यावसायिक इजाजतपत्र कुञ्जी \"{{key}}\" हो।", "label-commercial-license-info": "{{seats}} प्रयोगकर्ताहरूका लागि \"{{company}}\" मा दर्ता। {{expiry}} सम्म मान्य छ।", "label-validating-commercial-license": "प्रमाणीकरण गर्दै...", "label-invalid-commercial-license": "लाइसेन्स अवैध: ", "button-remove-commercial-license": "हटाउनुहोस्", "option-catalyst": "उत्प्रेरक लाइसेन्स", "option-catalyst-desc": "तपाईसँग हाल {{tier}} उत्प्रेरक लाइसेन्स छ। सहयोगको लागि धन्यवाद!", "option-catalyst-desc-no-license": "तपाईसँग अहिले उत्प्रेरक इजाजतपत्र छैन। उत्प्रेरक इजाजतपत्र ओब्सिडियन विकासलाई समर्थन गर्न एक पटकको दान हो।", "label-app": "एप", "label-add-own-language": "ओब्सिडियनमा आफ्नो भाषा कसरी थप्ने हेर्नुहोस्।" }, "account": { "name": "खाता", "option-your-account": "तपाईँको खाता", "option-your-account-desc": "तपाई हाल {{name}} ({{email}}) मा साइन इन हुनुहुन्छ।", "option-your-account-desc-no-login": "तपाईँ अहिले लगइन हुनुहुन्न। ओब्सिडियन सिंक, ओब्सिडियन पब्लिश, र क्याटालिस्ट इन्साइडर बिल्डको लागि मात्र खाता चाहिन्छ।", "label-insider": "इनसाइडर", "label-supporter": "समर्थक", "label-vip": "VIP", "button-upgrade-catalyst": "अपग्रेड", "option-commercial-license": "व्यावसायिक इजाजतपत्र", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "खरिद", "button-log-out": "लग आउट", "label-log-in": "लग इन", "label-sign-up": "साइन अप", "label-email": "इमेल", "placeholder-email": "तपाईँको इमेल...", "label-name": "Full name", "label-password": "पासवर्ड", "placeholder-password": "तपाईँको पासवर्ड...", "label-forgot-password": "Forgot password?", "button-login": "लगइन", "message-empty-email": "इमेल खाली हुन सक्दैन।", "message-invalid-email": "इमेल मान्य छैन।", "message-empty-password": "पासवर्ड खाली हुन सक्दैन।", "message-login-failed": "लगइन असफल भयो, कृपया आफ्नो इमेल र पासवर्ड दोहोरो-जाँच गर्नुहोस्।", "message-signup-failed": "Failed to sign up", "label-no-account": "खाता छैन?", "link-sign-up-now": "अहिले नै साइन अप गर्नुहोस्", "label-mfa-code": "६ अंकको २FA कोड", "mfa-wrong-format": "2FA प्रमाणक कोड 6 अंकको हुनुपर्छ।", "mfa-verification-failed": "2FA कोड गलत छ, कृपया आफ्नो प्रमाणक एप दोहोरो जाँच गर्नुहोस्।" }, "core-plugin": { "plugin-list": "प्लगइन सूची", "option-search-plugin": "कोर प्लगइनहरू खोज्नुहोस्", "option-search-plugin-description": "नाम वा विवरण अनुसार प्लगइनहरू फिल्टर गर्नुहोस्।", "placeholder-search-plugin": "प्लगइनहरू खोज्नुहोस्..." }, "third-party-plugin": { "name": "तेस्रो-पक्ष प्लगइन", "option-restricted-mode": "प्रतिबन्धित मोड", "option-restricted-mode-description": "प्रतिबन्धित मोड बन्द छ। सामुदायिक प्लगइनहरू असक्षम गर्न खोल्नुहोस्।", "button-turn-on": "चाल्नुहोस्", "option-browse-community-plugins": "समुदाय प्लगइनहरू", "option-browse-community-plugins-description": "हाम्रो अद्भुत समुदायले बनाएको तेस्रो-पक्ष प्लगइनहरू ब्राउज गरी स्थापना गर्नुहोस्।", "button-browse": "ब्राउज गर्नुहोस्", "label-exit-restricted-mode": "प्रतिबन्धित मोडबाट बाहिर निस्कनुहोस्", "label-exit-restricted-mode-description-1": "सामुदायिक प्लगइनहरू, तपाईले स्थापना गर्नुहुने अन्य सफ्टवेयर जस्तै, डेटाको अखण्डता र सुरक्षा समस्याहरू निम्त्याउन सक्छ।", "label-exit-restricted-mode-description-2": "प्लगइन सुरक्षा हाम्रो लागि महत्त्वपूर्ण छ। हामी के गर्छौं यहाँ छ:", "label-exit-restricted-mode-description-3": "हाम्रा प्रयासहरूको बावजुद, समुदाय प्लगइनले दुव्र्यवहार गर्ने सम्भावना थोरै छ।", "label-code-review": "प्रारम्भिक कोड समीक्षा", "label-code-review-desc": "प्लगइनहरू पसलमा देखा पर्नु अघि हाम्रो टोलीद्वारा प्रारम्भिक कोड समीक्षा गराइन्छ।", "label-open-source": "खुला स्रोत", "label-open-source-desc": "अधिकांश प्लगइनहरू GitHub मा खुला स्रोत हुन्, त्यसैले तपाईले कोड आफैं जाँच्न सक्नुहुन्छ।", "label-peer-audit": "सहकर्मी लेखापरीक्षण", "label-peer-audit-desc": "हामीसँग विकासकर्ताहरूको ठूलो समुदाय छ जसले एकअर्कालाई हेरचाह गर्छ।", "label-report-mechanism": "रिपोर्ट संयन्त्र", "label-report-mechanism-desc": "हामी प्रयोगकर्ताको प्रतिवेदनमा त्रुटिपूर्ण प्लगइनहरू फलोअप गर्छौं र हटाउँछौं।", "label-exit-restricted-mode-disable-confirmation": "के तपाइँ सामुदायिक प्लगइनहरू सक्षम गर्न प्रतिबन्धित मोडबाट बाहिर निस्कन चाहनुहुन्छ? हामी त्यसो गर्नु अघि तपाइँको डाटाको ब्याकअप गर्न दृढताका साथ सुझाव दिन्छौं।", "label-learn-more": "प्लगइन सुरक्षा बारे थप जान्नुहोस्", "button-turn-on-community-plugins": "समुदाय प्लगइनहरू खोल्नुहोस्", "label-trust-author": "के तपाई यो भल्टको लेखकलाई विश्वास गर्नुहुन्छ?", "label-trust-author-description-1": "तपाईले यो भल्ट पहिलो पटक खोल्दै हुनुहुन्छ, र यो केहि प्लगइनहरु संग आउँछ।", "label-trust-author-description-2": "यदि तपाईंले यो भल्ट अरू कसैबाट प्राप्त गर्नुभयो भने, कृपया ध्यान दिनुहोस् कि अज्ञात मूलका प्लगइनहरूले सुरक्षा जोखिम निम्त्याउन सक्छ।", "label-trust-author-description-3": "यदि तपाइँ यस भल्टको लेखकलाई पूर्ण रूपमा विश्वास गर्नुहुन्न भने, हामी प्रतिबन्धित मोडमा रहन सुझाव दिन्छौं, त्यसैले यो भल्टमा प्लगइनहरू चल्दैनन्।", "button-enable-plugins": "लेखकलाई विश्वास गर्नुहोस् र प्लगइन सक्षम गर्नुहोस्", "button-dont-trust-author": "प्रतिबन्धित मोडमा भल्ट ब्राउज गर्नुहोस्", "placeholder-community-plugins": "समुदाय प्लगइनहरू खोज्नुहोस्...", "msg-failed-load-plugins": "सामुदायिक प्लगइनहरू लोड गर्न असफल।", "label-installed": "स्थापित", "button-install": "स्थापना गर्नुहोस्", "button-enable": "सक्षम गर्नुहोस्", "button-disable": "असक्षम गर्नुहोस्", "button-copy-share-link": "साझेदारी लिङ्क प्रतिलिपि गर्नुहोस्", "button-donate": "दान", "label-no-results-found": "कुनै नतिजा फेला परेन।", "label-no-recent-files-found": "हालको कुनै फाइल फेला परेन। खोज्नको लागि टाइप गर्नुहोस्...", "msg-failed-to-load-manifest": "प्लगइन म्यानिफेस्ट लोड गर्न असफल।", "label-version": "संस्करण: {{version}}", "label-currently-installed-version": "(हाल स्थापना गरिएको: {{version}})", "label-by-author": "द्वारा", "label-repository": "भण्डार: ", "label-last-update": "अन्तिम अद्यावधिक: ", "tooltip-view-last-update": "पछिल्लो अपडेट हेर्नुहोस्", "label-unsupported": "यो प्लगइनले तपाइँको यन्त्रलाई समर्थन गर्दैन।", "button-update": "अद्यावधिक", "label-no-readme": "यो प्लगइनले README फाइल उपलब्ध गराएको छैन।", "msg-installing-plugin": "प्लगइन स्थापना गर्दै \"{{name}}\"...", "msg-failed-to-install-plugin": "प्लगइन स्थापना गर्न असफल भयो \"{{name}}\"।", "msg-successfully-installed-plugin": "\"{{name}}\" प्लगइन सफलतापूर्वक स्थापना भयो।", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "स्थापित प्लगइनहरू", "button-reload-plugins": "प्लगइनहरू पुन: लोड गर्नुहोस्", "msg-reloaded-third-party-plugins": "पुनः लोड गरिएको तेस्रो-पक्ष प्लगइनहरू।", "label-uninstall": "स्थापना रद्द", "label-uninstall-plugin": "प्लगइनको स्थापना रद्द गर्नुहोस्", "label-uninstall-plugin-confirmation": "के तपाइँ यो प्लगइनको स्थापना रद्द गर्न निश्चित हुनुहुन्छ? यसले प्लगइनको फोल्डर मेट्नेछ।", "button-open-plugins-folder": "प्लगइन फोल्डर खोल्नुहोस्", "button-check-for-updates": "अद्यावधिकहरूको लागि जाँच गर्नुहोस्", "button-update-all-plugins": "सबै अपडेट गर्नुहोस्", "label-current-plugins": "वर्तमान प्लगइनहरू", "label-currently-installed": "तपाईंले हाल {{count}} प्लगइन स्थापना गर्नुभएको छ।", "label-currently-installed_plural": "तपाईँले हाल {{count}} प्लगइनहरू स्थापना गर्नुभएको छ।", "msg-no-updates-found": "कुनै प्लगइन अद्यावधिक भेटिएन।", "msg-updates-found": "अपडेट गर्न {{count}} प्लगइन भेटियो।", "msg-updates-found_plural": "अपडेट गर्न {{count}} प्लगइनहरू फेला पर्यो।", "msg-update-plugin": "संस्करण {{version}} मा अद्यावधिक गर्नुहोस्", "option-search-installed-plugin": "स्थापित प्लगइनहरू खोज्नुहोस्", "option-search-installed-plugin-description": "स्थापित प्लगइनहरू नाम वा विवरण अनुसार फिल्टर गर्नुहोस्।", "placeholder-search-installed-plugin": "स्थापित प्लगइनहरू खोज्नुहोस्...", "show-installed-only": "स्थापित मात्र देखाउनुहोस्", "label-donate-modal-title": "{{name}} लाई समर्थन गर्न दान गर्नुहोस्", "label-donate-modal-text1": "प्लगइन विकासकर्ताहरू सामुदायिक स्वयंसेवकहरू हुन् जसले जुनूनबाट अचम्मका चीजहरू बनाउँछन्। यदि तपाईंलाई यो प्लगइन उपयोगी लाग्छ भने, कृपया यसको विकासलाई आर्थिक सहयोग गर्ने विचार गर्नुहोस्।", "label-donate-modal-text2": "तपाईँको योगदानको 100% प्लगइन विकासकर्तामा जानेछ; Obsidian ले कटौती गर्दैन। तिनीहरूले छनौट गरेको कोष प्लेटफर्मले शुल्क लिन सक्छ।", "label-donate-modal-text3": "तपाईंको उदार सहयोगको लागि धन्यवाद!", "label-support-this-plugin": "यो प्लगइनलाई समर्थन गर्नुहोस्:", "label-search-summary": "{{pluginCount}} देखाउँदै:", "label-by-popularity": "सबैभन्दा धेरै डाउनलोड गरिएको", "label-by-released": "हालसालै जारी", "label-by-updated": "हालै अद्यावधिक गरिएको", "label-alphabetical": "वर्णमाला", "label-last-updated": "अद्यावधिक {{time}}" }, "mobile-toolbar": { "name": "मोबाइल टूलबार", "option-configure-quick-action": "मोबाइल द्रुत कार्य कन्फिगर गर्नुहोस्", "option-configure-quick-action-description": "माथिबाट तल तान्दा कुन कमाण्ड ट्रिगर गर्ने कन्फिगर गर्नुहोस्। हालको आदेश \"{{command}}\" मा सेट गरिएको छ।", "msg-missing-quick-action": "Action not configured", "button-configure": "कन्फिगर गर्नुहोस्", "placeholder-select-quick-action": "छिटो कार्य चयन गर्नुहोस्...", "quick-action-disabled": "कुनै पनि छैन", "manage-toolbar-options": "उपकरणपट्टी विकल्पहरू व्यवस्थापन गर्नुहोस्", "option-internal-link": "आन्तरिक लिङ्क थप्नुहोस्", "option-internal-embed": "इम्बेड थप्नुहोस्", "option-tag": "ट्याग थप्नुहोस्", "option-heading": "शीर्षक टगल गर्नुहोस्", "option-strikethrough": "स्ट्राइकथ्रु टगल गर्नुहोस्", "option-highlight": "हाइलाइट टगल गर्नुहोस्", "option-code": "कोड टगल गर्नुहोस्", "option-blockquote": "ब्लककोट टगल गर्नुहोस्", "option-inline-math": "इनलाइन गणित टगल गर्नुहोस्", "option-math-block": "गणित ब्लक टगल गर्नुहोस्", "option-markdown-link": "मार्कडाउन लिङ्क थप्नुहोस्", "option-bullet-list": "बुलेट सूची टगल गर्नुहोस्", "option-numbered-list": "नम्बर गरिएको सूची टगल गर्नुहोस्", "option-indent-list": "इन्डेन्ट सूची वस्तु", "option-unindent-list": "सूची वस्तु अनइन्डेन्ट", "option-undo": "अनडु", "option-redo": "फेरि गर्नुहोस्", "option-move-caret-up": "क्यारेट माथि सार्नुहोस्", "option-move-caret-down": "क्यारेट तल सार्नुहोस्", "option-move-caret-left": "क्यारेट बायाँ सार्नुहोस्", "option-move-caret-right": "क्यारेट दायाँ सार्नुहोस्", "option-first-line": "पहिलो लाइनमा जानुहोस्", "option-last-line": "अन्तिम लाइनमा जानुहोस्", "option-toggle-keyboard": "किबोर्ड टगल गर्नुहोस्", "option-configure-toolbar": "मोबाइल उपकरणपट्टी कन्फिगर गर्नुहोस्", "option-added-options": "विकल्प थपियो", "option-more-toolbar-options": "थप उपकरणपट्टी विकल्प", "option-attach": "संलग्नक घुसाउनुहोस्", "option-add-command": "विश्वव्यापी आदेश थप्नुहोस्", "option-add-command-description": "उपकरणपट्टीमा थप्नको लागि कुनै पनि विश्वव्यापी आदेश चयन गर्नुहोस्।" } }, "editor": { "search": { "placeholder-find": "फेला पार्नुहोस्", "placeholder-replace": "बदल्नुहोस्", "label-exit-search": "खोजबाट निस्कनुहोस्", "label-next": "अर्को", "label-previous": "अघिल्लो", "label-find-all": "Find all", "label-replace": "बदल्नुहोस्", "label-replace-all": "सबै बदल्नुहोस्" }, "link-suggestion": { "label-type-hash": "टाइप #", "label-link-heading": "शीर्षक लिङ्क गर्न", "label-type-block": "प्रकार ^", "label-link-block": "ब्लकहरू लिङ्क गर्न", "label-type-pipe": "प्रकार |", "label-change-display-text": "प्रदर्शन पाठ परिवर्तन गर्न", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "कुनै मेल फेला परेन", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "कुनै सुझाव छैन...", "add-to-dictionary": "शब्दकोशमा थप्नुहोस्" }, "menu": { "edit-link": "लिङ्क सम्पादन गर्नुहोस्", "edit-tag": "Edit tag", "label-edit-block": "यो ब्लक सम्पादन गर्नुहोस्", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "कुनै शीर्षक छैन", "label-heading-level": "शीर्षक {{level}}" }, "print-modal": { "title": "PDF मा निर्यात गर्नुहोस्", "caption": "तल सेटिङ सहित \"{{filename}}\" PDF मा निर्यात गर्नुहोस्।", "setting-page-size": "पृष्ठको आकार", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "कानुनी", "setting-page-size-letter": "पत्र", "setting-page-size-tabloid": "ट्याब्लोइड", "setting-include-file-name": "शीर्षकको रूपमा फाइल नाम समावेश गर्नुहोस्", "setting-landscape": "ल्याण्डस्केप", "setting-margin": "मार्जिन", "setting-margin-default": "पूर्वनिर्धारित", "setting-margin-minimal": "न्यूनतम", "setting-margin-none": "कुनै पनि छैन", "setting-downscale-percent": "प्रतिशत डाउनस्केल", "button-export-to-pdf": "PDF मा निर्यात गर्नुहोस्" }, "link-popover": { "tooltip-follow-link": "लिङ्क पछ्याउनुहोस्", "tooltip-open-link": "लिङ्क खोल्नुहोस्", "tooltip-search-tag": "ट्याग खोज्नुहोस्" } }, "interface": { "embed-cannot-find": "फेला पार्न सकिएन:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "पूर्वनिर्धारित एपमा खोल्नुहोस्", "empty-sidebar": "साइडबार खाली छ, यहाँ एउटा फलक तानेर हेर्नुहोस्।", "sidebar-expand": "विस्तार गर्नुहोस्", "sidebar-collapse": "संकुचन", "msg-fail-to-save-file": "फाइल \"{{filepath}}\" बचत गर्न असफल। {{message}}।", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "कुनै फाइल छैन", "msg-file-changed": "\"{{file}}\" बाह्य रूपमा परिमार्जन गरिएको छ, परिवर्तनहरू स्वतः मर्ज गर्दै।", "switch-vault": "अर्को भोल्ट खोल्नुहोस्", "manage-vaults": "Manage vaults...", "help": "मद्दत", "settings": "सेटिङहरू", "drag-to-rearrange": "पुनर्व्यवस्थित गर्न तान्नुहोस्", "msg-switched-to-read": "पढ्ने दृश्यमा पूर्वनिर्धारित दृश्य मोड बदलियो।", "msg-switched-to-edit": "पूर्वनिर्धारित दृश्य मोडलाई सम्पादकमा बदलियो।", "msg-upgrade-installer": "यो सुविधा प्रयोग गर्न, कृपया हाम्रो वेबसाइटबाट उपलब्ध नवीनतम स्थापनाकर्तासँग पुन: स्थापना गर्नुहोस्।", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "पूर्वनिर्धारित सेटिङहरू पुनर्स्थापना गर्नुहोस्", "label-copy": "क्लिपबोर्डमा प्रतिलिपि गर्नुहोस्", "label-copy-short": "प्रतिलिपि", "copied_generic": "तपाईँको क्लिपबोर्डमा प्रतिलिपि गरियो", "copied": "{{item}} तपाइँको क्लिपबोर्डमा प्रतिलिपि गरियो", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "url", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "खोलिएको फाइल \"{{path}}\"", "msg-file-not-found-through-uri": "फाइल \"{{name}}\" फेला परेन।", "delete-action-short-name": "मेट्नुहोस्", "msg-indexing": "ओब्सिडियनले तपाइँको भल्टलाई अनुक्रमणिका गरिरहेको छ...\nयो एक पटक मात्र हुनुपर्छ।\nयो पूरा नभएसम्म केही कार्यक्षमता उपलब्ध नहुन सक्छ।", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "अनुक्रमण पूरा भयो।", "msg-sandbox-vault": "यो स्यान्डबक्स भल्ट हो।\nतपाईंले यो भल्टमा गर्नुभएका परिवर्तनहरू हराउनेछन्।", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "सिर्जना गर्न प्रविष्ट गर्नुहोस्", "label-update-available": "अद्यावधिक उपलब्ध", "label-debug-info": "डिबग जानकारी", "button-learn-more": "थप जान्नुहोस्", "button-not-now": "अहिले होइन", "button-add": "थप्नुहोस्", "button-manage": "व्यवस्थापन", "label-new-tab": "नयाँ ट्याब", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "यो ट्याब हाल व्यस्त छ, कृपया पछि पुन: प्रयास गर्नुहोस्", "formatting": { "label-formatting": "ढाँचा", "label-paragraph": "अनुच्छेद", "label-insert": "घुसाउनुहोस्", "insert-link": "लिङ्क थप्नुहोस्", "insert-external-link": "बाह्य लिङ्क थप्नुहोस्", "insert-callout": "कलआउट", "insert-horizontal-rule": "तेर्सो नियम", "insert-code-block": "कोड ब्लक", "insert-math-block": "गणित ब्लक", "insert-table": "तालिका", "insert-footnote": "Footnote", "toggle-bold": "बोल्ड", "toggle-code": "कोड", "toggle-comments": "टिप्पणी", "toggle-highlight": "हाइलाइट", "toggle-italics": "इटालिक", "toggle-strikethrough": "स्ट्राइकथ्रु", "toggle-math": "गणित", "toggle-bullet-list": "बुलेट सूची", "toggle-checklist": "कार्य सूची", "toggle-numbered-list": "नम्बर गरिएको सूची", "set-heading": "हेडिङ {{level}}", "no-heading": "शरीर", "clear": "फर्म्याटिङ् खाली गर्नुहोस्", "toggle-quote": "उद्धरण" }, "empty-state": { "no-file-open": "कुनै पनि फाइल खुला छैन", "create-new-file": "नयाँ फाइल बनाउनुहोस्", "go-to-file": "फाइलमा जानुहोस्", "see-recent-files": "हालका फाइलहरू हेर्नुहोस्", "close": "बन्द", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "प्लगइन अब सक्रिय छैन", "unknown-pane-desc": "यो फलक ({{type}}) सिर्जना गर्ने प्लगइन हटेको छ" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "सम्पादन गर्नुहोस् (नयाँ फलकमा सम्पादन गर्न Ctrl/Cmd+क्लिक गर्नुहोस्)", "read-view": "वर्तमान दृश्य: पठन", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "सम्पादन गर्न क्लिक गर्नुहोस्", "switch-to-read-view": "पढ्न क्लिक गर्नुहोस्", "mod-click-open-new-tab": "{{key}}+नयाँ ट्याबमा खोल्न क्लिक गर्नुहोस्", "find": "फेला पार्नुहोस्...", "replace": "बदल्नुहोस्...", "edit": "सम्पादन", "remove": "हटाउनुहोस्", "rename": "नाम बदल्नुहोस्", "preview": "पूर्वावलोकन", "more-options": "थप विकल्प", "close": "बन्द", "close-all": "सबै बन्द गर्नुहोस्", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Close others", "close-after": "Close tabs after", "pin": "पिन", "unpin": "अनपिन", "unlink-tab": "ट्याब अनलिंक गर्नुहोस्", "link-tab": "ट्याबसँग लिङ्क गर्नुहोस्...", "toggle-source-mode": "स्रोत मोड", "toggle-reading-view": "पढ्ने दृश्य", "add-property": "फाइल सम्पत्ति थप्नुहोस्", "delete-file": "फाइल मेटाउनुहोस्", "create-file": "यो फाइल बनाउनुहोस्", "open-link": "लिङ्क खोल्नुहोस्", "open-in-new-tab": "नयाँ ट्याबमा खोल्नुहोस्", "open-to-the-right": "दायाँ तिर खोल्नुहोस्", "copy-url": "url प्रतिलिपि गर्नुहोस्", "copy": "प्रतिलिपि", "cut": "कट", "paste": "टाँस्नुहोस्", "paste-as-plain-text": "सादा पाठको रूपमा टाँस्नुहोस्", "lookup-selection": "\"{{selection}}\" हेर्नुहोस्", "select-all": "सबै चयन गर्नुहोस्", "rename-heading": "यस शीर्षकको पुन: नामाकरण...", "rename-blockid": "यस ब्लक आईडीको नाम परिवर्तन गर्नुहोस्...", "open-in-new-window": "नयाँ विन्डोमा खोल्नुहोस्", "move-to-new-window": "नयाँ विन्डोमा सार्नुहोस्", "open-in-browser": "ब्राउजरमा खोल्नुहोस्", "stack-tabs": "ट्याकहरू", "unstack-tabs": "ट्याबहरू अनस्ट्याक गर्नुहोस्", "open-linked-view": "लिङ्क गरिएको दृश्य खोल्नुहोस्" }, "tooltip": { "click-to-expand": "विस्तार गर्न क्लिक गर्नुहोस्", "click-to-collapse": "पतन गर्न क्लिक गर्नुहोस्", "alias": "उपनाम", "not-created-yet": "अहिलेसम्म बनाइएको छैन, सिर्जना गर्न छान्नुहोस्" }, "start-screen": { "label-version": "संस्करण", "label-create-local-vault": "स्थानीय भल्ट बनाउनुहोस्", "option-open-folder-as-vault": "फोल्डरलाई भल्टको रूपमा खोल्नुहोस्", "option-open-folder-as-vault-description": "मार्कडाउन फाइलहरूको अवस्थित फोल्डर छनोट गर्नुहोस्।", "option-create-vault": "नयाँ वाल्ट बनाउनुहोस्", "option-create-vault-description": "फोल्डर मुनि नयाँ ओब्सिडियन भल्ट बनाउनुहोस्।", "option-connect-obsidian-sync": "ऑब्सिडियन सिंकमा जडान गर्नुहोस्", "option-connect-obsidian-sync-description": "अवस्थित रिमोट भल्टसँग सिंक गरिएको भल्ट सेटअप गर्नुहोस्।", "option-new-vault-name": "भल्ट नाम", "option-new-vault-name-description": "आफ्नो अद्भुत भल्टको लागि एउटा नाम छान्नुहोस्।", "option-new-vault-location": "स्थान", "option-new-vault-location-description": "आफ्नो नयाँ भल्ट राख्नको लागि ठाउँ छान्नुहोस्।", "label-new-vault-location-preview": "तपाईँको नयाँ भल्ट यसमा राखिनेछ: ", "option-reveal-vault-in-explorer": "प्रणाली अन्वेषकमा भल्ट प्रकट गर्नुहोस्", "option-reveal-vault-in-explorer-mac": "फाइन्डरमा भल्ट प्रकट गर्नुहोस्", "option-rename-vault": "भल्टको नाम परिवर्तन गर्नुहोस्...", "option-copy-vault-i-d": "भल्ट आईडी प्रतिलिपि गर्नुहोस्", "msg-error-rename-exists": "यस नामको भल्ट पहिले नै छ।", "msg-error-nested": "भल्ट आफैंको सबफोल्डरमा सार्न सकिँदैन।", "msg-error-rename-open": "हालमा खुला भल्टको पुन:नामाकरण गर्न सकिँदैन।", "msg-rename-failed": "भल्टको नाम परिवर्तन गर्न असफल।", "msg-rename-success": "भल्टको सफलतापूर्वक नामकरण गरियो।", "option-move-vault": "भल्ट सार्नुहोस्...", "msg-move-select-dest": "गन्तव्य फोल्डर चयन गर्नुहोस्", "msg-error-move-exists": "गन्तव्यमा पहिले नै एउटा भल्ट छ।", "msg-error-move-open": "हाल खुला भल्ट सार्न सकिँदैन।", "msg-move-failed": "भल्ट सार्न असफल।", "msg-move-success": "भल्ट सफलतापूर्वक सारियो।", "option-remove": "सूचीबाट हटाउनुहोस्", "button-quick-start": "छिटो सुरु", "button-open": "खोल्नुहोस्", "button-browse": "ब्राउज गर्नुहोस्", "button-connect": "जडान", "button-create-vault": "सिर्जना गर्नुहोस्", "button-back": "पछाडि", "msg-empty-vault-name": "भल्ट नाम खाली हुन सक्दैन।", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "कृपया मान्य फोल्डर छान्नुहोस्।", "msg-failed-to-create-vault": "भल्ट सिर्जना गर्न असफल।", "msg-failed-to-create-vault-at-location": "दिईएको स्थानमा भल्ट बनाउन सकिएन। कृपया स्थान र अनुमति दोहोरो-जाँच गर्नुहोस्।", "msg-error-failed-to-open-vault": "खोल्न असफल।", "msg-error-remove-current-open-vault": "हाल खुला भल्ट हटाउन सकिँदैन।", "option-get-help": "मद्दत प्राप्त गर्नुहोस्", "option-user-email": "इमेल", "placeholder-your-email": "तपाईँको इमेल...", "option-user-password": "पासवर्ड", "placeholder-your-password": "तपाईँको पासवर्ड...", "button-sign-in": "साइन इन", "button-setup": "सेटअप", "option-connect-vault-desc": "यस यन्त्रमा सिंक गरिएको भल्ट सिर्जना गर्नुहोस्।", "tooltip-own-vault": "यो तपाईको स्वामित्वमा रहेको रिमोट भल्ट हो।", "tooltip-shared-vault": "यो तपाईसँग साझा गरिएको रिमोट भल्ट हो।", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "स्वागत छ", "welcome-file-content": "यो तपाईको नयाँ *भल्ट* हो।\n\nकेही नोट बनाउनुहोस्, [[लिङ्क सिर्जना गर्नुहोस्]], वा [आयातकर्ता](https://help.obsidian.md) कोसिस गर्नुहोस्। /Plugins/Importer)!\n\nजब तपाईं तयार हुनुहुन्छ, यो नोट मेटाउनुहोस् र भल्टलाई आफ्नो बनाउनुहोस्।" }, "drag-and-drop": { "insert-link-here": "यहाँ लिङ्क घुसाउनुहोस्", "insert-links-here": "यहाँ लिङ्कहरू घुसाउनुहोस्", "move-into-folder": "\"{{folder}}\" मा सार्नुहोस्", "star-this-file": "Star this file", "star-these-files": "Star these files", "open-in-this-tab": "यो ट्याबमा खोल्नुहोस्", "open-as-tab": "नयाँ ट्याबको रूपमा खोल्नुहोस्" }, "window": { "maximize": "अधिकतम", "minimize": "न्यूनतम गर्नुहोस्", "restore-down": "पुनर्स्थापना गर्नुहोस्", "close-window": "सञ्झ्याल बन्द गर्नुहोस्", "go-back": "फिर्ता जानुहोस्", "go-forward": "अगाडि जाउ" }, "start-up": { "loading-obsidian": "ओब्सिडियन लोड गर्दै...", "obsidian-load-error": "ओब्सिडियन लोड गर्दा त्रुटि भयो।", "button-reload-app": "एप पुन: लोड गर्नुहोस्", "button-reload-app-in-safe-mode": "एपलाई सुरक्षित मोडमा पुनः लोड गर्नुहोस्", "button-open-another-vault": "अर्को भोल्ट खोल्नुहोस्", "loading-plugins": "प्लगइनहरू लोड गर्दै...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "भल्ट लोड हुँदै...", "msg-failed-to-load-vault": "भल्ट लोड गर्न असफल: ", "loading-cache": "क्यास लोड गर्दै...", "loading-workspace": "कार्यस्थान लोड हुँदैछ..." }, "mobile": { "action-import": "भल्टमा आयात गर्नुहोस्", "action-insert-text-desc": "फाइलमा पाठ थप्नुहोस्:", "action-choose-file-to-insert": "घुसाउनको लागि फाइल छान्नुहोस्", "action-insert-text-into-file": "{{filename}} मा पाठ घुसाउनुहोस्", "action-insert-link-into-file": "लिङ्क {{filename}} मा घुसाउनुहोस्", "action-show-switcher": "Show tab overview", "msg-importing": "आयात गर्दै...", "msg-import-success": "आयात सफलता", "msg-failed-to-import-file": "फाइल {{filename}} आयात गर्न असफल", "msg-back-again-to-exit": "बाहिर निस्कन फेरि थिच्नुहोस्।", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "आधिकारिक मद्दत साइट", "label-official-help-site-desc": "ओब्सिडियनको आधिकारिक मद्दत कागजात पढ्नुहोस्, धेरै भाषाहरूमा उपलब्ध छ।", "action-visit": "भ्रमण", "label-discord-chat": "कुराकानी विवाद", "label-discord-chat-desc": "विश्वभरका अन्य अनुभवी ओब्सिडियन प्रयोगकर्ताहरूसँग च्याट गर्नको लागि डिस्कर्ड सबैभन्दा राम्रो ठाउँ हो।", "action-join": "सामेल हुनुहोस्", "label-forum": "आधिकारिक फोरम", "label-forum-desc": "एक अर्कालाई मद्दत गर्नुहोस्, सुविधा अनुरोधहरू पोस्ट गर्नुहोस्, बगहरू रिपोर्ट गर्नुहोस्, र ज्ञान व्यवस्थापनको बारेमा गहन छलफल गर्नुहोस्।", "label-sandbox-vault": "स्यान्डबक्स भोल्ट", "label-sandbox-vault-desc": "वरिपरि खेल्नुहोस् र विभिन्न सुविधाहरू प्रयोग गर्नुहोस्। कृपया ध्यान दिनुहोस् कि तपाईंका परिवर्तनहरू बचत हुने छैनन्।" } }, "commands": { "save-file": "हालको फाइल बचत गर्नुहोस्", "download-attachments": "Download attachments for current file", "follow-cursor-link": "कर्सर अन्तर्गत लिङ्क पछ्याउनुहोस्", "open-cursor-link-in-new-tab": "नयाँ ट्याबमा कर्सर मुनि लिङ्क खोल्नुहोस्", "open-cursor-link-to-the-right": "दायाँ कर्सर मुनि लिङ्क खोल्नुहोस्", "open-cursor-link-in-new-window": "नयाँ विन्डोमा कर्सर मुनिको लिङ्क खोल्नुहोस्", "navigate-tab-above": "माथिको ट्याब समूहमा फोकस गर्नुहोस्", "navigate-tab-below": "तलको ट्याब समूहमा फोकस गर्नुहोस्", "navigate-tab-left": "बायाँतिरको ट्याब समूहमा फोकस गर्नुहोस्", "navigate-tab-right": "दायाँतिर रहेको ट्याब समूहमा फोकस गर्नुहोस्", "toggle-pin": "टगल पिन", "split-right": "दायाँ विभाजित", "split-down": "स्प्लिट डाउन", "toggle-stacked-tabs": "स्ट्याक गरिएका ट्याबहरू टगल गर्नुहोस्", "navigate-back": "पछाडि नेभिगेट गर्नुहोस्", "navigate-forward": "अगाडि नेभिगेट", "use-dark-mode": "डार्क मोड प्रयोग गर्नुहोस्", "use-light-mode": "प्रकाश मोड प्रयोग गर्नुहोस्", "change-theme": "विषयवस्तु परिवर्तन गर्नुहोस्", "search-current-file": "हालको फाइल खोज्नुहोस्", "search-replace-current-file": "हालको फाइलमा खोज्नुहोस् र बदल्नुहोस्", "add-property": "फाइल सम्पत्ति थप्नुहोस्", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "फाइल गुणहरू खाली गर्नुहोस्", "open-settings": "सेटिङहरू खोल्नुहोस्", "open-help": "हेल्प खोल्नुहोस्", "toggle-edit": "सम्पादन/पढ्ने दृश्य टगल गर्नुहोस्", "toggle-source-mode": "लाइभ पूर्वावलोकन/स्रोत मोड टगल गर्नुहोस्", "delete-current-file": "हालको फाइल मेटाउनुहोस्", "new-tab": "नयाँ ट्याब", "show-trash": "रद्दी टोकरी देखाउनुहोस्", "close-all-tabs": "सबै ट्याबहरू बन्द गर्नुहोस्", "close-active-tab": "हालको ट्याब बन्द गर्नुहोस्", "close-others-in-tab-group": "Close others in tab group", "close-other-tabs": "अन्य सबै ट्याबहरू बन्द गर्नुहोस्", "close-tab-group": "यो ट्याब समूह बन्द गर्नुहोस्", "toggle-left-sidebar": "बायाँ साइडबार टगल गर्नुहोस्", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "दायाँ साइडबार टगल गर्नुहोस्", "toggle-default-new-tab-mode": "नयाँ ट्याबहरूको लागि पूर्वनिर्धारित मोड टगल गर्नुहोस्", "add-cursor-above": "माथि कर्सर थप्नुहोस्", "add-cursor-below": "तल कर्सर थप्नुहोस्", "focus-editor": "सम्पादकमा फोकस गर्नुहोस्", "toggle-fold-properties": "हालको फाइलमा फोल्ड गुणहरू टगल गर्नुहोस्", "toggle-fold": "वर्तमान रेखामा फोल्ड टगल गर्नुहोस्", "fold-all": "सबै शीर्षक र सूचीहरू तह गर्नुहोस्", "unfold-all": "सबै शीर्षक र सूचीहरू खोल्नुहोस्", "fold-more": "अधिक तह", "fold-less": "कम तह", "swap-line-up": "लाइन अप स्वैप", "swap-line-down": "लाइन तल अदला-बदली", "remove-heading": "शीर्षक हटाउनुहोस्", "toggle-heading": "शीर्षक {{level}} को रूपमा सेट गर्नुहोस्", "toggle-bold": "चयनको लागि बोल्ड टगल गर्नुहोस्", "toggle-italics": "चयनको लागि इटालिक टगल गर्नुहोस्", "toggle-highlight": "चयनको लागि हाइलाइट टगल गर्नुहोस्", "toggle-comments": "चयनका लागि टिप्पणीहरू टगल गर्नुहोस्", "clear-formatting": "ढाँचा खाली गर्नुहोस्", "insert-link": "लिङ्क घुसाउनुहोस्", "toggle-spellcheck": "हिज्जे जाँच टगल गर्नुहोस्", "delete-paragraph": "अनुच्छेद मेटाउनुहोस्", "toggle-checklist": "चेकलिस्ट स्थिति टगल गर्नुहोस्", "cycle-list-checklist": "साइकल बुलेट/चेकबक्स", "insert-callout": "कलआउट घुसाउनुहोस्", "insert-code-block": "कोड ब्लक घुसाउनुहोस्", "insert-math-block": "गणित ब्लक घुसाउनुहोस्", "insert-horizontal-rule": "तेर्सो नियम घुसाउनुहोस्", "insert-table": "टेबल घुसाउनुहोस्", "insert-footnote": "Insert footnote", "edit-file-title": "फाइलको शीर्षक सम्पादन गर्नुहोस्", "copy-path": "फाइल मार्ग प्रतिलिपि गर्नुहोस्", "copy-url": "ओब्सिडियन URL प्रतिलिपि गर्नुहोस्", "export-pdf": "पीडीएफमा निर्यात गर्नुहोस्", "reload": "बचत नगरी एप पुन: लोड गर्नुहोस्", "undo-close-tab": "ट्याब बन्द नगर्नुहोस्", "context-menu": "कर्सर अन्तर्गत सन्दर्भ मेनु देखाउनुहोस्", "show-debug-info": "डिबग जानकारी देखाउनुहोस्", "open-sandbox-vault": "स्यान्डबक्स भल्ट खोल्नुहोस्", "always-on-top": "सँधै माथि टगल गर्नुहोस्", "zoom-in": "जुम इन", "zoom-out": "जुम आउट", "reset-zoom": "जुम रिसेट गर्नुहोस्", "toggle-preview": "सम्पादन/पूर्वावलोकन मोड टगल गर्नुहोस्", "move-to-new-window": "हालको फलकलाई नयाँ सञ्झ्यालमा सार्नुहोस्", "open-in-new-window": "नयाँ विन्डोमा हालको फलक खोल्नुहोस्", "rename-current-file": "हालको फाइलको पुनःनामाकरण", "go-to-prev-tab": "अघिल्लो ट्याबमा जानुहोस्", "go-to-next-tab": "अर्को ट्याबमा जानुहोस्", "go-to-last-tab": "अन्तिम ट्याबमा जानुहोस्", "go-to-nth-tab": "ट्याब #{{n}} मा जानुहोस्", "show-release-notes": "रिलिज नोटहरू देखाउनुहोस्" }, "dialogue": { "label-link-affected": "यसले {{files}} मा {{links}} लाई असर गर्नेछ।", "msg-updated-links": "{{files}} मा {{links}} अद्यावधिक गरियो।", "label-update-links": "लिङ्कहरू अद्यावधिक गर्नुहोस्", "label-confirm-update-link-to-file": "के तपाइँ यो फाइलमा लिङ्क गर्ने आन्तरिक लिङ्कहरू अद्यावधिक गर्न चाहनुहुन्छ?", "button-always-update": "सधैं अपडेट गर्नुहोस्", "button-just-once": "Just once", "button-do-not-update": "अद्यावधिक नगर्नुहोस्", "label-confirm-deletion": "के तपाइँ निश्चित हुनुहुन्छ कि तपाइँ \"{{filename}}\" मेट्न चाहनुहुन्छ?", "label-move-to-system-trash": "यो तपाइँको प्रणालीको रद्दीटोकरीमा सारिनेछ।", "label-move-to-vault-trash": "यो तपाइँको ओब्सिडियन रद्दीटोकरीमा सारिनेछ, जुन तपाइँको भल्टमा लुकेको फोल्डर \"। रद्दी टोकरी\" मा अवस्थित छ।", "label-permanent-delete": "फाइल सदाका लागि मेटिनेछ।", "label-non-empty-folder": "यो फोल्डर खाली छैन।", "label-delete-folder-warning": "यदि तपाईंले जारी राख्नुभयो भने, यो फोल्डर भित्रका सबै फाइलहरू मेटिनेछन्।", "label-delete-folder": "फोल्डर मेटाउनुहोस्", "button-delete": "मेट्नुहोस्", "button-delete-do-not-ask-again": "मेटाउनुहोस् र फेरि नसोध्नुहोस्", "label-do-not-ask-again": "फेरि नसोध्नुहोस्", "label-existing-backlink": "हाल यो नोटमा इंगित गर्ने {{count}} लिंक छ।", "label-existing-backlink_plural": "हाल यो नोटमा इंगित गर्ने {{count}} लिंकहरू छन्।", "label-delete-file": "फाइल मेटाउनुहोस्", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "व्यवस्थापन", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "रद्द गर्नुहोस्", "button-download": "Download", "button-done": "सम्पन्न", "button-save": "बचत गर्नुहोस्", "button-stop": "रोक्नुहोस्", "button-continue": "जारी राख्नुहोस्", "button-choose": "चयन गर्नुहोस्", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "पीडीएफ तयारी गर्दै...", "label-rename-file": "फाइलको पुन: नामाकरण", "label-rename-file-generic": "फाइलको नाम", "label-new-name": "नयाँ नाम", "msg-rename-success": "फाइललाई सफलतापूर्वक पुन: नामाकरण गरियो।", "msg-merge-failed": "टिप्पणीहरू मर्ज गर्न असफल: {{message}}", "msg-file-or-folder-not-found": "फाइल वा फोल्डर {{path}} अवस्थित छैन।", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "शीर्षक पुन: नामाकरण", "label-rename-blockid": "ब्लक आइडीको नाम परिवर्तन गर्नुहोस्" }, "menu-items": { "new-file": "नोट सिर्जना गर्नुहोस्", "new-file-to-the-right": "दायाँ तर्फ नयाँ नोट", "new-window": "नयाँ विन्डो", "open-switcher": "छिटो खोल्नुहोस्...", "open-vault": "खुल्ला भोल्ट...", "close-tab": "ट्याब बन्द गर्नुहोस्", "close-window": "सञ्झ्याल बन्द गर्नुहोस्", "find": "फेला पार्नुहोस्", "replace": "बदल्नुहोस्", "insert-callout": "कलआउट", "insert-markdown-link": "मार्कडाउन लिङ्क", "insert-wikilink": "लिङ्क", "set-heading": "शीर्षक {{level}}", "no-heading": "कुनै शीर्षक छैन", "insert-quote": "उद्धरण", "export-pdf": "पीडीएफ निर्यात गर्नुहोस्", "insert-attachment": "संलग्नक घुसाउनुहोस्...", "insert-codeblock": "कोड ब्लक", "insert-math-block": "गणित ब्लक", "insert-table": "तालिका", "insert-footnote": "Footnote", "toggle-bullet-list": "बुलेट सूची", "toggle-numbered-list": "नम्बर गरिएको सूची", "toggle-checklist": "कार्य सूची", "toggle-bold": "बोल्ड", "toggle-code": "कोड", "toggle-comment": "टिप्पणी", "toggle-italics": "इटालिक", "toggle-inline-math": "गणित", "toggle-highlight": "हाइलाइट", "toggle-strikethrough": "स्ट्राइकथ्रु", "toggle-comments": "टिप्पणी", "folding-menu": "फोल्डिङ", "fold-all": "सबै तह", "unfold-all": "सबै खोल्नुहोस्", "fold-more": "अधिक तह", "fold-less": "कम तह", "source-mode": "स्रोत मोड", "reading-view": "पढ्ने दृश्य", "show-debug-info": "डिबग जानकारी देखाउनुहोस्", "open-sandbox": "स्यान्डबक्स भल्ट खोल्नुहोस्", "navigate-back": "पछाडि नेभिगेट", "navigate-forward": "अगाडि नेभिगेट", "toggle-left-sidebar": "बायाँ साइडबार टगल गर्नुहोस्", "toggle-right-sidebar": "दायाँ साइडबार टगल गर्नुहोस्", "toggle-ribbon": "Ribbon", "split-right": "दायाँ विभाजन", "split-down": "स्प्लिट डाउन", "release-notes": "रिलिज नोटहरू" }, "plugins": { "name": "प्लगइनहरू", "file-explorer": { "name": "फाईल एक्सप्लोरर", "desc": "तपाईंको भल्टमा रहेका सबै फाइलहरू हेर्नुहोस्।", "action-open": "फाइल एक्सप्लोरर खोल्नुहोस्", "action-show": "फाइल एक्सप्लोरर देखाउनुहोस्", "action-create-note": "नयाँ नोट सिर्जना गर्नुहोस्", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "हालको ट्याबमा नयाँ नोट सिर्जना गर्नुहोस्", "action-create-note-to-the-right": "दायाँ टिपोट बनाउनुहोस्", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "सबैलाई संक्षिप्त गर्नुहोस्", "action-expand-all": "सबै विस्तार गर्नुहोस्", "action-new-note": "नयाँ नोट", "action-new-folder": "नयाँ फोल्डर", "action-change-sort": "क्रमबद्ध क्रम परिवर्तन गर्नुहोस्", "action-reveal-file": "फाइल एक्सप्लोररमा फाइल प्रकट गर्नुहोस्", "action-reveal-active-file": "फाइल एक्सप्लोररमा सक्रिय फाइल प्रकट गर्नुहोस्", "command-make-a-copy": "हालको फाइलको प्रतिलिपि बनाउनुहोस्", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "फाइललाई अर्को फोल्डरमा सार्नुहोस्", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "फाइललाई यसमा सार्नुहोस्...", "action-move-folder": "फोल्डरलाई यसमा सार्नुहोस्...", "action-move-items": "{{count}} वस्तुहरू यसमा सार्नुहोस्...", "prompt-type-folder": "फोल्डर टाइप गर्नुहोस्", "label-no-folders": "कुनै फोल्डर भेटिएन।", "instruction-navigate": "नेभिगेट गर्न", "instruction-move": "सार्नु", "instruction-create": "सिर्जना गर्न", "instruction-dismiss": "खारिज गर्न", "label-sort-a-to-z": "फाइल नाम (A देखि Z) अनुसार क्रमबद्ध गर्नुहोस्", "label-sort-z-to-a": "फाइल नाम अनुसार क्रमबद्ध गर्नुहोस् (Z देखि A)", "label-sort-new-to-old": "Modified time (new to old)", "label-sort-old-to-new": "सम्पादन समय अनुसार क्रमबद्ध गर्नुहोस् (पुरानो देखि नयाँ)", "label-sort-created-old-to-new": "सर्जित समय (पुरानो देखि नयाँ)", "label-sort-created-new-to-old": "Created time (new to old)", "menu-opt-new-note": "नयाँ नोट", "menu-opt-new-folder": "नयाँ फोल्डर", "menu-opt-rename": "नाम परिवर्तन गर्नुहोस्", "menu-opt-delete": "मेट्नुहोस्", "menu-opt-make-copy": "प्रतिलिपि बनाउनुहोस्", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "फाइलको नामले निम्न वर्णहरू समावेश गर्न सक्दैन: ", "msg-unsafe-characters": "लिङ्कहरूले यी मध्ये कुनै पनि क्यारेक्टर भएको फाइल नामहरूमा काम गर्दैन: ", "msg-file-already-exists": "त्यहाँ पहिले नै उही नामको फाइल छ", "msg-empty-file-name": "फाइलको नाम खाली हुन सक्दैन।", "msg-bad-dotfile": "फाइलको नाम डटबाट सुरु हुनु हुँदैन।", "tooltip-modified-time": "अन्तिम परिमार्जन {{time}} मा", "tooltip-created-time": "{{time}} मा सिर्जना गरियो", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "शीर्षकविहीन", "label-untitled-folder": "शीर्षकविहीन", "msg-set-attachment-folder": "संलग्नकहरू अब देखि \"{{path}}\" मा सुरक्षित गरिने छ।" }, "search": { "name": "खोज", "desc": "सबै नोटहरूमा कुञ्जी शब्द खोज्नुहोस्।", "action-open-search": "सबै फाइलहरूमा खोज्नुहोस्", "label-collapse-results": "परिणामहरू पतन गर्नुहोस्", "label-match-case": "केस मिलान", "label-explain-search-term": "खोज शब्दको व्याख्या गर्नुहोस्", "label-more-context": "थप सन्दर्भ देखाउनुहोस्", "label-result-count": "{{count}} परिणाम", "label-result-count_plural": "{{count}} नतिजा", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "खोज सेटिङ", "prompt-start-search": "खोज सुरु गर्न टाइप गर्नुहोस्...", "label-match-text": "पाठसँग मेल खान्छ: ", "label-match-regex": "रेजेक्ससँग मेल खान्छ: ", "label-match-exact-text": "ठ्याक्कै पाठ समावेश गर्दछ: ", "label-match-greater-than": "यो भन्दा ठूलो: ", "label-match-less-than": "यो भन्दा कम: ", "label-match-true": "सत्य हो", "label-match-false": "गलत छ", "label-match-empty": "खाली छ", "label-match-property": "सम्पत्ति समावेश गर्दछ:", "label-match-all": "सबै मिलाउनुहोस्: ", "label-match-any": "कुनै पनि मिलाउनुहोस्: ", "label-excluding": "बाहेक: ", "label-case-sensitive": "केस सेन्सेटिभ", "label-case-insensitive": "केस असंवेदनशील", "label-match-file-path": "फाइल मार्ग मिलाउनुहोस्: ", "label-match-file-name": "फाइलको नाम मिलाउनुहोस्: ", "label-match-content": "फाइल सामग्री मिलाउनुहोस्: ", "label-match-task": "टास्क मिलाउनुहोस्: ", "label-match-task-todo": "टास्क मिलाउनुहोस् (टुडो):", "label-match-task-done": "टास्क मिलाउनुहोस् (सम्पन्न): ", "label-match-line": "लाइन मिलाउनुहोस्: ", "label-match-block": "मिलाउने ब्लक: ", "label-match-section": "खण्ड मिलाउनुहोस्: ", "label-match-tag": "ट्याग मिलाउनुहोस्: ", "label-no-matches": "कुनै पनि मेल भेटिएन।", "matches-with-count": "... र {{count}} थप मेल।", "matches-with-count_plural": "... र {{count}} थप मेलहरू।", "label-copy-search-results": "खोज नतिजाहरू प्रतिलिपि गर्नुहोस्", "button-copy-results": "नतिजा प्रतिलिपि गर्नुहोस्", "msg-successfully-copied": "तपाईँको क्लिपबोर्डमा नतिजाहरू प्रतिलिपि गरियो।", "option-show-path": "मार्ग देखाउनुहोस्", "option-show-path-description": "फाइलको नाम मात्र नभई फाइलको पूरा बाटो देखाउनुहोस्।", "option-link-style": "लिङ्क शैली", "option-link-style-description": "वैकल्पिक रूपमा प्रत्येक फाइलको नतिजालाई लिङ्कमा बदल्नुहोस्।", "option-choice-link-style-none": "कुनै पनि छैन", "option-choice-link-style-wikilink": "विकिलिंक", "option-choice-link-style-markdown-link": "मार्कडाउन लिङ्क", "option-list-prefix": "सूची उपसर्ग", "option-list-prefix-description": "वैकल्पिक रूपमा प्रत्येक फाइल परिणाममा सूची वस्तु उपसर्ग थप्नुहोस्।", "option-choice-list-style-none": "कुनै पनि छैन", "option-choice-list-style-dash": "ड्यास (-)", "option-choice-list-style-asterisk": "एस्टेरिस्क (*)", "option-choice-list-style-numbered": "नम्बर गरिएको", "tooltip-clear-search": "खोज खाली गर्नुहोस्", "label-search-options": "विकल्पहरू खोज्नुहोस्", "label-properties-group": "गुणहरू", "label-tags-group": "ट्यागहरू", "tooltip-read-more": "थप पढ्नुहोस्", "label-history": "इतिहास", "tooltip-clear-history": "खोज इतिहास खाली गर्नुहोस्", "label-path-option-description": "फाइलको बाटो मिलाउनुहोस्", "label-file-name-option-description": "फाइलको नाम मिलाउनुहोस्", "label-tag-option-description": "ट्यागहरू खोज्नुहोस्", "label-line-option-description": "एउटै लाइनमा कुञ्जी शब्दहरू खोज्नुहोस्", "label-section-option-description": "एउटै शीर्षक अन्तर्गत कुञ्जी शब्दहरू खोज्नुहोस्", "label-property-option-description": "मिल्ने गुण", "menu-opt-search-for": "\"{{keyword}}\" को लागि खोज्नुहोस्", "menu-opt-search-in-folder": "फोल्डरमा खोज्नुहोस्" }, "quick-switcher": { "name": "द्रुत स्विचर", "desc": "कुञ्जीपाटी नछोडी कुनै पनि फाइलमा जानुहोस्। सक्रिय गर्न Ctrl/Cmd+O।", "short-name": "स्विचर", "action-open": "द्रुत स्विचर खोल्नुहोस्", "instruction-navigate": "नेभिगेट गर्न", "instruction-open": "खोल्न", "instruction-open-in-new-tab": "नयाँ ट्याबमा खोल्न", "instruction-open-to-the-right": "दायाँ खोल्न", "instruction-create": "सिर्जना गर्न", "instruction-dismiss": "खारिज गर्न", "instruction-select": "चयन गर्न", "label-no-note-create-new": "कुनै टिपोट भेटिएन। नयाँ सिर्जना गर्न प्रविष्ट गर्नुहोस्।", "prompt-type-file-name": "मा स्विच गर्न वा सिर्जना गर्न फाइल टाइप गर्नुहोस्...", "label-enter-to-create": "सिर्जना गर्न प्रविष्ट गर्नुहोस्", "tooltip-not-created-yet": "अहिलेसम्म सिर्जना गरिएको छैन, सिर्जना गर्न चयन गर्नुहोस्", "option-show-existing-only": "अवस्थित मात्र देखाउनुहोस्", "option-show-existing-only-description": "अहिलेसम्म सिर्जना नभएका फाइलहरूमा लिङ्कहरू देखाउने कि नगर्ने।", "option-show-attachments": "संलग्नकहरू देखाउनुहोस्", "option-show-attachments-desc": "तस्बिर, भिडियो र PDF हरू जस्ता संलग्न फाइलहरू देखाउनुहोस्।", "option-show-all-file-types": "सबै प्रकारका फाइलहरू देखाउनुहोस्", "option-show-all-file-types-desc": "ओब्सिडियनले खोल्न नसक्ने फाइलहरू सहित सबै फाइलहरू देखाउनुहोस्। फाइल त्यो फाइल प्रकारको लागि पूर्वनिर्धारित एपबाट खोलिनेछ।" }, "graph-view": { "name": "ग्राफ दृश्य", "desc": "कुन नोटहरू कुनसँग लिंक छन् भन्ने ग्राफको अवलोकन हेर्नुहोस्।", "action-open": "ग्राफ दृश्य खोल्नुहोस्", "action-open-local": "स्थानीय ग्राफ खोल्नुहोस्", "action-copy-screenshot": "स्क्रिनसट प्रतिलिपि गर्नुहोस्", "tab-title": "{{displayText}} को ग्राफ", "label-filters": "फिल्टर", "prompt-filter-nodes": "फाइलहरू खोज्नुहोस्...", "option-depth": "गहिराई", "option-depth-description": "लिङ्कहरूको यो संख्यामा नोडहरू देखाउनुहोस्", "option-neighbor-links": "Neighbor links", "option-neighbor-links-description": "Show links between neighbors", "option-forelinks": "बाहिर जाने लिङ्क", "option-forelinks-description": "अन्य फाइलहरूमा लिङ्कहरू देखाउनुहोस्", "option-backlinks": "आगमन लिङ्कहरू", "option-backlinks-description": "अन्य फाइलहरूबाट लिङ्कहरू देखाउनुहोस्", "option-show-tags": "ट्यागहरू", "option-show-tags-description": "ट्यागहरू ती फाइलहरूमा जोडिएका हुन्छन्", "option-show-attachments": "संलग्नकहरू", "option-show-attachments-description": "फाइलहरूद्वारा समावेश गरिएका संलग्न वस्तुहरू देखाउनुहोस्", "option-show-existing-files-only": "अवस्थित फाइलहरू मात्र", "option-show-existing-files-only-description": "जाँच गर्दा, अवस्थित नभएका फाइलहरूको लिङ्कहरू देखाइँदैन", "option-show-orphans": "अनाथ", "option-show-orphans-description": "अन्य फाइलमा लिङ्क नभएका फाइलहरू देखाउनुहोस्", "label-display": "प्रदर्शन", "option-show-arrows": "तीर", "option-show-arrows-description": "जुम इन गर्दा तीरहरू देखाउनुहोस्", "option-text-fade": "पाठ फेड थ्रेसहोल्ड", "option-node-size": "नोड साइज", "option-link-thickness": "लिङ्क मोटाई", "label-forces": "बल", "option-center-force": "केन्द्र बल", "option-link-force": "लिङ्क बल", "option-link-distance": "लिङ्क दूरी", "option-repel-force": "रिपेल बल", "tooltip-open-graph-settings": "ग्राफ सेटिङ खोल्नुहोस्", "msg-screenshot-copied": "स्क्रिनसट क्लिपबोर्डमा प्रतिलिपि गरियो।", "label-groups": "समूहहरू", "placeholder-enter-query": "क्वेरी प्रविष्ट गर्नुहोस्...", "tooltip-delete-graph": "समूह मेटाउनुहोस्", "button-new-group": "नयाँ समूह", "tooltip-click-to-change-drag-to-reorder": "रङ परिवर्तन गर्न क्लिक गर्नुहोस्\nसमूहहरूलाई पुन: क्रमबद्ध गर्न तान्नुहोस्", "action-timelapse": "ग्राफ टाइमलैप्स एनिमेसन सुरु गर्नुहोस्", "tooltip-start-timelapse-animation": "टाइमलैप्स एनिमेसन सुरु गर्नुहोस्", "button-animate-timelapse": "एनिमेट" }, "backlinks": { "name": "ब्याकलिङ्कहरू", "desc": "स्थिति पट्टीमा ब्याकलिङ्कहरूको सङ्ख्या देखाउनुहोस्।", "action-open": "ब्याकलिङ्कहरू खोल्नुहोस्", "action-show": "ब्याकलिङ्क फलक देखाउनुहोस्", "action-open-for-current": "हालको फाइलको ब्याकलिङ्कहरू खोल्नुहोस्", "action-toggle-backlinks-in-document": "कागजातमा ब्याकलिङ्कहरू टगल गर्नुहोस्", "menu-opt-backlinks-in-document": "कागजातमा ब्याकलिङ्कहरू", "label-linked-mentions": "लिंक गरिएका उल्लेख", "label-no-backlinks": "कुनै ब्याकलिङ्क भेटिएन।", "label-unlinked-mentions": "अलिङ्क गरिएका उल्लेखहरू", "label-show-search": "खोज फिल्टर देखाउनुहोस्", "label-link-button-text": "लिङ्क", "tab-title": "ब्याकलिङ्कहरू {{displayText}} का लागि", "label-no-unlinked-mentions": "कुनै अनलिंक गरिएको उल्लेख भेटिएन।", "ellipsis": "...", "option-backlink-in-document": "कागजातमा ब्याकलिङ्क", "option-backlink-in-document-desc": "नयाँ प्यानहरू खोल्दा पूर्वनिर्धारित रूपमा कागजातमा ब्याकलिङ्कहरू देखाउनुहोस्।" }, "outgoing-links": { "name": "Outgoing Links", "desc": "Show outgoing links and detect unlinked mentions of other notes in the current note.", "action-open": "Open outgoing links", "action-show": "Show outgoing links pane", "action-open-for-current": "Open outgoing links for the current file", "tab-title": "Outgoing links from {{displayText}}", "label-links": "Links", "label-no-links": "No links found.", "label-unlinked-mentions": "Unlinked mentions", "tooltip-link-file": "Link this file", "tooltip-not-created": "Not created yet" }, "tag-pane": { "name": "ट्याग फलक", "short-name": "ट्यागहरू", "desc": "तपाइँका सबै ट्यागहरू तिनीहरूको घटनाहरूको सङ्ख्या सहित प्रदर्शन गर्दछ।", "action-show": "ट्याग फलक देखाउनुहोस्", "label-no-tags": "कुनै ट्याग भेटिएन।", "label-sort-by-name-a-to-z": "ट्याग नाम (A to Z)", "label-sort-by-name-z-to-a": "ट्याग नाम (Z देखि A)", "label-sort-by-frequency-high-to-low": "फ्रिक्वेन्सी (उच्च देखि कम)", "label-sort-by-frequency-low-to-high": "फ्रिक्वेन्सी (कम देखि उच्च)", "action-show-nested-tags": "नेस्टेड ट्यागहरू देखाउनुहोस्", "action-collapse-all": "सबैलाई संक्षिप्त गर्नुहोस्", "action-expand-all": "सबै विस्तार गर्नुहोस्" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "गुण दृश्य", "desc": "तपाईँका फाइलहरूको मेटाडेटा देखाउनुहोस्।", "name-global": "सबै गुण", "name-local": "फाइल गुण", "tab-title": "{{displayText}} को लागि फाइल गुण", "action-show": "सबै गुणहरू देखाउनुहोस्", "action-show-local": "फाइल गुणहरू देखाउनुहोस्", "opt-unassign-type": "असाइन प्रकार", "label-no-properties": "कुनै गुण फेला परेन।", "label-invalid-properties": "अवैध गुणहरू।", "label-sort-by-name-a-to-z": "सम्पत्ति नाम (A to Z)", "label-sort-by-name-z-to-a": "सम्पत्तिको नाम (Z देखि A)", "label-sort-by-frequency-high-to-low": "फ्रिक्वेन्सी (उच्च देखि कम)", "label-sort-by-frequency-low-to-high": "फ्रिक्वेन्सी (कम देखि उच्च)", "msg-merge-properties-warning": "“{{oldKey}}“ लाई “{{newKey}}“ सँग मर्ज गर्ने? ", "msg-merge-properties-warning-desc": "द्वन्द्वको अवस्थामा, मानहरू मर्ज गरिनेछ वा “{{oldKey}}“ बाट मान प्रयोग गरिनेछ।", "action-collapse-all": "सबैलाई संक्षिप्त गर्नुहोस्", "action-expand-all": "सबै विस्तार गर्नुहोस्", "action-open-local": "फाइल गुणहरू खोल्नुहोस्", "action-open-daily-note": "दैनिक नोट खोल्नुहोस्" }, "page-preview": { "name": "पृष्ठ पूर्वावलोकन", "desc": "आन्तरिक लिङ्क होभर गर्दा नोटको पूर्वावलोकन गर्नुहोस्। Ctrl/Cmd + सम्पादक मोडमा होभर गर्नुहोस्।", "label-empty-attachment": "\"{{linktext}}\" फेला पार्न सकिएन।", "label-empty-note": "\"{{linktext}}\" अझै सिर्जना गरिएको छैन। सिर्जना गर्न क्लिक गर्नुहोस्।", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "सम्पादक", "label-source-preview": "पूर्वावलोकन", "label-source-search": "खोज, ब्याकलिङ्कहरू, र बाहिर जाने लिङ्कहरू", "label-source-tab-header": "Tab header", "label-require-mod": "होभरमा पृष्ठ पूर्वावलोकन ट्रिगर गर्न {{key}} आवश्यक छ" }, "bookmarks": { "name": "पुस्तक चिन्हहरू", "desc": "पुस्तक चिन्ह बारम्बार प्रयोग गरिएका फाइलहरू र खोजीहरू।", "action-show": "पुस्तकचिनो देखाउनुहोस्", "action-collapse-all": "सबैलाई संक्षिप्त गर्नुहोस्", "action-new-bookmark": "सक्रिय ट्याबलाई बुकमार्क गर्नुहोस्...", "action-new-group": "नयाँ पुस्तक चिन्ह समूह", "action-bookmark": "पुस्तक चिन्ह...", "action-add-bookmark": "पुस्तक चिन्ह थप्नुहोस्", "action-edit-bookmark": "पुस्तक चिन्ह सम्पादन", "action-bookmark-block": "कर्सर अन्तर्गत बुकमार्क ब्लक...", "action-bookmark-heading": "कर्सर अन्तर्गत पुस्तकचिनो शीर्षक...", "action-bookmark-search": "हालको खोजलाई बुकमार्क गर्नुहोस्...", "action-remove-bookmark": "हालको फाइलको लागि पुस्तक चिन्ह हटाउनुहोस्", "action-bookmark-tab-group": "पुस्तक चिन्ह {{count}} ट्याब...", "action-bookmark-tab-group_plural": "बुकमार्क {{count}} ट्याबहरू...", "action-bookmark-all-tabs": "सबै ट्याबहरू बुकमार्क गर्नुहोस्...", "action-bookmark-graph": "यो ग्राफलाई बुकमार्क गर्नुहोस्...", "label-bookmark": "पुस्तक चिन्ह", "label-bookmarked": "पुस्तक चिन्ह लगाइएको", "label-bookmark-with-count": "{{count}} पुस्तकचिनो", "label-bookmark-with-count_plural": "{{count}} पुस्तकचिनो", "label-no-bookmarks": "कुनै पनि पुस्तक चिन्ह फेला परेन", "label-invalid-data": "पुस्तकचिनो लोड गर्न असफल।", "label-invalid-data-desc": "डेटा फाइल बिग्रिएको छ।", "label-untitled-group": "शीर्षकविहीन समूह", "label-untitled-graph": "शीर्षकविहीन ग्राफ", "menu-opt-edit": "सम्पादन...", "menu-opt-remove": "हटाउनुहोस्", "menu-opt-rename": "नाम परिवर्तन गर्नुहोस्", "menu-opt-bookmark-block": "यो ब्लकलाई बुकमार्क गर्नुहोस्...", "menu-opt-bookmark-heading": "यो शीर्षकलाई बुकमार्क गर्नुहोस्...", "msg-no-search-query": "बुकमार्कको लागि कुनै खोज क्वेरी छैन।", "option-path": "पथ", "option-query": "क्वेरी", "option-u-r-l": "URL", "option-title": "शीर्षक", "option-group": "बुकमार्क समूह", "placeholder-bookmark-group": "पुस्तक चिन्हहरू" }, "custom-css": { "name": "कस्टम CSS", "desc": "भल्टमा \"obsidian.css\" पढ्छ र लागू गर्छ।", "setting-community-themes": "सामुदायिक विषयवस्तुहरू", "msg-fetching-themes": "सामुदायिक विषयवस्तु डेटा ल्याउँदै...", "prompt-filter": "फिल्टर...", "label-dark-theme-only": "गाढा थिमहरू मात्र", "label-light-theme-only": "हल्का विषयवस्तु मात्र", "label-use": "प्रयोग", "label-stop-use": "यो विषयवस्तु प्रयोग गर्न बन्द गर्नुहोस्", "label-install-and-use": "स्थापना र प्रयोग गर्नुहोस्", "label-update": "अद्यावधिक", "label-no-readme": "यो विषयवस्तुले README फाइल उपलब्ध गराएको छैन।", "tooltip-remove-theme": "विषयवस्तु हटाउनुहोस्", "label-visit-on-github": "GitHub मा जानुहोस्", "msg-load-error": "सामुदायिक विषयवस्तुहरू लोड गर्न सकिएन, कृपया आफ्नो नेटवर्क जाँच गर्नुहोस्।", "msg-now-using-theme": "तपाईँ अब {{title}} लाई आफ्नो CSS विषयवस्तुको रूपमा प्रयोग गर्दै हुनुहुन्छ।", "msg-deleted-theme": "विषय {{title}} मेटिएको छ।", "msg-updated-theme": "विषय {{title}} अद्यावधिक गरिएको छ।", "label-installed": "स्थापित", "label-legacy": "विरासत", "button-update-all-themes": "सबै अद्यावधिक गर्नुहोस्", "msg-failed-load-themes": "सामुदायिक विषयवस्तुहरू लोड गर्न असफल।", "msg-no-updates-found": "कुनै विषयवस्तु अपडेट भेटिएन।", "msg-updates-found": "अपडेट गर्न {{count}} विषयवस्तु भेटियो।", "msg-updates-found_plural": "अपडेट गर्न {{count}} विषयवस्तुहरू फेला पर्यो।", "msg-failed-to-install-theme": "विषयवस्तु स्थापना गर्न असफल भयो \"{{name}}\"।", "msg-successfully-installed-theme": "विषयवस्तु \"{{name}}\" सफलतापूर्वक स्थापना गरियो।", "msg-installing-theme": "विषयवस्तु स्थापना गर्दै \"{{name}}\"...", "label-search-summary": "{{themeCount}} देखाउँदै:", "label-update-available": "अद्यावधिक उपलब्ध छ" }, "command-palette": { "name": "कमांड प्यालेट", "desc": "आह्वान गर्न आदेश टाइप गर्नुहोस्। UI प्रयोग गर्न वा सर्टकट सम्झनु पर्दैन।", "action-open": "कमाण्ड प्यालेट खोल्नुहोस्", "instruction-navigate": "नेभिगेट गर्न", "instruction-use": "प्रयोग गर्न", "instruction-dismiss": "खारिज गर्न", "label-no-commands": "कुनै आदेश भेटिएन।", "prompt-type-command": "कमाण्ड टाइप गर्नुहोस्...", "label-pinned-commands": "पिन गरिएका आदेशहरू", "option-add-new-pin": "नयाँ पिन गरिएको आदेश", "option-add-new-pin-description": "कुनै खोज क्वेरी नहुँदा सबै आदेशहरूको शीर्षमा पिन गरिएका आदेशहरू देखा पर्नेछन्।" }, "markdown-format-importer": { "name": "मार्कडाउन ढाँचा आयातकर्ता", "desc": "अन्य एपबाट मार्कडाउनलाई ओब्सिडियन ढाँचामा रूपान्तरण गर्नुहोस्।", "action-open": "मार्कडाउन आयातकर्ता खोल्नुहोस्", "option-roam-tag-fixer": "रोम रिसर्च ट्याग फिक्सर", "option-roam-tag-fixer-description": "\"#tag\" र \"#[[tag]]\" लाई \"[[tag]]\" मा रूपान्तरण गर्छ।", "option-roam-highlight-fixer": "रोम रिसर्च हाइलाइट फिक्सर", "option-roam-highlight-fixer-description": "\"^^highlight^^\" लाई \"==highlight==\" मा रूपान्तरण गर्छ।", "option-roam-todo-converter": "रोम रिसर्च TODO कन्भर्टर", "option-roam-todo-converter-description": "\"{{[[TODO]]}\" लाई \"[ ]\" मा रूपान्तरण गर्दछ।", "option-bear-highlight-fixer": "भालु हाइलाइट फिक्सर", "option-bear-highlight-fixer-description": "\"::highlight::\" लाई \"==highlight==\" मा रूपान्तरण गर्दछ।", "zettelkasten-link-fixer": "Zettelkasten लिङ्क फिक्सर", "zettelkasten-link-fixer-description": "पूरा \"[[UID File Name]]\" मा \"[[UID]]\" लिङ्क फिक्स गर्दछ।", "zettelkasten-link-beautifier": "Zettelkasten लिंक ब्यूटिफायर", "zettelkasten-link-beautifier-description": "\"[[UID]]\" लिङ्कहरू फिक्स गर्छ र तिनीहरूलाई \"[[UID फाइलको नाम|फाइलको नाम]]\" पनि सुन्दर बनाउँछ।", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "चेतावनी: आयातकर्ताले हालको फाइल मात्र होइन, तपाईंको भल्टमा रहेका सबै फाइलहरूलाई रूपान्तरण गर्नेछ।", "msg-override-files-warning": "तपाईँका फाइलहरू ओभरराइट हुनेछन्। रूपान्तरण प्रयास गर्नु अघि आफ्ना सबै फाइलहरू ब्याकअप गर्नुहोस्।", "label-start-conversion": "रूपान्तरण सुरु गर्नुहोस्", "label-stop": "रोक्नुहोस्", "label-go-back": "फिर्ता जानुहोस्", "label-done": "सम्पन्न", "label-processing": "प्रशोधन गर्दै...", "label-cancelling": "रद्द गर्दै...", "label-finished": "समाप्त!", "label-processed-files": "प्रशोधन गरिएका फाइलहरू", "label-modified-files": "परिमार्जित फाइलहरू", "label-total-replacements": "कुल प्रतिस्थापन", "label-failed": "Failed" }, "daily-notes": { "name": "दैनिक नोट", "desc": "आजको दैनिक नोट खोल्नुहोस्, वा उपस्थित नभएको खण्डमा एउटा सिर्जना गर्नुहोस्।", "short-name": "आज", "action-open": "आजको नोट खोल्नुहोस्", "action-open-previous": "अघिल्लो दैनिक नोट खोल्नुहोस्", "action-open-next": "अर्को दैनिक नोट खोल्नुहोस्", "action-insert-text": "दैनिक नोटमा पाठ घुसाउनुहोस्", "action-insert-link": "दैनिक नोटमा लिङ्क घुसाउनुहोस्", "msg-fail-format": "दैनिक नोट सिर्जना गर्न असफल। \"{{format}}\" मान्य ढाँचा होइन।", "msg-fail-folder": "दैनिक नोट बनाउन असफल भयो। फोल्डर \"{{folderOption}}\" फेला परेन।", "msg-fail-template-file": "दैनिक नोट सिर्जना गर्न असफल। टेम्प्लेट फाइल \"{{template}}\" फेला परेन।", "msg-no-previous": "यो भन्दा पहिले कुनै दैनिक नोट छैन।", "msg-no-next": "यसपछि कुनै दैनिक नोट छैन।", "option-date-format": "मिति ढाँचा", "label-refer-to-syntax": "थप वाक्य रचनाको लागि, सन्दर्भ गर्नुहोस्: ", "label-syntax-link": "ढाँचा सन्दर्भ", "label-syntax-live-preview": "यो यस्तो देखिन्छ: ", "option-new-file-location": "नयाँ फाइल स्थान", "option-new-file-location-description": "नयाँ दैनिक नोट सिर्जना गर्ने फोल्डर मार्ग।", "option-template": "टेम्पलेट फाइल स्थान", "option-template-description": "टेम्प्लेटको रूपमा प्रयोग गर्ने फाइल मार्ग।", "option-open-on-start": "स्टार्टअपमा दैनिक नोट खोल्नुहोस्", "option-open-on-start-description": "तपाईंले यो भल्ट खोल्दा आफ्नो दैनिक नोट स्वतः खोल्नुहोस्।" }, "unique-note-creator": { "name": "अद्वितीय नोट सिर्जनाकर्ता", "desc": "जेटेलकास्टेन वा स्लिप बक्स जस्ता कार्यप्रवाहहरूको लागि, अद्वितीय टाइमस्ट्याम्प उपसर्गहरू सहित नोटहरू सिर्जना गर्नुहोस्।", "short-name": "अद्वितीय", "action-create-note": "नयाँ अद्वितीय नोट सिर्जना गर्नुहोस्", "action-add-link": "Add unique internal link", "option-new-file-location": "नयाँ फाइल स्थान", "option-new-file-location-description": "नयाँ अद्वितीय नोट सिर्जना गर्ने फोल्डर मार्ग।", "msg-folder-not-found": "अद्वितीय नोट सिर्जना गर्न असफल। फोल्डर \"{{folderOption}}\" फेला परेन।", "option-template-file": "टेम्पलेट फाइल स्थान", "option-template-file-description": "टेम्प्लेटको रूपमा प्रयोग गर्ने फाइल मार्ग।", "option-template-file-placeholder": "उदाहरण: फोल्डर१/नोट", "option-id-format": "अद्वितीय उपसर्ग ढाँचा", "msg-template-file-not-found": "अद्वितीय नोट सिर्जना गर्न असफल। टेम्प्लेट फाइल \"{{template}}\" फेला परेन।", "msg-failed-to-generate": "\"{{format}}\" ढाँचाको साथ एउटा अद्वितीय नोट उत्पन्न गर्न असफल भयो।" }, "random-note": { "name": "अनियमित नोट", "desc": "एउटा अनियमित नोट खोल्छ। समीक्षा र पत्ता लगाउन उपयोगी।", "short-name": "अनियमित", "action-open": "अनियमित नोट खोल्नुहोस्" }, "outline": { "name": "Outline", "desc": "हालको फाइल वा लिङ्क गरिएको फलकको रूपरेखा देखाउँछ।", "action-open": "ओपन आउटलाइन", "action-show": "रूपरेखा फलक देखाउनुहोस्", "action-open-for-current": "हालको फाइलको रूपरेखा खोल्नुहोस्", "tab-title": "{{displayText}} को रूपरेखा", "label-no-headings": "कुनै शीर्षक फेला परेन।", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Word count", "desc": "स्थिति पट्टीमा शब्द गणना देखाउनुहोस्।" }, "slides": { "name": "स्लाइडहरू", "desc": "मार्कडाउनबाट प्रस्तुत गर्नुहोस्। स्लाइडहरू छुट्याउन \"---\" प्रयोग गर्नुहोस्।", "action-start": "प्रस्तुति सुरु गर्नुहोस्" }, "audio-recorder": { "name": "अडियो रेकर्डर", "desc": "अडियो रेकर्ड गर्नुहोस् र संलग्नकको रूपमा बचत गर्नुहोस्।", "action-start": "अडियो रेकर्ड गर्न सुरु गर्नुहोस्", "action-stop": "अडियो रेकर्ड गर्न रोक्नुहोस्", "action-toggle": "रेकर्डिङ सुरु/रोक्नुहोस्", "msg-access-denied": "माइक्रोफोन पहुँच अस्वीकार गरियो, कृपया प्राथमिकता फलकबाट सक्षम गर्नुहोस्।", "msg-pending-grant": "कृपया रेकर्डिङ सुरु गर्न माइक्रोफोन अनुमति दिनुहोस्।", "msg-no-microphone": "कुनै माइक्रोफोन जोडिएको छैन।" }, "open-with-default-app": { "name": "पूर्वनिर्धारित एपमा खोल्नुहोस्", "desc": "पूर्वनिर्धारित एपमा हालको फाइल खोल्नको लागि बटन थप्नुहोस्।", "action-open-file": "पूर्वनिर्धारित एपमा खोल्नुहोस्", "action-open-file-mobile": "शेयर गर्नुहोस्", "action-show-in-folder": "फोल्डरमा देखाउनुहोस्", "action-show-in-folder-mac": "फाइन्डरमा प्रकट गर्नुहोस्" }, "templates": { "name": "टेम्प्लेटहरू", "desc": "टेम्प्लेट फाइलहरूको फोल्डरबाट टेम्प्लेट सामग्री घुसाउनुहोस्।", "action-insert": "टेम्प्लेट घुसाउनुहोस्", "action-insert-current-date": "हालको मिति घुसाउनुहोस्", "action-insert-current-time": "हालको समय घुसाउनुहोस्", "option-template-folder-location": "टेम्पलेट फोल्डर स्थान", "option-template-folder-location-description": "यो फोल्डरमा रहेका फाइलहरू टेम्प्लेटको रूपमा उपलब्ध हुनेछन्।", "option-template-date-format": "मिति ढाँचा", "option-template-date-format-description": "टेम्प्लेट फाइलमा {{date}} लाई यो मानले प्रतिस्थापन गरिनेछ।", "option-template-date-format-description2": "तपाईँले {{date:YYYY-MM-DD}} ढाँचालाई एक पटक ओभरराइड गर्न पनि प्रयोग गर्न सक्नुहुन्छ।", "option-template-time-format": "समय ढाँचा", "option-template-time-format-description": "टेम्प्लेट फाइलमा {{time}} लाई यो मानले प्रतिस्थापन गरिनेछ।", "option-template-time-format-description2": "तपाईँले {{time:HH:mm}} लाई एक पटक ढाँचा ओभरराइड गर्न पनि प्रयोग गर्न सक्नुहुन्छ।", "instruction-navigate": "नेभिगेट गर्न", "instruction-insert": "टेम्प्लेट घुसाउन", "instruction-dismiss": "खारिज गर्न", "msg-no-templates-found": "कुनै टेम्प्लेट भेटिएन", "msg-fail-invalid-folder": "टेम्प्लेटहरू सूचीबद्ध गर्न असफल। टेम्प्लेट फोल्डर अमान्य छ।", "msg-fail-folder-not-found": "टेम्प्लेटहरू सूचीबद्ध गर्न असफल। फोल्डर \"{{folderOption}}\" फेला परेन।", "msg-fail-invalid-template-properties": "टेम्प्लेट घुसाउन असमर्थ, टेम्प्लेट फाइलमा भएका गुणहरू पढ्न सकिएन।", "msg-no-folder-set": "टेम्प्लेटहरू सूचीबद्ध गर्न असफल। कुनै टेम्प्लेट फोल्डर कन्फिगर गरिएको छैन।", "prompt-type-template": "टेम्प्लेटको नाम टाइप गर्नुहोस्..." }, "translucency": { "name": "पारदर्शी विन्डो", "desc": "गहिराइको अनुभूति बढाउन ट्रान्सलुसेन्सी प्रभाव खोल्नुहोस्। डार्क मोडमा उत्तम प्रयोग गरिन्छ। लिनक्समा समर्थित छैन।" }, "slash-command": { "name": "स्ल्याश आदेशहरू", "desc": "फर्वार्ड स्ल्याश टाइप गरेर सम्पादकमा स्ल्याश आदेशहरू ट्रिगर गर्ने क्षमतालाई सक्षम पार्नुहोस्।" }, "editor-status": { "name": "सम्पादक स्थिति", "desc": "हालको सम्पादक मोड देखाउन र परिवर्तन गर्न स्थिति पट्टी वस्तु थप्छ।", "read": "पढ्दै", "edit-source": "स्रोत मोड", "edit-live-preview": "लाइभ पूर्वावलोकन" }, "publish": { "name": "प्रकाशित गर्नुहोस्", "desc": "Obsidian Publish मार्फत आफ्ना नोटहरू प्रकाशित गर्नुहोस्।", "action-publish-changes": "परिवर्तनहरू प्रकाशित गर्नुहोस्...", "action-publish-file": "Publish current file", "label-no-internet-access": "परिवर्तनहरू प्रकाशित गर्न तपाईंलाई इन्टरनेटमा पहुँच चाहिन्छ।", "label-publish-service-description": "Obsidian Publish एउटा एड-अन सशुल्क सेवा हो जसले तपाइँलाई तपाइँका नोटहरू अनलाइन ओब्सिडियनबाट सीधै प्रकाशित गर्न दिन्छ।", "label-please-login": "प्रकाशन सुरु गर्न, कृपया लग इन गर्नुहोस् वा नयाँ Obsidian खाता सिर्जना गर्नुहोस्।", "label-no-publish-subscription": "तपाईसँग अझै पनि ओब्सिडियन पब्लिश सदस्यता छैन।", "button-purchase": "खरिद", "label-manage-sites": "साइटहरू व्यवस्थापन गर्नुहोस्", "label-no-sites": "तपाईसँग कुनै साइट छैन।", "button-choose": "चयन गर्नुहोस्", "tooltip-edit-site-id": "साइट ID सम्पादन गर्नुहोस्", "tooltip-delete-site": "साइट मेटाउनुहोस्", "label-delete-site-confirmation": "के तपाइँ यो साइट मेटाउन निश्चित हुनुहुन्छ?", "label-delete-site-details": "यसले तपाईको साइट तुरुन्त र स्थायी रूपमा मेटाउनेछ।", "label-confirm-delete-site": "साइट मेटाउने पुष्टि गर्नुहोस् \"{{site}}\"", "option-site-id": "साइट आईडी", "option-site-id-description": "तपाईंको साइट https://publish.obsidian.md/{site id} मा हुनेछ। तपाईंले यसलाई पछि परिवर्तन गर्न सक्नुहुन्छ। सानो अक्षर, अंक र ड्यासहरूलाई मात्र अनुमति छ।", "option-site-id-placeholder": "साइट आईडी छान्नुहोस्", "button-create": "सिर्जना गर्नुहोस्", "msg-invalid-site-id": "साइट ID मा सानो अक्षर, संख्या र ड्यास मात्र हुन सक्छ।", "msg-site-id-in-use": "यो साइट आईडी प्रयोगमा छ, कृपया अर्को प्रयास गर्नुहोस्।", "msg-create-site-issue": "तपाईँको साइट सिर्जना गर्दा यो एउटा समस्या थियो।", "label-site-options": "साइट विकल्प", "option-site-general": "सामान्य", "option-site-components": "घटकहरू", "option-site-appearance": "उपस्थिति", "option-site-reading-experience": "पढ्ने अनुभव", "option-site-misc": "अन्य साइट सेटिङहरू", "option-site-name": "साइट नाम", "option-site-name-description": "तपाईंको प्रकाशित साइटको नाम। यो तपाईंको साइटको पृष्ठ शीर्षकमा देखिनेछ।", "option-site-name-placeholder": "तपाईँको साइटको नाम", "option-home-page-file": "गृहपृष्ठ फाइल", "option-home-page-file-description": "तपाईंको प्रकाशित साइटमा अवतरण गर्दा प्रयोगकर्ताले देखेको पहिलो पृष्ठ", "option-home-page-file-placeholder": "प्रकाशित फाइल छान्नुहोस्", "option-logo": "लोगो", "option-logo-description": "तपाईँको साइटको लोगोको रूपमा छवि फाइल छान्नुहोस्।", "option-logo-placeholder": "तपाईंको भल्टमा अपलोड गरिएको कुनै पनि छवि...", "option-site-collaboration": "साइट सहयोग", "option-site-collaboration-desc": "यस साइटका लागि सहयोगीहरूको व्यवस्थापन गर्नुहोस्।", "option-customize-navigation": "नेभिगेसन अनुकूलन गर्नुहोस्", "option-customize-navigation-desc": "नेभिगेसन वस्तुहरूको क्रम ओभरराइड गर्नुहोस् र पृष्ठ वा फोल्डरहरू देखाउनबाट लुकाउनुहोस्।", "option-navigation-order": "नेभिगेसन वस्तु प्रदर्शन क्रम", "option-hide-items-in-navigation": "नेभिगेसनबाट पृष्ठ वा फोल्डरहरू लुकाउनुहोस्", "option-hide-items-in-navigation-desc": "साइट नेभिगेसनमा विशिष्ट पृष्ठहरू देखा पर्नबाट रोक्नको लागि दायाँ क्लिक गर्नुहोस् र \"लुकाउनुहोस्\" चयन गर्नुहोस्। पृष्ठहरू अझै पनि लिङ्कहरू वा URL मार्फत सीधै पहुँच गर्न योग्य हुनेछन्।", "option-show-hidden-items": "लुकेको देखाउनुहोस्", "button-customize-sidebar": "व्यवस्थापन गर्नुहोस्", "label-navigation-modal-title": "नेभिगेसन", "label-navigation-modal-desc": "तपाईँको प्रकाशन साइटमा नेभिगेसन वस्तुहरू देखिने क्रमलाई अनुकूलन गर्न तान्नुहोस् र छोड्नुहोस्।", "option-hide-in-navigation": "नेभिगेसनमा लुकाउनुहोस्", "button-manage-collaborators": "प्रबन्ध गर्नुहोस्", "option-theme": "विषयवस्तु", "option-theme-description": "तपाईंको साइटको लागि पूर्वनिर्धारित रङ योजना छनोट गर्नुहोस्।", "option-theme-system": "प्रणालीमा अनुकूलन", "option-show-theme-toggle": "हल्का/गाढा टगल", "option-show-theme-toggle-description": "आगन्तुकलाई उज्यालो र अँध्यारो विषयवस्तुको बीचमा आफै टगल गर्न दिनुहोस्।", "option-show-navigation": "नेभिगेसन देखाउनुहोस्", "option-show-navigation-description": "तपाईंको प्रकाशित साइटको बायाँ छेउमा सबै प्रकाशित पृष्ठहरूको सूची देखाउनुहोस्।", "option-show-search": "खोज पट्टी देखाउनुहोस्", "option-show-search-description": "नेभिगेसनको शीर्षमा खोज पट्टी देखाउनुहोस् जसले आगन्तुकहरूलाई तपाइँको साइटमा पृष्ठहरू र शीर्षकहरू खोज्न दिन्छ।", "option-show-graph": "ग्राफ दृश्य देखाउनुहोस्", "option-show-graph-description": "हरेक पृष्ठमा एउटा सानो स्थानीय ग्राफ देखाउनुहोस्।", "option-show-outline": "सामग्रीको तालिका देखाउनुहोस्", "option-show-outline-description": "हरेक पृष्ठमा शीर्षकहरूको रूपरेखा देखाउनुहोस्।", "option-show-backlinks": "ब्याकलिङ्कहरू देखाउनुहोस्", "option-show-backlinks-description": "प्रत्येक पृष्ठको अन्त्यमा ब्याकलिङ्क खण्ड देखाउनुहोस्।", "option-sliding-window-mode": "स्लाइडिङ विन्डोहरू प्रयोग गर्नुहोस्", "option-sliding-window-mode-description": "पानाहरू दायाँतिर नयाँ प्यानहरूमा खोल्नुहोस्। प्यानहरू तेर्सो रूपमा स्क्रोल गर्न अनुमति दिन्छ।", "option-hover-preview-file": "होभर पूर्वावलोकन देखाउनुहोस्", "option-hover-preview-file-description": "लिङ्कहरू होभर गर्दा पृष्ठ पूर्वावलोकन देखाउनुहोस्।", "option-hide-title": "पृष्ठको शीर्षक लुकाउनुहोस्", "option-hide-title-description": "पृष्ठको शीर्षक हेडिङ लुकाउनुहोस्। प्रत्येक पृष्ठको सुरुमा तपाईंको आफ्नै शीर्षकहरू हुँदा उपयोगी हुन्छ।", "option-readable-line-length": "पढ्न सकिने लाइन लम्बाइ", "option-readable-line-length-description": "अधिकतम रेखा लम्बाइ सीमित गर्नुहोस्। स्क्रिनमा कम सामग्री फिट हुन्छ, तर लामो अनुच्छेदहरूलाई पढ्न योग्य बनाउँछ।", "option-site-password": "पासवर्ड", "option-site-password-description": "पासवर्डको साथ तपाईको साइटमा पहुँच प्रतिबन्धित गर्नुहोस्।", "option-google-analytics": "गुगल एनालिटिक्स ट्र्याकिङ कोड", "option-google-analytics-description": "तपाईँको साइटको लागि गुगल एनालिटिक्स कन्फिगर गर्नुहोस्। केवल तपाइँको कस्टम डोमेन URL बाट आगन्तुकहरूको लागि उपलब्ध छ। कृपया तपाइँको स्थानीय कानून र नियमहरू पहिले जाँच गर्नुहोस्।", "button-manage-passwords": "व्यवस्थापन गर्नुहोस्", "button-save-site-settings": "साइट सेटिङहरू बचत गर्नुहोस्", "msg-updated-options": "तपाईँको साइटको लागि अद्यावधिक गरिएका विकल्पहरू।", "button-go-back": "पछाडि", "label-publishing-to": "प्रकाशन गर्दै", "tooltip-switch-site": "साइट बदल्नुहोस्", "button-add-linked": "लिंक गरिएको थप्नुहोस्", "tooltip-add-linked": "हाल चयन गरिएका वस्तुहरूद्वारा लिङ्क गरिएका सबै फाइलहरू थप्नुहोस्", "msg-added-linked-files": "{{count}} लिङ्क गरिएको फाइल थपिएको छ।", "msg-added-linked-files_plural": "{{count}} लिङ्क गरिएका फाइलहरू थपिएका छन्।", "tooltip-open-site-options": "साइट विकल्पहरू परिवर्तन गर्नुहोस्", "label-no-changes-detected": "कुनै परिवर्तन भेटिएन।", "label-changed-files-to-be-published": "परिवर्तनहरू", "label-unchanged-files-already-published": "अपरिवर्तित (मेट्न चयन गर्नुहोस्)", "label-file-selected": "चयन गरिएको", "button-select-all-files": "सबै चयन गर्नुहोस्", "label-custom-navigation-title": "नेभिगेसन वस्तुहरू", "button-deselect-all-files": "सबै अचयन गर्नुहोस्", "label-new-files-to-be-published": "नयाँ", "button-publish": "प्रकाशन", "msg-no-permission-to-publish-to-site": "तपाईलाई हालको साइटमा प्रकाशित गर्ने अनुमति छैन।", "msg-select-at-least-one-file": "कृपया कम्तीमा एउटा फाइल चयन गर्नुहोस्।", "label-upload-changes": "परिवर्तनहरू अपलोड गर्नुहोस्", "button-done": "सम्पन्न", "button-stop": "रोक्नुहोस्", "label-status-uploading": "अपलोड गर्दै", "label-status-to-publish": "प्रकाशन गर्न", "label-status-to-delete": "मेटाउन", "label-status-published": "प्रकाशित", "label-status-deleted": "मेटाइयो", "label-status-failed": "असफल", "label-status-cancelled": "रद्द गरियो", "button-change": "परिवर्तन गर्नुहोस्", "label-clear-cache": "तपाईँको साइटमा परिवर्तनहरू देखा पर्नका लागि केही मिनेट लाग्दछ। यदि तपाइँ आफ्नो नयाँ परिवर्तनहरू देख्नुभएन भने, तपाइँको ब्राउजरमा क्यास खाली गर्ने प्रयास गर्नुहोस्।", "label-visit-site": "तपाईं यहाँ आफ्नो साइट भ्रमण गर्न सक्नुहुन्छ: ", "msg-something-went-wrong": "केही गडबड भयो। विवरणका लागि कृपया विकासकर्ता कन्सोल जाँच गर्नुहोस्।", "msg-network-error": "नेटवर्क त्रुटि भयो।", "label-manage-passwords": "पासवर्डहरू प्रबन्ध गर्नुहोस्", "label-add-password": "पासवर्ड थप्नुहोस्", "action-new-password": "नयाँ पासवर्ड", "label-no-password": "तपाईँको साइटमा हाल कुनै पनि पासवर्डहरू छैनन्। जो कोहीले यसलाई भ्रमण गर्न सक्छन्।", "label-have-password": "तपाईंको साइट पासवर्ड सुरक्षित छ। यदि तपाईंसँग धेरै पासवर्डहरू छन् भने, आगन्तुकहरूले ती मध्ये कुनै पनि प्रविष्ट गरेर तपाईंको साइट पहुँच गर्न सक्छन्।", "option-password-name": "पासवर्ड", "option-password-desc": "तपाईँको पासवर्डको ह्यास सुरक्षित रूपमा भण्डारण गरिनेछ। एकपटक पासवर्ड सेट गरेपछि, यो सादा पाठमा प्रकट गर्न सकिँदैन।", "option-password-placeholder": "तपाईँको पासवर्ड", "option-nickname-name": "उपनाम (वैकल्पिक)", "option-nickname-desc": "पासवर्ड के वा कसको लागि हो भनेर आफैलाई सम्झाउन उपनाम सेट गर्नुहोस्।", "action-add-password": "यो पासवर्ड थप्नुहोस्", "label-untitled-password": "शीर्षकविहीन पासवर्ड", "label-password-created-time": "{{time}} सिर्जना गरियो", "msg-added-new-password": "नयाँ पासवर्ड थपियो।", "option-custom-domain": "अनुकूल डोमेन", "option-custom-domain-desc": "https://publish.obsidian.md/{site id} URL को सट्टा आफ्नै डोमेन प्रयोग गर्नुहोस्।", "option-noindex": "खोज इन्जिन अनुक्रमणिकालाई अस्वीकार गर्नुहोस्", "option-noindex-desc": "खोज इन्जिनहरूलाई तपाइँको साइट अनुक्रमणिका गर्नबाट रोक्नुहोस्।", "button-configure": "कन्फिगर गर्नुहोस्", "label-configure-custom-domain": "अनुकूल डोमेन कन्फिगर गर्नुहोस्", "option-custom-url-name": "अनुकूल URL", "option-custom-url-desc": "तपाईँको साइटमा रहेको URL।", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "तपाईँको अनुकूलन डोमेनमा रिडिरेक्ट गर्नुहोस्", "option-custom-url-redirect-desc": "आफ्नो अनुकूल डोमेनमा publish.obsidian.md/id मा आगन्तुकहरूलाई पुन: निर्देशित गर्नुहोस्।", "button-update-custom-domain": "डोमेन सेटिङ अद्यावधिक गर्नुहोस्", "label-custom-domain-instructions": "कृपया थप जानकारीको लागि हाम्रो मद्दत साइटमा हाम्रो {{link}} हेर्नुहोस्।", "label-custom-domain-link-name": "कस्टम डोमेन सेटअप गाइड", "label-site-usage": "तपाईं आफ्नो {{limit}} मध्ये {{site}} प्रयोग गर्दै हुनुहुन्छ।", "button-add-more-sites": "थप साइटहरू किन्नुहोस्", "label-no-sites-bought": "तपाईंले कुनै पनि साइटहरू किन्नु भएको छैन।", "button-get-site": "एक साइट प्राप्त गर्नुहोस्", "label-manage-sharing": "\"{{name}}\" को लागि साझेदारी प्रबन्ध गर्नुहोस्", "label-sharing-with-users": "यो साइट हाल निम्न व्यक्तिहरूसँग साझेदारी गरिएको छ।", "label-not-sharing": "यो साइट हाल कसैसँग साझेदारी गरिएको छैन।", "label-invite-pending": "बाँकी", "tooltip-remove-user": "प्रयोगकर्तालाई हटाउनुहोस्", "option-invite-user": "प्रयोगकर्तालाई आमन्त्रित गर्नुहोस्", "placeholder-invite-user": "उनीहरूको इमेल प्रविष्ट गर्नुहोस्...", "error-email-must-be-valid": "कसैलाई आमन्त्रित गर्नको लागि मान्य इमेल प्रविष्ट गर्नुहोस्।", "msg-enable-publish-plugin": "कृपया साइटहरू हेर्नको लागि सेटिङहरू -> कोर प्लगइनहरूमा प्रकाशित कोर प्लगइन सक्षम गर्नुहोस्।", "label-your-sites": "तपाईँका साइटहरू", "label-sites-shared-with-you": "तपाईसँग साझा गरिएका साइटहरू", "tooltip-leave-site-sharing": "यो साइटमा सहकार्य गर्न बन्द गर्नुहोस्", "label-leave-site-confirmation": "स्टप साइट सहयोग पुष्टि गर्नुहोस्", "label-leave-site-confirmation-details": "यसले तपाइँसँग साझेदारी गरिएका साइटहरूको सूचीबाट यो साइट हटाउनेछ। यो कार्यलाई उल्टाउन सकिँदैन।", "label-leave-site-confirmation-details-2": "यदि तपाई यस साइटमा फेरि सहकार्य गर्न चाहनुहुन्छ भने कृपया साइटको मालिकलाई सम्पर्क गर्नुहोस्।", "button-leave": "छोड्नुहोस्", "label-compare-with-live": "लाइभ संस्करणसँग तुलना गर्नुहोस्", "button-use-live-version": "लाइभ संस्करण प्रयोग गर्नुहोस्", "label-confirm-override": "स्थानीय संस्करण ओभरराइड गर्ने पुष्टि गर्नुहोस्", "label-confirm-override-1": "के तपाइँ स्थानीय संस्करण ओभरराइड गर्न निश्चित हुनुहुन्छ?", "label-confirm-override-2": "लाइभ संस्करण प्रयोग गरिनेछ र तपाइँको स्थानीय संस्करण खारेज गरिनेछ। आवश्यक भएमा ब्याकअप गर्नुहोस्।", "button-proceed": "अगाडि बढ्नुहोस्", "message-successfully-used-live-version": "तपाईंको स्थानीय संस्करणलाई ओभरराइड गर्न लाइभ संस्करण सफलतापूर्वक प्रयोग गरियो।", "label-open-in-live-site": "Open in live site", "label-open-file": "फाइल खोल्नुहोस्", "tooltip-manage-publish-filters": "प्रकाशन फिल्टरहरू व्यवस्थापन गर्नुहोस्", "option-included-folders": "समावेश गरिएका फोल्डरहरू", "option-included-folders-desc": "तपाईंले प्रकाशित गर्नका लागि परिवर्तनहरूको समीक्षा गर्दा यी फोल्डरहरू अन्तर्गतका फाइलहरू स्वतः चयन हुनेछन्।", "option-currently-included-folders": " यी फोल्डरहरू हाल समावेश छन्:", "option-excluded-folders": "बहिष्कृत फोल्डरहरू", "option-excluded-folders-desc": "तपाईंले प्रकाशित गर्नका लागि परिवर्तनहरूको समीक्षा गर्दा यी फोल्डरहरू अन्तर्गतका फाइलहरू देखिने छैनन्। यो सेटिङले माथि समावेश गरिएका फोल्डरहरूलाई प्राथमिकता दिन्छ।", "label-number-of-folders-included": "ओब्सिडियन प्रकाशन हाल {{folders}} समावेश गर्दैछ।", "label-number-of-folders-excluded": "ओब्सिडियन पब्लिशले हाल {{folders}} बाहेक गरिरहेको छ।", "label-manage-included-folders": "समावेश गरिएका फोल्डरहरू व्यवस्थापन गर्नुहोस्", "label-manage-excluded-folders": "बहिष्कृत फोल्डरहरू व्यवस्थापन गर्नुहोस्", "label-add-included-folder": "फोल्डर समावेश गर्नुहोस्", "label-add-included-folder-desc": "तपाईंले हालसम्म सिर्जना नगरिएका अवस्थित फोल्डर र फोल्डरहरू समावेश गर्न सक्नुहुन्छ।", "tooltip-contact-support": "समर्थनलाई सम्पर्क गर्नुहोस्", "label-navigation-preview": "नेभिगेसन पूर्वावलोकन" }, "workspaces": { "name": "कार्यस्थल", "desc": "कार्यस्थान लेआउट बचत गर्नुहोस् र लोड गर्नुहोस्।", "action-load-layout": "कार्यस्थान लेआउट लोड गर्नुहोस्", "action-manage-layouts": "कार्यक्षेत्र लेआउटहरू व्यवस्थापन गर्नुहोस्", "action-save": "Save layout", "action-save-and-load-layout": "अर्को लेआउट बचत गरी लोड गर्नुहोस्", "placeholder-save-current-layout-as": "हालको कार्यस्थान लेआउट यस रूपमा बचत गर्नुहोस्...", "button-save": "बचत गर्नुहोस्", "button-load": "लोड", "tooltip-delete-layout": "लेआउट मेटाउनुहोस्", "msg-enter-name": "कृपया नयाँ लेआउटको लागि नाम प्रविष्ट गर्नुहोस्।", "msg-save-layout-success": "लेआउट सफलतापूर्वक सुरक्षित गरियो।", "label-no-layout-found": "बचत गरिएको लेआउट फेला परेन।", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "लेआउट नाम टाइप गर्नुहोस्..." }, "sync": { "name": "सिंक", "desc": "Obsidian Sync मार्फत आफ्ना फाइलहरू सिङ्क्रोनाइज गर्नुहोस्।", "action-view-version-history": "संस्करण इतिहास हेर्नुहोस्", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "थप लोड गर्नुहोस्", "label-show-diff": "भिन्न देखाउनुहोस्", "label-copy-to-clipboard": "क्लिपबोर्डमा प्रतिलिपि गर्नुहोस्", "label-restore-this-version": "यो संस्करण पुनर्स्थापना गर्नुहोस्", "msg-already-latest-version": "यो संस्करण पहिले नै पछिल्लो संस्करण हो।", "msg-restored-version": "{{time}} बाट सफलतापूर्वक संस्करण पुनर्स्थापित गरियो", "label-file-deleted": "यो फाइल मेटाइयो", "label-file-deleted-via": "{{ उपकरण }} मार्फत हटाइयो", "label-file-renamed-from": "यो फाइल \"{{filepath}}\" बाट पुन: नामाकरण गरिएको थियो", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "१ संशोधन", "label-revision_plural": "{{संशोधन}} संशोधन", "label-via-device": "{{device}} मार्फत", "label-no-history": "No sync history for this file.", "label-empty-file": "खाली", "label-unable-to-retrieve": "संस्करण इतिहास पुन: प्राप्त गर्न असमर्थ", "label-setting-files": "फाइलहरू सेट गर्दै", "label-deleted-files": "मेटाइएका फाइलहरू", "label-version-history": "संस्करण इतिहास", "label-click-to-see-history": "मेटाइएको फाइलको इतिहास हेर्नको लागि त्यसमा क्लिक गर्नुहोस्।", "label-create-remote-vault": "रिमोट भल्ट बनाउनुहोस्", "msg-please-enter-password": "कृपया पासवर्ड प्रविष्ट गर्नुहोस्।", "msg-vault-name-cannot-be-empty": "भल्ट नाम खाली हुन सक्दैन।", "msg-successfully-created-vault": "रिमोट भल्ट \"{{name}}\" सफलतापूर्वक सिर्जना गर्नुहोस्।", "label-remote-vault-explanation": "रिमोट भल्टहरूले तपाइँको भल्टलाई उपकरणहरू बीच सुरक्षित रूपमा सिङ्क्रोनाइज गर्दछ।", "option-vault-name": "भल्ट नाम", "option-vault-name-desc": "यो भल्ट के का लागि हो सम्झन मद्दत गर्दछ।", "option-vault-region": "क्षेत्र", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "रिमोट भल्ट भण्डारण गर्न तपाईको नजिकको सर्भर क्षेत्र छान्नुहोस्। यसलाई भविष्यमा परिवर्तन गर्न सकिँदैन।", "option-vault-name-placeholder": "मेरो गजबको भल्ट", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "इन्क्रिप्शन पासवर्ड", "option-encryption-password-desc": "यो पासवर्ड पछि परिवर्तन गर्न सकिँदैन।", "option-encryption-password-desc-warning": "यदि तपाईंले यो पासवर्ड बिर्सनुभयो भने, कुनै पनि रिमोट डाटा सधैंभरि प्रयोग गर्न नसकिनेछ।", "option-encryption-password-desc-2": "यसले तपाइँको स्थानीय डाटालाई असर गर्दैन।", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "तपाईंको पासवर्ड", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "भल्ट खोल्नुहोस्", "label-remote-vaults": "तपाईको रिमोट भोल्ट", "label-vault-created-time": "{{time}} सिर्जना गरियो", "tooltip-delete-remote-vault": "मेट्नुहोस्", "tooltip-rename-remote-vault": "नाम परिवर्तन गर्नुहोस्", "label-rename-remote-vault": "रिमोट भल्टको नाम परिवर्तन गर्नुहोस् \"{{name}}\"", "label-rename-remote-vault-desc": "यो रिमोट भल्टको लागि नयाँ नाम प्रविष्ट गर्नुहोस्।", "tooltip-manage-sharing": "साझेदारी प्रबन्ध गर्नुहोस्", "label-confirm-delete-remote-vault": "भल्ट मेटाउने पुष्टि गर्नुहोस्", "label-confirm-delete-remote-vault-question": "के तपाइँ यो रिमोट भल्ट मेटाउन निश्चित हुनुहुन्छ?", "label-confirm-delete-remote-vault-result": "संस्करण इतिहास सहित हाम्रो सर्भरमा भएका सबै डाटा मेटिने छन्। तपाईंका स्थानीय फाइलहरू यथावत रहनेछन्।", "label-confirm-delete-remote-vault-warning": "यो कार्य स्थायी र अपरिवर्तनीय छ।", "msg-remote-vault-deleted": "{{name}} मेटिएको छ।", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "जडान", "button-disconnect-from-remote-vault": "विच्छेद गर्नुहोस्", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "तपाईसँग कुनै रिमोट वाल्टहरू छैनन्।", "label-no-subscription": "तपाईसँग सक्रिय Obsidian Sync सदस्यता छैन।", "label-please-visit": "कृपया भ्रमण गर्नुहोस्", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "नयाँ वाल्ट बनाउनुहोस्", "label-sync-log": "सिंक लग", "option-event-type-all": "सबै", "option-event-type-errors": "त्रुटिहरू", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "विरोधहरू मर्ज गर्नुहोस्", "button-copy-sync-log": "सिंक लग प्रतिलिपि गर्नुहोस्", "msg-successfully-copied-sync-log": "सिंक लग सफलतापूर्वक प्रतिलिपि गरियो।", "button-retry": "पुनः प्रयास गर्नुहोस्", "button-purchase-subscription": "खरीद", "label-third-party-sync-warning": "विपरित फाइल सिंक सेवा पत्ता लाग्यो", "label-third-party-sync-warning-desc": "चेतावनी: तपाईंको भल्टले तेस्रो पक्ष सिंक सेवाको रूपमा {{service}} प्रयोग गरिरहेको देखिन्छ। यदि तपाईंले यो भल्टसँग Obsidian Sync प्रयोग गर्नुभयो भने, तपाईं विवादमा पर्न सक्नुहुन्छ, फाइल भ्रष्टाचार, वा डाटा हानि।", "label-icloud-drive-warning": "यदि तपाइँ iCloud ड्राइभ प्रयोग गर्दै हुनुहुन्छ भने, तपाइँका कागजातहरू र डेस्कटप फोल्डरहरू iCloud द्वारा सिंक हुन सक्छन्। यसले Obsidian Sync सँग द्वन्द्व निम्त्याउन सक्छ।", "option-remote-vault": "रिमोट भल्ट", "button-choose-remote-vault": "चयन गर्नुहोस्", "button-manage-remote-vault": "व्यवस्थापन गर्नुहोस्", "option-remote-vault-desc-connected": "हाल \"{{name}}\" रिमोट भल्टमा जडान गरिएको छ।", "option-remote-vault-desc-not-connected": "हाल कुनै पनि रिमोट भल्टमा जोडिएको छैन।", "option-sync-status": "सिंक स्थिति", "option-sync-status-desc-paused": "ओब्सिडियन सिंक हाल रोकिएको छ।", "option-sync-status-desc-running": "ओब्सिडियन सिङ्क हाल चलिरहेको छ।", "option-device-name": "उपकरणको नाम", "option-device-name-desc": "यो नाम सिंक लगमा देखाइनेछ। पूर्वनिर्धारित नाम प्रयोग गर्न खाली छोड्नुहोस्।", "button-resume": "फेरि सुरु", "button-pause": "पज", "option-view-deleted-files": "मेटाइएका फाइलहरू", "option-view-deleted-files-desc": "मेटाइएका फाइलहरू हेर्नुहोस् र पुनर्स्थापना गर्नुहोस्।", "option-sync-log": "सिंक गतिविधि", "option-sync-log-desc": "डिबगिङका लागि हालैका सिङ्क गतिविधिहरू हेर्नुहोस्।", "button-view": "हेर्नुहोस्", "button-bulk-restore": "बल्क रिस्टोर", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "पुनर्स्थापना गर्दै...", "msg-restoring-complete": "`पुनर्स्थापना पूरा: {{succeeded}} सफल र {{failed}} असफल।`", "option-vault-size": "भल्ट साइज", "option-vault-size-desc": "तपाईँ {{limit}} मध्ये {{size}} प्रयोग गर्दै हुनुहुन्छ", "option-vault-size-unknown": "तपाईँको भल्ट आकार पुन: प्राप्त गर्न असमर्थ।", "option-vault-size-loading": "तपाईको भल्ट साइज पुन: प्राप्त गर्दै...", "option-over-size": "सीमा भन्दा माथि भोल्ट आकार", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "ठूला फाइलहरू हेर्नुहोस्", "msg-largest-files-desc": "यी रिमोट फाइलहरू हुन् जसले धेरै ठाउँ लिइरहेका छन्। एट्याचमेन्टहरू मेटाएपछि, रिमोट भल्ट स्पेस खाली गर्न पर्ज बटन प्रयोग गर्नुहोस्।", "button-upgrade-storage": "भण्डारण अपग्रेड गर्नुहोस्", "button-purge-remote": "पर्ज", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "स्थान बचाउनको लागि रिमोट भल्टबाट मेटाइएका एट्याचमेन्टहरू स्थायी रूपमा सफा गर्नुहोस्।", "msg-purge-complete": "पुर्जा पूरा भयो।", "option-prevent-sleep": "यन्त्रलाई निद्रा रोक्नुहोस्", "option-prevent-sleep-desc": "फाइलहरू सिंक हुन बाँकी हुँदा यन्त्रलाई सुत्नबाट रोक्छ।", "option-selective-sync": "चयनात्मक सिंक", "option-excluded-folders": "बहिष्कृत फोल्डरहरू", "option-excluded-folder-desc": "केही फोल्डरहरूलाई सिंक हुनबाट रोक्नुहोस्।", "option-currently-excluded-folders": "यी फोल्डरहरू हाल बहिष्कृत छन्:", "button-manage-excluded-folders": "व्यवस्थापन गर्नुहोस्", "option-sync-image": "छविहरू सिङ्क गर्नुहोस्", "option-sync-image-desc": "यी एक्सटेन्सनहरूसँग छवि फाइलहरू सिंक गर्नुहोस्: {{extensions}}।", "option-sync-audio": "अडियो सिङ्क गर्नुहोस्", "option-sync-audio-desc": "यी एक्सटेन्सनहरूसँग अडियो फाइलहरू सिङ्क गर्नुहोस्: {{extensions}}।", "option-sync-video": "भिडियोहरू सिङ्क गर्नुहोस्", "option-sync-video-desc": "यी एक्सटेन्सनहरूसँग भिडियो फाइलहरू सिङ्क गर्नुहोस्: {{extensions}}।", "option-sync-pdf": "पीडीएफहरू सिङ्क गर्नुहोस्", "option-sync-pdf-desc": "पीडीएफ फाइलहरू सिङ्क गर्नुहोस्।", "option-sync-unsupported": "अन्य सबै प्रकारहरू सिङ्क गर्नुहोस्", "option-sync-unsupported-desc": "असमर्थित फाइल प्रकारहरू सिङ्क गर्नुहोस्।", "option-vault-config-sync": "भल्ट कन्फिगरेसन सिंक", "option-view-config-files": "सेटिङ संस्करणको इतिहास", "option-view-config-files-desc": "फाइल सेटिङको संस्करण इतिहास हेर्नुहोस् र पुनर्स्थापना गर्नुहोस्।", "option-sync-app": "मुख्य सेटिङहरू", "option-sync-app-desc": "सम्पादक सेटिङहरू, फाइलहरू र लिङ्क सेटिङहरू, अनुकूलन हटकीहरू, आदि सिङ्क गर्न सक्षम गर्नुहोस्।", "option-sync-appearance": "उपस्थिति सेटिङ", "option-sync-appearance-desc": "गाढा मोड, सक्रिय विषयवस्तु, र सक्षम स्निपेटहरू जस्ता उपस्थिति सेटिङहरू सिङ्क गर्नुहोस्।", "option-sync-appearance-data": "विषयवस्तु र स्निपेटहरू", "option-sync-appearance-data-desc": "डाउनलोड गरिएका थिमहरू र स्निपेटहरू सिंक गर्नुहोस्। तिनीहरू सक्षम छन् कि छैनन् भन्ने कुरा अघिल्लो सेटिङमा निर्भर गर्दछ।", "option-sync-hotkey": "हटकीहरू", "option-sync-hotkey-desc": "अनुकूल हटकीहरू सिङ्क गर्नुहोस्।", "option-sync-core-plugin": "सक्रिय कोर प्लगइन सूची", "option-sync-core-plugin-desc": "कुनै कोर प्लगइन सक्षम छन् सिङ्क गर्नुहोस्।", "option-sync-core-plugin-data": "कोर प्लगइन सेटिङ", "option-sync-core-plugin-data-desc": "कोर प्लगइन सेटिङहरू सिङ्क गर्नुहोस्।", "option-sync-community-plugin": "सक्रिय समुदाय प्लगइन सूची", "option-sync-community-plugin-desc": "कुन सामुदायिक प्लगइन सक्षम छन् सिङ्क गर्नुहोस्।", "option-sync-community-plugin-data": "स्थापित समुदाय प्लगइनहरू", "option-sync-community-plugin-data-desc": "स्थापित सामुदायिक प्लगइनहरू (.js, .css, र manifest.json फाइलहरू) र तिनीहरूको सेटिङहरू सिंक गर्नुहोस्।", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync भनेको ओब्सिडियनको एड-अन सिंक सेवा हो जसमा एन्ड-टु-इन्ड इन्क्रिप्सन र संस्करण इतिहास छ।", "label-account-required": "सिंक सुरु गर्न, कृपया लग इन गर्नुहोस् वा नयाँ Obsidian खाता सिर्जना गर्नुहोस्।", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "साइन अप", "button-log-in": "लग इन", "label-manage-excluded-folders": "बहिष्कृत फोल्डरहरू व्यवस्थापन गर्नुहोस्", "label-number-of-folders-excluded": "{{folders}} लाई हाल सिंक हुनबाट वञ्चित गरिएको छ।", "label-add-excluded-folder": "फोल्डर बहिष्कार गर्नुहोस्", "label-add-excluded-folder-desc": "तपाईले हालसम्म सिर्जना नगरिएका अवस्थित फोल्डर र फोल्डरहरू दुवै बहिष्कार गर्न सक्नुहुन्छ।", "tooltip-remove-excluded-folder": "बहिष्कृत सूचीबाट हटाउनुहोस्", "label-setup-connection": "जडान सेटअप गर्नुहोस्", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "तपाईं अब \"{{name}}\" मा जडान हुनुभएको छ।", "button-start-syncing": "सिंक गर्न सुरु गर्नुहोस्", "label-confirm-merge-vault": "मर्ज भल्ट पुष्टि गर्नुहोस्", "msg-vault-has-notes": "तपाईंको स्थानीय भल्टमा पहिले नै केही नोटहरू छन्।", "msg-vault-merge-warning": "यदि तपाइँ रिमोट भल्ट \"{{name}}\" मा जडान गर्नुहुन्छ भने, तपाइँको स्थानीय भल्टमा रहेका नोटहरू तपाइँको रिमोट भल्टका नोटहरूसँग मर्ज हुनेछन्। विवादको स्थितिमा, सबैभन्दा बढी नोटको भर्खरको संस्करण सुरक्षित गरिनेछ।", "tooltip-update-setting-on-all-devices": "कृपया यो विकल्प अपडेट गर्नुहोस् र एपलाई प्रभाव पार्न चाहने सबै यन्त्रहरूमा पुनः सुरु गर्नुहोस्।", "label-sharing-with-users": "यो रिमोट भल्ट हाल निम्न व्यक्तिहरूसँग साझेदारी गरिएको छ।", "label-not-sharing": "यो रिमोट भल्ट हाल कसैसँग साझेदारी गरिएको छैन।", "label-vaults-shared-with-you": "तपाईसँग साझेदारी गरिएको भोल्ट", "tooltip-leave-vault-sharing": "यो भल्टमा सहकार्य गर्न बन्द गर्नुहोस्", "label-leave-vault-confirmation": "स्टप भल्ट सहयोग पुष्टि गर्नुहोस्", "label-leave-vault-confirmation-details": "यसले तपाईसँग साझेदारी गरिएको भल्टहरूको सूचीबाट यो भल्ट हटाउनेछ। यो कार्यलाई उल्टाउन सकिँदैन।", "label-leave-vault-confirmation-details-2": "यदि तपाईं यो भल्टमा फेरि सहकार्य गर्न चाहनुहुन्छ भने कृपया भल्टको मालिकलाई सम्पर्क गर्नुहोस्।", "button-leave": "छोड्नुहोस्", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "यो भल्टमा जडान हुनको लागि तपाईलाई ओब्सिडियन सिंक सदस्यता चाहिन्छ।", "option-contact-support": "समर्थनलाई सम्पर्क गर्नुहोस्", "option-contact-support-desc": "यदि तपाईलाई Obsidian Sync मा कुनै समस्या छ भने, कृपया हामीलाई सम्पर्क गर्नुहोस् ताकि हामी तपाईलाई मद्दत गर्न सक्छौं! तपाईले हामीलाई support@obsidian.md मा सम्पर्क गर्न सक्नुहुन्छ।", "button-copy-debug": "डिबग जानकारी प्रतिलिपि गर्नुहोस्", "button-email-support": "इमेल समर्थन", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Sync ले तपाईंलाई ५ वटासम्म रिमोट भल्टहरू बनाउन दिन्छ। नयाँ रिमोट भल्ट बनाउनको लागि, कृपया अवस्थित एउटा हटाउनुहोस्।", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "फाइल रिकभरी", "desc": "तपाईलाई आकस्मिक डेटा हानिबाट पुन: प्राप्ति गर्न भर्खरका स्न्यापसटहरू पुनर्स्थापना गर्न दिनुहोस्। स्न्यापसटहरू मार्कडाउन फाइलहरूको लागि मात्र बचत गरिन्छ।", "action-open": "बचत गरिएका स्न्यापसटहरू खोल्नुहोस्", "option-interval": "स्न्यापसट अन्तराल", "option-interval-description": "दुई स्न्यापसटहरू बीचको मिनेटमा न्यूनतम अन्तराल।", "option-keep": "इतिहास लम्बाइ", "option-keep-description": "दिनको स्न्यापसटको लम्बाइ राखिएको छ।", "option-open-history": "स्न्यापसटहरू", "option-open-history-description": "बचत गरिएका स्न्यापसटहरू हेर्नुहोस् र पुनर्स्थापना गर्नुहोस्।", "button-view-history": "View", "option-clear": "इतिहास खाली गर्नुहोस्", "option-clear-description": "सबै स्न्यापसटहरू मेटाउनुहोस्।", "button-clear-history": "स्पष्ट", "label-clear-warning": "के तपाइँ निश्चित हुनुहुन्छ कि तपाइँ सबै स्न्यापसटहरू मेटाउन चाहनुहुन्छ? याद गर्नुहोस् कि स्न्यापसटहरू मात्र हटाइनेछन्। तपाइँको भल्ट भित्रका सबै फाइलहरू प्रभावित हुनेछैनन्।", "msg-clear-complete": "स्न्यापसटहरू खाली गरियो।", "label-no-history-found": "कुनै स्न्यापसट भेटिएन।", "placeholder-choose-file": "फाइल छान्नुहोस्...", "label-select-file": "स्न्यापसटहरू हेर्नको लागि बाँयामा रहेको फाइल चयन गर्नुहोस्।" }, "note-composer": { "name": "नोट रचनाकार", "desc": "मर्ज, विभाजन र रिफ्याक्टर नोटहरू।", "option-confirm-file-merge": "फाइल मर्ज पुष्टि गर्नुहोस्", "option-confirm-file-merge-description": "दुई फाइल मर्ज गर्नु अघि प्रम्प्ट गर्नुहोस्।", "option-split-replacement-text": "निकासी पछिको पाठ", "option-split-replacement-text-description": "चयनित पाठ निकालेपछि त्यसको स्थानमा के देखाउने।", "option-choice-split-replacement-text-link": "नयाँ फाइलमा लिङ्क", "option-choice-split-replacement-text-embed": "नयाँ फाइल इम्बेड गर्नुहोस्", "option-choice-split-replacement-text-none": "कुनै पनि छैन", "option-template-file": "टेम्पलेट फाइल स्थान", "option-template-file-description": "मर्ज वा एक्स्ट्र्याक्ट गर्दा प्रयोग गरिने टेम्प्लेट फाइल। उपलब्ध चरहरू: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, उदाहरण। {{मिति:YYYY-MM-DD}}।", "command-merge-file": "अर्को फाइलसँग हालको फाइल मर्ज गर्नुहोस्...", "action-merge-file": "पूरै फाइल मर्ज गर्नुहोस्...", "label-no-files": "कुनै फाइल भेटिएन।", "instruction-navigate": "नेभिगेट गर्न", "instruction-merge": "मर्ज गर्न", "instruction-create-new": "नयाँ सिर्जना गर्न", "instruction-merge-at-top": "शीर्षमा मर्ज गर्न", "instruction-dismiss": "खारिज गर्न", "prompt-select-file-to-merge": "मर्ज गर्न फाइल चयन गर्नुहोस्...", "label-merge-file": "फाइल मर्ज गर्नुहोस्", "label-confirm-file-merge": "के तपाइँ निश्चित हुनुहुन्छ कि तपाइँ \"{{file}}\" लाई \"{{destination}}\" मा मर्ज गर्न चाहनुहुन्छ? \"{{file}}\" मेटिनेछ? ", "button-merge": "मर्ज गर्नुहोस्", "command-split-file": "हालको चयन निकाल्नुहोस्...", "command-extract-heading": "यो शीर्षक निकाल्नुहोस्...", "instruction-append": "तलमा सार्न", "instruction-prepend": "शीर्षमा जान", "msg-fail-to-fetch-template": "टेम्प्लेट फाइल ल्याउन असफल: \"{{template}}\" फेला परेन।", "msg-fail-to-find-heading": "शीर्षक फेला पार्न असफल" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "क्यानभास", "desc": "असीमित क्यानभासमा नोटहरू मिलाउनुहोस् र जडान गर्नुहोस्।", "action-add-note": "भल्टबाट नोट थप्नुहोस्", "action-add-media": "भल्टबाट मिडिया थप्नुहोस्", "action-add-card": "कार्ड थप्नुहोस्", "action-add-website": "वेब पृष्ठ थप्नुहोस्", "action-create-group": "समूह सिर्जना गर्नुहोस्", "action-create-with-size": "विशिष्ट आकारको कार्ड बनाउनुहोस्", "action-convert-to-file": "फाइलमा रूपान्तरण गर्नुहोस्...", "action-drag-to-add-note": "भल्टबाट नोट थप्न तान्नुहोस्", "action-drag-to-add-media": "भल्टबाट मिडिया थप्न तान्नुहोस्", "action-drag-to-add-card": "कार्ड थप्न तान्नुहोस्", "action-edit-label": "लेबल सम्पादन", "action-remove-label": "लेबल हटाउनुहोस्", "action-search-file": "फाइल खोज्नुहोस्", "action-set-color": "रङ सेट गर्नुहोस्", "action-align": "पङ्क्तिबद्ध", "action-align-left": "बायाँ पङ्क्तिबद्ध गर्नुहोस्", "action-align-center": "केन्द्रमा पङ्क्तिबद्ध गर्नुहोस्", "action-align-right": "दायाँ पङ्क्तिबद्ध गर्नुहोस्", "action-align-top": "शीर्ष पङ्क्तिबद्ध गर्नुहोस्", "action-align-middle": "बिचमा पङ्क्तिबद्ध गर्नुहोस्", "action-align-bottom": "तल पङ्क्तिबद्ध गर्नुहोस्", "action-distribute-horizontal-spacing": "तेर्सो स्पेसिङ वितरण गर्नुहोस्", "action-distribute-vertical-spacing": "ठाडो स्पेसिङ वितरण गर्नुहोस्", "action-justify-horizontally": "तेर्सो रूपमा न्याय गर्नुहोस्", "action-justify-vertically": "ठाडो रूपमा न्याय गर्नुहोस्", "action-arrange-horizontally": "एक पङ्क्तिमा मिलाउनुहोस्", "action-arrange-vertically": "स्तम्भमा मिलाउनुहोस्", "action-arrange-grid": "ग्रिडमा मिलाउनुहोस्", "action-export-png": "छविको रूपमा निर्यात गर्नुहोस्", "action-jump-to-group": "समूहमा जानुहोस्", "action-set-background": "पृष्ठभूमि सेट गर्नुहोस्", "action-edit-background": "पृष्ठभूमि सम्पादन", "action-replace-background": "पृष्ठभूमि बदल्नुहोस्", "action-remove-background": "पृष्ठभूमि हटाउनुहोस्", "label-no-images": "कुनै छवि भेटिएन।", "label-no-media": "No media found.", "label-export-png-desc": "निर्यात गर्नुहोस् \"{{title}}\" तलको सेटिङहरूसँग PNG फाइलको साथ।", "label-export-png-dimensions": "अनुमानित छवि आयाम: {{आयामहरू}}", "label-distribute": "वितरण", "label-justify": "उचित", "label-arrange": "व्यवस्थित गर्नुहोस्", "label-always": "सधैं", "label-hover": "होभरमा", "label-never": "कहिल्यै होइन", "label-no-section-found": "कुनै खण्ड फेला परेन", "option-wheel-behavior": "पूर्वनिर्धारित माउस व्हील व्यवहार", "option-mod-drag-behavior": "पूर्वनिर्धारित {{key}} व्यवहार", "option-show-menu": "मेनु देखाउनुहोस्", "option-new-canvas-location": "नयाँ क्यानभास फाइलहरूको लागि पूर्वनिर्धारित स्थान", "option-new-canvas-location-description": "नयाँ सिर्जना गरिएका क्यानभास फाइलहरू कहाँ राखिन्छन्।", "option-new-canvas-folder-path": "नयाँ क्यानभास फाइलहरू सिर्जना गर्न फोल्डर", "option-new-canvas-folder-path-description": "नयाँ सिर्जना गरिएका क्यानभास फाइलहरू यो फोल्डर अन्तर्गत देखिनेछन्।", "option-node-label": "कार्ड लेबल प्रदर्शन गर्नुहोस्", "option-snap-to-grid": "ग्रिडमा स्न्याप", "option-snap-to-grid-desc": "कार्डहरू सार्दा र रिसाइज गर्दा पृष्ठभूमि ग्रिडमा स्न्याप गर्नुहोस्।", "option-snap-to-objects": "वस्तुहरूमा स्न्याप", "option-snap-to-objects-desc": "सार्ने र रिसाइज गर्दा नजिकका वस्तुहरूमा कार्डहरू स्न्याप गर्नुहोस्।", "option-zoom-breakpoint": "कार्ड सामग्री लुकाउनको लागि जुम थ्रेसहोल्ड", "option-zoom-breakpoint-desc": "तल्लो मानहरूले कार्यसम्पादन बढाउनेछ तर जुम आउट गर्दा चाँडै कार्ड सामग्री लुकाउनुहोस्।", "option-export-png-show-logo": "लोगो देखाउनुहोस्", "option-export-png-show-logo-desc": "यसले तल बायाँतिर ओब्सिडियन लोगो थप्नेछ।", "option-export-png-privacy-mode": "गोपनीयता मोड", "option-export-png-privacy-mode-desc": "यसले तपाइँको क्यानभासमा कुनै पनि पाठलाई अस्पष्ट पार्नेछ।", "option-export-png-zoom": "जुम", "option-export-png-zoom-desc": "उच्च जुमले उच्च रिजोल्युसन छवि उत्पन्न गर्छ।", "option-export-png-frame": "दृश्यपोर्ट", "option-export-png-frame-desc": "पूरा क्यानभास वा हालको देखिने भ्युपोर्ट रेन्डर गर्न छनौट गर्नुहोस्।", "option-export-png-frame-full": "पूर्ण क्यानभास", "option-export-png-frame-viewport": "भ्युपोर्ट मात्र", "option-background-cover": "कभर", "option-background-ratio": "आस्पेक्ट रेसियो राख्नुहोस्", "option-background-repeat": "दोहोर्याउनुहोस्", "action-new-canvas": "नयाँ क्यानभास", "action-remove": "हटाउनुहोस्", "action-narrow-heading": "शीर्षकमा साँघुरो...", "action-narrow-block": "ब्लक गर्न साँघुरो...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "फाइल स्वैप...", "action-change-url": "URL परिवर्तन गर्नुहोस्...", "action-zoom-to-fit": "फिट गर्न जुम गर्नुहोस्", "action-zoom-to-selection": "चयन गर्न जुम", "action-reload-page": "पृष्ठ पुन: लोड गर्नुहोस्", "action-follow-connection": "जडान पछ्याउनुहोस्", "command-create-new-canvas": "नयाँ क्यानभास सिर्जना गर्नुहोस्", "command-convert-to-file": "फाइलमा रूपान्तरण गर्नुहोस्...", "instruction-narrow-heading": "हेडिङ इम्बेड गर्न", "instruction-narrow-block": "ब्लक इम्बेड गर्न", "instruction-jump-to-group": "समूहमा नेभिगेट गर्न", "prompt-to-narrow": "शीर्षकको नाम टाइप गर्नुहोस्", "label-enter-url": "URL प्रविष्ट गर्नुहोस्", "label-empty-embed": "\"{{linktext}}\" फेला पार्न सकिएन।", "prompt-add-text": "पाठ थप्नुहोस्...", "prompt-start-search": "खोजी गर्न टाइप गर्नुहोस्...", "label-canvas-help": "क्यानभास मद्दत", "label-canvas-settings": "क्यानभास सेटिङ", "label-no-narrow": "पूरै फाइल देखाउनुहोस्", "label-show-default-view": "Show default view", "label-readonly": "पढ्ने मात्र", "label-disable-readonly": "पढ्न-मात्र अक्षम गर्नुहोस्", "label-pan": "प्यान", "label-pan-horizontal": "तेर्सो रूपमा प्यान", "label-zoom": "जुम", "label-select-all": "सबैलाई छान्नुहोस्", "label-add-remove-selection": "चयनबाट थप्नुहोस्/हटाउनुहोस्", "label-clone-card": "क्लोन कार्ड", "label-constrain-movement-axis": "कार्डको चाललाई अक्षमा सीमित गर्नुहोस्", "label-disable-drag-snapping": "तान्दा स्न्यापिङ असक्षम पार्नुहोस्", "label-remove-card": "कार्ड हटाउनुहोस्", "label-drag-from-below": "तलबाट तान्नुहोस् वा डबल क्लिक गर्नुहोस्", "label-longpress": "थप्न/सार्न/चयन गर्न छुनुहोस् र होल्ड गर्नुहोस्", "label-drag-pan": "प्यानमा तान्नुहोस्", "label-pinch-zoom": "जुम गर्न पिन्च", "label-space-drag-pan": "स्पेस + प्यान गर्न तान्नुहोस्", "label-scroll-to-zoom": "जुम गर्न स्क्रोल गर्नुहोस्", "label-untitled-group": "शीर्षकविहीन समूह", "label-line-direction": "रेखा दिशा", "label-nondirectional": "अदिशाविहीन", "label-unidirectional": "एक दिशाहीन", "label-bidirectional": "द्वि दिशात्मक", "label-image": "छवि", "label-style": "शैली", "msg-no-groups-found": "कुनै समूह फेला परेन", "msg-export-failed-empty-canvas": "खाली क्यानभास निर्यात गर्न सकिँदैन", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "सबै हाइलाइट गर्नुहोस्", "action-match-diacritics": "डायक्रिटिक्स मिलान", "action-whole-words": "सम्पूर्ण शब्द", "action-show-thumbnails": "थम्बनेल", "action-show-outline": "सामग्रीको तालिका", "action-reveal-in-outline": "सामग्रीको तालिकामा पृष्ठ प्रकट गर्नुहोस्", "action-toggle-sidebar": "साइडबार टगल गर्नुहोस्", "action-previous-page": "अघिल्लो पृष्ठ", "action-next-page": "अर्को पृष्ठ", "action-fit-width": "चौडाइ फिट", "action-fit-height": "उचाइ फिट", "action-save-p-d-f-location": "कागजातमा हालको स्थिति बचत गर्नुहोस्", "action-copy-annotation": "एनोटेसन प्रतिलिपि गर्नुहोस्", "action-copy-quote": "उद्धरणको रूपमा प्रतिलिपि गर्नुहोस्", "action-copy-selection-link": "लिङ्क चयनमा प्रतिलिपि गर्नुहोस्", "action-copy-annot-link": "एनोटेसनमा लिङ्क प्रतिलिपि गर्नुहोस्", "action-copy-section-link": "खण्डमा लिङ्क प्रतिलिपि गर्नुहोस्", "action-copy-section-link-title": "लिङ्कलाई “{{title}}” मा प्रतिलिपि गर्नुहोस्", "action-copy-page-link": "लिङ्कलाई पृष्ठ {{page}} मा प्रतिलिपि गर्नुहोस्", "msg-max-search-results": "{{वर्तमान}} {{limit}} भन्दा बढी मिल्दोजुल्दो", "msg-search-count": "{{total}} को {{current}} मिलान", "msg-search-count_plural": "{{total}} को {{current}} मेल", "msg-password-protected": "यो PDF पासवर्ड सुरक्षित छ", "msg-invalid-password": "अवैध पासवर्ड", "msg-enter-password": "तलको पासवर्ड प्रविष्ट गर्नुहोस्", "label-of-pages": "{{count}} को", "label-page-of-pages": "({{current}} of {{count}})", "label-spread-single": "एकल पृष्ठ", "label-spread-odd": "दुई पृष्ठ (अनोख)", "label-spread-even": "दुई पृष्ठ (भी)", "tooltip-sidebar-options": "साइडबार विकल्प", "tooltip-display-options": "प्रदर्शन विकल्प", "label-adapt-to-theme": "विषयवस्तुमा अनुकूलन", "label-page": "पृष्ठ {{page}}", "page_landmark": "पृष्ठ {{page}}", "thumb_page_title": "पृष्ठ {{page}}", "thumb_page_canvas": "पृष्ठ {{page}}", "text_annotation_type": "[{{type}} एनोटेशन]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "सूची", "option-unknown": "अपरिचित", "option-text": "टेक्स्ट", "option-aliases": "उपनाम", "option-tags": "ट्यागहरू", "option-folder": "Folder", "option-file": "File", "option-date": "मिति", "option-datetime": "मिति र समय", "option-number": "संख्या", "option-checkbox": "चेकबक्स" }, "value-suggestion": { "key-link-note": "टाइप गर्नुहोस् [[", "instruction-link-note": "टिप्पणी लिंक गर्न", "instruction-dismiss": "to dismiss" }, "option-property-type": "गुण प्रकार", "msg-empty-property-name": "गुणको नाम खाली हुन सक्दैन।", "msg-duplicate-property-name": "गुण पहिले नै अवस्थित छ", "msg-invalid-tag": "अवैध ट्याग नाम", "msg-invalid-number": "अवैध संख्या", "msg-invalid-properties": "गुणहरू पढ्न असफल।", "label-no-value": "कुनै मान छैन", "label-heading": "गुणहरू", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "वाक्यविन्यास त्रुटि। तपाईंको फ्रन्टमेटर अमान्य छ।", "label-add-property-button": "गुण थप्नुहोस्", "label-type-mismatch-warning": "प्रकार बेमेल, अपेक्षित {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "स्तम्भ", "label-row": "पङ्क्ति", "action-row-after": "पछि पङ्क्ति थप्नुहोस्", "action-column-after": "पछी स्तम्भ थप्नुहोस्", "action-row-before": "पङ्क्ति पहिले थप्नुहोस्", "action-row-up": "पङ्क्ति माथि सार्नुहोस्", "action-row-down": "पङ्क्ति तल सार्नुहोस्", "action-column-before": "पहिले स्तम्भ थप्नुहोस्", "action-column-left": "स्तम्भ बायाँ सार्नुहोस्", "action-column-right": "स्तम्भ दायाँ सार्नुहोस्", "action-duplicate-row": "नक्कल पङ्क्ति", "action-duplicate-column": "नक्कल स्तम्भ", "action-delete-row": "पङ्क्ति मेटाउनुहोस्", "action-delete-column": "स्तम्भ मेटाउनुहोस्", "action-align-left": "बायाँ पङ्क्तिबद्ध गर्नुहोस्", "action-align-center": "केन्द्रमा पङ्क्तिबद्ध गर्नुहोस्", "action-align-right": "दायाँ पङ्क्तिबद्ध गर्नुहोस्", "action-delete-selection": "कोषहरू मेट्नुहोस्", "action-clear-selection": "कोषहरू खाली गर्नुहोस्", "action-sort-a-z": "स्तम्भ अनुसार क्रमबद्ध गर्नुहोस् (A देखि Z)", "action-sort-z-a": "स्तम्भ अनुसार क्रमबद्ध गर्नुहोस् (Z देखि A)", "label-command": "तालिका: {{command}}" }, "callout": { "option-type": "कलआउट प्रकार", "type": { "info": "जानकारी", "important": "महत्वपूर्ण", "tip": "सुझाव", "success": "सफल", "question": "प्रश्न", "warning": "चेतावनी", "quote": "उद्धरण", "example": "उदाहरण", "none": "None" }, "option-other": "अन्य...", "option-other-placeholder": "कलआउट प्रकार..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} शब्द", "word-with-count_plural": "{{count}} शब्दहरू", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} वर्ण", "character-with-count_plural": "{{count}} वर्णहरू", "link-with-count": "{{count}} लिङ्क", "link-with-count_plural": "{{count}} लिङ्कहरू", "file-with-count": "{{count}} फाइल", "file-with-count_plural": "{{count}} फाइलहरू", "folder-with-count": "{{count}} फोल्डर", "folder-with-count_plural": "{{count}} फोल्डरहरू", "backlink-with-count": "{{count}} ब्याकलिङ्क", "backlink-with-count_plural": "{{count}} ब्याकलिङ्कहरू", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} गुण", "properties-with-count_plural": "{{count}} गुण", "site-with-count": "{{count}} साइट", "site-with-count_plural": "{{count}} साइटहरू", "plugin-with-count": "{{count}} प्लगइन", "plugin-with-count_plural": "{{count}} प्लगइनहरू", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} विषयवस्तु", "theme-with-count_plural": "{{count}} विषयवस्तुहरू" } }{ "setting": { "options": "Opties", "plugin": "Plug-in", "builtin-plugins": "Ingebouwde plug-ins", "plugin-options": "Plug-inopties", "folder-path-example-placeholder": "Voorbeeld: map 1/map 2", "file-path-example-placeholder": "Voorbeeld: map/notitie", "msg-restart-required": "Deze optie aanpassen vereist een herstart om effect te hebben..", "editor": { "name": "Editor", "section-behavior": "Gedrag", "section-display": "Scherm", "option-spellcheck": "Spellingscontrole", "option-spellcheck-description": "Activeert spellingscontrole. Dit werkt momenteel alleen voor Amerikaans Engels.", "spellcheck-languages": "Spellingscontroletalen", "spellcheck-languages-description": "Kies de talen die de spellingscontrole controleert.", "spellcheck-languages-mac-description": "De standaard spellingscontrole detecteert automatisch de taal die gebruikt wordt op macOS.", "spellcheck-dict": "Woordenboek spellingscontrole", "spellcheck-dict-empty": "Het woordenboek voor spellingscontrole is momenteel leeg.", "option-show-inline-title": "Toon titelregel", "option-show-inline-title-description": "Toont de bestandsnaam als een bewerkbare regel in het document.", "option-readable-line-length": "Leesbare regellengte", "option-readable-line-description": "Beperk maximale regellengte. Hierdoor past er minder op het scherm, maar het maakt langere alinea's leesbaarder.", "option-strict-line-break": "Strikt regeleinde", "option-strict-line-break-description": "Negeer in voorbeeldmodus enkele regeleindes als volgens de Markdownspecificaties. Zet dit af om enkele regeleindes te tonen in het voorbeeld.", "option-properties-in-document": "Eigenschappen in het document", "option-properties-in-document-description": "Kies hoe eigenschappen weergegeven worden in de editor. Selecteer \"bron\" om de eigenschappen als YAML weer te geven.", "option-properties-hidden": "Verborgen", "option-properties-visible": "Zichtbaar", "option-properties-source": "Bron", "option-auto-pair-brackets": "Automatisch haakjes toevoegen", "option-auto-pair-brackets-description": "Haakjes en aanhalingstekens automatisch toevoegen.", "option-auto-pair-markdown": "Automatisch Markdownsyntaxis toevoegen", "option-auto-pair-markdown-description": "Automatisch symbolen voor vet- en cursief drukken toevoegen.", "option-smart-indent-lists": "Slim lijsten inspringen", "option-smart-indent-lists-description": "Automatisch inspringen en opmaken van lijsten.", "option-fold-heading": "Koppen opvouwen", "option-fold-heading-description": "Alles onder een kop kan opgevouwen worden.", "option-fold-indent": "Opvouwen van inspringing", "option-fold-indent-description": "Laat je een deel van hetzelfde ingesprongen stuk opvouwen, zoals een lijst.", "option-default-new-tab-view": "Standaardweergave voor nieuwe tabbladen", "option-default-new-tab-view-description": "De standaard weergave waarin een nieuw tabblad geopend wordt.", "option-default-new-tab-view-editing": "Bewerkingsweergave", "option-default-new-tab-view-reading": "Leesweergave", "option-open-tab-in-foreground": "Altijd de focus leggen op nieuwe tabbladen", "option-open-tab-in-foreground-description": "Wanneer je een link in een nieuw tabblad opent, schakel er dan onmiddellijk naar over.", "option-default-editing-mode": "Standaard bewerkingsmodus", "option-default-editing-mode-description": "De standaard bewerkingsmodus waarin een nieuw venster begint.", "option-default-editing-mode-source": "Bronmodus", "option-default-editing-mode-live-preview": "Live-voorbeeld", "option-show-line-number": "Toon regelnummer", "option-show-line-number-description": "Toon regelnummer in de kantlijn.", "option-indentation-guide": "Toon inspringingshulplijnen", "option-indentation-guide-description": "Toon verticale verbindingslijnen tussen opsommingstekens voor visuele ondersteuning.", "option-use-tabs": "Gebruik inspringen", "option-use-tabs-description": "Gebruik inspringen om in te springen wanneer de\"Tab\"-toets gebruikt wordt. Schakel dit uit om spaties te gebruiken.", "option-tab-size": "Tab-breedte", "option-tab-size-description": "Het aantal spaties dat een tab breed is.", "option-rtl": "Rechts-naar-links", "option-rtl-description": "Stelt de tekstrichting van de te tonen notities in van rechts naar links.", "option-auto-convert-html": "Automatisch HTML omzetten", "option-auto-convert-html-description": "Zet automatisch HTML om naar Markdown wanneer de inhoud van een website via drag-and-drop wordt ingevoegd. Gebruik Ctrl/Cmd+Shift+V om te plakken zonder het om te zetten.", "option-vim-key-bindings": "Vim-sneltoetsen", "option-vim-key-bindings-description": "Hiermee gebruikt u Vim-sneltoetsen bij het bewerken van het bronbestand..", "option-vim-key-bindings-mobile": "On mobile devices, this setting is per-device and is not synchronized through the config file.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Bevestig vim-modus invoeren", "label-vim-warning": "Vim-modus is efficiënt voor tekstbewerking maar kan verwarrend zijn. Als je niet bekend bent met Vim, kan deze optie ervoor zorgen dat het lijkt alsof Obsidian niet meer werkt", "label-vim-test": "Om te bevestigen dat je weet hoe Vim werkt, voer hieronder de opdracht in om Vim te sluiten zonder op te slaan:", "label-vim-your-answer": "Jouw antwoord", "placeholder-enter-command": "Voer opdracht in...", "button-confirm-enable-vim": "Laat me Vim aanzetten", "msg-vim-mode-enabled": "Opdracht is correct. Vim-modus is nu aan.", "msg-vim-mode-not-enabled": "Opdracht is incorrect. Vim-modus blijft uit om jou te beschermen.", "msg-vim-mode-please-enter-command": "Voer de opdracht in om Vim-modus aan te zetten" }, "file": { "name": "Bestanden & Links", "option-confirm-file-deletion": "Bestand verwijderen bevestigen", "option-confirm-file-deletion-description": "Wilt u gevraagd worden of het bestand moet worden verwijderd?", "option-delete-destination": "Verwijderde bestanden", "option-delete-destination-description": "Wat te doen met bestanden nadat ze zijn verwijderd.", "option-choice-system-trash": "Verplaatsen naar de systeemprullenbak", "option-choice-vault-trash": "Verplaatsen naar de Obsidian-prullenbak (.trash map)", "option-choice-permanent-delete": "Permanent verwijderen", "option-always-update-links": "Altijd interne links bijwerken", "option-always-update-links-description": "Of links automatisch moeten worden bijgewerkt na het hernoemen van een bestand of prompt.", "option-new-note-location": "Standaardlocatie voor nieuwe notitie", "option-new-note-location-description": "Locatie waar nieuwe notities moeten bewaard. Plugin-instellingen zullen dit overschrijven.", "option-choice-vault-root": "Kluis root", "option-choice-current-folder": "Dezelfde map waarin het bestand zich bevindt", "option-choice-specified-folder": "In de onderstaande map", "option-new-file-folder-path": "Map om nieuwe notities in te maken", "option-new-file-folder-path-description": "Nieuwe notities verschijnen in deze map. Plugin-instellingen zullen dit overschrijven.", "option-use-wiki-links": "Gebruik [[Wikilinks]]", "option-use-wiki-links-description": "Automatisch genereren van Wikilinks voor [[links]] en ![[images]] in plaats van Markdown links en afbeeldingen. Schakel deze optie uit om daarvoor in de plaats Markdown links te genereren.", "option-show-unsupported-files": "Toon alle bestandsextenties", "option-show-unsupported-files-description": "Toon bestanden met alle extensies zelfs als Obsidian ze niet standaard ondersteund, zodat je er een link naar kunt maken en kunt openen in Verkenner en Snel wisselen", "option-link-autocompleted-format": "Notatie van een nieuwe link", "option-link-autocompleted-format-description": "Welke links moeten worden ingevoegd bij het automatisch genereren van interne links.", "option-choice-shortest-linktext": "Kortste pad indien mogelijk", "option-choice-relative-path": "Relatief pad naar bestand", "option-choice-absolute-path": "Absoluut pad in kluis", "option-new-attachment-location": "Standaard locatie voor nieuwe bijlagen", "option-new-attachment-location-description": "Waar nieuwe bijlagen geplaatst worden.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "In een submap in de huidige map", "option-attachment-folder-path": "Mappad voor bijlagen", "option-attachment-folder-path-description": "Nieuwe bijlages verschijnen hier. Deze omvatten oa afbeeldingen die zijn gemaakt via slepen en plaatsen of plakken, en audio-opnamen.", "option-attachment-subfolder-path": "Naam van submap", "option-attachment-subfolder-path-description": "Als je bestand in \"vault/folder\" staat, en je submapnaam is \"attachments\", dan worden bijlagen opgeslagen in \"vault/folder/attachments\".", "option-excluded-files": "Uitgesloten bestanden", "option-excluded-files-desc": "Uitgesloten bestanden worden verborgen of zijn minder opvallend op verschillende plekken, zoals in snel wisselen, linksuggesties en grafiekweergave.", "label-no-excluded-filters-applied": "Op het moment wordt er geen uitsluitingsfilter toegepast. Voeg er beneden één toe.", "label-excluded-filters-applied": "Bestanden die onder de volgende mappen vallen worden uitgesloten:", "label-excluded-filter": "Filter", "message-empty-filter": "Filter mag niet leeg zijn", "placeholder-excluded-filter": "Voer pad of \"/regex/\" in ...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Uiterlijk", "option-base-theme": "Basisthema", "option-base-theme-description": "Kies het standaard kleurenschema voor Obsidian.", "option-accent-color": "Accentkleur", "option-accent-color-description": "Kies de accentkleur die de app gebruikt.", "dark-theme": "Donker", "light-theme": "Licht", "system-theme": "Aan systeem aanpassen", "option-font": "Lettertype", "option-advanced": "Geavanceerd", "option-interface": "Interface", "option-interface-font": "Interface-lettertype", "option-interface-font-description": "Stel het standaard lettertype in voor Obsidian.", "option-zoom-level": "Zoomniveau", "option-zoom-level-description": "Bepaalt het zoomniveau van de app.", "option-text-font": "Lettertype voor tekst", "option-text-font-description": "Stel het lettertype in voor de bewerkings–/ en leesweergave.", "option-monospace-font": "Monospacelettertype", "option-monospace-font-description": "Stel het lettertype in voor codesecties en voorwerk.", "label-single-font-currently-in-effect": " Huidig gebruikt lettertype: ", "label-multiple-fonts-currently-in-effect": " De volgende lettertypes worden gebruikt:", "option-font-placeholder": "Voer lettertypenaam in...", "label-no-custom-font-set": "Geen eigen lettertype in gebruik. Voeg hier beneden één toe.", "label-font-applied": "Het eerste lettertype van deze lijst dat beschikbaar is op je systeem wordt gebruikt.", "msg-font-not-found": "Dit lettertype is niet gevonden op je systeem.", "msg-font-found": "Dit lettertype is gevonden op je systeem.", "label-font-name": "Lettertypenaam", "option-community-themes": "Openen communitythema's", "option-community-themes-description": "Bekijk en gebruik geweldige thema's die door de community zijn gemaakt.", "button-browse-community-themes": "Bladeren", "option-font-size": "Lettertypegrootte", "option-font-size-description": "Lettertypegrootte in pixels voor de bewerk- en voorbeeldmodus.", "option-font-size-action": "Snelle lettertypegrootte aanpassing", "option-font-size-action-description": "Pas de lettertypegrootte aan met Ctrl + Scroll, or door de trackpad zoombeweging", "option-themes": "Thema's", "option-manage-themes-description": "Beheer geïnstalleerde thema's en doorzoek cummunitythema's.", "option-theme-button-manage": "Beheer", "option-choice-none": "Geen", "option-native-menus": "Systeemmenu's", "option-native-menus-desc": "Appmenu's worden aangepast aan het besturingssysteem. Ze worden niet aangepast door het thema dat je selecteert.", "button-reload-themes": "Laad thema's opnieuw", "msg-reloaded-themes": "Aangepaste CSS-thema's opnieuw geladen.", "button-open-themes-folder": "Open de themamap", "option-css-snippets": "CSS-fragmenten", "label-no-css-snippets-found": "Geen CSS-fragmenten gevonden in de fragmentenmap.", "no-snippet-description": "CSS-fragmenten worden opgeslagen in \"{{path}}\".", "button-reload-snippets": "Herlaad fragmenten", "button-open-snippets-folder": "Open de map met fragmenten", "msg-reloaded-snippets": "Herladen CSS-fragmenten.", "option-toggle-snippet-description": "Pas het CSS-fragment toe op \"{{path}}\".", "label-installed-themes": "Geïnstalleerde thema's", "label-screenshot-unavailable": "Schermopname niet beschikbaar", "label-default-theme": "Standaard", "tooltip-click-to-enlarge": "Klik om te vergroten", "button-update": "Bijwerken", "label-currently-active": "Active", "option-frame-style": "Titelbalk stijl", "option-frame-description": "Bepaalt de vormgeving van de titelbalk van Obsidian Vensters. Vereist een volledige herstart om van kracht te worden.", "option-frame-hidden": "Verborgen (standaard)", "option-frame-obsidian": "Obsidian titelbalk", "option-frame-native": "Oorspronkelijk frame", "option-custom-icon": "Eigen appicoon", "option-custom-icon-desc": "Stel een eigen appicoon in", "button-choose-custom-icon": "Kies een eigen icoon", "option-configure-ribbon": "Lintmenu", "option-configure-ribbon-desc": "Configureer welke opdrachten verschijnen in het lintmenu in die navigatiebalk.", "option-mobile-quick-ribbon-item": "Lintitem voor snelle toegang", "option-mobile-quick-ribbon-item-desc": "Door op het lintitem in het navigatiemenu te tikken, wordt dit lintitem geactiveerd. Tikken en vasthouden geeft nog steeds het menu weer.", "option-mobile-quick-ribbon-default": "Open lintmenu", "button-configure": "Configureer", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "Andere lintitems", "label-modal-configuration": "Lint configuratie", "label-modal-configuration-desc": "Kies welke items u actief wilt hebben in het lint. Slepen en neerzetten om de volgorde te wijzigen.", "option-show-view-header": "Toon titelbalk van tabblad", "option-show-view-header-desc": "Toon de kop bovenaan elk tabblad.", "msg-updates-found": "{{count}} thema gevonden om te updaten.", "msg-updates-found_plural": "{{count}} thema's gevonden om te updaten.", "button-check-for-updates": "Controleer op updates", "button-view-updates": "Toon updates", "button-update-all-themes": "Update alles", "label-current-themes": "Huidige community thema's", "label-currently-installed": "U hebt momenteel {{count}} thema geinstalleerd.", "label-currently-installed_plural": "U hebt momenteel {{count}} thema's geinstalleerd." }, "hotkeys": { "name": "Sneltoetsen", "option-search": "Zoek sneltoetsen", "option-search-desc": "Toon {{count}} sneltoets. ", "option-search-desc_plural": "Toon {{count}} sneltoetsen. ", "option-search-conflict": "{{count}} opdracht met conflicten.", "option-search-conflict_plural": "{{count}} opdracht met conflicten.", "prompt-filter": "Filter...", "tooltip-delete-hotkey": "Sneltoets wissen", "label-waiting-for-hotkey-press": "Druk sneltoets in...", "label-show-all": "Allemaal", "label-show-unassigned": "Niet toegewezen", "label-show-assigned": "Toegewezen", "label-show-user-assigned": "Door mij toegewezen", "tooltip-restore-default": "Herstel standaard", "tooltip-customize-command": "Pas deze opdracht aan", "tooltip-hotkey-single-conflict": "Deze sneltoets conflicteert met \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Deze sneltoets conflicteert met {{count}} andere opdrachten.", "label-blank-hotkey": "Blanco" }, "about": { "name": "Over", "label-commercial-license": "Commerciële licentie", "label-license-key": "Licentiesleutel", "license-key-placeholder": "Uw licentiesleutel...", "label-activate-license": "Activeer licentie", "button-activate": "Activeer", "label-unknown-version": "Onbekend", "label-current-version": "Huidige versie: ", "label-install-version": "(Installatie-versie: {{version}})", "label-up-to-date": "Je applicatie is bijgewerkt!", "label-read-changelog": "Lees het wijzigingslogboek.", "label-manual-update-required": "Om de nieuwste functies te ondersteunen en de nieuwste beveiligingspatches te ontvangen, heeft Obsidian een grote update van het installatieprogramma nodig. U moet Obsidian handmatig downloaden en opnieuw installeren.", "label-new-version-ready": "Een nieuwe versie is klaar om te worden geïnstalleerd. ", "label-disabled-updates": "Updates zijn uitgeschakeld.", "button-relaunch": "Herstart", "button-check-for-updates": "Controleer op updates", "option-auto-update": "Automatisch bijwerken", "option-auto-update-description": "Schakel dit uit om te voorkomen dat de applicatie automatisch bijwerkt.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Hulp krijgen", "option-get-help-description": "Krijg hulp bij het gebruik van Obsidian.", "button-open": "Open", "option-language": "Taal", "option-language-description": "Wijzig de weergavetaal.", "option-insider-build": "Ontvang insider-builds", "option-insider-build-description": "Automatisch bijwerken naar insider-builds om nieuwe functies uit te proberen. Merk op dat deze builds geavanceerd en mogelijk minder stabiel zijn.", "option-advanced": "Geavanceerd", "option-hw-acceleration": "Hardwareversnelling", "option-hw-acceleration-description": "Schakelt harwardversnelling in, dit gebruikt je grafische kaart om Obsidian een gladder uiterlijk te geven.", "option-hw-acceleration-warning": "Als je dit uitschakelt, neemt de prestatie van de app significant af.", "option-config-location": "Configuratiemap overschrijven", "option-config-location-description": "Gebruik een andere configuratiemap dan de standaard. Moet met een punt beginnen.", "option-config-location-warning": "Configuratielocatie moet een geldige mapnaam zijn die met een punt begint,", "label-license": "Licentie", "label-your-commercial-license-key": "Uw commerciële licentiesleutel is \"{{key}}\".", "label-commercial-license-info": "Geregistreerd door \"{{company}}\" voor {{seats}} gebruikers. Geldig tot {{expiry}}.", "label-validating-commercial-license": "Valideren...", "label-invalid-commercial-license": "Licentie ongeldig: ", "button-remove-commercial-license": "Verwijderen", "option-catalyst": "Catalystlicentie", "option-catalyst-desc": "U heeft momenteel de {{tier}} Catalystlicensie. Bedankt voor uw steun!", "option-catalyst-desc-no-license": "U heeft op dit moment geen Catalystlicentie. Een Catalystlicentie is een eenmalige donatie om de ontwikkeling van Obsidian te ondersteunen.", "label-app": "App", "label-add-own-language": "Zie hier hoe je je eigen taal aan Obsidian kunt toevoegen." }, "account": { "name": "Account", "option-your-account": "Uw account", "option-your-account-desc": "U bent momenteel ingelogd {{name}} ({{email}}).", "option-your-account-desc-no-login": "U bent momenteel niet ingelogd. Een account is alleen nodig voor Obsidian Sync, Obsidian Publish en Catalyst insider-builds.", "label-insider": "insider", "label-supporter": "supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Upgrade", "option-commercial-license": "Commerciële licentie", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Aankoop", "button-log-out": "Uitloggen", "label-log-in": "Inloggen", "label-sign-up": "Aanmelden", "label-email": "E-mailadres", "placeholder-email": "Uw e-mailadres...", "label-name": "Full name", "label-password": "Wachtwoord", "placeholder-password": "Uw wachtwoord...", "label-forgot-password": "Forgot password?", "button-login": "Inloggen", "message-empty-email": "E-mailadresveld mag niet leeg zijn.", "message-invalid-email": "E-mailadresveld is niet geldig.", "message-empty-password": "Wachtwoordveld mag niet leeg zijn.", "message-login-failed": "Inloggen mislukt, controleer uw e-mail en wachtwoord nogmaals.", "message-signup-failed": "Failed to sign up", "label-no-account": "Heeft u geen account? ", "link-sign-up-now": "Schrijf je nu in", "label-mfa-code": "zescijferige tweestapsverificatiecode", "mfa-wrong-format": "De tweestapsverificatiecode bestaat uit zes cijfers.", "mfa-verification-failed": "Tweestapsverificatiecode is onjuist, controleer je verificatie-app." }, "core-plugin": { "plugin-list": "Plug-in lijst", "option-search-plugin": "Doorzoek kern plug-ins", "option-search-plugin-description": "Filter plug-ins op naam of beschrijving.", "placeholder-search-plugin": "Doorzoek plug-ins..." }, "third-party-plugin": { "name": "Externe plug-in", "option-restricted-mode": "Beperkte modus", "option-restricted-mode-description": "Beperkte Modus staat uit. Zet deze aan om het gebruik van communityplug-ins uit te schakelen.", "button-turn-on": "Aanzetten", "option-browse-community-plugins": "Communityplug-ins", "option-browse-community-plugins-description": "Blader door en installeer plug-ins van derden die zijn gemaakt door onze geweldige community.", "button-browse": "Doorbladeren", "label-exit-restricted-mode": "Verlaat beperkte modus", "label-exit-restricted-mode-description-1": "Communityplug-ins, zoals elke andere software die u installeert, kan mogelijk gegevensintegriteit en beveiligingsproblemen veroorzaken.", "label-exit-restricted-mode-description-2": "Beveiliging van plug-ins is belangrijk voor ons. Dit is wat we doen:", "label-exit-restricted-mode-description-3": "Ondanks onze inspanningen is er nog steeds een kleine kans dat een communityplug-in zich misdraagt.", "label-code-review": "Eerste codebeoordeling", "label-code-review-desc": "Plugins ondergaan een eerste codebeoordeling door ons team voordat ze in de winkel verschijnen..", "label-open-source": "Open source", "label-open-source-desc": "De meeste plug-ins zijn open source op GitHub, dus kunt u de code zelf op GitHub inspecteren.", "label-peer-audit": "Peer-audit", "label-peer-audit-desc": "We hebben een grote gemeenschap van ontwikkelaars die op elkaar letten.", "label-report-mechanism": "Meldingsmechanisme", "label-report-mechanism-desc": "We volgen en verwijderen defecte plug-ins na gebruikersmelding.", "label-exit-restricted-mode-disable-confirmation": "Wilt u de beperkte modus afsluiten om communityplug-ins in te schakelen? We raden ten zeerste aan om back-ups van uw gegevens te maken voordat u dit doet.", "label-learn-more": "Meer informatie over plug-inbeveiliging", "button-turn-on-community-plugins": "Schakel communityplug-ins in", "label-trust-author": "Vertrouw je de auteur van deze kluis?", "label-trust-author-description-1": "Je opent deze kluis voor de eerste keer en er worden enkele plug-ins meegeleverd.", "label-trust-author-description-2": "Als u deze kluis van iemand anders heeft verkregen, houd er dan rekening mee dat plug-ins van onbekende oorsprong beveiligingsrisico's kunnen vormen.", "label-trust-author-description-3": "Als u de auteur van deze kluis niet volledig vertrouwt, raden we u aan in de beperkte modus te blijven, zodat de plug-ins in deze kluis niet worden uitgevoerd.", "button-enable-plugins": "Auteur vertrouwen en plug-ins inschakelen", "button-dont-trust-author": "Blader door de kluis in de beperkte modus", "placeholder-community-plugins": "Vindt communityplug-ins...", "msg-failed-load-plugins": "Het laden van communityplug-ins is mislukt.", "label-installed": "Geinstalleerd", "button-install": "Installeren", "button-enable": "Activeer", "button-disable": "Deactiveer", "button-copy-share-link": "Kopieer link om te delen", "button-donate": "Doneer", "label-no-results-found": "Geen resultaten gevonden.", "label-no-recent-files-found": "Geen recente bestanden gevonden. Typ om te zoeken...", "msg-failed-to-load-manifest": "Kan het plug-inoverzicht niet laden.", "label-version": "Versie: {{version}}", "label-currently-installed-version": " (momenteel geïnstalleerd: {{version}})", "label-by-author": "Door ", "label-repository": "Opslagplaats: ", "label-last-update": "Laatste update: ", "tooltip-view-last-update": "Toon de laatst update", "label-unsupported": "Deze plug-in ondersteund jouw apparaat niet.", "button-update": "Bijwerken", "label-no-readme": "Deze plug-in heeft geen README-bestand.", "msg-installing-plugin": "Plug-in installeren \"{{name}}\"...", "msg-failed-to-install-plugin": "Kan plug-in niet installeren \"{{name}}\".", "msg-successfully-installed-plugin": "Plug-in geïnstalleerd \"{{name}}\".", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Geïnstalleerde plug-ins", "button-reload-plugins": "Laad plug-ins opnieuw", "msg-reloaded-third-party-plugins": "Opnieuw laden vam plug-ins van derden.", "label-uninstall": "Installatie verwijderen", "label-uninstall-plugin": "Verwijder de geinstalleerde plug-in", "label-uninstall-plugin-confirmation": "Weet u zeker dat u deze plug-in wilt verwijderen? Hierdoor wordt de map van de plug-in ook verwijderd.", "button-open-plugins-folder": "Open plug-inmap", "button-check-for-updates": "Controleer op updates", "button-update-all-plugins": "Alles updaten", "label-current-plugins": "Huidige plug-ins", "label-currently-installed": "Je hebt op dit moment {{count}} plug-in geïnstalleerd.", "label-currently-installed_plural": "Je hebt op dit moment {{count}} plug-ins geïnstalleerd.", "msg-no-updates-found": "Geen updates voor plug-ins gevonden.", "msg-updates-found": "{{count}} plug-in met beschikbare update gevonden.", "msg-updates-found_plural": "{{count}} plug-ins met beschikbare updates gevonden.", "msg-update-plugin": "Update naar versie {{version}}", "option-search-installed-plugin": "Doorzoek geïnstalleerde plug-ins", "option-search-installed-plugin-description": "Filter geïnstalleerde plug-ins op naam of beschrijving.", "placeholder-search-installed-plugin": "Doorzoek geïnstalleerde plug-ins...", "show-installed-only": "Toon alleen geïnstalleerde", "label-donate-modal-title": "Doneer om {{name}} te ondersteunen", "label-donate-modal-text1": "Plug-inontwikkelaars zijn vrijwilligers uit de gemeenschap die geweldige dingen maken uit passie. Als u deze plug-in nuttig vindt, overweeg dan om de ontwikkeling ervan te financieel te ondersteunen.", "label-donate-modal-text2": "100% van uw bijdrage gaat naar de ontwikkelaar van de plug-in; Obsidian krijgt er niets van. Het financieringsplatform dat de ontwikkelaar kiest, kan kosten in rekening brengen.", "label-donate-modal-text3": "Bedankt voor uw gulle steun!", "label-support-this-plugin": "Steun deze plug-in:", "label-search-summary": "{{pluginCount}} weergegeven:", "label-by-popularity": "Meest gedownload", "label-by-released": "Recent uitgebracht", "label-by-updated": "Recent bijgewerkt", "label-alphabetical": "Alfabetisch", "label-last-updated": "Om {{time}} bijgewerkt" }, "mobile-toolbar": { "name": "Mobiele werkbalk", "option-configure-quick-action": "Configureer mobiele snelle actie", "option-configure-quick-action-description": "Configureer welke opdracht uitgevoerd wordt wanneer men van boven naar beneden veegt. De huidig ingestelde opdracht is \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "Configureer", "placeholder-select-quick-action": "Selecteer snelle actie...", "quick-action-disabled": "Geen snelle acties", "manage-toolbar-options": "Beheer werkbalk opties", "option-internal-link": "Voeg interne link toe", "option-internal-embed": "Voeg ingeloten link toe.", "option-tag": "Voeg een label toe", "option-heading": "Koppen aan-/uitzetten", "option-strikethrough": "Doorstreping aan-/uitzetten", "option-highlight": "Markering aan-/uitzetten", "option-code": "Code aan-/uitzetten", "option-blockquote": "Blokcitaat aan-/uitzetten", "option-inline-math": "Wiskundeinvoer in lopende tekst aan-/uitzetten", "option-math-block": "Wiskundesectie aan-/uitzetten", "option-markdown-link": "Voeg Markdown link toe", "option-bullet-list": "Ongenummerde lijst aan-/uitzetten", "option-numbered-list": "Genummerde lijst aan-/uitzetten", "option-indent-list": "Lijst laten inspringen", "option-unindent-list": "Lijst niet laten inspringen", "option-undo": "Ongedaan maken", "option-redo": "Opnieuw uitvoeren", "option-move-caret-up": "Verplaats inlasteken naar boven", "option-move-caret-down": "Verplaats inlasteken naar beneden", "option-move-caret-left": "Verplaats inlasteken naar links", "option-move-caret-right": "Verplaats inlasteken naar rechts", "option-first-line": "Ga naar de eerste regel", "option-last-line": "Ga naar de laatste regel", "option-toggle-keyboard": "Schakel toetsenbord aan/uit", "option-configure-toolbar": "Cofigureer mobiele werkbalk", "option-added-options": "Toegevoegde opties", "option-more-toolbar-options": "Meer werkbalk opties", "option-attach": "Bijlage invoegen", "option-add-command": "Voeg algemene opdracht toe", "option-add-command-description": "Selecteer een algemene opdracht om aan de werkbalk toe te voegen." } }, "editor": { "search": { "placeholder-find": "Zoek", "placeholder-replace": "Vervang", "label-exit-search": "Sluit het zoeken af", "label-next": "Volgende", "label-previous": "Vorige", "label-find-all": "Find all", "label-replace": "Vervangen", "label-replace-all": "Vervang alles" }, "link-suggestion": { "label-type-hash": "Typ #", "label-link-heading": "linken van kop", "label-type-block": "Typ ^", "label-link-block": "linken van blok", "label-type-pipe": "Typ |", "label-change-display-text": "om de weergavetekst te wijzigen", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "geen overeenkomst gevonden", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Geen suggesties...", "add-to-dictionary": "Toevoegen aan woordenboek" }, "menu": { "edit-link": "Link aanpassen", "edit-tag": "Edit tag", "label-edit-block": "Dit blok aanpassen", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "Geen kop", "label-heading-level": "Kop {{level}}" }, "print-modal": { "title": "Exporteer naar PDF", "caption": "Exporteer \"{{filename}}\" naar PDF met de instelling hierbeneden.", "setting-page-size": "Paginagrootte", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Bestandsnaam als titel toevoegen", "setting-landscape": "Liggend", "setting-margin": "Marge", "setting-margin-default": "Standaard", "setting-margin-minimal": "Minimaal", "setting-margin-none": "Geen", "setting-downscale-percent": "Verklein percentage", "button-export-to-pdf": "Exporteer naar PDF" }, "link-popover": { "tooltip-follow-link": "Volg link", "tooltip-open-link": "Open link", "tooltip-search-tag": "Zoek label" } }, "interface": { "embed-cannot-find": "Niet gevonden:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Open in standaard app", "empty-sidebar": "De zijbalk is leeg, probeer hier een venster naartoe te slepen.", "sidebar-expand": "Uitbreiden", "sidebar-collapse": "Inklappen", "msg-fail-to-save-file": "Bestand opslaan mislukt \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "Geen bestand", "msg-file-changed": "\"{{file}}\" is ergens anders gewijzigd, automatisch veranderingen samenvoegen.", "switch-vault": "Open een andere kluis", "manage-vaults": "Manage vaults...", "help": "Hulp", "settings": "Instellingen", "drag-to-rearrange": "Sleep om te herschikken", "msg-switched-to-read": "Standaard weergavemodus ingesteld op leesmodus.", "msg-switched-to-edit": "Standaard weergavemodus ingesteld op editor.", "msg-upgrade-installer": "Om deze functie te gebruiken, moet u deze opnieuw installeren met het nieuwste installatieprogramma dat beschikbaar is op onze website.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Standaardinstellingen terugzetten", "label-copy": "Kopieer naar klembord", "label-copy-short": "Kopiëren", "copied_generic": "Naar klembord gekopieerd", "copied": "{{item}} gekopieerd naar je klembord", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Bestand \"{{path}}\" geopend", "msg-file-not-found-through-uri": "Bestand \"{{name}}\" niet gevonden.", "delete-action-short-name": "Verwijderen", "msg-indexing": "Obsidian indexeert de kluis...\nDit gebeurt maar één keer.\nBepaalde functies zijn nog niet beschikbaar tot dat dit afgerond is.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indexering afgerond.", "msg-sandbox-vault": "Dit is een sandbox-kluis.\nWijzigingen die u in deze kluis aanbrengt, gaan verloren.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Enter om te creëren", "label-update-available": "Recentere versie beschikbaar", "label-debug-info": "Info voor het debuggen", "button-learn-more": "Meer informatie", "button-not-now": "Niet nu", "button-add": "Toevoegen", "button-manage": "Beheer", "label-new-tab": "Nieuw tabblad", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "Dit tabblad is momenteel bezet, probeer het later opnieuw", "formatting": { "label-formatting": "Vormgeven", "label-paragraph": "Alinea", "label-insert": "Invoegen", "insert-link": "Link invoegen", "insert-external-link": "Externe link toevoegen", "insert-callout": "Kader toevoegen", "insert-horizontal-rule": "Horizontale lijn", "insert-code-block": "Codesectie", "insert-math-block": "Wiskundesectie", "insert-table": "Tabel", "insert-footnote": "Footnote", "toggle-bold": "Vet", "toggle-code": "Code", "toggle-comments": "Opmerking", "toggle-highlight": "Markering", "toggle-italics": "Cursief", "toggle-strikethrough": "Doorhalen", "toggle-math": "Wiskunde", "toggle-bullet-list": "Ongenummerde lijst", "toggle-checklist": "Takenlijst", "toggle-numbered-list": "Genummerde lijst", "set-heading": "Kop {{level}}", "no-heading": "Hoofdtekst", "clear": "Vormgeving verwijderen", "toggle-quote": "Citaat" }, "empty-state": { "no-file-open": "Er is geen bestand geopend", "create-new-file": "Maak een nieuw bestand", "go-to-file": "Ga naar Bestand", "see-recent-files": "Zie recente bestanden", "close": "Sluiten", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Plug-in niet meer actief", "unknown-pane-desc": "De plug-in die dit venster ({{type}}) heeft geopend is weg." }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Huidige modus: bewerken", "read-view": "Huidige modus: lezen", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "Klik om te bewerken", "switch-to-read-view": "Klik om te lezen", "mod-click-open-new-tab": "{{key}}+klik om als nieuw tabblad te openen", "find": "Vinden...", "replace": "Vervangen...", "edit": "Bewerken", "remove": "Verwijderen", "rename": "Hernoemen", "preview": "Voorbeschouwen", "more-options": "Meer opties", "close": "Sluiten", "close-all": "Alles sluiten", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Sluit alle anderen", "close-after": "Close tabs after", "pin": "Vastzetten", "unpin": "Losmaken", "unlink-tab": "Tabblad loskoppelen", "link-tab": "Linken met tabblad...", "toggle-source-mode": "Bronweergave", "toggle-reading-view": "Leesweergave", "add-property": "Voeg bestandseigenschap toe", "delete-file": "Wissen bestand", "create-file": "Maak dit bestand aan", "open-link": "Link openen", "open-in-new-tab": "Open in nieuw tabblad", "open-to-the-right": "Open aan de rechterkant", "copy-url": "Kopieer URL", "copy": "Kopiëren", "cut": "Knippen", "paste": "Plakken", "paste-as-plain-text": "Plak als platte tekst", "lookup-selection": "“{{selection}}” opzoeken", "select-all": "Selecteer alles", "rename-heading": "Kop hernoemen...", "rename-blockid": "Hernoem dit blok ID...", "open-in-new-window": "Open in nieuw venster", "move-to-new-window": "Verplaats naar nieuw venster", "open-in-browser": "In browser openen", "stack-tabs": "Stapel tabbladen", "unstack-tabs": "Losmaken stapel tabbladen", "open-linked-view": "Gelinkte weergave openen" }, "tooltip": { "click-to-expand": "Klik om uit te breiden", "click-to-collapse": "Klik om in te klappen", "alias": "Alias", "not-created-yet": "Nog niet aangemaakt, selecteer om te aan te maken" }, "start-screen": { "label-version": "Versie", "label-create-local-vault": "Maak een lokale kluis aan", "option-open-folder-as-vault": "Open map als kluis", "option-open-folder-as-vault-description": "Kies een bestaande map met Markdown-bestanden.", "option-create-vault": "Maak een nieuwe kluis aan", "option-create-vault-description": "Maak een nieuwe Obsidian-kluis aan in een map.", "option-connect-obsidian-sync": "Verbinden met Obsidian Sync", "option-connect-obsidian-sync-description": "Stel een gesynchroniseerde kluis in met een bestaande externe kluis.", "option-new-vault-name": "Kluisnaam", "option-new-vault-name-description": "Kies een naam voor je geweldige kluis.", "option-new-vault-location": "Locatie", "option-new-vault-location-description": "Selecteer een plek voor je nieuwe kluis.", "label-new-vault-location-preview": "Je nieuwe kluis zal geplaatst worden in: ", "option-reveal-vault-in-explorer": "Toon kluis in systeemverkenner", "option-reveal-vault-in-explorer-mac": "Toon kluis in Finder", "option-rename-vault": "Hernoem kluis...", "option-copy-vault-i-d": "Kluis-id kopiëren", "msg-error-rename-exists": "Er bestaat al een kluis met deze naam.", "msg-error-nested": "Kan een kluis niet verplaatsen naar een subfolder van zichzelf.", "msg-error-rename-open": "Kan een kluis die nu geopend is niet hernoemen.", "msg-rename-failed": "Hernoemen van kluis mislukt.", "msg-rename-success": "Kluis succesvol hernoemd.", "option-move-vault": "Kluis verplaatsen...", "msg-move-select-dest": "Selecteer bestemmingsfolder", "msg-error-move-exists": "Er bestaat al een kluis op de bestemming.", "msg-error-move-open": "Kan een kluis die nu geopend is niet verplaatsen.", "msg-move-failed": "Verplaatsen van kluis mislukt.", "msg-move-success": "Kluis succesvol verplaatst.", "option-remove": "Verwijderen uit lijst", "button-quick-start": "Snelle start", "button-open": "Openen", "button-browse": "Bladeren", "button-connect": "Verbinden", "button-create-vault": "Aanmaken", "button-back": "Terug", "msg-empty-vault-name": "Naam van de kluis mag niet leeg zijn.", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "Kies alstublieft een geldige map.", "msg-failed-to-create-vault": "Kluis creëren mislukt.", "msg-failed-to-create-vault-at-location": "Kon geen kluis maken op de opgegeven locatie. Controleer de locatie en de machtigingen.", "msg-error-failed-to-open-vault": "Openen mislukt.", "msg-error-remove-current-open-vault": "Een open kluis kan niet worden verwijderd.", "option-get-help": "Hulp krijgen", "option-user-email": "E-mailadres", "placeholder-your-email": "Uw e-mailadres...", "option-user-password": "Wachtwoord", "placeholder-your-password": "Uw wachtwoord...", "button-sign-in": "Inloggen", "button-setup": "Installatie", "option-connect-vault-desc": "Maak een gesynchroniseerde kluis aan op dit apparaat.", "tooltip-own-vault": "Dit is een kluis-op-afstand waarvan u de eigenaar bent.", "tooltip-shared-vault": "Dit is een kluis-op-afstand die met u gedeeld wordt.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Welkom", "welcome-file-content": "Dit is jouw nieuwe *kluis*.\n\nMaak een notitie over iets, [[verwijs ergens naar]], of probeer [iets te importeren](https://help.obsidian.md/Plugins/Importer)!\n\nAls je klaar bent kun je deze notitie verwijderen en de kluis naar jouw smaak inrichten." }, "drag-and-drop": { "insert-link-here": "Voeg hier de link in", "insert-links-here": "Voeg hier links in", "move-into-folder": "Verplaats naar \"{{folder}}\"", "star-this-file": "Geef bestand een ster", "star-these-files": "Geef bestanden een ster", "open-in-this-tab": "Open in huidig tabblad", "open-as-tab": "Open als nieuw tabblad" }, "window": { "maximize": "Maximaliseren", "minimize": "Minimaliseren", "restore-down": "Formaat van venster herstellen", "close-window": "Venster sluiten", "go-back": "Ga terug", "go-forward": "Ga verder" }, "start-up": { "loading-obsidian": "Obsidian laden...", "obsidian-load-error": "Er is een fout opgetreden tijdens het laden van Obsidian.", "button-reload-app": "App herladen", "button-reload-app-in-safe-mode": "Herlaad app in veilige modus", "button-open-another-vault": "Een andere kluis openen", "loading-plugins": "Plug-ins laden...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Kluis laden...", "msg-failed-to-load-vault": "Kluis laden mislukt: ", "loading-cache": "Cachegeheugen laden...", "loading-workspace": "Werkblad laden..." }, "mobile": { "action-import": "Importeren naar kluis", "action-insert-text-desc": "Tekst aan bestand toevoegen:", "action-choose-file-to-insert": "Kies een bestand om in te voegen", "action-insert-text-into-file": "Tekst invoegen in {{filename}}", "action-insert-link-into-file": "Link invoegen in {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "Importeren...", "msg-import-success": "Importeren geslaagd", "msg-failed-to-import-file": "Importeren van bestand {{filename}} is mislukt", "msg-back-again-to-exit": "Opnieuw indrukken om af te sluiten.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Officiële ondersteuningswebsite", "label-official-help-site-desc": "Lees de officiële ondersteuningshandleiding van Obsidian, in verschillende talen beschikbaar.", "action-visit": "Bezoeken", "label-discord-chat": "Discord-chat", "label-discord-chat-desc": "Discord is de beste app om te chatten met andere ervaren Obsidiangebruikers van overal ter wereld.", "action-join": "Aanmelden", "label-forum": "Officieel forum", "label-forum-desc": "Help elkaar, vraag functieuitbereidingen aan, meld bugs en voer uitgebreide discussies over kennismanagement.", "label-sandbox-vault": "Sandbox-kluis", "label-sandbox-vault-desc": "Experimenteer met verschillende functies. Wijzigingen die u in deze kluis aanbrengt, gaan verloren." } }, "commands": { "save-file": "Sla huidig bestand op", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Volg link onder de aanwijzer", "open-cursor-link-in-new-tab": "Open de link onder de aanwijzer in een nieuw tabblad", "open-cursor-link-to-the-right": "Open de link onder de aanwijzer rechts", "open-cursor-link-in-new-window": "Open de link onder de aanwijzer in een nieuw scherm", "navigate-tab-above": "Focus op de bovenste tabbladgroep", "navigate-tab-below": "Focus op de onderste tabbladgroep", "navigate-tab-left": "Focus op de linker tabbladgroep", "navigate-tab-right": "Focus op de rechter tabbladgroep", "toggle-pin": "Speld aan-/uitzetten", "split-right": "Rechts opdelen", "split-down": "Beneden opdelen", "toggle-stacked-tabs": "Gestapelde tabbladen aan-/uitzetten", "navigate-back": "Navigeer terug", "navigate-forward": "Navigeer vooruit", "use-dark-mode": "Gebruik donkere modus", "use-light-mode": "Gebruik lichte modus", "change-theme": "Thema veranderen", "search-current-file": "Doorzoek huidig bestand", "search-replace-current-file": "Doorzoek & vervang in huidig bestand", "add-property": "Voeg bestandseigenschap toe", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Verwijder alle bestandseigenschappen", "open-settings": "Open instellingen", "open-help": "Open help", "toggle-edit": "Wissel bewerk- en leesmodus", "toggle-source-mode": "Wissel live-voorbeeld- en bronmodus", "delete-current-file": "Verwijder huidig bestand", "new-tab": "Nieuw tabblad", "show-trash": "Prullenbak weergeven", "close-all-tabs": "Alle tabbladen sluiten", "close-active-tab": "Huidig tabblad sluiten", "close-others-in-tab-group": "Sluit andere tabbladen in tabbladgroep", "close-other-tabs": "Alle andere tabbladen sluiten", "close-tab-group": "Deze tabbladgroep sluiten", "toggle-left-sidebar": "Linker zijbalk openen/sluiten", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "Rechter zijbalk openen/sluiten", "toggle-default-new-tab-mode": "Standaardweergave voor nieuwe tabbladen wisselen", "add-cursor-above": "Aanwijzer boven toevoegen", "add-cursor-below": "Aanwijzer beneden toevoegen", "focus-editor": "Focus op de editor", "toggle-fold-properties": "In–/uitvouwen van eigenschappen in dit document", "toggle-fold": "In-/uitvouwen van de huidge regel", "fold-all": "Alle koppen en lijsten invouwen", "unfold-all": "Alle koppen en lijsten uitvouwen", "fold-more": "Meer invouwen", "fold-less": "Minder invouwen", "swap-line-up": "Omwisselen met regel boven", "swap-line-down": "Omwisselen met regel beneden", "remove-heading": "Kop verwijderen", "toggle-heading": "Kopniveau {{level}} instellen", "toggle-bold": "Selectie vet maken", "toggle-italics": "Selectie cursief maken", "toggle-highlight": "Selectie markeren", "toggle-comments": "Opmerking plaatsen bij selectie", "clear-formatting": "Vormgeving verwijderen", "insert-link": "Link invoegen", "toggle-spellcheck": "Spellingscontrole aan-/uitzetten", "delete-paragraph": "Alinea verwijderen", "toggle-checklist": "Checkliststatus wisselen", "cycle-list-checklist": "Opsommingstekens wisselen", "insert-callout": "Kader invoegen", "insert-code-block": "Codesectie invoegen", "insert-math-block": "Wiskundesectie invoegen", "insert-horizontal-rule": "Horizontale lijn invoegen", "insert-table": "Tabel invoegen", "insert-footnote": "Insert footnote", "edit-file-title": "Titel van het bestand bewerken", "copy-path": "Kopieer bestandspad", "copy-url": "Kopieer Obsidian-URL", "export-pdf": "Exporteer naar PDF", "reload": "App herladen zonder op te slaan", "undo-close-tab": "Tabblad sluiten ongedaan maken", "context-menu": "Contextmenu laten zien onder de cursor", "show-debug-info": "Info voor debuggen laten zien", "open-sandbox-vault": "Open sandbox-kluis", "always-on-top": "Scherm altijd vooraan aan-/uitzetten", "zoom-in": "Inzoomen", "zoom-out": "Uitzoomen", "reset-zoom": "Standaardzoomniveau", "toggle-preview": "Wissel bewerk- en voorbeeldmodus", "move-to-new-window": "Move current pane to new window", "open-in-new-window": "Open current pane in new window", "rename-current-file": "Huidige bestand hernoemen", "go-to-prev-tab": "Ga naar het vorige tabblad", "go-to-next-tab": "Ga naar het volgende tabblad", "go-to-last-tab": "Ga naar het laatste tabblad", "go-to-nth-tab": "Ga naar tabblad #{{n}}", "show-release-notes": "Toon de versie-informatie" }, "dialogue": { "label-link-affected": "Dit heeft betrekking op {{links}} in {{files}}.", "msg-updated-links": "{{links}} in {{files}} bijgewerkt.", "label-update-links": "Links bijwerken", "label-confirm-update-link-to-file": "Wil je de interne links die naar dit bestand verwijzen bijwerken?", "button-always-update": "Altijd bijwerken", "button-just-once": "Slechts eenmaal", "button-do-not-update": "Niet bijwerken", "label-confirm-deletion": "Weet je zeker dat je \"{{filename}}\" wilt verwijderen?", "label-move-to-system-trash": "Het wordt verplaatst naar de systeemprullenbak", "label-move-to-vault-trash": "Het wordt verplaatst naar de Obsidian-prullenbak. Deze bevindt zich in de verborgen \".trash\" map in je kluis.", "label-permanent-delete": "Het bestand wordt permanent verwijderd.", "label-non-empty-folder": "Deze map is niet leeg.", "label-delete-folder-warning": "Als je doorgaat worden alle bestanden in deze map verwijderd.", "label-delete-folder": "Map verwijderen", "button-delete": "Verwijderen", "button-delete-do-not-ask-again": "Verwijderen en niet opnieuw vragen", "label-do-not-ask-again": "Niet opnieuw vragen", "label-existing-backlink": "Er is momenteel {{count}} link die naar deze notitie verwijst.", "label-existing-backlink_plural": "Er zijn momenteel {{count}} links die naar deze notitie verwijzen.", "label-delete-file": "Bestand verwijderen", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Beheren", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Annuleren", "button-download": "Download", "button-done": "Voltooid", "button-save": "Opslaan", "button-stop": "Stop", "button-continue": "Doorgaan", "button-choose": "Kiezen", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "PDF voorbereiden...", "label-rename-file": "Bestand hernoemen", "label-rename-file-generic": "Bestandsdnaam", "label-new-name": "Nieuwe naam", "msg-rename-success": "Bestand hernoemen geslaagd.", "msg-merge-failed": "Kan notities niet samenvoegen: {{message}}", "msg-file-or-folder-not-found": "Het bestand of de map “{{path}}” bestaat niet.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Kop hernoemen", "label-rename-blockid": "Blok-id hernoemen" }, "menu-items": { "new-file": "Notitie aanmaken", "new-file-to-the-right": "Rechts een nieuwe notitie aanmaken", "new-window": "Nieuw scherm", "open-switcher": "Snel openen...", "open-vault": "Kluis openen...", "close-tab": "Tabblad sluiten", "close-window": "Scherm sluiten", "find": "Zoeken", "replace": "Vervangen", "insert-callout": "Bijschrift", "insert-markdown-link": "Markdown-link", "insert-wikilink": "Link", "set-heading": "Kop {{level}}", "no-heading": "Geen kop", "insert-quote": "Citaat", "export-pdf": "Exporteer naar PDF", "insert-attachment": "Voeg bijlage toe...", "insert-codeblock": "Codesectie", "insert-math-block": "wiskundesectie", "insert-table": "Tabel", "insert-footnote": "Footnote", "toggle-bullet-list": "Ongenummerde lijst", "toggle-numbered-list": "Genummerde lijst", "toggle-checklist": "Takenlijst", "toggle-bold": "Vet", "toggle-code": "Code", "toggle-comment": "Opmerking", "toggle-italics": "Cursief", "toggle-inline-math": "Wiskunde", "toggle-highlight": "Arceren", "toggle-strikethrough": "Doorstrepen", "toggle-comments": "Opmerking", "folding-menu": "Vouwen", "fold-all": "Alles invouwen", "unfold-all": "Alles uitvouwen", "fold-more": "Meer invouwen", "fold-less": "Minder invouwen", "source-mode": "Bronweergave", "reading-view": "Leesweergave", "show-debug-info": "Info voor debuggen laten zien", "open-sandbox": "Sandbox-kluis openen", "navigate-back": "Vorige", "navigate-forward": "Volgende", "toggle-left-sidebar": "Linker zijbalk openen/sluiten", "toggle-right-sidebar": "Rechter zijbalk openen/sluiten", "toggle-ribbon": "Ribbon", "split-right": "Rechts opdelen", "split-down": "Beneden opdelen", "release-notes": "Versie-informatie" }, "plugins": { "name": "Plug-ins", "file-explorer": { "name": "Verkenner", "desc": "Zie alle bestanden in je kluis.", "action-open": "Open verkenner", "action-show": "Toon verkenner", "action-create-note": "Maak nieuwe notitie aan", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Nieuwe notitie in huidig tabblad aanmaken", "action-create-note-to-the-right": "Rechts een nieuwe notitie aanmaken", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Alles inklappen", "action-expand-all": "Alles uitklappen", "action-new-note": "Nieuwe notitie", "action-new-folder": "Nieuwe map", "action-change-sort": "Sorteervolgorde aanpassen", "action-reveal-file": "Toon bestand in verkenner", "action-reveal-active-file": "Toon het actieve bestand in verkenner", "command-make-a-copy": "Dupliceer huidig bestand", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Verplaats bestand naar een andere map", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Verplaats bestand naar ...", "action-move-folder": "Verplaats map naar ...", "action-move-items": "Verplaats {{count}} objecten naar...", "prompt-type-folder": "Typ een mapnaam", "label-no-folders": "Geen mappen gevonden.", "instruction-navigate": "navigeren", "instruction-move": "verplaatsen", "instruction-create": "aanmaken", "instruction-dismiss": "afwijzen", "label-sort-a-to-z": "Sorteer op bestandsnaam (A tot Z)", "label-sort-z-to-a": "Sorteer op bestandsnaam (Z tot A)", "label-sort-new-to-old": "Sorteer op recente wijziging (nieuw naar oud)", "label-sort-old-to-new": "Sorteer op recente wijziging (oud naar nieuw)", "label-sort-created-old-to-new": "Aangemaakt (oud naar nieuw)", "label-sort-created-new-to-old": "Aangemaakt (nieuw naar oud)", "menu-opt-new-note": "Nieuwe notitie", "menu-opt-new-folder": "Nieuwe map", "menu-opt-rename": "Hernoemen", "menu-opt-delete": "Verwijderen", "menu-opt-make-copy": "Dupliceren", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "Bestandsnaam mag de volgende tekens niet bevatten: ", "msg-unsafe-characters": "Links werken niet met bestandsnamen die de volgende tekens bevatten: ", "msg-file-already-exists": "Er is al een bestand met deze naam", "msg-empty-file-name": "Bestandsnaam mag niet leeg zijn.", "msg-bad-dotfile": "Bestandsnaam mag niet met een punt beginnen.", "tooltip-modified-time": "Laatste wijziging om {{time}}", "tooltip-created-time": "Aangemaakt om {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Naamloos", "label-untitled-folder": "Naamloos", "msg-set-attachment-folder": "Bijlagen worden vanaf nu opgeslagen in \"{{path}}\"." }, "search": { "name": "Zoeken", "desc": "Zoeken naar trefwoord in alle notities.", "action-open-search": "In alle bestanden zoeken", "label-collapse-results": "Resultaten samenvouwen", "label-match-case": "Hoofdletters moeten overeenkomen", "label-explain-search-term": "Leg zoekterm uit", "label-more-context": "Toon meer context", "label-result-count": "{{count}} resultaat", "label-result-count_plural": "{{count}} resultaten", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Zoekinstellingen", "prompt-start-search": "Typ om te beginnen met zoeken...", "label-match-text": "Match tekst: ", "label-match-regex": "Match regex: ", "label-match-exact-text": "Bevat exacte tekst: ", "label-match-greater-than": "Groter dan: ", "label-match-less-than": "Kleiner dan: ", "label-match-true": "Is waar", "label-match-false": "Is onwaar", "label-match-empty": "Is leeg", "label-match-property": "Heeft eigenschap:", "label-match-all": "Match alle: ", "label-match-any": "Match één van: ", "label-excluding": "Exclusief: ", "label-case-sensitive": "Hoofdlettergevoelig", "label-case-insensitive": "Niet hoofdlettergevoelig", "label-match-file-path": "Match bestandspad: ", "label-match-file-name": "Match bestandsnaam: ", "label-match-content": "Match bestandsinhoud: ", "label-match-task": "Match taak: ", "label-match-task-todo": "Match taak (onvoltooid): ", "label-match-task-done": "Match taak (voltooid): ", "label-match-line": "Match regel: ", "label-match-block": "Match blok: ", "label-match-section": "Match sectie: ", "label-match-tag": "Match label: ", "label-no-matches": "Geen match gevonden.", "matches-with-count": "... en {{count}} verdere match.", "matches-with-count_plural": "... en {{count}} verdere matches.", "label-copy-search-results": "Zoekresultaten kopiëren", "button-copy-results": "Resultaten kopiëren", "msg-successfully-copied": "Resultaten naar het klembord gekopieerd.", "option-show-path": "Toon bestandspad", "option-show-path-description": "Toon volledig bestandspad in plaats van slechts de bestandsnaam.", "option-link-style": "Stijl van de link", "option-link-style-description": "Verander elk bestandsresultaat in een link (optioneel).", "option-choice-link-style-none": "Geen", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Markdown-link", "option-list-prefix": "Opsommingstekens", "option-list-prefix-description": "Voeg een opsommingsteken toe aan elk bestandsresultaat (optioneel).", "option-choice-list-style-none": "Geen", "option-choice-list-style-dash": "Liggend streepje (-)", "option-choice-list-style-asterisk": "Asterisk (*)", "option-choice-list-style-numbered": "Genummerd", "tooltip-clear-search": "Zoekterm verwijderen", "label-search-options": "Zoekopties", "label-properties-group": "Eigenschappen", "label-tags-group": "Labels", "tooltip-read-more": "Meer lezen", "label-history": "Geschiedenis", "tooltip-clear-history": "Zoekgeschiedenis verwijderen", "label-path-option-description": "match bestandspad", "label-file-name-option-description": "match bestandsnaam", "label-tag-option-description": "zoek naar labels", "label-line-option-description": "zoek trefwoorden op dezelfde regel", "label-section-option-description": "zoek trefwoorden in dezelfde sectie.", "label-property-option-description": "gelijke eigenschappen", "menu-opt-search-for": "Zoeken naar \"{{keyword}}\"", "menu-opt-search-in-folder": "In map zoeken" }, "quick-switcher": { "name": "Snel wisselen", "desc": "Spring naar elk bestand zonder je toetsenbord lost te laten. Ctrl/Cmd+O om te activeren.", "short-name": "Wisselen", "action-open": "Open snel wisselen", "instruction-navigate": "navigeren", "instruction-open": "openen", "instruction-open-in-new-tab": "om in een tabblad te openen", "instruction-open-to-the-right": "om rechts te openen", "instruction-create": "aanmaken", "instruction-dismiss": "afwijzen", "instruction-select": "om te selecteren", "label-no-note-create-new": "Geen notities gevonden. Druk op Enter om een nieuwe te maken.", "prompt-type-file-name": "Typ de bestandsnaam om ernaar te wisselen of te creëren...", "label-enter-to-create": "Druk op Enter om te creëren", "tooltip-not-created-yet": "Nog niet aangemaakt, selecteer om aan te maken", "option-show-existing-only": "Toon alleen bestaande", "option-show-existing-only-description": "Toon links naar bestanden die nog niet zijn aangemaakt wel of niet.", "option-show-attachments": "Toon bijlagen", "option-show-attachments-desc": "Toon bijlagebestanden als afbeeldingen, video's en PDF's.", "option-show-all-file-types": "Toon alle bestandsextenties", "option-show-all-file-types-desc": "Toon alle bestanden, inclusief degene die Obsidian niet kan openen. Het bestand wordt geopend in de standaard applicatie voor de bestandsextensie." }, "graph-view": { "name": "Grafiek weergave", "desc": "Zie een grafische weergave van de links tussen de notities.", "action-open": "Open grafiek weergave", "action-open-local": "Open locale grafiek", "action-copy-screenshot": "Kopieer schermopname", "tab-title": "Grafiek van {{displayText}}", "label-filters": "Filters", "prompt-filter-nodes": "Doorzoek bestanden...", "option-depth": "Diepte", "option-depth-description": "Toon nodes zoveel links verwijderd", "option-neighbor-links": "Buur-links", "option-neighbor-links-description": "Toon links tussen buren.", "option-forelinks": "Uitgaande links", "option-forelinks-description": "Toon links naar andere bestanden", "option-backlinks": "Ingaande links", "option-backlinks-description": "Toon links van andere bestanden", "option-show-tags": "Labels", "option-show-tags-description": "Labels zijn gelinkt aan de bestanden die de labels bevatten", "option-show-attachments": "Bijlagen", "option-show-attachments-description": "Toon bijlagen in bestanden besloten", "option-show-existing-files-only": "Alleen bestaande bestanden", "option-show-existing-files-only-description": "Wanneer actief worden links naar niet-bestaande bestanden niet getoond", "option-show-orphans": "Wezen", "option-show-orphans-description": "Toon bestanden zonder links naar andere bestanden", "label-display": "Weergave", "option-show-arrows": "Pijlen", "option-show-arrows-description": "Toon pijlen indien ingezoomd.", "option-text-fade": "Tekstvervagingsdrempel", "option-node-size": "Node grootte", "option-link-thickness": "Link dikte", "label-forces": "Krachten", "option-center-force": "Centrale kracht", "option-link-force": "Link kracht", "option-link-distance": "Link afstand", "option-repel-force": "Weerstandskracht", "tooltip-open-graph-settings": "Open grafiekinstellingen", "msg-screenshot-copied": "Schermopname naar het klembord gekopieerd.", "label-groups": "Groepen", "placeholder-enter-query": "Voer vraag in...", "tooltip-delete-graph": "Groep verwijderen", "button-new-group": "Nieuwe groep", "tooltip-click-to-change-drag-to-reorder": "Klik om de kleur te veranderen\nSleep om groepen te ordenen", "action-timelapse": "Start grafiek time-lapse animatie", "tooltip-start-timelapse-animation": "Start time-lapse animatie", "button-animate-timelapse": "Animeer" }, "backlinks": { "name": "Terugverwijzing", "desc": "Toon aantal terugverwijzingen in de statusbalk.", "action-open": "Open terugverwijzingen", "action-show": "Toon het terugverwijzingenvenster", "action-open-for-current": "Open terugverwijzingen naar het huidige bestand", "action-toggle-backlinks-in-document": "Terugverwijzingen in het document aan-/uitzetten", "menu-opt-backlinks-in-document": "Backlinks in document", "label-linked-mentions": "Gelinkte vermeldingen", "label-no-backlinks": "Geen terugverwijzingen gevonden.", "label-unlinked-mentions": "Ongelinkte vermeldingen", "label-show-search": "Toon zoekfilter", "label-link-button-text": "Link", "tab-title": "Terugverwijzingen voor {{displayText}}", "label-no-unlinked-mentions": "Geen ongelinkte vermeldingen gevonden.", "ellipsis": "...", "option-backlink-in-document": "Terugverwijzing in document", "option-backlink-in-document-desc": "Toon terugverwijzingen in document standaard wanneer nieuwe vensters geopend worden." }, "outgoing-links": { "name": "Uitgaande verwijzingen", "desc": "Toon uitgaande verwijzingen en detecteer ongelinkte vermeldingen van andere notities in de huidige notitie.", "action-open": "Open uitgaande verwijzingen", "action-show": "Toon uitgaande verwijzingen venster", "action-open-for-current": "Uigaande verwijzingen van het huidige bestand openen", "tab-title": "Uitgaande verwijzingen van {{displayText}}", "label-links": "Links", "label-no-links": "Geen verwijzingen gevonden.", "label-unlinked-mentions": "Ongelinkte vermeldingen", "tooltip-link-file": "Verwijs naar dit bestand", "tooltip-not-created": "Nog niet aangemaakt" }, "tag-pane": { "name": "Labelvenster", "short-name": "Labels", "desc": "Toont al je labels en hoe vaak ze voorkomen.", "action-show": "Toon label venster", "label-no-tags": "Geen labels gevonden.", "label-sort-by-name-a-to-z": "Tagnaam (A tot Z)", "label-sort-by-name-z-to-a": "Tagnaam (Z tot A)", "label-sort-by-frequency-high-to-low": "Aantal vermeldingen (hoog naar laag)", "label-sort-by-frequency-low-to-high": "Aantal vermeldingen (laag naar hoog)", "action-show-nested-tags": "Toon ingebedde labels", "action-collapse-all": "Alles inklappen", "action-expand-all": "Alles uitklappen" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Eigenschappenvenster", "desc": "Toon de metadata van je bestanden.", "name-global": "Alle eigenschappen", "name-local": "Bestandseigenschappen", "tab-title": "Bestandseigenschappen van {{displayText}}", "action-show": "Toon alle eigenschappen", "action-show-local": "Toon bestandseigenschappen", "opt-unassign-type": "Type verwijderen", "label-no-properties": "Geen eigenschappen gevonden.", "label-invalid-properties": "Ongeldige eigenschappen.", "label-sort-by-name-a-to-z": "Eigenschap (A tot Z)", "label-sort-by-name-z-to-a": "Eigenschap (Z tot A)", "label-sort-by-frequency-high-to-low": "Aantal (groot naar klein)", "label-sort-by-frequency-low-to-high": "Aantal (klein naar groot)", "msg-merge-properties-warning": "Eigenschap “{{oldKey}}” en “{{newKey}}” samenvoegen?", "msg-merge-properties-warning-desc": "Indien er conflicten ontstaan worden de waardes samengevoegd of wordt de waarde van “{{oldKey}}” gebruikt.", "action-collapse-all": "Alles inklappen", "action-expand-all": "Alles uitklappen", "action-open-local": "Bestandseigenschappen openen", "action-open-daily-note": "Dagelijkse notitie openen" }, "page-preview": { "name": "Paginavoorbeeld", "desc": "Bekijk een voorbeeld van een notitie wanneer de cursor boven een interne link zweeft. Ctrl/Cmd + zweven in editor-modus.", "label-empty-attachment": "“{{linktext}}” kon niet worden gevonden.", "label-empty-note": "\"{{linktext}}\" is nog niet aangemaakt. Klik om aan te maken.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Editor", "label-source-preview": "Voorbeschouwing", "label-source-search": "Zoeken, terugverwijzingen, en uitgaande verwijzingen", "label-source-tab-header": "Tab header", "label-require-mod": "Vereis {{key}} om de paginavoorvertoning te activeren bij zweven." }, "bookmarks": { "name": "Bladwijzers", "desc": "Voeg vaak gebruikte bestanden en zoekopdrachten toe als bladwijzers.", "action-show": "Toon bladwijzers", "action-collapse-all": "Alles inklappen", "action-new-bookmark": "Maak een bladwijzer van het actieve tabblad...", "action-new-group": "Nieuwe bladwijzer groep", "action-bookmark": "Bladwijzer...", "action-add-bookmark": "Bladwijzer toevoegen", "action-edit-bookmark": "Bladwijzer bewerken", "action-bookmark-block": "Bewaar blok onder aanwijzer...", "action-bookmark-heading": "Bewaar kop onder aanwijzer...", "action-bookmark-search": "Bewaar huidige zoekopdracht...", "action-remove-bookmark": "Bladwijzer voor huidig bestand verwijderen", "action-bookmark-tab-group": "Bewaar {{count}} tabblad...", "action-bookmark-tab-group_plural": "Bewaar {{count}} tabbladen...", "action-bookmark-all-tabs": "Bewaar alle tabbladen...", "action-bookmark-graph": "Bewaar deze grafiek...", "label-bookmark": "Bewaren", "label-bookmarked": "Bewaard", "label-bookmark-with-count": "{{count}} bladwijzer", "label-bookmark-with-count_plural": "{{count}} bladwijzers", "label-no-bookmarks": "Geen bladwijzers gevonden", "label-invalid-data": "Kan bladwijzers niet laden.", "label-invalid-data-desc": "Het databestand is corrupt.", "label-untitled-group": "Naamloze groep", "label-untitled-graph": "Naamloze grafiek", "menu-opt-edit": "Bewerken...", "menu-opt-remove": "Verwijderen", "menu-opt-rename": "Hernoemen", "menu-opt-bookmark-block": "Dit blok in bladwijzers opslaan...", "menu-opt-bookmark-heading": "Deze kop in bladwijzers opslaan...", "msg-no-search-query": "Geen zoekopdracht om te bewaren.", "option-path": "Pad", "option-query": "Term", "option-u-r-l": "URL", "option-title": "Titel", "option-group": "Bewaar groep", "placeholder-bookmark-group": "Bladwijzer" }, "custom-css": { "name": "Aangepaste CSS", "desc": "Leest \"obsidian.css\" in de kluis en past het toe.", "setting-community-themes": "Community-thema's", "msg-fetching-themes": "Data van het community-thema ophalen...", "prompt-filter": "Filter...", "label-dark-theme-only": "Alleen donkere thema's", "label-light-theme-only": "Alleen lichte thema's", "label-use": "Gebruik", "label-stop-use": "Dit thema niet meer gebruiken", "label-install-and-use": "Installeren en gebruiken", "label-update": "Bijwerken", "label-no-readme": "Dit thema heeft geen README-bestand.", "tooltip-remove-theme": "Thema verwijderen", "label-visit-on-github": "Op GitHub bekijken", "msg-load-error": "Kon community-thema's niet laden, controleer je netwerkverbinding.", "msg-now-using-theme": "Je gebruikt nu {{title}} als je CSS-thema.", "msg-deleted-theme": "Het thema {{title}} is verwijderd.", "msg-updated-theme": "Het thema {{title}} is bijgewerkt.", "label-installed": "Geinstalleerd", "label-legacy": "Verouderd", "button-update-all-themes": "Alle updaten", "msg-failed-load-themes": "Community-thema's laden mislukt.", "msg-no-updates-found": "Geen thema-updates gevonden.", "msg-updates-found": "{{count}} thema gevonden om te updaten.", "msg-updates-found_plural": "{{count}} thema's gevonden om te updaten.", "msg-failed-to-install-theme": "Thema \"{{name}}\" installeren is mislukt.", "msg-successfully-installed-theme": "Thema \"{{name}}\" is succesvol geïnstalleerd.", "msg-installing-theme": "Thema \"{{name}}\" installeren...", "label-search-summary": "Toon {{themeCount}}:", "label-update-available": "Update beschikbaar" }, "command-palette": { "name": "Opdrachtenpaneel", "desc": "Typ een opdracht om het te gebruiken. De gebruikersinterface gebruiken of de sneltoets onthouden is niet nodig.", "action-open": "Open opdrachtenpaneel", "instruction-navigate": "navigeren", "instruction-use": "gebruiken", "instruction-dismiss": "afwijzen", "label-no-commands": "Geen opdrachten gevonden.", "prompt-type-command": "Typ een opdracht...", "label-pinned-commands": "Bewaarde opdrachten", "option-add-new-pin": "Nieuwe bewaarde opdracht", "option-add-new-pin-description": "Bewaarde opdrachten verschijnen bovenaan de opdrachtenlijst als er geen zoekterm is ingevoerd." }, "markdown-format-importer": { "name": "Markdown-indeling importeren", "desc": "Converteer Markdown van andere apps naar de Obsidian-indeling.", "action-open": "Open Markdown-importeur", "option-roam-tag-fixer": "Roam Research-labelcorrectie", "option-roam-tag-fixer-description": "Converteert \"#label\" en \"#[[label]]\" naar \"[[label]]\".", "option-roam-highlight-fixer": "Roam Research-markeringcorrectie", "option-roam-highlight-fixer-description": "Converteert \"^^markering^^\" naar \"==markering==\".", "option-roam-todo-converter": "Roam Research-takencorrectie", "option-roam-todo-converter-description": "Converteert \"{{[[Taak]]}}\" naar \"[ ]\".", "option-bear-highlight-fixer": "Bear-markeringcorrectie", "option-bear-highlight-fixer-description": "Converteert \"::markering::\" naar \"==markering==\".", "zettelkasten-link-fixer": "Zettelkastenverwijzingencorrectie", "zettelkasten-link-fixer-description": "Corrigeert \"[[UID]]\" verwijzingen naar de volledige \"[[UID bestandsnaam]]\".", "zettelkasten-link-beautifier": "Zettelkastenverwijzingen mooier maken", "zettelkasten-link-beautifier-description": "Corrigeert \"[[UID]]\" verwijzingen en maakt ze mooier \"[[UID bestandsnaam|bestandsnaam]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Waarschuwing: de import converteer alle bestanden in je kluis, niet alleen het huidige bestand.", "msg-override-files-warning": "Je bestanden worden overschreven. Maak een back-up van al je bestanden voordat je ze converteert.", "label-start-conversion": "Conversie starten", "label-stop": "Stop", "label-go-back": "Ga terug", "label-done": "Klaar", "label-processing": "Verwerken...", "label-cancelling": "Annuleren...", "label-finished": "Voltooid!", "label-processed-files": "Verwerkte bestanden", "label-modified-files": "Aangepaste bestanden", "label-total-replacements": "Totaal aantal vervangingen", "label-failed": "Failed" }, "daily-notes": { "name": "Dagnotities", "desc": "Open de dagnotitie van vandaag, of maak er een aan als er nog geen is.", "short-name": "Vandaag", "action-open": "Open de notitie van vandaag", "action-open-previous": "Open vorige dagnotitie", "action-open-next": "Open volgende dagnotitie", "action-insert-text": "Voeg tekst in in de dagnotitie", "action-insert-link": "Voeg verwijzing in in de dagnotitie", "msg-fail-format": "Dagnotitie aanmaken mislukt. \"{{format}}\" is geen geldige bestandsextensie.", "msg-fail-folder": "Dagnotitie aanmaken mislukt. Map \"{{folderOption}}\" niet gevonden.", "msg-fail-template-file": "Dagnotitie aanmaken mislukt. Sjabloonbestand \"{{template}}\" niet gevonden.", "msg-no-previous": "Er is geen dagnotitie voor de huidige.", "msg-no-next": "Er is geen dagnotitie na de huidige.", "option-date-format": "Datumindeling", "label-refer-to-syntax": "Voor meer syntaxis, zie: ", "label-syntax-link": "formatteer referentie", "label-syntax-live-preview": "Dit is hoe het eruit zal zien: ", "option-new-file-location": "Nieuwe bestandslocatie", "option-new-file-location-description": "De maplocatie voor de nieuwe dagnotitie.", "option-template": "Sjabloonbestandslocatie", "option-template-description": "De bestandslocatie voor te gebruiken sjablonen.", "option-open-on-start": "Dagnotitie openen als obsidian opstart", "option-open-on-start-description": "Open je dagnotitie automatische als je deze kluis opent." }, "unique-note-creator": { "name": "Uniekenotitiesmaker", "desc": "Maak notites aan met unieke tijdsstempel in de bestandsnaam, voor bijvoorbeeld zettelkasten of kaartenbak.", "short-name": "Uniek", "action-create-note": "Maak een nieuwe unieke notities aan", "action-add-link": "Add unique internal link", "option-new-file-location": "Nieuwe bestandslocatie", "option-new-file-location-description": "De maplocatie voor de nieuwe unieke notitie.", "msg-folder-not-found": "Unieke notities maken mislukt. Map \"{{folderOption}}\" is niet gevonden.", "option-template-file": "Sjabloonbestandslocatie", "option-template-file-description": "Het bestand om als sjabloon te gebruiken.", "option-template-file-placeholder": "Voorbeeld: map1/notitie", "option-id-format": "Unieketijdsstempelindeling", "msg-template-file-not-found": "Unieke notitie aanmaken mislukt. Sjabloonbestand \"{{template}}\" niet gevonden.", "msg-failed-to-generate": "Unieke notitie aanmaken mislukt met de indeling \"{{format}}" }, "random-note": { "name": "Willekeurige notitie", "desc": "Opent een willekeurige notitie. Handig om te herzien en te ontdekken.", "short-name": "Willekeurig", "action-open": "Open een willekeurige notitie" }, "outline": { "name": "Overzicht", "desc": "Toont een overzicht van het huidige bestand of een gelinkt venster.", "action-open": "Open overzicht", "action-show": "Toon overzichtsvenster", "action-open-for-current": "Open het overzicht van het huidige bestand", "tab-title": "Overzicht van {{displayText}}", "label-no-headings": "Geen koppen gevonden.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Woordenaantal", "desc": "Toon woordenaantal in de statusbalk" }, "slides": { "name": "Dia's", "desc": "Presenteer vanuit Markdown. Gebruik \"---\" om dia's te onderscheiden.", "action-start": "Start presentatie" }, "audio-recorder": { "name": "Geluidsrecorder", "desc": "Neem geluid op en sla het op als bijlage.", "action-start": "Start geluidsopname", "action-stop": "Stop geluidsopname", "action-toggle": "Start/stop opname", "msg-access-denied": "Toegang tot de microfoon was ontzegd, schakel dit in vanuit het instellingenvenster.", "msg-pending-grant": "Geef toestemming om de microfoon te bruiken om een opname te starten.", "msg-no-microphone": "Er is geen microfoon aangesloten." }, "open-with-default-app": { "name": "Open in standaardapplicatie", "desc": "Voeg knop toe om het huidge bestand in de standaardapplicatie te openen.", "action-open-file": "Open in standaardapplicatie", "action-open-file-mobile": "Delen", "action-show-in-folder": "Toon in map", "action-show-in-folder-mac": "Toon in Finder" }, "templates": { "name": "Sjablonen", "desc": "Voeg sjablooninhoud in vanuit een map met sjabloonbestanden.", "action-insert": "Sjabloon invoegen", "action-insert-current-date": "Voeg huidige datum in", "action-insert-current-time": "Voeg huidige tijd in", "option-template-folder-location": "Sjabloonmaplocatie", "option-template-folder-location-description": "Bestanden in deze map zijn beschikbaar als sjablonen.", "option-template-date-format": "Datumindeling", "option-template-date-format-description": "{{date}} in het sjabloon wordt door deze waarde vervangen.", "option-template-date-format-description2": "Je kunt ook {{date:YYYY-MM-DD}} gebruiken om de indeling eenmalig te overschrijven.", "option-template-time-format": "Tijdsindeling", "option-template-time-format-description": "{{time}} in het sjabloon wordt door deze waarde vervangen.", "option-template-time-format-description2": "Je kunt ook {{time:HH:mm}} gebruiken om de indeling eenmalig te overschrijven.", "instruction-navigate": "navigeren", "instruction-insert": "sjabloon invoegen", "instruction-dismiss": "afwijzen", "msg-no-templates-found": "Geen sjablonen gevonden", "msg-fail-invalid-folder": "Sjablonen ophalen mislukt. Sjabloon map is ongeldig.", "msg-fail-folder-not-found": "Sjablonen ophalen mislukt. Map \"{{folderOption}}\" werd niet gevonden.", "msg-fail-invalid-template-properties": "Sjabloon invoegen mislukt, de eigenschappen van het sjabloonbestand konden niet worden gelezen.", "msg-no-folder-set": "Sjablonen ophalen mislukt. Geen sjabloonmap ingesteld.", "prompt-type-template": "Typ de naam van een sjabloon..." }, "translucency": { "name": "Doorzichtig venster", "desc": "Schakel een doorzichtig effect in om het gevoel van diepte te verbeteren. Werkt het best in de donkere modus. Niet ondersteund op Linux." }, "slash-command": { "name": "Slash-opdrachten", "desc": "Schakel de mogelijkheid in om slash-opdrachten te gebruiken in de editor door de voorwaardse slash te typen." }, "editor-status": { "name": "Editorstatus", "desc": "Voegt een statusbalkonderdeel toe om de huidige editormodus te tonen en veranderen.", "read": "Lezen", "edit-source": "Bronweergave", "edit-live-preview": "Live-voorbeeld" }, "publish": { "name": "Publiceer", "desc": "Publiceer je notities met Obsidian Publish.", "action-publish-changes": "Publiceer veranderingen", "action-publish-file": "Publish current file", "label-no-internet-access": "Je hebt toegang tot het internet nodig om veranderingen te publiceren.", "label-publish-service-description": "Obsidian Publish is een betaalde uitbereidende service waarmee je je notities rechtstreeks vanuit Obsidian online kunt publiceren.", "label-please-login": "Log in of maak een nieuw Obsidian-account aan om te beginnen met publiceren.", "label-no-publish-subscription": "Je hebt nog geen Obsidian Publishabonnement.", "button-purchase": "Kopen", "label-manage-sites": "Sites beheren", "label-no-sites": "Je hebt geen sites.", "button-choose": "Kiezen", "tooltip-edit-site-id": "Site-ID aanpassen", "tooltip-delete-site": "Site verwijderen", "label-delete-site-confirmation": "Weet je zeker dat je deze site wilt veranderen?", "label-delete-site-details": "Dit verwijdert je site direct en voor altijd.", "label-confirm-delete-site": "Site \"{{site}}\" verwijderen bevestigen", "option-site-id": "Site-ID", "option-site-id-description": "Je site is te vinden via https://publish.obsidian.md/{site id}. Dit kan je later aanpassen. Alleen kleine letters, nummers en streepjes zijn toegestaan.", "option-site-id-placeholder": "Kies een site-id", "button-create": "Aanmaken", "msg-invalid-site-id": "Site-ID mag alleen kleine letters, nummers en streepjes bevatten.", "msg-site-id-in-use": "Deze site-ID is in gebruik, probeer een andere.", "msg-create-site-issue": "Dat was een probleem voor het aanmaken van je site.", "label-site-options": "Site-instellingen", "option-site-general": "Algemeen", "option-site-components": "Onderdelen", "option-site-appearance": "Uiterlijk", "option-site-reading-experience": "Leeservaring", "option-site-misc": "Andere site-instellingen", "option-site-name": "Site-naam", "option-site-name-description": "Naam van je gepubliceerde site. Dit wordt getoon in de pagina titel van je site.", "option-site-name-placeholder": "Naam van je site.", "option-home-page-file": "Homepagina van je site", "option-home-page-file-description": "De eerste pagina de gebruiker ziet als je op je gepubliceerde site beland", "option-home-page-file-placeholder": "Kies een gepubliceerd bestand", "option-logo": "Logo", "option-logo-description": "Kies een afbeeldingsbestand als het logo voor je site.", "option-logo-placeholder": "Een geüploade afbeelding in je bestand...", "option-site-collaboration": "Site-samenwerking", "option-site-collaboration-desc": "Beheer samenwerkingen voor deze site.", "option-customize-navigation": "Navigatie aanpassen", "option-customize-navigation-desc": "De volgorde van navigatieonderdelen overschrijven en pagina's en mappen verbergen.", "option-navigation-order": "Volgorde van navigatieonderdelen", "option-hide-items-in-navigation": "Pagina's en mappen uit de navigatie verbergen", "option-hide-items-in-navigation-desc": "Klik met rechtermuisknop en selecteer \"Hide\" om specifieke pagina's niet te tonen in de navigatie van de website te tonen. De pagina's blijven wel beschikbaar via links en de directe URL's.", "option-show-hidden-items": "Toon verborgen onderdelen", "button-customize-sidebar": "Beheren", "label-navigation-modal-title": "Navigatie", "label-navigation-modal-desc": "Sleep om de volgorde van de navigatieonderdelen aan te passen op je Publish-website aan te passen.", "option-hide-in-navigation": "In navigatie verbergen", "button-manage-collaborators": "Beheren", "option-theme": "Thema", "option-theme-description": "Kies het standaard kleurenschema voor je site.", "option-theme-system": "Aan systeem aanpassen", "option-show-theme-toggle": "Licht/donker schakelaar", "option-show-theme-toggle-description": "Laat de bezoeker zelf wisselen tussen het lichte en donkere thema.", "option-show-navigation": "Toon navigatie", "option-show-navigation-description": "Toon een lijst van alle gepubliceerde pagina's aan de linkerkant van je gepubliceerde site.", "option-show-search": "Toon zoekbalk", "option-show-search-description": "Toon een zoekbalk bovenaan de navigatie waarmee bezoekers naar pagina's en koppen op je site kunnen zoeken.", "option-show-graph": "Toon grafiekweergave", "option-show-graph-description": "Toon een kleine, locale grafiek op elke pagina.", "option-show-outline": "Toon inhoudstabel", "option-show-outline-description": "Toon het koppenoverzicht op elke pagina.", "option-show-backlinks": "Toon terugverwijzingen", "option-show-backlinks-description": "Toon terugverwijzingensectie onderaan elke pagina.", "option-sliding-window-mode": "Gebruik schuivende vensters", "option-sliding-window-mode-description": "Open pagina's in nieuwe vensters rechts. Maakt horizontaal scrollen door vensters mogelijk.", "option-hover-preview-file": "Toon zwevend voorbeeld", "option-hover-preview-file-description": "Toon paginavoorbeeld wanneer de cursor over links zweeft.", "option-hide-title": "Paginatitel verbergen", "option-hide-title-description": "De paginatitel verbergen. Handig als jij je eigen koppen aan het begin van elke pagina hebt.", "option-readable-line-length": "Leesbaare regellengte", "option-readable-line-length-description": "Limiteer de maximale regellengte. Er past minder inhoud op het scherm, maar het maakt lange paragrafen beter leesbaar.", "option-site-password": "Wachtwoorden", "option-site-password-description": "Beperk toegang tot je site met wachtwoorden.", "option-google-analytics": "Google Analytics traceringscode", "option-google-analytics-description": "Configureer Google Analytics voor je site. Alleen beschikbaar voor bezoekers vanaf jouw aangepaste domein URL. Controleer alsjeblieft eerst de plaatselijke wetten en regelingen.", "button-manage-passwords": "Beheren", "button-save-site-settings": "Site-instellingen opslaan", "msg-updated-options": "Bijgewerkte opties voor jouw site.", "button-go-back": "Terug", "label-publishing-to": "Publiceren naar", "tooltip-switch-site": "Site veranderen", "button-add-linked": "Voeg gelinkte toe", "tooltip-add-linked": "Voeg alle bestanden toe waarnaar verwezen wordt door de huidige selectie bestanden", "msg-added-linked-files": "{{count}} gelinkte bestand is toegevoegd.", "msg-added-linked-files_plural": "{{count}} gelinkte bestanden zijn toegevoegd.", "tooltip-open-site-options": "Verander site-opties", "label-no-changes-detected": "Er werden geen veranderingen gevonden.", "label-changed-files-to-be-published": "Veranderingen", "label-unchanged-files-already-published": "Onveranderd (selecteer om te veranderen)", "label-file-selected": " geselecteerd", "button-select-all-files": "Selecteer alles", "label-custom-navigation-title": "navigatieonderdelen", "button-deselect-all-files": "Alles deselecteren", "label-new-files-to-be-published": "Nieuw", "button-publish": "Publiceren", "msg-no-permission-to-publish-to-site": "Je hebt geen toestemmingen om naar de huidge site te publiceren.", "msg-select-at-least-one-file": "Selecteer op z'n minst één bestand alsjeblieft.", "label-upload-changes": "Veranderingen uploaden", "button-done": "Klaar", "button-stop": "Stop", "label-status-uploading": "Aan het uploaden", "label-status-to-publish": "Te publiceren", "label-status-to-delete": "Te verwijderen", "label-status-published": "Gepubliceerd", "label-status-deleted": "Verwijderd", "label-status-failed": "Mislukt", "label-status-cancelled": "Afgebroken", "button-change": "Veranderen", "label-clear-cache": "Het kan een paar minuten duren voordat de veranderingen getoond worden op je site. Als je je laatste aanpassingen niet kunt zien, probeer dan het cachegeheugen van je browser op te ruimen.", "label-visit-site": "Je kunt site hier bezoeken: ", "msg-something-went-wrong": "Er ging iets fout. Controleer de ontwikkelaarsconsole voor details.", "msg-network-error": "Een netwerkfout heeft plaatsgevonden.", "label-manage-passwords": "Wachtwoorden beheren", "label-add-password": "Wachtwoord toevoegen", "action-new-password": "Nieuw wachtwoord", "label-no-password": "Je site heeft op dit moment geen wachtwoorden. Iedereen kan het bezoeken.", "label-have-password": "Je website is beveiligd met een wachtwoord. Als je meerdere wachtwoorden hebt, dan kunnen bezoekers je website bezoeken door er één van in te voeren.", "option-password-name": "Wachtwoord", "option-password-desc": "Een hash van je wachtwoord wordt veilig opgeslagen. Als het wachtwoord eenmaal ingesteld is, dan kan het niet ontdekt worden als tekst.", "option-password-placeholder": "Je wachtwoord", "option-nickname-name": "Roepnaam (optional)", "option-nickname-desc": "Stel een naam in als herinnering waarvoor of voor wie het wachtwoord is.", "action-add-password": "Wachtwoord toevoegen", "label-untitled-password": "Wachtwoord zonder naam", "label-password-created-time": "Aangemaakt op {{time}}", "msg-added-new-password": "Nieuw wachtwoord toegevoegd.", "option-custom-domain": "Aangepast domein", "option-custom-domain-desc": "Gebruik je eigen domein in plaats van de https://publish.obsidian.md/{site id} URL.", "option-noindex": "Zoekmachineindexering niet toestaan", "option-noindex-desc": "Voorkom dat zoekmachines je site indexeren.", "button-configure": "Configureren", "label-configure-custom-domain": "Configureer een aangepast domein", "option-custom-url-name": "Aangepaste URL", "option-custom-url-desc": "De URL waar je website zich bevindt.", "option-custom-url-placeholder": "www.jouwdomein.nl", "option-custom-url-redirect": "Doorverwijzen naar je aangepaste domein", "option-custom-url-redirect-desc": "Verwijs bezoekers door op publish.obsidian.md/id naar je aangepaste domein.", "button-update-custom-domain": "Domeininstellingen bijwerken", "label-custom-domain-instructions": "Raadpleeg onze {{link}} op onze help-site voor meer informatie.", "label-custom-domain-link-name": "Handleiding voor het instellen van een aangepast domein", "label-site-usage": "Je gebruikt {{site}} van je {{limit}}.", "button-add-more-sites": "Meer sites aanschaffen", "label-no-sites-bought": "Je hebt geen sites gekocht.", "button-get-site": "Een website maken", "label-manage-sharing": "Beheer delen voor \"{{name}}\"", "label-sharing-with-users": "De huidige website is momenteel niet gedeeld met de volgende mensen.", "label-not-sharing": "De website wordt op het moment niet gedeeld met iemand.", "label-invite-pending": "In behandeling", "tooltip-remove-user": "Verwijder gebruiker", "option-invite-user": "Gebruiker uitnodigen", "placeholder-invite-user": "Voer hun e-mail in...", "error-email-must-be-valid": "Voer alstublieft een geldig e-mailadres in om iemand uit te nodigen.", "msg-enable-publish-plugin": "Activeer de Publish kernplug-in in Instellingen -> Kernplug-ins om sites the zien..", "label-your-sites": "Jouw sites", "label-sites-shared-with-you": "Sites gedeeld met u", "tooltip-leave-site-sharing": "Stop samenwerking voor deze site", "label-leave-site-confirmation": "Bevestig het stoppen van samenwerken", "label-leave-site-confirmation-details": "Dit verwijdert deze website van de lijst van met u gedeelde websites. Deze actie kan niet ongedaan gemaakt worden.", "label-leave-site-confirmation-details-2": "Neem contact op met de eigenaar van de site als je weer wilt samenwerken aan deze website.", "button-leave": "Verlaten", "label-compare-with-live": "Vergelijk met de live-versie", "button-use-live-version": "Gebruik live-versie", "label-confirm-override": "Bevestig het overschrijven van de lokale versie", "label-confirm-override-1": "Weet je zeker dat je de lokale versie wilt overschrijven?", "label-confirm-override-2": "De live-versie zal worden gebruikt en de lokale versie zal worden verwijderd. Maak een back-up indien nodig.", "button-proceed": "Ga verder", "message-successfully-used-live-version": "Het overschrijven van de lokale versie door de live-versie is geslaagd.", "label-open-in-live-site": "Open in live site", "label-open-file": "Bestand openen", "tooltip-manage-publish-filters": "Publicatiefilters beheren", "option-included-folders": "Geselecteerde mappen", "option-included-folders-desc": "Bestanden in deze mappen worden automatisch geselecteerd wanneer je wijzigingen controleert om te publiceren.", "option-currently-included-folders": " Deze mappen zijn op het moment geselecteerd:", "option-excluded-folders": "Uitgesloten mappen", "option-excluded-folders-desc": "Bestanden in deze mappen worden niet getoond wanneer je wijziging controleert om te publiceren. Deze instelling overschrijft mappen die je hierboven selecteert.", "label-number-of-folders-included": "Obsidian Publish selecteert momenteel {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish sluit momenteel {{folders}} uit.", "label-manage-included-folders": "Geselecteerde mappen beheren", "label-manage-excluded-folders": "Uitgesloten mappen beheren", "label-add-included-folder": "Een map selecteren", "label-add-included-folder-desc": "U kunt zowel bestaande als nog niet aangemaakte mappen selecteren.", "tooltip-contact-support": "Neem contact op met de klantenservice", "label-navigation-preview": "Navigatievoorbeeld" }, "workspaces": { "name": "Werkbladen", "desc": "Werkbladindeling opslaan en laden.", "action-load-layout": "Laad werkblad lay-out", "action-manage-layouts": "Beheer werkblad lay-outs", "action-save": "Save layout", "action-save-and-load-layout": "Opslaan en een ander lay-out laden", "placeholder-save-current-layout-as": "Huidige workspace lay-out opslaan als...", "button-save": "Opslaan", "button-load": "Laden", "tooltip-delete-layout": "Verwijder lay-out", "msg-enter-name": "Voer alstublieft een naam in voor de nieuwe lay-out.", "msg-save-layout-success": "Lay-out succesvol opgeslagen.", "label-no-layout-found": "Geen opgeslagen lay-out gevonden.", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "Voer lay-out naam in..." }, "sync": { "name": "Synchronisatie", "desc": "Synchroniseer je bestanden met Obsidian Sync.", "action-view-version-history": "Toon versiegeschiedenis", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open versiegeschiedenis", "action-view-sync-sidebar": "Toon synchronisatiegeschiedenis", "action-activity-log": "Open activiteitsverslag", "label-load-more": "Meer laden", "label-show-diff": "Toon verschil", "label-copy-to-clipboard": "Naar klembord kopiëren", "label-restore-this-version": "Deze versie terugzetten", "msg-already-latest-version": "Deze versie is al de meest recente.", "msg-restored-version": "Versie van {{time}} succesvol teruggezet", "label-file-deleted": "Dit bestand is verwijderd", "label-file-deleted-via": "Verwijderd op {{ device }}", "label-file-renamed-from": "Dit bestand heette eerst \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 correctie", "label-revision_plural": "{{revisions}} correcties", "label-via-device": "op {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "Leeg", "label-unable-to-retrieve": "Kan de versiegeschiedenis niet ophalen", "label-setting-files": "Configuratiebestanden", "label-deleted-files": "Verwijderde bestanden", "label-version-history": "Versiegeschiedenis", "label-click-to-see-history": "Klik op een verwijderd bestand om er de gescheidenis van te zien.", "label-create-remote-vault": "Maak een kluis-op-afstand aan", "msg-please-enter-password": "Voer een wachtwoord in.", "msg-vault-name-cannot-be-empty": "Kluisnaam mag niet leeg zijn.", "msg-successfully-created-vault": "Kluis-op-afstand \"{{name}}\" aanmaken geslaagd.", "label-remote-vault-explanation": "Kluizen-op-afstand synchroniseren je kluis veilig tussen apparaten.", "option-vault-name": "Kluisnaam", "option-vault-name-desc": "Helpt je herinneren waar deze kluis voor is.", "option-vault-region": "Regio", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Selecteer de serverregio die het meest dichtbij jou is om de kluis-op-afstand op te slaan. Dit kan in de toekomst niet veranderd worden.", "option-vault-name-placeholder": "Mijn geweldige kluis", "option-encryption": "Versleuteling", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end versleuteling", "option-encryption-standard": "Standaardversleuteling", "option-encryption-password": "Wachtwoord voor versleuteling", "option-encryption-password-desc": "Dit wachtwoord kan later niet aangepast worden.", "option-encryption-password-desc-warning": "Als je dit wachtwoord vergeet is alle data op afstand voor altijd onbruikbaar.", "option-encryption-password-desc-2": "Dit heeft geen invloed op je locale data.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "Je wachtwoord", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "Kluisverleuteling openen", "label-remote-vaults": "Je kluizen-op-afstand", "label-vault-created-time": "Aangemaakt op {{time}}", "tooltip-delete-remote-vault": "Verwijder", "tooltip-rename-remote-vault": "Naam wijzigen", "label-rename-remote-vault": "Naam wijzigen van de kluis-op-afstand \"{{name}}\"", "label-rename-remote-vault-desc": "Voer een nieuwe naam in voor deze kluis op afstand.", "tooltip-manage-sharing": "Beheer delen", "label-confirm-delete-remote-vault": "Kluis verwijderen bevestigen", "label-confirm-delete-remote-vault-question": "Weet je zeker dat je deze kluis-op-afstand wilt verwijderen?", "label-confirm-delete-remote-vault-result": "Alle data op onze server, inclusief versiegeschiedenis, wordt verwijderd. Je lokale bestanden blijven intact.", "label-confirm-delete-remote-vault-warning": "Deze actie is permanent en niet terug te draaien.", "msg-remote-vault-deleted": "{{name}} is verwijderd.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "Verbinden", "button-disconnect-from-remote-vault": "Verbinding verbreken", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "Je hebt geen kluizen-op-afstand.", "label-no-subscription": "Je hebt geen actief Obsidian-Syncabonnement.", "label-please-visit": "Bezoek", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "Nieuwe kluis aanmaken", "label-sync-log": "Synchronisatieverslag", "option-event-type-all": "Alle", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Samenvoegingsconflicten", "button-copy-sync-log": "Synchronisatieverslag kopiëren", "msg-successfully-copied-sync-log": "Synchronisatieverslag kopiëren geslaagd.", "button-retry": "Opnieuw proberen", "button-purchase-subscription": "Aanschaffen", "label-third-party-sync-warning": "Conflicterende bestandssynchronisatiesoftware gedetecteerd", "label-third-party-sync-warning-desc": "Waarschuwing: Het lijkt erop dat uw kluis {{service}} gebruikt als synchronisatieservice. Als u Obsidian Sync gebruikt voor deze kluis kan dat leiden tot conflicten, corrupte bestanden of gegevensverlies.", "label-icloud-drive-warning": "Als u iCloud Drive gebruikt worden uw documenten en mappen misschien door iCloud gesynchroniseerd. Dit kan tot conflicten met Obsidian Sync leiden.", "option-remote-vault": "Kluis-op-afstand", "button-choose-remote-vault": "Kiezen", "button-manage-remote-vault": "Beheren", "option-remote-vault-desc-connected": "Momenteel verbonden met de kluis-op-afstand \"{{name}}\".", "option-remote-vault-desc-not-connected": "Momenteel niet verbonden met een kluis-op-afstand.", "option-sync-status": "Synchronisatiestatus", "option-sync-status-desc-paused": "Obsidian Sync is momenteel gepauzeerd.", "option-sync-status-desc-running": "Obsidian Sync is momenteel actief.", "option-device-name": "Apparaatnaam", "option-device-name-desc": "Deze naam wordt weergegeven in het Synchronisatieverslag. Leeglaten om de standaardnaam te gebruiken.", "button-resume": "Hervatten", "button-pause": "Pauzeren", "option-view-deleted-files": "Verwijderde bestanden", "option-view-deleted-files-desc": "Toon en herstel verwijderde bestanden.", "option-sync-log": "Synchronisatieactiviteit", "option-sync-log-desc": "Toon recente synchronisatieactiviteit voor het debuggen.", "button-view": "Tonen", "button-bulk-restore": "In bulk terugzetten", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Terugzetten...", "msg-restoring-complete": "`Terugzetten voltooid: {{succeeded}} geslaagd en {{failed}} mislukt.`", "option-vault-size": "Kluisgrootte", "option-vault-size-desc": "Je gebruikt momenteel {{size}} van de {{limit}}", "option-vault-size-unknown": "Kluisgrootte ophalen mislukt.", "option-vault-size-loading": "Jouw kluisgrootte ophalen...", "option-over-size": "Kluisgrootte over de limiet", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "Toon grootste bestanden", "msg-largest-files-desc": "Dit zijn de bestanden op afstand die het meeste ruimte opnemen. Gebruik na het verwijderen van bijlagen de opruimknop om ruimte vrij te maken in de kluis op afstand.", "button-upgrade-storage": "Opslagruimte opwaarderen", "button-purge-remote": "Opruimen", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "Ruim verwijderde bijlagen permanent op van de kluis op afstand om ruimte te besparen.", "msg-purge-complete": "Opruimen geslaagd.", "option-prevent-sleep": "Voorkomen dat apparaat in slaapstand gaat", "option-prevent-sleep-desc": "Voorkomen dat apparaat in slaapstand gaat als er bestanden nog gesynchroniseerd moeten worden.", "option-selective-sync": "Selectieve synchronisatie", "option-excluded-folders": "Uitgesloten mappen", "option-excluded-folder-desc": "Voorkom dat bepaalde mappen gesynchroniseerd worden.", "option-currently-excluded-folders": " Deze mappen zijn momenteel uitgesloten:", "button-manage-excluded-folders": "Beheren", "option-sync-image": "Afbeeldingen synchroniseren", "option-sync-image-desc": "Synchroniseer afbeeldingsbestanden met deze bestandsextensies: {{extensions}}.", "option-sync-audio": "Audio synchroniseren", "option-sync-audio-desc": "Synchroniseer audiobestanden met deze bestandsextensies: {{extensions}}.", "option-sync-video": "Video's synchroniseren", "option-sync-video-desc": "Synchroniseer videobestanden met deze bestandsextensies: {{extensions}}.", "option-sync-pdf": "PDF's synchroniseren", "option-sync-pdf-desc": "Synchroniseer PDF's.", "option-sync-unsupported": "Alle andere typen synchroniseren", "option-sync-unsupported-desc": "Synchroniseer niet-ondersteunde bestandsindelingen.", "option-vault-config-sync": "Kluisconfiguratiesynchronisatie", "option-view-config-files": "Versiegeschiedenis van instellingen", "option-view-config-files-desc": "Toon en herstel versiegeschiedenis van instellingsbestanden.", "option-sync-app": "Hoofdinstellingen", "option-sync-app-desc": "Inschakelen om editorinstellingen, bestands- en verwijzingsinstellingen, aangepaste sneltoetsen etc. te synchroniseren.", "option-sync-appearance": "Uiterlijke instellingen", "option-sync-appearance-desc": "Synchroniseer uiterlijke instellingen zoals donkere modus, actief thema en ingeschakelde fragmenten.", "option-sync-appearance-data": "Thema's en fragmenten", "option-sync-appearance-data-desc": "Gedownloade thema's en fragmenten synchroniseren. Of ze ingeschakeld zijn is afhankelijk van de vorige optie.", "option-sync-hotkey": "Sneltoetsen", "option-sync-hotkey-desc": "Aangepaste sneltoetsen synchroniseren.", "option-sync-core-plugin": "Actieve kernplug-in-lijst", "option-sync-core-plugin-desc": "Synchroniseer welke kernplug-ins ingeschakeld zijn.", "option-sync-core-plugin-data": "Kernplug-in-instellingen", "option-sync-core-plugin-data-desc": "Synchroniseer kernplug-in-instellingen.", "option-sync-community-plugin": "Actieve communityplug-in-lijst", "option-sync-community-plugin-desc": "Synchroniseer welke communityplug-ins ingeschakeld zijn.", "option-sync-community-plugin-data": "Geïnstalleerde comminityplug-ins", "option-sync-community-plugin-data-desc": "Synchroniseer geïnstalleerde communityplug-ins (.js, .css, en manifest.json bestanden) en bijbehorende instellingen.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync is Obsidians uitbereidende synchronisatieservice met end-to-end-versleuteling en versiegeschiedenis.", "label-account-required": "Log in of maak een nieuw Obsidian-account aan om te beginnen met synchroniseren.", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "Aanmelden", "button-log-in": "Inloggen", "label-manage-excluded-folders": "Uitgesloten mappen beheren", "label-number-of-folders-excluded": "{{folders}} zijn momenteel uitgesloten van synchronisatie.", "label-add-excluded-folder": "Een map uitsluiten", "label-add-excluded-folder-desc": "Zowel bestaande als nog niet bestaande mappen kunnen worden uitgesloten.", "tooltip-remove-excluded-folder": "Van de uitsluitlijst verwijderen", "label-setup-connection": "Verbinding instellen", "label-connecting-to-vault": "Verbinden...", "label-connection-failed": "Verbinding mislukt", "label-connection-failed-desc": "Verbinding met kluis-op-afstand mislukt.", "label-now-connected-to-vault": "Je bent nu verbonden met \"{{name}}\".", "button-start-syncing": "Synchronisatie starten", "label-confirm-merge-vault": "Kluis samenvoegen bevestigen", "msg-vault-has-notes": "Je lokale kluis bevat al enkele notities.", "msg-vault-merge-warning": "Als u met de kluis-op-afstand \"{{name}}\" verbindt dan worden notities in uw lokale kluis samengevoegd met notities uit de kluis-op-afstandnotes. Indien er een conflict optreedt dan wordt de meest recente versie van de notities behouden.", "tooltip-update-setting-on-all-devices": "Werk deze optie bij en start de applicatie opnieuw op alle apparaten waar je dit wilt toepassen.", "label-sharing-with-users": "Deze kluis-op-afstand is momenteel gedeeld met de volgende personen.", "label-not-sharing": "Deze kluis-op-afstand is momenteel met niet met iemand gedeeld.", "label-vaults-shared-with-you": "Met u gedeelde kluizen", "tooltip-leave-vault-sharing": "Stop samenwerking aan deze kluis", "label-leave-vault-confirmation": "Bevestig het stoppen van de samenwerking aan deze kluis", "label-leave-vault-confirmation-details": "De kluis zal worden verwijderd uit de lijst met u gedeelde kluizen. Deze actie kan niet ongedaan gemaakt worden.", "label-leave-vault-confirmation-details-2": "Neem alstublieft contact op met de eigenaar van de kluis als u opnieuw wilt samenwerken.", "button-leave": "Verlaten", "msg-error-failed-to-fetch": "Laden van kluizen-op-afstand mislukt.", "label-require-subscription-to-connect": "Een Obsidian Sync-abonnement is vereist om verbinding met deze kluis te maken.", "option-contact-support": "Neem contact op met de klantenservice", "option-contact-support-desc": "Neem contact op met de klantenservice als u problemen heeft met Obsidian Sync, dan kunnen we u helpen! Wij zijn te bereiken via support@obsidian.md.", "button-copy-debug": "Kopieer debuginformatie", "button-email-support": "E-mailondersteuning", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Met Obsidian Sync kunt u tot 5 kluizen-op-afstand aanmaken. Verwijder een bestaande om een nieuwe kluis-op-afstand aan te maken.", "label-upgrade-vault": "Kluis upgraden", "label-upgrade-vault-encryption": "Versleuteling van kluis upgraden", "label-upgrade-vault-encryption-desc": "Er is een nieuwe versleutelingversie beschikbaar voor kluizen op afstand.", "label-migrate-remote-vault": "Kluis-op-afstand migreren", "label-remote-vault-configuration": "Kluis-op-afstand configuratie", "button-migrate": "Migreren", "msg-recreate-remote-vault": "Dit verwijdert uw kluis-op-afstand en maakt hem opnieuw aan met de nieuwste encryptie. Lokale bestanden worden niet beïnvloed, maar uw versiegeschiedenis zal gewist worden.", "label-confirm-migrate": "Bevestig kluismigratie", "msg-migrate-pre-confirmation-part1": "Om uw versleuteling te upgraden wordt alle data in uw kluis opnieuw geüpload naar de Obsidian Sync servers met de nieuwe versleutelmethode. Dit proces verwijdert permanent alle data die beveiligd was met de oude versleuteling, waaronder uw versiegeschiedenis.", "msg-migrate-pre-confirmation-part2": "N.B.: We raden u sterk aan om een back-up van uw kluis te maken voordat u doorgaat, om potentieel gegevensverlies te voorkomen.", "msg-migrate-pre-confirmation-part3": "Na het upgraden moet u al uw apparaten opnieuw verbinden met de nieuwe kluis-op-afstand.", "msg-migrate-confirmation": "Het migreren van uw kluis kost wat tijd. U moet Obsidian actief houden op dit apparaat om uw notities en bijlagen opnieuw te uploaden. U kunt dit het beste doen op uw meestgebruikte apparaat.", "msg-migrate-confirmation-size": "U heeft {{size}} aan data. Het migreren van uw kluis kost enige tijd. U moet Obsidian actief houden op dit apparaat om uw notities en bijlagen opnieuw te uploaden. U kunt dit het beste doen op uw meestgebruikte apparaat.", "msg-proceed-prompt": "Wilt u verdergaan?", "msg-vault-migration-started": "Bezig met kluismigratie." }, "file-recovery": { "name": "Bestanden herstellen", "desc": "Vind recente momentopnames terug om onvoorzien verlies van data te herstellen. Er worden alleen momentopnames gemaakt voor Markdown-bestanden.", "action-open": "Open opgeslagen momentopnames", "option-interval": "Momentopname-interval", "option-interval-description": "Mimimum interval tussen twee momentopnames in minuten.", "option-keep": "Geschiedenisduur", "option-keep-description": "Hoe lang momentopnames bewaard blijven in dagen.", "option-open-history": "Momentopnames", "option-open-history-description": "Opgeslagen momentopnames tonen en herstellen.", "button-view-history": "View", "option-clear": "Geschiedenis wissen", "option-clear-description": "Alle momentopnames verwijderen.", "button-clear-history": "Wissen", "label-clear-warning": "Weet u zeker dat u alle momentopnames wilt verwijderen? Alleen de momentopnames worden verwijderd. De bestanden in uw kluis blijven onveranderd.", "msg-clear-complete": "Momentopnames gewist.", "label-no-history-found": "Geen momentopnames gevonden.", "placeholder-choose-file": "Kies een bestand...", "label-select-file": "Selecteer links een bestand om momentopnames te tonen." }, "note-composer": { "name": "Notitiesamensteller", "desc": "Splits, refactor en voeg notities samen.", "option-confirm-file-merge": "Samenvoegen van bestanden bevestigen", "option-confirm-file-merge-description": "Vraag voordat twee bestanden worden samengevoegd.", "option-split-replacement-text": "Tekst na extractie", "option-split-replacement-text-description": "Wat te tonen in plaats van de geselecteerde tekst na de extractie.", "option-choice-split-replacement-text-link": "Verwijzing naar nieuw bestand", "option-choice-split-replacement-text-embed": "Nieuw bestand insluiten", "option-choice-split-replacement-text-none": "Geen", "option-template-file": "Sjabloonbestandslocatie", "option-template-file-description": "Gebruik dit sjabloonbestand voor samenvoegen of extraheren. Beschikbare variabelen: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, bijv. {{date:YYYY-MM-DD}}.", "command-merge-file": "Huidige bestand met een ander bestand samenvoegen...", "action-merge-file": "Volledig bestand samenvoegen met...", "label-no-files": "Geen bestanden gevonden.", "instruction-navigate": "Navigeer", "instruction-merge": "Voeg samen", "instruction-create-new": "Nieuwe aanmaken", "instruction-merge-at-top": "bovenaan samenvoegen", "instruction-dismiss": "Wijs af", "prompt-select-file-to-merge": "Selecteer bestand om het huidige in te voegen...", "label-merge-file": "Bestand samenvoegen", "label-confirm-file-merge": "Weet u zeker dat u \"{{file}}\" in \"{{destination}}\" wilt voegen? \"{{file}}\" zal worden verwijderd.", "button-merge": "Samenvoegen", "command-split-file": "Huidige selectie extraheren...", "command-extract-heading": "Deze op extraheren...", "instruction-append": "naar bodem verplaatsen", "instruction-prepend": "naar de top verplaatsen", "msg-fail-to-fetch-template": "Sjabloon kon niet worden opgehaald: \"{{template}}\" niet gevonden.", "msg-fail-to-find-heading": "Kop kon niet worden gevonden" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Doek", "desc": "Plaats en verbind notities op een oneindig doek.", "action-add-note": "Notitie uit de kluis toevoegen", "action-add-media": "Media uit de kluis toevoegen", "action-add-card": "Kaart toevoegen", "action-add-website": "Webpagina toevoegen", "action-create-group": "Groep aanmaken", "action-create-with-size": "Kaart met specifieke afmetingen aanmaken", "action-convert-to-file": "Naar bestand omzetten...", "action-drag-to-add-note": "Sleep om notities uit de kluis toe te voegen", "action-drag-to-add-media": "Sleep om media uit de kluis toe te voegen", "action-drag-to-add-card": "Sleep om kaart toe te voegen", "action-edit-label": "Label aanpassen", "action-remove-label": "Label verwijderen", "action-search-file": "Bestand zoeken", "action-set-color": "Kleur instellen", "action-align": "Uitlijnen", "action-align-left": "Links uitlijnen", "action-align-center": "Centraal uitlijnen", "action-align-right": "Rechts uitlijnen", "action-align-top": "Bovenaan uitlijnen", "action-align-middle": "In het midden uitlijnen", "action-align-bottom": "Onderaan uitlijnen", "action-distribute-horizontal-spacing": "Verdeel horizontale ruimte", "action-distribute-vertical-spacing": "Verdeel vertical ruimte", "action-justify-horizontally": "Horizontaal uitvullen", "action-justify-vertically": "Verticaal uitvullen", "action-arrange-horizontally": "In een rij opstellen", "action-arrange-vertically": "In een kolom opstellen", "action-arrange-grid": "In een raster opstellen", "action-export-png": "Exporteer als afbeelding", "action-jump-to-group": "Naar groep springen", "action-set-background": "Achtergrond instellen", "action-edit-background": "Achtergrond wijzigen", "action-replace-background": "Achtergrond vervangen", "action-remove-background": "Achtergrond verwijderen", "label-no-images": "Geen afbeeldingen gevonden.", "label-no-media": "No media found.", "label-export-png-desc": "Exporteer \"{{title}}\" als een PNG-bestand met de instellingen hierbeneden.", "label-export-png-dimensions": "Verwachte afbeeldingsafmetingen: {{dimensions}}", "label-distribute": "Verdelen", "label-justify": "Uitvullen", "label-arrange": "Opstellen", "label-always": "Altijd", "label-hover": "Als de muisaanwijzer erboven zweeft", "label-never": "Nooit", "label-no-section-found": "Geen sectie gevonden", "option-wheel-behavior": "Standaard muiswielgedrag", "option-mod-drag-behavior": "Standaard {{key}}-gedrag", "option-show-menu": "Toon menu", "option-new-canvas-location": "Standaardlocatie voor nieuwe doek-bestanden", "option-new-canvas-location-description": "Hier worden nieuwe doek-bestanden geplaatst.", "option-new-canvas-folder-path": "Map om nieuwe doek-bestanden in te plaatsen", "option-new-canvas-folder-path-description": "In deze map worden nieuwe doek-bestanden geplaatst.", "option-node-label": "Kaartlabel tonen", "option-snap-to-grid": "In raster laten springen", "option-snap-to-grid-desc": "Laat kaarten in het achtergrondsraster springen tijdens verplaatsen en vergroten/verkleinen.", "option-snap-to-objects": "Naar objecten laten springen", "option-snap-to-objects-desc": "Laat kaarten naar objecten in de buurt springen tijdens verplaatsen en vergroten/verkleinen.", "option-zoom-breakpoint": "Zoomdrempel voor het verbergen van kaartinhoud", "option-zoom-breakpoint-desc": "Lagere waardes zullen de presetaties verbeteren maar kaartinhoud wordt eerder verborgen tijdens het uitzoomen.", "option-export-png-show-logo": "Logo tonen", "option-export-png-show-logo-desc": "Dit toont een Obsidianlogo linksonder.", "option-export-png-privacy-mode": "Privacyweergave", "option-export-png-privacy-mode-desc": "Dit verbergt alle tekst op uw doek.", "option-export-png-zoom": "Zoomen", "option-export-png-zoom-desc": "Een grotere zoom zal een afbeelding van hogere resolutie genereren.", "option-export-png-frame": "Weergave", "option-export-png-frame-desc": "Het gehele doek of slechts de huidige weergave exporteren.", "option-export-png-frame-full": "Volledige doek", "option-export-png-frame-viewport": "Allen huidige weergave", "option-background-cover": "Omslag", "option-background-ratio": "Verhouding behouden", "option-background-repeat": "Herhalen", "action-new-canvas": "Nieuw doek", "action-remove": "Verwijderen", "action-narrow-heading": "Versmal naar de kop...", "action-narrow-block": "Versmal naar blok...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Bestand omruilen...", "action-change-url": "URL wijzigen...", "action-zoom-to-fit": "Passend zoomen", "action-zoom-to-selection": "Naar selectie zoomen", "action-reload-page": "Pagina opnieuw laden", "action-follow-connection": "Connectie volgen", "command-create-new-canvas": "Nieuw doek aanmaken", "command-convert-to-file": "Naar bestand omzetten...", "instruction-narrow-heading": "om kop in te sluiten", "instruction-narrow-block": "om blok in te sluiten", "instruction-jump-to-group": "om naar groep te navigeren", "prompt-to-narrow": "Naam van de kop invoeren", "label-enter-url": "URL invoeren", "label-empty-embed": "\"{{linktext}}\" kon niet worden gevonden.", "prompt-add-text": "Tekst toevoegen...", "prompt-start-search": "Type om te zoeken...", "label-canvas-help": "Doekondersteuning", "label-canvas-settings": "Doekinstellingen", "label-no-narrow": "Het gehele bestand tonen", "label-show-default-view": "Show default view", "label-readonly": "Alleen-lezen", "label-disable-readonly": "Alleen-lezen uitzetten", "label-pan": "Draaien", "label-pan-horizontal": "Horizontaal draaien", "label-zoom": "Zoomen", "label-select-all": "Alles selecteren", "label-add-remove-selection": "Aan selectie toevoegen / verwijderen", "label-clone-card": "Kaart klonen", "label-constrain-movement-axis": "Beperk kaart beweging tot as", "label-disable-drag-snapping": "Springen tijdens slepen uitzetten", "label-remove-card": "Kaart verwijderen", "label-drag-from-below": "Sleep vanaf onderen of dubbelklik", "label-longpress": "Raak aan en houd vast om toe te voegen / te bewegen / te selecteren", "label-drag-pan": "Slepen om te draaien", "label-pinch-zoom": "Gebruik twee vingers om te zoomen", "label-space-drag-pan": "Spatie + slepen om te draaien", "label-scroll-to-zoom": "Scroll om te zoomen", "label-untitled-group": "Naamloze groep", "label-line-direction": "Lijnrichting", "label-nondirectional": "Geen richting", "label-unidirectional": "In één richting", "label-bidirectional": "In twee richtingen", "label-image": "Afbeelding", "label-style": "Stijl", "msg-no-groups-found": "Geen groepen gevonden", "msg-export-failed-empty-canvas": "Kan een leeg doek niet exporteren", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Alles markeren", "action-match-diacritics": "Vergelijk diakrieten", "action-whole-words": "Hele woorden", "action-show-thumbnails": "Miniaturen", "action-show-outline": "Inhoudsopgave", "action-reveal-in-outline": "Laat de pagina zien in de inhoudsopgave", "action-toggle-sidebar": "Toon/verberg zijpaneel", "action-previous-page": "Vorige pagina", "action-next-page": "Volgende pagina", "action-fit-width": "Scherm in de breedte vullen", "action-fit-height": "Scherm in de hoogte vullen", "action-save-p-d-f-location": "Positie in het document opslaan", "action-copy-annotation": "Annotatie kopiëren", "action-copy-quote": "Als citaat kopiëren", "action-copy-selection-link": "Link naar selectie kopiëren", "action-copy-annot-link": "Link naar annotatie kopiëren", "action-copy-section-link": "Link naar sectie kopiëren", "action-copy-section-link-title": "Link naar “{{title}}” kopiëren", "action-copy-page-link": "Link naar pagina {{page}} kopiëren", "msg-max-search-results": "{{current}} van meer dan {{limit}} matches", "msg-search-count": "{{current}} van {{total}} match", "msg-search-count_plural": "{{current}} van {{total}} matches", "msg-password-protected": "Deze PDF is met een wachtwoord beveiligd", "msg-invalid-password": "Ongeldig wachtwoord", "msg-enter-password": "Voer beneden het wachtwoord in", "label-of-pages": "van {{count}}", "label-page-of-pages": "({{current}} van {{count}})", "label-spread-single": "Enkele pagina", "label-spread-odd": "Twee pagina's (oneven)", "label-spread-even": "Twee pagina's (even)", "tooltip-sidebar-options": "Zijpaneelopties", "tooltip-display-options": "Weergaveopties", "label-adapt-to-theme": "Aan thema aanpassen", "label-page": "pagina {{page}}", "page_landmark": "Pagina {{page}}", "thumb_page_title": "Pagina {{page}}", "thumb_page_canvas": "Pagina {{page}}", "text_annotation_type": "[{{type}} Annotatie]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Lijst", "option-unknown": "Onbekend", "option-text": "Tekst", "option-aliases": "Aliassen", "option-tags": "Labels", "option-folder": "Folder", "option-file": "File", "option-date": "Datum", "option-datetime": "Datum & tijd", "option-number": "Getal", "option-checkbox": "Selectievakje" }, "value-suggestion": { "key-link-note": "Typ [[", "instruction-link-note": "om een notitie te linken", "instruction-dismiss": "te stoppen" }, "option-property-type": "Eigenschapstype", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "Ongeldige nam voor label", "msg-invalid-number": "Ongeldig getal", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "Geen waarde", "label-heading": "Eigenschappen", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "Voeg eigenschap toe", "label-type-mismatch-warning": "Incorrect type, verwacht type: {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Kolom", "label-row": "Rij", "action-row-after": "Onder rij toevoegen", "action-column-after": "Rechts kolom toevoegen", "action-row-before": "Boven rij toevoegen", "action-row-up": "Rij naar boven verplaatsen", "action-row-down": "Rij naar onder verplaatsen", "action-column-before": "Kolom links toevoegen", "action-column-left": "Kolom naar links verplaatsen", "action-column-right": "Kolom naar rechts verplaatsen", "action-duplicate-row": "Rij dupliceren", "action-duplicate-column": "Kolom dupliceren", "action-delete-row": "Rij verwijderen", "action-delete-column": "Kolom verwijderen", "action-align-left": "Links uitlijnen", "action-align-center": "Centraal uitlijnen", "action-align-right": "Rechts uitlijnen", "action-delete-selection": "Vakken verwijderen", "action-clear-selection": "Vakken leegmaken", "action-sort-a-z": "Op kolom sorteren (A tot Z)", "action-sort-z-a": "Op kolom sorteren (Z tot A)", "label-command": "Tabel: {{command}}" }, "callout": { "option-type": "Berichttype", "type": { "info": "Informatie", "important": "Belangrijk", "tip": "Tip", "success": "Voltooid", "question": "Vraag", "warning": "Waarschuwing", "quote": "Citaat", "example": "Voorbeeld", "none": "None" }, "option-other": "Anders...", "option-other-placeholder": "Berichttype..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} woord", "word-with-count_plural": "{{count}} woorden", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} teken", "character-with-count_plural": "{{count}} tekens", "link-with-count": "{{count}} link", "link-with-count_plural": "{{count}} links", "file-with-count": "{{count}} bestand", "file-with-count_plural": "{{count}} bestanden", "folder-with-count": "{{count}} map", "folder-with-count_plural": "{{count}} mappen", "backlink-with-count": "{{count}} terugverwijzing", "backlink-with-count_plural": "{{count}} terugverwijzingen", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} eigenschap", "properties-with-count_plural": "{{count}} eigenschappen", "site-with-count": "{{count}} site", "site-with-count_plural": "{{count}} sites", "plugin-with-count": "{{count}} plug-in", "plugin-with-count_plural": "{{count}} plug-ins", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} thema", "theme-with-count_plural": "{{count}} thema's" } }{ "setting": { "options": "Options", "plugin": "Utvidelse", "builtin-plugins": "Core plugins", "plugin-options": "Plugin options", "folder-path-example-placeholder": "Eksempel: mappe 1/mappe 2", "file-path-example-placeholder": "Eksempel: mappe/notat", "msg-restart-required": "Changing this option requires a restart to take effect.", "editor": { "name": "Editor", "section-behavior": "Behavior", "section-display": "Display", "option-spellcheck": "Stavekontroll", "option-spellcheck-description": "Skrur på stavekontroll. Dette funker enn så lenge bare for engelsk (US)", "spellcheck-languages": "Spellcheck languages", "spellcheck-languages-description": "Choose the languages for the spellchecker to use.", "spellcheck-languages-mac-description": "The native spellchecker will automatically detect the language being used for you on macOS.", "spellcheck-dict": "Ordbok for stavekontroll", "spellcheck-dict-empty": "Ordboken er tom.", "option-show-inline-title": "Vis filnavn som tittel med innhold", "option-show-inline-title-description": "Viser filnavn som overskrift som kan endres sammen med innehold.", "option-readable-line-length": "Lesbar lengde på linjene", "option-readable-line-description": "Begrenser lengden på hver linje. Mindre innhold får plass på skjermen, men lange avsnitt blir enklere å lese.", "option-strict-line-break": "Nøye linjeskift", "option-strict-line-break-description": "Krever doble linjeskift, slik som i Markdown-spesifikasjonene. Skru denne av for å vise enkle linjeskift i forhåndsvisningsmodus.", "option-properties-in-document": "Properties in document", "option-properties-in-document-description": "Choose how properties are displayed within the editor. Select \"source\" to have the properties displayed as YAML.", "option-properties-hidden": "Hidden", "option-properties-visible": "Visible", "option-properties-source": "Source", "option-auto-pair-brackets": "Automatiske parenteser", "option-auto-pair-brackets-description": "Lukker parenteser og anførselstegn automatisk.", "option-auto-pair-markdown": "Automatisk Markdown syntaks", "option-auto-pair-markdown-description": "Setter automatisk inn symboler for kursiv og fet skrift.", "option-smart-indent-lists": "Smarte lister", "option-smart-indent-lists-description": "Tar hånd om innrykk og listetegn for deg.", "option-fold-heading": "Skjul under overskrift", "option-fold-heading-description": "Lar deg skjule innholdet under hver overskrift.", "option-fold-indent": "Skjul under innrykk", "option-fold-indent-description": "Lar deg skjule innhold som er innrykket, som for eksempel innhold under en liste.", "option-default-new-tab-view": "Default view for new tabs", "option-default-new-tab-view-description": "The default view that a new Markdown tab gets opened in.", "option-default-new-tab-view-editing": "Editing view", "option-default-new-tab-view-reading": "Reading view", "option-open-tab-in-foreground": "Alltid fokuser på nye tabs", "option-open-tab-in-foreground-description": "Hvis du åpner leng tik nytt tab, hopp til den med en gang.", "option-default-editing-mode": "Default editing mode", "option-default-editing-mode-description": "The default editing mode a new pane will start with.", "option-default-editing-mode-source": "Source mode", "option-default-editing-mode-live-preview": "Live Preview", "option-show-line-number": "Vis linjenummer", "option-show-line-number-description": "Viser linjenummer ved siden av innholdet.", "option-indentation-guide": "Show indentation guides", "option-indentation-guide-description": "Show vertical relationship lines between bullet points for visual guidance.", "option-use-tabs": "Bruk tab-er", "option-use-tabs-description": "Setter inn et tab-tegn når du trykker \"Tab\"-knappen. Skru funksjonen av for å bruke mellomrom-tegn.", "option-tab-size": "Tab size", "option-tab-size-description": "Number of spaces a tab is equivalent to.", "option-rtl": "Right-to-left (RTL)", "option-rtl-description": "Sets the text direction of notes to display in right-to-left.", "option-auto-convert-html": "Auto convert HTML", "option-auto-convert-html-description": "Automatically convert HTML to Markdown when pasting and drag-and-drop from webpages. Use Ctrl/Cmd+Shift+V to paste without conversion.", "option-vim-key-bindings": "Vim-hurtigtaster", "option-vim-key-bindings-description": "Lar deg bruke hurtigtaster som i Vim.", "option-vim-key-bindings-mobile": "On mobile devices, this setting is per-device and is not synchronized through the config file.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Confirm entering Vim mode", "label-vim-warning": "Vim mode is for efficient text editing but can be quite counter-intuitive. If you're not familiar with Vim, this option might make it look like Obsidian has stopped working.", "label-vim-test": "To verify that you know your way around Vim, please enter the command to quit Vim without saving below:", "label-vim-your-answer": "Your answer", "placeholder-enter-command": "Enter command...", "button-confirm-enable-vim": "Let me enable Vim", "msg-vim-mode-enabled": "Command is correct. Vim mode now enabled.", "msg-vim-mode-not-enabled": "Command is incorrect. Vim mode remains disabled to protect you.", "msg-vim-mode-please-enter-command": "Please enter the command to enable Vim mode" }, "file": { "name": "Files & Links", "option-confirm-file-deletion": "Bekreft sletting", "option-confirm-file-deletion-description": "Hvorvidt du ønsker å bli spurt før du sletter en fil.", "option-delete-destination": "Slettede filer", "option-delete-destination-description": "Hva du ønsker å gjøre med slettede filer.", "option-choice-system-trash": "Flytt til systemets papirkurv", "option-choice-vault-trash": "Flytt til Obsidians papirkurv (.trash-mappen)", "option-choice-permanent-delete": "Slett permanent", "option-always-update-links": "Alltid oppdater lenker", "option-always-update-links-description": "Hvorvidt du vil oppdatere lenker automatisk eller bli spurt hver gang du endrer navn på en fil.", "option-new-note-location": "Standard plassering av nytt notat", "option-new-note-location-description": "Hvor nye notater skal plasseres. Innstillinger for utvidelsene overkjører denne regelen.", "option-choice-vault-root": "Hvelvets rotmappe", "option-choice-current-folder": "Samme mappe som filen er i", "option-choice-specified-folder": "Egendefinert mappe (spesifisert nedenfor)", "option-new-file-folder-path": "Nye notater plasseres i denne mappen:", "option-new-file-folder-path-description": "Innstillinger for utvidelsene overkjører denne regelen.", "option-use-wiki-links": "Use [[Wikilinks]]", "option-use-wiki-links-description": "Auto-generate Wikilinks for [[links]] and ![[images]] instead of Markdown links and images. Disable this option to generate Markdown links instead.", "option-show-unsupported-files": "Detect all file extensions", "option-show-unsupported-files-description": "Show files with any extension even if Obsidian can't open them natively, so that you can link to them and see them in File Explorer and Quick Switcher.", "option-link-autocompleted-format": "Format på nye lenker", "option-link-autocompleted-format-description": "Hvilket format som ønskes på automatisk genererte interne lenker.", "option-choice-shortest-linktext": "Kortest mulig søkesti", "option-choice-relative-path": "Relativ søkesti til filen", "option-choice-absolute-path": "Absolutt søkesti, relativt til hvelvet", "option-new-attachment-location": "Default location for new attachments", "option-new-attachment-location-description": "Where newly added attachments are placed.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "In subfolder under current folder", "option-attachment-folder-path": "Søkesti til vedleggsmappe", "option-attachment-folder-path-description": "Nye vedlegg plasseres her. Dette kan være bilder lagt til via copy-paste eller lydinnspillinger.", "option-attachment-subfolder-path": "Subfolder name", "option-attachment-subfolder-path-description": "If your file is under \"vault/folder\", and your set subfolder name to \"attachments\", attachments will be saved to \"vault/folder/attachments\".", "option-excluded-files": "Excluded files", "option-excluded-files-desc": "Excluded files will be either hidden or less noticeable in various places, such as Quick Switcher, link suggestion, and Graph View.", "label-no-excluded-filters-applied": "No excluded filter is applied right now. Add one below.", "label-excluded-filters-applied": "Files matching the following filters are currently excluded:", "label-excluded-filter": "Filter", "message-empty-filter": "Filter cannot be empty", "placeholder-excluded-filter": "Enter path or \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Programstil", "option-base-theme": "Base theme", "option-base-theme-description": "Choose Obsidian’s default color scheme.", "option-accent-color": "Accent color", "option-accent-color-description": "Choose the accent color used throughout the app.", "dark-theme": "Dark", "light-theme": "Light", "system-theme": "Adapt to system", "option-font": "Font", "option-advanced": "Advanced", "option-interface": "Interface", "option-interface-font": "Interface font", "option-interface-font-description": "Set base font for all of Obsidian.", "option-zoom-level": "Zoom level", "option-zoom-level-description": "Controls the overall zoom level of the app.", "option-text-font": "Text font", "option-text-font-description": "Set font for editing and reading views.", "option-monospace-font": "Monospace font", "option-monospace-font-description": "Set font for places like code blocks and frontmatter.", "label-single-font-currently-in-effect": " Currently applied font: ", "label-multiple-fonts-currently-in-effect": " The following fonts are currently applied:", "option-font-placeholder": "Enter font name...", "label-no-custom-font-set": "No custom font is applied right now. Add one below.", "label-font-applied": "The first font from this list that is available on your system will be applied.", "msg-font-not-found": "This font is not detected on your system.", "msg-font-found": "This font is detected on your system.", "label-font-name": "Font name", "option-community-themes": "Åpne Brukerstiler", "option-community-themes-description": "Forhåndsvis og bruk stiler lagd av andre brukere.", "button-browse-community-themes": "Browse", "option-font-size": "Font size", "option-font-size-description": "Font size in pixels that affects editor and preview.", "option-font-size-action": "Quick font size adjustment", "option-font-size-action-description": "Adjust the font size using Ctrl + Scroll, or using the trackpad pinch-zoom gesture.", "option-themes": "Themes", "option-manage-themes-description": "Manage installed themes and browse community themes.", "option-theme-button-manage": "Manage", "option-choice-none": "None", "option-native-menus": "Native menus", "option-native-menus-desc": "Menus throughout the app will match the operating system. They will not be affected by your theme.", "button-reload-themes": "Reload themes", "msg-reloaded-themes": "Reloaded custom CSS themes.", "button-open-themes-folder": "Open themes folder", "option-css-snippets": "CSS snippets", "label-no-css-snippets-found": "No CSS snippets found in the snippets folder.", "no-snippet-description": "CSS Snippets are stored in \"{{path}}\".", "button-reload-snippets": "Reload snippets", "button-open-snippets-folder": "Open snippets folder", "msg-reloaded-snippets": "Reloaded CSS snippets.", "option-toggle-snippet-description": "Apply CSS snippet at \"{{path}}\".", "label-installed-themes": "Installed themes", "label-screenshot-unavailable": "Screenshot unavailable", "label-default-theme": "Default", "tooltip-click-to-enlarge": "Click to enlarge", "button-update": "Update", "label-currently-active": "Active", "option-frame-style": "Window frame style", "option-frame-description": "Determines the styling of the title bar of Obsidian windows. Requires a full restart to take effect.", "option-frame-hidden": "Hidden (default)", "option-frame-obsidian": "Obsidian frame", "option-frame-native": "Native frame", "option-custom-icon": "Custom app icon", "option-custom-icon-desc": "Set a custom icon for the app", "button-choose-custom-icon": "Choose custom icon", "option-configure-ribbon": "Ribbon menu", "option-configure-ribbon-desc": "Configure what commands appear in the ribbon menu in the navigation bar.", "option-mobile-quick-ribbon-item": "Quick access ribbon item", "option-mobile-quick-ribbon-item-desc": "Tapping on the ribbon item in the navigation menu will active this ribbon item. Tap and hold will still show the menu.", "option-mobile-quick-ribbon-default": "Open ribbon menu", "button-configure": "Configure", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "Other ribbon items", "label-modal-configuration": "Ribbon Configuration", "label-modal-configuration-desc": "Choose what items you want to be active in the ribbon. Drag and drop to change the order.", "option-show-view-header": "Show tab title bar", "option-show-view-header-desc": "Display the header at the top of every tab.", "msg-updates-found": "Found {{count}} theme to update.", "msg-updates-found_plural": "Found {{count}} themes to update.", "button-check-for-updates": "Check for updates", "button-view-updates": "View updates", "button-update-all-themes": "Update all", "label-current-themes": "Current community themes", "label-currently-installed": "You currently have {{count}} theme installed.", "label-currently-installed_plural": "You currently have {{count}} themes installed." }, "hotkeys": { "name": "Hurtigtaster", "option-search": "Search hotkeys", "option-search-desc": "Showing {{count}} hotkey. ", "option-search-desc_plural": "Showing {{count}} hotkeys. ", "option-search-conflict": "{{count}} command with conflicts.", "option-search-conflict_plural": "{{count}} commands with conflicts.", "prompt-filter": "Filtrer...", "tooltip-delete-hotkey": "Slett hurtigtast", "label-waiting-for-hotkey-press": "Trykk hurtigtast...", "label-show-all": "All", "label-show-unassigned": "Unassigned", "label-show-assigned": "Assigned", "label-show-user-assigned": "Assigned by me", "tooltip-restore-default": "Tilbake til standard", "tooltip-customize-command": "Endre hurtigtast", "tooltip-hotkey-single-conflict": "This hotkey conflicts with \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "This hotkey conflicts with {{count}} other commands", "label-blank-hotkey": "Blank" }, "about": { "name": "Om", "label-commercial-license": "Commercial license", "label-license-key": "Lisensnøkkel", "license-key-placeholder": "Din lisensnøkkel...", "label-activate-license": "Aktiver lisens", "button-activate": "Aktiver", "label-unknown-version": "Ukjent", "label-current-version": "Gjeldende versjon: ", "label-install-version": "(Versjon av installasjonsprogram: {{version}})", "label-up-to-date": "Obsidian er oppdatert!", "label-read-changelog": "Les endringsloggen.", "label-manual-update-required": "To support the latest features and to receive the latest security patches, Obsidian needs a major installer update. You need to manually download and reinstall Obsidian.", "label-new-version-ready": "En ny versjon er klar til å bli installert. ", "label-disabled-updates": "Oppdateringer er deaktivert.", "button-relaunch": "Start på nytt", "button-check-for-updates": "Se etter oppdateringer", "option-auto-update": "Automatiske oppdateringer", "option-auto-update-description": "Skru av for å forhindre Obsidian fra å se etter nye oppdateringer.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Get help", "option-get-help-description": "Get help on using Obsidian.", "button-open": "Åpne", "option-language": "Språk", "option-language-description": "Endre språket.", "option-insider-build": "Få Insider-versjoner", "option-insider-build-description": "Oppgrader til Insider-versjoner for å teste de nyeste funksjonene. Vær oppmerksom på at disse versjonene kan være mindre stabile.", "option-advanced": "Advanced", "option-hw-acceleration": "Hardware Acceleration", "option-hw-acceleration-description": "Turns on Hardware Acceleration, which uses your GPU to make Obsidian smoother.", "option-hw-acceleration-warning": "If you turn this off, app performance will be severely degraded.", "option-config-location": "Override config folder", "option-config-location-description": "Use a different config folder than the default one. Must start with a dot.", "option-config-location-warning": "Config location must be a valid folder name that starts with a dot.", "label-license": "Lisens", "label-your-commercial-license-key": "Your commercial license key is \"{{key}}\".", "label-commercial-license-info": "Registrert på \"{{company}}\" for {{seats}} brukere. Gyldig til {{expiry}}.", "label-validating-commercial-license": "Validerer..", "label-invalid-commercial-license": "Ugyldig lisens: ", "button-remove-commercial-license": "Remove", "option-catalyst": "Catalyst license", "option-catalyst-desc": "You currently have the {{tier}} Catalyst license. Thanks for your support!", "option-catalyst-desc-no-license": "You don't have a Catalyst license right now. Catalyst license is a one-time donation to support Obsidian development.", "label-app": "App", "label-add-own-language": "See how to add your language to Obsidian." }, "account": { "name": "Bruker", "option-your-account": "Your account", "option-your-account-desc": "Du er logget inn som {{name}} ({{email}}).", "option-your-account-desc-no-login": "Du er ikke logget inn nå. Brukeren trenges bare for Obsidian Sync, Obsidian Publish, og Catalyst insider builds.", "label-insider": "insider", "label-supporter": "supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Upgrade", "option-commercial-license": "Commercial license", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Purchase", "button-log-out": "Logg ut", "label-log-in": "Logg inn", "label-sign-up": "Sign up", "label-email": "Email", "placeholder-email": "Din email...", "label-name": "Full name", "label-password": "Passord", "placeholder-password": "Ditt passord...", "label-forgot-password": "Forgot password?", "button-login": "Log inn", "message-empty-email": "Du må oppgi en email.", "message-invalid-email": "Ugyldig email.", "message-empty-password": "Du må oppgi et passord.", "message-login-failed": "Innlogging feilet, vennligst sjekk at emailen og passordet er riktig.", "message-signup-failed": "Failed to sign up", "label-no-account": "Har du ikke en bruker? ", "link-sign-up-now": "Registrer deg nå", "label-mfa-code": "6-digit 2FA code", "mfa-wrong-format": "The 2FA authenticator code must be 6 digits.", "mfa-verification-failed": "2FA code is incorrect, please double check your authenticator app." }, "core-plugin": { "plugin-list": "Plugin list", "option-search-plugin": "Search core plugins", "option-search-plugin-description": "Filter plugins by name or description.", "placeholder-search-plugin": "Search plugins..." }, "third-party-plugin": { "name": "Third-party plugin", "option-restricted-mode": "Restricted mode", "option-restricted-mode-description": "Restricted Mode is off. Turn on to disable community plugins.", "button-turn-on": "Turn on", "option-browse-community-plugins": "Community plugins", "option-browse-community-plugins-description": "Browse and install third-party plugins made by our amazing community.", "button-browse": "Browse", "label-exit-restricted-mode": "Exit Restricted Mode", "label-exit-restricted-mode-description-1": "Community plugins, like any other software you install, could potentially cause data integrity and security issues.", "label-exit-restricted-mode-description-2": "Plugin security is important to us. Here's what we do:", "label-exit-restricted-mode-description-3": "Despite our efforts, there is still a small chance that a community plugin might misbehave.", "label-code-review": "Initial code review", "label-code-review-desc": "Plugins undergo an initial code review by our team before they appear in the store.", "label-open-source": "Open source", "label-open-source-desc": "Most plugins are open source on GitHub, so you can inspect the code yourself.", "label-peer-audit": "Peer audit", "label-peer-audit-desc": "We have a large community of developers who watch out for each other.", "label-report-mechanism": "Report mechanism", "label-report-mechanism-desc": "We follow up and remove faulty plugins upon user report.", "label-exit-restricted-mode-disable-confirmation": "Would you like to exit Restricted Mode to enable community plugins? We strongly recommend making backups of your data before doing so.", "label-learn-more": "Learn more about plugin security", "button-turn-on-community-plugins": "Turn on community plugins", "label-trust-author": "Do you trust the author of this vault?", "label-trust-author-description-1": "You're opening this vault for the first time, and it comes with some plugins.", "label-trust-author-description-2": "If you obtained this vault from someone else, please note that plugins of unknown origin might pose security risks.", "label-trust-author-description-3": "If you do not fully trust the author of this vault, we recommend staying in Restricted Mode, so the plugins in this vault do not run.", "button-enable-plugins": "Trust author and enable plugins", "button-dont-trust-author": "Browse vault in Restricted Mode", "placeholder-community-plugins": "Search community plugins...", "msg-failed-load-plugins": "Failed to load community plugins.", "label-installed": "Installed", "button-install": "Install", "button-enable": "Enable", "button-disable": "Disable", "button-copy-share-link": "Copy share link", "button-donate": "Donate", "label-no-results-found": "No results found.", "label-no-recent-files-found": "No recent files found. Type to search...", "msg-failed-to-load-manifest": "Failed to load plugin manifest.", "label-version": "Version: {{version}}", "label-currently-installed-version": " (currently installed: {{version}})", "label-by-author": "By ", "label-repository": "Repository: ", "label-last-update": "Last update: ", "tooltip-view-last-update": "View the latest update", "label-unsupported": "This plugin does not support your device.", "button-update": "Update", "label-no-readme": "This plugin did not provide a README file.", "msg-installing-plugin": "Installing plugin \"{{name}}\"...", "msg-failed-to-install-plugin": "Failed to install plugin \"{{name}}\".", "msg-successfully-installed-plugin": "Successfully installed plugin \"{{name}}\".", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Installed plugins", "button-reload-plugins": "Reload plugins", "msg-reloaded-third-party-plugins": "Reloaded third-party plugins.", "label-uninstall": "Uninstall", "label-uninstall-plugin": "Uninstall plugin", "label-uninstall-plugin-confirmation": "Are you sure you want to uninstall this plugin? This will delete the folder of the plugin.", "button-open-plugins-folder": "Open plugins folder", "button-check-for-updates": "Check for updates", "button-update-all-plugins": "Update all", "label-current-plugins": "Current plugins", "label-currently-installed": "You currently have {{count}} plugin installed.", "label-currently-installed_plural": "You currently have {{count}} plugins installed.", "msg-no-updates-found": "No plugin updates found.", "msg-updates-found": "Found {{count}} plugin to update.", "msg-updates-found_plural": "Found {{count}} plugins to update.", "msg-update-plugin": "Update to version {{version}}", "option-search-installed-plugin": "Search installed plugins", "option-search-installed-plugin-description": "Filter installed plugins by name or description.", "placeholder-search-installed-plugin": "Search installed plugins...", "show-installed-only": "Show installed only", "label-donate-modal-title": "Donate to support {{name}}", "label-donate-modal-text1": "Plugin developers are community volunteers who make amazing things out of passion. If you find this plugin useful, please consider funding its development.", "label-donate-modal-text2": "100% of your contribution will go to the plugin developer; Obsidian does not take a cut. The funding platform they choose might charge a fee.", "label-donate-modal-text3": "Thanks for your generous support!", "label-support-this-plugin": "Support this plugin:", "label-search-summary": "Showing {{pluginCount}}:", "label-by-popularity": "Most downloaded", "label-by-released": "Recently released", "label-by-updated": "Recently updated", "label-alphabetical": "Alphabetical", "label-last-updated": "Updated {{time}}" }, "mobile-toolbar": { "name": "Mobile toolbar", "option-configure-quick-action": "Configure mobile Quick Action", "option-configure-quick-action-description": "Configure which command to trigger when pull down from the top. The current command is set to \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "Configure", "placeholder-select-quick-action": "Select Quick Action...", "quick-action-disabled": "None", "manage-toolbar-options": "Manage toolbar options", "option-internal-link": "Add internal link", "option-internal-embed": "Add embed", "option-tag": "Add tag", "option-heading": "Toggle heading", "option-strikethrough": "Toggle strikethrough", "option-highlight": "Toggle highlight", "option-code": "Toggle code", "option-blockquote": "Toggle blockquote", "option-inline-math": "Toggle inline math", "option-math-block": "Toggle math block", "option-markdown-link": "Add Markdown link", "option-bullet-list": "Toggle bullet list", "option-numbered-list": "Toggle numbered list", "option-indent-list": "Indent list item", "option-unindent-list": "Unindent list item", "option-undo": "Undo", "option-redo": "Redo", "option-move-caret-up": "Move caret up", "option-move-caret-down": "Move caret down", "option-move-caret-left": "Move caret left", "option-move-caret-right": "Move caret right", "option-first-line": "Go to first line", "option-last-line": "Go to last line", "option-toggle-keyboard": "Toggle keyboard", "option-configure-toolbar": "Configure mobile toolbar", "option-added-options": "Added options", "option-more-toolbar-options": "More toolbar options", "option-attach": "Insert attachment", "option-add-command": "Add global command", "option-add-command-description": "Select any global command to add to the toolbar." } }, "editor": { "search": { "placeholder-find": "Find", "placeholder-replace": "Replace", "label-exit-search": "Lukk søk", "label-next": "Neste", "label-previous": "Forrige", "label-find-all": "Find all", "label-replace": "Erstatt", "label-replace-all": "Erstatt alle" }, "link-suggestion": { "label-type-hash": "Skriv #", "label-link-heading": "for overskriftslenker", "label-type-block": "Type ^", "label-link-block": "to link blocks", "label-type-pipe": "Skriv |", "label-change-display-text": "for å endre tekst på lenke", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "No match found", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Ingen forslag...", "add-to-dictionary": "legg til i ordbok" }, "menu": { "edit-link": "Edit link", "edit-tag": "Edit tag", "label-edit-block": "Edit this block", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "No heading", "label-heading-level": "Heading {{level}}" }, "print-modal": { "title": "Export to PDF", "caption": "Export \"{{filename}}\" to PDF with the setting below.", "setting-page-size": "Page size", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Include file name as title", "setting-landscape": "Landscape", "setting-margin": "Margin", "setting-margin-default": "Default", "setting-margin-minimal": "Minimal", "setting-margin-none": "None", "setting-downscale-percent": "Downscale percent", "button-export-to-pdf": "Export to PDF" }, "link-popover": { "tooltip-follow-link": "Follow link", "tooltip-open-link": "Open link", "tooltip-search-tag": "Search tag" } }, "interface": { "embed-cannot-find": "Cannot find:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Åpne i standardapp", "empty-sidebar": "Sidestolpen er tom, prøv å dra et panel hit.", "sidebar-expand": "Utvid", "sidebar-collapse": "Lukk", "msg-fail-to-save-file": "Lagring av \"{{filepath}}\" feilet. {{message}}.", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "Ingen fil", "msg-file-changed": "\"{{file}}\" has been modified externally, merging changes automatically.", "switch-vault": "Åpne et annet hvelv", "manage-vaults": "Manage vaults...", "help": "Hjelp", "settings": "Innstillinger", "drag-to-rearrange": "Dra for å omordne", "msg-switched-to-read": "Switched default view mode to reading view.", "msg-switched-to-edit": "Endret standard modus til editor.", "msg-upgrade-installer": "To use this feature, please re-install with latest installer available from our website.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Restore default settings", "label-copy": "Copy to clipboard", "label-copy-short": "Copy", "copied_generic": "Copied to your clipboard", "copied": "{{item}} copied to your clipboard", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "Url", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Opened file \"{{path}}\"", "msg-file-not-found-through-uri": "File \"{{name}}\" not found.", "delete-action-short-name": "Delete", "msg-indexing": "Obsidian is indexing your vault...\nThis should only happen once.\nSome functionality may not be available until this is complete.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indexing complete.", "msg-sandbox-vault": "This is a sandbox vault.\nChanges you make in this vault will be lost.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Enter to create", "label-update-available": "Update Available", "label-debug-info": "Debug info", "button-learn-more": "Learn more", "button-not-now": "Not now", "button-add": "Add", "button-manage": "Manage", "label-new-tab": "New tab", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "This tab is currently busy, please try again later", "formatting": { "label-formatting": "Format", "label-paragraph": "Paragraph", "label-insert": "Insert", "insert-link": "Add link", "insert-external-link": "Add external link", "insert-callout": "Callout", "insert-horizontal-rule": "Horizontal rule", "insert-code-block": "Code block", "insert-math-block": "Math block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comments": "Comment", "toggle-highlight": "Highlight", "toggle-italics": "Italic", "toggle-strikethrough": "Strikethrough", "toggle-math": "Math", "toggle-bullet-list": "Bullet list", "toggle-checklist": "Task list", "toggle-numbered-list": "Numbered list", "set-heading": "Heading {{level}}", "no-heading": "Body", "clear": "Clear formatting", "toggle-quote": "Quote" }, "empty-state": { "no-file-open": "Ingen åpne filer", "create-new-file": "Lag ny fil", "go-to-file": "Gå til fil", "see-recent-files": "Se nylig brukte filer", "close": "Lukk", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Plugin no longer active", "unknown-pane-desc": "The plugin that created this pane ({{type}}) has gone away" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Rediger (Ctrl/Cmd+Klikk for å redigere i nytt panel)", "read-view": "Current view: reading", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "Click to edit", "switch-to-read-view": "Click to read", "mod-click-open-new-tab": "{{key}}+Click to open in new tab", "find": "Finn...", "replace": "Erstatt...", "edit": "Rediger", "remove": "Remove", "rename": "Rename", "preview": "Forhåndsvisning", "more-options": "Flere valg", "close": "Lukk", "close-all": "Close all", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Close others", "close-after": "Close tabs after", "pin": "Fest", "unpin": "Unpin", "unlink-tab": "Unlink tab", "link-tab": "Link with tab...", "toggle-source-mode": "Source mode", "toggle-reading-view": "Reading view", "add-property": "Add file property", "delete-file": "Slett fil", "create-file": "Create this file", "open-link": "Open link", "open-in-new-tab": "Open in new tab", "open-to-the-right": "Open to the right", "copy-url": "Copy url", "copy": "Copy", "cut": "Cut", "paste": "Paste", "paste-as-plain-text": "Paste as plain text", "lookup-selection": "Look up “{{selection}}”", "select-all": "Select all", "rename-heading": "Rename this heading...", "rename-blockid": "Rename this block ID...", "open-in-new-window": "Open in new window", "move-to-new-window": "Move to new window", "open-in-browser": "Open in browser", "stack-tabs": "Stack tabs", "unstack-tabs": "Unstack tabs", "open-linked-view": "Open linked view" }, "tooltip": { "click-to-expand": "Klikk for å utvide", "click-to-collapse": "Klikk for å lukke", "alias": "Alias", "not-created-yet": "Not created yet, select to create" }, "start-screen": { "label-version": "Version", "label-create-local-vault": "Create local vault", "option-open-folder-as-vault": "Open folder as vault", "option-open-folder-as-vault-description": "Choose an existing folder of Markdown files.", "option-create-vault": "Create new vault", "option-create-vault-description": "Create a new Obsidian vault under a folder.", "option-connect-obsidian-sync": "Connect to Obsidian Sync", "option-connect-obsidian-sync-description": "Set up a synced vault with existing remote vault.", "option-new-vault-name": "Vault name", "option-new-vault-name-description": "Pick a name for your awesome vault.", "option-new-vault-location": "Location", "option-new-vault-location-description": "Pick a place to put your new vault.", "label-new-vault-location-preview": "Your new vault will be placed in: ", "option-reveal-vault-in-explorer": "Reveal vault in system explorer", "option-reveal-vault-in-explorer-mac": "Reveal vault in Finder", "option-rename-vault": "Rename vault...", "option-copy-vault-i-d": "Copy vault ID", "msg-error-rename-exists": "There is already a vault with this name.", "msg-error-nested": "Cannot move vault into a subfolder of itself.", "msg-error-rename-open": "Can't rename a currently open vault.", "msg-rename-failed": "Failed to rename vault.", "msg-rename-success": "Successfully renamed vault.", "option-move-vault": "Move vault...", "msg-move-select-dest": "Select destination folder", "msg-error-move-exists": "There is already a vault at the destination.", "msg-error-move-open": "Can't move a currently open vault.", "msg-move-failed": "Failed to move vault.", "msg-move-success": "Successfully moved vault.", "option-remove": "Remove from list", "button-quick-start": "Quick start", "button-open": "Open", "button-browse": "Browse", "button-connect": "Connect", "button-create-vault": "Create", "button-back": "Back", "msg-empty-vault-name": "Vault name cannot be empty.", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "Please pick a valid folder.", "msg-failed-to-create-vault": "Failed to create vault.", "msg-failed-to-create-vault-at-location": "Could not create vault at the given location. Please double check the location and permission.", "msg-error-failed-to-open-vault": "Failed to open.", "msg-error-remove-current-open-vault": "Can't remove a currently open vault.", "option-get-help": "Get Help", "option-user-email": "Email", "placeholder-your-email": "Your email...", "option-user-password": "Password", "placeholder-your-password": "Your password...", "button-sign-in": "Sign in", "button-setup": "Setup", "option-connect-vault-desc": "Create a synced vault on this device.", "tooltip-own-vault": "This is a remote vault owned by you.", "tooltip-shared-vault": "This is a remote vault shared with you.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Welcome", "welcome-file-content": "This is your new *vault*.\n\nMake a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nWhen you're ready, delete this note and make the vault your own." }, "drag-and-drop": { "insert-link-here": "Insert link here", "insert-links-here": "Insert links here", "move-into-folder": "Move into \"{{folder}}\"", "star-this-file": "Star this file", "star-these-files": "Star these files", "open-in-this-tab": "Open in this tab", "open-as-tab": "Open as new tab" }, "window": { "maximize": "Maximize", "minimize": "Minimize", "restore-down": "Restore down", "close-window": "Close window", "go-back": "Go back", "go-forward": "Go forward" }, "start-up": { "loading-obsidian": "Loading Obsidian...", "obsidian-load-error": "An error occurred while loading Obsidian.", "button-reload-app": "Reload app", "button-reload-app-in-safe-mode": "Reload app in safe mode", "button-open-another-vault": "Open another vault", "loading-plugins": "Loading plugins...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Loading vault...", "msg-failed-to-load-vault": "Failed to load vault: ", "loading-cache": "Loading cache...", "loading-workspace": "Loading workspace..." }, "mobile": { "action-import": "Import into vault", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "Choose a file to insert", "action-insert-text-into-file": "Insert text into {{filename}}", "action-insert-link-into-file": "Insert link into {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "Importing...", "msg-import-success": "Import success", "msg-failed-to-import-file": "Failed to import file {{filename}}", "msg-back-again-to-exit": "Press back again to exit.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Official help site", "label-official-help-site-desc": "Read the official help documentation of Obsidian, available in multiple languages.", "action-visit": "Visit", "label-discord-chat": "Discord chat", "label-discord-chat-desc": "Discord is the best place to chat with other experienced Obsidian users from around the world.", "action-join": "Join", "label-forum": "Official forum", "label-forum-desc": "Help each other, post feature requests, report bugs, and have in-depth discussions about knowledge management.", "label-sandbox-vault": "Sandbox vault", "label-sandbox-vault-desc": "Play around and experiment with various features. Please note your changes will not be saved." } }, "commands": { "save-file": "Lagre denne filen", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Følg denne lenken", "open-cursor-link-in-new-tab": "Open link under cursor in new tab", "open-cursor-link-to-the-right": "Open link under cursor to the right", "open-cursor-link-in-new-window": "Open link under cursor in new window", "navigate-tab-above": "Focus on tab group above", "navigate-tab-below": "Focus on tab group below", "navigate-tab-left": "Focus on tab group to the left", "navigate-tab-right": "Focus on tab group to the right", "toggle-pin": "Veksle feste", "split-right": "Split right", "split-down": "Split down", "toggle-stacked-tabs": "Toggle stacked tabs", "navigate-back": "Naviger tilbake", "navigate-forward": "Naviger fremover", "use-dark-mode": "Bruk mørkt tema", "use-light-mode": "Bruk lyst tema", "change-theme": "Change theme", "search-current-file": "Søk i gjeldende fil", "search-replace-current-file": "Søk og erstatt i gjeldende fil", "add-property": "Add file property", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Clear file properties", "open-settings": "Åpne innstillinger", "open-help": "Åpne hjelpetekst", "toggle-edit": "Toggle editing/reading view", "toggle-source-mode": "Toggle Live Preview/Source mode", "delete-current-file": "Slett gjeldende fil", "new-tab": "New tab", "show-trash": "Show trash", "close-all-tabs": "Close all tabs", "close-active-tab": "Close current tab", "close-others-in-tab-group": "Close others in tab group", "close-other-tabs": "Close all other tabs", "close-tab-group": "Close this tab group", "toggle-left-sidebar": "Åpne/lukk venstre sidestolpe", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "Åpne/lukk høyre sidestolpe", "toggle-default-new-tab-mode": "Toggle default mode for new tabs", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "Focus on editor", "toggle-fold-properties": "Toggle fold properties in current file", "toggle-fold": "Åpne/skjul innhold på gjeldende linje", "fold-all": "Skjul under alle overskrifter og lister", "unfold-all": "Vis alt under overskrifter og lister", "fold-more": "Fold more", "fold-less": "Fold less", "swap-line-up": "Flytt linje oppover", "swap-line-down": "Flytt linje nedover", "remove-heading": "Remove heading", "toggle-heading": "Set as heading {{level}}", "toggle-bold": "Fet skrift for markert tekst", "toggle-italics": "Kursiv for markert tekst", "toggle-highlight": "Fremhev markert tekst", "toggle-comments": "Toggle comments for selection", "clear-formatting": "Clear formatting", "insert-link": "Sett inn lenke", "toggle-spellcheck": "Toggle spellcheck", "delete-paragraph": "Slett avsnitt", "toggle-checklist": "Toggle checklist status", "cycle-list-checklist": "Cycle bullet/checkbox", "insert-callout": "Insert callout", "insert-code-block": "Insert code block", "insert-math-block": "Insert math block", "insert-horizontal-rule": "Insert horizontal rule", "insert-table": "Insert table", "insert-footnote": "Insert footnote", "edit-file-title": "Rediger tittel", "copy-path": "Kopier søkesti", "copy-url": "Copy Obsidian URL", "export-pdf": "Export to PDF", "reload": "Reload app without saving", "undo-close-tab": "Undo close tab", "context-menu": "Show context menu under cursor", "show-debug-info": "Show debug info", "open-sandbox-vault": "Open sandbox vault", "always-on-top": "Toggle window always on top", "zoom-in": "Zoom in", "zoom-out": "Zoom out", "reset-zoom": "Reset zoom", "toggle-preview": "Veksle mellom redigering- og forhåndsvisningsmodus", "move-to-new-window": "Move current pane to new window", "open-in-new-window": "Open current pane in new window", "rename-current-file": "Rename current file", "go-to-prev-tab": "Go to previous tab", "go-to-next-tab": "Go to next tab", "go-to-last-tab": "Go to last tab", "go-to-nth-tab": "Go to tab #{{n}}", "show-release-notes": "Show release notes" }, "dialogue": { "label-link-affected": "Dette vil påvirke {{links}} i {{files}}.", "msg-updated-links": "Endret {{links}} i {{files}}.", "label-update-links": "Endre lenker", "label-confirm-update-link-to-file": "Vil du endre lenker som peker til denne filen?", "button-always-update": "Alltid endre", "button-just-once": "Bare denne gangen", "button-do-not-update": "Ikke endre", "label-confirm-deletion": "Er du sikker på at du vil slette \"{{filename}}\"?", "label-move-to-system-trash": "Filen blir flyttet til systemets papirkurv", "label-move-to-vault-trash": "Filen blir flyttet til Obsidians papirkurv, den skjulte mappen \".trash\", plassert i hvelvet ditt.", "label-permanent-delete": "Filen blir slettet permanent.", "label-non-empty-folder": "Denne mappen er ikke tom.", "label-delete-folder-warning": "Hvis du fortsetter, vil alle filer i mappen bli slettet.", "label-delete-folder": "Slett mappe", "button-delete": "Slett", "button-delete-do-not-ask-again": "Slett og ikke spør igjen", "label-do-not-ask-again": "Don't ask again", "label-existing-backlink": "Det er for øyeblikket {{count}} lenke som peker til dette notatet.", "label-existing-backlink_plural": "Det er for øyeblikket {{count}} lenker som peker til dette notatet.", "label-delete-file": "Slett fil", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Manage", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Cancel", "button-download": "Download", "button-done": "Done", "button-save": "Save", "button-stop": "Stop", "button-continue": "Continue", "button-choose": "Choose", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Preparing PDF...", "label-rename-file": "Rename file", "label-rename-file-generic": "File name", "label-new-name": "New name", "msg-rename-success": "Successfully renamed file.", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Rename heading", "label-rename-blockid": "Rename block ID" }, "menu-items": { "new-file": "Create Note", "new-file-to-the-right": "New Note to the Right", "new-window": "New Window", "open-switcher": "Open Quickly...", "open-vault": "Open Vault...", "close-tab": "Close Tab", "close-window": "Close Window", "find": "Find", "replace": "Replace", "insert-callout": "Callout", "insert-markdown-link": "Markdown Link", "insert-wikilink": "Link", "set-heading": "Heading {{level}}", "no-heading": "No Heading", "insert-quote": "Quote", "export-pdf": "Export PDF", "insert-attachment": "Insert Attachment...", "insert-codeblock": "Code Block", "insert-math-block": "Math Block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bullet-list": "Bullet List", "toggle-numbered-list": "Numbered List", "toggle-checklist": "Task List", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comment": "Comment", "toggle-italics": "Italics", "toggle-inline-math": "Math", "toggle-highlight": "Highlight", "toggle-strikethrough": "Strikethrough", "toggle-comments": "Comment", "folding-menu": "Folding", "fold-all": "Fold All", "unfold-all": "Unfold All", "fold-more": "Fold More", "fold-less": "Fold Less", "source-mode": "Source Mode", "reading-view": "Reading View", "show-debug-info": "Show Debug Info", "open-sandbox": "Open Sandbox Vault", "navigate-back": "Navigate Back", "navigate-forward": "Navigate Forward", "toggle-left-sidebar": "Toggle Left Sidebar", "toggle-right-sidebar": "Toggle Right Sidebar", "toggle-ribbon": "Ribbon", "split-right": "Split Right", "split-down": "Split Down", "release-notes": "Release Notes" }, "plugins": { "name": "Utvidelser", "file-explorer": { "name": "Filutforsker", "desc": "Se alle filene i hvelvet ditt.", "action-open": "Open file explorer", "action-show": "Show file explorer", "action-create-note": "Lag nytt notat", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Create new note in current tab", "action-create-note-to-the-right": "Create note to the right", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-new-note": "Nytt notat", "action-new-folder": "Ny mappe", "action-change-sort": "Endre sorteringsrekkefølge", "action-reveal-file": "Vis fil i filutforsker", "action-reveal-active-file": "Vis aktiv fil i filutforsker", "command-make-a-copy": "Make a copy of the current file", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Move file to another folder", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Move file to...", "action-move-folder": "Move folder to...", "action-move-items": "Move {{count}} items to...", "prompt-type-folder": "Type a folder", "label-no-folders": "No folders found.", "instruction-navigate": "to navigate", "instruction-move": "to move", "instruction-create": "to create", "instruction-dismiss": "to dismiss", "label-sort-a-to-z": "Sorter etter navn (A til Å)", "label-sort-z-to-a": "Sort etter navn (Å til A)", "label-sort-new-to-old": "Sorter etter redigeringstid (ny til gammel)", "label-sort-old-to-new": "Sorter etter redigeringstid (gammel til ny)", "label-sort-created-old-to-new": "Sorter etter opprettelsesstid (gammel til ny)", "label-sort-created-new-to-old": "Sorter etter opprettelsesstid (ny til gammel)", "menu-opt-new-note": "Nytt notat", "menu-opt-new-folder": "Ny mappe", "menu-opt-rename": "Endre navn", "menu-opt-delete": "Slett", "menu-opt-make-copy": "Lag en kopi", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "Filnavn kan ikke inneholde noen av de følgende tegnene: ", "msg-unsafe-characters": "Links will not work with file names containing any of these characters: ", "msg-file-already-exists": "Det finnes allerede en fil med det samme navnet", "msg-empty-file-name": "Du må oppgi et filnavn.", "msg-bad-dotfile": "File name must not start with a dot.", "tooltip-modified-time": "Last modified at {{time}}", "tooltip-created-time": "Created at {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Untitled", "label-untitled-folder": "Untitled", "msg-set-attachment-folder": "Attachments will be saved to \"{{path}}\" from now on." }, "search": { "name": "Søk", "desc": "Søk etter nøkkelord i alle notater.", "action-open-search": "Søk i alle filer", "label-collapse-results": "Lukk resultater", "label-match-case": "Skill mellom store og små bokstaver", "label-explain-search-term": "Forklar søkelogikk", "label-more-context": "Vis mer kontekst", "label-result-count": "{{count}} result", "label-result-count_plural": "{{count}} results", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Search settings", "prompt-start-search": "Skriv her for å søke...", "label-match-text": "Søker etter tekst: ", "label-match-regex": "Søker etter regex: ", "label-match-exact-text": "Inneholder nøyaktig tekst: ", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "Contains property:", "label-match-all": "Matcher alle: ", "label-match-any": "Matcher noen: ", "label-excluding": "Ekskluderer: ", "label-case-sensitive": "Skill mellom store og små bokstaver", "label-case-insensitive": "Ikke skill mellom store og små bokstaver", "label-match-file-path": "Søker etter søkesti: ", "label-match-file-name": "Søker etter filnavn: ", "label-match-content": "Søker etter innhold: ", "label-match-task": "Match task: ", "label-match-task-todo": "Match task (todo): ", "label-match-task-done": "Match task (done): ", "label-match-line": "Match line: ", "label-match-block": "Match block: ", "label-match-section": "Match section: ", "label-match-tag": "Søker etter tag: ", "label-no-matches": "Ingen søkeresultater.", "matches-with-count": "... og {{count}} søkeresultat til.", "matches-with-count_plural": "... og {{count}} flere søkeresultater.", "label-copy-search-results": "Copy search results", "button-copy-results": "Copy results", "msg-successfully-copied": "Results copied to your clipboard.", "option-show-path": "Show path", "option-show-path-description": "Display full path of the file rather than just the file name.", "option-link-style": "Link style", "option-link-style-description": "Optionally turn each file result in to a link.", "option-choice-link-style-none": "None", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Markdown link", "option-list-prefix": "List prefix", "option-list-prefix-description": "Optionally add a list item prefix to each file result.", "option-choice-list-style-none": "None", "option-choice-list-style-dash": "Dash (-)", "option-choice-list-style-asterisk": "Asterisk (*)", "option-choice-list-style-numbered": "Numbered", "tooltip-clear-search": "Clear search", "label-search-options": "Search options", "label-properties-group": "Properties", "label-tags-group": "Tags", "tooltip-read-more": "Read more", "label-history": "History", "tooltip-clear-history": "Clear search history", "label-path-option-description": "match path of the file", "label-file-name-option-description": "match file name", "label-tag-option-description": "search for tags", "label-line-option-description": "search keywords on same line", "label-section-option-description": "search keywords under same heading", "label-property-option-description": "match property", "menu-opt-search-for": "Search for \"{{keyword}}\"", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "Hurtigåpner", "desc": "Åpne raskt en annen fil uten å forlate tastaturet. Ctrl/Cmd+O for å aktivere.", "short-name": "Switcher", "action-open": "Åpne hurtigåpner", "instruction-navigate": "for å velge", "instruction-open": "for å åpne", "instruction-open-in-new-tab": "to open in new tab", "instruction-open-to-the-right": "to open to the right", "instruction-create": "for å lage nytt notat", "instruction-dismiss": "for å lukke", "instruction-select": "to select", "label-no-note-create-new": "Ingen notater funnet. Trykk enter for å lage nytt.", "prompt-type-file-name": "Skriv inn notat du vil åpne eller lage...", "label-enter-to-create": "Trykk enter for å lage", "tooltip-not-created-yet": "Not created yet, select to create", "option-show-existing-only": "Show existing only", "option-show-existing-only-description": "Whether to show links to files that are not yet created.", "option-show-attachments": "Show attachments", "option-show-attachments-desc": "Show attachment files like images, videos, and PDFs.", "option-show-all-file-types": "Show all file types", "option-show-all-file-types-desc": "Show all files including ones that Obsidian can't open. The file will be opened with the default app for that file type." }, "graph-view": { "name": "Grafvisnining", "desc": "Se en graf over alle notatene dine, og hvordan de knyttes sammen.", "action-open": "Åpne grafvisning", "action-open-local": "Åpne lokal graf", "action-copy-screenshot": "Kopier skjermbilde", "tab-title": "Graf til {{displayText}}", "label-filters": "Filters", "prompt-filter-nodes": "Search files...", "option-depth": "Depth", "option-depth-description": "Show nodes this number of links away", "option-neighbor-links": "Neighbor links", "option-neighbor-links-description": "Vis koblinger mellom naboer.", "option-forelinks": "Outgoing links", "option-forelinks-description": "Show links to other files", "option-backlinks": "Incoming links", "option-backlinks-description": "Show links from other files", "option-show-tags": "Tags", "option-show-tags-description": "Tags are linked to the files that contain them", "option-show-attachments": "Attachments", "option-show-attachments-description": "Show attachments included by files", "option-show-existing-files-only": "Existing files only", "option-show-existing-files-only-description": "When checked, links to nonexistent files are not shown", "option-show-orphans": "Orphans", "option-show-orphans-description": "Show files that are not linked to any other file", "label-display": "Display", "option-show-arrows": "Arrows", "option-show-arrows-description": "Show arrows when zoomed in", "option-text-fade": "Text fade threshold", "option-node-size": "Node size", "option-link-thickness": "Link thickness", "label-forces": "Forces", "option-center-force": "Center force", "option-link-force": "Link force", "option-link-distance": "Link distance", "option-repel-force": "Repel force", "tooltip-open-graph-settings": "Open graph settings", "msg-screenshot-copied": "Screenshot copied to the clipboard.", "label-groups": "Groups", "placeholder-enter-query": "Enter query...", "tooltip-delete-graph": "Delete group", "button-new-group": "New group", "tooltip-click-to-change-drag-to-reorder": "Click to change color\nDrag to reorder groups", "action-timelapse": "Start graph timelapse animation", "tooltip-start-timelapse-animation": "Start timelapse animation", "button-animate-timelapse": "Animate" }, "backlinks": { "name": "Lenker tilbake", "desc": "Viser antall lenker tilbake til filen på statusbaren.", "action-open": "Vis lenker bakover", "action-show": "Show backlinks pane", "action-open-for-current": "Vis lenker bakover for denne filen", "action-toggle-backlinks-in-document": "Toggle backlinks in document", "menu-opt-backlinks-in-document": "Backlinks in document", "label-linked-mentions": "Lenker som fører hit", "label-no-backlinks": "Ingen lenker ble funnet.", "label-unlinked-mentions": "Potensielle lenker", "label-show-search": "Show search filter", "label-link-button-text": "Lenke", "tab-title": "Lenker som fører til {{displayText}}", "label-no-unlinked-mentions": "Ingen potensielle lenker funnet.", "ellipsis": "...", "option-backlink-in-document": "Backlink in document", "option-backlink-in-document-desc": "Show backlinks in document by default when opening new panes." }, "outgoing-links": { "name": "Outgoing Links", "desc": "Show outgoing links and detect unlinked mentions of other notes in the current note.", "action-open": "Open outgoing links", "action-show": "Show outgoing links pane", "action-open-for-current": "Open outgoing links for the current file", "tab-title": "Outgoing links from {{displayText}}", "label-links": "Links", "label-no-links": "No links found.", "label-unlinked-mentions": "Unlinked mentions", "tooltip-link-file": "Link this file", "tooltip-not-created": "Not created yet" }, "tag-pane": { "name": "Tag-panel", "short-name": "Tags", "desc": "Viser alle tags og antall ganger de er brukt.", "action-show": "Show tag pane", "label-no-tags": "Ingen tags funnet.", "label-sort-by-name-a-to-z": "Tag name (A to Z)", "label-sort-by-name-z-to-a": "Tag name (Z to A)", "label-sort-by-frequency-high-to-low": "Frequency (high to low)", "label-sort-by-frequency-low-to-high": "Frequency (low to high)", "action-show-nested-tags": "Show nested tags", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Egenskapsvisning", "desc": "Vis metadata for filene dine.", "name-global": "Alle egenskaper", "name-local": "Filegenskaper", "tab-title": "Filegenskaper for {{displayText}}", "action-show": "Vis alle egenskaper", "action-show-local": "Vis filegenskaper", "opt-unassign-type": "Frigjør type", "label-no-properties": "Ingen egenskaper funnet.", "label-invalid-properties": "Invalid properties.", "label-sort-by-name-a-to-z": "Navn på egenskap (A til Å)", "label-sort-by-name-z-to-a": "Navn på egenskap (Å til A)", "label-sort-by-frequency-high-to-low": "Frekvens (høy til lav)", "label-sort-by-frequency-low-to-high": "Frekvens (lav til høy)", "msg-merge-properties-warning": "Merge property “{{oldKey}}” with “{{newKey}}”?", "msg-merge-properties-warning-desc": "In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.", "action-collapse-all": "Lukk alle", "action-expand-all": "Utvid alle", "action-open-local": "Åpne filegenskaper", "action-open-daily-note": "Open daily note" }, "page-preview": { "name": "Forhåndsvisning av notat", "desc": "Forhåndsvis notater ved å holde pekeren over en intern lenke. Hold Ctrl/Cmd i redigeringsmodus.", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "\"{{linktext}}\" er ikke lagd enda. Klikk for å åpne.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Editor", "label-source-preview": "Preview", "label-source-search": "Search, Backlinks, and Outgoing links", "label-source-tab-header": "Tab header", "label-require-mod": "Require {{key}} to trigger page preview on hover" }, "bookmarks": { "name": "Bookmarks", "desc": "Bookmark frequently used files and searches.", "action-show": "Show bookmarks", "action-collapse-all": "Collapse all", "action-new-bookmark": "Bookmark the active tab...", "action-new-group": "New bookmark group", "action-bookmark": "Bookmark...", "action-add-bookmark": "Add bookmark", "action-edit-bookmark": "Edit bookmark", "action-bookmark-block": "Bookmark block under cursor...", "action-bookmark-heading": "Bookmark heading under cursor...", "action-bookmark-search": "Bookmark current search...", "action-remove-bookmark": "Remove bookmark for current file", "action-bookmark-tab-group": "Bookmark {{count}} tab...", "action-bookmark-tab-group_plural": "Bookmark {{count}} tabs...", "action-bookmark-all-tabs": "Bookmark all tabs...", "action-bookmark-graph": "Bookmark this graph...", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} bookmark", "label-bookmark-with-count_plural": "{{count}} bookmarks", "label-no-bookmarks": "No bookmarks found", "label-invalid-data": "Failed to load bookmarks.", "label-invalid-data-desc": "The data file is corrupted.", "label-untitled-group": "Untitled group", "label-untitled-graph": "Untitled Graph", "menu-opt-edit": "Edit...", "menu-opt-remove": "Remove", "menu-opt-rename": "Rename", "menu-opt-bookmark-block": "Bookmark this block...", "menu-opt-bookmark-heading": "Bookmark this heading...", "msg-no-search-query": "No search query to bookmark.", "option-path": "Path", "option-query": "Query", "option-u-r-l": "URL", "option-title": "Title", "option-group": "Bookmark group", "placeholder-bookmark-group": "Bookmarks" }, "custom-css": { "name": "Egen CSS", "desc": "Leser av \"obsidian.css\" i hvelvet.", "setting-community-themes": "Stiler av andre brukere", "msg-fetching-themes": "Henter brukerstiler...", "prompt-filter": "Filtrer...", "label-dark-theme-only": "Dark themes only", "label-light-theme-only": "Light themes only", "label-use": "Bruk", "label-stop-use": "Stop using this theme", "label-install-and-use": "Install and use", "label-update": "Update", "label-no-readme": "This theme did not provide a README file.", "tooltip-remove-theme": "Remove theme", "label-visit-on-github": "Se på GitHub", "msg-load-error": "Fikk ikke lastet brukerstiler, vennligst sjekk nettverket.", "msg-now-using-theme": "You're now using {{title}} as your CSS theme.", "msg-deleted-theme": "The theme {{title}} has been deleted.", "msg-updated-theme": "The theme {{title}} has been updated.", "label-installed": "Installed", "label-legacy": "Legacy", "button-update-all-themes": "Update all", "msg-failed-load-themes": "Failed to load community themes.", "msg-no-updates-found": "No theme updates found.", "msg-updates-found": "Found {{count}} theme to update.", "msg-updates-found_plural": "Found {{count}} themes to update.", "msg-failed-to-install-theme": "Failed to install theme \"{{name}}\".", "msg-successfully-installed-theme": "Successfully installed theme \"{{name}}\".", "msg-installing-theme": "Installing theme \"{{name}}\"...", "label-search-summary": "Showing {{themeCount}}:", "label-update-available": "Update available" }, "command-palette": { "name": "Kommandovelger", "desc": "Skriv inn en kommando for å aktivere den, så trenger du hverken huske den eller bruke menyene.", "action-open": "Åpne kommandovelger", "instruction-navigate": "for å velge", "instruction-use": "for å aktivere", "instruction-dismiss": "for å lukke", "label-no-commands": "Ingen kommandoer funnet.", "prompt-type-command": "Skriv en kommando...", "label-pinned-commands": "Pinned commands", "option-add-new-pin": "New pinned command", "option-add-new-pin-description": "Pinned commands will appear at the top of all commands when no search query is present." }, "markdown-format-importer": { "name": "Markdown-importør", "desc": "Konverter Markdown fra andre apper til Obsidians format.", "action-open": "Åpne Markdown-importør", "option-roam-tag-fixer": "Fiks tags fra Roam Research", "option-roam-tag-fixer-description": "Endrer \"#tag\" og \"#[[tag]]\" til \"[[tag]]\".", "option-roam-highlight-fixer": "Fiks highlights fra Roam Research", "option-roam-highlight-fixer-description": "Endrer \"^^highlight^^\" til \"==highlight==\".", "option-roam-todo-converter": "Fiks TODOs fra Roam Research", "option-roam-todo-converter-description": "Endrer \"{{[[TODO]]}}\" til \"[ ]\".", "option-bear-highlight-fixer": "Bear highlight fixer", "option-bear-highlight-fixer-description": "Converts \"::highlight::\" to \"==highlight==\".", "zettelkasten-link-fixer": "Fiks Zettelkasten-lenker", "zettelkasten-link-fixer-description": "Endrer \"[[UID]]\" til det fulle formatet \"[[UID Filnavn]]\".", "zettelkasten-link-beautifier": "Endre til vakre Zettelkasten-lenker", "zettelkasten-link-beautifier-description": "Endrer \"[[UID]]\" til fullt format og gjør dem mer lesbare \"[[UID Filnavn|Filnavn]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Advarsel: Importøren ender alle filene i hvelvet, ikke bare den aktive.", "msg-override-files-warning": "Filene dine blir endret. Lag en backup for du godkjenner.", "label-start-conversion": "Start konvertering", "label-stop": "Stopp", "label-go-back": "Gå tilbake", "label-done": "Ferdig", "label-processing": "Prosesserer...", "label-cancelling": "Stopper...", "label-finished": "Ferdig!", "label-processed-files": "Prosesserte filer", "label-modified-files": "Endrede filer", "label-total-replacements": "Totalt antall endringer", "label-failed": "Failed" }, "daily-notes": { "name": "Daglige notater", "desc": "Åpne dagens notat eller lag en hvis den ikke fins fra før.", "short-name": "Today", "action-open": "Åpne dagens notat", "action-open-previous": "Åpne gårsdagens notat", "action-open-next": "Åpne morgendagens notat", "action-insert-text": "Insert text into daily note", "action-insert-link": "Insert link into daily note", "msg-fail-format": "Klarte ikke å lage notat. \"{{format}}\" er ikke et gyldig format.", "msg-fail-folder": "Klarte ikke å lage notat. Mappen \"{{folderOption}}\" finnes ikke.", "msg-fail-template-file": "Klarte ikke å lage notat. Malen \"{{template}}\" finnes ikke.", "msg-no-previous": "Finnes ingen tidligere dagsnotater.", "msg-no-next": "Finnes ingen dagsnotater etter denne.", "option-date-format": "Datoformat", "label-refer-to-syntax": "For mer syntaks, se: ", "label-syntax-link": "formatreferanse", "label-syntax-live-preview": "Slik vil det set ut: ", "option-new-file-location": "Mappe å plassere nye filer", "option-new-file-location-description": "Søkesti til nye dagsnotater.", "option-template": "Søkesti til mal", "option-template-description": "Filen du vil bruke som mal til dagsnotater.", "option-open-on-start": "Open daily note on startup", "option-open-on-start-description": "Open your daily note automatically whenever you open this vault." }, "unique-note-creator": { "name": "Unique note creator", "desc": "Create notes with unique timestamp prefixes, for workflows like zettelkasten or slip box.", "short-name": "Unique", "action-create-note": "Create new unique note", "action-add-link": "Add unique internal link", "option-new-file-location": "New file location", "option-new-file-location-description": "The folder path to create the new unique note.", "msg-folder-not-found": "Failed to create unique note. Folder \"{{folderOption}}\" not found.", "option-template-file": "Template file location", "option-template-file-description": "The file path to use as template.", "option-template-file-placeholder": "Example: folder1/note", "option-id-format": "Unique prefix format", "msg-template-file-not-found": "Failed to create unique note. Template file \"{{template}}\" not found.", "msg-failed-to-generate": "Failed to generate a unique note with the format \"{{format}}" }, "random-note": { "name": "Tilfeldig notat", "desc": "Åpner et tilfeldig notat. Nyttig for å gjenoppdage gamle notater.", "short-name": "Random", "action-open": "Åpne tilfeldig notat" }, "outline": { "name": "Disposisjon", "desc": "Viser en disposisjon av den aktive filen.", "action-open": "Åpne disposisjon", "action-show": "Show outline pane", "action-open-for-current": "Open outline of the current file", "tab-title": "Disposjon til {{displayText}}", "label-no-headings": "Ingen overskrifter funnet.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Antall ord", "desc": "Vis antall ord i statusbaren." }, "slides": { "name": "Presentasjonsmodus", "desc": "Lag en presentasjon fra Markdown. Bruk \"---\" for å skille mellom lysbilder.", "action-start": "Start presentasjon" }, "audio-recorder": { "name": "Lydinnspilling", "desc": "Spill inn lyd og lagre som et vedlegg.", "action-start": "Start lydinnspilling", "action-stop": "Stopp lydinnspilling", "action-toggle": "Start/stopp lydinnspilling", "msg-access-denied": "fikk ikke tilgang til mikrofon. Vennligst gi tilgang gjennom Preference-panelet.", "msg-pending-grant": "Vennligst gi tilgang til mikrofonen.", "msg-no-microphone": "Ingen mikrofon tilgjengelig." }, "open-with-default-app": { "name": "Åpne i standardapp", "desc": "Legg til en app som åpner filen i standardappen.", "action-open-file": "Åpne i standardapp", "action-open-file-mobile": "Share", "action-show-in-folder": "Vis i mappe", "action-show-in-folder-mac": "Reveal in Finder" }, "templates": { "name": "Maler", "desc": "Sett inn innhold fra en mappe med maler.", "action-insert": "Sett inn mal", "action-insert-current-date": "Insert current date", "action-insert-current-time": "Insert current time", "option-template-folder-location": "Søkesti til malmappe", "option-template-folder-location-description": "Filer i denne mappen er tilgjengelige som maler.", "option-template-date-format": "Dato-format", "option-template-date-format-description": "{{date}} i malen blir erstattet med denne verdien.", "option-template-date-format-description2": "Du kan også skrive {{date:YYYY-MM-DD}} for å spesifisere formatet.", "option-template-time-format": "Tidsformat", "option-template-time-format-description": "{{time}} i malen blir erstattet med denne verdien.", "option-template-time-format-description2": "Du kan også skrive {{time:HH:mm}} for å spesifisere formatet.", "instruction-navigate": "for å velge", "instruction-insert": "for å sette inn mal", "instruction-dismiss": "for å lukke", "msg-no-templates-found": "Ingen maler funnet", "msg-fail-invalid-folder": "Klarte ikke å finne maler. Malmappen er ikke gyldig.", "msg-fail-folder-not-found": "Klarte ikke å finne maler. Mappen \"{{folderOption}}\" finnes ikke.", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "Failed to list templates. No template folder configured.", "prompt-type-template": "Skriv inn navnet på en mal..." }, "translucency": { "name": "Gjennomsiktig vindu", "desc": "Skru på gjennomsiktighet for å gi en følelse av dybde. Funker best i mørkt modus. Støttes ikke av Linux." }, "slash-command": { "name": "Slash commands", "desc": "Enable the ability to trigger slash commands in the editor by typing the forward slash." }, "editor-status": { "name": "Editor status", "desc": "Adds a status bar item to show and change the current editor mode.", "read": "Reading", "edit-source": "Source mode", "edit-live-preview": "Live Preview" }, "publish": { "name": "Publish", "desc": "Publish your notes through Obsidian Publish.", "action-publish-changes": "Publish changes", "action-publish-file": "Publish current file", "label-no-internet-access": "You need access to the internet to publish changes.", "label-publish-service-description": "Obsidian Publish is an add-on paid service that lets you publish your notes online directly from Obsidian.", "label-please-login": "To start publishing, please log in or create a new Obsidian account.", "label-no-publish-subscription": "You do not have an Obsidian Publish subscription yet.", "button-purchase": "Purchase", "label-manage-sites": "Manage sites", "label-no-sites": "You don't have any sites.", "button-choose": "Choose", "tooltip-edit-site-id": "Edit site ID", "tooltip-delete-site": "Delete site", "label-delete-site-confirmation": "Are you sure you want to delete this site?", "label-delete-site-details": "This will immediately and permanently delete your site.", "label-confirm-delete-site": "Confirm delete site \"{{site}}\"", "option-site-id": "Site ID", "option-site-id-description": "Your site will be at https://publish.obsidian.md/{site id}. You can change this later. Only lower case letters, numbers, and dashes are allowed.", "option-site-id-placeholder": "Pick a site ID", "button-create": "Create", "msg-invalid-site-id": "Site ID can only contain lowercase letters, numbers, and dashes.", "msg-site-id-in-use": "This site ID is in use, please try another one.", "msg-create-site-issue": "That was an issue when creating your site.", "label-site-options": "Site options", "option-site-general": "General", "option-site-components": "Components", "option-site-appearance": "Appearance", "option-site-reading-experience": "Reading experience", "option-site-misc": "Other site settings", "option-site-name": "Site name", "option-site-name-description": "Name of your published site. It will show up in the page title of your site.", "option-site-name-placeholder": "Name of your site", "option-home-page-file": "Homepage file", "option-home-page-file-description": "The first page the user sees when landing on your published site", "option-home-page-file-placeholder": "Pick a published file", "option-logo": "Logo", "option-logo-description": "Pick an image file as your site logo.", "option-logo-placeholder": "Any any uploaded image in your vault...", "option-site-collaboration": "Site collaboration", "option-site-collaboration-desc": "Manage collaborators for this site.", "option-customize-navigation": "Customize navigation", "option-customize-navigation-desc": "Override the order of navigation items and hide pages or folders from showing.", "option-navigation-order": "Navigation item display order", "option-hide-items-in-navigation": "Hide pages or folders from navigation", "option-hide-items-in-navigation-desc": "Right click and select \"Hide\" to prevent specific pages from appearing in the site navigation. The pages will still be accessible via links or accessing the URL directly.", "option-show-hidden-items": "Show hidden", "button-customize-sidebar": "Manage", "label-navigation-modal-title": "Navigation", "label-navigation-modal-desc": "Drag and drop to customize the order in which navigation items appear on your Publish site.", "option-hide-in-navigation": "Hide in navigation", "button-manage-collaborators": "Manage", "option-theme": "Theme", "option-theme-description": "Choose default color scheme for your site.", "option-theme-system": "Adapt to system", "option-show-theme-toggle": "Light/dark toggle", "option-show-theme-toggle-description": "Let the visitor toggle between light and dark theme on their own.", "option-show-navigation": "Show navigation", "option-show-navigation-description": "Display a list of all published pages on the left side of your published site.", "option-show-search": "Show search bar", "option-show-search-description": "Display a search bar at top of the navigation that lets the visitors search pages and headings on your site.", "option-show-graph": "Show graph view", "option-show-graph-description": "Display a small local graph on each page.", "option-show-outline": "Show table of contents", "option-show-outline-description": "Display the outline of headings on each page.", "option-show-backlinks": "Show backlinks", "option-show-backlinks-description": "Show backlink section at the end of each page.", "option-sliding-window-mode": "Use sliding windows", "option-sliding-window-mode-description": "Open pages in new panes to the right. Allows scrolling through panes horizontally.", "option-hover-preview-file": "Show hover preview", "option-hover-preview-file-description": "Display page preview when hovering links.", "option-hide-title": "Hide page title", "option-hide-title-description": "Hide the page title heading. Useful when you have your own headings at the beginning of each page.", "option-readable-line-length": "Readable line length", "option-readable-line-length-description": "Limit maximum line length. Fits less content on the screen, but makes long paragraphs more readable.", "option-site-password": "Passwords", "option-site-password-description": "Restrict access to your site with passwords.", "option-google-analytics": "Google Analytics tracking code", "option-google-analytics-description": "Configure Google Analytics for your site. Only available for visitors from your custom domain URL. Please check with your local laws and regulations first.", "button-manage-passwords": "Manage", "button-save-site-settings": "Save site settings", "msg-updated-options": "Updated options for your site.", "button-go-back": "Back", "label-publishing-to": "Publishing to", "tooltip-switch-site": "Switch site", "button-add-linked": "Add linked", "tooltip-add-linked": "Add all files that are linked by currently selected items", "msg-added-linked-files": "{{count}} linked file has been added.", "msg-added-linked-files_plural": "{{count}} linked files have been added.", "tooltip-open-site-options": "Change site options", "label-no-changes-detected": "No changes were detected.", "label-changed-files-to-be-published": "Changes", "label-unchanged-files-already-published": "Unchanged (select to delete)", "label-file-selected": " selected", "button-select-all-files": "Select all", "label-custom-navigation-title": "Navigation items", "button-deselect-all-files": "Deselect all", "label-new-files-to-be-published": "New", "button-publish": "Publish", "msg-no-permission-to-publish-to-site": "You do not have permissions to publish to the current site.", "msg-select-at-least-one-file": "Please select at least one file.", "label-upload-changes": "Upload changes", "button-done": "Done", "button-stop": "Stop", "label-status-uploading": "Uploading", "label-status-to-publish": "To publish", "label-status-to-delete": "To delete", "label-status-published": "Published", "label-status-deleted": "Deleted", "label-status-failed": "Failed", "label-status-cancelled": "Cancelled", "button-change": "Change", "label-clear-cache": "It takes up to a few minutes for the changes to show up on your site. If you do not see your latest changes, try clearing the cache in your browser.", "label-visit-site": "You can visit your site here: ", "msg-something-went-wrong": "Something went wrong. Please check the developer console for details.", "msg-network-error": "A network error occurred. ", "label-manage-passwords": "Manage passwords", "label-add-password": "Add password", "action-new-password": "New password", "label-no-password": "Your site currently does not have any passwords. Anyone can visit it.", "label-have-password": "Your site is password protected. If you have multiple passwords, visitors can access your site by entering any of them.", "option-password-name": "Password", "option-password-desc": "A hash of your password will be stored securely. Once the password is set, it cannot be revealed in plaintext.", "option-password-placeholder": "Your password", "option-nickname-name": "Nickname (optional)", "option-nickname-desc": "Set a nickname to remind yourself what or who the password is for.", "action-add-password": "Add this password", "label-untitled-password": "Untitled password", "label-password-created-time": "Created {{time}}", "msg-added-new-password": "Added new password.", "option-custom-domain": "Custom domain", "option-custom-domain-desc": "Use your own domain rather than the https://publish.obsidian.md/{site id} URL.", "option-noindex": "Disallow search engine indexing", "option-noindex-desc": "Prevent search engines from indexing your site.", "button-configure": "Configure", "label-configure-custom-domain": "Configure custom domain", "option-custom-url-name": "Custom URL", "option-custom-url-desc": "The URL that your site will be located at.", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "Redirect to your custom domain", "option-custom-url-redirect-desc": "Redirect visitors on publish.obsidian.md/id to your custom domain.", "button-update-custom-domain": "Update domain setting", "label-custom-domain-instructions": "Please refer to our {{link}} on our help site for more information.", "label-custom-domain-link-name": "custom domain setup guide", "label-site-usage": "You're using {{site}} out of your {{limit}}.", "button-add-more-sites": "Buy more sites", "label-no-sites-bought": "You haven't bought any sites.", "button-get-site": "Get a site", "label-manage-sharing": "Manage sharing for \"{{name}}\"", "label-sharing-with-users": "This site is currently shared with the following people.", "label-not-sharing": "This site is not currently shared with anyone.", "label-invite-pending": "Pending", "tooltip-remove-user": "Remove user", "option-invite-user": "Invite user", "placeholder-invite-user": "Enter their email...", "error-email-must-be-valid": "Please enter a valid email to invite someone.", "msg-enable-publish-plugin": "Please enable the Publish core plugin in Settings -> Core plugins to view sites.", "label-your-sites": "Your sites", "label-sites-shared-with-you": "Sites shared with you", "tooltip-leave-site-sharing": "Stop collaborating on this site", "label-leave-site-confirmation": "Confirm stop site collaboration", "label-leave-site-confirmation-details": "This will remove this site from the list of sites shared with you. This action cannot be reverted.", "label-leave-site-confirmation-details-2": "Please contact the owner of the site if you wish to collaborate on this site again.", "button-leave": "Leave", "label-compare-with-live": "Compare with live version", "button-use-live-version": "Use live version", "label-confirm-override": "Confirm overriding local version", "label-confirm-override-1": "Are you sure you want to override the local version?", "label-confirm-override-2": "The live version will be used and your local version will be discarded. Please make backups if necessary.", "button-proceed": "Proceed", "message-successfully-used-live-version": "Successfully used live version to override your local version.", "label-open-in-live-site": "Open in live site", "label-open-file": "Open file", "tooltip-manage-publish-filters": "Manage publish filters", "option-included-folders": "Included folders", "option-included-folders-desc": "Files under these folders will automatically be selected when you review changes to publish.", "option-currently-included-folders": " These folders are currently included:", "option-excluded-folders": "Excluded folders", "option-excluded-folders-desc": "Files under these folders won't show up when you review changes to publish. This setting takes priority over included folders above.", "label-number-of-folders-included": "Obsidian Publish is currently including {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish is currently excluding {{folders}}.", "label-manage-included-folders": "Manage included folders", "label-manage-excluded-folders": "Manage excluded folders", "label-add-included-folder": "Include a folder", "label-add-included-folder-desc": "You can include both existing folders and folders that have not been created yet.", "tooltip-contact-support": "Contact support", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "Workspaces", "desc": "Save and load workspace layout.", "action-load-layout": "Load workspace layout", "action-manage-layouts": "Manage workspace layouts", "action-save": "Save layout", "action-save-and-load-layout": "Save and load another layout", "placeholder-save-current-layout-as": "Save current workspace layout as...", "button-save": "Save", "button-load": "Load", "tooltip-delete-layout": "Delete layout", "msg-enter-name": "Please enter a name for the new layout.", "msg-save-layout-success": "Successfully saved layout.", "label-no-layout-found": "No saved layout found.", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "Type layout name..." }, "sync": { "name": "Sync", "desc": "Synchronize your files through Obsidian Sync.", "action-view-version-history": "View version history", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "Load more", "label-show-diff": "Show diff", "label-copy-to-clipboard": "Copy to clipboard", "label-restore-this-version": "Restore this version", "msg-already-latest-version": "This version is already the latest version.", "msg-restored-version": "Successfully restored version from {{time}}", "label-file-deleted": "This file was deleted", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "This file was renamed from \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revision", "label-revision_plural": "{{revisions}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "Empty", "label-unable-to-retrieve": "Unable to retrieve version history", "label-setting-files": "Setting files", "label-deleted-files": "Deleted files", "label-version-history": "Version history", "label-click-to-see-history": "Click on a deleted file to see its history.", "label-create-remote-vault": "Create remote vault", "msg-please-enter-password": "Please enter a password.", "msg-vault-name-cannot-be-empty": "Vault name cannot be empty.", "msg-successfully-created-vault": "Successfully create remote vault \"{{name}}\".", "label-remote-vault-explanation": "Remote vaults securely synchronize your vault between devices.", "option-vault-name": "Vault name", "option-vault-name-desc": "Helps you remember what this vault is for.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Select the server region closest to you to store the remote vault. This cannot be changed in the future.", "option-vault-name-placeholder": "My awesome vault", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Encryption password", "option-encryption-password-desc": "This password cannot be changed later.", "option-encryption-password-desc-warning": "If you forget this password, any remote data will remain unusable forever.", "option-encryption-password-desc-2": "This does not affect your local data.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "Your password", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "Unlock vault", "label-remote-vaults": "Your remote vaults", "label-vault-created-time": "Created {{time}}", "tooltip-delete-remote-vault": "Delete", "tooltip-rename-remote-vault": "Rename", "label-rename-remote-vault": "Rename remote vault \"{{name}}\"", "label-rename-remote-vault-desc": "Enter a new name for this remote vault.", "tooltip-manage-sharing": "Manage sharing", "label-confirm-delete-remote-vault": "Confirm delete vault", "label-confirm-delete-remote-vault-question": "Are you sure you want to delete this remote vault?", "label-confirm-delete-remote-vault-result": "All data on our server, including version history, will be deleted. Your local files will stay intact.", "label-confirm-delete-remote-vault-warning": "This action is permanent and irreversible.", "msg-remote-vault-deleted": "{{name}} has been deleted.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "Connect", "button-disconnect-from-remote-vault": "Disconnect", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "You don't have any remote vaults.", "label-no-subscription": "You don't have an active Obsidian Sync subscription.", "label-please-visit": "Please visit", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "Create new vault", "label-sync-log": "Sync log", "option-event-type-all": "All", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Merge conflicts", "button-copy-sync-log": "Copy sync log", "msg-successfully-copied-sync-log": "Successfully copied sync log.", "button-retry": "Retry", "button-purchase-subscription": "Purchase", "label-third-party-sync-warning": "Conflicting file sync service detected", "label-third-party-sync-warning-desc": "Warning: Your vault seems to be using {{service}} as a third party sync service. If you use Obsidian Sync with this vault, you may run into conflicts, file corruption, or data loss.", "label-icloud-drive-warning": "If you are using iCloud Drive, your Documents and Desktop folders might be synced by iCloud. This could cause conflicts with Obsidian Sync.", "option-remote-vault": "Remote vault", "button-choose-remote-vault": "Choose", "button-manage-remote-vault": "Manage", "option-remote-vault-desc-connected": "Currently connected to the \"{{name}}\" remote vault.", "option-remote-vault-desc-not-connected": "Currently not connected to any remote vault.", "option-sync-status": "Sync status", "option-sync-status-desc-paused": "Obsidian Sync is currently paused.", "option-sync-status-desc-running": "Obsidian Sync is currently running.", "option-device-name": "Device name", "option-device-name-desc": "This name will be displayed in the sync log. Leave empty to use the default name.", "button-resume": "Resume", "button-pause": "Pause", "option-view-deleted-files": "Deleted files", "option-view-deleted-files-desc": "View and restore deleted files.", "option-sync-log": "Sync activity", "option-sync-log-desc": "View recent sync activities for debugging.", "button-view": "View", "button-bulk-restore": "Bulk restore", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Restoring...", "msg-restoring-complete": "`Restore complete: {{succeeded}} succeeded and {{failed}} failed.`", "option-vault-size": "Vault size", "option-vault-size-desc": "You are using {{size}} out of {{limit}}", "option-vault-size-unknown": "Unable to retrieve your vault size.", "option-vault-size-loading": "Retrieving your vault size...", "option-over-size": "Vault size over limit", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "View largest files", "msg-largest-files-desc": "These are the remote files that are taking the most space. After deleting attachments, use the purge button to free up remote vault space.", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "Purge", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "Permanently purge deleted attachments from remote vault to save space.", "msg-purge-complete": "Purge complete.", "option-prevent-sleep": "Prevent device sleep", "option-prevent-sleep-desc": "Prevents the device from going to sleep when there are still files to be synced.", "option-selective-sync": "Selective sync", "option-excluded-folders": "Excluded folders", "option-excluded-folder-desc": "Prevent certain folders from being synced.", "option-currently-excluded-folders": " These folders currently excluded:", "button-manage-excluded-folders": "Manage", "option-sync-image": "Sync images", "option-sync-image-desc": "Sync image files with these extensions: {{extensions}}.", "option-sync-audio": "Sync audio", "option-sync-audio-desc": "Sync audio files with these extensions: {{extensions}}.", "option-sync-video": "Sync videos", "option-sync-video-desc": "Sync video files with these extensions: {{extensions}}.", "option-sync-pdf": "Sync PDFs", "option-sync-pdf-desc": "Sync PDF files.", "option-sync-unsupported": "Sync all other types", "option-sync-unsupported-desc": "Sync unsupported file types.", "option-vault-config-sync": "Vault configuration sync", "option-view-config-files": "Settings version history", "option-view-config-files-desc": "View and restore version history of setting files.", "option-sync-app": "Main settings", "option-sync-app-desc": "Enable to sync editor settings, files & links settings, custom hotkeys, etc.", "option-sync-appearance": "Appearance settings", "option-sync-appearance-desc": "Sync appearance settings like dark mode, active theme, and enabled snippets.", "option-sync-appearance-data": "Themes and snippets", "option-sync-appearance-data-desc": "Sync downloaded themes and snippets. Whether they are enabled depends on the previous setting.", "option-sync-hotkey": "Hotkeys", "option-sync-hotkey-desc": "Sync custom hotkeys.", "option-sync-core-plugin": "Active core plugin list", "option-sync-core-plugin-desc": "Sync which core plugins are enabled.", "option-sync-core-plugin-data": "Core plugin settings", "option-sync-core-plugin-data-desc": "Sync core plugin settings.", "option-sync-community-plugin": "Active community plugin list", "option-sync-community-plugin-desc": "Sync which community plugins are enabled.", "option-sync-community-plugin-data": "Installed community plugins", "option-sync-community-plugin-data-desc": "Sync installed community plugins (.js, .css, and manifest.json files) and their settings.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync is Obsidian's add-on sync service with end-to-end encryption and version history.", "label-account-required": "To start syncing, please log in or create a new Obsidian account.", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "Sign up", "button-log-in": "Log in", "label-manage-excluded-folders": "Manage excluded folders", "label-number-of-folders-excluded": "{{folders}} are currently excluded from being synced.", "label-add-excluded-folder": "Exclude a folder", "label-add-excluded-folder-desc": "You can exclude both existing folders and folders that have not been created yet.", "tooltip-remove-excluded-folder": "Remove from excluded list", "label-setup-connection": "Setup connection", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "You're now connected to \"{{name}}\".", "button-start-syncing": "Start syncing", "label-confirm-merge-vault": "Confirm Merge Vault", "msg-vault-has-notes": "Your local vault already contains some notes.", "msg-vault-merge-warning": "If you connect to the remote vault \"{{name}}\", notes in your local vault will be merged with notes from your remote vault. In case of conflicts, the most recent version of the note will be preserved.", "tooltip-update-setting-on-all-devices": "Please update this option and restart app on all the devices where you want it to take effect.", "label-sharing-with-users": "This remote vault is currently shared with the following people.", "label-not-sharing": "This remote vault is not currently shared with anyone.", "label-vaults-shared-with-you": "Vaults shared with you", "tooltip-leave-vault-sharing": "Stop collaborating on this vault", "label-leave-vault-confirmation": "Confirm stop vault collaboration", "label-leave-vault-confirmation-details": "This will remove this vault from the list of vaults shared with you. This action cannot be reverted.", "label-leave-vault-confirmation-details-2": "Please contact the owner of the vault if you wish to collaborate on this vault again.", "button-leave": "Leave", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "You need an Obsidian Sync subscription to connect to this vault.", "option-contact-support": "Contact support", "option-contact-support-desc": "If you run into any issues with Obsidian Sync, please contact us so we can help you out! You can reach us at support@obsidian.md.", "button-copy-debug": "Copy debug info", "button-email-support": "Email support", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Sync lets you create up to 5 remote vaults. In order to create a new remote vault, please remove an existing one.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "File recovery", "desc": "Let you restore recent snapshots to recover from accidental data loss. Snapshots are only saved for Markdown files.", "action-open": "Open saved snapshots", "option-interval": "Snapshot interval", "option-interval-description": "Minimal interval in minutes between two snapshots.", "option-keep": "History length", "option-keep-description": "Length in days snapshots is kept for.", "option-open-history": "Snapshots", "option-open-history-description": "View and restore saved snapshots.", "button-view-history": "View", "option-clear": "Clear history", "option-clear-description": "Wipe all snapshots.", "button-clear-history": "Clear", "label-clear-warning": "Are you sure you want to delete all snapshots? Note that only snapshots will be removed. All files inside your vault will not be affected.", "msg-clear-complete": "Snapshots cleared.", "label-no-history-found": "No snapshots found.", "placeholder-choose-file": "Choose a file...", "label-select-file": "Please select a file on the left to view snapshots." }, "note-composer": { "name": "Note composer", "desc": "Merge, split, and refactor notes.", "option-confirm-file-merge": "Confirm file merge", "option-confirm-file-merge-description": "Prompt before merge two files.", "option-split-replacement-text": "Text after extraction", "option-split-replacement-text-description": "What to show in place of the selected text after extracting it.", "option-choice-split-replacement-text-link": "Link to new file", "option-choice-split-replacement-text-embed": "Embed new file", "option-choice-split-replacement-text-none": "None", "option-template-file": "Template file location", "option-template-file-description": "Template file to use when merging or extracting. Available variables: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, e.g. {{date:YYYY-MM-DD}}.", "command-merge-file": "Merge current file with another file...", "action-merge-file": "Merge entire file with...", "label-no-files": "No files found.", "instruction-navigate": "to navigate", "instruction-merge": "to merge", "instruction-create-new": "to create new", "instruction-merge-at-top": "to merge at top", "instruction-dismiss": "to dismiss", "prompt-select-file-to-merge": "Select file to merge into...", "label-merge-file": "Merge file", "label-confirm-file-merge": "Are you sure you want to merge \"{{file}}\" into \"{{destination}}\"? \"{{file}}\" will be deleted.", "button-merge": "Merge", "command-split-file": "Extract current selection...", "command-extract-heading": "Extract this heading...", "instruction-append": "to move to bottom", "instruction-prepend": "to move to top", "msg-fail-to-fetch-template": "Failed to fetch template file: \"{{template}}\" not found.", "msg-fail-to-find-heading": "Failed to find heading" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Canvas", "desc": "Plasser og koble sammen notater på en uendelig canvas.", "action-add-note": "Legg til notat fra vault", "action-add-media": "Legg till media fra vault", "action-add-card": "Legg til kort", "action-add-website": "Legg till hjemmeside", "action-create-group": "Opprett gruppe", "action-create-with-size": "Opprett kort med spesifikt størrelse", "action-convert-to-file": "Konverter til fil...", "action-drag-to-add-note": "Dra for å legge til notat fra vault", "action-drag-to-add-media": "Dra for å legge til media fra vault", "action-drag-to-add-card": "Dra for å legge til kort", "action-edit-label": "Rediger label", "action-remove-label": "Fjern label", "action-search-file": "Søk etter fil", "action-set-color": "Velg farge", "action-align": "Align", "action-align-left": "Align venstre", "action-align-center": "Align senter", "action-align-right": "Align høyre", "action-align-top": "Align opp", "action-align-middle": "Align midt", "action-align-bottom": "Align nede", "action-distribute-horizontal-spacing": "Fordel horisontalt", "action-distribute-vertical-spacing": "Fordel vertikalt", "action-justify-horizontally": "Justify horizontally", "action-justify-vertically": "Justify vertically", "action-arrange-horizontally": "Arrange in a row", "action-arrange-vertically": "Arrange in a column", "action-arrange-grid": "Arrange in a grid", "action-export-png": "Eksporter som bilde", "action-jump-to-group": "Hopp til gruppe", "action-set-background": "Set background", "action-edit-background": "Edit background", "action-replace-background": "Replace background", "action-remove-background": "Remove background", "label-no-images": "No images found.", "label-no-media": "No media found.", "label-export-png-desc": "Export \"{{title}}\" with a PNG file with the settings below.", "label-export-png-dimensions": "Estimated image dimensions: {{dimensions}}", "label-distribute": "Distribute", "label-justify": "Justify", "label-arrange": "Arrange", "label-always": "Always", "label-hover": "On hover", "label-never": "Never", "label-no-section-found": "No section found", "option-wheel-behavior": "Default mouse wheel behavior", "option-mod-drag-behavior": "Default {{key}} behavior", "option-show-menu": "Show menu", "option-new-canvas-location": "Default location for new canvas files", "option-new-canvas-location-description": "Where newly created canvas files are placed.", "option-new-canvas-folder-path": "Folder to create new canvas files in", "option-new-canvas-folder-path-description": "Newly created canvas files will appear under this folder.", "option-node-label": "Display card label", "option-snap-to-grid": "Snap to grid", "option-snap-to-grid-desc": "Snap cards to the background grid when moving and resizing.", "option-snap-to-objects": "Snap to objects", "option-snap-to-objects-desc": "Snap cards to nearby objects when moving and resizing.", "option-zoom-breakpoint": "Zoom threshold for hiding card content", "option-zoom-breakpoint-desc": "Lower values will increase performance but hide card content sooner when zooming out.", "option-export-png-show-logo": "Show logo", "option-export-png-show-logo-desc": "This will add an Obsidian logo to the bottom left.", "option-export-png-privacy-mode": "Privacy mode", "option-export-png-privacy-mode-desc": "This will obscure any text on your canvas.", "option-export-png-zoom": "Zoom", "option-export-png-zoom-desc": "A higher zoom will generate a higher resolution image.", "option-export-png-frame": "Viewport", "option-export-png-frame-desc": "Choose to render the entire canvas or just the current visible viewport.", "option-export-png-frame-full": "Full canvas", "option-export-png-frame-viewport": "Viewport only", "option-background-cover": "Cover", "option-background-ratio": "Keep aspect ratio", "option-background-repeat": "Repeat", "action-new-canvas": "New canvas", "action-remove": "Remove", "action-narrow-heading": "Narrow to heading...", "action-narrow-block": "Narrow to block...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Swap file...", "action-change-url": "Change URL...", "action-zoom-to-fit": "Zoom to fit", "action-zoom-to-selection": "Zoom to selection", "action-reload-page": "Reload page", "action-follow-connection": "Follow connection", "command-create-new-canvas": "Create new canvas", "command-convert-to-file": "Convert to file...", "instruction-narrow-heading": "to embed heading", "instruction-narrow-block": "to embed block", "instruction-jump-to-group": "to navigate to group", "prompt-to-narrow": "Type name of heading", "label-enter-url": "Enter URL", "label-empty-embed": "\"{{linktext}}\" could not be found.", "prompt-add-text": "Add text...", "prompt-start-search": "Type to search...", "label-canvas-help": "Canvas help", "label-canvas-settings": "Canvas settings", "label-no-narrow": "Show entire file", "label-show-default-view": "Show default view", "label-readonly": "Read-only", "label-disable-readonly": "Disable read-only", "label-pan": "Pan", "label-pan-horizontal": "Pan horizontally", "label-zoom": "Zoom", "label-select-all": "Select all", "label-add-remove-selection": "Add to / remove from selection", "label-clone-card": "Clone card", "label-constrain-movement-axis": "Constrain card movement to axis", "label-disable-drag-snapping": "Disable snapping while dragging", "label-remove-card": "Remove card", "label-drag-from-below": "Drag from below or double click", "label-longpress": "Touch and hold to add / move / select", "label-drag-pan": "Drag to pan", "label-pinch-zoom": "Pinch to zoom", "label-space-drag-pan": "Space + Drag to pan", "label-scroll-to-zoom": "Scroll to zoom", "label-untitled-group": "Untitled group", "label-line-direction": "Line direction", "label-nondirectional": "Nondirectional", "label-unidirectional": "Unidirectional", "label-bidirectional": "Bidirectional", "label-image": "Image", "label-style": "Style", "msg-no-groups-found": "No groups found", "msg-export-failed-empty-canvas": "Cannot export an empty canvas", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Highlight all", "action-match-diacritics": "Match diacritics", "action-whole-words": "Whole words", "action-show-thumbnails": "Thumbnails", "action-show-outline": "Table of contents", "action-reveal-in-outline": "Reveal page in table of contents", "action-toggle-sidebar": "Toggle sidebar", "action-previous-page": "Previous page", "action-next-page": "Next page", "action-fit-width": "Fit width", "action-fit-height": "Fit height", "action-save-p-d-f-location": "Save current position in document", "action-copy-annotation": "Copy annotation", "action-copy-quote": "Copy as quote", "action-copy-selection-link": "Copy link to selection", "action-copy-annot-link": "Copy link to annotation", "action-copy-section-link": "Copy link to section", "action-copy-section-link-title": "Copy link to “{{title}}”", "action-copy-page-link": "Copy link to page {{page}}", "msg-max-search-results": "{{current}} of over {{limit}} matches", "msg-search-count": "{{current}} of {{total}} match", "msg-search-count_plural": "{{current}} of {{total}} matches", "msg-password-protected": "This PDF is password protected", "msg-invalid-password": "Invalid password", "msg-enter-password": "Enter the password below", "label-of-pages": "of {{count}}", "label-page-of-pages": "({{current}} of {{count}})", "label-spread-single": "Single page", "label-spread-odd": "Two page (odd)", "label-spread-even": "Two page (even)", "tooltip-sidebar-options": "Sidebar options", "tooltip-display-options": "Display options", "label-adapt-to-theme": "Adapt to theme", "label-page": "page {{page}}", "page_landmark": "Page {{page}}", "thumb_page_title": "Page {{page}}", "thumb_page_canvas": "Page {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "List", "option-unknown": "Unknown", "option-text": "Text", "option-aliases": "Aliases", "option-tags": "Tags", "option-folder": "Folder", "option-file": "File", "option-date": "Date", "option-datetime": "Date & time", "option-number": "Number", "option-checkbox": "Checkbox" }, "value-suggestion": { "key-link-note": "Type [[", "instruction-link-note": "to link note", "instruction-dismiss": "to dismiss" }, "option-property-type": "Property type", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "Invalid tag name", "msg-invalid-number": "Invalid number", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "No value", "label-heading": "Properties", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "Add property", "label-type-mismatch-warning": "Type mismatch, expected {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Column", "label-row": "Row", "action-row-after": "Add row after", "action-column-after": "Add column after", "action-row-before": "Add row before", "action-row-up": "Move row up", "action-row-down": "Move row down", "action-column-before": "Add column before", "action-column-left": "Move column left", "action-column-right": "Move column right", "action-duplicate-row": "Duplicate row", "action-duplicate-column": "Duplicate column", "action-delete-row": "Delete row", "action-delete-column": "Delete column", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-delete-selection": "Delete cells", "action-clear-selection": "Clear cells", "action-sort-a-z": "Sort by column (A to Z)", "action-sort-z-a": "Sort by column (Z to A)", "label-command": "Table: {{command}}" }, "callout": { "option-type": "Callout type", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Success", "question": "Question", "warning": "Warning", "quote": "Quote", "example": "Example", "none": "None" }, "option-other": "Other...", "option-other-placeholder": "Callout type..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} ord", "word-with-count_plural": "{{count}} ord", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} tegn", "character-with-count_plural": "{{count}} tegn", "link-with-count": "{{count}} lenke", "link-with-count_plural": "{{count}} lenker", "file-with-count": "{{count}} fil", "file-with-count_plural": "{{count}} filer", "folder-with-count": "{{count}} folder", "folder-with-count_plural": "{{count}} folders", "backlink-with-count": "{{count}} lenke tilbake", "backlink-with-count_plural": "{{count}} lenker tilbake", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} property", "properties-with-count_plural": "{{count}} properties", "site-with-count": "{{count}} site", "site-with-count_plural": "{{count}} sites", "plugin-with-count": "{{count}} plugin", "plugin-with-count_plural": "{{count}} plugins", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} theme", "theme-with-count_plural": "{{count}} themes" } }{ "setting": { "options": "Opcje", "plugin": "Wtyczki", "builtin-plugins": "Wbudowane wtyczki", "plugin-options": "Opcje wtyczek", "folder-path-example-placeholder": "Przykład: folder 1/folder 2", "file-path-example-placeholder": "Przykład: folder/notatka", "msg-restart-required": "Zmiana tej opcji wymaga ponownego uruchomienia, aby zadziałać.", "editor": { "name": "Edytor", "section-behavior": "Funkcje edytora", "section-display": "Wyświetlanie", "option-spellcheck": "Sprawdzanie pisowni", "option-spellcheck-description": "Włącz sprawdzanie pisowni. Obecnie działa tylko dla języka angielskiego (USA).", "spellcheck-languages": "Języki sprawdzania pisowni", "spellcheck-languages-description": "Wybierz język do sprawdzania pisowni.", "spellcheck-languages-mac-description": "Słownik systemowy automatycznie wykryje język używany w systemie macOS.", "spellcheck-dict": "Słownik sprawdzania pisowni", "spellcheck-dict-empty": "Słownik sprawdzania pisowni jest pusty.", "option-show-inline-title": "Pokaż tytuł w linii", "option-show-inline-title-description": "Wyświetl nazwę pliku jako edytowalny tytuł wraz z zawartością pliku.", "option-readable-line-length": "Czytelna długość linii", "option-readable-line-description": "Ograniczenie maksymalnej długości linii. Mieści mniej treści na ekranie, ale sprawia, że długie akapity są bardziej czytelne.", "option-strict-line-break": "Ignoruj pojedyncze podziały wierszy", "option-strict-line-break-description": "W trybie podglądu, ignoruj pojedyncze podziały wierszy zgodnie ze specyfikacją Markdown. Wyłącz, aby wyświetlać pojedyncze podziały wierszy w trybie podglądu.", "option-properties-in-document": "Atrybuty pliku", "option-properties-in-document-description": "Wybierz sposób wyświetlania atrybutów w edytorze. Wybierz \"kod\", aby atrybuty były wyświetlane jako YAML.", "option-properties-hidden": "Ukryte", "option-properties-visible": "Widoczne", "option-properties-source": "Kod", "option-auto-pair-brackets": "Automatyczne dobieranie nawiasów", "option-auto-pair-brackets-description": "Automatycznie dobiera w pary nawiasy i cudzysłowy.", "option-auto-pair-markdown": "Automatyczne dobieranie składni Markdown", "option-auto-pair-markdown-description": "Automatycznie dobieraj w pary symbole pogrubienia, kursywy, podkreślenia, przekreślenia i kodu.", "option-smart-indent-lists": "Inteligentne wcięcia list", "option-smart-indent-lists-description": "Zadbaj o wcięcia i wyróżniki listy.", "option-fold-heading": "Zwijanie nagłówków", "option-fold-heading-description": "Pozwala ukryć wszystko pod nagłówkiem.", "option-fold-indent": "Zwijanie wcięć", "option-fold-indent-description": "Umożliwia zwinięcie części tego samego wcięcia, np. listy.", "option-default-new-tab-view": "Domyślny widok nowych kart", "option-default-new-tab-view-description": "Domyślny widok, w którym otwierana jest nowa karta Markdown.", "option-default-new-tab-view-editing": "Widok edycji", "option-default-new-tab-view-reading": "Widok odczytu", "option-open-tab-in-foreground": "Zawsze aktywuj nowe karty", "option-open-tab-in-foreground-description": "Gdy otworzysz łącze w nowej karcie, natychmiast ją aktywuj.", "option-default-editing-mode": "Domyślny tryb edycji", "option-default-editing-mode-description": "Domyślny tryb edycji, z którym otworzy się nowy panel.", "option-default-editing-mode-source": "Tryb kodu", "option-default-editing-mode-live-preview": "Podgląd na żywo (Live Preview)", "option-show-line-number": "Pokaż numer linii", "option-show-line-number-description": "Wyświetla numery linii na marginesie.", "option-indentation-guide": "Pokaż wskaźniki wcięć", "option-indentation-guide-description": "Wyświetla pionowe linie między punktami dla lepszej orientacji wizualnej.", "option-use-tabs": "Używanie tabulacji", "option-use-tabs-description": "Używa tabulatorów do wcięcia po naciśnięciu klawisza \"Tab\". Aby używać spacji, należy wyłączyć tę opcję.", "option-tab-size": "Rozmiar tabulacji", "option-tab-size-description": "Liczba spacji, którym odpowiada tabulator.", "option-rtl": "Pisownia od strony prawej do lewej (RTL)", "option-rtl-description": "Ustaw kierunek wyświetlania tekstu notatek od prawej do lewej.", "option-auto-convert-html": "Automatyczne konwertowanie HTML", "option-auto-convert-html-description": "Automatycznie konwertuj HTML na Markdown podczas wklejania i przeciągania ze stron internetowych. Użyj Ctrl/Cmd+Shift+V, aby wkleić bez konwertowania.", "option-vim-key-bindings": "Skróty klawiszowe Vim", "option-vim-key-bindings-description": "Pozwala na używanie skrótów klawiszowych Vim w trybie edycji.", "option-vim-key-bindings-mobile": "Na urządzeniach mobilnych to ustawienie jest lokalne i nie jest synchronizowane przez plik konfiguracyjny.", "option-reindex-vault": "Odbuduj pamięć podręczną sejfu", "option-reindex-vault-description": "Odbudowanie pamięci podręcznej może zająć od kilku sekund do kilku minut, w zależności od rozmiaru sejfu.", "label-reindex": "Odbuduj", "label-confirm-enable-vim": "Potwierdź wejście w tryb Vim", "label-vim-warning": "Tryb Vim służy do efektywnej edycji tekstu, ale może być dość nieintuicyjny. Jeśli nie znasz Vima, ta opcja może sprawić, że Obsidian przestanie działać.", "label-vim-test": "Aby sprawdzić, czy wiesz, jak korzystać z Vima, wpisz poniżej polecenie zamknięcia go bez zapisywania:", "label-vim-your-answer": "Twoja odpowiedź", "placeholder-enter-command": "Wpisz polecenie...", "button-confirm-enable-vim": "Pozwól mi włączyć tryb Vim", "msg-vim-mode-enabled": "Polecenie jest prawidłowe. Tryb Vim jest teraz włączony.", "msg-vim-mode-not-enabled": "Polecenie jest nieprawidłowe. Tryb Vim jest wyłączony.", "msg-vim-mode-please-enter-command": "Wpisz polecenie, aby włączyć tryb Vim" }, "file": { "name": "Pliki i łącza", "option-confirm-file-deletion": "Potwierdź usunięcie pliku", "option-confirm-file-deletion-description": "Czy ma zostać wyświetlony komunikat z prośbą o potwierdzenie usunięcia pliku?", "option-delete-destination": "Usunięte pliki", "option-delete-destination-description": "Co zrobić z plikami po ich usunięciu?", "option-choice-system-trash": "Przenieś do kosza systemowego", "option-choice-vault-trash": "Przenieś do kosza Obsidian (folder .trash)", "option-choice-permanent-delete": "Usuń trwale", "option-always-update-links": "Zawsze aktualizuj łącza wewnętrzne", "option-always-update-links-description": "Czy automatycznie aktualizować łącza po zmianie nazwy pliku, czy pytać o potwierdzenie?", "option-new-note-location": "Domyślna lokalizacja nowej notatki", "option-new-note-location-description": "Gdzie umieszczać nowo utworzone notatki? Ustawienia wtyczek zastąpią tę opcję.", "option-choice-vault-root": "W folderze głównym", "option-choice-current-folder": "W tym samym folderze, w którym znajduje się aktywny plik", "option-choice-specified-folder": "W folderze określonym poniżej", "option-new-file-folder-path": "Folder, w którym będą tworzone nowe notatki", "option-new-file-folder-path-description": "Nowo utworzone notatki pojawią się w tym folderze. Ustawienia wtyczek zastąpią tę opcję.", "option-use-wiki-links": "Używaj [[Wikilinków]]", "option-use-wiki-links-description": "Automatycznie generuje Wikilinki dla [[łącza]] i ![[obrazu]] zamiast używać formatu Markdown. Wyłącz tę opcję, aby zamiast tego generować łącza w formacie Markdown.", "option-show-unsupported-files": "Wykrywaj wszystkie rozszerzenia plików", "option-show-unsupported-files-description": "Pokaż pliki z dowolnym rozszerzeniem, nawet jeśli Obsidian nie może ich otworzyć, dzięki czemu można utworzyć do nich łącza i zobaczyć je w eksploratorze plików i w oknie szybkiego wyboru.", "option-link-autocompleted-format": "Format nowego łącza", "option-link-autocompleted-format-description": "Jakiego formatu należy użyć podczas automatycznego generowania łączy wewnętrznych?", "option-choice-shortest-linktext": "Najkrótsza możliwa ścieżka", "option-choice-relative-path": "Względna ścieżka (relatywna)", "option-choice-absolute-path": "Bezwzględna ścieżka (absolutna)", "option-new-attachment-location": "Domyślna lokalizacja załączników", "option-new-attachment-location-description": "Gdzie mają być zapisywane załączniki?", "option-new-attachment-location-default": "załączniki", "option-choice-subdirectory": "W podfolderze aktywnego folderu", "option-attachment-folder-path": "Ścieżka folderu załączników", "option-attachment-folder-path-description": "Tutaj pojawią się nowo dodane załączniki. Dotyczy przeciągniętych lub wklejonych obrazów oraz nagrań audio.", "option-attachment-subfolder-path": "Nazwa podfolderu", "option-attachment-subfolder-path-description": "Jeżeli plik znajduje się w folderze \"sejf/folder\", a nazwa podfolderu to \"załączniki\", będą one zapisane w \"sejf/folder/załączniki\".", "option-excluded-files": "Pominięte pliki", "option-excluded-files-desc": "Pominięte pliki będą ukryte lub mniej widoczne w różnych miejscach, takich jak okno szybkiego wyboru, podpowiedzi łączy i widok grafu.", "label-no-excluded-filters-applied": "Żaden filtr nie jest teraz włączony. Dodaj poniżej.", "label-excluded-filters-applied": "Pliki pasujące do następujących filtrów są teraz pomijane:", "label-excluded-filter": "Filtr", "message-empty-filter": "Filtr nie może być pusty", "placeholder-excluded-filter": "Wprowadź ścieżkę lub wyrażenie regularne (\"/regex/\")...", "option-uri-callbacks": "Zezwalaj na URI", "option-uri-callbacks-desc": "Włącz x-callback-url poprzez x-success lub x-error podczas korzystania z URI Obsidian." }, "appearance": { "name": "Wygląd", "option-base-theme": "Motyw domyślny", "option-base-theme-description": "Wybierz domyślny schemat kolorów Obsidian.", "option-accent-color": "Kolor akcentu", "option-accent-color-description": "Wybierz kolor akcentu używany w aplikacji.", "dark-theme": "Ciemny", "light-theme": "Jasny", "system-theme": "Dostosuj do systemu", "option-font": "Czcionka", "option-advanced": "Zaawansowane", "option-interface": "Interfejs", "option-interface-font": "Czcionka interfejsu", "option-interface-font-description": "Wybierz czcionkę główną programu Obsidian.", "option-zoom-level": "Stopień przybliżenia", "option-zoom-level-description": "Ustaw ogólny stopień przybliżenia aplikacji.", "option-text-font": "Czcionka tekstu", "option-text-font-description": "Wybierz czcionkę widoku edycji i odczytu.", "option-monospace-font": "Czcionka o stałej szerokości (monospace)", "option-monospace-font-description": "Wybierz czcionkę elementów takich jak bloki kodu i frontmatter.", "label-single-font-currently-in-effect": " Aktywna czcionka: ", "label-multiple-fonts-currently-in-effect": " Następujące czcionki są aktywne:", "option-font-placeholder": "Wprowadź nazwę czcionki...", "label-no-custom-font-set": "Żadna niestandardowa czcionka nie jest aktywna. Wybierz poniżej.", "label-font-applied": "Pierwsza czcionka z tej listy, która jest dostępna w systemie, zostanie aktywowana.", "msg-font-not-found": "Nie znaleziono tej czcionki w systemie.", "msg-font-found": "Znaleziono tą czcionkę w systemie.", "label-font-name": "Nazwa czcionki", "option-community-themes": "Otwórz motywy stworzone przez społeczność", "option-community-themes-description": "Przeglądaj i korzystaj z niesamowitych motywów stworzonych przez społeczność.", "button-browse-community-themes": "Przeglądaj", "option-font-size": "Rozmiar czcionki", "option-font-size-description": "Rozmiar czcionki w pikselach, który wpływa na edytor i podgląd.", "option-font-size-action": "Szybka regulacja rozmiaru czcionki", "option-font-size-action-description": "Dostosuj rozmiar czcionki za pomocą skrótu klawiszowego Ctrl + przewijanie lub gestu uszczypnięcia na gładziku.", "option-themes": "Motywy", "option-manage-themes-description": "Zarządzaj zainstalowanymi motywami i przeglądaj motywy stworzone przez społeczność.", "option-theme-button-manage": "Zarządzaj", "option-choice-none": "Żaden", "option-native-menus": "Menu systemowe", "option-native-menus-desc": "Menu w całej aplikacji będą zgodne z systemem operacyjnym. Motyw nie będzie miał na nie wpływu.", "button-reload-themes": "Odśwież motywy", "msg-reloaded-themes": "Odświeżono niestandardowe motywy CSS.", "button-open-themes-folder": "Otwórz folder motywów", "option-css-snippets": "Snippety CSS", "label-no-css-snippets-found": "Nie znaleziono żadnych snippetów CSS w folderze.", "no-snippet-description": "Snippety CSS przechowywane są w \"{{path}}\".", "button-reload-snippets": "Odśwież snippety", "button-open-snippets-folder": "Otwórz folder snippetów", "msg-reloaded-snippets": "Odświeżono snippety CSS.", "option-toggle-snippet-description": "Włącz snippet CSS z \"{{path}}\".", "label-installed-themes": "Zainstalowane motywy", "label-screenshot-unavailable": "Zrzut ekranu niedostępny", "label-default-theme": "Domyślny", "tooltip-click-to-enlarge": "Kliknij, aby powiększyć", "button-update": "Zaktualizuj", "label-currently-active": "Aktywny", "option-frame-style": "Styl ramki okna", "option-frame-description": "Określa styl paska tytułowego okien Obsidian. Wymaga ponownego uruchomienia aplikacji.", "option-frame-hidden": "Ukryty (domyślnie)", "option-frame-obsidian": "Ramka Obsidian", "option-frame-native": "Ramka systemowa", "option-custom-icon": "Niestandardowa ikonka aplikacji", "option-custom-icon-desc": "Wybierz niestandardową ikonkę aplikacji", "button-choose-custom-icon": "Wybierz niestandardową ikonkę", "option-configure-ribbon": "Menu wstążkowe", "option-configure-ribbon-desc": "Wybierz elementy wyświetlane w menu wstążkowym na pasku nawigacyjnym.", "option-mobile-quick-ribbon-item": "Szybki dostęp do elementu wstążki", "option-mobile-quick-ribbon-item-desc": "Stuknięcie elementu spowoduje jego aktywację. Przytrzymanie spowoduje wyświetlenie menu.", "option-mobile-quick-ribbon-default": "Otwórz menu wstążkowe", "button-configure": "Konfiguruj", "option-show-ribbon": "Wyświetl menu wstążkowe", "option-show-ribbon-desc": "Wyświetla pionowy pasek narzędzi z boku okna.", "label-additional-ribbon-items": "Inne elementy menu wstążkowego", "label-modal-configuration": "Konfiguracja menu wstążkowego", "label-modal-configuration-desc": "Wybierz elementy, które mają być aktywne w menu wstążkowym. Przeciągnij i upuść, aby zmienić kolejność.", "option-show-view-header": "Pokaż pasek tytułu", "option-show-view-header-desc": "Pokaż nagłówek na górze każdej karty.", "msg-updates-found": "Znalezione motywy do aktualizacji: {{count}}", "msg-updates-found_plural": "Znalezione motywy do aktualizacji: {{count}}", "button-check-for-updates": "Sprawdź aktualizacje", "button-view-updates": "Zobacz aktualizacje", "button-update-all-themes": "Zaktualizuj wszystkie", "label-current-themes": "Aktualne motywy", "label-currently-installed": "Zainstalowane motywy: {{count}}", "label-currently-installed_plural": "Zainstalowane motywy: {{count}}" }, "hotkeys": { "name": "Skróty klawiszowe", "option-search": "Wyszukaj skróty klawiszowe", "option-search-desc": "Skróty klawiszowe: {{count}} ", "option-search-desc_plural": "Skróty klawiszowe: {{count}} ", "option-search-conflict": "Polecenia z konfliktami: {{count}}", "option-search-conflict_plural": "Polecenia z konfliktami: {{count}}", "prompt-filter": "Filtruj...", "tooltip-delete-hotkey": "Usuń skrót klawiszowy", "label-waiting-for-hotkey-press": "Wciśnij skrót klawiszowy...", "label-show-all": "Wszystkie", "label-show-unassigned": "Nieprzypisane", "label-show-assigned": "Przypisane", "label-show-user-assigned": "Przypisane przeze mnie", "tooltip-restore-default": "Przywróć domyślny skrót klawiszowy", "tooltip-customize-command": "Dostosuj to polecenie", "tooltip-hotkey-single-conflict": "Ten skrót klawiszowy koliduje z \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Ten skrót klawiszowy koliduje z {{count}} innymi skrótami klawiszowymi", "label-blank-hotkey": "Pusty" }, "about": { "name": "Ogólne", "label-commercial-license": "Licencja komercyjna", "label-license-key": "Klucz licencyjny", "license-key-placeholder": "Twój klucz licencyjny...", "label-activate-license": "Aktywuj licencję", "button-activate": "Aktywuj", "label-unknown-version": "Nieznana", "label-current-version": "Obecna wersja: ", "label-install-version": "(Wersja instalatora: {{version}})", "label-up-to-date": "Twoja aplikacja jest aktualna!", "label-read-changelog": "Przeczytaj historię zmian.", "label-manual-update-required": "Aby obsługiwać najnowsze funkcje i otrzymywać najnowsze poprawki bezpieczeństwa, Obsidian wymaga dużej aktualizacji instalatora. Musisz ręcznie pobrać i ponownie zainstalować Obsidian.", "label-new-version-ready": "Nowa wersja jest gotowa do instalacji. ", "label-disabled-updates": "Aktualizacje są wyłączone.", "button-relaunch": "Uruchom ponownie", "button-check-for-updates": "Sprawdź aktualizacje", "option-auto-update": "Aktualizacje automatyczne", "option-auto-update-description": "Wyłącz tę opcję, aby uniemożliwić aplikacji sprawdzanie dostępności aktualizacji.", "option-check-slow-startup": "Informuj, jeśli uruchamianie trwa dłużej niż powinno", "option-check-slow-startup-description": "Sprawdź, co powoduje powolne ładowanie aplikacji", "button-check-startup": "Sprawdź teraz", "option-get-help": "Uzyskaj pomoc", "option-get-help-description": "Uzyskaj pomoc dotyczącą korzystania z Obsidian.", "button-open": "Otwórz", "option-language": "Język", "option-language-description": "Zmień język.", "option-insider-build": "Otrzymuj wersje testowe", "option-insider-build-description": "Automatycznie pobieraj aktualizacje do wersji testowych, aby wypróbować nowe funkcje. Pamiętaj, że te wersje mogą być mniej stabilne.", "option-advanced": "Zaawansowane", "option-hw-acceleration": "Przyspieszenie sprzętowe", "option-hw-acceleration-description": "Aktywuj akcelerację sprzętową, która wykorzystuje procesor graficzny do zwiększenia płynności działania aplikacji.", "option-hw-acceleration-warning": "Wyłączenie tej opcji spowoduje znaczne obniżenie wydajności aplikacji.", "option-config-location": "Zastąp folder konfiguracji", "option-config-location-description": "Użyj innego folderu konfiguracji niż domyślny. Musi zaczynać się od kropki.", "option-config-location-warning": "Lokalizacja konfiguracji musi być prawidłową nazwą folderu zaczynającą się od kropki.", "label-license": "Licencja", "label-your-commercial-license-key": "Twój klucz licencji komercyjnej to \"{{key}}\".", "label-commercial-license-info": "Zarejestrowana na \"{{company}}\" dla {{seats}} użytkowników. Ważna do {{expiry}}.", "label-validating-commercial-license": "Sprawdzanie...", "label-invalid-commercial-license": "Licencja nieważna: ", "button-remove-commercial-license": "Usuń", "option-catalyst": "Licencja Catalyst", "option-catalyst-desc": "Posiadasz licencję Catalyst na poziomie {{tier}}. Dziękujemy za twoje wsparcie!", "option-catalyst-desc-no-license": "Nie posiadasz jeszcze licencji Catalyst. Licencja Catalyst to jednorazowa opłata wspierająca rozwój Obsidian.", "label-app": "Aplikacja", "label-add-own-language": "Zobacz, jak dodać swój język do Obsidian." }, "account": { "name": "Konto", "option-your-account": "Twoje konto", "option-your-account-desc": "Jesteś zalogowany jako {{name}} ({{email}}).", "option-your-account-desc-no-login": "Nie jesteś jeszcze zalogowany. Konto jest wymagane tylko w przypadku Obsidian Sync, Obsidian Publish i wersji testowych Catalyst.", "label-insider": "insider", "label-supporter": "supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Ulepszenie", "option-commercial-license": "Licencja komercyjna", "option-commercial-license-desc": "Przyczyń się do tego, by Obsidian był w 100% wspierany przez użytkowników.", "button-purchase": "Kup", "button-log-out": "Wyloguj się", "label-log-in": "Zaloguj się", "label-sign-up": "Zarejestruj się", "label-email": "Adres email", "placeholder-email": "Twój adres email...", "label-name": "Nazwa", "label-password": "Hasło", "placeholder-password": "Twoje hasło...", "label-forgot-password": "Nie pamiętasz hasła?", "button-login": "Zaloguj się", "message-empty-email": "Adres email nie może być pusty.", "message-invalid-email": "Niepoprawny adres email.", "message-empty-password": "Hasło nie może być puste.", "message-login-failed": "Logowanie nie powiodło się, sprawdź dokładnie swój adres email i hasło.", "message-signup-failed": "Nie udało się zarejestrować", "label-no-account": "Nie masz konta? ", "link-sign-up-now": "Zarejestruj się teraz", "label-mfa-code": "6-cyfrowy kod 2FA ", "mfa-wrong-format": "Kod uwierzytelniający 2FA musi składać się z 6 cyfr.", "mfa-verification-failed": "Kod 2FA jest nieprawidłowy, sprawdź dokładnie aplikację uwierzytelniającą." }, "core-plugin": { "plugin-list": "Lista wtyczek", "option-search-plugin": "Szukaj wtyczek", "option-search-plugin-description": "Filtruj wtyczki po nazwie lub opisie.", "placeholder-search-plugin": "Szukaj wtyczek..." }, "third-party-plugin": { "name": "Wtyczki stworzone przez społeczność", "option-restricted-mode": "Tryb ograniczony", "option-restricted-mode-description": "Tryb ograniczony jest wyłączony. Włącz, aby wyłączyć wtyczki stworzone przez społeczność.", "button-turn-on": "Włącz", "option-browse-community-plugins": "Wtyczki stworzone przez społeczność", "option-browse-community-plugins-description": "Przeglądaj i instaluj wtyczki stworzone przez naszą niesamitą społeczność.", "button-browse": "Przeglądaj", "label-exit-restricted-mode": "Wyłącz tryb ograniczony", "label-exit-restricted-mode-description-1": "Wtyczki stworzone przez społeczność, podobnie jak każde inne samodzielnie instalowane oprogramowanie, mogą potencjalnie powodować problemy z integralnością danych i bezpieczeństwem.", "label-exit-restricted-mode-description-2": "Bezpieczeństwo wtyczek jest dla nas ważne. Oto co robimy:", "label-exit-restricted-mode-description-3": "Pomimo naszych wysiłków, nadal istnieje niewielka szansa, że wtyczki stworzone przez społeczność mogą działać nieprawidłowo.", "label-code-review": "Wstępna weryfikacja kodu", "label-code-review-desc": "Wtyczki przechodzą wstępną weryfikację kodu przez nasz zespół, zanim pojawią się w katalogu.", "label-open-source": "Otwarte oprogramowanie (open-source)", "label-open-source-desc": "Większość wtyczek jest dostępna jako otwarte oprogramowanie (open-source) w serwisie GitHub, możesz więc samodzielnie sprawdzić ich kod.", "label-peer-audit": "Audyt społeczności", "label-peer-audit-desc": "Mamy dużą społeczność deweloperów, którzy nawzajem sprawdzają swoją pracę.", "label-report-mechanism": "Mechanizm raportowania", "label-report-mechanism-desc": "Monitorujemy i usuwamy nieprawidłowo działające wtyczki po zgłoszeniu przez użytkowników.", "label-exit-restricted-mode-disable-confirmation": "Czy chcesz wyłączyć tryb ograniczony, aby aktywować wtyczki stworzone przez społeczność? Zdecydowanie zalecamy wykonanie kopii zapasowej danych przed wykonaniem tej czynności.", "label-learn-more": "Dowiedz się więcej o bezpieczeństwie wtyczek", "button-turn-on-community-plugins": "Włącz wtyczki stworzone przez społeczność", "label-trust-author": "Czy ufasz twórcy tego sejfu?", "label-trust-author-description-1": "Otwierasz ten sejf po raz pierwszy i zawiera on kilka wtyczek.", "label-trust-author-description-2": "Jeśli ten sejf pochodzi od kogoś innego, pamiętaj, że wtyczki nieznanego pochodzenia mogą stanowić zagrożenie dla bezpieczeństwa.", "label-trust-author-description-3": "Jeśli nie ufasz w pełni autorowi tego sejfu, zalecamy pozostanie w trybie ograniczonym, aby wtyczki w tym sejfie nie były uruchamiane.", "button-enable-plugins": "Zaufaj twórcy i aktywuj wtyczki", "button-dont-trust-author": "Przeglądaj sejf w trybie ograniczonym", "placeholder-community-plugins": "Szukaj wtyczek stworzonych przez społeczność...", "msg-failed-load-plugins": "Wczytywanie wtyczek stworzonych przez społeczność nie powiodło się.", "label-installed": "Zainstalowane", "button-install": "Instaluj", "button-enable": "Włącz", "button-disable": "Wyłącz", "button-copy-share-link": "Kopiuj łącze udostępniania", "button-donate": "Wesprzyj", "label-no-results-found": "Brak wyników wyszukiwania.", "label-no-recent-files-found": "Nie znaleziono najnowszych plików. Wpisz, aby wyszukać...", "msg-failed-to-load-manifest": "Wczytywanie manifestu wtyczki nie powiodło się.", "label-version": "Wersja: {{version}}", "label-currently-installed-version": " (obecnie zainstalowana: {{version}})", "label-by-author": "Autorstwa ", "label-repository": "Repozytorium: ", "label-last-update": "Najnowsza aktualizacja: ", "tooltip-view-last-update": "Wyświetl najnowszą aktualizację", "label-unsupported": "Ta wtyczka nie wspiera tego urządzenia.", "button-update": "Aktualizuj", "label-no-readme": "Ta wtyczka nie zawiera pliku README.", "msg-installing-plugin": "Instalowanie wtyczki \"{{name}}\"...", "msg-failed-to-install-plugin": "Instalowanie wtyczki \"{{name}}\" nie powiodło się.", "msg-successfully-installed-plugin": "Pomyślnie zainstalowano wtyczkę \"{{name}}\".", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Zainstalowane wtyczki", "button-reload-plugins": "Odśwież wtyczki", "msg-reloaded-third-party-plugins": "Wtyczki stworzone przez społeczność zostały odświeżone.", "label-uninstall": "Odinstaluj", "label-uninstall-plugin": "Odinstaluj wtyczkę", "label-uninstall-plugin-confirmation": "Czy na pewno chcesz odinstalować tą wtyczkę? Spowoduje to usunięcie folderu wtyczki.", "button-open-plugins-folder": "Otwórz folder wtyczek", "button-check-for-updates": "Sprawdź aktualizacje", "button-update-all-plugins": "Zaktualizuj wszystkie", "label-current-plugins": "Aktualne wtyczki", "label-currently-installed": "Liczba aktualnie zainstalowanych wtyczek: {{count}}.", "label-currently-installed_plural": "Liczba aktualnie zainstalowanych wtyczek: {{count}}.", "msg-no-updates-found": "Nie znaleziono żadnych aktualizacji wtyczek.", "msg-updates-found": "Liczba znalezionych aktualizacji wtyczek: {{count}}.", "msg-updates-found_plural": "Liczba znalezionych aktualizacji wtyczek: {{count}}.", "msg-update-plugin": "Aktualizuj do wersji {{version}}", "option-search-installed-plugin": "Szukaj zainstalowanych wtyczek", "option-search-installed-plugin-description": "Filtruj zainstalowane wtyczki według nazwy lub opisu.", "placeholder-search-installed-plugin": "Szukaj zainstalowanych wtyczek...", "show-installed-only": "Pokaż tylko zainstalowane", "label-donate-modal-title": "Wesprzyj {{name}}", "label-donate-modal-text1": "Twórcy wtyczek są wolontariuszami, którzy tworzą niesamowite rzeczy z pasji dla społeczności. Jeśli uznasz tę wtyczkę za przydatną, rozważ wsparcie jej rozwoju.", "label-donate-modal-text2": "100% Twojego wsparcia trafi do twórcy wtyczki; Obsidian nie pobiera żadnych prowizji. Platforma wybrana przez twórców wtyczek może pobierać opłaty.", "label-donate-modal-text3": "Dzięki za hojne wsparcie!", "label-support-this-plugin": "Wesprzyj tą wtyczkę:", "label-search-summary": "Pokazuję {{pluginCount}}:", "label-by-popularity": "Najczęściej pobierane", "label-by-released": "Ostatnio wydane", "label-by-updated": "Ostatnio zaktualizowane", "label-alphabetical": "Alfabetycznie", "label-last-updated": "Zaktualizowane {{time}}" }, "mobile-toolbar": { "name": "Pasek narzędzi dla urządzeń przenośnych", "option-configure-quick-action": "Konfiguruj szybką czynność dla urządzeń przenośnych", "option-configure-quick-action-description": "Skonfiguruj polecenie, które ma być uruchamiane po przeciągnięciu od góry. Bieżące polecenie jest ustawione na \"{{command}}\".", "msg-missing-quick-action": "Działanie nie jest skonfigurowane", "button-configure": "Konfiguruj", "placeholder-select-quick-action": "Wybierz szybką czynność...", "quick-action-disabled": "Brak", "manage-toolbar-options": "Zarządzanie opcjami paska narzędzi", "option-internal-link": "Łącze wewnętrzne", "option-internal-embed": "Zamieszczanie", "option-tag": "Tag", "option-heading": "Nagłówek", "option-strikethrough": "Przekreślenie", "option-highlight": "Wyróżnienie", "option-code": "Kod", "option-blockquote": "Cytat blokowy", "option-inline-math": "Matematyka w tekście", "option-math-block": "Matematyka w bloku", "option-markdown-link": "Łącze w formacie Markdown", "option-bullet-list": "Lista punktowana", "option-numbered-list": "Lista numerowana", "option-indent-list": "Dodaj wcięcie elementu listy", "option-unindent-list": "Usuń wcięcie elementu listy", "option-undo": "Cofnij", "option-redo": "Ponów", "option-move-caret-up": "Przesuń kursor w górę", "option-move-caret-down": "Przesuń kursor w dół", "option-move-caret-left": "Przesuń kursor w lewo", "option-move-caret-right": "Przesuń kursor w prawo", "option-first-line": "Przejdź do pierwszej linii", "option-last-line": "Przejdź do ostatniej linii", "option-toggle-keyboard": "Klawiatura", "option-configure-toolbar": "Konfiguruj pasek narzędzi dla urządzeń przenośnych", "option-added-options": "Dodane opcje", "option-more-toolbar-options": "Więcej opcji paska narzędzi", "option-attach": "Wstaw załącznik", "option-add-command": "Dodaj polecenie uniwersalne", "option-add-command-description": "Wybierz dowolne polecenie uniwersalne, aby dodać je do paska narzędzi." } }, "editor": { "search": { "placeholder-find": "Znajdź", "placeholder-replace": "Zastąp", "label-exit-search": "Zakończ wyszukiwanie", "label-next": "Nast.", "label-previous": "Poprz.", "label-find-all": "Znajdź wszystkie", "label-replace": "Zamień", "label-replace-all": "Zamień wszystkie" }, "link-suggestion": { "label-type-hash": "Użyj #", "label-link-heading": "aby utworzyć łącze do nagłówka", "label-type-block": "Użyj ^", "label-link-block": "aby utworzyć łącze do bloku", "label-type-pipe": "Użyj |", "label-change-display-text": "aby zmienić wyświetlany tekst", "label-no-alias": "Wyświetl tekst", "label-no-heading": "Nagłówek", "label-no-match-found": "Nie znaleziono", "label-image-size": "Szerokość obrazu: {{size}}px", "label-accept": "aby zaakceptować", "label-new-footnote": "Nowy przypis..." }, "spellcheck": { "no-suggestion": "Brak propozycji...", "add-to-dictionary": "Dodaj do słownika" }, "menu": { "edit-link": "Edytuj łącze", "edit-tag": "Edytuj tag", "label-edit-block": "Edytuj ten blok", "label-delete-footref-and-note": "Usuń przypis i odnośnik" }, "heading-suggestion": { "label-no-heading": "Bez nagłówka", "label-heading-level": "Nagłówek {{level}}" }, "print-modal": { "title": "Eksportuj do PDF", "caption": "Eksportuj \"{{filename}}\" do PDF z poniższymi ustawieniami.", "setting-page-size": "Wielkość strony", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "List", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Dołącz nazwę pliku jako tytuł", "setting-landscape": "Orientacja pozioma", "setting-margin": "Margines", "setting-margin-default": "Domyślny", "setting-margin-minimal": "Minimalny", "setting-margin-none": "Brak", "setting-downscale-percent": "Skalowanie procentowe", "button-export-to-pdf": "Eksportuj do PDF" }, "link-popover": { "tooltip-follow-link": "Kliknij łącze", "tooltip-open-link": "Otwórz łącze", "tooltip-search-tag": "Wyszukaj tag" } }, "interface": { "embed-cannot-find": "Nie można odnaleźć:", "label-unable-to-find-section": "Nie można odnaleźć “{{subpath}}” w {{file}}", "embed-open-in-default-app-tooltip": "Otwórz w aplikacji domyślnej", "empty-sidebar": "Pasek boczny jest pusty, spróbuj przeciągnąć tu jednen z paneli.", "sidebar-expand": "Rozwiń", "sidebar-collapse": "Zwiń", "msg-fail-to-save-file": "Nie udało się zapisać pliku \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Nie udało się wczytać wtyczki “{{plugin}}”", "msg-plugin-error": "Wystąpił błąd podczas wczytywania wtyczki “{{plugin}}”", "msg-failed-to-load-file": "Nie udało się otworzyć “{{filepath}}”", "msg-failed-to-open-href": "Nie udało się otworzyć lokalizacji “{{href}}”", "no-file": "Brak pliku", "msg-file-changed": "\"{{file}}\" został zmodyfikowany w aplikacji zewnętrznej, zmiany zostały wprowadzone automatycznie.", "switch-vault": "Otwórz inny sejf", "manage-vaults": "Zarządzaj sejfami...", "help": "Pomoc", "settings": "Ustawienia", "drag-to-rearrange": "Przeciągnij, aby zmienić położenie", "msg-switched-to-read": "Przełączono domyślny tryb podglądu na widok odczytu.", "msg-switched-to-edit": "Przełączono domyślny tryb podglądu na edytor.", "msg-upgrade-installer": "Aby skorzystać z tej funkcji, należy ponownie zainstalować najnowszy instalator dostępny na naszej stronie internetowej.", "msg-slow-boot": "Wykryto powolny czas uruchamiania.", "msg-desktop-only-feature": "Ta funkcja jest dostępna tylko w aplikacji desktopowej.", "tooltip-restore-default-settings": "Przywróć ustawienia domyślne", "label-copy": "Skopiuj do schowka", "label-copy-short": "Skopiuj", "copied_generic": "Skopiowano do schowka", "copied": "{{item}} skopiowano do schowka", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Otwarty plik \"{{path}}\"", "msg-file-not-found-through-uri": "Nie znaleziono pliku \"{{name}}\".", "delete-action-short-name": "Usuń", "msg-indexing": "Obsidian indeksuje ten sejf...\nPowinno to nastąpić tylko raz.\nNiektóre funkcje mogą być niedostępne do czasu zakończenia tego procesu.", "msg-indexing-desc": "Niektóre funkcje mogą być niedostępne do czasu zakończenia tego procesu.", "msg-indexing-complete": "Indeksowanie zakończone", "msg-sandbox-vault": "To jest sejf testowy.\nZmiany wprowadzone w tym sejfie zostaną utracone.", "msg-indexed-db-not-supported": "IndexedDB jest wymagane dla tej funkcji, ale obecnie jest wyłączone.", "msg-indexed-db-i-o-s": "Jeśli korzystasz z systemu iOS w trybie blokady, wyklucz Obsidian z ustawienia \"Configure Web Browsing\".", "label-enter-to-create": "Wprowadź, aby utworzyć", "label-update-available": "Dostępna jest aktualizacja", "label-debug-info": "Informacje debugowania", "button-learn-more": "Dowiedz się więcej", "button-not-now": "Nie teraz", "button-add": "Dodaj", "button-manage": "Zarządzaj", "label-new-tab": "Nowa karta", "option-hide-ribbon": "Ukryj menu wstążkowe", "msg-tab-busy": "Ta karta jest teraz zajęta, spróbuj ponownie później", "formatting": { "label-formatting": "Format", "label-paragraph": "Paragraf", "label-insert": "Wstaw", "insert-link": "Łącze", "insert-external-link": "Łącze zewnętrzne", "insert-callout": "Cytat blokowy", "insert-horizontal-rule": "Linia pozioma", "insert-code-block": "Blok kodu", "insert-math-block": "Blok matematyczny", "insert-table": "Tabela", "insert-footnote": "Przypis", "toggle-bold": "Pogrubienie", "toggle-code": "Kod", "toggle-comments": "Komentarz", "toggle-highlight": "Wyróżnienie", "toggle-italics": "Kursywa", "toggle-strikethrough": "Przekreślenie", "toggle-math": "Matematyka", "toggle-bullet-list": "Lista punktowana", "toggle-checklist": "Lista zadań", "toggle-numbered-list": "Lista numerowana", "set-heading": "Nagłówek {{level}}", "no-heading": "Treść", "clear": "Wyczyść formatowanie", "toggle-quote": "Cytat" }, "empty-state": { "no-file-open": "Żaden plik nie jest otwarty", "create-new-file": "Utwórz nowy plik", "go-to-file": "Przejdź do pliku", "see-recent-files": "Zobacz ostatnie pliki", "close": "Zamknij", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Wtyczka nie jest już aktywna", "unknown-pane-desc": "Wtyczka, która utworzyła ten panel ({{type}}) nie jest już aktywna" }, "release-notes": { "tab-title": "Informacje o wersji {{version}}", "msg-missing-release-notes": "Brak dostępnych informacji o wersji {{version}}.", "msg-failed-to-load": "Nie udało się wczytać informacji o wersji {{version}}." }, "menu": { "edit-view": "Edytuj (Ctrl/Cmd + kliknięcie, aby edytować w nowym oknie)", "read-view": "Bieżący widok: odczyt", "ribbon": "Menu wstążkowe", "left-sidebar": "Lewy pasek boczny", "right-sidebar": "Prawy pasek boczny", "switch-to-edit-view": "Kliknij, aby edytować", "switch-to-read-view": "Kliknij, aby czytać", "mod-click-open-new-tab": "{{key}} + kliknięcie, aby otworzyć w nowej karcie", "find": "Znajdź...", "replace": "Zamień...", "edit": "Edytuj", "remove": "Usuń", "rename": "Zmień nazwę", "preview": "Podgląd", "more-options": "Więcej opcji", "close": "Zamknij", "close-all": "Zamknij wszystkie", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Zamknij pozostałe", "close-after": "Close tabs after", "pin": "Przypnij", "unpin": "Odepnij", "unlink-tab": "Odłącz kartę", "link-tab": "Połącz kartę", "toggle-source-mode": "Tryb kodu", "toggle-reading-view": "Widok odczytu", "add-property": "Dodaj atrybut pliku", "delete-file": "Usuń plik", "create-file": "Utwórz ten plik", "open-link": "Otwórz łącze", "open-in-new-tab": "Otwórz w nowej karcie", "open-to-the-right": "Otwórz po prawej", "copy-url": "Skopiuj URL", "copy": "Kopiuj", "cut": "Wytnij", "paste": "Wklej", "paste-as-plain-text": "Wklej jako zwykły tekst.", "lookup-selection": "Wyszukaj “{{selection}}”", "select-all": "Zaznacz wszystko", "rename-heading": "Edytuj nagłówek...", "rename-blockid": "Zmień nazwę ID tego bloku...", "open-in-new-window": "Otwórz w nowym oknie", "move-to-new-window": "Przenieś do nowego okna", "open-in-browser": "Otwórz w przeglądarce", "stack-tabs": "Złącz karty", "unstack-tabs": "Rozłącz karty", "open-linked-view": "Otwórz widok połączony" }, "tooltip": { "click-to-expand": "Kliknij, aby rozwinąć", "click-to-collapse": "Kliknij, aby zwinąć", "alias": "Alias", "not-created-yet": "Jeszcze nie utworzono, wybierz, aby utworzyć" }, "start-screen": { "label-version": "Wersja", "label-create-local-vault": "Stwórz sejf lokalny", "option-open-folder-as-vault": "Otwórz folder jako sejf", "option-open-folder-as-vault-description": "Wybierz istniejący folder z plikami w formacie Markdown.", "option-create-vault": "Stwórz nowy sejf", "option-create-vault-description": "Stwórz nowy sejf Obsidian w folderze.", "option-connect-obsidian-sync": "Połącz z Obsidian Sync", "option-connect-obsidian-sync-description": "Skonfiguruj synchronizowany sejf lokalny z istniejącym sejfem zdalnym.", "option-new-vault-name": "Nazwa sejfu", "option-new-vault-name-description": "Wybierz nazwę dla swojego niesamowitego sejfu.", "option-new-vault-location": "Lokalizacja", "option-new-vault-location-description": "Wybierz miejsce, w którym umieścisz swój nowy sejf.", "label-new-vault-location-preview": "Twój nowy sejf zostanie umieszczony w: ", "option-reveal-vault-in-explorer": "Pokaż sejf w systemowym eksploratorze plików", "option-reveal-vault-in-explorer-mac": "Pokaż sejf w Finderze", "option-rename-vault": "Zmień nazwę sejfu...", "option-copy-vault-i-d": "Skopiuj ID sejfu", "msg-error-rename-exists": "Sejf o tej nazwie już istnieje.", "msg-error-nested": "Nie można przenieść sejfu do jego własnego folderu.", "msg-error-rename-open": "Nie można zmienić nazwy sejfu, który jest teraz otwarty.", "msg-rename-failed": "Zmiana nazwy sejfu nie powiodła się.", "msg-rename-success": "Zmiana nazwy sejfu powiodła się.", "option-move-vault": "Przenieś sejf...", "msg-move-select-dest": "Wybierz folder docelowy", "msg-error-move-exists": "W miejscu docelowym znajduje się już sejf.", "msg-error-move-open": "Nie można przenieść sejfu, który jest teraz otwarty.", "msg-move-failed": "Przeniesienie sejfu nie powiodło się.", "msg-move-success": "Przeniesienie sejfu powiodło się.", "option-remove": "Usuń z listy", "button-quick-start": "Szybki start", "button-open": "Otwórz", "button-browse": "Przeglądaj", "button-connect": "Połącz", "button-create-vault": "Stwórz", "button-back": "Wstecz", "msg-empty-vault-name": "Nazwa sejfu nie może być pusta.", "msg-trailing-dot-vault-name": "Nazwa sejfu nie może kończyć się kropką.", "msg-invalid-folder": "Wybierz prawidłowy folder.", "msg-failed-to-create-vault": "Tworzenie sejfu nie powiodło się.", "msg-failed-to-create-vault-at-location": "Nie można stworzyć sejfu w podanej lokalizacji. Sprawdź dokładnie lokalizację i uprawnienia.", "msg-error-failed-to-open-vault": "Otwieranie sejfu nie powiodło się.", "msg-error-remove-current-open-vault": "Nie można usunąć sejfu, który jest teraz otwarty.", "option-get-help": "Uzyskaj pomoc", "option-user-email": "Adres email", "placeholder-your-email": "Twój adres email...", "option-user-password": "Hasło", "placeholder-your-password": "Twoje hasło...", "button-sign-in": "Zaloguj się", "button-setup": "Konfiguracja", "option-connect-vault-desc": "Stwórz synchronizowany sejf na tym urządzeniu.", "tooltip-own-vault": "To jest zdalny sejf należący do ciebie.", "tooltip-shared-vault": "To jest zdalny sejf udostępniany tobie.", "mobile": { "label-start-screen": "Twoje myśli należą do ciebie.", "label-synced": "zsynchronizowane", "label-not-synced": "niezsynchronizowane", "label-none": "Brak", "label-recommended": "Polecane", "label-start-screen-desc": "Obsidian przechowuje notatki na twoim urządzeniu, dzięki czemu możesz uzyskać do nich szybki i prywatny dostęp, nawet w trybie offline.\nTwoje dane są przechowywane w bezpiecznym folderze lokalnym o nazwie **sejf**.", "option-create": "Utwórz sejf", "option-use-existing": "Użyj mojego istniejącego sejfu", "label-sync-intro": "Aby uzyskać dostęp do notatek na innych urządzeniach, należy skonfigurować synchronizację.", "label-sync-intro-desc": "Ponieważ Obsidian przechowuje notatki na twoich urządzeniach, musisz skonfigurować synchronizację, jeśli chcesz uzyskać dostęp do notatek na innym telefonie lub komputerze. \nMożesz skonfigurować synchronizację teraz lub po prostu zacząć pisać i skonfigurować ją później.", "option-setup-sync": "Skonfiguruj synchronizację", "option-skip": "Na razie pomiń", "option-skip-short": "Pomiń", "label-vault-create": "Wybierz nazwę dla swojego sejfu.", "button-create": "Utwórz sejf", "label-sync-setup": "Konfiguracja synchronizacji", "label-sync-setup-desc": "Utwórz zsynchronizowany sejf na swoim koncie Obsidian, aby mieć dostęp do swoich danych z innych urządzeń.", "label-remote-vault-create": "Szyfrowanie synchronizacji", "option-encryption-custom": "Szyfrowanie end-to-end", "option-encryption-custom-desc": "Zapewnia najsilniejsze zabezpieczenia, ale wymaga zachowania hasła szyfrowania w bezpiecznym miejscu", "option-encryption-managed": "Standardowe szyfrowanie", "option-encryption-managed-desc": "Używa klucza zarządzanego przez Obsidian w celu ochrony twoich danych podczas przesyłania i na naszych serwerach.", "label-sync-settings": "Ustawienia synchronizacji", "label-sync-settings-desc": "Czy chcesz wykluczyć jakieś foldery lub pliki podczas synchronizacji z tym urządzeniem?", "button-start": "Rozpocznij synchronizację", "label-sign-in-or-sign-up": "Utwórz konto Obsidian lub zaloguj się", "option-sign-up": "Utwórz konto", "option-sign-in": "Zaloguj się", "button-resend-email": "Ponownie wyślij wiadomość e-mail", "label-remote-vault-options": "Masz istniejące sejfy synchronizowane", "label-remote-vault-options-desc": "Czy chcesz utworzyć nowy sejf czy połączyć się z istniejącym sejfem synchronizowanym?", "option-remote-create": "Utwórz nowy sejf synchronizowany", "option-remote-choose": "Wybierz istniejący sejf", "button-logout": "Wyloguj się", "button-forgot-password": "Nie pamiętam hasła", "label-vault-name": "Nazwa sejfu", "label-vault-location": "Lokalizacja sejfu", "label-vault-location-desc": "Twój nowy sejf zostanie umieszczony w {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Wybierz region serwera w pobliżu, aby przyspieszyć synchronizację.", "label-encryption-key": "Klucz szyfrowania", "label-encryption-key-help": "Tego hasła nie można później zmienić. Jeśli zapomnisz to hasło, wszelkie zdalne dane na serwerach synchronizacji będą na zawsze niedostępne.", "placeholder-vault-name": "Mój sejf", "opt-region-selection-automatic": "Automatycznie", "label-remote-vault-selection": "Wybierz sejf", "label-remote-vault-selection-desc": "Twoje konto **{{email}}** posiada istniejące sejfy, z którymi możesz się połączyć.", "label-sign-in": "Zaloguj się na swoje konto Obsidian", "label-forgot-password": "Nie pamiętam hasła", "button-reset-password": "Resetowanie hasła", "msg-password-reset": "Wysłaliśmy wiadomość e-mail na adres {{email}} w celu zresetowania hasła.", "label-sync-method-selection": "Wybierz sposób synchronizacji notatek", "label-sync-method-selection-desc": "Aby korzystać z Obsidian na swoich urządzeniach, należy zsynchronizować dane.", "label-sync-pro1": "Płynne działanie na każdym urządzeniu i w każdym systemie operacyjnym.", "label-sync-pro2": "Zabezpieczone najsilniejszym standardem szyfrowania end-to-end.", "label-sync-pro3": "Wymaga konta Obsidian.", "label-icloud-con1": "Tylko dla iOS i macOS.", "label-icloud-con2": "Domyślnie nie jest szyfrowane.", "label-third-party-desc1": "Wymaga wtyczek lub narzędzi zewnętrznych.", "label-third-party-desc2": "Domyślnie może nie być szyfrowana.", "opt-use-obsidian-sync": "Używaj Obsidian Sync", "opt-use-icloud": "Używaj iCloud", "opt-use-other": "Używaj synchronizacji zewnętrznej", "opt-learn-other-sync": "Inne metody synchronizacji", "opt-use-supported": "Używaj obsługiwanych metod synchronizacji", "label-sync-restore": "Gdzie znajduje się twój sejf?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Inne", "label-other-sync": "Zewnętrzna synchronizacja", "label-local-folder": "Na tym urządzeniu", "option-connect-icloud": "Połącz z iCloud", "option-connect-other": "Połącz z inną usługą synchronizacji", "option-connect-sync": "Połącz z Obsidian Sync", "option-connect-local-folder": "Wybierz folder", "label-sync-other": "Inne metody synchronizacji", "label-sync-other-desc": "Obsidian oficjalnie obsługuje dwie metody synchronizacji: **Obsidian Sync** i **iCloud**.\nJednak ze względu na to, że Obsidian daje ci kontrolę nad twoimi danymi, istnieją inne opcje synchronizacji, z których możesz skorzystać.\nOpcje te to między innymi wtyczki zewnętrzne i inne narzędzia, które mogą wymagać bardziej zaawansowanej konfiguracji.\nAby skorzystać z alternatywnej metody synchronizacji, **utwórz sejf** i postępuj zgodnie z instrukcjami dostarczonymi przez wtyczkę lub zewnętrznego dostawcę.", "label-email-entry": "Wprowadź swój adres e-mail", "label-email-entry-desc": "Twój adres e-mail jest wymagany do utworzenia konta Obsidian.", "label-signup": "Wprowadź swoją nazwę i hasło", "email-verification": "Połącz z Obsidian Sync", "email-verification-desc": "Wkrótce otrzymasz wiadomość e-mail na adres **{{email}}** z instrukcjami dotyczącymi połączenia z Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Twój sejf iCloud nie został wykryty. Może to być spowodowane jedną z poniższych przyczyn:", "icloud-missing-reason1": "Twój sejf znajduje się na innym koncie iCloud niż to, do którego jesteś obecnie zalogowany na tym urządzeniu.", "icloud-missing-reason2": "Sejf nie jest przechowywany bezpośrednio w folderze Obsidian na dysku iCloud Drive.", "i-cloud-unsupported": "iCloud nie jest obsługiwany", "i-cloud-unsupported-desc": "Synchronizacja iCloud jest dostępna tylko na urządzeniach Apple. Jeśli sejf jest obecnie synchronizowany za pośrednictwem usługi iCloud, dowiedz się, jak przeprowadzić migrację sejfu do innej usługi synchronizacji.", "allow-file-access": "Zezwalaj na dostęp do plików", "msg-login-pending": "Logowanie...", "msg-name-required": "Nazwa sejfu jest wymagana", "msg-new-email-success": "Wysłano nową wiadomość e-mail z potwierdzeniem.", "msg-new-email-failure": "Nie udało się ponownie wysłać wiadomości e-mail.", "msg-invalid-vault": "Lokalizacja sejfu musi być folderem." } }, "starter-content": { "welcome-filename": "Witaj", "welcome-file-content": "To jest twój nowy *sejf*.\n\nZapisz coś, [[utwórz łącze]] lub wypróbuj [Importer](https://help.obsidian.md/Plugins/Importer)!\n\nKiedy będziesz gotowy, usuń tę notatkę i dostosuj sejf do własnych potrzeb." }, "drag-and-drop": { "insert-link-here": "Wstaw łącze tutaj", "insert-links-here": "Wstaw łącza tutaj", "move-into-folder": "Przenieś do \"{{folder}}\"", "star-this-file": "Oznacz plik gwiazdką", "star-these-files": "Oznacz pliki gwiazdką", "open-in-this-tab": "Otwórz w tej karcie", "open-as-tab": "Otwórz w nowej karcie" }, "window": { "maximize": "Maksymalizuj", "minimize": "Minimalizuj", "restore-down": "Przywróć", "close-window": "Zamknij", "go-back": "Wstecz", "go-forward": "Naprzód" }, "start-up": { "loading-obsidian": "Wczytywanie Obsidian...", "obsidian-load-error": "Podczas wczytywania Obsidian wystąpił błąd.", "button-reload-app": "Odśwież aplikację", "button-reload-app-in-safe-mode": "Odśwież aplikację w trybie awaryjnym", "button-open-another-vault": "Otwórz inny sejf", "loading-plugins": "Wczytywanie wtyczek...", "msg-plugin-hang": "Wczytywanie wtyczki “{{plugin}}” trwa zbyt długo. ", "loading-vault": "Wczytywanie sejfu...", "msg-failed-to-load-vault": "Wczytywanie sejfu nie powiodło się: ", "loading-cache": "Wczytywanie pamięci podręcznej...", "loading-workspace": "Wczytywanie obszaru roboczego..." }, "mobile": { "action-import": "Zaimportuj do sejfu", "action-insert-text-desc": "Dodaj tekst do pliku:", "action-choose-file-to-insert": "Wybierz plik do wstawienia", "action-insert-text-into-file": "Wstaw tekst do {{filename}}", "action-insert-link-into-file": "Wstaw łącze do {{filename}}", "action-show-switcher": "Pokaż przegląd kart", "msg-importing": "Importowanie...", "msg-import-success": "Zaimportowano", "msg-failed-to-import-file": "Importowanie pliku {{filename}} nie powiodło się.", "msg-back-again-to-exit": "Kliknij ponownie, aby wyjść.", "feedback": { "label-feedback": "Opinie", "label-feedback-desc": "Podoba ci się Obsidian? Pomóż nam wystawiając ocenę.", "action-rate": "Oceń aplikację", "action-dismiss": "Anuluj" } }, "help-screen": { "label-official-help-site": "Oficjalna strona pomocy", "label-official-help-site-desc": "Przeczytaj oficjalną dokumentację pomocy Obsidian, dostępną w wielu językach.", "action-visit": "Odwiedź", "label-discord-chat": "Czat Discord", "label-discord-chat-desc": "Discord to najlepsze miejsce do czatowania z innymi doświadczonymi użytkownikami Obsidian z całego świata.", "action-join": "Dołącz", "label-forum": "Oficjalne forum dyskusyjne", "label-forum-desc": "Wzajemna pomoc, prośby o dodanie nowych funkcji, zgłaszanie błędów i głębokie dyskusje na temat zarządzania wiedzą.", "label-sandbox-vault": "Sejf testowy", "label-sandbox-vault-desc": "Baw się i eksperymentuj z różnymi funkcjami. Pamiętaj, że wprowadzone zmiany nie zostaną zapisane." } }, "commands": { "save-file": "Zapisz aktywny plik", "download-attachments": "Pobierz załączniki dla aktywnego pliku", "follow-cursor-link": "Otwórz łącze wskazane przez kursor", "open-cursor-link-in-new-tab": "Otwórz łącze wskazane przez kursor w nowej karcie", "open-cursor-link-to-the-right": "Otwórz łącze wskazane przez kursor po prawej stronie", "open-cursor-link-in-new-window": "Otwórz łącze wskazane przez kursor w nowym oknie", "navigate-tab-above": "Aktywuj grupę kart powyżej", "navigate-tab-below": "Aktywuj grupę kart poniżej", "navigate-tab-left": "Aktywuj grupę kart po lewej", "navigate-tab-right": "Aktywuj grupę kart po prawej", "toggle-pin": "Przypnij lub odepnij", "split-right": "Podziel w prawo", "split-down": "Podziel w dół", "toggle-stacked-tabs": "Stos kart", "navigate-back": "Wstecz", "navigate-forward": "Naprzód", "use-dark-mode": "Tryb ciemny", "use-light-mode": "Tryb jasny", "change-theme": "Zmień motyw", "search-current-file": "Szukaj w aktywnym pliku", "search-replace-current-file": "Szukaj i zamień w aktywnym pliku", "add-property": "Dodaj atrybut pliku", "label-sort-property-a-to-z": "Nazwa (od A do Z)", "label-sort-property-z-to-a": "Nazwa (od Z do A)", "add-alias": "Dodaj alias", "clear-properties": "Wyczyść atrybuty pliku", "open-settings": "Otwórz ustawienia", "open-help": "Otwórz pomoc", "toggle-edit": "Tryb edycji lub odczytu", "toggle-source-mode": "Podgląd na żywo (Live Preview) lub tryb kodu", "delete-current-file": "Usuń aktywny plik", "new-tab": "Nowa karta", "show-trash": "Pokaż kosz", "close-all-tabs": "Zamknij wszystkie karty", "close-active-tab": "Zamknij aktywną kartę", "close-others-in-tab-group": "Zamknij pozostałe karty w grupie", "close-other-tabs": "Zamknij wszystkie pozostałe karty", "close-tab-group": "Zamknij tą grupę kart", "toggle-left-sidebar": "Pokaż lub ukryj lewy pasek boczny", "toggle-ribbon": "Pokaż lub ukryj menu wstążkowe", "toggle-right-sidebar": "Pokaż lub ukryj prawy pasek boczny", "toggle-default-new-tab-mode": "Domyślny widok dla nowych kart", "add-cursor-above": "Dodaj kursor powyżej", "add-cursor-below": "Dodaj kursor poniżej", "focus-editor": "Aktywuj edytor", "toggle-fold-properties": "Rozwiń lub zwiń atrybuty w aktywnym pliku", "toggle-fold": "Rozwiń lub zwiń aktywną linię", "fold-all": "Zwiń wszystkie nagłówki i listy", "unfold-all": "Rozwiń wszystkie nagłówki i listy", "fold-more": "Zwiń sekcję", "fold-less": "Rozwiń sekcję", "swap-line-up": "Przesuń linię w górę", "swap-line-down": "Przesuń linię w dół", "remove-heading": "Usuń nagłówek", "toggle-heading": "Ustaw jako nagłówek {{level}}", "toggle-bold": "Pogrubienie", "toggle-italics": "Kursywa", "toggle-highlight": "Wyróżnienie", "toggle-comments": "Komentarz", "clear-formatting": "Wyczyść formatowanie", "insert-link": "Wstaw łącze", "toggle-spellcheck": "Włącz lub wyłącz sprawdzanie pisowni", "delete-paragraph": "Usuń paragraf", "toggle-checklist": "Zaznacz lub odznacz element listy", "cycle-list-checklist": "Lista punktowana lub lista zadań", "insert-callout": "Cytat blokowy", "insert-code-block": "Blok kodu", "insert-math-block": "Blok matematyczny", "insert-horizontal-rule": "Linia pozioma", "insert-table": "Tabela", "insert-footnote": "Przypis", "edit-file-title": "Edytuj tytuł pliku", "copy-path": "Skopiuj ścieżkę pliku", "copy-url": "Skopiuj URL Obsidian", "export-pdf": "Eksportuj do PDF", "reload": "Odśwież aplikację bez zapisywania", "undo-close-tab": "Cofnij zamknięcie karty", "context-menu": "Pokaż menu kontekstowe pod kursorem", "show-debug-info": "Pokaż informacje debugowania", "open-sandbox-vault": "Otwórz sejf testowy", "always-on-top": "Okno zawsze na wierzchu", "zoom-in": "Przybliż", "zoom-out": "Oddal", "reset-zoom": "Zresetuj przybliżenie", "toggle-preview": "Tryb edycji lub odczytu", "move-to-new-window": "Przenieś aktywną kartę do nowego okna", "open-in-new-window": "Otwórz aktywną kartę w nowym oknie", "rename-current-file": "Zmień nazwę aktywnego pliku", "go-to-prev-tab": "Przejdź do poprzedniej karty", "go-to-next-tab": "Przejdź do następnej karty", "go-to-last-tab": "Przejdź do ostatniej karty", "go-to-nth-tab": "Przejdź do karty #{{n}}", "show-release-notes": "Pokaż informacje o wersji" }, "dialogue": { "label-link-affected": "Zmianie ulegnie {{links}} w {{files}}.", "msg-updated-links": "Zaktualizowano {{links}} w {{files}}.", "label-update-links": "Zaktualizuj łącza", "label-confirm-update-link-to-file": "Czy chcesz zaktualizować łącza wewnętrzne prowadzące do tego pliku?", "button-always-update": "Zawsze aktualizuj", "button-just-once": "Tylko raz", "button-do-not-update": "Nie aktualizuj", "label-confirm-deletion": "Czy na pewno chcesz usunąć \"{{filename}}\"?", "label-move-to-system-trash": "Plik zostanie przeniesiony do kosza systemowego.", "label-move-to-vault-trash": "Plik zostanie przeniesiony do kosza w Obsidian, który znajduje się w ukrytym folderze \".trash\" w sejfie.", "label-permanent-delete": "Plik zostanie trwale usunięty.", "label-non-empty-folder": "Ten folder nie jest pusty.", "label-delete-folder-warning": "Jeśli kontynuujesz, wszystkie pliki w tym folderze zostaną usunięte.", "label-delete-folder": "Usuń folder", "button-delete": "Usuń", "button-delete-do-not-ask-again": "Usuń i nie pytaj ponownie", "label-do-not-ask-again": "Nie pytaj ponownie", "label-existing-backlink": "Obecnie istnieje {{count}} link wskazujący na tę notatkę.", "label-existing-backlink_plural": "Obecnie istnieje {{count}} linków wskazujących na tę notatkę.", "label-delete-file": "Usuń plik", "label-download-attachments": "Pobierz załączniki", "label-no-attachments": "Ta notatka nie zawiera zewnętrznych załączników.", "label-downloaded-attachments": "Pobierz załączniki: {{count}}.", "label-downloaded-attachments_plural": "Pobierz załączniki: {{count}}.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Zarządzaj", "button-view": "Wyświetl", "button-confirm": "Potwierdź", "button-cancel": "Anuluj", "button-download": "Pobierz", "button-done": "Zrobione", "button-save": "Zapisz", "button-stop": "Zatrzymaj", "button-continue": "Kontynuuj", "button-choose": "Wybierz", "button-retry": "Spróbuj ponownie", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Tworzenie PDF...", "label-rename-file": "Zmień nazwę pliku", "label-rename-file-generic": "Nazwa pliku", "label-new-name": "Nowa nazwa", "msg-rename-success": "Zmiana nazwy powiodła się.", "msg-merge-failed": "Scalanie notatek nie powiodło się: {{message}}", "msg-file-or-folder-not-found": "Ten plik lub folder nie istnieje: “{{path}}”.", "msg-heading-empty": "Nagłówek nie może być pusty", "msg-block-id-empty": "ID bloku nie może być pusty", "msg-block-id-invalid": "ID bloku może zawierać tylko znaki alfanumeryczne lub myślnik", "label-rename-heading": "Edytuj nagłówek", "label-rename-blockid": "Zmień identyfikator sekcji" }, "menu-items": { "new-file": "Utwórz notatkę", "new-file-to-the-right": "Nowa notatka po prawej stronie", "new-window": "Nowe okno", "open-switcher": "Okno szybkiego wyboru...", "open-vault": "Otwórz sejf...", "close-tab": "Zakmnij kartę", "close-window": "Zamknij okno", "find": "Znajdź", "replace": "Zamień", "insert-callout": "Cytat blokowy", "insert-markdown-link": "Łącze w formacie Markdown", "insert-wikilink": "Łącze", "set-heading": "Nagłówek {{level}}", "no-heading": "Bez nagłówka", "insert-quote": "Cytat", "export-pdf": "Eksportuj do PDF", "insert-attachment": "Wstaw załącznik...", "insert-codeblock": "Blok kodu", "insert-math-block": "Blok matematyczny", "insert-table": "Tabela", "insert-footnote": "Przypis", "toggle-bullet-list": "Lista punktowana", "toggle-numbered-list": "Lista numerowana", "toggle-checklist": "Lista zadań", "toggle-bold": "Pogrubienie", "toggle-code": "Kod", "toggle-comment": "Komentarz", "toggle-italics": "Pochylenie", "toggle-inline-math": "Matematyka", "toggle-highlight": "Wyróżnienie", "toggle-strikethrough": "Przekreślenie", "toggle-comments": "Komentarz", "folding-menu": "Zwijanie", "fold-all": "Zwiń wszystkie", "unfold-all": "Rozwiń wszystkie", "fold-more": "Zwiń sekcję", "fold-less": "Rozwiń sekcję", "source-mode": "Tryb kodu", "reading-view": "Tryb odczytu", "show-debug-info": "Pokaż informacje debugowania", "open-sandbox": "Otwórz sejf testowy", "navigate-back": "Wstecz", "navigate-forward": "Naprzód", "toggle-left-sidebar": "Lewy pasek boczny", "toggle-right-sidebar": "Prawy pasek boczny", "toggle-ribbon": "Menu wstążkowe", "split-right": "Podziel w prawo", "split-down": "Podziel w dół", "release-notes": "Informacje o wersji" }, "plugins": { "name": "Wtyczki", "file-explorer": { "name": "Przeglądarka plików", "desc": "Wyświetl wszystkie pliki w sejfie.", "action-open": "Otwórz przeglądarkę plików", "action-show": "Pokaż przeglądarkę plików", "action-create-note": "Stwórz nową notatkę", "action-create-folder": "Stwórz nowy folder", "action-create-note-in-current-tab": "Stwórz nową notatkę w aktywnej karcie", "action-create-note-to-the-right": "Stwórz notatkę po prawej stronie", "action-auto-reveal": "Automatycznie wyświetl aktywny plik", "action-collapse-all": "Zwiń wszystko", "action-expand-all": "Rozwiń wszystko", "action-new-note": "Nowa notatka", "action-new-folder": "Nowy folder", "action-change-sort": "Sortowanie", "action-reveal-file": "Pokaż plik w przeglądarce plików", "action-reveal-active-file": "Pokaż aktywny plik w przeglądarce plików", "command-make-a-copy": "Utwórz kopię aktywnego pliku", "command-make-a-copy-mac": "Duplikuj aktywny plik", "command-move-file": "Przenieś plik do innego folderu", "action-new-folder-with-count": "Nowy folder zawierający ({{count}} plik)", "action-new-folder-with-count_plural": "Nowy folder zawierający (pliki: {{count}})", "action-move-file": "Przenieś plik do...", "action-move-folder": "Przenieś folder do...", "action-move-items": "Przenieś {{count}} plików do...", "prompt-type-folder": "Wpisz nazwę folderu", "label-no-folders": "Nie znaleziono folderów.", "instruction-navigate": "aby nawigować", "instruction-move": "aby przenieść", "instruction-create": "aby utworzyć", "instruction-dismiss": "aby zrezygnować", "label-sort-a-to-z": "Alfabetycznie (od A do Z)", "label-sort-z-to-a": "Alfabetycznie (od Z do A)", "label-sort-new-to-old": "wg daty edycji (od najnowszych)", "label-sort-old-to-new": "wg daty edycji (od najstarszych)", "label-sort-created-old-to-new": "wg czasu utworzenia (od najnowszych)", "label-sort-created-new-to-old": "wg czasu utworzenia (od najstarszych)", "menu-opt-new-note": "Nowa notatka", "menu-opt-new-folder": "Nowy folder", "menu-opt-rename": "Zmień nazwę", "menu-opt-delete": "Usuń", "menu-opt-make-copy": "Stwórz kopię", "menu-opt-make-copy-mac": "Duplikuj", "msg-invalid-characters": "Nazwa pliku nie może zawierać żadnego z podanych znaków: ", "msg-unsafe-characters": "Łącza nie będą działać z nazwami plików zawierającymi którykolwiek z tych znaków: ", "msg-file-already-exists": "Istnieje już plik o tej samej nazwie", "msg-empty-file-name": "Nazwa pliku nie może być pusta.", "msg-bad-dotfile": "Nazwa pliku nie może zaczynać się od kropki.", "tooltip-modified-time": "Data ostatniej edycji: {{time}}", "tooltip-created-time": "Data utworzenia: {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Bez nazwy", "label-untitled-folder": "Bez nazwy", "msg-set-attachment-folder": "Od teraz załączniki będą zapisywane w \"{{path}}\"." }, "search": { "name": "Szukaj", "desc": "Wyszukaj frazę we wszystkich notatkach.", "action-open-search": "Szukaj we wszystkich plikach", "label-collapse-results": "Zwiń wyniki wyszukiwania", "label-match-case": "Rozróżniaj wielkość liter", "label-explain-search-term": "Wyjaśnij wyszukiwaną frazę", "label-more-context": "Pokaż dodatkowy kontekst", "label-result-count": "wyniki: {{count}}", "label-result-count_plural": "wyniki: {{count}}", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Przeszukaj ustawienia", "prompt-start-search": "Wpisz, aby rozpocząć wyszukiwanie...", "label-match-text": "Wyszukiwany tekst: ", "label-match-regex": "Wyszukiwane wyrażenie regularne (regex): ", "label-match-exact-text": "Wyszukiwany tekst (dokładne dopasowanie): ", "label-match-greater-than": "Więcej niż: ", "label-match-less-than": "Mniej niż: ", "label-match-true": "Jest prawdziwe", "label-match-false": "Jest fałszywe", "label-match-empty": "Jest puste", "label-match-property": "Zawiera atrybut:", "label-match-all": "Zawiera wszystkie z poniższych: ", "label-match-any": "Zawiera którekolwiek z poniższych: ", "label-excluding": "Z wykluczeniem: ", "label-case-sensitive": "Wielkość liter ma znaczenie", "label-case-insensitive": "Wielkość liter nie ma znaczenia", "label-match-file-path": "Wyszukiwana ścieżka pliku: ", "label-match-file-name": "Wyszukiwana nazwa pliku: ", "label-match-content": "Wyszukiwana treść pliku: ", "label-match-task": "Wyszukiwane zadanie: ", "label-match-task-todo": "Wyszukiwane zadanie (do zrobienia): ", "label-match-task-done": "Wyszukiwane zadanie (ukończone): ", "label-match-line": "Wyszukiwana linia: ", "label-match-block": "Wyszukiwany blok: ", "label-match-section": "Wyszukiwana sekcja: ", "label-match-tag": "Wyszukiwany tag: ", "label-no-matches": "Brak wyników.", "matches-with-count": "... i {{count}} dodatkowe wystąpienie.", "matches-with-count_plural": "... i {{count}} dodatkowych wystąpień.", "label-copy-search-results": "Kopiuj wyniki wyszukiwania", "button-copy-results": "Kopiuj wyniki", "msg-successfully-copied": "Wyniki zostały skopiowane do schowka.", "option-show-path": "Pokaż ścieżkę", "option-show-path-description": "Wyświetl pełną ścieżkę do pliku zamiast tylko nazwy.", "option-link-style": "Styl łączy", "option-link-style-description": "Opcjonalnie zamień każdy wynik pliku w łącze.", "option-choice-link-style-none": "Brak", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Łącze w formacie Markdown", "option-list-prefix": "Punktor", "option-list-prefix-description": "Opcjonalnie dodaj punktor przed każdym wynikiem.", "option-choice-list-style-none": "Brak", "option-choice-list-style-dash": "Myślnik (-)", "option-choice-list-style-asterisk": "Gwiazdka (*)", "option-choice-list-style-numbered": "Numeracja", "tooltip-clear-search": "Wyczyść wyszukiwanie", "label-search-options": "Opcje wyszukiwania", "label-properties-group": "Atrybuty", "label-tags-group": "Tagi", "tooltip-read-more": "Więcej", "label-history": "Historia", "tooltip-clear-history": "Usuń historię wyszukiwania", "label-path-option-description": "szukaj w tej lokalizacji", "label-file-name-option-description": "szukaj w nazwie pliku", "label-tag-option-description": "szukaj tagów", "label-line-option-description": "szukaj w tej samej linii", "label-section-option-description": "szukaj pod tym nagłówkiem", "label-property-option-description": "dopasuj atrybut", "menu-opt-search-for": "Znajdź \"{{keyword}}\"", "menu-opt-search-in-folder": "Szukaj w folderze" }, "quick-switcher": { "name": "Szybki wybór", "desc": "Przejdź do dowolnego pliku bez odrywania rąk od klawiatury. Ctrl/Cmd+O, aby aktywować.", "short-name": "Szybki wybór", "action-open": "Otwórz okno szybkiego wyboru", "instruction-navigate": "aby wybrać", "instruction-open": "aby otworzyć", "instruction-open-in-new-tab": "aby otworzyć w nowej karcie", "instruction-open-to-the-right": "aby otworzyć po prawej stronie", "instruction-create": "aby utworzyć", "instruction-dismiss": "aby anulować", "instruction-select": "aby wybrać", "label-no-note-create-new": "Nie znaleziono notatek. Kliknij Enter, aby utworzyć.", "prompt-type-file-name": "Wprowadź nazwę pliku, aby otworzyć lub utworzyć nowy...", "label-enter-to-create": "Kliknij enter aby utworzyć", "tooltip-not-created-yet": "Jeszcze nie utworzono, wybierz, aby utworzyć", "option-show-existing-only": "Pokaż tylko istniejące", "option-show-existing-only-description": "Czy wyświetlać łącza do plików, które nie zostały jeszcze utworzone?", "option-show-attachments": "Pokaż załączniki", "option-show-attachments-desc": "Wyświetlanie załączników, takich jak obrazy, filmy i pliki PDF.", "option-show-all-file-types": "Pokaż wszystkie typy plików", "option-show-all-file-types-desc": "Pokaż wszystkie pliki, w tym te, których Obsidian nie może otworzyć. Plik zostanie otwarty za pomocą domyślnej aplikacji dla tego typu pliku." }, "graph-view": { "name": "Widok grafu", "desc": "Zobacz graf przedstawiający połączenia między notatkami.", "action-open": "Otwórz graf", "action-open-local": "Otwórz lokalny graf", "action-copy-screenshot": "Skopiuj zrzut ekranu", "tab-title": "Graf: {{displayText}}", "label-filters": "Filtry", "prompt-filter-nodes": "Szukaj plików...", "option-depth": "Głębokość", "option-depth-description": "Pokaż punkty oddalone o taką liczbę połączeń", "option-neighbor-links": "Łącza sąsiadujące", "option-neighbor-links-description": "Pokaż łącza sąsiadujące.", "option-forelinks": "Łącza wychodzące", "option-forelinks-description": "Pokaż łącza do innych plików", "option-backlinks": "Łącza przychodzące", "option-backlinks-description": "Pokaż łącza od innych plików", "option-show-tags": "Tagi", "option-show-tags-description": "Tagi są powiązane z plikami, które je zawierają", "option-show-attachments": "Załączniki", "option-show-attachments-description": "Pokaż załączniki dołączone do plików", "option-show-existing-files-only": "Tylko istniejące pliki", "option-show-existing-files-only-description": "Po zaznaczeniu tej opcji łącza do nieistniejących plików nie będą wyświetlane", "option-show-orphans": "Niepowiązane", "option-show-orphans-description": "Pokaż pliki, które nie są powiązane z żadnym innym plikiem", "label-display": "Wyświetlanie", "option-show-arrows": "Strzałki", "option-show-arrows-description": "Pokaż strzałki po powiększeniu", "option-text-fade": "Próg zanikania tekstu", "option-node-size": "Rozmiar punktu", "option-link-thickness": "Grubość połączenia", "label-forces": "Siły", "option-center-force": "Siła centralna", "option-link-force": "Siła połączenia", "option-link-distance": "Długość połączenia", "option-repel-force": "Siła odpychania", "tooltip-open-graph-settings": "Otwórz ustawienia grafu", "msg-screenshot-copied": "Zrzut ekranu skopiowany do schowka.", "label-groups": "Grupy", "placeholder-enter-query": "Wprowadź zapytanie...", "tooltip-delete-graph": "Usuń grupę", "button-new-group": "Nowa grupa", "tooltip-click-to-change-drag-to-reorder": "Kliknij, aby zmienić kolor\nPrzeciągnij, aby zmienić kolejność grup", "action-timelapse": "Uruchom animację powstawania grafu", "tooltip-start-timelapse-animation": "Uruchom animację powstawania grafu", "button-animate-timelapse": "Pokaż animację" }, "backlinks": { "name": "Linki zwrotne", "desc": "Pokaż liczbę linków zwrotnych na pasku stanu.", "action-open": "Otwórz linki zwrotne", "action-show": "Pokaż panel linków zwrotnych", "action-open-for-current": "Otwórz linki zwrotne do aktywnego pliku", "action-toggle-backlinks-in-document": "Linki zwrotne w dokumencie", "menu-opt-backlinks-in-document": "Linki zwrotne w dokumencie", "label-linked-mentions": "Powiązane wzmianki", "label-no-backlinks": "Nie znaleziono linków zwrotnych.", "label-unlinked-mentions": "Niepowiązane wzmianki", "label-show-search": "Pokaż filtry wyszukiwania", "label-link-button-text": "Link", "tab-title": "Linki zwrotne do {{displayText}}", "label-no-unlinked-mentions": "Nie znaleziono żadnych niepowiązanych wzmianek.", "ellipsis": "...", "option-backlink-in-document": "Linki zwrotne w dokumencie", "option-backlink-in-document-desc": "Domyślnie wyświetlaj linki zwrotne w dokumencie podczas otwierania nowych paneli." }, "outgoing-links": { "name": "Łącza wychodzące", "desc": "Pokaż łącza wychodzące i wykryj niepowiązane wzmianki o innych notatkach w aktywnej notatce.", "action-open": "Otwórz łącza wychodzące", "action-show": "Pokaż panel łączy wychodzących", "action-open-for-current": "Otwórz łącza wychodzące dla aktywnego pliku", "tab-title": "Łącza wychodzące z {{displayText}}", "label-links": "Łącza", "label-no-links": "Nie znaleziono żadnych łączy.", "label-unlinked-mentions": "Niepowiązane wzmianki", "tooltip-link-file": "Utwórz łącze do tego pliku", "tooltip-not-created": "Jeszcze nie utworzono" }, "tag-pane": { "name": "Panel tagów", "short-name": "Tagi", "desc": "Wyświetla wszystkie tagi wraz z liczbą ich wystąpień.", "action-show": "Pokaż panel tagów", "label-no-tags": "Nie znaleziono żadnych tagów.", "label-sort-by-name-a-to-z": "Nazwa tagu (od A do Z)", "label-sort-by-name-z-to-a": "Nazwa tagu (od Z do A)", "label-sort-by-frequency-high-to-low": "Ilość wystąpień (malejąco)", "label-sort-by-frequency-low-to-high": "Ilość wystąpień (rosnąco)", "action-show-nested-tags": "Pokaż zagnieżdzone tagi", "action-collapse-all": "Zwiń wszystkie", "action-expand-all": "Rozwiń wszystkie" }, "footnotes-pane": { "name": "Widok przypisów", "short-name": "Przypisy", "desc": "Pokaż listę przypisów z aktywnej notatki.", "action-show": "Pokaż przypisy", "label-no-footnotes": "Nie znaleziono przypisów." }, "properties": { "name": "Podgląd atrybutów", "desc": "Pokaż atrybuty swoich plików.", "name-global": "Wszystkie atrybuty", "name-local": "Atrybuty pliku", "tab-title": "Atrybuty pliku dla {{displayText}}", "action-show": "Pokaż wszystkie atrybuty", "action-show-local": "Pokaż atrybuty pliku", "opt-unassign-type": "Usuń rodzaj", "label-no-properties": "Nie znaleziono żadnych atrybutów.", "label-invalid-properties": "Nieprawidłowe atrybuty.", "label-sort-by-name-a-to-z": "Nazwa (od A do Z)", "label-sort-by-name-z-to-a": "Nazwa (od Z do A)", "label-sort-by-frequency-high-to-low": "Malejąco", "label-sort-by-frequency-low-to-high": "Rosnąco", "msg-merge-properties-warning": "Scalić atrybut “{{oldKey}}” z “{{newKey}}”?", "msg-merge-properties-warning-desc": "W przypadku konfliktu wartości zostaną połączone lub użyta zostanie wartość z “{{oldKey}}”.", "action-collapse-all": "Zwiń wszystkie", "action-expand-all": "Rozwiń wszystkie", "action-open-local": "Otwórz atrybuty pliku", "action-open-daily-note": "Otwórz notatkę codzienną" }, "page-preview": { "name": "Podgląd", "desc": "Wyświetl podgląd notatki po najechaniu kursorem na łącze wewnętrzne. Ctrl/Cmd + najechanie kursorem w trybie edycji.", "label-empty-attachment": "Nie znaleziono “{{linktext}}”.", "label-empty-note": "\"{{linktext}}\" jeszcze nie istnieje. Kliknij, aby utworzyć.", "label-missing-footote": "Przypis {{id}} nie został odnaleziony. Kliknij, aby utworzyć.", "label-source-editor": "Edytor", "label-source-preview": "Podgląd", "label-source-search": "Wyszukiwanie, linki zwrotne i łącza wychodzące", "label-source-tab-header": "Nagłówek karty", "label-require-mod": "Wymagaj {{key}}, aby wyświetlić podgląd po najechaniu kursorem" }, "bookmarks": { "name": "Ulubione", "desc": "Dodaj do ulubionych często używane pliki i wyszukiwania.", "action-show": "Pokaż ulubione", "action-collapse-all": "Zwiń wszystkie", "action-new-bookmark": "Dodaj do ulubionych aktywną kartę...", "action-new-group": "Nowa grupa ulubionych", "action-bookmark": "Dodaj do ulubionych...", "action-add-bookmark": "Dodaj do ulubionych", "action-edit-bookmark": "Edytuj ulubione", "action-bookmark-block": "Dodaj do ulubionych blok pod kursorem...", "action-bookmark-heading": "Dodaj do ulubionych nagłówek pod kursorem...", "action-bookmark-search": "Dodaj do ulubionych aktywne wyszukiwanie...", "action-remove-bookmark": "Usuń z ulubionych aktywny plik", "action-bookmark-tab-group": "Dodaj {{count}} karty do ulubionych...", "action-bookmark-tab-group_plural": "Dodaj {{count}} kart do ulubionych...", "action-bookmark-all-tabs": "Dodaj wszystkie karty do ulubionych...", "action-bookmark-graph": "Dodaj ten graf do ulubionych...", "label-bookmark": "Dodaj do ulubionych", "label-bookmarked": "Dodano do ulubionych", "label-bookmark-with-count": "ulubione: {{count}}", "label-bookmark-with-count_plural": "ulubione: {{count}}", "label-no-bookmarks": "Nie znaleziono żadnych ulubionych", "label-invalid-data": "Wczytywanie ulubionych nie powiodło się.", "label-invalid-data-desc": "Plik danych jest uszkodzony.", "label-untitled-group": "Grupa bez nazwy", "label-untitled-graph": "Graf bez nazwy", "menu-opt-edit": "Edytuj...", "menu-opt-remove": "Usuń", "menu-opt-rename": "Zmień nazwę", "menu-opt-bookmark-block": "Dodaj ten blok do ulubionych...", "menu-opt-bookmark-heading": "Dodaj ten nagłówek do ulubionych...", "msg-no-search-query": "Brak wyszukiwania do dodania do ulubionych.", "option-path": "Ścieżka", "option-query": "Zapytanie", "option-u-r-l": "URL", "option-title": "Tytuł", "option-group": "Grupa ulubionych", "placeholder-bookmark-group": "Ulubione" }, "custom-css": { "name": "Niestandardowy kod CSS", "desc": "Wczytuje i aktywuje plik \"obsidian.css\" w sejfie.", "setting-community-themes": "Motywy stworzone przez społeczność", "msg-fetching-themes": "Wczytywanie motywów stworzonych przez społeczność...", "prompt-filter": "Filtruj...", "label-dark-theme-only": "Tylko ciemne motywy", "label-light-theme-only": "Tylko jasne motywy", "label-use": "Aktywuj", "label-stop-use": "Wyłącz", "label-install-and-use": "Zainstaluj i aktywuj", "label-update": "Aktualizuj", "label-no-readme": "Ten motyw nie zawiera pliku README.", "tooltip-remove-theme": "Usuń motyw", "label-visit-on-github": "Odwiedź GitHub", "msg-load-error": "Wczytywanie motywów nie powiodło się, sprawdź połączenie z siecią.", "msg-now-using-theme": "Korzystasz teraz z {{title}} jako motywu CSS.", "msg-deleted-theme": "Motyw {{title}} został usunięty.", "msg-updated-theme": "Motyw {{title}} został zaktualizowany.", "label-installed": "Zainstalowany", "label-legacy": "Klasyczny", "button-update-all-themes": "Aktualizuj wszystkie", "msg-failed-load-themes": "Wczytywanie motywów stworzonych przez społeczność nie powiodło się.", "msg-no-updates-found": "Nie znaleziono żadnych aktualizacji motywów.", "msg-updates-found": "Znaleziono {{count}} motyw do aktualizacji.", "msg-updates-found_plural": "Znaleziono {{count}} motywów do aktualizacji.", "msg-failed-to-install-theme": "Instalowanie motywu \"{{name}}\" nie powiodło się.", "msg-successfully-installed-theme": "Instalowanie motywu \"{{name}}\" powiodło się.", "msg-installing-theme": "Instalowanie motywu \"{{name}}\"...", "label-search-summary": "Pokazuje {{themeCount}}:", "label-update-available": "Dostępna aktualizacja" }, "command-palette": { "name": "Lista poleceń", "desc": "Wpisz polecenie, aby je wykonać. Nie trzeba korzystać z interfejsu ani pamiętać skrótów klawiszowych.", "action-open": "Otwórz listę poleceń", "instruction-navigate": "aby wybrać", "instruction-use": "aby użyć", "instruction-dismiss": "aby anulować", "label-no-commands": "Nie znaleziono żadnych poleceń.", "prompt-type-command": "Wpisz polecenie...", "label-pinned-commands": "Przypięte polecenia", "option-add-new-pin": "Nowo przypięte polecenie", "option-add-new-pin-description": "Przypięte polecenia pojawią się na górze, gdy nic nie wyszukujesz." }, "markdown-format-importer": { "name": "Importer formatu Markdown", "desc": "Dostosuj format Markdown z innych aplikacji do formatu Obsidian.", "action-open": "Otwórz importer Markdown", "option-roam-tag-fixer": "Napraw tagi z aplikacji Roam Research", "option-roam-tag-fixer-description": "Zamienia \"#tag\" i \"#[[tag]]\" na \"[[tag]]\".", "option-roam-highlight-fixer": "Napraw wyróżnienia z aplikacji Roam Research", "option-roam-highlight-fixer-description": "Zamienia \"^^highlight^^\" na \"==highlight==\".", "option-roam-todo-converter": "Napraw listę zadań z aplikacji Roam Research", "option-roam-todo-converter-description": "Zamienia \"{{[[TODO]]}}\" na \"[ ]\".", "option-bear-highlight-fixer": "Napraw wyróżnienia z aplikacji Bear", "option-bear-highlight-fixer-description": "Zamienia \"::highlight::\" na \"==highlight==\".", "zettelkasten-link-fixer": "Napraw łącza systemu Zettelkasten", "zettelkasten-link-fixer-description": "Zamienia łącza \"[[UID]]\" na pełne \"[[UID File Name]]\".", "zettelkasten-link-beautifier": "Popraw łącza systemu Zettelkasten", "zettelkasten-link-beautifier-description": "Zamienia łącza \"[[UID]]\" i poprawia na \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Uwaga: importer zamieni wszystkie pliki w sejfie, a nie tylko aktywny plik.", "msg-override-files-warning": "Twoje pliki zostaną zastąpione. Przed próbą konwertowania należy wykonać kopię zapasową wszystkich plików.", "label-start-conversion": "Rozpocznij konwertowanie", "label-stop": "Zatrzymaj", "label-go-back": "Wróć", "label-done": "Zakończ", "label-processing": "Przetwarzanie...", "label-cancelling": "Anulowanie...", "label-finished": "Gotowe!", "label-processed-files": "Przetworzone pliki", "label-modified-files": "Zmodyfikowane pliki", "label-total-replacements": "Całkowita liczba zmian", "label-failed": "Failed" }, "daily-notes": { "name": "Codzienne notatki", "desc": "Otwórz lub utwórz codzienną notatkę", "short-name": "Dzisiaj", "action-open": "Otwórz codzienną notatkę", "action-open-previous": "Otwórz wcześniejszą notatkę", "action-open-next": "Otwórz późniejszą notatkę", "action-insert-text": "Wstaw tekst do codziennej notatki", "action-insert-link": "Wstaw łącze do codziennej notatki", "msg-fail-format": "Tworzenie codziennej notatki nie powiodło się. \"{{format}}\" nie jest prawidłowym formatem.", "msg-fail-folder": "Tworzenie codziennej notatki nie powiodło się. Folder \"{{folderOption}}\" nie został odnaleziony.", "msg-fail-template-file": "Tworzenie codziennej notatki nie powiodło się. Szablon \"{{template}}\" nie został odnaleziony.", "msg-no-previous": "Nie ma wcześniejszej notatki.", "msg-no-next": "Nie ma późniejszej notatki.", "option-date-format": "Format daty", "label-refer-to-syntax": "Aby uzyskać więcej informacji na temat składni, zobacz: ", "label-syntax-link": "dokumentację dot. formatu dat (EN)", "label-syntax-live-preview": "Tak to będzie wyglądać: ", "option-new-file-location": "Lokalizacja dla nowych plików", "option-new-file-location-description": "Ścieżka do folderu, w którym tworzone będą nowe codzienne notatki.", "option-template": "Lokalizacja szablonu", "option-template-description": "Ścieżka do pliku, który ma zostać użyty jako szablon.", "option-open-on-start": "Otwórz codzienną notatkę podczas uruchamiania", "option-open-on-start-description": "Otwórz codzienną notatkę automatycznie po otwarciu tego sejfu." }, "unique-note-creator": { "name": "Kreator niepowtarzalnych notatek", "desc": "Twórz notatki z niepowtarzalnymi sygnaturami czasowymi dla systemów organizacji, takich jak zettelkasten.", "short-name": "Niepowtarzalne", "action-create-note": "Utwórz nową niepowtarzalną notatkę", "action-add-link": "Dodaj niepowtarzalne łącze wewnętrzne", "option-new-file-location": "Lokalizacja dla nowych plików", "option-new-file-location-description": "Ścieżka do folderu do utworzenia nowej niepowtarzalnej notatki.", "msg-folder-not-found": "Tworzenie niepowtarzalnej notatki nie powiodło się. Folder \"{{folderOption}}\" nie został odnaleziony.", "option-template-file": "Lokalizacja szablonu", "option-template-file-description": "Ścieżka do pliku, który ma zostać użyty jako szablon.", "option-template-file-placeholder": "Przykład: folder1/notatka", "option-id-format": "Format niepowtarzalnej sygnatury czasowej", "msg-template-file-not-found": "Tworzenie niepowtarzalnej notatki nie powiodło się. Szablon \"{{template}}\" nie został odnaleziony.", "msg-failed-to-generate": "Generowanie niepowtarzalnej notatki w formacie \"{{format}}\" nie powiodło się." }, "random-note": { "name": "Losowa notatka", "desc": "Otwiera losową notatkę. Przydatne do przeglądania i odkrywania.", "short-name": "Losuj", "action-open": "Otwórz losową notatkę" }, "outline": { "name": "Konspekt", "desc": "Wyświetla konspekt aktywnego pliku lub dokumentu w powiązanym panelu.", "action-open": "Otwórz konspekt", "action-show": "Pokaż panel konspektu", "action-open-for-current": "Otwórz konspekt aktywnego pliku", "tab-title": "Konspekt {{displayText}}", "label-no-headings": "Nie znaleziono nagłówków.", "label-follow-cursor": "Automatycznie przewiń do aktywnej sekcji" }, "word-count": { "name": "Liczba słów", "desc": "Pokaż liczbę słów na pasku stanu." }, "slides": { "name": "Slajdy", "desc": "Prezentuj w formacie Markdown. Użyj \"---\", aby oddzielić slajdy.", "action-start": "Rozpocznij prezentację" }, "audio-recorder": { "name": "Dyktafon", "desc": "Nagraj dźwięk i zapisz jako załącznik.", "action-start": "Rozpocznij nagrywanie dźwięku", "action-stop": "Zatrzymaj nagrywanie dźwięku", "action-toggle": "Rozpocznij lub zatrzymaj nagrywanie", "msg-access-denied": "Dostęp do mikrofonu został zablokowany, udziel go w ustawieniach.", "msg-pending-grant": "Zezwól na dostęp do mikrofonu, aby rozpocząć nagrywanie.", "msg-no-microphone": "Nie podłączono mikrofonu." }, "open-with-default-app": { "name": "Otwórz za pomocą aplikacji domyślnej", "desc": "Dodaj przycisk otwierający aktywny plik w aplikacji domyślnej.", "action-open-file": "Otwórz za pomocą aplikacji domyślnej", "action-open-file-mobile": "Udostępnij", "action-show-in-folder": "Pokaż w folderze", "action-show-in-folder-mac": "Otwórz w Finderze" }, "templates": { "name": "Szablony", "desc": "Wstaw zawartość szablonu z folderu szablonów.", "action-insert": "Wstaw szablon", "action-insert-current-date": "Wstaw bieżącą datę", "action-insert-current-time": "Wstaw bieżącą godzinę", "option-template-folder-location": "Lokalizacja folderu szablonów", "option-template-folder-location-description": "Pliki w tym folderze będą dostępne jako szablony.", "option-template-date-format": "Format daty", "option-template-date-format-description": "{{date}} w szablonie zostanie zastąpiona tą wartością.", "option-template-date-format-description2": "Możesz również użyć {{date:YYYY-MM-DD}}, aby jednorazowo zmienić format.", "option-template-time-format": "Format godziny", "option-template-time-format-description": "{{time}} w szablonie zostanie zastąpiona tą wartością.", "option-template-time-format-description2": "Możesz również użyć {{time:HH:mm}}, aby jednorazowo zmienić format.", "instruction-navigate": "aby wybrać", "instruction-insert": "aby wstawić szablon", "instruction-dismiss": "aby anulować", "msg-no-templates-found": "Nie znaleziono szablonów", "msg-fail-invalid-folder": "Nie znaleziono szablonów. Folder szablonów jest nieprawidłowy.", "msg-fail-folder-not-found": "Nie znaleziono szablonów. Folder \"{{folderOption}}\" nie został odnaleziony.", "msg-fail-invalid-template-properties": "Nie można wstawić szablonu, bo nie można odczytać atrybutów szablonu.", "msg-no-folder-set": "Wyświetlenie szablonów nie powiodło się. Folder szablonów nie został skonfigurowany.", "prompt-type-template": "Wpisz nazwę szablonu..." }, "translucency": { "name": "Przezroczyste okno", "desc": "Włącz efekt półprzezroczystości, aby zwiększyć poczucie głębi. Najlepiej używać w trybie ciemnym. Nieobsługiwane w systemie Linux." }, "slash-command": { "name": "Ukośnik komend", "desc": "Włącza możliwość uruchamiania komend poprzez wpisanie znaku ukośnika." }, "editor-status": { "name": "Tryb edycji", "desc": "Dodaje do paska stanu aktualny tryb edycji z możliwością jego zmiany.", "read": "Odczyt", "edit-source": "Tryb kodu", "edit-live-preview": "Podgląd na żywo (Live Preview)" }, "publish": { "name": "Publikuj", "desc": "Opublikuj swoje notatki za pomocą Obsidian Publish.", "action-publish-changes": "Opublikuj zmiany...", "action-publish-file": "Opublikuj aktywny plik", "label-no-internet-access": "Do publikowania zmian potrzebny jest dostęp do Internetu.", "label-publish-service-description": "Obsidian Publish to płatny dodatek, który umożliwia publikowanie notatek online bezpośrednio z aplikacji Obsidian.", "label-please-login": "Aby rozpocząć publikowanie, zaloguj się lub utwórz nowe konto Obsidian.", "label-no-publish-subscription": "Nie masz jeszcze subskrypcji Obsidian Publish.", "button-purchase": "Kup", "label-manage-sites": "Zarządzaj stronami", "label-no-sites": "Nie masz żadnych stron.", "button-choose": "Wybierz", "tooltip-edit-site-id": "Edytuj identyfikator strony", "tooltip-delete-site": "Usuń stronę", "label-delete-site-confirmation": "Czy na pewno chcesz usunąć tą stronę?", "label-delete-site-details": "Spowoduje to natychmiastowe i trwałe usunięcie strony.", "label-confirm-delete-site": "Potwierdź usunięcie strony \"{{site}}\"", "option-site-id": "Identyfikator strony", "option-site-id-description": "Twoja strona zostanie opublikowana pod adresem https://publish.obsidian.md/{site id}. Możesz to później zmienić. Dozwolone są tylko małe litery, cyfry i myślniki.", "option-site-id-placeholder": "Wybierz identyfikator strony", "button-create": "Stwórz", "msg-invalid-site-id": "Identyfikator strony może zawierać tylko małe litery, cyfry i myślniki.", "msg-site-id-in-use": "Ten identyfikator jest już używany, spróbuj wybrać inny.", "msg-create-site-issue": "Tworzenie strony nie powiodło się.", "label-site-options": "Opcje strony", "option-site-general": "Ogólne", "option-site-components": "Komponenty", "option-site-appearance": "Wygląd", "option-site-reading-experience": "Przeglądanie strony", "option-site-misc": "Inne ustawienia strony", "option-site-name": "Nazwa strony", "option-site-name-description": "Nazwa opublikowanej strony wyświetli się jako tytuł.", "option-site-name-placeholder": "Nazwa strony", "option-home-page-file": "Plik strony głównej", "option-home-page-file-description": "Strona, którą użytkownik widzi jako pierwszą.", "option-home-page-file-placeholder": "Wybierz opublikowany plik", "option-logo": "Logo", "option-logo-description": "Wybierz plik graficzny jako logo strony.", "option-logo-placeholder": "Dowolny obraz dodany do sejfu...", "option-site-collaboration": "Współpraca na stronie", "option-site-collaboration-desc": "Zarządzaj współpracownikami dla tej strony.", "option-customize-navigation": "Dostosuj nawigację", "option-customize-navigation-desc": "Zmień kolejność elementów nawigacji i ukryj wyświetlanie stron lub folderów.", "option-navigation-order": "Kolejność wyświetlania elementów nawigacji", "option-hide-items-in-navigation": "Ukryj strony lub foldery w nawigacji", "option-hide-items-in-navigation-desc": "Kliknij prawym przyciskiem myszy i wybierz \"Ukryj\", aby zapobiec wyświetlaniu określonych stron w nawigacji. Strony będą nadal dostępne za pośrednictwem łączy lub adresu URL.", "option-show-hidden-items": "Pokaż ukryte", "button-customize-sidebar": "Zarządzaj", "label-navigation-modal-title": "Nawigacja", "label-navigation-modal-desc": "Przeciągnij i upuść, aby dostosować kolejność wyświetlania elementów nawigacji.", "option-hide-in-navigation": "Ukryj w nawigacji", "button-manage-collaborators": "Zarządzaj", "option-theme": "Motyw", "option-theme-description": "Wybierz domyślny schemat kolorów dla swojej strony.", "option-theme-system": "Dostosuj do systemu", "option-show-theme-toggle": "Tryb jasny lub ciemny", "option-show-theme-toggle-description": "Pozwól odwiedzającym samodzielnie przełączać się między jasnym i ciemnym motywem.", "option-show-navigation": "Pokaż nawigację", "option-show-navigation-description": "Wyświetlaj listę wszystkich opublikowanych stron po lewej stronie.", "option-show-search": "Pokaż pasek wyszukiwania", "option-show-search-description": "Wyświetlaj pasek wyszukiwania w górnej części nawigacji, który umożliwia odwiedzającym przeszukiwanie stron i nagłówków.", "option-show-graph": "Pokaż widok grafu", "option-show-graph-description": "Wyświetlaj mały lokalny graf na każdej stronie.", "option-show-outline": "Pokaż spis treści", "option-show-outline-description": "Wyświetlaj spis treści zawierający wszystkie nagłówki na każdej stronie.", "option-show-backlinks": "Pokaż linki zwrotne", "option-show-backlinks-description": "Pokaż sekcję linków zwrotnych na końcu każdej strony.", "option-sliding-window-mode": "Aktywuj panele", "option-sliding-window-mode-description": "Otwiera strony w nowych panelach po prawej stronie. Umożliwia przewijanie paneli w poziomie.", "option-hover-preview-file": "Pokaż podgląd po najechaniu kursorem", "option-hover-preview-file-description": "Wyświetlaj podgląd po najechaniu kursorem na łącza.", "option-hide-title": "Ukryj tytuł strony", "option-hide-title-description": "Ukryj tytuł strony. Przydatne, gdy masz własne nagłówki na początku każdej strony.", "option-readable-line-length": "Czytelna długość linii", "option-readable-line-length-description": "Ogranicz maksymalną długość linii. Mieści mniej treści na ekranie, ale sprawia, że długie akapity są bardziej czytelne.", "option-site-password": "Hasła", "option-site-password-description": "Ogranicz dostęp do strony za pomocą haseł.", "option-google-analytics": "Kod śledzenia Google Analytics", "option-google-analytics-description": "Skonfiguruj Google Analytics dla swojej strony. Dostępne tylko dla odwiedzających z niestandardowego adresu URL. Sprawdź najpierw lokalne przepisy i regulacje.", "button-manage-passwords": "Zarządzaj", "button-save-site-settings": "Zapisz ustawienia strony", "msg-updated-options": "Zaktualizowano ustawienia strony.", "button-go-back": "Wstecz", "label-publishing-to": "Publikuj na", "tooltip-switch-site": "Zmień stronę", "button-add-linked": "Dodaj powiązane", "tooltip-add-linked": "Dodaj wszystkie pliki, które są powiązane z aktualnie wybranymi elementami.", "msg-added-linked-files": "{{count}} powiązany plik został dodany.", "msg-added-linked-files_plural": "{{count}} powiązanych plików zostało dodanych.", "tooltip-open-site-options": "Zmień ustawienia strony", "label-no-changes-detected": "Nie wykryto żadnych zmian.", "label-changed-files-to-be-published": "Zmiany", "label-unchanged-files-already-published": "Bez zmian (wybierz, aby usunąć)", "label-file-selected": " zaznaczone", "button-select-all-files": "Zaznacz wszystkie", "label-custom-navigation-title": "Elementy nawigacji", "button-deselect-all-files": "Odznacz wszystkie", "label-new-files-to-be-published": "Nowe", "button-publish": "Opublikuj", "msg-no-permission-to-publish-to-site": "Nie masz uprawnień, aby publikować na tej stronie.", "msg-select-at-least-one-file": "Wybierz co najmniej jeden plik.", "label-upload-changes": "Prześlij zmiany", "button-done": "Gotowe", "button-stop": "Przerwij", "label-status-uploading": "Publikowanie", "label-status-to-publish": "Do publikacji", "label-status-to-delete": "Do usunięcia", "label-status-published": "Opublikowano", "label-status-deleted": "Usunięto", "label-status-failed": "Publikowanie nie powiodło się", "label-status-cancelled": "Anulowano", "button-change": "Zmień", "label-clear-cache": "Zmiany na stronie mogą pojawić się dopiero po kilku minutach. Jeśli nie widzisz najnowszych zmian, spróbuj wyczyścić pamięć podręczną przeglądarki.", "label-visit-site": "Możesz odwiedzić swoją stronę tutaj: ", "msg-something-went-wrong": "Coś poszło nie tak. Sprawdź szczegóły w konsoli deweloperskiej.", "msg-network-error": "Wystąpił błąd sieci. ", "label-manage-passwords": "Zarządzaj hasłami", "label-add-password": "Dodaj hasło", "action-new-password": "Nowe hasło", "label-no-password": "Twoja strona nie ma teraz żadnych haseł. Każdy może ją odwiedzić.", "label-have-password": "Twoja strona jest chroniona hasłem. Jeśli masz wiele haseł, odwiedzający mogą uzyskać do niej dostęp, wprowadzając dowolne z nich.", "option-password-name": "Hasło", "option-password-desc": "Twoje zaszyfrowane hasło będzie bezpiecznie przechowywane. Po ustawieniu hasła nie można go ujawnić w postaci zwykłego tekstu.", "option-password-placeholder": "Twoje hasło", "option-nickname-name": "Nazwa użytkownika (opcjonalne)", "option-nickname-desc": "Ustaw nazwę użytkownika, aby zapamiętać, po co lub dla kogo jest hasło.", "action-add-password": "Dodaj to hasło", "label-untitled-password": "Hasło bez nazwy", "label-password-created-time": "Utworzono {{time}}", "msg-added-new-password": "Nowe hasło zostało dodane.", "option-custom-domain": "Niestandardowa domena", "option-custom-domain-desc": "Używaj własnej domeny zamiast adresu URL https://publish.obsidian.md/{site id}", "option-noindex": "Wyłącz indeksowanie w wyszukiwarkach", "option-noindex-desc": "Uniemożliwia wyszukiwarkom indeksowanie strony.", "button-configure": "Konfiguruj", "label-configure-custom-domain": "Konfiguruj niestandardową domenę", "option-custom-url-name": "Niestandardowy URL", "option-custom-url-desc": "Adres URL, pod którym będzie znajdować się strona. ", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "Przekieruj do domeny niestandardowej", "option-custom-url-redirect-desc": "Przekieruj odwiedzających stronę publish.obsidian.md/id do własnej domeny.", "button-update-custom-domain": "Zaktualizuj ustawienia domeny", "label-custom-domain-instructions": "Więcej informacji można znaleźć na naszej stronie pomocy: {{link}}.", "label-custom-domain-link-name": "przewodnik konfiguracji domeny niestandardowej", "label-site-usage": "Używasz {{site}} z {{limit}}.", "button-add-more-sites": "Kup więcej stron", "label-no-sites-bought": "Nie kupiłeś żadnej strony.", "button-get-site": "Zdobądź stronę", "label-manage-sharing": "Zarządzaj udostępnianiem dla \"{{name}}\"", "label-sharing-with-users": "Ta strona jest obecnie udostępniana następującym osobom.", "label-not-sharing": "Ta strona nie jest obecnie nikomu udostępniana.", "label-invite-pending": "Oczekuje", "tooltip-remove-user": "Usuń użytkownika", "option-invite-user": "Zaproś użytkownika", "placeholder-invite-user": "Wpisz ich adres email...", "error-email-must-be-valid": "Wprowadź prawidłowy adres email, aby kogoś zaprosić.", "msg-enable-publish-plugin": "Aktywuj wtyczkę \"Publish\", aby wyświetlić strony. (Ustawienia -> Wbudowane wtyczki)", "label-your-sites": "Twoje strony", "label-sites-shared-with-you": "Strony udostępnione tobie", "tooltip-leave-site-sharing": "Przestań współpracować przy tej stronie", "label-leave-site-confirmation": "Potwierdź zaprzestanie współpracy przy tej stronie", "label-leave-site-confirmation-details": "Spowoduje to usunięcie tej strony z listy udostępnionych tobie. Nie można cofnąć tego działania.", "label-leave-site-confirmation-details-2": "Jeśli chcesz ponownie współpracować przy tej stronie, skontaktuj się z jej właścicielem.", "button-leave": "Opuść", "label-compare-with-live": "Porównaj z wersją publiczną", "button-use-live-version": "Używaj wersji publicznej", "label-confirm-override": "Potwierdź zastąpienie wersji lokalnej", "label-confirm-override-1": "Czy na pewno chcesz zastąpić wersję lokalną?", "label-confirm-override-2": "Użyta zostanie wersja publiczna, a wersja lokalna zostanie usunięta. W razie potrzeby wykonaj kopię zapasową.", "button-proceed": "Kontynuuj", "message-successfully-used-live-version": "Pomyślnie użyto wersji publicznej do zastąpienia wersji lokalnej.", "label-open-in-live-site": "Otwórz na aktywnej stronie", "label-open-file": "Otwórz plik", "tooltip-manage-publish-filters": "Zarządzaj filtrami publikacji", "option-included-folders": "Wybrane foldery", "option-included-folders-desc": "Pliki znajdujące się w tych folderach zostaną automatycznie wybrane podczas przeglądania zmian do opublikowania.", "option-currently-included-folders": " Te foldery są teraz wybrane:", "option-excluded-folders": "Pominięte foldery", "option-excluded-folders-desc": "Pliki w tych folderach nie będą wyświetlane podczas przeglądania zmian do opublikowania. To ustawienie ma priorytet nad wybranymi wcześniej folderami.", "label-number-of-folders-included": "Obsidian Publish zawiera teraz {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish pomija teraz {{folders}}.", "label-manage-included-folders": "Zarządzaj wybranymi folderami", "label-manage-excluded-folders": "Zarządzaj pominiętymi folderami", "label-add-included-folder": "Wybierz folder", "label-add-included-folder-desc": "Możesz wybrać zarówno istniejące foldery, jak i foldery, które nie zostały jeszcze utworzone.", "tooltip-contact-support": "Kontakt z pomocą techniczną", "label-navigation-preview": "Podgląd nawigacji" }, "workspaces": { "name": "Obszary robocze", "desc": "Zapisz i wczytaj układ obszaru roboczego.", "action-load-layout": "Wczytaj układ obszaru roboczego", "action-manage-layouts": "Zarządzaj układami obszaru roboczego", "action-save": "Zapisz układ", "action-save-and-load-layout": "Zapisz i wczytaj inny układ obszaru roboczego", "placeholder-save-current-layout-as": "Zapisz aktywny układ obszaru roboczego jako...", "button-save": "Zapisz", "button-load": "Wczytaj", "tooltip-delete-layout": "Usuń układ", "msg-enter-name": "Wprowadź nazwę nowego układu.", "msg-save-layout-success": "Układ został pomyślnie zapisany.", "label-no-layout-found": "Nie znaleziono zapisanego układu.", "label-workspace-modified-time": "Edytowany {{time}}", "placeholder-type-to-search-layouts": "Wpisz nazwę układu..." }, "sync": { "name": "Synchronizacja", "desc": "Synchronizuj swoje pliki za pomocą Obsidian Sync.", "action-view-version-history": "Wyświetl historię wersji", "action-setup-sync": "Skonfiguruj synchronizację", "menu-opt-view-version-history": "Otwórz historię wersji", "action-view-sync-sidebar": "Pokaż historię synchronizacji", "action-activity-log": "Otwórz dziennik aktywności", "label-load-more": "Pokaż więcej", "label-show-diff": "Pokaż zmiany", "label-copy-to-clipboard": "Kopiuj do schowka", "label-restore-this-version": "Przywróć tą wersję", "msg-already-latest-version": "Ta wersja jest już najnowszą wersją.", "msg-restored-version": "Pomyślnie przywrócono wersję z {{time}}", "label-file-deleted": "Ten plik został usunięty", "label-file-deleted-via": "Usunięte za pomocą {{ device }}", "label-file-renamed-from": "Nazwa tego pliku została zmieniona z \"{{filepath}}\"", "label-file-renamed-from-to": "Zmieniono nazwę z “{{from}}” na “{{to}}”", "label-file-moved-from": "Przeniesiono z “{{from}}”", "label-file-moved-from-to": "Przeniesiono z “{{from}}” do “{{to}}”", "label-revision": "1 zmiana", "label-revision_plural": "zmiany: {{revisions}}", "label-via-device": "za pomocą {{device}}", "label-no-history": "Brak historii synchronizacji dla tego pliku.", "label-empty-file": "Pusty", "label-unable-to-retrieve": "Nie udało się odzyskać historii wersji", "label-setting-files": "Pliki konfiguracyjne", "label-deleted-files": "Usunięte pliki", "label-version-history": "Historia wersji", "label-click-to-see-history": "Kliknij usunięty plik, aby wyświetlić jego historię.", "label-create-remote-vault": "Utwórz zdalny sejf", "msg-please-enter-password": "Wprowadź hasło.", "msg-vault-name-cannot-be-empty": "Nazwa sejfu nie może być pusta.", "msg-successfully-created-vault": "Pomyślnie utwórzono zdalny sejf \"{{name}}\".", "label-remote-vault-explanation": "Zdalne sejfy bezpiecznie synchronizują dane między urządzeniami.", "option-vault-name": "Nazwa sejfu", "option-vault-name-desc": "Pomaga zapamiętać, do czego służy ten sejf.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatycznie", "option-vault-region-desc": "Wybierz najbliższy region serwera do przechowywania zdalnego sejfu. Nie można tego zmienić w przyszłości.", "option-vault-name-placeholder": "Mój niesamowity sejf", "option-encryption": "Szyfrowanie", "option-encryption-desc": "Szyfrowanie end-to-end zapewnia najsilniejsze zabezpieczenia, ale wymaga bezpiecznego przechowywania hasła szyfrowania. Standardowe szyfrowanie wykorzystuje klucz zarządzany przez Obsidian w celu ochrony danych użytkownika podczas przesyłania i na naszych serwerach.", "option-encryption-warning": "Nie można tego później zmienić.", "option-encryption-end-to-end": "Szyfrowanie end-to-end", "option-encryption-standard": "Standardowe szyfrowanie", "option-encryption-password": "Hasło szyfrowania", "option-encryption-password-desc": "Tego hasła nie można później zmienić.", "option-encryption-password-desc-warning": "Jeśli zapomnisz to hasło, wszelkie zdalne dane pozostaną na zawsze niedostępne.", "option-encryption-password-desc-2": "Nie ma to wpływu na dane lokalne.", "label-encryption-password-explanation": "Zdalny sejf “{{name}}” jest teraz zaszyfrowany. Wprowadź hasło, aby go odblokować.", "option-encryption-password-placeholder": "Twoje hasło", "label-unlock-encrypted-vault": "Odblokuj zdalny sejf", "button-unlock-vault": "Odblokuj sejf", "label-remote-vaults": "Zdalne sejfy", "label-vault-created-time": "Utworzono {{time}}", "tooltip-delete-remote-vault": "Usuń", "tooltip-rename-remote-vault": "Zmień nazwę", "label-rename-remote-vault": "Zmień nazwę zdalnego sejfu \"{{name}}\"", "label-rename-remote-vault-desc": "Wprowadź nową nazwę dla tego zdalnego sejfu.", "tooltip-manage-sharing": "Zarządzaj udostępnianiem", "label-confirm-delete-remote-vault": "Potwierdź usunięcie sejfu", "label-confirm-delete-remote-vault-question": "Czy na pewno chcesz usunąć ten zdalny sejf?", "label-confirm-delete-remote-vault-result": "Wszystkie dane na naszym serwerze, w tym historia wersji, zostaną usunięte. Pliki lokalne pozostaną nienaruszone.", "label-confirm-delete-remote-vault-warning": "Działanie to jest trwałe i nieodwracalne.", "msg-remote-vault-deleted": "{{name}} zostało usunięte", "msg-disconnect-from-deleted-vault": "Obsidian Sync: Połączony zdalny sejf już nie istnieje.", "button-connect-to-remote-vault": "Połącz", "button-disconnect-from-remote-vault": "Rozłącz", "label-sync-status": "Status synchronizacji: {{status}}", "label-not-remote-vaults": "Nie masz żadnych zdalnych sejfów.", "label-no-subscription": "Nie masz aktywnej subskrypcji Obsidian Sync.", "label-please-visit": "Zapraszamy na stronę", "label-preview-unsupported-file-type": "Nie można wyświetlić podglądu plików {{type}}", "button-create-new-remote-vault": "Utwórz nowy sejf", "label-sync-log": "Dziennik synchronizacji", "option-event-type-all": "Wszystkie", "option-event-type-errors": "Błędy", "option-event-type-skipped": "Pominięto", "option-event-type-merge-conflicts": "Scal konflikty", "button-copy-sync-log": "Kopiuj dziennik synchronizacji", "msg-successfully-copied-sync-log": "Pomyślnie skopiowano dziennik synchronizacji.", "button-retry": "Ponów", "button-purchase-subscription": "Kup", "label-third-party-sync-warning": "Wykryto konflikt usługi synchronizacji plików", "label-third-party-sync-warning-desc": "Uwaga: Wygląda na to, że sejf korzysta z synchronizacji {{service}}. Jeśli używasz Obsidian Sync w tym sejfie, możesz doświadczyć problemów, uszkodzenia plików lub utraty danych.", "label-icloud-drive-warning": "Jeśli korzystasz z iCloud Drive, foldery Dokumenty i Biurko mogą być synchronizowane przez iCloud. Może to powodować problemy z Obsidian Sync.", "option-remote-vault": "Zdalny sejf", "button-choose-remote-vault": "Wybierz", "button-manage-remote-vault": "Zarządzaj", "option-remote-vault-desc-connected": "Połączono ze zdalnym sejfem \"{{name}}\".", "option-remote-vault-desc-not-connected": "Nie ma połączenia z żadnym zdalnym sejfem.", "option-sync-status": "Status synchronizacji", "option-sync-status-desc-paused": "Obsidian Sync jest obecnie wstrzymany.", "option-sync-status-desc-running": "Obsidian Sync jest aktualnie uruchomiony.", "option-device-name": "Nazwa urządzenia", "option-device-name-desc": "Ta nazwa będzie wyświetlana w dzienniku synchronizacji. Pozostaw puste, aby użyć nazwy domyślnej.", "button-resume": "Wznów", "button-pause": "Wstrzymaj", "option-view-deleted-files": "Usunięte pliki", "option-view-deleted-files-desc": "Przeglądaj i przywróć usunięte pliki.", "option-sync-log": "Dziennik synchronizacji", "option-sync-log-desc": "Podgląd ostatnich zdarzeń synchronizacji w celu debugowania.", "button-view": "Wyświetl", "button-bulk-restore": "Przywracanie zbiorcze", "button-restore-files_zero": "Przywróć pliki", "button-restore-files": "Przywróć plik {{count}} plik", "button-restore-files_plural": "Przywróć pliki: {{count}}", "msg-restoring": "Przywracanie...", "msg-restoring-complete": "`Przywracanie zakończone: {{succeeded}} udanych i {{failed}} nieudanych.`", "option-vault-size": "Rozmiar sejfu", "option-vault-size-desc": "Używasz {{size}} z {{limit}}", "option-vault-size-unknown": "Nie można określić rozmiaru sejfu.", "option-vault-size-loading": "Przywracanie rozmiaru sejfu...", "option-over-size": "Rozmiar sejfu przekracza limit", "option-almost-over-size": "Rozmiar sejfu zbliża się do limitu", "msg-largest-files": "Wyświetl największe pliki", "msg-largest-files-desc": "Są to pliki zdalne, które zajmują najwięcej miejsca. Po usunięciu załączników użyj przycisku opróżniania, aby zwolnić miejsce w zdalnym sejfie.", "button-upgrade-storage": "Zwiększ pamięć", "button-purge-remote": "Opróżnij", "button-hide-my-changes": "Ukryj moje zmiany", "tooltip-purge-remote": "Usuń trwale załączniki ze zdalnego sejfu, aby zaoszczędzić miejsce.", "msg-purge-complete": "Opróżnianie zakończone.", "option-prevent-sleep": "Zapobiegaj uśpieniu urządzenia", "option-prevent-sleep-desc": "Zapobiega przejściu urządzenia w stan uśpienia, gdy nadal istnieją pliki do zsynchronizowania.", "option-selective-sync": "Synchronizacja selektywna", "option-excluded-folders": "Pominięte foldery", "option-excluded-folder-desc": "Pomija synchronizację określonych folderów.", "option-currently-excluded-folders": " Foldery te są obecnie pominięte:", "button-manage-excluded-folders": "Zarządzaj", "option-sync-image": "Synchronizuj obrazy", "option-sync-image-desc": "Synchronizuj pliki obrazów z tymi rozszerzeniami: {{extensions}}.", "option-sync-audio": "Synchronizuj audio", "option-sync-audio-desc": "Synchronizuj pliki audio z tymi rozszerzeniami: {{extensions}}.", "option-sync-video": "Synchronizuj wideo", "option-sync-video-desc": "Synchronizuj pliki wideo z tymi rozszerzeniami: {{extensions}}.", "option-sync-pdf": "Synchronizuj pliki PDF", "option-sync-pdf-desc": "Synchronizuj pliki PDF.", "option-sync-unsupported": "Synchronizuj wszystkie inne typy plików", "option-sync-unsupported-desc": "Synchronizuj nieobsługiwane typy plików.", "option-vault-config-sync": "Konfiguracja synchronizacji sejfu", "option-view-config-files": "Ustawienia historii wersji", "option-view-config-files-desc": "Wyświetl i przywróć historię wersji plików konfiguracyjnych.", "option-sync-app": "Ustawienia główne", "option-sync-app-desc": "Włącz synchronizację ustawień edycji, plików i linków, niestandardowych skrótów klawiszowych itp.", "option-sync-appearance": "Ustawienia wyglądu", "option-sync-appearance-desc": "Synchronizuj ustawienia wyglądu, takie jak tryb ciemny, aktywny motyw i włączone snippety.", "option-sync-appearance-data": "Motywy i snippety", "option-sync-appearance-data-desc": "Synchronizuj pobrane motywy i snippety. To, czy są one włączone, zależy od wcześniejszych ustawień.", "option-sync-hotkey": "Skróty klawiszowe", "option-sync-hotkey-desc": "Synchronizuj niestandardowe skróty klawiszowe.", "option-sync-core-plugin": "Lista aktywnych wbudowanych wtyczek", "option-sync-core-plugin-desc": "Synchronizuj włączone wbudowane wtyczki.", "option-sync-core-plugin-data": "Ustawienia wbudowanych wtyczek", "option-sync-core-plugin-data-desc": "Synchronizuj ustawienia wbudowanych wtyczek.", "option-sync-community-plugin": "Lista aktywnych wtyczek stworzonych przez społeczność", "option-sync-community-plugin-desc": "Synchronizuj, które wtyczki stworzone przez społeczność są włączone.", "option-sync-community-plugin-data": "Zainstalowane wtyczki stworzone przez społeczność.", "option-sync-community-plugin-data-desc": "Synchronizuj zainstalowane wtyczki stworzone przez społeczność (pliki .js, .css, i manifest.json) i ich ustawienia.", "label-sync-loading": "Synchronizacja nadal się wczytuje, odśwież tę stronę później.", "label-sync-introduction": "Obsidian Sync to dodatkowa usługa synchronizacji Obsidian z szyfrowaniem end-to-end i historią wersji.", "label-account-required": "Aby rozpocząć synchronizację, zaloguj się lub utwórz nowe konto Obsidian.", "label-current-file": "Aktywny plik", "label-sync-changes": "Synchronizuj zmiany", "label-today": "Dzisiaj", "label-yesterday": "Wczoraj", "label-this-week": "Ten tydzień", "label-older": "Starsze", "label-last-sync": "Ostatnia synchronizacja", "label-more": "{{count}} więcej", "button-sign-up": "Zarejestruj się", "button-log-in": "Zaloguj się", "label-manage-excluded-folders": "Zarządzaj pominiętymi folderami", "label-number-of-folders-excluded": "{{folders}} są teraz wyłączone z synchronizacji.", "label-add-excluded-folder": "Pomiń folder", "label-add-excluded-folder-desc": "Pominąć można zarówno istniejące foldery, jak i foldery, które nie zostały jeszcze utworzone.", "tooltip-remove-excluded-folder": "Usuń z listy pominiętych", "label-setup-connection": "Konfiguracja połączenia", "label-connecting-to-vault": "Łączenie...", "label-connection-failed": "Nie udało się nawiązać połączenia", "label-connection-failed-desc": "Nie udało się połączyć z sejfem zdalnym.", "label-now-connected-to-vault": "Jesteś teraz połączony z \"{{name}}\".", "button-start-syncing": "Zacznij synchronizację", "label-confirm-merge-vault": "Potwierdź scalanie sejfu", "msg-vault-has-notes": "Twój lokalny sejf zawiera już jakieś notatki.", "msg-vault-merge-warning": "Jeśli połączysz się ze zdalnym sejfem \"{{name}}\", notatki w lokalnym sejfie zostaną scalone z notatkami ze zdalnego sejfu. W przypadku wystąpienia konfliktów zachowana zostanie najnowsza wersja notatki.", "tooltip-update-setting-on-all-devices": "Zaktualizuj tą opcję i uruchom ponownie aplikację na wszystkich urządzeniach, na których chcesz, aby zaczęła działać.", "label-sharing-with-users": "Ten zdalny sejf jest obecnie udostępniany następującym osobom.", "label-not-sharing": "Ten zdalny sejf nie jest obecnie nikomu udostępniany.", "label-vaults-shared-with-you": "Sejfy udostępniane tobie", "tooltip-leave-vault-sharing": "Przestań współpracować przy tym sejfie", "label-leave-vault-confirmation": "Potwierdź zakończenie współpracy przy tym sejfie", "label-leave-vault-confirmation-details": "Spowoduje to usunięcie tego sejfu z listy udostępnianych. Nie można cofnąć tej czynności.", "label-leave-vault-confirmation-details-2": "Skontaktuj się z właścicielem sejfu, jeśli chcesz ponownie przy nim współpracować.", "button-leave": "Opuść", "msg-error-failed-to-fetch": "Wczytywanie zdalnych sejfów nie powiodło się.", "label-require-subscription-to-connect": "Do połączenia z tym sejfem wymagana jest subskrypcja Obsidian Sync.", "option-contact-support": "Kontakt z pomocą techniczną", "option-contact-support-desc": "Jeśli napotkasz jakiekolwiek problemy z Obsidian Sync, skontaktuj się z nami, abyśmy mogli Ci pomóc! Możesz skontaktować się z nami pod adresem support@obsidian.md.", "button-copy-debug": "Kopiuj informacje debugowania", "button-email-support": "Wsparcie przez email", "label-sync-disconnected": "Synchronizacja nie jest połączona ze zdalnym sejfem.", "msg-remote-vault-limit-hit": "Obsidian Sync umożliwia utworzenie do 5 zdalnych sejfów. Aby utworzyć nowy zdalny sejf, należy usunąć istniejący.", "label-upgrade-vault": "Zaktualizuj sejf", "label-upgrade-vault-encryption": "Zaktualizuj szyfrowanie sejfu", "label-upgrade-vault-encryption-desc": "Dostępna jest nowa wersja szyfrowania dla zdalnych sejfów.", "label-migrate-remote-vault": "Przenieś zdalny sejf", "label-remote-vault-configuration": "Konfiguracja sejfu zdalnego", "button-migrate": "Przenieś", "msg-recreate-remote-vault": "Spowoduje to usunięcie zdalnego sejfu i odtworzenie go z najnowszym szyfrowaniem. Nie wpłynie to na pliki lokalne, ale historia wersji zostanie utracona.", "label-confirm-migrate": "Potwierdź przeniesienie sejfu", "msg-migrate-pre-confirmation-part1": "Aby zaktualizować szyfrowanie, wszystkie dane w sejfie zostaną ponownie przesłane na serwery Obsidian Sync przy użyciu nowej metody szyfrowania. Proces ten trwale usunie wszystkie dane zaszyfrowane za pomocą starej metody, w tym historię wersji sejfu.", "msg-migrate-pre-confirmation-part2": "Ważne: zdecydowanie zalecamy utworzenie kopii zapasowej sejfu przed kontynuowaniem, aby zapobiec potencjalnej utracie danych.", "msg-migrate-pre-confirmation-part3": "Po zakończeniu aktualizacji konieczne będzie ponowne podłączenie wszystkich urządzeń do zaktualizowanego sejfu zdalnego.", "msg-migrate-confirmation": "Przeniesienie sejfu może zająć trochę czasu. Obsidian będzie musiał pozostać aktywny na tym urządzeniu, aby ponownie przesłać wszystkie notatki i załączniki. Najlepiej zrobić to na urządzeniu głównym.", "msg-migrate-confirmation-size": "Masz {{size}} danych. Przeniesienie sejfu może zająć trochę czasu. Obsidian będzie musiał pozostać aktywny na tym urządzeniu, aby ponownie przesłać wszystkie notatki i załączniki. Najlepiej zrobić to na urządzeniu głównym.", "msg-proceed-prompt": "Czy chcesz kontynuować?", "msg-vault-migration-started": "Trwa przenoszenie sejfu." }, "file-recovery": { "name": "Odzyskiwanie plików", "desc": "Pozwala przywrócić najnowszą kopię zapasową w celu odzyskania danych po przypadkowej utracie. Kopie zapasowe zapisywane są tylko dla plików w formacie Markdown.", "action-open": "Otwórz zapisane kopie zapasowe", "option-interval": "Czas pomiędzy kopiami zapasowymi", "option-interval-description": "Minimalny czas w minutach pomiędzy kolejnymi kopiami zapasowymi.", "option-keep": "Czas przechowywania historii", "option-keep-description": "Czas przechowywania kopii zapasowych w dniach.", "option-open-history": "Kopie zapasowe", "option-open-history-description": "Podgląd i przywracanie kopii zapasowych.", "button-view-history": "Pokaż", "option-clear": "Wyczyść historię", "option-clear-description": "Usuń wszystkie kopie zapasowe.", "button-clear-history": "Usuń", "label-clear-warning": "Czy na pewno chcesz usunąć wszystkie kopie zapasowe? Tylko kopie zapasowe zostaną usunięte. Nie wpłynie to na żadne pliki w sejfie.", "msg-clear-complete": "Kopie zapasowe zostały usunięte.", "label-no-history-found": "Nie znaleziono żadnych kopii zapasowych.", "placeholder-choose-file": "Wybierz plik...", "label-select-file": "Wybierz plik po lewej stronie, aby wyświetlić kopie zapasowe." }, "note-composer": { "name": "Kompozytor notatek", "desc": "Łącz, dziel i przekształcaj notatki.", "option-confirm-file-merge": "Potwierdź scalenie plików.", "option-confirm-file-merge-description": "Pytaj przed scaleniem dwóch plików.", "option-split-replacement-text": "Tekst po wyodrębnieniu", "option-split-replacement-text-description": "Co ma być wyświetlane zamiast zaznaczonego tekstu po jego wyodrębnieniu.", "option-choice-split-replacement-text-link": "Łącze do nowego pliku", "option-choice-split-replacement-text-embed": "Wstaw nowy plik", "option-choice-split-replacement-text-none": "Brak", "option-template-file": "Lokalizacja szablonu", "option-template-file-description": "Szablon do użycia podczas scalania lub wyodrębniania. Dostępne zmienne: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, np. {{date:YYYY-MM-DD}}.", "command-merge-file": "Scal aktywny plik z innym...", "action-merge-file": "Scal cały plik z...", "label-no-files": "Nie znaleziono plików.", "instruction-navigate": "aby nawigować", "instruction-merge": "aby scalić", "instruction-create-new": "aby utworzyć nowy", "instruction-merge-at-top": "aby scalić na górze", "instruction-dismiss": "aby anulować", "prompt-select-file-to-merge": "Wybierz plik do scalenia...", "label-merge-file": "Scal plik", "label-confirm-file-merge": "Czy na pewno chcesz scalić \"{{file}}\" z \"{{destination}}\"? \"{{file}}\" zostanie usunięty.", "button-merge": "Scal", "command-split-file": "Wyodrębnij aktywny wybór", "command-extract-heading": "Wyodrębnij ten nagłówek...", "instruction-append": "aby przesunąć w dół", "instruction-prepend": "aby przesunąć w górę", "msg-fail-to-fetch-template": "Nie udało się pobrać pliku szablonu: \"{{template}}\" nie znaleziony.", "msg-fail-to-find-heading": "Nie udało się znaleźć nagłówka" }, "web-viewer": { "name": "Przeglądarka internetowa", "history-name": "Historia", "desc": "Otwieraj zewnętrzne łącza do stron internetowych wewnątrz Obsidian.", "action-open": "Otwórz przeglądarkę", "action-show-history": "Pokaż historię", "action-toggle-reader-mode": "Tryb czytnika", "action-copy-u-r-l": "Skopiuj URL", "action-remove-from-history": "Usuń z historii", "action-clear-history": "Wyczyść historię", "action-open-link": "Otwórz łącze", "action-open-link-new-tab": "Otwórz łącze w nowej karcie", "action-open-link-new-split": "Otwórz łącze po prawej", "action-open-link-new-window": "Otwórz łącze w nowym oknie", "action-open-link-default-browser": "Otwórz łącze w przeglądarce systemowej", "action-open-link-web-viewer": "Otwórz łącze w przeglądarce Obsidian", "action-copy-link-address": "Kopiuj adres łącza", "action-bookmark-link": "Dodaj łącze do ulubionych", "action-search-for-query": "Szukaj “{{query}}”", "action-extract-selection": "Wyodrębnij zaznaczenie do nowej notatki", "action-copy-selection": "Kopiuj", "action-cut": "Wytnij", "action-paste": "Wklej", "action-delete": "Usuń", "action-select-all": "Wybierz wszystko", "action-save-to-vault": "Zapisz w sejfie", "action-save-image": "Zapisz zdjęcie w sejfie", "action-copy-image": "Kopiuj zdjęcie", "action-copy-image-link": "Kopiuj łącze zdjęcia", "action-backward": "Wstecz", "action-forward": "Naprzód", "action-reload": "Odśwież", "action-bookmark-page": "Dodaj stronę do ulubionych", "action-open-default-browser": "Otwórz w przeglądarce systemowej", "action-focus-address-bar": "Aktywuj pasek adresu", "action-search-the-web": "Szukaj w sieci", "action-clear-data": "Wyczyść dane", "action-clear-data-cookies": "Ciasteczka", "action-clear-data-cookies-desc": "Może nastąpić wylogowanie.", "action-clear-data-cache": "Dane w pamięci podręcznej", "action-clear-data-history": "Historia", "action-clear-data-all": "Wszystkie dane przeglądarki", "action-clear-data-all-desc": "Usuwa wszystkie powyższe, a także dane lokalne i aktywne sesje.", "label-new-web-viewer": "Nowa przeglądarka", "label-fail-to-load": "Nie można załadować tej strony.", "label-fail-to-load-desc": "Upewnij się, że podany adres jest prawidłowy.", "label-search-the-web": "Szukaj w sieci", "label-web-viewer-data": "Dane przeglądarki", "label-clear-data": "Wyczyść dane przeglądarki", "option-open-external-links": "Otwieraj łącza zewnętrzne", "option-open-external-links-desc": "Otwieraj łącza w Obsidian zamiast w przeglądarce systemowej.", "option-homepage": "Strona główna", "option-homepage-desc": "Jaką stronę wyświetlić po otwarciu przeglądarki?", "option-saved-markdown": "Folder zapisanych stron", "option-saved-markdown-desc": "Strony zapisane jako markdown będą tutaj umieszczane.", "option-search-engine": "Wyszukiwarka", "option-search-engine-desc": "Wyszukiwarka używana podczas korzystania z paska adresu.", "option-search-engine-custom": "Niestandardowa wyszukiwarka", "option-search-engine-custom-desc": "Użyj %s zamiast zapytania.", "option-search-engine-custom-drop-down": "Niestandardowa", "option-enable-adblock": "Włącz blokowanie reklam", "option-enable-adblock-desc": "Po włączeniu poniższe listy filtrów zostaną zastosowane do wszystkich zakładek w przeglądarce.", "option-adblock-lists": "Zasady blokowania reklam", "option-adblock-lists-desc": "Jeden adres URL listy blokowania reklam w linii. Wspólne dla wszystkich sejfów.", "option-adblock-frequency": "Częstotliwość aktualizacji zasad blokowania reklam", "option-adblock-frequency-desc": "Dni pomiędzy aktualizacjami list filtrów. 0 oznacza wyłączone. Wspólne dla wszystkich sejfów.", "title-clear-data-modal": "Wyczyść dane przeglądarki", "msg-error-extracting-content": "Nieoczekiwany błąd wyodrębniania zawartości.", "msg-error-finding-content": "Nie można znaleźć zawartości do wyodrębnienia." }, "canvas": { "name": "Tablica", "desc": "Układaj i łącz notatki na nieskończonej tablicy.", "action-add-note": "Dodaj notatę z sejfu", "action-add-media": "Dodaj multimedia z sejfu", "action-add-card": "Dodaj kartę", "action-add-website": "Dodaj stronę internetową", "action-create-group": "Utwórz grupę", "action-create-with-size": "Utwórz kartę o określonym rozmiarze", "action-convert-to-file": "Konwertuj do pliku...", "action-drag-to-add-note": "Przeciągnij, aby dodać notatkę z sejfu", "action-drag-to-add-media": "Przeciągnij, aby dodać multimedia z sejfu", "action-drag-to-add-card": "Przeciągnij, aby dodać kartę", "action-edit-label": "Edytuj etykietę", "action-remove-label": "usuń etykietę", "action-search-file": "Szukaj pliku", "action-set-color": "Ustaw kolor", "action-align": "Wyrównaj", "action-align-left": "Wyrównaj do lewej", "action-align-center": "Wyrównaj do środka", "action-align-right": "Wyrównaj do prawej", "action-align-top": "Wyrównaj do góry", "action-align-middle": "Wyrównaj do środka", "action-align-bottom": "Wyrównaj do dołu", "action-distribute-horizontal-spacing": "Wyrównaj odstępy poziomo", "action-distribute-vertical-spacing": "Wyrównaj ostępy pionowo", "action-justify-horizontally": "Wyjustuj w poziomie", "action-justify-vertically": "Wyjustuj w pionie", "action-arrange-horizontally": "Rozmieść w rzędzie", "action-arrange-vertically": "Rozmieść w kolumnie", "action-arrange-grid": "Rozmieść w siatce", "action-export-png": "Eksportuj jako obraz", "action-jump-to-group": "Przejdź do grupy", "action-set-background": "Ustaw tło", "action-edit-background": "Edytuj tło", "action-replace-background": "Zamień tło", "action-remove-background": "Usuń tło", "label-no-images": "Nie znaleziono żadnych obrazów.", "label-no-media": "No media found.", "label-export-png-desc": "Eksportuj \"{{title}}\" z plikiem PNG z poniższymi ustawieniami.", "label-export-png-dimensions": "Szacowane wymiary obrazka: {{dimensions}}", "label-distribute": "Rozmieść", "label-justify": "Wyjustuj", "label-arrange": "Ułóż", "label-always": "Zawsze", "label-hover": "Po najechaniu kursorem", "label-never": "Nigdy", "label-no-section-found": "Nie znaleziono sekcji", "option-wheel-behavior": "Domyślne zachowanie kółka myszy", "option-mod-drag-behavior": "Domyślne zachowanie {{key}}", "option-show-menu": "Pokaż menu", "option-new-canvas-location": "Domyślna lokacja nowych tablic", "option-new-canvas-location-description": "Gdzie umieszczane są nowo utworzone tablice.", "option-new-canvas-folder-path": "Folder do tworzenia nowych tablic", "option-new-canvas-folder-path-description": "Nowo utworzone tablice pojawią się w tym folderze.", "option-node-label": "Wyświetl etykietę karty", "option-snap-to-grid": "Przyciągaj do siatki", "option-snap-to-grid-desc": "Przyciągaj karty do siatki pomocniczej podczas przesuwania i zmiany rozmiaru.", "option-snap-to-objects": "Przyciągaj do elementów", "option-snap-to-objects-desc": "Przyciągaj karty do pobliskich elementów podczas przesuwania i zmiany rozmiaru.", "option-zoom-breakpoint": "Próg powiększenia ukrywający zawartość karty", "option-zoom-breakpoint-desc": "Niższe wartości zwiększą wydajność, ale szybciej ukryją zawartość karty podczas pomniejszania.", "option-export-png-show-logo": "Pokaż logo", "option-export-png-show-logo-desc": "Spowoduje to dodanie logo Obsidian w lewym dolnym rogu.", "option-export-png-privacy-mode": "Tryb prywatności", "option-export-png-privacy-mode-desc": "Spowoduje to zasłonięcie każdego tekstu na tablicy.", "option-export-png-zoom": "Przybliżenie", "option-export-png-zoom-desc": "Większe przybliżenie wygeneruje obraz o wyższej rozdzielczości.", "option-export-png-frame": "Widoczny obszar", "option-export-png-frame-desc": "Wybierz, czy renderować całą tablicę, czy tylko widoczny teraz obszar.", "option-export-png-frame-full": "Cała tablica", "option-export-png-frame-viewport": "Tylko widoczny obszar", "option-background-cover": "Zakrycie", "option-background-ratio": "Zachowaj proporcje", "option-background-repeat": "Powtórz", "action-new-canvas": "Nowa tablica", "action-remove": "Usuń", "action-narrow-heading": "Dopasuj do nagłówka...", "action-narrow-block": "Dopasuj do bloku...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Zamień pliki...", "action-change-url": "Zmień adres URL...", "action-zoom-to-fit": "Dopasuj do widoku", "action-zoom-to-selection": "Dopasuj do zaznaczenia", "action-reload-page": "Przeładuj stronę", "action-follow-connection": "Śledź połączenie", "command-create-new-canvas": "Stwórz nową tablicę", "command-convert-to-file": "Konwertuj do...", "instruction-narrow-heading": "aby wstawić nagłówek", "instruction-narrow-block": "aby wstawić blok", "instruction-jump-to-group": "aby przejść do grupy", "prompt-to-narrow": "Wpisz nagłówek", "label-enter-url": "Wprowadź adres URL", "label-empty-embed": "\"{{linktext}}\" nie został odnaleziony.", "prompt-add-text": "Dodaj tekst...", "prompt-start-search": "Wpisz, aby wyszukać...", "label-canvas-help": "Pomoc dotycząca tablic", "label-canvas-settings": "Ustawienia tablic", "label-no-narrow": "Pokaż cały plik", "label-show-default-view": "Show default view", "label-readonly": "Tylko do odczytu", "label-disable-readonly": "Wyłącz tylko do odczytu", "label-pan": "Przesuń", "label-pan-horizontal": "Przesuń w poziomie", "label-zoom": "Powiększenie", "label-select-all": "Zaznacz wszystko", "label-add-remove-selection": "Dodaj lub usuń z zaznaczenia", "label-clone-card": "Duplikuj kartę", "label-constrain-movement-axis": "Ogranicz ruch kart do osi", "label-disable-drag-snapping": "Wyłącz przyciąganie podczas przeciągania", "label-remove-card": "Usuń kartę", "label-drag-from-below": "Przeciągnij od dołu lub kliknij dwukrotnie", "label-longpress": "Dotknij i przytrzymaj, aby dodać / przesunąć / zaznaczyć", "label-drag-pan": "Przeciągnij, aby przesunąć", "label-pinch-zoom": "Uszczypnij, aby powiększyć", "label-space-drag-pan": "Naciśnij spację i przeciągnij, aby przesunąć", "label-scroll-to-zoom": "Przewijaj, aby zmieniać powiększenie", "label-untitled-group": "Grupa bez nazwy", "label-line-direction": "Kierunek linii", "label-nondirectional": "Brak kierunku", "label-unidirectional": "Jednokierunkowy", "label-bidirectional": "Dwukierunkowy", "label-image": "Obraz", "label-style": "Styl", "msg-no-groups-found": "Nie znaleziono grup", "msg-export-failed-empty-canvas": "Nie można wyeksportować pustej tablicy", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bazy danych", "desc": "Twórz bazy danych, korzystając z atrybutów notatek.", "action-new-base": "Nowa baza danych", "action-add-property": "Dodaj atrybut", "action-add-formula": "Add formula", "action-hide-all": "Ukryj wszystko", "action-toggle-visibility": "Pokaż lub ukryj", "action-delete-property": "Usuń atrybut", "action-duplicate-view": "Duplikuj podgląd", "action-delete-view": "Usuń podgląd", "action-export-c-s-v": "Export CSV...", "command-create-new": "Stwórz nową bazę danych", "command-insert-new": "Wstaw nową bazę danych", "command-copy-table": "Skopiuj tabelę do schowka", "command-change-view": "Zmień podgląd", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Obliczone atrybuty", "label-property-type": "Typ atrybutu", "label-hide-property": "Ukryj atrybut", "label-show-property": "Pokaż atrybut", "label-edit-property": "Edytuj atrybut", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Konfiguruj podgląd", "label-view-layout": "Układ", "label-global-filters": "Filtry ogólne", "label-view-filters": "Pokaż filtry", "label-view-name": "Pokaż nazwę", "label-default-view": "Pokaż", "label-view-type-table": "Tabela", "label-display-name": "Display name", "label-formula": "Wzór", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Którekolwiek z poniższych stwierdzeń jest prawdziwe", "label-all-the-following": "Każde z poniższych stwierdzeń jest prawdziwe", "label-none-of-the-following": "Żadne z poniższych stwierdzeń nie jest prawdziwe", "label-where": "gdzie", "label-or": "lub", "label-and": "i", "label-property-key": "Atrybut", "label-untitled-property": "Bez nazwy", "label-file-prop-file": "plik", "label-file-prop-name": "nazwa", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "ścieżka", "label-file-prop-folder": "folder", "label-file-prop-ext": "rozszerzenie", "label-file-prop-ctime": "czas utworzenia", "label-file-prop-mtime": "czas modyfikacji", "label-file-prop-size": "rozmiar pliku", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "Ten filtr nie może być odwzorowany przez podstawowy kreator filtrów.", "msg-filter-cannot-parse": "Filtr nie może zostać przetworzony. Nie można użyć podstawowego kreatora filtrów.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Nie udało się dodać nowego podglądu bazy danych \"{{ viewID }}\". Podgląd o tym identyfikatorze już istnieje.", "msg-error-unable-to-parse": "Nie udało się przetworzyć pliku bazy danych:", "msg-error-view-not-found": "Nie znaleziono podglądu \"{{ view }}\"", "msg-error-unknown-view-type": "Baza danych skonfigurowana z nieznanym typem podglądu: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Wyświetlane wartości muszą być ciągami znaków. Wartość atrybutu {{ key }} nie jest.", "msg-error-must-be-a-type": "\"{{ key }}\" musi być {{ type }}", "msg-error-filter-type": "\"filters\" musi być ciągiem znaków lub obiektem", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Nie udało się zweryfikować filtrowania: {{ message }}", "msg-error-formula-values": "Wartości wzoru muszą być ciągami znaków. Wartość atrybutu {{ key }} nie jest.", "msg-error-computed-failed-to-compute": "Nie udało się obliczyć wartości atrybutu \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Zapytanie ma nieprawidłowy format. Powinien to być obiekt YAML.", "msg-error-view-invalid-format": "Elementy \"view\" muszą być obiektami YAML, ale element {{ index }} nie jest", "msg-error-view-name-invalid": "Brakujące lub nieprawidłowe \"name\" w podglądzie {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" jest wymagane w podglądzie \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" musi być {{ type }} w podglądzie \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "Wartości \"{{ key }}\" muszą być typu {{ type }} w podglądzie \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Nie udało się przetworzyć filtrowania w podglądzie \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Wykryto nieskończoną pętlę we wzorze", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Filtrowanie zaawansowane", "tooltip-filter-simple-mode": "Filtrowanie podstawowe", "tooltip-remove-filter": "Usuń filtr", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Ukryj kolumnę", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Wyróżnij wszystko", "action-match-diacritics": "Dopasuj znaki diakrytyczne", "action-whole-words": "Całe słowa", "action-show-thumbnails": "Miniatury", "action-show-outline": "Spis treści", "action-reveal-in-outline": "Wyświetl stronę w spisie treści", "action-toggle-sidebar": "Pasek boczny", "action-previous-page": "Poprzednia strona", "action-next-page": "Następna strona", "action-fit-width": "Dopasuj szerokość", "action-fit-height": "Dopasuj wysokość", "action-save-p-d-f-location": "Zapisz bieżącą pozycję w dokumencie", "action-copy-annotation": "Skopiuj adnotację", "action-copy-quote": "Skopiuj jako cytat", "action-copy-selection-link": "Skopiuj odnośnik do zaznaczenia", "action-copy-annot-link": "Skopiuj odnośnik do adnotacji", "action-copy-section-link": "Skopiuj odnośnik do sekcji", "action-copy-section-link-title": "Skopiuj odnośnik do “{{title}}”", "action-copy-page-link": "Skopiuj odnośnik do strony {{page}}", "msg-max-search-results": "{{current}} z ponad {{limit}} dopasowań", "msg-search-count": "{{current}} z {{total}} dopasowań", "msg-search-count_plural": "{{current}} z {{total}} dopasowań", "msg-password-protected": "Ten plik PDF jest chroniony hasłem", "msg-invalid-password": "Nieprawidłowe hasło", "msg-enter-password": "Wprowadź hasło poniżej", "label-of-pages": "z {{count}}", "label-page-of-pages": "({{current}} z {{count}})", "label-spread-single": "Pojedyncza strona", "label-spread-odd": "Dwie strony (nieparzyste)", "label-spread-even": "Dwie strony (parzyste)", "tooltip-sidebar-options": "Opcje paska bocznego", "tooltip-display-options": "Opcje wyświetlania", "label-adapt-to-theme": "Dopasuj do motywu", "label-page": "strona {{page}}", "page_landmark": "Strona {{page}}", "thumb_page_title": "Strona {{page}}", "thumb_page_canvas": "Strona {{page}}", "text_annotation_type": "Adnotacja [{{type}}]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Lista", "option-unknown": "Nieznane", "option-text": "Tekst", "option-aliases": "Aliasy", "option-tags": "Tagi", "option-folder": "Folder", "option-file": "File", "option-date": "Data", "option-datetime": "Data i godzina", "option-number": "Liczba", "option-checkbox": "Pole wyboru" }, "value-suggestion": { "key-link-note": "Wpisz [[", "instruction-link-note": "aby połączyć z notatką", "instruction-dismiss": "aby anulować" }, "option-property-type": "Rodzaj atrybutu", "msg-empty-property-name": "Nazwa atrybutu nie może być pusta.", "msg-duplicate-property-name": "Atrybut już istnieje", "msg-invalid-tag": "Nieprawidłowa nazwa tagu", "msg-invalid-number": "Nieprawidłowa liczba", "msg-invalid-properties": "Nie udało się odczytać atrybutów.", "label-no-value": "Brak wartości", "label-heading": "Atrybuty", "label-invalid-heading": "Nieprawidłowe atrybuty", "label-show-source": "Pokaż źródło", "label-invalid-yaml-marker": "Błąd składni. Twój frontmatter jest nieprawidłowy.", "label-add-property-button": "Dodaj atrybut", "label-type-mismatch-warning": "Niewłaściwy rodzaj, oczekiwano {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Kolumna", "label-row": "Wiersz", "action-row-after": "Dodaj wiersz pod", "action-column-after": "Dodaj kolumnę za", "action-row-before": "Dodaj wiersz nad", "action-row-up": "Przesuń wiersz w górę", "action-row-down": "Przesuń wiersz w dół", "action-column-before": "Dodaj kolumnę przed", "action-column-left": "Przesuń kolumnę w lewo", "action-column-right": "Przesuń kolumnę w prawo", "action-duplicate-row": "Duplikuj wiersz", "action-duplicate-column": "Duplikuj kolumnę", "action-delete-row": "Usuń wiersz", "action-delete-column": "Usuń kolumnę", "action-align-left": "Wyrównaj do lewej", "action-align-center": "Wyśrodkuj", "action-align-right": "Wyrównaj do prawej", "action-delete-selection": "Usuń komórki", "action-clear-selection": "Wyczyść komórki", "action-sort-a-z": "Sortuj rosnąco", "action-sort-z-a": "Sortuj malejąco", "label-command": "Tabela: {{command}}" }, "callout": { "option-type": "Rodzaj cytatu blokowego", "type": { "info": "Informacja", "important": "Ważne", "tip": "Wskazówka", "success": "Sukces", "question": "Pytanie", "warning": "Ostrzeżenie", "quote": "Cytat", "example": "Przykład", "none": "Żadne" }, "option-other": "Inne...", "option-other-placeholder": "Rodzaj cytatu blokowego..." }, "nouns": { "count": "{{count}}", "word-with-count": "słowa: {{count}}", "word-with-count_plural": "słowa: {{count}}", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "znaki: {{count}}", "character-with-count_plural": "znaki: {{count}}", "link-with-count": "łącza: {{count}}", "link-with-count_plural": "łącza: {{count}}", "file-with-count": "pliki: {{count}}", "file-with-count_plural": "pliki: {{count}}", "folder-with-count": "foldery: {{count}}", "folder-with-count_plural": "foldery: {{count}}", "backlink-with-count": "linki zwrotne: {{count}}", "backlink-with-count_plural": "linki zwrotne: {{count}}", "tabs-with-count": "karty: {{count}}", "tabs-with-count_plural": "karty: {{count}}", "properties-with-count": "atrybuty: {{count}}", "properties-with-count_plural": "atrybuty: {{count}}", "site-with-count": "strony: {{count}}", "site-with-count_plural": "strony: {{count}}", "plugin-with-count": "wtyczki: {{count}}", "plugin-with-count_plural": "wtyczki: {{count}}", "plugin-active-with-count": "aktywne: {{count}}", "snippet-active-with-count": "snippety: {{count}}", "snippet-active-with-count_plural": "snippety: {{count}}", "theme-with-count": "motywy: {{count}}", "theme-with-count_plural": "motywy: {{count}}" } }{ "setting": { "options": "Configurações", "plugin": "Plugin", "builtin-plugins": "Plugins nativos", "plugin-options": "Configurações de plugin", "folder-path-example-placeholder": "Exemplo: pasta 1/pasta 2", "file-path-example-placeholder": "Exemplo: pasta/nota", "msg-restart-required": "É preciso reiniciar para que estas mudanças façam efeito.", "editor": { "name": "Editor", "section-behavior": "Funcionamento", "section-display": "Exibição", "option-spellcheck": "Verificação ortográfica", "option-spellcheck-description": "Ativa a verificação ortográfica. Atualmente só funciona para o Inglês (EUA).", "spellcheck-languages": "Idiomas para verificação ortográfica", "spellcheck-languages-description": "Escolha os idiomas para o corretor ortográfico usar.", "spellcheck-languages-mac-description": "O corretor ortográfico nativo detectará automaticamente o idioma que está sendo usado para você no macOS.", "spellcheck-dict": "Dicionário de verificação ortográfica", "spellcheck-dict-empty": "O dicionário de verificação ortográfica está vazio.", "option-show-inline-title": "Mostrar título embutido", "option-show-inline-title-description": "Exibe o nome do arquivo como um título editável embutido ao conteúdo do arquivo.", "option-readable-line-length": "Margens de tamanho confortável", "option-readable-line-description": "Limita a largura máxima das margens de uma nota. Cabe menos conteúdo na tela, mas deixa os parágrafos mais legíveis.", "option-strict-line-break": "Quebra de linha estrita", "option-strict-line-break-description": "No modo de visualização, ignora quebras de linha únicas seguindo as especificações Markdown. Desative para que quebras de linha únicas sejam exibidas na visualização.", "option-properties-in-document": "Propriedades nos documentos", "option-properties-in-document-description": "Defina como as propriedades serão exibidas no editor. Escolha \"Original\" para mostrar as propriedades em YAML.", "option-properties-hidden": "Escondidas", "option-properties-visible": "Visíveis", "option-properties-source": "Original", "option-auto-pair-brackets": "Criação em pares de parênteses", "option-auto-pair-brackets-description": "Cria parênteses e aspas em pares.", "option-auto-pair-markdown": "Criação em pares de sintaxe Markdown", "option-auto-pair-markdown-description": "Cria símbolos para negrito e itálico em pares.", "option-smart-indent-lists": "Listas com indentação inteligente", "option-smart-indent-lists-description": "Cuida da indentação e marcadores de lista para você.", "option-fold-heading": "Esconder seção", "option-fold-heading-description": "Permite que você esconda todo o conteúdo de uma seção.", "option-fold-indent": "Esconder indentação", "option-fold-indent-description": "Permite que você esconda uma parte sob a mesma indentação, como listas.", "option-default-new-tab-view": "Visualização padrão para novas abas", "option-default-new-tab-view-description": "A visualização padrão em que uma nova aba Markdown é aberto.", "option-default-new-tab-view-editing": "Visualização de edição", "option-default-new-tab-view-reading": "Visualização de leitura", "option-open-tab-in-foreground": "Sempre focar em novas abas", "option-open-tab-in-foreground-description": "Ao abrir um link em uma nova aba, mudar para ela imediatamente.", "option-default-editing-mode": "Modo de edição padrão", "option-default-editing-mode-description": "O modo de edição padrão com o qual um novo painel começará.", "option-default-editing-mode-source": "Modo de origem", "option-default-editing-mode-live-preview": "Visualização ao vivo", "option-show-line-number": "Mostrar o número da linha", "option-show-line-number-description": "Mostra os números das linhas.", "option-indentation-guide": "Mostrar guias de recuo", "option-indentation-guide-description": "Mostrar linhas de relacionamento verticais entre marcadores para orientação visual.", "option-use-tabs": "Usar tabulações", "option-use-tabs-description": "Usar tabulações para indentação quando a tecla \"Tab\" é pressionada. Desative para usar espaços.", "option-tab-size": "Tamanho da tabulação", "option-tab-size-description": "O número de espaços ao qual uma tabulação é equivalente.", "option-rtl": "Direita para esquerda (RTL)", "option-rtl-description": "Define a direção do texto das notas a serem exibidas da direita para a esquerda.", "option-auto-convert-html": "Conversor automático de HTML", "option-auto-convert-html-description": "Automaticamente converte HTML para Markdown quando colado ou arrastado de páginas web. Use Ctrl/Cmd+Shift+V para colar sem conversão.", "option-vim-key-bindings": "Atalhos de teclado Vim", "option-vim-key-bindings-description": "Permite utilizar atalhos Vim no editor.", "option-vim-key-bindings-mobile": "Em dispositivos móveis esta configuração é por dispositivo e não é sincronizada através do arquivo de configuração.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Confirme a ativação do modo Vim", "label-vim-warning": "O modo Vim é eficiente para edição de texto, mas não é o mais intuitivo. Se você nunca usou Vim e escolher essa opção, vai parecer que o Obsidian parou de funcionar.", "label-vim-test": "Para verificar que você sabe usar Vim, digite o comando para sair do Vim sem salvar:", "label-vim-your-answer": "Sua resposta", "placeholder-enter-command": "Digite um comando...", "button-confirm-enable-vim": "Ativar modo Vim", "msg-vim-mode-enabled": "Modo Vim ativado.", "msg-vim-mode-not-enabled": "Comando errado. Modo Vim desativado para sua proteção.", "msg-vim-mode-please-enter-command": "Use o comando para entrar no modo Vim." }, "file": { "name": "Arquivos & Links", "option-confirm-file-deletion": "Confirmar a exclusão de arquivos", "option-confirm-file-deletion-description": "Determine se você precisa confirmar para excluir arquivos.", "option-delete-destination": "Arquivos excluídos", "option-delete-destination-description": "Determine o que fazer com arquivos após os deletar.", "option-choice-system-trash": "Mover para a lixeira do sistema", "option-choice-vault-trash": "Mover para a lixeira do Obsidian (pasta .trash)", "option-choice-permanent-delete": "Excluir permanentemente", "option-always-update-links": "Sempre atualizar os links internos", "option-always-update-links-description": "Quando ativado, os links para um arquivo renomeado são atualizados automaticamente. Você não será solicitado a confirmar.", "option-new-note-location": "Local padrão para novas notas", "option-new-note-location-description": "Determine onde novas notas serão criadas. Configurações de plugin substituem essa.", "option-choice-vault-root": "Raiz do cofre", "option-choice-current-folder": "Na mesma pasta que o arquivo atual", "option-choice-specified-folder": "Na pasta especificada abaixo", "option-new-file-folder-path": "Pasta onde novas notas serão criadas", "option-new-file-folder-path-description": "Novas notas irão aparecer nessa pasta. Configurações de plugin substituem essa.", "option-use-wiki-links": "Usar [[Wikilinks]]", "option-use-wiki-links-description": "Gera automaticamente wikilinks para [[links]] e ![[imagens]] ao invés de links e imagens Markdown. Desative esta opção para gerar links Markdown.", "option-show-unsupported-files": "Detectar todas as extensões dos arquivos.", "option-show-unsupported-files-description": "Mostre arquivos com extensões, mesmo para arquivos que não possam ser abertos no Obsidian para que eu possa inserir links e abri-los no File Explorer e Quick Switcher.", "option-link-autocompleted-format": "Formato para links novos", "option-link-autocompleted-format-description": "Qual tipo de link será usado ao gerar links internos.", "option-choice-shortest-linktext": "Menor caminho possível", "option-choice-relative-path": "Caminho relativo do arquivo", "option-choice-absolute-path": "Caminho absoluto do arquivo", "option-new-attachment-location": "Pasta padrão para salvar novos arquivos", "option-new-attachment-location-description": "Onde novos arquivos serão salvos.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "Numa subpasta dentro da pasta em uso", "option-attachment-folder-path": "Local da pasta de anexos", "option-attachment-folder-path-description": "Arquivos de anexo recém-criados aparecerão aqui. Isso inclui imagens criadas por colagem, por arrastar e soltar, e gravações de áudio.", "option-attachment-subfolder-path": "Nome da subpasta", "option-attachment-subfolder-path-description": "Se seus arquivos estiverem em \"cofre/pasta\", e você nomear a sua subpasta \"anexos\", seus anexos serão salvos em \"cofre/pasta/anexos\".", "option-excluded-files": "Arquivos excluídos", "option-excluded-files-desc": "Os arquivos excluídos estarão ocultos ou menos perceptíveis em vários lugares como na Navegação Rápida, sugestões de link e Visualização em Gráfico.", "label-no-excluded-filters-applied": "Nenhum filtro de exclusão aplicado. Adicione um abaixo.", "label-excluded-filters-applied": "Os arquivos que correspondem aos seguintes filtros estão atualmente excluídos:", "label-excluded-filter": "Filtrar", "message-empty-filter": "O filtro não pode estar vazio", "placeholder-excluded-filter": "Digite um caminho ou \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Aparência", "option-base-theme": "Tema base", "option-base-theme-description": "Escolha o esquema de cores padrão do Obsidian.", "option-accent-color": "Cor de destaque", "option-accent-color-description": "Escolha a cor de destaque usada em todo o app.", "dark-theme": "Escuro", "light-theme": "Claro", "system-theme": "Adaptar ao sistema", "option-font": "Fonte", "option-advanced": "Avançado", "option-interface": "Interface", "option-interface-font": "Fonte da interface", "option-interface-font-description": "Definir fonte básica para todo o Obsidian.", "option-zoom-level": "Zoom", "option-zoom-level-description": "Controla o nível de zoom geral do app.", "option-text-font": "Fonte do texto", "option-text-font-description": "Definir fonte para os modos de edição e leitura.", "option-monospace-font": "Fonte monoespaçada", "option-monospace-font-description": "Definir fonte para lugares como blocos de código e pré-texto.", "label-single-font-currently-in-effect": " Fonte atualmente aplicada: ", "label-multiple-fonts-currently-in-effect": " As seguintes fontes estão atualmente aplicadas:", "option-font-placeholder": "Digite o nome da fonte...", "label-no-custom-font-set": "Nenhuma fonte personalizada aplicada no momento. Adicione uma abaixo.", "label-font-applied": "A primeira fonte desta lista que estiver disponível no seu sistema será aplicada.", "msg-font-not-found": "Esta fonte não foi detectada no seu sistema.", "msg-font-found": "Esta fonte foi detectada no seu sistema.", "label-font-name": "Nome da fonte", "option-community-themes": "Veja os temas da comunidade", "option-community-themes-description": "Visualize e use os incríveis temas criados pela comunidade.", "button-browse-community-themes": "Procurar", "option-font-size": "Tamanho da fonte", "option-font-size-description": "Tamanho da fonte em pixels que afeta o editor e a pré-visualização", "option-font-size-action": "Ajuste rápido do tamanho da fonte", "option-font-size-action-description": "Ajuste o tamanho da fonte utilizando o Ctrl + Scroll, ou usando o movimento de pinça no trackpad", "option-themes": "Temas", "option-manage-themes-description": "Gerencie os temas instalados e navegue por temas da comunidade", "option-theme-button-manage": "Gerenciar", "option-choice-none": "Nenhum", "option-native-menus": "Menus nativos", "option-native-menus-desc": "Menus em todo o app corresponderão ao sistema operacional. Eles não serão afetados pelo seu tema.", "button-reload-themes": "Recarregar temas", "msg-reloaded-themes": "Temas CSS personalizados recarregados.", "button-open-themes-folder": "Abrir pasta de temas", "option-css-snippets": "Fragmentos CSS", "label-no-css-snippets-found": "Nenhum fragmento CSS encontrado na pasta de fragmentos.", "no-snippet-description": "Fragmentos CSS são guardados em \"{{path}}\".", "button-reload-snippets": "Recarregar fragmentos", "button-open-snippets-folder": "Abrir pasta de fragmentos", "msg-reloaded-snippets": "Fragmentos CSS recarregados.", "option-toggle-snippet-description": "Aplica fragmento CSS em \"{{path}}\".", "label-installed-themes": "Temas instalados", "label-screenshot-unavailable": "Captura de tela indisponível", "label-default-theme": "Padrão", "tooltip-click-to-enlarge": "Clique para ampliar", "button-update": "Atualizar", "label-currently-active": "Active", "option-frame-style": "Estilo da janela", "option-frame-description": "Determina o estilo da barra de título das janelas do Obsidian. Requer uma reinicialização completa para ter efeito.", "option-frame-hidden": "Escondido (padrão)", "option-frame-obsidian": "Estilo do Obsidian", "option-frame-native": "Estilo nativo", "option-custom-icon": "Ícone customizado", "option-custom-icon-desc": "Define um ícone customizado para o app.", "button-choose-custom-icon": "Escolha o ícone customizado", "option-configure-ribbon": "Menu", "option-configure-ribbon-desc": "Configura quais itens devem aparecer na faixa de opções.", "option-mobile-quick-ribbon-item": "Acesso rápido a item do menu", "option-mobile-quick-ribbon-item-desc": "Tocar em um item do menu de navegação irá ativar o item. Tocar e segurar ainda mostrará o menu.", "option-mobile-quick-ribbon-default": "Abrir o menu lateral", "button-configure": "Configurar", "option-show-ribbon": "Mostrar o menu lateral", "option-show-ribbon-desc": "Exibir barra de ferramentas vertical na lateral da janela.", "label-additional-ribbon-items": "Outros itens do menu", "label-modal-configuration": "Configuração da faixa de opções", "label-modal-configuration-desc": "Escolha quais itens você quer ativos na faixa de opções. Arraste e solte para alterar a ordem.", "option-show-view-header": "Mostrar a barra de título da aba", "option-show-view-header-desc": "Exibe o cabeçalho no topo de cada aba.", "msg-updates-found": "Encontrado {{count}} tema para atualizar.", "msg-updates-found_plural": "Encontrados {{count}} temas para atualizar.", "button-check-for-updates": "Verificar por atualizações", "button-view-updates": "Ver atualizações", "button-update-all-themes": "Atualizar tudo", "label-current-themes": "Temas da comunidade atuais", "label-currently-installed": "Você atualmente tem {{count}} tema instalado.", "label-currently-installed_plural": "Você atualmente tem {{count}} temas instalados." }, "hotkeys": { "name": "Atalhos", "option-search": "Procurar atalhos", "option-search-desc": "Apresentando {{count}} atalho. ", "option-search-desc_plural": "Apresentando {{count}} atalhos. ", "option-search-conflict": "{{count}} comando com conflitos.", "option-search-conflict_plural": "{{count}} comandos com conflitos.", "prompt-filter": "Filtrar", "tooltip-delete-hotkey": "Excluir atalho", "label-waiting-for-hotkey-press": "Pressione atalho", "label-show-all": "Todos", "label-show-unassigned": "Não atribuídos", "label-show-assigned": "Atribuídos", "label-show-user-assigned": "Atribuídos por mim", "tooltip-restore-default": "Restaurar ao padrão", "tooltip-customize-command": "Personalizar esse comando", "tooltip-hotkey-single-conflict": "Esse atalho já foi usado com o comando \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Esse atalho já é usado com {{count}} outros comandos", "label-blank-hotkey": "Vazio" }, "about": { "name": "Sobre", "label-commercial-license": "Licença comercial", "label-license-key": "Chave de licença", "license-key-placeholder": "Sua chave de licença", "label-activate-license": "Ativar licença", "button-activate": "Ativar", "label-unknown-version": "Desconhecida", "label-current-version": "Versão atual: ", "label-install-version": "Versão do instalador: {{version}}", "label-up-to-date": "Seu programa está atualizado!", "label-read-changelog": "Leia o que mudou.", "label-manual-update-required": "Para suportar os últimos recursos e receber as últimas atualizações de segurança, Obsidian precisa de uma atualização do instalador principal. Você precisa baixá-lo manualmente e reinstalar o Obsidian.", "label-new-version-ready": "Uma nova versão está pronta para ser instalada. ", "label-disabled-updates": "Atualizações estão desativadas.", "button-relaunch": "Reiniciar", "button-check-for-updates": "Procurar por atualizações", "option-auto-update": "Atualizar automaticamente", "option-auto-update-description": "Desative esta opção para evitar que o aplicativo verifique se há atualizações.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Obter ajuda", "option-get-help-description": "Obter ajuda ao usar Obsidian.", "button-open": "Abrir", "option-language": "Idioma", "option-language-description": "Alterar o idioma de exibição.", "option-insider-build": "Receber compilações internas", "option-insider-build-description": "Atualiza automaticamente para compilações internas para experimentar novos recursos. Observe que essas compilações podem ser instáveis..", "option-advanced": "Avançado", "option-hw-acceleration": "Aceleração de Hardware", "option-hw-acceleration-description": "Ativa a Aceleração de Hardware, que usa sua GPU para deixar o Obsidian mais fluido.", "option-hw-acceleration-warning": "Se você desativar isso, a performance da aplicação vai ser severamente degradada", "option-config-location": "Sobrescrever pasta de configuração", "option-config-location-description": "Use uma pasta de configuração diferente da padrão. Deve começar com um ponto.", "option-config-location-warning": "A localização da pasta de configuração deve ser um nome de pasta válido que começa com um ponto.", "label-license": "Licença", "label-your-commercial-license-key": "Sua licença comercial é \"{{key}}\".", "label-commercial-license-info": "Registrado para \"{{company}}\" para {{seats}} usuários. Válido até {{expiry}}.", "label-validating-commercial-license": "Validando...", "label-invalid-commercial-license": "Licença inválida: ", "button-remove-commercial-license": "Remover", "option-catalyst": "Licença Catalyst", "option-catalyst-desc": "Você atualmente tem a licença Catalyst {{tier}}. Obrigado pelo seu apoio!", "option-catalyst-desc-no-license": "Você não tem uma licença Catalyst no momento. A licença Catalyst é uma doação feita apenas uma vez para apoiar o desenvolvimento do Obsidian.", "label-app": "App", "label-add-own-language": "Veja como adicionar seu idioma ao Obsidian." }, "account": { "name": "Conta", "option-your-account": "Sua conta", "option-your-account-desc": "Você está atualmente conectado como {{name}} ({{email}}).", "option-your-account-desc-no-login": "Você não está conectado no momento. Uma conta só é necessária para o Obsidian Sync, Obsidian Publish, e o Catalyst insider builds.", "label-insider": "insider", "label-supporter": "supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Upgrade", "option-commercial-license": "Licença comercial", "option-commercial-license-desc": "Ajude a manter o Obsidian 100% mantido pelos usuários.", "button-purchase": "Comprar", "button-log-out": "Sair", "label-log-in": "Conectar", "label-sign-up": "Criar conta", "label-email": "E-mail", "placeholder-email": "Seu e-mail", "label-name": "Nome completo", "label-password": "Senha", "placeholder-password": "Sua senha...", "label-forgot-password": "Esqueceu sua senha?", "button-login": "Entrar", "message-empty-email": "E-mail não pode estar vazio.", "message-invalid-email": "Este e-mail não é válido.", "message-empty-password": "Senha não pode estar vazia.", "message-login-failed": "Login falhou, Verifique se seu e-mail e senha estão corretos.", "message-signup-failed": "Falha ao criar conta", "label-no-account": "Não tem uma conta? ", "link-sign-up-now": "Crie uma conta agora", "label-mfa-code": "Código 2FA de 6 dígitos", "mfa-wrong-format": "O código de autenticação de dois fatores deve ter 6 dígitos", "mfa-verification-failed": "O código está incorreto, por favor verifique seu app de autenticação." }, "core-plugin": { "plugin-list": "Lista de plugins", "option-search-plugin": "Procure plugins principais", "option-search-plugin-description": "Filtre os plugins por nome ou descrição.", "placeholder-search-plugin": "Procurar plugins" }, "third-party-plugin": { "name": "Plugins não oficiais", "option-restricted-mode": "Modo restrito", "option-restricted-mode-description": "O Modo Restrito está desligado. Ligue-o para desativar os plugins da comunidade.", "button-turn-on": "Ligar", "option-browse-community-plugins": "Plugins da comunidade", "option-browse-community-plugins-description": "Procure e instale plugins não oficiais feitos pela nossa incrível comunidade.", "button-browse": "Procurar", "label-exit-restricted-mode": "Sair do Modo Restrito", "label-exit-restricted-mode-description-1": "Os plugins da comunidade, como qualquer outro software, podem potencialmente causar problemas de integridade dos dados e segurança.", "label-exit-restricted-mode-description-2": "A segurança do plugin é importante para nós. Eis o que fazemos:", "label-exit-restricted-mode-description-3": "Apesar de nossos esforços ainda há uma pequena chance de um plugin da comunidade se comportar mal.", "label-code-review": "Revisão inicial de código", "label-code-review-desc": "Plugins passam por uma revisão inicial de código feita pela nossa equipe antes de aparecerem na loja.", "label-open-source": "Código aberto", "label-open-source-desc": "A maioria dos plugins são de código aberto no GitHub e você pode inspecionar o código por si mesmo.", "label-peer-audit": "Auditoria de colegas", "label-peer-audit-desc": "Temos uma ampla comunidade de desenvolvedores que cuidam uns dos outros.", "label-report-mechanism": "Mecanismo de denúncia", "label-report-mechanism-desc": "Acompanhamos e removemos plugins defeituosos mediante denúncia do usuário.", "label-exit-restricted-mode-disable-confirmation": "Gostaria de sair do Modo Restrito para habilitar plugins da comunidade? Recomendamos fortemente fazer uma cópia de segurança dos seus dados antes de fazer isso.", "label-learn-more": "Aprenda mais sobre segurança de plugins", "button-turn-on-community-plugins": "Ligar os plugins da comunidade", "label-trust-author": "Você confia no autor deste cofre?", "label-trust-author-description-1": "Você está abrindo este cofre pela primeira vez e ele vem com alguns plugins.", "label-trust-author-description-2": "Se você obteve este cofre de outra pessoa, por favor, note que plugins de origem desconhecida podem trazer riscos à segurança.", "label-trust-author-description-3": "Se você não confia plenamente no autor deste cofre, recomendamos permanecer no Modo Restrito, assim os plugins neste cofre não serão executados.", "button-enable-plugins": "Confiar no autor e habilitar plugins", "button-dont-trust-author": "Navegar no cofre no Modo Restrito", "placeholder-community-plugins": "Procurar plugins da comunidade...", "msg-failed-load-plugins": "Falha ao carregar os plugins da comunidade.", "label-installed": "Instalado", "button-install": "Instalar", "button-enable": "Ativar", "button-disable": "Desativar", "button-copy-share-link": "Copiar link de compartilhamento", "button-donate": "Doar", "label-no-results-found": "Nenhum resultado encontrado.", "label-no-recent-files-found": "Nenhum arquivo recente encontrado. Digite para procurar...", "msg-failed-to-load-manifest": "Falha ao carregar a descrição do plugin.", "label-version": "Versão: {{version}}", "label-currently-installed-version": " (Instalado atualmente: {{version}})", "label-by-author": "Por ", "label-repository": "Repositório: ", "label-last-update": "Última atualização: ", "tooltip-view-last-update": "Ver a última atualização", "label-unsupported": "Esse plugin não é compatível com o seu dispositivo.", "button-update": "Atualizar", "label-no-readme": "Esse plugin não disponibilizou um arquivo README.", "msg-installing-plugin": "Instalando o plugin \"{{name}}\"...", "msg-failed-to-install-plugin": "Falha ao instalar o plugin \"{{name}}\".", "msg-successfully-installed-plugin": "O plugin \"{{name}}\" foi instalado com sucesso.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Plugins instalados", "button-reload-plugins": "Recarregar plugins", "msg-reloaded-third-party-plugins": "Recarregar plugins não oficiais.", "label-uninstall": "Desinstalar", "label-uninstall-plugin": "Desinstalar plugin", "label-uninstall-plugin-confirmation": "Você tem certeza de que deseja desinstalar esse plugin? Isso deletará a pasta do plugin.", "button-open-plugins-folder": "Abrir pasta de plugins", "button-check-for-updates": "Verificar por atualizações", "button-update-all-plugins": "Atualizar todos", "label-current-plugins": "Plugins atuais", "label-currently-installed": "Atualmente você tem {{count}} plugin instalado.", "label-currently-installed_plural": "Atualmente você tem {{count}} plugins instalados.", "msg-no-updates-found": "Nenhuma atualização de plugin encontrada.", "msg-updates-found": "Encontrada atualização para {{count}} plugin.", "msg-updates-found_plural": "Encontrada atualizações para {{count}} plugins.", "msg-update-plugin": "Atualizar para a versão {{version}}", "option-search-installed-plugin": "Procurar nos plugins instalados", "option-search-installed-plugin-description": "Filtrar plugins instalados por nome ou descrição.", "placeholder-search-installed-plugin": "Procurar plugins instalados", "show-installed-only": "Mostrar apenas instalados", "label-donate-modal-title": "Doe para apoiar {{name}}", "label-donate-modal-text1": "Desenvolvedores de plugin são voluntários da comunidade que fazem coisas incríveis por amor. Se você achou esse plugin útil, por favor, considere financiar seu desenvolvimento.", "label-donate-modal-text2": "100% da sua contribuição irá para o desenvolvedor do plugin; Obsidian não pega uma parte. A plataforma de financiamento escolhida pode cobrar uma taxa.", "label-donate-modal-text3": "Obrigado por seu apoio generoso!", "label-support-this-plugin": "Apoiar este plugin:", "label-search-summary": "Mostrando {{pluginCount}}:", "label-by-popularity": "Mais baixados", "label-by-released": "Lançado recentemente", "label-by-updated": "Atualizado recentemente", "label-alphabetical": "Alfabética", "label-last-updated": "Atualizado {{time}}" }, "mobile-toolbar": { "name": "Barra de ferramentas móvel", "option-configure-quick-action": "Configurar Ação Rápida móvel", "option-configure-quick-action-description": "Configure qual comando acionar quando puxar de cima para baixo. O comando atualmente configurado é \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "Configurar", "placeholder-select-quick-action": "Selecionar Ação rápida", "quick-action-disabled": "Nenhuma", "manage-toolbar-options": "Gerenciar opções da barra de ferramentas", "option-internal-link": "Adicionar link interno", "option-internal-embed": "Adicionar incorporação", "option-tag": "Adicionar etiqueta", "option-heading": "Alternar cabeçalho", "option-strikethrough": "Alternar riscado", "option-highlight": "Alternar destaque", "option-code": "Alternar código", "option-blockquote": "Alternar citação", "option-inline-math": "Alternar equação em linha", "option-math-block": "Alternar equação em bloco", "option-markdown-link": "Adicionar link Markdown", "option-bullet-list": "Alternar lista com marcadores", "option-numbered-list": "Alternar lista numerada", "option-indent-list": "Indentar item da lista", "option-unindent-list": "Desindentar item da lista", "option-undo": "Desfazer", "option-redo": "Refazer", "option-move-caret-up": "Mover o cursor para cima", "option-move-caret-down": "Mover o cursor para baixo", "option-move-caret-left": "Mover o cursor para a esquerda", "option-move-caret-right": "Mover o cursor para a direita", "option-first-line": "Ir para a primeira linha", "option-last-line": "Ir para a última linha", "option-toggle-keyboard": "Alternar teclado", "option-configure-toolbar": "Configurar a barra de ferramentas móvel", "option-added-options": "Opções adicionadas", "option-more-toolbar-options": "Mais opções da barra de ferramentas", "option-attach": "Inserir anexo", "option-add-command": "Adicionar comando global", "option-add-command-description": "Selecione qualquer comando global para adicionar à barra de ferramentas." } }, "editor": { "search": { "placeholder-find": "Pesquisar", "placeholder-replace": "Substituir", "label-exit-search": "Sair da pesquisa", "label-next": "Próximo", "label-previous": "Anterior", "label-find-all": "Pesquisar tudo", "label-replace": "Substituir", "label-replace-all": "Substituir tudo" }, "link-suggestion": { "label-type-hash": "Digite #", "label-link-heading": "para criar link com a seção", "label-type-block": "Digite ^", "label-link-block": "para criar link com o bloco", "label-type-pipe": "Digite |", "label-change-display-text": "para alterar o texto de exibição", "label-no-alias": "Exibir texto", "label-no-heading": "Cabeçalho", "label-no-match-found": "Nada encontrado", "label-image-size": "Tamanho da imagem: {{size}}px de largura", "label-accept": "para aceitar", "label-new-footnote": "Nova nota de rodapé..." }, "spellcheck": { "no-suggestion": "Sem sugestões", "add-to-dictionary": "Adicionar ao dicionário" }, "menu": { "edit-link": "Editar link", "edit-tag": "Editar tag", "label-edit-block": "Editar este bloco", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "Sem cabeçalho", "label-heading-level": "Cabeçalho {{level}}" }, "print-modal": { "title": "Exportar para PDF", "caption": "Exporta \"{{filename}}\" para um arquivo PDF de acordo com as configurações abaixo.", "setting-page-size": "Tamanho da página", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Ofício", "setting-page-size-letter": "Carta", "setting-page-size-tabloid": "Tabloide", "setting-include-file-name": "Incluir nome do arquivo como título", "setting-landscape": "Paisagem", "setting-margin": "Margem", "setting-margin-default": "Padrão", "setting-margin-minimal": "Mínima", "setting-margin-none": "Nenhuma", "setting-downscale-percent": "Porcentagem de redução em escala", "button-export-to-pdf": "Exportar para PDF" }, "link-popover": { "tooltip-follow-link": "Seguir link", "tooltip-open-link": "Abrir link", "tooltip-search-tag": "Localizar etiqueta" } }, "interface": { "embed-cannot-find": "Não encontrado:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Abrir com o aplicativo padrão", "empty-sidebar": "A barra lateral está vazia, tente arrastar um painel aqui.", "sidebar-expand": "Expandir", "sidebar-collapse": "Recolher", "msg-fail-to-save-file": "Falha ao salvar o arquivo \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Falha ao carregar o plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Falha ao abrir “{{filepath}}”", "msg-failed-to-open-href": "Não é possível abrir o local “{{href}}”", "no-file": "Nenhum arquivo", "msg-file-changed": "Arquivo \"{{file}}\" foi modificado externamente, mesclando mudanças automaticamente.", "switch-vault": "Abrir outro cofre", "manage-vaults": "Gerenciar cofres...", "help": "Ajuda", "settings": "Configurações", "drag-to-rearrange": "Arraste para reorganizar", "msg-switched-to-read": "Visualização padrão alterada para visualização de leitura.", "msg-switched-to-edit": "Modo de visualização padrão alterado para edição.", "msg-upgrade-installer": "Para usar este recurso, instale novamente com o instalador mais recente disponível em nosso site.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Restaurar configurações padrão", "label-copy": "Copiar para a área de transferência", "label-copy-short": "Copiar", "copied_generic": "Copiado para a área de transferência", "copied": "{{item}} copiado para a área de transferência", "copy_failed": "Não foi possível copiar para a área de transferência", "prompt-filter": "Filter...", "url": "Url", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Arquivo aberto \"{{path}}\"", "msg-file-not-found-through-uri": "Arquivo \"{{name}}\" não encontrado.", "delete-action-short-name": "Deletar", "msg-indexing": "Obsidian está indexando seu cofre...\nIsso só acontecerá uma vez.\nAlgumas funcionalidades não estarão disponíveis até isto que esteja completo.", "msg-indexing-desc": "Algumas funcionalidades podem não estar disponíveis até que isso seja concluído.", "msg-indexing-complete": "Indexação completa.", "msg-sandbox-vault": "Este é um cofre sandbox.\nAs mudanças que você fizer neste cofre serão perdidas.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Clique enter para criar", "label-update-available": "Atualização Disponível", "label-debug-info": "Informações de depuração", "button-learn-more": "Saiba mais", "button-not-now": "Agora não", "button-add": "Adicionar", "button-manage": "Gerenciar", "label-new-tab": "Nova aba", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "Esta aba está atualmente ocupada, por favor tente novamente mais tarde", "formatting": { "label-formatting": "Formatar", "label-paragraph": "Parágrafo", "label-insert": "Inserir", "insert-link": "Adicionar link", "insert-external-link": "Adicionar link externo", "insert-callout": "Destaque", "insert-horizontal-rule": "Régua horizontal", "insert-code-block": "Bloco de código", "insert-math-block": "Equação em bloco", "insert-table": "Tabela", "insert-footnote": "Nota de rodapé", "toggle-bold": "Negrito", "toggle-code": "Código", "toggle-comments": "Comentário", "toggle-highlight": "Realce", "toggle-italics": "Itálico", "toggle-strikethrough": "Tachado", "toggle-math": "Equação", "toggle-bullet-list": "Lista de marcadores", "toggle-checklist": "Lista de tarefas", "toggle-numbered-list": "Lista numerada", "set-heading": "Título {{level}}", "no-heading": "Texto", "clear": "Limpar formatação", "toggle-quote": "Citação" }, "empty-state": { "no-file-open": "Nenhum arquivo aberto", "create-new-file": "Criar novo arquivo", "go-to-file": "Abrir arquivo existente", "see-recent-files": "Ver arquivos recentes", "close": "Fechar", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Plugin desativado", "unknown-pane-desc": "O plugin que criou este painel ({{type}}) não existe mais" }, "release-notes": { "tab-title": "Notas de Lançamento {{version}}", "msg-missing-release-notes": "Sem notas de lançamento disponíveis para {{version}}.", "msg-failed-to-load": "Não foi possivel carregar as notas de lançamento para {{version}}." }, "menu": { "edit-view": "Editar (Ctrl/Cmd+Click para editar em um novo painel)", "read-view": "Visualização atual: leitura", "ribbon": "Menu lateral", "left-sidebar": "Barra lateral esquerda", "right-sidebar": "Barra lateral direita", "switch-to-edit-view": "Clique para editar", "switch-to-read-view": "Clique para visualizar", "mod-click-open-new-tab": "{{key}}+Clique para abrir em um novo painel", "find": "Encontrar...", "replace": "Substituir", "edit": "Editar", "remove": "Remover", "rename": "Renomear", "preview": "Visualizar", "more-options": "Mais opções", "close": "Fechar", "close-all": "Fechar tudo", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Fechar as outras", "close-after": "Close tabs after", "pin": "Fixar", "unpin": "Desafixar", "unlink-tab": "Desvincular aba", "link-tab": "Vincular aba...", "toggle-source-mode": "Modo de origem", "toggle-reading-view": "Visualização de leitura", "add-property": "Adicionar propriedade", "delete-file": "Apagar arquivo", "create-file": "Criar este arquivo", "open-link": "Abrir link", "open-in-new-tab": "Abrir em uma nova aba", "open-to-the-right": "Abrir para a direita", "copy-url": "Copiar url", "copy": "Copiar", "cut": "Cortar", "paste": "Colar", "paste-as-plain-text": "Colar como texto simples", "lookup-selection": "Procurar “{{selection}}”", "select-all": "Selecionar tudo", "rename-heading": "Renomear esta seção...", "rename-blockid": "Renomear a identificação deste bloco...", "open-in-new-window": "Abrir em uma nova janela", "move-to-new-window": "Mover para uma nova janela", "open-in-browser": "Abrir no navegador", "stack-tabs": "Empilhar abas", "unstack-tabs": "Desempilhar abas", "open-linked-view": "Abrir visualização vinculada" }, "tooltip": { "click-to-expand": "Clique para expandir", "click-to-collapse": "Clique para recolher", "alias": "Apelido", "not-created-yet": "Não foi criado ainda, selecione para criar" }, "start-screen": { "label-version": "Versão", "label-create-local-vault": "Criar cofre local", "option-open-folder-as-vault": "Abrir pasta como um cofre", "option-open-folder-as-vault-description": "Abra uma pasta existente com arquivos Markdown.", "option-create-vault": "Criar um novo cofre", "option-create-vault-description": "Cria um novo cofre do Obsidian dentro de uma pasta.", "option-connect-obsidian-sync": "Conectar ao Obsidian Sync", "option-connect-obsidian-sync-description": "Configurar um cofre sincronizado com um cofre remoto existente.", "option-new-vault-name": "Nome do cofre", "option-new-vault-name-description": "Escolha um nome para o seu cofre incrível.", "option-new-vault-location": "Destinação", "option-new-vault-location-description": "Escolha um lugar para armazenar o seu novo cofre.", "label-new-vault-location-preview": "Seu novo cofre será armazenado em: ", "option-reveal-vault-in-explorer": "Revelar cofre no explorador de arquivos", "option-reveal-vault-in-explorer-mac": "Revelar cofre no Finder", "option-rename-vault": "Renomear cofre", "option-copy-vault-i-d": "Copiar a ID do Cofre", "msg-error-rename-exists": "Já existe um cofre com este nome.", "msg-error-nested": "Não é possível mover um cofre para uma sub-pasta de si mesmo.", "msg-error-rename-open": "Não é possível renomear um cofre atualmente aberto.", "msg-rename-failed": "Falhou ao renomear cofre.", "msg-rename-success": "Cofre renomeado com sucesso.", "option-move-vault": "Mover cofre", "msg-move-select-dest": "Selecionar pasta de destino", "msg-error-move-exists": "Já existe um cofre neste destino.", "msg-error-move-open": "Não é possível mover um cofre atualmente aberto.", "msg-move-failed": "Falhou ao mover o cofre.", "msg-move-success": "Cofre movido com sucesso.", "option-remove": "Remover da lista", "button-quick-start": "Início rápido", "button-open": "Abrir", "button-browse": "Selecionar", "button-connect": "Conectar", "button-create-vault": "Criar", "button-back": "Voltar", "msg-empty-vault-name": "O cofre precisa ser nomeado.", "msg-trailing-dot-vault-name": "O nome do Cofre não pode terminar em ponto.", "msg-invalid-folder": "Selecione uma pasta válida.", "msg-failed-to-create-vault": "Falha ao criar cofre.", "msg-failed-to-create-vault-at-location": "Não foi possível criar um cofre no local selecionado. Verifique o local e possíveis permissões.", "msg-error-failed-to-open-vault": "Falha ao abrir.", "msg-error-remove-current-open-vault": "Não é possível remover um cofre aberto.", "option-get-help": "Obter ajuda", "option-user-email": "E-mail", "placeholder-your-email": "Seu e-mail", "option-user-password": "Senha", "placeholder-your-password": "Sua senha", "button-sign-in": "Entrar", "button-setup": "Configurar", "option-connect-vault-desc": "Criar um cofre sincronizado neste dispositivo.", "tooltip-own-vault": "Este é um cofre remoto que pertence a você.", "tooltip-shared-vault": "Este é um cofre remoto compartilhado com você.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Pular", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "Criptografia de ponta-a-ponta", "option-encryption-custom-desc": "Oferece a segurança mais forte, mas exige que você armazene com segurança sua senha de criptografia", "option-encryption-managed": "Criptografia padrão", "option-encryption-managed-desc": "Usa uma chave gerenciada pelo Obsidian para proteger seus dados em trânsito e em nossos servidores.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Esqueci a senha", "button-reset-password": "Redefinir senha", "msg-password-reset": "Enviamos um email para {{email}} para redefinir sua senha.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requer plugins ou ferramentas de terceiros.", "label-third-party-desc2": "Pode não ser criptografado por padrão.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Sincronização de terceiros", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Permitir acesso aos arquivos", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Bem-vindo", "welcome-file-content": "Este é o seu novo *Cofre*.\n\nAnote algo, [[crie um link]], ou tente [o Importer](https://help.obsidian.md/Plugins/Importer)!\n\nQuando estiver pronto, exclua esta nota e monte o cofre do seu jeito." }, "drag-and-drop": { "insert-link-here": "Inserir link aqui", "insert-links-here": "Inserir links aqui", "move-into-folder": "Mover para \"{{folder}}\"", "star-this-file": "Favoritar este arquivo", "star-these-files": "Favoritar estes arquivos", "open-in-this-tab": "Abrir nesta aba", "open-as-tab": "Abrir em uma nova aba" }, "window": { "maximize": "Maximizar", "minimize": "Minimizar", "restore-down": "Restaurar para baixo", "close-window": "Fechar janela", "go-back": "Voltar", "go-forward": "Próximo" }, "start-up": { "loading-obsidian": "Carregando Obsidian...", "obsidian-load-error": "Um erro ocorreu durante o carregamento do Obsidian.", "button-reload-app": "Recarregar o aplicativo", "button-reload-app-in-safe-mode": "Recarregar o aplicativo no modo de segurança", "button-open-another-vault": "Abrir outro cofre", "loading-plugins": "Carregando plugins...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Carregando cofre...", "msg-failed-to-load-vault": "Falha ao carregar cofre: ", "loading-cache": "Carregando cache...", "loading-workspace": "Carregando área de trabalho..." }, "mobile": { "action-import": "Importar para o cofre", "action-insert-text-desc": "Adicionar texto ao arquivo:", "action-choose-file-to-insert": "Escolha um arquivo para inserir", "action-insert-text-into-file": "Inserir texto em {{filename}}", "action-insert-link-into-file": "Inserir link em {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "Importando...", "msg-import-success": "Importado com sucesso", "msg-failed-to-import-file": "Falha ao importar o arquivo {{filename}}", "msg-back-again-to-exit": "Pressione voltar novamente para sair.", "feedback": { "label-feedback": "Avaliação", "label-feedback-desc": "Você esta gostando do Obsidian? Ajude-nos dando uma classificação.", "action-rate": "Avalie o aplicativo", "action-dismiss": "Dispensar" } }, "help-screen": { "label-official-help-site": "Site oficial de ajuda", "label-official-help-site-desc": "Leia a documentação de ajuda oficial do Obsidian, disponível em vários idiomas.", "action-visit": "Visitar", "label-discord-chat": "Chat no Discord", "label-discord-chat-desc": "O Discord é o melhor lugar para conversar com outros usuários experientes do Obsidian de todo o mundo.", "action-join": "Fazer parte", "label-forum": "Fórum Oficial", "label-forum-desc": "Ajude outros usuários, receba ajuda, poste solicitações de novas funcionalidades, relate erros e tenha discussões profundas sobre gerenciamento de conhecimento.", "label-sandbox-vault": "Cofre sandbox", "label-sandbox-vault-desc": "Brinque e experimente os vários recursos. Lembre-se que suas mudanças não serão salvas." } }, "commands": { "save-file": "Salvar o arquivo atual", "download-attachments": "Baixar anexos do arquivo atual", "follow-cursor-link": "Seguir o link", "open-cursor-link-in-new-tab": "Abrir o link no cursor em uma nova aba", "open-cursor-link-to-the-right": "Abrir o link no cursor à direita", "open-cursor-link-in-new-window": "Abrir o link no cursor em uma nova janela", "navigate-tab-above": "Focar no grupo de abas acima", "navigate-tab-below": "Focar no grupo de abas abaixo", "navigate-tab-left": "Focar no grupo de abas à esquerda", "navigate-tab-right": "Focar no grupo de abas à direita", "toggle-pin": "Alternar fixação", "split-right": "Dividir para a direita", "split-down": "Dividir para baixo", "toggle-stacked-tabs": "Alternar abas empilhadas", "navigate-back": "Voltar", "navigate-forward": "Avançar", "use-dark-mode": "Usar modo escuro", "use-light-mode": "Usar modo claro", "change-theme": "Alterar tema", "search-current-file": "Localizar no arquivo atual", "search-replace-current-file": "Localizar e substituir no arquivo atual", "add-property": "Adicionar propriedade", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Adicionar pseudônimo", "clear-properties": "Apagar propriedades do arquivo", "open-settings": "Abrir configurações", "open-help": "Abrir ajuda", "toggle-edit": "Alternar visualização de edição/leitura", "toggle-source-mode": "Alternar Visualização ao vivo/Modo de origem", "delete-current-file": "Excluir o arquivo atual", "new-tab": "Nova aba", "show-trash": "Mostrar lixo", "close-all-tabs": "Fechar todas as abas", "close-active-tab": "Fechar aba atual", "close-others-in-tab-group": "Fechar outras no grupo de abas", "close-other-tabs": "Fechar todas as outras abas", "close-tab-group": "Fechar esse grupo de abas", "toggle-left-sidebar": "Ativar barra lateral à esquerda", "toggle-ribbon": "Alternar menu", "toggle-right-sidebar": "Ativar barra lateral à direita", "toggle-default-new-tab-mode": "Alternar modo padrão para novas abas", "add-cursor-above": "Adicionar o cursor acima", "add-cursor-below": "Adicionar o cursor abaixo", "focus-editor": "Focar no editor", "toggle-fold-properties": "Alternar propriedades ocultas no arquivo atual", "toggle-fold": "Alternar expansão na linha atual", "fold-all": "Esconder todas as seções e listas", "unfold-all": "Expandir todas as seções e listas", "fold-more": "Esconder mais", "fold-less": "Esconder menos", "swap-line-up": "Mover linha para cima", "swap-line-down": "Mover linha para baixo", "remove-heading": "Remover cabeçalho", "toggle-heading": "Definir como cabeçalho {{level}}", "toggle-bold": "Alternar negrito para a seleção", "toggle-italics": "Alternar itálico para a seleção", "toggle-highlight": "Alternar destaque para a seleção", "toggle-comments": "Alternar comentários para seleção", "clear-formatting": "Limpar formatação", "insert-link": "Inserir link", "toggle-spellcheck": "Alternar verificação ortográfica", "delete-paragraph": "Deletar parágrafo", "toggle-checklist": "Alternar status da caixa de marcação", "cycle-list-checklist": "Alternar marcador/caixa de seleção", "insert-callout": "Inserir frase de destaque", "insert-code-block": "Inserir bloco de código", "insert-math-block": "Inserir bloco matemático", "insert-horizontal-rule": "Inserir régua horizontal", "insert-table": "Inserir tabela", "insert-footnote": "Inserir nota de rodapé", "edit-file-title": "Editar título do arquivo", "copy-path": "Copiar caminho do arquivo", "copy-url": "Copiar url do Obsidian", "export-pdf": "Exportar para PDF", "reload": "Recarregar o app sem salvar", "undo-close-tab": "Desfazer aba fechada", "context-menu": "Mostrar o menu de contexto no cursor", "show-debug-info": "Mostrar informações de depuração", "open-sandbox-vault": "Abrir cofre sandbox", "always-on-top": "Alternar janela sempre no topo", "zoom-in": "Aumentar zoom", "zoom-out": "Diminuir Zoom", "reset-zoom": "Redefinir zoom", "toggle-preview": "Alternar modo de visualização", "move-to-new-window": "Mover painel atual para uma nova janela", "open-in-new-window": "Abrir painel atual em uma nova janela", "rename-current-file": "Renomear o arquivo atual", "go-to-prev-tab": "Ir para a aba anterior", "go-to-next-tab": "Ir para a próxima aba", "go-to-last-tab": "Ir para a última aba", "go-to-nth-tab": "Ir para a aba n°#{{n}}", "show-release-notes": "Mostrar notas de atualização" }, "dialogue": { "label-link-affected": "Isto irá afetar {{links}} em {{files}}.", "msg-updated-links": "{{links}} atualizados em {{files}}.", "label-update-links": "Atualizar links", "label-confirm-update-link-to-file": "Você quer atualizar os links deste arquivo com os demais?", "button-always-update": "Sempre atualizar", "button-just-once": "Apenas uma vez", "button-do-not-update": "Não atualizar", "label-confirm-deletion": "Você tem certeza que deseja excluir \"{{filename}}\"?", "label-move-to-system-trash": "Ele será movido para a lixeira do seu sistema.", "label-move-to-vault-trash": "Ele será movido para a lixeira do Obsidian, que fica localizada na pasta escondida \".trash\" no seu cofre.", "label-permanent-delete": "O arquivo será permanentemente excluído.", "label-non-empty-folder": "Esta pasta não está vazia.", "label-delete-folder-warning": "Caso continue, os arquivos dentro desta pasta serão excluídos.", "label-delete-folder": "Excluir pasta", "button-delete": "Excluir", "button-delete-do-not-ask-again": "Excluir e não perguntar novamente", "label-do-not-ask-again": "Não perguntar novamente", "label-existing-backlink": "Atualmente existe {{count}} link apontando para esta nota.", "label-existing-backlink_plural": "Atualmente existem {{count}} links apontando para esta nota.", "label-delete-file": "Excluir arquivo", "label-download-attachments": "Baixar anexos", "label-no-attachments": "Não há anexos externos nesta nota.", "label-downloaded-attachments": "{{count}} anexo baixado.", "label-downloaded-attachments_plural": "{{count}} anexos baixados.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Gerenciar", "button-view": "Visualizar", "button-confirm": "Confirmar", "button-cancel": "Cancelar", "button-download": "Baixar", "button-done": "Pronto", "button-save": "Salvar", "button-stop": "Parar", "button-continue": "Continuar", "button-choose": "Escolher", "button-retry": "Tentar novamente", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Preparando o PDF...", "label-rename-file": "Renomear arquivo", "label-rename-file-generic": "Nome do arquivo", "label-new-name": "Novo nome", "msg-rename-success": "Arquivo renomeado com sucesso.", "msg-merge-failed": "Não foi possível mesclar as notas: {{message}}", "msg-file-or-folder-not-found": "O arquivo ou pasta “{{path}}” não existe.", "msg-heading-empty": "O titulo não pode estar vazio", "msg-block-id-empty": "O ID do bloco não pode estar vazio", "msg-block-id-invalid": "O ID do bloco pode conter apenas caracteres alfanuméricos ou hífen", "label-rename-heading": "Renomear cabeçalho", "label-rename-blockid": "Renomear ID do bloco" }, "menu-items": { "new-file": "Criar nota", "new-file-to-the-right": "Nova nota à direita", "new-window": "Nova janela", "open-switcher": "Abrir rapidamente...", "open-vault": "Abrir Cofre...", "close-tab": "Fechar aba", "close-window": "Fechar janela", "find": "Pesquisar", "replace": "Substituir", "insert-callout": "Frase de Destaque", "insert-markdown-link": "Link Markdown", "insert-wikilink": "Link", "set-heading": "Cabeçalho {{level}}", "no-heading": "Sem cabeçalho", "insert-quote": "Citação", "export-pdf": "Exportar para PDF", "insert-attachment": "Inserir anexo", "insert-codeblock": "Bloco de código", "insert-math-block": "Equação em bloco", "insert-table": "Tabela", "insert-footnote": "Nota de rodapé", "toggle-bullet-list": "Lista com marcadores", "toggle-numbered-list": "Lista numerada", "toggle-checklist": "Lista de tarefas", "toggle-bold": "Negrito", "toggle-code": "Código", "toggle-comment": "Comentar", "toggle-italics": "Itálico", "toggle-inline-math": "Equação", "toggle-highlight": "Destaque", "toggle-strikethrough": "Taxado", "toggle-comments": "Comentários", "folding-menu": "Menu ocultável", "fold-all": "Esconder tudo", "unfold-all": "Revelar tudo", "fold-more": "Esconder mais", "fold-less": "Esconder menos", "source-mode": "Modo de Origem", "reading-view": "Visualização de Leitura", "show-debug-info": "Mostrar Informações de Depuração", "open-sandbox": "Abri Cofre sandbox", "navigate-back": "Navegar para trás", "navigate-forward": "Navegar para frente", "toggle-left-sidebar": "Alternar para a barra lateral à esquerda", "toggle-right-sidebar": "Alternar para a barra lateral à direita", "toggle-ribbon": "Menu lateral", "split-right": "Dividir para a direita", "split-down": "Dividir para baixo", "release-notes": "Notas de Lançamento" }, "plugins": { "name": "Plugins", "file-explorer": { "name": "Explorador de arquivos", "desc": "Veja todos os arquivos do seu cofre.", "action-open": "Abrir explorador de arquivos", "action-show": "Mostrar explorador de arquivos", "action-create-note": "Criar nova nota", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Criar uma nota na aba atual", "action-create-note-to-the-right": "Criar nota à direita", "action-auto-reveal": "Revelar automaticamente o arquivo atual", "action-collapse-all": "Recolher tudo", "action-expand-all": "Expandir tudo", "action-new-note": "Nova nota", "action-new-folder": "Nova pasta", "action-change-sort": "Mudar ordenação", "action-reveal-file": "Mostrar arquivo no explorador de arquivos", "action-reveal-active-file": "Mostrar arquivo atual no explorador de arquivos", "command-make-a-copy": "Fazer uma cópia do arquivo atual", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Mover arquivo para outra pasta", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Mover arquivo para...", "action-move-folder": "Mover pasta para...", "action-move-items": "Mover {{count}} items para...", "prompt-type-folder": "Digite uma pasta", "label-no-folders": "Nenhuma pasta encontrada.", "instruction-navigate": "para navegar", "instruction-move": "para mover", "instruction-create": "para criar", "instruction-dismiss": "para dispensar", "label-sort-a-to-z": "Ordenar por nome (A - Z)", "label-sort-z-to-a": "Ordenar por nome (Z - A)", "label-sort-new-to-old": "Ordenar por última edição (recentes-antigas)", "label-sort-old-to-new": "Ordenar por última edição (antigas-recentes)", "label-sort-created-old-to-new": "Tempo de criação (antigos-recentes)", "label-sort-created-new-to-old": "Tempo de criação (recentes-antigos)", "menu-opt-new-note": "Nova nota", "menu-opt-new-folder": "Nova pasta", "menu-opt-rename": "Renomear", "menu-opt-delete": "Apagar", "menu-opt-make-copy": "Fazer uma cópia", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "O nome do arquivo não pode conter nenhum desses caracteres: ", "msg-unsafe-characters": "Links não funcionarão com nomes de arquivos contendo os seguinte carateres: ", "msg-file-already-exists": "Já existe um arquivo com este nome", "msg-empty-file-name": "O nome do arquivo não pode estar em branco.", "msg-bad-dotfile": "O nome do arquivo não deve iniciar com um ponto.", "tooltip-modified-time": "Modificado pela última vez em {{time}}", "tooltip-created-time": "Criado em {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Sem título", "label-untitled-folder": "Sem título", "msg-set-attachment-folder": "A partir de agora, anexos serão salvos em \"{{path}}\"." }, "search": { "name": "Procurar", "desc": "Procure por palavras-chave em todas as suas notas.", "action-open-search": "Procurar em todos os arquivos", "label-collapse-results": "Esconder resultados", "label-match-case": "Correspondência", "label-explain-search-term": "Explicar termos de pesquisa", "label-more-context": "Mostrar o contexto", "label-result-count": "{{count}} resultado", "label-result-count_plural": "{{count}} resultados", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Configurações de pesquisa", "prompt-start-search": "Digite para pesquisar...", "label-match-text": "Resultados encontrados: ", "label-match-regex": "Regex encontrado: ", "label-match-exact-text": "Contém o texto exato: ", "label-match-greater-than": "Maior que: ", "label-match-less-than": "Menor que: ", "label-match-true": "É verdadeiro", "label-match-false": "É falso", "label-match-empty": "Está vazio", "label-match-property": "Tenha a propriedade: ", "label-match-all": "Todos os resultados de: ", "label-match-any": "Qualquer resultado de: ", "label-excluding": "Ignorando: ", "label-case-sensitive": "Diferencia letras maiúsculas de minúsculas", "label-case-insensitive": "Não diferencia maiúsculas de minúsculas", "label-match-file-path": "Pesquisar pelo caminho do arquivo: ", "label-match-file-name": "Pesquisar pelo nome do arquivo: ", "label-match-content": "Pesquisar pelo conteúdo do arquivo: ", "label-match-task": "Corresponder tarefa: ", "label-match-task-todo": "Corresponder tarefa (a fazer): ", "label-match-task-done": "Corresponder tarefa (feito): ", "label-match-line": "Corresponder linha: ", "label-match-block": "Corresponder bloco: ", "label-match-section": "Corresponder seção: ", "label-match-tag": "Pesquisar por etiqueta: ", "label-no-matches": "Nada foi encontrado.", "matches-with-count": "... e mais {{count}} correspondência.", "matches-with-count_plural": "... e mais {{count}} correspondências.", "label-copy-search-results": "Copiar resultados da pesquisa", "button-copy-results": "Copiar resultados", "msg-successfully-copied": "Resultados copiados para a área de transferência.", "option-show-path": "Mostrar caminho", "option-show-path-description": "Mostrar caminho completo do arquivo ao invés de apenas seu nome.", "option-link-style": "Estilo de link", "option-link-style-description": "Opcionalmente, torna cada resultado de pesquisa em um link.", "option-choice-link-style-none": "Nenhum", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Link Markdown", "option-list-prefix": "Prefixo de lista", "option-list-prefix-description": "Opcionalmente, adiciona um prefixo de lista para cada resultado de pesquisa.", "option-choice-list-style-none": "Nenhum", "option-choice-list-style-dash": "Traço (-)", "option-choice-list-style-asterisk": "Asterisco (*)", "option-choice-list-style-numbered": "Numerada", "tooltip-clear-search": "Limpar pesquisa", "label-search-options": "Opções de busca", "label-properties-group": "Properties", "label-tags-group": "Tags", "tooltip-read-more": "Ler mais", "label-history": "Histórico", "tooltip-clear-history": "Apagar histórico de pesquisa", "label-path-option-description": "corresponder caminho do arquivo", "label-file-name-option-description": "corresponder nome do arquivo", "label-tag-option-description": "buscar tags", "label-line-option-description": "pesquisar palavras-chave mesma linha", "label-section-option-description": "pesquisar palavras-chave sob o mesmo título", "label-property-option-description": "corresponder propriedade", "menu-opt-search-for": "Buscar por \"{{keyword}}\"", "menu-opt-search-in-folder": "Pesquisa na pasta" }, "quick-switcher": { "name": "Navegação rápida", "desc": "Vá para qualquer arquivo sem sair do teclado. Ctrl/Cmd+O para ativar.", "short-name": "Switcher", "action-open": "Abrir a troca rápida", "instruction-navigate": "para navegar", "instruction-open": "para abrir", "instruction-open-in-new-tab": "para abrir em uma nova aba", "instruction-open-to-the-right": "para abrir à direita", "instruction-create": "para criar", "instruction-dismiss": "para dispensar", "instruction-select": "para selecionar", "label-no-note-create-new": "Nenhuma nota encontrada. Pressione Enter para criar uma nova", "prompt-type-file-name": "Digite o nome de um arquivo para alternar ou criar...", "label-enter-to-create": "Enter para criar", "tooltip-not-created-yet": "Ainda não criado, selecione para criar", "option-show-existing-only": "Mostrar apenas existentes", "option-show-existing-only-description": "Se deve mostrar links para arquivos que ainda não foram criados.", "option-show-attachments": "Mostrar anexos", "option-show-attachments-desc": "Mostra arquivos de anexo como imagens, vídeos e PDFs.", "option-show-all-file-types": "Mostrar todos os tipos de arquivos", "option-show-all-file-types-desc": "Mostrar todos os arquivos incluindo aqueles que o Obsidian não pode abrir. O arquivo será aberto com o app padrão para o tipo de arquivo." }, "graph-view": { "name": "Visualização em gráfico", "desc": "Veja um gráfico do panorama dos vínculos entre as notas.", "action-open": "Abrir visualização em gráfico", "action-open-local": "Abrir gráfico local", "action-copy-screenshot": "Copiar captura de tela", "tab-title": "Gráfico de {{displayText}}", "label-filters": "Filtros", "prompt-filter-nodes": "Procurar arquivos...", "option-depth": "Profundidade", "option-depth-description": "Mostrar nódulos a esse número de links de distância", "option-neighbor-links": "Links vizinhos", "option-neighbor-links-description": "Mostrar links entre vizinhos.", "option-forelinks": "Links de saída", "option-forelinks-description": "Mostrar links para outros arquivos", "option-backlinks": "Links de entrada", "option-backlinks-description": "Mostrar links vindos de outros arquivos", "option-show-tags": "Etiquetas", "option-show-tags-description": "Etiquetas são vinculadas aos arquivos que as contêm", "option-show-attachments": "Anexos", "option-show-attachments-description": "Mostrar anexos provenientes de arquivos", "option-show-existing-files-only": "Apenas arquivos existentes", "option-show-existing-files-only-description": "Quando marcada, links para arquivos não existentes não serão mostrados", "option-show-orphans": "Órfãos", "option-show-orphans-description": "Mostrar arquivos que não possuem links com os demais", "label-display": "Tela", "option-show-arrows": "Setas", "option-show-arrows-description": "Mostrar setas quando a tela for ampliada", "option-text-fade": "Limite para a visibilidade textual", "option-node-size": "Tamanho dos nódulos", "option-link-thickness": "Grossura dos links", "label-forces": "Forças", "option-center-force": "Força centrípeta", "option-link-force": "Força dos links", "option-link-distance": "Distância dos links", "option-repel-force": "Força de repulsão", "tooltip-open-graph-settings": "Abrir configurações de gráfico", "msg-screenshot-copied": "Captura de tela copiada para a área de transferência.", "label-groups": "Grupos", "placeholder-enter-query": "Digite a consulta...", "tooltip-delete-graph": "Deletar grupo", "button-new-group": "Criar novo grupo", "tooltip-click-to-change-drag-to-reorder": "Clique para mudar a cor\nArraste para re-ordenar os grupos", "action-timelapse": "Iniciar animação de timelapse do gráfico", "tooltip-start-timelapse-animation": "Iniciar animação de timelapse", "button-animate-timelapse": "Animar" }, "backlinks": { "name": "Backlinks", "desc": "Mostra o número de backlinks na barra de status.", "action-open": "Abrir links inversos", "action-show": "Mostrar painel de backlinks", "action-open-for-current": "Abre links inversos para o arquivo atual", "action-toggle-backlinks-in-document": "Alternar links inversos no documento", "menu-opt-backlinks-in-document": "Links inversos no documento", "label-linked-mentions": "Menções vinculadas", "label-no-backlinks": "Nenhum link inverso encontrado.", "label-unlinked-mentions": "Menções não-vinculadas", "label-show-search": "Mostrar filtro de busca", "label-link-button-text": "Link", "tab-title": "Links inversos para {{displayText}}", "label-no-unlinked-mentions": "Nenhuma menção não-vinculada encontrada.", "ellipsis": "...", "option-backlink-in-document": "Links inversos no documento", "option-backlink-in-document-desc": "Mostrar links inversos no documento por padrão ao abrir novos painéis." }, "outgoing-links": { "name": "Links de saída", "desc": "Mostra links de saída e detecta menções desvinculadas de outras notas na nota atual.", "action-open": "Abrir os links de saída", "action-show": "Mostrar painel dos links de saída", "action-open-for-current": "Abrir os links de saída para o arquivo atual", "tab-title": "Links de saída para {{displayText}}", "label-links": "Links", "label-no-links": "Nenhum link encontrado.", "label-unlinked-mentions": "Menções desvinculadas", "tooltip-link-file": "Link nesse arquivo", "tooltip-not-created": "Ainda não criado" }, "tag-pane": { "name": "Painel de etiquetas", "short-name": "Tags", "desc": "Mostra todas suas etiquetas junto com seu número de ocorrências.", "action-show": "Mostrar painel de etiquetas", "label-no-tags": "Nenhuma etiqueta encontrada.", "label-sort-by-name-a-to-z": "Nome da etiqueta (A - Z)", "label-sort-by-name-z-to-a": "Nome da etiqueta (Z - A)", "label-sort-by-frequency-high-to-low": "Frequência (alta para baixa)", "label-sort-by-frequency-low-to-high": "Frequência (baixa para alta)", "action-show-nested-tags": "Mostrar tags aninhadas", "action-collapse-all": "Recolher tudo", "action-expand-all": "Expandir tudo" }, "footnotes-pane": { "name": "Visualização de notas de rodapé", "short-name": "Notas de rodapé", "desc": "Mostrar uma lista de notas de rodapé da nota atual.", "action-show": "Mostrar notas de rodapé", "label-no-footnotes": "Nenhuma nota de rodapé encontrada." }, "properties": { "name": "Ver propriedades", "desc": "Mostrar as propriedades dos seus arquivos.", "name-global": "Todas as propriedades", "name-local": "Propriedades dos arquivos", "tab-title": "Propriedades do arquivo {{displayText}}", "action-show": "Mostrar todas as propriedades", "action-show-local": "Mostrar as propriedades do arquivo", "opt-unassign-type": "Desatribuir tipo", "label-no-properties": "Nenhuma propriedade encontrada.", "label-invalid-properties": "Propriedades inválidas.", "label-sort-by-name-a-to-z": "Nome da propriedade (A a Z)", "label-sort-by-name-z-to-a": "Nome da propriedade (Z a A)", "label-sort-by-frequency-high-to-low": "Frequência (de alta a baixa)", "label-sort-by-frequency-low-to-high": "Frequência (de baixa a alta)", "msg-merge-properties-warning": "Mesclar a propriedade “{{oldKey}}” com a “{{newKey}}”?", "msg-merge-properties-warning-desc": "Em caso de conflito, os valores serão mesclados ou o valor de “{{oldKey}}” será usado.", "action-collapse-all": "Recolher tudo", "action-expand-all": "Expandir tudo", "action-open-local": "Abrir as propriedades do arquivo", "action-open-daily-note": "Abrir nota diária" }, "page-preview": { "name": "Espiar página", "desc": "Espie o conteúdo de uma nota quando passar o cursor sobre um link interno. No modo de edição, Ctrl/Cmd + passar o cursor sobre um link.", "label-empty-attachment": "“{{linktext}}” não foi encontrado.", "label-empty-note": "\"{{linktext}}\" ainda não foi criada. Clique para criar.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Editor", "label-source-preview": "Visualizar", "label-source-search": "Localizar links inversos e links de saída", "label-source-tab-header": "Cabeçalho de abas", "label-require-mod": "Requer {{key}} para acionar a visualização de página ao passar o mouse" }, "bookmarks": { "name": "Marcadores", "desc": "Marcadores frequentemente usados em arquivos e pesquisas.", "action-show": "Mostrar marcadores", "action-collapse-all": "Recolher todos", "action-new-bookmark": "Novo marcador na aba ativa...", "action-new-group": "Novo grupo de marcadores", "action-bookmark": "Marcador...", "action-add-bookmark": "Adicionar marcador", "action-edit-bookmark": "Editar marcador", "action-bookmark-block": "Marcador sob o cursor...", "action-bookmark-heading": "Título de marcador sob o cursor...", "action-bookmark-search": "Marcar a pesquisa atual...", "action-remove-bookmark": "Remover marcador para o arquivo atual", "action-bookmark-tab-group": "Marcar {{count}} aba...", "action-bookmark-tab-group_plural": "Marcar {{count}} abas...", "action-bookmark-all-tabs": "Marcar todas as abas...", "action-bookmark-graph": "Marcar esse gráfico...", "label-bookmark": "Marcador", "label-bookmarked": "Marcado", "label-bookmark-with-count": "{{count}} marcador", "label-bookmark-with-count_plural": "{{count}} marcadores", "label-no-bookmarks": "Nenhum marcador encontrado", "label-invalid-data": "Falha ao carregar os marcadores.", "label-invalid-data-desc": "O arquivo de dados está corrompido.", "label-untitled-group": "Grupo sem título", "label-untitled-graph": "Gráfico sem título", "menu-opt-edit": "Editar...", "menu-opt-remove": "Remover", "menu-opt-rename": "Renomear", "menu-opt-bookmark-block": "Marcar esse bloco...", "menu-opt-bookmark-heading": "Marcar esse título...", "msg-no-search-query": "Nenhuma consulta de pesquisa para marcar.", "option-path": "Caminho", "option-query": "Consulta", "option-u-r-l": "URL", "option-title": "Título", "option-group": "Grupo de marcadores", "placeholder-bookmark-group": "Marcadores" }, "custom-css": { "name": "CSS personalizado", "desc": "Utiliza o \"obsidian.css\" presente no cofre.", "setting-community-themes": "Temas da comunidade", "msg-fetching-themes": "Buscando informações dos temas da comunidade...", "prompt-filter": "Filtrar...", "label-dark-theme-only": "Apenas temas escuros", "label-light-theme-only": "Apenas temas claros", "label-use": "Usar", "label-stop-use": "Parar de usar este tema", "label-install-and-use": "Instalar e usar", "label-update": "Atualizar", "label-no-readme": "Este tema não proveu um arquivo README.", "tooltip-remove-theme": "Remover tema", "label-visit-on-github": "Visitar no GitHub", "msg-load-error": "Não foi possível carregar os temas da comunidade, verifique sua conexão à internet.", "msg-now-using-theme": "Agora você está usando {{title}} como seu tema CSS.", "msg-deleted-theme": "O tema {{title}} foi excluído.", "msg-updated-theme": "O tema {{title}} foi atualizado.", "label-installed": "Instalado", "label-legacy": "Legado", "button-update-all-themes": "Atualizar tudo", "msg-failed-load-themes": "Falha ao carregar temas da comunidade.", "msg-no-updates-found": "Nenhuma atualização de temas encontrado.", "msg-updates-found": "Encontrado {{count}} tema para atualizar.", "msg-updates-found_plural": "Encontrados {{count}} temas para atualizar.", "msg-failed-to-install-theme": "Falha ao instalar o tema \"{{name}}\".", "msg-successfully-installed-theme": "Tema \"{{name}}\" instalado com sucesso.", "msg-installing-theme": "Instalando tema \"{{name}}\"...", "label-search-summary": "Mostrando {{themeCount}}:", "label-update-available": "Atualização disponível" }, "command-palette": { "name": "Paleta de comandos", "desc": "Digite um comando para o executar. Não precisa usar a interface de usuário ou lembrar o atalho.", "action-open": "Abrir paleta de comandos", "instruction-navigate": "para navegar", "instruction-use": "para usar", "instruction-dismiss": "para dispensar", "label-no-commands": "Nenhum comando encontrado.", "prompt-type-command": "Digite um comando...", "label-pinned-commands": "Comandos salvos", "option-add-new-pin": "Salvar comando", "option-add-new-pin-description": "Comandos salvos vão aparecer no topo da lista da paleta de comandos." }, "markdown-format-importer": { "name": "Importador de formato Markdown", "desc": "Converte Markdown de outros aplicativos para o formato do Obsidian.", "action-open": "Abrir importador Markdown", "option-roam-tag-fixer": "Conversor de etiquetas do Roam Research", "option-roam-tag-fixer-description": "Converte \"#tag\" e \"#[[tag]]\" para \"[[tag]]\".", "option-roam-highlight-fixer": "Conversor de destaques do Roam Research", "option-roam-highlight-fixer-description": "Converte \"^^highlight^^\" para \"==highlight==\".", "option-roam-todo-converter": "Conversor de TODO do Roam Research", "option-roam-todo-converter-description": "Converte \"{{[[TODO]]}}\" para \"[ ]\".", "option-bear-highlight-fixer": "Conversor de destaques do Bear", "option-bear-highlight-fixer-description": "Converte \"::highlight::\" para \"==highlight==\".", "zettelkasten-link-fixer": "Conversor de links Zettelkasten", "zettelkasten-link-fixer-description": "Converte \"[[UID]]\" links para \"[[UID File Name]]\" completo.", "zettelkasten-link-beautifier": "Embelezador de links Zettelkasten", "zettelkasten-link-beautifier-description": "Converte links \"[[UID]]\" e também os embeleza \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Aviso: o importador converterá todos os arquivos do seu cofre, não apenas o arquivo atual.", "msg-override-files-warning": "Seus arquivos serão sobrescritos. Faça o backup de todos os seus arquivos antes de tentar a conversão.", "label-start-conversion": "Começar conversão", "label-stop": "Parar", "label-go-back": "Voltar", "label-done": "Pronto", "label-processing": "Processando...", "label-cancelling": "Cancelando...", "label-finished": "Concluído!", "label-processed-files": "Arquivos processados", "label-modified-files": "Arquivos modificados", "label-total-replacements": "Substituições totais", "label-failed": "Failed" }, "daily-notes": { "name": "Notas Diárias", "desc": "Abrir a nota diária de hoje, ou criar uma se não houver.", "short-name": "Hoje", "action-open": "Abrir a nota de hoje", "action-open-previous": "Abrir a nota diária anterior", "action-open-next": "Abrir a próxima nota diária", "action-insert-text": "Inserir texto na nota diária", "action-insert-link": "Inserir link na nota diária", "msg-fail-format": "Falha ao criar nota diária. \"{{format}}\" não é um formato válido.", "msg-fail-folder": "Falha ao criar nota diária. Pasta \"{{folderOption}}\" não encontrada.", "msg-fail-template-file": "Falha ao criar nota diária. Arquivo modelo \"{{template}}\" não encontrado.", "msg-no-previous": "Não há nota diária anterior à esta.", "msg-no-next": "Não há nota diária posterior à esta.", "option-date-format": "Formato de data", "label-refer-to-syntax": "Para mais sintaxe, confira: ", "label-syntax-link": "formato de referência", "label-syntax-live-preview": "Aqui é como vai aparecer: ", "option-new-file-location": "Local para novos arquivos", "option-new-file-location-description": "O caminho da pasta onde serão criadas as notas diárias.", "option-template": "Local do arquivo modelo", "option-template-description": "O caminho do arquivo que será utilizado como modelo.", "option-open-on-start": "Abrir nota diária quando abrir o Obsidian.", "option-open-on-start-description": "Abrir a nota diária automaticamente sempre que abrir esse cofre." }, "unique-note-creator": { "name": "Criador de notas únicas", "desc": "Crie notas com prefixos de carimbo de data/hora únicos, para fluxos de trabalho como zettelkasten ou slip box.", "short-name": "Único", "action-create-note": "Criar nova nota única", "action-add-link": "Adicionar link interno único", "option-new-file-location": "Nova localização do arquivo", "option-new-file-location-description": "O caminho da pasta para criar a nova nota única.", "msg-folder-not-found": "Falha ao criar nota única. A pasta \"{{folderOption}}\" não foi encontrada.", "option-template-file": "Localização do arquivo de modelo", "option-template-file-description": "O caminho do arquivo para usar como modelo.", "option-template-file-placeholder": "Exemplo: pasta1/nota", "option-id-format": "Formato do prefixo único", "msg-template-file-not-found": "Falha ao criar nota única. Arquivo de modelo \"{{template}}\" não encontrado.", "msg-failed-to-generate": "Falha ao gerar uma nota única com o formato \"{{format}}" }, "random-note": { "name": "Nota aleatória", "desc": "Abre uma nota aleatória. Útil para revisar e descobrir.", "short-name": "Aleatório", "action-open": "Abrir nota aleatória" }, "outline": { "name": "Sumário", "desc": "Mostra um sumário do arquivo atual ou do painel vinculado.", "action-open": "Abrir sumário", "action-show": "Mostrar o painel do sumário", "action-open-for-current": "Abrir sumário do arquivo atual", "tab-title": "Sumário de {{displayText}}", "label-no-headings": "Nenhum sumário encontrado.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Contador de palavras", "desc": "Mostra a quantidade de palavras na barra de status." }, "slides": { "name": "Slides", "desc": "Apresente a partir de Markdown. Use \"---\" para separar seus slides.", "action-start": "Começar apresentação" }, "audio-recorder": { "name": "Gravador de áudio", "desc": "Grava áudio e salva como anexo.", "action-start": "Começar a gravação de áudio", "action-stop": "Parar a gravação de áudio", "action-toggle": "Começar/parar a gravação de áudio", "msg-access-denied": "Acesso ao microfone negado, habilite-o no painel de preferências.", "msg-pending-grant": "Por favor, forneça permissão ao microfone.", "msg-no-microphone": "Nenhum microfone está conectado." }, "open-with-default-app": { "name": "Abrir com o aplicativo padrão", "desc": "Adiciona um botão para abrir o arquivo atual com o aplicativo padrão.", "action-open-file": "Abrir com o aplicativo padrão", "action-open-file-mobile": "Compartilhar", "action-show-in-folder": "Mostrar na pasta", "action-show-in-folder-mac": "Revelar no Finder" }, "templates": { "name": "Modelos", "desc": "Insira conteúdo padronizado a partir de uma pasta de modelos.", "action-insert": "Inserir modelo", "action-insert-current-date": "Inserir a data atual", "action-insert-current-time": "Inserir a hora atual", "option-template-folder-location": "Localização da pasta de modelos", "option-template-folder-location-description": "Arquivos nesta pasta serão modelos.", "option-template-date-format": "Formato da data", "option-template-date-format-description": "{{date}} no arquivo de modelo será substituído por esse valor.", "option-template-date-format-description2": "Você também pode usar {{date:YYYY-MM-DD}} para sobrescrever o formato.", "option-template-time-format": "Formato do horário", "option-template-time-format-description": "{{time}} no modelo será substituído por esse valor.", "option-template-time-format-description2": "Você também pode usar {{time:HH:mm}} para sobrescrever o formato.", "instruction-navigate": "para navegar", "instruction-insert": "para inserir um modelo", "instruction-dismiss": "para dispensar", "msg-no-templates-found": "Nenhum modelo encontrado", "msg-fail-invalid-folder": "Falha ao listar modelos. Pasta de modelos inválida.", "msg-fail-folder-not-found": "Falha ao listar modelos. A pasta \"{{folderOption}}\" não foi encontrada.", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "Falha para listar os templates. Nenhuma pasta de templates foi configurada.", "prompt-type-template": "Digite o nome do modelo..." }, "translucency": { "name": "Janela translúcida", "desc": "Ativa o efeito translúcido para realçar a percepção de profundidade. Aprimorado para o modo escuro. Não suportado no Linux." }, "slash-command": { "name": "Comandos de barra", "desc": "Ativa a habilidade de acionar comandos de barra no editor por digitar a barra para frente." }, "editor-status": { "name": "Status do editor", "desc": "Adiciona um item na barra de status para mostrar qualquer mudança no modo de edição atual.", "read": "Leitura", "edit-source": "Modo de origem", "edit-live-preview": "Visualização ao vivo" }, "publish": { "name": "Publicar", "desc": "Publique suas notas através do Obsidian Publish.", "action-publish-changes": "Publicar mudanças", "action-publish-file": "Publicar o arquivo atual", "label-no-internet-access": "Você precisa de acesso à internet para publicar mudanças.", "label-publish-service-description": "Obsidian Publish é um serviço adicional pago que dá a possibilidade de publicar suas notas na internet, diretamente do Obsidian.", "label-please-login": "Para começar a publicar, se conecte a sua conta ou crie uma nova conta Obsidian.", "label-no-publish-subscription": "Você ainda não possui uma assinatura para o Obsidian Publish.", "button-purchase": "Comprar", "label-manage-sites": "Gerenciar sites", "label-no-sites": "Você não tem nenhum site.", "button-choose": "Escolher", "tooltip-edit-site-id": "Editar identificação do site", "tooltip-delete-site": "Deletar Site", "label-delete-site-confirmation": "Você tem certeza que quer deletar este site?", "label-delete-site-details": "Isso vai deletar seu site imediatamente e permanentemente.", "label-confirm-delete-site": "Confirmar deletar o site \"{{site}}\"", "option-site-id": "Identificação do site", "option-site-id-description": "Seu site estará disponível em https://publish.obsidian.md/{site id}. Você pode alterar isso. Apenas letras minúsculas, números, e traços são permitidos.", "option-site-id-placeholder": "Escolha uma identificação para site", "button-create": "Criar", "msg-invalid-site-id": "A identificação do site apenas permite letras minúsculas, números e traços.", "msg-site-id-in-use": "Essa identificação de site já está em uso, tente outra.", "msg-create-site-issue": "Ocorreu um erro ao criar seu site.", "label-site-options": "Opções do site", "option-site-general": "General", "option-site-components": "Componentes", "option-site-appearance": "Aparência", "option-site-reading-experience": "Experiência de leitura", "option-site-misc": "Outras configurações do site", "option-site-name": "Nome do site", "option-site-name-description": "Nome do seu site publicado. Será exibido no título da página do seu site.", "option-site-name-placeholder": "Nome do seu site", "option-home-page-file": "Arquivo raiz", "option-home-page-file-description": "A primeira página que o usuário irá ver ao visitar o seu site", "option-home-page-file-placeholder": "Escolha um arquivo publicado", "option-logo": "Logo", "option-logo-description": "Escolha uma imagem para ser usada como logo do seu site.", "option-logo-placeholder": "Qualquer imagem salvo no seu cofre...", "option-site-collaboration": "Colaboração do site", "option-site-collaboration-desc": "Gerenciar colaboradores para este site.", "option-customize-navigation": "Customizar a navegação", "option-customize-navigation-desc": "Substituir a ordem dos itens de navegação e ocultar páginas ou pastas.", "option-navigation-order": "Ordem de apresentação do item de navegação", "option-hide-items-in-navigation": "Ocultar páginas ou pastas da navegação", "option-hide-items-in-navigation-desc": "Clique com o botão direito e selecione \"Ocultar\" para prevenir páginas específicas apareçam na navegação do site. As páginas vão continuar sendo acessíveis via links ou pela URL diretamente.", "option-show-hidden-items": "Mostrar ocultos", "button-customize-sidebar": "Gerenciar", "label-navigation-modal-title": "Navegação", "label-navigation-modal-desc": "Arraste e solte para costumizar a ordem em que os itens de navegação vão aparecer no seu site Publish.", "option-hide-in-navigation": "Ocultar na navegação", "button-manage-collaborators": "Gerenciar", "option-theme": "Tema", "option-theme-description": "Escolha o esquema de cores padrão para o seu site.", "option-theme-system": "Adaptar ao sistema", "option-show-theme-toggle": "Alternar claro/escuro", "option-show-theme-toggle-description": "Permita o visitante alternar entre o tema claro e escuro por conta própria.", "option-show-navigation": "Mostrar navegação", "option-show-navigation-description": "Mostra uma lista de todas as páginas duplicadas no lado esquerdo do seu site.", "option-show-search": "Mostrar barra de pesquisa", "option-show-search-description": "Exibe uma barra de pesquisa no topo da navegação que permite aos visitantes localizarem páginas e cabeçalhos no seu site.", "option-show-graph": "Mostrar visualização em gráfico", "option-show-graph-description": "Mostra um pequeno gráfico local em cada página.", "option-show-outline": "Mostrar índice", "option-show-outline-description": "Mostra um panorama das seções em cada página.", "option-show-backlinks": "Mostrar links inversos", "option-show-backlinks-description": "Mostra uma seção de links inversos ao final de cada página.", "option-sliding-window-mode": "Usar rotação de painéis", "option-sliding-window-mode-description": "Abre páginas no painel à direita. Permite navegar pelos painéis horizontalmente.", "option-hover-preview-file": "Ativar modo espião", "option-hover-preview-file-description": "Mostra uma prévia da página ao passar o cursor sobre links.", "option-hide-title": "Esconder título da página", "option-hide-title-description": "Esconde o cabeçalho do título da página. Útil quando você tem seus próprios cabeçalhos no início de cada página.", "option-readable-line-length": "Margens de tamanho confortável", "option-readable-line-length-description": "Limita a largura máxima das margens na tela. Cabe menos conteúdo, mas deixa os parágrafos mais legíveis.", "option-site-password": "Senhas", "option-site-password-description": "Restringir o acesso ao seu site com senhas.", "option-google-analytics": "Código de rastreamento do Google Analytics", "option-google-analytics-description": "Configure o Google Analytics para o seu site. Apenas disponível para visitantes de sua URL de domínio personalizado. Por favor, consulte as leis e regulações locais primeiro.", "button-manage-passwords": "Gerenciar", "button-save-site-settings": "Salvar configurações de site", "msg-updated-options": "As configurações do seu site foram atualizadas.", "button-go-back": "Voltar", "label-publishing-to": "Publicar em", "tooltip-switch-site": "Trocar site", "button-add-linked": "Adicionar conectados", "tooltip-add-linked": "Adiciona todos os arquivos que estão conectados pelos itens selecionados", "msg-added-linked-files": "{{count}} arquivo conectado foi adicionado.", "msg-added-linked-files_plural": "{{count}} arquivos conectados foram adicionados.", "tooltip-open-site-options": "Alterar configurações do site", "label-no-changes-detected": "Nenhuma mudança detectada.", "label-changed-files-to-be-published": "Mudanças", "label-unchanged-files-already-published": "Inalterado (selecione para deletar)", "label-file-selected": " selecionado", "button-select-all-files": "Selecionar tudo", "label-custom-navigation-title": "Navigation items", "button-deselect-all-files": "Deselecionar tudo", "label-new-files-to-be-published": "Novo", "button-publish": "Publicar", "msg-no-permission-to-publish-to-site": "Você não tem permissão para publicar no site atual.", "msg-select-at-least-one-file": "Por favor selecione pelo menos um arquivo.", "label-upload-changes": "Enviar mudanças", "button-done": "Feito", "button-stop": "Parar", "label-status-uploading": "Enviando", "label-status-to-publish": "Para publicar", "label-status-to-delete": "Para deletar", "label-status-published": "Publicado", "label-status-deleted": "Deletado", "label-status-failed": "Falhou", "label-status-cancelled": "Cancelado", "button-change": "Mudar", "label-clear-cache": "Demora alguns minutos para que as mudanças fiquem visíveis no seu site. Caso você não consiga vê-las, tente limpar o cache do seu navegador.", "label-visit-site": "Você pode visitar seu site em: ", "msg-something-went-wrong": "Alguma coisa deu errado. Para detalhes, verifique o console do desenvolvedor.", "msg-network-error": "Ocorreu um erro com a internet. ", "label-manage-passwords": "Gerenciar senhas", "label-add-password": "Adicionar senha", "action-new-password": "Nova senha", "label-no-password": "Seu site atualmente não possui senhas. Qualquer um pode visitá-lo.", "label-have-password": "Seu site é protegido por senha. Se você possuir múltiplas senhas, os visitantes podem acessar seu site por informar qualquer uma delas.", "option-password-name": "Senha", "option-password-desc": "Um hash da sua senha será armazenado com segurança. Uma vez definida ela não pode mais ser exibida como texto.", "option-password-placeholder": "Sua senha", "option-nickname-name": "Apelido (opcional)", "option-nickname-desc": "Defina um apelido para lembrar do que ou para quem é essa senha.", "action-add-password": "Adicionar esta senha", "label-untitled-password": "Senha sem título", "label-password-created-time": "Criado em {{time}}", "msg-added-new-password": "Nova senha adicionada.", "option-custom-domain": "Domínio personalizado", "option-custom-domain-desc": "Usar seu próprio domínio ao invés da URL https://publish.obsidian.md/{site id}.", "option-noindex": "Desabilitar indexação por mecanismos de busca", "option-noindex-desc": "Previne que mecanismos de busca indexem o seu site.", "button-configure": "Configurar", "label-configure-custom-domain": "Configurar domínio personalizado", "option-custom-url-name": "URL personalizada", "option-custom-url-desc": "A URL em que seu site será localizado.", "option-custom-url-placeholder": "www.seudominio.com", "option-custom-url-redirect": "Redirecionar para o seu domínio personalizado", "option-custom-url-redirect-desc": "Redirecionar visitantes em publish.obsidian.md/id para o seu domínio personalizado.", "button-update-custom-domain": "Atualizar configuração do domínio", "label-custom-domain-instructions": "Por favor, consulte nosso {{link}} em nosso site de ajuda para mais informações.", "label-custom-domain-link-name": "guia de configuração de domínio personalizado", "label-site-usage": "Você está usando {{site}} de seus {{limit}}.", "button-add-more-sites": "Comprar mais sites", "label-no-sites-bought": "Você ainda não comprou nenhum site.", "button-get-site": "Obter um site", "label-manage-sharing": "Gerenciar compartilhamento para \"{{name}}\"", "label-sharing-with-users": "Este site está compartilhado com as seguintes pessoas atualmente.", "label-not-sharing": "Este site não está compartilhado com ninguém atualmente.", "label-invite-pending": "Pendente", "tooltip-remove-user": "Remover usuário", "option-invite-user": "Convidar usuário", "placeholder-invite-user": "Digite o e-mail deles...", "error-email-must-be-valid": "Por favor, informe um e-mail válido para convidar alguém.", "msg-enable-publish-plugin": "Por favor, habilite o plugin nativo Publish em Configurações -> Plugins nativos para ver os sites.", "label-your-sites": "Seus sites", "label-sites-shared-with-you": "Sites compartilhados com você", "tooltip-leave-site-sharing": "Parar de colaborar neste site", "label-leave-site-confirmation": "Confirme parar de colaborar neste site", "label-leave-site-confirmation-details": "Isso removerá esse site da lista de sites compartilhados com você. Esta ação não pode ser revertida.", "label-leave-site-confirmation-details-2": "Por favor, contate o dono do site se você desejar colaborar neste site novamente.", "button-leave": "Sair", "label-compare-with-live": "Comparar com a versão ao vivo", "button-use-live-version": "Usar a versão ao vivo", "label-confirm-override": "Confirmar sobrescrever a versão local", "label-confirm-override-1": "Tem certeza que deseja sobrescrever a versão local?", "label-confirm-override-2": "A versão ao vivo será usada e sua versão local será descartada. Por favor, faça cópias de segurança se necessário.", "button-proceed": "Continuar", "message-successfully-used-live-version": "Versão ao vivo usada para sobrescrever a versão local com sucesso.", "label-open-in-live-site": "Abrir em site ao vivo", "label-open-file": "Abrir arquivo", "tooltip-manage-publish-filters": "Gerenciar filtros de publicação", "option-included-folders": "Pastas incluídas", "option-included-folders-desc": "Arquivos nestas pastas serão automaticamente selecionados quando você revisar as mudanças para publicar.", "option-currently-included-folders": " Estas pastas estão atualmente incluídas:", "option-excluded-folders": "Pastas excluídas", "option-excluded-folders-desc": "Arquivos nestas pastas não serão exibidos quando você revisar as mudanças para publicar. Esta configuração tem prioridade sobre as pastas incluídas acima.", "label-number-of-folders-included": "Obsidian Publish está atualmente incluindo {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish está atualmente excluindo {{folders}}.", "label-manage-included-folders": "Gerenciar pastas incluídas", "label-manage-excluded-folders": "Gerenciar pastas excluídas", "label-add-included-folder": "Incluir uma pasta", "label-add-included-folder-desc": "Você pode incluir tanto pastas existentes quanto pastas que ainda não foram criadas.", "tooltip-contact-support": "Contatar suporte", "label-navigation-preview": "Pré-visualização da navegação" }, "workspaces": { "name": "Áreas de trabalho", "desc": "Salve e carregue a disposição da área de trabalho.", "action-load-layout": "Carregar leiaute da área de trabalho", "action-manage-layouts": "Gerenciar leiautes da área de trabalho", "action-save": "Save layout", "action-save-and-load-layout": "Salvar e carregar outro leiaute", "placeholder-save-current-layout-as": "Salvar o leiaute atual da área de trabalho como...", "button-save": "Salvar", "button-load": "Carregar", "tooltip-delete-layout": "Excluir leiaute", "msg-enter-name": "Por favor, digite um nome para o novo leiaute.", "msg-save-layout-success": "Leiaute salvo com sucesso.", "label-no-layout-found": "Nenhum leiaute salvo encontrado.", "label-workspace-modified-time": "Modificado {{time}}", "placeholder-type-to-search-layouts": "Digite o nome do leiaute..." }, "sync": { "name": "Sincronização", "desc": "Sincronize os seus arquivos por meio do Obsidian Sync", "action-view-version-history": "Ver histórico de versão", "action-setup-sync": "Configurar sincronização", "menu-opt-view-version-history": "Abrir o histórico de versão", "action-view-sync-sidebar": "Mostrar o histórico do Sync", "action-activity-log": "Abrir o registro de atividades", "label-load-more": "Carregar mais", "label-show-diff": "Mostrar diferenças", "label-copy-to-clipboard": "Copiar para a área de transferência", "label-restore-this-version": "Restaurar essa versão", "msg-already-latest-version": "Essa versão já é a versão mais recente.", "msg-restored-version": "Versão restaurada com sucesso de {{time}}", "label-file-deleted": "Este arquivo foi excluído", "label-file-deleted-via": "Excluído via {{ device }}", "label-file-renamed-from": "Este arquivo foi renomeado a partir do \"{{filepath}}\"", "label-file-renamed-from-to": "Renomeado de “{{from}}” para “{{to}}”", "label-file-moved-from": "Movido de “{{from}}”", "label-file-moved-from-to": "Movido de “{{from}}” para “{{to}}”", "label-revision": "1 revisão", "label-revision_plural": "{{revisions}} revisões", "label-via-device": "via {{device}}", "label-no-history": "Não há histórico de sincronização para esse arquivo.", "label-empty-file": "Vazio", "label-unable-to-retrieve": "Não é possível recuperar o histórico de versões", "label-setting-files": "Arquivos de configuração", "label-deleted-files": "Arquivos excluído", "label-version-history": "Histórico de versões", "label-click-to-see-history": "Clique em um arquivo excluído para ver o seu histórico.", "label-create-remote-vault": "Criar um cofre remoto", "msg-please-enter-password": "Por favor, insira uma senha.", "msg-vault-name-cannot-be-empty": "O nome do cofre não pode estar vazio.", "msg-successfully-created-vault": "Criação do cofre remoto \"{{name}}\" feita com sucesso.", "label-remote-vault-explanation": "Os cofres remotos sincronizam com segurança seu cofre local entre dispositivos.", "option-vault-name": "Nome do cofre", "option-vault-name-desc": "Ajuda você a lembrar para que serve este cofre", "option-vault-region": "Região", "opt-vault-region-automatic": "Automático", "option-vault-region-desc": "Selecione a região do servidor mais próxima de você para armazenar o cofre remoto. Isso não pode ser alterado no futuro.", "option-vault-name-placeholder": "Meu cofre incrível", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Senha de criptografia", "option-encryption-password-desc": "Essa senha NÃO pode ser alterada depois.", "option-encryption-password-desc-warning": "Se você esquecer essa senha, todos os seus dados remotos ficarão inutilizáveis para sempre.", "option-encryption-password-desc-2": "Isso não afeta dados locais.", "label-encryption-password-explanation": "O cofre remoto “{{name}}” está criptografado no momento. Digite sua senha para desbloquear.", "option-encryption-password-placeholder": "Sua senha", "label-unlock-encrypted-vault": "Desbloqueie seu cofre remoto", "button-unlock-vault": "Desbloquear cofre", "label-remote-vaults": "Seus cofres remotos", "label-vault-created-time": "Criado em {{time}}", "tooltip-delete-remote-vault": "Deletar", "tooltip-rename-remote-vault": "Renomear", "label-rename-remote-vault": "Renomear o cofre remoto \"{{name}}\"", "label-rename-remote-vault-desc": "Digite um novo nome para esse cofre remoto", "tooltip-manage-sharing": "Gerenciar compartilhamento", "label-confirm-delete-remote-vault": "Confirme a exclusão do cofre", "label-confirm-delete-remote-vault-question": "Você tem certeza que deseja excluir este cofre remoto?", "label-confirm-delete-remote-vault-result": "Todos os dados em nosso servidor, incluindo o histórico de versão, serão excluídos. Seus arquivos locais permanecerão intactos.", "label-confirm-delete-remote-vault-warning": "Esta ação é permanente e irreversível.", "msg-remote-vault-deleted": "{{name}} foi excluído.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: O cofre remoto conectado não existe mais.", "button-connect-to-remote-vault": "Conectar", "button-disconnect-from-remote-vault": "Desconectar", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "Você não tem cofres remotos.", "label-no-subscription": "Você não tem uma assinatura ativa do Obsidian Sync.", "label-please-visit": "Por favor visite", "label-preview-unsupported-file-type": "Não é possível pré-visualizar os arquivos {{type}}.", "button-create-new-remote-vault": "Criar novo cofre", "label-sync-log": "Log de sincronização", "option-event-type-all": "Tudo", "option-event-type-errors": "Erros", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Mesclar conflitos", "button-copy-sync-log": "Copiar log de sincronização", "msg-successfully-copied-sync-log": "Log de sincronização copiado com sucesso.", "button-retry": "Tentar novamente", "button-purchase-subscription": "Comprar", "label-third-party-sync-warning": "Conflito no serviço de sincronização de arquivos detectado", "label-third-party-sync-warning-desc": "Atenção: Seu cofre parece estar usando o {{service}} como um serviço de sincronização de terceiros. Se você usar o Obsidian Sync com este cofre, você poderá ter conflitos, arquivos corrompidos, ou perda de dados.", "label-icloud-drive-warning": "Se você está usando o iCloud Drive, suas pastas de Documentos e Área de Trabalho podem ser sincronizadas pelo iCloud. Isso pode causar conflitos com o Obsidian Sync.", "option-remote-vault": "Cofre remoto", "button-choose-remote-vault": "Escolher", "button-manage-remote-vault": "Gerenciar", "option-remote-vault-desc-connected": "Atualmente conectado ao cofre remoto \"{{name}}\".", "option-remote-vault-desc-not-connected": "Atualmente não conectado a nenhum cofre remoto.", "option-sync-status": "Status da sincronização", "option-sync-status-desc-paused": "Obsidian Sync está pausado.", "option-sync-status-desc-running": "Obsidian Sync está em execução.", "option-device-name": "Nome do dispositivo", "option-device-name-desc": "Esse nome será exibido no log de sincronização. Deixe em branco para usar o nome padrão.", "button-resume": "Retomar", "button-pause": "Pausar", "option-view-deleted-files": "Arquivos deletados", "option-view-deleted-files-desc": "Visualizar e restaurar arquivos excluídos.", "option-sync-log": "Atividade da sincronização", "option-sync-log-desc": "Ver as recentes atividades de sincronização para depuração.", "button-view": "Ver", "button-bulk-restore": "Restauração em massa", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Restaurando...", "msg-restoring-complete": "`Restauração completa: {{succeeded}} com sucesso e {{failed}} com falha.`", "option-vault-size": "Tamanho do cofre: ", "option-vault-size-desc": "Você está usando {{size}} além do limite de {{limit}}", "option-vault-size-unknown": "Não foi possível recuperar o tamanho do seu cofre.", "option-vault-size-loading": "Checando o tamanho de seu cofre...", "option-over-size": "O tamanho do cofre está acima do limite", "option-almost-over-size": "O tamanho do cofre está aproximando-se do limite", "msg-largest-files": "Ver os maiores arquivos", "msg-largest-files-desc": "Esses são os arquivos que ocupam mais espaço no cofre remoto. Depois de excluir os anexos, use o botão de limpeza para liberar espaço.", "button-upgrade-storage": "Aumentar armazenamento", "button-purge-remote": "Limpar", "button-hide-my-changes": "Ocultar minhas alterações", "tooltip-purge-remote": "Limpe permanentemente os anexos excluídos do cofre remoto para economizar espaço.", "msg-purge-complete": "Limpeza completa", "option-prevent-sleep": "Impedir a suspensão do dispositivo", "option-prevent-sleep-desc": "Impede o dispositivo de suspender quando ainda há arquivos para sincronizar.", "option-selective-sync": "Sincronização seletiva", "option-excluded-folders": "Pastas excluídas", "option-excluded-folder-desc": "Previne que certas pastas sejam sincronizadas.", "option-currently-excluded-folders": " Estas pastas estão atualmente excluídas da sincronização:", "button-manage-excluded-folders": "Administrar", "option-sync-image": "Sincronizar imagens", "option-sync-image-desc": "Sincronizar arquivos de imagem com essas extensões: {{extensions}}.", "option-sync-audio": "Sincronizar audios", "option-sync-audio-desc": "Sincronizar arquivos de áudio com essas extensões: {{extensions}}.", "option-sync-video": "Sincronizar vídeos", "option-sync-video-desc": "Sincronizar arquivos de vídeo com essas extensões: {{extensions}}.", "option-sync-pdf": "Sincronizar PDFs", "option-sync-pdf-desc": "Sincronizar arquivos de PDF.", "option-sync-unsupported": "Sincronizar todos os outros tipos", "option-sync-unsupported-desc": "Sincronizar tipos de arquivo não suportados.", "option-vault-config-sync": "Sincronização de configuração do cofre", "option-view-config-files": "Histórico de versões das configurações", "option-view-config-files-desc": "Ver e restaurar o histórico de versões dos arquivos de configuração.", "option-sync-app": "Configurações principais", "option-sync-app-desc": "Habilitar sincronização das configurações do editor, arquivos e links, teclas de atalho customizadas, etc.", "option-sync-appearance": "Configurações de aparência", "option-sync-appearance-desc": "Sincronizar configurações de aparência como modo noturno, tema ativo e fragmentos habilitados.", "option-sync-appearance-data": "Temas e Fragmentos", "option-sync-appearance-data-desc": "Sincronizar temas e fragmentos baixados. Se eles estão habilitados depende da configuração anterior.", "option-sync-hotkey": "Teclas de atalho", "option-sync-hotkey-desc": "Sincronizar teclas de atalho personalizadas.", "option-sync-core-plugin": "Lista de plugins nativos ativos", "option-sync-core-plugin-desc": "Sincronizar quais plugins nativos estão habilitados.", "option-sync-core-plugin-data": "Configurações de plugins nativos", "option-sync-core-plugin-data-desc": "Sincronizar as configurações de plugins nativos.", "option-sync-community-plugin": "Lista de plugins ativos da comunidade", "option-sync-community-plugin-desc": "Sincronizar quais plugins da comunidade estão habilitados.", "option-sync-community-plugin-data": "Plugins da comunidade instalados", "option-sync-community-plugin-data-desc": "Sincronizar plugins da comunidade instalados (arquivos .js, .css, e manifest.json) e suas configurações.", "label-sync-loading": "A sincronização ainda está carregando, atualize esta página mais tarde.", "label-sync-introduction": "Obsidian Sync é o serviço de sincronização de complemento da Obsidian com criptografia ponta a ponta e histórico de versão.", "label-account-required": "Para iniciar a sincronização, faça o login ou crie uma nova conta Obsidian.", "label-current-file": "Arquivo atual", "label-sync-changes": "Mudanças do Sync", "label-today": "Hoje", "label-yesterday": "Ontem", "label-this-week": "Essa semana", "label-older": "Mais velho", "label-last-sync": "Última sincronização", "label-more": "{{count}} ou mais", "button-sign-up": "Inscrever-se", "button-log-in": "Entrar", "label-manage-excluded-folders": "Gerenciar pastas excluídas", "label-number-of-folders-excluded": "{{folders}} estão atualmente excluídos da sincronização.", "label-add-excluded-folder": "Excluir uma pasta", "label-add-excluded-folder-desc": "Você pode excluir tanto arquivos e pastas existentes quanto os que ainda não foram criados.", "tooltip-remove-excluded-folder": "Remover da lista de excluídos", "label-setup-connection": "Configurar conexão", "label-connecting-to-vault": "Conectando...", "label-connection-failed": "Falha na conexão", "label-connection-failed-desc": "Falha ao conectar ao cofre remoto.", "label-now-connected-to-vault": "Agora você está conectado em \"{{name}}\".", "button-start-syncing": "Começar a sincronizar", "label-confirm-merge-vault": "Confirme a Mesclagem do Cofre", "msg-vault-has-notes": "Seu cofre local já contem algumas notas.", "msg-vault-merge-warning": "Se você conectar ao cofre remoto \"{{name}}\", as notas no seu cofre local serão mescladas com as notas de seu cofre remoto. Em caso de conflitos, a versão mais recente da nota será preservada.", "tooltip-update-setting-on-all-devices": "Por favor, atualize esta opção e reinicie o app em todos os dispositivos que você deseja que tenha efeito.", "label-sharing-with-users": "Este cofre remoto está atualmente compartilhado com as seguintes pessoas.", "label-not-sharing": "Este cofre remoto não está atualmente compartilhado com ninguém.", "label-vaults-shared-with-you": "Cofres compartilhados com você", "tooltip-leave-vault-sharing": "Parar de colaborar neste cofre", "label-leave-vault-confirmation": "Confirme parar a colaboração do cofre", "label-leave-vault-confirmation-details": "Isso removerá este cofre da lista de cofres compartilhados com você. Esta ação não pode ser revertida.", "label-leave-vault-confirmation-details-2": "Por favor, contate o dono deste cofre se você deseja colaborar neste cofre novamente.", "button-leave": "Sair", "msg-error-failed-to-fetch": "Falha ao carregar cofres remotos.", "label-require-subscription-to-connect": "Você precisa de uma inscrição Obsidian Sync para conectar a este cofre.", "option-contact-support": "Contatar suporte", "option-contact-support-desc": "Se você tiver algum problema com o Obsidian Sync, por favor, nos contate para que possamos te ajudar! Você pode nos contatar em support@obsidian.md.", "button-copy-debug": "Copiar informações de depuração", "button-email-support": "Suporte por e-mail", "label-sync-disconnected": "O Sync não está conectado a um cofre remoto.", "msg-remote-vault-limit-hit": "Obsidian Sync permite você criar até 5 cofres remotos. Para criar um novo cofre remoto, por favor remova um existente.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrar cofre remoto", "label-remote-vault-configuration": "Configuração do cofre remoto", "button-migrate": "Migrar", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "Recuperação de arquivos", "desc": "Permite você restaurar versões recentes para recuperar perda acidental de dados. Versões são unicamente salvas para arquivos Markdown.", "action-open": "Abrir snapshots salvos", "option-interval": "Intervalo entre snapshots", "option-interval-description": "Intervalo mínimo entre dois snapshots.", "option-keep": "Tamanho do histórico", "option-keep-description": "Por quantos dias snapshots devem ser salvos.", "option-open-history": "Versões", "option-open-history-description": "Abrir e restaurar snapshots.", "button-view-history": "Visualizar", "option-clear": "Remover história", "option-clear-description": "Deletar todas os snapshots.", "button-clear-history": "Deletar", "label-clear-warning": "Você tem certeza que quer deletar todos os snapshots? Só snapshots serão removidas. Os seus arquivos não serão afetados.", "msg-clear-complete": "Snapshots deletados.", "label-no-history-found": "Nenhum snapshots salvo.", "placeholder-choose-file": "Escolha um arquivo...", "label-select-file": "Selecione um arquivo para ver seus snapshots." }, "note-composer": { "name": "Compositor de notas", "desc": "Fundir, separar e refatorar notas.", "option-confirm-file-merge": "Confirmar fusão de arquivos", "option-confirm-file-merge-description": "Avisar antes de mesclar dois arquivos.", "option-split-replacement-text": "Texto após a extração", "option-split-replacement-text-description": "O que mostrar no lugar do texto selecionado após o extrair.", "option-choice-split-replacement-text-link": "Link para novo arquivo", "option-choice-split-replacement-text-embed": "Embutir novo arquivo", "option-choice-split-replacement-text-none": "Nenhum", "option-template-file": "Localização do arquivo de modelo", "option-template-file-description": "Arquivo de modelo para usar quando mesclar ou excluir. Variáveis disponíveis: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, e.g. {{date:YYYY-MM-DD}}.", "command-merge-file": "Mesclar arquivo atual com outro arquivo...", "action-merge-file": "Mesclar o arquivo todo com...", "label-no-files": "Nenhum arquivo encontrado.", "instruction-navigate": "Para navegar", "instruction-merge": "para mesclar", "instruction-create-new": "Para criar novo", "instruction-merge-at-top": "para mesclar no topo", "instruction-dismiss": "para dispensar", "prompt-select-file-to-merge": "Selecione o arquivo para mesclar...", "label-merge-file": "Mesclar arquivo", "label-confirm-file-merge": "Tem certeza que deseja mesclar \"{{file}}\" em \"{{destination}}\"? \"{{file}}\" será excluído.", "button-merge": "Mesclar", "command-split-file": "Extrair seleção atual...", "command-extract-heading": "Extrair este cabeçalho...", "instruction-append": "para mover para baixo", "instruction-prepend": "para mover para cima", "msg-fail-to-fetch-template": "Falha ao buscar o arquivo de modelo: \"{{template}}\" não encontrado.", "msg-fail-to-find-heading": "Falha ao encontrar cabeçalho" }, "web-viewer": { "name": "Visualizador web", "history-name": "Histórico da web", "desc": "Abrir links externos para páginas da web dentro do Obsidian.", "action-open": "Abrir visualizador web", "action-show-history": "Mostrar histórico", "action-toggle-reader-mode": "Alternar modo leitor", "action-copy-u-r-l": "Copiar URL", "action-remove-from-history": "Remover do histórico", "action-clear-history": "Limpar histórico", "action-open-link": "Abrir link", "action-open-link-new-tab": "Abrir link em nova aba", "action-open-link-new-split": "Abrir link à direita", "action-open-link-new-window": "Abrir link em nova janela", "action-open-link-default-browser": "Abrir link no navegador padrão", "action-open-link-web-viewer": "Abrir link no visualizador web", "action-copy-link-address": "Copiar endereço do link", "action-bookmark-link": "Adicionar link aos favoritos", "action-search-for-query": "Procurar por “{{consulta}}”", "action-extract-selection": "Extrair seleção para nova nota", "action-copy-selection": "Copiar", "action-cut": "Recortar", "action-paste": "Colar", "action-delete": "Excluir", "action-select-all": "Selecionar tudo", "action-save-to-vault": "Salvar no cofre", "action-save-image": "Salvar imagem no cofre", "action-copy-image": "Copiar imagem", "action-copy-image-link": "Copiar link da imagem", "action-backward": "Voltar", "action-forward": "Avançar", "action-reload": "Recarregar", "action-bookmark-page": "Favoritar página", "action-open-default-browser": "Abrir no navegador padrão", "action-focus-address-bar": "Focar na barra de endereço", "action-search-the-web": "Procurar na web", "action-clear-data": "Limpar dados", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "Pode desconectá-lo de sites.", "action-clear-data-cache": "Dados em cache", "action-clear-data-history": "Histórico", "action-clear-data-all": "Todos os dados do visualizador web", "action-clear-data-all-desc": "Remove tudo acima, incluindo armazenamento local e sessões ativas.", "label-new-web-viewer": "Novo visualizador web", "label-fail-to-load": "Não foi possível carregar esse site.", "label-fail-to-load-desc": "Por favor, certifique-se de que o endereço está correto.", "label-search-the-web": "Procurar na web", "label-web-viewer-data": "Dados do visualizador web", "label-clear-data": "Limpar dados do visualizador web", "option-open-external-links": "Abrir links externos", "option-open-external-links-desc": "Abrir links no Obsidian em vez do sistema padrão.", "option-homepage": "Página inicial", "option-homepage-desc": "Qual página exibir ao abrir um visualizador web", "option-saved-markdown": "Pasta de páginas salvas", "option-saved-markdown-desc": "Sites salvos como markdown serão colocados aqui.", "option-search-engine": "Motor de busca", "option-search-engine-desc": "Motor de busca usado ao buscar na barra de endereço.", "option-search-engine-custom": "Motor de busca personalizado", "option-search-engine-custom-desc": "Use %s no lugar da consulta.", "option-search-engine-custom-drop-down": "Personalizado", "option-enable-adblock": "Habilitar bloqueador de anúncios", "option-enable-adblock-desc": "Se habilitado, as listas de filtros abaixo serão aplicadas a todas as abas do visualizador web.", "option-adblock-lists": "Regras de bloqueio de anúncios", "option-adblock-lists-desc": "Uma URL de lista de bloqueio de anúncios por linha. Compartilhada por todos os cofres.", "option-adblock-frequency": "Frequência de atualização do bloqueador de anúncios", "option-adblock-frequency-desc": "Dias entre atualizações das listas de filtros. 0 indica desabilitado. Compartilhado por todos os cofres.", "title-clear-data-modal": "Limpar dados do visualizador web", "msg-error-extracting-content": "Erro inesperado ao extrair conteúdo.", "msg-error-finding-content": "Não foi possível encontrar conteúdo para extrair." }, "canvas": { "name": "Canvas", "desc": "Organize e conecte notas em uma tela infinita.", "action-add-note": "Adicionar nota do cofre", "action-add-media": "Adicionar mídia do cofre", "action-add-card": "Adicionar cartão", "action-add-website": "Adicionar página web", "action-create-group": "Criar grupo", "action-create-with-size": "Criar cartão com um tamanho específico", "action-convert-to-file": "Converter para arquivo...", "action-drag-to-add-note": "Arraste para adicionar nota do cofre", "action-drag-to-add-media": "Arraste para adicionar mídia do cofre", "action-drag-to-add-card": "Arraste para adicionar cartão", "action-edit-label": "Editar rótulo", "action-remove-label": "Remover rótulo", "action-search-file": "Localizar por arquivo", "action-set-color": "Definir cor", "action-align": "Alinhar", "action-align-left": "Alinhar à esquerda", "action-align-center": "Alinhar ao centro", "action-align-right": "Alinhar à direita", "action-align-top": "Alinhar ao topo", "action-align-middle": "Alinhar ao meio", "action-align-bottom": "Alinhar abaixo", "action-distribute-horizontal-spacing": "Distribuir espaçamento horizontal", "action-distribute-vertical-spacing": "Distribuir espaçamento vertical", "action-justify-horizontally": "Justificar horizontalmente", "action-justify-vertically": "Justificar verticalmente", "action-arrange-horizontally": "Organizar em uma linha", "action-arrange-vertically": "Organizar em uma coluna", "action-arrange-grid": "Organizar em uma grade", "action-export-png": "Exportar como imagem", "action-jump-to-group": "Pular para o grupo", "action-set-background": "Definir plano de fundo", "action-edit-background": "Editar plano de fundo", "action-replace-background": "Substituir plano de fundo", "action-remove-background": "Remover plano de fundo", "label-no-images": "Nenhuma imagem encontrada.", "label-no-media": "No media found.", "label-export-png-desc": "Exportar \"{{title}}\" com um arquivo PNG com as configurações abaixo.", "label-export-png-dimensions": "Dimensões estimadas da imagem: {{dimensions}}", "label-distribute": "Distribuir", "label-justify": "Justificar", "label-arrange": "Organizar", "label-always": "Sempre", "label-hover": "Ao passar o mouse", "label-never": "Nunca", "label-no-section-found": "Nenhuma seção encontrada", "option-wheel-behavior": "Comportamento padrão para o scroll do mouse", "option-mod-drag-behavior": "Comportamento padrão {{key}}", "option-show-menu": "Apresentar o menu", "option-new-canvas-location": "Localização padrão par novos arquivos de canvas", "option-new-canvas-location-description": "Onde novos arquivos de canvas criados são colocados.", "option-new-canvas-folder-path": "Pasta para novos arquivos de canvas", "option-new-canvas-folder-path-description": "Arquivos de canvas recém-criados vão aparecer nesta pasta.", "option-node-label": "Etiqueta do cartão de exibição", "option-snap-to-grid": "Encaixar na grade", "option-snap-to-grid-desc": "Encaixar o cartão na grade de fundo ao mover e redimensionar.", "option-snap-to-objects": "Encaixar para objetos", "option-snap-to-objects-desc": "Encaixe os cartões em objetos próximos ao mover e redimensionar.", "option-zoom-breakpoint": "Limite de zoom para ocultar o conteúdo do cartão", "option-zoom-breakpoint-desc": "Valores mais baixos aumentam o desempenho, mas ocultam o conteúdo do cartão mais cedo ao diminuir o zoom.", "option-export-png-show-logo": "Exibir logo", "option-export-png-show-logo-desc": "Isso irá adicionar um logo do Obsidian abaixo à esquerda.", "option-export-png-privacy-mode": "Modo privado", "option-export-png-privacy-mode-desc": "Isso vai obscurecer qualquer texto no seu canvas", "option-export-png-zoom": "Ampliar", "option-export-png-zoom-desc": "Uma ampliação maior irá gerar um imagem com maior resolução.", "option-export-png-frame": "Janela de exibição", "option-export-png-frame-desc": "Escolha entre renderizar a tela cheia ou apenas a janela de exibição atual.", "option-export-png-frame-full": "Tela cheia", "option-export-png-frame-viewport": "Apenas a janela de exibição", "option-background-cover": "Cover", "option-background-ratio": "Manter proporção", "option-background-repeat": "Repetir", "action-new-canvas": "Novo canvas", "action-remove": "Remover", "action-narrow-heading": "Restringir para o título...", "action-narrow-block": "Restringir para o bloco...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Trocar arquivo...", "action-change-url": "Alterar URL...", "action-zoom-to-fit": "Ampliar para caber", "action-zoom-to-selection": "Ampliar na seleção", "action-reload-page": "Recarregar a página", "action-follow-connection": "Seguir conexão", "command-create-new-canvas": "Criar novo canvas", "command-convert-to-file": "Converter para arquivo...", "instruction-narrow-heading": "para título embutido", "instruction-narrow-block": "para bloco embutido", "instruction-jump-to-group": "navegar para grupo", "prompt-to-narrow": "Digite o nome do cabeçalho", "label-enter-url": "Digite a URL", "label-empty-embed": "\"{{linktext}}\" não pôde ser achado.", "prompt-add-text": "Adicionar texto...", "prompt-start-search": "Digite para localizar...", "label-canvas-help": "Ajuda do Canvas", "label-canvas-settings": "Configurações do canvas", "label-no-narrow": "Mostrar arquivo inteiro", "label-show-default-view": "Show default view", "label-readonly": "Somente leitura", "label-disable-readonly": "Desabilitar somente leitura", "label-pan": "Deslocamento", "label-pan-horizontal": "Deslocar horizontalmente", "label-zoom": "Ampliar", "label-select-all": "Selecionar tudo", "label-add-remove-selection": "Adicionar a / remover da seleção", "label-clone-card": "Clonar cartão", "label-constrain-movement-axis": "Restringir o movimento do cartão ao eixo", "label-disable-drag-snapping": "Desativar encaixe ao arrastar", "label-remove-card": "Remover cartão", "label-drag-from-below": "Arraste de baixo ou clique duas vezes", "label-longpress": "Toque e segure para adicionar / mover / selecionar", "label-drag-pan": "Arraste para panoramizar", "label-pinch-zoom": "Pince para aumentar", "label-space-drag-pan": "Espaço + Arraste para deslocar", "label-scroll-to-zoom": "Role para ampliar", "label-untitled-group": "Grupo sem título", "label-line-direction": "Linha direction", "label-nondirectional": "Não directional", "label-unidirectional": "Unidirecional", "label-bidirectional": "Bidirecional", "label-image": "Imagem", "label-style": "Stilo", "msg-no-groups-found": "Nenhum grupo encontrado", "msg-export-failed-empty-canvas": "Não pode exportar um canvas vazio", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Crie bases consultando propriedades de notas.", "action-new-base": "Nova base", "action-add-property": "Adicionar propriedade", "action-add-formula": "Add formula", "action-hide-all": "Ocultar tudo", "action-toggle-visibility": "Alternar visibilidade", "action-delete-property": "Excluir propriedade", "action-duplicate-view": "Duplicar visualização", "action-delete-view": "Excluir visualização", "action-export-c-s-v": "Export CSV...", "command-create-new": "Criar nova base", "command-insert-new": "Inserir nova base", "command-copy-table": "Copiar tabela para a área de transferência", "command-change-view": "Alterar visualização", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Propriedades computadas", "label-property-type": "Tipo da propriedade", "label-hide-property": "Ocultar propriedade", "label-show-property": "Mostrar propriedade", "label-edit-property": "Editar propriedade", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configurar visualização", "label-view-layout": "Leiaute", "label-global-filters": "Filtros globais", "label-view-filters": "Visualizar filtros", "label-view-name": "Visualizar nome", "label-default-view": "Visualizaçao padrão", "label-view-type-table": "Tabela", "label-display-name": "Display name", "label-formula": "Fórmula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Qualquer um é verdadeiro", "label-all-the-following": "Todos são verdadeiros", "label-none-of-the-following": "Nenhum é verdadeiro", "label-where": "onde", "label-or": "ou", "label-and": "e", "label-property-key": "Propriedade", "label-untitled-property": "Sem título", "label-file-prop-file": "arquivo", "label-file-prop-name": "nome", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "caminho", "label-file-prop-folder": "pasta", "label-file-prop-ext": "extensão", "label-file-prop-ctime": "horário de criação", "label-file-prop-mtime": "horário de modificação", "label-file-prop-size": "tamanho do arquivo", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "Este filtro não pode ser representado pelo construtor de filtros simples.", "msg-filter-cannot-parse": "O filtro não pode ser analisado. O construtor de filtros básico não pode ser usado.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Não é possível adicionar a nova visualização de Bases \"{{ viewID }}\". Uma visualização com este ID ja existe.", "msg-error-unable-to-parse": "Não é possível analisar seu arquivo base:", "msg-error-view-not-found": "Visualização \"{{ view }}\" não encontrada", "msg-error-unknown-view-type": "Base configurada com um tipo de visualização desconhecido: {{ viewtype }}", "msg-error-view-type": "Visualizações devem ser uma lista", "msg-error-display-values": "Valores exibidos devem ser textos. O valor da propriedade {{ key }} não é.", "msg-error-must-be-a-type": "\"{{ key }}\" deve ser do tipo {{ type }}", "msg-error-filter-type": "\"filters\" deve ser um texto ou um objeto", "msg-error-filter-must-be-array": "filtro \"{{ conjunction }}\" precisa ser uma lista", "msg-error-filter-allowed-keys": "\"filters\" podem ter apenas uma chave \"and\", \"or\", ou \"not\".", "msg-error-filter-failed-to-evaluate": "Falha ao avaliar um filtro: {{ message }}", "msg-error-formula-values": "Os valores da fórmula precisam ser um texto. O valor da propriedade {{ key }} não é.", "msg-error-computed-failed-to-compute": "Falha ao calcular o valor da propriedade \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Formato da consulta inválido. Ela precisa ser um objeto YAML.", "msg-error-view-invalid-format": "items de \"view\" deve ser um objeto YAML, porém {{ index }} não é", "msg-error-view-name-invalid": "\"name\" faltando ou inválido na visualização {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" é obrigatório na visualização \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" deve ser um {{ type }} na visualização \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "os valores de \"{{ key }}\" devem ser do tipo {{ type }} na visualização \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Não é possível ler os filtros da visualização \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Loop infinito detectado na fórmula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Filtro avançado", "tooltip-filter-simple-mode": "Filtro simples", "tooltip-remove-filter": "Excluir filtro", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Ocultar coluna", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Destacar tudo", "action-match-diacritics": "Corresponder diacríticos", "action-whole-words": "Palavras inteiras", "action-show-thumbnails": "Miniaturas", "action-show-outline": "Índice", "action-reveal-in-outline": "Revelar página no índice", "action-toggle-sidebar": "Exibir/ocultar painel lateral", "action-previous-page": "Página anterior", "action-next-page": "Próxima página", "action-fit-width": "Ajustar à largura", "action-fit-height": "Ajustar à altura", "action-save-p-d-f-location": "Salvar a posição atual no documento", "action-copy-annotation": "Copiar anotação", "action-copy-quote": "Copiar como citação", "action-copy-selection-link": "Copiar link para seleção", "action-copy-annot-link": "Copiar link para anotação", "action-copy-section-link": "Copiar link para seção", "action-copy-section-link-title": "Copiar link para “{{title}}”", "action-copy-page-link": "Copiar link para página {{page}}", "msg-max-search-results": "{{current}} de mais de {{limit}} combinações", "msg-search-count": "{{current}} of {{total}} combinação", "msg-search-count_plural": "{{current}} de {{total}} combinações", "msg-password-protected": "Este PDF é protegido por senha", "msg-invalid-password": "Senha inválida", "msg-enter-password": "Digite a senha abaixo", "label-of-pages": "de {{count}}", "label-page-of-pages": "({{current}} de {{count}})", "label-spread-single": "Página única", "label-spread-odd": "Página dupla (impar)", "label-spread-even": "Página dupla (par)", "tooltip-sidebar-options": "Opções da barra lateral", "tooltip-display-options": "Opções de exibição", "label-adapt-to-theme": "Adapte ao tema", "label-page": "página {{page}}", "page_landmark": "Página {{page}}", "thumb_page_title": "Página {{page}}", "thumb_page_canvas": "Página {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Lista", "option-unknown": "Desconhecido", "option-text": "Texto", "option-aliases": "Aliases", "option-tags": "Tags", "option-folder": "Pasta", "option-file": "Arquivo", "option-date": "Data", "option-datetime": "Data & hora", "option-number": "Número", "option-checkbox": "Caixa de seleção" }, "value-suggestion": { "key-link-note": "Type [[", "instruction-link-note": "to link note", "instruction-dismiss": "to dismiss" }, "option-property-type": "Tipo de propriedade", "msg-empty-property-name": "O nome da propriedade não pode estar vazio.", "msg-duplicate-property-name": "A propriedade já existe", "msg-invalid-tag": "Nome de tag inválido", "msg-invalid-number": "Número inválido", "msg-invalid-properties": "Falha ao ler as propriedades.", "label-no-value": "Sem valor", "label-heading": "Propriedades", "label-invalid-heading": "Propriedades inválidas", "label-show-source": "Mostrar fonte", "label-invalid-yaml-marker": "Erro de sintaxe. Seu pré-texto é inválido.", "label-add-property-button": "Adicionar propriedade", "label-type-mismatch-warning": "Tipo incompatível, esperado {{type}}", "label-type-mismatch-warning-generic": "Incompatibilidade de tipo", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Coluna", "label-row": "Linha", "action-row-after": "Inserir linha abaixo", "action-column-after": "Inserir coluna à direita", "action-row-before": "Inserir linha acima", "action-row-up": "Mover linha para cima", "action-row-down": "Mover linha para baixo", "action-column-before": "Inserir coluna à esquerda", "action-column-left": "Mover coluna para a esquerda", "action-column-right": "Mover coluna para a direita", "action-duplicate-row": "Duplicar linha", "action-duplicate-column": "Duplicar coluna", "action-delete-row": "Excluir linha", "action-delete-column": "Excluir coluna", "action-align-left": "Alinhar à esquerda", "action-align-center": "Centralizar", "action-align-right": "Alinhar à direita", "action-delete-selection": "Excluir células", "action-clear-selection": "Limpar células", "action-sort-a-z": "Classificar por coluna (A a Z)", "action-sort-z-a": "Classificar por coluna (Z a A)", "label-command": "Tabela: {{command}}" }, "callout": { "option-type": "Tipo de destaque", "type": { "info": "Info", "important": "Importante", "tip": "Dica", "success": "Successo", "question": "Questão", "warning": "Aviso", "quote": "Citação", "example": "Exemplo", "none": "None" }, "option-other": "Outro...", "option-other-placeholder": "Tipo de destaque..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} palavra", "word-with-count_plural": "{{count}} palavras", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} caractere", "character-with-count_plural": "{{count}} caracteres", "link-with-count": "{{count}} link", "link-with-count_plural": "{{count}} links", "file-with-count": "{{count}} arquivo", "file-with-count_plural": "{{count}} arquivos", "folder-with-count": "{{count}} pasta", "folder-with-count_plural": "{{count}} pastas", "backlink-with-count": "{{count}} link inverso", "backlink-with-count_plural": "{{count}} links inversos", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} propriedade", "properties-with-count_plural": "{{count}} propriedades", "site-with-count": "{{count}} site", "site-with-count_plural": "{{count}} sites", "plugin-with-count": "{{count}} plugin", "plugin-with-count_plural": "{{count}} plugins", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} tema", "theme-with-count_plural": "{{count}} temas" } }{ "setting": { "options": "Opções", "plugin": "Plugin", "builtin-plugins": "Plugins Base", "plugin-options": "Opções de Plugin", "folder-path-example-placeholder": "Exemplos: pasta 1/pasta 2", "file-path-example-placeholder": "Exemplos: pasta/nota", "msg-restart-required": "Modificar esta opção requer reiniciar a aplicação para ter efeito.", "editor": { "name": "Editor", "section-behavior": "Comportamento", "section-display": "Gráficos", "option-spellcheck": "Verificação ortográfica", "option-spellcheck-description": "Ativa a verificação ortográfica. Atualmente só funciona para o Inglês (US).", "spellcheck-languages": "Linguagens para a verificação ortográfica", "spellcheck-languages-description": "Escolhe as linguagens que a verificação ortográfica irá usar.", "spellcheck-languages-mac-description": "The native spellchecker will automatically detect the language being used for you on macOS.", "spellcheck-dict": "Dicionário de verificação ortográfica", "spellcheck-dict-empty": "O dicionário de verificação ortográfica está vazio.", "option-show-inline-title": "Mostrar título na mesma linha", "option-show-inline-title-description": "Mostrar o nome do ficheiro como um título editável na mesma linha do conteúdo dos ficheiros.", "option-readable-line-length": "Linhas de tamanho legível", "option-readable-line-description": "Limitar o tamanho máximo da linha. Cabe menos conteúdo no ecrã, mas faz os parágrafos mais fáceis de ler.", "option-strict-line-break": "Quebra de linha estrita", "option-strict-line-break-description": "No modo de visualização, ignore quebras de linha simples de acordo com as especificações Markdown. Desative para mostrar quebras de linha simples na visualização.", "option-properties-in-document": "Properties in document", "option-properties-in-document-description": "Choose how properties are displayed within the editor. Select \"source\" to have the properties displayed as YAML.", "option-properties-hidden": "Hidden", "option-properties-visible": "Visible", "option-properties-source": "Source", "option-auto-pair-brackets": "Fecha parênteses automaticamente", "option-auto-pair-brackets-description": "Fecha parênteses e aspas automaticamente.", "option-auto-pair-markdown": "Combinar símbolos Markdown automaticamente", "option-auto-pair-markdown-description": "Fecha símbolos para negrito, itálico, destaque, texto rasurado e código automaticamente.", "option-smart-indent-lists": "Listas com indentação inteligente", "option-smart-indent-lists-description": "Trata da indentação e marcadores de lista por si.", "option-fold-heading": "Fechar títulos", "option-fold-heading-description": "Permite esconder tudo sob um título.", "option-fold-indent": "Fechar indentação", "option-fold-indent-description": "Permite esconder uma parte da mesma indentação, como listas.", "option-default-new-tab-view": "Vista predefinida para novas tabulações", "option-default-new-tab-view-description": "The default view that a new Markdown tab gets opened in.", "option-default-new-tab-view-editing": "Vista de edição", "option-default-new-tab-view-reading": "Vista de leitura", "option-open-tab-in-foreground": "Always focus new tabs", "option-open-tab-in-foreground-description": "When you open a link in a new tab, switch to it immediately.", "option-default-editing-mode": "Vista de edição predefinida", "option-default-editing-mode-description": "A vista de edição predefinida que um painel novo irá usar.", "option-default-editing-mode-source": "Modo de origem", "option-default-editing-mode-live-preview": "Visualização ao vivo", "option-show-line-number": "Mostrar número da linha", "option-show-line-number-description": "Mostra os números das linhas na goteira.", "option-indentation-guide": "Mostrar guias de identação", "option-indentation-guide-description": "Mostrar linhas de relacionamento verticais entre marcadores para orientação visual.", "option-use-tabs": "Usar tabulações", "option-use-tabs-description": "Usar tabulações para indentar quando a tecla \"Tab\" é pressionada. Desative para usar espaços.", "option-tab-size": "Tamanho da tabulação", "option-tab-size-description": "Número de espaços equivalentes a uma tabulação.", "option-rtl": "Direita para a esquerda (RTL)", "option-rtl-description": "Define a exibição do texto da notas para ser da direita para a esquerda.", "option-auto-convert-html": "Converter HTML automaticamente", "option-auto-convert-html-description": "Converter automaticamente HTML para Markdown quando se cola ou arrasta de páginas da web. Usar Crtl/Cmd+Shift+V para colar sem conversão.", "option-vim-key-bindings": "Atalhos do Vim", "option-vim-key-bindings-description": "Utilize atalhos do Vim no editor.", "option-vim-key-bindings-mobile": "Em dispositivos móveis, esta opção é por dispositivo e não é sincronizada através do ficheiro de configuração.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Confirme a ativação do movo Vim", "label-vim-warning": "O modo Vim é para edição eficiente de texto mas pode ser bastante contra-intuitivo. Caso não conheça Vim e escolha esta opção, vai parecer que o Obsidian tenha deixado de funcionar.", "label-vim-test": "Para verificar que sabe usar Vim, por favor digite o comando para sair do Vim sem guardar:", "label-vim-your-answer": "A sua resposta", "placeholder-enter-command": "Digite um comando...", "button-confirm-enable-vim": "Ativar modo Vim", "msg-vim-mode-enabled": "Comando correcto. Modo Vim ativado.", "msg-vim-mode-not-enabled": "Comando incorreto. Modo Vim permanece desativado para sua proteção.", "msg-vim-mode-please-enter-command": "Por favor insira o comando para ativar o Modo Vim" }, "file": { "name": "Ficheiros & Links", "option-confirm-file-deletion": "Confirme o eliminação do ficheiro", "option-confirm-file-deletion-description": "Determine se precisa confirmar o eliminação do ficheiro.", "option-delete-destination": "Ficheiros apagados", "option-delete-destination-description": "O que fazer com os ficheiros depois de os eliminar.", "option-choice-system-trash": "Mover para a reciclagem do sistema", "option-choice-vault-trash": "Mover para a reciclagem do Obsidian (pasta .trash)", "option-choice-permanent-delete": "Eliminar permanentemente", "option-always-update-links": "Atualizar sempre os links internos", "option-always-update-links-description": "Atualizar os links automaticamente depois de renomear um ficheiro ou prompt.", "option-new-note-location": "Local padrão para novas notas", "option-new-note-location-description": "Onde colocar notas recém-criadas. As configurações de Plugin sobrepõem-se a esta opção.", "option-choice-vault-root": "Raíz do vault", "option-choice-current-folder": "Na mesma pasta do ficheiro atual", "option-choice-specified-folder": "Na pasta especificada abaixo", "option-new-file-folder-path": "Pasta em que novas notas serão criadas", "option-new-file-folder-path-description": "Notas recém-criadas irão aparecer nesta pasta. As configurações de Plugin sobrepõem-se a esta opção.", "option-use-wiki-links": "Usar [[Wikilinks]]", "option-use-wiki-links-description": "Autogerar Wikilinks para [[links]] e ![[imagens]] em vez de links e imagens de Markdown. Desativar esta opção para gerar links de Markdown.", "option-show-unsupported-files": "Detetar todas as extensões de ficheiros", "option-show-unsupported-files-description": "Mostrar ficheiros com qualquer extensão mesmo que o Obsidian não os consiga abrir nativamente, para que possam ser vinculados e visualizados no Explorador de Ficheiros e Quick Switcher.", "option-link-autocompleted-format": "Novo formato do link", "option-link-autocompleted-format-description": "Quais links inserir, ao gerar links internos.", "option-choice-shortest-linktext": "Menor caminho, quando possível", "option-choice-relative-path": "Caminho relativo para o ficheiro", "option-choice-absolute-path": "Caminho absoluto para o ficheiro", "option-new-attachment-location": "Localização padrão para novos anexos", "option-new-attachment-location-description": "Onde anexos recém-criados são colocados.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "Numa subpasta na pasta atual", "option-attachment-folder-path": "Local da pasta de anexos", "option-attachment-folder-path-description": "Arquivos de anexo recém-criados aparecerão aqui. Isso inclui imagens criadas por meio de arrastar e soltar ou colar e gravações de áudio.", "option-attachment-subfolder-path": "Nome da subpasta", "option-attachment-subfolder-path-description": "Se o seu ficheiro está sob \"vault/pasta\", e o seu nome de subpasta definido em \"anexos\", os anexos serão guardados em \"vault/pasta/anexos\".", "option-excluded-files": "Ficheiros excluídos", "option-excluded-files-desc": "Ficheiros excluídos serão ocultos ou menos perceptíveis em vários lugares, como na Navegação Rápida, sugestões de links e Visualização em Gráfico.", "label-no-excluded-filters-applied": "Nenhum filtro de exclusão aplicado. Adicione um abaixo.", "label-excluded-filters-applied": "Ficheiros que correspondam aos seguintes filtros estão atualmente excluídos:", "label-excluded-filter": "Filtrar", "message-empty-filter": "Filter cannot be empty", "placeholder-excluded-filter": "Introduza um caminho ou \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Aparência", "option-base-theme": "Tema base", "option-base-theme-description": "Escolher o esquema de cores padrão do Obsidian.", "option-accent-color": "Cor de destaque", "option-accent-color-description": "Escolha uma cor de destaque para ser usada na aplicação.", "dark-theme": "Escuro", "light-theme": "Claro", "system-theme": "Adaptar ao sistema", "option-font": "Fonte", "option-advanced": "Avançado", "option-interface": "Interface", "option-interface-font": "Fonte da interface", "option-interface-font-description": "Definir fonte base para todo o Obsidian.", "option-zoom-level": "Zoom level", "option-zoom-level-description": "Controls the overall zoom level of the app.", "option-text-font": "Fonte do texto", "option-text-font-description": "Definir fonte para as vistas de edição e leitura.", "option-monospace-font": "Fonte monoespaçada", "option-monospace-font-description": "Definir fonte para lugares como blocos de código e pré-texto.", "label-single-font-currently-in-effect": " Fonte atualmente aplicada: ", "label-multiple-fonts-currently-in-effect": " As fontes seguintes estão atualmente aplicadas:", "option-font-placeholder": "Introduza o nome da fonte...", "label-no-custom-font-set": "Nenhuma fonte personalizada está aplicada. Adicione uma abaixo.", "label-font-applied": "A primeira fonte na lista que esteja disponível no seu sistema será aplicada.", "msg-font-not-found": "Esta fonte não foi detectada no seu sistema.", "msg-font-found": "Esta fonte foi detectada no seu sistema.", "label-font-name": "Nome da fonte", "option-community-themes": "Abra os temas da comunidade", "option-community-themes-description": "Visualize e use temas incríveis criados pela comunidade.", "button-browse-community-themes": "Procurar", "option-font-size": "Tamanho da fonte", "option-font-size-description": "Tamanho da fonte em pixels que afeta o editor e a visualização.", "option-font-size-action": "Ajuste rápido do tamanho da fonte", "option-font-size-action-description": "Ajuste o tamanho da fonte usando Ctrl + Scroll, ou usando o gesto 'apertar e fazer zoom' do touchpad.", "option-themes": "Temas", "option-manage-themes-description": "Gerencia os temas instalados e navegue por temas de comunidade.", "option-theme-button-manage": "Gerir", "option-choice-none": "Nenhum", "option-native-menus": "Menus nativos", "option-native-menus-desc": "Os menus da aplicação corresponderão aos do sistema operativo. Não serão afetados pelo seu tema.", "button-reload-themes": "Recarregar temas", "msg-reloaded-themes": "Recarregar temas com CSS customizado.", "button-open-themes-folder": "Abrir pasta de temas", "option-css-snippets": "Fragmentos CSS", "label-no-css-snippets-found": "Nenhum fragmento CSS encontrado na pasta de fragmentos.", "no-snippet-description": "Fragmentos CSS são guardados em \"{{path}}\".", "button-reload-snippets": "Recarregar fragmentos", "button-open-snippets-folder": "Abrir pasta de fragmentos", "msg-reloaded-snippets": "Fragmentos CSS recarregados.", "option-toggle-snippet-description": "Aplicar fragmento CSS em \"{{path}}\".", "label-installed-themes": "Temas instalados", "label-screenshot-unavailable": "Captura de ecrã indisponível", "label-default-theme": "Predefinido", "tooltip-click-to-enlarge": "Carregue para ampliar", "button-update": "Atualizar", "label-currently-active": "Active", "option-frame-style": "Estilo da moldura da janela", "option-frame-description": "Determina o estilo da barra de título das janelas do Obsidian. Requer uma reinicialização completa para as alterações entrarem em vigor.", "option-frame-hidden": "Escondido (Predefinido)", "option-frame-obsidian": "Moldura do Obsidian", "option-frame-native": "Moldura nativa", "option-custom-icon": "Custom app icon", "option-custom-icon-desc": "Set a custom icon for the app", "button-choose-custom-icon": "Choose custom icon", "option-configure-ribbon": "Ribbon menu", "option-configure-ribbon-desc": "Configure what commands appear in the ribbon menu in the navigation bar.", "option-mobile-quick-ribbon-item": "Quick access ribbon item", "option-mobile-quick-ribbon-item-desc": "Tapping on the ribbon item in the navigation menu will active this ribbon item. Tap and hold will still show the menu.", "option-mobile-quick-ribbon-default": "Open ribbon menu", "button-configure": "Configure", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "Other ribbon items", "label-modal-configuration": "Ribbon Configuration", "label-modal-configuration-desc": "Choose what items you want to be active in the ribbon. Drag and drop to change the order.", "option-show-view-header": "Mostrar barra de título da tabulação", "option-show-view-header-desc": "Mostrar o cabeçalho na parte superior de cada tabulação.", "msg-updates-found": "Encontrado {{count}} tema para atualizar.", "msg-updates-found_plural": "Encontrados {{count}} temas para atualizar.", "button-check-for-updates": "Check for updates", "button-view-updates": "Visualizar atualizações", "button-update-all-themes": "Atualizar todos", "label-current-themes": "Temas da comunidade atuais", "label-currently-installed": "Atualmente tem {{count}} tema instalado.", "label-currently-installed_plural": "Atualmente tem {{count}} temas instalados." }, "hotkeys": { "name": "Atalhos", "option-search": "Search hotkeys", "option-search-desc": "Showing {{count}} hotkey. ", "option-search-desc_plural": "Showing {{count}} hotkeys. ", "option-search-conflict": "{{count}} command with conflicts.", "option-search-conflict_plural": "{{count}} commands with conflicts.", "prompt-filter": "Filtrar...", "tooltip-delete-hotkey": "Eliminar atalho", "label-waiting-for-hotkey-press": "Pressione atalho...", "label-show-all": "All", "label-show-unassigned": "Unassigned", "label-show-assigned": "Assigned", "label-show-user-assigned": "Assigned by me", "tooltip-restore-default": "Restaurar ao padrão", "tooltip-customize-command": "Customize este comando", "tooltip-hotkey-single-conflict": "Este atalho está em conflito com \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Este atalho está em conflito com {{count}} outros comandos", "label-blank-hotkey": "Em branco" }, "about": { "name": "Sobre", "label-commercial-license": "Commercial license", "label-license-key": "Chave de licença", "license-key-placeholder": "A sua chave de licença...", "label-activate-license": "Ativar licença", "button-activate": "Ativar", "label-unknown-version": "Desconhecida", "label-current-version": "Versão atual: ", "label-install-version": "(Versão do instalador: {{version}})", "label-up-to-date": "A sua app está atualizada!", "label-read-changelog": "Leia o registro de mudanças.", "label-manual-update-required": "To support the latest features and to receive the latest security patches, Obsidian needs a major installer update. You need to manually download and reinstall Obsidian.", "label-new-version-ready": "Uma nova versão está pronta para ser instalada. ", "label-disabled-updates": "Atualizações estão desativadas.", "button-relaunch": "Reiniciar", "button-check-for-updates": "Procurar atualizações", "option-auto-update": "Atualizações automáticas", "option-auto-update-description": "Desative esta opção para evitar que o aplicativo verifique se há atualizações.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Obter ajuda", "option-get-help-description": "Obter ajuda sobre usar Obsidian.", "button-open": "Abrir", "option-language": "Idioma", "option-language-description": "Alterar o idioma de exibição.", "option-insider-build": "Receber compilações internas", "option-insider-build-description": "Atualização automática para compilações internas para experimentar novas funcionalidades. Observe que estas compilações podem ser menos estáveis.", "option-advanced": "Avançadas", "option-hw-acceleration": "Aceleração de Hardware", "option-hw-acceleration-description": "Ativa a Aceleração de Hardware, que usa o GPU para fazer o Obsidian mais estável.", "option-hw-acceleration-warning": "Se desativar esta opção, o desempenho do aplicativo será severamente degradado.", "option-config-location": "Substituir a pasta de configuração", "option-config-location-description": "Usa uma pasta de configuração diferente da padrão.Tem que começar com um ponto final.", "option-config-location-warning": "A localização de configuração tem de ter um nome de pasta válido que comece com um ponto final.", "label-license": "Licença", "label-your-commercial-license-key": "A sua chave de licença comercial é \"{{key}}\".", "label-commercial-license-info": "Registado para \"{{company}}\" para {{seats}} utilizadores. Válido até {{expiry}}.", "label-validating-commercial-license": "A validar...", "label-invalid-commercial-license": "Licença inválida: ", "button-remove-commercial-license": "Remover", "option-catalyst": "Licença Catalyst", "option-catalyst-desc": "Atualmente tem a licença Catalyst {{tier}}. Obrigado pelo seu apoio!", "option-catalyst-desc-no-license": "Não tem uma licença Catalyst de momento. A licença Catalyst é uma doação feita apenas uma vez para apoio o desenvolvimento do Obsidian.", "label-app": "App", "label-add-own-language": "See how to add your language to Obsidian." }, "account": { "name": "Conta", "option-your-account": "A sua conta", "option-your-account-desc": "Está atualmente conectado com {{name}} ({{email}}).", "option-your-account-desc-no-login": "Não está conectado de momento. Uma conta é somente necessário para o Obsidian Sync, Obsidian Publish, e o Catalyst insider builds.", "label-insider": "confidente", "label-supporter": "apoiante", "label-vip": "VIP", "button-upgrade-catalyst": "Atualizar licença", "option-commercial-license": "Licença comercial", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Comprar", "button-log-out": "Sair", "label-log-in": "Conecte-se", "label-sign-up": "Inscrever-se", "label-email": "E-mail", "placeholder-email": "O seu e-mail...", "label-name": "Full name", "label-password": "Senha", "placeholder-password": "A sua senha...", "label-forgot-password": "Forgot password?", "button-login": "Entrar", "message-empty-email": "E-mail não pode estar vazio.", "message-invalid-email": "E-mail não é valido.", "message-empty-password": "Senha não pode estar vazia.", "message-login-failed": "Login falhou. Verifique se o seu e-mail e senha estão corretos.", "message-signup-failed": "Failed to sign up", "label-no-account": "Não tem uma conta? ", "link-sign-up-now": "Crie uma conta agora", "label-mfa-code": "6-digit 2FA code", "mfa-wrong-format": "The 2FA authenticator code must be 6 digits.", "mfa-verification-failed": "2FA code is incorrect, please double check your authenticator app." }, "core-plugin": { "plugin-list": "Lista de plugins", "option-search-plugin": "Procure plugins base", "option-search-plugin-description": "Filtre plugins por nome ou descrição.", "placeholder-search-plugin": "Procurar plugins..." }, "third-party-plugin": { "name": "Plugins não oficiais", "option-restricted-mode": "Modo restrito", "option-restricted-mode-description": "Modo restrito desligado. Ligue para desativar plugins da comunidade..", "button-turn-on": "Ligar", "option-browse-community-plugins": "Plugins da comunidade", "option-browse-community-plugins-description": "Procure e instale plugins não oficiais criados pela nossa incrível comunidade.", "button-browse": "Procurar", "label-exit-restricted-mode": "Sair do Modo Restrito", "label-exit-restricted-mode-description-1": "Plugins da comunidade, como qualquer outro software que instale, pode potencialmente causar problemas de integridade de dados e segurança.", "label-exit-restricted-mode-description-2": "A segurança do plugin é importante para nós. Eis o que fazemos:", "label-exit-restricted-mode-description-3": "Apesar dos nossos esforços, existe uma pequena chance de um plugin da comunidade causar problemas.", "label-code-review": "Revisão de código inicial", "label-code-review-desc": "Os plugins passam por uma revisão de código inicial feita pela nossa equipa antes destes aparecerem na loja.", "label-open-source": "Código aberto", "label-open-source-desc": "A maioria dos plugins têm o código aberto no GitHub, podendo ser possível inspecionar o código.", "label-peer-audit": "Auditoria por colegas", "label-peer-audit-desc": "Temos uma grande comunidade de desenvolvedores que cuidam uns dos outros.", "label-report-mechanism": "Mecanismo de denúncia", "label-report-mechanism-desc": "Acompanhamos e removemos plugins defeituosos mediante denúncia do utilizador.", "label-exit-restricted-mode-disable-confirmation": "Gostaria de sair do Modo Restrito para habilitar plugins da comunidade? Recomendamos fortemente fazer uma cópia de segurança dos seus dados antes de o fazer.", "label-learn-more": "Aprenda mais sobre a segurança de plugins", "button-turn-on-community-plugins": "Ligar os plugins da comunidade", "label-trust-author": "Confia no autor deste vault?", "label-trust-author-description-1": "Está a abrir este vault pela primeira vez, e traz alguns plugins.", "label-trust-author-description-2": "Se obteve este vault de outra pessoa, por favor tenha atenção que plugins de origens desconhecidas podem causar riscos de segurança.", "label-trust-author-description-3": "Se não confia no autor deste vault, recomendamos permanecer no Modo Restrito, para que os plugins no vault não sejam executados.", "button-enable-plugins": "Confiar no autor e ativar plugins", "button-dont-trust-author": "Navegar no vault em Modo Restrito", "placeholder-community-plugins": "Procurar plugins da comunidade...", "msg-failed-load-plugins": "Falha ao carregar o plugin da comunidade.", "label-installed": "Instalado", "button-install": "Instalar", "button-enable": "Ativar", "button-disable": "Desativar", "button-copy-share-link": "Copy share link", "button-donate": "Donate", "label-no-results-found": "Nenhum resultado encontrado.", "label-no-recent-files-found": "No recent files found. Type to search...", "msg-failed-to-load-manifest": "Falha ao carregar a descrição do plugin.", "label-version": "Versão: {{version}}", "label-currently-installed-version": " (Instalado atualmente: {{version}})", "label-by-author": "Por ", "label-repository": "Repositório: ", "label-last-update": "Last update: ", "tooltip-view-last-update": "View the latest update", "label-unsupported": "Este plugin não é compatível com o seu dispositivo.", "button-update": "Atualizar", "label-no-readme": "Este plugin não disponibilizou um ficheiro README.", "msg-installing-plugin": "A instalar o plugin \"{{name}}\"...", "msg-failed-to-install-plugin": "Falha ao instalar o plugin \"{{name}}\".", "msg-successfully-installed-plugin": "O plugin \"{{name}}\" foi instalado com sucesso.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Plugins instalados", "button-reload-plugins": "Recarregar plugins", "msg-reloaded-third-party-plugins": "Recarregar plugins não oficiais.", "label-uninstall": "Desinstalar", "label-uninstall-plugin": "Desinstalar o plugin", "label-uninstall-plugin-confirmation": "Tem a certeza que quer desinstalar este plugin? Isto eliminará a pasta do plugin.", "button-open-plugins-folder": "Abrir pasta de plugins", "button-check-for-updates": "Procurar por atualizações", "button-update-all-plugins": "Atualizar todos", "label-current-plugins": "Plugins atuais", "label-currently-installed": "Atualmente tem {{count}} plugin instalado.", "label-currently-installed_plural": "Atualmente tem {{count}} plugins instalados.", "msg-no-updates-found": "Não foi encontrada nenhuma atualização de plugin.", "msg-updates-found": "Encontrada atualização para {{count}} plugin.", "msg-updates-found_plural": "Encontradas atualizações para {{count}} plugins.", "msg-update-plugin": "Atualizar para a versão {{version}}", "option-search-installed-plugin": "Procurar plugins instalados", "option-search-installed-plugin-description": "Filtrar plugins instalados por nome ou descrição.", "placeholder-search-installed-plugin": "Procurar plugins instalados...", "show-installed-only": "Mostrar só instalados", "label-donate-modal-title": "Donate to support {{name}}", "label-donate-modal-text1": "Plugin developers are community volunteers who make amazing things out of passion. If you find this plugin useful, please consider funding its development.", "label-donate-modal-text2": "100% of your contribution will go to the plugin developer; Obsidian does not take a cut. The funding platform they choose might charge a fee.", "label-donate-modal-text3": "Thanks for your generous support!", "label-support-this-plugin": "Support this plugin:", "label-search-summary": "A mostrar {{pluginCount}}:", "label-by-popularity": "Most downloaded", "label-by-released": "Recently released", "label-by-updated": "Recently updated", "label-alphabetical": "Alphabetical", "label-last-updated": "Updated {{time}}" }, "mobile-toolbar": { "name": "Barra de ferramentas móvel", "option-configure-quick-action": "Configurar Ações Rápidas", "option-configure-quick-action-description": "Configurar qual o comando a acionar ao deslizar para baixo. O comando atual está definido para \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "Configurar", "placeholder-select-quick-action": "Selecione Ação Rápida...", "quick-action-disabled": "None", "manage-toolbar-options": "Gerir opções da barra de ferramentas", "option-internal-link": "Adicionar link interno", "option-internal-embed": "Embutir", "option-tag": "Adicionar tag", "option-heading": "Ativar título", "option-strikethrough": "Ativar texto rasurado", "option-highlight": "Ativar destaque", "option-code": "Ativar código", "option-blockquote": "Ativar bloco de citação", "option-inline-math": "Toggle inline math", "option-math-block": "Toggle math block", "option-markdown-link": "Adicionar link Markdown", "option-bullet-list": "Ativar lista de marcadores", "option-numbered-list": "Ativar lista numerada", "option-indent-list": "Indentar lista de items", "option-unindent-list": "Reverter indentação do item da lista", "option-undo": "Desfazer", "option-redo": "Refazer", "option-move-caret-up": "Subir acento circunflexo", "option-move-caret-down": "Descer acento circunflexo", "option-move-caret-left": "Mover o acento circunflexo para a esquerda", "option-move-caret-right": "Mover o acento circunflexo para a direita", "option-first-line": "Ir par a primeira linha", "option-last-line": "Ir para a última linha", "option-toggle-keyboard": "Ativar teclado", "option-configure-toolbar": "Configurar barra de ferramentas móvel", "option-added-options": "Opções adicionais", "option-more-toolbar-options": "Mais opções da barra de ferramentas", "option-attach": "Inserir anexo", "option-add-command": "Adicionar comando global", "option-add-command-description": "Selecione qualquer comando global para adicionar à barra de ferramentas." } }, "editor": { "search": { "placeholder-find": "Pesquisar", "placeholder-replace": "Substituir", "label-exit-search": "Sair da pesquisa", "label-next": "Próximo", "label-previous": "Anterior", "label-find-all": "Find all", "label-replace": "Substituir", "label-replace-all": "Substituir tudo" }, "link-suggestion": { "label-type-hash": "Digite #", "label-link-heading": "para linkar o título", "label-type-block": "Digite ^", "label-link-block": "para linkar blocos", "label-type-pipe": "Digite |", "label-change-display-text": "para alterar o texto de exibição", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "Nenhuma correspondência encontrada", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Sem sugestões...", "add-to-dictionary": "Adicionar ao dicionário" }, "menu": { "edit-link": "Editar link", "edit-tag": "Edit tag", "label-edit-block": "Edit this block", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "Sem cabeçalho", "label-heading-level": "Cabeçalho {{level}}" }, "print-modal": { "title": "Exportar para PDF", "caption": "Exportar \"{{filename}}\" para PDF com a definição abaixo.", "setting-page-size": "Tamanho de página", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Carta", "setting-page-size-tabloid": "Tablóide", "setting-include-file-name": "Incluir nome do ficheiro como título", "setting-landscape": "Paisagem", "setting-margin": "Margem", "setting-margin-default": "Padrão", "setting-margin-minimal": "Mínima", "setting-margin-none": "Nenhuma", "setting-downscale-percent": "Percentagem de redução", "button-export-to-pdf": "Exportar para PDF" }, "link-popover": { "tooltip-follow-link": "Seguir link", "tooltip-open-link": "Abrir link", "tooltip-search-tag": "Procurar etiqueta" } }, "interface": { "embed-cannot-find": "Cannot find:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Abrir no aplicativo padrão", "empty-sidebar": "A barra lateral está vazia, tente arrastar um painel aqui.", "sidebar-expand": "Expandir", "sidebar-collapse": "Recolher", "msg-fail-to-save-file": "Falha ao guardar o ficheiro \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "Nenhum ficheiro", "msg-file-changed": "\"{{file}}\" foi externamente modificado, ao mergir automaticamente as alterações.", "switch-vault": "Abra outro vault", "manage-vaults": "Manage vaults...", "help": "Ajuda", "settings": "Definições", "drag-to-rearrange": "Arraste para reorganizar", "msg-switched-to-read": "Modo de visualização padrão mudado para leitura.", "msg-switched-to-edit": "Modo de visualização padrão mudado para normal.", "msg-upgrade-installer": "Para usar esta funcionalidade, reinstale com o instalador mais recente, disponível no nosso website.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Restaurar definições padrão", "label-copy": "Copiar para a área de transferência", "label-copy-short": "Copy", "copied_generic": "Copied to your clipboard", "copied": "{{item}} copiado para a área de transferência", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "Endereço", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Ficheiro aberto \"{{path}}\"", "msg-file-not-found-through-uri": "Ficheiro \"{{name}}\" não encontrado.", "delete-action-short-name": "Eliminar", "msg-indexing": "O Obsidian está a indexar o seu vault...\nIsto só acontecerá uma vez.\nAlgumas funcionalidades poderão não estar disponíveis até estar completo.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indexação completada.", "msg-sandbox-vault": "Isto é um vault para testes.\nModificações feitas neste vault serão perdidas.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Carregue para criar", "label-update-available": "Atualização Disponível", "label-debug-info": "Informação de debug", "button-learn-more": "Saber mais", "button-not-now": "Agora não", "button-add": "Adicionar", "button-manage": "Gerir", "label-new-tab": "Nova aba", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "Esta aba está atualmente ocupada, por favor tente novamente mais tarde", "formatting": { "label-formatting": "Format", "label-paragraph": "Paragraph", "label-insert": "Insert", "insert-link": "Add link", "insert-external-link": "Add external link", "insert-callout": "Callout", "insert-horizontal-rule": "Horizontal rule", "insert-code-block": "Code block", "insert-math-block": "Math block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comments": "Comment", "toggle-highlight": "Highlight", "toggle-italics": "Italic", "toggle-strikethrough": "Strikethrough", "toggle-math": "Math", "toggle-bullet-list": "Bullet list", "toggle-checklist": "Task list", "toggle-numbered-list": "Numbered list", "set-heading": "Heading {{level}}", "no-heading": "Body", "clear": "Clear formatting", "toggle-quote": "Quote" }, "empty-state": { "no-file-open": "Nenhum ficheiro está aberto", "create-new-file": "Criar novo ficheiro", "go-to-file": "Ir para o ficheiro", "see-recent-files": "Ver ficheiros recentes", "close": "Fechar", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "O plugin não está mais ativo", "unknown-pane-desc": "O plugin criado para este painel ({{type}}) foi-se embora" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Editar (Ctrl/Cmd+Click para editar num novo painel)", "read-view": "Vista atual: leitura", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "Clique para editar", "switch-to-read-view": "Clique para visualizar", "mod-click-open-new-tab": "{{key}}+Clique para abrir numa nova aba", "find": "Encontrar...", "replace": "Substituir...", "edit": "Edição", "remove": "Remove", "rename": "Rename", "preview": "Visualização", "more-options": "Mais opções", "close": "Fechar", "close-all": "Close all", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Fechar outros", "close-after": "Close tabs after", "pin": "Fixar", "unpin": "Desafixar", "unlink-tab": "Desafixar aba", "link-tab": "Ligar à aba...", "toggle-source-mode": "Modo de origem", "toggle-reading-view": "Modo de leitura", "add-property": "Add file property", "delete-file": "Eliminar ficheiro", "create-file": "Criar este ficheiro", "open-link": "Abrir link", "open-in-new-tab": "Abrir numa nova aba", "open-to-the-right": "Abrir à direita", "copy-url": "Copiar endereço", "copy": "Copiar", "cut": "Cortar", "paste": "Colar", "paste-as-plain-text": "Colar como texto simples", "lookup-selection": "Look up “{{selection}}”", "select-all": "Selecionar tudo", "rename-heading": "Renomear este cabeçalho...", "rename-blockid": "Renomear o ID deste bloco...", "open-in-new-window": "Abrir numa nova janela", "move-to-new-window": "Mover para uma nova janela", "open-in-browser": "Open in browser", "stack-tabs": "Empilhar abas", "unstack-tabs": "Desempilhar abas", "open-linked-view": "Open linked view" }, "tooltip": { "click-to-expand": "Clique para expandir", "click-to-collapse": "Clique para recolher", "alias": "Pseudónimo", "not-created-yet": "Ainda não foi criado, selecione para criar" }, "start-screen": { "label-version": "Versão", "label-create-local-vault": "Create local vault", "option-open-folder-as-vault": "Abrir pasta como vault", "option-open-folder-as-vault-description": "Selecione uma pasta existente de ficheiros Markdown.", "option-create-vault": "Criar um novo vault", "option-create-vault-description": "Criar um novo vault do Obsidian sob uma pasta.", "option-connect-obsidian-sync": "Conectar ao Obsidian Sync", "option-connect-obsidian-sync-description": "Configurar um vault sincronizado com um vault remoto existente.", "option-new-vault-name": "Nome do vault", "option-new-vault-name-description": "Selecione um nome para o seu vault incrível.", "option-new-vault-location": "Localização", "option-new-vault-location-description": "Selecione um lugar para o seu novo vault.", "label-new-vault-location-preview": "O seu novo vault será colocado em: ", "option-reveal-vault-in-explorer": "Revelar vault no explorador de ficheiros", "option-reveal-vault-in-explorer-mac": "Revelar vault no Finder", "option-rename-vault": "Renomear vault...", "option-copy-vault-i-d": "Copy vault ID", "msg-error-rename-exists": "Já existe um vault com este nome.", "msg-error-nested": "Não é possível mover o vault para uma pasta dele próprio.", "msg-error-rename-open": "Não é possível renomear um vault atualmente aberto.", "msg-rename-failed": "Falha em renomear o vault.", "msg-rename-success": "Sucesso em renomear o vault.", "option-move-vault": "Mover vault...", "msg-move-select-dest": "Selecionar pasta de destino", "msg-error-move-exists": "Já existe um vault no destino escolhido.", "msg-error-move-open": "Não é possível mover um vault atualmente aberto.", "msg-move-failed": "Falha ao mover o vault.", "msg-move-success": "Sucesso ao mover o vault.", "option-remove": "Remover da lista", "button-quick-start": "Começo rápido", "button-open": "Abrir", "button-browse": "Selecionar", "button-connect": "Conectar", "button-create-vault": "Criar", "button-back": "Voltar", "msg-empty-vault-name": "O vault precisa de um nome.", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "Selecione uma pasta válida.", "msg-failed-to-create-vault": "Falha ao criar vault.", "msg-failed-to-create-vault-at-location": "Não foi possível criar um vault no local selecionado. Confira o local e permissões.", "msg-error-failed-to-open-vault": "Falha ao abrir.", "msg-error-remove-current-open-vault": "Não é possível eliminar um vault aberto.", "option-get-help": "Obter Ajuda", "option-user-email": "Email", "placeholder-your-email": "O seu email...", "option-user-password": "Password", "placeholder-your-password": "A sua password...", "button-sign-in": "Entrar", "button-setup": "Configurar", "option-connect-vault-desc": "Criar um vault sincronizado neste dispositivo.", "tooltip-own-vault": "Este é um vault remoto criado por si.", "tooltip-shared-vault": "Este é um vault remoto partilhado consigo.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Welcome", "welcome-file-content": "This is your new *vault*.\n\nMake a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nWhen you're ready, delete this note and make the vault your own." }, "drag-and-drop": { "insert-link-here": "Inserir link aqui", "insert-links-here": "Inserir links aqui", "move-into-folder": "Mover para \"{{folder}}\"", "star-this-file": "Adicionar aos favoritos", "star-these-files": "Adicionar aos favoritos", "open-in-this-tab": "Abrir nesta aba", "open-as-tab": "Abrir numa nova aba" }, "window": { "maximize": "Maximizar", "minimize": "Minimizar", "restore-down": "Diminuir", "close-window": "Fechar", "go-back": "Voltar", "go-forward": "Avançar" }, "start-up": { "loading-obsidian": "A carregar o Obsidian...", "obsidian-load-error": "Ocorreu um erro a carrevar o Obsidian.", "button-reload-app": "Recarregar app", "button-reload-app-in-safe-mode": "Reload app in safe mode", "button-open-another-vault": "Abrir outro vault", "loading-plugins": "A carregar plugins...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "A carregar o vault...", "msg-failed-to-load-vault": "Falha ao carregar o vault: ", "loading-cache": "A carregar a cache...", "loading-workspace": "A carregar a área de trabalho..." }, "mobile": { "action-import": "Importar para o vault", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "Escolha um ficheiro para inserir", "action-insert-text-into-file": "Inserir texto no {{filename}}", "action-insert-link-into-file": "Inserir link no {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "A importar...", "msg-import-success": "Importado com sucesso", "msg-failed-to-import-file": "Falha ao importar ficheiro {{filename}}", "msg-back-again-to-exit": "Pressione novamente para sair.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Site oficial de ajuda", "label-official-help-site-desc": "Leia a documentação oficial de ajuda do Obsidian, disponível em várias linguagens.", "action-visit": "Visite", "label-discord-chat": "Conversação do Discord", "label-discord-chat-desc": "Discord é o melhor sítio para conversar com outros utilizadores experiênciados do Obsedian espalhados pelo mundo.", "action-join": "Junte-se", "label-forum": "Fórum oficial", "label-forum-desc": "Ajudem-se uns aos outros, publiquem pedidos de funcionalidades, reportem bugs, e tenham discussões aprofundadas sobre gestão de conhecimento.", "label-sandbox-vault": "Vault de tests", "label-sandbox-vault-desc": "Brinque e experimente várias funcionalidades. Por favor note que as mudanças feitas não serão guardadas." } }, "commands": { "save-file": "Guardar ficheiro atual", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Seguir o link", "open-cursor-link-in-new-tab": "Abrir o link debaixo do cursor numa nova aba", "open-cursor-link-to-the-right": "Abrir o link debaixo do cursor à direita", "open-cursor-link-in-new-window": "Abrir o link debaixo do cursor numa nova janela", "navigate-tab-above": "Focar no grupo de abas em cima", "navigate-tab-below": "Focar no grupo de abas em baixo", "navigate-tab-left": "Focar no grupo de abas à esquerda", "navigate-tab-right": "Focar no grupo de abas à direta", "toggle-pin": "Ativar o pino", "split-right": "Dividir à direita", "split-down": "Dividir para baixo", "toggle-stacked-tabs": "Alternar abas empilhadas", "navigate-back": "Voltar", "navigate-forward": "Avançar", "use-dark-mode": "Usar modo escuro", "use-light-mode": "Usar modo claro", "change-theme": "Mudar o tema", "search-current-file": "Localizar no ficheiro atual", "search-replace-current-file": "Localizar e substituir no ficheiro atual", "add-property": "Add file property", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Clear file properties", "open-settings": "Abrir definições", "open-help": "Abrir ajuda", "toggle-edit": "Alternar entre visualização de edição/leitura", "toggle-source-mode": "Alterar entre modo de Visualização ao vivo/Origem", "delete-current-file": "Eliminar ficheiro atual", "new-tab": "Nova aba", "show-trash": "Show trash", "close-all-tabs": "Close all tabs", "close-active-tab": "Fechar aba atual", "close-others-in-tab-group": "Close others in tab group", "close-other-tabs": "Fechar todas as outras abas", "close-tab-group": "Close this tab group", "toggle-left-sidebar": "Ativar barra lateral esquerda", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "Ativar barra lateral direita", "toggle-default-new-tab-mode": "Alternar modo padrão para novas abas", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "Focar no editor", "toggle-fold-properties": "Toggle fold properties in current file", "toggle-fold": "Ativar recolher na linha atual", "fold-all": "Recolher todos os títulos e listas", "unfold-all": "Expandir todos os títulos e listas", "fold-more": "Colapsar mais", "fold-less": "Colapsar menos", "swap-line-up": "Mova a linha para cima", "swap-line-down": "Mova a linha para baixo", "remove-heading": "Remover cabeçalho", "toggle-heading": "Definir como cabeçalho {{level}}", "toggle-bold": "Ativar o negrito para seleção", "toggle-italics": "Ativar o itálico para seleção", "toggle-highlight": "Ativar o destaque para seleção", "toggle-comments": "Ativar comentários para seleção", "clear-formatting": "Clear formatting", "insert-link": "Inserir link", "toggle-spellcheck": "Ativar verificação ortográfica", "delete-paragraph": "Remover parágrafo", "toggle-checklist": "Ativar status da lista de controlo", "cycle-list-checklist": "Alternar marcadores/caixas de seleção", "insert-callout": "Inserir chamamento", "insert-code-block": "Insert code block", "insert-math-block": "Insert math block", "insert-horizontal-rule": "Insert horizontal rule", "insert-table": "Insert table", "insert-footnote": "Insert footnote", "edit-file-title": "Editar título do ficheiro", "copy-path": "Copiar caminho do ficheiro", "copy-url": "Copiar endereço do Obsidian", "export-pdf": "Exportar para PDF", "reload": "Recarregar app sem guardar", "undo-close-tab": "Undo close tab", "context-menu": "Mostrar menú de context embaixo do cursor", "show-debug-info": "Mostrar informação de debug", "open-sandbox-vault": "Open sandbox vault", "always-on-top": "Alternar a janela estar sempre em cima", "zoom-in": "Ampliar", "zoom-out": "Reduzir", "reset-zoom": "Restaurar ampliação", "toggle-preview": "Ativar modo de edição/visualização", "move-to-new-window": "Mover painel atual para uma nova janela", "open-in-new-window": "Abrir painel atual numa nova janela", "rename-current-file": "Renomear ficheiro atual", "go-to-prev-tab": "Go to previous tab", "go-to-next-tab": "Go to next tab", "go-to-last-tab": "Go to last tab", "go-to-nth-tab": "Go to tab #{{n}}", "show-release-notes": "Show release notes" }, "dialogue": { "label-link-affected": "Irá afetar os links {{links}} nos {{files}}.", "msg-updated-links": "{{links}} atualizados em {{files}}.", "label-update-links": "Atualizar links", "label-confirm-update-link-to-file": "Quer atualizar links internos que linkam a este ficheiro?", "button-always-update": "Sempre atualizar", "button-just-once": "Apenas uma vez", "button-do-not-update": "Não atualizar", "label-confirm-deletion": "Tem a certeza que quer eliminar \"{{filename}}\"?", "label-move-to-system-trash": "Será movido para a reciclagem de seu sistema.", "label-move-to-vault-trash": "Será movido para a reciclagem do Obsidian, que está localizada na pasta escondida \".trash\" em seu vault.", "label-permanent-delete": "O ficheiro será permanentemente apagado.", "label-non-empty-folder": "Esta pasta não está vazia.", "label-delete-folder-warning": "Se continuar, todos os ficheiros desta pasta serão apagados.", "label-delete-folder": "Eliminar pasta", "button-delete": "Eliminar", "button-delete-do-not-ask-again": "Apague e não pergunte novamente", "label-do-not-ask-again": "Don't ask again", "label-existing-backlink": "Atualmente existe {{count}} link apontando para esta nota.", "label-existing-backlink_plural": "Atualmente existem {{count}} links apontando para esta nota.", "label-delete-file": "Eliminar ficheiro", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Manage", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Cancelar", "button-download": "Download", "button-done": "Feito", "button-save": "Save", "button-stop": "Stop", "button-continue": "Continue", "button-choose": "Choose", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "A preparar PDF...", "label-rename-file": "Renomear ficheiro", "label-rename-file-generic": "File name", "label-new-name": "Novo nome", "msg-rename-success": "Ficheiro renomeado com sucesso.", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Rename heading", "label-rename-blockid": "Rename block ID" }, "menu-items": { "new-file": "Criar Nota", "new-file-to-the-right": "New Note to the Right", "new-window": "New Window", "open-switcher": "Abrir Rapidamente...", "open-vault": "Abrir Vault...", "close-tab": "Close Tab", "close-window": "Close Window", "find": "Encontrar", "replace": "Substituir", "insert-callout": "Chamamento", "insert-markdown-link": "Link de Markdown", "insert-wikilink": "Link", "set-heading": "Cabeçalho {{level}}", "no-heading": "Sem Cabeçalho", "insert-quote": "Citação", "export-pdf": "Exportar PDF", "insert-attachment": "Insert Attachment...", "insert-codeblock": "Code Block", "insert-math-block": "Math Block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bullet-list": "Lista de Marcadores", "toggle-numbered-list": "Lista Numerada", "toggle-checklist": "Lista de Tarefas", "toggle-bold": "Negrito", "toggle-code": "Código", "toggle-comment": "Comentário", "toggle-italics": "Itálico", "toggle-inline-math": "Math", "toggle-highlight": "Destacar", "toggle-strikethrough": "Tachado", "toggle-comments": "Comentários", "folding-menu": "Folding", "fold-all": "Colapsar Todos", "unfold-all": "Mostrar Todos", "fold-more": "Colapsar Mais", "fold-less": "Colapsar Menos", "source-mode": "Modo Origem", "reading-view": "Vista de Leitura", "show-debug-info": "Mostrar Informação de Debug", "open-sandbox": "Open Sandbox Vault", "navigate-back": "Navegar para Trás", "navigate-forward": "Navegar para a Frente", "toggle-left-sidebar": "Alternar Barra Lateral da Esquerda", "toggle-right-sidebar": "Alternar Barra Lateral da Direita", "toggle-ribbon": "Ribbon", "split-right": "Dividir à direita", "split-down": "Dividir para baixo", "release-notes": "Notas de lançamento" }, "plugins": { "name": "Plugins", "file-explorer": { "name": "Explorador de ficheiros", "desc": "Ver todos os ficheiros do seu vault.", "action-open": "Abrir explorador de ficheiros", "action-show": "Mostrar explorador de ficheiros", "action-create-note": "Criar nova nota", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Create new note in current tab", "action-create-note-to-the-right": "Create note to the right", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Colapsar todos", "action-expand-all": "Expandir todos", "action-new-note": "Nova nota", "action-new-folder": "Nova pasta", "action-change-sort": "Mudar ordem", "action-reveal-file": "Revelar ficheiro no explorador de ficheiros", "action-reveal-active-file": "Revelar ficheiro ativo no explorador de ficheiros", "command-make-a-copy": "Make a copy of the current file", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Mover ficheiro para outra pasta", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Mover ficheiro para...", "action-move-folder": "Mover pasta para...", "action-move-items": "Move {{count}} items to...", "prompt-type-folder": "Digite o nome de uma pasta", "label-no-folders": "Nenhuma pasta encontrada.", "instruction-navigate": "Navegar", "instruction-move": "Mover", "instruction-create": "to create", "instruction-dismiss": "Dispensar", "label-sort-a-to-z": "Ordenar por nome (A-Z)", "label-sort-z-to-a": "Ordenar por nome (Z-A)", "label-sort-new-to-old": "Ordenar por última edição (recentes-antigos)", "label-sort-old-to-new": "Ordenar por última edição (antigos-recentes)", "label-sort-created-old-to-new": "Data de criação (antigos-recentes)", "label-sort-created-new-to-old": "Data de criação (recentes-antigos)", "menu-opt-new-note": "Nova nota", "menu-opt-new-folder": "Nova pasta", "menu-opt-rename": "Renomear", "menu-opt-delete": "Eliminar", "menu-opt-make-copy": "Fazer uma cópia", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "O nome do ficheiro não pode ter nenhum destes caracteres: ", "msg-unsafe-characters": "Os links não funcionam com nomes de ficheiro que contenham algum destes caracteres: ", "msg-file-already-exists": "Já existe um ficheiro com esse nome", "msg-empty-file-name": "O nome do ficheiro não pode ficar vazio.", "msg-bad-dotfile": "O nome do ficheiro não pode começar com um ponto final.", "tooltip-modified-time": "Modificado pela última vez a {{time}}", "tooltip-created-time": "Criado a {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Sem título", "label-untitled-folder": "Sem título", "msg-set-attachment-folder": "Daqui em diante, os anexos serão guardados em \"{{path}}\"." }, "search": { "name": "Procurar", "desc": "Procurar por palavra-chave em todas as notas.", "action-open-search": "Pesquisar em todos os ficheiros", "label-collapse-results": "Recolher resultados", "label-match-case": "Correspondência", "label-explain-search-term": "Explicar termos de pesquisa", "label-more-context": "Mostrar o contexto", "label-result-count": "{{count}} result", "label-result-count_plural": "{{count}} results", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Search settings", "prompt-start-search": "Digite para pesquisar...", "label-match-text": "Resultados encontrados: ", "label-match-regex": "Regex encontrado: ", "label-match-exact-text": "Contém texto exato: ", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "Contains property:", "label-match-all": "Todos os resultados de: ", "label-match-any": "Qualquer resultado de: ", "label-excluding": "Excluindo: ", "label-case-sensitive": "Diferencia maiúsculas de minúsculas", "label-case-insensitive": "Não diferencia maiúsculas de minúsculas", "label-match-file-path": "Caminho do ficheiro correspondente: ", "label-match-file-name": "Nome do ficheiro correspondente: ", "label-match-content": "Pesquisar pelo conteúdo do ficheiro: ", "label-match-task": "Pesquisar por tarefa: ", "label-match-task-todo": "Pesquisar tarefa (por fazer): ", "label-match-task-done": "Pesquisar tarefa (concluída): ", "label-match-line": "Pesquisar por linha: ", "label-match-block": "Pesquisar port bloco: ", "label-match-section": "Pesquisar por secção: ", "label-match-tag": "Pesquisar por tag: ", "label-no-matches": "Nenhuma correspondência encontrada.", "matches-with-count": "... e mais {{count}} correspondência.", "matches-with-count_plural": "... e mais {{count}} correspondências.", "label-copy-search-results": "Copiar resultados de pesquisa", "button-copy-results": "Copiar resultados", "msg-successfully-copied": "Resultados copiados para a área de transferência.", "option-show-path": "Mostrar caminho", "option-show-path-description": "Mostrar caminho completo do ficheiro e não apenas o nome.", "option-link-style": "Estilo de link", "option-link-style-description": "Transformar opcionalmente cada resultado de pesquisa num link.", "option-choice-link-style-none": "Nenhum", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Link Markdown", "option-list-prefix": "Prefixo de lista", "option-list-prefix-description": "Adicionar opcionalmente um prefixo de lista de items a cada resultado de pesquisa.", "option-choice-list-style-none": "Nenhum", "option-choice-list-style-dash": "Hífen (-)", "option-choice-list-style-asterisk": "Asterisco (*)", "option-choice-list-style-numbered": "Numerada", "tooltip-clear-search": "Limpar pesquisa", "label-search-options": "Opções de pesquisa", "label-properties-group": "Properties", "label-tags-group": "Tags", "tooltip-read-more": "Ler mais", "label-history": "Histórico", "tooltip-clear-history": "Apagar histórico de pesquisa", "label-path-option-description": "Pesquisar caminho do ficheiro", "label-file-name-option-description": "Pesquisar nome do ficheiro", "label-tag-option-description": "Pesquisar por tags", "label-line-option-description": "Pesquisar palavras-chave na mesma linha", "label-section-option-description": "Pesquisar palavras-chave sob o mesmo título", "label-property-option-description": "match property", "menu-opt-search-for": "Pesquisar por \"{{keyword}}\"", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "Navegação rápida", "desc": "Saltar para qualquer arquivo sem sair do teclado. Ctrl/Cmd+O para ativar.", "short-name": "Switcher", "action-open": "Abrir Quick Switcher", "instruction-navigate": "Navegar", "instruction-open": "Abrir", "instruction-open-in-new-tab": "para uma nova aba", "instruction-open-to-the-right": "para abrir à direita", "instruction-create": "Criar", "instruction-dismiss": "Dispensar", "instruction-select": "to select", "label-no-note-create-new": "Nenhuma nota encontrada. Entre para criar uma nova.", "prompt-type-file-name": "Digite nome de um arquivo para alternar ou criar...", "label-enter-to-create": "Enter para criar", "tooltip-not-created-yet": "Ainda não foi criado, selecione para criar", "option-show-existing-only": "Mostrar só existentes", "option-show-existing-only-description": "Se mostrar links para ficheiros que ainda não foram criados.", "option-show-attachments": "Mostrar anexos", "option-show-attachments-desc": "Mostrar anexos como imagens, vídeos e PDFs.", "option-show-all-file-types": "Mostrar todo o tipo de ficheiros", "option-show-all-file-types-desc": "Mostrar todos os ficheiros, mesmo os que o Obsidian não consegue abrir. O ficheiro será aberto com a aplicação padrão para o tipo de ficheiro." }, "graph-view": { "name": "Visualização de diagrama de grafo", "desc": "Tenha um visão diagramática dos links entre as notas.", "action-open": "Abrir Visualização de diagrama de grafo", "action-open-local": "Abrir diagrama de grafo local", "action-copy-screenshot": "Copiar captura de tela", "tab-title": "Diagrama de grafo de {{displayText}}", "label-filters": "Filtros", "prompt-filter-nodes": "Procurar ficheiros...", "option-depth": "Profundidade", "option-depth-description": "Mostrar nódulos a esta distância de links", "option-neighbor-links": "Links vizinhos", "option-neighbor-links-description": "Mostrar links entre vizinhos.", "option-forelinks": "Links de saída", "option-forelinks-description": "Mostrar links para outros ficheiros", "option-backlinks": "Links de entrada", "option-backlinks-description": "Mostrar links para outros ficheiros", "option-show-tags": "Tags", "option-show-tags-description": "Tags estão linkados aos ficheiros que os contêm", "option-show-attachments": "Anexos", "option-show-attachments-description": "Mostrar anexos incluídos nos ficheiros", "option-show-existing-files-only": "Apenas ficheiros existentes", "option-show-existing-files-only-description": "Quando selecionado, links para ficheiros não existentes não serão mostrados", "option-show-orphans": "Órfãos", "option-show-orphans-description": "Mostrar ficheiros que não estão linkados a nenhum outro ficheiro", "label-display": "Tela", "option-show-arrows": "Setas", "option-show-arrows-description": "Mostrar setas quando a tela for ampliada", "option-text-fade": "Limite para a visibilidade do texto", "option-node-size": "Tamanho dos nódulos", "option-link-thickness": "Grossura dos links", "label-forces": "Forças", "option-center-force": "Centro de força", "option-link-force": "Força dos links", "option-link-distance": "Distância entre links", "option-repel-force": "Força de repulsão", "tooltip-open-graph-settings": "Abrir definições do diagrama de grafo", "msg-screenshot-copied": "Captura de tela copiada para a área de transferência.", "label-groups": "Grupos", "placeholder-enter-query": "Inserir query...", "tooltip-delete-graph": "Eliminar grupo", "button-new-group": "Novo grupo", "tooltip-click-to-change-drag-to-reorder": "Clique para mudar a cor\nArraste para reordenar grupos", "action-timelapse": "Começar animação timelapse do diagrama de grafo", "tooltip-start-timelapse-animation": "Começar animação timelapse", "button-animate-timelapse": "Animar" }, "backlinks": { "name": "Backlinks", "desc": "Mostrar o número de backlinks na barra de status.", "action-open": "Abrir backlinks", "action-show": "Mostrar painel de backlinks", "action-open-for-current": "Abrir backlinks para o ficheiro atual", "action-toggle-backlinks-in-document": "Ativar backlinks no document", "menu-opt-backlinks-in-document": "Backlinks in document", "label-linked-mentions": "Menções vinculadas", "label-no-backlinks": "Nenhum backlink encontrado.", "label-unlinked-mentions": "Menções desvinculadas", "label-show-search": "Mostrar filtro de pesquisa", "label-link-button-text": "Link", "tab-title": "Backlinks para {{displayText}}", "label-no-unlinked-mentions": "Nenhuma menção desvinculada encontrada.", "ellipsis": "...", "option-backlink-in-document": "Backlink no documento", "option-backlink-in-document-desc": "Mostrar backlinks no document por predefinição quando se abre novos painéis." }, "outgoing-links": { "name": "Links Externos", "desc": "Mostrar links externos e detectar menções de outras notas sem link na nota atual.", "action-open": "Mostrar links externos", "action-show": "Mostrar painel de links externos", "action-open-for-current": "Abrir links externos no ficheiro atual", "tab-title": "Links externos de {{displayText}}", "label-links": "Links", "label-no-links": " Nenhum link encontrado.", "label-unlinked-mentions": "Menções sem link", "tooltip-link-file": "Link este ficheiro", "tooltip-not-created": "Ainda não criado" }, "tag-pane": { "name": "Painel de tags", "short-name": "Tags", "desc": "Mostra todas as suas tags com o respetivo número de ocorrências.", "action-show": "Mostrar painel de tags", "label-no-tags": "Nenhuma tag encontrada.", "label-sort-by-name-a-to-z": "Nome de tag (A-Z)", "label-sort-by-name-z-to-a": "Nome de tag (Z-A)", "label-sort-by-frequency-high-to-low": "Frequência (decrescente)", "label-sort-by-frequency-low-to-high": "Frequência (crescente)", "action-show-nested-tags": "Mostrar nested tags", "action-collapse-all": "Colapsar todos", "action-expand-all": "Expandir todos" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Properties view", "desc": "Show the metadata for your files.", "name-global": "All properties", "name-local": "File properties", "tab-title": "File properties for {{displayText}}", "action-show": "Show all properties", "action-show-local": "Show file properties", "opt-unassign-type": "Unassign type", "label-no-properties": "No properties found.", "label-invalid-properties": "Invalid properties.", "label-sort-by-name-a-to-z": "Property name (A to Z)", "label-sort-by-name-z-to-a": "Property name (Z to A)", "label-sort-by-frequency-high-to-low": "Frequency (high to low)", "label-sort-by-frequency-low-to-high": "Frequency (low to high)", "msg-merge-properties-warning": "Merge property “{{oldKey}}” with “{{newKey}}”?", "msg-merge-properties-warning-desc": "In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-open-local": "Open file properties", "action-open-daily-note": "Open daily note" }, "page-preview": { "name": "Pré-visualização de página", "desc": "Pré-visualize uma nota quando passar com o cursor sobre um link interno. Ctrl/Cmd + passar com o curso no modo de editor.", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "\"{{linktext}}\" ainda não foi criado. Clique para criar.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Editor", "label-source-preview": "Pré-visualização", "label-source-search": "Pesquisar, Backlinks, e Links externos", "label-source-tab-header": "Tab header", "label-require-mod": "É necessário {{key}} para ativar a pré-visualização de página ao passar com o cursor" }, "bookmarks": { "name": "Bookmarks", "desc": "Bookmark frequently used files and searches.", "action-show": "Show bookmarks", "action-collapse-all": "Collapse all", "action-new-bookmark": "Bookmark the active tab...", "action-new-group": "New bookmark group", "action-bookmark": "Bookmark...", "action-add-bookmark": "Add bookmark", "action-edit-bookmark": "Edit bookmark", "action-bookmark-block": "Bookmark block under cursor...", "action-bookmark-heading": "Bookmark heading under cursor...", "action-bookmark-search": "Bookmark current search...", "action-remove-bookmark": "Remove bookmark for current file", "action-bookmark-tab-group": "Bookmark {{count}} tab...", "action-bookmark-tab-group_plural": "Bookmark {{count}} tabs...", "action-bookmark-all-tabs": "Bookmark all tabs...", "action-bookmark-graph": "Bookmark this graph...", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} bookmark", "label-bookmark-with-count_plural": "{{count}} bookmarks", "label-no-bookmarks": "No bookmarks found", "label-invalid-data": "Failed to load bookmarks.", "label-invalid-data-desc": "The data file is corrupted.", "label-untitled-group": "Untitled group", "label-untitled-graph": "Untitled Graph", "menu-opt-edit": "Edit...", "menu-opt-remove": "Remove", "menu-opt-rename": "Rename", "menu-opt-bookmark-block": "Bookmark this block...", "menu-opt-bookmark-heading": "Bookmark this heading...", "msg-no-search-query": "No search query to bookmark.", "option-path": "Path", "option-query": "Query", "option-u-r-l": "URL", "option-title": "Title", "option-group": "Bookmark group", "placeholder-bookmark-group": "Bookmarks" }, "custom-css": { "name": "CSS personalizado", "desc": "Utilize o \"obsidian.css\" disponível no vault.", "setting-community-themes": "Temas da comunidade", "msg-fetching-themes": "A obter informações dos temas da comunidade", "prompt-filter": "Filtrar...", "label-dark-theme-only": "Apenas temas escuros", "label-light-theme-only": "Apenas temas claros", "label-use": "Usar", "label-stop-use": "Pare de usar este tema", "label-install-and-use": "Instalar e usar", "label-update": "Atualizar", "label-no-readme": "Este tema não providenciou um ficheiro README.", "tooltip-remove-theme": "Remover tema", "label-visit-on-github": "Visitar no GitHub", "msg-load-error": "Não foi possível abrir os temas da comunidade, verifique a sua conexão por favor.", "msg-now-using-theme": "Está agora a usar {{title}} como o seu tema de CSS.", "msg-deleted-theme": "O tema {{title}} foi apagado.", "msg-updated-theme": "O tema {{title}} foi atualizado.", "label-installed": "Instalado", "label-legacy": "Legacy", "button-update-all-themes": "Atualizar todos", "msg-failed-load-themes": "Falha no carregamento dos temas da comunidade.", "msg-no-updates-found": "Nenhuma atualização de tema encontrada.", "msg-updates-found": "Encontrado {{count}} tema para atualizar.", "msg-updates-found_plural": "Encontrado {{count}} temas para atualizar.", "msg-failed-to-install-theme": "Falha na instalação do tema \"{{name}}\".", "msg-successfully-installed-theme": "Sucesso na instalação do tema \"{{name}}\".", "msg-installing-theme": "A instalar tema \"{{name}}\"...", "label-search-summary": "A mostrar {{themeCount}}:", "label-update-available": "Atualização disponível" }, "command-palette": { "name": "Paleta de comando", "desc": "Digite um comando para executá-lo. Não precisa usar a interface de utilizador ou lembrar o atalho.", "action-open": "Abrir paleta de comando", "instruction-navigate": "Navegar", "instruction-use": "Usar", "instruction-dismiss": "Ignorar", "label-no-commands": "Nenhum comando encontrado.", "prompt-type-command": "Digite um comando...", "label-pinned-commands": "Comandos fixados", "option-add-new-pin": "Novo comando fixado", "option-add-new-pin-description": "Os comandos fixados irão aparecer no topo da paleta de comandos." }, "markdown-format-importer": { "name": "Importador de formato Markdown", "desc": "Converter Markdown de outros aplicativos para o formato do Obsidian.", "action-open": "Importador de Open Markdown", "option-roam-tag-fixer": "Conversor de tags do Roam Research", "option-roam-tag-fixer-description": "Converte \"#tag\" e \"#[[tag]]\" para \"[[tag]]\".", "option-roam-highlight-fixer": "Conversor de destaques do Roam Research", "option-roam-highlight-fixer-description": "Converte \"^^highlight^^\" para \"==highlight==\".", "option-roam-todo-converter": "Conversor de TODO do Roam Research", "option-roam-todo-converter-description": "Converte \"{{[[TODO]]}}\" para \"[ ]\".", "option-bear-highlight-fixer": "Conversor de destaques do Bear", "option-bear-highlight-fixer-description": "Converte \"::highlight::\" para \"==highlight==\".", "zettelkasten-link-fixer": "Conversor de links de Zettelkasten", "zettelkasten-link-fixer-description": "Converte links \"[[UID]]\" para \"[[UID File Name]]\" completo.", "zettelkasten-link-beautifier": "Embelezador de link de Zettelkasten", "zettelkasten-link-beautifier-description": "Converte links \"[[UID]]\" e também os embeleza \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Aviso: o importador converterá todos os ficheiros do seu vault, não apenas o ficheiro atual.", "msg-override-files-warning": "Os seus ficheiros serão substituídos. Faça backup de todos os seus ficheiros antes de tentar a conversão.", "label-start-conversion": "Começar a conversão", "label-stop": "Parar", "label-go-back": "Voltar", "label-done": "Feito", "label-processing": "Processando...", "label-cancelling": "Cancelando...", "label-finished": "Terminado!", "label-processed-files": "Ficheiros processados", "label-modified-files": "Ficheiros modificados", "label-total-replacements": "Substituição total", "label-failed": "Failed" }, "daily-notes": { "name": "Notas diárias", "desc": "Abrir a nota diária de hoje, ou criar uma se não houver.", "short-name": "Hoje", "action-open": "Abrir nota de hoje", "action-open-previous": "Abrir a nota diária anterior", "action-open-next": "Abrir a próxima nota diária", "action-insert-text": "Insert text into daily note", "action-insert-link": "Insert link into daily note", "msg-fail-format": "Falha ao criar a nota diária. \"{{format}}\" não é um formato válido.", "msg-fail-folder": "Falha ao criar nota diária. Pasta \"{{folderOption}}\" não encontrada.", "msg-fail-template-file": "Falha ao criar nota diária. Ficheiro modelo \"{{template}}\" não encontrado.", "msg-no-previous": "Não há nota diária anterior a esta.", "msg-no-next": "Nao há nota diária posterior a esta.", "option-date-format": "Formato de data", "label-refer-to-syntax": "Para mais sintaxe, consulte: ", "label-syntax-link": "formato de referência", "label-syntax-live-preview": "Aqui está como vai aparecer: ", "option-new-file-location": "Nova localização do ficheiro", "option-new-file-location-description": "O caminho da pasta para criar a nova nota diária.", "option-template": "Localização do ficheiro modelo", "option-template-description": "O caminho do ficheiro utilizado como modelo.", "option-open-on-start": "Abrir nota diária no arranque", "option-open-on-start-description": "Abra a sua nota diária automaticamente sempre que abrir o vault." }, "unique-note-creator": { "name": "Criador de notas únicas", "desc": "Crie notas com prefixos da data únicos, para workflows como zettelkasten ou slip box.", "short-name": "Único", "action-create-note": "Crie uma nova nota única", "action-add-link": "Add unique internal link", "option-new-file-location": "Noca localização do ficheiro", "option-new-file-location-description": "O caminho do ficheiro para criar uma nova nota única.", "msg-folder-not-found": "Falhar na criação de uma nota única. A pasta \"{{folderOption}}\" não foi encontrada.", "option-template-file": "Localização do ficheiro modelo", "option-template-file-description": "O caminho do ficheiro a usar como modelo.", "option-template-file-placeholder": "Exemplo: pasta1/nota", "option-id-format": "Formato do prefixo único", "msg-template-file-not-found": "Falha na criação da nota única. O ficheiro modelo \"{{template}}\" não foi encontrado.", "msg-failed-to-generate": "Failed to generate a unique note with the format \"{{format}}" }, "random-note": { "name": "Nota aleatória", "desc": "Abre uma nota aleatória. Útil para revisão e descobrir ideias.", "short-name": "Aleatória", "action-open": "Abrir nota aleatória" }, "outline": { "name": "Índice", "desc": "Mostra o índice do ficheiro atual ou do painel vinculado.", "action-open": "Abrir índice", "action-show": "Mostrar painel do índice", "action-open-for-current": "Abrir índice do ficheiro atual", "tab-title": "Índice de {{displayText}}", "label-no-headings": "Título não encontrado.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Contagem de palavras", "desc": "Mostrar o número de palavras na barra de status." }, "slides": { "name": "Slides", "desc": "Apresente a partir de Markdown. Use \"---\" para separar os seus slides.", "action-start": "Começar a apresentação" }, "audio-recorder": { "name": "Gravador de áudio", "desc": "Grava áudio e guarda como anexo.", "action-start": "Começar a gravar áudio", "action-stop": "Parar de gravar áudio", "action-toggle": "Começar/parar gravação", "msg-access-denied": "Acesso ao microfone foi negado. Ative-o no painel de preferências.", "msg-pending-grant": "Por favor conceda permissão para começar a.", "msg-no-microphone": "Nenhum microfone está conectado." }, "open-with-default-app": { "name": "Abrir com aplicativo padrão", "desc": "Adiciona um botão para abrir o ficheiro atual com o aplicativo padrão.", "action-open-file": "Abrir com aplicativo padrão", "action-open-file-mobile": "Share", "action-show-in-folder": "Mostrar na pasta", "action-show-in-folder-mac": "Reveal in Finder" }, "templates": { "name": "Templates", "desc": "Insira conteúdo padronizado a partir de uma pasta de ficheiros modelo.", "action-insert": "Inserir templates", "action-insert-current-date": "Insert current date", "action-insert-current-time": "Insert current time", "option-template-folder-location": "Localização da pasta de templates", "option-template-folder-location-description": "Ficheiros nesta pasta serão templates.", "option-template-date-format": "Formato da data", "option-template-date-format-description": "{{date}} no ficheiro de template será substituído por este valor.", "option-template-date-format-description2": "Também pode usar {{date:YYYY-MM-DD}} para substituir o formato.", "option-template-time-format": "Formato do horário", "option-template-time-format-description": "{{time}} no template será substituído por este valor.", "option-template-time-format-description2": "Também pode usar {{time:HH:mm}} para substituir o formato.", "instruction-navigate": "Navegar", "instruction-insert": "Inserir um template", "instruction-dismiss": "Dispensar", "msg-no-templates-found": "Nenhum template foi encontrado", "msg-fail-invalid-folder": "Erro ao listar os templates. A sua pasta é inválida.", "msg-fail-folder-not-found": "Erro ao listar os templates. A pasta \"{{folderOption}}\" não foi encontrada.", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "Failed to list templates. No template folder configured.", "prompt-type-template": "Digite o nome do template..." }, "translucency": { "name": "Janela translúcida", "desc": "Ativa o efeito de transparência para realçar a perceção de profundidade. Otimizado para modo escuro. Não é suportado no Linux." }, "slash-command": { "name": "Comandos Slash", "desc": "Ativar a possibilidade de executar comandos slash no editor ao escrever '/'." }, "editor-status": { "name": "Estado do edtior", "desc": "Adiciona um item à status bar para mostrar e permitir mudar o estado atual do editor.", "read": "Leitura", "edit-source": "Modo origem", "edit-live-preview": "Visualização ao vivo" }, "publish": { "name": "Publicar", "desc": "Publica as suas notas através do Obsidian Publish.", "action-publish-changes": "Publicar alterações", "action-publish-file": "Publish current file", "label-no-internet-access": "Precisa de acesso à internet para publicar alterações.", "label-publish-service-description": "O Obsidian Publish é um serviço de add-on pago que permite publicar as suas notas online diretamente do Obsidian.", "label-please-login": "Para começar a publicar, conecte-se ou crie uma conta Obsidian.", "label-no-publish-subscription": "Ainda não é assinante do Obsidian Publish.", "button-purchase": "Comprar", "label-manage-sites": "Gerir sites", "label-no-sites": "Não tem nenhum site.", "button-choose": "Escolher", "tooltip-edit-site-id": "Editar ID do site", "tooltip-delete-site": "Eliminar site", "label-delete-site-confirmation": "Tem a certeza que pretende eliminar este site?", "label-delete-site-details": "Isto irá eliminar o seu site de forma imediata e permanente.", "label-confirm-delete-site": "Confirmar eliminação do site \"{{site}}\"", "option-site-id": "ID do site", "option-site-id-description": "O seu site estará disponível em https://publish.obsidian.md/{site id}. Poderá alterar isto mais tarde. Apenas são permitidas letras minúsculas, números e hífens.", "option-site-id-placeholder": "Escolha um ID para o site", "button-create": "Criar", "msg-invalid-site-id": "O ID do site só poderá conter letras minúsculas, números e hífens.", "msg-site-id-in-use": "O ID deste site já se encontra em uso, tente um diferente.", "msg-create-site-issue": "Ocorreu um erro ao criar o seu site.", "label-site-options": "Opções do site", "option-site-general": "General", "option-site-components": "Componentes", "option-site-appearance": "Aparência", "option-site-reading-experience": "Experiência de leitura", "option-site-misc": "Outras definições do site", "option-site-name": "Nome do site", "option-site-name-description": "Nome do seu site publicado. Aparecerá no título da página do seu site.", "option-site-name-placeholder": "Nome do seu site", "option-home-page-file": "Ficheiro da página inicial", "option-home-page-file-description": "A primeira página que o utilizador vê quando entra no seu site publicado", "option-home-page-file-placeholder": "Escolher um ficheiro publicado", "option-logo": "Logo", "option-logo-description": "Escolher um ficheiro de imagem para o logo do seu site.", "option-logo-placeholder": "Qualquer imagem carregada no seu vault...", "option-site-collaboration": "Colaboradores do site", "option-site-collaboration-desc": "Gerir colaboradores para este site.", "option-customize-navigation": "Customize navigation", "option-customize-navigation-desc": "Override the order of navigation items and hide pages or folders from showing.", "option-navigation-order": "Navigation item display order", "option-hide-items-in-navigation": "Hide pages or folders from navigation", "option-hide-items-in-navigation-desc": "Right click and select \"Hide\" to prevent specific pages from appearing in the site navigation. The pages will still be accessible via links or accessing the URL directly.", "option-show-hidden-items": "Show hidden", "button-customize-sidebar": "Manage", "label-navigation-modal-title": "Navigation", "label-navigation-modal-desc": "Drag and drop to customize the order in which navigation items appear on your Publish site.", "option-hide-in-navigation": "Hide in navigation", "button-manage-collaborators": "Gerir", "option-theme": "Tema", "option-theme-description": "Escolher o esquema de cores padrão para o seu site.", "option-theme-system": "Adaptar ao sistema", "option-show-theme-toggle": "Alternar entre Claro/Escuro", "option-show-theme-toggle-description": "Deixar o visitante alternar entre tema escuro e claro por sua conta.", "option-show-navigation": "Mostrar navegação", "option-show-navigation-description": "Exibir uma lista de todas as páginas publicadas no lado esquerdo do seu site.", "option-show-search": "Mostrar barra de pesquisa", "option-show-search-description": "Exibir a barra de pesquisa no topo da navegação, que permite ao visitante procurar páginas e títulos no seu site.", "option-show-graph": "Mostrar Visualização de diagrama de grafo", "option-show-graph-description": "Exibir um pequeno diagrama de grafo local em cada página.", "option-show-outline": "Mostrar índice", "option-show-outline-description": "Exibir um índice dos títulos em cada página.", "option-show-backlinks": "Mostrar backlinks", "option-show-backlinks-description": "Mostrar a secção de backlinks no fim de cada página.", "option-sliding-window-mode": "Usar rotação de painéis", "option-sliding-window-mode-description": "Abrir páginas em novos painéis à direita. Permite navegar horizontalmente pelos painéis.", "option-hover-preview-file": "Mostrar pré-visualização", "option-hover-preview-file-description": "Exibir uma pré-visualização de página ao passar com o cursor sobre links.", "option-hide-title": "Esconde título da página", "option-hide-title-description": "Esconder o cabeçalho do título da página. É útil quando tem os seus próprios cabeçalhos no ínicio de cada página.", "option-readable-line-length": "Linhas de tamanho legível", "option-readable-line-length-description": "Limitar o tamanho máximo da linha. Cabe menos conteúdo no ecrã, mas faz os parágrafos mais fáceis de ler.", "option-site-password": "Palavras-passe", "option-site-password-description": "Limitar o acesso ao seu site com palavras-passe.", "option-google-analytics": "Código de recolha de dados do Google Analytics", "option-google-analytics-description": "Configurar o Google Analytics para o seu site. Apenas disponível a visitantes a partir do seu domínio personalizado. Verificar a compatibilidade com a lei e regulamentos locais.", "button-manage-passwords": "Gerir", "button-save-site-settings": "Guardar definições do site", "msg-updated-options": "Configurações atualizadas para o seu site.", "button-go-back": "Voltar", "label-publishing-to": "Publicando em", "tooltip-switch-site": "Trocar de site", "button-add-linked": "Adicionar linkado", "tooltip-add-linked": "Adicionar todos os ficheiros linkados pelos items selecionados", "msg-added-linked-files": "Adicionado {{count}} ficheiro linkado.", "msg-added-linked-files_plural": "Adicionados {{count}} ficheiros linkados.", "tooltip-open-site-options": "Mudar configurações do site", "label-no-changes-detected": "Nenhuma alteração detectada.", "label-changed-files-to-be-published": "Alterações", "label-unchanged-files-already-published": "Inalterado (selecione para eliminar)", "label-file-selected": " selecionado", "button-select-all-files": "Selecionar tudo", "label-custom-navigation-title": "Navigation items", "button-deselect-all-files": "Desselecionar tudo", "label-new-files-to-be-published": "Novo", "button-publish": "Publicar", "msg-no-permission-to-publish-to-site": "Não tem permissão para publicar no site atual.", "msg-select-at-least-one-file": "Por favor selecione pelo menos um ficheiro.", "label-upload-changes": "Enviar alterações", "button-done": "Feito", "button-stop": "Parar", "label-status-uploading": "A enviar", "label-status-to-publish": "Publicar", "label-status-to-delete": "Eliminar", "label-status-published": "Publicar", "label-status-deleted": "Apagado", "label-status-failed": "Falhou", "label-status-cancelled": "Cancelado", "button-change": "Mudar", "label-clear-cache": "As alterações vão demorar alguns minutos a aparecer no seu site. Caso não consiga ver as alterações, tente limpar a cache do seu navegador.", "label-visit-site": "Pode visitar o seu site em: ", "msg-something-went-wrong": "Ocorreu um erro. Por favor consulte o painel de controlo para mais detalhes.", "msg-network-error": "Ocorreu um erro de ligação. ", "label-manage-passwords": "Gerir palavras-passe", "label-add-password": "Adicioanr palavra-passe", "action-new-password": "Nova palavra-passe", "label-no-password": "Não existem palavras-passe para este site. Qualque um o pode visitar.", "label-have-password": "O site é protegido por palavra-passe. Se tiver várias palavras-passe, os visitantes podem aceder ao seu site digitando qualquer uma delas.", "option-password-name": "Palavra-passe", "option-password-desc": "Um algoritmo da sua palavra-passe será guardado em modo seguro. Uma vez definida, a palavra-passe não poderá ser revelada em texto simples.", "option-password-placeholder": "A sua palavra-passe", "option-nickname-name": "Alcunha (opcional)", "option-nickname-desc": "Definir uma alcunha para lembrar do que ou para quem é a palavra-passe.", "action-add-password": "Adicionar esta palavra-passe", "label-untitled-password": "Palavra-passe sem título", "label-password-created-time": "Criada a {{time}}", "msg-added-new-password": "Nova palavra-passe adicionada.", "option-custom-domain": "Domínio personalizado", "option-custom-domain-desc": "Usar o seu próprio domínio em vez do endereço https://publish.obsidian.md/{site id}.", "option-noindex": "Não permitir indexação do motor de pesquisa", "option-noindex-desc": "Não permitir que motores de pesquisa indexem o seu site.", "button-configure": "Configurar", "label-configure-custom-domain": "Configurar domínio personalizado", "option-custom-url-name": "Endereço personalizado", "option-custom-url-desc": "Endereço onde se localiza o seu site.", "option-custom-url-placeholder": "www.oseuendereço.com", "option-custom-url-redirect": "Redirecionar para o seu endereço personalizado", "option-custom-url-redirect-desc": "Redirecionar visitantes de publish.obsidian.md/id para o seu endereço personalizado.", "button-update-custom-domain": "Atualizar definição de domínio", "label-custom-domain-instructions": "Para mais informação ir a {{link}} no nosso site de ajuda.", "label-custom-domain-link-name": "Guia de configuração de domínio personalizado", "label-site-usage": "Está a usar {{site}} do seu limite {{limit}}.", "button-add-more-sites": "Comprar mais sites", "label-no-sites-bought": "Não comprou nenhum site.", "button-get-site": "Obter um site", "label-manage-sharing": "Gerir partilhas para \"{{name}}\"", "label-sharing-with-users": "Este site está a ser partilhada com os seguintes utilizadores.", "label-not-sharing": "Este site não está a ser partilhado com ninguém.", "label-invite-pending": "Pendente", "tooltip-remove-user": "Remover utilizador", "option-invite-user": "Convidar utilizador", "placeholder-invite-user": "Introduza o seu email...", "error-email-must-be-valid": "Por favor introduza um email válido para convidar alguém.", "msg-enable-publish-plugin": "Por favor ative o plugin principal Publicar nas Configurações -> Plugins Base para ver sites.", "label-your-sites": "Os seus sites", "label-sites-shared-with-you": "Sites partilhados consigo", "tooltip-leave-site-sharing": "Parar de colaborar neste site", "label-leave-site-confirmation": "Confirmar a cessação da colaboração neste site", "label-leave-site-confirmation-details": "Este site será removido da lista de sites partilhados consigo. Esta ação não é reversível.", "label-leave-site-confirmation-details-2": "Por favor contacte o dono do site se deseja colaborar novamente neste site.", "button-leave": "Sair", "label-compare-with-live": "Comparar com a versão ao vivo", "button-use-live-version": "Usar versão ao vivo", "label-confirm-override": "Confirmar a escrita por cima sobre a versão local", "label-confirm-override-1": "Tem a certeza que quer escrever por cima da versão local?", "label-confirm-override-2": "A versão ao vivo irá ser usada e a sua versão local será descartada. Por favor faça um cópia de segurança, se necessário.", "button-proceed": "Continuar", "message-successfully-used-live-version": "Sucesso em usar a versão ao vivo para escrever por cima da sua versão local.", "label-open-in-live-site": "Open in live site", "label-open-file": "Abrir ficheiro", "tooltip-manage-publish-filters": "Gerir filtros de publicação", "option-included-folders": "Pastas incluídas", "option-included-folders-desc": "Ficheiros nestas pastas serão automaticamente selecionados nas revisões feitas antes da publicação.", "option-currently-included-folders": " Estas pastas estão atualmente incluídas:", "option-excluded-folders": "Pastas excluídas", "option-excluded-folders-desc": "Ficheiros nestas pastas não apareceram nas revisões feitas antes da publicação. Esta configuração tem prioridade sobre as pastas incluídas acima.", "label-number-of-folders-included": "Obsidian Publicar está a incluir {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publicar está a excluir {{folders}}.", "label-manage-included-folders": "Gerir pastas incluídas ", "label-manage-excluded-folders": "Gerir pastas excluídas", "label-add-included-folder": "Incluir uma pasta", "label-add-included-folder-desc": "Pode incluir pastas existentes ou pastas que ainda não foram criadas.", "tooltip-contact-support": "Contactar suporte", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "Áreas de trabalho", "desc": "Guardar e carregar layout da área de trabalho.", "action-load-layout": "Carregar esquema da área de trabalho", "action-manage-layouts": "Gerir esquema da área de trabalho", "action-save": "Save layout", "action-save-and-load-layout": "Guardar e carregar outro esquema", "placeholder-save-current-layout-as": "Guardar esquema da área de trabalho atual como...", "button-save": "Guardar", "button-load": "Carregar", "tooltip-delete-layout": "Apagar esquema", "msg-enter-name": "Por favor introduza um nome para o novo esquema.", "msg-save-layout-success": "Sucesso em gravar o esquema.", "label-no-layout-found": "Nenhum esquema encontrado.", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "Introduza o nome do esquema..." }, "sync": { "name": "Sincronizar", "desc": "Sincronizar os seus ficheiros através do Obsidian Sync.", "action-view-version-history": "Ver histórico de versões", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "Carregar mais", "label-show-diff": "Mostrar diferenças", "label-copy-to-clipboard": "Copiar para a área de transferência", "label-restore-this-version": "Restaurar esta versão", "msg-already-latest-version": "Esta versão é a mais recente.", "msg-restored-version": "Versão {{time}} restaurada com sucesso", "label-file-deleted": "Este ficheiro foi apagado", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "This file was renamed from \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revision", "label-revision_plural": "{{revisions}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "Vazio", "label-unable-to-retrieve": "Unable to retrieve version history", "label-setting-files": "Ficheiros de configuração", "label-deleted-files": "Ficheiros apagados", "label-version-history": "História de versionamento", "label-click-to-see-history": "Clique num ficheiro apagado para ver o seu histórico.", "label-create-remote-vault": "Criar vault remoto", "msg-please-enter-password": "Insira uma palavra-passe.", "msg-vault-name-cannot-be-empty": "O nome do vault não pode estar vazio.", "msg-successfully-created-vault": "Vault remoto \"{{name}}\" criado com sucesso.", "label-remote-vault-explanation": "O vault remoto permite sincronizar de forma segura o seu vault entre dispositivos.", "option-vault-name": "Nome do vault", "option-vault-name-desc": "Ajuda a lembrar a função do vault.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Select the server region closest to you to store the remote vault. This cannot be changed in the future.", "option-vault-name-placeholder": "O meu incrível vault", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Chave de encriptação", "option-encryption-password-desc": "Esta chave não poderá ser alterada mais tarde.", "option-encryption-password-desc-warning": "Caso se esqueça desta chave, todos os seus dados remotos ficarão inutilizáveis.", "option-encryption-password-desc-2": "Isto não afeta os seus dados locais.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "A sua chave", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "Desbloquear vault", "label-remote-vaults": "Os seus vaults remotos", "label-vault-created-time": "Criado em {{time}}", "tooltip-delete-remote-vault": "Eliminar", "tooltip-rename-remote-vault": "Rename", "label-rename-remote-vault": "Rename remote vault \"{{name}}\"", "label-rename-remote-vault-desc": "Enter a new name for this remote vault.", "tooltip-manage-sharing": "Gerir partilha", "label-confirm-delete-remote-vault": "Confirmar eliminação do vault", "label-confirm-delete-remote-vault-question": "Tem a certeza que deseja eliminar este vault remoto?", "label-confirm-delete-remote-vault-result": "Todos os dados no nosso servidor, incluindo o histórico de versões, serão eliminados. Os seus ficheiros locais permanecerão intactos.", "label-confirm-delete-remote-vault-warning": "Esta ação é permanente e irreversível.", "msg-remote-vault-deleted": "{{name}} foi eliminado.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "Conectar", "button-disconnect-from-remote-vault": "Desconectar", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "Não existe nenhum vault remoto.", "label-no-subscription": "You don't have an active Obsidian Sync subscription.", "label-please-visit": "Please visit", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "Criar novo vault", "label-sync-log": "Registo de sincronização", "option-event-type-all": "All", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Merge conflicts", "button-copy-sync-log": "Copiar registo de sincronização", "msg-successfully-copied-sync-log": "Registo de sincronização copiado com sucesso.", "button-retry": "Tentar novamente", "button-purchase-subscription": "Comprar", "label-third-party-sync-warning": "Conflicting file sync service detected", "label-third-party-sync-warning-desc": "Warning: Your vault seems to be using {{service}} as a third party sync service. If you use Obsidian Sync with this vault, you may run into conflicts, file corruption, or data loss.", "label-icloud-drive-warning": "If you are using iCloud Drive, your Documents and Desktop folders might be synced by iCloud. This could cause conflicts with Obsidian Sync.", "option-remote-vault": "Remote vault", "button-choose-remote-vault": "Escolher", "button-manage-remote-vault": "Manage", "option-remote-vault-desc-connected": "Atualmente conectado ao vault remoto \"{{name}}\".", "option-remote-vault-desc-not-connected": "Não está conectado a nenhum vault remoto.", "option-sync-status": "Status da sincronização", "option-sync-status-desc-paused": "O Obsidian Sync está pausado.", "option-sync-status-desc-running": "O Obsidian Sync está em execução.", "option-device-name": "Nome do dispositivo", "option-device-name-desc": "Este nome será exibido no registo de sincronização. Deixe em branco para usar o nome padrão.", "button-resume": "Retomar", "button-pause": "Pausar", "option-view-deleted-files": "Ficheiros eliminados", "option-view-deleted-files-desc": "Ver e restaurar ficheiros eliminados.", "option-sync-log": "Atividade do Sync", "option-sync-log-desc": "Ver atividades recentes de sincronização para resolução de problemas.", "button-view": "Ver", "button-bulk-restore": "Restauração em massa", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "A restaurar...", "msg-restoring-complete": "`Restauração completa: {{succeeded}} sucedidos e {{failed}} falhados.`", "option-vault-size": "Vault size", "option-vault-size-desc": "You are using {{size}} out of {{limit}}", "option-vault-size-unknown": "Unable to retrieve your vault size.", "option-vault-size-loading": "Retrieving your vault size...", "option-over-size": "Tamanho do vault acima do limite", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "Ver ficheiros maiores", "msg-largest-files-desc": "Estes são so ficheiros remotos que ocupam mais espaço. Após eliminar os anexos, utilize o botão Limpar para libertar espaço do vault remoto.", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "Limpar", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "Limpa permanentemente os anexos eliminados do vault remoto para libertar espaço.", "msg-purge-complete": "Limpeza completada.", "option-prevent-sleep": "Impedir suspensão do dispositivo", "option-prevent-sleep-desc": "Impede o dispostivo de entrar em suspensão quando ainda existem ficheiros que ainda não foram sincronizados.", "option-selective-sync": "Sincronização seletiva", "option-excluded-folders": "Pastas excluídas", "option-excluded-folder-desc": "Impede que certas pastas sejam sincronizadas.", "option-currently-excluded-folders": " Pastas atualmente excluídas:", "button-manage-excluded-folders": "Gerir", "option-sync-image": "Sincronizar imagens", "option-sync-image-desc": "Sincrozinar ficheiros de imagens com as seguintes extensões: {{extensions}}.", "option-sync-audio": "Sincronizar áudio", "option-sync-audio-desc": "Sincronizar ficheiros de áudio com as seguintes extensões: {{extensions}}.", "option-sync-video": "Sincronizar vídeos", "option-sync-video-desc": "Sincronizar ficheiros de vídeo com as seguintes extensões: {{extensions}}.", "option-sync-pdf": "Sincronizar PDFs", "option-sync-pdf-desc": "Sincronizar ficheiros PDF.", "option-sync-unsupported": "Sincronizar todos os outros tipos", "option-sync-unsupported-desc": "Sincronizar tipos de ficheiros não suportados.", "option-vault-config-sync": "Sincronizar configurações do vault", "option-view-config-files": "História do versionamento das configurações", "option-view-config-files-desc": "Ver e restaurar a história do versionamento dos ficheiros de configuração.", "option-sync-app": "Configurações principais", "option-sync-app-desc": "Ativar a sincronização das configurações do editor, ficheiros & configurações de links, hotkeys personalizadas, etc.", "option-sync-appearance": "Configurações de aparência", "option-sync-appearance-desc": "Sincronizar configurações de aparência como modo escuro, tema ativo, e snippets ativos.", "option-sync-appearance-data": "Temas e snippets", "option-sync-appearance-data-desc": "Sincronizar temas e snippets transferidos. A configuração anterior guarda a informação se estão ativos ou não.", "option-sync-hotkey": "Hotkeys", "option-sync-hotkey-desc": "Sincronizar hotkeys personalizadas.", "option-sync-core-plugin": "Lista de plugins base ativos", "option-sync-core-plugin-desc": "Sincronizar que plugins base estão ativos.", "option-sync-core-plugin-data": "Configurações de plugins base", "option-sync-core-plugin-data-desc": "Sincronizar as configurações de plugins base.", "option-sync-community-plugin": "Lista de plugins da comunidade ativos", "option-sync-community-plugin-desc": "Sincronizar que plugins da comunidade estão ativos.", "option-sync-community-plugin-data": "Plugins da comunidade instalados", "option-sync-community-plugin-data-desc": "Sincronizar plugins da comunidade instalados (.js, .css, e ficheiros manifest.json) e as suas configurações.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync é um serviço add-on do Obsidian com encriptação end-to-end e histórico de versões.", "label-account-required": "Para iniciar a sincronização, efetue o login ou crie uma nova conta Obsidian.", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "Registar", "button-log-in": "Entrar", "label-manage-excluded-folders": "Gerir pastas excluídas", "label-number-of-folders-excluded": "{{folders}} estão excluídas da sincronização.", "label-add-excluded-folder": "Excluir uma pasta", "label-add-excluded-folder-desc": "Pode excluir pastas existentes ou pastas que ainda não foram criadas.", "tooltip-remove-excluded-folder": "Remover da lista de exclusão", "label-setup-connection": "Configurar conexão", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "Conexão estabelecida para \"{{name}}\".", "button-start-syncing": "Começar sincronização", "label-confirm-merge-vault": "Confirmar Merge Vault", "msg-vault-has-notes": "O seu vault local já contém algumas notas.", "msg-vault-merge-warning": "Se conectar com o vault remoto \"{{name}}\", as notas no seu vault local serão misturadas com as notas no seu vault remoto. No caso de conflitos, a versão mais recente da nota será preservada.", "tooltip-update-setting-on-all-devices": "Por favor atualize esta opção e reinicie a aplicação em todos os dispositivos onde quer que tenha efeito.", "label-sharing-with-users": "Este vault remoto está a ser partilhado com os seguintes utilizadores.", "label-not-sharing": "Este vault remoto não está a ser partilhado com ninguém.", "label-vaults-shared-with-you": "Vaults partilhados consigo", "tooltip-leave-vault-sharing": "Parar de colaborar neste vault", "label-leave-vault-confirmation": "Confirmar a paragem da colaboração neste vault", "label-leave-vault-confirmation-details": "Isto erá remover este vault da lista de vaults partilhados consigo. Esta açõa não é reversível.", "label-leave-vault-confirmation-details-2": "Por favor contacte o dono do vault se deseja colaborar novamente neste vault.", "button-leave": "Sair", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "Precisa de uma subscrição Obsidian Sync para se conectar a este vault.", "option-contact-support": "Contactar suporte", "option-contact-support-desc": "Se encontrar algum problema com Obsidian Sync, por favor contacte-nos para lhe podermos ajudar! Pode contactar-nos em support@obsidian.md.", "button-copy-debug": "Copy debug info", "button-email-support": "Suporte de email", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Sync lets you create up to 5 remote vaults. In order to create a new remote vault, please remove an existing one.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "Recuperação de ficheiros", "desc": "Permite restaurar cópias instantâneas recentes para recuperar de uma perda acidental de dados. As cópias instantâneas são guardadas apenas para ficheiros Markdown.", "action-open": "Abrir cópias instantâneas guardadas", "option-interval": "Intervalo da cópia instantânea", "option-interval-description": "Intervalo mínimo em minutos entre duas cópias instantâneas.", "option-keep": "Duração do histórico", "option-keep-description": "Duração em dias pelos quais as cópias instantâneas são mantidas.", "option-open-history": "Cópias instantâneas", "option-open-history-description": "Ver e restaurar cópias instantâneas guardadas.", "button-view-history": "View", "option-clear": "Apagar histórico", "option-clear-description": "Eliminar todas as cópias instantâneas.", "button-clear-history": "Apagar", "label-clear-warning": "Tem a certeza que deseja eliminar todas as cópias instantâneas? Apenas cópias instantâneas serão eliminadas. Os seus ficheiros não serão afetados.", "msg-clear-complete": "Cópias instantâneas eliminadas.", "label-no-history-found": "Não foi encontrada nenhuma cópia instantânea.", "placeholder-choose-file": "Escolher um ficheiro...", "label-select-file": "Escolher um ficheiro à esquerda para visualizar as cópias instantâneas." }, "note-composer": { "name": "Compositor de notas", "desc": "Fundir, separar, e refatorar notas.", "option-confirm-file-merge": "Confirmar fusão do ficheiro", "option-confirm-file-merge-description": "Avisar antes da fusão de dois ficheiros.", "option-split-replacement-text": "Texto depois da extração", "option-split-replacement-text-description": "O que mostrar no lugar do texto depois da sua extração.", "option-choice-split-replacement-text-link": "Link para um novo ficheiro", "option-choice-split-replacement-text-embed": "Embutir um novo ficheiro", "option-choice-split-replacement-text-none": "Nada", "option-template-file": "Localização do ficheiro modelo", "option-template-file-description": "Ficheiro modelo a ser usado na fusão ou extração. Variáveis disponíveis: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, e.g. {{date:YYYY-MM-DD}}.", "command-merge-file": "Fundir ficheiro atual com outro ficheiro...", "action-merge-file": "Fundir o ficheiro inteiro com...", "label-no-files": "Nenhum ficheiro encontrado.", "instruction-navigate": "para navegar", "instruction-merge": "para fundir", "instruction-create-new": "para criar novo", "instruction-merge-at-top": "para fundir no início", "instruction-dismiss": "para dispensar", "prompt-select-file-to-merge": "Selecionar ficheiro para fundir em...", "label-merge-file": "Fundir ficheiro", "label-confirm-file-merge": "Tem a certeza que quer fundir o ficheiro \"{{file}}\" em \"{{destination}}\"? \"{{file}}\" será apagado.", "button-merge": "Fundir", "command-split-file": "Extrair seleção atual...", "command-extract-heading": "Extrair este cabeçalho...", "instruction-append": "para mover para o fim", "instruction-prepend": "para mover para o início", "msg-fail-to-fetch-template": "Falha na busca do ficheiro modelo : \"{{template}}\" não encontrado.", "msg-fail-to-find-heading": "Falha na procura do cabeçalho" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Canvas", "desc": "Arrange and connect notes on an infinite canvas.", "action-add-note": "Add note from vault", "action-add-media": "Add media from vault", "action-add-card": "Add card", "action-add-website": "Add web page", "action-create-group": "Create group", "action-create-with-size": "Create a card with specific size", "action-convert-to-file": "Convert to file...", "action-drag-to-add-note": "Drag to add note from vault", "action-drag-to-add-media": "Drag to add media from vault", "action-drag-to-add-card": "Drag to add card", "action-edit-label": "Edit label", "action-remove-label": "Remove label", "action-search-file": "Search for file", "action-set-color": "Set color", "action-align": "Align", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-align-top": "Align top", "action-align-middle": "Align middle", "action-align-bottom": "Align bottom", "action-distribute-horizontal-spacing": "Distribute horizontal spacing", "action-distribute-vertical-spacing": "Distribute vertical spacing", "action-justify-horizontally": "Justify horizontally", "action-justify-vertically": "Justify vertically", "action-arrange-horizontally": "Arrange in a row", "action-arrange-vertically": "Arrange in a column", "action-arrange-grid": "Arrange in a grid", "action-export-png": "Export as image", "action-jump-to-group": "Jump to group", "action-set-background": "Set background", "action-edit-background": "Edit background", "action-replace-background": "Replace background", "action-remove-background": "Remove background", "label-no-images": "No images found.", "label-no-media": "No media found.", "label-export-png-desc": "Export \"{{title}}\" with a PNG file with the settings below.", "label-export-png-dimensions": "Estimated image dimensions: {{dimensions}}", "label-distribute": "Distribute", "label-justify": "Justify", "label-arrange": "Arrange", "label-always": "Always", "label-hover": "On hover", "label-never": "Never", "label-no-section-found": "No section found", "option-wheel-behavior": "Default mouse wheel behavior", "option-mod-drag-behavior": "Default {{key}} behavior", "option-show-menu": "Show menu", "option-new-canvas-location": "Default location for new canvas files", "option-new-canvas-location-description": "Where newly created canvas files are placed.", "option-new-canvas-folder-path": "Folder to create new canvas files in", "option-new-canvas-folder-path-description": "Newly created canvas files will appear under this folder.", "option-node-label": "Display card label", "option-snap-to-grid": "Snap to grid", "option-snap-to-grid-desc": "Snap cards to the background grid when moving and resizing.", "option-snap-to-objects": "Snap to objects", "option-snap-to-objects-desc": "Snap cards to nearby objects when moving and resizing.", "option-zoom-breakpoint": "Zoom threshold for hiding card content", "option-zoom-breakpoint-desc": "Lower values will increase performance but hide card content sooner when zooming out.", "option-export-png-show-logo": "Show logo", "option-export-png-show-logo-desc": "This will add an Obsidian logo to the bottom left.", "option-export-png-privacy-mode": "Privacy mode", "option-export-png-privacy-mode-desc": "This will obscure any text on your canvas.", "option-export-png-zoom": "Zoom", "option-export-png-zoom-desc": "A higher zoom will generate a higher resolution image.", "option-export-png-frame": "Viewport", "option-export-png-frame-desc": "Choose to render the entire canvas or just the current visible viewport.", "option-export-png-frame-full": "Full canvas", "option-export-png-frame-viewport": "Viewport only", "option-background-cover": "Cover", "option-background-ratio": "Keep aspect ratio", "option-background-repeat": "Repeat", "action-new-canvas": "New canvas", "action-remove": "Remove", "action-narrow-heading": "Narrow to heading...", "action-narrow-block": "Narrow to block...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Swap file...", "action-change-url": "Change URL...", "action-zoom-to-fit": "Zoom to fit", "action-zoom-to-selection": "Zoom to selection", "action-reload-page": "Reload page", "action-follow-connection": "Follow connection", "command-create-new-canvas": "Create new canvas", "command-convert-to-file": "Convert to file...", "instruction-narrow-heading": "to embed heading", "instruction-narrow-block": "to embed block", "instruction-jump-to-group": "to navigate to group", "prompt-to-narrow": "Type name of heading", "label-enter-url": "Enter URL", "label-empty-embed": "\"{{linktext}}\" could not be found.", "prompt-add-text": "Add text...", "prompt-start-search": "Type to search...", "label-canvas-help": "Canvas help", "label-canvas-settings": "Canvas settings", "label-no-narrow": "Show entire file", "label-show-default-view": "Show default view", "label-readonly": "Read-only", "label-disable-readonly": "Disable read-only", "label-pan": "Pan", "label-pan-horizontal": "Pan horizontally", "label-zoom": "Zoom", "label-select-all": "Select all", "label-add-remove-selection": "Add to / remove from selection", "label-clone-card": "Clone card", "label-constrain-movement-axis": "Constrain card movement to axis", "label-disable-drag-snapping": "Disable snapping while dragging", "label-remove-card": "Remove card", "label-drag-from-below": "Drag from below or double click", "label-longpress": "Touch and hold to add / move / select", "label-drag-pan": "Drag to pan", "label-pinch-zoom": "Pinch to zoom", "label-space-drag-pan": "Space + Drag to pan", "label-scroll-to-zoom": "Scroll to zoom", "label-untitled-group": "Untitled group", "label-line-direction": "Line direction", "label-nondirectional": "Nondirectional", "label-unidirectional": "Unidirectional", "label-bidirectional": "Bidirectional", "label-image": "Image", "label-style": "Style", "msg-no-groups-found": "No groups found", "msg-export-failed-empty-canvas": "Cannot export an empty canvas", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Highlight all", "action-match-diacritics": "Match diacritics", "action-whole-words": "Whole words", "action-show-thumbnails": "Thumbnails", "action-show-outline": "Table of contents", "action-reveal-in-outline": "Reveal page in table of contents", "action-toggle-sidebar": "Toggle sidebar", "action-previous-page": "Previous page", "action-next-page": "Next page", "action-fit-width": "Fit width", "action-fit-height": "Fit height", "action-save-p-d-f-location": "Save current position in document", "action-copy-annotation": "Copy annotation", "action-copy-quote": "Copy as quote", "action-copy-selection-link": "Copy link to selection", "action-copy-annot-link": "Copy link to annotation", "action-copy-section-link": "Copy link to section", "action-copy-section-link-title": "Copy link to “{{title}}”", "action-copy-page-link": "Copy link to page {{page}}", "msg-max-search-results": "{{current}} of over {{limit}} matches", "msg-search-count": "{{current}} of {{total}} match", "msg-search-count_plural": "{{current}} of {{total}} matches", "msg-password-protected": "This PDF is password protected", "msg-invalid-password": "Invalid password", "msg-enter-password": "Enter the password below", "label-of-pages": "of {{count}}", "label-page-of-pages": "({{current}} of {{count}})", "label-spread-single": "Single page", "label-spread-odd": "Two page (odd)", "label-spread-even": "Two page (even)", "tooltip-sidebar-options": "Sidebar options", "tooltip-display-options": "Display options", "label-adapt-to-theme": "Adapt to theme", "label-page": "page {{page}}", "page_landmark": "Page {{page}}", "thumb_page_title": "Page {{page}}", "thumb_page_canvas": "Page {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "List", "option-unknown": "Unknown", "option-text": "Text", "option-aliases": "Aliases", "option-tags": "Tags", "option-folder": "Folder", "option-file": "File", "option-date": "Date", "option-datetime": "Date & time", "option-number": "Number", "option-checkbox": "Checkbox" }, "value-suggestion": { "key-link-note": "Type [[", "instruction-link-note": "to link note", "instruction-dismiss": "to dismiss" }, "option-property-type": "Property type", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "Invalid tag name", "msg-invalid-number": "Invalid number", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "No value", "label-heading": "Properties", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "Add property", "label-type-mismatch-warning": "Type mismatch, expected {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Column", "label-row": "Row", "action-row-after": "Add row after", "action-column-after": "Add column after", "action-row-before": "Add row before", "action-row-up": "Move row up", "action-row-down": "Move row down", "action-column-before": "Add column before", "action-column-left": "Move column left", "action-column-right": "Move column right", "action-duplicate-row": "Duplicate row", "action-duplicate-column": "Duplicate column", "action-delete-row": "Delete row", "action-delete-column": "Delete column", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-delete-selection": "Delete cells", "action-clear-selection": "Clear cells", "action-sort-a-z": "Sort by column (A to Z)", "action-sort-z-a": "Sort by column (Z to A)", "label-command": "Table: {{command}}" }, "callout": { "option-type": "Callout type", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Success", "question": "Question", "warning": "Warning", "quote": "Quote", "example": "Example", "none": "None" }, "option-other": "Other...", "option-other-placeholder": "Callout type..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} palavra", "word-with-count_plural": "{{count}} palavras", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} carácter", "character-with-count_plural": "{{count}} caracteres", "link-with-count": "{{count}} link", "link-with-count_plural": "{{count}} links", "file-with-count": "{{count}} ficheiro", "file-with-count_plural": "{{count}} ficheiros", "folder-with-count": "{{count}} pasta", "folder-with-count_plural": "{{count}} pastas", "backlink-with-count": "{{count}} backlink", "backlink-with-count_plural": "{{count}} backlinks", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} property", "properties-with-count_plural": "{{count}} properties", "site-with-count": "{{count}} site", "site-with-count_plural": "{{count}} sites", "plugin-with-count": "{{count}} plugin", "plugin-with-count_plural": "{{count}} plugins", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} tema", "theme-with-count_plural": "{{count}} temas" } }{ "setting": { "options": "Opțiuni", "plugin": "Modul", "builtin-plugins": "Module integrate", "plugin-options": "Opțiunile modulului", "folder-path-example-placeholder": "Exemplu: director 1/director 2", "file-path-example-placeholder": "Exemplu: director/însemnare", "msg-restart-required": "Schimbarea acestei opțiuni necesită o repornire pentru a lua efect.", "editor": { "name": "Editor", "section-behavior": "Comportament", "section-display": "Afișaj", "option-spellcheck": "Verificatorul ortografic", "option-spellcheck-description": "Porniți verificatorul ortografic. Momentan, acesta funcționează doar pentru limba engleză (SUA).", "spellcheck-languages": "Limbi pentru verificatorul ortografic", "spellcheck-languages-description": "Alegeți limbile pentru care să fie utilizat verificatorul ortografic.", "spellcheck-languages-mac-description": "Verificatorul ortografic nativ va detecta automat limba folosită pe macOS.", "spellcheck-dict": "Dicționarul ortografic", "spellcheck-dict-empty": "Dicționarul ortografic este gol.", "option-show-inline-title": "Afișați titlul în linie", "option-show-inline-title-description": "Afișați numele fișierului ca un titlu editabil în linie cu conținutul fișierului.", "option-readable-line-length": "Limitați lungimea rândului", "option-readable-line-description": "Limitați lungimea maximă a unui rând. Încadrează mai puțin conținut pe ecran, dar face paragrafele lungi mai ușor de citit.", "option-strict-line-break": "Afișați spațiile de un singur rând", "option-strict-line-break-description": "Specificațiile Markdown prevăd ignorarea spațiilor de un singur rând în modul de citire. Dezactivați această setare pentru a face spațiile de un singur rând vizibile.", "option-properties-in-document": "Alegeți modul de afișare al proprietăților", "option-properties-in-document-description": "Alegeți modul în care sunt afișate proprietățile în cadrul editorului. Selectați „Sursă” pentru a avea proprietățile afișate în format YAML.", "option-properties-hidden": "Ascunse", "option-properties-visible": "Vizibile", "option-properties-source": "Sursă", "option-auto-pair-brackets": "Grupați automat perechile de paranteze", "option-auto-pair-brackets-description": "Grupați automat parantezele și ghilimelele.", "option-auto-pair-markdown": "Grupați automat elementele de sintaxă Markdown", "option-auto-pair-markdown-description": "Împerecheați simbolurile pentru text îngroșat și cursiv.", "option-smart-indent-lists": "Indentați listele în mod inteligent", "option-smart-indent-lists-description": "Automatizați indentarea pentru elementele listelor.", "option-fold-heading": "Permiteți plierea titlurilor", "option-fold-heading-description": "Permiteți plierea întregului conținut aflat sub un titlu.", "option-fold-indent": "Permiteți plierea indentărilor", "option-fold-indent-description": "Permiteți plierea unei părți indentate, de exemplu, în cazul unei liste.", "option-default-new-tab-view": "Alegeți modul implicit al filelor nou create", "option-default-new-tab-view-description": "Alegeți modul implicit în care se deschide o filă Markdown nouă.", "option-default-new-tab-view-editing": "Modul de editare", "option-default-new-tab-view-reading": "Modul de citire", "option-open-tab-in-foreground": "Comutați întotdeauna la filele nou create", "option-open-tab-in-foreground-description": "Atunci când deschideți o legătură într-o filă nouă, comutați imediat la aceasta.", "option-default-editing-mode": "Alegeți modul de editare implicit", "option-default-editing-mode-description": "Alegeți modul de editare implicit la crearea unui nou panou.", "option-default-editing-mode-source": "Modul sursă", "option-default-editing-mode-live-preview": "Modul de previzualizare în direct", "option-show-line-number": "Arătați numărul liniei", "option-show-line-number-description": "Afișați numărul liniilor de text.", "option-indentation-guide": "Afișați ghidurile de indentare", "option-indentation-guide-description": "Afișați linii de relație verticală între punctele de marcator pentru a facilitate orientarea vizuală.", "option-use-tabs": "Folosiți caracterele de tabulație", "option-use-tabs-description": "Folosiți caracterele de tabulație pentru a indenta atunci când apăsați tasta „Tab”. Dezactivați pentru a folosi spațiile.", "option-tab-size": "Setați dimensiunea caracterului de tabulație", "option-tab-size-description": "Setați numărul de spații echivalente unui caracter de tabulație.", "option-rtl": "Setați afișarea de la dreapta la stânga (RTL)", "option-rtl-description": "Setați direcția textului în cadrul însemnărilor astfel încât acesta să fie afișat de la dreapta la stânga.", "option-auto-convert-html": "Permiteți conversia automată a conținutului HTML", "option-auto-convert-html-description": "Permiteți conversia automată a conținutului din HTML în Markdown în procesele de copiere cât și tragere și plasare a conținutului preluat de pe paginile web. Utilizați Ctrl/Cmd+Shift+V pentru a lipi fără conversie.", "option-vim-key-bindings": "Activați modul Vim", "option-vim-key-bindings-description": "Permiteți utilizarea combinațiilor de taste din Vim în editor.", "option-vim-key-bindings-mobile": "Pe dispozitivele mobile, această setare se face la nivel de dispozitiv și nu este sincronizată prin fișierul de configurare.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Confirmați intrarea în modul Vim", "label-vim-warning": "Modul Vim permite editarea eficientă a textului, dar poate fi destul de contraintuitiv. Dacă nu sunteți familiarizat(ă) cu Vim, această opțiune ar putea face ca Obsidian să pară că nu mai funcționează.", "label-vim-test": "Pentru a verifica că înțelegeți principiile din spatele modului Vim, introduceți mai jos comanda folosită pentru a ieși din Vim fără a salva fișierul:", "label-vim-your-answer": "Răspunsul dvs.", "placeholder-enter-command": "Introduceți comanda...", "button-confirm-enable-vim": "Permiteți activarea modului Vim", "msg-vim-mode-enabled": "Comanda este corectă. Modul Vim este acum activat.", "msg-vim-mode-not-enabled": "Comanda este incorectă. Modul Vim rămâne dezactivat pentru a vă proteja.", "msg-vim-mode-please-enter-command": "Introduceți comanda pentru a activa modul Vim" }, "file": { "name": "Fișiere și legături", "option-confirm-file-deletion": "Confirmați ștergerea fișierelor", "option-confirm-file-deletion-description": "Veți primi o întrebare pentru a confirma ștergerea fișierelor.", "option-delete-destination": "Alegeți destinația fișierelor șterse", "option-delete-destination-description": "Alegeți ce se întâmplă cu fișierele după ce le ștergeți.", "option-choice-system-trash": "Se mută în coșul de gunoi al sistemului de operare", "option-choice-vault-trash": "Se mută în coșul de gunoi al aplicației Obsidian (directorul „.trash”)", "option-choice-permanent-delete": "Se șterg permanent", "option-always-update-links": "Permiteți actualizarea automată a legăturilor interne", "option-always-update-links-description": "Puteți seta aplicația fie să actualizeze automat legăturile după ce redenumiți un fișier, fie să afișeze o întrebare.", "option-new-note-location": "Alegeți locul implicit al unei însemnări noi", "option-new-note-location-description": "Stabiliți unde vor fi puse însemnările nou create. Setările din module vor suprascrie această opțiune.", "option-choice-vault-root": "În directorul rădăcină al seifului", "option-choice-current-folder": "În același director în care se află însemnarea", "option-choice-specified-folder": "În directorul menționat mai jos", "option-new-file-folder-path": "Directorul în care vor fi create însemnările noi", "option-new-file-folder-path-description": "Însemnările nou create vor apărea sub acest director. Setările din module vor suprascrie această opțiune.", "option-use-wiki-links": "Permiteți folosirea legăturilor în format [[wiki]]", "option-use-wiki-links-description": "Permiteți generarea automată a [[legăturilor]] și ![[imaginilor]] în format wiki în locul celor Markdown. Dezactivați această opțiune pentru a genera legături în format Markdown.", "option-show-unsupported-files": "Permiteți afișarea fișierelor indiferent de extensia acestora", "option-show-unsupported-files-description": "Permiteți afișarea fișierelor chiar dacă Obsidian nu le poate deschide nativ, astfel încât să puteți crea legături către acestea și să le puteți vedea atât în exploratorul de fișiere cât și în comutatorul rapid.", "option-link-autocompleted-format": "Alegeți formatul legăturilor noi", "option-link-autocompleted-format-description": "Stabiliți ce fel de legături să fie introduse atunci când sunt generate legături interne în mod automat.", "option-choice-shortest-linktext": "Calea cea mai scurtă dacă este posibil", "option-choice-relative-path": "Calea relativă către fișier", "option-choice-absolute-path": "Calea absolută în seif", "option-new-attachment-location": "Alegeți directorul implicit pentru atașamente noi", "option-new-attachment-location-description": "Stabiliți unde sunt plasate atașamentele nou adăugate.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "Într-un subdirector al directorului actual", "option-attachment-folder-path": "Alegeți calea directorului de atașamente", "option-attachment-folder-path-description": "Fișierele noi de tip atașament vor apărea aici. Acestea includ atât imaginile create prin tragere și plasare sau prin lipire, cât și înregistrările audio.", "option-attachment-subfolder-path": "Alegeți numele subdirectorului de atașamente", "option-attachment-subfolder-path-description": "Dacă însemnarea dvs. se află în „seif/director”, iar numele subdirectorului este setat să fie „atașamente”, atunci atașamentele vor fi salvate în „seif/director/atașamente”.", "option-excluded-files": "Alegeți fișierele care să fie excluse", "option-excluded-files-desc": "Fișierele excluse vor fi ascunse sau mai puțin vizibile în diferite locuri, cum ar fi în comutatorul rapid, în sugestiile de legături cât și în afișajul grafic.", "label-no-excluded-filters-applied": "Niciun filtru de excludere nu este aplicat în acest moment. Adăugați unul mai jos.", "label-excluded-filters-applied": "Fișierele care corespund următoarelor filtre sunt în prezent excluse:", "label-excluded-filter": "Filtru", "message-empty-filter": "Filtrul nu poate fi gol", "placeholder-excluded-filter": "Introduceți calea sau „/expresia regulată/”...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Personalizare", "option-base-theme": "Alegeți schema de culoare implicită", "option-base-theme-description": "Alegeți schema de culoare implicită a aplicației Obsidian.", "option-accent-color": "Alegeți culoarea de accent", "option-accent-color-description": "Alegeți culoarea de accent utilizată în cadrul aplicației.", "dark-theme": "Schema întunecată", "light-theme": "Schema luminoasă", "system-theme": "Schema implicită a sistemului", "option-font": "Setări de font", "option-advanced": "Setări avansate", "option-interface": "Setări de interfață", "option-interface-font": "Alegeți fontul interfeței", "option-interface-font-description": "Alegeți fontul pentru interfața aplicației.", "option-zoom-level": "Alegeți nivelul de zoom", "option-zoom-level-description": "Alegeți nivelul de zoom al aplicației.", "option-text-font": "Alegeți fontul editorului", "option-text-font-description": "Alegeți fontul pentru modurile de editare și citire.", "option-monospace-font": "Alegeți fontul monospațiat", "option-monospace-font-description": "Alegeți fontul utilizat atât pentru blocurile de cod cât și pentru proprietățile însemnărilor.", "label-single-font-currently-in-effect": " Fontul aplicat în prezent este ", "label-multiple-fonts-currently-in-effect": " Următoarele fonturi sunt aplicate în prezent:", "option-font-placeholder": "Introduceți numele fontului...", "label-no-custom-font-set": "Nu ați aplicat un font personalizat până în acest moment. Adăugați unul mai jos.", "label-font-applied": "Primul font din această listă care este disponibil în sistemul dvs. va fi aplicat.", "msg-font-not-found": "Acest font nu a fost detectat în sistemul dvs.", "msg-font-found": "Acest font a fost detectat în sistemul dvs.", "label-font-name": "Numele fontului", "option-community-themes": "Răsfoiți prin temele comunitare", "option-community-themes-description": "Previzualizați și folosiți fantasticele teme comunitare.", "button-browse-community-themes": "Răsfoiți", "option-font-size": "Alegeți dimensiunea fontului", "option-font-size-description": "Alegeți dimensiunea fontului în pixeli. Această setare afectează editorul și previzualizarea.", "option-font-size-action": "Reglați rapid dimensiunea fontului", "option-font-size-action-description": "Reglați dimensiunea fontului folosind fie Ctrl+Scroll, fie gestura de scroll a trackpad-ului dvs.", "option-themes": "Gestionați temele", "option-manage-themes-description": "Gestionați temele instalate și răsfoiți temele comunitare.", "option-theme-button-manage": "Gestionați", "option-choice-none": "Niciuna", "option-native-menus": "Utilizați meniurile native", "option-native-menus-desc": "Meniurile din întreaga aplicație vor fi conforme sistemului de operare. Acestea nu vor fi afectate de tema aleasă de către dvs.", "button-reload-themes": "Reîncărcați temele", "msg-reloaded-themes": "Temele CSS personalizate au fost reîncărcate.", "button-open-themes-folder": "Deschide directorul cu teme", "option-css-snippets": " Fragmente CSS", "label-no-css-snippets-found": "Nu am găsit fragmente CSS în directorul cu fragmente.", "no-snippet-description": "Fragmentele CSS se află în „{{path}}”.", "button-reload-snippets": "Reîncarcă fragmentele", "button-open-snippets-folder": "Deschide directorul de fragmente", "msg-reloaded-snippets": "Fragmentele CSS au fost reîncărcate.", "option-toggle-snippet-description": "Aplică fragmentul CSS din „{{path}}”.", "label-installed-themes": "Teme instalate", "label-screenshot-unavailable": "Captură de ecran indisponibilă", "label-default-theme": "Implicită", "tooltip-click-to-enlarge": "Faceți clic pentru a mări", "button-update": "Actualizați", "label-currently-active": "Active", "option-frame-style": "Alegeți stilul cadrului ferestrei", "option-frame-description": "Stabiliți stilul barei de titlu a ferestrelor aplicației Obsidian. Necesită o repornire completă pentru a-și face efectul.", "option-frame-hidden": "Ascuns (implicit)", "option-frame-obsidian": "Cadrul Obsidian", "option-frame-native": "Cadrul nativ", "option-custom-icon": "Alegeți o pictogramă personalizată", "option-custom-icon-desc": "Alegeți o pictogramă personalizată pentru aplicația Obsidian", "button-choose-custom-icon": "Alegeți pictograma personalizată", "option-configure-ribbon": "Configurați meniul panglică", "option-configure-ribbon-desc": "Configurați ce comenzi apar în meniul panglică din bara de navigare.", "option-mobile-quick-ribbon-item": "Elementul panglică de acces rapid", "option-mobile-quick-ribbon-item-desc": "Alegeți comportamentul apăsării butonului panglică din meniul de navigare. În mod implicit, acesta va deschide un meniu care afișează toate elementele din panglică.", "option-mobile-quick-ribbon-default": "Deschide meniul panglică", "button-configure": "Configurează", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "Alte elemente din meniul panglică", "label-modal-configuration": "Configurația meniului panglică", "label-modal-configuration-desc": "Alegeți ce elemente doriți să fie active în meniul panglică. Trageți și plasați pentru a schimba ordinea.", "option-show-view-header": "Afișați bara de titlu a filei", "option-show-view-header-desc": "Afișați antetul în partea de sus a fiecărei file.", "msg-updates-found": "S-a găsit {{count}} temă de actualizat.", "msg-updates-found_plural": "S-au găsit {{count}} teme de actualizat.", "button-check-for-updates": "Verificați actualizările", "button-view-updates": "Vizualizați actualizările", "button-update-all-themes": "Actualizați toate temele", "label-current-themes": "Teme comunitare actuale", "label-currently-installed": "În prezent, aveți instalată {{count}} temă.", "label-currently-installed_plural": "În prezent, aveți instalate {{count}} teme." }, "hotkeys": { "name": "Combinații de taste", "option-search": "Căutați prin combinațiile de taste", "option-search-desc": "Se afișează {{count}} combinație de taste. ", "option-search-desc_plural": "Se afișează {{count}} combinații de taste. ", "option-search-conflict": "{{count}} comenzi cu conflicte.", "option-search-conflict_plural": "{{count}} comenzi cu conflicte.", "prompt-filter": "Filtrați...", "tooltip-delete-hotkey": "Ștergeți combinația", "label-waiting-for-hotkey-press": "Apăsați o combinație de taste...", "label-show-all": "Toate", "label-show-unassigned": "Neatribuite", "label-show-assigned": "Atribuite", "label-show-user-assigned": "Atribuite manual", "tooltip-restore-default": "Restaurați varianta implicită", "tooltip-customize-command": "Modificați această comandă", "tooltip-hotkey-single-conflict": "Această combinație de taste intră în conflict cu „{{command}}”", "tooltip-hotkey-multiple-conflicts": "Această combinație de taste intră în conflict cu {{count}} alte comenzi", "label-blank-hotkey": "Gol" }, "about": { "name": "General", "label-commercial-license": "Licență comercială", "label-license-key": "Codul licenței", "license-key-placeholder": "Codul licenței dvs.", "label-activate-license": "Activați licența", "button-activate": "Activați", "label-unknown-version": "Versiune necunoscută", "label-current-version": "Versiunea curentă: ", "label-install-version": "(Versiunea la instalare: {{version}})", "label-up-to-date": "Aveți cea mai nouă versiune a aplicației!", "label-read-changelog": "Citiți istoricul modificărilor.", "label-manual-update-required": "Pentru a susține cele mai recente funcționalități și pentru a primi cele mai recente actualizări de securitate, Obsidian necesită o actualizare majoră a pachetului de instalare. Va trebui să descărcați și să reinstalați manual Obsidian.", "label-new-version-ready": "O nouă versiune e pregătită să fie instalată. ", "label-disabled-updates": "Actualizările sunt dezactivate.", "button-relaunch": "Relansați", "button-check-for-updates": "Căutați actualizări", "option-auto-update": "Permiteți actualizările automate", "option-auto-update-description": "Dezactivați această setare astfel încât aplicația să nu caute noi actualizări.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Obțineți ajutor", "option-get-help-description": "Obțineți ajutor pentru utilizarea Obsidian.", "button-open": "Deschideți", "option-language": "Alegeți limba interfeței", "option-language-description": "Alegeți limba care va fi folosită pentru interfața aplicației Obsidian.", "option-insider-build": "Alegeți să primiți versiuni de inițiat", "option-insider-build-description": "Permiteți actualizarea automată la versiunile de inițiat, ceea ce vă poate facilita încercarea noilor funcționalități. Rețineți că aceste versiuni sunt în stadiu incipient și ar putea fi mai puțin stabile.", "option-advanced": "Setări avansate", "option-hw-acceleration": "Activați accelerarea grafică la nivel hardware", "option-hw-acceleration-description": "Permiteți folosirea unității de procesare grafică pentru a face interfața aplicației Obsidian mai fluidă.", "option-hw-acceleration-warning": "Dacă dezactivați această opțiune, performanța aplicației va fi grav afectată.", "option-config-location": "Suprascrieți directorul configurației", "option-config-location-description": "Folosiți un director diferit față de cel implicit pentru configurație. Acesta trebuie să înceapă cu un punct.", "option-config-location-warning": "Calea către configurație trebuie să fie un nume de director valid care începe cu un punct.", "label-license": "Licență", "label-your-commercial-license-key": "Cheia licenței dvs. comerciale este „{{key}}”.", "label-commercial-license-info": "Licență înregistrată de „{{company}}” pentru {{seats}} utilizatori. Valabilă până la {{expiry}}.", "label-validating-commercial-license": "Se validează...", "label-invalid-commercial-license": "Licență invalidă: ", "button-remove-commercial-license": "Ștergeți", "option-catalyst": "Licență Catalyst", "option-catalyst-desc": "Dețineți în prezent licența Catalyst {{tier}}. Vă mulțumim pentru susținerea acordată!", "option-catalyst-desc-no-license": "În prezent, nu dețineți o licență Catalyst. Licența Catalyst poate fi obținută printr-o donație unică pentru a susține dezvoltarea Obsidian.", "label-app": "Aplicație", "label-add-own-language": "Aflați cum să adăugați limba dumneavoastră în aplicația Obsidian." }, "account": { "name": "Cont", "option-your-account": "Contul dvs.", "option-your-account-desc": "Sunteți autentificat(ă) în prezent ca {{name}} ({{email}}).", "option-your-account-desc-no-login": "În prezent nu sunteți autentificat(ă). Un cont este necesar pentru Obsidian Sync, Obsidian Publish, cât și pentru versiunile de inițiat Catalyst.", "label-insider": "inițiat", "label-supporter": "susținător", "label-vip": "VIP", "button-upgrade-catalyst": "Majorați", "option-commercial-license": "Licență comercială", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Achiziționați", "button-log-out": "Deconectați-vă", "label-log-in": "Autentificați-vă", "label-sign-up": "Înregistrați-vă", "label-email": "E-mail", "placeholder-email": "Adresa dvs. de e-mail...", "label-name": "Full name", "label-password": "Parolă", "placeholder-password": "Parola dvs...", "label-forgot-password": "Forgot password?", "button-login": "Autentificați-vă", "message-empty-email": "Câmpul de e-mail nu poate fi gol.", "message-invalid-email": "Adresa de e-mail nu este validă.", "message-empty-password": "Câmpul de parolă nu poate fi gol.", "message-login-failed": "Autentificare nereușită, vă rugăm să verificați adresa de e-mail și parola.", "message-signup-failed": "Failed to sign up", "label-no-account": "Nu aveți un cont? ", "link-sign-up-now": "Înregistrați-vă acum", "label-mfa-code": "Cod 2FA de 6 cifre", "mfa-wrong-format": "Codul de autentificare 2FA trebuie să aibă 6 cifre.", "mfa-verification-failed": "Codul 2FA este incorect, vă rugăm să verificați din nou aplicația de autentificare." }, "core-plugin": { "plugin-list": "Lista de module", "option-search-plugin": "Căutați prin modulele integrate", "option-search-plugin-description": "Filtrați modulele după nume sau descriere.", "placeholder-search-plugin": "Căutați prin modulele integrate..." }, "third-party-plugin": { "name": "Module comunitare", "option-restricted-mode": "Modul restricționat", "option-restricted-mode-description": "Modul restricționat este dezactivat. Activați-l pentru a dezactiva modulele comunitare.", "button-turn-on": "Activați", "option-browse-community-plugins": "Module comunitare", "option-browse-community-plugins-description": "Previzualizați și folosiți fantasticele module comunitare.", "button-browse": "Răsfoiți", "label-exit-restricted-mode": "Ieșiți din modul restricționat", "label-exit-restricted-mode-description-1": "Modulele comunitare, la fel ca orice alt pachet pe care îl instalați, au potențialul de a cauza probleme de integritate a datelor și de securitate.", "label-exit-restricted-mode-description-2": "Securitatea modulelor este importantă pentru noi. Iată ce facem:", "label-exit-restricted-mode-description-3": "În ciuda eforturilor noastre, încă există o mică șansă ca un modul comunitar să se comporte necorespunzător.", "label-code-review": "Facem o revizuire inițială a codului", "label-code-review-desc": "Modulele sunt supuse unei revizuiri inițiale a codului de către echipa noastră înainte de a apărea în magazin.", "label-open-source": "Publicăm codul cu sursă liberă", "label-open-source-desc": "Majoritatea modulelor sunt publicate cu sursă liberă pe platforma GitHub, astfel încât puteți inspecta codul chiar dvs.", "label-peer-audit": "Supunem modulul evaluării colective", "label-peer-audit-desc": "Avem o comunitate mare de dezvoltatori care ne asistă în monitorizarea modulelor comunitare.", "label-report-mechanism": "Punem la dispoziție mecanisme de raportare", "label-report-mechanism-desc": "Urmărim și eliminăm modulele defecte în urma rapoartelor utilizatorilor.", "label-exit-restricted-mode-disable-confirmation": "Dorești să ieșiți din modul restricționat pentru a activa modulele comunitare? Recomandăm cu tărie să faceți copii de rezervă ale datelor înainte de a face acest lucru.", "label-learn-more": "Aflați mai multe despre securitatea modulelor", "button-turn-on-community-plugins": "Activați modulele comunitare", "label-trust-author": "Aveți încredere în autorul acestui seif?", "label-trust-author-description-1": "Deschideți acest seif pentru prima dată, iar acesta vine cu câteva module.", "label-trust-author-description-2": "Dacă ați obținut acest seif de la altcineva, vă rugăm să țineți cont că modulele de origine necunoscută ar putea prezenta riscuri de securitate.", "label-trust-author-description-3": "Dacă nu aveți încredere deplină în autorul acestui seif, recomandăm să rămâneți în modul restricționat, astfel încât modulele din acest seif să nu ruleze.", "button-enable-plugins": "Confirmă încrederea în autor și activează modulele", "button-dont-trust-author": "Răsfoiți seiful în modul restricționat", "placeholder-community-plugins": "Căutați prin modulele comunitare...", "msg-failed-load-plugins": "Încărcarea modulelor comunitare a eșuat.", "label-installed": "Instalat", "button-install": "Instalați", "button-enable": "Activați", "button-disable": "Dezactivați", "button-copy-share-link": "Copiați legătura de partajare", "button-donate": "Donați", "label-no-results-found": "Nu am găsit niciun rezultat.", "label-no-recent-files-found": "Nu s-au găsit fișiere recente. Tastați pentru a căuta...", "msg-failed-to-load-manifest": "Încărcarea manifestului modulului a eșuat.", "label-version": "Versiune: {{version}}", "label-currently-installed-version": " (Instalat în: {{version}})", "label-by-author": "De ", "label-repository": "Magazin: ", "label-last-update": "Ultima actualizare: ", "tooltip-view-last-update": "Vedeți ultima actualizare", "label-unsupported": "Acest modul nu este compatibil cu dispozitivul dv$.", "button-update": "Actualizați", "label-no-readme": "Acest modul nu a furnizat un fișier README.", "msg-installing-plugin": "Se instalează modulul „{{name}}”...", "msg-failed-to-install-plugin": "Instalarea modulului „{{name}}” a eșuat.", "msg-successfully-installed-plugin": "Modulul „{{name}}” a fost instalat cu succes.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Modulele instalate", "button-reload-plugins": "Reîncărcați modulele", "msg-reloaded-third-party-plugins": "Modulele comunitare au fost reîncărcate.", "label-uninstall": "Dezinstalați", "label-uninstall-plugin": "Dezinstalați modulul", "label-uninstall-plugin-confirmation": "Sigur doriți să dezinstalați acest modul? Această acțiune va șterge directorul modulului.", "button-open-plugins-folder": "Deschideți directorul cu module", "button-check-for-updates": "Căutați actualizări", "button-update-all-plugins": "Actualizați toate modulele", "label-current-plugins": "Modulele actuale", "label-currently-installed": "Aveți {{count}} modul instalat.", "label-currently-installed_plural": "Aveți {{count}} module instalate.", "msg-no-updates-found": "Nu au fost găsite actualizări ale modulelor.", "msg-updates-found": "Au fost găsite actualizări pentru {{count}} modul.", "msg-updates-found_plural": "Au fost găsite actualizări pentru {{count}} module.", "msg-update-plugin": "Actualizați la versiunea {{version}}", "option-search-installed-plugin": "Căutați prin modulele instalate", "option-search-installed-plugin-description": "Filtrați modulele instalate după nume sau descriere.", "placeholder-search-installed-plugin": "Căutați prin modulele instalate...", "show-installed-only": "Afișați doar modulele instalate", "label-donate-modal-title": "Donați pentru a susține {{name}}", "label-donate-modal-text1": "Dezvoltatorii de module sunt voluntari ai comunității care creează lucruri uimitoare din pasiune. Dacă acest modul vi se pare util, vă rugăm să luați în considerare finanțarea dezvoltării sale.", "label-donate-modal-text2": "100% din contribuția dvs. va merge la dezvoltatorul modulului; Obsidian nu ia niciun comision. Platforma de finanțare pe care o alegeți s-ar putea să perceapă o taxă.", "label-donate-modal-text3": "Mulțumim pentru sprijinul dvs!", "label-support-this-plugin": "Sprijiniți acest modul:", "label-search-summary": "Se afișează {{pluginCount}} module:", "label-by-popularity": "Cele mai descărcate", "label-by-released": "Recent lansate", "label-by-updated": "Recent actualizate", "label-alphabetical": "Alfabetic", "label-last-updated": "Actualizat {{time}}" }, "mobile-toolbar": { "name": "Bara de instrumente mobilă", "option-configure-quick-action": "Configurați acțiunea rapidă mobilă", "option-configure-quick-action-description": "Configurați ce comandă să fie declanșată atunci când trageți în jos din partea de sus. Comanda curentă este setată la „{{command}}”.", "msg-missing-quick-action": "Action not configured", "button-configure": "Configurați", "placeholder-select-quick-action": "Selectați acțiunea rapidă...", "quick-action-disabled": "Niciuna", "manage-toolbar-options": "Gestionați opțiunile barei de instrumente", "option-internal-link": "Adăugați o legătură internă", "option-internal-embed": "Adăugați o incorporare", "option-tag": "Adăugați o etichetă", "option-heading": "Comutați antetul", "option-strikethrough": "Comutați tăierea", "option-highlight": "Comutați evidențierea", "option-code": "Comutați codul", "option-blockquote": "Comutați blocul de citat", "option-inline-math": "Comutați matematica în linie", "option-math-block": "Comutați blocul de matematică", "option-markdown-link": "Adăugați o legătură Markdown", "option-bullet-list": "Comutați lista cu marcator punctat", "option-numbered-list": "Comutați lista cu marcator numeric", "option-indent-list": "Indentați elementul de listă", "option-unindent-list": "Anulați indentarea elementului de listă", "option-undo": "Anulare", "option-redo": "Refacere", "option-move-caret-up": "Mutați cursorul în sus", "option-move-caret-down": "Mutați cursorul în jos", "option-move-caret-left": "Mutați cursorul în stânga", "option-move-caret-right": "Mutați cursorul în dreapta", "option-first-line": "Mergeți la prima linie", "option-last-line": "Mergeți la ultima linie", "option-toggle-keyboard": "Comutați tastatura", "option-configure-toolbar": "Configurați bara de instrumente mobilă", "option-added-options": "Opțiuni adăugate", "option-more-toolbar-options": "Mai multe opțiuni pentru bara de instrumente", "option-attach": "Inserați un atașament", "option-add-command": "Adăugați o comandă globală", "option-add-command-description": "Selectați orice comandă globală pentru a o adăuga în bara de instrumente." } }, "editor": { "search": { "placeholder-find": "Căutați...", "placeholder-replace": "Înlocuiți cu...", "label-exit-search": "Închideți căutarea", "label-next": "Înainte", "label-previous": "Înapoi", "label-find-all": "Find all", "label-replace": "Înlocuiți", "label-replace-all": "Înlocuiți tot" }, "link-suggestion": { "label-type-hash": "Scrieți #", "label-link-heading": "pentru a crea o legătură către un titlu", "label-type-block": "Scrieți ^", "label-link-block": "pentru a crea o legătură către un bloc", "label-type-pipe": "Scrieți |", "label-change-display-text": "pentru a schimba textul afișat", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "Nu s-a găsit", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Nicio sugestie...", "add-to-dictionary": "Adăugați la dicționar" }, "menu": { "edit-link": "Modificați legătura", "edit-tag": "Edit tag", "label-edit-block": "Modificați acest bloc", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "Niciun titlu", "label-heading-level": "Titlu {{level}}" }, "print-modal": { "title": "Salvați ca PDF", "caption": "Salvați „{{filename}}” ca PDF folosind setările de mai jos.", "setting-page-size": "Dimensiunea paginii", "setting-page-size-a3": "A3 (ISO)", "setting-page-size-a4": "A4 (ISO)", "setting-page-size-a5": "A5 (ISO)", "setting-page-size-legal": "Legal (ANSI)", "setting-page-size-letter": "Letter (ANSI)", "setting-page-size-tabloid": "Tabloid (ANSI)", "setting-include-file-name": "Includeți numele fișierului ca titlu", "setting-landscape": "Pagină de tip vedere", "setting-margin": "Margine", "setting-margin-default": "Implicită", "setting-margin-minimal": "Minimă", "setting-margin-none": "Niciuna", "setting-downscale-percent": "Procentul de subdimensionare", "button-export-to-pdf": "Salvați ca PDF" }, "link-popover": { "tooltip-follow-link": "Urmăriți legătura", "tooltip-open-link": "Deschideți legătura", "tooltip-search-tag": "Căutați eticheta" } }, "interface": { "embed-cannot-find": "Nu s-a putut găsi:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Deschideți în aplicația implicită", "empty-sidebar": "Bara laterală este goală, încercați să mutați un panou aici.", "sidebar-expand": "Extindeți", "sidebar-collapse": "Restrângeți", "msg-fail-to-save-file": "Nu s-a putut salva fișierul „{{filepath}}”. {{message}}.", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "Niciun fișier", "msg-file-changed": "„{{file}}” a fost modificat din exterior. Fuzionarea modificărilor se va efectua automat.", "switch-vault": "Deschideți alt seif", "manage-vaults": "Manage vaults...", "help": "Ajutor", "settings": "Setări", "drag-to-rearrange": "Trageți pentru a rearanja", "msg-switched-to-read": "Ați setat modul de citire ca mod implicit.", "msg-switched-to-edit": "Ați setat modul de editare ca mod implicit.", "msg-upgrade-installer": "Pentru a folosi această caracteristică, reinstalați ultima versiune a aplicației Obsidian de pe pagina oficială.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Restaurați setările implicite", "label-copy": "Copiați în clipboard", "label-copy-short": "Copiați", "copied_generic": "Copiat în clipboard-ul dvs.", "copied": "{{item}} a fost copiat în clipboard-ul dvs.", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "S-a deschis fișierul „{{path}}”.", "msg-file-not-found-through-uri": "Fișierul „{{name}}” nu a fost găsit.", "delete-action-short-name": "Ștergeți", "msg-indexing": "Obsidian vă indexează seiful.\nAcest lucru ar trebui să se întâmple doar o singură dată.\nEste posibil ca unele funcționalități să nu fie disponibile până la finalizarea acestei acțiuni.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indexarea s-a încheiat.", "msg-sandbox-vault": "Acest seif este o cutie cu nisip.\nModificările pe care le faceți în acest seif vor fi pierdute.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Introduceți pentru a crea", "label-update-available": "Actualizare disponibilă", "label-debug-info": "Informații pentru depanare", "button-learn-more": "Aflați mai multe", "button-not-now": "Nu acum", "button-add": "Adăugați", "button-manage": "Gestionați", "label-new-tab": "Filă nouă", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "Această filă este ocupată în acest moment, vă rugăm să încercați din nou mai târziu.", "formatting": { "label-formatting": "Format", "label-paragraph": "Paragraf", "label-insert": "Introduceți", "insert-link": "Adăugați legătură", "insert-external-link": "Adăugați legătură externă", "insert-callout": "Explicație", "insert-horizontal-rule": "Normă orizontală", "insert-code-block": "Bloc de cod", "insert-math-block": "Bloc de matematică", "insert-table": "Tabel", "insert-footnote": "Footnote", "toggle-bold": "Îngroșat", "toggle-code": "Cod", "toggle-comments": "Comentariu", "toggle-highlight": "Evidențiere", "toggle-italics": "Cursiv", "toggle-strikethrough": "Tăiat", "toggle-math": "Matematică", "toggle-bullet-list": "Listă cu marcator punctat", "toggle-checklist": "Listă de verificare", "toggle-numbered-list": "Listă cu marcator numeric", "set-heading": "Titlu {{level}}", "no-heading": "Corp", "clear": "Ștergeți formatarea", "toggle-quote": "Citat" }, "empty-state": { "no-file-open": "Niciun fișier nu este deschis", "create-new-file": "Creați un nou fișier", "go-to-file": "Mergeți la fișier", "see-recent-files": "Vedeți cele mai recente fișiere", "close": "Închideți", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Modulul nu mai este activ", "unknown-pane-desc": "Modulul care a creat acest panou ({{type}}) a dispărut" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Editați (Ctrl/Cmd+Clic pentru a edita într-un nou panou)", "read-view": "Modul curent: citire", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "Clic pentru a edita", "switch-to-read-view": "Clic pentru a citi", "mod-click-open-new-tab": "{{key}}+Clic pentru a deschide într-o filă nouă", "find": "Căutați...", "replace": "Înlocuiți...", "edit": "Editați", "remove": "Ștergeți", "rename": "Redenumiți", "preview": "Previzualizați", "more-options": "Mai multe opțiuni", "close": "Închideți", "close-all": "Închideți toate", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Închideți celelalte", "close-after": "Close tabs after", "pin": "Fixați", "unpin": "Anulați fixarea", "unlink-tab": "Dezlegați filă", "link-tab": "Legați de filă...", "toggle-source-mode": "Modul sursă", "toggle-reading-view": "Modul de citire", "add-property": "Adăugați o proprietate fișierului", "delete-file": "Ștergeți fișierul", "create-file": "Creați acest fișier", "open-link": "Deschideți legătura", "open-in-new-tab": "Deschideți într-o filă nouă", "open-to-the-right": "Deschideți la dreapta", "copy-url": "Copiați URL-ul", "copy": "Copiați", "cut": "Tăiați", "paste": "Lipiți", "paste-as-plain-text": "Lipiți ca text simplu", "lookup-selection": "Căutați „{{selection}}”", "select-all": "Selectați toate", "rename-heading": "Redenumiți acest titlu...", "rename-blockid": "Redenumiți ID-ul acestui bloc...", "open-in-new-window": "Deschideți într-o fereastră nouă", "move-to-new-window": "Mutați într-o fereastră nouă", "open-in-browser": "Deschideți în navigator", "stack-tabs": "Stivuiți filele", "unstack-tabs": "Desfaceți filele", "open-linked-view": "Deschideți vizualizarea legată" }, "tooltip": { "click-to-expand": "Clic pentru a extinde", "click-to-collapse": "Clic pentru a restrânge", "alias": "Pseudonim", "not-created-yet": "Nu există, selectați pentru a crea" }, "start-screen": { "label-version": "Versiune", "label-create-local-vault": "Creați un seif local", "option-open-folder-as-vault": "Deschideți directorul ca seif", "option-open-folder-as-vault-description": "Alegeți un director existent cu fișiere Markdown.", "option-create-vault": "Creați un seif nou", "option-create-vault-description": "Creați un seif Obsidian nou în interiorul unui director.", "option-connect-obsidian-sync": "Conectați-vă la Obsidian Sync", "option-connect-obsidian-sync-description": "Sincronizați un seif local cu un seif existent la distanță.", "option-new-vault-name": "Numele seifului", "option-new-vault-name-description": "Alegeți un nume pentru seif.", "option-new-vault-location": "Destinația", "option-new-vault-location-description": "Alegeți directorul noului seif.", "label-new-vault-location-preview": "Noul dvs. seif va fi plasat în: ", "option-reveal-vault-in-explorer": "Deschideți seiful folosind exploratorul de fișiere", "option-reveal-vault-in-explorer-mac": "Deschideți seiful folosind Finder", "option-rename-vault": "Redenumiți seiful...", "option-copy-vault-i-d": "Copiați ID-ul seifului", "msg-error-rename-exists": "Există deja un seif cu acest nume.", "msg-error-nested": "Seiful nu se poate muta într-un subdirector propriu.", "msg-error-rename-open": "Nu se poate redenumi un seif deschis.", "msg-rename-failed": "Redenumirea seifului a eșuat.", "msg-rename-success": "Redenumirea seifului a fost efectuată cu succes.", "option-move-vault": "Mutați seiful...", "msg-move-select-dest": "Selectați directorul-destinație", "msg-error-move-exists": "Există deja un seif sub directorul dat.", "msg-error-move-open": "Nu se poate muta un seif deschis.", "msg-move-failed": "Mutarea seifului a eșuat.", "msg-move-success": "Mutarea seifului a fost efectuată cu succes.", "option-remove": "Ștergeți din listă", "button-quick-start": "Pornire rapidă", "button-open": "Deschideți", "button-browse": "Navigați", "button-connect": "Conectați-vă", "button-create-vault": "Creați", "button-back": "Înapoi", "msg-empty-vault-name": "Numele seifului nu poate rămâne gol.", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "Vă rugăm să alegeți un director valid.", "msg-failed-to-create-vault": "Crearea seifului a eșuat.", "msg-failed-to-create-vault-at-location": "Crearea seifului sub directorul furnizat a eșuat. Vă rugăm să verificați de două ori destinația și să vă asigurați că aveți permisiunile necesare.", "msg-error-failed-to-open-vault": "Deschiderea seifului a eșuat.", "msg-error-remove-current-open-vault": "Nu se poate elimina un seif deschis.", "option-get-help": "Ajutor", "option-user-email": "E-mail", "placeholder-your-email": "E-mailul dvs...", "option-user-password": "Parolă", "placeholder-your-password": "Parola dvs...", "button-sign-in": "Autentificați-vă", "button-setup": "Configurare", "option-connect-vault-desc": "Creați un seif sincronizat pe acest dispozitiv.", "tooltip-own-vault": "Acesta este un seif la distanță deținut de dvs.", "tooltip-shared-vault": "Acesta este un seif la distanță împărtășit cu dvs.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Bine ați venit", "welcome-file-content": "Acesta este noul dvs. *seif*.\n\nÎnsemnați ceva, [[creați o legătură]] sau încercați [importatorul](https://help.obsidian.md/Plugins/Importer)!\n\nCând sunteți gata, ștergeți această însemnare și puneți-vă amprenta asupra acestui seif." }, "drag-and-drop": { "insert-link-here": "Introduceți legătura aici", "insert-links-here": "Introduceți legăturile aici", "move-into-folder": "Mutați în „{{folder}}”", "star-this-file": "Marcați acest fișier", "star-these-files": "Marcați aceste fișiere", "open-in-this-tab": "Deschideți în această filă", "open-as-tab": "Deschideți într-o filă nouă" }, "window": { "maximize": "Maximizați", "minimize": "Minimizați", "restore-down": "Restaurați dimensiunea", "close-window": "Închideți fereastra", "go-back": "Mergeți înapoi", "go-forward": "Mergeți înainte" }, "start-up": { "loading-obsidian": "Se încarcă Obsidian...", "obsidian-load-error": "Încărcarea Obsidian a eșuat.", "button-reload-app": "Reîncărcați aplicația", "button-reload-app-in-safe-mode": "Reîncărcați aplicația în modul de siguranță", "button-open-another-vault": "Deschideți alt seif", "loading-plugins": "Se încarcă modulele...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Se încarcă seiful...", "msg-failed-to-load-vault": "Încărcarea seifului a eșuat: ", "loading-cache": "Se încarcă cache-ul...", "loading-workspace": "Se încarcă spațiul de lucru..." }, "mobile": { "action-import": "Importați în seif", "action-insert-text-desc": "Adăugați text fișierului:", "action-choose-file-to-insert": "Alegeți un fișier pentru introducere", "action-insert-text-into-file": "Introduceți textul în {{filename}}", "action-insert-link-into-file": "Introduceți legătura în {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "Se importă...", "msg-import-success": "Importarea s-a efectuat cu succes.", "msg-failed-to-import-file": "Nu s-a putut importa fișierul {{filename}}", "msg-back-again-to-exit": "Apăsați din nou „înapoi” pentru a ieși.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Documentația oficială", "label-official-help-site-desc": "Citiți documentația oficială a aplicației Obsidian, disponibilă în mai multe limbi.", "action-visit": "Vizitați", "label-discord-chat": "Comunitatea oficială de Discord", "label-discord-chat-desc": "Discord este cel mai bun loc pentru a discuta cu alți utilizatori experimentați de Obsidian din întreaga lume.", "action-join": "Alăturați-vă", "label-forum": "Forumul oficial", "label-forum-desc": "Ajutați-vă unii pe alții, postați cereri de funcții, raportați erori și purtați discuții aprofundate despre gestionarea cunoștințelor.", "label-sandbox-vault": "Seiful „cutie cu nisip”", "label-sandbox-vault-desc": "Jucați-vă și experimentați cu diverse caracteristici. Vă rugăm să rețineți că modificările dvs. nu vor fi salvate." } }, "commands": { "save-file": "Salvează fișierul curent", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Urmează legătura de sub cursor", "open-cursor-link-in-new-tab": "Open link under cursor in new tab", "open-cursor-link-to-the-right": "Open link under cursor to the right", "open-cursor-link-in-new-window": "Open link under cursor in new window", "navigate-tab-above": "Focus on tab group above", "navigate-tab-below": "Focus on tab group below", "navigate-tab-left": "Focus on tab group to the left", "navigate-tab-right": "Focus on tab group to the right", "toggle-pin": "Comută fixarea", "split-right": "Split right", "split-down": "Split down", "toggle-stacked-tabs": "Toggle stacked tabs", "navigate-back": "Navighează înapoi", "navigate-forward": "Navighează înainte", "use-dark-mode": "Folosește modul întunecat", "use-light-mode": "Folosește modul luminos", "change-theme": "Change theme", "search-current-file": "Caută în fișierul curent", "search-replace-current-file": "Caută și înlocuiește în fișierul curent", "add-property": "Add file property", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Clear file properties", "open-settings": "Deschide setările", "open-help": "Deschide ajutor", "toggle-edit": "Toggle editing/reading view", "toggle-source-mode": "Toggle Live Preview/Source mode", "delete-current-file": "Șterge fișierul curent", "new-tab": "New tab", "show-trash": "Show trash", "close-all-tabs": "Close all tabs", "close-active-tab": "Close current tab", "close-others-in-tab-group": "Close others in tab group", "close-other-tabs": "Close all other tabs", "close-tab-group": "Close this tab group", "toggle-left-sidebar": "Comută bara laterală din stânga", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "Comută bara laterală din dreapta", "toggle-default-new-tab-mode": "Toggle default mode for new tabs", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "Focus on editor", "toggle-fold-properties": "Toggle fold properties in current file", "toggle-fold": "Comută plierea pe linia curentă", "fold-all": "Pliază toate titlurile și listele", "unfold-all": "Extinde toate titlurile și listele", "fold-more": "Fold more", "fold-less": "Fold less", "swap-line-up": "Inversează cu o linie mai sus", "swap-line-down": "Inversează cu o linie mai jos", "remove-heading": "Remove heading", "toggle-heading": "Set as heading {{level}}", "toggle-bold": "Comută textul îngroșat pentru selecție", "toggle-italics": "Comută textul cursiv pentru selecție", "toggle-highlight": "Comută textul evidențiat pentru selecție", "toggle-comments": "Toggle comments for selection", "clear-formatting": "Clear formatting", "insert-link": "Inserează legătură", "toggle-spellcheck": "Toggle spellcheck", "delete-paragraph": "Șterge paragraf", "toggle-checklist": "Comută starea listei DE FĂCUT", "cycle-list-checklist": "Cycle bullet/checkbox", "insert-callout": "Insert callout", "insert-code-block": "Insert code block", "insert-math-block": "Insert math block", "insert-horizontal-rule": "Insert horizontal rule", "insert-table": "Insert table", "insert-footnote": "Insert footnote", "edit-file-title": "Editează titlul fișierului", "copy-path": "Copiază calea fișierului", "copy-url": "Copiază URL-ul obsidian", "export-pdf": "Exportă ca fișier PDF", "reload": "Reload app without saving", "undo-close-tab": "Undo close tab", "context-menu": "Show context menu under cursor", "show-debug-info": "Show debug info", "open-sandbox-vault": "Open sandbox vault", "always-on-top": "Toggle window always on top", "zoom-in": "Zoom in", "zoom-out": "Zoom out", "reset-zoom": "Reset zoom", "toggle-preview": "Comută între mod de editare/previzualizare", "move-to-new-window": "Move current pane to new window", "open-in-new-window": "Open current pane in new window", "rename-current-file": "Rename current file", "go-to-prev-tab": "Go to previous tab", "go-to-next-tab": "Go to next tab", "go-to-last-tab": "Go to last tab", "go-to-nth-tab": "Go to tab #{{n}}", "show-release-notes": "Show release notes" }, "dialogue": { "label-link-affected": "Aceasta va afecta {{links}} în {{files}}.", "msg-updated-links": "Actualizat {{links}} în {{files}}.", "label-update-links": "Actualizează legături", "label-confirm-update-link-to-file": "Vrei să actualizezi legăturile interne care trimit către acest fișier?", "button-always-update": "Actualizează mereu", "button-just-once": "O singură dată", "button-do-not-update": "Nu actualiza", "label-confirm-deletion": "Sigur vrei să ștergi \"{{filename}}\"?", "label-move-to-system-trash": "Va fi mutat în coșul de reciclare al sistemului de operare.", "label-move-to-vault-trash": "Va fi mutat în coșul de reciclare al Obsidian, localizat în directorul ascuns \".trash\" din seiful tău.", "label-permanent-delete": "Acest fișier va fi șters permanent.", "label-non-empty-folder": "Acest director nu este gol.", "label-delete-folder-warning": "Dacă vei continua, toate fișierele din acest director vor fi șterse.", "label-delete-folder": "Șterge director", "button-delete": "Șterge", "button-delete-do-not-ask-again": "Șterge și nu mai verifica încă o dată", "label-do-not-ask-again": "Don't ask again", "label-existing-backlink": "În prezent există {{count}} link care indică către această notă.", "label-existing-backlink_plural": "În prezent există {{count}} linkuri care indică către această notă.", "label-delete-file": "Șterge fișier", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Manage", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Anulează", "button-download": "Download", "button-done": "Gata", "button-save": "Save", "button-stop": "Stop", "button-continue": "Continue", "button-choose": "Choose", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Pregătesc fișierul PDF...", "label-rename-file": "Rename file", "label-rename-file-generic": "File name", "label-new-name": "New name", "msg-rename-success": "Successfully renamed file.", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Rename heading", "label-rename-blockid": "Rename block ID" }, "menu-items": { "new-file": "Create Note", "new-file-to-the-right": "New Note to the Right", "new-window": "New Window", "open-switcher": "Open Quickly...", "open-vault": "Open Vault...", "close-tab": "Close Tab", "close-window": "Close Window", "find": "Find", "replace": "Replace", "insert-callout": "Callout", "insert-markdown-link": "Markdown Link", "insert-wikilink": "Link", "set-heading": "Heading {{level}}", "no-heading": "No Heading", "insert-quote": "Quote", "export-pdf": "Export PDF", "insert-attachment": "Insert Attachment...", "insert-codeblock": "Code Block", "insert-math-block": "Math Block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bullet-list": "Bullet List", "toggle-numbered-list": "Numbered List", "toggle-checklist": "Task List", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comment": "Comment", "toggle-italics": "Italics", "toggle-inline-math": "Math", "toggle-highlight": "Highlight", "toggle-strikethrough": "Strikethrough", "toggle-comments": "Comment", "folding-menu": "Folding", "fold-all": "Fold All", "unfold-all": "Unfold All", "fold-more": "Fold More", "fold-less": "Fold Less", "source-mode": "Source Mode", "reading-view": "Reading View", "show-debug-info": "Show Debug Info", "open-sandbox": "Open Sandbox Vault", "navigate-back": "Navigate Back", "navigate-forward": "Navigate Forward", "toggle-left-sidebar": "Toggle Left Sidebar", "toggle-right-sidebar": "Toggle Right Sidebar", "toggle-ribbon": "Ribbon", "split-right": "Split Right", "split-down": "Split Down", "release-notes": "Release Notes" }, "plugins": { "name": "Module", "file-explorer": { "name": "Explorator de fișiere", "desc": "Vezi toate fișierele din seiful tău.", "action-open": "Open file explorer", "action-show": "Show file explorer", "action-create-note": "Creează notă nouă", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Create new note in current tab", "action-create-note-to-the-right": "Create note to the right", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-new-note": "Notă nouă", "action-new-folder": "Director nou", "action-change-sort": "Schimbă ordinea de sortare", "action-reveal-file": "Arată fișier în explorator", "action-reveal-active-file": "Arată fișierul activ în explorator", "command-make-a-copy": "Make a copy of the current file", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Mută fișierul în alt dosar", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Mută fițierul în...", "action-move-folder": "Mută dosarul în...", "action-move-items": "Move {{count}} items to...", "prompt-type-folder": "Scrie numele dosarului", "label-no-folders": "Nu am găsit dosare.", "instruction-navigate": "pentru a răsfoi", "instruction-move": "pentru a muta", "instruction-create": "to create", "instruction-dismiss": "pentru a înlătura", "label-sort-a-to-z": "Sortează după numele fișierului (de la A la Z)", "label-sort-z-to-a": "Sortează după numele fișierului (de la Z la A)", "label-sort-new-to-old": "Sortează dupa timpul editării (de la noi la vechi)", "label-sort-old-to-new": "Sortează dupa timpul editării (de la vechi la noi)", "label-sort-created-old-to-new": "Momentul creării (de la vechi la nou)", "label-sort-created-new-to-old": "Momentul creării (de la nou la vechi)", "menu-opt-new-note": "Notă nouă", "menu-opt-new-folder": "Director nou", "menu-opt-rename": "Redenumește", "menu-opt-delete": "Șterge", "menu-opt-make-copy": "Creează o copie", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "Numele fișierului nu poate conține niciunul din următoarele caractere: ", "msg-unsafe-characters": "Links will not work with file names containing any of these characters: ", "msg-file-already-exists": "Există deja un fișier cu același nume", "msg-empty-file-name": "Numele fișierului nu poate rămâne gol.", "msg-bad-dotfile": "File name must not start with a dot.", "tooltip-modified-time": "Last modified at {{time}}", "tooltip-created-time": "Created at {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Untitled", "label-untitled-folder": "Untitled", "msg-set-attachment-folder": "Attachments will be saved to \"{{path}}\" from now on." }, "search": { "name": "Caută", "desc": "Caută după un cuvânt cheie în toate notele.", "action-open-search": "Caută în toate fișierele", "label-collapse-results": "Restrânge rezultatele", "label-match-case": "Căutare exactă după minuscule sau majuscule", "label-explain-search-term": "Explică termenul de căutare", "label-more-context": "Extinde contextul", "label-result-count": "{{count}} result", "label-result-count_plural": "{{count}} results", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Search settings", "prompt-start-search": "Scrie pentru a începe căutarea...", "label-match-text": "Se potrivește cu textul: ", "label-match-regex": "Se potrivește cu formula regex: ", "label-match-exact-text": "Conține textul exact: ", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "Contains property:", "label-match-all": "Potrivește toate: ", "label-match-any": "Potrivește oricare: ", "label-excluding": "Exclude: ", "label-case-sensitive": "Doar majuscule sau doar minuscule", "label-case-insensitive": "Orice tip de litere (minuscule/majuscule)", "label-match-file-path": "Potrivește calea fișierului: ", "label-match-file-name": "Potrivește numele fișierului: ", "label-match-content": "Potrivește în conținutul fișierului: ", "label-match-task": "Match task: ", "label-match-task-todo": "Match task (todo): ", "label-match-task-done": "Match task (done): ", "label-match-line": "Match line: ", "label-match-block": "Match block: ", "label-match-section": "Match section: ", "label-match-tag": "Potrivește eticheta: ", "label-no-matches": "Nu au fost găsite rezultate.", "matches-with-count": "... și încă {{count}} rezultat.", "matches-with-count_plural": "... și încă {{count}} rezultate.", "label-copy-search-results": "Copiază rezultatele căutării", "button-copy-results": "Copiază rezultatele", "msg-successfully-copied": "Rezultatele au fost copiate în clipboard.", "option-show-path": "Afișează calea", "option-show-path-description": "Prefer să fie afișată calea întreagă decât doar numele fișierului.", "option-link-style": "Stilul legăturii", "option-link-style-description": "Opțional, transformă rezultatul fiecărui fișier într-o legătură.", "option-choice-link-style-none": "Fără", "option-choice-link-style-wikilink": "Legătură Wiki", "option-choice-link-style-markdown-link": "Legătură Markdown", "option-list-prefix": "Listează prefixul", "option-list-prefix-description": "Opțional adaugă la fiecare articol din listă un prefix.", "option-choice-list-style-none": "Fără", "option-choice-list-style-dash": "Cratimă (-)", "option-choice-list-style-asterisk": "Asterisc (*)", "option-choice-list-style-numbered": "Număr", "tooltip-clear-search": "Șterge căutarea", "label-search-options": "Search options", "label-properties-group": "Properties", "label-tags-group": "Tags", "tooltip-read-more": "Read more", "label-history": "History", "tooltip-clear-history": "Clear search history", "label-path-option-description": "match path of the file", "label-file-name-option-description": "match file name", "label-tag-option-description": "search for tags", "label-line-option-description": "search keywords on same line", "label-section-option-description": "search keywords under same heading", "label-property-option-description": "match property", "menu-opt-search-for": "Search for \"{{keyword}}\"", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "Comutare rapidă", "desc": "Treci de la un fișier la altul direct de pe tastatură. Ctrl/Cmd+O pentru a activa această funcționalitate.", "short-name": "Switcher", "action-open": "Deschide comutarea rapidă", "instruction-navigate": "pentru a naviga", "instruction-open": "pentru a deschide", "instruction-open-in-new-tab": "to open in new tab", "instruction-open-to-the-right": "to open to the right", "instruction-create": "pentru a crea", "instruction-dismiss": "pentru a respinge", "instruction-select": "to select", "label-no-note-create-new": "Nu au fost găsite note. Apasă Enter pentru a crea o notă nouă.", "prompt-type-file-name": "Introdu numele fișierului la care vrei să comuți sau pe care vrei să-l creezi...", "label-enter-to-create": "Apasă Enter pentru a crea fișierul", "tooltip-not-created-yet": "Not created yet, select to create", "option-show-existing-only": "Show existing only", "option-show-existing-only-description": "Whether to show links to files that are not yet created.", "option-show-attachments": "Show attachments", "option-show-attachments-desc": "Show attachment files like images, videos, and PDFs.", "option-show-all-file-types": "Show all file types", "option-show-all-file-types-desc": "Show all files including ones that Obsidian can't open. The file will be opened with the default app for that file type." }, "graph-view": { "name": "Afișaj grafic", "desc": "Vezi un grafic cu prezentarea generală a legăturilor dintre note.", "action-open": "Deschide graficul", "action-open-local": "Deschide graficul local", "action-copy-screenshot": "Copiază captura de ecran", "tab-title": "Graficul {{displayText}}", "label-filters": "Filtre", "prompt-filter-nodes": "Caută fișiere...", "option-depth": "Adâncime", "option-depth-description": "Show nodes this number of links away", "option-neighbor-links": "Legături vecine", "option-neighbor-links-description": "Afișează legături între vecini.", "option-forelinks": "Legături de ieșire", "option-forelinks-description": "Afișează legăturile către alte fișiere", "option-backlinks": "Legături de intrare", "option-backlinks-description": "Afișează legăturile de la alte fișiere", "option-show-tags": "Etichete", "option-show-tags-description": "Etichetele sunt legate de fișierele care le conțin", "option-show-attachments": "Atașamente", "option-show-attachments-description": "Afișează fișierele care includ atașamente", "option-show-existing-files-only": "Doar fișierele care există", "option-show-existing-files-only-description": "Când este bifat, nu sunt arătate legăturile către fișierele care nu există", "option-show-orphans": "Orfane", "option-show-orphans-description": "Arată fișierele care nu sînt legate de nimic", "label-display": "Afișează", "option-show-arrows": "Săgeți", "option-show-arrows-description": "Afișează săgețile când focalizez în interior", "option-text-fade": "Pragul de estompare a textului", "option-node-size": "Mărimea nodului", "option-link-thickness": "Grosimea legăturii", "label-forces": "Forțele", "option-center-force": "Forța centrului", "option-link-force": "Forța legăturii", "option-link-distance": "Distanța legăturii", "option-repel-force": "Forța de respingere", "tooltip-open-graph-settings": "Deschide setările graficului", "msg-screenshot-copied": "Captura de ecran a fost copiată în clipboard.", "label-groups": "Groups", "placeholder-enter-query": "Enter query...", "tooltip-delete-graph": "Delete group", "button-new-group": "New group", "tooltip-click-to-change-drag-to-reorder": "Click to change color\nDrag to reorder groups", "action-timelapse": "Start graph timelapse animation", "tooltip-start-timelapse-animation": "Start timelapse animation", "button-animate-timelapse": "Animate" }, "backlinks": { "name": "Referințe", "desc": "Afișează numărul de referințe în bara de status.", "action-open": "Deschide referințe", "action-show": "Show backlinks pane", "action-open-for-current": "Deschide referințele pentru fișierul curent", "action-toggle-backlinks-in-document": "Toggle backlinks in document", "menu-opt-backlinks-in-document": "Backlinks in document", "label-linked-mentions": "Mențiuni conectate", "label-no-backlinks": "Nu au fost găsite referințe.", "label-unlinked-mentions": "Mențiuni fără legături", "label-show-search": "Show search filter", "label-link-button-text": "Legătură", "tab-title": "Referințe pentru {{displayText}}", "label-no-unlinked-mentions": "Nu au fost găsite mențiuni fără legături.", "ellipsis": "...", "option-backlink-in-document": "Backlink in document", "option-backlink-in-document-desc": "Show backlinks in document by default when opening new panes." }, "outgoing-links": { "name": "Outgoing Links", "desc": "Show outgoing links and detect unlinked mentions of other notes in the current note.", "action-open": "Open outgoing links", "action-show": "Show outgoing links pane", "action-open-for-current": "Open outgoing links for the current file", "tab-title": "Outgoing links from {{displayText}}", "label-links": "Links", "label-no-links": "No links found.", "label-unlinked-mentions": "Unlinked mentions", "tooltip-link-file": "Link this file", "tooltip-not-created": "Not created yet" }, "tag-pane": { "name": "Panoul cu etichete", "short-name": "Tags", "desc": "Afișează toate etichetele tale împreună cu ocurența lor.", "action-show": "Show tag pane", "label-no-tags": "Nu au fost găsite etichete.", "label-sort-by-name-a-to-z": "Numele etichetei (A la Z)", "label-sort-by-name-z-to-a": "Numele etichetei (Z la A)", "label-sort-by-frequency-high-to-low": "Frecvența (mare la mică)", "label-sort-by-frequency-low-to-high": "Frecvența (mică la mare)", "action-show-nested-tags": "Show nested tags", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Properties view", "desc": "Show the metadata for your files.", "name-global": "All properties", "name-local": "File properties", "tab-title": "File properties for {{displayText}}", "action-show": "Show all properties", "action-show-local": "Show file properties", "opt-unassign-type": "Unassign type", "label-no-properties": "No properties found.", "label-invalid-properties": "Invalid properties.", "label-sort-by-name-a-to-z": "Property name (A to Z)", "label-sort-by-name-z-to-a": "Property name (Z to A)", "label-sort-by-frequency-high-to-low": "Frequency (high to low)", "label-sort-by-frequency-low-to-high": "Frequency (low to high)", "msg-merge-properties-warning": "Merge property “{{oldKey}}” with “{{newKey}}”?", "msg-merge-properties-warning-desc": "In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-open-local": "Open file properties", "action-open-daily-note": "Open daily note" }, "page-preview": { "name": "Previzualizare pagină", "desc": "Previzualizează o notă când este cursorul deasupra unei legături interne. Ctrl/Cmd + cursor deasupra legăturii în modul de editare.", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "\"{{linktext}}\" nu a fost creată încă. Click pentru a o crea.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Editor", "label-source-preview": "Preview", "label-source-search": "Search, Backlinks, and Outgoing links", "label-source-tab-header": "Tab header", "label-require-mod": "Require {{key}} to trigger page preview on hover" }, "bookmarks": { "name": "Bookmarks", "desc": "Bookmark frequently used files and searches.", "action-show": "Show bookmarks", "action-collapse-all": "Collapse all", "action-new-bookmark": "Bookmark the active tab...", "action-new-group": "New bookmark group", "action-bookmark": "Bookmark...", "action-add-bookmark": "Add bookmark", "action-edit-bookmark": "Edit bookmark", "action-bookmark-block": "Bookmark block under cursor...", "action-bookmark-heading": "Bookmark heading under cursor...", "action-bookmark-search": "Bookmark current search...", "action-remove-bookmark": "Remove bookmark for current file", "action-bookmark-tab-group": "Bookmark {{count}} tab...", "action-bookmark-tab-group_plural": "Bookmark {{count}} tabs...", "action-bookmark-all-tabs": "Bookmark all tabs...", "action-bookmark-graph": "Bookmark this graph...", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} bookmark", "label-bookmark-with-count_plural": "{{count}} bookmarks", "label-no-bookmarks": "No bookmarks found", "label-invalid-data": "Failed to load bookmarks.", "label-invalid-data-desc": "The data file is corrupted.", "label-untitled-group": "Untitled group", "label-untitled-graph": "Untitled Graph", "menu-opt-edit": "Edit...", "menu-opt-remove": "Remove", "menu-opt-rename": "Rename", "menu-opt-bookmark-block": "Bookmark this block...", "menu-opt-bookmark-heading": "Bookmark this heading...", "msg-no-search-query": "No search query to bookmark.", "option-path": "Path", "option-query": "Query", "option-u-r-l": "URL", "option-title": "Title", "option-group": "Bookmark group", "placeholder-bookmark-group": "Bookmarks" }, "custom-css": { "name": "CSS personalizat", "desc": "Citește \"obsidian.css\" din seif și îl aplică.", "setting-community-themes": "Teme ale comunității", "msg-fetching-themes": "Sunt preluate temele din comunitate...", "prompt-filter": "Filtrează...", "label-dark-theme-only": "Doar teme întunecate", "label-light-theme-only": "Doar teme luminoase", "label-use": "Folosește", "label-stop-use": "Stop using this theme", "label-install-and-use": "Install and use", "label-update": "Update", "label-no-readme": "This theme did not provide a README file.", "tooltip-remove-theme": "Remove theme", "label-visit-on-github": "Vizitează pe GitHub", "msg-load-error": "Nu au putut fi încărcate temele din comunitate, te rog să verifici conexiunea la internet.", "msg-now-using-theme": "Acum folosești {{title}} ca temă CSS.", "msg-deleted-theme": "The theme {{title}} has been deleted.", "msg-updated-theme": "The theme {{title}} has been updated.", "label-installed": "Installed", "label-legacy": "Legacy", "button-update-all-themes": "Update all", "msg-failed-load-themes": "Failed to load community themes.", "msg-no-updates-found": "No theme updates found.", "msg-updates-found": "Found {{count}} theme to update.", "msg-updates-found_plural": "Found {{count}} themes to update.", "msg-failed-to-install-theme": "Failed to install theme \"{{name}}\".", "msg-successfully-installed-theme": "Successfully installed theme \"{{name}}\".", "msg-installing-theme": "Installing theme \"{{name}}\"...", "label-search-summary": "Showing {{themeCount}}:", "label-update-available": "Update available" }, "command-palette": { "name": "Paleta de comenzi", "desc": "Scrie o comandă pentru a o folosi. Nu este nevoie de interfața grafică sau să memorezi scurtătura.", "action-open": "Deschide paleta de comenzi", "instruction-navigate": "pentru a naviga", "instruction-use": "pentru a folosi", "instruction-dismiss": "pentru a respinge", "label-no-commands": "Nu au fost găsite comenzi.", "prompt-type-command": "Scrie o comandă...", "label-pinned-commands": "Pinned commands", "option-add-new-pin": "New pinned command", "option-add-new-pin-description": "Pinned commands will appear at the top of all commands when no search query is present." }, "markdown-format-importer": { "name": "Importator din format Markdown", "desc": "Transformă fișiere Markdown din alte aplicații în formatul din Obsidian.", "action-open": "Deschide importatorul din format Markdown", "option-roam-tag-fixer": "Reparare etichete Roam Research", "option-roam-tag-fixer-description": "Convertește \"#tag\" și \"#[[tag]]\" în \"[[tag]]\".", "option-roam-highlight-fixer": "Reparare text evidențiat Roam Research", "option-roam-highlight-fixer-description": "Convertește \"^^highlight^^\" în \"==highlight==\".", "option-roam-todo-converter": "Convertor Roam Research TODO", "option-roam-todo-converter-description": "Convertește \"{{[[TODO]]}}\" în \"[ ]\".", "option-bear-highlight-fixer": "Convertor de evidențiere a textului", "option-bear-highlight-fixer-description": "Convertește \"::highlight::\" în \"==highlight==\".", "zettelkasten-link-fixer": "Reparare legături Zettelkasten", "zettelkasten-link-fixer-description": "Repară legăturile \"[[UID]]\" și le transformă în \"[[UID File Name]]\".", "zettelkasten-link-beautifier": "Îmbunătățire legături Zettelkasten", "zettelkasten-link-beautifier-description": "Repară legăturile \"[[UID]]\" și le formatează \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Atenție: importatorul va converti toate fișierele din seif, nu doar fișierul curent.", "msg-override-files-warning": "Fișierele tale vor fi suprascrise. Creează copii de rezervă înainte să începi conversia.", "label-start-conversion": "Începe conversia", "label-stop": "Stop", "label-go-back": "Mergi înapoi", "label-done": "Gata", "label-processing": "Procesează...", "label-cancelling": "Anulează...", "label-finished": "Terminat!", "label-processed-files": "Fișiere procesate", "label-modified-files": "Fișiere modificate", "label-total-replacements": "Înlocuiri totale", "label-failed": "Failed" }, "daily-notes": { "name": "Note zilnice", "desc": "Deschide nota de azi sau creează o notă dacă nu există.", "short-name": "Today", "action-open": "Deschide nota de azie", "action-open-previous": "Deschide nota zilnică anterioară", "action-open-next": "Deschide nota zilnică următoare", "action-insert-text": "Insert text into daily note", "action-insert-link": "Insert link into daily note", "msg-fail-format": "Nu am reușit să creez nota zilnică. \"{{format}}\" nu este un format valid.", "msg-fail-folder": "Nu am reușit să creez nota zilnică. Directorul \"{{folderOption}}\" nu a fost găsit.", "msg-fail-template-file": "Nu am reușit să creez nota zilnică. Fișierul șablon \"{{template}}\" nu a fost găsit.", "msg-no-previous": "Nu există nicio notă zilnică înaintea celei curente.", "msg-no-next": "Nu există nicio notă zilnică după cea curentă.", "option-date-format": "Formatul datei", "label-refer-to-syntax": "Pentru mai multe informații despre sintaxă, vezi: ", "label-syntax-link": "referință format", "label-syntax-live-preview": "Iată cum va arăta: ", "option-new-file-location": "Locația fișierelor noi", "option-new-file-location-description": "Calea directorului unde va fi creată noua notă zilnică.", "option-template": "Locația fișierului șablon", "option-template-description": "Calea fișierului pentru șablon.", "option-open-on-start": "Open daily note on startup", "option-open-on-start-description": "Open your daily note automatically whenever you open this vault." }, "unique-note-creator": { "name": "Unique note creator", "desc": "Create notes with unique timestamp prefixes, for workflows like zettelkasten or slip box.", "short-name": "Unique", "action-create-note": "Create new unique note", "action-add-link": "Add unique internal link", "option-new-file-location": "New file location", "option-new-file-location-description": "The folder path to create the new unique note.", "msg-folder-not-found": "Failed to create unique note. Folder \"{{folderOption}}\" not found.", "option-template-file": "Template file location", "option-template-file-description": "The file path to use as template.", "option-template-file-placeholder": "Example: folder1/note", "option-id-format": "Unique prefix format", "msg-template-file-not-found": "Failed to create unique note. Template file \"{{template}}\" not found.", "msg-failed-to-generate": "Failed to generate a unique note with the format \"{{format}}" }, "random-note": { "name": "Notă aleatorie", "desc": "Deschide o notă la întâmplare. Util pentru revizii și descoperiri.", "short-name": "Random", "action-open": "Deschide o notă aleatorie" }, "outline": { "name": "Sumar", "desc": "Afișează sumarul fișierului curent sau al panoului conectat.", "action-open": "Deschide sumar", "action-show": "Show outline pane", "action-open-for-current": "Open outline of the current file", "tab-title": "Sumar {{displayText}}", "label-no-headings": "Nu au fost găsite titluri.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Număr de cuvinte", "desc": "Afișează numărul de cuvinte în bara de status." }, "slides": { "name": "Prezentări", "desc": "Prezintă direct din Markdown. Folosește \"---\" pentru a separa paginile prezentării.", "action-start": "Începe prezentarea" }, "audio-recorder": { "name": "Înregistrare audio", "desc": "Înregistrează fișiere audio și le salvează ca atașamente.", "action-start": "Pornește înregistrarea audio", "action-stop": "Oprește înregistrarea audio", "action-toggle": "Începe/oprește înregistrarea", "msg-access-denied": "Accesul la microfon nu a fost permis, te rog să îl pornești din panoul de preferințe.", "msg-pending-grant": "Oferă acces la microfon pentru a putea începe înregistrarea.", "msg-no-microphone": "Nu este conectat niciun microfon." }, "open-with-default-app": { "name": "Deschide în aplicația implicită", "desc": "Adaugă un buton pentru a deschide fișierul curent în aplicația implicită.", "action-open-file": "Deschide în aplicația implicită", "action-open-file-mobile": "Share", "action-show-in-folder": "Arată în director", "action-show-in-folder-mac": "Reveal in Finder" }, "templates": { "name": "Șabloane", "desc": "Inserează conținutul șablonului dintr-un director de fișiere șablon.", "action-insert": "Inserează șablon", "action-insert-current-date": "Insert current date", "action-insert-current-time": "Insert current time", "option-template-folder-location": "Locul directorului de șabloane", "option-template-folder-location-description": "Fișierele din acest director vor fi disponibile ca șabloane.", "option-template-date-format": "Formatul datei", "option-template-date-format-description": "{{date}} din fișierul șablon va fi înlocuit cu această valoare.", "option-template-date-format-description2": "De asemenea, poți folosi și {{date:YYYY-MM-DD}} pentru a suprascrie formatul o singură dată.", "option-template-time-format": "Formatul orei", "option-template-time-format-description": "{{time}} din fișierul șablon va fi înlocuit cu această valoare.", "option-template-time-format-description2": "De asemenea, poți folosi și {{time:HH:mm}} pentru a suprascrie formatul o singură dată.", "instruction-navigate": "pentru a naviga", "instruction-insert": "pentru a insera șablonul", "instruction-dismiss": "pentru a închide", "msg-no-templates-found": "Nu au fost găsite șabloane", "msg-fail-invalid-folder": "Nu am reușit să afișez șabloanele. Directorul nu este valid.", "msg-fail-folder-not-found": "Nu am reușit să afișez șabloanele. Directorul \"{{folderOption}}\" nu a fost găsit.", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "Failed to list templates. No template folder configured.", "prompt-type-template": "Scrie numele unui șablon..." }, "translucency": { "name": "Fereastră translucidă", "desc": "Pornește efectul de transluciditate pentru a spori sentimentul de profunzime. Funcționează cel mai bine cu modul întunecat. Nu funcționează pe Linux." }, "slash-command": { "name": "Slash commands", "desc": "Enable the ability to trigger slash commands in the editor by typing the forward slash." }, "editor-status": { "name": "Editor status", "desc": "Adds a status bar item to show and change the current editor mode.", "read": "Reading", "edit-source": "Source mode", "edit-live-preview": "Live Preview" }, "publish": { "name": "Publică", "desc": "Publică notele cu ajutorul Obsidian Publish.", "action-publish-changes": "Publică schimbările", "action-publish-file": "Publish current file", "label-no-internet-access": "Ai nevoie de acces la internet pentru a publica schimbările.", "label-publish-service-description": "Obsidian Publish este un modul al unui serviciu plătit care îți permite să-ți publici notele online direct din Obsidian.", "label-please-login": "Pentru a începe să publici, te rog să te autentifici sau să-ți creezi un nou cont Obsidian.", "label-no-publish-subscription": "Deocamdată nu ai nici un abonament Obsidian Publish.", "button-purchase": "Cumpără", "label-manage-sites": "Administrează siteurile", "label-no-sites": "Nu ai nici un site.", "button-choose": "Alege", "tooltip-edit-site-id": "Editeză ID-ul siteului", "tooltip-delete-site": "Șterge siteul", "label-delete-site-confirmation": "Ești sigur că vrei să ștergi acest site?", "label-delete-site-details": "Această acțiune va șterge imediat și definitiv siteul tău.", "label-confirm-delete-site": "Confirmă ștergerea siteului \"{{site}}\"", "option-site-id": "ID-ul siteului", "option-site-id-description": "Siteul tău va fi la adresa https://publish.obsidian.md/{site id}. Poți schimba acest lucru mai târziu. Sunt permise doar literele mici, numerele și cratima.", "option-site-id-placeholder": "Alege un ID pentru site", "button-create": "Creează", "msg-invalid-site-id": "ID-ul siteului poate conține doar literele mici, numerele și cratima.", "msg-site-id-in-use": "Acest ID de site este deja folosit, te rog alege altul.", "msg-create-site-issue": "Am întâmpinat o problemă în crearea siteului tău.", "label-site-options": "Opțiunile siteului", "option-site-general": "General", "option-site-components": "Components", "option-site-appearance": "Appearance", "option-site-reading-experience": "Reading experience", "option-site-misc": "Other site settings", "option-site-name": "Numele siteului", "option-site-name-description": "Numele siteului publicat de tine. Va apărea în pagina de titlu.", "option-site-name-placeholder": "Numele siteului tău", "option-home-page-file": "Pagina principală", "option-home-page-file-description": "Prima pagină pe care un utilizator o vede atunci când intră pe siteul tău publicat", "option-home-page-file-placeholder": "Alege un fișier publicat", "option-logo": "Logo", "option-logo-description": "Pick an image file as your site logo.", "option-logo-placeholder": "Any any uploaded image in your vault...", "option-site-collaboration": "Site collaboration", "option-site-collaboration-desc": "Manage collaborators for this site.", "option-customize-navigation": "Customize navigation", "option-customize-navigation-desc": "Override the order of navigation items and hide pages or folders from showing.", "option-navigation-order": "Navigation item display order", "option-hide-items-in-navigation": "Hide pages or folders from navigation", "option-hide-items-in-navigation-desc": "Right click and select \"Hide\" to prevent specific pages from appearing in the site navigation. The pages will still be accessible via links or accessing the URL directly.", "option-show-hidden-items": "Show hidden", "button-customize-sidebar": "Manage", "label-navigation-modal-title": "Navigation", "label-navigation-modal-desc": "Drag and drop to customize the order in which navigation items appear on your Publish site.", "option-hide-in-navigation": "Hide in navigation", "button-manage-collaborators": "Manage", "option-theme": "Tema", "option-theme-description": "Alege culoarea implicită a siteului.", "option-theme-system": "Adapt to system", "option-show-theme-toggle": "Light/dark toggle", "option-show-theme-toggle-description": "Let the visitor toggle between light and dark theme on their own.", "option-show-navigation": "Arată navigarea", "option-show-navigation-description": "Afișează o listă cu toate paginile publicate în partea stângă a siteului.", "option-show-search": "Show search bar", "option-show-search-description": "Display a search bar at top of the navigation that lets the visitors search pages and headings on your site.", "option-show-graph": "Afișează graficul", "option-show-graph-description": "Afișează un grafic local mic pe fiecare pagină.", "option-show-outline": "Afișează cuprinsul", "option-show-outline-description": "Afișează sumarul titlurilor pe fiecare pagină.", "option-show-backlinks": "Afișează mențiunile", "option-show-backlinks-description": "Afișează secțiunea de mențiuni conectate la sfârșitul fiecărei pagini.", "option-sliding-window-mode": "Folosește ferestre glisante", "option-sliding-window-mode-description": "Deschide paginile într-un panel nou, în dreapta. Permite derularea orizonatală a panelurilor.", "option-hover-preview-file": "Afișează previzualizarea plutitoare", "option-hover-preview-file-description": "Afișează previzualizarea plutitoare când întârzii cu mouse-ul pe linkuri.", "option-hide-title": "Hide page title", "option-hide-title-description": "Hide the page title heading. Useful when you have your own headings at the beginning of each page.", "option-readable-line-length": "Lungimea rândului", "option-readable-line-length-description": "Limitează lungimea rândului. Încadrează mai puțin conținut pe ecran, dar face paragrafele lungi mai ușor de citit.", "option-site-password": "Passwords", "option-site-password-description": "Restrict access to your site with passwords.", "option-google-analytics": "Google Analytics tracking code", "option-google-analytics-description": "Configure Google Analytics for your site. Only available for visitors from your custom domain URL. Please check with your local laws and regulations first.", "button-manage-passwords": "Manage", "button-save-site-settings": "Salvează setările siteului", "msg-updated-options": "Actualizează opțiunile siteului.", "button-go-back": "Înapoi", "label-publishing-to": "Publică la", "tooltip-switch-site": "Comută la alt site", "button-add-linked": "Adaugă legătură", "tooltip-add-linked": "Adaugă toate fișierele care sunt legate la elementele selectate acum", "msg-added-linked-files": "{{count}} fișierul legătură a fost adăugat.", "msg-added-linked-files_plural": "{{count}} fișierele legătură au fost adăugate.", "tooltip-open-site-options": "Schimbă opțiunile siteului", "label-no-changes-detected": "Nu am înregistrat nici o schimbare.", "label-changed-files-to-be-published": "Schimbări", "label-unchanged-files-already-published": "Neschimbate (selectează pentru a șterge)", "label-file-selected": " selectat(ă)", "button-select-all-files": "Selectează tot", "label-custom-navigation-title": "Navigation items", "button-deselect-all-files": "Deselectează tot", "label-new-files-to-be-published": "Nou", "button-publish": "Publică", "msg-no-permission-to-publish-to-site": "Nu ai permisiunea pentru a publica pe siteul curent.", "msg-select-at-least-one-file": "Te rog alege cel puțin un fișier.", "label-upload-changes": "Încarcă schimbările", "button-done": "Gata", "button-stop": "Stop", "label-status-uploading": "Încarc", "label-status-to-publish": "De publicat", "label-status-to-delete": "De șters", "label-status-published": "Publicat", "label-status-deleted": "Șters", "label-status-failed": "Eroare", "label-status-cancelled": "Anulat", "button-change": "Schimbă", "label-clear-cache": "Durează câteva minute pentru ca schimbările să apară pe siteul tău. Dacă nu vezi ultimele schimbări făcute, încearcă să ștergi cache-ul browserului.", "label-visit-site": "Poți vizita siteul aici: ", "msg-something-went-wrong": "Ceva a funcționat rău. Te rog verifică consola dezvltatorului pentru detalii.", "msg-network-error": "Am întâmpinat o eroare de rețea. ", "label-manage-passwords": "Manage passwords", "label-add-password": "Add password", "action-new-password": "New password", "label-no-password": "Your site currently does not have any passwords. Anyone can visit it.", "label-have-password": "Your site is password protected. If you have multiple passwords, visitors can access your site by entering any of them.", "option-password-name": "Password", "option-password-desc": "A hash of your password will be stored securely. Once the password is set, it cannot be revealed in plaintext.", "option-password-placeholder": "Your password", "option-nickname-name": "Nickname (optional)", "option-nickname-desc": "Set a nickname to remind yourself what or who the password is for.", "action-add-password": "Add this password", "label-untitled-password": "Untitled password", "label-password-created-time": "Created {{time}}", "msg-added-new-password": "Added new password.", "option-custom-domain": "Custom domain", "option-custom-domain-desc": "Use your own domain rather than the https://publish.obsidian.md/{site id} URL.", "option-noindex": "Disallow search engine indexing", "option-noindex-desc": "Prevent search engines from indexing your site.", "button-configure": "Configure", "label-configure-custom-domain": "Configure custom domain", "option-custom-url-name": "Custom URL", "option-custom-url-desc": "The URL that your site will be located at.", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "Redirect to your custom domain", "option-custom-url-redirect-desc": "Redirect visitors on publish.obsidian.md/id to your custom domain.", "button-update-custom-domain": "Update domain setting", "label-custom-domain-instructions": "Please refer to our {{link}} on our help site for more information.", "label-custom-domain-link-name": "custom domain setup guide", "label-site-usage": "You're using {{site}} out of your {{limit}}.", "button-add-more-sites": "Buy more sites", "label-no-sites-bought": "You haven't bought any sites.", "button-get-site": "Get a site", "label-manage-sharing": "Manage sharing for \"{{name}}\"", "label-sharing-with-users": "This site is currently shared with the following people.", "label-not-sharing": "This site is not currently shared with anyone.", "label-invite-pending": "Pending", "tooltip-remove-user": "Remove user", "option-invite-user": "Invite user", "placeholder-invite-user": "Enter their email...", "error-email-must-be-valid": "Please enter a valid email to invite someone.", "msg-enable-publish-plugin": "Please enable the Publish core plugin in Settings -> Core plugins to view sites.", "label-your-sites": "Your sites", "label-sites-shared-with-you": "Sites shared with you", "tooltip-leave-site-sharing": "Stop collaborating on this site", "label-leave-site-confirmation": "Confirm stop site collaboration", "label-leave-site-confirmation-details": "This will remove this site from the list of sites shared with you. This action cannot be reverted.", "label-leave-site-confirmation-details-2": "Please contact the owner of the site if you wish to collaborate on this site again.", "button-leave": "Leave", "label-compare-with-live": "Compare with live version", "button-use-live-version": "Use live version", "label-confirm-override": "Confirm overriding local version", "label-confirm-override-1": "Are you sure you want to override the local version?", "label-confirm-override-2": "The live version will be used and your local version will be discarded. Please make backups if necessary.", "button-proceed": "Proceed", "message-successfully-used-live-version": "Successfully used live version to override your local version.", "label-open-in-live-site": "Open in live site", "label-open-file": "Open file", "tooltip-manage-publish-filters": "Manage publish filters", "option-included-folders": "Included folders", "option-included-folders-desc": "Files under these folders will automatically be selected when you review changes to publish.", "option-currently-included-folders": " These folders are currently included:", "option-excluded-folders": "Excluded folders", "option-excluded-folders-desc": "Files under these folders won't show up when you review changes to publish. This setting takes priority over included folders above.", "label-number-of-folders-included": "Obsidian Publish is currently including {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish is currently excluding {{folders}}.", "label-manage-included-folders": "Manage included folders", "label-manage-excluded-folders": "Manage excluded folders", "label-add-included-folder": "Include a folder", "label-add-included-folder-desc": "You can include both existing folders and folders that have not been created yet.", "tooltip-contact-support": "Contact support", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "Spații de lucru", "desc": "Salvează și încarcă aspectul spațiului de lucru.", "action-load-layout": "Load workspace layout", "action-manage-layouts": "Manage workspace layouts", "action-save": "Save layout", "action-save-and-load-layout": "Save and load another layout", "placeholder-save-current-layout-as": "Save current workspace layout as...", "button-save": "Salvează", "button-load": "Încarcă", "tooltip-delete-layout": "Delete layout", "msg-enter-name": "Please enter a name for the new layout.", "msg-save-layout-success": "Successfully saved layout.", "label-no-layout-found": "No saved layout found.", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "Type layout name..." }, "sync": { "name": "Sync", "desc": "Synchronize your files through Obsidian Sync.", "action-view-version-history": "View version history", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "Load more", "label-show-diff": "Show diff", "label-copy-to-clipboard": "Copy to clipboard", "label-restore-this-version": "Restore this version", "msg-already-latest-version": "This version is already the latest version.", "msg-restored-version": "Successfully restored version from {{time}}", "label-file-deleted": "This file was deleted", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "This file was renamed from \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revision", "label-revision_plural": "{{revisions}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "Empty", "label-unable-to-retrieve": "Unable to retrieve version history", "label-setting-files": "Setting files", "label-deleted-files": "Deleted files", "label-version-history": "Version history", "label-click-to-see-history": "Click on a deleted file to see its history.", "label-create-remote-vault": "Create remote vault", "msg-please-enter-password": "Please enter a password.", "msg-vault-name-cannot-be-empty": "Vault name cannot be empty.", "msg-successfully-created-vault": "Successfully create remote vault \"{{name}}\".", "label-remote-vault-explanation": "Remote vaults securely synchronize your vault between devices.", "option-vault-name": "Vault name", "option-vault-name-desc": "Helps you remember what this vault is for.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Select the server region closest to you to store the remote vault. This cannot be changed in the future.", "option-vault-name-placeholder": "My awesome vault", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Encryption password", "option-encryption-password-desc": "This password cannot be changed later.", "option-encryption-password-desc-warning": "If you forget this password, any remote data will remain unusable forever.", "option-encryption-password-desc-2": "This does not affect your local data.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "Your password", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "Unlock vault", "label-remote-vaults": "Your remote vaults", "label-vault-created-time": "Created {{time}}", "tooltip-delete-remote-vault": "Delete", "tooltip-rename-remote-vault": "Rename", "label-rename-remote-vault": "Rename remote vault \"{{name}}\"", "label-rename-remote-vault-desc": "Enter a new name for this remote vault.", "tooltip-manage-sharing": "Manage sharing", "label-confirm-delete-remote-vault": "Confirm delete vault", "label-confirm-delete-remote-vault-question": "Are you sure you want to delete this remote vault?", "label-confirm-delete-remote-vault-result": "All data on our server, including version history, will be deleted. Your local files will stay intact.", "label-confirm-delete-remote-vault-warning": "This action is permanent and irreversible.", "msg-remote-vault-deleted": "{{name}} has been deleted.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "Connect", "button-disconnect-from-remote-vault": "Disconnect", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "You don't have any remote vaults.", "label-no-subscription": "You don't have an active Obsidian Sync subscription.", "label-please-visit": "Please visit", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "Create new vault", "label-sync-log": "Sync log", "option-event-type-all": "All", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Merge conflicts", "button-copy-sync-log": "Copy sync log", "msg-successfully-copied-sync-log": "Successfully copied sync log.", "button-retry": "Retry", "button-purchase-subscription": "Purchase", "label-third-party-sync-warning": "Conflicting file sync service detected", "label-third-party-sync-warning-desc": "Warning: Your vault seems to be using {{service}} as a third party sync service. If you use Obsidian Sync with this vault, you may run into conflicts, file corruption, or data loss.", "label-icloud-drive-warning": "If you are using iCloud Drive, your Documents and Desktop folders might be synced by iCloud. This could cause conflicts with Obsidian Sync.", "option-remote-vault": "Remote vault", "button-choose-remote-vault": "Choose", "button-manage-remote-vault": "Manage", "option-remote-vault-desc-connected": "Currently connected to the \"{{name}}\" remote vault.", "option-remote-vault-desc-not-connected": "Currently not connected to any remote vault.", "option-sync-status": "Sync status", "option-sync-status-desc-paused": "Obsidian Sync is currently paused.", "option-sync-status-desc-running": "Obsidian Sync is currently running.", "option-device-name": "Device name", "option-device-name-desc": "This name will be displayed in the sync log. Leave empty to use the default name.", "button-resume": "Resume", "button-pause": "Pause", "option-view-deleted-files": "Deleted files", "option-view-deleted-files-desc": "View and restore deleted files.", "option-sync-log": "Sync activity", "option-sync-log-desc": "View recent sync activities for debugging.", "button-view": "View", "button-bulk-restore": "Bulk restore", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Restoring...", "msg-restoring-complete": "`Restore complete: {{succeeded}} succeeded and {{failed}} failed.`", "option-vault-size": "Vault size", "option-vault-size-desc": "You are using {{size}} out of {{limit}}", "option-vault-size-unknown": "Unable to retrieve your vault size.", "option-vault-size-loading": "Retrieving your vault size...", "option-over-size": "Vault size over limit", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "View largest files", "msg-largest-files-desc": "These are the remote files that are taking the most space. After deleting attachments, use the purge button to free up remote vault space.", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "Purge", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "Permanently purge deleted attachments from remote vault to save space.", "msg-purge-complete": "Purge complete.", "option-prevent-sleep": "Prevent device sleep", "option-prevent-sleep-desc": "Prevents the device from going to sleep when there are still files to be synced.", "option-selective-sync": "Selective sync", "option-excluded-folders": "Excluded folders", "option-excluded-folder-desc": "Prevent certain folders from being synced.", "option-currently-excluded-folders": " These folders currently excluded:", "button-manage-excluded-folders": "Manage", "option-sync-image": "Sync images", "option-sync-image-desc": "Sync image files with these extensions: {{extensions}}.", "option-sync-audio": "Sync audio", "option-sync-audio-desc": "Sync audio files with these extensions: {{extensions}}.", "option-sync-video": "Sync videos", "option-sync-video-desc": "Sync video files with these extensions: {{extensions}}.", "option-sync-pdf": "Sync PDFs", "option-sync-pdf-desc": "Sync PDF files.", "option-sync-unsupported": "Sync all other types", "option-sync-unsupported-desc": "Sync unsupported file types.", "option-vault-config-sync": "Vault configuration sync", "option-view-config-files": "Settings version history", "option-view-config-files-desc": "View and restore version history of setting files.", "option-sync-app": "Main settings", "option-sync-app-desc": "Enable to sync editor settings, files & links settings, custom hotkeys, etc.", "option-sync-appearance": "Appearance settings", "option-sync-appearance-desc": "Sync appearance settings like dark mode, active theme, and enabled snippets.", "option-sync-appearance-data": "Themes and snippets", "option-sync-appearance-data-desc": "Sync downloaded themes and snippets. Whether they are enabled depends on the previous setting.", "option-sync-hotkey": "Hotkeys", "option-sync-hotkey-desc": "Sync custom hotkeys.", "option-sync-core-plugin": "Active core plugin list", "option-sync-core-plugin-desc": "Sync which core plugins are enabled.", "option-sync-core-plugin-data": "Core plugin settings", "option-sync-core-plugin-data-desc": "Sync core plugin settings.", "option-sync-community-plugin": "Active community plugin list", "option-sync-community-plugin-desc": "Sync which community plugins are enabled.", "option-sync-community-plugin-data": "Installed community plugins", "option-sync-community-plugin-data-desc": "Sync installed community plugins (.js, .css, and manifest.json files) and their settings.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync is Obsidian's add-on sync service with end-to-end encryption and version history.", "label-account-required": "To start syncing, please log in or create a new Obsidian account.", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "Sign up", "button-log-in": "Log in", "label-manage-excluded-folders": "Manage excluded folders", "label-number-of-folders-excluded": "{{folders}} are currently excluded from being synced.", "label-add-excluded-folder": "Exclude a folder", "label-add-excluded-folder-desc": "You can exclude both existing folders and folders that have not been created yet.", "tooltip-remove-excluded-folder": "Remove from excluded list", "label-setup-connection": "Setup connection", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "You're now connected to \"{{name}}\".", "button-start-syncing": "Start syncing", "label-confirm-merge-vault": "Confirm Merge Vault", "msg-vault-has-notes": "Your local vault already contains some notes.", "msg-vault-merge-warning": "If you connect to the remote vault \"{{name}}\", notes in your local vault will be merged with notes from your remote vault. In case of conflicts, the most recent version of the note will be preserved.", "tooltip-update-setting-on-all-devices": "Please update this option and restart app on all the devices where you want it to take effect.", "label-sharing-with-users": "This remote vault is currently shared with the following people.", "label-not-sharing": "This remote vault is not currently shared with anyone.", "label-vaults-shared-with-you": "Vaults shared with you", "tooltip-leave-vault-sharing": "Stop collaborating on this vault", "label-leave-vault-confirmation": "Confirm stop vault collaboration", "label-leave-vault-confirmation-details": "This will remove this vault from the list of vaults shared with you. This action cannot be reverted.", "label-leave-vault-confirmation-details-2": "Please contact the owner of the vault if you wish to collaborate on this vault again.", "button-leave": "Leave", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "You need an Obsidian Sync subscription to connect to this vault.", "option-contact-support": "Contact support", "option-contact-support-desc": "If you run into any issues with Obsidian Sync, please contact us so we can help you out! You can reach us at support@obsidian.md.", "button-copy-debug": "Copy debug info", "button-email-support": "Email support", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Sync lets you create up to 5 remote vaults. In order to create a new remote vault, please remove an existing one.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "File recovery", "desc": "Let you restore recent snapshots to recover from accidental data loss. Snapshots are only saved for Markdown files.", "action-open": "Open saved snapshots", "option-interval": "Snapshot interval", "option-interval-description": "Minimal interval in minutes between two snapshots.", "option-keep": "History length", "option-keep-description": "Length in days snapshots is kept for.", "option-open-history": "Snapshots", "option-open-history-description": "View and restore saved snapshots.", "button-view-history": "View", "option-clear": "Clear history", "option-clear-description": "Wipe all snapshots.", "button-clear-history": "Clear", "label-clear-warning": "Are you sure you want to delete all snapshots? Note that only snapshots will be removed. All files inside your vault will not be affected.", "msg-clear-complete": "Snapshots cleared.", "label-no-history-found": "No snapshots found.", "placeholder-choose-file": "Choose a file...", "label-select-file": "Please select a file on the left to view snapshots." }, "note-composer": { "name": "Note composer", "desc": "Merge, split, and refactor notes.", "option-confirm-file-merge": "Confirm file merge", "option-confirm-file-merge-description": "Prompt before merge two files.", "option-split-replacement-text": "Text after extraction", "option-split-replacement-text-description": "What to show in place of the selected text after extracting it.", "option-choice-split-replacement-text-link": "Link to new file", "option-choice-split-replacement-text-embed": "Embed new file", "option-choice-split-replacement-text-none": "None", "option-template-file": "Template file location", "option-template-file-description": "Template file to use when merging or extracting. Available variables: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, e.g. {{date:YYYY-MM-DD}}.", "command-merge-file": "Merge current file with another file...", "action-merge-file": "Merge entire file with...", "label-no-files": "No files found.", "instruction-navigate": "to navigate", "instruction-merge": "to merge", "instruction-create-new": "to create new", "instruction-merge-at-top": "to merge at top", "instruction-dismiss": "to dismiss", "prompt-select-file-to-merge": "Select file to merge into...", "label-merge-file": "Merge file", "label-confirm-file-merge": "Are you sure you want to merge \"{{file}}\" into \"{{destination}}\"? \"{{file}}\" will be deleted.", "button-merge": "Merge", "command-split-file": "Extract current selection...", "command-extract-heading": "Extract this heading...", "instruction-append": "to move to bottom", "instruction-prepend": "to move to top", "msg-fail-to-fetch-template": "Failed to fetch template file: \"{{template}}\" not found.", "msg-fail-to-find-heading": "Failed to find heading" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Canvas", "desc": "Arrange and connect notes on an infinite canvas.", "action-add-note": "Add note from vault", "action-add-media": "Add media from vault", "action-add-card": "Add card", "action-add-website": "Add web page", "action-create-group": "Create group", "action-create-with-size": "Create a card with specific size", "action-convert-to-file": "Convert to file...", "action-drag-to-add-note": "Drag to add note from vault", "action-drag-to-add-media": "Drag to add media from vault", "action-drag-to-add-card": "Drag to add card", "action-edit-label": "Edit label", "action-remove-label": "Remove label", "action-search-file": "Search for file", "action-set-color": "Set color", "action-align": "Align", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-align-top": "Align top", "action-align-middle": "Align middle", "action-align-bottom": "Align bottom", "action-distribute-horizontal-spacing": "Distribute horizontal spacing", "action-distribute-vertical-spacing": "Distribute vertical spacing", "action-justify-horizontally": "Justify horizontally", "action-justify-vertically": "Justify vertically", "action-arrange-horizontally": "Arrange in a row", "action-arrange-vertically": "Arrange in a column", "action-arrange-grid": "Arrange in a grid", "action-export-png": "Export as image", "action-jump-to-group": "Jump to group", "action-set-background": "Set background", "action-edit-background": "Edit background", "action-replace-background": "Replace background", "action-remove-background": "Remove background", "label-no-images": "No images found.", "label-no-media": "No media found.", "label-export-png-desc": "Export \"{{title}}\" with a PNG file with the settings below.", "label-export-png-dimensions": "Estimated image dimensions: {{dimensions}}", "label-distribute": "Distribute", "label-justify": "Justify", "label-arrange": "Arrange", "label-always": "Always", "label-hover": "On hover", "label-never": "Never", "label-no-section-found": "No section found", "option-wheel-behavior": "Default mouse wheel behavior", "option-mod-drag-behavior": "Default {{key}} behavior", "option-show-menu": "Show menu", "option-new-canvas-location": "Default location for new canvas files", "option-new-canvas-location-description": "Where newly created canvas files are placed.", "option-new-canvas-folder-path": "Folder to create new canvas files in", "option-new-canvas-folder-path-description": "Newly created canvas files will appear under this folder.", "option-node-label": "Display card label", "option-snap-to-grid": "Snap to grid", "option-snap-to-grid-desc": "Snap cards to the background grid when moving and resizing.", "option-snap-to-objects": "Snap to objects", "option-snap-to-objects-desc": "Snap cards to nearby objects when moving and resizing.", "option-zoom-breakpoint": "Zoom threshold for hiding card content", "option-zoom-breakpoint-desc": "Lower values will increase performance but hide card content sooner when zooming out.", "option-export-png-show-logo": "Show logo", "option-export-png-show-logo-desc": "This will add an Obsidian logo to the bottom left.", "option-export-png-privacy-mode": "Privacy mode", "option-export-png-privacy-mode-desc": "This will obscure any text on your canvas.", "option-export-png-zoom": "Zoom", "option-export-png-zoom-desc": "A higher zoom will generate a higher resolution image.", "option-export-png-frame": "Viewport", "option-export-png-frame-desc": "Choose to render the entire canvas or just the current visible viewport.", "option-export-png-frame-full": "Full canvas", "option-export-png-frame-viewport": "Viewport only", "option-background-cover": "Cover", "option-background-ratio": "Keep aspect ratio", "option-background-repeat": "Repeat", "action-new-canvas": "New canvas", "action-remove": "Remove", "action-narrow-heading": "Narrow to heading...", "action-narrow-block": "Narrow to block...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Swap file...", "action-change-url": "Change URL...", "action-zoom-to-fit": "Zoom to fit", "action-zoom-to-selection": "Zoom to selection", "action-reload-page": "Reload page", "action-follow-connection": "Follow connection", "command-create-new-canvas": "Create new canvas", "command-convert-to-file": "Convert to file...", "instruction-narrow-heading": "to embed heading", "instruction-narrow-block": "to embed block", "instruction-jump-to-group": "to navigate to group", "prompt-to-narrow": "Type name of heading", "label-enter-url": "Enter URL", "label-empty-embed": "\"{{linktext}}\" could not be found.", "prompt-add-text": "Add text...", "prompt-start-search": "Type to search...", "label-canvas-help": "Canvas help", "label-canvas-settings": "Canvas settings", "label-no-narrow": "Show entire file", "label-show-default-view": "Show default view", "label-readonly": "Read-only", "label-disable-readonly": "Disable read-only", "label-pan": "Pan", "label-pan-horizontal": "Pan horizontally", "label-zoom": "Zoom", "label-select-all": "Select all", "label-add-remove-selection": "Add to / remove from selection", "label-clone-card": "Clone card", "label-constrain-movement-axis": "Constrain card movement to axis", "label-disable-drag-snapping": "Disable snapping while dragging", "label-remove-card": "Remove card", "label-drag-from-below": "Drag from below or double click", "label-longpress": "Touch and hold to add / move / select", "label-drag-pan": "Drag to pan", "label-pinch-zoom": "Pinch to zoom", "label-space-drag-pan": "Space + Drag to pan", "label-scroll-to-zoom": "Scroll to zoom", "label-untitled-group": "Untitled group", "label-line-direction": "Line direction", "label-nondirectional": "Nondirectional", "label-unidirectional": "Unidirectional", "label-bidirectional": "Bidirectional", "label-image": "Image", "label-style": "Style", "msg-no-groups-found": "No groups found", "msg-export-failed-empty-canvas": "Cannot export an empty canvas", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Highlight all", "action-match-diacritics": "Match diacritics", "action-whole-words": "Whole words", "action-show-thumbnails": "Thumbnails", "action-show-outline": "Table of contents", "action-reveal-in-outline": "Reveal page in table of contents", "action-toggle-sidebar": "Toggle sidebar", "action-previous-page": "Previous page", "action-next-page": "Next page", "action-fit-width": "Fit width", "action-fit-height": "Fit height", "action-save-p-d-f-location": "Save current position in document", "action-copy-annotation": "Copy annotation", "action-copy-quote": "Copy as quote", "action-copy-selection-link": "Copy link to selection", "action-copy-annot-link": "Copy link to annotation", "action-copy-section-link": "Copy link to section", "action-copy-section-link-title": "Copy link to “{{title}}”", "action-copy-page-link": "Copy link to page {{page}}", "msg-max-search-results": "{{current}} of over {{limit}} matches", "msg-search-count": "{{current}} of {{total}} match", "msg-search-count_plural": "{{current}} of {{total}} matches", "msg-password-protected": "This PDF is password protected", "msg-invalid-password": "Invalid password", "msg-enter-password": "Enter the password below", "label-of-pages": "of {{count}}", "label-page-of-pages": "({{current}} of {{count}})", "label-spread-single": "Single page", "label-spread-odd": "Two page (odd)", "label-spread-even": "Two page (even)", "tooltip-sidebar-options": "Sidebar options", "tooltip-display-options": "Display options", "label-adapt-to-theme": "Adapt to theme", "label-page": "page {{page}}", "page_landmark": "Page {{page}}", "thumb_page_title": "Page {{page}}", "thumb_page_canvas": "Page {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "List", "option-unknown": "Unknown", "option-text": "Text", "option-aliases": "Aliases", "option-tags": "Tags", "option-folder": "Folder", "option-file": "File", "option-date": "Date", "option-datetime": "Date & time", "option-number": "Number", "option-checkbox": "Checkbox" }, "value-suggestion": { "key-link-note": "Type [[", "instruction-link-note": "to link note", "instruction-dismiss": "to dismiss" }, "option-property-type": "Property type", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "Invalid tag name", "msg-invalid-number": "Invalid number", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "No value", "label-heading": "Properties", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "Add property", "label-type-mismatch-warning": "Type mismatch, expected {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Column", "label-row": "Row", "action-row-after": "Add row after", "action-column-after": "Add column after", "action-row-before": "Add row before", "action-row-up": "Move row up", "action-row-down": "Move row down", "action-column-before": "Add column before", "action-column-left": "Move column left", "action-column-right": "Move column right", "action-duplicate-row": "Duplicate row", "action-duplicate-column": "Duplicate column", "action-delete-row": "Delete row", "action-delete-column": "Delete column", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-delete-selection": "Delete cells", "action-clear-selection": "Clear cells", "action-sort-a-z": "Sort by column (A to Z)", "action-sort-z-a": "Sort by column (Z to A)", "label-command": "Table: {{command}}" }, "callout": { "option-type": "Callout type", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Success", "question": "Question", "warning": "Warning", "quote": "Quote", "example": "Example", "none": "None" }, "option-other": "Other...", "option-other-placeholder": "Callout type..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} cuvânt", "word-with-count_plural": "{{count}} cuvinte", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} caracter", "character-with-count_plural": "{{count}} caractere", "link-with-count": "{{count}} legătură", "link-with-count_plural": "{{count}} legături", "file-with-count": "{{count}} fișier", "file-with-count_plural": "{{count}} fișiere", "folder-with-count": "{{count}} folder", "folder-with-count_plural": "{{count}} folders", "backlink-with-count": "{{count}} referință", "backlink-with-count_plural": "{{count}} referințe", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} property", "properties-with-count_plural": "{{count}} properties", "site-with-count": "{{count}} site", "site-with-count_plural": "{{count}} sites", "plugin-with-count": "{{count}} plugin", "plugin-with-count_plural": "{{count}} plugins", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} theme", "theme-with-count_plural": "{{count}} themes" } }{ "setting": { "options": "Настройки", "plugin": "Плагины", "builtin-plugins": "Встроенные плагины", "plugin-options": "Плагины", "folder-path-example-placeholder": "Пример: папка 1/папка 2", "file-path-example-placeholder": "Пример: папка/заметка", "msg-restart-required": "Изменение данного параметра потребует перезапуск приложения.", "editor": { "name": "Редактор", "section-behavior": "Режим работы", "section-display": "Отображение", "option-spellcheck": "Проверять орфографию", "option-spellcheck-description": "На данный момент работает только с американским английским.", "spellcheck-languages": "Выбрать языки", "spellcheck-languages-description": "Выбрать языки для проверки орфографии.", "spellcheck-languages-mac-description": "Встроенная программа проверки орфографии автоматически определит используемый язык в macOS.", "spellcheck-dict": "Словарь", "spellcheck-dict-empty": "Словарь пуст.", "option-show-inline-title": "Встроенный заголовок", "option-show-inline-title-description": "Отображать имя файла в виде редактируемого заголовка в теле файла.", "option-readable-line-length": "Ограничить максимальную длину строки", "option-readable-line-description": "Повышает удобство чтения длинных абзацев, но уменьшает количество помещающейся на экране информации.", "option-strict-line-break": "Двойной разделитель строк", "option-strict-line-break-description": "Игнорировать одиночные разделители строк в режиме просмотра в соответствии со стандартом Markdown. Отключите, чтобы одиночные разделители отображались в режиме просмотра.", "option-properties-in-document": "Свойства в документе", "option-properties-in-document-description": "Выберите способ отображения свойств в редакторе. Чтобы свойства отображались в формате YAML, выберите \"Исходный\".", "option-properties-hidden": "Скрытый", "option-properties-visible": "Видимый", "option-properties-source": "Исходный", "option-auto-pair-brackets": "Закрывать скобки", "option-auto-pair-brackets-description": "Автоматически закрывает скобки и кавычки.", "option-auto-pair-markdown": "Закрывать теги Markdown", "option-auto-pair-markdown-description": "Автоматически закрывает теги для жирного и курсивного начертаний.", "option-smart-indent-lists": "Отступ для списков", "option-smart-indent-lists-description": "Автоматически добавляет отступы и теги для списков.", "option-fold-heading": "Сворачивать заголовки", "option-fold-heading-description": "Сворачивает весь текст под заголовками.", "option-fold-indent": "Сворачивать отступы", "option-fold-indent-description": "Сворачивает текст с одинаковыми отступами, например списки.", "option-default-new-tab-view": "Режим открытия новых вкладок", "option-default-new-tab-view-description": "По умолчанию новая вкладка откроется в выбранном режиме.", "option-default-new-tab-view-editing": "Редактор", "option-default-new-tab-view-reading": "Просмотр", "option-open-tab-in-foreground": "Фокусировать новые вкладки", "option-open-tab-in-foreground-description": "Переключаться на новые вкладки при их открытии.", "option-default-editing-mode": "Режим редактора по умолчанию", "option-default-editing-mode-description": "По умолчанию редактор откроется в выбранном режиме.", "option-default-editing-mode-source": "Просмотр исходного кода", "option-default-editing-mode-live-preview": "Динамический просмотр", "option-show-line-number": "Отображать номера строк", "option-show-line-number-description": "Добавляет нумерацию строк на полях.", "option-indentation-guide": "Отображать направляющие в списках", "option-indentation-guide-description": "Добавляет вертикальные линии между пунктами одного уровня в списках.", "option-use-tabs": "Использовать табуляцию", "option-use-tabs-description": "Использовать табуляцию для отступов при нажатии клавиши \"Tab\". Отключите, чтобы вместо табуляции использовались символы пробела.", "option-tab-size": "Ширина табуляции", "option-tab-size-description": "Количество пробелов, которому соответствует табуляция.", "option-rtl": "Направления письма (RTL)", "option-rtl-description": "Установить отображение направления письма заметок справа налево.", "option-auto-convert-html": "Конвертировать HTML", "option-auto-convert-html-description": "Автоматически преобразовывать HTML в Markdown при вставке и перетаскивании веб-ссылок. Используйте с Ctrl/Cmd+Shift+V для вставки без конвертации.", "option-vim-key-bindings": "Использовать сочетания клавиш Vim", "option-vim-key-bindings-description": "Позволяет использовать сочетания клавиш Vim в режиме редактирования.", "option-vim-key-bindings-mobile": "На мобильных устройствах этот параметр настраивается для каждого устройства и не синхронизируется через конфигурационный файл.", "option-reindex-vault": "Восстановить кэш хранилища", "option-reindex-vault-description": "Восстановление кэша может занять от нескольких секунд до нескольких минут, в зависимости от размера вашего хранилища.", "label-reindex": "Восстановить", "label-confirm-enable-vim": "Подтвердите выбор Vim режима", "label-vim-warning": "Режим Vim эффективен для редактирования текста, но может быть контринтуитивен. Если вы не знакомы с Vim, эта опция может создать ощущение, что Obsidian не работает.", "label-vim-test": "Подтвердите навыки владения Vim, введя команду выхода из Vim без сохранения:", "label-vim-your-answer": "Ваш ответ", "placeholder-enter-command": "Введите команду...", "button-confirm-enable-vim": "Позвольте включить Vim", "msg-vim-mode-enabled": "Верная команда. Режим Vim активирован.", "msg-vim-mode-not-enabled": "Команда не верна. Режим Vim остается отключённым для вашего удобства.", "msg-vim-mode-please-enter-command": "Для включения режима Vim введите команду" }, "file": { "name": "Файлы и ссылки", "option-confirm-file-deletion": "Подтверждать удаление файла", "option-confirm-file-deletion-description": "Отображает окно с подтверждением удаления файла.", "option-delete-destination": "Удалённые файлы", "option-delete-destination-description": "Что делать с файлами после удаления.", "option-choice-system-trash": "Перемещать в системную корзину", "option-choice-vault-trash": "Перемещать в корзину Obsidian (папка .trash)", "option-choice-permanent-delete": "Удалять безвозвратно", "option-always-update-links": "Всегда обновлять внутренние ссылки", "option-always-update-links-description": "Обновляет ссылки автоматически после переименования файла.", "option-new-note-location": "Место для новых заметок по умолчанию", "option-new-note-location-description": "Где создавать новую заметку. Настройки плагинов могут переопределить это значение.", "option-choice-vault-root": "В корне хранилища", "option-choice-current-folder": "В той же папке, где расположен файл", "option-choice-specified-folder": "В папке, указанной ниже", "option-new-file-folder-path": "Папка, в которой создавать новые заметки", "option-new-file-folder-path-description": "Новые заметки будут создаваться в этой папке. Настройки плагинов могут переопределить это значение.", "option-use-wiki-links": "Использовать [[Wiki-ссылки]]", "option-use-wiki-links-description": "Автоматически создавать Wiki-ссылки для [[ссылок]] и ![[изображений]] вместо Markdown-ссылок.", "option-show-unsupported-files": "Обнаружение файлов всех расширений", "option-show-unsupported-files-description": "Показывать файлы с любым расширением, даже если Obsidian не может открыть их самостоятельно. Вы сможете их видеть и ссылаться на них в Файловом менеджере и Быстром переходе.", "option-link-autocompleted-format": "Формат новой ссылки", "option-link-autocompleted-format-description": "Какой формат использовать при создании внутренних ссылок.", "option-choice-shortest-linktext": "Самый короткий путь к файлу из возможных", "option-choice-relative-path": "Относительный путь к файлу", "option-choice-absolute-path": "Абсолютный путь относительно хранилища", "option-new-attachment-location": "Место для вложенных файлов по умолчанию", "option-new-attachment-location-description": "Куда будут добавляться новые вложенные файлы.", "option-new-attachment-location-default": "вложенные файлы", "option-choice-subdirectory": "В подпапке в текущей папке", "option-attachment-folder-path": "Путь к папке для вложенных файлов", "option-attachment-folder-path-description": "Новые вложенные файлы будут сохраняться в этой папке. В том числе любые вставленные изображения и аудиозаписи.", "option-attachment-subfolder-path": "Имя подпапки", "option-attachment-subfolder-path-description": "Если заметка находится в \"vault/folder\", а имя подпапки \"attachments\", то вложенные файлы будут сохраняться в \"vault/folder/attachments\".", "option-excluded-files": "Исключённые файлы и папки", "option-excluded-files-desc": "Исключённые файлы и папки будут скрыты или менее заметны в результатах поиска, в автозаполнении ссылок, в Быстром переключении и на Графе.", "label-no-excluded-filters-applied": "Исключение на данный момент не используется. Добавьте фильтр ниже.", "label-excluded-filters-applied": "Файлы и папки, соответствующие следующим фильтрам, в настоящее время исключены:", "label-excluded-filter": "Фильтр", "message-empty-filter": "Фильтр не может быть пустым", "placeholder-excluded-filter": "Введите имя, путь или \"/regex/\"...", "option-uri-callbacks": "Разрешить обратные вызовы URI", "option-uri-callbacks-desc": "Включите использование x-callback-url с помощью x-success или x-error при обработке URI Obsidian." }, "appearance": { "name": "Оформление", "option-base-theme": "Основная тема", "option-base-theme-description": "Выбор основной цветовой схемы оформления Obsidian.", "option-accent-color": "Акцентный цвет", "option-accent-color-description": "Выбор акцентного цвета, используемого в приложении.", "dark-theme": "Тёмная", "light-theme": "Светлая", "system-theme": "Системная", "option-font": "Шрифт", "option-advanced": "Расширенные настройки", "option-interface": "Интерфейс", "option-interface-font": "Шрифт интерфейса", "option-interface-font-description": "Выбор основного шрифта интерфейса в Obsidian.", "option-zoom-level": "Уровень масштабирования", "option-zoom-level-description": "Управление общим уровнем масштабирования в приложении.", "option-text-font": "Шрифт текста", "option-text-font-description": "Выбор шрифта для областей редактирования и просмотра.", "option-monospace-font": "Моноширинный шрифт", "option-monospace-font-description": "Выбор шрифта для блоков с кодом и для frontmatter.", "label-single-font-currently-in-effect": " В настоящее время используется следующий шрифт: ", "label-multiple-fonts-currently-in-effect": " В настоящее время используются следующие шрифты:", "option-font-placeholder": "Введите имя шрифта...", "label-no-custom-font-set": "В данный момент пользовательский шрифт не применяется. Добавьте его ниже.", "label-font-applied": "Будет использоваться первый шрифт из этого списка, который доступен в вашей системе.", "msg-font-not-found": "Этот шрифт не обнаружен в вашей системе.", "msg-font-found": "Этот шрифт обнаружен в вашей системе.", "label-font-name": "Имя шрифта", "option-community-themes": "Посмотреть темы сообщества", "option-community-themes-description": "Предпросмотр и использование тем, созданных сообществом.", "button-browse-community-themes": "Обзор", "option-font-size": "Размер шрифта", "option-font-size-description": "Размер шрифта в пикселях в области редактирования и предварительного просмотра.", "option-font-size-action": "Быстрое изменение размера шрифта", "option-font-size-action-description": "Позволяет изменить размер шрифта используя Ctrl + колесо прокрутки мыши или жест масштабирования на тачпаде.", "option-themes": "Темы", "option-manage-themes-description": "Управление установленными темами и просмотр тем сообщества.", "option-theme-button-manage": "Настроить", "option-choice-none": "Стандартная", "option-native-menus": "Системное контекстное меню", "option-native-menus-desc": "Отображение контекстных меню приложения в соответствии с операционной системой, независимо от выбранной темы оформления.", "button-reload-themes": "Обновить темы", "msg-reloaded-themes": "Обновлён список CSS-тем.", "button-open-themes-folder": "Открыть папку с темами", "option-css-snippets": "Фрагменты CSS кода", "label-no-css-snippets-found": "В папке фрагментов CSS кода ничего не обнаружено.", "no-snippet-description": "Фрагменты CSS кода хранятся в папке \"{{path}}\".", "button-reload-snippets": "Обновить список фрагментов", "button-open-snippets-folder": "Открыть папку с фрагментами", "msg-reloaded-snippets": "Обновлён список CSS фрагментов.", "option-toggle-snippet-description": "Применить CSS фрагмент к \"{{path}}\".", "label-installed-themes": "Установленные темы", "label-screenshot-unavailable": "Снимок экрана недоступен", "label-default-theme": "Тема по умолчанию", "tooltip-click-to-enlarge": "Нажмите, чтобы увеличить", "button-update": "Обновить", "label-currently-active": "Текущая", "option-frame-style": "Заголовок окна", "option-frame-description": "Выбор оформления заголовка окна Obsidian. Изменение данного параметра потребует перезапуск приложения.", "option-frame-hidden": "Скрытый (по умолчанию)", "option-frame-obsidian": "Obsidian", "option-frame-native": "Системный", "option-custom-icon": "Пользовательская иконка приложения", "option-custom-icon-desc": "Установить собственную иконку для приложения", "button-choose-custom-icon": "Выбрать собственную иконку", "option-configure-ribbon": "Настройки вертикальной панели", "option-configure-ribbon-desc": "Выбор команд для отображения в вертикальной панели навигации.", "option-mobile-quick-ribbon-item": "Быстрый доступ к вертикальной панели", "option-mobile-quick-ribbon-item-desc": "Нажатие активирует команду. При нажатии и удержании отображается меню.", "option-mobile-quick-ribbon-default": "Открыть вертикальную панель", "button-configure": "Настроить", "option-show-ribbon": "Вертикальная панель", "option-show-ribbon-desc": "Отображать вертикальную панель инструментов в боковой части окна.", "label-additional-ribbon-items": "Скрытые команды", "label-modal-configuration": "Настройка вертикальной панели", "label-modal-configuration-desc": "Выбрать команды для отображения в вертикальной панели. Порядок отображения команд задается перетаскиванием.", "option-show-view-header": "Строка заголовка", "option-show-view-header-desc": "Отображать строку заголовка для каждой вкладки.", "msg-updates-found": "Найдено обновлений для тем: {{count}}", "msg-updates-found_plural": "Найдено обновлений для тем: {{count}}", "button-check-for-updates": "Проверить обновления", "button-view-updates": "Посмотреть обновления", "button-update-all-themes": "Обновить все", "label-current-themes": "Текущие темы сообщества", "label-currently-installed": "Установлено тем: {{count}}", "label-currently-installed_plural": "Установлено тем: {{count}}" }, "hotkeys": { "name": "Сочетания клавиш", "option-search": "Поиск сочетаний клавиш", "option-search-desc": "Сочетаний клавиш: {{count}}. ", "option-search-desc_plural": "Сочетаний клавиш: {{count}}. ", "option-search-conflict": "Команд с конфликтами: {{count}}", "option-search-conflict_plural": "Команд с конфликтами: {{count}}", "prompt-filter": "Фильтр...", "tooltip-delete-hotkey": "Удалить сочетание клавиш", "label-waiting-for-hotkey-press": "Нажмите сочетание клавиш...", "label-show-all": "Все", "label-show-unassigned": "Не назначенные", "label-show-assigned": "Назначенные", "label-show-user-assigned": "Назначены мной", "tooltip-restore-default": "Восстановить значение по умолчанию", "tooltip-customize-command": "Настроить эту команду", "tooltip-hotkey-single-conflict": "Это сочетание конфликтует с командой \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Количество конфликтов этого сочетания с другими командами: {{count}}", "label-blank-hotkey": "Не назначено" }, "about": { "name": "Общие", "label-commercial-license": "Коммерческая лицензия", "label-license-key": "Лицензионный ключ", "license-key-placeholder": "Ваш лицензионный ключ...", "label-activate-license": "Активировать лицензию", "button-activate": "Активировать", "label-unknown-version": "Неизвестна", "label-current-version": "Текущая версия: ", "label-install-version": "(Версия установщика: {{version}})", "label-up-to-date": "Установлена актуальная версия!", "label-read-changelog": "Список изменений", "label-manual-update-required": "Для работы с новейшими функциями и получения исправлений безопасности требуется обновить версию установщика Obsidian. Вам необходимо вручную загрузить файл установки и переустановить Obsidian.", "label-new-version-ready": "Новая версия доступна для установки.", "label-disabled-updates": "Обновления отключены.", "button-relaunch": "Перезапустить", "button-check-for-updates": "Проверить обновления", "option-auto-update": "Автоматические обновления", "option-auto-update-description": "Проверять и скачивать доступные обновления автоматически.", "option-check-slow-startup": "Уведомлять, если запуск займёт больше времени, чем ожидалось", "option-check-slow-startup-description": "Диагностируйте проблемы с вашим приложением, выяснив, из-за чего оно медленно загружается.", "button-check-startup": "Проверить сейчас", "option-get-help": "Получить помощь", "option-get-help-description": "Получить помощь по использованию Obsidian.", "button-open": "Открыть", "option-language": "Язык", "option-language-description": "Изменяет язык интерфейса.", "option-insider-build": "Получать ранние сборки", "option-insider-build-description": "Автоматически обновляться до ранних сборок, чтобы попробовать новые возможности. Обратите внимание, что эти сборки могут быть менее стабильными.", "option-advanced": "Расширенные настройки", "option-hw-acceleration": "Аппаратное ускорение", "option-hw-acceleration-description": "Включает аппаратное ускорение с помощью ГП для более плавной работы Obsidian.", "option-hw-acceleration-warning": "Если вы отключите эту функцию, производительность приложения сильно снизится.", "option-config-location": "Место хранения конфигурации хранилища", "option-config-location-description": "Использовать папку конфигурации отличную от папки конфигурации по умолчанию. Название папки должно начинаться с точки.", "option-config-location-warning": "Имя папки конфигурации должно быть свободно и начинаться с точки.", "label-license": "Лицензия", "label-your-commercial-license-key": "Ключ вашей коммерческой лицензии \"{{key}}\".", "label-commercial-license-info": "Зарегистрирована на \"{{company}}\" для {{seats}} пользователей. Действительна до {{expiry}}.", "label-validating-commercial-license": "Проверка...", "label-invalid-commercial-license": "Лицензия недействительна: ", "button-remove-commercial-license": "Удалить", "option-catalyst": "Лицензия Catalyst", "option-catalyst-desc": "У вас лицензия Catalyst уровня {{tier}}. Спасибо за поддержку!", "option-catalyst-desc-no-license": "У вас нет лицензии Catalyst. Лицензия Catalyst является единовременным пожертвованием на поддержку разработки Obsidian.", "label-app": "Основные параметры", "label-add-own-language": "Узнайте, как добавить свой язык в Obsidian." }, "account": { "name": "Аккаунт", "option-your-account": "Ваш аккаунт", "option-your-account-desc": "Вы вошли как {{name}} ({{email}}).", "option-your-account-desc-no-login": "Вы не вошли в систему. Аккаунт необходим только для работы Obsidian Sync, Obsidian Publish и доступа к ранним сборкам Catalyst.", "label-insider": "Insider", "label-supporter": "Supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Повысить уровень", "option-commercial-license": "Коммерческая лицензия", "option-commercial-license-desc": "Помогите обеспечить 100 процентную поддержку Obsidian пользователями.", "button-purchase": "Приобрести", "button-log-out": "Выйти", "label-log-in": "Войти", "label-sign-up": "Зарегистрироваться", "label-email": "Почта", "placeholder-email": "Ваш эл. адрес...", "label-name": "Полное имя", "label-password": "Пароль", "placeholder-password": "Ваш пароль...", "label-forgot-password": "Забыли пароль?", "button-login": "Войти", "message-empty-email": "Электронный адрес не может быть пустым.", "message-invalid-email": "Неверный формат адреса электронной почты.", "message-empty-password": "Пароль не может быть пустым.", "message-login-failed": "Неправильный адрес электронной почты или пароль.", "message-signup-failed": "Не удалось зарегистрироваться", "label-no-account": "Нет аккаунта? ", "link-sign-up-now": "Зарегистрироваться", "label-mfa-code": "6-значный код двухфакторной аутентификации", "mfa-wrong-format": "Код двухфакторной аутентификации должен состоять из 6 цифр.", "mfa-verification-failed": "Код двухфакторной аутентификации неверен, пожалуйста, перепроверьте приложение аутентификации ещё раз." }, "core-plugin": { "plugin-list": "Управление плагинами", "option-search-plugin": "Поиск встроенных плагинов", "option-search-plugin-description": "Поиск встроенных плагинов по наименованию или описанию.", "placeholder-search-plugin": "Поиск встроенных плагинов..." }, "third-party-plugin": { "name": "Сторонние плагины", "option-restricted-mode": "Безопасный режим", "option-restricted-mode-description": "Безопасный режим отключён. Включите, чтобы отключить плагины сообщества.", "button-turn-on": "Включить", "option-browse-community-plugins": "Плагины сообщества", "option-browse-community-plugins-description": "Обзор и установка сторонних плагинов, созданных нашим потрясающим сообществом.", "button-browse": "Обзор", "label-exit-restricted-mode": "Выход из Безопасного режима", "label-exit-restricted-mode-description-1": "Плагины сообщества, как и любое другое установленное вами программное обеспечение, потенциально могут вызвать проблемы с сохранностью и безопасностью данных.", "label-exit-restricted-mode-description-2": "Безопасность плагинов очень важна для нас. Вот что мы делаем:", "label-exit-restricted-mode-description-3": "Несмотря на наши усилия, существует небольшая вероятность того, что плагин сообщества может работать ненадлежащим образом.", "label-code-review": "Первичная проверка кода", "label-code-review-desc": "Плагины проходят первоначальную проверку кода нашей командой, прежде чем они появляются в каталоге.", "label-open-source": "Открытый исходный код", "label-open-source-desc": "Большинство плагинов имеют открытый исходный код на GitHub, поэтому вы можете самостоятельно проверить код.", "label-peer-audit": "Совместный аудит", "label-peer-audit-desc": "У нас большое сообщество разработчиков, которые проверяют друг друга.", "label-report-mechanism": "Механизм отчётности", "label-report-mechanism-desc": "Мы отслеживаем и удаляем неисправные плагины, основываясь на отзывах пользователей.", "label-exit-restricted-mode-disable-confirmation": "Вы хотите выйти из Безопасного режима, чтобы включить плагины сообщества? Мы настоятельно рекомендуем перед этим сделать резервные копии ваших данных.", "label-learn-more": "Узнайте больше о безопасности плагинов", "button-turn-on-community-plugins": "Включите плагины сообщества", "label-trust-author": "Доверяете ли вы автору этого хранилища?", "label-trust-author-description-1": "Вы впервые открываете это хранилище, и оно поставляется с несколькими плагинами.", "label-trust-author-description-2": "Если вы получили это хранилище от кого-то другого, обратите внимание, что плагины неизвестного происхождения могут представлять угрозу безопасности.", "label-trust-author-description-3": "Если вы не полностью доверяете автору этого хранилища, мы рекомендуем оставаться в Безопасном режиме, чтобы плагины из этого хранилища не запускались.", "button-enable-plugins": "Довериться автору и включить плагины", "button-dont-trust-author": "Просмотр хранилища в Безопасном режиме", "placeholder-community-plugins": "Поиск плагина...", "msg-failed-load-plugins": "Не удалось загрузить список плагинов.", "label-installed": "Установлен", "button-install": "Установить", "button-enable": "Включить", "button-disable": "Отключить", "button-copy-share-link": "Поделиться ссылкой", "button-donate": "Поблагодарить", "label-no-results-found": "Ничего не найдено.", "label-no-recent-files-found": "Недавних файлов не найдено. Введите поисковый запрос...", "msg-failed-to-load-manifest": "Не удалось загрузить описание плагина.", "label-version": "Версия: {{version}}", "label-currently-installed-version": " (установлена: {{version}})", "label-by-author": "Автор: ", "label-repository": "Репозиторий: ", "label-last-update": "Последнее обновление: ", "tooltip-view-last-update": "Показать последнее обновление", "label-unsupported": "Этот плагин не поддерживает ваше устройство.", "button-update": "Обновить", "label-no-readme": "Плагин не предоставил README-файл.", "msg-installing-plugin": "Устанавливается плагин \"{{name}}\"...", "msg-failed-to-install-plugin": "Не удалось установить плагин \"{{name}}\".", "msg-successfully-installed-plugin": "Установлен плагин \"{{name}}\".", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Управление плагинами", "button-reload-plugins": "Перезагрузить плагины", "msg-reloaded-third-party-plugins": "Сторонние плагины перезагружены.", "label-uninstall": "Удалить", "label-uninstall-plugin": "Удалить плагин", "label-uninstall-plugin-confirmation": "Вы точно хотите удалить плагин? Это действие удалит папку плагина.", "button-open-plugins-folder": "Открыть папку с плагинами", "button-check-for-updates": "Проверить обновления", "button-update-all-plugins": "Обновить все", "label-current-plugins": "Установленные плагины", "label-currently-installed": "Количество установленных плагинов: {{count}}", "label-currently-installed_plural": "Количество установленных плагинов: {{count}}", "msg-no-updates-found": "Обновления не найдены.", "msg-updates-found": "Найдено обновлений для плагинов: {{count}}", "msg-updates-found_plural": "Найдено обновлений для плагинов: {{count}}", "msg-update-plugin": "Обновить до версии {{version}}", "option-search-installed-plugin": "Поиск установленных плагинов", "option-search-installed-plugin-description": "Поиск установленных плагинов по наименованию или описанию.", "placeholder-search-installed-plugin": "Поиск установленных плагинов...", "show-installed-only": "Показать только установленные", "label-donate-modal-title": "Поддержать разработку плагина {{name}}", "label-donate-modal-text1": "Разработка плагина ведется на добровольной основе. Если вы считаете этот плагин полезным, пожалуйста, рассмотрите возможность финансовой поддержки его разработки.", "label-donate-modal-text2": "100% взноса пойдет разработчику плагина. Платформа для сбора средств, выбранная разработчиком, может взимать дополнительную плату.", "label-donate-modal-text3": "Спасибо за поддержку!", "label-support-this-plugin": "Поблагодарить:", "label-search-summary": "Отображается {{pluginCount}}", "label-by-popularity": "По количеству скачиваний", "label-by-released": "По дате выхода", "label-by-updated": "По дате последнего обновления", "label-alphabetical": "По названию", "label-last-updated": "Обновление {{time}}" }, "mobile-toolbar": { "name": "Мобильный инструментарий", "option-configure-quick-action": "Настроить быстрое действие", "option-configure-quick-action-description": "Определите какую команду вызвать, потянув экран сверху вниз. Текущий выбор: \"{{command}}\".", "msg-missing-quick-action": "Действие не настроено", "button-configure": "Настроить", "placeholder-select-quick-action": "Выберите быстрое действие...", "quick-action-disabled": "Отсутствие действий", "manage-toolbar-options": "Инструментарий", "option-internal-link": "Добавить внутреннюю ссылку", "option-internal-embed": "Добавить вставку", "option-tag": "Добавить тег", "option-heading": "Заголовок", "option-strikethrough": "Зачёркивание", "option-highlight": "Выделение", "option-code": "Блок кода", "option-blockquote": "Цитата", "option-inline-math": "Показать/скрыть математические выражения", "option-math-block": "Показать/скрыть блок с математическими выражениями", "option-markdown-link": "Добавить Markdown-ссылку", "option-bullet-list": "Список", "option-numbered-list": "Нумерованный список", "option-indent-list": "Добавить отступ", "option-unindent-list": "Убрать отступ", "option-undo": "Отменить", "option-redo": "Применить", "option-move-caret-up": "Каретка вверх", "option-move-caret-down": "Каретка вниз", "option-move-caret-left": "Каретка влево", "option-move-caret-right": "Каретка вправо", "option-first-line": "К первой строке", "option-last-line": "К последней строке", "option-toggle-keyboard": "Клавиатура", "option-configure-toolbar": "Настройка инструментария", "option-added-options": "Добавленные опции", "option-more-toolbar-options": "Другие настройки", "option-attach": "Вложение", "option-add-command": "Добавить глобальную команду", "option-add-command-description": "Выберите любую глобальную команду для добавления в инструментарий." } }, "editor": { "search": { "placeholder-find": "Найти", "placeholder-replace": "Заменить", "label-exit-search": "Закрыть поиск", "label-next": "Далее", "label-previous": "Назад", "label-find-all": "Найти все", "label-replace": "Заменить", "label-replace-all": "Заменить все" }, "link-suggestion": { "label-type-hash": "Введите #", "label-link-heading": ", чтобы сослаться на заголовок", "label-type-block": "Введите ^", "label-link-block": ", чтобы сослаться на блок", "label-type-pipe": "Введите |", "label-change-display-text": ", чтобы изменить отображаемый текст", "label-no-alias": "Отображаемый текст", "label-no-heading": "Заголовок", "label-no-match-found": "Совпадений не найдено", "label-image-size": "Размер изображения: {{size}} px", "label-accept": "Enter, чтобы применить", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Нет предложений...", "add-to-dictionary": "Добавить в словарь" }, "menu": { "edit-link": "Редактировать ссылку", "edit-tag": "Редактировать тег", "label-edit-block": "Редактировать блок", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "Без заголовка", "label-heading-level": "Заголовок {{level}}" }, "print-modal": { "title": "Экспорт в PDF", "caption": "Экспорт \"{{filename}}\" в PDF со следующими параметрами", "setting-page-size": "Размер страницы", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Использовать имя файла в заголовке", "setting-landscape": "Альбомная", "setting-margin": "Отступ", "setting-margin-default": "Обычный", "setting-margin-minimal": "Минимальный", "setting-margin-none": "Без отступа", "setting-downscale-percent": "Масштабирование", "button-export-to-pdf": "Экспорт в PDF" }, "link-popover": { "tooltip-follow-link": "Перейти по ссылке", "tooltip-open-link": "Открыть ссылку", "tooltip-search-tag": "Искать тег" } }, "interface": { "embed-cannot-find": "Не удалось найти:", "label-unable-to-find-section": "Не удалось найти “{{subpath}}” в {{file}}", "embed-open-in-default-app-tooltip": "Открыть в программе по умолчанию", "empty-sidebar": "Передвиньте панель, чтобы расположить её в другом месте.", "sidebar-expand": "Развернуть", "sidebar-collapse": "Свернуть", "msg-fail-to-save-file": "Не удалось сохранить файл \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Не удалось загрузить плагин “{{plugin}}”", "msg-plugin-error": "Плагин “{{plugin}}” столкнулся с ошибка при загрузке", "msg-failed-to-load-file": "Не удалось открыть “{{filepath}}”", "msg-failed-to-open-href": "Не удалось открыть расположение “{{href}}”", "no-file": "Нет файла", "msg-file-changed": "Файл \"{{file}}\" был изменён извне, автоматическое слияние изменений.", "switch-vault": "Другое хранилище", "manage-vaults": "Управление хранилищами...", "help": "Справка", "settings": "Настройки", "drag-to-rearrange": "Перетащить", "msg-switched-to-read": "Режим просмотра включён по умолчанию.", "msg-switched-to-edit": "Режим редактирования включён по умолчанию.", "msg-upgrade-installer": "Скачайте актуальную версию с сайта и переустановите Obsidian, чтобы включить эту функцию.", "msg-slow-boot": "Обнаружено медленное время запуска.", "msg-desktop-only-feature": "Эта функция доступна только в настольном приложении.", "tooltip-restore-default-settings": "Восстановить настройки по умолчанию", "label-copy": "Скопировать в буфер обмена", "label-copy-short": "Скопировать", "copied_generic": "Скопировано в буфер обмена", "copied": "{{item}} в буфере обмена", "copy_failed": "Не удаётся скопировать в буфер обмена", "prompt-filter": "Фильтр...", "url": "Url", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Открыт файл \"{{path}}\"", "msg-file-not-found-through-uri": "Файл \"{{name}}\" не найден.", "delete-action-short-name": "Удалить", "msg-indexing": "Obsidian индексирует хранилище...\nЭто должно произойти лишь единожды.\nНекоторый функционал может быть недоступен пока процесс не закончен.", "msg-indexing-desc": "Некоторые функции могут быть недоступны до тех пор, пока индексаци не будет завершена.", "msg-indexing-complete": "Индексация завершена.", "msg-sandbox-vault": "Это хранилище-песочница.\nИзменения, сделанные вами в этом хранилище, будут потеряны.", "msg-indexed-db-not-supported": "IndexedDB требуется для этой функции, но в настоящее время она отключена.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Enter чтобы создать новый файл", "label-update-available": "Доступно обновление", "label-debug-info": "Отладочная информация", "button-learn-more": "Подробнее", "button-not-now": "Не сейчас", "button-add": "Добавить", "button-manage": "Настроить", "label-new-tab": "Новая вкладка", "option-hide-ribbon": "Скрыть вертикальную панель", "msg-tab-busy": "В настоящее время эта вкладка занята, повторите попытку позже", "formatting": { "label-formatting": "Форматирование", "label-paragraph": "Абзац", "label-insert": "Вставка", "insert-link": "Вставить ссылку", "insert-external-link": "Вставить внешнюю ссылку", "insert-callout": "Выносной блок", "insert-horizontal-rule": "Горизонтальная линия", "insert-code-block": "Блок кода", "insert-math-block": "Блок математических выражений", "insert-table": "Таблица", "insert-footnote": "Сноска", "toggle-bold": "Жирный", "toggle-code": "Код", "toggle-comments": "Комментарий", "toggle-highlight": "Подсветка", "toggle-italics": "Курсив", "toggle-strikethrough": "Зачёркивание", "toggle-math": "Математические выражения", "toggle-bullet-list": "Список", "toggle-checklist": "Список задач", "toggle-numbered-list": "Нумерованный список", "set-heading": "Заголовок уровня {{level}}", "no-heading": "Убрать заголовок", "clear": "Очистить форматирование", "toggle-quote": "Цитата" }, "empty-state": { "no-file-open": "Нет открытых файлов", "create-new-file": "Создать новый файл", "go-to-file": "Перейти к файлу", "see-recent-files": "Просмотреть недавние файлы", "close": "Закрыть", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Плагин больше не активен", "unknown-pane-desc": "Плагин, который создал эту панель ({{type}}) исчез" }, "release-notes": { "tab-title": "примечания к выпуску {{version}}", "msg-missing-release-notes": "Нет доступных примечаний к выпуску {{version}}.", "msg-failed-to-load": "Не удалось загрузить примечания к выпуску {{version}}." }, "menu": { "edit-view": "Текущий режим: редактор", "read-view": "Текущий режим: просмотр", "ribbon": "Вертикальная панель", "left-sidebar": "Левая панель", "right-sidebar": "Правая панель", "switch-to-edit-view": "Нажмите для редактирования", "switch-to-read-view": "Нажмите для просмотра", "mod-click-open-new-tab": "{{key}}+Click чтобы открыть в новой вкладке", "find": "Найти...", "replace": "Заменить...", "edit": "Редактировать", "remove": "Удалить", "rename": "Переименовать", "preview": "Просмотр", "more-options": "Ещё", "close": "Закрыть", "close-all": "Закрыть все вкладки", "close-tabs-with-count": "Закрыть {{count}} вкладку", "close-tabs-with-count_plural": "Закрыть {{count}} вкладок", "close-others": "Закрыть остальные вкладки", "close-after": "Закрыть вкладки справа", "pin": "Закрепить", "unpin": "Открепить", "unlink-tab": "Отвязать вкладку", "link-tab": "Связать со вкладкой...", "toggle-source-mode": "Просмотр исходного кода", "toggle-reading-view": "Просмотр", "add-property": "Добавить свойство файла", "delete-file": "Удалить файл", "create-file": "Создать этот файл", "open-link": "Открыть ссылку", "open-in-new-tab": "Открыть в новой вкладке", "open-to-the-right": "Открыть в области справа", "copy-url": "Копировать ссылку", "copy": "Копировать", "cut": "Вырезать", "paste": "Вставить", "paste-as-plain-text": "Вставить как обычный текст", "lookup-selection": "Найти значение “{{selection}}”", "select-all": "Выделить все", "rename-heading": "Переименовать заголовок...", "rename-blockid": "Переименовать ID блока...", "open-in-new-window": "Открыть в новом окне", "move-to-new-window": "Переместить в новое окно", "open-in-browser": "Открыть в браузере", "stack-tabs": "Сложить вкладки", "unstack-tabs": "Разложить вкладки", "open-linked-view": "Открыть связанное представление" }, "tooltip": { "click-to-expand": "Развернуть", "click-to-collapse": "Свернуть", "alias": "Псевдоним", "not-created-yet": "Ещё не создан, выбрать чтобы создать" }, "start-screen": { "label-version": "Версия", "label-create-local-vault": "Создать локальное хранилище", "option-open-folder-as-vault": "Открыть папку как хранилище", "option-open-folder-as-vault-description": "Выберите папку, содержащую Markdown-файлы.", "option-create-vault": "Создать новое хранилище", "option-create-vault-description": "Создайте новое хранилище Obsidian внутри указанной папки.", "option-connect-obsidian-sync": "Подключить к Obsidian Sync", "option-connect-obsidian-sync-description": "Настройте синхронизацию с облачным хранилищем.", "option-new-vault-name": "Имя хранилища", "option-new-vault-name-description": "Укажите имя нового хранилища.", "option-new-vault-location": "Расположение", "option-new-vault-location-description": "Укажите расположение нового хранилища.", "label-new-vault-location-preview": "Ваше новое хранилище будет расположено в: ", "option-reveal-vault-in-explorer": "Открыть папку с хранилищем", "option-reveal-vault-in-explorer-mac": "Показать в Finder", "option-rename-vault": "Переименовать хранилище...", "option-copy-vault-i-d": "Скопировать ID хранилища", "msg-error-rename-exists": "Хранилище с таким именем уже существует.", "msg-error-nested": "Не удалось переместить хранилище в собственную подпапку.", "msg-error-rename-open": "Не удалось переименовать хранилище открытое в данный момент.", "msg-rename-failed": "Не удалось переименовать хранилище.", "msg-rename-success": "Хранилище переименовано успешно.", "option-move-vault": "Переместить хранилище...", "msg-move-select-dest": "Выберите папку назначения", "msg-error-move-exists": "В папке назначения уже есть хранилище.", "msg-error-move-open": "Не удалось переместить хранилище открытое в данный момент..", "msg-move-failed": "Не удалось переместить хранилище.", "msg-move-success": "Хранилище перемещено успешно.", "option-remove": "Убрать из списка", "button-quick-start": "Быстрый старт", "button-open": "Открыть", "button-browse": "Просмотр", "button-connect": "Подключить", "button-create-vault": "Создать", "button-back": "Назад", "msg-empty-vault-name": "Имя хранилища не может быть пустым.", "msg-trailing-dot-vault-name": "Имя хранилища не может заканчиваться точкой.", "msg-invalid-folder": "Пожалуйста, выберите существующую папку.", "msg-failed-to-create-vault": "Не удалось создать хранилище.", "msg-failed-to-create-vault-at-location": "Не удалось создать хранилище в указанном местоположении. Перепроверьте пути и права доступа.", "msg-error-failed-to-open-vault": "Не удалось открыть.", "msg-error-remove-current-open-vault": "Невозможно удалить открытое хранилище.", "option-get-help": "Получить помощь", "option-user-email": "Почта", "placeholder-your-email": "Ваш адрес электронной почты...", "option-user-password": "Пароль", "placeholder-your-password": "Ваш пароль...", "button-sign-in": "Войти", "button-setup": "Настроить", "option-connect-vault-desc": "Создать синхронизированное хранилище на этом устройстве.", "tooltip-own-vault": "Это внешнее хранилище, принадлежащее вам.", "tooltip-shared-vault": "Это внешнее хранилище, доступ к которому вам предоставлен.", "mobile": { "label-start-screen": "Ваши мысли принадлежат вам.", "label-synced": "синхронизировано", "label-not-synced": "не синхронизировано", "label-none": "None", "label-recommended": "Рекомендуемый", "label-start-screen-desc": "Obsidian хранит заметки на вашем устройстве, поэтому вы можете получить к ним быстрый и конфиденциальный доступ даже в автономном режиме.\nВаши данные хранятся в защищенной локальной папке под названием Ваши данные хранятся в защищённой локальной папке под названием **хранилище**.", "option-create": "Создать хранилище", "option-use-existing": "Использовать существующее хранилище", "label-sync-intro": "Чтобы получить доступ к вашим заметкам на других устройствах, вам необходимо настроить синхронизацию.", "label-sync-intro-desc": "Поскольку Obsidian хранит ваши заметки на ваших устройствах, вам необходимо настроить синхронизацию, если вы хотите получить доступ к своим заметкам на другом телефоне или компьютере.\nВы можете настроить синхронизацию сейчас или просто начать запись и настроить ее позже.Вы можете настроить синхронизацию сейчас или просто начать запись и настроить её позже.", "option-setup-sync": "Настроить синхронизацию", "option-skip": "Пока пропустить", "option-skip-short": "Пропустить", "label-vault-create": "Выберите имя для вашего хранилища.", "button-create": "Создать хранилище", "label-sync-setup": "Настройка синхронизации", "label-sync-setup-desc": "Создайте синхронизированное хранилище в своём аккаунте Obsidian, чтобы вы могли получать доступ к своим данным с других устройств.", "label-remote-vault-create": "Шифрование синхронизации", "option-encryption-custom": "Сквозное шифрование", "option-encryption-custom-desc": "Обеспечивает максимальную безопасность, но требует, чтобы вы надёжно хранили свой пароль шифрования", "option-encryption-managed": "Стандартное шифрование", "option-encryption-managed-desc": "Использует ключ, управляемый Obsidian, для защиты ваших данных при передаче и на наших серверах.", "label-sync-settings": "Настройки синхронизации", "label-sync-settings-desc": "Вы хотите исключить какие-либо папки или файлы при синхронизации с этим устройством?", "button-start": "Начать синхронизацию", "label-sign-in-or-sign-up": "Создайте аккаунт Obsidian или войдите в систему", "option-sign-up": "Зарегистрироваться", "option-sign-in": "Войти", "button-resend-email": "Отправить письмо ещё раз", "label-remote-vault-options": "У вас есть существующие хранилища синхронизации", "label-remote-vault-options-desc": "Вы хотите создать новое хранилище или подключиться к существующему синхронизированному хранилищу?", "option-remote-create": "Создать новое хранилище синхронизации", "option-remote-choose": "Выбрать существующее хранилище", "button-logout": "выйти из системы", "button-forgot-password": "Забыли пароль", "label-vault-name": "Имя хранилища", "label-vault-location": "Местоположение хранилища", "label-vault-location-desc": "Ваше новое хранилище будет размещено в {{vaultLocation}}", "label-region-selection": "Регион", "label-region-selection-help": "Выберите ближайший к вам регион сервера, чтобы ускорить синхронизацию.", "label-encryption-key": "Ключ шифрования", "label-encryption-key-help": "Этот пароль впоследствии нельзя будет изменить. Если вы забудете свой пароль, любые удалённые данные на серверах синхронизации будут недоступны навсегда.", "placeholder-vault-name": "Моё хранилище", "opt-region-selection-automatic": "Автоматически", "label-remote-vault-selection": "Выберите хранилище", "label-remote-vault-selection-desc": "В вашем аккаунте **{{email}}** есть существующие хранилища, к которым вы можете подключиться.", "label-sign-in": "Войдите в свой аккаунт Obsidian", "label-forgot-password": "Забыли пароль", "button-reset-password": "Сброс пароля", "msg-password-reset": "Мы отправили электронное письмо по адресу {{email}} чтобы сбросить ваш пароль.", "label-sync-method-selection": "Выберите способ синхронизации ваших заметок", "label-sync-method-selection-desc": "Чтобы использовать Obsidian на своих устройствах, вам необходимо синхронизировать свои данные.", "label-sync-pro1": "Бесперебойная работа на всех устройствах и в любой операционной системе.", "label-sync-pro2": "Защищён с помощью самого надёжного стандарта сквозного шифрования.", "label-sync-pro3": "Требуется аккаунт Obsidian.", "label-icloud-con1": "Только для iOS и macOS.", "label-icloud-con2": "По умолчанию не зашифрован.", "label-third-party-desc1": "Требуются сторонние плагины или инструменты.", "label-third-party-desc2": "По умолчанию может быть не зашифрован.", "opt-use-obsidian-sync": "Использовать Obsidian Sync", "opt-use-icloud": "Использовать iCloud", "opt-use-other": "Использовать стороннюю синхронизацию", "opt-learn-other-sync": "Другие методы синхронизации", "opt-use-supported": "Использовать поддерживаемые методы синхронизации", "label-sync-restore": "Где находится ваше хранилище?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Другое", "label-other-sync": "Сторонняя синхронизация", "label-local-folder": "На этом устройстве", "option-connect-icloud": "Подключить к iCloud", "option-connect-other": "Подключить к другой службе синхронизации", "option-connect-sync": "Подключить к Obsidian Sync", "option-connect-local-folder": "Выбрать папку", "label-sync-other": "Другие методы синхронизации", "label-sync-other-desc": "Obsidian официально поддерживает два метода синхронизации: **Obsidian Sync** и **iCloud**.\nОднако, поскольку Obsidian даёт вам контроль над вашими данными, вы можете использовать и другие варианты синхронизации.\nЭти варианты включают сторонние плагины и другие инструменты, для настройки которых может потребоваться более сложная настройка.\nЧтобы использовать альтернативный метод синхронизации, **создайте хранилище** и следуйте инструкциям, предоставленным плагином или сторонним поставщиком синхронизации.", "label-email-entry": "Введите свой адрес электронной почты", "label-email-entry-desc": "Для создания аккаунта Obsidian необходим ваш адрес электронной почты.", "label-signup": "Введите своё имя и пароль", "email-verification": "Подключить к Obsidian Sync", "email-verification-desc": "Вскоре вы должны получить электронное письмо по адресу **{{email}}** с инструкциями по подключению к Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Ваше хранилище iCloud не было обнаружено. Это может быть вызвано любой из следующих причин:", "icloud-missing-reason1": "Ваше хранилище находится в другом аккаунте iCloud, отличного от того, в который вы в данный момент вошли на этом устройстве.", "icloud-missing-reason2": "Ваше хранилище не хранится в папке Obsidian верхнего уровня на вашем iCloud Drive.", "i-cloud-unsupported": "iCloud не поддерживается", "i-cloud-unsupported-desc": "Синхронизация с iCloud доступна только на устройствах Apple. Если ваше хранилище в настоящее время синхронизируется через iCloud, узнайте, как перенести хранилище в другой сервис синхронизации.", "allow-file-access": "Разрешить доступ к файлам", "msg-login-pending": "Выполняется вход...", "msg-name-required": "Требуется указать имя хранилища", "msg-new-email-success": "Отправлено новое электронное письмо с подтверждением.", "msg-new-email-failure": "Не удалось повторно отправить электронное письмо.", "msg-invalid-vault": "Местоположением хранилища должна быть папка." } }, "starter-content": { "welcome-filename": "Добро пожаловать", "welcome-file-content": "Это ваше новое *хранилище*.\n\nЗапишите что-нибудь, [[создайте ссылку]] или попробуйте [плагин Импорта Markdown-файлов](https://help.obsidian.md/Plugins/Importer)!\n\nКогда вы будете готовы, удалите эту заметку и сделайте хранилище своим собственным." }, "drag-and-drop": { "insert-link-here": "Вставить ссылку", "insert-links-here": "Вставить ссылки", "move-into-folder": "Переместить в \"{{folder}}\"", "star-this-file": "Пометить этот файл", "star-these-files": "Пометить эти файлы", "open-in-this-tab": "Открыть в этой вкладке", "open-as-tab": "Открыть в новой вкладке" }, "window": { "maximize": "Развернуть", "minimize": "Свернуть", "restore-down": "Восстановить", "close-window": "Закрыть окно", "go-back": "Назад", "go-forward": "Вперёд" }, "start-up": { "loading-obsidian": "Obsidian загружается...", "obsidian-load-error": "При загрузке Obsidian произошла ошибка.", "button-reload-app": "Перезапустить", "button-reload-app-in-safe-mode": "Перезапустить в безопасном режиме", "button-open-another-vault": "Открыть хранилище", "loading-plugins": "Плагины загружаются...", "msg-plugin-hang": "Плагин “{{plugin}}” слишком долго загружается. ", "loading-vault": "Хранилище загружается...", "msg-failed-to-load-vault": "Ошибка при загрузке хранилища: ", "loading-cache": "Кэш загружается...", "loading-workspace": "Рабочее пространство загружается..." }, "mobile": { "action-import": "Импортировать в хранилище", "action-insert-text-desc": "Вставить текст в файл:", "action-choose-file-to-insert": "Выберите файл для вставки", "action-insert-text-into-file": "Вставить текст в {{filename}}", "action-insert-link-into-file": "Вставить ссылку в {{filename}}", "action-show-switcher": "Показать обзор вкладки", "msg-importing": "Импортирование...", "msg-import-success": "Импорт успешно завершён", "msg-failed-to-import-file": "Не удалось импортировать файл {{filename}}", "msg-back-again-to-exit": "Нажмите назад ещё раз для выхода.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Вам нравится Obsidian? Помогите нам, поставив ему оценку.", "action-rate": "Оценить приложение", "action-dismiss": "Отклонить" } }, "help-screen": { "label-official-help-site": "Официальный справочный сайт", "label-official-help-site-desc": "Читайте официальную справочную документацию Obsidian, доступную на нескольких языках.", "action-visit": "Посетить", "label-discord-chat": "Чат Discord", "label-discord-chat-desc": "Discord — лучшее место для общения с другими опытными пользователями Obsidian со всего мира.", "action-join": "Присоединиться", "label-forum": "Официальный форум", "label-forum-desc": "Помогайте друг другу, публикуйте запросы на функции, сообщайте об ошибках и проводите содержательные дискуссии об управлении знаниями.", "label-sandbox-vault": "Хранилище-песочница", "label-sandbox-vault-desc": "Играйте и экспериментируйте с различными функциями. Обратите внимание, что ваши изменения не будут сохранены." } }, "commands": { "save-file": "Сохранить текущий файл", "download-attachments": "Загрузить вложения к текущему файлу", "follow-cursor-link": "Перейти по ссылке под курсором", "open-cursor-link-in-new-tab": "Открыть ссылку под курсором в новой вкладке", "open-cursor-link-to-the-right": "Открыть ссылку под курсором в области справа", "open-cursor-link-in-new-window": "Открыть ссылку под курсором в новом окне", "navigate-tab-above": "Перейти к группе вкладок выше", "navigate-tab-below": "Перейти к группе вкладок ниже", "navigate-tab-left": "Перейти к группе вкладок слева", "navigate-tab-right": "Перейти к группе вкладок справа", "toggle-pin": "Включить/отключить закрепление области", "split-right": "Разделить вправо", "split-down": "Разделить вниз", "toggle-stacked-tabs": "Сложить/разложить вкладки", "navigate-back": "Вернуться назад", "navigate-forward": "Перейти вперед", "use-dark-mode": "Использовать тёмную тему", "use-light-mode": "Использовать светлую тему", "change-theme": "Сменить тему", "search-current-file": "Поиск в текущем файле", "search-replace-current-file": "Поиск и замена в текущем файле", "add-property": "Добавить свойство файла", "label-sort-property-a-to-z": "Имя (от А до Я)", "label-sort-property-z-to-a": "Имя (от Я до А)", "add-alias": "Добавить псевдоним", "clear-properties": "Очистить свойства файла", "open-settings": "Открыть настройки", "open-help": "Открыть справку", "toggle-edit": "Переключиться между режимами редактирования и просмотра", "toggle-source-mode": "Переключиться между режимами Динамический просмотр/Исходный код", "delete-current-file": "Удалить текущий файл", "new-tab": "Новая вкладка", "show-trash": "Показать корзину", "close-all-tabs": "Закрыть все вкладки", "close-active-tab": "Закрыть текущую вкладку", "close-others-in-tab-group": "Закрыть все вкладки в группе, кроме текущей", "close-other-tabs": "Закрыть все вкладки, кроме текущей", "close-tab-group": "Закрыть текущую группу вкладок", "toggle-left-sidebar": "Свернуть/развернуть левую панель", "toggle-ribbon": "Свернуть/развернуть вертикальную панель", "toggle-right-sidebar": "Свернуть/развернуть правую панель", "toggle-default-new-tab-mode": "Поменять исходный режим новой вкладки редактор/просмотр", "add-cursor-above": "Добавить курсор сверху", "add-cursor-below": "Добавить курсор снизу", "focus-editor": "Вернуться в редактор", "toggle-fold-properties": "Свернуть/развернуть свойства в текущем файле", "toggle-fold": "Свернуть/развернуть текущий заголовок/список", "fold-all": "Свернуть все заголовки и списки", "unfold-all": "Развернуть все заголовки и списки", "fold-more": "Свернуть больше", "fold-less": "Свернуть меньше", "swap-line-up": "Поменять местами с верхней строкой", "swap-line-down": "Поменять местами с нижней строкой", "remove-heading": "Убрать заголовок", "toggle-heading": "Установить заголовок уровня {{level}}", "toggle-bold": "Включить/отключить жирное начертание для выделения", "toggle-italics": "Включить/отключить курсивное начертание для выделения", "toggle-highlight": "Включить/отключить тег подсветки для выделения", "toggle-comments": "Включить/отключить комментарии для выделения", "clear-formatting": "Очистить форматирование", "insert-link": "Вставить ссылку", "toggle-spellcheck": "Включить/отключить проверку орфографии", "delete-paragraph": "Удалить абзац", "toggle-checklist": "Переключить состояние флажка", "cycle-list-checklist": "Переключить состояние маркер/флажок", "insert-callout": "Вставить выносной блок", "insert-code-block": "Вставить блок кода", "insert-math-block": "Вставить блок для математических выражений", "insert-horizontal-rule": "Вставить горизонтальную линию", "insert-table": "Вставить таблицу", "insert-footnote": "Вставить сноску", "edit-file-title": "Редактировать заголовок файла", "copy-path": "Скопировать путь к файлу", "copy-url": "Скопировать Obsidian URL", "export-pdf": "Экспортировать в PDF", "reload": "Перезагрузить приложение без сохранения", "undo-close-tab": "Отменить закрытие вкладки", "context-menu": "Показать контекстное меню под курсором", "show-debug-info": "Показать отладочную информацию", "open-sandbox-vault": "Открыть хранилище-песочницу", "always-on-top": "Включить/отключить отображение поверх всех окон", "zoom-in": "Увеличить", "zoom-out": "Уменьшить", "reset-zoom": "Исходный размер", "toggle-preview": "Переключиться между режимами редактирования и просмотра", "move-to-new-window": "Переместить область в новое окно", "open-in-new-window": "Открыть область в новом окне", "rename-current-file": "Переименовать текущий файл", "go-to-prev-tab": "Перейти на предыдущую вкладку", "go-to-next-tab": "Перейти на следующую вкладку", "go-to-last-tab": "Перейти на последнюю вкладку", "go-to-nth-tab": "Перейти на вкладку #{{n}}", "show-release-notes": "Показать примечания к выпуску" }, "dialogue": { "label-link-affected": "Это повлияет на {{links}} в {{files}}.", "msg-updated-links": "Обновлено {{links}} в {{files}}.", "label-update-links": "Обновить ссылки", "label-confirm-update-link-to-file": "Хотите ли вы обновлять внутренние ссылки, которые указывают на этот файл?", "button-always-update": "Обновлять всегда", "button-just-once": "Только сейчас", "button-do-not-update": "Не обновлять", "label-confirm-deletion": "Вы уверены, что хотите удалить \"{{filename}}\"?", "label-move-to-system-trash": "Будет перемещён в системную Корзину.", "label-move-to-vault-trash": "Будет перемещён в корзину Obsidian, которая находится в скрытой папке \".trash\" вашего хранилища.", "label-permanent-delete": "Файл будет удален безвозвратно.", "label-non-empty-folder": "Эта папка не пуста.", "label-delete-folder-warning": "Если вы продолжите, все файлы внутри этой папки будут удалены.", "label-delete-folder": "Удалить папку", "button-delete": "Удалить", "button-delete-do-not-ask-again": "Удалить и больше не спрашивать", "label-do-not-ask-again": "Больше не спрашивать", "label-existing-backlink": "В настоящее время существует {{count}} ссылка, указывающая на эту заметку.", "label-existing-backlink_plural": "В настоящее время существует {{count}} ссылок, указывающих на эту заметку.", "label-delete-file": "Удалить файл", "label-download-attachments": "Загружать вложения", "label-no-attachments": "В этой заметке нет внешних вложений.", "label-downloaded-attachments": "Загружено {{count}} вложение.", "label-downloaded-attachments_plural": "Загружено {{count}} вложений.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Настроить", "button-view": "Просмотреть", "button-confirm": "Подтвердить", "button-cancel": "Отмена", "button-download": "Загрузить", "button-done": "Готово", "button-save": "Сохранить", "button-stop": "Остановить", "button-continue": "Продолжить", "button-choose": "Выбрать", "button-retry": "Повторить попытку", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Подготовка PDF...", "label-rename-file": "Переименовать файл", "label-rename-file-generic": "Имя файла", "label-new-name": "Новое имя", "msg-rename-success": "Файл успешно переименован.", "msg-merge-failed": "Не удалось объединить заметки: {{message}}", "msg-file-or-folder-not-found": "Файл или папка “{{path}}” не существуют.", "msg-heading-empty": "Заголовок не может быть пустым", "msg-block-id-empty": "ID блока не может быть пустым", "msg-block-id-invalid": "ID блока может содержать только буквы, цифры или тире", "label-rename-heading": "Переименовать заголовок", "label-rename-blockid": "Переименовать ID блока" }, "menu-items": { "new-file": "Создать заметку", "new-file-to-the-right": "Создать заметку в области справа", "new-window": "Открыть в новом окне", "open-switcher": "Открыть быстрый переход", "open-vault": "Открыть хранилище...", "close-tab": "Закрыть вкладку", "close-window": "Закрыть окно", "find": "Найти", "replace": "Заменить", "insert-callout": "Вставить выносной блок", "insert-markdown-link": "Вставить Markdown-ссылку", "insert-wikilink": "Вставить Wiki-ссылку", "set-heading": "Заголовок уровня {{level}}", "no-heading": "Убрать заголовок", "insert-quote": "Вставить цитату", "export-pdf": "Экспорт в PDF", "insert-attachment": "Вставить вложение...", "insert-codeblock": "Блок кода", "insert-math-block": "Блок математических выражений", "insert-table": "Таблица", "insert-footnote": "Сноска", "toggle-bullet-list": "Список", "toggle-numbered-list": "Нумерованный список", "toggle-checklist": "Список задач", "toggle-bold": "Жирный", "toggle-code": "Код", "toggle-comment": "Комментарий", "toggle-italics": "Курсив", "toggle-inline-math": "Математические выражения", "toggle-highlight": "Подсветка", "toggle-strikethrough": "Зачёркивание", "toggle-comments": "Комментарий", "folding-menu": "Свернуть", "fold-all": "Свернуть все", "unfold-all": "Развернуть все", "fold-more": "Свернуть больше", "fold-less": "Свернуть меньше", "source-mode": "Просмотр исходного кода", "reading-view": "Просмотр", "show-debug-info": "Показать отладочную информацию", "open-sandbox": "Открыть хранилище-песочницу", "navigate-back": "Вернуться назад", "navigate-forward": "Перейти вперед", "toggle-left-sidebar": "Свернуть/развернуть левую панель", "toggle-right-sidebar": "Свернуть/развернуть правую панель", "toggle-ribbon": "Вертикальная панель", "split-right": "Разделить вправо", "split-down": "Разделить вниз", "release-notes": "Примечания к выпуску" }, "plugins": { "name": "Плагины", "file-explorer": { "name": "Файловый менеджер", "desc": "Показывает все файлы вашего хранилища.", "action-open": "Открыть файловый менеджер", "action-show": "Показать файловый менеджер", "action-create-note": "Создать новую заметку", "action-create-folder": "Создать новую папку", "action-create-note-in-current-tab": "Создать новую заметку в текущей вкладке", "action-create-note-to-the-right": "Создать заметку в области справа", "action-auto-reveal": "Автоматическое отображение текущего файла", "action-collapse-all": "Свернуть все", "action-expand-all": "Развернуть все", "action-new-note": "Новая заметка", "action-new-folder": "Новая папка", "action-change-sort": "Порядок сортировки", "action-reveal-file": "Показать в файловом менеджере", "action-reveal-active-file": "Показать текущий файл в файловом менеджере", "command-make-a-copy": "Создать копию текущего файла", "command-make-a-copy-mac": "Дублировать текущий файл", "command-move-file": "Переместить файл в другую папку", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Переместить файл в...", "action-move-folder": "Переместить папку в...", "action-move-items": "Переместить {{count}} в...", "prompt-type-folder": "Введите название папки", "label-no-folders": "Папка с таким названием не найдена.", "instruction-navigate": "навигация", "instruction-move": "переместить", "instruction-create": "создать", "instruction-dismiss": "отмена", "label-sort-a-to-z": "По имени файла (от А до Я)", "label-sort-z-to-a": "По имени файла (от Я до А)", "label-sort-new-to-old": "По времени последнего изменения (от новых к старым)", "label-sort-old-to-new": "По времени последнего изменения (от старых к новым)", "label-sort-created-old-to-new": "По времени создания (от старых к новым)", "label-sort-created-new-to-old": "По времени создания (от новых к старым)", "menu-opt-new-note": "Новая заметка", "menu-opt-new-folder": "Новая папка", "menu-opt-rename": "Переименовать", "menu-opt-delete": "Удалить", "menu-opt-make-copy": "Создать копию", "menu-opt-make-copy-mac": "Дублировать", "msg-invalid-characters": "Имя файла не должно содержать следующие символы: ", "msg-unsafe-characters": "Ссылки не будут работать при наличии в наименовании файлов любого из этих символов: ", "msg-file-already-exists": "Файл с таким именем уже есть", "msg-empty-file-name": "Имя файла не может оставаться пустым.", "msg-bad-dotfile": "Имя файла не должно начинаться с точки.", "tooltip-modified-time": "Время последнего изменения {{time}}", "tooltip-created-time": "Время создания {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Без названия", "label-untitled-folder": "Без названия", "msg-set-attachment-folder": "С этого момента вложения сохраняются в \"{{path}}\"" }, "search": { "name": "Поиск", "desc": "Искать по ключевым словам во всех заметках.", "action-open-search": "Искать во всех файлах", "label-collapse-results": "Свернуть результаты", "label-match-case": "Учитывать регистр", "label-explain-search-term": "Объяснить поисковую строку", "label-more-context": "Развернуть контекст", "label-result-count": "Найдено: {{count}}", "label-result-count_plural": "Найдено: {{count}}", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Настройки поиска", "prompt-start-search": "Введите поисковый запрос...", "label-match-text": "Соответствует тексту: ", "label-match-regex": "Соответствует регулярному выражению: ", "label-match-exact-text": "Содержит точное совпадение: ", "label-match-greater-than": "Больше, чем: ", "label-match-less-than": "Меньше, чем: ", "label-match-true": "Истинно", "label-match-false": "Ложно", "label-match-empty": "Пусто", "label-match-property": "Содержит свойство:", "label-match-all": "Совпадает со всеми подстроками: ", "label-match-any": "Совпадает с любой подстрокой: ", "label-excluding": "Исключая: ", "label-case-sensitive": "Учитывая регистр", "label-case-insensitive": "Не учитывая регистр", "label-match-file-path": "Совпадает с путём файла: ", "label-match-file-name": "Совпадает с именем файла: ", "label-match-content": "В содержимом файла: ", "label-match-task": "Совпадает с задачей: ", "label-match-task-todo": "Совпадает с незавершённой задачей: ", "label-match-task-done": "Совпадает с завершённой задачей: ", "label-match-line": "Совпадение в строке: ", "label-match-block": "Совпадает с блоком: ", "label-match-section": "Совпадает с заголовком: ", "label-match-tag": "Совпадает с тегом: ", "label-no-matches": "Совпадений не найдено.", "matches-with-count": "... и ещё {{count}} совпадения.", "matches-with-count_plural": "... и ещё {{count}} совпадений.", "label-copy-search-results": "Скопировать результаты поиска", "button-copy-results": "Скопировать результаты", "msg-successfully-copied": "Результаты скопированы в буфер обмена.", "option-show-path": "Отображать путь", "option-show-path-description": "Отображать полный путь к файлу вместо имени файла.", "option-link-style": "Стиль ссылок", "option-link-style-description": "Оформлять результаты в виде ссылок.", "option-choice-link-style-none": "Без ссылки", "option-choice-link-style-wikilink": "Wiki-ссылка", "option-choice-link-style-markdown-link": "Markdown-ссылка", "option-list-prefix": "Префикс списка", "option-list-prefix-description": "Добавлять префикс к каждому имени файла в списке.", "option-choice-list-style-none": "Без префикса", "option-choice-list-style-dash": "Тире (-)", "option-choice-list-style-asterisk": "Звёздочка (*)", "option-choice-list-style-numbered": "Нумерация", "tooltip-clear-search": "Очистить", "label-search-options": "Настройки поиска", "label-properties-group": "Свойства", "label-tags-group": "Теги", "tooltip-read-more": "Дополнительно", "label-history": "История", "tooltip-clear-history": "Очистить историю поиска", "label-path-option-description": "совпадение в пути к файлу", "label-file-name-option-description": "совпадение в имени файла", "label-tag-option-description": "совпадение в тегах", "label-line-option-description": "ключевые слова на одной строке", "label-section-option-description": "ключевые слова под одним заголовком", "label-property-option-description": "совпадение со свойством", "menu-opt-search-for": "Искать \"{{keyword}}\"", "menu-opt-search-in-folder": "Искать в папке" }, "quick-switcher": { "name": "Быстрый переход", "desc": "Быстро переходите к любому файлу, не отрывая рук от клавиатуры. Вызывается по сочетанию клавиш Ctrl/Cmd+O.", "short-name": "Switcher", "action-open": "Меню быстрого перехода", "instruction-navigate": "навигация", "instruction-open": "открыть", "instruction-open-in-new-tab": "открыть в новой вкладке", "instruction-open-to-the-right": "открыть в области справа", "instruction-create": "создать", "instruction-dismiss": "отмена", "instruction-select": "выбрать", "label-no-note-create-new": "Такой заметки не найдено. Нажмите Enter, чтобы создать новую.", "prompt-type-file-name": "Введите имя файла для создания или перехода...", "label-enter-to-create": "Нажмите Enter для создания", "tooltip-not-created-yet": "Пока не создан, выберите для создания", "option-show-existing-only": "Отображать только существующие файлы", "option-show-existing-only-description": "Отображать ли ссылки на файлы, которые пока не созданы.", "option-show-attachments": "Отображать вложенные файлы", "option-show-attachments-desc": "Отображать вложенные файлы, такие как изображения, видеофайлы и PDF-файлы.", "option-show-all-file-types": "Отображать все типы файлов", "option-show-all-file-types-desc": "Показывать файлы с любым расширением, даже если Obsidian не может открыть их самостоятельно. Файл будет открыт в приложении по умолчанию для этого типа файлов." }, "graph-view": { "name": "Граф", "desc": "Графическое представление связей между заметками.", "action-open": "Граф", "action-open-local": "Открыть локальный граф", "action-copy-screenshot": "Скопировать скриншот", "tab-title": "Граф {{displayText}}", "label-filters": "Фильтры", "prompt-filter-nodes": "Искать в...", "option-depth": "Глубина", "option-depth-description": "Глубина отображения связей", "option-neighbor-links": "Связи с соседними заметками", "option-neighbor-links-description": "Показывать связи с соседними заметками", "option-forelinks": "Исходящие связи", "option-forelinks-description": "Показывать ссылки на другие файлы", "option-backlinks": "Входящие связи", "option-backlinks-description": "Показывать ссылки из других файлов", "option-show-tags": "Теги", "option-show-tags-description": "Теги привязаны к содержащим их заметкам", "option-show-attachments": "Вложения", "option-show-attachments-description": "Показывать содержащиеся в заметках вложения", "option-show-existing-files-only": "Только созданные заметки", "option-show-existing-files-only-description": "Исключает отображение ссылок на не созданные заметки", "option-show-orphans": "Объекты без связей", "option-show-orphans-description": "Отображать объекты, у которых нет связей", "label-display": "Отображение", "option-show-arrows": "Направление связей", "option-show-arrows-description": "Показывать направление при приближении", "option-text-fade": "Порог исчезания текста", "option-node-size": "Размер узла", "option-link-thickness": "Толщина линий", "label-forces": "Силы", "option-center-force": "Сила притяжения", "option-link-force": "Сила связи", "option-link-distance": "Расстояние между узлами", "option-repel-force": "Сила отталкивания", "tooltip-open-graph-settings": "Настройки графа", "msg-screenshot-copied": "Снимок экрана скопирован в буфер обмена.", "label-groups": "Группировка", "placeholder-enter-query": "Поисковый запрос...", "tooltip-delete-graph": "Удалить группу", "button-new-group": "Новая группа", "tooltip-click-to-change-drag-to-reorder": "Смена цвета\nУпорядочивание перетаскиванием", "action-timelapse": "Запустить анимацию графа во времени", "tooltip-start-timelapse-animation": "Запустить анимацию графа", "button-animate-timelapse": "Запустить анимацию" }, "backlinks": { "name": "Обратные ссылки", "desc": "Показывает количество обратных ссылок в статусной строке.", "action-open": "Показать обратные ссылки", "action-show": "Показать панель с обратными ссылками", "action-open-for-current": "Показать обратные ссылки для текущего файла", "action-toggle-backlinks-in-document": "Включить/отключить обратные ссылки в документе", "menu-opt-backlinks-in-document": "Показывать обратные ссылки", "label-linked-mentions": "Упоминания со ссылкой", "label-no-backlinks": "Обратных ссылок не найдено.", "label-unlinked-mentions": "Упоминания без ссылки", "label-show-search": "Показать фильтр поиска", "label-link-button-text": "Ссылка", "tab-title": "Обратные ссылки для {{displayText}}", "label-no-unlinked-mentions": "Упоминаний без ссылки не найдено.", "ellipsis": "...", "option-backlink-in-document": "Обратные ссылки в документе", "option-backlink-in-document-desc": "Показать обратные ссылки в документе при открытии в новой области по умолчанию." }, "outgoing-links": { "name": "Исходящие ссылки", "desc": "Показывает исходящие ссылки и обнаруживает в заметке упоминания, не связанные с другими заметками.", "action-open": "Открыть исходящие ссылки", "action-show": "Показать панель с исходящими ссылками", "action-open-for-current": "Открыть исходящие ссылки для текущего файла", "tab-title": "Исходящие ссылки из {{displayText}}", "label-links": "Ссылки", "label-no-links": "Ссылок не найдено.", "label-unlinked-mentions": "Упоминания без ссылки", "tooltip-link-file": "Связать с этим файлом", "tooltip-not-created": "Заметки не существует" }, "tag-pane": { "name": "Панель тегов", "short-name": "Теги", "desc": "Показывает все теги и количество их упоминаний.", "action-show": "Показать панель с тегами", "label-no-tags": "Не найдено ни одного тега.", "label-sort-by-name-a-to-z": "По тегу (от А до Я)", "label-sort-by-name-z-to-a": "По тегу (от Я до А)", "label-sort-by-frequency-high-to-low": "По частоте (часто -> редко)", "label-sort-by-frequency-low-to-high": "По частоте (редко -> часто)", "action-show-nested-tags": "Отображать вложенные теги", "action-collapse-all": "Свернуть все", "action-expand-all": "Развернуть все" }, "footnotes-pane": { "name": "Просмотр сносок", "short-name": "Сноски", "desc": "Отобразить список сносок из текущей заметки.", "action-show": "Показать сноски", "label-no-footnotes": "Сносок не найдено." }, "properties": { "name": "Просмотр свойств", "desc": "Показать метаданные ваших файлов.", "name-global": "Все свойства", "name-local": "Свойства файла", "tab-title": "Свойства файла для {{displayText}}", "action-show": "Показать все свойства", "action-show-local": "Показать свойства файла", "opt-unassign-type": "Отменить назначение типа", "label-no-properties": "Свойства не найдены.", "label-invalid-properties": "Неверные свойства.", "label-sort-by-name-a-to-z": "Имя свойства (от А до Я)", "label-sort-by-name-z-to-a": "Имя свойства (от Я до А)", "label-sort-by-frequency-high-to-low": "По частоте (часто -> редко)", "label-sort-by-frequency-low-to-high": "По частоте (редко -> часто)", "msg-merge-properties-warning": "Объединить свойство “{{oldKey}}” с “{{newKey}}”?", "msg-merge-properties-warning-desc": "В случае возникновения конфликтов значения будут объединены или будет использовано значение из “{{oldKey}}”.", "action-collapse-all": "Свернуть все", "action-expand-all": "Развернуть все", "action-open-local": "Открыть свойства файла", "action-open-daily-note": "Открыть ежедневную заметку" }, "page-preview": { "name": "Предпросмотр страницы", "desc": "Предварительный просмотр заметки при наведении курсора на внутреннюю ссылку. Наведение + Ctrl/Cmd в режиме редактирования.", "label-empty-attachment": "“{{linktext}}” не может быть найдена.", "label-empty-note": "Заметка \"{{linktext}}\" не существует. Нажмите, чтобы создать.", "label-missing-footote": "Сноска {{id}} не найдена. Нажмите, чтобы создать.", "label-source-editor": "Редактор", "label-source-preview": "Просмотр", "label-source-search": "Поиск, Обратные и Исходящие ссылки", "label-source-tab-header": "Заголовок вкладки", "label-require-mod": "Требуется нажать {{key}} для предварительного просмотра заметки при наведении курсора" }, "bookmarks": { "name": "Закладки", "desc": "Добавляйте в закладки часто используемые файлы и поисковые запросы.", "action-show": "Показать закладки", "action-collapse-all": "Свернуть все", "action-new-bookmark": "Добавить в закладки текущую вкладку...", "action-new-group": "Новая группа закладок", "action-bookmark": "Добавить в закладки...", "action-add-bookmark": "Добавить закладку", "action-edit-bookmark": "Редактировать закладку", "action-bookmark-block": "Добавить в закладки текстовый блок под курсором...", "action-bookmark-heading": "Добавить в закладки заголовок под курсором...", "action-bookmark-search": "Добавить в закладки текущий поисковой запрос...", "action-remove-bookmark": "Удалить из закладок текущий файл", "action-bookmark-tab-group": "Добавить в закладки {{count}} вкладку...", "action-bookmark-tab-group_plural": "Добавить в закладки {{count}} вкладок...", "action-bookmark-all-tabs": "Добавить в закладки все вкладки...", "action-bookmark-graph": "Добавить в закладки этот граф...", "label-bookmark": "Закладка", "label-bookmarked": "Добавлено в закладки", "label-bookmark-with-count": "{{count}} закладка", "label-bookmark-with-count_plural": "{{count}} закладок", "label-no-bookmarks": "Закладки не найдены", "label-invalid-data": "Не удалось загрузить закладки.", "label-invalid-data-desc": "Файл данных поврежден.", "label-untitled-group": "Группа без названия", "label-untitled-graph": "Граф без названия", "menu-opt-edit": "Редактировать...", "menu-opt-remove": "Удалить", "menu-opt-rename": "Переименовать", "menu-opt-bookmark-block": "Добавить этот блок в закладки...", "menu-opt-bookmark-heading": "Добавить в закладки этот заголовок ...", "msg-no-search-query": "Нет поискового запроса для добавления в закладки.", "option-path": "Путь", "option-query": "Запрос", "option-u-r-l": "URL", "option-title": "Заголовок", "option-group": "Группа закладок", "placeholder-bookmark-group": "Закладки" }, "custom-css": { "name": "Пользовательский CSS", "desc": "Читает \"obsidian.css\" из вашего хранилища и применяет его.", "setting-community-themes": "Темы сообщества", "msg-fetching-themes": "Загружаются данные о темах сообщества...", "prompt-filter": "Фильтр...", "label-dark-theme-only": "Только темные", "label-light-theme-only": "Только светлые", "label-use": "Применить", "label-stop-use": "Отключить", "label-install-and-use": "Установить и применить", "label-update": "Обновить", "label-no-readme": "Эта тема не содержит файл с описанием.", "tooltip-remove-theme": "Удалить тему", "label-visit-on-github": "Перейти на GitHub", "msg-load-error": "Не удалось загрузить темы сообщества. Пожалуйста, проверьте соединение с интернетом.", "msg-now-using-theme": "Применена CSS-тема {{title}}.", "msg-deleted-theme": "Тема {{title}} была удалена.", "msg-updated-theme": "Тема {{title}} была обновлена.", "label-installed": "Установлена", "label-legacy": "Устарела", "button-update-all-themes": "Обновить все", "msg-failed-load-themes": "Не удалось загрузить темы сообщества.", "msg-no-updates-found": "Обновления не найдены.", "msg-updates-found": "Найдено обновлений для тем: {{count}}", "msg-updates-found_plural": "Найдено обновлений для тем: {{count}}", "msg-failed-to-install-theme": "Не удалось установить тему \"{{name}}\".", "msg-successfully-installed-theme": "Установлена тема \"{{name}}\".", "msg-installing-theme": "Устанавливается тема \"{{name}}\"...", "label-search-summary": "Отображается {{themeCount}}", "label-update-available": "Доступно обновление" }, "command-palette": { "name": "Палитра команд", "desc": "Введите команду, которую хотите запустить. Позволяет обращаться к функциям Obsidian без взаимодействия с интерфейсом и запоминания сочетаний клавиш.", "action-open": "Открыть палитру команд", "instruction-navigate": "навигация", "instruction-use": "использовать", "instruction-dismiss": "отмена", "label-no-commands": "Команда не найдена.", "prompt-type-command": "Введите название команды...", "label-pinned-commands": "Закреплённые команды", "option-add-new-pin": "Добавить новую команду", "option-add-new-pin-description": "Закреплённые команды будут отображаться в верхней части списка команд при пустом поисковом запросе." }, "markdown-format-importer": { "name": "Импорт Markdown-файлов", "desc": "Конвертирует Markdown-файлы из других приложений в формат Obsidian.", "action-open": "Импорт Markdown-файлов", "option-roam-tag-fixer": "Исправить формат тегов из Roam Research", "option-roam-tag-fixer-description": "Сконвертирует \"#tag\" и \"#[[tag]]\" в \"[[tag]]\".", "option-roam-highlight-fixer": "Исправить формат выделения текста из Roam Research", "option-roam-highlight-fixer-description": "Сконвертирует \"^^highlight^^\" в \"==highlight==\".", "option-roam-todo-converter": "Исправить чекбоксы из Roam Research", "option-roam-todo-converter-description": "Сконвертирует \"{{[[TODO]]}}\" в \"[ ]\".", "option-bear-highlight-fixer": "Исправить формат выделения текста из Bear", "option-bear-highlight-fixer-description": "Сконвертирует \"::highlight::\" в \"==highlight==\".", "zettelkasten-link-fixer": "Исправить ссылки на Zettelkasten-заметки", "zettelkasten-link-fixer-description": "Сконвертирует ссылки \"[[UID]]\" в \"[[UID File Name]]\".", "zettelkasten-link-beautifier": "Исправить и отформатировать ссылки на Zettelkasten-заметки", "zettelkasten-link-beautifier-description": "Сконвертирует ссылки \"[[UID]]\", а также приведет их к формату \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Внимание: плагин преобразует все файлы в вашем хранилище, а не только текущий открытый файл.", "msg-override-files-warning": "Ваши файлы будут перезаписаны. Сделайте бекап всех файлов перед тем, как начать конвертацию.", "label-start-conversion": "Начать конвертацию", "label-stop": "Остановить", "label-go-back": "Назад", "label-done": "Закрыть", "label-processing": "Обработка...", "label-cancelling": "Отмена...", "label-finished": "Готово!", "label-processed-files": "Обработано", "label-modified-files": "Изменено", "label-total-replacements": "Всего замен", "label-failed": "Failed" }, "daily-notes": { "name": "Ежедневные заметки", "desc": "Открывает сегодняшнюю ежедневную заметку либо создаёт новую.", "short-name": "Сегодня", "action-open": "Сегодняшняя заметка", "action-open-previous": "Открыть предыдущую ежедневную заметку", "action-open-next": "Открыть следующую ежедневную заметку", "action-insert-text": "Вставить текст в ежедневную заметку", "action-insert-link": "Вставить ссылку в ежедневную заметку", "msg-fail-format": "Не удалось создать ежедневную заметку. Неверный формат \"{{format}}\".", "msg-fail-folder": "Не удалось создать ежедневную заметку. Папка \"{{folderOption}}\" не найдена.", "msg-fail-template-file": "Не удалось создать ежедневную заметку. Файл шаблона \"{{template}}\" не найден.", "msg-no-previous": "Более ранние ежедневные заметки отсутствуют.", "msg-no-next": "Более поздние ежедневные заметки отсутствуют.", "option-date-format": "Формат даты", "label-refer-to-syntax": "Для более подробной информации о синтаксисе перейдите по ", "label-syntax-link": "ссылке", "label-syntax-live-preview": "Пример: ", "option-new-file-location": "Расположение нового файла", "option-new-file-location-description": "Путь к папке, в которой будет создаваться новая ежедневная заметка.", "option-template": "Расположение шаблона", "option-template-description": "Путь к файлу, который будет использоваться как шаблон.", "option-open-on-start": "Открывать заметку на сегодня", "option-open-on-start-description": "Автоматически открывать сегодняшнюю заметку при открытии хранилища." }, "unique-note-creator": { "name": "Уникальный идентификатор", "desc": "Создание заметок с уникальными идентификаторами в виде временных меток, как в Zettelkasten и других картотеках.", "short-name": "Unique", "action-create-note": "Создать заметку с уникальным идентификатором", "action-add-link": "Add unique internal link", "option-new-file-location": "Расположение нового файла", "option-new-file-location-description": "Путь к папке, в которой будет создаваться новая заметка с уникальным идентификатором.", "msg-folder-not-found": "Не удалось создать заметку с уникальным идентификатором. Папка \"{{folderOption}}\" не найдена.", "option-template-file": "Расположение шаблона", "option-template-file-description": "Путь к файлу, который будет использоваться как шаблон.", "option-template-file-placeholder": "Пример: папка/заметка", "option-id-format": "Формат уникального идентификатора", "msg-template-file-not-found": "Не удалось создать заметку с уникальным идентификатором. Файл шаблона \"{{template}}\" не найден.", "msg-failed-to-generate": "Не удалось создать заметку с уникальным идентификатором. Неверный формат \"{{format}}" }, "random-note": { "name": "Случайная заметка", "desc": "Открывает случайную заметку. Может пригодиться для повторного чтения и неожиданных открытий.", "short-name": "Random", "action-open": "Открыть случайную заметку" }, "outline": { "name": "Структура", "desc": "Показывает структуру текущего файла или связанной области.", "action-open": "Открыть структуру", "action-show": "Показать панель структуры", "action-open-for-current": "Открыть панель структуры текущего файла", "tab-title": "Структура {{displayText}}", "label-no-headings": "Не найдено ни одного заголовка.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Счётчик слов", "desc": "Показывает количество слов в строке состояния." }, "slides": { "name": "Слайды", "desc": "Приятный сюрприз от Мarkdown. Чтобы разделить слайды, используйте \"---\".", "action-start": "Начать презентацию" }, "audio-recorder": { "name": "Диктофон", "desc": "Записывает аудио и сохраняет его как вложение.", "action-start": "Начать запись аудио", "action-stop": "Остановить запись аудио", "action-toggle": "Начать/остановить запись", "msg-access-denied": "Доступ к микрофону был отклонён. Пожалуйста, разрешите доступ из панели настроек вашей системы.", "msg-pending-grant": "Дайте разрешение на доступ к микрофону, чтобы начать запись.", "msg-no-microphone": "Не удалось обнаружить микрофон." }, "open-with-default-app": { "name": "Открыть в приложении по умолчанию", "desc": "Добавляет возможность открывать текущий файл в приложении по умолчанию.", "action-open-file": "Открыть в приложении по умолчанию", "action-open-file-mobile": "Поделиться", "action-show-in-folder": "Показать в Проводнике", "action-show-in-folder-mac": "Показать в Finder" }, "templates": { "name": "Шаблоны", "desc": "Вставить содержимое шаблона из папки шаблонных файлов.", "action-insert": "Вставить шаблон", "action-insert-current-date": "Вставить текущую дату", "action-insert-current-time": "Вставить текущее время", "option-template-folder-location": "Путь к папке с шаблонами", "option-template-folder-location-description": "Файлы из этой папки будут доступны как шаблоны.", "option-template-date-format": "Формат даты", "option-template-date-format-description": "{{date}} в файле шаблона заменится на это значение.", "option-template-date-format-description2": "Используйте конструкцию {{date:YYYY-MM-DD}}, чтобы задать формат прямо в шаблоне.", "option-template-time-format": "Формат времени", "option-template-time-format-description": "{{time}} в файле шаблона заменится на это значение.", "option-template-time-format-description2": "Используйте конструкцию {{time:HH:mm}}, чтобы задать формат прямо в шаблоне.", "instruction-navigate": "навигация", "instruction-insert": "вставить шаблон", "instruction-dismiss": "отмена", "msg-no-templates-found": "Шаблоны не найдены", "msg-fail-invalid-folder": "Не удалось отобразить шаблоны. Недопустимое имя папки шаблонов.", "msg-fail-folder-not-found": "Не удалось отобразить шаблоны. Папка \"{{folderOption}}\" не найдена.", "msg-fail-invalid-template-properties": "Не удалось вставить шаблон, не удалось прочитать свойства в файле шаблона.", "msg-no-folder-set": "Не удалось отобразить шаблоны. Не настроена папка с шаблонами.", "prompt-type-template": "Введите имя шаблона..." }, "translucency": { "name": "Полупрозрачное окно", "desc": "Добавляет интерфейсу ощущения глубины, особенно в тёмном режиме. Не работает под Linux." }, "slash-command": { "name": "Слэш-команды", "desc": "Включить выбор команд в редакторе при наборе косой черты." }, "editor-status": { "name": "Статус редактора", "desc": "Добавить в строку состояния элемент отображающий текущий режим редактора.", "read": "Просмотр", "edit-source": "Просмотр исходного кода", "edit-live-preview": "Динамический просмотр" }, "publish": { "name": "Публикация", "desc": "Публикуйте свои заметки с помощью Obsidian Publish.", "action-publish-changes": "Публикация изменений", "action-publish-file": "Опубликовать текущий файл", "label-no-internet-access": "Для публикации изменений требуется доступ к интернету", "label-publish-service-description": "Obsidian Publish это дополнительный платный сервис для публикации заметок в интернет напрямую из Obsidian.", "label-please-login": "Перед началом публикации войдите в свой аккаунт Obsidian или зарегистрируйте новый.", "label-no-publish-subscription": "Вы не подписаны на сервис Obsidian Publish.", "button-purchase": "Приобрести", "label-manage-sites": "Управление сайтами", "label-no-sites": "У вас нет сайтов.", "button-choose": "Выбрать", "tooltip-edit-site-id": "Изменить ID сайта", "tooltip-delete-site": "Удалить сайт", "label-delete-site-confirmation": "Вы действительно хотите удалить этот сайт?", "label-delete-site-details": "Сайт будет незамедлительно и навсегда удален.", "label-confirm-delete-site": "Подтвердите удаление сайта \"{{site}}\"", "option-site-id": "ID сайта", "option-site-id-description": "Сайт будет доступен по адресу https://publish.obsidian.md/{site id}. Его можно изменить позднее. Допускаются только строчные буквы, цифры и тире.", "option-site-id-placeholder": "Выберите ID сайта", "button-create": "Создать", "msg-invalid-site-id": "В ID сайта допускаются только строчные буквы, цифры и тире.", "msg-site-id-in-use": "Такой ID сайта уже занят, попробуйте другой.", "msg-create-site-issue": "При создании сайта произошла ошибка.", "label-site-options": "Настройки сайта", "option-site-general": "Общие", "option-site-components": "Компоненты", "option-site-appearance": "Оформление", "option-site-reading-experience": "Удобство чтения", "option-site-misc": "Прочие настройки сайта", "option-site-name": "Название", "option-site-name-description": "Название публикуемого сайта. Оно будет отображаться в заголовках страниц.", "option-site-name-placeholder": "Название сайта", "option-home-page-file": "Домашняя страница", "option-home-page-file-description": "Первая страница, которую увидит посетитель опубликованного сайта.", "option-home-page-file-placeholder": "Выберите опубликованный файл", "option-logo": "Логотип", "option-logo-description": "Выберите изображение в качестве логотипа.", "option-logo-placeholder": "Любое загруженное изображение из хранилища...", "option-site-collaboration": "Совместная работа", "option-site-collaboration-desc": "Управление участниками для этого сайта.", "option-customize-navigation": "Настроить навигацию", "option-customize-navigation-desc": "Переопределите порядок элементов навигации и скройте страницы или папки.", "option-navigation-order": "Порядок отображения элементов навигации", "option-hide-items-in-navigation": "Скрыть страницы или папки в навигации", "option-hide-items-in-navigation-desc": "Щелкните правой кнопкой мыши и выберите \"Скрыть\", чтобы предотвратить отображение определенных страниц в навигации сайта. Страницы по-прежнему будут доступны по ссылкам или напрямую по URL-адресу.", "option-show-hidden-items": "Показать скрытые", "button-customize-sidebar": "Управление", "label-navigation-modal-title": "Навигация", "label-navigation-modal-desc": "Перетаскивайте и упорядочивайте элементы навигации, чтобы задать порядок их отображения на вашем сайте Publish.", "option-hide-in-navigation": "Скрыть в навигации", "button-manage-collaborators": "Настроить", "option-theme": "Тема", "option-theme-description": "Выберите цветовую тему оформления сайта.", "option-theme-system": "Адаптация к системной теме", "option-show-theme-toggle": "Переключатель Светлой/Темной тем", "option-show-theme-toggle-description": "Позволить посетителю самостоятельно переключать светлую и темную темы.", "option-show-navigation": "Отображение навигации", "option-show-navigation-description": "Отображать в левой части список всех опубликованных страниц.", "option-show-search": "Отображение строки поиска", "option-show-search-description": "Отображать строку поиска над навигацией, чтобы посетители могли искать по содержимому и заголовкам вашего сайта.", "option-show-graph": "Отображение графа", "option-show-graph-description": "Отображать маленький граф на каждой странице.", "option-show-outline": "Отображение оглавления", "option-show-outline-description": "Отображать структуру заголовков на каждой странице.", "option-show-backlinks": "Отображение обратных ссылок", "option-show-backlinks-description": "Отображать раздел с обратными ссылками в конце каждой страницы.", "option-sliding-window-mode": "Использование сдвижных окон", "option-sliding-window-mode-description": "Открывать страницы в новых областях справа. Позволяет передвигаться по областям горизонтально.", "option-hover-preview-file": "Отображение предпросмотра", "option-hover-preview-file-description": "Отображать предпросмотр при наведении курсора на ссылки.", "option-hide-title": "Скрыть заголовок страницы", "option-hide-title-description": "Скрыть заголовок названия страницы. Полезно, если в начале каждой страницы есть собственные заголовки.", "option-readable-line-length": "Ограничить максимальную длину строки", "option-readable-line-length-description": "Повышает удобство чтения длинных абзацев, но уменьшает количество помещающейся на экране информации.", "option-site-password": "Пароли", "option-site-password-description": "Ограничить доступ к сайту с помощью паролей.", "option-google-analytics": "Код слежения Google Analytics", "option-google-analytics-description": "Настроить Google Analytics для сайта. Доступно только для посетителей с вашего личного доменного URL. Предварительно сверьтесь с местными законами и требованиями регулятора.", "button-manage-passwords": "Настроить", "button-save-site-settings": "Сохранить", "msg-updated-options": "Настройки для сайта сохранены.", "button-go-back": "Назад", "label-publishing-to": "Публикация на", "tooltip-switch-site": "Выбрать другой сайт", "button-add-linked": "Добавить связанные", "tooltip-add-linked": "Добавить все файлы, связанные с выделенными объектами", "msg-added-linked-files": "Добавлено связанных файлов: {{count}}.", "msg-added-linked-files_plural": "Добавлено связанных файлов: {{count}}.", "tooltip-open-site-options": "Настройки сайта", "label-no-changes-detected": "Изменения не обнаружены.", "label-changed-files-to-be-published": "Изменен", "label-unchanged-files-already-published": "Без изменений (выделите для удаления)", "label-file-selected": " выделено", "button-select-all-files": "Выделить всe", "label-custom-navigation-title": "Элементы навигации", "button-deselect-all-files": "Снять выделение", "label-new-files-to-be-published": "Новый", "button-publish": "Опубликовать", "msg-no-permission-to-publish-to-site": "У вас недостаточно прав для публикации на выбранный сайт.", "msg-select-at-least-one-file": "Пожалуйста, выделите файл.", "label-upload-changes": "Загрузить изменения", "button-done": "Готово", "button-stop": "Стоп", "label-status-uploading": "Загружается", "label-status-to-publish": "К публикации", "label-status-to-delete": "К удалению", "label-status-published": "Опубликовано", "label-status-deleted": "Удалено", "label-status-failed": "Не удалось", "label-status-cancelled": "Отменено", "button-change": "Изменить", "label-clear-cache": "Изменения отобразятся на сайте в течении нескольких минут. Попробуйте очистить кэш браузера, если изменения не видны.", "label-visit-site": "Ваш сайт доступен по адресу ", "msg-something-went-wrong": "Что-то пошло не так. Подробности в консоли для разработчиков.", "msg-network-error": "Произошла сетевая ошибка. ", "label-manage-passwords": "Управление паролями", "label-add-password": "Добавление пароля", "action-new-password": "Новый пароль", "label-no-password": "Ваш сайт не защищен паролем и виден всем.", "label-have-password": "Ваш сайт защищен паролем. Если вы установили несколько паролей, посетили могут получить доступ к сайту с любым из них.", "option-password-name": "Пароль", "option-password-desc": "Пароль хэшируется и не хранится в виде обычного текста.", "option-password-placeholder": "Ваш пароль", "option-nickname-name": "Псевдоним (опционально)", "option-nickname-desc": "Установите псевдоним, чтобы запомнить, для чего или для кого данный пароль.", "action-add-password": "Сохранить", "label-untitled-password": "Пароль без названия", "label-password-created-time": "Создан {{time}}", "msg-added-new-password": "Новый пароль сохранен.", "option-custom-domain": "Личный домен", "option-custom-domain-desc": "Используйте свой собственный домен вместо https://publish.obsidian.md/{site id}.", "option-noindex": "Запретить индексацию поисковикам", "option-noindex-desc": "Предотвратить индексацию сайта поисковыми машинами.", "button-configure": "Настроить", "label-configure-custom-domain": "Настройки личного домена", "option-custom-url-name": "Личный URL", "option-custom-url-desc": "URL-адрес по которому будет доступен ваш сайт.", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "Перенаправлять на личный домен", "option-custom-url-redirect-desc": "Перенаправлять посетителей publish.obsidian.md/id на ваш личный домен.", "button-update-custom-domain": "Сохранить", "label-custom-domain-instructions": "Больше информации по настройке личного домена доступно в {{link}}.", "label-custom-domain-link-name": "документации Obsidian", "label-site-usage": "Вы используете {{site}} из {{limit}}.", "button-add-more-sites": "Купить ещё сайт", "label-no-sites-bought": "Вы не купили ни одного сайта.", "button-get-site": "Приобрести", "label-manage-sharing": "Настроить доступ для \"{{name}}\"", "label-sharing-with-users": "Сейчас общий доступ к этому сайту есть у следующих людей.", "label-not-sharing": "Сейчас ни у кого нет общего доступа к этому сайту.", "label-invite-pending": "Ожидание приглашения", "tooltip-remove-user": "Удалить пользователя", "option-invite-user": "Пригласить пользователя", "placeholder-invite-user": "Введите адрес электронной почты для отправки приглашения...", "error-email-must-be-valid": "Пожалуйста, введите действующий адрес электронной почты, чтобы пригласить кого-либо.", "msg-enable-publish-plugin": "Пожалуйста, включите плагин Публикация в разделе Настройки -> Встроенные плагины для просмотра сайтов.", "label-your-sites": "Ваши сайты", "label-sites-shared-with-you": "Сайты к которым у вас есть общий доступ", "tooltip-leave-site-sharing": "Прекратить совместную работу на этом сайте", "label-leave-site-confirmation": "Подтвердить прекращение совместной работы на сайте", "label-leave-site-confirmation-details": "Это приведет к удалению этого сайта из списка сайтов, к которым у вас есть общий доступ. Это действие не может быть отменено.", "label-leave-site-confirmation-details-2": "Пожалуйста, свяжитесь с владельцем сайта, если вы хотите снова получить доступ к этому сайту.", "button-leave": "Покинуть", "label-compare-with-live": "Сравнить с публичной версией", "button-use-live-version": "Использовать публичную версию", "label-confirm-override": "Подтвердите перезапись локальной версии", "label-confirm-override-1": "Вы уверены, что хотите перезаписать локальную версию?", "label-confirm-override-2": "Будет использоваться публичная версия, а ваша локальная версия будет удалена. Пожалуйста, сделайте резервные копии, если это необходимо.", "button-proceed": "Продолжить", "message-successfully-used-live-version": "Публичная версия использована для перезаписи вашей локальной версии.", "label-open-in-live-site": "Open in live site", "label-open-file": "Открыть файл", "tooltip-manage-publish-filters": "Настроить фильтры публикации", "option-included-folders": "Включенные папки", "option-included-folders-desc": "Файлы в этих папках будут автоматически выбраны при просмотре изменений перед публикацией.", "option-currently-included-folders": "Папки включенные в данный момент:", "option-excluded-folders": "Исключенные папки", "option-excluded-folders-desc": "Файлы в этих папках не будут отображаться при просмотре изменений перед публикацией. Эта настройка имеет приоритет над включенными папками.", "label-number-of-folders-included": "Obsidian Publish включает {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish исключает {{folders}}.", "label-manage-included-folders": "Настроить включенные папки", "label-manage-excluded-folders": "Настроить исключенные папки", "label-add-included-folder": "Включить папку", "label-add-included-folder-desc": "Вы можете включить как существующие папки, так и папки, которые ещё не были созданы.", "tooltip-contact-support": "Связаться со службой поддержки", "label-navigation-preview": "Предпросмотр навигации" }, "workspaces": { "name": "Пространства", "desc": "Сохраняйте и загружайте собственные варианты компоновки рабочего пространства.", "action-load-layout": "Загрузить пространство", "action-manage-layouts": "Пространства", "action-save": "Сохранить пространство", "action-save-and-load-layout": "Сохранить и загрузить другое пространство", "placeholder-save-current-layout-as": "Сохранить пространство как...", "button-save": "Сохранить", "button-load": "Загрузить", "tooltip-delete-layout": "Удалить пространство", "msg-enter-name": "Введите имя нового пространства.", "msg-save-layout-success": "Пространство сохранено.", "label-no-layout-found": "Нет сохранённых пространств.", "label-workspace-modified-time": "Изменено: {{time}}", "placeholder-type-to-search-layouts": "Введите имя пространства..." }, "sync": { "name": "Синхронизация", "desc": "Синхронизируйте файлы с помощью Obsidian Sync.", "action-view-version-history": "Показать историю версий", "action-setup-sync": "Настроить синхронизацию", "menu-opt-view-version-history": "Открыть историю версий", "action-view-sync-sidebar": "Показать историю синхронизации", "action-activity-log": "Открыть журнал событий", "label-load-more": "Загрузить ещё", "label-show-diff": "Показать отличия", "label-copy-to-clipboard": "Скопировать в буфер обмена", "label-restore-this-version": "Восстановить эту версию", "msg-already-latest-version": "Текущая версия самая последняя.", "msg-restored-version": "Версия от {{time}} восстановлена", "label-file-deleted": "Этот файл был удалён", "label-file-deleted-via": "Удалено через {{ device }}", "label-file-renamed-from": "Этот файл был переименован из \"{{filepath}}\"", "label-file-renamed-from-to": "Переименовано из “{{from}}” в “{{to}}”", "label-file-moved-from": "Перемещено из “{{from}}”", "label-file-moved-from-to": "Перемещено из “{{from}}” в “{{to}}”", "label-revision": "1 версия", "label-revision_plural": "{{revisions}} версий", "label-via-device": "через {{device}}", "label-no-history": "Более ранние версии данного файла отсутствуют.", "label-empty-file": "Пусто", "label-unable-to-retrieve": "Не удалось получить историю версий", "label-setting-files": "Файлы настроек", "label-deleted-files": "Удалённые файлы", "label-version-history": "Историю версий", "label-click-to-see-history": "Нажмите на удалённый файл, чтобы просмотреть его историю.", "label-create-remote-vault": "Создание хранилища", "msg-please-enter-password": "Пожалуйста, введите пароль.", "msg-vault-name-cannot-be-empty": "Название хранилища не может быть пустым.", "msg-successfully-created-vault": "Хранилище \"{{name}}\" создано.", "label-remote-vault-explanation": "Хранилища в Obsidian Sync безопасно синхронизируют ваши данные между устройствами.", "option-vault-name": "Название", "option-vault-name-desc": "Поможет запомнить предназначение хранилища.", "option-vault-region": "Регион", "opt-vault-region-automatic": "Автоматически", "option-vault-region-desc": "Выберите ближайшее к вам местоположение сервера для размещения внешнего хранилища. Это не может быть изменено в будущем.", "option-vault-name-placeholder": "Моё хранилище", "option-encryption": "Шифрование", "option-encryption-desc": "Сквозное шифрование обеспечивает максимальную безопасность, но требует, чтобы вы надёжно хранили свой пароль шифрования. При стандартном шифровании используется ключ, управляемый Obsidian, для защиты ваших данных при передаче и на наших серверах.", "option-encryption-warning": "Этот параметр не может быть изменён позже.", "option-encryption-end-to-end": "Сквозное шифрование", "option-encryption-standard": "Стандартное шифрование", "option-encryption-password": "Пароль шифрования", "option-encryption-password-desc": "Этот пароль нельзя будет изменить позже.", "option-encryption-password-desc-warning": "Если вы забудете пароль, доступ к синхронизированным данным будет утерян навсегда.", "option-encryption-password-desc-2": "Эта настройка никак не влияет на ваши локальные данные.", "label-encryption-password-explanation": "Внешнее хранилище “{{name}}” зашифровано. Введите свой пароль для разблокировки.", "option-encryption-password-placeholder": "Ваш пароль", "label-unlock-encrypted-vault": "Разблокировать ваше внешнее хранилище", "button-unlock-vault": "Открыть", "label-remote-vaults": "Хранилища в Obsidian Sync", "label-vault-created-time": "Создано {{time}}", "tooltip-delete-remote-vault": "Удалить", "tooltip-rename-remote-vault": "Переименовать", "label-rename-remote-vault": "Переименовать внешнее хранилище \"{{name}}\"", "label-rename-remote-vault-desc": "Введите новое имя для этого внешнего хранилища.", "tooltip-manage-sharing": "Настроить общий доступ", "label-confirm-delete-remote-vault": "Подтвердите удаление хранилища", "label-confirm-delete-remote-vault-question": "Вы уверены, что хотите удалить это хранилище из Obsidian Sync?", "label-confirm-delete-remote-vault-result": "Все данные на нашем сервере, включая историю версий, будут удалены. Ваши локальные файлы останутся нетронутыми.", "label-confirm-delete-remote-vault-warning": "Это действие нельзя отменить.", "msg-remote-vault-deleted": "Хранилище {{name}} удалено из Obsidian Sync.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: Подключенное внешнее хранилище больше не существует.", "button-connect-to-remote-vault": "Подключить", "button-disconnect-from-remote-vault": "Отключить", "label-sync-status": "Синхронизация: {{status}}", "label-not-remote-vaults": "У вас нет синхронизированных хранилищ.", "label-no-subscription": "У вас нет активной подписки Obsidian Sync.", "label-please-visit": "Пожалуйста, посетите", "label-preview-unsupported-file-type": "Невозможно просмотреть файлы {{type}}.", "button-create-new-remote-vault": "Новое хранилище", "label-sync-log": "История синхронизации", "option-event-type-all": "Все", "option-event-type-errors": "Ошибки", "option-event-type-skipped": "Пропущенные", "option-event-type-merge-conflicts": "Конфликты объединения", "button-copy-sync-log": "Скопировать", "msg-successfully-copied-sync-log": "История синхронизации скопирована.", "button-retry": "Повторить", "button-purchase-subscription": "Приобрести", "label-third-party-sync-warning": "Обнаружена конфликтующая служба синхронизации", "label-third-party-sync-warning-desc": "Предупреждение: Похоже, что ваше хранилище использует {{service}} в качестве сторонней службы синхронизации. Если вы используете Obsidian Sync с этим хранилищем, вы можете столкнуться с конфликтами, повреждением файлов или потерей данных.", "label-icloud-drive-warning": "Если вы используете iCloud Drive, ваши папки Документы и Рабочий стол могут быть синхронизированы iCloud. Это может привести к конфликтам с Obsidian Sync.", "option-remote-vault": "Внешнее хранилище", "button-choose-remote-vault": "Выбрать", "button-manage-remote-vault": "Настроить", "option-remote-vault-desc-connected": "Установлено соединение с внешним хранилищем \"{{name}}\".", "option-remote-vault-desc-not-connected": "Нет соединения ни с одним внешним хранилищем.", "option-sync-status": "Статус синхронизации", "option-sync-status-desc-paused": "Синхронизация приостановлена.", "option-sync-status-desc-running": "Синхронизация включена.", "option-device-name": "Имя устройства", "option-device-name-desc": "Это имя будет отображаться в журнале синхронизации. Оставьте пустым для использования имени по умолчанию.", "button-resume": "Возобновить", "button-pause": "Приостановить", "option-view-deleted-files": "Удалённые файлы", "option-view-deleted-files-desc": "Просмотр и восстановление удалённых файлов.", "option-sync-log": "История", "option-sync-log-desc": "Просмотр истории синхронизации.", "button-view": "Открыть", "button-bulk-restore": "Массовое восстановление", "button-restore-files_zero": "Восстановить файлы", "button-restore-files": "Восстановить файлов: {{count}}", "button-restore-files_plural": "Восстановить {{count}} файлов", "msg-restoring": "Восстановление...", "msg-restoring-complete": "`Восстановление завершено: {{succeeded}} успешно и {{failed}} неудачно.`", "option-vault-size": "Размер хранилища", "option-vault-size-desc": "Вы используете {{size}} из доступных {{limit}}", "option-vault-size-unknown": "Не удалось определить размер вашего хранилища.", "option-vault-size-loading": "Определение размера вашего хранилища...", "option-over-size": "Размер хранилища превышает лимит", "option-almost-over-size": "Размер хранилища приближается к предельному", "msg-largest-files": "Большие файлы", "msg-largest-files-desc": "Это файлы, занимающие наибольшее количество места. После удаления вложений нажмите Очистить для освобождения места в связанных хранилищах.", "button-upgrade-storage": "Увеличить пространство", "button-purge-remote": "Очистить", "button-hide-my-changes": "Скрыть свои изменения", "tooltip-purge-remote": "Безвозвратно удалить стертые вложения из связанных хранилищ для освобождения места.", "msg-purge-complete": "Очистка выполнена.", "option-prevent-sleep": "Предотвращение засыпания устройства", "option-prevent-sleep-desc": "Предотвращает переход устройства в спящий режим, когда остались несинхронизированные файлы.", "option-selective-sync": "Выборочная синхронизация", "option-excluded-folders": "Исключения", "option-excluded-folder-desc": "Выберите папки, которые не будут синхронизированы.", "option-currently-excluded-folders": " Текущий список исключений:", "button-manage-excluded-folders": "Настроить", "option-sync-image": "Синхронизировать изображения", "option-sync-image-desc": "Поддерживаемые расширения изображений: {{extensions}}.", "option-sync-audio": "Аудио", "option-sync-audio-desc": "Поддерживаемые расширения аудио: {{extensions}}.", "option-sync-video": "Видео", "option-sync-video-desc": "Поддерживаемые расширения видео: {{extensions}}.", "option-sync-pdf": "PDF", "option-sync-pdf-desc": "Синхронизировать PDF-файлы.", "option-sync-unsupported": "Синхронизировать все остальные типы файлов", "option-sync-unsupported-desc": "Синхронизировать неподдерживаемые типы файлов.", "option-vault-config-sync": "Настройка синхронизации хранилища", "option-view-config-files": "История файлов настроек", "option-view-config-files-desc": "Просмотр и восстановление файлов настроек.", "option-sync-app": "Основные настройки", "option-sync-app-desc": "Включить синхронизацию настроек из разделов Редактор, Файлы и ссылки, Сочетания клавиш и т.д.", "option-sync-appearance": "Настройки оформления", "option-sync-appearance-desc": "Синхронизировать настройки оформления, такие как ночной режим, активная тема и включенные CSS-фрагменты.", "option-sync-appearance-data": "Темы и CSS-фрагменты", "option-sync-appearance-data-desc": "Синхронизировать загруженные темы и CSS-фрагменты. Какие из них будут включены, зависит от предыдущих настроек.", "option-sync-hotkey": "Сочетания клавиш", "option-sync-hotkey-desc": "Синхронизировать пользовательские сочетания клавиш.", "option-sync-core-plugin": "Список встроенных плагинов, активных на данный момент", "option-sync-core-plugin-desc": "Синхронизировать встроенные плагины, которые активны.", "option-sync-core-plugin-data": "Настройки встроенных плагинов", "option-sync-core-plugin-data-desc": "Синхронизировать настройки встроенных плагинов.", "option-sync-community-plugin": "Список сторонних плагинов, активных на данный момент", "option-sync-community-plugin-desc": "Синхронизировать сторонние плагины, которые активны.", "option-sync-community-plugin-data": "Установленные сторонние плагины", "option-sync-community-plugin-data-desc": "Синхронизировать установленные сторонние плагины (файлы .js, .css и manifest.json) и их настройки.", "label-sync-loading": "Синхронизация ещё Выполняется, пожалуйста, обновите эту страницу позже.", "label-sync-introduction": "Obsidian Sync — сервис для синхронизации хранилищ с поддержкой сквозного шифрования и версионности.", "label-account-required": "Войдите или создайте аккаунт, чтобы начать пользоваться синхронизацией.", "label-current-file": "Текущий файл", "label-sync-changes": "Синхронизация изменений", "label-today": "Сегодня", "label-yesterday": "Вчера", "label-this-week": "Эта неделя", "label-older": "Более ранний", "label-last-sync": "Последняя синхронизация", "label-more": "ещё {{count}}", "button-sign-up": "Зарегистрироваться", "button-log-in": "Войти", "label-manage-excluded-folders": "Настройки исключений", "label-number-of-folders-excluded": "{{folders}} не будут синхронизированы.", "label-add-excluded-folder": "Исключить папку", "label-add-excluded-folder-desc": "Вы можете исключить как существующие папки, так и папки, которые еще не были созданы.", "tooltip-remove-excluded-folder": "Удалить из списка исключенных", "label-setup-connection": "Настройки соединения", "label-connecting-to-vault": "Подключение...", "label-connection-failed": "Не удалось установить соединение", "label-connection-failed-desc": "Не удалось подключиться к удалённому хранилищу.", "label-now-connected-to-vault": "Установлено соединение с хранилищем \"{{name}}\".", "button-start-syncing": "Начать синхронизацию", "label-confirm-merge-vault": "Подтвердить объединение хранилищ", "msg-vault-has-notes": "Ваше локальное хранилище уже содержит некоторые заметки.", "msg-vault-merge-warning": "Если вы подключитесь к облачному хранилищу \"{{name}}\", заметки в вашем локальном хранилище будут объединены с заметками из вашего внешнего хранилища. В случае конфликтов будет сохранена самая последняя версия заметки.", "tooltip-update-setting-on-all-devices": "Пожалуйста, обновите данный параметр и перезапустите приложение на устройствах чтобы изменения вступили в силу.", "label-sharing-with-users": "Сейчас общий доступ к этому внешнему хранилищу есть у следующих людей.", "label-not-sharing": "Сейчас ни у кого нет общего доступа к этому внешнему хранилищу.", "label-vaults-shared-with-you": "Хранилища к которым у вас есть общий доступ", "tooltip-leave-vault-sharing": "Прекратить совместную работу с этим хранилищем", "label-leave-vault-confirmation": "Подтвердить прекращение совместной работы с хранилищем", "label-leave-vault-confirmation-details": "Это приведёт к удалению этого хранилища из списка хранилищ, к которым у вас есть общий доступ. Это действие не может быть отменено.", "label-leave-vault-confirmation-details-2": "Пожалуйста, свяжитесь с владельцем хранилища, если вы хотите снова получить доступ к этому хранилищу.", "button-leave": "Покинуть", "msg-error-failed-to-fetch": "Не удалось загрузить внешние хранилища.", "label-require-subscription-to-connect": "У вас должна быть подписка Obsidian Sync для подключения к этому хранилищу.", "option-contact-support": "Связаться со службой поддержки", "option-contact-support-desc": "Если у вас возникнут какие-либо проблемы с Obsidian Sync, пожалуйста, свяжитесь с нами, чтобы мы могли вам помочь! Вы можете связаться с нами по адресу support@obsidian.md.", "button-copy-debug": "Копировать отладочную информацию", "button-email-support": "Отправить сообщение", "label-sync-disconnected": "Sync не подключен к внешнему хранилищу.", "msg-remote-vault-limit-hit": "Obsidian Sync позволяет создавать до 5 внешних хранилищ. Чтобы создать новое хранилище, удалите одно из существующих.", "label-upgrade-vault": "Обновить хранилище", "label-upgrade-vault-encryption": "Обновите шифрование хранилища", "label-upgrade-vault-encryption-desc": "Для удалённых хранилищ доступна новая версия шифрования.", "label-migrate-remote-vault": "Перенос удалённого хранилища", "label-remote-vault-configuration": "Настройка удалённого хранилища", "button-migrate": "Мигрировать", "msg-recreate-remote-vault": "Это приведёт к удалению вашего удалённого хранилища и воссозданию его с использованием новейшего метода шифрования. Локальные файлы не будут затронуты, однако история ваших версий будет утеряна.", "label-confirm-migrate": "Подтвердите перенос хранилища", "msg-migrate-pre-confirmation-part1": "Чтобы обновить шифрование, все данные в хранилище будут повторно загружены на серверы Obsidian Sync с использованием нового метода шифрования. В результате этого процесса будут безвозвратно удалены все данные, зашифрованные с использованием старого шифрования, включая историю версий вашего хранилища.", "msg-migrate-pre-confirmation-part2": "Важно: мы настоятельно рекомендуем создать резервную копию вашего хранилища, прежде чем приступать к работе, чтобы предотвратить возможную потерю данных.", "msg-migrate-pre-confirmation-part3": "После завершения обновления вам необходимо будет повторно подключить все ваши устройства к обновлённому удалённому хранилищу.", "msg-migrate-confirmation": "Перенос вашего хранилища может занять некоторое время. Вам нужно будет удержать Obsidian активным на этом устройстве, чтобы повторно загрузить все свои заметки и вложения. Лучше всего это делать на вашем основном устройстве.", "msg-migrate-confirmation-size": "У вас есть {{size}} данных. Перенос вашего хранилища может занять некоторое время. Вам нужно будет удержать Obsidian активным на этом устройстве, чтобы повторно загрузить все свои заметки и вложения. Лучше всего это сделать на вашем основном устройстве.", "msg-proceed-prompt": "Вы хотите продолжить?", "msg-vault-migration-started": "Выполняется миграция хранилища." }, "file-recovery": { "name": "Восстановление файлов", "desc": "Позволяет восстанавливать недавние снимки файлов после случайной потери данных. Снимки делаются только для Markdown-файлов.", "action-open": "Открыть сохраненные снимки", "option-interval": "Интервал создания снимков", "option-interval-description": "Минимальный интервал между созданием снимков в минутах.", "option-keep": "История хранения снимков", "option-keep-description": "Длительность хранения снимков в днях.", "option-open-history": "Снимки", "option-open-history-description": "Просмотр и восстановление снимков.", "button-view-history": "Просмотреть", "option-clear": "Очистка истории снимков", "option-clear-description": "Стирание всех снимков.", "button-clear-history": "Очистить", "label-clear-warning": "Вы уверены что хотите удалить все снимки? Обратите внимание, что будут удалены только снимки. Файлы в вашем хранилище не будут затронуты.", "msg-clear-complete": "Снимки удалены.", "label-no-history-found": "Снимки не найдены.", "placeholder-choose-file": "Выберите файл...", "label-select-file": "Пожалуйста выберите файл снимка слева для просмотра его содержимого." }, "note-composer": { "name": "Компоновщик заметок", "desc": "Объединяет, извлекает или преобразовывает заметки.", "option-confirm-file-merge": "Подтверждать объединение файлов", "option-confirm-file-merge-description": "Отображать окно с подтверждением объединения файлов.", "option-split-replacement-text": "Текст после извлечения", "option-split-replacement-text-description": "Что оставить на месте выделенного текста после его извлечения.", "option-choice-split-replacement-text-link": "Ссылка на новый файл", "option-choice-split-replacement-text-embed": "Вложение нового файла", "option-choice-split-replacement-text-none": "Ничего не оставлять", "option-template-file": "Расположение шаблона", "option-template-file-description": "Шаблон, используемый при объединении или извлечении. Доступные переменные: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}. Например, {{date:YYYY-MM-DD}}.", "command-merge-file": "Объединить текущий файл с другим файлом...", "action-merge-file": "Объединить весь файл с...", "label-no-files": "Файлы не найдены.", "instruction-navigate": "навигация", "instruction-merge": "объединить", "instruction-create-new": "создать новый", "instruction-merge-at-top": "поместить в начало", "instruction-dismiss": "отмена", "prompt-select-file-to-merge": "Выберите файл для объединения...", "label-merge-file": "Объединение файла", "label-confirm-file-merge": "Вы уверены что хотите объединить \"{{file}}\" с \"{{destination}}\"? Файл \"{{file}}\" будет удален.", "button-merge": "Объединить", "command-split-file": "Извлечь текущее выделение...", "command-extract-heading": "Извлечь этот заголовок...", "instruction-append": "поместить в конец", "instruction-prepend": "поместить в начало", "msg-fail-to-fetch-template": "Не удалось вызвать шаблон: \"{{template}}\" не найден.", "msg-fail-to-find-heading": "Не удалось найти заголовок" }, "web-viewer": { "name": "Веб-просмотр", "history-name": "История Веб-просмотра", "desc": "Открывайте внешние ссылки на веб-страницы внутри Obsidian.", "action-open": "Открыть веб-просмотр", "action-show-history": "Показать историю", "action-toggle-reader-mode": "Переключение режима чтения", "action-copy-u-r-l": "Скопировать URL", "action-remove-from-history": "Удалить из истории", "action-clear-history": "Очистить историю", "action-open-link": "Открыть ссылку", "action-open-link-new-tab": "Открыть ссылку в новой вкладке", "action-open-link-new-split": "Открыть ссылку справа", "action-open-link-new-window": "Открыть ссылку в новом окне", "action-open-link-default-browser": "Открыть ссылку в браузере по умолчанию", "action-open-link-web-viewer": "Открыть ссылку в веб-просмотре", "action-copy-link-address": "Скопировать адрес ссылки", "action-bookmark-link": "Ссылка на закладку", "action-search-for-query": "Искать “{{query}}”", "action-extract-selection": "Создать новую заметку и добавить выделенное", "action-copy-selection": "Копировать", "action-cut": "Вырезать", "action-paste": "вставить", "action-delete": "Удалить", "action-select-all": "Выделить все", "action-save-to-vault": "Сохранить в хранилище", "action-save-image": "Сохранить изображение в хранилище", "action-copy-image": "Копировать изображение", "action-copy-image-link": "Скопировать ссылку на изображение", "action-backward": "Назад", "action-forward": "Вперёд", "action-reload": "Перезагрузить", "action-bookmark-page": "Закладки", "action-open-default-browser": "Открыть в браузере по умолчанию", "action-focus-address-bar": "Перейти к адресной строке", "action-search-the-web": "Поиск в Интернете", "action-clear-data": "Очистить данные", "action-clear-data-cookies": "Файлы Cookie", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Кэшированные данные", "action-clear-data-history": "История", "action-clear-data-all": "Все данные веб-просмотра", "action-clear-data-all-desc": "Удаляет всё вышеперечисленное, а также локальное хранилище и активные сеансы.", "label-new-web-viewer": "Новый веб-просмотр", "label-fail-to-load": "Не удаётся загрузить этот сайт.", "label-fail-to-load-desc": "Пожалуйста, убедитесь, что введён правильный адрес.", "label-search-the-web": "Поиск в Интернете", "label-web-viewer-data": "Данные веб-просмотра", "label-clear-data": "Очистить данные веб-просмотра", "option-open-external-links": "Открывать внешние ссылки", "option-open-external-links-desc": "Открывайте ссылки в Obsidian, а не в браузере по умолчанию.", "option-homepage": "Домашняя страница", "option-homepage-desc": "Какую страницу открывать при открытии веб-просмотра", "option-saved-markdown": "Папка с сохранённой страницей", "option-saved-markdown-desc": "Веб-сайты, сохранённые как markdown, будут размещены здесь.", "option-search-engine": "Поисковая система", "option-search-engine-desc": "Поисковая система, используемая при поиске из адресной строки.", "option-search-engine-custom": "Пользовательская поисковая система", "option-search-engine-custom-desc": "Используйте %s вместо запроса.", "option-search-engine-custom-drop-down": "Пользовательская", "option-enable-adblock": "Включить блокировщик рекламы", "option-enable-adblock-desc": "Если этот параметр включен, приведенные ниже списки фильтров будут применены ко всем вкладкам веб-просмотра.", "option-adblock-lists": "Правила блокировки рекламы", "option-adblock-lists-desc": "Один URL-адрес из списка запрещенной рекламы в строке. Общий для всех хранилищ.", "option-adblock-frequency": "Частота обновления блокировщика рекламы", "option-adblock-frequency-desc": "Дней между обновлениями списков фильтров. 0 означает отключение. Общий доступ для всех хранилищ.", "title-clear-data-modal": "Очистить данные веб-просмотра", "msg-error-extracting-content": "Невыявленная ошибка при извлечении содержимого.", "msg-error-finding-content": "Не удаётся найти содержимое для извлечения." }, "canvas": { "name": "Холст", "desc": "Упорядочивайте и соединяйте заметки на бесконечном холсте.", "action-add-note": "Добавить заметку из хранилища", "action-add-media": "Добавить медиафайл из хранилища", "action-add-card": "Добавить карточку", "action-add-website": "Добавить веб-страницу", "action-create-group": "Создать группу", "action-create-with-size": "Создать карточку с определенным размером", "action-convert-to-file": "Конвертировать в заметку...", "action-drag-to-add-note": "Перетащить, чтобы добавить заметку из хранилища", "action-drag-to-add-media": "Перетащить, чтобы добавить медиафайл из хранилища", "action-drag-to-add-card": "Перетащить, чтобы добавить карточку", "action-edit-label": "Редактировать подпись", "action-remove-label": "Убрать подпись", "action-search-file": "Поиск файла", "action-set-color": "Задать цвет", "action-align": "Выровнять", "action-align-left": "Выровнять по левому краю", "action-align-center": "Выровнять по центру", "action-align-right": "Выровнять по правому краю", "action-align-top": "Выровнять по верхнему краю", "action-align-middle": "Выровнять по середине", "action-align-bottom": "Выровнять по нижнему краю", "action-distribute-horizontal-spacing": "Выровнять интервалы по горизонтали", "action-distribute-vertical-spacing": "Выровнять интервалы по вертикали", "action-justify-horizontally": "Выровнять по горизонтали", "action-justify-vertically": "Выровнять по вертикали", "action-arrange-horizontally": "Распределить по горизонтали", "action-arrange-vertically": "Распределить по вертикали", "action-arrange-grid": "Распределить по сетке", "action-export-png": "Экспорт в изображение", "action-jump-to-group": "Перейти к группе", "action-set-background": "Установить фон", "action-edit-background": "Редактировать фон", "action-replace-background": "Заменить фон", "action-remove-background": "Удалить фон", "label-no-images": "Изображения не найдены.", "label-no-media": "медиафайлы найдены.", "label-export-png-desc": "Экспорт \"{{title}}\" в PNG-файл со следующими параметрами:", "label-export-png-dimensions": "Расчетные размеры изображения: {{dimensions}}", "label-distribute": "Выровнять", "label-justify": "Выровнять", "label-arrange": "Распределить", "label-always": "Всегда", "label-hover": "При наведении", "label-never": "Никогда", "label-no-section-found": "Блок не найден", "option-wheel-behavior": "Поведение колесика мыши по умолчанию", "option-mod-drag-behavior": "Поведение {{key}} по умолчанию", "option-show-menu": "Показать меню", "option-new-canvas-location": "Место для файлов с холстами по умолчанию", "option-new-canvas-location-description": "Куда будут добавляться новые файлы с холстами.", "option-new-canvas-folder-path": "Путь к папке для файлов с холстами", "option-new-canvas-folder-path-description": "Новые файлы с холстами будут сохраняться в этой папке.", "option-node-label": "Отображать подпись к карточке", "option-snap-to-grid": "Привязка к сетке", "option-snap-to-grid-desc": "Привязка карточек к фоновой сетке при перемещении и изменении размера.", "option-snap-to-objects": "Привязка к объектам", "option-snap-to-objects-desc": "Привязка карточек к близлежащим объектам при перемещении и изменении размера.", "option-zoom-breakpoint": "Порог масштабирования для скрытия содержимого карты", "option-zoom-breakpoint-desc": "Более низкие значения повышают производительность, но при уменьшении масштаба содержимое карточки скрывается раньше.", "option-export-png-show-logo": "Отображать лого", "option-export-png-show-logo-desc": "Добавить логотип Obsidian в левый нижний угол.", "option-export-png-privacy-mode": "Режим конфиденциальности", "option-export-png-privacy-mode-desc": "Скрывает любой текст на вашем холсте.", "option-export-png-zoom": "Масштабирование", "option-export-png-zoom-desc": "При большем увеличении будет создано изображение с более высоким разрешением.", "option-export-png-frame": "Область просмотра", "option-export-png-frame-desc": "Выберите для вывода весь холст или только видимую область просмотра.", "option-export-png-frame-full": "Весь холст", "option-export-png-frame-viewport": "Область просмотра", "option-background-cover": "Растянуть", "option-background-ratio": "Сохранить пропорции", "option-background-repeat": "Замостить", "action-new-canvas": "Новый холст", "action-remove": "Убрать", "action-narrow-heading": "Сузить до заголовка...", "action-narrow-block": "Сузить до блока...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Заменить файл...", "action-change-url": "Изменить ссылку...", "action-zoom-to-fit": "Вписать все объекты в экран", "action-zoom-to-selection": "Масштабировать выделенное", "action-reload-page": "Перезагрузить страницу", "action-follow-connection": "Следовать за соединением", "command-create-new-canvas": "Создать новый холст", "command-convert-to-file": "Конвертировать в файл...", "instruction-narrow-heading": "выбрать заголовок", "instruction-narrow-block": "выбрать блок", "instruction-jump-to-group": "перейти к группе", "prompt-to-narrow": "Введите имя блока", "label-enter-url": "Введите ссылку", "label-empty-embed": "\"{{linktext}}\" не может быть найдена.", "prompt-add-text": "Добавить текст...", "prompt-start-search": "Введите поисковый запрос...", "label-canvas-help": "Справка", "label-canvas-settings": "Настройки холста", "label-no-narrow": "Показать весь файл", "label-show-default-view": "Show default view", "label-readonly": "Только для чтения", "label-disable-readonly": "Отключить только для чтения", "label-pan": "Позиционировать по вертикали", "label-pan-horizontal": "Позиционировать по горизонтали", "label-zoom": "Масштабировать", "label-select-all": "Выбрать все объекты", "label-add-remove-selection": "Добавить/снять выделение", "label-clone-card": "Скопировать карточку", "label-constrain-movement-axis": "Перемещать по направлениям", "label-disable-drag-snapping": "Отключить привязку при перетаскивании", "label-remove-card": "Убрать карточку", "label-drag-from-below": "Перетащите снизу или дважды щелкните", "label-longpress": "Нажмите и удерживайте, чтобы добавить / переместить / выбрать", "label-drag-pan": "Перетаскивайте для позиционирования", "label-pinch-zoom": "Разведите пальцы для масштабирования", "label-space-drag-pan": "Пробел + перетаскивание для позиционирования", "label-scroll-to-zoom": "Прокрутка для масштабирования", "label-untitled-group": "Группа без названия", "label-line-direction": "Направление линии", "label-nondirectional": "Ненаправленная", "label-unidirectional": "Однонаправленная", "label-bidirectional": "Двунаправленная", "label-image": "Изображение", "label-style": "Стиль", "msg-no-groups-found": "Группы не найдены", "msg-export-failed-empty-canvas": "Невозможно экспортировать пустой холст", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Базы даннных", "desc": "Создавайте базы данных, запрашивая свойства заметок.", "action-new-base": "Создать базу даннных", "action-add-property": "Добавить свойство", "action-add-formula": "Add formula", "action-hide-all": "Скрыть все", "action-toggle-visibility": "Показать или скрыть свойства", "action-delete-property": "Удалить свойство", "action-duplicate-view": "Дублировать представление", "action-delete-view": "Удалить представление", "action-export-c-s-v": "Export CSV...", "command-create-new": "Создать новую базу", "command-insert-new": "Вставить новую базу", "command-copy-table": "Скопировать таблицу в буфер обмена", "command-change-view": "Изменить представление", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Вычисляемые свойства", "label-property-type": "Тип свойства", "label-hide-property": "Скрыть свойство", "label-show-property": "Показать свойство", "label-edit-property": "Редактировать свойство", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Настройка представления", "label-view-layout": "Расположение", "label-global-filters": "Глобальные фильтры", "label-view-filters": "Фильтры представления", "label-view-name": "Название представления", "label-default-view": "представление", "label-view-type-table": "Таблица", "label-display-name": "Display name", "label-formula": "Формула", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "Где", "label-or": "или", "label-and": "и", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "В формуле обнаружен бесконечный цикл", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Расширенный фильтр", "tooltip-filter-simple-mode": "Простой фильтр", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Скрыть столбец", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Выделить все", "action-match-diacritics": "Учитывать диакритические знаки", "action-whole-words": "Целые слова", "action-show-thumbnails": "Миниатюры", "action-show-outline": "Содержание", "action-reveal-in-outline": "Показать страницу в содержании", "action-toggle-sidebar": "Свернуть/развернуть боковую панель", "action-previous-page": "Предыдущая страница", "action-next-page": "Следующая страница", "action-fit-width": "Подогнать по ширине", "action-fit-height": "Подогнать по высоте", "action-save-p-d-f-location": "Сохранить текущую позицию в документе", "action-copy-annotation": "Скопировать аннотацию", "action-copy-quote": "Скопировать как цитату", "action-copy-selection-link": "Скопировать ссылку на выделенное", "action-copy-annot-link": "Скопировать ссылку на аннотацию", "action-copy-section-link": "Скопировать ссылку на раздел", "action-copy-section-link-title": "Скопировать ссылку на “{{title}}”", "action-copy-page-link": "Скопировать ссылку на страницу {{page}}", "msg-max-search-results": "{{current}} из более чем {{limit}} совпадений", "msg-search-count": "{{current}} из {{total}} совпадения", "msg-search-count_plural": "{{current}} из {{total}} совпадений", "msg-password-protected": "Этот PDF файл защищён паролем", "msg-invalid-password": "Неверный пароль", "msg-enter-password": "Введите пароль ниже", "label-of-pages": "из {{count}}", "label-page-of-pages": "({{current}} из {{count}})", "label-spread-single": "Одна страница", "label-spread-odd": "Две страницы (нечётные)", "label-spread-even": "Две страницы (чётные)", "tooltip-sidebar-options": "Параметры боковой панели", "tooltip-display-options": "Параметры отображения", "label-adapt-to-theme": "Адаптировать к теме", "label-page": "страница {{page}}", "page_landmark": "Страница {{page}}", "thumb_page_title": "Страница {{page}}", "thumb_page_canvas": "Страница {{page}}", "text_annotation_type": "[{{type}} Аннотация]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Список", "option-unknown": "Неизвестно", "option-text": "Текст", "option-aliases": "Псевдонимы", "option-tags": "Теги", "option-folder": "Папка", "option-file": "Файл", "option-date": "Дата", "option-datetime": "Дата и время", "option-number": "Числа", "option-checkbox": "Флажок" }, "value-suggestion": { "key-link-note": "Введите [[", "instruction-link-note": "чтобы связать заметку", "instruction-dismiss": "отменить" }, "option-property-type": "Тип свойства", "msg-empty-property-name": "Имя свойства не может быть пустым.", "msg-duplicate-property-name": "Свойство уже существует", "msg-invalid-tag": "Недопустимое название тега", "msg-invalid-number": "Недопустимое число", "msg-invalid-properties": "Не удалось прочитать свойства.", "label-no-value": "Нет значения", "label-heading": "Свойства", "label-invalid-heading": "Недопустимые свойства", "label-show-source": "Показать источник", "label-invalid-yaml-marker": "Ошибка в синтаксисе свойств. Заголовок YAML неверен.", "label-add-property-button": "Добавить свойство", "label-type-mismatch-warning": "Несоответствие типа, ожидалось {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Столбец", "label-row": "Строка", "action-row-after": "Добавить строку снизу", "action-column-after": "Добавить столбец справа", "action-row-before": "Добавить строку сверху", "action-row-up": "Переместить строку вверх", "action-row-down": "Переместить строку вниз", "action-column-before": "Добавить столбец слева", "action-column-left": "Переместить столбец влево", "action-column-right": "Переместить столбец вправо", "action-duplicate-row": "Продублировать строку", "action-duplicate-column": "Продублировать столбец", "action-delete-row": "Удалить строку", "action-delete-column": "Удалить столбец", "action-align-left": "Выровнять по левому краю", "action-align-center": "Выровнять по середине", "action-align-right": "Выровнять по правому краю", "action-delete-selection": "Удалить ячейки", "action-clear-selection": "Очистить ячейки", "action-sort-a-z": "Сортировка по столбцу (от А до Я)", "action-sort-z-a": "Сортировка по столбцу (от Я до А)", "label-command": "Таблица: {{command}}" }, "callout": { "option-type": "Тип выносного блока", "type": { "info": "Информация", "important": "Важно", "tip": "Подсказка", "success": "Успех", "question": "Вопрос", "warning": "Предупреждение", "quote": "Цитата", "example": "Пример", "none": "None" }, "option-other": "Другие...", "option-other-placeholder": "Введите тип выносного блока..." }, "nouns": { "count": "{{count}}", "word-with-count": "Слов: {{count}}", "word-with-count_plural": "Слов: {{count}}", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "Символов: {{count}}", "character-with-count_plural": "Символов: {{count}}", "link-with-count": "{{count}} ссылка", "link-with-count_plural": "{{count}} ссылок", "file-with-count": "{{count}} файл", "file-with-count_plural": "{{count}} файлов", "folder-with-count": "{{count}} папка", "folder-with-count_plural": "{{count}} папки", "backlink-with-count": "Обратных ссылок: {{count}}", "backlink-with-count_plural": "Обратных ссылок: {{count}}", "tabs-with-count": "{{count}} вкладка", "tabs-with-count_plural": "{{count}} вкладки", "properties-with-count": "Свойств: {{count}}", "properties-with-count_plural": "Свойств: {{count}}", "site-with-count": "сайтов: {{count}}", "site-with-count_plural": "сайтов: {{count}}", "plugin-with-count": "плагинов: {{count}}", "plugin-with-count_plural": "плагинов: {{count}}", "plugin-active-with-count": "{{count}} включены", "snippet-active-with-count": "{{count}} фрагмент", "snippet-active-with-count_plural": "{{count}} фрагментов", "theme-with-count": "тем: {{count}}", "theme-with-count_plural": "тем: {{count}}" } }{ "setting": { "options": "Možnosti", "plugin": "Plugin", "builtin-plugins": "Vstavané pluginy", "plugin-options": "Možnosti pluginov", "folder-path-example-placeholder": "Napr. priečinok 1/priečinok 2", "file-path-example-placeholder": "Napr. priečinok/poznámka", "msg-restart-required": "Na prejavenie tejto zmeny je nutný reštart.", "editor": { "name": "Editor", "section-behavior": "Správanie", "section-display": "Zobrazenie", "option-spellcheck": "Kontrola pravopisu", "option-spellcheck-description": "Zapnutie kontrolu pravopisu. V súčasnosti je podporovaná iba Angličtina (US).", "spellcheck-languages": "Jazyky kontroly pravopisu", "spellcheck-languages-description": "Zvoľte jazyky pre kontrolu pravopisu.", "spellcheck-languages-mac-description": "Natívna kontrola pravopisu automaticky rozpozná jazyk, ktorý používate v macOS.", "spellcheck-dict": "Slovník kontroly pravopisu", "spellcheck-dict-empty": "Slovník kontroly pravopisu je prázdny.", "option-show-inline-title": "Zobraziť riadkový nadpis", "option-show-inline-title-description": "Zobrazí názov súboru ako upraviteľný nadpis zarovno s obsahom súboru.", "option-readable-line-length": "Čitateľná dĺžka riadku", "option-readable-line-description": "Obmedziť maximálnu dĺžku riadku. Na obrazovku sa zmestí menej obsahu, ale dlhé odseky budú čitateľnejšie.", "option-strict-line-break": "Prísne zalomenia riadkov", "option-strict-line-break-description": "V režime náhľadu ignoruje zalomenia jednotlivých riadkov podľa špecifikácií Markdown. Túto možnosť vypnite, aby sa zlomy jedného riadku zobrazovali v náhľade.", "option-properties-in-document": "Vlastnosti v dokumente", "option-properties-in-document-description": "Vybrať zobrazenie vlastností v editore. Zvoľte \"zdroj\" aby sa vlastnosti zobrazili ako YAML.", "option-properties-hidden": "Skryté", "option-properties-visible": "Viditeľné", "option-properties-source": "Zdroj", "option-auto-pair-brackets": "Automatické párovanie zátvoriek", "option-auto-pair-brackets-description": "Automatické pridávanie párovacie (ukončovacie) zátvorky a úvodzovky.", "option-auto-pair-markdown": "Automatické párovanie Markdown syntaxe", "option-auto-pair-markdown-description": "Automaticky spáruje symboly pre tučné písmo, kurzívu, zvýraznenie, prečiarknutý text a kód.", "option-smart-indent-lists": "Inteligentné odsadzovanie zoznamov", "option-smart-indent-lists-description": "Postará sa o automatické odsadenie a očíslovanie zoznamu.", "option-fold-heading": "Zrolovateľné nadpisy", "option-fold-heading-description": "Umožňuje skryť všetko pod nadpisom.", "option-fold-indent": "Zrolovateľné odsadenie", "option-fold-indent-description": "Umožňuje skryť časť rovnakého odsadenia, napríklad zoznamy.", "option-default-new-tab-view": "Predvolené zobrazenie pre nové karty", "option-default-new-tab-view-description": "Predvolené zobrazenie, v ktorom sa otvorí nová karta Markdown.", "option-default-new-tab-view-editing": "Režim úprav", "option-default-new-tab-view-reading": "Režim čítania", "option-open-tab-in-foreground": "Otvoriť novú kartu v popredí", "option-open-tab-in-foreground-description": "Pri otvorení odkazu v novej karte, sa na ňu hneď prepne.", "option-default-editing-mode": "Predvolený režim úprav", "option-default-editing-mode-description": "Predvolený režim úprav, ktorý sa použije na nový panel.", "option-default-editing-mode-source": "Režim zdrojového kódu", "option-default-editing-mode-live-preview": "Režim živého náhľadu", "option-show-line-number": "Zobraziť čísla riadkov", "option-show-line-number-description": "Zobrazí čísla riadkov za ľavým okrajom.", "option-indentation-guide": "Zobraziť vodiace čiary odsadenia", "option-indentation-guide-description": "Zobraziť vertikálne vodiace čiary medzi odrážkami pre vizuálnu orientáciu.", "option-use-tabs": "Používať tabulátor", "option-use-tabs-description": "Používať tabulátor na odsadenie po stlačení klávesy \"Tab\". Ak chcete použiť medzery, vypnite túto možnosť.", "option-tab-size": "Veľkosť tabulátora", "option-tab-size-description": "Počet medzier, ktoré sú ekvivalentné jednému tabulátoru.", "option-rtl": "Zprava doľava (RTL)", "option-rtl-description": "Nastavenie smeru textu poznámok na zobrazenie zprava doľava.", "option-auto-convert-html": "Automaticky konvertovať HTML", "option-auto-convert-html-description": "Automatická konverzia HTML na Markdown pri vložení a pretiahnutí z webových stránok. Použite Ctrl/Cmd+Shift+V pre vloženie bez konverzie.", "option-vim-key-bindings": "Klávesové skratky Vim", "option-vim-key-bindings-description": "Umožňuje používať klávesové skratky Vim v režime zdrojového kódu.", "option-vim-key-bindings-mobile": "Na mobilných zariadeniach je táto možnosť určená pre jednotlivé zariadenia a nie je synchronizovaná cez konfiguračný súbor.", "option-reindex-vault": "Obnoviť vyrovnávaciu pamäť trezoru", "option-reindex-vault-description": "Obnovenie vyrovnávacej pamäti môže trvať niekoľko sekúnd až minút v závislosti na veľkosti vášho trezoru.", "label-reindex": "Obnoviť", "label-confirm-enable-vim": "Potvrdiť zapnutie režimu Vim", "label-vim-warning": "Režim Vim je určený pre efektívne upravovanie textu, ale pre neskúsených užívateľov môže byť neintuitívny. Ak Vim nepoznáte, táto možnosť môže spôsobiť, že Obsidian nebudete vedieť používať.", "label-vim-test": "Pre overenie, že ovládate Vim, zadajte nižšie príkaz na ukončenie Vim bez uloženia zmien:", "label-vim-your-answer": "Vaša odpoveď", "placeholder-enter-command": "Zadajte príkaz...", "button-confirm-enable-vim": "Zapnúť režim Vim", "msg-vim-mode-enabled": "Príkaz je správny. Režim Vim je teraz zapnutý.", "msg-vim-mode-not-enabled": "Príkaz je nesprávny. Režim Vim zostáva pre vašu ochranu vypnutý.", "msg-vim-mode-please-enter-command": "Zadajte prosím príkaz na zapnutie režimu Vim" }, "file": { "name": "Súbory a odkazy", "option-confirm-file-deletion": "Potvrdiť odstránenie súboru", "option-confirm-file-deletion-description": "Chcete zobrazovať upozornenie pred odstránením súboru?", "option-delete-destination": "Odstránené súbory", "option-delete-destination-description": "Čo urobiť s odstránenými súbormi?", "option-choice-system-trash": "Presunúť do systémového koša", "option-choice-vault-trash": "Presunúť do koša aplikácie Obsidian (.trash priečinok)", "option-choice-permanent-delete": "Permanentné odstránenie", "option-always-update-links": "Vždy aktualizovať interné odkazy", "option-always-update-links-description": "Automaticky aktualizovať odkazy po premenovaní súboru alebo príkazu.", "option-new-note-location": "Predvolené umiestnenie novej poznámky", "option-new-note-location-description": "Špecifikujte kde sa majú vytvárať nové poznámky? Nastavenia iných pluginov toto natavenie prepíšu.", "option-choice-vault-root": "Koreňový adresár trezoru", "option-choice-current-folder": "Rovnaký priečinok v akom je aktuálny súbor", "option-choice-specified-folder": "V priečinku uvedenom nižšie", "option-new-file-folder-path": "Priečinok pre vytváranie nových poznámok", "option-new-file-folder-path-description": "Novo vytvorené poznámky sa budú vytvárať pod týmto priečinkom. Nastavenia iných pluginov toto nastavenie prepíšu", "option-use-wiki-links": "Používať [[Wiki-odkaz]]", "option-use-wiki-links-description": "Automaticky generovať Wiki-odkaz pre [[links]] a ![[images]] namiesto Markdown odkazy a obrázkov. Deaktivujte túto možnosť, pre vytváranie Markdown odkazov.", "option-show-unsupported-files": "Rozpoznávať všetky typy súborov", "option-show-unsupported-files-description": "Zobrazovať súbory s akoukoľvek príponou, aj tie ktoré nevie Obsidian otvoriť, aby ste mohli na ne odkazovať a zobraziť ich v Prieskumníkovi, alebo v Rýchlom prepínači.", "option-link-autocompleted-format": "Formát automaticky generovaných odkazov", "option-link-autocompleted-format-description": "Formát automaticky generovaných interných odkazov.", "option-choice-shortest-linktext": "Najkratšia možná cesta", "option-choice-relative-path": "Relatívna cesta k súboru", "option-choice-absolute-path": "Absolútna cesta k súboru", "option-new-attachment-location": "Predvolené umiestnenie pre nové prílohy", "option-new-attachment-location-description": "Kde sa umiestňujú novo pridané prílohy.", "option-new-attachment-location-default": "prílohy", "option-choice-subdirectory": "V podpriečinku pod aktuálnym priečinkom", "option-attachment-folder-path": "Umiestnenie priečinku s prílohami", "option-attachment-folder-path-description": "Novo vytvorené prílohy sa presunú sem. Medzi prílohy patria vložené obrázky a audio nahrávky.", "option-attachment-subfolder-path": "Názov podpriečinku", "option-attachment-subfolder-path-description": "Pokiaľ je váš súbor v \"trezor/priečinok\", a názov podpriečinoku nastavíte na \"prílohy\", tak sa prílohy budú ukladať do \"trezor/priečinok/prílohy\".", "option-excluded-files": "Vylúčené súbory", "option-excluded-files-desc": "Vylúčené súbory budú buď skryté, alebo menej viditeľné na rôznych miestach, ako napríklad Rýchly prepínač, návrhy odkazov, a zobrazenie grafu.", "label-no-excluded-filters-applied": "Žiadny filter vylúčených súborov nie je aktuálne použitý. Pridáte ho nižšie.", "label-excluded-filters-applied": "Súbory zodpovedajúce nasledujúcim filtrom sú aktuálne vylúčené:", "label-excluded-filter": "Filter", "message-empty-filter": "Filter nemôže byť prázdny", "placeholder-excluded-filter": "Zadajte cestu, alebo \"/regulárny výraz (regex)/\"...", "option-uri-callbacks": "Povoliť URI callbacky", "option-uri-callbacks-desc": "Povoľuje použitie x-callback-url cez x-success alebo x-error pri spracovaní URI Obsidianu." }, "appearance": { "name": "Vzhľad", "option-base-theme": "Základná téma", "option-base-theme-description": "Vyberte predvolenú farebnú tému pre Obsidian.", "option-accent-color": "Farba akcentu", "option-accent-color-description": "Vyberte farbu akcentu, ktorá sa bude používať v aplikácií.", "dark-theme": "Tmavá", "light-theme": "Svetlá", "system-theme": "Prispôsobiť systému", "option-font": "Písmo", "option-advanced": "Pokročilé", "option-interface": "Rozhranie", "option-interface-font": "Písmo používateľského rozhrania", "option-interface-font-description": "Nastavenie základného písma pre všetky texty v aplikácií.", "option-zoom-level": "Veľkosť priblíženia", "option-zoom-level-description": "Ovládanie celkového priblíženia aplikácie.", "option-text-font": "Písmo textu", "option-text-font-description": "Nastavenie písma pre režim úprav a režim čítania.", "option-monospace-font": "Monospace písmo", "option-monospace-font-description": "Nastavenie písma pre režim zdrojového kódu a frontmatter.", "label-single-font-currently-in-effect": " Aktuálne písmo: ", "label-multiple-fonts-currently-in-effect": " Tieto písma sú práve používané:", "option-font-placeholder": "Zadajte názov písma...", "label-no-custom-font-set": "Práve sa nepoužíva žiadne vlastné písmo. Vyberte písmo, ktoré chcete použiť.", "label-font-applied": "Bude použité prvé písmo z tohto zoznamu, ktoré je v systéme k dispozícií.", "msg-font-not-found": "Toto písmo vo vašom systéme nie je dostupné.", "msg-font-found": "Toto písmo vo vašom systéme je dostupné.", "label-font-name": "Názov písma", "option-community-themes": "Otvoriť komunitné témy", "option-community-themes-description": "Preskúmajte úžasné témy vytvorené komunitou.", "button-browse-community-themes": "Prehľadávať", "option-font-size": "Veľkosť písma", "option-font-size-description": "Veľkosť písma v pixeloch, pre editor a náhľad.", "option-font-size-action": "Rýchla zmena veľkosti písma", "option-font-size-action-description": "Upraviť veľkosť písma pomocou Ctrl + Koliesko myši, alebo použitím gesta na touchpade.", "option-themes": "Témy", "option-manage-themes-description": "Spravovať nainštalované a prehliadať komunitné témy.", "option-theme-button-manage": "Spravovať", "option-choice-none": "Žiadne", "option-native-menus": "Predvolené menu", "option-native-menus-desc": "Menu v aplikácii sa bude zhodovať s operačným systémom. Menu nebude ovplyvnené témou.", "button-reload-themes": "Znovu načítať témy", "msg-reloaded-themes": "Znovu načítať vlastné CSS témy.", "button-open-themes-folder": "Otvoriť priečinok s témami", "option-css-snippets": "CSS snippety", "label-no-css-snippets-found": "Žiadne CSS snippety nájdené v priečinku snippetov.", "no-snippet-description": "CSS snippety sú uložené v \"{{path}}\".", "button-reload-snippets": "Znovu načítať snippety", "button-open-snippets-folder": "Otvoriť priečinok so snippetmi", "msg-reloaded-snippets": "Znovu načítané CSS snippety.", "option-toggle-snippet-description": "Použi CSS snippet na \"{{path}}\".", "label-installed-themes": "Nainštalované témy", "label-screenshot-unavailable": "Snímok obrazovky nedostupný", "label-default-theme": "Základná", "tooltip-click-to-enlarge": "Klikni pre zväčšenie", "button-update": "Aktualizovať", "label-currently-active": "Aktívna", "option-frame-style": "Štýl rámčeku", "option-frame-description": "Určuje štýl nadpisov okien Obsidianu. Pre aplikovanie zmien je potrebný úplný reštart aplikácie.", "option-frame-hidden": "Skryté (predvolené)", "option-frame-obsidian": "Obsidian rámček", "option-frame-native": "Predvolený rámček", "option-custom-icon": "Vlastná ikona aplikácie", "option-custom-icon-desc": "Nastavenie vlastnej ikony aplikácie", "button-choose-custom-icon": "Vyberte vlastnú ikonu", "option-configure-ribbon": "Panel nástrojov", "option-configure-ribbon-desc": "Nastavenie príkazov, zobrazených v paneli nástrojov v navigačnom paneli.", "option-mobile-quick-ribbon-item": "Položka s rýchlym prístupom v paneli nástrojov", "option-mobile-quick-ribbon-item-desc": "Kliknutím na položku v paneli nástrojov aktivujete danú položku. Kliknutím a podržaním bude panel stále zobrazovaný.", "option-mobile-quick-ribbon-default": "Otvoriť panel nástrojov", "button-configure": "Konfigurovať", "option-show-ribbon": "Zobraziť panel nástrojov", "option-show-ribbon-desc": "Zobrazovať vertikálny panel nástrojov na kraji okna.", "label-additional-ribbon-items": "Ďalšie položky panelu nástrojov", "label-modal-configuration": "Konfigurácia panelu nástrojov", "label-modal-configuration-desc": "Vyberte položky, ktoré chcete, aby boli aktívne v paneli nástrojov. Potiahnutím a pustením zmeníte ich poradie.", "option-show-view-header": "Zobraziť nadpis karty", "option-show-view-header-desc": "Zobrazovať nadpis na vrchu každej karty.", "msg-updates-found": "Nájdená {{count}} téma na aktualizáciu.", "msg-updates-found_plural": "Nájdené(ých) {{count}} témy(m) na aktualizáciu.", "button-check-for-updates": "Skontrolovať aktualizácie", "button-view-updates": "Zobraziť aktualizácie", "button-update-all-themes": "Aktualizovať všetky témy", "label-current-themes": "Aktuálne komunitné témy", "label-currently-installed": "Aktuálne máte nainštalovanú {{count}} tému.", "label-currently-installed_plural": "Aktuálne máte nainštalované(ých) {{count}} témy(m)." }, "hotkeys": { "name": "Klávesové skratky", "option-search": "Vyhľadať klávesové skratky", "option-search-desc": "Zobrazená {{count}} klávesovej skratky.", "option-search-desc_plural": "Zobrazené(ých) {{count}} klávesové(ých) skratky(iek).", "option-search-conflict": "{{count}} príkaz s konfliktom.", "option-search-conflict_plural": "{{count}} príkazy(ov) s konfliktmi.", "prompt-filter": "Filtrovať...", "tooltip-delete-hotkey": "Odstrániť klávesovú skratku", "label-waiting-for-hotkey-press": "Stlačte klávesovú skratku...", "label-show-all": "Všetko", "label-show-unassigned": "Nepriradené", "label-show-assigned": "Priradené", "label-show-user-assigned": "Priradené mnou", "tooltip-restore-default": "Obnoviť predvolené", "tooltip-customize-command": "Prispôsobiť tento príkaz", "tooltip-hotkey-single-conflict": "Táto klávesová skratka je v konflikte s \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Táto klávesová skratka je v konflikte s {{count}} ďalšími príkazmi", "label-blank-hotkey": "Žiadna" }, "about": { "name": "Všeobecné", "label-commercial-license": "Komerčná licencia", "label-license-key": "Licenčný kľúč", "license-key-placeholder": "Váš licenčný kľúč...", "label-activate-license": "Aktivovať licenciu", "button-activate": "Aktivovať", "label-unknown-version": "Neznáma", "label-current-version": "Aktuálna verzia: ", "label-install-version": "(Verzia inštalátoru: {{version}})", "label-up-to-date": "Vaša aplikácia je aktuálna!", "label-read-changelog": "Prečítať zoznam zmien.", "label-manual-update-required": "Pre získanie najnovších funkcií a aktuálnych bezpečnostných opráv je nutné stiahnuť nový inštalátor aplikácie. Je nutné manuálne stiahnuť a nainštalovať novú verziu aplikácie Obsidian.", "label-new-version-ready": "Nová verzia je pripravená na inštaláciu. ", "label-disabled-updates": "Aktualizácie sú vypnuté.", "button-relaunch": "Reštartovať", "button-check-for-updates": "Vyhľadať aktualizácie", "option-auto-update": "Automatické aktualizácie", "option-auto-update-description": "Vypnite ak nechcete, aby si aplikácia sama vyhľadávala aktualizácie.", "option-check-slow-startup": "Upozorniť ak spustenie trvá príliš dlho", "option-check-slow-startup-description": "Diagnostikujte problémy s aplikáciou tak, že zistíte čo spôsobuje dlhé načítanie aplikácie.", "button-check-startup": "Skontrolovať", "option-get-help": "Nápoveda", "option-get-help-description": "Potrebujem pomôcť s používaním Obsidianu.", "button-open": "Otvoriť", "option-language": "Jazyk", "option-language-description": "Zmena zobrazovaného jazyka.", "option-insider-build": "Dostávať insider buildy", "option-insider-build-description": "Automatická aktualizácia insider buildov pre vyskúšanie najnovších funkcií. Varujeme, že tieto buildy obsahujú najnovšie vylepšenia, ktoré môžu byť nestabilné.", "option-advanced": "Rozšírené", "option-hw-acceleration": "Hardvérová akcelerácia", "option-hw-acceleration-description": "Zapnutie hardvérovej akcelerácie, ktorá používa GPU pre plynulejší chod aplikácie Obsidian.", "option-hw-acceleration-warning": "Vypnutím výkon aplikácie poklesne.", "option-config-location": "Prepísanie priečinka konfigurácie", "option-config-location-description": "Použite iný konfiguračný priečinok ako je predvolený. Priečinok musí začínať bodkou.", "option-config-location-warning": "Umiestnenie konfigurácie musí mať platný názov priečinka, ktorý začína bodkou.", "label-license": "Licencia", "label-your-commercial-license-key": "Kľúč vašej komerčnej licencie je \"{{key}}\".", "label-commercial-license-info": "Registrované \"{{company}}\" pre {{seats}} používateľov. Platné do {{expiry}}.", "label-validating-commercial-license": "Overovanie...", "label-invalid-commercial-license": "Licencia je neplatná: ", "button-remove-commercial-license": "Odobrať", "option-catalyst": "Licencia Catalyst", "option-catalyst-desc": "Aktuálne máte aktívnu Catalyst licenciu {{tier}}. Ďakujeme za podporu!", "option-catalyst-desc-no-license": "Aktuálne nemáte aktívnu Catalyst licenciu. Kúpou Catalyst licencie jednorázovo podporíte vývoj aplikácie Obsidian.", "label-app": "Aplikácia", "label-add-own-language": "Pozrite sa ako pridať váš jazyk do Obsidianu." }, "account": { "name": "Účet", "option-your-account": "Váš účet", "option-your-account-desc": "Prihlásený ako {{name}} ({{email}}).", "option-your-account-desc-no-login": "Nie ste prihlásený. Účet je potrebný pre Obsidian sync, Obsidian Publish, a Catalyst insider buildy.", "label-insider": "insider", "label-supporter": "podporovateľ", "label-vip": "VIP", "button-upgrade-catalyst": "Vylepšiť", "option-commercial-license": "Komerčná licencia", "option-commercial-license-desc": "Ak používate Obsidian pre komerčné použitie, musíte si kúpiť komerčnú licenciu.", "button-purchase": "Kúpiť", "button-log-out": "Odhlásiť", "label-log-in": "Prihlásiť", "label-sign-up": "Registrovať", "label-email": "Email", "placeholder-email": "Váš email...", "label-name": "Meno", "label-password": "Heslo", "placeholder-password": "Vaše heslo...", "label-forgot-password": "Zabudli ste heslo?", "button-login": "Prihlásiť", "message-empty-email": "Email nesmie byť prázdny.", "message-invalid-email": "Email je nesprávny.", "message-empty-password": "Heslo nesmie byť prázdne.", "message-login-failed": "Prihlásenie zlyhalo, prosím skontrolujte váš email a heslo.", "message-signup-failed": "Registrácia zlyhala", "label-no-account": "Nemáte účet? ", "link-sign-up-now": "Zaregistrujte sa", "label-mfa-code": "6-ciferný 2FA kód", "mfa-wrong-format": "2FA kód musí byť 6 miestny.", "mfa-verification-failed": "2FA kód je nesprávny, prosím skontrolujte aplikáciu autentifikátora." }, "core-plugin": { "plugin-list": "Zoznam pluginov", "option-search-plugin": "Hľadať základné pluginy", "option-search-plugin-description": "Filtrovať pluginy podľa názvu alebo popisu.", "placeholder-search-plugin": "Hľadať pluginy..." }, "third-party-plugin": { "name": "Pluginy tretích strán", "option-restricted-mode": "Obmedzený režim", "option-restricted-mode-description": "Obmedzený režim je vypnutý. Zapnutím zakážete komunitné pluginy.", "button-turn-on": "Zapnúť", "option-browse-community-plugins": "Komunitné pluginy", "option-browse-community-plugins-description": "Prechádzajte a inštalujte pluginy tretích strán vytvorené našou super komunitou.", "button-browse": "Prehľadávať", "label-exit-restricted-mode": "Ukončiť obmedzený režim", "label-exit-restricted-mode-description-1": "Komunitné pluginy, rovnako ako akýkoľvek iný softvér, môžu potenciálne spôsobiť problémy so stratou a zabezpečením dát.", "label-exit-restricted-mode-description-2": "Zabezpečenie pluginov je pre nás dôležité. Zoznam kritérií, ktorými musí prejsť každý plugin:", "label-exit-restricted-mode-description-3": "Napriek nášmu úsiliu stále existuje malá pravdepodobnosť, že komunitný plugin bude chybný.", "label-code-review": "Prvotná revízia kódu", "label-code-review-desc": "Skôr ako sa pluginy objavia v ponuke, prejdú úvodnou kontrolou našim tímom.", "label-open-source": "Otvorený zdrojový kód", "label-open-source-desc": "Väčšina pluginov má otvorený zdrojový kód na Githube, takže si ho môžete skontrolovať.", "label-peer-audit": "Vzájomný audit", "label-peer-audit-desc": "Máme veľkú komunitu vývojárov, ktorí na seba navzájom dohliadajú.", "label-report-mechanism": "Mechanizmus nahlásenia", "label-report-mechanism-desc": "Chybné pluginy sledujeme a odstraňujeme na základe nahlásení od používateľov.", "label-exit-restricted-mode-disable-confirmation": "Chcete ukončiť obmedzený režim a povoliť komunitné pluginy? Odporúčame najprv zálohovať svoje dáta.", "label-learn-more": "Ďalšie informácie o zabezpečení pluginov", "button-turn-on-community-plugins": "Zapnúť komunitné pluginy", "label-trust-author": "Veríte autorovi tohto trezoru?", "label-trust-author-description-1": "Trezor, ktorý otvárate po prvýkrát, obsahuje niektoré pluginy.", "label-trust-author-description-2": "Ak ste tento trezor dostali od niekoho iného, pamätajte, že niektoré pluginy neznámeho pôvodu môžu predstavovať bezpečnostné riziko.", "label-trust-author-description-3": "Ak autorovi tohto trezoru plne nedôverujete, odporúčame zostať v obmedzenom režime, aby pluginy v tomto trezore zostali vypnuté.", "button-enable-plugins": "Dôverovať autorovi a povoliť pluginy", "button-dont-trust-author": "Prehliadať trezor v obmedzenom režime", "placeholder-community-plugins": "Hľadať komunitné pluginy...", "msg-failed-load-plugins": "Načítavanie komunitných pluginov zlyhalo.", "label-installed": "Nainštalované", "button-install": "Inštalovať", "button-enable": "Zapnúť", "button-disable": "Vypnúť", "button-copy-share-link": "Kopírovať odkaz", "button-donate": "Prispieť", "label-no-results-found": "Žiadne výsledky hľadania.", "label-no-recent-files-found": "Nedávne súbory neboli nájdené. Píšte pre spustenie hľadania...", "msg-failed-to-load-manifest": "Nepodarilo sa načítať manifest pluginov.", "label-version": "Verzia: {{version}}", "label-currently-installed-version": " (aktuálne nainštalovaná: {{version}})", "label-by-author": "Autor ", "label-repository": "Repozitár: ", "label-last-update": "Posledná aktualizácia: ", "tooltip-view-last-update": "Zobraziť najnovšiu aktualizáciu", "label-unsupported": "Tento plugin vaše zariadenie nepodporuje.", "button-update": "Aktualizovať", "label-no-readme": "Tento plugin neposkytol README súbor.", "msg-installing-plugin": "Inštaluje sa plugin \"{{name}}\"...", "msg-failed-to-install-plugin": "Plugin \"{{name}}\" sa nepodarilo nainštalovať.", "msg-successfully-installed-plugin": "Plugin \"{{name}}\" bol úspešne nainštalovaný.", "label-installed-plugins": "Nainštalované pluginy", "button-reload-plugins": "Znovu načítať pluginy", "msg-reloaded-third-party-plugins": "Pluginy tretích strán boli znovu načítané.", "label-uninstall": "Odinštalovať", "label-uninstall-plugin": "Odinštalovať plugin", "label-uninstall-plugin-confirmation": "Ste si istý, že chcete odinštalovať tento plugin? Priečinok tohto pluginu bude odstránený.", "button-open-plugins-folder": "Otvoriť priečinok pluginov", "button-check-for-updates": "Skontrolovať aktualizácie", "button-update-all-plugins": "Aktualizovať všetko", "label-current-plugins": "Aktuálne pluginy", "label-currently-installed": "Aktuálne máte nainštalovaný {{count}} plugin.", "label-currently-installed_plural": "Aktuálne máte nainštalované(ých) {{count}} pluginy(ov).", "msg-no-updates-found": "Neboli nájdené žiadne aktualizácie pluginov.", "msg-updates-found": "Nájdená aktualizácia pre {{count}} plugin.", "msg-updates-found_plural": "Nájdené aktualizácie pre {{count}} pluginy(ov).", "msg-update-plugin": "Aktualizovať na verziu {{version}}", "option-search-installed-plugin": "Hľadať nainštalované pluginy", "option-search-installed-plugin-description": "Filtrovať nainštalované pluginy podľa mena alebo popisu.", "placeholder-search-installed-plugin": "Hľadať nainštalované pluginy...", "show-installed-only": "Zobraziť iba nainštalované", "label-donate-modal-title": "Prispieť na podporu {{name}}", "label-donate-modal-text1": "Vývojári pluginov sú dobrovoľníci, ktorí nadšene vytvárajú úžasné veci. Ak je pre vás tento plugin užitočný, zvážte prosím spolu-financovanie jeho vývoja.", "label-donate-modal-text2": "100% z vašich príspevkov ide vývojárom pluginov; Obsidian si neberie žiadny podiel. Platba môže obsahovať poplatok z vašej banky alebo kreditnej spoločnosti.", "label-donate-modal-text3": "Ďakujeme za vašu podporu!", "label-support-this-plugin": "Prispieť na tento plugin:", "label-search-summary": "Zobrazujem {{pluginCount}}:", "label-by-popularity": "Najsťahovanejšie", "label-by-released": "Nedávno vydané", "label-by-updated": "Nedávno aktualizované", "label-alphabetical": "Abecedne", "label-last-updated": "Aktualizované {{time}}" }, "mobile-toolbar": { "name": "Mobilný nástrojový panel", "option-configure-quick-action": "Konfigurovať rýchlu mobilnú akciu", "option-configure-quick-action-description": "Konfigurovať čo sa má stať pri ťahaní z hornej časti. Aktuálne nastavené na \"{{command}}\".", "msg-missing-quick-action": "Akcia nie je nakonfigurovaná", "button-configure": "Konfigurovať", "placeholder-select-quick-action": "Zvoliť rýchlu akciu...", "quick-action-disabled": "Žiadna", "manage-toolbar-options": "Upraviť panel nástrojov", "option-internal-link": "Pridať interný odkaz", "option-internal-embed": "Pridať embed", "option-tag": "Pridať štítok", "option-heading": "Nadpis", "option-strikethrough": "Prečiarknuť", "option-highlight": "Zvýrazniť", "option-code": "Kód", "option-blockquote": "Citácia", "option-inline-math": "Matematika v riadku", "option-math-block": "Matematika v bloku", "option-markdown-link": "Pridať Markdown odkaz", "option-bullet-list": "Odrážky", "option-numbered-list": "Číslovanie", "option-indent-list": "Odsadenie riadku", "option-unindent-list": "Zrušiť odsadenie riadku", "option-undo": "Vrátiť späť", "option-redo": "Zopakovať", "option-move-caret-up": "Presunúť vsuvku nahor", "option-move-caret-down": "Presunúť vsuvku nadol", "option-move-caret-left": "Presunúť vsuvku vľavo", "option-move-caret-right": "Presunúť vsuvku vpravo", "option-first-line": "Prejsť na prvý riadok", "option-last-line": "Prejsť na posledný riadok", "option-toggle-keyboard": "Klávesnica", "option-configure-toolbar": "Konfigurovať nástrojový panel", "option-added-options": "Pridať možnosti", "option-more-toolbar-options": "Ďalšie nastavenia panela nástrojov", "option-attach": "Vložiť prílohu", "option-add-command": "Pridať globálny príkaz", "option-add-command-description": "Vyberte globálny príkaz, ktorý chcete pridať do panelu nástrojov." } }, "editor": { "search": { "placeholder-find": "Hľadať", "placeholder-replace": "Nahradiť", "label-exit-search": "Zavrieť vyhľadávanie", "label-next": "Nasledujúci", "label-previous": "Predchádzajúci", "label-find-all": "Hľadať všetky", "label-replace": "Nahradiť", "label-replace-all": "Nahradiť všetky" }, "link-suggestion": { "label-type-hash": "Zadajte #", "label-link-heading": "pre odkaz na nadpis", "label-type-block": "Zadajte ^", "label-link-block": "pre odkaz na blok", "label-type-pipe": "Zadajte |", "label-change-display-text": "pre zmenu zobrazovaného textu", "label-no-alias": "Zobraziť text", "label-no-heading": "Nadpis", "label-no-match-found": "Nenašla sa žiadna zhoda", "label-image-size": "Veľkosť obrázku: {{size}}px široký", "label-accept": "prijať", "label-new-footnote": "Nová poznámka pod čiarou..." }, "spellcheck": { "no-suggestion": "Žiadne návrhy...", "add-to-dictionary": "Pridať do slovníka" }, "menu": { "edit-link": "Upraviť odkaz", "edit-tag": "Upraviť značku", "label-edit-block": "Upraviť blok", "label-delete-footref-and-note": "Odstrániť odkaz a poznámku pod čiarou" }, "heading-suggestion": { "label-no-heading": "Žiadny nadpis", "label-heading-level": "Nadpis {{level}}" }, "print-modal": { "title": "Exportovať do PDF", "caption": "Exportovať \"{{filename}}\" do PDF s nasledujúcimi nastaveniami.", "setting-page-size": "Veľkosť strany", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legálny", "setting-page-size-letter": "List", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Použiť názov súboru ako nadpis", "setting-landscape": "Na šírku", "setting-margin": "Okraj", "setting-margin-default": "Základný", "setting-margin-minimal": "Minimálny", "setting-margin-none": "Žiadny", "setting-downscale-percent": "Percentuálne zmenšenie", "button-export-to-pdf": "Exportovať do PDF" }, "link-popover": { "tooltip-follow-link": "Nasledovať odkaz", "tooltip-open-link": "Otvoriť odkaz", "tooltip-search-tag": "Vyhľadať štítok" } }, "interface": { "embed-cannot-find": "Nepodarilo sa nájsť:", "label-unable-to-find-section": "Nepodarilo sa nájsť “{{subpath}}” v {{file}}", "embed-open-in-default-app-tooltip": "Otvoriť v predvolenej aplikácií", "empty-sidebar": "Postranný panel je prázdny, skúste sem pretiahnuť nejaký panel.", "sidebar-expand": "Zobraziť postranný panel", "sidebar-collapse": "Skryť postranný panel", "msg-fail-to-save-file": "Súbor \"{{filepath}}\" sa nepodarilo uložiť. {{message}}.", "msg-failed-to-load-plugin": "Nepodarilo sa načítať plugin “{{plugin}}”", "msg-plugin-error": "Pri načítaní pluginu “{{plugin}}” došlo k chybe", "msg-failed-to-load-file": "Nepodarilo sa otvoriť “{{filepath}}”", "msg-failed-to-open-href": "Nie je možné otvoriť “{{href}}”", "no-file": "Žiadny súbor", "msg-file-changed": "\"{{file}}\" bol upravený externe, automatické zlúčenie zmien.", "switch-vault": "Otvoriť iný trezor", "manage-vaults": "Spravovať trezory...", "help": "Nápoveda", "settings": "Nastavenia", "drag-to-rearrange": "Pretiahnutím zmeníte usporiadanie", "msg-switched-to-read": "Predvolený režim bol prepnutý na režim čítania.", "msg-switched-to-edit": "Predvolený režim bol prepnutý na režim úprav.", "msg-upgrade-installer": "Pre použitie tejto funkcie, znovu nainštalujte Obsidian najnovším inštalátorom, ktorý je dostupný na našich stránkach.", "msg-slow-boot": "Zistil sa pomalý čas spustenia.", "msg-desktop-only-feature": "Táto funkcia je dostupná iba v desktopovej aplikácií.", "tooltip-restore-default-settings": "Obnoviť predvolené nastavenia", "label-copy": "Skopírovať do schránky", "label-copy-short": "Kopírovať", "copied_generic": "Skopírované do schránky", "copied": "{{item}} bol skopírovaný do schránky", "prompt-filter": "Filter...", "url": "URL", "msg-open-file-through-uri": "Otvorený súbor \"{{path}}\"", "msg-file-not-found-through-uri": "Súbor \"{{name}}\" nenájdený.", "delete-action-short-name": "Odstrániť", "msg-indexing": "Obsidian práve indexuje váš trezor...\nIndexovanie by sa malo vykonať len raz.\nNiektoré funkcie počas tohto procesu môžu byť nedostupné.", "msg-indexing-complete": "Indexovanie hotové.", "msg-sandbox-vault": "Toto je trezor pieskoviska.\nZmeny vykonané v tomto trezore budú stratené.", "msg-indexed-db-not-supported": "Pre túto funkciu je potrebná indexovaná databáza, ktorá je však teraz vypnutá.", "msg-indexed-db-i-o-s": "Ak používate iOS v režime blokovania, vylúčte Obsidian z nastavenia \"Konfigurovať prechádzanie webu\" v režime blokovania.", "label-enter-to-create": "Enter pre vytvorenie", "label-update-available": "Je dostupná aktualizácia", "label-debug-info": "Ladiace informácie", "button-learn-more": "Viac informácií", "button-not-now": "Teraz nie", "button-add": "Pridať", "button-manage": "Spravovať", "label-new-tab": "Nová karta", "option-hide-ribbon": "Skryť panel nástrojov", "msg-tab-busy": "Karta sa teraz používa, skúste to neskôr", "formatting": { "label-formatting": "Formátovať", "label-paragraph": "Odsek", "label-insert": "Vložiť", "insert-link": "Pridať odkaz", "insert-external-link": "Pridať externý odkaz", "insert-callout": "Popis", "insert-horizontal-rule": "Vodorovné pravítko", "insert-code-block": "Blok kódu", "insert-math-block": "Blok matematiky", "insert-table": "Tabuľka", "insert-footnote": "Poznámka pod čiarou", "toggle-bold": "Tučný", "toggle-code": "Kód", "toggle-comments": "Komentár", "toggle-highlight": "Zvýraznenie", "toggle-italics": "Kurzíva", "toggle-strikethrough": "Prečiarknutie", "toggle-math": "Matematika", "toggle-bullet-list": "Odrážky", "toggle-checklist": "Zoznam úloh", "toggle-numbered-list": "Číslovanie", "set-heading": "Nadpis {{level}}", "no-heading": "Telo", "clear": "Odstrániť formátovanie", "toggle-quote": "Citácia" }, "empty-state": { "no-file-open": "Nie je otvorený žiadny súbor", "create-new-file": "Vytvoriť nový súbor", "go-to-file": "Prejsť k súboru", "see-recent-files": "Nedávne súbory", "close": "Zavrieť", "unknown-pane-title": "Plugin už nie je aktívny", "unknown-pane-desc": "Plugin, ktorý vytvoril tento panel ({{type}}) je nedostupný" }, "menu": { "edit-view": "Režim úprav (Ctrl/Cmd+Klik pre úpravu v novom paneli)", "read-view": "Aktuálne zobrazenie: režim čítania", "ribbon": "Panel nástrojov", "left-sidebar": "Ľavý panel", "right-sidebar": "Pravý panel", "switch-to-edit-view": "Kliknite pre úpravu", "switch-to-read-view": "Kliknite pre čítanie", "mod-click-open-new-tab": "{{key}}+Klik pre otvorenie v novej karte", "find": "Vyhľadať...", "replace": "Nahradiť...", "edit": "Upraviť", "remove": "Odstrániť", "rename": "Premenovať", "preview": "Náhľad", "more-options": "Viac možností", "close": "Zavrieť", "close-all": "Zavrieť všetko", "close-tabs-with-count": "Zavrieť {{count}} kartu", "close-tabs-with-count_plural": "Zavrieť {{count}} karty(iet)", "close-others": "Zavrieť ostatné karty", "close-after": "Zavrieť nasledujúce karty", "pin": "Pripnúť", "unpin": "Odopnúť", "unlink-tab": "Odpojiť kartu", "link-tab": "Prepojiť s kartou...", "toggle-source-mode": "Režim zdrojového kódu", "toggle-reading-view": "Režim čítania", "add-property": "Pridať vlastnosť súboru", "delete-file": "Odstrániť súbor", "create-file": "Vytvoriť súbor", "open-link": "Otvoriť odkaz", "open-in-new-tab": "Otvoriť v novej karte", "open-to-the-right": "Otvoriť vpravo", "copy-url": "Kopírovať URL", "copy": "Kopírovať", "cut": "Vystrihnúť", "paste": "Prilepiť", "paste-as-plain-text": "Prilepiť ako text", "lookup-selection": "Pozrieť sa na “{{selection}}”", "select-all": "Vybrať všetko", "rename-heading": "Premenovať nadpis...", "rename-blockid": "Premenovať číslo bloku...", "open-in-new-window": "Otvoriť v novom okne", "move-to-new-window": "Presunúť do nového okna", "open-in-browser": "Otvoriť v prehliadači", "stack-tabs": "Navrstviť karty", "unstack-tabs": "Zrušiť vrstvenie kariet", "open-linked-view": "Otvoriť prepojené zobrazenie" }, "tooltip": { "click-to-expand": "Kliknutím rozbalíte", "click-to-collapse": "Kliknutím zbalíte", "alias": "Alias", "not-created-yet": "Zatiaľ nevytvorené, zvolením vytvoríte" }, "start-screen": { "label-version": "Verzia", "label-create-local-vault": "Vytvoriť lokálny trezor", "option-open-folder-as-vault": "Použiť priečinok ako trezor", "option-open-folder-as-vault-description": "Vyberte existujúci priečinok s Markdown súbormi.", "option-create-vault": "Vytvoriť nový trezor", "option-create-vault-description": "Vytvoriť v priečinku nový Obsidian trezor.", "option-connect-obsidian-sync": "Pripojiť k Obsidian Sync", "option-connect-obsidian-sync-description": "Nastaviť a synchronizovať trezor s existujúcim vzdialeným trezorom.", "option-new-vault-name": "Meno trezoru", "option-new-vault-name-description": "Zadajte meno vášho úžasného trezoru.", "option-new-vault-location": "Umiestnenie", "option-new-vault-location-description": "Zvoľte umiestnenie nového trezoru.", "label-new-vault-location-preview": "Váš novo vytvorený trezor bude umiestnený v: ", "option-reveal-vault-in-explorer": "Zobraziť umiestnenie trezoru v systémovom prieskumníku súborov", "option-reveal-vault-in-explorer-mac": "Zobraziť trezor vo Finderi", "option-rename-vault": "Premenovať trezor...", "option-copy-vault-i-d": "Kopírovať ID trezora", "msg-error-rename-exists": "Trezor s týmto menom už existuje.", "msg-error-nested": "Nepodarilo sa presunúť trezor do podpriečinka seba samého.", "msg-error-rename-open": "Práve otvorený trezor sa nedá premenovať.", "msg-rename-failed": "Chyba pri premenovaní trezoru.", "msg-rename-success": "Trezor bol úspešne premenovaný.", "option-move-vault": "Presunúť trezor...", "msg-move-select-dest": "Zvoľte cieľový priečinok", "msg-error-move-exists": "Na zadanom mieste sa už trezor nachádza.", "msg-error-move-open": "Práve otvorený trezor sa nedá presunúť.", "msg-move-failed": "Trezor sa nepodarilo presunúť.", "msg-move-success": "Trezor bol úspešne presunutý.", "option-remove": "Odstrániť zo zoznamu", "button-quick-start": "Rýchly štart", "button-open": "Otvoriť", "button-browse": "Prehľadávať", "button-connect": "Pripojiť", "button-create-vault": "Vytvoriť", "button-back": "Späť", "msg-empty-vault-name": "Meno trezoru nesmie byť prázdne.", "msg-trailing-dot-vault-name": "Meno trezoru nesmie končiť bodkou.", "msg-invalid-folder": "Zvoľte prosím platný priečinok.", "msg-failed-to-create-vault": "Trezor sa nepodarilo vytvoriť.", "msg-failed-to-create-vault-at-location": "Trezor sa nepodarilo vytvoriť v zvolenom umiestnení. Znovu skontrolujte umiestnenie a oprávnenia.", "msg-error-failed-to-open-vault": "Trezor sa nepodarilo otvoriť.", "msg-error-remove-current-open-vault": "Práve otvorený trezor sa nedá odstrániť.", "option-get-help": "Získať nápovedu", "option-user-email": "Email", "placeholder-your-email": "Váš email...", "option-user-password": "Heslo", "placeholder-your-password": "Vaše heslo...", "button-sign-in": "Prihlásiť", "button-setup": "Nastavenia", "option-connect-vault-desc": "Vytvoriť synchronizovaný trezor na tomto zariadení.", "tooltip-own-vault": "Toto je váš vzdialený trezor.", "tooltip-shared-vault": "Toto je vzdialený trezor zdieľaný s vami.", "mobile": { "label-start-screen": "Vaše myšlienky sú vaše.", "label-synced": "synchronizované", "label-not-synced": "nesynchronizované", "label-none": "Žiadny", "label-recommended": "Odporúčané", "label-start-screen-desc": "Obsidian ukladá poznámky vo vašom zariadení, takže k nim máte rýchly a súkromný prístup aj keď ste offline.\nVaše dáta sú bezpečne uložené v lokálnom priečinku s názvom **vault**.", "option-create": "Vytvoriť trezor", "option-use-existing": "Použiť existujúci trezor", "label-sync-intro": "Pre prístup k vašim poznámkam na ďalších zariadeniach, si musíte nastaviť synchronizáciu.", "label-sync-intro-desc": "Keďže Obsidian ukladá vaše poznámky lokálne v zariadení, musíte si nastaviť synchronizáciu, ak chcete pristupovať k vašim poznámkam na telefóne alebo počítači.\nNastavte si synchronizáciu teraz, alebo pokračujte písaním poznámok a synchronizáciu nastavíte neskôr.", "option-setup-sync": "Nastaviť synchronizáciu", "option-skip": "Zatiaľ preskočiť", "label-vault-create": "Zadajte meno pre váš trezor.", "label-vault-create-desc": "Meno trezoru môžte kedykoľvek zmeniť.", "button-create": "Vytvoriť trezor", "label-sync-setup": "Nastavenie synchronizácie", "label-sync-setup-desc": "Vytvoriť synchronizovaný trezor na vašom Obsidian účte pre prístup k dátam z iných zariadení.", "label-remote-vault-create": "Synchronizovať šifrovanie", "label-remote-vault-create-desc": "End-to-end šifrovanie zabezpečuje, že k vašim dátam máte prístup iba vy.\nZadajte heslo pre šifrovanie, alebo povoľte Obsidianu spravovať šifrovacie heslo za vás.", "option-own-password": "Zvoliť si vlastné heslo", "option-managed-password": "Spravovať heslo za vás", "label-sync-settings": "Synchronizovať nastavenia", "label-sync-settings-desc": "Chcete pri synchronizovaní s týmto zariadením vylúčiť zo synchronizácie nejaké priečinky alebo súbory?", "button-start": "Spustiť synchronizáciu", "label-sign-in-or-sign-up": "Vytvoriť Obsidian účet alebo sa prihlásiť", "option-sign-up": "Vytvoriť účet", "option-sign-in": "Prihlásiť sa", "button-resend-email": "Znovu odoslať email", "label-remote-vault-options": "Už máte synchronizované trezory", "label-remote-vault-options-desc": "Chcete vytvoriť nový trezor alebo sa pripojiť k existujúcemu synchronizovanému trezorom?", "option-remote-create": "Vytvoriť nový synchronizovaný trezor", "option-remote-choose": "Zvoliť existujúci trezor", "button-logout": "Odhlásiť", "button-forgot-password": "Zabudli ste heslo", "label-vault-name": "Názov trezoru", "label-vault-location": "Umiestnenie trezora", "label-vault-location-help": "Vyberte priečinok kde uložíte váš trezor.", "label-vault-location-desc": "Váš nový trezor bude umiestnený v {{vaultLocation}}", "label-region-selection": "Oblasť", "label-region-selection-help": "Zvoľte oblasť serveru, ktorá je blízko vás pre rýchlejšiu synchronizáciu.", "label-encryption-key": "Šifrovací kľúč", "label-encryption-key-help": "Toto heslo nemôže byť neskôr zmenené. Ak heslo zabudnete, akékoľvek vzdialené dáta na synchronizačných serveroch budú navždy neprístupné.", "placeholder-vault-name": "Môj trezor", "opt-region-selection-automatic": "Automatické", "label-remote-vault-selection": "Zvoľte trezor", "label-remote-vault-selection-desc": "Váš účet **{{email}}** už má trezory, ku ktorým sa môžte pripojiť.", "label-sign-in": "Prihlásiť sa k Obsidian účtu", "label-sync-method-selection": "Zvoľte ako synchronizovať vaše poznámky", "label-sync-method-selection-desc": "Pre použitie Obsidianu na vašich zariadeniach si musíte synchronizovať dáta.", "label-sync-pro1": "Bezproblémovo na každom zariadení a operačnom systéme", "label-sync-pro2": "Zabezpečené najsilnejšími end-to-end šifrovacími štandardami.", "label-sync-pro3": "Vyžaduje Obsidian účet.", "label-icloud-con1": "Iba pre iOS a macOS.", "label-icloud-con2": "V predvolenom nastavení nešifrované.", "opt-use-obsidian-sync": "Použiť Obsidian synchronizáciu", "opt-use-icloud": "Použiť iCloud", "opt-use-other": "Použiť synchronizáciu tretej strany", "opt-learn-other-sync": "Iné metódy synchronizácie", "opt-use-supported": "Použiť podporované metódy synchronizácie", "label-sync-restore": "Kde je umiestnený váš trezor?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Iné", "label-local-folder": "Na tomto zariadení", "option-connect-icloud": "Pripojiť k iCloud", "option-connect-other": "Pripojiť k iným synchronizačným službám", "option-connect-sync": "Pripojiť k Obsidian Sync", "option-connect-local-folder": "Zvoľte priečinok", "label-sync-other": "Iné metódy synchronizácie", "label-sync-other-desc": "Obsidian oficiálne podporuje dve metódy synchronizácie: **Obsidian Sync** a **iCloud**.\nAvšak, Obsidian vám umožňuje plnú kontrolu nad dátami, čiže existujú aj iné metódy synchronizácie, ktoré môžte použiť.\nTieto možnosti obsahujú pluginy tretej strany a iné nástroje, ktoré môžu vyžadovať zložitejšie nastavenie.\nPre použitie alternatívnej synchronizačnej metódy, **create a vault** a postupujte podľa inštrukcií poskytnutých pluginom alebo poskytovateľom služby tretej strany.", "label-email-entry": "Zadajte váš email", "label-email-entry-desc": "Email je nutný na vytvorenie Obsidian účtu.", "label-signup": "Zadajte vaše meno a heslo", "email-verification": "Pripojiť k Obsidian Sync", "email-verification-desc": "O chvíľu by ste mali dostať email na **{{email}}** s inštrukciami pre pripojenie k Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Váš iCloud trezor nebol nájdený. Spôsobiť to mohol niektorý z nasledujúcich dôvodov:", "icloud-missing-reason1": "Váš trezor je na inom iCloud účte, než na akom ste aktuálne prihlásený v tomto zariadení.", "icloud-missing-reason2": "Váš trezor nie je uložený v najvyššom Obsidian priečinku vášho iCloud Drive.", "i-cloud-unsupported": "iCloud nie je podporovaný", "i-cloud-unsupported-desc": "iCloud synchronizácia je dostupná iba na Apple zariadeniach. Ak je synchronizácia trezoru nastavená aktuálne cez iCloud, zistite ako presunúť váš trezor do inej synchronizačnej služby.", "msg-login-pending": "Prihlasovanie...", "msg-name-required": "Vyžaduje sa názov trezora", "msg-new-email-success": "Bol odoslaný nový potvrdzujúci email.", "msg-new-email-failure": "Opätovné odoslanie emailu zlyhalo.", "msg-invalid-vault": "Trezor musí byť umiestnený v priečinku." } }, "starter-content": { "welcome-filename": "Vitajte", "welcome-file-content": "Toto je váš nový *trezor*.\n\nVytvorte si poznámku o niečom, [[vytvorte odkaz]], alebo skúste [Importer](https://help.obsidian.md/Plugins/Importer)!\n\nAk ste pripravený odstráňte túto poznámku a vytvorte si vlastný trezor." }, "drag-and-drop": { "insert-link-here": "Tu vložte odkaz", "insert-links-here": "Tu vložte odkazy", "move-into-folder": "Presunúť do priečinka \"{{folder}}\"", "star-this-file": "Označiť súbor hviezdičkou", "star-these-files": "Označiť súbory hviezdičkami", "open-in-this-tab": "Otvoriť v tejto karte", "open-as-tab": "Otvoriť ako novú kartu" }, "window": { "maximize": "Maximalizovať", "minimize": "Minimalizovať", "restore-down": "Obnoviť nadol", "close-window": "Zavrieť okno", "go-back": "Vzad", "go-forward": "Vpred" }, "start-up": { "loading-obsidian": "Obsidian sa načítava...", "obsidian-load-error": "Pri načítavaní Obsidianu sa objavila chyba.", "button-reload-app": "Znovu načítať aplikáciu", "button-reload-app-in-safe-mode": "Znovu načítať aplikáciu v bezpečnom režime", "button-open-another-vault": "Otvoriť iný trezor", "loading-plugins": "Načítavanie pluginov...", "msg-plugin-hang": "Pluginu “{{plugin}}” trvá dlho, kým sa načíta. ", "loading-vault": "Načítavanie trezoru...", "msg-failed-to-load-vault": "Nepodarilo sa načítať trezor: ", "loading-cache": "Načítavanie vyrovnávacej pamäte...", "loading-workspace": "Načítavanie pracovného priestoru..." }, "mobile": { "action-import": "Importovať do trezoru", "action-insert-text-desc": "Pridať text do súboru:", "action-choose-file-to-insert": "Zvoliť súbor pre vloženie", "action-insert-text-into-file": "Vložiť text do {{filename}}", "action-insert-link-into-file": "Vložiť odkaz do {{filename}}", "action-show-switcher": "Zobraziť prehľad kariet", "msg-importing": "Importuje sa...", "msg-import-success": "Import úspešný", "msg-failed-to-import-file": "Nepodarilo sa importovať súbor {{filename}}", "msg-back-again-to-exit": "Stlačte späť pre ukončenie." }, "help-screen": { "label-official-help-site": "Oficiálna stránka s nápovedou", "label-official-help-site-desc": "Prečítajte si oficiálnu viacjazyčnú nápovedu k Obsidianu.", "action-visit": "Navštíviť", "label-discord-chat": "Discord chat", "label-discord-chat-desc": "Discord je najlepšie miesto pre komunikáciu s inými skúsenými užívateľmi Obsidianu z celého sveta.", "action-join": "Pripojiť sa", "label-forum": "Oficiálne fórum", "label-forum-desc": "Pomáhajte si navzájom, posielajte požiadavky na nové funkcie, nahlasujte chyby a podrobne diskutujte o znalostiach.", "label-sandbox-vault": "Trezor pieskoviska", "label-sandbox-vault-desc": "Skúšajte a experimentujte s rôznymi funkciami. Upozorňujeme, že zmeny sa nebudú ukladať." } }, "commands": { "save-file": "Uložiť aktuálny súbor", "download-attachments": "Stiahnuť prílohy pre aktuálny súbor", "follow-cursor-link": "Nasledovať odkaz pod kurzorom", "open-cursor-link-in-new-tab": "Otvoriť odkaz pod kurzorom na novej karte", "open-cursor-link-to-the-right": "Otvoriť odkaz pod kurzorom napravo", "open-cursor-link-in-new-window": "Otvoriť odkaz pod kurzorom v novom okne", "navigate-tab-above": "Zamerať sa na vyššiu skupinu kariet", "navigate-tab-below": "Zamerať sa na nižšiu skupinu kariet", "navigate-tab-left": "Zamerať sa na ľavú skupinu kariet", "navigate-tab-right": "Zamerať sa na pravú skupinu kariet", "toggle-pin": "Pripnúť/odopnúť", "split-right": "Rozdeliť vpravo", "split-down": "Rozdeliť dole", "toggle-stacked-tabs": "Prepnúť naskladané karty", "navigate-back": "Navigovať späť", "navigate-forward": "Navigovať vpred", "use-dark-mode": "Použiť tmavý režim", "use-light-mode": "Použiť svetlý režim", "change-theme": "Zmeniť tému", "search-current-file": "Hľadať v aktuálnom súbore", "search-replace-current-file": "Hľadať a nahradiť v aktuálnom súbore", "add-property": "Pridať vlastnosť súboru", "label-sort-property-a-to-z": "Zoradiť podľa názvu (od A po Z)", "label-sort-property-z-to-a": "Zoradiť podľa názvu (od Z po A)", "add-alias": "Pridať alias", "edit-property": "Upraviť vlastnosť súboru", "clear-properties": "Odstrániť vlastnosti súboru", "open-settings": "Otvoriť nastavenia", "open-help": "Otvoriť nápovedu", "toggle-edit": "Prepnúť režim úprav/režim čítania", "toggle-source-mode": "Prepnúť režim náhľadu/režim zdrojového kódu", "delete-current-file": "Odstrániť aktuálny súbor", "new-tab": "Nová karta", "show-trash": "Zobraziť kôš", "close-all-tabs": "Zatvoriť všetky karty", "close-active-tab": "Zatvoriť aktuálnu kartu", "close-others-in-tab-group": "Zatvoriť ostatné karty v skupine", "close-other-tabs": "Zatvoriť všetky ostatné karty", "close-tab-group": "Zatvoriť túto skupinu kariet", "toggle-left-sidebar": "Zobraziť/skryť ľavý bočný panel", "toggle-ribbon": "Zobraziť/skryť panel nástrojov", "toggle-right-sidebar": "Zobraziť/skryť pravý bočný panel", "toggle-default-new-tab-mode": "Zapnúť/vypnúť predvolený režim pre nové karty", "add-cursor-above": "Pridať kurzor vyššie", "add-cursor-below": "Pridať kurzor nižšie", "focus-editor": "Zamerať sa na editor", "toggle-fold-properties": "Vlastnosti zrolovania v aktuálnom súbore", "toggle-fold": "Zrolovať na aktuálnom riadku", "fold-all": "Zrolovať všetky nadpisy a zoznamy", "unfold-all": "Zrolovať všetko", "fold-more": "Zrolovať viac", "fold-less": "Zrolovať menej", "swap-line-up": "Vymeniť s riadkom nad", "swap-line-down": "Vymeniť s riadkom pod", "remove-heading": "Odstrániť nadpis", "toggle-heading": "Nastaviť ako nadpis {{level}}", "toggle-bold": "Tučné písmo", "toggle-italics": "Kurzíva", "toggle-highlight": "Zvýraznenie", "toggle-comments": "Komentár", "clear-formatting": "Odstrániť formátovanie", "insert-link": "Vložiť odkaz", "toggle-spellcheck": "Kontrola pravopisu", "delete-paragraph": "Odstrániť odstavec", "toggle-checklist": "Zoznam úloh", "cycle-list-checklist": "Odrážky/zaškrtávacie políčka", "insert-callout": "Vložiť popis", "insert-code-block": "Vložiť blok kódu", "insert-math-block": "Vložiť blok matematiky", "insert-horizontal-rule": "Vložiť vodorovné pravítko", "insert-table": "Vložiť tabuľku", "insert-footnote": "Vložiť poznámku pod čiarou", "edit-file-title": "Upraviť názov súboru", "copy-path": "Kopírovať cestu k súboru", "copy-url": "Kopírovať Obsidian URL", "export-pdf": "Exportovať do PDF", "reload": "Reštartovať aplikáciu bez uloženia", "undo-close-tab": "Vrátiť späť zatvorenie karty", "context-menu": "Zobraziť kontextové menu pod kurzorom", "show-debug-info": "Zobraziť ladiace informácie", "open-sandbox-vault": "Otvoriť trezor pieskoviska", "always-on-top": "Okno vždy navrchu", "zoom-in": "Priblížiť", "zoom-out": "Vzdialiť", "reset-zoom": "Resetovať priblíženie", "toggle-preview": "Prepnúť režim úprav/režim náhľadu", "move-to-new-window": "Presunúť aktuálny panel do nového okna", "open-in-new-window": "Otvoriť aktuálny panel v novom okne", "rename-current-file": "Premenovať aktuálny súbor", "go-to-prev-tab": "Prejsť na predchádzajúcu kartu", "go-to-next-tab": "Prejsť na ďalšiu kartu", "go-to-last-tab": "Prejsť na poslednú kartu", "go-to-nth-tab": "Prejsť na kartu #{{n}}", "show-release-notes": "Zobraziť poznámky k verzií" }, "dialogue": { "label-link-affected": "Toto ovplyvní {{links}} v {{files}}.", "msg-updated-links": "{{links}} v {{files}} boli aktualizované.", "label-update-links": "Aktualizovať odkazy", "label-confirm-update-link-to-file": "Chcete aktualizovať interné odkazy, ktoré odkazujú na tento súbor?", "button-always-update": "Aktualizovať vždy", "button-just-once": "Len raz", "button-do-not-update": "Neaktualizovať", "label-confirm-deletion": "Naozaj chcete odstrániť \"{{filename}}\"?", "label-move-to-system-trash": "Bude presunutý do systémového koša.", "label-move-to-vault-trash": "Bude presunutý do Obsidian koša, ktorý sa nachádza v skrytom priečinku vášho trezora \".trash\".", "label-permanent-delete": "Súbor bude natrvalo odstránený.", "label-non-empty-folder": "Tento priečinok nie je prázdny.", "label-delete-folder-warning": "Ak budete pokračovať, všetky súbory v tomto priečinku budú odstránené.", "label-delete-folder": "Odstrániť priečinok", "button-delete": "Odstrániť", "button-delete-do-not-ask-again": "Odstrániť a už sa nepýtať", "label-do-not-ask-again": "Už sa nepýtať", "label-existing-backlink": "Momentálne existuje {{count}} odkaz smerujúci na túto poznámku.", "label-existing-backlink_plural": "Momentálne existuje {{count}} odkazov smerujúcich na túto poznámku.", "label-delete-file": "Odstrániť súbor", "label-download-attachments": "Stiahnuť prílohy", "label-no-attachments": "V tejto poznámke nie sú externé prílohy.", "label-downloaded-attachments": "Úspešne stiahnutá {{count}} príloha.", "label-downloaded-attachments_plural": "Úspešne stiahnuté(ých) {{count}} prílohy(oh).", "button-manage": "Spravovať", "button-view": "Zobraziť", "button-confirm": "Potvrdiť", "button-cancel": "Zrušiť", "button-download": "Stiahnuť", "button-done": "Hotovo", "button-save": "Uložiť", "button-stop": "Zastaviť", "button-continue": "Pokračovať", "button-choose": "Zvoliť", "button-retry": "Zopakovať", "preparing-pdf": "Pripravuje sa PDF...", "label-rename-file": "Premenovať súbor", "label-rename-file-generic": "Názov súboru", "label-new-name": "Nový názov", "msg-rename-success": "Súbor bol úspešne premenovaný.", "msg-merge-failed": "Nepodarilo sa zlúčiť poznámky: {{message}}", "msg-file-or-folder-not-found": "Súbor alebo priečinok “{{path}}” neexistuje.", "msg-heading-empty": "Nadpis nesmie byť prázdny", "msg-block-id-empty": "ID bloku nesmie byť prázdne", "msg-block-id-invalid": "ID bloku smie obsahovať iba alfanumerické znaky alebo čiarku", "label-rename-heading": "Premenovať nadpis", "label-rename-blockid": "Zmeniť ID bloku" }, "menu-items": { "new-file": "Vytvoriť poznámku", "new-file-to-the-right": "Nová poznámka vpravo", "new-window": "Nové okno", "open-switcher": "Rýchlo otvoriť...", "open-vault": "Otvoriť trezor...", "close-tab": "Zatvoriť kartu", "close-window": "Zatvoriť okno", "find": "Hľadať", "replace": "Nahradiť", "insert-callout": "Popis", "insert-markdown-link": "Markdown odkaz", "insert-wikilink": "Odkaz", "set-heading": "Nadpis {{level}}", "no-heading": "Žiadny nadpis", "insert-quote": "Citácia", "export-pdf": "Exportovať do PDF", "insert-attachment": "Vložiť prílohu...", "insert-codeblock": "Blok kódu", "insert-math-block": "Blok matematiky", "insert-table": "Tabuľka", "insert-footnote": "Poznámka pod čiarou", "toggle-bullet-list": "Zoznam odrážok", "toggle-numbered-list": "Číslovaný zoznam", "toggle-checklist": "Zoznam úloh", "toggle-bold": "Tučné písmo", "toggle-code": "Kód", "toggle-comment": "Komentár", "toggle-italics": "Kurzíva", "toggle-inline-math": "Matematika", "toggle-highlight": "Zvýraznenie", "toggle-strikethrough": "Prečiarknutie", "toggle-comments": "Komentáre", "folding-menu": "Zrolovanie", "fold-all": "Zrolovať všetko", "unfold-all": "Rozbaliť všetko", "fold-more": "Zrolovať viac", "fold-less": "Zrolovať menej", "source-mode": "Režim zdrojového kódu", "reading-view": "Režim čítania", "show-debug-info": "Zobraziť ladiace informácie", "open-sandbox": "Otvoriť trezor pieskoviska", "navigate-back": "Navigovať späť", "navigate-forward": "Navigovať vpred", "toggle-left-sidebar": "Zobraziť/skryť ľavý bočný panel", "toggle-right-sidebar": "Zobraziť/skryť pravý bočný panel", "toggle-ribbon": "Zobraziť/skryť panel nástrojov", "split-right": "Rozdeliť vpravo", "split-down": "Rozdeliť dole", "release-notes": "Poznámky k verzií" }, "plugins": { "name": "Pluginy", "file-explorer": { "name": "Prieskumník súborov", "desc": "Zobraziť všetky súbory vo vašom trezore.", "action-open": "Otvoriť prieskumník súborov", "action-show": "Zobraziť prieskumník súborov", "action-create-note": "Vytvoriť novú poznámku", "action-create-folder": "Vytvoriť nový priečinok", "action-create-note-in-current-tab": "Vytvoriť novú poznámku v aktuálnej karte", "action-create-note-to-the-right": "Vytvoriť poznámku vpravo", "action-auto-reveal": "Automaticky zobraziť aktuálny súbor", "action-collapse-all": "Zbaliť všetko", "action-expand-all": "Rozbaliť všetko", "action-new-note": "Nová poznámka", "action-new-folder": "Nový priečinok", "action-change-sort": "Zmena zoradenia", "action-reveal-file": "Zobraziť súbor v prieskumníku súborov", "action-reveal-active-file": "Zobraziť aktívny súbor v prieskumníku súborov", "command-make-a-copy": "Kopírovať aktuálny súbor", "command-make-a-copy-mac": "Duplikovať aktuálny súbor", "command-move-file": "Presunúť súbor do iného priečinku", "action-new-folder-with-count": "Vytvoriť nový priečinok s vybranou ({{count}} položkou)", "action-new-folder-with-count_plural": "Vytvoriť nový priečinok s vybranými ({{count}} položkami)", "action-move-file": "Presunúť súbor do...", "action-move-folder": "Presunúť priečinok do...", "action-move-items": "Presunúť {{count}} položky(iek) do...", "prompt-type-folder": "Zadajte priečinok", "label-no-folders": "Priečinok nebol nájdený.", "instruction-navigate": "navigovať", "instruction-move": "presunúť", "instruction-create": "vytvoriť", "instruction-dismiss": "odmietnuť", "label-sort-a-to-z": "Zoradiť podľa názvu súboru (od A po Z)", "label-sort-z-to-a": "Zoradiť podľa názvu súboru (od Z po A)", "label-sort-new-to-old": "Zoradiť podľa času úpravy (od najnovšieho po najstaršie)", "label-sort-old-to-new": "Zoradiť podľa času úpravy (od najstaršieho po najnovšie)", "label-sort-created-old-to-new": "Zoradiť podľa času vytvorenia (od najstaršieho po najnovšie)", "label-sort-created-new-to-old": "Zoradiť podľa času vytvorenia (od najnovšieho po najstaršie)", "menu-opt-new-note": "Nová poznámka", "menu-opt-new-folder": "Nový priečinok", "menu-opt-rename": "Premenovať", "menu-opt-delete": "Odstrániť", "menu-opt-make-copy": "Kopírovať", "menu-opt-make-copy-mac": "Duplikovať", "msg-invalid-characters": "Názov súboru nemôže obsahovať žiadny z nasledujúcich znakov: ", "msg-unsafe-characters": "Odkazy na súbory nebudú fungovať ak budú v názve súboru použité niektoré z týchto znakov: ", "msg-file-already-exists": "Súbor s týmto názvom už existuje", "msg-empty-file-name": "Názov súboru nesmie byť prázdny.", "msg-bad-dotfile": "Názov súboru nesmie začínať bodkou.", "tooltip-modified-time": "Naposledy zmenené {{time}}", "tooltip-created-time": "Vytvorené {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "action-move-file-short-name": "Presunúť", "label-untitled-file": "Bez názvu", "label-untitled-folder": "Bez názvu", "msg-set-attachment-folder": "Prílohy budú odteraz uložené v \"{{path}}\"." }, "search": { "name": "Hľadať", "desc": "Hľadanie kľúčového slova vo všetkých poznámkach.", "action-open-search": "Hľadať vo všetkých súboroch", "label-collapse-results": "Zbaliť výsledky", "label-match-case": "Rozlišovať malé/veľké písmená", "label-explain-search-term": "Vysvetliť hľadaný výraz", "label-more-context": "Zobraziť viac súvislostí", "label-result-count": "{{count}} výsledok", "label-result-count_plural": "{{count}} výsledky(ov)", "label-toggle-search-settings": "Hľadať nastavenia", "prompt-start-search": "Píšte pre spustenie hľadania...", "label-match-text": "Zhoduje sa s textom: ", "label-match-regex": "Zhoduje sa s regulárnym výrazom: ", "label-match-exact-text": "Obsahuje presný text: ", "label-match-greater-than": "Väčší ako: ", "label-match-less-than": "Menší ako: ", "label-match-true": "Je pravda", "label-match-false": "Je nepravda", "label-match-empty": "Je prázdny", "label-match-property": "Obsahuje vlastnosť:", "label-match-all": "Zhoduje sa zo všetkým z: ", "label-match-any": "Zhoduje sa s niektorými z: ", "label-excluding": "S výnimkou: ", "label-case-sensitive": "Rozlišovať malé/veľké písmená", "label-case-insensitive": "Nerozlišovať malé/veľké písmená", "label-match-file-path": "Zhoduje sa s cestou k súboru: ", "label-match-file-name": "Zhoduje sa s názvom súboru: ", "label-match-content": "Zhoduje sa s obsahom súboru: ", "label-match-task": "Zhoduje sa s úlohou: ", "label-match-task-todo": "Zhoduje sa s úlohou (urobiť): ", "label-match-task-done": "Zhoduje sa s úlohou (hotovo): ", "label-match-line": "Zhoduje sa s frázou: ", "label-match-block": "Zhoduje sa s blokom: ", "label-match-section": "Zhoduje sa s odsekom: ", "label-match-tag": "Zhoduje sa so značkou: ", "label-no-matches": "Neboli nájdené žiadne zhody.", "matches-with-count": "... a {{count}} ďalšia zhoda.", "matches-with-count_plural": "... a {{count}} ďalšie(ích) zhody(ôd).", "label-copy-search-results": "Kopírovať výsledky hľadania", "button-copy-results": "Kopírovať výsledky", "msg-successfully-copied": "Výsledky skopírované do schránky.", "option-show-path": "Zobraziť cestu", "option-show-path-description": "Radšej zobraziť celú cestu súboru ako iba názov súboru.", "option-link-style": "Štýl odkazu", "option-link-style-description": "Každý vyhľadaný súbor je možné zmeniť na odkaz.", "option-choice-link-style-none": "Žiadny", "option-choice-link-style-wikilink": "Wiki-odkaz", "option-choice-link-style-markdown-link": "Markdown odkaz", "option-list-prefix": "Predpona zoznamu", "option-list-prefix-description": "Ku každému vyhľadanému súboru je možné pridať predponu položky zoznamu.", "option-choice-list-style-none": "Žiadny", "option-choice-list-style-dash": "Pomlčka (-)", "option-choice-list-style-asterisk": "Hviezdička (*)", "option-choice-list-style-numbered": "Číslovanie", "tooltip-clear-search": "Odstrániť hľadanie", "label-search-options": "Možnosti hľadania", "label-properties-group": "Vlastnosti", "label-tags-group": "Značky", "tooltip-read-more": "Čítať viac", "label-history": "História", "tooltip-clear-history": "Odstrániť históriu hľadania", "label-path-option-description": "hľadať cestu k súboru", "label-file-name-option-description": "hľadať názov súboru", "label-tag-option-description": "hľadať značku", "label-line-option-description": "hľadať kľúčové slová v rovnakom riadku", "label-section-option-description": "hľadať kľúčové slová pod rovnakým nadpisom", "label-property-option-description": "hľadať vlastnosť", "menu-opt-search-for": "Hľadať \"{{keyword}}\"", "menu-opt-search-in-folder": "Hľadať v priečinku" }, "quick-switcher": { "name": "Rýchly prepínač", "desc": "Preskočiť na akýkoľvek súbor bez opustenia klávesnice. Pre aktiváciu stlačte Ctrl/Cmd+O.", "short-name": "Prepínač", "action-open": "Otvoriť rýchly prepínač", "instruction-navigate": "navigovať", "instruction-open": "otvoriť", "instruction-open-in-new-tab": "otvoriť v novej karte", "instruction-open-to-the-right": "otvoriť vpravo", "instruction-create": "vytvoriť", "instruction-dismiss": "odmietnuť", "instruction-select": "zvoliť", "label-no-note-create-new": "Nenašli sa žiadne poznámky. Enter pre vytvorenie novej poznámky.", "prompt-type-file-name": "Napíšte názov súboru, na ktorý sa chcete prepnúť alebo ho vytvoriť...", "label-enter-to-create": "Enter pre vytvorenie", "tooltip-not-created-yet": "Zatiaľ nevytvorené, zvoľte pre vytvorenie", "option-show-existing-only": "Zobraziť iba existujúce", "option-show-existing-only-description": "Zobraziť iba výsledky z existujúcich súborov. Odkazy na súbory, ktoré zatiaľ nie sú vytvorené, budú skryté.", "option-show-attachments": "Zobraziť prílohy", "option-show-attachments-desc": "Zobraziť prílohy súborov ako napríklad obrázky, videá a PDF súbory.", "option-show-all-file-types": "Zobraziť všetky typy súborov", "option-show-all-file-types-desc": "Zobraziť všetky súbory vrátane tých, ktoré Obsidian nedokáže otvoriť. Súbor bude otvorený predvolenou aplikáciou pre daný typ súboru." }, "graph-view": { "name": "Graf", "desc": "Pozrite sa na grafický prehľad toho, ako sú poznámky prepojené.", "action-open": "Otvoriť graf", "action-open-local": "Otvoriť lokálny graf", "action-copy-screenshot": "Kopírovať ako snímok obrazovky", "tab-title": "Graf {{displayText}}", "label-filters": "Filtre", "prompt-filter-nodes": "Hľadať súbory...", "option-depth": "Hĺbka", "option-depth-description": "Zobraziť uzly tento počet odkazov ďaleko", "option-neighbor-links": "Susediace odkazy", "option-neighbor-links-description": "Zobraziť prepojené odkazy medzi susedmi.", "option-forelinks": "Odchádzajúce odkazy", "option-forelinks-description": "Zobraziť prepojenie odkazov na iné súbory", "option-backlinks": "Prichádzajúce odkazy", "option-backlinks-description": "Zobraziť prepojené odkazy z iných súborov na tento súbor", "option-show-tags": "Značky", "option-show-tags-description": "Značky budú prepojené so súbormi, ktoré ich obsahujú", "option-show-attachments": "Prílohy", "option-show-attachments-description": "Zobraziť prílohy obsiahnuté v súboroch", "option-show-existing-files-only": "Iba existujúce súbory", "option-show-existing-files-only-description": "Ak je zaškrtnuté, tak prepojenia na neexistujúce súbory nebudú zobrazené", "option-show-orphans": "Siroty", "option-show-orphans-description": "Zobraziť súbory, ktoré nie sú prepojené so žiadnym iným súborom", "label-display": "Zobrazenie", "option-show-arrows": "Šípky", "option-show-arrows-description": "Zobraziť šípky pri priblížení", "option-text-fade": "Prahová hodnota zmiznutia textu", "option-node-size": "Veľkosť uzlu", "option-link-thickness": "Hrúbka čiar", "label-forces": "Sily", "option-center-force": "Gravitácia stredu", "option-link-force": "Sila prepojenia", "option-link-distance": "Dĺžka prepojenia", "option-repel-force": "Odpudivá sila", "tooltip-open-graph-settings": "Otvoriť nastavenia grafu", "msg-screenshot-copied": "Snímok obrazovky bol skopírovaný do schránky.", "label-groups": "Skupiny", "placeholder-enter-query": "Vložiť dotaz...", "tooltip-delete-graph": "Odstrániť skupinu", "button-new-group": "Nová skupina", "tooltip-click-to-change-drag-to-reorder": "Kliknite pre zmenu farby\nUchopte pre zmenu poradia skupiny", "action-timelapse": "Spustiť časozbernú animáciu grafu", "tooltip-start-timelapse-animation": "Spustiť časozbernú animáciu", "button-animate-timelapse": "Animovať" }, "backlinks": { "name": "Spätné odkazy", "desc": "Zobraziť počet spätných odkazov v stavovom riadku.", "action-open": "Otvoriť spätné odkazy", "action-show": "Zobraziť panel spätných odkazov", "action-open-for-current": "Otvoriť spätné odkazy v aktuálnom súbore", "action-toggle-backlinks-in-document": "Zapnúť/vypnúť spätné odkazy v dokumente", "menu-opt-backlinks-in-document": "Spätné odkazy v dokumente", "label-linked-mentions": "Prepojené zmienky", "label-no-backlinks": "Žiadne spätné odkazy.", "label-unlinked-mentions": "Neprepojené zmienky", "label-show-search": "Zobraziť filter hľadania", "label-link-button-text": "Odkaz", "tab-title": "Spätné odkazy pre {{displayText}}", "label-no-unlinked-mentions": "Neboli nájdené žiadne neprepojené zmienky.", "ellipsis": "...", "option-backlink-in-document": "Spätné odkazy v dokumente", "option-backlink-in-document-desc": "Pri otvorení nového panelu zobraziť spätné odkazy v dokumente." }, "outgoing-links": { "name": "Odchádzajúce odkazy", "desc": "Zobraziť odchádzajúce odkazy a zistiť neprepojené zmienky o iných poznámkach v aktuálnej poznámke.", "action-open": "Otvoriť odchádzajúce odkazy", "action-show": "Zobraziť panel odchádzajúcich odkazov", "action-open-for-current": "Otvoriť odchádzajúce odkazy v aktuálnom súbore", "tab-title": "Odchádzajúce odkazy z {{displayText}}", "label-links": "Odkazy", "label-no-links": "Neboli nájdené žiadne odkazy.", "label-unlinked-mentions": "Neboli nájdené žiadne neprepojené zmienky", "tooltip-link-file": "Vytvoriť odkaz na tento súbor", "tooltip-not-created": "Zatiaľ nevytvorený" }, "tag-pane": { "name": "Panel značiek", "short-name": "Značky", "desc": "Zobraziť všetky vaše značky spolu s množstvom ich výskytu.", "action-show": "Zobraziť panel značiek", "label-no-tags": "Neboli nájdené žiadne značky.", "label-sort-by-name-a-to-z": "Zoradiť podľa názvu značiek (od A po Z)", "label-sort-by-name-z-to-a": "Zoradiť podľa názvu značiek (od Z po A)", "label-sort-by-frequency-high-to-low": "Zoradiť podľa počtu výskytu (od najväčšieho po najmenšie)", "label-sort-by-frequency-low-to-high": "Zoradiť podľa počtu výskytu (od najmenšieho po najväčšie)", "action-show-nested-tags": "Zobraziť vnorené značky", "action-collapse-all": "Zbaliť všetko", "action-expand-all": "Rozbaliť všetko" }, "properties": { "name": "Vlastnosti", "desc": "Zobraziť metadáta vašich súborov.", "name-global": "Všetky vlastnosti", "name-local": "Vlastnosti súboru", "tab-title": "Vlastnosti súboru pre {{displayText}}", "action-show": "Zobraziť všetky vlastnosti", "action-show-local": "Zobraziť vlastnosti súboru", "opt-unassign-type": "Zrušiť priradenie typu", "label-no-properties": "Neboli nájdené žiadne vlastnosti.", "label-invalid-properties": "Neplatné vlastnosti.", "label-sort-by-name-a-to-z": "Zoradiť podľa názvu (od A po Z)", "label-sort-by-name-z-to-a": "Zoradiť podľa názvu (od Z po A)", "label-sort-by-frequency-high-to-low": "Zoradiť podľa počtu výskytu (od najväčšieho po najmenšie)", "label-sort-by-frequency-low-to-high": "Zoradiť podľa počtu výskytu (od najmenšieho po najväčšie)", "label-change-property-type": "Zmena typu vlastnosti", "msg-merge-properties-warning": "Zlúčiť vlastnosť “{{oldKey}}” s “{{newKey}}”?", "msg-merge-properties-warning-desc": "V prípade konfliktu, hodnoty budú zlúčené alebo použité z “{{oldKey}}”.", "action-collapse-all": "Zbaliť všetko", "action-expand-all": "Rozbaliť všetko", "action-open-local": "Otvoriť vlastnosti súboru", "action-open-daily-note": "Otvoriť dennú poznámku" }, "page-preview": { "name": "Náhľad poznámky", "desc": "Zobrazenie náhľadu poznámky pri podržaní myši na internom odkaze. Ctrl/Cmd + podržanie myši v režime úprav.", "label-empty-attachment": "“{{linktext}}” nebol nájdený.", "label-empty-note": "\"{{linktext}}\" zatiaľ neexistuje. Kliknite pre vytvorenie.", "label-missing-footote": "Poznámka pod čiarou {{id}} nebola nájdená. Kliknite pre vytvorenie.", "label-source-editor": "Editor", "label-source-preview": "Náhľad", "label-source-search": "Hľadať, Spätné odkazy, a Odchádzajúce odkazy", "label-source-tab-header": "Hlavička karty", "label-require-mod": "Vyžadovať {{key}} pre spustenie náhľadu stránky pri podržaní myši" }, "bookmarks": { "name": "Záložky", "desc": "Uložte si záložky často používaných súborov a hľadaní.", "action-show": "Zobraziť záložky", "action-collapse-all": "Zbaliť všetko", "action-new-bookmark": "Uložiť aktívnu kartu ako záložku...", "action-new-group": "Nová skupina záložiek", "action-bookmark": "Záložka...", "action-add-bookmark": "Pridať záložku", "action-edit-bookmark": "Upraviť záložku", "action-bookmark-block": "Uložiť blok pod kurzorom ako záložku...", "action-bookmark-heading": "Uložiť nadpis pod kurzorom ako záložku...", "action-bookmark-search": "Uložiť aktuálne hľadanie ako záložku...", "action-remove-bookmark": "Odstrániť záložku pre aktuálny súbor", "action-bookmark-tab-group": "Uložiť {{count}} kartu ako záložku...", "action-bookmark-tab-group_plural": "Uložiť {{count}} karty(iet) ako záložky...", "action-bookmark-all-tabs": "Uložiť všetky karty ako záložky...", "action-bookmark-graph": "Uložiť tento graf ako záložku...", "label-bookmark": "Záložka", "label-bookmarked": "Uložené ako záložka", "label-bookmark-with-count": "{{count}} záložka", "label-bookmark-with-count_plural": "{{count}} záložky(iek)", "label-no-bookmarks": "Neboli nájdené žiadne záložky", "label-invalid-data": "Nepodarilo sa načítať záložky.", "label-invalid-data-desc": "Dátový súbor je poškodený.", "label-untitled-group": "Skupina bez názvu", "label-untitled-graph": "Graf bez názvu", "menu-opt-edit": "Upraviť...", "menu-opt-remove": "Odstrániť", "menu-opt-rename": "Premenovať", "menu-opt-bookmark-block": "Uložiť tento blok ako záložku...", "menu-opt-bookmark-heading": "Uložiť tento nadpis ako záložku...", "msg-no-search-query": "Žiadne hľadanie pre uloženie záložky.", "option-path": "Cesta", "option-query": "Hľadanie", "option-u-r-l": "URL", "option-title": "Nadpis", "option-group": "Skupina záložiek", "placeholder-bookmark-group": "Záložky" }, "custom-css": { "name": "Vlastné CSS", "desc": "Prečíta a použije \"obsidian.css\" v trezore.", "setting-community-themes": "Komunitné témy", "msg-fetching-themes": "Načítanie komunitných tém...", "prompt-filter": "Filter...", "label-dark-theme-only": "Iba tmavé témy", "label-light-theme-only": "Iba svetlé témy", "label-use": "Použiť", "label-stop-use": "Prestať používať túto tému", "label-install-and-use": "Nainštalovať a použiť", "label-update": "Aktualizovať", "label-no-readme": "Táto téma neposkytla README súbor.", "tooltip-remove-theme": "Odstrániť tému", "label-visit-on-github": "Zobraziť na GitHube", "msg-load-error": "Nepodarilo sa načítať komunitné témy, skontrolujte si internetové pripojenie.", "msg-now-using-theme": "Práve používate {{title}} ako vašu CSS tému.", "msg-deleted-theme": "Téma {{title}} bola odstránená.", "msg-updated-theme": "Téma {{title}} bola aktualizovaná.", "label-installed": "Nainštalovaná", "label-legacy": "Staršie", "button-update-all-themes": "Aktualizovať všetko", "msg-failed-load-themes": "Nepodarilo sa načítať komunitné témy.", "msg-no-updates-found": "Žiadne aktualizácie tém neboli nájdené.", "msg-updates-found": "Nájdená {{count}} aktualizácia témy.", "msg-updates-found_plural": "Nájdené(ých) {{count}} aktualizácie(í) tém.", "msg-failed-to-install-theme": "Nainštalovanie témy \"{{name}}\" sa nepodarilo.", "msg-successfully-installed-theme": "Téma \"{{name}}\" bola úspešne nainštalovaná.", "msg-installing-theme": "Téma \"{{name}}\" sa inštaluje...", "label-search-summary": "Zobrazených {{themeCount}}:", "label-update-available": "Je dostupná aktualizácia" }, "command-palette": { "name": "Paleta príkazov", "desc": "Zadajte príkaz, ktorý chcete vyvolať. Nemusíte používať užívateľské rozhranie alebo si pamätať skratku.", "action-open": "Otvoriť paletu príkazov", "instruction-navigate": "navigovať", "instruction-use": "použiť", "instruction-dismiss": "odmietnuť", "label-no-commands": "Neboli nájdené žiadne príkazy.", "prompt-type-command": "Napíšte príkaz...", "label-pinned-commands": "Pripnuté príkazy", "option-add-new-pin": "Novo pripnutý príkaz", "option-add-new-pin-description": "Pripnuté príkazy sa objavia navrchu všetkých príkazov v prípade, že nie je aktívne hľadanie." }, "markdown-format-importer": { "name": "Importér Markdown formátu", "desc": "Prevedie Markdown z iných aplikácií do formátu aplikácie Obsidian.", "action-open": "Otvoriť importér Markdown formátu", "option-roam-tag-fixer": "Oprava štítkov z Roam Research", "option-roam-tag-fixer-description": "Prevedie \"#tag\" a \"#[[tag]]\" na \"[[tag]]\".", "option-roam-highlight-fixer": "Oprava zvýraznenia Roam Research", "option-roam-highlight-fixer-description": "Prevedie \"^^highlight^^\" na \"==highlight==\".", "option-roam-todo-converter": "Oprava TODO z Roam Research", "option-roam-todo-converter-description": "Prevedie \"{{[[TODO]]}}\" na \"[ ]\".", "option-bear-highlight-fixer": "Oprava zvýraznenie z Bear", "option-bear-highlight-fixer-description": "Prevedie \"::highlight::\" na \"==highlight==\".", "zettelkasten-link-fixer": "Oprava Zettelkasten odkazov", "zettelkasten-link-fixer-description": "Prevedie \"[[UID]]\" odkazy na úplné \"[[UID File Name]]\".", "zettelkasten-link-beautifier": "Skrášlenie Zettelkasten odkazov", "zettelkasten-link-beautifier-description": "Prevedie \"[[UID]]\" odkazy a skrášli ich na \"[[UID File Name|File Name]]\".", "msg-all-files-warning": "Upozornenie: importér prevedie všetky súbory vo vašom trezore, nielen aktuálny súbor.", "msg-override-files-warning": "Vaše súbory budú prepísané. Pred konverziou súborov si všetky súbory zálohujte.", "label-start-conversion": "Spustiť konverziu", "label-stop": "Zastaviť", "label-go-back": "Naspäť", "label-done": "Hotovo", "label-processing": "Spracovávanie...", "label-cancelling": "Rušenie...", "label-finished": "Dokončené!", "label-processed-files": "Spracované súbory", "label-modified-files": "Upravené súbory", "label-total-replacements": "Celkovo nahradených" }, "daily-notes": { "name": "Každodenné poznámky", "desc": "Otvoriť dennú poznámku, ak ešte neexistuje tak ju vytvorí.", "short-name": "Dnes", "action-open": "Otvoriť dennú poznámku", "action-open-previous": "Otvoriť predchádzajúcu dennú poznámku", "action-open-next": "Otvoriť nasledujúcu dennú poznámku", "action-insert-text": "Vložiť text do dennej poznámky", "action-insert-link": "Vložiť odkaz do dennej poznámky", "msg-fail-format": "Nepodarilo sa vytvoriť dennú poznámku. \"{{format}}\" nie je validný formát.", "msg-fail-folder": "Nepodarilo sa vytvoriť dennú poznámku. Priečinok \"{{folderOption}}\" nebol nájdený.", "msg-fail-template-file": "Nepodarilo sa vytvoriť dennú poznámku. Súbor šablóny \"{{template}}\" nebol nájdený.", "msg-no-previous": "Neexistuje žiadna predchádzajúca denná poznámka.", "msg-no-next": "Neexistuje žiadna nasledujúca denná poznámka.", "option-date-format": "Formát dátumu", "label-refer-to-syntax": "Viac syntaxe nájdete na: ", "label-syntax-link": "dokumentácia formátu", "label-syntax-live-preview": "Ukážka ako to bude vyzerať: ", "option-new-file-location": "Umiestnenie nových súborov", "option-new-file-location-description": "Priečinok, kde sa budú vytvárať nové denné poznámky.", "option-template": "Umiestnenie šablóny", "option-template-description": "Umiestnenie súboru, ktorý bude použitý ako šablóna.", "option-open-on-start": "Otvoriť dennú poznámku pri štarte aplikácie", "option-open-on-start-description": "Otvoriť dennú poznámku automaticky vždy, keď otvoríte tento trezor." }, "unique-note-creator": { "name": "Unikátny tvorca poznámok", "desc": "Vytvoriť poznámky s unikátnymi predponami časových značiek pre pracovné postupy ako je zettelkasten alebo slip box.", "short-name": "Unikátny", "action-create-note": "Vytvoriť novú unikátnu poznámku", "action-add-link": "Pridať unikátny interný odkaz", "option-new-file-location": "Umiestnenie nového súboru", "option-new-file-location-description": "Cesta k priečinku na vytvorenie novej unikátnej poznámky.", "msg-folder-not-found": "Unikátnu poznámku sa nepodarilo vytvoriť. Priečinok \"{{folderOption}}\" nebol nájdený.", "option-template-file": "Umiestnenie súboru šablóny", "option-template-file-description": "Cesta k súboru, ktorý sa použije ako šablóna.", "option-template-file-placeholder": "Napr. priečinok1/poznámka", "option-id-format": "Unikátny formát predpony", "msg-template-file-not-found": "Vytvorenie unikátnej poznámky sa nepodarilo. Súbor šablóny \"{{template}}\" nebol nájdený.", "msg-failed-to-generate": "Nepodarilo sa vytvoriť unikátnu poznámku vo formáte \"{{format}}" }, "random-note": { "name": "Náhodná poznámka", "desc": "Otvoriť náhodnú poznámku. Užitočná pre kontrolovanie a objavovanie.", "short-name": "Náhodná", "action-open": "Otvoriť náhodnú poznámku" }, "outline": { "name": "Prehľad", "desc": "Zobrazí prehľad súčasného súboru alebo pripojeného panelu.", "action-open": "Otvoriť prehľad", "action-show": "Zobraziť panel prehľadu", "action-open-for-current": "Otvoriť prehľad aktuálneho súboru", "tab-title": "Prehľad {{displayText}}", "label-no-headings": "Neboli nájdené žiadne nadpisy.", "label-follow-cursor": "Automaticky skrolovať na aktuálnu sekciu" }, "word-count": { "name": "Počet slov", "desc": "Zobrazovať počet slov v stavovom riadku." }, "slides": { "name": "Snímky", "desc": "Prezentujte priamo z Markdownu. Použite \"---\" pre oddelenie snímkov prezentácie.", "action-start": "Spustiť prezentáciu" }, "audio-recorder": { "name": "Diktafón", "desc": "Nahrá zvukový záznam a uloží ho ako prílohu.", "action-start": "Spustiť nahrávanie zvuku", "action-stop": "Zastaviť nahrávanie zvuku", "action-toggle": "Spustiť/zastaviť nahrávanie", "msg-access-denied": "Bol zamietnutý prístup k mikrofónu, povoľte ho v paneli predvolieb.", "msg-pending-grant": "Ak chcete spustiť nahrávanie, udeľte oprávnenie pre používanie mikrofónu.", "msg-no-microphone": "Nie je pripojený žiadny mikrofón." }, "open-with-default-app": { "name": "Otvoriť v predvolenej aplikácií", "desc": "Pridá možnosť pre otvorenie aktuálneho súboru v predvolenej aplikácií.", "action-open-file": "Otvoriť v predvolenej aplikácií", "action-open-file-mobile": "Zdieľať", "action-show-in-folder": "Zobraziť v priečinku", "action-show-in-folder-mac": "Zobraziť vo Finderi" }, "templates": { "name": "Šablóny", "desc": "Vloží obsah šablóny z priečinku šablón.", "action-insert": "Vložiť šablónu", "action-insert-current-date": "Vložiť aktuálny dátum", "action-insert-current-time": "Vložiť aktuálny čas", "option-template-folder-location": "Umiestnenie priečinku šablón", "option-template-folder-location-description": "Súbory v tomto priečinku budú dostupné ako šablóny.", "option-template-date-format": "Formát dátumu", "option-template-date-format-description": "{{date}} v šablóne bude nahradený touto hodnotou.", "option-template-date-format-description2": "Tiež môžte použiť {{date:YYYY-MM-DD}} pre prepísanie formátu u konkrétneho súboru.", "option-template-time-format": "Formát času", "option-template-time-format-description": "{{time}} v šablóne bude nahradený touto hodnotou.", "option-template-time-format-description2": "Tiež môžte použiť {{time:HH:mm}} pre prepísanie formátu u konkrétneho súboru.", "instruction-navigate": "navigovať", "instruction-insert": "vložiť šablónu", "instruction-dismiss": "odmietnuť", "msg-no-templates-found": "Neboli nájdené žiadne šablóny", "msg-fail-invalid-folder": "Nepodarilo sa načítať šablóny. Súbor šablón je neplatný.", "msg-fail-folder-not-found": "Nepodarilo sa načítať šablóny. Priečinok \"{{folderOption}}\" nebol nájdený.", "msg-fail-invalid-template-properties": "Nie je možné vložiť šablónu, vlastnosti v súbore šablóny sa nepodarilo prečítať.", "msg-no-folder-set": "Nepodarilo sa načítať šablóny. Priečinok šablón nie je nakonfigurovaný.", "prompt-type-template": "Napíšte názov šablóny..." }, "translucency": { "name": "Priehľadné okno", "desc": "Pridá efekt priehľadnosti pre navodenie pocitu hĺbky. Vhodnejšie pre tmavý režim. Nepodporované na Linuxe." }, "slash-command": { "name": "Príkazy lomky", "desc": "Povolí možnosť vyvolať príkazy v editore napísaním lomky." }, "editor-status": { "name": "Stav editora", "desc": "Pridá položku stavového riadku na zobrazenie a zmenu aktuálneho módu editora.", "read": "Režim čítania", "edit-source": "Režim zdrojového kódu", "edit-live-preview": "Živý náhľad" }, "publish": { "name": "Publikovať", "desc": "Publikovať vaše poznámky pomocou Obsidian Publish.", "action-publish-changes": "Publikovať zmeny", "action-publish-file": "Publikovať aktuálny súbor", "label-no-internet-access": "Pre publikovanie zmien je nutný prístup k internetu.", "label-publish-service-description": "Obsidian Publish je doplnková platená služba, ktorá vám umožní publikovať poznámky online priamo z aplikácie Obsidian.", "label-please-login": "Pre publikovanie sa musíte prihlásiť alebo si vytvoriť Obsidian účet.", "label-no-publish-subscription": "Obsidian Publish zatiaľ nemáte predplatený.", "button-purchase": "Predplatiť", "label-manage-sites": "Spravovať stránky", "label-no-sites": "Nemáte žiadne stránky.", "button-choose": "Zvoliť", "tooltip-edit-site-id": "Zmeniť ID stránky", "tooltip-delete-site": "Odstrániť stránku", "label-delete-site-confirmation": "Ste si istý, že chcete túto stránku odstrániť?", "label-delete-site-details": "Vaša stránka bude okamžite a natrvalo odstránená.", "label-confirm-delete-site": "Potvrďte odstránenie stránky \"{{site}}\"", "option-site-id": "ID stránky", "option-site-id-description": "Vašu stránku nájdete na https://publish.obsidian.md/{site id}. Toto nastavenie môžte zmeniť aj neskôr. Povolené sú iba malé písmená, čísla a pomlčky.", "option-site-id-placeholder": "Zvoľte ID stránky", "button-create": "Vytvoriť", "msg-invalid-site-id": "ID stránky môže obsahovať iba malé písmená, čísla a pomlčky.", "msg-site-id-in-use": "Toto ID stránky už je použité, skúste prosím iné.", "msg-create-site-issue": "Pri vytváraní stránky došlo k chybe.", "label-site-options": "Nastavenie stránky", "option-site-general": "Všeobecné", "option-site-components": "Komponenty", "option-site-appearance": "Vzhľad", "option-site-reading-experience": "Zážitok z čítania", "option-site-misc": "Iné nastavenia stránky", "option-site-name": "Meno stránky", "option-site-name-description": "Meno vašej publikovanej stránky. Zobrazí sa ako nadpis vašej stránky.", "option-site-name-placeholder": "Meno vašej stránky", "option-home-page-file": "Súbor domovskej stránky", "option-home-page-file-description": "Prvá stránka, ktorú návštevník uvidí, ak navštívi vašu publikovanú stránku", "option-home-page-file-placeholder": "Zvoľte publikovaný súbor", "option-logo": "Logo", "option-logo-description": "Zvoľte súbor obrázku, ktorý bude použitý ako logo vašej stránky.", "option-logo-placeholder": "Akýkoľvek nahraný súbor vo vašom trezore...", "option-site-collaboration": "Spolupracovníci stránky", "option-site-collaboration-desc": "Spravovať spolupracovníkov pre túto stránku.", "option-customize-navigation": "Prispôsobiť navigáciu", "option-customize-navigation-desc": "Prepísať poradie navigačných položiek a skryť stránky alebo priečinky.", "option-navigation-order": "Poradie zobrazenia položky navigácie", "option-hide-items-in-navigation": "Skryť stránky alebo priečinky z navigácie", "option-hide-items-in-navigation-desc": "Pravým kliknutím a zvolením \"Hide\" zabránite určitým stránkam pre zobrazením v stránke navigácie. Stránky budú stále dostupné cez odkazy alebo priamo cez URL.", "option-show-hidden-items": "Zobraziť skryté", "button-customize-sidebar": "Spravovať", "label-navigation-modal-title": "Navigácia", "label-navigation-modal-desc": "Potiahnutím myšou prispôsobíte poradie, v ktorom sa položky navigácie zobrazujú na vašej Publikovanej stránke.", "option-hide-in-navigation": "Skryť v navigácií", "button-manage-collaborators": "Spravovať", "option-theme": "Téma", "option-theme-description": "Zvoliť predvolenú tému pre vaše stránky.", "option-theme-system": "Prispôsobiť systému", "option-show-theme-toggle": "Svetlá/tmavá téma", "option-show-theme-toggle-description": "Umožnite návštevníkom zmeniť medzi svetlou a tmavou témou.", "option-show-navigation": "Zobraziť navigáciu", "option-show-navigation-description": "Zobraziť zoznam všetkých publikovaných stránok na ľavej strane publikovanej stránky.", "option-show-search": "Zobraziť vyhľadávacie pole", "option-show-search-description": "Zobrazí vyhľadávacie pole nad navigáciou, ktorá návštevníkom umožní vyhľadať poznámky a nadpisy na vašich stránkach.", "option-show-graph": "Zobraziť graf", "option-show-graph-description": "Na každej stránke zobraziť malý lokálny graf.", "option-show-outline": "Zobraziť tabuľku obsahu", "option-show-outline-description": "Zobraziť tabuľku s obsahom na každej stránke.", "option-show-backlinks": "Zobraziť spätné odkazy", "option-show-backlinks-description": "Zobraziť sekciu spätných odkazov na konci každej stránky.", "option-sliding-window-mode": "Použiť posuvné okná", "option-sliding-window-mode-description": "Otvárať stránky na nových paneloch vpravo. Umožňuje vodorovné skrolovanie v paneloch.", "option-hover-preview-file": "Zobrazovať náhľad pri podržaní kurzorom", "option-hover-preview-file-description": "Zobrazí náhľad stránky pri podržaní kurzora na odkaze.", "option-hide-title": "Skryť názov stránky", "option-hide-title-description": "Skryje nadpis stránky. Užitočné vtedy, ak máte vlastné nadpisy na začiatku každej stránky.", "option-readable-line-length": "Čitateľná dĺžka riadku", "option-readable-line-length-description": "Obmedzí maximálnu dĺžku riadku. Na obrazovku sa zmestí menej informácií, ale dlhé odseky budú čitateľnejšie.", "option-site-password": "Heslá", "option-site-password-description": "Obmedziť prístup na vašej stránky pomocou hesla.", "option-google-analytics": "Sledovací kód Google Analytics", "option-google-analytics-description": "Nakonfigurovať Google Analytics pre vašu stránku. Dostupné iba pre návštevníkov na vašej vlastnej URL doméne. Skontrolujte najprv miestne zákony a regulácie.", "button-manage-passwords": "Spravovať", "button-save-site-settings": "Uložiť nastavenia stránky", "msg-updated-options": "Aktualizovať možnosti pre vaše stránky.", "button-go-back": "Späť", "label-publishing-to": "Publikovanie na", "tooltip-switch-site": "Prepnúť stránku", "button-add-linked": "Pridať odkaz", "tooltip-add-linked": "Pridá všetky súbory, ktoré sú prepojené s aktuálne zvolenou položkou", "msg-added-linked-files": "{{count}} odkazovaný súbor bol pridaný.", "msg-added-linked-files_plural": "{{count}} odkazované(ých) súbory(ov) boli(o) pridané(ých).", "tooltip-open-site-options": "Zmeniť možnosti stránky", "label-no-changes-detected": "Neboli nájdené žiadne zmeny.", "label-changed-files-to-be-published": "Zmeny", "label-unchanged-files-already-published": "Nezmenené (vybrať pre odstránenie)", "label-file-selected": " vybrané", "button-select-all-files": "Vybrať všetko", "label-custom-navigation-title": "Položky navigácie", "button-deselect-all-files": "Zrušiť výber všetkého", "label-new-files-to-be-published": "Nový", "button-publish": "Publikovať", "msg-no-permission-to-publish-to-site": "Nemáte práva pre publikovanie na aktuálnej stránke.", "msg-select-at-least-one-file": "Vyberte aspoň jeden súbor.", "label-upload-changes": "Nahrať zmeny", "button-done": "Hotovo", "button-stop": "Zastaviť", "label-status-uploading": "Nahrávanie", "label-status-to-publish": "Publikovať", "label-status-to-delete": "Odstrániť", "label-status-published": "Publikované", "label-status-deleted": "Odstránené", "label-status-failed": "Neúspešné", "label-status-cancelled": "Zrušené", "button-change": "Zmeny", "label-clear-cache": "Zmeny na stránke sa môžu prejaviť až po niekoľkých minútach. Ak najnovšie zmeny nevidíte, skúste vymazať vyrovnávaciu pamäť prehliadača.", "label-visit-site": "Vašu stránku môžete navštíviť tu: ", "msg-something-went-wrong": "Niečo sa pokazilo. Podrobnosti nájdete v konzole pre vývojárov.", "msg-network-error": "Vyskytla sa chyba s internetovým pripojením. ", "label-manage-passwords": "Spravovať heslá", "label-add-password": "Pridať heslo", "action-new-password": "Nové heslo", "label-no-password": "Vaša stránka aktuálne nemá žiadne heslá. Ktokoľvek ju môže navštíviť.", "label-have-password": "Vaša stránka je chránená heslom. Ak máte viacero hesiel, návštevníci môžu použiť ktorékoľvek z nich pre návštevu vašich stránok.", "option-password-name": "Heslo", "option-password-desc": "Hash vášho hesla bude bezpečne uložený. Ak je raz heslo nastavené, nemôže byť odhalené v textovej podobe.", "option-password-placeholder": "Vaše heslo", "option-nickname-name": "Prezývka (voliteľné)", "option-nickname-desc": "Nastavte si prezývku ako pripomienku komu je heslo určené.", "action-add-password": "Pridať toto heslo", "label-untitled-password": "Heslo bez názvu", "label-password-created-time": "Vytvorené {{time}}", "msg-added-new-password": "Nové heslo bolo pridané.", "option-custom-domain": "Vlastná doména", "option-custom-domain-desc": "Použite radšej vlastnú doménu ako https://publish.obsidian.md/{site id} URL.", "option-noindex": "Zakázať indexovanie vyhľadávacieho nástroja", "option-noindex-desc": "Zabráňte vyhľadávacím nástrojom v indexovaní vašich stránok.", "button-configure": "Konfigurovať", "label-configure-custom-domain": "Konfigurovať vlastnú doménu", "option-custom-url-name": "Vlastné URL", "option-custom-url-desc": "Adresa URL, na ktorej sa bude nachádzať vaša stránka.", "option-custom-url-placeholder": "www.vasadomena.com", "option-custom-url-redirect": "Presmerujte na svoju vlastnú doménu", "option-custom-url-redirect-desc": "Presmerujte návštevníkov z publish.obsidian.md/id na vašu vlastnú doménu.", "button-update-custom-domain": "Aktualizovať nastavenie domény", "label-custom-domain-instructions": "Viac informácií nájdete na našej stránke pomoci {{link}}.", "label-custom-domain-link-name": "sprievodca nastavením vlastnej domény", "label-site-usage": "Používate {{site}} z vášho {{limit}}.", "button-add-more-sites": "Kúpiť viac stránok", "label-no-sites-bought": "Neboli kúpené žiadne stránky.", "button-get-site": "Získať stránku", "label-manage-sharing": "Spravovať zdieľanie pre \"{{name}}\"", "label-sharing-with-users": "Táto stránka je aktuálne zdieľaná s nasledujúcimi ľuďmi.", "label-not-sharing": "Táto stránka aktuálne nie je s nikým zdieľaná.", "label-invite-pending": "Čakajúce", "tooltip-remove-user": "Odstrániť používateľa", "option-invite-user": "Pozvať používateľa", "placeholder-invite-user": "Zadajte jeho email...", "error-email-must-be-valid": "Prosím vložte platný email pre pozvánku.", "msg-enable-publish-plugin": "Ak chcete zobraziť stránky, povoľte plugin Publish v Nastavenia -> Vstavané pluginy.", "label-your-sites": "Vaše stránky", "label-sites-shared-with-you": "Stránky zdieľané s vami", "tooltip-leave-site-sharing": "Zastaviť spoluprácu na tejto stránke", "label-leave-site-confirmation": "Potvrdiť zastavenie spolupráce na tejto stránke", "label-leave-site-confirmation-details": "Toto odstráni stránku zo zoznamu stránok zdieľaných s vami. Túto akciu nemožno vrátiť späť.", "label-leave-site-confirmation-details-2": "Kontaktujte prosím vlastníka stránky, ak chcete znovu spolupracovať na tejto stránke.", "button-leave": "Opustiť", "label-compare-with-live": "Porovnať so živou verziou", "button-use-live-version": "Použiť živú verziu", "label-confirm-override": "Potvrďte prepísanie lokálnej verzie", "label-confirm-override-1": "Ste si istý, že chcete prepísať lokálnu verziu?", "label-confirm-override-2": "Živá verzia bude použitá a lokálna verzia bude zahodená. Ak potrebujete, urobte si zálohu.", "button-proceed": "Pokračovať", "message-successfully-used-live-version": "Úspešne bola použitá živá verzia na prepísanie lokálnej verzie.", "label-open-in-live-site": "Otvoriť na živej stránke", "label-open-file": "Otvoriť súbor", "tooltip-manage-publish-filters": "Správa publikačných filtrov", "option-included-folders": "Zahrnuté priečinky", "option-included-folders-desc": "Súbory pod týmito priečinkami budú automaticky zvolené pri kontrole zmien, ktoré chcete publikovať.", "option-currently-included-folders": " Tieto priečinky sú aktuálne zahrnuté:", "option-excluded-folders": "Vylúčené priečinky", "option-excluded-folders-desc": "Súbory pod týmito priečinkami nebudú zahrnuté pri kontrole zmien, ktoré chcete publikovať. Toto nastavenie má prioritu nad nastavením zahrnutých priečinkov.", "label-number-of-folders-included": "Obsidian Publish aktuálne obsahuje {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish aktuálne vylúčené {{folders}}.", "label-manage-included-folders": "Spravovať zahrnuté priečinky", "label-manage-excluded-folders": "Spravovať vylúčené priečinky", "label-add-included-folder": "Zahrnúť priečinok", "label-add-included-folder-desc": "Môžete zahrnúť existujúce priečinky aj priečinky, ktoré ešte neexistujú.", "tooltip-contact-support": "Kontaktovať podporu", "label-navigation-preview": "Náhľad navigácie" }, "workspaces": { "name": "Pracovné priestory", "desc": "Uložiť a načítať rozloženie pracovného priestoru.", "action-load-layout": "Načítať rozloženie pracovného priestoru", "action-manage-layouts": "Spravovať rozloženie pracovného priestoru", "action-save": "Uložiť rozloženie", "action-save-and-load-layout": "Uložiť a načítať iné rozloženie", "placeholder-save-current-layout-as": "Uložiť aktuálne rozloženie pracovného priestoru ako...", "button-save": "Uložiť", "button-load": "Načítať", "tooltip-delete-layout": "Odstrániť rozloženie", "msg-enter-name": "Zadajte názov nového rozloženia.", "msg-save-layout-success": "Rozloženie bolo úspešne uložené.", "label-no-layout-found": "Nebolo nájdené žiadne uložené rozloženie.", "label-workspace-modified-time": "Upravené {{time}}", "placeholder-type-to-search-layouts": "Vložte názov rozloženia..." }, "sync": { "name": "Synchronizácia", "desc": "Synchronizujte vaše súbory cez Obsidian Sync.", "action-view-version-history": "Zobraziť históriu verzií", "action-setup-sync": "Nastaviť synchronizáciu", "menu-opt-view-version-history": "Otvoriť históriu verzií", "action-view-sync-sidebar": "Zobraziť históriu synchronizácie", "action-activity-log": "Otvoriť záznam o činnosti", "label-load-more": "Načítať viac", "label-show-diff": "Zobraziť zmeny", "label-copy-to-clipboard": "Kopírovať do schránky", "label-restore-this-version": "Obnoviť túto verziu", "msg-already-latest-version": "Táto verzia je najnovšia verzia.", "msg-restored-version": "Úspešne obnovená verzia z {{time}}", "label-file-deleted": "Tento súbor bol odstránený", "label-file-deleted-via": "Odstránené zariadením {{ device }}", "label-file-renamed-from": "Tento súbor bol premenovaný z \"{{filepath}}\"", "label-revision": "{{count}} revízia", "label-revision_plural": "{{count}} revízie(í)", "label-via-device": "zariadením {{device}}", "label-no-history": "Žiadna história synchronizácie pre tento súbor.", "label-empty-file": "Prázdny", "label-unable-to-retrieve": "Nemožno získať históriu verzií", "label-setting-files": "Nastavenie súborov", "label-deleted-files": "Odstránené súbory", "label-version-history": "História verzií", "label-click-to-see-history": "Kliknite na odstránený súbor pre zobrazenie jeho histórie.", "label-create-remote-vault": "Vytvoriť vzdialený trezor", "msg-please-enter-password": "Zadajte heslo.", "msg-vault-name-cannot-be-empty": "Názov trezoru nesmie byť prázdny.", "msg-successfully-created-vault": "Vzdialený trezor bol úspešne vytvorený \"{{name}}\".", "label-remote-vault-explanation": "Bezpečne synchronizovať vzdialené trezory medzi vašimi zariadeniami.", "option-vault-name": "Názov trezoru", "option-vault-name-desc": "Pomôže vám pripomenúť, čo je v tomto trezore.", "option-vault-region": "Oblasť", "opt-vault-region-automatic": "Automatická", "option-vault-region-desc": "Zvoľte oblasť serveru, ktorá je najbližšie k vám, pre uloženie vzdialeného trezoru. Toto nastavenie sa nedá v budúcnosti zmeniť.", "option-vault-name-placeholder": "Môj úžasný trezor", "option-encryption": "Šifrovanie", "option-encryption-desc": "End-to-end šifrovanie ponúka najvyššiu bezpečnosť, ale vyžaduje bezpečné uloženie šifrovacieho hesla. Štandardné šifrovanie používa kľúč spravovaný Obsiadianom, pre ochranu dát počas prenosu na naše servery.", "option-encryption-warning": "Táto možnosť sa nedá zmeniť v budúcnosti.", "option-encryption-end-to-end": "End-to-end šifrovanie", "option-encryption-standard": "Štandardné šifrovanie", "option-encryption-password": "Šifrovacie heslo", "option-encryption-password-desc": "Heslo nemôže byť neskôr zmenené.", "option-encryption-password-desc-warning": "Ak zabudnete heslo, všetky vzdialené dáta budú navždy nepoužiteľné.", "option-encryption-password-desc-2": "Toto neovplyvní vaše lokálne dáta.", "label-encryption-password-explanation": "Vzdialený trezor “{{name}}” je aktuálne zašifrovaný. Pre odblokovanie zadajte heslo.", "option-encryption-password-placeholder": "Vaše heslo", "label-unlock-encrypted-vault": "Odomknúť váš vzdialený trezor", "button-unlock-vault": "Odomknúť trezor", "label-remote-vaults": "Vaše vzdialené trezory", "label-vault-created-time": "Vytvorené {{time}}", "tooltip-delete-remote-vault": "Odstrániť", "tooltip-rename-remote-vault": "Premenovať", "label-rename-remote-vault": "Premenovať vzdialený trezor \"{{name}}\"", "label-rename-remote-vault-desc": "Vložte nový názov pre vzdialený trezor.", "tooltip-manage-sharing": "Spravovať zdieľanie", "label-confirm-delete-remote-vault": "Potvrdiť odstránenie trezoru", "label-confirm-delete-remote-vault-question": "Ste si istý, že chcete odstrániť tento vzdialený trezor?", "label-confirm-delete-remote-vault-result": "Všetky dáta sú na našich serveroch, vrátane histórie verzií, budú odstránené. Vaše lokálne súbory zostanú nedotknuté.", "label-confirm-delete-remote-vault-warning": "Táto akcia je trvalá a nezvratná.", "msg-remote-vault-deleted": "{{name}} bol odstránený.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: Prepojený vzdialený trezor už neexistuje.", "button-connect-to-remote-vault": "Pripojiť", "button-disconnect-from-remote-vault": "Odpojiť", "label-sync-status": "Synchronizácia: {{status}}", "label-not-remote-vaults": "Nemáte žiadny vzdialený trezor.", "label-no-subscription": "Nemáte aktívne predplatné Obsidian Sync.", "label-please-visit": "Navštívte", "label-preview-unsupported-file-type": "Nie je možné zobraziť ukážku {{type}} súborov.", "button-create-new-remote-vault": "Vytvoriť nový trezor", "label-sync-log": "Záznam synchronizácií", "option-event-type-all": "Všetko", "option-event-type-errors": "Chyby", "option-event-type-skipped": "Preskočené", "option-event-type-merge-conflicts": "Zlúčiť konflikty", "button-copy-sync-log": "Kopírovať záznam synchronizácie", "msg-successfully-copied-sync-log": "Úspešne skopírovaný záznam synchronizácie.", "button-retry": "Skúsiť znova", "button-purchase-subscription": "Kúpiť", "label-third-party-sync-warning": "Bola zistená konfliktná služba synchronizácie súborov", "label-third-party-sync-warning-desc": "Varovanie: Váš trezor používa {{service}} ako synchronizačnú službu tretej strany. Ak použijete Obsidian Sync s týmto trezorom, môžu sa vyskytnúť konflikty, poškodenie súboru alebo hrozí strata dát.", "label-icloud-drive-warning": "Ak používate iCloud Drive, vaše Dokumenty a Priečinky pracovnej plochy môžu byť synchronizované cez iCloud. To môže spôsobiť konflikty s Obsidian Sync.", "option-remote-vault": "Vzdialený trezor", "button-choose-remote-vault": "Vybrať", "button-manage-remote-vault": "Spravovať", "option-remote-vault-desc-connected": "Aktuálne prepojené s \"{{name}}\" vzdialeným trezorom.", "option-remote-vault-desc-not-connected": "Aktuálne nie je pripojené k žiadnemu vzdialenému trezoru.", "option-sync-status": "Stav synchronizácie", "option-sync-status-desc-paused": "Obsidian Sync je aktuálne pozastavený.", "option-sync-status-desc-running": "Obsidian Sync aktuálne beží", "option-device-name": "Názov zariadenia", "option-device-name-desc": "Tento názov zariadenia bude zobrazený v zázname synchronizácie. Nechajte prázdne, pre použitie predvoleného názvu.", "button-resume": "Pokračovať", "button-pause": "Pozastaviť", "option-view-deleted-files": "Odstránené súbory", "option-view-deleted-files-desc": "Zobraziť a obnoviť odstránené súbory.", "option-sync-log": "Synchronizovať aktivitu", "option-sync-log-desc": "Zobraziť nedávnu synchronizovanú aktivitu pre ladenie.", "button-view": "Zobraziť", "button-bulk-restore": "Hromadné obnovenie", "button-restore-files_zero": "Obnoviť súbory", "button-restore-files": "Obnoviť {{count}} súbor", "button-restore-files_plural": "Obnoviť {{count}} súbory(ov)", "msg-restoring": "Obnovovanie...", "msg-restoring-complete": "Obnova hotová: {{succeeded}} úspešných a {{failed}} neúspešných.", "option-vault-size": "Veľkosť trezoru", "option-vault-size-desc": "Používate {{size}} mimo {{limit}}", "option-vault-size-unknown": "Nie je možné získať veľkosť trezoru.", "option-vault-size-loading": "Získavanie veľkosti trezoru...", "option-over-size": "Veľkosť trezoru je nad limit", "option-almost-over-size": "Veľkosť trezoru sa približuje k limitu", "msg-largest-files": "Zobraziť najväčší súbor", "msg-largest-files-desc": "Toto sú vzdialené súbory, ktoré zaberajú najviac miesta. Po odstránení príloh, použite tlačidlo na vyčistenie k uvoľneniu miesta vzdialeného trezoru.", "button-upgrade-storage": "Vylepšiť úložisko", "button-purge-remote": "Vyčistiť", "button-hide-my-changes": "Skryť zmeny", "tooltip-purge-remote": "Natrvalo vyčistiť odstránené prílohy z vzdialeného trezoru k ušetreniu miesta.", "msg-purge-complete": "Vyčistené.", "option-prevent-sleep": "Zabrániť zariadeniu v prechode do režimu spánku", "option-prevent-sleep-desc": "Zabraňuje zariadeniu v prechode do režimu spánku, keď súbory ešte nie sú synchronizované.", "option-selective-sync": "Selektívna synchronizácia", "option-excluded-folders": "Vylúčené priečinky", "option-excluded-folder-desc": "Zabrániť synchronizácií určitých priečinkov.", "option-currently-excluded-folders": " Tieto súbory sú aktuálne vylúčené:", "button-manage-excluded-folders": "Spravovať", "option-sync-image": "Synchronizovať obrázky", "option-sync-image-desc": "Synchronizovať súbory obrázkov s týmito príponami: {{extensions}}.", "option-sync-audio": "Synchronizovať audio", "option-sync-audio-desc": "Synchronizovať audio súbory s týmito príponami: {{extensions}}.", "option-sync-video": "Synchronizovať videá", "option-sync-video-desc": "Synchronizovať video súbory s týmito príponami: {{extensions}}.", "option-sync-pdf": "Synchronizovať PDF", "option-sync-pdf-desc": "Synchronizovať PDF súbory.", "option-sync-unsupported": "Synchronizovať ostatné typy súborov", "option-sync-unsupported-desc": "Synchronizovať nepodporované typy súborov.", "option-vault-config-sync": "Synchronizácia konfigurácie trezoru", "option-view-config-files": "História verzií nastavení", "option-view-config-files-desc": "Zobrazenie a obnovenie histórie verzií súborov nastavení.", "option-sync-app": "Hlavné nastavenia", "option-sync-app-desc": "Povoliť synchronizáciu nastavení editora, nastavení súborov a odkazov, vlastných skratiek, atď.", "option-sync-appearance": "Nastavenie vzhľadu", "option-sync-appearance-desc": "Synchronizovať nastavenie vzhľadu ako tmavý režim, aktívna téma, a povolené snippety.", "option-sync-appearance-data": "Témy a snippety", "option-sync-appearance-data-desc": "Synchronizovať stiahnuté témy a snippety. Ich povolenie závisí od predchádzajúcich nastavení.", "option-sync-hotkey": "Klávesové skratky", "option-sync-hotkey-desc": "Synchronizovať vlastné klávesové skratky.", "option-sync-core-plugin": "Zoznam aktívnych vstavaných pluginov", "option-sync-core-plugin-desc": "Synchronizovať, ktoré vstavané pluginy sú zapnuté.", "option-sync-core-plugin-data": "Nastavenia vstavaných pluginov", "option-sync-core-plugin-data-desc": "Synchronizovať nastavenia vstavaných pluginov.", "option-sync-community-plugin": "Zoznam aktívnych komunitných pluginov", "option-sync-community-plugin-desc": "Synchronizovať, ktoré komunitné pluginy sú zapnuté.", "option-sync-community-plugin-data": "Nainštalované komunitné pluginy", "option-sync-community-plugin-data-desc": "Synchronizovať nainštalované komunitné pluginy (.js, .css, a manifest.json súbory) a ich nastavenia.", "label-sync-introduction": "Obsidian Sync je doplnková synchronizačná služba Obsidianu s end-to-end šifrovaním a históriou verzií.", "label-account-required": "Pre spustenie synchronizácie sa prosím prihláste alebo si vytvorte nový Obsidian účet.", "label-current-file": "Aktuálny súbor", "label-sync-changes": "Synchronizovať zmeny", "label-today": "Dnes", "label-yesterday": "Včera", "label-this-week": "Tento týždeň", "label-older": "Staršie", "label-last-sync": "Posledná synchronizácia", "label-more": "{{count}} viac", "button-sign-up": "Zaregistrovať", "button-log-in": "Prihlásiť", "label-manage-excluded-folders": "Spravovať vylúčené priečinky", "label-number-of-folders-excluded": "{{folders}} sú aktuálne vylúčené zo synchronizácie.", "label-add-excluded-folder": "Vylúčiť priečinok", "label-add-excluded-folder-desc": "Môžete vylúčiť už existujúce priečinky aj priečinky, ktoré ešte neboli vytvorené.", "tooltip-remove-excluded-folder": "Odobrať zo zoznamu vylúčených priečinkov", "label-setup-connection": "Nastaviť pripojenie", "label-connecting-to-vault": "Pripájanie...", "label-connection-failed": "Pripojenie zlyhalo", "label-connection-failed-desc": "Nepodarilo sa pripojiť k vzdialenému trezoru.", "label-now-connected-to-vault": "Teraz ste pripojený k \"{{name}}\".", "button-start-syncing": "Spustiť synchronizáciu", "label-confirm-merge-vault": "Potvrdiť zlúčenie trezoru", "msg-vault-has-notes": "Váš lokálny trezor už obsahuje nejaké poznámky.", "msg-vault-merge-warning": "Ak sa pripojíte k vzdialenému trezoru \"{{name}}\", poznámky v lokálnom trezore budú zlúčené s poznámkami vzdialeného trezoru. V prípade konfliktu, bude zachovaná najnovšia verzia poznámky.", "tooltip-update-setting-on-all-devices": "Aktualizujte túto možnosť a reštartujte aplikáciu na všetkých zariadeniach, na ktorých chcete aby sa prejavila.", "label-sharing-with-users": "Tento vzdialený trezor je aktuálne zdieľaný s nasledujúcimi ľuďmi.", "label-not-sharing": "Tento vzdialený trezor aktuálne nie je zdieľaný s nikým.", "label-vaults-shared-with-you": "Trezory zdieľané s vami", "tooltip-leave-vault-sharing": "Prestať spolupracovať na tomto trezore", "label-leave-vault-confirmation": "Potvrdiť zastavenie spolupráce na trezore", "label-leave-vault-confirmation-details": "Týmto sa tento trezor odstráni zo zoznamu trezorov zdieľaných s vami. Túto akciu nie je možné vrátiť späť.", "label-leave-vault-confirmation-details-2": "Kontaktujte vlastníka trezoru, ak chcete spolupracovať na tomto trezore.", "button-leave": "Opustiť", "msg-error-failed-to-fetch": "Nepodarilo sa načítať vzdialené trezory.", "label-require-subscription-to-connect": "Na pripojenie k tomuto trezoru potrebujete predplatné Obsidian Sync.", "option-contact-support": "Kontaktovať podporu", "option-contact-support-desc": "Ak narazíte na nejaké problémy s Obsidian Sync, kontaktujte nás, aby sme vám mohli pomôcť! Kontaktovať nás môžete na adrese support@obsidian.md.", "button-copy-debug": "Kopírovať ladiace informácie", "button-email-support": "Emailová podpora", "label-sync-disconnected": "Obsidian Sync nie je pripojený k vzdialenému trezoru.", "msg-remote-vault-limit-hit": "Obsidian Sync vám umožňuje vytvoriť až 5 vzdialených trezorov. Ak chcete vytvoriť nový vzdialený trezor, odstráňte existujúci.", "label-upgrade-vault": "Aktualizovať trezor", "label-upgrade-vault-encryption": "Aktualizovať šifrovanie trezoru", "label-upgrade-vault-encryption-desc": "Je dostupná nová verzia šifrovania pre vzdialené trezory.", "label-migrate-remote-vault": "Migrovať vzdialený trezor", "label-remote-vault-configuration": "Konfigurácia vzdialeného trezoru", "button-migrate": "Migrovať", "msg-recreate-remote-vault": "Týmto sa odstráni váš vzdialený trezor a vytvorí sa znova s najnovším šifrovaním. Lokálne súbory sa nezmenia, ale stratí sa história verzií.", "label-confirm-migrate": "Potvrdiť migráciu trezoru", "msg-migrate-pre-confirmation-part1": "Pre aktualizáciu šifrovania, všetky dáta v trezore budú znovu nahrané na Obsidian synchronizačné servery s použitím novej metódy šifrovania. Tento proces natrvalo odstráni všetky dáta šifrované starou metódou šifrovania, vrátane histórie verzií vášho trezoru.", "msg-migrate-pre-confirmation-part2": "Dôležité: pred pokračovaním odporúčame vytvorenie zálohy vášho trezoru, aby ste predišli potenciálnej strate dát.", "msg-migrate-pre-confirmation-part3": "Po dokončení aktualizácie, budete musieť znova pripojiť všetky zariadenia k aktualizovanému vzdialenému trezoru.", "msg-migrate-confirmation": "Migrácia vášho trezoru môže trvať nejaký čas. Obsidian budete musieť nechať aktívny na tomto zariadení, pre opätovné nahranie všetkých vašich poznámok a príloh. Najlepšie je na tento proces použiť vaše primárne zariadenie.", "msg-migrate-confirmation-size": "Máte {{size}} dát. Migrácia vášho trezoru môže zabrať nejaký čas. Obsidian budete musieť nechať aktívny na tomto zariadení pre opätovné nahranie všetkých vašich poznámok a príloh.", "msg-proceed-prompt": "Chcete pokračovať?", "msg-vault-migration-started": "Prebieha migrácia trezoru." }, "file-recovery": { "name": "Obnova súboru", "desc": "Umožňuje obnoviť nedávne obrazy súborov po náhodnej strate údajov. Obrazy súborov sú ukladané iba pre Markdown súbory.", "action-open": "Otvoriť uložené obrazy súborov", "option-interval": "Interval vytvorenia obrazu", "option-interval-description": "Minimálny interval medzi dvoma obrazmi v minútach.", "option-keep": "Dĺžka histórie", "option-keep-description": "Dĺžka uchovávania histórie obrazov v dňoch.", "option-open-history": "Obrazy histórie", "option-open-history-description": "Zobraziť a obnoviť uložené obrazy súborov.", "button-view-snapshots": "Zobraziť", "option-clear": "Vyčistiť históriu", "option-clear-description": "Odstrániť všetky obrazy.", "button-clear-history": "Vyčistiť", "label-clear-warning": "Ste si istý, že chcete odstrániť celú históriu obrazov súborov? Odstránené budú obrazy súborov. Všetky súbory vo vašom trezore budú zachované.", "msg-clear-complete": "Obrazy boli odstránené.", "label-no-history-found": "Nenašli sa žiadne obrazy súborov.", "placeholder-choose-file": "Zvoľte súbor...", "label-select-file": "Zvoľte súbor vľavo pre zobrazenie obrazu súborov." }, "note-composer": { "name": "Zlučovač poznámok", "desc": "Zlúčenie, rozdelenie a refaktorovanie poznámok.", "option-confirm-file-merge": "Potvrdiť zlúčenie súboru", "option-confirm-file-merge-description": "Vyzvať pred zlúčením dvoch súborov.", "option-split-replacement-text": "Text po extrakcií", "option-split-replacement-text-description": "Čo zobraziť namiesto vybraného textu po jeho extrahovaní.", "option-choice-split-replacement-text-link": "Odkaz na nový súbor", "option-choice-split-replacement-text-embed": "Vložiť nový súbor", "option-choice-split-replacement-text-none": "Žiadny", "option-template-file": "Umiestnenie šablóny súboru", "option-template-file-description": "Súbor šablóny, ktorý sa použije pri zlučovaní alebo extrahovaní. Dostupné premenné: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, napr. {{date:YYYY-MM-DD}}.", "command-merge-file": "Zlúčiť aktuálny súbor s ďalším súborom...", "action-merge-file": "Zlúčiť celý súbor s...", "label-no-files": "Žiadne súbory neboli nájdené.", "instruction-navigate": "navigovať", "instruction-merge": "zlúčiť", "instruction-create-new": "vytvoriť nový", "instruction-merge-at-top": "zlúčiť navrchu", "instruction-dismiss": "odmietnuť", "prompt-select-file-to-merge": "Vyberte súbor, do ktorého sa má zlúčiť...", "label-merge-file": "Zlúčiť súbor", "label-confirm-file-merge": "Ste si istý, že chcete zlúčiť \"{{file}}\" do \"{{destination}}\"? \"{{file}}\" bude odstránený.", "button-merge": "Zlúčiť", "command-split-file": "Extrahovať aktuálny výber...", "command-extract-heading": "Extrahovať tento nadpis...", "instruction-append": "presunúť nadol", "instruction-prepend": "presunúť nahor", "msg-fail-to-fetch-template": "Nepodarilo sa načítať súbor šablóny: \"{{template}}\" nebol nájdený.", "msg-fail-to-find-heading": "Nepodarilo sa nájsť nadpis" }, "web-viewer": { "name": "Webový prehliadač", "history-name": "História prehľadávania webu", "desc": "Otvoriť externé odkazy web stránok v Obsidiane.", "action-open": "Otvoriť históriu prehľadávania webu", "action-show-history": "Zobraziť históriu", "action-toggle-reader-mode": "Prepínanie režimu čítania", "action-copy-u-r-l": "Kopírovať URL", "action-remove-from-history": "Odstrániť z histórie", "action-clear-history": "Odstrániť históriu", "action-open-link": "Otvoriť odkaz", "action-open-link-new-tab": "Otvoriť odkaz v novej karte", "action-open-link-new-split": "Otvoriť odkaz napravo", "action-open-link-new-window": "Otvoriť odkaz v novom okne", "action-open-link-default-browser": "Otvoriť odkaz v predvolenom prehliadači", "action-open-link-web-viewer": "Otvoriť odkaz vo webovom prehliadači", "action-copy-link-address": "Kopírovať adresu odkazu", "action-bookmark-link": "Uložiť odkaz do záložiek", "action-search-for-query": "Hľadať “{{query}}”", "action-extract-selection": "Extrahovať výber do novej poznámky", "action-copy-selection": "Kopírovať", "action-cut": "Vystrihnúť", "action-paste": "Prilepiť", "action-delete": "Odstrániť", "action-select-all": "Vybrať všetko", "action-save-to-vault": "Uložiť do trezoru", "action-save-image": "Uložiť obrázok do trezoru", "action-copy-image": "Kopírovať obrázok", "action-copy-image-link": "Kopírovať odkaz na obrázok", "action-backward": "Dozadu", "action-forward": "Dopredu", "action-reload": "Znovu načítať", "action-bookmark-page": "Uložiť stránku do záložiek", "action-open-default-browser": "Otvoriť v predvolenom prehliadači", "action-focus-address-bar": "Zamerať sa na adresný riadok", "action-search-the-web": "Hľadať na webe", "action-clear-data": "Odstrániť údaje", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "Môže vás odhlásiť z webstránok.", "action-clear-data-cache": "Údaje v cache", "action-clear-data-history": "História", "action-clear-data-all": "Všetky údaje webového prehliadača", "action-clear-data-all-desc": "Odstráni všetky vyššie uvedené položky, ako aj lokálne úložisko a aktívne relácie.", "label-new-web-viewer": "Nový webový prehliadač", "label-fail-to-load": "Túto stránku nie je možné načítať.", "label-fail-to-load-desc": "Skontrolujte, že ste zadali správnu adresu.", "label-search-the-web": "Vyhľadávať na webe", "label-web-viewer-data": "Údaje webového prehliadača", "label-clear-data": "Odstrániť údaje webového prehliadača", "option-open-external-links": "Otvárať externé odkazy", "option-open-external-links-desc": "Otvárať odkazy v Obsidiane namiesto predvoleného prehliadača.", "option-homepage": "Domovská stránka", "option-homepage-desc": "Akú stránku zobraziť po otvorení webového prehliadača", "option-saved-markdown": "Priečinok uložených stránok", "option-saved-markdown-desc": "Tu budú uložené webstránky v Markdown formáte.", "option-search-engine": "Vyhľadávací nástroj", "option-search-engine-desc": "Vyhľadávací nástroj používaný pri hľadaní z adresného riadku.", "option-search-engine-custom": "Vlastný vyhľadávací nástroj", "option-search-engine-custom-desc": "Používať %s namiesto dotazu.", "option-search-engine-custom-drop-down": "Vlastný", "option-enable-adblock": "Povoliť blokovanie reklám", "option-enable-adblock-desc": "Ak bude povolené, nižšie uvedené filtre sa použijú na všetky karty webového prehliadača.", "option-adblock-lists": "Pravidlá blokovania reklám", "option-adblock-lists-desc": "Jedna adresa blokovanej reklamy na riadok. Nastavenie je zdieľané medzi všetkými trezormi.", "option-adblock-frequency": "Frekvencia aktualizácie blokovania reklám", "option-adblock-frequency-desc": "Počet dní medzi aktualizáciou zoznamu filtrov. 0 znamená vypnuté. Nastavenie je zdieľané medzi všetkými trezormi.", "title-clear-data-modal": "Odstrániť dáta webového prehliadača", "msg-error-extracting-content": "Neočakávaná chyba pri extrakcií obsahu.", "msg-error-finding-content": "Nie je možné nájsť obsah na extrakciu." }, "canvas": { "name": "Plátno", "desc": "Usporiadať a prepojiť poznámky na nekonečnom plátne.", "action-add-note": "Pridať poznámku z trezoru", "action-add-media": "Pridať média z trezoru", "action-add-card": "Pridať kartu", "action-add-website": "Pridať webstránku", "action-create-group": "Vytvoriť skupinu", "action-create-with-size": "Vytvoriť kartu s určitou veľkosťou", "action-convert-to-file": "Konvertovať na súbor...", "action-drag-to-add-note": "Potiahnutím pridáte poznámku z trezoru", "action-drag-to-add-media": "Potiahnutím pridáte média z trezoru", "action-drag-to-add-card": "Potiahnutím pridáte kartu", "action-edit-label": "Upraviť štítok", "action-remove-label": "Odstrániť štítok", "action-search-file": "Hľadať súbor", "action-set-color": "Nastaviť farbu", "action-align": "Zarovnať", "action-align-left": "Zarovnať vľavo", "action-align-center": "Zarovnať na stred", "action-align-right": "Zarovnať vpravo", "action-align-top": "Zarovnať navrch", "action-align-middle": "Zarovnať do stredu", "action-align-bottom": "Zarovnať nadol", "action-distribute-horizontal-spacing": "Distribuovať horizontálne", "action-distribute-vertical-spacing": "Distribuovať vertikálne", "action-justify-horizontally": "Vyrovnať horizontálne", "action-justify-vertically": "Vyrovnať vertikálne", "action-arrange-horizontally": "Usporiadať do riadku", "action-arrange-vertically": "Usporiadať do stĺpca", "action-arrange-grid": "Usporiadať do mriežky", "action-export-png": "Exportovať ako obrázok", "action-jump-to-group": "Prejsť na skupinu", "action-set-background": "Nastaviť pozadie", "action-edit-background": "Upraviť pozadie", "action-replace-background": "Nahradiť pozadie", "action-remove-background": "Odstrániť pozadie", "label-no-images": "Neboli nájdené žiadne obrázky.", "label-no-media": "Neboli nájdené žiadne média.", "label-export-png-desc": "Exportovať \"{{title}}\" ako PNG obrázok s nižšie uvedeným nastavením.", "label-export-png-dimensions": "Odhadované rozmery obrázku: {{dimensions}}", "label-distribute": "Distribuovať", "label-justify": "Vyrovnať", "label-arrange": "Usporiadať", "label-always": "Vždy", "label-hover": "Pri nabehnutí myšou", "label-never": "Nikdy", "label-no-section-found": "Nebola nájdená žiadna sekcia", "option-wheel-behavior": "Predvolené správanie kolečka myši", "option-mod-drag-behavior": "Predvolené správanie {{key}}", "option-show-menu": "Zobraziť menu", "option-new-canvas-location": "Predvolené umiestnenie pre nové súbory plátna", "option-new-canvas-location-description": "Kde sú umiestnené novo vytvorené súbory plátna.", "option-new-canvas-folder-path": "Priečinok pre vytváranie nových súborov plátna", "option-new-canvas-folder-path-description": "Novo vytvorené súbory plátna sa zobrazia v tomto priečinku.", "option-node-label": "Zobraziť štítok karty", "option-snap-to-grid": "Prichytiť k mriežke", "option-snap-to-grid-desc": "Prichytiť karty k mriežke na pozadí pri presúvaní a zmene veľkosti.", "option-snap-to-objects": "Prichytiť k objektom", "option-snap-to-objects-desc": "Prichytiť karty k blízkym objektom pri presúvaní a zmene veľkosti.", "option-zoom-breakpoint": "Prah priblíženia pre skrytie obsahu karty", "option-zoom-breakpoint-desc": "Nižšie hodnoty zvýšia výkon pri načítaní, ale pri oddialení skôr skryjú obsah karty.", "option-export-png-show-logo": "Zobraziť logo", "option-export-png-show-logo-desc": "Pridá logo Obsidianu do ľavého dolného rohu.", "option-export-png-privacy-mode": "Režim súkromia", "option-export-png-privacy-mode-desc": "Skryje všetok text na plátne.", "option-export-png-zoom": "Priblíženie", "option-export-png-zoom-desc": "Vyššia hodnota priblíženia vygeneruje obrázok s vyšším rozlíšením.", "option-export-png-frame": "Viditeľný priestor", "option-export-png-frame-desc": "Vyberte, či chcete vykresliť celé plátno alebo iba aktuálne viditeľný priestor.", "option-export-png-frame-full": "Celé plátno", "option-export-png-frame-viewport": "Iba viditeľný priestor", "option-background-cover": "Krytie", "option-background-ratio": "Zachovať pomer strán", "option-background-repeat": "Opakovať", "action-new-canvas": "Nové plátno", "action-remove": "Odstrániť", "action-narrow-heading": "Zmenšiť na nadpis...", "action-narrow-block": "Zmenšiť na blok...", "action-swap-file": "Vymeniť súbor...", "action-change-url": "Zmeniť URL...", "action-zoom-to-fit": "Priblížiť na prispôsobenie oknu", "action-zoom-to-selection": "Priblížiť na výber", "action-reload-page": "Znovu načítať stránku", "action-follow-connection": "Sledovať pripojenie", "command-create-new-canvas": "Vytvoriť nové plátno", "command-convert-to-file": "Konvertovať na súbor...", "instruction-narrow-heading": "vložiť nadpis", "instruction-narrow-block": "vložiť blok", "instruction-jump-to-group": "navigovať na skupinu", "prompt-to-narrow": "Zadajte názov nadpisu", "label-enter-url": "Zadajte URL", "label-empty-embed": "\"{{linktext}}\" sa nepodarilo nájsť.", "prompt-add-text": "Pridať text...", "prompt-start-search": "Píšte pre spustenie hľadania...", "label-canvas-help": "Nápoveda pre plátno", "label-canvas-settings": "Nastavenie plátna", "label-no-narrow": "Zobraziť celý súbor", "label-readonly": "Iba pre čítanie", "label-disable-readonly": "Zakázať iba pre čítanie", "label-pan": "Posunúť", "label-pan-horizontal": "Posunúť horizontálne", "label-zoom": "Priblížiť", "label-select-all": "Vybrať všetko", "label-add-remove-selection": "Pridať / odobrať z výberu", "label-clone-card": "Klonovať kartu", "label-constrain-movement-axis": "Obmedziť pohyb karty na os", "label-disable-drag-snapping": "Vypnúť prichytávanie pri ťahaní", "label-remove-card": "Odstrániť kartu", "label-drag-from-below": "Potiahnite zospodu alebo dvakrát kliknite", "label-longpress": "Dotykom a podržaním pridáte / presuniete / vyberiete", "label-drag-pan": "Potiahnutím posuniete", "label-pinch-zoom": "Posunom od seba priblížite", "label-space-drag-pan": "Medzerník + Ťahaním posúvate", "label-scroll-to-zoom": "Skrolovaním priblížite", "label-untitled-group": "Skupina bez názvu", "label-line-direction": "Smer čiary", "label-nondirectional": "Bez smeru", "label-unidirectional": "Jednosmerné", "label-bidirectional": "Obojsmerné", "label-image": "Obrázok", "label-style": "Štýl", "msg-no-groups-found": "Neboli nájdené žiadne skupiny", "msg-export-failed-empty-canvas": "Nedá sa exportovať prázdne plátno" } }, "pdf": { "action-highlight-all": "Zvýrazniť všetko", "action-match-diacritics": "Zhoda diakritiky", "action-whole-words": "Celé slová", "action-show-thumbnails": "Miniatúry", "action-show-outline": "Obsah", "action-reveal-in-outline": "Zobraziť stranu v obsahu", "action-toggle-sidebar": "Prepnutie bočného panela", "action-previous-page": "Predchádzajúca stránka", "action-next-page": "Nasledujúca stránka", "action-fit-width": "Prispôsobiť šírke", "action-fit-height": "Prispôsobiť výške", "action-save-p-d-f-location": "Uložiť aktuálnu pozíciu v dokumente", "action-copy-annotation": "Kopírovať anotáciu", "action-copy-quote": "Kopírovať ako citáciu", "action-copy-selection-link": "Kopírovať odkaz na výber", "action-copy-annot-link": "Kopírovať odkaz na anotáciu", "action-copy-section-link": "Kopírovať odkaz na sekciu", "action-copy-section-link-title": "Kopírovať odkaz na “{{title}}”", "action-copy-page-link": "Kopírovať odkaz na stranu {{page}}", "msg-max-search-results": "{{current}} z viac ako {{limit}} zhôd", "msg-search-count": "{{current}} z {{total}} zhoda", "msg-search-count_plural": "{{current}} z {{total}} zhody(ôd)", "msg-password-protected": "Tento PDF súbor je chránený heslom", "msg-invalid-password": "Neplatné heslo", "msg-enter-password": "Zadajte heslo", "label-of-pages": "z {{count}}", "label-page-of-pages": "({{current}} z {{count}})", "label-spread-single": "Jedna strana", "label-spread-odd": "Dve strany (nepárne)", "label-spread-even": "Dve strany (párne)", "tooltip-sidebar-options": "Možnosti bočného panela", "tooltip-display-options": "Možnosti zobrazenia", "label-adapt-to-theme": "Prispôsobiť téme", "label-page": "strana {{page}}", "page_landmark": "Strana {{page}}", "thumb_page_title": "Strana {{page}}", "thumb_page_canvas": "Strana {{page}}", "text_annotation_type": "[{{type}} Anotácia]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Zoznam", "option-unknown": "Neznámy", "option-text": "Text", "option-aliases": "Aliasy", "option-tags": "Značky", "option-date": "Dátum", "option-datetime": "Dátum a čas", "option-number": "Číslo", "option-checkbox": "Zaškrtávacie políčko" }, "value-suggestion": { "key-link-note": "Typ [[", "instruction-link-note": "odkazovať na poznámku", "instruction-dismiss": "odmietnuť" }, "option-property-type": "Typ vlastnosti", "msg-empty-property-name": "Názov vlastnosti nesmie byť prázdny.", "msg-duplicate-property-name": "Vlastnosť už existuje", "msg-invalid-tag": "Neplatný názov značky", "msg-invalid-number": "Neplatné číslo", "msg-invalid-properties": "Nepodarilo sa načítať vlastnosti.", "label-no-value": "Žiadna hodnota", "label-heading": "Vlastnosti", "label-invalid-heading": "Neplatné vlastnosti", "label-show-source": "Zobraziť zdroj", "label-invalid-yaml-marker": "Chyba syntaxe. Váš frontmatter je neplatný.", "label-add-property-button": "Pridať vlastnosť", "label-type-mismatch-warning": "Nezhoda typu, očakávaný typ je {{type}}", "label-migration-warning-desc": "Ste si istý, že chcete zmeniť typ vlastnosti? Niektoré údaje spojené s týmto kľúčom vlastnosti nie sú kompatibilné." }, "table": { "label-column": "Stĺpec", "label-row": "Riadok", "action-row-after": "Pridať riadok za", "action-column-after": "Pridať stĺpec za", "action-row-before": "Pridať riadok pred", "action-row-up": "Presunúť riadok nahor", "action-row-down": "Presunúť riadok nadol", "action-column-before": "Pridať stĺpec pred", "action-column-left": "Presunúť stĺpec vľavo", "action-column-right": "Presunúť stĺpec vpravo", "action-duplicate-row": "Duplikovať riadok", "action-duplicate-column": "Duplikovať stĺpec", "action-delete-row": "Odstrániť riadok", "action-delete-column": "Odstrániť stĺpec", "action-align-left": "Zarovnať vľavo", "action-align-center": "Zarovnať na stred", "action-align-right": "Zarovnať vpravo", "action-delete-selection": "Odstrániť bunky", "action-clear-selection": "Vyčistiť bunky", "action-sort-a-z": "Zoradiť podľa stĺpca (od A po Z)", "action-sort-z-a": "Zoradiť podľa stĺpca (od Z po A)", "label-command": "Tabuľka: {{command}}" }, "callout": { "option-type": "Typ upozornenia", "type": { "info": "Informácia", "important": "Dôležité", "tip": "Tip", "success": "Úspech", "question": "Otázka", "warning": "Varovanie", "quote": "Citácia", "example": "Príklad", "none": "Žiadny" }, "option-other": "Ďalšie...", "option-other-placeholder": "Typ upozornenia..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} slovo", "word-with-count_plural": "{{count}} slová(ov)", "character-with-count": "{{count}} znak", "character-with-count_plural": "{{count}} znaky(ov)", "link-with-count": "{{count}} odkaz", "link-with-count_plural": "{{count}} odkazy(ov)", "file-with-count": "{{count}} súbor", "file-with-count_plural": "{{count}} súbory(ov)", "folder-with-count": "{{count}} priečinok", "folder-with-count_plural": "{{count}} priečinky(ov)", "backlink-with-count": "{{count}} spätný odkaz", "backlink-with-count_plural": "{{count}} spätné(ých) odkazy(ov)", "tabs-with-count": "{{count}} karta", "tabs-with-count_plural": "{{count}} karty(iet)", "properties-with-count": "{{count}} vlastnosť", "properties-with-count_plural": "{{count}} vlastnosti(í)", "site-with-count": "{{count}} stránka", "site-with-count_plural": "{{count}} stránky(ok)", "plugin-with-count": "{{count}} plugin", "plugin-with-count_plural": "{{count}} pluginy(ov)", "plugin-active-with-count": "{{count}} aktívne", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippety", "theme-with-count": "{{count}} téma", "theme-with-count_plural": "{{count}} témy(m)" } }{ "setting": { "options": "Preferenca", "plugin": "Shtojcë", "builtin-plugins": "Shtojca të integruara", "plugin-options": "Preferenca për shtojcat", "folder-path-example-placeholder": "Shembull: dosja 1/dosja 2", "file-path-example-placeholder": "Shembull: dosja/faqja-me-shënime", "msg-restart-required": "Changing this option requires a restart to take effect.", "editor": { "name": "Përpunimi i tekstit", "section-behavior": "Behavior", "section-display": "Display", "option-spellcheck": "Kontrolli i shqiptimit", "option-spellcheck-description": "Aktivizon kontrollin e shqiptimit. Për momentin funksionon vetëm për Anglishten (US).", "spellcheck-languages": "Spellcheck languages", "spellcheck-languages-description": "Choose the languages for the spellchecker to use.", "spellcheck-languages-mac-description": "The native spellchecker will automatically detect the language being used for you on macOS.", "spellcheck-dict": "Fjalor për kontrollin e shqiptimit", "spellcheck-dict-empty": "Fjalori i shqiptimeve është bosh.", "option-show-inline-title": "Show inline title", "option-show-inline-title-description": "Displays the filename as an editable title inline with the file contents.", "option-readable-line-length": "Gjatësia e lexueshme e rreshtit", "option-readable-line-description": "Kufizon gjatësinë maksimale të rreshtit. Shfaq më pak përmbajtje në ekran, por i bën paragrafët më të lexueshëm.", "option-strict-line-break": "Kryerradhë strikte", "option-strict-line-break-description": "Në afishimin paraprak, injoron kryerradhën e rreshtave të vetëm sipas specifikimeve \"Markdown\". Çaktivizojeni këtë opsion për t'i shfaqur kryerradhat e ketyre rreshtave në afishimin paraprak të faqes.", "option-properties-in-document": "Properties in document", "option-properties-in-document-description": "Choose how properties are displayed within the editor. Select \"source\" to have the properties displayed as YAML.", "option-properties-hidden": "Hidden", "option-properties-visible": "Visible", "option-properties-source": "Source", "option-auto-pair-brackets": "Mbyllje automatike e kllapave", "option-auto-pair-brackets-description": "Mbyll kllapat dhe citimet automatikisht.", "option-auto-pair-markdown": "Mbyllja e elementeve të sintaksës Markdown", "option-auto-pair-markdown-description": "Mbyll automatikisht simbolet hapëse për formatimet \"bold\", \"italics\", \"strikethrough\", nënvizimet dhe pjesët e kodit.", "option-smart-indent-lists": "Dhëmbëzim (indentim) i zgjuar i listave", "option-smart-indent-lists-description": "Saktëson vendosjen dhe shenjimin e elementeve të listave për ju.", "option-fold-heading": "Përmbyllje (folding) e një titulli", "option-fold-heading-description": "Ju lejon të përmbyllni elementet nën një titull apo nëntitull.", "option-fold-indent": "Përmbyllje (folding) sipas dhëmbëzimit (indentation)", "option-fold-indent-description": "Ju lejon të përmbyllni elemente që kanë të njëjtin nivel dhëmbëzimi.", "option-default-new-tab-view": "Default view for new tabs", "option-default-new-tab-view-description": "The default view that a new Markdown tab gets opened in.", "option-default-new-tab-view-editing": "Editing view", "option-default-new-tab-view-reading": "Reading view", "option-open-tab-in-foreground": "Always focus new tabs", "option-open-tab-in-foreground-description": "When you open a link in a new tab, switch to it immediately.", "option-default-editing-mode": "Default editing mode", "option-default-editing-mode-description": "The default editing mode a new pane will start with.", "option-default-editing-mode-source": "Source mode", "option-default-editing-mode-live-preview": "Live Preview", "option-show-line-number": "Shfaqje e numrave të rreshtave", "option-show-line-number-description": "Shfaq numrat e rreshtave në anë të faqes.", "option-indentation-guide": "Show indentation guides", "option-indentation-guide-description": "Show vertical relationship lines between bullet points for visual guidance.", "option-use-tabs": "Dhëmbëzim (indentim) me \"tabs\"", "option-use-tabs-description": "Përdor tabs për të dhëmbëzuar tekstin, duke shtypur tastin \"Tab\". Çaktivizojeni këtë opsion për të perdorur hapësira, duke shtypur \"Space\".", "option-tab-size": "Përmasa e \"Tab\"", "option-tab-size-description": "Numri i hapësirave të cilat përbëjnë një \"tab\".", "option-rtl": "Right-to-left (RTL)", "option-rtl-description": "Sets the text direction of notes to display in right-to-left.", "option-auto-convert-html": "Konvertim automatik i HTML", "option-auto-convert-html-description": "Konverton automatikisht HTML në Markdown në çastin e kopjimit apo \"drag-and-drop\" nga faqe Web-i. Përdorni Ctrl/Cmd+Shift+V për të kopjuar pa këtë konvertim.", "option-vim-key-bindings": "Lidhjet e tastierës për Vim", "option-vim-key-bindings-description": "Ju lejon të përdorni komanda Vim me anë të tastieres, gjatë përpunimit të tekstit.", "option-vim-key-bindings-mobile": "On mobile devices, this setting is per-device and is not synchronized through the config file.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Konfirmo hyrjen ne \"Vim mode\"", "label-vim-warning": "\"Vim mode\" përdoret për përpunim të tekstit, por mund të jetë goxha jo-intuitiv. Nëse nuk njiheni me përdorimin e \"Vim\", ky opsion mund t'ju bëjë të mendoni se Obsidian ka ndaluar së funksionuari.", "label-vim-test": "Për të verifikuar që e njihni platformën \"Vim\", ju lutemi të shtypni më poshtë komandën që përdoret për të dalë nga \"Vim mode\" pa ruajtur ndryshimet.", "label-vim-your-answer": "Përgjigja juaj", "placeholder-enter-command": "Shtypni komandën...", "button-confirm-enable-vim": "Aktivizo Vim", "msg-vim-mode-enabled": "Komanda është e saktë. \"Vim mode\" është tani aktiv.", "msg-vim-mode-not-enabled": "Komanda është e pasaktë. \"Vim mode\" mbetet jo-aktiv për të mirën tuaj.", "msg-vim-mode-please-enter-command": "Ju lutemi të shtypni komandën e kërkuar për të aktivizuar \"Vim mode\"" }, "file": { "name": "Shënimet dhe linqet", "option-confirm-file-deletion": "Konfirmo fshirjen e faqes", "option-confirm-file-deletion-description": "Përcakton nëse kërkohet konfirmim para fshirjes së një faqeje", "option-delete-destination": "Faqet e fshira", "option-delete-destination-description": "Ajo çfarë ndodh me faqet pas fshirjes", "option-choice-system-trash": "Dërgo në mbeturinat e sistemit", "option-choice-vault-trash": "Dërgo ne mbeturinat e Obsidian (dosja .trash)", "option-choice-permanent-delete": "Fshi përgjithmonë", "option-always-update-links": "Përditëso gjithmonë linqet e brendshme", "option-always-update-links-description": "Përcakton nëse linqet përditësohen pas riemërtimit të një faqeje apo nëse ju kërkohet konfirmim.", "option-new-note-location": "Vendodhje e re \"default\" për një faqe të re.", "option-new-note-location-description": "Vendodhja e faqeve të reja. Opsionet e shtojcave mund t'i mbivendosen kësaj përzgjedhjeje.", "option-choice-vault-root": "Kasaforta (Vault root)", "option-choice-current-folder": "Dosja ku ndodhet aktualisht faqja", "option-choice-specified-folder": "Dosja e specifikuar mëposhtë", "option-new-file-folder-path": "Dosja për faqet e reja", "option-new-file-folder-path-description": "Faqet e reja të shënimeve do ruhen në këtë dosje. Opsionet e shtojcave mund t'i mbivendosen kësaj përzgjedhjeje.", "option-use-wiki-links": "Përdor [[Wikilinks]]", "option-use-wiki-links-description": "Gjenero automatikisht Wikilinks për [[links]] dhe ![[images]] në vend të linqeve dhe imazheve Markdown. Në të kundërt, çaktivizojeni këtë opsion për të gjeneruar linqe Markdown.", "option-show-unsupported-files": "Zbulo të gjithë llojet e materialeve", "option-show-unsupported-files-description": "Shfaq materiale të çdo lloj formati, edhe nëse Obsidian nuk i hap dot vetvetiu, në mënyrë që të mund t'i ndërlidhni me shënimet tuaja ose t'i shihni në eksploruesin e shënimeve apo në Përzgjedhesin e shpejtë.", "option-link-autocompleted-format": "Format i ri i linqeve", "option-link-autocompleted-format-description": "Përcakton cilat linqe përdoren kur linqet e brendshme gjenerohen automatikisht.", "option-choice-shortest-linktext": "Vendndodhja më e shkurtër e faqes, kur është e mundur", "option-choice-relative-path": "Vendndodhja relative e faqes", "option-choice-absolute-path": "Vendndodhja absolute e faqes në kasafortë", "option-new-attachment-location": "Venndodhja \"default\" për materialet e bashkangjitura", "option-new-attachment-location-description": "Përcakton ku ruhen materialet e bashkangjitura të shtuara rishtazi.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "Në një nëndosje brenda dosjes aktuale", "option-attachment-folder-path": "Vendndodhja e dosjes së materialeve të bashkangjitura", "option-attachment-folder-path-description": "Materialet e bashkangjitura të krijuara rishtazi do shfaqen në këtë vend. Kjo përfshin imazhet e krijuara nëpërmjet \"Dran and Drop\" dhe ato të kopjuara, si dhe regjistrime audio.", "option-attachment-subfolder-path": "Emri i nëndosjes", "option-attachment-subfolder-path-description": "Nëse faqja juaj është në \"vault/folder\", dhe nëndosja juaj quhet \"attachments\", materialet e bashkangjitura do të ruhen në \"vault/folder/attachments\".", "option-excluded-files": "Excluded files", "option-excluded-files-desc": "Excluded files will be either hidden or less noticeable in various places, such as Quick Switcher, link suggestion, and Graph View.", "label-no-excluded-filters-applied": "No excluded filter is applied right now. Add one below.", "label-excluded-filters-applied": "Files matching the following filters are currently excluded:", "label-excluded-filter": "Filter", "message-empty-filter": "Filter cannot be empty", "placeholder-excluded-filter": "Enter path or \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Pamja", "option-base-theme": "Motivi bazë", "option-base-theme-description": "Përzgjedh skemën \"default\" të ngjyrave Obisidian.", "option-accent-color": "Accent color", "option-accent-color-description": "Choose the accent color used throughout the app.", "dark-theme": "I errët", "light-theme": "I ndritur", "system-theme": "Adapt to system", "option-font": "Font", "option-advanced": "Advanced", "option-interface": "Interface", "option-interface-font": "Interface font", "option-interface-font-description": "Set base font for all of Obsidian.", "option-zoom-level": "Zoom level", "option-zoom-level-description": "Controls the overall zoom level of the app.", "option-text-font": "Text font", "option-text-font-description": "Set font for editing and reading views.", "option-monospace-font": "Monospace font", "option-monospace-font-description": "Set font for places like code blocks and frontmatter.", "label-single-font-currently-in-effect": " Currently applied font: ", "label-multiple-fonts-currently-in-effect": " The following fonts are currently applied:", "option-font-placeholder": "Enter font name...", "label-no-custom-font-set": "No custom font is applied right now. Add one below.", "label-font-applied": "The first font from this list that is available on your system will be applied.", "msg-font-not-found": "This font is not detected on your system.", "msg-font-found": "This font is detected on your system.", "label-font-name": "Font name", "option-community-themes": "Hap motifet e komunitetit", "option-community-themes-description": "Shfaq dhe përdor motife mbresëlënëse nga komuniteti.", "button-browse-community-themes": "Kërko", "option-font-size": "Përmasa e gërmave", "option-font-size-description": "Përmasa në piksela që ndikon pamjet e përpunimit dhe afishimit.", "option-font-size-action": "Përshtatje e shpejtë e përmasës së gërmave", "option-font-size-action-description": "Përshtat përmasën e gërmave duke përdorur Ctrl + Scroll, ose duke përdorur gjestet `trackpad pinch-zoom`.", "option-themes": "Motifet", "option-manage-themes-description": "Manage installed themes and browse community themes.", "option-theme-button-manage": "Manage", "option-choice-none": "Asnjë", "option-native-menus": "Native menus", "option-native-menus-desc": "Menus throughout the app will match the operating system. They will not be affected by your theme.", "button-reload-themes": "Ringarko motifet", "msg-reloaded-themes": "Motifet CSS u ringarkuan.", "button-open-themes-folder": "Hap dosjen e motifeve", "option-css-snippets": "Copëza CSS", "label-no-css-snippets-found": "Në dosjen përkatëse nuk gjendet asnjë copëz CSS-je", "no-snippet-description": "Copëzat CSS ruhen në \"{{path}}\".", "button-reload-snippets": "Ringarko copëzat", "button-open-snippets-folder": "Hap dosjen e copëzave", "msg-reloaded-snippets": "Ringarko copëzat CSS.", "option-toggle-snippet-description": "Apliko copëzat CSS nga \"{{path}}\".", "label-installed-themes": "Installed themes", "label-screenshot-unavailable": "Screenshot unavailable", "label-default-theme": "Default", "tooltip-click-to-enlarge": "Click to enlarge", "button-update": "Update", "label-currently-active": "Active", "option-frame-style": "Window frame style", "option-frame-description": "Determines the styling of the title bar of Obsidian windows. Requires a full restart to take effect.", "option-frame-hidden": "Hidden (default)", "option-frame-obsidian": "Obsidian frame", "option-frame-native": "Native frame", "option-custom-icon": "Custom app icon", "option-custom-icon-desc": "Set a custom icon for the app", "button-choose-custom-icon": "Choose custom icon", "option-configure-ribbon": "Ribbon menu", "option-configure-ribbon-desc": "Configure what commands appear in the ribbon menu in the navigation bar.", "option-mobile-quick-ribbon-item": "Quick access ribbon item", "option-mobile-quick-ribbon-item-desc": "Tapping on the ribbon item in the navigation menu will active this ribbon item. Tap and hold will still show the menu.", "option-mobile-quick-ribbon-default": "Open ribbon menu", "button-configure": "Configure", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "Other ribbon items", "label-modal-configuration": "Ribbon Configuration", "label-modal-configuration-desc": "Choose what items you want to be active in the ribbon. Drag and drop to change the order.", "option-show-view-header": "Show tab title bar", "option-show-view-header-desc": "Display the header at the top of every tab.", "msg-updates-found": "Found {{count}} theme to update.", "msg-updates-found_plural": "Found {{count}} themes to update.", "button-check-for-updates": "Check for updates", "button-view-updates": "View updates", "button-update-all-themes": "Update all", "label-current-themes": "Current community themes", "label-currently-installed": "You currently have {{count}} theme installed.", "label-currently-installed_plural": "You currently have {{count}} themes installed." }, "hotkeys": { "name": "Shkurtime komandash", "option-search": "Search hotkeys", "option-search-desc": "Showing {{count}} hotkey. ", "option-search-desc_plural": "Showing {{count}} hotkeys. ", "option-search-conflict": "{{count}} command with conflicts.", "option-search-conflict_plural": "{{count}} commands with conflicts.", "prompt-filter": "Filtro...", "tooltip-delete-hotkey": "Hiq kombinimin", "label-waiting-for-hotkey-press": "Shtyp një kombinim...", "label-show-all": "All", "label-show-unassigned": "Unassigned", "label-show-assigned": "Assigned", "label-show-user-assigned": "Assigned by me", "tooltip-restore-default": "Rikthe gjëndjen fillestare", "tooltip-customize-command": "Modifiko këtë komandë", "tooltip-hotkey-single-conflict": "Ky kombinim është në konflikt me \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Ky kombinim është në konflikt me {{count}} komanda të tjera", "label-blank-hotkey": "Bosh" }, "about": { "name": "Rreth produktit", "label-commercial-license": "Commercial license", "label-license-key": "Çelësi i licensës", "license-key-placeholder": "Çelësi juaj i licensës...", "label-activate-license": "Aktivizo licensën komerciale", "button-activate": "Aktivizo", "label-unknown-version": "I panjohur", "label-current-version": "Versioni aktual: ", "label-install-version": "(Versioni i instaluesit: {{version}})", "label-up-to-date": "Aplikacioni juaj është i përditësuar!", "label-read-changelog": "Lexo proçesverbalin e ndryshimeve.", "label-manual-update-required": "To support the latest features and to receive the latest security patches, Obsidian needs a major installer update. You need to manually download and reinstall Obsidian.", "label-new-version-ready": "Një version i ri është gati për t'u instaluar. ", "label-disabled-updates": "Përditësimet janë të çaktivizuara.", "button-relaunch": "Rihap", "button-check-for-updates": "Kërko për përditësime", "option-auto-update": "Përditësime automatike", "option-auto-update-description": "Çaktivizo këtë opsion për të ndaluar kërkimin automatik për përditësime.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Get help", "option-get-help-description": "Get help on using Obsidian.", "button-open": "Hap", "option-language": "Gjuha", "option-language-description": "Ndrysho gjuhën e aplikacionit.", "option-insider-build": "Receive insider builds", "option-insider-build-description": "Auto-update to insider builds to try out new features. Note that these builds are bleeding edge and might be less stable.", "option-advanced": "Opsione të avancuara", "option-hw-acceleration": "Përshpejtimi i hardware", "option-hw-acceleration-description": "Aktivizon përshpejtimin e hardware, i cili perdor GPU tuaj për t'a bërë Obsidian më të këndshëm në përdorim.", "option-hw-acceleration-warning": "Nëse e çaktivizoni këtë opsion, performanca e aplikaciont do të bjerë ndjeshëm.", "option-config-location": "Mbishkruaj dosjen e konfigurimeve", "option-config-location-description": "Përdor një dosje tjetër konfigurimesh nga ai i parashikuar. Emri i dosjes duhet të fillojë me një pikë.", "option-config-location-warning": "Vendndodhja e dosjes duhet të përkojë me një dosje aktuale në sistemin tuaj, emri i të cilës fillon me një pikë.", "label-license": "Licensa", "label-your-commercial-license-key": "Your commercial license key is \"{{key}}\".", "label-commercial-license-info": "Regjistruar nën \"{{company}}\" për {{seats}} përdorues. E vlefshme deri më {{expiry}}.", "label-validating-commercial-license": "Duke verifikuar...", "label-invalid-commercial-license": "Licensa nuk është e vlefshme: ", "button-remove-commercial-license": "Remove", "option-catalyst": "Catalyst license", "option-catalyst-desc": "You currently have the {{tier}} Catalyst license. Thanks for your support!", "option-catalyst-desc-no-license": "You don't have a Catalyst license right now. Catalyst license is a one-time donation to support Obsidian development.", "label-app": "App", "label-add-own-language": "See how to add your language to Obsidian." }, "account": { "name": "Llogaria", "option-your-account": "Your account", "option-your-account-desc": "You're currently signed in {{name}} ({{email}}).", "option-your-account-desc-no-login": "You're not logged in right now. An account is only needed for Obsidian Sync, Obsidian Publish, and Catalyst insider builds.", "label-insider": "i brendshëm", "label-supporter": "mbështetës", "label-vip": "VIP", "button-upgrade-catalyst": "Upgrade", "option-commercial-license": "Commercial license", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Purchase", "button-log-out": "Dil", "label-log-in": "Kyçu", "label-sign-up": "Sign up", "label-email": "Email-i", "placeholder-email": "Email-i juaj...", "label-name": "Full name", "label-password": "Fjalëkalimi", "placeholder-password": "Fjalëkalimi juaj...", "label-forgot-password": "Forgot password?", "button-login": "Hyr", "message-empty-email": "Email-i nuk mund të jetë bosh.", "message-invalid-email": "Email-i nuk është i vlefshëm.", "message-empty-password": "Password nuk mund të jetë bosh.", "message-login-failed": "Hyrja dështoi, ju lutem kontrolloni përsëri email-in dhe fjalëkalimin", "message-signup-failed": "Failed to sign up", "label-no-account": "Nuk keni një llogari? ", "link-sign-up-now": "Regjistrohu tani", "label-mfa-code": "6-digit 2FA code", "mfa-wrong-format": "The 2FA authenticator code must be 6 digits.", "mfa-verification-failed": "2FA code is incorrect, please double check your authenticator app." }, "core-plugin": { "plugin-list": "Plugin list", "option-search-plugin": "Search core plugins", "option-search-plugin-description": "Filter plugins by name or description.", "placeholder-search-plugin": "Search plugins..." }, "third-party-plugin": { "name": "Shtojca të treta", "option-restricted-mode": "Restricted mode", "option-restricted-mode-description": "Restricted Mode is off. Turn on to disable community plugins.", "button-turn-on": "Turn on", "option-browse-community-plugins": "Shtojcat e komunitetit", "option-browse-community-plugins-description": "Kërko dhe instalo shtojca të treta të krijuara nga komuniteti ynë i mrekullueshëm.", "button-browse": "Kërko", "label-exit-restricted-mode": "Exit Restricted Mode", "label-exit-restricted-mode-description-1": "Community plugins, like any other software you install, could potentially cause data integrity and security issues.", "label-exit-restricted-mode-description-2": "Plugin security is important to us. Here's what we do:", "label-exit-restricted-mode-description-3": "Despite our efforts, there is still a small chance that a community plugin might misbehave.", "label-code-review": "Initial code review", "label-code-review-desc": "Plugins undergo an initial code review by our team before they appear in the store.", "label-open-source": "Open source", "label-open-source-desc": "Most plugins are open source on GitHub, so you can inspect the code yourself.", "label-peer-audit": "Peer audit", "label-peer-audit-desc": "We have a large community of developers who watch out for each other.", "label-report-mechanism": "Report mechanism", "label-report-mechanism-desc": "We follow up and remove faulty plugins upon user report.", "label-exit-restricted-mode-disable-confirmation": "Would you like to exit Restricted Mode to enable community plugins? We strongly recommend making backups of your data before doing so.", "label-learn-more": "Learn more about plugin security", "button-turn-on-community-plugins": "Turn on community plugins", "label-trust-author": "Do you trust the author of this vault?", "label-trust-author-description-1": "You're opening this vault for the first time, and it comes with some plugins.", "label-trust-author-description-2": "If you obtained this vault from someone else, please note that plugins of unknown origin might pose security risks.", "label-trust-author-description-3": "If you do not fully trust the author of this vault, we recommend staying in Restricted Mode, so the plugins in this vault do not run.", "button-enable-plugins": "Trust author and enable plugins", "button-dont-trust-author": "Browse vault in Restricted Mode", "placeholder-community-plugins": "Kërko në shtojcat e komunitetit...", "msg-failed-load-plugins": "Shtojcat e komunitetit nuk arritën të ngarkohen.", "label-installed": "Të instaluara", "button-install": "Instalo", "button-enable": "Aktivizo", "button-disable": "Çaktivizo", "button-copy-share-link": "Copy share link", "button-donate": "Donate", "label-no-results-found": "Nuk ka rezultate.", "label-no-recent-files-found": "No recent files found. Type to search...", "msg-failed-to-load-manifest": "Manifesti i shtojcës nuk mund të ngarkohet.", "label-version": "Versioni: {{version}}", "label-currently-installed-version": " (versioni i instaluar: {{version}})", "label-by-author": "Nga ", "label-repository": "Repositori: ", "label-last-update": "Last update: ", "tooltip-view-last-update": "View the latest update", "label-unsupported": "Kjo shtojcë nuk përshtatet me pajisjen tuaj.", "button-update": "Përditëso", "label-no-readme": "Kjo shtojcë nuk ka një dokument README.", "msg-installing-plugin": "Duke instaluar shtojcën \"{{name}}\"...", "msg-failed-to-install-plugin": "Instalimi i shtojcës \"{{name}}\" dështoi.", "msg-successfully-installed-plugin": "Instalimi i shtojcës \"{{name}}\". u krye me sukses", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Shtojca të instaluara", "button-reload-plugins": "Ringarko shtojcat", "msg-reloaded-third-party-plugins": "Shtojcat e treta u ringarkuan.", "label-uninstall": "Çinstalo", "label-uninstall-plugin": "Çinstalo shtojcën", "label-uninstall-plugin-confirmation": "Jeni të sigurt që doni t'a çinstaloni këtë shtojcë? Ky veprim fshin dosjen e shtojcës.", "button-open-plugins-folder": "Hap dosjen e shtojcave", "button-check-for-updates": "Kërko për përditësime", "button-update-all-plugins": "Përditësoji të gjitha", "label-current-plugins": "Shtojcat aktuale", "label-currently-installed": "Aktualisht ju keni {{count}} shtojcë të instaluar.", "label-currently-installed_plural": "Aktualisht ju keni {{count}} shtojca të instaluara.", "msg-no-updates-found": "Nuk ka përditësime", "msg-updates-found": "U gjet {{count}} shtojcë për përditësim.", "msg-updates-found_plural": "U gjetën {{count}} shtojca për përditësim.", "msg-update-plugin": "Përditëso me versionin {{version}}", "option-search-installed-plugin": "Kërko në shtojcat e instaluara", "option-search-installed-plugin-description": "Filtro shtojcat e instaluara sipas emrit ose përshkrimit.", "placeholder-search-installed-plugin": "Kërko në shtojcat e instaluara...", "show-installed-only": "Show installed only", "label-donate-modal-title": "Donate to support {{name}}", "label-donate-modal-text1": "Plugin developers are community volunteers who make amazing things out of passion. If you find this plugin useful, please consider funding its development.", "label-donate-modal-text2": "100% of your contribution will go to the plugin developer; Obsidian does not take a cut. The funding platform they choose might charge a fee.", "label-donate-modal-text3": "Thanks for your generous support!", "label-support-this-plugin": "Support this plugin:", "label-search-summary": "Të shfaqura {{pluginCount}}:", "label-by-popularity": "Most downloaded", "label-by-released": "Recently released", "label-by-updated": "Recently updated", "label-alphabetical": "Alphabetical", "label-last-updated": "Updated {{time}}" }, "mobile-toolbar": { "name": "Paneli mobile", "option-configure-quick-action": "Konfiguro Veprimet e Shpejta mobile", "option-configure-quick-action-description": "Konfiguro cilat komanda aktivizohen kur lëvizni gishtin mbi ekran nga lart poshtë. Komanda aktuale është \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "Konfiguro", "placeholder-select-quick-action": "Përzgjidh Veprimin e Shpejte...", "quick-action-disabled": "None", "manage-toolbar-options": "Menaxho opsionet e panelit", "option-internal-link": "Shto një lidhje të brendshme", "option-internal-embed": "Shto një element të brendësuar", "option-tag": "Shto një etiketim", "option-heading": "Ndërro formatin e titullit", "option-strikethrough": "(Ç)aktivizo shkarravitjen e tekstit", "option-highlight": "(Ç)aktivizo nënvijezimin ose theksimin e tekstit", "option-code": "(Ç)aktivizo formatimin e kodit", "option-blockquote": "(Ç)aktivizo bllokun e citimit", "option-inline-math": "Toggle inline math", "option-math-block": "Toggle math block", "option-markdown-link": "Shto një lidhje Markdown", "option-bullet-list": "(Ç)aktivizo pikëzimin e listës", "option-numbered-list": "(Ç)aktivizo numërimin e listës", "option-indent-list": "Dhëmbëzo elementin e listës", "option-unindent-list": "Çdhëmbëzo elementin e listës", "option-undo": "Kthe mbrapsht", "option-redo": "Shko përpara", "option-move-caret-up": "Zhvendos karetën (^) më sipër", "option-move-caret-down": "Zhvendos karetën (^) më poshtë", "option-move-caret-left": "Zhvendos karetën (^) majtas", "option-move-caret-right": "Zhvendos karetën (^) djathtas", "option-first-line": "Shko në rreshtin e parë", "option-last-line": "Shko në rreshtin e fundit", "option-toggle-keyboard": "Shfaq/fshih tastierën", "option-configure-toolbar": "Konfiguro panelin mobile", "option-added-options": "Opsione të shtuara", "option-more-toolbar-options": "Opsione të tjera për panelin", "option-attach": "Bashkangjit një material", "option-add-command": "Shto një komandë globale", "option-add-command-description": "Përzgjidh ndonjë komandë globale për t'a shtuar në panel." } }, "editor": { "search": { "placeholder-find": "Find", "placeholder-replace": "Replace", "label-exit-search": "Dil nga kërkimi", "label-next": "Pas", "label-previous": "Para", "label-find-all": "Find all", "label-replace": "Zëvendëso", "label-replace-all": "Zëvendëso të gjitha" }, "link-suggestion": { "label-type-hash": "Shtyp #", "label-link-heading": "për të lidhur një titull", "label-type-block": "Shtyp ^", "label-link-block": "për të lidhur një bllok", "label-type-pipe": "Shtyp |", "label-change-display-text": "për të ndryshuar pamjen e tekstit", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "Nuk ka rezultate", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Nuk ka sugjerime...", "add-to-dictionary": "Shto në fjalor" }, "menu": { "edit-link": "Edit link", "edit-tag": "Edit tag", "label-edit-block": "Edit this block", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "No heading", "label-heading-level": "Heading {{level}}" }, "print-modal": { "title": "Eksporto në PDF", "caption": "Eksporto \"{{filename}}\" në PDF me opsionet e mëposhtme.", "setting-page-size": "Përmasa e faqes", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letër", "setting-page-size-tabloid": "Tablo", "setting-include-file-name": "Include file name as title", "setting-landscape": "Format peisazhi (Landscape)", "setting-margin": "Hapësira anësore", "setting-margin-default": "Përmasë standarde e paracaktuar", "setting-margin-minimal": "Minimale", "setting-margin-none": "Asnjë", "setting-downscale-percent": "Cakto një përqindje zvogëlimi", "button-export-to-pdf": "Eksporto në PDF" }, "link-popover": { "tooltip-follow-link": "Ndiq lidhjen", "tooltip-open-link": "Hap lidhjen", "tooltip-search-tag": "Kërko sipas një etiketimi" } }, "interface": { "embed-cannot-find": "Cannot find:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Hap në aplikacionin përkatës të paracaktuar", "empty-sidebar": "Paneli anësor është bosh, provoni të tërhiqni ndonjë element mbi këtë panel.", "sidebar-expand": "Shpalos", "sidebar-collapse": "Palos", "msg-fail-to-save-file": "Ruajtja e dokumentit me shënime \"{{filepath}}\" dështoi. {{message}}.", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "Nuk ka dokumenta shënimesh", "msg-file-changed": "\"{{file}}\" është modifikuar jashtë këtij programi, ndryshimet bashkohen automatikisht.", "switch-vault": "Hap një kasafortë tjetër", "manage-vaults": "Manage vaults...", "help": "Ndihmë", "settings": "Konfigurime", "drag-to-rearrange": "Tërhiq për të riorganizuar", "msg-switched-to-read": "Switched default view mode to reading view.", "msg-switched-to-edit": "Pamja standarde u ndryshua në pamjen e përpunimit të tekstit.", "msg-upgrade-installer": "Për t'a përdorur këtë funksionalitet, ju lutemi të ri-instaloni programin me instaluesin më të fundit të disponueshëm në faqen tonë.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Rikthe konfigurimet standarde", "label-copy": "Kopjo në memorien e fragmenteve (clipboard)", "label-copy-short": "Copy", "copied_generic": "Copied to your clipboard", "copied": "{{item}} u kupjoa në memorien e fragmenteve", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "Url", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Dokumenti \"{{path}}\" u hap", "msg-file-not-found-through-uri": "Dokumenti \"{{name}}\" nuk u gjend.", "delete-action-short-name": "Fshi", "msg-indexing": "Obsidian po indekson kasafortën tuaj...\nKy proces ndodh normalisht vetëm një herë.\nDisa funksionalitete mund të mos jenë te disponueshme për sa kohë ky proces nuk ka përfunduar.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indeksimi u krye.", "msg-sandbox-vault": "This is a sandbox vault.\nChanges you make in this vault will be lost.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Shtyp Enter për të krijuar një dokument shënimesh", "label-update-available": "Update Available", "label-debug-info": "Debug info", "button-learn-more": "Learn more", "button-not-now": "Not now", "button-add": "Add", "button-manage": "Manage", "label-new-tab": "New tab", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "This tab is currently busy, please try again later", "formatting": { "label-formatting": "Format", "label-paragraph": "Paragraph", "label-insert": "Insert", "insert-link": "Add link", "insert-external-link": "Add external link", "insert-callout": "Callout", "insert-horizontal-rule": "Horizontal rule", "insert-code-block": "Code block", "insert-math-block": "Math block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comments": "Comment", "toggle-highlight": "Highlight", "toggle-italics": "Italic", "toggle-strikethrough": "Strikethrough", "toggle-math": "Math", "toggle-bullet-list": "Bullet list", "toggle-checklist": "Task list", "toggle-numbered-list": "Numbered list", "set-heading": "Heading {{level}}", "no-heading": "Body", "clear": "Clear formatting", "toggle-quote": "Quote" }, "empty-state": { "no-file-open": "Nuk ka shënime të hapur", "create-new-file": "Krijo një dokument të ri shënimesh", "go-to-file": "Shko te dokumenti", "see-recent-files": "Shiko dokumentat e përdorur së fundmi", "close": "Mbyll", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Plugin no longer active", "unknown-pane-desc": "The plugin that created this pane ({{type}}) has gone away" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Përpuno (Ctrl/Cmd+Click për të përpunuar në një panel të ri)", "read-view": "Current view: reading", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "Click to edit", "switch-to-read-view": "Click to read", "mod-click-open-new-tab": "{{key}}+Click to open in new tab", "find": "Gjej...", "replace": "Zëvendëso...", "edit": "Përpuno", "remove": "Remove", "rename": "Rename", "preview": "Afisho", "more-options": "Opsione të tjera", "close": "Mbyll", "close-all": "Close all", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Close others", "close-after": "Close tabs after", "pin": "Ngulit me thumb", "unpin": "Unpin", "unlink-tab": "Unlink tab", "link-tab": "Link with tab...", "toggle-source-mode": "Source mode", "toggle-reading-view": "Reading view", "add-property": "Add file property", "delete-file": "Fshi një dokument", "create-file": "Create this file", "open-link": "Open link", "open-in-new-tab": "Open in new tab", "open-to-the-right": "Open to the right", "copy-url": "Kopjo adresën (url)", "copy": "Kopjo", "cut": "Prit (Cut)", "paste": "Ngjit (Paste)", "paste-as-plain-text": "Ngjit si tekst i thjeshtë (plain text)", "lookup-selection": "Look up “{{selection}}”", "select-all": "Përzgjidh të gjitha", "rename-heading": "Rename this heading...", "rename-blockid": "Rename this block ID...", "open-in-new-window": "Open in new window", "move-to-new-window": "Move to new window", "open-in-browser": "Open in browser", "stack-tabs": "Stack tabs", "unstack-tabs": "Unstack tabs", "open-linked-view": "Open linked view" }, "tooltip": { "click-to-expand": "Kliko për të shpalosur", "click-to-collapse": "Kliko për të palosur", "alias": "Pseudonime (Alias)", "not-created-yet": "Nuk ka ndonjë të krijuar, kliko për të krijuar" }, "start-screen": { "label-version": "Versioni", "label-create-local-vault": "Create local vault", "option-open-folder-as-vault": "Hap dosjen si kasafortë", "option-open-folder-as-vault-description": "Përzgjidh një dosje ekzistuese me dokumenta Markdown.", "option-create-vault": "Krijo një kasafortë të re", "option-create-vault-description": "Krijo një kasafortë Obsidian brenda nje dosjeje.", "option-connect-obsidian-sync": "Connect to Obsidian Sync", "option-connect-obsidian-sync-description": "Set up a synced vault with existing remote vault.", "option-new-vault-name": "Emri i kasafortës", "option-new-vault-name-description": "Zgjidh një emër për dosjen tënde fantastike.", "option-new-vault-location": "Vendndodhja", "option-new-vault-location-description": "Zgjidh një vendndodhje për kasafortën tënde të re.", "label-new-vault-location-preview": "Your new vault will be placed in: ", "option-reveal-vault-in-explorer": "Reveal vault in system explorer", "option-reveal-vault-in-explorer-mac": "Reveal vault in Finder", "option-rename-vault": "Rename vault...", "option-copy-vault-i-d": "Copy vault ID", "msg-error-rename-exists": "There is already a vault with this name.", "msg-error-nested": "Cannot move vault into a subfolder of itself.", "msg-error-rename-open": "Can't rename a currently open vault.", "msg-rename-failed": "Failed to rename vault.", "msg-rename-success": "Successfully renamed vault.", "option-move-vault": "Move vault...", "msg-move-select-dest": "Select destination folder", "msg-error-move-exists": "There is already a vault at the destination.", "msg-error-move-open": "Can't move a currently open vault.", "msg-move-failed": "Failed to move vault.", "msg-move-success": "Successfully moved vault.", "option-remove": "Remove from list", "button-quick-start": "Quick start", "button-open": "Hap", "button-browse": "Kërko", "button-connect": "Connect", "button-create-vault": "Krijo", "button-back": "Mbrapsht", "msg-empty-vault-name": "Emri i kasafortës nuk mund të jetë bosh.", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "Ju lutemi, zgjidhni një dosje të vlefshme.", "msg-failed-to-create-vault": "Krijimi i kasafortës dështoi.", "msg-failed-to-create-vault-at-location": "Kasaforta nuk mund të krijohej në vendodhjen e dhënë. Ju lutemi, kontrolloni përsëri vendndodhjen dhe të drejtat e aksesimit të saj.", "msg-error-failed-to-open-vault": "Hapja dështoi.", "msg-error-remove-current-open-vault": "Nuk mund të fshihet një dosje aktualisht e hapur", "option-get-help": "Get Help", "option-user-email": "Email", "placeholder-your-email": "Your email...", "option-user-password": "Password", "placeholder-your-password": "Your password...", "button-sign-in": "Sign in", "button-setup": "Setup", "option-connect-vault-desc": "Create a synced vault on this device.", "tooltip-own-vault": "This is a remote vault owned by you.", "tooltip-shared-vault": "This is a remote vault shared with you.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Welcome", "welcome-file-content": "This is your new *vault*.\n\nMake a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nWhen you're ready, delete this note and make the vault your own." }, "drag-and-drop": { "insert-link-here": "Shto një lidhje këtu", "insert-links-here": "Shto lidhje këtu", "move-into-folder": "Zhvendos në \"{{folder}}\"", "star-this-file": "Shënjo këtë dokument", "star-these-files": "Shënjo këto dokumente", "open-in-this-tab": "Open in this tab", "open-as-tab": "Open as new tab" }, "window": { "maximize": "Maksimizo", "minimize": "Minimizo", "restore-down": "Rikthe në përmasen bazë", "close-window": "Mbyll dritaren", "go-back": "Shko mbrapa", "go-forward": "Shko para" }, "start-up": { "loading-obsidian": "Obsidian po hapet...", "obsidian-load-error": "Obsidian ndeshi një problem gjatë hapjes.", "button-reload-app": "Rihap aplikacionin", "button-reload-app-in-safe-mode": "Reload app in safe mode", "button-open-another-vault": "Hap një kasafortë tjetër", "loading-plugins": "Duke ngarkuar shtojcat...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Duke ngarkuar kasafortën...", "msg-failed-to-load-vault": "Ngarkimi i kasafortës dështoi: ", "loading-cache": "Duke ngarkuar cache-n...", "loading-workspace": "Duke ngarkuar hapësirën e punës (workspace)..." }, "mobile": { "action-import": "Import into vault", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "Choose a file to insert", "action-insert-text-into-file": "Insert text into {{filename}}", "action-insert-link-into-file": "Insert link into {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "Importing...", "msg-import-success": "Import success", "msg-failed-to-import-file": "Failed to import file {{filename}}", "msg-back-again-to-exit": "Press back again to exit.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Official help site", "label-official-help-site-desc": "Read the official help documentation of Obsidian, available in multiple languages.", "action-visit": "Visit", "label-discord-chat": "Discord chat", "label-discord-chat-desc": "Discord is the best place to chat with other experienced Obsidian users from around the world.", "action-join": "Join", "label-forum": "Official forum", "label-forum-desc": "Help each other, post feature requests, report bugs, and have in-depth discussions about knowledge management.", "label-sandbox-vault": "Sandbox vault", "label-sandbox-vault-desc": "Play around and experiment with various features. Please note your changes will not be saved." } }, "commands": { "save-file": "Ruaj dokumentin aktual", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Ndiq lidhjen nën kursor", "open-cursor-link-in-new-tab": "Open link under cursor in new tab", "open-cursor-link-to-the-right": "Open link under cursor to the right", "open-cursor-link-in-new-window": "Open link under cursor in new window", "navigate-tab-above": "Focus on tab group above", "navigate-tab-below": "Focus on tab group below", "navigate-tab-left": "Focus on tab group to the left", "navigate-tab-right": "Focus on tab group to the right", "toggle-pin": "Hiq/vendos thumbin", "split-right": "Split right", "split-down": "Split down", "toggle-stacked-tabs": "Toggle stacked tabs", "navigate-back": "Shko para", "navigate-forward": "Shko pas", "use-dark-mode": "Përdor skemën e errët të ngjyrave", "use-light-mode": "Përdor skemën e ndritur të ngjyrave", "change-theme": "Change theme", "search-current-file": "Kërko në dokumentin aktiv", "search-replace-current-file": "Kërko & zëvendëso në dokumentin aktiv", "add-property": "Add file property", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Clear file properties", "open-settings": "Hap konfigurimet", "open-help": "Ndihmë për konfigurimet", "toggle-edit": "Toggle editing/reading view", "toggle-source-mode": "Toggle Live Preview/Source mode", "delete-current-file": "Fshi dokumentin aktiv", "new-tab": "New tab", "show-trash": "Show trash", "close-all-tabs": "Close all tabs", "close-active-tab": "Close current tab", "close-others-in-tab-group": "Close others in tab group", "close-other-tabs": "Close all other tabs", "close-tab-group": "Close this tab group", "toggle-left-sidebar": "Hap/mbyll panelin në të majtë", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "Hap/mbyll panelin në të djathtë", "toggle-default-new-tab-mode": "Toggle default mode for new tabs", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "Fokuso përpunuesin e tekstit", "toggle-fold-properties": "Toggle fold properties in current file", "toggle-fold": "Palos/shpalos në rreshtin aktual", "fold-all": "Palos të gjitha titujt dhe listat", "unfold-all": "Shpalos të gjitha titujt dhe listat", "fold-more": "Fold more", "fold-less": "Fold less", "swap-line-up": "Swap line up", "swap-line-down": "Swap line down", "remove-heading": "Remove heading", "toggle-heading": "Set as heading {{level}}", "toggle-bold": "(Ç)Aktivizo trashësimin e tekstit për tekstin e përzgjedhur", "toggle-italics": "(Ç)Aktivizo italizimin e tekstit për tekstin e përzgjedhur", "toggle-highlight": "(Ç)Aktivizo nënvijezimin për tekstin e përzgjedhur", "toggle-comments": "(Ç)Aktivizo komentet për tekstin e përzgjedhur", "clear-formatting": "Clear formatting", "insert-link": "Shto një lidhje", "toggle-spellcheck": "(Ç)Aktivizo kontrollin e shqiptimit", "delete-paragraph": "Fshi paragrafin", "toggle-checklist": "(Ç)aktivizo përdorimin e `checklist`", "cycle-list-checklist": "Cycle bullet/checkbox", "insert-callout": "Insert callout", "insert-code-block": "Insert code block", "insert-math-block": "Insert math block", "insert-horizontal-rule": "Insert horizontal rule", "insert-table": "Insert table", "insert-footnote": "Insert footnote", "edit-file-title": "Përpuno titullin e dokumentit", "copy-path": "Kopjo vendndodhjen e dokumentit", "copy-url": "Kopjo adresën (url) Obsidian", "export-pdf": "Eksporto në PDF", "reload": "Rihap aplikacionin pa ruajtur ndryshimet", "undo-close-tab": "Undo close tab", "context-menu": "Show context menu under cursor", "show-debug-info": "Show debug info", "open-sandbox-vault": "Open sandbox vault", "always-on-top": "Toggle window always on top", "zoom-in": "Zoom in", "zoom-out": "Zoom out", "reset-zoom": "Reset zoom", "toggle-preview": "Ndërro mes pamjeve të përpunimit dhe afishimit", "move-to-new-window": "Move current pane to new window", "open-in-new-window": "Open current pane in new window", "rename-current-file": "Rename current file", "go-to-prev-tab": "Go to previous tab", "go-to-next-tab": "Go to next tab", "go-to-last-tab": "Go to last tab", "go-to-nth-tab": "Go to tab #{{n}}", "show-release-notes": "Show release notes" }, "dialogue": { "label-link-affected": "Kjo ndikon në {{links}} në {{files}}.", "msg-updated-links": "{{links}} në {{files}} u përditësuan.", "label-update-links": "Përditëso lidhjet", "label-confirm-update-link-to-file": "A doni të përditësoni lidhjet e brendshme që i referohen këtij dokumenti?", "button-always-update": "Gjithmonë përditëso", "button-just-once": "Vetëm një herë", "button-do-not-update": "Mos përditëso", "label-confirm-deletion": "A jeni të sigurt për fshirjen e\"{{filename}}\"?", "label-move-to-system-trash": "Objekti do dërgohet në mbeturinat e sistemit", "label-move-to-vault-trash": "Objekti do dërgohet ne mbeturinat e Obsidian, të cilat ndodhen në dosjen e fshehur \".trash\" brenda kasafortës tuaj.", "label-permanent-delete": "Ky objekt do fshihet përgjithmonë.", "label-non-empty-folder": "Kjo dosje nuk është bosh.", "label-delete-folder-warning": "Nëse vazhdoni më tej, të gjitha materialet brenda kësaj dosjeje do fshihen.", "label-delete-folder": "Fshi dosjen", "button-delete": "Fshi", "button-delete-do-not-ask-again": "Fshi dhe mos pyet përsëri", "label-do-not-ask-again": "Don't ask again", "label-existing-backlink": "Aktualisht ka {{count}} lidhje që tregon drejt kësaj shënimi.", "label-existing-backlink_plural": "Aktualisht ka {{count}} lidhje që tregojnë drejt kësaj shënimi.", "label-delete-file": "Fshi dokumentin", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Manage", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Anullo", "button-download": "Download", "button-done": "Kryer", "button-save": "Save", "button-stop": "Stop", "button-continue": "Continue", "button-choose": "Choose", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Duke përgatitur PDF...", "label-rename-file": "Riemërto dokumentin", "label-rename-file-generic": "File name", "label-new-name": "Emri i ri", "msg-rename-success": "Riemërtimi u krye me sukses.", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Rename heading", "label-rename-blockid": "Rename block ID" }, "menu-items": { "new-file": "Create Note", "new-file-to-the-right": "New Note to the Right", "new-window": "New Window", "open-switcher": "Open Quickly...", "open-vault": "Open Vault...", "close-tab": "Close Tab", "close-window": "Close Window", "find": "Find", "replace": "Replace", "insert-callout": "Callout", "insert-markdown-link": "Markdown Link", "insert-wikilink": "Link", "set-heading": "Heading {{level}}", "no-heading": "No Heading", "insert-quote": "Quote", "export-pdf": "Export PDF", "insert-attachment": "Insert Attachment...", "insert-codeblock": "Code Block", "insert-math-block": "Math Block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bullet-list": "Bullet List", "toggle-numbered-list": "Numbered List", "toggle-checklist": "Task List", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comment": "Comment", "toggle-italics": "Italics", "toggle-inline-math": "Math", "toggle-highlight": "Highlight", "toggle-strikethrough": "Strikethrough", "toggle-comments": "Comment", "folding-menu": "Folding", "fold-all": "Fold All", "unfold-all": "Unfold All", "fold-more": "Fold More", "fold-less": "Fold Less", "source-mode": "Source Mode", "reading-view": "Reading View", "show-debug-info": "Show Debug Info", "open-sandbox": "Open Sandbox Vault", "navigate-back": "Navigate Back", "navigate-forward": "Navigate Forward", "toggle-left-sidebar": "Toggle Left Sidebar", "toggle-right-sidebar": "Toggle Right Sidebar", "toggle-ribbon": "Ribbon", "split-right": "Split Right", "split-down": "Split Down", "release-notes": "Release Notes" }, "plugins": { "name": "Shtojcat", "file-explorer": { "name": "Eksploruesi i dokumenteve", "desc": "Eksploron të gjitha dokumentet ne dosjen bazë.", "action-open": "Hap eksploruesin e dokumenteve", "action-show": "Shfaq eksploruesin e dokumenteve", "action-create-note": "Krijo një dokument të ri", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Create new note in current tab", "action-create-note-to-the-right": "Create note to the right", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-new-note": "Dokument i ri", "action-new-folder": "Dosje e re", "action-change-sort": "Ndrysho rendin e rradhitjes", "action-reveal-file": "Shfaq dokumentin në eksploruesin e dokumenteve", "action-reveal-active-file": "Shfaq dokumentin aktiv në eksploruesin e dokumenteve", "command-make-a-copy": "Make a copy of the current file", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Zhvendos dokumentin në një dosje tjetër", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Zhvendos dokumentin në...", "action-move-folder": "Zhvendos dosjen në...", "action-move-items": "Move {{count}} items to...", "prompt-type-folder": "Shkruaj emrin e një dosjeje", "label-no-folders": "Nuk u gjet ndonjë dosje.", "instruction-navigate": "për të naviguar", "instruction-move": "për të zhvendosur", "instruction-create": "to create", "instruction-dismiss": "për të anulluar", "label-sort-a-to-z": "Rendit sipas emërtimit (nga A në Z)", "label-sort-z-to-a": "Rendit sipas emërtimit (nga Z në A)", "label-sort-new-to-old": "Rendit sipas kohës së modifikimit (nga më e reja te më e vjetra)", "label-sort-old-to-new": "Rendit sipas kohës së modifikimit (nga më e vjetra te më e reja)", "label-sort-created-old-to-new": "Rendit sipas kohës së krijimit (nga më e vjetra te më e reja)", "label-sort-created-new-to-old": "Rendit sipas kohës së krijimit (nga më e reja te më e vjetra)", "menu-opt-new-note": "Dokument i ri", "menu-opt-new-folder": "Dosje e re", "menu-opt-rename": "Riemërto", "menu-opt-delete": "Fshi", "menu-opt-make-copy": "Krijo një kopje", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "Emri i dokumentit nuk mund të përmbajë asnjë nga karakteret e mëposhtme", "msg-unsafe-characters": "Lidhjet nuk funksionojne me dokumente emërtimet e të cilëve përmbajne ndonjë nga karakteret e mëposhtme", "msg-file-already-exists": "Një dokument me këtë emër ekziston aktualisht", "msg-empty-file-name": "Emri i dokumentit nuk mund të jetë bosh.", "msg-bad-dotfile": "File name must not start with a dot.", "tooltip-modified-time": "Modifikuar së fundmi më {{time}}", "tooltip-created-time": "Krijuar më {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "I paemërtuar", "label-untitled-folder": "E paemërtuar", "msg-set-attachment-folder": "Materialet e bashkangjitura do ruhen në\"{{path}}\" nga tani e tutje." }, "search": { "name": "Kërko", "desc": "Kërko për fjalë kyçe në të gjitha dokumentet", "action-open-search": "Kërko në të gjitha dokumentet", "label-collapse-results": "Palos rezultatet", "label-match-case": "Përputh rezultatet sipas termit", "label-explain-search-term": "Sqaro mënyrën e kërkimit", "label-more-context": "Jep më shumë kontekst", "label-result-count": "{{count}} result", "label-result-count_plural": "{{count}} results", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Search settings", "prompt-start-search": "Shkruaj për të nisur kërkimin...", "label-match-text": "Përputhet me tekstin: ", "label-match-regex": "Përputhet me shprehjen `regex`: ", "label-match-exact-text": "Përmban ekzaktësisht tekstin: ", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "Contains property:", "label-match-all": "Përputhet me të gjitha: ", "label-match-any": "Përputhet me cilëndo prej: ", "label-excluding": "Pa përfshirë: ", "label-case-sensitive": "Duke marrë parasysh kapitalizimin", "label-case-insensitive": "Pa marrë parasysh kapitalizimin", "label-match-file-path": "Përputhet me vendndodhjen e dokumentit: ", "label-match-file-name": "Përputhet me emrin e dokumentit: ", "label-match-content": "Përputhet me përmbajtjen e dokumentit: ", "label-match-task": "Përputhet me taskun: ", "label-match-task-todo": "Përputhet me taskun (për të bërë): ", "label-match-task-done": "Përputhet me taskun (kryer): ", "label-match-line": "Përputhet me rreshtin: ", "label-match-block": "Përputhet me bllokun: ", "label-match-section": "Përputhet me seksionin: ", "label-match-tag": "Përputhet me etiketimin: ", "label-no-matches": "Nuk u gjet ndonjë element.", "matches-with-count": "... dhe {{count}} përputhje të tjera.", "matches-with-count_plural": "... dhe {{count}} përputhje të tjera.", "label-copy-search-results": "Kopjo rezultatet e kërkimit", "button-copy-results": "Kopjo rezultatet", "msg-successfully-copied": "Rezultatet u kopjuan në memorien e fragmenteve (clipboard).", "option-show-path": "Shfaq vendndodhjen", "option-show-path-description": "Shfaq vendndodhjen e plotë të dokumentit dhe jo vetëm emrin.", "option-link-style": "Mënyra e lidhjeve", "option-link-style-description": "Shndërro sipas dëshires çdo rezultat kërkimi në një lidhje.", "option-choice-link-style-none": "Asnjë", "option-choice-link-style-wikilink": "Lidhje Wiki", "option-choice-link-style-markdown-link": "Lidhje Markdown", "option-list-prefix": "Prefiksi i listës", "option-list-prefix-description": "Shto në mënyre opsionale një prefiks për rezultatet e listuara të kërkimit të dokumenteve", "option-choice-list-style-none": "Asnjë", "option-choice-list-style-dash": "Vijë në mes (-)", "option-choice-list-style-asterisk": "Yll (*)", "option-choice-list-style-numbered": "Numra", "tooltip-clear-search": "Kërkim i pastër", "label-search-options": "Opsione kërkimi", "label-properties-group": "Properties", "label-tags-group": "Tags", "tooltip-read-more": "Lexo më shumë", "label-history": "Historiku", "tooltip-clear-history": "Fshi historikun e kërkimeve", "label-path-option-description": "përputh me vendndodhjen e një dokumenti", "label-file-name-option-description": "përputh me emrin e një dokumenti", "label-tag-option-description": "kërko sipas etiketimeve", "label-line-option-description": "kërko fjalë kyç në të njejtin rresht", "label-section-option-description": "kërko fjalë kyç nën të njëjtin titull", "label-property-option-description": "match property", "menu-opt-search-for": "Search for \"{{keyword}}\"", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "Ndërruesi i shpejtë", "desc": "Kalo në çdo dokument pa hequr duart nga tastiera. Shtyp Ctrl/Cmd+0 për t'a aktivizuar.", "short-name": "Ndërruesi", "action-open": "Hap ndërruesin e shpejtë", "instruction-navigate": "për të naviguar", "instruction-open": "për të hapur një dokument", "instruction-open-in-new-tab": "to open in new tab", "instruction-open-to-the-right": "to open to the right", "instruction-create": "për të krijuar diçka", "instruction-dismiss": "për të anulluar", "instruction-select": "to select", "label-no-note-create-new": "Nuk u gjendën dokumente shënimesh. Shtyp Enter për të krijuar një të ri.", "prompt-type-file-name": "Shtyp `file` për të krijuar ose ndërruar dokumentin...", "label-enter-to-create": "Shtyp Enter për të krijuar", "tooltip-not-created-yet": "Nuk është krijuar akoma, përzgjidh për të krijuar", "option-show-existing-only": "Shfaq vetëm dokumentet që ekzistojnë", "option-show-existing-only-description": "Përcakton nëse shfaqen lidhje që i referohen dokumenteve akoma të pa krijuar.", "option-show-attachments": "Shfaq materialet e bashkangjitura", "option-show-attachments-desc": "Shfaq materiale të bashkangjitura si foto, video dhe PDF.", "option-show-all-file-types": "Shfaq të gjitha llojet e materialeve", "option-show-all-file-types-desc": "Shfaq të gjitha dokumentet, përfshirë ata të cilat Obsidian nuk i hap dot. Dokumenti do hapet me aplikacionin përkatës për llojin e tij." }, "graph-view": { "name": "Pamja me grafik", "desc": "Shiko në një rrjetë grafike një përmbledhje se me cilët dokumenta lidhet secili dokument", "action-open": "Hap rrjetën grafike", "action-open-local": "Hap grafikun aktual", "action-copy-screenshot": "Kopjo një `screenshot`", "tab-title": "Grafiku i {{displayText}}", "label-filters": "Filtra", "prompt-filter-nodes": "Kërko dokumenta...", "option-depth": "Thellësia", "option-depth-description": "Shfaq nyje që janë larg sa kjo vlerë", "option-neighbor-links": "Nyje fqinje", "option-neighbor-links-description": "Shfaq lidhjet mes nyjeve fqinjëve.", "option-forelinks": "Lidhjet për jashtë", "option-forelinks-description": "Shfaq lidhjet që i referohen dokumenteve të tjerë", "option-backlinks": "Lidhje për brenda", "option-backlinks-description": "Shfaq lidhjet nga dokumenta të tjerë", "option-show-tags": "Etiketime", "option-show-tags-description": "Etiketimet lidhen me dokumentet në të cilët përkasin", "option-show-attachments": "Materiale të bashkangjitura", "option-show-attachments-description": "Shfaq materialet e bashkangjitura të përfshira nëpër dokumente", "option-show-existing-files-only": "Vetëm dokumentat ekzistues", "option-show-existing-files-only-description": "Kur i përzgjedhur,ky opsion fsheh lidhjet që i referohen dokumenteve joekzistues", "option-show-orphans": "Dokumentet jetimë", "option-show-orphans-description": "Shfaq dokumentet të cilët nuk lidhen me ndonjë dokument tjetër", "label-display": "Shfaq", "option-show-arrows": "Shigjeta", "option-show-arrows-description": "Shfaq shigjeta kur afrohet pamja", "option-text-fade": "Limiti i zbehjes së tekstit", "option-node-size": "Përmasa e nyjeve", "option-link-thickness": "Trashësia e vijave lidhëse", "label-forces": "Forcat", "option-center-force": "Forca qëndrore", "option-link-force": "Forca e lidhjes", "option-link-distance": "Distanca e lidhjes", "option-repel-force": "Forca shtytëse", "tooltip-open-graph-settings": "Hap opsionet e grafikut", "msg-screenshot-copied": "`Screenshot` u kopjua në memorien e fragmenteve (clipboard).", "label-groups": "Grupimet", "placeholder-enter-query": "Shkruaj një term kërkimi...", "tooltip-delete-graph": "Fshi grupimin", "button-new-group": "Krijo një grupim të ri", "tooltip-click-to-change-drag-to-reorder": "Kliko për të ndryshuar ngjyrën\nTërhiq për të riorganizuar grupimet", "action-timelapse": "Nis animimin `timelapse` të grafikut", "tooltip-start-timelapse-animation": "Start timelapse animation", "button-animate-timelapse": "Animate" }, "backlinks": { "name": "Lidhjet kthyese", "desc": "Shfaq numrin e lidhjeve kthyese në shiritin e gjendjes.", "action-open": "Hap lidhjet kthyese", "action-show": "Shfaq panelin e lidhjeve kthyese", "action-open-for-current": "Hap lidhjet kthyese për dokumentin aktiv", "action-toggle-backlinks-in-document": "Ndërro mes lidhjeve kthyese në dokument", "menu-opt-backlinks-in-document": "Backlinks in document", "label-linked-mentions": "Përmendje të referuara", "label-no-backlinks": "Nuk ka lidhje kthyese.", "label-unlinked-mentions": "Përmendje të pa-referuara", "label-show-search": "Shfaq filtrat e kërkimit", "label-link-button-text": "Lidhje", "tab-title": "Lidhje kthyese për {{displayText}}", "label-no-unlinked-mentions": "Nuk ka përmendje të pa referuara.", "ellipsis": "...", "option-backlink-in-document": "Backlink in document", "option-backlink-in-document-desc": "Show backlinks in document by default when opening new panes." }, "outgoing-links": { "name": "Lidhje për jashtë", "desc": "Shfaq lidhjet për jashtë dhe detekto përmendje të pa-referuara të dokumenteve të tjerë në dokumentin aktual.", "action-open": "Hap lidhjet për jashtë", "action-show": "Shfaq panelin e lidhjeve për jashtë", "action-open-for-current": "Hap lidhjet për jashtë për dokumentin aktiv", "tab-title": "Lidhjet për jashtë nga {{displayText}}", "label-links": "Lidhjet", "label-no-links": "Nuk ka lidhje", "label-unlinked-mentions": "Përmendje të pa referuara", "tooltip-link-file": "Lidh këtë dokument", "tooltip-not-created": "Nuk është krijuar akoma" }, "tag-pane": { "name": "Panelin i etiketimeve", "short-name": "Tags", "desc": "Shfaq të gjitha etiketimet tuaja bashkë me numrin e herëve që janë përdorur", "action-show": "Shfaq paonelin e etiketimeve", "label-no-tags": "Nuk ka etiketime.", "label-sort-by-name-a-to-z": "Emri i etiketimit (nga A në Z)", "label-sort-by-name-z-to-a": "Emri i etiketimit (nga Z në A)", "label-sort-by-frequency-high-to-low": "Frekuenca (nga e lartë në e ulët)", "label-sort-by-frequency-low-to-high": "Frequency (nga e ulët në e lartë)", "action-show-nested-tags": "Shfaq etiketimet e degëzuara (nested)", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Properties view", "desc": "Show the metadata for your files.", "name-global": "All properties", "name-local": "File properties", "tab-title": "File properties for {{displayText}}", "action-show": "Show all properties", "action-show-local": "Show file properties", "opt-unassign-type": "Unassign type", "label-no-properties": "No properties found.", "label-invalid-properties": "Invalid properties.", "label-sort-by-name-a-to-z": "Property name (A to Z)", "label-sort-by-name-z-to-a": "Property name (Z to A)", "label-sort-by-frequency-high-to-low": "Frequency (high to low)", "label-sort-by-frequency-low-to-high": "Frequency (low to high)", "msg-merge-properties-warning": "Merge property “{{oldKey}}” with “{{newKey}}”?", "msg-merge-properties-warning-desc": "In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-open-local": "Open file properties", "action-open-daily-note": "Open daily note" }, "page-preview": { "name": "Afishimi i faqes", "desc": "Afisho një dokument kur kalon mausin mbi një lidhje të brendshme. Ctrl/Cmd + kalo mausin mbi një lidhje në modën e përpunimit.", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "\"{{linktext}}\" nuk është krijuar akoma. Kliko për t'a krijuar.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Përpunues", "label-source-preview": "Afishim", "label-source-search": "Kërkim, Lidhje kthyese dhe Lidhje për jashtë", "label-source-tab-header": "Tab header", "label-require-mod": "Kërko {{key}} për të iniciuar afishimin e faqes gjatë kalimit të mausit nga sipër" }, "bookmarks": { "name": "Bookmarks", "desc": "Bookmark frequently used files and searches.", "action-show": "Show bookmarks", "action-collapse-all": "Collapse all", "action-new-bookmark": "Bookmark the active tab...", "action-new-group": "New bookmark group", "action-bookmark": "Bookmark...", "action-add-bookmark": "Add bookmark", "action-edit-bookmark": "Edit bookmark", "action-bookmark-block": "Bookmark block under cursor...", "action-bookmark-heading": "Bookmark heading under cursor...", "action-bookmark-search": "Bookmark current search...", "action-remove-bookmark": "Remove bookmark for current file", "action-bookmark-tab-group": "Bookmark {{count}} tab...", "action-bookmark-tab-group_plural": "Bookmark {{count}} tabs...", "action-bookmark-all-tabs": "Bookmark all tabs...", "action-bookmark-graph": "Bookmark this graph...", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} bookmark", "label-bookmark-with-count_plural": "{{count}} bookmarks", "label-no-bookmarks": "No bookmarks found", "label-invalid-data": "Failed to load bookmarks.", "label-invalid-data-desc": "The data file is corrupted.", "label-untitled-group": "Untitled group", "label-untitled-graph": "Untitled Graph", "menu-opt-edit": "Edit...", "menu-opt-remove": "Remove", "menu-opt-rename": "Rename", "menu-opt-bookmark-block": "Bookmark this block...", "menu-opt-bookmark-heading": "Bookmark this heading...", "msg-no-search-query": "No search query to bookmark.", "option-path": "Path", "option-query": "Query", "option-u-r-l": "URL", "option-title": "Title", "option-group": "Bookmark group", "placeholder-bookmark-group": "Bookmarks" }, "custom-css": { "name": "CSS e modifikuar", "desc": "Lexon \"obsidian.css\" në kasafortë dhe e aplikon atë.", "setting-community-themes": "Motifet e komunitetit", "msg-fetching-themes": "Duke marrë motifet nga komuniteti...", "prompt-filter": "Filtro...", "label-dark-theme-only": "Vetëm motife të errëta", "label-light-theme-only": "Vetëm motife të ndritshme", "label-use": "Përdor", "label-stop-use": "Stop using this theme", "label-install-and-use": "Install and use", "label-update": "Update", "label-no-readme": "This theme did not provide a README file.", "tooltip-remove-theme": "Remove theme", "label-visit-on-github": "Shiko në GitHub", "msg-load-error": "Motifet e komunitetit nuk mund të merreshin, ju lutemi kontrolloni lidhjen me internetin", "msg-now-using-theme": "Tani ju po përdorni {{title}} si motif CSS.", "msg-deleted-theme": "The theme {{title}} has been deleted.", "msg-updated-theme": "The theme {{title}} has been updated.", "label-installed": "Installed", "label-legacy": "Legacy", "button-update-all-themes": "Update all", "msg-failed-load-themes": "Failed to load community themes.", "msg-no-updates-found": "No theme updates found.", "msg-updates-found": "Found {{count}} theme to update.", "msg-updates-found_plural": "Found {{count}} themes to update.", "msg-failed-to-install-theme": "Failed to install theme \"{{name}}\".", "msg-successfully-installed-theme": "Successfully installed theme \"{{name}}\".", "msg-installing-theme": "Installing theme \"{{name}}\"...", "label-search-summary": "Showing {{themeCount}}:", "label-update-available": "Update available" }, "command-palette": { "name": "Paleta e komandave", "desc": "Shtypni një komandë për t'a përdorur. Nuk keni nevojë të përdorni ndërfaqen grafike për të përdorur komandat.", "action-open": "Hap paletën e komandavae", "instruction-navigate": "për të naviguar", "instruction-use": "për të përdorur", "instruction-dismiss": "për të anulluar", "label-no-commands": "Nuk ka komanda.", "prompt-type-command": "Shtyp një komandë...", "label-pinned-commands": "Komanda të ngulitura", "option-add-new-pin": "Komandë e ngulitur rishtazi", "option-add-new-pin-description": "Komandat e ngulitura shfaqen në krye të gjithë komandave kur nuk ka ndonjë term kërkimi." }, "markdown-format-importer": { "name": "Importuesi për formatin Markdown", "desc": "Konverto Markdown nga aplikacione të tjera në formatin e Obsidian.", "action-open": "Hap importuesin për Markdown", "option-roam-tag-fixer": "Korrigjuesi i etiketimeve Roam Research ", "option-roam-tag-fixer-description": "Konverton \"#tag\" dhe \"#[[tag]]\" në \"[[tag]]\".", "option-roam-highlight-fixer": "Korrigjuesi i nënvijëzimeve Roam Research", "option-roam-highlight-fixer-description": "Konverton \"^^highlight^^\" në \"==highlight==\".", "option-roam-todo-converter": "Konvertuesi i TODO Roam Research", "option-roam-todo-converter-description": "Konveron \"{{[[TODO]]}}\" në \"[ ]\".", "option-bear-highlight-fixer": "Rregulluesi i nënvijëzimeve Bear", "option-bear-highlight-fixer-description": "Konverton \"::highlight::\" në \"==highlight==\".", "zettelkasten-link-fixer": "Korrigjuesi i lidhjeve Zettelkasten", "zettelkasten-link-fixer-description": "Korrigjon lidhjet \"[[UID]]\" në variantin e plotë \"[[UID File Name]]\".", "zettelkasten-link-beautifier": "Zbukuruesi i lidhjeve Zettelkasten", "zettelkasten-link-beautifier-description": "Korrigjon lidhjet \"[[UID]]\" dhe gjithashtu i zbukuron ato \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Kujdes: Ky importues konverton të gjithë dokumentet në kasafortën tuaj, jo vetëm dokumentin aktual.", "msg-override-files-warning": "Dokumentet tuaj do mbishkruhen. Ruajini të gjithë dokumentet para se të tentoni konvertimin.", "label-start-conversion": "Nis Konvertimin", "label-stop": "Ndal", "label-go-back": "Shko mbrapa", "label-done": "Kryer", "label-processing": "Duke përpunuar...", "label-cancelling": "Duke anulluar...", "label-finished": "Kryer!", "label-processed-files": "Dokumentat u përpunuan", "label-modified-files": "Dokumentuat u modifikuan", "label-total-replacements": "Zëvendësime në total", "label-failed": "Failed" }, "daily-notes": { "name": "Shënime ditore", "desc": "Hap shënimet e sotme, ose krijoji tani nëse nuk ekzistojnë.", "short-name": "Sot", "action-open": "Hap shënimet e sotme", "action-open-previous": "Hap shënimet e djeshme", "action-open-next": "Hap shënimet e nesërme", "action-insert-text": "Insert text into daily note", "action-insert-link": "Insert link into daily note", "msg-fail-format": "Shënimet e sotme nuk u krijuan dot. \"{{format}}\" nuk është format i vlefshëm.", "msg-fail-folder": "Shënimet e sotme nuk u krijuan dot. Dosja \"{{folderOption}}\" nuk u gjend.", "msg-fail-template-file": "Shënimet e sotme nuk u krijuan dot. Dokumenti shabllon(template) \"{{template}}\" nuk u gjend.", "msg-no-previous": "Nuk ka shënime ditore para këtyre.", "msg-no-next": "Nuk ka shënime ditore pas këtyre.", "option-date-format": "Formati i datës", "label-refer-to-syntax": "Për më shume info rreth sintakses, referojuni kësaj: ", "label-syntax-link": "Referenca e formatit", "label-syntax-live-preview": "Kështu do duket: ", "option-new-file-location": "Vendndodhje e re për dokumentin", "option-new-file-location-description": "Vendndodhja e dosjes ku do krijohen shënimet e reja ditore.", "option-template": "Vendndodhja e dokumentit shabllon(template)", "option-template-description": "Vendndodhja e dokumentit që do përdoret si model bazë", "option-open-on-start": "Hap shënimet ditore në hapje te aplikacionit", "option-open-on-start-description": "Hap shënimet ditore autoamatikisht sapo ju hapni këtë kasafortë." }, "unique-note-creator": { "name": "Unique note creator", "desc": "Create notes with unique timestamp prefixes, for workflows like zettelkasten or slip box.", "short-name": "Unique", "action-create-note": "Create new unique note", "action-add-link": "Add unique internal link", "option-new-file-location": "New file location", "option-new-file-location-description": "The folder path to create the new unique note.", "msg-folder-not-found": "Failed to create unique note. Folder \"{{folderOption}}\" not found.", "option-template-file": "Template file location", "option-template-file-description": "The file path to use as template.", "option-template-file-placeholder": "Example: folder1/note", "option-id-format": "Unique prefix format", "msg-template-file-not-found": "Failed to create unique note. Template file \"{{template}}\" not found.", "msg-failed-to-generate": "Failed to generate a unique note with the format \"{{format}}" }, "random-note": { "name": "Shënime të rastit", "desc": "Hap një dokument shënimesh sipas rastit. E përshtatshme për rishikime dhe hulumtime.", "short-name": "Rastësore", "action-open": "Hap shënime sipas rastit" }, "outline": { "name": "Përmbledhja", "desc": "Shfq përmbledhjen e dokumentit aktiv ose panelit të lidhur me të.", "action-open": "Hap përmbledhjen", "action-show": "Shfaq panelin e përmbledhjes", "action-open-for-current": "Hap përmbledhjen e dokumentit aktiv", "tab-title": "Përmbledhja e {{displayText}}", "label-no-headings": "Nuk ka tituj.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Numri i fjalëve", "desc": "Shfaq numrin e fjalëve ne shiritin e gjendjes." }, "slides": { "name": "Slide-t", "desc": "Prezanto me Markdown. Përdor \"---\" për të veçuar slide-t.", "action-start": "Nis prezantimin" }, "audio-recorder": { "name": "Regjistruesi audio", "desc": "Regjistro audio dhe ruaji si materiale të bashkangjitura.", "action-start": "Nis regjistrimin audio", "action-stop": "Ndal regjistrimin audio", "action-toggle": "Nis/ndal regjistrimin", "msg-access-denied": "Aksesi i mikrofonit u mohua, ju lutemi lejojeni duke shkuar në panelin e opsioneve.", "msg-pending-grant": "Ju lutemi të jepni lejen e duhur për aksesimin e mikrofonit në mënyre që të bëni regjistrimin.", "msg-no-microphone": "Nuk ka mikrofon të lidhur" }, "open-with-default-app": { "name": "Hap në aplikacionin përkatës", "desc": "Shto një buton për t'a hapur dokumentin aktual në aplikacionin përkatës", "action-open-file": "Hap në aplikacionin përkatës", "action-open-file-mobile": "Ndaj", "action-show-in-folder": "Shfaq në dosje", "action-show-in-folder-mac": "Reveal in Finder" }, "templates": { "name": "Shabllone (templates)", "desc": "Shto përmbajtje shabllon nga një dosje me dokumenta shabllon.", "action-insert": "Shto një shabllon", "action-insert-current-date": "Shto datën aktuale", "action-insert-current-time": "Shto kohën aktuale", "option-template-folder-location": "Vendndodhja e dosjes së shablloneve", "option-template-folder-location-description": "Dokumentat në këtë dosje do jenë të disponueshme.", "option-template-date-format": "Formati i datës", "option-template-date-format-description": "{{date}} në dokumentin shabllon do zëvendësohet me këtë vlerë.", "option-template-date-format-description2": "Mund të përdorni gjithashtu {{date:YYYY-MM-DD}} për t'a mbishkruar formatin një herë.", "option-template-time-format": "Formati i kohës", "option-template-time-format-description": "{{time}} në dokumentin shabllon do zëvendësohet me këtë vlerë..", "option-template-time-format-description2": "Mund të përdorni gjithashtu {{time:HH:mm}} për t'a mbishkruar formatin një herë.", "instruction-navigate": "për të naviguar", "instruction-insert": "për të shtuar një shabllon", "instruction-dismiss": "për të anulluar", "msg-no-templates-found": "Nuk ka shabllone", "msg-fail-invalid-folder": "Listimi i shablloneve dështoi. Dosja e shablloneve nuk është e vlefshme.", "msg-fail-folder-not-found": "Listimi i shablloneve dështoi. Dosja \"{{folderOption}}\" nuk u gjend.", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "Failed to list templates. No template folder configured.", "prompt-type-template": "Shtyp emrin e një shablloni..." }, "translucency": { "name": "Dritare e tejdukshme", "desc": "Aktivizon tejdukshmërinë për të ofruar. Më e përshtatshme për t'u përdorur me motifin e errët. Nuk ofrohet në Linux." }, "slash-command": { "name": "Slash commands", "desc": "Enable the ability to trigger slash commands in the editor by typing the forward slash." }, "editor-status": { "name": "Editor status", "desc": "Adds a status bar item to show and change the current editor mode.", "read": "Reading", "edit-source": "Source mode", "edit-live-preview": "Live Preview" }, "publish": { "name": "Publiko", "desc": "Publiko shënimet nëpërmjet Obsidian Publish.", "action-publish-changes": "Publiko ndryshimet...", "action-publish-file": "Publish current file", "label-no-internet-access": "Duhet të keni lidhje me internetin për të publikuar ndryshimet.", "label-publish-service-description": "Obsidian Publish është një shërbim i paguar shtojcë që ju lejon të publikoni direkt nga Obsidian shënimet tuaja.", "label-please-login": "Për të nisur publikimin, ju lutemi të kyçeni ose të krijoni një llogari Obsidian.", "label-no-publish-subscription": "Ju nuk keni akoma një abonim Obsidian Publish.", "button-purchase": "Bli", "label-manage-sites": "Menaxho faqet", "label-no-sites": "Ju nuk keni ndonjë faqe.", "button-choose": "Përzgjidh", "tooltip-edit-site-id": "Modifiko ID e faqes", "tooltip-delete-site": "Fshi faqen", "label-delete-site-confirmation": "Jeni të sigurt që doni t'a fshini këtë faqe?", "label-delete-site-details": "Ky veprim do e fshije menjëherë dhe përgjithmonë faqen tuaj.", "label-confirm-delete-site": "Konfirmo fshirjen e faqes \"{{site}}\"", "option-site-id": "ID e faqes", "option-site-id-description": "Faqja juaj do jetë në https://publish.obsidian.md/{site id}. Ju mund t'a ndryshoni këtë më vonë. Vetëm gërma jo-kapitale, numra dhe vija mesore lejohen.", "option-site-id-placeholder": "Zgjidh një ID për faqen", "button-create": "Krijo", "msg-invalid-site-id": "ID e faqes mund të përmbajë vetëm gërma jo-kapitale, numra ose vija mesore.", "msg-site-id-in-use": "Kjo ID është aktualisht e zënë, ju lutemi provoni një tjetër.", "msg-create-site-issue": "Krijimi i faqes tuaj ndeshi një problem.", "label-site-options": "Opsionet e faqes", "option-site-general": "General", "option-site-components": "Komponentët", "option-site-appearance": "Pamja", "option-site-reading-experience": "Eksperienca e leximit", "option-site-misc": "Opsione të tjera të faqes", "option-site-name": "Emri i faqes", "option-site-name-description": "Emri i faqes tuaj të publikuar. Shfaqet në titullin e faqes tuaj.", "option-site-name-placeholder": "Emri i website-t tuaj", "option-home-page-file": "Dokumenti `homepage`", "option-home-page-file-description": "Faqja e parë që dikush sheh sapo hapin website-n tuaj", "option-home-page-file-placeholder": "Zgjidh një dokument të publikuar", "option-logo": "Logo", "option-logo-description": "Përzgjidh një imazh si logo për website-n tuaj.", "option-logo-placeholder": "Ndonjë imazh në kasafortën tuaj...", "option-site-collaboration": "Site collaboration", "option-site-collaboration-desc": "Manage collaborators for this site.", "option-customize-navigation": "Customize navigation", "option-customize-navigation-desc": "Override the order of navigation items and hide pages or folders from showing.", "option-navigation-order": "Navigation item display order", "option-hide-items-in-navigation": "Hide pages or folders from navigation", "option-hide-items-in-navigation-desc": "Right click and select \"Hide\" to prevent specific pages from appearing in the site navigation. The pages will still be accessible via links or accessing the URL directly.", "option-show-hidden-items": "Show hidden", "button-customize-sidebar": "Manage", "label-navigation-modal-title": "Navigation", "label-navigation-modal-desc": "Drag and drop to customize the order in which navigation items appear on your Publish site.", "option-hide-in-navigation": "Hide in navigation", "button-manage-collaborators": "Manage", "option-theme": "Motifi", "option-theme-description": "Përcaktoni një skemë ngjyrash bazë për website-n tuaj.", "option-theme-system": "Adapt to system", "option-show-theme-toggle": "Light/dark toggle", "option-show-theme-toggle-description": "Let the visitor toggle between light and dark theme on their own.", "option-show-navigation": "Shfaq navigimin", "option-show-navigation-description": "Shfaq në të majtë një listë të gjithe faqeve të publikuara në website-n tuaj të publikuar.", "option-show-search": "Shfaq shiritin e kërkimit", "option-show-search-description": "Shfaq një shirit kërkimi në krye të navigimit për t'i ndihmuar vizitoret që të kërkojne faqje dhe tituj në website-n tuaj.", "option-show-graph": "Shfaq rrjetën grafike", "option-show-graph-description": "Shfaq një grafik të vogël në secilen faqe.", "option-show-outline": "Shfaq tabelën e përmbajtjes", "option-show-outline-description": "Shfaq përmbajtjen e titujve në secilën faqe.", "option-show-backlinks": "Shfaq lidhjet kthyese", "option-show-backlinks-description": "Shfaq seksionin e lidhjeve kthyese në fund të secilës faqe.", "option-sliding-window-mode": "Përdor dritare lëvizëse", "option-sliding-window-mode-description": "Hap faqet në panele të reja në të djathtë. Lejon `scrolling` horizontalisht përmes paneleve.", "option-hover-preview-file": "Shfaq një `preview` kur kalon mausin sipër", "option-hover-preview-file-description": "Tregon si duket faqja kur vendos mausin mbi një lidhje të asaj faqeje", "option-hide-title": "Hide page title", "option-hide-title-description": "Hide the page title heading. Useful when you have your own headings at the beginning of each page.", "option-readable-line-length": "Gjatësia e lexueshme e rreshtit", "option-readable-line-length-description": "Kufizon gjatësine maksimale të rreshtit. Shfaq më pak përmbajtje në ekran, por i bën paragrafët më të lexueshëm", "option-site-password": "Fjalëkalime", "option-site-password-description": "Kufizon aksesin në website-n tuaj nëpërmjet fjalëkalimeve.", "option-google-analytics": "Kodi për Google Analytics", "option-google-analytics-description": "Konfiguron Google Analytics për website-n. I disponueshëm vetëm për vizitorë nga adresa juaj e domeinit (Domain URL). Ju lutemi konsultohuni me ligjet dhe rregullat e vendit tuaj fillimisht.", "button-manage-passwords": "Menaxho", "button-save-site-settings": "Ruaj konfigurimet e faqes", "msg-updated-options": "Konfigurimet e faqes u përditësuan.", "button-go-back": "Shko mbrapa", "label-publishing-to": "Duke publikuar në", "tooltip-switch-site": "Ndërro site-n", "button-add-linked": "Shto të lidhurat", "tooltip-add-linked": "Shton të gjithë dokumentet që lidhen me elementët e përzgjedhur aktualisht", "msg-added-linked-files": "{{count}} dokument i lidhur u shtua.", "msg-added-linked-files_plural": "{{count}} dokumente të lidhur u shtuan.", "tooltip-open-site-options": "Ndrysho konfigurimet e faqes", "label-no-changes-detected": "Nuk ka ndryshiem.", "label-changed-files-to-be-published": "Të ndryshuara", "label-unchanged-files-already-published": "Të pa ndryshuara (përzgjidh për t'i fshire)", "label-file-selected": " të perzgjedhura", "button-select-all-files": "Përzgjidh të gjitha", "label-custom-navigation-title": "Navigation items", "button-deselect-all-files": "Hiq përzgjedhjen", "label-new-files-to-be-published": "Të reja", "button-publish": "Publiko", "msg-no-permission-to-publish-to-site": "Ju nuk keni nivelin e duhur të aksesit për të publikuar në site-n aktual.", "msg-select-at-least-one-file": "Ju lutemi përzgjidhni të paktën një dokument.", "label-upload-changes": "Apliko ndryshimet", "button-done": "Kryer", "button-stop": "Ndal", "label-status-uploading": "Duke aplikuar", "label-status-to-publish": "Për të publikuar", "label-status-to-delete": "Për të fshire", "label-status-published": "Publikuar", "label-status-deleted": "Fshirë", "label-status-failed": "Dështuar", "label-status-cancelled": "Anulluar", "button-change": "Ndrysho", "label-clear-cache": "Duhen pak minuta që ndryshimet të shfaqen në website-n tuaj. Nëse nuk i shihni ndryshimet më të fundit, provoni të pastroni cache-n e browser-it.", "label-visit-site": "Mund t'a vizitoni site-n këtu: ", "msg-something-went-wrong": "Diçka shkoi gabim. Ju lutemi shihni konsolën e zhivlluesit (developer console) për më shume detaje", "msg-network-error": "U has një problem me rrjetin. ", "label-manage-passwords": "Menaxho fjalëkalimet", "label-add-password": "Shto një fjalëkalim", "action-new-password": "Fjalëkalim i ri", "label-no-password": "Website-i juaj nuk ka fjalëkalim. Kushdo mund t'a vizitojë atë.", "label-have-password": "Website-i juaj mbrohet me fjalëkalim. Nëse keni disa fjalëkalime, vizitorët mund t'a aksesojnë website-n me cilindo prej tyre.", "option-password-name": "Fjalëkalim", "option-password-desc": "Një hash i fjalëkalimit tuaj do ruhet në mënyrë të sigurt. Sapo të vendosni fjalëkalimin, ai nuk mund të zbulohet më si tekst i thjeshtë.", "option-password-placeholder": "Fjalëkalimi juaj", "option-nickname-name": "Pseudonimi (opsional)", "option-nickname-desc": "Vendosni një pseudonim për t'i rikujtuar vetes për çfarë ose për kë është fjalëkalimi.", "action-add-password": "Shto këtë fjalëkalim", "label-untitled-password": "Fjalim i paemërtuar", "label-password-created-time": "Krijuar më {{time}}", "msg-added-new-password": "Fjalëkalimi i ri u shtua.", "option-custom-domain": "Domein preferencial", "option-custom-domain-desc": "Përdorni domeinin tuaj në vend të https://publish.obsidian.md/{site id}.", "option-noindex": "Mos lejo indeksimin e motorëve të kërkimit", "option-noindex-desc": "Nuk lejon motorët e kërkimit të indeksojne site-n tuaj.", "button-configure": "Konfiguro", "label-configure-custom-domain": "Konfiguro domeinin preferencial", "option-custom-url-name": "URL preferenciale", "option-custom-url-desc": "Adresa URL në të cilën do gjendet site-i juaj.", "option-custom-url-placeholder": "www.domeinijuaj.com", "option-custom-url-redirect": "Riadreso për në domeinin tuaj", "option-custom-url-redirect-desc": "Riadreson vizitorët e publish.obsidian.md/id për në domeinin tuaj.", "button-update-custom-domain": "Përditëso konfigurimet e domeinit", "label-custom-domain-instructions": "Ju lutemi referojuni {{link}} në faqen tonë të ndihmës për më shumë informacion.", "label-custom-domain-link-name": "guida e konfigurimit të domeinit", "label-site-usage": "Ju po përdorni {{site}} jashtë {{limit}} tuaj.", "button-add-more-sites": "Blini më shumë site", "label-no-sites-bought": "You haven't bought any sites.", "button-get-site": "Get a site", "label-manage-sharing": "Manage sharing for \"{{name}}\"", "label-sharing-with-users": "This site is currently shared with the following people.", "label-not-sharing": "This site is not currently shared with anyone.", "label-invite-pending": "Pending", "tooltip-remove-user": "Remove user", "option-invite-user": "Invite user", "placeholder-invite-user": "Enter their email...", "error-email-must-be-valid": "Please enter a valid email to invite someone.", "msg-enable-publish-plugin": "Please enable the Publish core plugin in Settings -> Core plugins to view sites.", "label-your-sites": "Your sites", "label-sites-shared-with-you": "Sites shared with you", "tooltip-leave-site-sharing": "Stop collaborating on this site", "label-leave-site-confirmation": "Confirm stop site collaboration", "label-leave-site-confirmation-details": "This will remove this site from the list of sites shared with you. This action cannot be reverted.", "label-leave-site-confirmation-details-2": "Please contact the owner of the site if you wish to collaborate on this site again.", "button-leave": "Leave", "label-compare-with-live": "Compare with live version", "button-use-live-version": "Use live version", "label-confirm-override": "Confirm overriding local version", "label-confirm-override-1": "Are you sure you want to override the local version?", "label-confirm-override-2": "The live version will be used and your local version will be discarded. Please make backups if necessary.", "button-proceed": "Proceed", "message-successfully-used-live-version": "Successfully used live version to override your local version.", "label-open-in-live-site": "Open in live site", "label-open-file": "Open file", "tooltip-manage-publish-filters": "Manage publish filters", "option-included-folders": "Included folders", "option-included-folders-desc": "Files under these folders will automatically be selected when you review changes to publish.", "option-currently-included-folders": " These folders are currently included:", "option-excluded-folders": "Excluded folders", "option-excluded-folders-desc": "Files under these folders won't show up when you review changes to publish. This setting takes priority over included folders above.", "label-number-of-folders-included": "Obsidian Publish is currently including {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish is currently excluding {{folders}}.", "label-manage-included-folders": "Manage included folders", "label-manage-excluded-folders": "Manage excluded folders", "label-add-included-folder": "Include a folder", "label-add-included-folder-desc": "You can include both existing folders and folders that have not been created yet.", "tooltip-contact-support": "Contact support", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "Hapësira e punës", "desc": "Ruaj dhe ngarko paraqitjen e hapësirës së punës.", "action-load-layout": "Load workspace layout", "action-manage-layouts": "Manage workspace layouts", "action-save": "Save layout", "action-save-and-load-layout": "Save and load another layout", "placeholder-save-current-layout-as": "Save current workspace layout as...", "button-save": "Ruaj", "button-load": "Ngarko", "tooltip-delete-layout": "Delete layout", "msg-enter-name": "Please enter a name for the new layout.", "msg-save-layout-success": "Successfully saved layout.", "label-no-layout-found": "No saved layout found.", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "Type layout name..." }, "sync": { "name": "Sinkronizime", "desc": "Sinkronizo dokumentet tuaj nëpërmjet Obsidian Sync.", "action-view-version-history": "Shikoni historikun e versioneve", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "Shfaqni më shumë", "label-show-diff": "Show diff", "label-copy-to-clipboard": "Kopjo në memorien e fragmenteve (Clipboard)", "label-restore-this-version": "Rikthe këtë version", "msg-already-latest-version": "Ky version është aktualisht versioni më i fundit.", "msg-restored-version": "Versioni i {{time}} u rikthye me sukses", "label-file-deleted": "Ky dokument është fshirë", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "This file was renamed from \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revision", "label-revision_plural": "{{revisions}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "Bosh", "label-unable-to-retrieve": "Unable to retrieve version history", "label-setting-files": "Setting files", "label-deleted-files": "Dokumente të fshirë", "label-version-history": "Version history", "label-click-to-see-history": "Kliko në një dokument të fshirë për t'i shikuar historikun.", "label-create-remote-vault": "Krijo një kasafortë të largët (remote)", "msg-please-enter-password": "Ju lutemi jepni një fjalëkalim.", "msg-vault-name-cannot-be-empty": "Emri i kasafortës nuk mund të jetë bosh.", "msg-successfully-created-vault": "Kasaforta \"{{name}}\". u krijua me sukses", "label-remote-vault-explanation": "Kasafortat e largëta (remote_ sinkronizojne në mënyrë të sigurt kasafortën tuaj midis pajisjeve.", "option-vault-name": "Emri i kasafortës", "option-vault-name-desc": "Ju ndihmon të mbani mend për se e përdorni këtë kasafortë.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Select the server region closest to you to store the remote vault. This cannot be changed in the future.", "option-vault-name-placeholder": "Dosja ime e paparë", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Fjalëkalimi për enkriptimin", "option-encryption-password-desc": "Ky fjalëkalim nuk mund të ndryshohet më vonë.", "option-encryption-password-desc-warning": "Nëse e harroni këtë fjalëkalim, cdo material i largët do jetë i papërdorshëm përgjithmone.", "option-encryption-password-desc-2": "Kjo nuk ndikon në materialet tuaja lokale.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "Fjalëkalimi juaj", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "Çkyç kasafortën", "label-remote-vaults": "Kasafortat e largëta", "label-vault-created-time": "Krijuar më {{time}}", "tooltip-delete-remote-vault": "Fshi", "tooltip-rename-remote-vault": "Rename", "label-rename-remote-vault": "Rename remote vault \"{{name}}\"", "label-rename-remote-vault-desc": "Enter a new name for this remote vault.", "tooltip-manage-sharing": "Manage sharing", "label-confirm-delete-remote-vault": "Konfirmo fshirjen e kasafortës", "label-confirm-delete-remote-vault-question": "Jeni të sigurt që doni t'a fshini këtë kasafortë?", "label-confirm-delete-remote-vault-result": "Të gjitha të dhënat në serverat tanë, përfshirë historikun e versioneve, do fshihen. Materialet tuaja lokale nuk do ndikohen.", "label-confirm-delete-remote-vault-warning": "Ky veprim është i përhershëm dhe i pakthyeshëm.", "msg-remote-vault-deleted": "{{name}} është fshirë.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "Lidhu", "button-disconnect-from-remote-vault": "Shkëputu", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "Ju nuk keni kasaforta të largëta (remote).", "label-no-subscription": "You don't have an active Obsidian Sync subscription.", "label-please-visit": "Please visit", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "Krijo një kasafortë të re", "label-sync-log": "Proçesverbali i sinkronizimit", "option-event-type-all": "All", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Merge conflicts", "button-copy-sync-log": "Kopjo proçesverbalin e sinkronizimit", "msg-successfully-copied-sync-log": "Proçesverbali i sinkronizimit u kopjua me sukses.", "button-retry": "Provo përsëri", "button-purchase-subscription": "Bli", "label-third-party-sync-warning": "Conflicting file sync service detected", "label-third-party-sync-warning-desc": "Warning: Your vault seems to be using {{service}} as a third party sync service. If you use Obsidian Sync with this vault, you may run into conflicts, file corruption, or data loss.", "label-icloud-drive-warning": "If you are using iCloud Drive, your Documents and Desktop folders might be synced by iCloud. This could cause conflicts with Obsidian Sync.", "option-remote-vault": "Remote vault", "button-choose-remote-vault": "Përzgjidh", "button-manage-remote-vault": "Manage", "option-remote-vault-desc-connected": "Currently connected to the \"{{name}}\" remote vault.", "option-remote-vault-desc-not-connected": "Currently not connected to any remote vault.", "option-sync-status": "Gjëndja e sinkronizimit", "option-sync-status-desc-paused": "Obsidian Sync është aktualisht pezull.", "option-sync-status-desc-running": "Obsidian Sync është aktiv.", "option-device-name": "Emri i pajisjes", "option-device-name-desc": "Ky emër do shfaqet në proçeseverbalin e sinkronizimit. Lijeni bosh për të përdorur emrin standard (default).", "button-resume": "Rifillo", "button-pause": "Pezullo", "option-view-deleted-files": "Dokumente të fshirë", "option-view-deleted-files-desc": "Shiko dhe rikthe dokumentet e fshirë.", "option-sync-log": "Aktiviteti i sinkronizimeve", "option-sync-log-desc": "Shiko sinkronizimet e kohëve të fundit për të kryer rregullime.", "button-view": "Shiko", "button-bulk-restore": "Bulk restore", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Restoring...", "msg-restoring-complete": "`Restore complete: {{succeeded}} succeeded and {{failed}} failed.`", "option-vault-size": "Vault size", "option-vault-size-desc": "You are using {{size}} out of {{limit}}", "option-vault-size-unknown": "Unable to retrieve your vault size.", "option-vault-size-loading": "Retrieving your vault size...", "option-over-size": "Përmasa e kasafortës mbi limit", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "Shfaq dokumentet më të mëdha", "msg-largest-files-desc": "Këto janë ato dokumenta të largëta që zënë më shumë vend. Pasi të fshini disa materiale të bashkangjitura, përdorni butonin e spastrimit për të liruar hapësire në kasafortën e largët.", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "Spastro", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "Spastron në mënyrë të përhershme materialet e bashkangjitura në kasafortën e largët.", "msg-purge-complete": "Spastrimi u krye.", "option-prevent-sleep": "Prevent device sleep", "option-prevent-sleep-desc": "Prevents the device from going to sleep when there are still files to be synced.", "option-selective-sync": "Sinkronizim sipas përzgjedhjes", "option-excluded-folders": "Dosjet e anashkaluara", "option-excluded-folder-desc": "Ndalon sinkronizimin e dosjeve të caktuara.", "option-currently-excluded-folders": " Aktualisht këto dosje anashkalohen:", "button-manage-excluded-folders": "Menaxho", "option-sync-image": "Sinkronizo imazhe", "option-sync-image-desc": "Sinkronizon imazhet me këto mbaresa: {{extensions}}.", "option-sync-audio": "Sinkronizo audio", "option-sync-audio-desc": "Sinkronizon materiale audio me këto mbaresa: {{extensions}}.", "option-sync-video": "Sinkronizo video", "option-sync-video-desc": "Sinkronizon materiale video me këto mbaresa: {{extensions}}.", "option-sync-pdf": "Sinkronizo PDF", "option-sync-pdf-desc": "Sinkronizon materiale PDF.", "option-sync-unsupported": "Sinkronizo gjithë tipet e tjera", "option-sync-unsupported-desc": "Sinkronizon tipe materialesh që nuk suportohen.", "option-vault-config-sync": "Sinkronizimi i konfigurimeve të kasafortës", "option-view-config-files": "Settings version history", "option-view-config-files-desc": "View and restore version history of setting files.", "option-sync-app": "Konfigurimet kryesore", "option-sync-app-desc": "Aktivizo për të sinkronizuar konfigurimet e përpunimit të tekstit, dokumenteve & lidhjeve, komandave të konfiguara, etc.", "option-sync-appearance": "Konfigurimet e pamjes", "option-sync-appearance-desc": "Sinkronizo konfigurimet e pamjes si motifi i errët, motifet aktuale dhe copëzat aktive të stilizimit.", "option-sync-appearance-data": "Motife dhe copëza stilizimi", "option-sync-appearance-data-desc": "Sinkronizon motifet e shkarkuara dhe copëzat e stilizimit. Janë ose jo aktive varet nga opsioni i mëparshëm.", "option-sync-hotkey": "Hotkeys", "option-sync-hotkey-desc": "Sync custom hotkeys.", "option-sync-core-plugin": "Lista e shtojcave aktive bazë", "option-sync-core-plugin-desc": "Sinkronizo cilat shtojca bazë janë aktive", "option-sync-core-plugin-data": "Konfigurimet e shtojcave aktive", "option-sync-core-plugin-data-desc": "Sinkronizo konfigurimet e shtojcave bazë.", "option-sync-community-plugin": "Lista e shtojcave aktive të komunitetit", "option-sync-community-plugin-desc": "Sinkronizo cilat shtojca të komunitetit janë aktive", "option-sync-community-plugin-data": "Shtojcat e instaluara të komunitetit", "option-sync-community-plugin-data-desc": "Sinkronizo shtojcat e instaluara të komunitetit (dokumenta .js, .css, dhe manifest.json) dhe konfigurimet e tyre.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync është shërbimi shtojcë i sinkronizimit në Obsidian me enkriptim fund-më-fund dhe historik versionesh.", "label-account-required": "Për të nisur sinkronizimin, ju lutemi të kyçeni ose të krijoni një llogari Obsidian.", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "Regjistrohu", "button-log-in": "Kyçu", "label-manage-excluded-folders": "Menaxho dosjet e anashkaluara", "label-number-of-folders-excluded": "{{folders}} aktualisht anashkalohen në sinkronizim.", "label-add-excluded-folder": "Exclude a folder", "label-add-excluded-folder-desc": "You can exclude both existing folders and folders that have not been created yet.", "tooltip-remove-excluded-folder": "Remove from excluded list", "label-setup-connection": "Konfiguro lidhjen", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "Ju tani jeni të lidhur me \"{{name}}\".", "button-start-syncing": "Nis sinkronizimin", "label-confirm-merge-vault": "Confirm Merge Vault", "msg-vault-has-notes": "Your local vault already contains some notes.", "msg-vault-merge-warning": "If you connect to the remote vault \"{{name}}\", notes in your local vault will be merged with notes from your remote vault. In case of conflicts, the most recent version of the note will be preserved.", "tooltip-update-setting-on-all-devices": "Please update this option and restart app on all the devices where you want it to take effect.", "label-sharing-with-users": "This remote vault is currently shared with the following people.", "label-not-sharing": "This remote vault is not currently shared with anyone.", "label-vaults-shared-with-you": "Vaults shared with you", "tooltip-leave-vault-sharing": "Stop collaborating on this vault", "label-leave-vault-confirmation": "Confirm stop vault collaboration", "label-leave-vault-confirmation-details": "This will remove this vault from the list of vaults shared with you. This action cannot be reverted.", "label-leave-vault-confirmation-details-2": "Please contact the owner of the vault if you wish to collaborate on this vault again.", "button-leave": "Leave", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "You need an Obsidian Sync subscription to connect to this vault.", "option-contact-support": "Contact support", "option-contact-support-desc": "If you run into any issues with Obsidian Sync, please contact us so we can help you out! You can reach us at support@obsidian.md.", "button-copy-debug": "Copy debug info", "button-email-support": "Email support", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Sync lets you create up to 5 remote vaults. In order to create a new remote vault, please remove an existing one.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "Rekuperimi i dokumenteve", "desc": "Ju lejon të riktheni pamje të gjendjes (snapshots) së materialeve për t'ju ndihmuar të riktheni të dhëna të humbura aksidentalisht. Pamjet e gjendjes ruhen vetëm për dokumentet Markdown.", "action-open": "Hap pamjet e ruajtura", "option-interval": "Intervali kohor i pamjeve", "option-interval-description": "Intervali më i vogel në minuta mes dy pamjeve.", "option-keep": "Kohëzgjatja e historikut", "option-keep-description": "Numri i ditëve për të cilat ruhet amja e gjendjes.", "option-open-history": "Pamjet e gjendjeve", "option-open-history-description": "Shiko dhe rikthe gjendjet e ruajtura.", "button-view-history": "View", "option-clear": "Fshi historikun", "option-clear-description": "Spastro të gjitha gjendjet e ruajtura.", "button-clear-history": "Fshi", "label-clear-warning": "Jeni të sigurt që doni t'i fshini të gjitha pamjet e gjendjeve? Vini re që vetëm pamjet e gjendjeve do fshihen. Dokumentet brenda kasafortës tuaj nuk do ndikohen.", "msg-clear-complete": "Gjendjet e ruajtura u fshinë.", "label-no-history-found": "Nuk ka pamje gjendjesh të ruajtura.", "placeholder-choose-file": "Zgjidh një dokument...", "label-select-file": "Ju lutemi zgjidhni një dokument në të majtë për të parë pamjet e gjendjeve." }, "note-composer": { "name": "Kompozuesi i shënimeve", "desc": "Bashkoni, ndani dhe ripërpunoni shënimet.", "option-confirm-file-merge": "Konfirmo bashkimin e dokumenteve", "option-confirm-file-merge-description": "Pyet për konfirmim para bashkimit të dy dokumenteve.", "option-split-replacement-text": "Teksti pas ekstraktimit", "option-split-replacement-text-description": "Përcakton çfarë shfaqet në vend të tekstit të përzgjedhur pas ekstraktimit të tij.", "option-choice-split-replacement-text-link": "Lidhje ndaj një dokumenti të ri", "option-choice-split-replacement-text-embed": "Shto një dokument të brendësuar (embed)", "option-choice-split-replacement-text-none": "Asnjë", "option-template-file": "Vendndodhja e dokumentit shabllon", "option-template-file-description": "Dokumenti që përdor si model bazë gjatë bashkimit ose ekstraktimit. Variablat e disponueshme: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, p.sh. {{date:YYYY-MM-DD}}.", "command-merge-file": "Bashko dokumentin aktual me një tjetër...", "action-merge-file": "Bashko të gjithë dokumentin me...", "label-no-files": "Nuk ka dokumente.", "instruction-navigate": "për të naviguar", "instruction-merge": "për të bashkuar", "instruction-create-new": "për të krijuar një të ri", "instruction-merge-at-top": "për të bashkuar në krye", "instruction-dismiss": "për të anulluar", "prompt-select-file-to-merge": "Përzgjidh një dokument për t'ju përbashkuar...", "label-merge-file": "Bashko dokumentet", "label-confirm-file-merge": "Jeni të sigurt që doni të përbashkoni\"{{file}}\" në \"{{destination}}\"? \"{{file}}\" do fshihet.", "button-merge": "Përbashko", "command-split-file": "Ekstrakto përzgjedhjen aktuale...", "command-extract-heading": "Ekstrakto këtë titull...", "instruction-append": "për t'a vendosur në fund", "instruction-prepend": "për t'a vendosur në krye", "msg-fail-to-fetch-template": "Dokumenti shabllon nuk u mor dot: \"{{template}}\" nuk gjendet.", "msg-fail-to-find-heading": "Failed to find heading" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Canvas", "desc": "Arrange and connect notes on an infinite canvas.", "action-add-note": "Add note from vault", "action-add-media": "Add media from vault", "action-add-card": "Add card", "action-add-website": "Add web page", "action-create-group": "Create group", "action-create-with-size": "Create a card with specific size", "action-convert-to-file": "Convert to file...", "action-drag-to-add-note": "Drag to add note from vault", "action-drag-to-add-media": "Drag to add media from vault", "action-drag-to-add-card": "Drag to add card", "action-edit-label": "Edit label", "action-remove-label": "Remove label", "action-search-file": "Search for file", "action-set-color": "Set color", "action-align": "Align", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-align-top": "Align top", "action-align-middle": "Align middle", "action-align-bottom": "Align bottom", "action-distribute-horizontal-spacing": "Distribute horizontal spacing", "action-distribute-vertical-spacing": "Distribute vertical spacing", "action-justify-horizontally": "Justify horizontally", "action-justify-vertically": "Justify vertically", "action-arrange-horizontally": "Arrange in a row", "action-arrange-vertically": "Arrange in a column", "action-arrange-grid": "Arrange in a grid", "action-export-png": "Export as image", "action-jump-to-group": "Jump to group", "action-set-background": "Set background", "action-edit-background": "Edit background", "action-replace-background": "Replace background", "action-remove-background": "Remove background", "label-no-images": "No images found.", "label-no-media": "No media found.", "label-export-png-desc": "Export \"{{title}}\" with a PNG file with the settings below.", "label-export-png-dimensions": "Estimated image dimensions: {{dimensions}}", "label-distribute": "Distribute", "label-justify": "Justify", "label-arrange": "Arrange", "label-always": "Always", "label-hover": "On hover", "label-never": "Never", "label-no-section-found": "No section found", "option-wheel-behavior": "Default mouse wheel behavior", "option-mod-drag-behavior": "Default {{key}} behavior", "option-show-menu": "Show menu", "option-new-canvas-location": "Default location for new canvas files", "option-new-canvas-location-description": "Where newly created canvas files are placed.", "option-new-canvas-folder-path": "Folder to create new canvas files in", "option-new-canvas-folder-path-description": "Newly created canvas files will appear under this folder.", "option-node-label": "Display card label", "option-snap-to-grid": "Snap to grid", "option-snap-to-grid-desc": "Snap cards to the background grid when moving and resizing.", "option-snap-to-objects": "Snap to objects", "option-snap-to-objects-desc": "Snap cards to nearby objects when moving and resizing.", "option-zoom-breakpoint": "Zoom threshold for hiding card content", "option-zoom-breakpoint-desc": "Lower values will increase performance but hide card content sooner when zooming out.", "option-export-png-show-logo": "Show logo", "option-export-png-show-logo-desc": "This will add an Obsidian logo to the bottom left.", "option-export-png-privacy-mode": "Privacy mode", "option-export-png-privacy-mode-desc": "This will obscure any text on your canvas.", "option-export-png-zoom": "Zoom", "option-export-png-zoom-desc": "A higher zoom will generate a higher resolution image.", "option-export-png-frame": "Viewport", "option-export-png-frame-desc": "Choose to render the entire canvas or just the current visible viewport.", "option-export-png-frame-full": "Full canvas", "option-export-png-frame-viewport": "Viewport only", "option-background-cover": "Cover", "option-background-ratio": "Keep aspect ratio", "option-background-repeat": "Repeat", "action-new-canvas": "New canvas", "action-remove": "Remove", "action-narrow-heading": "Narrow to heading...", "action-narrow-block": "Narrow to block...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Swap file...", "action-change-url": "Change URL...", "action-zoom-to-fit": "Zoom to fit", "action-zoom-to-selection": "Zoom to selection", "action-reload-page": "Reload page", "action-follow-connection": "Follow connection", "command-create-new-canvas": "Create new canvas", "command-convert-to-file": "Convert to file...", "instruction-narrow-heading": "to embed heading", "instruction-narrow-block": "to embed block", "instruction-jump-to-group": "to navigate to group", "prompt-to-narrow": "Type name of heading", "label-enter-url": "Enter URL", "label-empty-embed": "\"{{linktext}}\" could not be found.", "prompt-add-text": "Add text...", "prompt-start-search": "Type to search...", "label-canvas-help": "Canvas help", "label-canvas-settings": "Canvas settings", "label-no-narrow": "Show entire file", "label-show-default-view": "Show default view", "label-readonly": "Read-only", "label-disable-readonly": "Disable read-only", "label-pan": "Pan", "label-pan-horizontal": "Pan horizontally", "label-zoom": "Zoom", "label-select-all": "Select all", "label-add-remove-selection": "Add to / remove from selection", "label-clone-card": "Clone card", "label-constrain-movement-axis": "Constrain card movement to axis", "label-disable-drag-snapping": "Disable snapping while dragging", "label-remove-card": "Remove card", "label-drag-from-below": "Drag from below or double click", "label-longpress": "Touch and hold to add / move / select", "label-drag-pan": "Drag to pan", "label-pinch-zoom": "Pinch to zoom", "label-space-drag-pan": "Space + Drag to pan", "label-scroll-to-zoom": "Scroll to zoom", "label-untitled-group": "Untitled group", "label-line-direction": "Line direction", "label-nondirectional": "Nondirectional", "label-unidirectional": "Unidirectional", "label-bidirectional": "Bidirectional", "label-image": "Image", "label-style": "Style", "msg-no-groups-found": "No groups found", "msg-export-failed-empty-canvas": "Cannot export an empty canvas", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Highlight all", "action-match-diacritics": "Match diacritics", "action-whole-words": "Whole words", "action-show-thumbnails": "Thumbnails", "action-show-outline": "Table of contents", "action-reveal-in-outline": "Reveal page in table of contents", "action-toggle-sidebar": "Toggle sidebar", "action-previous-page": "Previous page", "action-next-page": "Next page", "action-fit-width": "Fit width", "action-fit-height": "Fit height", "action-save-p-d-f-location": "Save current position in document", "action-copy-annotation": "Copy annotation", "action-copy-quote": "Copy as quote", "action-copy-selection-link": "Copy link to selection", "action-copy-annot-link": "Copy link to annotation", "action-copy-section-link": "Copy link to section", "action-copy-section-link-title": "Copy link to “{{title}}”", "action-copy-page-link": "Copy link to page {{page}}", "msg-max-search-results": "{{current}} of over {{limit}} matches", "msg-search-count": "{{current}} of {{total}} match", "msg-search-count_plural": "{{current}} of {{total}} matches", "msg-password-protected": "This PDF is password protected", "msg-invalid-password": "Invalid password", "msg-enter-password": "Enter the password below", "label-of-pages": "of {{count}}", "label-page-of-pages": "({{current}} of {{count}})", "label-spread-single": "Single page", "label-spread-odd": "Two page (odd)", "label-spread-even": "Two page (even)", "tooltip-sidebar-options": "Sidebar options", "tooltip-display-options": "Display options", "label-adapt-to-theme": "Adapt to theme", "label-page": "page {{page}}", "page_landmark": "Page {{page}}", "thumb_page_title": "Page {{page}}", "thumb_page_canvas": "Page {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "List", "option-unknown": "Unknown", "option-text": "Text", "option-aliases": "Aliases", "option-tags": "Tags", "option-folder": "Folder", "option-file": "File", "option-date": "Date", "option-datetime": "Date & time", "option-number": "Number", "option-checkbox": "Checkbox" }, "value-suggestion": { "key-link-note": "Type [[", "instruction-link-note": "to link note", "instruction-dismiss": "to dismiss" }, "option-property-type": "Property type", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "Invalid tag name", "msg-invalid-number": "Invalid number", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "No value", "label-heading": "Properties", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "Add property", "label-type-mismatch-warning": "Type mismatch, expected {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Column", "label-row": "Row", "action-row-after": "Add row after", "action-column-after": "Add column after", "action-row-before": "Add row before", "action-row-up": "Move row up", "action-row-down": "Move row down", "action-column-before": "Add column before", "action-column-left": "Move column left", "action-column-right": "Move column right", "action-duplicate-row": "Duplicate row", "action-duplicate-column": "Duplicate column", "action-delete-row": "Delete row", "action-delete-column": "Delete column", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-delete-selection": "Delete cells", "action-clear-selection": "Clear cells", "action-sort-a-z": "Sort by column (A to Z)", "action-sort-z-a": "Sort by column (Z to A)", "label-command": "Table: {{command}}" }, "callout": { "option-type": "Callout type", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Success", "question": "Question", "warning": "Warning", "quote": "Quote", "example": "Example", "none": "None" }, "option-other": "Other...", "option-other-placeholder": "Callout type..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} fjalë", "word-with-count_plural": "{{count}} fjalë", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} karaktere", "character-with-count_plural": "{{count}} karaktere", "link-with-count": "{{count}} lidhje", "link-with-count_plural": "{{count}} lidhje", "file-with-count": "{{count}} dokument", "file-with-count_plural": "{{count}} dokumente", "folder-with-count": "{{count}} dosje", "folder-with-count_plural": "{{count}} dosje", "backlink-with-count": "{{count}} lidhje kthyese", "backlink-with-count_plural": "{{count}} lidhje kthyese", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} property", "properties-with-count_plural": "{{count}} properties", "site-with-count": "{{count}} `website`", "site-with-count_plural": "{{count}} `website`", "plugin-with-count": "{{count}} shtojcë", "plugin-with-count_plural": "{{count}} shtojca", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} theme", "theme-with-count_plural": "{{count}} themes" } }{ "setting": { "options": "ตัวเลือกปรับแต่ง", "plugin": "ปลั๊กอิน", "builtin-plugins": "ปลั๊กอินหลัก", "plugin-options": "ตัวเลือกปรับแต่งปลั๊กอิน", "folder-path-example-placeholder": "ตัวอย่าง: folder 1/folder 2", "file-path-example-placeholder": "ตัวอย่าง: folder/note", "msg-restart-required": "การปรับแต่งค่าจะมีผลเมื่อรีสตาร์ทโปรแกรม", "editor": { "name": "เอดิเตอร์", "section-behavior": "การทำงาน", "section-display": "การแสดงผล", "option-spellcheck": "การพิสูจน์อักษร", "option-spellcheck-description": "เปิดใช้การพิสูจน์อักษร (ขณะนี้ใช้ได้กับภาษาอังกฤษ (US) เท่านั้น)", "spellcheck-languages": "ภาษาการพิสูจน์อักษร", "spellcheck-languages-description": "เลือกภาษาสำหรับการพิสูจน์อักษร", "spellcheck-languages-mac-description": "ระบบการพิสูจน์อักษรของ macOS จะตรวจสอบภาษาให้โดยอัตโนมัติ", "spellcheck-dict": "พจนานุกรมการพิสูจน์อักษร", "spellcheck-dict-empty": "ไม่มีพจนานุกรมการพิสูจน์อักษร", "option-show-inline-title": "แสดงขื้อไฟล์ในไฟล์", "option-show-inline-title-description": "แสดงชื่อไฟล์ในไฟล์ ซึ่งสามารถแก้ไขได้เช่นเดียวกับเนื้อหาในไฟล์", "option-readable-line-length": "ความยาวบรรทัดที่เหมาะกับการอ่าน", "option-readable-line-description": "จำกัดความยาวบรรทัดให้เหมาะกับการอ่าน แต่ละบรรทัดจะสั้นลงและทำให้ย่อหน้ายาวๆ อ่านง่ายขึ้น", "option-strict-line-break": "การตัดบรรทัดแบบเข้มงวด", "option-strict-line-break-description": "ไม่สนใจการเคาะบรรทัดเดี่ยวตามมาตรฐานของภาษา Markdown ในโหมดพรีวิว ปิดใช้ตัวเลือกนี้เพื่อแสดงผลการเคาะบรรทัดเดี่ยวในโหมดพรีวิว", "option-properties-in-document": "Properties in document", "option-properties-in-document-description": "Choose how properties are displayed within the editor. Select \"source\" to have the properties displayed as YAML.", "option-properties-hidden": "Hidden", "option-properties-visible": "Visible", "option-properties-source": "Source", "option-auto-pair-brackets": "เติมวงเล็บปิดโดยอัตโนมัติ", "option-auto-pair-brackets-description": "เติมวงเล็บปิดและปิดเครื่องหมายคำพูดโดยอัตโนมัติ", "option-auto-pair-markdown": "เติมไวยากรณ์ภาษา Markdown โดยอัตโนมัติ", "option-auto-pair-markdown-description": "เติมสัญลักษณ์ของไวยากรณ์โดยอัตโนมัติสำหรับตัวหนา ตัวเอียง การเน้นคำ การขีดกลางบรรทัด และโค้ด", "option-smart-indent-lists": "ลิสต์รายการแบบสมาร์ต", "option-smart-indent-lists-description": "สร้างลิสต์รายการโดยเติมย่อหน้าและสัญลักษณ์หน้าข้อรายการโดยอัตโนมัติ", "option-fold-heading": "ยุบหัวข้อ", "option-fold-heading-description": "สามารถยุบหัวข้อเพื่อซ่อนการแสดงผลข้อมูลใต้หัวข้อนั้นทั้งหมด", "option-fold-indent": "ยุบลิสต์รายการ", "option-fold-indent-description": "สามารถยุบลิสต์รายการเพื่อซ่อนการแสดงผลข้อมูลใต้รายการนั้นทั้งหมด", "option-default-new-tab-view": "มุมมองพื้นฐานสำหรับแท็บใหม่", "option-default-new-tab-view-description": "มุมมองพื้นฐานเมื่อทำการเปิดแท็บใหม่", "option-default-new-tab-view-editing": "มุมมองสำหรับการแก้ไข", "option-default-new-tab-view-reading": "มุมมองสำหรับการอ่าน", "option-open-tab-in-foreground": "Always focus new tabs", "option-open-tab-in-foreground-description": "When you open a link in a new tab, switch to it immediately.", "option-default-editing-mode": "โหมดปรับแก้เริ่มต้น", "option-default-editing-mode-description": "โหมดปรับแก้เริ่มต้นของหน้าต่างใหม่", "option-default-editing-mode-source": "โหมดต้นฉบับ", "option-default-editing-mode-live-preview": "โหมดพรีวิวสด", "option-show-line-number": "แสดงผลหมายเลขบรรทัด", "option-show-line-number-description": "แสดงผลหมายเลขบรรทัดที่หัวบรรทัด", "option-indentation-guide": "แสดงระดับการย่อหน้า", "option-indentation-guide-description": "แสดงเส้นบอกระยะแนวตั้งสำหรับ bullet points", "option-use-tabs": "ใช้งานย่อหน้า", "option-use-tabs-description": "ใช้ปุ่ม \"tab\" เพื่อตั้งย่อหน้า ปิดใช้ตัวเลือกนี้เพื่อใช้เว้นวรรคแทน", "option-tab-size": "ขนาดย่อหน้า", "option-tab-size-description": "จำนวนเว้นวรรคสำหรับการย่อหน้า", "option-rtl": "อ่าน-เขียนจากขวาไปซ้าย (RTL)", "option-rtl-description": "ตั้งค่าการแสดงผลทิศทางการอ่านและเขียนให้เป็นจากขวาไปซ้าย", "option-auto-convert-html": "แปลงไวยากรณ์ HTML โดยอัตโนมัติ", "option-auto-convert-html-description": "แปลงไวยากรณ์ HTML เป็น Markdown โดยอัตโนมัติเมื่อแปะหรือลากวางข้อมูลจากหน้าเว็บ ใช้คีย์ลัด Ctrl/Cmd + Shift + V เพื่อแปะช้อมูลดิบโดยไม่แปลงไวยากรณ์", "option-vim-key-bindings": "ใช้คีย์ลัดเหมือนโปรแกรม Vim", "option-vim-key-bindings-description": "ใช้คีย์ลัดเหมือนโปรแกรม Vim ในโหมดต้นฉบับ", "option-vim-key-bindings-mobile": "หากใช้งานในอุปกรณ์พกพา การตั้งค่านี้จะเป็นการตั้งค่าเฉพาะเครื่อง และจะไม่ส่งผลไปยังเครื่องอื่น ๆ", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "การยืนยันก่อนเข้าใช้งานโหมด Vim", "label-vim-warning": "โหมด Vim ทำให้สามารถแก้ไขเนื้อหาข้อความได้อย่างรวดเร็วแต่ใช้งานยาก หากคุณไม่เคยใช้ Vim การเปิดใช้โหมดนี้อาจทำให้ดูเหมือนโปรแกรม Obsidian หยุดทำงานได้", "label-vim-test": "กรุณาป้อนคำสั่งสำหรับหยุดใช้งาน Vim โดยไม่เซฟ เพื่อยืนยันว่าคุณใช้งาน Vim เป็น", "label-vim-your-answer": "ป้อนคำตอบ", "placeholder-enter-command": "ป้อนคำสั่ง...", "button-confirm-enable-vim": "เปิดใช้งาน Vim", "msg-vim-mode-enabled": "คำสั่งถูกต้อง เปิดใช้งานโหมด Vim แล้ว", "msg-vim-mode-not-enabled": "คำสั่งไม่ถูกต้อง โหมด Vim ไม่ถูกเปิดใช้งานเพื่อไม่ให้เกิดความเสียหาย", "msg-vim-mode-please-enter-command": "กรุณาป้อนคำสั่งเพื่อเปิดใช้งานโหมด Vim" }, "file": { "name": "ไฟล์และลิงค์", "option-confirm-file-deletion": "ยืนยันการลบไฟล์", "option-confirm-file-deletion-description": "ตัวเลือกเพื่อเปิด-ปิดการยืนยันก่อนการลบไฟล์", "option-delete-destination": "ไฟล์ที่ถูกลบ", "option-delete-destination-description": "สิ่งที่จะเกิดขึ้นเมื่อลบไฟล์", "option-choice-system-trash": "ย้ายไฟล์ไปที่ถังขยะของระบบ", "option-choice-vault-trash": "ย้ายไฟล์ไปที่ถังขยะของ Obsidian (โฟลเดอร์ .trash)", "option-choice-permanent-delete": "ลบไฟล์โดยถาวร", "option-always-update-links": "อัพเดตลิงค์ภายในโดยอัตโนมัติ", "option-always-update-links-description": "ตัวเลือกเพื่ออัพเดตลิงค์ภายในโดยอัตโนมัติเมื่อมีการเปลี่ยนชื่อไฟล์", "option-new-note-location": "ตำแหน่งเริ่มต้นโน้ตใหม่", "option-new-note-location-description": "ตำแหน่งเริ่มต้นของโน้ตที่สร้างขึ้นใหม่ ตัวเลือกนี้จะถูกแทนที่ด้วยการตั้งค่าของปลั๊กอิน", "option-choice-vault-root": "ในโฟลเดอร์เดียวกับห้องนิรภัย", "option-choice-current-folder": "ในโฟลเดอร์เดียวกับไฟล์", "option-choice-specified-folder": "ในโฟลเดอร์ที่กำหนดเอง", "option-new-file-folder-path": "โฟลเดอร์ที่สร้างโน้ตใหม่", "option-new-file-folder-path-description": "โน้ตที่สร้างขึ้นใหม่จะถูกบันทึกไว้ในโฟลเดอร์นี้ ตัวเลือกนี้จะถูกแทนที่ด้วยการตั้งค่าของปลั๊กอิน", "option-use-wiki-links": "ใช้งาน [[วิกิลิงค์]]", "option-use-wiki-links-description": "สร้างวิกิลิงค์โดยอัตโนมัติสำหรับ [[ลิงค์]] และ ![[รูปภาพ]] แทนการใช้ Markdown ปิดการใช้ตัวเลือกนี้เพื่อสร้างลิงค์ด้วย Markdown", "option-show-unsupported-files": "แสดงผลไฟล์ทุกนามสกุล", "option-show-unsupported-files-description": "แสดงผลไฟล์ทุกชนิดแม้ Obsidian จะไม่รองรับ เพื่อสร้างลิงค์และมองเห็นใน File Explorer และ Quick Switcher", "option-link-autocompleted-format": "รูปแบบลิงค์ใหม่", "option-link-autocompleted-format-description": "รูปแบบของลิงค์ภายในที่สร้างขึ้นใหม่", "option-choice-shortest-linktext": "พาธแบบสั้นที่สุด", "option-choice-relative-path": "พาธแบบ relative", "option-choice-absolute-path": "พาธแบบ absolute ภายในห้องนิรภัย", "option-new-attachment-location": "ตำแหน่งเริ่มต้นสำหรับไฟล์แนบใหม่", "option-new-attachment-location-description": "ตำแหน่งเริ่มต้นสำหรับไฟล์แนบใหม่", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "ในโฟลเดอร์ย่อยของโฟลเดอร์ปัจจุบัน", "option-attachment-folder-path": "พาธของไฟล์แนบ", "option-attachment-folder-path-description": "ไฟล์แนบที่สร้างขึ้นใหม่รวมถึงไฟล์รูปภาพและไฟล์เสียงที่ถูกลากวางและแปะจะถูกบันทึกไว้ในโฟลเดอร์นี้", "option-attachment-subfolder-path": "ชื่อโฟลเดอร์ย่อย", "option-attachment-subfolder-path-description": "หากตำแหน่งเริ่มต้นของโน้ตใหม่อยู่ที่ \"vault/folder\" และตั้งชื่อโฟลเดอร์ย่อยว่า \"attachments\" ไฟล์แนบจะถูกบันทึกไว้ที่ \"vault/folder/attachments\"", "option-excluded-files": "ไฟล์ที่ไม่รวม", "option-excluded-files-desc": "ไฟล์ที่ไม่ถูกรวมจะถูกซ่อน หรือมองเห็นได้น้อยลงในที่ต่าง ๆ เช่นใน Quick Switcher, ในการเสนอแนะลิ้งค์ หรือในมุมมองแบบกราฟ", "label-no-excluded-filters-applied": "ไม่มีการใช้ฟิลเตอร์ไ่มรวมไฟล์ในขณะนี้ สามารถเพิ่มฟิลเตอร์ได้ด้านล่าง No excluded filter is applied right now. Add one below.", "label-excluded-filters-applied": "Files matching the following filters are currently excluded:", "label-excluded-filter": "ฟิลเตอร์", "message-empty-filter": "ไม่สามารถเว้นว่างฟิลเตอร์ได้", "placeholder-excluded-filter": "ใส่พาธ หรือ \"/แพทเทิร์นคำ/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "การแสดงผล", "option-base-theme": "ชุดสีหลัก", "option-base-theme-description": "เลือกชุดสีหลักของ Obsidian", "option-accent-color": "สี Accent", "option-accent-color-description": "เลือกสี Accent สำหรับแอป", "dark-theme": "สีเข้ม", "light-theme": "สีอ่อน", "system-theme": "ปรับตามธีมสีของเครื่อง", "option-font": "ฟอนต์", "option-advanced": "ขั้นสูง", "option-interface": "Interface", "option-interface-font": "Interface font", "option-interface-font-description": "ตั้งค่าฟอนต์สำหรับทั้งโปรแกรม", "option-zoom-level": "ระดับการขยาย", "option-zoom-level-description": "ควบคุมการขยายของแอป", "option-text-font": "ฟอนต์สำหรับตัวอักษร", "option-text-font-description": "ตั้งค่าฟอนต์สำหรับมุมมองสำหรับแก้ไขและมุมมองสำหรับอ่าน", "option-monospace-font": "Monospace font", "option-monospace-font-description": "ตั้งค่าฟอนต์สำหรับโค้ดบล็อค และ frontmatter", "label-single-font-currently-in-effect": " ฟอนต์ที่ใช้อยู่ในขณะนี้: ", "label-multiple-fonts-currently-in-effect": " รายการฟอนต์ที่ใช้อยู่ในขณะนี้:", "option-font-placeholder": "ใส่ชื่อฟอนต์...", "label-no-custom-font-set": "ไม่มีการใช้ฟอนต์ที่เลือกเองในขณะนี้ สามารถเลือกฟอนต์เพิ่มได้จากด้านล่าง", "label-font-applied": "จะใช้ฟอนต์ที่มีการติดตั้งในเครื่องจากในลิสต์ที่ปรากฎ โดยจะเลือกจากฟอนต์ที่อยู่ด้านบนก่อน", "msg-font-not-found": "ไม่พบฟอนต์ดังกล่าวในระบบ", "msg-font-found": "นี่คือฟอนต์ที่ตรวจพบจากระบบของเครื่อง", "label-font-name": "ชื่อฟอนต์", "option-community-themes": "เปิดดูธีมที่สร้างโดยชุมชน", "option-community-themes-description": "พรีวิวและใช้งานธีมเจ๋งๆ ที่สร้างโดยชุมชน", "button-browse-community-themes": "เลือกดู", "option-font-size": "ขนาดตัวอักษร", "option-font-size-description": "ขนาดตัวอักษรที่ใช้แสดงผลในโหมดปรับแก้และพรีวิว มีขนาดเป็นพิกเซล", "option-font-size-action": "ปรับขนาดตัวอักษรแบบรวดเร็ว", "option-font-size-action-description": "ปรับขนาดตัวอักษรแบบรวดเร็วด้วยคีย์ลัด Ctrl + ลูกกลิ้ง หรือใช้นิ้วขยุ้มซูมบนแทร็คแพด", "option-themes": "ธีม", "option-manage-themes-description": "จัดการธีมที่ติดตั้งไว้แล้ว และเลือกดูธีมที่สร้างโดยชุมชน", "option-theme-button-manage": "จัดการ", "option-choice-none": "ไม่มี", "option-native-menus": "Native menus", "option-native-menus-desc": "เมนูที่ปรากฎในแอปจะปรับตามระบบปฏิบัติการของเครื่องซึ่งจะไม่ถูกเปลี่ยนตามธีมที่คุณเลือก", "button-reload-themes": "รีโหลดธีม", "msg-reloaded-themes": "ธีมถูกรีโหลดแล้ว", "button-open-themes-folder": "เปิดโฟลเดอร์ธีม", "option-css-snippets": "CSS snippets", "label-no-css-snippets-found": "ไม่พบ CSS snippets ในโฟลเดอร์ snippets", "no-snippet-description": "CSS Snippets ถูกเก็บไวเที่ \"{{path}}\".", "button-reload-snippets": "รีโหลด snippets", "button-open-snippets-folder": "เปิดโฟลเดอร์ snippets", "msg-reloaded-snippets": "CSS snippets ถูกรีโหลดแล้ว", "option-toggle-snippet-description": "ใช้งาน CSS snippet ที่ \"{{path}}\".", "label-installed-themes": "ธีมที่ถูกติดตั้งไว้", "label-screenshot-unavailable": "ไม่พบภาพตัวอย่าง", "label-default-theme": "ธีมเริ่มต้น", "tooltip-click-to-enlarge": "คลิกเพื่อขยาย", "button-update": "อัพเดต", "label-currently-active": "Active", "option-frame-style": "Window frame style", "option-frame-description": "ปรับแต่งสไตล์ของแถบ title สำหรับหน้าต่างของ Obsidian (จำเป็นต้องทำการรีสตาร์ทแอป)", "option-frame-hidden": "เฟรมแบบซ่อน (ค่าเริ่มต้น)", "option-frame-obsidian": "Obsidian frame", "option-frame-native": "Native frame", "option-custom-icon": "Custom app icon", "option-custom-icon-desc": "Set a custom icon for the app", "button-choose-custom-icon": "Choose custom icon", "option-configure-ribbon": "Ribbon menu", "option-configure-ribbon-desc": "Configure what commands appear in the ribbon menu in the navigation bar.", "option-mobile-quick-ribbon-item": "Quick access ribbon item", "option-mobile-quick-ribbon-item-desc": "Tapping on the ribbon item in the navigation menu will active this ribbon item. Tap and hold will still show the menu.", "option-mobile-quick-ribbon-default": "Open ribbon menu", "button-configure": "Configure", "option-show-ribbon": "Show ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "Other ribbon items", "label-modal-configuration": "Ribbon Configuration", "label-modal-configuration-desc": "Choose what items you want to be active in the ribbon. Drag and drop to change the order.", "option-show-view-header": "แสดงชื่อแท็บ", "option-show-view-header-desc": "แสดง header ที่ด้านบนของทุกแท็บ", "msg-updates-found": "ตรวจพบ {{count}} ธีมที่มีการอัพเดต", "msg-updates-found_plural": "ตรวจพบ {{count}} ธีมที่มีการอัพเดต", "button-check-for-updates": "ตรวจสอบการอัพเดตใหม่ ๆ", "button-view-updates": "ดูรายการอัพเดต", "button-update-all-themes": "อัพเดตทั้งหมด", "label-current-themes": "ธีมปัจจุบัน", "label-currently-installed": "ขณะนี้คุณมีการติดตั้ง {{count}} ธีม", "label-currently-installed_plural": "ขณะนี้คุณมีการติดตั้ง {{count}} ธีม" }, "hotkeys": { "name": "ฮ็อตคีย์", "option-search": "Search hotkeys", "option-search-desc": "Showing {{count}} hotkey. ", "option-search-desc_plural": "Showing {{count}} hotkeys. ", "option-search-conflict": "{{count}} command with conflicts.", "option-search-conflict_plural": "{{count}} commands with conflicts.", "prompt-filter": "ตัวกรอง...", "tooltip-delete-hotkey": "ลบฮ็อตคีย์", "label-waiting-for-hotkey-press": "กดฮ็อตคีย์ที่ต้องการ...", "label-show-all": "All", "label-show-unassigned": "Unassigned", "label-show-assigned": "Assigned", "label-show-user-assigned": "Assigned by me", "tooltip-restore-default": "เรียกคืนค่าเริ่มต้น", "tooltip-customize-command": "ปรับแต่งคำสั่งนี้", "tooltip-hotkey-single-conflict": "ฮ็อตคีย์นี้ซ้ำซ้อนกับ \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "ฮ็อตคีย์นี้ซ้ำซ้อนกับคำสั่ง {{count}} คำสั่ง", "label-blank-hotkey": "ว่างเปล่า" }, "about": { "name": "เกี่ยวกับ", "label-commercial-license": "ใบอนุญาตการใช้งานในเชิงพาณิชย์Commercial license", "label-license-key": "กุญแจใบอนุญาต", "license-key-placeholder": "กุญแจใบอนุญาตของคุณ...", "label-activate-license": "เปิดใช้งานใบอนุญาต", "button-activate": "เปิดใช้งาน", "label-unknown-version": "ไม่ทราบ", "label-current-version": "เวอร์ชั่นปัจจุบัน: ", "label-install-version": "(รุ่นตัวติดตั้ง: {{version}})", "label-up-to-date": "โปรแกรมเป็นรุ่นล่าสุดแล้ว!", "label-read-changelog": "อ่านบันทึกความเปลี่ยนแปลง", "label-manual-update-required": "คุณต้องทำการติดตั้ง Obsidian ใหม่เพื่อที่จะรองรับฟีเจอร์ใหม่ ๆ และเพื่อรองรับการอัพเดตเพื่อความปลอดภัยในอนาคต", "label-new-version-ready": "มีเวอร์ชั่นใหม่ให้ติดตั้ง", "label-disabled-updates": "ปิดการอัพเดต", "button-relaunch": "เปิดโปรแกรมใหม่", "button-check-for-updates": "ตรวจสอบการอัพเดต", "option-auto-update": "การอัพเดตรุ่นโดยอัตโนมัติ", "option-auto-update-description": "ปิดใช้งานตัวเลือกนี้เพื่อหยุดการตรวจสอบรุ่นโดยอัตโนมัติ", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "ขอความช่วยเหลือ", "option-get-help-description": "ขอความช่วยเหลือในการใช้งานแอป Obsidian", "button-open": "เปิด", "option-language": "ภาษา", "option-language-description": "เปลี่ยนภาษาการแสดงผล", "option-insider-build": "อัพเดต insider builds", "option-insider-build-description": "อัพเดตเป็น insider builds เพื่อทดลองใช้ลูกเล่นใหม่ๆ โปรดรับทราบว่า insider builds นั้นใหม่มากและอาจทำงานได้ไม่เสถียร", "option-advanced": "ขั้นสูง", "option-hw-acceleration": "Hardware Acceleration", "option-hw-acceleration-description": "เปิดใช้งาน Hardware Acceleration เพื่อใช้กราฟิกการ์ดช่วยประมวลผลใช้งานได้ลื่นไหล", "option-hw-acceleration-warning": "หากปิดการใช้งานตัวเลือกนี้ ประสิทธิภาพของโปรแกรมจะลดลงอย่างมาก", "option-config-location": "โฟลเดอร์การตั้งค่าอื่น", "option-config-location-description": "โฟลเดอร์การตั้งค่าอื่นที่ไม่ใช่โฟลเดอร์เริ่มต้น ชื่อโฟลเดอร์ต้องขึ้นต้นด้วย \"จุด\"", "option-config-location-warning": "ตำแหน่งของไฟล์ตั้งค่าต้องเป็นชื่อโฟลเดอร์ที่ขึ้นต้นด้วย \"จุด\" เสมอ", "label-license": "ใบอนุญาต", "label-your-commercial-license-key": "กุญแจใบอนุญาตใช้งานเชิงพาณิชย์ของคุณคือ \"{{key}}\".", "label-commercial-license-info": "จดทะเบียนโดย \"{{company}}\" สำหรับผู้ใช้ {{seats}} ที่นั่ง. ใช้งานได้จนถึง {{expiry}}.", "label-validating-commercial-license": "กำลังตรวจสอบใบอนุญาต...", "label-invalid-commercial-license": "ใบอนุญาตไม่ถูกต้อง: ", "button-remove-commercial-license": "ถอดถอน", "option-catalyst": "Catalyst license", "option-catalyst-desc": "You currently have the {{tier}} Catalyst license. Thanks for your support!", "option-catalyst-desc-no-license": "You don't have a Catalyst license right now. Catalyst license is a one-time donation to support Obsidian development.", "label-app": "App", "label-add-own-language": "See how to add your language to Obsidian." }, "account": { "name": "บัญชีผู้ใช้", "option-your-account": "บัญชีของคุณ", "option-your-account-desc": "ขณะนี้คุณเข้าระบบในชื่อ {{name}} ({{email}}).", "option-your-account-desc-no-login": "คุณยังไม่ได้เข้าระบบในขณะนี้ บัญชีผู้ใช้นั้นจำเป็นสำหรับการใช้งาน Obsidian Sync, Obsidian Publish, และ Catalyst insider builds.", "label-insider": "insider", "label-supporter": "supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Upgrade", "option-commercial-license": "Commercial license", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "ซื้อ", "button-log-out": "ล็อกเอาท์", "label-log-in": "ล็อกอิน", "label-sign-up": "Sign up", "label-email": "อีเมล", "placeholder-email": "อีเมลของคุณ...", "label-name": "Full name", "label-password": "รหัสผ่าน", "placeholder-password": "รหัสผ่านของคุณ...", "label-forgot-password": "Forgot password?", "button-login": "ล็อกอิน", "message-empty-email": "Email cannot be empty.", "message-invalid-email": "กรุณากรอกอีเมล", "message-empty-password": "กรุณากรอกพาสเวิร์ด", "message-login-failed": "ล็อกอินไม่สำเร็จ กรุณาตรวจสอบอีเมลหรือรหัสผ่านให้ถูกต้อง", "message-signup-failed": "Failed to sign up", "label-no-account": "ยังไม่มีบัญชี? ", "link-sign-up-now": "สมัครเลย", "label-mfa-code": "6-digit 2FA code", "mfa-wrong-format": "The 2FA authenticator code must be 6 digits.", "mfa-verification-failed": "2FA code is incorrect, please double check your authenticator app." }, "core-plugin": { "plugin-list": "รายการปลั๊กอิน", "option-search-plugin": "ค้นหาปลั๊กอินหลัก", "option-search-plugin-description": "ค้นหาปลั๊กอินด้วยชื่อหรือคำอธิบาย", "placeholder-search-plugin": "ค้นหาปลั๊กอิน..." }, "third-party-plugin": { "name": "ปลั๊กอินโดยชุมชน", "option-restricted-mode": "Restricted mode", "option-restricted-mode-description": "Restricted Mode is off. Turn on to disable community plugins.", "button-turn-on": "Turn on", "option-browse-community-plugins": "ปลั๊กอินโดยชุมชน", "option-browse-community-plugins-description": "เลือกดูและติดตั้งปลั๊กอินที่สร้างโดยชุมชนที่สุดยอดของเรา", "button-browse": "เลือกดู", "label-exit-restricted-mode": "Exit Restricted Mode", "label-exit-restricted-mode-description-1": "Community plugins, like any other software you install, could potentially cause data integrity and security issues.", "label-exit-restricted-mode-description-2": "Plugin security is important to us. Here's what we do:", "label-exit-restricted-mode-description-3": "Despite our efforts, there is still a small chance that a community plugin might misbehave.", "label-code-review": "Initial code review", "label-code-review-desc": "Plugins undergo an initial code review by our team before they appear in the store.", "label-open-source": "Open source", "label-open-source-desc": "Most plugins are open source on GitHub, so you can inspect the code yourself.", "label-peer-audit": "Peer audit", "label-peer-audit-desc": "We have a large community of developers who watch out for each other.", "label-report-mechanism": "Report mechanism", "label-report-mechanism-desc": "We follow up and remove faulty plugins upon user report.", "label-exit-restricted-mode-disable-confirmation": "Would you like to exit Restricted Mode to enable community plugins? We strongly recommend making backups of your data before doing so.", "label-learn-more": "Learn more about plugin security", "button-turn-on-community-plugins": "Turn on community plugins", "label-trust-author": "Do you trust the author of this vault?", "label-trust-author-description-1": "You're opening this vault for the first time, and it comes with some plugins.", "label-trust-author-description-2": "If you obtained this vault from someone else, please note that plugins of unknown origin might pose security risks.", "label-trust-author-description-3": "If you do not fully trust the author of this vault, we recommend staying in Restricted Mode, so the plugins in this vault do not run.", "button-enable-plugins": "Trust author and enable plugins", "button-dont-trust-author": "Browse vault in Restricted Mode", "placeholder-community-plugins": "ค้นหาปลั๊กอินโดยชุมชน...", "msg-failed-load-plugins": "พบปัญหาในการแสดงผลปลั๊กอินโดยชุมชน", "label-installed": "ติดตั้งแล้ว", "button-install": "ติดตั้ง", "button-enable": "เปิดใช้งาน", "button-disable": "ปิดใช้งาน", "button-copy-share-link": "คัดลอกลิงค์เพื่อแชร์", "button-donate": "Donate", "label-no-results-found": "ไม่พบผลการค้นหา", "label-no-recent-files-found": "No recent files found. Type to search...", "msg-failed-to-load-manifest": "พบปัญหาในการโหลดข้อมูลเบื้องต้นของปลั๊กอิน", "label-version": "รุ่น: {{version}}", "label-currently-installed-version": " (รุ่นที่ติดตั้งอยู่: {{version}})", "label-by-author": "โดย ", "label-repository": "Repository: ", "label-last-update": "Last update: ", "tooltip-view-last-update": "View the latest update", "label-unsupported": "อุปกรณ์ของคุณไม่รองรับปลั๊กอินนี้", "button-update": "อัพเดต", "label-no-readme": "ปลั๊กอินนี้ไม่มีไฟล์ README", "msg-installing-plugin": "กำลังติดตั้งปลั๊กอิน \"{{name}}\"...", "msg-failed-to-install-plugin": "ติดตั้งปลั๊กอิน \"{{name}}\" ไม่สำเร็จ", "msg-successfully-installed-plugin": "ติดตั้งปลั๊กอิน \"{{name}}\" สำเร็จ", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "ปลั๊กอินที่ติดตั้งแล้ว", "button-reload-plugins": "รีโหลดปลั๊กอิน", "msg-reloaded-third-party-plugins": "ปลั๊กอินถูกรีโหลดแล้ว", "label-uninstall": "ถอนการติดตั้ง", "label-uninstall-plugin": "ถอนการติดตั้งปลั๊กอิน", "label-uninstall-plugin-confirmation": "คุณต้องการถอนการติดตั้งปลั๊กอินหรือไม่? โฟลเดอร์ของปลั๊กอินจะถูกลบไปด้วย", "button-open-plugins-folder": "เปิดโฟลเดอร์ปลั๊กอิน", "button-check-for-updates": "ตรวจสอบรุ่นเพื่ออัพเดต", "button-update-all-plugins": "อัพเดตทั้งหมด", "label-current-plugins": "ปลั๊กอินปัจจุบัน", "label-currently-installed": "คุณติดตั้งปลั๊กอินไว้ {{count}} ปลั๊กอิน", "label-currently-installed_plural": "คุณติดตั้งปลั๊กอินไว้ {{count}} ปลั๊กอิน", "msg-no-updates-found": "ไม่พบอัพเดตใหม่สำหรับปลั๊กอิน", "msg-updates-found": "พบอัพเดตสำหรับ {{count}} ปลั๊กอิน", "msg-updates-found_plural": "พบอัพเดตสำหรับ {{count}} ปลั๊กอิน", "msg-update-plugin": "อัพเดตเป็นรุ่น {{version}}", "option-search-installed-plugin": "ค้นหาปลั๊กอินที่ติดตั้งไว้", "option-search-installed-plugin-description": "ค้นหาปลั๊กอินที่ติดตั้งไว้ด้วยชื่อหรือคำอธิบาย", "placeholder-search-installed-plugin": "ค้นหาปลั๊กอินที่ติดตั้งไว้...", "show-installed-only": "แสดงที่ติ้งตั้งไว้เท่านั้น", "label-donate-modal-title": "Donate to support {{name}}", "label-donate-modal-text1": "Plugin developers are community volunteers who make amazing things out of passion. If you find this plugin useful, please consider funding its development.", "label-donate-modal-text2": "100% of your contribution will go to the plugin developer; Obsidian does not take a cut. The funding platform they choose might charge a fee.", "label-donate-modal-text3": "Thanks for your generous support!", "label-support-this-plugin": "Support this plugin:", "label-search-summary": "แสดงผล {{pluginCount}}:", "label-by-popularity": "Most downloaded", "label-by-released": "Recently released", "label-by-updated": "Recently updated", "label-alphabetical": "Alphabetical", "label-last-updated": "Updated {{time}}" }, "mobile-toolbar": { "name": "แถบเครื่องมืออุปกรณ์พกพา", "option-configure-quick-action": "ปรับแต่งควิกแอคชั่นบนอุปกรณ์พกพา", "option-configure-quick-action-description": "ปรับแต่งคำสั่งที่จะเรียกใช้เมื่อดึงหน้าจอลงจากด้านบน คำสั่งปัจจุบันคือ \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "ปรับแต่ง", "placeholder-select-quick-action": "เลือกควิกแอคชั่น...", "quick-action-disabled": "None", "manage-toolbar-options": "จัดการตัวเลือกแถบเครื่องมือ", "option-internal-link": "เพื่มลิงค์ภายใน", "option-internal-embed": "เพิ่มการฝังเนื้อหา", "option-tag": "เพิ่มแท็ก", "option-heading": "ขนาดหัวข้อ", "option-strikethrough": "ขีดกลางบรรทัด", "option-highlight": "เน้น", "option-code": "ใส่โค้ด", "option-blockquote": "ใส่บล็อคโคว้ต", "option-inline-math": "Toggle inline math", "option-math-block": "Toggle math block", "option-markdown-link": "ใส่ลิงค์ Markdown", "option-bullet-list": "รายการบูลเล็ต", "option-numbered-list": "รายการตัวเลข", "option-indent-list": "ย่อหน้าเข้า", "option-unindent-list": "ย่อหน้าออก", "option-undo": "Undo", "option-redo": "Redo", "option-move-caret-up": "เลื่อนเคอร์เซอร์ไปข้างบน", "option-move-caret-down": "เลื่อนเคอร์เซอร์ไปข้างล่าง", "option-move-caret-left": "เลื่อนเคอร์เซอร์ไปทางซ้าย", "option-move-caret-right": "เลื่อนเคอร์เซอร์ไปทางขวา", "option-first-line": "ไปยังบรรทัดแรก", "option-last-line": "ไปยังบรรทัดสุดท้าย", "option-toggle-keyboard": "เปิดปิดแป้นพิมพ์", "option-configure-toolbar": "ปรับแต่งแถบเครื่องมืออุปกรณ์พกพา", "option-added-options": "ตัวเลือกที่เลือกใช้", "option-more-toolbar-options": "แถบเครื่องมือเพิ่มเติม", "option-attach": "เพิ่มไฟล์แนบ", "option-add-command": "เพิ่มคำสั่ง", "option-add-command-description": "เลือกคำสั่งที่ต้องการเพิ่มลงบนแถบเครื่องมือ" } }, "editor": { "search": { "placeholder-find": "ค้นหา", "placeholder-replace": "แทนที่", "label-exit-search": "ยกเลิกการค้นหา", "label-next": "ถัดไป", "label-previous": "ก่อนหน้า", "label-find-all": "Find all", "label-replace": "แทนที่", "label-replace-all": "แทนที่ทั้งหมด" }, "link-suggestion": { "label-type-hash": "พิมพ์ #", "label-link-heading": "เพื่อลิงค์กับหัวข้อ", "label-type-block": "พิมพ์ ^", "label-link-block": "เพื่อลิงค์กับบล็อคข้อความ", "label-type-pipe": "พิมพ์ |", "label-change-display-text": "เพื่อเปลี่ยนข้อความที่ใช้แสดงผล", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "ไม่พบลิงค์", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "ไม่มีคำแนะนำการสะกดคำ...", "add-to-dictionary": "เพิ่มเข้าพจนานุกรม" }, "menu": { "edit-link": "แก้ไขลิงค์", "edit-tag": "Edit tag", "label-edit-block": "Edit this block", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "No heading", "label-heading-level": "Heading {{level}}" }, "print-modal": { "title": "ส่งออกเป็น PDF", "caption": "ส่งออกไฟล์ \"{{filename}}\" เป็น PDF ด้วยการตั้งค่าต่อไปนี้", "setting-page-size": "ขนาดหน้ากระดาษ", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "ใช่้ชื่อไฟล์เป็น title", "setting-landscape": "แนวนอน", "setting-margin": "การเว้นขอบกระดาษ", "setting-margin-default": "ทั่วไป", "setting-margin-minimal": "น้อย", "setting-margin-none": "ไม่เว้น", "setting-downscale-percent": "เปอร์เซ็นต์การย่อขนาดไฟล์", "button-export-to-pdf": "ส่งออกเป็น PDF" }, "link-popover": { "tooltip-follow-link": "ตามลิงค์ไป", "tooltip-open-link": "เปิดลิงค์", "tooltip-search-tag": "ค้นหาแท็ก" } }, "interface": { "embed-cannot-find": "ไม่พบ:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "เปิดด้วยโปรแกรมมาตรฐาน", "empty-sidebar": "ไซด์บาร์นี้ว่างเปล่า ลองลากหน้าต่างมาที่นี่สิ", "sidebar-expand": "ขยาย", "sidebar-collapse": "ยุบ", "msg-fail-to-save-file": "ไม่สามารถเซฟไฟล์ \"{{filepath}}\" ได้ {{message}}.", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "ไม่มีไฟล์ดังกล่าว", "msg-file-changed": "ไฟล์ \"{{file}}\" ถูกแก้ไขด้วยโปรแกรมภายนอกและจะถูกรวมข้อมูลโดยอัตโนมัติ", "switch-vault": "เปิดห้องนิรภัยอื่น", "manage-vaults": "จัดการห้องนิรภัย...", "help": "ความช่วยเหลือ", "settings": "การตั้งค่า", "drag-to-rearrange": "ลากเพื่อสลับที่", "msg-switched-to-read": "สลับมุมมองเริ่มต้นเป็นโหมดอ่าน", "msg-switched-to-edit": "สลับมุมมองเริ่มต้นเป็นโหมดเอดิเตอร์", "msg-upgrade-installer": "หากต้องการใช้ความลูกเล่นนี้ กรุณาติดตั้งโปรแกรมใหม่อีกครั้งด้วยตัวติดตั้งรุ่นล่าสุดจากเว็บไซต์ของเรา", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "คืนค่าการตั้งค่าเริ่มต้น", "label-copy": "คัดลอกลงคลิปบอร์ด", "label-copy-short": "Copy", "copied_generic": "Copied to your clipboard", "copied": "{{item}} ถูกคัดลอกลงคลิปบอร์ดแล้ว", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "Url", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "เปิดไฟล์ \"{{path}}\"", "msg-file-not-found-through-uri": "ไม่มีไฟล์ \"{{name}}\"", "delete-action-short-name": "ลบ", "msg-indexing": "Obsidian กำลังจัดทำดัชนีห้องนิรภัยของคุณ...\nกระบวนการนี้จะเกิดขึ้นเพียงครั้งเดียวเท่านั้น\nความสามารถบางอย่างอาจใช้งานไม่ได้จนกว่ากระบวนการจะเสร็จสิ้น", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "การจัดทำดัชนีเสร็จสิ้น", "msg-sandbox-vault": "This is a sandbox vault.\nChanges you make in this vault will be lost.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "ป้อนข้อมูลเพื่อสร้างใหม่", "label-update-available": "มีอัพเดตใหม่", "label-debug-info": "ข้อมูลการดีบั๊ก", "button-learn-more": "ข้อมูลเพิ่มเติม", "button-not-now": "ยังไม่สนใจ", "button-add": "เพิ่ม", "button-manage": "จัดการ", "label-new-tab": "แท็บใหม่", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "This tab is currently busy, please try again later", "formatting": { "label-formatting": "Format", "label-paragraph": "Paragraph", "label-insert": "Insert", "insert-link": "Add link", "insert-external-link": "Add external link", "insert-callout": "Callout", "insert-horizontal-rule": "Horizontal rule", "insert-code-block": "Code block", "insert-math-block": "Math block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bold": "Bold", "toggle-code": "Code", "toggle-comments": "Comment", "toggle-highlight": "Highlight", "toggle-italics": "Italic", "toggle-strikethrough": "Strikethrough", "toggle-math": "Math", "toggle-bullet-list": "Bullet list", "toggle-checklist": "Task list", "toggle-numbered-list": "Numbered list", "set-heading": "Heading {{level}}", "no-heading": "Body", "clear": "Clear formatting", "toggle-quote": "Quote" }, "empty-state": { "no-file-open": "ไม่มีไฟล์ที่เปิดอยู่", "create-new-file": "สร้างไฟล์ใหม่", "go-to-file": "ไปยังไฟล์นี้", "see-recent-files": "ดูไฟล์ล่าสุด", "close": "ปิด", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "ปลั๊กอินไม่ถูกใช้งานอีกต่อไป", "unknown-pane-desc": "ไม่พบปลั๊กอินที่สร้างหน้าต่างนี้ ({{type}})" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "แก้ไข (Ctrl/Cmd+Click เพื่อแก้ไขในหน้าต่างใหม่)", "read-view": "มุมมองปัจจุบัน: โหมดอ่าน", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "คลิกเพื่อแก้ไข", "switch-to-read-view": "คลิกเพื่ออ่าน", "mod-click-open-new-tab": "{{key}}+คลิ๊กเพื่อเปิดในแท็บใหม่", "find": "ค้นหา...", "replace": "แทนที่...", "edit": "แก้ไข", "remove": "Remove", "rename": "Rename", "preview": "พรีวิว", "more-options": "ตัวเลือกเพิ่มเติม", "close": "ปิด", "close-all": "Close all", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Close others", "close-after": "Close tabs after", "pin": "ปักหมุด", "unpin": "ถอดหมุด", "unlink-tab": "Unlink tab", "link-tab": "Link with tab...", "toggle-source-mode": "Source mode", "toggle-reading-view": "Reading view", "add-property": "Add file property", "delete-file": "ลบไฟล์", "create-file": "Create this file", "open-link": "Open link", "open-in-new-tab": "Open in new tab", "open-to-the-right": "Open to the right", "copy-url": "คัดลอก url", "copy": "คัดลอก", "cut": "ตัด", "paste": "แปะ", "paste-as-plain-text": "แปะเป็นข้อความเปล่าๆ", "lookup-selection": "Look up “{{selection}}”", "select-all": "เลือกทั้งหมด", "rename-heading": "เปลี่ยนชื่อหัวข้อนี้...", "rename-blockid": "Rename this block ID...", "open-in-new-window": "Open in new window", "move-to-new-window": "Move to new window", "open-in-browser": "เปิดในเบราเซอร์", "stack-tabs": "Stack tabs", "unstack-tabs": "Unstack tabs", "open-linked-view": "Open linked view" }, "tooltip": { "click-to-expand": "คลิกเพื่อขยาย", "click-to-collapse": "คลิกเพื่อยุบ", "alias": "นามแฝง", "not-created-yet": "ยังไม่มีไฟล์นี้ เลือกเพื่อสร้างใหม่" }, "start-screen": { "label-version": "เวอร์ชั่น", "label-create-local-vault": "Create local vault", "option-open-folder-as-vault": "เปิดโฟลเดอร์ห้องนิรภัย", "option-open-folder-as-vault-description": "เลือกเปิดโฟลเดอร์ที่มีอยู่แล้ว", "option-create-vault": "สร้างห้องนิรภัยใหม่", "option-create-vault-description": "สร้างห้องนิรภัยใหม่ที่โฟลเดอร์ที่กำหนด", "option-connect-obsidian-sync": "Connect to Obsidian Sync", "option-connect-obsidian-sync-description": "Set up a synced vault with existing remote vault.", "option-new-vault-name": "ชื่อห้องนิรภัย", "option-new-vault-name-description": "ตั้งชื่อสำหรับห้องนิรภัยสุดเจ๋งของคุณ", "option-new-vault-location": "ตำแหน่ง", "option-new-vault-location-description": "เลือกตำแหน่งที่จะบันทึกห้องนิรภัยของคุณ", "label-new-vault-location-preview": "Your new vault will be placed in: ", "option-reveal-vault-in-explorer": "แสดง vault ในโฟลเดอร์", "option-reveal-vault-in-explorer-mac": "แสดง vault ใน Finder", "option-rename-vault": "แก้ไขชื่อ vault...", "option-copy-vault-i-d": "Copy vault ID", "msg-error-rename-exists": "There is already a vault with this name.", "msg-error-nested": "Cannot move vault into a subfolder of itself.", "msg-error-rename-open": "Can't rename a currently open vault.", "msg-rename-failed": "Failed to rename vault.", "msg-rename-success": "Successfully renamed vault.", "option-move-vault": "Move vault...", "msg-move-select-dest": "Select destination folder", "msg-error-move-exists": "There is already a vault at the destination.", "msg-error-move-open": "Can't move a currently open vault.", "msg-move-failed": "Failed to move vault.", "msg-move-success": "Successfully moved vault.", "option-remove": "Remove from list", "button-quick-start": "Quick start", "button-open": "เปิด", "button-browse": "เลือกดู", "button-connect": "Connect", "button-create-vault": "สร้าง", "button-back": "ย้อนกลับ", "msg-empty-vault-name": "กรุณากรอกชื่อห้องนิรภัย", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "กรุณาเลือกโฟลเดอร์ที่ถูกต้อง", "msg-failed-to-create-vault": "ไม่สามารถสร้างห้องนิรภัยได้", "msg-failed-to-create-vault-at-location": "ไม่สามารถสร้างห้องนิรภัยที่โฟลเดอร์ที่กำหนดได้ กรุณาตรวจสอบตำแหน่งและสิทธิการเข้าถึง", "msg-error-failed-to-open-vault": "ไม่สามารถเปิดห้องนิรภัยได้", "msg-error-remove-current-open-vault": "ไม่สามารถลบห้องนิรภัยที่ถูกเปิดใช้งานอยู่ได้", "option-get-help": "Get Help", "option-user-email": "Email", "placeholder-your-email": "Your email...", "option-user-password": "Password", "placeholder-your-password": "Your password...", "button-sign-in": "Sign in", "button-setup": "Setup", "option-connect-vault-desc": "Create a synced vault on this device.", "tooltip-own-vault": "This is a remote vault owned by you.", "tooltip-shared-vault": "This is a remote vault shared with you.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Welcome", "welcome-file-content": "This is your new *vault*.\n\nMake a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!\n\nWhen you're ready, delete this note and make the vault your own." }, "drag-and-drop": { "insert-link-here": "แทรกลิงค์ที่นี่", "insert-links-here": "แทรกลิงค์ที่นี่", "move-into-folder": "ย้ายไปที่ \"{{folder}}\"", "star-this-file": "ติดดาวไฟล์นี้", "star-these-files": "ติดดาวไฟล์นี้", "open-in-this-tab": "Open in this tab", "open-as-tab": "Open as new tab" }, "window": { "maximize": "ขยายหน้าต่าง", "minimize": "ยุบหน้าต่าง", "restore-down": "ย่อหน้าต่าง", "close-window": "ปิดหน้าต่าง", "go-back": "ย้อนกลับ", "go-forward": "ไปข้างหน้า" }, "start-up": { "loading-obsidian": "กำลังโหลด Obsidian...", "obsidian-load-error": "พบปัญญาขณะโหลดโปรแกรม Obsidian", "button-reload-app": "รีโหลดโปรแกรม", "button-reload-app-in-safe-mode": "Reload app in safe mode", "button-open-another-vault": "เปิดห้องนิรภัยอื่น", "loading-plugins": "กำลังโหลดปลั๊กอิน...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "กำลังโหลดห้องนิรภัย...", "msg-failed-to-load-vault": "ไม่สามารถโหลดห้องนิรภัยได้: ", "loading-cache": "กำลังโหลดแคช...", "loading-workspace": "กำลังโหลด workspace..." }, "mobile": { "action-import": "นำเข้าสู่ห้องนิรภัย", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "เลือกไฟล์เพื่อแทรก", "action-insert-text-into-file": "แทรกข้อความเข้าสู่ไฟล์ {{filename}}", "action-insert-link-into-file": "แทรกลิงค์เข้าสู้ไฟล์ {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "กำลังนำเข้า...", "msg-import-success": "การนำเข้าสำเร็จ", "msg-failed-to-import-file": "ไม่สามารถนำเข้าไฟล์ {{filename}} ได้", "msg-back-again-to-exit": "Press back again to exit.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Official help site", "label-official-help-site-desc": "Read the official help documentation of Obsidian, available in multiple languages.", "action-visit": "Visit", "label-discord-chat": "Discord chat", "label-discord-chat-desc": "Discord is the best place to chat with other experienced Obsidian users from around the world.", "action-join": "Join", "label-forum": "Official forum", "label-forum-desc": "Help each other, post feature requests, report bugs, and have in-depth discussions about knowledge management.", "label-sandbox-vault": "Sandbox vault", "label-sandbox-vault-desc": "Play around and experiment with various features. Please note your changes will not be saved." } }, "commands": { "save-file": "เซฟไฟล์ปัจจุบัน", "download-attachments": "Download attachments for current file", "follow-cursor-link": "ตามลิงค์ที่ตำแหน่งเคอร์เซอร์ไป", "open-cursor-link-in-new-tab": "Open link under cursor in new tab", "open-cursor-link-to-the-right": "Open link under cursor to the right", "open-cursor-link-in-new-window": "Open link under cursor in new window", "navigate-tab-above": "Focus on tab group above", "navigate-tab-below": "Focus on tab group below", "navigate-tab-left": "Focus on tab group to the left", "navigate-tab-right": "Focus on tab group to the right", "toggle-pin": "เปิดปิดการปักหมุด", "split-right": "Split right", "split-down": "Split down", "toggle-stacked-tabs": "Toggle stacked tabs", "navigate-back": "ย้อนกลับ", "navigate-forward": "ไปข้างหน้า", "use-dark-mode": "ใช้โหมดสีเข้ม", "use-light-mode": "ใช้โหมดสีอ่อน", "change-theme": "เปลี่ยนธีม", "search-current-file": "ค้นหาในไฟล์ปัจจุบัน", "search-replace-current-file": "ค้นหาและแทนที่ในไฟล์ปัจจุบัน", "add-property": "Add file property", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Clear file properties", "open-settings": "เปิดหน้าต่างการตั้งค่า", "open-help": "เปิดหน้าต่างความช่วยเหลือ", "toggle-edit": "สลับระหว่างโหมดปรับแก้/โหมดอ่าน", "toggle-source-mode": "สลับระหว่างโหมดพรีวิวสด/โหมดต้นฉบับToggle Live Preview/Source mode", "delete-current-file": "ลบไฟล์ปัจจุบัน", "new-tab": "New tab", "show-trash": "Show trash", "close-all-tabs": "Close all tabs", "close-active-tab": "Close current tab", "close-others-in-tab-group": "Close others in tab group", "close-other-tabs": "Close all other tabs", "close-tab-group": "Close this tab group", "toggle-left-sidebar": "เปิดปิดไซด์บาร์ด้านซ้าย", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "เปิดปิดไซด์บาร์ด้านขวา", "toggle-default-new-tab-mode": "Toggle default mode for new tabs", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "โฟกัสที่เอดิเตอร์", "toggle-fold-properties": "Toggle fold properties in current file", "toggle-fold": "ยุบ-ขยายบรรทัดปัจจุบัน", "fold-all": "ยุบหัวข้อและรายการทั้งหมด", "unfold-all": "ขยายหัวข้อและรายการทั้งหมด", "fold-more": "Fold more", "fold-less": "Fold less", "swap-line-up": "สลับบรรทัดไปข้างบน", "swap-line-down": "สลับบรรทัดไปข้างล่าง", "remove-heading": "Remove heading", "toggle-heading": "Set as heading {{level}}", "toggle-bold": "เปิดปิดตัวหนาที่ข้อความที่เลือก", "toggle-italics": "เปิดปิดตัวเอียงที่ข้อความที่เลือก", "toggle-highlight": "เปิดปิดการเน้นที่ข้อความที่เลือก", "toggle-comments": "เปิดปิดคอมเมนท์ที่ข้อความที่เลือก", "clear-formatting": "Clear formatting", "insert-link": "แทรกลิงค์", "toggle-spellcheck": "เปิดปิดการพิสูจน์อักษร", "delete-paragraph": "ลบย่อหน้า", "toggle-checklist": "สลับสถานะเช็คลิสต์", "cycle-list-checklist": "Cycle bullet/checkbox", "insert-callout": "Insert callout", "insert-code-block": "Insert code block", "insert-math-block": "Insert math block", "insert-horizontal-rule": "Insert horizontal rule", "insert-table": "Insert table", "insert-footnote": "Insert footnote", "edit-file-title": "แก้ไขชื่อไฟล์", "copy-path": "คัดลอกพาธตำแหน่งไฟล์", "copy-url": "คัดลอก obsidian url", "export-pdf": "ส่งออกเป็น PDF", "reload": "รีโหลดโปรแกรมโดยไม่เซฟ", "undo-close-tab": "Undo close tab", "context-menu": "แสดงเมนูที่เกี่ยวข้องที่ตำแหน่งเคอร์เซอร์", "show-debug-info": "แสดงผลข้อมูลการดีบั๊ก", "open-sandbox-vault": "Open sandbox vault", "always-on-top": "Toggle window always on top", "zoom-in": "Zoom in", "zoom-out": "Zoom out", "reset-zoom": "Reset zoom", "toggle-preview": "สลับโหมดปรับแก้/โหมด", "move-to-new-window": "Move current pane to new window", "open-in-new-window": "Open current pane in new window", "rename-current-file": "Rename current file", "go-to-prev-tab": "Go to previous tab", "go-to-next-tab": "Go to next tab", "go-to-last-tab": "Go to last tab", "go-to-nth-tab": "Go to tab #{{n}}", "show-release-notes": "Show release notes" }, "dialogue": { "label-link-affected": "การกระทำนี้จะมีผลต่อ {{links}} ลิงค์ ใน {{files}} ไฟล์.", "msg-updated-links": "อัพเดต {{links}} ลิงค์ ใน {{files}} ไฟล์", "label-update-links": "อัพเดตลิงค์", "label-confirm-update-link-to-file": "คุณต้องการอัพเดตลิงค์ภายในที่ลิงค์กับไฟล์นี้หรือไม่?", "button-always-update": "อัพเดตเสมอ", "button-just-once": "อัพเดตครั้งเดียว", "button-do-not-update": "ไม่อัพเดต", "label-confirm-deletion": "คุณต้องการลบ \"{{filename}}\" หรือไม่?", "label-move-to-system-trash": "ไฟล์จะถูกย้ายไปยังถังขยะของระบบ", "label-move-to-vault-trash": "ไฟล์จะถูกย้ายไปยังถังขยะของ Obsidian ซึ่งอยู่ที่โฟลเดอร์ \".trash\" ที่ถูกซ่อนไว้ในห้องนิรภัย", "label-permanent-delete": "ไฟล์นี้จะถูกลบอย่างถาวร", "label-non-empty-folder": "โฟลเดอร์นี้มีไฟล์อยู่ข้างใน", "label-delete-folder-warning": "ถ้าดำเนินการต่อ ไฟล์ทั้งหมดในโฟลเดอร์จะถูกลบ", "label-delete-folder": "ลบโฟลเดอร์", "button-delete": "ลบ", "button-delete-do-not-ask-again": "ลบและไม่ต้องถามอีก", "label-do-not-ask-again": "Don't ask again", "label-existing-backlink": "ปัจจุบันมี {{count}} ลิงก์ที่ชี้ไปยังโน้ตนี้", "label-existing-backlink_plural": "ปัจจุบันมี {{count}} ลิงก์ที่ชี้ไปยังโน้ตนี้", "label-delete-file": "ลบไฟล์", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Manage", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "ยกเลิก", "button-download": "Download", "button-done": "เสร็จสิ้น", "button-save": "Save", "button-stop": "Stop", "button-continue": "ดำเนินการต่อ", "button-choose": "Choose", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "กำลังเตรียมไฟล์ PDF...", "label-rename-file": "เปลี่ยนชื่อไฟล์", "label-rename-file-generic": "File name", "label-new-name": "ชื่อใหม่", "msg-rename-success": "เปลี่ยนชื่อไฟล์สำเร็จ", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "เปลี่ยนชื่อหัวข้อ", "label-rename-blockid": "Rename block ID" }, "menu-items": { "new-file": "สร้างโน้ตใหม่", "new-file-to-the-right": "สร้างโน้ตใหม่จากฝั่งขวา", "new-window": "เปิดหน้าต่างใหม่", "open-switcher": "Open Quickly...", "open-vault": "Open Vault...", "close-tab": "ปิดแท็บ", "close-window": "ปิดหน้าต่าง", "find": "ค้นหา", "replace": "แทนที่", "insert-callout": "Callout", "insert-markdown-link": "Markdown Link", "insert-wikilink": "ลิงต์", "set-heading": "Heading {{level}}", "no-heading": "No Heading", "insert-quote": "Quote", "export-pdf": "Export PDF", "insert-attachment": "Insert Attachment...", "insert-codeblock": "Code Block", "insert-math-block": "Math Block", "insert-table": "Table", "insert-footnote": "Footnote", "toggle-bullet-list": "Bullet List", "toggle-numbered-list": "Numbered List", "toggle-checklist": "Task List", "toggle-bold": "ตัวหนา", "toggle-code": "Code", "toggle-comment": "Comment", "toggle-italics": "Italics", "toggle-inline-math": "Math", "toggle-highlight": "Highlight", "toggle-strikethrough": "Strikethrough", "toggle-comments": "Comment", "folding-menu": "Folding", "fold-all": "Fold All", "unfold-all": "Unfold All", "fold-more": "Fold More", "fold-less": "Fold Less", "source-mode": "Source Mode", "reading-view": "Reading View", "show-debug-info": "Show Debug Info", "open-sandbox": "Open Sandbox Vault", "navigate-back": "Navigate Back", "navigate-forward": "Navigate Forward", "toggle-left-sidebar": "Toggle Left Sidebar", "toggle-right-sidebar": "Toggle Right Sidebar", "toggle-ribbon": "Ribbon", "split-right": "Split Right", "split-down": "Split Down", "release-notes": "Release Notes" }, "plugins": { "name": "ปลั๊กอิน", "file-explorer": { "name": "File explorer", "desc": "เห็นไฟล์ทั้งหมดในห้องนิรภัย", "action-open": "เปิด file explorer", "action-show": "แสดง file explorer", "action-create-note": "สร้างโน้ตใหม่", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Create new note in current tab", "action-create-note-to-the-right": "Create note to the right", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-new-note": "สร้างโน้ตใหม่", "action-new-folder": "สร้างโฟลเดอร์ใหม่", "action-change-sort": "เปลี่ยนวิธีการเรียงลำดับ", "action-reveal-file": "แสดงไฟล์ทั้งหมดใน file explorer", "action-reveal-active-file": "แสดงไฟล์ปัจจุบันใน file explorer", "command-make-a-copy": "Make a copy of the current file", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "ย้ายไฟล์ไปโฟลเดอร์อื่น", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "ย้ายไฟล์ไปที่...", "action-move-folder": "ย้ายโฟลเดอร์ไปที่...", "action-move-items": "Move {{count}} items to...", "prompt-type-folder": "พืมพ์ชื่อโฟลเดอร์", "label-no-folders": "ไม่พบโฟลเดอร์", "instruction-navigate": "เพื่อเลื่อน", "instruction-move": "เพื่อย้าย", "instruction-create": "to create", "instruction-dismiss": "เพื่อยกเลิก", "label-sort-a-to-z": "เรียงตามชื่อไฟล์ (A ไป Z)", "label-sort-z-to-a": "เรียงตามชื่อไฟล์ (Z ไป A)", "label-sort-new-to-old": "เรียงตามเวลาที่แก้ไข (ใหม่ไปเก่า)", "label-sort-old-to-new": "เรียงตามเวลาที่แก้ไข (เก่าไปใหม่)", "label-sort-created-old-to-new": "เรียงตามเวลาที่สร้าง (เก่าไปใหม่)", "label-sort-created-new-to-old": "เรียงตามเวลาที่สร้าง (ใหม่ไปเก่า)", "menu-opt-new-note": "สร้างโน้ตใหม่", "menu-opt-new-folder": "สร้างโฟลเดอร์ใหม่", "menu-opt-rename": "เปลี่ยนชื่อ", "menu-opt-delete": "ลบ", "menu-opt-make-copy": "ทำซ้ำ", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "ชื่อไฟล์ไม่สามารถมีตัวอักษรเหล่านี้ได้: ", "msg-unsafe-characters": "ลิงค์จะไม่ทำงานหากชื่อไฟล์มีตัวอักษรเหล่านี้: ", "msg-file-already-exists": "มีไฟล์ชื่อนี้แล้ว", "msg-empty-file-name": "ตรวจสอบชื่อไฟล์อีกครั้ง", "msg-bad-dotfile": "File name must not start with a dot.", "tooltip-modified-time": "แก้ไขครั้งสุดท้ายเมื่อ {{time}}", "tooltip-created-time": "สร้างเมื่อ {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "ยังไม่ได้ตั้งชื่อ", "label-untitled-folder": "ยังไม่ได้ตั้งชื่อ", "msg-set-attachment-folder": "ไฟล์แนบจะถูกบันทึกไว้ที่ \"{{path}}\"" }, "search": { "name": "ค้นหา", "desc": "ค้นหาคีย์เวิร์ดในทุกโน้ต", "action-open-search": "ค้นหาในทุกไฟล์", "label-collapse-results": "ยุบผลการค้นหา", "label-match-case": "ขนาดตัวพิมพ์ต้องตรงกัน", "label-explain-search-term": "อธิบายเงื่อนไขการค้นหา", "label-more-context": "แสดงผลข้อมูลบริบทเพิ่มเติม", "label-result-count": "{{count}} result", "label-result-count_plural": "{{count}} results", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Search settings", "prompt-start-search": "พิมพ์ข้อความเพื่อเริ่มการค้นหา...", "label-match-text": "ตรงกับคำ: ", "label-match-regex": "ตรงกับ regex: ", "label-match-exact-text": "ตรงกับทั้งคำ: ", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "Contains property:", "label-match-all": "ตรงคำที่ค้นหาทั้งหมด: ", "label-match-any": "ตรงคำที่ค้นหาบางคำ: ", "label-excluding": "คำที่ยกเว้น: ", "label-case-sensitive": "ขนาดตัวพิมพ์ต้องตรงกัน", "label-case-insensitive": "ขนาดตัวพิมพ์ไม่ต้องตรงกัน", "label-match-file-path": "ตำแหน่งไฟล์ตรงกัน: ", "label-match-file-name": "ชื่อไฟล์ตรงกัน: ", "label-match-content": "เนื้อหาไฟล์ตรงกัน: ", "label-match-task": "งานตรงกัน: ", "label-match-task-todo": "งานตรงกัน (ที่ต้องทำ): ", "label-match-task-done": "งานตรงกัน (ทำแล้ว): ", "label-match-line": "บรรทัดตรงกัน: ", "label-match-block": "บล็อคตรงกัน: ", "label-match-section": "สิ่งที่เลือกไว้ตรงกัน: ", "label-match-tag": "แท็กตรงกัน: ", "label-no-matches": "ไม่เจอคำค้นหาที่ตรงกัน", "matches-with-count": "... และอีก {{count}} ผลการค้นหาที่ตรงกัน", "matches-with-count_plural": "... และอีก {{count}} ผลการค้นหาที่ตรงกัน", "label-copy-search-results": "คัดลอกผลการค้นหา", "button-copy-results": "คัดลอกผลการค้นหา", "msg-successfully-copied": "ผลการค้นหาถูกคัดลอกใส่ในคลิปบอร์ดแล้ว", "option-show-path": "แสดงตำแหน่งไฟล์", "option-show-path-description": "แสดงตำแหน่งไฟล์แบบเต็มรูปแบบแทนการแสดงเพียงแค่ชื่อไฟล์", "option-link-style": "สไตล์ของลิงค์", "option-link-style-description": "แปลงผลการค้นหาให้อยู่ในรูปแบบลิงค์", "option-choice-link-style-none": "ไม่แปลง", "option-choice-link-style-wikilink": "วิกิลิงค์", "option-choice-link-style-markdown-link": "ลิงค์ Markdown", "option-list-prefix": "เติมสัญลักษณ์รายการ", "option-list-prefix-description": "เติมสัญลักษณ์รายการด้านหน้าผลการค้นหาแต่ละบรรทัด", "option-choice-list-style-none": "ไม่เติม", "option-choice-list-style-dash": "ขีด (-)", "option-choice-list-style-asterisk": "ดอกจัน (*)", "option-choice-list-style-numbered": "ตัวเลข", "tooltip-clear-search": "ล้างผลการค้นหา", "label-search-options": "ตัวเลือกการค้นหา", "label-properties-group": "Properties", "label-tags-group": "Tags", "tooltip-read-more": "เพิ่มเติม", "label-history": "ประวัติการค้นหา", "tooltip-clear-history": "ล้างประวัติการค้นหา", "label-path-option-description": "ตรงกับตำแหน่งไฟล์", "label-file-name-option-description": "ตรงกับชื่อไฟล์", "label-tag-option-description": "ค้นหาแท็ก", "label-line-option-description": "ค้นหาคีย์เวิร์ดในบรรทัดเดียวกัน", "label-section-option-description": "ค้นหาคีย์เวิร์ดภายใต้หัวข้อเดียวกัน", "label-property-option-description": "match property", "menu-opt-search-for": "ค้นหา \"{{keyword}}\"", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "Quick switcher", "desc": "เปิดไฟล์ใดก็ได้โดยไม่ต้องยกมือจากแป้นพิมพ์ ใช้งานโดยกด Ctrl/Cmd+O ", "short-name": "Switcher", "action-open": "เปิด quick switcher", "instruction-navigate": "เพื่อเลื่อน", "instruction-open": "เพื่อเปิด", "instruction-open-in-new-tab": "to open in new tab", "instruction-open-to-the-right": "to open to the right", "instruction-create": "เพื่อสร้างใหม่", "instruction-dismiss": "เพื่อยกเลิก", "instruction-select": "to select", "label-no-note-create-new": "ไม่พบโน้ต กด Enter เพื่อสร้างใหม่", "prompt-type-file-name": "พิมพ์ชื่อไฟล์ที่จะเปิดหรือสร้างใหม่...", "label-enter-to-create": "กด Enter เพื่อสร้างใหม่", "tooltip-not-created-yet": "ยังไม่มีไฟล์นี้ เลือกเพื่อสร้างใหม่", "option-show-existing-only": "แสดงไฟล์ที่มีอยู่แล้วเท่านั้น", "option-show-existing-only-description": "เปิดปิดการแสดงไฟล์ที่มีอยู่แล้วเท่านั้น", "option-show-attachments": "แสดงไฟล์แนบ", "option-show-attachments-desc": "เปิดปิดการแสดงไฟล์แนบเช่นรูปภาพ วิดีโอ และ PDF", "option-show-all-file-types": "แสดงไฟล์ทุกชนิด", "option-show-all-file-types-desc": "แสดงผลไฟล์ทุกชนิดแม้ Obsidian จะไม่รองรับ ไฟล์จะถูกเปิดด้วยโปรแกรมมาตรฐานสำหรับไฟล์ประเภทนั้น" }, "graph-view": { "name": "มุมมองกราฟ", "desc": "ดูกราฟภาพรวมของการลิงค์ระหว่างโน้ต", "action-open": "เปิดมุมมองกราฟ", "action-open-local": "เปิดมุมมองกราฟของไฟล์นี้", "action-copy-screenshot": "คัดลอกภาพกราฟ", "tab-title": "กราฟของ {{displayText}}", "label-filters": "ตัวกรอง", "prompt-filter-nodes": "ค้นหาไฟล์...", "option-depth": "ความลึก", "option-depth-description": "แสดงโหนดห่างจากลิงค์เป็นจำนวนตามระดับความลึกที่เลือก", "option-neighbor-links": "ลิงค์ข้างเคียง", "option-neighbor-links-description": "แสดงลิงค์ระหว่างโหนดข้างเคียง", "option-forelinks": "ลิงค์ขาออก", "option-forelinks-description": "แสดงโหนดลิงค์ขาออกไปสู่ไฟล์อื่น", "option-backlinks": "ลิงค์ขาเข้า", "option-backlinks-description": "แสดงโหนดลิงค์ขาเข้าจากไฟล์อื่น", "option-show-tags": "แท็ก", "option-show-tags-description": "แสดงโหนดของแท็กที่ใช้", "option-show-attachments": "ไฟล์แนบ", "option-show-attachments-description": "แสดงโหนดของไฟล์แนบ", "option-show-existing-files-only": "ไฟล์ที่ถูกสร้างไว้แล้วเท่านั้น", "option-show-existing-files-only-description": "เมื่อใช้ตัวเลือกนี้จะไม่แสดงลิงค์ของไฟล์ที่ยังไม่ถูกสร้าง", "option-show-orphans": "ไฟล์ Orphans", "option-show-orphans-description": "แสดงโหนดไฟล์ที่ไม่มีการลิงค์ไปยังไฟล์อื่น", "label-display": "การแสดงผล", "option-show-arrows": "หัวลูกศร", "option-show-arrows-description": "แสดงหัวลูกศรเมื่อซูมเข้าใกล้", "option-text-fade": "เกณฑ์ขั้นต่ำในการทำให้ตัวอักษรจางลง", "option-node-size": "ขนาดของโหนด", "option-link-thickness": "ความหนาของเส้นกราฟ", "label-forces": "แรวกระทำ", "option-center-force": "แรงกระทำที่สู่ศูนย์กลาง", "option-link-force": "แรงกระทำระหว่างโหนด", "option-link-distance": "ระยะห่างระหว่างโหนด", "option-repel-force": "แรงผลักระหว่างโหนด", "tooltip-open-graph-settings": "เปิดหน้าต่างการตั้งค่ากราฟ", "msg-screenshot-copied": "ภาพกราฟถูกคัดลอกใส่คลิปบอร์ดแล้ว", "label-groups": "กลุ่ม", "placeholder-enter-query": "ใส่คำค้น...", "tooltip-delete-graph": "ลบกลุ่ม", "button-new-group": "สร้างกลุ่มใหม่", "tooltip-click-to-change-drag-to-reorder": "คลิกเพื่อเปลี่ยนสี\nลากเพื่อเปลี่ยนลำดับ", "action-timelapse": "เริ่มการแสดงผล timelapse animation", "tooltip-start-timelapse-animation": "เริ่ม timelapse animation", "button-animate-timelapse": "แสดงผล" }, "backlinks": { "name": "แบ็คลิงค์", "desc": "แสดงจำนวนแบ็คลิงค์บนแถบสถานะ", "action-open": "เปิดดูแบ็คลิงค์", "action-show": "แสดงหน้าต่างแบ็คลิงค์", "action-open-for-current": "เปิดดูแบ็คลิงค์ของไฟล์ปัจจุบัน", "action-toggle-backlinks-in-document": "เปิดปิดแบ็คลิงค์ในเอกสาร", "menu-opt-backlinks-in-document": "Backlinks in document", "label-linked-mentions": "การอ้างอิงถึงผ่านลิงค์", "label-no-backlinks": "ไม่พบแบ็คลิงค์", "label-unlinked-mentions": "การอ้างอิงถึงโดยไม่ผ่านลิงค์", "label-show-search": "แสดงตัวกรองการค้นหา", "label-link-button-text": "ลิงค์", "tab-title": "แบ็คลิงค์ของ {{displayText}}", "label-no-unlinked-mentions": "ไม่พบการอ้างอิงถึงโดยไม่ผ่านลิงค์", "ellipsis": "...", "option-backlink-in-document": "แบ็คลิงค์ในเอกสาร", "option-backlink-in-document-desc": "แสดงแบ็คลิงค์ในเอกสารเป็นค่าเริ่มต้นเมื่อสร้างหน้าต่างใหม่" }, "outgoing-links": { "name": "ลิงค์ขาออก", "desc": "แสดงลิงค์ขาออกและการอ้างอิงถึงโดยไม่ผ่านลิงค์จากโน้ตอื่นๆ ในโน้ตปัจจุบัน", "action-open": "เปิดลิงค์ขาออก", "action-show": "แสดงหน้าต่างลิงค์ขาออก", "action-open-for-current": "เปิดลิงค์ขาออกของไฟล์ปัจจุบัน", "tab-title": "ลิงค์ขาออกของ {{displayText}}", "label-links": "ลิงค์", "label-no-links": "ไม่พบลิงค์", "label-unlinked-mentions": "การอ้างอิงถึงโดยไม่ผ่านลิงค์", "tooltip-link-file": "ลิงค์ไฟล์นี้", "tooltip-not-created": "ยังไม่มีลิงค์นี้" }, "tag-pane": { "name": "หน้าต่างแท็ก", "short-name": "Tags", "desc": "แสดงผลแท็กพร้อมจำนวนทั้งหมด", "action-show": "แสดงหน้าต่างแท็ก", "label-no-tags": "ไม่พบแท็ก", "label-sort-by-name-a-to-z": "ชื่อแท็ก (A ไป Z)", "label-sort-by-name-z-to-a": "ชื่อแท็ก (Z ไป A)", "label-sort-by-frequency-high-to-low": "ความถี่ (มากไปน้อย)", "label-sort-by-frequency-low-to-high": "ความุี่ (น้อยไปมาก)", "action-show-nested-tags": "แสดงแท็กซ้อน", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Properties view", "desc": "Show the metadata for your files.", "name-global": "All properties", "name-local": "File properties", "tab-title": "File properties for {{displayText}}", "action-show": "Show all properties", "action-show-local": "Show file properties", "opt-unassign-type": "Unassign type", "label-no-properties": "No properties found.", "label-invalid-properties": "Invalid properties.", "label-sort-by-name-a-to-z": "Property name (A to Z)", "label-sort-by-name-z-to-a": "Property name (Z to A)", "label-sort-by-frequency-high-to-low": "Frequency (high to low)", "label-sort-by-frequency-low-to-high": "Frequency (low to high)", "msg-merge-properties-warning": "Merge property “{{oldKey}}” with “{{newKey}}”?", "msg-merge-properties-warning-desc": "In case of conflicts, the values will be merged or the value from “{{oldKey}}” will be used.", "action-collapse-all": "Collapse all", "action-expand-all": "Expand all", "action-open-local": "Open file properties", "action-open-daily-note": "Open daily note" }, "page-preview": { "name": "พรีวิวโน้ต", "desc": "แสดงพรีวิวโน้ตเมื่อชี้ที่ลิงค์ภายใน ใช้ Ctrl/Cmd + การชี้ในโหมดปรับแก้", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "\"{{linktext}}\" ยังไม่ถูกสร้างขึ้น คลิกเพื่อสร้างใหม่", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "เอดิเตอร์", "label-source-preview": "พรีวิว", "label-source-search": "ค้นหา แบ็คลิงค์ และลิงค์ขาออก", "label-source-tab-header": "Tab header", "label-require-mod": "ต้องการ {{key}} เพื่อแสดงพรีวิวโน้ตเมื่อชี้ลิงค์" }, "bookmarks": { "name": "Bookmarks", "desc": "Bookmark frequently used files and searches.", "action-show": "Show bookmarks", "action-collapse-all": "Collapse all", "action-new-bookmark": "Bookmark the active tab...", "action-new-group": "New bookmark group", "action-bookmark": "Bookmark...", "action-add-bookmark": "Add bookmark", "action-edit-bookmark": "Edit bookmark", "action-bookmark-block": "Bookmark block under cursor...", "action-bookmark-heading": "Bookmark heading under cursor...", "action-bookmark-search": "Bookmark current search...", "action-remove-bookmark": "Remove bookmark for current file", "action-bookmark-tab-group": "Bookmark {{count}} tab...", "action-bookmark-tab-group_plural": "Bookmark {{count}} tabs...", "action-bookmark-all-tabs": "Bookmark all tabs...", "action-bookmark-graph": "Bookmark this graph...", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} bookmark", "label-bookmark-with-count_plural": "{{count}} bookmarks", "label-no-bookmarks": "No bookmarks found", "label-invalid-data": "Failed to load bookmarks.", "label-invalid-data-desc": "The data file is corrupted.", "label-untitled-group": "Untitled group", "label-untitled-graph": "Untitled Graph", "menu-opt-edit": "Edit...", "menu-opt-remove": "Remove", "menu-opt-rename": "Rename", "menu-opt-bookmark-block": "Bookmark this block...", "menu-opt-bookmark-heading": "Bookmark this heading...", "msg-no-search-query": "No search query to bookmark.", "option-path": "Path", "option-query": "Query", "option-u-r-l": "URL", "option-title": "Title", "option-group": "Bookmark group", "placeholder-bookmark-group": "Bookmarks" }, "custom-css": { "name": "Custom CSS", "desc": "เรียกใช้งานไฟล์ \"obsidian.css\" ในห้องนิรภัย", "setting-community-themes": "ธีมโดยชุมชน", "msg-fetching-themes": "กำลังขอข้อมูลธีมโดยชุมชน...", "prompt-filter": "ตัวกรอง...", "label-dark-theme-only": "ธีมสีเข้มเท่านั้น", "label-light-theme-only": "ธีมสีอ่อนเท่านั้น", "label-use": "ใช้", "label-stop-use": "หยุดการใช้ธีม", "label-install-and-use": "ติดตั้งและใช้งาน", "label-update": "อัพเดต", "label-no-readme": "This theme did not provide a README file.", "tooltip-remove-theme": "ลบธีม", "label-visit-on-github": "ไปยัง GitHub", "msg-load-error": "ไม่สามารถโหลดธีมได้ กรุณาตรวจสอบการเชื่อมต่อ", "msg-now-using-theme": "คุณกำลังใช้ {{title}} เป็นธีมของโปรแกรม.", "msg-deleted-theme": "ธีม {{title}} ได้ถูกลบแล้ว", "msg-updated-theme": "ธีม {{title}} ได้รับการอัพเดตแล้ว", "label-installed": "ติดตั้งแล้ว", "label-legacy": "Legacy", "button-update-all-themes": "อัพเดตทั้งหมด", "msg-failed-load-themes": "ไม่สามารถโหลดธีมได้", "msg-no-updates-found": "No theme updates found.", "msg-updates-found": "ตรวจพบ {{count}} ธีมที่มีการอัพเดต", "msg-updates-found_plural": "ตรวจพบ {{count}} ธีมที่มีการอัพเดต", "msg-failed-to-install-theme": "ไม่สามารถติดตั้งธีม \"{{name}}\" ได้", "msg-successfully-installed-theme": "ติดตั้งธีม \"{{name}}\" สำเร็จ", "msg-installing-theme": "กำลังติดตั้งธีม \"{{name}}\"...", "label-search-summary": "แสดงผล {{themeCount}}:", "label-update-available": "มีอัพเดตใหม่" }, "command-palette": { "name": "กระดานคำสั่ง", "desc": "พิมพ์คำสั่งเพื่อใช้งานโดยไม่จำเป็นต้องใช้เมาส์หรือคีย์ลัด", "action-open": "เปิดกระดานคำสั่ง", "instruction-navigate": "เพื่อเลื่อน", "instruction-use": "เพื่อใช้งาน", "instruction-dismiss": "เพื่อยกเลิก", "label-no-commands": "ไม่พบคำสั่ง", "prompt-type-command": "พิมพ์คำสั่ง...", "label-pinned-commands": "คำสั่งที่ถูกปักหมุดไว้", "option-add-new-pin": "ปักหมุดคำสั่งใหม่", "option-add-new-pin-description": "คำสั่งที่ถูกปักหมุดจะถูกแสดงไว้ลำดับบนสุดเหนือคำสั่งอื่นๆ เสมอ เมื่อไม่มีคำค้นหา" }, "markdown-format-importer": { "name": "นำเข้า Markdown", "desc": "แปลง Markdown จากโปรแกรมอื่นให้อยู่ในฟอร์แมตของ Obsidian", "action-open": "เปิดหน้าต่างนำเข้า Markdown", "option-roam-tag-fixer": "ตัวช่วยแก้ไขแท็กของ Roam Research", "option-roam-tag-fixer-description": "แปลง \"#tag\" และ \"#[[tag]]\" เป็น \"[[tag]]\"", "option-roam-highlight-fixer": "ตัวช่วยแก้ไขการเน้นคำของ Roam Research", "option-roam-highlight-fixer-description": "แปลง \"^^highlight^^\" เป็น \"==highlight==\"", "option-roam-todo-converter": "ตัวแปลง TODO ของ Roam Research", "option-roam-todo-converter-description": "แปลง \"{{[[TODO]]}}\" เป็น \"[ ]\".", "option-bear-highlight-fixer": "ตัวช่วยแก่ไขการเน้นคำของ Bear", "option-bear-highlight-fixer-description": "แปลง \"::highlight::\" เป็น \"==highlight==\".", "zettelkasten-link-fixer": "ตัวช่วยแก้ไขลิงค์ของ Zettelkasten", "zettelkasten-link-fixer-description": "แก้ไขลิงค์ \"[[UID]]\" เป็น \"[[UID File Name]]\" แบบเต็ม", "zettelkasten-link-beautifier": "ตัวช่วยปรับลิงค์ของ Zettelkasten ให้สวยงาม", "zettelkasten-link-beautifier-description": "แก้ไขลิงค์ \"[[UID]]\" ให้สวยงามขึ้นเป็น \"[[UID File Name|File Name]]\"", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "คำเตือน: ตัวช่วยนำเข้าจะแปลงไฟล์ในห้องนิรภัยนี้ทั้งหมด ไม่ใช่แค่เพียงไฟล์ปัจจุบันเท่านั้น", "msg-override-files-warning": "ไฟล์ทั้งหมดจะถูกเขียนทับ กรุณาสำรองข้อมูลไว้ก่อนทำการแปลงข้อมูล", "label-start-conversion": "เริ่มแปลงข้อมูล", "label-stop": "หยุด", "label-go-back": "กลับไป", "label-done": "เสร็จสิ้น", "label-processing": "กำลังประมวลผล...", "label-cancelling": "กำลังยกเลิก...", "label-finished": "สำเร็จ!", "label-processed-files": "ไฟล์ที่ถูกแปลง", "label-modified-files": "ไฟล์ที่ถูกแก้ไข", "label-total-replacements": "ไฟล์ที่ถูกแทนที่ทั้งหมด", "label-failed": "Failed" }, "daily-notes": { "name": "โน้ตประจำวัน", "desc": "เปิดโน้ตประจำวัน หรือสร้างโน้ตประจำวันขึ้นใหม่หากยังไม่มี", "short-name": "วันนี้", "action-open": "เปิดโน้ตของวันนี้", "action-open-previous": "เปิดโน้ตของเมื่อวาน", "action-open-next": "เปิดโน้ตของพรุ่งนี้", "action-insert-text": "แทรกข้อความในโน้ตประจำวัน", "action-insert-link": "แทรกลิงค์ในโน้ตประจำวัน", "msg-fail-format": "ไม่สามารถสร้างโน้ตประจำวันได้ เนื่องจาก \"{{format}}\" ไม่ถูกต้อง", "msg-fail-folder": "ไม่สามารถสร้างโน้ตประจำวันได้ เนื่องจากไม่พบโฟลเดอร์ \"{{folderOption}}\"", "msg-fail-template-file": "ไม่สามารถสร้างโน้ตประจำวันได้ เนื่องจากไม่พบเทมเพลต \"{{template}}\"", "msg-no-previous": "ไม่มีโน้ตประจำวันที่เก่ากว่านี้", "msg-no-next": "ไม่มีโน้ตประจำวันที่ใหม่กว่านี้", "option-date-format": "ฟอร์แมตวันที่", "label-refer-to-syntax": "ไวยากรณ์เพิ่มเติมดูที่: ", "label-syntax-link": "เอกสารอ้างอิงฟอร์แมต", "label-syntax-live-preview": "ฟอร์แมตปัจจุบันคือ: ", "option-new-file-location": "ตำแหน่งไฟล์ใหม่", "option-new-file-location-description": "ตำแหน่งโฟลเดอร์สำหรับบันทึกโน้ตประจำวันใหม่", "option-template": "ตำแหน่งไฟล์เทมเพลต", "option-template-description": "ตำแหน่งไฟล์ที่จะใช้เป็นเทมเพลต", "option-open-on-start": "เปิด/สร้างโน้ตประจำวันเมื่อเปิดโปรแกรม", "option-open-on-start-description": "เปิด/สร้างโน้ตประจำวันโดยอัตโนมัติเมื่อเปิดห้องนิรภัยนี้หรือโปรแกรม" }, "unique-note-creator": { "name": "Unique note creator", "desc": "Create notes with unique timestamp prefixes, for workflows like zettelkasten or slip box.", "short-name": "Unique", "action-create-note": "Create new unique note", "action-add-link": "Add unique internal link", "option-new-file-location": "New file location", "option-new-file-location-description": "The folder path to create the new unique note.", "msg-folder-not-found": "Failed to create unique note. Folder \"{{folderOption}}\" not found.", "option-template-file": "Template file location", "option-template-file-description": "The file path to use as template.", "option-template-file-placeholder": "Example: folder1/note", "option-id-format": "Unique prefix format", "msg-template-file-not-found": "Failed to create unique note. Template file \"{{template}}\" not found.", "msg-failed-to-generate": "Failed to generate a unique note with the format \"{{format}}" }, "random-note": { "name": "สุ่มโน้ค", "desc": "สุ่มเปิดโน้ตอะไรก็ได้ขึ้นมา มีประโยชน์สำหรับการรีวิวโน้ตและค้นหาข้อมูลที่อาจลืมไป", "short-name": "สุ่ม", "action-open": "สุ่มเปิดโน้ต" }, "outline": { "name": "โครงเรื่อง", "desc": "แสดงโครงเรื่องของไฟล์ปัจจุบันหรือหน้าต่างที่ลิงค์ไว้", "action-open": "เปิดดูโครงเรื่อง", "action-show": "แสดงหน้าต่างโครงเรื่อง", "action-open-for-current": "เปิดดูโครงเรื่องของไฟล์ปัจจุบัน", "tab-title": "โครงเรื่องของ {{displayText}}", "label-no-headings": "ไม่พบหัวข้อ", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "การนับคำ", "desc": "แสดงการนับคำบนแถบสถานะ" }, "slides": { "name": "สไลด์", "desc": "นำเสนอสไลด์จากเอกสาร Markdown ใช้ \"---\" เพื่อแบ่งหน้าสไลด์", "action-start": "เริ่มการนำเสนอ" }, "audio-recorder": { "name": "บันทึกเสียง", "desc": "บันทึกเสียงและเซฟเป็นไฟล์แนบ", "action-start": "เริ่มบันทึกเสียง", "action-stop": "หยุดบันทึกเสียง", "action-toggle": "เริ่ม/หยุดบันทึกเสียง", "msg-access-denied": "ไม่สามารถเข้าถึงไมโครโฟนได้ กรุณาเปิดตัวเลือกในหน้าต่างการตั้งค่า", "msg-pending-grant": "กรุณาให้สิทธิการเข้าถึงไมโครโฟนเพื่อเริ่มบันทึกเสียง", "msg-no-microphone": "ไม่พบไมโครโฟน" }, "open-with-default-app": { "name": "เปิดด้วยโปรแกรมมาตฐาน", "desc": "เพิ่มปุ่มสำหรับเปิดไฟล์ปัจจุบันด้วยโปรแกรมมาตรฐาน", "action-open-file": "เปิดด้วยโปรแกรมมาตฐาน", "action-open-file-mobile": "แชร์", "action-show-in-folder": "แสดงในโฟลเดอร์", "action-show-in-folder-mac": "Reveal in Finder" }, "templates": { "name": "เทมเพลต", "desc": "แทรกเนื้อหาเทมเพลตจากโฟลเดอร์เทมเพลต", "action-insert": "แทรกเทมเพลต", "action-insert-current-date": "แทรกวันที่ปัจจุบัน", "action-insert-current-time": "แทรกเวลาปัจจุบัน", "option-template-folder-location": "ตำแหน่งโฟลเดอร์เทมเพลต", "option-template-folder-location-description": "ไฟล์ในโฟลเดอร์นี้จะถูกใช้เป็นเทมเพลต", "option-template-date-format": "ฟอร์แมตวันที่", "option-template-date-format-description": "{{date}} ในไฟล์เทมเพลตจะถูกแทนที่ด้วยฟอร์แมตนี้", "option-template-date-format-description2": "คุณสามารถใช้ฟอร์แมต {{date:YYYY-MM-DD}} เพื่อแทนที่ฟอร์แมตที่ตั้งไว้เป็นครั้งๆ ไป", "option-template-time-format": "ฟอร์แมตเวลา", "option-template-time-format-description": "{{time}} ในไฟล์เทมเพลตจะถูกแทนที่ด้วยฟอร์แมตนี้", "option-template-time-format-description2": "คุณสามารถใช้ฟอร์แมต {{time:HH:mm}} เพื่อแทนที่ฟอร์แมตที่ตั้งไว้เป็นครั้งๆ ไป", "instruction-navigate": "เพื่อเลื่อน", "instruction-insert": "เพื่อแทรกเทมเพลต", "instruction-dismiss": "เพื่อยกเลิก", "msg-no-templates-found": "ไม่พบเทมเพลต", "msg-fail-invalid-folder": "ไม่สามารถแสดงรายการเทมเพลตได้ เนื่องจากโฟลเดอร์เทมเพลตไม่ถูกต้อง", "msg-fail-folder-not-found": "ไม่สามารถแสดงรายการเทมเพลตได้ เนื่องจากไม่พบโฟลเดอร์ \"{{folderOption}}\"", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "Failed to list templates. No template folder configured.", "prompt-type-template": "พิมพ์ชื่อเทมเพลต..." }, "translucency": { "name": "หน้าต่างโปร่งแสง", "desc": "เปิดใช้เอฟเฟกต์หน้าต่างโปร่งแสงเพื่อทำให้หน้าต่างโปรแกรมดูลึกขึ้น เหมาะกับโหมดสีเข้ม และไม่รองรับบน Linux" }, "slash-command": { "name": "Slash commands", "desc": "เปิดให้เรียกใช้ slash commands ในเอดิเตอร์เมื่อพิมพ์เครื่องหมาย slash" }, "editor-status": { "name": "สถานะเอดิเตอร์", "desc": "เพิ่มสถานะของเอดิเตอร์บนแถบสถานะ", "read": "โหมดอ่าน", "edit-source": "โหมดต้นฉบับ", "edit-live-preview": "โหมดพรีวิวสด" }, "publish": { "name": "เผยแพร่", "desc": "เผยแพร่โน้ตของคุณผ่าน Obsidian Publish.", "action-publish-changes": "เผยแพร่โน้ตล่าสุด...", "action-publish-file": "Publish current file", "label-no-internet-access": "ต้องการการเชื่อมต่ออินเทอร์เน็ตเพื่อเผยแพร่โน้ตล่าสุด", "label-publish-service-description": "Obsidian Publish คือบริการเสริมแบบเสียเงินที่ช่วยให้คุณเผยแพร่โน้ตแบบออนไลน์ได้โดยตรงจาก Obsidian", "label-please-login": "หากต้องการเผยแพร่โน้ต กรุณาล็อกอินหรือสร้างบัญชีผู้ใช้ใหม่กับ Obsidian", "label-no-publish-subscription": "คุณยังไม่ได้สมัครบริการ Obsidian Publish", "button-purchase": "สมัครบริการ", "label-manage-sites": "จัดการเว็บไซต์", "label-no-sites": "คุณยังไม่มีเว็บไซต์", "button-choose": "เลือก", "tooltip-edit-site-id": "แก้ไข site ID", "tooltip-delete-site": "ลบเว็บไซต์", "label-delete-site-confirmation": "คุณต้องการลบเว็บไซต์นี้หรือไม่?", "label-delete-site-details": "เว็บไซต์จะถูกลบอย่างถาวรโดยทันที", "label-confirm-delete-site": "กรุณายืนยันการลบเว็บไซต์ \"{{site}}\"", "option-site-id": "Site ID", "option-site-id-description": "เว็บไซต์ของคุณจะอยูที่ https://publish.obsidian.md/{site id} คุณสามารถเปลี่ยนแปลง site ID ได้ทุกเมื่อ โดยสามารถใช้ตัวพิมพ์เล็ก ตัวเลข และขีดกลางเท่านั้น", "option-site-id-placeholder": "ตั้งชื่อ site ID", "button-create": "สร้าง", "msg-invalid-site-id": "Site ID ต้องประกอบด้วยตัวพิมพ์เล็ก ตัวเลข และขีดกลางเท่านั้น", "msg-site-id-in-use": "Site ID ซ้ำ กรุณาตั้งชื่อใหม่", "msg-create-site-issue": "พบปัญหาในการสร้างเว็บไซต์", "label-site-options": "ตัวเลือกเว็บไซต์", "option-site-general": "General", "option-site-components": "ส่วนประกอบ", "option-site-appearance": "หน้าตา", "option-site-reading-experience": "ประสบการณ์การอ่าน", "option-site-misc": "เปิดหน้าต่างการตั้งค่าเว็บไซต์", "option-site-name": "ชื่อเว็บไซต์", "option-site-name-description": "ชื่อเว็บไซต์ถูกแสดงที่ด้านบนของเว็บไซต์ของคุณ", "option-site-name-placeholder": "ชื่อเว็บไซต์", "option-home-page-file": "ไฟล์หน้าแรกเว็บไซต์", "option-home-page-file-description": "หน้าแรกสุดของเว็บไซต์ที่ผู้เยี่ยมชมจะมองเห็นเป็นหน้าแรก", "option-home-page-file-placeholder": "เลือกไฟล์เพื่อเผยแพร่", "option-logo": "โลโก้", "option-logo-description": "เลือกรูปภาพเพื่อใช้เป็นโลโก้ของเว็บไซต์", "option-logo-placeholder": "รูปภาพใดๆ ที่ถูกแนบไว้ในห้องนิรภัยของคุณ...", "option-site-collaboration": "Site collaboration", "option-site-collaboration-desc": "Manage collaborators for this site.", "option-customize-navigation": "Customize navigation", "option-customize-navigation-desc": "Override the order of navigation items and hide pages or folders from showing.", "option-navigation-order": "Navigation item display order", "option-hide-items-in-navigation": "Hide pages or folders from navigation", "option-hide-items-in-navigation-desc": "Right click and select \"Hide\" to prevent specific pages from appearing in the site navigation. The pages will still be accessible via links or accessing the URL directly.", "option-show-hidden-items": "Show hidden", "button-customize-sidebar": "Manage", "label-navigation-modal-title": "Navigation", "label-navigation-modal-desc": "Drag and drop to customize the order in which navigation items appear on your Publish site.", "option-hide-in-navigation": "Hide in navigation", "button-manage-collaborators": "Manage", "option-theme": "ธีม", "option-theme-description": "เลือกชุดสีเริ่มต้นสำหรับเว็บไซต์ของคุณ", "option-theme-system": "Adapt to system", "option-show-theme-toggle": "Light/dark toggle", "option-show-theme-toggle-description": "Let the visitor toggle between light and dark theme on their own.", "option-show-navigation": "แสดงเมนูนำทาง", "option-show-navigation-description": "แสดงรายการหน้าเว็บทั้งหมดที่เผยเพร่ทางด้านซ้ายของเว็บไซต์", "option-show-search": "แสดงช่องค้นหา", "option-show-search-description": "แสดงช่องค้นหาเหนือเมนูนำทางเพื่อให้ผู้เยี่ยมชมสามารถค้นหาหน้าเว็บและหัวข้อต่างๆ ของเว็บไซต์ได้", "option-show-graph": "แสดงมุมมองกราฟ", "option-show-graph-description": "แสดงมุมมองกราฟสำหรับแต่ละหน้า", "option-show-outline": "แสดงสารบัญเนื้อหา", "option-show-outline-description": "แสดงสารบัญหัวข้อจากแต่ละหน้า", "option-show-backlinks": "แสดงแบ็คลิงค์", "option-show-backlinks-description": "แสดงแบ็คลิงค์ที่ส่วนล่างสุดของแต่ละหน้า", "option-sliding-window-mode": "ใช้การเลื่อนซ้ายขวา", "option-sliding-window-mode-description": "เปิดหน้าใหม่ในหน้าต่างทางขวา สามารถเลื่อนไปมาทางซ้ายขวาได้", "option-hover-preview-file": "แสดงพรีวิวเมื่อชี้ลิงค์", "option-hover-preview-file-description": "แสดงพรีวิวเนื้อหาเมื่อชี้ลิงค์", "option-hide-title": "Hide page title", "option-hide-title-description": "Hide the page title heading. Useful when you have your own headings at the beginning of each page.", "option-readable-line-length": "ความยาวบรรทัดที่เหมาะกับการอ่าน", "option-readable-line-length-description": "จำกัดความยาวบรรทัดให้เหมาะกับการอ่าน แต่ละบรรทัดจะสั้นลงและทำให้ย่อหน้ายาวๆ อ่านง่ายขึ้น", "option-site-password": "รหัสผ่าน", "option-site-password-description": "ล็อคเว็บไซต์ไม่ให้เข้าถึงด้วยรหัสผ่าน", "option-google-analytics": "Tracking code ของ Google Analytics", "option-google-analytics-description": "ตั้งค่า Google Analytics สำหรับเว็บไซต์ของคุณ รองรับการใช้งานกับ custom domain URL เท่านั้น อย่าลืมตรวจสอบข้อกำหนดและกฎหมายที่เกี่ยวข้องด้วย", "button-manage-passwords": "จัดการ", "button-save-site-settings": "เซฟการตั้งค่าเว็บไซต์", "msg-updated-options": "การตั้งค่าถูกอัพเดตแล้ว", "button-go-back": "กลับไป", "label-publishing-to": "เผยแพร่ไปยัง", "tooltip-switch-site": "สลับเว็บไซต์", "button-add-linked": "เพิ่มไฟล์ที่ถูกลิงค์", "tooltip-add-linked": "เพิ่มไฟล์ทั้งหมดที่ถูกลิงค์กับไฟล์ที่เลือก", "msg-added-linked-files": "เพิ่มไฟล์ที่ถูกลิงค์จำนวน {{count}} ไฟล์", "msg-added-linked-files_plural": "เพิ่มไฟล์ที่ถูกลิงค์จำนวน {{count}} ไฟล์", "tooltip-open-site-options": "เปลี่ยนการตั้งค่าเว็บไซต์", "label-no-changes-detected": "ไม่พบการเปลี่ยนแปลง", "label-changed-files-to-be-published": "มีการเปลี่ยนแปลง", "label-unchanged-files-already-published": "ไม่มีการเปลี่ยนแปลง (เลือกเพื่อลบ)", "label-file-selected": " ถูกเลือกอยู่", "button-select-all-files": "เลือกทั้งหมด", "label-custom-navigation-title": "Navigation items", "button-deselect-all-files": "ยกเลิกการเลือกทั้งหมด", "label-new-files-to-be-published": "ไฟล์ใหม่", "button-publish": "เผยแพร่", "msg-no-permission-to-publish-to-site": "สิทธิ์ในการเผยแพร่ขึ้นสู่เว็บไซต์ไม่เพียงพอ", "msg-select-at-least-one-file": "กรุณาเลือกอย่างน้อยหนึ่งไฟล์", "label-upload-changes": "อัพโหลดความเปลี่ยนแปลง", "button-done": "เสร็จสิ้น", "button-stop": "หยุด", "label-status-uploading": "กำลังอัพโหลด", "label-status-to-publish": "รอการเผยแพร่", "label-status-to-delete": "รอการลบ", "label-status-published": "เผยแพร่แล้ว", "label-status-deleted": "ลบแล้ว", "label-status-failed": "ไม่สำเร็จ", "label-status-cancelled": "ยกเลิกแล้ว", "button-change": "เปลี่ยนแปลง", "label-clear-cache": "กรุณารอสองถึงสามนาทีเพื่อให้ความเปลี่ยนแปลงบนเว็บไซต์มีผล หากไม่เห็นความเปลี่ยนแปลงให้ลองล้างแคชในเบราเซอร์ของคุณ", "label-visit-site": "เยี่ยมชมเว็บไซต์ที่นี่: ", "msg-something-went-wrong": "พบปัญหา กรุณาเปิด developer console เพื่อตรวจสอบรายละเอียด", "msg-network-error": "พบปัญหาการเชื่อมต่อ ", "label-manage-passwords": "จัดการรหัสผ่าน", "label-add-password": "เพิ่มรหัสผ่าน", "action-new-password": "ตั้งรหัสผ่านใหม่", "label-no-password": "ขณะนี้เว็บไซต์ของคุณไม่ถูกล็อกรหัสผ่าน ผู้เยี่ยมชมสามารถเข้าถึงเว็บไซต์ได้โดยอิสระ", "label-have-password": "เว็บไซต์ของคุณถูกล็อกรหัสผ่าน หากคุณสร้างรหัสผ่านไว้หลายอัน ผู้เยี่ยมชมสามารถใช้รหัสผ่านใดก็ได้ในการเข้าเว็บไซต์", "option-password-name": "รหัสผ่าน", "option-password-desc": "Hash ของรหัสผ่านจะถูกเก็บไว้อย่างมิดชิดปลอดภัย เมื่อตั้งรหัสผ่านแล้วจะไม่สามารถเรียกดูรหัสผ่านนั้นได้อีก", "option-password-placeholder": "รหัสผ่านของคุณ", "option-nickname-name": "ชื่อเล่น (ไม่จำเป็น)", "option-nickname-desc": "ตั้งชื่อเล่นเพื่อช่วยเตือนความจำว่ารหัสผ่านไหนเป็นของใคร", "action-add-password": "เพิ่มรหัสผ่านนี้", "label-untitled-password": "รหัสผ่านยังไม่ถูกตั้งชื่อ", "label-password-created-time": "ตั้งเมื่อ {{time}}", "msg-added-new-password": "เพิ่มรหัสผ่านแล้ว", "option-custom-domain": "Custom domain", "option-custom-domain-desc": "ใช้ custom domain ของคุณเองแทนที่จะใช้ URL https://publish.obsidian.md/{site id} ของ Obsidian", "option-noindex": "ไม่อนุญาตให้ search engine ทำการ index", "option-noindex-desc": "ปิดกั้นไม่ให้ search engine ทำการ index เว็บไซต์ของคุณ", "button-configure": "ตั้งค่า", "label-configure-custom-domain": "การตั้งค่า custom domain", "option-custom-url-name": "Custom URL", "option-custom-url-desc": "URL ของเว็บไซต์ที่ต้องการใช้", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "ชี้ทางไปยัง custom domain ของคุณ", "option-custom-url-redirect-desc": "ชี้ทางผู้เยี่ยมชมจาก publish.obsidian.md/id ไปยัง custom domain ของคุณ", "button-update-custom-domain": "อัพเดตการตั้งค่า domain", "label-custom-domain-instructions": "ดูข้อมูลเพิ่มเติมในเว็บไซต์ความช่วยเหลือของเราได้ที่ {{link}}", "label-custom-domain-link-name": "คู่มือการตั้งค่า custom domain", "label-site-usage": "คุณกำลังใช้งาน {{site}} จากทั้งหมด {{limit}}.", "button-add-more-sites": "ซื้อเว็บไซต์เพิ่มเติม", "label-no-sites-bought": "You haven't bought any sites.", "button-get-site": "Get a site", "label-manage-sharing": "Manage sharing for \"{{name}}\"", "label-sharing-with-users": "This site is currently shared with the following people.", "label-not-sharing": "This site is not currently shared with anyone.", "label-invite-pending": "Pending", "tooltip-remove-user": "Remove user", "option-invite-user": "Invite user", "placeholder-invite-user": "Enter their email...", "error-email-must-be-valid": "Please enter a valid email to invite someone.", "msg-enable-publish-plugin": "Please enable the Publish core plugin in Settings -> Core plugins to view sites.", "label-your-sites": "Your sites", "label-sites-shared-with-you": "Sites shared with you", "tooltip-leave-site-sharing": "Stop collaborating on this site", "label-leave-site-confirmation": "Confirm stop site collaboration", "label-leave-site-confirmation-details": "This will remove this site from the list of sites shared with you. This action cannot be reverted.", "label-leave-site-confirmation-details-2": "Please contact the owner of the site if you wish to collaborate on this site again.", "button-leave": "Leave", "label-compare-with-live": "Compare with live version", "button-use-live-version": "Use live version", "label-confirm-override": "Confirm overriding local version", "label-confirm-override-1": "Are you sure you want to override the local version?", "label-confirm-override-2": "The live version will be used and your local version will be discarded. Please make backups if necessary.", "button-proceed": "Proceed", "message-successfully-used-live-version": "Successfully used live version to override your local version.", "label-open-in-live-site": "Open in live site", "label-open-file": "Open file", "tooltip-manage-publish-filters": "Manage publish filters", "option-included-folders": "Included folders", "option-included-folders-desc": "Files under these folders will automatically be selected when you review changes to publish.", "option-currently-included-folders": " These folders are currently included:", "option-excluded-folders": "Excluded folders", "option-excluded-folders-desc": "Files under these folders won't show up when you review changes to publish. This setting takes priority over included folders above.", "label-number-of-folders-included": "Obsidian Publish is currently including {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish is currently excluding {{folders}}.", "label-manage-included-folders": "Manage included folders", "label-manage-excluded-folders": "Manage excluded folders", "label-add-included-folder": "Include a folder", "label-add-included-folder-desc": "You can include both existing folders and folders that have not been created yet.", "tooltip-contact-support": "Contact support", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "พื้นที่ทำงาน", "desc": "เซฟ/โหลดพื้นที่ทำงาน", "action-load-layout": "Load workspace layout", "action-manage-layouts": "Manage workspace layouts", "action-save": "Save layout", "action-save-and-load-layout": "Save and load another layout", "placeholder-save-current-layout-as": "Save current workspace layout as...", "button-save": "เซฟ", "button-load": "โหลด", "tooltip-delete-layout": "Delete layout", "msg-enter-name": "Please enter a name for the new layout.", "msg-save-layout-success": "Successfully saved layout.", "label-no-layout-found": "No saved layout found.", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "Type layout name..." }, "sync": { "name": "ซิงค์", "desc": "ซิงค์ไฟล์ผ่าน Obsidian Sync.", "action-view-version-history": "ดูรุ่นก่อนหน้า", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "โหลดเพิ่มเติม", "label-show-diff": "Show diff", "label-copy-to-clipboard": "คัดลอกลงคลิปบอร์ด", "label-restore-this-version": "เรียกคื่นรุ่นนี้", "msg-already-latest-version": "รุ่นนี้เป็นรุ่นล่าสุดแล้ว", "msg-restored-version": "เรียกคืนรุ่น {{time}} สำเร็จ", "label-file-deleted": "ไฟล์นี้ถูกลบแล้ว", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "This file was renamed from \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revision", "label-revision_plural": "{{revisions}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "ไม่มีข้อมูล", "label-unable-to-retrieve": "Unable to retrieve version history", "label-setting-files": "ไฟล์การตั้งค่า", "label-deleted-files": "ไฟล์ที่ถูกลบ", "label-version-history": "Version history", "label-click-to-see-history": "คลิกที่ไฟล์ที่ถูกลบเพื่อดูประวัติ", "label-create-remote-vault": "สร้างห้องนิรภัยบนคลาวด์", "msg-please-enter-password": "กรุณาใส่รหัสผ่าน", "msg-vault-name-cannot-be-empty": "กรุณาตรวจสอบชื่อห้องนิรภัย", "msg-successfully-created-vault": "สร้างห้องนิรภัยบนคลาวด์ \"{{name}}\" สำเร็จ", "label-remote-vault-explanation": "ห้องนิรภัยบนคลาวด์จะซิงค์ข้อมูลระหว่างอุปกรณ์ได้อย่างปลอดภัย", "option-vault-name": "ชื่อห้องนิรภัย", "option-vault-name-desc": "ช่วยเตือนความจำว่าเป็นห้องนิรภัยอะไร", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Select the server region closest to you to store the remote vault. This cannot be changed in the future.", "option-vault-name-placeholder": "ห้องนิรภัยสุดต๊าซของฉัน", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "รหัสผ่านการเข้ารหัส", "option-encryption-password-desc": "รหัสผ่านนี้ไม่สามารถเปลี่ยนแปลงได้ในอนาคต", "option-encryption-password-desc-warning": "หากคุณลืมรหัสผ่านนี้ คุณจะไม่สามารถใช้งานข้อมูลใดๆ บนคลาวด์ได้อีกตลอดกาล", "option-encryption-password-desc-2": "ข้อมูลในคอมพิวเตอร์ของคุณจะไม่ได้รับผลกระทบใดๆ", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "รหัสผ่านของคุณ", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "ปลดล็อคห้องนิรภัย", "label-remote-vaults": "ห้องนิรภัยบนคลาวด์ของคุณ", "label-vault-created-time": "สร้างเมื่อ {{time}}", "tooltip-delete-remote-vault": "ลบ", "tooltip-rename-remote-vault": "Rename", "label-rename-remote-vault": "Rename remote vault \"{{name}}\"", "label-rename-remote-vault-desc": "Enter a new name for this remote vault.", "tooltip-manage-sharing": "Manage sharing", "label-confirm-delete-remote-vault": "การยืนยันการลบห้องนิรภัย", "label-confirm-delete-remote-vault-question": "คุณต้องการลบห้องนิรภัยบนคลาวด์นี้หรือไม่?", "label-confirm-delete-remote-vault-result": "ข้อมูลทั้งหมดบนเซิร์ฟเวอร์ของเราซึ่งรวมถึงไฟล์รุ่นก่อนหน้าทั้งหมดจะถูกลบ ข้อมูลในคอมพิวเตอร์ของคุณจะไม่ได้รับผลกระทบใดๆ", "label-confirm-delete-remote-vault-warning": "การลบเป็นการลบแบบถาวรและไม่สามารถย้อนกลับได้", "msg-remote-vault-deleted": "{{name}} ถูกลบแล้ว", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "เชื่อมต่อ", "button-disconnect-from-remote-vault": "หยุดการเชื่อมต่อ", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "ไม่มีห้องนิรภัยบนคลาวด์", "label-no-subscription": "You don't have an active Obsidian Sync subscription.", "label-please-visit": "Please visit", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "สร้างห้องนิรภัยบนคลาวด์ใหม่", "label-sync-log": "ซิงค์บันทึกการทำงานของโปรแกรม", "option-event-type-all": "All", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Merge conflicts", "button-copy-sync-log": "คัดลอกบันทึกการทำงานของโปรแกรม", "msg-successfully-copied-sync-log": "คัดลอกบันทึกการทำงานของโปรแกรมสำเร็จ", "button-retry": "ลองอีกครั้ง", "button-purchase-subscription": "สมัครบริการ", "label-third-party-sync-warning": "Conflicting file sync service detected", "label-third-party-sync-warning-desc": "Warning: Your vault seems to be using {{service}} as a third party sync service. If you use Obsidian Sync with this vault, you may run into conflicts, file corruption, or data loss.", "label-icloud-drive-warning": "If you are using iCloud Drive, your Documents and Desktop folders might be synced by iCloud. This could cause conflicts with Obsidian Sync.", "option-remote-vault": "Remote vault", "button-choose-remote-vault": "เลือก", "button-manage-remote-vault": "Manage", "option-remote-vault-desc-connected": "Currently connected to the \"{{name}}\" remote vault.", "option-remote-vault-desc-not-connected": "Currently not connected to any remote vault.", "option-sync-status": "สถานะการซิงค์", "option-sync-status-desc-paused": "Obsidian Sync หยุดการทำงาน", "option-sync-status-desc-running": "Obsidian Sync กำลังทำงาน", "option-device-name": "ชื่ออุปกรณ์", "option-device-name-desc": "ชื่ออุปกรณ์จะแสดงอยู่ในบันทึกการทำงานของโปรแกรม ปล่อยว่างไว้เพื่อใข้ชื่อมาตรฐาน", "button-resume": "ประมวลผลต่อ", "button-pause": "หยุดชั่วคราว", "option-view-deleted-files": "ไฟล์ที่ถูกลบ", "option-view-deleted-files-desc": "ดูหรือกู้คืนไฟล์ที่ถูกลบไปแล้ว", "option-sync-log": "ดูกิจกรรมการซิงค์", "option-sync-log-desc": "ดูกิจกรรมการซิงค์ล่าสุดเพื่อประโยชน์ในการดีบั๊ก", "button-view": "มุมมอง", "button-bulk-restore": "กู้คืนทีละหลายไฟล์", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "กำลังกู้คืน...", "msg-restoring-complete": "`การกู้คืนเสร็จสิ้น: สำเร็จ {{succeeded}} ไฟล์ ไม่สำเร็จ {{failed}} ไฟล์`", "option-vault-size": "Vault size", "option-vault-size-desc": "You are using {{size}} out of {{limit}}", "option-vault-size-unknown": "Unable to retrieve your vault size.", "option-vault-size-loading": "Retrieving your vault size...", "option-over-size": "ห้องนิรภัยใหญ่เกินพื้นที่ที่กำหนด", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "ดูไฟล์ที่ใหญ่ที่สุด", "msg-largest-files-desc": "ไฟล์เหล่านี้คือไฟล์บนคลาวด์ที่ใช้พื้นที่มากที่สุด หลังจากลบไฟล์แนบแล้วให้ใช้ปุ่ม purge เพื่อคืนพื้นที่ให้กับห้องนิรภัย", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "Purge", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "ลบไฟล์แนบจากห้องนิรภัยบนคลาวด์อย่างถาวรเพื่อประหยัดการใช้พื้นที่", "msg-purge-complete": "การ Purge เสร็จสิ้น", "option-prevent-sleep": "Prevent device sleep", "option-prevent-sleep-desc": "Prevents the device from going to sleep when there are still files to be synced.", "option-selective-sync": "เลือกซิงค์บางไฟล์", "option-excluded-folders": "โฟลเดอร์ที่ไม่ต้องการ", "option-excluded-folder-desc": "ตั้งค่าโฟลเดอร์ที่ไม่ต้องการซิงค์", "option-currently-excluded-folders": " โฟลเดอร์เหล่นี้จะไม่ถูกซิงค์:", "button-manage-excluded-folders": "จัดการ", "option-sync-image": "ซิงค์รูปภาพ", "option-sync-image-desc": "ซิงค์ไฟล์รูปภาพที่มีนามสกุลดังนี้: {{extensions}}", "option-sync-audio": "ซิงค์ไฟล์เสียง", "option-sync-audio-desc": "ซิงค์ไฟล์เสียงที่มีนามสกุลดังนี้: {{extensions}}", "option-sync-video": "ซิงค์วิดีโอ", "option-sync-video-desc": "ซิงค์ไฟล์วิดีโอที่มีนามสกุลดังนี้: {{extensions}}", "option-sync-pdf": "ซิงค์ PDF", "option-sync-pdf-desc": "ซิงค์ไฟล์ PDF", "option-sync-unsupported": "ซิงค์ไฟล์ทั้งหมด", "option-sync-unsupported-desc": "ซิงค์ไฟล์ชนิดอื่นทั้งหมดแม้ Obsidian จะไม่รองรับ", "option-vault-config-sync": "ซิงค์การตั้งค่าห้องนิรภัย", "option-view-config-files": "การตั้งค่ารุ่นก่อนหน้า", "option-view-config-files-desc": "ดูและกู้คืนไฟล์การตั้งค่ารุ่นเก่า", "option-sync-app": "การตั้งค่าหลัก", "option-sync-app-desc": "เปิดใช้งานตัวเลือกเพื่อซิงค์การตั้งค่าเอดิเตอร์ ไฟล์ ลิงค์ และฮ็อตคีย์ทั้งหมด", "option-sync-appearance": "การตั้งค่าหน้าตาโปรแกรม", "option-sync-appearance-desc": "เปิดใช้งานตัวเลือกเพื่อซิงค์การตั้งค่าหน้าตาโปรแกรมเช่น โหมดสี ธีม และ snippet ที่เปิดใช้งาน", "option-sync-appearance-data": "ธีมและ snippet", "option-sync-appearance-data-desc": "เปิดใช้งานตัวเลือกเพื่อซิงค์ธีมและ snippet ที่ดาวน์โหลดไว้ทั้งหมด โดยจะถูกใช้งานก็ต่อเมื่อเปิดใช้ตัวเลือกในหัวข้อก่อนหน้า", "option-sync-hotkey": "ฮ็อตคีย์", "option-sync-hotkey-desc": "ซิงค์ฮ็อตคีย์ที่ตั้งเอง", "option-sync-core-plugin": "รายการปลั๊กอินหลักที่เปิดใช้งาน", "option-sync-core-plugin-desc": "ซืงค์รายการปลั๊กอินหลักที่เปิดใช้งาน", "option-sync-core-plugin-data": "การตั้งค่าปลั๊กอินหลัก", "option-sync-core-plugin-data-desc": "ซิงค์การตั้งค่าของปลั๊กอินหลัก", "option-sync-community-plugin": "รายการปลั๊กอินโดยชุมชนที่เปิดใช้งาน", "option-sync-community-plugin-desc": "ซิงค์รายการปลั๊กอินโดยชุมชนที่เปิดใช้งาน", "option-sync-community-plugin-data": "ปลั๊กอินโดยชุมชนที่ถูกติดตั้งไว้", "option-sync-community-plugin-data-desc": "ซิงค์ปลั๊กอินโดยชุมชนที่ถูกติดตั้งไว้ (ไฟล์ .js .css และ manifest.json) รวมถึงการตั้งค่าต่างๆ", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync เป็นบริการเสริมจาก Obsidian ที่ให้บริการซิงค์ไฟล์แบบเข้ารหัส end-to-end และเก็บประวัติของไฟล์", "label-account-required": "เพื่อเริ่มการซิงค์ กรุณาล็อกอินหรือสร้างบัญชีผู้ใช้ใหม่กับ Obsidian", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "สมัครใช้งาน", "button-log-in": "ล็อกอิน", "label-manage-excluded-folders": "จัดการโฟลเดอร์ที่ไม่ต้องการซิงค์", "label-number-of-folders-excluded": "มี {{folders}} โฟลเดอร์ที่จะไม่ถูกซิงค์", "label-add-excluded-folder": "Exclude a folder", "label-add-excluded-folder-desc": "You can exclude both existing folders and folders that have not been created yet.", "tooltip-remove-excluded-folder": "Remove from excluded list", "label-setup-connection": "ตั้งค่าการเชื่อมต่อ", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "เชื่อมต่อกับ \"{{name}}\" แล้ว", "button-start-syncing": "เริ่มการซิงค์", "label-confirm-merge-vault": "ยืนยันการรวมห้องนิรภัย", "msg-vault-has-notes": "ห้องนิรภัยในคอมพิวเตอร์ของคุณมีไฟล์อยู่แล้ว", "msg-vault-merge-warning": "If you connect to the remote vault \"{{name}}\", notes in your local vault will be merged with notes from your remote vault. In case of conflicts, the most recent version of the note will be preserved.", "tooltip-update-setting-on-all-devices": "Please update this option and restart app on all the devices where you want it to take effect.", "label-sharing-with-users": "This remote vault is currently shared with the following people.", "label-not-sharing": "This remote vault is not currently shared with anyone.", "label-vaults-shared-with-you": "Vaults shared with you", "tooltip-leave-vault-sharing": "Stop collaborating on this vault", "label-leave-vault-confirmation": "Confirm stop vault collaboration", "label-leave-vault-confirmation-details": "This will remove this vault from the list of vaults shared with you. This action cannot be reverted.", "label-leave-vault-confirmation-details-2": "Please contact the owner of the vault if you wish to collaborate on this vault again.", "button-leave": "Leave", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "You need an Obsidian Sync subscription to connect to this vault.", "option-contact-support": "Contact support", "option-contact-support-desc": "If you run into any issues with Obsidian Sync, please contact us so we can help you out! You can reach us at support@obsidian.md.", "button-copy-debug": "Copy debug info", "button-email-support": "Email support", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Sync lets you create up to 5 remote vaults. In order to create a new remote vault, please remove an existing one.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "การกู้คืนข้อมูล", "desc": "ให้คุณกู้คืนชุดข้อมูลที่เสียหายจากเเหตุการณ์ไม่คาดคิด กู้คืนได้เฉพาะไฟล์ Markdown เท่านั้น", "action-open": "เปิดดูชุดข้อมูลที่สำรองไว้", "option-interval": "รอบการสำรองข้อมูล", "option-interval-description": "ระยะเวลาขั้นต่ำของรอบการสำรองข้อมูล หน่วยนาที", "option-keep": "ระยะเวลาเก็บชุดข้อมูล", "option-keep-description": "ระยะเวลาในการเก็บชุดข้อมูลที่สำรองไว้ หน่วยวัน", "option-open-history": "ชุดข้อมูล", "option-open-history-description": "ดูและกู้คืนชุดข้อมูลที่สำรองไว้", "button-view-history": "View", "option-clear": "ล้างประวัติ", "option-clear-description": "ลบชุดข้อมูลทิ้งทั้งหมด", "button-clear-history": "ล้าง", "label-clear-warning": "คุณต้องการลบชุดข้อมูลทั้งหมดหรือไม่? โปรดรับทราบว่าชุดข้อมูลเท่านั้นที่จะถูกลบ ไฟล์อื่นทั้งหมดในห้องนิรภัยของคุณจะไม่ได้รับผลกระทบ", "msg-clear-complete": "ชุดข้อมูลถูกลบแล้ว", "label-no-history-found": "ไม่มีชุดข้อมูล", "placeholder-choose-file": "เลือกไฟล์...", "label-select-file": "กรุณาเลือกไฟล์ทางด้านซ้ายเพื่อดูชุดข้อมูล" }, "note-composer": { "name": "Note composer", "desc": "รวม แยก และปรับปรุงโครงสร้างโน้ต", "option-confirm-file-merge": "ยืนยันการรวมไฟล์", "option-confirm-file-merge-description": "แจ้งเตือนก่อนการรวมไฟล์", "option-split-replacement-text": "ข้อความที่ถูกแยก", "option-split-replacement-text-description": "สิ่งที่จะเกิดขึ้นแทนที่ข้อความที่ถูกแยกออกไป", "option-choice-split-replacement-text-link": "สร้างลิงค์ไปยังไฟล์ใหม่", "option-choice-split-replacement-text-embed": "ฝังไว้ในไฟล์ใหม่", "option-choice-split-replacement-text-none": "ไม่แสดงอะไร", "option-template-file": "ตำแหน่งไฟล์เทมเพลต", "option-template-file-description": "ไฟล์เทมเพลตที่จะใช้เมื่อรวมหรือแยกไฟล์ สามารถใช้ตัวแปรเหล่านี้ได้: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, เช่น {{date:YYYY-MM-DD}}", "command-merge-file": "รวมไฟล์ปัจจุบันกับไฟล์อื่น...", "action-merge-file": "รวมไฟล์ทั้งไฟล์กับ...", "label-no-files": "ไม่พบไฟล์", "instruction-navigate": "เพื่อเลื่อน", "instruction-merge": "เพื่อรวม", "instruction-create-new": "เพื่อสร้างไฟล์ใหม่", "instruction-merge-at-top": "เพื่อรวมทีด้านบนสุด", "instruction-dismiss": "เพื่อยกเลิก", "prompt-select-file-to-merge": "เลือกไฟล์ที่จะรวมเข้าไป...", "label-merge-file": "รวมไฟล์", "label-confirm-file-merge": "คุณต้องการรวมไฟล์ \"{{file}}\" เข้ากับไฟล์ \"{{destination}}\" หรือไม่? ไฟล์\"{{file}}\" จะถูกลบทิ้ง", "button-merge": "รวมไฟล์", "command-split-file": "แยกข้อความที่เลือก...", "command-extract-heading": "แยกหัวข้อนี้...", "instruction-append": "เพื่อแทรกด้านล่างสุด", "instruction-prepend": "เพื่อแทรกด้านบนสุด", "msg-fail-to-fetch-template": "ไม่สามารถเรียกใช้เทมเพลต \"{{template}}\" ได้ ไม่พบเทมเพลต", "msg-fail-to-find-heading": "ไม่พบหัวข้อ" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Canvas", "desc": "Arrange and connect notes on an infinite canvas.", "action-add-note": "Add note from vault", "action-add-media": "Add media from vault", "action-add-card": "Add card", "action-add-website": "Add web page", "action-create-group": "Create group", "action-create-with-size": "Create a card with specific size", "action-convert-to-file": "Convert to file...", "action-drag-to-add-note": "Drag to add note from vault", "action-drag-to-add-media": "Drag to add media from vault", "action-drag-to-add-card": "Drag to add card", "action-edit-label": "Edit label", "action-remove-label": "Remove label", "action-search-file": "Search for file", "action-set-color": "Set color", "action-align": "Align", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-align-top": "Align top", "action-align-middle": "Align middle", "action-align-bottom": "Align bottom", "action-distribute-horizontal-spacing": "Distribute horizontal spacing", "action-distribute-vertical-spacing": "Distribute vertical spacing", "action-justify-horizontally": "Justify horizontally", "action-justify-vertically": "Justify vertically", "action-arrange-horizontally": "Arrange in a row", "action-arrange-vertically": "Arrange in a column", "action-arrange-grid": "Arrange in a grid", "action-export-png": "Export as image", "action-jump-to-group": "Jump to group", "action-set-background": "Set background", "action-edit-background": "Edit background", "action-replace-background": "Replace background", "action-remove-background": "Remove background", "label-no-images": "No images found.", "label-no-media": "No media found.", "label-export-png-desc": "Export \"{{title}}\" with a PNG file with the settings below.", "label-export-png-dimensions": "Estimated image dimensions: {{dimensions}}", "label-distribute": "Distribute", "label-justify": "Justify", "label-arrange": "Arrange", "label-always": "Always", "label-hover": "On hover", "label-never": "Never", "label-no-section-found": "No section found", "option-wheel-behavior": "Default mouse wheel behavior", "option-mod-drag-behavior": "Default {{key}} behavior", "option-show-menu": "Show menu", "option-new-canvas-location": "Default location for new canvas files", "option-new-canvas-location-description": "Where newly created canvas files are placed.", "option-new-canvas-folder-path": "Folder to create new canvas files in", "option-new-canvas-folder-path-description": "Newly created canvas files will appear under this folder.", "option-node-label": "Display card label", "option-snap-to-grid": "Snap to grid", "option-snap-to-grid-desc": "Snap cards to the background grid when moving and resizing.", "option-snap-to-objects": "Snap to objects", "option-snap-to-objects-desc": "Snap cards to nearby objects when moving and resizing.", "option-zoom-breakpoint": "Zoom threshold for hiding card content", "option-zoom-breakpoint-desc": "Lower values will increase performance but hide card content sooner when zooming out.", "option-export-png-show-logo": "Show logo", "option-export-png-show-logo-desc": "This will add an Obsidian logo to the bottom left.", "option-export-png-privacy-mode": "Privacy mode", "option-export-png-privacy-mode-desc": "This will obscure any text on your canvas.", "option-export-png-zoom": "Zoom", "option-export-png-zoom-desc": "A higher zoom will generate a higher resolution image.", "option-export-png-frame": "Viewport", "option-export-png-frame-desc": "Choose to render the entire canvas or just the current visible viewport.", "option-export-png-frame-full": "Full canvas", "option-export-png-frame-viewport": "Viewport only", "option-background-cover": "Cover", "option-background-ratio": "Keep aspect ratio", "option-background-repeat": "Repeat", "action-new-canvas": "New canvas", "action-remove": "Remove", "action-narrow-heading": "Narrow to heading...", "action-narrow-block": "Narrow to block...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Swap file...", "action-change-url": "Change URL...", "action-zoom-to-fit": "Zoom to fit", "action-zoom-to-selection": "Zoom to selection", "action-reload-page": "Reload page", "action-follow-connection": "Follow connection", "command-create-new-canvas": "Create new canvas", "command-convert-to-file": "Convert to file...", "instruction-narrow-heading": "to embed heading", "instruction-narrow-block": "to embed block", "instruction-jump-to-group": "to navigate to group", "prompt-to-narrow": "Type name of heading", "label-enter-url": "Enter URL", "label-empty-embed": "\"{{linktext}}\" could not be found.", "prompt-add-text": "Add text...", "prompt-start-search": "Type to search...", "label-canvas-help": "Canvas help", "label-canvas-settings": "Canvas settings", "label-no-narrow": "Show entire file", "label-show-default-view": "Show default view", "label-readonly": "Read-only", "label-disable-readonly": "Disable read-only", "label-pan": "Pan", "label-pan-horizontal": "Pan horizontally", "label-zoom": "Zoom", "label-select-all": "Select all", "label-add-remove-selection": "Add to / remove from selection", "label-clone-card": "Clone card", "label-constrain-movement-axis": "Constrain card movement to axis", "label-disable-drag-snapping": "Disable snapping while dragging", "label-remove-card": "Remove card", "label-drag-from-below": "Drag from below or double click", "label-longpress": "Touch and hold to add / move / select", "label-drag-pan": "Drag to pan", "label-pinch-zoom": "Pinch to zoom", "label-space-drag-pan": "Space + Drag to pan", "label-scroll-to-zoom": "Scroll to zoom", "label-untitled-group": "Untitled group", "label-line-direction": "Line direction", "label-nondirectional": "Nondirectional", "label-unidirectional": "Unidirectional", "label-bidirectional": "Bidirectional", "label-image": "Image", "label-style": "Style", "msg-no-groups-found": "No groups found", "msg-export-failed-empty-canvas": "Cannot export an empty canvas", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Highlight all", "action-match-diacritics": "Match diacritics", "action-whole-words": "Whole words", "action-show-thumbnails": "Thumbnails", "action-show-outline": "Table of contents", "action-reveal-in-outline": "Reveal page in table of contents", "action-toggle-sidebar": "Toggle sidebar", "action-previous-page": "Previous page", "action-next-page": "Next page", "action-fit-width": "Fit width", "action-fit-height": "Fit height", "action-save-p-d-f-location": "Save current position in document", "action-copy-annotation": "Copy annotation", "action-copy-quote": "Copy as quote", "action-copy-selection-link": "Copy link to selection", "action-copy-annot-link": "Copy link to annotation", "action-copy-section-link": "Copy link to section", "action-copy-section-link-title": "Copy link to “{{title}}”", "action-copy-page-link": "Copy link to page {{page}}", "msg-max-search-results": "{{current}} of over {{limit}} matches", "msg-search-count": "{{current}} of {{total}} match", "msg-search-count_plural": "{{current}} of {{total}} matches", "msg-password-protected": "This PDF is password protected", "msg-invalid-password": "Invalid password", "msg-enter-password": "Enter the password below", "label-of-pages": "of {{count}}", "label-page-of-pages": "({{current}} of {{count}})", "label-spread-single": "Single page", "label-spread-odd": "Two page (odd)", "label-spread-even": "Two page (even)", "tooltip-sidebar-options": "Sidebar options", "tooltip-display-options": "Display options", "label-adapt-to-theme": "Adapt to theme", "label-page": "page {{page}}", "page_landmark": "Page {{page}}", "thumb_page_title": "Page {{page}}", "thumb_page_canvas": "Page {{page}}", "text_annotation_type": "[{{type}} Annotation]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "List", "option-unknown": "Unknown", "option-text": "Text", "option-aliases": "Aliases", "option-tags": "Tags", "option-folder": "Folder", "option-file": "File", "option-date": "Date", "option-datetime": "Date & time", "option-number": "Number", "option-checkbox": "Checkbox" }, "value-suggestion": { "key-link-note": "Type [[", "instruction-link-note": "to link note", "instruction-dismiss": "to dismiss" }, "option-property-type": "Property type", "msg-empty-property-name": "Property name cannot be empty.", "msg-duplicate-property-name": "Property already exists", "msg-invalid-tag": "Invalid tag name", "msg-invalid-number": "Invalid number", "msg-invalid-properties": "Failed to read properties.", "label-no-value": "No value", "label-heading": "Properties", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Syntax error. Your frontmatter is invalid.", "label-add-property-button": "Add property", "label-type-mismatch-warning": "Type mismatch, expected {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Column", "label-row": "Row", "action-row-after": "Add row after", "action-column-after": "Add column after", "action-row-before": "Add row before", "action-row-up": "Move row up", "action-row-down": "Move row down", "action-column-before": "Add column before", "action-column-left": "Move column left", "action-column-right": "Move column right", "action-duplicate-row": "Duplicate row", "action-duplicate-column": "Duplicate column", "action-delete-row": "Delete row", "action-delete-column": "Delete column", "action-align-left": "Align left", "action-align-center": "Align center", "action-align-right": "Align right", "action-delete-selection": "Delete cells", "action-clear-selection": "Clear cells", "action-sort-a-z": "Sort by column (A to Z)", "action-sort-z-a": "Sort by column (Z to A)", "label-command": "Table: {{command}}" }, "callout": { "option-type": "Callout type", "type": { "info": "Info", "important": "Important", "tip": "Tip", "success": "Success", "question": "Question", "warning": "Warning", "quote": "Quote", "example": "Example", "none": "None" }, "option-other": "Other...", "option-other-placeholder": "Callout type..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} คำ", "word-with-count_plural": "{{count}} คำ", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} ตัวอักษร", "character-with-count_plural": "{{count}} ตัวอักษร", "link-with-count": "{{count}} ลิงค์", "link-with-count_plural": "{{count}} ลิงค์", "file-with-count": "{{count}} ไฟล์", "file-with-count_plural": "{{count}} ไฟล์", "folder-with-count": "{{count}} โฟลเดอร์", "folder-with-count_plural": "{{count}} โฟลเดอร์", "backlink-with-count": "{{count}} แบ็คลิงค์", "backlink-with-count_plural": "{{count}} แบ็คลิงค์", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} property", "properties-with-count_plural": "{{count}} properties", "site-with-count": "{{count}} เว็บไซต์", "site-with-count_plural": "{{count}} เว็บไซต์", "plugin-with-count": "{{count}} ปลั๊กอิน", "plugin-with-count_plural": "{{count}} ปลั๊กอิน", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} ธีม", "theme-with-count_plural": "{{count}} ธีม" } }{ "setting": { "options": "Seçenekler", "plugin": "Eklenti", "builtin-plugins": "Yerleşik Eklentiler", "plugin-options": "Eklenti seçenekleri", "folder-path-example-placeholder": "Örnek: klasör 1/klasör 2", "file-path-example-placeholder": "Örnek: klasör/not", "msg-restart-required": "Bu seçeneği değiştirdiğinizde etkisini görmek için yeniden başlatmanız gerekir.", "editor": { "name": "Editör", "section-behavior": "Davranış", "section-display": "Görünüm", "option-spellcheck": "İmla denetimi", "option-spellcheck-description": "İmla denetimini açar. Şimdilik yalnızca İngilizce (ABD) için çalışıyor.", "spellcheck-languages": "İmla denetimi yapılan diller", "spellcheck-languages-description": "İmla denetimi için kullanılmasını istediğiniz dilleri seçin.", "spellcheck-languages-mac-description": "Yerleşik imla denetimi otomatik olarak macOS'ta kullandığınız dili tespit edecek.", "spellcheck-dict": "İmla denetimi sözlüğü", "spellcheck-dict-empty": "İmla denetimi sözlüğü boş.", "option-show-inline-title": "Satır içi başlığı göster", "option-show-inline-title-description": "Dosya adını, dosya içeriğiyle satır içi düzenlenebilir bir başlık olarak görüntüler.", "option-readable-line-length": "Okunabilir satır uzunluğu", "option-readable-line-description": "Satır uzunluğunu kısıtla. Ekrana daha az yazı sığar ama uzun paragraflar daha okunabilir olur.", "option-strict-line-break": "Katı kurallı yeni satırlar", "option-strict-line-break-description": "Önizleme modunda tekil yeni satırları Markdown tanımlarına göre gözardı et. Önizlemede tekil yeni satırları görmek istiyorsanız bunu kapatın.", "option-properties-in-document": "Dosyadaki özellikler", "option-properties-in-document-description": "Özelliklerin editörde nasıl görüntüleneceğini seçin. Özelliklerin YAML olarak görüntülenmesi için \"source\" seçeneğini belirleyin.", "option-properties-hidden": "Gizli", "option-properties-visible": "Görünür", "option-properties-source": "Kaynak", "option-auto-pair-brackets": "Parantezleri otomatik eşle", "option-auto-pair-brackets-description": "Parantez ve tırnak işaretlerini otomatik eşle.", "option-auto-pair-markdown": "Markdown işaretlerini otomatik eşle.", "option-auto-pair-markdown-description": "Kalın ve italik sembollerini otomatik eşle.", "option-smart-indent-lists": "Listeleri akıllıca içerle", "option-smart-indent-lists-description": "İçerleme ve liste işaretçilerini senin için halleder.", "option-fold-heading": "Başlıkları katla", "option-fold-heading-description": "Başlıklar altındaki herşeyi katlayabilmeni sağlar.", "option-fold-indent": "İçerlemeleri katla", "option-fold-indent-description": "Liste vb. çoklu içerliklerin yalnızca bir kısmını katlayabilmeni sağlar.", "option-default-new-tab-view": "Yeni sekmeler için varsayılan görünüm", "option-default-new-tab-view-description": "Yeni bir Markdown sekmesinin açıldığı varsayılan görünüm.", "option-default-new-tab-view-editing": "Düzenleme görünümü", "option-default-new-tab-view-reading": "Okuma görünümü", "option-open-tab-in-foreground": "Her zaman yeni sekmelere odaklanın", "option-open-tab-in-foreground-description": "Yeni bir sekmede bir bağlantı açtığınızda, hemen ona geçin.", "option-default-editing-mode": "Varsayılan düzenleme modu", "option-default-editing-mode-description": "Yeni pencerenin varsayılan olarak başlayacağı düzenleme modu.", "option-default-editing-mode-source": "Kaynak modu", "option-default-editing-mode-live-preview": "Canlı Önizleme", "option-show-line-number": "Satır numaralarını göster", "option-show-line-number-description": "Satır numaralarını en altta göster.", "option-indentation-guide": "Girinti kılavuzlarını göster", "option-indentation-guide-description": "Görsel rehberlik için madde işaretleri arasındaki dikey ilişki çizgilerini gösterin.", "option-use-tabs": "Boşluklar için tab kullan", "option-use-tabs-description": "\"Tab\" tuşuyla içerleme yaparken tab karakterleri kullan. Boşluk karakterleri kullanmak için bunu kapat.", "option-tab-size": "Tab boyutu", "option-tab-size-description": "Bir Tab tuşunun kaç boşluğa eşit olacağını belirler.", "option-rtl": "Sağdan sola (RTL)", "option-rtl-description": "Notlarda metin yönünü sağdan sola şeklinde ayarlar.", "option-auto-convert-html": "HTML'e otomatik olarak çevir", "option-auto-convert-html-description": "İnternet sitelerinden yapıştırırken ya da sürekle bırak yapılırken otomatik olarak HTML'den Markdown'a dönüştür. Dönüştürmeden kullanmak için Ctrl/Cmd+Shift+V'ı kullan.", "option-vim-key-bindings": "Vim tuş ayarları", "option-vim-key-bindings-description": "Kaynak editöründe Vim tuşlarını kullanabilmenizi sağlar.", "option-vim-key-bindings-mobile": "Mobil cihazlarda bu ayar cihaz başına yapılır ve yapılandırma dosyası aracılığıyla senkronize edilmez.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Vim moduna girişi onayla", "label-vim-warning": "Vim modu yazı düzenleme için efektif olsa da sezgisel olmayabilir. Vim'e alışkın değilseniz bu özellik Obsidian'ı bozulmuş gibi gösterebilir.", "label-vim-test": "Vim kullanmayı bildiğinizi onaylamak için, lüffen Vim'den kayıt etmeden çıkış komutunu giriniz:", "label-vim-your-answer": "Cevabınız", "placeholder-enter-command": "Komutu gir...", "button-confirm-enable-vim": "Vim'i açmama izin ver", "msg-vim-mode-enabled": "Komut doğru. Vim modu açıldı.", "msg-vim-mode-not-enabled": "Komut yanlış. Sizi korumak için Vim modu kapatıldı.", "msg-vim-mode-please-enter-command": "Lütfen Vim modunu açmak için komutu giriniz." }, "file": { "name": "Dosyalar & Linkler", "option-confirm-file-deletion": "Dosyayı silmeyi onaylayın", "option-confirm-file-deletion-description": "Dosya silme işlemi için açılır pencere özelliği", "option-delete-destination": "Silinmiş dosyalar", "option-delete-destination-description": "Sildikten sonra silinmiş dosyalar ile ne yapılacağı", "option-choice-system-trash": "Sistem çöp kutusuna taşı", "option-choice-vault-trash": "Obsidian çöp kutusuna taşı (.trash klasörü)", "option-choice-permanent-delete": "Kalıcı olarak sil", "option-always-update-links": "Bağlantıları hep güncelle", "option-always-update-links-description": "Bir dosyanın adını değiştirdiğinzde gelen bağlantıları otomatik olarak güncelle.", "option-new-note-location": "Yeni notlar için varsayılan yer", "option-new-note-location-description": "Yeni yaratılan notların kaydedileceği yer. Eklenti ayarları bu ayarı değiştirebilir.", "option-choice-vault-root": "Kasa temeli", "option-choice-current-folder": "Dosyayla aynı klasör", "option-choice-specified-folder": "Aşağıda belirtilen klasöre", "option-new-file-folder-path": "Yeni notların kaydedileceği klasör", "option-new-file-folder-path-description": "Yeni notlar bu klasörde yaratılır. Eklenti ayarları bu ayarı değiştirebilir.", "option-use-wiki-links": "[[Wikilinks]]'i kullan", "option-use-wiki-links-description": "[[bağlantılar]] ve ![[görseller]] için Markdown bağlantıları ve görselleri yerine otomatik olarak Wikilink'ler oluştur. Markdown bağlantıları oluşturmak için bu ayarı kapat.", "option-show-unsupported-files": "Tüm dosya uzantılarını bul.", "option-show-unsupported-files-description": "Obsidian'nın normalde açamadığı dosya türlerini de göster.Bu sayede onlara bağlantı verebilir, Dosyalarda ve Hızlı Geçişte görebilirsiniz.", "option-link-autocompleted-format": "Yeni bağlantı formatı", "option-link-autocompleted-format-description": "Otomatik bağlantı yaratırken hangi bağlantıların ekleneceği.", "option-choice-shortest-linktext": "Mümkünse en kısa yol", "option-choice-relative-path": "Dosyaya göre belirli yol", "option-choice-absolute-path": "Kasa içinde belirli yol", "option-new-attachment-location": "Yeni eklentiler için varsayılan klasör", "option-new-attachment-location-description": "Yeni eklenen eklentilerinin hangi klasöre kaydedileceği.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "Aynı klasörün içinde bir alt klasörde", "option-attachment-folder-path": "Eklenti klasörü yolu", "option-attachment-folder-path-description": "Yeni yaratılan eklenti dosyaları bu klasörde yaratılır. Sürükle bırak, kopyala yapıştır ve ses kayıtları gibi dosyaları içerir.", "option-attachment-subfolder-path": "Altklasör adı", "option-attachment-subfolder-path-description": "Eğer dosyalarınız \"kasa/klasör\" klasöründeyse ve altklasör adını \"eklentiler\" seçerseniz, eklentileriniz \"kasa/klasör/eklentiler\" klasörüne kaydedilecek.", "option-excluded-files": "Hariç tutulan dosyalar", "option-excluded-files-desc": "Hariç tutulan dosyalar Hızlı Değiştirici, bağlantı önerisi ve Grafik Görünümü gibi çeşitli yerlerde ya gizlenecek ya da daha az fark edilecektir.", "label-no-excluded-filters-applied": "Şu anda hariç tutulan filtre uygulanmıyor. Aşağıya bir tane ekleyin.", "label-excluded-filters-applied": "Aşağıdaki filtrelerle eşleşen dosyalar şu anda hariç tutulmaktadır:", "label-excluded-filter": "Filtre", "message-empty-filter": "Filtre boş olamaz", "placeholder-excluded-filter": "Yolu girin veya \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Görünüm", "option-base-theme": "Temel tema", "option-base-theme-description": "Obsidian'ın varsayılan renk modunu seçin.", "option-accent-color": "Vurgu rengi", "option-accent-color-description": "Uygulama boyunca kullanılan vurgu rengini seçin.", "dark-theme": "Koyu", "light-theme": "Açık", "system-theme": "Sistem ayarını kullan", "option-font": "Yazı Tipi", "option-advanced": "Gelişmiş", "option-interface": "Arayüz", "option-interface-font": "Arayüz yazı tipi", "option-interface-font-description": "Tüm Obsidian için temel yazı tipini ayarlayın.", "option-zoom-level": "Yakınlaştırma seviyesi", "option-zoom-level-description": "Uygulamanın genel yakınlaştırma seviyesini kontrol eder.", "option-text-font": "Metin yazı tipi", "option-text-font-description": "Görünümleri düzenlemek ve okumak için yazı tipini ayarlayın.", "option-monospace-font": "Tek aralıklı yazı tipi", "option-monospace-font-description": "Kod blokları ve ön madde gibi yerler için yazı tipini ayarlayın.", "label-single-font-currently-in-effect": "Şu anda uygulanan yazı tipi: ", "label-multiple-fonts-currently-in-effect": "Şu anda aşağıdaki yazı tipleri uygulanmaktadır:", "option-font-placeholder": "Yazı tipi adını girin...", "label-no-custom-font-set": "Şu anda özel bir yazı tipi uygulanmıyor. Aşağıya bir tane ekleyin.", "label-font-applied": "Sisteminizde bulunan bu listeden ilk yazı tipi uygulanacaktır.", "msg-font-not-found": "Bu yazı tipi sisteminizde algılanmadı.", "msg-font-found": "Bu yazı tipi sisteminizde algılandı.", "label-font-name": "Yazı tipi adı", "option-community-themes": "Topluluk temalarını aç", "option-community-themes-description": "Topluluk tarafından yaratılmış harika temaları incele veya kullan.", "button-browse-community-themes": "Tara", "option-font-size": "Yazı tipi boyutu", "option-font-size-description": "Editör ve önizleme modundaki fontların piksel olarak boyutunu belirler.", "option-font-size-action": "Hızlı font boyutu ayarlama", "option-font-size-action-description": "Yazı tipi boyutunu Ctrl + Kaydırma ile ya da trackpadin yaklaştırma hareketi ile ayarlayın.", "option-themes": "Temalar", "option-manage-themes-description": "Kurulu temaları yönetin ve topluluk temalarını inceleyin.", "option-theme-button-manage": "Yönet", "option-choice-none": "Hiçbiri", "option-native-menus": "Yerel menüler", "option-native-menus-desc": "Uygulamadaki menüler işletim sistemiyle eşleşecektir. Temanızdan etkilenmeyeceklerdir.", "button-reload-themes": "Temaları yeniden yükle", "msg-reloaded-themes": "Özel CSS temaları tekrar yüklendi.", "button-open-themes-folder": "Tema klasörünü aç", "option-css-snippets": "CSS kod parçaları", "label-no-css-snippets-found": "Kod parçaları klasöründe hiç CSS kod parçası bulunamadı.", "no-snippet-description": "CSS Kod parçaları \"{{path}}\" klasöründe saklanmaktadır.", "button-reload-snippets": "Kod parçalarını tekrar yükle", "button-open-snippets-folder": "Kod parçaları klasörünü aç", "msg-reloaded-snippets": "CSS kod parçaları tekrar yüklendi.", "option-toggle-snippet-description": "\"{{path}}\" konumundaki CSS kod parçalarını uygula.", "label-installed-themes": "Kurulu temalar", "label-screenshot-unavailable": "Ekran görüntüsü mevcut değil.", "label-default-theme": "Varsayılan", "tooltip-click-to-enlarge": "Büyütmek için tıklayın", "button-update": "Güncelle", "label-currently-active": "Active", "option-frame-style": "Pencere çerçeve stili", "option-frame-description": "Obsidian pencerelerinin başlık çubuğunun stilini belirler. Etkili olması için yeniden başlatma gerektirir.", "option-frame-hidden": "Gizli (varsayılan)", "option-frame-obsidian": "Obsidyen çerçeve", "option-frame-native": "Yerel çerçeve", "option-custom-icon": "Özel uygulama simgesi", "option-custom-icon-desc": "Uygulama için özel bir simge ayarla", "button-choose-custom-icon": "Özel simgeyi seç", "option-configure-ribbon": "Şerit menüsü", "option-configure-ribbon-desc": "Bu gezinti çubuğundaki şerit menüsünde hangi komutların görüneceğini yapılandırın.", "option-mobile-quick-ribbon-item": "Hızlı erişim şeridi öğesi", "option-mobile-quick-ribbon-item-desc": "Navigasyon menüsündeki şerit öğesine dokunulduğunda bu şerit öğesi etkinleşir. Dokunup basılı tutmak menüyü göstermeye devam edecektir.", "option-mobile-quick-ribbon-default": "Şerit menüsünü aç", "button-configure": "Yapılandırma", "option-show-ribbon": "Şeridi göster", "option-show-ribbon-desc": "Dikey araç çubuğunu pencerenin yan tarafında göster.", "label-additional-ribbon-items": "Diğer şeritler", "label-modal-configuration": "Şerit Yapılandırması", "label-modal-configuration-desc": "Şeritte hangi öğelerin etkin olmasını istediğinizi seçin. Sırayı değiştirmek için sürükleyip bırakın.", "option-show-view-header": "Sekme başlık çubuğunu göster", "option-show-view-header-desc": "Başlığı her sekmenin en üstünde görüntüleyin.", "msg-updates-found": "{{count}} tema için güncelleme bulundu.", "msg-updates-found_plural": "{{count}} tema için güncelleme bulundu.", "button-check-for-updates": "Güncellemeleri kontrol edin", "button-view-updates": "Güncellemeleri görüntüle", "button-update-all-themes": "Tümünü güncelle", "label-current-themes": "Güncel topluluk temaları", "label-currently-installed": "Şu anda yüklü {{count}} temanız var.", "label-currently-installed_plural": "Şu anda yüklü {{count}} temanız var." }, "hotkeys": { "name": "Kısayollar", "option-search": "Arama kısayol tuşları", "option-search-desc": "{{count}} kısayol tuşu gösteriliyor.", "option-search-desc_plural": "{{count}} kısayol tuşları gösteriliyor. ", "option-search-conflict": "Çakışma içeren {{count}} komut.", "option-search-conflict_plural": "Çakışma içeren {{count}} komut.", "prompt-filter": "Filtrele...", "tooltip-delete-hotkey": "Silme kısayolu", "label-waiting-for-hotkey-press": "Kısayol tuşu bekleniyor...", "label-show-all": "Tümü", "label-show-unassigned": "Atanmamış", "label-show-assigned": "Atanmış", "label-show-user-assigned": "Benim tarafımdan atandı", "tooltip-restore-default": "Varsayılana geri dön", "tooltip-customize-command": "Komutu kişiselleştir", "tooltip-hotkey-single-conflict": "Bu komut \"{{command}}\" ile çakışıyor", "tooltip-hotkey-multiple-conflicts": "Bu komut diğer {{count}} komut ile çakışıyor", "label-blank-hotkey": "Boş" }, "about": { "name": "Hakkında", "label-commercial-license": "Ticari lisans", "label-license-key": "Lisans anahtarı", "license-key-placeholder": "Lisans anahtarın...", "label-activate-license": "Lisansı aktive et", "button-activate": "Aktive et", "label-unknown-version": "Bilinmeyen", "label-current-version": "Anlık sürüm: ", "label-install-version": "(Yükleyici sürümü: {{version}})", "label-up-to-date": "Programınız güncel!", "label-read-changelog": "Değişiklikler raporunu oku.", "label-manual-update-required": "En son özellikleri desteklemek ve en son güvenlik yamalarını almak için Obsidian'ın büyük bir yükleyici güncellemesine ihtiyacı vardır. Obsidian'ı manuel olarak indirmeniz ve yeniden yüklemeniz gerekir.", "label-new-version-ready": "Yeni versiyon yüklemeye hazır.", "label-disabled-updates": "Güncellemeler kapalı.", "button-relaunch": "Yeniden başlat", "button-check-for-updates": "Güncellemeleri kontrol et", "option-auto-update": "Otomatik güncelle", "option-auto-update-description": "Programın otomatik güncellemeler yapmasını iptal etmek için bunu kapat.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Yardım alın", "option-get-help-description": "Obsidian kullanımı hakkında yardım alın.", "button-open": "Aç", "option-language": "Dil", "option-language-description": "Programın dilini değiştirir.", "option-insider-build": "Üye versiyonlarını kabul et.", "option-insider-build-description": "Üyelere özel versiyonları otomatik olarak kullan. Bu versiyonlar yeni özellikler ve güncellemeler içerir ancak normal versiyonlara göre daha fazla hata da içerir.", "option-advanced": "Gelişmiş", "option-hw-acceleration": "Donanım İvmelendirici", "option-hw-acceleration-description": "Donanım İvmelendiriciyi aktifleştirir, bu sayede Obsidian GPU'yu kullanarak daha akıcı bir şekilde çalışır.", "option-hw-acceleration-warning": "Eğer bu özelliği kapatırsanız uygulamanın performansı ciddi bir şekilde etkilenecektir.", "option-config-location": "Konfigürasyon dosyasını değiştir", "option-config-location-description": "Varsayılan dışında bir konfigürasyon klasörü kullanın. Klasör ismi nokta ile başlamalıdır.", "option-config-location-warning": "Konfigürasyon konumu ismi nokta ile başlayan geçerli bir klasör olmalıdır.", "label-license": "Lisans", "label-your-commercial-license-key": "Ticari lisans anahtarınız: \"{{key}}\".", "label-commercial-license-info": "{{seats}} kullanıcı için \"{{company}}\"'e kayıtlı.{{expiry}}'e kadar geçerli.", "label-validating-commercial-license": "Doğrulanıyor...", "label-invalid-commercial-license": "Lisans hatalı: ", "button-remove-commercial-license": "Kaldır", "option-catalyst": "Katalizör lisansı", "option-catalyst-desc": "Şu anda {{tier}} Catalyst lisansına sahipsiniz. Desteğiniz için teşekkürler!", "option-catalyst-desc-no-license": "Şu anda bir Catalyst lisansınız yok. Catalyst lisansı, Obsidian gelişimini desteklemek için tek seferlik bir bağış.", "label-app": "Uygulama", "label-add-own-language": "Obsidian'a dilinizi nasıl ekleyeceğinizi görün." }, "account": { "name": "Hesap", "option-your-account": "Hesabınız", "option-your-account-desc": "Şu anda {{isim}} ile giriş yaptınız ({{email}}).", "option-your-account-desc-no-login": "Şu anda giriş yapmadınız. Bir hesap yalnızca Obsidian Sync, Obsidian Publish ve Catalyst insider derlemeleri için gereklidir.", "label-insider": "Üye", "label-supporter": "Destekçi", "label-vip": "VIP", "button-upgrade-catalyst": "Yükselt", "option-commercial-license": "Ticari lisans", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Satın al", "button-log-out": "Çıkış Yap", "label-log-in": "Giriş Yap", "label-sign-up": "Kaydolun", "label-email": "Email", "placeholder-email": "Emailiniz...", "label-name": "Full name", "label-password": "Şifre", "placeholder-password": "Şifreniz...", "label-forgot-password": "Şifrenizi mi unuttunuz?", "button-login": "Giriş", "message-empty-email": "E-posta boş olamaz.", "message-invalid-email": "E-posta geçersiz", "message-empty-password": "Şifre boş bırakalımaz.", "message-login-failed": "Giriş başarısız, lütfen e-posta ve şifrenizi kontrol edin.", "message-signup-failed": "Failed to sign up", "label-no-account": "Hesabınız yok mu? ", "link-sign-up-now": "Hemen kaydolun", "label-mfa-code": "6 haneli 2FA kodu", "mfa-wrong-format": "2FA doğrulama kodu 6 haneli olmalıdır.", "mfa-verification-failed": "2FA kodu yanlış, lütfen doğrulama uygulamanızı tekrar kontrol edin." }, "core-plugin": { "plugin-list": "Eklenti listesi", "option-search-plugin": "Temel eklentiler içinde ara", "option-search-plugin-description": "Eklentileri isim veya açıklamaya göre filtrele.", "placeholder-search-plugin": "Eklenti ara..." }, "third-party-plugin": { "name": "Topluluk Eklentisi", "option-restricted-mode": "Kısıtlı mod", "option-restricted-mode-description": "Kısıtlı Mod kapalı. Topluluk eklentilerini devre dışı bırakmak için açın.", "button-turn-on": "Açın", "option-browse-community-plugins": "Topluluk Eklentileri", "option-browse-community-plugins-description": "Topluluğumuzun yaptığı eklentilere göz at ve Yükle.", "button-browse": "Ara", "label-exit-restricted-mode": "Kısıtlı Moddan Çık", "label-exit-restricted-mode-description-1": "Topluluk eklentileri, yüklediğiniz diğer tüm yazılımlar gibi, potansiyel olarak veri bütünlüğü ve güvenlik sorunlarına neden olabilir.", "label-exit-restricted-mode-description-2": "Eklenti güvenliği bizim için önemlidir. Yaptığımız şey şu:", "label-exit-restricted-mode-description-3": "Çabalarımıza rağmen, bir topluluk eklentisinin hatalı davranma ihtimali hala küçük de olsa vardır.", "label-code-review": "İlk kod incelemesi", "label-code-review-desc": "Eklentiler, mağazada görünmeden önce ekibimiz tarafından ilk kod incelemesinden geçirilir.", "label-open-source": "Açık kaynak", "label-open-source-desc": "Çoğu eklenti GitHub'da açık kaynak kodludur, böylece kodu kendiniz inceleyebilirsiniz.", "label-peer-audit": "Eş denetim", "label-peer-audit-desc": "Birbirini kollayan geniş bir geliştirici topluluğumuz var.", "label-report-mechanism": "Rapor mekanizması", "label-report-mechanism-desc": "Kullanıcı raporu üzerine hatalı eklentileri takip ediyor ve kaldırıyoruz.", "label-exit-restricted-mode-disable-confirmation": "Topluluk eklentilerini etkinleştirmek için Kısıtlı Moddan çıkmak ister misiniz? Bunu yapmadan önce verilerinizi yedeklemenizi şiddetle tavsiye ederiz.", "label-learn-more": "Eklenti güvenliği hakkında daha fazla bilgi edinin", "button-turn-on-community-plugins": "Topluluk eklentilerini açın", "label-trust-author": "Bu kasanın sahibine güveniyor musunuz?", "label-trust-author-description-1": "Bu kasayı ilk kez açıyorsunuz ve bazı eklentiler içeriyor.", "label-trust-author-description-2": "Bu kasayı başka bir kullanıcıdan aldıysanız, bilinmeyen kökenli eklentiler güvenlik riski oluşturabilir.", "label-trust-author-description-3": "Bu kasanın sahibine tam olarak güvenmiyorsanız, Kısıtlı Mod'da kalmanızı öneririz, böylece bu kasadaki eklentiler çalışmaz.", "button-enable-plugins": "Kasa sahibine güven ve eklentileri etkinleştir", "button-dont-trust-author": "Kasayı Kısıtlı Mod'da gezin", "placeholder-community-plugins": "Eklenti Ara...", "msg-failed-load-plugins": "Topluluk eklentileri yüklenemedi.", "label-installed": "İndirildi", "button-install": "İndir", "button-enable": "Etkinleştir", "button-disable": "Devre dışı bırak", "button-copy-share-link": "Paylaşma linkini kopyala", "button-donate": "Bağış Yapın", "label-no-results-found": "Sonuç Bulunamadı.", "label-no-recent-files-found": "Son dosyalar bulunamadı. Aramak için yazın...", "msg-failed-to-load-manifest": "Eklenti manifest dosyası yüklenemedi.", "label-version": "Versiyon: {{version}}", "label-currently-installed-version": " (mevcut sürüm: {{version}})", "label-by-author": "Sahibi ", "label-repository": "Depo: ", "label-last-update": "Son güncelleme: ", "tooltip-view-last-update": "En son yapılan güncellemeyi görüntüleyin", "label-unsupported": "Bu eklenti cihazınızı desteklemiyor.", "button-update": "Güncelle", "label-no-readme": "Bu eklenti bir beni oku dosyası sağlamadı.", "msg-installing-plugin": "\"{{name}}\" eklentisi indiriliyor...", "msg-failed-to-install-plugin": "Yüklenemedi \"{{name}}\".", "msg-successfully-installed-plugin": "Başarıyla yüklendi \"{{name}}\".", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Yüklü Eklentiler", "button-reload-plugins": "Eklentileri tekrardan yükle", "msg-reloaded-third-party-plugins": "Eklentiler tekrardan yüklendi", "label-uninstall": "Kaldır", "label-uninstall-plugin": "Eklentiyi kaldır", "label-uninstall-plugin-confirmation": "Bu eklentiyi silmek istediğine emin misin? Bu işlem eklenti klasörünü de siler.", "button-open-plugins-folder": "Eklentiler Klasörünü aç Aç", "button-check-for-updates": "Güncellemeleri Denetle", "button-update-all-plugins": "Hepsini Güncelle", "label-current-plugins": "Yüklü Eklentiler", "label-currently-installed": "Yüklenmiş {{count}} eklentiniz var.", "label-currently-installed_plural": "Yüklenmiş {{count}} eklentiniz var.", "msg-no-updates-found": "Eklenti Güncellemesi Bulunamadı.", "msg-updates-found": "Güncellenecek {{count}} eklenti bulundu.", "msg-updates-found_plural": "Güncellenecek {{count}} eklenti bulundu.", "msg-update-plugin": "Güncelle {{version}}", "option-search-installed-plugin": "Kurulu eklentiler içinde ara", "option-search-installed-plugin-description": "Kurulu eklentileri isim veya açıklamaya göre filtrele.", "placeholder-search-installed-plugin": "Kurulu eklentiler içinde ara...", "show-installed-only": "Yalnızca kurulu olanları göster", "label-donate-modal-title": "{{name}} desteklemek için bağış yapın", "label-donate-modal-text1": "Eklenti geliştiricileri, tutkularıyla harika şeyler yapan topluluk gönüllüleridir. Bu eklentiyi faydalı buluyorsanız, lütfen geliştirilmesine fon sağlamayı düşünün.", "label-donate-modal-text2": "Katkınızın %100'ü eklenti geliştiricisine gidecektir; Obsidian herhangi bir kesinti yapmayacaktır. Seçtikleri fonlama platformu bir ücret talep edebilir.", "label-donate-modal-text3": "Cömert desteğiniz için teşekkürler!", "label-support-this-plugin": "Bu eklentiyi destekleyin:", "label-search-summary": "{{pluginCount}} eklenti gösteriliyor:", "label-by-popularity": "En çok indirilenler", "label-by-released": "Yakın zamanda yayınlandı", "label-by-updated": "Yakın zamanda güncellendi", "label-alphabetical": "Alfabetik", "label-last-updated": "{{time}} Güncellendi" }, "mobile-toolbar": { "name": "Mobil araç çubuğu", "option-configure-quick-action": "Mobil Hızlı Eylemleri ayarla", "option-configure-quick-action-description": "Yukarıdan aşağı çektiğinizde hangi eylemin gerçekleşeceğini belirleyin. Şu anda seçili olan eylem \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "Ayarla", "placeholder-select-quick-action": "Hızlı Eylem seç...", "quick-action-disabled": "Hiçbiri", "manage-toolbar-options": "Araç çubuğu seçeneklerini yönet", "option-internal-link": "Dahili link ekle", "option-internal-embed": "Gömülü içerik ekle", "option-tag": "Etiket ekle", "option-heading": "Başlık durumunu değiştir", "option-strikethrough": "Üstünü çiz", "option-highlight": "Altını çiz", "option-code": "Kod formatına dönüştür", "option-blockquote": "Alıntıya dönüştür", "option-inline-math": "Satır içi matematiği aç/kapat", "option-math-block": "Matematik bloğunu aç/kapat", "option-markdown-link": "Markdown link ekle", "option-bullet-list": "Noktalı listeye dönüştür", "option-numbered-list": "Sayılı listeye dönüştür", "option-indent-list": "Liste maddesini içe al", "option-unindent-list": "Liste maddesini dışa al", "option-undo": "Geri Al", "option-redo": "İleri Al", "option-move-caret-up": "İmleci yukarı kaydır", "option-move-caret-down": "İmleci aşağı kaydır", "option-move-caret-left": "İmleci sola kaydır", "option-move-caret-right": "İmleci sağa kaydır", "option-first-line": "İlk satıra git", "option-last-line": "Son satıra git", "option-toggle-keyboard": "Klavyeyi kapat", "option-configure-toolbar": "Mobil araç çubuğunu ayarla", "option-added-options": "Ekli seçenekler", "option-more-toolbar-options": "Daha fazla araç çubuğu seçeneği", "option-attach": "Eklenti yükle", "option-add-command": "Genel komut ekle", "option-add-command-description": "Araç çubuğuna eklemek için herhangi bir genel komutu seçin." } }, "editor": { "search": { "placeholder-find": "Bul", "placeholder-replace": "Değiştir", "label-exit-search": "Aramadan çık", "label-next": "Sonraki", "label-previous": "Önceki", "label-find-all": "Hepsini bul", "label-replace": "Değiştir", "label-replace-all": "Hepsini değiştir" }, "link-suggestion": { "label-type-hash": "Başlığa bağlantı kurmak için", "label-link-heading": "# yazın", "label-type-block": "^ karakteri", "label-link-block": "blokları birbirine bağlamak için", "label-type-pipe": "| karakteri", "label-change-display-text": "Metin görüntüsünü değiştirmek için", "label-no-alias": "Metni görüntüle", "label-no-heading": "Başlık", "label-no-match-found": "Eşleşme bulunamadı", "label-image-size": "Resim boyutu: {{size}} piksel genişliğinde", "label-accept": "kabul etmek", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Öneri bulunamadı...", "add-to-dictionary": "Sözlüğe ekle" }, "menu": { "edit-link": "Bağlantıyı düzenle", "edit-tag": "Etiketi düzenle", "label-edit-block": "Bu bloğu düzenle", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "Başlık yok", "label-heading-level": "Başlık {{level}}" }, "print-modal": { "title": "PDF Olarak Dışa Aktar", "caption": "\"{{filename}}\" dosyasını aşağıdaki ayarlarla PDF olarak dışa aktar.", "setting-page-size": "Sayfa boyutu", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Resmi", "setting-page-size-letter": "Mektup", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Dosya adını başlık olarak ekleyin", "setting-landscape": "Yatay görünüm", "setting-margin": "Sayfa Sınırı", "setting-margin-default": "Varsayılan", "setting-margin-minimal": "Minimal", "setting-margin-none": "Hiçbiri", "setting-downscale-percent": "Küçültme oranı", "button-export-to-pdf": "PDF Olarak Dışa Aktar" }, "link-popover": { "tooltip-follow-link": "Linki takip et", "tooltip-open-link": "Linki aç", "tooltip-search-tag": "Etiket arama" } }, "interface": { "embed-cannot-find": "Bulunamıyor:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Varsayılan programda aç", "empty-sidebar": "Yan pencere boş, buraya bir pencere sürüklemeyi deneyin.", "sidebar-expand": "Göster", "sidebar-collapse": "Sakla", "msg-fail-to-save-file": "\"{{filepath}}\" dosyası kaydedilemedi. {{message}}.", "msg-failed-to-load-plugin": "“{{plugin}}” eklentisi yüklenemedi", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "“{{filepath}}” açılamadı", "msg-failed-to-open-href": "“{{href}} konumu açılamıyor", "no-file": "Dosya yok", "msg-file-changed": "\"{{file}}\" başka bir yerde değiştirildi, değişiklikler otomatik olarak birleştiriliyor.", "switch-vault": "Başka bir kasa aç", "manage-vaults": "Tresorları yönet...", "help": "Yardım", "settings": "Ayarlar", "drag-to-rearrange": "Düzenlemek için sürükle", "msg-switched-to-read": "Varsayılan görünüm modu okuma moduna çevrildi.", "msg-switched-to-edit": "Varsayılan gösterim şekli editör yapıldı.", "msg-upgrade-installer": "Bu özelliği kullanabilmek için lütfen web sitemizden yeni yükleyiciyi indirin.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Varsayılan ayarları geri yükle", "label-copy": "Kopyala", "label-copy-short": "Kopyala", "copied_generic": "Panonuza kopyalandı", "copied": "{{item}} kopyalandı", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "Url", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "\"{{path}}\" dosyası açıldı", "msg-file-not-found-through-uri": "\"{{name}}\" dosyası bulunamadı.", "delete-action-short-name": "Sil", "msg-indexing": "Obsidian kasanızı dizinliyor...\nBu sadece bir kez gerçekleşir.\nBu eylem tamamlanana kadar bazı özellikleri kullanamayabilirsiniz.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "İndeksleme işlemi tamamlandı.", "msg-sandbox-vault": "Bu bir sandbox kasasıdır.\nBu kasada yaptığınız değişiklikler kaybolacaktır.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Yaratmak için giriş yap", "label-update-available": "Güncellemeler mevcut", "label-debug-info": "Ayıklama bilgileri", "button-learn-more": "Daha fazlasını öğrenin", "button-not-now": "Daha sonra", "button-add": "Ekle", "button-manage": "Yönet", "label-new-tab": "Yeni sekme", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "Bu sekme şu anda meşgul, lütfen daha sonra tekrar deneyin", "formatting": { "label-formatting": "Biçimlendirme", "label-paragraph": "Paragraf", "label-insert": "Ekle", "insert-link": "Bağlantı ekle", "insert-external-link": "Dış bağlantı ekle", "insert-callout": "Çağrı", "insert-horizontal-rule": "Yatay çizgi ekle", "insert-code-block": "Kod bloğu ekle", "insert-math-block": "Matematik bloğu ekle", "insert-table": "Tablo ekle", "insert-footnote": "Footnote", "toggle-bold": "Kalın", "toggle-code": "Kod", "toggle-comments": "Yorum", "toggle-highlight": "Vurgula", "toggle-italics": "İtalik", "toggle-strikethrough": "Üstü çizili", "toggle-math": "Matematik", "toggle-bullet-list": "Madde işaretli liste", "toggle-checklist": "İşaretli liste", "toggle-numbered-list": "Numaralı liste", "set-heading": "{{level}} Başlık", "no-heading": "Başlıksız", "clear": "Biçimlendirmeyi temizle", "toggle-quote": "Alıntı" }, "empty-state": { "no-file-open": "Açık dosya yok", "create-new-file": "Yeni dosya oluştur", "go-to-file": "Dosyaya git", "see-recent-files": "Son görüntülenen dosyalara git", "close": "Kapat", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Eklenti artık aktif değil", "unknown-pane-desc": "Bu pencereyi açan eklenti ({{type}}) mevcut değil" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Değiştir (Yeni pencerede değiştirmek için Ctrl/Cmd+Tık)", "read-view": "Mevcut görünüm: okuma", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "Düzenlemek için tıklayın", "switch-to-read-view": "Okumak için tıklayın", "mod-click-open-new-tab": "{{key}}+Yeni sekmede açmak için tıklayın", "find": "Bul...", "replace": "Değiştir...", "edit": "Düzenle", "remove": "Kaldır", "rename": "Yeniden adlandır", "preview": "Önizle", "more-options": "Daha fazla seçenek", "close": "Kapat", "close-all": "Tümünü kapat", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Diğerlerini kapatın", "close-after": "Close tabs after", "pin": "İğnele", "unpin": "İğneyi kaldır", "unlink-tab": "Sekmenin bağlantısını kaldır", "link-tab": "Sekme ile bağlantı...", "toggle-source-mode": "Kaynak modu", "toggle-reading-view": "Okuma görünümü", "add-property": "Dosya özelliği ekle", "delete-file": "Dosyayı sil", "create-file": "Bu dosyayı oluştur", "open-link": "Linki aç", "open-in-new-tab": "Yeni sekmede aç", "open-to-the-right": "Sağa doğru açın", "copy-url": "Linki kopyala", "copy": "Kopyala", "cut": "Kes", "paste": "Yapıştır", "paste-as-plain-text": "Düz metin olarak yapıştır", "lookup-selection": "“{{selection}}” arayın", "select-all": "Tümünü seç", "rename-heading": "Başlığı yeniden adlandır...", "rename-blockid": "Bu blok kimliğini yeniden adlandırın...", "open-in-new-window": "Yeni pencerede aç", "move-to-new-window": "Yeni pencereye taşı", "open-in-browser": "Tarayıcıda aç", "stack-tabs": "Yığın sekmeleri", "unstack-tabs": "Sekmeleri çözün", "open-linked-view": "Bağlantılı görünümü aç" }, "tooltip": { "click-to-expand": "Genişlet", "click-to-collapse": "Daralt", "alias": "Rumuz", "not-created-yet": "Henüz oluşturulmadı, oluşturmak için seçiniz" }, "start-screen": { "label-version": "Versiyon", "label-create-local-vault": "Yerel kasa oluştur", "option-open-folder-as-vault": "Bir klasörü kasa olarak belirle", "option-open-folder-as-vault-description": "Markdown dosyalarının olduğu bir klasörü seç.", "option-create-vault": "Yeni kasa oluştur", "option-create-vault-description": "Bir klasörün altında yeni bir kasa oluştur.", "option-connect-obsidian-sync": "Obsidian Sync'e bağlanın", "option-connect-obsidian-sync-description": "Mevcut uzak kasa ile senkronize edilmiş bir kasa kurun.", "option-new-vault-name": "Kasa Adı", "option-new-vault-name-description": "Yeni kasanız için bir isim seçin.", "option-new-vault-location": "Gözat", "option-new-vault-location-description": "Yeni kasa için bir klasör seçin", "label-new-vault-location-preview": "Yeni kasanız içine yerleştirilecektir: ", "option-reveal-vault-in-explorer": "Sistem gezgininde kasayı göster", "option-reveal-vault-in-explorer-mac": "Finder'da kasayı göster", "option-rename-vault": "Kasayı yeniden adlandır...", "option-copy-vault-i-d": "Kasa kimliğini kopyala", "msg-error-rename-exists": "Bu isimde bir kasa zaten var.", "msg-error-nested": "Kasa kendi alt klasörüne taşınamıyor.", "msg-error-rename-open": "Şu anda açık olan bir kasa yeniden adlandırılamıyor.", "msg-rename-failed": "Kasa yeniden adlandırılamadı.", "msg-rename-success": "Kasa başarıyla yeniden adlandırıldı.", "option-move-vault": "Kasayı taşı...", "msg-move-select-dest": "Hedef klasörü seçin", "msg-error-move-exists": "Hedefte zaten bir kasa var.", "msg-error-move-open": "Şu anda açık olan bir kasa taşınamıyor.", "msg-move-failed": "Kasa taşınamadı.", "msg-move-success": "Kasa başarıyla taşındı.", "option-remove": "Listeden kaldır", "button-quick-start": "Hızlı başlangıç", "button-open": "Aç", "button-browse": "Tara", "button-connect": "Bağlan", "button-create-vault": "Oluştur", "button-back": "Geri", "msg-empty-vault-name": "Kasa adı boş olamaz", "msg-trailing-dot-vault-name": "Kasa adı nokta ile bitmemeli.", "msg-invalid-folder": "Geçerli bir klasör seç.", "msg-failed-to-create-vault": "Yeni kasa oluşturulamadı", "msg-failed-to-create-vault-at-location": "Burada yeni bir kasa oluşturamazsın. İzinleri kontrol et.", "msg-error-failed-to-open-vault": "Kasa açılırken bir hata meydana geldi.", "msg-error-remove-current-open-vault": "Açık bir Kasa'yı kaldıramazsın.", "option-get-help": "Yardım Alın", "option-user-email": "E-posta", "placeholder-your-email": "E-posta adresiniz...", "option-user-password": "Şifre", "placeholder-your-password": "Şifreniz...", "button-sign-in": "Oturum aç", "button-setup": "Kurulum", "option-connect-vault-desc": "Bu cihazda senkronize edilmiş bir kasa oluşturun.", "tooltip-own-vault": "Bu, size ait uzak bir kasadır.", "tooltip-shared-vault": "Bu, sizinle paylaşılan uzak bir kasa.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Hoş geldiniz", "welcome-file-content": "İşte yeni *tresör*ünüz.\n\nBir not alın, [[bağlantı oluştur]], veya [İçe Aktarıcı'yı](https://help.obsidian.md/Plugins/Importer) deneyin!\n\nHazır olduğunuzda, bu notu silin ve tresörü kendinize göre düzenleyin." }, "drag-and-drop": { "insert-link-here": "Linki buraya ekle", "insert-links-here": "Linkleri buraya ekle", "move-into-folder": "\"{{folder}}\" klasörüne taşı", "star-this-file": "Bu dosyayı yıldızla", "star-these-files": "Bu dosyaları yıldızla", "open-in-this-tab": "Bu sekmede aç", "open-as-tab": "Yeni sekme olarak aç" }, "window": { "maximize": "Genişlet", "minimize": "Küçült", "restore-down": "Eski hâline küçült", "close-window": "Pencereyi kapa", "go-back": "Geri git", "go-forward": "İleri git" }, "start-up": { "loading-obsidian": "Obsidian yükleniyor...", "obsidian-load-error": "Yüklenirken bir hata meydana geldi.", "button-reload-app": "Uygulamayı yeniden başlat", "button-reload-app-in-safe-mode": "Uygulamayı güvenli modda yeniden yükleyin", "button-open-another-vault": "Başka bir kasa aç", "loading-plugins": "Eklentiler yükleniyor...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Kasa yükleniyor...", "msg-failed-to-load-vault": "Kasa yükleme başarısız oldu: ", "loading-cache": "Önbellek yükleniyor...", "loading-workspace": "Çalışma alanı yükleniyor..." }, "mobile": { "action-import": "Kasanın içine aktar", "action-insert-text-desc": "Add text to file:", "action-choose-file-to-insert": "Eklemek için bir dosya seçin", "action-insert-text-into-file": "Metni {{filename}} dosyasına ekle", "action-insert-link-into-file": "Linki {{filename}} dosyasına ekle", "action-show-switcher": "Show tab overview", "msg-importing": "İçe aktarıyor...", "msg-import-success": "İçe aktarma başarılı", "msg-failed-to-import-file": "{{filename}} dosyasını içe aktarma başarısız oldu", "msg-back-again-to-exit": "Çıkmak için tekrar geri tuşuna basın.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Resmi yardım sitesi", "label-official-help-site-desc": "Birden çok dilde bulunan Obsidian'ın resmi yardım belgelerini okuyun.", "action-visit": "Ziyaret et", "label-discord-chat": "Discord sohbet", "label-discord-chat-desc": "Discord, dünyanın dört bir yanından diğer deneyimli Obsidian kullanıcılarıyla sohbet etmek için en iyi yerdir.", "action-join": "Katıl", "label-forum": "Resmi forum", "label-forum-desc": "Birbirinize yardım edin, özellik istekleri gönderin, hataları bildirin ve bilgi yönetimi hakkında derinlemesine tartışmalar yapın.", "label-sandbox-vault": "Sandbox kasası", "label-sandbox-vault-desc": "Oynayın ve çeşitli özelliklerle denemeler yapın. Lütfen değişikliklerinizin kaydedilmeyeceğini unutmayın." } }, "commands": { "save-file": "Dosyayı kaydet", "download-attachments": "Download attachments for current file", "follow-cursor-link": "İmlecin altındaki bağlantıyı takip et", "open-cursor-link-in-new-tab": "Yeni sekmede imlecin altındaki bağlantıyı aç", "open-cursor-link-to-the-right": "Sağdaki imlecin altındaki bağlantıyı aç", "open-cursor-link-in-new-window": "Yeni pencerede imlecin altındaki bağlantıyı aç", "navigate-tab-above": "Yukarıdaki sekme grubuna odaklan", "navigate-tab-below": "Aşağıdaki sekme grubuna odaklan", "navigate-tab-left": "Soldaki sekme grubuna odaklan", "navigate-tab-right": "Sağdaki sekme grubuna odaklan", "toggle-pin": "İğnele/İğneyi kaldır", "split-right": "Sağa Böl", "split-down": "Aşağı Böl", "toggle-stacked-tabs": "Yığılmış sekmeleri değiştir", "navigate-back": "Geri git", "navigate-forward": "İleri git", "use-dark-mode": "Karanlık moda gec", "use-light-mode": "Aydınlık moda gec", "change-theme": "Temayı değiştir", "search-current-file": "Geçerli dosyada ara", "search-replace-current-file": "Geçerli dosyada ara ve değiştir", "add-property": "Dosya özellikleri ekle", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Add alias", "clear-properties": "Dosya özelliklerini temizle", "open-settings": "Ayarları aç", "open-help": "Yardımı aç", "toggle-edit": "Düzenleme/okuma modunu değiştir", "toggle-source-mode": "Canlı Önizleme/Kaynak modunu değiştir", "delete-current-file": "Dosyayı sil", "new-tab": "Yeni sekme", "show-trash": "Çöp kutusunu göster", "close-all-tabs": "Tüm sekmeleri kapat", "close-active-tab": "Geçerli sekmeyi kapat", "close-others-in-tab-group": "Sekme grubundaki diğerlerini kapatın", "close-other-tabs": "Diğer tüm sekmeleri kapat", "close-tab-group": "Bu sekme grubunu kapatın", "toggle-left-sidebar": "Sol yan pencereyi aç/kapat", "toggle-ribbon": "Şeridi aç/kapat", "toggle-right-sidebar": "Sağ yan pencereyi aç/kapat", "toggle-default-new-tab-mode": "Yeni sekmeler için varsayılan modu değiştir", "add-cursor-above": "Üstüne imleç ekle", "add-cursor-below": "Altına imleç ekle", "focus-editor": "Editöre odaklan", "toggle-fold-properties": "Mevcut dosyadaki katlama özelliklerini aç/kapat", "toggle-fold": "Satırı katla/göster", "fold-all": "Bütün başlıkları ve listeleri katla", "unfold-all": "Bütün başlıkları ve listeleri göster", "fold-more": "Daha fazla katla", "fold-less": "Daha az katlayın", "swap-line-up": "Üstteki satırla değiştir", "swap-line-down": "Alttaki satırla değiştir", "remove-heading": "Başlığı kaldır", "toggle-heading": "Başlık olarak ayarla {{level}}", "toggle-bold": "Seçileni koyu/normal yap", "toggle-italics": "Seçileni italik/normal yap", "toggle-highlight": "Seçilenin üstünü çiz/çizme", "toggle-comments": "Yorumları seç/seçme", "clear-formatting": "Biçimlendirmeyi temizle", "insert-link": "Linki ekle", "toggle-spellcheck": "İmlâ denetimini aç/kapat", "delete-paragraph": "Paragrafı sil", "toggle-checklist": "Yapılacaklar listesine dönüştür", "cycle-list-checklist": "Döngü maddesi/onay kutusu", "insert-callout": "Belirtme çizgisi ekle", "insert-code-block": "Kod bloğu ekle", "insert-math-block": "Matematik bloğu ekle", "insert-horizontal-rule": "Yatay çizgi ekle", "insert-table": "Tablo ekle", "insert-footnote": "Insert footnote", "edit-file-title": "Dosya başlığını düzenle", "copy-path": "Dosya yolunu kopyala", "copy-url": "Obsidian URL'sini kopyala", "export-pdf": "PDF olarak dışa aktar", "reload": "Uygulamayı kaydetmeden yeniden yükle", "undo-close-tab": "Sekmeyi kapat'ı geri al", "context-menu": "Bağlam menüsünü işaretçinin altında göster", "show-debug-info": "Ayıklama bilgilerini göster", "open-sandbox-vault": "Sandbox kasasını açın", "always-on-top": "Pencereyi her zaman üstte aç/kapat", "zoom-in": "Yakınlaştır", "zoom-out": "Uzaklaştır", "reset-zoom": "Yakınlaştırmayı sıfırla", "toggle-preview": "Düzenleme/Önizleme moduna geç", "move-to-new-window": "Geçerli bölmeyi yeni pencereye taşı", "open-in-new-window": "Geçerli bölmeyi yeni pencerede aç", "rename-current-file": "Geçerli dosyayı yeniden adlandır", "go-to-prev-tab": "Önceki sekmeye git", "go-to-next-tab": "Sonraki sekmeye git", "go-to-last-tab": "Son sekmeye git", "go-to-nth-tab": "#{{n}}. sekmeye git", "show-release-notes": "Sürüm notlarını görüntüle" }, "dialogue": { "label-link-affected": "Bu eylem {{files}} dosyada {{links}} bağlantısını etkileyecek.", "msg-updated-links": "{{files}} dosyada {{links}} bağlantısı güncellendi.", "label-update-links": "Bağlantıları güncelle", "label-confirm-update-link-to-file": "Bu dosyayı gösteren dahili bağlantılar güncellensin mi?", "button-always-update": "Her zaman güncelle", "button-just-once": "Sadece bu sefer güncelle", "button-do-not-update": "Güncelleme yapma", "label-confirm-deletion": "\"{{filename}}\"'i silmek istediğinize emin misiniz?", "label-move-to-system-trash": "Sistem çöpüne taşınacak.", "label-move-to-vault-trash": "Obsidian çöpüne taşınacak. Kasanın içindeki \".trash\" gizli klasöründe.", "label-permanent-delete": "Dosya kalıcı olarak silinecek.", "label-non-empty-folder": "Bu klasör boş değil.", "label-delete-folder-warning": "Devam ederseniz, bu klasör içindeki bütün dosyalar silinecek.", "label-delete-folder": "Klasörü sil", "button-delete": "Sil", "button-delete-do-not-ask-again": "Sil ve bir daha sorma", "label-do-not-ask-again": "Bir daha sorma", "label-existing-backlink": "Şu anda bu nota işaret eden {{count}} bağlantı var.", "label-existing-backlink_plural": "Şu anda bu nota işaret eden {{count}} bağlantı var.", "label-delete-file": "Dosyayı sil", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Yönet", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "İptal", "button-download": "Download", "button-done": "Tamam", "button-save": "Kaydet", "button-stop": "Durdur", "button-continue": "Devam et", "button-choose": "Seç", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "PDF hazırlanıyor...", "label-rename-file": "Yeniden adlandır", "label-rename-file-generic": "Dosya adı", "label-new-name": "Yeni Ad", "msg-rename-success": "Yeniden adlandırıldı.", "msg-merge-failed": "Notları birleştirmede başarısız oldu: {{message}}", "msg-file-or-folder-not-found": "“{{path}}” dosya veya klasörü mevcut değil.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Başlığı yeniden adlandır", "label-rename-blockid": "Blok kimliğini yeniden adlandır" }, "menu-items": { "new-file": "Yeni Not Oluştur", "new-file-to-the-right": "Sağa Yeni Not", "new-window": "Yeni Pencere", "open-switcher": "Hızlı Aç...", "open-vault": "Kasa Aç...", "close-tab": "Sekmeyi Kapat", "close-window": "Pencereyi Kapat", "find": "Ara", "replace": "Yer değiştir", "insert-callout": "Belirtme çizgisi ekle", "insert-markdown-link": "Markdown Bağlantı", "insert-wikilink": "Bağlantı", "set-heading": "Başlık {{level}}", "no-heading": "Başlık Yok", "insert-quote": "Alıntı", "export-pdf": "PDF'yi dışa Aktar", "insert-attachment": "Ek Dosya Ekle...", "insert-codeblock": "Kod Bloğu", "insert-math-block": "Matematik Bloğu", "insert-table": "Tablo", "insert-footnote": "Footnote", "toggle-bullet-list": "Madde İşaretli Liste", "toggle-numbered-list": "Numaralı Liste", "toggle-checklist": "Görev Listesi", "toggle-bold": "Kalın", "toggle-code": "Kod", "toggle-comment": "Yorum", "toggle-italics": "İtalik", "toggle-inline-math": "Math", "toggle-highlight": "Vurgula", "toggle-strikethrough": "Üstü Çizili", "toggle-comments": "Yorum", "folding-menu": "Katlama", "fold-all": "Tümünü Katla", "unfold-all": "Tümünü Aç", "fold-more": "Daha Fazla Katla", "fold-less": "Daha Az Katlayın", "source-mode": "Kaynak Modu", "reading-view": "Okuma Görünümü", "show-debug-info": "Hata Ayıklama Bilgilerini Göster", "open-sandbox": "Sandbox Kasasını Açın", "navigate-back": "Geri Git", "navigate-forward": "İleri git", "toggle-left-sidebar": "Sol Kenar Çubuğunu Değiştir", "toggle-right-sidebar": "Sağ Kenar Çubuğunu Değiştir", "toggle-ribbon": "Ribbon", "split-right": "Sağa Böl", "split-down": "Aşağı Böl", "release-notes": "Sürüm Notları" }, "plugins": { "name": "Eklentiler", "file-explorer": { "name": "Dosya Gezgini", "desc": "Kasanızdaki tüm dosyaları gösterir.", "action-open": "Dosya gezginini aç", "action-show": "Dosya gezgininde göster", "action-create-note": "Yeni not oluştur", "action-create-folder": "Yeni klasör oluştur", "action-create-note-in-current-tab": "Geçerli sekmede yeni not oluşturma", "action-create-note-to-the-right": "Sağ tarafa not oluşturun", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Tümünü daralt", "action-expand-all": "Tümünü genişlet", "action-new-note": "Yeni not", "action-new-folder": "Yeni klasör", "action-change-sort": "Sıralamayı değiştir", "action-reveal-file": "Dosya gezgininde dosyayı göster", "action-reveal-active-file": "Dosya gezgininde aktif dosyayı göster ", "command-make-a-copy": "Geçerli dosyanın bir kopyasını oluşturuns", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Dosyayı başka bir klasöre taşı", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Dosyayı şuraya taşı...", "action-move-folder": "Klasörü şuraya taşı...", "action-move-items": "{{count}} öğeyi şuraya taşı...", "prompt-type-folder": "Bir klasör yazın", "label-no-folders": "Klasörler bulunamadı", "instruction-navigate": "Yönlendirme", "instruction-move": "Taşıma", "instruction-create": "oluşturmak için", "instruction-dismiss": "Reddet", "label-sort-a-to-z": "İsme göre sırala (A'dan Z'ye)", "label-sort-z-to-a": "İsme göre sırala (Z'den A'ya)", "label-sort-new-to-old": "Değiştirilme zamanına göre sırala (yeniden eskiye)", "label-sort-old-to-new": "Değiştirilme zamanına göre sırala (eskiden yeniye)", "label-sort-created-old-to-new": "Oluşturma tarihi (eskiden yeniye)", "label-sort-created-new-to-old": "Oluşturma tarihi(yeniden eskiye)", "menu-opt-new-note": "Yeni not", "menu-opt-new-folder": "Yeni klasör", "menu-opt-rename": "Yeniden adlandır", "menu-opt-delete": "Sil", "menu-opt-make-copy": "Kopyasını oluştur", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "Dosya adı bu karakterleri içeremez: ", "msg-unsafe-characters": "Bağlantılar, şu karakterlerden herhangi birini içeren dosya adlarıyla çalışmaz: ", "msg-file-already-exists": "Aynı isimde bir dosya zaten var", "msg-empty-file-name": "Dosya adı boş olamaz.", "msg-bad-dotfile": "Dosya adı bir nokta ile başlamamalıdır.", "tooltip-modified-time": "Son Düzenleme {{time}}", "tooltip-created-time": "Oluşturuldu {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Başlıksız", "label-untitled-folder": "Başlıksız", "msg-set-attachment-folder": "Ekler bundan sonra \"{{path}}\" klasörüne kaydedilecek." }, "search": { "name": "Ara", "desc": "Bütün notlar içinde ara.", "action-open-search": "Tüm notları ara", "label-collapse-results": "Sonuçları gizle", "label-match-case": "Harf boyutunu kullan", "label-explain-search-term": "Aramayı anlat", "label-more-context": "Daha fazla içerik göster", "label-result-count": "{{count}} sonuç", "label-result-count_plural": "{{count}} sonuç", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Arama ayarları", "prompt-start-search": "Aramak için yazın...", "label-match-text": "Uyan yazı: ", "label-match-regex": "Uygunluk Regex'i: ", "label-match-exact-text": "Tam Uyan Metin: ", "label-match-greater-than": "Büyükse: ", "label-match-less-than": "Küçükse: ", "label-match-true": "Doğru ise", "label-match-false": "Yanlış ise", "label-match-empty": "Boş ise", "label-match-property": "Özellik içeriyor:", "label-match-all": "Tamamına uydur: ", "label-match-any": "Birine uydur: ", "label-excluding": "Hariç: ", "label-case-sensitive": "Büyük-küçük harfe duyarlı", "label-case-insensitive": "Büyük-küçük harfe duyarsız", "label-match-file-path": "Dosya yolunu eşleştir: ", "label-match-file-name": "Dosya adını eşleştir: ", "label-match-content": "Dosya içeriğini eşleştir: ", "label-match-task": "Görevi eşleştir: ", "label-match-task-todo": "Görevi eşleştir (yapılacak): ", "label-match-task-done": "Görevi eşleştir (tamamlandı): ", "label-match-line": "Satırı eşleştir: ", "label-match-block": "Bloğu eşleştir: ", "label-match-section": "Bölümü eşleştir: ", "label-match-tag": "Etiketi eşleştir: ", "label-no-matches": "Eşleşme bulunamadı", "matches-with-count": "... ve {{count}} tane daha sonuç.", "matches-with-count_plural": "... ve {{count}} tane daha sonuç", "label-copy-search-results": "Arama sonuçlarını kopyala", "button-copy-results": "Sonuçları Kopyala", "msg-successfully-copied": "Sonuçlar Kopyalandı.", "option-show-path": "Dosya yolunu göster", "option-show-path-description": "Yalnızca dosya adı yerine dosyanın tam yolunu görüntüleyin.", "option-link-style": "Bağlantı sitili", "option-link-style-description": "İsteğe bağlı olarak her dosya sonucunu bir bağlantıya çevirin.", "option-choice-link-style-none": "Hiç biri", "option-choice-link-style-wikilink": "Wikilink", "option-choice-link-style-markdown-link": "Markdown Bağlantısı", "option-list-prefix": "Liste öneki", "option-list-prefix-description": "İsteğe bağlı olarak her dosya sonucuna bir liste öğesi öneki ekleyin.", "option-choice-list-style-none": "Hiç biri", "option-choice-list-style-dash": "Çizgi (-)", "option-choice-list-style-asterisk": "Yıldız (*)", "option-choice-list-style-numbered": "Numaralandırılmış", "tooltip-clear-search": "Aramayı Temizle", "label-search-options": "Arama Seçenekleri", "label-properties-group": "Özellikler", "label-tags-group": "Etiketler", "tooltip-read-more": "Daha fazlasını oku", "label-history": "Geçmiş", "tooltip-clear-history": "Arama Geçmişini Temizle", "label-path-option-description": "dosya yolunu eşleştir", "label-file-name-option-description": "dosya adını eşleştir", "label-tag-option-description": "Etiketleri Ara", "label-line-option-description": "Aynı satırdaki kelimelerde ara", "label-section-option-description": "Aynı başlık altındaki kelimelerde ara", "label-property-option-description": "özellik eşleştir", "menu-opt-search-for": "Ara \"{{keyword}}\"", "menu-opt-search-in-folder": "Klasörde ara" }, "quick-switcher": { "name": "Hızlı Geçiş", "desc": "Klavyenizi bırakmadan hızlıca başka bir dosyaya geçin. Ctrl/Cmd+O ile kullanın.", "short-name": "Geçici", "action-open": "Hızlı geçişi aç", "instruction-navigate": "geçmek için", "instruction-open": "açmak için", "instruction-open-in-new-tab": "yeni sekmede açmak için", "instruction-open-to-the-right": "sağa doğru açmak için", "instruction-create": "oluşturmak için", "instruction-dismiss": "vazgeçmek için", "instruction-select": "seçmek için", "label-no-note-create-new": "Not bulunamadı. Yeni bir tane oluşturmak için Enter.", "prompt-type-file-name": "Geçmek ya da oluşturmak için dosya adını yazın...", "label-enter-to-create": "Oluşturmak için Enter", "tooltip-not-created-yet": "Henüz oluşturulmadı, oluşturmak için seçin", "option-show-existing-only": "Sadece varolanları göster", "option-show-existing-only-description": "Henüz oluşturulmamış dosyalara bağlantıların gösterilip gösterilmeyeceği.", "option-show-attachments": "Ekleri göster", "option-show-attachments-desc": "Resimler, videolar ve PDF'ler gibi ek dosyalarını gösterin.", "option-show-all-file-types": "Tüm dosya tiplerini göster", "option-show-all-file-types-desc": "Obsidian'ın açamadığı dosyalar dahil tüm dosyaları göster. Dosya, o dosya türü için varsayılan uygulama ile açılacaktır." }, "graph-view": { "name": "Grafik Görünümü", "desc": "Hangi notların hangi notlar ile bağlantılı olduğunu bir grafik üzerinden görüntüleyin.", "action-open": "Grafik görünümünü aç", "action-open-local": "Yerel grafiği aç", "action-copy-screenshot": "Ekran görüntüsünü kopyala", "tab-title": "{{displayText}}'in grafiği", "label-filters": "Filtreler", "prompt-filter-nodes": "Klasörlerde ara...", "option-depth": "Derinlik", "option-depth-description": " Düğümlere bu sayıda bağlantıyı göster", "option-neighbor-links": "Komşu bağlantılar", "option-neighbor-links-description": "Aralarında bağlantı olan tüm bağlantıları göster", "option-forelinks": "Giden Bağlantılar", "option-forelinks-description": "Diğer dosyalara olan bağlantıları göster", "option-backlinks": "Gelen Bağlantılar", "option-backlinks-description": "Diğer dosyalardan bağlantıları göster", "option-show-tags": "Etiketler", "option-show-tags-description": "Etiketler, onları içeren dosyalara bağlanır", "option-show-attachments": "Ekler", "option-show-attachments-description": "Dosyaların içerdiği ekleri göster", "option-show-existing-files-only": "Yalnızca mevcut dosyalar", "option-show-existing-files-only-description": "İşaretlendiğinde, var olmayan dosyalara bağlantılar gösterilmez", "option-show-orphans": "Bağlantısızlar", "option-show-orphans-description": "Başka bir dosyaya bağlı olmayan dosyaları göster", "label-display": "Göster", "option-show-arrows": "Oklar", "option-show-arrows-description": "Yakınlaştırıldığında okları göster", "option-text-fade": "Metin solma eşiği", "option-node-size": "Düğüm Boyutu", "option-link-thickness": "Bağlantı kalınlığı", "label-forces": "Güçler", "option-center-force": "Merkez gücü", "option-link-force": "Bağlantı gücü", "option-link-distance": "Bağlantı mesafesi", "option-repel-force": "itme kuvveti", "tooltip-open-graph-settings": "Grafik ayarlarını aç", "msg-screenshot-copied": "Ekran görüntüsü kopyalandı.", "label-groups": "Gruplar", "placeholder-enter-query": "Sorgu girin...", "tooltip-delete-graph": "Grubu sil", "button-new-group": "Yeni grup", "tooltip-click-to-change-drag-to-reorder": "Rengi değiştirmek için tıkla\nGrubu yeniden düzenlemek için sürükle", "action-timelapse": "Hızlandırılmış animasyonunu başlat", "tooltip-start-timelapse-animation": "Hızlandırma nimasyonunu başlat", "button-animate-timelapse": "Hareketlendirmek" }, "backlinks": { "name": "Geri Bağlantılar", "desc": "Durum çubuğunda geri bağlantı sayısını göster.", "action-open": "Arka bağlantıları aç", "action-show": "Arka bağlantılar penceresini aç", "action-open-for-current": "Mevcut dosyanın geri bağlantılarını aç", "action-toggle-backlinks-in-document": "Belgedeki geri bağlantıları aç/kapat", "menu-opt-backlinks-in-document": "Belgedeki geri bağlantılar", "label-linked-mentions": "Bağlantılı bahsetmeler", "label-no-backlinks": "Geri bağlantı bulunamadı.", "label-unlinked-mentions": "Bağlantılı olmayan bahsetmeler", "label-show-search": "Arama filtrelerini göster", "label-link-button-text": "Bağlantı", "tab-title": "{{displayText}} için geri bağlantılar", "label-no-unlinked-mentions": "Bağlantısız bahsetme bulunamadı", "ellipsis": "...", "option-backlink-in-document": "Dökümandaki geri bağlantılar", "option-backlink-in-document-desc": "Yeni bölmeler açarken varsayılan olarak belgede geri bağlantıları göster." }, "outgoing-links": { "name": "Giden bağlantılar", "desc": "Giden bağlantıları gösterin ve mevcut nottaki diğer notların bağlantısız bahsetmelerini tespit edin.", "action-open": "Giden bağlantıları aç", "action-show": "Giden bağlantılar penceresini göster", "action-open-for-current": "Mevcut dosya için giden bağlantıları aç", "tab-title": "{{displayText}}'dan giden bağlantılar", "label-links": "Bağlantılar", "label-no-links": "Bağlantı bulunamadı.", "label-unlinked-mentions": "Bağlantısız bahsetmeler", "tooltip-link-file": "Bu dosyayı bağla", "tooltip-not-created": "Henüz oluşturulmadı" }, "tag-pane": { "name": "Etiket paneli", "short-name": "Etiketler", "desc": "Tüm etiketlerinizi ve oluşum sayılarıyla birlikte görüntüler.", "action-show": "Etiket panelini göster", "label-no-tags": "Etiket bulunamadı.", "label-sort-by-name-a-to-z": "Etiketler (A'dan Z'ye)", "label-sort-by-name-z-to-a": "Etiketler (Z'den to A'ya)", "label-sort-by-frequency-high-to-low": "Sıklık (yüksekten düşüğe)", "label-sort-by-frequency-low-to-high": "Sıklık (düşükten yükseğe)", "action-show-nested-tags": "Alt etiketleri göster", "action-collapse-all": "Tümünü daralt", "action-expand-all": "Tümünü genişlet" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Özellikler görünümü", "desc": "Dosyalarınızın meta verilerini gösterin.", "name-global": "Tüm özellikler", "name-local": "Dosya özellikleri", "tab-title": "{{displayText}} için dosya özellikleri", "action-show": "Tüm özellikleri göster", "action-show-local": "Tüm dosya özelliklerini göster", "opt-unassign-type": "Tipi kaldır", "label-no-properties": "Özellik bulunamadı.", "label-invalid-properties": "Geçersiz özellikler.", "label-sort-by-name-a-to-z": "Özellik adı (A'dan Z'ye)", "label-sort-by-name-z-to-a": "Özellik adı (Z'den A'ya)", "label-sort-by-frequency-high-to-low": "Sıklık (yüksekten düşüğe)", "label-sort-by-frequency-low-to-high": "Sıklık (düşükten yükseğe)", "msg-merge-properties-warning": "“{{oldKey}}” özelliğini “{{newKey}}” ile birleştirmek istiyor musunuz?", "msg-merge-properties-warning-desc": "Çakışma durumunda değerler birleştirilecek veya “{{oldKey}}” değeri kullanılacak.", "action-collapse-all": "Tümünü daralt", "action-expand-all": "Tümünü genişlet", "action-open-local": "Dosya özelliklerini aç", "action-open-daily-note": "Günlük notunu aç" }, "page-preview": { "name": "Sayfa Önizlemesi", "desc": "Dahili bir bağlantı üzerinde gezinirken bir notu önizleyin. Editör modunda Ctrl/Cmd + fareyle üzerine gelin.", "label-empty-attachment": "“{{linktext}}” bulunamadı.", "label-empty-note": "\"{{linktext}}\" henüz oluşturulmadı. Oluşturmak için tıklayın.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Düzenleyici", "label-source-preview": "Ön İzleme", "label-source-search": "Arama, Arka bağlantılar, Ve giden bağlantılar", "label-source-tab-header": "Tab header", "label-require-mod": "Fareyle üzerine gelindiğinde sayfa önizlemesini tetiklemek için {{key}} gerektir" }, "bookmarks": { "name": "Yer İmleri", "desc": "Sık kullanılan dosyaları ve aramaları yer imlerine ekleyin.", "action-show": "Yer işaretlerini göster", "action-collapse-all": "Tümünü daralt", "action-new-bookmark": "Etkin sekmeye yer işareti koyun...", "action-new-group": "Yeni yer imi grubu", "action-bookmark": "Yer işaretleri...", "action-add-bookmark": "Yer işareti ekle", "action-edit-bookmark": "Yer işaretlerini düzenle", "action-bookmark-block": "İmleç altındaki yer imi bloğu...", "action-bookmark-heading": "İmleç altındaki başlığı yer imlerine ekle...", "action-bookmark-search": "Geçerli aramaya yer işareti koy...", "action-remove-bookmark": "Geçerli dosya için yer imini kaldır", "action-bookmark-tab-group": "Yer işareti {{count}} sekme...", "action-bookmark-tab-group_plural": "Yer işareti {{count}} sekme...", "action-bookmark-all-tabs": "Tüm sekmeleri yer imlerine ekle...", "action-bookmark-graph": "Bu grafiği yer imlerine ekle...", "label-bookmark": "Yer işareti", "label-bookmarked": "Yer işareti eklenmiş", "label-bookmark-with-count": "{{count}} yer işareti", "label-bookmark-with-count_plural": "{{count}} yer işareti", "label-no-bookmarks": "Yer işareti bulunamadı", "label-invalid-data": "Yer işaretleri yüklenemedi.", "label-invalid-data-desc": "Dosya bozulmuş.", "label-untitled-group": "İsimsiz grup", "label-untitled-graph": "İsimsiz Grafik", "menu-opt-edit": "Düzenle...", "menu-opt-remove": "Kaldırmak", "menu-opt-rename": "Yeniden Adlandır", "menu-opt-bookmark-block": "Bu bloğu yer imi olarak işaretle", "menu-opt-bookmark-heading": "Bu başlığı yer imlerine ekleyin...", "msg-no-search-query": "Yer işareti koymak için arama sorgusu yok.", "option-path": "Yol", "option-query": "Sorgu", "option-u-r-l": "URL", "option-title": "Başlık", "option-group": "Yer işaretleri grubu", "placeholder-bookmark-group": "Yer işaretleri" }, "custom-css": { "name": "Özel CSS", "desc": "Kasadan \"obsidian.css\" okur ve uygular.", "setting-community-themes": "Topluluk temaları", "msg-fetching-themes": "Topluluk tema verileri getiriliyor...", "prompt-filter": "Filtrele...", "label-dark-theme-only": "Sadece karanlık temalar", "label-light-theme-only": "Sadece aydınlık temalar", "label-use": "Kullan", "label-stop-use": "Bu temayı kullanmayı bırakın", "label-install-and-use": "Kurun ve kullanın", "label-update": "Güncelle", "label-no-readme": "Bu tema bir BENİOKU dosyası sağlamadı.", "tooltip-remove-theme": "Temayı sil", "label-visit-on-github": "GitHub'ı ziyaret et", "msg-load-error": "Topluluk temaları yüklenemedi, lütfen ağınızı kontrol edin.", "msg-now-using-theme": "Artık CSS temanızı {{title}} olarak kullanıyorsunuz.", "msg-deleted-theme": "{{title}} teması silindi.", "msg-updated-theme": "{{title}} teması güncellendi.", "label-installed": "Kurulmuş", "label-legacy": "Miras", "button-update-all-themes": "Tümünü güncelle", "msg-failed-load-themes": "Topluluk temaları yüklenemedi.", "msg-no-updates-found": "Tema güncellemesi bulunamadı.", "msg-updates-found": "Güncellenecek {{count}} tema bulundu.", "msg-updates-found_plural": "Güncellenecek {{count}} tema bulundu.", "msg-failed-to-install-theme": "\"{{name}}\" teması yüklenemedi.", "msg-successfully-installed-theme": "\"{{name}}\" teması başarıyla yüklendi.", "msg-installing-theme": "\"{{name}}\" temasını yükle...", "label-search-summary": "{{themeCount}} gösteriliyor:", "label-update-available": "Güncelleme mevcut" }, "command-palette": { "name": "Komut Paleti", "desc": "Çağırmak için bir komut yazın. Kullanıcı arayüzünü kullanmanıza veya kısayolu hatırlamanıza gerek yok.", "action-open": "Komut paletini aç", "instruction-navigate": "Yönlendirmek", "instruction-use": "Kullanmak", "instruction-dismiss": "Vazgeçmek", "label-no-commands": "Komut bulunamadı.", "prompt-type-command": "Bir komut yazın...", "label-pinned-commands": "Sabitlenmiş komutlar", "option-add-new-pin": "Yeni komut sabitle", "option-add-new-pin-description": "Sabitlenmiş komutlar, arama sorgusu olmadığında tüm komutların başında görünür." }, "markdown-format-importer": { "name": "Markdown formatı içe aktarıcı", "desc": "Markdown'ı diğer uygulamalardan Obsidian formatına dönüştürün.", "action-open": "Markdown yükleyicisini aç", "option-roam-tag-fixer": "Roam Research etiket düzelticisi", "option-roam-tag-fixer-description": "\"#tag\" ve \"#[[tag]]\" öğelerini \"[[tag]]\" biçimine dönüştürür.", "option-roam-highlight-fixer": "Roam Research vurgulayıcı düzeltici", "option-roam-highlight-fixer-description": "\"^^highlight^^\" ifadesini \"==highlight==\" dönüştürür.", "option-roam-todo-converter": "Roam Research TODO dönüştürücüsü", "option-roam-todo-converter-description": "\"{{[[TODO]]}}\" öğesini \"[ ]\" biçimine dönüştürür.", "option-bear-highlight-fixer": "Bear vurgu düzeltici", "option-bear-highlight-fixer-description": " \"::highlight::\" ifadesini \"==highlight==\" dönüştürür.", "zettelkasten-link-fixer": "Zettelkasten bağlantı düzeltici", "zettelkasten-link-fixer-description": "\"[[UID]]\" bağlantılarını tamamen \"[[UID Dosya Adı]]\" biçimine dönüştürür.", "zettelkasten-link-beautifier": "Zettelkasten bağlantı güzelleştirici", "zettelkasten-link-beautifier-description": "\"[[UID]]\" bağlantılarını düzeltir ve ayrıca onları \"[[UID Dosya Adı|Dosya Adı]]\" biçiminde güzelleştirir.", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Uyarı: İçe aktarıcı, yalnızca geçerli dosyayı değil, kasanızdaki tüm dosyaları dönüştürür.", "msg-override-files-warning": "Dosyalarınızın üzerine yazılacak. Dönüştürmeyi başlatmadan önce tüm dosyalarınızı yedekleyin.", "label-start-conversion": "Dönüştürmeyi Başlat", "label-stop": "Dur", "label-go-back": "Geri git", "label-done": "Tamamlandı", "label-processing": "İşleniyor...", "label-cancelling": "İptal ediliyor...", "label-finished": "Bitti!", "label-processed-files": "İşlenmiş Dosyalar", "label-modified-files": "Değiştirilmiş dosyalar", "label-total-replacements": "Toplam değiştirme", "label-failed": "Failed" }, "daily-notes": { "name": "Günlük Notlar", "desc": "Günün notunu aç, yoksa yenisini oluştur.", "short-name": "Bugün", "action-open": "Bugünün Notunu Aç", "action-open-previous": "Önceki Günün Notu", "action-open-next": "Sonraki Günün Notu", "action-insert-text": "Günün notu için metin girin", "action-insert-link": "Günün notu için bağlantı girin", "msg-fail-format": "Günlük not oluşturulamadı. \"{{format}}\" geçerli bir biçim değil.", "msg-fail-folder": "Günlük not oluşturulamadı. \"{{folderOption}}\" klasörü bulunamadı.", "msg-fail-template-file": "Günlük not oluşturulamadı. Şablon dosyası \"{{template}}\" bulunamadı.", "msg-no-previous": "Bundan öncesinde günlük not yok", "msg-no-next": "Bundan sonrasında günlük not yok.", "option-date-format": "Tarih biçimi", "label-refer-to-syntax": "Daha fazla sözdizimi için bkz. ", "label-syntax-link": "biçim referansı", "label-syntax-live-preview": "İşte nasıl görüneceği: ", "option-new-file-location": "Yeni dosya konumu", "option-new-file-location-description": "Yeni günlük notu oluşturmak için klasör yolu.", "option-template": "Şablon dosya konumu", "option-template-description": "Şablon olarak kullanılacak dosya yolu.", "option-open-on-start": "Başlangıçta günlük notu aç", "option-open-on-start-description": "Bu kasayı her açtığınızda günlük notunuzu otomatik olarak açın." }, "unique-note-creator": { "name": "Benzersiz not oluşturucu", "desc": "Zettelkasten veya slip box gibi iş akışları için benzersiz zaman damgası önekleriyle notlar oluşturun.", "short-name": "Benzersiz", "action-create-note": "Yeni benzersiz not oluştur", "action-add-link": "Add unique internal link", "option-new-file-location": "Yeni dosya konumu", "option-new-file-location-description": "Yeni benzersiz notu oluşturmak için klasör yolu.", "msg-folder-not-found": "Benzersiz not oluşturulamadı. \"{{folderOption}}\" klasörü bulunamadı.", "option-template-file": "Şablon dosyası konumu", "option-template-file-description": "Şablon olarak kullanılacak dosya yolu.", "option-template-file-placeholder": "Örnek: klasör1/not", "option-id-format": "Benzersiz önek biçimi", "msg-template-file-not-found": "Benzersiz not oluşturulamadı. Şablon dosyası \"{{template}}\" bulunamadı.", "msg-failed-to-generate": "\"{{format}}\" biçiminde benzersiz bir not oluşturulamadı." }, "random-note": { "name": "Rastgele Not", "desc": "Rastgele bir not aç. Keşfetmek ve Gözden geçirmek için faydalı.", "short-name": "Rastgele", "action-open": "Rastgele not oluştur" }, "outline": { "name": "Anahat", "desc": "Geçerli dosyanın veya bağlantılı pencerenin ana hatlarını görüntüler.", "action-open": "Anahattı aç", "action-show": "Anahat bölmesini göster", "action-open-for-current": "Geçerli dosyanın ana hatlarını aç", "tab-title": "{{displayText}} ana hatları", "label-no-headings": "Başlık bulunamadı.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Kelime sayısı", "desc": "Durum barında kelime sayısını göster." }, "slides": { "name": "Slaytlar", "desc": "Markdown aracılığı ile sunum. Slaytları ayırmak için \"---\" kullanın.", "action-start": "Sunuma başla" }, "audio-recorder": { "name": "Ses kaydedicisi", "desc": "Sesi kaydet ve dosyayı ek olarak kaydedin.", "action-start": "Ses kaydetmeye başla", "action-stop": "Ses kaydını durdur", "action-toggle": "Kaydı başlat/durdur", "msg-access-denied": "Mikrofon erişimi reddedildi, lütfen tercih bölmesinden etkinleştirin.", "msg-pending-grant": "Lütfen kaydı başlatmak için mikrofona izin verin.", "msg-no-microphone": "Mikrofon bağlı değil." }, "open-with-default-app": { "name": "Varsayılan uygulamada aç", "desc": "Geçerli dosya için varsayılan uygulama seçme butonu", "action-open-file": "Varsayılan uygulamada aç", "action-open-file-mobile": "Paylaş", "action-show-in-folder": "Klasörde göster", "action-show-in-folder-mac": "Finder'da Göster" }, "templates": { "name": "Şablonlar", "desc": "Şablon dosyalarının bulunduğu bir klasörden şablon içeriği ekleyin.", "action-insert": "Şablon ekle", "action-insert-current-date": "Geçerli tarihi ekle", "action-insert-current-time": "Geçerli saati ekle", "option-template-folder-location": "Şablon klasör konumu", "option-template-folder-location-description": "Bu klasördeki dosyalar şablon olarak mevcut olacak.", "option-template-date-format": "Tarih biçimi", "option-template-date-format-description": "Şablon dosyasındaki {{date}} değeri bu değerle değiştirilecektir.", "option-template-date-format-description2": "Biçimi bir kez geçersiz kılmak için {{tarih:YYYY-MM-DD}} öğesini de kullanabilirsiniz.", "option-template-time-format": "Zaman formatı", "option-template-time-format-description": "Şablon dosyasındaki {{time}} bu değerle değiştirilecektir.", "option-template-time-format-description2": "Biçimi bir kez geçersiz kılmak için {{time:HH:mm}} öğesini de kullanabilirsiniz.", "instruction-navigate": "Yönlendir", "instruction-insert": "Şablon ekle", "instruction-dismiss": "Vazgeç", "msg-no-templates-found": "Şablon bulunamadı", "msg-fail-invalid-folder": "Şablonlar listelenemedi. Şablon klasörü geçersiz.", "msg-fail-folder-not-found": "Şablonlar listelenemedi. \"{{folderOption}}\" klasörü bulunamadı.", "msg-fail-invalid-template-properties": "Unable to insert template, the properties in the template file could not be read.", "msg-no-folder-set": "Şablonlar listelenemedi. Yapılandırılmış şablon klasörü yok.", "prompt-type-template": "Bir şablonun adını yazın..." }, "translucency": { "name": "yarı saydam pencere", "desc": "Derinlik hissini geliştirmek için yarı saydamlık efektini açın. En iyi karanlık modda kullanılır. Linux'ta desteklenmez." }, "slash-command": { "name": "Eğik çizgi komutları", "desc": "Eğik çizgi yazarak düzenleyicide eğik çizgi komutlarını tetikleme özelliğini etkinleştirin." }, "editor-status": { "name": "Düzenleyici durumu", "desc": "Ageçerli düzenleyici modunu göstermek ve değiştirmek için bir durum çubuğu öğesi ekler.", "read": "Okuma", "edit-source": "Kaynak modu", "edit-live-preview": "Canlı önizleme" }, "publish": { "name": "Yayınla", "desc": "Notlarınızı Obsidian Publish aracılığıyla yayınlayın.", "action-publish-changes": "Değişiklikleri yayınla", "action-publish-file": "Mevcut dosyayı yayımla", "label-no-internet-access": "Değişiklikleri yayınlamak için internete erişmeniz gerekir.", "label-publish-service-description": "Obsidian Publish, notlarınızı doğrudan Obsidian'dan çevrimiçi olarak yayınlamanıza izin veren ek ücretli bir hizmettir.", "label-please-login": "Yayınlamaya başlamak için lütfen giriş yapın veya yeni bir Obsidian hesabı oluşturun.", "label-no-publish-subscription": "Henüz bir Obsidian Publish aboneliğiniz yok.", "button-purchase": "Satın al", "label-manage-sites": "Siteleri yönet", "label-no-sites": "Hiç siteniz yok.", "button-choose": "Seç", "tooltip-edit-site-id": "Site ID'sini düzenle", "tooltip-delete-site": "Siteyi sil", "label-delete-site-confirmation": "Bu siteyi silmek istediğinizden emin misiniz?", "label-delete-site-details": "Bu, sitenizi hemen ve kalıcı olarak siler.", "label-confirm-delete-site": "\"{{site}}\" sitesini silmeyi onaylayın", "option-site-id": "Site ID", "option-site-id-description": "Siteniz https://publish.obsidian.md/{site id} adresinde olacaktır. Bunu daha sonra değiştirebilirsiniz. Yalnızca küçük harflere, sayılara ve tirelere izin verilir.", "option-site-id-placeholder": "Site ID'si seçin", "button-create": "Oluştur", "msg-invalid-site-id": "Site kimliği yalnızca küçük harfler, sayılar ve kısa çizgiler içerebilir.", "msg-site-id-in-use": "Bu site kimliği kullanımda, lütfen başka bir tane deneyin.", "msg-create-site-issue": "Sitenizi oluştururken bu bir sorun oluştu.", "label-site-options": "Site seçenekleri", "option-site-general": "Genel", "option-site-components": "Bileşenler", "option-site-appearance": "Görünüm", "option-site-reading-experience": "Okuma deneyimi", "option-site-misc": "Diğer site ayarları", "option-site-name": "Site adı", "option-site-name-description": "Yayınlanan sitenizin adı. Sitenizin sayfa başlığında görünecektir.", "option-site-name-placeholder": "Sitenizin adı", "option-home-page-file": "Ana sayfa dosyası", "option-home-page-file-description": "Kullanıcının yayınladığınız siteye geldiğinde gördüğü ilk sayfa", "option-home-page-file-placeholder": "Yayınlanmış bir dosya seçin", "option-logo": "Logo", "option-logo-description": "Site logonuz olarak bir resim dosyası seçin.", "option-logo-placeholder": "Kasanıza yüklenen herhangi bir resim...", "option-site-collaboration": "Site işbirliği", "option-site-collaboration-desc": "Bu site için ortak çalışanları yönetin.", "option-customize-navigation": "Navigasyonu özelleştirme", "option-customize-navigation-desc": "Gezinme öğelerinin sırasını geçersiz kılın ve sayfaların veya klasörlerin gösterilmesini engelleyin.", "option-navigation-order": "Gezinti öğesi görüntüleme sırası", "option-hide-items-in-navigation": "Sayfaları veya klasörleri gezintiden gizleme", "option-hide-items-in-navigation-desc": "Belirli sayfaların site navigasyonunda görünmesini engellemek için sağ tıklayın ve \"Gizle\" seçeneğini seçin. Sayfalara bağlantılar aracılığıyla veya doğrudan URL'ye erişerek erişilebilir olmaya devam edecektir.", "option-show-hidden-items": "Gizli göster", "button-customize-sidebar": "Yönet", "label-navigation-modal-title": "Navigasyon", "label-navigation-modal-desc": "Gezinti öğelerinin Publish sitenizde görünme sırasını özelleştirmek için sürükleyip bırakın.", "option-hide-in-navigation": "Navigasyonda gizle", "button-manage-collaborators": "Yönet", "option-theme": "Tema", "option-theme-description": "Siteniz için varsayılan renk düzenini seçin.", "option-theme-system": "Sisteme uyum sağlayın", "option-show-theme-toggle": "Açık / Koyu geçiş", "option-show-theme-toggle-description": "Ziyaretçinin Açık ve Koyu tema arasında kendi başına geçiş yapmasına izin verin.", "option-show-navigation": "Navigasyonu göster", "option-show-navigation-description": "Yayınlanan sitenizin sol tarafında yayınlanan tüm sayfaların bir listesini görüntüleyin.", "option-show-search": "Arama çubuğunu göster", "option-show-search-description": "Ziyaretçilerin sitenizdeki sayfaları ve başlıkları aramasını sağlayan gezinmenin üst kısmında bir arama çubuğu görüntüleyin.", "option-show-graph": "Grafik görünümünü göster", "option-show-graph-description": "Her sayfada küçük bir yerel grafik görüntüleyin.", "option-show-outline": "İçindekileri göster", "option-show-outline-description": "Her sayfada başlıkların ana hatlarını görüntüleyin.", "option-show-backlinks": "Geri bağlantıları göster", "option-show-backlinks-description": "Her sayfanın sonunda geri bağlantı bölümünü gösterin.", "option-sliding-window-mode": "Sürgülü pencereleri kullanın", "option-sliding-window-mode-description": "Sayfaları sağdaki yeni bölmelerde açın. Bölmeler arasında yatay olarak kaydırmaya izin verir.", "option-hover-preview-file": "Fareyle üzerine gelindiğinde önizlemesini göster", "option-hover-preview-file-description": "Bağlantılar üzerinde gezinirken sayfa önizlemesini görüntüle.", "option-hide-title": "Sayfa başlığını gizle", "option-hide-title-description": "Sayfa başlığı başlığını gizleyin. Her sayfanın başında kendi başlıklarınız olduğunda kullanışlıdır.", "option-readable-line-length": "Okunabilir satır uzunluğu", "option-readable-line-length-description": "Maksimum satır uzunluğunu sınırlayın. Ekrana daha az içerik sığdırır, ancak uzun paragrafları daha okunaklı hale getirir.", "option-site-password": "Şifreler", "option-site-password-description": "Şifrelerle sitenize erişimi kısıtlayın.", "option-google-analytics": "Google Analytics takip kodu", "option-google-analytics-description": "Siteniz için Google Analytics'i yapılandırın. Yalnızca özel alan URL'nizden gelen ziyaretçiler için kullanılabilir. Lütfen önce yerel yasalarınızı ve düzenlemelerinizi kontrol edin.", "button-manage-passwords": "Yönet", "button-save-site-settings": "Site ayarlarını kaydet", "msg-updated-options": "Siteniz için güncellenmiş seçenekler.", "button-go-back": "Geri", "label-publishing-to": "Şuraya yayınlanıyor:", "tooltip-switch-site": "Siteyi değiştir", "button-add-linked": "Bağlantılı ekle", "tooltip-add-linked": "Şu anda seçili öğelerle bağlantılı tüm dosyaları ekle", "msg-added-linked-files": "{{count}} bağlantılı dosya eklendi.", "msg-added-linked-files_plural": "{{count}} bağlantılı dosya eklendi.", "tooltip-open-site-options": "Site seçeneklerini değiştir", "label-no-changes-detected": "Herhangi bir değişiklik tespit edilmedi.", "label-changed-files-to-be-published": "Değişiklikler", "label-unchanged-files-already-published": "Değiştirilmedi (silmek için seçin)", "label-file-selected": "seçilmiş", "button-select-all-files": "Hepsini seç", "label-custom-navigation-title": "Navigasyon öğeleri", "button-deselect-all-files": "Hepsini kaldır", "label-new-files-to-be-published": "Yeni", "button-publish": "Yayınla", "msg-no-permission-to-publish-to-site": "Geçerli sitede yayınlama izniniz yok.", "msg-select-at-least-one-file": "Lütfen en az bir dosya seçin.", "label-upload-changes": "Değişiklikleri yükle", "button-done": "Tamamlandı", "button-stop": "Dur", "label-status-uploading": "Yükleniyor", "label-status-to-publish": "Yayımla", "label-status-to-delete": "Sil", "label-status-published": "Yayınlandı", "label-status-deleted": "Silindi", "label-status-failed": "Başarısız oldu", "label-status-cancelled": "İptal edildi", "button-change": "Değiştir", "label-clear-cache": "Değişikliklerin sitenizde görünmesi birkaç dakika kadar sürer. En son değişikliklerinizi görmüyorsanız, tarayıcınızın önbelleğini temizlemeyi deneyin.", "label-visit-site": "Sitenizi buradan ziyaret edebilirsiniz: ", "msg-something-went-wrong": "Bir şeyler yanlış gitti. Ayrıntılar için lütfen geliştirici konsolunu kontrol edin.", "msg-network-error": "Bir ağ hatası oluştu. ", "label-manage-passwords": "Şifreleri yönet", "label-add-password": "Şifre Ekle", "action-new-password": "Yeni şifre", "label-no-password": "Sitenizin şu anda herhangi bir şifresi yok. Herkes ziyaret edebilir.", "label-have-password": "Siteniz şifre korumalıdır. Birden fazla parolanız varsa, ziyaretçiler bunlardan herhangi birini girerek sitenize erişebilir.", "option-password-name": "Şifre", "option-password-desc": "Parolanızın karma güvenlik protokollü hali güvenli bir şekilde saklanacaktır. Parola ayarlandıktan sonra düz metin olarak gösterilemez.", "option-password-placeholder": "Sizin şifreniz", "option-nickname-name": "takma ad (isteğe bağlı)", "option-nickname-desc": "Kendinize parolanın ne veya kime ait olduğunu hatırlatmak için bir takma ad belirleyin.", "action-add-password": "Bu şifreyi ekle", "label-untitled-password": "Adsız şifre", "label-password-created-time": "Oluşturuldu {{time}}", "msg-added-new-password": "Yeni şifre eklendi.", "option-custom-domain": "Özel alan adı", "option-custom-domain-desc": "https://publish.obsidian.md/{site id} URL'si yerine kendi alan adınızı kullanın.", "option-noindex": "Arama motoru indekslemeye izin verme", "option-noindex-desc": "Arama motorlarının sitenizi dizine eklemesini önleyin.", "button-configure": "Yapılandırma", "label-configure-custom-domain": "Özel alan adını yapılandırın", "option-custom-url-name": "Özel URL", "option-custom-url-desc": "Sitenizin bulunacağı URL.", "option-custom-url-placeholder": "www.sizinsiteadınız.com", "option-custom-url-redirect": "Özel alan adınıza yönlendirin", "option-custom-url-redirect-desc": "Publish.obsidian.md/id adresindeki ziyaretçileri özel alan adınıza yönlendirin.", "button-update-custom-domain": "Alan ayarını güncelle", "label-custom-domain-instructions": "Daha fazla bilgi için lütfen yardım sitemizdeki {{link}} sayfamıza bakın.", "label-custom-domain-link-name": "özel alan adı kurulum kılavuzu", "label-site-usage": "{{site}} limitinizin {{limit}} kadar alanını kullanıyorsunuz.", "button-add-more-sites": "Daha fazla site satın alın", "label-no-sites-bought": "Herhangi bir site satın almadınız.", "button-get-site": "Bir site alın", "label-manage-sharing": "\"{{name}}\" için paylaşımı yönetin", "label-sharing-with-users": "Bu site şu anda aşağıdaki kişilerle paylaşılmaktadır.", "label-not-sharing": "Bu site şu anda kimseyle paylaşılmamaktadır.", "label-invite-pending": "Beklemede", "tooltip-remove-user": "Kullanıcıyı kaldır", "option-invite-user": "Kullanıcı davet et", "placeholder-invite-user": "E-postalarını girin...", "error-email-must-be-valid": "Birini davet etmek için lütfen geçerli bir e-posta girin.", "msg-enable-publish-plugin": "Siteleri görüntülemek için lütfen Ayarlar -> Çekirdek eklentiler bölümünden Yayınla çekirdek eklentisini etkinleştirin.", "label-your-sites": "Siteleriniz", "label-sites-shared-with-you": "Sizinle paylaşılan siteler", "tooltip-leave-site-sharing": "Bu sitede işbirliği yapmayı bırakın", "label-leave-site-confirmation": "Durdurma sahası işbirliğini onaylayın", "label-leave-site-confirmation-details": "Bu işlem, bu siteyi sizinle paylaşılan siteler listesinden kaldıracaktır. Bu işlem geri alınamaz.", "label-leave-site-confirmation-details-2": "Bu sitede tekrar işbirliği yapmak istiyorsanız lütfen sitenin sahibiyle iletişime geçin.", "button-leave": "Ayrılmak", "label-compare-with-live": "Canlı versiyon ile karşılaştırın", "button-use-live-version": "Canlı sürümü kullan", "label-confirm-override": "Geçersiz kılınan yerel sürümü onayla", "label-confirm-override-1": "Yerel sürümü geçersiz kılmak istediğinizden emin misiniz?", "label-confirm-override-2": "Canlı sürüm kullanılacak ve yerel sürümünüz atılacaktır. Gerekirse lütfen yedekleme yapın.", "button-proceed": "İlerlemek", "message-successfully-used-live-version": "Yerel sürümünüzü geçersiz kılmak için canlı sürüm başarıyla kullandı.", "label-open-in-live-site": "Open in live site", "label-open-file": "Dosyayı aç", "tooltip-manage-publish-filters": "Yayınlama filtrelerini yönetme", "option-included-folders": "Dahil edilen klasörler", "option-included-folders-desc": "Yayımlanacak değişiklikleri gözden geçirdiğinizde bu klasörlerin altındaki dosyalar otomatik olarak seçilir.", "option-currently-included-folders": " Bu klasörler şu anda dahil edilmiştir:", "option-excluded-folders": "Hariç tutulan klasörler", "option-excluded-folders-desc": "Yayımlanacak değişiklikleri gözden geçirdiğinizde bu klasörlerin altındaki dosyalar görünmez. Bu ayar, yukarıdaki klasörlere göre önceliklidir.", "label-number-of-folders-included": "Obsidian Publish şu anda {{folders}} içeriyor.", "label-number-of-folders-excluded": "Obsidian Publish şu anda {{folders}} hariç tutuluyor.", "label-manage-included-folders": "Dahil edilen klasörleri yönetme", "label-manage-excluded-folders": "Hariç tutulan klasörleri yönetme", "label-add-included-folder": "Bir klasör ekle", "label-add-included-folder-desc": "Hem mevcut klasörleri hem de henüz oluşturulmamış klasörleri ekleyebilirsiniz.", "tooltip-contact-support": "Destek ekibiyle iletişime geçin", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "Çalışma Alanları", "desc": "Çalışma alanı düzenini kaydedin ve yükleyin.", "action-load-layout": "Çalışma alanı düzenini yükle", "action-manage-layouts": "Çalışma alanı düzenlerini yönetme", "action-save": "Düzeni kaydet", "action-save-and-load-layout": "Başka bir düzeni kaydedin ve yükleyin", "placeholder-save-current-layout-as": "Geçerli çalışma alanı düzenini farklı kaydet...", "button-save": "Kaydet", "button-load": "Yükle", "tooltip-delete-layout": "Düzeni sil", "msg-enter-name": "Lütfen yeni düzen için bir ad girin.", "msg-save-layout-success": "Düzen başarıyla kaydedildi.", "label-no-layout-found": "Kaydedilmiş düzen bulunamadı.", "label-workspace-modified-time": "Değiştirilme zamanı{{time}}", "placeholder-type-to-search-layouts": "Düzen adını yazın..." }, "sync": { "name": "Senkronizasyon", "desc": "Dosyalarınızı Obsidian Sync ile senkronize edin.", "action-view-version-history": "Sürüm geçmişini görüntüle", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Sürüm geçmişini aç", "action-view-sync-sidebar": "Senkronizasyon geçmişini göster", "action-activity-log": "Etkinlik günlüğünü aç", "label-load-more": "Daha fazla göster", "label-show-diff": "Farkı göster", "label-copy-to-clipboard": "Panoya kopyala", "label-restore-this-version": "Bu sürümü onar", "msg-already-latest-version": "Bu sürüm zaten en son sürümdür.", "msg-restored-version": "{{time}} tarihli sürüm başarıyla geri yüklendi", "label-file-deleted": "Bu dosya silindi", "label-file-deleted-via": "{{ device }} üzerinden silindi", "label-file-renamed-from": "Bu dosya \"{{filepath}}\" adından yeniden adlandırıldı", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revizyon", "label-revision_plural": "{{revisions}} revizyon", "label-via-device": "{{device}} üzerinden", "label-no-history": "Bu dosya için senkronizasyon geçmişi bulunmuyor.", "label-empty-file": "Boş", "label-unable-to-retrieve": "Sürüm geçmişi alınamadı", "label-setting-files": "Ayarlar klasörü", "label-deleted-files": "Silinenler Klasörü", "label-version-history": "Sürüm geçmişi", "label-click-to-see-history": "Geçmişini görmek için silinen bir dosyaya tıklayın.", "label-create-remote-vault": "Uzak erişim kasası oluştur", "msg-please-enter-password": "Lütfen bir şifre girin.", "msg-vault-name-cannot-be-empty": "Kasa adı boş olamaz.", "msg-successfully-created-vault": "Uzak erişim kasası \"{{name}}\" başarıyla oluşturuldu.", "label-remote-vault-explanation": "Uzak kasalar, kasanızı cihazlar arasında güvenli bir şekilde senkronize eder.", "option-vault-name": "Kasa adı", "option-vault-name-desc": "Bu kasanın ne için olduğunu hatırlamanıza yardımcı olur.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Size en yakın sunucu bölgesini seçerek uzak depoyu saklayın. Bu seçim ileride değiştirilemez.", "option-vault-name-placeholder": "benim harika kasam", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Şifreleme şifresi", "option-encryption-password-desc": "Bu şifre daha sonra değiştirilemez.", "option-encryption-password-desc-warning": "Bu parolayı unutursanız, herhangi bir uzak veri sonsuza kadar kullanılamaz kalacaktır.", "option-encryption-password-desc-2": "Bu, yerel verilerinizi etkilemez.", "label-encryption-password-explanation": " Uzak depo “{{name}}” şu anda şifreli. Kilidini açmak için şifrenizi girin.", "option-encryption-password-placeholder": "Şifreniz", "label-unlock-encrypted-vault": "Uzak depoyu kilitle", "button-unlock-vault": "Kasanın kilidini aç", "label-remote-vaults": "Uzak kasalarınız", "label-vault-created-time": "{{time}} tarihinde oluşturuldu.", "tooltip-delete-remote-vault": "Sil", "tooltip-rename-remote-vault": "Yeniden Adlandır", "label-rename-remote-vault": "Uzak depoyu \"{{name}}\" olarak yeniden adlandır", "label-rename-remote-vault-desc": "Bu uzak depo için yeni bir isim girin.", "tooltip-manage-sharing": "Paylaşımı yönet", "label-confirm-delete-remote-vault": "Kasayı silme işlemini onayla", "label-confirm-delete-remote-vault-question": "Bu uzaktan erişim kasasını silmek istediğinizden emin misiniz?", "label-confirm-delete-remote-vault-result": "Sürüm Geçmişi dahil olmak üzere sunucumuzdaki tüm veriler silinir. Yerel dosyalarınız bozulmadan kalacaktır.", "label-confirm-delete-remote-vault-warning": "Bu işlem kalıcıdır ve geri alınamaz", "msg-remote-vault-deleted": "{{name}} silindi.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: Bağlı uzak depo artık mevcut değil.", "button-connect-to-remote-vault": "Bağlan", "button-disconnect-from-remote-vault": "Bağlantıyı kes", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "Uzaktan bağlantılı kasanız yok.", "label-no-subscription": "Aktif bir Obsidian Sync aboneliğiniz bulunmuyor.", "label-please-visit": "Lütfen ziyaret edin", "label-preview-unsupported-file-type": "{{type}} dosyalarını önizleyemiyor.", "button-create-new-remote-vault": "Yeni kasa oluştur.", "label-sync-log": "Senkronizasyon günlüğü", "option-event-type-all": "Tümü", "option-event-type-errors": "Hatalar", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Çakışmaları birleştir", "button-copy-sync-log": "Senkronizasyon günlüğünü kopyala", "msg-successfully-copied-sync-log": "Senkronizasyon günlüğü başarıyla kopyalandı.", "button-retry": "Yeniden dene", "button-purchase-subscription": "Satın Al", "label-third-party-sync-warning": "Çakışan dosya eşitleme servisi algılandı", "label-third-party-sync-warning-desc": "Uyarı: Kasanız, üçüncü taraf senkronizasyon hizmeti olarak {{service}} kullanıyor gibi görünüyor. Bu kasa ile Obsidian Sync kullanırsanız, çakışma, dosya bozulması veya veri kaybı yaşayabilirsiniz.", "label-icloud-drive-warning": "iCloud Drive kullanıyorsanız Belgeler ve Masaüstü klasörleriniz iCloud tarafından eşzamanlanabilir. Bu, Obsidian Sync ile çakışmalara neden olabilir.", "option-remote-vault": "Uzak kasa", "button-choose-remote-vault": "Seç", "button-manage-remote-vault": "Yönetmek", "option-remote-vault-desc-connected": "Şu anda \"{{name}}\" uzak kasasına bağlı.", "option-remote-vault-desc-not-connected": "Şu anda herhangi bir uzak kasaya bağlı değil.", "option-sync-status": "Senkronizasyon durumu", "option-sync-status-desc-paused": "Obsidian Sync şu anda duraklatıldı.", "option-sync-status-desc-running": "Obsidian Sync şu anda çalışıyor.", "option-device-name": "Cihaz Adı", "option-device-name-desc": "Bu ad, eşitleme günlüğünde görüntülenecektir. Varsayılan adı kullanmak için boş bırakın.", "button-resume": "Devam et", "button-pause": "Dur", "option-view-deleted-files": "Silinen dosyalar", "option-view-deleted-files-desc": "Silinen dosyaları görüntüleyin ve geri yükleyin.", "option-sync-log": "Senkronizasyon etkinliği", "option-sync-log-desc": "Hata ayıklama için son senkronizasyon etkinliklerini görüntüleyin.", "button-view": "Görüntüleme", "button-bulk-restore": "Toplu geri yükleme", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Geri yükleniyor...", "msg-restoring-complete": "Geri yükleme tamamlandı: {{succeeded}} başarılı ve {{failed}} başarısız oldu.`", "option-vault-size": "Kasa boyutu", "option-vault-size-desc": "Kullanılan alan: {{size}} / {{limit}}", "option-vault-size-unknown": "Kasa boyutunuz alınamıyor.", "option-vault-size-loading": "Kasa boyutunuz alınıyor...", "option-over-size": "Kasa boyutu limiti aşıyor", "option-almost-over-size": "Kasa boyutu limite yaklaşıyor", "msg-largest-files": "En büyük dosyaları görüntüle", "msg-largest-files-desc": "Bunlar en fazla yer kaplayan uzak dosyalardır. Ekleri sildikten sonra, uzak kasa alanını boşaltmak için temizleme düğmesini kullanın.", "button-upgrade-storage": "Depolamayı yükselt", "button-purge-remote": "Temizle", "button-hide-my-changes": "Değiikliklerimi gizle", "tooltip-purge-remote": "Yer kazanmak için silinen ekleri uzak kasadan kalıcı olarak temizleyin.", "msg-purge-complete": "Temizleme tamamlandı.", "option-prevent-sleep": "Cihaz uykusunu önleyin", "option-prevent-sleep-desc": "Henüz senkronize edilecek dosyalar bulunurken cihazın uyku moduna geçmesini engeller.", "option-selective-sync": "Seçici senkronizasyon", "option-excluded-folders": "Hariç tutulan klasörler", "option-excluded-folder-desc": "Belirli klasörlerin senkronize edilmesini önleyin.", "option-currently-excluded-folders": " Şu anda hariç tutulan klasörler:", "button-manage-excluded-folders": "Yönet", "option-sync-image": "Resimleri senkronize et", "option-sync-image-desc": "Resim dosyalarını şu uzantılarla senkronize edin: {{extensions}}.", "option-sync-audio": "Sesi senkronize et", "option-sync-audio-desc": "Ses dosyalarını şu uzantılarla senkronize edin: {{extensions}}.", "option-sync-video": "Videoları senkronize et", "option-sync-video-desc": "Video dosyalarını şu uzantılarla senkronize edin: {{extensions}}.", "option-sync-pdf": "PDF dosyalarını senkronize et", "option-sync-pdf-desc": "PDF dosyalarını senkronize edin.", "option-sync-unsupported": "Diğer tüm türleri senkronize et", "option-sync-unsupported-desc": "Desteklenmeyen dosya türlerini senkronize edin.", "option-vault-config-sync": "Kasa ayarları senkronizasyonu", "option-view-config-files": "Ayarlar sürüm geçmişi", "option-view-config-files-desc": "Ayar dosyalarının sürüm geçmişini görüntüleyin ve geri yükleyin.", "option-sync-app": "Ana ayarlar", "option-sync-app-desc": "Düzenleyici ayarlarını, dosyaları & bağlantı ayarlarını, özel kısayol tuşlarını vb. senkronize etmeyi etkinleştirin.", "option-sync-appearance": "Görünüm ayarları", "option-sync-appearance-desc": "Karanlık mod, etkin tema ve etkinleştirilmiş snippet'ler gibi görünüm ayarlarını senkronize edin.", "option-sync-appearance-data": "Temalar ve snippet'ler", "option-sync-appearance-data-desc": "İndirilen temaları ve snippet'leri senkronize edin. Etkin olup olmadıkları önceki ayara bağlıdır.", "option-sync-hotkey": "Kısayol tuşları", "option-sync-hotkey-desc": "Özel kısayol tuşlarını senkronize edin.", "option-sync-core-plugin": "Aktif çekirdek eklenti listesi", "option-sync-core-plugin-desc": "Hangi çekirdek eklentilerin etkinleştirildiğini senkronize edin.", "option-sync-core-plugin-data": "Çekirdek eklenti ayarları", "option-sync-core-plugin-data-desc": "Çekirdek eklenti ayarlarını senkronize edin.", "option-sync-community-plugin": "Aktif topluluk eklenti listesi", "option-sync-community-plugin-desc": "Hangi topluluk eklentilerinin etkinleştirildiğini senkronize edin.", "option-sync-community-plugin-data": "Yüklü topluluk eklentileri", "option-sync-community-plugin-data-desc": "Yüklü topluluk eklentilerini (.js, .css ve manifest.json dosyaları) ve ayarlarını senkronize edin.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync, Obsidian'ın uçtan uca şifreleme ve sürüm geçmişine sahip eklenti senkronizasyon hizmetidir.", "label-account-required": "Senkronizasyonu başlatmak için lütfen giriş yapın veya yeni bir Obsidian hesabı oluşturun.", "label-current-file": "Mevcut dosya", "label-sync-changes": "Değişiklikleri senkronize et", "label-today": "Bugün", "label-yesterday": "Dün", "label-this-week": "Bu hafta", "label-older": "Daha eski", "label-last-sync": "Son senkronizasyon", "label-more": "{{count}} daha fazla", "button-sign-up": "Üye ol", "button-log-in": "Giriş yap", "label-manage-excluded-folders": "Hariç tutulan klasörleri yönet", "label-number-of-folders-excluded": "{{folders}} şu anda senkronize edilmenin dışında tutuluyor.", "label-add-excluded-folder": "Bir klasörü hariç tut", "label-add-excluded-folder-desc": "Hem mevcut klasörleri hem de henüz oluşturulmamış klasörleri hariç tutabilirsiniz.", "tooltip-remove-excluded-folder": "Hariç tutulanlar listesinden kaldır", "label-setup-connection": "Bağlantı kurulumu", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "Artık \"{{name}}\" adresine bağlısınız.", "button-start-syncing": "Senkronizasyonu başlat", "label-confirm-merge-vault": "Kasayı Birleştirmeyi Onaylayın", "msg-vault-has-notes": "Yerel kasanız zaten bazı notlar içeriyor.", "msg-vault-merge-warning": "Uzak kasaya \"{{name}}\" bağlanırsanız, yerel kasanızdaki notlar uzak kasanızdaki notlarla birleştirilir. Çakışma durumunda, notun en son sürümü korunacaktır.", "tooltip-update-setting-on-all-devices": "Lütfen bu seçeneği güncelleyin ve etkili olmasını istediğiniz tüm cihazlarda uygulamayı yeniden başlatın.", "label-sharing-with-users": "Bu uzak kasa şu anda aşağıdaki kişilerle paylaşılmaktadır.", "label-not-sharing": "Bu uzak kasa şu anda kimseyle paylaşılmıyor.", "label-vaults-shared-with-you": "Sizinle paylaşılan kasalar", "tooltip-leave-vault-sharing": "Bu kasada işbirliği yapmayı bırak", "label-leave-vault-confirmation": "Kasa işbirliğini durdurmayı onayla", "label-leave-vault-confirmation-details": "Bu, bu kasa sizinle paylaşılan kasalar listesinden kaldıracaktır. Bu eylem geri alınamaz.", "label-leave-vault-confirmation-details-2": "Bu kasada tekrar işbirliği yapmak isterseniz lütfen kasanın sahibiyle iletişime geçin.", "button-leave": "Ayrıl", "msg-error-failed-to-fetch": "Uzak depolar yüklenemedi.", "label-require-subscription-to-connect": "Bu kasaya bağlanmak için Obsidian Sync aboneliğine ihtiyacınız var.", "option-contact-support": "Destek ekibiyle iletişime geçin", "option-contact-support-desc": "Obsidian Sync ile ilgili herhangi bir sorunla karşılaşırsanız, size yardımcı olabilmemiz için lütfen bizimle iletişime geçin! Bize şu adresten ulaşabilirsiniz support@obsidian.md.", "button-copy-debug": "Hata ayıklama bilgisini kopyala", "button-email-support": "E-posta desteği", "label-sync-disconnected": "Sync uzak bir depoya bağlı değil.", "msg-remote-vault-limit-hit": "Obsidian Sync 5 adede kadar uzak kasa oluşturmanıza izin verir. Yeni bir uzak kasa oluşturmak için lütfen mevcut bir kasayı kaldırın.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "Dosya Kurtarma", "desc": "Yanlışlıkla veri kaybından kurtulmak için en son anlık görüntüleri geri yüklemenize izin verin. Anlık görüntüler yalnızca Markdown dosyaları için kaydedilir.", "action-open": "Kaydedilmiş anlık görüntüleri aç", "option-interval": "Anlık görüntü aralığı", "option-interval-description": "İki anlık görüntü arasında dakika cinsinden minimum aralık.", "option-keep": "Geçmiş uzunluğu", "option-keep-description": "Anlık görüntülerin gün cinsinden depolanma uzunluğu.", "option-open-history": "Anlık görüntüler", "option-open-history-description": "Kaydedilen anlık görüntüleri görüntüleyin ve geri yükleyin.", "button-view-history": "View", "option-clear": "Geçmişi temizle", "option-clear-description": "Tüm anlık görüntüleri silin.", "button-clear-history": "Temizle", "label-clear-warning": "Tüm anlık görüntüleri silmek istediğinizden emin misiniz? Yalnızca anlık görüntülerin kaldırılacağını unutmayın. Kasanızdaki tüm dosyalar etkilenmeyecektir.", "msg-clear-complete": "Anlık görüntüler temizlendi.", "label-no-history-found": "Anlık görüntü bulunamadı.", "placeholder-choose-file": "Bir dosya seçin...", "label-select-file": "Anlık görüntüleri görüntülemek için lütfen soldan bir dosya seçin." }, "note-composer": { "name": "Not Oluşturucu", "desc": "Notları birleştir, böl ve yeniden düzenle", "option-confirm-file-merge": "Dosya birleştirmeyi onaylayın", "option-confirm-file-merge-description": "İki dosyayı birleştirmeden önce sor.", "option-split-replacement-text": "Çıkardıktan sonra metin", "option-split-replacement-text-description": "Seçili metin ayıklandıktan sonra yerine ne gösterilecek.", "option-choice-split-replacement-text-link": "Yeni dosyaya bağlantı", "option-choice-split-replacement-text-embed": "Yeni dosya göm", "option-choice-split-replacement-text-none": "Hiçbir şey", "option-template-file": "Şablon dosya konumu", "option-template-file-description": "Birleştirirken veya ayıklarken kullanılacak şablon dosyası. Kullanılabilir değişkenler: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, e.g. {{date:YYYY-MM-DD}}.", "command-merge-file": "Geçerli dosyayı başka bir dosyayla birleştir...", "action-merge-file": "Dosyanın tamamını şununla birleştir...", "label-no-files": "Dosya bulunamadı.", "instruction-navigate": "Yönlendirme", "instruction-merge": "Birleştirme", "instruction-create-new": "Yeni bir tane oluştur", "instruction-merge-at-top": "Üstte birleştir", "instruction-dismiss": "Vazgeç", "prompt-select-file-to-merge": "Birleştirilecek dosyayı seçin...", "label-merge-file": "Dosyayı birleştir", "label-confirm-file-merge": "\"{{file}}\" öğesini \"{{destination}}\" ile birleştirmek istediğinizden emin misiniz? \"{{file}}\" silinecek.", "button-merge": "Birleştir", "command-split-file": "Geçerli seçimi çıkar...", "command-extract-heading": "Bu başlığı çıkartın...", "instruction-append": "aşağıya doğru hareket ettir", "instruction-prepend": "yukarıya doğru hareket ettir", "msg-fail-to-fetch-template": "Şablon dosyası getirilemedi: \"{{template}}\" bulunamadı.", "msg-fail-to-find-heading": "Başlık bulunamadı" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Tuval", "desc": "Sonsuz bir tuval üzerinde notları düzenleyin ve bağlayın.", "action-add-note": "Kasadan not ekleyin", "action-add-media": "Kasadan medya ekleme", "action-add-card": "Kart ekle", "action-add-website": "Web sayfası ekle", "action-create-group": "Grup oluştur", "action-create-with-size": "Belirli boyutta bir kart oluşturun", "action-convert-to-file": "Dosyaya dönüştür...", "action-drag-to-add-note": "Kasadan not eklemek için sürükleyin", "action-drag-to-add-media": "Kasadan medya eklemek için sürükleyin", "action-drag-to-add-card": "Kart eklemek için sürükleyin", "action-edit-label": "Etiketi düzenle", "action-remove-label": "Etiketi çıkarın", "action-search-file": "Dosya arama", "action-set-color": "Renk ayarla", "action-align": "Hizala", "action-align-left": "Sola hizala", "action-align-center": "Merkezi hizala", "action-align-right": "Sağa hizala", "action-align-top": "Üst kısmı hizala", "action-align-middle": "Ortayı hizala", "action-align-bottom": "Alt kısmı hizala", "action-distribute-horizontal-spacing": "Yatayda boşlukları dağıtın", "action-distribute-vertical-spacing": "Dikeyde aralıkları dağıtın", "action-justify-horizontally": "Yatayda eşit yasla", "action-justify-vertically": "Dikeyde eşit yasla", "action-arrange-horizontally": "Bir satır halinde düzenle", "action-arrange-vertically": "Bir sütun halinde düzenle", "action-arrange-grid": "Bir ızgara şeklinde düzenle", "action-export-png": "Görüntü olarak dışa aktar", "action-jump-to-group": "Gruba git", "action-set-background": "Arka planı ayarla", "action-edit-background": "Arka planı düzenle", "action-replace-background": "Arka planı değiştir", "action-remove-background": "Arka planı kaldır", "label-no-images": "Resim bulunamadı.", "label-no-media": "No media found.", "label-export-png-desc": "\"{{title}}\" aşağıdaki ayarlarla bir PNG dosyası ile dışa aktarın.", "label-export-png-dimensions": "Tahmini görüntü boyutları: {{dimensions}}", "label-distribute": "Dağıt", "label-justify": "Yasla", "label-arrange": "Sırala", "label-always": "Daima", "label-hover": "Üzerine gelindiğinde", "label-never": "Asla", "label-no-section-found": "Bölüm bulunamadı", "option-wheel-behavior": "Varsayılan fare tekerleği davranışı", "option-mod-drag-behavior": "Varsayılan {{key}} davranışı", "option-show-menu": "Menüyü göster", "option-new-canvas-location": "Yeni tuval dosyaları için varsayılan konum", "option-new-canvas-location-description": "Yeni tuval dosyalarının yerleştirileceği konum.", "option-new-canvas-folder-path": "Yeni tuval dosyalarının oluşturulacağı klasör", "option-new-canvas-folder-path-description": "Yeni oluşturulan tuval dosyaları bu klasörün altında görünecektir.", "option-node-label": "Kart etiketini görüntüle", "option-snap-to-grid": "Izgaraya tuttur", "option-snap-to-grid-desc": "Kartları taşırken veya yeniden boyutlandırırken arka plan ızgarasına tutturun.", "option-snap-to-objects": "Nesnelere tuttur", "option-snap-to-objects-desc": "Kartları Taşırken ve yeniden boyutlandırırken yakındaki nesnelere tutturun.", "option-zoom-breakpoint": "Kart içeriğini gizlemek için yakınlaştırma eşiği", "option-zoom-breakpoint-desc": "Daha düşük değerler performansı artırır ancak uzaklaştırma sırasında kart içeriğini daha erken gizler.", "option-export-png-show-logo": "Logoyu göster", "option-export-png-show-logo-desc": "Bu, sol alt kısma bir Obsidian logosu ekleyecektir.", "option-export-png-privacy-mode": "Gizlilik modu", "option-export-png-privacy-mode-desc": "Bu, tuvalinizdeki herhangi bir metni gizleyecektir.", "option-export-png-zoom": "Yakınlaştır", "option-export-png-zoom-desc": "Daha yüksek bir yakınlaştırma daha yüksek çözünürlüklü bir görüntü oluşturacaktır.", "option-export-png-frame": "Görünüm alanı", "option-export-png-frame-desc": "Tüm tuvali veya yalnızca geçerli görünür görünüm alanını oluşturmayı seçin.", "option-export-png-frame-full": "Tam tuval", "option-export-png-frame-viewport": "Yalnızca görüntü alanı", "option-background-cover": "Kapak", "option-background-ratio": "En-boy oranını koru", "option-background-repeat": "Tekrar", "action-new-canvas": "Yeni tuval", "action-remove": "Kaldır", "action-narrow-heading": "Başlığa daralt...", "action-narrow-block": "Bloğa daralt...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Dosya değiştir...", "action-change-url": "URL'yi değiştir...", "action-zoom-to-fit": "Sığdırmak için yakınlaştır", "action-zoom-to-selection": "Seçime yakınlaştır", "action-reload-page": "Sayfayı yeniden yükle", "action-follow-connection": "Bağlantıyı takip et", "command-create-new-canvas": "Yeni tuval oluşturun", "command-convert-to-file": "Dosyaya dönüştür...", "instruction-narrow-heading": "başlığı gömmek için", "instruction-narrow-block": "bloğu gömmek için", "instruction-jump-to-group": "gruba gitmek için", "prompt-to-narrow": "Başlığın adını yazın", "label-enter-url": "URL Girin", "label-empty-embed": "\"{{linktext}}\" bulunamadı.", "prompt-add-text": "Metin ekleyin...", "prompt-start-search": "Aramak için yazın...", "label-canvas-help": "Tuval yardım", "label-canvas-settings": "Tuval ayarları", "label-no-narrow": "Tüm dosyayı göster", "label-show-default-view": "Show default view", "label-readonly": "Salt okunur", "label-disable-readonly": "Salt okunur olmayı devre dışı bırak", "label-pan": "Kaydırma", "label-pan-horizontal": "Yatay kaydırma", "label-zoom": "Yakınlaştır", "label-select-all": "Tümünü seçin", "label-add-remove-selection": "Seçime ekleme / seçimden çıkarma", "label-clone-card": "Klon kartı", "label-constrain-movement-axis": "Kart hareketini eksene kısıtlama", "label-disable-drag-snapping": "Sürükleme sırasında yapışmayı devre dışı bırakma", "label-remove-card": "Kartı çıkarın", "label-drag-from-below": "Aşağıdan sürükleyin veya çift tıklayın", "label-longpress": "Eklemek / taşımak / seçmek için dokunun ve tutun", "label-drag-pan": "Kaydırmak için sürükleyin", "label-pinch-zoom": "Yakınlaştırmak için sıkıştırın", "label-space-drag-pan": "Kaydırmak için Boşluk + Sürükleme", "label-scroll-to-zoom": "Yakınlaştırmak için kaydırın", "label-untitled-group": "İsimsiz grup", "label-line-direction": "Satır yönü", "label-nondirectional": "Yönsüz", "label-unidirectional": "Tek yönlü", "label-bidirectional": "Çift yönlü", "label-image": "Resim", "label-style": "Stil", "msg-no-groups-found": "Grup bulunamadı", "msg-export-failed-empty-canvas": "Boş bir tuval dışa aktarılamaz", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Hepsini vurgula", "action-match-diacritics": "Diyakritik işaretleri eşleştir", "action-whole-words": "Kelimenin tamamı", "action-show-thumbnails": "Küçük resimler", "action-show-outline": "İçerik tablosu", "action-reveal-in-outline": "Sayfayı içerik tablosunda göster", "action-toggle-sidebar": "Kenar çubuğunu aç/kapat", "action-previous-page": "Önceki sayfa", "action-next-page": "Sonraki sayfa", "action-fit-width": "Genişiği sığdır", "action-fit-height": "Yüksekliği sığdır", "action-save-p-d-f-location": "Mevcut konumu belgede kaydet", "action-copy-annotation": "Notu kopyala", "action-copy-quote": "Alıntı olarak kopyala", "action-copy-selection-link": "Seçimin linkini kopyala", "action-copy-annot-link": "Etiketin linkini koptala", "action-copy-section-link": "Bölüme bağlantıyı kopyala", "action-copy-section-link-title": "“{{title}}” başlığına bağlantıyı kopyala", "action-copy-page-link": "{{page}} numaralı sayfaya bağlantıyı kopyala", "msg-max-search-results": "{{current}} / {{limit}} eşleşme", "msg-search-count": "{{current}} / {{total}} eşleşme", "msg-search-count_plural": "{{current}} / {{total}} eşleşme", "msg-password-protected": "Bu PDF, şifre korumalı", "msg-invalid-password": "Geçersiz şifre", "msg-enter-password": "Şifreyi aşağı girin", "label-of-pages": "/ {{count}}", "label-page-of-pages": "({{current}} / {{count}})", "label-spread-single": "Tek sayfa", "label-spread-odd": "İki sayfa (tek sayıda)", "label-spread-even": "İki sayfa (çift sayıda)", "tooltip-sidebar-options": "Kenar çubuğu seçenekleri", "tooltip-display-options": "Görüntü seçenekleri", "label-adapt-to-theme": "Tema uyumlu hale getir", "label-page": "sayfa {{page}}", "page_landmark": "Sayfa {{page}}", "thumb_page_title": "Sayfa {{page}}", "thumb_page_canvas": "Sayfa {{page}}", "text_annotation_type": "[{{type}} Etiketleme]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Liste", "option-unknown": "Bilinmiyor", "option-text": "Metin", "option-aliases": "Takma adlar", "option-tags": "Etiketler", "option-folder": "Folder", "option-file": "File", "option-date": "Tarih", "option-datetime": "Tarih ve zaman", "option-number": "Sayı", "option-checkbox": "Onay kutusu" }, "value-suggestion": { "key-link-note": "Yazın [[", "instruction-link-note": "notaya bağlantı oluşturmak için", "instruction-dismiss": "kapatmak için" }, "option-property-type": "Özellik tipi", "msg-empty-property-name": "Özellik adı boş olamaz.", "msg-duplicate-property-name": "Özellik zaten mevcut.", "msg-invalid-tag": "Geçersiz etiket adı", "msg-invalid-number": "Geçersiz numara", "msg-invalid-properties": "Özellikler okunamadı.", "label-no-value": "Değer yok", "label-heading": "Özellikler", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Sözdizimi hatası. Frontmatter geçersiz.", "label-add-property-button": "Özellik ekle", "label-type-mismatch-warning": "Uyumsuz tip, beklenen tip: {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Sütun", "label-row": "Satır", "action-row-after": "Sonrasına satır ekle", "action-column-after": "Sonrasına sütun ekle", "action-row-before": "Öncesine satır ekle", "action-row-up": "Satırı yukarı taşı", "action-row-down": "Satırı aşağı taşı", "action-column-before": "Öncesine sütun ekle", "action-column-left": "Sütunun soluna taşı", "action-column-right": "Sütunun sağına taşı", "action-duplicate-row": "Satırı kopyala", "action-duplicate-column": "Sütunu kopyala", "action-delete-row": "Satırı sil", "action-delete-column": "Sütunu sil", "action-align-left": "Sola hizala", "action-align-center": "Ortala", "action-align-right": "Sağa hizala", "action-delete-selection": "Hücreleri sil", "action-clear-selection": "Hücreleri temizle", "action-sort-a-z": "Sütunu sırala (A'dan Z'ye)", "action-sort-z-a": "Sütunu sırala (Z'den to A'ya)", "label-command": "Tablo: {{command}}" }, "callout": { "option-type": "Callout türü", "type": { "info": "Bilgi", "important": "Önemli", "tip": "İpucu", "success": "Başarı", "question": "Soru", "warning": "Uyarı", "quote": "Alıntı", "example": "Örnek", "none": "None" }, "option-other": "Diğer...", "option-other-placeholder": "Callout türü..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} kelime", "word-with-count_plural": "{{count}} kelime", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} karakter", "character-with-count_plural": "{{count}} karakter", "link-with-count": "{{count}} bağlantı", "link-with-count_plural": "{{count}} bağlantı", "file-with-count": "{{count}} dosya", "file-with-count_plural": "{{count}} dosya", "folder-with-count": "{{count}} klasör", "folder-with-count_plural": "{{count}} klasör", "backlink-with-count": "{{count}} geri bağlantı", "backlink-with-count_plural": "{{count}} geri bağlantı", "tabs-with-count": "{{count}} sekme", "tabs-with-count_plural": "{{count}} sekme", "properties-with-count": "{{count}} özellik", "properties-with-count_plural": "{{count}} özellik", "site-with-count": "{{count}} site", "site-with-count_plural": "{{count}} site", "plugin-with-count": "{{count}} eklenti", "plugin-with-count_plural": "{{count}} eklenti", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} tema", "theme-with-count_plural": "{{count}} tema" } }{ "setting": { "options": "Налаштування", "plugin": "Додаток", "builtin-plugins": "Вбудовані додатки", "plugin-options": "Налаштування додатків", "folder-path-example-placeholder": "Приклад: тека 1/тека 2", "file-path-example-placeholder": "Приклад: тека/нотатка", "msg-restart-required": "Зміна цього налаштування потребує перезавантаження.", "editor": { "name": "Редактор", "section-behavior": "Поведінка", "section-display": "Показ", "option-spellcheck": "Перевірка орфографії", "option-spellcheck-description": "Вмикає перевірку орфографії. Наразі працює лише з англійською (США).", "spellcheck-languages": "Мови перевірки орфографії", "spellcheck-languages-description": "Обрати мови для перевірки орфографії.", "spellcheck-languages-mac-description": "Вбудована перевірка орфографії автоматично визначить мову, яка використовується в macOS.", "spellcheck-dict": "Словник", "spellcheck-dict-empty": "Словник порожній", "option-show-inline-title": "Показувати назву на початку", "option-show-inline-title-description": "Відображає ім'я файлу у вигляді заголовка з можливістю редагування в одному рядку з вмістом файлу.", "option-readable-line-length": "Обмежити максимальну довжину рядка", "option-readable-line-description": "Обмежити максимальну довжину рядка. Підвищує зручність читання великих текстів, але зменшує кількість інформації, що вміщає екран.", "option-strict-line-break": "Подвійний дільник рядків", "option-strict-line-break-description": "Ігнорувати одинарні дільники рядків у режимі читання відповідно до стандарту Markdown. Вимкніть для показу одинарних дільників у режимі читання.", "option-properties-in-document": "Властивості у документі", "option-properties-in-document-description": "Оберіть, яким чином показувати властивості у редакторі. Виберіть \"джерельний код\", щоб показувати їх у вигляді YAML.", "option-properties-hidden": "Приховані", "option-properties-visible": "Видимі", "option-properties-source": "Джерельний код", "option-auto-pair-brackets": "Створювати дужки попарно", "option-auto-pair-brackets-description": "Автоматично закриває дужки та лапки.", "option-auto-pair-markdown": "Закривати теги Markdown", "option-auto-pair-markdown-description": "Створює парні символи для жирного, курсиву, виділення, закреслення та коду.", "option-smart-indent-lists": "Відступ для списків", "option-smart-indent-lists-description": "Автоматично додає відступи та позначки до списків.", "option-fold-heading": "Згортати заголовки", "option-fold-heading-description": "Згортає весь текст під заголовками", "option-fold-indent": "Згортати відступи", "option-fold-indent-description": "Згортає текст з однаковими відступами, наприклад списки.", "option-default-new-tab-view": "Стандартний вигляд для нових вкладок", "option-default-new-tab-view-description": "Вид за замовчуванням для нової Markdown вкладки", "option-default-new-tab-view-editing": "Режим редагування", "option-default-new-tab-view-reading": "Режим читання", "option-open-tab-in-foreground": "Завжди фокусувати нові вкладки", "option-open-tab-in-foreground-description": "Коли ви відкриваєте посиланя в новій вкладці, одразу переходьте на неї.", "option-default-editing-mode": "Режим редагування за замовчуванням", "option-default-editing-mode-description": "За замовчуванням редактор відкриється в обраному режимі.", "option-default-editing-mode-source": "Джерельний режим", "option-default-editing-mode-live-preview": "Динамічне відображення", "option-show-line-number": "Відображати номери рядків", "option-show-line-number-description": "Додає нумерацію рядків на полях.", "option-indentation-guide": "Відображати лінії відступу", "option-indentation-guide-description": "Показувати вертикальні лінії між пунктами для візуального орієнтування.", "option-use-tabs": "Використовувати табуляцію", "option-use-tabs-description": "Використовувати табуляцію для відступів при натисканні клавіші \"Tab\". Вимкніть, щоб замість табуляції використовувалися символи пробілу.", "option-tab-size": "Ширина табуляції", "option-tab-size-description": "Кількість пробілів, якому відповідає табуляція.", "option-rtl": "Напрямок письма (RTL)", "option-rtl-description": "Встановлює напрямок письма нотаток справа наліво.", "option-auto-convert-html": "Конвертувати HTML", "option-auto-convert-html-description": "Автоматично перетворювати HTML в Markdown при вставці та перетягуванні вебпосилань. Аби вставити без перетворення, використовуйте Ctrl/Cmd+Shift+V.", "option-vim-key-bindings": "Використовувати сполучення клавіш Vim", "option-vim-key-bindings-description": "Дозволяє використовувати поєднання клавіш Vim в джерельному режимі.", "option-vim-key-bindings-mobile": "Ця опція налаштовується окремо на різних пристроях та не зберігається у файлі конфігурацій.", "option-reindex-vault": "Перебудувати кеш сховища", "option-reindex-vault-description": "Перебудова кешу може тривати від декількох секунд до декількох хвилин в залежності від розміру сховища.", "label-reindex": "Перебудувати", "label-confirm-enable-vim": "Підтвердити вибір Vim режиму", "label-vim-warning": "Vim режим ефективний для редагування тексту, але може бути контрінтуїтивним. Якщо ви не знайомі з Vim, ця опція може створити враження, що Obsidian не працює.", "label-vim-test": "Для того, щоб підтвердити свої вміння в Vim, введіть команду виходу з Vim без збереження:", "label-vim-your-answer": "Ваша відповідь", "placeholder-enter-command": "Введіть команду...", "button-confirm-enable-vim": "Дозвольте увімкнути Vim", "msg-vim-mode-enabled": "Команда введена правильно. Режим Vim активовано.", "msg-vim-mode-not-enabled": "Неправильна команда. Режим Vim залишається вимкненим, щоб захистити вас.", "msg-vim-mode-please-enter-command": "Будь ласка, введіть команду для переходу у Vim режим" }, "file": { "name": "Файли та посилання", "option-confirm-file-deletion": "Підтвердьте видалення файлу", "option-confirm-file-deletion-description": "Чи хочете ви отримати запит на підтвердження видалення файлу.", "option-delete-destination": "Видалені файли", "option-delete-destination-description": "Що робити з файлами після їх видалення?", "option-choice-system-trash": "Перейти в системний кошик", "option-choice-vault-trash": "Перемістити до кошика Obsidian (тека .trash)", "option-choice-permanent-delete": "Видаляти безповоротно", "option-always-update-links": "Завжди оновлюйте внутрішні посилання", "option-always-update-links-description": "Оновлює посилання автоматично після перейменування файлу.", "option-new-note-location": "Місце за замовчуванням для нової нотатки", "option-new-note-location-description": "Де створювати нову нотатку. Налаштування додатків можуть змінювати це.", "option-choice-vault-root": "У корені сховища", "option-choice-current-folder": "У теці файлу", "option-choice-specified-folder": "В обраній нижче теці", "option-new-file-folder-path": "Тека для нових нотаток", "option-new-file-folder-path-description": "Нові нотатки будуть створюватися в цій теці. Налаштування додатків можуть змінювати це.", "option-use-wiki-links": "Використовувати [[вікіпосилання]]", "option-use-wiki-links-description": "Автоматично створювати вікіпосилання для [[посилань]] і ![[зображень]] замість Markdown-посилань. Вимкніть, аби генерувати Markdown-посилання.", "option-show-unsupported-files": "Виявлення всіх розширень файлів", "option-show-unsupported-files-description": "Показувати файли з будь-яким розширенням, навіть якщо Obsidian не може відкрити їх спочатку, щоб ви могли посилатися на них і бачити їх в Провіднику файлів і швидкому перемикачі.", "option-link-autocompleted-format": "Формат нового посилання", "option-link-autocompleted-format-description": "Який формат використовувати при створенні внутрішніх посилань.", "option-choice-shortest-linktext": "Найкоротший шлях з можливих", "option-choice-relative-path": "Відносний шлях до файлу", "option-choice-absolute-path": "Абсолютний шлях у сховищі", "option-new-attachment-location": "Розташування за замовчуванням для нових вкладень", "option-new-attachment-location-description": "Де поміщаються знову додані вкладення.", "option-new-attachment-location-default": "вкладення", "option-choice-subdirectory": "У підтеці поточної теки", "option-attachment-folder-path": "Шлях до теки вкладень", "option-attachment-folder-path-description": "Нові вкладення зберігатимуться у цій теці. Це включає вставлені зображення та аудіозаписи.", "option-attachment-subfolder-path": "Ім'я підтеки", "option-attachment-subfolder-path-description": "Якщо ваш файл знаходиться в розділі \"сховище/тека\", а ім'я підтеки задано як \"вкладення\", вкладення будуть збережені в \"сховище/тека/вкладення\".", "option-excluded-files": "Виключені файли", "option-excluded-files-desc": "Виключені файли будуть сховані або менш помітними в різних місцях, наприклад у Швидкому Переході, запропонованих посиланнях, або Графі.", "label-no-excluded-filters-applied": "Не засновано жодного фільтра. Додайте його нижче.", "label-excluded-filters-applied": "Файли що задовільняють наступні фільтри наразі виключені:", "label-excluded-filter": "Фільтр", "message-empty-filter": "Фільтр не може бути пустим", "placeholder-excluded-filter": "Введіть шлях або \"/regex/\"...", "option-uri-callbacks": "Дозволити зворотні виклики URI", "option-uri-callbacks-desc": "Увімкнути використання x-callback-url через x-success або x-error під час обробки URI Obsidian." }, "appearance": { "name": "Оформлення", "option-base-theme": "Основна тема", "option-base-theme-description": "Вибір основної колірної схеми оформлення.", "option-accent-color": "Колір акценту", "option-accent-color-description": "Виберіть акцентний колір, що використовуватиметься по всьому застосунку.", "dark-theme": "Темна", "light-theme": "Світла", "system-theme": "Адаптувати до системи", "option-font": "Шрифт", "option-advanced": "Просунуте", "option-interface": "Інтерфейс", "option-interface-font": "Шрифт інтерфейсу", "option-interface-font-description": "Встановлює базовий шрифт для Obsidian.", "option-zoom-level": "Рівень масштабування", "option-zoom-level-description": "Встановлює рівень масштабування для всього застосунку.", "option-text-font": "Шрифт тексту", "option-text-font-description": "Встановлює шрифт для режимів редагування та читання.", "option-monospace-font": "Моноширинний шрифт", "option-monospace-font-description": "Встановлює шрифт для блоків коду та frontmatter.", "label-single-font-currently-in-effect": " Встановлений наразі шрифт: ", "label-multiple-fonts-currently-in-effect": " Наступні шрифти наразі встановленні:", "option-font-placeholder": "Введіть назву шрифту...", "label-no-custom-font-set": "Жодного стороннього шрифту не встановлено. Додайте його нижче.", "label-font-applied": "Буде встановлено перший шрифт зі списку, що наявний у системі.", "msg-font-not-found": "Цей шрифт недоступний у вашій системі.", "msg-font-found": "Цей шрифт наявний у вашій системі.", "label-font-name": "Назва шрифту", "option-community-themes": "Переглянути теми спільноти", "option-community-themes-description": "Попередній перегляд і використання тем, створених спільнотою.", "button-browse-community-themes": "Огляд", "option-font-size": "Розмір шрифту", "option-font-size-description": "Розмір шрифту в пікселях для режиму редагування та читання.", "option-font-size-action": "Швидка зміна розміру шрифту", "option-font-size-action-description": "Зміна розміру шрифту за допомогою Ctrl + Колесо миші, або з використанням жестів на трек паді.", "option-themes": "Теми", "option-manage-themes-description": "Керування встановленими темами та перегляд тем спільноти.", "option-theme-button-manage": "Керування", "option-choice-none": "Стандартний", "option-native-menus": "Нативні меню", "option-native-menus-desc": "Меню в усьому застосунку будуть відповідати вашій операційній системі. Ваша тема на них не впливатиме.", "button-reload-themes": "Оновити теми", "msg-reloaded-themes": "Список CSS-тем оновлено.", "button-open-themes-folder": "Відкрити теку з темами", "option-css-snippets": "Сніпети (користувацький CSS)", "label-no-css-snippets-found": "У теці сніпетів нічого не знайдено.", "no-snippet-description": "Сніпети зберігаються в \"{{path}}\".", "button-reload-snippets": "Оновити список сніпетів", "button-open-snippets-folder": "Відкрити теку зі сніпетами", "msg-reloaded-snippets": "Список сніпетів оновлено.", "option-toggle-snippet-description": "Застосувати сніпет до \"{{path}}\".", "label-installed-themes": "Встановлені теми", "label-screenshot-unavailable": "Скриншот недоступний", "label-default-theme": "Тема за замовчуванням", "tooltip-click-to-enlarge": "Натисніть, щоб збільшити", "button-update": "Оновити", "label-currently-active": "Активна", "option-frame-style": "Стиль заголовку вікна", "option-frame-description": "Визначає стиль заголовка вікон Obsidian. Потребує повного перезапуску для набуття чинності.", "option-frame-hidden": "Прихований (за замовчуванням)", "option-frame-obsidian": "Obsidian", "option-frame-native": "Вбудований", "option-custom-icon": "Користувацька іконка застосунку", "option-custom-icon-desc": "Встановити користувацьку іконку для застосунку", "button-choose-custom-icon": "Вибрати користувацьку іконку", "option-configure-ribbon": "Стрічкове меню", "option-configure-ribbon-desc": "Налаштуйте, які команди з'являтимуться у стрічковому меню в навігаційній панелі.", "option-mobile-quick-ribbon-item": "Елемент стрічки швидкого доступу", "option-mobile-quick-ribbon-item-desc": "Натискання на елемент стрічки в навігаційному меню активує цей елемент стрічки. Натисніть і утримуйте щоб відобразити меню.", "option-mobile-quick-ribbon-default": "Відкрити стрічкове меню", "button-configure": "Налаштувати", "option-show-ribbon": "Показати стрічкове меню", "option-show-ribbon-desc": "Показує вертикальну бокову панель інструментів.", "label-additional-ribbon-items": "Інші елементи стрічкового меню", "label-modal-configuration": "Налаштування стрічкового меню", "label-modal-configuration-desc": "Виберіть, які елементи ви хочете зробити активними в стрічці. Перетягніть, щоб змінити порядок.", "option-show-view-header": "Показати заголовок вкладки", "option-show-view-header-desc": "Показує заголовок зверху кожної вкладки.", "msg-updates-found": "Ви можете оновити {{count}} тем.", "msg-updates-found_plural": "Ви можете оновити {{count}} тем.", "button-check-for-updates": "Перевірити наявність оновлень", "button-view-updates": "Переглянути оновлення", "button-update-all-themes": "Оновити всі", "label-current-themes": "Поточні теми спільноти", "label-currently-installed": "Встановлено тем: {{count}}.", "label-currently-installed_plural": "Встановлено тем: {{count}}." }, "hotkeys": { "name": "Сполучення клавіш", "option-search": "Шукати сполучення клавіш", "option-search-desc": "Показується {{count}} сполучень. ", "option-search-desc_plural": "Показується {{count}} сполучень. ", "option-search-conflict": "{{count}} команд з конфліктами.", "option-search-conflict_plural": "{{count}} команд з конфліктами.", "prompt-filter": "Фільтр...", "tooltip-delete-hotkey": "Видалити сполучення клавіш", "label-waiting-for-hotkey-press": "Натисніть комбінацію клавіш...", "label-show-all": "Всі", "label-show-unassigned": "Непризначені", "label-show-assigned": "Призначені", "label-show-user-assigned": "Призначені мною", "tooltip-restore-default": "Відновити значення за замовчуванням", "tooltip-customize-command": "Налаштувати цю команду", "tooltip-hotkey-single-conflict": "Це поєднання конфліктує з командою \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Кількість конфліктів цього поєднання з іншими командами: {{count}}", "label-blank-hotkey": "Не призначено" }, "about": { "name": "Про застосунок", "label-commercial-license": "Комерційна ліцензія", "label-license-key": "Ліцензійний ключ", "license-key-placeholder": "Ваш ліцензійний ключ...", "label-activate-license": "Активувати ліцензію", "button-activate": "Активувати", "label-unknown-version": "Невідомий", "label-current-version": "Поточна версія: ", "label-install-version": "(Версія інсталятора: {{version}})", "label-up-to-date": "Встановлена актуальна версія!", "label-read-changelog": "Список змін", "label-manual-update-required": "Obsidian потребує оновлення інсталятора для підтримки нових можливостей та отримання останніх патчів безпеки. Ви маєте власноруч завантажити новий інсталятор та перевстановити Obsidian.", "label-new-version-ready": "Нова версія доступна для встановлення. ", "label-disabled-updates": "Оновлення вимкнено.", "button-relaunch": "Перезапустити", "button-check-for-updates": "Перевірити оновлення", "option-auto-update": "Автоматичні оновлення", "option-auto-update-description": "Перевіряти та завантажувати доступні оновлення автоматично.", "option-check-slow-startup": "Сповіщати, якщо запуск займе більше часу, ніж очікується", "option-check-slow-startup-description": "Діагностуйте проблеми своєї програми, визначивши причину повільного завантаження.", "button-check-startup": "Перевірити зараз", "option-get-help": "Документація Obsidian", "option-get-help-description": "Відкриває довідкову документацію.", "button-open": "Відкрити", "option-language": "Мова", "option-language-description": "Змінює мову інтерфейсу.", "option-insider-build": "Отримувати ранні збірки", "option-insider-build-description": "Автоматично оновлюватися до ранніх збірок, щоб спробувати нові можливості. Зверніть увагу, що ці збірки можуть бути менш стабільними.", "option-advanced": "Розширенні налаштування", "option-hw-acceleration": "Апаратне прискорення", "option-hw-acceleration-description": "Вмикає апаратне прискорення, яке використовує ваш GPU, щоб зробити Obsidian більш плавним.", "option-hw-acceleration-warning": "Якщо ви вимкнете цю функцію, застосунок стане повільнішим.", "option-config-location": "Перезапис місця конфігурації сховища", "option-config-location-description": "Використати інше місце для зберігання конфігурації. Повинне починатися з крапки.", "option-config-location-warning": "Конфігурація має бути розташована у теці, ім'я якої починається з крапки.", "label-license": "Ліцензія", "label-your-commercial-license-key": "Ключ вашої комерційної ліцензії \"{{key}}\".", "label-commercial-license-info": "Зареєстрована на \"{{company}}\" для {{seats}} користувачів. Чинна до {{expiry}}.", "label-validating-commercial-license": "Перевірка...", "label-invalid-commercial-license": "Ліцензія недійсна: ", "button-remove-commercial-license": "Видалити", "option-catalyst": "Ліцензія Catalyst", "option-catalyst-desc": "Наразі ви маєте {{tier}} ліцензію Catalyst. Дякуємо за підтримку!", "option-catalyst-desc-no-license": "Ви не маєте ліцензії Catalyst. Ліцензія Catalyst це одноразове пожертвування на підтримку розробки Obsidian.", "label-app": "Програма", "label-add-own-language": "Дізнайтеся, як додати свою мову до Obsidian." }, "account": { "name": "Обліковий запис", "option-your-account": "Ваш обліковий запис", "option-your-account-desc": "Наразі ви увійшли як {{name}} ({{email}}).", "option-your-account-desc-no-login": "Ви не увійшли до облікового запису. Він необхідний для Obsidian Sync, Obsidian Publish, та ранніх (інсайдер) збірок Catalyst.", "label-insider": "інсайдер", "label-supporter": "саппортер", "label-vip": "VIP", "button-upgrade-catalyst": "Підвищити", "option-commercial-license": "Комерційна ліцензія", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Придбати", "button-log-out": "Вийти", "label-log-in": "Увійти", "label-sign-up": "Зареєструватися", "label-email": "Пошта", "placeholder-email": "Ваша ел. адреса...", "label-name": "Full name", "label-password": "Пароль", "placeholder-password": "Ваш пароль...", "label-forgot-password": "Забули пароль?", "button-login": "Увійти", "message-empty-email": "Електронна адреса не може бути порожньою.", "message-invalid-email": "Неправильний формат адреси електронної пошти.", "message-empty-password": "Пароль не може бути порожнім..", "message-login-failed": "Неправильна адреса електронної пошти або пароль.", "message-signup-failed": "Failed to sign up", "label-no-account": "Немає облікового запису? ", "link-sign-up-now": "Зареєструватися", "label-mfa-code": "6-значний код двофакторної автентифікації", "mfa-wrong-format": "Код автентифікації має складатися з 6 цифр.", "mfa-verification-failed": "Код двофакторної автентифікації невірний, будь ласка, перевірте ваш застосунок автентифікації ще раз." }, "core-plugin": { "plugin-list": "Список додатків", "option-search-plugin": "Шукати вбудовані додатки", "option-search-plugin-description": "Пошук додатків за назвою або описом.", "placeholder-search-plugin": "Пошук додатків..." }, "third-party-plugin": { "name": "Сторонні додатки", "option-restricted-mode": "Обмежений режим", "option-restricted-mode-description": "Обмежений режим ВИМКНЕНО. Увімкніть, щоб вимкнути усі додатки спільноти.", "button-turn-on": "Увімкнути", "option-browse-community-plugins": "Додатки спільноти", "option-browse-community-plugins-description": "Огляд і встановлення сторонніх додатків, створених нашою дивовижною спільнотою.", "button-browse": "Огляд", "label-exit-restricted-mode": "Вийти з Обмеженого режиму", "label-exit-restricted-mode-description-1": "Додатки спільноти, як будь-які інші застосунки, що ви завантажуєте, потенційно можуть завдати шкоди вашим файлам та можуть бути небезпечними.", "label-exit-restricted-mode-description-2": "Безпека додатків важлива для нас. Ось що ми робимо:", "label-exit-restricted-mode-description-3": "Попри наші зусилля, існує невелика ймовірність того, що додаток спільноти може працювати неправильно.", "label-code-review": "Початковий огляд коду", "label-code-review-desc": "Додатки проходять первинну перевірку коду нашою командою, перш ніж вони з’являться в магазині.", "label-open-source": "Відкритий джерельний код", "label-open-source-desc": "Більшість додатків мають відкритий джерельний код на GitHub, тому ви можете перевірити код власноруч.", "label-peer-audit": "Колективний аудит", "label-peer-audit-desc": "Ми маємо велику спільноту розробників, що допомагають та слідкують один за одним.", "label-report-mechanism": "Механізм скарги", "label-report-mechanism-desc": "Ми відстежуємо та видаляємо несправні додатки після скарг користувачів.", "label-exit-restricted-mode-disable-confirmation": "Бажаєте вийти з обмеженого режиму, щоб увімкнути додатки спільноти? Ми наполегливо рекомендуємо зробити резервні копії ваших даних перед цим.", "label-learn-more": "Дізнайтеся більше про безпеку додатків", "button-turn-on-community-plugins": "Увімкнути додатки спільноти", "label-trust-author": "Чи ви довіряєте автору цього сховища?", "label-trust-author-description-1": "Ви вперше відкрили це сховище, воно має кілька додатків.", "label-trust-author-description-2": "Якщо ви отримали це сховище від когось, зауважте, що додатки з невідомих джерел можуть бути небезпечними.", "label-trust-author-description-3": "Якщо ви не повністю довіряєте автору цього сховища, ми рекомендуємо залишити Обмежений режим увімкненим, аби додатки не працювали.", "button-enable-plugins": "Довіритись автору та увімкнути додатки", "button-dont-trust-author": "Відкрити сховище в Обмеженому режимі", "placeholder-community-plugins": "Пошук додатків спільноти...", "msg-failed-load-plugins": "Не вдалося завантажити додатки спільноти.", "label-installed": "Встановлено", "button-install": "Встановити", "button-enable": "Увімкнути", "button-disable": "Вимкнути", "button-copy-share-link": "Скопіювати посилання", "button-donate": "Пожертвувати", "label-no-results-found": "Нічого не знайдено.", "label-no-recent-files-found": "Нещодавні файли не знайдено. Напишіть для пошуку...", "msg-failed-to-load-manifest": "Не вдалося завантажити опис додатку.", "label-version": "Версія: {{version}}", "label-currently-installed-version": " (встановлено: {{version}})", "label-by-author": "Від ", "label-repository": "Репозиторій: ", "label-last-update": "Останнє оновлення: ", "tooltip-view-last-update": "Переглянути останнє оновлення", "label-unsupported": "Цей додаток не підтримує ваш пристрій.", "button-update": "Оновити", "label-no-readme": "Додаток не надав файл README.", "msg-installing-plugin": "Встановлюється додаток \"{{name}}\"...", "msg-failed-to-install-plugin": "Не вдалося встановити додаток \"{{name}}\".", "msg-successfully-installed-plugin": "Встановлено додаток \"{{name}}\".", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Встановлені додатки", "button-reload-plugins": "Перезавантажити додатки", "msg-reloaded-third-party-plugins": "Сторонні додатки перезавантажено.", "label-uninstall": "Видалити", "label-uninstall-plugin": "Видалити додаток", "label-uninstall-plugin-confirmation": "Ви точно хочете видалити додаток? Ця дія видалить теку додатку.", "button-open-plugins-folder": "Відкрити теку додатків", "button-check-for-updates": "Перевірити оновлення", "button-update-all-plugins": "Оновити всі", "label-current-plugins": "Встановлені додатки", "label-currently-installed": "Кількість встановлених додатків: {{count}}.", "label-currently-installed_plural": "Кількість встановлених додатків: {{count}}", "msg-no-updates-found": "Оновлення не знайдено.", "msg-updates-found": "Можна оновити {{count}} додаток.", "msg-updates-found_plural": "Можна оновити додатки: {{count}}", "msg-update-plugin": "Оновити до версії {{version}}", "option-search-installed-plugin": "Пошук встановлених додатків", "option-search-installed-plugin-description": "Пошук встановлених додатків за назвою або описом.", "placeholder-search-installed-plugin": "Пошук встановлених додатків...", "show-installed-only": "Показати тільки встановлені", "label-donate-modal-title": "Пожертвувати на підтримку {{name}}", "label-donate-modal-text1": "Розробники додатків — це волонтери спільноти, які натхненно роблять дивовижні речі. Якщо ви вважаєте цей додаток корисним, за змоги підтримайте його розробку.", "label-donate-modal-text2": "100% ваших внесків буде спрямовано розробнику додатка; Obsidian не отримує жодних відрахувань. Платформа збору коштів, обрана розробником, може стягувати комісію.", "label-donate-modal-text3": "Дякуємо за вашу щедру підтримку!", "label-support-this-plugin": "Підтримайте цей додаток:", "label-search-summary": "Показується {{pluginCount}}:", "label-by-popularity": "Найбільш завантажувані", "label-by-released": "Нещодавно випущені", "label-by-updated": "Нещодавно оновлені", "label-alphabetical": "В алфавітному порядку", "label-last-updated": "Оновлені {{time}}" }, "mobile-toolbar": { "name": "Мобільний пристрій", "option-configure-quick-action": "Налаштувати Швидку Дію", "option-configure-quick-action-description": "Оберіть команду, що бути спрацьовувати коли ви будете проводити зверху вниз. Наразі це: \"{{command}}\".", "msg-missing-quick-action": "Дія не налаштована", "button-configure": "Налаштувати", "placeholder-select-quick-action": "Обрати Швидку Дію...", "quick-action-disabled": "Нічого", "manage-toolbar-options": "Керування тулбаром", "option-internal-link": "Додати внутрішнє посилання", "option-internal-embed": "Додати вставку", "option-tag": "Додати мітку", "option-heading": "Заголовок", "option-strikethrough": "Закреслити", "option-highlight": "Виділити", "option-code": "Код", "option-blockquote": "Цитата", "option-inline-math": "Змінити показ формул", "option-math-block": "Змінити показ блоків формул", "option-markdown-link": "Додати Markdown посилання", "option-bullet-list": "Список", "option-numbered-list": "Нумерований список", "option-indent-list": "Додати відступ", "option-unindent-list": "Прибрати відступ", "option-undo": "Скасувати", "option-redo": "Повернути", "option-move-caret-up": "Каретка вверх", "option-move-caret-down": "Каретка вниз", "option-move-caret-left": "Каретка вліво", "option-move-caret-right": "Каретка вправо", "option-first-line": "Перейти до першого рядка", "option-last-line": "Перейти до останнього рядка", "option-toggle-keyboard": "Клавіатура", "option-configure-toolbar": "Налаштувати тулбар", "option-added-options": "Додані опції", "option-more-toolbar-options": "Інші опції", "option-attach": "Прикріплення", "option-add-command": "Додати глобальну команду", "option-add-command-description": "Обрати будь-яку глобальну команду для додавання до тулбару." } }, "editor": { "search": { "placeholder-find": "Знайти", "placeholder-replace": "Замінити", "label-exit-search": "Закрити пошук", "label-next": "Вперед", "label-previous": "Назад", "label-find-all": "Знайти всі", "label-replace": "Замінити", "label-replace-all": "Замінити все" }, "link-suggestion": { "label-type-hash": "Введіть #", "label-link-heading": "щоб послатися на заголовок", "label-type-block": "Введіть ^", "label-link-block": "щоб послатися на блок", "label-type-pipe": "Введіть |", "label-change-display-text": "щоб змінити текст, що показується", "label-no-alias": "Текст", "label-no-heading": "Заголовок", "label-no-match-found": "Збігів не знайдено", "label-image-size": "Розмір: {{size}}px шириною", "label-accept": "аби прийняти", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Немає пропозицій...", "add-to-dictionary": "Додати до словника" }, "menu": { "edit-link": "Редагувати посилання", "edit-tag": "Редагувати мітку", "label-edit-block": "Редагувати цей блок", "label-delete-footref-and-note": "Видалити виноску та посилання" }, "heading-suggestion": { "label-no-heading": "Без заголовка", "label-heading-level": "Заголовок {{level}}" }, "print-modal": { "title": "Експортувати як PDF", "caption": "Експортувати \"{{filename}}\" у PDF з налаштуваннями нижче.", "setting-page-size": "Розмір сторінки", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Юридичний", "setting-page-size-letter": "Лист", "setting-page-size-tabloid": "Таблоїд", "setting-include-file-name": "Включити ім'я файлу в заголовок", "setting-landscape": "Альбомний", "setting-margin": "Поля", "setting-margin-default": "За замовчуванням", "setting-margin-minimal": "Мінімальні", "setting-margin-none": "Немає", "setting-downscale-percent": "Відсоток масштабування", "button-export-to-pdf": "Експортувати у PDF" }, "link-popover": { "tooltip-follow-link": "Перейти за посиланням", "tooltip-open-link": "Відкрити посилання", "tooltip-search-tag": "Шукати мітку" } }, "interface": { "embed-cannot-find": "Не знайдено:", "label-unable-to-find-section": "Не вдалося знайти \"{{subpath}}\" у {{file}}", "embed-open-in-default-app-tooltip": "Відкрити в застосунку за замовчуванням", "empty-sidebar": "Бічна панель пуста, спробуйте перетягнути сюди панель.", "sidebar-expand": "Розгорнути", "sidebar-collapse": "Згорнути", "msg-fail-to-save-file": "Не вдалося зберегти файл \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Не вдалося завантажити додаток \"{{plugin}}”", "msg-plugin-error": "Під час завантаження додатка \"{{plugin}}\" виникла помилка", "msg-failed-to-load-file": "Не вдалося відкрити ”{{filepath}}”", "msg-failed-to-open-href": "Не вдалося відкрити посилання “{{href}}”", "no-file": "Немає файлу", "msg-file-changed": "\"{{file}}\" було модифіковано ззовні, зміни об'єднуються автоматично.", "switch-vault": "Відкрити інше сховище", "manage-vaults": "Управління сховищами...", "help": "Довідка", "settings": "Налаштування", "drag-to-rearrange": "Перетягніть, щоб змінити порядок", "msg-switched-to-read": "Режим читання встановлено за замовчуванням.", "msg-switched-to-edit": "Режим редагування встановлено за замовчуванням.", "msg-upgrade-installer": "Щоб скористатися цією функцією, будь ласка, перевстановіть застосунок за допомогою останньої версії інсталятора, доступної на нашому вебсайті.", "msg-slow-boot": "Виявлено повільний час запуску.", "msg-desktop-only-feature": "Ця функція доступна лише в застосунку для ПК.", "tooltip-restore-default-settings": "Відновити налаштування за замовчуванням", "label-copy": "Скопіювати в буфер обміну", "label-copy-short": "Копіювати", "copied_generic": "Скопійовано в буфер обміну", "copied": "{{item}} скопійовано в буфер обміну", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Фільтр...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Відкрито файл \"{{path}}\"", "msg-file-not-found-through-uri": "Файл \"{{name}}\" не знайдено.", "delete-action-short-name": "Видалити", "msg-indexing": "Obsidian індексує ваше сховище...\nЦе має відбутися лише раз.\nДеякий функціонал може бути недоступним, поки це не буде завершено.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Індексування завершено.", "msg-sandbox-vault": "Це сховище-пісочниця.\nБудь-які зміни будуть видалені.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Enter для створення", "label-update-available": "Доступне оновлення", "label-debug-info": "Дані зневадження", "button-learn-more": "Дізнатися більше", "button-not-now": "Не зараз", "button-add": "Додати", "button-manage": "Керування", "label-new-tab": "Нова вкладка", "option-hide-ribbon": "Приховати стрічкове меню", "msg-tab-busy": "Ця вкладка наразі зайнята, спробуйте пізніше", "formatting": { "label-formatting": "Форматувати", "label-paragraph": "Абзац", "label-insert": "Додати", "insert-link": "Додати посилання", "insert-external-link": "Зовнішнє посилання", "insert-callout": "Виноска", "insert-horizontal-rule": "Горизонтальна лінія", "insert-code-block": "Блок коду", "insert-math-block": "Блок формули", "insert-table": "Таблиця", "insert-footnote": "Footnote", "toggle-bold": "Жирний", "toggle-code": "Код", "toggle-comments": "Коментар", "toggle-highlight": "Виділити", "toggle-italics": "Курсив", "toggle-strikethrough": "Закреслити", "toggle-math": "Формула", "toggle-bullet-list": "Маркований список", "toggle-checklist": "Список задач", "toggle-numbered-list": "Нумерований список", "set-heading": "Заголовок {{level}}", "no-heading": "Текст", "clear": "Скинути форматування", "toggle-quote": "Цитата" }, "empty-state": { "no-file-open": "Жоден файл не відкритий", "create-new-file": "Створити новий файл", "go-to-file": "Перейти до файлу", "see-recent-files": "Переглянути нещодавні файли", "close": "Закрити", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Додаток більше не активний", "unknown-pane-desc": "Додаток, що створив цю панель ({{type}}), зник" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Редагування (Ctrl/Cmd+ЛКМ, аби редагувати у новій панелі)", "read-view": "Поточний режим: читання", "ribbon": "Стрічкове меню", "left-sidebar": "Ліва бічна панель", "right-sidebar": "Права бічна панель", "switch-to-edit-view": "Натисніть, щоб редагувати", "switch-to-read-view": "Натисніть, щоб переглянути", "mod-click-open-new-tab": "{{key}}+ЛКМ, щоб відкрити нову вкладку", "find": "Знайти...", "replace": "Замінити...", "edit": "Редагувати", "remove": "Видалити", "rename": "Перейменувати", "preview": "Перегляд", "more-options": "Більше", "close": "Закрити", "close-all": "Закрити все", "close-tabs-with-count": "Закрити {{count}} вкладку", "close-tabs-with-count_plural": "Закрити {{count}} вкладок", "close-others": "Закрити інші", "close-after": "Закрити вкладки після", "pin": "Закріпити", "unpin": "Відкріпити", "unlink-tab": "Відкріпити вкладку", "link-tab": "Зв'язати з вкладкою...", "toggle-source-mode": "Джерельний режим", "toggle-reading-view": "Режим читання", "add-property": "Додати властивість файлу", "delete-file": "Видалити файл", "create-file": "Створити цей файл", "open-link": "Відкрити посилання", "open-in-new-tab": "Відкрити в новій вкладці", "open-to-the-right": "Відкрити праворуч", "copy-url": "Скопіювати URL", "copy": "Скопіювати", "cut": "Вирізати", "paste": "Вставити", "paste-as-plain-text": "Вставити як простий текст", "lookup-selection": "Пошук “{{selection}}”", "select-all": "Вибрати все", "rename-heading": "Перейменувати цей заголовок...", "rename-blockid": "Перейменувати ID блоку...", "open-in-new-window": "Відкрити в новому вікні", "move-to-new-window": "Перемістити в нове вікно", "open-in-browser": "Відкрити в браузері", "stack-tabs": "Перейти в режим накладання вкладок", "unstack-tabs": "Вийти з режиму накладання вкладок", "open-linked-view": "Відкрити зв'язаний вигляд" }, "tooltip": { "click-to-expand": "Натисніть, щоб розгорнути", "click-to-collapse": "Натисніть, щоб згорнути", "alias": "Псевдонім", "not-created-yet": "Ще не створено, виберіть, щоб створити" }, "start-screen": { "label-version": "Версія", "label-create-local-vault": "Створити локальне сховище", "option-open-folder-as-vault": "Відкрити теку як сховище", "option-open-folder-as-vault-description": "Вибрати наявну теку з файлами Markdown.", "option-create-vault": "Створити нове сховище", "option-create-vault-description": "Створіть нове сховище Obsidian у теці.", "option-connect-obsidian-sync": "Під'єднати Obsidian Sync", "option-connect-obsidian-sync-description": "Встановити синхронізацію з віддаленим сховищем.", "option-new-vault-name": "Назва сховища", "option-new-vault-name-description": "Виберіть назву для свого чудового сховища.", "option-new-vault-location": "Розташування", "option-new-vault-location-description": "Виберіть місце для розміщення нового сховища.", "label-new-vault-location-preview": "Ваше нове сховище буде розміщено в: ", "option-reveal-vault-in-explorer": "Відкрити у системному провіднику", "option-reveal-vault-in-explorer-mac": "Відкрити сховище в Finder", "option-rename-vault": "Перейменувати сховище...", "option-copy-vault-i-d": "Копіювати ID сховища", "msg-error-rename-exists": "Сховище з такою назвою вже існує.", "msg-error-nested": "Перемістити сховище у власну підтеку неможливо.", "msg-error-rename-open": "Неможливо перейменувати сховище, коли воно відкрите.", "msg-rename-failed": "Помилка перейменування сховища.", "msg-rename-success": "Сховище успішно перейменовано.", "option-move-vault": "Перемістити сховище...", "msg-move-select-dest": "Обрати теку призначення", "msg-error-move-exists": "Сховище за цим шляхом вже існує.", "msg-error-move-open": "Неможливо перемістити сховище, коли воно відкрите.", "msg-move-failed": "Помилка переміщення сховище.", "msg-move-success": "Сховище успішно переміщено.", "option-remove": "Видалити зі списку", "button-quick-start": "Швидкий старт", "button-open": "Відкрити", "button-browse": "Перегляд", "button-connect": "Підключення", "button-create-vault": "Створити", "button-back": "Назад", "msg-empty-vault-name": "Назва сховища не може бути порожньою.", "msg-trailing-dot-vault-name": "Ім'я сховища не може закінчуватися крапкою.", "msg-invalid-folder": "Будь ласка, виберіть дійсну теку.", "msg-failed-to-create-vault": "Не вдалося створити сховище.", "msg-failed-to-create-vault-at-location": "Не вдалося створити сховище в зазначеному місці. Будь ласка, перевірте місце розташування та дозвіл.", "msg-error-failed-to-open-vault": "Не вдалося відкрити.", "msg-error-remove-current-open-vault": "Неможливо видалити відкрите сховище.", "option-get-help": "Отримати Допомогу", "option-user-email": "Електрона адреса", "placeholder-your-email": "Ваша ел. адреса...", "option-user-password": "Пароль", "placeholder-your-password": "Ваш пароль...", "button-sign-in": "Зареєструватися", "button-setup": "Налаштування", "option-connect-vault-desc": "Створити на цьому пристрої сховище, що синхронізується.", "tooltip-own-vault": "Це віддалене сховище яким володієте ви.", "tooltip-shared-vault": "Це віддалене сховище яким з вами поділилися.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Вітаємо", "welcome-file-content": "Це ваше нове *сховище*.\n\nЗанотуйте щось, [[створіть посилання]] або спробуйте [Imported](https://help.obsidian.md/Plugins/Importer)!\n\nКоли будете готові, видаліть цю нотатку і зробіть це сховище своїм." }, "drag-and-drop": { "insert-link-here": "Вставити посилання", "insert-links-here": "Вставити посилання", "move-into-folder": "Перемістити до \"{{folder}}\"", "star-this-file": "Позначити цей файл", "star-these-files": "Позначити ці файли", "open-in-this-tab": "Відкрити в цій вкладці", "open-as-tab": "Відкрити як нову вкладку" }, "window": { "maximize": "Максимізувати", "minimize": "Мінімізувати", "restore-down": "Відновити вікно", "close-window": "Закрити вікно", "go-back": "Перейти назад", "go-forward": "Перейти вперед" }, "start-up": { "loading-obsidian": "Завантаження Obsidian...", "obsidian-load-error": "Під час завантаження Obsidian сталася помилка.", "button-reload-app": "Перезавантажити застосунок", "button-reload-app-in-safe-mode": "Перезапустити застосунок у безпечному режимі", "button-open-another-vault": "Відкрити інше сховище", "loading-plugins": "Завантаження додатків...", "msg-plugin-hang": "Додаток “{{plugin}}” довго завантажується. ", "loading-vault": "Завантаження сховища...", "msg-failed-to-load-vault": "Не вдалося завантажити сховище: ", "loading-cache": "Завантаження кешу...", "loading-workspace": "Завантаження робочого простору..." }, "mobile": { "action-import": "Імпортувати у сховище", "action-insert-text-desc": "Додайте текст до файлу:", "action-choose-file-to-insert": "Виберіть файл для вставки", "action-insert-text-into-file": "Вставити текст у {{filename}}", "action-insert-link-into-file": "Вставити посилання у {{filename}}", "action-show-switcher": "Показати огляд вкладки", "msg-importing": "Імпортування...", "msg-import-success": "Імпортування успішне", "msg-failed-to-import-file": "Не вдалося імпортувати файл {{filename}}", "msg-back-again-to-exit": "Натисніть клавішу назад ще раз для виходу...", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Офіційна сторінка допомоги", "label-official-help-site-desc": "Читайте офіційну документацію Obsidian доступну на різних мовах.", "action-visit": "Відкрити", "label-discord-chat": "Discord-чат", "label-discord-chat-desc": "Discord це найкраще місце для спілкування з досвідченими користувачами Obsidian зі всього світу.", "action-join": "Приєднатися", "label-forum": "Офіційний форум", "label-forum-desc": "Допомагай іншим, пропонуй свої ідеї, докладай про баги, та доєднуйся до глибоких дискусій щодо управління знаннями.", "label-sandbox-vault": "Сховище-пісочниця", "label-sandbox-vault-desc": "Експериментуй та досліди всі можливості застосунку. Зауваж, що всі зміни в цьому сховищі видаляються після закриття." } }, "commands": { "save-file": "Зберегти поточний файл", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Перейти за посиланням під курсором", "open-cursor-link-in-new-tab": "Відкрити посилання під курсором у новій вкладці", "open-cursor-link-to-the-right": "Відкрити посилання під курсором праворуч", "open-cursor-link-in-new-window": "Відкрити посилання під курсором в новому вікні", "navigate-tab-above": "Фокусуватися на групі вкладок зверху", "navigate-tab-below": "Фокусуватися на групі вкладок знизу", "navigate-tab-left": "Фокусуватися на групі вкладок зліва", "navigate-tab-right": "Фокусуватися на групі вкладок справа", "toggle-pin": "Увімкнути/вимкнути закріплення області", "split-right": "Розділити праворуч", "split-down": "Розділити вниз", "toggle-stacked-tabs": "Скласти/розкласти вкладки", "navigate-back": "Повернутися назад", "navigate-forward": "Перейти вперед", "use-dark-mode": "Використовувати темну тему", "use-light-mode": "Використовувати світлу тему", "change-theme": "Змінити тему", "search-current-file": "Пошук у поточному файлі", "search-replace-current-file": "Пошук і заміна в поточному файлі", "add-property": "Додати властивість файлу", "label-sort-property-a-to-z": "Назва (від А до Я)", "label-sort-property-z-to-a": "Назва (від Я до А)", "add-alias": "Додати псевдонім", "clear-properties": "Очистити властивості файлу", "open-settings": "Відкрити налаштування", "open-help": "Відкрити довідку", "toggle-edit": "Змінити режим редагування/читання", "toggle-source-mode": "Змінити режим динамічного/джерельного редагування", "delete-current-file": "Видалити поточний файл", "new-tab": "Нова вкладка", "show-trash": "Показати кошик", "close-all-tabs": "Закрити усі вкладки", "close-active-tab": "Закрити поточну вкладку", "close-others-in-tab-group": "Закрити інші у групі вкладок", "close-other-tabs": "Закрити усі інші вкладки", "close-tab-group": "Закрити групу вкладок", "toggle-left-sidebar": "Згорнути/розгорнути ліву панель", "toggle-ribbon": "Перемкнути стрічкове меню", "toggle-right-sidebar": "Згорнути/розгорнути праву панель", "toggle-default-new-tab-mode": "Увімкнути/вимкнути стандартний режим для всіх нових вкладок", "add-cursor-above": "Додати курсор вище", "add-cursor-below": "Додати курсор нижче", "focus-editor": "Фокусуватися на редакторі", "toggle-fold-properties": "Перемкнути складені властивості в поточному файлі", "toggle-fold": "Згорнути/розгорнути поточний заголовок/список", "fold-all": "Згорнути всі заголовки та списки", "unfold-all": "Розгорнути всі заголовки та списки", "fold-more": "Згорнути більше", "fold-less": "Згорнути менше", "swap-line-up": "Поміняти місцями з верхнім рядком", "swap-line-down": "Поміняти місцями з нижнім рядком", "remove-heading": "Видалити заголовок", "toggle-heading": "Встановити як заголовок {{level}}", "toggle-bold": "Перемкнути жирний для виділеного", "toggle-italics": "Перемкнути курсив для виділеного", "toggle-highlight": "Перемкнути виділення для виділеного", "toggle-comments": "Перемкнути коментарі для виділеного", "clear-formatting": "Скинути форматування", "insert-link": "Вставити посилання", "toggle-spellcheck": "Увімкнути/вимкнути перевірку орфографії", "delete-paragraph": "Вилучити абзац", "toggle-checklist": "Перемикнути стан прапорця", "cycle-list-checklist": "Вставити список/прапорець", "insert-callout": "Вставити виноску", "insert-code-block": "Вставити блок коду", "insert-math-block": "Вставити блок формул", "insert-horizontal-rule": "Вставити горизонтальну лінію", "insert-table": "Вставити таблицю", "insert-footnote": "Insert footnote", "edit-file-title": "Редагувати заголовок файлу", "copy-path": "Скопіювати шлях до файлу", "copy-url": "Скопіювати Obsidian URL", "export-pdf": "Експортувати в PDF", "reload": "Перезавантажити застосунок без збереження", "undo-close-tab": "Відмінити закриття вкладки", "context-menu": "Показати контекстне меню під курсором", "show-debug-info": "Показати дані зневадження", "open-sandbox-vault": "Відкрити сховище-пісочницю", "always-on-top": "Перемкнути режим вікна завжди зверху", "zoom-in": "Збільшити", "zoom-out": "Зменшити", "reset-zoom": "Стандартний розмір", "toggle-preview": "Перемикнути між режимами редагування і читання", "move-to-new-window": "Перемістити поточну панель у нове вікно", "open-in-new-window": "Відкрити поточну панель у новому вікні", "rename-current-file": "Перейменувати поточний файл", "go-to-prev-tab": "Перейти до попередньої вкладки", "go-to-next-tab": "Перейти до наступної вкладки", "go-to-last-tab": "Перейти до останньої вкладки", "go-to-nth-tab": "Перейти до вкладки #{{n}}", "show-release-notes": "Показати примітки до версії" }, "dialogue": { "label-link-affected": "Це вплине на {{links}} у {{files}}.", "msg-updated-links": "Оновлено {{links}} в {{files}}.", "label-update-links": "Оновити посилання", "label-confirm-update-link-to-file": "Чи хочете ви оновлювати внутрішні посилання, які вказують на цей файл?", "button-always-update": "Оновлювати завжди", "button-just-once": "Тільки зараз", "button-do-not-update": "Не оновлювати", "label-confirm-deletion": "Ви впевнені, що хочете видалити \"{{filename}}\"?", "label-move-to-system-trash": "Буде переміщений в системний кошик.", "label-move-to-vault-trash": "Буде переміщено в кошик Obsidian, що знаходиться в прихованій теці \".trash\" у вашому сховищі.", "label-permanent-delete": "Файл буде видалений безповоротно.", "label-non-empty-folder": "Ця тека не порожня.", "label-delete-folder-warning": "Якщо ви продовжите, всі файли з цієї теки будуть видалені.", "label-delete-folder": "Видалити теку", "button-delete": "Видалити", "button-delete-do-not-ask-again": "Видалити та більше не питати", "label-do-not-ask-again": "Більше не запитувати", "label-existing-backlink": "Зараз існує {{count}} посилання, що вказує на цю замітку.", "label-existing-backlink_plural": "Зараз існує {{count}} посилань, що вказують на цю замітку.", "label-delete-file": "Видалити файл", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Змінити", "button-view": "Вид", "button-confirm": "Підтвердити", "button-cancel": "Скасувати", "button-download": "Download", "button-done": "Готово", "button-save": "Зберегти", "button-stop": "Зупинити", "button-continue": "Продовжити", "button-choose": "Обрати", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Підготовка PDF...", "label-rename-file": "Перейменувати файл", "label-rename-file-generic": "Назва файлу", "label-new-name": "Нове ім'я", "msg-rename-success": "Файл успішно перейменовано.", "msg-merge-failed": "Не вдалося об'єднати нотатки: {{message}}", "msg-file-or-folder-not-found": "Файл або тека \"{{path}}\" не існує.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Перейменувати заголовок", "label-rename-blockid": "Перейменувати ID блоку" }, "menu-items": { "new-file": "Створити нотатку", "new-file-to-the-right": "Створити нотатку праворуч", "new-window": "Нове вікно", "open-switcher": "Швидко відкрити...", "open-vault": "Відкрити сховище...", "close-tab": "Закрити вкладку", "close-window": "Закрити вікно", "find": "Знайти", "replace": "Замінити", "insert-callout": "Виноска", "insert-markdown-link": "Markdown посилання", "insert-wikilink": "Посилання", "set-heading": "Заголовок {{level}}", "no-heading": "Без заголовку", "insert-quote": "Цитата", "export-pdf": "Експортувати PDF", "insert-attachment": "Вставити Вкладення...", "insert-codeblock": "Блок коду", "insert-math-block": "Блок формул", "insert-table": "Таблиця", "insert-footnote": "Footnote", "toggle-bullet-list": "Маркований список", "toggle-numbered-list": "Нумерований список", "toggle-checklist": "Список задач", "toggle-bold": "Жирний", "toggle-code": "Код", "toggle-comment": "Коментар", "toggle-italics": "Курсив", "toggle-inline-math": "Формула", "toggle-highlight": "Виділити", "toggle-strikethrough": "Закреслити", "toggle-comments": "Коментар", "folding-menu": "Складання", "fold-all": "Згорнути все", "unfold-all": "Розгорнути все", "fold-more": "Згорнути більше", "fold-less": "Згорнути менше", "source-mode": "Джерельний режим", "reading-view": "Режим читання", "show-debug-info": "Показати дані зневадження", "open-sandbox": "Відкрити сховище-пісочницю", "navigate-back": "Перейти назад", "navigate-forward": "Перейти вперед", "toggle-left-sidebar": "Увімкнути/вимкнути ліву бокову панель", "toggle-right-sidebar": "Увімкнути/вимкнути праву бокову панель", "toggle-ribbon": "Стрічкове меню", "split-right": "Розділити праворуч", "split-down": "Розділити знизу", "release-notes": "Примітки до релізу" }, "plugins": { "name": "Додатки", "file-explorer": { "name": "Файловий менеджер", "desc": "Показує всі файли вашого сховища.", "action-open": "Відкрити файловий менеджер", "action-show": "Показати файловий менеджер", "action-create-note": "Створити нову нотатку", "action-create-folder": "Створити нову теку", "action-create-note-in-current-tab": "Створити нову нотатку у поточній вкладці", "action-create-note-to-the-right": "Створити нову нотатку справа", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Згорнути все", "action-expand-all": "Розгорнути все", "action-new-note": "Нова нотатка", "action-new-folder": "Нова тека", "action-change-sort": "Спосіб сортування", "action-reveal-file": "Показати в файловому менеджері", "action-reveal-active-file": "Показати поточний файл у файловому менеджері", "command-make-a-copy": "Створити копію поточного файлу", "command-make-a-copy-mac": "Дублювати поточний файл", "command-move-file": "Перемістити файл в іншу теку", "action-new-folder-with-count": "Нова тека з виділення ({{count}} елемент)", "action-new-folder-with-count_plural": "Нова тека з виділення ({{count}} елементів)", "action-move-file": "Перемістити файл у...", "action-move-folder": "Перемістити теку в...", "action-move-items": "Перемістити {{count}} об'єктів в...", "prompt-type-folder": "Введіть назву теки", "label-no-folders": "Тек не знайдено.", "instruction-navigate": "навігація", "instruction-move": "перемістити", "instruction-create": "створити", "instruction-dismiss": "скасування", "label-sort-a-to-z": "За назвою файлу (А -> Я)", "label-sort-z-to-a": "За назвою файлу (Я -> А)", "label-sort-new-to-old": "За часом останньої зміни (від нових до старих)", "label-sort-old-to-new": "За часом останньої зміни (від старих до нових)", "label-sort-created-old-to-new": "За часом створення (від старих до нових)", "label-sort-created-new-to-old": "За часом створення (від нових до старих)", "menu-opt-new-note": "Нова нотатка", "menu-opt-new-folder": "Нова тека", "menu-opt-rename": "Перейменувати", "menu-opt-delete": "Видалити", "menu-opt-make-copy": "Створити копію", "menu-opt-make-copy-mac": "Дублювати", "msg-invalid-characters": "Ім'я файлу не повинно містити такі символи: ", "msg-unsafe-characters": "Посилання не працюватимуть при наявності в найменуванні файлів будь-якого з цих символів: ", "msg-file-already-exists": "Файл з таким ім'ям вже є", "msg-empty-file-name": "Ім'я файлу не може залишатися порожнім.", "msg-bad-dotfile": "Ім'я файлу не може починатися з крапки.", "tooltip-modified-time": "Час останньої зміни {{time}}", "tooltip-created-time": "Час створення {{time}}", "tooltip-folders-files-count": "файлів: {{fileCount}}, тек: {{folderCount}}", "label-untitled-file": "Без назви", "label-untitled-folder": "Без назви", "msg-set-attachment-folder": "Вкладення тепер зберігатимуться в \"{{path}}\"." }, "search": { "name": "Пошук", "desc": "Шукати за ключовими словами у всіх нотатках.", "action-open-search": "Шукати у всіх файлах", "label-collapse-results": "Згорнути результати", "label-match-case": "Враховувати регістр", "label-explain-search-term": "Пояснити пошуковий рядок", "label-more-context": "Розгорнути контекст", "label-result-count": "{{count}} результат", "label-result-count_plural": "Результатів: {{count}}", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Параметри пошуку", "prompt-start-search": "Введіть пошуковий запит...", "label-match-text": "Відповідає тексту: ", "label-match-regex": "Відповідає регулярному вираженню: ", "label-match-exact-text": "Містить точний збіг: ", "label-match-greater-than": "Більше ніж: ", "label-match-less-than": "Менше ніж: ", "label-match-true": "Є true", "label-match-false": "Є false", "label-match-empty": "Є пустим", "label-match-property": "Містить властивість:", "label-match-all": "Збігається з усіма підрядками: ", "label-match-any": "Збігається з будь-яким підрядком: ", "label-excluding": "Виключаючи: ", "label-case-sensitive": "Враховуючи регістр", "label-case-insensitive": "Не враховуючи регістр", "label-match-file-path": "Збігається зі шляхом файлу: ", "label-match-file-name": "Збігається з ім'ям файлу: ", "label-match-content": "У вмісті файлу: ", "label-match-task": "Збіг задачі: ", "label-match-task-todo": "Збіг у задачі (todo): ", "label-match-task-done": "Збіг у задачі (done): ", "label-match-line": "Збіг у рядку: ", "label-match-block": "Збіг у блоці: ", "label-match-section": "Збіг у секції: ", "label-match-tag": "Збігається з міткою: ", "label-no-matches": "Збігів не знайдено.", "matches-with-count": "... і ще {{count}} збіги.", "matches-with-count_plural": "... і ще {{count}} збігів.", "label-copy-search-results": "Скопіювати результати пошуку", "button-copy-results": "Скопіювати результати", "msg-successfully-copied": "Результати скопійовані в буфер обміну.", "option-show-path": "Відображати шлях", "option-show-path-description": "Показувати повний шлях до файлу замість імені файлу.", "option-link-style": "Стиль посилань", "option-link-style-description": "Оформляти результати у вигляді посилань.", "option-choice-link-style-none": "Без посилання", "option-choice-link-style-wikilink": "Вікіпосилання", "option-choice-link-style-markdown-link": "Markdown-посилання", "option-list-prefix": "Префікс списку", "option-list-prefix-description": "Додавати префікс до кожного імені файлу в списку.", "option-choice-list-style-none": "Без префікса", "option-choice-list-style-dash": "Тире (-)", "option-choice-list-style-asterisk": "Зірочка (*)", "option-choice-list-style-numbered": "Нумерація", "tooltip-clear-search": "Очистити", "label-search-options": "Налаштування пошуку", "label-properties-group": "Властивості", "label-tags-group": "Мітки", "tooltip-read-more": "Додатково", "label-history": "Історія", "tooltip-clear-history": "Очистити історію пошуку", "label-path-option-description": "шукати у шляху до файлу", "label-file-name-option-description": "шукати в імені файлу", "label-tag-option-description": "шукати мітки", "label-line-option-description": "ключові слова в одному рядку", "label-section-option-description": "ключові слова в одному заголовку", "label-property-option-description": "шукати у властивості", "menu-opt-search-for": "Шукати \"{{keyword}}\"", "menu-opt-search-in-folder": "Шукати у теці" }, "quick-switcher": { "name": "Швидкий перехід", "desc": "Відкрийте будь-який файл, не відриваючи рук від клавіатури. Скористайтеся Ctrl/Cmd+O.", "short-name": "Перехід", "action-open": "Відкрити провідник файлів", "instruction-navigate": "навігація", "instruction-open": "відкрити", "instruction-open-in-new-tab": "щоб відкрити нову вкладку", "instruction-open-to-the-right": "щоб відкрити праворуч", "instruction-create": "створити", "instruction-dismiss": "відміна", "instruction-select": "вибрати", "label-no-note-create-new": "Такої нотатки не знайдено. Натисніть Enter, щоб створити нову.", "prompt-type-file-name": "Наберіть ім'я файлу для створення або переходу...", "label-enter-to-create": "Натисніть Enter для створення", "tooltip-not-created-yet": "Ще не створено, виберіть, щоб створити", "option-show-existing-only": "Показувати лише нотатки, що існують", "option-show-existing-only-description": "Показувати лише файли, що існують. Посилання на ще не створені файли будуть приховані.", "option-show-attachments": "Показувати вкладення", "option-show-attachments-desc": "Показувати вкладення (наприклад зображення, відео та PDF)", "option-show-all-file-types": "Показувати файли всіх типів", "option-show-all-file-types-desc": "Показувати всі файли, включаючи ті, що Obsidian відкрити не може. Такі файли будуть відкриті у застосунку за замовчуванням для цього типу файлу." }, "graph-view": { "name": "Граф", "desc": "Показує граф зв'язків між нотатками.", "action-open": "Граф", "action-open-local": "Відкрити граф", "action-copy-screenshot": "Скопіювати скріншот", "tab-title": "Граф {{displayText}}", "label-filters": "Фільтри", "prompt-filter-nodes": "Шукати в...", "option-depth": "Глибина", "option-depth-description": "Глибина показу зв'язків", "option-neighbor-links": "Зв'язки з сусідніми нотатками", "option-neighbor-links-description": "Показувати зв'язки з сусідніми нотатками.", "option-forelinks": "Вихідні зв'язки", "option-forelinks-description": "Показувати посилання на інші файли", "option-backlinks": "Вхідні зв'язки", "option-backlinks-description": "Показувати посилання з інших файлів", "option-show-tags": "Мітки", "option-show-tags-description": "Мітки прив'язані до нотаток, що містять їх", "option-show-attachments": "Вкладення", "option-show-attachments-description": "Показувати вкладення, що містяться в нотатках", "option-show-existing-files-only": "Тільки створені нотатки", "option-show-existing-files-only-description": "Прибирає з показу посилання на ще не створені нотатки", "option-show-orphans": "Об'єкти без зв'язків", "option-show-orphans-description": "Показувати об'єкти, у яких немає зв'язків", "label-display": "Відображення", "option-show-arrows": "Напрямок зв'язків", "option-show-arrows-description": "Показувати напрямок при наближенні", "option-text-fade": "Поріг зникнення тексту", "option-node-size": "Розмір вузла", "option-link-thickness": "Товщина ліній", "label-forces": "Сили", "option-center-force": "Сила притягання", "option-link-force": "Сила зв'язку", "option-link-distance": "Відстань між вузлами", "option-repel-force": "Сила відштовхування", "tooltip-open-graph-settings": "Відкрити налаштування графа", "msg-screenshot-copied": "Знімок екрана скопійовано в буфер обміну.", "label-groups": "Групування", "placeholder-enter-query": "Пошуковий запит...", "tooltip-delete-graph": "Вилучити групу", "button-new-group": "Нова група", "tooltip-click-to-change-drag-to-reorder": "Зміна кольору\nУпорядкування перетягуванням", "action-timelapse": "Запустити анімацію графа в часі", "tooltip-start-timelapse-animation": "Почати анімацію", "button-animate-timelapse": "Анімувати" }, "backlinks": { "name": "Зворотні посилання", "desc": "Показувати кількість зворотних посилань у рядку стану.", "action-open": "Показати зворотні посилання.", "action-show": "Показати панель зворотних посилань", "action-open-for-current": "Показати зворотні посилання для поточного файлу", "action-toggle-backlinks-in-document": "Змінити показ зворотних посилань в документі", "menu-opt-backlinks-in-document": "Зворотні посилання в документі", "label-linked-mentions": "Згадки з посиланням", "label-no-backlinks": "Зворотних посилань не знайдено.", "label-unlinked-mentions": "Згадки без посилання", "label-show-search": "Показати пошуковий запит", "label-link-button-text": "Посилання", "tab-title": "Зворотні посилання для {{displayText}}", "label-no-unlinked-mentions": "Згадок без посилання не знайдено.", "ellipsis": "...", "option-backlink-in-document": "Зворотні посилання в документі", "option-backlink-in-document-desc": "Показувати зворотні посилання в документі за замовчуванням для нових відкритих областей." }, "outgoing-links": { "name": "Вихідні посилання", "desc": "Показувати зворотні посилання та знаходити в нотатці згадки, що не пов'язані з іншими нотатками.", "action-open": "Відкрити вихідні посилання", "action-show": "Показати панель вихідних посилань", "action-open-for-current": "Відкрити вихідні посилання для поточного файлу", "tab-title": "Вихідні посилання з {{displayText}}", "label-links": "Посилання", "label-no-links": "Посилань не знайдено.", "label-unlinked-mentions": "Непов'язані згадки", "tooltip-link-file": "Зв'язати з поточним файлом", "tooltip-not-created": "Ще не створено" }, "tag-pane": { "name": "Панель міток", "short-name": "Мітки", "desc": "Показує всі мітки та кількість використань.", "action-show": "Показати панель міток", "label-no-tags": "Не знайдено жодної мітки.", "label-sort-by-name-a-to-z": "За мітками (А → Я)", "label-sort-by-name-z-to-a": "За мітками (Я → А)", "label-sort-by-frequency-high-to-low": "За частотою (часто → рідко)", "label-sort-by-frequency-low-to-high": "За частотою (рідко → часто)", "action-show-nested-tags": "Показ вкладених міток", "action-collapse-all": "Згорнути всі", "action-expand-all": "Розгорнути всі" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Перегляд властивостей", "desc": "Показує метадані ваших файлів.", "name-global": "Всі властивості", "name-local": "Властивості файлу", "tab-title": "Властивості файлу для {{displayText}}", "action-show": "Показувати всі властивості", "action-show-local": "Показувати всі властивості", "opt-unassign-type": "Вилучити тип", "label-no-properties": "Властивості не знайдено.", "label-invalid-properties": "Неправильні властивості.", "label-sort-by-name-a-to-z": "Назва властивості (від А до Я)", "label-sort-by-name-z-to-a": "Назва властивості (від Я до А)", "label-sort-by-frequency-high-to-low": "Частота (за спаданням)", "label-sort-by-frequency-low-to-high": "Частота (за зростанням)", "msg-merge-properties-warning": "Об'єднати властивості “{{oldKey}}\" та “{{newKey}}?", "msg-merge-properties-warning-desc": "У разі конфлікту значення буде об'єднано або буде використане значення з \"{{oldKey}}\".", "action-collapse-all": "Згорнути все", "action-expand-all": "Розгорнути все", "action-open-local": "Відкрити властивості файлу", "action-open-daily-note": "Відкрити щоденну нотатку" }, "page-preview": { "name": "Попередній перегляд", "desc": "Попередній перегляд нотатки при наведенні курсора на внутрішнє посилання. Затисніть Ctrl/Cmd та наведіть в режимі редагування.", "label-empty-attachment": "“{{linktext}}\" не знайдено.", "label-empty-note": "\"{{linktext}}\" ще не створена. Натисніть, щоб створити.", "label-missing-footote": "Виноску {{id}} не знайдено. Натисніть, щоб створити.", "label-source-editor": "Редактор", "label-source-preview": "Перегляд", "label-source-search": "Пошук, внутрішні та вихідні посилання", "label-source-tab-header": "Tab header", "label-require-mod": "Затисніть {{key}} для попереднього перегляду при наведенні" }, "bookmarks": { "name": "Закладки", "desc": "Додавайте до закладок часто використовувані файли та пошукові запити.", "action-show": "Показати закладки", "action-collapse-all": "Згорнути всі", "action-new-bookmark": "Додати до закладок активну вкладку...", "action-new-group": "Нова група закладок", "action-bookmark": "Додати до закладок...", "action-add-bookmark": "Додати закладку", "action-edit-bookmark": "Редагувати закладку", "action-bookmark-block": "Додати до закладок блок під курсором...", "action-bookmark-heading": "Додати до закладок заголовок під курсором...", "action-bookmark-search": "Додати до закладок поточний пошук...", "action-remove-bookmark": "Вилучити із закладок поточний файл", "action-bookmark-tab-group": "Додати до закладок {{count}} вкладок...", "action-bookmark-tab-group_plural": "Додати до закладок {{count}} вкладок...", "action-bookmark-all-tabs": "Додати до закладок всі вкладки...", "action-bookmark-graph": "Додати до закладок цей граф...", "label-bookmark": "Закладка", "label-bookmarked": "Додано до закладок", "label-bookmark-with-count": "{{count}} закладок", "label-bookmark-with-count_plural": "{{count}} закладок", "label-no-bookmarks": "Закладок не знайдено", "label-invalid-data": "Не вдалося завантажити закладки.", "label-invalid-data-desc": "Файл даних пошкоджено.", "label-untitled-group": "Безіменна група", "label-untitled-graph": "Граф без назви", "menu-opt-edit": "Редагувати...", "menu-opt-remove": "Вилучити", "menu-opt-rename": "Перейменувати", "menu-opt-bookmark-block": "Додати до закладок цей блок...", "menu-opt-bookmark-heading": "Додати до закладок цей заголовок...", "msg-no-search-query": "Немає пошукового запиту для додавання до закладок.", "option-path": "Шлях", "option-query": "Запит", "option-u-r-l": "URL", "option-title": "Назва", "option-group": "Група закладок", "placeholder-bookmark-group": "Закладки" }, "custom-css": { "name": "Користувальницький CSS", "desc": "Читає \"obsidian.css\" з вашого сховища і застосовує його.", "setting-community-themes": "Теми спільноти", "msg-fetching-themes": "Завантажуються дані про теми спільноти...", "prompt-filter": "Фільтр...", "label-dark-theme-only": "Тільки темні", "label-light-theme-only": "Тільки світлі", "label-use": "Використати", "label-stop-use": "Не використовувати тему", "label-install-and-use": "Встановити і використовувати", "label-update": "Оновити", "label-no-readme": "Ця тема не має файлу README.", "tooltip-remove-theme": "Видалити тему", "label-visit-on-github": "Перейти на GitHub", "msg-load-error": "Не вдалося завантажити теми спільноти. Будь ласка, перевірте з'єднання з Інтернетом.", "msg-now-using-theme": "Застосована CSS-тема {{title}}.", "msg-deleted-theme": "Тему {{title}} видалено.", "msg-updated-theme": "Тему {{title}} оновлено.", "label-installed": "Встановлена", "label-legacy": "Застаріла", "button-update-all-themes": "Оновити всі", "msg-failed-load-themes": "Не вдалося завантажити теми спільноти.", "msg-no-updates-found": "Оновлень не знайдено.", "msg-updates-found": "Знайдено {{count}} тем з можливістю оновлення.", "msg-updates-found_plural": "Знайдено {{count}} тем з можливістю оновлення.", "msg-failed-to-install-theme": "Не вдалося встановити тему \"{{name}}\".", "msg-successfully-installed-theme": "Успішно встановлено тему \"{{name}}\".", "msg-installing-theme": "Встановлення теми \"{{name}}\"...", "label-search-summary": "Відображається {{themeCount}}:", "label-update-available": "Доступне оновлення" }, "command-palette": { "name": "Меню команд", "desc": "Введіть команду, яку хочете запустити. Дозволяє звертатися до функцій Obsidian без взаємодії з інтерфейсом і запам'ятовування поєднань клавіш.", "action-open": "Відкрити меню команд", "instruction-navigate": "навігація", "instruction-use": "використати", "instruction-dismiss": "скасувати", "label-no-commands": "Команда не знайдена.", "prompt-type-command": "Введіть назву команди...", "label-pinned-commands": "Закріплені команди", "option-add-new-pin": "Закріпити команду", "option-add-new-pin-description": "Закріплені команди будуть показані зверху, коли поле пошуку пустує." }, "markdown-format-importer": { "name": "Імпорт Markdown-файлів", "desc": "Конвертує Markdown-файли з інших застосунків у формат Obsidian.", "action-open": "Імпорт Markdown-файлів", "option-roam-tag-fixer": "Виправити мітки з Roam Research", "option-roam-tag-fixer-description": "Конвертує \"#tag\" і \"#[[tag]]\" в \"[[tag]]\".", "option-roam-highlight-fixer": "Виправити формат виділення тексту з Rоam Research", "option-roam-highlight-fixer-description": "Конвертує \"^^highlight^^\" в \"==highlight==\".", "option-roam-todo-converter": "Виправити чекбокси з Roam Research", "option-roam-todo-converter-description": "Конвертує \"{{[[TODO]]}}\" в \"[ ]\".", "option-bear-highlight-fixer": "Виправити формат виділення тексту з Bear", "option-bear-highlight-fixer-description": "Конвертує \"::highlight::\" в \"==highlight==\".", "zettelkasten-link-fixer": "Виправити посилання на цетелькастен-нотатки", "zettelkasten-link-fixer-description": "Конвертує посилання \"[[UID]]\" в \"[[UID File Name]]\".", "zettelkasten-link-beautifier": "Виправити та відформатувати посилання на цетелькастен-нотатки", "zettelkasten-link-beautifier-description": "Конвертує посилання \"[[UID]]\" а також приведе їх до формату \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Увага: додаток перетворить усі файли у вашому сховищі, а не тільки відкритий файл.", "msg-override-files-warning": "Ваші файли будуть перезаписані. Зробіть бекап всіх файлів перед тим, як почати конвертацію.", "label-start-conversion": "Почати конвертацію", "label-stop": "Зупинити", "label-go-back": "Назад", "label-done": "Закрити", "label-processing": "Обробка...", "label-cancelling": "Скасування...", "label-finished": "Готово!", "label-processed-files": "Оброблено", "label-modified-files": "Змінено", "label-total-replacements": "Всього замін", "label-failed": "Failed" }, "daily-notes": { "name": "Щоденні нотатки", "desc": "Відкриває сьогоднішню щоденну нотатку, або створює її вперше.", "short-name": "Щоденник", "action-open": "Сьогоднішня нотатка", "action-open-previous": "Відкрити попередню щоденну нотатку", "action-open-next": "Відкрити наступну щоденну нотатку", "action-insert-text": "Вставити текст у щоденну нотатку", "action-insert-link": "Вставити посилання у щоденну нотатку", "msg-fail-format": "Не вдалося створити щоденну нотатку. Неправильний формат \"{{format}}\".", "msg-fail-folder": "Не вдалося створити щоденну нотатку. Теки \"{{folderOption}}\" не знайдено.", "msg-fail-template-file": "Не вдалося створити щоденну нотатку. Файл шаблону \"{{template}}\" не знайдено.", "msg-no-previous": "Попередні щоденні нотатки відсутні.", "msg-no-next": "Пізніші щоденні нотатки відсутні.", "option-date-format": "Формат дати", "label-refer-to-syntax": "Для більш детальної інформації про синтаксис перейдіть за ", "label-syntax-link": "посиланням", "label-syntax-live-preview": "Приклад: ", "option-new-file-location": "Розташування нового файлу", "option-new-file-location-description": "Шлях до теки нових щоденних нотаток.", "option-template": "Розташування шаблону", "option-template-description": "Шлях до файлу, який буде використовуватися як шаблон.", "option-open-on-start": "Відкривати нотатку на сьогодні", "option-open-on-start-description": "Автоматично відкривати сьогоднішню нотатку при відкритті сховища" }, "unique-note-creator": { "name": "Конструктор унікальних нотаток", "desc": "Створює нову нотатку з унікальним часовим префіксом, особливо корисний якщо ви користуєтесь цетелькастен або slip box.", "short-name": "Унікальний", "action-create-note": "Створити нову унікальну нотатку", "action-add-link": "Add unique internal link", "option-new-file-location": "Місцезнаходження нового файлу", "option-new-file-location-description": "Шлях до теки для нових нотаток.", "msg-folder-not-found": "Не вдалося створити нову унікальну нотатку. Теки \"{{folderOption}}\" не знайдено.", "option-template-file": "Шлях до файлу шаблону", "option-template-file-description": "Шлях до файлу, який буде використано як шаблон.", "option-template-file-placeholder": "Приклад: тека1/нотатка", "option-id-format": "Формат унікального префіксу", "msg-template-file-not-found": "Не вдалося створити нову унікальну нотатку. Файл шаблону \"{{template}}\" не знайдено.", "msg-failed-to-generate": "Не вдалося згенерувати унікальну нотатку формату \"{{format}}" }, "random-note": { "name": "Випадкова нотатка", "desc": "Відкриває випадкову нотатку. Може стати в пригоді для повторного читання і несподіваних відкриттів.", "short-name": "Випадкова", "action-open": "Відкрити випадкову нотатку" }, "outline": { "name": "Вміст", "desc": "Показує вміст поточного файлу або пов'язаної області.", "action-open": "Відкрити вміст", "action-show": "Показати панель вмісту", "action-open-for-current": "Відкрити вміст для поточного файлу", "tab-title": "Вміст {{displayText}}", "label-no-headings": "Не знайдено жодного заголовка.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Лічильник слів", "desc": "Показує кількість слів у рядку стану." }, "slides": { "name": "Слайди", "desc": "Приємний сюрприз від Markdown. Щоб розділити слайди, використовуйте \"---\".", "action-start": "Почати презентацію" }, "audio-recorder": { "name": "Диктофон", "desc": "Записує аудіо і зберігає його як вкладення.", "action-start": "Почати запис аудіо", "action-stop": "Зупинити запис аудіо", "action-toggle": "Почати/зупинити запис", "msg-access-denied": "Доступ до мікрофона був відхилений. Будь ласка, дозвольте доступ з панелі налаштувань вашої системи", "msg-pending-grant": "Дайте дозвіл на доступ до мікрофона, щоб почати запис.", "msg-no-microphone": "Не вдалося виявити мікрофон.." }, "open-with-default-app": { "name": "Відкрити в застосунку за замовчуванням", "desc": "Додає можливість відкривати поточний файл в застосунку за замовчуванням.", "action-open-file": "Відкрити в застосунку за замовчуванням", "action-open-file-mobile": "Поширити", "action-show-in-folder": "Відкрити теку у провіднику", "action-show-in-folder-mac": "Переглянути в Finder" }, "templates": { "name": "Шаблони", "desc": "Вставити вміст шаблону з теки файлів шаблонів.", "action-insert": "Вставити шаблон", "action-insert-current-date": "Вставити поточну дату", "action-insert-current-time": "Вставити поточний час", "option-template-folder-location": "Шлях до теки шаблонів", "option-template-folder-location-description": "Файли з цієї теки будуть доступні як шаблони.", "option-template-date-format": "Формат дати", "option-template-date-format-description": "{{date}} у файлі шаблону заміниться на це значення.", "option-template-date-format-description2": "Використовуйте конструкцію {{date: YYYY-MM-DD}}, щоб задати формат прямо в шаблоні.", "option-template-time-format": "Формат часу", "option-template-time-format-description": "{{time}} у файлі шаблону заміниться на це значення..", "option-template-time-format-description2": "Використовуйте конструкцію {{time: HH: mm}}, щоб задати формат прямо в шаблоні.", "instruction-navigate": "навігація", "instruction-insert": "вставити шаблон", "instruction-dismiss": "скасування", "msg-no-templates-found": "Шаблони не знайдені", "msg-fail-invalid-folder": "Не вдалося показати шаблони. Неприпустиме ім'я теки шаблонів.", "msg-fail-folder-not-found": "Не вдалося показати шаблони. Теки \"{{folderOption}}\" не знайдено.", "msg-fail-invalid-template-properties": "Неможливо вставити шаблон, не вдалося прочитати властивості у файлі шаблону.", "msg-no-folder-set": "Не вдалося знайти шаблони. Налаштуйте теку для шаблонів.", "prompt-type-template": "Введіть ім'я шаблону..." }, "translucency": { "name": "Напівпрозоре вікно", "desc": "Додає інтерфейсу відчуття глибини, особливо в темному режимі. Не працює під Linux." }, "slash-command": { "name": "Слеш команди", "desc": "Дозволяє використовувати слеш команди під час редагування, якщо набрати \"/\"." }, "editor-status": { "name": "Режим редактору", "desc": "Додає до рядка стану перемикач режимів редактора.", "read": "Читання", "edit-source": "Джерельний режим", "edit-live-preview": "Динамічне відображення" }, "publish": { "name": "Публікація", "desc": "Публікуйте свої нотатки за допомогою Obsidian Publish.", "action-publish-changes": "Публікація змін", "action-publish-file": "Опублікувати поточний файл", "label-no-internet-access": "Для публікації змін потрібен доступ до Інтернету.", "label-publish-service-description": "Obsidian Publish це додатковий платний сервіс для публікації нотаток в інтернет безпосередньо з Obsidian", "label-please-login": "Перед початком публікації увійдіть у свій обліковий запис Obsidian або зареєструйте новий.", "label-no-publish-subscription": "Ви не підписані на сервіс Obsidian Publish.", "button-purchase": "Придбати", "label-manage-sites": "Управління сайтами", "label-no-sites": "У вас немає сайтів.", "button-choose": "Вибрати", "tooltip-edit-site-id": "Змінити ID сайту", "tooltip-delete-site": "Видалити сайт", "label-delete-site-confirmation": "Ви дійсно хочете видалити цей сайт?", "label-delete-site-details": "Сайт буде негайно і назавжди видалений.", "label-confirm-delete-site": "Підтвердити видалення сайту \"{{site}}\"", "option-site-id": "ID сайту", "option-site-id-description": "Сайт буде доступний за адресою https://publish.obsidian.md/{site id}. Його можна змінити пізніше. Допускаються тільки малі літери, цифри та тире.", "option-site-id-placeholder": "Виберіть ID сайту", "button-create": "Створити", "msg-invalid-site-id": "В ID сайту допускаються тільки малі літери, цифри та тире.", "msg-site-id-in-use": "Такий ID сайту вже зайнятий, спробуйте інший.", "msg-create-site-issue": "При створенні сайту сталася помилка", "label-site-options": "Налаштування сайту", "option-site-general": "Загальне", "option-site-components": "Компоненти", "option-site-appearance": "Оформлення", "option-site-reading-experience": "Зручність читання", "option-site-misc": "Інші налаштування сайту", "option-site-name": "Назва", "option-site-name-description": "Назва сайту, що публікується. Воно буде показуватися в заголовках сторінок.", "option-site-name-placeholder": "Назва сайту", "option-home-page-file": "Домашня сторінка", "option-home-page-file-description": "Перша сторінка, яку побачить відвідувач опублікованого сайту", "option-home-page-file-placeholder": "Виберіть опублікований файл", "option-logo": "Лого", "option-logo-description": "Оберіть зображення логотипа вашого сайту.", "option-logo-placeholder": "Будь-яке зображення з вашого сховища...", "option-site-collaboration": "Колаборація сайту", "option-site-collaboration-desc": "Керування колаборантами для цього сайту.", "option-customize-navigation": "Налаштувати навігацію", "option-customize-navigation-desc": "Замінити порядок навігаційних елементів і приховати сторінки або теки.", "option-navigation-order": "Порядок показу навігації", "option-hide-items-in-navigation": "Приховати сторінки або теки з навігації", "option-hide-items-in-navigation-desc": "Клацніть правою кнопкою миші та виберіть \"Приховати\", щоб запобігти появі конкретних сторінок в навігації сайту. Сторінки все ще будуть доступні через посилання або URL-адресу напряму.", "option-show-hidden-items": "Показати приховані", "button-customize-sidebar": "Змінити", "label-navigation-modal-title": "Навігація", "label-navigation-modal-desc": "Перетягніть, щоб налаштувати порядок, у якому елементи навігації показуються на опублікованому сайті.", "option-hide-in-navigation": "Приховати в навігації", "button-manage-collaborators": "Керування", "option-theme": "Тема", "option-theme-description": "Виберіть колірну тему оформлення сайту.", "option-theme-system": "Адаптувати до системи", "option-show-theme-toggle": "Перемикання Світлої/Темної теми", "option-show-theme-toggle-description": "Дозволити користувачам змінювати тему.", "option-show-navigation": "Показ навігації", "option-show-navigation-description": "Показ списку всіх опублікованих сторінок в лівій частині.", "option-show-search": "Показ рядка пошуку", "option-show-search-description": "Показувати рядок пошуку над навігацією, щоб відвідувачі могли шукати по вмісту і заголовкам вашого сайту.", "option-show-graph": "Показ графа", "option-show-graph-description": "Показувати маленький граф на кожній сторінці.", "option-show-outline": "Показ змісту", "option-show-outline-description": "Показувати структуру заголовків на кожній сторінці", "option-show-backlinks": "Показ зворотних посилань", "option-show-backlinks-description": "Показувати розділ зі зворотними посиланнями в кінці кожної сторінки", "option-sliding-window-mode": "Використання зсувних вікон", "option-sliding-window-mode-description": "Відкривати сторінки в нових областях праворуч. Дозволяє пересуватися по областях горизонтально.", "option-hover-preview-file": "Показ попереднього перегляду", "option-hover-preview-file-description": "Показувати попередній перегляд при наведенні курсора на посилання.", "option-hide-title": "Ховати назву сторінки", "option-hide-title-description": "Ховає заголовок з назвою. Може бути корисним якщо ви маєте заголовки з назвами у кожному файлі.", "option-readable-line-length": "Обмежити максимальну довжину рядка", "option-readable-line-length-description": "Підвищує зручність читання довгих абзаців, але зменшує кількість інформації, що поміщається на екрані.", "option-site-password": "Паролі", "option-site-password-description": "Обмежити доступ до сайту за допомогою паролів.", "option-google-analytics": "Трекінг код Google Analytics", "option-google-analytics-description": "Налаштування Google Analytics для вашого сайту. Доступно лише для користувачів з вашого власного домену URL. Якщо закони вашої країни не дозволяють цього, рекомендуємо вимкнути.", "button-manage-passwords": "Налаштувати", "button-save-site-settings": "Зберегти", "msg-updated-options": "Налаштування для сайту збережені.", "button-go-back": "Назад", "label-publishing-to": "Публікація на", "tooltip-switch-site": "Вибрати інший сайт", "button-add-linked": "Додати пов'язані", "tooltip-add-linked": "Додати всі файли, пов'язані з виділеними об'єктами", "msg-added-linked-files": "Додано пов'язаних файлів: {{count}}.", "msg-added-linked-files_plural": "Додано пов'язаних файлів: {{count}}.", "tooltip-open-site-options": "Налаштування сайту", "label-no-changes-detected": "Зміни не виявлені..", "label-changed-files-to-be-published": "Змінений", "label-unchanged-files-already-published": "Без змін (виділіть для видалення)", "label-file-selected": " виділено", "button-select-all-files": "Виділити всі", "label-custom-navigation-title": "Елементи навігації", "button-deselect-all-files": "Зняти виділення", "label-new-files-to-be-published": "Новий", "button-publish": "Опублікувати", "msg-no-permission-to-publish-to-site": "У вас недостатньо прав для публікації на обраний сайт.", "msg-select-at-least-one-file": "Будь ласка, виділіть файл.", "label-upload-changes": "Завантажити зміни", "button-done": "Готово", "button-stop": "Стоп", "label-status-uploading": "Завантажується", "label-status-to-publish": "До публікації", "label-status-to-delete": "До видалення", "label-status-published": "Опубліковано", "label-status-deleted": "Видалено", "label-status-failed": "Не вдалося", "label-status-cancelled": "Скасовано", "button-change": "Змінити", "label-clear-cache": "Зміни покажуться на сайті протягом декількох хвилин. Спробуйте очистити кеш браузера, якщо зміни не видно.", "label-visit-site": "Ваш сайт доступний за адресою: ", "msg-something-went-wrong": "Щось пішло не так. Подробиці в консолі для розробників.", "msg-network-error": "Сталася мережева помилка. ", "label-manage-passwords": "Управління паролями", "label-add-password": "Додавання пароля", "action-new-password": "Новий пароль", "label-no-password": "Ваш сайт не захищений паролем і видно всім.", "label-have-password": "Ваш сайт захищений паролем. Якщо ви встановили кілька паролів, відвідувачі можуть отримати доступ до сайту з будь-яким з них", "option-password-name": "Пароль", "option-password-desc": "Пароль хешується і не зберігається у вигляді звичайного тексту.", "option-password-placeholder": "Ваш пароль", "option-nickname-name": "Псевдонім (опціонально)", "option-nickname-desc": "Встановіть псевдонім, щоб запам'ятати, для чого або для кого даний пароль.", "action-add-password": "Зберегти", "label-untitled-password": "Пароль без назви", "label-password-created-time": "Створений {{time}}", "msg-added-new-password": "Новий пароль збережено.", "option-custom-domain": "Особистий домен", "option-custom-domain-desc": "Використовуйте свій власний домен замість https://publish.obsidian.md/{site id}.", "option-noindex": "Заборонити індексацію пошуковикам", "option-noindex-desc": "Запобігти індексації сайту пошуковими машинами.", "button-configure": "Налаштувати", "label-configure-custom-domain": "Налаштування особистого домену", "option-custom-url-name": "Особистий URL", "option-custom-url-desc": "URL-адреса за якою буде доступний ваш сайт.", "option-custom-url-placeholder": "www.vashsayt.com", "option-custom-url-redirect": "Пересилати на користувацький домен", "option-custom-url-redirect-desc": "Пересилати користувачів з publish.obsidian.md/id до вашого користувацького домену.", "button-update-custom-domain": "Зберегти", "label-custom-domain-instructions": "Більше інформації щодо налаштування особистого домену доступно в {{link}}.", "label-custom-domain-link-name": "документація Obsidian", "label-site-usage": "Ви використовуєте {{site}} з {{limit}}.", "button-add-more-sites": "Купити ще сайт", "label-no-sites-bought": "Ви не купили жодного сайту.", "button-get-site": "Отримати сайт", "label-manage-sharing": "Керування поширеним для \"{{name}}\"", "label-sharing-with-users": "Цей сайт наразі поширено з наступними людьми.", "label-not-sharing": "Цей сайт наразі ні з ким не поширено.", "label-invite-pending": "Очікується", "tooltip-remove-user": "Видалити користувача", "option-invite-user": "Запросити користувача", "placeholder-invite-user": "Введіть їх ел. пошту...", "error-email-must-be-valid": "Будь ласка, введіть плавильну ел. пошту щоб запросити когось.", "msg-enable-publish-plugin": "Будь ласка, увімкніть вбудований додаток \"Публікація\" в Налаштуваннях → Вбудовані додатки, щоб переглянути сайти.", "label-your-sites": "Ваші сайти", "label-sites-shared-with-you": "Сайти якими поділилися з вами", "tooltip-leave-site-sharing": "Припинити колаборації з цим сайтом", "label-leave-site-confirmation": "Підтвердити зупинку колаборації", "label-leave-site-confirmation-details": "Це видалить сайт зі списку поширених з вами. Повернути сайт буде неможливо.", "label-leave-site-confirmation-details-2": "Будь ласка, зв'яжіться з власником цього сайту, якщо ви знову хочете колаборувати з цим сайтом.", "button-leave": "Вийти", "label-compare-with-live": "Порівняти з версією на сайті", "button-use-live-version": "Використати версію з сайту", "label-confirm-override": "Підтвердити перезапис локальної версії", "label-confirm-override-1": "Ви впевнені, що хочете перезаписати локальну версію?", "label-confirm-override-2": "Буде використана версія з сайту, ваша локальна версія буде замінена. Будь ласка, зробіть резервну копію, якщо це необхідно.", "button-proceed": "Продовжити", "message-successfully-used-live-version": "Версія з сайту використана успішно, вашу локальну версію перезаписано.", "label-open-in-live-site": "Open in live site", "label-open-file": "Відкрити файл", "tooltip-manage-publish-filters": "Керування фільтрами публікації", "option-included-folders": "Включені теки", "option-included-folders-desc": "Файли в цих файлах будуть автоматично обрані, коли ви будете переглядати зміни до публікації.", "option-currently-included-folders": " Наразі ці теки включені:", "option-excluded-folders": "Виключені теки", "option-excluded-folders-desc": "Файли з цих тек не буде показано під час перегляду змін до публікації. Це налаштування має пріоритет над включеними батьківськими теками.", "label-number-of-folders-included": "Obsidian Publish наразі включає {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish назарі виключає {{folders}}.", "label-manage-included-folders": "Керування включеними теками", "label-manage-excluded-folders": "Керування виключеними теками", "label-add-included-folder": "Включити теку", "label-add-included-folder-desc": "Ви можете включати як створені, так і ще не створені теки.", "tooltip-contact-support": "Зв'язатись зі службою підтримки", "label-navigation-preview": "Попередній перегляд навігації" }, "workspaces": { "name": "Простори", "desc": "Зберігайте і завантажуйте власні варіанти компонування робочого простору.", "action-load-layout": "Завантажити простір", "action-manage-layouts": "Керування просторами", "action-save": "Зберегти макет", "action-save-and-load-layout": "Зберегти або завантажити інший простір", "placeholder-save-current-layout-as": "Зберегти простір як...", "button-save": "Зберегти", "button-load": "Завантажити", "tooltip-delete-layout": "Видалити простір", "msg-enter-name": "Введіть ім'я нового простору.", "msg-save-layout-success": "Простір збережено.", "label-no-layout-found": "Немає збережених просторів.", "label-workspace-modified-time": "Змінено {{time}}", "placeholder-type-to-search-layouts": "Введіть ім'я простору..." }, "sync": { "name": "Синхронізація", "desc": "Синхронізуйте файли за допомогою Obsidian Sync.", "action-view-version-history": "Показати історію версій", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Відкрити історію версій", "action-view-sync-sidebar": "Показати історію синхронізації", "action-activity-log": "Відкрити журнал дій", "label-load-more": "Завантажити ще", "label-show-diff": "Показати відмінності", "label-copy-to-clipboard": "Скопіювати в буфер обміну", "label-restore-this-version": "Відновити цю версію", "msg-already-latest-version": "Поточна версія найостанніша.", "msg-restored-version": "Версія від {{time}} відновлена", "label-file-deleted": "Цей файл був видалений", "label-file-deleted-via": "Видалено через {{ device }}", "label-file-renamed-from": "Цей файл було перейменовано з \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 редакція", "label-revision_plural": "Ревізій: {{revisions}}", "label-via-device": "через {{device}}", "label-no-history": "Цей файл не має історії синхронізації.", "label-empty-file": "Порожньо", "label-unable-to-retrieve": "Не вдалося отримати історію версій", "label-setting-files": "Налаштувати файли", "label-deleted-files": "Видалені файли", "label-version-history": "Історія версій", "label-click-to-see-history": "Клацніть на віддаленому файлі, щоб переглянути його історію.", "label-create-remote-vault": "Створення сховища", "msg-please-enter-password": "Будь ласка, введіть пароль.", "msg-vault-name-cannot-be-empty": "Назва сховища не може бути порожнім..", "msg-successfully-created-vault": "Сховище \"{{name}}\" створено.", "label-remote-vault-explanation": "Сховища в Obsidian Sync безпечно синхронізують ваші дані між пристроями", "option-vault-name": "Назва", "option-vault-name-desc": "Допоможе запам'ятати призначення сховища.", "option-vault-region": "Регіон", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Оберіть найближчий до вас регіон для зберігання віддаленого сховища. Неможливо змінити у майбутньому.", "option-vault-name-placeholder": "Моє сховище", "option-encryption": "Шифрування", "option-encryption-desc": "Наскрізне шифрування забезпечує найнадійніший захист, але вимагає надійного зберігання пароля шифрування. Стандартне шифрування використовує ключ, яким керує Obsidian, щоб захистити дані під час передачі, та на наших серверах.", "option-encryption-warning": "Ця опція не може бути змінена пізніше.", "option-encryption-end-to-end": "Наскрізне шифрування", "option-encryption-standard": "Стандартне шифрування", "option-encryption-password": "Пароль шифрування", "option-encryption-password-desc": "Цей пароль не може бути змінений пізніше.", "option-encryption-password-desc-warning": "Якщо ви забудете пароль, доступ до синхронізованих даних буде втрачено назавжди.", "option-encryption-password-desc-2": "Це налаштування ніяк не впливає на ваші локальні дані.", "label-encryption-password-explanation": "Віддалене сховище \"{{name}}\" зашифроване. Введіть свій пароль для розблокування.", "option-encryption-password-placeholder": "Ваш пароль", "label-unlock-encrypted-vault": "Розблокуйте своє віддалене сховище", "button-unlock-vault": "Відкрити", "label-remote-vaults": "Сховища в Obsidian Sync", "label-vault-created-time": "Створено {{time}}", "tooltip-delete-remote-vault": "Видалити", "tooltip-rename-remote-vault": "Перейменувати", "label-rename-remote-vault": "Перейменувати віддалене сховище \"{{name}}\"", "label-rename-remote-vault-desc": "Введіть нову назву для цього віддаленого сховища.", "tooltip-manage-sharing": "Налаштувати доступ", "label-confirm-delete-remote-vault": "Підтвердьте видалення сховища", "label-confirm-delete-remote-vault-question": "Ви впевнені, що хочете видалити це сховище з Obsidian Sync?", "label-confirm-delete-remote-vault-result": "Всі дані на нашому сервері, включаючи історію версій, буде видалено. Ваші локальні файли залишаться недоторканими.", "label-confirm-delete-remote-vault-warning": "Ця дія постійна та незворотна.", "msg-remote-vault-deleted": "{{name}} було видалено.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: під'єднаного віддаленого сховища більше не існує.", "button-connect-to-remote-vault": "Під'єднати", "button-disconnect-from-remote-vault": "Від'єднати", "label-sync-status": "Синхронізація: {{status}}", "label-not-remote-vaults": "У вас немає синхронізованих сховищ.", "label-no-subscription": "Ви не маєте активної підписки на Obsidian Sync.", "label-please-visit": "Будь ласка, перегляньте", "label-preview-unsupported-file-type": "Не вдалося переглянути файли типу {{type}}.", "button-create-new-remote-vault": "Створити нове сховище", "label-sync-log": "Журнал синхронізації", "option-event-type-all": "Усе", "option-event-type-errors": "Помилки", "option-event-type-skipped": "Пропущено", "option-event-type-merge-conflicts": "Конфлікти злиття", "button-copy-sync-log": "Скопіювати журнал синхронізації", "msg-successfully-copied-sync-log": "Історію синхронізації скопійовано.", "button-retry": "Повторити", "button-purchase-subscription": "Придбати", "label-third-party-sync-warning": "Виявлено конфліктний сторонній сервіс синхронізації", "label-third-party-sync-warning-desc": "Увага: Схоже, що ваше сховище послуговується {{service}} як стороннім сервісу синхронізації. Якщо використаєте Obsidian Sync з цим сховищем, можете пошкодити файли або втратити дані.", "label-icloud-drive-warning": "Якщо ви використовуєте iCloud Drive, ваші Документи та Робочий стіл можуть бути синхронізовані через iCloud. Це може призвести до конфліктів з Obsidian Sync.", "option-remote-vault": "Віддалене сховище", "button-choose-remote-vault": "Обрати", "button-manage-remote-vault": "Змінити", "option-remote-vault-desc-connected": "Під'єднано до віддаленого сховища \"{{name}}\".", "option-remote-vault-desc-not-connected": "Наразі не під'єднано жодного віддаленого сховища.", "option-sync-status": "Стан синхронізації", "option-sync-status-desc-paused": "Obsidian Sync призупинено.", "option-sync-status-desc-running": "Obsidian Sync працює.", "option-device-name": "Назва пристрою", "option-device-name-desc": "Ця назва буде показана в історії синхронізації. Залиште поле пустим, щоб використати ім'я за замовчуванням.", "button-resume": "Продовжити", "button-pause": "Пауза", "option-view-deleted-files": "Видалені файли", "option-view-deleted-files-desc": "Перегляд та відновлення видалених файлів.", "option-sync-log": "Події синхронізації", "option-sync-log-desc": "Переглянути останні дії синхронізації для зневадження.", "button-view": "Перегляд", "button-bulk-restore": "Масове відновлення", "button-restore-files_zero": "Відновити файли", "button-restore-files": "Відновити {{count}} файл", "button-restore-files_plural": "Відновити {{count}} файлів", "msg-restoring": "Відновлення...", "msg-restoring-complete": "`Відновлення виконано: {{succeeded}} успішно та {{failed}} з помилкою.`", "option-vault-size": "Розмір сховища", "option-vault-size-desc": "Заповнено {{size}} з {{limit}}", "option-vault-size-unknown": "Не вдалося отримати розмір вашого сховища.", "option-vault-size-loading": "Отримання розміру вашого сховища...", "option-over-size": "Розмір сховища перевищив ліміт", "option-almost-over-size": "Розмір сховища близький до граничного", "msg-largest-files": "Перегляд найбільших файлів", "msg-largest-files-desc": "Ці віддалені файли займають найбільше місця. Після видалення вкладень, використайте кнопку очищення, щоб звільнити місце у віддаленому сховищі.", "button-upgrade-storage": "Збільшити сховище", "button-purge-remote": "Очистити", "button-hide-my-changes": "Приховати мої зміни", "tooltip-purge-remote": "Безповоротно очистити видалені вкладення з віддаленого сховища задля збереження місця.", "msg-purge-complete": "Очищення виконано.", "option-prevent-sleep": "Заборонити перехід у режим сну", "option-prevent-sleep-desc": "Залишає застосунок активним та блокує перехід пристрою у режим сну, щоб синхронізувати файли.", "option-selective-sync": "Вибіркова синхронізація", "option-excluded-folders": "Виключені теки", "option-excluded-folder-desc": "Заборонити синхронізувати певні теки.", "option-currently-excluded-folders": " Поточний список виключень:", "button-manage-excluded-folders": "Змінити", "option-sync-image": "Синхронізація зображень", "option-sync-image-desc": "Синхронізація зображень з такими розширеннями: {{extensions}}.", "option-sync-audio": "Синхронізувати аудіо", "option-sync-audio-desc": "Синхронізація аудіо файлів з такими розширеннями: {{extensions}}.", "option-sync-video": "Синхронізувати відео", "option-sync-video-desc": "Синхронізація відео файлів з такими розширеннями: {{extensions}}.", "option-sync-pdf": "Синхронізувати файли PDF", "option-sync-pdf-desc": "Синхронізувати PDF-файли.", "option-sync-unsupported": "Синхронізувати всі інші типи файлів", "option-sync-unsupported-desc": "Синхронізація файлів, що не підтримуються.", "option-vault-config-sync": "Синхронізація налаштувань сховища", "option-view-config-files": "Історія версій налаштувань", "option-view-config-files-desc": "Переглядайте та відновлюйте історію версій файлів налаштувань.", "option-sync-app": "Головні налаштування", "option-sync-app-desc": "Увімкніть для синхронізації налаштувань редактора, файлів, посилань, і т. д.", "option-sync-appearance": "Налаштування вигляду", "option-sync-appearance-desc": "Синхронізувати налаштування оформлення, такі як темний режим, активна тема та увімкнені сніпети.", "option-sync-appearance-data": "Теми та сніпети", "option-sync-appearance-data-desc": "Синхронізувати завантажені теми та сніпети. Увімкнені вони чи ні, вирішує попереднє налаштування.", "option-sync-hotkey": "Сполучення клавіш", "option-sync-hotkey-desc": "Синхронізувати власні сполучення клавіш.", "option-sync-core-plugin": "Список активних вбудованих додатків", "option-sync-core-plugin-desc": "Синхронізувати обрані вбудовані додатки.", "option-sync-core-plugin-data": "Налаштування вбудованих додатків", "option-sync-core-plugin-data-desc": "Синхронізувати налаштування вбудованих додатків.", "option-sync-community-plugin": "Активний список додатків спільноти", "option-sync-community-plugin-desc": "Синхронізувати обрані додатки спільноти.", "option-sync-community-plugin-data": "Завантажені додатки спільноти", "option-sync-community-plugin-data-desc": "Синхронізувати встановленні додатки спільноти (файли .js, .css, та manifest.json) та їх налаштування.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync це сервіс для синхронізації сховищ з підтримкою наскрізного шифрування та історії версій.", "label-account-required": "Увійдіть або створіть обліковий запис, щоб почати користуватися синхронізацією.", "label-current-file": "Поточний файл", "label-sync-changes": "Синхронізувати зміни", "label-today": "Сьогодні", "label-yesterday": "Учора", "label-this-week": "Цього тижня", "label-older": "Давніші", "label-last-sync": "Остання синхронізація", "label-more": "ще {{count}}", "button-sign-up": "Зареєструватися", "button-log-in": "Увійти", "label-manage-excluded-folders": "Налаштування винятків", "label-number-of-folders-excluded": "{{folders}} наразі виключені з синхронізації.", "label-add-excluded-folder": "Виключити теку", "label-add-excluded-folder-desc": "Ви можете виключити теку, що існує, або ще не створену теку.", "tooltip-remove-excluded-folder": "Видалити зі списку виключень", "label-setup-connection": "Налаштувати з'єднання", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "Встановлено з'єднання зі сховищем \"{{name}}\".", "button-start-syncing": "Почати синхронізацію", "label-confirm-merge-vault": "Підтвердити Злиття Сховища", "msg-vault-has-notes": "Ваше локальне сховище вже містить декілька нотаток.", "msg-vault-merge-warning": "Якщо ви під'єднаєтесь до віддаленого сховища \"{{name}}\", нотатки з локального сховища будуть об'єднані з нотатками віддаленого сховища. У разі конфлікту обиратиметься найновіша версія нотатки.", "tooltip-update-setting-on-all-devices": "Будь ласка, оновіть це налаштування та перезавантажте застосунок на всіх пристроях, де ви хочете отримати зміни.", "label-sharing-with-users": "Це віддалене сховище наразі поширено з наступними людьми.", "label-not-sharing": "Це віддалене сховище ні з ким не поширене.", "label-vaults-shared-with-you": "Сховища, що поширені з вами", "tooltip-leave-vault-sharing": "Припинити колаборацію над цим сховищем", "label-leave-vault-confirmation": "Підтвердити припинення колаборації", "label-leave-vault-confirmation-details": "Це призведе до видалення цього сховища зі списку сховищ, до яких ви маєте доступ. Ця дія не може бути скасована.", "label-leave-vault-confirmation-details-2": "Якщо ви бажаєте знову співпрацювати над цим сховищем, будь ласка, зв'яжіться з його власником.", "button-leave": "Вийти", "msg-error-failed-to-fetch": "Не вдалося завантажити віддалені сховища.", "label-require-subscription-to-connect": "Вам необхідна підписка Obsidian Sync щоб під'єднатись до цього сховища.", "option-contact-support": "Зв'язатись зі службою підтримки", "option-contact-support-desc": "Якщо у вас є проблеми з Obsidian Sync, будь ласка, зв'яжіться з нами, і ми вам допоможемо! Ви можете писати нам на support@obsidian.md.", "button-copy-debug": "Копіювати дані зневадження", "button-email-support": "Підтримка по ел. пошті", "label-sync-disconnected": "Синхронізацію не під'єднано до віддаленого сховища.", "msg-remote-vault-limit-hit": "Obsidian Sync дозволяє створити до 5 віддалених сховищ. Для того, щоб створити нове віддалене сховище, будь ласка, видаліть одне з наявних.", "label-upgrade-vault": "Покращити сховище", "label-upgrade-vault-encryption": "Покращення шифрування сховища", "label-upgrade-vault-encryption-desc": "Доступна нова версія шифрування для віддаленого сховища.", "label-migrate-remote-vault": "Міграція віддаленого сховища", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Мігрувати", "msg-recreate-remote-vault": "Це видалить ваше віддалене сховище та відновить його з найновішим шифруванням. Локальні файли не постраждають, проте історія версій буде втрачена.", "label-confirm-migrate": "Підтвердьте міграцію сховища", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Міграція сховища може зайняти деякий час. Вам потрібно буде залишити активним Obsidian на цьому пристрої, щоб повторно завантажити всі свої нотатки та вкладення. Найкраще робити на основному пристрої.", "msg-migrate-confirmation-size": "У вас є {{size}} даних. Міграція сховища може зайняти деякий час. Вам потрібно буде залишити активним Obsidian, щоб повторно завантажити всі нотатки та вкладення. Найкраще робити на основному пристрої.", "msg-proceed-prompt": "Бажаєте продовжити?", "msg-vault-migration-started": "Триває міграція сховища." }, "file-recovery": { "name": "Відновлення файлів", "desc": "Дозволяє відновлювати стан файлів на основі знімків, щоб запобігти випадковій втраті інформації. Знімки працюють лише з Markdown файлами.", "action-open": "Відкрити збережені знімки", "option-interval": "Інтервал знімка", "option-interval-description": "Мінімальний інтервал у хвилинах між двома знімками.", "option-keep": "Тривалість історії", "option-keep-description": "Скільки днів потрібно зберігати знімки.", "option-open-history": "Знімки", "option-open-history-description": "Перегляд та відновлення збережених знімків.", "button-view-history": "View", "option-clear": "Очистити історію", "option-clear-description": "Очистити всі знімки.", "button-clear-history": "Очистити", "label-clear-warning": "Ви впевнені, що хочете видалити всі знімки? Зауважте, що видаляються лише знімки. Всі файли у вашому сховищі залишаться недоторканими.", "msg-clear-complete": "Знімки очищено.", "label-no-history-found": "Знімків не знайдено.", "placeholder-choose-file": "Оберіть файл...", "label-select-file": "Будь ласка, оберіть файл зліва для того, щоб переглянути його знімки." }, "note-composer": { "name": "Компонувальник нотаток", "desc": "Об'єднуй, розділяй та змінюй нотатки.", "option-confirm-file-merge": "Підтвердити об'єднання файлів", "option-confirm-file-merge-description": "Питати перед об'єднанням двох файлів.", "option-split-replacement-text": "Текст після витягування", "option-split-replacement-text-description": "Що показувати замість виділеного тексту після витягування.", "option-choice-split-replacement-text-link": "Посилання на новий файл", "option-choice-split-replacement-text-embed": "Вкласти новий файл", "option-choice-split-replacement-text-none": "Нічого", "option-template-file": "Розташування файлу шаблону", "option-template-file-description": "Шаблон файлу, що використовується під час об'єднання або витягування. Доступні змінні: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, напр. {{date:YYYY-MM-DD}}.", "command-merge-file": "Об'єднати поточний файл з іншим файлом...", "action-merge-file": "Об'єднати весь файл з...", "label-no-files": "Файлів не знайдено.", "instruction-navigate": "перейти", "instruction-merge": "об'єднати", "instruction-create-new": "створити новий", "instruction-merge-at-top": "об'єднати зверху", "instruction-dismiss": "скасувати", "prompt-select-file-to-merge": "Оберіть файл для об'єднання...", "label-merge-file": "Об'єднати файл", "label-confirm-file-merge": "Ви впевнені, що хочете об'єднати \"{{file}}\" з \"{{destination}}\"? \"{{file}}\" буде видалено.", "button-merge": "Об'єднати", "command-split-file": "Вилучити поточне виділення...", "command-extract-heading": "Витягти цей заголовок...", "instruction-append": "перемістити вниз", "instruction-prepend": "перемістити угору", "msg-fail-to-fetch-template": "Помилка під час виклику шаблону: \"{{template}}\" не знайдено.", "msg-fail-to-find-heading": "Заголовок не знайдено" }, "web-viewer": { "name": "Вебпереглядач", "history-name": "Web history", "desc": "Відкривати зовнішні посилання вебсторінок всередині Obsidian.", "action-open": "Відкрити вебпереглядач", "action-show-history": "Показати історію", "action-toggle-reader-mode": "Перемкнути режим читання", "action-copy-u-r-l": "Копіювати URL", "action-remove-from-history": "Видалити з історії", "action-clear-history": "Очистити історію", "action-open-link": "Відкрити посилання", "action-open-link-new-tab": "Відкривати посилання у новій вкладці", "action-open-link-new-split": "Відкрити посилання праворуч", "action-open-link-new-window": "Відкрити посилання у новому вікні", "action-open-link-default-browser": "Відкрити посилання у типовому браузері", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Копіювати адресу посилання", "action-bookmark-link": "Додати посилання", "action-search-for-query": "Шукати \"{{query}}”", "action-extract-selection": "Видобути вибране до нової нотатки", "action-copy-selection": "Копіювати", "action-cut": "Вирізати", "action-paste": "Вставити", "action-delete": "Видалити", "action-select-all": "Вибрати все", "action-save-to-vault": "Зберегти у сховище", "action-save-image": "Зберегти зображення у сховище", "action-copy-image": "Копіювати зображення", "action-copy-image-link": "Копіювати посилання на зображення", "action-backward": "Назад", "action-forward": "Вперед", "action-reload": "Оновити", "action-bookmark-page": "Додати сторінку", "action-open-default-browser": "Відкрити у типовому браузері", "action-focus-address-bar": "Сфокусувати адресний рядок", "action-search-the-web": "Шукати в Інтернеті", "action-clear-data": "Очистити дані", "action-clear-data-cookies": "Файли Cookies", "action-clear-data-cookies-desc": "Може вийти з облікового запису на вебсайтах.", "action-clear-data-cache": "Кешовані дані", "action-clear-data-history": "Історія", "action-clear-data-all": "Всі дані вебпереглядача", "action-clear-data-all-desc": "Видаляє все вищезгадане, а також локальне сховище та активні сеанси.", "label-new-web-viewer": "Новий вебпереглядач", "label-fail-to-load": "Не вдалося завантажити цей сайт.", "label-fail-to-load-desc": "Будь ласка, переконайтеся, що вказана правильна адреса.", "label-search-the-web": "Шукати в Інтернеті", "label-web-viewer-data": "Дані вебпереглядача", "label-clear-data": "Очистити дані вебпереглядача", "option-open-external-links": "Відкрити зовнішні посилання", "option-open-external-links-desc": "Відкривати посилання в Obsidian, а не в системі за замовчуванням.", "option-homepage": "Домашня сторінка", "option-homepage-desc": "Яку сторінку показувати при відкритті вебпереглядача", "option-saved-markdown": "Тека збережених сторінок", "option-saved-markdown-desc": "Тут будуть розміщені вебсайти, збережені як markdown.", "option-search-engine": "Пошукова система", "option-search-engine-desc": "Пошукова система, що використовується при пошуку з адресного рядка.", "option-search-engine-custom": "Особиста пошукова система", "option-search-engine-custom-desc": "Використовуйте %s на місці запиту.", "option-search-engine-custom-drop-down": "Особистий", "option-enable-adblock": "Увімкнути блокування реклами", "option-enable-adblock-desc": "Якщо увімкнено, наведені нижче списки фільтрів будуть застосовані до всіх вкладок вебпереглядача.", "option-adblock-lists": "Правила блокування реклами", "option-adblock-lists-desc": "Одна URL-адреса списку блокування реклами на рядок. Спільне для всіх сховищ.", "option-adblock-frequency": "Частота оновлення блокування реклами", "option-adblock-frequency-desc": "Дні між оновленнями списків фільтрів. 0 означає вимкнено. Спільне для всіх сховищ.", "title-clear-data-modal": "Очистити дані вебпереглядача", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Полотно", "desc": "Розташовуйте і з'єднуйте нотатки на нескінченному полотні.", "action-add-note": "Додати нотатку зі сховища", "action-add-media": "Додати медіа зі сховища", "action-add-card": "Додати картку", "action-add-website": "Додати вебсторінку", "action-create-group": "Створити групу", "action-create-with-size": "Створити картку з визначеним розміром", "action-convert-to-file": "Конвертувати у файл...", "action-drag-to-add-note": "Перетягніть, щоб додати нотатку зі сховища", "action-drag-to-add-media": "Перетягніть, щоб додати медіа зі сховища", "action-drag-to-add-card": "Перетягніть, щоб додати картку", "action-edit-label": "Редагувати позначку", "action-remove-label": "Видалити позначку", "action-search-file": "Пошук файлу", "action-set-color": "Встановити колір", "action-align": "Вирівняти", "action-align-left": "Вирівняти ліворуч", "action-align-center": "Вирівняти по центру", "action-align-right": "Вирівняти праворуч", "action-align-top": "Вирівняти угору", "action-align-middle": "Вирівняти по середині", "action-align-bottom": "Вирівняти вниз", "action-distribute-horizontal-spacing": "Розподілити горизонтальний інтервал", "action-distribute-vertical-spacing": "Розподілити вертикальний інтервал", "action-justify-horizontally": "Вирівняти по горизонталі", "action-justify-vertically": "Вирівняти по вертикалі", "action-arrange-horizontally": "Розташувати у ряді", "action-arrange-vertically": "Розташувати у стовпці", "action-arrange-grid": "Розташувати у сітці", "action-export-png": "Експортувати як зображення", "action-jump-to-group": "Перейти до групи", "action-set-background": "Встановити фон", "action-edit-background": "Редагувати фон", "action-replace-background": "Замінити фон", "action-remove-background": "Видалити фон", "label-no-images": "Зображень не знайдено.", "label-no-media": "Медіа не знайдено.", "label-export-png-desc": "Експортувати \"{{title}}\" в файл PNG з наведеними нижче налаштуваннями.", "label-export-png-dimensions": "Приблизні розміри зображення: {{dimensions}}", "label-distribute": "Розподілити", "label-justify": "Вирівняти", "label-arrange": "Розташувати", "label-always": "Завжди", "label-hover": "При наведенні", "label-never": "Ніколи", "label-no-section-found": "Розділ не знайдено", "option-wheel-behavior": "Поведінка колеса миші за замовчуванням", "option-mod-drag-behavior": "Поведінка {{key}} за замовчуванням", "option-show-menu": "Показати меню", "option-new-canvas-location": "Розташування за замовчуванням для нових файлів полотна", "option-new-canvas-location-description": "Де зберігатимуться нові полотна.", "option-new-canvas-folder-path": "Тека для нових полотен", "option-new-canvas-folder-path-description": "Новоутворенні полотна з'являтимуться у цій теці.", "option-node-label": "Показати назву картки", "option-snap-to-grid": "Притягання до сітки", "option-snap-to-grid-desc": "Притягує картки до фонової сітки при переміщенні та зміні розміру.", "option-snap-to-objects": "Притягання до об'єктів", "option-snap-to-objects-desc": "Прикріплює картки до об'єктів поблизу при переміщенні та зміненні розміру.", "option-zoom-breakpoint": "Поріг збільшення для приховування вмісту картки", "option-zoom-breakpoint-desc": "Нижчі значення покращать продуктивність, але приховуватимуть вміст картки скоріше при віддаленні.", "option-export-png-show-logo": "Показати логотип", "option-export-png-show-logo-desc": "Це додасть логотип Obsidian внизу ліворуч.", "option-export-png-privacy-mode": "Режим приватності", "option-export-png-privacy-mode-desc": "Це приховуватиме будь-який текст на вашому полотні.", "option-export-png-zoom": "Масштаб", "option-export-png-zoom-desc": "Збільшення масштабу генерує зображення з вищою роздільною здатністю.", "option-export-png-frame": "Область видимості", "option-export-png-frame-desc": "Виберіть, чи потрібно показувати все полотно або тільки поточну видиму область.", "option-export-png-frame-full": "Повне полотно", "option-export-png-frame-viewport": "Тільки видиме", "option-background-cover": "Покривати", "option-background-ratio": "Зберігати пропорції", "option-background-repeat": "Повторення", "action-new-canvas": "Нове полотно", "action-remove": "Видалити", "action-narrow-heading": "Обмежити до заголовку...", "action-narrow-block": "Обмежити до блоку...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Замінити файл...", "action-change-url": "Змінити URL...", "action-zoom-to-fit": "Збільшити відповідно до розміру", "action-zoom-to-selection": "Збільшити до виділеного", "action-reload-page": "Оновити сторінку", "action-follow-connection": "Слідувати за зв'язком", "command-create-new-canvas": "Створити нове полотно", "command-convert-to-file": "Конвертувати у файл...", "instruction-narrow-heading": "вставити заголовок", "instruction-narrow-block": "вставити блок", "instruction-jump-to-group": "перейти до групи", "prompt-to-narrow": "Введіть назву заголовка", "label-enter-url": "Введіть URL", "label-empty-embed": "\"{{linktext}}\" не знайдено.", "prompt-add-text": "Додати текст...", "prompt-start-search": "Введіть для пошуку...", "label-canvas-help": "Допомога по полотнах", "label-canvas-settings": "Налаштування полотна", "label-no-narrow": "Показати весь файл", "label-show-default-view": "Show default view", "label-readonly": "Тільки читання", "label-disable-readonly": "Вимкнути 'тільки читання'", "label-pan": "Захват", "label-pan-horizontal": "Захоплювати горизонтально", "label-zoom": "Масштаб", "label-select-all": "Вибрати все", "label-add-remove-selection": "Додати до / видалити з вибраного", "label-clone-card": "Клонувати картку", "label-constrain-movement-axis": "Обмежити рух карток по осі", "label-disable-drag-snapping": "Вимкнути прив'язку під час перетягування", "label-remove-card": "Видалити картку", "label-drag-from-below": "Перетягніть знизу або клацніть двічі", "label-longpress": "Натисніть і утримуйте, щоб додати / перемістити / вибрати", "label-drag-pan": "Перетягніть для захвату", "label-pinch-zoom": "Щипніть для збільшення", "label-space-drag-pan": "Пробіл + перетягнути для захвату", "label-scroll-to-zoom": "Прокрутіть для збільшення", "label-untitled-group": "Безіменна група", "label-line-direction": "Напрямок лінії", "label-nondirectional": "Без напряму", "label-unidirectional": "Всенапрямний", "label-bidirectional": "Двонапрямний", "label-image": "Зображення", "label-style": "Стиль", "msg-no-groups-found": "Групи не знайдені", "msg-export-failed-empty-canvas": "Неможливо експортувати пусте полотно", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Виділити все", "action-match-diacritics": "Зіставлення діакритичних знаків", "action-whole-words": "Цілі слова", "action-show-thumbnails": "Ескізи", "action-show-outline": "Зміст", "action-reveal-in-outline": "Показати сторінку у змісті", "action-toggle-sidebar": "Згорнути/розгорнути бічну панель", "action-previous-page": "Попередня сторінка", "action-next-page": "Наступна сторінка", "action-fit-width": "Підганяти за шириною", "action-fit-height": "Підганяти за висотою", "action-save-p-d-f-location": "Зберегти поточну позицію у документі", "action-copy-annotation": "Скопіювати анотацію", "action-copy-quote": "Скопіювати як цитату", "action-copy-selection-link": "Скопіювати посилання на виділене", "action-copy-annot-link": "Скопіювати посилання на анотацію", "action-copy-section-link": "Скопіювати посилання на розділ", "action-copy-section-link-title": "Скопіювати посилання на “{{title}}”", "action-copy-page-link": "Скопіювати посилання на сторінку {{page}}", "msg-max-search-results": "{{current}} з {{limit}} збігів", "msg-search-count": "{{current}} з {{total}} збіг", "msg-search-count_plural": "{{current}} з {{total}} збігів", "msg-password-protected": "Цей PDF-файл захищений паролем", "msg-invalid-password": "Неправильний пароль", "msg-enter-password": "Введіть пароль нижче", "label-of-pages": "з {{count}}", "label-page-of-pages": "({{current}} з {{count}})", "label-spread-single": "Одна сторінка", "label-spread-odd": "Дві сторінки (непарно)", "label-spread-even": "Дві сторінки (парно)", "tooltip-sidebar-options": "Параметри бічної панелі", "tooltip-display-options": "Налаштування показу", "label-adapt-to-theme": "Адаптувати до теми", "label-page": "сторінка {{page}}", "page_landmark": "Сторінка {{page}}", "thumb_page_title": "Сторінка {{page}}", "thumb_page_canvas": "Сторінка {{page}}", "text_annotation_type": "[{{type}} Примітка]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Список", "option-unknown": "Невідомий", "option-text": "Текст", "option-aliases": "Псевдоніми", "option-tags": "Мітки", "option-folder": "Folder", "option-file": "File", "option-date": "Дата", "option-datetime": "Дата та час", "option-number": "Число", "option-checkbox": "Прапорець" }, "value-suggestion": { "key-link-note": "Введіть [[", "instruction-link-note": "щоб зв'язати нотатку", "instruction-dismiss": "скасувати" }, "option-property-type": "Тип властивості", "msg-empty-property-name": "Назва властивості не може бути порожньою.", "msg-duplicate-property-name": "Властивість уже існує", "msg-invalid-tag": "Неправильна назва мітки", "msg-invalid-number": "Неправильне число", "msg-invalid-properties": "Не вдалося прочитати властивості.", "label-no-value": "Значення відсутнє", "label-heading": "Властивості", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Помилка синтаксису. Ваш frontmatter неправильний.", "label-add-property-button": "Додати властивість", "label-type-mismatch-warning": "Невідповідність типу, очікувалось {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Стовпець", "label-row": "Рядок", "action-row-after": "Додати рядок знизу", "action-column-after": "Додати стовпець праворуч", "action-row-before": "Додати рядок зверху", "action-row-up": "Перемістити рядок угору", "action-row-down": "Перемістити рядок униз", "action-column-before": "Додати стовпець ліворуч", "action-column-left": "Перемістити стовпець ліворуч", "action-column-right": "Перемістити стовпець праворуч", "action-duplicate-row": "Дублювати рядок", "action-duplicate-column": "Дублювати стовпець", "action-delete-row": "Видалити рядок", "action-delete-column": "Видалити стовпець", "action-align-left": "Вирівняти зліва", "action-align-center": "Відцентрувати", "action-align-right": "Вирівняти справа", "action-delete-selection": "Видалити клітинки", "action-clear-selection": "Очистити клітинки", "action-sort-a-z": "Сортувати стовпець (А → Я)", "action-sort-z-a": "Сортувати стовпець (Я → А)", "label-command": "Таблиця: {{command}}" }, "callout": { "option-type": "Тип виноски", "type": { "info": "Довідка", "important": "Важливо", "tip": "Підказка", "success": "Успіх", "question": "Запитання", "warning": "Увага", "quote": "Цитата", "example": "Приклад", "none": "Нічого" }, "option-other": "Інше...", "option-other-placeholder": "Тип виноски..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} слово", "word-with-count_plural": "{{count}} слів", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} символ", "character-with-count_plural": "{{count}} символів", "link-with-count": "{{count}} посилання", "link-with-count_plural": "{{count}} посилань", "file-with-count": "{{count}} файлів", "file-with-count_plural": "{{count}} файл", "folder-with-count": "{{count}} тек", "folder-with-count_plural": "{{count}} тек", "backlink-with-count": "{{count}} зворотне посилання", "backlink-with-count_plural": "{{count}} зворотних посилань", "tabs-with-count": "{{count}} вкладка", "tabs-with-count_plural": "Вкладок: {{count}}", "properties-with-count": "{{count}} властивість", "properties-with-count_plural": "{{count}} властивостей", "site-with-count": "{{count}} сайт", "site-with-count_plural": "{{count}} сайтів", "plugin-with-count": "{{count}} додаток", "plugin-with-count_plural": "Додатків: {{count}}", "plugin-active-with-count": "{{count}} активних", "snippet-active-with-count": "{{count}} сніпет", "snippet-active-with-count_plural": "{{count}} сніпетів", "theme-with-count": "{{count}} тем", "theme-with-count_plural": "{{count}} тем" } }{ "setting": { "options": "Sozlamalar", "plugin": "Plaginlar", "builtin-plugins": "O'rnatilgan plaginlar", "plugin-options": "Plaginlar", "folder-path-example-placeholder": "Misol: papka 1/papka 2", "file-path-example-placeholder": "Misol: papka/izoh", "msg-restart-required": "Bu parametrni o'zgartirish uchun dasturni qayta ishga tushirish talab etiladi.", "editor": { "name": "Tahrirlovchi", "section-behavior": "Ishlash rejimi", "section-display": "Ko'rsatish", "option-spellcheck": "Imlo tekshiruvi", "option-spellcheck-description": "Hozirda faqat amerika ingliz tili bilan ishlaydi.", "spellcheck-languages": "Tillarni tanlash", "spellcheck-languages-description": "Imlo tekshiruvi uchun tillarni tanlang.", "spellcheck-languages-mac-description": "macOS-da, ichki imlo tekshiruvi ishlatilayotgan tilni avtomatik ravishda aniqlaydi.", "spellcheck-dict": "Lug'at", "spellcheck-dict-empty": "Lug'at bo'sh.", "option-show-inline-title": "Inline sarlavha", "option-show-inline-title-description": "Fayl nomini fayl mazmuni bilan birga tahrirlanadigan sarlavha sifatida ko'rsatish.", "option-readable-line-length": "Maksimal satr uzunligini cheklash", "option-readable-line-description": "Uzun paragrafalarni o'qish qulayligini oshiradi, lekin ekranga sig'adigan ma'lumot miqdorini kamaytiradi.", "option-strict-line-break": "Ikkilik satr bo'linishlari", "option-strict-line-break-description": "Markdown standarti bo'yicha ko'rish rejimida yakka satr bo'linishlarini e'tiborsiz qoldiring. Yakka satr bo'linishlarini ko'rsatish uchun o'chiring.", "option-properties-in-document": "Hujjatdagi xususiyatlar", "option-properties-in-document-description": "Tahrirlovchida xususiyatlar qanday ko'rsatilishini tanlang. Xususiyatlarni YAML formatida ko'rsatish uchun \"Manba\" ni tanlang.", "option-properties-hidden": "Yashirin", "option-properties-visible": "Ko'rinadigan", "option-properties-source": "Manba", "option-auto-pair-brackets": "Qavslarni avtomatik juftlash", "option-auto-pair-brackets-description": "Qavslarni va qotishlarni avtomatik ravishda juftlash.", "option-auto-pair-markdown": "Markdown teglarini avtomatik juftlash", "option-auto-pair-markdown-description": "Yog'och va qiyshiqlik uchun belgilarni avtomatik ravishda juftlash.", "option-smart-indent-lists": "Ro'yxatlar uchun aqlli ajratish", "option-smart-indent-lists-description": "Ajratish va ro'yxat elementlarini avtomatik ravishda to'g'ri joylashtirish.", "option-fold-heading": "Sarlavhani buklash", "option-fold-heading-description": "Sarlavha ostidagi barcha matnni buklash imkonini beradi.", "option-fold-indent": "Ajratishlarni buklash", "option-fold-indent-description": "Ajratishning bir qismini buklash imkonini beradi, masalan, ro'yxatlar.", "option-default-new-tab-view": "Yangi tablarni ochish rejimi", "option-default-new-tab-view-description": "Standart bo'yicha yangi tab tanlangan rejimda ochiladi.", "option-default-new-tab-view-editing": "Tahrirlovchi", "option-default-new-tab-view-reading": "Ko'rish", "option-open-tab-in-foreground": "Yangi tablarni fokuslash", "option-open-tab-in-foreground-description": "Yangi tabda havolani ochganda, unga avtomatik ravishda o'tish.", "option-default-editing-mode": "Standart tahrirlash rejimi", "option-default-editing-mode-description": "Standart bo'yicha tahrirlovchi tanlangan rejimda ochiladi.", "option-default-editing-mode-source": "Manba rejimi", "option-default-editing-mode-live-preview": "Jonli ko'rinish", "option-show-line-number": "Satr raqamlarini ko'rsatish", "option-show-line-number-description": "Maydonlarda satr raqamlarini qo'shish.", "option-indentation-guide": "Ro'yxatlarda yo'naltiruvchi chiziqlarni ko'rsatish", "option-indentation-guide-description": "Ro'yxatlarning bir xil darajadagi elementlari o'rtasida vertikal chiziqlarni qo'shish.", "option-use-tabs": "Tabulatsiyani ishlatish", "option-use-tabs-description": "Tab tugmasini bosib ajratish uchun tabulatsiyani ishlatish. O'chiring, bo'sh joy belgilaridan foydalanish uchun.", "option-tab-size": "Tabulatsiya kengligi", "option-tab-size-description": "Tab belgisiga mos keladigan bo'sh joylar soni.", "option-rtl": "O'ngdan chapga yo'nalish (RTL)", "option-rtl-description": "Esdaliklarning matn yo'nalishini o'ngdan chapga belgilash.", "option-auto-convert-html": "HTML-ni avtomatik konvertatsiya qilish", "option-auto-convert-html-description": "Veb-havolalarni qo'lda kiritishda va ko'chirishda HTML-ni avtomatik ravishda Markdown ga aylantirish. Konvertatsiyasiz qo'shish uchun Ctrl/Cmd+Shift+V ni ishlating.", "option-vim-key-bindings": "Vim tugmachalarini ishlatish", "option-vim-key-bindings-description": "Tahrirlash rejimida Vim tugmachalarini ishlatishga imkon beradi.", "option-vim-key-bindings-mobile": "Mobil qurilmalarda bu sozlama har bir qurilma uchun bo'lib, konfiguratsiya fayli orqali sinxronlanmaydi.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Vim rejimini yoqishni tasdiqlang", "label-vim-warning": "Vim rejimi samarali matn tahriri uchun mo'ljallangan, lekin ancha noaniq bo'lishi mumkin. Agar siz Vim bilan tanishmasangiz, bu variant Obsidian ishlamayotganga o'xshash bo'lishi mumkin.", "label-vim-test": "Vim bilan tanishganingizni tasdiqlash uchun, quyidagi buyruqni kiritishingizni so'raymiz:", "label-vim-your-answer": "Sizning javobingiz", "placeholder-enter-command": "Buyruqni kiriting...", "button-confirm-enable-vim": "Menga Vim yoqishiga ruxsat bering", "msg-vim-mode-enabled": "Buyruq to'g'ri. Vim rejimi endi yoqilgan.", "msg-vim-mode-not-enabled": "Buyruq noto'g'ri. Vim rejimi sizni himoya qilish uchun o'chirilgan.", "msg-vim-mode-please-enter-command": "Vim rejimini yoqish uchun iltimos, buyruqni kiriting" }, "file": { "name": "Fayllar va havolalar", "option-confirm-file-deletion": "Faylni o'chirishni tasdiqlash", "option-confirm-file-deletion-description": "Faylni o'chirishni tasdiqlash oynasini ko'rsatadi.", "option-delete-destination": "O'chirilgan fayllar", "option-delete-destination-description": "Fayllarni o'chirgandan keyin nima qilish kerak.", "option-choice-system-trash": "Tizim chiqindisiga o'tkazish", "option-choice-vault-trash": "Obsidian chiqindisiga (papka .trash) o'tkazish", "option-choice-permanent-delete": "Butunlay o'chirish", "option-always-update-links": "Har doim ichki havolalarni yangilash", "option-always-update-links-description": "Faylni qayta nomlashdan keyin havolalarni avtomatik ravishda yangilaydi.", "option-new-note-location": "Yangi eslatmalar uchun standart joy", "option-new-note-location-description": "Yangi eslatmani qayerda yaratish kerak. Plagin sozlamalari bu qiymatni o'zgartirishi mumkin.", "option-choice-vault-root": "Xotira ildizida", "option-choice-current-folder": "Fayl joylashgan papkada", "option-choice-specified-folder": "Quyida ko'rsatilgan papkada", "option-new-file-folder-path": "Yangi eslatmalarni yaratish uchun papka", "option-new-file-folder-path-description": "Yangi eslatmalar ushbu papkada yaratiladi. Plagin sozlamalari bu qiymatni o'zgartirishi mumkin.", "option-use-wiki-links": "[[Wiki-havolalarni]] ishlatish", "option-use-wiki-links-description": "Ichki havolalar va rasmlar uchun Markdown havolalar o'rniga Wiki havolalarini avtomatik ravishda yaratadi.", "option-show-unsupported-files": "Barcha kengaytmalarni aniqlash", "option-show-unsupported-files-description": "Obsidian o'zi ocholmaydigan fayllarni ham ko'rsatish. Siz ularni Fayl menejeri va Tez o'tishda ko'rishingiz va ularga havola qilishingiz mumkin bo'ladi.", "option-link-autocompleted-format": "Yangi havola formati", "option-link-autocompleted-format-description": "Ichki havolalar yaratishda qaysi formatdan foydalanishni tanlang.", "option-choice-shortest-linktext": "Faylga imkon qadar eng qisqa yo'l", "option-choice-relative-path": "Faylga nisbatan yo'l", "option-choice-absolute-path": "Xotira nisbatan mutlaq yo'l", "option-new-attachment-location": "Yangi qo'shimcha fayllar uchun standart joy", "option-new-attachment-location-description": "Yangi qo'shiladigan fayllarni qayerga qo'shish kerak.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "Joriy papkada ichki papkada", "option-attachment-folder-path": "Qo'shimcha fayllar uchun papka yo'li", "option-attachment-folder-path-description": "Yangi qo'shimcha fayllar ushbu papkaga saqlanadi. Shuningdek, kiritilgan rasmlar va audio yozuvlar.", "option-attachment-subfolder-path": "Ichki papka nomi", "option-attachment-subfolder-path-description": "Agar eslatma \"vault/papka\" da bo'lsa va ichki papka nomi \"attachments\" bo'lsa, qo'shimcha fayllar \"vault/papka/attachments\" ga saqlanadi.", "option-excluded-files": "Chiqindiga chiqarilgan fayllar va papkalar", "option-excluded-files-desc": "Chiqindiga chiqarilgan fayllar va papkalar qidiruv natijalarida, havolalarni avtomatik to'ldirishda, Tez o'tishda va Grafikda kamroq ko'rinadigan bo'ladi.", "label-no-excluded-filters-applied": "Hozirgi vaqtda hech qanday filtrlash qo'llanilmayapti. Quyida filtr qo'shing.", "label-excluded-filters-applied": "Quyidagi filtrlarga mos keladigan fayllar va papkalar hozirgi vaqtda chiqindiga chiqarilgan:", "label-excluded-filter": "Filtr", "message-empty-filter": "Filtr bo'sh bo'lishi mumkin emas", "placeholder-excluded-filter": "Ismni, yo'lni yoki \"/regex/\" kiriting...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Tashqi ko'rinishi", "option-base-theme": "Asosiy tema", "option-base-theme-description": "Obsidian asosiy rang sxemasini tanlash.", "option-accent-color": "Aksent rangi", "option-accent-color-description": "Butun dasturda ishlatiladigan aksent rangini tanlash.", "dark-theme": "Qorong'i", "light-theme": "Yorug'", "system-theme": "Tizim", "option-font": "Shrift", "option-advanced": "Kengaytirilgan sozlamalar", "option-interface": "Interfeys", "option-interface-font": "Interfeys shrift", "option-interface-font-description": "Obsidian interfeysining asosiy shriftini tanlash.", "option-zoom-level": "Kattalashtirish darajasi", "option-zoom-level-description": "Dasturdagi umumiy kattalashtirish darajasini boshqarish.", "option-text-font": "Matn shrift", "option-text-font-description": "Tahrirlash va ko'rish maydonlari uchun shriftni tanlash.", "option-monospace-font": "Monospace shrift", "option-monospace-font-description": "Kod bloklari va frontmatter uchun shriftni tanlash.", "label-single-font-currently-in-effect": "Hozirda quyidagi shrift ishlatilmoqda:", "label-multiple-fonts-currently-in-effect": "Hozirda quyidagi shriftlar ishlatilmoqda:", "option-font-placeholder": "Shrift nomini kiriting...", "label-no-custom-font-set": "Hozirda hech qanday maxsus shrift qo'llanilmayapti. Uni quyida qo'shing.", "label-font-applied": "Ushbu ro'yxatdagi birinchi shrift tizimingizda mavjud bo'lsa, ishlatiladi.", "msg-font-not-found": "Ushbu shrift tizimingizda topilmadi.", "msg-font-found": "Ushbu shrift tizimingizda topildi.", "label-font-name": "Shrift nomi", "option-community-themes": "Hamjamiyat mavzularini ko'rish", "option-community-themes-description": "Hamjamiyat tomonidan yaratilgan mavzularni ko'rib chiqish va foydalanish.", "button-browse-community-themes": "Ko'rib chiqish", "option-font-size": "Shrift hajmi", "option-font-size-description": "Tahrirlash va oldindan ko'rish maydonidagi shrift hajmi pikselda.", "option-font-size-action": "Shrift hajmini tez o'zgartirish", "option-font-size-action-description": "Ctrl + sichqoncha aylantirish yoki trackpad kattalashtirish ishorasi yordamida shrift hajmini o'zgartirish imkonini beradi.", "option-themes": "Mavzular", "option-manage-themes-description": "O'rnatilgan mavzularni boshqarish va hamjamiyat mavzularini ko'rish.", "option-theme-button-manage": "Sozlash", "option-choice-none": "Standart", "option-native-menus": "Tizim kontekst menyusi", "option-native-menus-desc": "Ilovaning kontekst menyularini tanlangan mavzudan qat'iy nazar operatsion tizimga mos ravishda ko'rsatish.", "button-reload-themes": "Mavzularni yangilash", "msg-reloaded-themes": "CSS mavzular ro'yxati yangilandi.", "button-open-themes-folder": "Mavzular papkasini ochish", "option-css-snippets": "CSS kod parchalari", "label-no-css-snippets-found": "CSS kod parchalari papkasida hech narsa topilmadi.", "no-snippet-description": "CSS kod parchalari \"{{path}}\" papkasida saqlanadi.", "button-reload-snippets": "Parchalar ro'yxatini yangilash", "button-open-snippets-folder": "Parchalar papkasini ochish", "msg-reloaded-snippets": "CSS parchalar ro'yxati yangilandi.", "option-toggle-snippet-description": "\"{{path}}\" uchun CSS parchasini qo'llash.", "label-installed-themes": "O'rnatilgan mavzular", "label-screenshot-unavailable": "Skrinshot mavjud emas", "label-default-theme": "Standart tema", "tooltip-click-to-enlarge": "Kattalashtirish uchun bosing", "button-update": "Yangilash", "label-currently-active": "Faol", "option-frame-style": "Oyna sarlavhasi", "option-frame-description": "Obsidian oyna sarlavhasining dizaynini tanlash. Bu parametrni o'zgartirish ilovani qayta ishga tushirishni talab qiladi.", "option-frame-hidden": "Yashirin (standart)", "option-frame-obsidian": "Obsidian", "option-frame-native": "Tizim", "option-custom-icon": "Ilovaning maxsus ikonkasi", "option-custom-icon-desc": "Ilova uchun maxsus ikonka o'rnatish", "button-choose-custom-icon": "Maxsus ikonkani tanlash", "option-configure-ribbon": "Lenta menyusi", "option-configure-ribbon-desc": "Navigatsiya panelidagi lenta menyusida ko'rsatiladigan buyruqlarni tanlash.", "option-mobile-quick-ribbon-item": "Lenta menyusiga tezkor kirish", "option-mobile-quick-ribbon-item-desc": "Bosish buyruqni faollashtiradi. Bosish va ushlab turish menyuni ko'rsatadi.", "option-mobile-quick-ribbon-default": "Lenta menyusini ochish", "button-configure": "Sozlash", "option-show-ribbon": "Lentani ko'rsatish", "option-show-ribbon-desc": "Oynaning yon tomonidagi vertikal asboblar panelini ko'rsatish.", "label-additional-ribbon-items": "Yashirin buyruqlar", "label-modal-configuration": "Lenta menyusi", "label-modal-configuration-desc": "Lenta menyusida ko'rsatiladigan buyruqlarni tanlash. Buyruqlarni ko'rsatish tartibi tortib o'zgartiriladi.", "option-show-view-header": "Sarlavha satri", "option-show-view-header-desc": "Har bir tab uchun sarlavha satrini ko'rsatish.", "msg-updates-found": "Mavzular uchun yangilanishlar topildi: {{count}}", "msg-updates-found_plural": "Mavzular uchun yangilanishlar topildi: {{count}}", "button-check-for-updates": "Yangilanishlarni tekshirish", "button-view-updates": "Yangilanishlarni ko'rish", "button-update-all-themes": "Barchasini yangilash", "label-current-themes": "Joriy hamjamiyat mavzulari", "label-currently-installed": "O'rnatilgan mavzular: {{count}}", "label-currently-installed_plural": "O'rnatilgan mavzular: {{count}}" }, "hotkeys": { "name": "Klaviatura yorliqlari", "option-search": "Klaviatura yorliqlarini qidirish", "option-search-desc": "Klaviatura yorliqlari: {{count}}.", "option-search-desc_plural": "Klaviatura yorliqlari: {{count}}.", "option-search-conflict": "To'qnashuvli buyruqlar: {{count}}", "option-search-conflict_plural": "To'qnashuvli buyruqlar: {{count}}", "prompt-filter": "Filtr...", "tooltip-delete-hotkey": "Klaviatura yorliqini o'chirish", "label-waiting-for-hotkey-press": "Klaviatura yorliqini bosing...", "label-show-all": "Hammasi", "label-show-unassigned": "Tayinlanmagan", "label-show-assigned": "Tayinlangan", "label-show-user-assigned": "Mening tayinlanganlarim", "tooltip-restore-default": "Standart qiymatni tiklash", "tooltip-customize-command": "Ushbu buyruqni sozlash", "tooltip-hotkey-single-conflict": "Ushbu klaviatura yorliqi \"{{command}}\" buyrug'i bilan to'qnashadi", "tooltip-hotkey-multiple-conflicts": "Ushbu klaviatura yorliqi boshqa buyruqlar bilan to'qnashuvlari soni: {{count}}", "label-blank-hotkey": "Tayinlanmagan" }, "about": { "name": "Dastur haqida", "label-commercial-license": "Tijorat litsenziyasi", "label-license-key": "Litsenziya kaliti", "license-key-placeholder": "Sizning litsenziya kalitingiz...", "label-activate-license": "Litsenziyani faollashtirish", "button-activate": "Faollashtirish", "label-unknown-version": "Noaniq", "label-current-version": "Joriy versiya: ", "label-install-version": "(O'rnatish versiyasi: {{version}})", "label-up-to-date": "Eng so'nggi versiya o'rnatilgan!", "label-read-changelog": "O'zgarishlar ro'yxati", "label-manual-update-required": "Yangi xususiyatlardan foydalanish va xavfsizlik tuzatishlarini olish uchun Obsidian o'rnatish versiyasini yangilash talab qilinadi. Sizga qo'lda o'rnatish faylini yuklab olish va Obsidian'ni qayta o'rnatish kerak.", "label-new-version-ready": "Yangi versiya o'rnatish uchun mavjud.", "label-disabled-updates": "Yangilanishlar o'chirilgan.", "button-relaunch": "Qayta ishga tushirish", "button-check-for-updates": "Yangilanishlarni tekshirish", "option-auto-update": "Avtomatik yangilanishlar", "option-auto-update-description": "Mavjud yangilanishlarni avtomatik ravishda tekshirish va yuklab olish.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Yordam olish", "option-get-help-description": "Obsidian'dan foydalanish bo'yicha yordam olish.", "button-open": "O'chirish", "option-language": "Til", "option-language-description": "Interfeys tilini o'zgartiradi.", "option-insider-build": "Erta qurilmalarni olish", "option-insider-build-description": "Yangi imkoniyatlarni sinash uchun avtomatik ravishda erta qurilmalarga yangilanish. Ushbu qurilmalar kamroq barqaror bo'lishi mumkin.", "option-advanced": "Kengaytirilgan sozlamalar", "option-hw-acceleration": "Qurilma tezlashtirish", "option-hw-acceleration-description": "Obsidian'ning yanada silliq ishlashi uchun GPU yordamida qurilma tezlashtirishni yoqadi.", "option-hw-acceleration-warning": "Agar ushbu funksiyani o'chirsangiz, dastur ishlashining samaradorligi sezilarli darajada pasayadi.", "option-config-location": "Konfiguratsiya joyi", "option-config-location-description": "Konfiguratsiya papkasini standart papkadan farqli o'laroq ishlatish. Papka nomi nuqta bilan boshlanishi kerak.", "option-config-location-warning": "Konfiguratsiya papkasi nomi bo'sh bo'lishi va nuqta bilan boshlanishi kerak.", "label-license": "Litsenziya", "label-your-commercial-license-key": "Sizning tijorat litsenziya kalitingiz \"{{key}}\".", "label-commercial-license-info": "\"{{company}}\" uchun {{seats}} foydalanuvchilar uchun ro'yxatdan o'tgan. {{expiry}} ga qadar amal qiladi.", "label-validating-commercial-license": "Tekshirilmoqda...", "label-invalid-commercial-license": "Litsenziya noto'g'ri: ", "button-remove-commercial-license": "O'chirish", "option-catalyst": "Catalyst litsenziyasi", "option-catalyst-desc": "Sizda {{tier}} darajasidagi Catalyst litsenziyasi mavjud. Qo'llab-quvvatlaganingiz uchun rahmat!", "option-catalyst-desc-no-license": "Hali Catalyst litsenziyangiz yo'q. Catalyst litsenziyasi Obsidian'ni rivojlantirishga yordam berish uchun bir martalik xayriya badali hisoblanadi.", "label-app": "Dastur haqida", "label-add-own-language": "Obsidian'ga o'z tilingizni qanday qo'shishni bilib oling." }, "account": { "name": "Profil", "option-your-account": "Sizning profilingiz", "option-your-account-desc": "Siz {{name}} ({{email}}}) sifatida kirgansiz.", "option-your-account-desc-no-login": "Siz tizimga kirganingiz yo'q. Profil faqat Obsidian Sync, Obsidian Publish va Catalyst erta qurilmalariga kirish uchun zarur.", "label-insider": "Insider", "label-supporter": "Supporter", "label-vip": "VIP", "button-upgrade-catalyst": "Darajani oshirish", "option-commercial-license": "Tijorat litsenziyasi", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Sotib olish", "button-log-out": "Chiqish", "label-log-in": "Kirish", "label-sign-up": "Ro'yxatdan o'tish", "label-email": "Elektron pochta", "placeholder-email": "Sizning e-mail manzilingiz...", "label-name": "Full name", "label-password": "Parol", "placeholder-password": "Sizning parolingiz...", "label-forgot-password": "Parolni unutdingizmi?", "button-login": "Kirish", "message-empty-email": "Elektron pochta manzili bo'sh bo'lishi mumkin emas.", "message-invalid-email": "Elektron pochta manzilining formati noto'g'ri.", "message-empty-password": "Parol bo'sh bo'lishi mumkin emas.", "message-login-failed": "Elektron pochta manzili yoki parol noto'g'ri.", "message-signup-failed": "Failed to sign up", "label-no-account": "Profilingiz yo'qmi? ", "link-sign-up-now": "Ro'yxatdan o'tish", "label-mfa-code": "6-raqamli ikki faktorli autentifikatsiya kodi", "mfa-wrong-format": "Ikki faktorli autentifikatsiya kodi 6 ta raqamdan iborat bo'lishi kerak.", "mfa-verification-failed": "Ikki faktorli autentifikatsiya kodi noto'g'ri, iltimos, autentifikatsiya dasturini yana bir bor tekshiring." }, "core-plugin": { "plugin-list": "Plaginlarni boshqarish", "option-search-plugin": "O'rnatilgan plaginlarni qidirish", "option-search-plugin-description": "O'rnatilgan plaginlarni nomi yoki tavsifi bo'yicha qidirish.", "placeholder-search-plugin": "O'rnatilgan plaginlarni qidirish..." }, "third-party-plugin": { "name": "Tashqi plaginlar", "option-restricted-mode": "Xavfsiz rejim", "option-restricted-mode-description": "Xavfsiz rejim o'chirilgan. Hamjamiyat plaginlarini o'chirish uchun yoqing.", "button-turn-on": "Yoqing", "option-browse-community-plugins": "Hamjamiyat plaginlari", "option-browse-community-plugins-description": "Bizning ajoyib hamjamiyatimiz tomonidan yaratilgan tashqi plaginlarni ko'rish va o'rnatish.", "button-browse": "Ko'rish", "label-exit-restricted-mode": "Xavfsiz rejimdan chiqish", "label-exit-restricted-mode-description-1": "Hamjamiyat plaginlari, boshqa o'rnatilgan dasturlaringiz kabi, ma'lumotlaringizning xavfsizligi va saqlanishiga muammolar tug'dirishi mumkin.", "label-exit-restricted-mode-description-2": "Plaginlarning xavfsizligi biz uchun juda muhim. Biz nima qilamiz:", "label-exit-restricted-mode-description-3": "Bizning sa'y-harakatlarimizga qaramay, hamjamiyat plaginlari noto'g'ri ishlash ehtimoli hali ham mavjud.", "label-code-review": "Kodning dastlabki tekshiruvi", "label-code-review-desc": "Plaginlar katalogga qo'shilishidan oldin bizning jamoamiz tomonidan dastlabki kod tekshiruvidan o'tadi.", "label-open-source": "Ochiq manba kodi", "label-open-source-desc": "Ko'pchilik plaginlar GitHub'da ochiq manba kodi bilan mavjud, shuning uchun siz kodni o'zingiz tekshirishingiz mumkin.", "label-peer-audit": "Hamkorlar auditi", "label-peer-audit-desc": "Bizda bir-birini tekshiradigan katta dasturchilar hamjamiyati mavjud.", "label-report-mechanism": "Hisobot mexanizmi", "label-report-mechanism-desc": "Biz foydalanuvchi fikr-mulohazalari asosida ishlamayotgan plaginlarni kuzatamiz va o'chiramiz.", "label-exit-restricted-mode-disable-confirmation": "Hamjamiyat plaginlarini yoqish uchun Xavfsiz rejimdan chiqishni xohlaysizmi? Ma'lumotlaringizni zaxiralashni tavsiya qilamiz.", "label-learn-more": "Plaginlarning xavfsizligi haqida ko'proq ma'lumot oling", "button-turn-on-community-plugins": "Hamjamiyat plaginlarini yoqing", "label-trust-author": "Ushbu saqlash joyining muallifiga ishonasizmi?", "label-trust-author-description-1": "Siz ushbu saqlash joyini birinchi marta ochyapsiz va u bir nechta plaginlarni o'z ichiga oladi.", "label-trust-author-description-2": "Agar siz ushbu saqlash joyini boshqalardan olgan bo'lsangiz, noma'lum manbadan bo'lgan plaginlar xavfsizlik tahdidini keltirib chiqarishi mumkinligini hisobga oling.", "label-trust-author-description-3": "Agar siz ushbu saqlash joyining muallifiga to'liq ishonmasangiz, biz Xavfsiz rejimda qolishni tavsiya qilamiz, shunda ushbu saqlash joyidan plaginlar ishga tushmaydi.", "button-enable-plugins": "Muallifga ishonib, plaginlarni yoqing", "button-dont-trust-author": "Xavfsiz rejimda saqlash joyini ko'rish", "placeholder-community-plugins": "Plaginlarni qidirish...", "msg-failed-load-plugins": "Plaginlar ro'yxatini yuklash mumkin emas.", "label-installed": "O'rnatilgan", "button-install": "O'rnatish", "button-enable": "Yoqish", "button-disable": "O'chirish", "button-copy-share-link": "Havolani nusxalash", "button-donate": "Rahmat aytish", "label-no-results-found": "Hech narsa topilmadi.", "label-no-recent-files-found": "Yaqindagi fayllar topilmadi. Qidiruv so'zini kiriting...", "msg-failed-to-load-manifest": "Plagin tavsifini yuklash mumkin emas.", "label-version": "Versiya: {{version}}", "label-currently-installed-version": " (o'rnatilgan: {{version}})", "label-by-author": "Muallif: ", "label-repository": "Saqlash joyi: ", "label-last-update": "So'nggi yangilanish: ", "tooltip-view-last-update": "So'nggi yangilanishni ko'rsatish", "label-unsupported": "Ushbu plagin qurilmangizni qo'llab-quvvatlamaydi.", "button-update": "Yangilash", "label-no-readme": "Plagin README-faylni taqdim etmagan.", "msg-installing-plugin": "Plagin \"{{name}}\" o'rnatilmoqda...", "msg-failed-to-install-plugin": "Plagin \"{{name}}\" o'rnatish mumkin emas.", "msg-successfully-installed-plugin": "Plagin \"{{name}}\" muvaffaqiyatli o'rnatildi.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Plaginlarni boshqarish", "button-reload-plugins": "Plaginlarni qayta yuklash", "msg-reloaded-third-party-plugins": "Tashqi plaginlar qayta yuklandi.", "label-uninstall": "O'chirish", "label-uninstall-plugin": "Plaginni o'chirish", "label-uninstall-plugin-confirmation": "Siz haqiqatdan ham plaginni o'chirishni xohlaysizmi? Ushbu amal plagin papkasini o'chiradi.", "button-open-plugins-folder": "Plaginlar papkasini ochish", "button-check-for-updates": "Yangilanishlarni tekshirish", "button-update-all-plugins": "Hamma plaginlarni yangilash", "label-current-plugins": "O'rnatilgan plaginlar", "label-currently-installed": "O'rnatilgan plaginlar soni: {{count}}", "label-currently-installed_plural": "O'rnatilgan plaginlar soni: {{count}}", "msg-no-updates-found": "Yangilanishlar topilmadi.", "msg-updates-found": "Plaginlar uchun yangilanishlar topildi: {{count}}", "msg-updates-found_plural": "Plaginlar uchun yangilanishlar topildi: {{count}}", "msg-update-plugin": "Versiyani {{version}} ga yangilang", "option-search-installed-plugin": "O'rnatilgan plaginlarni qidirish", "option-search-installed-plugin-description": "O'rnatilgan plaginlarni nomi yoki tavsifi bo'yicha qidirish.", "placeholder-search-installed-plugin": "O'rnatilgan plaginlarni qidirish...", "show-installed-only": "Faqat o'rnatilganlarni ko'rsatish", "label-donate-modal-title": "Plagin {{name}} ni rivojlantirishni qo'llab-quvvatlash", "label-donate-modal-text1": "Plaginni ishlab chiqish ko'ngillilik asosida amalga oshiriladi. Agar siz ushbu plagin foydali deb hisoblasangiz, uning rivojlanishini moliyaviy qo'llab-quvvatlashni ko'rib chiqing.", "label-donate-modal-text2": "Hissa 100% plaginni ishlab chiquvchiga o'tadi. Ishlab chiquvchi tomonidan tanlangan mablag' yig'ish platformasi qo'shimcha to'lovlarni olishishi mumkin.", "label-donate-modal-text3": "Qo'llab-quvvatlaganingiz uchun rahmat!", "label-support-this-plugin": "Rahmat aytish:", "label-search-summary": "Ko'rsatilmoqda {{pluginCount}}", "label-by-popularity": "Yuklab olishlar soni bo'yicha", "label-by-released": "Chiqarilish sanasi bo'yicha", "label-by-updated": "So'nggi yangilanish sanasi bo'yicha", "label-alphabetical": "Nomiga ko'ra", "label-last-updated": "Yangilanish {{time}}" }, "mobile-toolbar": { "name": "Mobil asboblar", "option-configure-quick-action": "Tezkor harakatni sozlash", "option-configure-quick-action-description": "Ekranni yuqoridan pastga surib, qanday buyruqni chaqirishni belgilang. Hozirgi tanlov: \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "Sozlash", "placeholder-select-quick-action": "Tezkor harakatni tanlang...", "quick-action-disabled": "Harakatlar yo'q", "manage-toolbar-options": "Asboblar paneli", "option-internal-link": "Ichki havolani qo'shish", "option-internal-embed": "Kiritish qo'shish", "option-tag": "Teg qo'shish", "option-heading": "Sarlavha", "option-strikethrough": "Chizish", "option-highlight": "Ta'kidlash", "option-code": "Kod bloki", "option-blockquote": "Iqtibos", "option-inline-math": "Matematik ifodalarni ko'rsatish/yashirish", "option-math-block": "Matematik ifodalar blokini ko'rsatish/yashirish", "option-markdown-link": "Markdown havolasini qo'shish", "option-bullet-list": "Ro'yxat", "option-numbered-list": "Nomerlangan ro'yxat", "option-indent-list": "Qo'shimcha qadam qo'shish", "option-unindent-list": "Qadamni olib tashlash", "option-undo": "Bekor qilish", "option-redo": "Qayta qo'llash", "option-move-caret-up": "Karetni yuqoriga ko'chirish", "option-move-caret-down": "Karetni pastga ko'chirish", "option-move-caret-left": "Karetni chapga ko'chirish", "option-move-caret-right": "Karetni o'ngga ko'chirish", "option-first-line": "Birinchi qator", "option-last-line": "Oxirgi qator", "option-toggle-keyboard": "Klaviatura", "option-configure-toolbar": "Asboblar panelini sozlash", "option-added-options": "Qo'shilgan variantlar", "option-more-toolbar-options": "Boshqa sozlamalar", "option-attach": "Ilova", "option-add-command": "Global buyruq qo'shish", "option-add-command-description": "Asboblar paneliga qo'shish uchun har qanday global buyruqni tanlang." } }, "editor": { "search": { "placeholder-find": "Qidirish", "placeholder-replace": "O'zgartirish", "label-exit-search": "Qidiruvni yopish", "label-next": "Keyingi", "label-previous": "Oldingi", "label-find-all": "Hamma joydan qidirish", "label-replace": "O'zgartirish", "label-replace-all": "Hammamizni o'zgartirish" }, "link-suggestion": { "label-type-hash": "Xesh (#) kiriting", "label-link-heading": ", sarlavhaga havola qilish uchun", "label-type-block": "Blok (^ ) kiriting", "label-link-block": ", blokka havola qilish uchun", "label-type-pipe": "Truba (|) kiriting", "label-change-display-text": ", ko'rsatiladigan matnni o'zgartirish uchun", "label-no-alias": "Ko'rsatiladigan matn", "label-no-heading": "Sarlavha", "label-no-match-found": "Moslik topilmadi", "label-image-size": "Rasm o'lchami: {{size}}px kenglik", "label-accept": "qabul qilish", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Takliflar yo'q...", "add-to-dictionary": "Lug'atga qo'shish" }, "menu": { "edit-link": "Havolani tahrirlash", "edit-tag": "Tagni tahrirlash", "label-edit-block": "Blokni tahrirlash", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "Sarlavhasiz", "label-heading-level": "Sarlavha {{level}}" }, "print-modal": { "title": "PDF ga eksport qilish", "caption": "\"{{filename}}\" faylini PDF ga eksport qilish uchun quyidagi parametrlar", "setting-page-size": "Sahifa o'lchami", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Sarlavhada fayl nomini ishlatish", "setting-landscape": "Landshaft", "setting-margin": "Chegaralar", "setting-margin-default": "Oddiy", "setting-margin-minimal": "Minimal", "setting-margin-none": "Chegaralarsiz", "setting-downscale-percent": "Masshtab", "button-export-to-pdf": "PDF ga eksport qilish" }, "link-popover": { "tooltip-follow-link": "Havolaga o'tish", "tooltip-open-link": "Havolani ochish", "tooltip-search-tag": "Tagni qidirish" } }, "interface": { "embed-cannot-find": "Topilmadi:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Standart dasturda ochish", "empty-sidebar": "Yon panelni boshqa joyga joylashtirish uchun suring.", "sidebar-expand": "Kengaytirish", "sidebar-collapse": "Yig‘ish", "msg-fail-to-save-file": "Faylni \"{{filepath}}\" saqlashda xatolik yuz berdi. {{message}}.", "msg-failed-to-load-plugin": "Plaginni “{{plugin}}” yuklab bo‘lmadi", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Faylni “{{filepath}}” ochib bo‘lmadi", "msg-failed-to-open-href": "Manzilni “{{href}}” ochib bo‘lmadi", "no-file": "Fayl mavjud emas", "msg-file-changed": "Fayl \"{{file}}\" tashqaridan o‘zgartirildi, o‘zgarishlarni avtomatik qo‘shish.", "switch-vault": "Boshqa xazina", "manage-vaults": "Xazinani boshqarish...", "help": "Yordam", "settings": "Sozlamalar", "drag-to-rearrange": "Siljitish", "msg-switched-to-read": "Ko‘rish rejimi standart ravishda yoqilgan.", "msg-switched-to-edit": "Tahrirlash rejimi standart ravishda yoqilgan.", "msg-upgrade-installer": "Yangi versiyani saytimizdan yuklab olib, Obsidianni qayta o‘rnating.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Standart sozlamalarga qaytarish", "label-copy": "Klipbordga nusxalash", "label-copy-short": "Nusxalash", "copied_generic": "Klipbordga nusxalandi", "copied": "{{item}} klipbordga nusxalandi", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "Url", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Fayl \"{{path}}\" ochildi", "msg-file-not-found-through-uri": "Fayl \"{{name}}\" topilmadi.", "delete-action-short-name": "O‘chirish", "msg-indexing": "Obsidian xazinani indekslayapti...\nBu faqat bir marta amalga oshiriladi.\nBa'zi funksiyalar jarayon tugamaguncha mavjud bo‘lmasligi mumkin.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Indeksatsiya tugadi.", "msg-sandbox-vault": "Bu qum havzasi xazinasi.\nBu xazina ustida qilgan o‘zgarishlaringiz yo‘qoladi.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Enter yangi fayl yaratish uchun", "label-update-available": "Yangilanish mavjud", "label-debug-info": "Tuzatish ma'lumotlari", "button-learn-more": "Qo‘shimcha ma'lumot", "button-not-now": "Hozir emas", "button-add": "Qo‘shish", "button-manage": "Boshqarish", "label-new-tab": "Yangi tab", "option-hide-ribbon": "Ribbonni yashirish", "msg-tab-busy": "Hozirda bu tab band, keyinroq qayta urinish", "formatting": { "label-formatting": "Formatlash", "label-paragraph": "Paragraf", "label-insert": "Kiritish", "insert-link": "Havolani qo'shish", "insert-external-link": "Tashqi havolani qo'shish", "insert-callout": "Qo'shimcha blok", "insert-horizontal-rule": "Gorizontal chiziq", "insert-code-block": "Kod bloki", "insert-math-block": "Matematik ifodalar bloki", "insert-table": "Jadval", "insert-footnote": "Footnote", "toggle-bold": "Qalin", "toggle-code": "Kod", "toggle-comments": "Izoh", "toggle-highlight": "O‘rnatish", "toggle-italics": "Kursiv", "toggle-strikethrough": "Chizilgan", "toggle-math": "Matematik ifodalar", "toggle-bullet-list": "Ro‘yxat", "toggle-checklist": "Vazifa ro‘yxati", "toggle-numbered-list": "Raqamlangan ro‘yxat", "set-heading": "{{level}}-daraja sarlavha", "no-heading": "Sarlavhani olib tashlash", "clear": "Formatlashni tozalash", "toggle-quote": "Iqtibos" }, "empty-state": { "no-file-open": "Hech qanday fayl ochilmagan", "create-new-file": "Yangi fayl yaratish", "go-to-file": "Faylga o'tish", "see-recent-files": "Yaqinda ochilgan fayllarni ko'rish", "close": "Yopish", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Plagin endi faol emas", "unknown-pane-desc": "Bu panelni yaratgan plagin ({{type}}) yo'qolgan" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Hozirgi rejim: tahrirlash", "read-view": "Hozirgi rejim: ko'rish", "ribbon": "Ribbon", "left-sidebar": "Chap yon panel", "right-sidebar": "O'ng yon panel", "switch-to-edit-view": "Tahrirlash uchun bosing", "switch-to-read-view": "Ko'rish uchun bosing", "mod-click-open-new-tab": "{{key}}+Click yangi tabda ochish", "find": "Topish...", "replace": "O'zgartirish...", "edit": "Tahrirlash", "remove": "O'chirish", "rename": "Nomini o'zgartirish", "preview": "Ko'rish", "more-options": "Boshqa", "close": "Yopish", "close-all": "Barcha tablarni yopish", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Boshqa tablarni yopish", "close-after": "Close tabs after", "pin": "Qiqish", "unpin": "Qiqishni olib tashlash", "unlink-tab": "Tabni bog'lashni olib tashlash", "link-tab": "Tab bilan bog'lash...", "toggle-source-mode": "Manba kodini ko'rish", "toggle-reading-view": "Ko'rish", "add-property": "Fayl xususiyatini qo'shish", "delete-file": "Faylni o'chirish", "create-file": "Ushbu faylni yaratish", "open-link": "Havolani ochish", "open-in-new-tab": "Yangi tabda ochish", "open-to-the-right": "O'ng tarafda ochish", "copy-url": "Havolani nusxalash", "copy": "Nusxalash", "cut": "Kesish", "paste": "Joylashtirish", "paste-as-plain-text": "Oddiy matn sifatida joylashtirish", "lookup-selection": "“{{selection}}” qiymatini qidiring", "select-all": "Hammasini tanlash", "rename-heading": "Z заголовокni o'zgartirish...", "rename-blockid": "Blok ID-ni o'zgartirish...", "open-in-new-window": "Yangi oynada ochish", "move-to-new-window": "Yangi oynaga ko'chirish", "open-in-browser": "Brauzerda ochish", "stack-tabs": "Tablarni to'plash", "unstack-tabs": "Tablarni ajratish", "open-linked-view": "Bog'langan ko'rinishni ochish" }, "tooltip": { "click-to-expand": "Kengaytirish", "click-to-collapse": "Siqish", "alias": "Soxta nom", "not-created-yet": "Hali yaratilmagan, yaratish uchun tanlang" }, "start-screen": { "label-version": "Versiya", "label-create-local-vault": "Mahalliy xazinani yaratish", "option-open-folder-as-vault": "Papkani xazina sifatida ochish", "option-open-folder-as-vault-description": "Markdown-fayllarini o'z ichiga olgan papkani tanlang.", "option-create-vault": "Yangi xazina yaratish", "option-create-vault-description": "Ko'rsatilgan papka ichida yangi Obsidian xazini yarating.", "option-connect-obsidian-sync": "Obsidian Sync-ga ulanish", "option-connect-obsidian-sync-description": "Bulutli xotira bilan sinxronizatsiyani sozlang.", "option-new-vault-name": "Xazina nomi", "option-new-vault-name-description": "Yangi xazinaning nomini kiriting.", "option-new-vault-location": "Joylashuv", "option-new-vault-location-description": "Yangi xazinaning joylashuvini ko'rsating.", "label-new-vault-location-preview": "Yangi xazina quyidagi joyda bo'ladi: ", "option-reveal-vault-in-explorer": "Xizmat qiluvchi papkani ko'rsatish", "option-reveal-vault-in-explorer-mac": "Finder-da ko'rsatish", "option-rename-vault": "Xazinani qayta nomlash...", "option-copy-vault-i-d": "Xazinaning ID-sini nusxalash", "msg-error-rename-exists": "Bunday nomdagi xazina allaqachon mavjud.", "msg-error-nested": "Xazinani o'zining ichki papkasiga ko'chirish mumkin emas.", "msg-error-rename-open": "Hozirda ochiq bo'lgan xazinani qayta nomlash mumkin emas.", "msg-rename-failed": "Xazinani qayta nomlash mumkin emas.", "msg-rename-success": "Xazina muvaffaqiyatli qayta nomlandi.", "option-move-vault": "Xazinani ko'chirish...", "msg-move-select-dest": "Ma'lumotingizni tanlang", "msg-error-move-exists": "Ma'lumotlar papkasida allaqachon xazina mavjud.", "msg-error-move-open": "Hozirda ochiq bo'lgan xazinani ko'chirish mumkin emas.", "msg-move-failed": "Xazinani ko'chirish mumkin emas.", "msg-move-success": "Xazina muvaffaqiyatli ko'chirildi.", "option-remove": "Ro'yxatdan olib tashlash", "button-quick-start": "Tez boshlash", "button-open": "Ochish", "button-browse": "Ko'rish", "button-connect": "Ulashing", "button-create-vault": "Yaratish", "button-back": "Orqaga", "msg-empty-vault-name": "Xazinaning nomi bo'sh bo'lishi mumkin emas.", "msg-trailing-dot-vault-name": "Xazinaning nomi nuqta bilan tugamasligi kerak.", "msg-invalid-folder": "Iltimos, mavjud papkani tanlang.", "msg-failed-to-create-vault": "Xazina yaratilishi mumkin emas.", "msg-failed-to-create-vault-at-location": "Ko'rsatilgan joyda xazina yaratilishi mumkin emas. Yo'llar va huquqlarni qayta tekshiring.", "msg-error-failed-to-open-vault": "Ochish mumkin emas.", "msg-error-remove-current-open-vault": "Hozirda ochiq bo'lgan xazinani olib tashlash mumkin emas.", "option-get-help": "Yordam olish", "option-user-email": "Email", "placeholder-your-email": "Sizning email manzilingiz...", "option-user-password": "Parol", "placeholder-your-password": "Sizning parolingiz...", "button-sign-in": "Kirish", "button-setup": "Sozlash", "option-connect-vault-desc": "Bu qurilmada sinxronizatsiyalangan xazina yarating.", "tooltip-own-vault": "Bu sizga tegishli bo'lgan tashqi xazina.", "tooltip-shared-vault": "Bu sizga kirish huquqi berilgan tashqi xazina.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Xush kelibsiz", "welcome-file-content": "Bu sizning yangi *xazina*ngiz.\n\nBiror narsa yozing, [[havola yarating]] yoki [Markdown-fayllar import qiluvchi plagin](https://help.obsidian.md/Plugins/Importer)ni sinab ko'ring!\n\nTayyor bo'lganingizda, ushbu eslatmani o'chirib tashlang va xazinani o'zingizga xos qiling." }, "drag-and-drop": { "insert-link-here": "Havolani qo'shish", "insert-links-here": "Havolalarni qo'shish", "move-into-folder": "\"{{folder}}\" papkasiga ko'chirish", "star-this-file": "Ushbu faylni belgilash", "star-these-files": "Ushbu fayllarni belgilash", "open-in-this-tab": "Ushbu yorliqda ochish", "open-as-tab": "Yangi yorliqda ochish" }, "window": { "maximize": "To'liq ekran", "minimize": "Kamaytirish", "restore-down": "Asl holatga qaytarish", "close-window": "Oynani yopish", "go-back": "Orqaga", "go-forward": "Oldinga" }, "start-up": { "loading-obsidian": "Obsidian yuklanmoqda...", "obsidian-load-error": "Obsidian yuklashda xatolik yuz berdi.", "button-reload-app": "Qayta yuklash", "button-reload-app-in-safe-mode": "Xavfsiz rejimda qayta yuklash", "button-open-another-vault": "Boshqa xotira ochish", "loading-plugins": "Plaginlar yuklanmoqda...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Xotira yuklanmoqda...", "msg-failed-to-load-vault": "Xotirani yuklashda xatolik: ", "loading-cache": "Kesh yuklanmoqda...", "loading-workspace": "Ishchi maydon yuklanmoqda..." }, "mobile": { "action-import": "Xotiraga import qilish", "action-insert-text-desc": "Faylga matn qo'shish:", "action-choose-file-to-insert": "Qo'shish uchun faylni tanlang", "action-insert-text-into-file": "{{filename}} fayliga matn qo'shish", "action-insert-link-into-file": "{{filename}} fayliga havola qo'shish", "action-show-switcher": "Show tab overview", "msg-importing": "Import qilinmoqda...", "msg-import-success": "Import muvaffaqiyatli yakunlandi", "msg-failed-to-import-file": "{{filename}} faylni import qilishda xatolik yuz berdi", "msg-back-again-to-exit": "Chiqish uchun yana bir bor orqaga bosing.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Rasmiy yordam sayti", "label-official-help-site-desc": "Obsidianning rasmiy yordam hujjatlarini o'qib chiqing, ular bir necha tillarda mavjud.", "action-visit": "Tashrif buyurish", "label-discord-chat": "Discord chat", "label-discord-chat-desc": "Discord — butun dunyo bo'ylab boshqa tajribali Obsidian foydalanuvchilari bilan muloqot qilish uchun eng yaxshi joy.", "action-join": "Qo'shilish", "label-forum": "Rasmiy forum", "label-forum-desc": "Bir-biringizga yordam bering, funksiyalar uchun so'rovlar joylashtiring, xatoliklarni xabar bering va bilimlarni boshqarish haqida mazmunli muhokamalar o'tkazing.", "label-sandbox-vault": "Sandbox xotirasi", "label-sandbox-vault-desc": "Turli funksiyalarni sinab ko'ring va tajriba o'tkazing. O'zgartirishlaringiz saqlanmaydi." } }, "commands": { "save-file": "Joriy faylni saqlash", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Ko'rsatuvchi ostidagi havolaga o'tish", "open-cursor-link-in-new-tab": "Ko'rsatuvchi ostidagi havolani yangi sahifada ochish", "open-cursor-link-to-the-right": "Ko'rsatuvchi ostidagi havolani o'ng tomonda ochish", "open-cursor-link-in-new-window": "Ko'rsatuvchi ostidagi havolani yangi oynada ochish", "navigate-tab-above": "Yuqoridagi tab guruhiga o'tish", "navigate-tab-below": "Pastdagi tab guruhiga o'tish", "navigate-tab-left": "Chapdagi tab guruhiga o'tish", "navigate-tab-right": "O'ngdagi tab guruhiga o'tish", "toggle-pin": "Hududni pin qilishni yoqish/o'chirish", "split-right": "O'ng tomonga ajratish", "split-down": "Pastga ajratish", "toggle-stacked-tabs": "Tablarni yotqizish/yig'ish", "navigate-back": "Ortga qaytish", "navigate-forward": "Oldinga o'tish", "use-dark-mode": "Qora rejimni yoqish", "use-light-mode": "Yorug'lik rejimini yoqish", "change-theme": "Tishni o'zgartirish", "search-current-file": "Joriy faylda qidirish", "search-replace-current-file": "Joriy faylda qidirish va almashtirish", "add-property": "Fayl xususiyatini qo'shish", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Pseudonim qo'shish", "clear-properties": "Fayl xususiyatlarini tozalash", "open-settings": "Sozlamalarni ochish", "open-help": "Yordamni ochish", "toggle-edit": "Tahrir va ko'rish rejimlari o'rtasida o'tish", "toggle-source-mode": "Dinamik ko'rish/Manba kodi rejimlari o'rtasida o'tish", "delete-current-file": "Joriy faylni o'chirish", "new-tab": "Yangi tab", "show-trash": "Savatchani ko'rsatish", "close-all-tabs": "Barcha tablarni yopish", "close-active-tab": "Joriy tabni yopish", "close-others-in-tab-group": "Tablar guruhidagi barcha tablarni yopish, joriy tabni qoldirib", "close-other-tabs": "Barcha tablarni yopish, joriy tabdan tashqari", "close-tab-group": "Joriy tablar guruhini yopish", "toggle-left-sidebar": "Chap yon panelni yopish/ochish", "toggle-ribbon": "Ribbonni yoqish/o'chirish", "toggle-right-sidebar": "O'ng yon panelni yopish/ochish", "toggle-default-new-tab-mode": "Yangi tabning asosiy rejimini tahrir/ko'rish qilib o'zgartirish", "add-cursor-above": "Yuqoriga kursor qo'shish", "add-cursor-below": "Pastga kursor qo'shish", "focus-editor": "Tahrirchiga qaytish", "toggle-fold-properties": "Joriy fayldagi xususiyatlarni yopish/ochish", "toggle-fold": "Joriy sarlavha/ro'yxatni yopish/ochish", "fold-all": "Barcha sarlavha va ro'yxatlarni yopish", "unfold-all": "Barcha sarlavha va ro'yxatlarni ochish", "fold-more": "Ko'proq yopish", "fold-less": "Kamroq yopish", "swap-line-up": "Yuqoridagi satr bilan almashtirish", "swap-line-down": "Pastdagi satr bilan almashtirish", "remove-heading": "Sarlavhani olib tashlash", "toggle-heading": "Sarlavha darajasini {{level}} o'rnatish", "toggle-bold": "Yorqinlikni qo'shish/o'chirish", "toggle-italics": "Kursivni qo'shish/o'chirish", "toggle-highlight": "Yoritishni qo'shish/o'chirish", "toggle-comments": "Izohlarni qo'shish/o'chirish", "clear-formatting": "Formatlashni tozalash", "insert-link": "Havolani qo'shish", "toggle-spellcheck": "Imlo tekshiruvini yoqish/o'chirish", "delete-paragraph": "Paragrafni o'chirish", "toggle-checklist": "Belgilash holatini o'zgartirish", "cycle-list-checklist": "Ro'yxatni/To-do ro'yxatini belgilash holatini o'zgartirish", "insert-callout": "Qo'shimcha blok qo'shish", "insert-code-block": "Kod blokini qo'shish", "insert-math-block": "Matematik ifodalar blokini qo'shish", "insert-horizontal-rule": "Gorizontal chiziq qo'shish", "insert-table": "Jadval qo'shish", "insert-footnote": "Insert footnote", "edit-file-title": "Fayl sarlavhasini tahrir qilish", "copy-path": "Fayl yo'lini nusxalash", "copy-url": "Obsidian URL-ni nusxalash", "export-pdf": "PDF-ga eksport qilish", "reload": "Ilovani saqlamasdan qayta yuklash", "undo-close-tab": "Tabni yopishni bekor qilish", "context-menu": "Ko'rsatuvchi ostida kontekst menyusini ko'rsatish", "show-debug-info": "Kodni tekshirish ma'lumotlarini ko'rsatish", "open-sandbox-vault": "Sandbox xotirasini ochish", "always-on-top": "Har doim eng yuqorida bo'lishni yoqish/o'chirish", "zoom-in": "Kattalashtirish", "zoom-out": "Kichraytirish", "reset-zoom": "Asosiy o'lcham", "toggle-preview": "Tahrir va ko'rish rejimlari o'rtasida o'tish", "move-to-new-window": "Hududni yangi oynaga ko'chirish", "open-in-new-window": "Hududni yangi oynada ochish", "rename-current-file": "Joriy faylni qayta nomlash", "go-to-prev-tab": "Oldingi tabga o'tish", "go-to-next-tab": "Keyingi tabga o'tish", "go-to-last-tab": "So'nggi tabga o'tish", "go-to-nth-tab": "#{{n}} tabga o'tish", "show-release-notes": "Chiqarilish eslatmalarini ko'rsatish" }, "dialogue": { "label-link-affected": "Bu {{links}} ni {{files}} ta'sir qiladi.", "msg-updated-links": "{{links}} yangilandi {{files}} da.", "label-update-links": "Havolalarni yangilash", "label-confirm-update-link-to-file": "Ushbu faylga ko'rsatuvchi ichki havolalarni yangilashni xohlaysizmi?", "button-always-update": "Har doim yangilash", "button-just-once": "Faqat hozir", "button-do-not-update": "Yangilamaslik", "label-confirm-deletion": "Siz \"{{filename}}\" ni o'chirishni xohlaysizmi?", "label-move-to-system-trash": "Tizim Savatchasiga ko'chiriladi.", "label-move-to-vault-trash": "Obsidian Savatchasiga ko'chiriladi, bu sizning xotirangizdagi yashirin \".trash\" papkada joylashgan.", "label-permanent-delete": "Fayl qaytarib bo'lmaydigan tarzda o'chiriladi.", "label-non-empty-folder": "Ushbu papka bo'sh emas.", "label-delete-folder-warning": "Agar davom etsangiz, ushbu papkadagi barcha fayllar o'chiriladi.", "label-delete-folder": "Papkani o'chirish", "button-delete": "O'chirish", "button-delete-do-not-ask-again": "O'chirish va yana so'ramaslik", "label-do-not-ask-again": "Yana so'ramaslik", "label-existing-backlink": "Hozirda ushbu eslatmaga ishora qiluvchi {{count}} havola mavjud.", "label-existing-backlink_plural": "Hozirda ushbu eslatmaga ishora qiluvchi {{count}} havolalar mavjud.", "label-delete-file": "Faylni o'chirish", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Boshqarish", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Bekor qilish", "button-download": "Download", "button-done": "Tugadi", "button-save": "Saqlash", "button-stop": "To'xtatish", "button-continue": "Davom etish", "button-choose": "Tanlash", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "PDF tayyorlanmoqda...", "label-rename-file": "Faylni qayta nomlash", "label-rename-file-generic": "Fayl nomi", "label-new-name": "Yangi nom", "msg-rename-success": "Fayl muvaffaqiyatli qayta nomlandi.", "msg-merge-failed": "Eslatmalar birlashtirilmadi: {{message}}", "msg-file-or-folder-not-found": "Fayl yoki papka “{{path}}” mavjud emas.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Sarlavhani qayta nomlash", "label-rename-blockid": "Blok ID-ni qayta nomlash" }, "menu-items": { "new-file": "Yangi eslatma yaratish", "new-file-to-the-right": "O'ng tarafdagi maydonda yangi eslatma yaratish", "new-window": "Yangi oynada ochish", "open-switcher": "Tezkor o'tish", "open-vault": "Xotiraga ochish...", "close-tab": "Viklani yopish", "close-window": "Oynani yopish", "find": "Topish", "replace": "O'zgartirish", "insert-callout": "Chiqish blokini qo'shish", "insert-markdown-link": "Markdown havolasini qo'shish", "insert-wikilink": "Wiki havolasini qo'shish", "set-heading": "Sarlavha darajasi {{level}}", "no-heading": "Sarlavhani olib tashlash", "insert-quote": "Iqtibos qo'shish", "export-pdf": "PDF-ga eksport qilish", "insert-attachment": "Ilova qo'shish...", "insert-codeblock": "Kod bloki", "insert-math-block": "Matematika ifodalarini qo'shish", "insert-table": "Jadval", "insert-footnote": "Footnote", "toggle-bullet-list": "Ro'yxat", "toggle-numbered-list": "Nomerlangan ro'yxat", "toggle-checklist": "Vazifa ro'yxati", "toggle-bold": "Qalin", "toggle-code": "Kod", "toggle-comment": "Izoh", "toggle-italics": "Qiya", "toggle-inline-math": "Matematik ifodalar", "toggle-highlight": "Chiroyli", "toggle-strikethrough": "Chizilgan", "toggle-comments": "Izoh", "folding-menu": "Yig'ish", "fold-all": "Hammasini yig'ish", "unfold-all": "Hammasini ochish", "fold-more": "Ko'proq yig'ish", "fold-less": "Kamroq yig'ish", "source-mode": "Manba kodini ko'rish", "reading-view": "Ko'rish", "show-debug-info": "Debbuging ma'lumotlarini ko'rsatish", "open-sandbox": "Peskari xotirasini ochish", "navigate-back": "Orqaga qaytish", "navigate-forward": "Oldinga o'tish", "toggle-left-sidebar": "Chap panelni yoqish/o'chirish", "toggle-right-sidebar": "O'ng panelni yoqish/o'chirish", "toggle-ribbon": "Ribbon", "split-right": "O'ngga bo'lish", "split-down": "Pastga bo'lish", "release-notes": "Chiqarish e'lonlari" }, "plugins": { "name": "Plaginlar", "file-explorer": { "name": "Fayl menejeri", "desc": "Xotirangizdagi barcha fayllarni ko'rsatadi.", "action-open": "Fayl menejerini ochish", "action-show": "Fayl menejerini ko'rsatish", "action-create-note": "Yangi eslatma yaratish", "action-create-folder": "Yangi papka yaratish", "action-create-note-in-current-tab": "Joriy tabda yangi eslatma yaratish", "action-create-note-to-the-right": "O'ng tarafdagi maydonda eslatma yaratish", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Hammasini yig'ish", "action-expand-all": "Hammasini ochish", "action-new-note": "Yangi eslatma", "action-new-folder": "Yangi papka", "action-change-sort": "Saralash tartibi", "action-reveal-file": "Fayl menejerida ko'rsatish", "action-reveal-active-file": "Joriy faylni fayl menejerida ko'rsatish", "command-make-a-copy": "Joriy faylning nusxasini yaratish", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Faylni boshqa papkaga ko'chirish", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Faylni ko'chirish...", "action-move-folder": "Papkani ko'chirish...", "action-move-items": "{{count}} ni ko'chirish...", "prompt-type-folder": "Papka nomini kiriting", "label-no-folders": "Bunday nomdagi papka topilmadi.", "instruction-navigate": "naviatsiya", "instruction-move": "ko'chirish", "instruction-create": "yaratish", "instruction-dismiss": "bekor qilish", "label-sort-a-to-z": "Fayl nomi bo'yicha (A dan Z gacha)", "label-sort-z-to-a": "Fayl nomi bo'yicha (Z dan A gacha)", "label-sort-new-to-old": "Oxirgi o'zgartirish vaqti bo'yicha (yangi dan eski tomon)", "label-sort-old-to-new": "Oxirgi o'zgartirish vaqti bo'yicha (eski dan yangi tomon)", "label-sort-created-old-to-new": "Yaratilish vaqti bo'yicha (eski dan yangi tomon)", "label-sort-created-new-to-old": "Yaratilish vaqti bo'yicha (yangi dan eski tomon)", "menu-opt-new-note": "Yangi eslatma", "menu-opt-new-folder": "Yangi papka", "menu-opt-rename": "Nomini o'zgartirish", "menu-opt-delete": "O'chirish", "menu-opt-make-copy": "Nusxasini yaratish", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "Fayl nomi quyidagi belgilarni o'z ichiga olmasligi kerak: ", "msg-unsafe-characters": "Fayl nomidagi quyidagi belgilar mavjud bo'lsa, havolalar ishlamaydi: ", "msg-file-already-exists": "Bunday nomdagi fayl mavjud", "msg-empty-file-name": "Fayl nomi bo'sh qolmasligi kerak.", "msg-bad-dotfile": "Fayl nomi nuqta bilan boshlanmasligi kerak.", "tooltip-modified-time": "Oxirgi o'zgartirish vaqti {{time}}", "tooltip-created-time": "Yaratilish vaqti {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Nomlanmagan", "label-untitled-folder": "Nomlanmagan", "msg-set-attachment-folder": "Endi qo'shimchalar \"{{path}}\" ga saqlanadi" }, "search": { "name": "Qidirish", "desc": "Barcha eslatmalarda kalit so'zlar bo'yicha qidirish.", "action-open-search": "Barcha fayllarda qidirish", "label-collapse-results": "Natijalarni qisqartirish", "label-match-case": "Kichik-katta harflarni hisobga olish", "label-explain-search-term": "Qidiruv so'zini tushuntirish", "label-more-context": "Konteksti kengaytirish", "label-result-count": "Topildi: {{count}}", "label-result-count_plural": "Topildi: {{count}}", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Qidiruv sozlamalari", "prompt-start-search": "Qidiruv so'zini kiriting...", "label-match-text": "Matnga mos keladi: ", "label-match-regex": "Regulyar ifodaga mos keladi: ", "label-match-exact-text": "Aniq mos keladi: ", "label-match-greater-than": "Kattaroq: ", "label-match-less-than": "Kichikroq: ", "label-match-true": "Haqiqiy", "label-match-false": "Yolg'on", "label-match-empty": "Bo'sh", "label-match-property": "Xususiyatni o'z ichiga oladi:", "label-match-all": "Hammasi bilan mos keladi: ", "label-match-any": "Har qanday qism bilan mos keladi: ", "label-excluding": "Chetlab o'tish: ", "label-case-sensitive": "Kichik-katta harflarni hisobga olish", "label-case-insensitive": "Kichik-katta harflarni hisobga olmaslik", "label-match-file-path": "Fayl yo'li bilan mos keladi: ", "label-match-file-name": "Fayl nomi bilan mos keladi: ", "label-match-content": "Fayl tarkibida: ", "label-match-task": "Vazifa bilan mos keladi: ", "label-match-task-todo": "Yakunlanmagan vazifa bilan mos keladi: ", "label-match-task-done": "Yakunlangan vazifa bilan mos keladi: ", "label-match-line": "Qator bilan mos keladi: ", "label-match-block": "Blok bilan mos keladi: ", "label-match-section": "Bo'lim bilan mos keladi: ", "label-match-tag": "Teg bilan mos keladi: ", "label-no-matches": "Mos keladigan narsalar topilmadi.", "matches-with-count": "... va yana {{count}} mos kelish.", "matches-with-count_plural": "... va yana {{count}} mos kelish.", "label-copy-search-results": "Qidiruv natijalarini nusxalash", "button-copy-results": "Natijalarni nusxalash", "msg-successfully-copied": "Natijalar clipboard-ga nusxalandi.", "option-show-path": "Yo'lni ko'rsatish", "option-show-path-description": "Fayl nomini o'rniga faylning to'liq yo'lini ko'rsatish.", "option-link-style": "Havola uslubi", "option-link-style-description": "Natijalarni havolalar shaklida ko'rsatish.", "option-choice-link-style-none": "Havolasiz", "option-choice-link-style-wikilink": "Wiki-havola", "option-choice-link-style-markdown-link": "Markdown-havola", "option-list-prefix": "Ro'yxat prefiksi", "option-list-prefix-description": "Ro'yxatdagi har bir fayl nomiga prefiks qo'shish.", "option-choice-list-style-none": "Prefiksisiz", "option-choice-list-style-dash": "Chiziq (-)", "option-choice-list-style-asterisk": "Yulduzcha (*)", "option-choice-list-style-numbered": "Nomerlangan", "tooltip-clear-search": "Tozalash", "label-search-options": "Qidiruv sozlamalari", "label-properties-group": "Xususiyatlar", "label-tags-group": "Teglar", "tooltip-read-more": "Qo'shimcha", "label-history": "Tarix", "tooltip-clear-history": "Qidiruv tarixini tozalash", "label-path-option-description": "Fayl yo'lidagi moslik", "label-file-name-option-description": "Fayl nomidagi moslik", "label-tag-option-description": "Teglar bo'yicha moslik", "label-line-option-description": "Bir qator ichidagi kalit so'zlar", "label-section-option-description": "Bir sarlavha ostidagi kalit so'zlar", "label-property-option-description": "Xususiyat bilan moslik", "menu-opt-search-for": "\"{{keyword}}\" uchun qidirish", "menu-opt-search-in-folder": "Papkada qidirish" }, "quick-switcher": { "name": "Tez o'tish", "desc": "Klaviaturadan qo'lingizni ajratmasdan har qanday faylga tezda o'ting. Ctrl/Cmd+O tugmalar kombinatsiyasi orqali chaqiriladi.", "short-name": "Switcher", "action-open": "Tez o'tish menyusi", "instruction-navigate": "navigatsiya", "instruction-open": "ochish", "instruction-open-in-new-tab": "yangi yorliqda ochish", "instruction-open-to-the-right": "o'ngdagi sohada ochish", "instruction-create": "yaratish", "instruction-dismiss": "bekor qilish", "instruction-select": "tanlash", "label-no-note-create-new": "Bunday eslatma topilmadi. Yangi yaratish uchun Enter tugmasini bosing.", "prompt-type-file-name": "Yaratish yoki o'tish uchun fayl nomini kiriting...", "label-enter-to-create": "Yaratish uchun Enter tugmasini bosing", "tooltip-not-created-yet": "Hali yaratilmagan, yaratish uchun tanlang", "option-show-existing-only": "Faqat mavjud fayllarni ko'rsatish", "option-show-existing-only-description": "Hozircha yaratilmagan fayllarga havolalarni ko'rsatish yoki yo'q.", "option-show-attachments": "Ilova fayllarini ko'rsatish", "option-show-attachments-desc": "Rasm, video va PDF kabi ilova fayllarini ko'rsatish.", "option-show-all-file-types": "Barcha fayl turlarini ko'rsatish", "option-show-all-file-types-desc": "Obsidian tomonidan o'zini ocholmaydigan har qanday kengaytmali fayllarni ko'rsatish. Fayl tegishli dasturda ochiladi." }, "graph-view": { "name": "Graf", "desc": "Grafik ko'rsatishda eslatmalar o'rtasidagi bog'lanishlar.", "action-open": "Graf", "action-open-local": "Mahalliy grafni ochish", "action-copy-screenshot": "Ekran suratini nusxalash", "tab-title": "Graf {{displayText}}", "label-filters": "Filtrlar", "prompt-filter-nodes": "Izlash...", "option-depth": "Chuqurlik", "option-depth-description": "Bog'lanishlarni ko'rsatish chuqurligi", "option-neighbor-links": "Qo'shni eslatmalar bilan bog'lanishlar", "option-neighbor-links-description": "Qo'shni eslatmalar bilan bog'lanishlarni ko'rsatish", "option-forelinks": "Chiquvchi bog'lanishlar", "option-forelinks-description": "Boshqa fayllarga bog'lanishlarni ko'rsatish", "option-backlinks": "Kirish bog'lanishlar", "option-backlinks-description": "Boshqa fayllardan bog'lanishlarni ko'rsatish", "option-show-tags": "Teglar", "option-show-tags-description": "Teglar tegishli eslatmalarga bog'langan", "option-show-attachments": "Ilovalar", "option-show-attachments-description": "Eslatmalarda mavjud bo'lgan ilovalarni ko'rsatish", "option-show-existing-files-only": "Faol eslatmalar faqat", "option-show-existing-files-only-description": "Yana yaratilmagan eslatmalarga havolalarni ko'rsatishni istisno qiladi", "option-show-orphans": "Bog'lanishlarsiz ob'ektlar", "option-show-orphans-description": "Bog'lanishlari bo'lmagan ob'ektlarni ko'rsatish", "label-display": "Ko'rsatish", "option-show-arrows": "Bog'lanish yo'nalishi", "option-show-arrows-description": "Yaqinlashishda yo'nalishni ko'rsatish", "option-text-fade": "Matnning yo'qolish chegara", "option-node-size": "Uzlug'ning o'lchami", "option-link-thickness": "Chiziqlar qalinligi", "label-forces": "Kuchlar", "option-center-force": "Tortish kuchi", "option-link-force": "Bog'lanish kuchi", "option-link-distance": "Uzlug'lar orasidagi masofa", "option-repel-force": "Itarish kuchi", "tooltip-open-graph-settings": "Graf sozlamalari", "msg-screenshot-copied": "Ekran surati nusxalandi.", "label-groups": "Guruhlar", "placeholder-enter-query": "Qidiruv so'rovi...", "tooltip-delete-graph": "Guruhni o'chirish", "button-new-group": "Yangi guruh", "tooltip-click-to-change-drag-to-reorder": "Rangni o'zgartirish\nTartibni o'zgartirish uchun tortish", "action-timelapse": "Graf animatsiyasini vaqt o'tishi bilan boshlash", "tooltip-start-timelapse-animation": "Graf animatsiyasini boshlash", "button-animate-timelapse": "Animatsiyani boshlash" }, "backlinks": { "name": "Orqa havolalar", "desc": "Holat satrida orqa havolalarning sonini ko'rsatadi.", "action-open": "Orqa havolalarni ko'rsatish", "action-show": "Orqa havolalar panelini ko'rsatish", "action-open-for-current": "Joriy fayl uchun orqa havolalarni ko'rsatish", "action-toggle-backlinks-in-document": "Hujjatdagi orqa havolalarni yoqish/o'chirish", "menu-opt-backlinks-in-document": "Orqa havolalarni ko'rsatish", "label-linked-mentions": "Havola bilan eslatmalar", "label-no-backlinks": "Orqa havolalar topilmadi.", "label-unlinked-mentions": "Havolalar bo'lmagan eslatmalar", "label-show-search": "Qidiruv filtrini ko'rsatish", "label-link-button-text": "Havola", "tab-title": "{{displayText}} uchun orqa havolalar", "label-no-unlinked-mentions": "Havolalarsiz eslatmalar topilmadi.", "ellipsis": "...", "option-backlink-in-document": "Hujjatdagi orqa havolalar", "option-backlink-in-document-desc": "Hujjatni yangi panelda ochishda orqa havolalarni ko'rsatish." }, "outgoing-links": { "name": "Chiqish havolalari", "desc": "Chiqish havolalarini ko'rsatadi va eslatmalarda boshqa eslatmalar bilan bog'lanmagan eslatmalarni aniqlaydi.", "action-open": "Chiqish havolalarini ochish", "action-show": "Chiqish havolalar panelini ko'rsatish", "action-open-for-current": "Joriy fayl uchun chiqish havolalarini ochish", "tab-title": "{{displayText}} dan chiqish havolalari", "label-links": "Havolalar", "label-no-links": "Havolalar topilmadi.", "label-unlinked-mentions": "Havolalarsiz eslatmalar", "tooltip-link-file": "Ushbu fayl bilan bog'lash", "tooltip-not-created": "Hali yaratilmagan" }, "tag-pane": { "name": "Teglar paneli", "short-name": "Teglar", "desc": "Barcha teglarni va ularning eslatmalardagi miqdorini ko'rsatadi.", "action-show": "Teglar panelini ko'rsatish", "label-no-tags": "Hech qanday teg topilmadi.", "label-sort-by-name-a-to-z": "Teg bo'yicha (A dan Z gacha)", "label-sort-by-name-z-to-a": "Teg bo'yicha (Z dan A gacha)", "label-sort-by-frequency-high-to-low": "Chastota bo'yicha (ko'p -> kam)", "label-sort-by-frequency-low-to-high": "Chastota bo'yicha (kam -> ko'p)", "action-show-nested-tags": "Ichki teglarni ko'rsatish", "action-collapse-all": "Hammasini qisqartirish", "action-expand-all": "Hammasini kengaytirish" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Xususiyatlarni ko‘rish", "desc": "Fayllaringizning metama'lumotlarini ko‘rsatadi.", "name-global": "Barcha xususiyatlar", "name-local": "Fayl xususiyatlari", "tab-title": "{{displayText}} uchun fayl xususiyatlari", "action-show": "Barcha xususiyatlarni ko'rsatish", "action-show-local": "Fayl xususiyatlarini ko'rsatish", "opt-unassign-type": "Turini bekor qilish", "label-no-properties": "Xususiyatlar topilmadi.", "label-invalid-properties": "Noto'g'ri xususiyatlar.", "label-sort-by-name-a-to-z": "Xususiyat nomi (A dan Z gacha)", "label-sort-by-name-z-to-a": "Xususiyat nomi (Z dan A gacha)", "label-sort-by-frequency-high-to-low": "Chastota bo'yicha (ko'p -> kam)", "label-sort-by-frequency-low-to-high": "Chastota bo'yicha (kam -> ko'p)", "msg-merge-properties-warning": "“{{oldKey}}” xususiyatini “{{newKey}}” bilan birlashtirish?", "msg-merge-properties-warning-desc": "Ziddiyatlar yuzaga kelganda qiymatlar birlashtiriladi yoki “{{oldKey}}” qiymati ishlatiladi.", "action-collapse-all": "Hammasini qisqartirish", "action-expand-all": "Hammasini kengaytirish", "action-open-local": "Fayl xususiyatlarini ochish", "action-open-daily-note": "Kunlik eslatmani ochish" }, "page-preview": { "name": "Sahifa oldindan ko‘rish", "desc": "Ichki havolaga kursorni olib borish orqali eslatmani oldindan ko‘rish. Tahrir qilish rejimida kursorni olib borish + Ctrl/Cmd.", "label-empty-attachment": "“{{linktext}}” topilmadi.", "label-empty-note": "\"{{linktext}}\" hali yaratilmagan. Yaratish uchun bosing.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Tahrirchi", "label-source-preview": "Oldindan ko‘rish", "label-source-search": "Qidiruv, Orqaga va Chiqish havolalari", "label-source-tab-header": "Tab header", "label-require-mod": "Kursorni olib borish orqali eslatmani oldindan ko‘rish uchun {{key}} tugmasini bosish kerak" }, "bookmarks": { "name": "Xatcho'plar", "desc": "Tez-tez foydalaniladigan fayllar va qidiruv so'rovlarini xatcho'plar ro'yxatiga qo'shing.", "action-show": "Xatcho'plarni ko'rsatish", "action-collapse-all": "Hammasini qisqartirish", "action-new-bookmark": "Joriy tabni xatcho'plarga qo'shish...", "action-new-group": "Yangi xatcho'plar guruhi", "action-bookmark": "Xatcho'plarga qo'shish...", "action-add-bookmark": "Xatcho'plarni qo'shish", "action-edit-bookmark": "Xatcho'plarni tahrirlash", "action-bookmark-block": "Kursordagi matn blokini xatcho'plarga qo'shish...", "action-bookmark-heading": "Kursordagi sarlavhani xatcho'plarga qo'shish...", "action-bookmark-search": "Joriy qidiruv so'rovini xatcho'plarga qo'shish...", "action-remove-bookmark": "Joriy faylni xatcho'plardan olib tashlash", "action-bookmark-tab-group": "{{count}} tabni xatcho'plarga qo'shish...", "action-bookmark-tab-group_plural": "{{count}} tablarni xatcho'plarga qo'shish...", "action-bookmark-all-tabs": "Hammasini xatcho'plarga qo'shish...", "action-bookmark-graph": "Ushbu grafikni xatcho'plarga qo'shish...", "label-bookmark": "Xatcho'plar", "label-bookmarked": "Xatcho'plarga qo'shildi", "label-bookmark-with-count": "{{count}} xatcho'plar", "label-bookmark-with-count_plural": "{{count}} xatcho'plar", "label-no-bookmarks": "Xatcho'plar topilmadi", "label-invalid-data": "Xatcho'plarni yuklab olish mumkin emas.", "label-invalid-data-desc": "Ma'lumotlar fayli buzilgan.", "label-untitled-group": "Nomsiz guruh", "label-untitled-graph": "Nomsiz grafik", "menu-opt-edit": "Tahrirlash...", "menu-opt-remove": "Olib tashlash", "menu-opt-rename": "Nomini o'zgartirish", "menu-opt-bookmark-block": "Ushbu blokni xatcho'plarga qo'shish...", "menu-opt-bookmark-heading": "Ushbu sarlavhani xatcho'plarga qo'shish...", "msg-no-search-query": "Xatcho'plarga qo'shish uchun qidiruv so'rovi yo'q.", "option-path": "Yo'l", "option-query": "So'rov", "option-u-r-l": "URL", "option-title": "Sarlavha", "option-group": "Xatcho'plar guruhi", "placeholder-bookmark-group": "Xatcho'plar" }, "custom-css": { "name": "Foydalanuvchi CSS", "desc": "\"obsidian.css\" faylini saqlashingizdan o'qib, uni qo'llaydi.", "setting-community-themes": "Jamoa mavzulari", "msg-fetching-themes": "Jamoa mavzulari ma'lumotlari yuklanmoqda...", "prompt-filter": "Filtr...", "label-dark-theme-only": "Faqat qorong'u", "label-light-theme-only": "Faqat yorqin", "label-use": "Qo'llash", "label-stop-use": "O'chirish", "label-install-and-use": "O'rnatish va qo'llash", "label-update": "Yangilash", "label-no-readme": "Ushbu mavzu tasvirlash faylini o'z ichiga olmaydi.", "tooltip-remove-theme": "Mavzuni olib tashlash", "label-visit-on-github": "GitHub'ga o'tish", "msg-load-error": "Jamoa mavzularini yuklash mumkin emas. Iltimos, internet ulanishini tekshiring.", "msg-now-using-theme": "{{title}} CSS-mavzusi qo'llanilmoqda.", "msg-deleted-theme": "{{title}} mavzusi o'chirildi.", "msg-updated-theme": "{{title}} mavzusi yangilandi.", "label-installed": "O'rnatilgan", "label-legacy": "Eski", "button-update-all-themes": "Hammasini yangilash", "msg-failed-load-themes": "Jamoa mavzularini yuklash mumkin emas.", "msg-no-updates-found": "Yangilanishlar topilmadi.", "msg-updates-found": "Mavzular uchun yangilanishlar topildi: {{count}}", "msg-updates-found_plural": "Mavzular uchun yangilanishlar topildi: {{count}}", "msg-failed-to-install-theme": "\"{{name}}\" mavzusini o'rnatish mumkin emas.", "msg-successfully-installed-theme": "\"{{name}}\" mavzusi o'rnatildi.", "msg-installing-theme": "\"{{name}}\" mavzusi o'rnatilmoqda...", "label-search-summary": "{{themeCount}} ko'rsatilmoqda", "label-update-available": "Yangilanish mavjud" }, "command-palette": { "name": "Buyruqlar palitrasi", "desc": "Ishga tushirmoqchi bo'lgan buyruqni kiriting. Obsidian funksiyalariga interfeys bilan o'zaro ta'sir qilmasdan va klaviatura qismlarini eslab qolmasdan murojaat qilish imkonini beradi.", "action-open": "Buyruqlar palitrasini ochish", "instruction-navigate": "naviqatsiya", "instruction-use": "foydalanish", "instruction-dismiss": "bekor qilish", "label-no-commands": "Buyruq topilmadi.", "prompt-type-command": "Buyruq nomini kiriting...", "label-pinned-commands": "Qo'shilgan buyruqlar", "option-add-new-pin": "Yangi buyruq qo'shish", "option-add-new-pin-description": "Qo'shilgan buyruqlar bo'sh qidiruv so'rovi bilan buyruqlar ro'yxatining yuqori qismida ko'rsatiladi." }, "markdown-format-importer": { "name": "Markdown-fayllarni import qilish", "desc": "Boshqa dasturlardan Markdown-fayllarni Obsidian formatiga konvertatsiya qiladi.", "action-open": "Markdown-fayllarni import qilish", "option-roam-tag-fixer": "Roam Research tag formatini tuzatish", "option-roam-tag-fixer-description": "\"#tag\" va \"#[[tag]]\" ni \"[[tag]]\" ga konvertatsiya qiladi.", "option-roam-highlight-fixer": "Roam Research matnni ajratish formatini tuzatish", "option-roam-highlight-fixer-description": "\"^^highlight^^\" ni \"==highlight==\" ga konvertatsiya qiladi.", "option-roam-todo-converter": "Roam Research checkboxlarini tuzatish", "option-roam-todo-converter-description": "\"{{[[TODO]]}}\" ni \"[ ]\" ga konvertatsiya qiladi.", "option-bear-highlight-fixer": "Bear matnni ajratish formatini tuzatish", "option-bear-highlight-fixer-description": "\"::highlight::\" ni \"==highlight==\" ga konvertatsiya qiladi.", "zettelkasten-link-fixer": "Zettelkasten eslatmalari havolalarini tuzatish", "zettelkasten-link-fixer-description": "\"[[UID]]\" havolalarini \"[[UID File Name]]\" ga konvertatsiya qiladi.", "zettelkasten-link-beautifier": "Zettelkasten eslatmalari havolalarini tuzatish va formatlash", "zettelkasten-link-beautifier-description": "\"[[UID]]\" havolalarini \"[[UID File Name|File Name]]\" formatiga keltiradi.", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Ogohlantirish: plagin barcha fayllarni saqlashingizda, faqat joriy ochilgan faylni emas.", "msg-override-files-warning": "Fayllaringiz qayta yoziladi. Konvertatsiya boshlashdan oldin barcha fayllarning zaxira nusxasini yarating.", "label-start-conversion": "Konvertatsiyani boshlash", "label-stop": "To'xtatish", "label-go-back": "Ortga", "label-done": "Yopish", "label-processing": "Qayta ishlash...", "label-cancelling": "Bekor qilish...", "label-finished": "Tugadi!", "label-processed-files": "Qayta ishlangan", "label-modified-files": "O'zgartirilgan", "label-total-replacements": "Jami o'zgartirishlar", "label-failed": "Failed" }, "daily-notes": { "name": "Kunlik eslatmalar", "desc": "Bugungi kunlik eslatmani ochadi yoki uni birinchi marta yaratadi.", "short-name": "Bugun", "action-open": "Bugungi eslatma", "action-open-previous": "Oldingi kunlik eslatmani ochish", "action-open-next": "Keyingi kunlik eslatmani ochish", "action-insert-text": "Kunlik eslatmaga matn qo'shish", "action-insert-link": "Kunlik eslatmaga havola qo'shish", "msg-fail-format": "Kunlik eslatmani yaratib bo'lmadi. \"{{format}}\" noto'g'ri format.", "msg-fail-folder": "Kunlik eslatmani yaratib bo'lmadi. \"{{folderOption}}\" papkasi topilmadi.", "msg-fail-template-file": "Kunlik eslatmani yaratib bo'lmadi. \"{{template}}\" shablon fayli topilmadi.", "msg-no-previous": "Oldingi kunlik eslatmalar mavjud emas.", "msg-no-next": "Keyingi kunlik eslatmalar mavjud emas.", "option-date-format": "Sana format", "label-refer-to-syntax": "Sintaksis haqida batafsil ma'lumot uchun ", "label-syntax-link": "havolaga", "label-syntax-live-preview": "Misol: ", "option-new-file-location": "Yangi fayl joylashuvi", "option-new-file-location-description": "Yangi kunlik eslatma yaratiladigan papkaning yo'li.", "option-template": "Shablon joylashuvi", "option-template-description": "Shablon sifatida ishlatiladigan faylning yo'li.", "option-open-on-start": "Bugungi eslatmani ochish", "option-open-on-start-description": "Saqlash ochilganda bugungi eslatmani avtomatik ravishda ochish." }, "unique-note-creator": { "name": "Noyob identifikator", "desc": "Zettelkasten va boshqa kartotekalarda bo'lgani kabi vaqt belgilari shaklida noyob identifikatorlarga ega eslatmalar yaratish.", "short-name": "Noyob ID", "action-create-note": "Noyob identifikatorli eslatma yaratish", "action-add-link": "Add unique internal link", "option-new-file-location": "Yangi fayl joylashuvi", "option-new-file-location-description": "Noyob identifikatorli yangi eslatma yaratiladigan papkaning yo'li.", "msg-folder-not-found": "Noyob identifikatorli eslatma yaratib bo'lmadi. \"{{folderOption}}\" papkasi topilmadi.", "option-template-file": "Shablon joylashuvi", "option-template-file-description": "Shablon sifatida ishlatiladigan faylning yo'li.", "option-template-file-placeholder": "Misol: papka/eslatma", "option-id-format": "Noyob identifikator formati", "msg-template-file-not-found": "Noyob identifikatorli eslatma yaratib bo'lmadi. \"{{template}}\" shablon fayli topilmadi.", "msg-failed-to-generate": "Noyob identifikatorli eslatma yaratib bo'lmadi. \"{{format}}\" noto'g'ri format." }, "random-note": { "name": "Tasodifiy eslatma", "desc": "Tasodifiy eslatmani ochadi. Qayta o'qish va kutilmagan topishlar uchun foydali bo'lishi mumkin.", "short-name": "Tasodifiy", "action-open": "Tasodifiy eslatmani ochish" }, "outline": { "name": "Tuzilma", "desc": "Hozirgi fayl yoki bog'langan tabning tuzilmasini ko'rsatadi.", "action-open": "Tuzilmani ochish", "action-show": "Tuzilmani ko'rsatish", "action-open-for-current": "Hozirgi faylning tuzilmasini ochish", "tab-title": "{{displayText}} tuzilmasi", "label-no-headings": "Boshliqlar topilmadi.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "So'zlar hisoblagichi", "desc": "Holat satrida so'zlar sonini ko'rsatadi." }, "slides": { "name": "Slaydlar", "desc": "Markdown’dan yoqimli kutilmagan sovg'a. Slaydlarni ajratish uchun \"---\" dan foydalaning.", "action-start": "Prezentatsiyani boshlash" }, "audio-recorder": { "name": "Diktofon", "desc": "Audio yozadi va uni ilova sifatida saqlaydi.", "action-start": "Audio yozishni boshlash", "action-stop": "Audio yozishni to'xtatish", "action-toggle": "Yozishni boshlash/to'xtatish", "msg-access-denied": "Mikrofonga kirish rad etildi. Iltimos, tizim sozlamalari panelidan kirishga ruxsat bering.", "msg-pending-grant": "Yozishni boshlash uchun mikrofonga kirish ruxsatini bering.", "msg-no-microphone": "Mikrofon topilmadi." }, "open-with-default-app": { "name": "Standart dasturda ochish", "desc": "Hozirgi faylni standart dasturda ochish imkoniyatini qo'shadi.", "action-open-file": "Standart dasturda ochish", "action-open-file-mobile": "Ulashish", "action-show-in-folder": "Papkada ko'rsatish", "action-show-in-folder-mac": "Finderda ko'rsatish" }, "templates": { "name": "Shablonlar", "desc": "Shablon fayllar papkasidan shablon tarkibini qo'shadi.", "action-insert": "Shablonni qo'shish", "action-insert-current-date": "Hozirgi sanani qo'shish", "action-insert-current-time": "Hozirgi vaqtni qo'shish", "option-template-folder-location": "Shablonlar papkasining yo'li", "option-template-folder-location-description": "Ushbu papkadan fayllar shablon sifatida mavjud bo'ladi.", "option-template-date-format": "Sana formati", "option-template-date-format-description": "{{date}} shablon faylida ushbu qiymat bilan almashtiriladi.", "option-template-date-format-description2": "Shablonda formatni to'g'ridan-to'g'ri belgilash uchun {{date:YYYY-MM-DD}} konstruktsiyasidan foydalaning.", "option-template-time-format": "Vaqt formati", "option-template-time-format-description": "{{time}} shablon faylida ushbu qiymat bilan almashtiriladi.", "option-template-time-format-description2": "Shablonda formatni to'g'ridan-to'g'ri belgilash uchun {{time:HH:mm}} konstruktsiyasidan foydalaning.", "instruction-navigate": "naviatsiya", "instruction-insert": "shablonni qo'shish", "instruction-dismiss": "bekor qilish", "msg-no-templates-found": "Shablonlar topilmadi", "msg-fail-invalid-folder": "Shablonlarni ko'rsatish mumkin emas. Noto'g'ri shablonlar papkasi nomi.", "msg-fail-folder-not-found": "Shablonlarni ko'rsatish mumkin emas. \"{{folderOption}}\" papkasi topilmadi.", "msg-fail-invalid-template-properties": "Shablonni qo'shish mumkin emas, shablon faylida xususiyatlarni o'qish mumkin emas.", "msg-no-folder-set": "Shablonlarni ko'rsatish mumkin emas. Shablonlar papkasi sozlanmagan.", "prompt-type-template": "Shablon nomini kiriting..." }, "translucency": { "name": "Shaffof oynalar", "desc": "Interfeysga chuqurlik hissini qo'shadi, ayniqsa qorong'u rejimda. Linuxda ishlamaydi." }, "slash-command": { "name": "Slesh-komandalar", "desc": "Sleshni yozishda tahrirlovchida komandalarni tanlashni yoqadi." }, "editor-status": { "name": "Tahrirlovchi holati", "desc": "Holat satriga tahrirlovchining joriy rejimini ko'rsatuvchi elementni qo'shadi.", "read": "Ko'rish", "edit-source": "Manba kodini ko'rish", "edit-live-preview": "Jonli oldindan ko'rish" }, "publish": { "name": "Nashr qilish", "desc": "Obsidian Publish yordamida notalaringizni nashr qiling.", "action-publish-changes": "O'zgarishlarni nashr qilish", "action-publish-file": "Joriy faylni nashr qilish", "label-no-internet-access": "O'zgarishlarni nashr qilish uchun internetga ulanish talab qilinadi", "label-publish-service-description": "Obsidian Publish – bu Obsidian’dan to'g'ridan-to'g'ri internetda nashr qilish uchun qo'shimcha pullik xizmat.", "label-please-login": "Nashr qilishni boshlashdan oldin Obsidian hisobingizga kiring yoki yangi hisob yarating.", "label-no-publish-subscription": "Siz Obsidian Publish xizmatiga obuna emassiz.", "button-purchase": "Sotib olish", "label-manage-sites": "Saytlarni boshqarish", "label-no-sites": "Sizda hech qanday sayt yo'q.", "button-choose": "Tanlash", "tooltip-edit-site-id": "Sayt ID’sini tahrirlash", "tooltip-delete-site": "Saytni o'chirish", "label-delete-site-confirmation": "Siz ushbu saytni o'chirmoqchimisiz?", "label-delete-site-details": "Sayt darhol va doimiy ravishda o'chiriladi.", "label-confirm-delete-site": "\"{{site}}\" saytni o'chirishni tasdiqlang", "option-site-id": "Sayt ID", "option-site-id-description": "Sayt https://publish.obsidian.md/{site id} manzilida mavjud bo'ladi. Uni keyinroq o'zgartirishingiz mumkin. Faqat kichik harflar, raqamlar va chiziqlar ruxsat etiladi.", "option-site-id-placeholder": "Sayt ID’sini tanlang", "button-create": "Yaratish", "msg-invalid-site-id": "Sayt ID’sida faqat kichik harflar, raqamlar va chiziqlar ruxsat etiladi.", "msg-site-id-in-use": "Bunday sayt ID’si allaqachon band, boshqa ID tanlang.", "msg-create-site-issue": "Sayt yaratishda xatolik yuz berdi.", "label-site-options": "Sayt sozlamalari", "option-site-general": "Umumiy", "option-site-components": "Komponentlar", "option-site-appearance": "Tashqi ko'rinish", "option-site-reading-experience": "O'qish tajribasi", "option-site-misc": "Boshqa sayt sozlamalari", "option-site-name": "Nom", "option-site-name-description": "Nashr qilinayotgan saytning nomi. Bu sahifalar sarlavhalarida ko'rsatiladi.", "option-site-name-placeholder": "Sayt nomi", "option-home-page-file": "Bosh sahifa", "option-home-page-file-description": "Nashr qilingan saytning tashrif buyuruvchisi ko'radigan birinchi sahifa.", "option-home-page-file-placeholder": "Nashr qilingan faylni tanlang", "option-logo": "Logo", "option-logo-description": "Logo sifatida tasvirni tanlang.", "option-logo-placeholder": "Har qanday yuklangan tasvir...", "option-site-collaboration": "Hamkorlik", "option-site-collaboration-desc": "Ushbu sayt uchun ishtirokchilarni boshqarish.", "option-customize-navigation": "Navigatsiyani sozlash", "option-customize-navigation-desc": "Navigatsiya elementlarining tartibini qayta belgilash va sahifalar yoki papkalarni yashirish.", "option-navigation-order": "Navigatsiya elementlarining ko'rsatilish tartibi", "option-hide-items-in-navigation": "Navigatsiyada sahifalar yoki papkalarni yashirish", "option-hide-items-in-navigation-desc": "Ko'rsatishni oldini olish uchun o'ng tugmani bosing va \"Yashirish\" ni tanlang. Sahifalar havolalar yoki URL manzillari orqali hali ham mavjud bo'ladi.", "option-show-hidden-items": "Yashirinlarni ko'rsatish", "button-customize-sidebar": "Boshqarish", "label-navigation-modal-title": "Navigatsiya", "label-navigation-modal-desc": "Navigatsiya elementlarini tortib oling va tartibga soling, ularning sayt Publish’dagi ko'rsatilish tartibini belgilash uchun.", "option-hide-in-navigation": "Navigatsiyada yashirish", "button-manage-collaborators": "Sozlash", "option-theme": "Mavzu", "option-theme-description": "Sayt uchun rangli mavzuni tanlang.", "option-theme-system": "Tizim mavzusiga moslashish", "option-show-theme-toggle": "Yorqin/Quyuq mavzularni almashtirish tugmasi", "option-show-theme-toggle-description": "Tashrif buyuruvchiga yorqin va quyuq mavzularni o'zaro almashtirish imkoniyatini berish.", "option-show-navigation": "Navigatsiyani ko'rsatish", "option-show-navigation-description": "Chap tomonida barcha nashr qilingan sahifalar ro'yxatini ko'rsatish.", "option-show-search": "Qidiruv satrini ko'rsatish", "option-show-search-description": "Navigatsiya ustida qidiruv satrini ko'rsatish, tashrif buyuruvchilar sizning saytingizdagi tarkib va sarlavhalarni qidirishlari mumkin.", "option-show-graph": "Grafni ko'rsatish", "option-show-graph-description": "Har bir sahifada kichik grafik ko'rsatish.", "option-show-outline": "Tuzilmani ko'rsatish", "option-show-outline-description": "Har bir sahifada sarlavhalar tuzilmasini ko'rsatish.", "option-show-backlinks": "Orqaga havolalarni ko'rsatish", "option-show-backlinks-description": "Har bir sahifaning oxirida orqaga havolalar bo'limini ko'rsatish.", "option-sliding-window-mode": "Sirpanadigan oynalar rejimi", "option-sliding-window-mode-description": "Sahifalarni o'ng tarafdagi yangi sohalarda ochish. Gorizontal tarzda sohalarda harakatlanishni imkoniyatini beradi.", "option-hover-preview-file": "Ko'rsatma oldindan ko'rish", "option-hover-preview-file-description": "Havola ustiga olib borilganida oldindan ko'rishni ko'rsatish.", "option-hide-title": "Sahifa sarlavhasini yashirish", "option-hide-title-description": "Sahifa nomining sarlavhasini yashirish. Har bir sahifaning boshida o'z sarlavhalari bo'lsa foydalidir.", "option-readable-line-length": "Qatorning maksimal uzunligini cheklash", "option-readable-line-length-description": "Uzoq paragraflarni o'qishni osonlashtiradi, ammo ekraningizda ko'proq ma'lumot olishni kamaytiradi.", "option-site-password": "Parollar", "option-site-password-description": "Saytga kirishni parollar bilan cheklash.", "option-google-analytics": "Google Analytics kuzatuv kodi", "option-google-analytics-description": "Sayt uchun Google Analytics ni sozlash. Faqat shaxsiy domen URL'ingizdan tashrif buyuruvchilar uchun mavjud. Mahalliy qonunlar va regulyator talablarini tekshirib chiqing.", "button-manage-passwords": "Sozlash", "button-save-site-settings": "Sozlamalarni saqlash", "msg-updated-options": "Sayt sozlamalari saqlandi.", "button-go-back": "Ortga", "label-publishing-to": "Nashr qilish", "tooltip-switch-site": "Boshqa saytni tanlang", "button-add-linked": "Bog'langanlarni qo'shish", "tooltip-add-linked": "Tanlangan ob'ektlar bilan bog'liq barcha fayllarni qo'shish", "msg-added-linked-files": "Bog'langan fayllar qo'shildi: {{count}}.", "msg-added-linked-files_plural": "Bog'langan fayllar qo'shildi: {{count}}.", "tooltip-open-site-options": "Sayt sozlamalari", "label-no-changes-detected": "O'zgarishlar aniqlanmadi.", "label-changed-files-to-be-published": "O'zgargan", "label-unchanged-files-already-published": "O'zgarmagan (o'chirish uchun tanlang)", "label-file-selected": " tanlandi", "button-select-all-files": "Hammasini tanlash", "label-custom-navigation-title": "Navigatsiya elementlari", "button-deselect-all-files": "Tanlovni bekor qilish", "label-new-files-to-be-published": "Yangi", "button-publish": "Nashr qilish", "msg-no-permission-to-publish-to-site": "Tanlangan saytda nashr qilish uchun ruxsat yo'q.", "msg-select-at-least-one-file": "Iltimos, biror faylni tanlang.", "label-upload-changes": "O'zgarishlarni yuklash", "button-done": "Tugadi", "button-stop": "To'xtatish", "label-status-uploading": "Yuklanmoqda", "label-status-to-publish": "Nashr qilish uchun", "label-status-to-delete": "O'chirish uchun", "label-status-published": "Nashr etildi", "label-status-deleted": "O'chirildi", "label-status-failed": "Muvaffaqiyatsiz", "label-status-cancelled": "Bekor qilindi", "button-change": "O'zgartirish", "label-clear-cache": "O'zgarishlar saytga bir necha daqiqada ko'rsatiladi. O'zgarishlarni ko'rmasangiz, brauzer keshini tozalashni sinab ko'ring.", "label-visit-site": "Saytingiz quyidagi manzilda mavjud ", "msg-something-went-wrong": "Nimadir xato ketdi. Dasturchilar konsolida batafsil ma'lumotlar mavjud.", "msg-network-error": "Tarmoq xatosi yuz berdi.", "label-manage-passwords": "Parollarni boshqarish", "label-add-password": "Parol qo'shish", "action-new-password": "Yangi parol", "label-no-password": "Saytingiz parol bilan himoyalanmagan va hammaga ko'rinadi.", "label-have-password": "Saytingiz parol bilan himoyalangan. Agar siz bir nechta parol o'rnatgan bo'lsangiz, tashrif buyuruvchilar saytga har qanday parol bilan kirishlari mumkin.", "option-password-name": "Parol", "option-password-desc": "Parol hash shaklida saqlanadi va oddiy matn sifatida saqlanmaydi.", "option-password-placeholder": "Sizning parolingiz", "option-nickname-name": "Niqob (ixtiyoriy)", "option-nickname-desc": "Bu parolni qaysi maqsad uchun yoki kim uchun o'rnatganingizni eslab qolish uchun niqob qo'shing.", "action-add-password": "Saqlash", "label-untitled-password": "Nomlanmagan parol", "label-password-created-time": "Yaratilgan {{time}}", "msg-added-new-password": "Yangi parol saqlandi.", "option-custom-domain": "Shaxsiy domen", "option-custom-domain-desc": "O'z domeningizni https://publish.obsidian.md/{site id} o'rniga ishlating.", "option-noindex": "Qidiruv tizimlariga indekslashni taqiqlash", "option-noindex-desc": "Saytning qidiruv tizimlari tomonidan indekslanishini oldini olish.", "button-configure": "Sozlash", "label-configure-custom-domain": "Shaxsiy domen sozlamalari", "option-custom-url-name": "Shaxsiy URL", "option-custom-url-desc": "Saytingiz mavjud bo'lgan URL.", "option-custom-url-placeholder": "www.sizningdomeningiz.com", "option-custom-url-redirect": "Shaxsiy domeningizga yo'naltirish", "option-custom-url-redirect-desc": "Tashrif buyuruvchilarni publish.obsidian.md/id manzilidan shaxsiy domeningizga yo'naltiring.", "button-update-custom-domain": "Saqlash", "label-custom-domain-instructions": "Shaxsiy domen sozlamalari bo'yicha qo'shimcha ma'lumotni {{link}} da topishingiz mumkin.", "label-custom-domain-link-name": "Obsidian hujjatlari", "label-site-usage": "Siz {{site}} dan {{limit}} foydalanmoqdasiz.", "button-add-more-sites": "Yana bir sayt sotib olish", "label-no-sites-bought": "Siz birorta sayt sotib olmadingiz.", "button-get-site": "Sotib olish", "label-manage-sharing": "\"{{name}}\" uchun kirishni sozlash", "label-sharing-with-users": "Hozirda bu saytdan foydalanishga quyidagi odamlarga ruxsat berilgan.", "label-not-sharing": "Hozirda bu saytga hech kimga umumiy kirish berilmagan.", "label-invite-pending": "Taklif kutilyapti", "tooltip-remove-user": "Foydalanuvchini o'chirish", "option-invite-user": "Foydalanuvchini taklif qilish", "placeholder-invite-user": "Taklif yuborish uchun elektron pochta manzilini kiriting...", "error-email-must-be-valid": "Kimnidir taklif qilish uchun haqiqiy elektron pochta manzilini kiriting.", "msg-enable-publish-plugin": "Saytlarni ko'rish uchun Ixtiyoriy plaginlar bo'limida Nashr qilish plaginini yoqing.", "label-your-sites": "Sizning saytlaringiz", "label-sites-shared-with-you": "Siz bilan umumiy foydalanishdagi saytlar", "tooltip-leave-site-sharing": "Bu saytni umumiy foydalanishdan chiqish", "label-leave-site-confirmation": "Saytni umumiy foydalanishdan chiqishni tasdiqlang", "label-leave-site-confirmation-details": "Bu saytni sizga umumiy foydalanish ro'yxatidan o'chiradi. Ushbu harakatni bekor qilish mumkin emas.", "label-leave-site-confirmation-details-2": "Agar siz qayta kirishni xohlasangiz, sayt egasi bilan bog'laning.", "button-leave": "Chiqish", "label-compare-with-live": "Jamoat versiyasi bilan taqqoslash", "button-use-live-version": "Jamoat versiyasidan foydalanish", "label-confirm-override": "Mahalliy versiyani o'zgartirishni tasdiqlang", "label-confirm-override-1": "Mahalliy versiyani o'zgartirmoqchimisiz?", "label-confirm-override-2": "Jamoat versiyasi ishlatiladi va sizning mahalliy versiyangiz o'chiriladi. Zarur bo'lsa, zaxira nusxalarini yarating.", "button-proceed": "Davom etish", "message-successfully-used-live-version": "Jamoat versiyasi sizning mahalliy versiyangizni o'zgartirish uchun ishlatildi.", "label-open-in-live-site": "Open in live site", "label-open-file": "Faylni ochish", "tooltip-manage-publish-filters": "Nashr qilish filtrlari sozlamalari", "option-included-folders": "Kiritilgan papkalar", "option-included-folders-desc": "Ushbu papkalardagi fayllar nashr qilishdan oldin o'zgarishlarni ko'rib chiqishda avtomatik ravishda tanlanadi.", "option-currently-included-folders": "Hozirda kiritilgan papkalar:", "option-excluded-folders": "Ishlatilmagan papkalar", "option-excluded-folders-desc": "Ushbu papkalardagi fayllar nashr qilishdan oldin o'zgarishlarni ko'rib chiqishda ko'rsatilmaydi. Ushbu sozlama kiritilgan papkalarga ustunlik qiladi.", "label-number-of-folders-included": "Obsidian Publish {{folders}} papkalarni o'z ichiga oladi.", "label-number-of-folders-excluded": "Obsidian Publish {{folders}} papkalarni chiqarib tashlaydi.", "label-manage-included-folders": "Kiritilgan papkalarni sozlash", "label-manage-excluded-folders": "Ishlatilmagan papkalarni sozlash", "label-add-included-folder": "Papkani qo'shish", "label-add-included-folder-desc": "Siz mavjud papkalarni yoki hali yaratilmagan papkalarni qo'shishingiz mumkin.", "tooltip-contact-support": "Qo'llab-quvvatlash bilan bog'lanish", "label-navigation-preview": "Navigatsiya oldindan ko'rish" }, "workspaces": { "name": "Ish maydoni", "desc": "O'z ish maydonining variantlarini saqlang va yuklang.", "action-load-layout": "Maydonni yuklash", "action-manage-layouts": "Joylar", "action-save": "Maydonni saqlash", "action-save-and-load-layout": "Saqlash va boshqa maydonni yuklash", "placeholder-save-current-layout-as": "Maydonni saqlash sifatida...", "button-save": "Saqlash", "button-load": "Yuklash", "tooltip-delete-layout": "Maydonni o'chirish", "msg-enter-name": "Yangi maydon uchun nom kiriting.", "msg-save-layout-success": "Maydon saqlandi.", "label-no-layout-found": "Saqlangan maydonlar yo'q.", "label-workspace-modified-time": "O'zgartirilgan {{time}}", "placeholder-type-to-search-layouts": "Maydon nomini kiriting..." }, "sync": { "name": "Sinxronizatsiya", "desc": "Obsidian Sync orqali fayllarni sinxronlashtiring.", "action-view-version-history": "Versiyalar tarixini ko'rsatish", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Versiya tarixini ochish", "action-view-sync-sidebar": "Sinxronizatsiya tarixini ko'rsatish", "action-activity-log": "Faoliyat jurnalini ochish", "label-load-more": "Yana yuklash", "label-show-diff": "Farqlarni ko'rsatish", "label-copy-to-clipboard": "Clipboard'ga nusxalash", "label-restore-this-version": "Ushbu versiyani tiklash", "msg-already-latest-version": "Hozirgi versiya eng so'nggi versiya.", "msg-restored-version": "{{time}} tarixli versiya tiklandi", "label-file-deleted": "Ushbu fayl o'chirilgan", "label-file-deleted-via": "{{device}} orqali o'chirilgan", "label-file-renamed-from": "Ushbu fayl \"{{filepath}}\" dan nomi o'zgartirilgan", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 versiya", "label-revision_plural": "{{revisions}} versiya", "label-via-device": "through {{device}}", "label-no-history": "Ushbu fayl uchun sinxronizatsiya tarixi mavjud emas.", "label-empty-file": "Bo'sh", "label-unable-to-retrieve": "Versiya tarixini olishda xato yuz berdi", "label-setting-files": "Sozlamalar fayllari", "label-deleted-files": "O'chirilgan fayllar", "label-version-history": "Versiyalar tarixi", "label-click-to-see-history": "O'chirilgan faylni bosib, uning tarixini ko'ring.", "label-create-remote-vault": "Yangi saqlash joyi yaratish", "msg-please-enter-password": "Iltimos, parolni kiriting.", "msg-vault-name-cannot-be-empty": "Saqlash joyining nomi bo'sh bo'lishi mumkin emas.", "msg-successfully-created-vault": "\"{{name}}\" saqlash joyi yaratildi.", "label-remote-vault-explanation": "Obsidian Sync saqlash joylari sizning ma'lumotlaringizni qurilmalar orasida xavfsiz sinxronlashtiradi.", "option-vault-name": "Nomi", "option-vault-name-desc": "Saqlash joyining maqsadini eslab qolishga yordam beradi.", "option-vault-region": "Mintaqa", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Tashqi saqlash joyini joylashtirish uchun sizga eng yaqin server joyini tanlang. Bu kelajakda o'zgartirilishi mumkin emas.", "option-vault-name-placeholder": "Mening saqlash joyim", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Shifrlash paroli", "option-encryption-password-desc": "Ushbu parol o'zgartiriladi.", "option-encryption-password-desc-warning": "Agar parolni unutib qo'ysangiz, sinxronlashtirilgan ma'lumotlarga kirish imkoniyati yo'qoladi.", "option-encryption-password-desc-2": "Ushbu sozlama sizning mahalliy ma'lumotlaringizga ta'sir qilmaydi.", "label-encryption-password-explanation": "Masofaviy saqlash joyi “{{name}}” hozirda shifrlangan. Uni ochish uchun parolingizni kiriting.", "option-encryption-password-placeholder": "Sizning parolingiz", "label-unlock-encrypted-vault": "Masofaviy saqlash joyini oching", "button-unlock-vault": "O'chish", "label-remote-vaults": "Obsidian Sync saqlash joylari", "label-vault-created-time": "{{time}} da yaratildi", "tooltip-delete-remote-vault": "O'chirish", "tooltip-rename-remote-vault": "Nomi o'zgartirish", "label-rename-remote-vault": "\"{{name}}\" masofaviy saqlash joyining nomini o'zgartirish", "label-rename-remote-vault-desc": "Ushbu masofaviy saqlash joyi uchun yangi nom kiriting.", "tooltip-manage-sharing": "Ulashishni sozlash", "label-confirm-delete-remote-vault": "Saqlash joyini o'chirishni tasdiqlang", "label-confirm-delete-remote-vault-question": "Obsidian Sync'dan ushbu saqlash joyini o'chirishni xohlaysizmi?", "label-confirm-delete-remote-vault-result": "Bizning serverimizdagi barcha ma'lumotlar, shu jumladan versiyalar tarixi o'chiriladi. Sizning mahalliy fayllaringiz o'zgarmaydi.", "label-confirm-delete-remote-vault-warning": "Bu amalni bekor qilib bo'lmaydi.", "msg-remote-vault-deleted": "\"{{name}}\" saqlash joyi Obsidian Sync'dan o'chirildi.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: Ulanilgan masofaviy saqlash joyi endi mavjud emas.", "button-connect-to-remote-vault": "Ulanish", "button-disconnect-from-remote-vault": "Ulanishni uzish", "label-sync-status": "Sinxronizatsiya: {{status}}", "label-not-remote-vaults": "Sizda sinxronlashtirilgan saqlash joylari yo'q.", "label-no-subscription": "Obsidian Sync uchun faol obunangiz yo'q.", "label-please-visit": "Iltimos, tashrif buyuring", "label-preview-unsupported-file-type": "{{type}} turidagi fayllarni oldindan ko'rish mumkin emas.", "button-create-new-remote-vault": "Yangi saqlash joyi", "label-sync-log": "Sinxronizatsiya tarixi", "option-event-type-all": "Hammasi", "option-event-type-errors": "Xatolar", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Birlashtirish nizolari", "button-copy-sync-log": "Nusxalash", "msg-successfully-copied-sync-log": "Sinxronizatsiya tarixi nusxalandi.", "button-retry": "Qayta urinish", "button-purchase-subscription": "Obuna olish", "label-third-party-sync-warning": "Nizo tug'diruvchi uchinchi tomon manzil", "label-third-party-sync-warning-desc": "E'tibor: Xazinangiz {{service}} tomonidan uchinchi tomon manzilini ishlatadi deb ko'rinishda. Agar siz Obsidian Sync'ni ushbu xazina bilan ishlatsangiz, siz nizolar, fayllarning buzilishi yoki ma'lumotlarni yo'qotish bilan uchrashishingiz mumkin.", "label-icloud-drive-warning": "Agar siz iCloud Drive'ni ishlatsangiz, Dokumentlar va Ish stolingiz papkalar iCloud bilan sinxronizatsiya qilinadi. Bu Obsidian Sync bilan nizolarga olib kelishi mumkin.", "option-remote-vault": "Tashqaridan xazina", "button-choose-remote-vault": "Tanlash", "button-manage-remote-vault": "Boshqarish", "option-remote-vault-desc-connected": "\"{{name}}\" tashqaridan xazina bilan bog'lanish o'rnatildi.", "option-remote-vault-desc-not-connected": "Hech qanday tashqaridan xazina bilan bog'lanish yo'q.", "option-sync-status": "Sinxronizatsiya holati", "option-sync-status-desc-paused": "Sinxronizatsiya to'xtatilgan.", "option-sync-status-desc-running": "Sinxronizatsiya ishlamoqda.", "option-device-name": "Uskuna nomi", "option-device-name-desc": "Bu nom sinxronizatsiya jurnalida ko'rsatiladi. Ma'qul yoki umumiy nomni ishlatish uchun bo'sh qoldiring.", "button-resume": "Yana davom ettirish", "button-pause": "To'xtatish", "option-view-deleted-files": "O'chirilgan fayllar", "option-view-deleted-files-desc": "O'chirilgan fayllarni ko'rish va tiklash.", "option-sync-log": "Tarix", "option-sync-log-desc": "Sinxronizatsiya tarixini ko'rish.", "button-view": "Ochish", "button-bulk-restore": "Ko'p tiklash", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Tiklash...", "msg-restoring-complete": "`Tiklash tugadi: {{succeeded}} muvaffaqiyatli va {{failed}} muvaffaqiyatsiz.`", "option-vault-size": "Xazina hajmi", "option-vault-size-desc": "Siz {{size}} foydalanmoqdasiz, mavjud {{limit}}", "option-vault-size-unknown": "Xazina hajmini aniqlash mumkin emas.", "option-vault-size-loading": "Xazina hajmini aniqlash...", "option-over-size": "Xazina hajmi chegaradan oshdi", "option-almost-over-size": "Xazina hajmi chegaraga yaqin", "msg-largest-files": "Katta fayllar", "msg-largest-files-desc": "Bu eng katta joy egallagan fayllar. Qo'shimchalarni o'chirgandan so'ng, bog'langan xazinadan joyni bo'shatish uchun Tozalash tugmasini bosing.", "button-upgrade-storage": "Joyni oshirish", "button-purge-remote": "Tozalash", "button-hide-my-changes": "O'zgarishlarimni yashirish", "tooltip-purge-remote": "Bog'langan xazinadan o'chirilgan qo'shimchalarni qaytarib bo'lmaydigan tarzda o'chirib tashlash, joyni bo'shatish uchun.", "msg-purge-complete": "Tozalash bajarildi.", "option-prevent-sleep": "Uskunaning uxlab qolishini oldini olish", "option-prevent-sleep-desc": "Hali sinxronizatsiya qilinishi kerak bo'lgan fayllar borligini aniqlashda, uskunaning uxlab qolishining oldini olish.", "option-selective-sync": "Tanlangan sinxronizatsiya", "option-excluded-folders": "Istisnolar", "option-excluded-folder-desc": "Sinxronizatsiya qilinmaydigan papkalarni tanlang.", "option-currently-excluded-folders": " Joriy istisnolar ro'yxati:", "button-manage-excluded-folders": "Boshqarish", "option-sync-image": "Rasmni sinxronizatsiya qilish", "option-sync-image-desc": "Qo'llab-quvvatlanadigan rasm kengaytmalari: {{extensions}}.", "option-sync-audio": "Audio", "option-sync-audio-desc": "Qo'llab-quvvatlanadigan audio kengaytmalari: {{extensions}}.", "option-sync-video": "Video", "option-sync-video-desc": "Qo'llab-quvvatlanadigan video kengaytmalari: {{extensions}}.", "option-sync-pdf": "PDF", "option-sync-pdf-desc": "PDF fayllarini sinxronizatsiya qilish.", "option-sync-unsupported": "Boshqa barcha fayl turlarini sinxronizatsiya qilish", "option-sync-unsupported-desc": "Qo'llab-quvvatlanmaydigan fayl turlarini sinxronizatsiya qilish.", "option-vault-config-sync": "Xazina sinxronizatsiyasini sozlash", "option-view-config-files": "Sozlamalar fayllari tarixi", "option-view-config-files-desc": "Sozlamalar fayllarini ko'rish va tiklash.", "option-sync-app": "Asosiy sozlamalar", "option-sync-app-desc": "Editor, Fayllar va havolalar, Klaviatura qisqartmalari va boshqalar bo'limlaridan sozlamalarni sinxronizatsiya qilishni yoqish.", "option-sync-appearance": "Tashqi ko'rinish sozlamalari", "option-sync-appearance-desc": "Tashqi ko'rinish sozlamalarini sinxronizatsiya qilish, masalan, tungi rejim, faol mavzu va yoqilgan CSS fragmentlari.", "option-sync-appearance-data": "Mavzular va CSS fragmentlari", "option-sync-appearance-data-desc": "Yuklangan mavzular va CSS fragmentlarini sinxronizatsiya qilish. Qaysilaridan foydalanish oldingi sozlamalarga bog'liq.", "option-sync-hotkey": "Klaviatura qisqartmalari", "option-sync-hotkey-desc": "Foydalanuvchi klaviatura qisqartmalarini sinxronizatsiya qilish.", "option-sync-core-plugin": "Joriy faol o'rnatilgan plaginlar ro'yxati", "option-sync-core-plugin-desc": "Faol bo'lgan o'rnatilgan plaginlarni sinxronizatsiya qilish.", "option-sync-core-plugin-data": "O'rnatilgan plaginlar sozlamalari", "option-sync-core-plugin-data-desc": "O'rnatilgan plaginlar sozlamalarini sinxronizatsiya qilish.", "option-sync-community-plugin": "Joriy faol uchinchi tomon plaginlari ro'yxati", "option-sync-community-plugin-desc": "Faol bo'lgan uchinchi tomon plaginlarini sinxronizatsiya qilish.", "option-sync-community-plugin-data": "O'rnatilgan uchinchi tomon plaginlari", "option-sync-community-plugin-data-desc": "O'rnatilgan uchinchi tomon plaginlarini (fayllar .js, .css va manifest.json) va ularning sozlamalarini sinxronizatsiya qilish.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync — xazinani sinxronizatsiya qilish uchun, oxirgi shifrlash va versiyalashni qo'llab-quvvatlovchi xizmat.", "label-account-required": "Sinxronizatsiya qilishni boshlash uchun kirishingiz yoki hisob ochishingiz kerak.", "label-current-file": "Joriy fayl", "label-sync-changes": "O'zgarishlarni sinxronizatsiya qilish", "label-today": "Bugun", "label-yesterday": "Kecha", "label-this-week": "Ushbu hafta", "label-older": "Eskiroq", "label-last-sync": "So'nggi sinxronizatsiya", "label-more": "{{count}} ko'proq", "button-sign-up": "Ro'yxatdan o'tish", "button-log-in": "Kirish", "label-manage-excluded-folders": "Istisnolarni boshqarish", "label-number-of-folders-excluded": "{{folders}} sinxronizatsiya qilinmaydi.", "label-add-excluded-folder": "Papka qo'shish", "label-add-excluded-folder-desc": "Siz mavjud bo'lgan papkalarni ham, hali yaratilmagan papkalarni ham istisno qilishingiz mumkin.", "tooltip-remove-excluded-folder": "Istisnolar ro'yxatidan olib tashlash", "label-setup-connection": "Ulanish sozlamalari", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "\"{{name}}\" xazinasi bilan bog'lanish o'rnatildi.", "button-start-syncing": "Sinxronizatsiyani boshlash", "label-confirm-merge-vault": "Xazinani birlashtirishni tasdiqlang", "msg-vault-has-notes": "Sizning lokal xazinangizda allaqachon ba'zi eslatmalar mavjud.", "msg-vault-merge-warning": "Agar siz \"{{name}}\" bulut xazinasi bilan ulanadigan bo'lsangiz, sizning lokal xazinangizdagi eslatmalar tashqi xazina eslatmalari bilan birlashtiriladi. Nizolar yuzaga kelsa, eng so'nggi eslatma versiyasi saqlanadi.", "tooltip-update-setting-on-all-devices": "Iltimos, ushbu parametrni yangilang va qurilmalarda dasturini qayta ishga tushiring, shunda o'zgarishlar kuchga kiradi.", "label-sharing-with-users": "Hozirda ushbu tashqaridan xazina bilan quyidagi odamlar bo'lishmoqda.", "label-not-sharing": "Hozirda ushbu tashqaridan xazina bilan hech kim bo'lishmayapti.", "label-vaults-shared-with-you": "Sizga umumiy kirish mavjud xazinlar", "tooltip-leave-vault-sharing": "Ushbu xazina bilan umumiy ishlashni to'xtatish", "label-leave-vault-confirmation": "Xazina bilan umumiy ishlashni to'xtatishni tasdiqlang", "label-leave-vault-confirmation-details": "Bu ushbu xazinani sizga umumiy kirish mavjud xazinlar ro'yxatidan olib tashlaydi. Ushbu harakatni bekor qilish mumkin emas.", "label-leave-vault-confirmation-details-2": "Agar siz ushbu xazinaga qaytadan kirishni xohlasangiz, xazina egasi bilan bog'laning.", "button-leave": "Tashlash", "msg-error-failed-to-fetch": "Uzoqdan xazinalarni yuklab olishda xato yuz berdi.", "label-require-subscription-to-connect": "Ushbu xazinaga ulanish uchun Obsidian Sync obunasi bo'lishi kerak.", "option-contact-support": "Qo'llab-quvvatlash bilan bog'lanish", "option-contact-support-desc": "Agar Obsidian Sync bilan bog'liq muammolaringiz bo'lsa, iltimos, biz bilan bog'laning, shunda biz sizga yordam bera olamiz! Siz biz bilan support@obsidian.md manziliga murojaat qilishingiz mumkin.", "button-copy-debug": "Xatoliklar ma'lumotlarini nusxalash", "button-email-support": "Xabar yuborish", "label-sync-disconnected": "Sinxronizatsiya tashqaridan xazinaga ulanishmagan.", "msg-remote-vault-limit-hit": "Obsidian Sync 5 ta uzoqdan xazinani yaratishga ruxsat beradi. Yangi xazina yaratish uchun mavjud xazinadan birini o'chiring.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "Fayllarni tiklash", "desc": "Tasodifiy ma'lumot yo'qolishidan keyin so'nggi fayl snayplarini tiklash imkonini beradi. Snayplar faqat Markdown-fayllar uchun yaratiladi.", "action-open": "Saqlangan snayplarni ochish", "option-interval": "Snayplarni yaratish intervallari", "option-interval-description": "Snayplarni yaratish orasidagi minimal interval minutlarda.", "option-keep": "Snayplarni saqlash tarixi", "option-keep-description": "Snayplarni saqlash davomiyligi kunlarda.", "option-open-history": "Snayplar", "option-open-history-description": "Snayplarni ko'rish va tiklash.", "button-view-history": "View", "option-clear": "Snayplar tarixini tozalash", "option-clear-description": "Barcha snayplarni o'chirish.", "button-clear-history": "Tarixni tozalash", "label-clear-warning": "Barcha snayplarni o'chirishni xohlaysizmi? E'tibor bering, faqat snayplar o'chiriladi. Sizning xazina fayllaringiz ta'sir qilinmaydi.", "msg-clear-complete": "Snayplar o'chirildi.", "label-no-history-found": "Snayplar topilmadi.", "placeholder-choose-file": "Faylni tanlang...", "label-select-file": "Iltimos, chapdagi snayp faylini tanlang va uning tarkibini ko'ring." }, "note-composer": { "name": "Eslatma kompozitori", "desc": "Eslatmalarni birlashtiradi, chiqaradi yoki o'zgartiradi.", "option-confirm-file-merge": "Fayllarni birlashtirishni tasdiqlash", "option-confirm-file-merge-description": "Fayllarni birlashtirish uchun tasdiqlash oynasini ko'rsatadi.", "option-split-replacement-text": "Chiqishdan keyingi matn", "option-split-replacement-text-description": "Ajratilgan matn o'chirilgandan so'ng nima qoldirilishi kerak.", "option-choice-split-replacement-text-link": "Yangi faylga havola", "option-choice-split-replacement-text-embed": "Yangi faylni qo'shish", "option-choice-split-replacement-text-none": "Hech narsa qoldirmang", "option-template-file": "Shablon joylashuvi", "option-template-file-description": "Birlashtirish yoki chiqarishda ishlatiladigan shablon. Mavjud o'zgaruvchilar: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}. Masalan, {{date:YYYY-MM-DD}}.", "command-merge-file": "Joriy faylni boshqa fayl bilan birlashtirish...", "action-merge-file": "Barcha faylni birlashtirish...", "label-no-files": "Fayllar topilmadi.", "instruction-navigate": "naviatsiya", "instruction-merge": "birlashtirish", "instruction-create-new": "yangi yaratish", "instruction-merge-at-top": "yuqoriga joylashtirish", "instruction-dismiss": "bekor qilish", "prompt-select-file-to-merge": "Birlashtirish uchun faylni tanlang...", "label-merge-file": "Faylni birlashtirish", "label-confirm-file-merge": "Siz \"{{file}}\" faylini \"{{destination}}\" bilan birlashtirishni xohlaysizmi? \"{{file}}\" fayli o'chiriladi.", "button-merge": "Birlashtirish", "command-split-file": "Joriy tanlovni chiqarish...", "command-extract-heading": "Ushbu sarlavhani chiqarish...", "instruction-append": "oxiriga qo'shish", "instruction-prepend": "yuqoriga qo'shish", "msg-fail-to-fetch-template": "Shablonni chaqirish muvaffaqiyatli bo'lmadi: \"{{template}}\" topilmadi.", "msg-fail-to-find-heading": "Sarlavhani topish muvaffaqiyatli bo'lmadi." }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Kanvas", "desc": "Cheksiz kanvasda eslatmalarni tartibga soling va ularga birlashtiring.", "action-add-note": "Saqlashdan eslatma qo'shish", "action-add-media": "Saqlashdan media fayl qo'shish", "action-add-card": "Kartani qo'shish", "action-add-website": "Veb-sahifa qo'shish", "action-create-group": "Guruq yaratish", "action-create-with-size": "Muayyan o'lchamdagi kartani yaratish", "action-convert-to-file": "Eslatma faylga aylantirish...", "action-drag-to-add-note": "Eslatmani saqlashdan qo'shish uchun torting", "action-drag-to-add-media": "Media faylni saqlashdan qo'shish uchun torting", "action-drag-to-add-card": "Kartani qo'shish uchun torting", "action-edit-label": "Yozuvni tahrirlash", "action-remove-label": "Yozuvni olib tashlash", "action-search-file": "Faylni qidirish", "action-set-color": "Rangni belgilash", "action-align": "Qatorlash", "action-align-left": "Chapga qatorlash", "action-align-center": "Markazga qatorlash", "action-align-right": "O'ngga qatorlash", "action-align-top": "Yuqqa qatorlash", "action-align-middle": "O'rtaga qatorlash", "action-align-bottom": "Pastga qatorlash", "action-distribute-horizontal-spacing": "Gorizontal oraliqlarni qatorlash", "action-distribute-vertical-spacing": "Vertikal oraliqlarni qatorlash", "action-justify-horizontally": "Gorizontal qatorlash", "action-justify-vertically": "Vertikal qatorlash", "action-arrange-horizontally": "Gorizontal ravishda tartiblash", "action-arrange-vertically": "Vertikal ravishda tartiblash", "action-arrange-grid": "Tarmoq bo'yicha tartiblash", "action-export-png": "PNG sifatida eksport qilish", "action-jump-to-group": "Guruqqa o'tish", "action-set-background": "Fonni o'rnatish", "action-edit-background": "Fonni tahrirlash", "action-replace-background": "Fonni almashtirish", "action-remove-background": "Fonni olib tashlash", "label-no-images": "Rasmlar topilmadi.", "label-no-media": "No media found.", "label-export-png-desc": "\"{{title}}\" ni PNG faylga eksport qilish uchun quyidagi parametrlar:", "label-export-png-dimensions": "Rasmning hisoblangan o'lchamlari: {{dimensions}}", "label-distribute": "Qatorlash", "label-justify": "Qatorlash", "label-arrange": "Tartiblash", "label-always": "Har doim", "label-hover": "O'ngchalik", "label-never": "Hech qachon", "label-no-section-found": "Bo'lim topilmadi", "option-wheel-behavior": "Mouse g'ildiragining standart xatti-harakatlari", "option-mod-drag-behavior": "{{key}} ning standart xatti-harakatlari", "option-show-menu": "Menuni ko'rsatish", "option-new-canvas-location": "Standart kanvas fayllari uchun joy", "option-new-canvas-location-description": "Yangi kanvas fayllari qayerga qo'shiladi.", "option-new-canvas-folder-path": "Kanvas fayllari uchun papka yo'li", "option-new-canvas-folder-path-description": "Yangi kanvas fayllari ushbu papkada saqlanadi.", "option-node-label": "Kartaga yozuvni ko'rsatish", "option-snap-to-grid": "Tarmoqka yopishish", "option-snap-to-grid-desc": "Kartalarni fon tarmog'iga bog'lashni amalga oshiradi.", "option-snap-to-objects": "Ob'ektlarga yopishish", "option-snap-to-objects-desc": "Kartalarni yaqin ob'ektlarga bog'lashni amalga oshiradi.", "option-zoom-breakpoint": "Karta tarkibini yashirish uchun zoom chegarasi", "option-zoom-breakpoint-desc": "Pastroq qiymatlar ishlashni oshiradi, ammo zoomni kamaytirish paytida karta tarkibi tezroq yashiriladi.", "option-export-png-show-logo": "Logo ko'rsatish", "option-export-png-show-logo-desc": "Obsidian logotipini chap pastki burchakka qo'shadi.", "option-export-png-privacy-mode": "Maxfiylik rejimi", "option-export-png-privacy-mode-desc": "Kanvasingizdagi matnni yashiradi.", "option-export-png-zoom": "Zoom", "option-export-png-zoom-desc": "Katta zoom bilan yuqori aniqlikdagi rasm yaratiladi.", "option-export-png-frame": "Ko'rish maydoni", "option-export-png-frame-desc": "Kanvasning butun qismini yoki faqat ko'rish maydonini chiqarishni tanlang.", "option-export-png-frame-full": "Butun kanvas", "option-export-png-frame-viewport": "Ko'rish maydoni", "option-background-cover": "Tortish", "option-background-ratio": "Nisbati saqlansin", "option-background-repeat": "Takrorlash", "action-new-canvas": "Yangi kanvas", "action-remove": "Olib tashlash", "action-narrow-heading": "Sarlavhani tanlash...", "action-narrow-block": "Blokni tanlash...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Faylni almashtirish...", "action-change-url": "Havolani o'zgartirish...", "action-zoom-to-fit": "Hammasini zoom qilish", "action-zoom-to-selection": "Tanlanganni zoom qilish", "action-reload-page": "Sahifani qayta yuklash", "action-follow-connection": "Aloqaga ergashish", "command-create-new-canvas": "Yangi kanvas yaratish", "command-convert-to-file": "Faylga aylantirish...", "instruction-narrow-heading": "Sarlavhani tanlash", "instruction-narrow-block": "Blokni tanlash", "instruction-jump-to-group": "Guruqqa o'tish", "prompt-to-narrow": "Blok nomini kiriting", "label-enter-url": "Havolani kiriting", "label-empty-embed": "\"{{linktext}}\" topilmadi.", "prompt-add-text": "Matn qo'shish...", "prompt-start-search": "Qidiruv so'rovini kiriting...", "label-canvas-help": "Yordam", "label-canvas-settings": "Kanvas sozlamalari", "label-no-narrow": "Butun faylni ko'rsatish", "label-show-default-view": "Show default view", "label-readonly": "Faqat o'qish uchun", "label-disable-readonly": "Faqat o'qish uchun funksiyani o'chirish", "label-pan": "Vertikal pozitsiya", "label-pan-horizontal": "Gorizontal pozitsiya", "label-zoom": "Zoom qilish", "label-select-all": "Hammasini tanlash", "label-add-remove-selection": "Tanlashni qo'shish / olib tashlash", "label-clone-card": "Kartani nusxalash", "label-constrain-movement-axis": "Harakat yo'nalishlarini cheklash", "label-disable-drag-snapping": "Tortish paytida yopishishni o'chirish", "label-remove-card": "Kartani olib tashlash", "label-drag-from-below": "Pastdan torting yoki ikki marta bosing", "label-longpress": "Qo'shish / ko'chirish / tanlash uchun bosib turing", "label-drag-pan": "Pozitsiya qilish uchun torting", "label-pinch-zoom": "Zoom qilish uchun barmoqlarni ajrating", "label-space-drag-pan": "Bo'shliq + tortish orqali pozitsiya qilish", "label-scroll-to-zoom": "Zoom qilish uchun aylantiring", "label-untitled-group": "Nomlanmagan guruh", "label-line-direction": "Chiziq yo'nalishi", "label-nondirectional": "Yo'nalishsiz", "label-unidirectional": "Bir yo'nalishli", "label-bidirectional": "Ikki yo'nalishli", "label-image": "Rasm", "label-style": "Uslub", "msg-no-groups-found": "Guruhlar topilmadi", "msg-export-failed-empty-canvas": "Bo'sh kanvasni eksport qilish mumkin emas", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Hammasini yoritish", "action-match-diacritics": "Diakritik belgilarni hisobga olish", "action-whole-words": "Butun so'zlar", "action-show-thumbnails": "Miniatюralar", "action-show-outline": "Mundarija", "action-reveal-in-outline": "Sahifani mundarijada ko'rsatish", "action-toggle-sidebar": "Yon panelni yashirish/ko'rsatish", "action-previous-page": "Oldingi sahifa", "action-next-page": "Keyingi sahifa", "action-fit-width": "Kenglikka moslashtirish", "action-fit-height": "Bo'ylikka moslashtirish", "action-save-p-d-f-location": "Hujjatdagi joriy joyni saqlash", "action-copy-annotation": "Izohni nusxalash", "action-copy-quote": "Iqtibos sifatida nusxalash", "action-copy-selection-link": "Tanlangan matn havolasini nusxalash", "action-copy-annot-link": "Izoh havolasini nusxalash", "action-copy-section-link": "Bo'lim havolasini nusxalash", "action-copy-section-link-title": "«{{title}}» bo'lim havolasini nusxalash", "action-copy-page-link": "{{page}} sahifa havolasini nusxalash", "msg-max-search-results": "{{current}} dan ortiq {{limit}} moslik", "msg-search-count": "{{current}} dan {{total}} moslik", "msg-search-count_plural": "{{current}} dan {{total}} moslik", "msg-password-protected": "Ushbu PDF fayl parol bilan himoyalangan", "msg-invalid-password": "Noto'g'ri parol", "msg-enter-password": "Quyida parolni kiriting", "label-of-pages": "{{count}} sahifadan", "label-page-of-pages": "({{current}} dan {{count}} sahifa)", "label-spread-single": "Bitta sahifa", "label-spread-odd": "Ikki sahifa (toq)", "label-spread-even": "Ikki sahifa (juft)", "tooltip-sidebar-options": "Yon panel parametrlar", "tooltip-display-options": "Ko'rsatish parametrlar", "label-adapt-to-theme": "Tepaga moslashtirish", "label-page": "{{page}} sahifa", "page_landmark": "{{page}} sahifa", "thumb_page_title": "{{page}} sahifa", "thumb_page_canvas": "{{page}} sahifa", "text_annotation_type": "[{{type}} Izoh]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Ro'yxat", "option-unknown": "Nomalum", "option-text": "Matn", "option-aliases": "Takrorlashlar", "option-tags": "Teglar", "option-folder": "Folder", "option-file": "File", "option-date": "Sana", "option-datetime": "Sana va vaqt", "option-number": "Sonlar", "option-checkbox": "Belgilash" }, "value-suggestion": { "key-link-note": "Kiritishingiz kerak [[", "instruction-link-note": "eslatmani bog'lash uchun", "instruction-dismiss": "bekor qilish" }, "option-property-type": "Xususiyat turi", "msg-empty-property-name": "Xususiyat nomi bo'sh bo'lishi mumkin emas.", "msg-duplicate-property-name": "Xususiyat allaqachon mavjud", "msg-invalid-tag": "Noto'g'ri teg nomi", "msg-invalid-number": "Noto'g'ri son", "msg-invalid-properties": "Xususiyatlarni o'qib bo'lmadi.", "label-no-value": "Qiymat yo'q", "label-heading": "Xususiyatlar", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Xususiyatlar sintaksisida xato. YAML sarlavhasi noto'g'ri.", "label-add-property-button": "Xususiyat qo'shish", "label-type-mismatch-warning": "Turi mos kelmaydi, kutilyapti {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Ustun", "label-row": "Qator", "action-row-after": "Qatorni pastga qo'shish", "action-column-after": "Ustunni o'ngga qo'shish", "action-row-before": "Qatorni yuqoriga qo'shish", "action-row-up": "Qatorni yuqoriga ko'chirish", "action-row-down": "Qatorni pastga ko'chirish", "action-column-before": "Ustunni chapga qo'shish", "action-column-left": "Ustunni chapga ko'chirish", "action-column-right": "Ustunni o'ngga ko'chirish", "action-duplicate-row": "Qatorni nusxalash", "action-duplicate-column": "Ustunni nusxalash", "action-delete-row": "Qatorni o'chirish", "action-delete-column": "Ustunni o'chirish", "action-align-left": "Chapga hizolash", "action-align-center": "Markazga hizolash", "action-align-right": "O'ngga hizolash", "action-delete-selection": "Hujjatlarni o'chirish", "action-clear-selection": "Hujjatlarni tozalash", "action-sort-a-z": "Ustun bo'yicha tartiblash (A dan Z gacha)", "action-sort-z-a": "Ustun bo'yicha tartiblash (Z dan A gacha)", "label-command": "Jadval: {{command}}" }, "callout": { "option-type": "Chiqish blok turi", "type": { "info": "Ma'lumot", "important": "Muhim", "tip": "Tavsiya", "success": "Muvaffaqiyat", "question": "Savol", "warning": "Ogohlantirish", "quote": "Iqtibos", "example": "Misol", "none": "None" }, "option-other": "Boshqalar...", "option-other-placeholder": "Chiqish blok turini kiriting..." }, "nouns": { "count": "{{count}}", "word-with-count": "So'zlar: {{count}}", "word-with-count_plural": "So'zlar: {{count}}", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "Belgilar: {{count}}", "character-with-count_plural": "Belgilar: {{count}}", "link-with-count": "{{count}} havola", "link-with-count_plural": "{{count}} havolalar", "file-with-count": "{{count}} fayl", "file-with-count_plural": "{{count}} fayllar", "folder-with-count": "{{count}} papka", "folder-with-count_plural": "{{count}} papkalar", "backlink-with-count": "Orqaga havolalar: {{count}}", "backlink-with-count_plural": "Orqaga havolalar: {{count}}", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tablar", "properties-with-count": "Xususiyatlar: {{count}}", "properties-with-count_plural": "Xususiyatlar: {{count}}", "site-with-count": "saytlar: {{count}}", "site-with-count_plural": "saytlar: {{count}}", "plugin-with-count": "plaginlar: {{count}}", "plugin-with-count_plural": "plaginlar: {{count}}", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "mavzular: {{count}}", "theme-with-count_plural": "mavzular: {{count}}" } }{ "setting": { "options": "Tùy chọn", "plugin": "Plugin", "builtin-plugins": "Plugin cốt lõi", "plugin-options": "Tùy chọn plugin", "folder-path-example-placeholder": "Ví dụ: folder 1/folder 2", "file-path-example-placeholder": "Ví dụ: folder/note", "msg-restart-required": "Thay đổi tùy chọn này yêu cầu khởi động lại để có hiệu lực.", "editor": { "name": "Trình soạn thảo", "section-behavior": "Hành vi", "section-display": "Hiển thị", "option-spellcheck": "Kiểm tra chính tả", "option-spellcheck-description": "Bật kiểm tra chính tả. Hiện chỉ hoạt động cho tiếng Anh (Mỹ).", "spellcheck-languages": "Ngôn ngữ kiểm tra chính tả", "spellcheck-languages-description": "Chọn các ngôn ngữ để sử dụng trong kiểm tra chính tả.", "spellcheck-languages-mac-description": "Công cụ kiểm tra chính tả gốc sẽ tự động phát hiện ngôn ngữ đang sử dụng trên macOS.", "spellcheck-dict": "Từ điển kiểm tra chính tả", "spellcheck-dict-empty": "Từ điển kiểm tra chính tả trống.", "option-show-inline-title": "Hiển thị tiêu đề nội tuyến", "option-show-inline-title-description": "Hiển thị tên tệp như tiêu đề có thể chỉnh sửa nội tuyến với nội dung tệp.", "option-readable-line-length": "Độ dài dòng hợp lý", "option-readable-line-description": "Giới hạn độ dài dòng tối đa. Hiển thị ít nội dung hơn trên màn hình nhưng làm cho đoạn văn dài hơn dễ đọc hơn.", "option-strict-line-break": "Ngắt dòng nghiêm ngặt", "option-strict-line-break-description": "Trong chế độ xem trước, bỏ qua ngắt dòng duy nhất theo quy định Markdown. Tắt tùy chọn này để hiển thị ngắt dòng duy nhất trong xem trước.", "option-properties-in-document": "Thuộc tính trong tài liệu", "option-properties-in-document-description": "Chọn cách hiển thị thuộc tính trong trình chỉnh sửa. Chọn \"source\" để hiển thị thuộc tính dưới dạng YAML.", "option-properties-hidden": "Ẩn", "option-properties-visible": "Hiển thị", "option-properties-source": "Nguồn", "option-auto-pair-brackets": "Tự động ghép cặp dấu ngoặc đơn", "option-auto-pair-brackets-description": "Tự động ghép cặp dấu ngoặc và dấu trích dẫn.", "option-auto-pair-markdown": "Tự động ghép cặp cú pháp Markdown", "option-auto-pair-markdown-description": "Tự động ghép cặp các ký hiệu cho chữ đậm, nghiêng, đánh dấu, gạch ngang và mã.", "option-smart-indent-lists": "Thụt đầu dòng thông minh cho danh sách", "option-smart-indent-lists-description": "Chăm sóc thụt đầu dòng và chỉ mục cho bạn.", "option-fold-heading": "Thu gọn tiêu đề", "option-fold-heading-description": "Cho phép bạn thu gọn tất cả mọi thứ dưới tiêu đề.", "option-fold-indent": "Thu gọn thụt đầu dòng", "option-fold-indent-description": "Cho phép bạn thu gọn một phần của cùng một thụt đầu dòng, chẳng hạn như danh sách.", "option-default-new-tab-view": "Giao diện mặc định cho tab mới", "option-default-new-tab-view-description": "Giao diện mặc định cho tab Markdown mới được mở trong.", "option-default-new-tab-view-editing": "Chế độ chỉnh sửa", "option-default-new-tab-view-reading": "Chế độ đọc", "option-open-tab-in-foreground": "Luôn tập trung vào tab mới", "option-open-tab-in-foreground-description": "Khi bạn mở một liên kết trong tab mới, chuyển đến tab đó ngay lập tức.", "option-default-editing-mode": "Chế độ chỉnh sửa mặc định", "option-default-editing-mode-description": "Chế độ chỉnh sửa mặc định mà một bảng chỉnh sửa mới sẽ bắt đầu.", "option-default-editing-mode-source": "Chế độ nguồn", "option-default-editing-mode-live-preview": "Xem trước trực tiếp", "option-show-line-number": "Hiển thị số dòng", "option-show-line-number-description": "Hiển thị số dòng trong dòng gutter.", "option-indentation-guide": "Hiển thị đường dẫn thụt đầu dòng", "option-indentation-guide-description": "Hiển thị các đường dẫn thụt đầu dòng dọc giữa các điểm đánh dấu danh sách để hướng dẫn mắt.", "option-use-tabs": "Sử dụng tab", "option-use-tabs-description": "Sử dụng tab để thụt đầu dòng khi nhấn phím \"Tab\". Tắt tùy chọn này để sử dụng khoảng trắng.", "option-tab-size": "Kích thước tab", "option-tab-size-description": "Số khoảng trắng tương đương với một tab.", "option-rtl": "Hướng văn bản từ phải sang trái (RTL)", "option-rtl-description": "Đặt hướng văn bản của các ghi chú để hiển thị từ phải sang trái.", "option-auto-convert-html": "Tự động chuyển đổi HTML", "option-auto-convert-html-description": "Tự động chuyển đổi HTML thành Markdown khi dán và kéo và thả từ các trang web. Sử dụng Ctrl/Cmd+Shift+V để dán mà không cần chuyển đổi.", "option-vim-key-bindings": "Phím tắt Vim", "option-vim-key-bindings-description": "Cho phép bạn sử dụng các phím tắt Vim trong trình soạn thảo nguồn.", "option-vim-key-bindings-mobile": "Trên các thiết bị di động, tùy chọn này được lưu trữ theo từng thiết bị và không được đồng bộ hóa thông qua tệp cấu hình.", "option-reindex-vault": "Rebuild vault cache", "option-reindex-vault-description": "Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault.", "label-reindex": "Rebuild", "label-confirm-enable-vim": "Xác nhận kích hoạt chế độ Vim", "label-vim-warning": "Chế độ Vim được thiết kế để chỉnh sửa văn bản hiệu quả nhưng có thể khá khó hiểu. Nếu bạn không quen với Vim, tùy chọn này có thể khiến Obsidian trông như đã ngừng hoạt động.", "label-vim-test": "Để xác minh bạn đã biết cách sử dụng Vim, hãy nhập lệnh để thoát Vim mà không lưu dưới đây:", "label-vim-your-answer": "Câu trả lời của bạn", "placeholder-enter-command": "Nhập lệnh...", "button-confirm-enable-vim": "Cho phép tôi kích hoạt Vim", "msg-vim-mode-enabled": "Lệnh là chính xác. Chế độ Vim được bật.", "msg-vim-mode-not-enabled": "Lệnh không chính xác. Chế độ Vim vẫn bị tắt để bảo vệ bạn.", "msg-vim-mode-please-enter-command": "Vui lòng nhập lệnh để bật chế độ Vim" }, "file": { "name": "Tệp & Liên kết", "option-confirm-file-deletion": "Xác nhận xóa tệp", "option-confirm-file-deletion-description": "Cho phép bạn nhận được xác nhận xóa tệp.", "option-delete-destination": "Tệp đã xóa", "option-delete-destination-description": "Xử lý tệp sau khi bạn xóa chúng.", "option-choice-system-trash": "Di chuyển vào thùng rác hệ thống", "option-choice-vault-trash": "Di chuyển vào thùng rác Obsidian (.trash folder)", "option-choice-permanent-delete": "Xóa vĩnh viễn", "option-always-update-links": "Luôn cập nhật liên kết nội bộ", "option-always-update-links-description": "Cho phép tự động cập nhật liên kết sau khi đổi tên một tệp hoặc nhận thông báo.", "option-new-note-location": "Vị trí mặc định cho ghi chú mới", "option-new-note-location-description": "Nơi để đặt ghi chú mới được tạo. Cài đặt plugin sẽ ghi đè lên điều này.", "option-choice-vault-root": "Thư mục gốc", "option-choice-current-folder": "Cùng một thư mục với tệp", "option-choice-specified-folder": "Trong thư mục được chỉ định dưới đây", "option-new-file-folder-path": "Đường dẫn thư mục để tạo ghi chú mới", "option-new-file-folder-path-description": "Ghi chú mới được tạo sẽ xuất hiện dưới thư mục này. Cài đặt plugin sẽ ghi đè lên điều này.", "option-use-wiki-links": "Sử dụng [[Liên kết Wiki]]", "option-use-wiki-links-description": "Tự động tạo liên kết Wiki cho [[liên kết]] và ![[hình ảnh]] thay vì liên kết và hình ảnh Markdown. Vô hiệu hóa tùy chọn này để tạo liên kết Markdown thay thế.", "option-show-unsupported-files": "Phát hiện tất cả các phần mở rộng tệp", "option-show-unsupported-files-description": "Hiển thị các tệp có bất kỳ phần mở rộng nào, ngay cả khi Obsidian không thể mở chúng một cách tự nhiên, để bạn có thể liên kết đến chúng và xem chúng trong Trình duyệt tệp và Trình chuyển đổi nhanh.", "option-link-autocompleted-format": "Định dạng liên kết mới", "option-link-autocompleted-format-description": "Liên kết nào sẽ được chèn khi tự động tạo liên kết nội bộ.", "option-choice-shortest-linktext": "Đường dẫn ngắn nhất nếu có thể", "option-choice-relative-path": "Đường dẫn tương đối đến tệp", "option-choice-absolute-path": "Đường dẫn tuyệt đối trong khóa", "option-new-attachment-location": "Vị trí mặc định cho đính kèm mới", "option-new-attachment-location-description": "Nơi đặt tệp đính kèm mới được thêm.", "option-new-attachment-location-default": "attachments", "option-choice-subdirectory": "Trong thư mục con dưới thư mục hiện tại", "option-attachment-folder-path": "Đường dẫn thư mục đính kèm", "option-attachment-folder-path-description": "Tệp đính kèm mới được tạo sẽ xuất hiện ở đây. Điều này bao gồm hình ảnh được tạo bằng cách kéo và thả hoặc dán và ghi âm âm thanh.", "option-attachment-subfolder-path": "Tên thư mục con", "option-attachment-subfolder-path-description": "Nếu tệp của bạn nằm dưới \"khóa/thư mục\" và bạn đặt tên thư mục con của mình là \"đính kèm\", tệp đính kèm sẽ được lưu vào \"khóa/thư mục/đính kèm\".", "option-excluded-files": "Tệp bị loại trừ", "option-excluded-files-desc": "Các tệp bị loại trừ sẽ bị ẩn hoặc ít nổi bật trong các vị trí khác nhau, chẳng hạn như Trình chuyển đổi nhanh, đề xuất liên kết và Xem biểu đồ.", "label-no-excluded-filters-applied": "Hiện tại không áp dụng bộ lọc bị loại trừ nào. Thêm một bộ lọc dưới đây.", "label-excluded-filters-applied": "Các tệp phù hợp với các bộ lọc sau đây hiện đang bị loại trừ:", "label-excluded-filter": "Bộ lọc", "message-empty-filter": "Bộ lọc không thể để trống", "placeholder-excluded-filter": "Nhập đường dẫn hoặc \"/regex/\"...", "option-uri-callbacks": "Allow URI callbacks", "option-uri-callbacks-desc": "Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs." }, "appearance": { "name": "Giao diện", "option-base-theme": "Chủ đề cơ bản", "option-base-theme-description": "Chọn sơ đồ màu mặc định của Obsidian.", "option-accent-color": "Màu nhấn", "option-accent-color-description": "Chọn màu nhấn được sử dụng trong toàn bộ ứng dụng.", "dark-theme": "Tối", "light-theme": "Sáng", "system-theme": "Thích ứng với hệ thống", "option-font": "Phông chữ", "option-advanced": "Nâng cao", "option-interface": "Giao diện", "option-interface-font": "Phông chữ giao diện", "option-interface-font-description": "Thiết lập phông chữ cơ sở cho Obsidian.", "option-zoom-level": "Tỷ lệ thu phóng", "option-zoom-level-description": "Điều khiển tỷ lệ thu phóng tổng thể của ứng dụng.", "option-text-font": "Phông chữ văn bản", "option-text-font-description": "Thiết lập phông chữ cho chế độ chỉnh sửa và xem.", "option-monospace-font": "Phông chữ không chia khoảng", "option-monospace-font-description": "Thiết lập phông chữ cho các vị trí như khối mã và frontmatter.", "label-single-font-currently-in-effect": " Phông chữ đang áp dụng: ", "label-multiple-fonts-currently-in-effect": " Các phông chữ sau đang áp dụng:", "option-font-placeholder": "Nhập tên phông chữ...", "label-no-custom-font-set": "Hiện không có phông chữ tùy chỉnh nào được áp dụng. Thêm một phông chữ dưới đây.", "label-font-applied": "Phông chữ đầu tiên từ danh sách này mà có sẵn trên hệ thống của bạn sẽ được áp dụng.", "msg-font-not-found": "Phông chữ này không được phát hiện trên hệ thống của bạn.", "msg-font-found": "Phông chữ này đã được phát hiện trên hệ thống của bạn.", "label-font-name": "Tên phông chữ", "option-community-themes": "Mở các chủ đề cộng đồng", "option-community-themes-description": "Xem trước và sử dụng các chủ đề tuyệt vời được tạo bởi cộng đồng.", "button-browse-community-themes": "Duyệt", "option-font-size": "Cỡ chữ", "option-font-size-description": "Cỡ chữ tính bằng pixel ảnh ảnh hưởng đến chỉnh sửa và xem trước.", "option-font-size-action": "Điều chỉnh nhanh cỡ chữ", "option-font-size-action-description": "Điều chỉnh cỡ chữ bằng cách sử dụng Ctrl + Cuộn, hoặc sử dụng cử chỉ thu phóng bằng cách kẹp trackpad.", "option-themes": "Chủ đề", "option-manage-themes-description": "Quản lý chủ đề đã cài đặt và duyệt các chủ đề cộng đồng.", "option-theme-button-manage": "Quản lý", "option-choice-none": "Không", "option-native-menus": "Các menu hệ thống", "option-native-menus-desc": "Các menu trong ứng dụng sẽ phù hợp với hệ điều hành. Chúng sẽ không bị ảnh hưởng bởi chủ đề của bạn.", "button-reload-themes": "Tải lại chủ đề", "msg-reloaded-themes": "Đã tải lại các chủ đề CSS tùy chỉnh.", "button-open-themes-folder": "Mở thư mục chủ đề", "option-css-snippets": "Mẩu CSS", "label-no-css-snippets-found": "Không có mẩu CSS nào được tìm thấy trong thư mục mẩu.", "no-snippet-description": "Mẩu CSS được lưu trữ trong \"{{path}}\".", "button-reload-snippets": "Tải lại mẩu", "button-open-snippets-folder": "Mở thư mục mẩu", "msg-reloaded-snippets": "Đã tải lại các mẩu CSS.", "option-toggle-snippet-description": "Áp dụng mẩu CSS tại \"{{path}}\".", "label-installed-themes": "Các chủ đề đã cài đặt", "label-screenshot-unavailable": "Không có hình ảnh màn hình", "label-default-theme": "Mặc định", "tooltip-click-to-enlarge": "Nhấp để phóng to", "button-update": "Cập nhật", "label-currently-active": "Active", "option-frame-style": "Kiểu khung cửa sổ", "option-frame-description": "Xác định phong cách thanh tiêu đề của các cửa sổ Obsidian. Yêu cầu khởi động lại đầy đủ để có hiệu lực.", "option-frame-hidden": "Ẩn (mặc định)", "option-frame-obsidian": "Khung Obsidian", "option-frame-native": "Khung gốc", "option-custom-icon": "Custom app icon", "option-custom-icon-desc": "Set a custom icon for the app", "button-choose-custom-icon": "Choose custom icon", "option-configure-ribbon": "Menu Ribbon", "option-configure-ribbon-desc": "Cấu hình các lệnh hiển thị trong menu Ribbon ở thanh điều hướng đó.", "option-mobile-quick-ribbon-item": "Mục Ribbon truy cập nhanh di động", "option-mobile-quick-ribbon-item-desc": "Chạm vào mục Ribbon trong menu điều hướng sẽ kích hoạt mục Ribbon này. Chạm và giữ vẫn sẽ hiển thị menu.", "option-mobile-quick-ribbon-default": "Mở menu Ribbon", "button-configure": "Cấu hình", "option-show-ribbon": "Hiển thị Ribbon", "option-show-ribbon-desc": "Display vertical toolbar on the side of the window.", "label-additional-ribbon-items": "Các mục Ribbon khác", "label-modal-configuration": "Cấu hình Ribbon", "label-modal-configuration-desc": "Chọn các mục bạn muốn kích hoạt trong Ribbon. Kéo và thả để thay đổi thứ tự.", "option-show-view-header": "Hiển thị thanh tiêu đề tab", "option-show-view-header-desc": "Hiển thị tiêu đề ở phía trên của mỗi tab.", "msg-updates-found": "Tìm thấy {{count}} chủ đề cần cập nhật.", "msg-updates-found_plural": "Tìm thấy {{count}} chủ đề cần cập nhật.", "button-check-for-updates": "Kiểm tra cập nhật", "button-view-updates": "Xem cập nhật", "button-update-all-themes": "Cập nhật tất cả", "label-current-themes": "Các chủ đề cộng đồng hiện tại", "label-currently-installed": "Bạn hiện có {{count}} chủ đề đã cài đặt.", "label-currently-installed_plural": "Bạn hiện có {{count}} chủ đề đã cài đặt." }, "hotkeys": { "name": "Phím tắt", "option-search": "Tìm kiếm phím tắt", "option-search-desc": "Hiển thị {{count}} phím tắt. ", "option-search-desc_plural": "Hiển thị {{count}} phím tắt. ", "option-search-conflict": "{{count}} lệnh có xung đột.", "option-search-conflict_plural": "{{count}} lệnh có xung đột.", "prompt-filter": "Lọc...", "tooltip-delete-hotkey": "Xóa phím tắt", "label-waiting-for-hotkey-press": "Nhấn phím tắt...", "label-show-all": "Tất cả", "label-show-unassigned": "Chưa được gán", "label-show-assigned": "Đã được gán", "label-show-user-assigned": "Được gán bởi tôi", "tooltip-restore-default": "Khôi phục mặc định", "tooltip-customize-command": "Tùy chỉnh lệnh này", "tooltip-hotkey-single-conflict": "Phím tắt này có xung đột với \"{{command}}\"", "tooltip-hotkey-multiple-conflicts": "Phím tắt này có xung đột với {{count}} lệnh khác", "label-blank-hotkey": "Trống" }, "about": { "name": "Thông tin", "label-commercial-license": "Bản quyền thương mại", "label-license-key": "Mã bản quyền", "license-key-placeholder": "Mã bản quyền của bạn...", "label-activate-license": "Kích hoạt bản quyền", "button-activate": "Kích hoạt", "label-unknown-version": "Không rõ", "label-current-version": "Phiên bản hiện tại: ", "label-install-version": "(Phiên bản cài đặt: {{version}})", "label-up-to-date": "Ứng dụng của bạn đã được cập nhật!", "label-read-changelog": "Đọc thông tin về các thay đổi.", "label-manual-update-required": "Để hỗ trợ các tính năng mới nhất và nhận các bản vá bảo mật mới nhất, Obsidian cần một bản cài đặt lớn. Bạn cần tải xuống và cài đặt lại Obsidian thủ công.", "label-new-version-ready": "Đã có một phiên bản mới để cài đặt. ", "label-disabled-updates": "Cập nhật đã bị vô hiệu hóa.", "button-relaunch": "Khởi động lại", "button-check-for-updates": "Kiểm tra cập nhật", "option-auto-update": "Tự động cập nhật", "option-auto-update-description": "Tắt tùy chọn này để ngăn ứng dụng kiểm tra cập nhật.", "option-check-slow-startup": "Notify if startup takes longer than expected", "option-check-slow-startup-description": "Diagnose issues with your app by seeing what is causing the app to load slowly.", "button-check-startup": "Check now", "option-get-help": "Nhận trợ giúp", "option-get-help-description": "Nhận trợ giúp về việc sử dụng Obsidian.", "button-open": "Mở", "option-language": "Ngôn ngữ", "option-language-description": "Thay đổi ngôn ngữ hiển thị.", "option-insider-build": "Nhận các bản dựng Insider", "option-insider-build-description": "Tự động cập nhật các bản dựng Insider để thử nghiệm các tính năng mới. Lưu ý rằng các bản dựng này là phiên bản cực kỳ mới và có thể không ổn định.", "option-advanced": "Nâng cao", "option-hw-acceleration": "Tăng tốc phần cứng", "option-hw-acceleration-description": "Bật Tăng tốc phần cứng, sử dụng GPU của bạn để Obsidian hoạt động mượt mà hơn.", "option-hw-acceleration-warning": "Nếu tắt tùy chọn này, hiệu suất ứng dụng sẽ bị suy giảm nghiêm trọng.", "option-config-location": "Ghi đè thư mục cấu hình", "option-config-location-description": "Sử dụng thư mục cấu hình khác với thư mục mặc định. Phải bắt đầu bằng một dấu chấm.", "option-config-location-warning": "Vị trí cấu hình phải là một tên thư mục hợp lệ bắt đầu bằng một dấu chấm.", "label-license": "Bản quyền", "label-your-commercial-license-key": "Mã bản quyền thương mại của bạn là \"{{key}}\".", "label-commercial-license-info": "Đăng ký cho \"{{company}}\" với {{seats}} người dùng. Hiệu lực đến {{expiry}}.", "label-validating-commercial-license": "Đang xác nhận...", "label-invalid-commercial-license": "Bản quyền không hợp lệ: ", "button-remove-commercial-license": "Gỡ bỏ", "option-catalyst": "Bản quyền Catalyst", "option-catalyst-desc": "Bạn hiện đang có bản quyền Catalyst {{tier}}. Cảm ơn sự hỗ trợ của bạn!", "option-catalyst-desc-no-license": "Bạn hiện không có bản quyền Catalyst. Bản quyền Catalyst là đóng góp một lần để hỗ trợ phát triển Obsidian.", "label-app": "Ứng dụng", "label-add-own-language": "Xem cách thêm ngôn ngữ của bạn vào Obsidian." }, "account": { "name": "Tài khoản", "option-your-account": "Tài khoản của bạn", "option-your-account-desc": "Bạn hiện đang đăng nhập với tên {{name}} ({{email}}).", "option-your-account-desc-no-login": "Bạn hiện không đăng nhập. Một tài khoản chỉ cần thiết cho Obsidian Sync, Obsidian Publish và các bản dựng Insider của Catalyst.", "label-insider": "insider", "label-supporter": "nhà hỗ trợ", "label-vip": "VIP", "button-upgrade-catalyst": "Nâng cấp", "option-commercial-license": "Bản quyền thương mại", "option-commercial-license-desc": "Help keep Obsidian 100% user-supported.", "button-purchase": "Mua", "button-log-out": "Đăng xuất", "label-log-in": "Đăng nhập", "label-sign-up": "Đăng ký", "label-email": "Email", "placeholder-email": "Email của bạn...", "label-name": "Full name", "label-password": "Mật khẩu", "placeholder-password": "Mật khẩu của bạn...", "label-forgot-password": "Quên mật khẩu?", "button-login": "Đăng nhập", "message-empty-email": "Email không thể để trống.", "message-invalid-email": "Email không hợp lệ.", "message-empty-password": "Mật khẩu không thể để trống.", "message-login-failed": "Đăng nhập thất bại, vui lòng kiểm tra lại email và mật khẩu của bạn.", "message-signup-failed": "Failed to sign up", "label-no-account": "Bạn chưa có tài khoản? ", "link-sign-up-now": "Đăng ký ngay", "label-mfa-code": "Mã 2FA gồm 6 chữ số", "mfa-wrong-format": "Mã xác thực 2FA phải gồm 6 chữ số.", "mfa-verification-failed": "Mã 2FA không chính xác, vui lòng kiểm tra lại ứng dụng xác thực của bạn." }, "core-plugin": { "plugin-list": "Danh sách phần mở rộng", "option-search-plugin": "Tìm kiếm phần mở rộng cốt lõi", "option-search-plugin-description": "Lọc phần mở rộng theo tên hoặc mô tả.", "placeholder-search-plugin": "Tìm kiếm phần mở rộng..." }, "third-party-plugin": { "name": "Phần mở rộng của bên thứ ba", "option-restricted-mode": "Chế độ hạn chế", "option-restricted-mode-description": "Chế độ Hạn chế đã được tắt. Bật để vô hiệu hóa các phần mở rộng từ cộng đồng.", "button-turn-on": "Bật", "option-browse-community-plugins": "Phần mở rộng từ cộng đồng", "option-browse-community-plugins-description": "Duyệt và cài đặt các phần mở rộng của bên thứ ba do cộng đồng tuyệt vời của chúng ta tạo ra.", "button-browse": "Duyệt", "label-exit-restricted-mode": "Thoát khỏi Chế độ Hạn chế", "label-exit-restricted-mode-description-1": "Phần mở rộng từ cộng đồng, giống như bất kỳ phần mềm khác mà bạn cài đặt, có thể gây ra vấn đề về toàn vẹn dữ liệu và bảo mật.", "label-exit-restricted-mode-description-2": "Bảo mật của phần mở rộng là điều quan trọng đối với chúng tôi. Dưới đây là những gì chúng tôi thực hiện:", "label-exit-restricted-mode-description-3": "Mặc dù chúng tôi đã nỗ lực, vẫn có một khả năng nhỏ rằng một số phần mở rộng từ cộng đồng có thể hoạt động không đúng.", "label-code-review": "Đánh giá mã ban đầu", "label-code-review-desc": "Các phần mở rộng phải trải qua đánh giá mã ban đầu từ đội ngũ của chúng tôi trước khi xuất hiện trong cửa hàng.", "label-open-source": "Mã nguồn mở", "label-open-source-desc": "Hầu hết các phần mở rộng đều mã nguồn mở trên GitHub, vì vậy bạn có thể kiểm tra mã nguồn một cách tự do.", "label-peer-audit": "Đánh giá đồng nghiệp", "label-peer-audit-desc": "Chúng tôi có một cộng đồng lớn của các nhà phát triển theo dõi lẫn nhau.", "label-report-mechanism": "Cơ chế báo cáo", "label-report-mechanism-desc": "Chúng tôi tiếp tục theo dõi và gỡ bỏ các phần mở rộng lỗi sau khi người dùng báo cáo.", "label-exit-restricted-mode-disable-confirmation": "Bạn có muốn thoát khỏi Chế độ Hạn chế để kích hoạt các phần mở rộng từ cộng đồng không? Chúng tôi khuyên bạn nên sao lưu dữ liệu trước khi làm điều này.", "label-learn-more": "Tìm hiểu thêm về bảo mật phần mở rộng", "button-turn-on-community-plugins": "Bật phần mở rộng từ cộng đồng", "label-trust-author": "Bạn tin tưởng tác giả của kho lưu trữ này không?", "label-trust-author-description-1": "Bạn đang mở kho lưu trữ này lần đầu tiên, và nó đi kèm với một số phần mở rộng.", "label-trust-author-description-2": "Nếu bạn nhận được kho lưu trữ này từ người khác, hãy lưu ý rằng các phần mở rộng không rõ nguồn gốc có thể tạo ra rủi ro về bảo mật.", "label-trust-author-description-3": "Nếu bạn không tin tưởng hoàn toàn tác giả của kho lưu trữ này, chúng tôi khuyên bạn nên ở trong Chế độ Hạn chế để các phần mở rộng trong kho này không chạy.", "button-enable-plugins": "Tin tưởng tác giả và kích hoạt phần mở rộng", "button-dont-trust-author": "Duyệt kho lưu trữ trong Chế độ Hạn chế", "placeholder-community-plugins": "Tìm kiếm phần mở rộng từ cộng đồng...", "msg-failed-load-plugins": "Không tải được các phần mở rộng từ cộng đồng.", "label-installed": "Đã cài đặt", "button-install": "Cài đặt", "button-enable": "Kích hoạt", "button-disable": "Vô hiệu hóa", "button-copy-share-link": "Sao chép liên kết chia sẻ", "button-donate": "Ủng hộ", "label-no-results-found": "Không tìm thấy kết quả.", "label-no-recent-files-found": "Không tìm thấy tệp gần đây. Nhập để tìm kiếm...", "msg-failed-to-load-manifest": "Không tải được tệp mô tả phần mở rộng.", "label-version": "Phiên bản: {{version}}", "label-currently-installed-version": " (đã cài đặt phiên bản: {{version}})", "label-by-author": "Tác giả ", "label-repository": "Kho lưu trữ: ", "label-last-update": "Cập nhật lần cuối: ", "tooltip-view-last-update": "Xem cập nhật mới nhất", "label-unsupported": "Phần mở rộng này không hỗ trợ thiết bị của bạn.", "button-update": "Cập nhật", "label-no-readme": "Phần mở rộng này không cung cấp tệp README.", "msg-installing-plugin": "Đang cài đặt phần mở rộng \"{{name}}\"...", "msg-failed-to-install-plugin": "Không cài đặt được phần mở rộng \"{{name}}\".", "msg-successfully-installed-plugin": "Cài đặt phần mở rộng \"{{name}}\" thành công.", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "Phần mở rộng đã cài đặt", "button-reload-plugins": "Tải lại phần mở rộng", "msg-reloaded-third-party-plugins": "Tải lại phần mở rộng của bên thứ ba.", "label-uninstall": "Gỡ bỏ cài đặt", "label-uninstall-plugin": "Gỡ bỏ cài đặt phần mở rộng", "label-uninstall-plugin-confirmation": "Bạn có chắc chắn muốn gỡ bỏ cài đặt phần mở rộng này không? Điều này sẽ xóa thư mục của phần mở rộng.", "button-open-plugins-folder": "Mở thư mục phần mở rộng", "button-check-for-updates": "Kiểm tra cập nhật", "button-update-all-plugins": "Cập nhật tất cả", "label-current-plugins": "Phần mở rộng hiện tại", "label-currently-installed": "Bạn hiện đang có {{count}} phần mở rộng được cài đặt.", "label-currently-installed_plural": "Bạn hiện đang có {{count}} phần mở rộng được cài đặt.", "msg-no-updates-found": "Không tìm thấy cập nhật phần mở rộng.", "msg-updates-found": "Tìm thấy {{count}} phần mở rộng cần cập nhật.", "msg-updates-found_plural": "Tìm thấy {{count}} phần mở rộng cần cập nhật.", "msg-update-plugin": "Cập nhật lên phiên bản {{version}}", "option-search-installed-plugin": "Tìm kiếm phần mở rộng đã cài đặt", "option-search-installed-plugin-description": "Lọc phần mở rộng đã cài đặt theo tên hoặc mô tả.", "placeholder-search-installed-plugin": "Tìm kiếm phần mở rộng đã cài đặt...", "show-installed-only": "Chỉ hiển thị đã cài đặt", "label-donate-modal-title": "Ủng hộ {{name}}", "label-donate-modal-text1": "Các nhà phát triển phần mở rộng là những tình nguyện viên trong cộng đồng tạo ra những điều tuyệt vời với đam mê. Nếu bạn thấy phần mở rộng này hữu ích, xin vui lòng xem xét hỗ trợ việc phát triển của nó.", "label-donate-modal-text2": "100% đóng góp của bạn sẽ được chuyển cho nhà phát triển phần mở rộng; Obsidian không thu phí. Nền tảng gọi vốn mà họ chọn có thể tính phí.", "label-donate-modal-text3": "Cảm ơn sự hỗ trợ rộng lượng của bạn!", "label-support-this-plugin": "Hỗ trợ phần mở rộng này:", "label-search-summary": "Hiển thị {{pluginCount}}:", "label-by-popularity": "Phổ biến nhất", "label-by-released": "Mới phát hành", "label-by-updated": "Cập nhật gần đây", "label-alphabetical": "Theo bảng chữ cái", "label-last-updated": "Cập nhật {{time}}" }, "mobile-toolbar": { "name": "Thanh công cụ di động", "option-configure-quick-action": "Cấu hình Hành động Nhanh di động", "option-configure-quick-action-description": "Cấu hình lệnh nào được kích hoạt khi kéo xuống từ phía trên. Lệnh hiện tại được đặt là \"{{command}}\".", "msg-missing-quick-action": "Action not configured", "button-configure": "Cấu hình", "placeholder-select-quick-action": "Chọn Hành động Nhanh...", "quick-action-disabled": "Không có", "manage-toolbar-options": "Quản lý tùy chọn thanh công cụ", "option-internal-link": "Thêm liên kết nội bộ", "option-internal-embed": "Thêm nhúng", "option-tag": "Thêm thẻ", "option-heading": "Chuyển đổi tiêu đề", "option-strikethrough": "Chuyển đổi gạch ngang", "option-highlight": "Chuyển đổi đánh dấu", "option-code": "Chuyển đổi mã", "option-blockquote": "Chuyển đổi trích dẫn khối", "option-inline-math": "Toggle inline math", "option-math-block": "Toggle math block", "option-markdown-link": "Thêm liên kết Markdown", "option-bullet-list": "Chuyển đổi danh sách đánh dấu", "option-numbered-list": "Chuyển đổi danh sách đánh số", "option-indent-list": "Thụt đầu dòng danh sách", "option-unindent-list": "Hủy thụt đầu dòng danh sách", "option-undo": "Hoàn tác", "option-redo": "Làm lại", "option-move-caret-up": "Di chuyển dấu nhắc lên", "option-move-caret-down": "Di chuyển dấu nhắc xuống", "option-move-caret-left": "Di chuyển dấu nhắc sang trái", "option-move-caret-right": "Di chuyển dấu nhắc sang phải", "option-first-line": "Đi đến dòng đầu tiên", "option-last-line": "Đi đến dòng cuối cùng", "option-toggle-keyboard": "Chuyển đổi bàn phím", "option-configure-toolbar": "Cấu hình thanh công cụ di động", "option-added-options": "Các tùy chọn đã thêm", "option-more-toolbar-options": "Thêm tùy chọn thanh công cụ", "option-attach": "Chèn tệp đính kèm", "option-add-command": "Thêm lệnh toàn cầu", "option-add-command-description": "Chọn bất kỳ lệnh toàn cầu nào để thêm vào thanh công cụ." } }, "editor": { "search": { "placeholder-find": "Tìm kiếm", "placeholder-replace": "Thay thế", "label-exit-search": "Thoát tìm kiếm", "label-next": "Tiếp", "label-previous": "Trước", "label-find-all": "Find all", "label-replace": "Thay thế", "label-replace-all": "Thay thế tất cả" }, "link-suggestion": { "label-type-hash": "Nhập #", "label-link-heading": "để liên kết đến tiêu đề", "label-type-block": "Nhập ^", "label-link-block": "để liên kết đến khối", "label-type-pipe": "Nhập |", "label-change-display-text": "để thay đổi văn bản hiển thị", "label-no-alias": "Display text", "label-no-heading": "Heading", "label-no-match-found": "Không tìm thấy kết quả nào", "label-image-size": "Image size: {{size}}px wide", "label-accept": "to accept", "label-new-footnote": "New footnote..." }, "spellcheck": { "no-suggestion": "Không có gợi ý...", "add-to-dictionary": "Thêm vào từ điển" }, "menu": { "edit-link": "Chỉnh sửa liên kết", "edit-tag": "Edit tag", "label-edit-block": "Chỉnh sửa khối này", "label-delete-footref-and-note": "Delete footnote and reference" }, "heading-suggestion": { "label-no-heading": "Không có tiêu đề", "label-heading-level": "Tiêu đề cấp {{level}}" }, "print-modal": { "title": "Xuất ra PDF", "caption": "Xuất \"{{filename}}\" ra PDF với các cài đặt bên dưới.", "setting-page-size": "Kích thước trang", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "Bao gồm tên tệp làm tiêu đề", "setting-landscape": "Ngang", "setting-margin": "Lề", "setting-margin-default": "Mặc định", "setting-margin-minimal": "Tối thiểu", "setting-margin-none": "Không có lề", "setting-downscale-percent": "Phần trăm thu nhỏ", "button-export-to-pdf": "Xuất ra PDF" }, "link-popover": { "tooltip-follow-link": "Theo liên kết", "tooltip-open-link": "Mở liên kết", "tooltip-search-tag": "Tìm kiếm theo thẻ" } }, "interface": { "embed-cannot-find": "Không tìm thấy:", "label-unable-to-find-section": "Unable to find “{{subpath}}” in {{file}}", "embed-open-in-default-app-tooltip": "Mở trong ứng dụng mặc định", "empty-sidebar": "Thanh bên trống, hãy thử kéo một khung vào đây.", "sidebar-expand": "Mở rộng", "sidebar-collapse": "Thu gọn", "msg-fail-to-save-file": "Không thể lưu tệp \"{{filepath}}\". {{message}}.", "msg-failed-to-load-plugin": "Failed to load plugin “{{plugin}}”", "msg-plugin-error": "Plugin “{{plugin}}” encountered an error while loading", "msg-failed-to-load-file": "Failed to open “{{filepath}}”", "msg-failed-to-open-href": "Cannot open location “{{href}}”", "no-file": "Không có tệp", "msg-file-changed": "\"{{file}}\" đã bị thay đổi bên ngoài, hợp nhất các thay đổi tự động.", "switch-vault": "Mở một khối lưu trữ khác", "manage-vaults": "Manage vaults...", "help": "Trợ giúp", "settings": "Cài đặt", "drag-to-rearrange": "Kéo để sắp xếp lại", "msg-switched-to-read": "Chuyển chế độ xem mặc định thành chế độ đọc.", "msg-switched-to-edit": "Chuyển chế độ xem mặc định thành chế độ chỉnh sửa.", "msg-upgrade-installer": "Để sử dụng tính năng này, vui lòng cài đặt lại bằng bản cài đặt mới nhất có sẵn trên trang web của chúng tôi.", "msg-slow-boot": "Slow startup time detected.", "msg-desktop-only-feature": "This feature is only available in the desktop app.", "tooltip-restore-default-settings": "Khôi phục cài đặt mặc định", "label-copy": "Sao chép vào clipboard", "label-copy-short": "Sao chép", "copied_generic": "Đã sao chép vào clipboard của bạn", "copied": "{{item}} đã được sao chép vào clipboard của bạn", "copy_failed": "Unable to copy to your clipboard", "prompt-filter": "Filter...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "Mở tệp \"{{path}}\"", "msg-file-not-found-through-uri": "Không tìm thấy tệp \"{{name}}\".", "delete-action-short-name": "Xóa", "msg-indexing": "Obsidian đang lập chỉ mục cho khối lưu trữ của bạn...\nĐiều này chỉ xảy ra một lần duy nhất.\nMột số chức năng có thể không khả dụng cho đến khi quá trình này hoàn tất.", "msg-indexing-desc": "Some functionality may not be available until this is complete.", "msg-indexing-complete": "Hoàn tất lập chỉ mục.", "msg-sandbox-vault": "Đây là một khối lưu trữ sandbox.\nCác thay đổi bạn thực hiện trong khối lưu trữ này sẽ bị mất.", "msg-indexed-db-not-supported": "IndexedDB is required for this feature, but it is currently disabled.", "msg-indexed-db-i-o-s": "If you are using iOS in Lockdown Mode, please exclude Obsidian from the \"Configure Web Browsing\" setting of Lockdown Mode.", "label-enter-to-create": "Nhấn Enter để tạo mới", "label-update-available": "Cập nhật có sẵn", "label-debug-info": "Thông tin gỡ lỗi", "button-learn-more": "Tìm hiểu thêm", "button-not-now": "Không bây giờ", "button-add": "Thêm", "button-manage": "Quản lý", "label-new-tab": "Tab mới", "option-hide-ribbon": "Hide ribbon", "msg-tab-busy": "Tab này hiện đang bận, vui lòng thử lại sau", "formatting": { "label-formatting": "Định dạng", "label-paragraph": "Đoạn văn", "label-insert": "Chèn", "insert-link": "Thêm liên kết", "insert-external-link": "Thêm liên kết bên ngoài", "insert-callout": "Chèn lời gọi", "insert-horizontal-rule": "Chèn đường kẻ ngang", "insert-code-block": "Chèn khối mã", "insert-math-block": "Chèn khối toán học", "insert-table": "Chèn bảng", "insert-footnote": "Footnote", "toggle-bold": "In đậm", "toggle-code": "Mã", "toggle-comments": "Bình luận", "toggle-highlight": "Tô sáng", "toggle-italics": "In nghiêng", "toggle-strikethrough": "Gạch ngang", "toggle-math": "Toán học", "toggle-bullet-list": "Danh sách đánh dấu", "toggle-checklist": "Danh sách công việc", "toggle-numbered-list": "Danh sách đánh số", "set-heading": "Tiêu đề {{level}}", "no-heading": "Nội dung", "clear": "Xóa định dạng", "toggle-quote": "Trích dẫn" }, "empty-state": { "no-file-open": "Không có tệp nào được mở", "create-new-file": "Tạo tệp mới", "go-to-file": "Đi tới tệp", "see-recent-files": "Xem tệp gần đây", "close": "Đóng", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "Plugin không còn hoạt động", "unknown-pane-desc": "Plugin tạo khung này ({{type}}) đã biến mất" }, "release-notes": { "tab-title": "Release Notes {{version}}", "msg-missing-release-notes": "No release notes available for {{version}}.", "msg-failed-to-load": "Could not load release notes for {{version}}." }, "menu": { "edit-view": "Chỉnh sửa (Ctrl/Cmd+Bấm để chỉnh sửa trong khung mới)", "read-view": "Xem hiện tại: Đọc", "ribbon": "Ribbon", "left-sidebar": "Left sidebar", "right-sidebar": "Right sidebar", "switch-to-edit-view": "Bấm để chỉnh sửa", "switch-to-read-view": "Bấm để đọc", "mod-click-open-new-tab": "{{key}}+Bấm để mở vào tab mới", "find": "Tìm kiếm...", "replace": "Thay thế...", "edit": "Chỉnh sửa", "remove": "Xóa", "rename": "Đổi tên", "preview": "Xem trước", "more-options": "Tùy chọn khác", "close": "Đóng", "close-all": "Đóng tất cả", "close-tabs-with-count": "Close {{count}} tab", "close-tabs-with-count_plural": "Close {{count}} tabs", "close-others": "Đóng các tab khác", "close-after": "Close tabs after", "pin": "Ghim", "unpin": "Bỏ ghim", "unlink-tab": "Bỏ liên kết tab", "link-tab": "Liên kết với tab...", "toggle-source-mode": "Chế độ nguồn", "toggle-reading-view": "Chế độ đọc", "add-property": "Add file property", "delete-file": "Xóa tệp", "create-file": "Tạo tệp này", "open-link": "Mở liên kết", "open-in-new-tab": "Mở trong tab mới", "open-to-the-right": "Mở sang bên phải", "copy-url": "Sao chép URL", "copy": "Sao chép", "cut": "Cắt", "paste": "Dán", "paste-as-plain-text": "Dán dưới dạng văn bản thuần", "lookup-selection": "Tra cứu “{{selection}}”", "select-all": "Chọn tất cả", "rename-heading": "Đổi tên tiêu đề này...", "rename-blockid": "Đổi tên Block ID này...", "open-in-new-window": "Mở trong cửa sổ mới", "move-to-new-window": "Di chuyển vào cửa sổ mới", "open-in-browser": "Mở trong trình duyệt", "stack-tabs": "Xếp các tab", "unstack-tabs": "Không xếp các tab", "open-linked-view": "Mở xem liên kết" }, "tooltip": { "click-to-expand": "Bấm để mở rộng", "click-to-collapse": "Bấm để thu gọn", "alias": "Bí danh", "not-created-yet": "Chưa được tạo, bấm để tạo" }, "start-screen": { "label-version": "Phiên bản", "label-create-local-vault": "Tạo khối lưu trữ cục bộ", "option-open-folder-as-vault": "Mở thư mục như một khối lưu trữ", "option-open-folder-as-vault-description": "Chọn một thư mục hiện có chứa các tệp Markdown.", "option-create-vault": "Tạo khối lưu trữ mới", "option-create-vault-description": "Tạo một khối lưu trữ Obsidian mới trong một thư mục.", "option-connect-obsidian-sync": "Kết nối với Obsidian Sync", "option-connect-obsidian-sync-description": "Thiết lập khối lưu trữ đồng bộ hóa với khối lưu trữ từ xa hiện có.", "option-new-vault-name": "Tên khối lưu trữ", "option-new-vault-name-description": "Chọn một tên cho khối lưu trữ tuyệt vời của bạn.", "option-new-vault-location": "Vị trí", "option-new-vault-location-description": "Chọn một nơi để đặt khối lưu trữ mới của bạn.", "label-new-vault-location-preview": "Khối lưu trữ mới của bạn sẽ được đặt ở: ", "option-reveal-vault-in-explorer": "Hiển thị khối lưu trữ trong trình duyệt hệ thống", "option-reveal-vault-in-explorer-mac": "Hiển thị khối lưu trữ trong Finder", "option-rename-vault": "Đổi tên khối lưu trữ...", "option-copy-vault-i-d": "Sao chép vault ID", "msg-error-rename-exists": "Đã có một khối lưu trữ với tên này.", "msg-error-nested": "Không thể di chuyển khối lưu trữ vào một thư mục con của nó.", "msg-error-rename-open": "Không thể đổi tên khối lưu trữ đang mở.", "msg-rename-failed": "Không thể đổi tên khối lưu trữ.", "msg-rename-success": "Đổi tên khối lưu trữ thành công.", "option-move-vault": "Di chuyển khối lưu trữ...", "msg-move-select-dest": "Chọn thư mục đích", "msg-error-move-exists": "Đã có một khối lưu trữ ở đích.", "msg-error-move-open": "Không thể di chuyển khối lưu trữ đang mở.", "msg-move-failed": "Không thể di chuyển khối lưu trữ.", "msg-move-success": "Di chuyển khối lưu trữ thành công.", "option-remove": "Xóa khỏi danh sách", "button-quick-start": "Bắt đầu nhanh", "button-open": "Mở", "button-browse": "Duyệt", "button-connect": "Kết nối", "button-create-vault": "Tạo", "button-back": "Quay lại", "msg-empty-vault-name": "Tên khối lưu trữ không thể để trống.", "msg-trailing-dot-vault-name": "Vault name cannot end with a dot.", "msg-invalid-folder": "Vui lòng chọn một thư mục hợp lệ.", "msg-failed-to-create-vault": "Không thể tạo khối lưu trữ.", "msg-failed-to-create-vault-at-location": "Không thể tạo khối lưu trữ tại vị trí đã cho. Vui lòng kiểm tra lại vị trí và quyền hạn.", "msg-error-failed-to-open-vault": "Không thể mở.", "msg-error-remove-current-open-vault": "Không thể xóa khối lưu trữ đang mở.", "option-get-help": "Nhận trợ giúp", "option-user-email": "Email", "placeholder-your-email": "Email của bạn...", "option-user-password": "Mật khẩu", "placeholder-your-password": "Mật khẩu của bạn...", "button-sign-in": "Đăng nhập", "button-setup": "Thiết lập", "option-connect-vault-desc": "Tạo một khối lưu trữ đồng bộ trên thiết bị này.", "tooltip-own-vault": "Đây là một khối lưu trữ từ xa do bạn sở hữu.", "tooltip-shared-vault": "Đây là một khối lưu trữ từ xa được chia sẻ với bạn.", "mobile": { "label-start-screen": "Your thoughts are yours.", "label-synced": "synced", "label-not-synced": "not synced", "label-none": "None", "label-recommended": "Recommended", "label-start-screen-desc": "Obsidian stores notes on your device, so you can access them quickly and privately, even offline.\nYour data is stored in a secure local folder called a **vault**.", "option-create": "Create a vault", "option-use-existing": "Use my existing vault", "label-sync-intro": "To access your notes on other devices you need to set up sync.", "label-sync-intro-desc": "Because Obsidian stores your notes on your devices, you'll need to set up sync if you want to access your notes on another phone or computer.\nYou can set up sync now, or just start writing and set it up later.", "option-setup-sync": "Setup Sync", "option-skip": "Skip for now", "option-skip-short": "Skip", "label-vault-create": "Choose a name for your vault.", "button-create": "Create vault", "label-sync-setup": "Sync setup", "label-sync-setup-desc": "Create a synced vault on your Obsidian account so that you can access your data from other devices.", "label-remote-vault-create": "Sync encryption", "option-encryption-custom": "End-to-end encryption", "option-encryption-custom-desc": "Offers the strongest security but requires you to safely store your encryption password", "option-encryption-managed": "Standard encryption", "option-encryption-managed-desc": "Uses a key managed by Obsidian to protect your data in transit and on our servers.", "label-sync-settings": "Sync Settings", "label-sync-settings-desc": "Do you want to exclude any folders or files when syncing to this device?", "button-start": "Start syncing", "label-sign-in-or-sign-up": "Create an Obsidian account or sign in", "option-sign-up": "Sign up", "option-sign-in": "Sign in", "button-resend-email": "Re-send email", "label-remote-vault-options": "You have existing Sync vaults", "label-remote-vault-options-desc": "Do you want to create a new vault or connect to an existing synced vault?", "option-remote-create": "Create new Sync vault", "option-remote-choose": "Choose an existing vault", "button-logout": "Log Out", "button-forgot-password": "Forgot password", "label-vault-name": "Vault name", "label-vault-location": "Vault location", "label-vault-location-desc": "Your new vault will be placed in {{vaultLocation}}", "label-region-selection": "Region", "label-region-selection-help": "Choose a server region near you to make syncing faster.", "label-encryption-key": "Encryption key", "label-encryption-key-help": "This password cannot be changed later. If you forget your password, any remote data on Sync servers will be inaccessible forever.", "placeholder-vault-name": "My vault", "opt-region-selection-automatic": "Automatic", "label-remote-vault-selection": "Choose a vault", "label-remote-vault-selection-desc": "Your account **{{email}}** has existing vaults you can connect to.", "label-sign-in": "Sign in to your Obsidian account", "label-forgot-password": "Forgot password", "button-reset-password": "Reset password", "msg-password-reset": "We have sent an email to {{email}} to reset your password.", "label-sync-method-selection": "Choose how to sync your notes", "label-sync-method-selection-desc": "To use Obsidian on your devices you will need to sync your data.", "label-sync-pro1": "Seamless across every device and OS.", "label-sync-pro2": "Secured with the strongest end-to-end encryption standard.", "label-sync-pro3": "Requires an Obsidian account.", "label-icloud-con1": "Only for iOS and macOS.", "label-icloud-con2": "Not encrypted by default.", "label-third-party-desc1": "Requires third-party plugins or tools.", "label-third-party-desc2": "May not be encrypted by default.", "opt-use-obsidian-sync": "Use Obsidian Sync", "opt-use-icloud": "Use iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "Other sync methods", "opt-use-supported": "Use supported sync methods", "label-sync-restore": "Where is your vault located?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "Other", "label-other-sync": "Third-party sync", "label-local-folder": "On this device", "option-connect-icloud": "Connect to iCloud", "option-connect-other": "Connect to other sync service", "option-connect-sync": "Connect to Obsidian Sync", "option-connect-local-folder": "Choose folder", "label-sync-other": "Other syncing methods", "label-sync-other-desc": "Obsidian officially supports two syncing methods: **Obsidian Sync** and **iCloud**.\nHowever, because Obsidian gives you control over your data there are other sync options you can use.\nThese options include third-party plugins and other tools which may require more advanced set up.\nTo use an alternate syncing method, **create a vault** and follow the instructions provided by the plugin or third-party sync provider.", "label-email-entry": "Enter your email", "label-email-entry-desc": "Your email is required to create an Obsidian account.", "label-signup": "Enter your name and password", "email-verification": "Connect to Obsidian Sync", "email-verification-desc": "You should receive an email shortly to **{{email}}** with instructions to connect to Obsidian Sync.", "icloud-missing": "iCloud", "icloud-missing-desc": "Your iCloud vault was not detected. This could be due to any of the following reasons:", "icloud-missing-reason1": "Your vault is on a different iCloud account than the one you are currently signed into on this device.", "icloud-missing-reason2": "Your vault is not stored on the top-level Obsidian folder of your iCloud Drive.", "i-cloud-unsupported": "iCloud not supported", "i-cloud-unsupported-desc": "iCloud syncing is only available on Apple devices. If your vault is currently syncing via iCloud, learn how to migrate your vault to a different sync service.", "allow-file-access": "Allow file access", "msg-login-pending": "Logging you in...", "msg-name-required": "Vault name is required", "msg-new-email-success": "New confirmation email sent.", "msg-new-email-failure": "Failed to resend email.", "msg-invalid-vault": "Vault location must be a folder." } }, "starter-content": { "welcome-filename": "Chào mừng", "welcome-file-content": "Đây là *khối lưu trữ* mới của bạn.\n\nGhi chú điều gì đó, [[tạo một liên kết]], hoặc thử [Trình nhập](https://help.obsidian.md/Plugins/Importer)!\n\nKhi bạn đã sẵn sàng, xóa ghi chú này và biến kho lưu trữ này thành của riêng bạn." }, "drag-and-drop": { "insert-link-here": "Chèn liên kết vào đây", "insert-links-here": "Chèn các liên kết vào đây", "move-into-folder": "Di chuyển vào thư mục \"{{folder}}\"", "star-this-file": "Đánh dấu sao cho tệp này", "star-these-files": "Đánh dấu sao cho các tệp này", "open-in-this-tab": "Mở trong tab này", "open-as-tab": "Mở dưới dạng tab mới" }, "window": { "maximize": "Phóng to", "minimize": "Thu nhỏ", "restore-down": "Khôi phục xuống", "close-window": "Đóng cửa sổ", "go-back": "Quay lại", "go-forward": "Tiến lên" }, "start-up": { "loading-obsidian": "Đang tải Obsidian...", "obsidian-load-error": "Đã xảy ra lỗi trong quá trình tải Obsidian.", "button-reload-app": "Tải lại ứng dụng", "button-reload-app-in-safe-mode": "Tải lại ứng dụng trong chế độ an toàn", "button-open-another-vault": "Mở một khối lưu trữ khác", "loading-plugins": "Đang tải các plugin...", "msg-plugin-hang": "Plugin “{{plugin}}” is taking long to load. ", "loading-vault": "Đang tải khối lưu trữ...", "msg-failed-to-load-vault": "Không thể tải khối lưu trữ: ", "loading-cache": "Đang tải bộ nhớ cache...", "loading-workspace": "Đang tải không gian làm việc..." }, "mobile": { "action-import": "Nhập vào khối lưu trữ", "action-insert-text-desc": "Thêm văn bản vào tệp:", "action-choose-file-to-insert": "Chọn một tệp để chèn", "action-insert-text-into-file": "Chèn văn bản vào {{filename}}", "action-insert-link-into-file": "Chèn liên kết vào {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "Đang nhập...", "msg-import-success": "Nhập thành công", "msg-failed-to-import-file": "Không thể nhập tệp {{filename}}", "msg-back-again-to-exit": "Nhấn lại nút back để thoát.", "feedback": { "label-feedback": "Feedback", "label-feedback-desc": "Are you enjoying Obsidian? Help us by giving it a rating.", "action-rate": "Rate the app", "action-dismiss": "Dismiss" } }, "help-screen": { "label-official-help-site": "Trang web trợ giúp chính thức", "label-official-help-site-desc": "Đọc tài liệu trợ giúp chính thức của Obsidian, có sẵn trong nhiều ngôn ngữ.", "action-visit": "Truy cập", "label-discord-chat": "Trò chuyện qua Discord", "label-discord-chat-desc": "Discord là nơi tốt nhất để trò chuyện với các người dùng Obsidian có kinh nghiệm từ khắp nơi trên thế giới.", "action-join": "Tham gia", "label-forum": "Diễn đàn chính thức", "label-forum-desc": "Giúp đỡ lẫn nhau, đăng yêu cầu tính năng, báo cáo lỗi và có những cuộc thảo luận sâu sắc về quản lý kiến thức.", "label-sandbox-vault": "Khối lưu trữ sandbox", "label-sandbox-vault-desc": "Chơi và thử nghiệm các tính năng khác nhau. Lưu ý rằng các thay đổi của bạn sẽ không được lưu lại." } }, "commands": { "save-file": "Lưu tệp hiện tại", "download-attachments": "Download attachments for current file", "follow-cursor-link": "Chuyển tới liên kết dưới con trỏ", "open-cursor-link-in-new-tab": "Mở liên kết dưới con trỏ vào tab mới", "open-cursor-link-to-the-right": "Mở liên kết dưới con trỏ sang bên phải", "open-cursor-link-in-new-window": "Mở liên kết dưới con trỏ vào cửa sổ mới", "navigate-tab-above": "Chuyển tới nhóm tab phía trên", "navigate-tab-below": "Chuyển tới nhóm tab phía dưới", "navigate-tab-left": "Chuyển tới nhóm tab bên trái", "navigate-tab-right": "Chuyển tới nhóm tab bên phải", "toggle-pin": "Bật/tắt ghim", "split-right": "Chia làm hai cửa sổ bên phải", "split-down": "Chia làm hai cửa sổ bên dưới", "toggle-stacked-tabs": "Bật/tắt các tab xếp chồng", "navigate-back": "Quay lại trang trước", "navigate-forward": "Chuyển tới trang sau", "use-dark-mode": "Sử dụng chế độ tối", "use-light-mode": "Sử dụng chế độ sáng", "change-theme": "Thay đổi chủ đề", "search-current-file": "Tìm kiếm trong tệp hiện tại", "search-replace-current-file": "Tìm kiếm và thay thế trong tệp hiện tại", "add-property": "Thêm thuộc tính tệp", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "Thêm bí danh", "clear-properties": "Xóa thuộc tính tệp", "open-settings": "Mở cài đặt", "open-help": "Mở trợ giúp", "toggle-edit": "Bật/tắt chế độ chỉnh sửa/xem", "toggle-source-mode": "Bật/tắt chế độ xem trước/nguồn", "delete-current-file": "Xóa tệp hiện tại", "new-tab": "Tab mới", "show-trash": "Show trash", "close-all-tabs": "Đóng tất cả tab", "close-active-tab": "Đóng tab hiện tại", "close-others-in-tab-group": "Đóng các tab khác trong nhóm tab", "close-other-tabs": "Đóng tất cả các tab khác", "close-tab-group": "Đóng nhóm tab này", "toggle-left-sidebar": "Bật/tắt thanh bên trái", "toggle-ribbon": "Toggle ribbon", "toggle-right-sidebar": "Bật/tắt thanh bên phải", "toggle-default-new-tab-mode": "Bật/tắt chế độ mặc định cho tab mới", "add-cursor-above": "Add cursor above", "add-cursor-below": "Add cursor below", "focus-editor": "Chuyển tới trình soạn thảo", "toggle-fold-properties": "Toggle fold properties in current file", "toggle-fold": "Bật/tắt gấp dòng ở dòng hiện tại", "fold-all": "Gấp tất cả tiêu đề và danh sách", "unfold-all": "Mở rộng tất cả tiêu đề và danh sách", "fold-more": "Gấp nhiều hơn", "fold-less": "Gấp ít hơn", "swap-line-up": "Hoán đổi dòng lên trên", "swap-line-down": "Hoán đổi dòng xuống dưới", "remove-heading": "Xóa tiêu đề", "toggle-heading": "Đặt làm tiêu đề {{level}}", "toggle-bold": "Bật/tắt chế độ in đậm cho lựa chọn", "toggle-italics": "Bật/tắt chế độ in nghiêng cho lựa chọn", "toggle-highlight": "Bật/tắt chế độ tô sáng cho lựa chọn", "toggle-comments": "Bật/tắt chế độ bình luận cho lựa chọn", "clear-formatting": "Clear formatting", "insert-link": "Chèn liên kết", "toggle-spellcheck": "Bật/tắt kiểm tra chính tả", "delete-paragraph": "Xóa đoạn văn", "toggle-checklist": "Bật/tắt trạng thái checklist", "cycle-list-checklist": "Chuyển đổi loại đầu mục/checkbox", "insert-callout": "Chèn lời gọi", "insert-code-block": "Insert code block", "insert-math-block": "Insert math block", "insert-horizontal-rule": "Insert horizontal rule", "insert-table": "Insert table", "insert-footnote": "Insert footnote", "edit-file-title": "Chỉnh sửa tiêu đề tệp", "copy-path": "Sao chép đường dẫn tệp", "copy-url": "Sao chép URL Obsidian", "export-pdf": "Xuất ra PDF", "reload": "Tải lại ứng dụng mà không lưu", "undo-close-tab": "Hoàn tác đóng tab", "context-menu": "Hiển thị menu ngữ cảnh dưới con trỏ", "show-debug-info": "Hiển thị thông tin gỡ lỗi", "open-sandbox-vault": "Mở kho lưu trữ sandbox", "always-on-top": "Bật/tắt cửa sổ luôn nằm trên cùng", "zoom-in": "Phóng to", "zoom-out": "Thu nhỏ", "reset-zoom": "Đặt lại phóng to/thu nhỏ", "toggle-preview": "Bật/tắt chế độ chỉnh sửa/xem trước", "move-to-new-window": "Di chuyển khung hiện tại vào cửa sổ mới", "open-in-new-window": "Mở khung hiện tại vào cửa sổ mới", "rename-current-file": "Đổi tên tệp hiện tại", "go-to-prev-tab": "Chuyển đến tab trước", "go-to-next-tab": "Chuyển đến tab tiếp theo", "go-to-last-tab": "Chuyển đến tab cuối cùng", "go-to-nth-tab": "Chuyển đến tab số {{n}}", "show-release-notes": "Hiển thị ghi chú phát hành" }, "dialogue": { "label-link-affected": "Điều này sẽ ảnh hưởng đến {{links}} trong {{files}}.", "msg-updated-links": "Đã cập nhật {{links}} trong {{files}}.", "label-update-links": "Cập nhật liên kết", "label-confirm-update-link-to-file": "Bạn có muốn cập nhật các liên kết nội bộ đến tệp này không?", "button-always-update": "Luôn cập nhật", "button-just-once": "Chỉ một lần", "button-do-not-update": "Không cập nhật", "label-confirm-deletion": "Bạn có chắc chắn muốn xóa \"{{filename}}\" không?", "label-move-to-system-trash": "Tệp sẽ được di chuyển vào thùng rác của hệ thống.", "label-move-to-vault-trash": "Tệp sẽ được di chuyển vào thùng rác của Obsidian, nằm trong thư mục ẩn \".trash\" trong kho lưu trữ của bạn.", "label-permanent-delete": "Tệp sẽ bị xóa vĩnh viễn.", "label-non-empty-folder": "Thư mục này không trống.", "label-delete-folder-warning": "Nếu bạn tiếp tục, tất cả các tệp trong thư mục này sẽ bị xóa.", "label-delete-folder": "Xóa thư mục", "button-delete": "Xóa", "button-delete-do-not-ask-again": "Xóa và không hỏi lại", "label-do-not-ask-again": "Không hỏi lại", "label-existing-backlink": "Hiện tại có {{count}} liên kết trỏ đến ghi chú này.", "label-existing-backlink_plural": "Hiện tại có {{count}} liên kết trỏ đến ghi chú này.", "label-delete-file": "Xóa tệp", "label-download-attachments": "Download attachments", "label-no-attachments": "There are no external attachments in this note.", "label-downloaded-attachments": "Downloaded {{count}} attachment.", "label-downloaded-attachments_plural": "Downloaded {{count}} attachments.", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "Quản lý", "button-view": "View", "button-confirm": "Confirm", "button-cancel": "Hủy bỏ", "button-download": "Download", "button-done": "Hoàn tất", "button-save": "Lưu", "button-stop": "Dừng", "button-continue": "Tiếp tục", "button-choose": "Choose", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "Đang chuẩn bị PDF...", "label-rename-file": "Đổi tên tệp", "label-rename-file-generic": "Tên tệp", "label-new-name": "Tên mới", "msg-rename-success": "Đổi tên tệp thành công.", "msg-merge-failed": "Failed to merge notes: {{message}}", "msg-file-or-folder-not-found": "The file or folder “{{path}}” does not exist.", "msg-heading-empty": "Heading cannot be empty", "msg-block-id-empty": "Block ID cannot be empty", "msg-block-id-invalid": "Block ID can only contain alphanumeric characters or dash", "label-rename-heading": "Đổi tên tiêu đề", "label-rename-blockid": "Đổi tên ID khối" }, "menu-items": { "new-file": "Tạo Ghi Chú", "new-file-to-the-right": "Ghi Chú Mới Bên Phải", "new-window": "Cửa Sổ Mới", "open-switcher": "Mở Chuyển Đổi Nhanh...", "open-vault": "Mở Kho Lưu Trữ...", "close-tab": "Đóng Tab", "close-window": "Đóng Cửa Sổ", "find": "Tìm Kiếm", "replace": "Thay Thế", "insert-callout": "Callout", "insert-markdown-link": "Liên Kết Markdown", "insert-wikilink": "Liên Kết", "set-heading": "Đặt Tiêu Đề {{level}}", "no-heading": "Không Có Tiêu Đề", "insert-quote": "Trích Dẫn", "export-pdf": "Xuất PDF", "insert-attachment": "Insert Attachment...", "insert-codeblock": "Code Block", "insert-math-block": "Math Block", "insert-table": "Bảng", "insert-footnote": "Footnote", "toggle-bullet-list": "Danh Sách Đánh Dấu", "toggle-numbered-list": "Danh Sách Đánh Số", "toggle-checklist": "Danh Sách Công Việc", "toggle-bold": "In Đậm", "toggle-code": "Mã", "toggle-comment": "Chú Thích", "toggle-italics": "Nghiêng", "toggle-inline-math": "Math", "toggle-highlight": "Tô Màu", "toggle-strikethrough": "Gạch Ngang", "toggle-comments": "Chú Thích", "folding-menu": "Folding", "fold-all": "Thu Gọn Tất Cả", "unfold-all": "Mở Rộng Tất Cả", "fold-more": "Thu Gọn Nhiều Hơn", "fold-less": "Thu Gọn Ít Hơn", "source-mode": "Chế Độ Nguồn", "reading-view": "Chế Độ Đọc", "show-debug-info": "Hiển Thị Thông Tin Gỡ Lỗi", "open-sandbox": "Mở Kho Lưu Trữ Sandbox", "navigate-back": "Điều Hướng Quay Lại", "navigate-forward": "Điều Hướng Tiến Lên", "toggle-left-sidebar": "Bật/Tắt Thanh Bên Trái", "toggle-right-sidebar": "Bật/Tắt Thanh Bên Phải", "toggle-ribbon": "Ribbon", "split-right": "Chia 2 Bên Phải", "split-down": "Chia 2 Xuống Dưới", "release-notes": "Lịch Sử Cập Nhật" }, "plugins": { "name": "Plugin", "file-explorer": { "name": "Trình duyệt tệp", "desc": "Xem tất cả các tệp trong thư mục của bạn.", "action-open": "Mở trình duyệt tệp", "action-show": "Hiển thị trình duyệt tệp", "action-create-note": "Tạo ghi chú mới", "action-create-folder": "Create new folder", "action-create-note-in-current-tab": "Tạo ghi chú mới trong tab hiện tại", "action-create-note-to-the-right": "Tạo ghi chú bên phải", "action-auto-reveal": "Auto-reveal current file", "action-collapse-all": "Thu gọn tất cả", "action-expand-all": "Mở rộng tất cả", "action-new-note": "Ghi chú mới", "action-new-folder": "Thư mục mới", "action-change-sort": "Thay đổi thứ tự sắp xếp", "action-reveal-file": "Hiển thị tệp trong trình duyệt tệp", "action-reveal-active-file": "Hiển thị tệp hoạt động trong trình duyệt tệp", "command-make-a-copy": "Tạo bản sao của tệp hiện tại", "command-make-a-copy-mac": "Duplicate current file", "command-move-file": "Di chuyển tệp đến thư mục khác", "action-new-folder-with-count": "New folder with selection ({{count}} item)", "action-new-folder-with-count_plural": "New folder with selection ({{count}} items)", "action-move-file": "Di chuyển tệp đến...", "action-move-folder": "Di chuyển thư mục đến...", "action-move-items": "Di chuyển {{count}} mục đến...", "prompt-type-folder": "Nhập tên thư mục", "label-no-folders": "Không tìm thấy thư mục nào.", "instruction-navigate": "để điều hướng", "instruction-move": "để di chuyển", "instruction-create": "để tạo", "instruction-dismiss": "để hủy", "label-sort-a-to-z": "Sắp xếp theo tên tệp (A đến Z)", "label-sort-z-to-a": "Sắp xếp theo tên tệp (Z đến A)", "label-sort-new-to-old": "Sắp xếp theo thời gian chỉnh sửa (mới đến cũ)", "label-sort-old-to-new": "Sắp xếp theo thời gian chỉnh sửa (cũ đến mới)", "label-sort-created-old-to-new": "Thời gian tạo (cũ đến mới)", "label-sort-created-new-to-old": "Thời gian tạo (mới đến cũ)", "menu-opt-new-note": "Ghi chú mới", "menu-opt-new-folder": "Thư mục mới", "menu-opt-rename": "Đổi tên", "menu-opt-delete": "Xóa", "menu-opt-make-copy": "Tạo bản sao", "menu-opt-make-copy-mac": "Duplicate", "msg-invalid-characters": "Tên tệp không được chứa bất kỳ ký tự sau: ", "msg-unsafe-characters": "Liên kết sẽ không hoạt động với tên tệp chứa bất kỳ ký tự sau: ", "msg-file-already-exists": "Đã có một tệp với cùng tên", "msg-empty-file-name": "Tên tệp không được để trống.", "msg-bad-dotfile": "Tên tệp không được bắt đầu bằng dấu chấm.", "tooltip-modified-time": "Đã chỉnh sửa lần cuối vào lúc {{time}}", "tooltip-created-time": "Đã tạo vào lúc {{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "Chưa đặt tên", "label-untitled-folder": "Chưa đặt tên", "msg-set-attachment-folder": "Tệp đính kèm sẽ được lưu vào \"{{path}}\" từ bây giờ trở đi." }, "search": { "name": "Tìm kiếm", "desc": "Tìm kiếm từ khóa trong tất cả các ghi chú.", "action-open-search": "Tìm kiếm trong tất cả các tệp", "label-collapse-results": "Thu gọn kết quả", "label-match-case": "Khớp chữ hoa/thường", "label-explain-search-term": "Giải thích thuật ngữ tìm kiếm", "label-more-context": "Hiển thị nhiều ngữ cảnh hơn", "label-result-count": "{{count}} kết quả", "label-result-count_plural": "{{count}} kết quả", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "Cài đặt tìm kiếm", "prompt-start-search": "Nhập để bắt đầu tìm kiếm...", "label-match-text": "Khớp văn bản: ", "label-match-regex": "Khớp biểu thức chính quy: ", "label-match-exact-text": "Chứa văn bản chính xác: ", "label-match-greater-than": "Greater than: ", "label-match-less-than": "Less than: ", "label-match-true": "Is true", "label-match-false": "Is false", "label-match-empty": "Is empty", "label-match-property": "Contains property:", "label-match-all": "Khớp tất cả trong: ", "label-match-any": "Khớp bất kỳ trong: ", "label-excluding": "Ngoại trừ: ", "label-case-sensitive": "Phân biệt chữ hoa/thường", "label-case-insensitive": "Không phân biệt chữ hoa/thường", "label-match-file-path": "Khớp đường dẫn tệp: ", "label-match-file-name": "Khớp tên tệp: ", "label-match-content": "Khớp nội dung tệp: ", "label-match-task": "Khớp nhiệm vụ: ", "label-match-task-todo": "Khớp nhiệm vụ (chưa hoàn thành): ", "label-match-task-done": "Khớp nhiệm vụ (đã hoàn thành): ", "label-match-line": "Khớp dòng: ", "label-match-block": "Khớp khối: ", "label-match-section": "Khớp mục: ", "label-match-tag": "Khớp thẻ: ", "label-no-matches": "Không tìm thấy kết quả.", "matches-with-count": "... và thêm {{count}} kết quả.", "matches-with-count_plural": "... và thêm {{count}} kết quả.", "label-copy-search-results": "Sao chép kết quả tìm kiếm", "button-copy-results": "Sao chép kết quả", "msg-successfully-copied": "Kết quả đã được sao chép vào clipboard của bạn.", "option-show-path": "Hiển thị đường dẫn", "option-show-path-description": "Hiển thị đường dẫn đầy đủ của tệp thay vì chỉ tên tệp.", "option-link-style": "Kiểu liên kết", "option-link-style-description": "Tùy chọn chuyển mỗi kết quả tệp thành liên kết.", "option-choice-link-style-none": "Không", "option-choice-link-style-wikilink": "Liên kết Wiki", "option-choice-link-style-markdown-link": "Liên kết Markdown", "option-list-prefix": "Tiền tố danh sách", "option-list-prefix-description": "Tùy chọn thêm tiền tố mục danh sách vào mỗi kết quả tệp.", "option-choice-list-style-none": "Không", "option-choice-list-style-dash": "Gạch ngang (-)", "option-choice-list-style-asterisk": "Dấu hoa thị (*", "option-choice-list-style-numbered": "Đánh số", "tooltip-clear-search": "Xóa tìm kiếm", "label-search-options": "Tùy chọn tìm kiếm", "label-properties-group": "Properties", "label-tags-group": "Tags", "tooltip-read-more": "Đọc thêm", "label-history": "Lịch sử", "tooltip-clear-history": "Xóa lịch sử tìm kiếm", "label-path-option-description": "khớp đường dẫn tệp", "label-file-name-option-description": "khớp tên tệp", "label-tag-option-description": "tìm kiếm các thẻ", "label-line-option-description": "tìm kiếm từ khóa trên cùng một dòng", "label-section-option-description": "tìm kiếm từ khóa trong tiêu đề cùng", "label-property-option-description": "match property", "menu-opt-search-for": "Tìm kiếm cho \"{{keyword}}\"", "menu-opt-search-in-folder": "Search in folder" }, "quick-switcher": { "name": "Bộ chuyển đổi nhanh", "desc": "Chuyển đến bất kỳ tệp nào mà không cần rời bàn phím. Nhấn Ctrl/Cmd+O để kích hoạt.", "short-name": "Chuyển đổi", "action-open": "Mở bộ chuyển đổi nhanh", "instruction-navigate": "để điều hướng", "instruction-open": "để mở", "instruction-open-in-new-tab": "để mở trong tab mới", "instruction-open-to-the-right": "để mở bên phải", "instruction-create": "để tạo", "instruction-dismiss": "để hủy", "instruction-select": "để chọn", "label-no-note-create-new": "Không tìm thấy ghi chú nào. Nhấn Enter để tạo ghi chú mới.", "prompt-type-file-name": "Nhập tên tệp để chuyển đến hoặc tạo...", "label-enter-to-create": "Nhấn Enter để tạo", "tooltip-not-created-yet": "Chưa được tạo, chọn để tạo", "option-show-existing-only": "Chỉ hiển thị tệp đã tồn tại", "option-show-existing-only-description": "Cho phép hiển thị các liên kết đến các tệp chưa được tạo.", "option-show-attachments": "Hiển thị tệp đính kèm", "option-show-attachments-desc": "Hiển thị các tệp đính kèm như hình ảnh, video và PDF.", "option-show-all-file-types": "Hiển thị tất cả các loại tệp", "option-show-all-file-types-desc": "Hiển thị tất cả các tệp bao gồm cả những tệp mà Obsidian không thể mở. Tệp sẽ được mở bằng ứng dụng mặc định cho loại tệp đó." }, "graph-view": { "name": "Xem biểu đồ", "desc": "Xem tổng quan biểu đồ về các ghi chú liên kết với nhau.", "action-open": "Mở xem biểu đồ", "action-open-local": "Mở biểu đồ cục bộ", "action-copy-screenshot": "Sao chép ảnh chụp màn hình", "tab-title": "Biểu đồ của {{displayText}}", "label-filters": "Bộ lọc", "prompt-filter-nodes": "Tìm kiếm tệp...", "option-depth": "Độ sâu", "option-depth-description": "Hiển thị các nút cách này một số liên kết", "option-neighbor-links": "Liên kết hàng xóm", "option-neighbor-links-description": "Hiển thị liên kết giữa các hàng xóm.", "option-forelinks": "Liên kết đi ra", "option-forelinks-description": "Hiển thị liên kết đến các tệp khác", "option-backlinks": "Liên kết đến", "option-backlinks-description": "Hiển thị liên kết từ các tệp khác", "option-show-tags": "Thẻ", "option-show-tags-description": "Thẻ liên kết với các tệp chứa chúng", "option-show-attachments": "Tệp đính kèm", "option-show-attachments-description": "Hiển thị các tệp đính kèm được bao gồm bởi tệp", "option-show-existing-files-only": "Chỉ hiển thị tệp hiện có", "option-show-existing-files-only-description": "Khi được chọn, các liên kết đến các tệp không tồn tại sẽ không được hiển thị", "option-show-orphans": "Tệp mô côi", "option-show-orphans-description": "Hiển thị các tệp không liên kết với bất kỳ tệp nào khác", "label-display": "Hiển thị", "option-show-arrows": "Mũi tên", "option-show-arrows-description": "Hiển thị mũi tên khi phóng to", "option-text-fade": "Ngưỡng mờ văn bản", "option-node-size": "Kích thước nút", "option-link-thickness": "Độ dày liên kết", "label-forces": "Lực", "option-center-force": "Lực tâm", "option-link-force": "Lực liên kết", "option-link-distance": "Khoảng cách liên kết", "option-repel-force": "Lực đẩy", "tooltip-open-graph-settings": "Mở cài đặt biểu đồ", "msg-screenshot-copied": "Ảnh chụp màn hình đã được sao chép vào clipboard.", "label-groups": "Nhóm", "placeholder-enter-query": "Nhập truy vấn...", "tooltip-delete-graph": "Xóa nhóm", "button-new-group": "Nhóm mới", "tooltip-click-to-change-drag-to-reorder": "Nhấp để thay đổi màu sắc\nKéo để sắp xếp lại các nhóm", "action-timelapse": "Bắt đầu hoạt ảnh dòng thời gian của biểu đồ", "tooltip-start-timelapse-animation": "Bắt đầu hoạt ảnh dòng thời gian", "button-animate-timelapse": "Hoạt ảnh" }, "backlinks": { "name": "Liên kết đến", "desc": "Hiển thị số lượng liên kết đến trong thanh trạng thái.", "action-open": "Mở liên kết đến", "action-show": "Hiển thị thanh liên kết đến", "action-open-for-current": "Mở liên kết đến cho tệp hiện tại", "action-toggle-backlinks-in-document": "Bật/tắt liên kết đến trong tài liệu", "menu-opt-backlinks-in-document": "Liên kết đến trong tài liệu", "label-linked-mentions": "Lưu ý đã liên kết", "label-no-backlinks": "Không tìm thấy liên kết đến nào.", "label-unlinked-mentions": "Lưu ý không liên kết", "label-show-search": "Hiển thị bộ lọc tìm kiếm", "label-link-button-text": "Liên kết", "tab-title": "Liên kết đến của {{displayText}}", "label-no-unlinked-mentions": "Không tìm thấy lưu ý không liên kết nào.", "ellipsis": "...", "option-backlink-in-document": "Liên kết đến trong tài liệu", "option-backlink-in-document-desc": "Mặc định hiển thị liên kết đến trong tài liệu khi mở các ô mới." }, "outgoing-links": { "name": "Liên kết đi ra", "desc": "Hiển thị các liên kết đi ra và phát hiện các lưu ý không liên kết của các ghi chú khác trong ghi chú hiện tại.", "action-open": "Mở liên kết đi ra", "action-show": "Hiển thị thanh liên kết đi ra", "action-open-for-current": "Mở liên kết đi ra cho tệp hiện tại", "tab-title": "Liên kết đi ra từ {{displayText}}", "label-links": "Liên kết", "label-no-links": "Không tìm thấy liên kết nào.", "label-unlinked-mentions": "Lưu ý không liên kết", "tooltip-link-file": "Liên kết tệp này", "tooltip-not-created": "Chưa được tạo" }, "tag-pane": { "name": "Cửa sổ thẻ", "short-name": "Tags", "desc": "Hiển thị tất cả các thẻ của bạn cùng với số lần xuất hiện của chúng.", "action-show": "Hiển thị cửa sổ thẻ", "label-no-tags": "Không tìm thấy thẻ nào.", "label-sort-by-name-a-to-z": "Tên thẻ (A đến Z)", "label-sort-by-name-z-to-a": "Tên thẻ (Z đến A)", "label-sort-by-frequency-high-to-low": "Tần suất (cao đến thấp)", "label-sort-by-frequency-low-to-high": "Tần suất (thấp đến cao)", "action-show-nested-tags": "Hiển thị thẻ lồng nhau", "action-collapse-all": "Thu gọn tất cả", "action-expand-all": "Mở rộng tất cả" }, "footnotes-pane": { "name": "Footnotes view", "short-name": "Footnotes", "desc": "Show a list of footnotes from the current note.", "action-show": "Show footnotes", "label-no-footnotes": "No footnotes found." }, "properties": { "name": "Xem thuộc tính", "desc": "Hiển thị metadata cho các tệp của bạn.", "name-global": "Tất cả thuộc tính", "name-local": "Thuộc tính tệp", "tab-title": "Thuộc tính tệp cho {{displayText}}", "action-show": "Hiển thị tất cả thuộc tính", "action-show-local": "Hiển thị thuộc tính tệp", "opt-unassign-type": "Hủy gán loại", "label-no-properties": "Không tìm thấy thuộc tính nào.", "label-invalid-properties": "Thuộc tính không hợp lệ.", "label-sort-by-name-a-to-z": "Tên thuộc tính (A đến Z)", "label-sort-by-name-z-to-a": "Tên thuộc tính (Z đến A)", "label-sort-by-frequency-high-to-low": "Tần suất (cao đến thấp)", "label-sort-by-frequency-low-to-high": "Tần suất (thấp đến cao)", "msg-merge-properties-warning": "Hợp nhất thuộc tính “{{oldKey}}” với “{{newKey}}”?", "msg-merge-properties-warning-desc": "Trong trường hợp có xung đột, các giá trị sẽ được hợp nhất hoặc giá trị từ “{{oldKey}}” sẽ được sử dụng.", "action-collapse-all": "Thu gọn tất cả", "action-expand-all": "Mở rộng tất cả", "action-open-local": "Mở thuộc tính tệp", "action-open-daily-note": "Mở ghi chú hàng ngày" }, "page-preview": { "name": "Xem trước trang", "desc": "Xem trước ghi chú khi di chuột qua liên kết nội bộ. Nhấn Ctrl/Cmd + di chuột trong chế độ chỉnh sửa.", "label-empty-attachment": "“{{linktext}}” could not be found.", "label-empty-note": "\"{{linktext}}\" chưa được tạo. Nhấp để tạo.", "label-missing-footote": "Footnote {{id}} not found. Click to create.", "label-source-editor": "Trình chỉnh sửa", "label-source-preview": "Xem trước", "label-source-search": "Tìm kiếm, Liên kết đến và Liên kết đi ra", "label-source-tab-header": "Tab header", "label-require-mod": "Yêu cầu {{key}} để kích hoạt xem trước trang khi di chuột qua" }, "bookmarks": { "name": "Đánh dấu", "desc": "Đánh dấu tệp và tìm kiếm được sử dụng thường xuyên.", "action-show": "Hiển thị đánh dấu", "action-collapse-all": "Thu gọn tất cả", "action-new-bookmark": "Đánh dấu tab hoạt động...", "action-new-group": "Nhóm đánh dấu mới", "action-bookmark": "Đánh dấu...", "action-add-bookmark": "Add bookmark", "action-edit-bookmark": "Chỉnh sửa đánh dấu", "action-bookmark-block": "Đánh dấu khối dưới con trỏ...", "action-bookmark-heading": "Đánh dấu tiêu đề dưới con trỏ...", "action-bookmark-search": "Đánh dấu tìm kiếm hiện tại...", "action-remove-bookmark": "Xóa đánh dấu cho tệp hiện tại", "action-bookmark-tab-group": "Đánh dấu {{count}} tab...", "action-bookmark-tab-group_plural": "Đánh dấu {{count}} tab...", "action-bookmark-all-tabs": "Đánh dấu tất cả các tab...", "action-bookmark-graph": "Đánh dấu biểu đồ này...", "label-bookmark": "Bookmark", "label-bookmarked": "Bookmarked", "label-bookmark-with-count": "{{count}} đánh dấu", "label-bookmark-with-count_plural": "{{count}} đánh dấu", "label-no-bookmarks": "Không tìm thấy đánh dấu nào", "label-invalid-data": "Failed to load bookmarks.", "label-invalid-data-desc": "The data file is corrupted.", "label-untitled-group": "Untitled group", "label-untitled-graph": "Biểu đồ chưa đặt tên", "menu-opt-edit": "Chỉnh sửa...", "menu-opt-remove": "Xóa", "menu-opt-rename": "Đổi tên", "menu-opt-bookmark-block": "Bookmark this block...", "menu-opt-bookmark-heading": "Đánh dấu tiêu đề này...", "msg-no-search-query": "Không có truy vấn tìm kiếm để đánh dấu.", "option-path": "Đường dẫn", "option-query": "Truy vấn", "option-u-r-l": "URL", "option-title": "Tiêu đề", "option-group": "Nhóm đánh dấu", "placeholder-bookmark-group": "Đánh dấu" }, "custom-css": { "name": "Tùy chỉnh CSS", "desc": "Đọc \"obsidian.css\" trong hòm chứa và áp dụng nó.", "setting-community-themes": "Chủ đề cộng đồng", "msg-fetching-themes": "Đang lấy dữ liệu chủ đề cộng đồng...", "prompt-filter": "Bộ lọc...", "label-dark-theme-only": "Chỉ chủ đề tối", "label-light-theme-only": "Chỉ chủ đề sáng", "label-use": "Sử dụng", "label-stop-use": "Ngừng sử dụng chủ đề này", "label-install-and-use": "Cài đặt và sử dụng", "label-update": "Cập nhật", "label-no-readme": "Chủ đề này không cung cấp tệp README.", "tooltip-remove-theme": "Xóa chủ đề", "label-visit-on-github": "Ghé thăm trên GitHub", "msg-load-error": "Không thể tải dữ liệu chủ đề cộng đồng, vui lòng kiểm tra mạng của bạn.", "msg-now-using-theme": "Bạn đang sử dụng chủ đề {{title}} làm CSS của bạn.", "msg-deleted-theme": "Chủ đề {{title}} đã bị xóa.", "msg-updated-theme": "Chủ đề {{title}} đã được cập nhật.", "label-installed": "Đã cài đặt", "label-legacy": "Kế thừa", "button-update-all-themes": "Cập nhật tất cả", "msg-failed-load-themes": "Không thể tải dữ liệu chủ đề cộng đồng.", "msg-no-updates-found": "Không tìm thấy cập nhật chủ đề.", "msg-updates-found": "Tìm thấy {{count}} chủ đề để cập nhật.", "msg-updates-found_plural": "Tìm thấy {{count}} chủ đề để cập nhật.", "msg-failed-to-install-theme": "Không thể cài đặt chủ đề \"{{name}}\".", "msg-successfully-installed-theme": "Đã cài đặt thành công chủ đề \"{{name}}\".", "msg-installing-theme": "Đang cài đặt chủ đề \"{{name}}\"...", "label-search-summary": "Hiển thị {{themeCount}}:", "label-update-available": "Có cập nhật" }, "command-palette": { "name": "Khay lệnh", "desc": "Gõ một lệnh để kích hoạt nó. Không cần sử dụng giao diện người dùng hoặc nhớ phím tắt.", "action-open": "Mở khay lệnh", "instruction-navigate": "để di chuyển", "instruction-use": "để sử dụng", "instruction-dismiss": "để hủy", "label-no-commands": "Không tìm thấy lệnh.", "prompt-type-command": "Nhập lệnh...", "label-pinned-commands": "Lệnh được ghim", "option-add-new-pin": "Lệnh được ghim mới", "option-add-new-pin-description": "Các lệnh được ghim sẽ xuất hiện ở đầu danh sách lệnh khi không có truy vấn tìm kiếm." }, "markdown-format-importer": { "name": "Bộ chuyển đổi định dạng Markdown", "desc": "Chuyển đổi định dạng Markdown từ các ứng dụng khác sang định dạng Obsidian.", "action-open": "Mở trình chuyển đổi Markdown", "option-roam-tag-fixer": "Sửa lỗi thẻ Roam Research", "option-roam-tag-fixer-description": "Chuyển \"#tag\" và \"#[[tag]]\" thành \"[[tag]]\".", "option-roam-highlight-fixer": "Sửa lỗi tô sáng Roam Research", "option-roam-highlight-fixer-description": "Chuyển \"^^highlight^^\" thành \"==highlight==\".", "option-roam-todo-converter": "Chuyển đổi ToDo Roam Research", "option-roam-todo-converter-description": "Chuyển \"{{[[TODO]]}}\" thành \"[ ]\".", "option-bear-highlight-fixer": "Sửa lỗi tô sáng Bear", "option-bear-highlight-fixer-description": "Chuyển \"::highlight::\" thành \"==highlight==\".", "zettelkasten-link-fixer": "Sửa lỗi liên kết Zettelkasten", "zettelkasten-link-fixer-description": "Sửa liên kết \"[[UID]]\" thành \"[[UID File Name]]\" đầy đủ.", "zettelkasten-link-beautifier": "Sửa lỗi liên kết Zettelkasten", "zettelkasten-link-beautifier-description": "Sửa liên kết \"[[UID]]\" và làm đẹp chúng \"[[UID File Name|File Name]]\".", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "Cảnh báo: trình chuyển đổi sẽ chuyển đổi tất cả các tệp trong hòm chứa của bạn, không chỉ tệp hiện tại.", "msg-override-files-warning": "Các tệp của bạn sẽ bị ghi đè. Sao lưu tất cả các tệp của bạn trước khi thực hiện việc chuyển đổi.", "label-start-conversion": "Bắt đầu Chuyển đổi", "label-stop": "Dừng", "label-go-back": "Quay lại", "label-done": "Xong", "label-processing": "Đang xử lý...", "label-cancelling": "Đang hủy...", "label-finished": "Hoàn tất!", "label-processed-files": "Tệp đã xử lý", "label-modified-files": "Tệp đã sửa đổi", "label-total-replacements": "Tổng số sửa đổi", "label-failed": "Failed" }, "daily-notes": { "name": "Ghi chú hàng ngày", "desc": "Mở ghi chú hàng ngày hôm nay hoặc tạo một ghi chú mới nếu không có.", "short-name": "Hôm nay", "action-open": "Mở ghi chú hôm nay", "action-open-previous": "Mở ghi chú hàng ngày trước đó", "action-open-next": "Mở ghi chú hàng ngày kế tiếp", "action-insert-text": "Chèn văn bản vào ghi chú hàng ngày", "action-insert-link": "Chèn liên kết vào ghi chú hàng ngày", "msg-fail-format": "Không thể tạo ghi chú hàng ngày. \"{{format}}\" không phải là định dạng hợp lệ.", "msg-fail-folder": "Không thể tạo ghi chú hàng ngày. Thư mục \"{{folderOption}}\" không tìm thấy.", "msg-fail-template-file": "Không thể tạo ghi chú hàng ngày. Tệp mẫu \"{{template}}\" không tìm thấy.", "msg-no-previous": "Không có ghi chú hàng ngày trước đó.", "msg-no-next": "Không có ghi chú hàng ngày sau đó.", "option-date-format": "Định dạng ngày", "label-refer-to-syntax": "Để biết thêm cú pháp, hãy tham khảo: ", "label-syntax-link": "tham chiếu định dạng", "label-syntax-live-preview": "Dưới đây là nhìn trước trực tiếp: ", "option-new-file-location": "Vị trí tệp mới", "option-new-file-location-description": "Đường dẫn thư mục để tạo ghi chú hàng ngày mới.", "option-template": "Vị trí tệp mẫu", "option-template-description": "Đường dẫn tệp để sử dụng làm mẫu.", "option-open-on-start": "Mở ghi chú hàng ngày khi khởi động", "option-open-on-start-description": "Tự động mở ghi chú hàng ngày của bạn mỗi khi bạn mở hòm chứa này." }, "unique-note-creator": { "name": "Tạo ghi chú duy nhất", "desc": "Tạo ghi chú với tiền tố thời gian duy nhất, cho các quy trình làm việc như zettelkasten hoặc slip box.", "short-name": "Duy nhất", "action-create-note": "Tạo ghi chú mới duy nhất", "action-add-link": "Add unique internal link", "option-new-file-location": "Vị trí tập tin mới", "option-new-file-location-description": "Đường dẫn thư mục để tạo ghi chú mới duy nhất.", "msg-folder-not-found": "Không thể tạo ghi chú duy nhất. Thư mục \"{{folderOption}}\" không tìm thấy.", "option-template-file": "Vị trí tập tin mẫu", "option-template-file-description": "Đường dẫn tập tin để sử dụng làm mẫu.", "option-template-file-placeholder": "Ví dụ: folder1/note", "option-id-format": "Định dạng tiền tố duy nhất", "msg-template-file-not-found": "Không thể tạo ghi chú duy nhất. Tập tin mẫu \"{{template}}\" không tìm thấy.", "msg-failed-to-generate": "Không thể tạo một ghi chú duy nhất với định dạng \"{{format}}" }, "random-note": { "name": "Ghi chú ngẫu nhiên", "desc": "Mở một ghi chú ngẫu nhiên. Hữu ích để xem xét và khám phá.", "short-name": "Ngẫu nhiên", "action-open": "Mở ghi chú ngẫu nhiên" }, "outline": { "name": "Đề cương", "desc": "Hiển thị đề cương của tập tin hiện tại hoặc ô liên kết.", "action-open": "Mở đề cương", "action-show": "Hiển thị bảng điều khiển đề cương", "action-open-for-current": "Mở đề cương của tập tin hiện tại", "tab-title": "Đề cương của {{displayText}}", "label-no-headings": "Không tìm thấy tiêu đề.", "label-follow-cursor": "Auto-scroll to current section" }, "word-count": { "name": "Số từ", "desc": "Hiển thị số từ trong thanh trạng thái." }, "slides": { "name": "Trang trình chiếu", "desc": "Trình diễn từ Markdown. Sử dụng \"---\" để tách các trang.", "action-start": "Bắt đầu trình diễn" }, "audio-recorder": { "name": "Máy ghi âm", "desc": "Ghi âm âm thanh và lưu trữ dưới dạng tệp đính kèm.", "action-start": "Bắt đầu ghi âm âm thanh", "action-stop": "Dừng ghi âm âm thanh", "action-toggle": "Bắt đầu/Dừng ghi âm", "msg-access-denied": "Từ chối truy cập microphone, vui lòng bật nó từ bảng ưa thích.", "msg-pending-grant": "Vui lòng cấp quyền truy cập microphone để bắt đầu ghi âm.", "msg-no-microphone": "Không có microphone được kết nối." }, "open-with-default-app": { "name": "Mở trong ứng dụng mặc định", "desc": "Thêm nút để mở tập tin hiện tại trong ứng dụng mặc định.", "action-open-file": "Mở trong ứng dụng mặc định", "action-open-file-mobile": "Chia sẻ", "action-show-in-folder": "Hiển thị trong thư mục", "action-show-in-folder-mac": "Hiển thị trong Finder" }, "templates": { "name": "Mẫu", "desc": "Chèn nội dung mẫu từ thư mục chứa các tập tin mẫu.", "action-insert": "Chèn mẫu", "action-insert-current-date": "Chèn ngày hiện tại", "action-insert-current-time": "Chèn thời gian hiện tại", "option-template-folder-location": "Vị trí thư mục mẫu", "option-template-folder-location-description": "Các tập tin trong thư mục này sẽ được sử dụng như các mẫu.", "option-template-date-format": "Định dạng ngày", "option-template-date-format-description": "{{date}} trong tệp mẫu sẽ được thay thế bằng giá trị này.", "option-template-date-format-description2": "Bạn cũng có thể sử dụng {{date:YYYY-MM-DD}} để ghi đè định dạng một lần.", "option-template-time-format": "Định dạng thời gian", "option-template-time-format-description": "{{time}} trong tệp mẫu sẽ được thay thế bằng giá trị này.", "option-template-time-format-description2": "Bạn cũng có thể sử dụng {{time:HH:mm}} để ghi đè định dạng một lần.", "instruction-navigate": "để di chuyển", "instruction-insert": "để chèn mẫu", "instruction-dismiss": "để hủy", "msg-no-templates-found": "Không tìm thấy mẫu", "msg-fail-invalid-folder": "Không thể liệt kê mẫu. Thư mục mẫu không hợp lệ.", "msg-fail-folder-not-found": "Không thể liệt kê mẫu. Thư mục \"{{folderOption}}\" không tìm thấy.", "msg-fail-invalid-template-properties": "Không thể chèn mẫu. Các thuộc tính trong tệp mẫu không thể đọc được.", "msg-no-folder-set": "Không thể liệt kê mẫu. Chưa cấu hình thư mục mẫu.", "prompt-type-template": "Nhập tên mẫu..." }, "translucency": { "name": "Cửa sổ trong suốt", "desc": "Bật hiệu ứng trong suốt để tăng cảm giác chiều sâu. Tốt nhất khi sử dụng chế độ tối. Không hỗ trợ trên Linux." }, "slash-command": { "name": "Lệnh gạch chéo", "desc": "Cho phép kích hoạt các lệnh gạch chéo trong trình soạn thảo bằng cách gõ dấu gạch chéo." }, "editor-status": { "name": "Trạng thái trình soạn thảo", "desc": "Thêm một mục thanh trạng thái để hiển thị và thay đổi chế độ trình soạn thảo hiện tại.", "read": "Đọc", "edit-source": "Chế độ nguồn", "edit-live-preview": "Xem trước trực tiếp" }, "publish": { "name": "Xuất bản", "desc": "Xuất bản ghi chú của bạn thông qua Obsidian Publish.", "action-publish-changes": "Xuất bản các thay đổi...", "action-publish-file": "Publish current file", "label-no-internet-access": "Bạn cần truy cập internet để xuất bản các thay đổi.", "label-publish-service-description": "Obsidian Publish là một dịch vụ trả phí bổ sung cho phép bạn xuất bản ghi chú của mình trực tuyến trực tiếp từ Obsidian.", "label-please-login": "Để bắt đầu xuất bản, vui lòng đăng nhập hoặc tạo một tài khoản Obsidian mới.", "label-no-publish-subscription": "Bạn chưa có đăng ký Obsidian Publish.", "button-purchase": "Mua", "label-manage-sites": "Quản lý trang web", "label-no-sites": "Bạn chưa có bất kỳ trang web nào.", "button-choose": "Chọn", "tooltip-edit-site-id": "Sửa ID trang web", "tooltip-delete-site": "Xóa trang web", "label-delete-site-confirmation": "Bạn có chắc muốn xóa trang web này?", "label-delete-site-details": "Hành động này sẽ xóa trang web của bạn ngay lập tức và không thể hoàn tác.", "label-confirm-delete-site": "Xác nhận xóa trang web \"{{site}}\"", "option-site-id": "ID trang web", "option-site-id-description": "Trang web của bạn sẽ có địa chỉ https://publish.obsidian.md/{site id}. Bạn có thể thay đổi sau này. Chỉ cho phép viết thường, số và dấu gạch ngang.", "option-site-id-placeholder": "Chọn một ID trang web", "button-create": "Tạo mới", "msg-invalid-site-id": "ID trang web chỉ có thể chứa chữ thường, số và dấu gạch ngang.", "msg-site-id-in-use": "ID trang web này đã được sử dụng, hãy thử một ID khác.", "msg-create-site-issue": "Đã xảy ra sự cố khi tạo trang web của bạn.", "label-site-options": "Cài đặt trang web", "option-site-general": "Chung", "option-site-components": "Các thành phần", "option-site-appearance": "Giao diện", "option-site-reading-experience": "Trải nghiệm đọc", "option-site-misc": "Các cài đặt khác của trang web", "option-site-name": "Tên trang web", "option-site-name-description": "Tên của trang web đã xuất bản. Nó sẽ hiển thị trong tiêu đề trang của trang web của bạn.", "option-site-name-placeholder": "Tên trang web của bạn", "option-home-page-file": "Tập tin trang chủ", "option-home-page-file-description": "Trang đầu tiên người dùng thấy khi truy cập trang web đã xuất bản của bạn", "option-home-page-file-placeholder": "Chọn một tập tin đã xuất bản", "option-logo": "Logo", "option-logo-description": "Chọn một tập tin hình ảnh làm logo của trang web.", "option-logo-placeholder": "Bất kỳ hình ảnh nào đã tải lên trong thư mục của bạn...", "option-site-collaboration": "Hợp tác trang web", "option-site-collaboration-desc": "Quản lý người đóng góp cho trang web này.", "option-customize-navigation": "Tùy chỉnh điều hướng", "option-customize-navigation-desc": "Ghi đè thứ tự các mục điều hướng và ẩn trang hoặc thư mục để không hiển thị.", "option-navigation-order": "Thứ tự hiển thị các mục điều hướng", "option-hide-items-in-navigation": "Ẩn trang hoặc thư mục trong điều hướng", "option-hide-items-in-navigation-desc": "Nhấp chuột phải và chọn \"Ẩn\" để ngăn các trang cụ thể không hiển thị trong điều hướng trang web. Các trang vẫn có thể truy cập qua liên kết hoặc URL trực tiếp.", "option-show-hidden-items": "Hiển thị các mục đã ẩn", "button-customize-sidebar": "Quản lý", "label-navigation-modal-title": "Điều hướng", "label-navigation-modal-desc": "Kéo và thả để tùy chỉnh thứ tự các mục điều hướng xuất hiện trên trang Publish của bạn.", "option-hide-in-navigation": "Ẩn trong điều hướng", "button-manage-collaborators": "Quản lý", "option-theme": "Chủ đề", "option-theme-description": "Chọn giao diện màu sắc mặc định cho trang web của bạn.", "option-theme-system": "Tùy chỉnh theo hệ thống", "option-show-theme-toggle": "Chuyển đổi ánh sáng/ tối", "option-show-theme-toggle-description": "Cho phép người truy cập tự chuyển đổi giữa chế độ ánh sáng và tối.", "option-show-navigation": "Hiển thị điều hướng", "option-show-navigation-description": "Hiển thị danh sách tất cả các trang đã xuất bản ở phía bên trái trang web của bạn.", "option-show-search": "Hiển thị thanh tìm kiếm", "option-show-search-description": "Hiển thị thanh tìm kiếm phía trên điều hướng, cho phép người truy cập tìm kiếm trang và tiêu đề trên trang web của bạn.", "option-show-graph": "Hiển thị chế độ xem biểu đồ", "option-show-graph-description": "Hiển thị một biểu đồ nhỏ trên mỗi trang.", "option-show-outline": "Hiển thị mục lục", "option-show-outline-description": "Hiển thị mục lục các tiêu đề trên mỗi trang.", "option-show-backlinks": "Hiển thị các liên kết trả về", "option-show-backlinks-description": "Hiển thị mục liên kết trả về ở cuối mỗi trang.", "option-sliding-window-mode": "Sử dụng chế độ cửa sổ trượt", "option-sliding-window-mode-description": "Mở các trang trong các ô mới bên phải. Cho phép cuộn qua các ô theo chiều ngang.", "option-hover-preview-file": "Hiển thị xem trước khi di chuột", "option-hover-preview-file-description": "Hiển thị xem trước trang khi di chuột qua liên kết.", "option-hide-title": "Ẩn tiêu đề trang", "option-hide-title-description": "Ẩn tiêu đề trang. Hữu ích khi bạn có tiêu đề riêng tại đầu mỗi trang.", "option-readable-line-length": "Độ dài dòng dễ đọc", "option-readable-line-length-description": "Giới hạn độ dài dòng tối đa. Hiển thị ít nội dung hơn trên màn hình nhưng làm cho các đoạn văn dài hơn dễ đọc hơn.", "option-site-password": "Mật khẩu trang web", "option-site-password-description": "Hạn chế truy cập vào trang web của bạn bằng mật khẩu.", "option-google-analytics": "Mã theo dõi Google Analytics", "option-google-analytics-description": "Cấu hình Google Analytics cho trang web của bạn. Chỉ khả dụng cho người truy cập từ URL tên miền tùy chỉnh của bạn. Vui lòng kiểm tra trước với luật pháp và quy định địa phương.", "button-manage-passwords": "Quản lý", "button-save-site-settings": "Lưu cài đặt trang web", "msg-updated-options": "Cập nhật tùy chọn cho trang web của bạn.", "button-go-back": "Quay lại", "label-publishing-to": "Xuất bản đến", "tooltip-switch-site": "Chuyển đổi trang web", "button-add-linked": "Thêm liên kết", "tooltip-add-linked": "Thêm tất cả các tập tin đã được liên kết bởi các mục hiện tại", "msg-added-linked-files": "{{count}} tập tin đã được liên kết đã được thêm.", "msg-added-linked-files_plural": "{{count}} tập tin đã được liên kết đã được thêm.", "tooltip-open-site-options": "Thay đổi cài đặt trang web", "label-no-changes-detected": "Không phát hiện thay đổi nào.", "label-changed-files-to-be-published": "Thay đổi", "label-unchanged-files-already-published": "Không thay đổi (chọn để xóa)", "label-file-selected": " được chọn", "button-select-all-files": "Chọn tất cả", "label-custom-navigation-title": "Các mục điều hướng", "button-deselect-all-files": "Bỏ chọn tất cả", "label-new-files-to-be-published": "Mới", "button-publish": "Xuất bản", "msg-no-permission-to-publish-to-site": "Bạn không có quyền xuất bản đến trang web hiện tại.", "msg-select-at-least-one-file": "Vui lòng chọn ít nhất một tập tin.", "label-upload-changes": "Tải lên các thay đổi", "button-done": "Hoàn thành", "button-stop": "Dừng", "label-status-uploading": "Đang tải lên", "label-status-to-publish": "Sẵn sàng xuất bản", "label-status-to-delete": "Sẵn sàng xóa", "label-status-published": "Đã xuất bản", "label-status-deleted": "Đã xóa", "label-status-failed": "Lỗi", "label-status-cancelled": "Đã hủy", "button-change": "Thay đổi", "label-clear-cache": "Cần mất vài phút để các thay đổi được hiển thị trên trang web của bạn. Nếu bạn không thấy những thay đổi mới nhất, hãy thử xóa bộ nhớ cache trong trình duyệt của bạn.", "label-visit-site": "Bạn có thể truy cập trang web của mình tại đây: ", "msg-something-went-wrong": "Đã xảy ra sự cố. Vui lòng kiểm tra bảng điều khiển nhà phát triển để biết thông tin chi tiết.", "msg-network-error": "Đã xảy ra lỗi mạng. ", "label-manage-passwords": "Quản lý mật khẩu", "label-add-password": "Thêm mật khẩu", "action-new-password": "Mật khẩu mới", "label-no-password": "Trang web của bạn hiện không có bất kỳ mật khẩu nào. Bất kỳ ai cũng có thể truy cập nó.", "label-have-password": "Trang web của bạn được bảo vệ bằng mật khẩu. Nếu bạn có nhiều mật khẩu, người truy cập có thể truy cập trang web của bạn bằng cách nhập bất kỳ mật khẩu nào.", "option-password-name": "Mật khẩu", "option-password-desc": "Một bản hash của mật khẩu của bạn sẽ được lưu trữ an toàn. Một khi đã đặt mật khẩu, nó không thể được hiển thị dưới dạng văn bản thuần.", "option-password-placeholder": "Mật khẩu của bạn", "option-nickname-name": "Biệt danh (tùy chọn)", "option-nickname-desc": "Đặt một biệt danh để nhắc nhở mình về mục đích sử dụng hoặc người dùng của mật khẩu.", "action-add-password": "Thêm mật khẩu này", "label-untitled-password": "Mật khẩu chưa có tiêu đề", "label-password-created-time": "Đã tạo {{time}}", "msg-added-new-password": "Đã thêm mật khẩu mới.", "option-custom-domain": "Tên miền tùy chỉnh", "option-custom-domain-desc": "Sử dụng tên miền của riêng bạn thay vì URL https://publish.obsidian.md/{site id}.", "option-noindex": "Cấm chỉ số hệ thống tìm kiếm", "option-noindex-desc": "Ngăn các hệ thống tìm kiếm chỉ số trang web của bạn.", "button-configure": "Cấu hình", "label-configure-custom-domain": "Cấu hình tên miền tùy chỉnh", "option-custom-url-name": "URL tùy chỉnh", "option-custom-url-desc": "URL mà trang web của bạn sẽ được đặt tại.", "option-custom-url-placeholder": "www.tenmienban.com", "option-custom-url-redirect": "Chuyển hướng đến tên miền tùy chỉnh của bạn", "option-custom-url-redirect-desc": "Chuyển hướng người truy cập trên publish.obsidian.md/id đến tên miền tùy chỉnh của bạn.", "button-update-custom-domain": "Cập nhật cài đặt tên miền", "label-custom-domain-instructions": "Vui lòng tham khảo {{link}} trên trang trợ giúp của chúng tôi để biết thêm thông tin.", "label-custom-domain-link-name": "hướng dẫn cài đặt tên miền tùy chỉnh", "label-site-usage": "Bạn đã sử dụng {{site}} trong số {{limit}}.", "button-add-more-sites": "Mua thêm trang web", "label-no-sites-bought": "Bạn chưa mua bất kỳ trang web nào.", "button-get-site": "Nhận trang web", "label-manage-sharing": "Quản lý chia sẻ cho \"{{name}}\"", "label-sharing-with-users": "Hiện tại, trang web này đang được chia sẻ với các người dùng sau đây.", "label-not-sharing": "Hiện tại, trang web này không được chia sẻ với bất kỳ ai.", "label-invite-pending": "Đang chờ", "tooltip-remove-user": "Xóa người dùng", "option-invite-user": "Mời người dùng", "placeholder-invite-user": "Nhập địa chỉ email của họ...", "error-email-must-be-valid": "Vui lòng nhập một địa chỉ email hợp lệ để mời một người nào đó.", "msg-enable-publish-plugin": "Vui lòng kích hoạt plugin Publish core trong Cài đặt -> Plugin cốt lõi để xem trang web.", "label-your-sites": "Trang web của bạn", "label-sites-shared-with-you": "Trang web đã chia sẻ với bạn", "tooltip-leave-site-sharing": "Ngừng cộng tác trên trang web này", "label-leave-site-confirmation": "Xác nhận ngừng cộng tác trang web", "label-leave-site-confirmation-details": "Hành động này sẽ xóa trang web này khỏi danh sách các trang web được chia sẻ với bạn. Hành động này không thể hoàn tác.", "label-leave-site-confirmation-details-2": "Vui lòng liên hệ với chủ sở hữu của trang web nếu bạn muốn cộng tác trên trang web này một lần nữa.", "button-leave": "Rời đi", "label-compare-with-live": "So sánh với phiên bản trực tiếp", "button-use-live-version": "Sử dụng phiên bản trực tiếp", "label-confirm-override": "Xác nhận ghi đè phiên bản cục bộ", "label-confirm-override-1": "Bạn có chắc chắn muốn ghi đè phiên bản cục bộ?", "label-confirm-override-2": "Phiên bản trực tuyến sẽ được sử dụng và phiên bản cục bộ của bạn sẽ bị loại bỏ. Vui lòng sao lưu nếu cần thiết.", "button-proceed": "Tiếp tục", "message-successfully-used-live-version": "Đã sử dụng phiên bản trực tiếp thành công để ghi đè phiên bản cục bộ của bạn.", "label-open-in-live-site": "Open in live site", "label-open-file": "Mở tập tin", "tooltip-manage-publish-filters": "Quản lý bộ lọc xuất bản", "option-included-folders": "Thư mục đã bao gồm", "option-included-folders-desc": "Các tập tin dưới các thư mục này sẽ tự động được chọn khi bạn xem xét các thay đổi để xuất bản.", "option-currently-included-folders": " Các thư mục sau đây hiện đang được bao gồm:", "option-excluded-folders": "Thư mục đã loại trừ", "option-excluded-folders-desc": "Các tập tin dưới các thư mục này sẽ không xuất hiện khi bạn xem xét các thay đổi để xuất bản. Thiết lập này ưu tiên hơn các thư mục đã bao gồm ở trên.", "label-number-of-folders-included": "Obsidian Publish hiện đang bao gồm {{folders}}.", "label-number-of-folders-excluded": "Obsidian Publish hiện đang loại trừ {{folders}}.", "label-manage-included-folders": "Quản lý các thư mục đã bao gồm", "label-manage-excluded-folders": "Quản lý các thư mục đã loại trừ", "label-add-included-folder": "Bao gồm một thư mục", "label-add-included-folder-desc": "Bạn có thể bao gồm cả các thư mục hiện có và các thư mục chưa được tạo.", "tooltip-contact-support": "Liên hệ với bộ phận hỗ trợ", "label-navigation-preview": "Navigation preview" }, "workspaces": { "name": "Khung làm việc", "desc": "Lưu và tải cấu trúc khung làm việc.", "action-load-layout": "Tải cấu trúc khung làm việc", "action-manage-layouts": "Quản lý cấu trúc khung làm việc", "action-save": "Save layout", "action-save-and-load-layout": "Lưu và tải một cấu trúc khung làm việc khác", "placeholder-save-current-layout-as": "Lưu cấu trúc khung làm việc hiện tại với tên...", "button-save": "Lưu", "button-load": "Tải", "tooltip-delete-layout": "Xóa cấu trúc khung làm việc", "msg-enter-name": "Vui lòng nhập tên cho cấu trúc khung làm việc mới.", "msg-save-layout-success": "Lưu cấu trúc khung làm việc thành công.", "label-no-layout-found": "Không tìm thấy cấu trúc khung làm việc đã lưu.", "label-workspace-modified-time": "Modified {{time}}", "placeholder-type-to-search-layouts": "Nhập tên cấu trúc khung làm việc để tìm..." }, "sync": { "name": "Đồng bộ hóa", "desc": "Đồng bộ hóa các tập tin của bạn thông qua Obsidian Sync.", "action-view-version-history": "Xem lịch sử phiên bản", "action-setup-sync": "Set up Sync", "menu-opt-view-version-history": "Open version history", "action-view-sync-sidebar": "Show Sync history", "action-activity-log": "Open activity log", "label-load-more": "Tải thêm", "label-show-diff": "Hiển thị khác biệt", "label-copy-to-clipboard": "Sao chép vào clipboard", "label-restore-this-version": "Khôi phục phiên bản này", "msg-already-latest-version": "Phiên bản này đã là phiên bản mới nhất.", "msg-restored-version": "Khôi phục thành công phiên bản từ {{time}}", "label-file-deleted": "Tập tin này đã bị xóa", "label-file-deleted-via": "Deleted via {{ device }}", "label-file-renamed-from": "This file was renamed from \"{{filepath}}\"", "label-file-renamed-from-to": "Renamed from “{{from}}” to “{{to}}”", "label-file-moved-from": "Moved from “{{from}}”", "label-file-moved-from-to": "Moved from “{{from}}” to “{{to}}”", "label-revision": "1 revision", "label-revision_plural": "{{revisions}} revisions", "label-via-device": "via {{device}}", "label-no-history": "No sync history for this file.", "label-empty-file": "Trống", "label-unable-to-retrieve": "Unable to retrieve version history", "label-setting-files": "Tập tin cài đặt", "label-deleted-files": "Tập tin đã xóa", "label-version-history": "Lịch sử phiên bản", "label-click-to-see-history": "Nhấp vào một tập tin đã xóa để xem lịch sử của nó.", "label-create-remote-vault": "Tạo hòm lưu trữ từ xa", "msg-please-enter-password": "Vui lòng nhập mật khẩu.", "msg-vault-name-cannot-be-empty": "Tên hòm lưu trữ không thể để trống.", "msg-successfully-created-vault": "Tạo thành công hòm lưu trữ từ xa \"{{name}}\".", "label-remote-vault-explanation": "Hòm lưu trữ từ xa đồng bộ an toàn kho lưu trữ của bạn giữa các thiết bị.", "option-vault-name": "Tên hòm lưu trữ", "option-vault-name-desc": "Giúp bạn nhớ đây là hòm lưu trữ dùng cho mục đích gì.", "option-vault-region": "Region", "opt-vault-region-automatic": "Automatic", "option-vault-region-desc": "Select the server region closest to you to store the remote vault. This cannot be changed in the future.", "option-vault-name-placeholder": "Hòm lưu trữ tuyệt vời của tôi", "option-encryption": "Encryption", "option-encryption-desc": "End-to-end encryption offers the strongest security but requires you to safely store your encryption password. Standard encryption uses a key managed by Obsidian to protect your data in transit and on our servers.", "option-encryption-warning": "This option cannot be changed later.", "option-encryption-end-to-end": "End-to-end encryption", "option-encryption-standard": "Standard encryption", "option-encryption-password": "Mật khẩu mã hóa", "option-encryption-password-desc": "Mật khẩu này không thể thay đổi sau này.", "option-encryption-password-desc-warning": "Nếu bạn quên mật khẩu này, bất kỳ dữ liệu từ xa nào sẽ không thể sử dụng mãi mãi.", "option-encryption-password-desc-2": "Điều này không ảnh hưởng đến dữ liệu cục bộ của bạn.", "label-encryption-password-explanation": "The remote vault “{{name}}” is currently encrypted. Enter your password to unlock.", "option-encryption-password-placeholder": "Mật khẩu của bạn", "label-unlock-encrypted-vault": "Unlock your remote vault", "button-unlock-vault": "Mở khóa hòm lưu trữ", "label-remote-vaults": "Các hòm lưu trữ từ xa của bạn", "label-vault-created-time": "Đã tạo vào {{time}}", "tooltip-delete-remote-vault": "Xóa", "tooltip-rename-remote-vault": "Rename", "label-rename-remote-vault": "Rename remote vault \"{{name}}\"", "label-rename-remote-vault-desc": "Enter a new name for this remote vault.", "tooltip-manage-sharing": "Quản lý chia sẻ", "label-confirm-delete-remote-vault": "Xác nhận xóa hòm lưu trữ", "label-confirm-delete-remote-vault-question": "Bạn có chắc chắn muốn xóa hòm lưu trữ từ xa này không?", "label-confirm-delete-remote-vault-result": "Tất cả dữ liệu trên máy chủ của chúng tôi, bao gồm lịch sử phiên bản, sẽ bị xóa. Các tập tin cục bộ của bạn sẽ vẫn không bị ảnh hưởng.", "label-confirm-delete-remote-vault-warning": "Hành động này là vĩnh viễn và không thể hoàn tác.", "msg-remote-vault-deleted": "{{name}} đã bị xóa.", "msg-disconnect-from-deleted-vault": "Obsidian Sync: The connected remote vault no longer exists.", "button-connect-to-remote-vault": "Kết nối", "button-disconnect-from-remote-vault": "Ngắt kết nối", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "Bạn chưa có bất kỳ hòm lưu trữ từ xa nào.", "label-no-subscription": "You don't have an active Obsidian Sync subscription.", "label-please-visit": "Please visit", "label-preview-unsupported-file-type": "Unable to preview {{type}} files.", "button-create-new-remote-vault": "Tạo hòm lưu trữ mới", "label-sync-log": "Nhật ký đồng bộ hóa", "option-event-type-all": "All", "option-event-type-errors": "Errors", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "Merge conflicts", "button-copy-sync-log": "Sao chép nhật ký đồng bộ hóa", "msg-successfully-copied-sync-log": "Sao chép nhật ký đồng bộ hóa thành công.", "button-retry": "Thử lại", "button-purchase-subscription": "Mua", "label-third-party-sync-warning": "Phát hiện dịch vụ đồng bộ tập tin xung đột", "label-third-party-sync-warning-desc": "Cảnh báo: Kho lưu trữ của bạn có vẻ đang sử dụng {{service}} như một dịch vụ đồng bộ tập tin của bên thứ ba. Nếu bạn sử dụng Obsidian Sync với kho lưu trữ này, bạn có thể gặp xung đột, hỏng tập tin hoặc mất dữ liệu.", "label-icloud-drive-warning": "Nếu bạn đang sử dụng iCloud Drive, thư mục Documents và Desktop của bạn có thể được đồng bộ hóa bởi iCloud. Điều này có thể gây xung đột với Obsidian Sync.", "option-remote-vault": "Hòm lưu trữ từ xa", "button-choose-remote-vault": "Chọn", "button-manage-remote-vault": "Quản lý", "option-remote-vault-desc-connected": "Đã kết nối với hòm lưu trữ từ xa \"{{name}}\".", "option-remote-vault-desc-not-connected": "Hiện không kết nối với bất kỳ hòm lưu trữ từ xa nào.", "option-sync-status": "Trạng thái đồng bộ hóa", "option-sync-status-desc-paused": "Obsidian Sync đang tạm dừng.", "option-sync-status-desc-running": "Obsidian Sync đang chạy.", "option-device-name": "Tên thiết bị", "option-device-name-desc": "Tên này sẽ được hiển thị trong nhật ký đồng bộ hóa. Để trống để sử dụng tên mặc định.", "button-resume": "Tiếp tục", "button-pause": "Tạm dừng", "option-view-deleted-files": "Các tập tin đã xóa", "option-view-deleted-files-desc": "Xem và khôi phục các tập tin đã xóa.", "option-sync-log": "Hoạt động đồng bộ hóa", "option-sync-log-desc": "Xem hoạt động đồng bộ hóa gần đây để gỡ lỗi.", "button-view": "Xem", "button-bulk-restore": "Khôi phục hàng loạt", "button-restore-files_zero": "Restore files", "button-restore-files": "Restore {{count}} file", "button-restore-files_plural": "Restore {{count}} files", "msg-restoring": "Đang khôi phục...", "msg-restoring-complete": "`Hoàn tất khôi phục: {{succeeded}} thành công và {{failed}} thất bại.`", "option-vault-size": "Vault size", "option-vault-size-desc": "You are using {{size}} out of {{limit}}", "option-vault-size-unknown": "Unable to retrieve your vault size.", "option-vault-size-loading": "Retrieving your vault size...", "option-over-size": "Kích thước kho lưu trữ vượt quá giới hạn", "option-almost-over-size": "Vault size approaching limit", "msg-largest-files": "Xem các tập tin lớn nhất", "msg-largest-files-desc": "Đây là các tập tin từ xa đang chiếm không gian nhiều nhất. Sau khi xóa các tệp đính kèm, hãy sử dụng nút xóa để giải phóng không gian trong hòm lưu trữ từ xa.", "button-upgrade-storage": "Upgrade storage", "button-purge-remote": "Xóa vĩnh viễn", "button-hide-my-changes": "Hide my changes", "tooltip-purge-remote": "Xóa vĩnh viễn các tệp đính kèm đã xóa khỏi hòm lưu trữ từ xa để giải phóng không gian.", "msg-purge-complete": "Xóa vĩnh viễn hoàn tất.", "option-prevent-sleep": "Ngăn thiết bị vào chế độ ngủ", "option-prevent-sleep-desc": "Ngăn thiết bị vào chế độ ngủ khi vẫn còn tệp tin đang được đồng bộ hóa.", "option-selective-sync": "Đồng bộ hóa chọn lọc", "option-excluded-folders": "Thư mục bị loại trừ", "option-excluded-folder-desc": "Ngăn cản một số thư mục không được đồng bộ hóa.", "option-currently-excluded-folders": " Các thư mục đang bị loại trừ:", "button-manage-excluded-folders": "Quản lý", "option-sync-image": "Đồng bộ hóa hình ảnh", "option-sync-image-desc": "Đồng bộ hóa các tệp hình ảnh với các phần mở rộng sau: {{extensions}}.", "option-sync-audio": "Đồng bộ hóa âm thanh", "option-sync-audio-desc": "Đồng bộ hóa các tệp âm thanh với các phần mở rộng sau: {{extensions}}.", "option-sync-video": "Đồng bộ hóa video", "option-sync-video-desc": "Đồng bộ hóa các tệp video với các phần mở rộng sau: {{extensions}}.", "option-sync-pdf": "Đồng bộ hóa PDF", "option-sync-pdf-desc": "Đồng bộ hóa các tệp PDF.", "option-sync-unsupported": "Đồng bộ hóa tất cả các loại tệp khác", "option-sync-unsupported-desc": "Đồng bộ hóa các loại tệp không được hỗ trợ.", "option-vault-config-sync": "Đồng bộ hóa cấu hình hòm lưu trữ", "option-view-config-files": "Lịch sử phiên bản cài đặt", "option-view-config-files-desc": "Xem và khôi phục lịch sử phiên bản của các tệp cài đặt.", "option-sync-app": "Cài đặt chính", "option-sync-app-desc": "Cho phép đồng bộ hóa cài đặt trình soạn thảo, cài đặt tệp và liên kết tùy chỉnh, v.v.", "option-sync-appearance": "Cài đặt giao diện", "option-sync-appearance-desc": "Đồng bộ hóa cài đặt giao diện như chế độ tối, chủ đề đang hoạt động và mô đun được bật.", "option-sync-appearance-data": "Chủ đề và mô đun", "option-sync-appearance-data-desc": "Đồng bộ hóa chủ đề và mô đun đã tải về. Việc có bật chúng phụ thuộc vào cài đặt trước đó.", "option-sync-hotkey": "Phím tắt", "option-sync-hotkey-desc": "Đồng bộ hóa các phím tắt tùy chỉnh.", "option-sync-core-plugin": "Danh sách plugin lõi đang hoạt động", "option-sync-core-plugin-desc": "Đồng bộ hóa plugin lõi nào đang được bật.", "option-sync-core-plugin-data": "Cài đặt plugin lõi", "option-sync-core-plugin-data-desc": "Đồng bộ hóa cài đặt plugin lõi.", "option-sync-community-plugin": "Danh sách plugin cộng đồng đang hoạt động", "option-sync-community-plugin-desc": "Đồng bộ hóa plugin cộng đồng nào đang được bật.", "option-sync-community-plugin-data": "Cài đặt plugin cộng đồng đã cài đặt", "option-sync-community-plugin-data-desc": "Đồng bộ hóa plugin cộng đồng đã cài đặt (tệp .js, .css và manifest.json) và cài đặt của chúng.", "label-sync-loading": "Sync is still loading, please refresh this page later.", "label-sync-introduction": "Obsidian Sync là dịch vụ đồng bộ hóa của Obsidian với mã hóa đầu cuối và lịch sử phiên bản.", "label-account-required": "Để bắt đầu đồng bộ hóa, vui lòng đăng nhập hoặc tạo tài khoản Obsidian mới.", "label-current-file": "Current file", "label-sync-changes": "Sync changes", "label-today": "Today", "label-yesterday": "Yesterday", "label-this-week": "This week", "label-older": "Older", "label-last-sync": "Last sync", "label-more": "{{count}} more", "button-sign-up": "Đăng ký", "button-log-in": "Đăng nhập", "label-manage-excluded-folders": "Quản lý thư mục bị loại trừ", "label-number-of-folders-excluded": "{{folders}} hiện đang bị loại trừ khỏi việc đồng bộ hóa.", "label-add-excluded-folder": "Loại trừ một thư mục", "label-add-excluded-folder-desc": "Bạn có thể loại trừ cả thư mục hiện có và thư mục chưa được tạo.", "tooltip-remove-excluded-folder": "Loại bỏ khỏi danh sách loại trừ", "label-setup-connection": "Thiết lập kết nối", "label-connecting-to-vault": "Connecting...", "label-connection-failed": "Connection failed", "label-connection-failed-desc": "Failed to connect to remote vault.", "label-now-connected-to-vault": "Bạn hiện đã kết nối với \"{{name}}\".", "button-start-syncing": "Bắt đầu đồng bộ hóa", "label-confirm-merge-vault": "Xác nhận hợp nhất hòm lưu trữ", "msg-vault-has-notes": "Kho lưu trữ cục bộ của bạn đã chứa một số ghi chú.", "msg-vault-merge-warning": "Nếu bạn kết nối với hòm lưu trữ từ xa \"{{name}}\", các ghi chú trong kho lưu trữ cục bộ của bạn sẽ được hợp nhất với ghi chú từ hòm lưu trữ từ xa của bạn. Trong trường hợp xung đột, phiên bản ghi chú mới nhất sẽ được bảo tồn.", "tooltip-update-setting-on-all-devices": "Vui lòng cập nhật tùy chọn này và khởi động lại ứng dụng trên tất cả các thiết bị mà bạn muốn tùy chọn này có hiệu lực.", "label-sharing-with-users": "Hòm lưu trữ từ xa này hiện đang được chia sẻ với các người dùng sau đây.", "label-not-sharing": "Hòm lưu trữ từ xa này hiện không được chia sẻ với bất kỳ ai.", "label-vaults-shared-with-you": "Hòm lưu trữ được chia sẻ với bạn", "tooltip-leave-vault-sharing": "Ngừng cộng tác trên hòm lưu trữ này", "label-leave-vault-confirmation": "Xác nhận ngừng cộng tác trên hòm lưu trữ", "label-leave-vault-confirmation-details": "Điều này sẽ loại bỏ hòm lưu trữ này khỏi danh sách hòm lưu trữ được chia sẻ với bạn. Hành động này không thể hoàn tác.", "label-leave-vault-confirmation-details-2": "Vui lòng liên hệ với chủ sở hữu hòm lưu trữ nếu bạn muốn cộng tác trên hòm lưu trữ này lại.", "button-leave": "Rời khỏi", "msg-error-failed-to-fetch": "Failed to load remote vaults.", "label-require-subscription-to-connect": "Bạn cần một đăng ký Obsidian Sync để kết nối với hòm lưu trữ này.", "option-contact-support": "Liên hệ hỗ trợ", "option-contact-support-desc": "Nếu bạn gặp bất kỳ vấn đề nào với Obsidian Sync, vui lòng liên hệ chúng tôi để chúng tôi có thể giúp bạn! Bạn có thể liên hệ với chúng tôi qua địa chỉ support@obsidian.md.", "button-copy-debug": "Copy debug info", "button-email-support": "Liên hệ qua email", "label-sync-disconnected": "Sync is not connected to a remote vault.", "msg-remote-vault-limit-hit": "Obsidian Sync cho phép bạn tạo tối đa 5 hòm lưu trữ từ xa. Để tạo một hòm lưu trữ từ xa mới, vui lòng xóa một hòm lưu trữ hiện có.", "label-upgrade-vault": "Upgrade vault", "label-upgrade-vault-encryption": "Upgrade vault encryption", "label-upgrade-vault-encryption-desc": "There is a new encryption version available for remote vaults.", "label-migrate-remote-vault": "Migrate remote vault", "label-remote-vault-configuration": "Remote vault configuration", "button-migrate": "Migrate", "msg-recreate-remote-vault": "This will delete your remote vault and recreate it with the latest encryption. Local files will not be affected, however your version history will be lost.", "label-confirm-migrate": "Confirm vault migration", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-migrate-confirmation-size": "You have {{size}} of data. Migrating your vault may take some time. You will need to keep Obsidian active on this device to re-upload all your notes and attachments. It is best to do this on your primary device.", "msg-proceed-prompt": "Do you want to proceed?", "msg-vault-migration-started": "Vault migration in progress." }, "file-recovery": { "name": "Khôi phục tập tin", "desc": "Cho phép bạn khôi phục các bản snapshot gần đây để phục hồi khỏi việc mất dữ liệu vô tình. Các snapshot chỉ được lưu trữ cho các tập tin Markdown.", "action-open": "Mở các snapshot đã lưu", "option-interval": "Khoảng thời gian snapshot", "option-interval-description": "Khoảng thời gian tối thiểu (tính bằng phút) giữa hai snapshot.", "option-keep": "Thời gian lưu trữ lịch sử", "option-keep-description": "Thời gian (tính bằng ngày) lưu trữ các snapshot.", "option-open-history": "Các snapshot", "option-open-history-description": "Xem và khôi phục các snapshot đã lưu.", "button-view-history": "View", "option-clear": "Xóa lịch sử", "option-clear-description": "Xóa tất cả các snapshot.", "button-clear-history": "Xóa", "label-clear-warning": "Bạn có chắc chắn muốn xóa tất cả các snapshot không? Lưu ý chỉ các snapshot sẽ bị xóa. Tất cả các tập tin trong kho lưu trữ sẽ không bị ảnh hưởng.", "msg-clear-complete": "Các snapshot đã được xóa.", "label-no-history-found": "Không tìm thấy snapshot.", "placeholder-choose-file": "Chọn một tập tin...", "label-select-file": "Vui lòng chọn một tập tin ở bên trái để xem các snapshot." }, "note-composer": { "name": "Trình soạn thảo ghi chú", "desc": "Kết hợp, chia nhỏ và tái cấu trúc các ghi chú.", "option-confirm-file-merge": "Xác nhận khi kết hợp tập tin", "option-confirm-file-merge-description": "Hiển thị cảnh báo trước khi kết hợp hai tập tin.", "option-split-replacement-text": "Văn bản sau khi trích xuất", "option-split-replacement-text-description": "Hiển thị gì thay thế văn bản đã chọn sau khi trích xuất nó.", "option-choice-split-replacement-text-link": "Liên kết đến tập tin mới", "option-choice-split-replacement-text-embed": "Nhúng tập tin mới", "option-choice-split-replacement-text-none": "Không có", "option-template-file": "Vị trí tập tin mẫu", "option-template-file-description": "Tập tin mẫu sử dụng khi kết hợp hoặc trích xuất. Biến có sẵn: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, ví dụ {{date:YYYY-MM-DD}}.", "command-merge-file": "Kết hợp tập tin hiện tại với tập tin khác...", "action-merge-file": "Kết hợp toàn bộ tập tin với...", "label-no-files": "Không tìm thấy tập tin.", "instruction-navigate": "để điều hướng", "instruction-merge": "để kết hợp", "instruction-create-new": "để tạo mới", "instruction-merge-at-top": "để kết hợp ở đầu", "instruction-dismiss": "để hủy", "prompt-select-file-to-merge": "Chọn tập tin để kết hợp vào...", "label-merge-file": "Kết hợp tập tin", "label-confirm-file-merge": "Bạn có chắc chắn muốn kết hợp \"{{file}}\" vào \"{{destination}}\"? \"{{file}}\" sẽ bị xóa.", "button-merge": "Kết hợp", "command-split-file": "Trích xuất lựa chọn hiện tại...", "command-extract-heading": "Trích xuất tiêu đề này...", "instruction-append": "để di chuyển xuống cuối", "instruction-prepend": "để di chuyển lên đầu", "msg-fail-to-fetch-template": "Không thể tìm tập tin mẫu: Không tìm thấy \"{{template}}\".", "msg-fail-to-find-heading": "Không tìm thấy tiêu đề" }, "web-viewer": { "name": "Web viewer", "history-name": "Web history", "desc": "Open external links to web pages inside Obsidian.", "action-open": "Open web viewer", "action-show-history": "Show history", "action-toggle-reader-mode": "Toggle reader mode", "action-copy-u-r-l": "Copy URL", "action-remove-from-history": "Remove from history", "action-clear-history": "Clear history", "action-open-link": "Open link", "action-open-link-new-tab": "Open link in new tab", "action-open-link-new-split": "Open link to the right", "action-open-link-new-window": "Open link in new window", "action-open-link-default-browser": "Open link in default browser", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "Copy link address", "action-bookmark-link": "Bookmark link", "action-search-for-query": "Search for “{{query}}”", "action-extract-selection": "Extract selection to new note", "action-copy-selection": "Copy", "action-cut": "Cut", "action-paste": "Paste", "action-delete": "Delete", "action-select-all": "Select all", "action-save-to-vault": "Save to vault", "action-save-image": "Save image to vault", "action-copy-image": "Copy image", "action-copy-image-link": "Copy image link", "action-backward": "Backward", "action-forward": "Forward", "action-reload": "Reload", "action-bookmark-page": "Bookmark page", "action-open-default-browser": "Open in default browser", "action-focus-address-bar": "Focus address bar", "action-search-the-web": "Search the web", "action-clear-data": "Clear data", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "May sign you out of websites.", "action-clear-data-cache": "Cached data", "action-clear-data-history": "History", "action-clear-data-all": "All web viewer data", "action-clear-data-all-desc": "Removes all of the above as well as local storage and active sessions.", "label-new-web-viewer": "New web viewer", "label-fail-to-load": "Unable to load that site.", "label-fail-to-load-desc": "Please make sure you have the correct address.", "label-search-the-web": "Search the web", "label-web-viewer-data": "Web viewer data", "label-clear-data": "Clear web viewer data", "option-open-external-links": "Open external links", "option-open-external-links-desc": "Open links in Obsidian rather than the system default.", "option-homepage": "Homepage", "option-homepage-desc": "What page to view when a web viewer is opened", "option-saved-markdown": "Saved page folder", "option-saved-markdown-desc": "Websites saved as markdown will be placed here.", "option-search-engine": "Search engine", "option-search-engine-desc": "Search engine used when searching from the address bar.", "option-search-engine-custom": "Custom search engine", "option-search-engine-custom-desc": "Use %s in place of the query.", "option-search-engine-custom-drop-down": "Custom", "option-enable-adblock": "Enable ad blocker", "option-enable-adblock-desc": "If enabled, the filter lists below will be applied to all web viewer tabs.", "option-adblock-lists": "Ad blocking rules", "option-adblock-lists-desc": "One ad block list URL per line. Shared by all vaults.", "option-adblock-frequency": "Ad block update frequency", "option-adblock-frequency-desc": "Days between updating filter lists. 0 indicates disabled. Shared by all vaults.", "title-clear-data-modal": "Clear web viewer data", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "Bảng", "desc": "Sắp xếp và kết nối các ghi chú trên một bảng vô tận.", "action-add-note": "Thêm ghi chú từ kho lưu trữ", "action-add-media": "Thêm phương tiện từ kho lưu trữ", "action-add-card": "Thêm thẻ", "action-add-website": "Thêm trang web", "action-create-group": "Tạo nhóm", "action-create-with-size": "Tạo một thẻ có kích thước cụ thể", "action-convert-to-file": "Chuyển đổi thành tập tin...", "action-drag-to-add-note": "Kéo để thêm ghi chú từ kho lưu trữ", "action-drag-to-add-media": "Kéo để thêm phương tiện từ kho lưu trữ", "action-drag-to-add-card": "Kéo để thêm thẻ", "action-edit-label": "Chỉnh sửa nhãn", "action-remove-label": "Xóa nhãn", "action-search-file": "Tìm kiếm tập tin", "action-set-color": "Đặt màu", "action-align": "Căn chỉnh", "action-align-left": "Căn chỉnh bên trái", "action-align-center": "Căn chỉnh chính giữa", "action-align-right": "Căn chỉnh bên phải", "action-align-top": "Căn chỉnh bên trên", "action-align-middle": "Căn chỉnh giữa", "action-align-bottom": "Căn chỉnh bên dưới", "action-distribute-horizontal-spacing": "Phân phối khoảng cách ngang", "action-distribute-vertical-spacing": "Phân phối khoảng cách dọc", "action-justify-horizontally": "Căn chỉnh đều ngang", "action-justify-vertically": "Căn chỉnh đều dọc", "action-arrange-horizontally": "Sắp xếp theo hàng", "action-arrange-vertically": "Sắp xếp theo cột", "action-arrange-grid": "Sắp xếp theo lưới", "action-export-png": "Xuất thành hình ảnh", "action-jump-to-group": "Nhảy đến nhóm", "action-set-background": "Đặt nền", "action-edit-background": "Chỉnh sửa nền", "action-replace-background": "Thay thế nền", "action-remove-background": "Xóa nền", "label-no-images": "Không tìm thấy hình ảnh.", "label-no-media": "No media found.", "label-export-png-desc": "Xuất \"{{title}}\" thành hình ảnh PNG với các cài đặt dưới đây.", "label-export-png-dimensions": "Kích thước hình ảnh ước tính: {{dimensions}}", "label-distribute": "Phân phối", "label-justify": "Căn chỉnh đều", "label-arrange": "Sắp xếp", "label-always": "Luôn luôn", "label-hover": "Khi di chuột", "label-never": "Không bao giờ", "label-no-section-found": "Không tìm thấy phần", "option-wheel-behavior": "Thao tác bánh xe chuột mặc định", "option-mod-drag-behavior": "Thao tác mặc định {{key}}", "option-show-menu": "Hiển thị menu", "option-new-canvas-location": "Vị trí mặc định cho các tập tin bảng mới", "option-new-canvas-location-description": "Nơi các tập tin bảng mới được đặt.", "option-new-canvas-folder-path": "Thư mục để tạo các tập tin bảng mới", "option-new-canvas-folder-path-description": "Các tập tin bảng mới được hiển thị dưới thư mục này.", "option-node-label": "Hiển thị nhãn thẻ", "option-snap-to-grid": "Gắn vào lưới", "option-snap-to-grid-desc": "Gắn các thẻ vào lưới nền khi di chuyển và thay đổi kích thước.", "option-snap-to-objects": "Gắn vào các đối tượng", "option-snap-to-objects-desc": "Gắn các thẻ vào các đối tượng gần như khi di chuyển và thay đổi kích thước.", "option-zoom-breakpoint": "Ngưỡng thu phóng để ẩn nội dung thẻ", "option-zoom-breakpoint-desc": "Giá trị thấp sẽ tăng hiệu suất nhưng ẩn nội dung thẻ sớm hơn khi thu phóng ra ngoài.", "option-export-png-show-logo": "Hiển thị biểu trưng", "option-export-png-show-logo-desc": "Hiển thị biểu trưng Obsidian ở góc dưới bên trái.", "option-export-png-privacy-mode": "Chế độ bảo mật", "option-export-png-privacy-mode-desc": "Ẩn bất kỳ văn bản nào trên bảng của bạn.", "option-export-png-zoom": "Thu phóng", "option-export-png-zoom-desc": "Thu phóng cao hơn sẽ tạo ra hình ảnh có độ phân giải cao hơn.", "option-export-png-frame": "Khung nhìn", "option-export-png-frame-desc": "Chọn cách hiển thị toàn bộ bảng hoặc chỉ khu vực nhìn thấy hiện tại.", "option-export-png-frame-full": "Toàn bộ bảng", "option-export-png-frame-viewport": "Chỉ khu vực nhìn thấy", "option-background-cover": "Bao phủ", "option-background-ratio": "Giữ tỷ lệ khung hình", "option-background-repeat": "Lặp lại", "action-new-canvas": "Bảng mới", "action-remove": "Xóa", "action-narrow-heading": "Thu hẹp đến tiêu đề...", "action-narrow-block": "Thu hẹp đến khối...", "action-narrow-bases-view": "Pin view...", "action-swap-file": "Trao đổi tập tin...", "action-change-url": "Thay đổi URL...", "action-zoom-to-fit": "Thu phóng để vừa với khung", "action-zoom-to-selection": "Thu phóng để vừa với lựa chọn", "action-reload-page": "Tải lại trang", "action-follow-connection": "Theo dõi kết nối", "command-create-new-canvas": "Tạo bảng mới", "command-convert-to-file": "Chuyển đổi thành tập tin...", "instruction-narrow-heading": "để nhúng tiêu đề", "instruction-narrow-block": "để nhúng khối", "instruction-jump-to-group": "để điều hướng đến nhóm", "prompt-to-narrow": "Nhập tên tiêu đề", "label-enter-url": "Nhập URL", "label-empty-embed": "\"{{linktext}}\" không thể tìm thấy.", "prompt-add-text": "Thêm văn bản...", "prompt-start-search": "Nhập để tìm kiếm...", "label-canvas-help": "Trợ giúp Bảng", "label-canvas-settings": "Cài đặt Bảng", "label-no-narrow": "Hiển thị toàn bộ tập tin", "label-show-default-view": "Show default view", "label-readonly": "Chỉ đọc", "label-disable-readonly": "Tắt chế độ chỉ đọc", "label-pan": "Di chuyển", "label-pan-horizontal": "Di chuyển ngang", "label-zoom": "Thu phóng", "label-select-all": "Chọn tất cả", "label-add-remove-selection": "Thêm vào / xóa khỏi lựa chọn", "label-clone-card": "Nhân bản thẻ", "label-constrain-movement-axis": "Hạn chế di chuyển thẻ theo trục", "label-disable-drag-snapping": "Tắt khít khi kéo", "label-remove-card": "Xóa thẻ", "label-drag-from-below": "Kéo từ phía dưới hoặc nhấp đúp", "label-longpress": "Chạm và giữ để thêm / di chuyển / chọn", "label-drag-pan": "Kéo để di chuyển", "label-pinch-zoom": "Kéo nhẹ để thu phóng", "label-space-drag-pan": "Space + Kéo để di chuyển", "label-scroll-to-zoom": "Cuộn để thu phóng", "label-untitled-group": "Nhóm chưa đặt tên", "label-line-direction": "Hướng dòng", "label-nondirectional": "Không hướng", "label-unidirectional": "Một chiều", "label-bidirectional": "Hai chiều", "label-image": "Hình ảnh", "label-style": "Kiểu dáng", "msg-no-groups-found": "Không tìm thấy nhóm", "msg-export-failed-empty-canvas": "Không thể xuất bảng trống", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "Create bases by querying note properties.", "action-new-base": "New base", "action-add-property": "Add property", "action-add-formula": "Add formula", "action-hide-all": "Hide all", "action-toggle-visibility": "Toggle visibility", "action-delete-property": "Delete property", "action-duplicate-view": "Duplicate view", "action-delete-view": "Delete view", "action-export-c-s-v": "Export CSV...", "command-create-new": "Create new base", "command-insert-new": "Insert new base", "command-copy-table": "Copy table to clipboard", "command-change-view": "Change view", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "Computed properties", "label-property-type": "Property type", "label-hide-property": "Hide property", "label-show-property": "Show property", "label-edit-property": "Edit property", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "Configure view", "label-view-layout": "Layout", "label-global-filters": "Global filters", "label-view-filters": "View filters", "label-view-name": "View name", "label-default-view": "View", "label-view-type-table": "Table", "label-display-name": "Display name", "label-formula": "Formula", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "Any of the following are true", "label-all-the-following": "All the following are true", "label-none-of-the-following": "None of the following are true", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "Untitled", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "This filter cannot be represented by the simple filter builder.", "msg-filter-cannot-parse": "Filter cannot be parsed. Basic filter builder cannot be used.", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "Unable to add new Bases view \"{{ viewID }}\". A view with this ID already exists.", "msg-error-unable-to-parse": "Unable to parse your base file:", "msg-error-view-not-found": "View \"{{ view }}\" not found", "msg-error-unknown-view-type": "Base configured with an unknown view type: {{ viewtype }}", "msg-error-view-type": "Views must be an array", "msg-error-display-values": "Display values must be strings. Value for property {{ key }} is not.", "msg-error-must-be-a-type": "\"{{ key }}\" must be a {{ type }}", "msg-error-filter-type": "\"filters\" must be a string or an object", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" filter must be an array", "msg-error-filter-allowed-keys": "\"filters\" may only have one of an \"and\", \"or\", or \"not\" keys.", "msg-error-filter-failed-to-evaluate": "Failed to evaluate a filter: {{ message }}", "msg-error-formula-values": "Formula values must be strings. Value for property {{ key }} is not.", "msg-error-computed-failed-to-compute": "Failed to compute value of property \"{{ key }}\": {{ message }}", "msg-error-invalid-query-format": "Query is an invalid format. It should be a YAML object.", "msg-error-view-invalid-format": "\"view\" items must be a YAML object, however item {{ index }} is not", "msg-error-view-name-invalid": "Missing or invalid \"name\" in view {{ index }}", "msg-error-view-missing-required-key": "\"{{ key }}\" is required in view \"{{ viewName }}\"", "msg-error-view-incorrect-type": "\"{{ key }}\" must be a {{ type }} in view \"{{ viewName }}\"", "msg-error-view-incorrect-value-type": "\"{{ key }}\" values must all be of type {{ type }} in view \"{{ viewName }}\"", "msg-error-view-parsing-filters": "Unable to parse filters in view \"{{ viewName }}\": {{ message }}", "msg-error-infinite-loop": "Infinite loop detected in formula", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "Advanced filter", "tooltip-filter-simple-mode": "Simple filter", "tooltip-remove-filter": "Remove filter", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "Hide column", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "Tô sáng hết", "action-match-diacritics": "Phù hợp với dấu thanh", "action-whole-words": "Toàn bộ từ", "action-show-thumbnails": "Ảnh thu nhỏ", "action-show-outline": "Mục lục", "action-reveal-in-outline": "Hiển thị trang trong mục lục", "action-toggle-sidebar": "Chuyển đổi thanh bên", "action-previous-page": "Trang trước", "action-next-page": "Trang tiếp theo", "action-fit-width": "Vừa chiều rộng", "action-fit-height": "Vừa chiều cao", "action-save-p-d-f-location": "Lưu vị trí hiện tại trong tài liệu", "action-copy-annotation": "Sao chép chú thích", "action-copy-quote": "Sao chép như trích dẫn", "action-copy-selection-link": "Sao chép liên kết đến phần được chọn", "action-copy-annot-link": "Sao chép liên kết đến chú thích", "action-copy-section-link": "Sao chép liên kết đến phần", "action-copy-section-link-title": "Sao chép liên kết đến “{{title}}”", "action-copy-page-link": "Sao chép liên kết đến trang {{page}}", "msg-max-search-results": "{{current}} trên hơn {{limit}} kết quả", "msg-search-count": "{{current}} trên {{total}} kết quả", "msg-search-count_plural": "{{current}} trên {{total}} kết quả", "msg-password-protected": "PDF này được bảo vệ bằng mật khẩu", "msg-invalid-password": "Mật khẩu không hợp lệ", "msg-enter-password": "Nhập mật khẩu dưới đây", "label-of-pages": "của {{count}}", "label-page-of-pages": "({{current}} của {{count}})", "label-spread-single": "Một trang", "label-spread-odd": "Hai trang (lẻ)", "label-spread-even": "Hai trang (chẵn)", "tooltip-sidebar-options": "Tùy chọn thanh bên", "tooltip-display-options": "Tùy chọn hiển thị", "label-adapt-to-theme": "Thích ứng với chủ đề", "label-page": "trang {{page}}", "page_landmark": "Trang {{page}}", "thumb_page_title": "Trang {{page}}", "thumb_page_canvas": "Trang {{page}}", "text_annotation_type": "[Chú thích {{type}}]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "Danh sách", "option-unknown": "Chưa biết", "option-text": "Chữ", "option-aliases": "Bí danh", "option-tags": "Thẻ", "option-folder": "Folder", "option-file": "File", "option-date": "Ngày", "option-datetime": "Ngày tháng", "option-number": "Số", "option-checkbox": "Hộp kiểm" }, "value-suggestion": { "key-link-note": "Loại [[", "instruction-link-note": "để liên kết ghi chú", "instruction-dismiss": "để hủy" }, "option-property-type": "Loại thuộc tính", "msg-empty-property-name": "Tên thuộc tính không thể để trống.", "msg-duplicate-property-name": "Thuộc tính đã tồn tại.", "msg-invalid-tag": "Tên thẻ không hợp lệ", "msg-invalid-number": "Số không hợp lệ", "msg-invalid-properties": "Không thể đọc các thuộc tính.", "label-no-value": "Không có giá trị", "label-heading": "Thuộc tính", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "Lỗi cú pháp. Frontmatter của bạn không hợp lệ.", "label-add-property-button": "Thêm thuộc tính", "label-type-mismatch-warning": "Không khớp loại, dự kiến là {{type}}", "label-type-mismatch-warning-generic": "Type mismatch", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "Cột", "label-row": "Hàng", "action-row-after": "Thêm hàng phía sau", "action-column-after": "Thêm cột phía sau", "action-row-before": "Thêm hàng phía trước", "action-row-up": "Di chuyển hàng lên", "action-row-down": "Di chuyển hàng xuống", "action-column-before": "Thêm cột phía trước", "action-column-left": "Di chuyển cột sang trái", "action-column-right": "Di chuyển cột sang phái", "action-duplicate-row": "Nhân đôi hàng", "action-duplicate-column": "Nhân đôi cột", "action-delete-row": "Xóa hàng", "action-delete-column": "Xóa cột", "action-align-left": "Căn trái", "action-align-center": "Căn giữa", "action-align-right": "Căn phải", "action-delete-selection": "Xóa ô", "action-clear-selection": "Xóa nội dung ô", "action-sort-a-z": "Sắp xếp theo cột (A đến Z)", "action-sort-z-a": "Sắp xếp theo cột (Z đến A)", "label-command": "Bảng: {{command}}" }, "callout": { "option-type": "Loại chú thích", "type": { "info": "Thông tin", "important": "Quan trọng", "tip": "Mẹo", "success": "Thành công", "question": "Câu hỏi", "warning": "Cảnh báo", "quote": "Trích dẫn", "example": "Ví dụ", "none": "None" }, "option-other": "Khác...", "option-other-placeholder": "Loại chú thích..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} từ", "word-with-count_plural": "{{count}} từ", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} ký tự", "character-with-count_plural": "{{count}} ký tự", "link-with-count": "{{count}} liên kết", "link-with-count_plural": "{{count}} liên kết", "file-with-count": "{{count}} tập tin", "file-with-count_plural": "{{count}} tập tin", "folder-with-count": "{{count}} thư mục", "folder-with-count_plural": "{{count}} thư mục", "backlink-with-count": "{{count}} liên kết trở lại", "backlink-with-count_plural": "{{count}} liên kết trở lại", "tabs-with-count": "{{count}} tab", "tabs-with-count_plural": "{{count}} tabs", "properties-with-count": "{{count}} thuộc tính", "properties-with-count_plural": "{{count}} thuộc tính", "site-with-count": "{{count}} trang web", "site-with-count_plural": "{{count}} trang web", "plugin-with-count": "{{count}} gắn thêm", "plugin-with-count_plural": "{{count}} gắn thêm", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} giao diện", "theme-with-count_plural": "{{count}} giao diện" } }{ "setting": { "options": "選項", "plugin": "外掛程式", "builtin-plugins": "核心外掛程式", "plugin-options": "外掛程式選項", "folder-path-example-placeholder": "例:資料夾1/資料夾2", "file-path-example-placeholder": "例:資料夾/筆記.md", "msg-restart-required": "變更此選項後,必須重新啟動才能讓更動生效。", "editor": { "name": "編輯器", "section-behavior": "行為", "section-display": "顯示", "option-spellcheck": "拼寫檢查", "option-spellcheck-description": "開啟拼寫檢查器。目前只適用於英語(美式)。", "spellcheck-languages": "檢查語言拼字", "spellcheck-languages-description": "選擇拼字檢查工具要檢查的語言。", "spellcheck-languages-mac-description": "原生的拼字檢查工具會自動偵測您在 macOS 使用的語言。", "spellcheck-dict": "拼寫檢查詞典", "spellcheck-dict-empty": "拼寫檢查詞典是空的。", "option-show-inline-title": "顯示內嵌標題", "option-show-inline-title-description": "將檔名顯示為可編輯的標題,與檔案內容並列。", "option-readable-line-length": "縮減行寬", "option-readable-line-description": "開啟後將限制每行字數,使螢幕顯示的內容減少,但使長段落更具可讀性。", "option-strict-line-break": "精確的換行符號", "option-strict-line-break-description": "在預覽模式下,根據 Markdown 語法忽略單行換行符號。將此選項關閉可在預覽中顯示單行換行符號。", "option-properties-in-document": "文件內屬性", "option-properties-in-document-description": "選擇屬性在編輯器內的顯示方式。選擇 「來源」 將以 YAML 格式顯示屬性。", "option-properties-hidden": "隱藏", "option-properties-visible": "可見", "option-properties-source": "來源", "option-auto-pair-brackets": "自動補全雙括號", "option-auto-pair-brackets-description": "自動補全括號和引號。", "option-auto-pair-markdown": "自動補全 Markdown 語法", "option-auto-pair-markdown-description": "自動補全表示粗體和斜體的標記。", "option-smart-indent-lists": "智慧列表", "option-smart-indent-lists-description": "開啟後 Obsidian 將根據換行和縮排情況自動調整列表符號。", "option-fold-heading": "收合標題", "option-fold-heading-description": "將標題行下層所有文字都收合到標題行。", "option-fold-indent": "收合縮排", "option-fold-indent-description": "把相同的縮排內容(如列表)收合起來。", "option-default-new-tab-view": "新分頁的預設檢視模式", "option-default-new-tab-view-description": "開啟新 Markdown 分頁後的預設檢視模式。", "option-default-new-tab-view-editing": "編輯檢視模式", "option-default-new-tab-view-reading": "閱讀檢視模式", "option-open-tab-in-foreground": "一律聚焦於新分頁", "option-open-tab-in-foreground-description": "當您在新分頁開啟連結後,立刻切換至該分頁。", "option-default-editing-mode": "預設編輯模式", "option-default-editing-mode-description": "新窗格預設啟動的編輯模式。", "option-default-editing-mode-source": "原始碼模式", "option-default-editing-mode-live-preview": "實際預覽", "option-show-line-number": "顯示行號", "option-show-line-number-description": "在左側顯示行號。", "option-indentation-guide": "顯示縮排指示", "option-indentation-guide-description": "在要點間顯示垂直關聯線,以提供視覺提示。", "option-use-tabs": "使用 Tab 鍵縮排", "option-use-tabs-description": "按下 Tab 鍵可發送定位符來縮排。關閉此項後可發送空格來縮排。", "option-tab-size": "Tab 大小", "option-tab-size-description": "一個 Tab 等於幾個空白。", "option-rtl": "右至左 (RTL)", "option-rtl-description": "設定筆記的文字方向,讓文字能從右至左顯示。", "option-auto-convert-html": "自動轉換 HTML", "option-auto-convert-html-description": "由網頁貼入或拖入時自動轉換 HTML 為 Markdown,使用 Ctrl/Cmd+Shift+V 貼入則不轉換。", "option-vim-key-bindings": "Vim 鍵綁定", "option-vim-key-bindings-description": "允許在編輯器中使用 Vim 鍵綁定。", "option-vim-key-bindings-mobile": "在行動裝置上,此設定不會透過設定檔同步,每部裝置可自行調整。", "option-reindex-vault": "重建儲存庫快取", "option-reindex-vault-description": "重建快取依照儲存庫大小須耗時數秒到數分鐘。", "label-reindex": "重建", "label-confirm-enable-vim": "確認進入 Vim 模式", "label-vim-warning": "Vim 模式可以快速編輯內容,但其操作可能會違反直覺。若您不熟悉 Vim,此選項可能會製造出 Obsidian 似乎停止運作的假象。", "label-vim-test": "為驗證您確實知道如何操作 Vim,請輸入結束且不儲存的命令:", "label-vim-your-answer": "您的答案", "placeholder-enter-command": "輸入命令…", "button-confirm-enable-vim": "讓我啟用 Vim", "msg-vim-mode-enabled": "命令正確,Vim 模式已啟用。", "msg-vim-mode-not-enabled": "命令不正確。為了保護您,Vim 未被啟用。", "msg-vim-mode-please-enter-command": "請輸入命令以啟用 Vim 模式" }, "file": { "name": "檔案與連結", "option-confirm-file-deletion": "確認刪除提示", "option-confirm-file-deletion-description": "是否需要彈出提示對話窗以確認刪除檔案。", "option-delete-destination": "刪除檔案設定", "option-delete-destination-description": "要如何處理已刪除的檔案?", "option-choice-system-trash": "移至資源回收筒", "option-choice-vault-trash": "移至軟體回收筒(.trash 資料夾)", "option-choice-permanent-delete": "永久刪除", "option-always-update-links": "始終更新內部連結", "option-always-update-links-description": "開啟後重新命名檔案時 Obsidian 會自動為您更新內部連結,關閉後則需要您手動確認是否更新", "option-new-note-location": "新建筆記儲存位置", "option-new-note-location-description": "指定新建筆記的儲存位置,外掛程式可能會修改此設定。", "option-choice-vault-root": "儲存庫的根目錄", "option-choice-current-folder": "目前開啟檔案所在的資料夾", "option-choice-specified-folder": "下方指定的資料夾", "option-new-file-folder-path": "儲存新建筆記的資料夾", "option-new-file-folder-path-description": "指定儲存新筆記的資料夾,外掛程式可能會修改此設定。", "option-use-wiki-links": "使用 [[Wikilinks]]", "option-use-wiki-links-description": "自動產生 Wikilinks [[連結]] 與 ![[圖片]] 以取代 Markdown 連結與圖片。關閉本選項則產生 Markdown 格式。", "option-show-unsupported-files": "偵測所有的副檔名", "option-show-unsupported-files-description": "即使 Obsidian 無法開啟,也會顯示所有的副檔名,因此可以連結到它們,並在檔案瀏覽器與快速切換對話窗看到這些檔案。", "option-link-autocompleted-format": "內部連結格式", "option-link-autocompleted-format-description": "設定在筆記中引用其他文件時插入 [[ ]] 中的檔案路徑類型。", "option-choice-shortest-linktext": "以儘可能簡短的形式插入", "option-choice-relative-path": "插入對應目前檔案的相對路徑", "option-choice-absolute-path": "插入對應儲存庫的絕對路徑", "option-new-attachment-location": "新附件的預設位置", "option-new-attachment-location-description": "存放新加入附件的位置。", "option-new-attachment-location-default": "附件", "option-choice-subdirectory": "目前資料夾內的子目錄", "option-attachment-folder-path": "附件資料夾路徑", "option-attachment-folder-path-description": "指定用於儲存附件的資料夾。新建的附件會儲存於此,如音訊記錄或透過拖曳或貼上建立的影像等。", "option-attachment-subfolder-path": "子目錄名稱", "option-attachment-subfolder-path-description": "若檔案存在「vault/folder」,且子目錄名稱為「attachments」,則附件會被存在「vault/folder/attachments」。", "option-excluded-files": "已排除的檔案", "option-excluded-files-desc": "已排除的檔案在不同的地方,如快速切換工具、連結建議,或是圖表檢視,可能會被隱藏或較為隱蔽。", "label-no-excluded-filters-applied": "目前未套用任何篩選器。請在下方新增。", "label-excluded-filters-applied": "目前符合以下篩選器的檔案將被排除:", "label-excluded-filter": "篩選器", "message-empty-filter": "篩選器不可空白", "placeholder-excluded-filter": "輸入路徑或 「/regex/」……", "option-uri-callbacks": "允許回呼網址", "option-uri-callbacks-desc": "當處理 Obsidian 網址時啟用 x-callback-url 經由 x-success 或 x-error。" }, "appearance": { "name": "外觀", "option-base-theme": "基本佈景主題", "option-base-theme-description": "選擇 Obsidian 預設的配色方案。", "option-accent-color": "輔色", "option-accent-color-description": "選擇整個應用程式使用的輔色。", "dark-theme": "暗黑", "light-theme": "明亮", "system-theme": "與系統相同", "option-font": "字型", "option-advanced": "進階", "option-interface": "Interface", "option-interface-font": "介面字型", "option-interface-font-description": "設定 Obsidian 的全域字型。", "option-zoom-level": "縮放比例", "option-zoom-level-description": "控制應用程式的整體縮放比例。", "option-text-font": "文字字型", "option-text-font-description": "設定編輯或閱讀模式的字型。", "option-monospace-font": "等寬字型", "option-monospace-font-description": "設定程式碼區塊及正文前頁等區域的字型。", "label-single-font-currently-in-effect": " 目前套用的字型:", "label-multiple-fonts-currently-in-effect": "目前已套用下列字型:", "option-font-placeholder": "輸入字型名稱……", "label-no-custom-font-set": "目前未套用任何自訂字型。請在下方新增。", "label-font-applied": "將套用此列表中首個您的系統可用的字型。", "msg-font-not-found": "未在您的系統中偵測到此字型。", "msg-font-found": "已在您的系統中偵測到此字型。", "label-font-name": "字型名稱", "option-community-themes": "查看社群主題", "option-community-themes-description": "預覽、使用社群使用者建立的優秀主題。", "button-browse-community-themes": "瀏覽", "option-font-size": "字型大小", "option-font-size-description": "字型大小的像素值會影響編輯器與預覽。", "option-font-size-action": "快速字型大小調整", "option-font-size-action-description": "使用 [Ctrl+捲動] 調整字型大小,或使用觸控板的放大手勢。", "option-themes": "佈景主題", "option-manage-themes-description": "管理已安裝主題及瀏覽社群主題。", "option-theme-button-manage": "管理", "option-choice-none": "無", "option-native-menus": "原生選單", "option-native-menus-desc": "整個應用程式的選單將配合作業系統的風格,不受您的主題影響。", "button-reload-themes": "重新載入佈景主題", "msg-reloaded-themes": "已重新載入自訂 CSS 佈景主題。", "button-open-themes-folder": "開啟佈景主題資料夾", "option-css-snippets": "CSS 片段", "label-no-css-snippets-found": "在 snippets 資料夾裡找不到 CSS 片段。", "no-snippet-description": "CSS 片段存放於 “{{path}}”。", "button-reload-snippets": "重新載入 CSS 片段", "button-open-snippets-folder": "開啟 CSS 片段資料夾", "msg-reloaded-snippets": "已重新載入 CSS 片段。", "option-toggle-snippet-description": "在 “{{path}}” 套用 CSS 片段。", "label-installed-themes": "已安裝主題", "label-screenshot-unavailable": "尚無螢幕截圖", "label-default-theme": "預設主題", "tooltip-click-to-enlarge": "點選放大", "button-update": "更新", "label-currently-active": "啟用中", "option-frame-style": "視窗框架樣式", "option-frame-description": "決定 Obsidian 視窗標題列的樣式。需要完整重新啟動以生效。", "option-frame-hidden": "隱藏 (預設)", "option-frame-obsidian": "Obsidian 框架", "option-frame-native": "原生框架", "option-custom-icon": "自訂應用程式圖示", "option-custom-icon-desc": "設定應用程式的自訂圖示", "button-choose-custom-icon": "選擇自訂圖示", "option-configure-ribbon": "功能區選單", "option-configure-ribbon-desc": "設定哪些命令要出現在該導覽列的功能區選單中。", "option-mobile-quick-ribbon-item": "快速存取功能區項目", "option-mobile-quick-ribbon-item-desc": "點選導覽選單的功能區項目將啟用該項目。點選並按住仍會顯示選單。", "option-mobile-quick-ribbon-default": "開啟功能區選單", "button-configure": "設定", "option-show-ribbon": "顯示功能區選單", "option-show-ribbon-desc": "於視窗側邊顯示垂直工具欄位。", "label-additional-ribbon-items": "其他功能區項目", "label-modal-configuration": "功能區設定", "label-modal-configuration-desc": "選擇您想要顯示在功能表中的項目。拖曳以調整排序。", "option-show-view-header": "顯示分頁標題列", "option-show-view-header-desc": "在每個分頁的上方顯示標題。", "msg-updates-found": "有 {{count}} 個主題可更新。", "msg-updates-found_plural": "有 {{count}} 個主題可更新。", "button-check-for-updates": "檢查更新", "button-view-updates": "檢視更新", "button-update-all-themes": "全部更新", "label-current-themes": "目前的社群主題", "label-currently-installed": "您目前已安裝了 {{count}} 個主題。", "label-currently-installed_plural": "您目前已安裝了 {{count}} 個主題。" }, "hotkeys": { "name": "快速鍵", "option-search": "搜尋快速鍵", "option-search-desc": "顯示 {{count}} 個快速鍵。 ", "option-search-desc_plural": "顯示 {{count}} 個快速鍵。 ", "option-search-conflict": "有 {{count}} 個命令發生衝突。", "option-search-conflict_plural": "有 {{count}} 個命令發生衝突。", "prompt-filter": "搜尋……", "tooltip-delete-hotkey": "刪除快速鍵", "label-waiting-for-hotkey-press": "按下快速鍵……", "label-show-all": "全部", "label-show-unassigned": "未指定", "label-show-assigned": "已指定", "label-show-user-assigned": "由我指定", "tooltip-restore-default": "還原至預設值", "tooltip-customize-command": "自訂快速鍵", "tooltip-hotkey-single-conflict": "此快速鍵與「{{command}}」發生衝突", "tooltip-hotkey-multiple-conflicts": "此快速鍵與其他 {{count}} 個命令發生衝突", "label-blank-hotkey": "無" }, "about": { "name": "關於", "label-commercial-license": "商業授權", "label-license-key": "授權", "license-key-placeholder": "您的授權金鑰……", "label-activate-license": "啟用授權", "button-activate": "啟用", "label-unknown-version": "無標題", "label-current-version": "目前版本:", "label-install-version": "(安裝程式版本:{{version}})", "label-up-to-date": "您使用的是最新版本!", "label-read-changelog": "閱讀更新日誌", "label-manual-update-required": "Obsidian 需要一次較大的安裝程式更新,方能支援最新功能,以及接收最新的安全性修正。您需要自行下載並重新安裝 Obsidian。", "label-new-version-ready": "準備安裝新版本。 ", "label-disabled-updates": "已禁止更新功能。", "button-relaunch": "重新啟動應用程式", "button-check-for-updates": "檢查更新", "option-auto-update": "自動更新", "option-auto-update-description": "關閉後 Obsidian 將不會自動更新。", "option-check-slow-startup": "當啟動花費較預期為多的時間時警示。", "option-check-slow-startup-description": "檢查造成啟動緩慢的診斷。", "button-check-startup": "執行檢查。", "option-get-help": "取得協助", "option-get-help-description": "取得關於使用 Obsidian 的協助。", "button-open": "開啟", "option-language": "語言", "option-language-description": "更改介面語言。", "option-insider-build": "接收內測版本", "option-insider-build-description": "自動更新至內測版本以體驗最新功能。請注意,內測版本可能不太穩定。", "option-advanced": "進階", "option-hw-acceleration": "硬體加速", "option-hw-acceleration-description": "開啟硬體加速,亦即使用 GPU 讓 Obsidian 能執行得更順暢。", "option-hw-acceleration-warning": "若您關閉此選項,應用程式將會嚴重變慢。", "option-config-location": "覆蓋設定資料夾", "option-config-location-description": "用不同資料夾取代預設資料夾。資料夾必須以 . 開頭。", "option-config-location-warning": "設定資料夾必須有效,且以 . 開頭。", "label-license": "授權", "label-your-commercial-license-key": "您的商業授權金鑰為:「{{key}}」。", "label-commercial-license-info": "註冊給使用者:「{{company}}」 - {{seats}} 。有效期至 {{expiry}}。", "label-validating-commercial-license": "正在驗證……", "label-invalid-commercial-license": "授權無效:", "button-remove-commercial-license": "移除", "option-catalyst": "Catalyst 授權", "option-catalyst-desc": "您目前的 Catalyst 授權為層級 {{tier}}。感謝您的支持!", "option-catalyst-desc-no-license": "您目前沒有 Catalyst 授權,Catalyst 授權是一次性的贊助,以支持 Obsidian 的開發。", "label-app": "應用程式", "label-add-own-language": "了解如何將您的語言加入 Obsidian。" }, "account": { "name": "帳號", "option-your-account": "您的帳號", "option-your-account-desc": "您目前的登入身分:{{name}} ({{email}})。", "option-your-account-desc-no-login": "您尚未登入。僅 Obsidian Sync、Obsidian Publish,和 Catalyst 內測版本會需要您登入帳號。", "label-insider": "內測人士", "label-supporter": "贊助者", "label-vip": "VIP", "button-upgrade-catalyst": "升級", "option-commercial-license": "商業授權", "option-commercial-license-desc": "協助讓 Obsidian 保持 100% 使用者支援。", "button-purchase": "購買", "button-log-out": "登出", "label-log-in": "登入", "label-sign-up": "註冊", "label-email": "電子郵件地址", "placeholder-email": "您的電子郵件地址……", "label-name": "全名", "label-password": "密碼", "placeholder-password": "您的密碼……", "label-forgot-password": "忘記密碼?", "button-login": "登入", "message-empty-email": "電子郵件地址不能留空。", "message-invalid-email": "電子郵件地址無效。", "message-empty-password": "密碼不能留空。", "message-login-failed": "登入失敗。請檢查您的電子郵件地址與密碼。", "message-signup-failed": "註冊失敗", "label-no-account": "沒有帳號?", "link-sign-up-now": "現在註冊", "label-mfa-code": "6 位數雙重驗證碼", "mfa-wrong-format": "雙重驗證碼必須為 6 位數。", "mfa-verification-failed": "雙重驗證碼錯誤,請再次確認您的驗證器應用程式。" }, "core-plugin": { "plugin-list": "外掛程式清單", "option-search-plugin": "搜尋核心外掛程式", "option-search-plugin-description": "以名稱或描述過濾外掛程式。", "placeholder-search-plugin": "搜尋外掛程式……" }, "third-party-plugin": { "name": "第三方外掛程式", "option-restricted-mode": "受限模式", "option-restricted-mode-description": "受限模式已關閉,請開啟以停用社群外掛程式。", "button-turn-on": "開啟", "option-browse-community-plugins": "社群外掛程式", "option-browse-community-plugins-description": "瀏覽並安裝我們令人嘆服的社群所製作的第三方外掛程式。", "button-browse": "瀏覽", "label-exit-restricted-mode": "離開受限模式", "label-exit-restricted-mode-description-1": "如同您安裝的任何其他軟體,社群外掛程式也有可能會導致資料完整性和安全性問題。", "label-exit-restricted-mode-description-2": "我們很重視外掛程式安全性。以下是我們的作法:", "label-exit-restricted-mode-description-3": "儘管我們盡心竭力,社群外掛程式故障仍不無可能。", "label-code-review": "初始程式碼檢閱", "label-code-review-desc": "外掛程式在上架前須先讓我們的團隊進行初始程式碼檢閱。", "label-open-source": "開放原始碼", "label-open-source-desc": "大部分的外掛程式有在 GitHub 上開源,所以您可以自行檢查程式碼。", "label-peer-audit": "同行稽核", "label-peer-audit-desc": "我們有龐大的開發者社群,他們互相監督。", "label-report-mechanism": "回報機制", "label-report-mechanism-desc": "使用者回報後,我們會對有問題的外掛程式進行後續追蹤和移除。", "label-exit-restricted-mode-disable-confirmation": "您要離開受限模式以啟用社群外掛程式嗎?我們強烈建議您在離開前先備份您的資料。", "label-learn-more": "深入了解外掛程式安全性", "button-turn-on-community-plugins": "啟用社群外掛程式", "label-trust-author": "您信任此儲存庫的作者嗎?", "label-trust-author-description-1": "您是第一次開啟此儲存庫,且其附帶了一些外掛程式。", "label-trust-author-description-2": "請注意,如果您是從其他人手中取得此儲存庫,來源不明的外掛程式可能會帶來安全風險。", "label-trust-author-description-3": "如果您不完全信任此儲存庫的作者,我們建議停留在受限模式,以阻止此儲存庫的外掛程式執行。", "button-enable-plugins": "信任作者並啟用外掛程式", "button-dont-trust-author": "在受限模式下瀏覽儲存庫", "placeholder-community-plugins": "搜尋社群外掛程式……", "msg-failed-load-plugins": "載入社群外掛程式失敗。", "label-installed": "已安裝", "button-install": "安裝", "button-enable": "啟用", "button-disable": "停用", "button-copy-share-link": "複製分享連結", "button-donate": "贊助", "label-no-results-found": "無符合結果。", "label-no-recent-files-found": "找不到近期檔案。輸入以搜尋……", "msg-failed-to-load-manifest": "無法載入外掛程式的設定描述檔。", "label-version": "版本:{{version}}", "label-currently-installed-version": "(目前已安裝:{{version}})", "label-by-author": "作者:", "label-repository": "儲存庫:", "label-last-update": "最近更新:", "tooltip-view-last-update": "檢視最近更新", "label-unsupported": "此外掛程式不支援您的裝置。", "button-update": "更新", "label-no-readme": "此外掛程式未提供 README 檔案。", "msg-installing-plugin": "正在安裝「{{name}}」外掛程式……", "msg-failed-to-install-plugin": "無法安裝「{{name}}」外掛程式。", "msg-successfully-installed-plugin": "已成功安裝「{{name}}」外掛程式。", "msg-failed-to-uninstall-plugin": "Failed to uninstall plugin “{{id}}”.", "msg-failed-to-disable-plugin": "Failed to disable plugin “{{id}}”.", "label-installed-plugins": "已安裝外掛程式", "button-reload-plugins": "重新載入外掛程式", "msg-reloaded-third-party-plugins": "已重新載入第三方外掛程式。", "label-uninstall": "移除安裝", "label-uninstall-plugin": "移除已安裝外掛程式", "label-uninstall-plugin-confirmation": "確定要移除這個外掛程式嗎?此動作將刪除外掛程式的資料夾。", "button-open-plugins-folder": "開啟外掛程式資料夾", "button-check-for-updates": "檢查更新", "button-update-all-plugins": "全部更新", "label-current-plugins": "目前的外掛程式", "label-currently-installed": "目前已安裝 {{count}} 個外掛程式。", "label-currently-installed_plural": "目前已安裝 {{count}} 個外掛程式。", "msg-no-updates-found": "尚無更新的外掛程式。", "msg-updates-found": "尋獲 {{count}} 個須更新的外掛程式。", "msg-updates-found_plural": "尋獲 {{count}} 個須更新的外掛程式。", "msg-update-plugin": "更新至版本 {{version}}", "option-search-installed-plugin": "搜尋已安裝外掛程式", "option-search-installed-plugin-description": "以名稱或描述過濾已安裝外掛程式。", "placeholder-search-installed-plugin": "搜尋已安裝外掛程式…", "show-installed-only": "僅顯示已安裝", "label-donate-modal-title": "贊助以支持 {{name}}", "label-donate-modal-text1": "外掛程式的開發者為社群的志願者,出於熱情而達成令人嘆服的事情,如果您覺得此外掛程式很好用,請考慮贊助其開發。", "label-donate-modal-text2": "您的贊助將全數給予外掛程式的開發者,Obsidian 不會從中抽成。開發者選擇的贊助平台可能會收取手續費。", "label-donate-modal-text3": "感謝您的慷慨贊助!", "label-support-this-plugin": "支持此外掛程式:", "label-search-summary": "顯示 {{pluginCount}}:", "label-by-popularity": "最多下載次數", "label-by-released": "最近推出", "label-by-updated": "最近更新", "label-alphabetical": "按字母排序", "label-last-updated": "於 {{time}} 更新" }, "mobile-toolbar": { "name": "行動版工具列", "option-configure-quick-action": "設定移動裝置的快速操作", "option-configure-quick-action-description": "設定由頂端往下拖拉時觸發的命令,目前設定的命令是:「{{command}}」。", "msg-missing-quick-action": "動作尚未設定", "button-configure": "設定", "placeholder-select-quick-action": "選擇快速操作…", "quick-action-disabled": "無", "manage-toolbar-options": "管理工具列選項", "option-internal-link": "新增內部連結", "option-internal-embed": "新增嵌入", "option-tag": "新增標籤", "option-heading": "切換標題", "option-strikethrough": "切換刪除線", "option-highlight": "切換突顯效果", "option-code": "切換程式碼", "option-blockquote": "切換區塊引用", "option-inline-math": "切換內嵌公式", "option-math-block": "切換公式區塊", "option-markdown-link": "新增 Markdown 連結", "option-bullet-list": "切換項目清單", "option-numbered-list": "切換編號清單", "option-indent-list": "內縮清單項目", "option-unindent-list": "取消內縮清單項目", "option-undo": "復原", "option-redo": "重做", "option-move-caret-up": "向上移動游標", "option-move-caret-down": "向下移動游標", "option-move-caret-left": "向左移動游標", "option-move-caret-right": "向右移動游標", "option-first-line": "移動至第一行", "option-last-line": "移動至最後一行", "option-toggle-keyboard": "切換鍵盤", "option-configure-toolbar": "設定行動版工具列", "option-added-options": "已新增選項", "option-more-toolbar-options": "更多工具列選項", "option-attach": "插入附件", "option-add-command": "加入全域命令", "option-add-command-description": "選擇要加入至工具列的全域命令。" } }, "editor": { "search": { "placeholder-find": "尋找", "placeholder-replace": "取代", "label-exit-search": "退出搜尋", "label-next": "下一個", "label-previous": "上一個", "label-find-all": "搜尋全部", "label-replace": "取代", "label-replace-all": "全部取代" }, "link-suggestion": { "label-type-hash": "輸入 #", "label-link-heading": "以連結到標題", "label-type-block": "輸入 ^", "label-link-block": "以連結到區塊", "label-type-pipe": "輸入 |", "label-change-display-text": "指定顯示的文字", "label-no-alias": "顯示文字", "label-no-heading": "標題", "label-no-match-found": "未找到符合結果", "label-image-size": "圖片大小: {{size}}px 寬", "label-accept": "接受", "label-new-footnote": "新註腳..." }, "spellcheck": { "no-suggestion": "沒有建議……", "add-to-dictionary": "加入詞典" }, "menu": { "edit-link": "編輯連結", "edit-tag": "編輯標籤", "label-edit-block": "編輯區塊", "label-delete-footref-and-note": "刪除註腳與參考" }, "heading-suggestion": { "label-no-heading": "沒有標題", "label-heading-level": "標題 {{level}}" }, "print-modal": { "title": "匯出 PDF", "caption": "以下列設定匯出「{{filename}}」為 PDF。", "setting-page-size": "紙張大小", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "Legal", "setting-page-size-letter": "Letter", "setting-page-size-tabloid": "Tabloid", "setting-include-file-name": "將檔名作為標題", "setting-landscape": "橫向", "setting-margin": "邊界", "setting-margin-default": "預設", "setting-margin-minimal": "最小", "setting-margin-none": "無", "setting-downscale-percent": "縮小百分比", "button-export-to-pdf": "匯出 PDF" }, "link-popover": { "tooltip-follow-link": "跟隨連結", "tooltip-open-link": "開啟連結", "tooltip-search-tag": "搜尋標籤" } }, "interface": { "embed-cannot-find": "找不到:", "label-unable-to-find-section": "無法在{{file}}裡找到「{{subpath}}」", "embed-open-in-default-app-tooltip": "在預設應用程式中開啟", "empty-sidebar": "側邊欄空白,請嘗試將窗格拖曳至此。", "sidebar-expand": "展開", "sidebar-collapse": "摺疊", "msg-fail-to-save-file": "「{{filepath}}」檔案儲存失敗。{{message}}。", "msg-failed-to-load-plugin": "轉入外掛失敗:「{{plugin}}」", "msg-plugin-error": "載入外掛「{{plugin}}」時發生錯誤", "msg-failed-to-load-file": "開啟失敗:「{{filepath}}」", "msg-failed-to-open-href": "無法開啟位置:「{{href}}」", "no-file": "未開啟檔案", "msg-file-changed": "「{{file}}」已被外部修改,自動合併變動。", "switch-vault": "開啟其他儲存庫", "manage-vaults": "管理儲存庫...", "help": "說明", "settings": "設定", "drag-to-rearrange": "拖曳調整配置", "msg-switched-to-read": "已將預設檢視模式切換為閱讀檢視模式。", "msg-switched-to-edit": "切換預設檢視至編輯模式。", "msg-upgrade-installer": "欲使用此功能,請由官網下載,並重新安裝最新版本的應用程式。", "msg-slow-boot": "偵測到啟動緩慢。", "msg-desktop-only-feature": "此功能只能使用於桌面版。", "tooltip-restore-default-settings": "還原為預設設定", "label-copy": "複製到系統剪貼簿", "label-copy-short": "複製", "copied_generic": "已複製到剪貼簿", "copied": "{{item}} 已複製到系統剪貼簿", "copy_failed": "無法複製到系統剪貼簿", "prompt-filter": "過濾...", "url": "URL", "msg-codeblock-render-error": "Encountered an error while rendering code block.", "msg-open-file-through-uri": "已開啟檔案:「{{path}}」", "msg-file-not-found-through-uri": "找不到檔案「{{name}}」。", "delete-action-short-name": "刪除", "msg-indexing": "Obsidian 正在索引您的儲存庫……\n這個動作應只發生一次,\n在索引完成前,可能會有部分功能無法使用。", "msg-indexing-desc": "完成前部份功能無法使用。", "msg-indexing-complete": "索引完成。", "msg-sandbox-vault": "這是沙盒儲存庫。\n在此儲存庫做出的所有更動皆不儲存。", "msg-indexed-db-not-supported": "本功能需要 IndexedDB,但它目前被停用。", "msg-indexed-db-i-o-s": "如果您正使用iOS的鎖定模式,請將Obsidian由 \"Configure Web Browsing\" 設定中排除。", "label-enter-to-create": "輸入以建立", "label-update-available": "有可用更新", "label-debug-info": "除錯資訊", "button-learn-more": "深入了解", "button-not-now": "稍後再說", "button-add": "新增", "button-manage": "管理", "label-new-tab": "新分頁", "option-hide-ribbon": "隱藏功能區選單", "msg-tab-busy": "此分頁目前忙碌中,請稍後再試", "formatting": { "label-formatting": "格式", "label-paragraph": "段落", "label-insert": "插入", "insert-link": "新增鏈接", "insert-external-link": "新增外部鏈接", "insert-callout": "Callout", "insert-horizontal-rule": "水平橫線", "insert-code-block": "程式碼區塊", "insert-math-block": "數學區塊", "insert-table": "表格", "insert-footnote": "註腳", "toggle-bold": "粗體", "toggle-code": "程式碼", "toggle-comments": "註解", "toggle-highlight": "高亮", "toggle-italics": "斜體", "toggle-strikethrough": "刪除線", "toggle-math": "數學", "toggle-bullet-list": "無序清單", "toggle-checklist": "任務清單", "toggle-numbered-list": "有序清單", "set-heading": "標題 {{level}}", "no-heading": "內容", "clear": "清除格式", "toggle-quote": "引述" }, "empty-state": { "no-file-open": "未開啟檔案", "create-new-file": "建立新檔案", "go-to-file": "開啟檔案", "see-recent-files": "查看近期檔案", "close": "關閉窗格", "close-all": "Close all “{{id}}” tabs ({{count}})", "unknown-pane-title": "外掛程式已不復活躍", "unknown-pane-desc": "建立本窗格({{type}})的外掛程式已經遠走高飛" }, "release-notes": { "tab-title": "發行記錄 {{version}}", "msg-missing-release-notes": "此版本 {{version}} 尚無發行記錄。", "msg-failed-to-load": "此版本 {{version}} 無法載入發行記錄。" }, "menu": { "edit-view": "編輯 (按住 Ctrl/Cmd 開啟新窗格)", "read-view": "目前檢視:閱讀模式", "ribbon": "功能區選單", "left-sidebar": "左側邊欄", "right-sidebar": "右側邊欄Right sidebar", "switch-to-edit-view": "點一下編輯", "switch-to-read-view": "點一下閱讀", "mod-click-open-new-tab": "{{key}}+點一下以在新分頁中開啟", "find": "查詢…", "replace": "取代…", "edit": "編輯", "remove": "移除", "rename": "重新命名", "preview": "預覽", "more-options": "更多選項", "close": "關閉", "close-all": "全部關閉", "close-tabs-with-count": "關閉 {{count}} 個分頁", "close-tabs-with-count_plural": "關閉 {{count}} 個分頁", "close-others": "關閉其他", "close-after": "關閉後方分頁", "pin": "釘選", "unpin": "取消釘選", "unlink-tab": "取消連結分頁", "link-tab": "與分頁連結…", "toggle-source-mode": "原始碼模式", "toggle-reading-view": "閱讀檢視模式", "add-property": "新增檔案屬性", "delete-file": "刪除檔案", "create-file": "建立此檔案", "open-link": "開啟連結", "open-in-new-tab": "在新分頁開啟", "open-to-the-right": "在右側開啟", "copy-url": "複製網址", "copy": "複製", "cut": "剪下", "paste": "貼上", "paste-as-plain-text": "以純文字貼上", "lookup-selection": "查詢 「{{selection}}」", "select-all": "全選", "rename-heading": "重新命名標題…", "rename-blockid": "重新命名此區塊 ID…", "open-in-new-window": "在新視窗開啟", "move-to-new-window": "移至新視窗", "open-in-browser": "在瀏覽器開啟", "stack-tabs": "堆疊分頁", "unstack-tabs": "取消堆疊分頁", "open-linked-view": "開啟連結化檢視" }, "tooltip": { "click-to-expand": "點選展開", "click-to-collapse": "點選摺疊", "alias": "別名", "not-created-yet": "尚未建立,選擇以建立" }, "start-screen": { "label-version": "版本", "label-create-local-vault": "建立本機儲存庫", "option-open-folder-as-vault": "開啟資料夾為儲存庫", "option-open-folder-as-vault-description": "選擇已存在的 Markdown 檔案資料夾。", "option-create-vault": "建立新的儲存庫", "option-create-vault-description": "於資料夾內建立新的 Obsidian 儲存庫。", "option-connect-obsidian-sync": "連接至 Obsidian Sync", "option-connect-obsidian-sync-description": "設定與現有遠端儲存庫同步的儲存庫。", "option-new-vault-name": "儲存庫名稱", "option-new-vault-name-description": "選擇適當的儲存庫名稱。", "option-new-vault-location": "位置", "option-new-vault-location-description": "選擇置放儲存庫的位置。", "label-new-vault-location-preview": "您的新儲存庫會放在:", "option-reveal-vault-in-explorer": "在系統檔案總管中開啟儲存庫", "option-reveal-vault-in-explorer-mac": "在 Finder 中顯示儲存庫", "option-rename-vault": "重新命名儲存庫…", "option-copy-vault-i-d": "複製儲存庫 ID", "msg-error-rename-exists": "已存在相同名稱的儲存庫。", "msg-error-nested": "無法將儲存庫移至其子資料夾。", "msg-error-rename-open": "無法重新命名目前開啟的儲存庫。", "msg-rename-failed": "無法重新命名儲存庫。", "msg-rename-success": "成功重新命名儲存庫。", "option-move-vault": "移動儲存庫……", "msg-move-select-dest": "選擇目的地資料夾", "msg-error-move-exists": "目的地已有儲存庫。", "msg-error-move-open": "無法移動目前已開啟的儲存庫。", "msg-move-failed": "無法移動儲存庫。", "msg-move-success": "成功移動儲存庫。", "option-remove": "從列表中移除", "button-quick-start": "快速開始", "button-open": "開啟", "button-browse": "瀏覽", "button-connect": "連接", "button-create-vault": "建立", "button-back": "返回", "msg-empty-vault-name": "必須輸入儲存庫名稱。", "msg-trailing-dot-vault-name": "儲存庫名稱不以 . 結尾。", "msg-invalid-folder": "請選擇適當的資料夾。", "msg-failed-to-create-vault": "建立儲存庫失敗。", "msg-failed-to-create-vault-at-location": "指定的位置無法建立儲存庫,請確認存放位置與資料夾權限。", "msg-error-failed-to-open-vault": "開啟檔案失敗。", "msg-error-remove-current-open-vault": "開啟中的儲存庫無法刪除。", "option-get-help": "取得協助", "option-user-email": "電子郵件地址", "placeholder-your-email": "您的電子郵件地址……", "option-user-password": "密碼", "placeholder-your-password": "您的密碼……", "button-sign-in": "登入", "button-setup": "設置", "option-connect-vault-desc": "在此裝置上建立同步儲存庫。", "tooltip-own-vault": "這是屬於您的遠端儲存庫。", "tooltip-shared-vault": "這是與您共享的遠端儲存庫。", "mobile": { "label-start-screen": "您的想法是自己的。", "label-synced": "已同步", "label-not-synced": "未同步", "label-none": "無", "label-recommended": "推薦", "label-start-screen-desc": "Obsidian將筆記存放在你的設備裡,因此您可快速且私密的存取,即使在離線狀態下。\n您的資料被安全存放在稱為 **vault** 的本地資料夾裡。", "option-create": "建立儲存庫", "option-use-existing": "使用已存在的儲存庫", "label-sync-intro": "若要在其他設備存取筆記,您必須設定同步。", "label-sync-intro-desc": "因為 Obsidian 將筆記存放在您的設備內,如果您想在其他手機或電腦存取筆記時,您必須設定同步。\n您可以馬上設定同步,或先開始寫筆記而稍後再設定同步。", "option-setup-sync": "設定同步", "option-skip": "先行略過", "option-skip-short": "略過", "label-vault-create": "為儲存庫命名。", "button-create": "建立儲存庫", "label-sync-setup": "同步設定", "label-sync-setup-desc": "用你的Obsidian帳號建立同步的儲存庫,讓你能在其他設備存取資料。", "label-remote-vault-create": "同步加密", "option-encryption-custom": "點對點加密", "option-encryption-custom-desc": "提供最強安全性,但需要你妥善保存密碼", "option-encryption-managed": "標準加密", "option-encryption-managed-desc": "使用 Obsidian 管理的金鑰,在與主機傳輸時保護你的資料。", "label-sync-settings": "同步設定", "label-sync-settings-desc": "同步設備時有需要排除的資料或檔案嗎?", "button-start": "開始同步", "label-sign-in-or-sign-up": "建立 Obsidian 帳號或登入", "option-sign-up": "註冊", "option-sign-in": "登入", "button-resend-email": "重寄 email", "label-remote-vault-options": "同步的儲存庫已經存在", "label-remote-vault-options-desc": "要建立新的儲存庫或連接到已存在的同步儲存庫?", "option-remote-create": "建立新的同步儲存庫", "option-remote-choose": "選擇已存在的儲存庫", "button-logout": "登出", "button-forgot-password": "忘記密碼", "label-vault-name": "儲存庫名稱", "label-vault-location": "儲存庫位置", "label-vault-location-desc": "你的新儲存庫將放置於 {{vaultLocation}}", "label-region-selection": "區域", "label-region-selection-help": "選擇靠近的主機區域以使同步更快速。", "label-encryption-key": "加密金鑰", "label-encryption-key-help": "此密碼無法再變更,如果忘記密碼,任何存放在同步主機的遠端資料將永遠無法存取。", "placeholder-vault-name": "我的儲存庫", "opt-region-selection-automatic": "自動", "label-remote-vault-selection": "選擇儲存庫", "label-remote-vault-selection-desc": "你的帳號 **{{email}}** 能連接的已存在儲存庫", "label-sign-in": "用你的 Obsidian 帳號登入", "label-forgot-password": "遺忘密碼", "button-reset-password": "重置密碼", "msg-password-reset": "已寄出電子郵件到 {{email}} 以重置你的密碼。", "label-sync-method-selection": "選擇如何同步你的筆記", "label-sync-method-selection-desc": "要在設備上使用 Obsidian,必須同步你的資料。", "label-sync-pro1": "在所有裝置和作業系統上都能無縫運作。", "label-sync-pro2": "使用最強大的點對點加密標準確保安全。", "label-sync-pro3": "需要 Obsidian 帳號。", "label-icloud-con1": "只有iOS 與 macOS。", "label-icloud-con2": "預設未加密。", "label-third-party-desc1": "需要第三方外掛或工具。", "label-third-party-desc2": "可能預設無法加密。", "opt-use-obsidian-sync": "使用 Obsidian Sync", "opt-use-icloud": "使用 iCloud", "opt-use-other": "使用第三方同步", "opt-learn-other-sync": "其他同步方法", "opt-use-supported": "使用已支援的同步方法", "label-sync-restore": "你的儲存庫位置?", "label-obsidian-sync": "Obsidian Sync", "label-icloud": "iCloud", "label-other": "其他", "label-other-sync": "第三方同步", "label-local-folder": "在此設備上", "option-connect-icloud": "連接 iCloud", "option-connect-other": "連接其他同步服務", "option-connect-sync": "連接到 Obsidian Sync", "option-connect-local-folder": "選擇資料夾", "label-sync-other": "其他同步方法", "label-sync-other-desc": "Obsidian 正式支援兩種同步方法:**Obsidian Sync** and **iCloud**.\nH不過,由於 Obsidian 讓您控制資料,因此您可以使用其他同步選項。\n這些選項包括可能需要進階設定的第三方外掛程式和其他工具。\n若要使用其他同步方法,請**建立儲存庫**,並遵循外掛程式或第三方同步供應商提供的指示。", "label-email-entry": "輸入你的 email", "label-email-entry-desc": "需要你的電子郵件以建立 Obsidian 帳號。", "label-signup": "輸入你的名稱與密碼", "email-verification": "連接 Obsidian Sync", "email-verification-desc": "您應該很快就會收到一封寄到 **{{email}}**的電子郵件,內含連線到 Obsidian Sync 的指示。", "icloud-missing": "iCloud", "icloud-missing-desc": "未偵測到您的 iCloud 儲存庫。這可能是由於以下任何原因:", "icloud-missing-reason1": "您的儲存庫與您目前在此裝置上登入的 iCloud 帳戶不同。", "icloud-missing-reason2": "您的儲存庫並非儲存在 iCloud Drive 的頂層 Obsidian 資料夾中。", "i-cloud-unsupported": "不支援 iCloud", "i-cloud-unsupported-desc": "iCloud 同步只適用於 Apple 裝置。如果您的儲存庫目前是透過 iCloud 同步處理,請瞭解如何將您的儲存庫遷移至其他同步服務。", "allow-file-access": "允許檔案存取", "msg-login-pending": "登入中...", "msg-name-required": "儲存庫名稱是必要的", "msg-new-email-success": "新的確認電子郵件已寄出。", "msg-new-email-failure": "重寄電子郵件失敗。", "msg-invalid-vault": "儲存庫位置必須是資料夾" } }, "starter-content": { "welcome-filename": "歡迎", "welcome-file-content": "這是你的新儲存庫 *vault*.\n\n對筆記輸入一些內容、[[建立鏈接]]或試試匯入 [匯入外掛](https://help.obsidian.md/Plugins/Importer)!\n\n當一切就緒時,刪除此筆記並繼續使用此儲存庫。" }, "drag-and-drop": { "insert-link-here": "在此插入連結", "insert-links-here": "在此插入連結", "move-into-folder": "搬移至「{{folder}}」", "star-this-file": "收藏本檔案", "star-these-files": "收藏這些檔案", "open-in-this-tab": "在此分頁開啟", "open-as-tab": "以新分頁開啟" }, "window": { "maximize": "最大化", "minimize": "最小化", "restore-down": "還原", "close-window": "關閉視窗", "go-back": "返回", "go-forward": "前往" }, "start-up": { "loading-obsidian": "正在載入 Obsidian……", "obsidian-load-error": "載入 Obsidian 時發生錯誤。", "button-reload-app": "重新載入應用程式", "button-reload-app-in-safe-mode": "重新載入應用程式進安全模式", "button-open-another-vault": "開啟另一個儲存庫", "loading-plugins": "正在載入外掛程式……", "msg-plugin-hang": "載入外掛「{{plugin}}」時耗時較久。", "loading-vault": "正在載入儲存庫……", "msg-failed-to-load-vault": "無法載入儲存庫:", "loading-cache": "正在載入快取……", "loading-workspace": "正在載入工作區……" }, "mobile": { "action-import": "匯入至儲存庫", "action-insert-text-desc": "將文字新增到檔案:", "action-choose-file-to-insert": "選擇檔案以插入", "action-insert-text-into-file": "將文字插入 {{filename}}", "action-insert-link-into-file": "將連結插入 {{filename}}", "action-show-switcher": "Show tab overview", "msg-importing": "匯入中…", "msg-import-success": "匯入成功", "msg-failed-to-import-file": "匯入 {{filename}} 失敗", "msg-back-again-to-exit": "再按一次返回鍵以離開。", "feedback": { "label-feedback": "回饋", "label-feedback-desc": "您正在享受使用 Obsidian 嗎?幫助我們為它評分。", "action-rate": "為此 App 評分", "action-dismiss": "取消" } }, "help-screen": { "label-official-help-site": "官方說明網頁", "label-official-help-site-desc": "閱讀 Obsidian 的官方說明文件,提供多語言版本。", "action-visit": "前往", "label-discord-chat": "Discord 聊天室", "label-discord-chat-desc": "Discord 是與世界各地的 Obsidian 老手聊天的好地方。", "action-join": "加入", "label-forum": "官方論壇", "label-forum-desc": "互相協助、發表功能請求、回報問題,或是深入探討知識管理。", "label-sandbox-vault": "沙盒儲存庫", "label-sandbox-vault-desc": "探索並試驗各種功能,不會儲存您的更動。" } }, "commands": { "save-file": "儲存目前檔案", "download-attachments": "下載目前檔案的附件", "follow-cursor-link": "跟隨游標處的連結", "open-cursor-link-in-new-tab": "在新分頁中開啟游標下的連結", "open-cursor-link-to-the-right": "在右側開啟游標下的連結", "open-cursor-link-in-new-window": "在新視窗中開啟游標下的連結", "navigate-tab-above": "聚焦到上方的分頁群組", "navigate-tab-below": "聚焦到下方的分頁群組", "navigate-tab-left": "聚焦到左側的分頁群組", "navigate-tab-right": "聚焦到右側的分頁群組", "toggle-pin": "釘選切換", "split-right": "向右分割", "split-down": "向下分割", "toggle-stacked-tabs": "切換堆疊分頁", "navigate-back": "返回", "navigate-forward": "前進", "use-dark-mode": "使用暗黑主題", "use-light-mode": "使用明亮主題", "change-theme": "更改主題", "search-current-file": "在目前筆記中查詢", "search-replace-current-file": "在目前筆記中查詢並取代", "add-property": "新增檔案屬性", "label-sort-property-a-to-z": "Name (A to Z)", "label-sort-property-z-to-a": "Name (Z to A)", "add-alias": "新增別名", "clear-properties": "清除檔案屬性", "open-settings": "開啟設定", "open-help": "查看說明", "toggle-edit": "切換編輯/閱讀檢視模式", "toggle-source-mode": "切換實際預覽/原始碼模式", "delete-current-file": "刪除目前檔案", "new-tab": "新分頁", "show-trash": "顯示垃圾檔案", "close-all-tabs": "關閉所有分頁", "close-active-tab": "關閉目前分頁", "close-others-in-tab-group": "關閉分頁群組中的其他分頁", "close-other-tabs": "關閉所有其他分頁", "close-tab-group": "關閉此分頁群組", "toggle-left-sidebar": "收合/展開左側邊欄", "toggle-ribbon": "收合/展開功能區選單", "toggle-right-sidebar": "收合/展開右側邊欄", "toggle-default-new-tab-mode": "切換新分頁的預設模式", "add-cursor-above": "於上方新增游標", "add-cursor-below": "於下方新增游標", "focus-editor": "移至編輯區", "toggle-fold-properties": "切換目前檔案的收合屬性", "toggle-fold": "收合/展開目前行", "fold-all": "收合所有標題和列表", "unfold-all": "展開所有標題和列表", "fold-more": "收合更多", "fold-less": "收合較少", "swap-line-up": "與上一行互換", "swap-line-down": "與下一行互換", "remove-heading": "移除標題", "toggle-heading": "設為標題 {{level}}", "toggle-bold": "切換所選文字的粗體效果", "toggle-italics": "切換所選文字的斜體效果", "toggle-highlight": "切換所選文字的突顯效果", "toggle-comments": "切換所選文字的註解", "clear-formatting": "清除格式", "insert-link": "插入連結", "toggle-spellcheck": "切換拼寫檢查", "delete-paragraph": "刪除段落", "toggle-checklist": "切換待辦事項狀態", "cycle-list-checklist": "切換要點/核取方塊", "insert-callout": "插入註標 (callout)", "insert-code-block": "插入程式碼區塊", "insert-math-block": "插入公式區塊", "insert-horizontal-rule": "插入水平橫線", "insert-table": "插入表格", "insert-footnote": "插入註腳", "edit-file-title": "編輯檔案標題", "copy-path": "複製檔案路徑", "copy-url": "複製 Obsidian 網址", "export-pdf": "匯出 PDF", "reload": "放棄儲存並重新載入程式", "undo-close-tab": "復原已關閉的分頁", "context-menu": "顯示游標下的特色選單", "show-debug-info": "顯示除錯資訊", "open-sandbox-vault": "開啟沙盒儲存庫", "always-on-top": "視窗永遠置頂開關", "zoom-in": "放大", "zoom-out": "縮小", "reset-zoom": "重設縮放等級", "toggle-preview": "切換編輯/預覽模式", "move-to-new-window": "移動目前窗格至新視窗", "open-in-new-window": "在新視窗開啟目前窗格", "rename-current-file": "重新命名目前檔案", "go-to-prev-tab": "前往上一分頁", "go-to-next-tab": "前往下一分頁", "go-to-last-tab": "前往最後一個分頁", "go-to-nth-tab": "前往第 {{n}} 個分頁", "show-release-notes": "顯示版本資訊" }, "dialogue": { "label-link-affected": "這將影響 {{files}} 中的 {{links}}。", "msg-updated-links": "更新 {{files}} 中的 {{links}}。", "label-update-links": "更新連結", "label-confirm-update-link-to-file": "您是否需要更新與此檔案關聯的內部連結?", "button-always-update": "總是更新", "button-just-once": "僅此一次", "button-do-not-update": "不更新", "label-confirm-deletion": "您確定要刪除「{{filename}}」嗎?", "label-move-to-system-trash": "會將其移動至資源回收筒。", "label-move-to-vault-trash": "會將其移動至 Obsidian 回收筒(即儲存庫目錄中隱藏的 “.trash” 資料夾)裡。", "label-permanent-delete": "會將其永久刪除。", "label-non-empty-folder": "這不是空資料夾。", "label-delete-folder-warning": "如果繼續,此資料夾內的所有檔案將被刪除。", "label-delete-folder": "刪除資料夾", "button-delete": "刪除", "button-delete-do-not-ask-again": "刪除,且不再過問。", "label-do-not-ask-again": "不再過問", "label-existing-backlink": "目前有 {{count}} 個指向此筆記的連結。", "label-existing-backlink_plural": "目前有 {{count}} 個指向此筆記的連結。", "label-delete-file": "刪除檔案", "label-download-attachments": "下載附件", "label-no-attachments": "本筆記並無外部附件。", "label-downloaded-attachments": "下載 {{count}} 個附件。", "label-downloaded-attachments_plural": "{{count}} 個附件已下載。", "msg-files-updated": "Updated {{count}} file.", "msg-files-updated_plural": "Updated {{count}} files.", "msg-files-reverted": "Reverted changes to {{count}} file.", "msg-files-reverted_plural": "Reverted changes to {{count}} files.", "button-manage": "管理", "button-view": "檢視", "button-confirm": "確認", "button-cancel": "取消", "button-download": "下載", "button-done": "完成", "button-save": "儲存", "button-stop": "停止", "button-continue": "繼續", "button-choose": "選擇", "button-retry": "Retry", "button-update": "Update", "button-undo": "Undo", "preparing-pdf": "正在準備 PDF……", "label-rename-file": "重新命名", "label-rename-file-generic": "檔案名稱", "label-new-name": "新名稱", "msg-rename-success": "檔案重新命名成功。", "msg-merge-failed": "合併筆記失敗: {{message}}", "msg-file-or-folder-not-found": "檔案或資料夾「{{path}}」不存在。", "msg-heading-empty": "標題不能空白", "msg-block-id-empty": "區塊 ID 不能空白", "msg-block-id-invalid": "區塊 ID 只能含有字母或減號", "label-rename-heading": "重新命名標題", "label-rename-blockid": "重新命名區塊 ID" }, "menu-items": { "new-file": "建立筆記", "new-file-to-the-right": "在右側建立筆記", "new-window": "建立視窗", "open-switcher": "快速開啟…", "open-vault": "開啟儲存庫…", "close-tab": "關閉分頁", "close-window": "關閉視窗", "find": "尋找", "replace": "取代", "insert-callout": "註標", "insert-markdown-link": "Markdown 連結", "insert-wikilink": "連結", "set-heading": "標題 {{level}}", "no-heading": "無標題", "insert-quote": "引文", "export-pdf": "匯出 PDF", "insert-attachment": "插入附件…", "insert-codeblock": "程式碼區塊", "insert-math-block": "公式區塊", "insert-table": "表格", "insert-footnote": "註腳", "toggle-bullet-list": "無序清單", "toggle-numbered-list": "有序清單", "toggle-checklist": "待辦清單", "toggle-bold": "粗體", "toggle-code": "程式碼", "toggle-comment": "註解", "toggle-italics": "斜體", "toggle-inline-math": "公式", "toggle-highlight": "反白", "toggle-strikethrough": "刪除線", "toggle-comments": "註解", "folding-menu": "收合", "fold-all": "全部收合", "unfold-all": "全部展開", "fold-more": "收合更多", "fold-less": "收合較少", "source-mode": "原始碼模式", "reading-view": "閱讀檢視模式", "show-debug-info": "顯示除錯資訊", "open-sandbox": "開啟沙盒儲存庫", "navigate-back": "向後巡覽", "navigate-forward": "向前巡覽", "toggle-left-sidebar": "切換左側邊欄", "toggle-right-sidebar": "切換右側邊欄", "toggle-ribbon": "功能區選單", "split-right": "向右分割", "split-down": "向下分割", "release-notes": "更新日誌" }, "plugins": { "name": "外掛程式", "file-explorer": { "name": "檔案瀏覽器", "desc": "查看儲存庫中的所有檔案。", "action-open": "開啟檔案瀏覽器", "action-show": "顯示檔案瀏覽器", "action-create-note": "新增筆記", "action-create-folder": "建立新資料夾", "action-create-note-in-current-tab": "在目前的分頁中建立筆記", "action-create-note-to-the-right": "在右側建立筆記", "action-auto-reveal": "自動揭示目前檔案", "action-collapse-all": "全部折疊", "action-expand-all": "全部展開", "action-new-note": "新增筆記", "action-new-folder": "新增資料夾", "action-change-sort": "排序", "action-reveal-file": "在檔案瀏覽器顯示本筆記", "action-reveal-active-file": "在檔案瀏覽器顯示目前筆記", "command-make-a-copy": "建立目前檔案的複本", "command-make-a-copy-mac": "複製當前檔案", "command-move-file": "搬移檔案到其他資料夾", "action-new-folder-with-count": "選取的新資料夾 ({{count}} 個項目)", "action-new-folder-with-count_plural": "選取的新資料夾 ({{count}} 個項目)", "action-move-file": "搬移檔案到…", "action-move-folder": "搬移資料夾到…", "action-move-items": "將 {{count}} 個項目移動至……", "prompt-type-folder": "輸入資料夾名稱", "label-no-folders": "找不到資料夾。", "instruction-navigate": "導覽", "instruction-move": "搬移", "instruction-create": "建立", "instruction-dismiss": "退出", "label-sort-a-to-z": "按檔案名升冪排列 (A-Z)", "label-sort-z-to-a": "按檔案名降冪排列 (Z-A)", "label-sort-new-to-old": "按編輯時間排序(從新到舊)", "label-sort-old-to-new": "按編輯時間排序(從舊到新)", "label-sort-created-old-to-new": "按建檔時間排序(從舊到新)", "label-sort-created-new-to-old": "按建檔時間排序(從新到舊)", "menu-opt-new-note": "新增筆記", "menu-opt-new-folder": "新增資料夾", "menu-opt-rename": "重新命名", "menu-opt-delete": "刪除", "menu-opt-make-copy": "建立副本", "menu-opt-make-copy-mac": "複製", "msg-invalid-characters": "檔案名稱不能包含下列字元:", "msg-unsafe-characters": "檔案名稱含有下列字元時無法形成可用的連結:", "msg-file-already-exists": "已經存在一個同名檔案", "msg-empty-file-name": "檔案名稱不能為空。", "msg-bad-dotfile": "檔案名稱不得以 . 開頭。", "tooltip-modified-time": "最後修改時間:{{time}}", "tooltip-created-time": "建檔時間:{{time}}", "tooltip-folders-files-count": "{{fileCount}}, {{folderCount}}", "label-untitled-file": "未命名", "label-untitled-folder": "未命名", "msg-set-attachment-folder": "附件將會被存入「{{path}}」。" }, "search": { "name": "搜尋", "desc": "在所有筆記中搜尋關鍵字。", "action-open-search": "在所有檔案中搜尋", "label-collapse-results": "摺疊搜尋結果", "label-match-case": "區分大小寫", "label-explain-search-term": "闡釋搜尋字詞", "label-more-context": "顯示更多內容", "label-result-count": "{{count}} 項結果", "label-result-count_plural": "{{count}} 項結果", "label-result-max": "{{count}}+ results", "label-toggle-search-settings": "搜尋設定", "prompt-start-search": "輸入並開始搜尋…", "label-match-text": "符合文字:", "label-match-regex": "符合規則表達式:", "label-match-exact-text": "精確符合文字:", "label-match-greater-than": "大於: ", "label-match-less-than": "小於: ", "label-match-true": "為真", "label-match-false": "為假", "label-match-empty": "為空", "label-match-property": "包含屬性:", "label-match-all": "符合所有:", "label-match-any": "符合任何:", "label-excluding": "不包括:", "label-case-sensitive": "區分大小寫", "label-case-insensitive": "忽略大小寫", "label-match-file-path": "符合檔案路徑:", "label-match-file-name": "符合檔名:", "label-match-content": "符合檔案內容:", "label-match-task": "符合任務:", "label-match-task-todo": "符合任務 (待辦):", "label-match-task-done": "符合任務 (完成):", "label-match-line": "符合行號:", "label-match-block": "符合區塊:", "label-match-section": "符合段落:", "label-match-tag": "符合標籤:", "label-no-matches": "未找到符合結果。", "matches-with-count": "……文中還有 {{count}} 處符合。", "matches-with-count_plural": "……文中還有 {{count}} 處符合。", "label-copy-search-results": "複製搜尋結果", "button-copy-results": "複製結果", "msg-successfully-copied": "已將結果複製到您的剪貼簿。", "option-show-path": "顯示路徑", "option-show-path-description": "顯示檔案的完整路徑而非檔名。", "option-link-style": "連結樣式", "option-link-style-description": "選擇性的將結果中的每個檔案轉換為連結。", "option-choice-link-style-none": "無", "option-choice-link-style-wikilink": "Wiki 式連結", "option-choice-link-style-markdown-link": "Markdown 連結", "option-list-prefix": "清單開頭符號", "option-list-prefix-description": "選擇性的將結果中每個檔案加上清單項目開頭符號。", "option-choice-list-style-none": "無", "option-choice-list-style-dash": "連接號 (-)", "option-choice-list-style-asterisk": "星號 (*)", "option-choice-list-style-numbered": "數字. ", "tooltip-clear-search": "清除搜尋", "label-search-options": "搜尋選項", "label-properties-group": "屬性", "label-tags-group": "標籤", "tooltip-read-more": "深入了解", "label-history": "歷史", "tooltip-clear-history": "清除搜尋歷史", "label-path-option-description": "符合的檔案路徑", "label-file-name-option-description": "符合檔案名稱", "label-tag-option-description": "搜尋標籤", "label-line-option-description": "搜尋同行的關鍵字", "label-section-option-description": "搜尋同一標題下的關鍵字", "label-property-option-description": "符合屬性", "menu-opt-search-for": "搜尋「{{keyword}}」", "menu-opt-search-in-folder": "資料夾內搜尋" }, "quick-switcher": { "name": "快速切換", "desc": "輸入關鍵字即可跳轉到相應檔案(按下 Ctrl/Cmd+O 啟用此功能)。", "short-name": "切換", "action-open": "開啟快速切換", "instruction-navigate": "導覽", "instruction-open": "開啟", "instruction-open-in-new-tab": "以在新分頁開啟", "instruction-open-to-the-right": "以在右側開啟", "instruction-create": "建立", "instruction-dismiss": "退出", "instruction-select": "選取", "label-no-note-create-new": "找不到本筆記。按下 Enter 鍵以建立該筆記。", "prompt-type-file-name": "輸入以切換或建立檔案……", "label-enter-to-create": "建立該筆記", "tooltip-not-created-yet": "尚未建立,請選擇以建立", "option-show-existing-only": "顯示已存在者", "option-show-existing-only-description": "是否顯示尚未建立的檔案連結。", "option-show-attachments": "顯示附件", "option-show-attachments-desc": "顯示圖片、影片與 PDF 等附件檔。", "option-show-all-file-types": "顯示所有檔案類型", "option-show-all-file-types-desc": "顯示所有檔案(含 Obsidian 無法開啟的檔案)。這種檔案會以檔案類型的預設應用程式開啟。" }, "graph-view": { "name": "關聯圖檢視", "desc": "總覽筆記間的關聯。", "action-open": "查看關聯圖", "action-open-local": "開啟目前筆記關聯圖", "action-copy-screenshot": "複製螢幕截圖", "tab-title": "{{displayText}} 的關聯圖", "label-filters": "過濾設定", "prompt-filter-nodes": "搜尋檔案…", "option-depth": "深度", "option-depth-description": "以此數字顯示連結階層", "option-neighbor-links": "鄰近的連結", "option-neighbor-links-description": "顯示鄰近節點的內部連結。", "option-forelinks": "對外連結", "option-forelinks-description": "顯示指向其他檔案的連結", "option-backlinks": "對內連結", "option-backlinks-description": "顯示來自其他檔案的連結", "option-show-tags": "標籤", "option-show-tags-description": "標籤連結至含有該標籤的檔案", "option-show-attachments": "附件", "option-show-attachments-description": "顯示檔案含有的附件", "option-show-existing-files-only": "只顯示已存在檔案", "option-show-existing-files-only-description": "勾選時,不顯示未存在的檔案連結", "option-show-orphans": "孤立連結", "option-show-orphans-description": "顯示未連結到其他檔案的檔案", "label-display": "外觀設定", "option-show-arrows": "方向箭頭", "option-show-arrows-description": "連接線顯示方向箭頭", "option-text-fade": "文字透明度", "option-node-size": "節點尺寸", "option-link-thickness": "連接線寬度", "label-forces": "強度設定", "option-center-force": "節點集中強度", "option-link-force": "節點間的連結強度", "option-link-distance": "連接線距離", "option-repel-force": "節點間的互斥強度", "tooltip-open-graph-settings": "開啟關聯圖設定", "msg-screenshot-copied": "螢幕截圖複製到剪貼簿。", "label-groups": "群組", "placeholder-enter-query": "輸入查詢……", "tooltip-delete-graph": "刪除群組", "button-new-group": "新群組", "tooltip-click-to-change-drag-to-reorder": "點擊以變更顏色\n拖曳以重排群組順序", "action-timelapse": "開始關聯圖動畫展示", "tooltip-start-timelapse-animation": "開始時間推移動畫", "button-animate-timelapse": "動畫" }, "backlinks": { "name": "反向連結", "desc": "在狀態列中顯示反向連結的數量。", "action-open": "開啟反向連結", "action-show": "顯示反向連結窗格", "action-open-for-current": "顯示目前筆記的相關連結", "action-toggle-backlinks-in-document": "在文件中切換反向連結", "menu-opt-backlinks-in-document": "檔案中的反向連結", "label-linked-mentions": "已連結本筆記的檔案", "label-no-backlinks": "沒有反向連結。", "label-unlinked-mentions": "未連結但提及本筆記的檔案", "label-show-search": "顯示搜尋過濾內容", "label-link-button-text": "連結", "tab-title": "{{displayText}} 的反向連結", "label-no-unlinked-mentions": "未發現文字。", "ellipsis": "……", "option-backlink-in-document": "文件的反向連結", "option-backlink-in-document-desc": "開啟新窗格時,預設顯示文件中的反向連結。" }, "outgoing-links": { "name": "對外連結", "desc": "顯示對外連結,並偵測提及的未連結筆記。", "action-open": "開啟對外連結", "action-show": "顯示對外連結窗格", "action-open-for-current": "開啟目前檔案的對外連結", "tab-title": "{{displayText}} 的對外連結", "label-links": "連結", "label-no-links": "找不到連結。", "label-unlinked-mentions": "提及的未連結", "tooltip-link-file": "連結到本檔案", "tooltip-not-created": "尚未建立" }, "tag-pane": { "name": "標籤窗格", "short-name": "標籤", "desc": "顯示所有標籤及其出現的次數。", "action-show": "顯示標籤窗格", "label-no-tags": "未發現標籤。", "label-sort-by-name-a-to-z": "標籤名稱 (A 到 Z)", "label-sort-by-name-z-to-a": "標籤名稱 (Z 到 A)", "label-sort-by-frequency-high-to-low": "使用頻率 (高到低)", "label-sort-by-frequency-low-to-high": "使用頻率 (低到高)", "action-show-nested-tags": "顯示巢狀標籤", "action-collapse-all": "全部折疊", "action-expand-all": "全部展開" }, "footnotes-pane": { "name": "註腳檢視", "short-name": "註腳", "desc": "顯示本筆記的註腳清單。", "action-show": "展示註腳", "label-no-footnotes": "找不到註腳。" }, "properties": { "name": "屬性檢視", "desc": "顯示您的檔案的中繼資料。", "name-global": "所有屬性", "name-local": "檔案屬性", "tab-title": "{{displayText}} 的檔案屬性", "action-show": "顯示所有屬性", "action-show-local": "顯示檔案屬性", "opt-unassign-type": "未指定類型", "label-no-properties": "找不到屬性。", "label-invalid-properties": "無誤的屬性。", "label-sort-by-name-a-to-z": "屬性名稱 (A 到 Z)", "label-sort-by-name-z-to-a": "屬性名稱 (Z 到 A)", "label-sort-by-frequency-high-to-low": "頻率 (高到低)", "label-sort-by-frequency-low-to-high": "頻率 (低到高)", "msg-merge-properties-warning": "合併屬性「{{oldKey}}」為「{{newKey}}」?", "msg-merge-properties-warning-desc": "當發生衝突時,這些來自「{{oldKey}}」的資料會被使用。", "action-collapse-all": "全部折疊", "action-expand-all": "全部展開", "action-open-local": "開啟檔案屬性", "action-open-daily-note": "開啟每日筆記" }, "page-preview": { "name": "頁面預覽", "desc": "滑鼠懸停在內部連結上顯示預覽視窗。編輯模式時需按住 Ctrl/Cmd 鍵。", "label-empty-attachment": "「{{linktext}}」無法找到。", "label-empty-note": "「{{linktext}}」未建立成功!請點擊以建立。", "label-missing-footote": "找不到註腳 {{id}}。點擊以建立。", "label-source-editor": "編輯器", "label-source-preview": "預覽", "label-source-search": "搜尋,反向連結與對外連結", "label-source-tab-header": "分頁標題", "label-require-mod": "滑鼠懸停時必須按 {{key}} 才能預覽" }, "bookmarks": { "name": "書籤", "desc": "為常用檔案和搜尋加上書籤。", "action-show": "顯示書籤", "action-collapse-all": "全部折疊", "action-new-bookmark": "將使用中的分頁加上書籤……", "action-new-group": "建立書籤群組", "action-bookmark": "書籤…", "action-add-bookmark": "新增書籤", "action-edit-bookmark": "編輯書籤", "action-bookmark-block": "將游標下的區塊加上書籤……", "action-bookmark-heading": "將游標下的標題加上書籤……", "action-bookmark-search": "將目前搜尋加上書籤……", "action-remove-bookmark": "移除目前檔案的書籤", "action-bookmark-tab-group": "將 {{count}} 個分頁加上書籤……", "action-bookmark-tab-group_plural": "將 {{count}} 個分頁加上書籤……", "action-bookmark-all-tabs": "將所有分頁加上書籤……", "action-bookmark-graph": "將此關聯圖加上書籤……", "label-bookmark": "書籤", "label-bookmarked": "已成為書籤", "label-bookmark-with-count": "{{count}} 個書籤", "label-bookmark-with-count_plural": "{{count}} 個書籤", "label-no-bookmarks": "找不到書籤", "label-invalid-data": "無法載入書籤。", "label-invalid-data-desc": "資料檔案已損毀。", "label-untitled-group": "未命名群組", "label-untitled-graph": "未命名關聯圖", "menu-opt-edit": "編輯…", "menu-opt-remove": "移除", "menu-opt-rename": "重新命名", "menu-opt-bookmark-block": "將此區塊加上書籤……", "menu-opt-bookmark-heading": "將此標題加上書籤……", "msg-no-search-query": "沒有可以加上書籤的搜尋查詢。", "option-path": "路徑", "option-query": "查詢", "option-u-r-l": "URL", "option-title": "標題", "option-group": "書籤群組", "placeholder-bookmark-group": "書籤" }, "custom-css": { "name": "自訂主題", "desc": "載入並使用「Obsidian.css」佈景主題。", "setting-community-themes": "社群佈景主題", "msg-fetching-themes": "正在取得社群佈景主題資料……", "prompt-filter": "搜尋……", "label-dark-theme-only": "只有暗黑主題", "label-light-theme-only": "只有明亮主題", "label-use": "使用", "label-stop-use": "停止使用此主題", "label-install-and-use": "安裝並使用", "label-update": "更新", "label-no-readme": "此主題未提供 README 檔案。", "tooltip-remove-theme": "移除主題", "label-visit-on-github": "前往 GitHub", "msg-load-error": "無法載入社群主題,請檢查您的網路連線。", "msg-now-using-theme": "您的 CSS 佈景主題已變更為 {{title}}。", "msg-deleted-theme": "已刪除 {{title}} 主題。", "msg-updated-theme": "已更新 {{title}} 主題。", "label-installed": "已安裝", "label-legacy": "舊版", "button-update-all-themes": "全部更新", "msg-failed-load-themes": "無法載入社群主題。", "msg-no-updates-found": "找不到可用的主題更新。", "msg-updates-found": "有 {{count}} 個主題可更新。", "msg-updates-found_plural": "有 {{count}} 個主題可更新。", "msg-failed-to-install-theme": "無法安裝主題「{{name}}」。", "msg-successfully-installed-theme": "成功安裝主題「{{name}}」。", "msg-installing-theme": "正在安裝主題「{{name}}」……", "label-search-summary": "顯示 {{themeCount}}:", "label-update-available": "有可用更新" }, "command-palette": { "name": "命令面板", "desc": "無需介面或快速鍵操作,輸入一個命令即可完成相應功能。", "action-open": "開啟命令面板", "instruction-navigate": "導覽", "instruction-use": "使用", "instruction-dismiss": "離開", "label-no-commands": "找不到命令。", "prompt-type-command": "輸入命令……", "label-pinned-commands": "已釘選命令", "option-add-new-pin": "新的已釘選命令", "option-add-new-pin-description": "當沒有搜尋結果時,已釘選命令會顯示在所有命令的頂端。" }, "markdown-format-importer": { "name": "Markdown 格式轉換器", "desc": "將其他應用程式中的 Markdown 格式轉換為 Obsidian 支援的格式", "action-open": "開啟 Markdown 格式轉換器", "option-roam-tag-fixer": "Roam Research 標籤轉換", "option-roam-tag-fixer-description": "將 Roam Research 中的「#tag」和「#[[tag]]」轉換為「[[tag]]」。", "option-roam-highlight-fixer": "Roam Research 突顯標籤轉換", "option-roam-highlight-fixer-description": "將 Roam Research 中的「^^highlight^^」轉換為「==highlight==」。", "option-roam-todo-converter": "Roam Research 待辦標籤轉換", "option-roam-todo-converter-description": "將 Roam Research 中的「{{[[TODO]]}}」轉換為「[ ]」。", "option-bear-highlight-fixer": "Bear 高亮度修正", "option-bear-highlight-fixer-description": "轉換「::highlight::」為「==highlight==」。", "zettelkasten-link-fixer": "ZK 卡片連結轉換", "zettelkasten-link-fixer-description": "將 ZK 卡片中使用的「[[UID]]」連結轉換為「[[UID 檔名]]」的形式。", "zettelkasten-link-beautifier": "美化 ZK 卡片連結", "zettelkasten-link-beautifier-description": "將 ZK 卡片中使用的「[[UID]]」連結美化為「[[UID 檔名|檔名]]」的形式。", "frontmatter-migration": "Frontmatter migration", "frontmatter-migration-description": "Migrate frontmatter tags, aliases, and cssclasses to the strict format required by Obsidian v1.9+", "msg-all-files-warning": "警告:轉換器將修改儲存庫中所有檔案,而不只是目前檔案。", "msg-override-files-warning": "將修改您的檔案。請在轉換前做好備份。", "label-start-conversion": "開始轉換", "label-stop": "停止", "label-go-back": "返回", "label-done": "完成", "label-processing": "正在處理……", "label-cancelling": "正在取消……", "label-finished": "大功告成!", "label-processed-files": "處理的檔案", "label-modified-files": "修改的檔案", "label-total-replacements": "全部取代", "label-failed": "Failed" }, "daily-notes": { "name": "每日筆記", "desc": "開啟今天的每日筆記(如果不存在,則建立一個)。", "short-name": "今天", "action-open": "開啟今天的每日筆記", "action-open-previous": "開啟上一個每日筆記", "action-open-next": "開啟下一個每日筆記", "action-insert-text": "插入文字到每日筆記", "action-insert-link": "插入連結到每日筆記", "msg-fail-format": "未成功建立每日筆記。「{{format}}」不是有效的格式。", "msg-fail-folder": "未成功建立每日筆記。找不到「{{folderOption}}」資料夾。", "msg-fail-template-file": "未成功建立每日筆記。找不到「{{template}}」模板檔案。", "msg-no-previous": "在此之前沒有每日筆記。", "msg-no-next": "在此之後沒有每日筆記。", "option-date-format": "日期格式", "label-refer-to-syntax": "有關更多語法,請參閱:", "label-syntax-link": "格式參考", "label-syntax-live-preview": "這是參考樣式:", "option-new-file-location": "新檔案儲存目錄", "option-new-file-location-description": "儲存每日筆記的資料夾路徑。", "option-template": "模板檔案位置", "option-template-description": "模板檔案的儲存路徑。", "option-open-on-start": "啟動時開啟每日筆記", "option-open-on-start-description": "開啟此儲存庫時自動開啟每日筆記。" }, "unique-note-creator": { "name": "唯一筆記建立工具", "desc": "建立帶有唯一時間戳前綴的筆記,用於卡片盒筆記法等工作流。", "short-name": "唯一", "action-create-note": "建立新唯一筆記", "action-add-link": "添加唯一的內部鏈接", "option-new-file-location": "新檔案位置", "option-new-file-location-description": "建立新唯一筆記的資料夾路徑。", "msg-folder-not-found": "無法建立唯一筆記。找不到資料夾 “{{folderOption}}”。", "option-template-file": "範本檔位置", "option-template-file-description": "作為範本的檔案路徑。", "option-template-file-placeholder": "例如:資料夾1/筆記", "option-id-format": "唯一前綴格式", "msg-template-file-not-found": "無法建立唯一筆記。找不到模板檔案 “{{template}}”。", "msg-failed-to-generate": "無法產生格式為 “{{format}}” 的唯一筆記" }, "random-note": { "name": "漫遊筆記", "desc": "隨機開啟一則筆記,協助您回顧和探索。", "short-name": "漫遊", "action-open": "開始漫遊筆記" }, "outline": { "name": "大綱", "desc": "顯示目前檔案或連結窗格的大綱標題。", "action-open": "開啟大綱", "action-show": "顯示大綱窗格", "action-open-for-current": "顯示目前檔案的大綱", "tab-title": "{{displayText}} 的大綱", "label-no-headings": "未發現標題行。", "label-follow-cursor": "自動捲動到目前段落" }, "word-count": { "name": "字數統計", "desc": "在狀態列中顯示字數。" }, "slides": { "name": "幻燈片", "desc": "在目前頁面中使用「---」分割出幻燈片頁面內容。", "action-start": "開始示範" }, "audio-recorder": { "name": "錄音機", "desc": "錄製音訊並儲存為附件。", "action-start": "開始錄音", "action-stop": "停止錄音", "action-toggle": "開始/停止錄音", "msg-access-denied": "存取被拒。請前往偏好設定窗格啟用麥克風。", "msg-pending-grant": "請授權麥克風開始錄音。", "msg-no-microphone": "未連接麥克風。" }, "open-with-default-app": { "name": "使用預設應用程式開啟", "desc": "加上一個按鈕,讓您可以用預設應用程式開啟目前檔案。", "action-open-file": "使用預設應用程式開啟", "action-open-file-mobile": "分享", "action-show-in-folder": "在資料夾中顯示", "action-show-in-folder-mac": "在 Finder 中顯示" }, "templates": { "name": "模板", "desc": "在模板資料夾裡選擇要插入的模板檔案。", "action-insert": "插入模板", "action-insert-current-date": "插入目前日期", "action-insert-current-time": "插入目前時間", "option-template-folder-location": "模板資料夾位置", "option-template-folder-location-description": "在這個資料夾裡的所有檔案會被視為模板檔案。", "option-template-date-format": "日期格式", "option-template-date-format-description": "模板檔案內的 {{date}} 會被置換成此值。", "option-template-date-format-description2": "可使用 {{date:YYYY-MM-DD}} 來取代設定的日期格式。", "option-template-time-format": "時間格式", "option-template-time-format-description": "模板檔案內的 {{time}} 會被置換成此值。", "option-template-time-format-description2": "可使用 {{time:HH:mm}} 來取代設定的時間格式。", "instruction-navigate": "導覽", "instruction-insert": "插入模板", "instruction-dismiss": "取消動作", "msg-no-templates-found": "無符合模板", "msg-fail-invalid-folder": "無法列出模板清單。模板資料夾設定錯誤。", "msg-fail-folder-not-found": "無法列出模板清單。無此資料夾:「{{folderOption}}」。", "msg-fail-invalid-template-properties": "無法插入模板,模板內的屬性無法讀取。", "msg-no-folder-set": "無法列出模板清單。模板資料夾尚未設定。", "prompt-type-template": "輸入模板檔名……" }, "translucency": { "name": "半透明視窗", "desc": "啟用半透明特效以加強深度感,最適合使用於暗黑主題。未支援 Linux。" }, "slash-command": { "name": "斜線命令", "desc": "開啟在編輯器輸入斜線 (/) 觸發斜線命令的功能。" }, "editor-status": { "name": "編輯器狀態", "desc": "加入一個狀態列項目,用來顯示和變更目前的編輯器模式。", "read": "閱讀", "edit-source": "原始碼模式", "edit-live-preview": "實際預覽" }, "publish": { "name": "發佈", "desc": "透過 Obsidian Publish 發佈您的筆記。", "action-publish-changes": "發佈變動內容", "action-publish-file": "發佈目前筆記", "label-no-internet-access": "必須連上網際網路才能發佈變動過的內容。", "label-publish-service-description": "Obsidian Publish 是附加的付費服務,讓您可以透過 Obsidian 直接將筆記發佈至網站。", "label-please-login": "要開始發佈,請登入或建立新的 Obsidian 帳戶。", "label-no-publish-subscription": "您尚未訂閱 Obsidian Publish 服務。", "button-purchase": "購買", "label-manage-sites": "管理網站", "label-no-sites": "尚無任何網站。", "button-choose": "選擇", "tooltip-edit-site-id": "編輯網站 ID", "tooltip-delete-site": "刪除網站", "label-delete-site-confirmation": "確定要刪除此網站?", "label-delete-site-details": "此動作會立即且永久地刪除您的網站。", "label-confirm-delete-site": "確認刪除網站「{{site}}」", "option-site-id": "網站 ID", "option-site-id-description": "您的網站網址將會是 https://publish.obsidian.md/{站台ID},稍後可再變更。只允許使用小寫英文字母、數字與連接號。", "option-site-id-placeholder": "挑選網站 ID", "button-create": "建立", "msg-invalid-site-id": "網站 ID 只允許使用小寫英文字母、數字與連接號。", "msg-site-id-in-use": "此網站 ID 已被使用。請試試別的 ID。", "msg-create-site-issue": "建立網站時發生錯誤。", "label-site-options": "網站選項", "option-site-general": "一般", "option-site-components": "元件", "option-site-appearance": "外觀", "option-site-reading-experience": "閱讀體驗", "option-site-misc": "其他網站設定", "option-site-name": "網站名稱", "option-site-name-description": "發佈筆記的網站名稱,將顯示為網站的標題抬頭。", "option-site-name-placeholder": "網站命名", "option-home-page-file": "首頁檔案", "option-home-page-file-description": "您的網站顯示的第一個頁面", "option-home-page-file-placeholder": "挑選一個已發佈的檔案", "option-logo": "標誌", "option-logo-description": "挑選圖片以成為您的網站標誌。", "option-logo-placeholder": "任何您在儲存庫上傳的圖片……", "option-site-collaboration": "網站協作", "option-site-collaboration-desc": "管理此網站的協作者。", "option-customize-navigation": "自訂導覽", "option-customize-navigation-desc": "覆寫導覽項目的排序並隱藏頁面或資料夾。", "option-navigation-order": "導覽項目顯示順序", "option-hide-items-in-navigation": "從導覽中隱藏頁面或資料夾", "option-hide-items-in-navigation-desc": "點擊右鍵並選擇「隱藏」以防止特定頁面出現在網站導覽中。頁面仍可透過連結或網址存取。", "option-show-hidden-items": "顯示隱藏項目", "button-customize-sidebar": "管理", "label-navigation-modal-title": "導覽", "label-navigation-modal-desc": "拖放以自訂導覽項目在您的 Publish 網站上的顯示順序。", "option-hide-in-navigation": "在導覽中隱藏", "button-manage-collaborators": "管理", "option-theme": "樣式主題", "option-theme-description": "選擇網站預設的顏色方案。", "option-theme-system": "跟隨作業系統", "option-show-theme-toggle": "切換亮色/暗色主題", "option-show-theme-toggle-description": "讓訪客自行切換明亮或暗黑主題。", "option-show-navigation": "顯示導覽", "option-show-navigation-description": "在網站左側顯示所有已發佈頁面的清單", "option-show-search": "顯示搜尋列", "option-show-search-description": "在導覽上方顯示搜尋列,讓訪客能搜尋您網站的頁面與標題。", "option-show-graph": "顯示關聯圖", "option-show-graph-description": "在每個頁面顯示小型本地關聯圖。", "option-show-outline": "顯示筆記目錄", "option-show-outline-description": "顯示每個頁面的標題大綱。", "option-show-backlinks": "顯示反向連結", "option-show-backlinks-description": "在每頁末端顯示反向連結區。", "option-sliding-window-mode": "使用捲動 (sliding) 視窗", "option-sliding-window-mode-description": "將頁面開啟於窗格右側。允許水平捲動窗格。", "option-hover-preview-file": "顯示懸停預覽", "option-hover-preview-file-description": "當滑鼠懸停於連結上時顯示內容預覽。", "option-hide-title": "隱藏頁面標題", "option-hide-title-description": "隱藏頁面標題。適用於您每個頁面皆有設定標題的場景。", "option-readable-line-length": "縮減行寬", "option-readable-line-length-description": "限制每行字數,使螢幕顯示的內容減少,但使長段落更具可讀性。", "option-site-password": "密碼", "option-site-password-description": "以密碼限制網站存取。", "option-google-analytics": "Google Analytics 追蹤程式碼", "option-google-analytics-description": "為您的網站設定 Google Analytics,只有透過您的自訂網址瀏覽的訪客才有效。請先確認您當地的法規。", "button-manage-passwords": "管理", "button-save-site-settings": "儲存網站設定", "msg-updated-options": "已更新網站選項。", "button-go-back": "返回", "label-publishing-to": "發佈至", "tooltip-switch-site": "切換網站", "button-add-linked": "加入已連結", "tooltip-add-linked": "加入目前被選取項目連結到的所有檔案", "msg-added-linked-files": "已加入 {{count}} 個被連結檔案。", "msg-added-linked-files_plural": "已加入 {{count}} 個被連結檔案。", "tooltip-open-site-options": "變更網站選項", "label-no-changes-detected": "無任何變動。", "label-changed-files-to-be-published": "變更", "label-unchanged-files-already-published": "未變動 (選取以刪除)", "label-file-selected": " 已選取", "button-select-all-files": "全選", "label-custom-navigation-title": "導覽項目", "button-deselect-all-files": "取消全選", "label-new-files-to-be-published": "新建", "button-publish": "發佈", "msg-no-permission-to-publish-to-site": "您沒有目前網站的發佈權限。", "msg-select-at-least-one-file": "請至少選擇一個檔案。", "label-upload-changes": "上傳變動", "button-done": "完成", "button-stop": "停止", "label-status-uploading": "上傳中", "label-status-to-publish": "將發佈", "label-status-to-delete": "將刪除", "label-status-published": "已發佈", "label-status-deleted": "已刪除", "label-status-failed": "已失敗", "label-status-cancelled": "已取消", "button-change": "變動", "label-clear-cache": "網站的變動在幾分鐘後才會顯示。倘若看不到最後的變動內容,請試著清除瀏覽器的快取。", "label-visit-site": "可在此參觀您的網站:", "msg-something-went-wrong": "發生錯誤了,請開啟開發者主控台以查看問題細節。", "msg-network-error": "發生了網路錯誤。", "label-manage-passwords": "管理密碼", "label-add-password": "加入密碼", "action-new-password": "新密碼", "label-no-password": "您的網站目錄沒有設定密碼,任何人皆可瀏覽。", "label-have-password": "您的網站已有密碼保護,若有多個密碼,任何一個密碼皆可瀏覽網站。", "option-password-name": "密碼", "option-password-desc": "密碼的雜湊值被安全地儲存,只要密碼設定後,便無法以明文文字形式呈現。", "option-password-placeholder": "您的密碼", "option-nickname-name": "暱稱(選填)", "option-nickname-desc": "設定暱稱,讓您回憶起自己的密碼。", "action-add-password": "加入此密碼", "label-untitled-password": "未命名密碼", "label-password-created-time": "建立時間:{{time}}", "msg-added-new-password": "已加入新密碼。", "option-custom-domain": "自訂網域", "option-custom-domain-desc": "不使用 https://publish.obsidian.md/{站台 ID} 網址而使用自己的域名。", "option-noindex": "禁止搜尋引擎索引", "option-noindex-desc": "防止搜尋引擎對您的網站製作索引。", "button-configure": "設定", "label-configure-custom-domain": "設定自訂網域", "option-custom-url-name": "自訂網址", "option-custom-url-desc": "您網站所在的網址。", "option-custom-url-placeholder": "www.yourdomain.com", "option-custom-url-redirect": "重新導向至您的自訂網域", "option-custom-url-redirect-desc": "將前往 publish.obsidian.md/id 的使用者重新導向至您的自訂網域", "button-update-custom-domain": "更新網域設定", "label-custom-domain-instructions": "請參考我們說明網站 {{link}} 以深入了解。", "label-custom-domain-link-name": "自訂網域設定指引", "label-site-usage": "網站 {{site}} 已超過限制 {{limit}}。", "button-add-more-sites": "購買更多網站", "label-no-sites-bought": "您尚未購買任何網站。", "button-get-site": "取得網站", "label-manage-sharing": "管理「{{name}}」共享", "label-sharing-with-users": "此網站目前與以下使用者共享。", "label-not-sharing": "此網站目前未與任何人共享。", "label-invite-pending": "待確認", "tooltip-remove-user": "移除使用者", "option-invite-user": "邀請使用者", "placeholder-invite-user": "輸入他們的電子郵件地址……", "error-email-must-be-valid": "請輸入有效的電子郵件地址來邀請其他人。", "msg-enable-publish-plugin": "請在設定 -> 核心外掛程式中啟用 Publish 外掛程式來檢視網站。", "label-your-sites": "您的網站", "label-sites-shared-with-you": "與您共享的網站", "tooltip-leave-site-sharing": "停止此網站的協作", "label-leave-site-confirmation": "確認停止網站協作", "label-leave-site-confirmation-details": "這將從與您共享的網站列表中移除此網站。此操作無法復原。", "label-leave-site-confirmation-details-2": "如果您想再次在此網站協作,請聯絡網站擁有者。", "button-leave": "離開", "label-compare-with-live": "與線上版本比較", "button-use-live-version": "使用線上版本", "label-confirm-override": "確認覆寫本機版本", "label-confirm-override-1": "您確定要覆寫本機版本嗎?", "label-confirm-override-2": "您的本機版本將被捨棄,並使用線上版本。如有需要,請做好備份。", "button-proceed": "繼續", "message-successfully-used-live-version": "成功使用線上版本覆寫您的本機版本。", "label-open-in-live-site": "在上線網站開啟", "label-open-file": "開啟檔案", "tooltip-manage-publish-filters": "管理發布篩選器", "option-included-folders": "包含的資料夾", "option-included-folders-desc": "當您審查要發布的變更時,這些資料夾中的檔案會被自動選取。", "option-currently-included-folders": " 目前包含這些資料夾:", "option-excluded-folders": "排除的資料夾", "option-excluded-folders-desc": "當您審查要發布的變更時,這些資料夾會被隱藏。此設定的優先權大於上述包含的資料夾。", "label-number-of-folders-included": "Obsidian Publish 目前已包含 {{folders}}。", "label-number-of-folders-excluded": "Obsidian Publish 目前已排除 {{folders}}。", "label-manage-included-folders": "管理包含的資料夾", "label-manage-excluded-folders": "管理排除的資料夾", "label-add-included-folder": "包含資料夾", "label-add-included-folder-desc": "您可以包含現有或是尚未建立的資料夾。", "tooltip-contact-support": "連絡客戶支援", "label-navigation-preview": "導覽預覽" }, "workspaces": { "name": "工作區", "desc": "儲存並載入工作區配置。", "action-load-layout": "載入工作區配置", "action-manage-layouts": "管理工作區配置", "action-save": "儲存工作區配置", "action-save-and-load-layout": "儲存並載入其他配置", "placeholder-save-current-layout-as": "另存目前的工作區配置為…", "button-save": "儲存", "button-load": "載入", "tooltip-delete-layout": "刪除配置", "msg-enter-name": "請輸入新配置的名稱。", "msg-save-layout-success": "成功儲存配置。", "label-no-layout-found": "找不到已儲存的配置。", "label-workspace-modified-time": "修改時間:{{time}}", "placeholder-type-to-search-layouts": "輸入配置名稱……" }, "sync": { "name": "同步", "desc": "透過 Obsidian Sync 以同步您的檔案。", "action-view-version-history": "檢視版本歷史", "action-setup-sync": "設定同步", "menu-opt-view-version-history": "開啟版本歷史", "action-view-sync-sidebar": "顯示同步歷史", "action-activity-log": "開啟活動記錄", "label-load-more": "載入更多", "label-show-diff": "顯示差異", "label-copy-to-clipboard": "複製到系統剪貼簿", "label-restore-this-version": "還原至此版本", "msg-already-latest-version": "此版本已是最後的版本。", "msg-restored-version": "成功還原的版本時間:{{time}}", "label-file-deleted": "檔案已被刪除", "label-file-deleted-via": "經由 {{ device }} 刪除", "label-file-renamed-from": "此檔案從「{{filepath}}」重新命名。", "label-file-renamed-from-to": "將「{{from}}」重命名為「{{to}}」", "label-file-moved-from": "由「{{from}}」搬移", "label-file-moved-from-to": "由「{{from}}」搬移到「{{to}}」", "label-revision": "1 個版次", "label-revision_plural": "{{revisions}} 版次", "label-via-device": "經由 {{device}}", "label-no-history": "本檔案無同步歷史。", "label-empty-file": "空", "label-unable-to-retrieve": "無法取得版本歷史", "label-setting-files": "設定檔案", "label-deleted-files": "已刪除檔案", "label-version-history": "版本歷史", "label-click-to-see-history": "點選已刪除檔案以檢視其歷史。", "label-create-remote-vault": "建立遠端儲存庫", "msg-please-enter-password": "請輸入密碼。", "msg-vault-name-cannot-be-empty": "儲存庫名稱不可留空。", "msg-successfully-created-vault": "成功建立遠端儲存庫「{{name}}」。", "label-remote-vault-explanation": "在不同裝置間安全同步您的遠端儲存庫。", "option-vault-name": "儲存庫名稱", "option-vault-name-desc": "協助記錄儲存庫的使用目的。", "option-vault-region": "區域", "opt-vault-region-automatic": "自動", "option-vault-region-desc": "為你的遠端儲存庫選取最靠近你的主機區域,此設定未來無法變更。", "option-vault-name-placeholder": "超棒的儲存庫", "option-encryption": "加密", "option-encryption-desc": "點對點加密提供了最強的安全性,但需要你安全地保存你的加密密碼。標準加密使用 Obsidian 管理的金鑰與主機的金鑰傳輸以保護你的資料。", "option-encryption-warning": "此選項稍後無法變更。", "option-encryption-end-to-end": "點對點加密", "option-encryption-standard": "標準加密", "option-encryption-password": "加密密碼", "option-encryption-password-desc": "之後無法變更此密碼。", "option-encryption-password-desc-warning": "若您遺忘此密碼,任何遠端資料將永遠無法再使用。", "option-encryption-password-desc-2": "此選項並不影響您的本機資料。", "label-encryption-password-explanation": "遠端儲存庫「{{name}}」已被加密。輸入你的密碼解鎖。", "option-encryption-password-placeholder": "您的密碼", "label-unlock-encrypted-vault": "遠端儲存庫解鎖", "button-unlock-vault": "儲存庫解鎖", "label-remote-vaults": "您的遠端儲存庫", "label-vault-created-time": "建檔時間:{{time}}", "tooltip-delete-remote-vault": "刪除", "tooltip-rename-remote-vault": "重新命名", "label-rename-remote-vault": "重新命名遠端儲存庫「{{name}}」", "label-rename-remote-vault-desc": "輸入此遠端儲存庫的新名稱。", "tooltip-manage-sharing": "管理共享", "label-confirm-delete-remote-vault": "確認刪除儲存庫", "label-confirm-delete-remote-vault-question": "是否確定要刪除這個遠端儲存庫?", "label-confirm-delete-remote-vault-result": "我們主機內的所有資料(包含版本歷史)皆會被刪除,但您的本機檔案不受影響。", "label-confirm-delete-remote-vault-warning": "此動作是永久且不可逆的。", "msg-remote-vault-deleted": "{{name}} 已被刪除。", "msg-disconnect-from-deleted-vault": "Obsidian 同步: 連接的遠端儲存庫已不存在。", "button-connect-to-remote-vault": "連接", "button-disconnect-from-remote-vault": "斷線", "label-sync-status": "Sync: {{status}}", "label-not-remote-vaults": "您沒有任何遠端儲存庫。", "label-no-subscription": "無使用中的 Obsidian 同步訂閱。", "label-please-visit": "請瀏覽", "label-preview-unsupported-file-type": "無法預覽 {{type}} 檔案。", "button-create-new-remote-vault": "建立新的儲存庫", "label-sync-log": "同步紀錄", "option-event-type-all": "全部", "option-event-type-errors": "錯誤", "option-event-type-skipped": "Skipped", "option-event-type-merge-conflicts": "合併衝突", "button-copy-sync-log": "複製同步紀錄", "msg-successfully-copied-sync-log": "同步紀錄已複製成功。", "button-retry": "重試", "button-purchase-subscription": "購買", "label-third-party-sync-warning": "偵測到檔案同步服務衝突", "label-third-party-sync-warning-desc": "警告:您的儲存庫似乎正在使用 {{service}} 作為第三方同步服務。如果您在此儲存庫使用 Obsidian Sync,可能會發生衝突、檔案損毀,或是資料遺失。", "label-icloud-drive-warning": "如果您正在使用 iCloud 雲碟,您的文件和桌面資料夾可能會透過 iCloud 同步。這可能會與 Obsidian Sync 產生衝突。", "option-remote-vault": "遠端儲存庫", "button-choose-remote-vault": "挑選", "button-manage-remote-vault": "管理", "option-remote-vault-desc-connected": "目前已連接至 “{{name}}” 遠端儲存庫。", "option-remote-vault-desc-not-connected": "目前尚未連接至任何遠端儲存庫。", "option-sync-status": "同步狀態", "option-sync-status-desc-paused": "Obsidian Sync 目前已暫停。", "option-sync-status-desc-running": "Obsidian Sync 目前正在執行。", "option-device-name": "裝置名稱", "option-device-name-desc": "此名稱將顯示在同步記錄,若空白則使用預設名稱。", "button-resume": "重新執行", "button-pause": "暫停", "option-view-deleted-files": "已刪除檔案", "option-view-deleted-files-desc": "檢視並還原已刪除檔案。", "option-sync-log": "同步活動", "option-sync-log-desc": "檢視最近的同步活動以除錯。", "button-view": "檢視", "button-bulk-restore": "大量還原", "button-restore-files_zero": "還原檔案", "button-restore-files": "還原 {{count}} 個檔案", "button-restore-files_plural": "還原 {{count}} 個檔案", "msg-restoring": "正在還原……", "msg-restoring-complete": "`還原程序完成:{{succeeded}} 筆成功,{{failed}} 筆失敗。`", "option-vault-size": "儲存庫大小", "option-vault-size-desc": "你已使用 {{size}} / {{limit}}", "option-vault-size-unknown": "無法取得儲存庫大小。", "option-vault-size-loading": "正在取儲存庫大小...", "option-over-size": "儲存庫大小超過限制", "option-almost-over-size": "儲存庫大小即將超過限制", "msg-largest-files": "檢視最大檔案", "msg-largest-files-desc": "這些是佔用最多容量的遠端檔案,刪除附件後,使用清除按鈕以釋出遠端儲存庫的空間。", "button-upgrade-storage": "升級容量", "button-purge-remote": "清除", "button-hide-my-changes": "隱藏我的變動", "tooltip-purge-remote": "從遠端儲存庫永久清除已刪除附件以節省空間。", "msg-purge-complete": "清除完成。", "option-prevent-sleep": "阻止裝置進入睡眠模式", "option-prevent-sleep-desc": "同步時,阻止裝置進入睡眠模式。", "option-selective-sync": "選擇性同步", "option-excluded-folders": "已排除資料夾", "option-excluded-folder-desc": "阻止同步特定資料夾。", "option-currently-excluded-folders": " 目前被排除同步的資料夾:", "button-manage-excluded-folders": "管理", "option-sync-image": "同步影像檔案", "option-sync-image-desc": "同步這些副檔名的影像檔案:{{extensions}}。", "option-sync-audio": "同步音訊檔案", "option-sync-audio-desc": "同步這些副檔名的音訊檔案:{{extensions}}。", "option-sync-video": "同步視訊檔案", "option-sync-video-desc": "同步這些副檔名的視訊檔案:{{extensions}}。", "option-sync-pdf": "同步 PDF 檔", "option-sync-pdf-desc": "同步 PDF 檔案。", "option-sync-unsupported": "同步其餘類型", "option-sync-unsupported-desc": "同步未支援的檔案類型。", "option-vault-config-sync": "同步儲存庫設定", "option-view-config-files": "設定版本歷史", "option-view-config-files-desc": "檢視與還原設定檔的版本歷史。", "option-sync-app": "主要設定", "option-sync-app-desc": "啟用同步編輯器設定、檔案與連結設定、自訂快速鍵等。", "option-sync-appearance": "外觀設定", "option-sync-appearance-desc": "同步外觀設定,例如暗黑模式、使用的主題與啟用的程式碼片段。", "option-sync-appearance-data": "主題及程式碼片段", "option-sync-appearance-data-desc": "同步下載的主題及程式碼片段。是否啟用取決於先前設定。", "option-sync-hotkey": "快速鍵", "option-sync-hotkey-desc": "同步自訂快速鍵。", "option-sync-core-plugin": "啟用的核心外掛程式清單", "option-sync-core-plugin-desc": "同步核心外掛程式的啟用狀態。", "option-sync-core-plugin-data": "核心外掛程式設定", "option-sync-core-plugin-data-desc": "同步核心外掛程式設定。", "option-sync-community-plugin": "啟用的社群外掛程式清單", "option-sync-community-plugin-desc": "同步社群外掛程式的啟用狀態。", "option-sync-community-plugin-data": "已安裝社群外掛程式", "option-sync-community-plugin-data-desc": "同步已安裝社群外掛程式(.js、.css,和 manifest.json 檔案)與其設定。", "label-sync-loading": "同步仍在載入,稍後再重新整理此頁。", "label-sync-introduction": "Obsidian Sync 是 Obsidian 的附加同步服務,具備點對點加密與版本歷史等功能。", "label-account-required": "開始同步前,請登入或建立新的 Obsidian 帳號。", "label-current-file": "目前檔案", "label-sync-changes": "同步變動", "label-today": "今天", "label-yesterday": "昨天", "label-this-week": "本週", "label-older": "較舊", "label-last-sync": "最後同步", "label-more": "多於 {{count}}", "button-sign-up": "建立新帳號", "button-log-in": "登入", "label-manage-excluded-folders": "管理已排除資料夾", "label-number-of-folders-excluded": "{{folders}} 目前不同步。", "label-add-excluded-folder": "排除資料夾", "label-add-excluded-folder-desc": "您可以排除現有資料夾或尚未建立的資料夾。", "tooltip-remove-excluded-folder": "從排除列表中移除", "label-setup-connection": "設定連線", "label-connecting-to-vault": "連線中...", "label-connection-failed": "連線失敗", "label-connection-failed-desc": "遠端儲存庫連線失敗。", "label-now-connected-to-vault": "您現在已連接到「{{name}}」。", "button-start-syncing": "開始同步", "label-confirm-merge-vault": "確認合併儲存庫", "msg-vault-has-notes": "您的本機儲存庫已經有一些筆記。", "msg-vault-merge-warning": "如果您連接至遠端資料庫「{{name}}」,您本機儲存庫中的筆記將與遠端儲存庫中的筆記合併。若發生衝突,將留存該筆記的最新版本。", "tooltip-update-setting-on-all-devices": "請更新此選項,並在您想要套用的裝置上重新啟動應用程式。", "label-sharing-with-users": "此遠端儲存庫目前與以下使用者共享。", "label-not-sharing": "此遠端儲存庫目前未與任何人共享。", "label-vaults-shared-with-you": "與您共享的儲存庫", "tooltip-leave-vault-sharing": "停止於此儲存庫協作", "label-leave-vault-confirmation": "確認停止儲存庫協作", "label-leave-vault-confirmation-details": "這將從與您共享的儲存庫列表中移除此儲存庫。此操作無法復原。", "label-leave-vault-confirmation-details-2": "若您希望再次於此儲存庫協作,請聯絡儲存庫的擁有者。", "button-leave": "離開", "msg-error-failed-to-fetch": "載入遠端儲存庫失敗。", "label-require-subscription-to-connect": "您需要訂閱 Obsidian Sync 才能連接到此儲存庫。", "option-contact-support": "聯絡客戶支援", "option-contact-support-desc": "如果您在使用 Obsidian Sync 時遇到任何問題,請聯絡我們,好讓我們幫您解決!您可以透過 support@obsidian.md 聯絡我們。", "button-copy-debug": "複製偵錯資訊", "button-email-support": "電子郵件支援", "label-sync-disconnected": "同步尚未連接遠端儲存庫。", "msg-remote-vault-limit-hit": "Obsidian Sync 可讓您建立最多五個遠端儲存庫。請先移除現有的遠端儲存庫再建立。", "label-upgrade-vault": "儲存庫升級", "label-upgrade-vault-encryption": "升級儲存庫加密", "label-upgrade-vault-encryption-desc": "遠端儲存庫有新的加密版本。", "label-migrate-remote-vault": "合併遠端儲存庫", "label-remote-vault-configuration": "遠端儲存庫組態", "button-migrate": "合併", "msg-recreate-remote-vault": "此動作會刪除你的遠端儲存庫並以最新加密密碼重建。本地檔案不受影響,但版本歷史將會遺失。", "label-confirm-migrate": "確認儲存庫合併", "msg-migrate-pre-confirmation-part1": "To upgrade your encryption, all data in the vault will be re-uploaded to the Obsidian Sync servers using the new encryption method. This process will permanently delete all data encrypted with the old encryption, including the version history for your vault.", "msg-migrate-pre-confirmation-part2": "Important: we strongly recommend creating a backup of your vault before proceeding to prevent any potential data loss.", "msg-migrate-pre-confirmation-part3": "After completing the upgrade, you will need to reconnect all your devices to the updated remote vault.", "msg-migrate-confirmation": "合併儲存庫將耗費一些時間,你需要在此設備開啟 Obsidian 並重新上傳你的筆記與附件,你應該在主要設備上執行這個動作。", "msg-migrate-confirmation-size": "你有 {{size}} 資料,合併儲存庫將耗費一些時間,你需要在此設備開啟 Obsidian 並重新上傳你的筆記與附件,你應該在主要設備上執行這個動作。", "msg-proceed-prompt": "是否繼續進行?", "msg-vault-migration-started": "合併儲存庫進行中。" }, "file-recovery": { "name": "檔案還原", "desc": "讓您還原成最近的快照以挽救意外的資料遺失,只有 Markdown 檔案會儲存快照。", "action-open": "開啟儲存的快照", "option-interval": "快照間隔", "option-interval-description": "兩個快照間的最小間隔分鐘數。", "option-keep": "歷史長度", "option-keep-description": "快照儲存的日數長度。", "option-open-history": "快照", "option-open-history-description": "檢視與還原已儲存快照。", "button-view-history": "檢視", "option-clear": "清空歷史", "option-clear-description": "抹除所有快照。", "button-clear-history": "清空", "label-clear-warning": "確定要刪除全部快照嗎?注意:只有快照會被刪除,儲存庫裡的所有檔案不受影響。", "msg-clear-complete": "快照已清空。", "label-no-history-found": "找不到快照。", "placeholder-choose-file": "選擇檔案…", "label-select-file": "請於左側選擇檔案以檢視快照。" }, "note-composer": { "name": "筆記編排器", "desc": "合併、切割與重構筆記。", "option-confirm-file-merge": "檔案合併確認", "option-confirm-file-merge-description": "合併兩個檔案前提示。", "option-split-replacement-text": "擷取後文字", "option-split-replacement-text-description": "擷取後之選用文字要如何顯示。", "option-choice-split-replacement-text-link": "連結至新檔案", "option-choice-split-replacement-text-embed": "嵌入新檔案", "option-choice-split-replacement-text-none": "無", "option-template-file": "模板檔位置", "option-template-file-description": "當合併或擷取時要使用的模板檔。可使用變數:{{content}}、{{fromTitle}}、{{newTitle}}、{{date:FORMAT}}。例:{{date:YYYY-MM-DD}}。", "command-merge-file": "用目前檔案合併另一個檔案…", "action-merge-file": "合併所有檔案內容…", "label-no-files": "找不到檔案。", "instruction-navigate": "導覽", "instruction-merge": "合併", "instruction-create-new": "建立新檔", "instruction-merge-at-top": "合併至頂端", "instruction-dismiss": "放棄", "prompt-select-file-to-merge": "選擇要併入的檔案……", "label-merge-file": "合併檔案", "label-confirm-file-merge": "確定要將「{{file}}」併入「{{destination}}」?「{{file}}」將被刪除。", "button-merge": "合併", "command-split-file": "擷取目前選取內容到其他檔案…", "command-extract-heading": "擷取目前標題段落到其他檔案…", "instruction-append": "移至底端", "instruction-prepend": "移至頂端", "msg-fail-to-fetch-template": "無法擷取模板檔案:找不到「{{template}}」。", "msg-fail-to-find-heading": "無法找到標題" }, "web-viewer": { "name": "網頁檢視器", "history-name": "網頁歷史", "desc": "在 Obsidian 裡將外部鏈接開啟為網頁。", "action-open": "開啟網頁檢視器", "action-show-history": "顯示歷史", "action-toggle-reader-mode": "切換渲染模式", "action-copy-u-r-l": "複製網址", "action-remove-from-history": "由歷史移除", "action-clear-history": "清除歷史", "action-open-link": "開啟鏈接", "action-open-link-new-tab": "於新分頁開啟鏈接", "action-open-link-new-split": "在右側開啟鏈接", "action-open-link-new-window": "在新視窗開啟鏈接", "action-open-link-default-browser": "在預設瀏覽器開啟鏈接", "action-open-link-web-viewer": "Open link in web viewer", "action-copy-link-address": "複製鏈接地址", "action-bookmark-link": "將鏈接加入書籤", "action-search-for-query": "搜尋「{{query}}」", "action-extract-selection": "擷取選取文字到新筆記", "action-copy-selection": "複製", "action-cut": "裁剪", "action-paste": "貼上", "action-delete": "刪除", "action-select-all": "全選", "action-save-to-vault": "存入儲存庫", "action-save-image": "儲存圖片到儲存庫", "action-copy-image": "複製圖片", "action-copy-image-link": "複製圖片鏈接", "action-backward": "回上頁", "action-forward": "到下頁", "action-reload": "重新載入", "action-bookmark-page": "將網頁加入書籤", "action-open-default-browser": "用預設瀏覽器開啟", "action-focus-address-bar": "移至位址欄", "action-search-the-web": "搜尋網頁", "action-clear-data": "清除資料", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "可能會離開網站。", "action-clear-data-cache": "快取資料", "action-clear-data-history": "歷史", "action-clear-data-all": "所有網頁檢視器資料", "action-clear-data-all-desc": "移除上述所有內容以及本機儲存和活動會話。", "label-new-web-viewer": "新的網頁檢視器", "label-fail-to-load": "無法載入網站。", "label-fail-to-load-desc": "請確認已輸入正確網址。", "label-search-the-web": "搜尋網頁", "label-web-viewer-data": "網頁檢視器資料", "label-clear-data": "清除網頁檢視器資料", "option-open-external-links": "開啟外部鏈接", "option-open-external-links-desc": "用 Obsidian 開啟鏈接而不使用系統預設應用。", "option-homepage": "首頁", "option-homepage-desc": "當網頁檢視器開啟時顯示的網頁", "option-saved-markdown": "網頁資料夾已儲存", "option-saved-markdown-desc": "以 Markdown 儲存的網站會放置於此處。", "option-search-engine": "搜索引擎", "option-search-engine-desc": "由地址欄搜尋時使用的搜索引擎。", "option-search-engine-custom": "自訂搜索引擎", "option-search-engine-custom-desc": "查詢使用 %s。", "option-search-engine-custom-drop-down": "自訂", "option-enable-adblock": "啟用廣告封鎖程式", "option-enable-adblock-desc": "如果啟用,下列篩選器清單將會套用至所有網頁檢視器索引標籤。", "option-adblock-lists": "廣告封鎖程式規則", "option-adblock-lists-desc": "廣告封鎖程式封鎖每行一個網址,所有儲存庫共用。", "option-adblock-frequency": "廣告封鎖程式更新頻率", "option-adblock-frequency-desc": "過濾清單的更新天數,0 表示停用,所有儲存庫共用。", "title-clear-data-modal": "清除網頁檢視器資料", "msg-error-extracting-content": "Unexected error extracting content.", "msg-error-finding-content": "Unable to find content to extract." }, "canvas": { "name": "畫布", "desc": "在無邊界的畫布上排列和連結筆記。", "action-add-note": "從儲存庫新增筆記", "action-add-media": "從儲存庫新增媒體", "action-add-card": "新增卡片", "action-add-website": "新增網頁", "action-create-group": "建立群組", "action-create-with-size": "建立指定大小的卡片", "action-convert-to-file": "轉換成檔案…", "action-drag-to-add-note": "拖曳以從儲存庫新增筆記", "action-drag-to-add-media": "拖曳以從儲存庫新增媒體", "action-drag-to-add-card": "拖曳以新增卡片", "action-edit-label": "編輯標籤", "action-remove-label": "移除標籤", "action-search-file": "搜尋檔案", "action-set-color": "設定顏色", "action-align": "對齊", "action-align-left": "靠左對齊", "action-align-center": "水平置中", "action-align-right": "靠右對齊", "action-align-top": "對齊上方", "action-align-middle": "垂直置中", "action-align-bottom": "對齊下方", "action-distribute-horizontal-spacing": "分配水平間隔", "action-distribute-vertical-spacing": "分配垂直間隔", "action-justify-horizontally": "左右對齊", "action-justify-vertically": "上下對齊", "action-arrange-horizontally": "按列排列", "action-arrange-vertically": "按欄排列", "action-arrange-grid": "按網格排列", "action-export-png": "匯出成圖片", "action-jump-to-group": "跳至群組", "action-set-background": "設定背景", "action-edit-background": "編輯背景", "action-replace-background": "取代背景", "action-remove-background": "移除背景", "label-no-images": "找不到圖片。", "label-no-media": "No media found.", "label-export-png-desc": "以下方的設定匯出 “{{title}}” 的 PNG 檔。", "label-export-png-dimensions": "預計圖片尺寸:{{dimensions}}", "label-distribute": "平均分配", "label-justify": "左右對齊", "label-arrange": "排列", "label-always": "總是", "label-hover": "懸停時", "label-never": "永不", "label-no-section-found": "找不到段落", "option-wheel-behavior": "滑鼠滾輪預設行為", "option-mod-drag-behavior": "{{key}} 預設行為", "option-show-menu": "顯示選單", "option-new-canvas-location": "新畫布檔案的預設位置", "option-new-canvas-location-description": "新畫布檔案的儲存位置。", "option-new-canvas-folder-path": "新畫布檔案資料夾", "option-new-canvas-folder-path-description": "新畫布檔案將在此資料夾下出現。", "option-node-label": "顯示卡片標籤", "option-snap-to-grid": "貼齊網格", "option-snap-to-grid-desc": "移動和縮放卡片時,貼齊背景網格。", "option-snap-to-objects": "貼齊物件", "option-snap-to-objects-desc": "移動和縮放卡片時,貼齊鄰近物件。", "option-zoom-breakpoint": "隱藏卡片內容的縮放閥值", "option-zoom-breakpoint-desc": "較小的數值將提升性能,但在縮小時將更早隱藏卡片內容。", "option-export-png-show-logo": "顯示標誌", "option-export-png-show-logo-desc": " 此選項將在左下角加上 Obsidian 的標誌。", "option-export-png-privacy-mode": "隱私模式", "option-export-png-privacy-mode-desc": "遮擋所有畫布上的文字。", "option-export-png-zoom": "縮放", "option-export-png-zoom-desc": "更高的縮放比例將產生更高解析度的圖片。", "option-export-png-frame": "檢視區", "option-export-png-frame-desc": "選擇要渲染整張畫布或目前的檢視區。", "option-export-png-frame-full": "整張畫布", "option-export-png-frame-viewport": "僅檢視區", "option-background-cover": "覆蓋", "option-background-ratio": "維持長寬比", "option-background-repeat": "重複", "action-new-canvas": "新增畫布", "action-remove": "移除", "action-narrow-heading": "縮小至標題…", "action-narrow-block": "縮小至區塊…", "action-narrow-bases-view": "Pin view...", "action-swap-file": "交換檔案…", "action-change-url": "更改網址…", "action-zoom-to-fit": "縮放至適當比例", "action-zoom-to-selection": "縮放至選取範圍", "action-reload-page": "重新載入頁面", "action-follow-connection": "跟隨連結", "command-create-new-canvas": "建立新畫布", "command-convert-to-file": "轉換成檔案…", "instruction-narrow-heading": "以內嵌標題", "instruction-narrow-block": "以內嵌區塊", "instruction-jump-to-group": "以導覽至群組", "prompt-to-narrow": "輸入標題名稱", "label-enter-url": "輸入網址", "label-empty-embed": "找不到 “{{linktext}}”。", "prompt-add-text": "新增文字……", "prompt-start-search": "輸入以搜尋……", "label-canvas-help": "畫布幫助", "label-canvas-settings": "畫布設定", "label-no-narrow": "顯示完整檔案", "label-show-default-view": "Show default view", "label-readonly": "唯讀", "label-disable-readonly": "停用唯讀", "label-pan": "平移", "label-pan-horizontal": "水平平移", "label-zoom": "縮放", "label-select-all": "全選", "label-add-remove-selection": "選取 / 取消選取", "label-clone-card": "複製卡片", "label-constrain-movement-axis": "限制卡片只能在座標軸上移動", "label-disable-drag-snapping": "拖曳時停用貼齊", "label-remove-card": "移除卡片", "label-drag-from-below": "從下方拖曳或按兩下", "label-longpress": "長按以新增 / 移動 / 選取", "label-drag-pan": "拖曳以平移", "label-pinch-zoom": "捏合以縮放", "label-space-drag-pan": "空白鍵 + 拖曳以平移", "label-scroll-to-zoom": "滾動以縮放", "label-untitled-group": "未命名的群組", "label-line-direction": "線條方向", "label-nondirectional": "無方向", "label-unidirectional": "單向", "label-bidirectional": "雙向", "label-image": "圖片", "label-style": "樣式", "msg-no-groups-found": "找不到群組", "msg-export-failed-empty-canvas": "無法匯出空畫布", "msg-updating-links": "Canvas detected file renames affecting {{count}} canvas file, updating...", "msg-updating-links_plural": "Canvas detected file renames affecting {{count}} canvas files, updating...", "msg-updated-links": "Canvas updated {{count}} embed card", "msg-updated-links_plural": "Canvas updated {{count}} embed cards" }, "bases": { "name": "Bases", "desc": "以查詢筆記屬性來建立 bases。", "action-new-base": "新 base", "action-add-property": "添加屬性", "action-add-formula": "Add formula", "action-hide-all": "全部隱藏", "action-toggle-visibility": "切換顯示", "action-delete-property": "刪除屬性", "action-duplicate-view": "複製檢視", "action-delete-view": "刪除檢視", "action-export-c-s-v": "Export CSV...", "command-create-new": "建立新的 base", "command-insert-new": "插入新的 base", "command-copy-table": "複製表格到剪貼簿", "command-change-view": "變更檢視", "command-add-view": "Add view", "command-add-item": "Add item", "button-add-view": "Add view", "button-add-filter": "Add filter", "button-add-filter-group": "Add filter group", "button-show-all": "Show all", "button-show-all-count": "Show all ({{count}})", "label-all-views": "All views", "label-current-view": "This view", "placeholder-search-property": "Find or create...", "label-computed-properties": "運算式屬性", "label-property-type": "屬性類型", "label-hide-property": "隱藏屬性", "label-show-property": "展示屬性", "label-edit-property": "編輯屬性", "placeholder-formula": "x + y", "title-edit-property": "Edit {{name}}", "label-configure-view": "設定檢視", "label-view-layout": "佈局", "label-global-filters": "全域過濾", "label-view-filters": "檢視過濾", "label-view-name": "檢視名稱", "label-default-view": "檢視", "label-view-type-table": "表格", "label-display-name": "Display name", "label-formula": "公式", "label-sort": "Sort", "label-filter": "Filter", "label-properties": "Properties", "label-new-item": "New", "label-new-item-template-file": "New item template file", "label-new-item-folder": "New item folder", "label-any-of-the-following": "下列任一條件為真(or)", "label-all-the-following": "下列全部條件為真(and)", "label-none-of-the-following": "下列無一條件為真", "label-where": "where", "label-or": "or", "label-and": "and", "label-property-key": "Property", "label-untitled-property": "未命名", "label-file-prop-file": "file", "label-file-prop-name": "name", "label-file-prop-base-name": "file base name", "label-file-prop-full-name": "file full name", "label-file-prop-path": "path", "label-file-prop-folder": "folder", "label-file-prop-ext": "extension", "label-file-prop-ctime": "created time", "label-file-prop-mtime": "modified time", "label-file-prop-size": "file size", "label-file-prop-links": "file links", "label-file-prop-embeds": "file embeds", "label-file-prop-tags": "file tags", "label-add-sort": "Add sort", "label-limit": "Limit number of results", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "Old to new", "label-sort-new-old": "New to old", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "View name cannot contain: ", "msg-filter-simple-unavailable": "此過濾條件有誤。", "msg-filter-cannot-parse": "過濾條件無法解析,無法使用過濾編輯器。", "msg-error-invalid-properties-section": "Invalid properties configuration.", "msg-error-invalid-property-config": "Invalid property config for \"{{ name }}\".", "msg-error-register-view": "無法於檢視 \"{{ viewID }}\" 添加Bases,檢視代碼已經存在。", "msg-error-unable-to-parse": "無法解析你的 base 檔案:", "msg-error-view-not-found": "找不到檢視 \"{{ view }}\"", "msg-error-unknown-view-type": "Base 設定為未知的檢視類型: {{ viewtype }}", "msg-error-view-type": "檢視必須是陣列", "msg-error-display-values": "顯示值必須是字串,屬性 {{ key }} 有誤。", "msg-error-must-be-a-type": "\"{{ key }}\" 必須是 {{ type }}", "msg-error-filter-type": "\"filters\" 必須是字串或物件", "msg-error-filter-must-be-array": "\"{{ conjunction }}\" 過濾必須是陣列", "msg-error-filter-allowed-keys": "\"filters\" 可能只有一個 \"and\", \"or\", 或 \"not\" 鍵值。", "msg-error-filter-failed-to-evaluate": "過濾運算失敗: {{ message }}", "msg-error-formula-values": "公式的值必須是字串,但屬性 {{ key }} 有誤。", "msg-error-computed-failed-to-compute": "屬性 \"{{ key }}\" 運算失敗: {{ message }}", "msg-error-invalid-query-format": "查詢格式錯誤,必須是 YAML 物件。", "msg-error-view-invalid-format": "\"view\" 項必須是 YAML 物件,但第 {{ index }} 項有誤", "msg-error-view-name-invalid": "檢視第 {{ index }} 項 \"name\" 缺少或無效", "msg-error-view-missing-required-key": "檢視 \"{{ viewName }}\" 需要 \"{{ key }}\"", "msg-error-view-incorrect-type": "檢視\"{{ viewName }}\"的 \"{{ key }}\" 必須是 {{ type }}", "msg-error-view-incorrect-value-type": "view \"{{ viewName }}\" 的 \"{{ key }}\" 值必須全為 {{ type }}", "msg-error-view-parsing-filters": "檢視 \"{{ viewName }}\" 無法解析過濾: {{ message }}", "msg-error-infinite-loop": "公式內偵測到無窮迴圈", "msg-error-invalid-property": "Invalid property", "msg-new-item-filtered": "This note will be filtered out because it doesn't match your criteria", "placeholder-filter-advanced-mode": "Advanced filter", "placeholder-limit": "e.g. 10", "tooltip-filter-advanced-mode": "進階過濾", "tooltip-filter-simple-mode": "簡易過濾", "tooltip-remove-filter": "移除過濾", "cards": { "name": "Cards", "label-card-size": "Card size", "label-image-property": "Image property", "label-image-fit": "Image fit", "option-image-fit-cover": "Cover", "option-image-fit-contain": "Contain", "label-image-aspect-ratio": "Image aspect ratio" }, "table": { "name": "Table", "action-hide-column": "隱藏直欄", "action-edit-property": "Edit property...", "action-edit-formula": "Edit formula...", "action-sort-default": "Clear sort", "action-sort-a-z": "Sort A → Z", "action-sort-z-a": "Sort Z → A" } } }, "formulas": { "msg-error-parse-formula": "Failed to parse formula \"{{ formula }}\"", "msg-error-invalid-function": "Cannot find function \"{{ function }}\"", "msg-error-invalid-instance-function": "Cannot find function \"{{ function }}\" on type {{ type }}", "msg-error-not-enough-arguments": "Cannot call function \"{{ function }}\", not enough arguments.", "msg-error-too-many-arguments": "Cannot call function \"{{ function }}\", too many arguments.", "msg-error-type-error": "Type error in \"{{ function }}\", parameter \"{{ parameter }}\". Expected {{ expected }}, given {{ given }}.", "msg-error-invalid-array-access": "Cannot access index {{ index }} of non-array value", "msg-error-invalid-object-access": "Cannot find {{ index }} on type {{ type }}" }, "pdf": { "action-highlight-all": "全部醒目提示", "action-match-diacritics": "讀音符號須相符", "action-whole-words": "全字拼寫須相符", "action-show-thumbnails": "縮圖", "action-show-outline": "目錄", "action-reveal-in-outline": "在目錄中顯示頁面", "action-toggle-sidebar": "切換側邊欄", "action-previous-page": "上一頁", "action-next-page": "下一頁", "action-fit-width": "符合寬度", "action-fit-height": "符合高度", "action-save-p-d-f-location": "儲存文件的目前位置", "action-copy-annotation": "複製註釋", "action-copy-quote": "以引文複製", "action-copy-selection-link": "複製所選連結", "action-copy-annot-link": "複製註釋連結", "action-copy-section-link": "複製區塊連結", "action-copy-section-link-title": "將連結複製到 “{{title}}”", "action-copy-page-link": "將連結複製到第 {{page}} 頁", "msg-max-search-results": "超過 {{limit}} 項相符項目中的 {{current}} 項", "msg-search-count": "{{total}} 項相符項目中的 {{current}} 項", "msg-search-count_plural": "{{total}} 項相符項目中的 {{current}} 項", "msg-password-protected": "此 PDF 受密碼保護", "msg-invalid-password": "密碼無效", "msg-enter-password": "輸入下方密碼", "label-of-pages": "之 {{count}}", "label-page-of-pages": "({{current}} 之 {{count}})", "label-spread-single": "單頁", "label-spread-odd": "雙頁 (奇數頁)", "label-spread-even": "雙頁 (偶數頁)", "tooltip-sidebar-options": "側邊欄選項", "tooltip-display-options": "顯示選項", "label-adapt-to-theme": "配合主題", "label-page": "第 {{page}} 頁", "page_landmark": "第 {{page}} 頁", "thumb_page_title": "第 {{page}} 頁", "thumb_page_canvas": "第 {{page}} 頁", "text_annotation_type": "[{{type}} 註釋]", "annotation_date_string": "{{date}}, {{time}}" }, "properties": { "types": { "option-multitext": "清單", "option-unknown": "未知", "option-text": "文字", "option-aliases": "別名", "option-tags": "標籤", "option-folder": "資料夾", "option-file": "檔案", "option-date": "日期", "option-datetime": "日期 & 時間", "option-number": "數字", "option-checkbox": "核取方塊" }, "value-suggestion": { "key-link-note": "輸入 [[", "instruction-link-note": "來連結筆記", "instruction-dismiss": "來關閉" }, "option-property-type": "屬性類型", "msg-empty-property-name": "屬性名稱不能為空。", "msg-duplicate-property-name": "屬性已存在", "msg-invalid-tag": "標籤名稱無效", "msg-invalid-number": "數字無效", "msg-invalid-properties": "屬性讀取失敗。", "label-no-value": "無值", "label-heading": "屬性", "label-invalid-heading": "Invalid properties", "label-show-source": "Show source", "label-invalid-yaml-marker": "語法錯誤,你的 frontmatter 內容有誤。", "label-add-property-button": "新增屬性", "label-type-mismatch-warning": "類型不符,需要 {{type}}", "label-type-mismatch-warning-generic": "類型有誤", "label-change-property-type": "Display as {{type}}?", "label-change-property-type-desc": "Your {{oldType}} data is not compatible. It will be adapted to fit the new format." }, "table": { "label-column": "直欄", "label-row": "橫列", "action-row-after": "在下方新增橫列", "action-column-after": "在右方新增直欄", "action-row-before": "在上方新增橫列", "action-row-up": "向上一橫列", "action-row-down": "向下一橫列", "action-column-before": "向左新增直欄", "action-column-left": "向左一直欄", "action-column-right": "向右一直欄", "action-duplicate-row": "複製橫列", "action-duplicate-column": "複製直欄", "action-delete-row": "刪除橫列", "action-delete-column": "刪除直欄", "action-align-left": "左靠", "action-align-center": "置中", "action-align-right": "右靠", "action-delete-selection": "刪除儲存格", "action-clear-selection": "清除儲存格", "action-sort-a-z": "直欄排序 (A to Z)", "action-sort-z-a": "直欄排序 (Z to A)", "label-command": "表格: {{command}}" }, "callout": { "option-type": "Callout 類型", "type": { "info": "資訊", "important": "重要", "tip": "小技巧", "success": "成功", "question": "問題", "warning": "警告", "quote": "引述", "example": "範例", "none": "None" }, "option-other": "其他...", "option-other-placeholder": "Callout 類型..." }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} 個詞", "word-with-count_plural": "{{count}} 個詞", "result-with-count": "{{count}} result", "result-with-count_plural": "{{count}} results", "character-with-count": "{{count}} 個字元", "character-with-count_plural": "{{count}} 個字元", "link-with-count": "{{count}} 個連結", "link-with-count_plural": "{{count}} 個連結", "file-with-count": "{{count}} 個檔案", "file-with-count_plural": "{{count}} 個檔案", "folder-with-count": "{{count}} 個資料夾", "folder-with-count_plural": "{{count}} 個資料夾", "backlink-with-count": "{{count}} 個反向連結", "backlink-with-count_plural": "{{count}} 個反向連結", "tabs-with-count": "{{count}} 個分頁", "tabs-with-count_plural": "{{count}} 個分頁", "properties-with-count": "{{count}} 個屬性", "properties-with-count_plural": "{{count}} 個屬性", "site-with-count": "{{count}} 個網站", "site-with-count_plural": "{{count}} 個網站", "plugin-with-count": "{{count}} 個外掛程式", "plugin-with-count_plural": "{{count}} 個外掛程式", "plugin-active-with-count": "{{count}} active", "snippet-active-with-count": "{{count}} snippet", "snippet-active-with-count_plural": "{{count}} snippets", "theme-with-count": "{{count}} 個主題", "theme-with-count_plural": "{{count}} 個主題" } }{ "setting": { "options": "选项", "plugin": "插件", "builtin-plugins": "核心插件", "plugin-options": "插件选项", "folder-path-example-placeholder": "例: 文件夹 1/文件夹 2", "file-path-example-placeholder": "例: 文件夹/笔记", "msg-restart-required": "此选项更改需重启后方可生效。", "editor": { "name": "编辑器", "section-behavior": "行为", "section-display": "显示", "option-spellcheck": "拼写检查", "option-spellcheck-description": "打开拼写检查器。", "spellcheck-languages": "拼写检查语言", "spellcheck-languages-description": "选择需要检查拼写的语言。", "spellcheck-languages-mac-description": "本地的拼写检查器将自动检测你当前所使用的语言。", "spellcheck-dict": "拼写检查词典", "spellcheck-dict-empty": "拼写检查词典是空的。", "option-show-inline-title": "显示页内标题", "option-show-inline-title-description": "在笔记页面内显示笔记标题。", "option-readable-line-length": "缩减栏宽", "option-readable-line-description": "开启后将限制每行字数,使屏幕显示的内容减少,但使较长的段落更具可读性。", "option-strict-line-break": "严格换行", "option-strict-line-break-description": "开启后,根据 Markdown 标准,单个换行符在预览模式下不再生效。", "option-properties-in-document": "笔记属性", "option-properties-in-document-description": "选择笔记属性在编辑器中的显示方式。选择 \"源码\" 可以以 YAML 格式显示笔记属性。", "option-properties-hidden": "隐藏", "option-properties-visible": "显示", "option-properties-source": "源码", "option-auto-pair-brackets": "自动补全英文标点符号", "option-auto-pair-brackets-description": "自动补全英文括号和引号。", "option-auto-pair-markdown": "自动补全 Markdown 语法", "option-auto-pair-markdown-description": "自动补全表示粗体和斜体的标记。", "option-smart-indent-lists": "智能列表", "option-smart-indent-lists-description": "开启后 Obsidian 将根据换行和缩进情况自动调整列表符号。", "option-fold-heading": "折叠标题", "option-fold-heading-description": "开启后可以将正文内容折叠到标题行。", "option-fold-indent": "折叠缩进", "option-fold-indent-description": "开启后可以将缩进内容(如列表)折叠起来。", "option-default-new-tab-view": "新标签页的默认视图", "option-default-new-tab-view-description": "设置新标签页的默认视图模式。", "option-default-new-tab-view-editing": "编辑视图", "option-default-new-tab-view-reading": "阅读视图", "option-open-tab-in-foreground": "始终聚焦新标签页", "option-open-tab-in-foreground-description": "当你在新标签页打开链接,立即切换至新标签页。", "option-default-editing-mode": "默认编辑模式", "option-default-editing-mode-description": "在编辑视图下,新标签页默认采用的编辑模式。", "option-default-editing-mode-source": "源码模式", "option-default-editing-mode-live-preview": "实时预览", "option-show-line-number": "显示行号", "option-show-line-number-description": "在左侧显示行号。", "option-indentation-guide": "显示缩进参考线", "option-indentation-guide-description": "在缩进的行之间显示参考线。", "option-use-tabs": "使用制表符", "option-use-tabs-description": "开启后,Tab 键将使用制表符来完成缩进。关闭后 Tab 键将使用空格完成缩进。", "option-tab-size": "制表符宽度", "option-tab-size-description": "设置制表符等同的空格数。", "option-rtl": "文本右对齐", "option-rtl-description": "将文本的默认水平对齐方式修改为右对齐。", "option-auto-convert-html": "自动转换 HTML", "option-auto-convert-html-description": "从网页粘贴或拖拽粘贴内容时自动将 HTML 格式转换为 Markdown 格式。如果不想转换,请使用 Ctrl/Cmd+Shift+V 进行粘贴。", "option-vim-key-bindings": "Vim 模式", "option-vim-key-bindings-description": "允许在编辑器中使用 Vim 模式。", "option-vim-key-bindings-mobile": "在移动设备上,该设置需要单独开启,且开启状态不会同步到其他移动设备上。", "option-reindex-vault": "重建仓库缓存", "option-reindex-vault-description": "重建缓存可能需要几秒钟到几分钟的时间,具体取决于您的仓库大小。", "label-reindex": "重建", "label-confirm-enable-vim": "确认进入 Vim 模式", "label-vim-warning": "Vim 模式可以实现高效的文本编辑操作,但其使用方法十分复杂。如果你对 Vim 不了解,开启该模式可能会让 Obsidian 难以使用。", "label-vim-test": "为了确保你知道如何使用 Vim,请输入 Vim 中“退出而不保存”对应的命令:", "label-vim-your-answer": "你的答案", "placeholder-enter-command": "请输入命令……", "button-confirm-enable-vim": "让我开启 Vim", "msg-vim-mode-enabled": "命令正确。开启 Vim 模式。", "msg-vim-mode-not-enabled": "命令错误。为保证你的使用体验,暂不开启 Vim 模式。", "msg-vim-mode-please-enter-command": "请输入相应命令开启 Vim 模式。" }, "file": { "name": "文件与链接", "option-confirm-file-deletion": "确认删除提示", "option-confirm-file-deletion-description": "是否需要弹出提示窗口以确认删除文件。", "option-delete-destination": "删除文件设置", "option-delete-destination-description": "要如何处理已删除的文件?", "option-choice-system-trash": "移至系统回收站", "option-choice-vault-trash": "移至软件回收站(.trash 文件夹)", "option-choice-permanent-delete": "永久删除", "option-always-update-links": "始终更新内部链接", "option-always-update-links-description": "开启后重命名文件时 Obsidian 会自动为你更新内部链接,关闭后则需要你手动确认是否更新。", "option-new-note-location": "新建笔记的存放位置", "option-new-note-location-description": "指定新建笔记的存放路径,插件可能会修改此设置。", "option-choice-vault-root": "仓库的根目录", "option-choice-current-folder": "当前文件所在的文件夹", "option-choice-specified-folder": "指定的附件文件夹", "option-new-file-folder-path": "存放新建笔记的文件夹", "option-new-file-folder-path-description": "指定存放新笔记的文件夹,插件可能会修改此设置。", "option-use-wiki-links": "使用 Wiki 链接", "option-use-wiki-links-description": "开启后,在笔记中链接其他笔记或图像时,使用如 [[文件名]] 和 ![[图片名]] 这样的Wiki链接。关闭此选项则默认使用标准的 Markdown 超链接语法,如 []()。", "option-show-unsupported-files": "检测所有类型文件", "option-show-unsupported-files-description": "在文件列表和快速切换中显示所有类型的文件,即使是那些目前 Obsidian 不支持的类型。开启此选项后可以对不支持的文件进行链接。", "option-link-autocompleted-format": "内部链接类型", "option-link-autocompleted-format-description": "设置在笔记中链接其他文件时插入 \"[[ ]]\" 中的文件路径类型。", "option-choice-shortest-linktext": "尽可能简短的形式", "option-choice-relative-path": "基于当前笔记的相对路径", "option-choice-absolute-path": "基于仓库根目录的绝对路径", "option-new-attachment-location": "附件默认存放路径", "option-new-attachment-location-description": "设置新添加附件的存放位置。", "option-new-attachment-location-default": "附件", "option-choice-subdirectory": "当前文件所在文件夹下指定的子文件夹", "option-attachment-folder-path": "附件文件夹路径", "option-attachment-folder-path-description": "指定用于存放附件的文件夹。新建的附件会存放于此,如音频记录或通过拖放或粘贴创建的图像等。", "option-attachment-subfolder-path": "子文件夹名称", "option-attachment-subfolder-path-description": "如果当前文件在 \"vault/folder\" 中,而设置子文件夹名称为 \"attachments\",则附件将被保存至 \"vault/folder/attachments\" 路径下。", "option-excluded-files": "忽略文件", "option-excluded-files-desc": "符合以下条件的文件将被忽略。忽略是指文件将出现在快速切换、链接补全中队列的末尾,以及不在关系图谱和搜索结果中出现。", "label-no-excluded-filters-applied": "目前没有需要忽略的文件。可以在下方添加需要忽略的文件。", "label-excluded-filters-applied": "符合下方条件的文件将被忽略:", "label-excluded-filter": "条件", "message-empty-filter": "条件不可为空", "placeholder-excluded-filter": "请输入文件路径或如 \"/regex/\" 这样的正则表达式", "option-uri-callbacks": "启用 URI 回调", "option-uri-callbacks-desc": "在处理 Obsidian 的 URI 时,允许通过 x-success 或 x-error 参数使用 x-callback-url 功能。" }, "appearance": { "name": "外观", "option-base-theme": "基础颜色", "option-base-theme-description": "设置 Obsidian 的基础颜色。", "option-accent-color": "主题色", "option-accent-color-description": "为 Obsidian 选择一个主题色。主题色将影响选中、链接等元素的颜色。", "dark-theme": "深色", "light-theme": "浅色", "system-theme": "跟随系统", "option-font": "字体", "option-advanced": "高级", "option-interface": "界面", "option-interface-font": "界面字体", "option-interface-font-description": "设置 Obsidian 界面字体。在不指定其他字体的情况下,该字体将成为 Obsidian 的基础字体。", "option-zoom-level": "缩放比例", "option-zoom-level-description": "控制应用程序的整体缩放比例", "option-text-font": "正文字体", "option-text-font-description": "设置编辑视图和阅读视图中笔记正文的字体。", "option-monospace-font": "代码字体", "option-monospace-font-description": "设置代码块、元数据源码等文本的字体。", "label-single-font-currently-in-effect": "当前使用的字体是:", "label-multiple-fonts-currently-in-effect": "当前使用的字体是:", "option-font-placeholder": "请输入字体名称……", "label-no-custom-font-set": "当前未指定自定义字体。请在下方添加一个。", "label-font-applied": "列表中第一种字体将被应用。若该字体不存在于当前设备上,则顺延至存在于当前设备上的字体。", "msg-font-not-found": "系统中不存在此字体。", "msg-font-found": "系统中存在此字体。", "label-font-name": "字体名称", "option-community-themes": "查看社区主题", "option-community-themes-description": "预览、使用社区用户创建的优秀主题。", "button-browse-community-themes": "浏览", "option-font-size": "字体大小", "option-font-size-description": "调整编辑视图及预览视图中的字体大小(单位为像素)。", "option-font-size-action": "快速调整字体大小", "option-font-size-action-description": "开启后可通过 Ctrl 与鼠标滚轮(或使用触摸板手势)快速调整字体大小。", "option-themes": "主题", "option-manage-themes-description": "管理已安装的主题,或浏览社区主题。", "option-theme-button-manage": "管理", "option-choice-none": "无", "option-native-menus": "原生菜单", "option-native-menus-desc": "Obsidian 中所有的菜单都会匹配操作系统,不会跟随主题样式", "button-reload-themes": "重新加载主题", "msg-reloaded-themes": "重新加载自定义主题", "button-open-themes-folder": "打开主题文件夹", "option-css-snippets": "CSS 代码片段", "label-no-css-snippets-found": "没有在代码片段文件夹中发现 CSS 代码片段。", "no-snippet-description": "CSS 代码片段的存放路径为:\"{{path}}\"。", "button-reload-snippets": "重新加载代码片段", "button-open-snippets-folder": "打开代码片段文件夹", "msg-reloaded-snippets": "重新加载 CSS 代码片段", "option-toggle-snippet-description": "应用当前代码片段。该代码片段的存放路径为:\"{{path}}\"。", "label-installed-themes": "已安装主题", "label-screenshot-unavailable": "暂无截图", "label-default-theme": "默认", "tooltip-click-to-enlarge": "点击浏览大图", "button-update": "更新", "label-currently-active": "使用中", "option-frame-style": "窗口边框样式", "option-frame-description": "更改 Obsidian 窗口边框的样式。该设置重启应用后生效。", "option-frame-hidden": "隐藏(默认)", "option-frame-obsidian": "Obsidian 风格", "option-frame-native": "原生边框", "option-custom-icon": "自定义应用图标", "option-custom-icon-desc": "给应用设置一个自定义的图标", "button-choose-custom-icon": "选择自定义图标", "option-configure-ribbon": "功能区", "option-configure-ribbon-desc": "设置哪些命令需要显示在功能区上。", "option-mobile-quick-ribbon-item": "功能区按钮", "option-mobile-quick-ribbon-item-desc": "点击底部导航栏上的按钮将激活对应功能。长按按钮将激活功能区。", "option-mobile-quick-ribbon-default": "打开功能区", "button-configure": "设置", "option-show-ribbon": "显示功能区", "option-show-ribbon-desc": "显示窗口最左侧的功能区,以便快速执行命令。", "label-additional-ribbon-items": "未显示的按钮", "label-modal-configuration": "功能区设置", "label-modal-configuration-desc": "选择需要在功能区中显示的命令。拖动可以重新排序。", "option-show-view-header": "显示标签页标题栏", "option-show-view-header-desc": "在每个标签页上方显示标题栏。", "msg-updates-found": "有 {{count}} 个社区主题需要更新。", "msg-updates-found_plural": "有 {{count}} 个社区主题需要更新。", "button-check-for-updates": "检查更新", "button-view-updates": "查看更新", "button-update-all-themes": "全部更新", "label-current-themes": "已安装主题", "label-currently-installed": "你目前已经安装了 {{count}} 个主题", "label-currently-installed_plural": "你目前安装了 {{count}} 个主题" }, "hotkeys": { "name": "快捷键", "option-search": "搜索快捷键", "option-search-desc": "显示 {{count}} 个快捷键。 ", "option-search-desc_plural": "显示 {{count}} 个快捷键。 ", "option-search-conflict": "有 {{count}} 个冲突命令。", "option-search-conflict_plural": "有 {{count}} 个冲突命令。", "prompt-filter": "搜索……", "tooltip-delete-hotkey": "删除快捷键", "label-waiting-for-hotkey-press": "按下快捷键……", "label-show-all": "全部", "label-show-unassigned": "未分配", "label-show-assigned": "已分配", "label-show-user-assigned": "由我分配", "tooltip-restore-default": "恢复默认", "tooltip-customize-command": "自定义快捷键", "tooltip-hotkey-single-conflict": "该快捷键与 \"{{command}}\" 冲突", "tooltip-hotkey-multiple-conflicts": "该快捷键与其他 {{count}} 个快捷键冲突", "label-blank-hotkey": "未设置" }, "about": { "name": "关于", "label-commercial-license": "商用许可证", "label-license-key": "许可证密钥", "license-key-placeholder": "你的许可证密钥……", "label-activate-license": "激活许可证", "button-activate": "激活", "label-unknown-version": "无标题", "label-current-version": "当前版本: ", "label-install-version": "(安装程序版本: {{version}})", "label-up-to-date": "你使用的是最新版本!", "label-read-changelog": "阅读更新日志", "label-manual-update-required": "Obsidian 需要进行一次较大的更新来获取最新功能和安全补丁。为此,你需要手动下载安装包并重新安装 Obsidian。", "label-new-version-ready": "准备安装新版本。 ", "label-disabled-updates": "更新已禁用。", "button-relaunch": "重新启动应用", "button-check-for-updates": "检查更新", "option-auto-update": "自动更新", "option-auto-update-description": "关闭后 Obsidian 将不会自动更新。", "option-check-slow-startup": "应用启动缓慢时进行通知", "option-check-slow-startup-description": "通过查看导致应用加载缓慢的原因来诊断问题。", "button-check-startup": "立即检查", "option-get-help": "获取帮助", "option-get-help-description": "获取关于使用 Obsidian 的帮助。", "button-open": "打开", "option-language": "语言", "option-language-description": "更改界面语言。", "option-insider-build": "接收内部版本", "option-insider-build-description": "自动更新至内部版本以体验最新功能。请注意,内部版本可能不太稳定。", "option-advanced": "高级", "option-hw-acceleration": "硬件加速", "option-hw-acceleration-description": "开启硬件加速,即使用 GPU 让 Obsidian 运行更流畅。", "option-hw-acceleration-warning": "如果关闭此选项,Obsidian 的性能将严重下降。", "option-config-location": "切换设置文件夹", "option-config-location-description": "选用另一个设置文件夹而非默认设置文件夹。设置文件夹名称一定要以句点\".\"开头。", "option-config-location-warning": "设置文件夹路径必须是合法的,并且以句点\".\"开头。", "label-license": "许可证", "label-your-commercial-license-key": "你的商用许可证是 \"{{key}}\"。", "label-commercial-license-info": "注册给用户: \"{{company}}\" - {{seats}} 。有效期至 {{expiry}}。", "label-validating-commercial-license": "正在验证……", "label-invalid-commercial-license": "无效的许可证: ", "button-remove-commercial-license": "注销", "option-catalyst": "Catalyst 个人许可证", "option-catalyst-desc": "你已成为 {{tier}},感谢对 Obsidian 的支持!", "option-catalyst-desc-no-license": "你尚未购买 Catalyst 个人许可证。Catalyst 个人许可证是一种支持 Obsidian 开发的捐赠形式。", "label-app": "应用", "label-add-own-language": "显示如何给 Obsidian 添加你的母语" }, "account": { "name": "帐户", "option-your-account": "你的账户", "option-your-account-desc": "当前登录的账户为 {{name}} ({{email}})。", "option-your-account-desc-no-login": "你没有登录。使用 Obsidian 同步服务、发布服务以及获取内部版本都需要你登录账号。", "label-insider": "内测用户", "label-supporter": "支持者", "label-vip": "VIP", "button-upgrade-catalyst": "升级", "option-commercial-license": "商用许可证", "option-commercial-license-desc": "帮助保持Obsidian 100%由用户支持", "button-purchase": "购买", "button-log-out": "退出登录", "label-log-in": "登录", "label-sign-up": "注册", "label-email": "邮箱", "placeholder-email": "你的邮箱……", "label-name": "全名", "label-password": "密码", "placeholder-password": "你的密码……", "label-forgot-password": "忘记密码?", "button-login": "登录", "message-empty-email": "邮箱不能为空。", "message-invalid-email": "无效的电子邮箱。", "message-empty-password": "密码不能为空。", "message-login-failed": "登录失败,请检查你的邮箱和密码。", "message-signup-failed": "注册失败", "label-no-account": "没有帐户? ", "link-sign-up-now": "现在注册", "label-mfa-code": "6位数的 2FA 验证码", "mfa-wrong-format": "2FA 的验证码必须为6位数。", "mfa-verification-failed": "2FA 验证码不正确,请再次检查你的验证器应用。" }, "core-plugin": { "plugin-list": "插件列表", "option-search-plugin": "搜索核心插件", "option-search-plugin-description": "通过插件名称或描述来寻找插件。", "placeholder-search-plugin": "输入插件名称或描述……" }, "third-party-plugin": { "name": "第三方插件", "option-restricted-mode": "安全模式", "option-restricted-mode-description": "安全模式已关闭。开启以限制第三方插件运行。", "button-turn-on": "开启", "option-browse-community-plugins": "社区插件市场", "option-browse-community-plugins-description": "浏览、安装社区成员制作的第三方插件。", "button-browse": "浏览", "label-exit-restricted-mode": "退出安全模式", "label-exit-restricted-mode-description-1": "和你在电脑上安装的其他软件一样,第三方插件也可能会带来数据和隐私风险。", "label-exit-restricted-mode-description-2": "我们非常重视你的数据安全,所以我们采取了如下做法:", "label-exit-restricted-mode-description-3": "但即便如此,市场中的插件仍有出错的可能。", "label-code-review": "代码审查", "label-code-review-desc": "插件在上架社区插件市场前需要经过我们的代码审查。", "label-open-source": "开源", "label-open-source-desc": "大多数插件都在 GitHub 上开源,这允许你对插件代码进行审查。", "label-peer-audit": "社区监督", "label-peer-audit-desc": "Obsidian 有一个非常庞大且活跃的社区,社区中的开发者们也会对市场中的插件进行监督。", "label-report-mechanism": "用户反馈", "label-report-mechanism-desc": "我们将根据用户的反馈跟进并处理有问题的插件。", "label-exit-restricted-mode-disable-confirmation": "你想要退出安全模式来启用第三方插件吗?在启用插件前,我们建议你备份好笔记。", "label-learn-more": "获取更多关于插件安全的信息", "button-turn-on-community-plugins": "关闭安全模式", "label-trust-author": "你是否信任这个仓库的作者?", "label-trust-author-description-1": "这个仓库内容未知,并且内置了一些插件。", "label-trust-author-description-2": "请注意,未知来源的插件将带来数据和隐私风险。", "label-trust-author-description-3": "如果你不信任该仓库的作者,我们建议你在安全模式中打开该仓库,以防止仓库中插件运行。", "button-enable-plugins": "信任仓库作者并启用插件", "button-dont-trust-author": "在安全模式中打开该仓库", "placeholder-community-plugins": "搜索社区插件……", "msg-failed-load-plugins": "无法加载社区插件", "label-installed": "已安装", "button-install": "安装", "button-enable": "启用", "button-disable": "禁用", "button-copy-share-link": "复制分享链接", "button-donate": "捐赠", "label-no-results-found": "未找到相关插件", "label-no-recent-files-found": "未找到最近文件。输入以搜索……", "msg-failed-to-load-manifest": "无法加载插件列表", "label-version": "版本: {{version}}", "label-currently-installed-version": " (当前已安装版本: {{version}})", "label-by-author": "作者:", "label-repository": "Github 仓库地址:", "label-last-update": "上次更新: ", "tooltip-view-last-update": "查看最新版本", "label-unsupported": "此插件不支持你的设备。", "button-update": "更新", "label-no-readme": "这个插件没有提供 README 文件。", "msg-installing-plugin": "正在安装插件 “{{name}}”……", "msg-failed-to-install-plugin": "无法安装插件 “{{name}}”", "msg-successfully-installed-plugin": "成功安装插件 “{{name}}”", "msg-failed-to-uninstall-plugin": "无法卸载插件 “{{id}}”", "msg-failed-to-disable-plugin": "无法禁用插件 “{{id}}”", "label-installed-plugins": "已安装插件", "button-reload-plugins": "重新加载插件", "msg-reloaded-third-party-plugins": "重新加载第三方插件", "label-uninstall": "卸载", "label-uninstall-plugin": "卸载插件", "label-uninstall-plugin-confirmation": "你确定要卸载此插件吗?这将删除插件的文件夹。", "button-open-plugins-folder": "打开插件文件夹", "button-check-for-updates": "检查更新", "button-update-all-plugins": "全部更新", "label-current-plugins": "插件安装情况", "label-currently-installed": "你目前已经安装了 {{count}} 个插件。", "label-currently-installed_plural": "你目前已经安装了 {{count}} 个插件。", "msg-no-updates-found": "没有插件需要更新。", "msg-updates-found": "发现 {{count}} 个插件需要更新。", "msg-updates-found_plural": "发现 {{count}} 个插件需要更新。", "msg-update-plugin": "更新至版本 {{version}}", "option-search-installed-plugin": "搜索已安装插件", "option-search-installed-plugin-description": "通过插件名称或描述来筛选已安装的插件。", "placeholder-search-installed-plugin": "搜索已安装的插件……", "show-installed-only": "仅显示已安装", "label-donate-modal-title": "捐款支持 {{name}} 插件", "label-donate-modal-text1": "插件开发者为这款插件付出了大量的时间与精力。如果你觉得这个插件很有用,就支持一下开发吧!", "label-donate-modal-text2": "你捐赠的所有金额都将发给插件开发者,Obsidian 不会收取中间费用(但资金交易平台可能需要收取手续费)。", "label-donate-modal-text3": "感谢你对开发的支持!", "label-support-this-plugin": "捐赠网址:", "label-search-summary": "当前显示了 {{pluginCount}}:", "label-by-popularity": "按下载量", "label-by-released": "按发布时间", "label-by-updated": "按更新时间", "label-alphabetical": "按名称顺序", "label-last-updated": "更新于 {{time}}" }, "mobile-toolbar": { "name": "移动端工具栏", "option-configure-quick-action": "快捷命令", "option-configure-quick-action-description": "Obsidian 移动端允许你通过下滑手势快速触发一个命令。当前快捷命令为 \"{{command}}\"。", "msg-missing-quick-action": "未配置操作", "button-configure": "设置快捷命令", "placeholder-select-quick-action": "选择一条命令……", "quick-action-disabled": "没有快捷命令", "manage-toolbar-options": "管理工具栏", "option-internal-link": "插入内部链接", "option-internal-embed": "嵌入内容", "option-tag": "添加标签", "option-heading": "小标题", "option-strikethrough": "添加删除线", "option-highlight": "高亮", "option-code": "代码块", "option-blockquote": "引用", "option-inline-math": "行内数学", "option-math-block": "数学块", "option-markdown-link": "添加 Markdown 链接", "option-bullet-list": "无序列表", "option-numbered-list": "有序列表", "option-indent-list": "缩进列表", "option-unindent-list": "取消列表缩进", "option-undo": "撤销", "option-redo": "重做", "option-move-caret-up": "向上移动光标", "option-move-caret-down": "向下移动光标", "option-move-caret-left": "向左移动光标", "option-move-caret-right": "向右移动光标", "option-first-line": "跳至第一行", "option-last-line": "跳至最后一行", "option-toggle-keyboard": "收起键盘", "option-configure-toolbar": "设置移动端工具栏", "option-added-options": "已添加的选项", "option-more-toolbar-options": "更多工具栏选项", "option-attach": "插入附件", "option-add-command": "添加命令", "option-add-command-description": "选择需要添加到工具栏的命令。" } }, "editor": { "search": { "placeholder-find": "查找……", "placeholder-replace": "替换……", "label-exit-search": "退出搜索", "label-next": "后一个", "label-previous": "前一个", "label-find-all": "查找全部", "label-replace": "替换", "label-replace-all": "全部替换" }, "link-suggestion": { "label-type-hash": "输入 #", "label-link-heading": "可以链接到标题", "label-type-block": "输入 ^", "label-link-block": "链接文本块", "label-type-pipe": "输入 |", "label-change-display-text": "指定显示的文本", "label-no-alias": "显示文本", "label-no-heading": "小标题", "label-no-match-found": "未找到匹配结果", "label-image-size": "图片大小: {{size}}px ", "label-accept": "接受", "label-new-footnote": "新建脚注…" }, "spellcheck": { "no-suggestion": "没有建议……", "add-to-dictionary": "添加到词典" }, "menu": { "edit-link": "编辑链接", "edit-tag": "编辑标签", "label-edit-block": "编辑这个区块", "label-delete-footref-and-note": "删除脚注和引用" }, "heading-suggestion": { "label-no-heading": "没有小标题", "label-heading-level": "小标题 {{level}}" }, "print-modal": { "title": "导出为 PDF", "caption": "使用以下设置将 \"{{filename}}\" 导出为 PDF。", "setting-page-size": "页面尺寸", "setting-page-size-a3": "A3", "setting-page-size-a4": "A4", "setting-page-size-a5": "A5", "setting-page-size-legal": "法定用纸", "setting-page-size-letter": "信纸", "setting-page-size-tabloid": "小报用纸", "setting-include-file-name": "将笔记名作为标题", "setting-landscape": "横向打印", "setting-margin": "页边距", "setting-margin-default": "默认", "setting-margin-minimal": "小", "setting-margin-none": "无", "setting-downscale-percent": "缩放百分比", "button-export-to-pdf": "导出" }, "link-popover": { "tooltip-follow-link": "打开链接", "tooltip-open-link": "打开链接", "tooltip-search-tag": "搜索标签" } }, "interface": { "embed-cannot-find": "未找到:", "label-unable-to-find-section": "在 {{file}} 中未找到 “{{subpath}}”", "embed-open-in-default-app-tooltip": "在默认应用中打开", "empty-sidebar": "侧边栏为空,请尝试拖动一个标签页到此处。", "sidebar-expand": "展开", "sidebar-collapse": "收起", "msg-fail-to-save-file": "\"{{filepath}}\" 文件保存失败。 {{message}}。", "msg-failed-to-load-plugin": "“{{plugin}}” 插件加载失败。", "msg-plugin-error": "插件 “{{plugin}}” 在加载时遇到错误", "msg-failed-to-load-file": "“{{filepath}}” 打开失败。", "msg-failed-to-open-href": "无法打开:“{{href}}”", "no-file": "未打开文件", "msg-file-changed": "\"{{file}}\" 已被外部修改,正在自动合并更改。", "switch-vault": "打开其他仓库", "manage-vaults": "管理仓库……", "help": "帮助", "settings": "设置", "drag-to-rearrange": "拖动可调整布局", "msg-switched-to-read": "已将默认视图切换为阅读视图。", "msg-switched-to-edit": "已将默认视图切换为编辑视图。", "msg-upgrade-installer": "若要使用此功能,请到我们的网站上下载并安装 Obsidian 的最新版本。", "msg-slow-boot": "检测到启动时间缓慢。", "msg-desktop-only-feature": "此功能仅在桌面应用程序中可用。", "tooltip-restore-default-settings": "恢复默认设置", "label-copy": "复制到剪贴板", "label-copy-short": "复制", "copied_generic": "已复制到剪贴板", "copied": "{{item}} 已复制到你的剪贴板", "copy_failed": "无法复制到剪贴板", "prompt-filter": "筛选…", "url": "Url", "msg-codeblock-render-error": "渲染代码块时遇到错误。", "msg-open-file-through-uri": "打开文件 \"{{path}}\"", "msg-file-not-found-through-uri": "文件 \"{{name}}\" 未找到。", "delete-action-short-name": "删除", "msg-indexing": "Obsidian 正在为当前仓库创建索引……\n索引只会进行一次。\n索引完成前一些功能可能无法使用。", "msg-indexing-desc": "索引完成前部分功能可能不可用", "msg-indexing-complete": "索引完成。", "msg-sandbox-vault": "这是一个沙箱仓库。\n该仓库中所有修改将不会保存。", "msg-indexed-db-not-supported": "IndexedDB 是此功能的必要条件,但目前已被禁用。", "msg-indexed-db-i-o-s": "如果你在使用 iOS 的 Lockdown Mode,请将 Obsidian 从 \"Configure Web Browsing\" 设置中排除。", "label-enter-to-create": "按下回车以创建", "label-update-available": "可以更新", "label-debug-info": "调试信息", "button-learn-more": "了解更多", "button-not-now": "下次再说", "button-add": "添加", "button-manage": "管理", "label-new-tab": "新标签页", "option-hide-ribbon": "隐藏功能区", "msg-tab-busy": "当前标签页正忙,请稍后再试", "formatting": { "label-formatting": "文本格式", "label-paragraph": "段落设置", "label-insert": "插入", "insert-link": "新增链接", "insert-external-link": "新增外部链接", "insert-callout": "标注", "insert-horizontal-rule": "分隔线", "insert-code-block": "代码块", "insert-math-block": "数学块", "insert-table": "表格", "insert-footnote": "脚注", "toggle-bold": "加粗", "toggle-code": "代码", "toggle-comments": "注释", "toggle-highlight": "高亮", "toggle-italics": "倾斜", "toggle-strikethrough": "删除线", "toggle-math": "数学", "toggle-bullet-list": "无序列表", "toggle-checklist": "任务列表", "toggle-numbered-list": "有序列表", "set-heading": "{{level}}级标题", "no-heading": "正文", "clear": "清除格式", "toggle-quote": "引用" }, "empty-state": { "no-file-open": "未打开文件", "create-new-file": "创建新文件", "go-to-file": "打开文件", "see-recent-files": "查看近期文件", "close": "关闭标签页", "close-all": "关闭所有“{{id}}”的标签页 ({{count}})", "unknown-pane-title": "插件不再活动", "unknown-pane-desc": "创建此标签页的插件({{type}})已不再活动" }, "release-notes": { "tab-title": "版本说明 {{version}}", "msg-missing-release-notes": "{{version}}版本无可用说明", "msg-failed-to-load": "无法加载{{version}}版本的说明" }, "menu": { "edit-view": "该标签页处于编辑视图中", "read-view": "该标签页处于阅读视图中", "ribbon": "功能区", "left-sidebar": "左侧边栏", "right-sidebar": "右侧边栏", "switch-to-edit-view": "点击此处切换至编辑视图", "switch-to-read-view": "点击此处切换至阅读视图", "mod-click-open-new-tab": "{{key}}+单击以在新标签页中打开", "find": "查找……", "replace": "替换……", "edit": "编辑", "remove": "移除", "rename": "重命名", "preview": "预览", "more-options": "更多选项", "close": "关闭", "close-all": "全部关闭", "close-tabs-with-count": "关闭 {{count}} 个标签页", "close-tabs-with-count_plural": "关闭 {{count}} 个标签页", "close-others": "关闭其他标签页", "close-after": "关闭右侧所有标签页", "pin": "锁定", "unpin": "取消锁定", "unlink-tab": "取消标签页关联", "link-tab": "关联标签页……", "toggle-source-mode": "源码模式", "toggle-reading-view": "阅读视图", "add-property": "增加笔记属性", "delete-file": "删除文件", "create-file": "创建此文件", "open-link": "打开链接", "open-in-new-tab": "在新标签页中打开", "open-to-the-right": "在新标签组中打开", "copy-url": "复制链接", "copy": "复制", "cut": "剪切", "paste": "粘贴", "paste-as-plain-text": "以纯文本形式粘贴", "lookup-selection": "查询 “{{selection}}”", "select-all": "全选", "rename-heading": "重命名当前小标题", "rename-blockid": "重命名当前块 ID", "open-in-new-window": "在新窗口中打开", "move-to-new-window": "移动至新窗口", "open-in-browser": "在浏览器中打开", "stack-tabs": "堆叠标签页", "unstack-tabs": "取消堆叠标签页", "open-linked-view": "打开当前笔记的……" }, "tooltip": { "click-to-expand": "点击以展开", "click-to-collapse": "点击以折叠", "alias": "别名", "not-created-yet": "尚未创建,请选择创建" }, "start-screen": { "label-version": "版本", "label-create-local-vault": "创建本地仓库", "option-open-folder-as-vault": "打开本地仓库", "option-open-folder-as-vault-description": "将一个本地文件夹作为仓库在 Obsidian 中打开。", "option-create-vault": "新建仓库", "option-create-vault-description": "在指定文件夹下创建一个新的仓库。", "option-connect-obsidian-sync": "同步远程仓库", "option-connect-obsidian-sync-description": "将 Obsidian 同步服务中的远程仓库同步到本地。", "option-new-vault-name": "仓库名称", "option-new-vault-name-description": "给新仓库起一个名字", "option-new-vault-location": "仓库位置", "option-new-vault-location-description": "指定新仓库的存放位置。", "label-new-vault-location-preview": "新仓库将存放于:", "option-reveal-vault-in-explorer": "在资源管理器中显示仓库文件夹", "option-reveal-vault-in-explorer-mac": "在访达中显示仓库文件夹", "option-rename-vault": "重命名仓库……", "option-copy-vault-i-d": "复制仓库 ID", "msg-error-rename-exists": "该名称已被使用。", "msg-error-nested": "不能将仓库移动到其子文件夹下。", "msg-error-rename-open": "不能重命名正在打开的仓库。", "msg-rename-failed": "重命名仓库失败。", "msg-rename-success": "成功重命名仓库。", "option-move-vault": "移动仓库……", "msg-move-select-dest": "选择要移动到的文件夹", "msg-error-move-exists": "当前路径中已存在一个仓库。", "msg-error-move-open": "不能移动正在打开的仓库。", "msg-move-failed": "移动仓库失败。", "msg-move-success": "移动仓库成功。", "option-remove": "从仓库列表中移除", "button-quick-start": "快速开始", "button-open": "打开", "button-browse": "浏览", "button-connect": "连接", "button-create-vault": "创建", "button-back": "返回", "msg-empty-vault-name": "仓库名称不能为空。", "msg-trailing-dot-vault-name": "仓库名称不能以英文句号.结尾。", "msg-invalid-folder": "请选择一个有效的文件夹。", "msg-failed-to-create-vault": "无法创建仓库文件夹。", "msg-failed-to-create-vault-at-location": "无法在指定位置创建仓库文件夹。请仔细检查位置和权限。", "msg-error-failed-to-open-vault": "无法打开。", "msg-error-remove-current-open-vault": "无法删除当前打开的仓库。", "option-get-help": "获取帮助", "option-user-email": "邮箱", "placeholder-your-email": "你的邮箱……", "option-user-password": "密码", "placeholder-your-password": "你的密码……", "button-sign-in": "登录", "button-setup": "设置", "option-connect-vault-desc": "将该远程仓库同步到当前设备中。", "tooltip-own-vault": "这是你自己的远程仓库。", "tooltip-shared-vault": "这是他人分享给你的远程仓库。", "mobile": { "label-start-screen": "您的思想由您掌控", "label-synced": "已同步", "label-not-synced": "未同步", "label-none": "无", "label-recommended": "推荐", "label-start-screen-desc": "Obsidian将笔记存储在设备上,因此您可以快速私密地访问,甚至离线使用。\n您的数据存储在称为**仓库**的安全本地文件夹中。", "option-create": "创建仓库", "option-use-existing": "使用现有仓库", "label-sync-intro": "要在其他设备访问笔记需设置同步", "label-sync-intro-desc": "由于Obsidian将笔记存储在设备上,如需在手机或电脑间访问,需设置同步。\n您可以立即设置,或先开始写作稍后再设置。", "option-setup-sync": "设置同步", "option-skip": "Skip for now", "option-skip-short": "跳过", "label-vault-create": "Choose a name for your vault.", "button-create": "创建仓库", "label-sync-setup": "同步设置", "label-sync-setup-desc": "在Obsidian账户创建同步仓库,以便跨设备访问数据", "label-remote-vault-create": "同步加密", "option-encryption-custom": "端到端加密", "option-encryption-custom-desc": "提供最高安全性,但需妥善保管加密密码", "option-encryption-managed": "标准加密", "option-encryption-managed-desc": "使用Obsidian管理的密钥保护传输中和服务器数据", "label-sync-settings": "同步设置", "label-sync-settings-desc": "同步到此设备时要排除哪些文件夹或文件?", "button-start": "开始同步", "label-sign-in-or-sign-up": "创建Obsidian账户或登录", "option-sign-up": "注册", "option-sign-in": "登录", "button-resend-email": "重新发送邮件", "label-remote-vault-options": "您有现有同步仓库", "label-remote-vault-options-desc": "要创建新仓库还是连接现有同步仓库?", "option-remote-create": "新建同步仓库", "option-remote-choose": "选择现有仓库", "button-logout": "Log Out", "button-forgot-password": "忘记密码", "label-vault-name": "仓库名称", "label-vault-location": "仓库位置", "label-vault-location-desc": "新仓库将保存在{{vaultLocation}}", "label-region-selection": "地区", "label-region-selection-help": "选择附近服务器地区可加速同步", "label-encryption-key": "加密密钥", "label-encryption-key-help": "此密码后续不可更改。如遗忘密码,同步服务器上的远程数据将永久无法访问", "placeholder-vault-name": "我的仓库", "opt-region-selection-automatic": "自动", "label-remote-vault-selection": "选择仓库", "label-remote-vault-selection-desc": "账户**{{email}}**有可连接的现有仓库", "label-sign-in": "登录Obsidian账户", "label-forgot-password": "忘记密码", "button-reset-password": "重置密码", "msg-password-reset": "我们已发送密码重置邮件至{{email}}", "label-sync-method-selection": "选择笔记同步方式", "label-sync-method-selection-desc": "需同步数据才能在设备间使用Obsidian", "label-sync-pro1": "全设备全平台无缝同步", "label-sync-pro2": "采用最强端到端加密标准", "label-sync-pro3": "需要Obsidian账户", "label-icloud-con1": "仅限iOS和macOS", "label-icloud-con2": "默认不加密", "label-third-party-desc1": "需第三方插件或工具", "label-third-party-desc2": "可能默认不加密", "opt-use-obsidian-sync": "使用Obsidian同步", "opt-use-icloud": "使用iCloud", "opt-use-other": "Use Third-party sync", "opt-learn-other-sync": "其他同步方式", "opt-use-supported": "使用官方支持的同步方式", "label-sync-restore": "您的仓库位于何处?", "label-obsidian-sync": "Obsidian同步", "label-icloud": "iCloud", "label-other": "其他", "label-other-sync": "第三方同步", "label-local-folder": "本设备", "option-connect-icloud": "连接iCloud", "option-connect-other": "连接其他同步服务", "option-connect-sync": "连接Obsidian同步", "option-connect-local-folder": "选择文件夹", "label-sync-other": "其他同步方式", "label-sync-other-desc": "Obsidian官方支持两种同步方式:**Obsidian同步**和**iCloud**。\n但由于您完全掌控数据,也可使用其他同步选项。\n包括需要高级设置的第三方插件和工具。\n如需使用替代方式,请**创建仓库**并按插件或第三方提供商的说明操作", "label-email-entry": "输入邮箱", "label-email-entry-desc": "创建Obsidian账户需提供邮箱", "label-signup": "输入姓名和密码", "email-verification": "连接Obsidian同步", "email-verification-desc": "您将很快收到发送至**{{email}}**的连接说明邮件", "icloud-missing": "iCloud", "icloud-missing-desc": "未检测到iCloud仓库,可能原因如下:", "icloud-missing-reason1": "仓库位于设备当前登录的其他iCloud账户", "icloud-missing-reason2": "仓库未存储在iCloud Drive顶层Obsidian文件夹", "i-cloud-unsupported": "不支持iCloud", "i-cloud-unsupported-desc": "iCloud同步仅限Apple设备。如当前使用iCloud同步,请了解如何迁移至其他同步服务", "allow-file-access": "允许文件访问", "msg-login-pending": "登录中…", "msg-name-required": "需填写仓库名称", "msg-new-email-success": "已重新发送确认邮件", "msg-new-email-failure": "重新发送邮件失败", "msg-invalid-vault": "仓库位置必须是文件夹" } }, "starter-content": { "welcome-filename": "欢迎", "welcome-file-content": "这是你的新*仓库*。\n\n写点笔记,[[创建链接]],或者试一试[导入器](https://help.obsidian.md/Plugins/Importer)插件!\n\n当你准备好了,就将该笔记文件删除,使这个仓库为你所用。" }, "drag-and-drop": { "insert-link-here": "在此处插入链接", "insert-links-here": "在此处插入链接", "move-into-folder": "移动至 \"{{folder}}\"", "star-this-file": "为此文件打上星标", "star-these-files": "为这些文件打上星标", "open-in-this-tab": "在当前标签页中打开", "open-as-tab": "作为新的标签页打开" }, "window": { "maximize": "最大化", "minimize": "最小化", "restore-down": "向下还原", "close-window": "关闭", "go-back": "后退", "go-forward": "前进" }, "start-up": { "loading-obsidian": "正在加载 Obsidian……", "obsidian-load-error": "加载 Obsidian 时发生错误。", "button-reload-app": "重新加载", "button-reload-app-in-safe-mode": "在安全模式下重新启动 Obsidian", "button-open-another-vault": "打开另一个仓库", "loading-plugins": "加载插件中……", "msg-plugin-hang": "插件 “{{plugin}}” 加载时间过长。", "loading-vault": "加载仓库中……", "msg-failed-to-load-vault": "加载仓库失败: ", "loading-cache": "加载缓存中……", "loading-workspace": "加载工作区中……" }, "mobile": { "action-import": "导入仓库中", "action-insert-text-desc": "将文本插入到文件:", "action-choose-file-to-insert": "选择要插入的文件", "action-insert-text-into-file": "插入文本至文件 {{filename}}", "action-insert-link-into-file": "插入链接至文件 {{filename}}", "action-show-switcher": "显示标签页概览", "msg-importing": "导入中……", "msg-import-success": "导入成功", "msg-failed-to-import-file": "导入文件 {{filename}} 失败", "msg-back-again-to-exit": "再次点击返回以退出", "feedback": { "label-feedback": "反馈", "label-feedback-desc": "喜欢Obsidian吗?请给我们评分", "action-rate": "评分", "action-dismiss": "忽略" } }, "help-screen": { "label-official-help-site": "官方帮助网站", "label-official-help-site-desc": "可阅读不同语言的 Obsidian 官方帮助文档。", "action-visit": "浏览", "label-discord-chat": "Discord 频道", "label-discord-chat-desc": "Discord 是一个与世界上 Obsidian 用户交流的好地方。", "action-join": "加入", "label-forum": "官方论坛", "label-forum-desc": "在官方论坛,你可以发布功能请求,提交 Bug,或是和其他用户互帮互助,就软件使用、知识管理等话题进行深入讨论。", "label-sandbox-vault": "沙箱仓库", "label-sandbox-vault-desc": "尝试各种新功能的好地方。不过请注意,该仓库中所有修改都不会被保存。" } }, "commands": { "save-file": "保存当前文件", "download-attachments": "下载当前文件内的所有附件", "follow-cursor-link": "打开光标处的链接", "open-cursor-link-in-new-tab": "在新标签页中打开光标处链接", "open-cursor-link-to-the-right": "在新标签组中打开光标处链接", "open-cursor-link-in-new-window": "在新窗口中打开光标处链接", "navigate-tab-above": "聚焦上方标签页组", "navigate-tab-below": "聚焦下方标签页组", "navigate-tab-left": "聚焦左侧标签页组", "navigate-tab-right": "聚焦右侧标签页组", "toggle-pin": "解锁/锁定", "split-right": "左右分屏", "split-down": "上下分屏", "toggle-stacked-tabs": "堆叠/取消堆叠标签页", "navigate-back": "返回", "navigate-forward": "前进", "use-dark-mode": "使用深色模式", "use-light-mode": "使用浅色模式", "change-theme": "更换主题", "search-current-file": "在当前笔记中查找", "search-replace-current-file": "在当前笔记中查找并替换", "add-property": "增加笔记属性", "label-sort-property-a-to-z": "名称 (A to Z)", "label-sort-property-z-to-a": "名称 (Z to A)", "add-alias": "添加别名", "clear-properties": "清除笔记属性", "open-settings": "打开设置", "open-help": "查看帮助", "toggle-edit": "切换编辑/阅读视图", "toggle-source-mode": "切换实时阅览/源码模式", "delete-current-file": "删除当前文件", "new-tab": "新标签页", "show-trash": "打开回收站", "close-all-tabs": "关闭所有标签页", "close-active-tab": "关闭当前标签页", "close-others-in-tab-group": "关闭标签页分组中其他标签页", "close-other-tabs": "关闭其他标签页", "close-tab-group": "关闭此标签页分组", "toggle-left-sidebar": "折叠/展开左侧边栏", "toggle-ribbon": "显示/隐藏功能区", "toggle-right-sidebar": "折叠/展开右侧边栏", "toggle-default-new-tab-mode": "切换新标签页的默认视图", "add-cursor-above": "在上方添加光标", "add-cursor-below": "在下方添加光标", "focus-editor": "将焦点切换至编辑区", "toggle-fold-properties": "折叠/展开当前笔记属性", "toggle-fold": "折叠/展开当前行", "fold-all": "折叠所有标题和列表", "unfold-all": "展开所有标题和列表", "fold-more": "折叠", "fold-less": "展开", "swap-line-up": "与上一行互换", "swap-line-down": "与下一行互换", "remove-heading": "移除小标题格式", "toggle-heading": "设为小标题 {{level}}", "toggle-bold": "加粗/取消加粗", "toggle-italics": "倾斜/取消倾斜", "toggle-highlight": "高亮/取消高亮", "toggle-comments": "注释/取消注释", "clear-formatting": "清除格式", "insert-link": "插入链接", "toggle-spellcheck": "开启/关闭拼写检查", "delete-paragraph": "删除段落", "toggle-checklist": "切换待办事项状态", "cycle-list-checklist": "切换列表/待办事项", "insert-callout": "插入标注", "insert-code-block": "插入代码块", "insert-math-block": "插入数学块", "insert-horizontal-rule": "插入分隔线", "insert-table": "插入表格", "insert-footnote": "插入脚注", "edit-file-title": "编辑文件名", "copy-path": "复制当前文件的路径", "copy-url": "复制 Obsidian URI", "export-pdf": "导出为 PDF", "reload": "重新加载 Obsidian(不保存当前编辑内容)", "undo-close-tab": "重新打开标签页", "context-menu": "在光标处显示上下文菜单", "show-debug-info": "显示调试信息", "open-sandbox-vault": "打开沙盒仓库", "always-on-top": "将当前窗口置顶", "zoom-in": "放大", "zoom-out": "缩小", "reset-zoom": "重置缩放", "toggle-preview": "切换编辑/预览视图", "move-to-new-window": "将当前标签页移动至新窗口", "open-in-new-window": "在新窗口中打开当前标签页", "rename-current-file": "重命名当前文件", "go-to-prev-tab": "转到上一个标签", "go-to-next-tab": "转到下一个标签", "go-to-last-tab": "转到最后一个标签", "go-to-nth-tab": "转到标签 #{{n}}", "show-release-notes": "显示版本日志" }, "dialogue": { "label-link-affected": "这将影响 {{files}} 中的 {{links}}。", "msg-updated-links": "更新 {{files}} 中的 {{links}}。", "label-update-links": "更新链接", "label-confirm-update-link-to-file": "你是否需要更新与此文件相关联的内部链接?", "button-always-update": "总是更新", "button-just-once": "仅此一次", "button-do-not-update": "不做更新", "label-confirm-deletion": "你确定要删除 \"{{filename}}\" 吗?", "label-move-to-system-trash": "它将被移动到系统回收站里。", "label-move-to-vault-trash": "它将被移动到软件回收站(即仓库目录中隐藏的 \".trash\" 文件夹)里。", "label-permanent-delete": "它将被永久删除。", "label-non-empty-folder": "这不是空白文件夹。", "label-delete-folder-warning": "如果继续,此文件夹内的所有文件将被删除。", "label-delete-folder": "删除文件夹", "button-delete": "删除", "button-delete-do-not-ask-again": "删除,并且不要再询问。", "label-do-not-ask-again": "不再询问", "label-existing-backlink": "当前有 {{count}} 个指向该笔记的链接。", "label-existing-backlink_plural": "当前有 {{count}} 个指向该笔记的链接。", "label-delete-file": "删除文件", "label-download-attachments": "下载附件", "label-no-attachments": "当前笔记中不存在外部附件。", "label-downloaded-attachments": "已下载 {{count}} 个附件。", "label-downloaded-attachments_plural": "已下载 {{count}} 个附件。", "msg-files-updated": "已上传 {{count}} 个文件。", "msg-files-updated_plural": "已上传 {{count}} 个文件。", "msg-files-reverted": "已还原对 {{count}} 个文件的更改。", "msg-files-reverted_plural": "已还原对 {{count}} 个文件的更改。", "button-manage": "管理", "button-view": "查看", "button-confirm": "确认", "button-cancel": "取消", "button-download": "下载", "button-done": "完成", "button-save": "保存", "button-stop": "暂停", "button-continue": "继续", "button-choose": "选择", "button-retry": "重试", "button-update": "更新", "button-undo": "撤销", "preparing-pdf": "正在生成 PDF……", "label-rename-file": "重命名文件", "label-rename-file-generic": "文件名", "label-new-name": "新文件名", "msg-rename-success": "已重命名该文件。", "msg-merge-failed": "合并文件失败:{{message}}", "msg-file-or-folder-not-found": "文件或文件夹“{{path}}”不存在。", "msg-heading-empty": "标题不能为空", "msg-block-id-empty": "块 ID 不能为空", "msg-block-id-invalid": "块 ID 只能包含字母、数字和破折号", "label-rename-heading": "重命名小标题", "label-rename-blockid": "重命名块 ID" }, "menu-items": { "new-file": "创建笔记", "new-file-to-the-right": "在右侧新建笔记", "new-window": "新窗口", "open-switcher": "快速切换……", "open-vault": "打开仓库……", "close-tab": "关闭标签页", "close-window": "关闭窗口", "find": "查找", "replace": "替换", "insert-callout": "标注", "insert-markdown-link": "Markdown 链接", "insert-wikilink": "链接", "set-heading": "小标题 {{level}}", "no-heading": "无小标题", "insert-quote": "引用", "export-pdf": "导出 PDF", "insert-attachment": "插入附件……", "insert-codeblock": "代码块", "insert-math-block": "数学块", "insert-table": "表格", "insert-footnote": "脚注", "toggle-bullet-list": "无序列表", "toggle-numbered-list": "有序列表", "toggle-checklist": "任务列表", "toggle-bold": "加粗", "toggle-code": "代码块", "toggle-comment": "注释", "toggle-italics": "倾斜", "toggle-inline-math": "数学", "toggle-highlight": "高亮", "toggle-strikethrough": "删除线", "toggle-comments": "注释", "folding-menu": "折叠", "fold-all": "折叠全部", "unfold-all": "展开全部", "fold-more": "折叠", "fold-less": "展开", "source-mode": "源码模式", "reading-view": "阅读视图", "show-debug-info": "显示调试信息", "open-sandbox": "打开沙盒仓库", "navigate-back": "后退", "navigate-forward": "前进", "toggle-left-sidebar": "折叠/展开左侧边栏", "toggle-right-sidebar": "折叠/展开右侧边栏", "toggle-ribbon": "显示/隐藏功能区", "split-right": "左右分屏", "split-down": "上下分屏", "release-notes": "更新说明" }, "plugins": { "name": "插件", "file-explorer": { "name": "文件列表", "desc": "查看仓库中所有文件。", "action-open": "打开文件列表", "action-show": "显示文件列表", "action-create-note": "新建笔记", "action-create-folder": "新建文件夹", "action-create-note-in-current-tab": "在当前标签页中建立笔记", "action-create-note-to-the-right": "在右侧创建笔记", "action-auto-reveal": "自动显示当前文件", "action-collapse-all": "全部折叠", "action-expand-all": "全部展开", "action-new-note": "新建笔记", "action-new-folder": "新建文件夹", "action-change-sort": "排序", "action-reveal-file": "在文件列表中显示当前文件", "action-reveal-active-file": "在文件列表中显示当前文件", "command-make-a-copy": "复制当前文件", "command-make-a-copy-mac": "复制当前文件", "command-move-file": "将文件移动到其他文件夹", "action-new-folder-with-count": "使用选中的 {{count}} 个对象创建新文件夹", "action-new-folder-with-count_plural": "使用选中的 {{count}} 个对象创建新文件夹", "action-move-file": "将文件移动到……", "action-move-folder": "将文件夹移动到……", "action-move-items": "将 {{count}} 个文件移动至……", "prompt-type-folder": "输入文件夹名称", "label-no-folders": "未找到相关文件夹。", "instruction-navigate": "导航", "instruction-move": "移动", "instruction-create": "建立", "instruction-dismiss": "退出", "label-sort-a-to-z": "文件名 (A-Z)", "label-sort-z-to-a": "文件名 (Z-A)", "label-sort-new-to-old": "编辑时间(从新到旧)", "label-sort-old-to-new": "编辑时间(从旧到新)", "label-sort-created-old-to-new": "创建时间(从旧到新)", "label-sort-created-new-to-old": "创建时间(从新到旧)", "menu-opt-new-note": "新建笔记", "menu-opt-new-folder": "新建文件夹", "menu-opt-rename": "重命名", "menu-opt-delete": "删除", "menu-opt-make-copy": "创建副本", "menu-opt-make-copy-mac": "创建副本", "msg-invalid-characters": "文件名不能包含下列字符: ", "msg-unsafe-characters": "如果文件名中包含以下任何一个字符,链接将不起作用:", "msg-file-already-exists": "已经存在一个同名文件", "msg-empty-file-name": "文件名不能为空。", "msg-bad-dotfile": "文件名不能以句点开头。", "tooltip-modified-time": "最后修改于 {{time}}", "tooltip-created-time": "创建于 {{time}}", "tooltip-folders-files-count": "{{fileCount}}文件, {{folderCount}}文件夹", "label-untitled-file": "未命名", "label-untitled-folder": "未命名", "msg-set-attachment-folder": "现在起附件将被保存在 \"{{path}}\" 。" }, "search": { "name": "搜索", "desc": "在所有笔记中搜索关键词。", "action-open-search": "在所有文件中搜索", "label-collapse-results": "折叠搜索结果", "label-match-case": "区分大小写", "label-explain-search-term": "说明搜索含义", "label-more-context": "显示更多上下文", "label-result-count": "{{count}} 项结果", "label-result-count_plural": "{{count}} 项结果", "label-result-max": "{{count}}+ 项结果", "label-toggle-search-settings": "搜索设置", "prompt-start-search": "输入并开始搜索……", "label-match-text": "匹配文本: ", "label-match-regex": "匹配正则表达式: ", "label-match-exact-text": "精确匹配文本: ", "label-match-greater-than": "大于:", "label-match-less-than": "小于:", "label-match-true": "值为真", "label-match-false": "值为假", "label-match-empty": "值为空", "label-match-property": "包含笔记属性:", "label-match-all": "匹配所有: ", "label-match-any": "匹配任何: ", "label-excluding": "不包括: ", "label-case-sensitive": "区分大小写", "label-case-insensitive": "忽略大小写", "label-match-file-path": "匹配文件路径: ", "label-match-file-name": "匹配文件名: ", "label-match-content": "匹配文件内容: ", "label-match-task": "匹配任务列表:", "label-match-task-todo": "匹配待办任务:", "label-match-task-done": "匹配已完成任务:", "label-match-line": "匹配行: ", "label-match-block": "匹配块:", "label-match-section": "匹配章节: ", "label-match-tag": "匹配标签: ", "label-no-matches": "未找到匹配结果。", "matches-with-count": "…… 文中还有 {{count}} 处匹配。", "matches-with-count_plural": "…… 文中还有 {{count}} 处匹配。", "label-copy-search-results": "复制搜索结果", "button-copy-results": "复制结果", "msg-successfully-copied": "结果已复制到剪贴板。", "option-show-path": "显示路径", "option-show-path-description": "显示文件的完整路径,而不只是文件名。", "option-link-style": "链接样式", "option-link-style-description": "(可选)将结果中的每个文件转换为链接。", "option-choice-link-style-none": "无", "option-choice-link-style-wikilink": "Wiki 链接", "option-choice-link-style-markdown-link": "Markdown 链接", "option-list-prefix": "列表前缀", "option-list-prefix-description": "(可选)给结果中每个文件添加列表项前缀。", "option-choice-list-style-none": "无", "option-choice-list-style-dash": "无序列表 (-)", "option-choice-list-style-asterisk": "无序列表 (*)", "option-choice-list-style-numbered": "有序列表", "tooltip-clear-search": "清除搜索", "label-search-options": "搜索选项", "label-properties-group": "笔记属性", "label-tags-group": "标签", "tooltip-read-more": "了解更多", "label-history": "搜索历史", "tooltip-clear-history": "清除搜索历史", "label-path-option-description": "匹配文件路径", "label-file-name-option-description": "匹配文件名", "label-tag-option-description": "搜索标签", "label-line-option-description": "以行为单位搜索关键词", "label-section-option-description": "以章节为单位搜索关键词", "label-property-option-description": "匹配笔记属性", "menu-opt-search-for": "查找 \"{{keyword}}\"", "menu-opt-search-in-folder": "在文件夹中查找" }, "quick-switcher": { "name": "快速切换", "desc": "输入关键词即可跳转到相应文件(按下 Ctrl/Cmd+O 激活此功能)。", "short-name": "快速切换", "action-open": "打开快速切换", "instruction-navigate": "导航", "instruction-open": "打开", "instruction-open-in-new-tab": "在新标签页中打开", "instruction-open-to-the-right": "在新标签组中打开", "instruction-create": "创建", "instruction-dismiss": "退出", "instruction-select": "选择", "label-no-note-create-new": "未发现该笔记。按下回车键以创建该笔记。", "prompt-type-file-name": "输入以切换或创建文件……", "label-enter-to-create": "创建该笔记", "tooltip-not-created-yet": "该笔记尚未建立,选择以创建", "option-show-existing-only": "仅显示已创建的笔记", "option-show-existing-only-description": "是否在快速切换中显示那些已赋予名称、但尚未建立的笔记。", "option-show-attachments": "显示附件", "option-show-attachments-desc": "在快速切换中显示如图片、视频、PDF 等附件文件。", "option-show-all-file-types": "显示所有类型文件", "option-show-all-file-types-desc": "显示所有类型文件,即使是那些无法在 Obsidian 中打开的文件。这些文件将使用该文件类型的系统默认应用打开。" }, "graph-view": { "name": "关系图谱", "desc": "总览笔记间的联系。", "action-open": "查看关系图谱", "action-open-local": "打开局部关系图", "action-copy-screenshot": "复制截图", "tab-title": "{{displayText}} 的关系图", "label-filters": "筛选", "prompt-filter-nodes": "搜索文件……", "option-depth": "深度", "option-depth-description": "显示从当前节点出发经 n 段链接可到达的节点,n 为设置值。", "option-neighbor-links": "其他节点间的链接", "option-neighbor-links-description": "显示其他节点之间的链接", "option-forelinks": "正向链接", "option-forelinks-description": "显示图中每个节点的正向链接。", "option-backlinks": "反向链接", "option-backlinks-description": "显示图中每个节点的反向链接。", "option-show-tags": "标签", "option-show-tags-description": "在图谱中显示标签以及与之相关的链接", "option-show-attachments": "附件", "option-show-attachments-description": "在图谱中显示附件以及与之相关的链接", "option-show-existing-files-only": "仅显示已创建的笔记", "option-show-existing-files-only-description": "开启后,图谱中不显示未被创建的笔记以及与之相关的链接。", "option-show-orphans": "孤立文件", "option-show-orphans-description": "开启后,在图谱中显示未链接到任何其他文件的笔记", "label-display": "外观", "option-show-arrows": "箭头", "option-show-arrows-description": "放大后,显示链接的箭头", "option-text-fade": "文本透明度", "option-node-size": "节点大小", "option-link-thickness": "连线粗细", "label-forces": "力度", "option-center-force": "图谱向心力", "option-link-force": "相连节点间的吸引力", "option-link-distance": "连线长度", "option-repel-force": "节点间的排斥力", "tooltip-open-graph-settings": "打开图谱设置", "msg-screenshot-copied": "屏幕截图已复制到剪贴板。", "label-groups": "颜色组", "placeholder-enter-query": "请输入检索式……", "tooltip-delete-graph": "删除组", "button-new-group": "新建颜色组", "tooltip-click-to-change-drag-to-reorder": "点击可更改颜色\n拖动可对颜色组排序", "action-timelapse": "播放关系图谱生长动画", "tooltip-start-timelapse-animation": "播放关系图谱生长动画", "button-animate-timelapse": "播放动画" }, "backlinks": { "name": "反向链接", "desc": "在状态栏中显示指向当前笔记的链接的情况。", "action-open": "在新标签页中打开反向链接列表", "action-show": "显示反向链接列表", "action-open-for-current": "在新标签页中打开反向链接列表", "action-toggle-backlinks-in-document": "在标签页中显示反向链接", "menu-opt-backlinks-in-document": "在标签页中显示反向链接", "label-linked-mentions": "链接当前文件", "label-no-backlinks": "没有笔记链接当前文件", "label-unlinked-mentions": "提到当前文件名", "label-show-search": "筛选", "label-link-button-text": "转为链接", "tab-title": "{{displayText}} 的反向链接列表", "label-no-unlinked-mentions": "没有笔记提到当前文件名", "ellipsis": "……", "option-backlink-in-document": "在标签页中显示反向链接", "option-backlink-in-document-desc": "在标签页底部显示当前笔记的反向链接。" }, "outgoing-links": { "name": "出链", "desc": "显示当前笔记中已存在的链接并检测可能存在的链接。", "action-open": "在新标签页中打开出链列表", "action-show": "显示出链列表", "action-open-for-current": "在新标签页中打开当前笔记的出链列表", "tab-title": "{{displayText}} 的出链列表", "label-links": "当前笔记中的链接", "label-no-links": "当前笔记中不存在链接", "label-unlinked-mentions": "当前笔记中潜在的链接", "tooltip-link-file": "链接该文件", "tooltip-not-created": "尚未创建" }, "tag-pane": { "name": "标签列表", "short-name": "标签", "desc": "显示所有标签及其出现的次数。", "action-show": "显示标签列表", "label-no-tags": "未发现标签。", "label-sort-by-name-a-to-z": "标签名称 (A-Z)", "label-sort-by-name-z-to-a": "标签名称 (Z-A)", "label-sort-by-frequency-high-to-low": "使用频次 (从高到低)", "label-sort-by-frequency-low-to-high": "使用频次 (从低到高)", "action-show-nested-tags": "显示嵌套情况", "action-collapse-all": "全部折叠", "action-expand-all": "全部展开" }, "footnotes-pane": { "name": "脚注视图", "short-name": "脚注", "desc": "显示当前笔记的脚注列表。", "action-show": "显示脚注", "label-no-footnotes": "未找到脚注" }, "properties": { "name": "属性列表", "desc": "显示笔记的元数据 (metadata) 信息。", "name-global": "添加笔记属性", "name-local": "笔记属性", "tab-title": "{{displayText}}的笔记属性", "action-show": "显示所有笔记属性", "action-show-local": "显示当前笔记的属性列表", "opt-unassign-type": "去除类型", "label-no-properties": "未找到笔记属性。", "label-invalid-properties": "无效的属性。", "label-sort-by-name-a-to-z": "属性名称 (A 到 Z)", "label-sort-by-name-z-to-a": "属性名称 (Z 到 A)", "label-sort-by-frequency-high-to-low": "使用频次(从高到低)", "label-sort-by-frequency-low-to-high": "使用频次(从低到高)", "msg-merge-properties-warning": "将属性“{{oldKey}}”合并到属性“{{newKey}}”?", "msg-merge-properties-warning-desc": "为防止冲突,属性值将被合并,或仅使用来自属性“{{oldKey}}”的值。", "action-collapse-all": "全部折叠", "action-expand-all": "全部展开", "action-open-local": "打开笔记属性", "action-open-daily-note": "打开日记" }, "page-preview": { "name": "页面预览", "desc": "开启后鼠标悬停在内部链接上时将显示预览。编辑模式下需要在鼠标悬停的同时按住 Ctrl/Cmd 键才可预览(该设置可调节)。", "label-empty-attachment": "找不到“{{linktext}}”。", "label-empty-note": "\"{{linktext}}\" 未创建,点击以创建。", "label-missing-footote": "脚注 {{id}} 未找到,点击以创建。", "label-source-editor": "编辑模式", "label-source-preview": "预览模式", "label-source-search": "搜索页、反向链接列表和出链列表", "label-source-tab-header": "标签页标题", "label-require-mod": "需要按住 {{key}} 来触发页面预览的情景" }, "bookmarks": { "name": "书签", "desc": "为常用文件及搜索加上书签。", "action-show": "显示书签列表", "action-collapse-all": "全部折叠", "action-new-bookmark": "收藏当前标签页", "action-new-group": "新书签组", "action-bookmark": "收藏", "action-add-bookmark": "添加书签", "action-edit-bookmark": "编辑书签", "action-bookmark-block": "收藏当前块", "action-bookmark-heading": "收藏当前章节", "action-bookmark-search": "收藏当前搜索", "action-remove-bookmark": "移除当前文件的书签", "action-bookmark-tab-group": "收藏当前 {{count}} 个标签页", "action-bookmark-tab-group_plural": "收藏当前 {{count}} 个标签页", "action-bookmark-all-tabs": "收藏所有标签页", "action-bookmark-graph": "收藏图谱", "label-bookmark": "书签", "label-bookmarked": "成功添加到书签", "label-bookmark-with-count": "{{count}} 个书签", "label-bookmark-with-count_plural": "{{count}} 个书签", "label-no-bookmarks": "找不到书签", "label-invalid-data": "加载书签失败。", "label-invalid-data-desc": "数据文件已损坏。", "label-untitled-group": "未命名组", "label-untitled-graph": "未命名图谱", "menu-opt-edit": "编辑", "menu-opt-remove": "移除", "menu-opt-rename": "重命名", "menu-opt-bookmark-block": "收藏当前块", "menu-opt-bookmark-heading": "收藏当前章节", "msg-no-search-query": "没有可加上书签的搜询。", "option-path": "路径", "option-query": "查询", "option-u-r-l": "网址", "option-title": "标题", "option-group": "书签组", "placeholder-bookmark-group": "书签" }, "custom-css": { "name": "自定义主题", "desc": "加载并使用 \"obsidian.css\" 主题。", "setting-community-themes": "社区主题", "msg-fetching-themes": "正在获取社区主题数据……", "prompt-filter": "搜索……", "label-dark-theme-only": "仅限有深色配色的主题", "label-light-theme-only": "仅限有浅色配色的主题", "label-use": "使用", "label-stop-use": "禁用该主题", "label-install-and-use": "下载并使用", "label-update": "更新", "label-no-readme": "这个主题没有提供 README 文件", "tooltip-remove-theme": "删除主题", "label-visit-on-github": "访问 GitHub", "msg-load-error": "无法加载社区主题,请检查你的网络。", "msg-now-using-theme": "你正在使用 {{title}} 主题。", "msg-deleted-theme": "主题 {{title}} 已被删除。", "msg-updated-theme": "主题 {{title}} 已更新。", "label-installed": "已下载", "label-legacy": "旧版", "button-update-all-themes": "全部更新", "msg-failed-load-themes": "无法加载社区主题", "msg-no-updates-found": "没有主题需要更新。", "msg-updates-found": "找到 {{count}} 个可更新的主题", "msg-updates-found_plural": "找到 {{count}} 可更新的主题", "msg-failed-to-install-theme": "无法安装 \"{{name}}\" 主题", "msg-successfully-installed-theme": "成功安装 \"{{name}}\" 主题", "msg-installing-theme": "正在安装 \"{{name}}\" 主题。", "label-search-summary": "显示 {{themeCount}}:", "label-update-available": "有可用更新" }, "command-palette": { "name": "命令面板", "desc": "无需界面或快捷键操作,输入一个命令即可完成相应功能。", "action-open": "打开命令面板", "instruction-navigate": "导航", "instruction-use": "使用", "instruction-dismiss": "退出", "label-no-commands": "未发现命令。", "prompt-type-command": "输入命令……", "label-pinned-commands": "置顶命令", "option-add-new-pin": "新增置顶命令", "option-add-new-pin-description": "在你未进行检索时,置顶命令将优先出现在命令面板的顶端。" }, "markdown-format-importer": { "name": "Markdown 格式转换器", "desc": "将其他应用中的 Markdown 格式转换为 Obsidian 支持的格式。", "action-open": "打开 Markdown 格式转换器", "option-roam-tag-fixer": "转换 Roam Research 标签语法", "option-roam-tag-fixer-description": "将 Roam Research 风格的 \"#tag\" 和 \"#[[tag]]\" 标签转换为 \"[[tag]]\"。", "option-roam-highlight-fixer": "转换 Roam Research 高亮语法", "option-roam-highlight-fixer-description": "将 Roam Research 中的 \"^^highlight^^\" 高亮语法转换为 \"==highlight==\"。", "option-roam-todo-converter": "转换 Roam Research 待办事项语法", "option-roam-todo-converter-description": "将 Roam Research 中的 \"{{[[TODO]]}}\" 代办事项语法转换为 \"[ ]\"。", "option-bear-highlight-fixer": "转换 Bear 高亮语法", "option-bear-highlight-fixer-description": "将 Bear 中的 \"::highlight::\" 高亮语法转换为 \"==highlight==\"。", "zettelkasten-link-fixer": "转换 zettelkasten 风格链接", "zettelkasten-link-fixer-description": "将 zettelkasten 卡片中使用的 \"[[UID]]\" 链接转换为 \"[[UID 文件名]]\" 的形式。", "zettelkasten-link-beautifier": "美化 zettelkasten 风格链接", "zettelkasten-link-beautifier-description": "将 zettelkasten 卡片中使用的 \"[[UID]]\" 链接美化为 \"[[UID 文件名|文件名]]\" 的形式。", "frontmatter-migration": "元数据 (Frontmatter) 迁移", "frontmatter-migration-description": "将元数据中的标签 (tags)、别名 (aliases) 和 cssclasses 属性迁移到 Obsidian v1.9+ 所需的严格格式。", "msg-all-files-warning": "警告:转换器将对仓库中所有文件进行修改,而不仅是当前文件。", "msg-override-files-warning": "你的文件将被修改。请在转换前做好备份。", "label-start-conversion": "开始转换", "label-stop": "停止", "label-go-back": "返回", "label-done": "完成", "label-processing": "正在处理……", "label-cancelling": "取消……", "label-finished": "完成!", "label-processed-files": "处理的文件", "label-modified-files": "修改的文件", "label-total-replacements": "全部替换", "label-failed": "失败" }, "daily-notes": { "name": "日记", "desc": "打开今天的日记。如果该日记不存在,则创建该日记。", "short-name": "日记", "action-open": "打开/创建今天的日记", "action-open-previous": "打开前一天的日记", "action-open-next": "打开后一天的日记", "action-insert-text": "在日记中插入文本", "action-insert-link": "在日记中插入链接", "msg-fail-format": "创建日记未成功。 \"{{format}}\" 不是有效的格式。", "msg-fail-folder": "创建日记未成功。 未找到 \"{{folderOption}}\" 文件夹。", "msg-fail-template-file": "创建日记未成功。未找到 \"{{template}}\" 模板文件。", "msg-no-previous": "没有更旧的日记了。", "msg-no-next": "没有更新的日记了。", "option-date-format": "日期格式", "label-refer-to-syntax": "更多语法,请参阅: ", "label-syntax-link": "时间格式参考", "label-syntax-live-preview": "这是当前所用格式的样例: ", "option-new-file-location": "新建日记的存放位置", "option-new-file-location-description": "指定新建日记的存放路径。", "option-template": "日记模板位置", "option-template-description": "指定日记模板文件的路径。", "option-open-on-start": "启动时打开日记", "option-open-on-start-description": "开启后,每次打开当前仓库时将自动打开日记页面。" }, "unique-note-creator": { "name": "时间戳笔记生成器", "desc": "创建以时间戳为文件名的笔记,常用于 Zettelkasten 等方法中。", "short-name": "时间戳", "action-create-note": "创建时间戳笔记", "action-add-link": "添加唯一内部链接", "option-new-file-location": "新建笔记的存放位置", "option-new-file-location-description": "指定新建时间戳笔记的存放路径。", "msg-folder-not-found": "创建时间戳笔记失败,\"{{folderOption}}\" 文件夹未找到。", "option-template-file": "模板文件位置", "option-template-file-description": "指定用于生成时间戳笔记的模板文件的位置。", "option-template-file-placeholder": "示例:文件夹1/笔记名", "option-id-format": "时间戳格式", "msg-template-file-not-found": "创建时间戳笔记失败,模板文件\"{{template}}\"未找到。", "msg-failed-to-generate": "无法以 \"{{format}} 格式创建时间戳笔记" }, "random-note": { "name": "漫游笔记", "desc": "随机打开一则笔记,以助于回顾和发现。", "short-name": "漫游", "action-open": "开始漫游笔记" }, "outline": { "name": "大纲", "desc": "显示当前笔记或链接笔记的小标题列表。", "action-open": "打开大纲", "action-show": "显示大纲页面", "action-open-for-current": "打开当前文件的大纲", "tab-title": "{{displayText}} 的大纲", "label-no-headings": "未发现小标题行。", "label-follow-cursor": "自动滚动至当前章节" }, "word-count": { "name": "字数统计", "desc": "在状态栏中显示字数。" }, "slides": { "name": "幻灯片", "desc": "演示当前笔记。你可以通过键入 \"---\" 来分隔每一页幻灯片的内容。", "action-start": "开始演示" }, "audio-recorder": { "name": "录音机", "desc": "录制音频并保存为附件。", "action-start": "开始录音", "action-stop": "结束录音", "action-toggle": "开始/结束录音", "msg-access-denied": "访问被拒绝,请在设置中启用麦克风。", "msg-pending-grant": "请授权麦克风开始录音。", "msg-no-microphone": "未连接麦克风。" }, "open-with-default-app": { "name": "使用默认应用打开", "desc": "在菜单中添加【使用默认应用打开当前文件】这一选项。", "action-open-file": "使用默认应用打开", "action-open-file-mobile": "共享", "action-show-in-folder": "在系统资源管理器中显示", "action-show-in-folder-mac": "在访达中显示" }, "templates": { "name": "模板", "desc": "插入模板文件夹中的模板文件内容。", "action-insert": "插入模板", "action-insert-current-date": "插入当前日期", "action-insert-current-time": "插入当前时间", "option-template-folder-location": "模板文件夹位置", "option-template-folder-location-description": "该文件夹中的文件都可以作为模板。", "option-template-date-format": "日期格式", "option-template-date-format-description": "模板文件中的 {{date}} 字段将被一个日期值替换。日期值的格式由此项控制。", "option-template-date-format-description2": "你也可以使用 {{date:YYYY-MM-DD}} 字段在模板中直接指定日期值的格式。这将覆盖此项。", "option-template-time-format": "时间格式", "option-template-time-format-description": "模板文件中的 {{time}} 字段将被一个时间值替换。时间值的格式由此项控制。", "option-template-time-format-description2": "你也可以使用 {{time:HH:mm}} 字段在模板中直接指定时间值的格式。这将覆盖此项。", "instruction-navigate": "导航", "instruction-insert": "插入模板", "instruction-dismiss": "退出", "msg-no-templates-found": "未发现模板", "msg-fail-invalid-folder": "插入模板未成功,模板文件夹无效。", "msg-fail-folder-not-found": "插入模板未成功,未找到 \"{{folderOption}}\" 文件夹。", "msg-fail-invalid-template-properties": "无法插入模板,未能读取模板文件中的属性。", "msg-no-folder-set": "列出模板列表未成功。未配置模板文件夹。", "prompt-type-template": "请输入模板名称……" }, "translucency": { "name": "半透明效果", "desc": "开启半透明效果以增强沉浸感(深色模式下开启效果更佳)。Linux 不支持此效果。" }, "slash-command": { "name": "斜杠命令", "desc": "启用后,在编辑器中输入斜杠即可触发命令。" }, "editor-status": { "name": "视图状态", "desc": "开启后将在状态栏中添加一个显示当前标签页视图状态的按钮,点击按钮可切换当前标签页视图状态。", "read": "阅读视图", "edit-source": "源码模式", "edit-live-preview": "实时阅览" }, "publish": { "name": "发布", "desc": "通过 Obsidian 发布服务发布你的笔记。", "action-publish-changes": "发布更改", "action-publish-file": "发布当前文件", "label-no-internet-access": "你需要联网才能发布更改。", "label-publish-service-description": "【发布】是一项付费服务,可以让你通过 Obsidian 发布在线笔记。", "label-please-login": "要使用发布功能,请登录或创建一个 Obsidian 帐号。", "label-no-publish-subscription": "你还没有购买发布服务。", "button-purchase": "购买", "label-manage-sites": "管理网站", "label-no-sites": "你没有创建任何网站。", "button-choose": "选择", "tooltip-edit-site-id": "编辑网站 ID", "tooltip-delete-site": "删除网站", "label-delete-site-confirmation": "你确定要删除此网站吗?", "label-delete-site-details": "这将会立即删除你的网站。注意:删除是不可恢复的。", "label-confirm-delete-site": "确认删除网站 \"{{site}}\"", "option-site-id": "网站 ID", "option-site-id-description": "你的网站将使用以下地址:https://publish.obsidian.md/{网站 id} 。网站 ID 允许后续修改,但仅允许使用小写字母、数字和破折号。", "option-site-id-placeholder": "请输入一个网站 ID", "button-create": "创建", "msg-invalid-site-id": "网站 ID 只能包含小写字母、数字和破折号。", "msg-site-id-in-use": "此网站 ID 已被使用,请尝试另一个 ID。", "msg-create-site-issue": "创建网站时出现错误。", "label-site-options": "网站设置", "option-site-general": "常规", "option-site-components": "组件", "option-site-appearance": "外观", "option-site-reading-experience": "阅读体验", "option-site-misc": "其他设置", "option-site-name": "网站名称", "option-site-name-description": "设置当前网站的名称。网站名称将显示在当前网站的页面标题中。", "option-site-name-placeholder": "输入网站的名称", "option-home-page-file": "主页", "option-home-page-file-description": "设置用户在访问网站时首先看到的页面。", "option-home-page-file-placeholder": "选择一个已发布的文件", "option-logo": "网站标志", "option-logo-description": "选择一个图片文件作为你的网站标志。", "option-logo-placeholder": "选择一张仓库中已上传的图片……", "option-site-collaboration": "协作", "option-site-collaboration-desc": "管理网站的协作者。", "option-customize-navigation": "自定义文件列表", "option-customize-navigation-desc": "自定义文件列表中文件和文件夹的顺序,或隐藏某些文件和文件夹。", "option-navigation-order": "文件列表显示顺序", "option-hide-items-in-navigation": "在文件列表中隐藏文件或文件夹", "option-hide-items-in-navigation-desc": "右键点击文件或文件夹并点击 \"隐藏\" 即可让相应文件或文件夹不在网站的文件列表中出现。但相应页面仍可通过链接或 URL 进行访问。", "option-show-hidden-items": "显示隐藏项目", "button-customize-sidebar": "管理", "label-navigation-modal-title": "自定义文件列表", "label-navigation-modal-desc": "拖动文件或文件夹以调整各文件和文件夹在网站文件列表中的顺序。", "option-hide-in-navigation": "隐藏", "button-manage-collaborators": "管理", "option-theme": "主题", "option-theme-description": "设置当前网站的配色方案。", "option-theme-system": "跟随系统", "option-show-theme-toggle": "显示颜色切换按钮", "option-show-theme-toggle-description": "让访客可以看到颜色切换按钮,以自行在浅色与深色模式间切换。", "option-show-navigation": "显示文件列表", "option-show-navigation-description": "在网站的左侧显示一个文件列表,列表汇总了所有已发布的文件。", "option-show-search": "显示搜索栏", "option-show-search-description": "在文件列表顶部显示搜索栏,从而让访客能够搜索网站内容。", "option-show-graph": "显示局部关系图", "option-show-graph-description": "在每个页面上显示局部关系图,从而展示当前页面的链接情况。", "option-show-outline": "显示大纲", "option-show-outline-description": "开启后,在每个页面上显示由小标题组成的大纲。", "option-show-backlinks": "显示反向链接", "option-show-backlinks-description": "在每个页面底部显示反向链接。", "option-sliding-window-mode": "堆叠标签页", "option-sliding-window-mode-description": "开启后,标签页将以堆叠方式显示。", "option-hover-preview-file": "页面预览", "option-hover-preview-file-description": "开启后,当鼠标悬停在链接上时将显示页面预览。", "option-hide-title": "隐藏页内标题", "option-hide-title-description": "开启后将隐藏页内的标题。这个设置对于将一级小标题用作标题的笔记非常有用。", "option-readable-line-length": "缩减栏宽", "option-readable-line-length-description": "开启后将限制每行字数,使屏幕显示的内容减少,但使较长的段落更具可读性。", "option-site-password": "密码", "option-site-password-description": "使用密码限制访问者对网站的访问。", "option-google-analytics": "谷歌分析代码", "option-google-analytics-description": "为你的网站配置谷歌分析跟踪功能。该功能仅限于从自定义域名进行访问的访客。使用该功能前请先查阅当地的法律法规是否允许跟踪访客。", "button-manage-passwords": "管理", "button-save-site-settings": "保存网站设置", "msg-updated-options": "已更新该网站的设置。", "button-go-back": "返回", "label-publishing-to": "发布到", "tooltip-switch-site": "切换网站", "button-add-linked": "添加相关文件", "tooltip-add-linked": "添加所有被当前项目链接的文件", "msg-added-linked-files": "已添加 {{count}} 个链接文件", "msg-added-linked-files_plural": "已添加 {{count}} 个链接文件。", "tooltip-open-site-options": "更改网站设置", "label-no-changes-detected": "未检测到更改。", "label-changed-files-to-be-published": "本地有更改", "label-unchanged-files-already-published": "已发布(选中则删除)", "label-file-selected": " 已选择", "button-select-all-files": "全部选中", "label-custom-navigation-title": "导航项目", "button-deselect-all-files": "取消全选", "label-new-files-to-be-published": "未发布", "button-publish": "发布", "msg-no-permission-to-publish-to-site": "你无权发布到当前网站。", "msg-select-at-least-one-file": "请至少选择一个文件。", "label-upload-changes": "上传更改", "button-done": "完成", "button-stop": "停止", "label-status-uploading": "上传中", "label-status-to-publish": "待发布", "label-status-to-delete": "待删除", "label-status-published": "已发布", "label-status-deleted": "已删除", "label-status-failed": "失败", "label-status-cancelled": "已取消", "button-change": "更改", "label-clear-cache": "更改的内容可能需要几分钟才能显示在当前网站上。如果看不到最新更改,请尝试在浏览器中清除缓存。", "label-visit-site": "你可以在这里访问你的网站:", "msg-something-went-wrong": "出现问题。请检查开发者控制台以获取详细信息。", "msg-network-error": "发生网络错误。 ", "label-manage-passwords": "管理密码", "label-add-password": "添加密码", "action-new-password": "添加密码", "label-no-password": "当前网站没有设置任何密码。任何人都可以访问。", "label-have-password": "当前网站已被密码保护。如果你有多个密码,访客可以输入任意一个密码来访问当前网站。", "option-password-name": "密码", "option-password-desc": "密码的哈希值将被 Obsidian 妥善保存。密码一旦设置完成将无法显示为明文。", "option-password-placeholder": "请输入密码", "option-nickname-name": "密码名称(可选)", "option-nickname-desc": "为密码设置一个名称,以提示密码的用途。", "action-add-password": "添加此密码", "label-untitled-password": "未命名密码", "label-password-created-time": "创建于 {{time}}", "msg-added-new-password": "新密码已添加", "option-custom-domain": "自定义域名", "option-custom-domain-desc": "使用你自己的域名而不是 https://publish.obsidian.md/{网站 id} 链接。", "option-noindex": "禁止搜索引擎索引", "option-noindex-desc": "防止搜索引擎索引你的网站。", "button-configure": "设置", "label-configure-custom-domain": "自定义域名设置", "option-custom-url-name": "自定义 URL", "option-custom-url-desc": "你的网站所在的网址。", "option-custom-url-placeholder": "www.您的域名.com", "option-custom-url-redirect": "重定向至你的自定义域名", "option-custom-url-redirect-desc": "将 publish.obsidian.md/id 上的访客重定向至你的自定义域名。", "button-update-custom-domain": "更新域名设置", "label-custom-domain-instructions": "更多信息请参考 {{link}}。", "label-custom-domain-link-name": "自定义域名设置指南", "label-site-usage": "你使用的 {{site}} 超出了你的 {{limit}}。", "button-add-more-sites": "购买更多网站", "label-no-sites-bought": "你没有订阅发布服务。", "button-get-site": "订阅", "label-manage-sharing": "管理 \"{{name}}\" 的共享", "label-sharing-with-users": "这个网站目前已和这些人共享", "label-not-sharing": "这个网站目前没有共享给任何人", "label-invite-pending": "等待中", "tooltip-remove-user": "移除用户", "option-invite-user": "邀请用户", "placeholder-invite-user": "输入他们的邮件地址……", "error-email-must-be-valid": "请输入有效的邮件地址", "msg-enable-publish-plugin": "请在 设置 -> 核心插件 中查看网站", "label-your-sites": "你的网站", "label-sites-shared-with-you": "与你共享的网站", "tooltip-leave-site-sharing": "停止这个网站的协作", "label-leave-site-confirmation": "确认停止这个网站的协作", "label-leave-site-confirmation-details": "该网站将从与你共享的网站中移除,这个操作是永久且不可逆的", "label-leave-site-confirmation-details-2": "如果你想重新加入这个网站的协作,请联系网站的拥有者", "button-leave": "离开", "label-compare-with-live": "与已发布版本比较", "button-use-live-version": "同步网站版本", "label-confirm-override": "确认覆盖本地版本", "label-confirm-override-1": "是否要覆盖本地版本?", "label-confirm-override-2": "将使用网站版本,本地版本将被覆盖。如有必要,请备份本地版本。", "button-proceed": "继续", "message-successfully-used-live-version": "已成功使用网站版本覆盖本地版本。", "label-open-in-live-site": "在正式站点打开", "label-open-file": "打开文件", "tooltip-manage-publish-filters": "发布内容筛选器", "option-included-folders": "默认发布文件夹", "option-included-folders-desc": "这些文件夹中的文件将会进入发布队列。", "option-currently-included-folders": " 当前包括以下文件夹:", "option-excluded-folders": "排除文件夹", "option-excluded-folders-desc": "这些文件夹中的文件将不进入发布队列。此设置优先于默认发布文件夹设置。", "label-number-of-folders-included": "目前以下文件夹中的文件将默认加入发布队列:{{folders}}。", "label-number-of-folders-excluded": "目前以下文件夹中的文件将不加入发布队列:{{folders}}。", "label-manage-included-folders": "管理默认发布文件夹", "label-manage-excluded-folders": "管理排除文件夹", "label-add-included-folder": "添加文件夹", "label-add-included-folder-desc": "可以添加现有文件夹和尚未创建的文件夹。", "tooltip-contact-support": "联系支持", "label-navigation-preview": "预览" }, "workspaces": { "name": "工作区", "desc": "保存和加载工作区布局。", "action-load-layout": "加载工作区布局", "action-manage-layouts": "管理工作区布局", "action-save": "保存布局", "action-save-and-load-layout": "更新工作区布局", "placeholder-save-current-layout-as": "输入名称以保存当前工作区布局……", "button-save": "保存", "button-load": "加载", "tooltip-delete-layout": "删除该布局", "msg-enter-name": "请输入新布局的名称。", "msg-save-layout-success": "成功保存布局。", "label-no-layout-found": "该布局不存在。", "label-workspace-modified-time": "修改于{{time}}", "placeholder-type-to-search-layouts": "输入已有布局名称……" }, "sync": { "name": "同步", "desc": "通过 Obsidian Sync 同步你的文件。", "action-view-version-history": "查看版本历史", "action-setup-sync": "设置同步", "menu-opt-view-version-history": "打开版本历史", "action-view-sync-sidebar": "显示同步历史", "action-activity-log": "打开同步日志", "label-load-more": "加载更多", "label-show-diff": "显示差异", "label-copy-to-clipboard": "复制到剪贴板", "label-restore-this-version": "恢复此版本", "msg-already-latest-version": "此版本已经是最新版", "msg-restored-version": "成功恢复 {{time}} 的版本", "label-file-deleted": "此文件已被删除", "label-file-deleted-via": "已由设备 {{ device }} 删除", "label-file-renamed-from": "此文件由 \"{{filepath}}\" 重命名而来", "label-file-renamed-from-to": "从“{{from}}”重命名为“{{to}}”", "label-file-moved-from": "从“{{from}}”移动", "label-file-moved-from-to": "从“{{from}}”移动至“{{to}}”", "label-revision": "1 个修订版本", "label-revision_plural": "{{revisions}} 个修订版本", "label-via-device": "由设备 {{device}}", "label-no-history": "该文件无同步历史。", "label-empty-file": "无内容", "label-unable-to-retrieve": "无法检索版本历史记录", "label-setting-files": "设置文件", "label-deleted-files": "已删除文件", "label-version-history": "版本历史", "label-click-to-see-history": "点击文件查看其历史", "label-create-remote-vault": "创建远程仓库", "msg-please-enter-password": "请输入密码", "msg-vault-name-cannot-be-empty": "仓库名称不能为空", "msg-successfully-created-vault": "成功创建远程仓库 \"{{name}}\"。", "label-remote-vault-explanation": "远程仓库能安全地将库中内容同步到不同设备上。", "option-vault-name": "远程仓库名称", "option-vault-name-desc": "名称最好提示该远程仓库的用途。", "option-vault-region": "区域", "opt-vault-region-automatic": "自动", "option-vault-region-desc": "请选择离你最近的区域以存储远程仓库。该设置在将来无法被修改。", "option-vault-name-placeholder": "我超棒的远程仓库", "option-encryption": "加密", "option-encryption-desc": "端到端加密提供最强的安全性,但需要你安全地存储加密密码。标准加密使用 Obsidian 管理的密钥来保护数据在传输和服务器上的安全性。", "option-encryption-warning": "此选项无法在之后修改。", "option-encryption-end-to-end": "端到端加密", "option-encryption-standard": "标准加密", "option-encryption-password": "自定义加密密码", "option-encryption-password-desc": "此密码设置后不能更改。", "option-encryption-password-desc-warning": "如果你忘记了自定义加密密码,该远程仓库所有远程数据将永远无法使用。", "option-encryption-password-desc-2": "但这不会影响本地数据。", "label-encryption-password-explanation": "远程仓库 “{{name}}” 已被加密。请输入密码解锁。", "option-encryption-password-placeholder": "你的密码", "label-unlock-encrypted-vault": "解锁远程仓库", "button-unlock-vault": "解锁", "label-remote-vaults": "现有远程仓库列表", "label-vault-created-time": "创建于 {{time}}", "tooltip-delete-remote-vault": "删除", "tooltip-rename-remote-vault": "重命名", "label-rename-remote-vault": "重命名远程仓库 \"{{name}}\"", "label-rename-remote-vault-desc": "输入这个远程仓库的新名字。", "tooltip-manage-sharing": "管理共享", "label-confirm-delete-remote-vault": "确认删除该远程仓库", "label-confirm-delete-remote-vault-question": "你确定要删除这个远程仓库吗?", "label-confirm-delete-remote-vault-result": "这将使得该远程仓库中的所有数据,包括版本历史,都被删除。但你的本地文件不受影响。", "label-confirm-delete-remote-vault-warning": "这个操作是永久性的且不可逆的。", "msg-remote-vault-deleted": "远程仓库 {{name}} 已被删除。", "msg-disconnect-from-deleted-vault": "Obsidian 同步服务:所连接的远程仓库已删除。", "button-connect-to-remote-vault": "同步", "button-disconnect-from-remote-vault": "断开同步", "label-sync-status": "同步状态: {{status}}", "label-not-remote-vaults": "你没有任何远程仓库。", "label-no-subscription": "你没有订阅 Obsidian 同步服务。", "label-please-visit": "请访问", "label-preview-unsupported-file-type": "无法预览 {{type}} 文件。", "button-create-new-remote-vault": "新建远程仓库", "label-sync-log": "同步日志", "option-event-type-all": "所有", "option-event-type-errors": "错误", "option-event-type-skipped": "已跳过", "option-event-type-merge-conflicts": "合并冲突", "button-copy-sync-log": "复制同步日志", "msg-successfully-copied-sync-log": "同步日志已复制", "button-retry": "重试", "button-purchase-subscription": "购买", "label-third-party-sync-warning": "检测到文件同步服务冲突", "label-third-party-sync-warning-desc": "警告:你的仓库似乎正在使用 {{service}} 作为第三方同步服务。 如果你在该仓库中同时使用 Obsidian 同步服务,你可能会遇到文件冲突、损坏或数据丢失等情况。", "label-icloud-drive-warning": "如果你正在使用iCloud,你的文档与桌面文件夹可能会通过 iCloud 同步。这可能会与 Obsidian 同步服务冲突。", "option-remote-vault": "远程仓库", "button-choose-remote-vault": "选择", "button-manage-remote-vault": "管理", "option-remote-vault-desc-connected": "正在与远程仓库 \"{{name}}\" 同步。", "option-remote-vault-desc-not-connected": "未与任何远程仓库同步。", "option-sync-status": "同步状态", "option-sync-status-desc-paused": "Obsidian 同步功能已暂停。", "option-sync-status-desc-running": "Obsidian 同步功能正在运行。", "option-device-name": "设备名称", "option-device-name-desc": "该名称将在同步日志中使用。留空则使用默认设备名称。", "button-resume": "恢复", "button-pause": "暂停", "option-view-deleted-files": "已删除文件", "option-view-deleted-files-desc": "浏览、恢复已删除的文件。", "option-sync-log": "同步日志", "option-sync-log-desc": "查看最近的同步事件以进行调试。", "button-view": "查看", "button-bulk-restore": "批量恢复", "button-restore-files_zero": "恢复文件", "button-restore-files": "恢复{{count}}个文件", "button-restore-files_plural": "恢复{{count}}个文件", "msg-restoring": "恢复中……", "msg-restoring-complete": "`恢复完成:{{succeeded}} 个成功,{{failed}} 个失败。`", "option-vault-size": "仓库大小", "option-vault-size-desc": "已使用:{{size}},限制:{{limit}}", "option-vault-size-unknown": "无法检索你的仓库大小。", "option-vault-size-loading": "正在检索你的仓库大小……", "option-over-size": "仓库过大", "option-almost-over-size": "远程仓库容量接近上限", "msg-largest-files": "查看大文件", "msg-largest-files-desc": "这些是远程仓库中最占空间的文件。选中它们后,请按下清除按钮以释放远程仓库空间。", "button-upgrade-storage": "升级存储", "button-purge-remote": "清除", "button-hide-my-changes": "隐藏改动", "tooltip-purge-remote": "在远程仓库中永久清除已删除的文件以节省空间。", "msg-purge-complete": "已清除。", "option-prevent-sleep": "防止设备睡眠", "option-prevent-sleep-desc": "在同步未完成时,防止设备进入睡眠状态。", "option-selective-sync": "选择性同步", "option-excluded-folders": "需要排除的文件夹", "option-excluded-folder-desc": "防止某些文件夹被同步。", "option-currently-excluded-folders": "目前这些文件夹被排除在外:", "button-manage-excluded-folders": "管理", "option-sync-image": "同步图片", "option-sync-image-desc": "同步以下类型的图片文件:{{extensions}}。", "option-sync-audio": "同步音频", "option-sync-audio-desc": "同步以下类型的音频文件:{{extensions}}。", "option-sync-video": "同步视频", "option-sync-video-desc": "同步以下类型的视频文件:{{extensions}}。", "option-sync-pdf": "同步 PDF", "option-sync-pdf-desc": "同步 PDF 文件", "option-sync-unsupported": "同步所有其他类型文件", "option-sync-unsupported-desc": "同步那些无法在 Obsidian 中打开的文件。", "option-vault-config-sync": "同步配置文件", "option-view-config-files": "配置文件的版本历史", "option-view-config-files-desc": "浏览、恢复配置文件。", "option-sync-app": "主要设置", "option-sync-app-desc": "同步编辑器、文件与链接、快捷键等方面的设置。", "option-sync-appearance": "外观设置", "option-sync-appearance-desc": "同步外观设置,比如基础颜色、当前应用的主题、开启的 CSS 代码片段等设置信息。", "option-sync-appearance-data": "主题与 CSS 代码片段", "option-sync-appearance-data-desc": "同步已保存的主题与 CSS 代码片段文件。文件启用情况由上一同步设置决定。", "option-sync-hotkey": "快捷键", "option-sync-hotkey-desc": "同步自定义快捷键。", "option-sync-core-plugin": "核心插件的启用情况", "option-sync-core-plugin-desc": "同步核心插件的启用情况。", "option-sync-core-plugin-data": "核心插件设置", "option-sync-core-plugin-data-desc": "同步核心插件的设置信息", "option-sync-community-plugin": "第三方插件启用情况", "option-sync-community-plugin-desc": "同步社区插件的启用情况。", "option-sync-community-plugin-data": "已安装的第三方插件", "option-sync-community-plugin-data-desc": "同步已安装的社区插件,包括插件中的 `.js`、`.css`、`manifest.json`等文件,以及插件的设置信息。", "label-sync-loading": "同步仍在加载,请稍后刷新", "label-sync-introduction": "同步是 Obsidian 提供的附加服务,具有端到端加密及版本历史等功能。", "label-account-required": "要使用同步服务,请登陆或注册 Obsidian 账户。", "label-current-file": "当前文件", "label-sync-changes": "同步修改", "label-today": "今天", "label-yesterday": "昨天", "label-this-week": "本周", "label-older": "更久", "label-last-sync": "最后同步", "label-more": "{{count}} 更多", "button-sign-up": "注册", "button-log-in": "登录", "label-manage-excluded-folders": "管理被排除的文件夹", "label-number-of-folders-excluded": "{{folders}} 目前不会被同步。", "label-add-excluded-folder": "需要排除的文件夹", "label-add-excluded-folder-desc": "可以排除已经存在的和未创建的文件夹。", "tooltip-remove-excluded-folder": "从排除列表中删除", "label-setup-connection": "设置连接", "label-connecting-to-vault": "连接中…", "label-connection-failed": "连接失败", "label-connection-failed-desc": "无法连接远程仓库", "label-now-connected-to-vault": "你现在已连接到 \"{{name}}\"。", "button-start-syncing": "开始同步", "label-confirm-merge-vault": "确认合并仓库", "msg-vault-has-notes": "你的本地仓库中存在一些文件。", "msg-vault-merge-warning": "如果需要将当前本地仓库与远程仓库 \"{{name}}\" 关联,当前本地仓库中的笔记将会与远程仓库中的笔记合并。如果合并时存在冲突,将保留笔记最新的版本。", "tooltip-update-setting-on-all-devices": "请更新此选项,并在希望生效的所有设备上重启软件。", "label-sharing-with-users": "该远程仓库已共享给以下用户:", "label-not-sharing": "未共享给任何用户。", "label-vaults-shared-with-you": "共享给你的仓库", "tooltip-leave-vault-sharing": "停止该仓库的协作", "label-leave-vault-confirmation": "确定停止该仓库协作", "label-leave-vault-confirmation-details": "这将把该仓库从共享给你的仓库中移除,这个操作是永久性的且不可逆的", "label-leave-vault-confirmation-details-2": "如果你想重新加入仓库协作,请和仓库的拥有者联系", "button-leave": "离开", "msg-error-failed-to-fetch": "无法加载远程仓库。", "label-require-subscription-to-connect": "你需要购买 Obsidian 发布服务才能同步该仓库。", "option-contact-support": "获取支持", "option-contact-support-desc": "如果你在使用 Obsidian 同步服务过程中遇到了任何问题,请联系我们。我们的联系方式是 support@obsidian.md 。", "button-copy-debug": "复制调试信息", "button-email-support": "撰写求助邮件", "label-sync-disconnected": "同步服务尚未连接至任何一个远程仓库。", "msg-remote-vault-limit-hit": "Obsidian 同步服务允许你创建至多5个远程仓库。为了创建新的远程仓库,请先移除一个现有的远程仓库。", "label-upgrade-vault": "升级仓库", "label-upgrade-vault-encryption": "升级仓库加密", "label-upgrade-vault-encryption-desc": "有新的加密版本可用于远程仓库。", "label-migrate-remote-vault": "迁移远程仓库", "label-remote-vault-configuration": "远程仓库配置", "button-migrate": "迁移", "msg-recreate-remote-vault": "这将删除你的远程仓库并重新创建一个使用最新加密版本的仓库。本地文件将不会受到影响,但版本历史将被删除。", "label-confirm-migrate": "确认迁移仓库", "msg-migrate-pre-confirmation-part1": "为了升级加密,仓库中的所有数据将使用新加密方法重新上传到 Obsidian 同步服务器。此过程将永久删除所有使用旧加密方法加密的数据,包括仓库的版本历史。", "msg-migrate-pre-confirmation-part2": "重要:我们强烈建议在继续之前创建仓库备份以防止任何潜在的数据丢失。", "msg-migrate-pre-confirmation-part3": "在完成升级后,您需要重新连接所有设备到更新后的远程仓库。", "msg-migrate-confirmation": "迁移仓库可能需要一些时间。您需要在设备上保持 Obsidian 激活状态以重新上传所有笔记和附件。建议在主要设备上进行此操作。", "msg-migrate-confirmation-size": "您有 {{size}} 的数据。迁移仓库可能需要一些时间。您需要在设备上保持 Obsidian 激活状态以重新上传所有笔记和附件。建议在主要设备上进行此操作。", "msg-proceed-prompt": "您确定要继续吗?", "msg-vault-migration-started": "仓库迁移正在进行中。" }, "file-recovery": { "name": "文件恢复", "desc": "通过最近的快照来恢复意外丢失的数据。仅为 Markdown 文件生成快照。", "action-open": "打开快照列表", "option-interval": "快照生成间隔", "option-interval-description": "设置快照的生成周期(分钟)。", "option-keep": "快照保存时长", "option-keep-description": "设置快照的保存时长(天)", "option-open-history": "快照", "option-open-history-description": "浏览、恢复快照。", "button-view-history": "查看", "option-clear": "删除快照", "option-clear-description": "删除所有快照。", "button-clear-history": "删除", "label-clear-warning": "你确定要删除所有快照吗?该操作仅删除快照,仓库内其他文件将不受影响。", "msg-clear-complete": "快照已删除。", "label-no-history-found": "未发现快照。", "placeholder-choose-file": "请选择文件……", "label-select-file": "请在左侧列表中选择一个文件以浏览其快照。" }, "note-composer": { "name": "笔记重组", "desc": "合并两篇笔记,或将笔记部分内容移动到另一笔记中。", "option-confirm-file-merge": "合并提示", "option-confirm-file-merge-description": "在合并两篇笔记前通过对话框询问是否合并。", "option-split-replacement-text": "替代原文的方式", "option-split-replacement-text-description": "移动内容后,在原笔记中用于替代原内容的方式。", "option-choice-split-replacement-text-link": "链接存放移动内容的笔记", "option-choice-split-replacement-text-embed": "插入存放移动内容的笔记", "option-choice-split-replacement-text-none": "无", "option-template-file": "模板文件位置", "option-template-file-description": "该选项用于指定合并或提取笔记时使用的模板文件。模板支持的变量为:{{content}}、{{fromTitle}}、{{newTitle}}、{{date:FORMAT}}, 比如 {{date:YYYY-MM-DD}}。", "command-merge-file": "将当前笔记合并到其他笔记中", "action-merge-file": "将该笔记合并到……", "label-no-files": "未发现相应笔记。", "instruction-navigate": "导航", "instruction-merge": "并入所选笔记末尾", "instruction-create-new": "新建笔记后合并", "instruction-merge-at-top": "并入所选笔记开头", "instruction-dismiss": "退出", "prompt-select-file-to-merge": "选择需要并入的笔记……", "label-merge-file": "合并笔记", "label-confirm-file-merge": "是否要将 \"{{file}}\" 合并到 \"{{destination}}\" 中?合并后 \"{{file}}\" 将会被删除。", "button-merge": "合并", "command-split-file": "将所选内容移动到其他笔记中", "command-extract-heading": "移动当前章节", "instruction-append": "移动到所选笔记末尾", "instruction-prepend": "移动到所选笔记开头", "msg-fail-to-fetch-template": "调用模板失败:模板文件 \"{{template}}\" 未找到。", "msg-fail-to-find-heading": "未找到小标题" }, "web-viewer": { "name": "网页浏览器", "history-name": "网页历史", "desc": "在 Obsidian 内打开网页的外部链接。", "action-open": "打开网页浏览器", "action-show-history": "显示浏览历史", "action-toggle-reader-mode": "切换阅读模式", "action-copy-u-r-l": "复制 URL", "action-remove-from-history": "从历史记录中删除", "action-clear-history": "清空历史记录", "action-open-link": "打开链接", "action-open-link-new-tab": "在新标签页打开", "action-open-link-new-split": "在右侧打开", "action-open-link-new-window": "在新窗口打开", "action-open-link-default-browser": "在默认浏览器打开", "action-open-link-web-viewer": "在网页浏览器中打开", "action-copy-link-address": "复制链接地址", "action-bookmark-link": "收藏链接", "action-search-for-query": "搜索“{{query}}”", "action-extract-selection": "提取选中的内容到新笔记", "action-copy-selection": "复制", "action-cut": "剪切", "action-paste": "粘贴", "action-delete": "删除", "action-select-all": "全选", "action-save-to-vault": "保存到仓库", "action-save-image": "保存图片到仓库", "action-copy-image": "复制图片", "action-copy-image-link": "复制图片链接", "action-backward": "后退", "action-forward": "前进", "action-reload": "重新加载", "action-bookmark-page": "收藏页面", "action-open-default-browser": "在默认浏览器打开", "action-focus-address-bar": "聚焦地址栏", "action-search-the-web": "搜索网页", "action-clear-data": "清空数据", "action-clear-data-cookies": "Cookies", "action-clear-data-cookies-desc": "可能导致你失去网站的登录状态。", "action-clear-data-cache": "缓存数据", "action-clear-data-history": "浏览历史", "action-clear-data-all": "所有网页浏览器数据", "action-clear-data-all-desc": "清空所有数据,包括本地存储和活动会话。", "label-new-web-viewer": "新建 Web viewer", "label-fail-to-load": "无法加载该网站。", "label-fail-to-load-desc": "请确保地址正确。", "label-search-the-web": "搜索网页", "label-web-viewer-data": "网页浏览器数据", "label-clear-data": "清空网页浏览器数据", "option-open-external-links": "打开外部链接", "option-open-external-links-desc": "默认在 Obsidian 中打开链接(而不是系统默认浏览器)。", "option-homepage": "主页", "option-homepage-desc": "打开网页浏览器时显示的页面", "option-saved-markdown": "页面保存文件夹", "option-saved-markdown-desc": "将网页保存为 Markdown 时,文件将被保存到此处。", "option-search-engine": "搜索引擎", "option-search-engine-desc": "从地址栏搜索时使用的搜索引擎。", "option-search-engine-custom": "自定义搜索引擎", "option-search-engine-custom-desc": "使用 %s 作为查询关键字。", "option-search-engine-custom-drop-down": "自定义", "option-enable-adblock": "启用广告拦截器", "option-enable-adblock-desc": "启用时,以下过滤列表将应用于所有网页浏览器标签页。", "option-adblock-lists": "广告拦截器列表", "option-adblock-lists-desc": "每行一个广告拦截器列表 URL。", "option-adblock-frequency": "广告拦截器更新频率", "option-adblock-frequency-desc": "更新广告拦截器列表的天数间隔。0 表示禁用。所有仓库共享该设置。", "title-clear-data-modal": "清空网页浏览器数据", "msg-error-extracting-content": "提取内容时发生意外错误。", "msg-error-finding-content": "无法找到要提取的内容。" }, "canvas": { "name": "白板", "desc": "在一张无限白板上组织你的笔记。", "action-add-note": "添加笔记", "action-add-media": "添加媒体文件", "action-add-card": "添加文本", "action-add-website": "添加网页", "action-create-group": "创建分组", "action-create-with-size": "创建特定尺寸的卡片", "action-convert-to-file": "转换为笔记……", "action-drag-to-add-note": "添加笔记(点击或拖动)", "action-drag-to-add-media": "添加媒体文件(点击或拖动)", "action-drag-to-add-card": "添加卡片(点击或拖动)", "action-edit-label": "编辑文字", "action-remove-label": "移除文字", "action-search-file": "查找文件", "action-set-color": "设置颜色", "action-align": "对齐", "action-align-left": "左对齐", "action-align-center": "水平居中", "action-align-right": "右对齐", "action-align-top": "顶端对齐", "action-align-middle": "垂直居中", "action-align-bottom": "底端对齐", "action-distribute-horizontal-spacing": "横向分布", "action-distribute-vertical-spacing": "纵向分布", "action-justify-horizontally": "水平拉伸对齐", "action-justify-vertically": "纵向拉伸对齐", "action-arrange-horizontally": "按行排列", "action-arrange-vertically": "按列排列", "action-arrange-grid": "按网格排列", "action-export-png": "导出图片", "action-jump-to-group": "跳跃至组", "action-set-background": "设置背景", "action-edit-background": "编辑背景", "action-replace-background": "替换背景", "action-remove-background": "移除背景", "label-no-images": "未找到图片。", "label-no-media": "未找到媒体文件", "label-export-png-desc": "用以下设置将白板文件 \"{{title}}\" 导出为 PNG 图片。", "label-export-png-dimensions": "预计图像尺寸为 {{dimensions}}", "label-distribute": "分配", "label-justify": "对齐", "label-arrange": "排列", "label-always": "总是", "label-hover": "悬停时", "label-never": "从不", "label-no-section-found": "未找到章节", "option-wheel-behavior": "默认鼠标滚轮行为", "option-mod-drag-behavior": "默认 {{key}} 行为", "option-show-menu": "显示菜单", "option-new-canvas-location": "新白板文件的默认位置", "option-new-canvas-location-description": "新创建的白板文件的存储位置。", "option-new-canvas-folder-path": "用于创建新白板文件的文件夹", "option-new-canvas-folder-path-description": "新创建的白板文件将出现在该文件夹下。", "option-node-label": "显示卡片标签", "option-snap-to-grid": "对齐网格", "option-snap-to-grid-desc": "移动和缩放卡片时对齐背景网格。", "option-snap-to-objects": "对齐物体", "option-snap-to-objects-desc": "移动和缩放卡片时对齐邻近物体。", "option-zoom-breakpoint": "隐藏卡片内容的缩放阈值", "option-zoom-breakpoint-desc": "较小的数值会提升性能但在缩放时会更快隐藏卡片内容。", "option-export-png-show-logo": "显示水印", "option-export-png-show-logo-desc": "在导出图片的左下角显示 Obsidian 的标志。", "option-export-png-privacy-mode": "隐私模式", "option-export-png-privacy-mode-desc": "这将隐藏白板上的任何文本。", "option-export-png-zoom": "缩放", "option-export-png-zoom-desc": "缩放程度越大,图片分辨率越大。", "option-export-png-frame": "导出范围", "option-export-png-frame-desc": "选择导出整个白板还是当前可视部分。", "option-export-png-frame-full": "整个白板", "option-export-png-frame-viewport": "仅当前部分", "option-background-cover": "覆盖", "option-background-ratio": "保持长宽比", "option-background-repeat": "重复", "action-new-canvas": "新建白板", "action-remove": "移除", "action-narrow-heading": "缩小至标题……", "action-narrow-block": "缩小至块……", "action-narrow-bases-view": "固定视图……", "action-swap-file": "替换内容", "action-change-url": "更改网址……", "action-zoom-to-fit": "总览全局", "action-zoom-to-selection": "聚焦当前卡片", "action-reload-page": "重新加载网页", "action-follow-connection": "跟随连接", "command-create-new-canvas": "新建白板", "command-convert-to-file": "转换为文件……", "instruction-narrow-heading": "以嵌入标题", "instruction-narrow-block": "以嵌入块", "instruction-jump-to-group": "以导航至组", "prompt-to-narrow": "输入章节名称", "label-enter-url": "输入网址", "label-empty-embed": "未找到 \"{{linktext}}\"。", "prompt-add-text": "添加文字……", "prompt-start-search": "搜索……", "label-canvas-help": "帮助", "label-canvas-settings": "白板设定", "label-no-narrow": "显示完整文件", "label-show-default-view": "Show default view", "label-readonly": "只读", "label-disable-readonly": "关闭只读", "label-pan": "移动白板", "label-pan-horizontal": "水平移动白板", "label-zoom": "缩放", "label-select-all": "选中所有元素", "label-add-remove-selection": "选中/移除选中", "label-clone-card": "复制所选元素", "label-constrain-movement-axis": "平移元素", "label-disable-drag-snapping": "临时禁用所有对齐", "label-remove-card": "移除元素", "label-drag-from-below": "从下方拖动或双击", "label-longpress": "长按以新建/移动/选择", "label-drag-pan": "拖拽以平移", "label-pinch-zoom": "捏合以缩放", "label-space-drag-pan": "按住空格拖动鼠标以移动白板", "label-scroll-to-zoom": "滚动以缩放", "label-untitled-group": "未命名组", "label-line-direction": "直线方向", "label-nondirectional": "无方向", "label-unidirectional": "单向", "label-bidirectional": "双向", "label-image": "图片", "label-style": "样式", "msg-no-groups-found": "未找到组", "msg-export-failed-empty-canvas": "无法导出空白板", "msg-updating-links": "白板检测到文件重命名,影响到 {{count}} 个白板文件,正在更新……", "msg-updating-links_plural": "白板检测到文件重命名,影响到 {{count}} 个白板文件,正在更新……", "msg-updated-links": "白板更新了 {{count}} 个嵌入卡片", "msg-updated-links_plural": "白板更新了 {{count}} 个嵌入卡片" }, "bases": { "name": "数据库", "desc": "创建基于笔记属性查询的 Bases 数据库。", "action-new-base": "新建数据库", "action-add-property": "添加属性", "action-add-formula": "添加公式", "action-hide-all": "全部隐藏", "action-toggle-visibility": "切换可见性", "action-delete-property": "删除属性", "action-duplicate-view": "复制视图", "action-delete-view": "删除视图", "action-export-c-s-v": "导出 CSV…", "command-create-new": "创建新数据库", "command-insert-new": "插入新数据库", "command-copy-table": "复制表格到剪贴板", "command-change-view": "更改视图", "command-add-view": "添加视图", "command-add-item": "添加项目", "button-add-view": "添加视图", "button-add-filter": "添加筛选器", "button-add-filter-group": "添加筛选器组", "button-show-all": "显示全部", "button-show-all-count": "显示全部 ({{count}})", "label-all-views": "所有视图", "label-current-view": "当前视图", "placeholder-search-property": "查找或创建…", "label-computed-properties": "计算属性", "label-property-type": "属性类型", "label-hide-property": "隐藏属性", "label-show-property": "显示属性", "label-edit-property": "编辑属性", "placeholder-formula": "x + y", "title-edit-property": "编辑 {{name}}", "label-configure-view": "配置视图", "label-view-layout": "布局", "label-global-filters": "全局筛选器", "label-view-filters": "视图筛选器", "label-view-name": "视图名称", "label-default-view": "视图", "label-view-type-table": "表格", "label-display-name": "显示名称", "label-formula": "公式", "label-sort": "排序", "label-filter": "筛选", "label-properties": "属性", "label-new-item": "新建", "label-new-item-template-file": "新建项目模板文件", "label-new-item-folder": "新建项目文件夹", "label-any-of-the-following": "满足以下任意条件", "label-all-the-following": "满足以下所有条件", "label-none-of-the-following": "不满足以下任何条件", "label-where": "条件", "label-or": "或", "label-and": "且", "label-property-key": "属性", "label-untitled-property": "未命名", "label-file-prop-file": "文件", "label-file-prop-name": "名称", "label-file-prop-base-name": "文件名", "label-file-prop-full-name": "完整文件名", "label-file-prop-path": "路径", "label-file-prop-folder": "文件夹", "label-file-prop-ext": "扩展名", "label-file-prop-ctime": "创建时间", "label-file-prop-mtime": "修改时间", "label-file-prop-size": "文件大小", "label-file-prop-links": "文件链接", "label-file-prop-embeds": "文件嵌入", "label-file-prop-tags": "文件标签", "label-add-sort": "添加排序", "label-limit": "限制结果数量", "label-sort-a-z": "A → Z", "label-sort-z-a": "Z → A", "label-sort-old-new": "从旧到新", "label-sort-new-old": "从新到旧", "label-sort01": "0 → 1", "label-sort10": "1 → 0", "msg-invalid-view-name": "视图名称中包含无效字符: ", "msg-filter-simple-unavailable": "此筛选器无法表示为基础筛选构建器。", "msg-filter-cannot-parse": "无法解析筛选器,因而无法使用基础筛选构建器。", "msg-error-invalid-properties-section": "无效的属性配置。", "msg-error-invalid-property-config": "无效的属性配置: \"{{ name }}\"。", "msg-error-register-view": "无法添加新数据库视图\"{{viewID}}\",已存在同名视图。", "msg-error-unable-to-parse": "无法解析数据库文件:", "msg-error-view-not-found": "未找到视图 \"{{view}}\"", "msg-error-unknown-view-type": "数据库配置了未知视图类型:{{viewtype}}", "msg-error-view-type": "视图必须是数组类型", "msg-error-display-values": "显示值必须是字符串。属性 {{key}} 的值不符合。", "msg-error-must-be-a-type": "\"{{key}}\" 必须是 {{type}} 类型", "msg-error-filter-type": "\"筛选器\" 必须是字符串或对象", "msg-error-filter-must-be-array": "\"{{conjunction}}\" 筛选器必须是数组", "msg-error-filter-allowed-keys": "\"筛选器\" 只能包含 \"and\"、\"or\" 或 \"not\" 键", "msg-error-filter-failed-to-evaluate": "筛选器评估失败:{{message}}", "msg-error-formula-values": "公式值必须是字符串。属性 {{key}} 的值不符合。", "msg-error-computed-failed-to-compute": "计算属性 \"{{key}}\" 的值失败:{{message}}", "msg-error-invalid-query-format": "查询格式无效,必须为 YAML 对象", "msg-error-view-invalid-format": "\"视图\" 项必须是 YAML 对象,但第 {{index}} 项不是", "msg-error-view-name-invalid": "视图 {{index}} 缺少(或含有无效的) \"名称\"", "msg-error-view-missing-required-key": "视图 \"{{viewName}}\" 中必须包含 \"{{key}}\"", "msg-error-view-incorrect-type": "视图 \"{{viewName}}\" 中的 \"{{key}}\" 必须是 {{type}} 类型", "msg-error-view-incorrect-value-type": "视图 \"{{viewName}}\" 中的 \"{{key}}\" 的值必须都是 {{type}} 类型", "msg-error-view-parsing-filters": "无法解析视图 \"{{viewName}}\" 中的筛选器:{{message}}", "msg-error-infinite-loop": "检测到公式中存在无限循环", "msg-error-invalid-property": "无效的属性", "msg-new-item-filtered": "此笔记将被过滤,因为它不符合您的条件", "placeholder-filter-advanced-mode": "高级筛选", "placeholder-limit": "例如: 10", "tooltip-filter-advanced-mode": "高级筛选", "tooltip-filter-simple-mode": "简单筛选", "tooltip-remove-filter": "移除筛选器", "cards": { "name": "卡片", "label-card-size": "卡片大小", "label-image-property": "图像属性", "label-image-fit": "图像适配", "option-image-fit-cover": "裁剪覆盖 (cover)", "option-image-fit-contain": "完整包含 (contain)", "label-image-aspect-ratio": "图像宽高比" }, "table": { "name": "表格", "action-hide-column": "隐藏列", "action-edit-property": "编辑属性…", "action-edit-formula": "编辑公式…", "action-sort-default": "清除排序", "action-sort-a-z": "排序 A → Z", "action-sort-z-a": "排序 Z → A" } } }, "formulas": { "msg-error-parse-formula": "无法解析公式 \"{{ formula }}\"", "msg-error-invalid-function": "无法找到函数 \"{{ function }}\"", "msg-error-invalid-instance-function": "无法找到类型 {{ type }} 上的函数 \"{{ function }}\"", "msg-error-not-enough-arguments": "无法调用函数 \"{{ function }}\",参数不足。", "msg-error-too-many-arguments": "无法调用函数 \"{{ function }}\",参数过多。", "msg-error-type-error": "函数 \"{{ function }}\" 中的类型错误,参数 \"{{ parameter }}\"。预期 {{ expected }},给定 {{ given }}。", "msg-error-invalid-array-access": "无法访问非数组值的索引 {{ index }}", "msg-error-invalid-object-access": "无法在类型 {{ type }} 上找到 {{ index }}" }, "pdf": { "action-highlight-all": "高亮所有", "action-match-diacritics": "匹配变音符号", "action-whole-words": "全字匹配", "action-show-thumbnails": "缩略图", "action-show-outline": "目录", "action-reveal-in-outline": "显示当前所在目录", "action-toggle-sidebar": "切换侧边栏", "action-previous-page": "上一页", "action-next-page": "下一页", "action-fit-width": "适应宽度", "action-fit-height": "适应高度", "action-save-p-d-f-location": "保存文档中的当前位置", "action-copy-annotation": "复制批注", "action-copy-quote": "复制为引用", "action-copy-selection-link": "复制到选区的链接", "action-copy-annot-link": "复制到注释的链接", "action-copy-section-link": "复制到章节的链接", "action-copy-section-link-title": "复制到“{{title}}”的链接", "action-copy-page-link": "复制到页面{{page}}的链接", "msg-max-search-results": "第 {{current}} 项,共 {{limit}}+ 项", "msg-search-count": "第 {{current}} 项,共 {{limit}} 项", "msg-search-count_plural": "第 {{current}} 项,共 {{limit}} 项", "msg-password-protected": "这个 PDF 受密码保护", "msg-invalid-password": "密码错误", "msg-enter-password": "在下方输入密码", "label-of-pages": "/ {{count}}", "label-page-of-pages": "({{current}} / {{count}})", "label-spread-single": "单页", "label-spread-odd": "双页(奇数)", "label-spread-even": "双页(偶数)", "tooltip-sidebar-options": "侧边栏选项", "tooltip-display-options": "显示选项", "label-adapt-to-theme": "适应主题", "label-page": "页面 {{page}}", "page_landmark": "页面 {{page}}", "thumb_page_title": "页面 {{page}}", "thumb_page_canvas": "页面 {{page}}", "text_annotation_type": "[{{type}} 批注]", "annotation_date_string": "{{date}} {{time}}" }, "properties": { "types": { "option-multitext": "列表", "option-unknown": "未知", "option-text": "文本", "option-aliases": "别名", "option-tags": "标签", "option-folder": "文件夹", "option-file": "文件", "option-date": "日期", "option-datetime": "日期 & 时间", "option-number": "数字", "option-checkbox": "复选框" }, "value-suggestion": { "key-link-note": "输入 [[", "instruction-link-note": "以链接笔记", "instruction-dismiss": "以取消" }, "option-property-type": "属性类型", "msg-empty-property-name": "属性名不能为空。", "msg-duplicate-property-name": "同名属性已经存在", "msg-invalid-tag": "不被允许的标签名", "msg-invalid-number": "不被允许的数字", "msg-invalid-properties": "读取属性失败。", "label-no-value": "没有值", "label-heading": "笔记属性", "label-invalid-heading": "无效属性", "label-show-source": "显示源代码", "label-invalid-yaml-marker": "语法错误。无效的元数据 (Frontmatter)", "label-add-property-button": "添加笔记属性", "label-type-mismatch-warning": "未匹配到类型,建议使用 {{type}}", "label-type-mismatch-warning-generic": "类型不匹配", "label-change-property-type": "作为 {{type}} 显示?", "label-change-property-type-desc": "您的 {{oldType}} 数据不兼容。它将被调整以适配新格式。" }, "table": { "label-column": "列", "label-row": "行", "action-row-after": "在下方新增行", "action-column-after": "在右侧新增列", "action-row-before": "在上方新增行", "action-row-up": "向上移动行", "action-row-down": "向下移动行", "action-column-before": "在左侧新增列", "action-column-left": "向左移动列", "action-column-right": "向右移动列", "action-duplicate-row": "复制行", "action-duplicate-column": "复制列", "action-delete-row": "删除行", "action-delete-column": "删除列", "action-align-left": "左对齐", "action-align-center": "居中对齐", "action-align-right": "右对齐", "action-delete-selection": "删除选中的单元格", "action-clear-selection": "清空选中的单元格", "action-sort-a-z": "按列升序 (A-Z)", "action-sort-z-a": "按列降序 (Z-A)", "label-command": "表格: {{command}}" }, "callout": { "option-type": "标注类型", "type": { "info": "信息", "important": "重要", "tip": "提示", "success": "完成", "question": "问题", "warning": "警告", "quote": "引用", "example": "示例", "none": "无" }, "option-other": "其他……", "option-other-placeholder": "标注类型……" }, "nouns": { "count": "{{count}}", "word-with-count": "{{count}} 个词", "word-with-count_plural": "{{count}} 个词", "result-with-count": "{{count}} 个结果", "result-with-count_plural": "{{count}} 个结果", "character-with-count": "{{count}} 个字符", "character-with-count_plural": "{{count}} 个字符", "link-with-count": "{{count}} 条链接", "link-with-count_plural": "{{count}} 条链接", "file-with-count": "{{count}} 个文件", "file-with-count_plural": "{{count}} 个文件", "folder-with-count": "{{count}} 个文件夹", "folder-with-count_plural": "{{count}} 个文件夹", "backlink-with-count": "{{count}} 条反向链接", "backlink-with-count_plural": "{{count}} 条反向链接", "tabs-with-count": "{{count}} 个标签页", "tabs-with-count_plural": "{{count}} 个标签页", "properties-with-count": "{{count}} 个笔记属性", "properties-with-count_plural": "{{count}} 个笔记属性", "site-with-count": "{{count}} 个网站", "site-with-count_plural": "{{count}} 个网站", "plugin-with-count": "{{count}} 个插件", "plugin-with-count_plural": "{{count}} 个插件", "plugin-active-with-count": "{{count}}个启用", "snippet-active-with-count": "{{count}}个片段", "snippet-active-with-count_plural": "{{count}}个片段", "theme-with-count": "{{count}} 个主题", "theme-with-count_plural": "{{count}} 个主题" } }PNG  IHDRA@NPLTEGpLLDRRVTTVV4~UUTTSSj|yRRsQQPPI[oKbPSgENGPOMN犿MFwL{煽逺HJq邻}Iv刽zGF艶CD㍷D㐹BBB^GAj@U[Q<>i]n? e$H: zYI҅>~J" c?=֙B=@} $) g8rA, xyI ڍ%ѩ1m?}IH-2z5ޟLh@@s vdÌz 3YO39OBt1鰏p9*= 'Q GT:i;'IӤԜy@KFl=ďt4= yNΉ4#֚Ӈ~ŋaVfs'B\8` ȵO|;rUrwTTҊ 5#}\ltRhnvbS͵ _7xo3ǹ'F=Ӽ5uxfvۣi|,/I#mD? GB  kf}M;UZnmIGh`@y(`oc Og2e=Դ]pEy6bN@ wCފ>9䡠&&#<`ezd=0FQi7ï]77ho2m2NZPwRc/v=6MOz 6"~6яݧ=@!ac UHeKԚ}'iXC6d{xZsprbPm[|ZQ[ํވ˼o ?OG?gk.NQİ3юR5PZZl#6 o?K˜XeID"ip"]#W]' 5\gAP}ERdXgr6oDx|(vd7O1R4H:>Ќ]sJhv(7ED7H$ij+?r0zo5ʖr]ZټId*3ݪɩRkm+sO,rKf[a@;wG561G8 5SUXt  ?CdVJ:Veܿrg.ZEKB2*(rXdh3-%'VUDH6片O?8ױilj2 ʔ膬<ɫ DBV!3#hXpBtUnėX/trhIbTpD&&rQn:+IްD!ScWdEL4 cވ" ,P\? /8V.3zH~)3$V'<* +NL:+avg сcȎPA|HTEmcE%զ_Wh n x\O$#{h<4 6 gQ6̓W 7MJXAmle#>~؁ҜFɕmTvj*0[[eP%ך%ue+spWzMwAq$+lƫ=43"bw)x; w Snij.:*06ZݝFe6?acn4gc{(7q$ f%B",̓S9kI$P=2FFi4E} #R`x2r%N&)6yI|07O߰{a#9@H wd: ĀrEN|R]Yi&X nd8;pK;}(G;_e25Jx# 8N38Lᐃ >l;ߓhhFVOTEFx|DcF<!>qjJզ4d MGfGGG:<cjW(Ge~TU5sN-QLiӀk>MC Xm g՞S$t}?߀t"xS98RjRp7j -4oG2՞v Ρ W<_W|Hju RpXaLS*1aξOd]P2phH$1_$jjB^U!Vb1bFRt0?'OY,W8(t?!OQ_*ҕ0æK|Q#UĽ|1˅(|he!ʁZ*Ԩsx=?ܓ~$P"PI-$pTaY=,pxfQ/%y,E>Ûv0uU[Op`GT)3B<LB^R !dw1C06ZDgWdi#XC8z_v7W'jI2 2Z;۩DSKi hEC<<܉3~9̗T%2ED Y)g&7!Y$Jw{_d1JZ) 4F,*h Yh2 1p~OL;,a8eCf": '[)Vz_7~>>*}}CXZZܥ}m Mźy|=?hwMRZ`muZmI6:7UchꫩeʫlStҷP&$P0PcK8i0rX5hx:z PM3vR<2%'RbgGJe4F&A^T/D 瓾g_HGD@`2NN,;7bĕԬe rfޜK"e1t)x3 |?= X-cN$%JSL&z+c b1?|1Ժ*0(:hicV!^9 UNBN%ZÇ ;Je@Q2 d+:a@2Sـ|H$<'KW0h*HyIg@L )hKP)5a~RD@Ep4,Po5' A}SP2g`.-TOHB"aR>Yi$aY, Wa#EQ8dA^i7\<#Zz1wt uU ʉ®ll0Wh i?~G8 u = gJu8pf@0NMb{D&#H;A5K )~?T7YBc_?x͌"?)9Se&ScdfdXbEaUlDC\_y;wo.zon02}Z ;mWꋦ@X$@UNtn(8[`9[7 Oqk.go=/B{0V@$R ,TnPRYDTf A%h: x >QnvD=#xT =)9Z;mfXr9H!q1 ,zl4H&'9]*9nj~1eZԦ_]_c9B`fp8XyT3P$L&*ՖKRk 4 RG)ȧE Ĝ%y t4{0]E)4'& V2JS_oKВ7Mis Kޤc 6dKC*C{m5!$h#ޜ _ }QCTƞ+Nf!Y)t _aUGx;_'/I2GpAm92f 6^ Qý?_"HfEDO;{Zxm8)h?O9rPƥ[\Opol!uA6_GW͗a'6Lgwyy;SoȅeqI}G[!xR@fM:fKBd uJ dW/ 4:~u1׿-pR'חyO:mҬҺn[ivϬTΆ<jH*7#_uq-n%{TI*jz 'nBn.qq Ha9'x* #}dڲ^O-Ws:!}  DsW݂?ƥPއ *zeKVU]rU}ZݝJ'QwnR:L0C[U+!X]؎C |ꖇ;5䟇O!%?j b)FռJ uhK~rR;%E(_adi&Y239LrMqAN":M '( tyQrI%['oHUVd\YnE_;@bz6%(PUJe~֭sJj# %LP`0Q įF Xbv~0ȄPuߗ._~e5w#lRsĭ(=HWw@ ɷXDŽVpbhz6=WAۜ:q_|dzv}5ab'@[PT| ׄ7E˳;L01b[5ИZvU!o⢑hWWa4E l ELAFF}R kd6/3dEigf#3ۧ^:8f(`2x0x|(7mrwB!iϘss?\z?ǽ\qzcd#f k MHY lHGnr_wLh/ҙ]1ӂC!ze#sRxS҇%S%H"Уݻݽ+~*hX$nrh঱Vkr^_e?D.&-tvJ흩rnTSvL:,jIFZv<^A`:xCxs5 _Z̝~, PmVM'y 5+eOsIv9ݳ;$]H;v:w< Sc⢮ݺ%vln/.w&v"B:čkj:,+5ihRn##d<;+د.>NL+tOƽr*%Q6kL֞|Ϲqni!kfVMaEj@Fuj ][cZv񨁲UMvTwu$DITF0"8=+GHfEa)mݚ@'/.EzX[Fm2;-ĹzhccBXBVYh:TZS8 U5cjSm],j~w%B}(X%1moK?yzh/".9{+0'bQf % SjKIe0G˙4{gw'j!Pn ([jU3-_ȺʂJ!W L/.1j=QE3)&ʢSW)%q#J۪#A11^[CWGQɪ蚫2JҎ QGviB(At2oh9o׵vN$ѧլ-GޠrWϝZdB2;Ȭ%1ZKJB˜Ɂ+°R H ;51"7$[(tK^q.7znOA`"J&OB' K[s:=%;AS"-&εt),06&m}eƬHl uqwE/]Aq*wq<>Əts5"#\"nsJB|/>'*nǺnA-JJodsU`i]ZIIq[0}`r4ٿr"( BL.=x\M8U;y0SbUY*[a RCpMbG:i|YTs5ڳ$ij `,dzj%. ؞ fHeָk' 2_q.ylܨ l"d8v&SO%fDuЎ嫬6r ieLr0ZaI%7\MQ옓]w*}Co_b4>W> r/qBO@-.(OuQ%Qƽ@2GVrwQ}0ee4[YnW]܋Sȁ?R yrCG Z9n =sؿ~D%a3T.ڂyut܈:St9ߒuKQ!IbpUxJb>& x"`d֒ ds/wcrg%J;iTKdxEcKmkH "ə]¨E[׌$[=Z`c^pAoZ#t B)Oo7*?ؿگŐ$xD)ҳߏH -H%:f=ٮN^]kAPњD"T #/ۄ8ؿ34ОLJ{_:؇2cnY#}7 eKzL*YK"Fr w;Zk=D29 %  :& Fr D6Nh/]%l& 5,'JT >2Y6ץFkSU{^Sʕ\-*mC/MdU?dUG뛄vkW5bKH%0+v4?=jO7w'H+LNDQd. _VOcEgqε Q3.%LUiUIiew5rQ"YL`4xX)E3|""շ.| ebj9VŒ`5P6zA(*06]}b5}Pc9?.o@gHDcԂ{DڣK[֥dTwϚT%ԕFag\ߌ5-U`C@iؾ15'3 đqAAOt#>hg~hV05ȋN mx^DK ^ f씯;׶=y!)`nL,ib]k@U=j{=z"$'xO|/Sq,MG k{Ez)-Qu`#ļдPtMzeR[6i6!Dte| _8 ]m_: EKj!IS$MI h?T.I\O紟QC.hIsIji<$B85LcP?>?<d%6,4yLQtNd;*=l?h_8M$3~?O0By5AA=~!УzV)4,rrpqYHܼs+;*ǂ81vO3'$PwFr_Oj˻\i_o.x71*r0W!ߤy~ NJx'k|ލe$ݻE${톋{q!BYl 6Z!M=>?djl3op27DwMڿCl:ڐ!Nj1.k?IijK4Biq>zĊ%( !<-ӹ R \fߍ*D_~ ڿyVEsaCbK SSrLW [b>BT-ihJMd%<[+) l,Ekq?9һMȁ t## P$| ] g _cnl3{cTO;I+kL &a y=YiJYC(D Ѳ8(A7Id~|RӇ'G7RIq}sA9"& Ō 3; P=ɹI:KV;JibMWaADtu)0A G x>I$m^ ~ OQ^ _p\EM)#Œ1?3ʱⅭ: uB[5,Rj|II 5h)n!UxZD0[pr*Qh§9_ҖihP=R[$H;:9>JO"fZOUQmߓĒ_Qgdڠ$QpE pB&Ck~",jht:TTK|uLsĬg6[bIԮa:Ѱ~ R~JRyWnz ~*QB|@ʥL yWX 2 5 h 8S9% YV2iO0ڀeɜ*eũIlFtgl2ڑzgw,|Aӟ:$2T ,h8m|kԢ`H67r0A5$*}\G5#ޟI<Hw4O\SEuoz{MWrrUH0+u&*ø»xP`stVUo g6ECXez|sĐ(|i  BQEXf~,FA~w{P:۠{c3\<>mrzɐzvRe|pC4w֡+1"?zɣt$8!dB)n۠ #[X"V?U«2ct74WXEC{OӻG.>/M]p6I]8f/𐳐hgafڿMQp=Biu&O,iT4i =@6h O B<;Դ`#xZ$㦡L<s:zU?3x `x d&y8rd E1MClXOmQhm_lLߤc2튄z8h19/sUUa? n7JʛEYӼq&G8PqPӊD\ƽz+gB0idpD5MbNu@ޘR:W;1Cd5 xBHc=m?Ү53vt ψV>SO~<~W+PALQDf%S<Ëm8+#kO6?\g_~P3ƄVy 8UP0UdDva!*2+o(S'oV?˃>#Sffa}L[SɷS 9P4;LC7Arc7Et}P ۆ'*jF 4-C Es<"ďπrr O4a'zЌWdӷB)9MdmVSWo/ X}'i`|*mnh8(qVaAq1QUi V3$m zH‹%{~n'(AG&/?+3Lˣ2xY#%'w>]QGReEBw5Hʧ@ۻfUBFЃ]pof?a\RT Má?T]w_r`v>++ K3DЫLPní6IH1YUY[G[{qĤƽۿ&rk* s-U @OEV$V)o@d'`E0%ݗAjic>+3xE9A#O#DubtMghdrb>J]{2zTpEs~[/_8y]I02^&S=M\URUQK! Nz0ݨ{ZjB+<+ON.跞?߿n>r!kHa"I4a&lQIʛ0!yhz?8Uc,EZ *[zXA 5\}v~B: P O_|7$Ů4<ɠmL@DdO0ՊBH#=J(HBˆ*:`T~HTڤ dN|<pEcSOBH4C};PqXQ;e!C:8Vd PQ7^ri @}'CZJ Mn[ZtGePŀ(#/@+^icK21dn((ƾ+sc)2'Q=[&!{3R +iOyHA z%ooS1V!H7K-@?GENR3IgNHn}YA_0aF€M+ ]hU(W EިsA#%i{PT?~R}}<&ؑHg?lXk5in M3s&҇R) v< 20gs!@MJ&萶ފ 4Dt*( x"ϣ}f,8CCa.#Qu;mD@gSѫ" -V :d d (4i !1Z=1QRʛ7Hk//:z%昂v~LHڙ-{z":I@v)l̶0ZS5CrL=]C"2i@bȴ$bh=>?;ori@ }F0}mL߿JN]$$ؚl*|,2j'M6WfhLsxXPtT>P9=verqH?K慄v |23yo]P. ~N0D,iO4z\aiCL-(S&iCȤ XPqU.?x_yy]iK,5dgG'2J6]=mУԴȃ>;///2X}bqLh́Ωu,V2k:XC9r쯯z|aW2ՃɈp<1i€O]?<2bO&j`>- ݹ'tr"=3(Eh\R19A]7rw ɂ~ @ Iod'h5I.`tAJ Zg>&ۑVLa7 h5QJ# jxE`QC|tJ&-oBA8I /|BOQ)N]2^[ liG(IdR 7}=8 ؀VSg3:8)I*fNd 0aP`Q 25]~|/z^ 9vf޼oo{~ A3vCVʶL[ @f`$g!Pi(Vq;fMI982Гo^(G|kNּ Mzء6qꛡ /fRH;Oc|3gܹqAP1̾I`TutG8Buﭖx{WfP3V"QmU Y'@~ÙB? -b2 .H-7ϸj3}}`uUڎ?v4]u;#5Z"ϰBh/݊P~uQ x~D 8 },nsrx 7v,xzz0q&|tre%/w : UxQRU"*,[d(o7KT e :#vg-,d^ܺ'7ϹҫϹQ+kJT3֒d[֐g.- M6 d $"AeWRff]{)' qo?5*g ? pW,K?yvѐ^-RYǎ|6| %3;$weF2|VB3 L0#^"zBgLA?Lau_}9$9vh77c"hw*^&ن5 p ؼg{c@}ɰ~?ȣOEN-Hb\`L+@UV&'%4Iɲ!~{-˲ϿIs[6MQqP]U4vի>O+gLڐp)Cl\?,C>*iP@+R@SQWSNpc|Ȋ{uBWk5J<0'o-s߱di~U:52zC$>1N\脸i'Nqz?z_f8۱Ē^z$E& >,K$}!c7; ) ЖH2"BHm{䟡2Id"P +Ǹa~?!3AP#S~zGh~S!p\p /`6hAoUFDa7Ra)P)h@,T <(Ve .SuG"%|iowp6bMS95&)D+:&+T (Zv/GZ%_V rXg uX;tTuMfډ *FIA;ϹxvVA<@aq`ؗL('lyFI_o1K#n8 3M?^INP.N ;aE֤bqpE &ŝ y[ψ@w~:$_؎3ȷ_XXM*)/Ac]% !~1>g;Aޜ9mdP և6tqXJ5w򾙘/c|QGI"XihY5N=50Clxz Eq3\SAϮ7nl:A4l|x=Z]!ׇdp's~HQ"Gx Lpzc`'hsSqOq̾dTͽ XD]e˞J]/k.%3jsPu(BBy(Oл֧4f$$U>9!HST#м轉)4qԦ|DZ<$ O⧿:7Sh vR ^oq}/>s/yiTĀrVqş!Cĉ~9΂aMfcEJgyI聧+ z9,&j XBv45 [po3hM}~Ge+4׏}T:Q!=[ O ;H)vX#9H &SeAQ\HǏ{~ݮou3*pҤe^iG ,SЯt_/ b`&.FNK*h3݇+ ?`og P."t*I N32AJp a"H(g}1)9$w84ލE z.dY!ؒJĠ !e)x9˲ةuK  >ha@lDr/|,u7* hoeVݛ պfGnχ:g]6 {9j)!-)G'@'#Vh_?m y1D@w J "N=h$=BN7rc)yNn_OA@PZs6N 8 iZtw!1"iYHNP?B.`!#G,)|gT: yg,A 4)gc] Z\߄[wyDk9G!gG'W ֛BHRAuGTSl ê)3ѣ퓘N}M?+bjVN* +|da<<L5{ޫJ?$[eAgڳDnG܆ 6}b97 ŶotG-hTbА%f&tNRi72 Yh%j<$~xi! "RLK2*U~S&~ iqAxI[7>Ai}ؕ{TOPNv;AaȚ(EL ]t$T(Ғ B$IGKw >h!Ɋ1JB=CJdfmM ,!xǵHE)QKA'-gS-Sn/>d`DBG@k&?7huA-[o L㑑3KO,')B܆U%>8Uz 8`F]-o#v ]/0!#EHaڷ BO)C$f0? c=-n.]XG?^=O(veN>gEc|ɳckJ9"m- r70E`Wg :0@?"~< ̞~Ą!*x~=!+8'9Wz! =Y2so˧lBHTL0w!@,cGMђMqaTb&o K 2ћ_E jM!HӚ9CHpa+r${{I(վ"8AnŃQ qbΝڶ F8R"g4Guٷ2H.` #o{L*صya%Dr )ӠGGYGB񃻫$CG:srZ<0ǸkAlmJeI,jy),XQ yUscӔxu8GKNeo񺵿MJfgzzⳫ{3= l >ƷkAr6χ-{:jjuRx1x$+icbvxs!S?JrwrMt+vFڣ6xRLT{?Br#ly@{H&bUZ[DVm>\;uUGxGOqL<1N^8(2@MZ,:)0ap Ao{s9 2j#>jSrj^&y*mk qKKO̦IZ'M<ȀFF{O_jc(V72ߓd$ ^C˿;sOS)?Psx@oЃ5Z`.A5MSn/Mu)!<^z(߼";N9E׶@gɁ}ף^EA$k-µb,@oDS̴,t4RJ@cH>h}YQ2 )}'Z\?_\-Pƒ4FuZX4H 3'U1nQ<(jx~HuϾr^4cÂ$`>2oIydzw+)8s?ӻ;L](cO1=&ְ4E\e,HB]?7'5k[ڷ9-"H䓒2Zq3P |.h$qC0y*ErP=1NN͝; \9"7"UHA)C^z΀97%7=%vŧM*\ab>kS -[S\~5o^&,IIOY8<7_^<973rOU{VW=:UG <[V)nb0FkoMOBcC_9/[]&fxolSL34/SԘ(6_;FO*sE!GAB:%9$HЋVLiZ`Ej#O#Ж4@ hK uXùB"=5/?\xM,Y)0UkQ$+ o|[-~8 `g}lqh8% ߆;k`h0Rwqa Kz*񒱧HQ-y<M5bY?E)1hÙ axAvf( j s 3=YRnߦ<\_4ܐphh*p6YBfz=*!rI>$~|A3PKHVH̀Toas2 P1}P6y6ps*`0;7tgCaf.簋_?=z ?lԉ>?G_z#*Ewmɦ}DF& W)v2P{45!(K.z! ,f1W"fńrb1c1_ L\9o`7AH~:) >KG*a-\( fA''ƬrQ򿞤4IZ)t\MTJh?:Yk$'ԢuT̉; ;w*:4wꨆ㷃w *.MĈHQ,NmA_?x Tt2?LJn&9E??ބb%!CXEb u}[p9G9US2ɲGw=A~'wC)Y,5e5#Fm FQ)*:a'𓧠oDY'w?q'>cښt銎9w&LB?;O5Nx ײ,rFqdWVGBx|@2 zRϮ'C%5 k%|J>b_Й}l. Z$GsLBS|D³o)87,\ˆe+:ҕ.L)+rvyA6<8SчA*Ym"F:Pfm3tb1Ҹӄ#ZJcR®gEhěف-Ei>7IVeXq|簝=`)1뱅(ϝ ԝ坬4'wve6e?v4j#eXi! pjc{x<[,['ޗ]0Zz"_ΌCcUsbtE6żz1y!/D4>5,w@xNBA1F\2Ĕ`f.ws ;$w3@Ք^+V[FYCs'WJ(cFi*K[}< N&'4rﮔ\"6\d-hdMWVgG(p/ P6-Z!{>SI.(Ěw $,6kG"ѡ8sKڞ@IdSo#30(11ZƘ9,\fc;{5<0 ;M4˒os{NƐWblEh1Cڻ7kQuc4lrgC2%B>;b+JCY#~ǑK*Z*@g` X?@eZi:S}l۸q%tN!?ɺ8LE7K,| = B5moS>ͷsC8QfܸP:ao~Jb7CkwV ~ৄF>H<}c!Dfq`7?~ݗD>pNEr-ն.kL&3@Ls&#ؘnP@o6$~#=r}yrTy >W!?)7kV}f:&E;0e޺􃃎t s-tQ)I+rISߢ(zN~[IgsgDgVTJ^lEB4u(99&|N"|Cl/:cU6[E|2h/bkcdIRu+avL!k(fx ;رO!<ƕޓu0yYTAҋha51ؤ!+Ep'O C=~9@= 6J ?2-+˓{$w9{.e?d@Y:%E:-:iMF9)XYԗ 5~peW3ht֗03\ zt[iscE(?ĉP3z<GLjoR:` %ON;={rFxvZޡ â6^JZ qvt8`Q&5OUUApD ωzsqu. /A%,Gجwm X;p4|gMSjğ(dzx8c w+$Ĝ.eI6nB @.id`f^A'.biGp'0)HmZjJ7J Q; ?>ױkMn=P\rD%e3Mfs/e1."K~}bDra CBG@'no?w[~b+J*;'Q,s^eÆ5BLP.Z?+ =m(Arwg'Ar@S*Qq_Xe|Qv@Wo8"p͈p|l[s21t2 58Y4+;U8j}GEs)=TBLK}ws1>s=~kHI5l$@5e/wp>?%*'m0{2t( 9pI9nxbT*@3 C}U>)nQ{i AI"p>p(PRܼ^+S1r2c9I-2QUD{FPwbЄ_>sfL/9BߘsַtguowٶJGpU$6s~zEax%%nak(zA MT*Q*l0W v>DE p ջM*,밃-ڭ)7؍:{0Z/G|1qeS3Pds7eZ|! *zZQΎXjw -aBlh ;OٻDP-.a{ZVp/Ů"`اDFDM?%Ӵ4PGOf_l/ҵ'Bƪ"ҝd4~\w\֢'2=y;7$Sh2:r#F -bP/#;coWA^IecNgh4]8'cn=ZL]sian]{hcQr^R JP"jcз}eIpr,?vx 3cN:xH!TjAt?1(;8M2F)>m':*srp&7.?w a%||vDhSt3ĠDȄP4OE'P KQY/x 9t&oe\\Ġet40gMcEQAY1tyxdTԘ iRٓ?iM-BGZq6 s.$# 9g Y~xEWt1@bDWqlSv|8GUA 3M1!zPz4ri{GUAT༮$`p_{<RrxTLeC|Z'@NC<I 0A$LD]2(I䶿οw}sJ41)ʬ3G.^{4mpQ,y(D6A|R?<H|\S9";lT':>yueˇtZ[[ݿZNdtB7`Owjt>[Ä"I2[Shc߆ER[H4Xg=i|bL H$ e# @@hV!|. A`[|)k}]ym[y!_Kt%B;=г2P Sޙ?FҼc3ɨ1DC}kqQ{0-o# ZD{am{;ezH\ϵ\߯b&>R=Rs&v`(kdz#e;2$y!8숎rK̏usC/|zp_ pD!KV[?+~I/{+쎨,0Nh UVP8qO$̈́':hE B 79 "? @O3滵"7f9&zqѡqݳ)?BP\]wacC>m?|b\sP&mֻfW,EDFT4 kwXyA)9~ yg wf?qDŽY#'l$n`F8G!?*]_lcPKmgYJtB_4J˜ղhi}{g- _z"A_K:N)LP.Ѐے) A#{!~ujq r\I$=~zi#Cֱ+[˧#ZS׿R<khG[1GjpOʫձ|ې}\G?}EߝbO+ED~v%V܉|4\ a}oJAǨ4NiNZJ2WC9\5w 6f]{ZҶHĢ-;_ӐLJH _^T݆ B&x|[8 : ?Eǯz*䰅RBZ/W*VzsّC9x]{~iCrVHشKmt%r /t.ZĊ?ᵢ͗c,z]_DI#V!3&|aDpQ<?fmǥBxVJ ɐT" FqIm&O J&Gi9da}_w>:4e%5Ŏ &ctbsƵiN ~Jeg&ܛF` )g|g.urmMfߜ -֫G'MH6zg\Zš|g|ZpBúIOp|fr2ã$~(矺ƴ/AzoIT(L٬Ej :p4erdijv'o`xHYd p!eF sNbR/W>1hh@-gWD DS~BFFY[W%9k.Q^׿aw+9!֢1p:i 5{\}H]V!1οp Lf#3 dxR,XrnkBҮ/XRA6x͆ ?Eu.~J} ?>,0v7q%tyuCB'\\串;7#3b^&c@,g1z`v dDڞVWkO}ns}֭8nHW}5r C3Gh4v.(4j=MgOFe{L`SDΩGzΑ!"ZR@YzP[af.Ƥd!?OrAfN.pxL2dIi'GDG5xqV~˶DmNzU?< Z&ls4+?znVk@([ c(kXЬvTP Cg!7I3&<}8{C}ß{PAGz JL@Ͼ>'4YpDsyߪjB)Y 4|y.gACUۖṕ*d)'" =M57d\ f _UU1nXҴ8vXS4 'r)x8 $>.)76>(aGSyE Z|*=6du>wznX[IalC~Ĉo.0*TϏ3 i9uG({S $la2 _v=fK;O'Os[{et?FVL P)Iƭt zHMj~EEaΏ;ʩ?$Dt"]͙OCJt鯀#xtz_m z(<K3Q،δ Ĩ.ob퇡Dj,š692@ێO:xz;U{^f[邦W'y\ؙqdFb"mm`H!OAN|nw-6zC"cPzU ?x Թ`%^ 눤H@g߿c:F}7 J ¸6A] R=#jH T A y*!t!J'U z=fCn V@/%|]J>*s TbN_ZL{>o/|ꟁfǢ0y2cfo|˚h2ۿ نe+,㒇 $g`6$fv֛oVl6L4?1A%EiaN+;Utѝ^>y!@ӝ{.p>ʽ89@>gO;Y-c[fǢ0 *޿j .39Rߓ%qN&ܧ>++rVkӌA;%bO4=Iw3,åM\Cu LjUTIA ð^Q8C!`3ŧN8<ʾqtfg|^eNk|AaT @ѩO@- 9@s$Z@quyۑT8n?YbI̫цBϛsfS123Zyh^Sva3"L0،c?!O&Pgᱥ֒&Xn$:"5:INW16@'>{˷8̅|Mksd..lT:B,~]iֺ=VlI"s,hɸ(N0"lvYY9z>k95sI)~L!hҭQI-[p,IPN,8-fm-hrV%|7BtyEj<eR7?Itq>en d@5Q@Li}knut4OA4azBb*k+ɌB)iKM6gdޞgJi0:`:j[u}J< Hұ9t<D|!bB0eh~ ܏"&MzZu"o$zbb2tJPjB::yf0>d?UFB8)!ODfxUylQ9PR]iZWwq2f Dw8]ܜLE&, A~BЇTcX!PU@ eIfV_ gaM8%K@pNa@su>ҁQ9FFt A{YߙGvA27sKipm^;ʍblfG58cWMsJs>kP(ݨGwL7V;ay/}yp-dHu6BfQˣ^ AԦ>;;yǎzPY韆?M8PK>{g'k&ŠؼHRn%=?1u6Y9w!(VA- zRk#Ǖ9xVF͸@|zpQQMU5խҜ=;úuF:Qh^S\ AeEɱl(|p%)JILG0ɄNN}ҋŎ(? ("Yށ;`P"9+_7eܿSjv>5G b֧o4<_Sj^8KLSEꝁ˗%T Mc*+eLٹZ'EAg[\/BN@ Z&N-c) G:)S@ܮ %\Iesv37];p 2֕=eN[o@@QECb>I~G yfЪB,B\3QkQMK, <8ڒ|NLb,TLr 7v4nY3}3w[ ihA(->PH >Hy! ( qMЏs˓=ś-:F@ꨞ/zzԸü<(' fR%/VG#R*}4  : xޮ.Wm#CL^zC^2!tKPj¨$7XLK>]3N>q|[=LT0.wHd&3>*Hruv_AR~HO~@? +@OoTq9P]͈\2):77d0&9@P%5s3vFq$+>q>f[qي[WSyvQ RY9j5(صQ⧎"?@35 PA=C~ `A6" a|Н~$(˽3JAc:66iILcDSF3f+o>;UT"J+$""!eԓe. 5F  >vZ|PC ^yiύ0ĝk]ٯ p; A%.-"E8..26>nI(9P8rdgo-!K̼s{5k-a b~%*1bO=밀'T UdJ"Gn'wo,^w'Al&y5̚bvVg_#j)*Q;,7P.hF74Be}qA>Bq-TP=n|06q“\1I5B>bh*?-i,s8r.o{l3=Gm]$ 7 HS=bS1Ee'?M*?OÏm-: lpeM0<{)5RJ=1hMnW}VqMekzb9^hfYOtA%j&VNybeOSMRt?@4<CpB?yr9@`}ؚu h|,Z&P zp~ǿZd ly5it͚Lk}2]/oag rQ凲nJ&h1K>kfk8{꣤YCpc-~\<: uVbICĉ"U-Wf\Ìs<,/A/[S,jvfl\lN?_E ]tGsUy< s|/Ar(xS*?d$4~01hoz߸~8g:'bfܣby:e YЧɩySg1eGݷN <_e]E8R&PG#i +ǿ\ٟ!N.nܓ{&IQSתpY\hPMm'X 6-ooђi'z1٨h#.fL˸[u)IV9AT^[-SbnNnK߶lu|՝&;[s+)@$BFEmGNx%զ]<2AS܄{^a%P[ev'(OD>|1۸:Q28vӗH%zO;6?a"P5p-5#YXdR+:MVlCwt:q@4I V0٣- PNܗ}/{uTg||<(ʑeGG+[kJ (4JY,^)7Q93/$vA&Bo"7궉Hl%}q-7@σ).k@JOSv =1?a(mP 85F_DUh; uMj*?6ȜbдCf.'~iu|QR!! 8k.IЯU\h&(hz~y";QJ`P(q$ kȋo"E+^2[7h\ WMBNE݁s֗ڔwa97NGe#7bgm-?6ImzPq C|gsۙ%(P&i*-"7@|*̏,-q֬tc\K^bd^ƽ́C*(hڤ>(fvNq 3 O4%NI.te~'V62?Ye#.^x?aCO;^iG [\Y"b$YtY(¿z\Yh'if_dV,Z栽DQ5sJt?h6Mسjm)\xYD %+OH $X#A ؗYŹ [N {ez+~<\! ƒE.u>ٔ1̊ +;|,6?RP9M|c ֶMs&Y?=}ȅmVvN1Ĥ*5bf@D/T%䡐 BSq@ij$?p=ǁېGħ,=I yPn tH7q_!lK;2 6P]iOn4JbrCc%H8xDHh峻$ﶄGrɄYkr"i$a[Em :,x_g`a r5)8~mo虌 y\Q@D 8`Pܟ؈J!}?Iń$0AR J 1h(fGR`;*݅]]fʹb&k /#mrU%Yk)s,bB,A Ld#SÃpeOg/h@mʼndRbcȃ2918T;Q!}TQa[3+!1T$mp\*DGv!),ˋChʊ K )fg/_B(L5i#1@t=0j2R"Va%S ׵Aw *#e)t t@"61A<-.C%9yXDpKRڍ+:A\+~X]8QˣV:CHp[l'Dxg QbGļDܿU/tA^NrB"E<B4q(]('ҼE+ ,E k pڟl$%SC*Rw1+/_ʮv*EEF&qjUآؙ}=B~ Nkfϸ!1SlG56{KXEm+kLqė@w Ѓ߫P5\A.>w}"ށIm ҲdFrIz*.;<JpaG+JS:Wz#QD%6cSy=Χ΄E?lPiL ؠı##$dBX1RaMI>i{衄ؠ[O/zέiNäEcKxdB~Ä&Eƀ7uEһvxW<>43tG~W{C#EЃ+.KZ7j̓QLpNfСIՠ~^?Ю9*=-بSKw BE jIJ? ~N4 Čp VD)s=E Ѳ,rA"A0A1@qF7M2B<0?lb7gnp1O|G<rF_q>)$A^\BUeelZЯP^PO_1*Ԧ$VȦgDi% 4Fڢэ;DwbOIÍl!d{/e_QXѠg>t~*,U:C%"G8c y[Gr+d ӹ`3aUI&Z@Dq4mBgV:/_P=9n]Fɵ{#Ma. `@K}H~7vכ nsQS$*p!Y?VfhۅvO"CS&md9"rL#",cYMڂօOR_NbߕËGWŦ M&ZR8QFȨv6侎*}ɯ3d'&e{t?ӿ^[38Q mPR$-Ti/6X bJ%z Fq@%g>طTm/Vlf!7p1- n\[Gxzrs'aD,Rnt+WMDx^uM=k@? rЂ8}Z!_w`~;r  nMiH .T]$uTN3\uXL4a<Lh,m4|7YwB2#I(fre%ݹPm_7Y@4~AĿt,z|u55'.^5rUi]W:AdЎ\U™|! ^IO`._7Yq([E: REe.\cWw,@(( S7zb Hzps  LVK;@Bgx-G5dtɬxCXk;bvy(L(D-Q}k þE߈SEtF̘k8_>vQTǶƎ z~'y?u$xUk(>PpǥOKHVŃ@VѷN#@ǯx,Y %mN3qCNvdžu:*+ne/!e(WDNONxQ燈=:dήp z6\d< ?BS~I 7z#nЃdQP6Hkan[?o n?!N-ymsf}1M5ަGԦն!Wy0R㟤9]LgUܐ:CgZ}U#}1V( ^Uw|vRvP"‹FB!JH(%B-\e{?]yv$B'r+O?\GiB?mtd)Q8ч{tgy]!@Q9C̙)ƾd_錳kWM5|,8IY8?obHv &5"rPH4)r{3 CO,<!v6؃;OOq \rI Z?OV %7E]Sؠ_;<I]TcSY6?dtw?cZ"ޝwSʆ~H\ɖQǴ&īQmg }ˣ4 `sG"PJ!}dqIJ mI'i$];rbI%EO:c|o KJ "ǣX3)HǜJӱ" $xSӴ|R03r Y(` (\hz-j'УQ);. rJ-/pz]IVA  p@ 4%bT0b/ y_S6TVIjHm:Vחvcv ej D)0.Iaefԝ~@!utNﱄk&3dN !۝06i,d/ifF4 { N>]@'Qo^&lvaK{|1q/U,e8za^Uϛ$$dKwhA/ζؗi( y!;IGd1żaՠQGVwSE""8-j>m%l m<*,#E(/gyEwJ_Fv+b|N~E!Pr$B o^p5Ob*I 涆KBsjiʍ$m&F3m "A I^7s9]DjaAZCQ-Den'ÿIq(#['k[qP)ԔTRk5ʜ!("do~^>UFx;@؟3#<~gQ Q!L}5?<~S#Y%Q8g+G,f5DA# 20R4&GF4awďV;nj2U!hh!qcȤgѦmm~EE3s߻@-( 8WkEX=ĖӜQJ2nBDi&C?Lq#?Gh}8i=BaFh~bJƍxF9*%BIrs O)>)xnd.39wf4et ȋ87rd6D"Lt{VhhG 6iҽqePl /ʷx0@8;H8Q9tDR3Knܐy;)e ,lD яԝx1{vjsn8N[܎q]C'CjHP¢&4nWb+~wSb@IRR9ߐ1n u"IrE8m0L 0&vd@ 6(TMeMV %C Xq<7#* FcfM_B1nTD}C;QZOGF u:68MEP&(a>6ߌn!!>zS.f l%a @~\#׮ςJ"bB 2FE=Loy)Ax3 ѧ$$ 2R E8Bvּ=C#}lMk"\뷱03A4/4#!l&~In x"ڢ~ķQ  Pd3!Mx( vue*V1n/ua2>oD{vNAO>AGRAK #N-H-A, k&ajWqIBܿ؆7󷬢܅-߆B@Xؔ 4/V*)dULkB(>Iؿy;3\8y:Fp'W!ޑF-A`_Nq)YX_ܝ kGǿDM΀009(ʐp3'W2@^X0/vfr^Mֿ_)qXvU]U]oJ/Oc/qDa8.xjX)8q}ӬD2SJ%`|ٕ.P(f"1}-=E 7QRQ (S [Gر3p  aM'9 HbGJ&>Vms+3ܧ!j2GDR$bl&BJ F(1I `do=sp]  pA=.-PG)FMay -3mu`t%VLf(:sGGѷlLKкgq/M2DN]i#b㥃"oSJx$TtW(!EmBX""8#@Bv%pW~OW =Lz v"F͔J9f\M6'{oZ?DR\Kmn̜/!FkVL`Ҙ}/.dAMmO^ݡ_vc1vH]dkAEٕ |#N\Ŀ>w ~/s0T#CI5W"N+@_g/s` bϼ#-!OeLٻT Nu2m_t/"TA' `kME Wfy !)JfC2BJBu!$x<䧊?0.Q)X#Y(+DPP9|Cl% =|} [2ț$FY!"JbG^UreVsȝ˸.Q΁2GPԺeO#=(H&HSAHS?/wpxCwmiY%4JJ!G3Ajj)|E֒e Yai5^q(YY>GqjK__~:"ܞm;[~uEbtyF\lgIO#/v74ni b1*j.as㒀ѳ;̌+fv,n70Zh=")3aؾv{Sj(M5< 9,pIǕqc{\qZ.]r%܎QПa OyEfMKL@0QQ)UB))E82 ɡ,SwϿmտ⺧ioLEӠrKl̔z/#t7ymQկ[+.n8f=‡ IeBx;ܠ`CX2#-5)0uI7{d|ZaϿW7|cr */f-o|?qљߨ~p?1OF)A Bz ~) JHH@C"fQQJSP":s[TlZS<Ixk{]\鞙qg-lrR)1tǘ`pkWAq=oTxr]@(H1!##MeOh`s$mrltZB$Pé:xlo9jMwH\K yǣ?!e![1³DٕAPݓQ3/G!EG6A@1Q9"FGX[u ڰ.*7la!h-CfZ~#~'$.BV%J QJ93и{*_LP? '/vc'n=2#LX8#];lbZVNv0Bõ'l>K]tMs*l岮Jbu)g8$5&LP&G+JK34 ,-/lBFgu!q\G~8H5DJ# K5s 3JUQ :-ѣ#4Cp&j&W+3Wޘ*f.׸JPLiBfQxC#vjo;݈k6JGJT%~Jw vZ)dhX@T yEH\J:ZHVָAZ ڿ{1^EHPRە^ބ`jBA@hb Rq#A/ZlbPZH2L]VCGON$.9iNFE5P]nQ˓+IȕTQ0)VpdvkڌvenWS[+[QRMPɞ@##y$~C.2$Z&ȭN;ĕ4Z}ADs  @39ZSG(-AQhQ)rhzX4D- !߇VQ fP-k N+kKu=a9g'J/5Н(v$=ŚR賀'R!b 51KEp,l-OEHS%Yh[3 xAR CTPaVrbwVUo>\6 [(X<.%(SJ:m/_ $2RQ)s2 @).d(:Ʋp]3$r_$( IQ 5!J䦊-P}Bꬤ {R.|sK;‚x$_<`iV!ԠQg"{2Cy良C?-MbBeqϺ2o ,g4ޔQuEsn u8(q.tI?K[E\ ʽ)?Z'U1!ZTގ8) 3ph?w@~&0,%a l v^*4QJ AhmZC47/4{ w?Bi t,D(| &]rsk$rO **"O\YPh{ !}0+8{!RfF_6(Q5i3ڲnq؄ _,@&Z͟}y?ZGPf*Li#;vꜢOZ9-]TȿWR`7 a !()&Hȃs ;#oWBwld>A*!oɵǶ: z+ڑ)-Dr^-=3fl(FQH)ސ@>a4: D$H )؊V/Pz=zy*uD\%o*Ra'íeZsvɛoх{\\q}<dK#%f +D6%Pt>jH3ExtH ?`sCE+Yc!uNN 7AH]8[ ~$D( 1{[Ģ-NZ+Fqsۣ5v! A rGhQjt2@e $}lP;ZI3/ڂd,J. D#{0? 9٩kU@ncAxǤ?$3k~@ ?ZZ#Cw+=U0A?D z]JyJzďxP@A`+u~XBB)8?03M^7IBg݀H"90:< sP2-ddBc AP ۏ^!0A|hP}> Z`EB-od՚l[t 㗾0J=Al\串+W5!E0m`&Ǝv` 8X6b'`,b?}UIE{=yuUg4 >.F: 7>-LM`*?qOr";eB-AAМI5M8! d~`H u߆?Ky˛oz驯, NE]! iEON sf]H}Bw!Mt㖘ЧVy FP?\Ue#IU^(%j19;(lϚ վy_uG_t&0~4+]GX|2Srt^WHERQP!@> R|k<4pOڄfH8q\kFtv I9=Yڲsƿ_?E0C n^2 ǎ'xYQwpڋAN/L)-)d8#)SL'I]͆ìu܉DŽ|7ƁZD?a(qWU;p Ct݊43 t Jyi^ )}ԇ7}JAަ_?sˁQ4\?c907bxQQ/bkFCG j"h5ٕ )BHpVā4i@^aʭ?6<}= 7yfي4fDD aj &piZo, I R>Am,ov6E(Yr䅑Igug)`՞U(qt qD>D~#brO%'NRN.;t݆{O]/ZX*Xݤ@vq Vhx]ĮnFB87>az놿Cw'vnA<0f*ݍUSh@ljQ]B99rP ݀+aL|HjDMB,-1t9n+1ԯG/mC)۞xEg eH$}|?[}{Qvj,'4CPtV:ڭNGĄ:x[D/ iFnu!c“ z |prR>#bBU6C{ /" #A6!oNF2N-IžňʰED#c_'ZOn{F4ŒAmk|iUӜWN;uх>l"LWEA"&vFZm'58󩑂 Τ/POGD  EE7Qx{[OJ[͡)ު ~M~R0xVOf_Xv˔sՀb;s:c? ׌PQAsУp֥xJ7}hWC-BۛS{Rߧh^q TJBZA"W ʠ\""ICA?TY| lkT́"+txUJT93YEE5$Qo{ҶGL?‡n$qJZv>̏T,vE_n~h+G4!!@=bpҔc{mMNCx]#SB~RM8B{[ a….ߕg;'aB@bt"NCu<Р?J~Tr.\m']5ty+)U" DPug4=|8*>ԶQd-$!(e+' ڧ@&339+DbSA0P\_dC 52!۟+e.)gUSȳaB!|(q~ YO܅Kƒz{@wȵYWZncHl#.$2]~hq3??nm:E4SC1(EК!PJ0  I0r&ń5 -"0iBDlAu$6PD ٹ匲s|L @Ȋg螳?fߟ}koͦ;MXz!3˸PtO]u(=^f9i"PC_@MhK>'btO.qOn\^C恟8wYفNGihEHK^ H*C?FoX y?"AW-8x2kf1,X.0̛G\2re=Ea <"^5Λ7(Qw|Vk|+=$X1FQPi3#,Hz~hW f'1@ߟaAoU?\\*]J?*8A"GѓDl\0pf! S[#N,(0B1 ~jn$pq&[2Eri&dp-D?WA-?˗iWt+1Cы}qzn4_LISgO-nEN }2>#2Dn o&M81켎F Pv@ qO!iYEc} яDǙLiWVN>AW ~V|4>:=:na3$TE5K'5 zs# y%nz-}cPO!q JRn`]8.H< gB>XY.  ? :ڻ@ hEl%ZJ;xFOd7nCm` 3!c1 MG1iȔS$?NjB Q*9s zՆ+,Y6q 1İ{<}@[J|U0$4CjNev}Xj9&vŋXx*o! LދUf1FIDVzxF!s[L|σ)'$~ u+ʠ] 2CPn޶IoJ;_Y s W7!l<]k8.<17~ÄȾ.H6j.D7z~G,zՋ ".GSAkFN贌P!F=t$hssjǏgÎifk!ke Jm(- zfGG$`|Ep$v41'0D,t:n\w @]}{<=h'i,y˾^%niN)njby^ˣG5.׺UdqpH #m>o|]R7"ǺmB MĎ3=ϐҸʛyx;Q҃?uA'Qni Lp#Ǧ<V)Y[V+mA+f_-5qsh鹋pwV ݪKf:(Zq$rqi E&92@9+ɽ.G&Џck~VZ~U=&[XfYbwv_j(]6+X fg+,H lbqG "j ; QH#g+B ݃z,ty93uHP^s+1q TԹAYiFd ?CPyXHUA5AJoQR,؉tN $>Պc ^^$W8_lת-` W^aA1m}¥(j4(w' I)H‚Հ6 PBQ.^5 g#/3mj71\*(obAAP ™r iQN4eG.X & ?FEcQF[Q;Jr M0(A^i}aʳXt9reboS ]TIRgWC->BK/g七ALCeγss"8"|.P_a3 o)( m<5B{"!H R4=%[bh7&X9 „zS(qI~W\j5r@JZrfAК8+8h%317?W|+}4T9$a@OTُA{Onu(\_Dr(Q2?,jdvxUoq!uӪudϓG"~#Tc}4HʼP!MBDZ@nJrƠv 4x[qOŘlgA.|zS>8ߊ$%'Cul{ЇD)@cO0BO^B q{ :2}r1Pe^ Oޓ. >Pv,P#9q`Lk΍5: <w7W  q|ߟfI yٻnݺY;)ykj*(re`I %}&# r(6M(yk- *lqUP{n$聟i0?oӅy'<os?d!, ACnCĥe|[ uO1A>p^}K3?XW?M2}(ٰ < zӦckS(h"‪ 9U)I=OXPٳx8!FdEP#p5c??.ˤzC1ƴyuO&tgLW}9hvvť=Oz7rkKf]I5@~M9".F*D%RJ5ݡ)?3aA\y jo$@)[)e ;^W"=86gm-^'T?Æ`>t7 E8n$?[v0iH&Vjx g :5P`[/y M` *DxH"홗ʄ n[B8c GuXAPC6:&!oFcrxB>?bpO'„q /~ܭ=vG-sD,.$%"c Z=d(fGh"}rF㫠-o0uܣ JCaC6K s6jjkΘwԻ0Ĵ61M--` A8mB\ ݂ 70AПsmAB!/MSȂe+`=0/EBʯrkGRO$,HhUBж h#OFXFȣP:@L%@Fv= b#JP,k? |#K5tu½uezEF7"ܸfаKTTyQbQmB³VD>4S&ʱӰR hu, Bf(|Ͻt >l8:rǨ0\;$̧/L &vdJ4ىҳxO q;H5f#C^n Lå@2kbŊ b4>6pBoń҄QVGqP%,5\>&s[/ljehJ$NE2C;Rxrkk~v&(Fcdt+R#ŔJYTЎVCZ$%/vBm&TRl] F6l\>${r/AqewVߛƳq#:)_x~Fc_ȃ|~ fL1_ɅbCУGo?, BWa?ƂDv2X:?М!cJ3A~t#X6#ܙ[P{QQoW@6h4̓LO<9Sv{w* Y!Zٳ"n/}%u ^9̏ep20U?Xdɶ5[]S۞~#M pS)JPtjbLH5v6#$?s ?hkh]QP~ z 8;œF:re9pw+s !RGxeߢF^9pf5D#v(! F`,@D+R gTyҺg}g^Nϟ?V6}ϚN_>8[mt}&5@ 2Z-jgx:!P=Oitt׏uo֋4za(ۛCL> 9@W+asqr _}v Aݢ'(wv?{p j`J&ӗgoop1ӓ!p~S M#@ DF$Cdozo qPOxV]$v֊ʗ]s73aO:?yۨ+p|Njd.T@w/V)uZ*A3'AyL3&ŻJTSNBg۟ eF@ ?x`~V(ˁ7h7C!8Aҏl ;k|A\(saX^\͂0 &|OrC=ErV!Qu5S{| :vX(v,miUO:?ӵ7$)ٸҍ!][+}Ɛڝ h SneU䫸'u Q@mffStfw -f2tq7,;2"אkߪI3tvV [/23w3:=iu+7ғyՈхd!'cX Cd/KC!IO&9,C݄-\8 4QcA' ׋UfB^`!NmJ#|m?y=JAw ]%zp( ȴ~Aty|VR`洼g,3(yCC?ZMNV]CngH dBz-{Bm <(;0h\2:]Wkſ=]JԸLPK3_qV?~i^j9l) p1,}{ N$hh?<YNa<(1'%S tu+f^~9L2>GHm@S) >mHCHl|vGHC!%|@9mAcVمb* )w=! s>Cgφ=HJ!IA~f6N/5+ө|֩qS,˂BXoKxu 3#{:h(Dt5@g^ `~zjisГ}d[yμynjl$SSM"oo!'BTEƖZ|R") Z{HuX(Z"Xʟԏ" Nd!~1㬂4A1ZEՄ?V@[B! Ŕ6w1JDQvmVֳBr"gQKE6|.t"C$[yY\>:ЉoPW&Y-y {@aBgC'':@!='-fkuVN&M$cɌL|.1ixRm$~`162D}R8-r!Jϗ mC7UA:W^* D( ;k;:z/8JhxrYCT˲Qՠ(fIjX0_TN*ۙ -.PؑhjcOe qOIk)Ko>=H?Qf͞%㚾ꘝȍHnx36s.dʴ%*."IܽmAdl.=MW.PiJȶl-$#T(6'L5Svj@#-x?`iIo2pCV?[n`\`/:{ɂB2MǓ$kp-#2b.]jc WŒ!sHt;Й-D?^ShY I]dex72Mޭvܦv8FICǺE"Y6:K7P.PȳqbHu] Z^U ^b+$$Y3E^sEC@-i`"}\41;Rg)RkKֻF jdHV|Ϲ1ā5@djqԕi]h_VJl EUՂ|%~4Br|z61Bl{52F!&lh]{tkBޖD 9`EW81!lLs[/S=h`Lb}3NI2\_N3@ _'yĒo"H #Ex)TsjbMo8_2Odҫ1oO(?rzzzI\wݰ܏K˷UrhT BٲćdfB< 1I^G_02\1fإe7^o| !t,@!YC3a #t\/[r]gA~XJ RJь_QS ch?dL;r~[.BK@ZÃ4ٺȃ#+{,r֋A2!.t[Tfψ;N=yWڔ yf+2?W&PGɃ"ek+${FO\*k?<,QW;+qj8;c' FGLd (VHO"3q^bXqvC:t\Hb29OK+3Qޥ'ޘC:fkCF64bBbA.N\A%?T5A]43+*3I<9l:8#elV7BW#: ޼>躍"@~v\<,_r>}?=-ΦuT˪e;&FE1áG 6d<=#ύ2O)A9?kCor/'{ (6JXU2mU 8cA`p,ɭUM \UX~~S(=T'Au@b3B6 Հd Fv!NX.q8䐼tHcjٲ{r\Ƌi^K2"]dX]|!_~hBzqGWS77=.f .Y[:[nPO>Z'tq;' Me|OÎI;muEAIE ']U<:C?2Ak$ZEUn׶ _\#J2{v kBsM(5HBRAou~~}+3&˅l^ݼ99؊#tA-Ö{v~ˀ ҅u<hA]kٴ #P ?X+jj Db ԺC'4'JPS6bX~,A‡!?0eȩt|h+}e<."!?⠀vz0GqvgOWQIvW7AfIxQ^G>^3p"HQ:Z>S*E;"ORUNV h7$nZɞp3@_J1>Fhom葅(,ٯr %;]5‡#h6p2 #znxa{d  'X yv0C AXL7i'OJk* ܯAR rJYƏ{(Wߝ='5[i WAĺ~N+AD,cȅrK;':: VE 1A5D 'sDɏXlP-4HШz>Q!ٴB&G~[n0>U?g :s'6Fp>wmA(=k[LqaWΜ=ss- BGV]HR~`b'?݆Yж!# kJ_őE1;B6= `ѱRu[1:z0JrTgBߊ`25{u(O&r~_hO3!D5[S?"M~sRH @e._(9|vׁ<ݚv-DFhO=3ܐPwA 6(٘PT2ljed_=G[am`v4;, c"8AUiwg~@qh 8vѠMqݩkY rpSVUb7OE^H|H'@Ҡf>0ECw)U۔ 2-2Rfx@G%Re R]THz$"$gR%4qnBhu_s}* g<9H*AQjܥB6-7mC 9"^PFNƆB٭ʁI D=+!PЙ1hPR$x㢣nkqFG:%\PُF(HV񄑰(H: @W ao4%VGo=6 -0 =lNcצMĬ?Us,>khAv| IB+-?BmFe' %!!q0俄] ήD0.r?.Vl5J\kGq:udrH;'g~5,!( *%KR; e}L,* UktJ @32ޛD=|;dsY<4ib2˫# g1ZXP="O^䮷F\ՔĎAhgv!9?>^WQG+=:d5DZjxc ?o}[\`n+ST'0{&ȟ6i|K4Z&5]i;~AW*W`ucQW%rxR(!reE TYcOzNONvq},~`,ɎH'x)u~0#KBޕoKx8-A zO}~݋zѝShT&7{JKрxFĝ̛.RR `GۉC1hp8&!ͧN6#$# Wʬ=!z.|f#9Se9 D^8=cdMs%AHPYXRm zc+穻Дc-#Sjo zr+'@*S \|ۯbn-T П@9 r '2;.`(R2Bo8Ԑ|ŀ'8rVCة̠mh܄:.r\*t< 0A2υz"Р0N*Tsd 3U ywFwWFs}ygYo 6OUKd<rSb*l?T4a*]!_BT?YO!]AQ<fPR%Ah'wuCy%98! x x}t "g nJiv)ّ@K|T yv2xծJͫ{%@dR=m ֠43DoV$Gj<͓{^2"ĤbJ*ISfjӉAq֛]hKb7KE+Pٌ( R8mzu|ۖ|}zصGq1@_8~ rQP5|c BfV I`jC)z,jD N*hOx '@Ɓc&r.PEQ߳AqfR͜ wɸ|WЙ<UN4 ?ı3 x3u/Ww@e:UK0ԃ9 , B*?@JR(qvGyrSX| fW8CَP$GG@(Em OzIջo0\ :6\AӦ.sʽ?m<蠯竦9mnO#⦪t =_^i[D@]Sz(E+l APo־qΑuzR|"M}8&Ja QFpBQɭՁƠD Ks^<UnƍC W{M$?lU_mBIt ]>,!Y{7:kCɎ7% Dt*jN@{EcFx@sz"a[@g-ʥpQ?M*Z;%εʅJS="r捽'*z?e !BeoSByY00BG*iou;D+}I8W34m* VᯬDieqT?WԯfH慟TVN:Vӣ9 bB_w@r6%ԑw\E=VRvm!՜*j#3+\ ѱ,$j~=U7.I~) !4+~l ޘ~l7Z/&w9ʕQ;'~_}20>?v,3aLjʒ  b;e1641C@Eb aܠHX!wUF7鳝dg{{O9sޫ#s~WN~.j +K&3xx:l̍JPkyAl9+ 9gd!v 9,3LrBS881ez"BN:+A.-@By{ q/:J@`ݑҬ=l"`ew6Á֧O:TRlŃGuOE wGvXL=Jt915*Ѿ6R4MYi,o48z~G91 @ Z>h] z5CdE&|0,vȟ$q/[4?8!SOw fSmc)WI> k>TT!DnIok>nBb՟5FEIGhtR2ό 3݉M r`,=y{ d}G IxpKޕQrÐ1 N"e੃ţWlc4u%f' [ӥ@ОTaVWb%Dɔ37"hC">L6AUSgس;Rq?=a"Ag@CsO^"D3盎@tT˱S+J)^+7 O T9ԡ><~L@&p.pGV<:ppvp^90(fP-3SPqs$6փ䎛Vwϝn=ZN,O鄦u˃s]YFyrsT:OWs$K,q( N>~N`}OӶ́LBjGuCM vW>[A$N4Xt 7#s $>o}H|3^79BP4CH#Hgʠ5c x6_R16LkY!:B =Vۡ@Y@ ALQQMc$)']ӵ!^m5(㸺^.O.ѫ jj%@g[E%+7"(a…-W=^<#":J\L%~|2Aaڕs?{{t! A@V)CG<!"1Yk%v9,yT H'q't"0Tuf?$zSÃmџCD"39v C!:@nB7} d?{Ay{9+nߥYb hw7uM7SG;*!s$AgA;MTJQ_"mPxnq{] N9e '|2B,=HZȢ? ~ ډ"SX]_lH $xPրǸ=c:!9L tA|:& hAru(Qbr262XgY[(?^"@!d{=[uiDYtKwch#DZF]_g=Pݤk4(S[S- `Ec%1M yr>σ9#toʎatF=doN.N" ۽{ 3)ʨY&v)#.L: Hï859N%@ @g~3n&5#4Ȩif| #tX@ssd7z c#@mb}qŕ^^j(@}3483L]3u'ӓ7$x!:TpzQ6_D  *O&$ĩ'N,AYH.¬8v,="!3glgPev=Gm;s3"\?ȉTn2ux39d&lx@1$&&$O;ma Tm4 WRG^&)Gu+d|3ksݤrzkߨ4SifM) c *,8".$0oi펷A@8 c8tl=$:ٱ&I|(-C}wm^l*8 IPv>!:ַ~٢?D98p9Z@#\Ԡb*ȇS&{(KIWOmQX/'7f+_]L\^UU-F5ߚ'r547gyskq#  tM ɛC]mͮ?ԥ0Tv TN*?wrTBd7bëw09 ˘ܢ[m zkrgQ%y2DkgdXVrtdeC%]]EPT(}|Àdܴra*:dwAРݓ!Nf{y8(w,Ӝ7 (QyP!C,g< k#W5A76䧒rd;ejMpH 3=Ӛ7M~8M0IODn`CY&;DbG?#!2 !SJLd;ze3 8oQ7*,Q r4󀴟4rbHѷ e_zi8GO|4{1Łi°Fm\(3Dݫ@Dcno Gq'): :LB@LN=y zc{-쇞i)ȉz K&2L3AьIw!-3dNqXE)ŐMU BL*G0VagK|N^Qj%Ѽ*AR#Ъr*J\RG2 Dϰ(Bg|Naey&Au}"EhԮBv>K{ܤ,qQ|N~_ "QAxަm41,?1 ƒ0ef"v1]Q`2.A]=ADt)p,Ki斓*g[Ǣj Q_kT\YÐ]QZae|M:E >ÏLvwdS" y#Z/ۮf F!CHѮrhE; IБuf@.3DPpC>'sBq)C*7[Gq%tn 'o}!FYtxtA4(x͢ܯJfa%nXqUu[/?Jm_TH  sNiB20ئCB?G xqÛȣ_=3+Cd5ė 'n҃ӓN. E!ro(z#{긍qnxZZ/1pM>2<%腿J'8#{Y] -!yUXtvy 1J?[ĪpTݟg0P0 w9ͩLA*}өx|T{T|*?;tnAԠ iR0JP}{;?.TvD)[@xL-s C mo{|0aDJVn׷ՙmꖄېaJ\#FM*fȧ\ >%)T泾kf|d }s&4Tz1~4A߈҆8(AV?q1eB>M 猐H8MPT|0 "7mn6}W'f84)DZ @= RtaQod(q߁_yDZĐw੏3M|lb_^˞7ftqy 7l?d~3z2FOnq ҡF2!+ƫHwFq#1j+ 6yH|j|C8Gg={/(GyPXv5AYA3)J| M CE a ?K"@#B| |~i]Jc|i7ȵׁPAcEuQ\f1_{wF+5T23DcsiD}TbMZџv1cg]C<ȡ\G5mL(n*r# 曱ɏ 0IVH0 Ӗ ;O ^f pdN텃;8/nl"ʁ-~U\oT s :WjpvuX!nۚ=Hv$|nRSZch(_Tm 4K}T 7|>&@2xCU,p&q&Bi1mF΂h ?^@o n&ùOv?=@dMr91zN!34=ڻ J jN8"V[?֙cpa1ASOܟ.OepCl s@H~hfHM "o>=l_ܠ$zP!?37mCnf0X޷1_Ӿky@ # 0&i.Aqngz44T W?S^KunrYS%3͒tvio6\X캮;-Z3Qo`1cL*$)$(4Jt'XH# %=FsgS~wtj3r:߳ƪP8mCek;vi.f$>('r$ʻcF<Ǜ܌Çѹ ?`$JGOɍ*J]Z@_í~K Ybf᠎Aq;o8h|%l|pȶOf)$erEL~AdIy)·O 8<'RxpOo>(i!L(9S}`y[h+ N Rm,(WYl\73$a#-"#tQ: j6sbвy(IV$ ~;i{ONJd&ס͒峚6Ͼ\dne( R&ieԠ\s^{AHIxr14` MNԛ"gS* DP̷;IfiO3Av? ~?"E}~(#@ċwDZiޢ6TXi)އL<XF%Y}V1TGgBeasn󾶢2]A ĥ}wS|3'XLʓ Iz}kQk[]1rˇ :fRC*Yw(HyywH<-TB~`М`Ue`d8j0٨\0tN"Tߒ.WwAU,ȁ s758pPU %AyKAĀLwПDO +@U2 kpґ%|ďpjH!84zQlGQ Cb5 VʍPٌD 1|{3o'hvR4H~$<_C@v4t#ǂO(pQS\֠k܊bޝQkBت#qaO2 |"| WÈ[|I~> RT5 Q;7ǬH8 ZheYN )dIK@E?$/(k۠fvٙPHe*SQ!e@@iSBqϖ$؇C| ?p] oI~T1lnƌE]G>J|+kBp2;^I*~6%o!@O)v :TvocvypjM8E''tDEHFQa!T*q8?ˊvr>B5t?Alm9wMeZLkHA( )@TT/hj""6ӠCl |dj@iaǻ߾pD 8MԂF*pBv:VZ4o 7zvn\.  "){=6,"xo gJaㆣ?PP2A[;B:va2? P&"77d*-[L=$&FY6Qi-iPNJ U QN賿5{hhЫϴ !)}^Hܷ!A) lA\ys27o:͚;1D(lC>QЉ d̎2} ~d1;YUf=;jDL$B4h1 BD!MWth~o)iýkvn|; ~K~Z;MK*>ۆI2GT)dg.oMXZ % <12?§S ;*<$^rZYY&+ʄLGP2ENaY64$L'NBR y~[&>ky/WZ ,Amd"giY1Q온49#a< ƋdEy75"(~xAMjI)xOcs'|憛;!Ah FSIha Lkya#Hx>ܻg>g^{ Blh bMwzRe\+z9~"=4l-`_N]ŷ_ r/% ~=aS1?_dN{"($B0>lYhރE nVZ0v)d7YTBqrW:hQuOiRO3 OB=̂'G ^>lG~DQ(.bq^>%s4ȶ2!Vށ漌m7D/ ZNM"኱5LeOyK Tz~IϙgwN;rAGHW ݔG,%f,%(hYPUͬ;U٨τ % :2ރ3?2DZQYJjG-<4Bϗ>ܲ6!=FIʔ4 ˌg-9 &A[?l]B8^Gkl)U@p[@"l>ٍ~a5sm2CPc2taA\ņ"c( V^ʽҩ)ޛRLfLL>1t"FICu^]Jzi|8tO{X4VG]tt*/r;G\B'͉ ʗZQ(YTnim9z/lG@u t7*A}[C(З@.0V3!vWe&v𰆼o[F4lKЙ?c8:B6?‹0n?~fYBD|7{*)JJCecb2CdcɪLVvᔡ]0J~; P@XG)Ii|42]LU|dsb1oΞnQ\m#ֿjuA d9ÅvuztsfdFB4W!3Y!χb2jЃ]Ms #iy!N)(B@9!lN*df9=.3uty6D3&aHyɉs>+ܑUgTZ3^Q*>R93Gx37ZY3yB",K";@f!!GFkDΞ&h T͖j[SxVW,ٚvt`(-E6S$xH+ҭ *i%h>(Q ;B ꬸpJ"@Xo&N^: TGWhlOM՟5,ֵ^#pTw}SkΌU翰 !ŗ?Տ V`D.ݟ5wt~{Py_WcO֨* ]cNyyBӠORg9 2>={&a]p6:yfF?VCrg(O dF}U"'ڛt/`n dfI p@>[|c>ւ1̊$ 6C1ʆ`+1td+B64(Au=*OlCQoAZv唱[A5πJIQ'Uka5 "-=Bk[ܨШ;~)>T=C8MT"7=@ӱd!۪V&ȟr7|᧱gI;>SV*B8Gj.6Y`r.F$AS" z;. kiuJȷR{Ua}Yj>P1'aʃHZ֦4 e/hڋ~liq&∙f4/;@ػlE|V-e_n$nQ4O}lJڹ2~ljf7]Yk٨* u r8*5?$Hc ں"vP5ԖCrC_6~"P 3Wֵ9=:Ba\ةVdFϚ R" "Bïӈjm:AOdOȶa$BgR"ɇתvW;:t$c!Aˊg国+h &\aU9vO5x?5piP* P=Qe?=G DH >TD^GJ|Sn}G  hJ( l" bl DL8/ h(rWib2? ^ϰ=.HNсc45(w L VU?lrߗMa.!*%n]!M([fDTy4*Th $A $?bG *wD:d Ϝj"lC=1 g&M'1MQ$BydK"[A*QQ\> <uAl렫aJ8tFIEn=hK{Hbc`a@,wFxrW"4H H<8@ڍ  dxI~!i#Z-~6m~dAc.Q$*F7~0D@M"q?pp8p{z-,yNON ɴ?Kym@2B"k,Q3ElgoP*#rcz ͘?-͟uZe*g^csJ7]6iU?1BV$.V| z‚XwXB>Mu|8ܸ6R)q@g< @H3Tڂ5ŕ \*B" @їE LO4PlpFd[Ԥh5N z߿D~f~ƨ&h۲ g8|n̂66؅Kۢ@  cn14(riAbSyA6BR+9P(:'_%rȣ?r`=Jxi 1I r`Xbk7v"YF >wf!#{2W>O|)g# R""qK Odh|ÐN4:e!~ޓE=T#8hYӠT < y%7ς? P,(aGU5T!A99?DH R4 E%٥#ʼn`HM S HJ5q%}/wCOWê#w8\dwd boCMMbPsŃ'E| H##٭(N!K-G%3EQτ$&zƂ BTqc:I)2F'fʹdݪfsglǯ ^//@ o,藗q9 d|ĥƧ萌S]OVVkEAfAGI"BS&B:f?‡@66Xf!AA>j$A$N \ ah >7'B@<0klA2BvR9(Uf)bGCd>xH$A8qE'~:{EZC娒1ljq̣'7 R> Dž5287Tb SvBB<'?J;$hh~u!E* ͓#nx)mCGcB (&} ~G@ى踅lA~G9Cp,?`d:9x4B9bHRCJJS`(bt7_{ 2A:$m O͏i |rW3,Z~E"FE(Nn*A(AHv+]89 i"(3wM'Cpڣ 5j9-lb%qd.8`Gt}xsHJ'S?'Bp1 @J^ WYcN֠A(2R:pUD^*qlQ± Y~xxT1tѬ=!Aq1w g_+TJ$37u Npyp98c<@ cpe`d6y|xeo%51bdo3xUF~ SBJ&"63ؠmO HSG;^|ÿ-/e%yN:#'B!p4td:Z>NvoPfWI@0~b $DT[!f-X>99({,CտY*ղ/AJ+,}2&;y^,~(8=p'O>ijc a^V|QX3I{I4 A˸,,t7,^7Aem]%*yfj, t+lc˴B5~-%OqRe (AϳJ׫ݗI@ASWuvsRLZ~;j:.t"z :Ur0!3 @M d ȈK'Yl2,5s A^dn-mRK8NN2qoY(O[:xZR;r4ieҍ+6]zp݃RHͻ)釢Q 5-A>U? |*{*;A| Hk46t5@"?SbB\f"/.h];6k$P7@G/QؘD = ي,p1d<$AFp)H(Q0ӇÉ}: #F$kD0C20)pCB+ÈxIѲS9jn?z+d.=Lٶ3j޺/XOu!唉`zi \elM{ۣ\--'9^b~}8;h?ɜey o!Tp Z'd[} ?E((- 8*I <āY%,RP#b6Syu(3>{-A/8v5%An /MܸvҜx#m]DY3l̶mufLl-B{[Tkzq[z~lIF1 oO/T p25[u + [<E*}+N? ݅ a7?h6Ilj52_[O5Z^" A/ͨgi1֏`Vfqs)];>LybRno!:L(z}Ҥ<Ɖ腓;obsGI46h Jt<'}! @2.1<>U[~ToMpƠA(bs,=Wl?[ep}8|EvV;van<`حiDYrno8ݸr,nt_CLSSe@Jd_N&[DG} d<0h8%U8NFAxS(N4:G П՟ ^݉XӁ݆Ӆ";b=Մ!&CGC&f9l}+\.^Hb@>'A4,3_Pj;р%@P p'O]=>84H58`V0 %+E'RDh8pۇիyϒ`ڝ,3u\ݦyŖ!3\CGn _Ϯf B|QQ) :zl%k]d<AEM=.R]U8%@|*~` by! Cp$X*(OM,?W= Tq{ {J?[Lzŝ2; ĬED-5ZoT+ލQ_ Ѝj~|7Co[1:qûu@6|Iv\⇡N^4HڏpGw[nej7Iv9ƯɘdVa>U'ɶ{DzFCuA D&gv6dkEGE ] 'LMЉ@>$<ы08O| =ʏs;\>a(487,̘<X;'z*o?2̌BtAvhfVQ+{x6Yi36ۤx d<3ͥ;!(pFP}#2GDjB;-- _:$hǓ .~l( ?劻P2O4(=7|у]I8~{og>I"3K C 9{M(T:A_ll{r5h. ƍ&3FMl5a/E K ` JIQW'?@e <:wyKO=ι:NUb@0oQMGtZ "m L:WܨMfBW_w0M9[lmZV G7{ +f̗T;ڇ<OC(A烰hR~Ƈ1Of]=@TgI} tNzo!(&= ! k|^Y}="=?=h%#VRgC?a"t.IPF76DNy' 3[H /aGuh't~]0>A]mȻ槟MM;_B"sַb،vBI>ms-ASo=f QQDfDlL5ǏN\;<o&7Mo*@;N+DtHik>cDXzg|ԑ'BĒ fO.p#9+kG]r8;6ns&ME-P/jVQR.@d2(3AԠ5>F`T@! #"!zT=O x"ai,&~«LTճdn-/(͚5<ɚ.-6V+̛[gRhC덻6K{ 9.~mL2d>2 7zc9 Wx|EL*tJd7n Ta9&>I@ 1,Y6=[q76wd]],v<(qzlyIB&7* pU8njmYˊL oi8 #0ȐQxe({ dpe > 6N?0O2UB 2YyƇ}C̭Az;7P!eo}u Keݸ*!]nh E*z-}|>Jl-6l2D.,p̴flJv9P*JBٱFͰ-Ov4o!uHrVj/ @Zj3A~3> *C2_ ~ПslR!}ڱ%Iol5觷[2|1bo]!( Cp,LIN rQ$C:q~DH:anI@*(PB B:dkwW@FNW5:$X4q2@(:q7hzr3h

    # n1PBO5HeqNt铧eLT_9!JTƃ[s)*4Vb*\w 虻A+q&Q˲SNHp[5D' P Ǡ,iZks;$Sk-M,i$UwAF ?0BPz0J#[C} +@ |J\B'Ct =@ m<H 6J|l8ZdeZ=ʓi|cܳQR6,xݰ.gyRWޤBT-0$?><:Lr|_A}ziH?Rɍ}2I A+>!AƞN}B4w޼8 l$(q"ĈlO&T *C7%ߦOōK^1k v&3=d`'<(%j `wz ]>"fp[|j`*@>]~4t#WiXda Z׭/Nm UP*#d  CR`\9𖊳f:$Q+ΜUҴ-wSc3d ˥릱K8'W.4Y#p  -B+:%CU6 9T|w5:pWL~Uku@B4܁<C &":f:Ӈ@O;`&qdE}q`5[Wzu'tE Y e/~#A_bJhrKC^,V`4D"9Nj.r" 2"lI#UgCSrf!~3sn~n܇MW~",]+AMO#pI7n8_$=*nOvlE׺NnulND(f jf:Nhκw]-ۻ=/V/~yFʈ=@8=`ҶǤ:qR`nS@ejթv9WHΒgUW\zXko@C~"҅YC[{CkE4JLJǓ.BpP&ةX BLH3URx(^T#ITП[wRbqo%KȆD`'_V!g "_ējiD=<?%O4BP4S Q\ 57 5}8ǔnl^ J AP{Ƨ !>m{QS5ɜ"&lDS>n)΋2 3y52 znd-Ľf8 f$ϗM<^vjpt'P̗5?[y:RʕHPə}$;D`"aK6)Pf}:yi%3!Icn\T2L:5Qq[x{ك[Z^ϰ8%XI F, $Ny84BnYuܑc@6F֒+o لٕ)AAhumq5&vAϬ@oXM"ۖ3?*{pj%i"ZW+HA 3Fe.un9ՀD{~5ָߊAoSS޻}>hW ^o-)$Oy!G(H7XUyڒR ӧ>}J8@RĽ:ZlcL5d֍b r@"Km1ڹB5ߺ :m֩z|<Ϭ.ٶh(4Ar̡TVM 9P鲥G؇=YD FE<̀޿#T`S|8K$95h{^XEgEI.lkwO#0B/f8!Oe(7ӧȐ >O>Õ*;l5(v@ŝRM\c'8GxtdDF#Opv}[qPafhM9YwG 7O!{HR0LACA=GA!2HOgáD0> zѨTm)M^Á۲H# {͠{ìQv(*&W϶ f {m)T>vv ߫3.@I&6! 稞V="%.^,RJ`G셑BE؀H$*UIkpbwd4];u:#ZL{>sQ񱩃;i  _ժltPA&PXV:3z3$Q[N*cd->#0ίm[z%M…4ލ91؊D4h#?A{i:A:yz]!+7 hw-'.a3*F?gA?P_ ǫy >𝖔H <3-Ep4~ug7(6N"=ojϡB=r  ~L}{S zk^YDVdd"[,p(r9#w >דcP4I!8iJ"j=bu=[@iR I0{Izl(}]s ȓ 2ǖsX^7/G j84F ̞=( C< Eht Þ@KR(7䢠F\ƬX2SnJpӡ$@}f*v:SXyǽhZV.E{U|δυ`NR,5cR/u&{5D"Ȯ2gAO_4 +as@rHjM|ԛqɍ#gnU8%JlWOOG}3Yj8 f /MLfBCDj$.YcxWK'G}_׳ >x8PozoRϜ-Ғ87{)&sK~E5Ӛxp*:==sơڢ"8sTc+l}ܝoV-Pp3vje($$CG۶2@f'f MJXGE1{ESo5Z?BGöpx1ȰB\0LGsOvS +#DeL<ˎʳ"Dvrsg9&OsYSVQL%r'.$ͼ"kJ<9DRd%5 B}]J5( F B8GG4;g 9 Uq(.GuP:`/*=~qNjڐUj~#0+ ]8($}khXӃ1,5 P`bAOG"(V"̃WlD \Ї# %}^%C$|60oVH\t;QMg׹*@ll_ȖbxqsN9qw !N=%0q%OLX+@$*R$|]4B->M@%7,,GjA!&Ahc[ Z8§tV`,H%Ē賃7C d׿ő#zx),WQ,[?#T$W̊m!ȡp(1x9Wc G 3rv|O_BHEk"ND M4 DiA?[ A׹i$ ;b"0!}K L dǖH;:2$zhxa?diI?J8/fO x^*W).s$II«8/AdqDZ#V"*A3:.]*9\[Fz| D[Ӕrqp) nQ8 *Uv^mU߿h=Z8FE$P_ţEnimGq2&&HΪ U IthE6cDva;WfV>_@l+ȝI~gk*^*F 6NTfh]IttJr#+PC@~I5ǩf1?!(/PsDH&%J1G-FD97  (t?~:ן?I|(}FA; ʲ=NH#זP3JOGJWtc°WLZ%bpp$>z|IBA~ }yAX4҇yӠ'zCU$3H8= +L \A:p;A'ytk^~B?EZɭHKzxWm kHutJ:@rMlو]r}S(my* m|%30 W' ov dx9)g "^7@ 5hspQRnGa9A"s:ᶔ lOn_?\pd6"D: בc9sẸTx5g2_}R[B}SʶA,“7I~@ @jMv= Svj/|<)'sA!?PQvPmsmg Ud'q @WB$I_Re;AA.H@^\1 w~D2iK|"(߅ !` z Q' {^Y WE@A !d6(gnjC8PT*C,Mxt{d#ʔMٝcIsCy Ϯ RGRW B԰סTK )ѭ`Gʸ"MI(7 ^,^ AkA ˠ>B4WᮄWYf9tTT@,RJ,?(BuJ)'tkD 0k|#`QPi(<{fke/ᤇHL t~ta@a„A%"A+$Gr~޼\4OLbr[xc_<K1]Y1اqmu*njeƫ\+p-eБ-ZjM2c*gtADŵ?Y*:qP'Tp]:vC@p+ ȃۗe q B@^͖Pȋ([\ichBs@Jtyjjy;g]ۓ-b/:0Zi'u{>j{[*]Vjw4yj>yQ> 0G) q)*=);{p<#q eui87z]^&I/g8.ӴnoԕmRہc1ce{BTGs. pjn%n>x}r0NqyƯyXSJE-I"@R,Fp^ƓAĤI$:U`\X^/QҷV]{3q-%8*Śs8hxS;C%[uȐ4qaWwCЫEm߿k\UŠqa=X/GH9J1u8J0Ior'MhdAWtK(Fx#!lC!p(*Wwt#p] XE3~4ڻxPFUN ~UW"_C,|ڔ6(MOipzhA|VyA&4/__|ϭ$۟4ȹʏ.<5Pd^ e[kwoAis_Dʟo#mJDUɣMěPSBmVT1qͱO"NtDG(*(B!^!#cV!s"v!4|ЉBB܀>e߯G?\UW W~gK(Wq?c1۰w!5~(*kQh2T(+GrEg 1nMhXۏ7?[@ I-/-\7?PQ:!=O{!SNh%LVH |Ɏ̄‡F$oQ%N%KRZ!1Qkk p,X#:WW9GPwo~%h@?BiU\XEa 6I6kuxH'L7ԁ/,ϻk.R |,wߪM# _6QϼԼ\hYs31lW̌ΚLa@!iY~_9 =`r\\k5u{еa`ϛX.1bUe"P>J89G+ :YHRGGs4+j2,Gv{E_b_'uV83蝏q`/dPuNA(aB`_ R]GCj]~ iU|D#(H[b4ni]n(wݵΠ 'ΡCZi]>C ˿ *\IJ39);P1 7&1),Z _e(qj02dtGɨ%I*xK&qXk%7z8ڮu)<5h(\y-iH|5C,z)L)_oV>\,\BEo/73'4QvBF8"odUl0 !E jWk\vH2*tRZŸ\wodBeﰑ(D*]aN,$_L7 G E U*0؞0^Âvrp'o" +!?kM. ICb^6&"ҽvnFﮯ^f/Gɂi [ JFp'B4!J9nD5<K2cG7AjeS2Gv\<4fYj?̛Ǖ)#>*]<#=e/(1X+6NC 8 ?K}w z}W @I+SklgDӂa5.xAKl4KbQ190gtb,3g Љ'c_PHD@N0Y:c`<0MmDMX.fqGI2ۄ$u1hE˘QMImDSjƼ\ 50gTi`Nl58n0Do+$kz<gȊ2L bGno8jV@сLи[bj608nd\3M1#d\k~-%ʅ~+'m79I6YA(s94a)d $D%c GXƴN/JY䗍R$e9[4riqӉok!%,>IDR*YP.:eSN[NEsK|r1iVf:׳ SZD0Y4>rWX8g'>8d ba9?7O- *pX +%!a (E!gg"5̼ Lkjs?5O/3b"UR?`GS&; tCrMA !|gstEE(M+!U%Q:(Ggӡ249W#Y<2tlbdfI%nJg?mKX<@H>3Z͔1Ch8Ey6X~$B~DKW7W񳀞g Yq`p,&'uƖ7Y~&3) \K&dU4TiRb0:6:SyffU@`'4Rɑ79 Cuo4d0oIViw[qm'M BlF3%MJ 4?6/!Se) 4pl=c2Qebؤ+> b.\4ּH*Xh)S~'~V~U6@In<ω)Pl,gK,sʶ !I"?k(h)v, 氇O? e IT' WIj[q3T!>&Uj IȈϛl=PlT4hٕrﴢOXp p%ŗ/.RPyzѓ7:eHݪx1%77%%J9?a/M*UZv+F--HۋuQ8Խݾ_G[*Ȳ&޷ XP;Y="G3EH#?hBf|@FD1Bzjj*C=;a]%Bw"JG⺃>ۗGӛs7K34*E.Dxq!@Vj!Z&W O$ = htwFYϮKDX!NJ4I UNv0FrMنe]q;_Iq7V-/BZ9yQ[lG'cɴj,nPVD:2?;N拽AHjJg?wp$S]ޠߖ"cMW%t\NޣJ7cN 8ĉ|ЃY3? ClN@ԥO`hk.F/L脫000u]IwLJtǐ0HZ-cuo&OYȒln!qF]`[:Q9NC&w  lqǕJ-I.G'-9>#~R9ˆ:`$k }P@) ̕/ҚXiث`29D?Yt-LIx֝ ~l 5 KF3ϭl)sLqNߜC& je=-7-Ď kh)Xyf5zٖVP՞&K  Rm rD+ S +gv %:xIo eV?~_̗LJ<"!G&3mlxqr̥a[z1T*1Nm%1dFsi>D< )倆Q4+’:kNE ]0͍#ʄɾB(?$"2ӃTawWqnrTDb>]ՙd݋Ӣ>I uo:GDsg𓟼y4yD",'e;uݧK~'gZXñBd+ü{ʿ4hP3n͸ۨGO`b~Lν: 27;ݧ;dnѲ;& ^cVM6r 7EQ$sG?LwL$:;S0R|oe {ѕ?ɇETVRRYXюq0aFa!?"2"i b_Lw$21TV2\ٺm/g#L:r!,{Fߎˇǹ&~HJۜr,Hx[47$+%(,tдObd9GO!/^,Q$aoC &DM9a5L:7:8¶5(ږPP4isrzٌQԮ{# Үv)`f$я7DkRFృ6Bu~Al|?_N%Wѝr^ ĴG޴9ŸCV Wa0?=r9a$2|;c}te$ؙaFȤ p/W r\=HE.b*YdE q#ժQОd"\r5ˈ/^uwh9 v6 ̞L͇V0/Gn`Ōv&9<B(b|^Hvڜ)Q27&b{ b"X:|<2Vr pA*tRt30*܋]CCKB $ [z?Sw茧ӭn1ͦӻr qUeN!<3')( 'Wc<~O,͸n[&eY'ӐOwG+|Jy'}ie}xbeXIfMM*SIENDB`PNG  IHDRæ$PLTEGpLt㰑鹿洞~z쳔龍ﱒ﬊韛yL|NrFʬe{M١|w?zM|G_ⵘ\i밑U߮Zk?ŒfOyLhpyC~~JQ籒_os촕}zìu켠vKεO続k^S踛dY軞W蹝d废bcm뻠d仠Ue形ƯaªaëawcĭŮfƯDZɳîȲvɴʵн˶rh̸κqpϼн}ѿb-qE˨a,̎g_1c2œm๠c4zPa0k=șt|QkXg:~Th9a-bڭa.Ɇ^b/d3nAyOa2c1uJc2Dž]֎me4ƃ[sGf6ƹl>ț}ځa|YrL`5b7X,R%Q%_3kDwSig7Y-g8\0T(^2nEV*lAtIlAj;ǂYsHZ.pEi>`m?d8oDoBqFj?gQ8PP4mㄈq涁< #2{o!܂L9AB3OB$VXʱ\OPMB%, $Z4C_k`5fIm _ʦ(sIdb UJ=#(W.(hP6e !ԅXxAY)?v@q`6(.e ퟺ 8) Vgr[@,0 @qVz{ge(<++9B eApO@|&F'u$.eE`s7c_ԗz?h\م$|6 tƐ}.`~OIwXM013t³@,%s4'v8zVzsꏟA-!w]ds@ΆG@2j}ꯂ㻼y&H ?<#OXudƠLL= 6O6~1'n>SykHϤ8Kv 963'gXp4N\ |Hxܫs,AGyy><(=8șXا楞Wwpe2oi'3y>`~8Ъ dwV6hi,h^=Lq"3옚 CF: y~ KSNj^7 ua:!<(~[z0K}vLy*+va~)j_Ln@>U &.  A2|tDj3H PH/sAN%?&ϝM8I VU0 ro^ |&E}gNM/"ӿt d;F1Et0`q7oXn ʥa >'fADbԟn/}0?UP5'f=ƀE )l 3(bBxk*Xad ΨY~,AߺG$Z ~tt>gL,rwL0;CDT~TGKl`!P(r}KE7U5@sgXRx9 6}&,/JCY KegB~As%倽 eIOh_ { 5 f4{gBypD0@Z*mԯtFFh f~珋ﭤLgn8-1ݠ_ @FUzBs2Avբ_:FY "Md?n+vItH5}9`KDž G5 <nB0aKZr0 =ˌK!X\ 20pKpč4bcP>"C'P*170s? D0qO?8`ʶ Є|us4 鏍Pw-]|1p8>#$BM_ʈb%uzwm۵ DWXEpoHT8A{}U?(->M'3S w >"|n_eMk?!p:CuG!"ݨzF?[xTClmMr-udaߐFE ^]f}rJ|\)^|#%`a"H7٘|Hs 0IUh=%@3@Vo44ԎyY?Ԥ!6 2MT9/m.q`*Naj*؉=Ձ?+ھ%w  i旍ğt|lL{s+`уL < 9Kc afO<`;> 6`#@ hMo{g *ŴE!fZx4e~VA<O&֖~/B0}ߤT_g \?O `&1to*-ݧz[˰+ćhB|0$`pu@Vu[t!8i+#Jx`9P hyptlK#&+?v%k6'.q'@ߘ[VOZtʕ`p6?UeEx(F@ɐ &\>o}]xSSP[mQ (%pv-h }٭ me_9ʴNbUi3pXFS>/n[_Mj*PVJB,0o+tt0HږC~G'g\7;X #X.MBf83?BXyK0 ܙ p5HbZpLb)oq}v ":5c@Q~t;O=1tnʕ`.4dTp@k?+?[x l A-P$[л;F"4L_*w#~i|6zv|Ls\]!8Հi NnK'1 /&-}:(k`52w_}"$H+(S]}Eo? e,xin# q?f5$ <eu4S@>GUo`~ȓ  `j0I'm8AG9?Ik=?؎ߊ- Xy.l 66wsP VM%9~t{̟VqWXdǍ+ 0/D#o((PQ"@]ߔ@_,1x%XWU;샿U'-HEa`{L_pBxpG=}!l?S}jjA%mus?f'Wu?g} p{xz{eǽ鈧A?M?ߐ!7mjOt7E3w=D)˜g_vK{w{$7}PR4{O[Glww k9`rVn$fppF<ďzEjGt~7ɘ-D'=8 zL_|?IM_wMcx :?J(8׽- ET 6#NLa ncs_-/C2gS@j>a:[%~TSE8QS&]JɉQ?'dG?'2O;Z5P+*- -?M)Hp(>ѿ,« _G(?do?~W|_~M~͢w8 ĉ@/O?CPO> yLbmY"}O-`,=D@'& ]x%)c_qx|: sK>lIPUh`#?/tIɯ^Lۑ}+?-sb: 'hvs׺KNv`]w=ڑ_7k, uWyٱ5T'iKE.?_nlj/ ' 6j!^{['IʳDEX y?T~_z}jLgo'=V}`&<5;wd4'0@>0̟v]6@}p_Š= !( ?7J"X\,-qX\-AV b%ArҠadL<曚뮇&{}_W3W^Uu++ӿ+??=kj3O:A ]; n?־/Ǭto=dChB{k7X4Ǜc>3֘kƓ|5dic)ƘSUW ` 2ߋ[| 1,g7" t7g2YAgmLlO\&]a+f-U\RSL] \-m?fW.}?HF c_wvCQ6璡 ԱX-Y{|7}o9WcVEٟ/'zo-SH <@/d.;ULRN1c_~61&b$%,L Nz|]ї ^GSSq 2"},){wbUȅ+CwX^oM߯Ik_GX\h}їiы{Laq*ڰ*u3K?[?w\e!"ewdT!t?ͿY?},O!Cڷt0T;NtuU_/!mV>ZWah *m?x7F%?!s{_}g,`>hM*|n?*p|I(p/9ן;;4p:#DSeRGڟm_fA2,t/HFUamkXN7YI>5Ek@B ?RxKрU ׿,-D"zp:oZ?؛: ī\.h &/\ '_ݿx?" U@It3gXP/}/3ro=QmS5(Y=٧EKOq}sw~2d"8ao]e1셢0s{Э?o?={ɾg9r!< ۂ+{Ux@>aCҷȨޢ7m)>kks 环p1+̒l͏?臌;a \GjM:_Wf?`',^?/urDoﷶ8Cr<%^访\w j>#xЩ-[ج?" m0^pO~ZNmf;SvC+_;{ኀ_·ʅo:oW)8OaGO- G`UЏ= ¿0?uy/|@Z}ZU\BɿGZɀ; xg_8'F!eG= X5"6no< n^IASA0o;oqayM._.ԙ _7hE/ :C̝l _& `:vz?|a\6"sWǚ3ԟP?_3$k7Ieǽ~&0X/C7=S(e*<{Ao Ze߸@{'/7|;X$F5Ve v-#n̫G?+ww:LvvDz0V2|wi~7|;C{>{{_ ?C9 vvĥew+Qޒ'fqfshuۋy'~}'CC:ȠCz25[M?/FwW^ɔEl\Ο Vb#`Aߖ`S%\]_,u&U:~&B6do12]`ߢk^NJ䯫&8d36 k:C⯛?ox2&D0KYiKVt֧ܗ]Fg/`_H74 MwTDd_r-sǍЩz" T7F!ukO[|3k~[d:K`*0 >&BV[֛ϿU,ЏD=c0P)՟ >[!Ԅ3Ϋ,GqwGjƁ=fWvz2L y쟕vk1 A r?u`1YUvφ)fo^.` 8n\#W$O0Lc/?7뼢i ȱVbAZi!$ 0M\*uYn )D )Jb)ƔaI4RLHi]3( ϼwߛy8~{g_4,QF?5nĭ#pNDO8x7tVB@zW?_o?{@N8M[8mpDV.,ݻO?2t@~7Et@??OۇwUe"8"?pùquKo3 쯶_p@;NàpD\ҽ$ݞ-:`eC`|?~;qQw r7P?nr=R34gcGk%qp4\{1|xf?shy{~Q η @f!7oy#Qp2~~糹<ӄ@`C u! 7*;nFE=F݁tU>8 .p-NjsЈ/v_i!Ղ 7ŞOi~Q? 9 A+A~m<@=&[&D3O5~m^}#a#Pw(`)?n?'*ܮ&%#g -^?*5 O6jm_/ f !5>^lWT:1?{pwC§[N?¿ =N p,'!>p!/j=_?KE$8q@Hc zWe_AWB`? f+ks,EVbT0;n&wai֦"B bz6s+~(( 1)wS nsu@9Wˎ`.p+]Uԟ m |kܛ@o?~l_ǁ P)0 F0؏Z-XGy&CN(;[U~:Vf}|>A=OUqŷǁ_.l'~G; R0!_Ƿ~H)[>>q܂dSpM=( ܟy;܏<.bj2\xw !^s!>[Ņwv6'Zv U0k_,?d_N=|y/(s!x!So_}Es'ۍAnpЂ !dz!;~sg>Ɖ[M!X@!8d0vwwփĊ7]AU  \ kx"'`M0?05 Bm.d~p_ uM#@0hx Á?(19`SP% PF?@~p#h!@< APkO /2tpq\s$ S ̳ߨ7wg?vbUH r@cc-Z0wyH+4 /aL/,w-O$ ,qF@r}ƽ)ʕ40uJf{[Y566@E!K}xt̶pgT @y>C(˃7 A7Y{[tz".i ^2}4sZ6o֟}/y'yAi s+F ĩxJ ea3@A~3û;t\bc" ÿ=Z?['D/y$m60T;ަ@SqjmY5>ƙn!\<La+m4pрKr]#яo<h\w;D (w䷔ibUxm,7DZ1ݡ%(`;rCBx2(k/~ʹq5Ma ^7orˇŠ 5LC3OKOazlJ`!@  &`?Sg8X/|bAE04<ᑀ= PяԀ@*;hcGx{F> +s4x@) ;8f },c 芏x .j1)`o!70Tmޢ@!`2}WV-ՃL @cw>{ُ_y:yO B` D~cRP/ X [@%OI/u ^= XI( h}OȖeޱOD {NNC/`PR]B~[ėPΕg-2}E~S>(:cO Jc|16 A! ق@3z3OeiV~'#qo`t:vb;d`Ղ&h׊0_ p좟 BcoG 7 ;bk SA`,7f'cA7D+kl8`CP3"p kp_bQ{1X CA$ox8wq0TO?s:0B,oY f?s=?qCmHq + KT noCh*_X;e~> H`1B$@q & $ F 1L: { 6A?1 .Wc`h(BO7v{ L% X%8EI{xp.?>@ .8ifGetA;'I;X!Vx]'&T~jǙh Hr|Ȯ:f^  ǃMB *B.6@I=gf! d@_@ `5 _]E=iXpB"j-:҉(,ÓO5Lb .y5Kk~O @IBq # |yS @_ ?%ȯ:@+^34N 'k4pHl!,`H ~̒60 Hw~*OrN#:( 1>pF Dl(LVT Vdvd8OT !c\S#AFߞ%& bK@`uM@^ @!>s}}͙ @Jwp6x nC5CPP2@&LsCT4V$c8_am(@C{ސ8 ć{Ļc?l.e ւv< w / 2Q+-5PH.Vv),~(@H - 2 S.B\i/G+ ~?+u7ZW 4;`#?+{W:(dQNZ96r  Y w|APuK`y/ m;l(h<{x!{ h1>p~B«QT4 5;Dxx,#8HqH EQWE>K.Q@3?pOZg2ݡTP0ZI`Ug/T ~j?ZxxwpR?q`4YFga x E A@b9փeK3/SV"ɗtϟr@) J:~ڟE?xy*OIAF 0Q 6?4hĉKE]^. :/yl^Oa<q@f6N X Ht5 &QS  J]j9oHwyH9D(bttg&+tz?? Dݦk܀ ; Ś``z`/ܙG p9oAgϞ=./A6 Z`7`J|X'WOA&GSk!=A C;{9`kߢ$AH\$ܞJ8c]sB @!n 7 A@mddԟ/EPrQY`b`QBaOk= ~O={{܁}0R@B HG/GHc[i(?{\qqk5H'͢wl?*g@p|fF@U 驜=B"?8ǀâ,?Ma BXk|q_=!rк}1h`(`\{`\ͥt%B&Jp V/RHa -۞9Oww T@)8Av\/jC`R # |wu1xb!F}V-Is1rPxKBAi +ɽ]+^6p^Y&?Ew Fd`(Q?R_6|8qe  T *JC;hD=H'À%@0hc^(]x)!T%r*)$@ѕ*p(k ]P-aU7 J^t'/_:e|ۉh+eRCP}FK pA+`=&`v҂P%\Z+,VXs?E='!LY / B]qmmCY >*_ǖ9 eQ9&s@#R@PY ?-}ҩ:# ͟h(J'x±o U 1,U{ F S] Ŀ)e#w z_^8. r࿘/Phb0r"? 5}޽8==o*0&<࿯'??pƍ]PD(l4Wy!E!, ᏈN/_>-1Gm%![ۉxٗH0T6 ]|t$L{ 8Q&|^_ A?\ RlD~7 wBF`Ÿ$'@\;~_ eIa/SEb?|_ï?JHkE3i71ܼvy"я@/1oc$X+HHp>1[ ̙٦^pGq&ƪ<㢩RI(FR#Xذ`1 A#!XhP4R%#9X+YR uTcf cSSv~}rϹgRlɢ Ã}<\[ACN/N{^ B>zE> x9zZufo, ~>ujI \ _"ũ[ձ?v5n>Z$:Wc_Q x ZS=h;U_q wE_&;cajl̝Uv(t H#@O 4`Igvο!^\|`75Ge#\/z;{o}r4 o'[>$c̢3ԁd'eX;/%?pD{ЖߎaB}0/~o| ܷSlڽ".`myy,RDC~d4Dx%Wٽ)ò/4w€W݀B!*{Hxn/V85E] _R]5 <;!#y7;+ƵNG57΁$$Ap B>e<@m4)RżK`Ct.G+$HUW[1}Y董<ȳ n;S" ! $:0{C.vӿ0 >Oŧz`c﹁"޲R<*;8E_!Nq2TH/6 G_" ~;]j)- GPd YK8/j*7`P . /":Kƿ>_bW@.T('j0M A'rGK(lEf.v2奰O>U=>2~?*l[<$pAwvp`ze 02`/oFC?-S: bؾk`ߋ]:a8ٜda h`sPP/NCCU"U }bWajؗ-?b'Ǜ 8y|ا% `,ؽC40x. _8#<0|Adv9t8_tv`8gȀ 7x^JYz7WsFJ MCzBO DogQwkl~]G>VϛN:5;n-2o R 0:dяT915GP#:yL ?`swm S'K2GB*@`.D'' {? `zP8|@:7u8%8P(KӷkGL2 ԃ\.0p6 /&.ƿ5%oG*(hs@a` Wd|4t nh_SV/j8y01xNtM LA֏zU_mhר2(X@ql?}/YB ['Ls8I!d6*4' jH0u-_EBK95g:TviDP4{kr In|[' 1`$ DBH8\@qǿV E h x'.D؎A~# ukss$JA\ka6;v@j[PQB &,3 g^<;{jpdD{[@//dd{phw{0x^v_v~j> %h t~*6~}{nܻl\Rjp T|?@M\ (.Y]qATw~!@_Dx[ p,}zBq*; 9W@ҞV@wӟ:A=*8OnGR9_&.vdinPA<%D}L x0 q½8C H lb}C~$ӎŹ(zA?YߙV4 <ǧ~?f<1>"tq*L U৴`qaa~aLLXo`p1<S؇'}-E@8*S }{+b?ُ9}ݗ g hqЏ&8p ;_}G Ak. xo?gb\7F+`|Pa cv 1 pR@>՟ýp F @!c,XM|UWkut]P@|p8;Y`7=;+A/@;<p@;)0{tL᥽O+԰tpB(!R0-OCoV;  {'@nUce0ðΐ4N9n{ fx] M Prq_5hp\0&<ПB4".Z8 p]'d~} "Q,qP|G>ER.ޝ|^$ w+`;BhLRql( @/B )ஷu/R__SaХ鉅sR ȝ E89\ "$1 AW]H [aVI|keF" ` Zl50_`/?/r2(d@.XڧKOɗxu?O @?xkߧ0!`8'˾hR@74>gx̫GwPRhߏ[Z:%AJ0l0| g㻵mil%@sX;0|:hgjA\`Z-}q~d 8%0@6"bd''6~dvA*I6@wH֟p_og*2DMS:H4wM۱M@v])%R+sAGWeS $g9 ZŶ EP#  `'k_2G!~\ ΄^@`tM!@׶ //'|oB6@`p]V?\N.,  σb\<S*ou~9XhZi?OUg~xxza~&tmM^0%[sX'(eӁ,ӿKuK߭U'n³K Ս0dLxjVMEgvi_$,vD@φQ?X9r/pkUbu< p(q􀧨$"/l;/)H@@'}51ʣy|ĪQYX8ٍ 1WMS])$ Qg%@@l|F ~+nwS~Ư/u3$1DLeO )z= aVJ aM}a=l`ѱOQ@h{hghno 0j~e*) _'>o;F B^M;:63{anxzvw^>@3wKCpA;qu_?tDۂ`׭aVN9`+Lk@ p'P`?w@r@Cda[C`i8/ ʯSGWuǔgrx9iUz'Tf G,s@o2vtFx0 $ *5d|Sܙ;^Z 'b'47:}o=Vﬥ?u}_M 2Ÿ.ͽN+B:-+?ߵIݷuN v  ¯6!y"X9~:t!+ Mbd~f40ؗv w@M??SE KrL}@>pw7~PD HVy8nbs>#(د*'d?E+@ϭ_'p8W#y_4r/צЮe7ObX4` ĝg7i˷'-[ֆb X F(5ت* &mZKMm:M4&f~yyϛX39L-\}<9B4h wB(&SU,.pm:^gCst/{gw}Op؇,{7HɭN4U _h< 1=yBA; >Ͼ0i7[j/&*ƚ? B/ EO?|ۿ0,vؿDwyn}^L7rp?a,~[cy)>PDAO6_Snn?3!SHF?*,pW\䀩m*={|ǻ:KWz~_l"a `@ֿ>@j:=s/|g̕nh_[ƛ&]u ] GCS_i^8;,64i0_t%(FʿSZE]P 9*[3N | u ql_[ij??z;_5 8C_ ,W?~T@VGO>?aAG` V .P, ܑNX(8WGZ `˩: owցAU38S]?OX* \04R+F?3@P@ TPmok?RK딽ol_ٱBn,oef[T5)Пv(~?]ksNd X@;v(Lǽ8_-F?T `7N:(E<|P__p(|`cXs#@g_'~He;E4ph*e`H-?,[4o?T;}D 3{_fIt#\*+Z= :-^$ iE}m 8pkZF؜WU(tE:K?4 I}e7 $4ؘHPjR:=~_ӟ> چP_إ?\dA?'` ?;@gsԊ$^*DOVH1-@&U?(-YoyKNPj*i } 85=Y*aoFqZ_Ro]? 89Y5t G=B[m/1懀tM`}b @RwA/&?ӕ_7`,hXX eArPe'g?|>݇eGhFh4ТމaGh}n@&K__/Wݽ{7a N4\`x +ۍlM1? F1yb=6c| v.⏑k*1] $ '@]/O h '=x n;{u<`#Pu  CAM띍QM'i%1@Np`8@CngYm ><=#Y.Ö_ P[gBxzVuֆ'%F]@} lh' wNgWV4PMog[@yZ`wOD@?p޽B5D}@q ,i?~J N?K`\`fM4ڇ457@ڿO~O 铿2P*໭ST.pM?ꪏF%*p8h?s@/g󿦿j*P&#N+AixحgO4xS4pdc5b$?+yo;s"8Q{S-~Vg@19cOc4؟G~ћhzn3~>{ 5ᝀQr@`gW(N1<'^0(hd 7(Q1%H A 8dkP+JE>J<8bW߁$pH7l?i tR#>' #M`/ ?LF^JO{@w PqPT4>X[;_Ë̀d3ྊ>3zVUN!C> F /@)R.z B0 ǿX/ J@h5z4D+~+ TX39v1Λ4; ^u|C{& (,ƿ_]fQOoEr~C-pĆ$0ܯ "pK h`T`[}q04{3xTosoPRFkk_4@'0|J`<zf"F}_.rɈGV{ 0{?H26:OP n|Bz`(7O| O< X0bmJ~?\q s.vs[W $" F#8|$6خK{wz_(1W@_9@g}X@7Sm/w/Q3( RoK&@f<8^Ϻ ej.6g -dR5.zѱ/c3h q0- Av=1%^sMLp _l<o瀣<8rxd~H nyc#fhIENDB` Obsidian let path = require('path'); let crypto = require('crypto'); let fs = require('fs'); let EventEmitter = require('events'); let electron = require('electron'); electron.remote = require('@electron/remote/main'); let {app, protocol, remote} = electron; protocol.registerSchemesAsPrivileged([ {scheme: 'app', privileges: {standard: true, secure: true, supportFetchAPI: true, stream: true, codeCache: true}}, ]); // Mock updater // Help with update testing let updateEvents = new EventEmitter(); updateEvents.on('check', () => { updateEvents.emit('check-start'); setTimeout(() => { updateEvents.emit('update-downloaded'); updateEvents.emit('check-end'); }, 2000); }); remote.initialize(); require('./main.js')(app.getAppPath(), updateEvents, true); /** * addon/search/searchcursor.js */ // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")) else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod) else // Plain browser env mod(CodeMirror) })(function(CodeMirror) { "use strict" var Pos = CodeMirror.Pos function regexpFlags(regexp) { var flags = regexp.flags return flags != null ? flags : (regexp.ignoreCase ? "i" : "") + (regexp.global ? "g" : "") + (regexp.multiline ? "m" : "") } function ensureFlags(regexp, flags) { var current = regexpFlags(regexp), target = current for (var i = 0; i < flags.length; i++) if (target.indexOf(flags.charAt(i)) == -1) target += flags.charAt(i) return current == target ? regexp : new RegExp(regexp.source, target) } function maybeMultiline(regexp) { return /\\s|\\n|\n|\\W|\\D|\[\^/.test(regexp.source) } function searchRegexpForward(doc, regexp, start) { regexp = ensureFlags(regexp, "g") for (var line = start.line, ch = start.ch, last = doc.lastLine(); line <= last; line++, ch = 0) { regexp.lastIndex = ch var string = doc.getLine(line), match = regexp.exec(string) if (match) return {from: Pos(line, match.index), to: Pos(line, match.index + match[0].length), match: match} } } function searchRegexpForwardMultiline(doc, regexp, start) { if (!maybeMultiline(regexp)) return searchRegexpForward(doc, regexp, start) regexp = ensureFlags(regexp, "gm") var string, chunk = 1 for (var line = start.line, last = doc.lastLine(); line <= last;) { // This grows the search buffer in exponentially-sized chunks // between matches, so that nearby matches are fast and don't // require concatenating the whole document (in case we're // searching for something that has tons of matches), but at the // same time, the amount of retries is limited. for (var i = 0; i < chunk; i++) { if (line > last) break var curLine = doc.getLine(line++) string = string == null ? curLine : string + "\n" + curLine } chunk = chunk * 2 regexp.lastIndex = start.ch var match = regexp.exec(string) if (match) { var before = string.slice(0, match.index).split("\n"), inside = match[0].split("\n") var startLine = start.line + before.length - 1, startCh = before[before.length - 1].length return {from: Pos(startLine, startCh), to: Pos(startLine + inside.length - 1, inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length), match: match} } } } function lastMatchIn(string, regexp, endMargin) { var match, from = 0 while (from <= string.length) { regexp.lastIndex = from var newMatch = regexp.exec(string) if (!newMatch) break var end = newMatch.index + newMatch[0].length if (end > string.length - endMargin) break if (!match || end > match.index + match[0].length) match = newMatch from = newMatch.index + 1 } return match } function searchRegexpBackward(doc, regexp, start) { regexp = ensureFlags(regexp, "g") for (var line = start.line, ch = start.ch, first = doc.firstLine(); line >= first; line--, ch = -1) { var string = doc.getLine(line) var match = lastMatchIn(string, regexp, ch < 0 ? 0 : string.length - ch) if (match) return {from: Pos(line, match.index), to: Pos(line, match.index + match[0].length), match: match} } } function searchRegexpBackwardMultiline(doc, regexp, start) { if (!maybeMultiline(regexp)) return searchRegexpBackward(doc, regexp, start) regexp = ensureFlags(regexp, "gm") var string, chunkSize = 1, endMargin = doc.getLine(start.line).length - start.ch for (var line = start.line, first = doc.firstLine(); line >= first;) { for (var i = 0; i < chunkSize && line >= first; i++) { var curLine = doc.getLine(line--) string = string == null ? curLine : curLine + "\n" + string } chunkSize *= 2 var match = lastMatchIn(string, regexp, endMargin) if (match) { var before = string.slice(0, match.index).split("\n"), inside = match[0].split("\n") var startLine = line + before.length, startCh = before[before.length - 1].length return {from: Pos(startLine, startCh), to: Pos(startLine + inside.length - 1, inside.length == 1 ? startCh + inside[0].length : inside[inside.length - 1].length), match: match} } } } var doFold, noFold if (String.prototype.normalize) { doFold = function(str) { return str.normalize("NFD").toLowerCase() } noFold = function(str) { return str.normalize("NFD") } } else { doFold = function(str) { return str.toLowerCase() } noFold = function(str) { return str } } // Maps a position in a case-folded line back to a position in the original line // (compensating for codepoints increasing in number during folding) function adjustPos(orig, folded, pos, foldFunc) { if (orig.length == folded.length) return pos for (var min = 0, max = pos + Math.max(0, orig.length - folded.length);;) { if (min == max) return min var mid = (min + max) >> 1 var len = foldFunc(orig.slice(0, mid)).length if (len == pos) return mid else if (len > pos) max = mid else min = mid + 1 } } function searchStringForward(doc, query, start, caseFold) { // Empty string would match anything and never progress, so we // define it to match nothing instead. if (!query.length) return null var fold = caseFold ? doFold : noFold var lines = fold(query).split(/\r|\n\r?/) search: for (var line = start.line, ch = start.ch, last = doc.lastLine() + 1 - lines.length; line <= last; line++, ch = 0) { var orig = doc.getLine(line).slice(ch), string = fold(orig) if (lines.length == 1) { var found = string.indexOf(lines[0]) if (found == -1) continue search var start = adjustPos(orig, string, found, fold) + ch return {from: Pos(line, adjustPos(orig, string, found, fold) + ch), to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold) + ch)} } else { var cutFrom = string.length - lines[0].length if (string.slice(cutFrom) != lines[0]) continue search for (var i = 1; i < lines.length - 1; i++) if (fold(doc.getLine(line + i)) != lines[i]) continue search var end = doc.getLine(line + lines.length - 1), endString = fold(end), lastLine = lines[lines.length - 1] if (endString.slice(0, lastLine.length) != lastLine) continue search return {from: Pos(line, adjustPos(orig, string, cutFrom, fold) + ch), to: Pos(line + lines.length - 1, adjustPos(end, endString, lastLine.length, fold))} } } } function searchStringBackward(doc, query, start, caseFold) { if (!query.length) return null var fold = caseFold ? doFold : noFold var lines = fold(query).split(/\r|\n\r?/) search: for (var line = start.line, ch = start.ch, first = doc.firstLine() - 1 + lines.length; line >= first; line--, ch = -1) { var orig = doc.getLine(line) if (ch > -1) orig = orig.slice(0, ch) var string = fold(orig) if (lines.length == 1) { var found = string.lastIndexOf(lines[0]) if (found == -1) continue search return {from: Pos(line, adjustPos(orig, string, found, fold)), to: Pos(line, adjustPos(orig, string, found + lines[0].length, fold))} } else { var lastLine = lines[lines.length - 1] if (string.slice(0, lastLine.length) != lastLine) continue search for (var i = 1, start = line - lines.length + 1; i < lines.length - 1; i++) if (fold(doc.getLine(start + i)) != lines[i]) continue search var top = doc.getLine(line + 1 - lines.length), topString = fold(top) if (topString.slice(topString.length - lines[0].length) != lines[0]) continue search return {from: Pos(line + 1 - lines.length, adjustPos(top, topString, top.length - lines[0].length, fold)), to: Pos(line, adjustPos(orig, string, lastLine.length, fold))} } } } function SearchCursor(doc, query, pos, options) { this.atOccurrence = false this.doc = doc pos = pos ? doc.clipPos(pos) : Pos(0, 0) this.pos = {from: pos, to: pos} var caseFold if (typeof options == "object") { caseFold = options.caseFold } else { // Backwards compat for when caseFold was the 4th argument caseFold = options options = null } if (typeof query == "string") { if (caseFold == null) caseFold = false this.matches = function(reverse, pos) { return (reverse ? searchStringBackward : searchStringForward)(doc, query, pos, caseFold) } } else { query = ensureFlags(query, "gm") if (!options || options.multiline !== false) this.matches = function(reverse, pos) { return (reverse ? searchRegexpBackwardMultiline : searchRegexpForwardMultiline)(doc, query, pos) } else this.matches = function(reverse, pos) { return (reverse ? searchRegexpBackward : searchRegexpForward)(doc, query, pos) } } } SearchCursor.prototype = { findNext: function() {return this.find(false)}, findPrevious: function() {return this.find(true)}, find: function(reverse) { var result = this.matches(reverse, this.doc.clipPos(reverse ? this.pos.from : this.pos.to)) // Implements weird auto-growing behavior on null-matches for // backwards-compatibility with the vim code (unfortunately) while (result && CodeMirror.cmpPos(result.from, result.to) == 0) { if (reverse) { if (result.from.ch) result.from = Pos(result.from.line, result.from.ch - 1) else if (result.from.line == this.doc.firstLine()) result = null else result = this.matches(reverse, this.doc.clipPos(Pos(result.from.line - 1))) } else { if (result.to.ch < this.doc.getLine(result.to.line).length) result.to = Pos(result.to.line, result.to.ch + 1) else if (result.to.line == this.doc.lastLine()) result = null else result = this.matches(reverse, Pos(result.to.line + 1, 0)) } } if (result) { this.pos = result this.atOccurrence = true return this.pos.match || true } else { var end = Pos(reverse ? this.doc.firstLine() : this.doc.lastLine() + 1, 0) this.pos = {from: end, to: end} return this.atOccurrence = false } }, from: function() {if (this.atOccurrence) return this.pos.from}, to: function() {if (this.atOccurrence) return this.pos.to}, replace: function(newText, origin) { if (!this.atOccurrence) return var lines = CodeMirror.splitLines(newText) this.doc.replaceRange(lines, this.pos.from, this.pos.to, origin) this.pos.to = Pos(this.pos.from.line + lines.length - 1, lines[lines.length - 1].length + (lines.length == 1 ? this.pos.from.ch : 0)) } } CodeMirror.defineExtension("getSearchCursor", function(query, pos, caseFold) { return new SearchCursor(this.doc, query, pos, caseFold) }) CodeMirror.defineDocExtension("getSearchCursor", function(query, pos, caseFold) { return new SearchCursor(this, query, pos, caseFold) }) CodeMirror.defineExtension("selectMatches", function(query, caseFold) { var ranges = [] var cur = this.getSearchCursor(query, this.getCursor("from"), caseFold) while (cur.findNext()) { if (CodeMirror.cmpPos(cur.to(), this.getCursor("to")) > 0) break ranges.push({anchor: cur.from(), head: cur.to()}) } if (ranges.length) this.setSelections(ranges, 0) }) }); /** * Modified from addon/edit/closebrackets.js to add surroundOnly. */ // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); }) (function(CodeMirror) { var defaults = { pairs: "()[]{}''\"\"", closeBefore: ")]}'\":;>", triples: "", explode: "[]{}", surroundOnly: "", }; var Pos = CodeMirror.Pos; CodeMirror.defineOption("autoCloseBrackets", false, function(cm, val, old) { if (old && old != CodeMirror.Init) { cm.removeKeyMap(keyMap); cm.state.closeBrackets = null; } if (val) { ensureBound(getOption(val, "pairs")) cm.state.closeBrackets = val; cm.addKeyMap(keyMap); } }); function getOption(conf, name) { if (name == "pairs" && typeof conf == "string") return conf; if (typeof conf == "object" && conf[name] != null) return conf[name]; return defaults[name]; } var keyMap = {Backspace: handleBackspace, Enter: handleEnter}; function ensureBound(chars) { for (var i = 0; i < chars.length; i++) { var ch = chars.charAt(i), key = "'" + ch + "'" if (!keyMap[key]) keyMap[key] = handler(ch) } } ensureBound(defaults.pairs + "`") function handler(ch) { return function(cm) { return handleChar(cm, ch); }; } function getConfig(cm) { var deflt = cm.state.closeBrackets; if (!deflt || deflt.override) return deflt; var mode = cm.getModeAt(cm.getCursor()); return mode.closeBrackets || deflt; } function handleBackspace(cm) { var conf = getConfig(cm); if (!conf || cm.getOption("disableInput")) return CodeMirror.Pass; var pairs = getOption(conf, "pairs"); var ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { if (!ranges[i].empty()) return CodeMirror.Pass; var around = charsAround(cm, ranges[i].head); if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass; } for (var i = ranges.length - 1; i >= 0; i--) { var cur = ranges[i].head; cm.replaceRange("", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), "+delete"); } } function handleEnter(cm) { var conf = getConfig(cm); var explode = conf && getOption(conf, "explode"); if (!explode || cm.getOption("disableInput")) return CodeMirror.Pass; var ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { if (!ranges[i].empty()) return CodeMirror.Pass; var around = charsAround(cm, ranges[i].head); if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass; } cm.operation(function() { var linesep = cm.lineSeparator() || "\n"; cm.replaceSelection(linesep + linesep, null); moveSel(cm, -1) ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { var line = ranges[i].head.line; cm.indentLine(line, null, true); cm.indentLine(line + 1, null, true); } }); } function moveSel(cm, dir) { var newRanges = [], ranges = cm.listSelections(), primary = 0 for (var i = 0; i < ranges.length; i++) { var range = ranges[i] if (range.head == cm.getCursor()) primary = i var pos = range.head.ch || dir > 0 ? {line: range.head.line, ch: range.head.ch + dir} : {line: range.head.line - 1} newRanges.push({anchor: pos, head: pos}) } cm.setSelections(newRanges, primary) } function contractSelection(sel) { var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0; return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)), head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))}; } function handleChar(cm, ch) { var conf = getConfig(cm); if (!conf || cm.getOption("disableInput")) return CodeMirror.Pass; var pairs = getOption(conf, "pairs"); var pos = pairs.indexOf(ch); if (pos == -1) return CodeMirror.Pass; var closeBefore = getOption(conf,"closeBefore"); var triples = getOption(conf, "triples"); var surroundOnly = getOption(conf, "surroundOnly"); var identical = pairs.charAt(pos + 1) == ch; var ranges = cm.listSelections(); var opening = pos % 2 == 0; var type; for (var i = 0; i < ranges.length; i++) { var range = ranges[i], cur = range.head, curType; var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1)); if (opening && !range.empty()) { curType = "surround"; } else if ((identical || !opening) && next == ch) { if (identical && stringStartsAfter(cm, cur)) curType = "both"; else if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch) curType = "skipThree"; else curType = "skip"; } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 && cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) { if (cur.ch > 2 && /\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass; curType = "addFour"; } else if (identical) { var prev = cur.ch == 0 ? " " : cm.getRange(Pos(cur.line, cur.ch - 1), cur) if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = "both"; else return CodeMirror.Pass; } else if (opening && (next.length === 0 || /\s/.test(next) || closeBefore.indexOf(next) > -1)) { curType = "both"; } else { return CodeMirror.Pass; } if (!type) type = curType; else if (type != curType) return CodeMirror.Pass; } if (curType !== "surround" && surroundOnly.indexOf(ch) >= 0) return CodeMirror.Pass; var left = pos % 2 ? pairs.charAt(pos - 1) : ch; var right = pos % 2 ? ch : pairs.charAt(pos + 1); cm.operation(function() { if (type == "skip") { moveSel(cm, 1) } else if (type == "skipThree") { moveSel(cm, 3) } else if (type == "surround") { var sels = cm.getSelections(); for (var i = 0; i < sels.length; i++) sels[i] = left + sels[i] + right; cm.replaceSelections(sels, "around"); sels = cm.listSelections().slice(); for (var i = 0; i < sels.length; i++) sels[i] = contractSelection(sels[i]); cm.setSelections(sels); } else if (type == "both") { cm.replaceSelection(left + right, null); cm.triggerElectric(left + right); moveSel(cm, -1) } else if (type == "addFour") { cm.replaceSelection(left + left + left + left, "before"); moveSel(cm, 1) } }); } function charsAround(cm, pos) { var str = cm.getRange(Pos(pos.line, pos.ch - 1), Pos(pos.line, pos.ch + 1)); return str.length == 2 ? str : null; } function stringStartsAfter(cm, pos) { var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1)) return /\bstring/.test(token.type) && token.start == pos.ch && (pos.ch == 0 || !/\bstring/.test(cm.getTokenTypeAt(pos))) } }); // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); }) (function(CodeMirror) { var ie_lt8 = /MSIE \d/.test(navigator.userAgent) && (document.documentMode == null || document.documentMode < 8); var Pos = CodeMirror.Pos; var matching = {"(": ")>", ")": "(<", "[": "]>", "]": "[<", "{": "}>", "}": "{<", "<": ">>", ">": "<<"}; function bracketRegex(config) { return config && config.bracketRegex || /[(){}[\]]/ } function findMatchingBracket(cm, where, config) { var line = cm.getLineHandle(where.line), pos = where.ch - 1; var afterCursor = config && config.afterCursor if (afterCursor == null) afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className) var re = bracketRegex(config) // A cursor is defined as between two characters, but in in vim command mode // (i.e. not insert mode), the cursor is visually represented as a // highlighted box on top of the 2nd character. Otherwise, we allow matches // from before or after the cursor. var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) || re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)]; if (!match) return null; var dir = match.charAt(1) == ">" ? 1 : -1; if (config && config.strict && (dir > 0) != (pos == where.ch)) return null; var style = cm.getTokenTypeAt(Pos(where.line, pos + 1)); var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style, config); if (found == null) return null; return {from: Pos(where.line, pos), to: found && found.pos, match: found && found.ch == match.charAt(0), forward: dir > 0}; } // bracketRegex is used to specify which type of bracket to scan // should be a regexp, e.g. /[[\]]/ // // Note: If "where" is on an open bracket, then this bracket is ignored. // // Returns false when no bracket was found, null when it reached // maxScanLines and gave up function scanForBracket(cm, where, dir, style, config) { var maxScanLen = (config && config.maxScanLineLength) || 10000; var maxScanLines = (config && config.maxScanLines) || 1000; var stack = []; var re = bracketRegex(config) var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1) : Math.max(cm.firstLine() - 1, where.line - maxScanLines); for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) { var line = cm.getLine(lineNo); if (!line) continue; var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1; if (line.length > maxScanLen) continue; if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0); for (; pos != end; pos += dir) { var ch = line.charAt(pos); if (re.test(ch) && (style === undefined || (cm.getTokenTypeAt(Pos(lineNo, pos + 1)) || "") == (style || ""))) { var match = matching[ch]; if (match && (match.charAt(1) == ">") == (dir > 0)) stack.push(ch); else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch}; else stack.pop(); } } } return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null; } function matchBrackets(cm, autoclear, config) { // Disable brace matching in long lines, since it'll cause hugely slow updates var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000, highlightNonMatching = config && config.highlightNonMatching; var marks = [], ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, config); if (match && (match.match || highlightNonMatching !== false) && cm.getLine(match.from.line).length <= maxHighlightLen) { var style = match.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket"; marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style})); if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen) marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style})); } } if (marks.length) { // Kludge to work around the IE bug from issue #1193, where text // input stops going to the textarea whenever this fires. if (ie_lt8 && cm.state.focused) cm.focus(); var clear = function() { cm.operation(function() { for (var i = 0; i < marks.length; i++) marks[i].clear(); }); }; if (autoclear) setTimeout(clear, 800); else return clear; } } function doMatchBrackets(cm) { cm.operation(function() { if (cm.state.matchBrackets.currentlyHighlighted) { cm.state.matchBrackets.currentlyHighlighted(); cm.state.matchBrackets.currentlyHighlighted = null; } cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets); }); } function clearHighlighted(cm) { if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) { cm.state.matchBrackets.currentlyHighlighted(); cm.state.matchBrackets.currentlyHighlighted = null; } } CodeMirror.defineOption("matchBrackets", false, function(cm, val, old) { if (old && old != CodeMirror.Init) { cm.off("cursorActivity", doMatchBrackets); cm.off("focus", doMatchBrackets) cm.off("blur", clearHighlighted) clearHighlighted(cm); } if (val) { cm.state.matchBrackets = typeof val == "object" ? val : {}; cm.on("cursorActivity", doMatchBrackets); cm.on("focus", doMatchBrackets) cm.on("blur", clearHighlighted) } }); CodeMirror.defineExtension("matchBrackets", function() {matchBrackets(this, true);}); CodeMirror.defineExtension("findMatchingBracket", function(pos, config, oldConfig){ // Backwards-compatibility kludge if (oldConfig || typeof config == "boolean") { if (!oldConfig) { config = config ? {strict: true} : null } else { oldConfig.strict = config config = oldConfig } } return findMatchingBracket(this, pos, config) }); CodeMirror.defineExtension("scanForBracket", function(pos, dir, style, config){ return scanForBracket(this, pos, dir, style, config); }); }); /** * addon/fold/foldcode.js */ // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); }) (function(CodeMirror) { "use strict"; function doFold(cm, pos, options, force) { if (options && options.call) { var finder = options; options = null; } else { var finder = getOption(cm, options, "rangeFinder"); } if (typeof pos == "number") pos = CodeMirror.Pos(pos, 0); var minSize = getOption(cm, options, "minFoldSize"); function getRange(allowFolded) { var range = finder(cm, pos); if (!range || range.to.line - range.from.line < minSize) return null; var marks = cm.findMarksAt(range.from); for (var i = 0; i < marks.length; ++i) { if (marks[i].__isFold && force !== "fold") { if (!allowFolded) return null; range.cleared = true; marks[i].clear(); } } return range; } var range = getRange(true); if (getOption(cm, options, "scanUp")) while (!range && pos.line > cm.firstLine()) { pos = CodeMirror.Pos(pos.line - 1, 0); range = getRange(false); } if (!range || range.cleared || force === "unfold") return; var myWidget = makeWidget(cm, options, range); CodeMirror.on(myWidget, "mousedown", function(e) { myRange.clear(); CodeMirror.e_preventDefault(e); }); var myRange = cm.markText(range.from, range.to, { replacedWith: myWidget, clearOnEnter: getOption(cm, options, "clearOnEnter"), __isFold: true }); myRange.on("clear", function(from, to) { CodeMirror.signal(cm, "unfold", cm, from, to); }); CodeMirror.signal(cm, "fold", cm, range.from, range.to); } function makeWidget(cm, options, range) { var widget = getOption(cm, options, "widget"); if (typeof widget == "function") { widget = widget(range.from, range.to); } if (typeof widget == "string") { var text = document.createTextNode(widget); widget = document.createElement("span"); widget.appendChild(text); widget.className = "CodeMirror-foldmarker"; } else if (widget) { widget = widget.cloneNode(true) } return widget; } // Clumsy backwards-compatible interface CodeMirror.newFoldFunction = function(rangeFinder, widget) { return function(cm, pos) { doFold(cm, pos, {rangeFinder: rangeFinder, widget: widget}); }; }; // New-style interface CodeMirror.defineExtension("foldCode", function(pos, options, force) { doFold(this, pos, options, force); }); CodeMirror.defineExtension("isFolded", function(pos) { var marks = this.findMarksAt(pos); for (var i = 0; i < marks.length; ++i) if (marks[i].__isFold) return true; }); CodeMirror.commands.toggleFold = function(cm) { cm.foldCode(cm.getCursor()); }; CodeMirror.commands.fold = function(cm) { cm.foldCode(cm.getCursor(), null, "fold"); }; CodeMirror.commands.unfold = function(cm) { cm.foldCode(cm.getCursor(), null, "unfold"); }; CodeMirror.commands.foldAll = function(cm) { cm.operation(function() { for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++) cm.foldCode(CodeMirror.Pos(i, 0), null, "fold"); }); }; CodeMirror.commands.unfoldAll = function(cm) { cm.operation(function() { for (var i = cm.firstLine(), e = cm.lastLine(); i <= e; i++) cm.foldCode(CodeMirror.Pos(i, 0), null, "unfold"); }); }; CodeMirror.registerHelper("fold", "combine", function() { var funcs = Array.prototype.slice.call(arguments, 0); return function(cm, start) { for (var i = 0; i < funcs.length; ++i) { var found = funcs[i](cm, start); if (found) return found; } }; }); CodeMirror.registerHelper("fold", "auto", function(cm, start) { var helpers = cm.getHelpers(start, "fold"); for (var i = 0; i < helpers.length; i++) { var cur = helpers[i](cm, start); if (cur) return cur; } }); var defaultOptions = { rangeFinder: CodeMirror.fold.auto, widget: "...", minFoldSize: 0, scanUp: false, clearOnEnter: true }; CodeMirror.defineOption("foldOptions", null); function getOption(cm, options, name) { if (options && options[name] !== undefined) return options[name]; var editorOptions = cm.options.foldOptions; if (editorOptions && editorOptions[name] !== undefined) return editorOptions[name]; return defaultOptions[name]; } CodeMirror.defineExtension("foldOption", function(options, name) { return getOption(this, options, name); }); }); /** * addon/fold/foldgutter.js */ // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("./foldcode")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "./foldcode"], mod); else // Plain browser env mod(CodeMirror); }) (function(CodeMirror) { "use strict"; CodeMirror.defineOption("foldGutter", false, function(cm, val, old) { if (old && old != CodeMirror.Init) { cm.clearGutter(cm.state.foldGutter.options.gutter); cm.state.foldGutter = null; cm.off("gutterClick", onGutterClick); cm.off("changes", onChange); cm.off("viewportChange", onViewportChange); cm.off("fold", onFold); cm.off("unfold", onFold); cm.off("swapDoc", onChange); } if (val) { cm.state.foldGutter = new State(parseOptions(val)); updateInViewport(cm); cm.on("gutterClick", onGutterClick); cm.on("changes", onChange); cm.on("viewportChange", onViewportChange); cm.on("fold", onFold); cm.on("unfold", onFold); cm.on("swapDoc", onChange); } }); var Pos = CodeMirror.Pos; function State(options) { this.options = options; this.from = this.to = 0; } function parseOptions(opts) { if (opts === true) opts = {}; if (opts.gutter == null) opts.gutter = "CodeMirror-foldgutter"; if (opts.indicatorOpen == null) opts.indicatorOpen = "CodeMirror-foldgutter-open"; if (opts.indicatorFolded == null) opts.indicatorFolded = "CodeMirror-foldgutter-folded"; return opts; } function isFolded(cm, line) { var marks = cm.findMarks(Pos(line, 0), Pos(line + 1, 0)); for (var i = 0; i < marks.length; ++i) { if (marks[i].__isFold) { var fromPos = marks[i].find(-1); if (fromPos && fromPos.line === line) return marks[i]; } } } function marker(spec) { if (typeof spec == "string") { var elt = document.createElement("div"); elt.className = spec + " CodeMirror-guttermarker-subtle"; return elt; } else { return spec.cloneNode(true); } } function updateFoldInfo(cm, from, to) { var opts = cm.state.foldGutter.options, cur = from - 1; var minSize = cm.foldOption(opts, "minFoldSize"); var func = cm.foldOption(opts, "rangeFinder"); // we can reuse the built-in indicator element if its className matches the new state var clsFolded = typeof opts.indicatorFolded == "string" && classTest(opts.indicatorFolded); var clsOpen = typeof opts.indicatorOpen == "string" && classTest(opts.indicatorOpen); cm.eachLine(from, to, function(line) { ++cur; var mark = null; var old = line.gutterMarkers; if (old) old = old[opts.gutter]; if (isFolded(cm, cur)) { if (clsFolded && old && clsFolded.test(old.className)) return; mark = marker(opts.indicatorFolded); } else { var pos = Pos(cur, 0); var range = func && func(cm, pos); if (range && range.to.line - range.from.line >= minSize) { if (clsOpen && old && clsOpen.test(old.className)) return; mark = marker(opts.indicatorOpen); } } if (!mark && !old) return; cm.setGutterMarker(line, opts.gutter, mark); }); } // copied from CodeMirror/src/util/dom.js function classTest(cls) { return new RegExp("(^|\\s)" + cls + "(?:$|\\s)\\s*") } function updateInViewport(cm) { var vp = cm.getViewport(), state = cm.state.foldGutter; if (!state) return; cm.operation(function() { updateFoldInfo(cm, vp.from, vp.to); }); state.from = vp.from; state.to = vp.to; } function onGutterClick(cm, line, gutter) { var state = cm.state.foldGutter; if (!state) return; var opts = state.options; if (gutter != opts.gutter) return; var folded = isFolded(cm, line); if (folded) folded.clear(); else cm.foldCode(Pos(line, 0), opts); } function onChange(cm) { var state = cm.state.foldGutter; if (!state) return; var opts = state.options; state.from = state.to = 0; clearTimeout(state.changeUpdate); state.changeUpdate = setTimeout(function() { updateInViewport(cm); }, opts.foldOnChangeTimeSpan || 600); } function onViewportChange(cm) { var state = cm.state.foldGutter; if (!state) return; var opts = state.options; clearTimeout(state.changeUpdate); state.changeUpdate = setTimeout(function() { var vp = cm.getViewport(); if (state.from == state.to || vp.from - state.to > 20 || state.from - vp.to > 20) { updateInViewport(cm); } else { cm.operation(function() { if (vp.from < state.from) { updateFoldInfo(cm, vp.from, state.from); state.from = vp.from; } if (vp.to > state.to) { updateFoldInfo(cm, state.to, vp.to); state.to = vp.to; } }); } }, opts.updateViewportTimeSpan || 400); } function onFold(cm, from) { var state = cm.state.foldGutter; if (!state) return; var line = from.line; if (line >= state.from && line < state.to) updateFoldInfo(cm, line, line + 1); } }); /** * addon/fold/markdown-fold.js */ // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); }) (function(CodeMirror) { "use strict"; CodeMirror.registerHelper("fold", "markdown", function(cm, start) { var maxDepth = 100; function isHeader(lineNo) { var tokentype = cm.getTokenTypeAt(CodeMirror.Pos(lineNo, 0)); return tokentype && /\bheader\b/.test(tokentype); } function headerLevel(lineNo, line, nextLine) { var match = line && line.match(/^#+/); if (match && isHeader(lineNo)) return match[0].length; match = nextLine && nextLine.match(/^[=\-]+\s*$/); if (match && isHeader(lineNo + 1)) return nextLine[0] == "=" ? 1 : 2; return maxDepth; } var firstLine = cm.getLine(start.line), nextLine = cm.getLine(start.line + 1); var level = headerLevel(start.line, firstLine, nextLine); if (level === maxDepth) return undefined; var lastLineNo = cm.lastLine(); var end = start.line, nextNextLine = cm.getLine(end + 2); while (end < lastLineNo) { if (headerLevel(end + 1, nextLine, nextNextLine) <= level) break; ++end; nextLine = nextNextLine; nextNextLine = cm.getLine(end + 2); } return { from: CodeMirror.Pos(start.line, firstLine.length), to: CodeMirror.Pos(end, cm.getLine(end).length) }; }); }); /** * addon/fold/indent-fold.js */ // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); }) (function(CodeMirror) { "use strict"; function lineIndent(cm, lineNo) { var text = cm.getLine(lineNo) var spaceTo = text.search(/\S/) if (spaceTo == -1 || /\bcomment\b/.test(cm.getTokenTypeAt(CodeMirror.Pos(lineNo, spaceTo + 1)))) return -1 return CodeMirror.countColumn(text, null, cm.getOption("tabSize")) } CodeMirror.registerHelper("fold", "indent", function(cm, start) { var myIndent = lineIndent(cm, start.line) if (myIndent < 0) return var lastLineInFold = null // Go through lines until we find a line that definitely doesn't belong in // the block we're folding, or to the end. for (var i = start.line + 1, end = cm.lastLine(); i <= end; ++i) { var indent = lineIndent(cm, i) if (indent == -1) { } else if (indent > myIndent) { // Lines with a greater indent are considered part of the block. lastLineInFold = i; } else { // If this line has non-space, non-comment content, and is // indented less or equal to the start line, it is the start of // another block. break; } } if (lastLineInFold) return { from: CodeMirror.Pos(start.line, cm.getLine(start.line).length), to: CodeMirror.Pos(lastLineInFold, cm.getLine(lastLineInFold).length) }; }); }); /** * addon/edit/continuelist.js */ // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); }) (function(CodeMirror) { "use strict"; var listRE = /^(\s*)(>[> ]*|[*+-] \[.\]\s|[*+-]\s|(\d+)([.)]\s))(\s*)/, emptyListRE = /^(\s*)(>[> ]*|[*+-] \[.\]|[*+-]|(\d+)[.)]\s)(\s*)$/, unorderedListRE = /[*+-]\s/; CodeMirror.commands.newlineAndIndentContinueMarkdownList = function(cm) { if (cm.getOption("disableInput")) return CodeMirror.Pass; var ranges = cm.listSelections(), replacements = []; for (var i = 0; i < ranges.length; i++) { var pos = ranges[i].head; // If we're not in Markdown mode, fall back to normal newlineAndIndent var eolState = cm.getStateAfter(pos.line); var inner = CodeMirror.innerMode(cm.getMode(), eolState); if (inner.mode.name !== "markdown") { cm.execCommand("newlineAndIndent"); return; } else { eolState = inner.state; } var inList = eolState.list !== false; var inQuote = eolState.quote !== 0; var line = cm.getLine(pos.line), match = listRE.exec(line); var cursorBeforeBullet = /^\s*$/.test(line.slice(0, pos.ch)); if (!ranges[i].empty() || (!inList && !inQuote) || !match || cursorBeforeBullet) { cm.execCommand("newlineAndIndent"); return; } if (emptyListRE.test(line)) { var endOfQuote = inQuote && />\s*$/.test(line) var endOfList = !/>\s*$/.test(line) if (endOfQuote || endOfList) cm.replaceRange("", { line: pos.line, ch: 0 }, { line: pos.line, ch: pos.ch + 1 }); replacements[i] = "\n"; } else { var indent = match[1], after = match[5]; var numbered = !(unorderedListRE.test(match[2]) || match[2].indexOf(">") >= 0); var bullet = numbered ? (parseInt(match[3], 10) + 1) + match[4] : match[2].replace("x", " "); replacements[i] = "\n" + indent + bullet + after; if (numbered) incrementRemainingMarkdownListNumbers(cm, pos); } } cm.replaceSelections(replacements); }; CodeMirror.commands.indentUnindentContinueMarkdownList = function (cm) { if (cm.getOption("disableInput")) { return CodeMirror.Pass; } var ranges = cm.listSelections(), replacements = []; for (var i = 0; i < ranges.length; i++) { var pos = ranges[i].head; fixMarkdownListNumbers(cm, pos.line, false); fixMarkdownListNumbers(cm, pos.line + 1, true); } }; function fixMarkdownListNumbers(cm, lineNum, rest) { var eolState = cm.getStateAfter(lineNum); var inner = CodeMirror.innerMode(cm.getMode(), eolState); if (inner.mode.name !== "markdown") { return; } else { eolState = inner.state; } var inList = eolState.list !== false; var inQuote = eolState.quote !== 0; if (!inList && !inQuote) { return; } var thisLine = cm.getLine(lineNum), thisItem = listRE.exec(thisLine); if (!thisLine || !thisItem) { return; } var numbered = !(unorderedListRE.test(thisItem[2]) || thisItem[2].indexOf(">") >= 0); if (numbered) { var thisIndent = thisItem[1]; // Look for a previous item of the same indent var prevLineNum = lineNum - 1; var lastNumber = 0; var lastList = null; while (prevLineNum >= 0) { let prevLineText = cm.getLine(prevLineNum); var prevItem = listRE.exec(prevLineText); if (!prevItem) { break; } var prevIndent = prevItem[1]; if (prevIndent === thisIndent) { if (unorderedListRE.test(prevItem[2]) || prevItem[2].indexOf(">") >= 0) { lastList = prevItem[2]; } else { lastNumber = parseInt(prevItem[3], 10); } break; } if (prevIndent.length < thisIndent.length) { break; } prevLineNum--; } // Keep previous list if (lastList) { cm.replaceRange( thisLine.replace(listRE, thisIndent + lastList + thisItem[5]), {line: lineNum, ch: 0}, {line: lineNum, ch: thisLine.length} ); return; } lastNumber++; cm.replaceRange( thisLine.replace(listRE, thisIndent + lastNumber + thisItem[4] + thisItem[5]), {line: lineNum, ch: 0}, {line: lineNum, ch: thisLine.length} ); var nextLineNum = lineNum + 1; while (true) { var nextLine = cm.getLine(nextLineNum), nextItem = listRE.exec(nextLine); if (!nextItem) { break; } var nextIndent = nextItem[1]; var isNumber = !(unorderedListRE.test(nextItem[2]) || nextItem[2].indexOf(">") >= 0); if (nextIndent === thisIndent && isNumber) { lastNumber++; cm.replaceRange( nextLine.replace(listRE, nextIndent + lastNumber + nextItem[4] + nextItem[5]), {line: nextLineNum, ch: 0}, {line: nextLineNum, ch: nextLine.length} ); } if (nextIndent.length < thisIndent.length) { break; } nextLineNum++; } } } // Auto-updating Markdown list numbers when a new item is added to the // middle of a list function incrementRemainingMarkdownListNumbers(cm, pos) { var startLine = pos.line, lookAhead = 0, skipCount = 0; var startItem = listRE.exec(cm.getLine(startLine)), startIndent = startItem[1]; do { lookAhead += 1; var nextLineNumber = startLine + lookAhead; var nextLine = cm.getLine(nextLineNumber), nextItem = listRE.exec(nextLine); if (nextItem) { var nextIndent = nextItem[1]; var newNumber = (parseInt(startItem[3], 10) + lookAhead - skipCount); var nextNumber = (parseInt(nextItem[3], 10)), itemNumber = nextNumber; var isNumber = !(unorderedListRE.test(nextItem[2]) || nextItem[2].indexOf(">") >= 0); if (startIndent === nextIndent && !isNaN(nextNumber) && isNumber) { if (newNumber === nextNumber) itemNumber = nextNumber + 1; if (newNumber > nextNumber) itemNumber = newNumber + 1; cm.replaceRange( nextLine.replace(listRE, nextIndent + itemNumber + nextItem[4] + nextItem[5]), { line: nextLineNumber, ch: 0 }, { line: nextLineNumber, ch: nextLine.length }); } else { if (startIndent.length > nextIndent.length) return; // This doesn't run if the next line immediatley indents, as it is // not clear of the users intention (new indented item or same level) if ((startIndent.length < nextIndent.length) && (lookAhead === 1)) return; skipCount += 1; } } } while (nextItem); } }); /** * Modified version of addon/edit/indentlist.js from https://github.com/joel-porquet/CodeMirror-markdown-list-autoindent */ // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: http://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); }) (function(CodeMirror) { "use strict"; var Pos = CodeMirror.Pos; var listTokenRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/; var spaceRE = /^\s*$/; function matchListToken(pos, cm) { /* Get some info about the current state */ var eolState = cm.getStateAfter(pos.line); var inList = eolState.list !== false; var inQuote = eolState.quote !== 0; /* Get the line from the start to where the cursor currently is */ var lineStart = cm.getRange(Pos(pos.line, 0), pos); /* Matches the beginning of the list line with the list token RE */ var match = listTokenRE.exec(lineStart); /* Not being in a list, or being in a list but not right after the list * token, are both not considered a match */ if ((!inList && !inQuote) || !match) return false else return true } CodeMirror.commands.autoIndentMarkdownList = function(cm) { if (cm.getOption("disableInput")) return CodeMirror.Pass; var ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { var pos = ranges[i].head; if (!ranges[i].empty() || !matchListToken(pos, cm)) { /* If no match, call regular Tab handler */ cm.execCommand("defaultTab"); cm.execCommand("indentUnindentContinueMarkdownList"); return; } /* Select the whole list line and indent it by one unit */ cm.indentLine(pos.line, "add"); cm.execCommand("indentUnindentContinueMarkdownList"); } }; CodeMirror.commands.autoUnindentMarkdownList = function(cm) { if (cm.getOption("disableInput")) return CodeMirror.Pass; var ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { var pos = ranges[i].head; if (!ranges[i].empty() || !matchListToken(pos, cm)) { /* If no match, call regular Shift-Tab handler */ cm.execCommand("indentLess"); cm.execCommand("indentUnindentContinueMarkdownList"); return; } /* Select the whole list line and unindent it by one unit */ cm.indentLine(pos.line, "subtract"); cm.execCommand("indentUnindentContinueMarkdownList"); } }; }); /** * addon/selection/active-line.js */ // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); }) (function(CodeMirror) { "use strict"; var WRAP_CLASS = "CodeMirror-activeline"; var BACK_CLASS = "CodeMirror-activeline-background"; var GUTT_CLASS = "CodeMirror-activeline-gutter"; CodeMirror.defineOption("styleActiveLine", false, function(cm, val, old) { var prev = old == CodeMirror.Init ? false : old; if (val == prev) return if (prev) { cm.off("beforeSelectionChange", selectionChange); clearActiveLines(cm); delete cm.state.activeLines; } if (val) { cm.state.activeLines = []; updateActiveLines(cm, cm.listSelections()); cm.on("beforeSelectionChange", selectionChange); } }); function clearActiveLines(cm) { for (var i = 0; i < cm.state.activeLines.length; i++) { cm.removeLineClass(cm.state.activeLines[i], "wrap", WRAP_CLASS); cm.removeLineClass(cm.state.activeLines[i], "background", BACK_CLASS); cm.removeLineClass(cm.state.activeLines[i], "gutter", GUTT_CLASS); } } function sameArray(a, b) { if (a.length != b.length) return false; for (var i = 0; i < a.length; i++) if (a[i] != b[i]) return false; return true; } function updateActiveLines(cm, ranges) { var active = []; for (var i = 0; i < ranges.length; i++) { var range = ranges[i]; var option = cm.getOption("styleActiveLine"); if (typeof option == "object" && option.nonEmpty ? range.anchor.line != range.head.line : !range.empty()) continue var line = cm.getLineHandleVisualStart(range.head.line); if (active[active.length - 1] != line) active.push(line); } if (sameArray(cm.state.activeLines, active)) return; cm.operation(function() { clearActiveLines(cm); for (var i = 0; i < active.length; i++) { cm.addLineClass(active[i], "wrap", WRAP_CLASS); cm.addLineClass(active[i], "background", BACK_CLASS); cm.addLineClass(active[i], "gutter", GUTT_CLASS); } cm.state.activeLines = active; }); } function selectionChange(cm, sel) { updateActiveLines(cm, sel.ranges); } }); /** * addon/scroll/scrollpastend.js */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); }) (function(CodeMirror) { "use strict"; CodeMirror.defineOption("scrollPastEnd", false, function(cm, val, old) { if (old && old != CodeMirror.Init) { cm.off("change", onChange); cm.off("refresh", updateBottomMargin); cm.display.lineSpace.parentNode.style.paddingBottom = ""; cm.state.scrollPastEndPadding = null; } if (val) { cm.on("change", onChange); cm.on("refresh", updateBottomMargin); updateBottomMargin(cm); } }); function onChange(cm, change) { if (CodeMirror.changeEnd(change).line == cm.lastLine()) updateBottomMargin(cm); } function updateBottomMargin(cm) { var padding = ""; if (cm.lineCount() > 1) { var totalH = cm.display.scroller.clientHeight - 30, lastLineH = cm.getLineHandle(cm.lastLine()).height; padding = (totalH / 2 - lastLineH) + "px"; } if (cm.state.scrollPastEndPadding != padding) { cm.state.scrollPastEndPadding = padding; cm.display.lineSpace.parentNode.style.paddingBottom = padding; cm.off("refresh", updateBottomMargin); cm.setSize(); cm.on("refresh", updateBottomMargin); } } }); /** * addon/dialog/dialog.js */ // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE // Open simple dialogs on top of an editor. Relies on dialog.css. (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); }) (function(CodeMirror) { function dialogDiv(cm, template, bottom) { var wrap = cm.getWrapperElement(); var dialog; dialog = wrap.appendChild(document.createElement("div")); if (bottom) dialog.className = "CodeMirror-dialog CodeMirror-dialog-bottom"; else dialog.className = "CodeMirror-dialog CodeMirror-dialog-top"; if (typeof template == "string") { dialog.innerHTML = template; } else { // Assuming it's a detached DOM element. dialog.appendChild(template); } CodeMirror.addClass(wrap, 'dialog-opened'); return dialog; } function closeNotification(cm, newVal) { if (cm.state.currentNotificationClose) cm.state.currentNotificationClose(); cm.state.currentNotificationClose = newVal; } CodeMirror.defineExtension("openDialog", function(template, callback, options) { if (!options) options = {}; closeNotification(this, null); var dialog = dialogDiv(this, template, options.bottom); var closed = false, me = this; function close(newVal) { if (typeof newVal == 'string') { inp.value = newVal; } else { if (closed) return; closed = true; CodeMirror.rmClass(dialog.parentNode, 'dialog-opened'); dialog.parentNode.removeChild(dialog); me.focus(); if (options.onClose) options.onClose(dialog); } } var inp = dialog.getElementsByTagName("input")[0], button; if (inp) { inp.focus(); if (options.value) { inp.value = options.value; if (options.selectValueOnOpen !== false) { inp.select(); } } if (options.onInput) CodeMirror.on(inp, "input", function(e) { options.onInput(e, inp.value, close);}); if (options.onKeyUp) CodeMirror.on(inp, "keyup", function(e) {options.onKeyUp(e, inp.value, close);}); CodeMirror.on(inp, "keydown", function(e) { if (options && options.onKeyDown && options.onKeyDown(e, inp.value, close)) { return; } if (e.keyCode == 27 || (options.closeOnEnter !== false && e.keyCode == 13)) { inp.blur(); CodeMirror.e_stop(e); close(); } if (e.keyCode == 13) callback(inp.value, e); }); if (options.closeOnBlur !== false) CodeMirror.on(dialog, "focusout", function (evt) { if (evt.relatedTarget !== null) close(); }); } else if (button = dialog.getElementsByTagName("button")[0]) { CodeMirror.on(button, "click", function() { close(); me.focus(); }); if (options.closeOnBlur !== false) CodeMirror.on(button, "blur", close); button.focus(); } return close; }); CodeMirror.defineExtension("openConfirm", function(template, callbacks, options) { closeNotification(this, null); var dialog = dialogDiv(this, template, options && options.bottom); var buttons = dialog.getElementsByTagName("button"); var closed = false, me = this, blurring = 1; function close() { if (closed) return; closed = true; CodeMirror.rmClass(dialog.parentNode, 'dialog-opened'); dialog.parentNode.removeChild(dialog); me.focus(); } buttons[0].focus(); for (var i = 0; i < buttons.length; ++i) { var b = buttons[i]; (function(callback) { CodeMirror.on(b, "click", function(e) { CodeMirror.e_preventDefault(e); close(); if (callback) callback(me); }); })(callbacks[i]); CodeMirror.on(b, "blur", function() { --blurring; setTimeout(function() { if (blurring <= 0) close(); }, 200); }); CodeMirror.on(b, "focus", function() { ++blurring; }); } }); /* * openNotification * Opens a notification, that can be closed with an optional timer * (default 5000ms timer) and always closes on click. * * If a notification is opened while another is opened, it will close the * currently opened one and open the new one immediately. */ CodeMirror.defineExtension("openNotification", function(template, options) { closeNotification(this, close); var dialog = dialogDiv(this, template, options && options.bottom); var closed = false, doneTimer; var duration = options && typeof options.duration !== "undefined" ? options.duration : 5000; function close() { if (closed) return; closed = true; clearTimeout(doneTimer); CodeMirror.rmClass(dialog.parentNode, 'dialog-opened'); dialog.parentNode.removeChild(dialog); } CodeMirror.on(dialog, 'click', function(e) { CodeMirror.e_preventDefault(e); close(); }); if (duration) doneTimer = setTimeout(close, duration); return close; }); }); // OBSIDIAN CUSTOM BEHAVIOR // ALWAYS KEEP AT THE BOTTOM let Pos = CodeMirror.Pos; // from https://codemirror.net/keymap/sublime.js CodeMirror.commands.swapLineUp = function(cm) { if (cm.isReadOnly()) return CodeMirror.Pass var ranges = cm.listSelections(), linesToMove = [], at = cm.firstLine() - 1, newSels = []; for (var i = 0; i < ranges.length; i++) { var range = ranges[i], from = range.from().line - 1, to = range.to().line; newSels.push({anchor: Pos(range.anchor.line - 1, range.anchor.ch), head: Pos(range.head.line - 1, range.head.ch)}); if (range.to().ch == 0 && !range.empty()) --to; if (from > at) linesToMove.push(from, to); else if (linesToMove.length) linesToMove[linesToMove.length - 1] = to; at = to; } cm.operation(function() { for (var i = 0; i < linesToMove.length; i += 2) { var from = linesToMove[i], to = linesToMove[i + 1]; var line = cm.getLine(from); cm.replaceRange("", Pos(from, 0), Pos(from + 1, 0), "+swapLine"); if (to > cm.lastLine()) cm.replaceRange("\n" + line, Pos(cm.lastLine()), null, "+swapLine"); else cm.replaceRange(line + "\n", Pos(to, 0), null, "+swapLine"); } cm.setSelections(newSels); cm.scrollIntoView(); }); }; // from https://codemirror.net/keymap/sublime.js CodeMirror.commands.swapLineDown = function(cm) { if (cm.isReadOnly()) return CodeMirror.Pass var ranges = cm.listSelections(), linesToMove = [], at = cm.lastLine() + 1; for (var i = ranges.length - 1; i >= 0; i--) { var range = ranges[i], from = range.to().line + 1, to = range.from().line; if (range.to().ch == 0 && !range.empty()) from--; if (from < at) linesToMove.push(from, to); else if (linesToMove.length) linesToMove[linesToMove.length - 1] = to; at = to; } cm.operation(function() { for (var i = linesToMove.length - 2; i >= 0; i -= 2) { var from = linesToMove[i], to = linesToMove[i + 1]; var line = cm.getLine(from); if (from == cm.lastLine()) cm.replaceRange("", Pos(from - 1), Pos(from), "+swapLine"); else cm.replaceRange("", Pos(from, 0), Pos(from + 1, 0), "+swapLine"); cm.replaceRange(line + "\n", Pos(to, 0), null, "+swapLine"); } cm.scrollIntoView(); }); }; CodeMirror.registerHelper('fold', 'frontmatter', function (cm, start) { if (cm.getLine(start.line) !== '---') { return undefined; } for (let prevLine = start.line - 1; prevLine >= 0; prevLine--) { if (cm.getLine(prevLine).trim()) { return undefined; } } var lastLineNo = cm.lastLine(); var end = start.line + 1; while (end < lastLineNo) { if (cm.getLine(end) === '---') { break; } end++; } return { from: CodeMirror.Pos(start.line, 3), to: CodeMirror.Pos(end, 3) }; }); CodeMirror.commands.defaultTab = function (cm) { if (cm.somethingSelected()) { cm.execCommand('indentMore'); } else { if (cm.getOption('indentWithTabs')) { cm.execCommand('insertTab'); } else { cm.execCommand('insertSoftTab'); } } } // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE // This is CodeMirror (https://codemirror.net), a code editor // implemented in JavaScript on top of the browser's DOM. // // You can find some technical background for some of the code below // at http://marijnhaverbeke.nl/blog/#cm-internals . (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = global || self, global.CodeMirror = factory()); }(this, (function () { 'use strict'; // Kludges for bugs and behavior differences that can't be feature // detected are enabled based on userAgent etc sniffing. var userAgent = navigator.userAgent; var platform = navigator.platform; var gecko = /gecko\/\d/i.test(userAgent); var ie_upto10 = /MSIE \d/.test(userAgent); var ie_11up = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(userAgent); var edge = /Edge\/(\d+)/.exec(userAgent); var ie = ie_upto10 || ie_11up || edge; var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : +(edge || ie_11up)[1]); var webkit = !edge && /WebKit\//.test(userAgent); var qtwebkit = webkit && /Qt\/\d+\.\d+/.test(userAgent); var chrome = !edge && /Chrome\//.test(userAgent); var presto = /Opera\//.test(userAgent); var safari = /Apple Computer/.test(navigator.vendor); var mac_geMountainLion = /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(userAgent); var phantom = /PhantomJS/.test(userAgent); var ios = safari && (/Mobile\/\w+/.test(userAgent) || navigator.maxTouchPoints > 2); var android = /Android/.test(userAgent); // This is woefully incomplete. Suggestions for alternative methods welcome. var mobile = ios || android || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent); var mac = ios || /Mac/.test(platform); var chromeOS = /\bCrOS\b/.test(userAgent); var windows = /win/i.test(platform); var presto_version = presto && userAgent.match(/Version\/(\d*\.\d*)/); if (presto_version) { presto_version = Number(presto_version[1]); } if (presto_version && presto_version >= 15) { presto = false; webkit = true; } // Some browsers use the wrong event properties to signal cmd/ctrl on OS X var flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11)); var captureRightClick = gecko || (ie && ie_version >= 9); function classTest(cls) { return new RegExp("(^|\\s)" + cls + "(?:$|\\s)\\s*") } var rmClass = function(node, cls) { var current = node.className; var match = classTest(cls).exec(current); if (match) { var after = current.slice(match.index + match[0].length); node.className = current.slice(0, match.index) + (after ? match[1] + after : ""); } }; function removeChildren(e) { for (var count = e.childNodes.length; count > 0; --count) { e.removeChild(e.firstChild); } return e } function removeChildrenAndAdd(parent, e) { return removeChildren(parent).appendChild(e) } function elt(tag, content, className, style) { var e = document.createElement(tag); if (className) { e.className = className; } if (style) { e.style.cssText = style; } if (typeof content == "string") { e.appendChild(document.createTextNode(content)); } else if (content) { for (var i = 0; i < content.length; ++i) { e.appendChild(content[i]); } } return e } // wrapper for elt, which removes the elt from the accessibility tree function eltP(tag, content, className, style) { var e = elt(tag, content, className, style); e.setAttribute("role", "presentation"); return e } var range; if (document.createRange) { range = function(node, start, end, endNode) { var r = document.createRange(); r.setEnd(endNode || node, end); r.setStart(node, start); return r }; } else { range = function(node, start, end) { var r = document.body.createTextRange(); try { r.moveToElementText(node.parentNode); } catch(e) { return r } r.collapse(true); r.moveEnd("character", end); r.moveStart("character", start); return r }; } function contains(parent, child) { if (child.nodeType == 3) // Android browser always returns false when child is a textnode { child = child.parentNode; } if (parent.contains) { return parent.contains(child) } do { if (child.nodeType == 11) { child = child.host; } if (child == parent) { return true } } while (child = child.parentNode) } function activeElt() { // IE and Edge may throw an "Unspecified Error" when accessing document.activeElement. // IE < 10 will throw when accessed while the page is loading or in an iframe. // IE > 9 and Edge will throw when accessed in an iframe if document.body is unavailable. var activeElement; try { activeElement = document.activeElement; } catch(e) { activeElement = document.body || null; } while (activeElement && activeElement.shadowRoot && activeElement.shadowRoot.activeElement) { activeElement = activeElement.shadowRoot.activeElement; } return activeElement } function addClass(node, cls) { var current = node.className; if (!classTest(cls).test(current)) { node.className += (current ? " " : "") + cls; } } function joinClasses(a, b) { var as = a.split(" "); for (var i = 0; i < as.length; i++) { if (as[i] && !classTest(as[i]).test(b)) { b += " " + as[i]; } } return b } var selectInput = function(node) { node.select(); }; if (ios) // Mobile Safari apparently has a bug where select() is broken. { selectInput = function(node) { node.selectionStart = 0; node.selectionEnd = node.value.length; }; } else if (ie) // Suppress mysterious IE10 errors { selectInput = function(node) { try { node.select(); } catch(_e) {} }; } function bind(f) { var args = Array.prototype.slice.call(arguments, 1); return function(){return f.apply(null, args)} } function copyObj(obj, target, overwrite) { if (!target) { target = {}; } for (var prop in obj) { if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop))) { target[prop] = obj[prop]; } } return target } // Counts the column offset in a string, taking tabs into account. // Used mostly to find indentation. function countColumn(string, end, tabSize, startIndex, startValue) { if (end == null) { end = string.search(/[^\s\u00a0]/); if (end == -1) { end = string.length; } } for (var i = startIndex || 0, n = startValue || 0;;) { var nextTab = string.indexOf("\t", i); if (nextTab < 0 || nextTab >= end) { return n + (end - i) } n += nextTab - i; n += tabSize - (n % tabSize); i = nextTab + 1; } } var Delayed = function() { this.id = null; this.f = null; this.time = 0; this.handler = bind(this.onTimeout, this); }; Delayed.prototype.onTimeout = function (self) { self.id = 0; if (self.time <= +new Date) { self.f(); } else { setTimeout(self.handler, self.time - +new Date); } }; Delayed.prototype.set = function (ms, f) { this.f = f; var time = +new Date + ms; if (!this.id || time < this.time) { clearTimeout(this.id); this.id = setTimeout(this.handler, ms); this.time = time; } }; function indexOf(array, elt) { for (var i = 0; i < array.length; ++i) { if (array[i] == elt) { return i } } return -1 } // Number of pixels added to scroller and sizer to hide scrollbar var scrollerGap = 50; // Returned or thrown by various protocols to signal 'I'm not // handling this'. var Pass = {toString: function(){return "CodeMirror.Pass"}}; // Reused option objects for setSelection & friends var sel_dontScroll = {scroll: false}, sel_mouse = {origin: "*mouse"}, sel_move = {origin: "+move"}; // The inverse of countColumn -- find the offset that corresponds to // a particular column. function findColumn(string, goal, tabSize) { for (var pos = 0, col = 0;;) { var nextTab = string.indexOf("\t", pos); if (nextTab == -1) { nextTab = string.length; } var skipped = nextTab - pos; if (nextTab == string.length || col + skipped >= goal) { return pos + Math.min(skipped, goal - col) } col += nextTab - pos; col += tabSize - (col % tabSize); pos = nextTab + 1; if (col >= goal) { return pos } } } var spaceStrs = [""]; function spaceStr(n) { while (spaceStrs.length <= n) { spaceStrs.push(lst(spaceStrs) + " "); } return spaceStrs[n] } function lst(arr) { return arr[arr.length-1] } function map(array, f) { var out = []; for (var i = 0; i < array.length; i++) { out[i] = f(array[i], i); } return out } function insertSorted(array, value, score) { var pos = 0, priority = score(value); while (pos < array.length && score(array[pos]) <= priority) { pos++; } array.splice(pos, 0, value); } function nothing() {} function createObj(base, props) { var inst; if (Object.create) { inst = Object.create(base); } else { nothing.prototype = base; inst = new nothing(); } if (props) { copyObj(props, inst); } return inst } var nonASCIISingleCaseWordChar = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/; function isWordCharBasic(ch) { return /\w/.test(ch) || ch > "\x80" && (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch)) } function isWordChar(ch, helper) { if (!helper) { return isWordCharBasic(ch) } if (helper.source.indexOf("\\w") > -1 && isWordCharBasic(ch)) { return true } return helper.test(ch) } function isEmpty(obj) { for (var n in obj) { if (obj.hasOwnProperty(n) && obj[n]) { return false } } return true } // Extending unicode characters. A series of a non-extending char + // any number of extending chars is treated as a single unit as far // as editing and measuring is concerned. This is not fully correct, // since some scripts/fonts/browsers also treat other configurations // of code points as a group. var extendingChars = /[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/; function isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendingChars.test(ch) } // Returns a number from the range [`0`; `str.length`] unless `pos` is outside that range. function skipExtendingChars(str, pos, dir) { while ((dir < 0 ? pos > 0 : pos < str.length) && isExtendingChar(str.charAt(pos))) { pos += dir; } return pos } // Returns the value from the range [`from`; `to`] that satisfies // `pred` and is closest to `from`. Assumes that at least `to` // satisfies `pred`. Supports `from` being greater than `to`. function findFirst(pred, from, to) { // At any point we are certain `to` satisfies `pred`, don't know // whether `from` does. var dir = from > to ? -1 : 1; for (;;) { if (from == to) { return from } var midF = (from + to) / 2, mid = dir < 0 ? Math.ceil(midF) : Math.floor(midF); if (mid == from) { return pred(mid) ? from : to } if (pred(mid)) { to = mid; } else { from = mid + dir; } } } // BIDI HELPERS function iterateBidiSections(order, from, to, f) { if (!order) { return f(from, to, "ltr", 0) } var found = false; for (var i = 0; i < order.length; ++i) { var part = order[i]; if (part.from < to && part.to > from || from == to && part.to == from) { f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? "rtl" : "ltr", i); found = true; } } if (!found) { f(from, to, "ltr"); } } var bidiOther = null; function getBidiPartAt(order, ch, sticky) { var found; bidiOther = null; for (var i = 0; i < order.length; ++i) { var cur = order[i]; if (cur.from < ch && cur.to > ch) { return i } if (cur.to == ch) { if (cur.from != cur.to && sticky == "before") { found = i; } else { bidiOther = i; } } if (cur.from == ch) { if (cur.from != cur.to && sticky != "before") { found = i; } else { bidiOther = i; } } } return found != null ? found : bidiOther } // Bidirectional ordering algorithm // See http://unicode.org/reports/tr9/tr9-13.html for the algorithm // that this (partially) implements. // One-char codes used for character types: // L (L): Left-to-Right // R (R): Right-to-Left // r (AL): Right-to-Left Arabic // 1 (EN): European Number // + (ES): European Number Separator // % (ET): European Number Terminator // n (AN): Arabic Number // , (CS): Common Number Separator // m (NSM): Non-Spacing Mark // b (BN): Boundary Neutral // s (B): Paragraph Separator // t (S): Segment Separator // w (WS): Whitespace // N (ON): Other Neutrals // Returns null if characters are ordered as they appear // (left-to-right), or an array of sections ({from, to, level} // objects) in the order in which they occur visually. var bidiOrdering = (function() { // Character types for codepoints 0 to 0xff var lowTypes = "bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN"; // Character types for codepoints 0x600 to 0x6f9 var arabicTypes = "nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111"; function charType(code) { if (code <= 0xf7) { return lowTypes.charAt(code) } else if (0x590 <= code && code <= 0x5f4) { return "R" } else if (0x600 <= code && code <= 0x6f9) { return arabicTypes.charAt(code - 0x600) } else if (0x6ee <= code && code <= 0x8ac) { return "r" } else if (0x2000 <= code && code <= 0x200b) { return "w" } else if (code == 0x200c) { return "b" } else { return "L" } } var bidiRE = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/; var isNeutral = /[stwN]/, isStrong = /[LRr]/, countsAsLeft = /[Lb1n]/, countsAsNum = /[1n]/; function BidiSpan(level, from, to) { this.level = level; this.from = from; this.to = to; } return function(str, direction) { var outerType = direction == "ltr" ? "L" : "R"; if (str.length == 0 || direction == "ltr" && !bidiRE.test(str)) { return false } var len = str.length, types = []; for (var i = 0; i < len; ++i) { types.push(charType(str.charCodeAt(i))); } // W1. Examine each non-spacing mark (NSM) in the level run, and // change the type of the NSM to the type of the previous // character. If the NSM is at the start of the level run, it will // get the type of sor. for (var i$1 = 0, prev = outerType; i$1 < len; ++i$1) { var type = types[i$1]; if (type == "m") { types[i$1] = prev; } else { prev = type; } } // W2. Search backwards from each instance of a European number // until the first strong type (R, L, AL, or sor) is found. If an // AL is found, change the type of the European number to Arabic // number. // W3. Change all ALs to R. for (var i$2 = 0, cur = outerType; i$2 < len; ++i$2) { var type$1 = types[i$2]; if (type$1 == "1" && cur == "r") { types[i$2] = "n"; } else if (isStrong.test(type$1)) { cur = type$1; if (type$1 == "r") { types[i$2] = "R"; } } } // W4. A single European separator between two European numbers // changes to a European number. A single common separator between // two numbers of the same type changes to that type. for (var i$3 = 1, prev$1 = types[0]; i$3 < len - 1; ++i$3) { var type$2 = types[i$3]; if (type$2 == "+" && prev$1 == "1" && types[i$3+1] == "1") { types[i$3] = "1"; } else if (type$2 == "," && prev$1 == types[i$3+1] && (prev$1 == "1" || prev$1 == "n")) { types[i$3] = prev$1; } prev$1 = type$2; } // W5. A sequence of European terminators adjacent to European // numbers changes to all European numbers. // W6. Otherwise, separators and terminators change to Other // Neutral. for (var i$4 = 0; i$4 < len; ++i$4) { var type$3 = types[i$4]; if (type$3 == ",") { types[i$4] = "N"; } else if (type$3 == "%") { var end = (void 0); for (end = i$4 + 1; end < len && types[end] == "%"; ++end) {} var replace = (i$4 && types[i$4-1] == "!") || (end < len && types[end] == "1") ? "1" : "N"; for (var j = i$4; j < end; ++j) { types[j] = replace; } i$4 = end - 1; } } // W7. Search backwards from each instance of a European number // until the first strong type (R, L, or sor) is found. If an L is // found, then change the type of the European number to L. for (var i$5 = 0, cur$1 = outerType; i$5 < len; ++i$5) { var type$4 = types[i$5]; if (cur$1 == "L" && type$4 == "1") { types[i$5] = "L"; } else if (isStrong.test(type$4)) { cur$1 = type$4; } } // N1. A sequence of neutrals takes the direction of the // surrounding strong text if the text on both sides has the same // direction. European and Arabic numbers act as if they were R in // terms of their influence on neutrals. Start-of-level-run (sor) // and end-of-level-run (eor) are used at level run boundaries. // N2. Any remaining neutrals take the embedding direction. for (var i$6 = 0; i$6 < len; ++i$6) { if (isNeutral.test(types[i$6])) { var end$1 = (void 0); for (end$1 = i$6 + 1; end$1 < len && isNeutral.test(types[end$1]); ++end$1) {} var before = (i$6 ? types[i$6-1] : outerType) == "L"; var after = (end$1 < len ? types[end$1] : outerType) == "L"; var replace$1 = before == after ? (before ? "L" : "R") : outerType; for (var j$1 = i$6; j$1 < end$1; ++j$1) { types[j$1] = replace$1; } i$6 = end$1 - 1; } } // Here we depart from the documented algorithm, in order to avoid // building up an actual levels array. Since there are only three // levels (0, 1, 2) in an implementation that doesn't take // explicit embedding into account, we can build up the order on // the fly, without following the level-based algorithm. var order = [], m; for (var i$7 = 0; i$7 < len;) { if (countsAsLeft.test(types[i$7])) { var start = i$7; for (++i$7; i$7 < len && countsAsLeft.test(types[i$7]); ++i$7) {} order.push(new BidiSpan(0, start, i$7)); } else { var pos = i$7, at = order.length, isRTL = direction == "rtl" ? 1 : 0; for (++i$7; i$7 < len && types[i$7] != "L"; ++i$7) {} for (var j$2 = pos; j$2 < i$7;) { if (countsAsNum.test(types[j$2])) { if (pos < j$2) { order.splice(at, 0, new BidiSpan(1, pos, j$2)); at += isRTL; } var nstart = j$2; for (++j$2; j$2 < i$7 && countsAsNum.test(types[j$2]); ++j$2) {} order.splice(at, 0, new BidiSpan(2, nstart, j$2)); at += isRTL; pos = j$2; } else { ++j$2; } } if (pos < i$7) { order.splice(at, 0, new BidiSpan(1, pos, i$7)); } } } if (direction == "ltr") { if (order[0].level == 1 && (m = str.match(/^\s+/))) { order[0].from = m[0].length; order.unshift(new BidiSpan(0, 0, m[0].length)); } if (lst(order).level == 1 && (m = str.match(/\s+$/))) { lst(order).to -= m[0].length; order.push(new BidiSpan(0, len - m[0].length, len)); } } return direction == "rtl" ? order.reverse() : order } })(); // Get the bidi ordering for the given line (and cache it). Returns // false for lines that are fully left-to-right, and an array of // BidiSpan objects otherwise. function getOrder(line, direction) { var order = line.order; if (order == null) { order = line.order = bidiOrdering(line.text, direction); } return order } // EVENT HANDLING // Lightweight event framework. on/off also work on DOM nodes, // registering native DOM handlers. var noHandlers = []; var on = function(emitter, type, f) { if (emitter.addEventListener) { emitter.addEventListener(type, f, false); } else if (emitter.attachEvent) { emitter.attachEvent("on" + type, f); } else { var map = emitter._handlers || (emitter._handlers = {}); map[type] = (map[type] || noHandlers).concat(f); } }; function getHandlers(emitter, type) { return emitter._handlers && emitter._handlers[type] || noHandlers } function off(emitter, type, f) { if (emitter.removeEventListener) { emitter.removeEventListener(type, f, false); } else if (emitter.detachEvent) { emitter.detachEvent("on" + type, f); } else { var map = emitter._handlers, arr = map && map[type]; if (arr) { var index = indexOf(arr, f); if (index > -1) { map[type] = arr.slice(0, index).concat(arr.slice(index + 1)); } } } } function signal(emitter, type /*, values...*/) { var handlers = getHandlers(emitter, type); if (!handlers.length) { return } var args = Array.prototype.slice.call(arguments, 2); for (var i = 0; i < handlers.length; ++i) { handlers[i].apply(null, args); } } // The DOM events that CodeMirror handles can be overridden by // registering a (non-DOM) handler on the editor for the event name, // and preventDefault-ing the event in that handler. function signalDOMEvent(cm, e, override) { if (typeof e == "string") { e = {type: e, preventDefault: function() { this.defaultPrevented = true; }}; } signal(cm, override || e.type, cm, e); return e_defaultPrevented(e) || e.codemirrorIgnore } function signalCursorActivity(cm) { var arr = cm._handlers && cm._handlers.cursorActivity; if (!arr) { return } var set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = []); for (var i = 0; i < arr.length; ++i) { if (indexOf(set, arr[i]) == -1) { set.push(arr[i]); } } } function hasHandler(emitter, type) { return getHandlers(emitter, type).length > 0 } // Add on and off methods to a constructor's prototype, to make // registering events on such objects more convenient. function eventMixin(ctor) { ctor.prototype.on = function(type, f) {on(this, type, f);}; ctor.prototype.off = function(type, f) {off(this, type, f);}; } // Due to the fact that we still support jurassic IE versions, some // compatibility wrappers are needed. function e_preventDefault(e) { if (e.preventDefault) { e.preventDefault(); } else { e.returnValue = false; } } function e_stopPropagation(e) { if (e.stopPropagation) { e.stopPropagation(); } else { e.cancelBubble = true; } } function e_defaultPrevented(e) { return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false } function e_stop(e) {e_preventDefault(e); e_stopPropagation(e);} function e_target(e) {return e.target || e.srcElement} function e_button(e) { var b = e.which; if (b == null) { if (e.button & 1) { b = 1; } else if (e.button & 2) { b = 3; } else if (e.button & 4) { b = 2; } } if (mac && e.ctrlKey && b == 1) { b = 3; } return b } // Detect drag-and-drop var dragAndDrop = function() { // There is *some* kind of drag-and-drop support in IE6-8, but I // couldn't get it to work yet. if (ie && ie_version < 9) { return false } var div = elt('div'); return "draggable" in div || "dragDrop" in div }(); var zwspSupported; function zeroWidthElement(measure) { if (zwspSupported == null) { var test = elt("span", "\u200b"); removeChildrenAndAdd(measure, elt("span", [test, document.createTextNode("x")])); if (measure.firstChild.offsetHeight != 0) { zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(ie && ie_version < 8); } } var node = zwspSupported ? elt("span", "\u200b") : elt("span", "\u00a0", null, "display: inline-block; width: 1px; margin-right: -1px"); node.setAttribute("cm-text", ""); return node } // Feature-detect IE's crummy client rect reporting for bidi text var badBidiRects; function hasBadBidiRects(measure) { if (badBidiRects != null) { return badBidiRects } var txt = removeChildrenAndAdd(measure, document.createTextNode("A\u062eA")); var r0 = range(txt, 0, 1).getBoundingClientRect(); var r1 = range(txt, 1, 2).getBoundingClientRect(); removeChildren(measure); if (!r0 || r0.left == r0.right) { return false } // Safari returns null in some cases (#2780) return badBidiRects = (r1.right - r0.right < 3) } // See if "".split is the broken IE version, if so, provide an // alternative way to split lines. var splitLinesAuto = "\n\nb".split(/\n/).length != 3 ? function (string) { var pos = 0, result = [], l = string.length; while (pos <= l) { var nl = string.indexOf("\n", pos); if (nl == -1) { nl = string.length; } var line = string.slice(pos, string.charAt(nl - 1) == "\r" ? nl - 1 : nl); var rt = line.indexOf("\r"); if (rt != -1) { result.push(line.slice(0, rt)); pos += rt + 1; } else { result.push(line); pos = nl + 1; } } return result } : function (string) { return string.split(/\r\n?|\n/); }; var hasSelection = window.getSelection ? function (te) { try { return te.selectionStart != te.selectionEnd } catch(e) { return false } } : function (te) { var range; try {range = te.ownerDocument.selection.createRange();} catch(e) {} if (!range || range.parentElement() != te) { return false } return range.compareEndPoints("StartToEnd", range) != 0 }; var hasCopyEvent = (function () { var e = elt("div"); if ("oncopy" in e) { return true } e.setAttribute("oncopy", "return;"); return typeof e.oncopy == "function" })(); var badZoomedRects = null; function hasBadZoomedRects(measure) { if (badZoomedRects != null) { return badZoomedRects } var node = removeChildrenAndAdd(measure, elt("span", "x")); var normal = node.getBoundingClientRect(); var fromRange = range(node, 0, 1).getBoundingClientRect(); return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1 } // Known modes, by name and by MIME var modes = {}, mimeModes = {}; // Extra arguments are stored as the mode's dependencies, which is // used by (legacy) mechanisms like loadmode.js to automatically // load a mode. (Preferred mechanism is the require/define calls.) function defineMode(name, mode) { if (arguments.length > 2) { mode.dependencies = Array.prototype.slice.call(arguments, 2); } modes[name] = mode; } function defineMIME(mime, spec) { mimeModes[mime] = spec; } // Given a MIME type, a {name, ...options} config object, or a name // string, return a mode config object. function resolveMode(spec) { if (typeof spec == "string" && mimeModes.hasOwnProperty(spec)) { spec = mimeModes[spec]; } else if (spec && typeof spec.name == "string" && mimeModes.hasOwnProperty(spec.name)) { var found = mimeModes[spec.name]; if (typeof found == "string") { found = {name: found}; } spec = createObj(found, spec); spec.name = found.name; } else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+xml$/.test(spec)) { return resolveMode("application/xml") } else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+json$/.test(spec)) { return resolveMode("application/json") } if (typeof spec == "string") { return {name: spec} } else { return spec || {name: "null"} } } // Given a mode spec (anything that resolveMode accepts), find and // initialize an actual mode object. function getMode(options, spec) { spec = resolveMode(spec); var mfactory = modes[spec.name]; if (!mfactory) { return getMode(options, "text/plain") } var modeObj = mfactory(options, spec); if (modeExtensions.hasOwnProperty(spec.name)) { var exts = modeExtensions[spec.name]; for (var prop in exts) { if (!exts.hasOwnProperty(prop)) { continue } if (modeObj.hasOwnProperty(prop)) { modeObj["_" + prop] = modeObj[prop]; } modeObj[prop] = exts[prop]; } } modeObj.name = spec.name; if (spec.helperType) { modeObj.helperType = spec.helperType; } if (spec.modeProps) { for (var prop$1 in spec.modeProps) { modeObj[prop$1] = spec.modeProps[prop$1]; } } return modeObj } // This can be used to attach properties to mode objects from // outside the actual mode definition. var modeExtensions = {}; function extendMode(mode, properties) { var exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : (modeExtensions[mode] = {}); copyObj(properties, exts); } function copyState(mode, state) { if (state === true) { return state } if (mode.copyState) { return mode.copyState(state) } var nstate = {}; for (var n in state) { var val = state[n]; if (val instanceof Array) { val = val.concat([]); } nstate[n] = val; } return nstate } // Given a mode and a state (for that mode), find the inner mode and // state at the position that the state refers to. function innerMode(mode, state) { var info; while (mode.innerMode) { info = mode.innerMode(state); if (!info || info.mode == mode) { break } state = info.state; mode = info.mode; } return info || {mode: mode, state: state} } function startState(mode, a1, a2) { return mode.startState ? mode.startState(a1, a2) : true } // STRING STREAM // Fed to the mode parsers, provides helper functions to make // parsers more succinct. var StringStream = function(string, tabSize, lineOracle) { this.pos = this.start = 0; this.string = string; this.tabSize = tabSize || 8; this.lastColumnPos = this.lastColumnValue = 0; this.lineStart = 0; this.lineOracle = lineOracle; }; StringStream.prototype.eol = function () {return this.pos >= this.string.length}; StringStream.prototype.sol = function () {return this.pos == this.lineStart}; StringStream.prototype.peek = function () {return this.string.charAt(this.pos) || undefined}; StringStream.prototype.next = function () { if (this.pos < this.string.length) { return this.string.charAt(this.pos++) } }; StringStream.prototype.eat = function (match) { var ch = this.string.charAt(this.pos); var ok; if (typeof match == "string") { ok = ch == match; } else { ok = ch && (match.test ? match.test(ch) : match(ch)); } if (ok) {++this.pos; return ch} }; StringStream.prototype.eatWhile = function (match) { var start = this.pos; while (this.eat(match)){} return this.pos > start }; StringStream.prototype.eatSpace = function () { var start = this.pos; while (/[\s\u00a0]/.test(this.string.charAt(this.pos))) { ++this.pos; } return this.pos > start }; StringStream.prototype.skipToEnd = function () {this.pos = this.string.length;}; StringStream.prototype.skipTo = function (ch) { var found = this.string.indexOf(ch, this.pos); if (found > -1) {this.pos = found; return true} }; StringStream.prototype.backUp = function (n) {this.pos -= n;}; StringStream.prototype.column = function () { if (this.lastColumnPos < this.start) { this.lastColumnValue = countColumn(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue); this.lastColumnPos = this.start; } return this.lastColumnValue - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0) }; StringStream.prototype.indentation = function () { return countColumn(this.string, null, this.tabSize) - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0) }; StringStream.prototype.match = function (pattern, consume, caseInsensitive) { if (typeof pattern == "string") { var cased = function (str) { return caseInsensitive ? str.toLowerCase() : str; }; var substr = this.string.substr(this.pos, pattern.length); if (cased(substr) == cased(pattern)) { if (consume !== false) { this.pos += pattern.length; } return true } } else { var match = this.string.slice(this.pos).match(pattern); if (match && match.index > 0) { return null } if (match && consume !== false) { this.pos += match[0].length; } return match } }; StringStream.prototype.current = function (){return this.string.slice(this.start, this.pos)}; StringStream.prototype.hideFirstChars = function (n, inner) { this.lineStart += n; try { return inner() } finally { this.lineStart -= n; } }; StringStream.prototype.lookAhead = function (n) { var oracle = this.lineOracle; return oracle && oracle.lookAhead(n) }; StringStream.prototype.baseToken = function () { var oracle = this.lineOracle; return oracle && oracle.baseToken(this.pos) }; // Find the line object corresponding to the given line number. function getLine(doc, n) { n -= doc.first; if (n < 0 || n >= doc.size) { throw new Error("There is no line " + (n + doc.first) + " in the document.") } var chunk = doc; while (!chunk.lines) { for (var i = 0;; ++i) { var child = chunk.children[i], sz = child.chunkSize(); if (n < sz) { chunk = child; break } n -= sz; } } return chunk.lines[n] } // Get the part of a document between two positions, as an array of // strings. function getBetween(doc, start, end) { var out = [], n = start.line; doc.iter(start.line, end.line + 1, function (line) { var text = line.text; if (n == end.line) { text = text.slice(0, end.ch); } if (n == start.line) { text = text.slice(start.ch); } out.push(text); ++n; }); return out } // Get the lines between from and to, as array of strings. function getLines(doc, from, to) { var out = []; doc.iter(from, to, function (line) { out.push(line.text); }); // iter aborts when callback returns truthy value return out } // Update the height of a line, propagating the height change // upwards to parent nodes. function updateLineHeight(line, height) { var diff = height - line.height; if (diff) { for (var n = line; n; n = n.parent) { n.height += diff; } } } // Given a line object, find its line number by walking up through // its parent links. function lineNo(line) { if (line.parent == null) { return null } var cur = line.parent, no = indexOf(cur.lines, line); for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) { for (var i = 0;; ++i) { if (chunk.children[i] == cur) { break } no += chunk.children[i].chunkSize(); } } return no + cur.first } // Find the line at the given vertical position, using the height // information in the document tree. function lineAtHeight(chunk, h) { var n = chunk.first; outer: do { for (var i$1 = 0; i$1 < chunk.children.length; ++i$1) { var child = chunk.children[i$1], ch = child.height; if (h < ch) { chunk = child; continue outer } h -= ch; n += child.chunkSize(); } return n } while (!chunk.lines) var i = 0; for (; i < chunk.lines.length; ++i) { var line = chunk.lines[i], lh = line.height; if (h < lh) { break } h -= lh; } return n + i } function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size} function lineNumberFor(options, i) { return String(options.lineNumberFormatter(i + options.firstLineNumber)) } // A Pos instance represents a position within the text. function Pos(line, ch, sticky) { if ( sticky === void 0 ) sticky = null; if (!(this instanceof Pos)) { return new Pos(line, ch, sticky) } this.line = line; this.ch = ch; this.sticky = sticky; } // Compare two positions, return 0 if they are the same, a negative // number when a is less, and a positive number otherwise. function cmp(a, b) { return a.line - b.line || a.ch - b.ch } function equalCursorPos(a, b) { return a.sticky == b.sticky && cmp(a, b) == 0 } function copyPos(x) {return Pos(x.line, x.ch)} function maxPos(a, b) { return cmp(a, b) < 0 ? b : a } function minPos(a, b) { return cmp(a, b) < 0 ? a : b } // Most of the external API clips given positions to make sure they // actually exist within the document. function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1))} function clipPos(doc, pos) { if (pos.line < doc.first) { return Pos(doc.first, 0) } var last = doc.first + doc.size - 1; if (pos.line > last) { return Pos(last, getLine(doc, last).text.length) } return clipToLen(pos, getLine(doc, pos.line).text.length) } function clipToLen(pos, linelen) { var ch = pos.ch; if (ch == null || ch > linelen) { return Pos(pos.line, linelen) } else if (ch < 0) { return Pos(pos.line, 0) } else { return pos } } function clipPosArray(doc, array) { var out = []; for (var i = 0; i < array.length; i++) { out[i] = clipPos(doc, array[i]); } return out } var SavedContext = function(state, lookAhead) { this.state = state; this.lookAhead = lookAhead; }; var Context = function(doc, state, line, lookAhead) { this.state = state; this.doc = doc; this.line = line; this.maxLookAhead = lookAhead || 0; this.baseTokens = null; this.baseTokenPos = 1; }; Context.prototype.lookAhead = function (n) { var line = this.doc.getLine(this.line + n); if (line != null && n > this.maxLookAhead) { this.maxLookAhead = n; } return line }; Context.prototype.baseToken = function (n) { if (!this.baseTokens) { return null } while (this.baseTokens[this.baseTokenPos] <= n) { this.baseTokenPos += 2; } var type = this.baseTokens[this.baseTokenPos + 1]; return {type: type && type.replace(/( |^)overlay .*/, ""), size: this.baseTokens[this.baseTokenPos] - n} }; Context.prototype.nextLine = function () { this.line++; if (this.maxLookAhead > 0) { this.maxLookAhead--; } }; Context.fromSaved = function (doc, saved, line) { if (saved instanceof SavedContext) { return new Context(doc, copyState(doc.mode, saved.state), line, saved.lookAhead) } else { return new Context(doc, copyState(doc.mode, saved), line) } }; Context.prototype.save = function (copy) { var state = copy !== false ? copyState(this.doc.mode, this.state) : this.state; return this.maxLookAhead > 0 ? new SavedContext(state, this.maxLookAhead) : state }; // Compute a style array (an array starting with a mode generation // -- for invalidation -- followed by pairs of end positions and // style strings), which is used to highlight the tokens on the // line. function highlightLine(cm, line, context, forceToEnd) { // A styles array always starts with a number identifying the // mode/overlays that it is based on (for easy invalidation). var st = [cm.state.modeGen], lineClasses = {}; // Compute the base array of styles runMode(cm, line.text, cm.doc.mode, context, function (end, style) { return st.push(end, style); }, lineClasses, forceToEnd); var state = context.state; // Run overlays, adjust style array. var loop = function ( o ) { context.baseTokens = st; var overlay = cm.state.overlays[o], i = 1, at = 0; context.state = true; runMode(cm, line.text, overlay.mode, context, function (end, style) { var start = i; // Ensure there's a token end at the current position, and that i points at it while (at < end) { var i_end = st[i]; if (i_end > end) { st.splice(i, 1, end, st[i+1], i_end); } i += 2; at = Math.min(end, i_end); } if (!style) { return } if (overlay.opaque) { st.splice(start, i - start, end, "overlay " + style); i = start + 2; } else { for (; start < i; start += 2) { var cur = st[start+1]; st[start+1] = (cur ? cur + " " : "") + "overlay " + style; } } }, lineClasses); context.state = state; context.baseTokens = null; context.baseTokenPos = 1; }; for (var o = 0; o < cm.state.overlays.length; ++o) loop( o ); return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null} } function getLineStyles(cm, line, updateFrontier) { if (!line.styles || line.styles[0] != cm.state.modeGen) { var context = getContextBefore(cm, lineNo(line)); var resetState = line.text.length > cm.options.maxHighlightLength && copyState(cm.doc.mode, context.state); var result = highlightLine(cm, line, context); if (resetState) { context.state = resetState; } line.stateAfter = context.save(!resetState); line.styles = result.styles; if (result.classes) { line.styleClasses = result.classes; } else if (line.styleClasses) { line.styleClasses = null; } if (updateFrontier === cm.doc.highlightFrontier) { cm.doc.modeFrontier = Math.max(cm.doc.modeFrontier, ++cm.doc.highlightFrontier); } } return line.styles } function getContextBefore(cm, n, precise) { var doc = cm.doc, display = cm.display; if (!doc.mode.startState) { return new Context(doc, true, n) } var start = findStartLine(cm, n, precise); var saved = start > doc.first && getLine(doc, start - 1).stateAfter; var context = saved ? Context.fromSaved(doc, saved, start) : new Context(doc, startState(doc.mode), start); doc.iter(start, n, function (line) { processLine(cm, line.text, context); var pos = context.line; line.stateAfter = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo ? context.save() : null; context.nextLine(); }); if (precise) { doc.modeFrontier = context.line; } return context } // Lightweight form of highlight -- proceed over this line and // update state, but don't save a style array. Used for lines that // aren't currently visible. function processLine(cm, text, context, startAt) { var mode = cm.doc.mode; var stream = new StringStream(text, cm.options.tabSize, context); stream.start = stream.pos = startAt || 0; if (text == "") { callBlankLine(mode, context.state); } while (!stream.eol()) { readToken(mode, stream, context.state); stream.start = stream.pos; } } function callBlankLine(mode, state) { if (mode.blankLine) { return mode.blankLine(state) } if (!mode.innerMode) { return } var inner = innerMode(mode, state); if (inner.mode.blankLine) { return inner.mode.blankLine(inner.state) } } function readToken(mode, stream, state, inner) { for (var i = 0; i < 10; i++) { if (inner) { inner[0] = innerMode(mode, state).mode; } var style = mode.token(stream, state); if (stream.pos > stream.start) { return style } } throw new Error("Mode " + mode.name + " failed to advance stream.") } var Token = function(stream, type, state) { this.start = stream.start; this.end = stream.pos; this.string = stream.current(); this.type = type || null; this.state = state; }; // Utility for getTokenAt and getLineTokens function takeToken(cm, pos, precise, asArray) { var doc = cm.doc, mode = doc.mode, style; pos = clipPos(doc, pos); var line = getLine(doc, pos.line), context = getContextBefore(cm, pos.line, precise); var stream = new StringStream(line.text, cm.options.tabSize, context), tokens; if (asArray) { tokens = []; } while ((asArray || stream.pos < pos.ch) && !stream.eol()) { stream.start = stream.pos; style = readToken(mode, stream, context.state); if (asArray) { tokens.push(new Token(stream, style, copyState(doc.mode, context.state))); } } return asArray ? tokens : new Token(stream, style, context.state) } function extractLineClasses(type, output) { if (type) { for (;;) { var lineClass = type.match(/(?:^|\s+)line-(background-)?(\S+)/); if (!lineClass) { break } type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length); var prop = lineClass[1] ? "bgClass" : "textClass"; if (output[prop] == null) { output[prop] = lineClass[2]; } else if (!(new RegExp("(?:^|\\s)" + lineClass[2] + "(?:$|\\s)")).test(output[prop])) { output[prop] += " " + lineClass[2]; } } } return type } // Run the given mode's parser over a line, calling f for each token. function runMode(cm, text, mode, context, f, lineClasses, forceToEnd) { var flattenSpans = mode.flattenSpans; if (flattenSpans == null) { flattenSpans = cm.options.flattenSpans; } var curStart = 0, curStyle = null; var stream = new StringStream(text, cm.options.tabSize, context), style; var inner = cm.options.addModeClass && [null]; if (text == "") { extractLineClasses(callBlankLine(mode, context.state), lineClasses); } while (!stream.eol()) { if (stream.pos > cm.options.maxHighlightLength) { flattenSpans = false; if (forceToEnd) { processLine(cm, text, context, stream.pos); } stream.pos = text.length; style = null; } else { style = extractLineClasses(readToken(mode, stream, context.state, inner), lineClasses); } if (inner) { var mName = inner[0].name; if (mName) { style = "m-" + (style ? mName + " " + style : mName); } } if (!flattenSpans || curStyle != style) { while (curStart < stream.start) { curStart = Math.min(stream.start, curStart + 5000); f(curStart, curStyle); } curStyle = style; } stream.start = stream.pos; } while (curStart < stream.pos) { // Webkit seems to refuse to render text nodes longer than 57444 // characters, and returns inaccurate measurements in nodes // starting around 5000 chars. var pos = Math.min(stream.pos, curStart + 5000); f(pos, curStyle); curStart = pos; } } // Finds the line to start with when starting a parse. Tries to // find a line with a stateAfter, so that it can start with a // valid state. If that fails, it returns the line with the // smallest indentation, which tends to need the least context to // parse correctly. function findStartLine(cm, n, precise) { var minindent, minline, doc = cm.doc; var lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100); for (var search = n; search > lim; --search) { if (search <= doc.first) { return doc.first } var line = getLine(doc, search - 1), after = line.stateAfter; if (after && (!precise || search + (after instanceof SavedContext ? after.lookAhead : 0) <= doc.modeFrontier)) { return search } var indented = countColumn(line.text, null, cm.options.tabSize); if (minline == null || minindent > indented) { minline = search - 1; minindent = indented; } } return minline } function retreatFrontier(doc, n) { doc.modeFrontier = Math.min(doc.modeFrontier, n); if (doc.highlightFrontier < n - 10) { return } var start = doc.first; for (var line = n - 1; line > start; line--) { var saved = getLine(doc, line).stateAfter; // change is on 3 // state on line 1 looked ahead 2 -- so saw 3 // test 1 + 2 < 3 should cover this if (saved && (!(saved instanceof SavedContext) || line + saved.lookAhead < n)) { start = line + 1; break } } doc.highlightFrontier = Math.min(doc.highlightFrontier, start); } // Optimize some code when these features are not used. var sawReadOnlySpans = false, sawCollapsedSpans = false; function seeReadOnlySpans() { sawReadOnlySpans = true; } function seeCollapsedSpans() { sawCollapsedSpans = true; } // TEXTMARKER SPANS function MarkedSpan(marker, from, to) { this.marker = marker; this.from = from; this.to = to; } // Search an array of spans for a span matching the given marker. function getMarkedSpanFor(spans, marker) { if (spans) { for (var i = 0; i < spans.length; ++i) { var span = spans[i]; if (span.marker == marker) { return span } } } } // Remove a span from an array, returning undefined if no spans are // left (we don't store arrays for lines without spans). function removeMarkedSpan(spans, span) { var r; for (var i = 0; i < spans.length; ++i) { if (spans[i] != span) { (r || (r = [])).push(spans[i]); } } return r } // Add a span to a line. function addMarkedSpan(line, span, op) { var inThisOp = op && window.WeakSet && (op.markedSpans || (op.markedSpans = new WeakSet)); if (inThisOp && inThisOp.has(line.markedSpans)) { line.markedSpans.push(span); } else { line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span]; if (inThisOp) { inThisOp.add(line.markedSpans); } } span.marker.attachLine(line); } // Used for the algorithm that adjusts markers for a change in the // document. These functions cut an array of spans at a given // character position, returning an array of remaining chunks (or // undefined if nothing remains). function markedSpansBefore(old, startCh, isInsert) { var nw; if (old) { for (var i = 0; i < old.length; ++i) { var span = old[i], marker = span.marker; var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh); if (startsBefore || span.from == startCh && marker.type == "bookmark" && (!isInsert || !span.marker.insertLeft)) { var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh) ;(nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to)); } } } return nw } function markedSpansAfter(old, endCh, isInsert) { var nw; if (old) { for (var i = 0; i < old.length; ++i) { var span = old[i], marker = span.marker; var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh); if (endsAfter || span.from == endCh && marker.type == "bookmark" && (!isInsert || span.marker.insertLeft)) { var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh) ;(nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh, span.to == null ? null : span.to - endCh)); } } } return nw } // Given a change object, compute the new set of marker spans that // cover the line in which the change took place. Removes spans // entirely within the change, reconnects spans belonging to the // same marker that appear on both sides of the change, and cuts off // spans partially within the change. Returns an array of span // arrays with one element for each line in (after) the change. function stretchSpansOverChange(doc, change) { if (change.full) { return null } var oldFirst = isLine(doc, change.from.line) && getLine(doc, change.from.line).markedSpans; var oldLast = isLine(doc, change.to.line) && getLine(doc, change.to.line).markedSpans; if (!oldFirst && !oldLast) { return null } var startCh = change.from.ch, endCh = change.to.ch, isInsert = cmp(change.from, change.to) == 0; // Get the spans that 'stick out' on both sides var first = markedSpansBefore(oldFirst, startCh, isInsert); var last = markedSpansAfter(oldLast, endCh, isInsert); // Next, merge those two ends var sameLine = change.text.length == 1, offset = lst(change.text).length + (sameLine ? startCh : 0); if (first) { // Fix up .to properties of first for (var i = 0; i < first.length; ++i) { var span = first[i]; if (span.to == null) { var found = getMarkedSpanFor(last, span.marker); if (!found) { span.to = startCh; } else if (sameLine) { span.to = found.to == null ? null : found.to + offset; } } } } if (last) { // Fix up .from in last (or move them into first in case of sameLine) for (var i$1 = 0; i$1 < last.length; ++i$1) { var span$1 = last[i$1]; if (span$1.to != null) { span$1.to += offset; } if (span$1.from == null) { var found$1 = getMarkedSpanFor(first, span$1.marker); if (!found$1) { span$1.from = offset; if (sameLine) { (first || (first = [])).push(span$1); } } } else { span$1.from += offset; if (sameLine) { (first || (first = [])).push(span$1); } } } } // Make sure we didn't create any zero-length spans if (first) { first = clearEmptySpans(first); } if (last && last != first) { last = clearEmptySpans(last); } var newMarkers = [first]; if (!sameLine) { // Fill gap with whole-line-spans var gap = change.text.length - 2, gapMarkers; if (gap > 0 && first) { for (var i$2 = 0; i$2 < first.length; ++i$2) { if (first[i$2].to == null) { (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i$2].marker, null, null)); } } } for (var i$3 = 0; i$3 < gap; ++i$3) { newMarkers.push(gapMarkers); } newMarkers.push(last); } return newMarkers } // Remove spans that are empty and don't have a clearWhenEmpty // option of false. function clearEmptySpans(spans) { for (var i = 0; i < spans.length; ++i) { var span = spans[i]; if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false) { spans.splice(i--, 1); } } if (!spans.length) { return null } return spans } // Used to 'clip' out readOnly ranges when making a change. function removeReadOnlyRanges(doc, from, to) { var markers = null; doc.iter(from.line, to.line + 1, function (line) { if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) { var mark = line.markedSpans[i].marker; if (mark.readOnly && (!markers || indexOf(markers, mark) == -1)) { (markers || (markers = [])).push(mark); } } } }); if (!markers) { return null } var parts = [{from: from, to: to}]; for (var i = 0; i < markers.length; ++i) { var mk = markers[i], m = mk.find(0); for (var j = 0; j < parts.length; ++j) { var p = parts[j]; if (cmp(p.to, m.from) < 0 || cmp(p.from, m.to) > 0) { continue } var newParts = [j, 1], dfrom = cmp(p.from, m.from), dto = cmp(p.to, m.to); if (dfrom < 0 || !mk.inclusiveLeft && !dfrom) { newParts.push({from: p.from, to: m.from}); } if (dto > 0 || !mk.inclusiveRight && !dto) { newParts.push({from: m.to, to: p.to}); } parts.splice.apply(parts, newParts); j += newParts.length - 3; } } return parts } // Connect or disconnect spans from a line. function detachMarkedSpans(line) { var spans = line.markedSpans; if (!spans) { return } for (var i = 0; i < spans.length; ++i) { spans[i].marker.detachLine(line); } line.markedSpans = null; } function attachMarkedSpans(line, spans) { if (!spans) { return } for (var i = 0; i < spans.length; ++i) { spans[i].marker.attachLine(line); } line.markedSpans = spans; } // Helpers used when computing which overlapping collapsed span // counts as the larger one. function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0 } function extraRight(marker) { return marker.inclusiveRight ? 1 : 0 } // Returns a number indicating which of two overlapping collapsed // spans is larger (and thus includes the other). Falls back to // comparing ids when the spans cover exactly the same range. function compareCollapsedMarkers(a, b) { var lenDiff = a.lines.length - b.lines.length; if (lenDiff != 0) { return lenDiff } var aPos = a.find(), bPos = b.find(); var fromCmp = cmp(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b); if (fromCmp) { return -fromCmp } var toCmp = cmp(aPos.to, bPos.to) || extraRight(a) - extraRight(b); if (toCmp) { return toCmp } return b.id - a.id } // Find out whether a line ends or starts in a collapsed span. If // so, return the marker for that span. function collapsedSpanAtSide(line, start) { var sps = sawCollapsedSpans && line.markedSpans, found; if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) { sp = sps[i]; if (sp.marker.collapsed && (start ? sp.from : sp.to) == null && (!found || compareCollapsedMarkers(found, sp.marker) < 0)) { found = sp.marker; } } } return found } function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, true) } function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, false) } function collapsedSpanAround(line, ch) { var sps = sawCollapsedSpans && line.markedSpans, found; if (sps) { for (var i = 0; i < sps.length; ++i) { var sp = sps[i]; if (sp.marker.collapsed && (sp.from == null || sp.from < ch) && (sp.to == null || sp.to > ch) && (!found || compareCollapsedMarkers(found, sp.marker) < 0)) { found = sp.marker; } } } return found } // Test whether there exists a collapsed span that partially // overlaps (covers the start or end, but not both) of a new span. // Such overlap is not allowed. function conflictingCollapsedRange(doc, lineNo, from, to, marker) { var line = getLine(doc, lineNo); var sps = sawCollapsedSpans && line.markedSpans; if (sps) { for (var i = 0; i < sps.length; ++i) { var sp = sps[i]; if (!sp.marker.collapsed) { continue } var found = sp.marker.find(0); var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker); var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker); if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) { continue } if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) || fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0)) { return true } } } } // A visual line is a line as drawn on the screen. Folding, for // example, can cause multiple logical lines to appear on the same // visual line. This finds the start of the visual line that the // given line is part of (usually that is the line itself). function visualLine(line) { var merged; while (merged = collapsedSpanAtStart(line)) { line = merged.find(-1, true).line; } return line } function visualLineEnd(line) { var merged; while (merged = collapsedSpanAtEnd(line)) { line = merged.find(1, true).line; } return line } // Returns an array of logical lines that continue the visual line // started by the argument, or undefined if there are no such lines. function visualLineContinued(line) { var merged, lines; while (merged = collapsedSpanAtEnd(line)) { line = merged.find(1, true).line ;(lines || (lines = [])).push(line); } return lines } // Get the line number of the start of the visual line that the // given line number is part of. function visualLineNo(doc, lineN) { var line = getLine(doc, lineN), vis = visualLine(line); if (line == vis) { return lineN } return lineNo(vis) } // Get the line number of the start of the next visual line after // the given line. function visualLineEndNo(doc, lineN) { if (lineN > doc.lastLine()) { return lineN } var line = getLine(doc, lineN), merged; if (!lineIsHidden(doc, line)) { return lineN } while (merged = collapsedSpanAtEnd(line)) { line = merged.find(1, true).line; } return lineNo(line) + 1 } // Compute whether a line is hidden. Lines count as hidden when they // are part of a visual line that starts with another line, or when // they are entirely covered by collapsed, non-widget span. function lineIsHidden(doc, line) { var sps = sawCollapsedSpans && line.markedSpans; if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) { sp = sps[i]; if (!sp.marker.collapsed) { continue } if (sp.from == null) { return true } if (sp.marker.widgetNode) { continue } if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp)) { return true } } } } function lineIsHiddenInner(doc, line, span) { if (span.to == null) { var end = span.marker.find(1, true); return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker)) } if (span.marker.inclusiveRight && span.to == line.text.length) { return true } for (var sp = (void 0), i = 0; i < line.markedSpans.length; ++i) { sp = line.markedSpans[i]; if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to && (sp.to == null || sp.to != span.from) && (sp.marker.inclusiveLeft || span.marker.inclusiveRight) && lineIsHiddenInner(doc, line, sp)) { return true } } } // Find the height above the given line. function heightAtLine(lineObj) { lineObj = visualLine(lineObj); var h = 0, chunk = lineObj.parent; for (var i = 0; i < chunk.lines.length; ++i) { var line = chunk.lines[i]; if (line == lineObj) { break } else { h += line.height; } } for (var p = chunk.parent; p; chunk = p, p = chunk.parent) { for (var i$1 = 0; i$1 < p.children.length; ++i$1) { var cur = p.children[i$1]; if (cur == chunk) { break } else { h += cur.height; } } } return h } // Compute the character length of a line, taking into account // collapsed ranges (see markText) that might hide parts, and join // other lines onto it. function lineLength(line) { if (line.height == 0) { return 0 } var len = line.text.length, merged, cur = line; while (merged = collapsedSpanAtStart(cur)) { var found = merged.find(0, true); cur = found.from.line; len += found.from.ch - found.to.ch; } cur = line; while (merged = collapsedSpanAtEnd(cur)) { var found$1 = merged.find(0, true); len -= cur.text.length - found$1.from.ch; cur = found$1.to.line; len += cur.text.length - found$1.to.ch; } return len } // Find the longest line in the document. function findMaxLine(cm) { var d = cm.display, doc = cm.doc; d.maxLine = getLine(doc, doc.first); d.maxLineLength = lineLength(d.maxLine); d.maxLineChanged = true; doc.iter(function (line) { var len = lineLength(line); if (len > d.maxLineLength) { d.maxLineLength = len; d.maxLine = line; } }); } // LINE DATA STRUCTURE // Line objects. These hold state related to a line, including // highlighting info (the styles array). var Line = function(text, markedSpans, estimateHeight) { this.text = text; attachMarkedSpans(this, markedSpans); this.height = estimateHeight ? estimateHeight(this) : 1; }; Line.prototype.lineNo = function () { return lineNo(this) }; eventMixin(Line); // Change the content (text, markers) of a line. Automatically // invalidates cached information and tries to re-estimate the // line's height. function updateLine(line, text, markedSpans, estimateHeight) { line.text = text; if (line.stateAfter) { line.stateAfter = null; } if (line.styles) { line.styles = null; } if (line.order != null) { line.order = null; } detachMarkedSpans(line); attachMarkedSpans(line, markedSpans); var estHeight = estimateHeight ? estimateHeight(line) : 1; if (estHeight != line.height) { updateLineHeight(line, estHeight); } } // Detach a line from the document tree and its markers. function cleanUpLine(line) { line.parent = null; detachMarkedSpans(line); } // Convert a style as returned by a mode (either null, or a string // containing one or more styles) to a CSS style. This is cached, // and also looks for line-wide styles. var styleToClassCache = {}, styleToClassCacheWithMode = {}; function interpretTokenStyle(style, options) { if (!style || /^\s*$/.test(style)) { return null } var cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache; return cache[style] || (cache[style] = style.replace(/\S+/g, "cm-$&")) } // Render the DOM representation of the text of a line. Also builds // up a 'line map', which points at the DOM nodes that represent // specific stretches of text, and is used by the measuring code. // The returned object contains the DOM node, this map, and // information about line-wide styles that were set by the mode. function buildLineContent(cm, lineView) { // The padding-right forces the element to have a 'border', which // is needed on Webkit to be able to get line-level bounding // rectangles for it (in measureChar). var content = eltP("span", null, null, webkit ? "padding-right: .1px" : null); var builder = {pre: eltP("pre", [content], "CodeMirror-line"), content: content, col: 0, pos: 0, cm: cm, trailingSpace: false, splitSpaces: cm.getOption("lineWrapping")}; lineView.measure = {}; // Iterate over the logical lines that make up this visual line. for (var i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) { var line = i ? lineView.rest[i - 1] : lineView.line, order = (void 0); builder.pos = 0; builder.addToken = buildToken; // Optionally wire in some hacks into the token-rendering // algorithm, to deal with browser quirks. if (hasBadBidiRects(cm.display.measure) && (order = getOrder(line, cm.doc.direction))) { builder.addToken = buildTokenBadBidi(builder.addToken, order); } builder.map = []; var allowFrontierUpdate = lineView != cm.display.externalMeasured && lineNo(line); insertLineContent(line, builder, getLineStyles(cm, line, allowFrontierUpdate)); if (line.styleClasses) { if (line.styleClasses.bgClass) { builder.bgClass = joinClasses(line.styleClasses.bgClass, builder.bgClass || ""); } if (line.styleClasses.textClass) { builder.textClass = joinClasses(line.styleClasses.textClass, builder.textClass || ""); } } // Ensure at least a single node is present, for measuring. if (builder.map.length == 0) { builder.map.push(0, 0, builder.content.appendChild(zeroWidthElement(cm.display.measure))); } // Store the map and a cache object for the current logical line if (i == 0) { lineView.measure.map = builder.map; lineView.measure.cache = {}; } else { (lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map) ;(lineView.measure.caches || (lineView.measure.caches = [])).push({}); } } // See issue #2901 if (webkit) { var last = builder.content.lastChild; if (/\bcm-tab\b/.test(last.className) || (last.querySelector && last.querySelector(".cm-tab"))) { builder.content.className = "cm-tab-wrap-hack"; } } signal(cm, "renderLine", cm, lineView.line, builder.pre); if (builder.pre.className) { builder.textClass = joinClasses(builder.pre.className, builder.textClass || ""); } return builder } function defaultSpecialCharPlaceholder(ch) { var token = elt("span", "\u2022", "cm-invalidchar"); token.title = "\\u" + ch.charCodeAt(0).toString(16); token.setAttribute("aria-label", token.title); return token } // Build up the DOM representation for a single token, and add it to // the line map. Takes care to render special characters separately. function buildToken(builder, text, style, startStyle, endStyle, css, attributes) { if (!text) { return } var displayText = builder.splitSpaces ? splitSpaces(text, builder.trailingSpace) : text; var special = builder.cm.state.specialChars, mustWrap = false; var content; if (!special.test(text)) { builder.col += text.length; content = document.createTextNode(displayText); builder.map.push(builder.pos, builder.pos + text.length, content); if (ie && ie_version < 9) { mustWrap = true; } builder.pos += text.length; } else { content = document.createDocumentFragment(); var pos = 0; while (true) { special.lastIndex = pos; var m = special.exec(text); var skipped = m ? m.index - pos : text.length - pos; if (skipped) { var txt = document.createTextNode(displayText.slice(pos, pos + skipped)); if (ie && ie_version < 9) { content.appendChild(elt("span", [txt])); } else { content.appendChild(txt); } builder.map.push(builder.pos, builder.pos + skipped, txt); builder.col += skipped; builder.pos += skipped; } if (!m) { break } pos += skipped + 1; var txt$1 = (void 0); if (m[0] == "\t") { var tabSize = builder.cm.options.tabSize, tabWidth = tabSize - builder.col % tabSize; txt$1 = content.appendChild(elt("span", spaceStr(tabWidth), "cm-tab")); txt$1.setAttribute("role", "presentation"); txt$1.setAttribute("cm-text", "\t"); builder.col += tabWidth; } else if (m[0] == "\r" || m[0] == "\n") { txt$1 = content.appendChild(elt("span", m[0] == "\r" ? "\u240d" : "\u2424", "cm-invalidchar")); txt$1.setAttribute("cm-text", m[0]); builder.col += 1; } else { txt$1 = builder.cm.options.specialCharPlaceholder(m[0]); txt$1.setAttribute("cm-text", m[0]); if (ie && ie_version < 9) { content.appendChild(elt("span", [txt$1])); } else { content.appendChild(txt$1); } builder.col += 1; } builder.map.push(builder.pos, builder.pos + 1, txt$1); builder.pos++; } } builder.trailingSpace = displayText.charCodeAt(text.length - 1) == 32; if (style || startStyle || endStyle || mustWrap || css || attributes) { var fullStyle = style || ""; if (startStyle) { fullStyle += startStyle; } if (endStyle) { fullStyle += endStyle; } var token = elt("span", [content], fullStyle, css); if (attributes) { for (var attr in attributes) { if (attributes.hasOwnProperty(attr) && attr != "style" && attr != "class") { token.setAttribute(attr, attributes[attr]); } } } return builder.content.appendChild(token) } builder.content.appendChild(content); } // Change some spaces to NBSP to prevent the browser from collapsing // trailing spaces at the end of a line when rendering text (issue #1362). function splitSpaces(text, trailingBefore) { if (text.length > 1 && !/ /.test(text)) { return text } var spaceBefore = trailingBefore, result = ""; for (var i = 0; i < text.length; i++) { var ch = text.charAt(i); if (ch == " " && spaceBefore && (i == text.length - 1 || text.charCodeAt(i + 1) == 32)) { ch = "\u00a0"; } result += ch; spaceBefore = ch == " "; } return result } // Work around nonsense dimensions being reported for stretches of // right-to-left text. function buildTokenBadBidi(inner, order) { return function (builder, text, style, startStyle, endStyle, css, attributes) { style = style ? style + " cm-force-border" : "cm-force-border"; var start = builder.pos, end = start + text.length; for (;;) { // Find the part that overlaps with the start of this text var part = (void 0); for (var i = 0; i < order.length; i++) { part = order[i]; if (part.to > start && part.from <= start) { break } } if (part.to >= end) { return inner(builder, text, style, startStyle, endStyle, css, attributes) } inner(builder, text.slice(0, part.to - start), style, startStyle, null, css, attributes); startStyle = null; text = text.slice(part.to - start); start = part.to; } } } function buildCollapsedSpan(builder, size, marker, ignoreWidget) { var widget = !ignoreWidget && marker.widgetNode; if (widget) { builder.map.push(builder.pos, builder.pos + size, widget); } if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) { if (!widget) { widget = builder.content.appendChild(document.createElement("span")); } widget.setAttribute("cm-marker", marker.id); } if (widget) { builder.cm.display.input.setUneditable(widget); builder.content.appendChild(widget); } builder.pos += size; builder.trailingSpace = false; } // Outputs a number of spans to make up a line, taking highlighting // and marked text into account. function insertLineContent(line, builder, styles) { var spans = line.markedSpans, allText = line.text, at = 0; if (!spans) { for (var i$1 = 1; i$1 < styles.length; i$1+=2) { builder.addToken(builder, allText.slice(at, at = styles[i$1]), interpretTokenStyle(styles[i$1+1], builder.cm.options)); } return } var len = allText.length, pos = 0, i = 1, text = "", style, css; var nextChange = 0, spanStyle, spanEndStyle, spanStartStyle, collapsed, attributes; for (;;) { if (nextChange == pos) { // Update current marker set spanStyle = spanEndStyle = spanStartStyle = css = ""; attributes = null; collapsed = null; nextChange = Infinity; var foundBookmarks = [], endStyles = (void 0); for (var j = 0; j < spans.length; ++j) { var sp = spans[j], m = sp.marker; if (m.type == "bookmark" && sp.from == pos && m.widgetNode) { foundBookmarks.push(m); } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) { if (sp.to != null && sp.to != pos && nextChange > sp.to) { nextChange = sp.to; spanEndStyle = ""; } if (m.className) { spanStyle += " " + m.className; } if (m.css) { css = (css ? css + ";" : "") + m.css; } if (m.startStyle && sp.from == pos) { spanStartStyle += " " + m.startStyle; } if (m.endStyle && sp.to == nextChange) { (endStyles || (endStyles = [])).push(m.endStyle, sp.to); } // support for the old title property // https://github.com/codemirror/CodeMirror/pull/5673 if (m.title) { (attributes || (attributes = {})).title = m.title; } if (m.attributes) { for (var attr in m.attributes) { (attributes || (attributes = {}))[attr] = m.attributes[attr]; } } if (m.collapsed && (!collapsed || compareCollapsedMarkers(collapsed.marker, m) < 0)) { collapsed = sp; } } else if (sp.from > pos && nextChange > sp.from) { nextChange = sp.from; } } if (endStyles) { for (var j$1 = 0; j$1 < endStyles.length; j$1 += 2) { if (endStyles[j$1 + 1] == nextChange) { spanEndStyle += " " + endStyles[j$1]; } } } if (!collapsed || collapsed.from == pos) { for (var j$2 = 0; j$2 < foundBookmarks.length; ++j$2) { buildCollapsedSpan(builder, 0, foundBookmarks[j$2]); } } if (collapsed && (collapsed.from || 0) == pos) { buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos, collapsed.marker, collapsed.from == null); if (collapsed.to == null) { return } if (collapsed.to == pos) { collapsed = false; } } } if (pos >= len) { break } var upto = Math.min(len, nextChange); while (true) { if (text) { var end = pos + text.length; if (!collapsed) { var tokenText = end > upto ? text.slice(0, upto - pos) : text; builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle, spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : "", css, attributes); } if (end >= upto) {text = text.slice(upto - pos); pos = upto; break} pos = end; spanStartStyle = ""; } text = allText.slice(at, at = styles[i++]); style = interpretTokenStyle(styles[i++], builder.cm.options); } } } // These objects are used to represent the visible (currently drawn) // part of the document. A LineView may correspond to multiple // logical lines, if those are connected by collapsed ranges. function LineView(doc, line, lineN) { // The starting line this.line = line; // Continuing lines, if any this.rest = visualLineContinued(line); // Number of logical lines in this visual line this.size = this.rest ? lineNo(lst(this.rest)) - lineN + 1 : 1; this.node = this.text = null; this.hidden = lineIsHidden(doc, line); } // Create a range of LineView objects for the given lines. function buildViewArray(cm, from, to) { var array = [], nextPos; for (var pos = from; pos < to; pos = nextPos) { var view = new LineView(cm.doc, getLine(cm.doc, pos), pos); nextPos = pos + view.size; array.push(view); } return array } var operationGroup = null; function pushOperation(op) { if (operationGroup) { operationGroup.ops.push(op); } else { op.ownsGroup = operationGroup = { ops: [op], delayedCallbacks: [] }; } } function fireCallbacksForOps(group) { // Calls delayed callbacks and cursorActivity handlers until no // new ones appear var callbacks = group.delayedCallbacks, i = 0; do { for (; i < callbacks.length; i++) { callbacks[i].call(null); } for (var j = 0; j < group.ops.length; j++) { var op = group.ops[j]; if (op.cursorActivityHandlers) { while (op.cursorActivityCalled < op.cursorActivityHandlers.length) { op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm); } } } } while (i < callbacks.length) } function finishOperation(op, endCb) { var group = op.ownsGroup; if (!group) { return } try { fireCallbacksForOps(group); } finally { operationGroup = null; endCb(group); } } var orphanDelayedCallbacks = null; // Often, we want to signal events at a point where we are in the // middle of some work, but don't want the handler to start calling // other methods on the editor, which might be in an inconsistent // state or simply not expect any other events to happen. // signalLater looks whether there are any handlers, and schedules // them to be executed when the last operation ends, or, if no // operation is active, when a timeout fires. function signalLater(emitter, type /*, values...*/) { var arr = getHandlers(emitter, type); if (!arr.length) { return } var args = Array.prototype.slice.call(arguments, 2), list; if (operationGroup) { list = operationGroup.delayedCallbacks; } else if (orphanDelayedCallbacks) { list = orphanDelayedCallbacks; } else { list = orphanDelayedCallbacks = []; setTimeout(fireOrphanDelayed, 0); } var loop = function ( i ) { list.push(function () { return arr[i].apply(null, args); }); }; for (var i = 0; i < arr.length; ++i) loop( i ); } function fireOrphanDelayed() { var delayed = orphanDelayedCallbacks; orphanDelayedCallbacks = null; for (var i = 0; i < delayed.length; ++i) { delayed[i](); } } // When an aspect of a line changes, a string is added to // lineView.changes. This updates the relevant part of the line's // DOM structure. function updateLineForChanges(cm, lineView, lineN, dims) { for (var j = 0; j < lineView.changes.length; j++) { var type = lineView.changes[j]; if (type == "text") { updateLineText(cm, lineView); } else if (type == "gutter") { updateLineGutter(cm, lineView, lineN, dims); } else if (type == "class") { updateLineClasses(cm, lineView); } else if (type == "widget") { updateLineWidgets(cm, lineView, dims); } } lineView.changes = null; } // Lines with gutter elements, widgets or a background class need to // be wrapped, and have the extra elements added to the wrapper div function ensureLineWrapped(lineView) { if (lineView.node == lineView.text) { lineView.node = elt("div", null, null, "position: relative"); if (lineView.text.parentNode) { lineView.text.parentNode.replaceChild(lineView.node, lineView.text); } lineView.node.appendChild(lineView.text); if (ie && ie_version < 8) { lineView.node.style.zIndex = 2; } } return lineView.node } function updateLineBackground(cm, lineView) { var cls = lineView.bgClass ? lineView.bgClass + " " + (lineView.line.bgClass || "") : lineView.line.bgClass; if (cls) { cls += " CodeMirror-linebackground"; } if (lineView.background) { if (cls) { lineView.background.className = cls; } else { lineView.background.parentNode.removeChild(lineView.background); lineView.background = null; } } else if (cls) { var wrap = ensureLineWrapped(lineView); lineView.background = wrap.insertBefore(elt("div", null, cls), wrap.firstChild); cm.display.input.setUneditable(lineView.background); } } // Wrapper around buildLineContent which will reuse the structure // in display.externalMeasured when possible. function getLineContent(cm, lineView) { var ext = cm.display.externalMeasured; if (ext && ext.line == lineView.line) { cm.display.externalMeasured = null; lineView.measure = ext.measure; return ext.built } return buildLineContent(cm, lineView) } // Redraw the line's text. Interacts with the background and text // classes because the mode may output tokens that influence these // classes. function updateLineText(cm, lineView) { var cls = lineView.text.className; var built = getLineContent(cm, lineView); if (lineView.text == lineView.node) { lineView.node = built.pre; } lineView.text.parentNode.replaceChild(built.pre, lineView.text); lineView.text = built.pre; if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) { lineView.bgClass = built.bgClass; lineView.textClass = built.textClass; updateLineClasses(cm, lineView); } else if (cls) { lineView.text.className = cls; } } function updateLineClasses(cm, lineView) { updateLineBackground(cm, lineView); if (lineView.line.wrapClass) { ensureLineWrapped(lineView).className = lineView.line.wrapClass; } else if (lineView.node != lineView.text) { lineView.node.className = ""; } var textClass = lineView.textClass ? lineView.textClass + " " + (lineView.line.textClass || "") : lineView.line.textClass; lineView.text.className = textClass || ""; } function updateLineGutter(cm, lineView, lineN, dims) { if (lineView.gutter) { lineView.node.removeChild(lineView.gutter); lineView.gutter = null; } if (lineView.gutterBackground) { lineView.node.removeChild(lineView.gutterBackground); lineView.gutterBackground = null; } if (lineView.line.gutterClass) { var wrap = ensureLineWrapped(lineView); lineView.gutterBackground = elt("div", null, "CodeMirror-gutter-background " + lineView.line.gutterClass, ("left: " + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + "px; width: " + (dims.gutterTotalWidth) + "px")); cm.display.input.setUneditable(lineView.gutterBackground); wrap.insertBefore(lineView.gutterBackground, lineView.text); } var markers = lineView.line.gutterMarkers; if (cm.options.lineNumbers || markers) { var wrap$1 = ensureLineWrapped(lineView); var gutterWrap = lineView.gutter = elt("div", null, "CodeMirror-gutter-wrapper", ("left: " + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + "px")); gutterWrap.setAttribute("aria-hidden", "true"); cm.display.input.setUneditable(gutterWrap); wrap$1.insertBefore(gutterWrap, lineView.text); if (lineView.line.gutterClass) { gutterWrap.className += " " + lineView.line.gutterClass; } if (cm.options.lineNumbers && (!markers || !markers["CodeMirror-linenumbers"])) { lineView.lineNumber = gutterWrap.appendChild( elt("div", lineNumberFor(cm.options, lineN), "CodeMirror-linenumber CodeMirror-gutter-elt", ("left: " + (dims.gutterLeft["CodeMirror-linenumbers"]) + "px; width: " + (cm.display.lineNumInnerWidth) + "px"))); } if (markers) { for (var k = 0; k < cm.display.gutterSpecs.length; ++k) { var id = cm.display.gutterSpecs[k].className, found = markers.hasOwnProperty(id) && markers[id]; if (found) { gutterWrap.appendChild(elt("div", [found], "CodeMirror-gutter-elt", ("left: " + (dims.gutterLeft[id]) + "px; width: " + (dims.gutterWidth[id]) + "px"))); } } } } } function updateLineWidgets(cm, lineView, dims) { if (lineView.alignable) { lineView.alignable = null; } var isWidget = classTest("CodeMirror-linewidget"); for (var node = lineView.node.firstChild, next = (void 0); node; node = next) { next = node.nextSibling; if (isWidget.test(node.className)) { lineView.node.removeChild(node); } } insertLineWidgets(cm, lineView, dims); } // Build a line's DOM representation from scratch function buildLineElement(cm, lineView, lineN, dims) { var built = getLineContent(cm, lineView); lineView.text = lineView.node = built.pre; if (built.bgClass) { lineView.bgClass = built.bgClass; } if (built.textClass) { lineView.textClass = built.textClass; } updateLineClasses(cm, lineView); updateLineGutter(cm, lineView, lineN, dims); insertLineWidgets(cm, lineView, dims); return lineView.node } // A lineView may contain multiple logical lines (when merged by // collapsed spans). The widgets for all of them need to be drawn. function insertLineWidgets(cm, lineView, dims) { insertLineWidgetsFor(cm, lineView.line, lineView, dims, true); if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++) { insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false); } } } function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) { if (!line.widgets) { return } var wrap = ensureLineWrapped(lineView); for (var i = 0, ws = line.widgets; i < ws.length; ++i) { var widget = ws[i], node = elt("div", [widget.node], "CodeMirror-linewidget" + (widget.className ? " " + widget.className : "")); if (!widget.handleMouseEvents) { node.setAttribute("cm-ignore-events", "true"); } positionLineWidget(widget, node, lineView, dims); cm.display.input.setUneditable(node); if (allowAbove && widget.above) { wrap.insertBefore(node, lineView.gutter || lineView.text); } else { wrap.appendChild(node); } signalLater(widget, "redraw"); } } function positionLineWidget(widget, node, lineView, dims) { if (widget.noHScroll) { (lineView.alignable || (lineView.alignable = [])).push(node); var width = dims.wrapperWidth; node.style.left = dims.fixedPos + "px"; if (!widget.coverGutter) { width -= dims.gutterTotalWidth; node.style.paddingLeft = dims.gutterTotalWidth + "px"; } node.style.width = width + "px"; } if (widget.coverGutter) { node.style.zIndex = 5; node.style.position = "relative"; if (!widget.noHScroll) { node.style.marginLeft = -dims.gutterTotalWidth + "px"; } } } function widgetHeight(widget) { if (widget.height != null) { return widget.height } var cm = widget.doc.cm; if (!cm) { return 0 } if (!contains(document.body, widget.node)) { var parentStyle = "position: relative;"; if (widget.coverGutter) { parentStyle += "margin-left: -" + cm.display.gutters.offsetWidth + "px;"; } if (widget.noHScroll) { parentStyle += "width: " + cm.display.wrapper.clientWidth + "px;"; } removeChildrenAndAdd(cm.display.measure, elt("div", [widget.node], null, parentStyle)); } return widget.height = widget.node.parentNode.offsetHeight } // Return true when the given mouse event happened in a widget function eventInWidget(display, e) { for (var n = e_target(e); n != display.wrapper; n = n.parentNode) { if (!n || (n.nodeType == 1 && n.getAttribute("cm-ignore-events") == "true") || (n.parentNode == display.sizer && n != display.mover)) { return true } } } // POSITION MEASUREMENT function paddingTop(display) {return display.lineSpace.offsetTop} function paddingVert(display) {return display.mover.offsetHeight - display.lineSpace.offsetHeight} function paddingH(display) { if (display.cachedPaddingH) { return display.cachedPaddingH } var e = removeChildrenAndAdd(display.measure, elt("pre", "x", "CodeMirror-line-like")); var style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle; var data = {left: parseInt(style.paddingLeft), right: parseInt(style.paddingRight)}; if (!isNaN(data.left) && !isNaN(data.right)) { display.cachedPaddingH = data; } return data } function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth } function displayWidth(cm) { return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth } function displayHeight(cm) { return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight } // Ensure the lineView.wrapping.heights array is populated. This is // an array of bottom offsets for the lines that make up a drawn // line. When lineWrapping is on, there might be more than one // height. function ensureLineHeights(cm, lineView, rect) { var wrapping = cm.options.lineWrapping; var curWidth = wrapping && displayWidth(cm); if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) { var heights = lineView.measure.heights = []; if (wrapping) { lineView.measure.width = curWidth; var rects = lineView.text.firstChild.getClientRects(); for (var i = 0; i < rects.length - 1; i++) { var cur = rects[i], next = rects[i + 1]; if (Math.abs(cur.bottom - next.bottom) > 2) { heights.push((cur.bottom + next.top) / 2 - rect.top); } } } heights.push(rect.bottom - rect.top); } } // Find a line map (mapping character offsets to text nodes) and a // measurement cache for the given line number. (A line view might // contain multiple lines when collapsed ranges are present.) function mapFromLineView(lineView, line, lineN) { if (lineView.line == line) { return {map: lineView.measure.map, cache: lineView.measure.cache} } if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++) { if (lineView.rest[i] == line) { return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i]} } } for (var i$1 = 0; i$1 < lineView.rest.length; i$1++) { if (lineNo(lineView.rest[i$1]) > lineN) { return {map: lineView.measure.maps[i$1], cache: lineView.measure.caches[i$1], before: true} } } } } // Render a line into the hidden node display.externalMeasured. Used // when measurement is needed for a line that's not in the viewport. function updateExternalMeasurement(cm, line) { line = visualLine(line); var lineN = lineNo(line); var view = cm.display.externalMeasured = new LineView(cm.doc, line, lineN); view.lineN = lineN; var built = view.built = buildLineContent(cm, view); view.text = built.pre; removeChildrenAndAdd(cm.display.lineMeasure, built.pre); return view } // Get a {top, bottom, left, right} box (in line-local coordinates) // for a given character. function measureChar(cm, line, ch, bias) { return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias) } // Find a line view that corresponds to the given line number. function findViewForLine(cm, lineN) { if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo) { return cm.display.view[findViewIndex(cm, lineN)] } var ext = cm.display.externalMeasured; if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size) { return ext } } // Measurement can be split in two steps, the set-up work that // applies to the whole line, and the measurement of the actual // character. Functions like coordsChar, that need to do a lot of // measurements in a row, can thus ensure that the set-up work is // only done once. function prepareMeasureForLine(cm, line) { var lineN = lineNo(line); var view = findViewForLine(cm, lineN); if (view && !view.text) { view = null; } else if (view && view.changes) { updateLineForChanges(cm, view, lineN, getDimensions(cm)); cm.curOp.forceUpdate = true; } if (!view) { view = updateExternalMeasurement(cm, line); } var info = mapFromLineView(view, line, lineN); return { line: line, view: view, rect: null, map: info.map, cache: info.cache, before: info.before, hasHeights: false } } // Given a prepared measurement object, measures the position of an // actual character (or fetches it from the cache). function measureCharPrepared(cm, prepared, ch, bias, varHeight) { if (prepared.before) { ch = -1; } var key = ch + (bias || ""), found; if (prepared.cache.hasOwnProperty(key)) { found = prepared.cache[key]; } else { if (!prepared.rect) { prepared.rect = prepared.view.text.getBoundingClientRect(); } if (!prepared.hasHeights) { ensureLineHeights(cm, prepared.view, prepared.rect); prepared.hasHeights = true; } found = measureCharInner(cm, prepared, ch, bias); if (!found.bogus) { prepared.cache[key] = found; } } return {left: found.left, right: found.right, top: varHeight ? found.rtop : found.top, bottom: varHeight ? found.rbottom : found.bottom} } var nullRect = {left: 0, right: 0, top: 0, bottom: 0}; function nodeAndOffsetInLineMap(map, ch, bias) { var node, start, end, collapse, mStart, mEnd; // First, search the line map for the text node corresponding to, // or closest to, the target character. for (var i = 0; i < map.length; i += 3) { mStart = map[i]; mEnd = map[i + 1]; if (ch < mStart) { start = 0; end = 1; collapse = "left"; } else if (ch < mEnd) { start = ch - mStart; end = start + 1; } else if (i == map.length - 3 || ch == mEnd && map[i + 3] > ch) { end = mEnd - mStart; start = end - 1; if (ch >= mEnd) { collapse = "right"; } } if (start != null) { node = map[i + 2]; if (mStart == mEnd && bias == (node.insertLeft ? "left" : "right")) { collapse = bias; } if (bias == "left" && start == 0) { while (i && map[i - 2] == map[i - 3] && map[i - 1].insertLeft) { node = map[(i -= 3) + 2]; collapse = "left"; } } if (bias == "right" && start == mEnd - mStart) { while (i < map.length - 3 && map[i + 3] == map[i + 4] && !map[i + 5].insertLeft) { node = map[(i += 3) + 2]; collapse = "right"; } } break } } return {node: node, start: start, end: end, collapse: collapse, coverStart: mStart, coverEnd: mEnd} } function getUsefulRect(rects, bias) { var rect = nullRect; if (bias == "left") { for (var i = 0; i < rects.length; i++) { if ((rect = rects[i]).left != rect.right) { break } } } else { for (var i$1 = rects.length - 1; i$1 >= 0; i$1--) { if ((rect = rects[i$1]).left != rect.right) { break } } } return rect } function measureCharInner(cm, prepared, ch, bias) { var place = nodeAndOffsetInLineMap(prepared.map, ch, bias); var node = place.node, start = place.start, end = place.end, collapse = place.collapse; var rect; if (node.nodeType == 3) { // If it is a text node, use a range to retrieve the coordinates. for (var i$1 = 0; i$1 < 4; i$1++) { // Retry a maximum of 4 times when nonsense rectangles are returned while (start && isExtendingChar(prepared.line.text.charAt(place.coverStart + start))) { --start; } while (place.coverStart + end < place.coverEnd && isExtendingChar(prepared.line.text.charAt(place.coverStart + end))) { ++end; } if (ie && ie_version < 9 && start == 0 && end == place.coverEnd - place.coverStart) { rect = node.parentNode.getBoundingClientRect(); } else { rect = getUsefulRect(range(node, start, end).getClientRects(), bias); } if (rect.left || rect.right || start == 0) { break } end = start; start = start - 1; collapse = "right"; } if (ie && ie_version < 11) { rect = maybeUpdateRectForZooming(cm.display.measure, rect); } } else { // If it is a widget, simply get the box for the whole widget. if (start > 0) { collapse = bias = "right"; } var rects; if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1) { rect = rects[bias == "right" ? rects.length - 1 : 0]; } else { rect = node.getBoundingClientRect(); } } if (ie && ie_version < 9 && !start && (!rect || !rect.left && !rect.right)) { var rSpan = node.parentNode.getClientRects()[0]; if (rSpan) { rect = {left: rSpan.left, right: rSpan.left + charWidth(cm.display), top: rSpan.top, bottom: rSpan.bottom}; } else { rect = nullRect; } } var rtop = rect.top - prepared.rect.top, rbot = rect.bottom - prepared.rect.top; var mid = (rtop + rbot) / 2; var heights = prepared.view.measure.heights; var i = 0; for (; i < heights.length - 1; i++) { if (mid < heights[i]) { break } } var top = i ? heights[i - 1] : 0, bot = heights[i]; var result = {left: (collapse == "right" ? rect.right : rect.left) - prepared.rect.left, right: (collapse == "left" ? rect.left : rect.right) - prepared.rect.left, top: top, bottom: bot}; if (!rect.left && !rect.right) { result.bogus = true; } if (!cm.options.singleCursorHeightPerLine) { result.rtop = rtop; result.rbottom = rbot; } return result } // Work around problem with bounding client rects on ranges being // returned incorrectly when zoomed on IE10 and below. function maybeUpdateRectForZooming(measure, rect) { if (!window.screen || screen.logicalXDPI == null || screen.logicalXDPI == screen.deviceXDPI || !hasBadZoomedRects(measure)) { return rect } var scaleX = screen.logicalXDPI / screen.deviceXDPI; var scaleY = screen.logicalYDPI / screen.deviceYDPI; return {left: rect.left * scaleX, right: rect.right * scaleX, top: rect.top * scaleY, bottom: rect.bottom * scaleY} } function clearLineMeasurementCacheFor(lineView) { if (lineView.measure) { lineView.measure.cache = {}; lineView.measure.heights = null; if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++) { lineView.measure.caches[i] = {}; } } } } function clearLineMeasurementCache(cm) { cm.display.externalMeasure = null; removeChildren(cm.display.lineMeasure); for (var i = 0; i < cm.display.view.length; i++) { clearLineMeasurementCacheFor(cm.display.view[i]); } } function clearCaches(cm) { clearLineMeasurementCache(cm); cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null; if (!cm.options.lineWrapping) { cm.display.maxLineChanged = true; } cm.display.lineNumChars = null; } function pageScrollX() { // Work around https://bugs.chromium.org/p/chromium/issues/detail?id=489206 // which causes page_Offset and bounding client rects to use // different reference viewports and invalidate our calculations. if (chrome && android) { return -(document.body.getBoundingClientRect().left - parseInt(getComputedStyle(document.body).marginLeft)) } return window.pageXOffset || (document.documentElement || document.body).scrollLeft } function pageScrollY() { if (chrome && android) { return -(document.body.getBoundingClientRect().top - parseInt(getComputedStyle(document.body).marginTop)) } return window.pageYOffset || (document.documentElement || document.body).scrollTop } function widgetTopHeight(lineObj) { var height = 0; if (lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above) { height += widgetHeight(lineObj.widgets[i]); } } } return height } // Converts a {top, bottom, left, right} box from line-local // coordinates into another coordinate system. Context may be one of // "line", "div" (display.lineDiv), "local"./null (editor), "window", // or "page". function intoCoordSystem(cm, lineObj, rect, context, includeWidgets) { if (!includeWidgets) { var height = widgetTopHeight(lineObj); rect.top += height; rect.bottom += height; } if (context == "line") { return rect } if (!context) { context = "local"; } var yOff = heightAtLine(lineObj); if (context == "local") { yOff += paddingTop(cm.display); } else { yOff -= cm.display.viewOffset; } if (context == "page" || context == "window") { var lOff = cm.display.lineSpace.getBoundingClientRect(); yOff += lOff.top + (context == "window" ? 0 : pageScrollY()); var xOff = lOff.left + (context == "window" ? 0 : pageScrollX()); rect.left += xOff; rect.right += xOff; } rect.top += yOff; rect.bottom += yOff; return rect } // Coverts a box from "div" coords to another coordinate system. // Context may be "window", "page", "div", or "local"./null. function fromCoordSystem(cm, coords, context) { if (context == "div") { return coords } var left = coords.left, top = coords.top; // First move into "page" coordinate system if (context == "page") { left -= pageScrollX(); top -= pageScrollY(); } else if (context == "local" || !context) { var localBox = cm.display.sizer.getBoundingClientRect(); left += localBox.left; top += localBox.top; } var lineSpaceBox = cm.display.lineSpace.getBoundingClientRect(); return {left: left - lineSpaceBox.left, top: top - lineSpaceBox.top} } function charCoords(cm, pos, context, lineObj, bias) { if (!lineObj) { lineObj = getLine(cm.doc, pos.line); } return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context) } // Returns a box for a given cursor position, which may have an // 'other' property containing the position of the secondary cursor // on a bidi boundary. // A cursor Pos(line, char, "before") is on the same visual line as `char - 1` // and after `char - 1` in writing order of `char - 1` // A cursor Pos(line, char, "after") is on the same visual line as `char` // and before `char` in writing order of `char` // Examples (upper-case letters are RTL, lower-case are LTR): // Pos(0, 1, ...) // before after // ab a|b a|b // aB a|B aB| // Ab |Ab A|b // AB B|A B|A // Every position after the last character on a line is considered to stick // to the last character on the line. function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) { lineObj = lineObj || getLine(cm.doc, pos.line); if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj); } function get(ch, right) { var m = measureCharPrepared(cm, preparedMeasure, ch, right ? "right" : "left", varHeight); if (right) { m.left = m.right; } else { m.right = m.left; } return intoCoordSystem(cm, lineObj, m, context) } var order = getOrder(lineObj, cm.doc.direction), ch = pos.ch, sticky = pos.sticky; if (ch >= lineObj.text.length) { ch = lineObj.text.length; sticky = "before"; } else if (ch <= 0) { ch = 0; sticky = "after"; } if (!order) { return get(sticky == "before" ? ch - 1 : ch, sticky == "before") } function getBidi(ch, partPos, invert) { var part = order[partPos], right = part.level == 1; return get(invert ? ch - 1 : ch, right != invert) } var partPos = getBidiPartAt(order, ch, sticky); var other = bidiOther; var val = getBidi(ch, partPos, sticky == "before"); if (other != null) { val.other = getBidi(ch, other, sticky != "before"); } return val } // Used to cheaply estimate the coordinates for a position. Used for // intermediate scroll updates. function estimateCoords(cm, pos) { var left = 0; pos = clipPos(cm.doc, pos); if (!cm.options.lineWrapping) { left = charWidth(cm.display) * pos.ch; } var lineObj = getLine(cm.doc, pos.line); var top = heightAtLine(lineObj) + paddingTop(cm.display); return {left: left, right: left, top: top, bottom: top + lineObj.height} } // Positions returned by coordsChar contain some extra information. // xRel is the relative x position of the input coordinates compared // to the found position (so xRel > 0 means the coordinates are to // the right of the character position, for example). When outside // is true, that means the coordinates lie outside the line's // vertical range. function PosWithInfo(line, ch, sticky, outside, xRel) { var pos = Pos(line, ch, sticky); pos.xRel = xRel; if (outside) { pos.outside = outside; } return pos } // Compute the character position closest to the given coordinates. // Input must be lineSpace-local ("div" coordinate system). function coordsChar(cm, x, y) { var doc = cm.doc; y += cm.display.viewOffset; if (y < 0) { return PosWithInfo(doc.first, 0, null, -1, -1) } var lineN = lineAtHeight(doc, y), last = doc.first + doc.size - 1; if (lineN > last) { return PosWithInfo(doc.first + doc.size - 1, getLine(doc, last).text.length, null, 1, 1) } if (x < 0) { x = 0; } var lineObj = getLine(doc, lineN); for (;;) { var found = coordsCharInner(cm, lineObj, lineN, x, y); var collapsed = collapsedSpanAround(lineObj, found.ch + (found.xRel > 0 || found.outside > 0 ? 1 : 0)); if (!collapsed) { return found } var rangeEnd = collapsed.find(1); if (rangeEnd.line == lineN) { return rangeEnd } lineObj = getLine(doc, lineN = rangeEnd.line); } } function wrappedLineExtent(cm, lineObj, preparedMeasure, y) { y -= widgetTopHeight(lineObj); var end = lineObj.text.length; var begin = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch - 1).bottom <= y; }, end, 0); end = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch).top > y; }, begin, end); return {begin: begin, end: end} } function wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) { if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj); } var targetTop = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, target), "line").top; return wrappedLineExtent(cm, lineObj, preparedMeasure, targetTop) } // Returns true if the given side of a box is after the given // coordinates, in top-to-bottom, left-to-right order. function boxIsAfter(box, x, y, left) { return box.bottom <= y ? false : box.top > y ? true : (left ? box.left : box.right) > x } function coordsCharInner(cm, lineObj, lineNo, x, y) { // Move y into line-local coordinate space y -= heightAtLine(lineObj); var preparedMeasure = prepareMeasureForLine(cm, lineObj); // When directly calling `measureCharPrepared`, we have to adjust // for the widgets at this line. var widgetHeight = widgetTopHeight(lineObj); var begin = 0, end = lineObj.text.length, ltr = true; var order = getOrder(lineObj, cm.doc.direction); // If the line isn't plain left-to-right text, first figure out // which bidi section the coordinates fall into. if (order) { var part = (cm.options.lineWrapping ? coordsBidiPartWrapped : coordsBidiPart) (cm, lineObj, lineNo, preparedMeasure, order, x, y); ltr = part.level != 1; // The awkward -1 offsets are needed because findFirst (called // on these below) will treat its first bound as inclusive, // second as exclusive, but we want to actually address the // characters in the part's range begin = ltr ? part.from : part.to - 1; end = ltr ? part.to : part.from - 1; } // A binary search to find the first character whose bounding box // starts after the coordinates. If we run across any whose box wrap // the coordinates, store that. var chAround = null, boxAround = null; var ch = findFirst(function (ch) { var box = measureCharPrepared(cm, preparedMeasure, ch); box.top += widgetHeight; box.bottom += widgetHeight; if (!boxIsAfter(box, x, y, false)) { return false } if (box.top <= y && box.left <= x) { chAround = ch; boxAround = box; } return true }, begin, end); var baseX, sticky, outside = false; // If a box around the coordinates was found, use that if (boxAround) { // Distinguish coordinates nearer to the left or right side of the box var atLeft = x - boxAround.left < boxAround.right - x, atStart = atLeft == ltr; ch = chAround + (atStart ? 0 : 1); sticky = atStart ? "after" : "before"; baseX = atLeft ? boxAround.left : boxAround.right; } else { // (Adjust for extended bound, if necessary.) if (!ltr && (ch == end || ch == begin)) { ch++; } // To determine which side to associate with, get the box to the // left of the character and compare it's vertical position to the // coordinates sticky = ch == 0 ? "after" : ch == lineObj.text.length ? "before" : (measureCharPrepared(cm, preparedMeasure, ch - (ltr ? 1 : 0)).bottom + widgetHeight <= y) == ltr ? "after" : "before"; // Now get accurate coordinates for this place, in order to get a // base X position var coords = cursorCoords(cm, Pos(lineNo, ch, sticky), "line", lineObj, preparedMeasure); baseX = coords.left; outside = y < coords.top ? -1 : y >= coords.bottom ? 1 : 0; } ch = skipExtendingChars(lineObj.text, ch, 1); return PosWithInfo(lineNo, ch, sticky, outside, x - baseX) } function coordsBidiPart(cm, lineObj, lineNo, preparedMeasure, order, x, y) { // Bidi parts are sorted left-to-right, and in a non-line-wrapping // situation, we can take this ordering to correspond to the visual // ordering. This finds the first part whose end is after the given // coordinates. var index = findFirst(function (i) { var part = order[i], ltr = part.level != 1; return boxIsAfter(cursorCoords(cm, Pos(lineNo, ltr ? part.to : part.from, ltr ? "before" : "after"), "line", lineObj, preparedMeasure), x, y, true) }, 0, order.length - 1); var part = order[index]; // If this isn't the first part, the part's start is also after // the coordinates, and the coordinates aren't on the same line as // that start, move one part back. if (index > 0) { var ltr = part.level != 1; var start = cursorCoords(cm, Pos(lineNo, ltr ? part.from : part.to, ltr ? "after" : "before"), "line", lineObj, preparedMeasure); if (boxIsAfter(start, x, y, true) && start.top > y) { part = order[index - 1]; } } return part } function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x, y) { // In a wrapped line, rtl text on wrapping boundaries can do things // that don't correspond to the ordering in our `order` array at // all, so a binary search doesn't work, and we want to return a // part that only spans one line so that the binary search in // coordsCharInner is safe. As such, we first find the extent of the // wrapped line, and then do a flat search in which we discard any // spans that aren't on the line. var ref = wrappedLineExtent(cm, lineObj, preparedMeasure, y); var begin = ref.begin; var end = ref.end; if (/\s/.test(lineObj.text.charAt(end - 1))) { end--; } var part = null, closestDist = null; for (var i = 0; i < order.length; i++) { var p = order[i]; if (p.from >= end || p.to <= begin) { continue } var ltr = p.level != 1; var endX = measureCharPrepared(cm, preparedMeasure, ltr ? Math.min(end, p.to) - 1 : Math.max(begin, p.from)).right; // Weigh against spans ending before this, so that they are only // picked if nothing ends after var dist = endX < x ? x - endX + 1e9 : endX - x; if (!part || closestDist > dist) { part = p; closestDist = dist; } } if (!part) { part = order[order.length - 1]; } // Clip the part to the wrapped line. if (part.from < begin) { part = {from: begin, to: part.to, level: part.level}; } if (part.to > end) { part = {from: part.from, to: end, level: part.level}; } return part } var measureText; // Compute the default text height. function textHeight(display) { if (display.cachedTextHeight != null) { return display.cachedTextHeight } if (measureText == null) { measureText = elt("pre", null, "CodeMirror-line-like"); // Measure a bunch of lines, for browsers that compute // fractional heights. for (var i = 0; i < 49; ++i) { measureText.appendChild(document.createTextNode("x")); measureText.appendChild(elt("br")); } measureText.appendChild(document.createTextNode("x")); } removeChildrenAndAdd(display.measure, measureText); var height = measureText.offsetHeight / 50; if (height > 3) { display.cachedTextHeight = height; } removeChildren(display.measure); return height || 1 } // Compute the default character width. function charWidth(display) { if (display.cachedCharWidth != null) { return display.cachedCharWidth } var anchor = elt("span", "xxxxxxxxxx"); var pre = elt("pre", [anchor], "CodeMirror-line-like"); removeChildrenAndAdd(display.measure, pre); var rect = anchor.getBoundingClientRect(), width = (rect.right - rect.left) / 10; if (width > 2) { display.cachedCharWidth = width; } return width || 10 } // Do a bulk-read of the DOM positions and sizes needed to draw the // view, so that we don't interleave reading and writing to the DOM. function getDimensions(cm) { var d = cm.display, left = {}, width = {}; var gutterLeft = d.gutters.clientLeft; for (var n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) { var id = cm.display.gutterSpecs[i].className; left[id] = n.offsetLeft + n.clientLeft + gutterLeft; width[id] = n.clientWidth; } return {fixedPos: compensateForHScroll(d), gutterTotalWidth: d.gutters.offsetWidth, gutterLeft: left, gutterWidth: width, wrapperWidth: d.wrapper.clientWidth} } // Computes display.scroller.scrollLeft + display.gutters.offsetWidth, // but using getBoundingClientRect to get a sub-pixel-accurate // result. function compensateForHScroll(display) { return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left } // Returns a function that estimates the height of a line, to use as // first approximation until the line becomes visible (and is thus // properly measurable). function estimateHeight(cm) { var th = textHeight(cm.display), wrapping = cm.options.lineWrapping; var perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3); return function (line) { if (lineIsHidden(cm.doc, line)) { return 0 } var widgetsHeight = 0; if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) { if (line.widgets[i].height) { widgetsHeight += line.widgets[i].height; } } } if (wrapping) { return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th } else { return widgetsHeight + th } } } function estimateLineHeights(cm) { var doc = cm.doc, est = estimateHeight(cm); doc.iter(function (line) { var estHeight = est(line); if (estHeight != line.height) { updateLineHeight(line, estHeight); } }); } // Given a mouse event, find the corresponding position. If liberal // is false, it checks whether a gutter or scrollbar was clicked, // and returns null if it was. forRect is used by rectangular // selections, and tries to estimate a character position even for // coordinates beyond the right of the text. function posFromMouse(cm, e, liberal, forRect) { var display = cm.display; if (!liberal && e_target(e).getAttribute("cm-not-content") == "true") { return null } var x, y, space = display.lineSpace.getBoundingClientRect(); // Fails unpredictably on IE[67] when mouse is dragged around quickly. try { x = e.clientX - space.left; y = e.clientY - space.top; } catch (e$1) { return null } var coords = coordsChar(cm, x, y), line; if (forRect && coords.xRel > 0 && (line = getLine(cm.doc, coords.line).text).length == coords.ch) { var colDiff = countColumn(line, line.length, cm.options.tabSize) - line.length; coords = Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff)); } return coords } // Find the view element corresponding to a given line. Return null // when the line isn't visible. function findViewIndex(cm, n) { if (n >= cm.display.viewTo) { return null } n -= cm.display.viewFrom; if (n < 0) { return null } var view = cm.display.view; for (var i = 0; i < view.length; i++) { n -= view[i].size; if (n < 0) { return i } } } // Updates the display.view data structure for a given change to the // document. From and to are in pre-change coordinates. Lendiff is // the amount of lines added or subtracted by the change. This is // used for changes that span multiple lines, or change the way // lines are divided into visual lines. regLineChange (below) // registers single-line changes. function regChange(cm, from, to, lendiff) { if (from == null) { from = cm.doc.first; } if (to == null) { to = cm.doc.first + cm.doc.size; } if (!lendiff) { lendiff = 0; } var display = cm.display; if (lendiff && to < display.viewTo && (display.updateLineNumbers == null || display.updateLineNumbers > from)) { display.updateLineNumbers = from; } cm.curOp.viewChanged = true; if (from >= display.viewTo) { // Change after if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo) { resetView(cm); } } else if (to <= display.viewFrom) { // Change before if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) { resetView(cm); } else { display.viewFrom += lendiff; display.viewTo += lendiff; } } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap resetView(cm); } else if (from <= display.viewFrom) { // Top overlap var cut = viewCuttingPoint(cm, to, to + lendiff, 1); if (cut) { display.view = display.view.slice(cut.index); display.viewFrom = cut.lineN; display.viewTo += lendiff; } else { resetView(cm); } } else if (to >= display.viewTo) { // Bottom overlap var cut$1 = viewCuttingPoint(cm, from, from, -1); if (cut$1) { display.view = display.view.slice(0, cut$1.index); display.viewTo = cut$1.lineN; } else { resetView(cm); } } else { // Gap in the middle var cutTop = viewCuttingPoint(cm, from, from, -1); var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1); if (cutTop && cutBot) { display.view = display.view.slice(0, cutTop.index) .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN)) .concat(display.view.slice(cutBot.index)); display.viewTo += lendiff; } else { resetView(cm); } } var ext = display.externalMeasured; if (ext) { if (to < ext.lineN) { ext.lineN += lendiff; } else if (from < ext.lineN + ext.size) { display.externalMeasured = null; } } } // Register a change to a single line. Type must be one of "text", // "gutter", "class", "widget" function regLineChange(cm, line, type) { cm.curOp.viewChanged = true; var display = cm.display, ext = cm.display.externalMeasured; if (ext && line >= ext.lineN && line < ext.lineN + ext.size) { display.externalMeasured = null; } if (line < display.viewFrom || line >= display.viewTo) { return } var lineView = display.view[findViewIndex(cm, line)]; if (lineView.node == null) { return } var arr = lineView.changes || (lineView.changes = []); if (indexOf(arr, type) == -1) { arr.push(type); } } // Clear the view. function resetView(cm) { cm.display.viewFrom = cm.display.viewTo = cm.doc.first; cm.display.view = []; cm.display.viewOffset = 0; } function viewCuttingPoint(cm, oldN, newN, dir) { var index = findViewIndex(cm, oldN), diff, view = cm.display.view; if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size) { return {index: index, lineN: newN} } var n = cm.display.viewFrom; for (var i = 0; i < index; i++) { n += view[i].size; } if (n != oldN) { if (dir > 0) { if (index == view.length - 1) { return null } diff = (n + view[index].size) - oldN; index++; } else { diff = n - oldN; } oldN += diff; newN += diff; } while (visualLineNo(cm.doc, newN) != newN) { if (index == (dir < 0 ? 0 : view.length - 1)) { return null } newN += dir * view[index - (dir < 0 ? 1 : 0)].size; index += dir; } return {index: index, lineN: newN} } // Force the view to cover a given range, adding empty view element // or clipping off existing ones as needed. function adjustView(cm, from, to) { var display = cm.display, view = display.view; if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) { display.view = buildViewArray(cm, from, to); display.viewFrom = from; } else { if (display.viewFrom > from) { display.view = buildViewArray(cm, from, display.viewFrom).concat(display.view); } else if (display.viewFrom < from) { display.view = display.view.slice(findViewIndex(cm, from)); } display.viewFrom = from; if (display.viewTo < to) { display.view = display.view.concat(buildViewArray(cm, display.viewTo, to)); } else if (display.viewTo > to) { display.view = display.view.slice(0, findViewIndex(cm, to)); } } display.viewTo = to; } // Count the number of lines in the view whose DOM representation is // out of date (or nonexistent). function countDirtyView(cm) { var view = cm.display.view, dirty = 0; for (var i = 0; i < view.length; i++) { var lineView = view[i]; if (!lineView.hidden && (!lineView.node || lineView.changes)) { ++dirty; } } return dirty } function updateSelection(cm) { cm.display.input.showSelection(cm.display.input.prepareSelection()); } function prepareSelection(cm, primary) { if ( primary === void 0 ) primary = true; var doc = cm.doc, result = {}; var curFragment = result.cursors = document.createDocumentFragment(); var selFragment = result.selection = document.createDocumentFragment(); var customCursor = cm.options.$customCursor; if (customCursor) { primary = true; } for (var i = 0; i < doc.sel.ranges.length; i++) { if (!primary && i == doc.sel.primIndex) { continue } var range = doc.sel.ranges[i]; if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) { continue } var collapsed = range.empty(); if (customCursor) { var head = customCursor(cm, range); if (head) { drawSelectionCursor(cm, head, curFragment); } } else if (collapsed || cm.options.showCursorWhenSelecting) { drawSelectionCursor(cm, range.head, curFragment); } if (!collapsed) { drawSelectionRange(cm, range, selFragment); } } return result } // Draws a cursor for the given range function drawSelectionCursor(cm, head, output) { var pos = cursorCoords(cm, head, "div", null, null, !cm.options.singleCursorHeightPerLine); var cursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor")); cursor.style.left = pos.left + "px"; cursor.style.top = pos.top + "px"; cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + "px"; if (/\bcm-fat-cursor\b/.test(cm.getWrapperElement().className)) { var charPos = charCoords(cm, head, "div", null, null); var width = charPos.right - charPos.left; cursor.style.width = (width > 0 ? width : cm.defaultCharWidth()) + "px"; } if (pos.other) { // Secondary cursor, shown when on a 'jump' in bi-directional text var otherCursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor CodeMirror-secondarycursor")); otherCursor.style.display = ""; otherCursor.style.left = pos.other.left + "px"; otherCursor.style.top = pos.other.top + "px"; otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + "px"; } } function cmpCoords(a, b) { return a.top - b.top || a.left - b.left } // Draws the given range as a highlighted selection function drawSelectionRange(cm, range, output) { var display = cm.display, doc = cm.doc; var fragment = document.createDocumentFragment(); var padding = paddingH(cm.display), leftSide = padding.left; var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right; var docLTR = doc.direction == "ltr"; function add(left, top, width, bottom) { if (top < 0) { top = 0; } top = Math.round(top); bottom = Math.round(bottom); fragment.appendChild(elt("div", null, "CodeMirror-selected", ("position: absolute; left: " + left + "px;\n top: " + top + "px; width: " + (width == null ? rightSide - left : width) + "px;\n height: " + (bottom - top) + "px"))); } function drawForLine(line, fromArg, toArg) { var lineObj = getLine(doc, line); var lineLen = lineObj.text.length; var start, end; function coords(ch, bias) { return charCoords(cm, Pos(line, ch), "div", lineObj, bias) } function wrapX(pos, dir, side) { var extent = wrappedLineExtentChar(cm, lineObj, null, pos); var prop = (dir == "ltr") == (side == "after") ? "left" : "right"; var ch = side == "after" ? extent.begin : extent.end - (/\s/.test(lineObj.text.charAt(extent.end - 1)) ? 2 : 1); return coords(ch, prop)[prop] } var order = getOrder(lineObj, doc.direction); iterateBidiSections(order, fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir, i) { var ltr = dir == "ltr"; var fromPos = coords(from, ltr ? "left" : "right"); var toPos = coords(to - 1, ltr ? "right" : "left"); var openStart = fromArg == null && from == 0, openEnd = toArg == null && to == lineLen; var first = i == 0, last = !order || i == order.length - 1; if (toPos.top - fromPos.top <= 3) { // Single line var openLeft = (docLTR ? openStart : openEnd) && first; var openRight = (docLTR ? openEnd : openStart) && last; var left = openLeft ? leftSide : (ltr ? fromPos : toPos).left; var right = openRight ? rightSide : (ltr ? toPos : fromPos).right; add(left, fromPos.top, right - left, fromPos.bottom); } else { // Multiple lines var topLeft, topRight, botLeft, botRight; if (ltr) { topLeft = docLTR && openStart && first ? leftSide : fromPos.left; topRight = docLTR ? rightSide : wrapX(from, dir, "before"); botLeft = docLTR ? leftSide : wrapX(to, dir, "after"); botRight = docLTR && openEnd && last ? rightSide : toPos.right; } else { topLeft = !docLTR ? leftSide : wrapX(from, dir, "before"); topRight = !docLTR && openStart && first ? rightSide : fromPos.right; botLeft = !docLTR && openEnd && last ? leftSide : toPos.left; botRight = !docLTR ? rightSide : wrapX(to, dir, "after"); } add(topLeft, fromPos.top, topRight - topLeft, fromPos.bottom); if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top); } add(botLeft, toPos.top, botRight - botLeft, toPos.bottom); } if (!start || cmpCoords(fromPos, start) < 0) { start = fromPos; } if (cmpCoords(toPos, start) < 0) { start = toPos; } if (!end || cmpCoords(fromPos, end) < 0) { end = fromPos; } if (cmpCoords(toPos, end) < 0) { end = toPos; } }); return {start: start, end: end} } var sFrom = range.from(), sTo = range.to(); if (sFrom.line == sTo.line) { drawForLine(sFrom.line, sFrom.ch, sTo.ch); } else { var fromLine = getLine(doc, sFrom.line), toLine = getLine(doc, sTo.line); var singleVLine = visualLine(fromLine) == visualLine(toLine); var leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end; var rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start; if (singleVLine) { if (leftEnd.top < rightStart.top - 2) { add(leftEnd.right, leftEnd.top, null, leftEnd.bottom); add(leftSide, rightStart.top, rightStart.left, rightStart.bottom); } else { add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom); } } if (leftEnd.bottom < rightStart.top) { add(leftSide, leftEnd.bottom, null, rightStart.top); } } output.appendChild(fragment); } // Cursor-blinking function restartBlink(cm) { if (!cm.state.focused) { return } var display = cm.display; clearInterval(display.blinker); var on = true; display.cursorDiv.style.visibility = ""; if (cm.options.cursorBlinkRate > 0) { display.blinker = setInterval(function () { if (!cm.hasFocus()) { onBlur(cm); } display.cursorDiv.style.visibility = (on = !on) ? "" : "hidden"; }, cm.options.cursorBlinkRate); } else if (cm.options.cursorBlinkRate < 0) { display.cursorDiv.style.visibility = "hidden"; } } function ensureFocus(cm) { if (!cm.hasFocus()) { cm.display.input.focus(); if (!cm.state.focused) { onFocus(cm); } } } function delayBlurEvent(cm) { cm.state.delayingBlurEvent = true; setTimeout(function () { if (cm.state.delayingBlurEvent) { cm.state.delayingBlurEvent = false; if (cm.state.focused) { onBlur(cm); } } }, 100); } function onFocus(cm, e) { if (cm.state.delayingBlurEvent && !cm.state.draggingText) { cm.state.delayingBlurEvent = false; } if (cm.options.readOnly == "nocursor") { return } if (!cm.state.focused) { signal(cm, "focus", cm, e); cm.state.focused = true; addClass(cm.display.wrapper, "CodeMirror-focused"); // This test prevents this from firing when a context // menu is closed (since the input reset would kill the // select-all detection hack) if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) { cm.display.input.reset(); if (webkit) { setTimeout(function () { return cm.display.input.reset(true); }, 20); } // Issue #1730 } cm.display.input.receivedFocus(); } restartBlink(cm); } function onBlur(cm, e) { if (cm.state.delayingBlurEvent) { return } if (cm.state.focused) { signal(cm, "blur", cm, e); cm.state.focused = false; rmClass(cm.display.wrapper, "CodeMirror-focused"); } clearInterval(cm.display.blinker); setTimeout(function () { if (!cm.state.focused) { cm.display.shift = false; } }, 150); } // Read the actual heights of the rendered lines, and update their // stored heights to match. function updateHeightsInViewport(cm) { var display = cm.display; var prevBottom = display.lineDiv.offsetTop; var viewTop = Math.max(0, display.scroller.getBoundingClientRect().top); var oldHeight = display.lineDiv.getBoundingClientRect().top; var mustScroll = 0; for (var i = 0; i < display.view.length; i++) { var cur = display.view[i], wrapping = cm.options.lineWrapping; var height = (void 0), width = 0; if (cur.hidden) { continue } oldHeight += cur.line.height; if (ie && ie_version < 8) { var bot = cur.node.offsetTop + cur.node.offsetHeight; height = bot - prevBottom; prevBottom = bot; } else { var box = cur.node.getBoundingClientRect(); height = box.bottom - box.top; // Check that lines don't extend past the right of the current // editor width if (!wrapping && cur.text.firstChild) { width = cur.text.firstChild.getBoundingClientRect().right - box.left - 1; } } var diff = cur.line.height - height; if (diff > .005 || diff < -.005) { if (oldHeight < viewTop) { mustScroll -= diff; } updateLineHeight(cur.line, height); updateWidgetHeight(cur.line); if (cur.rest) { for (var j = 0; j < cur.rest.length; j++) { updateWidgetHeight(cur.rest[j]); } } } if (width > cm.display.sizerWidth) { var chWidth = Math.ceil(width / charWidth(cm.display)); if (chWidth > cm.display.maxLineLength) { cm.display.maxLineLength = chWidth; cm.display.maxLine = cur.line; cm.display.maxLineChanged = true; } } } if (Math.abs(mustScroll) > 2) { display.scroller.scrollTop += mustScroll; } } // Read and store the height of line widgets associated with the // given line. function updateWidgetHeight(line) { if (line.widgets) { for (var i = 0; i < line.widgets.length; ++i) { var w = line.widgets[i], parent = w.node.parentNode; if (parent) { w.height = parent.offsetHeight; } } } } // Compute the lines that are visible in a given viewport (defaults // the the current scroll position). viewport may contain top, // height, and ensure (see op.scrollToPos) properties. function visibleLines(display, doc, viewport) { var top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop; top = Math.floor(top - paddingTop(display)); var bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight; var from = lineAtHeight(doc, top), to = lineAtHeight(doc, bottom); // Ensure is a {from: {line, ch}, to: {line, ch}} object, and // forces those lines into the viewport (if possible). if (viewport && viewport.ensure) { var ensureFrom = viewport.ensure.from.line, ensureTo = viewport.ensure.to.line; if (ensureFrom < from) { from = ensureFrom; to = lineAtHeight(doc, heightAtLine(getLine(doc, ensureFrom)) + display.wrapper.clientHeight); } else if (Math.min(ensureTo, doc.lastLine()) >= to) { from = lineAtHeight(doc, heightAtLine(getLine(doc, ensureTo)) - display.wrapper.clientHeight); to = ensureTo; } } return {from: from, to: Math.max(to, from + 1)} } // SCROLLING THINGS INTO VIEW // If an editor sits on the top or bottom of the window, partially // scrolled out of view, this ensures that the cursor is visible. function maybeScrollWindow(cm, rect) { if (signalDOMEvent(cm, "scrollCursorIntoView")) { return } var display = cm.display, box = display.sizer.getBoundingClientRect(), doScroll = null; if (rect.top + box.top < 0) { doScroll = true; } else if (rect.bottom + box.top > (window.innerHeight || document.documentElement.clientHeight)) { doScroll = false; } if (doScroll != null && !phantom) { var scrollNode = elt("div", "\u200b", null, ("position: absolute;\n top: " + (rect.top - display.viewOffset - paddingTop(cm.display)) + "px;\n height: " + (rect.bottom - rect.top + scrollGap(cm) + display.barHeight) + "px;\n left: " + (rect.left) + "px; width: " + (Math.max(2, rect.right - rect.left)) + "px;")); cm.display.lineSpace.appendChild(scrollNode); scrollNode.scrollIntoView(doScroll); cm.display.lineSpace.removeChild(scrollNode); } } // Scroll a given position into view (immediately), verifying that // it actually became visible (as line heights are accurately // measured, the position of something may 'drift' during drawing). function scrollPosIntoView(cm, pos, end, margin) { if (margin == null) { margin = 0; } var rect; if (!cm.options.lineWrapping && pos == end) { // Set pos and end to the cursor positions around the character pos sticks to // If pos.sticky == "before", that is around pos.ch - 1, otherwise around pos.ch // If pos == Pos(_, 0, "before"), pos and end are unchanged end = pos.sticky == "before" ? Pos(pos.line, pos.ch + 1, "before") : pos; pos = pos.ch ? Pos(pos.line, pos.sticky == "before" ? pos.ch - 1 : pos.ch, "after") : pos; } for (var limit = 0; limit < 5; limit++) { var changed = false; var coords = cursorCoords(cm, pos); var endCoords = !end || end == pos ? coords : cursorCoords(cm, end); rect = {left: Math.min(coords.left, endCoords.left), top: Math.min(coords.top, endCoords.top) - margin, right: Math.max(coords.left, endCoords.left), bottom: Math.max(coords.bottom, endCoords.bottom) + margin}; var scrollPos = calculateScrollPos(cm, rect); var startTop = cm.doc.scrollTop, startLeft = cm.doc.scrollLeft; if (scrollPos.scrollTop != null) { updateScrollTop(cm, scrollPos.scrollTop); if (Math.abs(cm.doc.scrollTop - startTop) > 1) { changed = true; } } if (scrollPos.scrollLeft != null) { setScrollLeft(cm, scrollPos.scrollLeft); if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) { changed = true; } } if (!changed) { break } } return rect } // Scroll a given set of coordinates into view (immediately). function scrollIntoView(cm, rect) { var scrollPos = calculateScrollPos(cm, rect); if (scrollPos.scrollTop != null) { updateScrollTop(cm, scrollPos.scrollTop); } if (scrollPos.scrollLeft != null) { setScrollLeft(cm, scrollPos.scrollLeft); } } // Calculate a new scroll position needed to scroll the given // rectangle into view. Returns an object with scrollTop and // scrollLeft properties. When these are undefined, the // vertical/horizontal position does not need to be adjusted. function calculateScrollPos(cm, rect) { var display = cm.display, snapMargin = textHeight(cm.display); if (rect.top < 0) { rect.top = 0; } var screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop; var screen = displayHeight(cm), result = {}; if (rect.bottom - rect.top > screen) { rect.bottom = rect.top + screen; } var docBottom = cm.doc.height + paddingVert(display); var atTop = rect.top < snapMargin, atBottom = rect.bottom > docBottom - snapMargin; if (rect.top < screentop) { result.scrollTop = atTop ? 0 : rect.top; } else if (rect.bottom > screentop + screen) { var newTop = Math.min(rect.top, (atBottom ? docBottom : rect.bottom) - screen); if (newTop != screentop) { result.scrollTop = newTop; } } var gutterSpace = cm.options.fixedGutter ? 0 : display.gutters.offsetWidth; var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft - gutterSpace; var screenw = displayWidth(cm) - display.gutters.offsetWidth; var tooWide = rect.right - rect.left > screenw; if (tooWide) { rect.right = rect.left + screenw; } if (rect.left < 10) { result.scrollLeft = 0; } else if (rect.left < screenleft) { result.scrollLeft = Math.max(0, rect.left + gutterSpace - (tooWide ? 0 : 10)); } else if (rect.right > screenw + screenleft - 3) { result.scrollLeft = rect.right + (tooWide ? 0 : 10) - screenw; } return result } // Store a relative adjustment to the scroll position in the current // operation (to be applied when the operation finishes). function addToScrollTop(cm, top) { if (top == null) { return } resolveScrollToPos(cm); cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top; } // Make sure that at the end of the operation the current cursor is // shown. function ensureCursorVisible(cm) { resolveScrollToPos(cm); var cur = cm.getCursor(); cm.curOp.scrollToPos = {from: cur, to: cur, margin: cm.options.cursorScrollMargin}; } function scrollToCoords(cm, x, y) { if (x != null || y != null) { resolveScrollToPos(cm); } if (x != null) { cm.curOp.scrollLeft = x; } if (y != null) { cm.curOp.scrollTop = y; } } function scrollToRange(cm, range) { resolveScrollToPos(cm); cm.curOp.scrollToPos = range; } // When an operation has its scrollToPos property set, and another // scroll action is applied before the end of the operation, this // 'simulates' scrolling that position into view in a cheap way, so // that the effect of intermediate scroll commands is not ignored. function resolveScrollToPos(cm) { var range = cm.curOp.scrollToPos; if (range) { cm.curOp.scrollToPos = null; var from = estimateCoords(cm, range.from), to = estimateCoords(cm, range.to); scrollToCoordsRange(cm, from, to, range.margin); } } function scrollToCoordsRange(cm, from, to, margin) { var sPos = calculateScrollPos(cm, { left: Math.min(from.left, to.left), top: Math.min(from.top, to.top) - margin, right: Math.max(from.right, to.right), bottom: Math.max(from.bottom, to.bottom) + margin }); scrollToCoords(cm, sPos.scrollLeft, sPos.scrollTop); } // Sync the scrollable area and scrollbars, ensure the viewport // covers the visible area. function updateScrollTop(cm, val) { if (Math.abs(cm.doc.scrollTop - val) < 2) { return } if (!gecko) { updateDisplaySimple(cm, {top: val}); } setScrollTop(cm, val, true); if (gecko) { updateDisplaySimple(cm); } startWorker(cm, 100); } function setScrollTop(cm, val, forceScroll) { val = Math.max(0, Math.min(cm.display.scroller.scrollHeight - cm.display.scroller.clientHeight, val)); if (cm.display.scroller.scrollTop == val && !forceScroll) { return } cm.doc.scrollTop = val; cm.display.scrollbars.setScrollTop(val); if (cm.display.scroller.scrollTop != val) { cm.display.scroller.scrollTop = val; } } // Sync scroller and scrollbar, ensure the gutter elements are // aligned. function setScrollLeft(cm, val, isScroller, forceScroll) { val = Math.max(0, Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth)); if ((isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) && !forceScroll) { return } cm.doc.scrollLeft = val; alignHorizontally(cm); if (cm.display.scroller.scrollLeft != val) { cm.display.scroller.scrollLeft = val; } cm.display.scrollbars.setScrollLeft(val); } // SCROLLBARS // Prepare DOM reads needed to update the scrollbars. Done in one // shot to minimize update/measure roundtrips. function measureForScrollbars(cm) { var d = cm.display, gutterW = d.gutters.offsetWidth; var docH = Math.round(cm.doc.height + paddingVert(cm.display)); return { clientHeight: d.scroller.clientHeight, viewHeight: d.wrapper.clientHeight, scrollWidth: d.scroller.scrollWidth, clientWidth: d.scroller.clientWidth, viewWidth: d.wrapper.clientWidth, barLeft: cm.options.fixedGutter ? gutterW : 0, docHeight: docH, scrollHeight: docH + scrollGap(cm) + d.barHeight, nativeBarWidth: d.nativeBarWidth, gutterWidth: gutterW } } var NativeScrollbars = function(place, scroll, cm) { this.cm = cm; var vert = this.vert = elt("div", [elt("div", null, null, "min-width: 1px")], "CodeMirror-vscrollbar"); var horiz = this.horiz = elt("div", [elt("div", null, null, "height: 100%; min-height: 1px")], "CodeMirror-hscrollbar"); vert.tabIndex = horiz.tabIndex = -1; place(vert); place(horiz); on(vert, "scroll", function () { if (vert.clientHeight) { scroll(vert.scrollTop, "vertical"); } }); on(horiz, "scroll", function () { if (horiz.clientWidth) { scroll(horiz.scrollLeft, "horizontal"); } }); this.checkedZeroWidth = false; // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8). if (ie && ie_version < 8) { this.horiz.style.minHeight = this.vert.style.minWidth = "18px"; } }; NativeScrollbars.prototype.update = function (measure) { var needsH = measure.scrollWidth > measure.clientWidth + 1; var needsV = measure.scrollHeight > measure.clientHeight + 1; var sWidth = measure.nativeBarWidth; if (needsV) { this.vert.style.display = "block"; this.vert.style.bottom = needsH ? sWidth + "px" : "0"; var totalHeight = measure.viewHeight - (needsH ? sWidth : 0); // A bug in IE8 can cause this value to be negative, so guard it. this.vert.firstChild.style.height = Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + "px"; } else { this.vert.scrollTop = 0; this.vert.style.display = ""; this.vert.firstChild.style.height = "0"; } if (needsH) { this.horiz.style.display = "block"; this.horiz.style.right = needsV ? sWidth + "px" : "0"; this.horiz.style.left = measure.barLeft + "px"; var totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0); this.horiz.firstChild.style.width = Math.max(0, measure.scrollWidth - measure.clientWidth + totalWidth) + "px"; } else { this.horiz.style.display = ""; this.horiz.firstChild.style.width = "0"; } if (!this.checkedZeroWidth && measure.clientHeight > 0) { if (sWidth == 0) { this.zeroWidthHack(); } this.checkedZeroWidth = true; } return {right: needsV ? sWidth : 0, bottom: needsH ? sWidth : 0} }; NativeScrollbars.prototype.setScrollLeft = function (pos) { if (this.horiz.scrollLeft != pos) { this.horiz.scrollLeft = pos; } if (this.disableHoriz) { this.enableZeroWidthBar(this.horiz, this.disableHoriz, "horiz"); } }; NativeScrollbars.prototype.setScrollTop = function (pos) { if (this.vert.scrollTop != pos) { this.vert.scrollTop = pos; } if (this.disableVert) { this.enableZeroWidthBar(this.vert, this.disableVert, "vert"); } }; NativeScrollbars.prototype.zeroWidthHack = function () { var w = mac && !mac_geMountainLion ? "12px" : "18px"; this.horiz.style.height = this.vert.style.width = w; this.horiz.style.pointerEvents = this.vert.style.pointerEvents = "none"; this.disableHoriz = new Delayed; this.disableVert = new Delayed; }; NativeScrollbars.prototype.enableZeroWidthBar = function (bar, delay, type) { bar.style.pointerEvents = "auto"; function maybeDisable() { // To find out whether the scrollbar is still visible, we // check whether the element under the pixel in the bottom // right corner of the scrollbar box is the scrollbar box // itself (when the bar is still visible) or its filler child // (when the bar is hidden). If it is still visible, we keep // it enabled, if it's hidden, we disable pointer events. var box = bar.getBoundingClientRect(); var elt = type == "vert" ? document.elementFromPoint(box.right - 1, (box.top + box.bottom) / 2) : document.elementFromPoint((box.right + box.left) / 2, box.bottom - 1); if (elt != bar) { bar.style.pointerEvents = "none"; } else { delay.set(1000, maybeDisable); } } delay.set(1000, maybeDisable); }; NativeScrollbars.prototype.clear = function () { var parent = this.horiz.parentNode; parent.removeChild(this.horiz); parent.removeChild(this.vert); }; var NullScrollbars = function () {}; NullScrollbars.prototype.update = function () { return {bottom: 0, right: 0} }; NullScrollbars.prototype.setScrollLeft = function () {}; NullScrollbars.prototype.setScrollTop = function () {}; NullScrollbars.prototype.clear = function () {}; function updateScrollbars(cm, measure) { if (!measure) { measure = measureForScrollbars(cm); } var startWidth = cm.display.barWidth, startHeight = cm.display.barHeight; updateScrollbarsInner(cm, measure); for (var i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) { if (startWidth != cm.display.barWidth && cm.options.lineWrapping) { updateHeightsInViewport(cm); } updateScrollbarsInner(cm, measureForScrollbars(cm)); startWidth = cm.display.barWidth; startHeight = cm.display.barHeight; } } // Re-synchronize the fake scrollbars with the actual size of the // content. function updateScrollbarsInner(cm, measure) { var d = cm.display; var sizes = d.scrollbars.update(measure); d.sizer.style.paddingRight = (d.barWidth = sizes.right) + "px"; d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + "px"; d.heightForcer.style.borderBottom = sizes.bottom + "px solid transparent"; if (sizes.right && sizes.bottom) { d.scrollbarFiller.style.display = "block"; d.scrollbarFiller.style.height = sizes.bottom + "px"; d.scrollbarFiller.style.width = sizes.right + "px"; } else { d.scrollbarFiller.style.display = ""; } if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) { d.gutterFiller.style.display = "block"; d.gutterFiller.style.height = sizes.bottom + "px"; d.gutterFiller.style.width = measure.gutterWidth + "px"; } else { d.gutterFiller.style.display = ""; } } var scrollbarModel = {"native": NativeScrollbars, "null": NullScrollbars}; function initScrollbars(cm) { if (cm.display.scrollbars) { cm.display.scrollbars.clear(); if (cm.display.scrollbars.addClass) { rmClass(cm.display.wrapper, cm.display.scrollbars.addClass); } } cm.display.scrollbars = new scrollbarModel[cm.options.scrollbarStyle](function (node) { cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller); // Prevent clicks in the scrollbars from killing focus on(node, "mousedown", function () { if (cm.state.focused) { setTimeout(function () { return cm.display.input.focus(); }, 0); } }); node.setAttribute("cm-not-content", "true"); }, function (pos, axis) { if (axis == "horizontal") { setScrollLeft(cm, pos); } else { updateScrollTop(cm, pos); } }, cm); if (cm.display.scrollbars.addClass) { addClass(cm.display.wrapper, cm.display.scrollbars.addClass); } } // Operations are used to wrap a series of changes to the editor // state in such a way that each change won't have to update the // cursor and display (which would be awkward, slow, and // error-prone). Instead, display updates are batched and then all // combined and executed at once. var nextOpId = 0; // Start a new operation. function startOperation(cm) { cm.curOp = { cm: cm, viewChanged: false, // Flag that indicates that lines might need to be redrawn startHeight: cm.doc.height, // Used to detect need to update scrollbar forceUpdate: false, // Used to force a redraw updateInput: 0, // Whether to reset the input textarea typing: false, // Whether this reset should be careful to leave existing text (for compositing) changeObjs: null, // Accumulated changes, for firing change events cursorActivityHandlers: null, // Set of handlers to fire cursorActivity on cursorActivityCalled: 0, // Tracks which cursorActivity handlers have been called already selectionChanged: false, // Whether the selection needs to be redrawn updateMaxLine: false, // Set when the widest line needs to be determined anew scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet scrollToPos: null, // Used to scroll to a specific position focus: false, id: ++nextOpId, // Unique ID markArrays: null // Used by addMarkedSpan }; pushOperation(cm.curOp); } // Finish an operation, updating the display and signalling delayed events function endOperation(cm) { var op = cm.curOp; if (op) { finishOperation(op, function (group) { for (var i = 0; i < group.ops.length; i++) { group.ops[i].cm.curOp = null; } endOperations(group); }); } } // The DOM updates done when an operation finishes are batched so // that the minimum number of relayouts are required. function endOperations(group) { var ops = group.ops; for (var i = 0; i < ops.length; i++) // Read DOM { endOperation_R1(ops[i]); } for (var i$1 = 0; i$1 < ops.length; i$1++) // Write DOM (maybe) { endOperation_W1(ops[i$1]); } for (var i$2 = 0; i$2 < ops.length; i$2++) // Read DOM { endOperation_R2(ops[i$2]); } for (var i$3 = 0; i$3 < ops.length; i$3++) // Write DOM (maybe) { endOperation_W2(ops[i$3]); } for (var i$4 = 0; i$4 < ops.length; i$4++) // Read DOM { endOperation_finish(ops[i$4]); } } function endOperation_R1(op) { var cm = op.cm, display = cm.display; maybeClipScrollbars(cm); if (op.updateMaxLine) { findMaxLine(cm); } op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null || op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom || op.scrollToPos.to.line >= display.viewTo) || display.maxLineChanged && cm.options.lineWrapping; op.update = op.mustUpdate && new DisplayUpdate(cm, op.mustUpdate && {top: op.scrollTop, ensure: op.scrollToPos}, op.forceUpdate); } function endOperation_W1(op) { op.updatedDisplay = op.mustUpdate && updateDisplayIfNeeded(op.cm, op.update); } function endOperation_R2(op) { var cm = op.cm, display = cm.display; if (op.updatedDisplay) { updateHeightsInViewport(cm); } op.barMeasure = measureForScrollbars(cm); // If the max line changed since it was last measured, measure it, // and ensure the document's width matches it. // updateDisplay_W2 will use these properties to do the actual resizing if (display.maxLineChanged && !cm.options.lineWrapping) { op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3; cm.display.sizerWidth = op.adjustWidthTo; op.barMeasure.scrollWidth = Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + scrollGap(cm) + cm.display.barWidth); op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - displayWidth(cm)); } if (op.updatedDisplay || op.selectionChanged) { op.preparedSelection = display.input.prepareSelection(); } } function endOperation_W2(op) { var cm = op.cm; if (op.adjustWidthTo != null) { cm.display.sizer.style.minWidth = op.adjustWidthTo + "px"; if (op.maxScrollLeft < cm.doc.scrollLeft) { setScrollLeft(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true); } cm.display.maxLineChanged = false; } var takeFocus = op.focus && op.focus == activeElt(); if (op.preparedSelection) { cm.display.input.showSelection(op.preparedSelection, takeFocus); } if (op.updatedDisplay || op.startHeight != cm.doc.height) { updateScrollbars(cm, op.barMeasure); } if (op.updatedDisplay) { setDocumentHeight(cm, op.barMeasure); } if (op.selectionChanged) { restartBlink(cm); } if (cm.state.focused && op.updateInput) { cm.display.input.reset(op.typing); } if (takeFocus) { ensureFocus(op.cm); } } function endOperation_finish(op) { var cm = op.cm, display = cm.display, doc = cm.doc; if (op.updatedDisplay) { postUpdateDisplay(cm, op.update); } // Abort mouse wheel delta measurement, when scrolling explicitly if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos)) { display.wheelStartX = display.wheelStartY = null; } // Propagate the scroll position to the actual DOM scroller if (op.scrollTop != null) { setScrollTop(cm, op.scrollTop, op.forceScroll); } if (op.scrollLeft != null) { setScrollLeft(cm, op.scrollLeft, true, true); } // If we need to scroll a specific position into view, do so. if (op.scrollToPos) { var rect = scrollPosIntoView(cm, clipPos(doc, op.scrollToPos.from), clipPos(doc, op.scrollToPos.to), op.scrollToPos.margin); maybeScrollWindow(cm, rect); } // Fire events for markers that are hidden/unidden by editing or // undoing var hidden = op.maybeHiddenMarkers, unhidden = op.maybeUnhiddenMarkers; if (hidden) { for (var i = 0; i < hidden.length; ++i) { if (!hidden[i].lines.length) { signal(hidden[i], "hide"); } } } if (unhidden) { for (var i$1 = 0; i$1 < unhidden.length; ++i$1) { if (unhidden[i$1].lines.length) { signal(unhidden[i$1], "unhide"); } } } if (display.wrapper.offsetHeight) { doc.scrollTop = cm.display.scroller.scrollTop; } // Fire change events, and delayed event handlers if (op.changeObjs) { signal(cm, "changes", cm, op.changeObjs); } if (op.update) { op.update.finish(); } } // Run the given function in an operation function runInOp(cm, f) { if (cm.curOp) { return f() } startOperation(cm); try { return f() } finally { endOperation(cm); } } // Wraps a function in an operation. Returns the wrapped function. function operation(cm, f) { return function() { if (cm.curOp) { return f.apply(cm, arguments) } startOperation(cm); try { return f.apply(cm, arguments) } finally { endOperation(cm); } } } // Used to add methods to editor and doc instances, wrapping them in // operations. function methodOp(f) { return function() { if (this.curOp) { return f.apply(this, arguments) } startOperation(this); try { return f.apply(this, arguments) } finally { endOperation(this); } } } function docMethodOp(f) { return function() { var cm = this.cm; if (!cm || cm.curOp) { return f.apply(this, arguments) } startOperation(cm); try { return f.apply(this, arguments) } finally { endOperation(cm); } } } // HIGHLIGHT WORKER function startWorker(cm, time) { if (cm.doc.highlightFrontier < cm.display.viewTo) { cm.state.highlight.set(time, bind(highlightWorker, cm)); } } function highlightWorker(cm) { var doc = cm.doc; if (doc.highlightFrontier >= cm.display.viewTo) { return } var end = +new Date + cm.options.workTime; var context = getContextBefore(cm, doc.highlightFrontier); var changedLines = []; doc.iter(context.line, Math.min(doc.first + doc.size, cm.display.viewTo + 500), function (line) { if (context.line >= cm.display.viewFrom) { // Visible var oldStyles = line.styles; var resetState = line.text.length > cm.options.maxHighlightLength ? copyState(doc.mode, context.state) : null; var highlighted = highlightLine(cm, line, context, true); if (resetState) { context.state = resetState; } line.styles = highlighted.styles; var oldCls = line.styleClasses, newCls = highlighted.classes; if (newCls) { line.styleClasses = newCls; } else if (oldCls) { line.styleClasses = null; } var ischange = !oldStyles || oldStyles.length != line.styles.length || oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass); for (var i = 0; !ischange && i < oldStyles.length; ++i) { ischange = oldStyles[i] != line.styles[i]; } if (ischange) { changedLines.push(context.line); } line.stateAfter = context.save(); context.nextLine(); } else { if (line.text.length <= cm.options.maxHighlightLength) { processLine(cm, line.text, context); } line.stateAfter = context.line % 5 == 0 ? context.save() : null; context.nextLine(); } if (+new Date > end) { startWorker(cm, cm.options.workDelay); return true } }); doc.highlightFrontier = context.line; doc.modeFrontier = Math.max(doc.modeFrontier, context.line); if (changedLines.length) { runInOp(cm, function () { for (var i = 0; i < changedLines.length; i++) { regLineChange(cm, changedLines[i], "text"); } }); } } // DISPLAY DRAWING var DisplayUpdate = function(cm, viewport, force) { var display = cm.display; this.viewport = viewport; // Store some values that we'll need later (but don't want to force a relayout for) this.visible = visibleLines(display, cm.doc, viewport); this.editorIsHidden = !display.wrapper.offsetWidth; this.wrapperHeight = display.wrapper.clientHeight; this.wrapperWidth = display.wrapper.clientWidth; this.oldDisplayWidth = displayWidth(cm); this.force = force; this.dims = getDimensions(cm); this.events = []; }; DisplayUpdate.prototype.signal = function (emitter, type) { if (hasHandler(emitter, type)) { this.events.push(arguments); } }; DisplayUpdate.prototype.finish = function () { for (var i = 0; i < this.events.length; i++) { signal.apply(null, this.events[i]); } }; function maybeClipScrollbars(cm) { var display = cm.display; if (!display.scrollbarsClipped && display.scroller.offsetWidth) { display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth; display.heightForcer.style.height = scrollGap(cm) + "px"; display.sizer.style.marginBottom = -display.nativeBarWidth + "px"; display.sizer.style.borderRightWidth = scrollGap(cm) + "px"; display.scrollbarsClipped = true; } } function selectionSnapshot(cm) { if (cm.hasFocus()) { return null } var active = activeElt(); if (!active || !contains(cm.display.lineDiv, active)) { return null } var result = {activeElt: active}; if (window.getSelection) { var sel = window.getSelection(); if (sel.anchorNode && sel.extend && contains(cm.display.lineDiv, sel.anchorNode)) { result.anchorNode = sel.anchorNode; result.anchorOffset = sel.anchorOffset; result.focusNode = sel.focusNode; result.focusOffset = sel.focusOffset; } } return result } function restoreSelection(snapshot) { if (!snapshot || !snapshot.activeElt || snapshot.activeElt == activeElt()) { return } snapshot.activeElt.focus(); if (!/^(INPUT|TEXTAREA)$/.test(snapshot.activeElt.nodeName) && snapshot.anchorNode && contains(document.body, snapshot.anchorNode) && contains(document.body, snapshot.focusNode)) { var sel = window.getSelection(), range = document.createRange(); range.setEnd(snapshot.anchorNode, snapshot.anchorOffset); range.collapse(false); sel.removeAllRanges(); sel.addRange(range); sel.extend(snapshot.focusNode, snapshot.focusOffset); } } // Does the actual updating of the line display. Bails out // (returning false) when there is nothing to be done and forced is // false. function updateDisplayIfNeeded(cm, update) { var display = cm.display, doc = cm.doc; if (update.editorIsHidden) { resetView(cm); return false } // Bail out if the visible area is already rendered and nothing changed. if (!update.force && update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo && (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) && display.renderedView == display.view && countDirtyView(cm) == 0) { return false } if (maybeUpdateLineNumberWidth(cm)) { resetView(cm); update.dims = getDimensions(cm); } // Compute a suitable new viewport (from & to) var end = doc.first + doc.size; var from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first); var to = Math.min(end, update.visible.to + cm.options.viewportMargin); if (display.viewFrom < from && from - display.viewFrom < 20) { from = Math.max(doc.first, display.viewFrom); } if (display.viewTo > to && display.viewTo - to < 20) { to = Math.min(end, display.viewTo); } if (sawCollapsedSpans) { from = visualLineNo(cm.doc, from); to = visualLineEndNo(cm.doc, to); } var different = from != display.viewFrom || to != display.viewTo || display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth; adjustView(cm, from, to); display.viewOffset = heightAtLine(getLine(cm.doc, display.viewFrom)); // Position the mover div to align with the current scroll position cm.display.mover.style.top = display.viewOffset + "px"; var toUpdate = countDirtyView(cm); if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view && (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo)) { return false } // For big changes, we hide the enclosing element during the // update, since that speeds up the operations on most browsers. var selSnapshot = selectionSnapshot(cm); if (toUpdate > 4) { display.lineDiv.style.display = "none"; } patchDisplay(cm, display.updateLineNumbers, update.dims); if (toUpdate > 4) { display.lineDiv.style.display = ""; } display.renderedView = display.view; // There might have been a widget with a focused element that got // hidden or updated, if so re-focus it. restoreSelection(selSnapshot); // Prevent selection and cursors from interfering with the scroll // width and height. removeChildren(display.cursorDiv); removeChildren(display.selectionDiv); display.gutters.style.height = display.sizer.style.minHeight = 0; if (different) { display.lastWrapHeight = update.wrapperHeight; display.lastWrapWidth = update.wrapperWidth; startWorker(cm, 400); } display.updateLineNumbers = null; return true } function postUpdateDisplay(cm, update) { var viewport = update.viewport; for (var first = true;; first = false) { if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) { // Clip forced viewport to actual scrollable area. if (viewport && viewport.top != null) { viewport = {top: Math.min(cm.doc.height + paddingVert(cm.display) - displayHeight(cm), viewport.top)}; } // Updated line heights might result in the drawn area not // actually covering the viewport. Keep looping until it does. update.visible = visibleLines(cm.display, cm.doc, viewport); if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo) { break } } else if (first) { update.visible = visibleLines(cm.display, cm.doc, viewport); } if (!updateDisplayIfNeeded(cm, update)) { break } updateHeightsInViewport(cm); var barMeasure = measureForScrollbars(cm); updateSelection(cm); updateScrollbars(cm, barMeasure); setDocumentHeight(cm, barMeasure); update.force = false; } update.signal(cm, "update", cm); if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) { update.signal(cm, "viewportChange", cm, cm.display.viewFrom, cm.display.viewTo); cm.display.reportedViewFrom = cm.display.viewFrom; cm.display.reportedViewTo = cm.display.viewTo; } } function updateDisplaySimple(cm, viewport) { var update = new DisplayUpdate(cm, viewport); if (updateDisplayIfNeeded(cm, update)) { updateHeightsInViewport(cm); postUpdateDisplay(cm, update); var barMeasure = measureForScrollbars(cm); updateSelection(cm); updateScrollbars(cm, barMeasure); setDocumentHeight(cm, barMeasure); update.finish(); } } // Sync the actual display DOM structure with display.view, removing // nodes for lines that are no longer in view, and creating the ones // that are not there yet, and updating the ones that are out of // date. function patchDisplay(cm, updateNumbersFrom, dims) { var display = cm.display, lineNumbers = cm.options.lineNumbers; var container = display.lineDiv, cur = container.firstChild; function rm(node) { var next = node.nextSibling; // Works around a throw-scroll bug in OS X Webkit if (webkit && mac && cm.display.currentWheelTarget == node) { node.style.display = "none"; } else { node.parentNode.removeChild(node); } return next } var view = display.view, lineN = display.viewFrom; // Loop over the elements in the view, syncing cur (the DOM nodes // in display.lineDiv) with the view as we go. for (var i = 0; i < view.length; i++) { var lineView = view[i]; if (lineView.hidden) ; else if (!lineView.node || lineView.node.parentNode != container) { // Not drawn yet var node = buildLineElement(cm, lineView, lineN, dims); container.insertBefore(node, cur); } else { // Already drawn while (cur != lineView.node) { cur = rm(cur); } var updateNumber = lineNumbers && updateNumbersFrom != null && updateNumbersFrom <= lineN && lineView.lineNumber; if (lineView.changes) { if (indexOf(lineView.changes, "gutter") > -1) { updateNumber = false; } updateLineForChanges(cm, lineView, lineN, dims); } if (updateNumber) { removeChildren(lineView.lineNumber); lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options, lineN))); } cur = lineView.node.nextSibling; } lineN += lineView.size; } while (cur) { cur = rm(cur); } } function updateGutterSpace(display) { var width = display.gutters.offsetWidth; display.sizer.style.marginLeft = width + "px"; // Send an event to consumers responding to changes in gutter width. signalLater(display, "gutterChanged", display); } function setDocumentHeight(cm, measure) { cm.display.sizer.style.minHeight = measure.docHeight + "px"; cm.display.heightForcer.style.top = measure.docHeight + "px"; cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + "px"; } // Re-align line numbers and gutter marks to compensate for // horizontal scrolling. function alignHorizontally(cm) { var display = cm.display, view = display.view; if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) { return } var comp = compensateForHScroll(display) - display.scroller.scrollLeft + cm.doc.scrollLeft; var gutterW = display.gutters.offsetWidth, left = comp + "px"; for (var i = 0; i < view.length; i++) { if (!view[i].hidden) { if (cm.options.fixedGutter) { if (view[i].gutter) { view[i].gutter.style.left = left; } if (view[i].gutterBackground) { view[i].gutterBackground.style.left = left; } } var align = view[i].alignable; if (align) { for (var j = 0; j < align.length; j++) { align[j].style.left = left; } } } } if (cm.options.fixedGutter) { display.gutters.style.left = (comp + gutterW) + "px"; } } // Used to ensure that the line number gutter is still the right // size for the current document size. Returns true when an update // is needed. function maybeUpdateLineNumberWidth(cm) { if (!cm.options.lineNumbers) { return false } var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display; if (last.length != display.lineNumChars) { var test = display.measure.appendChild(elt("div", [elt("div", last)], "CodeMirror-linenumber CodeMirror-gutter-elt")); var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW; display.lineGutter.style.width = ""; display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1; display.lineNumWidth = display.lineNumInnerWidth + padding; display.lineNumChars = display.lineNumInnerWidth ? last.length : -1; display.lineGutter.style.width = display.lineNumWidth + "px"; updateGutterSpace(cm.display); return true } return false } function getGutters(gutters, lineNumbers) { var result = [], sawLineNumbers = false; for (var i = 0; i < gutters.length; i++) { var name = gutters[i], style = null; if (typeof name != "string") { style = name.style; name = name.className; } if (name == "CodeMirror-linenumbers") { if (!lineNumbers) { continue } else { sawLineNumbers = true; } } result.push({className: name, style: style}); } if (lineNumbers && !sawLineNumbers) { result.push({className: "CodeMirror-linenumbers", style: null}); } return result } // Rebuild the gutter elements, ensure the margin to the left of the // code matches their width. function renderGutters(display) { var gutters = display.gutters, specs = display.gutterSpecs; removeChildren(gutters); display.lineGutter = null; for (var i = 0; i < specs.length; ++i) { var ref = specs[i]; var className = ref.className; var style = ref.style; var gElt = gutters.appendChild(elt("div", null, "CodeMirror-gutter " + className)); if (style) { gElt.style.cssText = style; } if (className == "CodeMirror-linenumbers") { display.lineGutter = gElt; gElt.style.width = (display.lineNumWidth || 1) + "px"; } } gutters.style.display = specs.length ? "" : "none"; updateGutterSpace(display); } function updateGutters(cm) { renderGutters(cm.display); regChange(cm); alignHorizontally(cm); } // The display handles the DOM integration, both for input reading // and content drawing. It holds references to DOM nodes and // display-related state. function Display(place, doc, input, options) { var d = this; this.input = input; // Covers bottom-right square when both scrollbars are present. d.scrollbarFiller = elt("div", null, "CodeMirror-scrollbar-filler"); d.scrollbarFiller.setAttribute("cm-not-content", "true"); // Covers bottom of gutter when coverGutterNextToScrollbar is on // and h scrollbar is present. d.gutterFiller = elt("div", null, "CodeMirror-gutter-filler"); d.gutterFiller.setAttribute("cm-not-content", "true"); // Will contain the actual code, positioned to cover the viewport. d.lineDiv = eltP("div", null, "CodeMirror-code"); // Elements are added to these to represent selection and cursors. d.selectionDiv = elt("div", null, null, "position: relative; z-index: 1"); d.cursorDiv = elt("div", null, "CodeMirror-cursors"); // A visibility: hidden element used to find the size of things. d.measure = elt("div", null, "CodeMirror-measure"); // When lines outside of the viewport are measured, they are drawn in this. d.lineMeasure = elt("div", null, "CodeMirror-measure"); // Wraps everything that needs to exist inside the vertically-padded coordinate system d.lineSpace = eltP("div", [d.measure, d.lineMeasure, d.selectionDiv, d.cursorDiv, d.lineDiv], null, "position: relative; outline: none"); var lines = eltP("div", [d.lineSpace], "CodeMirror-lines"); // Moved around its parent to cover visible view. d.mover = elt("div", [lines], null, "position: relative"); // Set to the height of the document, allowing scrolling. d.sizer = elt("div", [d.mover], "CodeMirror-sizer"); d.sizerWidth = null; // Behavior of elts with overflow: auto and padding is // inconsistent across browsers. This is used to ensure the // scrollable area is big enough. d.heightForcer = elt("div", null, null, "position: absolute; height: " + scrollerGap + "px; width: 1px;"); // Will contain the gutters, if any. d.gutters = elt("div", null, "CodeMirror-gutters"); d.lineGutter = null; // Actual scrollable element. d.scroller = elt("div", [d.sizer, d.heightForcer, d.gutters], "CodeMirror-scroll"); d.scroller.setAttribute("tabIndex", "-1"); // The element in which the editor lives. d.wrapper = elt("div", [d.scrollbarFiller, d.gutterFiller, d.scroller], "CodeMirror"); // This attribute is respected by automatic translation systems such as Google Translate, // and may also be respected by tools used by human translators. d.wrapper.setAttribute('translate', 'no'); // Work around IE7 z-index bug (not perfect, hence IE7 not really being supported) if (ie && ie_version < 8) { d.gutters.style.zIndex = -1; d.scroller.style.paddingRight = 0; } if (!webkit && !(gecko && mobile)) { d.scroller.draggable = true; } if (place) { if (place.appendChild) { place.appendChild(d.wrapper); } else { place(d.wrapper); } } // Current rendered range (may be bigger than the view window). d.viewFrom = d.viewTo = doc.first; d.reportedViewFrom = d.reportedViewTo = doc.first; // Information about the rendered lines. d.view = []; d.renderedView = null; // Holds info about a single rendered line when it was rendered // for measurement, while not in view. d.externalMeasured = null; // Empty space (in pixels) above the view d.viewOffset = 0; d.lastWrapHeight = d.lastWrapWidth = 0; d.updateLineNumbers = null; d.nativeBarWidth = d.barHeight = d.barWidth = 0; d.scrollbarsClipped = false; // Used to only resize the line number gutter when necessary (when // the amount of lines crosses a boundary that makes its width change) d.lineNumWidth = d.lineNumInnerWidth = d.lineNumChars = null; // Set to true when a non-horizontal-scrolling line widget is // added. As an optimization, line widget aligning is skipped when // this is false. d.alignWidgets = false; d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null; // Tracks the maximum line length so that the horizontal scrollbar // can be kept static when scrolling. d.maxLine = null; d.maxLineLength = 0; d.maxLineChanged = false; // Used for measuring wheel scrolling granularity d.wheelDX = d.wheelDY = d.wheelStartX = d.wheelStartY = null; // True when shift is held down. d.shift = false; // Used to track whether anything happened since the context menu // was opened. d.selForContextMenu = null; d.activeTouch = null; d.gutterSpecs = getGutters(options.gutters, options.lineNumbers); renderGutters(d); input.init(d); } // Since the delta values reported on mouse wheel events are // unstandardized between browsers and even browser versions, and // generally horribly unpredictable, this code starts by measuring // the scroll effect that the first few mouse wheel events have, // and, from that, detects the way it can convert deltas to pixel // offsets afterwards. // // The reason we want to know the amount a wheel event will scroll // is that it gives us a chance to update the display before the // actual scrolling happens, reducing flickering. var wheelSamples = 0, wheelPixelsPerUnit = null; // Fill in a browser-detected starting value on browsers where we // know one. These don't have to be accurate -- the result of them // being wrong would just be a slight flicker on the first wheel // scroll (if it is large enough). if (ie) { wheelPixelsPerUnit = -.53; } else if (gecko) { wheelPixelsPerUnit = 15; } else if (chrome) { wheelPixelsPerUnit = -.7; } else if (safari) { wheelPixelsPerUnit = -1/3; } function wheelEventDelta(e) { var dx = e.wheelDeltaX, dy = e.wheelDeltaY; if (dx == null && e.detail && e.axis == e.HORIZONTAL_AXIS) { dx = e.detail; } if (dy == null && e.detail && e.axis == e.VERTICAL_AXIS) { dy = e.detail; } else if (dy == null) { dy = e.wheelDelta; } return {x: dx, y: dy} } function wheelEventPixels(e) { var delta = wheelEventDelta(e); delta.x *= wheelPixelsPerUnit; delta.y *= wheelPixelsPerUnit; return delta } function onScrollWheel(cm, e) { var delta = wheelEventDelta(e), dx = delta.x, dy = delta.y; var pixelsPerUnit = wheelPixelsPerUnit; if (e.deltaMode === 0) { dx = e.deltaX; dy = e.deltaY; pixelsPerUnit = 1; } var display = cm.display, scroll = display.scroller; // Quit if there's nothing to scroll here var canScrollX = scroll.scrollWidth > scroll.clientWidth; var canScrollY = scroll.scrollHeight > scroll.clientHeight; if (!(dx && canScrollX || dy && canScrollY)) { return } // Webkit browsers on OS X abort momentum scrolls when the target // of the scroll event is removed from the scrollable element. // This hack (see related code in patchDisplay) makes sure the // element is kept around. if (dy && mac && webkit) { outer: for (var cur = e.target, view = display.view; cur != scroll; cur = cur.parentNode) { for (var i = 0; i < view.length; i++) { if (view[i].node == cur) { cm.display.currentWheelTarget = cur; break outer } } } } // On some browsers, horizontal scrolling will cause redraws to // happen before the gutter has been realigned, causing it to // wriggle around in a most unseemly way. When we have an // estimated pixels/delta value, we just handle horizontal // scrolling entirely here. It'll be slightly off from native, but // better than glitching out. if (dx && !gecko && !presto && pixelsPerUnit != null) { if (dy && canScrollY) { updateScrollTop(cm, Math.max(0, scroll.scrollTop + dy * pixelsPerUnit)); } setScrollLeft(cm, Math.max(0, scroll.scrollLeft + dx * pixelsPerUnit)); // Only prevent default scrolling if vertical scrolling is // actually possible. Otherwise, it causes vertical scroll // jitter on OSX trackpads when deltaX is small and deltaY // is large (issue #3579) if (!dy || (dy && canScrollY)) { e_preventDefault(e); } display.wheelStartX = null; // Abort measurement, if in progress return } // 'Project' the visible viewport to cover the area that is being // scrolled into view (if we know enough to estimate it). if (dy && pixelsPerUnit != null) { var pixels = dy * pixelsPerUnit; var top = cm.doc.scrollTop, bot = top + display.wrapper.clientHeight; if (pixels < 0) { top = Math.max(0, top + pixels - 50); } else { bot = Math.min(cm.doc.height, bot + pixels + 50); } updateDisplaySimple(cm, {top: top, bottom: bot}); } if (wheelSamples < 20 && e.deltaMode !== 0) { if (display.wheelStartX == null) { display.wheelStartX = scroll.scrollLeft; display.wheelStartY = scroll.scrollTop; display.wheelDX = dx; display.wheelDY = dy; setTimeout(function () { if (display.wheelStartX == null) { return } var movedX = scroll.scrollLeft - display.wheelStartX; var movedY = scroll.scrollTop - display.wheelStartY; var sample = (movedY && display.wheelDY && movedY / display.wheelDY) || (movedX && display.wheelDX && movedX / display.wheelDX); display.wheelStartX = display.wheelStartY = null; if (!sample) { return } wheelPixelsPerUnit = (wheelPixelsPerUnit * wheelSamples + sample) / (wheelSamples + 1); ++wheelSamples; }, 200); } else { display.wheelDX += dx; display.wheelDY += dy; } } } // Selection objects are immutable. A new one is created every time // the selection changes. A selection is one or more non-overlapping // (and non-touching) ranges, sorted, and an integer that indicates // which one is the primary selection (the one that's scrolled into // view, that getCursor returns, etc). var Selection = function(ranges, primIndex) { this.ranges = ranges; this.primIndex = primIndex; }; Selection.prototype.primary = function () { return this.ranges[this.primIndex] }; Selection.prototype.equals = function (other) { if (other == this) { return true } if (other.primIndex != this.primIndex || other.ranges.length != this.ranges.length) { return false } for (var i = 0; i < this.ranges.length; i++) { var here = this.ranges[i], there = other.ranges[i]; if (!equalCursorPos(here.anchor, there.anchor) || !equalCursorPos(here.head, there.head)) { return false } } return true }; Selection.prototype.deepCopy = function () { var out = []; for (var i = 0; i < this.ranges.length; i++) { out[i] = new Range(copyPos(this.ranges[i].anchor), copyPos(this.ranges[i].head)); } return new Selection(out, this.primIndex) }; Selection.prototype.somethingSelected = function () { for (var i = 0; i < this.ranges.length; i++) { if (!this.ranges[i].empty()) { return true } } return false }; Selection.prototype.contains = function (pos, end) { if (!end) { end = pos; } for (var i = 0; i < this.ranges.length; i++) { var range = this.ranges[i]; if (cmp(end, range.from()) >= 0 && cmp(pos, range.to()) <= 0) { return i } } return -1 }; var Range = function(anchor, head) { this.anchor = anchor; this.head = head; }; Range.prototype.from = function () { return minPos(this.anchor, this.head) }; Range.prototype.to = function () { return maxPos(this.anchor, this.head) }; Range.prototype.empty = function () { return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch }; // Take an unsorted, potentially overlapping set of ranges, and // build a selection out of it. 'Consumes' ranges array (modifying // it). function normalizeSelection(cm, ranges, primIndex) { var mayTouch = cm && cm.options.selectionsMayTouch; var prim = ranges[primIndex]; ranges.sort(function (a, b) { return cmp(a.from(), b.from()); }); primIndex = indexOf(ranges, prim); for (var i = 1; i < ranges.length; i++) { var cur = ranges[i], prev = ranges[i - 1]; var diff = cmp(prev.to(), cur.from()); if (mayTouch && !cur.empty() ? diff > 0 : diff >= 0) { var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to()); var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head; if (i <= primIndex) { --primIndex; } ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to)); } } return new Selection(ranges, primIndex) } function simpleSelection(anchor, head) { return new Selection([new Range(anchor, head || anchor)], 0) } // Compute the position of the end of a change (its 'to' property // refers to the pre-change end). function changeEnd(change) { if (!change.text) { return change.to } return Pos(change.from.line + change.text.length - 1, lst(change.text).length + (change.text.length == 1 ? change.from.ch : 0)) } // Adjust a position to refer to the post-change position of the // same text, or the end of the change if the change covers it. function adjustForChange(pos, change) { if (cmp(pos, change.from) < 0) { return pos } if (cmp(pos, change.to) <= 0) { return changeEnd(change) } var line = pos.line + change.text.length - (change.to.line - change.from.line) - 1, ch = pos.ch; if (pos.line == change.to.line) { ch += changeEnd(change).ch - change.to.ch; } return Pos(line, ch) } function computeSelAfterChange(doc, change) { var out = []; for (var i = 0; i < doc.sel.ranges.length; i++) { var range = doc.sel.ranges[i]; out.push(new Range(adjustForChange(range.anchor, change), adjustForChange(range.head, change))); } return normalizeSelection(doc.cm, out, doc.sel.primIndex) } function offsetPos(pos, old, nw) { if (pos.line == old.line) { return Pos(nw.line, pos.ch - old.ch + nw.ch) } else { return Pos(nw.line + (pos.line - old.line), pos.ch) } } // Used by replaceSelections to allow moving the selection to the // start or around the replaced test. Hint may be "start" or "around". function computeReplacedSel(doc, changes, hint) { var out = []; var oldPrev = Pos(doc.first, 0), newPrev = oldPrev; for (var i = 0; i < changes.length; i++) { var change = changes[i]; var from = offsetPos(change.from, oldPrev, newPrev); var to = offsetPos(changeEnd(change), oldPrev, newPrev); oldPrev = change.to; newPrev = to; if (hint == "around") { var range = doc.sel.ranges[i], inv = cmp(range.head, range.anchor) < 0; out[i] = new Range(inv ? to : from, inv ? from : to); } else { out[i] = new Range(from, from); } } return new Selection(out, doc.sel.primIndex) } // Used to get the editor into a consistent state again when options change. function loadMode(cm) { cm.doc.mode = getMode(cm.options, cm.doc.modeOption); resetModeState(cm); } function resetModeState(cm) { cm.doc.iter(function (line) { if (line.stateAfter) { line.stateAfter = null; } if (line.styles) { line.styles = null; } }); cm.doc.modeFrontier = cm.doc.highlightFrontier = cm.doc.first; startWorker(cm, 100); cm.state.modeGen++; if (cm.curOp) { regChange(cm); } } // DOCUMENT DATA STRUCTURE // By default, updates that start and end at the beginning of a line // are treated specially, in order to make the association of line // widgets and marker elements with the text behave more intuitive. function isWholeLineUpdate(doc, change) { return change.from.ch == 0 && change.to.ch == 0 && lst(change.text) == "" && (!doc.cm || doc.cm.options.wholeLineUpdateBefore) } // Perform a change on the document data structure. function updateDoc(doc, change, markedSpans, estimateHeight) { function spansFor(n) {return markedSpans ? markedSpans[n] : null} function update(line, text, spans) { updateLine(line, text, spans, estimateHeight); signalLater(line, "change", line, change); } function linesFor(start, end) { var result = []; for (var i = start; i < end; ++i) { result.push(new Line(text[i], spansFor(i), estimateHeight)); } return result } var from = change.from, to = change.to, text = change.text; var firstLine = getLine(doc, from.line), lastLine = getLine(doc, to.line); var lastText = lst(text), lastSpans = spansFor(text.length - 1), nlines = to.line - from.line; // Adjust the line structure if (change.full) { doc.insert(0, linesFor(0, text.length)); doc.remove(text.length, doc.size - text.length); } else if (isWholeLineUpdate(doc, change)) { // This is a whole-line replace. Treated specially to make // sure line objects move the way they are supposed to. var added = linesFor(0, text.length - 1); update(lastLine, lastLine.text, lastSpans); if (nlines) { doc.remove(from.line, nlines); } if (added.length) { doc.insert(from.line, added); } } else if (firstLine == lastLine) { if (text.length == 1) { update(firstLine, firstLine.text.slice(0, from.ch) + lastText + firstLine.text.slice(to.ch), lastSpans); } else { var added$1 = linesFor(1, text.length - 1); added$1.push(new Line(lastText + firstLine.text.slice(to.ch), lastSpans, estimateHeight)); update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)); doc.insert(from.line + 1, added$1); } } else if (text.length == 1) { update(firstLine, firstLine.text.slice(0, from.ch) + text[0] + lastLine.text.slice(to.ch), spansFor(0)); doc.remove(from.line + 1, nlines); } else { update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)); update(lastLine, lastText + lastLine.text.slice(to.ch), lastSpans); var added$2 = linesFor(1, text.length - 1); if (nlines > 1) { doc.remove(from.line + 1, nlines - 1); } doc.insert(from.line + 1, added$2); } signalLater(doc, "change", doc, change); } // Call f for all linked documents. function linkedDocs(doc, f, sharedHistOnly) { function propagate(doc, skip, sharedHist) { if (doc.linked) { for (var i = 0; i < doc.linked.length; ++i) { var rel = doc.linked[i]; if (rel.doc == skip) { continue } var shared = sharedHist && rel.sharedHist; if (sharedHistOnly && !shared) { continue } f(rel.doc, shared); propagate(rel.doc, doc, shared); } } } propagate(doc, null, true); } // Attach a document to an editor. function attachDoc(cm, doc) { if (doc.cm) { throw new Error("This document is already in use.") } cm.doc = doc; doc.cm = cm; estimateLineHeights(cm); loadMode(cm); setDirectionClass(cm); cm.options.direction = doc.direction; if (!cm.options.lineWrapping) { findMaxLine(cm); } cm.options.mode = doc.modeOption; regChange(cm); } function setDirectionClass(cm) { (cm.doc.direction == "rtl" ? addClass : rmClass)(cm.display.lineDiv, "CodeMirror-rtl"); } function directionChanged(cm) { runInOp(cm, function () { setDirectionClass(cm); regChange(cm); }); } function History(prev) { // Arrays of change events and selections. Doing something adds an // event to done and clears undo. Undoing moves events from done // to undone, redoing moves them in the other direction. this.done = []; this.undone = []; this.undoDepth = prev ? prev.undoDepth : Infinity; // Used to track when changes can be merged into a single undo // event this.lastModTime = this.lastSelTime = 0; this.lastOp = this.lastSelOp = null; this.lastOrigin = this.lastSelOrigin = null; // Used by the isClean() method this.generation = this.maxGeneration = prev ? prev.maxGeneration : 1; } // Create a history change event from an updateDoc-style change // object. function historyChangeFromChange(doc, change) { var histChange = {from: copyPos(change.from), to: changeEnd(change), text: getBetween(doc, change.from, change.to)}; attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); linkedDocs(doc, function (doc) { return attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); }, true); return histChange } // Pop all selection events off the end of a history array. Stop at // a change event. function clearSelectionEvents(array) { while (array.length) { var last = lst(array); if (last.ranges) { array.pop(); } else { break } } } // Find the top change event in the history. Pop off selection // events that are in the way. function lastChangeEvent(hist, force) { if (force) { clearSelectionEvents(hist.done); return lst(hist.done) } else if (hist.done.length && !lst(hist.done).ranges) { return lst(hist.done) } else if (hist.done.length > 1 && !hist.done[hist.done.length - 2].ranges) { hist.done.pop(); return lst(hist.done) } } // Register a change in the history. Merges changes that are within // a single operation, or are close together with an origin that // allows merging (starting with "+") into a single event. function addChangeToHistory(doc, change, selAfter, opId) { var hist = doc.history; hist.undone.length = 0; var time = +new Date, cur; var last; if ((hist.lastOp == opId || hist.lastOrigin == change.origin && change.origin && ((change.origin.charAt(0) == "+" && hist.lastModTime > time - (doc.cm ? doc.cm.options.historyEventDelay : 500)) || change.origin.charAt(0) == "*")) && (cur = lastChangeEvent(hist, hist.lastOp == opId))) { // Merge this change into the last event last = lst(cur.changes); if (cmp(change.from, change.to) == 0 && cmp(change.from, last.to) == 0) { // Optimized case for simple insertion -- don't want to add // new changesets for every character typed last.to = changeEnd(change); } else { // Add new sub-event cur.changes.push(historyChangeFromChange(doc, change)); } } else { // Can not be merged, start a new event. var before = lst(hist.done); if (!before || !before.ranges) { pushSelectionToHistory(doc.sel, hist.done); } cur = {changes: [historyChangeFromChange(doc, change)], generation: hist.generation}; hist.done.push(cur); while (hist.done.length > hist.undoDepth) { hist.done.shift(); if (!hist.done[0].ranges) { hist.done.shift(); } } } hist.done.push(selAfter); hist.generation = ++hist.maxGeneration; hist.lastModTime = hist.lastSelTime = time; hist.lastOp = hist.lastSelOp = opId; hist.lastOrigin = hist.lastSelOrigin = change.origin; if (!last) { signal(doc, "historyAdded"); } } function selectionEventCanBeMerged(doc, origin, prev, sel) { var ch = origin.charAt(0); return ch == "*" || ch == "+" && prev.ranges.length == sel.ranges.length && prev.somethingSelected() == sel.somethingSelected() && new Date - doc.history.lastSelTime <= (doc.cm ? doc.cm.options.historyEventDelay : 500) } // Called whenever the selection changes, sets the new selection as // the pending selection in the history, and pushes the old pending // selection into the 'done' array when it was significantly // different (in number of selected ranges, emptiness, or time). function addSelectionToHistory(doc, sel, opId, options) { var hist = doc.history, origin = options && options.origin; // A new event is started when the previous origin does not match // the current, or the origins don't allow matching. Origins // starting with * are always merged, those starting with + are // merged when similar and close together in time. if (opId == hist.lastSelOp || (origin && hist.lastSelOrigin == origin && (hist.lastModTime == hist.lastSelTime && hist.lastOrigin == origin || selectionEventCanBeMerged(doc, origin, lst(hist.done), sel)))) { hist.done[hist.done.length - 1] = sel; } else { pushSelectionToHistory(sel, hist.done); } hist.lastSelTime = +new Date; hist.lastSelOrigin = origin; hist.lastSelOp = opId; if (options && options.clearRedo !== false) { clearSelectionEvents(hist.undone); } } function pushSelectionToHistory(sel, dest) { var top = lst(dest); if (!(top && top.ranges && top.equals(sel))) { dest.push(sel); } } // Used to store marked span information in the history. function attachLocalSpans(doc, change, from, to) { var existing = change["spans_" + doc.id], n = 0; doc.iter(Math.max(doc.first, from), Math.min(doc.first + doc.size, to), function (line) { if (line.markedSpans) { (existing || (existing = change["spans_" + doc.id] = {}))[n] = line.markedSpans; } ++n; }); } // When un/re-doing restores text containing marked spans, those // that have been explicitly cleared should not be restored. function removeClearedSpans(spans) { if (!spans) { return null } var out; for (var i = 0; i < spans.length; ++i) { if (spans[i].marker.explicitlyCleared) { if (!out) { out = spans.slice(0, i); } } else if (out) { out.push(spans[i]); } } return !out ? spans : out.length ? out : null } // Retrieve and filter the old marked spans stored in a change event. function getOldSpans(doc, change) { var found = change["spans_" + doc.id]; if (!found) { return null } var nw = []; for (var i = 0; i < change.text.length; ++i) { nw.push(removeClearedSpans(found[i])); } return nw } // Used for un/re-doing changes from the history. Combines the // result of computing the existing spans with the set of spans that // existed in the history (so that deleting around a span and then // undoing brings back the span). function mergeOldSpans(doc, change) { var old = getOldSpans(doc, change); var stretched = stretchSpansOverChange(doc, change); if (!old) { return stretched } if (!stretched) { return old } for (var i = 0; i < old.length; ++i) { var oldCur = old[i], stretchCur = stretched[i]; if (oldCur && stretchCur) { spans: for (var j = 0; j < stretchCur.length; ++j) { var span = stretchCur[j]; for (var k = 0; k < oldCur.length; ++k) { if (oldCur[k].marker == span.marker) { continue spans } } oldCur.push(span); } } else if (stretchCur) { old[i] = stretchCur; } } return old } // Used both to provide a JSON-safe object in .getHistory, and, when // detaching a document, to split the history in two function copyHistoryArray(events, newGroup, instantiateSel) { var copy = []; for (var i = 0; i < events.length; ++i) { var event = events[i]; if (event.ranges) { copy.push(instantiateSel ? Selection.prototype.deepCopy.call(event) : event); continue } var changes = event.changes, newChanges = []; copy.push({changes: newChanges}); for (var j = 0; j < changes.length; ++j) { var change = changes[j], m = (void 0); newChanges.push({from: change.from, to: change.to, text: change.text}); if (newGroup) { for (var prop in change) { if (m = prop.match(/^spans_(\d+)$/)) { if (indexOf(newGroup, Number(m[1])) > -1) { lst(newChanges)[prop] = change[prop]; delete change[prop]; } } } } } } return copy } // The 'scroll' parameter given to many of these indicated whether // the new cursor position should be scrolled into view after // modifying the selection. // If shift is held or the extend flag is set, extends a range to // include a given position (and optionally a second position). // Otherwise, simply returns the range between the given positions. // Used for cursor motion and such. function extendRange(range, head, other, extend) { if (extend) { var anchor = range.anchor; if (other) { var posBefore = cmp(head, anchor) < 0; if (posBefore != (cmp(other, anchor) < 0)) { anchor = head; head = other; } else if (posBefore != (cmp(head, other) < 0)) { head = other; } } return new Range(anchor, head) } else { return new Range(other || head, head) } } // Extend the primary selection range, discard the rest. function extendSelection(doc, head, other, options, extend) { if (extend == null) { extend = doc.cm && (doc.cm.display.shift || doc.extend); } setSelection(doc, new Selection([extendRange(doc.sel.primary(), head, other, extend)], 0), options); } // Extend all selections (pos is an array of selections with length // equal the number of selections) function extendSelections(doc, heads, options) { var out = []; var extend = doc.cm && (doc.cm.display.shift || doc.extend); for (var i = 0; i < doc.sel.ranges.length; i++) { out[i] = extendRange(doc.sel.ranges[i], heads[i], null, extend); } var newSel = normalizeSelection(doc.cm, out, doc.sel.primIndex); setSelection(doc, newSel, options); } // Updates a single range in the selection. function replaceOneSelection(doc, i, range, options) { var ranges = doc.sel.ranges.slice(0); ranges[i] = range; setSelection(doc, normalizeSelection(doc.cm, ranges, doc.sel.primIndex), options); } // Reset the selection to a single range. function setSimpleSelection(doc, anchor, head, options) { setSelection(doc, simpleSelection(anchor, head), options); } // Give beforeSelectionChange handlers a change to influence a // selection update. function filterSelectionChange(doc, sel, options) { var obj = { ranges: sel.ranges, update: function(ranges) { this.ranges = []; for (var i = 0; i < ranges.length; i++) { this.ranges[i] = new Range(clipPos(doc, ranges[i].anchor), clipPos(doc, ranges[i].head)); } }, origin: options && options.origin }; signal(doc, "beforeSelectionChange", doc, obj); if (doc.cm) { signal(doc.cm, "beforeSelectionChange", doc.cm, obj); } if (obj.ranges != sel.ranges) { return normalizeSelection(doc.cm, obj.ranges, obj.ranges.length - 1) } else { return sel } } function setSelectionReplaceHistory(doc, sel, options) { var done = doc.history.done, last = lst(done); if (last && last.ranges) { done[done.length - 1] = sel; setSelectionNoUndo(doc, sel, options); } else { setSelection(doc, sel, options); } } // Set a new selection. function setSelection(doc, sel, options) { setSelectionNoUndo(doc, sel, options); addSelectionToHistory(doc, doc.sel, doc.cm ? doc.cm.curOp.id : NaN, options); } function setSelectionNoUndo(doc, sel, options) { if (hasHandler(doc, "beforeSelectionChange") || doc.cm && hasHandler(doc.cm, "beforeSelectionChange")) { sel = filterSelectionChange(doc, sel, options); } var bias = options && options.bias || (cmp(sel.primary().head, doc.sel.primary().head) < 0 ? -1 : 1); setSelectionInner(doc, skipAtomicInSelection(doc, sel, bias, true)); if (!(options && options.scroll === false) && doc.cm && doc.cm.getOption("readOnly") != "nocursor") { ensureCursorVisible(doc.cm); } } function setSelectionInner(doc, sel) { if (sel.equals(doc.sel)) { return } doc.sel = sel; if (doc.cm) { doc.cm.curOp.updateInput = 1; doc.cm.curOp.selectionChanged = true; signalCursorActivity(doc.cm); } signalLater(doc, "cursorActivity", doc); } // Verify that the selection does not partially select any atomic // marked ranges. function reCheckSelection(doc) { setSelectionInner(doc, skipAtomicInSelection(doc, doc.sel, null, false)); } // Return a selection that does not partially select any atomic // ranges. function skipAtomicInSelection(doc, sel, bias, mayClear) { var out; for (var i = 0; i < sel.ranges.length; i++) { var range = sel.ranges[i]; var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i]; var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear); var newHead = skipAtomic(doc, range.head, old && old.head, bias, mayClear); if (out || newAnchor != range.anchor || newHead != range.head) { if (!out) { out = sel.ranges.slice(0, i); } out[i] = new Range(newAnchor, newHead); } } return out ? normalizeSelection(doc.cm, out, sel.primIndex) : sel } function skipAtomicInner(doc, pos, oldPos, dir, mayClear) { var line = getLine(doc, pos.line); if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) { var sp = line.markedSpans[i], m = sp.marker; // Determine if we should prevent the cursor being placed to the left/right of an atomic marker // Historically this was determined using the inclusiveLeft/Right option, but the new way to control it // is with selectLeft/Right var preventCursorLeft = ("selectLeft" in m) ? !m.selectLeft : m.inclusiveLeft; var preventCursorRight = ("selectRight" in m) ? !m.selectRight : m.inclusiveRight; if ((sp.from == null || (preventCursorLeft ? sp.from <= pos.ch : sp.from < pos.ch)) && (sp.to == null || (preventCursorRight ? sp.to >= pos.ch : sp.to > pos.ch))) { if (mayClear) { signal(m, "beforeCursorEnter"); if (m.explicitlyCleared) { if (!line.markedSpans) { break } else {--i; continue} } } if (!m.atomic) { continue } if (oldPos) { var near = m.find(dir < 0 ? 1 : -1), diff = (void 0); if (dir < 0 ? preventCursorRight : preventCursorLeft) { near = movePos(doc, near, -dir, near && near.line == pos.line ? line : null); } if (near && near.line == pos.line && (diff = cmp(near, oldPos)) && (dir < 0 ? diff < 0 : diff > 0)) { return skipAtomicInner(doc, near, pos, dir, mayClear) } } var far = m.find(dir < 0 ? -1 : 1); if (dir < 0 ? preventCursorLeft : preventCursorRight) { far = movePos(doc, far, dir, far.line == pos.line ? line : null); } return far ? skipAtomicInner(doc, far, pos, dir, mayClear) : null } } } return pos } // Ensure a given position is not inside an atomic range. function skipAtomic(doc, pos, oldPos, bias, mayClear) { var dir = bias || 1; var found = skipAtomicInner(doc, pos, oldPos, dir, mayClear) || (!mayClear && skipAtomicInner(doc, pos, oldPos, dir, true)) || skipAtomicInner(doc, pos, oldPos, -dir, mayClear) || (!mayClear && skipAtomicInner(doc, pos, oldPos, -dir, true)); if (!found) { doc.cantEdit = true; return Pos(doc.first, 0) } return found } function movePos(doc, pos, dir, line) { if (dir < 0 && pos.ch == 0) { if (pos.line > doc.first) { return clipPos(doc, Pos(pos.line - 1)) } else { return null } } else if (dir > 0 && pos.ch == (line || getLine(doc, pos.line)).text.length) { if (pos.line < doc.first + doc.size - 1) { return Pos(pos.line + 1, 0) } else { return null } } else { return new Pos(pos.line, pos.ch + dir) } } function selectAll(cm) { cm.setSelection(Pos(cm.firstLine(), 0), Pos(cm.lastLine()), sel_dontScroll); } // UPDATING // Allow "beforeChange" event handlers to influence a change function filterChange(doc, change, update) { var obj = { canceled: false, from: change.from, to: change.to, text: change.text, origin: change.origin, cancel: function () { return obj.canceled = true; } }; if (update) { obj.update = function (from, to, text, origin) { if (from) { obj.from = clipPos(doc, from); } if (to) { obj.to = clipPos(doc, to); } if (text) { obj.text = text; } if (origin !== undefined) { obj.origin = origin; } }; } signal(doc, "beforeChange", doc, obj); if (doc.cm) { signal(doc.cm, "beforeChange", doc.cm, obj); } if (obj.canceled) { if (doc.cm) { doc.cm.curOp.updateInput = 2; } return null } return {from: obj.from, to: obj.to, text: obj.text, origin: obj.origin} } // Apply a change to a document, and add it to the document's // history, and propagating it to all linked documents. function makeChange(doc, change, ignoreReadOnly) { if (doc.cm) { if (!doc.cm.curOp) { return operation(doc.cm, makeChange)(doc, change, ignoreReadOnly) } if (doc.cm.state.suppressEdits) { return } } if (hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange")) { change = filterChange(doc, change, true); if (!change) { return } } // Possibly split or suppress the update based on the presence // of read-only spans in its range. var split = sawReadOnlySpans && !ignoreReadOnly && removeReadOnlyRanges(doc, change.from, change.to); if (split) { for (var i = split.length - 1; i >= 0; --i) { makeChangeInner(doc, {from: split[i].from, to: split[i].to, text: i ? [""] : change.text, origin: change.origin}); } } else { makeChangeInner(doc, change); } } function makeChangeInner(doc, change) { if (change.text.length == 1 && change.text[0] == "" && cmp(change.from, change.to) == 0) { return } var selAfter = computeSelAfterChange(doc, change); addChangeToHistory(doc, change, selAfter, doc.cm ? doc.cm.curOp.id : NaN); makeChangeSingleDoc(doc, change, selAfter, stretchSpansOverChange(doc, change)); var rebased = []; linkedDocs(doc, function (doc, sharedHist) { if (!sharedHist && indexOf(rebased, doc.history) == -1) { rebaseHist(doc.history, change); rebased.push(doc.history); } makeChangeSingleDoc(doc, change, null, stretchSpansOverChange(doc, change)); }); } // Revert a change stored in a document's history. function makeChangeFromHistory(doc, type, allowSelectionOnly) { var suppress = doc.cm && doc.cm.state.suppressEdits; if (suppress && !allowSelectionOnly) { return } var hist = doc.history, event, selAfter = doc.sel; var source = type == "undo" ? hist.done : hist.undone, dest = type == "undo" ? hist.undone : hist.done; // Verify that there is a useable event (so that ctrl-z won't // needlessly clear selection events) var i = 0; for (; i < source.length; i++) { event = source[i]; if (allowSelectionOnly ? event.ranges && !event.equals(doc.sel) : !event.ranges) { break } } if (i == source.length) { return } hist.lastOrigin = hist.lastSelOrigin = null; for (;;) { event = source.pop(); if (event.ranges) { pushSelectionToHistory(event, dest); if (allowSelectionOnly && !event.equals(doc.sel)) { setSelection(doc, event, {clearRedo: false}); return } selAfter = event; } else if (suppress) { source.push(event); return } else { break } } // Build up a reverse change object to add to the opposite history // stack (redo when undoing, and vice versa). var antiChanges = []; pushSelectionToHistory(selAfter, dest); dest.push({changes: antiChanges, generation: hist.generation}); hist.generation = event.generation || ++hist.maxGeneration; var filter = hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange"); var loop = function ( i ) { var change = event.changes[i]; change.origin = type; if (filter && !filterChange(doc, change, false)) { source.length = 0; return {} } antiChanges.push(historyChangeFromChange(doc, change)); var after = i ? computeSelAfterChange(doc, change) : lst(source); makeChangeSingleDoc(doc, change, after, mergeOldSpans(doc, change)); if (!i && doc.cm) { doc.cm.scrollIntoView({from: change.from, to: changeEnd(change)}); } var rebased = []; // Propagate to the linked documents linkedDocs(doc, function (doc, sharedHist) { if (!sharedHist && indexOf(rebased, doc.history) == -1) { rebaseHist(doc.history, change); rebased.push(doc.history); } makeChangeSingleDoc(doc, change, null, mergeOldSpans(doc, change)); }); }; for (var i$1 = event.changes.length - 1; i$1 >= 0; --i$1) { var returned = loop( i$1 ); if ( returned ) return returned.v; } } // Sub-views need their line numbers shifted when text is added // above or below them in the parent document. function shiftDoc(doc, distance) { if (distance == 0) { return } doc.first += distance; doc.sel = new Selection(map(doc.sel.ranges, function (range) { return new Range( Pos(range.anchor.line + distance, range.anchor.ch), Pos(range.head.line + distance, range.head.ch) ); }), doc.sel.primIndex); if (doc.cm) { regChange(doc.cm, doc.first, doc.first - distance, distance); for (var d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++) { regLineChange(doc.cm, l, "gutter"); } } } // More lower-level change function, handling only a single document // (not linked ones). function makeChangeSingleDoc(doc, change, selAfter, spans) { if (doc.cm && !doc.cm.curOp) { return operation(doc.cm, makeChangeSingleDoc)(doc, change, selAfter, spans) } if (change.to.line < doc.first) { shiftDoc(doc, change.text.length - 1 - (change.to.line - change.from.line)); return } if (change.from.line > doc.lastLine()) { return } // Clip the change to the size of this doc if (change.from.line < doc.first) { var shift = change.text.length - 1 - (doc.first - change.from.line); shiftDoc(doc, shift); change = {from: Pos(doc.first, 0), to: Pos(change.to.line + shift, change.to.ch), text: [lst(change.text)], origin: change.origin}; } var last = doc.lastLine(); if (change.to.line > last) { change = {from: change.from, to: Pos(last, getLine(doc, last).text.length), text: [change.text[0]], origin: change.origin}; } change.removed = getBetween(doc, change.from, change.to); if (!selAfter) { selAfter = computeSelAfterChange(doc, change); } if (doc.cm) { makeChangeSingleDocInEditor(doc.cm, change, spans); } else { updateDoc(doc, change, spans); } setSelectionNoUndo(doc, selAfter, sel_dontScroll); if (doc.cantEdit && skipAtomic(doc, Pos(doc.firstLine(), 0))) { doc.cantEdit = false; } } // Handle the interaction of a change to a document with the editor // that this document is part of. function makeChangeSingleDocInEditor(cm, change, spans) { var doc = cm.doc, display = cm.display, from = change.from, to = change.to; var recomputeMaxLength = false, checkWidthStart = from.line; if (!cm.options.lineWrapping) { checkWidthStart = lineNo(visualLine(getLine(doc, from.line))); doc.iter(checkWidthStart, to.line + 1, function (line) { if (line == display.maxLine) { recomputeMaxLength = true; return true } }); } if (doc.sel.contains(change.from, change.to) > -1) { signalCursorActivity(cm); } updateDoc(doc, change, spans, estimateHeight(cm)); if (!cm.options.lineWrapping) { doc.iter(checkWidthStart, from.line + change.text.length, function (line) { var len = lineLength(line); if (len > display.maxLineLength) { display.maxLine = line; display.maxLineLength = len; display.maxLineChanged = true; recomputeMaxLength = false; } }); if (recomputeMaxLength) { cm.curOp.updateMaxLine = true; } } retreatFrontier(doc, from.line); startWorker(cm, 400); var lendiff = change.text.length - (to.line - from.line) - 1; // Remember that these lines changed, for updating the display if (change.full) { regChange(cm); } else if (from.line == to.line && change.text.length == 1 && !isWholeLineUpdate(cm.doc, change)) { regLineChange(cm, from.line, "text"); } else { regChange(cm, from.line, to.line + 1, lendiff); } var changesHandler = hasHandler(cm, "changes"), changeHandler = hasHandler(cm, "change"); if (changeHandler || changesHandler) { var obj = { from: from, to: to, text: change.text, removed: change.removed, origin: change.origin }; if (changeHandler) { signalLater(cm, "change", cm, obj); } if (changesHandler) { (cm.curOp.changeObjs || (cm.curOp.changeObjs = [])).push(obj); } } cm.display.selForContextMenu = null; } function replaceRange(doc, code, from, to, origin) { var assign; if (!to) { to = from; } if (cmp(to, from) < 0) { (assign = [to, from], from = assign[0], to = assign[1]); } if (typeof code == "string") { code = doc.splitLines(code); } makeChange(doc, {from: from, to: to, text: code, origin: origin}); } // Rebasing/resetting history to deal with externally-sourced changes function rebaseHistSelSingle(pos, from, to, diff) { if (to < pos.line) { pos.line += diff; } else if (from < pos.line) { pos.line = from; pos.ch = 0; } } // Tries to rebase an array of history events given a change in the // document. If the change touches the same lines as the event, the // event, and everything 'behind' it, is discarded. If the change is // before the event, the event's positions are updated. Uses a // copy-on-write scheme for the positions, to avoid having to // reallocate them all on every rebase, but also avoid problems with // shared position objects being unsafely updated. function rebaseHistArray(array, from, to, diff) { for (var i = 0; i < array.length; ++i) { var sub = array[i], ok = true; if (sub.ranges) { if (!sub.copied) { sub = array[i] = sub.deepCopy(); sub.copied = true; } for (var j = 0; j < sub.ranges.length; j++) { rebaseHistSelSingle(sub.ranges[j].anchor, from, to, diff); rebaseHistSelSingle(sub.ranges[j].head, from, to, diff); } continue } for (var j$1 = 0; j$1 < sub.changes.length; ++j$1) { var cur = sub.changes[j$1]; if (to < cur.from.line) { cur.from = Pos(cur.from.line + diff, cur.from.ch); cur.to = Pos(cur.to.line + diff, cur.to.ch); } else if (from <= cur.to.line) { ok = false; break } } if (!ok) { array.splice(0, i + 1); i = 0; } } } function rebaseHist(hist, change) { var from = change.from.line, to = change.to.line, diff = change.text.length - (to - from) - 1; rebaseHistArray(hist.done, from, to, diff); rebaseHistArray(hist.undone, from, to, diff); } // Utility for applying a change to a line by handle or number, // returning the number and optionally registering the line as // changed. function changeLine(doc, handle, changeType, op) { var no = handle, line = handle; if (typeof handle == "number") { line = getLine(doc, clipLine(doc, handle)); } else { no = lineNo(handle); } if (no == null) { return null } if (op(line, no) && doc.cm) { regLineChange(doc.cm, no, changeType); } return line } // The document is represented as a BTree consisting of leaves, with // chunk of lines in them, and branches, with up to ten leaves or // other branch nodes below them. The top node is always a branch // node, and is the document object itself (meaning it has // additional methods and properties). // // All nodes have parent links. The tree is used both to go from // line numbers to line objects, and to go from objects to numbers. // It also indexes by height, and is used to convert between height // and line object, and to find the total height of the document. // // See also http://marijnhaverbeke.nl/blog/codemirror-line-tree.html function LeafChunk(lines) { this.lines = lines; this.parent = null; var height = 0; for (var i = 0; i < lines.length; ++i) { lines[i].parent = this; height += lines[i].height; } this.height = height; } LeafChunk.prototype = { chunkSize: function() { return this.lines.length }, // Remove the n lines at offset 'at'. removeInner: function(at, n) { for (var i = at, e = at + n; i < e; ++i) { var line = this.lines[i]; this.height -= line.height; cleanUpLine(line); signalLater(line, "delete"); } this.lines.splice(at, n); }, // Helper used to collapse a small branch into a single leaf. collapse: function(lines) { lines.push.apply(lines, this.lines); }, // Insert the given array of lines at offset 'at', count them as // having the given height. insertInner: function(at, lines, height) { this.height += height; this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at)); for (var i = 0; i < lines.length; ++i) { lines[i].parent = this; } }, // Used to iterate over a part of the tree. iterN: function(at, n, op) { for (var e = at + n; at < e; ++at) { if (op(this.lines[at])) { return true } } } }; function BranchChunk(children) { this.children = children; var size = 0, height = 0; for (var i = 0; i < children.length; ++i) { var ch = children[i]; size += ch.chunkSize(); height += ch.height; ch.parent = this; } this.size = size; this.height = height; this.parent = null; } BranchChunk.prototype = { chunkSize: function() { return this.size }, removeInner: function(at, n) { this.size -= n; for (var i = 0; i < this.children.length; ++i) { var child = this.children[i], sz = child.chunkSize(); if (at < sz) { var rm = Math.min(n, sz - at), oldHeight = child.height; child.removeInner(at, rm); this.height -= oldHeight - child.height; if (sz == rm) { this.children.splice(i--, 1); child.parent = null; } if ((n -= rm) == 0) { break } at = 0; } else { at -= sz; } } // If the result is smaller than 25 lines, ensure that it is a // single leaf node. if (this.size - n < 25 && (this.children.length > 1 || !(this.children[0] instanceof LeafChunk))) { var lines = []; this.collapse(lines); this.children = [new LeafChunk(lines)]; this.children[0].parent = this; } }, collapse: function(lines) { for (var i = 0; i < this.children.length; ++i) { this.children[i].collapse(lines); } }, insertInner: function(at, lines, height) { this.size += lines.length; this.height += height; for (var i = 0; i < this.children.length; ++i) { var child = this.children[i], sz = child.chunkSize(); if (at <= sz) { child.insertInner(at, lines, height); if (child.lines && child.lines.length > 50) { // To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced. // Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest. var remaining = child.lines.length % 25 + 25; for (var pos = remaining; pos < child.lines.length;) { var leaf = new LeafChunk(child.lines.slice(pos, pos += 25)); child.height -= leaf.height; this.children.splice(++i, 0, leaf); leaf.parent = this; } child.lines = child.lines.slice(0, remaining); this.maybeSpill(); } break } at -= sz; } }, // When a node has grown, check whether it should be split. maybeSpill: function() { if (this.children.length <= 10) { return } var me = this; do { var spilled = me.children.splice(me.children.length - 5, 5); var sibling = new BranchChunk(spilled); if (!me.parent) { // Become the parent node var copy = new BranchChunk(me.children); copy.parent = me; me.children = [copy, sibling]; me = copy; } else { me.size -= sibling.size; me.height -= sibling.height; var myIndex = indexOf(me.parent.children, me); me.parent.children.splice(myIndex + 1, 0, sibling); } sibling.parent = me.parent; } while (me.children.length > 10) me.parent.maybeSpill(); }, iterN: function(at, n, op) { for (var i = 0; i < this.children.length; ++i) { var child = this.children[i], sz = child.chunkSize(); if (at < sz) { var used = Math.min(n, sz - at); if (child.iterN(at, used, op)) { return true } if ((n -= used) == 0) { break } at = 0; } else { at -= sz; } } } }; // Line widgets are block elements displayed above or below a line. var LineWidget = function(doc, node, options) { if (options) { for (var opt in options) { if (options.hasOwnProperty(opt)) { this[opt] = options[opt]; } } } this.doc = doc; this.node = node; }; LineWidget.prototype.clear = function () { var cm = this.doc.cm, ws = this.line.widgets, line = this.line, no = lineNo(line); if (no == null || !ws) { return } for (var i = 0; i < ws.length; ++i) { if (ws[i] == this) { ws.splice(i--, 1); } } if (!ws.length) { line.widgets = null; } var height = widgetHeight(this); updateLineHeight(line, Math.max(0, line.height - height)); if (cm) { runInOp(cm, function () { adjustScrollWhenAboveVisible(cm, line, -height); regLineChange(cm, no, "widget"); }); signalLater(cm, "lineWidgetCleared", cm, this, no); } }; LineWidget.prototype.changed = function () { var this$1 = this; var oldH = this.height, cm = this.doc.cm, line = this.line; this.height = null; var diff = widgetHeight(this) - oldH; if (!diff) { return } if (!lineIsHidden(this.doc, line)) { updateLineHeight(line, line.height + diff); } if (cm) { runInOp(cm, function () { cm.curOp.forceUpdate = true; adjustScrollWhenAboveVisible(cm, line, diff); signalLater(cm, "lineWidgetChanged", cm, this$1, lineNo(line)); }); } }; eventMixin(LineWidget); function adjustScrollWhenAboveVisible(cm, line, diff) { if (heightAtLine(line) < ((cm.curOp && cm.curOp.scrollTop) || cm.doc.scrollTop)) { addToScrollTop(cm, diff); } } function addLineWidget(doc, handle, node, options) { var widget = new LineWidget(doc, node, options); var cm = doc.cm; if (cm && widget.noHScroll) { cm.display.alignWidgets = true; } changeLine(doc, handle, "widget", function (line) { var widgets = line.widgets || (line.widgets = []); if (widget.insertAt == null) { widgets.push(widget); } else { widgets.splice(Math.min(widgets.length, Math.max(0, widget.insertAt)), 0, widget); } widget.line = line; if (cm && !lineIsHidden(doc, line)) { var aboveVisible = heightAtLine(line) < doc.scrollTop; updateLineHeight(line, line.height + widgetHeight(widget)); if (aboveVisible) { addToScrollTop(cm, widget.height); } cm.curOp.forceUpdate = true; } return true }); if (cm) { signalLater(cm, "lineWidgetAdded", cm, widget, typeof handle == "number" ? handle : lineNo(handle)); } return widget } // TEXTMARKERS // Created with markText and setBookmark methods. A TextMarker is a // handle that can be used to clear or find a marked position in the // document. Line objects hold arrays (markedSpans) containing // {from, to, marker} object pointing to such marker objects, and // indicating that such a marker is present on that line. Multiple // lines may point to the same marker when it spans across lines. // The spans will have null for their from/to properties when the // marker continues beyond the start/end of the line. Markers have // links back to the lines they currently touch. // Collapsed markers have unique ids, in order to be able to order // them, which is needed for uniquely determining an outer marker // when they overlap (they may nest, but not partially overlap). var nextMarkerId = 0; var TextMarker = function(doc, type) { this.lines = []; this.type = type; this.doc = doc; this.id = ++nextMarkerId; }; // Clear the marker. TextMarker.prototype.clear = function () { if (this.explicitlyCleared) { return } var cm = this.doc.cm, withOp = cm && !cm.curOp; if (withOp) { startOperation(cm); } if (hasHandler(this, "clear")) { var found = this.find(); if (found) { signalLater(this, "clear", found.from, found.to); } } var min = null, max = null; for (var i = 0; i < this.lines.length; ++i) { var line = this.lines[i]; var span = getMarkedSpanFor(line.markedSpans, this); if (cm && !this.collapsed) { regLineChange(cm, lineNo(line), "text"); } else if (cm) { if (span.to != null) { max = lineNo(line); } if (span.from != null) { min = lineNo(line); } } line.markedSpans = removeMarkedSpan(line.markedSpans, span); if (span.from == null && this.collapsed && !lineIsHidden(this.doc, line) && cm) { updateLineHeight(line, textHeight(cm.display)); } } if (cm && this.collapsed && !cm.options.lineWrapping) { for (var i$1 = 0; i$1 < this.lines.length; ++i$1) { var visual = visualLine(this.lines[i$1]), len = lineLength(visual); if (len > cm.display.maxLineLength) { cm.display.maxLine = visual; cm.display.maxLineLength = len; cm.display.maxLineChanged = true; } } } if (min != null && cm && this.collapsed) { regChange(cm, min, max + 1); } this.lines.length = 0; this.explicitlyCleared = true; if (this.atomic && this.doc.cantEdit) { this.doc.cantEdit = false; if (cm) { reCheckSelection(cm.doc); } } if (cm) { signalLater(cm, "markerCleared", cm, this, min, max); } if (withOp) { endOperation(cm); } if (this.parent) { this.parent.clear(); } }; // Find the position of the marker in the document. Returns a {from, // to} object by default. Side can be passed to get a specific side // -- 0 (both), -1 (left), or 1 (right). When lineObj is true, the // Pos objects returned contain a line object, rather than a line // number (used to prevent looking up the same line twice). TextMarker.prototype.find = function (side, lineObj) { if (side == null && this.type == "bookmark") { side = 1; } var from, to; for (var i = 0; i < this.lines.length; ++i) { var line = this.lines[i]; var span = getMarkedSpanFor(line.markedSpans, this); if (span.from != null) { from = Pos(lineObj ? line : lineNo(line), span.from); if (side == -1) { return from } } if (span.to != null) { to = Pos(lineObj ? line : lineNo(line), span.to); if (side == 1) { return to } } } return from && {from: from, to: to} }; // Signals that the marker's widget changed, and surrounding layout // should be recomputed. TextMarker.prototype.changed = function () { var this$1 = this; var pos = this.find(-1, true), widget = this, cm = this.doc.cm; if (!pos || !cm) { return } runInOp(cm, function () { var line = pos.line, lineN = lineNo(pos.line); var view = findViewForLine(cm, lineN); if (view) { clearLineMeasurementCacheFor(view); cm.curOp.selectionChanged = cm.curOp.forceUpdate = true; } cm.curOp.updateMaxLine = true; if (!lineIsHidden(widget.doc, line) && widget.height != null) { var oldHeight = widget.height; widget.height = null; var dHeight = widgetHeight(widget) - oldHeight; if (dHeight) { updateLineHeight(line, line.height + dHeight); } } signalLater(cm, "markerChanged", cm, this$1); }); }; TextMarker.prototype.attachLine = function (line) { if (!this.lines.length && this.doc.cm) { var op = this.doc.cm.curOp; if (!op.maybeHiddenMarkers || indexOf(op.maybeHiddenMarkers, this) == -1) { (op.maybeUnhiddenMarkers || (op.maybeUnhiddenMarkers = [])).push(this); } } this.lines.push(line); }; TextMarker.prototype.detachLine = function (line) { this.lines.splice(indexOf(this.lines, line), 1); if (!this.lines.length && this.doc.cm) { var op = this.doc.cm.curOp ;(op.maybeHiddenMarkers || (op.maybeHiddenMarkers = [])).push(this); } }; eventMixin(TextMarker); // Create a marker, wire it up to the right lines, and function markText(doc, from, to, options, type) { // Shared markers (across linked documents) are handled separately // (markTextShared will call out to this again, once per // document). if (options && options.shared) { return markTextShared(doc, from, to, options, type) } // Ensure we are in an operation. if (doc.cm && !doc.cm.curOp) { return operation(doc.cm, markText)(doc, from, to, options, type) } var marker = new TextMarker(doc, type), diff = cmp(from, to); if (options) { copyObj(options, marker, false); } // Don't connect empty markers unless clearWhenEmpty is false if (diff > 0 || diff == 0 && marker.clearWhenEmpty !== false) { return marker } if (marker.replacedWith) { // Showing up as a widget implies collapsed (widget replaces text) marker.collapsed = true; marker.widgetNode = eltP("span", [marker.replacedWith], "CodeMirror-widget"); if (!options.handleMouseEvents) { marker.widgetNode.setAttribute("cm-ignore-events", "true"); } if (options.insertLeft) { marker.widgetNode.insertLeft = true; } } if (marker.collapsed) { if (conflictingCollapsedRange(doc, from.line, from, to, marker) || from.line != to.line && conflictingCollapsedRange(doc, to.line, from, to, marker)) { throw new Error("Inserting collapsed marker partially overlapping an existing one") } seeCollapsedSpans(); } if (marker.addToHistory) { addChangeToHistory(doc, {from: from, to: to, origin: "markText"}, doc.sel, NaN); } var curLine = from.line, cm = doc.cm, updateMaxLine; doc.iter(curLine, to.line + 1, function (line) { if (cm && marker.collapsed && !cm.options.lineWrapping && visualLine(line) == cm.display.maxLine) { updateMaxLine = true; } if (marker.collapsed && curLine != from.line) { updateLineHeight(line, 0); } addMarkedSpan(line, new MarkedSpan(marker, curLine == from.line ? from.ch : null, curLine == to.line ? to.ch : null), doc.cm && doc.cm.curOp); ++curLine; }); // lineIsHidden depends on the presence of the spans, so needs a second pass if (marker.collapsed) { doc.iter(from.line, to.line + 1, function (line) { if (lineIsHidden(doc, line)) { updateLineHeight(line, 0); } }); } if (marker.clearOnEnter) { on(marker, "beforeCursorEnter", function () { return marker.clear(); }); } if (marker.readOnly) { seeReadOnlySpans(); if (doc.history.done.length || doc.history.undone.length) { doc.clearHistory(); } } if (marker.collapsed) { marker.id = ++nextMarkerId; marker.atomic = true; } if (cm) { // Sync editor state if (updateMaxLine) { cm.curOp.updateMaxLine = true; } if (marker.collapsed) { regChange(cm, from.line, to.line + 1); } else if (marker.className || marker.startStyle || marker.endStyle || marker.css || marker.attributes || marker.title) { for (var i = from.line; i <= to.line; i++) { regLineChange(cm, i, "text"); } } if (marker.atomic) { reCheckSelection(cm.doc); } signalLater(cm, "markerAdded", cm, marker); } return marker } // SHARED TEXTMARKERS // A shared marker spans multiple linked documents. It is // implemented as a meta-marker-object controlling multiple normal // markers. var SharedTextMarker = function(markers, primary) { this.markers = markers; this.primary = primary; for (var i = 0; i < markers.length; ++i) { markers[i].parent = this; } }; SharedTextMarker.prototype.clear = function () { if (this.explicitlyCleared) { return } this.explicitlyCleared = true; for (var i = 0; i < this.markers.length; ++i) { this.markers[i].clear(); } signalLater(this, "clear"); }; SharedTextMarker.prototype.find = function (side, lineObj) { return this.primary.find(side, lineObj) }; eventMixin(SharedTextMarker); function markTextShared(doc, from, to, options, type) { options = copyObj(options); options.shared = false; var markers = [markText(doc, from, to, options, type)], primary = markers[0]; var widget = options.widgetNode; linkedDocs(doc, function (doc) { if (widget) { options.widgetNode = widget.cloneNode(true); } markers.push(markText(doc, clipPos(doc, from), clipPos(doc, to), options, type)); for (var i = 0; i < doc.linked.length; ++i) { if (doc.linked[i].isParent) { return } } primary = lst(markers); }); return new SharedTextMarker(markers, primary) } function findSharedMarkers(doc) { return doc.findMarks(Pos(doc.first, 0), doc.clipPos(Pos(doc.lastLine())), function (m) { return m.parent; }) } function copySharedMarkers(doc, markers) { for (var i = 0; i < markers.length; i++) { var marker = markers[i], pos = marker.find(); var mFrom = doc.clipPos(pos.from), mTo = doc.clipPos(pos.to); if (cmp(mFrom, mTo)) { var subMark = markText(doc, mFrom, mTo, marker.primary, marker.primary.type); marker.markers.push(subMark); subMark.parent = marker; } } } function detachSharedMarkers(markers) { var loop = function ( i ) { var marker = markers[i], linked = [marker.primary.doc]; linkedDocs(marker.primary.doc, function (d) { return linked.push(d); }); for (var j = 0; j < marker.markers.length; j++) { var subMarker = marker.markers[j]; if (indexOf(linked, subMarker.doc) == -1) { subMarker.parent = null; marker.markers.splice(j--, 1); } } }; for (var i = 0; i < markers.length; i++) loop( i ); } var nextDocId = 0; var Doc = function(text, mode, firstLine, lineSep, direction) { if (!(this instanceof Doc)) { return new Doc(text, mode, firstLine, lineSep, direction) } if (firstLine == null) { firstLine = 0; } BranchChunk.call(this, [new LeafChunk([new Line("", null)])]); this.first = firstLine; this.scrollTop = this.scrollLeft = 0; this.cantEdit = false; this.cleanGeneration = 1; this.modeFrontier = this.highlightFrontier = firstLine; var start = Pos(firstLine, 0); this.sel = simpleSelection(start); this.history = new History(null); this.id = ++nextDocId; this.modeOption = mode; this.lineSep = lineSep; this.direction = (direction == "rtl") ? "rtl" : "ltr"; this.extend = false; if (typeof text == "string") { text = this.splitLines(text); } updateDoc(this, {from: start, to: start, text: text}); setSelection(this, simpleSelection(start), sel_dontScroll); }; Doc.prototype = createObj(BranchChunk.prototype, { constructor: Doc, // Iterate over the document. Supports two forms -- with only one // argument, it calls that for each line in the document. With // three, it iterates over the range given by the first two (with // the second being non-inclusive). iter: function(from, to, op) { if (op) { this.iterN(from - this.first, to - from, op); } else { this.iterN(this.first, this.first + this.size, from); } }, // Non-public interface for adding and removing lines. insert: function(at, lines) { var height = 0; for (var i = 0; i < lines.length; ++i) { height += lines[i].height; } this.insertInner(at - this.first, lines, height); }, remove: function(at, n) { this.removeInner(at - this.first, n); }, // From here, the methods are part of the public interface. Most // are also available from CodeMirror (editor) instances. getValue: function(lineSep) { var lines = getLines(this, this.first, this.first + this.size); if (lineSep === false) { return lines } return lines.join(lineSep || this.lineSeparator()) }, setValue: docMethodOp(function(code) { var top = Pos(this.first, 0), last = this.first + this.size - 1; makeChange(this, {from: top, to: Pos(last, getLine(this, last).text.length), text: this.splitLines(code), origin: "setValue", full: true}, true); if (this.cm) { scrollToCoords(this.cm, 0, 0); } setSelection(this, simpleSelection(top), sel_dontScroll); }), replaceRange: function(code, from, to, origin) { from = clipPos(this, from); to = to ? clipPos(this, to) : from; replaceRange(this, code, from, to, origin); }, getRange: function(from, to, lineSep) { var lines = getBetween(this, clipPos(this, from), clipPos(this, to)); if (lineSep === false) { return lines } if (lineSep === '') { return lines.join('') } return lines.join(lineSep || this.lineSeparator()) }, getLine: function(line) {var l = this.getLineHandle(line); return l && l.text}, getLineHandle: function(line) {if (isLine(this, line)) { return getLine(this, line) }}, getLineNumber: function(line) {return lineNo(line)}, getLineHandleVisualStart: function(line) { if (typeof line == "number") { line = getLine(this, line); } return visualLine(line) }, lineCount: function() {return this.size}, firstLine: function() {return this.first}, lastLine: function() {return this.first + this.size - 1}, clipPos: function(pos) {return clipPos(this, pos)}, getCursor: function(start) { var range = this.sel.primary(), pos; if (start == null || start == "head") { pos = range.head; } else if (start == "anchor") { pos = range.anchor; } else if (start == "end" || start == "to" || start === false) { pos = range.to(); } else { pos = range.from(); } return pos }, listSelections: function() { return this.sel.ranges }, somethingSelected: function() {return this.sel.somethingSelected()}, setCursor: docMethodOp(function(line, ch, options) { setSimpleSelection(this, clipPos(this, typeof line == "number" ? Pos(line, ch || 0) : line), null, options); }), setSelection: docMethodOp(function(anchor, head, options) { setSimpleSelection(this, clipPos(this, anchor), clipPos(this, head || anchor), options); }), extendSelection: docMethodOp(function(head, other, options) { extendSelection(this, clipPos(this, head), other && clipPos(this, other), options); }), extendSelections: docMethodOp(function(heads, options) { extendSelections(this, clipPosArray(this, heads), options); }), extendSelectionsBy: docMethodOp(function(f, options) { var heads = map(this.sel.ranges, f); extendSelections(this, clipPosArray(this, heads), options); }), setSelections: docMethodOp(function(ranges, primary, options) { if (!ranges.length) { return } var out = []; for (var i = 0; i < ranges.length; i++) { out[i] = new Range(clipPos(this, ranges[i].anchor), clipPos(this, ranges[i].head || ranges[i].anchor)); } if (primary == null) { primary = Math.min(ranges.length - 1, this.sel.primIndex); } setSelection(this, normalizeSelection(this.cm, out, primary), options); }), addSelection: docMethodOp(function(anchor, head, options) { var ranges = this.sel.ranges.slice(0); ranges.push(new Range(clipPos(this, anchor), clipPos(this, head || anchor))); setSelection(this, normalizeSelection(this.cm, ranges, ranges.length - 1), options); }), getSelection: function(lineSep) { var ranges = this.sel.ranges, lines; for (var i = 0; i < ranges.length; i++) { var sel = getBetween(this, ranges[i].from(), ranges[i].to()); lines = lines ? lines.concat(sel) : sel; } if (lineSep === false) { return lines } else { return lines.join(lineSep || this.lineSeparator()) } }, getSelections: function(lineSep) { var parts = [], ranges = this.sel.ranges; for (var i = 0; i < ranges.length; i++) { var sel = getBetween(this, ranges[i].from(), ranges[i].to()); if (lineSep !== false) { sel = sel.join(lineSep || this.lineSeparator()); } parts[i] = sel; } return parts }, replaceSelection: function(code, collapse, origin) { var dup = []; for (var i = 0; i < this.sel.ranges.length; i++) { dup[i] = code; } this.replaceSelections(dup, collapse, origin || "+input"); }, replaceSelections: docMethodOp(function(code, collapse, origin) { var changes = [], sel = this.sel; for (var i = 0; i < sel.ranges.length; i++) { var range = sel.ranges[i]; changes[i] = {from: range.from(), to: range.to(), text: this.splitLines(code[i]), origin: origin}; } var newSel = collapse && collapse != "end" && computeReplacedSel(this, changes, collapse); for (var i$1 = changes.length - 1; i$1 >= 0; i$1--) { makeChange(this, changes[i$1]); } if (newSel) { setSelectionReplaceHistory(this, newSel); } else if (this.cm) { ensureCursorVisible(this.cm); } }), undo: docMethodOp(function() {makeChangeFromHistory(this, "undo");}), redo: docMethodOp(function() {makeChangeFromHistory(this, "redo");}), undoSelection: docMethodOp(function() {makeChangeFromHistory(this, "undo", true);}), redoSelection: docMethodOp(function() {makeChangeFromHistory(this, "redo", true);}), setExtending: function(val) {this.extend = val;}, getExtending: function() {return this.extend}, historySize: function() { var hist = this.history, done = 0, undone = 0; for (var i = 0; i < hist.done.length; i++) { if (!hist.done[i].ranges) { ++done; } } for (var i$1 = 0; i$1 < hist.undone.length; i$1++) { if (!hist.undone[i$1].ranges) { ++undone; } } return {undo: done, redo: undone} }, clearHistory: function() { var this$1 = this; this.history = new History(this.history); linkedDocs(this, function (doc) { return doc.history = this$1.history; }, true); }, markClean: function() { this.cleanGeneration = this.changeGeneration(true); }, changeGeneration: function(forceSplit) { if (forceSplit) { this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null; } return this.history.generation }, isClean: function (gen) { return this.history.generation == (gen || this.cleanGeneration) }, getHistory: function() { return {done: copyHistoryArray(this.history.done), undone: copyHistoryArray(this.history.undone)} }, setHistory: function(histData) { var hist = this.history = new History(this.history); hist.done = copyHistoryArray(histData.done.slice(0), null, true); hist.undone = copyHistoryArray(histData.undone.slice(0), null, true); }, setGutterMarker: docMethodOp(function(line, gutterID, value) { return changeLine(this, line, "gutter", function (line) { var markers = line.gutterMarkers || (line.gutterMarkers = {}); markers[gutterID] = value; if (!value && isEmpty(markers)) { line.gutterMarkers = null; } return true }) }), clearGutter: docMethodOp(function(gutterID) { var this$1 = this; this.iter(function (line) { if (line.gutterMarkers && line.gutterMarkers[gutterID]) { changeLine(this$1, line, "gutter", function () { line.gutterMarkers[gutterID] = null; if (isEmpty(line.gutterMarkers)) { line.gutterMarkers = null; } return true }); } }); }), lineInfo: function(line) { var n; if (typeof line == "number") { if (!isLine(this, line)) { return null } n = line; line = getLine(this, line); if (!line) { return null } } else { n = lineNo(line); if (n == null) { return null } } return {line: n, handle: line, text: line.text, gutterMarkers: line.gutterMarkers, textClass: line.textClass, bgClass: line.bgClass, wrapClass: line.wrapClass, widgets: line.widgets} }, addLineClass: docMethodOp(function(handle, where, cls) { return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function (line) { var prop = where == "text" ? "textClass" : where == "background" ? "bgClass" : where == "gutter" ? "gutterClass" : "wrapClass"; if (!line[prop]) { line[prop] = cls; } else if (classTest(cls).test(line[prop])) { return false } else { line[prop] += " " + cls; } return true }) }), removeLineClass: docMethodOp(function(handle, where, cls) { return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function (line) { var prop = where == "text" ? "textClass" : where == "background" ? "bgClass" : where == "gutter" ? "gutterClass" : "wrapClass"; var cur = line[prop]; if (!cur) { return false } else if (cls == null) { line[prop] = null; } else { var found = cur.match(classTest(cls)); if (!found) { return false } var end = found.index + found[0].length; line[prop] = cur.slice(0, found.index) + (!found.index || end == cur.length ? "" : " ") + cur.slice(end) || null; } return true }) }), addLineWidget: docMethodOp(function(handle, node, options) { return addLineWidget(this, handle, node, options) }), removeLineWidget: function(widget) { widget.clear(); }, markText: function(from, to, options) { return markText(this, clipPos(this, from), clipPos(this, to), options, options && options.type || "range") }, setBookmark: function(pos, options) { var realOpts = {replacedWith: options && (options.nodeType == null ? options.widget : options), insertLeft: options && options.insertLeft, clearWhenEmpty: false, shared: options && options.shared, handleMouseEvents: options && options.handleMouseEvents}; pos = clipPos(this, pos); return markText(this, pos, pos, realOpts, "bookmark") }, findMarksAt: function(pos) { pos = clipPos(this, pos); var markers = [], spans = getLine(this, pos.line).markedSpans; if (spans) { for (var i = 0; i < spans.length; ++i) { var span = spans[i]; if ((span.from == null || span.from <= pos.ch) && (span.to == null || span.to >= pos.ch)) { markers.push(span.marker.parent || span.marker); } } } return markers }, findMarks: function(from, to, filter) { from = clipPos(this, from); to = clipPos(this, to); var found = [], lineNo = from.line; this.iter(from.line, to.line + 1, function (line) { var spans = line.markedSpans; if (spans) { for (var i = 0; i < spans.length; i++) { var span = spans[i]; if (!(span.to != null && lineNo == from.line && from.ch >= span.to || span.from == null && lineNo != from.line || span.from != null && lineNo == to.line && span.from >= to.ch) && (!filter || filter(span.marker))) { found.push(span.marker.parent || span.marker); } } } ++lineNo; }); return found }, getAllMarks: function() { var markers = []; this.iter(function (line) { var sps = line.markedSpans; if (sps) { for (var i = 0; i < sps.length; ++i) { if (sps[i].from != null) { markers.push(sps[i].marker); } } } }); return markers }, posFromIndex: function(off) { var ch, lineNo = this.first, sepSize = this.lineSeparator().length; this.iter(function (line) { var sz = line.text.length + sepSize; if (sz > off) { ch = off; return true } off -= sz; ++lineNo; }); return clipPos(this, Pos(lineNo, ch)) }, indexFromPos: function (coords) { coords = clipPos(this, coords); var index = coords.ch; if (coords.line < this.first || coords.ch < 0) { return 0 } var sepSize = this.lineSeparator().length; this.iter(this.first, coords.line, function (line) { // iter aborts when callback returns a truthy value index += line.text.length + sepSize; }); return index }, copy: function(copyHistory) { var doc = new Doc(getLines(this, this.first, this.first + this.size), this.modeOption, this.first, this.lineSep, this.direction); doc.scrollTop = this.scrollTop; doc.scrollLeft = this.scrollLeft; doc.sel = this.sel; doc.extend = false; if (copyHistory) { doc.history.undoDepth = this.history.undoDepth; doc.setHistory(this.getHistory()); } return doc }, linkedDoc: function(options) { if (!options) { options = {}; } var from = this.first, to = this.first + this.size; if (options.from != null && options.from > from) { from = options.from; } if (options.to != null && options.to < to) { to = options.to; } var copy = new Doc(getLines(this, from, to), options.mode || this.modeOption, from, this.lineSep, this.direction); if (options.sharedHist) { copy.history = this.history ; }(this.linked || (this.linked = [])).push({doc: copy, sharedHist: options.sharedHist}); copy.linked = [{doc: this, isParent: true, sharedHist: options.sharedHist}]; copySharedMarkers(copy, findSharedMarkers(this)); return copy }, unlinkDoc: function(other) { if (other instanceof CodeMirror) { other = other.doc; } if (this.linked) { for (var i = 0; i < this.linked.length; ++i) { var link = this.linked[i]; if (link.doc != other) { continue } this.linked.splice(i, 1); other.unlinkDoc(this); detachSharedMarkers(findSharedMarkers(this)); break } } // If the histories were shared, split them again if (other.history == this.history) { var splitIds = [other.id]; linkedDocs(other, function (doc) { return splitIds.push(doc.id); }, true); other.history = new History(null); other.history.done = copyHistoryArray(this.history.done, splitIds); other.history.undone = copyHistoryArray(this.history.undone, splitIds); } }, iterLinkedDocs: function(f) {linkedDocs(this, f);}, getMode: function() {return this.mode}, getEditor: function() {return this.cm}, splitLines: function(str) { if (this.lineSep) { return str.split(this.lineSep) } return splitLinesAuto(str) }, lineSeparator: function() { return this.lineSep || "\n" }, setDirection: docMethodOp(function (dir) { if (dir != "rtl") { dir = "ltr"; } if (dir == this.direction) { return } this.direction = dir; this.iter(function (line) { return line.order = null; }); if (this.cm) { directionChanged(this.cm); } }) }); // Public alias. Doc.prototype.eachLine = Doc.prototype.iter; // Kludge to work around strange IE behavior where it'll sometimes // re-fire a series of drag-related events right after the drop (#1551) var lastDrop = 0; function onDrop(e) { var cm = this; clearDragCursor(cm); if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) { return } e_preventDefault(e); if (ie) { lastDrop = +new Date; } var pos = posFromMouse(cm, e, true), files = e.dataTransfer.files; if (!pos || cm.isReadOnly()) { return } // Might be a file drop, in which case we simply extract the text // and insert it. if (files && files.length && window.FileReader && window.File) { var n = files.length, text = Array(n), read = 0; var markAsReadAndPasteIfAllFilesAreRead = function () { if (++read == n) { operation(cm, function () { pos = clipPos(cm.doc, pos); var change = {from: pos, to: pos, text: cm.doc.splitLines( text.filter(function (t) { return t != null; }).join(cm.doc.lineSeparator())), origin: "paste"}; makeChange(cm.doc, change); setSelectionReplaceHistory(cm.doc, simpleSelection(clipPos(cm.doc, pos), clipPos(cm.doc, changeEnd(change)))); })(); } }; var readTextFromFile = function (file, i) { if (cm.options.allowDropFileTypes && indexOf(cm.options.allowDropFileTypes, file.type) == -1) { markAsReadAndPasteIfAllFilesAreRead(); return } var reader = new FileReader; reader.onerror = function () { return markAsReadAndPasteIfAllFilesAreRead(); }; reader.onload = function () { var content = reader.result; if (/[\x00-\x08\x0e-\x1f]{2}/.test(content)) { markAsReadAndPasteIfAllFilesAreRead(); return } text[i] = content; markAsReadAndPasteIfAllFilesAreRead(); }; reader.readAsText(file); }; for (var i = 0; i < files.length; i++) { readTextFromFile(files[i], i); } } else { // Normal drop // Don't do a replace if the drop happened inside of the selected text. if (cm.state.draggingText && cm.doc.sel.contains(pos) > -1) { cm.state.draggingText(e); // Ensure the editor is re-focused setTimeout(function () { return cm.display.input.focus(); }, 20); return } try { var text$1 = e.dataTransfer.getData("Text"); if (text$1) { var selected; if (cm.state.draggingText && !cm.state.draggingText.copy) { selected = cm.listSelections(); } setSelectionNoUndo(cm.doc, simpleSelection(pos, pos)); if (selected) { for (var i$1 = 0; i$1 < selected.length; ++i$1) { replaceRange(cm.doc, "", selected[i$1].anchor, selected[i$1].head, "drag"); } } cm.replaceSelection(text$1, "around", "paste"); cm.display.input.focus(); } } catch(e$1){} } } function onDragStart(cm, e) { if (ie && (!cm.state.draggingText || +new Date - lastDrop < 100)) { e_stop(e); return } if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) { return } e.dataTransfer.setData("Text", cm.getSelection()); e.dataTransfer.effectAllowed = "copyMove"; // Use dummy image instead of default browsers image. // Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there. if (e.dataTransfer.setDragImage && !safari) { var img = elt("img", null, null, "position: fixed; left: 0; top: 0;"); img.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; if (presto) { img.width = img.height = 1; cm.display.wrapper.appendChild(img); // Force a relayout, or Opera won't use our image for some obscure reason img._top = img.offsetTop; } e.dataTransfer.setDragImage(img, 0, 0); if (presto) { img.parentNode.removeChild(img); } } } function onDragOver(cm, e) { var pos = posFromMouse(cm, e); if (!pos) { return } var frag = document.createDocumentFragment(); drawSelectionCursor(cm, pos, frag); if (!cm.display.dragCursor) { cm.display.dragCursor = elt("div", null, "CodeMirror-cursors CodeMirror-dragcursors"); cm.display.lineSpace.insertBefore(cm.display.dragCursor, cm.display.cursorDiv); } removeChildrenAndAdd(cm.display.dragCursor, frag); } function clearDragCursor(cm) { if (cm.display.dragCursor) { cm.display.lineSpace.removeChild(cm.display.dragCursor); cm.display.dragCursor = null; } } // These must be handled carefully, because naively registering a // handler for each editor will cause the editors to never be // garbage collected. function forEachCodeMirror(f) { if (!document.getElementsByClassName) { return } var byClass = document.getElementsByClassName("CodeMirror"), editors = []; for (var i = 0; i < byClass.length; i++) { var cm = byClass[i].CodeMirror; if (cm) { editors.push(cm); } } if (editors.length) { editors[0].operation(function () { for (var i = 0; i < editors.length; i++) { f(editors[i]); } }); } } var globalsRegistered = false; function ensureGlobalHandlers() { if (globalsRegistered) { return } registerGlobalHandlers(); globalsRegistered = true; } function registerGlobalHandlers() { // When the window resizes, we need to refresh active editors. var resizeTimer; on(window, "resize", function () { if (resizeTimer == null) { resizeTimer = setTimeout(function () { resizeTimer = null; forEachCodeMirror(onResize); }, 100); } }); // When the window loses focus, we want to show the editor as blurred on(window, "blur", function () { return forEachCodeMirror(onBlur); }); } // Called when the window resizes function onResize(cm) { var d = cm.display; // Might be a text scaling operation, clear size caches. d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null; d.scrollbarsClipped = false; cm.setSize(); } var keyNames = { 3: "Pause", 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Ctrl", 18: "Alt", 19: "Pause", 20: "CapsLock", 27: "Esc", 32: "Space", 33: "PageUp", 34: "PageDown", 35: "End", 36: "Home", 37: "Left", 38: "Up", 39: "Right", 40: "Down", 44: "PrintScrn", 45: "Insert", 46: "Delete", 59: ";", 61: "=", 91: "Mod", 92: "Mod", 93: "Mod", 106: "*", 107: "=", 109: "-", 110: ".", 111: "/", 145: "ScrollLock", 173: "-", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", 221: "]", 222: "'", 224: "Mod", 63232: "Up", 63233: "Down", 63234: "Left", 63235: "Right", 63272: "Delete", 63273: "Home", 63275: "End", 63276: "PageUp", 63277: "PageDown", 63302: "Insert" }; // Number keys for (var i = 0; i < 10; i++) { keyNames[i + 48] = keyNames[i + 96] = String(i); } // Alphabetic keys for (var i$1 = 65; i$1 <= 90; i$1++) { keyNames[i$1] = String.fromCharCode(i$1); } // Function keys for (var i$2 = 1; i$2 <= 12; i$2++) { keyNames[i$2 + 111] = keyNames[i$2 + 63235] = "F" + i$2; } var keyMap = {}; keyMap.basic = { "Left": "goCharLeft", "Right": "goCharRight", "Up": "goLineUp", "Down": "goLineDown", "End": "goLineEnd", "Home": "goLineStartSmart", "PageUp": "goPageUp", "PageDown": "goPageDown", "Delete": "delCharAfter", "Backspace": "delCharBefore", "Shift-Backspace": "delCharBefore", "Tab": "defaultTab", "Shift-Tab": "indentAuto", "Enter": "newlineAndIndent", "Insert": "toggleOverwrite", "Esc": "singleSelection" }; // Note that the save and find-related commands aren't defined by // default. User code or addons can define them. Unknown commands // are simply ignored. keyMap.pcDefault = { "Ctrl-A": "selectAll", "Ctrl-D": "deleteLine", "Ctrl-Z": "undo", "Shift-Ctrl-Z": "redo", "Ctrl-Y": "redo", "Ctrl-Home": "goDocStart", "Ctrl-End": "goDocEnd", "Ctrl-Up": "goLineUp", "Ctrl-Down": "goLineDown", "Ctrl-Left": "goGroupLeft", "Ctrl-Right": "goGroupRight", "Alt-Left": "goLineStart", "Alt-Right": "goLineEnd", "Ctrl-Backspace": "delGroupBefore", "Ctrl-Delete": "delGroupAfter", "Ctrl-S": "save", "Ctrl-F": "find", "Ctrl-G": "findNext", "Shift-Ctrl-G": "findPrev", "Shift-Ctrl-F": "replace", "Shift-Ctrl-R": "replaceAll", "Ctrl-[": "indentLess", "Ctrl-]": "indentMore", "Ctrl-U": "undoSelection", "Shift-Ctrl-U": "redoSelection", "Alt-U": "redoSelection", "fallthrough": "basic" }; // Very basic readline/emacs-style bindings, which are standard on Mac. keyMap.emacsy = { "Ctrl-F": "goCharRight", "Ctrl-B": "goCharLeft", "Ctrl-P": "goLineUp", "Ctrl-N": "goLineDown", "Ctrl-A": "goLineStart", "Ctrl-E": "goLineEnd", "Ctrl-V": "goPageDown", "Shift-Ctrl-V": "goPageUp", "Ctrl-D": "delCharAfter", "Ctrl-H": "delCharBefore", "Alt-Backspace": "delWordBefore", "Ctrl-K": "killLine", "Ctrl-T": "transposeChars", "Ctrl-O": "openLine" }; keyMap.macDefault = { "Cmd-A": "selectAll", "Cmd-D": "deleteLine", "Cmd-Z": "undo", "Shift-Cmd-Z": "redo", "Cmd-Y": "redo", "Cmd-Home": "goDocStart", "Cmd-Up": "goDocStart", "Cmd-End": "goDocEnd", "Cmd-Down": "goDocEnd", "Alt-Left": "goGroupLeft", "Alt-Right": "goGroupRight", "Cmd-Left": "goLineLeft", "Cmd-Right": "goLineRight", "Alt-Backspace": "delGroupBefore", "Ctrl-Alt-Backspace": "delGroupAfter", "Alt-Delete": "delGroupAfter", "Cmd-S": "save", "Cmd-F": "find", "Cmd-G": "findNext", "Shift-Cmd-G": "findPrev", "Cmd-Alt-F": "replace", "Shift-Cmd-Alt-F": "replaceAll", "Cmd-[": "indentLess", "Cmd-]": "indentMore", "Cmd-Backspace": "delWrappedLineLeft", "Cmd-Delete": "delWrappedLineRight", "Cmd-U": "undoSelection", "Shift-Cmd-U": "redoSelection", "Ctrl-Up": "goDocStart", "Ctrl-Down": "goDocEnd", "fallthrough": ["basic", "emacsy"] }; keyMap["default"] = mac ? keyMap.macDefault : keyMap.pcDefault; // KEYMAP DISPATCH function normalizeKeyName(name) { var parts = name.split(/-(?!$)/); name = parts[parts.length - 1]; var alt, ctrl, shift, cmd; for (var i = 0; i < parts.length - 1; i++) { var mod = parts[i]; if (/^(cmd|meta|m)$/i.test(mod)) { cmd = true; } else if (/^a(lt)?$/i.test(mod)) { alt = true; } else if (/^(c|ctrl|control)$/i.test(mod)) { ctrl = true; } else if (/^s(hift)?$/i.test(mod)) { shift = true; } else { throw new Error("Unrecognized modifier name: " + mod) } } if (alt) { name = "Alt-" + name; } if (ctrl) { name = "Ctrl-" + name; } if (cmd) { name = "Cmd-" + name; } if (shift) { name = "Shift-" + name; } return name } // This is a kludge to keep keymaps mostly working as raw objects // (backwards compatibility) while at the same time support features // like normalization and multi-stroke key bindings. It compiles a // new normalized keymap, and then updates the old object to reflect // this. function normalizeKeyMap(keymap) { var copy = {}; for (var keyname in keymap) { if (keymap.hasOwnProperty(keyname)) { var value = keymap[keyname]; if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) { continue } if (value == "...") { delete keymap[keyname]; continue } var keys = map(keyname.split(" "), normalizeKeyName); for (var i = 0; i < keys.length; i++) { var val = (void 0), name = (void 0); if (i == keys.length - 1) { name = keys.join(" "); val = value; } else { name = keys.slice(0, i + 1).join(" "); val = "..."; } var prev = copy[name]; if (!prev) { copy[name] = val; } else if (prev != val) { throw new Error("Inconsistent bindings for " + name) } } delete keymap[keyname]; } } for (var prop in copy) { keymap[prop] = copy[prop]; } return keymap } function lookupKey(key, map, handle, context) { map = getKeyMap(map); var found = map.call ? map.call(key, context) : map[key]; if (found === false) { return "nothing" } if (found === "...") { return "multi" } if (found != null && handle(found)) { return "handled" } if (map.fallthrough) { if (Object.prototype.toString.call(map.fallthrough) != "[object Array]") { return lookupKey(key, map.fallthrough, handle, context) } for (var i = 0; i < map.fallthrough.length; i++) { var result = lookupKey(key, map.fallthrough[i], handle, context); if (result) { return result } } } } // Modifier key presses don't count as 'real' key presses for the // purpose of keymap fallthrough. function isModifierKey(value) { var name = typeof value == "string" ? value : keyNames[value.keyCode]; return name == "Ctrl" || name == "Alt" || name == "Shift" || name == "Mod" } function addModifierNames(name, event, noShift) { var base = name; if (event.altKey && base != "Alt") { name = "Alt-" + name; } if ((flipCtrlCmd ? event.metaKey : event.ctrlKey) && base != "Ctrl") { name = "Ctrl-" + name; } if ((flipCtrlCmd ? event.ctrlKey : event.metaKey) && base != "Mod") { name = "Cmd-" + name; } if (!noShift && event.shiftKey && base != "Shift") { name = "Shift-" + name; } return name } // Look up the name of a key as indicated by an event object. function keyName(event, noShift) { if (presto && event.keyCode == 34 && event["char"]) { return false } var name = keyNames[event.keyCode]; if (name == null || event.altGraphKey) { return false } // Ctrl-ScrollLock has keyCode 3, same as Ctrl-Pause, // so we'll use event.code when available (Chrome 48+, FF 38+, Safari 10.1+) if (event.keyCode == 3 && event.code) { name = event.code; } return addModifierNames(name, event, noShift) } function getKeyMap(val) { return typeof val == "string" ? keyMap[val] : val } // Helper for deleting text near the selection(s), used to implement // backspace, delete, and similar functionality. function deleteNearSelection(cm, compute) { var ranges = cm.doc.sel.ranges, kill = []; // Build up a set of ranges to kill first, merging overlapping // ranges. for (var i = 0; i < ranges.length; i++) { var toKill = compute(ranges[i]); while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) { var replaced = kill.pop(); if (cmp(replaced.from, toKill.from) < 0) { toKill.from = replaced.from; break } } kill.push(toKill); } // Next, remove those actual ranges. runInOp(cm, function () { for (var i = kill.length - 1; i >= 0; i--) { replaceRange(cm.doc, "", kill[i].from, kill[i].to, "+delete"); } ensureCursorVisible(cm); }); } function moveCharLogically(line, ch, dir) { var target = skipExtendingChars(line.text, ch + dir, dir); return target < 0 || target > line.text.length ? null : target } function moveLogically(line, start, dir) { var ch = moveCharLogically(line, start.ch, dir); return ch == null ? null : new Pos(start.line, ch, dir < 0 ? "after" : "before") } function endOfLine(visually, cm, lineObj, lineNo, dir) { if (visually) { if (cm.doc.direction == "rtl") { dir = -dir; } var order = getOrder(lineObj, cm.doc.direction); if (order) { var part = dir < 0 ? lst(order) : order[0]; var moveInStorageOrder = (dir < 0) == (part.level == 1); var sticky = moveInStorageOrder ? "after" : "before"; var ch; // With a wrapped rtl chunk (possibly spanning multiple bidi parts), // it could be that the last bidi part is not on the last visual line, // since visual lines contain content order-consecutive chunks. // Thus, in rtl, we are looking for the first (content-order) character // in the rtl chunk that is on the last line (that is, the same line // as the last (content-order) character). if (part.level > 0 || cm.doc.direction == "rtl") { var prep = prepareMeasureForLine(cm, lineObj); ch = dir < 0 ? lineObj.text.length - 1 : 0; var targetTop = measureCharPrepared(cm, prep, ch).top; ch = findFirst(function (ch) { return measureCharPrepared(cm, prep, ch).top == targetTop; }, (dir < 0) == (part.level == 1) ? part.from : part.to - 1, ch); if (sticky == "before") { ch = moveCharLogically(lineObj, ch, 1); } } else { ch = dir < 0 ? part.to : part.from; } return new Pos(lineNo, ch, sticky) } } return new Pos(lineNo, dir < 0 ? lineObj.text.length : 0, dir < 0 ? "before" : "after") } function moveVisually(cm, line, start, dir) { var bidi = getOrder(line, cm.doc.direction); if (!bidi) { return moveLogically(line, start, dir) } if (start.ch >= line.text.length) { start.ch = line.text.length; start.sticky = "before"; } else if (start.ch <= 0) { start.ch = 0; start.sticky = "after"; } var partPos = getBidiPartAt(bidi, start.ch, start.sticky), part = bidi[partPos]; if (cm.doc.direction == "ltr" && part.level % 2 == 0 && (dir > 0 ? part.to > start.ch : part.from < start.ch)) { // Case 1: We move within an ltr part in an ltr editor. Even with wrapped lines, // nothing interesting happens. return moveLogically(line, start, dir) } var mv = function (pos, dir) { return moveCharLogically(line, pos instanceof Pos ? pos.ch : pos, dir); }; var prep; var getWrappedLineExtent = function (ch) { if (!cm.options.lineWrapping) { return {begin: 0, end: line.text.length} } prep = prep || prepareMeasureForLine(cm, line); return wrappedLineExtentChar(cm, line, prep, ch) }; var wrappedLineExtent = getWrappedLineExtent(start.sticky == "before" ? mv(start, -1) : start.ch); if (cm.doc.direction == "rtl" || part.level == 1) { var moveInStorageOrder = (part.level == 1) == (dir < 0); var ch = mv(start, moveInStorageOrder ? 1 : -1); if (ch != null && (!moveInStorageOrder ? ch >= part.from && ch >= wrappedLineExtent.begin : ch <= part.to && ch <= wrappedLineExtent.end)) { // Case 2: We move within an rtl part or in an rtl editor on the same visual line var sticky = moveInStorageOrder ? "before" : "after"; return new Pos(start.line, ch, sticky) } } // Case 3: Could not move within this bidi part in this visual line, so leave // the current bidi part var searchInVisualLine = function (partPos, dir, wrappedLineExtent) { var getRes = function (ch, moveInStorageOrder) { return moveInStorageOrder ? new Pos(start.line, mv(ch, 1), "before") : new Pos(start.line, ch, "after"); }; for (; partPos >= 0 && partPos < bidi.length; partPos += dir) { var part = bidi[partPos]; var moveInStorageOrder = (dir > 0) == (part.level != 1); var ch = moveInStorageOrder ? wrappedLineExtent.begin : mv(wrappedLineExtent.end, -1); if (part.from <= ch && ch < part.to) { return getRes(ch, moveInStorageOrder) } ch = moveInStorageOrder ? part.from : mv(part.to, -1); if (wrappedLineExtent.begin <= ch && ch < wrappedLineExtent.end) { return getRes(ch, moveInStorageOrder) } } }; // Case 3a: Look for other bidi parts on the same visual line var res = searchInVisualLine(partPos + dir, dir, wrappedLineExtent); if (res) { return res } // Case 3b: Look for other bidi parts on the next visual line var nextCh = dir > 0 ? wrappedLineExtent.end : mv(wrappedLineExtent.begin, -1); if (nextCh != null && !(dir > 0 && nextCh == line.text.length)) { res = searchInVisualLine(dir > 0 ? 0 : bidi.length - 1, dir, getWrappedLineExtent(nextCh)); if (res) { return res } } // Case 4: Nowhere to move return null } // Commands are parameter-less actions that can be performed on an // editor, mostly used for keybindings. var commands = { selectAll: selectAll, singleSelection: function (cm) { return cm.setSelection(cm.getCursor("anchor"), cm.getCursor("head"), sel_dontScroll); }, killLine: function (cm) { return deleteNearSelection(cm, function (range) { if (range.empty()) { var len = getLine(cm.doc, range.head.line).text.length; if (range.head.ch == len && range.head.line < cm.lastLine()) { return {from: range.head, to: Pos(range.head.line + 1, 0)} } else { return {from: range.head, to: Pos(range.head.line, len)} } } else { return {from: range.from(), to: range.to()} } }); }, deleteLine: function (cm) { return deleteNearSelection(cm, function (range) { return ({ from: Pos(range.from().line, 0), to: clipPos(cm.doc, Pos(range.to().line + 1, 0)) }); }); }, delLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { return ({ from: Pos(range.from().line, 0), to: range.from() }); }); }, delWrappedLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { var top = cm.charCoords(range.head, "div").top + 5; var leftPos = cm.coordsChar({left: 0, top: top}, "div"); return {from: leftPos, to: range.from()} }); }, delWrappedLineRight: function (cm) { return deleteNearSelection(cm, function (range) { var top = cm.charCoords(range.head, "div").top + 5; var rightPos = cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div"); return {from: range.from(), to: rightPos } }); }, undo: function (cm) { return cm.undo(); }, redo: function (cm) { return cm.redo(); }, undoSelection: function (cm) { return cm.undoSelection(); }, redoSelection: function (cm) { return cm.redoSelection(); }, goDocStart: function (cm) { return cm.extendSelection(Pos(cm.firstLine(), 0)); }, goDocEnd: function (cm) { return cm.extendSelection(Pos(cm.lastLine())); }, goLineStart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStart(cm, range.head.line); }, {origin: "+move", bias: 1} ); }, goLineStartSmart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStartSmart(cm, range.head); }, {origin: "+move", bias: 1} ); }, goLineEnd: function (cm) { return cm.extendSelectionsBy(function (range) { return lineEnd(cm, range.head.line); }, {origin: "+move", bias: -1} ); }, goLineRight: function (cm) { return cm.extendSelectionsBy(function (range) { var top = cm.cursorCoords(range.head, "div").top + 5; return cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div") }, sel_move); }, goLineLeft: function (cm) { return cm.extendSelectionsBy(function (range) { var top = cm.cursorCoords(range.head, "div").top + 5; return cm.coordsChar({left: 0, top: top}, "div") }, sel_move); }, goLineLeftSmart: function (cm) { return cm.extendSelectionsBy(function (range) { var top = cm.cursorCoords(range.head, "div").top + 5; var pos = cm.coordsChar({left: 0, top: top}, "div"); if (pos.ch < cm.getLine(pos.line).search(/\S/)) { return lineStartSmart(cm, range.head) } return pos }, sel_move); }, goLineUp: function (cm) { return cm.moveV(-1, "line"); }, goLineDown: function (cm) { return cm.moveV(1, "line"); }, goPageUp: function (cm) { return cm.moveV(-1, "page"); }, goPageDown: function (cm) { return cm.moveV(1, "page"); }, goCharLeft: function (cm) { return cm.moveH(-1, "char"); }, goCharRight: function (cm) { return cm.moveH(1, "char"); }, goColumnLeft: function (cm) { return cm.moveH(-1, "column"); }, goColumnRight: function (cm) { return cm.moveH(1, "column"); }, goWordLeft: function (cm) { return cm.moveH(-1, "word"); }, goGroupRight: function (cm) { return cm.moveH(1, "group"); }, goGroupLeft: function (cm) { return cm.moveH(-1, "group"); }, goWordRight: function (cm) { return cm.moveH(1, "word"); }, delCharBefore: function (cm) { return cm.deleteH(-1, "codepoint"); }, delCharAfter: function (cm) { return cm.deleteH(1, "char"); }, delWordBefore: function (cm) { return cm.deleteH(-1, "word"); }, delWordAfter: function (cm) { return cm.deleteH(1, "word"); }, delGroupBefore: function (cm) { return cm.deleteH(-1, "group"); }, delGroupAfter: function (cm) { return cm.deleteH(1, "group"); }, indentAuto: function (cm) { return cm.indentSelection("smart"); }, indentMore: function (cm) { return cm.indentSelection("add"); }, indentLess: function (cm) { return cm.indentSelection("subtract"); }, insertTab: function (cm) { return cm.replaceSelection("\t"); }, insertSoftTab: function (cm) { var spaces = [], ranges = cm.listSelections(), tabSize = cm.options.tabSize; for (var i = 0; i < ranges.length; i++) { var pos = ranges[i].from(); var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize); spaces.push(spaceStr(tabSize - col % tabSize)); } cm.replaceSelections(spaces); }, defaultTab: function (cm) { if (cm.somethingSelected()) { cm.indentSelection("add"); } else { cm.execCommand("insertTab"); } }, // Swap the two chars left and right of each selection's head. // Move cursor behind the two swapped characters afterwards. // // Doesn't consider line feeds a character. // Doesn't scan more than one line above to find a character. // Doesn't do anything on an empty line. // Doesn't do anything with non-empty selections. transposeChars: function (cm) { return runInOp(cm, function () { var ranges = cm.listSelections(), newSel = []; for (var i = 0; i < ranges.length; i++) { if (!ranges[i].empty()) { continue } var cur = ranges[i].head, line = getLine(cm.doc, cur.line).text; if (line) { if (cur.ch == line.length) { cur = new Pos(cur.line, cur.ch - 1); } if (cur.ch > 0) { cur = new Pos(cur.line, cur.ch + 1); cm.replaceRange(line.charAt(cur.ch - 1) + line.charAt(cur.ch - 2), Pos(cur.line, cur.ch - 2), cur, "+transpose"); } else if (cur.line > cm.doc.first) { var prev = getLine(cm.doc, cur.line - 1).text; if (prev) { cur = new Pos(cur.line, 1); cm.replaceRange(line.charAt(0) + cm.doc.lineSeparator() + prev.charAt(prev.length - 1), Pos(cur.line - 1, prev.length - 1), cur, "+transpose"); } } } newSel.push(new Range(cur, cur)); } cm.setSelections(newSel); }); }, newlineAndIndent: function (cm) { return runInOp(cm, function () { var sels = cm.listSelections(); for (var i = sels.length - 1; i >= 0; i--) { cm.replaceRange(cm.doc.lineSeparator(), sels[i].anchor, sels[i].head, "+input"); } sels = cm.listSelections(); for (var i$1 = 0; i$1 < sels.length; i$1++) { cm.indentLine(sels[i$1].from().line, null, true); } ensureCursorVisible(cm); }); }, openLine: function (cm) { return cm.replaceSelection("\n", "start"); }, toggleOverwrite: function (cm) { return cm.toggleOverwrite(); } }; function lineStart(cm, lineN) { var line = getLine(cm.doc, lineN); var visual = visualLine(line); if (visual != line) { lineN = lineNo(visual); } return endOfLine(true, cm, visual, lineN, 1) } function lineEnd(cm, lineN) { var line = getLine(cm.doc, lineN); var visual = visualLineEnd(line); if (visual != line) { lineN = lineNo(visual); } return endOfLine(true, cm, line, lineN, -1) } function lineStartSmart(cm, pos) { var start = lineStart(cm, pos.line); var line = getLine(cm.doc, start.line); var order = getOrder(line, cm.doc.direction); if (!order || order[0].level == 0) { var firstNonWS = Math.max(start.ch, line.text.search(/\S/)); var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch; return Pos(start.line, inWS ? 0 : firstNonWS, start.sticky) } return start } // Run a handler that was bound to a key. function doHandleBinding(cm, bound, dropShift) { if (typeof bound == "string") { bound = commands[bound]; if (!bound) { return false } } // Ensure previous input has been read, so that the handler sees a // consistent view of the document cm.display.input.ensurePolled(); var prevShift = cm.display.shift, done = false; try { if (cm.isReadOnly()) { cm.state.suppressEdits = true; } if (dropShift) { cm.display.shift = false; } done = bound(cm) != Pass; } finally { cm.display.shift = prevShift; cm.state.suppressEdits = false; } return done } function lookupKeyForEditor(cm, name, handle) { for (var i = 0; i < cm.state.keyMaps.length; i++) { var result = lookupKey(name, cm.state.keyMaps[i], handle, cm); if (result) { return result } } return (cm.options.extraKeys && lookupKey(name, cm.options.extraKeys, handle, cm)) || lookupKey(name, cm.options.keyMap, handle, cm) } // Note that, despite the name, this function is also used to check // for bound mouse clicks. var stopSeq = new Delayed; function dispatchKey(cm, name, e, handle) { var seq = cm.state.keySeq; if (seq) { if (isModifierKey(name)) { return "handled" } if (/\'$/.test(name)) { cm.state.keySeq = null; } else { stopSeq.set(50, function () { if (cm.state.keySeq == seq) { cm.state.keySeq = null; cm.display.input.reset(); } }); } if (dispatchKeyInner(cm, seq + " " + name, e, handle)) { return true } } return dispatchKeyInner(cm, name, e, handle) } function dispatchKeyInner(cm, name, e, handle) { var result = lookupKeyForEditor(cm, name, handle); if (result == "multi") { cm.state.keySeq = name; } if (result == "handled") { signalLater(cm, "keyHandled", cm, name, e); } if (result == "handled" || result == "multi") { e_preventDefault(e); restartBlink(cm); } return !!result } // Handle a key from the keydown event. function handleKeyBinding(cm, e) { var name = keyName(e, true); if (!name) { return false } if (e.shiftKey && !cm.state.keySeq) { // First try to resolve full name (including 'Shift-'). Failing // that, see if there is a cursor-motion command (starting with // 'go') bound to the keyname without 'Shift-'. return dispatchKey(cm, "Shift-" + name, e, function (b) { return doHandleBinding(cm, b, true); }) || dispatchKey(cm, name, e, function (b) { if (typeof b == "string" ? /^go[A-Z]/.test(b) : b.motion) { return doHandleBinding(cm, b) } }) } else { return dispatchKey(cm, name, e, function (b) { return doHandleBinding(cm, b); }) } } // Handle a key from the keypress event function handleCharBinding(cm, e, ch) { return dispatchKey(cm, "'" + ch + "'", e, function (b) { return doHandleBinding(cm, b, true); }) } var lastStoppedKey = null; function onKeyDown(e) { var cm = this; if (e.target && e.target != cm.display.input.getField()) { return } cm.curOp.focus = activeElt(); if (signalDOMEvent(cm, e)) { return } // IE does strange things with escape. if (ie && ie_version < 11 && e.keyCode == 27) { e.returnValue = false; } var code = e.keyCode; cm.display.shift = code == 16 || e.shiftKey; var handled = handleKeyBinding(cm, e); if (presto) { lastStoppedKey = handled ? code : null; // Opera has no cut event... we try to at least catch the key combo if (!handled && code == 88 && !hasCopyEvent && (mac ? e.metaKey : e.ctrlKey)) { cm.replaceSelection("", null, "cut"); } } if (gecko && !mac && !handled && code == 46 && e.shiftKey && !e.ctrlKey && document.execCommand) { document.execCommand("cut"); } // Turn mouse into crosshair when Alt is held on Mac. if (code == 18 && !/\bCodeMirror-crosshair\b/.test(cm.display.lineDiv.className)) { showCrossHair(cm); } } function showCrossHair(cm) { var lineDiv = cm.display.lineDiv; addClass(lineDiv, "CodeMirror-crosshair"); function up(e) { if (e.keyCode == 18 || !e.altKey) { rmClass(lineDiv, "CodeMirror-crosshair"); off(document, "keyup", up); off(document, "mouseover", up); } } on(document, "keyup", up); on(document, "mouseover", up); } function onKeyUp(e) { if (e.keyCode == 16) { this.doc.sel.shift = false; } signalDOMEvent(this, e); } function onKeyPress(e) { var cm = this; if (e.target && e.target != cm.display.input.getField()) { return } if (eventInWidget(cm.display, e) || signalDOMEvent(cm, e) || e.ctrlKey && !e.altKey || mac && e.metaKey) { return } var keyCode = e.keyCode, charCode = e.charCode; if (presto && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return} if ((presto && (!e.which || e.which < 10)) && handleKeyBinding(cm, e)) { return } var ch = String.fromCharCode(charCode == null ? keyCode : charCode); // Some browsers fire keypress events for backspace if (ch == "\x08") { return } if (handleCharBinding(cm, e, ch)) { return } cm.display.input.onKeyPress(e); } var DOUBLECLICK_DELAY = 400; var PastClick = function(time, pos, button) { this.time = time; this.pos = pos; this.button = button; }; PastClick.prototype.compare = function (time, pos, button) { return this.time + DOUBLECLICK_DELAY > time && cmp(pos, this.pos) == 0 && button == this.button }; var lastClick, lastDoubleClick; function clickRepeat(pos, button) { var now = +new Date; if (lastDoubleClick && lastDoubleClick.compare(now, pos, button)) { lastClick = lastDoubleClick = null; return "triple" } else if (lastClick && lastClick.compare(now, pos, button)) { lastDoubleClick = new PastClick(now, pos, button); lastClick = null; return "double" } else { lastClick = new PastClick(now, pos, button); lastDoubleClick = null; return "single" } } // A mouse down can be a single click, double click, triple click, // start of selection drag, start of text drag, new cursor // (ctrl-click), rectangle drag (alt-drag), or xwin // middle-click-paste. Or it might be a click on something we should // not interfere with, such as a scrollbar or widget. function onMouseDown(e) { var cm = this, display = cm.display; if (signalDOMEvent(cm, e) || display.activeTouch && display.input.supportsTouch()) { return } display.input.ensurePolled(); display.shift = e.shiftKey; if (eventInWidget(display, e)) { if (!webkit) { // Briefly turn off draggability, to allow widgets to do // normal dragging things. display.scroller.draggable = false; setTimeout(function () { return display.scroller.draggable = true; }, 100); } return } if (clickInGutter(cm, e)) { return } var pos = posFromMouse(cm, e), button = e_button(e), repeat = pos ? clickRepeat(pos, button) : "single"; window.focus(); // #3261: make sure, that we're not starting a second selection if (button == 1 && cm.state.selectingText) { cm.state.selectingText(e); } if (pos && handleMappedButton(cm, button, pos, repeat, e)) { return } if (button == 1) { if (pos) { leftButtonDown(cm, pos, repeat, e); } else if (e_target(e) == display.scroller) { e_preventDefault(e); } } else if (button == 2) { if (pos) { extendSelection(cm.doc, pos); } setTimeout(function () { return display.input.focus(); }, 20); } else if (button == 3) { if (captureRightClick) { cm.display.input.onContextMenu(e); } else { delayBlurEvent(cm); } } } function handleMappedButton(cm, button, pos, repeat, event) { var name = "Click"; if (repeat == "double") { name = "Double" + name; } else if (repeat == "triple") { name = "Triple" + name; } name = (button == 1 ? "Left" : button == 2 ? "Middle" : "Right") + name; return dispatchKey(cm, addModifierNames(name, event), event, function (bound) { if (typeof bound == "string") { bound = commands[bound]; } if (!bound) { return false } var done = false; try { if (cm.isReadOnly()) { cm.state.suppressEdits = true; } done = bound(cm, pos) != Pass; } finally { cm.state.suppressEdits = false; } return done }) } function configureMouse(cm, repeat, event) { var option = cm.getOption("configureMouse"); var value = option ? option(cm, repeat, event) : {}; if (value.unit == null) { var rect = chromeOS ? event.shiftKey && event.metaKey : event.altKey; value.unit = rect ? "rectangle" : repeat == "single" ? "char" : repeat == "double" ? "word" : "line"; } if (value.extend == null || cm.doc.extend) { value.extend = cm.doc.extend || event.shiftKey; } if (value.addNew == null) { value.addNew = mac ? event.metaKey : event.ctrlKey; } if (value.moveOnDrag == null) { value.moveOnDrag = !(mac ? event.altKey : event.ctrlKey); } return value } function leftButtonDown(cm, pos, repeat, event) { if (ie) { setTimeout(bind(ensureFocus, cm), 0); } else { cm.curOp.focus = activeElt(); } var behavior = configureMouse(cm, repeat, event); var sel = cm.doc.sel, contained; if (cm.options.dragDrop && dragAndDrop && !cm.isReadOnly() && repeat == "single" && (contained = sel.contains(pos)) > -1 && (cmp((contained = sel.ranges[contained]).from(), pos) < 0 || pos.xRel > 0) && (cmp(contained.to(), pos) > 0 || pos.xRel < 0)) { leftButtonStartDrag(cm, event, pos, behavior); } else { leftButtonSelect(cm, event, pos, behavior); } } // Start a text drag. When it ends, see if any dragging actually // happen, and treat as a click if it didn't. function leftButtonStartDrag(cm, event, pos, behavior) { var display = cm.display, moved = false; var dragEnd = operation(cm, function (e) { if (webkit) { display.scroller.draggable = false; } cm.state.draggingText = false; if (cm.state.delayingBlurEvent) { if (cm.hasFocus()) { cm.state.delayingBlurEvent = false; } else { delayBlurEvent(cm); } } off(display.wrapper.ownerDocument, "mouseup", dragEnd); off(display.wrapper.ownerDocument, "mousemove", mouseMove); off(display.scroller, "dragstart", dragStart); off(display.scroller, "drop", dragEnd); if (!moved) { e_preventDefault(e); if (!behavior.addNew) { extendSelection(cm.doc, pos, null, null, behavior.extend); } // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081) if ((webkit && !safari) || ie && ie_version == 9) { setTimeout(function () {display.wrapper.ownerDocument.body.focus({preventScroll: true}); display.input.focus();}, 20); } else { display.input.focus(); } } }); var mouseMove = function(e2) { moved = moved || Math.abs(event.clientX - e2.clientX) + Math.abs(event.clientY - e2.clientY) >= 10; }; var dragStart = function () { return moved = true; }; // Let the drag handler handle this. if (webkit) { display.scroller.draggable = true; } cm.state.draggingText = dragEnd; dragEnd.copy = !behavior.moveOnDrag; on(display.wrapper.ownerDocument, "mouseup", dragEnd); on(display.wrapper.ownerDocument, "mousemove", mouseMove); on(display.scroller, "dragstart", dragStart); on(display.scroller, "drop", dragEnd); cm.state.delayingBlurEvent = true; setTimeout(function () { return display.input.focus(); }, 20); // IE's approach to draggable if (display.scroller.dragDrop) { display.scroller.dragDrop(); } } function rangeForUnit(cm, pos, unit) { if (unit == "char") { return new Range(pos, pos) } if (unit == "word") { return cm.findWordAt(pos) } if (unit == "line") { return new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))) } var result = unit(cm, pos); return new Range(result.from, result.to) } // Normal selection, as opposed to text dragging. function leftButtonSelect(cm, event, start, behavior) { if (ie) { delayBlurEvent(cm); } var display = cm.display, doc = cm.doc; e_preventDefault(event); var ourRange, ourIndex, startSel = doc.sel, ranges = startSel.ranges; if (behavior.addNew && !behavior.extend) { ourIndex = doc.sel.contains(start); if (ourIndex > -1) { ourRange = ranges[ourIndex]; } else { ourRange = new Range(start, start); } } else { ourRange = doc.sel.primary(); ourIndex = doc.sel.primIndex; } if (behavior.unit == "rectangle") { if (!behavior.addNew) { ourRange = new Range(start, start); } start = posFromMouse(cm, event, true, true); ourIndex = -1; } else { var range = rangeForUnit(cm, start, behavior.unit); if (behavior.extend) { ourRange = extendRange(ourRange, range.anchor, range.head, behavior.extend); } else { ourRange = range; } } if (!behavior.addNew) { ourIndex = 0; setSelection(doc, new Selection([ourRange], 0), sel_mouse); startSel = doc.sel; } else if (ourIndex == -1) { ourIndex = ranges.length; setSelection(doc, normalizeSelection(cm, ranges.concat([ourRange]), ourIndex), {scroll: false, origin: "*mouse"}); } else if (ranges.length > 1 && ranges[ourIndex].empty() && behavior.unit == "char" && !behavior.extend) { setSelection(doc, normalizeSelection(cm, ranges.slice(0, ourIndex).concat(ranges.slice(ourIndex + 1)), 0), {scroll: false, origin: "*mouse"}); startSel = doc.sel; } else { replaceOneSelection(doc, ourIndex, ourRange, sel_mouse); } var lastPos = start; function extendTo(pos) { if (cmp(lastPos, pos) == 0) { return } lastPos = pos; if (behavior.unit == "rectangle") { var ranges = [], tabSize = cm.options.tabSize; var startCol = countColumn(getLine(doc, start.line).text, start.ch, tabSize); var posCol = countColumn(getLine(doc, pos.line).text, pos.ch, tabSize); var left = Math.min(startCol, posCol), right = Math.max(startCol, posCol); for (var line = Math.min(start.line, pos.line), end = Math.min(cm.lastLine(), Math.max(start.line, pos.line)); line <= end; line++) { var text = getLine(doc, line).text, leftPos = findColumn(text, left, tabSize); if (left == right) { ranges.push(new Range(Pos(line, leftPos), Pos(line, leftPos))); } else if (text.length > leftPos) { ranges.push(new Range(Pos(line, leftPos), Pos(line, findColumn(text, right, tabSize)))); } } if (!ranges.length) { ranges.push(new Range(start, start)); } setSelection(doc, normalizeSelection(cm, startSel.ranges.slice(0, ourIndex).concat(ranges), ourIndex), {origin: "*mouse", scroll: false}); cm.scrollIntoView(pos); } else { var oldRange = ourRange; var range = rangeForUnit(cm, pos, behavior.unit); var anchor = oldRange.anchor, head; if (cmp(range.anchor, anchor) > 0) { head = range.head; anchor = minPos(oldRange.from(), range.anchor); } else { head = range.anchor; anchor = maxPos(oldRange.to(), range.head); } var ranges$1 = startSel.ranges.slice(0); ranges$1[ourIndex] = bidiSimplify(cm, new Range(clipPos(doc, anchor), head)); setSelection(doc, normalizeSelection(cm, ranges$1, ourIndex), sel_mouse); } } var editorSize = display.wrapper.getBoundingClientRect(); // Used to ensure timeout re-tries don't fire when another extend // happened in the meantime (clearTimeout isn't reliable -- at // least on Chrome, the timeouts still happen even when cleared, // if the clear happens after their scheduled firing time). var counter = 0; function extend(e) { var curCount = ++counter; var cur = posFromMouse(cm, e, true, behavior.unit == "rectangle"); if (!cur) { return } if (cmp(cur, lastPos) != 0) { cm.curOp.focus = activeElt(); extendTo(cur); var visible = visibleLines(display, doc); if (cur.line >= visible.to || cur.line < visible.from) { setTimeout(operation(cm, function () {if (counter == curCount) { extend(e); }}), 150); } } else { var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0; if (outside) { setTimeout(operation(cm, function () { if (counter != curCount) { return } display.scroller.scrollTop += outside; extend(e); }), 50); } } } function done(e) { cm.state.selectingText = false; counter = Infinity; // If e is null or undefined we interpret this as someone trying // to explicitly cancel the selection rather than the user // letting go of the mouse button. if (e) { e_preventDefault(e); display.input.focus(); } off(display.wrapper.ownerDocument, "mousemove", move); off(display.wrapper.ownerDocument, "mouseup", up); doc.history.lastSelOrigin = null; } var move = operation(cm, function (e) { if (e.buttons === 0 || !e_button(e)) { done(e); } else { extend(e); } }); var up = operation(cm, done); cm.state.selectingText = up; on(display.wrapper.ownerDocument, "mousemove", move); on(display.wrapper.ownerDocument, "mouseup", up); } // Used when mouse-selecting to adjust the anchor to the proper side // of a bidi jump depending on the visual position of the head. function bidiSimplify(cm, range) { var anchor = range.anchor; var head = range.head; var anchorLine = getLine(cm.doc, anchor.line); if (cmp(anchor, head) == 0 && anchor.sticky == head.sticky) { return range } var order = getOrder(anchorLine); if (!order) { return range } var index = getBidiPartAt(order, anchor.ch, anchor.sticky), part = order[index]; if (part.from != anchor.ch && part.to != anchor.ch) { return range } var boundary = index + ((part.from == anchor.ch) == (part.level != 1) ? 0 : 1); if (boundary == 0 || boundary == order.length) { return range } // Compute the relative visual position of the head compared to the // anchor (<0 is to the left, >0 to the right) var leftSide; if (head.line != anchor.line) { leftSide = (head.line - anchor.line) * (cm.doc.direction == "ltr" ? 1 : -1) > 0; } else { var headIndex = getBidiPartAt(order, head.ch, head.sticky); var dir = headIndex - index || (head.ch - anchor.ch) * (part.level == 1 ? -1 : 1); if (headIndex == boundary - 1 || headIndex == boundary) { leftSide = dir < 0; } else { leftSide = dir > 0; } } var usePart = order[boundary + (leftSide ? -1 : 0)]; var from = leftSide == (usePart.level == 1); var ch = from ? usePart.from : usePart.to, sticky = from ? "after" : "before"; return anchor.ch == ch && anchor.sticky == sticky ? range : new Range(new Pos(anchor.line, ch, sticky), head) } // Determines whether an event happened in the gutter, and fires the // handlers for the corresponding event. function gutterEvent(cm, e, type, prevent) { var mX, mY; if (e.touches) { mX = e.touches[0].clientX; mY = e.touches[0].clientY; } else { try { mX = e.clientX; mY = e.clientY; } catch(e$1) { return false } } if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) { return false } if (prevent) { e_preventDefault(e); } var display = cm.display; var lineBox = display.lineDiv.getBoundingClientRect(); if (mY > lineBox.bottom || !hasHandler(cm, type)) { return e_defaultPrevented(e) } mY -= lineBox.top - display.viewOffset; for (var i = 0; i < cm.display.gutterSpecs.length; ++i) { var g = display.gutters.childNodes[i]; if (g && g.getBoundingClientRect().right >= mX) { var line = lineAtHeight(cm.doc, mY); var gutter = cm.display.gutterSpecs[i]; signal(cm, type, cm, line, gutter.className, e); return e_defaultPrevented(e) } } } function clickInGutter(cm, e) { return gutterEvent(cm, e, "gutterClick", true) } // CONTEXT MENU HANDLING // To make the context menu work, we need to briefly unhide the // textarea (making it as unobtrusive as possible) to let the // right-click take effect on it. function onContextMenu(cm, e) { if (eventInWidget(cm.display, e) || contextMenuInGutter(cm, e)) { return } if (signalDOMEvent(cm, e, "contextmenu")) { return } if (!captureRightClick) { cm.display.input.onContextMenu(e); } } function contextMenuInGutter(cm, e) { if (!hasHandler(cm, "gutterContextMenu")) { return false } return gutterEvent(cm, e, "gutterContextMenu", false) } function themeChanged(cm) { cm.display.wrapper.className = cm.display.wrapper.className.replace(/\s*cm-s-\S+/g, "") + cm.options.theme.replace(/(^|\s)\s*/g, " cm-s-"); clearCaches(cm); } var Init = {toString: function(){return "CodeMirror.Init"}}; var defaults = {}; var optionHandlers = {}; function defineOptions(CodeMirror) { var optionHandlers = CodeMirror.optionHandlers; function option(name, deflt, handle, notOnInit) { CodeMirror.defaults[name] = deflt; if (handle) { optionHandlers[name] = notOnInit ? function (cm, val, old) {if (old != Init) { handle(cm, val, old); }} : handle; } } CodeMirror.defineOption = option; // Passed to option handlers when there is no old value. CodeMirror.Init = Init; // These two are, on init, called from the constructor because they // have to be initialized before the editor can start at all. option("value", "", function (cm, val) { return cm.setValue(val); }, true); option("mode", null, function (cm, val) { cm.doc.modeOption = val; loadMode(cm); }, true); option("indentUnit", 2, loadMode, true); option("indentWithTabs", false); option("smartIndent", true); option("tabSize", 4, function (cm) { resetModeState(cm); clearCaches(cm); regChange(cm); }, true); option("lineSeparator", null, function (cm, val) { cm.doc.lineSep = val; if (!val) { return } var newBreaks = [], lineNo = cm.doc.first; cm.doc.iter(function (line) { for (var pos = 0;;) { var found = line.text.indexOf(val, pos); if (found == -1) { break } pos = found + val.length; newBreaks.push(Pos(lineNo, found)); } lineNo++; }); for (var i = newBreaks.length - 1; i >= 0; i--) { replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length)); } }); option("specialChars", /[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g, function (cm, val, old) { cm.state.specialChars = new RegExp(val.source + (val.test("\t") ? "" : "|\t"), "g"); if (old != Init) { cm.refresh(); } }); option("specialCharPlaceholder", defaultSpecialCharPlaceholder, function (cm) { return cm.refresh(); }, true); option("electricChars", true); option("inputStyle", mobile ? "contenteditable" : "textarea", function () { throw new Error("inputStyle can not (yet) be changed in a running editor") // FIXME }, true); option("spellcheck", false, function (cm, val) { return cm.getInputField().spellcheck = val; }, true); option("autocorrect", false, function (cm, val) { return cm.getInputField().autocorrect = val; }, true); option("autocapitalize", false, function (cm, val) { return cm.getInputField().autocapitalize = val; }, true); option("rtlMoveVisually", !windows); option("wholeLineUpdateBefore", true); option("theme", "default", function (cm) { themeChanged(cm); updateGutters(cm); }, true); option("keyMap", "default", function (cm, val, old) { var next = getKeyMap(val); var prev = old != Init && getKeyMap(old); if (prev && prev.detach) { prev.detach(cm, next); } if (next.attach) { next.attach(cm, prev || null); } }); option("extraKeys", null); option("configureMouse", null); option("lineWrapping", false, wrappingChanged, true); option("gutters", [], function (cm, val) { cm.display.gutterSpecs = getGutters(val, cm.options.lineNumbers); updateGutters(cm); }, true); option("fixedGutter", true, function (cm, val) { cm.display.gutters.style.left = val ? compensateForHScroll(cm.display) + "px" : "0"; cm.refresh(); }, true); option("coverGutterNextToScrollbar", false, function (cm) { return updateScrollbars(cm); }, true); option("scrollbarStyle", "native", function (cm) { initScrollbars(cm); updateScrollbars(cm); cm.display.scrollbars.setScrollTop(cm.doc.scrollTop); cm.display.scrollbars.setScrollLeft(cm.doc.scrollLeft); }, true); option("lineNumbers", false, function (cm, val) { cm.display.gutterSpecs = getGutters(cm.options.gutters, val); updateGutters(cm); }, true); option("firstLineNumber", 1, updateGutters, true); option("lineNumberFormatter", function (integer) { return integer; }, updateGutters, true); option("showCursorWhenSelecting", false, updateSelection, true); option("resetSelectionOnContextMenu", true); option("lineWiseCopyCut", true); option("pasteLinesPerSelection", true); option("selectionsMayTouch", false); option("readOnly", false, function (cm, val) { if (val == "nocursor") { onBlur(cm); cm.display.input.blur(); } cm.display.input.readOnlyChanged(val); }); option("screenReaderLabel", null, function (cm, val) { val = (val === '') ? null : val; cm.display.input.screenReaderLabelChanged(val); }); option("disableInput", false, function (cm, val) {if (!val) { cm.display.input.reset(); }}, true); option("dragDrop", true, dragDropChanged); option("allowDropFileTypes", null); option("cursorBlinkRate", 530); option("cursorScrollMargin", 0); option("cursorHeight", 1, updateSelection, true); option("singleCursorHeightPerLine", true, updateSelection, true); option("workTime", 100); option("workDelay", 100); option("flattenSpans", true, resetModeState, true); option("addModeClass", false, resetModeState, true); option("pollInterval", 100); option("undoDepth", 200, function (cm, val) { return cm.doc.history.undoDepth = val; }); option("historyEventDelay", 1250); option("viewportMargin", 10, function (cm) { return cm.refresh(); }, true); option("maxHighlightLength", 10000, resetModeState, true); option("moveInputWithCursor", true, function (cm, val) { if (!val) { cm.display.input.resetPosition(); } }); option("tabindex", null, function (cm, val) { return cm.display.input.getField().tabIndex = val || ""; }); option("autofocus", null); option("direction", "ltr", function (cm, val) { return cm.doc.setDirection(val); }, true); option("phrases", null); } function dragDropChanged(cm, value, old) { var wasOn = old && old != Init; if (!value != !wasOn) { var funcs = cm.display.dragFunctions; var toggle = value ? on : off; toggle(cm.display.scroller, "dragstart", funcs.start); toggle(cm.display.scroller, "dragenter", funcs.enter); toggle(cm.display.scroller, "dragover", funcs.over); toggle(cm.display.scroller, "dragleave", funcs.leave); toggle(cm.display.scroller, "drop", funcs.drop); } } function wrappingChanged(cm) { if (cm.options.lineWrapping) { addClass(cm.display.wrapper, "CodeMirror-wrap"); cm.display.sizer.style.minWidth = ""; cm.display.sizerWidth = null; } else { rmClass(cm.display.wrapper, "CodeMirror-wrap"); findMaxLine(cm); } estimateLineHeights(cm); regChange(cm); clearCaches(cm); setTimeout(function () { return updateScrollbars(cm); }, 100); } // A CodeMirror instance represents an editor. This is the object // that user code is usually dealing with. function CodeMirror(place, options) { var this$1 = this; if (!(this instanceof CodeMirror)) { return new CodeMirror(place, options) } this.options = options = options ? copyObj(options) : {}; // Determine effective options based on given values and defaults. copyObj(defaults, options, false); var doc = options.value; if (typeof doc == "string") { doc = new Doc(doc, options.mode, null, options.lineSeparator, options.direction); } else if (options.mode) { doc.modeOption = options.mode; } this.doc = doc; var input = new CodeMirror.inputStyles[options.inputStyle](this); var display = this.display = new Display(place, doc, input, options); display.wrapper.CodeMirror = this; themeChanged(this); if (options.lineWrapping) { this.display.wrapper.className += " CodeMirror-wrap"; } initScrollbars(this); this.state = { keyMaps: [], // stores maps added by addKeyMap overlays: [], // highlighting overlays, as added by addOverlay modeGen: 0, // bumped when mode/overlay changes, used to invalidate highlighting info overwrite: false, delayingBlurEvent: false, focused: false, suppressEdits: false, // used to disable editing during key handlers when in readOnly mode pasteIncoming: -1, cutIncoming: -1, // help recognize paste/cut edits in input.poll selectingText: false, draggingText: false, highlight: new Delayed(), // stores highlight worker timeout keySeq: null, // Unfinished key sequence specialChars: null }; if (options.autofocus && !mobile) { display.input.focus(); } // Override magic textarea content restore that IE sometimes does // on our hidden textarea on reload if (ie && ie_version < 11) { setTimeout(function () { return this$1.display.input.reset(true); }, 20); } registerEventHandlers(this); ensureGlobalHandlers(); startOperation(this); this.curOp.forceUpdate = true; attachDoc(this, doc); if ((options.autofocus && !mobile) || this.hasFocus()) { setTimeout(function () { if (this$1.hasFocus() && !this$1.state.focused) { onFocus(this$1); } }, 20); } else { onBlur(this); } for (var opt in optionHandlers) { if (optionHandlers.hasOwnProperty(opt)) { optionHandlers[opt](this, options[opt], Init); } } maybeUpdateLineNumberWidth(this); if (options.finishInit) { options.finishInit(this); } for (var i = 0; i < initHooks.length; ++i) { initHooks[i](this); } endOperation(this); // Suppress optimizelegibility in Webkit, since it breaks text // measuring on line wrapping boundaries. if (webkit && options.lineWrapping && getComputedStyle(display.lineDiv).textRendering == "optimizelegibility") { display.lineDiv.style.textRendering = "auto"; } } // The default configuration options. CodeMirror.defaults = defaults; // Functions to run when options are changed. CodeMirror.optionHandlers = optionHandlers; // Attach the necessary event handlers when initializing the editor function registerEventHandlers(cm) { var d = cm.display; on(d.scroller, "mousedown", operation(cm, onMouseDown)); // Older IE's will not fire a second mousedown for a double click if (ie && ie_version < 11) { on(d.scroller, "dblclick", operation(cm, function (e) { if (signalDOMEvent(cm, e)) { return } var pos = posFromMouse(cm, e); if (!pos || clickInGutter(cm, e) || eventInWidget(cm.display, e)) { return } e_preventDefault(e); var word = cm.findWordAt(pos); extendSelection(cm.doc, word.anchor, word.head); })); } else { on(d.scroller, "dblclick", function (e) { return signalDOMEvent(cm, e) || e_preventDefault(e); }); } // Some browsers fire contextmenu *after* opening the menu, at // which point we can't mess with it anymore. Context menu is // handled in onMouseDown for these browsers. on(d.scroller, "contextmenu", function (e) { return onContextMenu(cm, e); }); on(d.input.getField(), "contextmenu", function (e) { if (!d.scroller.contains(e.target)) { onContextMenu(cm, e); } }); // Used to suppress mouse event handling when a touch happens var touchFinished, prevTouch = {end: 0}; function finishTouch() { if (d.activeTouch) { touchFinished = setTimeout(function () { return d.activeTouch = null; }, 1000); prevTouch = d.activeTouch; prevTouch.end = +new Date; } } function isMouseLikeTouchEvent(e) { if (e.touches.length != 1) { return false } var touch = e.touches[0]; return touch.radiusX <= 1 && touch.radiusY <= 1 } function farAway(touch, other) { if (other.left == null) { return true } var dx = other.left - touch.left, dy = other.top - touch.top; return dx * dx + dy * dy > 20 * 20 } on(d.scroller, "touchstart", function (e) { if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e) && !clickInGutter(cm, e)) { d.input.ensurePolled(); clearTimeout(touchFinished); var now = +new Date; d.activeTouch = {start: now, moved: false, prev: now - prevTouch.end <= 300 ? prevTouch : null}; if (e.touches.length == 1) { d.activeTouch.left = e.touches[0].pageX; d.activeTouch.top = e.touches[0].pageY; } } }); on(d.scroller, "touchmove", function () { if (d.activeTouch) { d.activeTouch.moved = true; } }); on(d.scroller, "touchend", function (e) { var touch = d.activeTouch; if (touch && !eventInWidget(d, e) && touch.left != null && !touch.moved && new Date - touch.start < 300) { var pos = cm.coordsChar(d.activeTouch, "page"), range; if (!touch.prev || farAway(touch, touch.prev)) // Single tap { range = new Range(pos, pos); } else if (!touch.prev.prev || farAway(touch, touch.prev.prev)) // Double tap { range = cm.findWordAt(pos); } else // Triple tap { range = new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))); } cm.setSelection(range.anchor, range.head); cm.focus(); e_preventDefault(e); } finishTouch(); }); on(d.scroller, "touchcancel", finishTouch); // Sync scrolling between fake scrollbars and real scrollable // area, ensure viewport is updated when scrolling. on(d.scroller, "scroll", function () { if (d.scroller.clientHeight) { updateScrollTop(cm, d.scroller.scrollTop); setScrollLeft(cm, d.scroller.scrollLeft, true); signal(cm, "scroll", cm); } }); // Listen to wheel events in order to try and update the viewport on time. on(d.scroller, "mousewheel", function (e) { return onScrollWheel(cm, e); }); on(d.scroller, "DOMMouseScroll", function (e) { return onScrollWheel(cm, e); }); // Prevent wrapper from ever scrolling on(d.wrapper, "scroll", function () { return d.wrapper.scrollTop = d.wrapper.scrollLeft = 0; }); d.dragFunctions = { enter: function (e) {if (!signalDOMEvent(cm, e)) { e_stop(e); }}, over: function (e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e); }}, start: function (e) { return onDragStart(cm, e); }, drop: operation(cm, onDrop), leave: function (e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm); }} }; var inp = d.input.getField(); on(inp, "keyup", function (e) { return onKeyUp.call(cm, e); }); on(inp, "keydown", operation(cm, onKeyDown)); on(inp, "keypress", operation(cm, onKeyPress)); on(inp, "focus", function (e) { return onFocus(cm, e); }); on(inp, "blur", function (e) { return onBlur(cm, e); }); } var initHooks = []; CodeMirror.defineInitHook = function (f) { return initHooks.push(f); }; // Indent the given line. The how parameter can be "smart", // "add"/null, "subtract", or "prev". When aggressive is false // (typically set to true for forced single-line indents), empty // lines are not indented, and places where the mode returns Pass // are left alone. function indentLine(cm, n, how, aggressive) { var doc = cm.doc, state; if (how == null) { how = "add"; } if (how == "smart") { // Fall back to "prev" when the mode doesn't have an indentation // method. if (!doc.mode.indent) { how = "prev"; } else { state = getContextBefore(cm, n).state; } } var tabSize = cm.options.tabSize; var line = getLine(doc, n), curSpace = countColumn(line.text, null, tabSize); if (line.stateAfter) { line.stateAfter = null; } var curSpaceString = line.text.match(/^\s*/)[0], indentation; if (!aggressive && !/\S/.test(line.text)) { indentation = 0; how = "not"; } else if (how == "smart") { indentation = doc.mode.indent(state, line.text.slice(curSpaceString.length), line.text); if (indentation == Pass || indentation > 150) { if (!aggressive) { return } how = "prev"; } } if (how == "prev") { if (n > doc.first) { indentation = countColumn(getLine(doc, n-1).text, null, tabSize); } else { indentation = 0; } } else if (how == "add") { indentation = curSpace + cm.options.indentUnit; } else if (how == "subtract") { indentation = curSpace - cm.options.indentUnit; } else if (typeof how == "number") { indentation = curSpace + how; } indentation = Math.max(0, indentation); var indentString = "", pos = 0; if (cm.options.indentWithTabs) { for (var i = Math.floor(indentation / tabSize); i; --i) {pos += tabSize; indentString += "\t";} } if (pos < indentation) { indentString += spaceStr(indentation - pos); } if (indentString != curSpaceString) { replaceRange(doc, indentString, Pos(n, 0), Pos(n, curSpaceString.length), "+input"); line.stateAfter = null; return true } else { // Ensure that, if the cursor was in the whitespace at the start // of the line, it is moved to the end of that space. for (var i$1 = 0; i$1 < doc.sel.ranges.length; i$1++) { var range = doc.sel.ranges[i$1]; if (range.head.line == n && range.head.ch < curSpaceString.length) { var pos$1 = Pos(n, curSpaceString.length); replaceOneSelection(doc, i$1, new Range(pos$1, pos$1)); break } } } } // This will be set to a {lineWise: bool, text: [string]} object, so // that, when pasting, we know what kind of selections the copied // text was made out of. var lastCopied = null; function setLastCopied(newLastCopied) { lastCopied = newLastCopied; } function applyTextInput(cm, inserted, deleted, sel, origin) { var doc = cm.doc; cm.display.shift = false; if (!sel) { sel = doc.sel; } var recent = +new Date - 200; var paste = origin == "paste" || cm.state.pasteIncoming > recent; var textLines = splitLinesAuto(inserted), multiPaste = null; // When pasting N lines into N selections, insert one line per selection if (paste && sel.ranges.length > 1) { if (lastCopied && lastCopied.text.join("\n") == inserted) { if (sel.ranges.length % lastCopied.text.length == 0) { multiPaste = []; for (var i = 0; i < lastCopied.text.length; i++) { multiPaste.push(doc.splitLines(lastCopied.text[i])); } } } else if (textLines.length == sel.ranges.length && cm.options.pasteLinesPerSelection) { multiPaste = map(textLines, function (l) { return [l]; }); } } var updateInput = cm.curOp.updateInput; // Normal behavior is to insert the new text into every selection for (var i$1 = sel.ranges.length - 1; i$1 >= 0; i$1--) { var range = sel.ranges[i$1]; var from = range.from(), to = range.to(); if (range.empty()) { if (deleted && deleted > 0) // Handle deletion { from = Pos(from.line, from.ch - deleted); } else if (cm.state.overwrite && !paste) // Handle overwrite { to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length)); } else if (paste && lastCopied && lastCopied.lineWise && lastCopied.text.join("\n") == textLines.join("\n")) { from = to = Pos(from.line, 0); } } var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i$1 % multiPaste.length] : textLines, origin: origin || (paste ? "paste" : cm.state.cutIncoming > recent ? "cut" : "+input")}; makeChange(cm.doc, changeEvent); signalLater(cm, "inputRead", cm, changeEvent); } if (inserted && !paste) { triggerElectric(cm, inserted); } ensureCursorVisible(cm); if (cm.curOp.updateInput < 2) { cm.curOp.updateInput = updateInput; } cm.curOp.typing = true; cm.state.pasteIncoming = cm.state.cutIncoming = -1; } function handlePaste(e, cm) { var pasted = e.clipboardData && e.clipboardData.getData("Text"); if (pasted) { e.preventDefault(); if (!cm.isReadOnly() && !cm.options.disableInput) { runInOp(cm, function () { return applyTextInput(cm, pasted, 0, null, "paste"); }); } return true } } function triggerElectric(cm, inserted) { // When an 'electric' character is inserted, immediately trigger a reindent if (!cm.options.electricChars || !cm.options.smartIndent) { return } var sel = cm.doc.sel; for (var i = sel.ranges.length - 1; i >= 0; i--) { var range = sel.ranges[i]; if (range.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range.head.line)) { continue } var mode = cm.getModeAt(range.head); var indented = false; if (mode.electricChars) { for (var j = 0; j < mode.electricChars.length; j++) { if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) { indented = indentLine(cm, range.head.line, "smart"); break } } } else if (mode.electricInput) { if (mode.electricInput.test(getLine(cm.doc, range.head.line).text.slice(0, range.head.ch))) { indented = indentLine(cm, range.head.line, "smart"); } } if (indented) { signalLater(cm, "electricInput", cm, range.head.line); } } } function copyableRanges(cm) { var text = [], ranges = []; for (var i = 0; i < cm.doc.sel.ranges.length; i++) { var line = cm.doc.sel.ranges[i].head.line; var lineRange = {anchor: Pos(line, 0), head: Pos(line + 1, 0)}; ranges.push(lineRange); text.push(cm.getRange(lineRange.anchor, lineRange.head)); } return {text: text, ranges: ranges} } function disableBrowserMagic(field, spellcheck, autocorrect, autocapitalize) { field.setAttribute("autocorrect", autocorrect ? "" : "off"); field.setAttribute("autocapitalize", autocapitalize ? "" : "off"); field.setAttribute("spellcheck", !!spellcheck); } function hiddenTextarea() { var te = elt("textarea", null, null, "position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; min-height: 1em; outline: none"); var div = elt("div", [te], null, "overflow: hidden; position: relative; width: 3px; height: 0px;"); // The textarea is kept positioned near the cursor to prevent the // fact that it'll be scrolled into view on input from scrolling // our fake cursor out of view. On webkit, when wrap=off, paste is // very slow. So make the area wide instead. if (webkit) { te.style.width = "1000px"; } else { te.setAttribute("wrap", "off"); } // If border: 0; -- iOS fails to open keyboard (issue #1287) if (ios) { te.style.border = "1px solid black"; } disableBrowserMagic(te); return div } // The publicly visible API. Note that methodOp(f) means // 'wrap f in an operation, performed on its `this` parameter'. // This is not the complete set of editor methods. Most of the // methods defined on the Doc type are also injected into // CodeMirror.prototype, for backwards compatibility and // convenience. function addEditorMethods(CodeMirror) { var optionHandlers = CodeMirror.optionHandlers; var helpers = CodeMirror.helpers = {}; CodeMirror.prototype = { constructor: CodeMirror, focus: function(){window.focus(); this.display.input.focus();}, setOption: function(option, value) { var options = this.options, old = options[option]; if (options[option] == value && option != "mode") { return } options[option] = value; if (optionHandlers.hasOwnProperty(option)) { operation(this, optionHandlers[option])(this, value, old); } signal(this, "optionChange", this, option); }, getOption: function(option) {return this.options[option]}, getDoc: function() {return this.doc}, addKeyMap: function(map, bottom) { this.state.keyMaps[bottom ? "push" : "unshift"](getKeyMap(map)); }, removeKeyMap: function(map) { var maps = this.state.keyMaps; for (var i = 0; i < maps.length; ++i) { if (maps[i] == map || maps[i].name == map) { maps.splice(i, 1); return true } } }, addOverlay: methodOp(function(spec, options) { var mode = spec.token ? spec : CodeMirror.getMode(this.options, spec); if (mode.startState) { throw new Error("Overlays may not be stateful.") } insertSorted(this.state.overlays, {mode: mode, modeSpec: spec, opaque: options && options.opaque, priority: (options && options.priority) || 0}, function (overlay) { return overlay.priority; }); this.state.modeGen++; regChange(this); }), removeOverlay: methodOp(function(spec) { var overlays = this.state.overlays; for (var i = 0; i < overlays.length; ++i) { var cur = overlays[i].modeSpec; if (cur == spec || typeof spec == "string" && cur.name == spec) { overlays.splice(i, 1); this.state.modeGen++; regChange(this); return } } }), indentLine: methodOp(function(n, dir, aggressive) { if (typeof dir != "string" && typeof dir != "number") { if (dir == null) { dir = this.options.smartIndent ? "smart" : "prev"; } else { dir = dir ? "add" : "subtract"; } } if (isLine(this.doc, n)) { indentLine(this, n, dir, aggressive); } }), indentSelection: methodOp(function(how) { var ranges = this.doc.sel.ranges, end = -1; for (var i = 0; i < ranges.length; i++) { var range = ranges[i]; if (!range.empty()) { var from = range.from(), to = range.to(); var start = Math.max(end, from.line); end = Math.min(this.lastLine(), to.line - (to.ch ? 0 : 1)) + 1; for (var j = start; j < end; ++j) { indentLine(this, j, how); } var newRanges = this.doc.sel.ranges; if (from.ch == 0 && ranges.length == newRanges.length && newRanges[i].from().ch > 0) { replaceOneSelection(this.doc, i, new Range(from, newRanges[i].to()), sel_dontScroll); } } else if (range.head.line > end) { indentLine(this, range.head.line, how, true); end = range.head.line; if (i == this.doc.sel.primIndex) { ensureCursorVisible(this); } } } }), // Fetch the parser token for a given character. Useful for hacks // that want to inspect the mode state (say, for completion). getTokenAt: function(pos, precise) { return takeToken(this, pos, precise) }, getLineTokens: function(line, precise) { return takeToken(this, Pos(line), precise, true) }, getTokenTypeAt: function(pos) { pos = clipPos(this.doc, pos); var styles = getLineStyles(this, getLine(this.doc, pos.line)); var before = 0, after = (styles.length - 1) / 2, ch = pos.ch; var type; if (ch == 0) { type = styles[2]; } else { for (;;) { var mid = (before + after) >> 1; if ((mid ? styles[mid * 2 - 1] : 0) >= ch) { after = mid; } else if (styles[mid * 2 + 1] < ch) { before = mid + 1; } else { type = styles[mid * 2 + 2]; break } } } var cut = type ? type.indexOf("overlay ") : -1; return cut < 0 ? type : cut == 0 ? null : type.slice(0, cut - 1) }, getModeAt: function(pos) { var mode = this.doc.mode; if (!mode.innerMode) { return mode } return CodeMirror.innerMode(mode, this.getTokenAt(pos).state).mode }, getHelper: function(pos, type) { return this.getHelpers(pos, type)[0] }, getHelpers: function(pos, type) { var found = []; if (!helpers.hasOwnProperty(type)) { return found } var help = helpers[type], mode = this.getModeAt(pos); if (typeof mode[type] == "string") { if (help[mode[type]]) { found.push(help[mode[type]]); } } else if (mode[type]) { for (var i = 0; i < mode[type].length; i++) { var val = help[mode[type][i]]; if (val) { found.push(val); } } } else if (mode.helperType && help[mode.helperType]) { found.push(help[mode.helperType]); } else if (help[mode.name]) { found.push(help[mode.name]); } for (var i$1 = 0; i$1 < help._global.length; i$1++) { var cur = help._global[i$1]; if (cur.pred(mode, this) && indexOf(found, cur.val) == -1) { found.push(cur.val); } } return found }, getStateAfter: function(line, precise) { var doc = this.doc; line = clipLine(doc, line == null ? doc.first + doc.size - 1: line); return getContextBefore(this, line + 1, precise).state }, cursorCoords: function(start, mode) { var pos, range = this.doc.sel.primary(); if (start == null) { pos = range.head; } else if (typeof start == "object") { pos = clipPos(this.doc, start); } else { pos = start ? range.from() : range.to(); } return cursorCoords(this, pos, mode || "page") }, charCoords: function(pos, mode) { return charCoords(this, clipPos(this.doc, pos), mode || "page") }, coordsChar: function(coords, mode) { coords = fromCoordSystem(this, coords, mode || "page"); return coordsChar(this, coords.left, coords.top) }, lineAtHeight: function(height, mode) { height = fromCoordSystem(this, {top: height, left: 0}, mode || "page").top; return lineAtHeight(this.doc, height + this.display.viewOffset) }, heightAtLine: function(line, mode, includeWidgets) { var end = false, lineObj; if (typeof line == "number") { var last = this.doc.first + this.doc.size - 1; if (line < this.doc.first) { line = this.doc.first; } else if (line > last) { line = last; end = true; } lineObj = getLine(this.doc, line); } else { lineObj = line; } return intoCoordSystem(this, lineObj, {top: 0, left: 0}, mode || "page", includeWidgets || end).top + (end ? this.doc.height - heightAtLine(lineObj) : 0) }, defaultTextHeight: function() { return textHeight(this.display) }, defaultCharWidth: function() { return charWidth(this.display) }, getViewport: function() { return {from: this.display.viewFrom, to: this.display.viewTo}}, addWidget: function(pos, node, scroll, vert, horiz) { var display = this.display; pos = cursorCoords(this, clipPos(this.doc, pos)); var top = pos.bottom, left = pos.left; node.style.position = "absolute"; node.setAttribute("cm-ignore-events", "true"); this.display.input.setUneditable(node); display.sizer.appendChild(node); if (vert == "over") { top = pos.top; } else if (vert == "above" || vert == "near") { var vspace = Math.max(display.wrapper.clientHeight, this.doc.height), hspace = Math.max(display.sizer.clientWidth, display.lineSpace.clientWidth); // Default to positioning above (if specified and possible); otherwise default to positioning below if ((vert == 'above' || pos.bottom + node.offsetHeight > vspace) && pos.top > node.offsetHeight) { top = pos.top - node.offsetHeight; } else if (pos.bottom + node.offsetHeight <= vspace) { top = pos.bottom; } if (left + node.offsetWidth > hspace) { left = hspace - node.offsetWidth; } } node.style.top = top + "px"; node.style.left = node.style.right = ""; if (horiz == "right") { left = display.sizer.clientWidth - node.offsetWidth; node.style.right = "0px"; } else { if (horiz == "left") { left = 0; } else if (horiz == "middle") { left = (display.sizer.clientWidth - node.offsetWidth) / 2; } node.style.left = left + "px"; } if (scroll) { scrollIntoView(this, {left: left, top: top, right: left + node.offsetWidth, bottom: top + node.offsetHeight}); } }, triggerOnKeyDown: methodOp(onKeyDown), triggerOnKeyPress: methodOp(onKeyPress), triggerOnKeyUp: onKeyUp, triggerOnMouseDown: methodOp(onMouseDown), execCommand: function(cmd) { if (commands.hasOwnProperty(cmd)) { return commands[cmd].call(null, this) } }, triggerElectric: methodOp(function(text) { triggerElectric(this, text); }), findPosH: function(from, amount, unit, visually) { var dir = 1; if (amount < 0) { dir = -1; amount = -amount; } var cur = clipPos(this.doc, from); for (var i = 0; i < amount; ++i) { cur = findPosH(this.doc, cur, dir, unit, visually); if (cur.hitSide) { break } } return cur }, moveH: methodOp(function(dir, unit) { var this$1 = this; this.extendSelectionsBy(function (range) { if (this$1.display.shift || this$1.doc.extend || range.empty()) { return findPosH(this$1.doc, range.head, dir, unit, this$1.options.rtlMoveVisually) } else { return dir < 0 ? range.from() : range.to() } }, sel_move); }), deleteH: methodOp(function(dir, unit) { var sel = this.doc.sel, doc = this.doc; if (sel.somethingSelected()) { doc.replaceSelection("", null, "+delete"); } else { deleteNearSelection(this, function (range) { var other = findPosH(doc, range.head, dir, unit, false); return dir < 0 ? {from: other, to: range.head} : {from: range.head, to: other} }); } }), findPosV: function(from, amount, unit, goalColumn) { var dir = 1, x = goalColumn; if (amount < 0) { dir = -1; amount = -amount; } var cur = clipPos(this.doc, from); for (var i = 0; i < amount; ++i) { var coords = cursorCoords(this, cur, "div"); if (x == null) { x = coords.left; } else { coords.left = x; } cur = findPosV(this, coords, dir, unit); if (cur.hitSide) { break } } return cur }, moveV: methodOp(function(dir, unit) { var this$1 = this; var doc = this.doc, goals = []; var collapse = !this.display.shift && !doc.extend && doc.sel.somethingSelected(); doc.extendSelectionsBy(function (range) { if (collapse) { return dir < 0 ? range.from() : range.to() } var headPos = cursorCoords(this$1, range.head, "div"); if (range.goalColumn != null) { headPos.left = range.goalColumn; } goals.push(headPos.left); var pos = findPosV(this$1, headPos, dir, unit); if (unit == "page" && range == doc.sel.primary()) { addToScrollTop(this$1, charCoords(this$1, pos, "div").top - headPos.top); } return pos }, sel_move); if (goals.length) { for (var i = 0; i < doc.sel.ranges.length; i++) { doc.sel.ranges[i].goalColumn = goals[i]; } } }), // Find the word at the given position (as returned by coordsChar). findWordAt: function(pos) { var doc = this.doc, line = getLine(doc, pos.line).text; var start = pos.ch, end = pos.ch; if (line) { var helper = this.getHelper(pos, "wordChars"); if ((pos.sticky == "before" || end == line.length) && start) { --start; } else { ++end; } var startChar = line.charAt(start); var check = isWordChar(startChar, helper) ? function (ch) { return isWordChar(ch, helper); } : /\s/.test(startChar) ? function (ch) { return /\s/.test(ch); } : function (ch) { return (!/\s/.test(ch) && !isWordChar(ch)); }; while (start > 0 && check(line.charAt(start - 1))) { --start; } while (end < line.length && check(line.charAt(end))) { ++end; } } return new Range(Pos(pos.line, start), Pos(pos.line, end)) }, toggleOverwrite: function(value) { if (value != null && value == this.state.overwrite) { return } if (this.state.overwrite = !this.state.overwrite) { addClass(this.display.cursorDiv, "CodeMirror-overwrite"); } else { rmClass(this.display.cursorDiv, "CodeMirror-overwrite"); } signal(this, "overwriteToggle", this, this.state.overwrite); }, hasFocus: function() { return this.display.input.getField() == activeElt() }, isReadOnly: function() { return !!(this.options.readOnly || this.doc.cantEdit) }, scrollTo: methodOp(function (x, y) { scrollToCoords(this, x, y); }), getScrollInfo: function() { var scroller = this.display.scroller; return {left: scroller.scrollLeft, top: scroller.scrollTop, height: scroller.scrollHeight - scrollGap(this) - this.display.barHeight, width: scroller.scrollWidth - scrollGap(this) - this.display.barWidth, clientHeight: displayHeight(this), clientWidth: displayWidth(this)} }, scrollIntoView: methodOp(function(range, margin) { if (range == null) { range = {from: this.doc.sel.primary().head, to: null}; if (margin == null) { margin = this.options.cursorScrollMargin; } } else if (typeof range == "number") { range = {from: Pos(range, 0), to: null}; } else if (range.from == null) { range = {from: range, to: null}; } if (!range.to) { range.to = range.from; } range.margin = margin || 0; if (range.from.line != null) { scrollToRange(this, range); } else { scrollToCoordsRange(this, range.from, range.to, range.margin); } }), setSize: methodOp(function(width, height) { var this$1 = this; var interpret = function (val) { return typeof val == "number" || /^\d+$/.test(String(val)) ? val + "px" : val; }; if (width != null) { this.display.wrapper.style.width = interpret(width); } if (height != null) { this.display.wrapper.style.height = interpret(height); } if (this.options.lineWrapping) { clearLineMeasurementCache(this); } var lineNo = this.display.viewFrom; this.doc.iter(lineNo, this.display.viewTo, function (line) { if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) { if (line.widgets[i].noHScroll) { regLineChange(this$1, lineNo, "widget"); break } } } ++lineNo; }); this.curOp.forceUpdate = true; signal(this, "refresh", this); }), operation: function(f){return runInOp(this, f)}, startOperation: function(){return startOperation(this)}, endOperation: function(){return endOperation(this)}, refresh: methodOp(function() { var oldHeight = this.display.cachedTextHeight; regChange(this); this.curOp.forceUpdate = true; clearCaches(this); scrollToCoords(this, this.doc.scrollLeft, this.doc.scrollTop); updateGutterSpace(this.display); if (oldHeight == null || Math.abs(oldHeight - textHeight(this.display)) > .5 || this.options.lineWrapping) { estimateLineHeights(this); } signal(this, "refresh", this); }), swapDoc: methodOp(function(doc) { var old = this.doc; old.cm = null; // Cancel the current text selection if any (#5821) if (this.state.selectingText) { this.state.selectingText(); } attachDoc(this, doc); clearCaches(this); this.display.input.reset(); scrollToCoords(this, doc.scrollLeft, doc.scrollTop); this.curOp.forceScroll = true; signalLater(this, "swapDoc", this, old); return old }), phrase: function(phraseText) { var phrases = this.options.phrases; return phrases && Object.prototype.hasOwnProperty.call(phrases, phraseText) ? phrases[phraseText] : phraseText }, getInputField: function(){return this.display.input.getField()}, getWrapperElement: function(){return this.display.wrapper}, getScrollerElement: function(){return this.display.scroller}, getGutterElement: function(){return this.display.gutters} }; eventMixin(CodeMirror); CodeMirror.registerHelper = function(type, name, value) { if (!helpers.hasOwnProperty(type)) { helpers[type] = CodeMirror[type] = {_global: []}; } helpers[type][name] = value; }; CodeMirror.registerGlobalHelper = function(type, name, predicate, value) { CodeMirror.registerHelper(type, name, value); helpers[type]._global.push({pred: predicate, val: value}); }; } // Used for horizontal relative motion. Dir is -1 or 1 (left or // right), unit can be "codepoint", "char", "column" (like char, but // doesn't cross line boundaries), "word" (across next word), or // "group" (to the start of next group of word or // non-word-non-whitespace chars). The visually param controls // whether, in right-to-left text, direction 1 means to move towards // the next index in the string, or towards the character to the right // of the current position. The resulting position will have a // hitSide=true property if it reached the end of the document. function findPosH(doc, pos, dir, unit, visually) { var oldPos = pos; var origDir = dir; var lineObj = getLine(doc, pos.line); var lineDir = visually && doc.direction == "rtl" ? -dir : dir; function findNextLine() { var l = pos.line + lineDir; if (l < doc.first || l >= doc.first + doc.size) { return false } pos = new Pos(l, pos.ch, pos.sticky); return lineObj = getLine(doc, l) } function moveOnce(boundToLine) { var next; if (unit == "codepoint") { var ch = lineObj.text.charCodeAt(pos.ch + (dir > 0 ? 0 : -1)); if (isNaN(ch)) { next = null; } else { var astral = dir > 0 ? ch >= 0xD800 && ch < 0xDC00 : ch >= 0xDC00 && ch < 0xDFFF; next = new Pos(pos.line, Math.max(0, Math.min(lineObj.text.length, pos.ch + dir * (astral ? 2 : 1))), -dir); } } else if (visually) { next = moveVisually(doc.cm, lineObj, pos, dir); } else { next = moveLogically(lineObj, pos, dir); } if (next == null) { if (!boundToLine && findNextLine()) { pos = endOfLine(visually, doc.cm, lineObj, pos.line, lineDir); } else { return false } } else { pos = next; } return true } if (unit == "char" || unit == "codepoint") { moveOnce(); } else if (unit == "column") { moveOnce(true); } else if (unit == "word" || unit == "group") { var sawType = null, group = unit == "group"; var helper = doc.cm && doc.cm.getHelper(pos, "wordChars"); for (var first = true;; first = false) { if (dir < 0 && !moveOnce(!first)) { break } var cur = lineObj.text.charAt(pos.ch) || "\n"; var type = isWordChar(cur, helper) ? "w" : group && cur == "\n" ? "n" : !group || /\s/.test(cur) ? null : "p"; if (group && !first && !type) { type = "s"; } if (sawType && sawType != type) { if (dir < 0) {dir = 1; moveOnce(); pos.sticky = "after";} break } if (type) { sawType = type; } if (dir > 0 && !moveOnce(!first)) { break } } } var result = skipAtomic(doc, pos, oldPos, origDir, true); if (equalCursorPos(oldPos, result)) { result.hitSide = true; } return result } // For relative vertical movement. Dir may be -1 or 1. Unit can be // "page" or "line". The resulting position will have a hitSide=true // property if it reached the end of the document. function findPosV(cm, pos, dir, unit) { var doc = cm.doc, x = pos.left, y; if (unit == "page") { var pageSize = Math.min(cm.display.wrapper.clientHeight, window.innerHeight || document.documentElement.clientHeight); var moveAmount = Math.max(pageSize - .5 * textHeight(cm.display), 3); y = (dir > 0 ? pos.bottom : pos.top) + dir * moveAmount; } else if (unit == "line") { y = dir > 0 ? pos.bottom + 3 : pos.top - 3; } var target; for (;;) { target = coordsChar(cm, x, y); if (!target.outside) { break } if (dir < 0 ? y <= 0 : y >= doc.height) { target.hitSide = true; break } y += dir * 5; } return target } // CONTENTEDITABLE INPUT STYLE var ContentEditableInput = function(cm) { this.cm = cm; this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null; this.polling = new Delayed(); this.composing = null; this.gracePeriod = false; this.readDOMTimeout = null; }; ContentEditableInput.prototype.init = function (display) { var this$1 = this; var input = this, cm = input.cm; var div = input.div = display.lineDiv; div.contentEditable = true; disableBrowserMagic(div, cm.options.spellcheck, cm.options.autocorrect, cm.options.autocapitalize); function belongsToInput(e) { for (var t = e.target; t; t = t.parentNode) { if (t == div) { return true } if (/\bCodeMirror-(?:line)?widget\b/.test(t.className)) { break } } return false } on(div, "paste", function (e) { if (!belongsToInput(e) || signalDOMEvent(cm, e) || handlePaste(e, cm)) { return } // IE doesn't fire input events, so we schedule a read for the pasted content in this way if (ie_version <= 11) { setTimeout(operation(cm, function () { return this$1.updateFromDOM(); }), 20); } }); on(div, "compositionstart", function (e) { this$1.composing = {data: e.data, done: false}; }); on(div, "compositionupdate", function (e) { if (!this$1.composing) { this$1.composing = {data: e.data, done: false}; } }); on(div, "compositionend", function (e) { if (this$1.composing) { if (e.data != this$1.composing.data) { this$1.readFromDOMSoon(); } this$1.composing.done = true; } }); on(div, "touchstart", function () { return input.forceCompositionEnd(); }); on(div, "input", function () { if (!this$1.composing) { this$1.readFromDOMSoon(); } }); function onCopyCut(e) { if (!belongsToInput(e) || signalDOMEvent(cm, e)) { return } if (cm.somethingSelected()) { setLastCopied({lineWise: false, text: cm.getSelections()}); if (e.type == "cut") { cm.replaceSelection("", null, "cut"); } } else if (!cm.options.lineWiseCopyCut) { return } else { var ranges = copyableRanges(cm); setLastCopied({lineWise: true, text: ranges.text}); if (e.type == "cut") { cm.operation(function () { cm.setSelections(ranges.ranges, 0, sel_dontScroll); cm.replaceSelection("", null, "cut"); }); } } if (e.clipboardData) { e.clipboardData.clearData(); var content = lastCopied.text.join("\n"); // iOS exposes the clipboard API, but seems to discard content inserted into it e.clipboardData.setData("Text", content); if (e.clipboardData.getData("Text") == content) { e.preventDefault(); return } } // Old-fashioned briefly-focus-a-textarea hack var kludge = hiddenTextarea(), te = kludge.firstChild; cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild); te.value = lastCopied.text.join("\n"); var hadFocus = activeElt(); selectInput(te); setTimeout(function () { cm.display.lineSpace.removeChild(kludge); hadFocus.focus(); if (hadFocus == div) { input.showPrimarySelection(); } }, 50); } on(div, "copy", onCopyCut); on(div, "cut", onCopyCut); }; ContentEditableInput.prototype.screenReaderLabelChanged = function (label) { // Label for screenreaders, accessibility if(label) { this.div.setAttribute('aria-label', label); } else { this.div.removeAttribute('aria-label'); } }; ContentEditableInput.prototype.prepareSelection = function () { var result = prepareSelection(this.cm, false); result.focus = activeElt() == this.div; return result }; ContentEditableInput.prototype.showSelection = function (info, takeFocus) { if (!info || !this.cm.display.view.length) { return } if (info.focus || takeFocus) { this.showPrimarySelection(); } this.showMultipleSelections(info); }; ContentEditableInput.prototype.getSelection = function () { return this.cm.display.wrapper.ownerDocument.getSelection() }; ContentEditableInput.prototype.showPrimarySelection = function () { var sel = this.getSelection(), cm = this.cm, prim = cm.doc.sel.primary(); var from = prim.from(), to = prim.to(); if (cm.display.viewTo == cm.display.viewFrom || from.line >= cm.display.viewTo || to.line < cm.display.viewFrom) { sel.removeAllRanges(); return } var curAnchor = domToPos(cm, sel.anchorNode, sel.anchorOffset); var curFocus = domToPos(cm, sel.focusNode, sel.focusOffset); if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad && cmp(minPos(curAnchor, curFocus), from) == 0 && cmp(maxPos(curAnchor, curFocus), to) == 0) { return } var view = cm.display.view; var start = (from.line >= cm.display.viewFrom && posToDOM(cm, from)) || {node: view[0].measure.map[2], offset: 0}; var end = to.line < cm.display.viewTo && posToDOM(cm, to); if (!end) { var measure = view[view.length - 1].measure; var map = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map; end = {node: map[map.length - 1], offset: map[map.length - 2] - map[map.length - 3]}; } if (!start || !end) { sel.removeAllRanges(); return } var old = sel.rangeCount && sel.getRangeAt(0), rng; try { rng = range(start.node, start.offset, end.offset, end.node); } catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible if (rng) { if (!gecko && cm.state.focused) { sel.collapse(start.node, start.offset); if (!rng.collapsed) { sel.removeAllRanges(); sel.addRange(rng); } } else { sel.removeAllRanges(); sel.addRange(rng); } if (old && sel.anchorNode == null) { sel.addRange(old); } else if (gecko) { this.startGracePeriod(); } } this.rememberSelection(); }; ContentEditableInput.prototype.startGracePeriod = function () { var this$1 = this; clearTimeout(this.gracePeriod); this.gracePeriod = setTimeout(function () { this$1.gracePeriod = false; if (this$1.selectionChanged()) { this$1.cm.operation(function () { return this$1.cm.curOp.selectionChanged = true; }); } }, 20); }; ContentEditableInput.prototype.showMultipleSelections = function (info) { removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors); removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection); }; ContentEditableInput.prototype.rememberSelection = function () { var sel = this.getSelection(); this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset; this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset; }; ContentEditableInput.prototype.selectionInEditor = function () { var sel = this.getSelection(); if (!sel.rangeCount) { return false } var node = sel.getRangeAt(0).commonAncestorContainer; return contains(this.div, node) }; ContentEditableInput.prototype.focus = function () { if (this.cm.options.readOnly != "nocursor") { if (!this.selectionInEditor() || activeElt() != this.div) { this.showSelection(this.prepareSelection(), true); } this.div.focus(); } }; ContentEditableInput.prototype.blur = function () { this.div.blur(); }; ContentEditableInput.prototype.getField = function () { return this.div }; ContentEditableInput.prototype.supportsTouch = function () { return true }; ContentEditableInput.prototype.receivedFocus = function () { var this$1 = this; var input = this; if (this.selectionInEditor()) { setTimeout(function () { return this$1.pollSelection(); }, 20); } else { runInOp(this.cm, function () { return input.cm.curOp.selectionChanged = true; }); } function poll() { if (input.cm.state.focused) { input.pollSelection(); input.polling.set(input.cm.options.pollInterval, poll); } } this.polling.set(this.cm.options.pollInterval, poll); }; ContentEditableInput.prototype.selectionChanged = function () { var sel = this.getSelection(); return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset || sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset }; ContentEditableInput.prototype.pollSelection = function () { if (this.readDOMTimeout != null || this.gracePeriod || !this.selectionChanged()) { return } var sel = this.getSelection(), cm = this.cm; // On Android Chrome (version 56, at least), backspacing into an // uneditable block element will put the cursor in that element, // and then, because it's not editable, hide the virtual keyboard. // Because Android doesn't allow us to actually detect backspace // presses in a sane way, this code checks for when that happens // and simulates a backspace press in this case. if (android && chrome && this.cm.display.gutterSpecs.length && isInGutter(sel.anchorNode)) { this.cm.triggerOnKeyDown({type: "keydown", keyCode: 8, preventDefault: Math.abs}); this.blur(); this.focus(); return } if (this.composing) { return } this.rememberSelection(); var anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset); var head = domToPos(cm, sel.focusNode, sel.focusOffset); if (anchor && head) { runInOp(cm, function () { setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll); if (anchor.bad || head.bad) { cm.curOp.selectionChanged = true; } }); } }; ContentEditableInput.prototype.pollContent = function () { if (this.readDOMTimeout != null) { clearTimeout(this.readDOMTimeout); this.readDOMTimeout = null; } var cm = this.cm, display = cm.display, sel = cm.doc.sel.primary(); var from = sel.from(), to = sel.to(); if (from.ch == 0 && from.line > cm.firstLine()) { from = Pos(from.line - 1, getLine(cm.doc, from.line - 1).length); } if (to.ch == getLine(cm.doc, to.line).text.length && to.line < cm.lastLine()) { to = Pos(to.line + 1, 0); } if (from.line < display.viewFrom || to.line > display.viewTo - 1) { return false } var fromIndex, fromLine, fromNode; if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) { fromLine = lineNo(display.view[0].line); fromNode = display.view[0].node; } else { fromLine = lineNo(display.view[fromIndex].line); fromNode = display.view[fromIndex - 1].node.nextSibling; } var toIndex = findViewIndex(cm, to.line); var toLine, toNode; if (toIndex == display.view.length - 1) { toLine = display.viewTo - 1; toNode = display.lineDiv.lastChild; } else { toLine = lineNo(display.view[toIndex + 1].line) - 1; toNode = display.view[toIndex + 1].node.previousSibling; } if (!fromNode) { return false } var newText = cm.doc.splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine)); var oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length)); while (newText.length > 1 && oldText.length > 1) { if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine--; } else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++; } else { break } } var cutFront = 0, cutEnd = 0; var newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length); while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront)) { ++cutFront; } var newBot = lst(newText), oldBot = lst(oldText); var maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0), oldBot.length - (oldText.length == 1 ? cutFront : 0)); while (cutEnd < maxCutEnd && newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) { ++cutEnd; } // Try to move start of change to start of selection if ambiguous if (newText.length == 1 && oldText.length == 1 && fromLine == from.line) { while (cutFront && cutFront > from.ch && newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) { cutFront--; cutEnd++; } } newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd).replace(/^\u200b+/, ""); newText[0] = newText[0].slice(cutFront).replace(/\u200b+$/, ""); var chFrom = Pos(fromLine, cutFront); var chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0); if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) { replaceRange(cm.doc, newText, chFrom, chTo, "+input"); return true } }; ContentEditableInput.prototype.ensurePolled = function () { this.forceCompositionEnd(); }; ContentEditableInput.prototype.reset = function () { this.forceCompositionEnd(); }; ContentEditableInput.prototype.forceCompositionEnd = function () { if (!this.composing) { return } clearTimeout(this.readDOMTimeout); this.composing = null; this.updateFromDOM(); this.div.blur(); this.div.focus(); }; ContentEditableInput.prototype.readFromDOMSoon = function () { var this$1 = this; if (this.readDOMTimeout != null) { return } this.readDOMTimeout = setTimeout(function () { this$1.readDOMTimeout = null; if (this$1.composing) { if (this$1.composing.done) { this$1.composing = null; } else { return } } this$1.updateFromDOM(); }, 80); }; ContentEditableInput.prototype.updateFromDOM = function () { var this$1 = this; if (this.cm.isReadOnly() || !this.pollContent()) { runInOp(this.cm, function () { return regChange(this$1.cm); }); } }; ContentEditableInput.prototype.setUneditable = function (node) { node.contentEditable = "false"; }; ContentEditableInput.prototype.onKeyPress = function (e) { if (e.charCode == 0 || this.composing) { return } e.preventDefault(); if (!this.cm.isReadOnly()) { operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0); } }; ContentEditableInput.prototype.readOnlyChanged = function (val) { this.div.contentEditable = String(val != "nocursor"); }; ContentEditableInput.prototype.onContextMenu = function () {}; ContentEditableInput.prototype.resetPosition = function () {}; ContentEditableInput.prototype.needsContentAttribute = true; function posToDOM(cm, pos) { var view = findViewForLine(cm, pos.line); if (!view || view.hidden) { return null } var line = getLine(cm.doc, pos.line); var info = mapFromLineView(view, line, pos.line); var order = getOrder(line, cm.doc.direction), side = "left"; if (order) { var partPos = getBidiPartAt(order, pos.ch); side = partPos % 2 ? "right" : "left"; } var result = nodeAndOffsetInLineMap(info.map, pos.ch, side); result.offset = result.collapse == "right" ? result.end : result.start; return result } function isInGutter(node) { for (var scan = node; scan; scan = scan.parentNode) { if (/CodeMirror-gutter-wrapper/.test(scan.className)) { return true } } return false } function badPos(pos, bad) { if (bad) { pos.bad = true; } return pos } function domTextBetween(cm, from, to, fromLine, toLine) { var text = "", closing = false, lineSep = cm.doc.lineSeparator(), extraLinebreak = false; function recognizeMarker(id) { return function (marker) { return marker.id == id; } } function close() { if (closing) { text += lineSep; if (extraLinebreak) { text += lineSep; } closing = extraLinebreak = false; } } function addText(str) { if (str) { close(); text += str; } } function walk(node) { if (node.nodeType == 1) { var cmText = node.getAttribute("cm-text"); if (cmText) { addText(cmText); return } var markerID = node.getAttribute("cm-marker"), range; if (markerID) { var found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID)); if (found.length && (range = found[0].find(0))) { addText(getBetween(cm.doc, range.from, range.to).join(lineSep)); } return } if (node.getAttribute("contenteditable") == "false") { return } var isBlock = /^(pre|div|p|li|table|br)$/i.test(node.nodeName); if (!/^br$/i.test(node.nodeName) && node.textContent.length == 0) { return } if (isBlock) { close(); } for (var i = 0; i < node.childNodes.length; i++) { walk(node.childNodes[i]); } if (/^(pre|p)$/i.test(node.nodeName)) { extraLinebreak = true; } if (isBlock) { closing = true; } } else if (node.nodeType == 3) { addText(node.nodeValue.replace(/\u200b/g, "").replace(/\u00a0/g, " ")); } } for (;;) { walk(from); if (from == to) { break } from = from.nextSibling; extraLinebreak = false; } return text } function domToPos(cm, node, offset) { var lineNode; if (node == cm.display.lineDiv) { lineNode = cm.display.lineDiv.childNodes[offset]; if (!lineNode) { return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true) } node = null; offset = 0; } else { for (lineNode = node;; lineNode = lineNode.parentNode) { if (!lineNode || lineNode == cm.display.lineDiv) { return null } if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) { break } } } for (var i = 0; i < cm.display.view.length; i++) { var lineView = cm.display.view[i]; if (lineView.node == lineNode) { return locateNodeInLineView(lineView, node, offset) } } } function locateNodeInLineView(lineView, node, offset) { var wrapper = lineView.text.firstChild, bad = false; if (!node || !contains(wrapper, node)) { return badPos(Pos(lineNo(lineView.line), 0), true) } if (node == wrapper) { bad = true; node = wrapper.childNodes[offset]; offset = 0; if (!node) { var line = lineView.rest ? lst(lineView.rest) : lineView.line; return badPos(Pos(lineNo(line), line.text.length), bad) } } var textNode = node.nodeType == 3 ? node : null, topNode = node; if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) { textNode = node.firstChild; if (offset) { offset = textNode.nodeValue.length; } } while (topNode.parentNode != wrapper) { topNode = topNode.parentNode; } var measure = lineView.measure, maps = measure.maps; function find(textNode, topNode, offset) { for (var i = -1; i < (maps ? maps.length : 0); i++) { var map = i < 0 ? measure.map : maps[i]; for (var j = 0; j < map.length; j += 3) { var curNode = map[j + 2]; if (curNode == textNode || curNode == topNode) { var line = lineNo(i < 0 ? lineView.line : lineView.rest[i]); var ch = map[j] + offset; if (offset < 0 || curNode != textNode) { ch = map[j + (offset ? 1 : 0)]; } return Pos(line, ch) } } } } var found = find(textNode, topNode, offset); if (found) { return badPos(found, bad) } // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems for (var after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) { found = find(after, after.firstChild, 0); if (found) { return badPos(Pos(found.line, found.ch - dist), bad) } else { dist += after.textContent.length; } } for (var before = topNode.previousSibling, dist$1 = offset; before; before = before.previousSibling) { found = find(before, before.firstChild, -1); if (found) { return badPos(Pos(found.line, found.ch + dist$1), bad) } else { dist$1 += before.textContent.length; } } } // TEXTAREA INPUT STYLE var TextareaInput = function(cm) { this.cm = cm; // See input.poll and input.reset this.prevInput = ""; // Flag that indicates whether we expect input to appear real soon // now (after some event like 'keypress' or 'input') and are // polling intensively. this.pollingFast = false; // Self-resetting timeout for the poller this.polling = new Delayed(); // Used to work around IE issue with selection being forgotten when focus moves away from textarea this.hasSelection = false; this.composing = null; }; TextareaInput.prototype.init = function (display) { var this$1 = this; var input = this, cm = this.cm; this.createField(display); var te = this.textarea; display.wrapper.insertBefore(this.wrapper, display.wrapper.firstChild); // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore) if (ios) { te.style.width = "0px"; } on(te, "input", function () { if (ie && ie_version >= 9 && this$1.hasSelection) { this$1.hasSelection = null; } input.poll(); }); on(te, "paste", function (e) { if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return } cm.state.pasteIncoming = +new Date; input.fastPoll(); }); function prepareCopyCut(e) { if (signalDOMEvent(cm, e)) { return } if (cm.somethingSelected()) { setLastCopied({lineWise: false, text: cm.getSelections()}); } else if (!cm.options.lineWiseCopyCut) { return } else { var ranges = copyableRanges(cm); setLastCopied({lineWise: true, text: ranges.text}); if (e.type == "cut") { cm.setSelections(ranges.ranges, null, sel_dontScroll); } else { input.prevInput = ""; te.value = ranges.text.join("\n"); selectInput(te); } } if (e.type == "cut") { cm.state.cutIncoming = +new Date; } } on(te, "cut", prepareCopyCut); on(te, "copy", prepareCopyCut); on(display.scroller, "paste", function (e) { if (eventInWidget(display, e) || signalDOMEvent(cm, e)) { return } if (!te.dispatchEvent) { cm.state.pasteIncoming = +new Date; input.focus(); return } // Pass the `paste` event to the textarea so it's handled by its event listener. var event = new Event("paste"); event.clipboardData = e.clipboardData; te.dispatchEvent(event); }); // Prevent normal selection in the editor (we handle our own) on(display.lineSpace, "selectstart", function (e) { if (!eventInWidget(display, e)) { e_preventDefault(e); } }); on(te, "compositionstart", function () { var start = cm.getCursor("from"); if (input.composing) { input.composing.range.clear(); } input.composing = { start: start, range: cm.markText(start, cm.getCursor("to"), {className: "CodeMirror-composing"}) }; }); on(te, "compositionend", function () { if (input.composing) { input.poll(); input.composing.range.clear(); input.composing = null; } }); }; TextareaInput.prototype.createField = function (_display) { // Wraps and hides input textarea this.wrapper = hiddenTextarea(); // The semihidden textarea that is focused when the editor is // focused, and receives input. this.textarea = this.wrapper.firstChild; }; TextareaInput.prototype.screenReaderLabelChanged = function (label) { // Label for screenreaders, accessibility if(label) { this.textarea.setAttribute('aria-label', label); } else { this.textarea.removeAttribute('aria-label'); } }; TextareaInput.prototype.prepareSelection = function () { // Redraw the selection and/or cursor var cm = this.cm, display = cm.display, doc = cm.doc; var result = prepareSelection(cm); // Move the hidden textarea near the cursor to prevent scrolling artifacts if (cm.options.moveInputWithCursor) { var headPos = cursorCoords(cm, doc.sel.primary().head, "div"); var wrapOff = display.wrapper.getBoundingClientRect(), lineOff = display.lineDiv.getBoundingClientRect(); result.teTop = Math.max(0, Math.min(display.wrapper.clientHeight - 10, headPos.top + lineOff.top - wrapOff.top)); result.teLeft = Math.max(0, Math.min(display.wrapper.clientWidth - 10, headPos.left + lineOff.left - wrapOff.left)); } return result }; TextareaInput.prototype.showSelection = function (drawn) { var cm = this.cm, display = cm.display; removeChildrenAndAdd(display.cursorDiv, drawn.cursors); removeChildrenAndAdd(display.selectionDiv, drawn.selection); if (drawn.teTop != null) { this.wrapper.style.top = drawn.teTop + "px"; this.wrapper.style.left = drawn.teLeft + "px"; } }; // Reset the input to correspond to the selection (or to be empty, // when not typing and nothing is selected) TextareaInput.prototype.reset = function (typing) { if (this.contextMenuPending || this.composing) { return } var cm = this.cm; if (cm.somethingSelected()) { this.prevInput = ""; var content = cm.getSelection(); this.textarea.value = content; if (cm.state.focused) { selectInput(this.textarea); } if (ie && ie_version >= 9) { this.hasSelection = content; } } else if (!typing) { this.prevInput = this.textarea.value = ""; if (ie && ie_version >= 9) { this.hasSelection = null; } } }; TextareaInput.prototype.getField = function () { return this.textarea }; TextareaInput.prototype.supportsTouch = function () { return false }; TextareaInput.prototype.focus = function () { if (this.cm.options.readOnly != "nocursor" && (!mobile || activeElt() != this.textarea)) { try { this.textarea.focus(); } catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM } }; TextareaInput.prototype.blur = function () { this.textarea.blur(); }; TextareaInput.prototype.resetPosition = function () { this.wrapper.style.top = this.wrapper.style.left = 0; }; TextareaInput.prototype.receivedFocus = function () { this.slowPoll(); }; // Poll for input changes, using the normal rate of polling. This // runs as long as the editor is focused. TextareaInput.prototype.slowPoll = function () { var this$1 = this; if (this.pollingFast) { return } this.polling.set(this.cm.options.pollInterval, function () { this$1.poll(); if (this$1.cm.state.focused) { this$1.slowPoll(); } }); }; // When an event has just come in that is likely to add or change // something in the input textarea, we poll faster, to ensure that // the change appears on the screen quickly. TextareaInput.prototype.fastPoll = function () { var missed = false, input = this; input.pollingFast = true; function p() { var changed = input.poll(); if (!changed && !missed) {missed = true; input.polling.set(60, p);} else {input.pollingFast = false; input.slowPoll();} } input.polling.set(20, p); }; // Read input from the textarea, and update the document to match. // When something is selected, it is present in the textarea, and // selected (unless it is huge, in which case a placeholder is // used). When nothing is selected, the cursor sits after previously // seen text (can be empty), which is stored in prevInput (we must // not reset the textarea when typing, because that breaks IME). TextareaInput.prototype.poll = function () { var this$1 = this; var cm = this.cm, input = this.textarea, prevInput = this.prevInput; // Since this is called a *lot*, try to bail out as cheaply as // possible when it is clear that nothing happened. hasSelection // will be the case when there is a lot of text in the textarea, // in which case reading its value would be expensive. if (this.contextMenuPending || !cm.state.focused || (hasSelection(input) && !prevInput && !this.composing) || cm.isReadOnly() || cm.options.disableInput || cm.state.keySeq) { return false } var text = input.value; // If nothing changed, bail. if (text == prevInput && !cm.somethingSelected()) { return false } // Work around nonsensical selection resetting in IE9/10, and // inexplicable appearance of private area unicode characters on // some key combos in Mac (#2689). if (ie && ie_version >= 9 && this.hasSelection === text || mac && /[\uf700-\uf7ff]/.test(text)) { cm.display.input.reset(); return false } if (cm.doc.sel == cm.display.selForContextMenu) { var first = text.charCodeAt(0); if (first == 0x200b && !prevInput) { prevInput = "\u200b"; } if (first == 0x21da) { this.reset(); return this.cm.execCommand("undo") } } // Find the part of the input that is actually new var same = 0, l = Math.min(prevInput.length, text.length); while (same < l && prevInput.charCodeAt(same) == text.charCodeAt(same)) { ++same; } runInOp(cm, function () { applyTextInput(cm, text.slice(same), prevInput.length - same, null, this$1.composing ? "*compose" : null); // Don't leave long text in the textarea, since it makes further polling slow if (text.length > 1000 || text.indexOf("\n") > -1) { input.value = this$1.prevInput = ""; } else { this$1.prevInput = text; } if (this$1.composing) { this$1.composing.range.clear(); this$1.composing.range = cm.markText(this$1.composing.start, cm.getCursor("to"), {className: "CodeMirror-composing"}); } }); return true }; TextareaInput.prototype.ensurePolled = function () { if (this.pollingFast && this.poll()) { this.pollingFast = false; } }; TextareaInput.prototype.onKeyPress = function () { if (ie && ie_version >= 9) { this.hasSelection = null; } this.fastPoll(); }; TextareaInput.prototype.onContextMenu = function (e) { var input = this, cm = input.cm, display = cm.display, te = input.textarea; if (input.contextMenuPending) { input.contextMenuPending(); } var pos = posFromMouse(cm, e), scrollPos = display.scroller.scrollTop; if (!pos || presto) { return } // Opera is difficult. // Reset the current text selection only if the click is done outside of the selection // and 'resetSelectionOnContextMenu' option is true. var reset = cm.options.resetSelectionOnContextMenu; if (reset && cm.doc.sel.contains(pos) == -1) { operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll); } var oldCSS = te.style.cssText, oldWrapperCSS = input.wrapper.style.cssText; var wrapperBox = input.wrapper.offsetParent.getBoundingClientRect(); input.wrapper.style.cssText = "position: static"; te.style.cssText = "position: absolute; width: 30px; height: 30px;\n top: " + (e.clientY - wrapperBox.top - 5) + "px; left: " + (e.clientX - wrapperBox.left - 5) + "px;\n z-index: 1000; background: " + (ie ? "rgba(255, 255, 255, .05)" : "transparent") + ";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);"; var oldScrollY; if (webkit) { oldScrollY = window.scrollY; } // Work around Chrome issue (#2712) display.input.focus(); if (webkit) { window.scrollTo(null, oldScrollY); } display.input.reset(); // Adds "Select all" to context menu in FF if (!cm.somethingSelected()) { te.value = input.prevInput = " "; } input.contextMenuPending = rehide; display.selForContextMenu = cm.doc.sel; clearTimeout(display.detectingSelectAll); // Select-all will be greyed out if there's nothing to select, so // this adds a zero-width space so that we can later check whether // it got selected. function prepareSelectAllHack() { if (te.selectionStart != null) { var selected = cm.somethingSelected(); var extval = "\u200b" + (selected ? te.value : ""); te.value = "\u21da"; // Used to catch context-menu undo te.value = extval; input.prevInput = selected ? "" : "\u200b"; te.selectionStart = 1; te.selectionEnd = extval.length; // Re-set this, in case some other handler touched the // selection in the meantime. display.selForContextMenu = cm.doc.sel; } } function rehide() { if (input.contextMenuPending != rehide) { return } input.contextMenuPending = false; input.wrapper.style.cssText = oldWrapperCSS; te.style.cssText = oldCSS; if (ie && ie_version < 9) { display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos); } // Try to detect the user choosing select-all if (te.selectionStart != null) { if (!ie || (ie && ie_version < 9)) { prepareSelectAllHack(); } var i = 0, poll = function () { if (display.selForContextMenu == cm.doc.sel && te.selectionStart == 0 && te.selectionEnd > 0 && input.prevInput == "\u200b") { operation(cm, selectAll)(cm); } else if (i++ < 10) { display.detectingSelectAll = setTimeout(poll, 500); } else { display.selForContextMenu = null; display.input.reset(); } }; display.detectingSelectAll = setTimeout(poll, 200); } } if (ie && ie_version >= 9) { prepareSelectAllHack(); } if (captureRightClick) { e_stop(e); var mouseup = function () { off(window, "mouseup", mouseup); setTimeout(rehide, 20); }; on(window, "mouseup", mouseup); } else { setTimeout(rehide, 50); } }; TextareaInput.prototype.readOnlyChanged = function (val) { if (!val) { this.reset(); } this.textarea.disabled = val == "nocursor"; this.textarea.readOnly = !!val; }; TextareaInput.prototype.setUneditable = function () {}; TextareaInput.prototype.needsContentAttribute = false; function fromTextArea(textarea, options) { options = options ? copyObj(options) : {}; options.value = textarea.value; if (!options.tabindex && textarea.tabIndex) { options.tabindex = textarea.tabIndex; } if (!options.placeholder && textarea.placeholder) { options.placeholder = textarea.placeholder; } // Set autofocus to true if this textarea is focused, or if it has // autofocus and no other element is focused. if (options.autofocus == null) { var hasFocus = activeElt(); options.autofocus = hasFocus == textarea || textarea.getAttribute("autofocus") != null && hasFocus == document.body; } function save() {textarea.value = cm.getValue();} var realSubmit; if (textarea.form) { on(textarea.form, "submit", save); // Deplorable hack to make the submit method do the right thing. if (!options.leaveSubmitMethodAlone) { var form = textarea.form; realSubmit = form.submit; try { var wrappedSubmit = form.submit = function () { save(); form.submit = realSubmit; form.submit(); form.submit = wrappedSubmit; }; } catch(e) {} } } options.finishInit = function (cm) { cm.save = save; cm.getTextArea = function () { return textarea; }; cm.toTextArea = function () { cm.toTextArea = isNaN; // Prevent this from being ran twice save(); textarea.parentNode.removeChild(cm.getWrapperElement()); textarea.style.display = ""; if (textarea.form) { off(textarea.form, "submit", save); if (!options.leaveSubmitMethodAlone && typeof textarea.form.submit == "function") { textarea.form.submit = realSubmit; } } }; }; textarea.style.display = "none"; var cm = CodeMirror(function (node) { return textarea.parentNode.insertBefore(node, textarea.nextSibling); }, options); return cm } function addLegacyProps(CodeMirror) { CodeMirror.off = off; CodeMirror.on = on; CodeMirror.wheelEventPixels = wheelEventPixels; CodeMirror.Doc = Doc; CodeMirror.splitLines = splitLinesAuto; CodeMirror.countColumn = countColumn; CodeMirror.findColumn = findColumn; CodeMirror.isWordChar = isWordCharBasic; CodeMirror.Pass = Pass; CodeMirror.signal = signal; CodeMirror.Line = Line; CodeMirror.changeEnd = changeEnd; CodeMirror.scrollbarModel = scrollbarModel; CodeMirror.Pos = Pos; CodeMirror.cmpPos = cmp; CodeMirror.modes = modes; CodeMirror.mimeModes = mimeModes; CodeMirror.resolveMode = resolveMode; CodeMirror.getMode = getMode; CodeMirror.modeExtensions = modeExtensions; CodeMirror.extendMode = extendMode; CodeMirror.copyState = copyState; CodeMirror.startState = startState; CodeMirror.innerMode = innerMode; CodeMirror.commands = commands; CodeMirror.keyMap = keyMap; CodeMirror.keyName = keyName; CodeMirror.isModifierKey = isModifierKey; CodeMirror.lookupKey = lookupKey; CodeMirror.normalizeKeyMap = normalizeKeyMap; CodeMirror.StringStream = StringStream; CodeMirror.SharedTextMarker = SharedTextMarker; CodeMirror.TextMarker = TextMarker; CodeMirror.LineWidget = LineWidget; CodeMirror.e_preventDefault = e_preventDefault; CodeMirror.e_stopPropagation = e_stopPropagation; CodeMirror.e_stop = e_stop; CodeMirror.addClass = addClass; CodeMirror.contains = contains; CodeMirror.rmClass = rmClass; CodeMirror.keyNames = keyNames; } // EDITOR CONSTRUCTOR defineOptions(CodeMirror); addEditorMethods(CodeMirror); // Set up methods on CodeMirror's prototype to redirect to the editor's document. var dontDelegate = "iter insert remove copy getEditor constructor".split(" "); for (var prop in Doc.prototype) { if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0) { CodeMirror.prototype[prop] = (function(method) { return function() {return method.apply(this.doc, arguments)} })(Doc.prototype[prop]); } } eventMixin(Doc); CodeMirror.inputStyles = {"textarea": TextareaInput, "contenteditable": ContentEditableInput}; // Extra arguments are stored as the mode's dependencies, which is // used by (legacy) mechanisms like loadmode.js to automatically // load a mode. (Preferred mechanism is the require/define calls.) CodeMirror.defineMode = function(name/*, mode, …*/) { if (!CodeMirror.defaults.mode && name != "null") { CodeMirror.defaults.mode = name; } defineMode.apply(this, arguments); }; CodeMirror.defineMIME = defineMIME; // Minimal default mode. CodeMirror.defineMode("null", function () { return ({token: function (stream) { return stream.skipToEnd(); }}); }); CodeMirror.defineMIME("text/plain", "null"); // EXTENSIONS CodeMirror.defineExtension = function (name, func) { CodeMirror.prototype[name] = func; }; CodeMirror.defineDocExtension = function (name, func) { Doc.prototype[name] = func; }; CodeMirror.fromTextArea = fromTextArea; addLegacyProps(CodeMirror); CodeMirror.version = "5.64.0"; return CodeMirror; }))); // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE // xml !function(){var N={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},M={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};CodeMirror.defineMode("xml",function(t,e){var r,a,i,l=t.indentUnit,u={},n=e.htmlMode?N:M;for(r in n)u[r]=n[r];for(r in e)u[r]=e[r];function d(e,r){function t(t){return(r.tokenize=t)(e,r)}var n=e.next();if("<"==n)return e.eat("!")?e.eat("[")?e.match("CDATA[")?t(o("atom","]]>")):null:e.match("--")?t(o("comment","--\x3e")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),t(function n(o){return function(t,e){for(var r;null!=(r=t.next());){if("<"==r)return e.tokenize=n(o+1),e.tokenize(t,e);if(">"==r){if(1!=o)return e.tokenize=n(o-1),e.tokenize(t,e);e.tokenize=d;break}}return"meta"}}(1))):null:e.eat("?")?(e.eatWhile(/[\w\._\-]/),r.tokenize=o("meta","?>"),"meta"):(a=e.eat("/")?"closeTag":"openTag",r.tokenize=s,"tag bracket");if("&"!=n)return e.eatWhile(/[^&<]/),null;n=e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";");return n?"atom":"error"}function s(t,e){var r=t.next();if(">"==r||"/"==r&&t.eat(">"))return e.tokenize=d,a=">"==r?"endTag":"selfcloseTag","tag bracket";if("="==r)return a="equals",null;if("<"!=r)return/[\'\"]/.test(r)?(e.tokenize=(n=r,o.isInAttribute=!0,o),e.stringStartCol=t.column(),e.tokenize(t,e)):(t.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word");e.tokenize=d,e.state=p,e.tagName=e.tagStart=null;var n,e=e.tokenize(t,e);return e?e+" tag error":"tag error";function o(t,e){for(;!t.eol();)if(t.next()==n){e.tokenize=s;break}return"string"}}function o(r,n){return function(t,e){for(;!t.eol();){if(t.match(n)){e.tokenize=d;break}t.next()}return r}}function c(t){return t&&t.toLowerCase()}function f(t,e,r){this.prev=t.context,this.tagName=e||"",this.indent=t.indented,this.startOfLine=r,(u.doNotIndent.hasOwnProperty(e)||t.context&&t.context.noIndent)&&(this.noIndent=!0)}function m(t){t.context&&(t.context=t.context.prev)}function g(t,e){for(var r;;){if(!t.context)return;if(r=t.context.tagName,!u.contextGrabbers.hasOwnProperty(c(r))||!u.contextGrabbers[c(r)].hasOwnProperty(c(e)))return;m(t)}}function p(t,e,r){return"openTag"==t?(r.tagStart=e.column(),h):"closeTag"==t?x:p}function h(t,e,r){return"word"==t?(r.tagName=e.current(),i="tag",w):u.allowMissingTagName&&"endTag"==t?(i="tag bracket",w(t,0,r)):(i="error",h)}function x(t,e,r){if("word"!=t)return u.allowMissingTagName&&"endTag"==t?(i="tag bracket",b(t,0,r)):(i="error",k);e=e.current();return r.context&&r.context.tagName!=e&&u.implicitlyClosed.hasOwnProperty(c(r.context.tagName))&&m(r),r.context&&r.context.tagName==e||!1===u.matchClosing?(i="tag",b):(i="tag error",k)}function b(t,e,r){return"endTag"!=t?(i="error",b):(m(r),p)}function k(t,e,r){return i="error",b(t,0,r)}function w(t,e,r){if("word"==t)return i="attribute",C;if("endTag"!=t&&"selfcloseTag"!=t)return i="error",w;var n=r.tagName,o=r.tagStart;return r.tagName=r.tagStart=null,"selfcloseTag"==t||u.autoSelfClosers.hasOwnProperty(c(n))?g(r,n):(g(r,n),r.context=new f(r,n,o==r.indented)),p}function C(t,e,r){return"equals"==t?T:(u.allowMissing||(i="error"),w(t,0,r))}function T(t,e,r){return"string"==t?v:"word"==t&&u.allowUnquoted?(i="string",w):(i="error",w(t,0,r))}function v(t,e,r){return"string"==t?v:w(t,0,r)}return d.isInText=!0,{startState:function(t){var e={tokenize:d,state:p,indented:t||0,tagName:null,tagStart:null,context:null};return null!=t&&(e.baseIndent=t),e},token:function(t,e){if(!e.tagName&&t.sol()&&(e.indented=t.indentation()),t.eatSpace())return null;a=null;var r=e.tokenize(t,e);return(r||a)&&"comment"!=r&&(i=null,e.state=e.state(a||r,t,e),i&&(r="error"==i?r+" error":i)),r},indent:function(t,e,r){var n=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+l;if(n&&n.noIndent)return CodeMirror.Pass;if(t.tokenize!=s&&t.tokenize!=d)return r?r.match(/^(\s*)/)[0].length:0;if(t.tagName)return!1!==u.multilineTagIndentPastTag?t.tagStart+t.tagName.length+2:t.tagStart+l*(u.multilineTagIndentFactor||1);if(u.alignCDATA&&/$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:u.htmlMode?"html":"xml",helperType:u.htmlMode?"html":"xml",skipAttribute:function(t){t.state==T&&(t.state=w)},xmlCurrentTag:function(t){return t.tagName?{name:t.tagName,close:"closeTag"==t.type}:null},xmlCurrentContext:function(t){for(var e=[],r=t.context;r;r=r.prev)e.push(r.tagName);return e.reverse()}}}),CodeMirror.defineMIME("text/xml","xml"),CodeMirror.defineMIME("application/xml","xml"),CodeMirror.mimeModes.hasOwnProperty("text/html")||CodeMirror.defineMIME("text/html",{name:"xml",htmlMode:!0})}(); // htmlmixed !function(){var l={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]};var a={};function d(t,e){e=t.match(a[e=e]||(a[e]=new RegExp("\\s+"+e+"\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*")));return e?/^\s*(.*?)\s*$/.exec(e[2])[1]:""}function m(t,e){return new RegExp((e?"^":"")+"","i")}function o(t,e){for(var a in t)for(var n=e[a]||(e[a]=[]),l=t[a],o=l.length-1;0<=o;o--)n.unshift(l[o])}CodeMirror.defineMode("htmlmixed",function(i,t){var c=CodeMirror.getMode(i,{name:"xml",htmlMode:!0,multilineTagIndentFactor:t.multilineTagIndentFactor,multilineTagIndentPastTag:t.multilineTagIndentPastTag,allowMissingTagName:t.allowMissingTagName}),s={},e=t&&t.tags,a=t&&t.scriptTypes;if(o(l,s),e&&o(e,s),a)for(var n=a.length-1;0<=n;n--)s.script.unshift(["type",a[n].matches,a[n].mode]);function u(t,e){var a,o,r,n=c.token(t,e.htmlState),l=/\btag\b/.test(n);return l&&!/[<>\s\/]/.test(t.current())&&(a=e.htmlState.tagName&&e.htmlState.tagName.toLowerCase())&&s.hasOwnProperty(a)?e.inTag=a+" ":e.inTag&&l&&/>$/.test(t.current())?(a=/^([\S]+) (.*)/.exec(e.inTag),e.inTag=null,l=">"==t.current()&&function(t,e){for(var a=0;ai.keyCol)return e.skipToEnd(),"string";if(i.literal&&(i.literal=!1),e.sol()){if(i.keyCol=0,i.pair=!1,i.pairStart=!1,e.match("---"))return"def";if(e.match("..."))return"def";if(e.match(/\s*-\s+/))return"meta"}if(e.match(/^(\{|\}|\[|\])/))return"{"==t?i.inlinePairs++:"}"==t?i.inlinePairs--:"["==t?i.inlineList++:i.inlineList--,"meta";if(0)\s*/))return i.literal=!0,"meta";if(e.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable-2";if(0==i.inlinePairs&&e.match(/^\s*-?[0-9\.\,]+\s?$/))return"number";if(0'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(i.pair=!0,i.keyCol=e.indentation(),"atom"):i.pair&&e.match(/^:\s*/)?(i.pairStart=!0,"meta"):(i.pairStart=!1,i.escaped="\\"==t,e.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},lineComment:"#",fold:"indent"}}),CodeMirror.defineMIME("text/x-yaml","yaml"),CodeMirror.defineMIME("text/yaml","yaml"); // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../xml/xml"), require("../meta")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../xml/xml", "../meta"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) { var htmlMode = CodeMirror.getMode(cmCfg, "text/html"); var htmlModeMissing = htmlMode.name == "null" function getMode(name) { if (CodeMirror.findModeByName) { var found = CodeMirror.findModeByName(name); if (found) name = found.mime || found.mimes[0]; } var mode = CodeMirror.getMode(cmCfg, name); return mode.name == "null" ? null : mode; } // Should characters that affect highlighting be highlighted separate? // Does not include characters that will be output (such as `1.` and `-` for lists) if (modeCfg.highlightFormatting === undefined) modeCfg.highlightFormatting = false; // Maximum number of nested blockquotes. Set to 0 for infinite nesting. // Excess `>` will emit `error` token. if (modeCfg.maxBlockquoteDepth === undefined) modeCfg.maxBlockquoteDepth = 0; // Turn on task lists? ("- [ ] " and "- [x] ") if (modeCfg.taskLists === undefined) modeCfg.taskLists = false; // Turn on strikethrough syntax if (modeCfg.strikethrough === undefined) modeCfg.strikethrough = false; if (modeCfg.emoji === undefined) modeCfg.emoji = false; if (modeCfg.fencedCodeBlockHighlighting === undefined) modeCfg.fencedCodeBlockHighlighting = true; if (modeCfg.xml === undefined) modeCfg.xml = true; // Allow token types to be overridden by user-provided token types. if (modeCfg.tokenTypeOverrides === undefined) modeCfg.tokenTypeOverrides = {}; var tokenTypes = { header: "header", code: "comment", quote: "quote", list1: "variable-2", list2: "variable-3", list3: "keyword", hr: "hr", image: "image", imageAltText: "image-alt-text", imageMarker: "image-marker", formatting: "formatting", linkInline: "link", linkEmail: "link", linkText: "link", linkHref: "string", em: "em", strong: "strong", strikethrough: "strikethrough", emoji: "builtin", highlight: "highlight", }; for (var tokenType in tokenTypes) { if (tokenTypes.hasOwnProperty(tokenType) && modeCfg.tokenTypeOverrides[tokenType]) { tokenTypes[tokenType] = modeCfg.tokenTypeOverrides[tokenType]; } } var hrRE = /^([*\-_])(?:\s*\1){2,}\s*$/ , listRE = /^(?:[*\-+]|^[0-9]+([.)]))\s+/ , taskListRE = /^\[(.)\](?=\s)/i // Must follow listRE , atxHeaderRE = modeCfg.allowAtxHeaderWithoutSpace ? /^(#+)/ : /^(#+)(?: |$)/ , setextHeaderRE = /^ {0,3}(?:\={1,}|-{2,})\s*$/ , textRE = /^[^#!\[\]*_\\<>` "'(~:=|$%^]+/ , fencedCodeRE = /^ ?(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/ , linkDefRE = /^\s*\[[^\]]+?\]:.*$/ // naive link-definition , punctuation = /[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/ , expandedTab = " " // CommonMark specifies tab as 4 spaces , escapableRE = /^[\\`*{}\[\]()#+-.!_>~|\n"$%&',\/:;<=?@^]/ // escapable chars as defined by CommonMark function switchInline(stream, state, f) { state.f = state.inline = f; return f(stream, state); } function switchBlock(stream, state, f) { state.f = state.block = f; return f(stream, state); } function lineIsEmpty(line) { return !line || !/\S/.test(line.string) } function enterFencedCodeblock(state, match) { state.quote = 0; state.fencedEndRE = new RegExp(match[1] + "+ *$"); // try switching mode state.localMode = modeCfg.fencedCodeBlockHighlighting && getMode(match[2]); if (state.localMode) state.localState = CodeMirror.startState(state.localMode); state.f = state.block = local; if (modeCfg.highlightFormatting) state.formatting = "code-block"; state.code = -1 } // Blocks function blankLine(state) { // Reset linkTitle state state.linkTitle = false; state.linkHref = false; state.linkText = false; // Reset EM state state.em = false; // Reset STRONG state state.strong = false; // Reset strikethrough state state.strikethrough = false; // Reset highlight state state.highlight = false; // Reset state.quote state.quote = 0; // Reset state.indentedCode state.indentedCode = false; if (state.f == htmlBlock) { var exit = htmlModeMissing if (!exit) { var inner = CodeMirror.innerMode(htmlMode, state.htmlState) exit = inner.mode.name == "xml" && inner.state.tagStart === null && (!inner.state.context && inner.state.tokenize.isInText) } if (exit) { state.f = inlineNormal; state.block = blockNormal; state.htmlState = null; } } // Reset state.trailingSpace state.trailingSpace = 0; state.trailingSpaceNewLine = false; // Mark this line as blank state.prevLine = state.thisLine state.thisLine = {stream: null} return null; } function blockNormal(stream, state) { var firstTokenOnLine = stream.column() === state.indentation; var prevLineLineIsEmpty = lineIsEmpty(state.prevLine.stream); var prevLineIsIndentedCode = state.indentedCode; var prevLineIsHr = state.prevLine.hr; var prevLineIsList = state.list !== false; var maxNonCodeIndentation = (state.listStack[state.listStack.length - 1] || 0) + 3; state.indentedCode = false; var lineIndentation = state.indentation; // compute once per line (on first token) if (state.indentationDiff === null) { state.indentationDiff = state.indentation; if (prevLineIsList) { state.list = null; // While this list item's marker's indentation is less than the deepest // list item's content's indentation,pop the deepest list item // indentation off the stack, and update block indentation state while (lineIndentation < state.listStack[state.listStack.length - 1]) { state.listStack.pop(); if (state.listStack.length) { state.indentation = state.listStack[state.listStack.length - 1]; // less than the first list's indent -> the line is no longer a list } else { state.list = false; } } if (state.list !== false) { state.indentationDiff = lineIndentation - state.listStack[state.listStack.length - 1] } } } // not comprehensive (currently only for setext detection purposes) var allowsInlineContinuation = ( !prevLineLineIsEmpty && !prevLineIsHr && !state.prevLine.header && (!prevLineIsList || !prevLineIsIndentedCode) && !state.prevLine.fencedCodeEnd ); var isHr = (state.list === false || prevLineIsHr || prevLineLineIsEmpty) && state.indentation <= maxNonCodeIndentation && stream.match(hrRE); var match = null; if (state.indentationDiff >= 4 && (prevLineIsIndentedCode || state.prevLine.fencedCodeEnd || state.prevLine.header || prevLineLineIsEmpty)) { stream.skipToEnd(); state.indentedCode = true; return tokenTypes.code; } else if (stream.eatSpace()) { return null; } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(atxHeaderRE)) && match[1].length <= 6) { state.quote = 0; state.header = match[1].length; state.thisLine.header = true; if (modeCfg.highlightFormatting) state.formatting = "header"; state.f = state.inline; return getType(state); } else if (state.indentation <= maxNonCodeIndentation && stream.eat('>')) { state.quoteOpen = true; state.quote = firstTokenOnLine ? 1 : state.quote + 1; if (modeCfg.highlightFormatting) state.formatting = "quote"; stream.eatSpace(); return getType(state); } else if (!isHr && !state.setext && firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(listRE))) { var listType = match[1] ? "ol" : "ul"; state.indentation = lineIndentation + stream.current().length; state.list = true; state.quote = 0; // Add this list item's content's indentation to the stack state.listStack.push(state.indentation); // Reset inline styles which shouldn't propagate across list items state.em = false; state.strong = false; state.code = false; state.strikethrough = false; state.highlight = false; if (modeCfg.taskLists && stream.match(taskListRE, false)) { state.taskList = true; } state.f = state.inline; if (modeCfg.highlightFormatting) state.formatting = ["list", "list-" + listType]; return getType(state); } else if (firstTokenOnLine && state.indentation <= maxNonCodeIndentation && (match = stream.match(fencedCodeRE, true))) { enterFencedCodeblock(state, match); return getType(state); // SETEXT has lowest block-scope precedence after HR, so check it after // the others (code, blockquote, list...) } else if ( // if setext set, indicates line after ---/=== state.setext || ( // line before ---/=== (!allowsInlineContinuation || !prevLineIsList) && !state.quote && state.list === false && !state.code && !isHr && !linkDefRE.test(stream.string) && (match = stream.lookAhead(1)) && (match = match.match(setextHeaderRE)) ) ) { if ( !state.setext ) { state.header = match[0].charAt(0) == '=' ? 1 : 2; state.setext = state.header; } else { state.header = state.setext; // has no effect on type so we can reset it now state.setext = 0; stream.skipToEnd(); if (modeCfg.highlightFormatting) state.formatting = "header"; } state.thisLine.header = true; state.f = state.inline; return getType(state); } else if (isHr) { stream.skipToEnd(); state.hr = true; state.thisLine.hr = true; return tokenTypes.hr; } else if (stream.peek() === '[') { return switchInline(stream, state, footnoteLink); } return switchInline(stream, state, state.inline); } function htmlBlock(stream, state) { var style = htmlMode.token(stream, state.htmlState); if (!htmlModeMissing) { var inner = CodeMirror.innerMode(htmlMode, state.htmlState) if ((inner.mode.name == "xml" && inner.state.tagStart === null && (!inner.state.context && inner.state.tokenize.isInText)) || (state.md_inside && stream.current().indexOf(">") > -1)) { state.f = inlineNormal; state.block = blockNormal; state.htmlState = null; } } return style; } function local(stream, state) { var currListInd = state.listStack[state.listStack.length - 1] || 0; var hasExitedList = state.indentation < currListInd; var maxFencedEndInd = currListInd + 3; if (state.fencedEndRE && state.indentation <= maxFencedEndInd && (hasExitedList || stream.match(state.fencedEndRE))) { if (modeCfg.highlightFormatting) state.formatting = "code-block"; var returnType; if (!hasExitedList) returnType = getType(state) state.localMode = state.localState = null; state.block = blockNormal; state.f = inlineNormal; state.fencedEndRE = null; state.code = 0 state.thisLine.fencedCodeEnd = true; if (hasExitedList) return switchBlock(stream, state, state.block); return returnType; } else if (state.localMode) { return state.localMode.token(stream, state.localState); } else { stream.skipToEnd(); return tokenTypes.code; } } // Inline function getType(state) { var styles = []; if (state.formatting) { styles.push(tokenTypes.formatting); if (typeof state.formatting === "string") state.formatting = [state.formatting]; for (var i = 0; i < state.formatting.length; i++) { styles.push(tokenTypes.formatting + "-" + state.formatting[i]); if (state.formatting[i] === "header") { styles.push(tokenTypes.formatting + "-" + state.formatting[i] + "-" + state.header); } // Add `formatting-quote` and `formatting-quote-#` for blockquotes // Add `error` instead if the maximum blockquote nesting depth is passed if (state.formatting[i] === "quote") { if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) { styles.push(tokenTypes.formatting + "-" + state.formatting[i] + "-" + state.quote); } else { styles.push("error"); } } } } if (state.taskOpen) { styles.push("meta"); return styles.length ? styles.join(' ') : null; } if (state.taskClosed) { styles.push("property"); return styles.length ? styles.join(' ') : null; } // if (state.linkHref) { // styles.push(tokenTypes.linkHref, "url"); // } else { // Only apply inline styles to non-url text if (state.linkHref) { styles.push(tokenTypes.linkHref, "url"); } if (state.strong) { styles.push(tokenTypes.strong); } if (state.em) { styles.push(tokenTypes.em); } if (state.strikethrough) { styles.push(tokenTypes.strikethrough); } if (state.highlight) { styles.push(tokenTypes.highlight); } if (state.emoji) { styles.push(tokenTypes.emoji); } if (state.linkText) { styles.push(tokenTypes.linkText); } // Don't apply code styles to blockquote formatting. We encounter this edge case with // codeblocks in blockquotes let isQuoteFormatting = state.formatting && state.formatting.includes('quote'); if (state.code && !isQuoteFormatting) { styles.push(tokenTypes.code); } if (state.image) { styles.push(tokenTypes.image); } if (state.imageAltText) { styles.push(tokenTypes.imageAltText, "link"); } if (state.imageMarker) { styles.push(tokenTypes.imageMarker); } // } if (state.header) { styles.push(tokenTypes.header, tokenTypes.header + "-" + state.header); } if (state.quote) { styles.push(tokenTypes.quote); // Add `quote-#` where the maximum for `#` is modeCfg.maxBlockquoteDepth if (!modeCfg.maxBlockquoteDepth || modeCfg.maxBlockquoteDepth >= state.quote) { styles.push(tokenTypes.quote + "-" + state.quote); } else { styles.push(tokenTypes.quote + "-" + modeCfg.maxBlockquoteDepth); } } if (state.list !== false) { var listMod = (state.listStack.length - 1) % 3; if (!listMod) { styles.push(tokenTypes.list1); } else if (listMod === 1) { styles.push(tokenTypes.list2); } else { styles.push(tokenTypes.list3); } } if (state.trailingSpaceNewLine) { styles.push("trailing-space-new-line"); } else if (state.trailingSpace) { styles.push("trailing-space-" + (state.trailingSpace % 2 ? "a" : "b")); } return styles.length ? styles.join(' ') : null; } function handleText(stream, state) { if (stream.match(textRE, true)) { return getType(state); } return undefined; } function inlineNormal(stream, state) { var firstTokenInQuote = state.quoteOpen; state.quoteOpen = false; var style = state.text(stream, state); if (typeof style !== 'undefined') return style; // fix " - [[link]]" not working as it returns too early if (state.list && !state.internalLink) { // List marker (*, +, -, 1., etc) state.list = null; return getType(state); } if (state.taskList) { var match = stream.match(taskListRE, true); state.taskList = false; if (match) { var taskOpen = match[1] === " "; if (taskOpen) state.taskOpen = true; else state.taskClosed = true; if (modeCfg.highlightFormatting) state.formatting = "task"; return getType(state); } } var inList = state.list !== false; // inTaskList is only ever true *right after* the checkbox markup has been processed above var inTaskList = state.taskOpen || state.taskClosed; var inFirstListColumn = stream.column() === state.indentation; var firstTokenInList = inList && (inFirstListColumn || inTaskList); var maxNonCodeIndentation = (state.listStack[state.listStack.length - 1] || 0) + 3; state.taskOpen = false; state.taskClosed = false; // Check for fenced codeblocks at the beginning of a list item if (firstTokenInList && state.indentation <= maxNonCodeIndentation && (match = stream.match(fencedCodeRE, true))) { enterFencedCodeblock(state, match); return getType(state); } // Check for fenced codeblocks at the beginning of a blockquote line if (firstTokenInQuote && (match = stream.match(fencedCodeRE, true))) { // Found closing code fence if (state.code === 3) { var t = getType(state); state.code = 0; return t; } // Found opening code fence state.code = 3; return getType(state); } if (state.header && stream.match(/^#+$/, true)) { if (modeCfg.highlightFormatting) state.formatting = "header"; return getType(state); } var ch = stream.next(); // Matches link titles present on next line if (state.linkTitle) { state.linkTitle = false; var matchCh = ch; if (ch === '(') { matchCh = ')'; } matchCh = (matchCh+'').replace(/([.?*+^\[\]\\(){}|-])/g, "\\$1"); var regex = '^\\s*(?:[^' + matchCh + '\\\\]+|\\\\\\\\|\\\\.)' + matchCh; if (stream.match(new RegExp(regex), true)) { return tokenTypes.linkHref; } } // If this block is changed, it may need to be updated in GFM mode if (ch === '`') { var previousFormatting = state.formatting; if (modeCfg.highlightFormatting) state.formatting = "code"; stream.eatWhile('`'); var count = stream.current().length if (state.code == 0 && (!state.quote || count == 1)) { state.code = count return getType(state) } else if (count == state.code) { // Must be exact var t = getType(state) state.code = 0 return t } else { state.formatting = previousFormatting return getType(state) } } else if (state.code) { return getType(state); } if (ch === '\\') { if (stream.match(escapableRE, true) && modeCfg.highlightFormatting) { var type = getType(state); var formattingEscape = tokenTypes.formatting + "-escape"; return type ? type + " " + formattingEscape : formattingEscape; } } if (ch === '!' && stream.match(/\[[^\]]*\] ?(?:\(|\[)/, false)) { state.imageMarker = true; state.image = true; if (modeCfg.highlightFormatting) state.formatting = "image"; return getType(state); } if (ch === '[' && state.imageMarker && stream.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/, false)) { state.imageMarker = false; state.imageAltText = true if (modeCfg.highlightFormatting) state.formatting = "image"; return getType(state); } if (ch === ']' && state.imageAltText) { if (modeCfg.highlightFormatting) state.formatting = "image"; var type = getType(state); state.imageAltText = false; state.image = false; state.inline = state.f = linkHref; return type; } if (ch === '[' && !state.image && !state.internalLink) { if (state.linkText && stream.match(/^.*?\]/)) return getType(state) state.linkText = true; if (modeCfg.highlightFormatting) state.formatting = "link"; return getType(state); } if (ch === ']' && state.linkText) { if (modeCfg.highlightFormatting) state.formatting = "link"; var type = getType(state); state.linkText = false; state.inline = state.f = stream.match(/\(.*?\)| ?\[.*?\]/, false) ? linkHref : inlineNormal return type; } if (ch === '<' && stream.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/, false)) { state.f = state.inline = linkInline; if (modeCfg.highlightFormatting) state.formatting = "link"; var type = getType(state); if (type){ type += " "; } else { type = ""; } return type + tokenTypes.linkInline; } if (ch === '<' && stream.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/, false)) { state.f = state.inline = linkInline; if (modeCfg.highlightFormatting) state.formatting = "link"; var type = getType(state); if (type){ type += " "; } else { type = ""; } return type + tokenTypes.linkEmail; } if (modeCfg.xml && ch === '<' && stream.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i, false)) { var end = stream.string.indexOf(">", stream.pos); if (end != -1) { var atts = stream.string.substring(stream.start, end); if (/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(atts)) state.md_inside = true; } stream.backUp(1); state.htmlState = CodeMirror.startState(htmlMode); return switchBlock(stream, state, htmlBlock); } if (modeCfg.xml && ch === '<' && stream.match(/^\/\w*?>/)) { state.md_inside = false; return "tag"; } else if (ch === "*" || ch === "_") { var len = 1, before = stream.pos == 1 ? " " : stream.string.charAt(stream.pos - 2) while (len < 3 && stream.eat(ch)) len++ var after = stream.peek() || " " // See http://spec.commonmark.org/0.27/#emphasis-and-strong-emphasis var leftFlanking = !/\s/.test(after) && (!punctuation.test(after) || /\s/.test(before) || punctuation.test(before)) var rightFlanking = !/\s/.test(before) && (!punctuation.test(before) || /\s/.test(after) || punctuation.test(after)) var setEm = null, setStrong = null if (len % 2) { // Em if (!state.em && leftFlanking && (ch === "*" || !rightFlanking || punctuation.test(before))) setEm = true else if (state.em == ch && rightFlanking && (ch === "*" || !leftFlanking || punctuation.test(after))) setEm = false } if (len > 1) { // Strong if (!state.strong && leftFlanking && (ch === "*" || !rightFlanking || punctuation.test(before))) setStrong = true else if (state.strong == ch && rightFlanking && (ch === "*" || !leftFlanking || punctuation.test(after))) setStrong = false } if (setStrong != null || setEm != null) { if (modeCfg.highlightFormatting) state.formatting = setEm == null ? "strong" : setStrong == null ? "em" : "strong em" if (setEm === true) state.em = ch if (setStrong === true) state.strong = ch var t = getType(state) if (setEm === false) state.em = false if (setStrong === false) state.strong = false return t } } else if (ch === ' ') { if (stream.eat('*') || stream.eat('_')) { // Probably surrounded by spaces if (stream.peek() === ' ') { // Surrounded by spaces, ignore return getType(state); } else { // Not surrounded by spaces, back up pointer stream.backUp(1); } } } if (modeCfg.highlight) { if (ch === '=' && stream.eatWhile(ch)) { if (state.highlight) {// Remove highlight if (modeCfg.highlightFormatting) state.formatting = "highlight"; var t = getType(state); state.highlight = false; return t; } else if (stream.match(/^[^\s>]/, false)) {// Add highlight state.highlight = true; if (modeCfg.highlightFormatting) state.formatting = "highlight"; return getType(state); } } else if (ch === ' ') { if (stream.match(/^==/, true)) { // Probably surrounded by space if (stream.peek() === ' ') { // Surrounded by spaces, ignore return getType(state); } else { // Not surrounded by spaces, back up pointer stream.backUp(2); } } } } if (modeCfg.strikethrough) { if (ch === '~' && stream.eatWhile(ch)) { if (state.strikethrough) {// Remove strikethrough if (modeCfg.highlightFormatting) state.formatting = "strikethrough"; var t = getType(state); state.strikethrough = false; return t; } else if (stream.match(/^[^\s]/, false)) {// Add strikethrough state.strikethrough = true; if (modeCfg.highlightFormatting) state.formatting = "strikethrough"; return getType(state); } } else if (ch === ' ') { if (stream.match('~~', true)) { // Probably surrounded by space if (stream.peek() === ' ') { // Surrounded by spaces, ignore return getType(state); } else { // Not surrounded by spaces, back up pointer stream.backUp(2); } } } } if (modeCfg.emoji && ch === ":" && stream.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)) { state.emoji = true; if (modeCfg.highlightFormatting) state.formatting = "emoji"; var retType = getType(state); state.emoji = false; return retType; } if (ch === ' ') { if (stream.match(/^ +$/, false)) { state.trailingSpace++; } else if (state.trailingSpace) { state.trailingSpaceNewLine = true; } } return getType(state); } function linkInline(stream, state) { var ch = stream.next(); if (ch === ">") { state.f = state.inline = inlineNormal; if (modeCfg.highlightFormatting) state.formatting = "link"; var type = getType(state); if (type){ type += " "; } else { type = ""; } return type + tokenTypes.linkInline; } stream.match(/^[^>]+/, true); return tokenTypes.linkInline; } function linkHref(stream, state) { // Check if space, and return NULL if so (to avoid marking the space) if(stream.eatSpace()){ return null; } var ch = stream.next(); if (ch === '(' || ch === '[') { state.f = state.inline = getLinkHrefInside(ch === "(" ? ")" : "]"); if (modeCfg.highlightFormatting) state.formatting = "link-string"; state.linkHref = true; return getType(state); } return 'error'; } var linkRE = { ")": /^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/, "]": /^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/ } function getLinkHrefInside(endChar) { return function(stream, state) { var ch = stream.next(); if (ch === endChar) { state.f = state.inline = inlineNormal; if (modeCfg.highlightFormatting) state.formatting = "link-string"; var returnState = getType(state); state.linkHref = false; return returnState; } stream.match(linkRE[endChar]) state.linkHref = true; return getType(state); }; } function footnoteLink(stream, state) { if (stream.match(/^([^\]\\]|\\.)*\]:/, false)) { state.f = footnoteLinkInside; stream.next(); // Consume [ if (modeCfg.highlightFormatting) state.formatting = "link"; state.linkText = true; return getType(state); } return switchInline(stream, state, inlineNormal); } function footnoteLinkInside(stream, state) { if (stream.match(']:', true)) { state.f = state.inline = footnoteUrl; if (modeCfg.highlightFormatting) state.formatting = "link"; var returnType = getType(state); state.linkText = false; return returnType; } stream.match(/^([^\]\\]|\\.)+/, true); return tokenTypes.linkText; } function footnoteUrl(stream, state) { // Check if space, and return NULL if so (to avoid marking the space) if(stream.eatSpace()){ return null; } // Match URL stream.match(/^[^\s]+/, true); // Check for link title if (stream.peek() === undefined) { // End of line, set flag to check next line state.linkTitle = true; } else { // More content on line, check if link title stream.match(/^(?:\s+(?:"(?:[^"\\]|\\.)+"|'(?:[^'\\]|\\.)+'|\((?:[^)\\]|\\.)+\)))?/, true); } state.f = state.inline = inlineNormal; return tokenTypes.linkHref + " url"; } var mode = { startState: function() { return { f: blockNormal, prevLine: {stream: null}, thisLine: {stream: null}, block: blockNormal, htmlState: null, indentation: 0, inline: inlineNormal, text: handleText, formatting: false, linkText: false, linkHref: false, linkTitle: false, code: 0, em: false, strong: false, header: 0, setext: 0, hr: false, taskList: false, list: false, listStack: [], quote: 0, trailingSpace: 0, trailingSpaceNewLine: false, strikethrough: false, highlight: false, emoji: false, fencedEndRE: null }; }, copyState: function(s) { return { f: s.f, prevLine: s.prevLine, thisLine: s.thisLine, block: s.block, htmlState: s.htmlState && CodeMirror.copyState(htmlMode, s.htmlState), indentation: s.indentation, localMode: s.localMode, localState: s.localMode ? CodeMirror.copyState(s.localMode, s.localState) : null, inline: s.inline, text: s.text, formatting: false, linkText: s.linkText, linkTitle: s.linkTitle, linkHref: s.linkHref, code: s.code, em: s.em, strong: s.strong, strikethrough: s.strikethrough, highlight: s.highlight, emoji: s.emoji, header: s.header, setext: s.setext, hr: s.hr, taskList: s.taskList, list: s.list, listStack: s.listStack.slice(0), quote: s.quote, indentedCode: s.indentedCode, trailingSpace: s.trailingSpace, trailingSpaceNewLine: s.trailingSpaceNewLine, md_inside: s.md_inside, fencedEndRE: s.fencedEndRE }; }, token: function(stream, state) { // Reset state.formatting state.formatting = false; if (stream != state.thisLine.stream) { state.header = 0; state.hr = false; if (stream.match(/^\s*$/, true)) { blankLine(state); return null; } state.prevLine = state.thisLine state.thisLine = {stream: stream} // Reset state.taskList state.taskList = false; // Reset state.linkText state.linkText = false; // Reset state.trailingSpace state.trailingSpace = 0; state.trailingSpaceNewLine = false; if (!state.localState) { state.f = state.block; if (state.f != htmlBlock) { var indentation = stream.match(/^\s*/, true)[0].replace(/\t/g, expandedTab).length; state.indentation = indentation; state.indentationDiff = null; if (indentation > 0) return null; } } } return state.f(stream, state); }, innerMode: function(state) { if (state.block == htmlBlock) return {state: state.htmlState, mode: htmlMode}; if (state.localState) return {state: state.localState, mode: state.localMode}; return {state: state, mode: mode}; }, indent: function(state, textAfter, line) { if (state.block == htmlBlock && htmlMode.indent) return htmlMode.indent(state.htmlState, textAfter, line) if (state.localState && state.localMode.indent) return state.localMode.indent(state.localState, textAfter, line) return CodeMirror.Pass }, blankLine: blankLine, getType: getType, blockCommentStart: "", closeBrackets: "()[]{}''\"\"``", fold: "markdown" }; return mode; }, "xml"); CodeMirror.defineMIME("text/markdown", "markdown"); CodeMirror.defineMIME("text/x-markdown", "markdown"); }); !function(){CodeMirror.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy","cbl"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded JavaScript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"],alias:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var e=0;ee.start&&(n.startingInner=!1),s==e.pos&&r.parseDelimiters&&(n.innerActive=n.inner=null),i=r.innerStyle?i?i+" "+r.innerStyle:r.innerStyle:i}for(var o=1/0,t=e.string,l=0;l":[null,"greaterThan"],"≥":[null,"greaterThanOrEqual"],"≠":[null,"notEqual"],"≡":["depth","match"],"≢":[null,"notMatch"],"∈":["enlist","membership"],"⍷":[null,"find"],"∪":["unique","union"],"∩":[null,"intersection"],"∼":["not","without"],"∨":[null,"or"],"∧":[null,"and"],"⍱":[null,"nor"],"⍲":[null,"nand"],"⍴":["shapeOf","reshape"],",":["ravel","catenate"],"⍪":[null,"firstAxisCatenate"],"⌽":["reverse","rotate"],"⊖":["axis1Reverse","axis1Rotate"],"⍉":["transpose",null],"↑":["first","take"],"↓":[null,"drop"],"⊂":["enclose","partitionWithAxis"],"⊃":["diclose","pick"],"⌷":[null,"index"],"⍋":["gradeUp",null],"⍒":["gradeDown",null],"⊤":["encode",null],"⊥":["decode",null],"⍕":["format","formatByExample"],"⍎":["execute",null],"⊣":["stop","left"],"⊢":["pass","right"]},o=/[\.\/⌿⍀¨⍣]/,s=/⍬/,c=/[\+−×÷⌈⌊∣⍳\?⋆⍟○!⌹<≤=>≥≠≡≢∈⍷∪∩∼∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⌷⍋⍒⊤⊥⍕⍎⊣⊢]/,p=/←/,d=/[⍝#].*$/;return{startState:function(){return{prev:!1,func:!1,op:!1,string:!1,escape:!1}},token:function(e,n){var t,l,r,a;return e.eatSpace()?null:'"'===(t=e.next())||"'"===t?(e.eatWhile((r=t,function(e){return(a=e)!==r||"\\"===a})),e.next(),n.prev=!0,"string"):/[\[{\(]/.test(t)?(n.prev=!1,null):/[\]}\)]/.test(t)?(n.prev=!0,null):s.test(t)?(n.prev=!1,"niladic"):/[¯\d]/.test(t)?(n.func?(n.func=!1,n.prev=!1):n.prev=!0,e.eatWhile(/[\w\.]/),"number"):o.test(t)?"operator apl-"+i[t]:p.test(t)?"apl-arrow":c.test(t)?(l="apl-",null!=u[t]&&(n.prev?l+=u[t][1]:l+=u[t][0]),n.func=!0,n.prev=!1,"function "+l):d.test(t)?(e.skipToEnd(),"comment"):"∘"===t&&"."===e.peek()?(e.next(),"function jot-dot"):(e.eatWhile(/[\w\$_]/),n.prev=!0,"keyword")}}}),CodeMirror.defineMIME("text/apl","apl"); // asciiarmor !function(){function a(e){var t=e.match(/^\s*\S/);return e.skipToEnd(),t?"error":null}CodeMirror.defineMode("asciiarmor",function(){return{token:function(e,t){var r;if("top"==t.state)return e.sol()&&(r=e.match(/^-----BEGIN (.*)?-----\s*$/))?(t.state="headers",t.type=r[1],"tag"):a(e);if("headers"!=t.state)return"header"==t.state?(e.skipToEnd(),t.state="headers","string"):"body"==t.state?e.sol()&&(r=e.match(/^-----END (.*)?-----\s*$/))?r[1]!=t.type?"error":(t.state="end","tag"):e.eatWhile(/[A-Za-z0-9+\/=]/)?null:(e.next(),"error"):"end"==t.state?a(e):void 0;if(e.sol()&&e.match(/^\w+:/))return t.state="header","atom";e=a(e);return e&&(t.state="body"),e},blankLine:function(e){"headers"==e.state&&(e.state="body")},startState:function(){return{state:"top",type:null}}}}),CodeMirror.defineMIME("application/pgp","asciiarmor"),CodeMirror.defineMIME("application/pgp-encrypted","asciiarmor"),CodeMirror.defineMIME("application/pgp-keys","asciiarmor"),CodeMirror.defineMIME("application/pgp-signature","asciiarmor")}(); // asn.1 !function(){function e(e){for(var t={},n=e.split(" "),r=0;r?$/.test(n)?(t.extenExten=!0,t.extenStart=!1,"strong"):(t.extenStart=!1,e.skipToEnd(),"error")):t.extenExten?(t.extenExten=!1,t.extenPriority=!0,e.eatWhile(/[^,]/),t.extenInclude&&(e.skipToEnd(),t.extenPriority=!1,t.extenInclude=!1),t.extenSame&&(t.extenPriority=!1,t.extenSame=!1,t.extenApplication=!0),"tag"):t.extenPriority?(t.extenPriority=!1,t.extenApplication=!0,e.next(),t.extenSame?null:(e.eatWhile(/[^,]/),"number")):t.extenApplication?(e.eatWhile(/,/),","===(n=e.current())?null:(e.eatWhile(/\w/),n=e.current().toLowerCase(),t.extenApplication=!1,-1!==a.indexOf(n)?"def strong":null)):function(e,t){var n="",a=e.next();if(t.blockComment)return"-"==a&&e.match("-;",!0)?t.blockComment=!1:e.skipTo("--;")?(e.next(),e.next(),e.next(),t.blockComment=!1):e.skipToEnd(),"comment";if(";"==a)return e.match("--",!0)&&!e.match("-",!1)?t.blockComment=!0:e.skipToEnd(),"comment";if("["==a)return e.skipTo("]"),e.eat("]"),"header";if('"'==a)return e.skipTo('"'),"string";if("'"==a)return e.skipTo("'"),"string-2";if("#"==a&&(e.eatWhile(/\w/),n=e.current(),-1!==r.indexOf(n)))return e.skipToEnd(),"strong";if("$"==a&&"{"==e.peek())return e.skipTo("}"),e.eat("}"),"variable-3";if(e.eatWhile(/\w/),n=e.current(),-1!==i.indexOf(n)){switch(t.extenStart=!0,n){case"same":t.extenSame=!0;break;case"include":case"switch":case"ignorepat":t.extenInclude=!0}return"atom"}}(e,t)},blockCommentStart:";--",blockCommentEnd:"--;",lineComment:";"}}),CodeMirror.defineMIME("text/x-asterisk","asterisk"); // brainfuck !function(){var o="><+-.,[]".split("");CodeMirror.defineMode("brainfuck",function(){return{startState:function(){return{commentLine:!1,left:0,right:0,commentLoop:!1}},token:function(e,n){if(e.eatSpace())return null;e.sol()&&(n.commentLine=!1);var t=e.next().toString();return-1===o.indexOf(t)?(n.commentLine=!0,e.eol()&&(n.commentLine=!1),"comment"):!0===n.commentLine?(e.eol()&&(n.commentLine=!1),"comment"):"]"===t||"["===t?("["===t?n.left++:n.right++,"bracket"):"+"===t||"-"===t?"keyword":"<"===t||">"===t?"atom":"."===t||","===t?"def":void(e.eol()&&(n.commentLine=!1))}}}),CodeMirror.defineMIME("text/x-brainfuck","brainfuck")}(); // clike !function(){function N(e,t,n,r,o,a){this.indented=e,this.column=t,this.type=n,this.info=r,this.align=o,this.prev=a}function L(e,t,n,r){var o=e.indented;return e.context&&"statement"==e.context.type&&"statement"!=n&&(o=e.context.indented),e.context=new N(o,t,n,r,null,e.context)}function D(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}function P(e,t,n){return"variable"==t.prevToken||"type"==t.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(e.string.slice(0,n))||(!(!t.typeAtEndOfLine||e.column()!=e.indentation())||void 0))}function E(e){for(;;){if(!e||"top"==e.type)return 1;if("}"==e.type&&"namespace"!=e.prev.info)return;e=e.prev}}function e(e){for(var t={},n=e.split(" "),r=0;r!?|\/]/,S=i.isIdentifierChar||/[\w\$_\xa1-\uffff]/,T=i.isReservedIdentifier||!1;function C(e,t){var a,n=e.next();if(g[n]){var r=g[n](e,t);if(!1!==r)return r}if('"'==n||"'"==n)return t.tokenize=(a=n,function(e,t){for(var n,r=!1,o=!1;null!=(n=e.next());){if(n==a&&!r){o=!0;break}r=!r&&"\\"==n}return!o&&(r||k)||(t.tokenize=null),"string"}),t.tokenize(e,t);if(v.test(n)){if(e.backUp(1),e.match(w))return"number";e.next()}if(b.test(n))return l=n,null;if("/"==n){if(e.eat("*"))return(t.tokenize=I)(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(_.test(n)){for(;!e.match(/^\/[\/*]/,!1)&&e.eat(_););return"operator"}if(e.eatWhile(S),x)for(;e.match(x);)e.eatWhile(S);n=e.current();return z(o,n)?(z(m,n)&&(l="newstatement"),z(h,n)&&(s=!0),"keyword"):z(f,n)?"type":z(p,n)||T&&T(n)?(z(m,n)&&(l="newstatement"),"builtin"):z(y,n)?"atom":"variable"}function I(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function M(e,t){i.typeFirstDefinitions&&e.eol()&&E(t.context)&&(t.typeAtEndOfLine=P(e,t,e.pos))}return{startState:function(e){return{tokenize:null,context:new N((e||0)-c,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return M(e,t),null;l=s=null;var r,o=(t.tokenize||C)(e,t);if("comment"==o||"meta"==o)return o;if(null==n.align&&(n.align=!0),";"==l||":"==l||","==l&&e.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==t.context.type;)D(t);else if("{"==l)L(t,e.column(),"}");else if("["==l)L(t,e.column(),"]");else if("("==l)L(t,e.column(),")");else if("}"==l){for(;"statement"==n.type;)n=D(t);for("}"==n.type&&(n=D(t));"statement"==n.type;)n=D(t)}else l==n.type?D(t):a&&(("}"==n.type||"top"==n.type)&&";"!=l||"statement"==n.type&&"newstatement"==l)&&L(t,e.column(),"statement",e.current());return"variable"==o&&("def"==t.prevToken||i.typeFirstDefinitions&&P(e,t,e.start)&&E(t.context)&&e.match(/^\s*\(/,!1))&&(o="def"),!g.token||void 0!==(r=g.token(e,t,o))&&(o=r),"def"==o&&!1===i.styleDefs&&(o="variable"),t.startOfLine=!1,t.prevToken=s?"def":o||l,M(e,t),o},indent:function(e,t){if(e.tokenize!=C&&null!=e.tokenize||e.typeAtEndOfLine)return CodeMirror.Pass;var n=e.context,r=t&&t.charAt(0),o=r==n.type;if("statement"==n.type&&"}"==r&&(n=n.prev),i.dontIndentStatements)for(;"statement"==n.type&&i.dontIndentStatements.test(n.info);)n=n.prev;if(g.indent){var a=g.indent(e,n,t,c);if("number"==typeof a)return a}a=n.prev&&"switch"==n.prev.info;if(i.allmanIndentation&&/[{(]/.test(r)){for(;"top"!=n.type&&"}"!=n.type;)n=n.prev;return n.indented}return"statement"==n.type?n.indented+("{"==r?0:u):!n.align||d&&")"==n.type?")"!=n.type||o?n.indented+(o?0:c)+(o||!a||/^(?:case|default)\b/.test(t)?0:c):n.indented+u:n.column+(o?0:1)},electricInput:e?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});var t="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",n="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",r="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",o="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",a=e("int long char short double float unsigned signed void bool"),i=e("SEL instancetype id Class Protocol BOOL");function l(e){return z(a,e)||/.+_t$/.test(e)}function s(e){return l(e)||z(i,e)}var c="case do else for if switch while struct enum union",u="struct enum union";function d(e,t){if(!t.startOfLine)return!1;for(var n,r=null;n=e.peek();){if("\\"==n&&e.match(/^.$/)){r=d;break}if("/"==n&&e.match(/^\/[\/\*]/,!1))break;e.next()}return t.tokenize=r,"meta"}function f(e,t){return"type"==t.prevToken&&"type"}function p(e){return!(!e||e.length<2)&&("_"==e[0]&&("_"==e[1]||e[1]!==e[1].toLowerCase()))}function m(e){return e.eatWhile(/[\w\.']/),"number"}function h(e,t){if(e.backUp(1),e.match(/^(?:R|u8R|uR|UR|LR)/)){var n=e.match(/^"([^\s\\()]{0,16})\(/);return n?(t.cpp11RawStringDelim=n[1],(t.tokenize=k)(e,t)):!1}return e.match(/^(?:u8|u|U|L)/)?!!e.match(/^["']/,!1)&&"string":(e.next(),!1)}function y(e){e=/(\w+)::~?(\w+)$/.exec(e);return e&&e[1]==e[2]}function g(e,t){for(var n;null!=(n=e.next());)if('"'==n&&!e.eat('"')){t.tokenize=null;break}return"string"}function k(e,t){var n=t.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&");return e.match(new RegExp(".*?\\)"+n+'"'))?t.tokenize=null:e.skipToEnd(),"string"}function x(e,t){"string"==typeof e&&(e=[e]);var n=[];function r(e){if(e)for(var t in e)e.hasOwnProperty(t)&&n.push(t)}r(t.keywords),r(t.types),r(t.builtin),r(t.atoms),n.length&&(t.helperType=e[0],CodeMirror.registerHelper("hintWords",e[0],n));for(var o=0;o!?|\/#:@]/,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return!!e.match('""')&&(t.tokenize=b,t.tokenize(e,t))},"'":function(e){return e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(e,t){var n=t.context;return!("}"!=n.type||!n.align||!e.eat(">"))&&(t.context=new N(n.indented,n.column,n.type,n.info,null,n.prev),"operator")},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=v(1),t.tokenize(e,t))}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}}),x("text/x-kotlin",{name:"clike",keywords:e("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam value"),types:e("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:e("catch class do else finally for if where try while enum"),defKeywords:e("class val var object interface fun"),atoms:e("true false null this"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},"*":function(e,t){return"."==t.prevToken?"variable":"operator"},'"':function(e,t){var a;return t.tokenize=(a=e.match('""'),function(e,t){for(var n,r=!1,o=!1;!e.eol();){if(!a&&!r&&e.match('"')){o=!0;break}if(a&&e.match('"""')){o=!0;break}n=e.next(),!r&&"$"==n&&e.match("{")&&e.skipTo("}"),r=!r&&"\\"==n&&!a}return!o&&a||(t.tokenize=null),"string"}),t.tokenize(e,t)},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=v(1),t.tokenize(e,t))},indent:function(e,t,n,r){var o=n&&n.charAt(0);return"}"!=e.prevToken&&")"!=e.prevToken||""!=n?"operator"==e.prevToken&&"}"!=n&&"}"!=e.context.type||"variable"==e.prevToken&&"."==o||("}"==e.prevToken||")"==e.prevToken)&&"."==o?2*r+t.indented:t.align&&"}"==t.type?t.indented+(e.context.type==(n||"").charAt(0)?0:r):void 0:e.indented}},modeProps:{closeBrackets:{triples:'"'}}}),x(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:e("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:e("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:e("for while do if else struct"),builtin:e("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:e("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":d},modeProps:{fold:["brace","include"]}}),x("text/x-nesc",{name:"clike",keywords:e(t+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:l,blockKeywords:e(c),atoms:e("null true false"),hooks:{"#":d},modeProps:{fold:["brace","include"]}}),x("text/x-objectivec",{name:"clike",keywords:e(t+" "+r),types:s,builtin:e(o),blockKeywords:e(c+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:e(u+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:e("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:p,hooks:{"#":d,"*":f},modeProps:{fold:["brace","include"]}}),x("text/x-objectivec++",{name:"clike",keywords:e(t+" "+r+" "+n),types:s,builtin:e(o),blockKeywords:e(c+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:e(u+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:e("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:p,hooks:{"#":d,"*":f,u:h,U:h,L:h,R:h,0:m,1:m,2:m,3:m,4:m,5:m,6:m,7:m,8:m,9:m,token:function(e,t,n){if("variable"==n&&"("==e.peek()&&(";"==t.prevToken||null==t.prevToken||"}"==t.prevToken)&&y(e.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),x("text/x-squirrel",{name:"clike",keywords:e("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:l,blockKeywords:e("case catch class else for foreach if switch try while"),defKeywords:e("function local class"),typeFirstDefinitions:!0,atoms:e("true false null"),hooks:{"#":d},modeProps:{fold:["brace","include"]}});var w=null;x("text/x-ceylon",{name:"clike",keywords:e("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(e){e=e.charAt(0);return e===e.toUpperCase()&&e!==e.toLowerCase()},blockKeywords:e("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:e("class dynamic function interface module object package value"),builtin:e("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:e("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return t.tokenize=function a(i){return function(e,t){for(var n,r=!1,o=!1;!e.eol();){if(!r&&e.match('"')&&("single"==i||e.match('""'))){o=!0;break}if(!r&&e.match("``")){w=a(i),o=!0;break}n=e.next(),r="single"==i&&!r&&"\\"==n}return o&&(t.tokenize=null),"string"}}(e.match('""')?"triple":"single"),t.tokenize(e,t)},"`":function(e,t){return!(!w||!e.match("`"))&&(t.tokenize=w,w=null,t.tokenize(e,t))},"'":function(e){return e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(e,t,n){if(("variable"==n||"type"==n)&&"."==t.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})}(); // clojure CodeMirror.defineMode("clojure",function(o){var e=["false","nil","true"],t=[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],n=["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"];CodeMirror.registerHelper("hintWords","clojure",[].concat(e,t,n));var r=h(e),a=h(t),s=h(n),i=h(["->","->>","as->","binding","bound-fn","case","catch","comment","cond","cond->","cond->>","condp","def","definterface","defmethod","defn","defmacro","defprotocol","defrecord","defstruct","deftype","do","doseq","dotimes","doto","extend","extend-protocol","extend-type","fn","for","future","if","if-let","if-not","if-some","let","letfn","locking","loop","ns","proxy","reify","struct-map","some->","some->>","try","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn"]),d=/^(?:[\\\[\]\s"(),;@^`{}~]|$)/,c=/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,l=/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,u=/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/;function p(e,t){if(e.eatSpace()||e.eat(","))return["space",null];if(e.match(c))return[null,"number"];if(e.match(l))return[null,"string-2"];if(e.eat(/^"/))return(t.tokenize=m)(e,t);if(e.eat(/^[(\[{]/))return["open","bracket"];if(e.eat(/^[)\]}]/))return["close","bracket"];if(e.eat(/^;/))return e.skipToEnd(),["space","comment"];if(e.eat(/^[#'@^`~]/))return[null,"meta"];var n=e.match(u),n=n&&n[0];return n?"comment"===n&&"("===t.lastToken?(t.tokenize=f)(e,t):y(n,r)||":"===n.charAt(0)?["symbol","atom"]:y(n,a)||y(n,s)?["symbol","keyword"]:"("===t.lastToken?["symbol","builtin"]:["symbol","variable"]:(e.next(),e.eatWhile(function(e){return!y(e,d)}),[null,"error"])}function m(e,t){for(var n,r=!1;n=e.next();){if('"'===n&&!r){t.tokenize=p;break}r=!r&&"\\"===n}return[null,"string"]}function f(e,t){for(var n,r=1;n=e.next();)if(")"===n&&r--,"("===n&&r++,0===r){e.backUp(1),t.tokenize=p;break}return["space","comment"]}function h(e){for(var t={},n=0;n >= "),P={digit:/\d/,digit_or_colon:/[\d:]/,hex:/[0-9a-f]/i,sign:/[+-]/,exponent:/e/i,keyword_char:/[^\s\(\[\;\)\]]/,symbol:/[\w*+\-]/};return{startState:function(){return{indentStack:null,indentation:0,mode:!1}},token:function(E,T){if(null==T.indentStack&&E.sol()&&(T.indentation=6),E.eatSpace())return null;var I,N=null;if("string"===T.mode){for(var R;null!=(R=E.next());)if(('"'==R||"'"==R)&&!E.match(/['"]/,!1)){T.mode=!1;break}N=C}else{var A=E.next(),O=E.column();if(0<=O&&O<=5)N="def";else if(72<=O&&O<=79)E.skipToEnd(),N="header";else if("*"==A&&6==O)E.skipToEnd(),N="comment";else if('"'==A||"'"==A)T.mode="string",N=C;else if("'"!=A||P.digit_or_colon.test(E.peek()))if("."==A)N="link";else if(I=E,"0"===(A=A)&&I.eat(/x/i)?(I.eatWhile(P.hex),1):("+"!=A&&"-"!=A||!P.digit.test(I.peek())||(I.eat(P.sign),A=I.next()),P.digit.test(A)&&(I.eat(A),I.eatWhile(P.digit),"."==I.peek()&&(I.eat("."),I.eatWhile(P.digit)),I.eat(P.exponent)&&(I.eat(P.sign),I.eatWhile(P.digit)),1)))N="number";else{if(E.current().match(P.symbol))for(;O<71&&void 0!==E.eat(P.symbol);)O++;N=S&&S.propertyIsEnumerable(E.current().toUpperCase())?"keyword":U&&U.propertyIsEnumerable(E.current().toUpperCase())?"builtin":D&&D.propertyIsEnumerable(E.current().toUpperCase())?L:null}else N=L}return N},indent:function(E){return null==E.indentStack?E.indentation:E.indentStack.indent}}}),CodeMirror.defineMIME("text/x-cobol","cobol"); // coffeescript CodeMirror.defineMode("coffeescript",function(f,i){var c="error";function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var o=/^(?:->|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/,p=/^(?:[()\[\]{},:`=;]|\.\.?\.?)/,a=/^[_A-Za-z$][_A-Za-z$0-9]*/,s=/^@[_A-Za-z$][_A-Za-z$0-9]*/,u=e(["and","or","not","is","isnt","in","instanceof","typeof"]),l=e((d=["for","while","loop","if","unless","else","switch","try","catch","finally","class"]).concat(["break","by","continue","debugger","delete","do","in","of","new","return","then","this","@","throw","when","until","extends"])),d=e(d),h=/^('{3}|\"{3}|['\"])/,m=/^(\/{3}|\/)/,v=e(["Infinity","NaN","undefined","null","true","false","on","off","yes","no"]);function k(e,t){if(e.sol()){null===t.scope.align&&(t.scope.align=!1);var n=t.scope.offset;if(e.eatSpace()){var r=e.indentation();return n"!==r&&"=>"!==r||!e.eol())&&"indent"!==n||z(e,t);var o="[({".indexOf(r);if(-1!==o&&z(e,t,"])}".slice(o,o+1)),d.exec(r)&&z(e,t),"then"==r&&x(e,t),"dedent"===n&&x(e,t))return c;if(-1!==(o="])}".indexOf(r))){for(;"coffee"==t.scope.type&&t.scope.prev;)t.scope=t.scope.prev;t.scope.type==r&&(t.scope=t.scope.prev)}return t.dedent&&e.eol()&&("coffee"==t.scope.type&&t.scope.prev&&(t.scope=t.scope.prev),t.dedent=!1),n}(e,t);return r&&"comment"!=r&&(n&&(n.align=!0),t.prop="punctuation"==r&&"."==e.current()),r},indent:function(e,t){if(e.tokenize!=k)return 0;var n=e.scope,e=t&&-1<"])}".indexOf(t.charAt(0));if(e)for(;"coffee"==n.type&&n.prev;)n=n.prev;t=e&&n.type===t.charAt(0);return n.align?n.alignOffset-(t?1:0):(t?n.prev:n).offset},lineComment:"#",fold:"indent"}}),CodeMirror.defineMIME("application/vnd.coffeescript","coffeescript"),CodeMirror.defineMIME("text/x-coffeescript","coffeescript"),CodeMirror.defineMIME("text/coffeescript","coffeescript"); // commonlisp CodeMirror.defineMode("commonlisp",function(r){var o,i=/^(block|let*|return-from|catch|load-time-value|setq|eval-when|locally|symbol-macrolet|flet|macrolet|tagbody|function|multiple-value-call|the|go|multiple-value-prog1|throw|if|progn|unwind-protect|labels|progv|let|quote)$/,l=/^with|^def|^do|^prog|case$|^cond$|bind$|when$|unless$/,c=/^(?:[+\-]?(?:\d+|\d*\.\d+)(?:[efd][+\-]?\d+)?|[+\-]?\d+(?:\/[+\-]?\d+)?|#b[+\-]?[01]+|#o[+\-]?[0-7]+|#x[+\-]?[\da-f]+)/,n=/[^\s'`,@()\[\]";]/;function a(t){for(var e;e=t.next();)if("\\"==e)t.next();else if(!n.test(e)){t.backUp(1);break}return t.current()}function u(t,e){if(t.eatSpace())return o="ws",null;if(t.match(c))return"number";var n=t.next();if('"'==(n="\\"==n?t.next():n))return(e.tokenize=s)(t,e);if("("==n)return o="open","bracket";if(")"==n||"]"==n)return o="close","bracket";if(";"==n)return t.skipToEnd(),o="ws","comment";if(/['`,@]/.test(n))return null;if("|"==n)return t.skipTo("|")?(t.next(),"symbol"):(t.skipToEnd(),"error");if("#"==n)return"("==(n=t.next())?(o="open","bracket"):/[+\-=\.']/.test(n)||/\d/.test(n)&&t.match(/^\d*#/)?null:"|"==n?(e.tokenize=d)(t,e):":"==n?(a(t),"meta"):"\\"==n?(t.next(),a(t),"string-2"):"error";t=a(t);return"."==t?null:(o="symbol","nil"==t||"t"==t||":"==t.charAt(0)?"atom":"open"==e.lastType&&(i.test(t)||l.test(t))?"keyword":"&"==t.charAt(0)?"variable-2":"variable")}function s(t,e){for(var n,r=!1;n=t.next();){if('"'==n&&!r){e.tokenize=u;break}r=!r&&"\\"==n}return"string"}function d(t,e){for(var n,r;n=t.next();){if("#"==n&&"|"==r){e.tokenize=u;break}r=n}return o="ws","comment"}return{startState:function(){return{ctx:{prev:null,start:0,indentTo:0},lastType:null,tokenize:u}},token:function(t,e){t.sol()&&"number"!=typeof e.ctx.indentTo&&(e.ctx.indentTo=e.ctx.start+1),o=null;var n=e.tokenize(t,e);return"ws"!=o&&(null==e.ctx.indentTo?"symbol"==o&&l.test(t.current())?e.ctx.indentTo=e.ctx.start+r.indentUnit:e.ctx.indentTo="next":"next"==e.ctx.indentTo&&(e.ctx.indentTo=t.column()),e.lastType=o),"open"==o?e.ctx={prev:e.ctx,start:t.column(),indentTo:null}:"close"==o&&(e.ctx=e.ctx.prev||e.ctx),n},indent:function(t,e){var n=t.ctx.indentTo;return"number"==typeof n?n:t.ctx.start+1},closeBrackets:{pairs:'()[]{}""'},lineComment:";;",blockCommentStart:"#|",blockCommentEnd:"|#"}}),CodeMirror.defineMIME("text/x-common-lisp","commonlisp"); // crystal CodeMirror.defineMode("crystal",function(n){function e(e,t){return new RegExp((t?"":"^")+"(?:"+e.join("|")+")"+(t?"$":"\\b"))}function o(e,t,n){return n.tokenize.push(e),e(t,n)}var c=/^(?:[-+/%|&^]|\*\*?|[<>]{2})/,s=/^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/,f=/^(?:\[\][?=]?)/,l=/^(?:\.(?:\.{2})?|->|[?:])/,m=/^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,h=/^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,p=e(["abstract","alias","as","asm","begin","break","case","class","def","do","else","elsif","end","ensure","enum","extend","for","fun","if","include","instance_sizeof","lib","macro","module","next","of","out","pointerof","private","protected","rescue","return","require","select","sizeof","struct","super","then","type","typeof","uninitialized","union","unless","until","when","while","with","yield","__DIR__","__END_LINE__","__FILE__","__LINE__"]),d=e(["true","false","nil","self"]),k=e(["def","fun","macro","class","module","struct","lib","enum","union","do","for"]),F=e(["if","unless","case","while","until","begin","then"]),t=["end","else","elsif","rescue","ensure"],r=e(t),a=["\\)","\\}","\\]"],u=new RegExp("^(?:"+a.join("|")+")$"),z={def:i,fun:i,macro:function(e,t){if(e.eatSpace())return null;var n;if(n=e.match(m)){if("def"==n)return"keyword";e.eat(/[?!]/)}return t.tokenize.pop(),"def"},class:I,module:I,struct:I,lib:I,enum:I,union:I},_={"[":"]","{":"}","(":")","<":">"};function b(e,t){if(e.eatSpace())return null;if("\\"!=t.lastToken&&e.match("{%",!1))return o(x("%","%"),e,t);if("\\"!=t.lastToken&&e.match("{{",!1))return o(x("{","}"),e,t);if("#"==e.peek())return e.skipToEnd(),"comment";var r,a;if(e.match(m))return e.eat(/[?!]/),i=e.current(),e.eat(":")?"atom":"."==t.lastToken?"property":p.test(i)?(k.test(i)?"fun"==i&&0<=t.blocks.indexOf("lib")||"def"==i&&"abstract"==t.lastToken||(t.blocks.push(i),t.currentIndent+=1):"operator"!=t.lastStyle&&t.lastStyle||!F.test(i)?"end"==i&&(t.blocks.pop(),--t.currentIndent):(t.blocks.push(i),t.currentIndent+=1),z.hasOwnProperty(i)&&t.tokenize.push(z[i]),"keyword"):d.test(i)?"atom":"variable";if(e.eat("@"))return"["==e.peek()?o(g("[","]","meta"),e,t):(e.eat("@"),e.match(m)||e.match(h),"variable-2");if(e.match(h))return"tag";if(e.eat(":"))return e.eat('"')?o(y('"',"atom",!1),e,t):e.match(m)||e.match(h)||e.match(c)||e.match(s)||e.match(f)?"atom":(e.eat(":"),"operator");if(e.eat('"'))return o(y('"',"string",!0),e,t);if("%"!=e.peek())return(i=e.match(/^<<-('?)([A-Z]\w*)\1/))?o((r=i[2],a=!i[1],function(e,t){if(e.sol()&&(e.eatSpace(),e.match(r)))return t.tokenize.pop(),"string";for(var n=!1;e.peek();)if(n)e.next(),n=!1;else{if(e.match("{%",!1))return t.tokenize.push(x("%","%")),"string";if(e.match("{{",!1))return t.tokenize.push(x("{","}")),"string";if(a&&e.match("#{",!1))return t.tokenize.push(g("#{","}","meta")),"string";n=a&&"\\"==e.next()}return"string"}),e,t):e.eat("'")?(e.match(/^(?:[^']|\\(?:[befnrtv0'"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\})))/),e.eat("'"),"atom"):e.eat("0")?(e.eat("x")?e.match(/^[0-9a-fA-F_]+/):e.eat("o")?e.match(/^[0-7_]+/):e.eat("b")&&e.match(/^[01_]+/),"number"):e.eat(/^\d/)?(e.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+-]?\d+)?/),"number"):e.match(c)?(e.eat("="),"operator"):e.match(s)||e.match(l)?"operator":(i=e.match(/[({[]/,!1))?o(g(i=i[0],_[i],null),e,t):e.eat("\\")?(e.next(),"meta"):(e.next(),null);var n,u="string",i=!0;if(e.match("%r"))u="string-2",n=e.next();else if(e.match("%w"))i=!1,n=e.next();else if(e.match("%q"))i=!1,n=e.next();else if(n=e.match(/^%([^\w\s=])/))n=n[1];else{if(e.match(/^%[a-zA-Z_\u009F-\uFFFF][\w\u009F-\uFFFF]*/))return"meta";if(e.eat("%"))return"operator"}return o(y(n=_.hasOwnProperty(n)?_[n]:n,u,i),e,t)}function g(r,a,u,i){return function(e,t){if(!i&&e.match(r))return t.tokenize[t.tokenize.length-1]=g(r,a,u,!0),t.currentIndent+=1,u;var n=b(e,t);return e.current()===a&&(t.tokenize.pop(),--t.currentIndent,n=u),n}}function x(n,r,a){return function(e,t){return!a&&e.match("{"+n)?(t.currentIndent+=1,t.tokenize[t.tokenize.length-1]=x(n,r,!0),"meta"):e.match(r+"}")?(--t.currentIndent,t.tokenize.pop(),"meta"):b(e,t)}}function i(e,t){return e.eatSpace()?null:(e.match(m)?e.eat(/[!?]/):e.match(c)||e.match(s)||e.match(f),t.tokenize.pop(),"def")}function I(e,t){return e.eatSpace()?null:(e.match(h),t.tokenize.pop(),"def")}function y(a,u,i){return function(e,t){for(var n=!1;e.peek();)if(n)e.next(),n=!1;else{if(e.match("{%",!1))return t.tokenize.push(x("%","%")),u;if(e.match("{{",!1))return t.tokenize.push(x("{","}")),u;if(i&&e.match("#{",!1))return t.tokenize.push(g("#{","}","meta")),u;var r=e.next();if(r==a)return t.tokenize.pop(),u;n=i&&"\\"==r}return u}}return{startState:function(){return{tokenize:[b],currentIndent:0,lastToken:null,lastStyle:null,blocks:[]}},token:function(e,t){var n=t.tokenize[t.tokenize.length-1](e,t),e=e.current();return n&&"comment"!=n&&(t.lastToken=e,t.lastStyle=n),n},indent:function(e,t){return t=t.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g,""),r.test(t)||u.test(t)?n.indentUnit*(e.currentIndent-1):n.indentUnit*e.currentIndent},fold:"indent",electricInput:e(a.concat(t),!0),lineComment:"#"}}),CodeMirror.defineMIME("text/x-crystal","crystal"); // css !function(){function e(e){for(var t={},r=0;r*\/]/.test(r)?(a="select-op",null):"."==r&&e.match(/^-?[_a-z][_a-z0-9-]*/i)?a="qualifier":/[:;{}\[\]\(\)]/.test(r)?v(null,r):e.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(e.current())&&(t.tokenize=z),a="variable","variable callee"):/[\w\\\-]/.test(r)?(e.eatWhile(/[\w\\\-]/),a="word","property"):a=null})(e,t);return r&&"object"==typeof r&&(a=r[1],r=r[0]),o=r,"comment"!=a&&(t.state=M[t.state](a,e,t)),o},indent:function(e,t){var r=e.context,e=t&&t.charAt(0),t=r.indent;return(r="prop"==r.type&&("}"==e||")"==e)?r.prev:r).prev&&("}"!=e||"block"!=r.type&&"top"!=r.type&&"interpolation"!=r.type&&"restricted_atBlock"!=r.type?(")"!=e||"parens"!=r.type&&"atBlock_parens"!=r.type)&&("{"!=e||"at"!=r.type&&"atBlock"!=r.type)||(t=Math.max(0,r.indent-i)):t=(r=r.prev).indent),t},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:k,fold:"brace"}});var t=["domain","regexp","url","url-prefix"],r=e(t),o=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],i=e(o),a=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme","dynamic-range","video-dynamic-range"],n=e(a),l=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light","standard","high"],s=e(l),d=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],c=e(d),p=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],u=e(p),m=e(["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"]),g=e(["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"]),b=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],h=e(b),f=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],k=e(f),f=t.concat(o).concat(a).concat(l).concat(d).concat(p).concat(b).concat(f);function y(e,t){for(var r,o=!1;null!=(r=e.next());){if(o&&"/"==r){t.tokenize=null;break}o="*"==r}return["comment","comment"]}CodeMirror.registerHelper("hintWords","css",f),CodeMirror.defineMIME("text/css",{documentTypes:r,mediaTypes:i,mediaFeatures:n,mediaValueKeywords:s,propertyKeywords:c,nonStandardPropertyKeywords:u,fontProperties:m,counterDescriptors:g,colorKeywords:h,valueKeywords:k,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=y)(e,t)}},name:"css"}),CodeMirror.defineMIME("text/x-scss",{mediaTypes:i,mediaFeatures:n,mediaValueKeywords:s,propertyKeywords:c,nonStandardPropertyKeywords:u,colorKeywords:h,valueKeywords:k,fontProperties:m,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=y)(e,t):["operator","operator"]},":":function(e){return!!e.match(/^\s*\{/,!1)&&[null,null]},$:function(e){return e.match(/^[\w-]+/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(e){return!!e.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),CodeMirror.defineMIME("text/x-less",{mediaTypes:i,mediaFeatures:n,mediaValueKeywords:s,propertyKeywords:c,nonStandardPropertyKeywords:u,colorKeywords:h,valueKeywords:k,fontProperties:m,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=y)(e,t):["operator","operator"]},"@":function(e){return e.eat("{")?[null,"interpolation"]:!e.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),CodeMirror.defineMIME("text/x-gss",{documentTypes:r,mediaTypes:i,mediaFeatures:n,propertyKeywords:c,nonStandardPropertyKeywords:u,fontProperties:m,counterDescriptors:g,colorKeywords:h,valueKeywords:k,supportsAtComponent:!0,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=y)(e,t)}},name:"css",helperType:"gss"})}(); // cypher !function(){function p(e){return new RegExp("^(?:"+e.join("|")+")$","i")}CodeMirror.defineMode("cypher",function(e){function t(e){var t=e.next();return'"'===t?(e.match(/^[^"]*"/),"string"):"'"===t?(e.match(/^[^']*'/),"string"):/[{}\(\),\.;\[\]]/.test(t)?(i=t,"node"):"/"===t&&e.eat("/")?(e.skipToEnd(),"comment"):d.test(t)?(e.eatWhile(d),null):(e.eatWhile(/[_\w\d]/),e.eat(":")?(e.eatWhile(/[\w\d_\-]/),"atom"):(e=e.current(),n.test(e)?"builtin":s.test(e)?"def":c.test(e)||l.test(e)?"keyword":"variable"))}function r(e,t,n){return e.context={prev:e.context,indent:e.indent,col:n,type:t}}function o(e){return e.indent=e.context.indent,e.context=e.context.prev}var i,a=e.indentUnit,n=p(["abs","acos","allShortestPaths","asin","atan","atan2","avg","ceil","coalesce","collect","cos","cot","count","degrees","e","endnode","exp","extract","filter","floor","haversin","head","id","keys","labels","last","left","length","log","log10","lower","ltrim","max","min","node","nodes","percentileCont","percentileDisc","pi","radians","rand","range","reduce","rel","relationship","relationships","replace","reverse","right","round","rtrim","shortestPath","sign","sin","size","split","sqrt","startnode","stdev","stdevp","str","substring","sum","tail","tan","timestamp","toFloat","toInt","toString","trim","type","upper"]),s=p(["all","and","any","contains","exists","has","in","none","not","or","single","xor"]),c=p(["as","asc","ascending","assert","by","case","commit","constraint","create","csv","cypher","delete","desc","descending","detach","distinct","drop","else","end","ends","explain","false","fieldterminator","foreach","from","headers","in","index","is","join","limit","load","match","merge","null","on","optional","order","periodic","profile","remove","return","scan","set","skip","start","starts","then","true","union","unique","unwind","using","when","where","with","call","yield"]),l=p(["access","active","assign","all","alter","as","catalog","change","copy","create","constraint","constraints","current","database","databases","dbms","default","deny","drop","element","elements","exists","from","grant","graph","graphs","if","index","indexes","label","labels","management","match","name","names","new","node","nodes","not","of","on","or","password","populated","privileges","property","read","relationship","relationships","remove","replace","required","revoke","role","roles","set","show","start","status","stop","suspended","to","traverse","type","types","user","users","with","write"]),d=/[*+\-<>=&|~%^]/;return{startState:function(){return{tokenize:t,context:null,indent:0,col:0}},token:function(e,t){if(e.sol()&&(t.context&&null==t.context.align&&(t.context.align=!1),t.indent=e.indentation()),e.eatSpace())return null;var n=t.tokenize(e,t);if("comment"!==n&&t.context&&null==t.context.align&&"pattern"!==t.context.type&&(t.context.align=!0),"("===i)r(t,")",e.column());else if("["===i)r(t,"]",e.column());else if("{"===i)r(t,"}",e.column());else if(/[\]\}\)]/.test(i)){for(;t.context&&"pattern"===t.context.type;)o(t);t.context&&i===t.context.type&&o(t)}else"."===i&&t.context&&"pattern"===t.context.type?o(t):/atom|string|variable/.test(n)&&t.context&&(/[\}\]]/.test(t.context.type)?r(t,"pattern",e.column()):"pattern"!==t.context.type||t.context.align||(t.context.align=!0,t.context.col=e.column()));return n},indent:function(e,t){var t=t&&t.charAt(0),n=e.context;if(/[\]\}]/.test(t))for(;n&&"pattern"===n.type;)n=n.prev;t=n&&t===n.type;return n?"keywords"===n.type?CodeMirror.commands.newlineAndIndent:n.align?n.col+(t?0:1):n.indent+(t?0:a):0}}}),CodeMirror.modeExtensions.cypher={autoFormatLineBreaks:function(e){for(var t=e.split("\n"),n=/\s+\b(return|where|order by|match|with|skip|limit|create|delete|set)\b\s/g,r=0;r!?|\/]/;function m(e,t){var o,n=e.next();if(c[n]){var r=c[n](e,t);if(!1!==r)return r}if('"'==n||"'"==n||"`"==n)return t.tokenize=(o=n,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==o&&!r){i=!0;break}r=!r&&"\\"==n}return!i&&(r||f)||(t.tokenize=null),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(n))return i=n,null;if(/\d/.test(n))return e.eatWhile(/[\w\.]/),"number";if("/"==n){if(e.eat("+"))return(t.tokenize=y)(e,t);if(e.eat("*"))return(t.tokenize=p)(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(d.test(n))return e.eatWhile(d),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);e=e.current();return a.propertyIsEnumerable(e)?(u.propertyIsEnumerable(e)&&(i="newstatement"),"keyword"):l.propertyIsEnumerable(e)?(u.propertyIsEnumerable(e)&&(i="newstatement"),"builtin"):s.propertyIsEnumerable(e)?"atom":"variable"}function p(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="*"==n}return"comment"}function y(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=null;break}r="+"==n}return"comment"}function h(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function b(e,t,n){var r=e.indented;return e.context&&"statement"==e.context.type&&(r=e.context.indented),e.context=new h(r,t,n,null,e.context)}function k(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}return{startState:function(e){return{tokenize:null,context:new h((e||0)-r,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;i=null;var r=(t.tokenize||m)(e,t);if("comment"==r||"meta"==r)return r;if(null==n.align&&(n.align=!0),";"!=i&&":"!=i&&","!=i||"statement"!=n.type)if("{"==i)b(t,e.column(),"}");else if("["==i)b(t,e.column(),"]");else if("("==i)b(t,e.column(),")");else if("}"==i){for(;"statement"==n.type;)n=k(t);for("}"==n.type&&(n=k(t));"statement"==n.type;)n=k(t)}else i==n.type?k(t):(("}"==n.type||"top"==n.type)&&";"!=i||"statement"==n.type&&"newstatement"==i)&&b(t,e.column(),"statement");else k(t);return t.startOfLine=!1,r},indent:function(e,t){if(e.tokenize!=m&&null!=e.tokenize)return CodeMirror.Pass;var n=e.context,e=t&&t.charAt(0),t=e==(n="statement"==n.type&&"}"==e?n.prev:n).type;return"statement"==n.type?n.indented+("{"==e?0:o):n.align?n.column+(t?0:1):n.indented+(t?0:r)},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});var t="body catch class do else enum for foreach foreach_reverse if in interface mixin out scope struct switch try union unittest version while with";CodeMirror.defineMIME("text/x-d",{name:"d",keywords:e("abstract alias align asm assert auto break case cast cdouble cent cfloat const continue debug default delegate delete deprecated export extern final finally function goto immutable import inout invariant is lazy macro module new nothrow override package pragma private protected public pure ref return shared short static super synchronized template this throw typedef typeid typeof volatile __FILE__ __LINE__ __gshared __traits __vector __parameters "+t),blockKeywords:e(t),builtin:e("bool byte char creal dchar double float idouble ifloat int ireal long real short ubyte ucent uint ulong ushort wchar wstring void size_t sizediff_t"),atoms:e("exit failure success true false null"),hooks:{"@":function(e,t){return e.eatWhile(/[\w\$_]/),"meta"}}})}(); // dart !function(){var e="this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required".split(" "),t="try catch finally do else for if switch while".split(" "),n="true false null".split(" "),r="void bool num int double dynamic var String Null Never".split(" ");function i(e){for(var t={},n=0;n","<=",">="],a=["in","not","or","and"];function l(e,t){if(e.match("{{"))return t.tokenize=r,"tag";if(e.match("{%"))return t.tokenize=c,"tag";if(e.match("{#"))return t.tokenize=f,"comment";for(;null!=e.next()&&!e.match(/\{[{%#]/,!1););return null}function u(r,n){return function(e,t){return!t.escapeNext&&e.eat(r)?t.tokenize=n:(t.escapeNext&&(t.escapeNext=!1),"\\"==e.next()&&(t.escapeNext=!0)),"string"}}function r(e,t){if(t.waitDot){if(t.waitDot=!1,"."!=e.peek())return"null";if(e.match(/\.\W+/))return"error";if(e.eat("."))return t.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(t.waitPipe){if(t.waitPipe=!1,"|"!=e.peek())return"null";if(e.match(/\.\W+/))return"error";if(e.eat("|"))return t.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}return t.waitProperty&&(t.waitProperty=!1,e.match(/\b(\w+)\b/))?(t.waitDot=!0,t.waitPipe=!0,"property"):t.waitFilter&&(t.waitFilter=!1,e.match(i))?"variable-2":e.eatSpace()?(t.waitProperty=!1,"null"):e.match(/\b\d+(\.\d+)?\b/)?"number":e.match("'")?(t.tokenize=u("'",t.tokenize),"string"):e.match('"')?(t.tokenize=u('"',t.tokenize),"string"):e.match(/\b(\w+)\b/)&&!t.foundVariable?(t.waitDot=!0,t.waitPipe=!0,"variable"):e.match("}}")?(t.waitProperty=null,t.waitFilter=null,t.waitDot=null,t.waitPipe=null,t.tokenize=l,"tag"):(e.next(),"null")}function c(e,t){if(t.waitDot){if(t.waitDot=!1,"."!=e.peek())return"null";if(e.match(/\.\W+/))return"error";if(e.eat("."))return t.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(t.waitPipe){if(t.waitPipe=!1,"|"!=e.peek())return"null";if(e.match(/\.\W+/))return"error";if(e.eat("|"))return t.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}if(t.waitProperty&&(t.waitProperty=!1,e.match(/\b(\w+)\b/)))return t.waitDot=!0,t.waitPipe=!0,"property";if(t.waitFilter&&(t.waitFilter=!1,e.match(i)))return"variable-2";if(e.eatSpace())return t.waitProperty=!1,"null";if(e.match(/\b\d+(\.\d+)?\b/))return"number";if(e.match("'"))return t.tokenize=u("'",t.tokenize),"string";if(e.match('"'))return t.tokenize=u('"',t.tokenize),"string";if(e.match(o))return"operator";if(e.match(a))return"keyword";var r=e.match(n);return r?("comment"==r[0]&&(t.blockCommentTag=!0),"keyword"):e.match(/\b(\w+)\b/)?(t.waitDot=!0,t.waitPipe=!0,"variable"):e.match("%}")?(t.waitProperty=null,t.waitFilter=null,t.waitDot=null,t.waitPipe=null,t.blockCommentTag?(t.blockCommentTag=!1,t.tokenize=m):t.tokenize=l,"tag"):(e.next(),"null")}function f(e,t){return e.match(/^.*?#\}/)?t.tokenize=l:e.skipToEnd(),"comment"}function m(e,t){return e.match(/\{%\s*endcomment\s*%\}/,!1)?(t.tokenize=c,e.match("{%"),"tag"):(e.next(),"comment")}return n=new RegExp("^\\b("+n.join("|")+")\\b"),i=new RegExp("^\\b("+i.join("|")+")\\b"),o=new RegExp("^\\b("+o.join("|")+")\\b"),a=new RegExp("^\\b("+a.join("|")+")\\b"),{startState:function(){return{tokenize:l}},token:function(e,t){return t.tokenize(e,t)},blockCommentStart:"{% comment %}",blockCommentEnd:"{% endcomment %}"}}),CodeMirror.defineMode("django",function(e){var t=CodeMirror.getMode(e,"text/html"),e=CodeMirror.getMode(e,"django:inner");return CodeMirror.overlayMode(t,e)}),CodeMirror.defineMIME("text/x-django","django"); // dockerfile !function(){var e="from",n=new RegExp("^(\\s*)\\b("+e+")\\b","i"),t=["run","cmd","entrypoint","shell"],r=new RegExp("^(\\s*)("+t.join("|")+")(\\s+\\[)","i"),o="expose",l=new RegExp("^(\\s*)("+o+")(\\s+)","i"),o="("+[e,o].concat(t).concat(["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"]).join("|")+")",t=new RegExp("^(\\s*)"+o+"(\\s*)(#.*)?$","i"),o=new RegExp("^(\\s*)"+o+"(\\s+)","i");CodeMirror.defineSimpleMode("dockerfile",{start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:n,token:[null,"keyword"],sol:!0,next:"from"},{regex:t,token:[null,"keyword",null,"error"],sol:!0},{regex:r,token:[null,"keyword",null],sol:!0,next:"array"},{regex:l,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:o,token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],meta:{lineComment:"#"}}),CodeMirror.defineMIME("text/x-dockerfile","dockerfile")}(); // dtd CodeMirror.defineMode("dtd",function(t){var u,r=t.indentUnit;function l(t,e){return u=e,t}function o(t,e){var a,n,r,i=t.next();if("<"==i&&t.eat("!"))return t.eatWhile(/[\-]/)?(e.tokenize=c)(t,e):t.eatWhile(/[\w]/)?(u="doindent","keyword"):void 0;if("<"==i&&t.eat("?"))return e.tokenize=(n="meta",r="?>",function(t,e){for(;!t.eol();){if(t.match(r)){e.tokenize=o;break}t.next()}return n}),l("meta",i);if("#"==i&&t.eatWhile(/[\w]/))return u="tag","atom";if("|"==i)return u="separator","keyword";if(i.match(/[\(\)\[\]\-\.,\+\?>]/))return l(null,i);if(i.match(/[\[\]]/))return l("rule",i);if('"'==i||"'"==i)return e.tokenize=(a=i,function(t,e){for(var n,r=!1;null!=(n=t.next());){if(n==a&&!r){e.tokenize=o;break}r=!r&&"\\"==n}return u="tag","string"}),e.tokenize(t,e);if(t.eatWhile(/[a-zA-Z\?\+\d]/)){e=t.current();return null!==e.substr(e.length-1,e.length).match(/\?|\+/)&&t.backUp(1),u="tag"}return"%"==i||"*"==i?u="number":(t.eatWhile(/[\w\\\-_%.{,]/),u=null)}function c(t,e){for(var n,r=0;null!=(n=t.next());){if(2<=r&&">"==n){e.tokenize=o;break}r="-"==n?r+1:0}return u="comment"}return{startState:function(t){return{tokenize:o,baseIndent:t||0,stack:[]}},token:function(t,e){if(t.eatSpace())return null;var n=e.tokenize(t,e),r=e.stack[e.stack.length-1];return"["==t.current()||"doindent"===u||"["==u?e.stack.push("rule"):"endtag"===u?e.stack[e.stack.length-1]="endtag":"]"==t.current()||"]"==u||">"==u&&"rule"==r?e.stack.pop():"["==u&&e.stack.push("["),n},indent:function(t,e){var n=t.stack.length;return"]"===e.charAt(0)?n--:">"===e.substr(e.length-1,e.length)&&("<"===e.substr(0,1)||"doindent"==u&&1"==u&&1"!==e||("tag"==u&&"rule"==t.stack[t.stack.length-1]?n--:"tag"==u?n++:">"===e&&"rule"==t.stack[t.stack.length-1]&&">"===u?n--:">"===e&&"rule"==t.stack[t.stack.length-1]||("<"===e.substr(0,1)||">"!==e.substr(0,1))&&">"===e||(n-=1))),null!=u&&"]"!=u||n--),t.baseIndent+n*r},electricChars:"]>"}}),CodeMirror.defineMIME("application/xml-dtd","dtd"); // dylan !function(){function p(e,n){for(var t=0;t",symbolGlobal:"\\*"+i+"\\*",symbolConstant:"\\$"+i},l={symbolKeyword:"atom",symbolClass:"tag",symbolGlobal:"variable-2",symbolConstant:"variable-3"};for(n in o)o.hasOwnProperty(n)&&(o[n]=new RegExp("^"+o[n]));o.keyword=[/^with(?:out)?-[-_a-zA-Z?!*@<>$%]+/];var r={keyword:"keyword",definition:"def",simpleDefinition:"def",signalingCalls:"builtin"},f={},c={};function s(e,n,t){return(n.tokenize=t)(e,n)}function u(n,e){var t,i=n.peek();if("'"==i||'"'==i)return n.next(),s(n,e,d(i,"string"));if("/"==i){if(n.next(),n.eat("*"))return s(n,e,m);if(n.eat("/"))return n.skipToEnd(),"comment";n.backUp(1)}else if(/[+\-\d\.]/.test(i)){if(n.match(/^[+-]?[0-9]*\.[0-9]*([esdx][+-]?[0-9]+)?/i)||n.match(/^[+-]?[0-9]+([esdx][+-]?[0-9]+)/i)||n.match(/^[+-]?\d+/))return"number"}else{if("#"==i)return n.next(),'"'==(i=n.peek())?(n.next(),s(n,e,d('"',"string"))):"b"==i?(n.next(),n.eatWhile(/[01]/),"number"):"x"==i?(n.next(),n.eatWhile(/[\da-f]/i),"number"):"o"==i?(n.next(),n.eatWhile(/[0-7]/),"number"):"#"==i?(n.next(),"punctuation"):"["==i||"("==i?(n.next(),"bracket"):n.match(/f|t|all-keys|include|key|next|rest/i)?"atom":(n.eatWhile(/[-a-zA-Z]/),"error");if("~"==i)return n.next(),"="==(i=n.peek())?(n.next(),"="==(i=n.peek())&&n.next(),"operator"):"operator";if(":"==i){if(n.next(),"="==(i=n.peek()))return n.next(),"operator";if(":"==i)return n.next(),"punctuation"}else{if(-1!="[](){}".indexOf(i))return n.next(),"bracket";if(-1!=".,".indexOf(i))return n.next(),"punctuation";if(n.match("end"))return"keyword"}}for(t in o)if(o.hasOwnProperty(t)){var r=o[t];if(r instanceof Array&&function(e,n){for(var t=0;t&|]/.test(i)?(n.next(),"operator"):n.match("define")?"def":(n.eatWhile(/[\w\-]/),f.hasOwnProperty(n.current())?c[n.current()]:n.current().match(a)?"variable":(n.next(),"variable-2"))}function m(e,n){for(var t,i=!1,r=!1,a=0;t=e.next();){if("/"==t&&i){if(!(0>/))return"builtin"}return e.match("//")?(e.skipToEnd(),"comment"):e.match("return")?"operator":e.match(/^[a-zA-Z_][a-zA-Z0-9_]*/)?e.match(/(?=[\(.])/)?"variable":e.match(/(?=[\s\n]*[:=])/)?"def":"variable-2":-1!=["[","]","(",")"].indexOf(e.peek())?(e.next(),"bracket"):(e.eatSpace()||e.next(),null)}}}}),CodeMirror.defineMIME("text/x-ebnf","ebnf"); // ecl CodeMirror.defineMode("ecl",function(e){function t(e){for(var t={},n=e.split(" "),r=0;r!?|\/]/;function b(e,t){var o,n=e.next();if(h[n]){var r=h[n](e,t);if(!1!==r)return r}if('"'==n||"'"==n)return t.tokenize=(o=n,function(e,t){for(var n,r=!1,a=!1;null!=(n=e.next());){if(n==o&&!r){a=!0;break}r=!r&&"\\"==n}return!a&&r||(t.tokenize=b),"string"}),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(n))return l=n,null;if(/\d/.test(n))return e.eatWhile(/[\w\.]/),"number";if("/"==n){if(e.eat("*"))return(t.tokenize=g)(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(y.test(n))return e.eatWhile(y),"operator";e.eatWhile(/[\w\$_]/);var a=e.current().toLowerCase();if(s.propertyIsEnumerable(a))return m.propertyIsEnumerable(a)&&(l="newstatement"),"keyword";if(c.propertyIsEnumerable(a))return m.propertyIsEnumerable(a)&&(l="newstatement"),"variable";if(u.propertyIsEnumerable(a))return m.propertyIsEnumerable(a)&&(l="newstatement"),"variable-2";if(d.propertyIsEnumerable(a))return m.propertyIsEnumerable(a)&&(l="newstatement"),"variable-3";if(p.propertyIsEnumerable(a))return m.propertyIsEnumerable(a)&&(l="newstatement"),"builtin";for(var i=a.length-1;0<=i&&(!isNaN(a[i])||"_"==a[i]);)--i;if(0>"]);function t(e,t){if(e.eatSpace())return null;var r,n,i,a,o,l=e.next();return'"'==l||"'"==l?(i=l,a="string",r=function(e,t){for(var r,n=!1;null!=(r=e.next());){if(r==i&&(o||!n)){t.tokenize.pop();break}n=!n&&"%"==r}return a},n=e,(t=t).tokenize.push(r),r(n,t)):"-"==l&&e.eat("-")?(e.skipToEnd(),"comment"):":"==l&&e.eat("=")?"operator":/[0-9]/.test(l)?(e.eatWhile(/[xXbBCc0-9\.]/),e.eat(/[\?\!]/),"ident"):/[a-zA-Z_0-9]/.test(l)?(e.eatWhile(/[a-zA-Z_0-9]/),e.eat(/[\?\!]/),"ident"):/[=+\-\/*^%<>~]/.test(l)?(e.eatWhile(/[=+\-\/*^%<>~]/),"operator"):null}return{startState:function(){return{tokenize:[t]}},token:function(e,t){var r=t.tokenize[t.tokenize.length-1](e,t);return"ident"==r&&(t=e.current(),r=n.propertyIsEnumerable(e.current())?"keyword":i.propertyIsEnumerable(e.current())?"operator":/^[A-Z][A-Z_0-9]*$/g.test(t)?"tag":/^0[bB][0-1]+$/g.test(t)||/^0[cC][0-7]+$/g.test(t)||/^0[xX][a-fA-F0-9]+$/g.test(t)||/^([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)$/g.test(t)||/^[0-9]+$/g.test(t)?"number":"variable"),r},lineComment:"--"}}),CodeMirror.defineMIME("text/x-eiffel","eiffel"); // elm CodeMirror.defineMode("elm",function(){function n(e,t,r){return t(r),r(e,t)}var i=/[a-z]/,o=/[A-Z]/,f=/[a-zA-Z0-9_]/,u=/[0-9]/,a=/[0-9A-Fa-f]/,s=/[-&*+.\\/<>=?^|:]/,l=/[(),[\]{}]/,c=/[ \v\f]/;function m(){return function(e,t){if(e.eatWhile(c))return null;var r=e.next();if(l.test(r))return"{"===r&&e.eat("-")?n(e,t,function n(i){if(0==i)return m();return function(e,t){for(;!e.eol();){var r=e.next();if("{"==r&&e.eat("-"))++i;else if("-"==r&&e.eat("}")&&0===--i)return t(m()),"comment"}return t(n(i)),"comment"}}(1)):"["===r&&e.match("glsl|")?n(e,t,h):"builtin";if("'"===r)return n(e,t,d);if('"'===r)return e.eat('"')?e.eat('"')?n(e,t,p):"string":n(e,t,x);if(o.test(r))return e.eatWhile(f),"variable-2";if(i.test(r)){t=1===e.pos;return e.eatWhile(f),t?"def":"variable"}if(u.test(r)){if("0"===r){if(e.eat(/[xX]/))return e.eatWhile(a),"number"}else e.eatWhile(u);return e.eat(".")&&e.eatWhile(u),e.eat(/[eE]/)&&(e.eat(/[-+]/),e.eatWhile(u)),"number"}return s.test(r)?"-"===r&&e.eat("-")?(e.skipToEnd(),"comment"):(e.eatWhile(s),"keyword"):"_"===r?"keyword":"error"}}function p(e,t){for(;!e.eol();)if('"'===e.next()&&e.eat('"')&&e.eat('"'))return t(m()),"string";return"string"}function x(e,t){for(;e.skipTo('\\"');)e.next(),e.next();return e.skipTo('"')?(e.next(),t(m()),"string"):(e.skipToEnd(),t(m()),"error")}function d(e,t){for(;e.skipTo("\\'");)e.next(),e.next();return e.skipTo("'")?(e.next(),t(m()),"string"):(e.skipToEnd(),t(m()),"error")}function h(e,t){for(;!e.eol();)if("|"===e.next()&&e.eat("]"))return t(m()),"string";return"string"}var k={case:1,of:1,as:1,if:1,then:1,else:1,let:1,in:1,type:1,alias:1,module:1,where:1,import:1,exposing:1,port:1};return{startState:function(){return{f:m()}},copyState:function(e){return{f:e.f}},token:function(e,t){var r=t.f(e,function(e){t.f=e}),e=e.current();return k.hasOwnProperty(e)?"keyword":r}}}),CodeMirror.defineMIME("text/x-elm","elm"); // erlang CodeMirror.defineMIME("text/x-erlang","erlang"),CodeMirror.defineMode("erlang",function(c){"use strict";var i=["-type","-spec","-export_type","-opaque"],o=["after","begin","catch","case","cond","end","fun","if","let","of","query","receive","try","when"],a=/[\->,;]/,s=["->",";",","],u=["and","andalso","band","bnot","bor","bsl","bsr","bxor","div","not","or","orelse","rem","xor"],l=/[\+\-\*\/<>=\|:!]/,_=["=","+","-","*","/",">",">=","<","=<","=:=","==","=/=","/=","||","<-","!"],f=/[<\(\[\{]/,p=["<<","(","[","{"],m=/[>\)\]\}]/,d=["}","]",")",">>"],b=["is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_record","is_reference","is_tuple","atom","binary","bitstring","boolean","function","integer","list","number","pid","port","record","reference","tuple"],g=["abs","adler32","adler32_combine","alive","apply","atom_to_binary","atom_to_list","binary_to_atom","binary_to_existing_atom","binary_to_list","binary_to_term","bit_size","bitstring_to_list","byte_size","check_process_code","contact_binary","crc32","crc32_combine","date","decode_packet","delete_module","disconnect_node","element","erase","exit","float","float_to_list","garbage_collect","get","get_keys","group_leader","halt","hd","integer_to_list","internal_bif","iolist_size","iolist_to_binary","is_alive","is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_process_alive","is_record","is_reference","is_tuple","length","link","list_to_atom","list_to_binary","list_to_bitstring","list_to_existing_atom","list_to_float","list_to_integer","list_to_pid","list_to_tuple","load_module","make_ref","module_loaded","monitor_node","node","node_link","node_unlink","nodes","notalive","now","open_port","pid_to_list","port_close","port_command","port_connect","port_control","pre_loaded","process_flag","process_info","processes","purge_module","put","register","registered","round","self","setelement","size","spawn","spawn_link","spawn_monitor","spawn_opt","split_binary","statistics","term_to_binary","time","throw","tl","trunc","tuple_size","tuple_to_list","unlink","unregister","whereis"],k=/[\w@Ø-ÞÀ-Öß-öø-ÿ]/,h=/[0-7]{1,3}|[bdefnrstv\\"']|\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;function e(e,t){if(t.in_string)return t.in_string=!w(e),z(t,e,"string");if(t.in_atom)return t.in_atom=!x(e),z(t,e,"atom");if(e.eatSpace())return z(t,e,"whitespace");if(!M(t)&&e.match(/-\s*[a-zß-öø-ÿ][\wØ-ÞÀ-Öß-öø-ÿ]*/))return S(e.current(),i)?z(t,e,"type"):z(t,e,"attribute");var r=e.next();if("%"==r)return e.skipToEnd(),z(t,e,"comment");if(":"==r)return z(t,e,"colon");if("?"==r)return e.eatSpace(),e.eatWhile(k),z(t,e,"macro");if("#"==r)return e.eatSpace(),e.eatWhile(k),z(t,e,"record");if("$"==r)return"\\"!=e.next()||e.match(h)?z(t,e,"number"):z(t,e,"error");if("."==r)return z(t,e,"dot");if("'"==r){if(!(t.in_atom=!x(e))){if(e.match(/\s*\/\s*[0-9]/,!1))return e.match(/\s*\/\s*[0-9]/,!0),z(t,e,"fun");if(e.match(/\s*\(/,!1)||e.match(/\s*:/,!1))return z(t,e,"function")}return z(t,e,"atom")}if('"'==r)return t.in_string=!w(e),z(t,e,"string");if(/[A-Z_Ø-ÞÀ-Ö]/.test(r))return e.eatWhile(k),z(t,e,"variable");if(/[a-z_ß-öø-ÿ]/.test(r)){if(e.eatWhile(k),e.match(/\s*\/\s*[0-9]/,!1))return e.match(/\s*\/\s*[0-9]/,!0),z(t,e,"fun");var n=e.current();return S(n,o)?z(t,e,"keyword"):S(n,u)?z(t,e,"operator"):e.match(/\s*\(/,!1)?!S(n,g)||":"==M(t).token&&"erlang"!=M(t,2).token?S(n,b)?z(t,e,"guard"):z(t,e,"function"):z(t,e,"builtin"):":"==function(e){e=e.match(/^\s*([^\s%])/,!1);return e?e[1]:""}(e)?z(t,e,"erlang"==n?"builtin":"function"):S(n,["true","false"])?z(t,e,"boolean"):z(t,e,"atom")}n=/[0-9]/;return n.test(r)?(e.eatWhile(n),e.eat("#")?e.eatWhile(/[0-9a-zA-Z]/)||e.backUp(1):e.eat(".")&&(e.eatWhile(n)?e.eat(/[eE]/)&&(e.eat(/[-+]/)?e.eatWhile(n)||e.backUp(2):e.eatWhile(n)||e.backUp(1)):e.backUp(1)),z(t,e,"number")):y(e,f,p)?z(t,e,"open_paren"):y(e,m,d)?z(t,e,"close_paren"):v(e,a,s)?z(t,e,"separator"):v(e,l,_)?z(t,e,"operator"):z(t,e,null)}function y(e,t,r){if(1==e.current().length&&t.test(e.current())){for(e.backUp(1);t.test(e.peek());)if(e.next(),S(e.current(),r))return 1;e.backUp(e.current().length-1)}}function v(e,t,r){if(1==e.current().length&&t.test(e.current())){for(;t.test(e.peek());)e.next();for(;0>":return U(e,{i:["<<"]});case"end":return U(e,{i:["begin","case","fun","if","receive","try"]});case",":return U(e,{e:["begin","try","when","->",",","(","[","{","<<"]});case"->":return U(e,{r:["when"],m:["try","if","case","receive"]});case";":return U(e,{E:["case","fun","if","receive","try","when"]});case"catch":return U(e,{e:["try"]});case"of":return U(e,{e:["case"]});case"after":return U(e,{e:["receive","try"]});default:return e}}(n.tokenStack)),r){case"atom":return"atom";case"attribute":return"attribute";case"boolean":return"atom";case"builtin":return"builtin";case"close_paren":case"colon":return null;case"comment":return"comment";case"dot":return null;case"error":return"error";case"fun":return"meta";case"function":return"tag";case"guard":return"property";case"keyword":return"keyword";case"macro":return"variable-2";case"number":return"number";case"open_paren":return null;case"operator":return"operator";case"record":return"bracket";case"separator":return null;case"string":return"string";case"type":return"def";case"variable":return"variable";default:return null}}function W(e,t,r,n){return{token:e,column:t,indent:r,type:n}}function M(e,t){var r=e.tokenStack.length,t=t||1;return!(r>|\|+|\(/);return A(e)&&0===e.index?e[0]:""}(t),o=M(e,1),a=M(e,2);return e.in_string||e.in_atom?CodeMirror.Pass:a?"when"==o.token?o.column+n:"when"===i&&"function"===a.type?a.indent+n:"("===i&&"fun"===o.token?o.column+3:"catch"===i&&(r=C(e,["try"]))?r.column:S(i,["end","after","of"])?(r=C(e,["begin","case","fun","if","receive","try"]))?r.column:CodeMirror.Pass:S(i,d)?(r=C(e,p))?r.column:CodeMirror.Pass:S(o.token,[",","|","||"])||S(i,[",","|","||"])?(t=E(i=(t=e).tokenStack.slice(0,-1),"type",["open_paren"]),(r=!!A(i[t])&&i[t])?r.column+r.token.length:n):"->"==o.token?S(a.token,["receive","case","if","try"])?a.column+n+n:a.column+n:S(o.token,p)?o.column+o.token.length:(o=(a=e).tokenStack,e=E(o,"type",["open_paren","separator","keyword"]),a=E(o,"type",["operator"]),r=A(e)&&A(a)&&e|\.\*\?]+(?=\s|$)/,token:"builtin"},{regex:/[\)><]+\S+(?=\s|$)/,token:"builtin"},{regex:/(?:[\+\-\=\/\*<>])(?=\s|$)/,token:"keyword"},{regex:/\S+/,token:"variable"},{regex:/\s+|./,token:null}],vocabulary:[{regex:/;/,token:"keyword",next:"start"},{regex:/\S+/,token:"tag"},{regex:/\s+|./,token:null}],string:[{regex:/(?:[^\\]|\\.)*?"/,token:"string",next:"start"},{regex:/.*/,token:"string"}],string2:[{regex:/^;/,token:"keyword",next:"start"},{regex:/.*/,token:"string"}],string3:[{regex:/(?:[^\\]|\\.)*?"""/,token:"string",next:"start"},{regex:/.*/,token:"string"}],stack:[{regex:/\)/,token:"bracket",next:"start"},{regex:/--/,token:"bracket"},{regex:/\S+/,token:"meta"},{regex:/\s+|./,token:null}],meta:{dontIndentStates:["start","vocabulary","string","string3","stack"],lineComment:["!","#!"]}}),CodeMirror.defineMIME("text/x-factor","factor"); // fcl CodeMirror.defineMode("fcl",function(e){var t=e.indentUnit,r={term:!0,method:!0,accu:!0,rule:!0,then:!0,is:!0,and:!0,or:!0,if:!0,default:!0},a={var_input:!0,var_output:!0,fuzzify:!0,defuzzify:!0,function_block:!0,ruleblock:!0},u={end_ruleblock:!0,end_defuzzify:!0,end_function_block:!0,end_fuzzify:!0,end_var:!0},o={true:!0,false:!0,nan:!0,real:!0,min:!0,max:!0,cog:!0,cogs:!0},i=/[+\-*&^%:=<>!|\/]/;function l(e,n){var t=e.next();if(/[\d\.]/.test(t))return"."==t?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):"0"==t?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if("/"==t||"("==t){if(e.eat("*"))return(n.tokenize=c)(e,n);if(e.eat("/"))return e.skipToEnd(),"comment"}if(i.test(t))return e.eatWhile(i),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);e=e.current().toLowerCase();return r.propertyIsEnumerable(e)||a.propertyIsEnumerable(e)||u.propertyIsEnumerable(e)?"keyword":o.propertyIsEnumerable(e)?"atom":"variable"}function c(e,n){for(var t,r=!1;t=e.next();){if(("/"==t||")"==t)&&r){n.tokenize=l;break}r="*"==t}return"comment"}function f(e,n,t,r,o){this.indented=e,this.column=n,this.type=t,this.align=r,this.prev=o}return{startState:function(e){return{tokenize:null,context:new f((e||0)-t,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,n){var t=n.context;if(e.sol()&&(null==t.align&&(t.align=!1),n.indented=e.indentation(),n.startOfLine=!0),e.eatSpace())return null;var r=(n.tokenize||l)(e,n);if("comment"==r)return r;null==t.align&&(t.align=!0);var o,i=e.current().toLowerCase();return a.propertyIsEnumerable(i)?(o=n,t=e.column(),e="end_block",o.context=new f(o.indented,t,e,null,o.context)):!u.propertyIsEnumerable(i)||(i=n).context.prev&&("end_block"==i.context.type&&(i.indented=i.context.indented),i.context=i.context.prev),n.startOfLine=!1,r},indent:function(e,n){if(e.tokenize!=l&&null!=e.tokenize)return 0;e=e.context,n=u.propertyIsEnumerable(n);return e.align?e.column+(n?0:1):e.indented+(n?0:t)},electricChars:"ryk",fold:"brace",blockCommentStart:"(*",blockCommentEnd:"*)",lineComment:"//"}}),CodeMirror.defineMIME("text/x-fcl","fcl"); // forth !function(){function t(t){var E=[];return t.split(" ").forEach(function(t){E.push({name:t})}),E}var E=t("INVERT AND OR XOR 2* 2/ LSHIFT RSHIFT 0= = 0< < > U< MIN MAX 2DROP 2DUP 2OVER 2SWAP ?DUP DEPTH DROP DUP OVER ROT SWAP >R R> R@ + - 1+ 1- ABS NEGATE S>D * M* UM* FM/MOD SM/REM UM/MOD */ */MOD / /MOD MOD HERE , @ ! CELL+ CELLS C, C@ C! CHARS 2@ 2! ALIGN ALIGNED +! ALLOT CHAR [CHAR] [ ] BL FIND EXECUTE IMMEDIATE COUNT LITERAL STATE ; DOES> >BODY EVALUATE SOURCE >IN <# # #S #> HOLD SIGN BASE >NUMBER HEX DECIMAL FILL MOVE . CR EMIT SPACE SPACES TYPE U. .R U.R ACCEPT TRUE FALSE <> U> 0<> 0> NIP TUCK ROLL PICK 2>R 2R@ 2R> WITHIN UNUSED MARKER I J TO COMPILE, [COMPILE] SAVE-INPUT RESTORE-INPUT PAD ERASE 2LITERAL DNEGATE D- D+ D0< D0= D2* D2/ D< D= DMAX DMIN D>S DABS M+ M*/ D. D.R 2ROT DU< CATCH THROW FREE RESIZE ALLOCATE CS-PICK CS-ROLL GET-CURRENT SET-CURRENT FORTH-WORDLIST GET-ORDER SET-ORDER PREVIOUS SEARCH-WORDLIST WORDLIST FIND ALSO ONLY FORTH DEFINITIONS ORDER -TRAILING /STRING SEARCH COMPARE CMOVE CMOVE> BLANK SLITERAL"),e=t("IF ELSE THEN BEGIN WHILE REPEAT UNTIL RECURSE [IF] [ELSE] [THEN] ?DO DO LOOP +LOOP UNLOOP LEAVE EXIT AGAIN CASE OF ENDOF ENDCASE");CodeMirror.defineMode("forth",function(){function i(t,E){for(var e=t.length-1;0<=e;e--)if(t[e].name===E.toUpperCase())return t[e]}return{startState:function(){return{state:"",base:10,coreWordList:E,immediateWordList:e,wordList:[]}},token:function(t,E){var e;if(t.eatSpace())return null;if(""===E.state){if(t.match(/^(\]|:NONAME)(\s|$)/i))return E.state=" compilation","builtin compilation";if(e=t.match(/^(\:)\s+(\S+)(\s|$)+/))return E.wordList.push({name:e[2].toUpperCase()}),E.state=" compilation","def"+E.state;if(e=t.match(/^(VARIABLE|2VARIABLE|CONSTANT|2CONSTANT|CREATE|POSTPONE|VALUE|WORD)\s+(\S+)(\s|$)+/i))return E.wordList.push({name:e[2].toUpperCase()}),"def"+E.state;if(e=t.match(/^(\'|\[\'\])\s+(\S+)(\s|$)+/))return"builtin"+E.state}else{if(t.match(/^(\;|\[)(\s)/))return E.state="",t.backUp(1),"builtin compilation";if(t.match(/^(\;|\[)($)/))return E.state="","builtin compilation";if(t.match(/^(POSTPONE)\s+\S+(\s|$)+/))return"builtin"}return(e=t.match(/^(\S+)(\s+|$)/))?void 0!==i(E.wordList,e[1])?"variable"+E.state:"\\"===e[1]?(t.skipToEnd(),"comment"+E.state):void 0!==i(E.coreWordList,e[1])?"builtin"+E.state:void 0!==i(E.immediateWordList,e[1])?"keyword"+E.state:"("===e[1]?(t.eatWhile(function(t){return")"!==t}),t.eat(")"),"comment"+E.state):".("===e[1]?(t.eatWhile(function(t){return")"!==t}),t.eat(")"),"string"+E.state):'S"'===e[1]||'."'===e[1]||'C"'===e[1]?(t.eatWhile(function(t){return'"'!==t}),t.eat('"'),"string"+E.state):e[1]-68719476735?"number"+E.state:"atom"+E.state:void 0}}}),CodeMirror.defineMIME("text/x-forth","forth")}(); // fortran CodeMirror.defineMode("fortran",function(){function e(e){for(var t={},n=0;n\/\:]/,l=new RegExp("(.and.|.or.|.eq.|.lt.|.le.|.gt.|.ge.|.ne.|.not.|.eqv.|.neqv.)","i");return{startState:function(){return{tokenize:null}},token:function(e,t){if(e.eatSpace())return null;t=(t.tokenize||function(e,t){if(e.match(l))return"operator";var r,n=e.next();return"!"==n?(e.skipToEnd(),"comment"):'"'==n||"'"==n?(t.tokenize=(r=n,function(e,t){for(var n,a=!1,i=!1;null!=(n=e.next());){if(n==r&&!a){i=!0;break}a=!a&&"\\"==n}return!i&&a||(t.tokenize=null),"string"}),t.tokenize(e,t)):/[\[\]\(\),]/.test(n)?null:/\d/.test(n)?(e.eatWhile(/[\w\.]/),"number"):c.test(n)?(e.eatWhile(c),"operator"):(e.eatWhile(/[\w\$_]/),e=e.current().toLowerCase(),a.hasOwnProperty(e)?"keyword":i.hasOwnProperty(e)||o.hasOwnProperty(e)?"builtin":"variable")})(e,t);return t}}}),CodeMirror.defineMIME("text/x-fortran","fortran"); // gas CodeMirror.defineMode("gas",function(i,l){"use strict";var r=[],a="",u={".abort":"builtin",".align":"builtin",".altmacro":"builtin",".ascii":"builtin",".asciz":"builtin",".balign":"builtin",".balignw":"builtin",".balignl":"builtin",".bundle_align_mode":"builtin",".bundle_lock":"builtin",".bundle_unlock":"builtin",".byte":"builtin",".cfi_startproc":"builtin",".comm":"builtin",".data":"builtin",".def":"builtin",".desc":"builtin",".dim":"builtin",".double":"builtin",".eject":"builtin",".else":"builtin",".elseif":"builtin",".end":"builtin",".endef":"builtin",".endfunc":"builtin",".endif":"builtin",".equ":"builtin",".equiv":"builtin",".eqv":"builtin",".err":"builtin",".error":"builtin",".exitm":"builtin",".extern":"builtin",".fail":"builtin",".file":"builtin",".fill":"builtin",".float":"builtin",".func":"builtin",".global":"builtin",".gnu_attribute":"builtin",".hidden":"builtin",".hword":"builtin",".ident":"builtin",".if":"builtin",".incbin":"builtin",".include":"builtin",".int":"builtin",".internal":"builtin",".irp":"builtin",".irpc":"builtin",".lcomm":"builtin",".lflags":"builtin",".line":"builtin",".linkonce":"builtin",".list":"builtin",".ln":"builtin",".loc":"builtin",".loc_mark_labels":"builtin",".local":"builtin",".long":"builtin",".macro":"builtin",".mri":"builtin",".noaltmacro":"builtin",".nolist":"builtin",".octa":"builtin",".offset":"builtin",".org":"builtin",".p2align":"builtin",".popsection":"builtin",".previous":"builtin",".print":"builtin",".protected":"builtin",".psize":"builtin",".purgem":"builtin",".pushsection":"builtin",".quad":"builtin",".reloc":"builtin",".rept":"builtin",".sbttl":"builtin",".scl":"builtin",".section":"builtin",".set":"builtin",".short":"builtin",".single":"builtin",".size":"builtin",".skip":"builtin",".sleb128":"builtin",".space":"builtin",".stab":"builtin",".string":"builtin",".struct":"builtin",".subsection":"builtin",".symver":"builtin",".tag":"builtin",".text":"builtin",".title":"builtin",".type":"builtin",".uleb128":"builtin",".val":"builtin",".version":"builtin",".vtable_entry":"builtin",".vtable_inherit":"builtin",".warning":"builtin",".weak":"builtin",".weakref":"builtin",".word":"builtin"},o={};l=(l.architecture||"x86").toLowerCase();function v(i,l){for(var t,n=!1;null!=(t=i.next());){if("/"===t&&n){l.tokenize=null;break}n="*"===t}return"comment"}return"x86"===l?(a="#",o.al="variable",o.ah="variable",o.ax="variable",o.eax="variable-2",o.rax="variable-3",o.bl="variable",o.bh="variable",o.bx="variable",o.ebx="variable-2",o.rbx="variable-3",o.cl="variable",o.ch="variable",o.cx="variable",o.ecx="variable-2",o.rcx="variable-3",o.dl="variable",o.dh="variable",o.dx="variable",o.edx="variable-2",o.rdx="variable-3",o.si="variable",o.esi="variable-2",o.rsi="variable-3",o.di="variable",o.edi="variable-2",o.rdi="variable-3",o.sp="variable",o.esp="variable-2",o.rsp="variable-3",o.bp="variable",o.ebp="variable-2",o.rbp="variable-3",o.ip="variable",o.eip="variable-2",o.rip="variable-3",o.cs="keyword",o.ds="keyword",o.ss="keyword",o.es="keyword",o.fs="keyword",o.gs="keyword"):"arm"!==l&&"armv6"!==l||(a="@",u.syntax="builtin",o.r0="variable",o.r1="variable",o.r2="variable",o.r3="variable",o.r4="variable",o.r5="variable",o.r6="variable",o.r7="variable",o.r8="variable",o.r9="variable",o.r10="variable",o.r11="variable",o.r12="variable",o.sp="variable-2",o.lr="variable-2",o.pc="variable-2",o.r13=o.sp,o.r14=o.lr,o.r15=o.pc,r.push(function(i,l){if("#"===i)return l.eatWhile(/\w/),"number"})),{startState:function(){return{tokenize:null}},token:function(i,l){if(l.tokenize)return l.tokenize(i,l);if(i.eatSpace())return null;var t,n,e=i.next();if("/"===e&&i.eat("*"))return(l.tokenize=v)(i,l);if(e===a)return i.skipToEnd(),"comment";if('"'===e)return function(i,l){for(var t,n=!1;null!=(t=i.next());){if(t===l&&!n)return;n=!n&&"\\"===t}}(i,'"'),"string";if("."===e)return i.eatWhile(/\w/),n=i.current().toLowerCase(),(t=u[n])||null;if("="===e)return i.eatWhile(/\w/),"tag";if("{"===e)return"bracket";if("}"===e)return"bracket";if(/\d/.test(e))return"0"===e&&i.eat("x")?i.eatWhile(/[0-9a-fA-F]/):i.eatWhile(/\d/),"number";if(/\w/.test(e))return i.eatWhile(/\w/),i.eat(":")?"tag":(n=i.current().toLowerCase(),(t=o[n])||null);for(var b=0;b]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i;CodeMirror.defineMode("gfm",function(e,n){var o=0;var t,a={startState:function(){return{code:!1,codeBlock:!1,ateSpace:!1}},copyState:function(e){return{code:e.code,codeBlock:e.codeBlock,ateSpace:e.ateSpace}},token:function(e,t){if(t.combineTokens=null,t.codeBlock)return e.match(/^```+/)?t.codeBlock=!1:e.skipToEnd(),null;if(e.sol()&&(t.code=!1),e.sol()&&e.match(/^```+/))return e.skipToEnd(),t.codeBlock=!0,null;if("`"===e.peek()){e.next();var a=e.pos;e.eatWhile("`");a=1+e.pos-a;return t.code?a===o&&(t.code=!1):(o=a,t.code=!0),null}if(t.code)return e.next(),null;if(e.eatSpace())return t.ateSpace=!0,null;if((e.sol()||t.ateSpace)&&(t.ateSpace=!1)!==n.gitHubSpice){if(e.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?=.{0,6}\d)(?:[a-f0-9]{7,40}\b)/))return t.combineTokens=!0,"link";if(e.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+)?#[0-9]+\b/))return t.combineTokens=!0,"link"}return e.match(s)&&"]("!=e.string.slice(e.start-2,e.start)&&(0==e.start||/\W/.test(e.string.charAt(e.start-1)))?(t.combineTokens=!0,"link"):(e.next(),null)},blankLine:function(e){return e.code=!1,null}},i={taskLists:!0,strikethrough:!0,emoji:!0};for(t in n)i[t]=n[t];return i.name="markdown",CodeMirror.overlayMode(CodeMirror.getMode(e,i),a)},"markdown"),CodeMirror.defineMIME("text/x-gfm","gfm")}(); // gherkin CodeMirror.defineMode("gherkin",function(){return{startState:function(){return{lineNumber:0,tableHeaderLine:!1,allowFeature:!0,allowBackground:!1,allowScenario:!1,allowSteps:!1,allowPlaceholders:!1,allowMultilineArgument:!1,inMultilineString:!1,inMultilineTable:!1,inKeywordLine:!1}},token:function(a,e){if(a.sol()&&(e.lineNumber++,e.inKeywordLine=!1,e.inMultilineTable&&(e.tableHeaderLine=!1,a.match(/\s*\|/,!1)||(e.allowMultilineArgument=!1,e.inMultilineTable=!1))),a.eatSpace(),e.allowMultilineArgument){if(e.inMultilineString)return a.match('"""')?(e.inMultilineString=!1,e.allowMultilineArgument=!1):a.match(/.*/),"string";if(e.inMultilineTable)return a.match(/\|\s*/)?"bracket":(a.match(/[^\|]*/),e.tableHeaderLine?"header":"string");if(a.match('"""'))return e.inMultilineString=!0,"string";if(a.match("|"))return e.inMultilineTable=!0,e.tableHeaderLine=!0,"bracket"}return a.match(/#.*/)?"comment":!e.inKeywordLine&&a.match(/@\S+/)?"tag":!e.inKeywordLine&&e.allowFeature&&a.match(/(機能|功能|フィーチャ|기능|โครงหลัก|ความสามารถ|ความต้องการทางธุรกิจ|ಹೆಚ್ಚಳ|గుణము|ਮੁਹਾਂਦਰਾ|ਨਕਸ਼ ਨੁਹਾਰ|ਖਾਸੀਅਤ|रूप लेख|وِیژگی|خاصية|תכונה|Функціонал|Функция|Функционалност|Функционал|Үзенчәлеклелек|Свойство|Особина|Мөмкинлек|Могућност|Λειτουργία|Δυνατότητα|Właściwość|Vlastnosť|Trajto|Tính năng|Savybė|Pretty much|Požiadavka|Požadavek|Potrzeba biznesowa|Özellik|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Hwæt|Hwaet|Funzionalità|Funktionalitéit|Funktionalität|Funkcja|Funkcionalnost|Funkcionalitāte|Funkcia|Fungsi|Functionaliteit|Funcționalitate|Funcţionalitate|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Fīča|Feature|Eiginleiki|Egenskap|Egenskab|Característica|Caracteristica|Business Need|Aspekt|Arwedd|Ahoy matey!|Ability):/)?(e.allowScenario=!0,e.allowBackground=!0,e.allowPlaceholders=!1,e.allowSteps=!1,e.allowMultilineArgument=!1,e.inKeywordLine=!0,"keyword"):!e.inKeywordLine&&e.allowBackground&&a.match(/(背景|배경|แนวคิด|ಹಿನ್ನೆಲೆ|నేపథ్యం|ਪਿਛੋਕੜ|पृष्ठभूमि|زمینه|الخلفية|רקע|Тарих|Предыстория|Предистория|Позадина|Передумова|Основа|Контекст|Кереш|Υπόβαθρο|Założenia|Yo\-ho\-ho|Tausta|Taust|Situācija|Rerefons|Pozadina|Pozadie|Pozadí|Osnova|Latar Belakang|Kontext|Konteksts|Kontekstas|Kontekst|Háttér|Hannergrond|Grundlage|Geçmiş|Fundo|Fono|First off|Dis is what went down|Dasar|Contexto|Contexte|Context|Contesto|Cenário de Fundo|Cenario de Fundo|Cefndir|Bối cảnh|Bakgrunnur|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|Ær|Aer|Achtergrond):/)?(e.allowPlaceholders=!1,e.allowSteps=!0,e.allowBackground=!1,e.allowMultilineArgument=!1,e.inKeywordLine=!0,"keyword"):!e.inKeywordLine&&e.allowScenario&&a.match(/(場景大綱|场景大纲|劇本大綱|剧本大纲|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|시나리오 개요|สรุปเหตุการณ์|โครงสร้างของเหตุการณ์|ವಿವರಣೆ|కథనం|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਟਕਥਾ ਢਾਂਚਾ|परिदृश्य रूपरेखा|سيناريو مخطط|الگوی سناریو|תבנית תרחיש|Сценарийның төзелеше|Сценарий структураси|Структура сценарію|Структура сценария|Структура сценарија|Скица|Рамка на сценарий|Концепт|Περιγραφή Σεναρίου|Wharrimean is|Template Situai|Template Senario|Template Keadaan|Tapausaihio|Szenariogrundriss|Szablon scenariusza|Swa hwær swa|Swa hwaer swa|Struktura scenarija|Structură scenariu|Structura scenariu|Skica|Skenario konsep|Shiver me timbers|Senaryo taslağı|Schema dello scenario|Scenariomall|Scenariomal|Scenario Template|Scenario Outline|Scenario Amlinellol|Scenārijs pēc parauga|Scenarijaus šablonas|Reckon it's like|Raamstsenaarium|Plang vum Szenario|Plan du Scénario|Plan du scénario|Osnova scénáře|Osnova Scenára|Náčrt Scenáru|Náčrt Scénáře|Náčrt Scenára|MISHUN SRSLY|Menggariskan Senario|Lýsing Dæma|Lýsing Atburðarásar|Konturo de la scenaro|Koncept|Khung tình huống|Khung kịch bản|Forgatókönyv vázlat|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esbozo do escenario|Delineação do Cenário|Delineacao do Cenario|All y'all|Abstrakt Scenario|Abstract Scenario):/)?(e.allowPlaceholders=!0,e.allowSteps=!0,e.allowMultilineArgument=!1,e.inKeywordLine=!0,"keyword"):e.allowScenario&&a.match(/(例子|例|サンプル|예|ชุดของเหตุการณ์|ชุดของตัวอย่าง|ಉದಾಹರಣೆಗಳು|ఉదాహరణలు|ਉਦਾਹਰਨਾਂ|उदाहरण|نمونه ها|امثلة|דוגמאות|Үрнәкләр|Сценарији|Примеры|Примери|Приклади|Мисоллар|Мисаллар|Σενάρια|Παραδείγματα|You'll wanna|Voorbeelden|Variantai|Tapaukset|Se þe|Se the|Se ðe|Scenarios|Scenariji|Scenarijai|Przykłady|Primjeri|Primeri|Příklady|Príklady|Piemēri|Példák|Pavyzdžiai|Paraugs|Örnekler|Juhtumid|Exemplos|Exemples|Exemple|Exempel|EXAMPLZ|Examples|Esempi|Enghreifftiau|Ekzemploj|Eksempler|Ejemplos|Dữ liệu|Dead men tell no tales|Dæmi|Contoh|Cenários|Cenarios|Beispiller|Beispiele|Atburðarásir):/)?(e.allowPlaceholders=!1,e.allowSteps=!0,e.allowBackground=!1,e.allowMultilineArgument=!0,"keyword"):!e.inKeywordLine&&e.allowScenario&&a.match(/(場景|场景|劇本|剧本|シナリオ|시나리오|เหตุการณ์|ಕಥಾಸಾರಾಂಶ|సన్నివేశం|ਪਟਕਥਾ|परिदृश्य|سيناريو|سناریو|תרחיש|Сценарій|Сценарио|Сценарий|Пример|Σενάριο|Tình huống|The thing of it is|Tapaus|Szenario|Swa|Stsenaarium|Skenario|Situai|Senaryo|Senario|Scenaro|Scenariusz|Scenariu|Scénario|Scenario|Scenarijus|Scenārijs|Scenarij|Scenarie|Scénář|Scenár|Primer|MISHUN|Kịch bản|Keadaan|Heave to|Forgatókönyv|Escenario|Escenari|Cenário|Cenario|Awww, look mate|Atburðarás):/)?(e.allowPlaceholders=!1,e.allowSteps=!0,e.allowBackground=!1,e.allowMultilineArgument=!1,e.inKeywordLine=!0,"keyword"):!e.inKeywordLine&&e.allowSteps&&a.match(/(那麼|那么|而且|當|当|并且|同時|同时|前提|假设|假設|假定|假如|但是|但し|並且|もし|ならば|ただし|しかし|かつ|하지만|조건|먼저|만일|만약|단|그리고|그러면|และ |เมื่อ |แต่ |ดังนั้น |กำหนดให้ |ಸ್ಥಿತಿಯನ್ನು |ಮತ್ತು |ನೀಡಿದ |ನಂತರ |ಆದರೆ |మరియు |చెప్పబడినది |కాని |ఈ పరిస్థితిలో |అప్పుడు |ਪਰ |ਤਦ |ਜੇਕਰ |ਜਿਵੇਂ ਕਿ |ਜਦੋਂ |ਅਤੇ |यदि |परन्तु |पर |तब |तदा |तथा |जब |चूंकि |किन्तु |कदा |और |अगर |و |هنگامی |متى |لكن |عندما |ثم |بفرض |با فرض |اما |اذاً |آنگاه |כאשר |וגם |בהינתן |אזי |אז |אבל |Якщо |Һәм |Унда |Тоді |Тогда |То |Также |Та |Пусть |Припустимо, що |Припустимо |Онда |Но |Нехай |Нәтиҗәдә |Лекин |Ләкин |Коли |Когда |Когато |Када |Кад |К тому же |І |И |Задато |Задати |Задате |Если |Допустим |Дано |Дадено |Вә |Ва |Бирок |Әмма |Әйтик |Әгәр |Аммо |Али |Але |Агар |А також |А |Τότε |Όταν |Και |Δεδομένου |Αλλά |Þurh |Þegar |Þa þe |Þá |Þa |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Za předpokladu |Za predpokladu |Youse know when youse got |Youse know like when |Yna |Yeah nah |Y'know |Y |Wun |Wtedy |When y'all |When |Wenn |WEN |wann |Ve |Và |Und |Un |ugeholl |Too right |Thurh |Thì |Then y'all |Then |Tha the |Tha |Tetapi |Tapi |Tak |Tada |Tad |Stel |Soit |Siis |Și |Şi |Si |Sed |Se |Så |Quando |Quand |Quan |Pryd |Potom |Pokud |Pokiaľ |Però |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |Niin |Nhưng |När |Når |Mutta |Men |Mas |Maka |Majd |Mając |Mais |Maar |mä |Ma |Lorsque |Lorsqu'|Logo |Let go and haul |Kun |Kuid |Kui |Kiedy |Khi |Ketika |Kemudian |Keď |Když |Kaj |Kai |Kada |Kad |Jeżeli |Jeśli |Ja |It's just unbelievable |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y'all |Given |Gitt |Gegeven |Gegeben seien |Gegeben sei |Gdy |Gangway! |Fakat |Étant donnés |Etant donnés |Étant données |Etant données |Étant donnée |Etant donnée |Étant donné |Etant donné |Et |És |Entonces |Entón |Então |Entao |En |Eğer ki |Ef |Eeldades |E |Ðurh |Duota |Dun |Donitaĵo |Donat |Donada |Do |Diyelim ki |Diberi |Dengan |Den youse gotta |DEN |De |Dato |Dați fiind |Daţi fiind |Dati fiind |Dati |Date fiind |Date |Data |Dat fiind |Dar |Dann |dann |Dan |Dados |Dado |Dadas |Dada |Ða ðe |Ða |Cuando |Cho |Cando |Când |Cand |Cal |But y'all |But at the end of the day I reckon |BUT |But |Buh |Blimey! |Biết |Bet |Bagi |Aye |awer |Avast! |Atunci |Atesa |Atès |Apabila |Anrhegedig a |Angenommen |And y'all |And |AN |An |an |Amikor |Amennyiben |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Ak |Adott |Ac |Aber |A zároveň |A tiež |A taktiež |A také |A |a |7 |\* )/)?(e.inStep=!0,e.allowPlaceholders=!0,e.allowMultilineArgument=!0,e.inKeywordLine=!0,"keyword"):a.match(/"[^"]*"?/)?"string":e.allowPlaceholders&&a.match(/<[^>]*>?/)?"variable":(a.next(),a.eatWhile(/[^@"<#]/),null)}}}),CodeMirror.defineMIME("text/x-feature","gherkin"); // go CodeMirror.defineMode("go",function(e){var i,o=e.indentUnit,r={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0},a={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},c=/[+\-*&^%:=<>!|\/]/;function u(e,t){var o,n=e.next();if('"'==n||"'"==n||"`"==n)return t.tokenize=(o=n,function(e,t){for(var n,r=!1,i=!1;null!=(n=e.next());){if(n==o&&!r){i=!0;break}r=!r&&"`"!=o&&"\\"==n}return(i||!r&&"`"!=o)&&(t.tokenize=u),"string"}),t.tokenize(e,t);if(/[\d\.]/.test(n))return"."==n?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):"0"==n?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(n))return i=n,null;if("/"==n){if(e.eat("*"))return(t.tokenize=l)(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(c.test(n))return e.eatWhile(c),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);e=e.current();return r.propertyIsEnumerable(e)?("case"!=e&&"default"!=e||(i="case"),"keyword"):a.propertyIsEnumerable(e)?"atom":"variable"}function l(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=u;break}r="*"==n}return"comment"}function f(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function s(e,t,n){return e.context=new f(e.indented,t,n,null,e.context)}function d(e){if(e.context.prev){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}}return{startState:function(e){return{tokenize:null,context:new f((e||0)-o,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0,"case"==n.type&&(n.type="}")),e.eatSpace())return null;i=null;var r=(t.tokenize||u)(e,t);return"comment"==r||(null==n.align&&(n.align=!0),"{"==i?s(t,e.column(),"}"):"["==i?s(t,e.column(),"]"):"("==i?s(t,e.column(),")"):"case"==i?n.type="case":("}"==i&&"}"==n.type||i==n.type)&&d(t),t.startOfLine=!1),r},indent:function(e,t){if(e.tokenize!=u&&null!=e.tokenize)return CodeMirror.Pass;var n=e.context,r=t&&t.charAt(0);if("case"==n.type&&/^(?:case|default)\b/.test(t))return e.context.type="}",n.indented;r=r==n.type;return n.align?n.column+(r?0:1):n.indented+(r?0:o)},electricChars:"{}):",closeBrackets:"()[]{}''\"\"``",fold:"brace",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}}),CodeMirror.defineMIME("text/x-go","go"); // groovy CodeMirror.defineMode("groovy",function(r){function e(e){for(var t={},n=e.split(" "),r=0;r"))return i="->",null;if(/[+\-*&%=<>!?|\/~]/.test(n))return e.eatWhile(/[+\-*&%=<>|~]/),"operator";if(e.eatWhile(/[\w\$_]/),"@"==n)return e.eatWhile(/[\w\$_\.]/),"meta";if("."==t.lastToken)return"property";if(e.eat(":"))return i="proplabel","property";e=e.current();return s.propertyIsEnumerable(e)?"atom":o.propertyIsEnumerable(e)?(a.propertyIsEnumerable(e)?i="newstatement":l.propertyIsEnumerable(e)&&(i="standalone"),"keyword"):"variable"}function f(o,e,t){var a=!1;if("/"!=o&&e.eat(o)){if(!e.eat(o))return"string";a=!0}function n(e,t){for(var n,r=!1,i=!a;null!=(n=e.next());){if(n==o&&!r){if(!a)break;if(e.match(o+o)){i=!0;break}}if('"'==o&&"$"==n&&!r&&e.eat("{"))return t.tokenize.push(function(){var n=1;function e(e,t){if("}"==e.peek()){if(0==--n)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)}else"{"==e.peek()&&n++;return u(e,t)}return e.isBase=!0,e}()),"string";r=!r&&"\\"==n}return i&&t.tokenize.pop(),"string"}return t.tokenize.push(n),n(e,t)}function c(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize.pop();break}r="*"==n}return"comment"}function p(e,t){return!e||"operator"==e||"->"==e||/[\.\[\{\(,;:]/.test(e)||"newstatement"==e||"keyword"==e||"proplabel"==e||"standalone"==e&&!t}function d(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function m(e,t,n){return e.context=new d(e.indented,t,n,null,e.context)}function k(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}return u.isBase=!0,{startState:function(e){return{tokenize:[u],context:new d((e||0)-r.indentUnit,0,"top",!1),indented:0,startOfLine:!0,lastToken:null}},token:function(e,t){var n=t.context;if(e.sol()&&(null==n.align&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0,"statement"!=n.type||p(t.lastToken,!0)||(k(t),n=t.context)),e.eatSpace())return null;i=null;var r=t.tokenize[t.tokenize.length-1](e,t);if("comment"==r)return r;if(null==n.align&&(n.align=!0),";"!=i&&":"!=i||"statement"!=n.type)if("->"==i&&"statement"==n.type&&"}"==n.prev.type)k(t),t.context.align=!1;else if("{"==i)m(t,e.column(),"}");else if("["==i)m(t,e.column(),"]");else if("("==i)m(t,e.column(),")");else if("}"==i){for(;"statement"==n.type;)n=k(t);for("}"==n.type&&(n=k(t));"statement"==n.type;)n=k(t)}else i==n.type?k(t):("}"==n.type||"top"==n.type||"statement"==n.type&&"newstatement"==i)&&m(t,e.column(),"statement");else k(t);return t.startOfLine=!1,t.lastToken=i||r,r},indent:function(e,t){if(!e.tokenize[e.tokenize.length-1].isBase)return CodeMirror.Pass;var n=t&&t.charAt(0),t=e.context,e=n==(t="statement"==t.type&&!p(e.lastToken,!0)?t.prev:t).type;return"statement"==t.type?t.indented+("{"==n?0:r.indentUnit):t.align?t.column+(e?0:1):t.indented+(e?0:r.indentUnit)},electricChars:"{}",closeBrackets:{triples:"'\""},fold:"brace",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}}),CodeMirror.defineMIME("text/x-groovy","groovy"); // haml CodeMirror.defineMode("haml",function(e){var r=CodeMirror.getMode(e,{name:"htmlmixed"}),n=CodeMirror.getMode(e,"ruby");function i(n){return function(e,t){return e.peek()==n&&1==t.rubyState.tokenize.length?(e.next(),t.tokenize=a,"closeAttributeTag"):o(e,t)}}function o(e,t){return e.match("-#")?(e.skipToEnd(),"comment"):n.token(e,t.rubyState)}function a(e,t){var n=e.peek();if("comment"==t.previousToken.style&&t.indented>t.previousToken.indented)return e.skipToEnd(),"commentLine";if(t.startOfLine){if("!"==n&&e.match("!!"))return e.skipToEnd(),"tag";if(e.match(/^%[\w:#\.]+=/))return t.tokenize=o,"hamlTag";if(e.match(/^%[\w:]+/))return"hamlTag";if("/"==n)return e.skipToEnd(),"comment"}if((t.startOfLine||"hamlTag"==t.previousToken.style)&&("#"==n||"."==n))return e.match(/[\w-#\.]*/),"hamlAttribute";if(t.startOfLine&&!e.match("--\x3e",!1)&&("="==n||"-"==n))return t.tokenize=o,t.tokenize(e,t);if("hamlTag"==t.previousToken.style||"closeAttributeTag"==t.previousToken.style||"hamlAttribute"==t.previousToken.style){if("("==n)return t.tokenize=i(")"),t.tokenize(e,t);if("{"==n&&!e.match(/^\{%.*/))return t.tokenize=i("}"),t.tokenize(e,t)}return r.token(e,t.htmlState)}return{startState:function(){return{htmlState:CodeMirror.startState(r),rubyState:CodeMirror.startState(n),indented:0,previousToken:{style:null,indented:0},tokenize:a}},copyState:function(e){return{htmlState:CodeMirror.copyState(r,e.htmlState),rubyState:CodeMirror.copyState(n,e.rubyState),indented:e.indented,previousToken:e.previousToken,tokenize:e.tokenize}},token:function(e,t){if(e.sol()&&(t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;var n,r=t.tokenize(e,t);return t.startOfLine=!1,r&&"commentLine"!=r&&(t.previousToken={style:r,indented:t.indented}),e.eol()&&t.tokenize==o&&(e.backUp(1),n=e.peek(),e.next(),n&&","!=n&&(t.tokenize=a)),"hamlTag"==r?r="tag":"commentLine"==r?r="comment":"hamlAttribute"==r?r="attribute":"closeAttributeTag"==r&&(r=null),r}}},"htmlmixed","ruby"),CodeMirror.defineMIME("text/x-haml","haml"); // handlebars CodeMirror.defineSimpleMode("handlebars-tags",{start:[{regex:/\{\{\{/,push:"handlebars_raw",token:"tag"},{regex:/\{\{!--/,push:"dash_comment",token:"comment"},{regex:/\{\{!/,push:"comment",token:"comment"},{regex:/\{\{/,push:"handlebars",token:"tag"}],handlebars_raw:[{regex:/\}\}\}/,pop:!0,token:"tag"}],handlebars:[{regex:/\}\}/,pop:!0,token:"tag"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"},{regex:/'(?:[^\\']|\\.)*'?/,token:"string"},{regex:/>|[#\/]([A-Za-z_]\w*)/,token:"keyword"},{regex:/(?:else|this)\b/,token:"keyword"},{regex:/\d+/i,token:"number"},{regex:/=|~|@|true|false/,token:"atom"},{regex:/(?:\.\.\/)*(?:[A-Za-z_][\w\.]*)+/,token:"variable-2"}],dash_comment:[{regex:/--\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],comment:[{regex:/\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],meta:{blockCommentStart:"{{--",blockCommentEnd:"--}}"}}),CodeMirror.defineMode("handlebars",function(e,r){var o=CodeMirror.getMode(e,"handlebars-tags");return r&&r.base?CodeMirror.multiplexingMode(CodeMirror.getMode(e,r.base),{open:"{{",close:/\}\}\}?/,mode:o,parseDelimiters:!0}):o}),CodeMirror.defineMIME("text/x-handlebars-template","handlebars"); // haskell CodeMirror.defineMode("haskell",function(e,a){function i(e,r,t){return r(t),t(e,r)}var o=/[a-z_]/,l=/[A-Z]/,u=/\d/,s=/[0-9A-Fa-f]/,f=/[0-7]/,c=/[a-z_A-Z0-9'\xa1-\uffff]/,d=/[-!#$%&*+.\/<=>?@\\^|~:]/,m=/[(),;[\]`{}]/,h=/[ \t\v\f]/;function p(e,r){if(e.eatWhile(h))return null;var t=e.next();if(m.test(t)){if("{"==t&&e.eat("-")){var n="comment";return e.eat("#")&&(n="meta"),i(e,r,function a(i,o){if(0==o)return p;return function(e,r){for(var t=o;!e.eol();){var n=e.next();if("{"==n&&e.eat("-"))++t;else if("-"==n&&e.eat("}")&&0==--t)return r(p),i}return r(a(i,t)),i}}(n,1))}return null}if("'"==t)return e.eat("\\"),e.next(),e.eat("'")?"string":"string error";if('"'==t)return i(e,r,g);if(l.test(t))return e.eatWhile(c),e.eat(".")?"qualifier":"variable-2";if(o.test(t))return e.eatWhile(c),"variable";if(u.test(t)){if("0"==t){if(e.eat(/[xX]/))return e.eatWhile(s),"integer";if(e.eat(/[oO]/))return e.eatWhile(f),"number"}e.eatWhile(u);n="number";return e.match(/^\.\d+/)&&(n="number"),e.eat(/[eE]/)&&(n="number",e.eat(/[-+]/),e.eatWhile(u)),n}if("."==t&&e.eat("."))return"keyword";if(d.test(t)){if("-"==t&&e.eat(/-/)&&(e.eatWhile(/-/),!e.eat(d)))return e.skipToEnd(),"comment";n=":"==t?"variable-2":"variable";return e.eatWhile(d),n}return"error"}function g(e,r){for(;!e.eol();){var t=e.next();if('"'==t)return r(p),"string";if("\\"==t){if(e.eol()||e.eat(h))return r(n),"string";e.eat("&")||e.next()}}return r(p),"string error"}function n(e,r){return e.eat("\\")?i(e,r,g):(e.next(),r(p),"error")}var v=function(){var t={};function e(r){return function(){for(var e=0;e","@","~","=>"),e("builtin")("!!","$!","$","&&","+","++","-",".","/","/=","<","<*","<=","<$>","<*>","=<<","==",">",">=",">>",">>=","^","^^","||","*","*>","**"),e("builtin")("Applicative","Bool","Bounded","Char","Double","EQ","Either","Enum","Eq","False","FilePath","Float","Floating","Fractional","Functor","GT","IO","IOError","Int","Integer","Integral","Just","LT","Left","Maybe","Monad","Nothing","Num","Ord","Ordering","Rational","Read","ReadS","Real","RealFloat","RealFrac","Right","Show","ShowS","String","True"),e("builtin")("abs","acos","acosh","all","and","any","appendFile","asTypeOf","asin","asinh","atan","atan2","atanh","break","catch","ceiling","compare","concat","concatMap","const","cos","cosh","curry","cycle","decodeFloat","div","divMod","drop","dropWhile","either","elem","encodeFloat","enumFrom","enumFromThen","enumFromThenTo","enumFromTo","error","even","exp","exponent","fail","filter","flip","floatDigits","floatRadix","floatRange","floor","fmap","foldl","foldl1","foldr","foldr1","fromEnum","fromInteger","fromIntegral","fromRational","fst","gcd","getChar","getContents","getLine","head","id","init","interact","ioError","isDenormalized","isIEEE","isInfinite","isNaN","isNegativeZero","iterate","last","lcm","length","lex","lines","log","logBase","lookup","map","mapM","mapM_","max","maxBound","maximum","maybe","min","minBound","minimum","mod","negate","not","notElem","null","odd","or","otherwise","pi","pred","print","product","properFraction","pure","putChar","putStr","putStrLn","quot","quotRem","read","readFile","readIO","readList","readLn","readParen","reads","readsPrec","realToFrac","recip","rem","repeat","replicate","return","reverse","round","scaleFloat","scanl","scanl1","scanr","scanr1","seq","sequence","sequence_","show","showChar","showList","showParen","showString","shows","showsPrec","significand","signum","sin","sinh","snd","span","splitAt","sqrt","subtract","succ","sum","tail","take","takeWhile","tan","tanh","toEnum","toInteger","toRational","truncate","uncurry","undefined","unlines","until","unwords","unzip","unzip3","userError","words","writeFile","zip","zip3","zipWith","zipWith3");var r=a.overrideKeywords;if(r)for(var n in r)r.hasOwnProperty(n)&&(t[n]=r[n]);return t}();return{startState:function(){return{f:p}},copyState:function(e){return{f:e.f}},token:function(e,r){var t=r.f(e,function(e){r.f=e}),e=e.current();return v.hasOwnProperty(e)?v[e]:t},blockCommentStart:"{-",blockCommentEnd:"-}",lineComment:"--"}}),CodeMirror.defineMIME("text/x-haskell","haskell"); // haskell-literate CodeMirror.defineMode("haskell-literate",function(e,t){var r=CodeMirror.getMode(e,t&&t.base||"haskell");return{startState:function(){return{inCode:!1,baseState:CodeMirror.startState(r)}},token:function(e,t){return e.sol()&&(t.inCode=e.eat(">"))?"meta":t.inCode?r.token(e,t.baseState):(e.skipToEnd(),"comment")},innerMode:function(e){return e.inCode?{state:e.baseState,mode:r}:null}}},"haskell"),CodeMirror.defineMIME("text/x-literate-haskell","haskell-literate"); // haxe CodeMirror.defineMode("haxe",function(e,t){var i=e.indentUnit;function n(e){return{type:e,style:"keyword"}}var r,a=n("keyword a"),o=n("keyword b"),l=n("keyword c"),c=n("operator"),u={type:"atom",style:"atom"},e={type:"attribute",style:"attribute"},f=n("typedef"),s={if:a,while:a,else:o,do:o,try:o,return:l,break:l,continue:l,new:l,throw:l,var:n("var"),inline:e,static:e,using:n("import"),public:e,private:e,cast:n("cast"),import:n("import"),macro:n("macro"),function:n("function"),catch:n("catch"),untyped:n("untyped"),callback:n("cb"),for:n("for"),switch:n("switch"),case:n("case"),default:n("default"),in:c,never:n("property_access"),trace:n("trace"),class:f,abstract:f,enum:f,interface:f,typedef:f,extends:f,implements:f,dynamic:f,true:u,false:u,null:u},d=/[+\-*&%=<>!?|]/;function p(e,t,n){return(t.tokenize=n)(e,t)}function m(e,t){for(var n,r=!1;null!=(n=e.next());){if(n==t&&!r)return 1;r=!r&&"\\"==n}}function v(e,t,n){return f=e,r=n,t}function b(e,t){var n=e.next();if('"'==n||"'"==n)return p(e,t,(r=n,function(e,t){return m(e,r)&&(t.tokenize=b),v("string","string")}));if(/[\[\]{}\(\),;\:\.]/.test(n))return v(n);if("0"==n&&e.eat(/x/i))return e.eatWhile(/[\da-f]/i),v("number","number");if(/\d/.test(n)||"-"==n&&e.eat(/\d/))return e.match(/^\d*(?:\.\d*(?!\.))?(?:[eE][+\-]?\d+)?/),v("number","number");if(t.reAllowed&&"~"==n&&e.eat(/\//))return m(e,"/"),e.eatWhile(/[gimsu]/),v("regexp","string-2");if("/"==n)return e.eat("*")?p(e,t,y):e.eat("/")?(e.skipToEnd(),v("comment","comment")):(e.eatWhile(d),v("operator",null,e.current()));if("#"==n)return e.skipToEnd(),v("conditional","meta");if("@"==n)return e.eat(/:/),e.eatWhile(/[\w_]/),v("metadata","meta");if(d.test(n))return e.eatWhile(d),v("operator",null,e.current());if(/[A-Z]/.test(n))return e.eatWhile(/[\w_<>]/),v("type","variable-3",a=e.current());e.eatWhile(/[\w_]/);var r,a=e.current(),e=s.propertyIsEnumerable(a)&&s[a];return e&&t.kwAllowed?v(e.type,e.style,a):v("variable","variable",a)}function y(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=b;break}r="*"==n}return v("comment","comment")}var x={atom:!0,number:!0,variable:!0,string:!0,regexp:!0};function h(e,t,n,r,a,i){this.indented=e,this.column=t,this.type=n,this.prev=a,this.info=i,null!=r&&(this.align=r)}function k(e,t,n,r,a){var i=e.cc;for(g.state=e,g.stream=a,g.marked=null,g.cc=i,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((i.length?i.pop():I)(n,r)){for(;i.length&&i[i.length-1].lex;)i.pop()();return g.marked?g.marked:"variable"==n&&function(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return 1}(e,r)?"variable-2":"variable"==n&&function(e,t){if(/[a-z]/.test(t.charAt(0)))return!1;for(var n=e.importedtypes.length,r=0;r";return CodeMirror.multiplexingMode(CodeMirror.getMode(e,"htmlmixed"),{open:o.openComment||"<%--",close:d,delimStyle:"comment",mode:{token:function(e){return e.skipTo(d)||e.skipToEnd(),"comment"}}},{open:o.open||o.scriptStartRegex||"<%",close:o.close||o.scriptEndRegex||"%>",mode:CodeMirror.getMode(e,o.scriptingModeSpec)})},"htmlmixed"),CodeMirror.defineMIME("application/x-ejs",{name:"htmlembedded",scriptingModeSpec:"javascript"}),CodeMirror.defineMIME("application/x-aspx",{name:"htmlembedded",scriptingModeSpec:"text/x-csharp"}),CodeMirror.defineMIME("application/x-jsp",{name:"htmlembedded",scriptingModeSpec:"text/x-java"}),CodeMirror.defineMIME("application/x-erb",{name:"htmlembedded",scriptingModeSpec:"ruby"}); // http CodeMirror.defineMode("http",function(){function e(r,t){return r.skipToEnd(),t.cur=c,"error"}function r(r,t){return r.match(/^HTTP\/\d\.\d/)?(t.cur=n,"keyword"):r.match(/^[A-Z]+/)&&/[ \t]/.test(r.peek())?(t.cur=i,"keyword"):e(r,t)}function n(r,t){var n=r.match(/^\d+/);if(!n)return e(r,t);t.cur=u;n=Number(n[0]);return 100<=n&&n<200?"positive informational":200<=n&&n<300?"positive success":300<=n&&n<400?"positive redirect":400<=n&&n<500?"negative client-error":500<=n&&n<600?"negative server-error":"error"}function u(r,t){return r.skipToEnd(),t.cur=c,null}function i(r,t){return r.eatWhile(/\S/),t.cur=o,"string-2"}function o(r,t){return r.match(/^HTTP\/\d\.\d$/)?(t.cur=c,"keyword"):e(r,t)}function c(r){return r.sol()&&!r.eat(/[ \t]/)?r.match(/^.*?:/)?"atom":(r.skipToEnd(),"error"):(r.skipToEnd(),"string")}function a(r){return r.skipToEnd(),null}return{token:function(r,t){var n=t.cur;return n!=c&&n!=a&&r.eatSpace()?null:n(r,t)},blankLine:function(r){r.cur=a},startState:function(){return{cur:r}}}}),CodeMirror.defineMIME("message/http","http"); // idl !function(){function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var t=["a_correlate","abs","acos","adapt_hist_equal","alog","alog2","alog10","amoeba","annotate","app_user_dir","app_user_dir_query","arg_present","array_equal","array_indices","arrow","ascii_template","asin","assoc","atan","axis","axis","bandpass_filter","bandreject_filter","barplot","bar_plot","beseli","beselj","beselk","besely","beta","biginteger","bilinear","bin_date","binary_template","bindgen","binomial","bit_ffs","bit_population","blas_axpy","blk_con","boolarr","boolean","boxplot","box_cursor","breakpoint","broyden","bubbleplot","butterworth","bytarr","byte","byteorder","bytscl","c_correlate","calendar","caldat","call_external","call_function","call_method","call_procedure","canny","catch","cd","cdf","ceil","chebyshev","check_math","chisqr_cvf","chisqr_pdf","choldc","cholsol","cindgen","cir_3pnt","clipboard","close","clust_wts","cluster","cluster_tree","cmyk_convert","code_coverage","color_convert","color_exchange","color_quan","color_range_map","colorbar","colorize_sample","colormap_applicable","colormap_gradient","colormap_rotation","colortable","comfit","command_line_args","common","compile_opt","complex","complexarr","complexround","compute_mesh_normals","cond","congrid","conj","constrained_min","contour","contour","convert_coord","convol","convol_fft","coord2to3","copy_lun","correlate","cos","cosh","cpu","cramer","createboxplotdata","create_cursor","create_struct","create_view","crossp","crvlength","ct_luminance","cti_test","cursor","curvefit","cv_coord","cvttobm","cw_animate","cw_animate_getp","cw_animate_load","cw_animate_run","cw_arcball","cw_bgroup","cw_clr_index","cw_colorsel","cw_defroi","cw_field","cw_filesel","cw_form","cw_fslider","cw_light_editor","cw_light_editor_get","cw_light_editor_set","cw_orient","cw_palette_editor","cw_palette_editor_get","cw_palette_editor_set","cw_pdmenu","cw_rgbslider","cw_tmpl","cw_zoom","db_exists","dblarr","dcindgen","dcomplex","dcomplexarr","define_key","define_msgblk","define_msgblk_from_file","defroi","defsysv","delvar","dendro_plot","dendrogram","deriv","derivsig","determ","device","dfpmin","diag_matrix","dialog_dbconnect","dialog_message","dialog_pickfile","dialog_printersetup","dialog_printjob","dialog_read_image","dialog_write_image","dictionary","digital_filter","dilate","dindgen","dissolve","dist","distance_measure","dlm_load","dlm_register","doc_library","double","draw_roi","edge_dog","efont","eigenql","eigenvec","ellipse","elmhes","emboss","empty","enable_sysrtn","eof","eos","erase","erf","erfc","erfcx","erode","errorplot","errplot","estimator_filter","execute","exit","exp","expand","expand_path","expint","extract","extract_slice","f_cvf","f_pdf","factorial","fft","file_basename","file_chmod","file_copy","file_delete","file_dirname","file_expand_path","file_gunzip","file_gzip","file_info","file_lines","file_link","file_mkdir","file_move","file_poll_input","file_readlink","file_same","file_search","file_tar","file_test","file_untar","file_unzip","file_which","file_zip","filepath","findgen","finite","fix","flick","float","floor","flow3","fltarr","flush","format_axis_values","forward_function","free_lun","fstat","fulstr","funct","function","fv_test","fx_root","fz_roots","gamma","gamma_ct","gauss_cvf","gauss_pdf","gauss_smooth","gauss2dfit","gaussfit","gaussian_function","gaussint","get_drive_list","get_dxf_objects","get_kbrd","get_login_info","get_lun","get_screen_size","getenv","getwindows","greg2jul","grib","grid_input","grid_tps","grid3","griddata","gs_iter","h_eq_ct","h_eq_int","hanning","hash","hdf","hdf5","heap_free","heap_gc","heap_nosave","heap_refcount","heap_save","help","hilbert","hist_2d","hist_equal","histogram","hls","hough","hqr","hsv","i18n_multibytetoutf8","i18n_multibytetowidechar","i18n_utf8tomultibyte","i18n_widechartomultibyte","ibeta","icontour","iconvertcoord","idelete","identity","idl_base64","idl_container","idl_validname","idlexbr_assistant","idlitsys_createtool","idlunit","iellipse","igamma","igetcurrent","igetdata","igetid","igetproperty","iimage","image","image_cont","image_statistics","image_threshold","imaginary","imap","indgen","int_2d","int_3d","int_tabulated","intarr","interpol","interpolate","interval_volume","invert","ioctl","iopen","ir_filter","iplot","ipolygon","ipolyline","iputdata","iregister","ireset","iresolve","irotate","isa","isave","iscale","isetcurrent","isetproperty","ishft","isocontour","isosurface","isurface","itext","itranslate","ivector","ivolume","izoom","journal","json_parse","json_serialize","jul2greg","julday","keyword_set","krig2d","kurtosis","kw_test","l64indgen","la_choldc","la_cholmprove","la_cholsol","la_determ","la_eigenproblem","la_eigenql","la_eigenvec","la_elmhes","la_gm_linear_model","la_hqr","la_invert","la_least_square_equality","la_least_squares","la_linear_equation","la_ludc","la_lumprove","la_lusol","la_svd","la_tridc","la_trimprove","la_triql","la_trired","la_trisol","label_date","label_region","ladfit","laguerre","lambda","lambdap","lambertw","laplacian","least_squares_filter","leefilt","legend","legendre","linbcg","lindgen","linfit","linkimage","list","ll_arc_distance","lmfit","lmgr","lngamma","lnp_test","loadct","locale_get","logical_and","logical_or","logical_true","lon64arr","lonarr","long","long64","lsode","lu_complex","ludc","lumprove","lusol","m_correlate","machar","make_array","make_dll","make_rt","map","mapcontinents","mapgrid","map_2points","map_continents","map_grid","map_image","map_patch","map_proj_forward","map_proj_image","map_proj_info","map_proj_init","map_proj_inverse","map_set","matrix_multiply","matrix_power","max","md_test","mean","meanabsdev","mean_filter","median","memory","mesh_clip","mesh_decimate","mesh_issolid","mesh_merge","mesh_numtriangles","mesh_obj","mesh_smooth","mesh_surfacearea","mesh_validate","mesh_volume","message","min","min_curve_surf","mk_html_help","modifyct","moment","morph_close","morph_distance","morph_gradient","morph_hitormiss","morph_open","morph_thin","morph_tophat","multi","n_elements","n_params","n_tags","ncdf","newton","noise_hurl","noise_pick","noise_scatter","noise_slur","norm","obj_class","obj_destroy","obj_hasmethod","obj_isa","obj_new","obj_valid","objarr","on_error","on_ioerror","online_help","openr","openu","openw","oplot","oploterr","orderedhash","p_correlate","parse_url","particle_trace","path_cache","path_sep","pcomp","plot","plot3d","plot","plot_3dbox","plot_field","ploterr","plots","polar_contour","polar_surface","polyfill","polyshade","pnt_line","point_lun","polarplot","poly","poly_2d","poly_area","poly_fit","polyfillv","polygon","polyline","polywarp","popd","powell","pref_commit","pref_get","pref_set","prewitt","primes","print","printf","printd","pro","product","profile","profiler","profiles","project_vol","ps_show_fonts","psafm","pseudo","ptr_free","ptr_new","ptr_valid","ptrarr","pushd","qgrid3","qhull","qromb","qromo","qsimp","query_*","query_ascii","query_bmp","query_csv","query_dicom","query_gif","query_image","query_jpeg","query_jpeg2000","query_mrsid","query_pict","query_png","query_ppm","query_srf","query_tiff","query_video","query_wav","r_correlate","r_test","radon","randomn","randomu","ranks","rdpix","read","readf","read_ascii","read_binary","read_bmp","read_csv","read_dicom","read_gif","read_image","read_interfile","read_jpeg","read_jpeg2000","read_mrsid","read_pict","read_png","read_ppm","read_spr","read_srf","read_sylk","read_tiff","read_video","read_wav","read_wave","read_x11_bitmap","read_xwd","reads","readu","real_part","rebin","recall_commands","recon3","reduce_colors","reform","region_grow","register_cursor","regress","replicate","replicate_inplace","resolve_all","resolve_routine","restore","retall","return","reverse","rk4","roberts","rot","rotate","round","routine_filepath","routine_info","rs_test","s_test","save","savgol","scale3","scale3d","scatterplot","scatterplot3d","scope_level","scope_traceback","scope_varfetch","scope_varname","search2d","search3d","sem_create","sem_delete","sem_lock","sem_release","set_plot","set_shading","setenv","sfit","shade_surf","shade_surf_irr","shade_volume","shift","shift_diff","shmdebug","shmmap","shmunmap","shmvar","show3","showfont","signum","simplex","sin","sindgen","sinh","size","skewness","skip_lun","slicer3","slide_image","smooth","sobel","socket","sort","spawn","sph_4pnt","sph_scat","spher_harm","spl_init","spl_interp","spline","spline_p","sprsab","sprsax","sprsin","sprstp","sqrt","standardize","stddev","stop","strarr","strcmp","strcompress","streamline","streamline","stregex","stretch","string","strjoin","strlen","strlowcase","strmatch","strmessage","strmid","strpos","strput","strsplit","strtrim","struct_assign","struct_hide","strupcase","surface","surface","surfr","svdc","svdfit","svsol","swap_endian","swap_endian_inplace","symbol","systime","t_cvf","t_pdf","t3d","tag_names","tan","tanh","tek_color","temporary","terminal_size","tetra_clip","tetra_surface","tetra_volume","text","thin","thread","threed","tic","time_test2","timegen","timer","timestamp","timestamptovalues","tm_test","toc","total","trace","transpose","tri_surf","triangulate","trigrid","triql","trired","trisol","truncate_lun","ts_coef","ts_diff","ts_fcast","ts_smooth","tv","tvcrs","tvlct","tvrd","tvscl","typename","uindgen","uint","uintarr","ul64indgen","ulindgen","ulon64arr","ulonarr","ulong","ulong64","uniq","unsharp_mask","usersym","value_locate","variance","vector","vector_field","vel","velovect","vert_t3d","voigt","volume","voronoi","voxel_proj","wait","warp_tri","watershed","wdelete","wf_draw","where","widget_base","widget_button","widget_combobox","widget_control","widget_displaycontextmenu","widget_draw","widget_droplist","widget_event","widget_info","widget_label","widget_list","widget_propertysheet","widget_slider","widget_tab","widget_table","widget_text","widget_tree","widget_tree_move","widget_window","wiener_filter","window","window","write_bmp","write_csv","write_gif","write_image","write_jpeg","write_jpeg2000","write_nrif","write_pict","write_png","write_ppm","write_spr","write_srf","write_sylk","write_tiff","write_video","write_wav","write_wave","writeu","wset","wshow","wtn","wv_applet","wv_cwt","wv_cw_wavelet","wv_denoise","wv_dwt","wv_fn_coiflet","wv_fn_daubechies","wv_fn_gaussian","wv_fn_haar","wv_fn_morlet","wv_fn_paul","wv_fn_symlet","wv_import_data","wv_import_wavelet","wv_plot3d_wps","wv_plot_multires","wv_pwt","wv_tool_denoise","xbm_edit","xdisplayfile","xdxf","xfont","xinteranimate","xloadct","xmanager","xmng_tmpl","xmtool","xobjview","xobjview_rotate","xobjview_write_image","xpalette","xpcolor","xplot3d","xregistered","xroi","xsq_test","xsurface","xvaredit","xvolume","xvolume_rotate","xvolume_write_image","xyouts","zlib_compress","zlib_uncompress","zoom","zoom_24"],r=e(t),i=["begin","end","endcase","endfor","endwhile","endif","endrep","endforeach","break","case","continue","for","foreach","goto","if","then","else","repeat","until","switch","while","do","pro","function"],a=e(i);CodeMirror.registerHelper("hintWords","idl",t.concat(i));var _=new RegExp("^[_a-z¡-￿][_a-z0-9¡-￿]*","i"),o=/[+\-*&=<>\/@#~$]/,l=new RegExp("(and|or|eq|lt|le|gt|ge|ne|not)","i");CodeMirror.defineMode("idl",function(){return{token:function(e){if(e.eatSpace())return null;if(e.match(";"))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+/))return"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/))return"number";if(e.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))return"number"}return e.match(/^"([^"]|(""))*"/)||e.match(/^'([^']|(''))*'/)?"string":e.match(a)?"keyword":e.match(r)?"builtin":e.match(_)?"variable":e.match(o)||e.match(l)?"operator":(e.next(),null)}}}),CodeMirror.defineMIME("text/x-idl","idl")}(); // javascript CodeMirror.defineMode("javascript",function(e,l){var t,r,n,a,f=e.indentUnit,d=l.statementIndent,i=l.jsonld,o=l.json||i,s=!1!==l.trackScope,u=l.typescript,p=l.wordCharacters||/[\w$\xa1-\uffff]/,c=(t=m("keyword a"),r=m("keyword b"),n=m("keyword c"),a=m("keyword d"),e=m("operator"),{if:m("if"),while:t,with:t,else:r,do:r,try:r,finally:r,return:a,break:a,continue:a,new:m("new"),delete:n,void:n,throw:n,debugger:m("debugger"),var:m("var"),const:m("var"),let:m("var"),function:m("function"),catch:m("catch"),for:m("for"),switch:m("switch"),case:m("case"),default:m("default"),in:e,typeof:e,instanceof:e,true:e={type:"atom",style:"atom"},false:e,null:e,undefined:e,NaN:e,Infinity:e,this:m("this"),class:m("class"),super:m("atom"),yield:n,export:m("export"),import:m("import"),extends:n,await:n});function m(e){return{type:e,style:"keyword"}}var k,v,y=/[+\-*&%=<>!?|~^@]/,w=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function b(e,t,r){return k=e,v=r,t}function h(e,t){var a,r=e.next();if('"'==r||"'"==r)return t.tokenize=(a=r,function(e,t){var r,n=!1;if(i&&"@"==e.peek()&&e.match(w))return t.tokenize=h,b("jsonld-keyword","meta");for(;null!=(r=e.next())&&(r!=a||n);)n=!n&&"\\"==r;return n||(t.tokenize=h),b("string","string")}),t.tokenize(e,t);if("."==r&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return b("number","number");if("."==r&&e.match(".."))return b("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(r))return b(r);if("="==r&&e.eat(">"))return b("=>","operator");if("0"==r&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return b("number","number");if(/\d/.test(r))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),b("number","number");if("/"==r)return e.eat("*")?(t.tokenize=x)(e,t):e.eat("/")?(e.skipToEnd(),b("comment","comment")):tt(e,t,1)?(function(e){for(var t,r=!1,n=!1;null!=(t=e.next());){if(!r){if("/"==t&&!n)return;"["==t?n=!0:n&&"]"==t&&(n=!1)}r=!r&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),b("regexp","string-2")):(e.eat("="),b("operator","operator",e.current()));if("`"==r)return(t.tokenize=g)(e,t);if("#"==r&&"!"==e.peek())return e.skipToEnd(),b("meta","meta");if("#"==r&&e.eatWhile(p))return b("variable","property");if("<"==r&&e.match("!--")||"-"==r&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),b("comment","comment");if(y.test(r))return">"==r&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=r&&"="!=r||e.eat("="):/[<>*+\-|&?]/.test(r)&&(e.eat(r),">"==r&&e.eat(r))),"?"==r&&e.eat(".")?b("."):b("operator","operator",e.current());if(p.test(r)){e.eatWhile(p);r=e.current();if("."!=t.lastType){if(c.propertyIsEnumerable(r)){t=c[r];return b(t.type,t.style,r)}if("async"==r&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return b("async","keyword",r)}return b("variable","variable",r)}}function x(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=h;break}n="*"==r}return b("comment","comment")}function g(e,t){for(var r,n=!1;null!=(r=e.next());){if(!n&&("`"==r||"$"==r&&e.eat("{"))){t.tokenize=h;break}n=!n&&"\\"==r}return b("quasi","string-2",e.current())}function M(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var r,n=e.string.indexOf("=>",e.start);if(!(n<0)){!u||(r=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n)))&&(n=r.index);for(var a=0,i=!1,o=n-1;0<=o;--o){var s=e.string.charAt(o),c="([{}])".indexOf(s);if(0<=c&&c<3){if(!a){++o;break}if(0==--a){"("==s&&(i=!0);break}}else if(3<=c&&c<6)++a;else if(p.test(s))i=!0;else if(/["'\/`]/.test(s))for(;;--o){if(0==o)return;if(e.string.charAt(o-1)==s&&"\\"!=e.string.charAt(o-2)){o--;break}}else if(i&&!a){++o;break}}i&&!a&&(t.fatArrowAt=o)}}var j={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function C(e,t,r,n,a,i){this.indented=e,this.column=t,this.type=r,this.prev=a,this.info=i,null!=n&&(this.align=n)}function A(e,t,r,n,a){var i=e.cc;for(V.state=e,V.stream=a,V.marked=null,V.cc=i,V.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((i.length?i.pop():o?D:F)(r,n)){for(;i.length&&i[i.length-1].lex;)i.pop()();return V.marked?V.marked:"variable"==r&&function(e,t){if(s){for(var r=e.localVars;r;r=r.next)if(r.name==t)return 1;for(var n=e.context;n;n=n.prev)for(r=n.vars;r;r=r.next)if(r.name==t)return 1}}(e,n)?"variable-2":t}}var V={state:null,column:null,marked:null,cc:null};function E(){for(var e=arguments.length-1;0<=e;e--)V.cc.push(arguments[e])}function z(){return E.apply(null,arguments),!0}function I(e,t){for(var r=t;r;r=r.next)if(r.name==e)return 1}function T(e){var t=V.state;if(V.marked="def",s){if(t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var r=function e(t,r){{if(r){if(r.block){var n=e(t,r.prev);return n?n==r.prev?r:new S(n,r.vars,!0):null}return I(t,r.vars)?r:new S(r.prev,new _(t,r.vars),!1)}return null}}(e,t.context);if(null!=r)return void(t.context=r)}else if(!I(e,t.localVars))return void(t.localVars=new _(e,t.localVars));l.globalVars&&!I(e,t.globalVars)&&(t.globalVars=new _(e,t.globalVars))}}function $(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function S(e,t,r){this.prev=e,this.vars=t,this.block=r}function _(e,t){this.name=e,this.next=t}var q=new _("this",new _("arguments",null));function O(){V.state.context=new S(V.state.context,V.state.localVars,!1),V.state.localVars=q}function P(){V.state.context=new S(V.state.context,V.state.localVars,!0),V.state.localVars=null}function N(){V.state.localVars=V.state.context.vars,V.state.context=V.state.context.prev}function U(n,a){function e(){var e=V.state,t=e.indented;if("stat"==e.lexical.type)t=e.lexical.indented;else for(var r=e.lexical;r&&")"==r.type&&r.align;r=r.prev)t=r.indented;e.lexical=new C(t,V.stream.column(),n,null,e.lexical,a)}return e.lex=!0,e}function W(){var e=V.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function B(r){return function e(t){return t==r?z():";"==r||"}"==t||")"==t||"]"==t?E():z(e)}}function F(e,t){return"var"==e?z(U("vardef",t),Ae,B(";"),W):"keyword a"==e?z(U("form"),J,F,W):"keyword b"==e?z(U("form"),F,W):"keyword d"==e?V.stream.match(/^\s*$/,!1)?z():z(U("stat"),L,B(";"),W):"debugger"==e?z(B(";")):"{"==e?z(U("}"),P,le,W,N):";"==e?z():"if"==e?("else"==V.state.lexical.info&&V.state.cc[V.state.cc.length-1]==W&&V.state.cc.pop()(),z(U("form"),J,F,W,$e)):"function"==e?z(Oe):"for"==e?z(U("form"),P,Se,F,N,W):"class"==e||u&&"interface"==t?(V.marked="keyword",z(U("form","class"==e?e:t),Be,W)):"variable"==e?u&&"declare"==t?(V.marked="keyword",z(F)):u&&("module"==t||"enum"==t||"type"==t)&&V.stream.match(/^\s*\w/,!1)?(V.marked="keyword","enum"==t?z(Ze):"type"==t?z(Ne,B("operator"),ke,B(";")):z(U("form"),Ve,B("{"),U("}"),le,W,W)):u&&"namespace"==t?(V.marked="keyword",z(U("form"),D,F,W)):u&&"abstract"==t?(V.marked="keyword",z(F)):z(U("stat"),ne):"switch"==e?z(U("form"),J,B("{"),U("}","switch"),P,le,W,W,N):"case"==e?z(D,B(":")):"default"==e?z(B(":")):"catch"==e?z(U("form"),O,H,F,W,N):"export"==e?z(U("stat"),Ge,W):"import"==e?z(U("stat"),Ke,W):"async"==e?z(F):"@"==t?z(D,F):E(U("stat"),D,B(";"),W)}function H(e){if("("==e)return z(Ue,B(")"))}function D(e,t){return K(e,t,!1)}function G(e,t){return K(e,t,!0)}function J(e){return"("!=e?E():z(U(")"),L,B(")"),W)}function K(e,t,r){if(V.state.fatArrowAt==V.stream.start){var n=r?ee:Z;if("("==e)return z(O,U(")"),ce(Ue,")"),W,B("=>"),n,N);if("variable"==e)return E(O,Ve,B("=>"),n,N)}var a,n=r?R:Q;return j.hasOwnProperty(e)?z(n):"function"==e?z(Oe,n):"class"==e||u&&"interface"==t?(V.marked="keyword",z(U("form"),We,W)):"keyword c"==e||"async"==e?z(r?G:D):"("==e?z(U(")"),L,B(")"),W,n):"operator"==e||"spread"==e?z(r?G:D):"["==e?z(U("]"),Ye,W,n):"{"==e?ue(ie,"}",null,n):"quasi"==e?E(X,n):"new"==e?z((a=r,function(e){return"."==e?z(a?re:te):"variable"==e&&u?z(Me,a?R:Q):E(a?G:D)})):z()}function L(e){return e.match(/[;\}\)\],]/)?E():E(D)}function Q(e,t){return","==e?z(L):R(e,t,!1)}function R(e,t,r){var n=0==r?Q:R,a=0==r?D:G;return"=>"==e?z(O,r?ee:Z,N):"operator"==e?/\+\+|--/.test(t)||u&&"!"==t?z(n):u&&"<"==t&&V.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?z(U(">"),ce(ke,">"),W,n):"?"==t?z(D,B(":"),a):z(a):"quasi"==e?E(X,n):";"!=e?"("==e?ue(G,")","call",n):"."==e?z(ae,n):"["==e?z(U("]"),L,B("]"),W,n):u&&"as"==t?(V.marked="keyword",z(ke,n)):"regexp"==e?(V.state.lastType=V.marked="operator",V.stream.backUp(V.stream.pos-V.stream.start-1),z(a)):void 0:void 0}function X(e,t){return"quasi"!=e?E():"${"!=t.slice(t.length-2)?z(X):z(L,Y)}function Y(e){if("}"==e)return V.marked="string-2",V.state.tokenize=g,z(X)}function Z(e){return M(V.stream,V.state),E("{"==e?F:D)}function ee(e){return M(V.stream,V.state),E("{"==e?F:G)}function te(e,t){if("target"==t)return V.marked="keyword",z(Q)}function re(e,t){if("target"==t)return V.marked="keyword",z(R)}function ne(e){return":"==e?z(W,F):E(Q,B(";"),W)}function ae(e){if("variable"==e)return V.marked="property",z()}function ie(e,t){return"async"==e?(V.marked="property",z(ie)):"variable"!=e&&"keyword"!=V.style?"number"==e||"string"==e?(V.marked=i?"property":V.style+" property",z(se)):"jsonld-keyword"==e?z(se):u&&$(t)?(V.marked="keyword",z(ie)):"["==e?z(D,fe,B("]"),se):"spread"==e?z(G,se):"*"==t?(V.marked="keyword",z(ie)):":"==e?E(se):void 0:(V.marked="property","get"==t||"set"==t?z(oe):(u&&V.state.fatArrowAt==V.stream.start&&(r=V.stream.match(/^\s*:\s*/,!1))&&(V.state.fatArrowAt=V.stream.pos+r[0].length),z(se)));var r}function oe(e){return"variable"!=e?E(se):(V.marked="property",z(Oe))}function se(e){return":"==e?z(G):"("==e?E(Oe):void 0}function ce(n,a,i){function o(e,t){if(i?-1"),ke):"quasi"==e?E(be,ge):void 0}function ve(e){if("=>"==e)return z(ke)}function ye(e){return e.match(/[\}\)\]]/)?z():","==e||";"==e?z(ye):E(we,ye)}function we(e,t){return"variable"==e||"keyword"==V.style?(V.marked="property",z(we)):"?"==t||"number"==e||"string"==e?z(we):":"==e?z(ke):"["==e?z(B("variable"),de,B("]"),we):"("==e?E(Pe,we):e.match(/[;\}\)\],]/)?void 0:z()}function be(e,t){return"quasi"!=e?E():"${"!=t.slice(t.length-2)?z(be):z(ke,he)}function he(e){if("}"==e)return V.marked="string-2",V.state.tokenize=g,z(be)}function xe(e,t){return"variable"==e&&V.stream.match(/^\s*[?:]/,!1)||"?"==t?z(xe):":"==e?z(ke):"spread"==e?z(xe):E(ke)}function ge(e,t){return"<"==t?z(U(">"),ce(ke,">"),W,ge):"|"==t||"."==e||"&"==t?z(ke):"["==e?z(ke,B("]"),ge):"extends"==t||"implements"==t?(V.marked="keyword",z(ke)):"?"==t?z(ke,B(":"),ke):void 0}function Me(e,t){if("<"==t)return z(U(">"),ce(ke,">"),W,ge)}function je(){return E(ke,Ce)}function Ce(e,t){if("="==t)return z(ke)}function Ae(e,t){return"enum"==t?(V.marked="keyword",z(Ze)):E(Ve,fe,Ie,Te)}function Ve(e,t){return u&&$(t)?(V.marked="keyword",z(Ve)):"variable"==e?(T(t),z()):"spread"==e?z(Ve):"["==e?ue(ze,"]"):"{"==e?ue(Ee,"}"):void 0}function Ee(e,t){return"variable"!=e||V.stream.match(/^\s*:/,!1)?("variable"==e&&(V.marked="property"),"spread"==e?z(Ve):"}"==e?E():"["==e?z(D,B("]"),B(":"),Ee):z(B(":"),Ve,Ie)):(T(t),z(Ie))}function ze(){return E(Ve,Ie)}function Ie(e,t){if("="==t)return z(G)}function Te(e){if(","==e)return z(Ae)}function $e(e,t){if("keyword b"==e&&"else"==t)return z(U("form","else"),F,W)}function Se(e,t){return"await"==t?z(Se):"("==e?z(U(")"),_e,W):void 0}function _e(e){return"var"==e?z(Ae,qe):("variable"==e?z:E)(qe)}function qe(e,t){return")"==e?z():";"==e?z(qe):"in"==t||"of"==t?(V.marked="keyword",z(D,qe)):E(D,qe)}function Oe(e,t){return"*"==t?(V.marked="keyword",z(Oe)):"variable"==e?(T(t),z(Oe)):"("==e?z(O,U(")"),ce(Ue,")"),W,pe,F,N):u&&"<"==t?z(U(">"),ce(je,">"),W,Oe):void 0}function Pe(e,t){return"*"==t?(V.marked="keyword",z(Pe)):"variable"==e?(T(t),z(Pe)):"("==e?z(O,U(")"),ce(Ue,")"),W,pe,N):u&&"<"==t?z(U(">"),ce(je,">"),W,Pe):void 0}function Ne(e,t){return"keyword"==e||"variable"==e?(V.marked="type",z(Ne)):"<"==t?z(U(">"),ce(je,">"),W):void 0}function Ue(e,t){return"@"==t&&z(D,Ue),"spread"==e?z(Ue):u&&$(t)?(V.marked="keyword",z(Ue)):u&&"this"==e?z(fe,Ie):E(Ve,fe,Ie)}function We(e,t){return("variable"==e?Be:Fe)(e,t)}function Be(e,t){if("variable"==e)return T(t),z(Fe)}function Fe(e,t){return"<"==t?z(U(">"),ce(je,">"),W,Fe):"extends"==t||"implements"==t||u&&","==e?("implements"==t&&(V.marked="keyword"),z(u?ke:D,Fe)):"{"==e?z(U("}"),He,W):void 0}function He(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||u&&$(t))&&V.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(V.marked="keyword",z(He)):"variable"==e||"keyword"==V.style?(V.marked="property",z(De,He)):"number"==e||"string"==e?z(De,He):"["==e?z(D,fe,B("]"),De,He):"*"==t?(V.marked="keyword",z(He)):u&&"("==e?E(Pe,He):";"==e||","==e?z(He):"}"==e?z():"@"==t?z(D,He):void 0}function De(e,t){if("!"==t)return z(De);if("?"==t)return z(De);if(":"==e)return z(ke,Ie);if("="==t)return z(G);t=V.state.lexical.prev;return E(t&&"interface"==t.info?Pe:Oe)}function Ge(e,t){return"*"==t?(V.marked="keyword",z(Xe,B(";"))):"default"==t?(V.marked="keyword",z(D,B(";"))):"{"==e?z(ce(Je,"}"),Xe,B(";")):E(F)}function Je(e,t){return"as"==t?(V.marked="keyword",z(B("variable"))):"variable"==e?E(G,Je):void 0}function Ke(e){return"string"==e?z():"("==e?E(D):"."==e?E(Q):E(Le,Qe,Xe)}function Le(e,t){return"{"==e?ue(Le,"}"):("variable"==e&&T(t),"*"==t&&(V.marked="keyword"),z(Re))}function Qe(e){if(","==e)return z(Le,Qe)}function Re(e,t){if("as"==t)return V.marked="keyword",z(Le)}function Xe(e,t){if("from"==t)return V.marked="keyword",z(D)}function Ye(e){return"]"==e?z():E(ce(G,"]"))}function Ze(){return E(U("form"),Ve,B("{"),U("}"),ce(et,"}"),W,W)}function et(){return E(Ve,Ie)}function tt(e,t,r){return t.tokenize==h&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(r||0)))}return W.lex=N.lex=!0,{startState:function(e){e={tokenize:h,lastType:"sof",cc:[],lexical:new C((e||0)-f,0,"block",!1),localVars:l.localVars,context:l.localVars&&new S(null,null,!1),indented:e||0};return l.globalVars&&"object"==typeof l.globalVars&&(e.globalVars=l.globalVars),e},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),M(e,t)),t.tokenize!=x&&e.eatSpace())return null;var r=t.tokenize(e,t);return"comment"==k?r:(t.lastType="operator"!=k||"++"!=v&&"--"!=v?k:"incdec",A(t,r,k,v,e))},indent:function(e,t){if(e.tokenize==x||e.tokenize==g)return CodeMirror.Pass;if(e.tokenize!=h)return 0;var r,n=t&&t.charAt(0),a=e.lexical;if(!/^\s*else\b/.test(t))for(var i=e.cc.length-1;0<=i;--i){var o=e.cc[i];if(o==W)a=a.prev;else if(o!=$e&&o!=N)break}for(;("stat"==a.type||"form"==a.type)&&("}"==n||(r=e.cc[e.cc.length-1])&&(r==Q||r==R)&&!/^[,\.=+\-*:?[\(]/.test(t));)a=a.prev;var s,c=(a=d&&")"==a.type&&"stat"==a.prev.type?a.prev:a).type,u=n==c;return"vardef"==c?a.indented+("operator"==e.lastType||","==e.lastType?a.info.length+1:0):"form"==c&&"{"==n?a.indented:"form"==c?a.indented+f:"stat"==c?a.indented+(s=t,"operator"==(c=e).lastType||","==c.lastType||y.test(s.charAt(0))||/[,.]/.test(s.charAt(0))?d||f:0):"switch"!=a.info||u||0==l.doubleIndentSwitch?a.align?a.column+(u?0:1):a.indented+(u?0:f):a.indented+(/^(?:case|default)\b/.test(t)?f:2*f)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:o?null:"/*",blockCommentEnd:o?null:"*/",blockCommentContinue:o?null:" * ",lineComment:o?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:o?"json":"javascript",jsonldMode:i,jsonMode:o,expressionAllowed:tt,skipExpression:function(e){A(e,"atom","atom","true",new CodeMirror.StringStream("",2,null))}}}),CodeMirror.registerHelper("wordChars","javascript",/[\w$]/),CodeMirror.defineMIME("text/javascript","javascript"),CodeMirror.defineMIME("text/ecmascript","javascript"),CodeMirror.defineMIME("application/javascript","javascript"),CodeMirror.defineMIME("application/x-javascript","javascript"),CodeMirror.defineMIME("application/ecmascript","javascript"),CodeMirror.defineMIME("application/json",{name:"javascript",json:!0}),CodeMirror.defineMIME("application/x-json",{name:"javascript",json:!0}),CodeMirror.defineMIME("application/manifest+json",{name:"javascript",json:!0}),CodeMirror.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),CodeMirror.defineMIME("text/typescript",{name:"javascript",typescript:!0}),CodeMirror.defineMIME("application/typescript",{name:"javascript",typescript:!0}); // jinja2 CodeMirror.defineMode("jinja2",function(){var r=["and","as","block","endblock","by","cycle","debug","else","elif","extends","filter","endfilter","firstof","for","endfor","if","endif","ifchanged","endifchanged","ifequal","endifequal","ifnotequal","endifnotequal","in","include","load","not","now","or","parsed","regroup","reversed","spaceless","endspaceless","ssi","templatetag","openblock","closeblock","openvariable","closevariable","openbrace","closebrace","opencomment","closecomment","widthratio","url","with","endwith","get_current_language","trans","endtrans","noop","blocktrans","endblocktrans","get_available_languages","get_current_language_bidi","plural"],i=/^[+\-*&%=<>!?|~^]/,a=/^[:\[\(\{]/,o=["true","false"],c=/^(\d[+\-\*\/])?\d+(\.\d+)?/;function e(e,n){var t=e.peek();if(n.incomment)return e.skipTo("#}")?(e.eatWhile(/\#|}/),n.incomment=!1):e.skipToEnd(),"comment";if(n.intag){if(n.operator){if(n.operator=!1,e.match(o))return"atom";if(e.match(c))return"number"}if(n.sign){if(n.sign=!1,e.match(o))return"atom";if(e.match(c))return"number"}if(n.instring)return t==n.instring&&(n.instring=!1),e.next(),"string";if("'"==t||'"'==t)return n.instring=t,e.next(),"string";if(e.match(n.intag+"}")||e.eat("-")&&e.match(n.intag+"}"))return n.intag=!1,"tag";if(e.match(i))return n.operator=!0,"operator";if(e.match(a))n.sign=!0;else if(e.eat(" ")||e.sol()){if(e.match(r))return"keyword";if(e.match(o))return"atom";if(e.match(c))return"number";e.sol()&&e.next()}else e.next();return"variable"}if(e.eat("{")){if(e.eat("#"))return n.incomment=!0,e.skipTo("#}")?(e.eatWhile(/\#|}/),n.incomment=!1):e.skipToEnd(),"comment";if(t=e.eat(/\{|%/))return"{"==(n.intag=t)&&(n.intag="}"),e.eat("-"),"tag"}e.next()}return r=new RegExp("(("+r.join(")|(")+"))\\b"),o=new RegExp("(("+o.join(")|(")+"))\\b"),{startState:function(){return{tokenize:e}},token:function(e,n){return n.tokenize(e,n)},blockCommentStart:"{#",blockCommentEnd:"#}"}}),CodeMirror.defineMIME("text/jinja2","jinja2"); // jsx !function(){function x(t,e,n,r){this.state=t,this.mode=e,this.depth=n,this.prev=r}CodeMirror.defineMode("jsx",function(s,t){var c=CodeMirror.getMode(s,{name:"xml",allowMissing:!0,multilineTagIndentPastTag:!1,allowMissingTagName:!0}),d=CodeMirror.getMode(s,t&&t.base||"javascript");function p(t){var e=t.tagName;t.tagName=null;var n=c.indent(t,"","");return t.tagName=e,n}function u(t,e){return(e.context.mode==c?function(t,e,n){if(2==n.depth)return t.match(/^.*?\*\//)?n.depth=1:t.skipToEnd(),"comment";if("{"==t.peek()){c.skipAttribute(n.state);var r=p(n.state),o=n.state.context;if(o&&t.match(/^[^>]*>\s*$/,!1)){for(;o.prev&&!o.startOfLine;)o=o.prev;o.startOfLine?r-=s.indentUnit:n.prev.state.lexical&&(r=n.prev.state.lexical.indented)}else 1==n.depth&&(r+=s.indentUnit);return e.context=new x(CodeMirror.startState(d,r),d,0,e.context),null}if(1==n.depth){if("<"==t.peek())return c.skipAttribute(n.state),e.context=new x(CodeMirror.startState(c,p(n.state)),c,0,e.context),null;if(t.match("//"))return t.skipToEnd(),"comment";if(t.match("/*"))return n.depth=2,u(t,e)}var i,a=c.token(t,n.state),r=t.current();/\btag\b/.test(a)?/>$/.test(r)?n.state.context?n.depth=0:e.context=e.context.prev:/^]:","[<>=]=","<<=?",">>>?=?","=>","--?>","<--[->]?","\\/\\/","\\.{2,3}","[\\.\\\\%*+\\-<>!\\/^|&]=?","\\?","\\$","~",":"],a=e.operators||t(["[<>]:","[<>=]=","<<=?",">>>?=?","=>","--?>","<--[->]?","\\/\\/","[\\\\%*+\\-<>!\\/^|&\\u00F7\\u22BB]=?","\\?","\\$","~",":","\\u00D7","\\u2208","\\u2209","\\u220B","\\u220C","\\u2218","\\u221A","\\u221B","\\u2229","\\u222A","\\u2260","\\u2264","\\u2265","\\u2286","\\u2288","\\u228A","\\u22C5","\\b(in|isa)\\b(?!.?\\()"],""),o=e.delimiters||/^[;,()[\]{}]/,s=e.identifiers||/^[_A-Za-z\u00A1-\u2217\u2219-\uFFFF][\w\u00A1-\u2217\u2219-\uFFFF]*!*/,u=t(["\\\\[0-7]{1,3}","\\\\x[A-Fa-f0-9]{1,2}","\\\\[abefnrtv0%?'\"\\\\]","([^\\u0027\\u005C\\uD800-\\uDFFF]|[\\uD800-\\uDFFF][\\uDC00-\\uDFFF])"],"'"),i=["if","else","elseif","while","for","begin","let","end","do","try","catch","finally","return","break","continue","global","local","const","export","import","importall","using","function","where","macro","module","baremodule","struct","type","mutable","immutable","quote","typealias","abstract","primitive","bitstype"],e=["true","false","nothing","NaN","Inf"];CodeMirror.registerHelper("hintWords","julia",i.concat(e));var c=t(["begin","function","type","struct","immutable","let","macro","for","while","quote","if","else","elseif","try","finally","catch","do"]),l=t(["end","else","elseif","catch","finally"]),m=t(i),f=t(e),d=/^@[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,p=/^:[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,h=/^(`|([_A-Za-z\u00A1-\uFFFF]*"("")?))/,F=t(n,"","@"),k=t(n,"",":");function b(e){return 0|\\b(?:e(?:lse|xport)|d(?:o|efault)|t(?:ry|hen)|finally|import(?:\\s*all)?|const|var|let|new|catch(?:\\s*"+t+")?))\\s*$"),n="(?![$\\w]|-[A-Za-z]|\\s*:(?![:=]))",o={token:"string",regex:".+"},x={start:[{token:"comment.doc",regex:"/\\*",next:"comment"},{token:"comment",regex:"#.*"},{token:"keyword",regex:"(?:t(?:h(?:is|row|en)|ry|ypeof!?)|c(?:on(?:tinue|st)|a(?:se|tch)|lass)|i(?:n(?:stanceof)?|mp(?:ort(?:\\s+all)?|lements)|[fs])|d(?:e(?:fault|lete|bugger)|o)|f(?:or(?:\\s+own)?|inally|unction)|s(?:uper|witch)|e(?:lse|x(?:tends|port)|val)|a(?:nd|rguments)|n(?:ew|ot)|un(?:less|til)|w(?:hile|ith)|o[fr]|return|break|let|var|loop)"+n},{token:"constant.language",regex:"(?:true|false|yes|no|on|off|null|void|undefined)"+n},{token:"invalid.illegal",regex:"(?:p(?:ackage|r(?:ivate|otected)|ublic)|i(?:mplements|nterface)|enum|static|yield)"+n},{token:"language.support.class",regex:"(?:R(?:e(?:gExp|ferenceError)|angeError)|S(?:tring|yntaxError)|E(?:rror|valError)|Array|Boolean|Date|Function|Number|Object|TypeError|URIError)"+n},{token:"language.support.function",regex:"(?:is(?:NaN|Finite)|parse(?:Int|Float)|Math|JSON|(?:en|de)codeURI(?:Component)?)"+n},{token:"variable.language",regex:"(?:t(?:hat|il|o)|f(?:rom|allthrough)|it|by|e)"+n},{token:"identifier",regex:t+"\\s*:(?![:=])"},{token:"variable",regex:t},{token:"keyword.operator",regex:"(?:\\.{3}|\\s+\\?)"},{token:"keyword.variable",regex:"(?:@+|::|\\.\\.)",next:"key"},{token:"keyword.operator",regex:"\\.\\s*",next:"key"},{token:"string",regex:"\\\\\\S[^\\s,;)}\\]]*"},{token:"string.doc",regex:"'''",next:"qdoc"},{token:"string.doc",regex:'"""',next:"qqdoc"},{token:"string",regex:"'",next:"qstring"},{token:"string",regex:'"',next:"qqstring"},{token:"string",regex:"`",next:"js"},{token:"string",regex:"<\\[",next:"words"},{token:"string.regex",regex:"//",next:"heregex"},{token:"string.regex",regex:"\\/(?:[^[\\/\\n\\\\]*(?:(?:\\\\.|\\[[^\\]\\n\\\\]*(?:\\\\.[^\\]\\n\\\\]*)*\\])[^[\\/\\n\\\\]*)*)\\/[gimy$]{0,4}",next:"key"},{token:"constant.numeric",regex:"(?:0x[\\da-fA-F][\\da-fA-F_]*|(?:[2-9]|[12]\\d|3[0-6])r[\\da-zA-Z][\\da-zA-Z_]*|(?:\\d[\\d_]*(?:\\.\\d[\\d_]*)?|\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[\\w$]*)"},{token:"lparen",regex:"[({[]"},{token:"rparen",regex:"[)}\\]]",next:"key"},{token:"keyword.operator",regex:"\\S+"},{token:"text",regex:"\\s+"}],heregex:[{token:"string.regex",regex:".*?//[gimy$?]{0,4}",next:"start"},{token:"string.regex",regex:"\\s*#{"},{token:"comment.regex",regex:"\\s+(?:#.*)?"},{token:"string.regex",regex:"\\S+"}],key:[{token:"keyword.operator",regex:"[.?@!]+"},{token:"identifier",regex:t,next:"start"},{token:"text",regex:"",next:"start"}],comment:[{token:"comment.doc",regex:".*?\\*/",next:"start"},{token:"comment.doc",regex:".+"}],qdoc:[{token:"string",regex:".*?'''",next:"key"},o],qqdoc:[{token:"string",regex:'.*?"""',next:"key"},o],qstring:[{token:"string",regex:"[^\\\\']*(?:\\\\.[^\\\\']*)*'",next:"key"},o],qqstring:[{token:"string",regex:'[^\\\\"]*(?:\\\\.[^\\\\"]*)*"',next:"key"},o],js:[{token:"string",regex:"[^\\\\`]*(?:\\\\.[^\\\\`]*)*`",next:"key"},o],words:[{token:"string",regex:".*?\\]>",next:"key"},o]};for(e in x){var g=x[e];if(g.splice)for(var i=0,a=g.length;i~@\^\&\*\)\[\]'\?,\|])).*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/,!0,!1)||e.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variable-2":e.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/,!0,!1)?"variable-3":e.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":e.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/,!0,!1)?"variable-2":e.match(c,!0,!1)?"keyword":e.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/,!0,!1)?"operator":(e.next(),"error"))}function i(e,a){for(var t,n=!1,m=!1;null!=(t=e.next());){if('"'===t&&!m){n=!0;break}m=!m&&"\\"===t}return n&&!m&&(a.tokenize=z),"string"}function A(e,a){for(var t,n;0/,l=/^.*?(?=<.*>)/;function n(e,r){if(e.sol()){if(r.inSeparator=!1,r.inHeader&&e.match(a))return null;if(r.inHeader=!1,r.header=null,e.match(i))return r.inHeaders=!0,r.inSeparator=!0,"atom";var n=!1;return(t=e.match(d))||(n=!0,t=e.match(o))?(r.inHeaders=!0,r.inHeader=!0,r.emailPermitted=n,r.header=t[1],"atom"):r.inHeaders&&(t=e.match(m))?(r.inHeader=!0,r.emailPermitted=!0,r.header=t[1],"atom"):(r.inHeaders=!1,e.skipToEnd(),null)}if(r.inSeparator)return e.match(s)?"link":(e.match(c)||e.skipToEnd(),"atom");if(r.inHeader){var t="Subject"===r.header?"header":"string";if(r.emailPermitted){if(e.match(u))return t+" link";if(e.match(l))return t}return e.skipToEnd(),t}return e.skipToEnd(),null}CodeMirror.defineMode("mbox",function(){return{startState:function(){return{inSeparator:!1,inHeader:!1,emailPermitted:!1,header:null,inHeaders:!1}},token:n,blankLine:function(e){e.inHeaders=e.inSeparator=e.inHeader=!1}}}),CodeMirror.defineMIME("application/mbox","mbox")}(); // mirc CodeMirror.defineMIME("text/mirc","mirc"),CodeMirror.defineMode("mirc",function(){function e(e){for(var i={},$=e.split(" "),r=0;r<$.length;++r)i[$[r]]=!0;return i}var t=e("$! $$ $& $? $+ $abook $abs $active $activecid $activewid $address $addtok $agent $agentname $agentstat $agentver $alias $and $anick $ansi2mirc $aop $appactive $appstate $asc $asctime $asin $atan $avoice $away $awaymsg $awaytime $banmask $base $bfind $binoff $biton $bnick $bvar $bytes $calc $cb $cd $ceil $chan $chanmodes $chantypes $chat $chr $cid $clevel $click $cmdbox $cmdline $cnick $color $com $comcall $comchan $comerr $compact $compress $comval $cos $count $cr $crc $creq $crlf $ctime $ctimer $ctrlenter $date $day $daylight $dbuh $dbuw $dccignore $dccport $dde $ddename $debug $decode $decompress $deltok $devent $dialog $did $didreg $didtok $didwm $disk $dlevel $dll $dllcall $dname $dns $duration $ebeeps $editbox $emailaddr $encode $error $eval $event $exist $feof $ferr $fgetc $file $filename $filtered $finddir $finddirn $findfile $findfilen $findtok $fline $floor $fopen $fread $fserve $fulladdress $fulldate $fullname $fullscreen $get $getdir $getdot $gettok $gmt $group $halted $hash $height $hfind $hget $highlight $hnick $hotline $hotlinepos $ial $ialchan $ibl $idle $iel $ifmatch $ignore $iif $iil $inelipse $ini $inmidi $inpaste $inpoly $input $inrect $inroundrect $insong $instok $int $inwave $ip $isalias $isbit $isdde $isdir $isfile $isid $islower $istok $isupper $keychar $keyrpt $keyval $knick $lactive $lactivecid $lactivewid $left $len $level $lf $line $lines $link $lock $lock $locked $log $logstamp $logstampfmt $longfn $longip $lower $ltimer $maddress $mask $matchkey $matchtok $md5 $me $menu $menubar $menucontext $menutype $mid $middir $mircdir $mircexe $mircini $mklogfn $mnick $mode $modefirst $modelast $modespl $mouse $msfile $network $newnick $nick $nofile $nopath $noqt $not $notags $notify $null $numeric $numok $oline $onpoly $opnick $or $ord $os $passivedcc $pic $play $pnick $port $portable $portfree $pos $prefix $prop $protect $puttok $qt $query $rand $r $rawmsg $read $readomo $readn $regex $regml $regsub $regsubex $remove $remtok $replace $replacex $reptok $result $rgb $right $round $scid $scon $script $scriptdir $scriptline $sdir $send $server $serverip $sfile $sha1 $shortfn $show $signal $sin $site $sline $snick $snicks $snotify $sock $sockbr $sockerr $sockname $sorttok $sound $sqrt $ssl $sreq $sslready $status $strip $str $stripped $syle $submenu $switchbar $tan $target $ticks $time $timer $timestamp $timestampfmt $timezone $tip $titlebar $toolbar $treebar $trust $ulevel $ulist $upper $uptime $url $usermode $v1 $v2 $var $vcmd $vcmdstat $vcmdver $version $vnick $vol $wid $width $wildsite $wildtok $window $wrap $xor"),o=e("abook ajinvite alias aline ame amsg anick aop auser autojoin avoice away background ban bcopy beep bread break breplace bset btrunc bunset bwrite channel clear clearall cline clipboard close cnick color comclose comopen comreg continue copy creq ctcpreply ctcps dcc dccserver dde ddeserver debug dec describe dialog did didtok disable disconnect dlevel dline dll dns dqwindow drawcopy drawdot drawfill drawline drawpic drawrect drawreplace drawrot drawsave drawscroll drawtext ebeeps echo editbox emailaddr enable events exit fclose filter findtext finger firewall flash flist flood flush flushini font fopen fseek fsend fserve fullname fwrite ghide gload gmove gopts goto gplay gpoint gqreq groups gshow gsize gstop gtalk gunload hadd halt haltdef hdec hdel help hfree hinc hload hmake hop hsave ial ialclear ialmark identd if ignore iline inc invite iuser join kick linesep links list load loadbuf localinfo log mdi me menubar mkdir mnick mode msg nick noop notice notify omsg onotice part partall pdcc perform play playctrl pop protect pvoice qme qmsg query queryn quit raw reload remini remote remove rename renwin reseterror resetidle return rlevel rline rmdir run ruser save savebuf saveini say scid scon server set showmirc signam sline sockaccept sockclose socklist socklisten sockmark sockopen sockpause sockread sockrename sockudp sockwrite sound speak splay sreq strip switchbar timer timestamp titlebar tnick tokenize toolbar topic tray treebar ulist unload unset unsetall updatenl url uwho var vcadd vcmd vcrem vol while whois window winhelp write writeint if isalnum isalpha isaop isavoice isban ischan ishop isignore isin isincs isletter islower isnotify isnum ison isop isprotect isreg isupper isvoice iswm iswmcs elseif else goto menu nicklist status title icon size option text edit button check radio box scroll list combo link tab item"),n=e("if elseif else and not or eq ne in ni for foreach while switch"),a=/[+\-*&%=<>!?^\/\|]/;function s(e,i,$){return(i.tokenize=$)(e,i)}function l(e,i){var $=i.beforeParams;i.beforeParams=!1;var r=e.next();if(/[\[\]{}\(\),\.]/.test(r))return"("==r&&$?i.inParams=!0:")"==r&&(i.inParams=!1),null;if(/\d/.test(r))return e.eatWhile(/[\w\.]/),"number";if("\\"==r)return e.eat("\\"),e.eat(/./),"number";if("/"==r&&e.eat("*"))return s(e,i,c);if(";"==r&&e.match(/ *\( *\(/))return s(e,i,d);if(";"!=r||i.inParams){if('"'==r)return e.eat(/"/),"keyword";if("$"==r)return e.eatWhile(/[$_a-z0-9A-Z\.:]/),t&&t.propertyIsEnumerable(e.current().toLowerCase())?"keyword":(i.beforeParams=!0,"builtin");if("%"==r)return e.eatWhile(/[^,\s()]/),i.beforeParams=!0,"string";if(a.test(r))return e.eatWhile(a),"operator";e.eatWhile(/[\w\$_{}]/);r=e.current().toLowerCase();return o&&o.propertyIsEnumerable(r)?"keyword":n&&n.propertyIsEnumerable(r)?(i.beforeParams=!0,"keyword"):null}return e.skipToEnd(),"comment"}function c(e,i){for(var $,r=!1;$=e.next();){if("/"==$&&r){i.tokenize=l;break}r="*"==$}return"comment"}function d(e,i){for(var $,r=0;$=e.next();){if(";"==$&&2==r){i.tokenize=l;break}")"==$?r++:" "!=$&&(r=0)}return"meta"}return{startState:function(){return{tokenize:l,beforeParams:!1,inParams:!1}},token:function(e,i){return e.eatSpace()?null:i.tokenize(e,i)}}}); // mllike CodeMirror.defineMode("mllike",function(e,t){var r,i={as:"keyword",do:"keyword",else:"keyword",end:"keyword",exception:"keyword",fun:"keyword",functor:"keyword",if:"keyword",in:"keyword",include:"keyword",let:"keyword",of:"keyword",open:"keyword",rec:"keyword",struct:"keyword",then:"keyword",type:"keyword",val:"keyword",while:"keyword",with:"keyword"},o=t.extraWords||{};for(r in o)o.hasOwnProperty(r)&&(i[r]=t.extraWords[r]);var n,d=[];for(n in i)d.push(n);function k(e,r){var o=e.next();if('"'===o)return r.tokenize=y,r.tokenize(e,r);if("{"===o&&e.eat("|"))return r.longString=!0,r.tokenize=l,r.tokenize(e,r);if("("===o&&e.eat("*"))return r.commentLevel++,r.tokenize=w,r.tokenize(e,r);if("~"===o||"?"===o)return e.eatWhile(/\w/),"variable-2";if("`"===o)return e.eatWhile(/\w/),"quote";if("/"===o&&t.slashComments&&e.eat("/"))return e.skipToEnd(),"comment";if(/\d/.test(o))return"0"===o&&e.eat(/[bB]/)&&e.eatWhile(/[01]/),"0"===o&&e.eat(/[xX]/)&&e.eatWhile(/[0-9a-fA-F]/),"0"===o&&e.eat(/[oO]/)?e.eatWhile(/[0-7]/):(e.eatWhile(/[\d_]/),e.eat(".")&&e.eatWhile(/[\d]/),e.eat(/[eE]/)&&e.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@\.~:]/.test(o))return"operator";if(/[\w\xa1-\uffff]/.test(o)){e.eatWhile(/[\w\xa1-\uffff]/);e=e.current();return i.hasOwnProperty(e)?i[e]:"variable"}return null}function y(e,r){for(var o,t=!1,i=!1;null!=(o=e.next());){if('"'===o&&!i){t=!0;break}i=!i&&"\\"===o}return t&&!i&&(r.tokenize=k),"string"}function w(e,r){for(var o,t;0+\-\/^\[\]]/,l=/(:=|<=|>=|==|<>|\.\+|\.\-|\.\*|\.\/|\.\^)/,u=/[0-9]/,s=/[_a-zA-Z]/;function c(e,t){return e.skipToEnd(),t.tokenize=null,"comment"}function f(e,t){for(var n,r=!1;n=e.next();){if(r&&"/"==n){t.tokenize=null;break}r="*"==n}return"comment"}function p(e,t){for(var n,r=!1;null!=(n=e.next());){if('"'==n&&!r){t.tokenize=null,t.sol=!1;break}r=!r&&"\\"==n}return"string"}function d(e,t){for(e.eatWhile(u);e.eat(u)||e.eat(s););var n=e.current();return!t.sol||"package"!=n&&"model"!=n&&"when"!=n&&"connector"!=n?t.sol&&"end"==n&&0","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]},xu:{keywords:["msc","xu"],options:["hscale","width","arcgradient","wordwraparcs","wordwrapentities","watermark"],constants:["true","false","on","off","auto"],attributes:["label","idurl","id","url","linecolor","linecolour","textcolor","textcolour","textbgcolor","textbgcolour","arclinecolor","arclinecolour","arctextcolor","arctextcolour","arctextbgcolor","arctextbgcolour","arcskip","title","deactivate","activate","activation"],brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box","alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]},msgenny:{keywords:null,options:["hscale","width","arcgradient","wordwraparcs","wordwrapentities","watermark"],constants:["true","false","on","off","auto"],attributes:null,brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box","alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]}};function o(t){return new RegExp("^\\b(?:"+t.join("|")+")\\b","i")}function i(t){return new RegExp("^(?:"+t.join("|")+")","i")}function a(){return{inComment:!1,inString:!1,inAttributeList:!1,inScript:!1}}function c(t){return{inComment:t.inComment,inString:t.inString,inAttributeList:t.inAttributeList,inScript:t.inScript}}CodeMirror.defineMode("mscgen",function(t,r){var e,r=n[r&&r.language||"mscgen"];return{startState:a,copyState:c,token:(e=r,function(t,r){if(t.match(i(e.brackets),!0,!0))return"bracket";if(!r.inComment){if(t.match(/\/\*[^\*\/]*/,!0,!0))return r.inComment=!0,"comment";if(t.match(i(e.singlecomment),!0,!0))return t.skipToEnd(),"comment"}if(r.inComment)return t.match(/[^\*\/]*\*\//,!0,!0)?r.inComment=!1:t.skipToEnd(),"comment";if(!r.inString&&t.match(/\"(\\\"|[^\"])*/,!0,!0))return r.inString=!0,"string";if(r.inString)return t.match(/[^\"]*\"/,!0,!0)?r.inString=!1:t.skipToEnd(),"string";if(e.keywords&&t.match(o(e.keywords),!0,!0))return"keyword";if(t.match(o(e.options),!0,!0))return"keyword";if(t.match(o(e.arcsWords),!0,!0))return"keyword";if(t.match(i(e.arcsOthers),!0,!0))return"keyword";if(e.operators&&t.match(i(e.operators),!0,!0))return"operator";if(e.constants&&t.match(i(e.constants),!0,!0))return"variable";if(!e.inAttributeList&&e.attributes&&t.match("[",!0,!0))return e.inAttributeList=!0,"bracket";if(e.inAttributeList){if(null!==e.attributes&&t.match(o(e.attributes),!0,!0))return"attribute";if(t.match("]",!0,!0))return e.inAttributeList=!1,"bracket"}return t.next(),"base"}),lineComment:"#",blockCommentStart:"/*",blockCommentEnd:"*/"}}),CodeMirror.defineMIME("text/x-mscgen","mscgen"),CodeMirror.defineMIME("text/x-xu",{name:"mscgen",language:"xu"}),CodeMirror.defineMIME("text/x-msgenny",{name:"mscgen",language:"msgenny"})}(); // mumps CodeMirror.defineMode("mumps",function(){function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var $=new RegExp("^[\\+\\-\\*/&#!_?\\\\<>=\\'\\[\\]]"),o=new RegExp("^(('=)|(<=)|(>=)|('>)|('<)|([[)|(]])|(^$))"),r=new RegExp("^[\\.,:]"),a=new RegExp("[()]"),m=new RegExp("^[%A-Za-z][A-Za-z0-9]*"),c=e(["\\$ascii","\\$char","\\$data","\\$ecode","\\$estack","\\$etrap","\\$extract","\\$find","\\$fnumber","\\$get","\\$horolog","\\$io","\\$increment","\\$job","\\$justify","\\$length","\\$name","\\$next","\\$order","\\$piece","\\$qlength","\\$qsubscript","\\$query","\\$quit","\\$random","\\$reverse","\\$select","\\$stack","\\$test","\\$text","\\$translate","\\$view","\\$x","\\$y","\\$a","\\$c","\\$d","\\$e","\\$ec","\\$es","\\$et","\\$f","\\$fn","\\$g","\\$h","\\$i","\\$j","\\$l","\\$n","\\$na","\\$o","\\$p","\\$q","\\$ql","\\$qs","\\$r","\\$re","\\$s","\\$st","\\$t","\\$tr","\\$v","\\$z"]),i=e(["break","close","do","else","for","goto","halt","hang","if","job","kill","lock","merge","new","open","quit","read","set","tcommit","trollback","tstart","use","view","write","xecute","b","c","d","e","f","g","h","i","j","k","l","m","n","o","q","r","s","tc","tro","ts","u","v","w","x"]);return{startState:function(){return{label:!1,commandMode:0}},token:function(e,t){e=function(e,t){e.sol()&&(t.label=!0,t.commandMode=0);var n=e.peek();return" "==n||"\t"==n?(t.label=!1,0==t.commandMode?t.commandMode=1:(t.commandMode<0||2==t.commandMode)&&(t.commandMode=0)):"."!=n&&0*\/]/.test(t)?(s="select-op",null):/[;{}:\[\]]/.test(t)?n(null,t):(e.eatWhile(/[\w\\\-]/),s="variable"):(s="compare",null):void(s="compare")}function l(e,_){for(var t,r=!1;null!=(t=e.next());){if(r&&"/"==t){_.tokenize=c;break}r="*"==t}return s="comment"}function p(e,_){for(var t,r=0;null!=(t=e.next());){if(2<=r&&">"==t){_.tokenize=c;break}r="-"==t?r+1:0}return s="comment"}return{startState:function(e){return{tokenize:c,baseIndent:e||0,stack:[]}},token:function(e,_){if(e.eatSpace())return null;s=null;var t=_.tokenize(e,_),e=_.stack[_.stack.length-1];return"hash"==s&&"rule"==e?t="atom":"variable"==t&&("rule"==e?t="number":e&&"@media{"!=e||(t="tag")),"rule"==e&&/^[\{\};]$/.test(s)&&_.stack.pop(),"{"==s?"@media"==e?_.stack[_.stack.length-1]="@media{":_.stack.push("{"):"}"==s?_.stack.pop():"@media"==s?_.stack.push("@media"):"{"==e&&"comment"!=s&&_.stack.push("rule"),t},indent:function(e,_){var t=e.stack.length;return/^\}/.test(_)&&(t-="rule"==e.stack[e.stack.length-1]?2:1),e.baseIndent+t*i},electricChars:"}"}}),CodeMirror.defineMIME("text/x-nginx-conf","nginx"); // nsis CodeMirror.defineSimpleMode("nsis",{start:[{regex:/(?:[+-]?)(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\d+.?\d*)/,token:"number"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"},{regex:/'(?:[^\\']|\\.)*'?/,token:"string"},{regex:/`(?:[^\\`]|\\.)*`?/,token:"string"},{regex:/^\s*(?:\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|error|execute|finalize|getdllversion|gettlbversion|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|uninstfinalize|verbose|warning))\b/,token:"keyword"},{regex:/^\s*(?:\!(if(?:n?def)?|ifmacron?def|macro))\b/,token:"keyword",indent:!0},{regex:/^\s*(?:\!(else|endif|macroend))\b/,token:"keyword",dedent:!0},{regex:/^\s*(?:Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecShellWait|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetKnownFolderPath|GetLabelAddress|GetTempFileName|GetWinVer|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfRtlLanguage|IfShellVarContextAll|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|Int64Cmp|Int64CmpU|Int64Fmt|IntCmp|IntCmpU|IntFmt|IntOp|IntPtrCmp|IntPtrCmpU|IntPtrOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadAndSetImage|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestLongPathAware|ManifestMaxVersionTested|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|PEAddResource|PEDllCharacteristics|PERemoveResource|PESubsysVer|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegMultiStr|WriteRegNone|WriteRegStr|WriteUninstaller|XPStyle)\b/,token:"keyword"},{regex:/^\s*(?:Function|PageEx|Section(?:Group)?)\b/,token:"keyword",indent:!0},{regex:/^\s*(?:(Function|PageEx|Section(?:Group)?)End)\b/,token:"keyword",dedent:!0},{regex:/\b(?:ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HIDDEN|HKCC|HKCR(32|64)?|HKCU(32|64)?|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM(32|64)?|HKPD|HKU|IDABORT|IDCANCEL|IDD_DIR|IDD_INST|IDD_INSTFILES|IDD_LICENSE|IDD_SELCOM|IDD_UNINST|IDD_VERIFY|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SW_HIDE|SW_SHOWDEFAULT|SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED|SW_SHOWNORMAL|SYSTEM|TEMPORARY)\b/,token:"atom"},{regex:/\b(?:admin|all|auto|both|bottom|bzip2|components|current|custom|directory|false|force|hide|highest|ifdiff|ifnewer|instfiles|lastused|leave|left|license|listonly|lzma|nevershow|none|normal|notset|off|on|right|show|silent|silentlog|textonly|top|true|try|un\.components|un\.custom|un\.directory|un\.instfiles|un\.license|uninstConfirm|user|Win10|Win7|Win8|WinVista|zlib)\b/,token:"builtin"},{regex:/\$\{(?:And(?:If(?:Not)?|Unless)|Break|Case(?:Else)?|Continue|Default|Do(?:Until|While)?|Else(?:If(?:Not)?|Unless)?|End(?:If|Select|Switch)|Exit(?:Do|For|While)|For(?:Each)?|If(?:Cmd|Not(?:Then)?|Then)?|Loop(?:Until|While)?|Or(?:If(?:Not)?|Unless)|Select|Switch|Unless|While)\}/,token:"variable-2",indent:!0},{regex:/\$\{(?:BannerTrimPath|DirState|DriveSpace|Get(BaseName|Drives|ExeName|ExePath|FileAttributes|FileExt|FileName|FileVersion|Options|OptionsS|Parameters|Parent|Root|Size|Time)|Locate|RefreshShellIcons)\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:Memento(?:Section(?:Done|End|Restore|Save)?|UnselectedSection))\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:Config(?:Read|ReadS|Write|WriteS)|File(?:Join|ReadFromEnd|Recode)|Line(?:Find|Read|Sum)|Text(?:Compare|CompareS)|TrimNewLines)\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:(?:At(?:Least|Most)|Is)(?:ServicePack|Win(?:7|8|10|95|98|200(?:0|3|8(?:R2)?)|ME|NT4|Vista|XP))|Is(?:NT|Server))\}/,token:"variable",dedent:!0},{regex:/\$\{(?:StrFilterS?|Version(?:Compare|Convert)|Word(?:AddS?|Find(?:(?:2|3)X)?S?|InsertS?|ReplaceS?))\}/,token:"variable-2",dedent:!0},{regex:/\$\{(?:RunningX64)\}/,token:"variable",dedent:!0},{regex:/\$\{(?:Disable|Enable)X64FSRedirection\}/,token:"variable-2",dedent:!0},{regex:/(#|;).*/,token:"comment"},{regex:/\/\*/,token:"comment",next:"comment"},{regex:/[-+\/*=<>!]+/,token:"operator"},{regex:/\$\w+/,token:"variable"},{regex:/\${[\w\.:-]+}/,token:"variable-2"},{regex:/\$\([\w\.:-]+\)/,token:"variable-3"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],meta:{electricInput:/^\s*((Function|PageEx|Section|Section(Group)?)End|(\!(endif|macroend))|\$\{(End(If|Unless|While)|Loop(Until)|Next)\})$/,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:["#",";"]}}),CodeMirror.defineMIME("text/x-nsis","nsis"); // ntriples CodeMirror.defineMode("ntriples",function(){var t=0,i=1,a=2,u=3,o=4,l=5,s=6,f=7,p=8,c=9,h=10,v=11,d=12;function M(e,n){var r=e.location,r=r==t&&"<"==n?i:r==t&&"_"==n?a:r==u&&"<"==n?o:r==l&&"<"==n?s:r==l&&"_"==n?f:r==l&&'"'==n?p:r==i&&">"==n||r==a&&" "==n?u:r==o&&">"==n?l:r==s&&">"==n||r==f&&" "==n||r==p&&'"'==n||r==c&&" "==n||r==h&&">"==n?v:r==p&&"@"==n?c:r==p&&"^"==n?h:" "!=n||r!=t&&r!=u&&r!=l&&r!=v?r==v&&"."==n?t:d:r;e.location=r}return{startState:function(){return{location:t,uris:[],anchors:[],bnodes:[],langs:[],types:[]}},token:function(e,n){var r=e.next();if("<"==r){M(n,r);var t="";return(e.eatWhile(function(e){return"#"!=e&&">"!=e&&(t+=e,!0)}),n.uris.push(t),e.match("#",!1))?"variable":(e.next(),M(n,">"),"variable")}if("#"==r){var i="";return e.eatWhile(function(e){return">"!=e&&" "!=e&&(i+=e,!0)}),n.anchors.push(i),"variable-2"}if(">"==r)return M(n,">"),"variable";if("_"==r){M(n,r);var a="";return e.eatWhile(function(e){return" "!=e&&(a+=e,!0)}),n.bnodes.push(a),e.next(),M(n," "),"builtin"}if('"'==r)return M(n,r),e.eatWhile(function(e){return'"'!=e}),e.next(),"@"!=e.peek()&&"^"!=e.peek()&&M(n,'"'),"string";if("@"==r){M(n,"@");var u="";return e.eatWhile(function(e){return" "!=e&&(u+=e,!0)}),n.langs.push(u),e.next(),M(n," "),"string-2"}if("^"==r){e.next(),M(n,"^");var o="";return e.eatWhile(function(e){return">"!=e&&(o+=e,!0)}),n.types.push(o),e.next(),M(n,">"),"variable"}" "==r&&M(n,r),"."==r&&M(n,r)}}}),CodeMirror.defineMIME("application/n-triples","ntriples"),CodeMirror.defineMIME("application/n-quads","ntriples"),CodeMirror.defineMIME("text/n-triples","ntriples"); // octave CodeMirror.defineMode("octave",function(){function r(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var i=new RegExp("^[\\+\\-\\*/&|\\^~<>!@'\\\\]"),o=new RegExp("^[\\(\\[\\{\\},:=;\\.]"),a=new RegExp("^((==)|(~=)|(<=)|(>=)|(<<)|(>>)|(\\.[\\+\\-\\*/\\^\\\\]))"),c=new RegExp("^((!=)|(\\+=)|(\\-=)|(\\*=)|(/=)|(&=)|(\\|=)|(\\^=))"),m=new RegExp("^((>>=)|(<<=))"),s=new RegExp("^[\\]\\)]"),u=new RegExp("^[_A-Za-z¡-￿][_A-Za-z0-9¡-￿]*"),f=r(["error","eval","function","abs","acos","atan","asin","cos","cosh","exp","log","prod","sum","log10","max","min","sign","sin","sinh","sqrt","tan","reshape","break","zeros","default","margin","round","ones","rand","syn","ceil","floor","size","clear","zeros","eye","mean","std","cov","det","eig","inv","norm","rank","trace","expm","logm","sqrtm","linspace","plot","title","xlabel","ylabel","legend","text","grid","meshgrid","mesh","num2str","fft","ifft","arrayfun","cellfun","input","fliplr","flipud","ismember"]),l=r(["return","case","switch","else","elseif","end","endif","endfunction","if","otherwise","do","for","while","try","catch","classdef","properties","events","methods","global","persistent","endfor","endwhile","printf","sprintf","disp","until","continue","pkg"]);function d(e,n){return e.sol()||"'"!==e.peek()?(n.tokenize=h)(e,n):(e.next(),n.tokenize=h,"operator")}function p(e,n){return e.match(/^.*%}/)?n.tokenize=h:e.skipToEnd(),"comment"}function h(e,n){if(e.eatSpace())return null;if(e.match("%{"))return n.tokenize=p,e.skipToEnd(),"comment";if(e.match(/^[%#]/))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+[ij]?/))return e.tokenize=h,"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?[ij]?/))return"number";if(e.match(/^[+-]?\d+([EeDd][+-]?\d+)?[ij]?/))return"number"}if(e.match(r(["nan","NaN","inf","Inf"])))return"number";var t=e.match(/^"(?:[^"]|"")*("|$)/)||e.match(/^'(?:[^']|'')*('|$)/);return t?t[1]?"string":"string error":e.match(l)?"keyword":e.match(f)?"builtin":e.match(u)?"variable":e.match(i)||e.match(a)?"operator":e.match(o)||e.match(c)||e.match(m)?null:e.match(s)?(n.tokenize=d,null):(e.next(),"error")}return{startState:function(){return{tokenize:h}},token:function(e,n){e=n.tokenize(e,n);return"number"!==e&&"variable"!==e||(n.tokenize=d),e},lineComment:"%",fold:"indent"}}),CodeMirror.defineMIME("text/x-octave","octave"); // oz CodeMirror.defineMode("oz",function(n){function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var t,r=/[\^@!\|<>#~\.\*\-\+\\/,=]/,a=/(<-)|(:=)|(=<)|(>=)|(<=)|(<:)|(>:)|(=:)|(\\=)|(\\=:)|(!!)|(==)|(::)/,i=/(:::)|(\.\.\.)|(=<:)|(>=:)/,o=["in","then","else","of","elseof","elsecase","elseif","catch","finally","with","require","prepare","import","export","define","do"],c=["end"],u=e(["true","false","nil","unit"]),f=e(["andthen","at","attr","declare","feat","from","lex","mod","div","mode","orelse","parser","prod","prop","scanner","self","syn","token"]),s=e(["local","proc","fun","case","class","if","cond","or","dis","choice","not","thread","try","raise","lock","for","suchthat","meth","functor"]),d=e(o),l=e(c);function m(e,t){if(e.eatSpace())return null;if(e.match(/[{}]/))return"bracket";if(e.match("[]"))return"keyword";if(e.match(i)||e.match(a))return"operator";if(e.match(u))return"atom";var n=e.match(s);if(n)return t.doInCurrentLine?t.doInCurrentLine=!1:t.currentIndent++,"proc"==n[0]||"fun"==n[0]?t.tokenize=p:"class"==n[0]?t.tokenize=h:"meth"==n[0]&&(t.tokenize=k),"keyword";if(e.match(d)||e.match(f))return"keyword";if(e.match(l))return t.currentIndent--,"keyword";var o,n=e.next();if('"'==n||"'"==n)return t.tokenize=(o=n,function(e,t){for(var n,r=!1,a=!1;null!=(n=e.next());){if(n==o&&!r){a=!0;break}r=!r&&"\\"==n}return!a&&r||(t.tokenize=m),"string"}),t.tokenize(e,t);if(/[~\d]/.test(n)){if("~"==n){if(!/^[0-9]/.test(e.peek()))return null;if("0"==e.next()&&e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/))return"number"}return"0"==n&&e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/)?"number":null}return"%"==n?(e.skipToEnd(),"comment"):"/"==n&&e.eat("*")?(t.tokenize=z)(e,t):r.test(n)?"operator":(e.eatWhile(/\w/),"variable")}function h(e,t){return e.eatSpace()?null:(e.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)/),t.tokenize=m,"variable-3")}function k(e,t){return e.eatSpace()?null:(e.match(/([a-zA-Z][A-Za-z0-9_]*)|(`.+`)/),t.tokenize=m,"def")}function p(e,t){return e.eatSpace()?null:!t.hasPassedFirstStage&&e.eat("{")?(t.hasPassedFirstStage=!0,"bracket"):t.hasPassedFirstStage?(e.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)|\$/),t.hasPassedFirstStage=!1,t.tokenize=m,"def"):(t.tokenize=m,null)}function z(e,t){for(var n,r=!1;n=e.next();){if("/"==n&&r){t.tokenize=m;break}r="*"==n}return"comment"}return{startState:function(){return{tokenize:m,currentIndent:0,doInCurrentLine:!1,hasPassedFirstStage:!1}},token:function(e,t){return e.sol()&&(t.doInCurrentLine=0),t.tokenize(e,t)},indent:function(e,t){t=t.replace(/^\s+|\s+$/g,"");return t.match(l)||t.match(d)||t.match(/(\[])/)?n.indentUnit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*n.indentUnit},fold:"indent",electricInput:(t=o.concat(c),new RegExp("[\\[\\]]|("+t.join("|")+")$")),lineComment:"%",blockCommentStart:"/*",blockCommentEnd:"*/"}}),CodeMirror.defineMIME("text/x-oz","oz"); // pascal CodeMirror.defineMode("pascal",function(){var n=function(e){for(var t={},r=e.split(" "),n=0;n!?|\/]/;function l(e,t){for(var r,n=!1;r=e.next();){if(")"==r&&n){t.tokenize=null;break}n="*"==r}return"comment"}function s(e,t){for(var r;r=e.next();)if("}"==r){t.tokenize=null;break}return"comment"}return{startState:function(){return{tokenize:null}},token:function(e,t){if(e.eatSpace())return null;t=(t.tokenize||function(e,t){var i,r=e.next();return"#"==r&&t.startOfLine?(e.skipToEnd(),"meta"):'"'==r||"'"==r?(t.tokenize=(i=r,function(e,t){for(var r,n=!1,a=!1;null!=(r=e.next());){if(r==i&&!n){a=!0;break}n=!n&&"\\"==r}return!a&&n||(t.tokenize=null),"string"}),t.tokenize(e,t)):"("==r&&e.eat("*")?(t.tokenize=l)(e,t):"{"==r?(t.tokenize=s)(e,t):/[\[\]\(\),;\:\.]/.test(r)?null:/\d/.test(r)?(e.eatWhile(/[\w\.]/),"number"):"/"==r&&e.eat("/")?(e.skipToEnd(),"comment"):o.test(r)?(e.eatWhile(o),"operator"):(e.eatWhile(/[\w\$_]/),e=e.current(),n.propertyIsEnumerable(e)?"keyword":a.propertyIsEnumerable(e)?"atom":"variable")})(e,t);return t},electricChars:"{}"}}),CodeMirror.defineMIME("text/x-pascal","pascal"); // pegjs CodeMirror.defineMode("pegjs",function(e){var i=CodeMirror.getMode(e,"javascript");return{startState:function(){return{inString:!1,stringType:null,inComment:!1,inCharacterClass:!1,braced:0,lhs:!0,localState:null}},token:function(e,t){if(e&&(t.inString||t.inComment||'"'!=e.peek()&&"'"!=e.peek()||(t.stringType=e.peek(),e.next(),t.inString=!0)),t.inString||t.inComment||!e.match("/*")||(t.inComment=!0),t.inString){for(;t.inString&&!e.eol();)e.peek()===t.stringType?(e.next(),t.inString=!1):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return t.lhs?"property string":"string"}if(t.inComment){for(;t.inComment&&!e.eol();)e.match("*/")?t.inComment=!1:e.match(/^.[^\*]*/);return"comment"}if(t.inCharacterClass)for(;t.inCharacterClass&&!e.eol();)e.match(/^[^\]\\]+/)||e.match(/^\\./)||(t.inCharacterClass=!1);else{if("["===e.peek())return e.next(),t.inCharacterClass=!0,"bracket";if(e.match("//"))return e.skipToEnd(),"comment";if(t.braced||"{"===e.peek()){null===t.localState&&(t.localState=CodeMirror.startState(i));var n=i.token(e,t.localState),r=e.current();if(!n)for(var a=0;a=(t=e.string.length-1)?e.pos=t:e.pos=r}CodeMirror.defineMode("perl",function(){var o={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},$="string-2",u=/[goseximacplud]/;function l(e,t,s,a,o){return t.chain=null,t.style=null,t.tail=null,t.tokenize=function(e,t){for(var r,n=!1,i=0;r=e.next();){if(r===s[i]&&!n)return void 0!==s[++i]?(t.chain=s[i],t.style=a,t.tail=o):o&&e.eatWhile(o),t.tokenize=E,a;n=!n&&"\\"==r}return a},t.tokenize(e,t)}function f(e,t,r){return t.tokenize=function(e,t){return e.string==r&&(t.tokenize=E),e.skipToEnd(),"string"},t.tokenize(e,t)}function E(e,t){if(e.eatSpace())return null;if(t.chain)return l(e,t,t.chain,t.style,t.tail);if(e.match(/^\-?[\d\.]/,!1)&&e.match(/^(\-?(\d*\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F]+|0b[01]+|\d+(e[+-]?\d+)?)/))return"number";if(e.match(/^<<(?=[_a-zA-Z])/))return e.eatWhile(/\w/),f(e,t,e.current().substr(2));if(e.sol()&&e.match(/^\=item(?!\w)/))return f(e,t,"=cut");var r=e.next();if('"'==r||"'"==r){if(T(e,3)=="<<"+r){var n=e.pos;e.eatWhile(/\w/);var i=e.current().substr(1);if(i&&e.eat(r))return f(e,t,i);e.pos=n}return l(e,t,[r],"string")}if("q"==r&&(!(s=R(e,-2))||!/\w/.test(s)))if("x"==(s=R(e,0))){if("("==(s=R(e,1)))return p(e,2),l(e,t,[")"],$,u);if("["==s)return p(e,2),l(e,t,["]"],$,u);if("{"==s)return p(e,2),l(e,t,["}"],$,u);if("<"==s)return p(e,2),l(e,t,[">"],$,u);if(/[\^'"!~\/]/.test(s))return p(e,1),l(e,t,[e.eat(s)],$,u)}else if("q"==s){if("("==(s=R(e,1)))return p(e,2),l(e,t,[")"],"string");if("["==s)return p(e,2),l(e,t,["]"],"string");if("{"==s)return p(e,2),l(e,t,["}"],"string");if("<"==s)return p(e,2),l(e,t,[">"],"string");if(/[\^'"!~\/]/.test(s))return p(e,1),l(e,t,[e.eat(s)],"string")}else if("w"==s){if("("==(s=R(e,1)))return p(e,2),l(e,t,[")"],"bracket");if("["==s)return p(e,2),l(e,t,["]"],"bracket");if("{"==s)return p(e,2),l(e,t,["}"],"bracket");if("<"==s)return p(e,2),l(e,t,[">"],"bracket");if(/[\^'"!~\/]/.test(s))return p(e,1),l(e,t,[e.eat(s)],"bracket")}else if("r"==s){if("("==(s=R(e,1)))return p(e,2),l(e,t,[")"],$,u);if("["==s)return p(e,2),l(e,t,["]"],$,u);if("{"==s)return p(e,2),l(e,t,["}"],$,u);if("<"==s)return p(e,2),l(e,t,[">"],$,u);if(/[\^'"!~\/]/.test(s))return p(e,1),l(e,t,[e.eat(s)],$,u)}else if(/[\^'"!~\/(\[{<]/.test(s)){if("("==s)return p(e,1),l(e,t,[")"],"string");if("["==s)return p(e,1),l(e,t,["]"],"string");if("{"==s)return p(e,1),l(e,t,["}"],"string");if("<"==s)return p(e,1),l(e,t,[">"],"string");if(/[\^'"!~\/]/.test(s))return l(e,t,[e.eat(s)],"string")}if("m"==r){var s=R(e,-2);if((!s||!/\w/.test(s))&&(s=e.eat(/[(\[{<\^'"!~\/]/))){if(/[\^'"!~\/]/.test(s))return l(e,t,[s],$,u);if("("==s)return l(e,t,[")"],$,u);if("["==s)return l(e,t,["]"],$,u);if("{"==s)return l(e,t,["}"],$,u);if("<"==s)return l(e,t,[">"],$,u)}}if("s"==r){s=/[\/>\]})\w]/.test(R(e,-2));if(!s&&(s=e.eat(/[(\[{<\^'"!~\/]/)))return l(e,t,"["==s?["]","]"]:"{"==s?["}","}"]:"<"==s?[">",">"]:"("==s?[")",")"]:[s,s],$,u)}if("y"==r){s=/[\/>\]})\w]/.test(R(e,-2));if(!s&&(s=e.eat(/[(\[{<\^'"!~\/]/)))return l(e,t,"["==s?["]","]"]:"{"==s?["}","}"]:"<"==s?[">",">"]:"("==s?[")",")"]:[s,s],$,u)}if("t"==r){s=/[\/>\]})\w]/.test(R(e,-2));if(!s&&(s=(s=e.eat("r"))&&e.eat(/[(\[{<\^'"!~\/]/)))return l(e,t,"["==s?["]","]"]:"{"==s?["}","}"]:"<"==s?[">",">"]:"("==s?[")",")"]:[s,s],$,u)}if("`"==r)return l(e,t,[r],"variable-2");if("/"==r)return/~\s*$/.test(T(e))?l(e,t,[r],$,u):"operator";if("$"==r){n=e.pos;if(e.eatWhile(/\d/)||e.eat("{")&&e.eatWhile(/\d/)&&e.eat("}"))return"variable-2";e.pos=n}if(/[$@%]/.test(r)){n=e.pos;if(e.eat("^")&&e.eat(/[A-Z]/)||!/[@$%&]/.test(R(e,-2))&&e.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){s=e.current();if(o[s])return"variable-2"}e.pos=n}if(/[$@%&]/.test(r)&&(e.eatWhile(/[\w$]/)||e.eat("{")&&e.eatWhile(/[\w$]/)&&e.eat("}"))){s=e.current();return o[s]?"variable-2":"variable"}if("#"==r&&"$"!=R(e,-2))return e.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(r)){n=e.pos;if(e.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),o[e.current()])return"operator";e.pos=n}if("_"==r&&1==e.pos){if("_END__"==A(e,6))return l(e,t,["\0"],"comment");if("_DATA__"==A(e,7))return l(e,t,["\0"],"variable-2");if("_C__"==A(e,7))return l(e,t,["\0"],"string")}if(/\w/.test(r)){n=e.pos;if("{"==R(e,-2)&&("}"==R(e,0)||e.eatWhile(/\w/)&&"}"==R(e,0)))return"string";e.pos=n}if(/[A-Z]/.test(r)){var a=R(e,-2),n=e.pos;if(e.eatWhile(/[A-Z_]/),!/[\da-z]/.test(R(e,0)))return(s=o[e.current()])?(s[1]&&(s=s[0]),":"!=a?1==s?"keyword":2==s?"def":3==s?"atom":4==s?"operator":5==s?"variable-2":"meta":"meta"):"meta";e.pos=n}if(/[a-zA-Z_]/.test(r)){a=R(e,-2);return e.eatWhile(/\w/),(s=o[e.current()])?(s[1]&&(s=s[0]),":"!=a?1==s?"keyword":2==s?"def":3==s?"atom":4==s?"operator":5==s?"variable-2":"meta":"meta"):"meta"}return null}return{startState:function(){return{tokenize:E,chain:null,style:null,tail:null}},token:function(e,t){return(t.tokenize||E)(e,t)},lineComment:"#"}}),CodeMirror.registerHelper("wordChars","perl",/[\w$]/),CodeMirror.defineMIME("text/x-perl","perl")}(); // php !function(){function e(e){for(var t={},r=e.split(" "),_=0;_\w/,!1)&&(t.tokenize=a([[["->",null]],[[/[\w]+/,"variable"]]],r,_)),"variable-2";var s=!1;for(;!e.eol()&&(s||!1===_||!e.match("{$",!1)&&!e.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!s&&e.match(r)){t.tokenize=null,t.tokStack.pop(),t.tokStack.pop();break}s="\\"==e.next()&&!s}return"string"}(e,t,r,_)}}var t="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally readonly match",r="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",_="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage memory_get_peak_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count";CodeMirror.registerHelper("hintWords","php",[t,r,_].join(" ").split(" ")),CodeMirror.registerHelper("wordChars","php",/[\w$]/);var s={name:"clike",helperType:"php",keywords:e(t),blockKeywords:e("catch do else elseif for foreach if switch try while finally"),defKeywords:e("class enum function interface namespace trait"),atoms:e(r),builtin:e(_),multiLineStrings:!0,hooks:{$:function(e){return e.eatWhile(/[\w\$_]/),"variable-2"},"<":function(e,t){if(_=e.match(/^<<\s*/)){var r=e.eat(/['"]/);e.eatWhile(/[\w\.]/);var _=e.current().slice(_[0].length+(r?2:1));if(r&&e.eat(r),_)return(t.tokStack||(t.tokStack=[])).push(_,0),t.tokenize=n(_,"'"!=r),"string"}return!1},"#":function(e){for(;!e.eol()&&!e.match("?>",!1);)e.next();return"comment"},"/":function(e){if(e.eat("/")){for(;!e.eol()&&!e.match("?>",!1);)e.next();return"comment"}return!1},'"':function(e,t){return(t.tokStack||(t.tokStack=[])).push('"',0),t.tokenize=n('"'),"string"},"{":function(e,t){return t.tokStack&&t.tokStack.length&&t.tokStack[t.tokStack.length-1]++,!1},"}":function(e,t){return t.tokStack&&0")?(t.curMode=l,t.curState=t.html,t.php.context.prev||(t.php=null),"meta"):a.token(e,t.curState);if(e.match(/^<\?\w*/))return t.curMode=a,t.php||(t.php=CodeMirror.startState(a,l.indent(t.html,"",""))),t.curState=t.php,"meta";if('"'==t.pending||"'"==t.pending){for(;!e.eol()&&e.next()!=t.pending;);var _="string"}else _=t.pending&&e.pos/.test(i)?t.pending=s[0]:t.pending={end:e.pos,style:_},e.backUp(i.length-r)),_},indent:function(e,t,r){return e.curMode!=a&&/^\s*<\//.test(t)||e.curMode==a&&/^\?>/.test(t)?l.indent(e.html,t,r):e.curMode.indent(e.curState,t,r)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(e){return{state:e.curState,mode:e.curMode}}}},"htmlmixed","clike"),CodeMirror.defineMIME("application/x-httpd-php","php"),CodeMirror.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),CodeMirror.defineMIME("text/x-php",s)}(); // pig !function(){function O(O){for(var T={},E=O.split(" "),e=0;e=&?:\/!|]/;function S(O,T,E){return(T.tokenize=E)(O,T)}function t(O,T){for(var E,e=!1;E=O.next();){if("/"==E&&e){T.tokenize=L;break}e="*"==E}return"comment"}function L(O,T){var N,E=O.next();return'"'==E||"'"==E?S(O,T,(N=E,function(O,T){for(var E,e=!1,I=!1;null!=(E=O.next());){if(E==N&&!e){I=!0;break}e=!e&&"\\"==E}return!I&&(e||r)||(T.tokenize=L),"error"})):/[\[\]{}\(\),;\.]/.test(E)?null:/\d/.test(E)?(O.eatWhile(/[\w\.]/),"number"):"/"==E?O.eat("*")?S(O,T,t):(O.eatWhile(R),"operator"):"-"==E?O.eat("-")?(O.skipToEnd(),"comment"):(O.eatWhile(R),"operator"):R.test(E)?(O.eatWhile(R),"operator"):(O.eatWhile(/[\w\$_]/),e&&e.propertyIsEnumerable(O.current().toUpperCase())&&!O.eat(")")&&!O.eat(".")?"keyword":I&&I.propertyIsEnumerable(O.current().toUpperCase())?"variable-2":A&&A.propertyIsEnumerable(O.current().toUpperCase())?"variable-3":"variable")}return{startState:function(){return{tokenize:L,startOfLine:!0}},token:function(O,T){return O.eatSpace()?null:T.tokenize(O,T)}}}),T="ABS ACOS ARITY ASIN ATAN AVG BAGSIZE BINSTORAGE BLOOM BUILDBLOOM CBRT CEIL CONCAT COR COS COSH COUNT COUNT_STAR COV CONSTANTSIZE CUBEDIMENSIONS DIFF DISTINCT DOUBLEABS DOUBLEAVG DOUBLEBASE DOUBLEMAX DOUBLEMIN DOUBLEROUND DOUBLESUM EXP FLOOR FLOATABS FLOATAVG FLOATMAX FLOATMIN FLOATROUND FLOATSUM GENERICINVOKER INDEXOF INTABS INTAVG INTMAX INTMIN INTSUM INVOKEFORDOUBLE INVOKEFORFLOAT INVOKEFORINT INVOKEFORLONG INVOKEFORSTRING INVOKER ISEMPTY JSONLOADER JSONMETADATA JSONSTORAGE LAST_INDEX_OF LCFIRST LOG LOG10 LOWER LONGABS LONGAVG LONGMAX LONGMIN LONGSUM MAX MIN MAPSIZE MONITOREDUDF NONDETERMINISTIC OUTPUTSCHEMA PIGSTORAGE PIGSTREAMING RANDOM REGEX_EXTRACT REGEX_EXTRACT_ALL REPLACE ROUND SIN SINH SIZE SQRT STRSPLIT SUBSTRING SUM STRINGCONCAT STRINGMAX STRINGMIN STRINGSIZE TAN TANH TOBAG TOKENIZE TOMAP TOP TOTUPLE TRIM TEXTLOADER TUPLESIZE UCFIRST UPPER UTF8STORAGECONVERTER ",E="VOID IMPORT RETURNS DEFINE LOAD FILTER FOREACH ORDER CUBE DISTINCT COGROUP JOIN CROSS UNION SPLIT INTO IF OTHERWISE ALL AS BY USING INNER OUTER ONSCHEMA PARALLEL PARTITION GROUP AND OR NOT GENERATE FLATTEN ASC DESC IS STREAM THROUGH STORE MAPREDUCE SHIP CACHE INPUT OUTPUT STDERROR STDIN STDOUT LIMIT SAMPLE LEFT RIGHT FULL EQ GT LT GTE LTE NEQ MATCHES TRUE FALSE DUMP",e="BOOLEAN INT LONG FLOAT DOUBLE CHARARRAY BYTEARRAY BAG TUPLE MAP ",CodeMirror.defineMIME("text/x-pig",{name:"pig",builtins:O(T),keywords:O(E),types:O(e)}),CodeMirror.registerHelper("hintWords","pig",(T+e+E).split(" "))}(); // powershell CodeMirror.defineMode("powershell",function(){function e(e,t){for(var r=void 0!==(t=t||{}).prefix?t.prefix:"^",t=void 0!==t.suffix?t.suffix:"\\b",n=0;n/],{suffix:""}),a=e([/Add-(Computer|Content|History|Member|PSSnapin|Type)/,/Checkpoint-Computer/,/Clear-(Content|EventLog|History|Host|Item(Property)?|Variable)/,/Compare-Object/,/Complete-Transaction/,/Connect-PSSession/,/ConvertFrom-(Csv|Json|SecureString|StringData)/,/Convert-Path/,/ConvertTo-(Csv|Html|Json|SecureString|Xml)/,/Copy-Item(Property)?/,/Debug-Process/,/Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/Disconnect-PSSession/,/Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/(Enter|Exit)-PSSession/,/Export-(Alias|Clixml|Console|Counter|Csv|FormatData|ModuleMember|PSSession)/,/ForEach-Object/,/Format-(Custom|List|Table|Wide)/,new RegExp("Get-(Acl|Alias|AuthenticodeSignature|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Counter|Credential|Culture|Date|Event|EventLog|EventSubscriber|ExecutionPolicy|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|PfxCertificate|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|Verb|WinEvent|WmiObject)"),/Group-Object/,/Import-(Alias|Clixml|Counter|Csv|LocalizedData|Module|PSSession)/,/ImportSystemModules/,/Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)/,/Join-Path/,/Limit-EventLog/,/Measure-(Command|Object)/,/Move-Item(Property)?/,new RegExp("New-(Alias|Event|EventLog|Item(Property)?|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy|WinEvent)"),/Out-(Default|File|GridView|Host|Null|Printer|String)/,/Pause/,/(Pop|Push)-Location/,/Read-Host/,/Receive-(Job|PSSession)/,/Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)/,/Remove-(Computer|Event|EventLog|Item(Property)?|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)/,/Rename-(Computer|Item(Property)?)/,/Reset-ComputerMachinePassword/,/Resolve-Path/,/Restart-(Computer|Service)/,/Restore-Computer/,/Resume-(Job|Service)/,/Save-Help/,/Select-(Object|String|Xml)/,/Send-MailMessage/,new RegExp("Set-(Acl|Alias|AuthenticodeSignature|Content|Date|ExecutionPolicy|Item(Property)?|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)"),/Show-(Command|ControlPanelItem|EventLog)/,/Sort-Object/,/Split-Path/,/Start-(Job|Process|Service|Sleep|Transaction|Transcript)/,/Stop-(Computer|Job|Process|Service|Transcript)/,/Suspend-(Job|Service)/,/TabExpansion2/,/Tee-Object/,/Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)/,/Trace-Command/,/Unblock-File/,/Undo-Transaction/,/Unregister-(Event|PSSessionConfiguration)/,/Update-(FormatData|Help|List|TypeData)/,/Use-Transaction/,/Wait-(Event|Job|Process)/,/Where-Object/,/Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning)/,/cd|help|mkdir|more|oss|prompt/,/ac|asnp|cat|cd|chdir|clc|clear|clhy|cli|clp|cls|clv|cnsn|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|dnsn|ebp/,/echo|epal|epcsv|epsn|erase|etsn|exsn|fc|fl|foreach|ft|fw|gal|gbp|gc|gci|gcm|gcs|gdr|ghy|gi|gjb|gl|gm|gmo|gp|gps/,/group|gsn|gsnp|gsv|gu|gv|gwmi|h|history|icm|iex|ihy|ii|ipal|ipcsv|ipmo|ipsn|irm|ise|iwmi|iwr|kill|lp|ls|man|md/,/measure|mi|mount|move|mp|mv|nal|ndr|ni|nmo|npssc|nsn|nv|ogv|oh|popd|ps|pushd|pwd|r|rbp|rcjb|rcsn|rd|rdr|ren|ri/,/rjb|rm|rmdir|rmo|rni|rnp|rp|rsn|rsnp|rujb|rv|rvpa|rwmi|sajb|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls/,/sort|sp|spjb|spps|spsv|start|sujb|sv|swmi|tee|trcm|type|where|wjb|write/],{prefix:"",suffix:""}),n=e([/[$?^_]|Args|ConfirmPreference|ConsoleFileName|DebugPreference|Error|ErrorActionPreference|ErrorView|ExecutionContext/,/FormatEnumerationLimit|Home|Host|Input|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount/,/MaximumHistoryCount|MaximumVariableCount|MyInvocation|NestedPromptLevel|OutputEncoding|Pid|Profile|ProgressPreference/,/PSBoundParameters|PSCommandPath|PSCulture|PSDefaultParameterValues|PSEmailServer|PSHome|PSScriptRoot|PSSessionApplicationName/,/PSSessionConfigurationName|PSSessionOption|PSUICulture|PSVersionTable|Pwd|ShellId|StackTrace|VerbosePreference/,/WarningPreference|WhatIfPreference/,/Event|EventArgs|EventSubscriber|Sender/,/Matches|Ofs|ForEach|LastExitCode|PSCmdlet|PSItem|PSSenderInfo|This/,/true|false|null/],{prefix:"\\$",suffix:""}),s={keyword:r,number:/^((0x[\da-f]+)|((\d+\.\d+|\d\.|\.\d+|\d+)(e[\+\-]?\d+)?))[ld]?([kmgtp]b)?/i,operator:i,builtin:e([/[A-Z]:|%|\?/i,a,n],{suffix:t}),punctuation:/[\[\]{},;`\\\.]|@[({]/,identifier:/^[A-Za-z\_][A-Za-z\-\_\d]*\b/};function u(e,t){var r,n=t.returnStack[t.returnStack.length-1];if(n&&n.shouldReturnFrom(t))return t.tokenize=n.tokenize,t.returnStack.pop(),t.tokenize(e,t);if(e.eatSpace())return null;if(e.eat("("))return t.bracketNesting+=1,"punctuation";if(e.eat(")"))return--t.bracketNesting,"punctuation";for(r in s)if(e.match(s[r]))return r;n=e.next();if("'"===n)return function(e,t){var r;for(;null!=(r=e.peek());)if(e.next(),"'"===r&&!e.eat("'"))return t.tokenize=u,"string";return"error"}(e,t);if("$"===n)return P(e,t);if('"'===n)return c(e,t);if("<"===n&&e.eat("#"))return(t.tokenize=f)(e,t);if("#"===n)return e.skipToEnd(),"comment";if("@"===n){n=e.eat(/["']/);if(n&&e.eol())return t.tokenize=g,t.startQuote=n[0],g(e,t);if(e.eol())return"error";if(e.peek().match(/[({]/))return"punctuation";if(e.peek().match(o))return P(e,t)}return"error"}function c(e,t){for(var r;null!=(r=e.peek());){if("$"===r)return t.tokenize=l,"string";if(e.next(),"`"!==r){if('"'===r&&!e.eat('"'))return t.tokenize=u,"string"}else e.next()}return"error"}function l(e,t){return S(e,t,c)}function p(e,t){return t.tokenize=g,t.startQuote='"',g(e,t)}function m(e,t){return S(e,t,p)}function S(e,t,r){if(e.match("$(")){var n=t.bracketNesting;return t.returnStack.push({shouldReturnFrom:function(e){return e.bracketNesting===n},tokenize:r}),t.tokenize=u,t.bracketNesting+=1,"punctuation"}return e.next(),t.returnStack.push({shouldReturnFrom:function(){return!0},tokenize:r}),t.tokenize=P,t.tokenize(e,t)}function f(e,t){for(var r,n=!1;null!=(r=e.next());){if(n&&">"==r){t.tokenize=u;break}n="#"===r}return"comment"}function P(e,t){var r=e.peek();return e.eat("{")?(t.tokenize=d)(e,t):null!=r&&r.match(o)?(e.eatWhile(o),t.tokenize=u,"variable-2"):(t.tokenize=u,"error")}function d(e,t){for(var r;null!=(r=e.next());)if("}"===r){t.tokenize=u;break}return"variable-2"}function g(e,t){var r=t.startQuote;if(e.sol()&&e.match(new RegExp(r+"@")))t.tokenize=u;else if('"'===r)for(;!e.eol();){var n=e.peek();if("$"===n)return t.tokenize=m,"string";e.next(),"`"===n&&e.next()}else e.skipToEnd();return"string"}return{startState:function(){return{returnStack:[],bracketNesting:0,tokenize:u}},token:function(e,t){return t.tokenize(e,t)},blockCommentStart:"<#",blockCommentEnd:"#>",lineComment:"#",fold:"brace"}}),CodeMirror.defineMIME("application/x-powershell","powershell"); // properties CodeMirror.defineMode("properties",function(){return{token:function(e,i){var t=e.sol()||i.afterSection,n=e.eol();if(i.afterSection=!1,t&&(i.nextMultiline?(i.inMultiline=!0,i.nextMultiline=!1):i.position="def"),n&&!i.nextMultiline&&(i.inMultiline=!1,i.position="def"),t)for(;e.eatSpace(););n=e.next();return!t||"#"!==n&&"!"!==n&&";"!==n?t&&"["===n?(i.afterSection=!0,e.skipTo("]"),e.eat("]"),"header"):"="===n||":"===n?(i.position="quote",null):("\\"===n&&"quote"===i.position&&e.eol()&&(i.nextMultiline=!0),i.position):(i.position="comment",e.skipToEnd(),"comment")},startState:function(){return{position:"def",nextMultiline:!1,inMultiline:!1,afterSection:!1}}}}),CodeMirror.defineMIME("text/x-properties","properties"),CodeMirror.defineMIME("text/x-ini","properties"); // protobuf !function(){var e=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","option","service","rpc","returns"],r=new RegExp("^(("+e.join(")|(")+"))\\b","i");CodeMirror.registerHelper("hintWords","protobuf",e);var t=new RegExp("^[_A-Za-z¡-￿][_A-Za-z0-9¡-￿]*");function n(e){if(e.eatSpace())return null;if(e.match("//"))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+/))return"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/))return"number";if(e.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))return"number"}return e.match(/^"([^"]|(""))*"/)||e.match(/^'([^']|(''))*'/)?"string":e.match(r)?"keyword":e.match(t)?"variable":(e.next(),null)}CodeMirror.defineMode("protobuf",function(){return{token:n,fold:"brace"}}),CodeMirror.defineMIME("text/x-protobuf","protobuf")}(); // pug CodeMirror.defineMode("pug",function(n){var r="keyword",a="meta",s="builtin",o="qualifier",c={"{":"}","(":")","[":"]"},u=CodeMirror.getMode(n,"javascript");function e(){this.javaScriptLine=!1,this.javaScriptLineExcludesColon=!1,this.javaScriptArguments=!1,this.javaScriptArgumentsDepth=0,this.isInterpolating=!1,this.interpolationNesting=0,this.jsState=CodeMirror.startState(u),this.restOfLine="",this.isIncludeFiltered=!1,this.isEach=!1,this.lastTag="",this.scriptType="",this.isAttrs=!1,this.attrsNest=[],this.inAttributeName=!0,this.attributeIsType=!1,this.attrValue="",this.indentOf=1/0,this.indentToken="",this.innerMode=null,this.innerState=null,this.innerModeForLine=!1}function p(t,e){if(t.match("#{"))return e.isInterpolating=!0,e.interpolationNesting=0,"punctuation"}function f(t,e){if(t.match(/^:([\w\-]+)/)){var i=(i=n&&n.innerModes?n.innerModes(t.current().substring(1)):i)||t.current().substring(1);return l(t,e,i="string"==typeof i?CodeMirror.getMode(n,i):i),"atom"}}function l(t,e,i){i=CodeMirror.mimeModes[i]||i,i=n.innerModes&&n.innerModes(i)||i,i=CodeMirror.mimeModes[i]||i,i=CodeMirror.getMode(n,i),e.indentOf=t.indentation(),i&&"null"!==i.name?e.innerMode=i:e.indentToken="string"}function h(t,e,i){if(t.indentation()>e.indentOf||e.innerModeForLine&&!t.sol()||i)return e.innerMode?(e.innerState||(e.innerState=e.innerMode.startState?CodeMirror.startState(e.innerMode,t.indentation()):{}),t.hideFirstChars(e.indentOf+2,function(){return e.innerMode.token(t,e.innerState)||!0})):(t.skipToEnd(),e.indentToken);t.sol()&&(e.indentOf=1/0,e.indentToken=null,e.innerMode=null,e.innerState=null)}return e.prototype.copy=function(){var t=new e;return t.javaScriptLine=this.javaScriptLine,t.javaScriptLineExcludesColon=this.javaScriptLineExcludesColon,t.javaScriptArguments=this.javaScriptArguments,t.javaScriptArgumentsDepth=this.javaScriptArgumentsDepth,t.isInterpolating=this.isInterpolating,t.interpolationNesting=this.interpolationNesting,t.jsState=CodeMirror.copyState(u,this.jsState),t.innerMode=this.innerMode,this.innerMode&&this.innerState&&(t.innerState=CodeMirror.copyState(this.innerMode,this.innerState)),t.restOfLine=this.restOfLine,t.isIncludeFiltered=this.isIncludeFiltered,t.isEach=this.isEach,t.lastTag=this.lastTag,t.scriptType=this.scriptType,t.isAttrs=this.isAttrs,t.attrsNest=this.attrsNest.slice(),t.inAttributeName=this.inAttributeName,t.attributeIsType=this.attributeIsType,t.attrValue=this.attrValue,t.indentOf=this.indentOf,t.indentToken=this.indentToken,t.innerModeForLine=this.innerModeForLine,t},{startState:function(){return new e},copyState:function(t){return t.copy()},token:function(t,e){var i,n;return!0===(t=h(t,e)||function(t,e){if(t.sol()&&(e.restOfLine=""),e.restOfLine){t.skipToEnd();t=e.restOfLine;return e.restOfLine="",t}}(t,e)||function(t,e){if(e.isInterpolating){if("}"===t.peek()){if(e.interpolationNesting--,e.interpolationNesting<0)return t.next(),e.isInterpolating=!1,"punctuation"}else"{"===t.peek()&&e.interpolationNesting++;return u.token(t,e.jsState)||!0}}(t,e)||function(t,e){if(e.isIncludeFiltered){t=f(t,e);return e.isIncludeFiltered=!1,e.restOfLine="string",t}}(t,e)||function(t,e){if(e.isEach){if(t.match(/^ in\b/))return e.javaScriptLine=!0,e.isEach=!1,r;if(t.sol()||t.eol())e.isEach=!1;else if(t.next()){for(;!t.match(/^ in\b/,!1)&&t.next(););return"variable"}}}(t,e)||function t(e,i){if(i.isAttrs){if(c[e.peek()]&&i.attrsNest.push(c[e.peek()]),i.attrsNest[i.attrsNest.length-1]===e.peek())i.attrsNest.pop();else if(e.eat(")"))return i.isAttrs=!1,"punctuation";if(i.inAttributeName&&e.match(/^[^=,\)!]+/))return"="!==e.peek()&&"!"!==e.peek()||(i.inAttributeName=!1,i.jsState=CodeMirror.startState(u),"script"===i.lastTag&&"type"===e.current().trim().toLowerCase()?i.attributeIsType=!0:i.attributeIsType=!1),"attribute";var n=u.token(e,i.jsState);if(i.attributeIsType&&"string"===n&&(i.scriptType=e.current().toString()),0===i.attrsNest.length&&("string"===n||"variable"===n||"keyword"===n))try{return Function("","var x "+i.attrValue.replace(/,\s*$/,"").replace(/^!/,"")),i.inAttributeName=!0,i.attrValue="",e.backUp(e.current().length),t(e,i)}catch(t){}return i.attrValue+=e.current(),n||!0}}(t,e)||function(t,e){if(t.sol()&&(e.javaScriptLine=!1,e.javaScriptLineExcludesColon=!1),e.javaScriptLine){if(e.javaScriptLineExcludesColon&&":"===t.peek())return e.javaScriptLine=!1,void(e.javaScriptLineExcludesColon=!1);var i=u.token(t,e.jsState);return t.eol()&&(e.javaScriptLine=!1),i||!0}}(t,e)||function(t,e){if(e.javaScriptArguments)if(0!==e.javaScriptArgumentsDepth||"("===t.peek()){if("("===t.peek()?e.javaScriptArgumentsDepth++:")"===t.peek()&&e.javaScriptArgumentsDepth--,0!==e.javaScriptArgumentsDepth)return u.token(t,e.jsState)||!0;e.javaScriptArguments=!1}else e.javaScriptArguments=!1}(t,e)||function(t,e){if(e.mixinCallAfter)return e.mixinCallAfter=!1,t.match(/^\( *[-\w]+ *=/,!1)||(e.javaScriptArguments=!0,e.javaScriptArgumentsDepth=0),!0}(t,e)||function(t){if(t.match(/^yield\b/))return"keyword"}(t)||function(t){if(t.match(/^(?:doctype) *([^\n]+)?/))return a}(t)||p(t,e)||function(t,e){if(t.match(/^case\b/))return e.javaScriptLine=!0,r}(t,e)||function(t,e){if(t.match(/^when\b/))return e.javaScriptLine=!0,e.javaScriptLineExcludesColon=!0,r}(t,e)||function(t){if(t.match(/^default\b/))return r}(t)||function(t,e){if(t.match(/^extends?\b/))return e.restOfLine="string",r}(t,e)||function(t,e){if(t.match(/^append\b/))return e.restOfLine="variable",r}(t,e)||function(t,e){if(t.match(/^prepend\b/))return e.restOfLine="variable",r}(t,e)||function(t,e){if(t.match(/^block\b *(?:(prepend|append)\b)?/))return e.restOfLine="variable",r}(t,e)||function(t,e){if(t.match(/^include\b/))return e.restOfLine="string",r}(t,e)||function(t,e){if(t.match(/^include:([a-zA-Z0-9\-]+)/,!1)&&t.match("include"))return e.isIncludeFiltered=!0,r}(t,e)||function(t,e){if(t.match(/^mixin\b/))return e.javaScriptLine=!0,r}(t,e)||(n=e,(i=t).match(/^\+([-\w]+)/)?(i.match(/^\( *[-\w]+ *=/,!1)||(n.javaScriptArguments=!0,n.javaScriptArgumentsDepth=0),"variable"):i.match("+#{",!1)?(i.next(),n.mixinCallAfter=!0,p(i,n)):void 0)||function(t,e){if(t.match(/^(if|unless|else if|else)\b/))return e.javaScriptLine=!0,r}(t,e)||function(t,e){if(t.match(/^(- *)?(each|for)\b/))return e.isEach=!0,r}(t,e)||function(t,e){if(t.match(/^while\b/))return e.javaScriptLine=!0,r}(t,e)||function(t,e){if(t=t.match(/^(\w(?:[-:\w]*\w)?)\/?/))return e.lastTag=t[1].toLowerCase(),"script"===e.lastTag&&(e.scriptType="application/javascript"),"tag"}(t,e)||f(t,e)||function(t,e){if(t.match(/^(!?=|-)/))return e.javaScriptLine=!0,"punctuation"}(t,e)||function(t){if(t.match(/^#([\w-]+)/))return s}(t)||function(t){if(t.match(/^\.([\w-]+)/))return o}(t)||function(t,e){if("("==t.peek())return t.next(),e.isAttrs=!0,e.attrsNest=[],e.inAttributeName=!0,e.attrValue="",e.attributeIsType=!1,"punctuation"}(t,e)||function(t,e){if(t.match(/^&attributes\b/))return e.javaScriptArguments=!0,e.javaScriptArgumentsDepth=0,"keyword"}(t,e)||function(t){if(t.sol()&&t.eatSpace())return"indent"}(t)||(i=e,(n=t).match(/^(?:\| ?| )([^\n]+)/)?"string":n.match(/^(<[^\n]*)/,!1)?(l(n,i,"htmlmixed"),i.innerModeForLine=!0,h(n,i,!0)):void 0)||function(t,e){if(t.match(/^ *\/\/(-)?([^\n]*)/))return e.indentOf=t.indentation(),e.indentToken="comment"}(t,e)||function(t){if(t.match(/^: */))return"colon"}(t)||function(t,e){if(t.eat(".")){var i=null;return"script"===e.lastTag&&-1!=e.scriptType.toLowerCase().indexOf("javascript")?i=e.scriptType.toLowerCase().replace(/"|'/g,""):"style"===e.lastTag&&(i="css"),l(t,e,i),"dot"}}(t,e)||(t.next(),null))?null:t}}},"javascript","css","htmlmixed"),CodeMirror.defineMIME("text/x-pug","pug"),CodeMirror.defineMIME("text/x-jade","pug"); // puppet CodeMirror.defineMode("puppet",function(){var s={},c=/({)?([a-z][a-z0-9_]*)?((::[a-z][a-z0-9_]*)*::)?[a-zA-Z0-9_]+(})?/;function e(e,n){for(var t=n.split(" "),i=0;i.*/,!1),a=e.match(/(\s+)?[\w:_]+(\s+)?{/,!1),o=e.match(/(\s+)?[@]{1,2}[\w:_]+(\s+)?{/,!1),r=e.next();if("$"===r)return e.match(c)?n.continueString?"variable-2":"variable":"error";if(n.continueString)return e.backUp(1),u(e,n);if(n.inDefinition){if(e.match(/(\s+)?[\w:_]+(\s+)?/))return"def";e.match(/\s+{/),n.inDefinition=!1}return n.inInclude?(e.match(/(\s+)?\S+(\s+)?/),n.inInclude=!1,"def"):e.match(/(\s+)?\w+\(/)?(e.backUp(1),"def"):i?(e.match(/(\s+)?\w+/),"tag"):t&&s.hasOwnProperty(t)?(e.backUp(1),e.match(/[\w]+/),e.match(/\s+\S+\s+{/,!1)&&(n.inDefinition=!0),"include"==t&&(n.inInclude=!0),s[t]):/(^|\s+)[A-Z][\w:_]+/.test(t)?(e.backUp(1),e.match(/(^|\s+)[A-Z][\w:_]+/),"def"):a?(e.match(/(\s+)?[\w:_]+/),"def"):o?(e.match(/(\s+)?[@]{1,2}/),"special"):"#"==r?(e.skipToEnd(),"comment"):"'"==r||'"'==r?(n.pending=r,u(e,n)):"{"==r||"}"==r?"bracket":"/"==r?(e.match(/^[^\/]*\//),"variable-3"):r.match(/[0-9]/)?(e.eatWhile(/[0-9]+/),"number"):"="==r?(">"==e.peek()&&e.next(),"operator"):(e.eatWhile(/[\w-]/),null)}(e,n)}}}),CodeMirror.defineMIME("text/x-puppet","puppet"); // python !function(){function x(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var k=x(["and","or","not","is"]),v=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in"],_=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];function z(e){return e.scopes[e.scopes.length-1]}CodeMirror.registerHelper("hintWords","python",v.concat(_)),CodeMirror.defineMode("python",function(t,l){for(var s="error",o=l.delimiters||l.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,a=[l.singleOperators,l.doubleOperators,l.doubleDelimiters,l.tripleDelimiters,l.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],e=0;en;){if("py"!=z(t).type)return 1;t.scopes.pop()}return z(t).offset!=n}function g(e,t){e.sol()&&(t.beginningOfLine=!0,t.dedent=!1);var n,r,i,o=t.tokenize(e,t),a=e.current();if(t.beginningOfLine&&"@"==a)return e.match(u,!1)?"meta":p?"operator":s;if(/\S/.test(a)&&(t.beginningOfLine=!1),"variable"!=o&&"builtin"!=o||"meta"!=t.lastToken||(o="meta"),"pass"!=a&&"return"!=a||(t.dedent=!0),"lambda"==a&&(t.lambda=!0),":"==a&&!t.lambda&&"py"==z(t).type&&e.match(/^\s*(?:#|$)/,!1)&&b(t),1==a.length&&!/string|comment/.test(o)){var l="[({".indexOf(a);if(-1!=l&&(n=e,r=t,i="])}".slice(l,l+1),n=n.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:n.column()+1,r.scopes.push({offset:r.indent+c,type:i,align:n})),-1!=(l="])}".indexOf(a))){if(z(t).type!=a)return s;t.indent=t.scopes.pop().offset-c}}return t.dedent&&e.eol()&&"py"==z(t).type&&1<,?_\'\"\[\(\]\)\s{}]/;function c(e,t){var n=e.sol(),r=e.next();if(o=null,n){if("/"==r)return(t.tokenize=a)(e,t);if("\\"==r)return e.eol()||/\s/.test(e.peek())?(e.skipToEnd(),/^\\\s*$/.test(e.current())?(t.tokenize=l)(e):t.tokenize=c,"comment"):(t.tokenize=c,"builtin")}if(/\s/.test(r))return"/"==e.peek()?(e.skipToEnd(),"comment"):"whitespace";if('"'==r)return(t.tokenize=d)(e,t);if("`"==r)return e.eatWhile(/[A-Za-z\d_:\/.]/),"symbol";if("."==r&&/\d/.test(e.peek())||/\d/.test(r)){t=null;return e.backUp(1),e.match(/^\d{4}\.\d{2}(m|\.\d{2}([DT](\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)?)?)/)||e.match(/^\d+D(\d{2}(:\d{2}(:\d{2}(\.\d{1,9})?)?)?)/)||e.match(/^\d{2}:\d{2}(:\d{2}(\.\d{1,9})?)?/)||e.match(/^\d+[ptuv]{1}/)?t="temporal":(e.match(/^0[NwW]{1}/)||e.match(/^0x[\da-fA-F]*/)||e.match(/^[01]+[b]{1}/)||e.match(/^\d+[chijn]{1}/)||e.match(/-?\d*(\.\d*)?(e[+\-]?\d+)?(e|f)?/))&&(t="number"),!t||(r=e.peek())&&!s.test(r)?(e.next(),"error"):t}return/[A-Za-z]|\./.test(r)?(e.eatWhile(/[A-Za-z._\d]/),i.test(e.current())?"keyword":"variable"):/[|/&^!+:\\\-*%$=~#;@><\.,?_\']/.test(r)||/[{}\(\[\]\)]/.test(r)?null:"error"}function a(e,t){return e.skipToEnd(),/\/\s*$/.test(e.current())?(t.tokenize=n)(e,t):t.tokenize=c,"comment"}function n(e,t){var n=e.sol()&&"\\"==e.peek();return e.skipToEnd(),n&&/^\\\s*$/.test(e.current())&&(t.tokenize=c),"comment"}function l(e){return e.skipToEnd(),"comment"}function d(e,t){for(var n,r=!1,o=!1;n=e.next();){if('"'==n&&!r){o=!0;break}r=!r&&"\\"==n}return o&&(t.tokenize=c),"string"}function u(e,t,n){e.context={prev:e.context,indent:e.indent,col:n,type:t}}function m(e){e.indent=e.context.indent,e.context=e.context.prev}return{startState:function(){return{tokenize:c,context:null,indent:0,col:0}},token:function(e,t){e.sol()&&(t.context&&null==t.context.align&&(t.context.align=!1),t.indent=e.indentation());var n=t.tokenize(e,t);if("comment"!=n&&t.context&&null==t.context.align&&"pattern"!=t.context.type&&(t.context.align=!0),"("==o)u(t,")",e.column());else if("["==o)u(t,"]",e.column());else if("{"==o)u(t,"}",e.column());else if(/[\]\}\)]/.test(o)){for(;t.context&&"pattern"==t.context.type;)m(t);t.context&&o==t.context.type&&m(t)}else"."==o&&t.context&&"pattern"==t.context.type?m(t):/atom|string|variable/.test(n)&&t.context&&(/[\}\]]/.test(t.context.type)?u(t,"pattern",e.column()):"pattern"!=t.context.type||t.context.align||(t.context.align=!0,t.context.col=e.column()));return n},indent:function(e,t){var t=t&&t.charAt(0),n=e.context;if(/[\]\}]/.test(t))for(;n&&"pattern"==n.type;)n=n.prev;t=n&&t==n.type;return n?"pattern"==n.type?n.col:n.align?n.col+(t?0:1):n.indent+(t?0:r):0}}}),CodeMirror.defineMIME("text/x-q","q"); // r CodeMirror.registerHelper("wordChars","r",/[\w.]/),CodeMirror.defineMode("r",function(n){function e(e){for(var t={},r=0;r=!&|~$:]/;function d(e,t){i=null;var a,r=e.next();if("#"==r)return e.skipToEnd(),"comment";if("0"==r&&e.eat("x"))return e.eatWhile(/[\da-f]/i),"number";if("."==r&&e.eat(/\d/))return e.match(/\d*(?:e[+\-]?\d+)?/),"number";if(/\d/.test(r))return e.match(/\d*(?:\.\d+)?(?:e[+\-]\d+)?L?/),"number";if("'"==r||'"'==r)return t.tokenize=(a=r,function(e,t){if(e.eat("\\")){var r=e.next();return"x"==r?e.match(/^[a-f0-9]{2}/i):("u"==r||"U"==r)&&e.eat("{")&&e.skipTo("}")?e.next():"u"==r?e.match(/^[a-f0-9]{4}/i):"U"==r?e.match(/^[a-f0-9]{8}/i):/[0-7]/.test(r)&&e.match(/^[0-7]{1,2}/),"string-2"}for(var n;null!=(n=e.next());){if(n==a){t.tokenize=d;break}if("\\"==n){e.backUp(1);break}}return"string"}),"string";if("`"==r)return e.match(/[^`]+`/),"variable-3";if("."==r&&e.match(/.(?:[.]|\d+)/))return"keyword";if(/[a-zA-Z\.]/.test(r)){e.eatWhile(/[\w\.]/);var n=e.current();return o.propertyIsEnumerable(n)?"atom":l.propertyIsEnumerable(n)?(u.propertyIsEnumerable(n)&&!e.match(/\s*if(\s+|$)/,!1)&&(i="block"),"keyword"):c.propertyIsEnumerable(n)?"builtin":"variable"}return"%"==r?(e.skipTo("%")&&e.next(),"operator variable-2"):"<"==r&&e.eat("-")||"<"==r&&e.match("<-")||"-"==r&&e.match(/>>?/)?"operator arrow":"="==r&&t.ctx.argList?"arg-is":f.test(r)?"$"==r?"operator dollar":(e.eatWhile(f),"operator"):/[\(\){}\[\];]/.test(r)&&";"==(i=r)?"semi":null}function s(e,t,r){e.ctx={type:t,indent:e.indent,flags:0,column:r.column(),prev:e.ctx}}function p(e,t){var r=e.ctx;e.ctx={type:r.type,indent:r.indent,flags:r.flags|t,column:r.column,prev:r.prev}}function m(e){e.indent=e.ctx.indent,e.ctx=e.ctx.prev}return{startState:function(){return{tokenize:d,ctx:{type:"top",indent:-n.indentUnit,flags:2},indent:0,afterIdent:!1}},token:function(e,t){if(e.sol()&&(0==(3&t.ctx.flags)&&(t.ctx.flags|=2),4&t.ctx.flags&&m(t),t.indent=e.indentation()),e.eatSpace())return null;var r=t.tokenize(e,t);return"comment"!=r&&0==(2&t.ctx.flags)&&p(t,1),";"!=i&&"{"!=i&&"}"!=i||"block"!=t.ctx.type||m(t),"{"==i?s(t,"}",e):"("==i?(s(t,")",e),t.afterIdent&&(t.ctx.argList=!0)):"["==i?s(t,"]",e):"block"==i?s(t,"block",e):i==t.ctx.type?m(t):"block"==t.ctx.type&&"comment"!=r&&p(t,4),t.afterIdent="variable"==r||"keyword"==r,r},indent:function(e,t){if(e.tokenize!=d)return 0;var r=t&&t.charAt(0),t=e.ctx,e=r==t.type;return"block"==(t=4&t.flags?t.prev:t).type?t.indent+("{"==r?0:n.indentUnit):1&t.flags?t.column+(e?0:1):t.indent+(e?0:n.indentUnit)},lineComment:"#"}}),CodeMirror.defineMIME("text/x-rsrc","r"); // rpm CodeMirror.defineMode("rpm-changes",function(){var e=/^-+$/,t=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ?\d{1,2} \d{2}:\d{2}(:\d{2})? [A-Z]{3,4} \d{4} - /,n=/^[\w+.-]+@[\w.-]+/;return{token:function(r){if(r.sol()){if(r.match(e))return"tag";if(r.match(t))return"tag"}return r.match(n)?"string":(r.next(),null)}}}),CodeMirror.defineMIME("text/x-rpm-changes","rpm-changes"),CodeMirror.defineMode("rpm-spec",function(){var t=/^(i386|i586|i686|x86_64|ppc64le|ppc64|ppc|ia64|s390x|s390|sparc64|sparcv9|sparc|noarch|alphaev6|alpha|hppa|mipsel)/,n=/^[a-zA-Z0-9()]+:/,a=/^%(debug_package|package|description|prep|build|install|files|clean|changelog|preinstall|preun|postinstall|postun|pretrans|posttrans|pre|post|triggerin|triggerun|verifyscript|check|triggerpostun|triggerprein|trigger)/,o=/^%(ifnarch|ifarch|if)/,i=/^%(else|endif)/,c=/^(\!|\?|\<\=|\<|\>\=|\>|\=\=|\&\&|\|\|)/;return{startState:function(){return{controlFlow:!1,macroParameters:!1,section:!1}},token:function(r,e){if("#"==r.peek())return r.skipToEnd(),"comment";if(r.sol()){if(r.match(n))return"header";if(r.match(a))return"atom"}if(r.match(/^\$\w+/))return"def";if(r.match(/^\$\{\w+\}/))return"def";if(r.match(i))return"keyword";if(r.match(o))return e.controlFlow=!0,"keyword";if(e.controlFlow){if(r.match(c))return"operator";if(r.match(/^(\d+)/))return"number";r.eol()&&(e.controlFlow=!1)}if(r.match(t))return r.eol()&&(e.controlFlow=!1),"number";if(r.match(/^%[\w]+/))return r.match("(")&&(e.macroParameters=!0),"keyword";if(e.macroParameters){if(r.match(/^\d+/))return"number";if(r.match(")"))return e.macroParameters=!1,"keyword"}return r.match(/^%\{\??[\w \-\:\!]+\}/)?(r.eol()&&(e.controlFlow=!1),"def"):(r.next(),null)}}}),CodeMirror.defineMIME("text/x-rpm-spec","rpm-spec"); // rst CodeMirror.defineMode("rst",function(e,t){var a=/^\*\*[^\*\s](?:[^\*]*[^\*\s])?\*\*/,c=/^\*[^\*\s](?:[^\*]*[^\*\s])?\*/,r=/^``[^`\s](?:[^`]*[^`\s])``/,n=/^(?:[\d]+(?:[\.,]\d+)*)/,o=/^(?:\s\+[\d]+(?:[\.,]\d+)*)/,m=/^(?:\s\-[\d]+(?:[\.,]\d+)*)/,s=new RegExp("^[Hh][Tt][Tt][Pp][Ss]?://(?:[\\d\\w.-]+)\\.(?:\\w{2,6})(?:/[\\d\\w\\#\\%\\&\\-\\.\\,\\/\\:\\=\\?\\~]+)*"),h={token:function(e){if(e.match(a)&&e.match(/\W+|$/,!1))return"strong";if(e.match(c)&&e.match(/\W+|$/,!1))return"em";if(e.match(r)&&e.match(/\W+|$/,!1))return"string-2";if(e.match(n))return"number";if(e.match(o))return"positive";if(e.match(m))return"negative";if(e.match(s))return"link";for(;!(null==e.next()||e.match(a,!1)||e.match(c,!1)||e.match(r,!1)||e.match(n,!1)||e.match(o,!1)||e.match(m,!1)||e.match(s,!1)););return null}},t=CodeMirror.getMode(e,t.backdrop||"rst-base");return CodeMirror.overlayMode(t,h,!0)},"python","stex"),CodeMirror.defineMode("rst-base",function(e){function t(e){var a=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,t){return void 0!==a[t]?a[t]:e})}var c=CodeMirror.getMode(e,"python"),r=CodeMirror.getMode(e,"stex"),a="\\s+",n="(?:\\s*|\\W|$)",o=new RegExp(t("^{0}",n)),m="(?:[^\\W\\d_](?:[\\w!\"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)",s=new RegExp(t("^{0}",m)),h=t("(?:{0}|`{1}`)",m,"(?:[^\\W\\d_](?:[\\w\\s!\"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)"),i="(?:[^\\s\\|](?:[^\\|]*[^\\s\\|])?)",e="(?:[^\\`]+)",l=new RegExp(t("^{0}",e)),d=new RegExp("^([!'#$%&\"()*+,-./:;<=>?@\\[\\\\\\]^_`{|}~])\\1{3,}\\s*$"),p=new RegExp(t("^\\.\\.{0}",a)),u=new RegExp(t("^_{0}:{1}|^__:{1}",h,n)),k=new RegExp(t("^{0}::{1}",h,n)),x=new RegExp(t("^\\|{0}\\|{1}{2}::{3}",i,a,h,n)),f=new RegExp(t("^\\[(?:\\d+|#{0}?|\\*)]{1}",h,n)),w=new RegExp(t("^\\[{0}\\]{1}",h,n)),g=new RegExp(t("^\\|{0}\\|",i)),b=new RegExp(t("^\\[(?:\\d+|#{0}?|\\*)]_",h)),E=new RegExp(t("^\\[{0}\\]_",h)),R=new RegExp(t("^{0}__?",h)),_=new RegExp(t("^`{0}`_",e)),M=new RegExp(t("^:{0}:`{1}`{2}",m,e,n)),y=new RegExp(t("^`{1}`:{0}:{2}",m,e,n)),v=new RegExp(t("^:{0}:{1}",m,n)),C=new RegExp(t("^{0}",h)),$=new RegExp(t("^::{0}",n)),S=new RegExp(t("^\\|{0}\\|",i)),W=new RegExp(t("^{0}",a)),T=new RegExp(t("^{0}",h)),q=new RegExp(t("^::{0}",n)),I=new RegExp("^_"),A=new RegExp(t("^{0}|_",h)),H=new RegExp(t("^:{0}",n)),P=new RegExp("^::\\s*$"),j=new RegExp("^\\s+(?:>>>|In \\[\\d+\\]:)\\s");function z(e,t){var a=null;if(e.sol()&&e.match(j,!1))L(t,J,{mode:c,local:CodeMirror.startState(c)});else if(e.sol()&&e.match(p))L(t,B),a="meta";else if(e.sol()&&e.match(d))L(t,z),a="header";else if(O(t)==M||e.match(M,!1))switch(N(t)){case 0:L(t,z,K(M,1)),e.match(/^:/),a="meta";break;case 1:L(t,z,K(M,2)),e.match(s),a="keyword",e.current().match(/^(?:math|latex)/)&&(t.tmp_stex=!0);break;case 2:L(t,z,K(M,3)),e.match(/^:`/),a="meta";break;case 3:if(t.tmp_stex&&(t.tmp_stex=void 0,t.tmp={mode:r,local:CodeMirror.startState(r)}),t.tmp){if("`"==e.peek()){L(t,z,K(M,4)),t.tmp=void 0;break}a=t.tmp.mode.token(e,t.tmp.local);break}L(t,z,K(M,4)),e.match(l),a="string";break;case 4:L(t,z,K(M,5)),e.match(/^`/),a="meta";break;case 5:L(t,z,K(M,6)),e.match(o);break;default:L(t,z)}else if(O(t)==y||e.match(y,!1))switch(N(t)){case 0:L(t,z,K(y,1)),e.match(/^`/),a="meta";break;case 1:L(t,z,K(y,2)),e.match(l),a="string";break;case 2:L(t,z,K(y,3)),e.match(/^`:/),a="meta";break;case 3:L(t,z,K(y,4)),e.match(s),a="keyword";break;case 4:L(t,z,K(y,5)),e.match(/^:/),a="meta";break;case 5:L(t,z,K(y,6)),e.match(o);break;default:L(t,z)}else if(O(t)==v||e.match(v,!1))switch(N(t)){case 0:L(t,z,K(v,1)),e.match(/^:/),a="meta";break;case 1:L(t,z,K(v,2)),e.match(s),a="keyword";break;case 2:L(t,z,K(v,3)),e.match(/^:/),a="meta";break;case 3:L(t,z,K(v,4)),e.match(o);break;default:L(t,z)}else if(O(t)==g||e.match(g,!1))switch(N(t)){case 0:L(t,z,K(g,1)),e.match(S),a="variable-2";break;case 1:L(t,z,K(g,2)),e.match(/^_?_?/)&&(a="link");break;default:L(t,z)}else if(e.match(b))L(t,z),a="quote";else if(e.match(E))L(t,z),a="quote";else if(e.match(R))L(t,z),e.peek()&&!e.peek().match(/^\W$/)||(a="link");else if(O(t)==_||e.match(_,!1))switch(N(t)){case 0:!e.peek()||e.peek().match(/^\W$/)?L(t,z,K(_,1)):e.match(_);break;case 1:L(t,z,K(_,2)),e.match(/^`/),a="link";break;case 2:L(t,z,K(_,3)),e.match(l);break;case 3:L(t,z,K(_,4)),e.match(/^`_/),a="link";break;default:L(t,z)}else e.match(P)?L(t,F):e.next()&&L(t,z);return a}function B(e,t){var a=null;if(O(t)==x||e.match(x,!1))switch(N(t)){case 0:L(t,B,K(x,1)),e.match(S),a="variable-2";break;case 1:L(t,B,K(x,2)),e.match(W);break;case 2:L(t,B,K(x,3)),e.match(T),a="keyword";break;case 3:L(t,B,K(x,4)),e.match(q),a="meta";break;default:L(t,z)}else if(O(t)==k||e.match(k,!1))switch(N(t)){case 0:L(t,B,K(k,1)),e.match(C),a="keyword",e.current().match(/^(?:math|latex)/)?t.tmp_stex=!0:e.current().match(/^python/)&&(t.tmp_py=!0);break;case 1:L(t,B,K(k,2)),e.match($),a="meta",(e.match(/^latex\s*$/)||t.tmp_stex)&&(t.tmp_stex=void 0,L(t,J,{mode:r,local:CodeMirror.startState(r)}));break;case 2:L(t,B,K(k,3)),(e.match(/^python\s*$/)||t.tmp_py)&&(t.tmp_py=void 0,L(t,J,{mode:c,local:CodeMirror.startState(c)}));break;default:L(t,z)}else if(O(t)==u||e.match(u,!1))switch(N(t)){case 0:L(t,B,K(u,1)),e.match(I),e.match(A),a="link";break;case 1:L(t,B,K(u,2)),e.match(H),a="meta";break;default:L(t,z)}else e.match(f)||e.match(w)?(L(t,z),a="quote"):(e.eatSpace(),e.eol()?L(t,z):(e.skipToEnd(),L(t,D),a="comment"));return a}function D(e,t){return G(e,t,"comment")}function F(e,t){return G(e,t,"meta")}function G(e,t,a){return e.eol()||e.eatSpace()?(e.skipToEnd(),a):(L(t,z),null)}function J(e,t){return t.ctx.mode&&t.ctx.local?e.sol()?(e.eatSpace()||L(t,z),null):t.ctx.mode.token(e,t.ctx.local):(L(t,z),null)}function K(e,t,a,c){return{phase:e,stage:t,mode:a,local:c}}function L(e,t,a){e.tok=t,e.ctx=a||{}}function N(e){return e.ctx.stage||0}function O(e){return e.ctx.phase}return{startState:function(){return{tok:z,ctx:K(void 0,0)}},copyState:function(e){var t=e.ctx,a=e.tmp;return t.local&&(t={mode:t.mode,local:CodeMirror.copyState(t.mode,t.local)}),a=a&&{mode:a.mode,local:CodeMirror.copyState(a.mode,a.local)},{tok:e.tok,ctx:t,tmp:a}},innerMode:function(e){return e.tmp?{state:e.tmp.local,mode:e.tmp.mode}:e.ctx.mode?{state:e.ctx.local,mode:e.ctx.mode}:null},token:function(e,t){return t.tok(e,t)}}},"python","stex"),CodeMirror.defineMIME("text/x-rst","rst"); // ruby !function(){function e(e){for(var t={},n=0,r=e.length;n]/)?(e.eat(/[\<\>]/),"atom"):e.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":e.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(e.eatWhile(/[\w$\xa1-\uffff]/),e.eat(/[\?\!\=]/),"atom"):"operator";if("@"==o&&e.match(/^@?[a-zA-Z_\xa1-\uffff]/))return e.eat("@"),e.eatWhile(/[\w\xa1-\uffff]/),"variable-2";if("$"==o)return e.eat(/[a-zA-Z_]/)?e.eatWhile(/[\w]/):e.eat(/\d/)?e.eat(/\d/):e.next(),"variable-3";if(/[a-zA-Z_\xa1-\uffff]/.test(o))return e.eatWhile(/[\w\xa1-\uffff]/),e.eat(/[\?\!]/),e.eat(":")?"atom":"ident";if("|"!=o||!t.varList&&"{"!=t.lastTok&&"do"!=t.lastTok){if(/[\(\)\[\]{}\\;]/.test(o))return l=o,null;if("-"==o&&e.eat(">"))return"arrow";if(/[=+\-\/*:\.^%<>~|]/.test(o)){t=e.eatWhile(/[=+\-\/*:\.^%<>~|]/);return"."!=o||t||(l="."),"operator"}return null}return l="|",null}function s(i,o,a,u){return function(e,t){var n,r=!1;for("read-quoted-paused"===t.context.type&&(t.context=t.context.prev,e.eat("}"));null!=(n=e.next());){if(n==i&&(u||!r)){t.tokenize.pop();break}if(a&&"#"==n&&!r){if(e.eat("{")){"}"==i&&(t.context={prev:t.context,type:"read-quoted-paused"}),t.tokenize.push(function n(r){return r=r||1,function(e,t){if("}"==e.peek()){if(1==r)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);t.tokenize[t.tokenize.length-1]=n(r-1)}else"{"==e.peek()&&(t.tokenize[t.tokenize.length-1]=n(r+1));return f(e,t)}}());break}if(/[@\$]/.test(e.peek())){t.tokenize.push(function(){var n=!1;return function(e,t){return n?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t)):(n=!0,f(e,t))}}());break}}r=!r&&"\\"==n}return o}}function c(e,t){return e.sol()&&e.match("=end")&&e.eol()&&t.tokenize.pop(),e.skipToEnd(),"comment"}return{startState:function(){return{tokenize:[f],indented:0,context:{type:"top",indented:-i.indentUnit},continuedLine:!1,lastTok:null,varList:!1}},token:function(e,t){l=null,e.sol()&&(t.indented=e.indentation());var n,r,i=t.tokenize[t.tokenize.length-1](e,t),o=l;return"ident"==i&&(r=e.current(),"keyword"==(i="."==t.lastTok?"property":a.propertyIsEnumerable(e.current())?"keyword":/^[A-Z]/.test(r)?"tag":"def"==t.lastTok||"class"==t.lastTok||t.varList?"def":"variable")&&(u.propertyIsEnumerable(o=r)?n="indent":p.propertyIsEnumerable(r)?n="dedent":(("if"==r||"unless"==r)&&e.column()==e.indentation()||"do"==r&&t.context.indented!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"variable-3"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],meta:{dontIndentStates:["comment"],electricInput:/^\s*\}$/,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}}),CodeMirror.defineMIME("text/x-rustsrc","rust"),CodeMirror.defineMIME("text/rust","rust"); // sas CodeMirror.defineMode("sas",function(){var a={},i={eq:"operator",lt:"operator",le:"operator",gt:"operator",ge:"operator",in:"operator",ne:"operator",or:"operator"},l=/(<=|>=|!=|<>)/,c=/[=\(:\),{}.*<>+\-\/^\[\]]/;function e(e,t,n){if(n)for(var r=t.split(" "),s=0;s","<","==",">=","<=","\\+","-","\\!=","/","\\*","%","and","or","not",";","\\{","\\}",":"].join("|")),l=/^::?[a-zA-Z_][\w\-]*/;function m(e){return!e.peek()||e.match(/\s+$/,!1)}function h(e,r){var t=e.peek();return")"===t?(e.next(),r.tokenizer=v,"operator"):"("===t?(e.next(),e.eatSpace(),"operator"):(r.tokenizer="'"===t||'"'===t?k(e.next()):k(")",!1),"string")}function d(t,n){return function(e,r){return e.sol()&&e.indentation()<=t?(r.tokenizer=v)(e,r):(n&&e.skipTo("*/")?(e.next(),e.next(),r.tokenizer=v):e.skipToEnd(),"comment")}}function k(a,u){return null==u&&(u=!0),function e(r,t){var n=r.next(),o=r.peek(),i=r.string.charAt(r.pos-2);return"\\"!==n&&o===a||n===a&&"\\"!==i?(n!==a&&u&&r.next(),m(r)&&(t.cursorHalf=0),t.tokenizer=v,"string"):"#"===n&&"{"===o?(t.tokenizer=w(e),r.next(),"operator"):"string"}}function w(t){return function(e,r){return"}"===e.peek()?(e.next(),r.tokenizer=t,"operator"):v(e,r)}}function x(e){var r;0==e.indentCount&&(e.indentCount++,r=e.scopes[0].offset+f.indentUnit,e.scopes.unshift({offset:r}))}function y(e){1!=e.scopes.length&&e.scopes.shift()}function v(e,r){var t=e.peek();if(e.match("/*"))return r.tokenizer=d(e.indentation(),!0),r.tokenizer(e,r);if(e.match("//"))return r.tokenizer=d(e.indentation(),!1),r.tokenizer(e,r);if(e.match("#{"))return r.tokenizer=w(v),"operator";if('"'===t||"'"===t)return e.next(),r.tokenizer=k(t),"string";if(r.cursorHalf){if("#"===t&&(e.next(),e.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/)))return m(e)&&(r.cursorHalf=0),"number";if(e.match(/^-?[0-9\.]+/))return m(e)&&(r.cursorHalf=0),"number";if(e.match(/^(px|em|in)\b/))return m(e)&&(r.cursorHalf=0),"unit";if(e.match(c))return m(e)&&(r.cursorHalf=0),"keyword";if(e.match(/^url/)&&"("===e.peek())return r.tokenizer=h,m(e)&&(r.cursorHalf=0),"atom";if("$"===t)return e.next(),e.eatWhile(/[\w-]/),m(e)&&(r.cursorHalf=0),"variable-2";if("!"===t)return e.next(),r.cursorHalf=0,e.match(/^[\w]+/)?"keyword":"operator";if(e.match(p))return m(e)&&(r.cursorHalf=0),"operator";if(e.eatWhile(/[\w-]/))return m(e)&&(r.cursorHalf=0),s=e.current().toLowerCase(),a.hasOwnProperty(s)?"atom":i.hasOwnProperty(s)?"keyword":o.hasOwnProperty(s)?(r.prevProp=e.current().toLowerCase(),"property"):"tag";if(m(e))return r.cursorHalf=0,null}else{if("-"===t&&e.match(/^-\w+-/))return"meta";if("."===t){if(e.next(),e.match(/^[\w-]+/))return x(r),"qualifier";if("#"===e.peek())return x(r),"tag"}if("#"===t){if(e.next(),e.match(/^[\w-]+/))return x(r),"builtin";if("#"===e.peek())return x(r),"tag"}if("$"===t)return e.next(),e.eatWhile(/[\w-]/),"variable-2";if(e.match(/^-?[0-9\.]+/))return"number";if(e.match(/^(px|em|in)\b/))return"unit";if(e.match(c))return"keyword";if(e.match(/^url/)&&"("===e.peek())return r.tokenizer=h,"atom";if("="===t&&e.match(/^=[\w-]+/))return x(r),"meta";if("+"===t&&e.match(/^\+[\w-]+/))return"variable-3";if("@"===t&&e.match("@extend")&&(e.match(/\s*[\w]/)||y(r)),e.match(/^@(else if|if|media|else|for|each|while|mixin|function)/))return x(r),"def";if("@"===t)return e.next(),e.eatWhile(/[\w-]/),"def";if(e.eatWhile(/[\w-]/)){if(e.match(/ *: *[\w-\+\$#!\("']/,!1)){s=e.current().toLowerCase();var n=r.prevProp+"-"+s;return o.hasOwnProperty(n)?"property":o.hasOwnProperty(s)?(r.prevProp=s,"property"):u.hasOwnProperty(s)?"property":"tag"}return e.match(/ *:/,!1)?(x(r),r.cursorHalf=1,r.prevProp=e.current().toLowerCase(),"property"):(e.match(/ *,/,!1)||x(r),"tag")}if(":"===t)return e.match(l)?"variable-3":(e.next(),r.cursorHalf=1,"operator")}return e.match(p)?"operator":(e.next(),null)}return{startState:function(){return{tokenizer:v,scopes:[{offset:0,type:"sass"}],indentCount:0,cursorHalf:0,definedVars:[],definedMixins:[]}},token:function(e,r){var t=function(e,r){e.sol()&&(r.indentCount=0);var t=r.tokenizer(e,r),n=e.current();if("@return"!==n&&"}"!==n||y(r),null!==t){for(var o=e.pos-n.length+f.indentUnit*r.indentCount,i=[],a=0;ainteger char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt #f floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? #t tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"),b=e("define let letrec let* lambda define-macro defmacro let-syntax letrec-syntax let-values let*-values define-syntax syntax-rules define-values when unless");function r(e,t,n){this.indent=e,this.type=t,this.prev=n}function v(e,t,n){e.indentStack=new r(t,n,e.indentStack)}var t=new RegExp(/^(?:[-+]i|[-+][01]+#*(?:\/[01]+#*)?i|[-+]?[01]+#*(?:\/[01]+#*)?@[-+]?[01]+#*(?:\/[01]+#*)?|[-+]?[01]+#*(?:\/[01]+#*)?[-+](?:[01]+#*(?:\/[01]+#*)?)?i|[-+]?[01]+#*(?:\/[01]+#*)?)(?=[()\s;"]|$)/i),n=new RegExp(/^(?:[-+]i|[-+][0-7]+#*(?:\/[0-7]+#*)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?@[-+]?[0-7]+#*(?:\/[0-7]+#*)?|[-+]?[0-7]+#*(?:\/[0-7]+#*)?[-+](?:[0-7]+#*(?:\/[0-7]+#*)?)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?)(?=[()\s;"]|$)/i),a=new RegExp(/^(?:[-+]i|[-+][\da-f]+#*(?:\/[\da-f]+#*)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?@[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?[-+](?:[\da-f]+#*(?:\/[\da-f]+#*)?)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?)(?=[()\s;"]|$)/i),i=new RegExp(/^(?:[-+]i|[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)i|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)@[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)?i|(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*))(?=[()\s;"]|$)/i);function k(e){return e.match(t)}function y(e){return e.match(n)}function w(e,t){return!0===t&&e.backUp(1),e.match(i)}function E(e){return e.match(a)}function S(e,t){for(var n,r=!1;null!=(n=e.next());){if(n==t.token&&!r){t.state.mode=!1;break}r=!r&&"\\"==n}}return{startState:function(){return{indentStack:null,indentation:0,mode:!1,sExprComment:!1,sExprQuote:!1}},token:function(e,t){if(null==t.indentStack&&e.sol()&&(t.indentation=e.indentation()),e.eatSpace())return null;var n=null;switch(t.mode){case"string":S(e,{token:'"',state:t}),n=m;break;case"symbol":S(e,{token:"|",state:t}),n=p;break;case"comment":for(var r,a=!1;null!=(r=e.next());){if("#"==r&&a){t.mode=!1;break}a="|"==r}n=u;break;case"s-expr-comment":if(t.mode=!1,"("!=e.peek()&&"["!=e.peek()){e.eatWhile(/[^\s\(\)\[\]]/),n=u;break}t.sExprComment=0;default:var i,c,s=e.next();if('"'==s)t.mode="string",n=m;else if("'"==s)n=("("==e.peek()||"["==e.peek()?"number"!=typeof t.sExprQuote&&(t.sExprQuote=0):e.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),f);else if("|"==s)t.mode="symbol",n=p;else if("#"==s)e.eat("|")?(t.mode="comment",n=u):e.eat(/[tf]/i)?n=f:e.eat(";")?(t.mode="s-expr-comment",n=u):(d=null,c=!(i=!1),e.eat(/[ei]/i)?i=!0:e.backUp(1),e.match(/^#b/i)?d=k:e.match(/^#o/i)?d=y:e.match(/^#x/i)?d=E:e.match(/^#d/i)?d=w:e.match(/^[-+0-9.]/,!1)?(c=!1,d=w):i||e.eat("#"),null!=d&&(c&&!i&&e.match(/^#[ei]/i),d(e)&&(n=h)));else if(/^[-+0-9.]/.test(s)&&w(e,!0))n=h;else if(";"==s)e.skipToEnd(),n=u;else if("("==s||"["==s){for(var o,l="",d=e.column();null!=(o=e.eat(/[^\s\(\[\;\)\]]/));)l+=o;0?@\^~]/),n=g&&g.propertyIsEnumerable(e.current())?"builtin":"variable")}return"number"==typeof t.sExprComment?u:"number"==typeof t.sExprQuote?f:n},indent:function(e){return null==e.indentStack?e.indentation:e.indentStack.indent},closeBrackets:{pairs:'()[]{}""'},lineComment:";;"}}),CodeMirror.defineMIME("text/x-scheme","scheme"); // shell CodeMirror.defineMode("shell",function(){var s={};function e(e,t){for(var n=0;n]?)/))return t.tokenize=(n=e.column(),r=e.column(),o=S,i=function(e,t){p(t);var n=o(e,t);return e.eol()&&e.current().match(/,$/)&&b(t,r),n},function(e,t){if(p(t),e.match(/^\\$/))return b(t,n),"lineContinuation";t=i(e,t);return e.eol()&&e.current().match(/(?:^|[^\\])(?:\\\\)*\\$/)&&e.backUp(1),t}),"slimSwitch";if(e.match(/^doctype\b/))return t.tokenize=T,"keyword";var a,u,l=e.match(s);return l?(a=l[1],u=t,l=$(a),a=CodeMirror.startState(l),u.subMode=l,u.subState=a,u.stack={parent:u.stack,style:"sub",indented:u.indented+1,tokenize:u.line},u.line=u.tokenize=L,"slimSubmode"):R(e,t)}function O(e,t){return(t.startOfLine?U:R)(e,t)}function R(e,t){return e.eat("*")?(t.tokenize=h(I),null):e.match(c)?(t.tokenize=I,"slimTag"):P(e,t)}function I(e,t){return e.match(/^(<>?|>t.indented&&"slimSubmode"!=t.last;)t.line=t.tokenize=t.stack.tokenize,t.stack=t.stack.parent,t.subMode=null,t.subState=null;if(e.eatSpace())return null;e=t.tokenize(e,t);return t.startOfLine=!1,e&&(t.last=e),u.hasOwnProperty(e)?u[e]:e},blankLine:function(e){if(e.subMode&&e.subMode.blankLine)return e.subMode.blankLine(e.subState)},innerMode:function(e){return e.subMode?{state:e.subState,mode:e.subMode}:{state:e,mode:q}}};return q},"htmlmixed","ruby"),CodeMirror.defineMIME("text/x-slim","slim"),CodeMirror.defineMIME("application/x-slim","slim"); // smalltalk CodeMirror.defineMode("smalltalk",function(n){function r(e,t){this.next=e,this.parent=t}function o(e,t,n){this.name=e,this.context=t,this.eos=n}function e(){this.context=new r(a,null),this.expectVariable=!0,this.indentation=0,this.userIndentationDelta=0}var s=/[+\-\/\\*~<>=@%|&?!.,:;^]/,l=/true|false|nil|self|super|thisContext/;e.prototype.userIndent=function(e){this.userIndentationDelta=0]/),e.next()),a.name="string-2"):"|"===i&&n.expectVariable?a.context=new r(d,t):/[\[\]{}()]/.test(i)?(a.name="bracket",a.eos=/[\[{(]/.test(i),"["===i?n.indentation++:"]"===i&&(n.indentation=Math.max(0,n.indentation-1))):s.test(i)?(e.eatWhile(s),a.name="operator",a.eos=";"!==i):/\d/.test(i)?(e.eatWhile(/[\w\d]/),a.name="number"):/[\w_]/.test(i)?(e.eatWhile(/[\w\d_]/),a.name=n.expectVariable?l.test(e.current())?"keyword":"variable":null):a.eos=n.expectVariable,a},u=function(e,t){return e.eatWhile(/[^"]/),new o("comment",e.eat('"')?t.parent:t,!0)},c=function(e,t){return e.eatWhile(/[^']/),new o("string",e.eat("'")?t.parent:t,!1)},x=function(e,t){return e.eatWhile(/[^']/),new o("string-2",e.eat("'")?t.parent:t,!1)},d=function(e,t){var n=new o(null,t,!1);return"|"===e.next()?(n.context=t.parent,n.eos=!0):(e.eatWhile(/[^|]/),n.name="variable"),n};return{startState:function(){return new e},token:function(e,t){if(t.userIndent(e.indentation()),e.eatSpace())return null;e=t.context.next(e,t.context,t);return t.context=e.context,t.expectVariable=e.eos,e.name},blankLine:function(e){e.userIndent(0)},indent:function(e,t){t=e.context.next===a&&t&&"]"===t.charAt(0)?-1:e.userIndentationDelta;return(e.indentation+t)*n.indentUnit},electricChars:"]"}}),CodeMirror.defineMIME("text/x-stsrc",{name:"smalltalk"}); // smarty CodeMirror.defineMode("smarty",function(e,t){var p,h=t.rightDelimiter||"}",c=t.leftDelimiter||"{",k=t.version||2,g=CodeMirror.getMode(e,t.baseMode||"null"),f=["debug","extends","function","include","literal"],s={operatorChars:/[+\-*&%=<>!?]/,validIdentifier:/[a-zA-Z0-9_]/,stringChar:/['"]/};function b(e,t){for(var r,i,n,a,o,l,f,s=e.string,u=e.pos;;){var d=s.indexOf(c,u),u=d+c.length;if(-1==d||(r=e,null==(i=d+c.length)&&(i=r.pos),3!==k||"{"!=c||i!=r.string.length&&!/\s/.test(r.string.charAt(i))))break}if(d==e.pos)return e.match(c),e.eat("*")?(n=e,l="comment",f="*"+h,o=function(e,t){for(;!e.eol();){if(e.match(f)){t.tokenize=b;break}e.next()}return l},((a=t).tokenize=o)(n,a)):(t.depth++,t.tokenize=m,p="startTag","tag");-1]=?)/)?"operator":(a=t.match(/^\$([\w]+)/))?x(e.variables,a[1],!e.lookupVariables):(a=t.match(/^\w+/))?/^(?:as|and|or|not|in|if)$/.test(a[0])?"keyword":null:(t.next(),null)}return{startState:function(){return{soyState:[],variables:f(null,"ij"),scopes:null,indent:0,quoteKind:null,context:null,lookupVariables:!0,localStates:[{mode:y.html,state:CodeMirror.startState(y.html)}]}},copyState:function(t){return{tag:t.tag,soyState:t.soyState.concat([]),variables:t.variables,context:t.context,indent:t.indent,quoteKind:t.quoteKind,lookupVariables:t.lookupVariables,localStates:t.localStates.map(function(t){return{mode:t.mode,state:CodeMirror.copyState(t.mode,t.state)}})}},token:function(t,e){switch(h(e.soyState)){case"comment":if(t.match(/^.*?\*\//)?e.soyState.pop():t.skipToEnd(),!e.context||!e.context.scope)for(var a,n=/@param\??\s+(\S+)/g,r=t.current();a=n.exec(r);)e.variables=f(e.variables,a[1]);return"comment";case"string":return(a=t.match(/^.*?(["']|\\[\s\S])/))?a[1]==e.quoteKind&&(e.quoteKind=null,e.soyState.pop()):t.skipToEnd(),"string"}if(!e.soyState.length||"literal"!=h(e.soyState)){if(t.match(/^\/\*/))return e.soyState.push("comment"),"comment";if(t.match(t.sol()?/^\s*\/\/.*/:/^\s+\/\/.*/))return"comment"}switch(h(e.soyState)){case"templ-def":return(a=t.match(/^\.?([\w]+(?!\.[\w]+)*)/))?(e.soyState.pop(),"def"):(t.next(),null);case"templ-ref":return(a=t.match(/(\.?[a-zA-Z_][a-zA-Z_0-9]+)+/))?(e.soyState.pop(),"."==a[0][0]?"variable-2":"variable"):(a=t.match(/^\$([\w]+)/))?(e.soyState.pop(),x(e.variables,a[1],!e.lookupVariables)):(t.next(),null);case"namespace-def":return(a=t.match(/^\.?([\w\.]+)/))?(e.soyState.pop(),"variable"):(t.next(),null);case"param-def":return(a=t.match(/^\*/))?(e.soyState.pop(),e.soyState.push("param-type"),"type"):(a=t.match(/^\w+/))?(e.variables=f(e.variables,a[0]),e.soyState.pop(),e.soyState.push("param-type"),"def"):(t.next(),null);case"param-ref":return(a=t.match(/^\w+/))?(e.soyState.pop(),"property"):(t.next(),null);case"open-parentheses":return t.match(/[)]/)?(e.soyState.pop(),null):v(t,e);case"param-type":var o=t.peek();return-1!="}]=>,".indexOf(o)?(e.soyState.pop(),null):"["==o?(e.soyState.push("param-type-record"),null):"("==o?(e.soyState.push("param-type-template"),null):"<"==o?(e.soyState.push("param-type-parameter"),null):(a=t.match(/^([\w]+|[?])/))?"type":(t.next(),null);case"param-type-record":return"]"==(o=t.peek())?(e.soyState.pop(),null):t.match(/^\w+/)?(e.soyState.push("param-type"),"property"):(t.next(),null);case"param-type-parameter":return t.match(/^[>]/)?(e.soyState.pop(),null):(t.match(/^[<,]/)?e.soyState.push("param-type"):t.next(),null);case"param-type-template":return t.match(/[>]/)?(e.soyState.pop(),e.soyState.push("param-type"),null):t.match(/^\w+/)?(e.soyState.push("param-type"),"def"):(t.next(),null);case"var-def":return(a=t.match(/^\$([\w]+)/))?(e.variables=f(e.variables,a[1]),e.soyState.pop(),"def"):(t.next(),null);case"for-loop":return t.match(/\bin\b/)?(e.soyState.pop(),"keyword"):("$"==t.peek()?e.soyState.push("var-def"):t.next(),null);case"record-literal":return t.match(/^[)]/)?(e.soyState.pop(),null):(t.match(/[(,]/)?(e.soyState.push("map-value"),e.soyState.push("record-key")):t.next(),null);case"map-literal":return t.match(/^[)]/)?(e.soyState.pop(),null):(t.match(/[(,]/)?(e.soyState.push("map-value"),e.soyState.push("map-value")):t.next(),null);case"list-literal":return t.match("]")?(e.soyState.pop(),e.lookupVariables=!0,g(e),null):t.match(/\bfor\b/)?(e.lookupVariables=!0,e.soyState.push("for-loop"),"keyword"):v(t,e);case"record-key":return t.match(/[\w]+/)?"property":(t.match(/^[:]/)?e.soyState.pop():t.next(),null);case"map-value":return")"==t.peek()||","==t.peek()||t.match(/^[:)]/)?(e.soyState.pop(),null):v(t,e);case"import":return t.eat(";")?(e.soyState.pop(),e.indent-=2*m.indentUnit,null):t.match(/\w+(?=\s+as\b)/)?"variable":(a=t.match(/\w+/))?/\b(from|as)\b/.test(a[0])?"keyword":"def":(a=t.match(/^["']/))?(e.soyState.push("string"),e.quoteKind=a[0],"string"):(t.next(),null);case"tag":u=void 0===e.tag?(p=!0,""):(p="/"==e.tag[0])?e.tag.substring(1):e.tag;var s=w[u];if(t.match(/^\/?}/)){var l="/}"==t.current();return l&&!p&&g(e),"/template"==e.tag||"/deltemplate"==e.tag?(e.variables=f(null,"ij"),e.indent=0):e.indent-=m.indentUnit*(l||-1==k.indexOf(e.tag)?2:1),e.soyState.pop(),"keyword"}return t.match(/^([\w?]+)(?==)/)?(e.context&&e.context.tag==u&&"kind"==t.current()&&(a=t.match(/^="([^"]+)/,!1))&&(l=a[1],e.context.kind=l,l=y[l]||y.html,(d=h(e.localStates)).mode.indent&&(e.indent+=d.mode.indent(d.state,"","")),e.localStates.push({mode:l,state:CodeMirror.startState(l)})),"attribute"):v(t,e);case"template-call-expression":return t.match(/^([\w-?]+)(?==)/)?"attribute":t.eat(">")||t.eat("/>")?(e.soyState.pop(),"keyword"):v(t,e);case"literal":return t.match("{/literal}",!1)?(e.soyState.pop(),this.token(t,e)):S(t,e,/\{\/literal}/);case"export":if(a=t.match(/\w+/)){if(e.soyState.pop(),"const"==a)return e.soyState.push("const-def"),"keyword";if("extern"==a)return e.soyState.push("param-def"),"keyword"}else t.next();return null;case"const-def":return t.match(/^\w+/)?(e.soyState.pop(),"def"):(t.next(),null)}if(t.match("{literal}"))return e.indent+=m.indentUnit,e.soyState.push("literal"),e.context=new b(e.context,"literal",e.variables),"keyword";if(a=t.match(/^\{([/@\\]?\w+\??)(?=$|[\s}]|\/[/*])/)){var i=e.tag;e.tag=a[1];var p="/"==e.tag[0],c=!!w[e.tag],u=p?e.tag.substring(1):e.tag,s=w[u];"/switch"!=e.tag&&(e.indent+=((p||s&&s.reduceIndent)&&"switch"!=i?1:2)*m.indentUnit),e.soyState.push("tag");var d,i=!1;return s?(p||s.soyState&&e.soyState.push(s.soyState),s.noEndTag||!c&&p?p&&(c="extern"==u&&e.context&&"export"==e.context.tag,!e.context||e.context.tag!=u&&!c?i=!0:e.context&&(e.context.kind&&(e.localStates.pop(),(d=h(e.localStates)).mode.indent&&(e.indent-=d.mode.indent(d.state,"",""))),g(e))):e.context=new b(e.context,e.tag,s.variableScope?e.variables:null)):p&&(i=!0),(i?"error ":"")+"keyword"}return t.eat("{")?(e.tag="print",e.indent+=2*m.indentUnit,e.soyState.push("tag"),"keyword"):!e.context&&t.sol()&&t.match(/import\b/)?(e.soyState.push("import"),e.indent+=2*m.indentUnit,"keyword"):(a=t.match("<{"))?(e.soyState.push("template-call-expression"),e.indent+=2*m.indentUnit,e.soyState.push("tag"),"keyword"):(a=t.match(""))?(e.indent-=+m.indentUnit,"keyword"):S(t,e,/\{|\s+\/\/|\/\*/)},indent:function(t,e,a){var n=t.indent,r=h(t.soyState);if("comment"==r)return CodeMirror.Pass;if("literal"==r)/^\{\/literal}/.test(e)&&(n-=m.indentUnit);else{if(/^\s*\{\/(template|deltemplate)\b/.test(e))return 0;/^\{(\/|(fallbackmsg|elseif|else|ifempty)\b)/.test(e)&&(n-=m.indentUnit),"switch"!=t.tag&&/^\{(case|default)\b/.test(e)&&(n-=m.indentUnit),/^\{\/switch\b/.test(e)&&(n-=m.indentUnit)}t=h(t.localStates);return n&&t.mode.indent&&(n+=t.mode.indent(t.state,e,a)),n},innerMode:function(t){return t.soyState.length&&"literal"!=h(t.soyState)?null:h(t.localStates)},electricInput:/^\s*\{(\/|\/template|\/deltemplate|\/switch|fallbackmsg|elseif|else|case|default|ifempty|\/literal\})$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",useInnerComments:!1,fold:"indent"}},"htmlmixed"),CodeMirror.registerHelper("wordChars","soy",/[\w$]/),CodeMirror.registerHelper("hintWords","soy",Object.keys(w).concat(["css","debugger"])),CodeMirror.defineMIME("text/x-soy","soy")}(); // sparql CodeMirror.defineMode("sparql",function(t){var r,i=t.indentUnit;function e(t){return new RegExp("^(?:"+t.join("|")+")$","i")}var u=e(["str","lang","langmatches","datatype","bound","sameterm","isiri","isuri","iri","uri","bnode","count","sum","min","max","avg","sample","group_concat","rand","abs","ceil","floor","round","concat","substr","strlen","replace","ucase","lcase","encode_for_uri","contains","strstarts","strends","strbefore","strafter","year","month","day","hours","minutes","seconds","timezone","tz","now","uuid","struuid","md5","sha1","sha256","sha384","sha512","coalesce","if","strlang","strdt","isnumeric","regex","exists","isblank","isliteral","a","bind"]),o=e(["base","prefix","select","distinct","reduced","construct","describe","ask","from","named","where","order","limit","offset","filter","optional","graph","by","asc","desc","as","having","undef","values","group","minus","in","not","service","silent","using","insert","delete","union","true","false","with","data","copy","to","move","add","create","drop","clear","load"]),a=/[*+\-<>=&|\^\/!\?]/;function c(t,e){var i,n=t.next();if(r=null,"$"==n||"?"==n)return"?"==n&&t.match(/\s/,!1)?"operator":(t.match(/^[A-Za-z0-9_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][A-Za-z0-9_\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]*/),"variable-2");if("<"!=n||t.match(/^[\s\u00a0=]/,!1)){if('"'==n||"'"==n)return e.tokenize=(i=n,function(t,e){for(var n,r=!1;null!=(n=t.next());){if(n==i&&!r){e.tokenize=c;break}r=!r&&"\\"==n}return"string"}),e.tokenize(t,e);if(/[{}\(\),\.;\[\]]/.test(n))return r=n,"bracket";if("#"==n)return t.skipToEnd(),"comment";if("^"===n)return"^"===(n=t.peek())?t.eat("^"):t.eatWhile(a),"operator";if(a.test(n))return t.eatWhile(a),"operator";if(":"==n)return s(t),"atom";if("@"==n)return t.eatWhile(/[a-z\d\-]/i),"meta";if(t.eatWhile(/[_\w\d]/),t.eat(":"))return s(t),"atom";n=t.current();return u.test(n)?"builtin":o.test(n)?"keyword":"variable"}return t.match(/^[^\s\u00a0>]*>?/),"atom"}function s(t){t.match(/(\.(?=[\w_\-\\%])|[:\w_-]|\\[-\\_~.!$&'()*+,;=/?#@%]|%[a-f\d][a-f\d])+/i)}function l(t,e,n){t.context={prev:t.context,indent:t.indent,col:n,type:e}}function d(t){t.indent=t.context.indent,t.context=t.context.prev}return{startState:function(){return{tokenize:c,context:null,indent:0,col:0}},token:function(t,e){if(t.sol()&&(e.context&&null==e.context.align&&(e.context.align=!1),e.indent=t.indentation()),t.eatSpace())return null;var n=e.tokenize(t,e);if("comment"!=n&&e.context&&null==e.context.align&&"pattern"!=e.context.type&&(e.context.align=!0),"("==r)l(e,")",t.column());else if("["==r)l(e,"]",t.column());else if("{"==r)l(e,"}",t.column());else if(/[\]\}\)]/.test(r)){for(;e.context&&"pattern"==e.context.type;)d(e);e.context&&r==e.context.type&&(d(e),"}"==r&&e.context&&"pattern"==e.context.type&&d(e))}else"."==r&&e.context&&"pattern"==e.context.type?d(e):/atom|string|variable/.test(n)&&e.context&&(/[\}\]]/.test(e.context.type)?l(e,"pattern",t.column()):"pattern"!=e.context.type||e.context.align||(e.context.align=!0,e.context.col=t.column()));return n},indent:function(t,e){var e=e&&e.charAt(0),n=t.context;if(/[\]\}]/.test(e))for(;n&&"pattern"==n.type;)n=n.prev;e=n&&e==n.type;return n?"pattern"==n.type?n.col:n.align?n.col+(e?0:1):n.indent+(e?0:i):0},lineComment:"#"}}),CodeMirror.defineMIME("application/sparql-query","sparql"); // spreadsheet CodeMirror.defineMode("spreadsheet",function(){return{startState:function(){return{stringType:null,stack:[]}},token:function(e,t){if(e){switch(0===t.stack.length&&('"'!=e.peek()&&"'"!=e.peek()||(t.stringType=e.peek(),e.next(),t.stack.unshift("string"))),t.stack[0]){case"string":for(;"string"===t.stack[0]&&!e.eol();)e.peek()===t.stringType?(e.next(),t.stack.shift()):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return"string";case"characterClass":for(;"characterClass"===t.stack[0]&&!e.eol();)e.match(/^[^\]\\]+/)||e.match(/^\\./)||t.stack.shift();return"operator"}var a=e.peek();switch(a){case"[":return e.next(),t.stack.unshift("characterClass"),"bracket";case":":return e.next(),"operator";case"\\":return e.match(/\\[a-z]+/)?"string-2":(e.next(),"atom");case".":case",":case";":case"*":case"-":case"+":case"^":case"<":case"/":case"=":return e.next(),"atom";case"$":return e.next(),"builtin"}return e.match(/\d+/)?e.match(/^\w+/)?"error":"number":e.match(/^[a-zA-Z_]\w*/)?e.match(/(?=[\(.])/,!1)?"keyword":"variable-2":-1!=["[","]","(",")","{","}"].indexOf(a)?(e.next(),"bracket"):(e.eatSpace()||e.next(),null)}}}}),CodeMirror.defineMIME("text/x-spreadsheet","spreadsheet"); // sql !function(){function e(e){for(var t;null!=(t=e.next());)if("`"==t&&!e.eat("`"))return"variable-2";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"variable-2":null}function t(e){return e.eat("@")&&(e.match("session."),e.match("local."),e.match("global.")),e.eat("'")?(e.match(/^.*'/),"variable-2"):e.eat('"')?(e.match(/^.*"/),"variable-2"):e.eat("`")?(e.match(/^.*`/),"variable-2"):e.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}function r(e){return e.eat("N")?"atom":e.match(/^[a-zA-Z.#!?]/)?"variable-2":null}CodeMirror.defineMode("sql",function(r,e){var n=e.client||{},i=e.atoms||{false:!0,true:!0,null:!0},o=e.builtin||f(y),s=e.keywords||f(a),l=e.operatorChars||/^[*+\-%<>!=&|~^\/]/,c=e.support||{},d=e.hooks||{},u=e.dateSQL||{date:!0,time:!0,timestamp:!0},m=!1!==e.backslashStringEscapes,p=e.brackets||/^[\{}\(\)\[\]]/,_=e.punctuation||/^[;.,:]/;function h(e,t){var r=e.next();if(d[r]){var a=d[r](e,t);if(!1!==a)return a}if(c.hexNumber&&("0"==r&&e.match(/^[xX][0-9a-fA-F]+/)||("x"==r||"X"==r)&&e.match(/^'[0-9a-fA-F]+'/)))return"number";if(c.binaryNumber&&(("b"==r||"B"==r)&&e.match(/^'[01]+'/)||"0"==r&&e.match(/^b[01]+/)))return"number";if(47!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:f("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":t}}),CodeMirror.defineMIME("text/x-mysql",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(a+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":t,"`":e,"\\":r}}),CodeMirror.defineMIME("text/x-mariadb",{name:"sql",client:f("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:f(a+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":t,"`":e,"\\":r}}),CodeMirror.defineMIME("text/x-sqlite",{name:"sql",client:f("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:f(a+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:f("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:f("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:f("date time timestamp datetime"),support:f("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":t,":":t,"?":t,$:t,'"':function(e){for(var t;null!=(t=e.next());)if('"'==t&&!e.eat('"'))return"variable-2";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"variable-2":null},"`":e}}),CodeMirror.defineMIME("text/x-cassandra",{name:"sql",client:{},keywords:f("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:f("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:f("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:f("commentSlashSlash decimallessFloat"),hooks:{}}),CodeMirror.defineMIME("text/x-plsql",{name:"sql",client:f("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:f("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:f("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:f("date time timestamp"),support:f("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),CodeMirror.defineMIME("text/x-hive",{name:"sql",keywords:f("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:f("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:f("date timestamp"),support:f("ODBCdotTable doubleQuote binaryNumber hexNumber")}),CodeMirror.defineMIME("text/x-pgsql",{name:"sql",client:f("source"),keywords:f(a+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:f("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),CodeMirror.defineMIME("text/x-gql",{name:"sql",keywords:f("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:f("false true"),builtin:f("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),CodeMirror.defineMIME("text/x-gpsql",{name:"sql",client:f("source"),keywords:f("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:f("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:f("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),CodeMirror.defineMIME("text/x-sparksql",{name:"sql",keywords:f("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:f("abs acos acosh add_months aggregate and any approx_count_distinct approx_percentile array array_contains array_distinct array_except array_intersect array_join array_max array_min array_position array_remove array_repeat array_sort array_union arrays_overlap arrays_zip ascii asin asinh assert_true atan atan2 atanh avg base64 between bigint bin binary bit_and bit_count bit_get bit_length bit_or bit_xor bool_and bool_or boolean bround btrim cardinality case cast cbrt ceil ceiling char char_length character_length chr coalesce collect_list collect_set concat concat_ws conv corr cos cosh cot count count_if count_min_sketch covar_pop covar_samp crc32 cume_dist current_catalog current_database current_date current_timestamp current_timezone current_user date date_add date_format date_from_unix_date date_part date_sub date_trunc datediff day dayofmonth dayofweek dayofyear decimal decode degrees delimited dense_rank div double e element_at elt encode every exists exp explode explode_outer expm1 extract factorial filter find_in_set first first_value flatten float floor forall format_number format_string from_csv from_json from_unixtime from_utc_timestamp get_json_object getbit greatest grouping grouping_id hash hex hour hypot if ifnull in initcap inline inline_outer input_file_block_length input_file_block_start input_file_name inputformat instr int isnan isnotnull isnull java_method json_array_length json_object_keys json_tuple kurtosis lag last last_day last_value lcase lead least left length levenshtein like ln locate log log10 log1p log2 lower lpad ltrim make_date make_dt_interval make_interval make_timestamp make_ym_interval map map_concat map_entries map_filter map_from_arrays map_from_entries map_keys map_values map_zip_with max max_by md5 mean min min_by minute mod monotonically_increasing_id month months_between named_struct nanvl negative next_day not now nth_value ntile nullif nvl nvl2 octet_length or outputformat overlay parse_url percent_rank percentile percentile_approx pi pmod posexplode posexplode_outer position positive pow power printf quarter radians raise_error rand randn random rank rcfile reflect regexp regexp_extract regexp_extract_all regexp_like regexp_replace repeat replace reverse right rint rlike round row_number rpad rtrim schema_of_csv schema_of_json second sentences sequence sequencefile serde session_window sha sha1 sha2 shiftleft shiftright shiftrightunsigned shuffle sign signum sin sinh size skewness slice smallint some sort_array soundex space spark_partition_id split sqrt stack std stddev stddev_pop stddev_samp str_to_map string struct substr substring substring_index sum tan tanh textfile timestamp timestamp_micros timestamp_millis timestamp_seconds tinyint to_csv to_date to_json to_timestamp to_unix_timestamp to_utc_timestamp transform transform_keys transform_values translate trim trunc try_add try_divide typeof ucase unbase64 unhex uniontype unix_date unix_micros unix_millis unix_seconds unix_timestamp upper uuid var_pop var_samp variance version weekday weekofyear when width_bucket window xpath xpath_boolean xpath_double xpath_float xpath_int xpath_long xpath_number xpath_short xpath_string xxhash64 year zip_with"),atoms:f("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:f("date time timestamp"),support:f("ODBCdotTable doubleQuote zerolessFloat")}),CodeMirror.defineMIME("text/x-esper",{name:"sql",client:f("source"),keywords:f("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:f("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:f("time"),support:f("decimallessFloat zerolessFloat binaryNumber hexNumber")})}(); // stex CodeMirror.defineMode("stex",function(t,e){"use strict";function a(t,e){t.cmdState.push(e)}function i(t){return 0|=,\/@!*:;'"`~#?]/))return null;if(t.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";e=t.next();return"{"==e||"}"==e||"["==e||"]"==e||"("==e||")"==e?"bracket":"%"==e?(t.skipToEnd(),"comment"):"error"}function m(t,e){var n=t.peek();return"{"==n||"["==n?(i(e).openBracket(n),t.eat(n),u(e,r),"bracket"):/[ \t\r]/.test(n)?(t.eat(n),null):(u(e,r),(n=(n=e).cmdState.pop())&&n.closeBracket(),r(t,e))}return c.importmodule=n("importmodule","tag",["string","builtin"]),c.documentclass=n("documentclass","tag",["","atom"]),c.usepackage=n("usepackage","tag",["atom"]),c.begin=n("begin","tag",["atom"]),c.end=n("end","tag",["atom"]),c.label=n("label","tag",["atom"]),c.ref=n("ref","tag",["atom"]),c.eqref=n("eqref","tag",["atom"]),c.cite=n("cite","tag",["atom"]),c.bibitem=n("bibitem","tag",["atom"]),c.Bibitem=n("Bibitem","tag",["atom"]),c.RBibitem=n("RBibitem","tag",["atom"]),c.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}},{startState:function(){return{cmdState:[],f:e.inMathMode?function(t,e){return o(t,e)}:r}},copyState:function(t){return{cmdState:t.cmdState.slice(),f:t.f}},token:function(t,e){return e.f(t,e)},blankLine:function(t){t.f=r,t.cmdState.length=0},lineComment:"%"}}),CodeMirror.defineMIME("text/x-stex","stex"),CodeMirror.defineMIME("text/x-latex","stex"); // stylus !function(){CodeMirror.defineMode("stylus",function(e){for(var r,i,a,o,c=e.indentUnit,d="",t=re(Z),n=/^(a|b|i|s|col|em)$/i,l=re(T),s=re(D),u=re(K),m=re(J),p=re(F),h=te(F),b=re(I),g=re(H),f=re(G),k=/^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/,w=te(Q),y=re(V),v=new RegExp(/^\-(moz|ms|o|webkit)-/i),x=re(ee),z="",q={};d.length|\*)/)&&!_(Y(t))))return o="variable-2",N(Y(t))?"block":L(r,t,"block",0);if(X(t))return L(r,t,"block")}if("block-keyword"==o)return o="keyword",t.current(/(if|unless)/)&&!R(t)?"block":L(r,t,"block");if("return"==e)return L(r,t,"block",0);if("variable-2"==o&&t.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return L(r,t,"block")}return r.context.type},q.parens=function(e,t,r){return"("==e?L(r,t,"parens"):")"==e?"parens"==r.context.prev.type?P(r):t.string.match(/^[a-z][\w-]*\(/i)&&X(t)||N(Y(t))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(Y(t))||!t.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&_(Y(t))||!(t.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||t.string.match(/^\s*(\(|\)|[0-9])/)||t.string.match(/^\s+[a-z][\w-]*\(/i)||t.string.match(/^\s+[\$-]?[a-z]/i))&&X(t)?L(r,t,"block"):L(r,t,"block",0):(e&&"@"==e.charAt(0)&&M(t.current().slice(1))&&(o="variable-2"),"word"==e&&(i=t.current(),"property"!=(o="tag"==(o=S(i))&&n.test(i)?"variable-2":o)&&"to"!=i||(o="atom")),"variable-name"==e?L(r,t,"variableName"):O(e,t)?L(r,t,"pseudo"):r.context.type);var i},q.vendorPrefixes=function(e,t,r){return"word"==e?(o="property",L(r,t,"block",0)):P(r)},q.pseudo=function(e,t,r){return M(Y(t.string))?E(e,t,r):(t.match(/^[a-z-]+/),o="variable-3",X(t)?L(r,t,"block"):P(r))},q.atBlock=function(e,t,r){if("("==e)return L(r,t,"atBlock_parens");if(U(e,t))return L(r,t,"block");if(A(e,t))return L(r,t,"interpolation");if("word"==e){var i=t.current().toLowerCase();if("tag"==(o=/^(only|not|and|or)$/.test(i)?"keyword":p.hasOwnProperty(i)?"tag":g.hasOwnProperty(i)?"attribute":b.hasOwnProperty(i)?"property":s.hasOwnProperty(i)?"string-2":S(t.current()))&&X(t))return L(r,t,"block")}return"operator"==e&&/^(not|and|or)$/.test(t.current())&&(o="keyword"),r.context.type},q.atBlock_parens=function(e,t,r){if("{"==e||"}"==e)return r.context.type;if(")"==e)return X(t)?L(r,t,"block"):L(r,t,"atBlock");if("word"!=e)return q.atBlock(e,t,r);t=t.current().toLowerCase();return o=S(t),"tag"==(o=/^(max|min)/.test(t)?"property":o)&&(o=n.test(t)?"variable-2":"atom"),r.context.type},q.keyframes=function(e,t,r){return"0"==t.indentation()&&("}"==e&&R(t)||"]"==e||"hash"==e||"qualifier"==e||_(t.current()))?E(e,t,r):"{"==e?L(r,t,"keyframes"):"}"==e?R(t)?P(r,!0):L(r,t,"keyframes"):"unit"==e&&/^[0-9]+\%$/.test(t.current())?L(r,t,"keyframes"):"word"==e&&"block-keyword"==(o=S(t.current()))?(o="keyword",L(r,t,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test(e)?L(r,t,X(t)?"block":"atBlock"):"mixin"==e?L(r,t,"block",0):r.context.type},q.interpolation=function(e,t,r){return"{"==e&&P(r)&&L(r,t,"block"),"}"==e?!(t.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||t.string.match(/^\s*[a-z]/i)&&_(Y(t)))&&(!t.string.match(/^(\{|\s*\&)/)||t.match(/\s*[\w-]/,!1))?L(r,t,"block",0):L(r,t,"block"):"variable-name"==e?L(r,t,"variableName",0):("word"==e&&"tag"==(o=S(t.current()))&&(o="atom"),r.context.type)},q.extend=function(e,t,r){return"["==e||"="==e?"extend":"]"!=e&&"word"==e?(o=S(t.current()),"extend"):P(r)},q.variableName=function(e,t,r){return"string"==e||"["==e||"]"==e||t.current().match(/^(\.|\$)/)?(t.current().match(/^\.[\w-]+/i)&&(o="variable-2"),"variableName"):E(e,t,r)},{startState:function(e){return{tokenize:null,state:"block",context:new B("block",e||0,null)}},token:function(e,t){return!t.tokenize&&e.eatSpace()?null:((i=(t.tokenize||function(e,t){if(z=e.string.match(/(^[\w-]+\s*=\s*$)|(^\s*[\w-]+\s*=\s*[\w-])|(^\s*(\.|#|@|\$|\&|\[|\d|\+|::?|\{|\>|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),t.context.line.firstWord=z?z[0].replace(/^\s*/,""):"",t.context.line.indent=e.indentation(),r=e.peek(),e.match("//"))return e.skipToEnd(),["comment","comment"];if(e.match("/*"))return(t.tokenize=j)(e,t);if('"'==r||"'"==r)return e.next(),t.tokenize=$(r),t.tokenize(e,t);if("@"==r)return e.next(),e.eatWhile(/[\w\\-]/),["def",e.current()];if("#"==r){if(e.next(),e.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b(?!-)/i))return["atom","atom"];if(e.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return e.match(v)?["meta","vendor-prefixes"]:e.match(/^-?[0-9]?\.?[0-9]/)?(e.eatWhile(/[a-z%]/i),["number","unit"]):"!"==r?(e.next(),[e.match(/^(important|optional)/i)?"keyword":"operator","important"]):"."==r&&e.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:e.match(h)?("("==e.peek()&&(t.tokenize=C),["property","word"]):e.match(/^[a-z][\w-]*\(/i)?(e.backUp(1),["keyword","mixin"]):e.match(/^(\+|-)[a-z][\w-]*\(/i)?(e.backUp(1),["keyword","block-mixin"]):e.string.match(/^\s*&/)&&e.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:e.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?(e.backUp(1),["variable-3","reference"]):e.match(/^&{1}\s*$/)?["variable-3","reference"]:e.match(w)?["operator","operator"]:e.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?e.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!_(e.current())?(e.match("."),["variable-2","variable-name"]):["variable-2","word"]:e.match(k)?["operator",e.current()]:/[:;,{}\[\]\(\)]/.test(r)?(e.next(),[null,r]):(e.next(),[null,null])})(e,t))&&"object"==typeof i&&(a=i[1],i=i[0]),o=i,t.state=q[t.state](a,e,t),o)},indent:function(e,t,r){var i=e.context,a=t&&t.charAt(0),o=i.indent,n=Y(t),l=r.match(/^\s*/)[0].replace(/\t/g,d).length,s=e.context.prev?e.context.prev.line.firstWord:"",e=e.context.prev?e.context.prev.line.indent:l;return i.prev&&("}"==a&&("block"==i.type||"atBlock"==i.type||"keyframes"==i.type)||")"==a&&("parens"==i.type||"atBlock_parens"==i.type)||"{"==a&&"at"==i.type)?o=i.indent-c:/(\})/.test(a)||(/@|\$|\d/.test(a)||/^\{/.test(t)||/^\s*\/(\/|\*)/.test(t)||/^\s*\/\*/.test(s)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(t)||/^(\+|-)?[a-z][\w-]*\(/i.test(t)||/^return/.test(t)||N(n)?o=l:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(a)||_(n)?o=/\,\s*$/.test(s)?e:/^\s+/.test(r)&&(/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(s)||_(s))?l<=e?e:e+c:l:/,\s*$/.test(r)||!W(n)&&!M(n)||(o=N(s)?l<=e?e:e+c:/^\{/.test(s)?l<=e?l:e+c:W(s)||M(s)?e<=l?e:l:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(s)||/=\s*$/.test(s)||_(s)||/^\$[\w-\.\[\]\'\"]/.test(s)?e+c:l)),o},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"indent"}});var Z=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],F=["domain","regexp","url-prefix","url"],H=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],I=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","dynamic-range","video-dynamic-range"],T=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],D=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],G=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],J=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],K=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","high","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","standard","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],Q=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],V=["for","if","else","unless","from","to"],ee=["null","true","false","href","title","type","not-allowed","readonly","disabled"],e=Z.concat(F,H,I,T,D,J,K,G,Q,V,ee,["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"]);function te(e){return e=e.sort(function(e,t){return e~^?!".indexOf(r))return e.next(),"operator";if(-1<":;,.(){}[]".indexOf(r))return e.next(),e.match(".."),"punctuation";if(r=e.match(/("""|"|')/)){var i=function(e,t,n){var r,i=1==e.length,o=!1;for(;r=t.peek();)if(o){if(t.next(),"("==r)return n.tokenize.push(function(){var r=0;return function(e,t,n){n=v(e,t,n);if("punctuation"==n)if("("==e.current())++r;else if(")"==e.current()){if(0==r)return e.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](e,t);--r}return n}}()),"string";o=!1}else{if(t.match(e))return n.tokenize.pop(),"string";t.next(),o="\\"==r}i&&n.tokenize.pop();return"string"}.bind(null,r[0]);return t.tokenize.push(i),i(e,t)}if(e.match(p)){i=e.current();return c.hasOwnProperty(i)?"variable-2":u.hasOwnProperty(i)?"atom":o.hasOwnProperty(i)?(a.hasOwnProperty(i)&&(t.prev="define"),"keyword"):"define"==n?"def":"variable"}return e.next(),null}function k(e,t){for(var n;;){if(e.match(/^[^/*]+/,!0),!(n=e.next()))break;"/"===n&&e.eat("*")?t.tokenize.push(k):"*"===n&&e.eat("/")&&t.tokenize.pop()}return"comment"}function i(e,t,n){this.prev=e,this.align=t,this.indented=n}CodeMirror.defineMode("swift",function(n){return{startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(e,t){var n=t.prev;t.prev=null;var r=(t.tokenize[t.tokenize.length-1]||v)(e,t,n);return r&&"comment"!=r?t.prev||(t.prev=r):t.prev=n,"punctuation"!=r||(n=/[\(\[\{]|([\]\)\}])/.exec(e.current()))&&(n[1]?function(e){e.context&&(e.indented=e.context.indented,e.context=e.context.prev)}:function(e,t){t=t.match(/^\s*($|\/[\/\*])/,!1)?null:t.column()+1,e.context=new i(e.context,t,e.indented)})(t,e),r},indent:function(e,t){e=e.context;if(!e)return 0;t=/^[\]\}\)]/.test(t);return null!=e.align?e.align-(t?1:0):e.indented+(t?0:n.indentUnit)},electricInput:/^\s*[\)\}\]]$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace",closeBrackets:"()[]{}''\"\"``"}}),CodeMirror.defineMIME("text/x-swift","swift")}(); // tcl CodeMirror.defineMode("tcl",function(){function e(e){for(var r={},t=e.split(" "),n=0;n!?^\/\|]/;function f(e,r,t){return(r.tokenize=t)(e,r)}function c(e,r){var t=r.beforeParams;r.beforeParams=!1;var o,n=e.next();if('"'!=n&&"'"!=n||!r.inParams){if(/[\[\]{}\(\),;\.]/.test(n))return"("==n&&t?r.inParams=!0:")"==n&&(r.inParams=!1),null;if(/\d/.test(n))return e.eatWhile(/[\w\.]/),"number";if("#"==n)return e.eat("*")?f(e,r,u):"#"==n&&e.match(/ *\[ *\[/)?f(e,r,s):(e.skipToEnd(),"comment");if('"'==n)return e.skipTo(/"/),"comment";if("$"==n)return e.eatWhile(/[$_a-z0-9A-Z\.{:]/),e.eatWhile(/}/),r.beforeParams=!0,"builtin";if(l.test(n))return e.eatWhile(l),"comment";e.eatWhile(/[\w\$_{}\xa1-\uffff]/);t=e.current().toLowerCase();return a&&a.propertyIsEnumerable(t)?"keyword":i&&i.propertyIsEnumerable(t)?(r.beforeParams=!0,"keyword"):null}return f(e,r,(o=n,function(e,r){for(var t,n=!1,a=!1;null!=(t=e.next());){if(t==o&&!n){a=!0;break}n=!n&&"\\"==t}return a&&(r.tokenize=c),"string"}))}function u(e,r){for(var t,n=!1;t=e.next();){if("#"==t&&n){r.tokenize=c;break}n="*"==t}return"comment"}function s(e,r){for(var t,n=0;t=e.next();){if("#"==t&&2==n){r.tokenize=c;break}"]"==t?n++:" "!=t&&(n=0)}return"meta"}return{startState:function(){return{tokenize:c,beforeParams:!1,inParams:!1}},token:function(e,r){return e.eatSpace()?null:r.tokenize(e,r)},lineComment:"#"}}),CodeMirror.defineMIME("text/x-tcl","tcl"); // textile !function(){var i={addition:"positive",attributes:"attribute",bold:"strong",cite:"keyword",code:"atom",definitionList:"number",deletion:"negative",div:"punctuation",em:"em",footnote:"variable",footCite:"qualifier",header:"header",html:"comment",image:"string",italic:"em",link:"link",linkDefinition:"link",list1:"variable-2",list2:"variable-3",list3:"keyword",notextile:"string-2",pre:"operator",p:"property",quote:"bracket",span:"quote",specialChar:"tag",strong:"strong",sub:"builtin",sup:"builtin",table:"variable-3",tableHeading:"operator"};function a(t,e,n){if("_"===n)return t.eat("_")?r(t,e,"italic",/__/,2):r(t,e,"em",/_/,1);if("*"===n)return t.eat("*")?r(t,e,"bold",/\*\*/,2):r(t,e,"strong",/\*/,1);if("["===n)return t.match(/\d+\]/)&&(e.footCite=!0),o(e);if("("===n&&t.match(/^(r|tm|c)\)/))return u(e,i.specialChar);if("<"===n&&t.match(/(\w+)[^>]+>[^<]+<\/\1>/))return u(e,i.html);if("?"===n&&t.eat("?"))return r(t,e,"cite",/\?\?/,2);if("="===n&&t.eat("="))return r(t,e,"notextile",/==/,2);if("-"===n&&!t.eat("-"))return r(t,e,"deletion",/-/,1);if("+"===n)return r(t,e,"addition",/\+/,1);if("~"===n)return r(t,e,"sub",/~/,1);if("^"===n)return r(t,e,"sup",/\^/,1);if("%"===n)return r(t,e,"span",/%/,1);if("@"===n)return r(t,e,"code",/@/,1);if("!"!==n)return o(e);e=r(t,e,"image",/(?:\([^\)]+\))?!/,1);return t.match(/^:\S+/),e}function r(t,e,n,i,a){var r=t.pos>a?t.string.charAt(t.pos-a-1):null,l=t.peek();if(e[n]){if((!l||/\W/.test(l))&&r&&/\S/.test(r)){a=o(e);return e[n]=!1,a}}else(!r||/\W/.test(r))&&l&&/\S/.test(l)&&t.match(new RegExp("^.*\\S"+i.source+"(?:\\W|$)"),!1)&&(e[n]=!0,e.mode=c.attributes);return o(e)}function o(t){var e=l(t);if(e)return e;e=[];return t.layoutType&&e.push(i[t.layoutType]),e=e.concat(function(t){for(var e=[],n=1;n]+)?>(?:[^<]+<\/\1>)?/,link:/[^"]+":\S/,linkDefinition:/\[[^\s\]]+\]\S+/,list:/(?:#+|\*+)/,notextile:"notextile",para:"p",pre:"pre",table:"table",tableCellAttributes:/[\/\\]\d+/,tableHeading:/\|_\./,tableText:/[^"_\*\[\(\?\+~\^%@|-]+/,text:/[^!"_=\*\[\(<\?\+~\^%@-]+/},attributes:{align:/(?:<>|<|>|=)/,selector:/\([^\(][^\)]+\)/,lang:/\[[^\[\]]+\]/,pad:/(?:\(+|\)+){1,2}/,css:/\{[^\}]+\}/},createRe:function(t){switch(t){case"drawTable":return n.makeRe("^",n.single.drawTable,"$");case"html":return n.makeRe("^",n.single.html,"(?:",n.single.html,")*","$");case"linkDefinition":return n.makeRe("^",n.single.linkDefinition,"$");case"listLayout":return n.makeRe("^",n.single.list,s("allAttributes"),"*\\s+");case"tableCellAttributes":return n.makeRe("^",n.choiceRe(n.single.tableCellAttributes,s("allAttributes")),"+\\.");case"type":return n.makeRe("^",s("allTypes"));case"typeLayout":return n.makeRe("^",s("allTypes"),s("allAttributes"),"*\\.\\.?","(\\s+|$)");case"attributes":return n.makeRe("^",s("allAttributes"),"+");case"allTypes":return n.choiceRe(n.single.div,n.single.foot,n.single.header,n.single.bc,n.single.bq,n.single.notextile,n.single.pre,n.single.table,n.single.para);case"allAttributes":return n.choiceRe(n.attributes.selector,n.attributes.css,n.attributes.lang,n.attributes.align,n.attributes.pad);default:return n.makeRe("^",n.single[t])}},makeRe:function(){for(var t="",e=0;e$/,h=/^$/,d=/^\{\{\{$/,s=/^\}\}\}$/,b=/.*?\}\}\}/;function p(e,t,r){return(t.tokenize=r)(e,t)}function $(e,t){var r=e.sol(),n=e.peek();if(t.block=!1,r&&/[<\/\*{}\-]/.test(n)){if(e.match(d))return t.block=!0,p(e,t,x);if(e.match(c))return"quote";if(e.match(o)||e.match(f))return"comment";if(e.match(l)||e.match(m)||e.match(k)||e.match(h))return"comment";if(e.match(u))return"hr"}if(e.next(),r&&/[\/\*!#;:>|]/.test(n)){if("!"==n)return e.skipToEnd(),"header";if("*"==n)return e.eatWhile("*"),"comment";if("#"==n)return e.eatWhile("#"),"comment";if(";"==n)return e.eatWhile(";"),"comment";if(":"==n)return e.eatWhile(":"),"comment";if(">"==n)return e.eatWhile(">"),"quote";if("|"==n)return"header"}if("{"==n&&e.match("{{"))return p(e,t,x);if(/[hf]/i.test(n)&&/[ti]/i.test(e.peek())&&e.match(/\b(ttps?|tp|ile):\/\/[\-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i))return"link";if('"'==n)return"string";if("~"==n)return"brace";if(/[\[\]]/.test(n)&&e.match(n))return"brace";if("@"==n)return e.eatWhile(a),"link";if(/\d/.test(n))return e.eatWhile(/\d/),"number";if("/"==n){if(e.eat("%"))return p(e,t,v);if(e.eat("/"))return p(e,t,z)}if("_"==n&&e.eat("_"))return p(e,t,g);if("-"==n&&e.eat("-")){if(" "!=e.peek())return p(e,t,W);if(" "==e.peek())return"brace"}return"'"==n&&e.eat("'")?p(e,t,w):"<"==n&&e.eat("<")?p(e,t,_):(e.eatWhile(/[\w\$_]/),i.propertyIsEnumerable(e.current())?"keyword":null)}function v(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=$;break}n="%"==r}return"comment"}function w(e,t){for(var r,n=!1;r=e.next();){if("'"==r&&n){t.tokenize=$;break}n="'"==r}return"strong"}function x(e,t){var r=t.block;return r&&e.current()||(!r&&e.match(b)||r&&e.sol()&&e.match(s)?t.tokenize=$:e.next()),"comment"}function z(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=$;break}n="/"==r}return"em"}function g(e,t){for(var r,n=!1;r=e.next();){if("_"==r&&n){t.tokenize=$;break}n="_"==r}return"underlined"}function W(e,t){for(var r,n=!1;r=e.next();){if("-"==r&&n){t.tokenize=$;break}n="-"==r}return"strikethrough"}function _(e,t){if("<<"==e.current())return"macro";var r=e.next();return r?">"==r&&">"==e.peek()?(e.next(),t.tokenize=$,"macro"):(e.eatWhile(/[\w\$_]/),n.propertyIsEnumerable(e.current())?"keyword":null):(t.tokenize=$,null)}return{startState:function(){return{tokenize:$}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)}}}),CodeMirror.defineMIME("text/x-tiddlywiki","tiddlywiki"); // tiki CodeMirror.defineMode("tiki",function(e){function a(n,r,i){return function(e,t){for(;!e.eol();){if(e.match(r)){t.tokenize=u;break}e.next()}return i&&(t.tokenize=i),n}}function o(n){return function(e,t){for(;!e.eol();)e.next();return t.tokenize=u,n}}function u(t,n){function e(e){return(n.tokenize=e)(t,n)}var r=t.sol(),i=t.next();switch(i){case"{":return t.eat("/"),t.eatSpace(),t.eatWhile(/[^\s\u00a0=\"\'\/?(}]/),n.tokenize=s,"tag";case"_":if(t.eat("_"))return e(a("strong","__",u));break;case"'":if(t.eat("'"))return e(a("em","''",u));break;case"(":if(t.eat("("))return e(a("variable-2","))",u));break;case"[":return e(a("variable-3","]",u));case"|":if(t.eat("|"))return e(a("comment","||"));break;case"-":if(t.eat("="))return e(a("header string","=-",u));if(t.eat("-"))return e(a("error tw-deleted","--",u));break;case"=":if(t.match("=="))return e(a("tw-underline","===",u));break;case":":if(t.eat(":"))return e(a("comment","::"));break;case"^":return e(a("tw-box","^"));case"~":if(t.match("np~"))return e(a("meta","~/np~"))}if(r)switch(i){case"!":return t.match("!!!!!")||t.match("!!!!")||t.match("!!!")||t.match("!!"),e(o("header string"));case"*":case"#":case"+":return e(o("tw-listitem bracket"))}return null}var c,r,i,f=e.indentUnit;function s(e,t){var n,r=e.next(),i=e.peek();return"}"==r?(t.tokenize=u,"tag"):"("==r||")"==r?"bracket":"="==r?(c="equals",">"==i&&(e.next(),i=e.peek()),/[\'\"]/.test(i)||(t.tokenize=function(e,t){for(;!e.eol();){var n=e.next(),r=e.peek();if(" "==n||","==n||/[ )}]/.test(r)){t.tokenize=s;break}}return"string"}),"operator"):/[\'\"]/.test(r)?(t.tokenize=(n=r,function(e,t){for(;!e.eol();)if(e.next()==n){t.tokenize=s;break}return"string"}),t.tokenize(e,t)):(e.eatWhile(/[^\s\u00a0=\"\'\/?]/),"keyword")}function l(){for(var e=arguments.length-1;0<=e;e--)r.cc.push(arguments[e])}function k(){return l.apply(null,arguments),!0}function d(e,t){var n=r.context&&r.context.noIndent;r.context={prev:r.context,pluginName:e,indent:r.indented,startOfLine:t,noIndent:n}}function g(){r.context&&(r.context=r.context.prev)}function p(e){if("openPlugin"==e)return r.pluginName=null,k(m,(n=r.startOfLine,function(e){return"selfclosePlugin"==e||"endPlugin"==e||"endPlugin"==e&&d(r.pluginName,n),k()}));if("closePlugin"!=e)return"string"==e&&(r.context&&"!cdata"==r.context.name||d("!cdata"),r.tokenize==u&&g()),k();var t,n,e=!1;return r.context?(e=null!=r.context.pluginName,g()):e=!0,e&&(i="error"),k((t=e,function(e){return t&&(i="error"),("endPlugin"==e?k:l)()}))}function m(e){return"keyword"==e?(i="attribute",k(m)):"equals"==e?k(t,m):l()}function t(e){return"keyword"==e?(i="string",k()):"string"==e?k(n):l()}function n(e){return"string"==e?k(n):l()}return{startState:function(){return{tokenize:u,cc:[],indented:0,startOfLine:!0,pluginName:null,context:null}},token:function(e,t){if(e.sol()&&(t.startOfLine=!0,t.indented=e.indentation()),e.eatSpace())return null;i=c=null;var n=t.tokenize(e,t);if((n||c)&&"comment"!=n)for(r=t;;)if((t.cc.pop()||p)(c||n))break;return t.startOfLine=!1,i||n},indent:function(e,t){var n=e.context;if(n&&n.noIndent)return 0;for(n&&/^{\//.test(t)&&(n=n.prev);n&&!n.startOfLine;)n=n.prev;return n?n.indent+f:0},electricChars:"/"}}),CodeMirror.defineMIME("text/tiki","tiki"); // toml CodeMirror.defineMode("toml",function(){return{startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(e,t){if(t.inString||'"'!=e.peek()&&"'"!=e.peek()||(t.stringType=e.peek(),e.next(),t.inString=!0),e.sol()&&0===t.inArray&&(t.lhs=!0),t.inString){for(;t.inString&&!e.eol();)e.peek()===t.stringType?(e.next(),t.inString=!1):"\\"===e.peek()?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return t.lhs?"property string":"string"}return t.inArray&&"]"===e.peek()?(e.next(),t.inArray--,"bracket"):t.lhs&&"["===e.peek()&&e.skipTo("]")?(e.next(),"]"===e.peek()&&e.next(),"atom"):"#"===e.peek()?(e.skipToEnd(),"comment"):e.eatSpace()?null:t.lhs&&e.eatWhile(function(e){return"="!=e&&" "!=e})?"property":t.lhs&&"="===e.peek()?(e.next(),t.lhs=!1,null):(t.lhs||!e.match(/^\d\d\d\d[\d\-\:\.T]*Z/))&&(t.lhs||!e.match("true")&&!e.match("false"))?t.lhs||"["!==e.peek()?!t.lhs&&e.match(/^\-?\d+(?:\.\d+)?/)?"number":(e.eatSpace()||e.next(),null):(t.inArray++,e.next(),"bracket"):"atom"}}}),CodeMirror.defineMIME("text/x-toml","toml"); // tornado CodeMirror.defineMode("tornado:inner",function(){var r=["and","as","assert","autoescape","block","break","class","comment","context","continue","datetime","def","del","elif","else","end","escape","except","exec","extends","false","finally","for","from","global","if","import","in","include","is","json_encode","lambda","length","linkify","load","module","none","not","or","pass","print","put","raise","raw","return","self","set","squeeze","super","true","try","url_escape","while","with","without","xhtml_escape","yield"];function o(e,t){e.eatWhile(/[^\{]/);var n=e.next();if("{"==n&&(n=e.eat(/\{|%|#/)))return t.tokenize=function(n){"{"==n&&(n="}");return function(e,t){return e.next()==n&&e.eat("}")?(t.tokenize=o,"tag"):e.match(r)?"keyword":"#"==n?"comment":"string"}}(n),"tag"}return r=new RegExp("^(("+r.join(")|(")+"))\\b"),{startState:function(){return{tokenize:o}},token:function(e,t){return t.tokenize(e,t)}}}),CodeMirror.defineMode("tornado",function(e){var t=CodeMirror.getMode(e,"text/html"),e=CodeMirror.getMode(e,"tornado:inner");return CodeMirror.overlayMode(t,e)}),CodeMirror.defineMIME("text/x-tornado","tornado"); // troff CodeMirror.defineMode("troff",function(){var a={};function t(t,r){return(r.tokens[0]||function(t){if(t.eatSpace())return null;var r=t.sol(),e=t.next();if("\\"===e)return t.match("fB")||t.match("fR")||t.match("fI")||t.match("u")||t.match("d")||t.match("%")||t.match("&")||(t.match("m[")?(t.skipTo("]"),t.next()):t.match("s+")||t.match("s-")?t.eatWhile(/[\d-]/):(t.match("(")||t.match("*("))&&t.eatWhile(/[\w-]/)),"string";if(r&&("."===e||"'"===e)&&t.eat("\\")&&t.eat('"'))return t.skipToEnd(),"comment";if(r&&"."===e){if(t.match("B ")||t.match("I ")||t.match("R "))return"attribute";if(t.match("TH ")||t.match("SH ")||t.match("SS ")||t.match("HP "))return t.skipToEnd(),"quote";if(t.match(/[A-Z]/)&&t.match(/[A-Z]/)||t.match(/[a-z]/)&&t.match(/[a-z]/))return"attribute"}return t.eatWhile(/[\w-]/),t=t.current(),a.hasOwnProperty(t)?a[t]:null})(t,r)}return{startState:function(){return{tokens:[]}},token:t}}),CodeMirror.defineMIME("text/troff","troff"),CodeMirror.defineMIME("text/x-troff","troff"),CodeMirror.defineMIME("application/x-troff","troff"); // ttcn !function(){function t(t){for(var e={},n=t.split(" "),r=0;r!\/]/;function k(t,e){var s,n=t.next();if('"'==n||"'"==n)return e.tokenize=(s=n,function(t,e){for(var n,r=!1,i=!1;null!=(n=t.next());){if(n==s&&!r){var o=t.peek();o&&("b"!=(o=o.toLowerCase())&&"h"!=o&&"o"!=o||t.next()),i=!0;break}r=!r&&"\\"==n}return!i&&(r||g)||(e.tokenize=null),"string"}),e.tokenize(t,e);if(/[\[\]{}\(\),;\\:\?\.]/.test(n))return i=n,"punctuation";if("#"==n)return t.skipToEnd(),"atom preprocessor";if("%"==n)return t.eatWhile(/\b/),"atom ttcn3Macros";if(/\d/.test(n))return t.eatWhile(/[\w\.]/),"number";if("/"==n){if(t.eat("*"))return(e.tokenize=O)(t,e);if(t.eat("/"))return t.skipToEnd(),"comment"}if(x.test(n))return"@"==n&&(t.match("try")||t.match("catch")||t.match("lazy"))?"keyword":(t.eatWhile(x),"operator");t.eatWhile(/[\w\$_\xa1-\uffff]/);t=t.current();return r.propertyIsEnumerable(t)?"keyword":o.propertyIsEnumerable(t)?"builtin":a.propertyIsEnumerable(t)?"def timerOps":c.propertyIsEnumerable(t)?"def configOps":p.propertyIsEnumerable(t)?"def verdictOps":l.propertyIsEnumerable(t)?"def portOps":u.propertyIsEnumerable(t)?"def sutOps":f.propertyIsEnumerable(t)?"def functionOps":d.propertyIsEnumerable(t)?"string verdictConsts":m.propertyIsEnumerable(t)?"string booleanConsts":b.propertyIsEnumerable(t)?"string otherConsts":h.propertyIsEnumerable(t)?"builtin types":y.propertyIsEnumerable(t)?"builtin visibilityModifiers":v.propertyIsEnumerable(t)?"atom templateMatch":"variable"}function O(t,e){for(var n,r=!1;n=t.next();){if("/"==n&&r){e.tokenize=null;break}r="*"==n}return"comment"}function E(t,e,n,r,i){this.indented=t,this.column=e,this.type=n,this.align=r,this.prev=i}function C(t,e,n){var r=t.indented;return t.context&&"statement"==t.context.type&&(r=t.context.indented),t.context=new E(r,e,n,null,t.context)}function w(t){var e=t.context.type;return")"!=e&&"]"!=e&&"}"!=e||(t.indented=t.context.indented),t.context=t.context.prev}return{startState:function(t){return{tokenize:null,context:new E((t||0)-n,0,"top",!1),indented:0,startOfLine:!0}},token:function(t,e){var n=e.context;if(t.sol()&&(null==n.align&&(n.align=!1),e.indented=t.indentation(),e.startOfLine=!0),t.eatSpace())return null;i=null;var r=(e.tokenize||k)(t,e);if("comment"==r)return r;if(null==n.align&&(n.align=!0),";"!=i&&":"!=i&&","!=i||"statement"!=n.type)if("{"==i)C(e,t.column(),"}");else if("["==i)C(e,t.column(),"]");else if("("==i)C(e,t.column(),")");else if("}"==i){for(;"statement"==n.type;)n=w(e);for("}"==n.type&&(n=w(e));"statement"==n.type;)n=w(e)}else i==n.type?w(e):s&&(("}"==n.type||"top"==n.type)&&";"!=i||"statement"==n.type&&"newstatement"==i)&&C(e,t.column(),"statement");else w(e);return e.startOfLine=!1,r},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}}),function(t,e){"string"==typeof t&&(t=[t]);var n=[];function r(t){if(t)for(var e in t)t.hasOwnProperty(e)&&n.push(e)}r(e.keywords),r(e.builtin),r(e.timerOps),r(e.portOps),n.length&&(e.helperType=t[0],CodeMirror.registerHelper("hintWords",t[0],n));for(var i=0;i=&|]/;function l(t,e){var r,n=t.next();if(o=null,"<"!=n||t.match(/^[\s\u00a0=]/,!1)){if('"'==n||"'"==n)return e.tokenize=(r=n,function(t,e){for(var n,o=!1;null!=(n=t.next());){if(n==r&&!o){e.tokenize=l;break}o=!o&&"\\"==n}return"string"}),e.tokenize(t,e);if(/[{}\(\),\.;\[\]]/.test(n))return o=n,null;if("#"==n)return t.skipToEnd(),"comment";if(c.test(n))return t.eatWhile(c),null;if(":"==n)return"operator";if(t.eatWhile(/[_\w\d]/),":"==t.peek())return"variable-3";e=t.current();return i.test(e)?"meta":"A"<=n&&n<="Z"?"comment":"keyword"}return t.match(/^[^\s\u00a0>]*>?/),"atom"}function a(t,e,n){t.context={prev:t.context,indent:t.indent,col:n,type:e}}function u(t){t.indent=t.context.indent,t.context=t.context.prev}return{startState:function(){return{tokenize:l,context:null,indent:0,col:0}},token:function(t,e){if(t.sol()&&(e.context&&null==e.context.align&&(e.context.align=!1),e.indent=t.indentation()),t.eatSpace())return null;var n=e.tokenize(t,e);if("comment"!=n&&e.context&&null==e.context.align&&"pattern"!=e.context.type&&(e.context.align=!0),"("==o)a(e,")",t.column());else if("["==o)a(e,"]",t.column());else if("{"==o)a(e,"}",t.column());else if(/[\]\}\)]/.test(o)){for(;e.context&&"pattern"==e.context.type;)u(e);e.context&&o==e.context.type&&u(e)}else"."==o&&e.context&&"pattern"==e.context.type?u(e):/atom|string|variable/.test(n)&&e.context&&(/[\}\]]/.test(e.context.type)?a(e,"pattern",t.column()):"pattern"!=e.context.type||e.context.align||(e.context.align=!0,e.context.col=t.column()));return n},indent:function(t,e){var e=e&&e.charAt(0),n=t.context;if(/[\]\}]/.test(e))for(;n&&"pattern"==n.type;)n=n.prev;e=n&&e==n.type;return n?"pattern"==n.type?n.col:n.align?n.col+(e?0:1):n.indent+(e?0:r):0},lineComment:"#"}}),CodeMirror.defineMIME("text/turtle","turtle"); // twig CodeMirror.defineMode("twig:inner",function(){var r=["and","as","autoescape","endautoescape","block","do","endblock","else","elseif","extends","for","endfor","embed","endembed","filter","endfilter","flush","from","if","endif","in","is","include","import","not","or","set","spaceless","endspaceless","with","endwith","trans","endtrans","blocktrans","endblocktrans","macro","endmacro","use","verbatim","endverbatim"],i=/^[+\-*&%=<>!?|~^]/,o=/^[:\[\(\{]/,a=["true","false","null","empty","defined","divisibleby","divisible by","even","odd","iterable","sameas","same as"],s=/^(\d[+\-\*\/])?\d+(\.\d+)?/;return r=new RegExp("(("+r.join(")|(")+"))\\b"),a=new RegExp("(("+a.join(")|(")+"))\\b"),{startState:function(){return{}},token:function(e,t){var n=e.peek();if(t.incomment)return e.skipTo("#}")?(e.eatWhile(/\#|}/),t.incomment=!1):e.skipToEnd(),"comment";if(t.intag){if(t.operator){if(t.operator=!1,e.match(a))return"atom";if(e.match(s))return"number"}if(t.sign){if(t.sign=!1,e.match(a))return"atom";if(e.match(s))return"number"}if(t.instring)return n==t.instring&&(t.instring=!1),e.next(),"string";if("'"==n||'"'==n)return t.instring=n,e.next(),"string";if(e.match(t.intag+"}")||e.eat("-")&&e.match(t.intag+"}"))return t.intag=!1,"tag";if(e.match(i))return t.operator=!0,"operator";if(e.match(o))t.sign=!0;else if(e.eat(" ")||e.sol()){if(e.match(r))return"keyword";if(e.match(a))return"atom";if(e.match(s))return"number";e.sol()&&e.next()}else e.next();return"variable"}if(e.eat("{")){if(e.eat("#"))return t.incomment=!0,e.skipTo("#}")?(e.eatWhile(/\#|}/),t.incomment=!1):e.skipToEnd(),"comment";if(n=e.eat(/\{|%/))return"{"==(t.intag=n)&&(t.intag="}"),e.eat("-"),"tag"}e.next()}}}),CodeMirror.defineMode("twig",function(e,t){var n=CodeMirror.getMode(e,"twig:inner");return t&&t.base?CodeMirror.multiplexingMode(CodeMirror.getMode(e,t.base),{open:/\{[{#%]/,close:/[}#%]\}/,mode:n,parseDelimiters:!0}):n}),CodeMirror.defineMIME("text/x-twig","twig"); // vb CodeMirror.defineMode("vb",function(n,a){var c="error";function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var d=new RegExp("^[\\+\\-\\*/%&\\\\|\\^~<>!]"),s=new RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),l=new RegExp("^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"),u=new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"),h=new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"),m=new RegExp("^[_A-Za-z][_A-Za-z0-9]*"),t=["class","module","sub","enum","select","while","if","function","get","set","property","try","structure","synclock","using","with"],r=["else","elseif","case","catch","finally"],i=["next","loop"],o=["and","andalso","or","orelse","xor","in","not","is","isnot","like"],f=e(o),p=["#const","#else","#elseif","#end","#if","#region","addhandler","addressof","alias","as","byref","byval","cbool","cbyte","cchar","cdate","cdbl","cdec","cint","clng","cobj","compare","const","continue","csbyte","cshort","csng","cstr","cuint","culng","cushort","declare","default","delegate","dim","directcast","each","erase","error","event","exit","explicit","false","for","friend","gettype","goto","handles","implements","imports","infer","inherits","interface","isfalse","istrue","lib","me","mod","mustinherit","mustoverride","my","mybase","myclass","namespace","narrowing","new","nothing","notinheritable","notoverridable","of","off","on","operator","option","optional","out","overloads","overridable","overrides","paramarray","partial","private","protected","public","raiseevent","readonly","redim","removehandler","resume","return","shadows","shared","static","step","stop","strict","then","throw","to","true","trycast","typeof","until","until","when","widening","withevents","writeonly"],g=["object","boolean","char","string","byte","sbyte","short","ushort","int16","uint16","integer","uinteger","int32","uint32","long","ulong","int64","uint64","decimal","single","double","float","date","datetime","intptr","uintptr"],b=e(p),y=e(g),v='"',w=e(t),k=e(r),x=e(i),I=e(["end"]),E=e(["do"]);function C(e,t){t.currentIndent++}function L(e,t){t.currentIndent--}function z(e,t){if(e.eatSpace())return null;var n,r,i;if("'"===e.peek())return e.skipToEnd(),"comment";if(e.match(/^((&H)|(&O))?[0-9\.a-f]/i,!1)){var o=!1;if(o=e.match(/^\d*\.\d+F?/i)||e.match(/^\d+\.\d*F?/)||e.match(/^\.\d+F?/)?!0:o)return e.eat(/J/i),"number";o=!1;if(e.match(/^&H[0-9a-f]+/i)||e.match(/^&O[0-7]+/i)?o=!0:e.match(/^[1-9]\d*F?/)?(e.eat(/J/i),o=!0):e.match(/^0(?![\dx])/i)&&(o=!0),o)return e.eat(/L/i),"number"}return e.match(v)?(t.tokenize=(n=e.current(),r=1==n.length,i="string",function(e,t){for(;!e.eol();){if(e.eatWhile(/[^'"]/),e.match(n))return t.tokenize=z,i;e.eat(/['"]/)}if(r){if(a.singleLineStringErrors)return c;t.tokenize=z}return i}),t.tokenize(e,t)):e.match(h)||e.match(u)?null:e.match(l)||e.match(d)||e.match(f)?"operator":e.match(s)?null:e.match(E)?(C(0,t),t.doInCurrentLine=!0,"keyword"):e.match(w)?(t.doInCurrentLine?t.doInCurrentLine=!1:C(0,t),"keyword"):e.match(k)?"keyword":e.match(I)?(L(0,t),L(0,t),"keyword"):e.match(x)?(L(0,t),"keyword"):e.match(y)||e.match(b)?"keyword":e.match(m)?"variable":(e.next(),c)}return CodeMirror.registerHelper("hintWords","vb",t.concat(r).concat(i).concat(o).concat(p).concat(g)),{electricChars:"dDpPtTfFeE ",startState:function(){return{tokenize:z,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1}},token:function(e,t){e.sol()&&(t.currentIndent+=t.nextLineIndent,t.nextLineIndent=0,t.doInCurrentLine=0);var n,r,i,o,i=(n=e,i=(r=t).tokenize(n,r),"."===(o=n.current())?"variable"===(i=r.tokenize(n,r))?"variable":c:(-1!=="[({".indexOf(o)&&C(0,r),-1!=="])}".indexOf(o)&&L(0,r),i));return t.lastToken={style:i,content:e.current()},i},indent:function(e,t){t=t.replace(/^\s+|\s+$/g,"");return t.match(x)||t.match(I)||t.match(k)?n.indentUnit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*n.indentUnit},lineComment:"'"}}),CodeMirror.defineMIME("text/x-vb","vb"); // vbscript CodeMirror.defineMode("vbscript",function(r,i){var o="error";function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var c=new RegExp("^[\\+\\-\\*/&\\\\\\^<>=]"),b=new RegExp("^((<>)|(<=)|(>=))"),s=new RegExp("^[\\.,]"),l=new RegExp("^[\\(\\)]"),u=new RegExp("^[A-Za-z][_A-Za-z0-9]*"),d=e(["and","or","not","xor","is","mod","eqv","imp"]),t=["WScript","err","debug","RegExp"],v=["clear","execute","raise","replace","test","write","writeline","close","open","state","eof","update","addnew","end","createobject","quit"].concat(["description","firstindex","global","helpcontext","helpfile","ignorecase","length","number","pattern","source","value","count"]),t=t.concat(["vbBlack","vbRed","vbGreen","vbYellow","vbBlue","vbMagenta","vbCyan","vbWhite","vbBinaryCompare","vbTextCompare","vbSunday","vbMonday","vbTuesday","vbWednesday","vbThursday","vbFriday","vbSaturday","vbUseSystemDayOfWeek","vbFirstJan1","vbFirstFourDays","vbFirstFullWeek","vbGeneralDate","vbLongDate","vbShortDate","vbLongTime","vbShortTime","vbObjectError","vbOKOnly","vbOKCancel","vbAbortRetryIgnore","vbYesNoCancel","vbYesNo","vbRetryCancel","vbCritical","vbQuestion","vbExclamation","vbInformation","vbDefaultButton1","vbDefaultButton2","vbDefaultButton3","vbDefaultButton4","vbApplicationModal","vbSystemModal","vbOK","vbCancel","vbAbort","vbRetry","vbIgnore","vbYes","vbNo","vbCr","VbCrLf","vbFormFeed","vbLf","vbNewLine","vbNullChar","vbNullString","vbTab","vbVerticalTab","vbUseDefault","vbTrue","vbFalse","vbEmpty","vbNull","vbInteger","vbLong","vbSingle","vbDouble","vbCurrency","vbDate","vbString","vbObject","vbError","vbBoolean","vbVariant","vbDataObject","vbDecimal","vbByte","vbArray"]);r.isASP&&(t=t.concat(["server","response","request","session","application"]),v=v.concat(["addheader","appendtolog","binarywrite","end","flush","redirect","binaryread","remove","removeall","lock","unlock","abandon","getlasterror","htmlencode","mappath","transfer","urlencode"],["buffer","cachecontrol","charset","contenttype","expires","expiresabsolute","isclientconnected","pics","status","clientcertificate","cookies","form","querystring","servervariables","totalbytes","contents","staticobjects","codepage","lcid","sessionid","timeout","scripttimeout"]));var m=e(["dim","redim","then","until","randomize","byval","byref","new","property","exit","in","const","private","public","get","set","let","stop","on error resume next","on error goto 0","option explicit","call","me"]),p=e(["true","false","nothing","empty","null"]),h=e(["abs","array","asc","atn","cbool","cbyte","ccur","cdate","cdbl","chr","cint","clng","cos","csng","cstr","date","dateadd","datediff","datepart","dateserial","datevalue","day","escape","eval","execute","exp","filter","formatcurrency","formatdatetime","formatnumber","formatpercent","getlocale","getobject","getref","hex","hour","inputbox","instr","instrrev","int","fix","isarray","isdate","isempty","isnull","isnumeric","isobject","join","lbound","lcase","left","len","loadpicture","log","ltrim","rtrim","trim","maths","mid","minute","month","monthname","msgbox","now","oct","replace","rgb","right","rnd","round","scriptengine","scriptenginebuildversion","scriptenginemajorversion","scriptengineminorversion","second","setlocale","sgn","sin","space","split","sqr","strcomp","string","strreverse","tan","time","timer","timeserial","timevalue","typename","ubound","ucase","unescape","vartype","weekday","weekdayname","year"]),f=e(t),y=e(v),g='"',x=e(["class","sub","select","while","if","function","property","with","for"]),k=e(["else","elseif","case"]),w=e(["next","loop","wend"]),C=e(["end"]),I=e(["do"]),L=e(["on error resume next","exit"]),E=e(["rem"]);function D(e,t){t.currentIndent++}function S(e,t){t.currentIndent--}function T(e,t){if(e.eatSpace())return"space";var r,n;if("'"===e.peek())return e.skipToEnd(),"comment";if(e.match(E))return e.skipToEnd(),"comment";if(e.match(/^((&H)|(&O))?[0-9\.]/i,!1)&&!e.match(/^((&H)|(&O))?[0-9\.]+[a-z_]/i,!1)){var a=!1;if(a=e.match(/^\d*\.\d+/i)||e.match(/^\d+\.\d*/)||e.match(/^\.\d+/)?!0:a)return e.eat(/J/i),"number";a=!1;if(e.match(/^&H[0-9a-f]+/i)||e.match(/^&O[0-7]+/i)?a=!0:e.match(/^[1-9]\d*F?/)?(e.eat(/J/i),a=!0):e.match(/^0(?![\dx])/i)&&(a=!0),a)return e.eat(/L/i),"number"}return e.match(g)?(t.tokenize=(r=e.current(),n=1==r.length,function(e,t){for(;!e.eol();){if(e.eatWhile(/[^'"]/),e.match(r))return t.tokenize=T,"string";e.eat(/['"]/)}if(n){if(i.singleLineStringErrors)return o;t.tokenize=T}return"string"}),t.tokenize(e,t)):e.match(b)||e.match(c)||e.match(d)?"operator":e.match(s)?null:e.match(l)?"bracket":e.match(L)?(t.doInCurrentLine=!0,"keyword"):e.match(I)?(D(0,t),t.doInCurrentLine=!0,"keyword"):e.match(x)?(t.doInCurrentLine?t.doInCurrentLine=!1:D(0,t),"keyword"):e.match(k)?"keyword":e.match(C)?(S(0,t),S(0,t),"keyword"):e.match(w)?(t.doInCurrentLine?t.doInCurrentLine=!1:S(0,t),"keyword"):e.match(m)?"keyword":e.match(p)?"atom":e.match(y)?"variable-2":e.match(h)?"builtin":e.match(f)?"variable-2":e.match(u)?"variable":(e.next(),o)}return{electricChars:"dDpPtTfFeE ",startState:function(){return{tokenize:T,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1,ignoreKeyword:!1}},token:function(e,t){e.sol()&&(t.currentIndent+=t.nextLineIndent,t.nextLineIndent=0,t.doInCurrentLine=0);var r,n,a,i,a=(r=e,a=(n=t).tokenize(r,n),"."===(i=r.current())?(a=n.tokenize(r,n),i=r.current(),!a||"variable"!==a.substr(0,8)&&"builtin"!==a&&"keyword"!==a?o:("builtin"!==a&&"keyword"!==a||(a="variable"),-1!?:\/|]/;function l(e,t,n){return(t.tokenize=n)(e,t)}function u(e,t){var n=t.beforeParams;t.beforeParams=!1;var r=e.next();if("'"==r&&!t.inString&&t.inParams)return t.lastTokenWasBuiltin=!1,l(e,t,f(r));if('"'==r)return t.lastTokenWasBuiltin=!1,t.inString?(t.inString=!1,"string"):t.inParams?l(e,t,f(r)):void 0;if(/[\[\]{}\(\),;\.]/.test(r))return"("==r&&n?t.inParams=!0:")"==r&&(t.inParams=!1,t.lastTokenWasBuiltin=!0),null;if(/\d/.test(r))return t.lastTokenWasBuiltin=!1,e.eatWhile(/[\w\.]/),"number";if("#"==r&&e.eat("*"))return t.lastTokenWasBuiltin=!1,l(e,t,c);if("#"==r&&e.match(/ *\[ *\[/))return t.lastTokenWasBuiltin=!1,l(e,t,k);if("#"==r&&e.eat("#"))return t.lastTokenWasBuiltin=!1,e.skipToEnd(),"comment";if("$"==r)return e.eat("!"),e.eatWhile(/[\w\d\$_\.{}-]/),o&&o.propertyIsEnumerable(e.current())?"keyword":(t.lastTokenWasBuiltin=!0,t.beforeParams=!0,"builtin");if(s.test(r))return t.lastTokenWasBuiltin=!1,e.eatWhile(s),"operator";e.eatWhile(/[\w\$_{}@]/);r=e.current();return a&&a.propertyIsEnumerable(r)?"keyword":i&&i.propertyIsEnumerable(r)||e.current().match(/^#@?[a-z0-9_]+ *$/i)&&"("==e.peek()&&(!i||!i.propertyIsEnumerable(r.toLowerCase()))?(t.beforeParams=!0,t.lastTokenWasBuiltin=!1,"keyword"):t.inString?(t.lastTokenWasBuiltin=!1,"string"):e.pos>r.length&&"."==e.string.charAt(e.pos-r.length-1)&&t.lastTokenWasBuiltin?"builtin":(t.lastTokenWasBuiltin=!1,null)}function f(i){return function(e,t){for(var n,r=!1,a=!1;null!=(n=e.next());){if(n==i&&!r){a=!0;break}if('"'==i&&"$"==e.peek()&&!r){a=t.inString=!0;break}r=!r&&"\\"==n}return a&&(t.tokenize=u),"string"}}function c(e,t){for(var n,r=!1;n=e.next();){if("#"==n&&r){t.tokenize=u;break}r="*"==n}return"comment"}function k(e,t){for(var n,r=0;n=e.next();){if("#"==n&&2==r){t.tokenize=u;break}"]"==n?r++:" "!=n&&(r=0)}return"meta"}return{startState:function(){return{tokenize:u,beforeParams:!1,inParams:!1,inString:!1,lastTokenWasBuiltin:!1}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},blockCommentStart:"#*",blockCommentEnd:"*#",lineComment:"##",fold:"velocity"}}),CodeMirror.defineMIME("text/velocity","velocity"); // verilog !function(){CodeMirror.defineMode("verilog",function(e,t){var o=e.indentUnit,l=t.statementIndentUnit||o,c=t.dontAlignCalls,s=t.compilerDirectivesUseRegularIndentation,n=t.noIndentKeywords||[],d=t.multiLineStrings,u=t.hooks||{};function i(e){for(var t={},n=e.split(" "),i=0;i]/,g=/[\[\]{}()]/,h=/\d[0-9_]*/,y=/\d*\s*'s?d\s*\d[0-9_]*/i,k=/\d*\s*'s?b\s*[xz01][xz01_]*/i,b=/\d*\s*'s?o\s*[xz0-7][xz0-7_]*/i,w=/\d*\s*'s?h\s*[0-9a-fxz?][0-9a-fxz?_]*/i,_=/(\d[\d_]*(\.\d[\d_]*)?E-?[\d_]+)|(\d[\d_]*\.\d[\d_]*)/i,x=/^((`?\w+)|[)}\]])/,I=/[)}\]]/,C=new RegExp("^(`(?:ifdef|ifndef|elsif|else|endif|undef|undefineall|define|include|begin_keywords|celldefine|default|nettype|end_keywords|endcelldefine|line|nounconnected_drive|pragma|resetall|timescale|unconnected_drive))\\b"),a=/^(`(?:ifdef|ifndef|elsif|else))\b/,z=/^(`(?:elsif|else|endif))\b/,t=i("case checker class clocking config function generate interface module package primitive program property specify sequence table task"),S={};for(M in t)S[M]="end"+M;for(r in S.begin="end",S.casex="endcase",S.casez="endcase",S.do="while",S.fork="join;join_any;join_none",S.covergroup="endgroup",S.macro_begin="macro_end",n){var M=n[r];S[M]&&(S[M]=void 0)}var E=i("always always_comb always_ff always_latch assert assign assume else export for foreach forever if import initial repeat while extern typedef");function j(e,t){var n,a,i=e.peek();if(u[i]&&0!=(n=u[i](e,t)))return n;if(u.tokenBase&&0!=(n=u.tokenBase(e,t)))return n;if(/[,;:\.]/.test(i))return m=e.next(),null;if(g.test(i))return m=e.next(),"bracket";if("`"==i){if(e.next(),e.eatWhile(/[\w\$_]/)){var r,o=e.current();return(f=o).startsWith("`uvm_")&&o.endsWith("_begin")?(r=f.substr(0,f.length-5)+"end",S[o]=r,m="newblock"):(e.eatSpace(),"("==e.peek()&&(m="newmacro"),r=e.current(),e.backUp(r.length-o.length)),"def"}return null}if("$"==i)return e.next(),e.eatWhile(/[\w\$_]/)?"meta":null;if("#"==i)return e.next(),e.eatWhile(/[\d_.]/),"def";if("@"==i)return e.next(),e.eatWhile(/[@]/),"def";if('"'==i)return e.next(),t.tokenize=(a=i,function(e,t){for(var n,i=!1,r=!1;null!=(n=e.next());){if(n==a&&!i){r=!0;break}i=!i&&"\\"==n}return!r&&(i||d)||(t.tokenize=j),"string"}),t.tokenize(e,t);if("/"==i){if(e.next(),e.eat("*"))return(t.tokenize=$)(e,t);if(e.eat("/"))return e.skipToEnd(),"comment";e.backUp(1)}if(e.match(_)||e.match(y)||e.match(k)||e.match(b)||e.match(w)||e.match(h)||e.match(_))return"number";if(e.eatWhile(v))return m=e.current(),"meta";if(e.eatWhile(/[\w\$_]/)){o=e.current();return p[o]?(S[o]&&(m="newblock","fork"===o&&(e.eatSpace(),";"==e.peek()&&(m="newstatement"),e.backUp(e.current().length-o.length))),E[o]&&(m="newstatement"),f=o,"keyword"):"variable"}return e.next(),null}function $(e,t){for(var n,i=!1;n=e.next();){if("/"==n&&i){t.tokenize=j;break}i="*"==n}return"comment"}function A(e,t,n,i,r,a){this.indented=e,this.column=t,this.type=n,this.scopekind=i,this.align=r,this.prev=a}function q(e,t,n,i){i=new A(e.indented,t,n,i||"",null,e.context);return e.context=i}function B(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}function W(e,t){if(e==t)return!0;var n,i=t.split(";");for(n in i)if(e==i[n])return!0;return!1}return{electricInput:function(){var e,t=[];for(e in S)if(S[e]){var n,i=S[e].split(";");for(n in i)t.push(i[n])}return new RegExp("[{}()\\[\\]]|("+t.join("|")+")$")}(),startState:function(e){e={tokenize:null,context:new A((e||0)-o,0,"top","top",!1),indented:0,compilerDirectiveIndented:0,startOfLine:!0};return u.startState&&u.startState(e),e},token:function(e,t){var n,i=t.context;if((e.sol()&&(null==i.align&&(i.align=!1),t.indented=e.indentation(),t.startOfLine=!0),u.token)&&void 0!==(n=u.token(e,t)))return n;if(e.eatSpace())return null;if(f=m=null,"comment"==(n=(t.tokenize||j)(e,t))||"meta"==n||"variable"==n)return"="!==m&&"<="!==m||function e(t,n){return null!=t&&(t.scopekind===n||e(t.prev,n))}(i,"assignment")||(q(t,e.column()+m.length,"assignment","assignment"),null==i.align&&(i.align=!0)),n;null==i.align&&(i.align=!0);var r="assignment"==i.type&&I.test(m)&&i.prev&&i.prev.type===m;if(m==i.type||r){if(r&&(i=B(t)),i=B(t),")"==m){if(i&&"macro"===i.type)for(i=B(t);i&&("statement"==i.type||"assignment"==i.type);)i=B(t)}else if("}"==m&&i&&"statement"===i.type)for(;i&&"statement"==i.type;)i=B(t)}else if((";"==m||","==m)&&("statement"==i.type||"assignment"==i.type)||i.type&&W(f,i.type))for(i=B(t);i&&("statement"==i.type||"assignment"==i.type);)i=B(t);else"{"==m?q(t,e.column(),"}"):"["==m?q(t,e.column(),"]"):"("==m?q(t,e.column(),")"):i&&"endcase"==i.type&&":"==m?q(t,e.column(),"statement","case"):"newstatement"==m?q(t,e.column(),"statement",f):"newblock"==m?"function"==f&&i&&("statement"==i.type||"endgroup"==i.type)||"task"==f&&i&&"statement"==i.type||"class"==f&&i&&"statement"==i.type||(r=S[f],q(t,e.column(),r,f)):("newmacro"==m||f&&f.match(C))&&("newmacro"==m&&q(t,e.column(),"macro","macro"),f.match(z)&&(t.compilerDirectiveIndented-=l),f.match(a)&&(t.compilerDirectiveIndented+=l));return t.startOfLine=!1,n},indent:function(e,t){if(e.tokenize!=j&&null!=e.tokenize)return CodeMirror.Pass;if(u.indent){var n=u.indent(e);if(0<=n)return n}var i=e.context,r=t&&t.charAt(0);"statement"==i.type&&"}"==r&&(i=i.prev);var a=!1,n=t.match(x);return n&&(a=W(n[0],i.type)),!s&&t.match(C)?t.match(z)?e.compilerDirectiveIndented-l:e.compilerDirectiveIndented:"statement"==i.type?i.indented+("{"==r?0:l):!I.test(i.type)&&"assignment"!=i.type||!i.align||c?")"!=i.type||a?i.indented+(a?0:o):i.indented+l:i.column+(a?0:1)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"indent"}}),CodeMirror.defineMIME("text/x-verilog",{name:"verilog"}),CodeMirror.defineMIME("text/x-systemverilog",{name:"verilog"});var u={"|":"link",">":"property",$:"variable",$$:"variable","?$":"qualifier","?*":"qualifier","-":"hr","/":"property","/-":"property","@":"variable-3","@-":"variable-3","@++":"variable-3","@+=":"variable-3","@+=-":"variable-3","@--":"variable-3","@-=":"variable-3","%+":"tag","%-":"tag","%":"tag",">>":"tag","<<":"tag","<>":"tag","#":"tag","^":"attribute","^^":"attribute","^!":"attribute","*":"variable-2","**":"variable-2","\\":"keyword",'"':"comment"},m={"/":"beh-hier",">":"beh-hier","-":"phys-hier","|":"pipe","?":"when","@":"stage","\\":"keyword"},f=/^([~!@#\$%\^&\*-\+=\?\/\\\|'"<>]+)([\d\w_]*)/,p=/^[! ] /,v=/^[! ] */,g=/^\/[\/\*]/;function h(e,t,n){return"tlv-"+e.tlvIndentationStyle[t/3]+"-"+n}CodeMirror.defineMIME("text/x-tlv",{name:"verilog",hooks:{electricInput:!1,token:function(e,t){var n,i,r=void 0;if(e.sol()&&!t.tlvInBlockComment){"\\"==e.peek()&&(r="def",e.skipToEnd(),e.string.match(/\\SV/)?t.tlvCodeActive=!1:e.string.match(/\\TLV/)&&(t.tlvCodeActive=!0)),t.tlvCodeActive&&0==e.pos&&0==t.indented&&(n=e.match(v,!1))&&(t.indented=n[0].length);var a=t.indented,o=a/3;if(o<=t.tlvIndentationStyle.length){var l,c,s=e.string.length==a,d=3*o;if(do;)t.tlvIndentationStyle.pop()}t.tlvNextIndent=a}return t.tlvCodeActive?(s=!1,void 0!==r?r+=" "+h(t,0,"scope-ident"):e.pos/3!\?@#$%&|:\.]+)/,token:"variable-2"},{regex:/"(?:[^"\\\x00-\x1f\x7f]|\\[nt\\'"]|\\[0-9a-fA-F][0-9a-fA-F])*"/,token:"string"},{regex:/\(;.*?/,token:"comment",next:"comment"},{regex:/;;.*$/,token:"comment"},{regex:/\(/,indent:!0},{regex:/\)/,dedent:!0}],comment:[{regex:/.*?;\)/,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],meta:{dontIndentStates:["comment"]}}),CodeMirror.defineMIME("text/webassembly","wast"); // webidl !function(){function e(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var t=["Clamp","Constructor","EnforceRange","Exposed","ImplicitThis","Global","PrimaryGlobal","LegacyArrayClass","LegacyUnenumerableNamedProperties","LenientThis","NamedConstructor","NewObject","NoInterfaceObject","OverrideBuiltins","PutForwards","Replaceable","SameObject","TreatNonObjectAsNull","TreatNullAs","EmptyString","Unforgeable","Unscopeable"],n=e(t),r=["unsigned","short","long","unrestricted","float","double","boolean","byte","octet","Promise","ArrayBuffer","DataView","Int8Array","Int16Array","Int32Array","Uint8Array","Uint16Array","Uint32Array","Uint8ClampedArray","Float32Array","Float64Array","ByteString","DOMString","USVString","sequence","object","RegExp","Error","DOMException","FrozenArray","any","void"],a=e(r),i=["attribute","callback","const","deleter","dictionary","enum","getter","implements","inherit","interface","iterable","legacycaller","maplike","partial","required","serializer","setlike","setter","static","stringifier","typedef","optional","readonly","or"],o=e(i),c=["true","false","Infinity","NaN","null"],l=e(c);CodeMirror.registerHelper("hintWords","webidl",t.concat(r).concat(i).concat(c));var m=e(["callback","dictionary","enum","interface"]),u=e(["typedef"]),s=/^[:<=>?]/,f=/^-?([1-9][0-9]*|0[Xx][0-9A-Fa-f]+|0[0-7]*)/,d=/^-?(([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)/,b=/^_?[A-Za-z][0-9A-Z_a-z-]*/,y=/^_?[A-Za-z][0-9A-Z_a-z-]*(?=\s*;)/,p=/^"[^"]*"/,h=/^\/\*.*?\*\//,A=/^\/\*.*/,g=/^.*?\*\//;CodeMirror.defineMode("webidl",function(){return{startState:function(){return{inComment:!1,lastToken:"",startDef:!1,endDef:!1}},token:function(e,t){var r=function(e,t){if(e.eatSpace())return null;if(t.inComment)return e.match(g)?t.inComment=!1:e.skipToEnd(),"comment";if(e.match("//"))return e.skipToEnd(),"comment";if(e.match(h))return"comment";if(e.match(A))return t.inComment=!0,"comment";if(e.match(/^-?[0-9\.]/,!1)&&(e.match(f)||e.match(d)))return"number";if(e.match(p))return"string";if(t.startDef&&e.match(b))return"def";if(t.endDef&&e.match(y))return t.endDef=!1,"def";if(e.match(o))return"keyword";if(e.match(a)){var r=t.lastToken,t=(e.match(/^\s*(.+?)\b/,!1)||[])[1];return":"===r||"implements"===r||"implements"===t||"="===t?"builtin":"variable-3"}return e.match(n)?"builtin":e.match(l)?"atom":e.match(b)?"variable":e.match(s)?"operator":(e.next(),null)}(e,t);return r&&(e=e.current(),t.lastToken=e,"keyword"===r?(t.startDef=m.test(e),t.endDef=t.endDef||u.test(e)):t.startDef=!1),r}}}),CodeMirror.defineMIME("text/x-webidl","webidl")}(); // xquery CodeMirror.defineMode("xquery",function(){var l=function(){function e(e){return{type:e,style:"keyword"}}for(var t=e("operator"),n={type:"atom",style:"atom"},r={type:"axis_specifier",style:"qualifier"},a={",":{type:"punctuation",style:null}},i=["after","all","allowing","ancestor","ancestor-or-self","any","array","as","ascending","at","attribute","base-uri","before","boundary-space","by","case","cast","castable","catch","child","collation","comment","construction","contains","content","context","copy","copy-namespaces","count","decimal-format","declare","default","delete","descendant","descendant-or-self","descending","diacritics","different","distance","document","document-node","element","else","empty","empty-sequence","encoding","end","entire","every","exactly","except","external","first","following","following-sibling","for","from","ftand","ftnot","ft-option","ftor","function","fuzzy","greatest","group","if","import","in","inherit","insensitive","insert","instance","intersect","into","invoke","is","item","language","last","lax","least","let","levels","lowercase","map","modify","module","most","namespace","next","no","node","nodes","no-inherit","no-preserve","not","occurs","of","only","option","order","ordered","ordering","paragraph","paragraphs","parent","phrase","preceding","preceding-sibling","preserve","previous","processing-instruction","relationship","rename","replace","return","revalidation","same","satisfies","schema","schema-attribute","schema-element","score","self","sensitive","sentence","sentences","sequence","skip","sliding","some","stable","start","stemming","stop","strict","strip","switch","text","then","thesaurus","times","to","transform","treat","try","tumbling","type","typeswitch","union","unordered","update","updating","uppercase","using","validate","value","variable","version","weight","when","where","wildcards","window","with","without","word","words","xquery"],o=0,s=i.length;o",">=","<","<=",".","|","?","and","or","div","idiv","mod","*","/","+","-"],o=0,s=u.length;o\"\'\/?]/);)u+=c;return f(e,t,(n=u,r=s,function(e,t){return e.eatSpace(),r&&e.eat(">")?(w(t),t.tokenize=m,"tag"):(e.eat("/")||z(t,{type:"tag",name:n,tokenize:m}),e.eat(">")?t.tokenize=m:t.tokenize=g,"tag")}))}if("{"==a)return z(t,{type:"codeblock"}),null;if("}"==a)return w(t),null;if(v(t))return">"==a?"tag":"/"==a&&e.eat(">")?(w(t),"tag"):"variable";if(/\d/.test(a))return e.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),"atom";if("("===a&&e.eat(":"))return z(t,{type:"comment"}),f(e,t,d);if(o||'"'!==a&&"'"!==a){if("$"===a)return f(e,t,p);if(":"===a&&e.eat("="))return"keyword";if("("===a)return z(t,{type:"paren"}),null;if(")"===a)return w(t),null;if("["===a)return z(t,{type:"bracket"}),null;if("]"===a)return w(t),null;s=l.propertyIsEnumerable(a)&&l[a];if(o&&'"'===a)for(;'"'!==e.next(););if(o&&"'"===a)for(;"'"!==e.next(););s||e.eatWhile(/[\w\$_-]/);o=e.eat(":");!e.eat(":")&&o&&e.eatWhile(/[\w\$_-]/),e.match(/^[ \t]*\(/,!1)&&(i=!0);var o=e.current(),s=l.propertyIsEnumerable(o)&&l[o];return i&&!s&&(s={type:"function_call",style:"variable def"}),b(t,"xmlconstructor")?(w(t),"variable"):("element"!=o&&"attribute"!=o&&"axis_specifier"!=s.type||z(t,{type:"xmlconstructor"}),s?s.style:"variable")}return f(e,t,x(a))}function d(e,t){for(var n,r=!1,a=!1,i=0;n=e.next();){if(")"==n&&r){if(!(0")?(i(t)&&w(t),v(t)&&w(t),"tag"):">"==n?(i(t)&&w(t),"tag"):"="==n?null:'"'==n||"'"==n?f(e,t,x(n,g)):(i(t)||z(t,{type:"attribute",tokenize:g}),e.eat(/[a-zA-Z_:]/),e.eatWhile(/[-a-zA-Z0-9_:.]/),e.eatSpace(),(e.match(">",!1)||e.match("/",!1))&&(w(t),t.tokenize=m),"attribute")}function y(e,t){for(var n;n=e.next();)if("-"==n&&e.match("->",!0))return t.tokenize=m,"comment"}function h(e,t){for(var n;n=e.next();)if("]"==n&&e.match("]",!0))return t.tokenize=m,"comment"}function k(e,t){for(var n;n=e.next();)if("?"==n&&e.match(">",!0))return t.tokenize=m,"comment meta"}function v(e){return b(e,"tag")}function i(e){return b(e,"attribute")}function b(e,t){return e.stack.length&&e.stack[e.stack.length-1].type==t}function z(e,t){e.stack.push(t)}function w(e){e.stack.pop();var t=e.stack.length&&e.stack[e.stack.length-1].tokenize;e.tokenize=t||m}return{startState:function(){return{tokenize:m,cc:[],stack:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},blockCommentStart:"(:",blockCommentEnd:":)"}}),CodeMirror.defineMIME("application/xquery","xquery"); // yacas CodeMirror.defineMode("yacas",function(n,e){var a=function(e){for(var t={},n=e.split(" "),r=0;r|<|&|\||_|`|'|\^|\?|!|%|#)/,!0,!1)?"operator":"error"}function p(e,t){for(var n,r=!1,o=!1;null!=(n=e.next());){if('"'===n&&!o){r=!0;break}o=!o&&"\\"===n}return r&&!o&&(t.tokenize=s),"string"}function m(e,t){for(var n,r;null!=(r=e.next());){if("*"===n&&"/"===r){t.tokenize=s;break}n=r}return"comment"}function f(e){var t=null;return t=0= curEnd.ch - 1) { var text = cm.getLine(curStart.line); var charCode = text.charCodeAt(curStart.ch); if (0xD800 <= charCode && charCode <= 0xD8FF) { curEnd.ch += 1; } } return {start: curStart, end: curEnd}; } var defaultKeymap = [ // Key to key mapping. This goes first to make it possible to override // existing mappings. { keys: '', type: 'keyToKey', toKeys: 'h' }, { keys: '', type: 'keyToKey', toKeys: 'l' }, { keys: '', type: 'keyToKey', toKeys: 'k' }, { keys: '', type: 'keyToKey', toKeys: 'j' }, { keys: 'g', type: 'keyToKey', toKeys: 'gk' }, { keys: 'g', type: 'keyToKey', toKeys: 'gj' }, { keys: '', type: 'keyToKey', toKeys: 'l' }, { keys: '', type: 'keyToKey', toKeys: 'h'}, { keys: '', type: 'keyToKey', toKeys: 'x' }, { keys: '', type: 'keyToKey', toKeys: 'W' }, { keys: '', type: 'keyToKey', toKeys: 'B' }, { keys: '', type: 'keyToKey', toKeys: 'w' }, { keys: '', type: 'keyToKey', toKeys: 'b' }, { keys: '', type: 'keyToKey', toKeys: 'j' }, { keys: '', type: 'keyToKey', toKeys: 'k' }, { keys: '', type: 'keyToKey', toKeys: '' }, { keys: '', type: 'keyToKey', toKeys: '' }, { keys: '', type: 'keyToKey', toKeys: '', context: 'insert' }, { keys: '', type: 'keyToKey', toKeys: '', context: 'insert' }, { keys: '', type: 'keyToKey', toKeys: '' }, // ipad keyboard sends C-Esc instead of C-[ { keys: '', type: 'keyToKey', toKeys: '', context: 'insert' }, { keys: 's', type: 'keyToKey', toKeys: 'cl', context: 'normal' }, { keys: 's', type: 'keyToKey', toKeys: 'c', context: 'visual'}, { keys: 'S', type: 'keyToKey', toKeys: 'cc', context: 'normal' }, { keys: 'S', type: 'keyToKey', toKeys: 'VdO', context: 'visual' }, { keys: '', type: 'keyToKey', toKeys: '0' }, { keys: '', type: 'keyToKey', toKeys: '$' }, { keys: '', type: 'keyToKey', toKeys: '' }, { keys: '', type: 'keyToKey', toKeys: '' }, { keys: '', type: 'keyToKey', toKeys: 'j^', context: 'normal' }, { keys: '', type: 'keyToKey', toKeys: 'i', context: 'normal'}, { keys: '', type: 'action', action: 'toggleOverwrite', context: 'insert' }, // Motions { keys: 'H', type: 'motion', motion: 'moveToTopLine', motionArgs: { linewise: true, toJumplist: true }}, { keys: 'M', type: 'motion', motion: 'moveToMiddleLine', motionArgs: { linewise: true, toJumplist: true }}, { keys: 'L', type: 'motion', motion: 'moveToBottomLine', motionArgs: { linewise: true, toJumplist: true }}, { keys: 'h', type: 'motion', motion: 'moveByCharacters', motionArgs: { forward: false }}, { keys: 'l', type: 'motion', motion: 'moveByCharacters', motionArgs: { forward: true }}, { keys: 'j', type: 'motion', motion: 'moveByLines', motionArgs: { forward: true, linewise: true }}, { keys: 'k', type: 'motion', motion: 'moveByLines', motionArgs: { forward: false, linewise: true }}, { keys: 'gj', type: 'motion', motion: 'moveByDisplayLines', motionArgs: { forward: true }}, { keys: 'gk', type: 'motion', motion: 'moveByDisplayLines', motionArgs: { forward: false }}, { keys: 'w', type: 'motion', motion: 'moveByWords', motionArgs: { forward: true, wordEnd: false }}, { keys: 'W', type: 'motion', motion: 'moveByWords', motionArgs: { forward: true, wordEnd: false, bigWord: true }}, { keys: 'e', type: 'motion', motion: 'moveByWords', motionArgs: { forward: true, wordEnd: true, inclusive: true }}, { keys: 'E', type: 'motion', motion: 'moveByWords', motionArgs: { forward: true, wordEnd: true, bigWord: true, inclusive: true }}, { keys: 'b', type: 'motion', motion: 'moveByWords', motionArgs: { forward: false, wordEnd: false }}, { keys: 'B', type: 'motion', motion: 'moveByWords', motionArgs: { forward: false, wordEnd: false, bigWord: true }}, { keys: 'ge', type: 'motion', motion: 'moveByWords', motionArgs: { forward: false, wordEnd: true, inclusive: true }}, { keys: 'gE', type: 'motion', motion: 'moveByWords', motionArgs: { forward: false, wordEnd: true, bigWord: true, inclusive: true }}, { keys: '{', type: 'motion', motion: 'moveByParagraph', motionArgs: { forward: false, toJumplist: true }}, { keys: '}', type: 'motion', motion: 'moveByParagraph', motionArgs: { forward: true, toJumplist: true }}, { keys: '(', type: 'motion', motion: 'moveBySentence', motionArgs: { forward: false }}, { keys: ')', type: 'motion', motion: 'moveBySentence', motionArgs: { forward: true }}, { keys: '', type: 'motion', motion: 'moveByPage', motionArgs: { forward: true }}, { keys: '', type: 'motion', motion: 'moveByPage', motionArgs: { forward: false }}, { keys: '', type: 'motion', motion: 'moveByScroll', motionArgs: { forward: true, explicitRepeat: true }}, { keys: '', type: 'motion', motion: 'moveByScroll', motionArgs: { forward: false, explicitRepeat: true }}, { keys: 'gg', type: 'motion', motion: 'moveToLineOrEdgeOfDocument', motionArgs: { forward: false, explicitRepeat: true, linewise: true, toJumplist: true }}, { keys: 'G', type: 'motion', motion: 'moveToLineOrEdgeOfDocument', motionArgs: { forward: true, explicitRepeat: true, linewise: true, toJumplist: true }}, {keys: "g$", type: "motion", motion: "moveToEndOfDisplayLine"}, {keys: "g^", type: "motion", motion: "moveToStartOfDisplayLine"}, {keys: "g0", type: "motion", motion: "moveToStartOfDisplayLine"}, { keys: '0', type: 'motion', motion: 'moveToStartOfLine' }, { keys: '^', type: 'motion', motion: 'moveToFirstNonWhiteSpaceCharacter' }, { keys: '+', type: 'motion', motion: 'moveByLines', motionArgs: { forward: true, toFirstChar:true }}, { keys: '-', type: 'motion', motion: 'moveByLines', motionArgs: { forward: false, toFirstChar:true }}, { keys: '_', type: 'motion', motion: 'moveByLines', motionArgs: { forward: true, toFirstChar:true, repeatOffset:-1 }}, { keys: '$', type: 'motion', motion: 'moveToEol', motionArgs: { inclusive: true }}, { keys: '%', type: 'motion', motion: 'moveToMatchedSymbol', motionArgs: { inclusive: true, toJumplist: true }}, { keys: 'f', type: 'motion', motion: 'moveToCharacter', motionArgs: { forward: true , inclusive: true }}, { keys: 'F', type: 'motion', motion: 'moveToCharacter', motionArgs: { forward: false }}, { keys: 't', type: 'motion', motion: 'moveTillCharacter', motionArgs: { forward: true, inclusive: true }}, { keys: 'T', type: 'motion', motion: 'moveTillCharacter', motionArgs: { forward: false }}, { keys: ';', type: 'motion', motion: 'repeatLastCharacterSearch', motionArgs: { forward: true }}, { keys: ',', type: 'motion', motion: 'repeatLastCharacterSearch', motionArgs: { forward: false }}, { keys: '\'', type: 'motion', motion: 'goToMark', motionArgs: {toJumplist: true, linewise: true}}, { keys: '`', type: 'motion', motion: 'goToMark', motionArgs: {toJumplist: true}}, { keys: ']`', type: 'motion', motion: 'jumpToMark', motionArgs: { forward: true } }, { keys: '[`', type: 'motion', motion: 'jumpToMark', motionArgs: { forward: false } }, { keys: ']\'', type: 'motion', motion: 'jumpToMark', motionArgs: { forward: true, linewise: true } }, { keys: '[\'', type: 'motion', motion: 'jumpToMark', motionArgs: { forward: false, linewise: true } }, // the next two aren't motions but must come before more general motion declarations { keys: ']p', type: 'action', action: 'paste', isEdit: true, actionArgs: { after: true, isEdit: true, matchIndent: true}}, { keys: '[p', type: 'action', action: 'paste', isEdit: true, actionArgs: { after: false, isEdit: true, matchIndent: true}}, { keys: ']', type: 'motion', motion: 'moveToSymbol', motionArgs: { forward: true, toJumplist: true}}, { keys: '[', type: 'motion', motion: 'moveToSymbol', motionArgs: { forward: false, toJumplist: true}}, { keys: '|', type: 'motion', motion: 'moveToColumn'}, { keys: 'o', type: 'motion', motion: 'moveToOtherHighlightedEnd', context:'visual'}, { keys: 'O', type: 'motion', motion: 'moveToOtherHighlightedEnd', motionArgs: {sameLine: true}, context:'visual'}, // Operators { keys: 'd', type: 'operator', operator: 'delete' }, { keys: 'y', type: 'operator', operator: 'yank' }, { keys: 'c', type: 'operator', operator: 'change' }, { keys: '=', type: 'operator', operator: 'indentAuto' }, { keys: '>', type: 'operator', operator: 'indent', operatorArgs: { indentRight: true }}, { keys: '<', type: 'operator', operator: 'indent', operatorArgs: { indentRight: false }}, { keys: 'g~', type: 'operator', operator: 'changeCase' }, { keys: 'gu', type: 'operator', operator: 'changeCase', operatorArgs: {toLower: true}, isEdit: true }, { keys: 'gU', type: 'operator', operator: 'changeCase', operatorArgs: {toLower: false}, isEdit: true }, { keys: 'n', type: 'motion', motion: 'findNext', motionArgs: { forward: true, toJumplist: true }}, { keys: 'N', type: 'motion', motion: 'findNext', motionArgs: { forward: false, toJumplist: true }}, { keys: 'gn', type: 'motion', motion: 'findAndSelectNextInclusive', motionArgs: { forward: true }}, { keys: 'gN', type: 'motion', motion: 'findAndSelectNextInclusive', motionArgs: { forward: false }}, { keys: 'gq', type: 'operator', operator: 'hardWrap' }, { keys: 'gw', type: 'operator', operator: 'hardWrap', operatorArgs: {keepCursor: true}}, // Operator-Motion dual commands { keys: 'x', type: 'operatorMotion', operator: 'delete', motion: 'moveByCharacters', motionArgs: { forward: true }, operatorMotionArgs: { visualLine: false }}, { keys: 'X', type: 'operatorMotion', operator: 'delete', motion: 'moveByCharacters', motionArgs: { forward: false }, operatorMotionArgs: { visualLine: true }}, { keys: 'D', type: 'operatorMotion', operator: 'delete', motion: 'moveToEol', motionArgs: { inclusive: true }, context: 'normal'}, { keys: 'D', type: 'operator', operator: 'delete', operatorArgs: { linewise: true }, context: 'visual'}, { keys: 'Y', type: 'operatorMotion', operator: 'yank', motion: 'expandToLine', motionArgs: { linewise: true }, context: 'normal'}, { keys: 'Y', type: 'operator', operator: 'yank', operatorArgs: { linewise: true }, context: 'visual'}, { keys: 'C', type: 'operatorMotion', operator: 'change', motion: 'moveToEol', motionArgs: { inclusive: true }, context: 'normal'}, { keys: 'C', type: 'operator', operator: 'change', operatorArgs: { linewise: true }, context: 'visual'}, { keys: '~', type: 'operatorMotion', operator: 'changeCase', motion: 'moveByCharacters', motionArgs: { forward: true }, operatorArgs: { shouldMoveCursor: true }, context: 'normal'}, { keys: '~', type: 'operator', operator: 'changeCase', context: 'visual'}, { keys: '', type: 'operatorMotion', operator: 'delete', motion: 'moveToStartOfLine', context: 'insert' }, { keys: '', type: 'operatorMotion', operator: 'delete', motion: 'moveByWords', motionArgs: { forward: false, wordEnd: false }, context: 'insert' }, //ignore C-w in normal mode // Likely originally introduced to prevent overriding the Ctrl+W hotkey on browsers // No longer needs to exist anymore in our codebase since our hotkeys take precedence. // Commented out on 2022-03-10. // { keys: '', type: 'idle', context: 'normal' }, // Actions { keys: '', type: 'action', action: 'jumpListWalk', actionArgs: { forward: true }}, { keys: '', type: 'action', action: 'jumpListWalk', actionArgs: { forward: false }}, { keys: '', type: 'action', action: 'scroll', actionArgs: { forward: true, linewise: true }}, { keys: '', type: 'action', action: 'scroll', actionArgs: { forward: false, linewise: true }}, { keys: 'a', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'charAfter' }, context: 'normal' }, { keys: 'A', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'eol' }, context: 'normal' }, { keys: 'A', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'endOfSelectedArea' }, context: 'visual' }, { keys: 'i', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'inplace' }, context: 'normal' }, { keys: 'gi', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'lastEdit' }, context: 'normal' }, { keys: 'I', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'firstNonBlank'}, context: 'normal' }, { keys: 'gI', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'bol'}, context: 'normal' }, { keys: 'I', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { insertAt: 'startOfSelectedArea' }, context: 'visual' }, { keys: 'o', type: 'action', action: 'newLineAndEnterInsertMode', isEdit: true, interlaceInsertRepeat: true, actionArgs: { after: true }, context: 'normal' }, { keys: 'O', type: 'action', action: 'newLineAndEnterInsertMode', isEdit: true, interlaceInsertRepeat: true, actionArgs: { after: false }, context: 'normal' }, { keys: 'v', type: 'action', action: 'toggleVisualMode' }, { keys: 'V', type: 'action', action: 'toggleVisualMode', actionArgs: { linewise: true }}, { keys: '', type: 'action', action: 'toggleVisualMode', actionArgs: { blockwise: true }}, { keys: '', type: 'action', action: 'toggleVisualMode', actionArgs: { blockwise: true }}, { keys: 'gv', type: 'action', action: 'reselectLastSelection' }, { keys: 'J', type: 'action', action: 'joinLines', isEdit: true }, { keys: 'gJ', type: 'action', action: 'joinLines', actionArgs: { keepSpaces: true }, isEdit: true }, { keys: 'p', type: 'action', action: 'paste', isEdit: true, actionArgs: { after: true, isEdit: true }}, { keys: 'P', type: 'action', action: 'paste', isEdit: true, actionArgs: { after: false, isEdit: true }}, { keys: 'r', type: 'action', action: 'replace', isEdit: true }, { keys: '@', type: 'action', action: 'replayMacro' }, { keys: 'q', type: 'action', action: 'enterMacroRecordMode' }, // Handle Replace-mode as a special case of insert mode. { keys: 'R', type: 'action', action: 'enterInsertMode', isEdit: true, actionArgs: { replace: true }, context: 'normal'}, { keys: 'R', type: 'operator', operator: 'change', operatorArgs: { linewise: true, fullLine: true }, context: 'visual', exitVisualBlock: true}, { keys: 'u', type: 'action', action: 'undo', context: 'normal' }, { keys: 'u', type: 'operator', operator: 'changeCase', operatorArgs: {toLower: true}, context: 'visual', isEdit: true }, { keys: 'U', type: 'operator', operator: 'changeCase', operatorArgs: {toLower: false}, context: 'visual', isEdit: true }, { keys: '', type: 'action', action: 'redo' }, { keys: 'm', type: 'action', action: 'setMark' }, { keys: '"', type: 'action', action: 'setRegister' }, { keys: '', type: 'action', action: 'insertRegister', context: 'insert', isEdit: true }, { keys: '', type: 'action', action: 'oneNormalCommand', context: 'insert' }, { keys: 'zz', type: 'action', action: 'scrollToCursor', actionArgs: { position: 'center' }}, { keys: 'z.', type: 'action', action: 'scrollToCursor', actionArgs: { position: 'center' }, motion: 'moveToFirstNonWhiteSpaceCharacter' }, { keys: 'zt', type: 'action', action: 'scrollToCursor', actionArgs: { position: 'top' }}, { keys: 'z', type: 'action', action: 'scrollToCursor', actionArgs: { position: 'top' }, motion: 'moveToFirstNonWhiteSpaceCharacter' }, { keys: 'zb', type: 'action', action: 'scrollToCursor', actionArgs: { position: 'bottom' }}, { keys: 'z-', type: 'action', action: 'scrollToCursor', actionArgs: { position: 'bottom' }, motion: 'moveToFirstNonWhiteSpaceCharacter' }, { keys: '.', type: 'action', action: 'repeatLastEdit' }, { keys: '', type: 'action', action: 'incrementNumberToken', isEdit: true, actionArgs: {increase: true, backtrack: false}}, { keys: '', type: 'action', action: 'incrementNumberToken', isEdit: true, actionArgs: {increase: false, backtrack: false}}, { keys: '', type: 'action', action: 'indent', actionArgs: { indentRight: true }, context: 'insert' }, { keys: '', type: 'action', action: 'indent', actionArgs: { indentRight: false }, context: 'insert' }, // Text object motions { keys: 'a', type: 'motion', motion: 'textObjectManipulation' }, { keys: 'i', type: 'motion', motion: 'textObjectManipulation', motionArgs: { textObjectInner: true }}, // Search { keys: '/', type: 'search', searchArgs: { forward: true, querySrc: 'prompt', toJumplist: true }}, { keys: '?', type: 'search', searchArgs: { forward: false, querySrc: 'prompt', toJumplist: true }}, { keys: '*', type: 'search', searchArgs: { forward: true, querySrc: 'wordUnderCursor', wholeWordOnly: true, toJumplist: true }}, { keys: '#', type: 'search', searchArgs: { forward: false, querySrc: 'wordUnderCursor', wholeWordOnly: true, toJumplist: true }}, { keys: 'g*', type: 'search', searchArgs: { forward: true, querySrc: 'wordUnderCursor', toJumplist: true }}, { keys: 'g#', type: 'search', searchArgs: { forward: false, querySrc: 'wordUnderCursor', toJumplist: true }}, // Ex command { keys: ':', type: 'ex' } ]; var defaultKeymapLength = defaultKeymap.length; /** * Ex commands * Care must be taken when adding to the default Ex command map. For any * pair of commands that have a shared prefix, at least one of their * shortNames must not match the prefix of the other command. */ var defaultExCommandMap = [ { name: 'colorscheme', shortName: 'colo' }, { name: 'map' }, { name: 'imap', shortName: 'im' }, { name: 'nmap', shortName: 'nm' }, { name: 'vmap', shortName: 'vm' }, { name: 'omap', shortName: 'om' }, { name: 'noremap', shortName: 'no' }, { name: 'nnoremap', shortName: 'nn' }, { name: 'vnoremap', shortName: 'vn' }, { name: 'inoremap', shortName: 'ino' }, { name: 'onoremap', shortName: 'ono' }, { name: 'unmap' }, { name: 'mapclear', shortName: 'mapc' }, { name: 'nmapclear', shortName: 'nmapc' }, { name: 'vmapclear', shortName: 'vmapc' }, { name: 'imapclear', shortName: 'imapc' }, { name: 'omapclear', shortName: 'omapc' }, { name: 'write', shortName: 'w' }, { name: 'undo', shortName: 'u' }, { name: 'redo', shortName: 'red' }, { name: 'set', shortName: 'se' }, { name: 'setlocal', shortName: 'setl' }, { name: 'setglobal', shortName: 'setg' }, { name: 'sort', shortName: 'sor' }, { name: 'substitute', shortName: 's', possiblyAsync: true }, { name: 'startinsert', shortName: 'start' }, { name: 'nohlsearch', shortName: 'noh' }, { name: 'yank', shortName: 'y' }, { name: 'delmarks', shortName: 'delm' }, { name: 'marks', excludeFromCommandHistory: true }, { name: 'registers', shortName: 'reg', excludeFromCommandHistory: true }, { name: 'vglobal', shortName: 'v' }, { name: 'delete', shortName: 'd' }, { name: 'join', shortName: 'j' }, { name: 'normal', shortName: 'norm' }, { name: 'global', shortName: 'g' } ]; /** * Langmap * Determines how to interpret keystrokes in Normal and Visual mode. * Useful for people who use a different keyboard layout than QWERTY */ var langmap = parseLangmap(''); function enterVimMode(cm) { cm.setOption('disableInput', true); cm.setOption('showCursorWhenSelecting', false); CodeMirror.signal(cm, "vim-mode-change", {mode: "normal"}); cm.on('cursorActivity', onCursorActivity); maybeInitVimState(cm); CodeMirror.on(cm.getInputField(), 'paste', getOnPasteFn(cm)); } function leaveVimMode(cm) { cm.setOption('disableInput', false); cm.off('cursorActivity', onCursorActivity); CodeMirror.off(cm.getInputField(), 'paste', getOnPasteFn(cm)); cm.state.vim = null; if (highlightTimeout) clearTimeout(highlightTimeout); } function getOnPasteFn(cm) { var vim = cm.state.vim; if (!vim.onPasteFn) { vim.onPasteFn = function() { if (!vim.insertMode) { cm.setCursor(offsetCursor(cm.getCursor(), 0, 1)); actions.enterInsertMode(cm, {}, vim); } }; } return vim.onPasteFn; } var numberRegex = /[\d]/; var wordCharTest = [CodeMirror.isWordChar, function(ch) { return ch && !CodeMirror.isWordChar(ch) && !/\s/.test(ch); }], bigWordCharTest = [function(ch) { return /\S/.test(ch); }]; var validMarks = ['<', '>']; var validRegisters = ['-', '"', '.', ':', '_', '/', '+']; var latinCharRegex = /^\w$/ var upperCaseChars; try { upperCaseChars = new RegExp("^[\\p{Lu}]$", "u"); } catch (_) { upperCaseChars = /^[A-Z]$/; } function isLine(cm, line) { return line >= cm.firstLine() && line <= cm.lastLine(); } function isLowerCase(k) { return (/^[a-z]$/).test(k); } function isMatchableSymbol(k) { return '()[]{}'.indexOf(k) != -1; } function isNumber(k) { return numberRegex.test(k); } function isUpperCase(k) { return upperCaseChars.test(k); } function isWhiteSpaceString(k) { return (/^\s*$/).test(k); } function isEndOfSentenceSymbol(k) { return '.?!'.indexOf(k) != -1; } function inArray(val, arr) { for (var i = 0; i < arr.length; i++) { if (arr[i] == val) { return true; } } return false; } var options = {}; function defineOption(name, defaultValue, type, aliases, callback) { if (defaultValue === undefined && !callback) { throw Error('defaultValue is required unless callback is provided'); } if (!type) { type = 'string'; } options[name] = { type: type, defaultValue: defaultValue, callback: callback }; if (aliases) { for (var i = 0; i < aliases.length; i++) { options[aliases[i]] = options[name]; } } if (defaultValue) { setOption(name, defaultValue); } } function setOption(name, value, cm, cfg) { var option = options[name]; cfg = cfg || {}; var scope = cfg.scope; if (!option) { return new Error('Unknown option: ' + name); } if (option.type == 'boolean') { if (value && value !== true) { return new Error('Invalid argument: ' + name + '=' + value); } else if (value !== false) { // Boolean options are set to true if value is not defined. value = true; } } if (option.callback) { if (scope !== 'local') { option.callback(value, undefined); } if (scope !== 'global' && cm) { option.callback(value, cm); } } else { if (scope !== 'local') { option.value = option.type == 'boolean' ? !!value : value; } if (scope !== 'global' && cm) { cm.state.vim.options[name] = {value: value}; } } } function getOption(name, cm, cfg) { var option = options[name]; cfg = cfg || {}; var scope = cfg.scope; if (!option) { return new Error('Unknown option: ' + name); } if (option.callback) { var local = cm && option.callback(undefined, cm); if (scope !== 'global' && local !== undefined) { return local; } if (scope !== 'local') { return option.callback(); } return; } else { var local = (scope !== 'global') && (cm && cm.state.vim.options[name]); return (local || (scope !== 'local') && option || {}).value; } } defineOption('filetype', undefined, 'string', ['ft'], function(name, cm) { // Option is local. Do nothing for global. if (cm === undefined) { return; } // The 'filetype' option proxies to the CodeMirror 'mode' option. if (name === undefined) { var mode = cm.getOption('mode'); return mode == 'null' ? '' : mode; } else { var mode = name == '' ? 'null' : name; cm.setOption('mode', mode); } }); defineOption('textwidth', 80, 'number', ['tw'], function(width, cm) { // Option is local. Do nothing for global. if (cm === undefined) { return; } // The 'filetype' option proxies to the CodeMirror 'mode' option. if (width === undefined) { var value = cm.getOption('textwidth'); return value; } else { var column = Math.round(width); if (column > 1) { cm.setOption('textwidth', column); } } }); var createCircularJumpList = function() { var size = 100; var pointer = -1; var head = 0; var tail = 0; var buffer = new Array(size); function add(cm, oldCur, newCur) { var current = pointer % size; var curMark = buffer[current]; function useNextSlot(cursor) { var next = ++pointer % size; var trashMark = buffer[next]; if (trashMark) { trashMark.clear(); } buffer[next] = cm.setBookmark(cursor); } if (curMark) { var markPos = curMark.find(); // avoid recording redundant cursor position if (markPos && !cursorEqual(markPos, oldCur)) { useNextSlot(oldCur); } } else { useNextSlot(oldCur); } useNextSlot(newCur); head = pointer; tail = pointer - size + 1; if (tail < 0) { tail = 0; } } function move(cm, offset) { pointer += offset; if (pointer > head) { pointer = head; } else if (pointer < tail) { pointer = tail; } var mark = buffer[(size + pointer) % size]; // skip marks that are temporarily removed from text buffer if (mark && !mark.find()) { var inc = offset > 0 ? 1 : -1; var newCur; var oldCur = cm.getCursor(); do { pointer += inc; mark = buffer[(size + pointer) % size]; // skip marks that are the same as current position if (mark && (newCur = mark.find()) && !cursorEqual(oldCur, newCur)) { break; } } while (pointer < head && pointer > tail); } return mark; } function find(cm, offset) { var oldPointer = pointer; var mark = move(cm, offset); pointer = oldPointer; return mark && mark.find(); } return { cachedCursor: undefined, //used for # and * jumps add: add, find: find, move: move }; }; // Returns an object to track the changes associated insert mode. It // clones the object that is passed in, or creates an empty object one if // none is provided. var createInsertModeChanges = function(c) { if (c) { // Copy construction return { changes: c.changes, expectCursorActivityForChange: c.expectCursorActivityForChange }; } return { // Change list changes: [], // Set to true on change, false on cursorActivity. expectCursorActivityForChange: false }; }; function MacroModeState() { this.latestRegister = undefined; this.isPlaying = false; this.isRecording = false; this.replaySearchQueries = []; this.onRecordingDone = undefined; this.lastInsertModeChanges = createInsertModeChanges(); } MacroModeState.prototype = { exitMacroRecordMode: function() { var macroModeState = vimGlobalState.macroModeState; if (macroModeState.onRecordingDone) { macroModeState.onRecordingDone(); // close dialog } macroModeState.onRecordingDone = undefined; macroModeState.isRecording = false; }, enterMacroRecordMode: function(cm, registerName) { var register = vimGlobalState.registerController.getRegister(registerName); if (register) { register.clear(); this.latestRegister = registerName; if (cm.openDialog) { this.onRecordingDone = cm.openDialog( document.createTextNode('(recording)['+registerName+']'), null, {bottom:true}); } this.isRecording = true; } } }; function maybeInitVimState(cm) { if (!cm.state.vim) { // Store instance state in the CodeMirror object. cm.state.vim = { inputState: new InputState(), // Vim's input state that triggered the last edit, used to repeat // motions and operators with '.'. lastEditInputState: undefined, // Vim's action command before the last edit, used to repeat actions // with '.' and insert mode repeat. lastEditActionCommand: undefined, // When using jk for navigation, if you move from a longer line to a // shorter line, the cursor may clip to the end of the shorter line. // If j is pressed again and cursor goes to the next line, the // cursor should go back to its horizontal position on the longer // line if it can. This is to keep track of the horizontal position. lastHPos: -1, // Doing the same with screen-position for gj/gk lastHSPos: -1, // The last motion command run. Cleared if a non-motion command gets // executed in between. lastMotion: null, marks: {}, insertMode: false, insertModeReturn: false, // Repeat count for changes made in insert mode, triggered by key // sequences like 3,i. Only exists when insertMode is true. insertModeRepeat: undefined, visualMode: false, // If we are in visual line mode. No effect if visualMode is false. visualLine: false, visualBlock: false, lastSelection: null, lastPastedText: null, sel: {}, // Buffer-local/window-local values of vim options. options: {}, // Whether the next character should be interpreted literally // Necassary for correct implementation of f, r etc. // in terms of langmaps. expectLiteralNext: false }; } return cm.state.vim; } var vimGlobalState; function resetVimGlobalState() { vimGlobalState = { // The current search query. searchQuery: null, // Whether we are searching backwards. searchIsReversed: false, // Replace part of the last substituted pattern lastSubstituteReplacePart: undefined, jumpList: createCircularJumpList(), macroModeState: new MacroModeState, // Recording latest f, t, F or T motion command. lastCharacterSearch: {increment:0, forward:true, selectedCharacter:''}, registerController: new RegisterController({}), // search history buffer searchHistoryController: new HistoryController(), // ex Command history buffer exCommandHistoryController : new HistoryController() }; for (var optionName in options) { var option = options[optionName]; option.value = option.defaultValue; } } var lastInsertModeKeyTimer; var vimApi = { enterVimMode: enterVimMode, leaveVimMode: leaveVimMode, buildKeyMap: function() { // TODO: Convert keymap into dictionary format for fast lookup. }, // Testing hook, though it might be useful to expose the register // controller anyway. getRegisterController: function() { return vimGlobalState.registerController; }, // Testing hook. resetVimGlobalState_: resetVimGlobalState, // Testing hook. getVimGlobalState_: function() { return vimGlobalState; }, // Testing hook. maybeInitVimState_: maybeInitVimState, suppressErrorLogging: false, InsertModeKey: InsertModeKey, map: function(lhs, rhs, ctx) { // Add user defined key bindings. exCommandDispatcher.map(lhs, rhs, ctx); }, unmap: function(lhs, ctx) { return exCommandDispatcher.unmap(lhs, ctx); }, // Non-recursive map function. // NOTE: This will not create mappings to key maps that aren't present // in the default key map. See TODO at bottom of function. noremap: function(lhs, rhs, ctx) { exCommandDispatcher.map(lhs, rhs, ctx, true); }, // Remove all user-defined mappings for the provided context. mapclear: function(ctx) { // Partition the existing keymap into user-defined and true defaults. var actualLength = defaultKeymap.length, origLength = defaultKeymapLength; var userKeymap = defaultKeymap.slice(0, actualLength - origLength); defaultKeymap = defaultKeymap.slice(actualLength - origLength); if (ctx) { // If a specific context is being cleared, we need to keep mappings // from all other contexts. for (var i = userKeymap.length - 1; i >= 0; i--) { var mapping = userKeymap[i]; if (ctx !== mapping.context) { if (mapping.context) { this._mapCommand(mapping); } else { // `mapping` applies to all contexts so create keymap copies // for each context except the one being cleared. var contexts = ['normal', 'insert', 'visual']; for (var j in contexts) { if (contexts[j] !== ctx) { var newMapping = {}; for (var key in mapping) { newMapping[key] = mapping[key]; } newMapping.context = contexts[j]; this._mapCommand(newMapping); } } } } } } }, langmap: updateLangmap, vimKeyFromEvent: vimKeyFromEvent, // TODO: Expose setOption and getOption as instance methods. Need to decide how to namespace // them, or somehow make them work with the existing CodeMirror setOption/getOption API. setOption: setOption, getOption: getOption, defineOption: defineOption, defineEx: function(name, prefix, func){ if (!prefix) { prefix = name; } else if (name.indexOf(prefix) !== 0) { throw new Error('(Vim.defineEx) "'+prefix+'" is not a prefix of "'+name+'", command not registered'); } exCommands[name]=func; exCommandDispatcher.commandMap_[prefix]={name:name, shortName:prefix, type:'api'}; }, handleKey: function (cm, key, origin) { var command = this.findKey(cm, key, origin); if (typeof command === 'function') { return command(); } }, multiSelectHandleKey: multiSelectHandleKey, /** * This is the outermost function called by CodeMirror, after keys have * been mapped to their Vim equivalents. * * Finds a command based on the key (and cached keys if there is a * multi-key sequence). Returns `undefined` if no key is matched, a noop * function if a partial match is found (multi-key), and a function to * execute the bound command if a a key is matched. The function always * returns true. */ findKey: function(cm, key, origin) { var vim = maybeInitVimState(cm); function handleMacroRecording() { var macroModeState = vimGlobalState.macroModeState; if (macroModeState.isRecording) { if (key == 'q') { macroModeState.exitMacroRecordMode(); clearInputState(cm); return true; } if (origin != 'mapping') { logKey(macroModeState, key); } } } function handleEsc() { if (key == '') { if (vim.visualMode) { // Get back to normal mode. exitVisualMode(cm); } else if (vim.insertMode) { // Get back to normal mode. exitInsertMode(cm); } else { // We're already in normal mode. Let '' be handled normally. return; } clearInputState(cm); return true; } } function handleKeyInsertMode() { if (handleEsc()) { return true; } vim.inputState.keyBuffer.push(key); var keys = vim.inputState.keyBuffer.join(""); var keysAreChars = key.length == 1; var match = commandDispatcher.matchCommand(keys, defaultKeymap, vim.inputState, 'insert'); var changeQueue = vim.inputState.changeQueue; if (match.type == 'none') { clearInputState(cm); return false; } else if (match.type == 'partial') { if (match.expectLiteralNext) vim.expectLiteralNext = true; if (lastInsertModeKeyTimer) { window.clearTimeout(lastInsertModeKeyTimer); } lastInsertModeKeyTimer = keysAreChars && window.setTimeout( function() { if (vim.insertMode && vim.inputState.keyBuffer.length) { clearInputState(cm); } }, getOption('insertModeEscKeysTimeout')); if (keysAreChars) { var selections = cm.listSelections(); if (!changeQueue || changeQueue.removed.length != selections.length) changeQueue = vim.inputState.changeQueue = new ChangeQueue; changeQueue.inserted += key; for (var i = 0; i < selections.length; i++) { var from = cursorMin(selections[i].anchor, selections[i].head); var to = cursorMax(selections[i].anchor, selections[i].head); var text = cm.getRange(from, cm.state.overwrite ? offsetCursor(to, 0, 1) : to); changeQueue.removed[i] = (changeQueue.removed[i] || "") + text; } } return !keysAreChars; } vim.expectLiteralNext = false; if (lastInsertModeKeyTimer) { window.clearTimeout(lastInsertModeKeyTimer); } if (match.command && changeQueue) { var selections = cm.listSelections(); for (var i = 0; i < selections.length; i++) { var here = selections[i].head; cm.replaceRange(changeQueue.removed[i] || "", offsetCursor(here, 0, -changeQueue.inserted.length), here, '+input'); } vimGlobalState.macroModeState.lastInsertModeChanges.changes.pop(); } if (!match.command) clearInputState(cm); return match.command; } function handleKeyNonInsertMode() { if (handleMacroRecording() || handleEsc()) { return true; } vim.inputState.keyBuffer.push(key); var keys = vim.inputState.keyBuffer.join(""); if (/^[1-9]\d*$/.test(keys)) { return true; } var keysMatcher = /^(\d*)(.*)$/.exec(keys); if (!keysMatcher) { clearInputState(cm); return false; } var context = vim.visualMode ? 'visual' : 'normal'; var mainKey = keysMatcher[2] || keysMatcher[1]; if (vim.inputState.operatorShortcut && vim.inputState.operatorShortcut.slice(-1) == mainKey) { // multikey operators act linewise by repeating only the last character mainKey = vim.inputState.operatorShortcut; } var match = commandDispatcher.matchCommand(mainKey, defaultKeymap, vim.inputState, context); if (match.type == 'none') { clearInputState(cm); return false; } else if (match.type == 'partial') { if (match.expectLiteralNext) vim.expectLiteralNext = true; return true; } else if (match.type == 'clear') { clearInputState(cm); return true; } vim.expectLiteralNext = false; vim.inputState.keyBuffer.length = 0; keysMatcher = /^(\d*)(.*)$/.exec(keys); if (keysMatcher[1] && keysMatcher[1] != '0') { vim.inputState.pushRepeatDigit(keysMatcher[1]); } return match.command; } var command; if (vim.insertMode) { command = handleKeyInsertMode(); } else { command = handleKeyNonInsertMode(); } if (command === false) { return !vim.insertMode && key.length === 1 ? function() { return true; } : undefined; } else if (command === true) { // TODO: Look into using CodeMirror's multi-key handling. // Return no-op since we are caching the key. Counts as handled, but // don't want act on it just yet. return function() { return true; }; } else { return function() { return cm.operation(function() { cm.curOp.isVimOp = true; try { if (command.type == 'keyToKey') { doKeyToKey(cm, command.toKeys, command); } else { commandDispatcher.processCommand(cm, vim, command); } } catch (e) { // clear VIM state in case it's in a bad state. cm.state.vim = undefined; maybeInitVimState(cm); if (!vimApi.suppressErrorLogging) { console['log'](e); } throw e; } return true; }); }; } }, handleEx: function(cm, input) { exCommandDispatcher.processCommand(cm, input); }, defineMotion: defineMotion, defineAction: defineAction, defineOperator: defineOperator, mapCommand: mapCommand, _mapCommand: _mapCommand, defineRegister: defineRegister, exitVisualMode: exitVisualMode, enterInsertMode: enterInsertMode, exitInsertMode: exitInsertMode }; var keyToKeyStack = []; var noremap = false; var virtualPrompt; function sendKeyToPrompt(key) { if (key[0] == "<") { var lowerKey = key.toLowerCase().slice(1, -1); var parts = lowerKey.split('-'); lowerKey = parts.pop() || ''; if (lowerKey == 'lt') key = '<'; else if (lowerKey == 'space') key = ' '; else if (lowerKey == 'cr') key = '\n'; else if (vimToCmKeyMap[lowerKey]) { var value = virtualPrompt.value; var event = { key: vimToCmKeyMap[lowerKey], target: { value: value, selectionEnd: value.length, selectionStart: value.length } } if (virtualPrompt.onKeyDown) { virtualPrompt.onKeyDown(event, virtualPrompt.value, close); } if (virtualPrompt && virtualPrompt.onKeyUp) { virtualPrompt.onKeyUp(event, virtualPrompt.value, close); } return; } } if (key == '\n') { var prompt = virtualPrompt; virtualPrompt = null; prompt.onClose && prompt.onClose(prompt.value); } else { virtualPrompt.value = (virtualPrompt.value || '') + key; } function close(value) { if (typeof value == 'string') { virtualPrompt.value = value; } else { virtualPrompt = null; } } } function doKeyToKey(cm, keys, fromKey) { var noremapBefore = noremap; // prevent infinite recursion. if (fromKey) { if (keyToKeyStack.indexOf(fromKey) != -1) return; keyToKeyStack.push(fromKey); noremap = fromKey.noremap != false; } try { var vim = maybeInitVimState(cm); var keyRe = /<(?:[CSMA]-)*\w+>|./gi; var match; // Pull off one command key, which is either a single character // or a special sequence wrapped in '<' and '>', e.g. ''. while ((match = keyRe.exec(keys))) { var key = match[0]; var wasInsert = vim.insertMode; if (virtualPrompt) { sendKeyToPrompt(key); continue; } var result = vimApi.handleKey(cm, key, 'mapping'); if (!result && wasInsert && vim.insertMode) { if (key[0] == "<") { var lowerKey = key.toLowerCase().slice(1, -1); var parts = lowerKey.split('-'); lowerKey = parts.pop() || ''; if (lowerKey == 'lt') key = '<'; else if (lowerKey == 'space') key = ' '; else if (lowerKey == 'cr') key = '\n'; else if (vimToCmKeyMap.hasOwnProperty(lowerKey)) { // todo support codemirror keys in insertmode vimToCmKeyMap key = vimToCmKeyMap[lowerKey]; sendCmKey(cm, key); continue; } else { key = key[0]; keyRe.lastIndex = match.index + 1; } } cm.replaceSelection(key); } } } finally { keyToKeyStack.pop(); noremap = keyToKeyStack.length ? noremapBefore : false; if (!keyToKeyStack.length && virtualPrompt) { var promptOptions = virtualPrompt; virtualPrompt = null; showPrompt(cm, promptOptions); } } } var specialKey = { Return: 'CR', Backspace: 'BS', 'Delete': 'Del', Escape: 'Esc', Insert: 'Ins', ArrowLeft: 'Left', ArrowRight: 'Right', ArrowUp: 'Up', ArrowDown: 'Down', Enter: 'CR', ' ': 'Space' }; var ignoredKeys = { Shift: 1, Alt: 1, Command: 1, Control: 1, CapsLock: 1, AltGraph: 1, Dead: 1, Unidentified: 1 }; var vimToCmKeyMap = {}; 'Left|Right|Up|Down|End|Home'.split('|').concat(Object.keys(specialKey)).forEach(function(x) { vimToCmKeyMap[(specialKey[x] || '').toLowerCase()] = vimToCmKeyMap[x.toLowerCase()] = x; }); function vimKeyFromEvent(e, vim) { var key = e.key; if (ignoredKeys[key]) return; if (key.length > 1 && key[0] == "n") { key = key.replace("Numpad", ""); } key = specialKey[key] || key; var name = ''; if (e.ctrlKey) { name += 'C-'; } if (e.altKey) { name += 'A-'; } if (e.metaKey) { name += 'M-'; } // on mac many characters are entered as option- combos // (e.g. on swiss keyboard { is option-8) // so we ignore lonely A- modifier for keypress event on mac if (CodeMirror.isMac && e.altKey && !e.metaKey && !e.ctrlKey) { name = name.slice(2); } if ((name || key.length > 1) && e.shiftKey) { name += 'S-'; } if (vim && !vim.expectLiteralNext && key.length == 1) { if (langmap.keymap && key in langmap.keymap) { if (langmap.remapCtrl != false || !name) key = langmap.keymap[key]; } else if (key.charCodeAt(0) > 255) { var code = e.code?.slice(-1) || ""; if (!e.shiftKey) code = code.toLowerCase(); if (code) key = code; } } name += key; if (name.length > 1) { name = '<' + name + '>'; } return name; }; // langmap support function updateLangmap(langmapString, remapCtrl) { if (langmap.string !== langmapString) { langmap = parseLangmap(langmapString); } langmap.remapCtrl = remapCtrl; } function parseLangmap(langmapString) { // From :help langmap /* The 'langmap' option is a list of parts, separated with commas. Each part can be in one of two forms: 1. A list of pairs. Each pair is a "from" character immediately followed by the "to" character. Examples: "aA", "aAbBcC". 2. A list of "from" characters, a semi-colon and a list of "to" characters. Example: "abc;ABC" */ let keymap = {}; if (!langmapString) return { keymap: keymap, string: '' }; function getEscaped(list) { return list.split(/\\?(.)/).filter(Boolean); } langmapString.split(/((?:[^\\,]|\\.)+),/).map(part => { if (!part) return; const semicolon = part.split(/((?:[^\\;]|\\.)+);/); if (semicolon.length == 3) { const from = getEscaped(semicolon[1]); const to = getEscaped(semicolon[2]); if (from.length !== to.length) return; // skip over malformed part for (let i = 0; i < from.length; ++i) keymap[from[i]] = to[i]; } else if (semicolon.length == 1) { const pairs = getEscaped(part); if (pairs.length % 2 !== 0) return; // skip over malformed part for (let i = 0; i < pairs.length; i += 2) keymap[pairs[i]] = pairs[i + 1]; } }); return { keymap: keymap, string: langmapString }; } defineOption('langmap', undefined, 'string', ['lmap'], function(name, cm) { // The 'filetype' option proxies to the CodeMirror 'mode' option. if (name === undefined) { return langmap.string; } else { updateLangmap(name); } }); // Represents the current input state. function InputState() { this.prefixRepeat = []; this.motionRepeat = []; this.operator = null; this.operatorArgs = null; this.motion = null; this.motionArgs = null; this.keyBuffer = []; // For matching multi-key commands. this.registerName = null; // Defaults to the unnamed register. this.changeQueue = null; // For restoring text used by insert mode keybindings } InputState.prototype.pushRepeatDigit = function(n) { if (!this.operator) { this.prefixRepeat = this.prefixRepeat.concat(n); } else { this.motionRepeat = this.motionRepeat.concat(n); } }; InputState.prototype.getRepeat = function() { var repeat = 0; if (this.prefixRepeat.length > 0 || this.motionRepeat.length > 0) { repeat = 1; if (this.prefixRepeat.length > 0) { repeat *= parseInt(this.prefixRepeat.join(''), 10); } if (this.motionRepeat.length > 0) { repeat *= parseInt(this.motionRepeat.join(''), 10); } } return repeat; }; function clearInputState(cm, reason) { cm.state.vim.inputState = new InputState(); CodeMirror.signal(cm, 'vim-command-done', reason); } function ChangeQueue() { this.removed = []; this.inserted = ""; } /* * Register stores information about copy and paste registers. Besides * text, a register must store whether it is linewise (i.e., when it is * pasted, should it insert itself into a new line, or should the text be * inserted at the cursor position.) */ function Register(text, linewise, blockwise) { this.clear(); this.keyBuffer = [text || '']; this.insertModeChanges = []; this.searchQueries = []; this.linewise = !!linewise; this.blockwise = !!blockwise; } Register.prototype = { setText: function(text, linewise, blockwise) { this.keyBuffer = [text || '']; this.linewise = !!linewise; this.blockwise = !!blockwise; }, pushText: function(text, linewise) { // if this register has ever been set to linewise, use linewise. if (linewise) { if (!this.linewise) { this.keyBuffer.push('\n'); } this.linewise = true; } this.keyBuffer.push(text); }, pushInsertModeChanges: function(changes) { this.insertModeChanges.push(createInsertModeChanges(changes)); }, pushSearchQuery: function(query) { this.searchQueries.push(query); }, clear: function() { this.keyBuffer = []; this.insertModeChanges = []; this.searchQueries = []; this.linewise = false; }, toString: function() { return this.keyBuffer.join(''); } }; /** * Defines an external register. * * The name should be a single character that will be used to reference the register. * The register should support setText, pushText, clear, and toString(). See Register * for a reference implementation. */ function defineRegister(name, register) { var registers = vimGlobalState.registerController.registers; if (!name || name.length != 1) { throw Error('Register name must be 1 character'); } if (registers[name]) { throw Error('Register already defined ' + name); } registers[name] = register; validRegisters.push(name); } /* * vim registers allow you to keep many independent copy and paste buffers. * See http://usevim.com/2012/04/13/registers/ for an introduction. * * RegisterController keeps the state of all the registers. An initial * state may be passed in. The unnamed register '"' will always be * overridden. */ function RegisterController(registers) { this.registers = registers; this.unnamedRegister = registers['"'] = new Register(); registers['.'] = new Register(); registers[':'] = new Register(); registers['/'] = new Register(); registers['+'] = new Register(); } RegisterController.prototype = { pushText: function(registerName, operator, text, linewise, blockwise) { // The black hole register, "_, means delete/yank to nowhere. if (registerName === '_') return; if (linewise && text.charAt(text.length - 1) !== '\n'){ text += '\n'; } // Lowercase and uppercase registers refer to the same register. // Uppercase just means append. var register = this.isValidRegister(registerName) ? this.getRegister(registerName) : null; // if no register/an invalid register was specified, things go to the // default registers if (!register) { switch (operator) { case 'yank': // The 0 register contains the text from the most recent yank. this.registers['0'] = new Register(text, linewise, blockwise); break; case 'delete': case 'change': if (text.indexOf('\n') == -1) { // Delete less than 1 line. Update the small delete register. this.registers['-'] = new Register(text, linewise); } else { // Shift down the contents of the numbered registers and put the // deleted text into register 1. this.shiftNumericRegisters_(); this.registers['1'] = new Register(text, linewise); } break; } // Make sure the unnamed register is set to what just happened this.unnamedRegister.setText(text, linewise, blockwise); return; } // If we've gotten to this point, we've actually specified a register var append = isUpperCase(registerName); if (append) { register.pushText(text, linewise); } else { register.setText(text, linewise, blockwise); } if (registerName === '+') { navigator.clipboard.writeText(text); } // The unnamed register always has the same value as the last used // register. this.unnamedRegister.setText(register.toString(), linewise); }, // Gets the register named @name. If one of @name doesn't already exist, // create it. If @name is invalid, return the unnamedRegister. getRegister: function(name) { if (!this.isValidRegister(name)) { return this.unnamedRegister; } name = name.toLowerCase(); if (!this.registers[name]) { this.registers[name] = new Register(); } return this.registers[name]; }, isValidRegister: function(name) { return name && (inArray(name, validRegisters) || latinCharRegex.test(name)); }, shiftNumericRegisters_: function() { for (var i = 9; i >= 2; i--) { this.registers[i] = this.getRegister('' + (i - 1)); } } }; function HistoryController() { this.historyBuffer = []; this.iterator = 0; this.initialPrefix = null; } HistoryController.prototype = { // the input argument here acts a user entered prefix for a small time // until we start autocompletion in which case it is the autocompleted. nextMatch: function (input, up) { var historyBuffer = this.historyBuffer; var dir = up ? -1 : 1; if (this.initialPrefix === null) this.initialPrefix = input; for (var i = this.iterator + dir; up ? i >= 0 : i < historyBuffer.length; i+= dir) { var element = historyBuffer[i]; for (var j = 0; j <= element.length; j++) { if (this.initialPrefix == element.substring(0, j)) { this.iterator = i; return element; } } } // should return the user input in case we reach the end of buffer. if (i >= historyBuffer.length) { this.iterator = historyBuffer.length; return this.initialPrefix; } // return the last autocompleted query or exCommand as it is. if (i < 0 ) return input; }, pushInput: function(input) { var index = this.historyBuffer.indexOf(input); if (index > -1) this.historyBuffer.splice(index, 1); if (input.length) this.historyBuffer.push(input); }, reset: function() { this.initialPrefix = null; this.iterator = this.historyBuffer.length; } }; var commandDispatcher = { matchCommand: function(keys, keyMap, inputState, context) { var matches = commandMatches(keys, keyMap, context, inputState); if (!matches.full && !matches.partial) { return {type: 'none'}; } else if (!matches.full && matches.partial) { return { type: 'partial', expectLiteralNext: matches.partial.length == 1 && matches.partial[0].keys.slice(-11) == '' // langmap literal logic }; } var bestMatch; for (var i = 0; i < matches.full.length; i++) { var match = matches.full[i]; if (!bestMatch) { bestMatch = match; } } if (bestMatch.keys.slice(-11) == '' || bestMatch.keys.slice(-10) == '') { var character = lastChar(keys); if (!character || character.length > 1) return {type: 'clear'}; inputState.selectedCharacter = character; } return {type: 'full', command: bestMatch}; }, processCommand: function(cm, vim, command) { vim.inputState.repeatOverride = command.repeatOverride; switch (command.type) { case 'motion': this.processMotion(cm, vim, command); break; case 'operator': this.processOperator(cm, vim, command); break; case 'operatorMotion': this.processOperatorMotion(cm, vim, command); break; case 'action': this.processAction(cm, vim, command); break; case 'search': this.processSearch(cm, vim, command); break; case 'ex': case 'keyToEx': this.processEx(cm, vim, command); break; default: break; } }, processMotion: function(cm, vim, command) { vim.inputState.motion = command.motion; vim.inputState.motionArgs = copyArgs(command.motionArgs); this.evalInput(cm, vim); }, processOperator: function(cm, vim, command) { var inputState = vim.inputState; if (inputState.operator) { if (inputState.operator == command.operator) { // Typing an operator twice like 'dd' makes the operator operate // linewise inputState.motion = 'expandToLine'; inputState.motionArgs = { linewise: true }; this.evalInput(cm, vim); return; } else { // 2 different operators in a row doesn't make sense. clearInputState(cm); } } inputState.operator = command.operator; inputState.operatorArgs = copyArgs(command.operatorArgs); if (command.keys.length > 1) { inputState.operatorShortcut = command.keys; } if (command.exitVisualBlock) { vim.visualBlock = false; updateCmSelection(cm); } if (vim.visualMode) { // Operating on a selection in visual mode. We don't need a motion. this.evalInput(cm, vim); } }, processOperatorMotion: function(cm, vim, command) { var visualMode = vim.visualMode; var operatorMotionArgs = copyArgs(command.operatorMotionArgs); if (operatorMotionArgs) { // Operator motions may have special behavior in visual mode. if (visualMode && operatorMotionArgs.visualLine) { vim.visualLine = true; } } this.processOperator(cm, vim, command); if (!visualMode) { this.processMotion(cm, vim, command); } }, processAction: function(cm, vim, command) { var inputState = vim.inputState; var repeat = inputState.getRepeat(); var repeatIsExplicit = !!repeat; var actionArgs = copyArgs(command.actionArgs) || {}; if (inputState.selectedCharacter) { actionArgs.selectedCharacter = inputState.selectedCharacter; } // Actions may or may not have motions and operators. Do these first. if (command.operator) { this.processOperator(cm, vim, command); } if (command.motion) { this.processMotion(cm, vim, command); } if (command.motion || command.operator) { this.evalInput(cm, vim); } actionArgs.repeat = repeat || 1; actionArgs.repeatIsExplicit = repeatIsExplicit; actionArgs.registerName = inputState.registerName; clearInputState(cm); vim.lastMotion = null; if (command.isEdit) { this.recordLastEdit(vim, inputState, command); } actions[command.action](cm, actionArgs, vim); }, processSearch: function(cm, vim, command) { if (!cm.getSearchCursor) { // Search depends on SearchCursor. return; } var forward = command.searchArgs.forward; var wholeWordOnly = command.searchArgs.wholeWordOnly; getSearchState(cm).setReversed(!forward); var promptPrefix = (forward) ? '/' : '?'; var originalQuery = getSearchState(cm).getQuery(); var originalScrollPos = cm.getScrollInfo(); function handleQuery(query, ignoreCase, smartCase) { vimGlobalState.searchHistoryController.pushInput(query); vimGlobalState.searchHistoryController.reset(); try { updateSearchQuery(cm, query, ignoreCase, smartCase); } catch (e) { showConfirm(cm, 'Invalid regex: ' + query); clearInputState(cm); return; } commandDispatcher.processMotion(cm, vim, { type: 'motion', motion: 'findNext', motionArgs: { forward: true, toJumplist: command.searchArgs.toJumplist } }); } function onPromptClose(query) { cm.scrollTo(originalScrollPos.left, originalScrollPos.top); handleQuery(query, true /** ignoreCase */, true /** smartCase */); var macroModeState = vimGlobalState.macroModeState; if (macroModeState.isRecording) { logSearchQuery(macroModeState, query); } } function onPromptKeyUp(e, query, close) { var keyName = vimKeyFromEvent(e), up, offset; if (keyName == '' || keyName == '') { up = keyName == '' ? true : false; offset = e.target ? e.target.selectionEnd : 0; query = vimGlobalState.searchHistoryController.nextMatch(query, up) || ''; close(query); if (offset && e.target) e.target.selectionEnd = e.target.selectionStart = Math.min(offset, e.target.value.length); } else if (keyName && keyName != '' && keyName != '') { vimGlobalState.searchHistoryController.reset(); } var parsedQuery; try { parsedQuery = updateSearchQuery(cm, query, true /** ignoreCase */, true /** smartCase */); } catch (e) { // Swallow bad regexes for incremental search. } if (parsedQuery) { cm.scrollIntoView(findNext(cm, !forward, parsedQuery), 30); } else { clearSearchHighlight(cm); cm.scrollTo(originalScrollPos.left, originalScrollPos.top); } } function onPromptKeyDown(e, query, close) { var keyName = vimKeyFromEvent(e); if (keyName == '' || keyName == '' || keyName == '' || (keyName == '' && query == '')) { vimGlobalState.searchHistoryController.pushInput(query); vimGlobalState.searchHistoryController.reset(); updateSearchQuery(cm, originalQuery); clearSearchHighlight(cm); cm.scrollTo(originalScrollPos.left, originalScrollPos.top); CodeMirror.e_stop(e); clearInputState(cm); close(); cm.focus(); } else if (keyName == '' || keyName == '') { CodeMirror.e_stop(e); } else if (keyName == '') { // Ctrl-U clears input. CodeMirror.e_stop(e); close(''); } } switch (command.searchArgs.querySrc) { case 'prompt': var macroModeState = vimGlobalState.macroModeState; if (macroModeState.isPlaying) { var query = macroModeState.replaySearchQueries.shift(); handleQuery(query, true /** ignoreCase */, false /** smartCase */); } else { showPrompt(cm, { onClose: onPromptClose, prefix: promptPrefix, desc: '(JavaScript regexp)', onKeyUp: onPromptKeyUp, onKeyDown: onPromptKeyDown }); } break; case 'wordUnderCursor': var word = expandWordUnderCursor(cm, { noSymbol: true }); var isKeyword = true; if (!word) { word = expandWordUnderCursor(cm, {noSymbol: false}); isKeyword = false; } if (!word) { showConfirm(cm, 'No word under cursor'); clearInputState(cm); return; } var query = cm.getLine(word.start.line).substring(word.start.ch, word.end.ch); if (isKeyword && wholeWordOnly) { query = '\\b' + query + '\\b'; } else { query = escapeRegex(query); } // cachedCursor is used to save the old position of the cursor // when * or # causes vim to seek for the nearest word and shift // the cursor before entering the motion. vimGlobalState.jumpList.cachedCursor = cm.getCursor(); cm.setCursor(word.start); handleQuery(query, true /** ignoreCase */, false /** smartCase */); break; } }, processEx: function(cm, vim, command) { function onPromptClose(input) { // Give the prompt some time to close so that if processCommand shows // an error, the elements don't overlap. vimGlobalState.exCommandHistoryController.pushInput(input); vimGlobalState.exCommandHistoryController.reset(); exCommandDispatcher.processCommand(cm, input); if (cm.state.vim) clearInputState(cm); clearSearchHighlight(cm); } function onPromptKeyDown(e, input, close) { var keyName = vimKeyFromEvent(e), up, offset; if (keyName == '' || keyName == '' || keyName == '' || (keyName == '' && input == '')) { vimGlobalState.exCommandHistoryController.pushInput(input); vimGlobalState.exCommandHistoryController.reset(); CodeMirror.e_stop(e); clearInputState(cm); clearSearchHighlight(cm); close(); cm.focus(); } if (keyName == '' || keyName == '') { CodeMirror.e_stop(e); up = keyName == '' ? true : false; offset = e.target ? e.target.selectionEnd : 0; input = vimGlobalState.exCommandHistoryController.nextMatch(input, up) || ''; close(input); if (offset && e.target) e.target.selectionEnd = e.target.selectionStart = Math.min(offset, e.target.value.length); } else if (keyName == '') { // Ctrl-U clears input. CodeMirror.e_stop(e); close(''); } else if (keyName && keyName != '' && keyName != '') { vimGlobalState.exCommandHistoryController.reset(); } } /** * @arg {KeyboardEvent&{target:HTMLInputElement}} e * @arg {any} query */ function onPromptKeyUp(e, query) { var inputStream = new CodeMirror.StringStream(query); var params = {}; try { exCommandDispatcher.parseInput_(cm, inputStream, params); if (params.commandName != "s") { clearSearchHighlight(cm); return; } command = exCommandDispatcher.matchCommand_(params.commandName); exCommandDispatcher.parseCommandArgs_(inputStream, params, command); if (!params.argString) return; var regex = parseQuery(params.argString.slice(1), true, true); if (regex) highlightSearchMatches(cm, regex); } catch(e) { } } if (command.type == 'keyToEx') { // Handle user defined Ex to Ex mappings exCommandDispatcher.processCommand(cm, command.exArgs.input); } else { var promptOptions = { onClose: onPromptClose, onKeyDown: onPromptKeyDown, onKeyUp: onPromptKeyUp, prefix: ':', }; if (vim.visualMode) { promptOptions.value = '\'<,\'>'; promptOptions.selectValueOnOpen = false; } showPrompt(cm, promptOptions); } }, evalInput: function(cm, vim) { // If the motion command is set, execute both the operator and motion. // Otherwise return. var inputState = vim.inputState; var motion = inputState.motion; var motionArgs = inputState.motionArgs || {}; var operator = inputState.operator; var operatorArgs = inputState.operatorArgs || {}; var registerName = inputState.registerName; var sel = vim.sel; // TODO: Make sure cm and vim selections are identical outside visual mode. var origHead = copyCursor(vim.visualMode ? clipCursorToContent(cm, sel.head): cm.getCursor('head')); var origAnchor = copyCursor(vim.visualMode ? clipCursorToContent(cm, sel.anchor) : cm.getCursor('anchor')); var oldHead = copyCursor(origHead); var oldAnchor = copyCursor(origAnchor); var newHead, newAnchor; var repeat; if (operator) { this.recordLastEdit(vim, inputState); } if (inputState.repeatOverride !== undefined) { // If repeatOverride is specified, that takes precedence over the // input state's repeat. Used by Ex mode and can be user defined. repeat = inputState.repeatOverride; } else { repeat = inputState.getRepeat(); } if (repeat > 0 && motionArgs.explicitRepeat) { motionArgs.repeatIsExplicit = true; } else if (motionArgs.noRepeat || (!motionArgs.explicitRepeat && repeat === 0)) { repeat = 1; motionArgs.repeatIsExplicit = false; } if (inputState.selectedCharacter) { // If there is a character input, stick it in all of the arg arrays. motionArgs.selectedCharacter = operatorArgs.selectedCharacter = inputState.selectedCharacter; } motionArgs.repeat = repeat; clearInputState(cm); if (motion) { var motionResult = motions[motion](cm, origHead, motionArgs, vim, inputState); vim.lastMotion = motions[motion]; if (!motionResult) { return; } if (motionArgs.toJumplist) { var jumpList = vimGlobalState.jumpList; // if the current motion is # or *, use cachedCursor var cachedCursor = jumpList.cachedCursor; if (cachedCursor) { recordJumpPosition(cm, cachedCursor, motionResult); delete jumpList.cachedCursor; } else { recordJumpPosition(cm, origHead, motionResult); } } if (motionResult instanceof Array) { newAnchor = motionResult[0]; newHead = motionResult[1]; } else { newHead = motionResult; } // TODO: Handle null returns from motion commands better. if (!newHead) { newHead = copyCursor(origHead); } if (vim.visualMode) { if (!(vim.visualBlock && newHead.ch === Infinity)) { newHead = clipCursorToContent(cm, newHead, oldHead); } if (newAnchor) { newAnchor = clipCursorToContent(cm, newAnchor); } newAnchor = newAnchor || oldAnchor; sel.anchor = newAnchor; sel.head = newHead; updateCmSelection(cm); updateMark(cm, vim, '<', cursorIsBefore(newAnchor, newHead) ? newAnchor : newHead); updateMark(cm, vim, '>', cursorIsBefore(newAnchor, newHead) ? newHead : newAnchor); } else if (!operator) { newHead = clipCursorToContent(cm, newHead, oldHead); cm.setCursor(newHead.line, newHead.ch); } } if (operator) { if (operatorArgs.lastSel) { // Replaying a visual mode operation newAnchor = oldAnchor; var lastSel = operatorArgs.lastSel; var lineOffset = Math.abs(lastSel.head.line - lastSel.anchor.line); var chOffset = Math.abs(lastSel.head.ch - lastSel.anchor.ch); if (lastSel.visualLine) { // Linewise Visual mode: The same number of lines. newHead = new Pos(oldAnchor.line + lineOffset, oldAnchor.ch); } else if (lastSel.visualBlock) { // Blockwise Visual mode: The same number of lines and columns. newHead = new Pos(oldAnchor.line + lineOffset, oldAnchor.ch + chOffset); } else if (lastSel.head.line == lastSel.anchor.line) { // Normal Visual mode within one line: The same number of characters. newHead = new Pos(oldAnchor.line, oldAnchor.ch + chOffset); } else { // Normal Visual mode with several lines: The same number of lines, in the // last line the same number of characters as in the last line the last time. newHead = new Pos(oldAnchor.line + lineOffset, oldAnchor.ch); } vim.visualMode = true; vim.visualLine = lastSel.visualLine; vim.visualBlock = lastSel.visualBlock; sel = vim.sel = { anchor: newAnchor, head: newHead }; updateCmSelection(cm); } else if (vim.visualMode) { operatorArgs.lastSel = { anchor: copyCursor(sel.anchor), head: copyCursor(sel.head), visualBlock: vim.visualBlock, visualLine: vim.visualLine }; } var curStart, curEnd, linewise, mode; var cmSel; if (vim.visualMode) { // Init visual op curStart = cursorMin(sel.head, sel.anchor); curEnd = cursorMax(sel.head, sel.anchor); linewise = vim.visualLine || operatorArgs.linewise; mode = vim.visualBlock ? 'block' : linewise ? 'line' : 'char'; var newPositions = updateSelectionForSurrogateCharacters(cm, curStart, curEnd); cmSel = makeCmSelection(cm, { anchor: newPositions.start, head: newPositions.end }, mode); if (linewise) { var ranges = cmSel.ranges; if (mode == 'block') { // Linewise operators in visual block mode extend to end of line for (var i = 0; i < ranges.length; i++) { ranges[i].head.ch = lineLength(cm, ranges[i].head.line); } } else if (mode == 'line') { ranges[0].head = new Pos(ranges[0].head.line + 1, 0); } } } else { // Init motion op curStart = copyCursor(newAnchor || oldAnchor); curEnd = copyCursor(newHead || oldHead); if (cursorIsBefore(curEnd, curStart)) { var tmp = curStart; curStart = curEnd; curEnd = tmp; } linewise = motionArgs.linewise || operatorArgs.linewise; if (linewise) { // Expand selection to entire line. expandSelectionToLine(cm, curStart, curEnd); } else if (motionArgs.forward) { // Clip to trailing newlines only if the motion goes forward. clipToLine(cm, curStart, curEnd); } mode = 'char'; var exclusive = !motionArgs.inclusive || linewise; var newPositions = updateSelectionForSurrogateCharacters(cm, curStart, curEnd); cmSel = makeCmSelection(cm, { anchor: newPositions.start, head: newPositions.end }, mode, exclusive); } cm.setSelections(cmSel.ranges, cmSel.primary); vim.lastMotion = null; operatorArgs.repeat = repeat; // For indent in visual mode. operatorArgs.registerName = registerName; // Keep track of linewise as it affects how paste and change behave. operatorArgs.linewise = linewise; var operatorMoveTo = operators[operator]( cm, operatorArgs, cmSel.ranges, oldAnchor, newHead); if (vim.visualMode) { exitVisualMode(cm, operatorMoveTo != null); } if (operatorMoveTo) { cm.setCursor(operatorMoveTo); } } }, recordLastEdit: function(vim, inputState, actionCommand) { var macroModeState = vimGlobalState.macroModeState; if (macroModeState.isPlaying) { return; } vim.lastEditInputState = inputState; vim.lastEditActionCommand = actionCommand; macroModeState.lastInsertModeChanges.changes = []; macroModeState.lastInsertModeChanges.expectCursorActivityForChange = false; macroModeState.lastInsertModeChanges.visualBlock = vim.visualBlock ? vim.sel.head.line - vim.sel.anchor.line : 0; } }; /** * typedef {Object{line:number,ch:number}} Cursor An object containing the * position of the cursor. */ // All of the functions below return Cursor objects. var motions = { moveToTopLine: function(cm, _head, motionArgs) { var line = getUserVisibleLines(cm).top + motionArgs.repeat -1; return new Pos(line, findFirstNonWhiteSpaceCharacter(cm.getLine(line))); }, moveToMiddleLine: function(cm) { var range = getUserVisibleLines(cm); var line = Math.floor((range.top + range.bottom) * 0.5); return new Pos(line, findFirstNonWhiteSpaceCharacter(cm.getLine(line))); }, moveToBottomLine: function(cm, _head, motionArgs) { var line = getUserVisibleLines(cm).bottom - motionArgs.repeat +1; return new Pos(line, findFirstNonWhiteSpaceCharacter(cm.getLine(line))); }, expandToLine: function(_cm, head, motionArgs) { // Expands forward to end of line, and then to next line if repeat is // >1. Does not handle backward motion! var cur = head; return new Pos(cur.line + motionArgs.repeat - 1, Infinity); }, findNext: function(cm, _head, motionArgs) { var state = getSearchState(cm); var query = state.getQuery(); if (!query) { return; } var prev = !motionArgs.forward; // If search is initiated with ? instead of /, negate direction. prev = (state.isReversed()) ? !prev : prev; highlightSearchMatches(cm, query); return findNext(cm, prev/** prev */, query, motionArgs.repeat); }, /** * Find and select the next occurrence of the search query. If the cursor is currently * within a match, then find and select the current match. Otherwise, find the next occurrence in the * appropriate direction. * * This differs from `findNext` in the following ways: * * 1. Instead of only returning the "from", this returns a "from", "to" range. * 2. If the cursor is currently inside a search match, this selects the current match * instead of the next match. * 3. If there is no associated operator, this will turn on visual mode. */ findAndSelectNextInclusive: function(cm, _head, motionArgs, vim, prevInputState) { var state = getSearchState(cm); var query = state.getQuery(); if (!query) { return; } var prev = !motionArgs.forward; prev = (state.isReversed()) ? !prev : prev; // next: [from, to] | null var next = findNextFromAndToInclusive(cm, prev, query, motionArgs.repeat, vim); // No matches. if (!next) { return; } // If there's an operator that will be executed, return the selection. if (prevInputState.operator) { return next; } // At this point, we know that there is no accompanying operator -- let's // deal with visual mode in order to select an appropriate match. var from = next[0]; // For whatever reason, when we use the "to" as returned by searchcursor.js directly, // the resulting selection is extended by 1 char. Let's shrink it so that only the // match is selected. var to = new Pos(next[1].line, next[1].ch - 1); if (vim.visualMode) { // If we were in visualLine or visualBlock mode, get out of it. if (vim.visualLine || vim.visualBlock) { vim.visualLine = false; vim.visualBlock = false; CodeMirror.signal(cm, "vim-mode-change", {mode: "visual", subMode: ""}); } // If we're currently in visual mode, we should extend the selection to include // the search result. var anchor = vim.sel.anchor; if (anchor) { if (state.isReversed()) { if (motionArgs.forward) { return [anchor, from]; } return [anchor, to]; } else { if (motionArgs.forward) { return [anchor, to]; } return [anchor, from]; } } } else { // Let's turn visual mode on. vim.visualMode = true; vim.visualLine = false; vim.visualBlock = false; CodeMirror.signal(cm, "vim-mode-change", {mode: "visual", subMode: ""}); } return prev ? [to, from] : [from, to]; }, goToMark: function(cm, _head, motionArgs, vim) { var pos = getMarkPos(cm, vim, motionArgs.selectedCharacter); if (pos) { return motionArgs.linewise ? { line: pos.line, ch: findFirstNonWhiteSpaceCharacter(cm.getLine(pos.line)) } : pos; } return null; }, moveToOtherHighlightedEnd: function(cm, _head, motionArgs, vim) { if (vim.visualBlock && motionArgs.sameLine) { var sel = vim.sel; return [ clipCursorToContent(cm, new Pos(sel.anchor.line, sel.head.ch)), clipCursorToContent(cm, new Pos(sel.head.line, sel.anchor.ch)) ]; } else { return ([vim.sel.head, vim.sel.anchor]); } }, jumpToMark: function(cm, head, motionArgs, vim) { var best = head; for (var i = 0; i < motionArgs.repeat; i++) { var cursor = best; for (var key in vim.marks) { if (!isLowerCase(key)) { continue; } var mark = vim.marks[key].find(); var isWrongDirection = (motionArgs.forward) ? cursorIsBefore(mark, cursor) : cursorIsBefore(cursor, mark); if (isWrongDirection) { continue; } if (motionArgs.linewise && (mark.line == cursor.line)) { continue; } var equal = cursorEqual(cursor, best); var between = (motionArgs.forward) ? cursorIsBetween(cursor, mark, best) : cursorIsBetween(best, mark, cursor); if (equal || between) { best = mark; } } } if (motionArgs.linewise) { // Vim places the cursor on the first non-whitespace character of // the line if there is one, else it places the cursor at the end // of the line, regardless of whether a mark was found. best = new Pos(best.line, findFirstNonWhiteSpaceCharacter(cm.getLine(best.line))); } return best; }, moveByCharacters: function(cm, head, motionArgs) { return cm.moveByChar(head, motionArgs.forward, motionArgs.repeat); }, moveByLines: function(cm, head, motionArgs, vim) { var cur = head; var endCh = cur.ch; // Depending what our last motion was, we may want to do different // things. If our last motion was moving vertically, we want to // preserve the HPos from our last horizontal move. If our last motion // was going to the end of a line, moving vertically we should go to // the end of the line, etc. switch (vim.lastMotion) { case this.moveByLines: case this.moveByDisplayLines: case this.moveByScroll: case this.moveToColumn: case this.moveToEol: endCh = vim.lastHPos; break; default: vim.lastHPos = endCh; } var repeat = motionArgs.repeat+(motionArgs.repeatOffset||0); var line = motionArgs.forward ? cur.line + repeat : cur.line - repeat; var first = cm.firstLine(); var last = cm.lastLine(); var posV = cm.findPosV(cur, (motionArgs.forward ? repeat : -repeat), 'line', vim.lastHSPos); var hasMarkedText = motionArgs.forward ? posV.line > line : posV.line < line; if (posV.focusBefore) { posV.focusBefore(); return cur; } if (hasMarkedText) { line = posV.line; endCh = posV.ch; } // Vim go to line begin or line end when cursor at first/last line and // move to previous/next line is triggered. if (line < first && cur.line == first){ return this.moveToStartOfLine(cm, head, motionArgs, vim); } else if (line > last && cur.line == last){ return moveToEol(cm, head, motionArgs, vim, true); } if (motionArgs.toFirstChar){ endCh=findFirstNonWhiteSpaceCharacter(cm.getLine(line)); vim.lastHPos = endCh; } vim.lastHSPos = cm.charCoords(new Pos(line, endCh),'div').left; return new Pos(line, endCh); }, moveByDisplayLines: function(cm, head, motionArgs, vim) { var cur = head; switch (vim.lastMotion) { case this.moveByDisplayLines: case this.moveByScroll: case this.moveByLines: case this.moveToColumn: case this.moveToEol: break; default: vim.lastHSPos = cm.charCoords(cur,'div').left; } var repeat = motionArgs.repeat; var res=cm.findPosV(cur,(motionArgs.forward ? repeat : -repeat),'line',vim.lastHSPos); if (res.focusBefore) { res.focusBefore(); return cur; } if (res.hitSide) { if (motionArgs.forward) { var lastCharCoords = cm.charCoords(res, 'div'); var goalCoords = { top: lastCharCoords.top + 8, left: vim.lastHSPos }; var res = cm.coordsChar(goalCoords, 'div'); } else { var resCoords = cm.charCoords(new Pos(cm.firstLine(), 0), 'div'); resCoords.left = vim.lastHSPos; res = cm.coordsChar(resCoords, 'div'); } } vim.lastHPos = res.ch; return res; }, moveByPage: function(cm, head, motionArgs) { // CodeMirror only exposes functions that move the cursor page down, so // doing this bad hack to move the cursor and move it back. evalInput // will move the cursor to where it should be in the end. var curStart = head; var repeat = motionArgs.repeat; return cm.findPosV(curStart, (motionArgs.forward ? repeat : -repeat), 'page'); }, moveByParagraph: function(cm, head, motionArgs) { var dir = motionArgs.forward ? 1 : -1; return findParagraph(cm, head, motionArgs.repeat, dir); }, moveBySentence: function(cm, head, motionArgs) { var dir = motionArgs.forward ? 1 : -1; return findSentence(cm, head, motionArgs.repeat, dir); }, moveByScroll: function(cm, head, motionArgs, vim) { var scrollbox = cm.getScrollInfo(); var curEnd = null; var repeat = motionArgs.repeat; if (!repeat) { repeat = scrollbox.clientHeight / (2 * cm.defaultTextHeight()); } var orig = cm.charCoords(head, 'local'); motionArgs.repeat = repeat; curEnd = motions.moveByDisplayLines(cm, head, motionArgs, vim); if (!curEnd) { return null; } var dest = cm.charCoords(curEnd, 'local'); cm.scrollTo(null, scrollbox.top + dest.top - orig.top); return curEnd; }, moveByWords: function(cm, head, motionArgs) { return moveToWord(cm, head, motionArgs.repeat, !!motionArgs.forward, !!motionArgs.wordEnd, !!motionArgs.bigWord); }, moveTillCharacter: function(cm, head, motionArgs) { var repeat = motionArgs.repeat; var curEnd = moveToCharacter(cm, repeat, motionArgs.forward, motionArgs.selectedCharacter, head); var increment = motionArgs.forward ? -1 : 1; recordLastCharacterSearch(increment, motionArgs); if (!curEnd) return null; curEnd.ch += increment; return curEnd; }, moveToCharacter: function(cm, head, motionArgs) { var repeat = motionArgs.repeat; recordLastCharacterSearch(0, motionArgs); return moveToCharacter(cm, repeat, motionArgs.forward, motionArgs.selectedCharacter, head) || head; }, moveToSymbol: function(cm, head, motionArgs) { var repeat = motionArgs.repeat; return findSymbol(cm, repeat, motionArgs.forward, motionArgs.selectedCharacter) || head; }, moveToColumn: function(cm, head, motionArgs, vim) { var repeat = motionArgs.repeat; // repeat is equivalent to which column we want to move to! vim.lastHPos = repeat - 1; vim.lastHSPos = cm.charCoords(head,'div').left; return moveToColumn(cm, repeat); }, moveToEol: function(cm, head, motionArgs, vim) { return moveToEol(cm, head, motionArgs, vim, false); }, moveToFirstNonWhiteSpaceCharacter: function(cm, head) { // Go to the start of the line where the text begins, or the end for // whitespace-only lines var cursor = head; return new Pos(cursor.line, findFirstNonWhiteSpaceCharacter(cm.getLine(cursor.line))); }, moveToMatchedSymbol: function(cm, head) { var cursor = head; var line = cursor.line; var ch = cursor.ch; var lineText = cm.getLine(line); var symbol; for (; ch < lineText.length; ch++) { symbol = lineText.charAt(ch); if (symbol && isMatchableSymbol(symbol)) { var style = cm.getTokenTypeAt(new Pos(line, ch + 1)); if (style !== "string" && style !== "comment") { break; } } } if (ch < lineText.length) { // Only include angle brackets in analysis if they are being matched. var re = (ch === '<' || ch === '>') ? /[(){}[\]<>]/ : /[(){}[\]]/; var matched = cm.findMatchingBracket(new Pos(line, ch), {bracketRegex: re}); return matched.to; } else { return cursor; } }, moveToStartOfLine: function(_cm, head) { return new Pos(head.line, 0); }, moveToLineOrEdgeOfDocument: function(cm, _head, motionArgs) { var lineNum = motionArgs.forward ? cm.lastLine() : cm.firstLine(); if (motionArgs.repeatIsExplicit) { lineNum = motionArgs.repeat - cm.getOption('firstLineNumber'); } return new Pos(lineNum, findFirstNonWhiteSpaceCharacter(cm.getLine(lineNum))); }, moveToStartOfDisplayLine: function(cm) { cm.execCommand("goLineLeft"); return cm.getCursor(); }, moveToEndOfDisplayLine: function(cm) { cm.execCommand("goLineRight"); var head = cm.getCursor(); if (head.sticky == "before") head.ch--; return head; }, textObjectManipulation: function(cm, head, motionArgs, vim) { // TODO: lots of possible exceptions that can be thrown here. Try da( // outside of a () block. var mirroredPairs = {'(': ')', ')': '(', '{': '}', '}': '{', '[': ']', ']': '[', '<': '>', '>': '<'}; var selfPaired = {'\'': true, '"': true, '`': true}; var character = motionArgs.selectedCharacter; // 'b' refers to '()' block. // 'B' refers to '{}' block. if (character == 'b') { character = '('; } else if (character == 'B') { character = '{'; } // Inclusive is the difference between a and i // TODO: Instead of using the additional text object map to perform text // object operations, merge the map into the defaultKeyMap and use // motionArgs to define behavior. Define separate entries for 'aw', // 'iw', 'a[', 'i[', etc. var inclusive = !motionArgs.textObjectInner; var tmp, move; if (mirroredPairs[character]) { move = true; tmp = selectCompanionObject(cm, head, character, inclusive); if (!tmp) { var sc = cm.getSearchCursor(new RegExp("\\" + character, "g"), head) if (sc.find()) { tmp = selectCompanionObject(cm, sc.from(), character, inclusive); } } } else if (selfPaired[character]) { move = true; tmp = findBeginningAndEnd(cm, head, character, inclusive); } else if (character === 'W' || character === 'w') { var repeat = motionArgs.repeat || 1; while (repeat-- > 0) { var repeated = expandWordUnderCursor(cm, { inclusive, innerWord: !inclusive, bigWord: character === 'W', noSymbol: character === 'W', multiline: true }, tmp && tmp.end); if (repeated) { if (!tmp) tmp = repeated; tmp.end = repeated.end; } } } else if (character === 'p') { tmp = findParagraph(cm, head, motionArgs.repeat, 0, inclusive); motionArgs.linewise = true; if (vim.visualMode) { if (!vim.visualLine) { vim.visualLine = true; } } else { var operatorArgs = vim.inputState.operatorArgs; if (operatorArgs) { operatorArgs.linewise = true; } tmp.end.line--; } } else if (character === 't') { tmp = expandTagUnderCursor(cm, head, inclusive); } else if (character === 's') { // account for cursor on end of sentence symbol var content = cm.getLine(head.line); if (head.ch > 0 && isEndOfSentenceSymbol(content[head.ch])) { head.ch -= 1; } var end = getSentence(cm, head, motionArgs.repeat, 1, inclusive) var start = getSentence(cm, head, motionArgs.repeat, -1, inclusive) // closer vim behaviour, 'a' only takes the space after the sentence if there is one before and after if (isWhiteSpaceString(cm.getLine(start.line)[start.ch]) && isWhiteSpaceString(cm.getLine(end.line)[end.ch -1])) { start = {line: start.line, ch: start.ch + 1} } tmp = {start: start, end: end}; } if (!tmp) { // No valid text object, don't move. return null; } if (!cm.state.vim.visualMode) { return [tmp.start, tmp.end]; } else { return expandSelection(cm, tmp.start, tmp.end, move); } }, repeatLastCharacterSearch: function(cm, head, motionArgs) { var lastSearch = vimGlobalState.lastCharacterSearch; var repeat = motionArgs.repeat; var forward = motionArgs.forward === lastSearch.forward; var increment = (lastSearch.increment ? 1 : 0) * (forward ? -1 : 1); cm.moveH(-increment, 'char'); motionArgs.inclusive = forward ? true : false; var curEnd = moveToCharacter(cm, repeat, forward, lastSearch.selectedCharacter); if (!curEnd) { cm.moveH(increment, 'char'); return head; } curEnd.ch += increment; return curEnd; } }; function defineMotion(name, fn) { motions[name] = fn; } function fillArray(val, times) { var arr = []; for (var i = 0; i < times; i++) { arr.push(val); } return arr; } /** * An operator acts on a text selection. It receives the list of selections * as input. The corresponding CodeMirror selection is guaranteed to * match the input selection. */ var operators = { change: function(cm, args, ranges) { var finalHead, text; var vim = cm.state.vim; var anchor = ranges[0].anchor, head = ranges[0].head; if (!vim.visualMode) { text = cm.getRange(anchor, head); var lastState = vim.lastEditInputState || {}; if (lastState.motion == "moveByWords" && !isWhiteSpaceString(text)) { // Exclude trailing whitespace if the range is not all whitespace. var match = (/\s+$/).exec(text); if (match && lastState.motionArgs && lastState.motionArgs.forward) { head = offsetCursor(head, 0, - match[0].length); text = text.slice(0, - match[0].length); } } if (args.linewise) { anchor = new Pos(anchor.line, findFirstNonWhiteSpaceCharacter(cm.getLine(anchor.line))); if (head.line > anchor.line) { head = new Pos(head.line - 1, Number.MAX_VALUE) } } cm.replaceRange('', anchor, head); finalHead = anchor; } else if (args.fullLine) { head.ch = Number.MAX_VALUE; head.line--; cm.setSelection(anchor, head) text = cm.getSelection(); cm.replaceSelection(""); finalHead = anchor; } else { text = cm.getSelection(); var replacement = fillArray('', ranges.length); cm.replaceSelections(replacement); finalHead = cursorMin(ranges[0].head, ranges[0].anchor); } vimGlobalState.registerController.pushText( args.registerName, 'change', text, args.linewise, ranges.length > 1); actions.enterInsertMode(cm, {head: finalHead}, cm.state.vim); }, // delete is a javascript keyword. 'delete': function(cm, args, ranges) { var finalHead, text; var vim = cm.state.vim; if (!vim.visualBlock) { var anchor = ranges[0].anchor, head = ranges[0].head; if (args.linewise && head.line != cm.firstLine() && anchor.line == cm.lastLine() && anchor.line == head.line - 1) { // Special case for dd on last line (and first line). if (anchor.line == cm.firstLine()) { anchor.ch = 0; } else { anchor = new Pos(anchor.line - 1, lineLength(cm, anchor.line - 1)); } } text = cm.getRange(anchor, head); cm.replaceRange('', anchor, head); finalHead = anchor; if (args.linewise) { finalHead = motions.moveToFirstNonWhiteSpaceCharacter(cm, anchor); } } else { text = cm.getSelection(); var replacement = fillArray('', ranges.length); cm.replaceSelections(replacement); finalHead = cursorMin(ranges[0].head, ranges[0].anchor); } vimGlobalState.registerController.pushText( args.registerName, 'delete', text, args.linewise, vim.visualBlock); return clipCursorToContent(cm, finalHead); }, indent: function(cm, args, ranges) { var vim = cm.state.vim; if (cm.indentMore) { var repeat = (vim.visualMode) ? args.repeat : 1; for (var j = 0; j < repeat; j++) { if (args.indentRight) cm.indentMore(); else cm.indentLess(); } } else { var startLine = ranges[0].anchor.line; var endLine = vim.visualBlock ? ranges[ranges.length - 1].anchor.line : ranges[0].head.line; // In visual mode, n> shifts the selection right n times, instead of // shifting n lines right once. var repeat = (vim.visualMode) ? args.repeat : 1; if (args.linewise) { // The only way to delete a newline is to delete until the start of // the next line, so in linewise mode evalInput will include the next // line. We don't want this in indent, so we go back a line. endLine--; } for (var i = startLine; i <= endLine; i++) { for (var j = 0; j < repeat; j++) { cm.indentLine(i, args.indentRight); } } } return motions.moveToFirstNonWhiteSpaceCharacter(cm, ranges[0].anchor); }, indentAuto: function(cm, _args, ranges) { cm.execCommand("indentAuto"); return motions.moveToFirstNonWhiteSpaceCharacter(cm, ranges[0].anchor); }, hardWrap: function(cm, operatorArgs, ranges, oldAnchor, newHead) { if (!cm.hardWrap) return; var from = ranges[0].anchor.line; var to = ranges[0].head.line; if (operatorArgs.linewise) to--; var endRow = cm.hardWrap({from: from, to: to}); if (endRow > from && operatorArgs.linewise) endRow--; return operatorArgs.keepCursor ? oldAnchor : new Pos(endRow, 0); }, changeCase: function(cm, args, ranges, oldAnchor, newHead) { var selections = cm.getSelections(); var swapped = []; var toLower = args.toLower; for (var j = 0; j < selections.length; j++) { var toSwap = selections[j]; var text = ''; if (toLower === true) { text = toSwap.toLowerCase(); } else if (toLower === false) { text = toSwap.toUpperCase(); } else { for (var i = 0; i < toSwap.length; i++) { var character = toSwap.charAt(i); text += isUpperCase(character) ? character.toLowerCase() : character.toUpperCase(); } } swapped.push(text); } cm.replaceSelections(swapped); if (args.shouldMoveCursor){ return newHead; } else if (!cm.state.vim.visualMode && args.linewise && ranges[0].anchor.line + 1 == ranges[0].head.line) { return motions.moveToFirstNonWhiteSpaceCharacter(cm, oldAnchor); } else if (args.linewise){ return oldAnchor; } else { return cursorMin(ranges[0].anchor, ranges[0].head); } }, yank: function(cm, args, ranges, oldAnchor) { var vim = cm.state.vim; var text = cm.getSelection(); var endPos = vim.visualMode ? cursorMin(vim.sel.anchor, vim.sel.head, ranges[0].head, ranges[0].anchor) : oldAnchor; vimGlobalState.registerController.pushText( args.registerName, 'yank', text, args.linewise, vim.visualBlock); return endPos; } }; function defineOperator(name, fn) { operators[name] = fn; } var actions = { jumpListWalk: function(cm, actionArgs, vim) { if (vim.visualMode) { return; } var repeat = actionArgs.repeat; var forward = actionArgs.forward; var jumpList = vimGlobalState.jumpList; var mark = jumpList.move(cm, forward ? repeat : -repeat); var markPos = mark ? mark.find() : undefined; markPos = markPos ? markPos : cm.getCursor(); cm.setCursor(markPos); }, scroll: function(cm, actionArgs, vim) { if (vim.visualMode) { return; } var repeat = actionArgs.repeat || 1; var lineHeight = cm.defaultTextHeight(); var top = cm.getScrollInfo().top; var delta = lineHeight * repeat; var newPos = actionArgs.forward ? top + delta : top - delta; var cursor = copyCursor(cm.getCursor()); var cursorCoords = cm.charCoords(cursor, 'local'); if (actionArgs.forward) { if (newPos > cursorCoords.top) { cursor.line += (newPos - cursorCoords.top) / lineHeight; cursor.line = Math.ceil(cursor.line); cm.setCursor(cursor); cursorCoords = cm.charCoords(cursor, 'local'); cm.scrollTo(null, cursorCoords.top); } else { // Cursor stays within bounds. Just reposition the scroll window. cm.scrollTo(null, newPos); } } else { var newBottom = newPos + cm.getScrollInfo().clientHeight; if (newBottom < cursorCoords.bottom) { cursor.line -= (cursorCoords.bottom - newBottom) / lineHeight; cursor.line = Math.floor(cursor.line); cm.setCursor(cursor); cursorCoords = cm.charCoords(cursor, 'local'); cm.scrollTo( null, cursorCoords.bottom - cm.getScrollInfo().clientHeight); } else { // Cursor stays within bounds. Just reposition the scroll window. cm.scrollTo(null, newPos); } } }, scrollToCursor: function(cm, actionArgs) { var lineNum = cm.getCursor().line; var charCoords = cm.charCoords(new Pos(lineNum, 0), 'local'); var height = cm.getScrollInfo().clientHeight; var y = charCoords.top; switch (actionArgs.position) { case 'center': y = charCoords.bottom - height / 2; break; case 'bottom': var lineLastCharPos = new Pos(lineNum, cm.getLine(lineNum).length - 1); var lineLastCharCoords = cm.charCoords(lineLastCharPos, 'local'); var lineHeight = lineLastCharCoords.bottom - y; y = y - height + lineHeight break; } cm.scrollTo(null, y); }, replayMacro: function(cm, actionArgs, vim) { var registerName = actionArgs.selectedCharacter; var repeat = actionArgs.repeat; var macroModeState = vimGlobalState.macroModeState; if (registerName == '@') { registerName = macroModeState.latestRegister; } else { macroModeState.latestRegister = registerName; } while(repeat--){ executeMacroRegister(cm, vim, macroModeState, registerName); } }, enterMacroRecordMode: function(cm, actionArgs) { var macroModeState = vimGlobalState.macroModeState; var registerName = actionArgs.selectedCharacter; if (vimGlobalState.registerController.isValidRegister(registerName)) { macroModeState.enterMacroRecordMode(cm, registerName); } }, toggleOverwrite: function(cm) { if (!cm.state.overwrite) { cm.toggleOverwrite(true); cm.setOption('keyMap', 'vim-replace'); CodeMirror.signal(cm, "vim-mode-change", {mode: "replace"}); } else { cm.toggleOverwrite(false); cm.setOption('keyMap', 'vim-insert'); CodeMirror.signal(cm, "vim-mode-change", {mode: "insert"}); } }, enterInsertMode: function(cm, actionArgs, vim) { if (cm.getOption('readOnly')) { return; } vim.insertMode = true; vim.insertModeRepeat = actionArgs && actionArgs.repeat || 1; var insertAt = (actionArgs) ? actionArgs.insertAt : null; var sel = vim.sel; var head = actionArgs.head || cm.getCursor('head'); var height = cm.listSelections().length; if (insertAt == 'eol') { head = new Pos(head.line, lineLength(cm, head.line)); } else if (insertAt == 'bol') { head = new Pos(head.line, 0); } else if (insertAt == 'charAfter') { var newPosition = updateSelectionForSurrogateCharacters(cm, head, offsetCursor(head, 0, 1)); head = newPosition.end; } else if (insertAt == 'firstNonBlank') { var newPosition = updateSelectionForSurrogateCharacters(cm, head, motions.moveToFirstNonWhiteSpaceCharacter(cm, head)); head = newPosition.end; } else if (insertAt == 'startOfSelectedArea') { if (!vim.visualMode) return; if (!vim.visualBlock) { if (sel.head.line < sel.anchor.line) { head = sel.head; } else { head = new Pos(sel.anchor.line, 0); } } else { head = new Pos( Math.min(sel.head.line, sel.anchor.line), Math.min(sel.head.ch, sel.anchor.ch)); height = Math.abs(sel.head.line - sel.anchor.line) + 1; } } else if (insertAt == 'endOfSelectedArea') { if (!vim.visualMode) return; if (!vim.visualBlock) { if (sel.head.line >= sel.anchor.line) { head = offsetCursor(sel.head, 0, 1); } else { head = new Pos(sel.anchor.line, 0); } } else { head = new Pos( Math.min(sel.head.line, sel.anchor.line), Math.max(sel.head.ch, sel.anchor.ch) + 1); height = Math.abs(sel.head.line - sel.anchor.line) + 1; } } else if (insertAt == 'inplace') { if (vim.visualMode){ return; } } else if (insertAt == 'lastEdit') { head = getLastEditPos(cm) || head; } cm.setOption('disableInput', false); if (actionArgs && actionArgs.replace) { // Handle Replace-mode as a special case of insert mode. cm.toggleOverwrite(true); cm.setOption('keyMap', 'vim-replace'); CodeMirror.signal(cm, "vim-mode-change", {mode: "replace"}); } else { cm.toggleOverwrite(false); cm.setOption('keyMap', 'vim-insert'); CodeMirror.signal(cm, "vim-mode-change", {mode: "insert"}); } if (!vimGlobalState.macroModeState.isPlaying) { // Only record if not replaying. cm.on('change', onChange); if (vim.insertEnd) vim.insertEnd.clear(); vim.insertEnd = cm.setBookmark(head, {insertLeft: true}); CodeMirror.on(cm.getInputField(), 'keydown', onKeyEventTargetKeyDown); } if (vim.visualMode) { exitVisualMode(cm); } selectForInsert(cm, head, height); }, toggleVisualMode: function(cm, actionArgs, vim) { var repeat = actionArgs.repeat; var anchor = cm.getCursor(); var head; // TODO: The repeat should actually select number of characters/lines // equal to the repeat times the size of the previous visual // operation. if (!vim.visualMode) { // Entering visual mode vim.visualMode = true; vim.visualLine = !!actionArgs.linewise; vim.visualBlock = !!actionArgs.blockwise; head = clipCursorToContent( cm, new Pos(anchor.line, anchor.ch + repeat - 1)); var newPosition = updateSelectionForSurrogateCharacters(cm, anchor, head) vim.sel = { anchor: newPosition.start, head: newPosition.end }; CodeMirror.signal(cm, "vim-mode-change", {mode: "visual", subMode: vim.visualLine ? "linewise" : vim.visualBlock ? "blockwise" : ""}); updateCmSelection(cm); updateMark(cm, vim, '<', cursorMin(anchor, head)); updateMark(cm, vim, '>', cursorMax(anchor, head)); } else if (vim.visualLine ^ actionArgs.linewise || vim.visualBlock ^ actionArgs.blockwise) { // Toggling between modes vim.visualLine = !!actionArgs.linewise; vim.visualBlock = !!actionArgs.blockwise; CodeMirror.signal(cm, "vim-mode-change", {mode: "visual", subMode: vim.visualLine ? "linewise" : vim.visualBlock ? "blockwise" : ""}); updateCmSelection(cm); } else { exitVisualMode(cm); } }, reselectLastSelection: function(cm, _actionArgs, vim) { var lastSelection = vim.lastSelection; if (vim.visualMode) { updateLastSelection(cm, vim); } if (lastSelection) { var anchor = lastSelection.anchorMark.find(); var head = lastSelection.headMark.find(); if (!anchor || !head) { // If the marks have been destroyed due to edits, do nothing. return; } vim.sel = { anchor: anchor, head: head }; vim.visualMode = true; vim.visualLine = lastSelection.visualLine; vim.visualBlock = lastSelection.visualBlock; updateCmSelection(cm); updateMark(cm, vim, '<', cursorMin(anchor, head)); updateMark(cm, vim, '>', cursorMax(anchor, head)); CodeMirror.signal(cm, 'vim-mode-change', { mode: 'visual', subMode: vim.visualLine ? 'linewise' : vim.visualBlock ? 'blockwise' : ''}); } }, joinLines: function(cm, actionArgs, vim) { var curStart, curEnd; if (vim.visualMode) { curStart = cm.getCursor('anchor'); curEnd = cm.getCursor('head'); if (cursorIsBefore(curEnd, curStart)) { var tmp = curEnd; curEnd = curStart; curStart = tmp; } curEnd.ch = lineLength(cm, curEnd.line) - 1; } else { // Repeat is the number of lines to join. Minimum 2 lines. var repeat = Math.max(actionArgs.repeat, 2); curStart = cm.getCursor(); curEnd = clipCursorToContent(cm, new Pos(curStart.line + repeat - 1, Infinity)); } var finalCh = 0; for (var i = curStart.line; i < curEnd.line; i++) { finalCh = lineLength(cm, curStart.line); var text = ''; var nextStartCh = 0; if (!actionArgs.keepSpaces) { var nextLine = cm.getLine(curStart.line + 1); nextStartCh = nextLine.search(/\S/); if (nextStartCh == -1) { nextStartCh = nextLine.length; } else { text = " "; } } cm.replaceRange(text, new Pos(curStart.line, finalCh), new Pos(curStart.line + 1, nextStartCh)); } var curFinalPos = clipCursorToContent(cm, new Pos(curStart.line, finalCh)); if (vim.visualMode) { exitVisualMode(cm, false); } cm.setCursor(curFinalPos); }, newLineAndEnterInsertMode: function(cm, actionArgs, vim) { vim.insertMode = true; // Custom: Modified from codemirror-vim to improve compatibility with frontmatterReadonlyFilter. // Instead of checking if the cursor is on the first line, we have a custom StateCommand that // handles edge cases with inserting a newline before the current line. if (actionArgs.after) { var insertAt = copyCursor(cm.getCursor()); insertAt.ch = lineLength(cm, insertAt.line); cm.setCursor(insertAt); var newlineFn = CodeMirror.commands.newlineAndIndentContinueComment || CodeMirror.commands.newlineAndIndent; newlineFn(cm); } else { CodeMirror.commands.newlineAndIndentBefore(cm); } this.enterInsertMode(cm, { repeat: actionArgs.repeat }, vim); }, paste: function(cm, actionArgs, vim) { var register = vimGlobalState.registerController.getRegister( actionArgs.registerName); if (actionArgs.registerName === '+') { navigator.clipboard.readText().then((value) => { this.continuePaste(cm, actionArgs, vim, value, register); }) } else { var text = register.toString(); this.continuePaste(cm, actionArgs, vim, text, register); } }, continuePaste: function(cm, actionArgs, vim, text, register) { var cur = copyCursor(cm.getCursor()); if (!text) { return; } if (actionArgs.matchIndent) { var tabSize = cm.getOption("tabSize"); // length that considers tabs and tabSize var whitespaceLength = function(str) { var tabs = (str.split("\t").length - 1); var spaces = (str.split(" ").length - 1); return tabs * tabSize + spaces * 1; }; var currentLine = cm.getLine(cm.getCursor().line); var indent = whitespaceLength(currentLine.match(/^\s*/)[0]); // chomp last newline b/c don't want it to match /^\s*/gm var chompedText = text.replace(/\n$/, ''); var wasChomped = text !== chompedText; var firstIndent = whitespaceLength(text.match(/^\s*/)[0]); var text = chompedText.replace(/^\s*/gm, function(wspace) { var newIndent = indent + (whitespaceLength(wspace) - firstIndent); if (newIndent < 0) { return ""; } else if (cm.getOption("indentWithTabs")) { var quotient = Math.floor(newIndent / tabSize); return Array(quotient + 1).join('\t'); } else { return Array(newIndent + 1).join(' '); } }); text += wasChomped ? "\n" : ""; } if (actionArgs.repeat > 1) { var text = Array(actionArgs.repeat + 1).join(text); } var linewise = register.linewise; var blockwise = register.blockwise; if (blockwise) { text = text.split('\n'); if (linewise) { text.pop(); } for (var i = 0; i < text.length; i++) { text[i] = (text[i] == '') ? ' ' : text[i]; } cur.ch += actionArgs.after ? 1 : 0; cur.ch = Math.min(lineLength(cm, cur.line), cur.ch); } else if (linewise) { if(vim.visualMode) { text = vim.visualLine ? text.slice(0, -1) : '\n' + text.slice(0, text.length - 1) + '\n'; } else if (actionArgs.after) { // Move the newline at the end to the start instead, and paste just // before the newline character of the line we are on right now. text = '\n' + text.slice(0, text.length - 1); cur.ch = lineLength(cm, cur.line); } else { cur.ch = 0; } } else { cur.ch += actionArgs.after ? 1 : 0; } var curPosFinal; if (vim.visualMode) { // save the pasted text for reselection if the need arises vim.lastPastedText = text; var lastSelectionCurEnd; var selectedArea = getSelectedAreaRange(cm, vim); var selectionStart = selectedArea[0]; var selectionEnd = selectedArea[1]; var selectedText = cm.getSelection(); var selections = cm.listSelections(); var emptyStrings = new Array(selections.length).join('1').split('1'); // save the curEnd marker before it get cleared due to cm.replaceRange. if (vim.lastSelection) { lastSelectionCurEnd = vim.lastSelection.headMark.find(); } // push the previously selected text to unnamed register vimGlobalState.registerController.unnamedRegister.setText(selectedText); if (blockwise) { // first delete the selected text cm.replaceSelections(emptyStrings); // Set new selections as per the block length of the yanked text selectionEnd = new Pos(selectionStart.line + text.length-1, selectionStart.ch); cm.setCursor(selectionStart); selectBlock(cm, selectionEnd); cm.replaceSelections(text); curPosFinal = selectionStart; } else if (vim.visualBlock) { cm.replaceSelections(emptyStrings); cm.setCursor(selectionStart); cm.replaceRange(text, selectionStart, selectionStart); curPosFinal = selectionStart; } else { cm.replaceRange(text, selectionStart, selectionEnd); curPosFinal = cm.posFromIndex(cm.indexFromPos(selectionStart) + text.length - 1); } // restore the the curEnd marker if(lastSelectionCurEnd) { vim.lastSelection.headMark = cm.setBookmark(lastSelectionCurEnd); } if (linewise) { curPosFinal.ch=0; } } else { if (blockwise) { cm.setCursor(cur); for (var i = 0; i < text.length; i++) { var line = cur.line+i; if (line > cm.lastLine()) { cm.replaceRange('\n', new Pos(line, 0)); } var lastCh = lineLength(cm, line); if (lastCh < cur.ch) { extendLineToColumn(cm, line, cur.ch); } } cm.setCursor(cur); selectBlock(cm, new Pos(cur.line + text.length-1, cur.ch)); cm.replaceSelections(text); curPosFinal = cur; } else { cm.replaceRange(text, cur); // Now fine tune the cursor to where we want it. if (linewise) { var line = actionArgs.after ? cur.line + 1 : cur.line; curPosFinal = new Pos(line, findFirstNonWhiteSpaceCharacter(cm.getLine(line))); } else { curPosFinal = copyCursor(cur); if (!/\n/.test(text)) { curPosFinal.ch += text.length - (actionArgs.after ? 1 : 0); } } } } if (vim.visualMode) { exitVisualMode(cm, false); } cm.setCursor(curPosFinal); }, undo: function(cm, actionArgs) { cm.operation(function() { repeatFn(cm, CodeMirror.commands.undo, actionArgs.repeat)(); cm.setCursor(clipCursorToContent(cm, cm.getCursor('start'))); }); }, redo: function(cm, actionArgs) { repeatFn(cm, CodeMirror.commands.redo, actionArgs.repeat)(); }, setRegister: function(_cm, actionArgs, vim) { vim.inputState.registerName = actionArgs.selectedCharacter; }, insertRegister: function(cm, actionArgs, vim) { var registerName = actionArgs.selectedCharacter; var register = vimGlobalState.registerController.getRegister(registerName); var text = register && register.toString(); if (text) { cm.replaceSelection(text); } }, oneNormalCommand: function(cm, actionArgs, vim) { exitInsertMode(cm, true); vim.insertModeReturn = true; CodeMirror.on(cm, 'vim-command-done', function handler() { if (vim.visualMode) return; if (vim.insertModeReturn) { vim.insertModeReturn = false; if (!vim.insertMode) { actions.enterInsertMode(cm, {}, vim); } } CodeMirror.off(cm, 'vim-command-done', handler); }); }, setMark: function(cm, actionArgs, vim) { var markName = actionArgs.selectedCharacter; updateMark(cm, vim, markName, cm.getCursor()); }, replace: function(cm, actionArgs, vim) { var replaceWith = actionArgs.selectedCharacter; var curStart = cm.getCursor(); var replaceTo; var curEnd; var selections = cm.listSelections(); if (vim.visualMode) { curStart = cm.getCursor('start'); curEnd = cm.getCursor('end'); } else { var line = cm.getLine(curStart.line); replaceTo = curStart.ch + actionArgs.repeat; if (replaceTo > line.length) { replaceTo=line.length; } curEnd = new Pos(curStart.line, replaceTo); } var newPositions = updateSelectionForSurrogateCharacters(cm, curStart, curEnd); curStart = newPositions.start; curEnd = newPositions.end; if (replaceWith=='\n') { if (!vim.visualMode) cm.replaceRange('', curStart, curEnd); // special case, where vim help says to replace by just one line-break (CodeMirror.commands.newlineAndIndentContinueComment || CodeMirror.commands.newlineAndIndent)(cm); } else { var replaceWithStr = cm.getRange(curStart, curEnd); // replace all surrogate characters with selected character replaceWithStr = replaceWithStr.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, replaceWith); //replace all characters in range by selected, but keep linebreaks replaceWithStr = replaceWithStr.replace(/[^\n]/g, replaceWith); if (vim.visualBlock) { // Tabs are split in visua block before replacing var spaces = new Array(cm.getOption("tabSize")+1).join(' '); replaceWithStr = cm.getSelection(); replaceWithStr = replaceWithStr.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, replaceWith); replaceWithStr = replaceWithStr.replace(/\t/g, spaces).replace(/[^\n]/g, replaceWith).split('\n'); cm.replaceSelections(replaceWithStr); } else { cm.replaceRange(replaceWithStr, curStart, curEnd); } if (vim.visualMode) { curStart = cursorIsBefore(selections[0].anchor, selections[0].head) ? selections[0].anchor : selections[0].head; cm.setCursor(curStart); exitVisualMode(cm, false); } else { cm.setCursor(offsetCursor(curEnd, 0, -1)); } } }, incrementNumberToken: function(cm, actionArgs) { var cur = cm.getCursor(); var lineStr = cm.getLine(cur.line); var re = /(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi; var match; var start; var end; var numberStr; while ((match = re.exec(lineStr)) !== null) { start = match.index; end = start + match[0].length; if (cur.ch < end)break; } if (!actionArgs.backtrack && (end <= cur.ch))return; if (match) { var baseStr = match[2] || match[4] var digits = match[3] || match[5] var increment = actionArgs.increase ? 1 : -1; var base = {'0b': 2, '0': 8, '': 10, '0x': 16}[baseStr.toLowerCase()]; var number = parseInt(match[1] + digits, base) + (increment * actionArgs.repeat); numberStr = number.toString(base); var zeroPadding = baseStr ? new Array(digits.length - numberStr.length + 1 + match[1].length).join('0') : '' if (numberStr.charAt(0) === '-') { numberStr = '-' + baseStr + zeroPadding + numberStr.substr(1); } else { numberStr = baseStr + zeroPadding + numberStr; } var from = new Pos(cur.line, start); var to = new Pos(cur.line, end); cm.replaceRange(numberStr, from, to); } else { return; } cm.setCursor(new Pos(cur.line, start + numberStr.length - 1)); }, repeatLastEdit: function(cm, actionArgs, vim) { var lastEditInputState = vim.lastEditInputState; if (!lastEditInputState) { return; } var repeat = actionArgs.repeat; if (repeat && actionArgs.repeatIsExplicit) { vim.lastEditInputState.repeatOverride = repeat; } else { repeat = vim.lastEditInputState.repeatOverride || repeat; } repeatLastEdit(cm, vim, repeat, false /** repeatForInsert */); }, indent: function(cm, actionArgs) { cm.indentLine(cm.getCursor().line, actionArgs.indentRight); }, exitInsertMode: exitInsertMode }; function defineAction(name, fn) { actions[name] = fn; } /* * Below are miscellaneous utility functions used by vim.js */ /** * Clips cursor to ensure that line is within the buffer's range * and is not inside surrogate pair * If includeLineBreak is true, then allow cur.ch == lineLength. */ function clipCursorToContent(cm, cur, oldCur) { var vim = cm.state.vim; var includeLineBreak = vim.insertMode || vim.visualMode; var line = Math.min(Math.max(cm.firstLine(), cur.line), cm.lastLine() ); var text = cm.getLine(line); var maxCh = text.length - 1 + Number(!!includeLineBreak); var ch = Math.min(Math.max(0, cur.ch), maxCh); // prevent cursor from entering surrogate pair var charCode = text.charCodeAt(ch); if (0xDC00 <= charCode && charCode <= 0xDFFF) { var direction = 1; if (oldCur && oldCur.line == line && oldCur.ch > ch) { direction = -1; } ch +=direction; if (ch > maxCh) ch -=2; } return new Pos(line, ch); } function copyArgs(args) { var ret = {}; for (var prop in args) { if (args.hasOwnProperty(prop)) { ret[prop] = args[prop]; } } return ret; } function offsetCursor(cur, offsetLine, offsetCh) { if (typeof offsetLine === 'object') { offsetCh = offsetLine.ch; offsetLine = offsetLine.line; } return new Pos(cur.line + offsetLine, cur.ch + offsetCh); } function commandMatches(keys, keyMap, context, inputState) { // Partial matches are not applied. They inform the key handler // that the current key sequence is a subsequence of a valid key // sequence, so that the key buffer is not cleared. if (inputState.operator) context = "operatorPending"; var match, partial = [], full = []; // if currently expanded key comes from a noremap, searcg only in default keys var startIndex = noremap ? keyMap.length - defaultKeymapLength : 0; for (var i = startIndex; i < keyMap.length; i++) { var command = keyMap[i]; if (context == 'insert' && command.context != 'insert' || (command.context && command.context != context) || inputState.operator && command.type == 'action' || !(match = commandMatch(keys, command.keys))) { continue; } if (match == 'partial') { partial.push(command); } if (match == 'full') { full.push(command); } } return { partial: partial.length && partial, full: full.length && full }; } function commandMatch(pressed, mapped) { const isLastCharacter = mapped.slice(-11) == ''; const isLastRegister = mapped.slice(-10) == ''; if (isLastCharacter || isLastRegister) { // Last character matches anything. var prefixLen = mapped.length - (isLastCharacter ? 11 : 10); var pressedPrefix = pressed.slice(0, prefixLen); var mappedPrefix = mapped.slice(0, prefixLen); return pressedPrefix == mappedPrefix && pressed.length > prefixLen ? 'full' : mappedPrefix.indexOf(pressedPrefix) == 0 ? 'partial' : false; } else { return pressed == mapped ? 'full' : mapped.indexOf(pressed) == 0 ? 'partial' : false; } } function lastChar(keys) { var match = /^.*(<[^>]+>)$/.exec(keys); var selectedCharacter = match ? match[1] : keys.slice(-1); if (selectedCharacter.length > 1){ switch(selectedCharacter){ case '': case '': selectedCharacter='\n'; break; case '': case '': selectedCharacter=' '; break; default: selectedCharacter=''; break; } } return selectedCharacter; } function repeatFn(cm, fn, repeat) { return function() { for (var i = 0; i < repeat; i++) { fn(cm); } }; } function copyCursor(cur) { return new Pos(cur.line, cur.ch); } function cursorEqual(cur1, cur2) { return cur1.ch == cur2.ch && cur1.line == cur2.line; } function cursorIsBefore(cur1, cur2) { if (cur1.line < cur2.line) { return true; } if (cur1.line == cur2.line && cur1.ch < cur2.ch) { return true; } return false; } function cursorMin(cur1, cur2) { if (arguments.length > 2) { cur2 = cursorMin.apply(undefined, Array.prototype.slice.call(arguments, 1)); } return cursorIsBefore(cur1, cur2) ? cur1 : cur2; } function cursorMax(cur1, cur2) { if (arguments.length > 2) { cur2 = cursorMax.apply(undefined, Array.prototype.slice.call(arguments, 1)); } return cursorIsBefore(cur1, cur2) ? cur2 : cur1; } function cursorIsBetween(cur1, cur2, cur3) { // returns true if cur2 is between cur1 and cur3. var cur1before2 = cursorIsBefore(cur1, cur2); var cur2before3 = cursorIsBefore(cur2, cur3); return cur1before2 && cur2before3; } function lineLength(cm, lineNum) { return cm.getLine(lineNum).length; } function trim(s) { if (s.trim) { return s.trim(); } return s.replace(/^\s+|\s+$/g, ''); } function escapeRegex(s) { return s.replace(/([.?*+$\[\]\/\\(){}|\-])/g, '\\$1'); } function extendLineToColumn(cm, lineNum, column) { var endCh = lineLength(cm, lineNum); var spaces = new Array(column-endCh+1).join(' '); cm.setCursor(new Pos(lineNum, endCh)); cm.replaceRange(spaces, cm.getCursor()); } // This functions selects a rectangular block // of text with selectionEnd as any of its corner // Height of block: // Difference in selectionEnd.line and first/last selection.line // Width of the block: // Distance between selectionEnd.ch and any(first considered here) selection.ch function selectBlock(cm, selectionEnd) { var selections = [], ranges = cm.listSelections(); var head = copyCursor(cm.clipPos(selectionEnd)); var isClipped = !cursorEqual(selectionEnd, head); var curHead = cm.getCursor('head'); var primIndex = getIndex(ranges, curHead); var wasClipped = cursorEqual(ranges[primIndex].head, ranges[primIndex].anchor); var max = ranges.length - 1; var index = max - primIndex > primIndex ? max : 0; var base = ranges[index].anchor; var firstLine = Math.min(base.line, head.line); var lastLine = Math.max(base.line, head.line); var baseCh = base.ch, headCh = head.ch; var dir = ranges[index].head.ch - baseCh; var newDir = headCh - baseCh; if (dir > 0 && newDir <= 0) { baseCh++; if (!isClipped) { headCh--; } } else if (dir < 0 && newDir >= 0) { baseCh--; if (!wasClipped) { headCh++; } } else if (dir < 0 && newDir == -1) { baseCh--; headCh++; } for (var line = firstLine; line <= lastLine; line++) { var range = {anchor: new Pos(line, baseCh), head: new Pos(line, headCh)}; selections.push(range); } cm.setSelections(selections); selectionEnd.ch = headCh; base.ch = baseCh; return base; } function selectForInsert(cm, head, height) { var sel = []; for (var i = 0; i < height; i++) { var lineHead = offsetCursor(head, i, 0); sel.push({anchor: lineHead, head: lineHead}); } cm.setSelections(sel, 0); } // getIndex returns the index of the cursor in the selections. function getIndex(ranges, cursor, end) { for (var i = 0; i < ranges.length; i++) { var atAnchor = end != 'head' && cursorEqual(ranges[i].anchor, cursor); var atHead = end != 'anchor' && cursorEqual(ranges[i].head, cursor); if (atAnchor || atHead) { return i; } } return -1; } function getSelectedAreaRange(cm, vim) { var lastSelection = vim.lastSelection; var getCurrentSelectedAreaRange = function() { var selections = cm.listSelections(); var start = selections[0]; var end = selections[selections.length-1]; var selectionStart = cursorIsBefore(start.anchor, start.head) ? start.anchor : start.head; var selectionEnd = cursorIsBefore(end.anchor, end.head) ? end.head : end.anchor; return [selectionStart, selectionEnd]; }; var getLastSelectedAreaRange = function() { var selectionStart = cm.getCursor(); var selectionEnd = cm.getCursor(); var block = lastSelection.visualBlock; if (block) { var width = block.width; var height = block.height; selectionEnd = new Pos(selectionStart.line + height, selectionStart.ch + width); var selections = []; // selectBlock creates a 'proper' rectangular block. // We do not want that in all cases, so we manually set selections. for (var i = selectionStart.line; i < selectionEnd.line; i++) { var anchor = new Pos(i, selectionStart.ch); var head = new Pos(i, selectionEnd.ch); var range = {anchor: anchor, head: head}; selections.push(range); } cm.setSelections(selections); } else { var start = lastSelection.anchorMark.find(); var end = lastSelection.headMark.find(); var line = end.line - start.line; var ch = end.ch - start.ch; selectionEnd = {line: selectionEnd.line + line, ch: line ? selectionEnd.ch : ch + selectionEnd.ch}; if (lastSelection.visualLine) { selectionStart = new Pos(selectionStart.line, 0); selectionEnd = new Pos(selectionEnd.line, lineLength(cm, selectionEnd.line)); } cm.setSelection(selectionStart, selectionEnd); } return [selectionStart, selectionEnd]; }; if (!vim.visualMode) { // In case of replaying the action. return getLastSelectedAreaRange(); } else { return getCurrentSelectedAreaRange(); } } // Updates the previous selection with the current selection's values. This // should only be called in visual mode. function updateLastSelection(cm, vim) { var anchor = vim.sel.anchor; var head = vim.sel.head; // To accommodate the effect of lastPastedText in the last selection if (vim.lastPastedText) { head = cm.posFromIndex(cm.indexFromPos(anchor) + vim.lastPastedText.length); vim.lastPastedText = null; } vim.lastSelection = {'anchorMark': cm.setBookmark(anchor), 'headMark': cm.setBookmark(head), 'anchor': copyCursor(anchor), 'head': copyCursor(head), 'visualMode': vim.visualMode, 'visualLine': vim.visualLine, 'visualBlock': vim.visualBlock}; } function expandSelection(cm, start, end, move) { var sel = cm.state.vim.sel; var head = move ? start: sel.head; var anchor = move ? start: sel.anchor; var tmp; if (cursorIsBefore(end, start)) { tmp = end; end = start; start = tmp; } if (cursorIsBefore(head, anchor)) { head = cursorMin(start, head); anchor = cursorMax(anchor, end); } else { anchor = cursorMin(start, anchor); head = cursorMax(head, end); head = offsetCursor(head, 0, -1); if (head.ch == -1 && head.line != cm.firstLine()) { head = new Pos(head.line - 1, lineLength(cm, head.line - 1)); } } return [anchor, head]; } /** * Updates the CodeMirror selection to match the provided vim selection. * If no arguments are given, it uses the current vim selection state. */ function updateCmSelection(cm, sel, mode) { var vim = cm.state.vim; sel = sel || vim.sel; var mode = mode || vim.visualLine ? 'line' : vim.visualBlock ? 'block' : 'char'; var cmSel = makeCmSelection(cm, sel, mode); cm.setSelections(cmSel.ranges, cmSel.primary); // The selection might be modified by a transactionFilter, so resync the vim // cursor state with the editor state after `cm.dispatch` if (!vim.visualBlock) { vim.sel = translateCursorToVim(cm.getMainSelection()); } } function makeCmSelection(cm, sel, mode, exclusive) { var head = copyCursor(sel.head); var anchor = copyCursor(sel.anchor); if (mode == 'char') { var headOffset = !exclusive && !cursorIsBefore(sel.head, sel.anchor) ? 1 : 0; var anchorOffset = cursorIsBefore(sel.head, sel.anchor) ? 1 : 0; head = offsetCursor(sel.head, 0, headOffset); anchor = offsetCursor(sel.anchor, 0, anchorOffset); return { ranges: [{anchor: anchor, head: head}], primary: 0 }; } else if (mode == 'line') { if (!cursorIsBefore(sel.head, sel.anchor)) { anchor.ch = 0; var lastLine = cm.lastLine(); if (head.line > lastLine) { head.line = lastLine; } head.ch = lineLength(cm, head.line); } else { head.ch = 0; anchor.ch = lineLength(cm, anchor.line); } return { ranges: [{anchor: anchor, head: head}], primary: 0 }; } else if (mode == 'block') { var top = Math.min(anchor.line, head.line), fromCh = anchor.ch, bottom = Math.max(anchor.line, head.line), toCh = head.ch; if (fromCh < toCh) { toCh += 1 } else { fromCh += 1 }; var height = bottom - top + 1; var primary = head.line == top ? 0 : height - 1; var ranges = []; for (var i = 0; i < height; i++) { ranges.push({ anchor: new Pos(top + i, fromCh), head: new Pos(top + i, toCh) }); } return { ranges: ranges, primary: primary }; } } function getHead(cm) { var cur = cm.getCursor('head'); if (cm.getSelection().length == 1) { // Small corner case when only 1 character is selected. The "real" // head is the left of head and anchor. cur = cursorMin(cur, cm.getCursor('anchor')); } return cur; } /** * If moveHead is set to false, the CodeMirror selection will not be * touched. The caller assumes the responsibility of putting the cursor * in the right place. */ function exitVisualMode(cm, moveHead) { var vim = cm.state.vim; if (moveHead !== false) { cm.setCursor(clipCursorToContent(cm, vim.sel.head)); } updateLastSelection(cm, vim); vim.visualMode = false; vim.visualLine = false; vim.visualBlock = false; if (!vim.insertMode) CodeMirror.signal(cm, "vim-mode-change", {mode: "normal"}); } function enterInsertMode(cm) { actions.enterInsertMode(cm, {}, cm.state.vim); } // Remove any trailing newlines from the selection. For // example, with the caret at the start of the last word on the line, // 'dw' should word, but not the newline, while 'w' should advance the // caret to the first character of the next line. function clipToLine(cm, curStart, curEnd) { var selection = cm.getRange(curStart, curEnd); // Only clip if the selection ends with trailing newline + whitespace if (/\n\s*$/.test(selection)) { var lines = selection.split('\n'); // We know this is all whitespace. lines.pop(); // Cases: // 1. Last word is an empty line - do not clip the trailing '\n' // 2. Last word is not an empty line - clip the trailing '\n' var line; // Find the line containing the last word, and clip all whitespace up // to it. for (var line = lines.pop(); lines.length > 0 && line && isWhiteSpaceString(line); line = lines.pop()) { curEnd.line--; curEnd.ch = 0; } // If the last word is not an empty line, clip an additional newline if (line) { curEnd.line--; curEnd.ch = lineLength(cm, curEnd.line); } else { curEnd.ch = 0; } } } // Expand the selection to line ends. function expandSelectionToLine(_cm, curStart, curEnd) { curStart.ch = 0; curEnd.ch = 0; curEnd.line++; } function findFirstNonWhiteSpaceCharacter(text) { if (!text) { return 0; } var firstNonWS = text.search(/\S/); return firstNonWS == -1 ? text.length : firstNonWS; } function expandWordUnderCursor(cm, {inclusive, innerWord, bigWord, noSymbol, multiline}, cursor) { var cur = cursor || getHead(cm); var line = cm.getLine(cur.line); var endLine = line; var startLineNumber = cur.line var endLineNumber = startLineNumber; var idx = cur.ch; var wordOnNextLine; // Seek to first word or non-whitespace character, depending on if // noSymbol is true. var test = noSymbol ? wordCharTest[0] : bigWordCharTest [0]; if (innerWord && /\s/.test(line.charAt(idx))) { test = function(ch) { return /\s/.test(ch); }; } else { while (!test(line.charAt(idx))) { idx++; if (idx >= line.length) { if (!multiline) return null; idx--; wordOnNextLine = findWord(cm, cur, true, bigWord, true); break } } if (bigWord) { test = bigWordCharTest[0]; } else { test = wordCharTest[0]; if (!test(line.charAt(idx))) { test = wordCharTest[1]; } } } var end = idx, start = idx; while (test(line.charAt(end)) && end < line.length) { end++; } while (test(line.charAt(start)) && start >= 0) { start--; } start++; if (wordOnNextLine) { end = wordOnNextLine.to; endLineNumber = wordOnNextLine.line; endLine = cm.getLine(endLineNumber); if (!endLine && end == 0) end++; } else { while (test(line.charAt(end)) && end < line.length) { end++; } } if (inclusive) { // If present, include all whitespace after word. // Otherwise, include all whitespace before word, except indentation. var wordEnd = end; var startsWithSpace = cur.ch <= start && /\s/.test(line.charAt(cur.ch)); if (!startsWithSpace) { while (/\s/.test(endLine.charAt(end)) && end < endLine.length) { end++; } } if (wordEnd == end || startsWithSpace) { var wordStart = start; while (/\s/.test(line.charAt(start - 1)) && start > 0) { start--; } if (!start && !startsWithSpace) { start = wordStart; } } } return { start: new Pos(startLineNumber, start), end: new Pos(endLineNumber, end) }; } /** * Depends on the following: * * - editor mode should be htmlmixedmode / xml * - mode/xml/xml.js should be loaded * - addon/fold/xml-fold.js should be loaded * * If any of the above requirements are not true, this function noops. * * This is _NOT_ a 100% accurate implementation of vim tag text objects. * The following caveats apply (based off cursory testing, I'm sure there * are other discrepancies): * * - Does not work inside comments: * ``` * * ``` * - Does not work when tags have different cases: * ``` *

    broken
    * ``` * - Does not work when cursor is inside a broken tag: * ``` *
    * ``` */ function expandTagUnderCursor(cm, head, inclusive) { var cur = head; if (!CodeMirror.findMatchingTag || !CodeMirror.findEnclosingTag) { return { start: cur, end: cur }; } var tags = CodeMirror.findMatchingTag(cm, head) || CodeMirror.findEnclosingTag(cm, head); if (!tags || !tags.open || !tags.close) { return { start: cur, end: cur }; } if (inclusive) { return { start: tags.open.from, end: tags.close.to }; } return { start: tags.open.to, end: tags.close.from }; } function recordJumpPosition(cm, oldCur, newCur) { if (!cursorEqual(oldCur, newCur)) { vimGlobalState.jumpList.add(cm, oldCur, newCur); } } function recordLastCharacterSearch(increment, args) { vimGlobalState.lastCharacterSearch.increment = increment; vimGlobalState.lastCharacterSearch.forward = args.forward; vimGlobalState.lastCharacterSearch.selectedCharacter = args.selectedCharacter; } var symbolToMode = { '(': 'bracket', ')': 'bracket', '{': 'bracket', '}': 'bracket', '[': 'section', ']': 'section', '*': 'comment', '/': 'comment', 'm': 'method', 'M': 'method', '#': 'preprocess' }; var findSymbolModes = { bracket: { isComplete: function(state) { if (state.nextCh === state.symb) { state.depth++; if (state.depth >= 1)return true; } else if (state.nextCh === state.reverseSymb) { state.depth--; } return false; } }, section: { init: function(state) { state.curMoveThrough = true; state.symb = (state.forward ? ']' : '[') === state.symb ? '{' : '}'; }, isComplete: function(state) { return state.index === 0 && state.nextCh === state.symb; } }, comment: { isComplete: function(state) { var found = state.lastCh === '*' && state.nextCh === '/'; state.lastCh = state.nextCh; return found; } }, // TODO: The original Vim implementation only operates on level 1 and 2. // The current implementation doesn't check for code block level and // therefore it operates on any levels. method: { init: function(state) { state.symb = (state.symb === 'm' ? '{' : '}'); state.reverseSymb = state.symb === '{' ? '}' : '{'; }, isComplete: function(state) { if (state.nextCh === state.symb)return true; return false; } }, preprocess: { init: function(state) { state.index = 0; }, isComplete: function(state) { if (state.nextCh === '#') { var token = state.lineText.match(/^#(\w+)/)[1]; if (token === 'endif') { if (state.forward && state.depth === 0) { return true; } state.depth++; } else if (token === 'if') { if (!state.forward && state.depth === 0) { return true; } state.depth--; } if (token === 'else' && state.depth === 0)return true; } return false; } } }; function findSymbol(cm, repeat, forward, symb) { var cur = copyCursor(cm.getCursor()); var increment = forward ? 1 : -1; var endLine = forward ? cm.lineCount() : -1; var curCh = cur.ch; var line = cur.line; var lineText = cm.getLine(line); var state = { lineText: lineText, nextCh: lineText.charAt(curCh), lastCh: null, index: curCh, symb: symb, reverseSymb: (forward ? { ')': '(', '}': '{' } : { '(': ')', '{': '}' })[symb], forward: forward, depth: 0, curMoveThrough: false }; var mode = symbolToMode[symb]; if (!mode)return cur; var init = findSymbolModes[mode].init; var isComplete = findSymbolModes[mode].isComplete; if (init) { init(state); } while (line !== endLine && repeat) { state.index += increment; state.nextCh = state.lineText.charAt(state.index); if (!state.nextCh) { line += increment; state.lineText = cm.getLine(line) || ''; if (increment > 0) { state.index = 0; } else { var lineLen = state.lineText.length; state.index = (lineLen > 0) ? (lineLen-1) : 0; } state.nextCh = state.lineText.charAt(state.index); } if (isComplete(state)) { cur.line = line; cur.ch = state.index; repeat--; } } if (state.nextCh || state.curMoveThrough) { return new Pos(line, state.index); } return cur; } /* * Returns the boundaries of the next word. If the cursor in the middle of * the word, then returns the boundaries of the current word, starting at * the cursor. If the cursor is at the start/end of a word, and we are going * forward/backward, respectively, find the boundaries of the next word. * * @param {CodeMirror} cm CodeMirror object. * @param {Cursor} cur The cursor position. * @param {boolean} forward True to search forward. False to search * backward. * @param {boolean} bigWord True if punctuation count as part of the word. * False if only [a-zA-Z0-9] characters count as part of the word. * @param {boolean} emptyLineIsWord True if empty lines should be treated * as words. * @return {Object{from:number, to:number, line: number}} The boundaries of * the word, or null if there are no more words. */ function findWord(cm, cur, forward, bigWord, emptyLineIsWord) { var lineNum = cur.line; var pos = cur.ch; var line = cm.getLine(lineNum); var dir = forward ? 1 : -1; var charTests = bigWord ? bigWordCharTest: wordCharTest; if (emptyLineIsWord && line == '') { lineNum += dir; line = cm.getLine(lineNum); if (!isLine(cm, lineNum)) { return null; } pos = (forward) ? 0 : line.length; } while (true) { if (emptyLineIsWord && line == '') { return { from: 0, to: 0, line: lineNum }; } var stop = (dir > 0) ? line.length : -1; var wordStart = stop, wordEnd = stop; // Find bounds of next word. while (pos != stop) { var foundWord = false; for (var i = 0; i < charTests.length && !foundWord; ++i) { if (charTests[i](line.charAt(pos))) { wordStart = pos; // Advance to end of word. while (pos != stop && charTests[i](line.charAt(pos))) { pos += dir; } wordEnd = pos; foundWord = wordStart != wordEnd; if (wordStart == cur.ch && lineNum == cur.line && wordEnd == wordStart + dir) { // We started at the end of a word. Find the next one. continue; } else { return { from: Math.min(wordStart, wordEnd + 1), to: Math.max(wordStart, wordEnd), line: lineNum }; } } } if (!foundWord) { pos += dir; } } // Advance to next/prev line. lineNum += dir; if (!isLine(cm, lineNum)) { return null; } line = cm.getLine(lineNum); pos = (dir > 0) ? 0 : line.length; } } /** * @param {CodeMirror} cm CodeMirror object. * @param {Pos} cur The position to start from. * @param {int} repeat Number of words to move past. * @param {boolean} forward True to search forward. False to search * backward. * @param {boolean} wordEnd True to move to end of word. False to move to * beginning of word. * @param {boolean} bigWord True if punctuation count as part of the word. * False if only alphabet characters count as part of the word. * @return {Cursor} The position the cursor should move to. */ function moveToWord(cm, cur, repeat, forward, wordEnd, bigWord) { var curStart = copyCursor(cur); var words = []; if (forward && !wordEnd || !forward && wordEnd) { repeat++; } // For 'e', empty lines are not considered words, go figure. var emptyLineIsWord = !(forward && wordEnd); for (var i = 0; i < repeat; i++) { var word = findWord(cm, cur, forward, bigWord, emptyLineIsWord); if (!word) { var eodCh = lineLength(cm, cm.lastLine()); words.push(forward ? {line: cm.lastLine(), from: eodCh, to: eodCh} : {line: 0, from: 0, to: 0}); break; } words.push(word); cur = new Pos(word.line, forward ? (word.to - 1) : word.from); } var shortCircuit = words.length != repeat; var firstWord = words[0]; var lastWord = words.pop(); if (forward && !wordEnd) { // w if (!shortCircuit && (firstWord.from != curStart.ch || firstWord.line != curStart.line)) { // We did not start in the middle of a word. Discard the extra word at the end. lastWord = words.pop(); } return new Pos(lastWord.line, lastWord.from); } else if (forward && wordEnd) { return new Pos(lastWord.line, lastWord.to - 1); } else if (!forward && wordEnd) { // ge if (!shortCircuit && (firstWord.to != curStart.ch || firstWord.line != curStart.line)) { // We did not start in the middle of a word. Discard the extra word at the end. lastWord = words.pop(); } return new Pos(lastWord.line, lastWord.to); } else { // b return new Pos(lastWord.line, lastWord.from); } } function moveToEol(cm, head, motionArgs, vim, keepHPos) { var cur = head; var retval= new Pos(cur.line + motionArgs.repeat - 1, Infinity); var end=cm.clipPos(retval); end.ch--; if (!keepHPos) { vim.lastHPos = Infinity; vim.lastHSPos = cm.charCoords(end,'div').left; } return retval; } function moveToCharacter(cm, repeat, forward, character, head) { var cur = head || cm.getCursor(); var start = cur.ch; var idx; for (var i = 0; i < repeat; i ++) { var line = cm.getLine(cur.line); idx = charIdxInLine(start, line, character, forward, true); if (idx == -1) { return null; } start = idx; } return new Pos(cm.getCursor().line, idx); } function moveToColumn(cm, repeat) { // repeat is always >= 1, so repeat - 1 always corresponds // to the column we want to go to. var line = cm.getCursor().line; return clipCursorToContent(cm, new Pos(line, repeat - 1)); } function updateMark(cm, vim, markName, pos) { if (!inArray(markName, validMarks) && !latinCharRegex.test(markName)) { return; } if (vim.marks[markName]) { vim.marks[markName].clear(); } vim.marks[markName] = cm.setBookmark(pos); } function charIdxInLine(start, line, character, forward, includeChar) { // Search for char in line. // motion_options: {forward, includeChar} // If includeChar = true, include it too. // If forward = true, search forward, else search backwards. // If char is not found on this line, do nothing var idx; if (forward) { idx = line.indexOf(character, start + 1); if (idx != -1 && !includeChar) { idx -= 1; } } else { idx = line.lastIndexOf(character, start - 1); if (idx != -1 && !includeChar) { idx += 1; } } return idx; } function findParagraph(cm, head, repeat, dir, inclusive) { var line = head.line; var min = cm.firstLine(); var max = cm.lastLine(); var start, end, i = line; function isEmpty(i) { return !cm.getLine(i); } function isBoundary(i, dir, any) { if (any) { return isEmpty(i) != isEmpty(i + dir); } return !isEmpty(i) && isEmpty(i + dir); } if (dir) { while (min <= i && i <= max && repeat > 0) { if (isBoundary(i, dir)) { repeat--; } i += dir; } return new Pos(i, 0); } var vim = cm.state.vim; if (vim.visualLine && isBoundary(line, 1, true)) { var anchor = vim.sel.anchor; if (isBoundary(anchor.line, -1, true)) { if (!inclusive || anchor.line != line) { line += 1; } } } var startState = isEmpty(line); for (i = line; i <= max && repeat; i++) { if (isBoundary(i, 1, true)) { if (!inclusive || isEmpty(i) != startState) { repeat--; } } } end = new Pos(i, 0); // select boundary before paragraph for the last one if (i > max && !startState) { startState = true; } else { inclusive = false; } for (i = line; i > min; i--) { if (!inclusive || isEmpty(i) == startState || i == line) { if (isBoundary(i, -1, true)) { break; } } } start = new Pos(i, 0); return { start: start, end: end }; } /** * Based on {@link findSentence}. The internal functions have the same names, * but their behaviour is different. findSentence() crosses line breaks and * is used for jumping to sentence beginnings before or after the current cursor position, * whereas getSentence() is for getting the beginning or end of the sentence * at the current cursor position, either including (a) or excluding (i) whitespace. */ function getSentence(cm, cur, repeat, dir, inclusive /*includes whitespace*/) { /* Takes an index object { line: the line string, ln: line number, pos: index in line, dir: direction of traversal (-1 or 1) } and modifies the pos member to represent the next valid position or sets the line to null if there are no more valid positions. */ function nextChar(curr) { if (curr.pos + curr.dir < 0 || curr.pos + curr.dir >= curr.line.length) { curr.line = null; } else { curr.pos += curr.dir; } } /* Performs one iteration of traversal in forward direction Returns an index object of the sentence end */ function forward(cm, ln, pos, dir) { var line = cm.getLine(ln); var curr = { line: line, ln: ln, pos: pos, dir: dir, }; if (curr.line === "") { return { ln: curr.ln, pos: curr.pos }; } var lastSentencePos = curr.pos; // Move one step to skip character we start on nextChar(curr); while (curr.line !== null) { lastSentencePos = curr.pos; if (isEndOfSentenceSymbol(curr.line[curr.pos])) { if (!inclusive) { return { ln: curr.ln, pos: curr.pos + 1 }; } else { nextChar(curr); while (curr.line !== null ) { if (isWhiteSpaceString(curr.line[curr.pos])) { lastSentencePos = curr.pos; nextChar(curr) } else { break; } } return { ln: curr.ln, pos: lastSentencePos + 1 }; } } nextChar(curr); } return { ln: curr.ln, pos: lastSentencePos + 1 }; } /* Performs one iteration of traversal in reverse direction Returns an index object of the sentence start */ function reverse(cm, ln, pos, dir) { var line = cm.getLine(ln); var curr = { line: line, ln: ln, pos: pos, dir: dir, } if (curr.line === "") { return { ln: curr.ln, pos: curr.pos }; } var lastSentencePos = curr.pos; // Move one step to skip character we start on nextChar(curr); while (curr.line !== null) { if (!isWhiteSpaceString(curr.line[curr.pos]) && !isEndOfSentenceSymbol(curr.line[curr.pos])) { lastSentencePos = curr.pos; } else if (isEndOfSentenceSymbol(curr.line[curr.pos]) ) { if (!inclusive) { return { ln: curr.ln, pos: lastSentencePos }; } else { if (isWhiteSpaceString(curr.line[curr.pos + 1])) { return { ln: curr.ln, pos: curr.pos + 1 }; } else { return { ln: curr.ln, pos: lastSentencePos }; } } } nextChar(curr); } curr.line = line if (inclusive && isWhiteSpaceString(curr.line[curr.pos])) { return { ln: curr.ln, pos: curr.pos }; } else { return { ln: curr.ln, pos: lastSentencePos }; } } var curr_index = { ln: cur.line, pos: cur.ch, }; while (repeat > 0) { if (dir < 0) { curr_index = reverse(cm, curr_index.ln, curr_index.pos, dir); } else { curr_index = forward(cm, curr_index.ln, curr_index.pos, dir); } repeat--; } return new Pos(curr_index.ln, curr_index.pos); } function findSentence(cm, cur, repeat, dir) { /* Takes an index object { line: the line string, ln: line number, pos: index in line, dir: direction of traversal (-1 or 1) } and modifies the line, ln, and pos members to represent the next valid position or sets them to null if there are no more valid positions. */ function nextChar(cm, idx) { if (idx.pos + idx.dir < 0 || idx.pos + idx.dir >= idx.line.length) { idx.ln += idx.dir; if (!isLine(cm, idx.ln)) { idx.line = null; idx.ln = null; idx.pos = null; return; } idx.line = cm.getLine(idx.ln); idx.pos = (idx.dir > 0) ? 0 : idx.line.length - 1; } else { idx.pos += idx.dir; } } /* Performs one iteration of traversal in forward direction Returns an index object of the new location */ function forward(cm, ln, pos, dir) { var line = cm.getLine(ln); var stop = (line === ""); var curr = { line: line, ln: ln, pos: pos, dir: dir, } var last_valid = { ln: curr.ln, pos: curr.pos, } var skip_empty_lines = (curr.line === ""); // Move one step to skip character we start on nextChar(cm, curr); while (curr.line !== null) { last_valid.ln = curr.ln; last_valid.pos = curr.pos; if (curr.line === "" && !skip_empty_lines) { return { ln: curr.ln, pos: curr.pos, }; } else if (stop && curr.line !== "" && !isWhiteSpaceString(curr.line[curr.pos])) { return { ln: curr.ln, pos: curr.pos, }; } else if (isEndOfSentenceSymbol(curr.line[curr.pos]) && !stop && (curr.pos === curr.line.length - 1 || isWhiteSpaceString(curr.line[curr.pos + 1]))) { stop = true; } nextChar(cm, curr); } /* Set the position to the last non whitespace character on the last valid line in the case that we reach the end of the document. */ var line = cm.getLine(last_valid.ln); last_valid.pos = 0; for(var i = line.length - 1; i >= 0; --i) { if (!isWhiteSpaceString(line[i])) { last_valid.pos = i; break; } } return last_valid; } /* Performs one iteration of traversal in reverse direction Returns an index object of the new location */ function reverse(cm, ln, pos, dir) { var line = cm.getLine(ln); var curr = { line: line, ln: ln, pos: pos, dir: dir, } var last_valid = { ln: curr.ln, pos: null, }; var skip_empty_lines = (curr.line === ""); // Move one step to skip character we start on nextChar(cm, curr); while (curr.line !== null) { if (curr.line === "" && !skip_empty_lines) { if (last_valid.pos !== null) { return last_valid; } else { return { ln: curr.ln, pos: curr.pos }; } } else if (isEndOfSentenceSymbol(curr.line[curr.pos]) && last_valid.pos !== null && !(curr.ln === last_valid.ln && curr.pos + 1 === last_valid.pos)) { return last_valid; } else if (curr.line !== "" && !isWhiteSpaceString(curr.line[curr.pos])) { skip_empty_lines = false; last_valid = { ln: curr.ln, pos: curr.pos } } nextChar(cm, curr); } /* Set the position to the first non whitespace character on the last valid line in the case that we reach the beginning of the document. */ var line = cm.getLine(last_valid.ln); last_valid.pos = 0; for(var i = 0; i < line.length; ++i) { if (!isWhiteSpaceString(line[i])) { last_valid.pos = i; break; } } return last_valid; } var curr_index = { ln: cur.line, pos: cur.ch, }; while (repeat > 0) { if (dir < 0) { curr_index = reverse(cm, curr_index.ln, curr_index.pos, dir); } else { curr_index = forward(cm, curr_index.ln, curr_index.pos, dir); } repeat--; } return new Pos(curr_index.ln, curr_index.pos); } // TODO: perhaps this finagling of start and end positions belongs // in codemirror/replaceRange? function selectCompanionObject(cm, head, symb, inclusive) { var cur = head, start, end; var bracketRegexp = ({ '(': /[()]/, ')': /[()]/, '[': /[[\]]/, ']': /[[\]]/, '{': /[{}]/, '}': /[{}]/, '<': /[<>]/, '>': /[<>]/})[symb]; var openSym = ({ '(': '(', ')': '(', '[': '[', ']': '[', '{': '{', '}': '{', '<': '<', '>': '<'})[symb]; var curChar = cm.getLine(cur.line).charAt(cur.ch); // Due to the behavior of scanForBracket, we need to add an offset if the // cursor is on a matching open bracket. var offset = curChar === openSym ? 1 : 0; start = cm.scanForBracket(new Pos(cur.line, cur.ch + offset), -1, undefined, {'bracketRegex': bracketRegexp}); end = cm.scanForBracket(new Pos(cur.line, cur.ch + offset), 1, undefined, {'bracketRegex': bracketRegexp}); if (!start || !end) return null; start = start.pos; end = end.pos; if ((start.line == end.line && start.ch > end.ch) || (start.line > end.line)) { var tmp = start; start = end; end = tmp; } if (inclusive) { end.ch += 1; } else { start.ch += 1; } return { start: start, end: end }; } // Takes in a symbol and a cursor and tries to simulate text objects that // have identical opening and closing symbols // TODO support across multiple lines function findBeginningAndEnd(cm, head, symb, inclusive) { var cur = copyCursor(head); var line = cm.getLine(cur.line); var chars = line.split(''); var start, end, i, len; var firstIndex = chars.indexOf(symb); // the decision tree is to always look backwards for the beginning first, // but if the cursor is in front of the first instance of the symb, // then move the cursor forward if (cur.ch < firstIndex) { cur.ch = firstIndex; } // otherwise if the cursor is currently on the closing symbol else if (firstIndex < cur.ch && chars[cur.ch] == symb) { var stringAfter = /string/.test(cm.getTokenTypeAt(offsetCursor(head, 0, 1))); var stringBefore = /string/.test(cm.getTokenTypeAt(head)); var isStringStart = stringAfter && !stringBefore if (!isStringStart) { end = cur.ch; // assign end to the current cursor --cur.ch; // make sure to look backwards } } // if we're currently on the symbol, we've got a start if (chars[cur.ch] == symb && !end) { start = cur.ch + 1; // assign start to ahead of the cursor } else { // go backwards to find the start for (i = cur.ch; i > -1 && !start; i--) { if (chars[i] == symb) { start = i + 1; } } } // look forwards for the end symbol if (start && !end) { for (i = start, len = chars.length; i < len && !end; i++) { if (chars[i] == symb) { end = i; } } } // nothing found if (!start || !end) { return { start: cur, end: cur }; } // include the symbols if (inclusive) { --start; ++end; } return { start: new Pos(cur.line, start), end: new Pos(cur.line, end) }; } // Search functions defineOption('pcre', true, 'boolean'); function SearchState() {} SearchState.prototype = { getQuery: function() { return vimGlobalState.query; }, setQuery: function(query) { vimGlobalState.query = query; }, getOverlay: function() { return this.searchOverlay; }, setOverlay: function(overlay) { this.searchOverlay = overlay; }, isReversed: function() { return vimGlobalState.isReversed; }, setReversed: function(reversed) { vimGlobalState.isReversed = reversed; }, getScrollbarAnnotate: function() { return this.annotate; }, setScrollbarAnnotate: function(annotate) { this.annotate = annotate; } }; function getSearchState(cm) { var vim = cm.state.vim; return vim.searchState_ || (vim.searchState_ = new SearchState()); } function splitBySlash(argString) { return splitBySeparator(argString, '/'); } function findUnescapedSlashes(argString) { return findUnescapedSeparators(argString, '/'); } function splitBySeparator(argString, separator) { var slashes = findUnescapedSeparators(argString, separator) || []; if (!slashes.length) return []; var tokens = []; // in case of strings like foo/bar if (slashes[0] !== 0) return; for (var i = 0; i < slashes.length; i++) { if (typeof slashes[i] == 'number') tokens.push(argString.substring(slashes[i] + 1, slashes[i+1])); } return tokens; } function findUnescapedSeparators(str, separator) { if (!separator) separator = '/'; var escapeNextChar = false; var slashes = []; for (var i = 0; i < str.length; i++) { var c = str.charAt(i); if (!escapeNextChar && c == separator) { slashes.push(i); } escapeNextChar = !escapeNextChar && (c == '\\'); } return slashes; } // Translates a search string from ex (vim) syntax into javascript form. function translateRegex(str) { // When these match, add a '\' if unescaped or remove one if escaped. var specials = '|(){'; // Remove, but never add, a '\' for these. var unescape = '}'; var escapeNextChar = false; var out = []; for (var i = -1; i < str.length; i++) { var c = str.charAt(i) || ''; var n = str.charAt(i+1) || ''; var specialComesNext = (n && specials.indexOf(n) != -1); if (escapeNextChar) { if (c !== '\\' || !specialComesNext) { out.push(c); } escapeNextChar = false; } else { if (c === '\\') { escapeNextChar = true; // Treat the unescape list as special for removing, but not adding '\'. if (n && unescape.indexOf(n) != -1) { specialComesNext = true; } // Not passing this test means removing a '\'. if (!specialComesNext || n === '\\') { out.push(c); } } else { out.push(c); if (specialComesNext && n !== '\\') { out.push('\\'); } } } } return out.join(''); } // Translates the replace part of a search and replace from ex (vim) syntax into // javascript form. Similar to translateRegex, but additionally fixes back references // (translates '\[0..9]' to '$[0..9]') and follows different rules for escaping '$'. var charUnescapes = {'\\n': '\n', '\\r': '\r', '\\t': '\t'}; function translateRegexReplace(str) { var escapeNextChar = false; var out = []; for (var i = -1; i < str.length; i++) { var c = str.charAt(i) || ''; var n = str.charAt(i+1) || ''; if (charUnescapes[c + n]) { out.push(charUnescapes[c+n]); i++; } else if (escapeNextChar) { // At any point in the loop, escapeNextChar is true if the previous // character was a '\' and was not escaped. out.push(c); escapeNextChar = false; } else { if (c === '\\') { escapeNextChar = true; if ((isNumber(n) || n === '$')) { out.push('$'); } else if (n !== '/' && n !== '\\') { out.push('\\'); } } else { if (c === '$') { out.push('$'); } out.push(c); if (n === '/') { out.push('\\'); } } } } return out.join(''); } // Unescape \ and / in the replace part, for PCRE mode. var unescapes = {'\\/': '/', '\\\\': '\\', '\\n': '\n', '\\r': '\r', '\\t': '\t', '\\&':'&'}; function unescapeRegexReplace(str) { var stream = new CodeMirror.StringStream(str); var output = []; while (!stream.eol()) { // Search for \. while (stream.peek() && stream.peek() != '\\') { output.push(stream.next()); } var matched = false; for (var matcher in unescapes) { if (stream.match(matcher, true)) { matched = true; output.push(unescapes[matcher]); break; } } if (!matched) { // Don't change anything output.push(stream.next()); } } return output.join(''); } /** * Extract the regular expression from the query and return a Regexp object. * Returns null if the query is blank. * If ignoreCase is passed in, the Regexp object will have the 'i' flag set. * If smartCase is passed in, and the query contains upper case letters, * then ignoreCase is overridden, and the 'i' flag will not be set. * If the query contains the /i in the flag part of the regular expression, * then both ignoreCase and smartCase are ignored, and 'i' will be passed * through to the Regex object. */ function parseQuery(query, ignoreCase, smartCase) { // First update the last search register var lastSearchRegister = vimGlobalState.registerController.getRegister('/'); lastSearchRegister.setText(query); // Check if the query is already a regex. if (query instanceof RegExp) { return query; } // First try to extract regex + flags from the input. If no flags found, // extract just the regex. IE does not accept flags directly defined in // the regex string in the form /regex/flags var slashes = findUnescapedSlashes(query); var regexPart; var forceIgnoreCase; if (!slashes.length) { // Query looks like 'regexp' regexPart = query; } else { // Query looks like 'regexp/...' regexPart = query.substring(0, slashes[0]); var flagsPart = query.substring(slashes[0]); forceIgnoreCase = (flagsPart.indexOf('i') != -1); } if (!regexPart) { return null; } if (!getOption('pcre')) { regexPart = translateRegex(regexPart); } if (smartCase) { ignoreCase = (/^[^A-Z]*$/).test(regexPart); } var regexp = new RegExp(regexPart, (ignoreCase || forceIgnoreCase) ? 'im' : 'm'); return regexp; } /** * dom - Document Object Manipulator * Usage: * dom(''|[, ...{|<$styles>}||'']) * Examples: * dom('div', {id:'xyz'}, dom('p', 'CM rocks!', {$color:'red'})) * dom(document.head, dom('script', 'alert("hello!")')) * Not supported: * dom('p', ['arrays are objects'], Error('objects specify attributes')) */ function dom(n) { if (typeof n === 'string') n = document.createElement(n); for (var a, i = 1; i < arguments.length; i++) { if (!(a = arguments[i])) continue; if (typeof a !== 'object') a = document.createTextNode(a); if (a.nodeType) n.appendChild(a); else for (var key in a) { if (!Object.prototype.hasOwnProperty.call(a, key)) continue; if (key[0] === '$') n.style[key.slice(1)] = a[key]; else n.setAttribute(key, a[key]); } } return n; } /** * @arg {CodeMirror} cm * @arg {any} template * @arg {boolean} [long] */ function showConfirm(cm, template, long) { var pre = dom('div', {$color: 'red', $whiteSpace: 'pre', class: 'cm-vim-message'}, template); if (cm.openNotification) { if (long) { pre = dom('div', {}, pre, dom('div', {}, 'Press ENTER or type command to continue')); if (cm.state.closeVimNotification) { cm.state.closeVimNotification(); } cm.state.closeVimNotification = cm.openNotification(pre, {bottom: true, duration: 0}); } else { cm.openNotification(pre, {bottom: true, duration: 5000}); } } else { alert(pre.innerText); } } function makePrompt(prefix, desc) { return dom('div', {$display: 'flex'}, dom('span', {$fontFamily: 'monospace', $whiteSpace: 'pre', $flex: 1, $display: 'flex'}, prefix, dom('input', {type: 'text', autocorrect: 'off', autocapitalize: 'off', spellcheck: 'false', $flex: 1})), desc && dom('span', {$color: '#888'}, desc)); } function showPrompt(cm, options) { if (keyToKeyStack.length) { if (!options.value) options.value = ''; virtualPrompt = options; return; } var template = makePrompt(options.prefix, options.desc); if (cm.openDialog) { cm.openDialog(template, options.onClose, { onKeyDown: options.onKeyDown, onKeyUp: options.onKeyUp, bottom: true, selectValueOnOpen: false, value: options.value }); } else { var shortText = ''; if (typeof options.prefix != "string" && options.prefix) shortText += options.prefix.textContent; if (options.desc) shortText += " " + options.desc; options.onClose(prompt(shortText, '')); } } function regexEqual(r1, r2) { if (r1 instanceof RegExp && r2 instanceof RegExp) { var props = ['global', 'multiline', 'ignoreCase', 'source']; for (var i = 0; i < props.length; i++) { var prop = props[i]; if (r1[prop] !== r2[prop]) { return false; } } return true; } return false; } // Returns true if the query is valid. function updateSearchQuery(cm, rawQuery, ignoreCase, smartCase) { if (!rawQuery) { return; } var state = getSearchState(cm); var query = parseQuery(rawQuery, !!ignoreCase, !!smartCase); if (!query) { return; } highlightSearchMatches(cm, query); if (regexEqual(query, state.getQuery())) { return query; } state.setQuery(query); return query; } function searchOverlay(query) { if (query.source.charAt(0) == '^') { var matchSol = true; } return { token: function(stream) { if (matchSol && !stream.sol()) { stream.skipToEnd(); return; } var match = stream.match(query, false); if (match) { if (match[0].length == 0) { // Matched empty string, skip to next. stream.next(); return 'searching'; } if (!stream.sol()) { // Backtrack 1 to match \b stream.backUp(1); if (!query.exec(stream.next() + match[0])) { stream.next(); return null; } } stream.match(query); return 'searching'; } while (!stream.eol()) { stream.next(); if (stream.match(query, false)) break; } }, query: query }; } var highlightTimeout = 0; function highlightSearchMatches(cm, query) { clearTimeout(highlightTimeout); var searchState = getSearchState(cm); searchState.highlightTimeout = highlightTimeout; highlightTimeout = setTimeout(function() { if (!cm.state.vim) return; var searchState = getSearchState(cm); searchState.highlightTimeout = null; var overlay = searchState.getOverlay(); if (!overlay || query != overlay.query) { if (overlay) { cm.removeOverlay(overlay); } overlay = searchOverlay(query); cm.addOverlay(overlay); if (cm.showMatchesOnScrollbar) { if (searchState.getScrollbarAnnotate()) { searchState.getScrollbarAnnotate().clear(); } searchState.setScrollbarAnnotate(cm.showMatchesOnScrollbar(query)); } searchState.setOverlay(overlay); } }, 50); } function findNext(cm, prev, query, repeat) { if (repeat === undefined) { repeat = 1; } return cm.operation(function() { var pos = cm.getCursor(); var cursor = cm.getSearchCursor(query, pos); for (var i = 0; i < repeat; i++) { var found = cursor.find(prev); if (i == 0 && found && cursorEqual(cursor.from(), pos)) { var lastEndPos = prev ? cursor.from() : cursor.to(); found = cursor.find(prev); if (found && !found[0] && cursorEqual(cursor.from(), lastEndPos)) { if (cm.getLine(lastEndPos.line).length == lastEndPos.ch) found = cursor.find(prev); } } if (!found) { // SearchCursor may have returned null because it hit EOF, wrap // around and try again. cursor = cm.getSearchCursor(query, (prev) ? new Pos(cm.lastLine()) : new Pos(cm.firstLine(), 0) ); if (!cursor.find(prev)) { return; } } } return cursor.from(); }); } /** * Pretty much the same as `findNext`, except for the following differences: * * 1. Before starting the search, move to the previous search. This way if our cursor is * already inside a match, we should return the current match. * 2. Rather than only returning the cursor's from, we return the cursor's from and to as a tuple. */ function findNextFromAndToInclusive(cm, prev, query, repeat, vim) { if (repeat === undefined) { repeat = 1; } return cm.operation(function() { var pos = cm.getCursor(); var cursor = cm.getSearchCursor(query, pos); // Go back one result to ensure that if the cursor is currently a match, we keep it. var found = cursor.find(!prev); // If we haven't moved, go back one more (similar to if i==0 logic in findNext). if (!vim.visualMode && found && cursorEqual(cursor.from(), pos)) { cursor.find(!prev); } for (var i = 0; i < repeat; i++) { found = cursor.find(prev); if (!found) { // SearchCursor may have returned null because it hit EOF, wrap // around and try again. cursor = cm.getSearchCursor(query, (prev) ? new Pos(cm.lastLine()) : new Pos(cm.firstLine(), 0) ); if (!cursor.find(prev)) { return; } } } return [cursor.from(), cursor.to()]; }); } function clearSearchHighlight(cm) { var state = getSearchState(cm); if (state.highlightTimeout) { clearTimeout(state.highlightTimeout); state.highlightTimeout = null; } cm.removeOverlay(getSearchState(cm).getOverlay()); state.setOverlay(null); if (state.getScrollbarAnnotate()) { state.getScrollbarAnnotate().clear(); state.setScrollbarAnnotate(null); } } /** * Check if pos is in the specified range, INCLUSIVE. * Range can be specified with 1 or 2 arguments. * If the first range argument is an array, treat it as an array of line * numbers. Match pos against any of the lines. * If the first range argument is a number, * if there is only 1 range argument, check if pos has the same line * number * if there are 2 range arguments, then check if pos is in between the two * range arguments. */ function isInRange(pos, start, end) { if (typeof pos != 'number') { // Assume it is a cursor position. Get the line number. pos = pos.line; } if (start instanceof Array) { return inArray(pos, start); } else { if (typeof end == 'number') { return (pos >= start && pos <= end); } else { return pos == start; } } } function getUserVisibleLines(cm) { var scrollInfo = cm.getScrollInfo(); var occludeToleranceTop = 6; var occludeToleranceBottom = 10; var from = cm.coordsChar({left:0, top: occludeToleranceTop + scrollInfo.top}, 'local'); var bottomY = scrollInfo.clientHeight - occludeToleranceBottom + scrollInfo.top; var to = cm.coordsChar({left:0, top: bottomY}, 'local'); return {top: from.line, bottom: to.line}; } function getMarkPos(cm, vim, markName) { if (markName == '\'' || markName == '`') { return vimGlobalState.jumpList.find(cm, -1) || new Pos(0, 0); } else if (markName == '.') { return getLastEditPos(cm); } var mark = vim.marks[markName]; return mark && mark.find(); } function getLastEditPos(cm) { if (cm.getLastEditEnd) { return cm.getLastEditEnd(); } // for old cm var done = cm.doc.history.done; for (var i = done.length; i--;) { if (done[i].changes) { return copyCursor(done[i].changes[0].to); } } } var ExCommandDispatcher = function() { this.buildCommandMap_(); }; ExCommandDispatcher.prototype = { processCommand: function(cm, input, opt_params) { var that = this; cm.operation(function () { cm.curOp.isVimOp = true; that._processCommand(cm, input, opt_params); }); }, _processCommand: function(cm, input, opt_params) { var vim = cm.state.vim; var commandHistoryRegister = vimGlobalState.registerController.getRegister(':'); var previousCommand = commandHistoryRegister.toString(); var inputStream = new CodeMirror.StringStream(input); // update ": with the latest command whether valid or invalid commandHistoryRegister.setText(input); var params = opt_params || {}; params.input = input; try { this.parseInput_(cm, inputStream, params); } catch(e) { showConfirm(cm, e.toString()); throw e; } if (vim.visualMode) { exitVisualMode(cm); } var command; var commandName; if (!params.commandName) { // If only a line range is defined, move to the line. if (params.line !== undefined) { commandName = 'move'; } } else { command = this.matchCommand_(params.commandName); if (command) { commandName = command.name; if (command.excludeFromCommandHistory) { commandHistoryRegister.setText(previousCommand); } this.parseCommandArgs_(inputStream, params, command); if (command.type == 'exToKey') { // Handle Ex to Key mapping. doKeyToKey(cm, command.toKeys, command); return; } else if (command.type == 'exToEx') { // Handle Ex to Ex mapping. this.processCommand(cm, command.toInput); return; } } } if (!commandName) { showConfirm(cm, 'Not an editor command ":' + input + '"'); return; } try { exCommands[commandName](cm, params); // Possibly asynchronous commands (e.g. substitute, which might have a // user confirmation), are responsible for calling the callback when // done. All others have it taken care of for them here. if ((!command || !command.possiblyAsync) && params.callback) { params.callback(); } } catch(e) { showConfirm(cm, e.toString()); throw e; } }, parseInput_: function(cm, inputStream, result) { inputStream.eatWhile(':'); // Parse range. if (inputStream.eat('%')) { result.line = cm.firstLine(); result.lineEnd = cm.lastLine(); } else { result.line = this.parseLineSpec_(cm, inputStream); if (result.line !== undefined && inputStream.eat(',')) { result.lineEnd = this.parseLineSpec_(cm, inputStream); } } if (result.line == undefined) { if (cm.state.vim.visualMode) { result.selectionLine = (getMarkPos(cm, cm.state.vim, '<') || {}).line; result.selectionLineEnd = (getMarkPos(cm, cm.state.vim, '>') || {}).line; } else { result.selectionLine = cm.getCursor().line; } } else { result.selectionLine = result.line; result.selectionLineEnd = result.lineEnd; } // Parse command name. var commandMatch = inputStream.match(/^(\w+|!!|@@|[!#&*<=>@~])/); if (commandMatch) { result.commandName = commandMatch[1]; } else { result.commandName = inputStream.match(/.*/)[0]; } return result; }, parseLineSpec_: function(cm, inputStream) { var numberMatch = inputStream.match(/^(\d+)/); if (numberMatch) { // Absolute line number plus offset (N+M or N-M) is probably a typo, // not something the user actually wanted. (NB: vim does allow this.) return parseInt(numberMatch[1], 10) - 1; } switch (inputStream.next()) { case '.': return this.parseLineSpecOffset_(inputStream, cm.getCursor().line); case '$': return this.parseLineSpecOffset_(inputStream, cm.lastLine()); case '\'': var markName = inputStream.next(); var markPos = getMarkPos(cm, cm.state.vim, markName); if (!markPos) throw new Error('Mark not set'); return this.parseLineSpecOffset_(inputStream, markPos.line); case '-': case '+': inputStream.backUp(1); // Offset is relative to current line if not otherwise specified. return this.parseLineSpecOffset_(inputStream, cm.getCursor().line); default: inputStream.backUp(1); return undefined; } }, parseLineSpecOffset_: function(inputStream, line) { var offsetMatch = inputStream.match(/^([+-])?(\d+)/); if (offsetMatch) { var offset = parseInt(offsetMatch[2], 10); if (offsetMatch[1] == "-") { line -= offset; } else { line += offset; } } return line; }, parseCommandArgs_: function(inputStream, params, command) { if (inputStream.eol()) { return; } params.argString = inputStream.match(/.*/)[0]; // Parse command-line arguments var delim = command.argDelimiter || /\s+/; var args = trim(params.argString).split(delim); if (args.length && args[0]) { params.args = args; } }, matchCommand_: function(commandName) { // Return the command in the command map that matches the shortest // prefix of the passed in command name. The match is guaranteed to be // unambiguous if the defaultExCommandMap's shortNames are set up // correctly. (see @code{defaultExCommandMap}). for (var i = commandName.length; i > 0; i--) { var prefix = commandName.substring(0, i); if (this.commandMap_[prefix]) { var command = this.commandMap_[prefix]; if (command.name.indexOf(commandName) === 0) { return command; } } } return null; }, buildCommandMap_: function() { this.commandMap_ = {}; for (var i = 0; i < defaultExCommandMap.length; i++) { var command = defaultExCommandMap[i]; var key = command.shortName || command.name; this.commandMap_[key] = command; } }, map: function(lhs, rhs, ctx, noremap) { if (lhs != ':' && lhs.charAt(0) == ':') { if (ctx) { throw Error('Mode not supported for ex mappings'); } var commandName = lhs.substring(1); if (rhs != ':' && rhs.charAt(0) == ':') { // Ex to Ex mapping this.commandMap_[commandName] = { name: commandName, type: 'exToEx', toInput: rhs.substring(1), user: true }; } else { // Ex to key mapping this.commandMap_[commandName] = { name: commandName, type: 'exToKey', toKeys: rhs, user: true }; } } else { // Key to key or ex mapping var mapping = { keys: lhs, type: 'keyToKey', toKeys: rhs, noremap: !!noremap }; if (ctx) { mapping.context = ctx; } defaultKeymap.unshift(mapping); } }, unmap: function(lhs, ctx) { if (lhs != ':' && lhs.charAt(0) == ':') { // Ex to Ex or Ex to key mapping if (ctx) { throw Error('Mode not supported for ex mappings'); } var commandName = lhs.substring(1); if (this.commandMap_[commandName] && this.commandMap_[commandName].user) { delete this.commandMap_[commandName]; return true; } } else { // Key to Ex or key to key mapping var keys = lhs; for (var i = 0; i < defaultKeymap.length; i++) { if (keys == defaultKeymap[i].keys && defaultKeymap[i].context === ctx) { defaultKeymap.splice(i, 1); return true; } } } } }; var exCommands = { colorscheme: function(cm, params) { if (!params.args || params.args.length < 1) { showConfirm(cm, cm.getOption('theme')); return; } cm.setOption('theme', params.args[0]); }, map: function(cm, params, ctx, defaultOnly) { var mapArgs = params.args; if (!mapArgs || mapArgs.length < 2) { if (cm) { showConfirm(cm, 'Invalid mapping: ' + params.input); } return; } exCommandDispatcher.map(mapArgs[0], mapArgs[1], ctx, defaultOnly); }, imap: function(cm, params) { this.map(cm, params, 'insert'); }, nmap: function(cm, params) { this.map(cm, params, 'normal'); }, vmap: function(cm, params) { this.map(cm, params, 'visual'); }, omap: function(cm, params) { this.map(cm, params, 'operatorPending'); }, noremap: function(cm, params) { this.map(cm, params, undefined, true); }, inoremap: function(cm, params) { this.map(cm, params, 'insert', true); }, nnoremap: function(cm, params) { this.map(cm, params, 'normal', true); }, vnoremap: function(cm, params) { this.map(cm, params, 'visual', true); }, onoremap: function(cm, params) { this.map(cm, params, 'operatorPending', true); }, unmap: function(cm, params, ctx) { var mapArgs = params.args; if (!mapArgs || mapArgs.length < 1 || !exCommandDispatcher.unmap(mapArgs[0], ctx)) { if (cm) { showConfirm(cm, 'No such mapping: ' + params.input); } } }, mapclear: function(cm, params) { vimApi.mapclear(); }, imapclear: function(cm, params) { vimApi.mapclear('insert'); }, nmapclear: function(cm, params) { vimApi.mapclear('normal'); }, vmapclear: function(cm, params) { vimApi.mapclear('visual'); }, omapclear: function(cm, params) { vimApi.mapclear('operatorPending'); }, move: function(cm, params) { commandDispatcher.processCommand(cm, cm.state.vim, { type: 'motion', motion: 'moveToLineOrEdgeOfDocument', motionArgs: { forward: false, explicitRepeat: true, linewise: true }, repeatOverride: params.line+1}); }, set: function(cm, params) { var setArgs = params.args; // Options passed through to the setOption/getOption calls. May be passed in by the // local/global versions of the set command var setCfg = params.setCfg || {}; if (!setArgs || setArgs.length < 1) { if (cm) { showConfirm(cm, 'Invalid mapping: ' + params.input); } return; } var expr = setArgs[0].split('='); var optionName = expr.shift(); var value = expr.length > 0 ? expr.join('=') : undefined; var forceGet = false; var forceToggle = false; if (optionName.charAt(optionName.length - 1) == '?') { // If post-fixed with ?, then the set is actually a get. if (value) { throw Error('Trailing characters: ' + params.argString); } optionName = optionName.substring(0, optionName.length - 1); forceGet = true; } else if (optionName.charAt(optionName.length - 1) == '!') { optionName = optionName.substring(0, optionName.length - 1); forceToggle = true; } if (value === undefined && optionName.substring(0, 2) == 'no') { // To set boolean options to false, the option name is prefixed with // 'no'. optionName = optionName.substring(2); value = false; } var optionIsBoolean = options[optionName] && options[optionName].type == 'boolean'; if (optionIsBoolean) { if (forceToggle) { value = !getOption(optionName, cm, setCfg); } else if (value == undefined) { // Calling set with a boolean option sets it to true. value = true; } } // If no value is provided, then we assume this is a get. if (!optionIsBoolean && value === undefined || forceGet) { var oldValue = getOption(optionName, cm, setCfg); if (oldValue instanceof Error) { showConfirm(cm, oldValue.message); } else if (oldValue === true || oldValue === false) { showConfirm(cm, ' ' + (oldValue ? '' : 'no') + optionName); } else { showConfirm(cm, ' ' + optionName + '=' + oldValue); } } else { var setOptionReturn = setOption(optionName, value, cm, setCfg); if (setOptionReturn instanceof Error) { showConfirm(cm, setOptionReturn.message); } } }, setlocal: function (cm, params) { // setCfg is passed through to setOption params.setCfg = {scope: 'local'}; this.set(cm, params); }, setglobal: function (cm, params) { // setCfg is passed through to setOption params.setCfg = {scope: 'global'}; this.set(cm, params); }, registers: function(cm, params) { var regArgs = params.args; var registers = vimGlobalState.registerController.registers; var regInfo = '----------Registers----------\n\n'; if (!regArgs) { for (var registerName in registers) { var text = registers[registerName].toString(); if (text.length) { regInfo += '"' + registerName + ' ' + text + '\n' } } } else { var registerName; regArgs = regArgs.join(''); for (var i = 0; i < regArgs.length; i++) { registerName = regArgs.charAt(i); if (!vimGlobalState.registerController.isValidRegister(registerName)) { continue; } var register = registers[registerName] || new Register(); regInfo += '"' + registerName + ' ' + register.toString() + '\n' } } showConfirm(cm, regInfo, true); }, /** @arg {CodeMirrorV} cm @arg {ExParams} params*/ marks: function(cm, params) { var filterArgs = params.args; var marks = cm.state.vim.marks; var regInfo = '-----------Marks-----------\nmark\tline\tcol\n\n'; if (!filterArgs) { for (var name in marks) { var marker = marks[name] && marks[name].find(); if (marker) { regInfo += name + '\t' + marker.line + '\t' + marker.ch + '\n'; } } } else { var registerNames = filterArgs.join(''); for (var i = 0; i < registerNames.length; i++) { var name = registerNames.charAt(i); var marker = marks[name] && marks[name].find(); if (marker) { regInfo += name + '\t' + marker.line + '\t' + marker.ch + '\n'; } } } showConfirm(cm, regInfo, true); }, sort: function(cm, params) { var reverse, ignoreCase, unique, number, pattern; function parseArgs() { if (params.argString) { var args = new CodeMirror.StringStream(params.argString); if (args.eat('!')) { reverse = true; } if (args.eol()) { return; } if (!args.eatSpace()) { return 'Invalid arguments'; } var opts = args.match(/([dinuox]+)?\s*(\/.+\/)?\s*/); if (!opts && !args.eol()) { return 'Invalid arguments'; } if (opts[1]) { ignoreCase = opts[1].indexOf('i') != -1; unique = opts[1].indexOf('u') != -1; var decimal = opts[1].indexOf('d') != -1 || opts[1].indexOf('n') != -1 && 1; var hex = opts[1].indexOf('x') != -1 && 1; var octal = opts[1].indexOf('o') != -1 && 1; if (decimal + hex + octal > 1) { return 'Invalid arguments'; } number = decimal && 'decimal' || hex && 'hex' || octal && 'octal'; } if (opts[2]) { pattern = new RegExp(opts[2].substr(1, opts[2].length - 2), ignoreCase ? 'i' : ''); } } } var err = parseArgs(); if (err) { showConfirm(cm, err + ': ' + params.argString); return; } var lineStart = params.line || cm.firstLine(); var lineEnd = params.lineEnd || params.line || cm.lastLine(); if (lineStart == lineEnd) { return; } var curStart = new Pos(lineStart, 0); var curEnd = new Pos(lineEnd, lineLength(cm, lineEnd)); var text = cm.getRange(curStart, curEnd).split('\n'); var numberRegex = pattern ? pattern : (number == 'decimal') ? /(-?)([\d]+)/ : (number == 'hex') ? /(-?)(?:0x)?([0-9a-f]+)/i : (number == 'octal') ? /([0-7]+)/ : null; var radix = (number == 'decimal') ? 10 : (number == 'hex') ? 16 : (number == 'octal') ? 8 : null; var numPart = [], textPart = []; if (number || pattern) { for (var i = 0; i < text.length; i++) { var matchPart = pattern ? text[i].match(pattern) : null; if (matchPart && matchPart[0] != '') { numPart.push(matchPart); } else if (!pattern && numberRegex.exec(text[i])) { numPart.push(text[i]); } else { textPart.push(text[i]); } } } else { textPart = text; } function compareFn(a, b) { if (reverse) { var tmp; tmp = a; a = b; b = tmp; } if (ignoreCase) { a = a.toLowerCase(); b = b.toLowerCase(); } var anum = number && numberRegex.exec(a); var bnum = number && numberRegex.exec(b); if (!anum) { return a < b ? -1 : 1; } anum = parseInt((anum[1] + anum[2]).toLowerCase(), radix); bnum = parseInt((bnum[1] + bnum[2]).toLowerCase(), radix); return anum - bnum; } function comparePatternFn(a, b) { if (reverse) { var tmp; tmp = a; a = b; b = tmp; } if (ignoreCase) { a[0] = a[0].toLowerCase(); b[0] = b[0].toLowerCase(); } return (a[0] < b[0]) ? -1 : 1; } numPart.sort(pattern ? comparePatternFn : compareFn); if (pattern) { for (var i = 0; i < numPart.length; i++) { numPart[i] = numPart[i].input; } } else if (!number) { textPart.sort(compareFn); } text = (!reverse) ? textPart.concat(numPart) : numPart.concat(textPart); if (unique) { // Remove duplicate lines var textOld = text; var lastLine; text = []; for (var i = 0; i < textOld.length; i++) { if (textOld[i] != lastLine) { text.push(textOld[i]); } lastLine = textOld[i]; } } cm.replaceRange(text.join('\n'), curStart, curEnd); }, vglobal: function(cm, params) { // global inspects params.commandName this.global(cm, params); }, normal: function(cm, params) { var argString = params.argString; if (argString && argString[0] == '!') { argString = argString.slice(1); noremap = true; } argString = argString.trimStart(); if (!argString) { showConfirm(cm, 'Argument is required.'); return; } var line = params.line; if (typeof line == 'number') { var lineEnd = isNaN(params.lineEnd) ? line : params.lineEnd; for (var i = line; i <= lineEnd; i++) { cm.setCursor(i, 0); doKeyToKey(cm, params.argString.trimStart()); if (cm.state.vim.insertMode) { exitInsertMode(cm, true); } } } else { doKeyToKey(cm, params.argString.trimStart()); if (cm.state.vim.insertMode) { exitInsertMode(cm, true); } } }, global: function(cm, params) { // a global command is of the form // :[range]g/pattern/[cmd] // argString holds the string /pattern/[cmd] var argString = params.argString; if (!argString) { showConfirm(cm, 'Regular Expression missing from global'); return; } var inverted = params.commandName[0] === 'v'; if (argString[0] === '!' && params.commandName[0] === 'g') { inverted = true; argString = argString.slice(1); } // range is specified here var lineStart = (params.line !== undefined) ? params.line : cm.firstLine(); var lineEnd = params.lineEnd || params.line || cm.lastLine(); // get the tokens from argString var tokens = splitBySlash(argString); var regexPart = argString, cmd; if (tokens.length) { regexPart = tokens[0]; cmd = tokens.slice(1, tokens.length).join('/'); } if (regexPart) { // If regex part is empty, then use the previous query. Otherwise // use the regex part as the new query. try { updateSearchQuery(cm, regexPart, true /** ignoreCase */, true /** smartCase */); } catch (e) { showConfirm(cm, 'Invalid regex: ' + regexPart); return; } } // now that we have the regexPart, search for regex matches in the // specified range of lines var query = getSearchState(cm).getQuery(); var matchedLines = []; for (var i = lineStart; i <= lineEnd; i++) { var line = cm.getLine(i); var matched = query.test(line); if (matched !== inverted) { matchedLines.push(cmd ? cm.getLineHandle(i) : line); } } // if there is no [cmd], just display the list of matched lines if (!cmd) { showConfirm(cm, matchedLines.join('\n')); return; } var index = 0; var nextCommand = function() { if (index < matchedLines.length) { var lineHandle = matchedLines[index++]; var lineNum = cm.getLineNumber(lineHandle); if (lineNum == null) { nextCommand(); return; } var command = (lineNum + 1) + cmd; exCommandDispatcher.processCommand(cm, command, { callback: nextCommand }); } else if (cm.releaseLineHandles) { cm.releaseLineHandles(); } }; nextCommand(); }, substitute: function(cm, params) { if (!cm.getSearchCursor) { throw new Error('Search feature not available. Requires searchcursor.js or ' + 'any other getSearchCursor implementation.'); } var argString = params.argString; var tokens = argString ? splitBySeparator(argString, argString[0]) : []; var regexPart, replacePart = '', trailing, flagsPart, count; var confirm = false; // Whether to confirm each replace. var global = false; // True to replace all instances on a line, false to replace only 1. if (tokens.length) { regexPart = tokens[0]; if (getOption('pcre') && regexPart !== '') { regexPart = new RegExp(regexPart).source; //normalize not escaped characters } replacePart = tokens[1]; if (replacePart !== undefined) { if (getOption('pcre')) { replacePart = unescapeRegexReplace(replacePart.replace(/([^\\])&/g,"$1$$&")); } else { replacePart = translateRegexReplace(replacePart); } vimGlobalState.lastSubstituteReplacePart = replacePart; } trailing = tokens[2] ? tokens[2].split(' ') : []; } else { // either the argString is empty or its of the form ' hello/world' // actually splitBySlash returns a list of tokens // only if the string starts with a '/' if (argString && argString.length) { showConfirm(cm, 'Substitutions should be of the form ' + ':s/pattern/replace/'); return; } } // After the 3rd slash, we can have flags followed by a space followed // by count. if (trailing) { flagsPart = trailing[0]; count = parseInt(trailing[1]); if (flagsPart) { if (flagsPart.indexOf('c') != -1) { confirm = true; } if (flagsPart.indexOf('g') != -1) { global = true; } if (getOption('pcre')) { regexPart = regexPart + '/' + flagsPart; } else { regexPart = regexPart.replace(/\//g, "\\/") + '/' + flagsPart; } } } if (regexPart) { // If regex part is empty, then use the previous query. Otherwise use // the regex part as the new query. try { updateSearchQuery(cm, regexPart, true /** ignoreCase */, true /** smartCase */); } catch (e) { showConfirm(cm, 'Invalid regex: ' + regexPart); return; } } replacePart = replacePart || vimGlobalState.lastSubstituteReplacePart; if (replacePart === undefined) { showConfirm(cm, 'No previous substitute regular expression'); return; } var state = getSearchState(cm); var query = state.getQuery(); var lineStart = (params.line !== undefined) ? params.line : cm.getCursor().line; var lineEnd = params.lineEnd || lineStart; if (lineStart == cm.firstLine() && lineEnd == cm.lastLine()) { lineEnd = Infinity; } if (count) { lineStart = lineEnd; lineEnd = lineStart + count - 1; } var startPos = clipCursorToContent(cm, new Pos(lineStart, 0)); var cursor = cm.getSearchCursor(query, startPos); doReplace(cm, confirm, global, lineStart, lineEnd, cursor, query, replacePart, params.callback); }, startinsert: function(cm, params) { doKeyToKey(cm, params.argString == '!' ? 'A' : 'i', {}); }, redo: CodeMirror.commands.redo, undo: CodeMirror.commands.undo, write: function(cm) { if (CodeMirror.commands.save) { // If a save command is defined, call it. CodeMirror.commands.save(cm); } else if (cm.save) { // Saves to text area if no save command is defined and cm.save() is available. cm.save(); } }, nohlsearch: function(cm) { clearSearchHighlight(cm); }, yank: function (cm) { var cur = copyCursor(cm.getCursor()); var line = cur.line; var lineText = cm.getLine(line); vimGlobalState.registerController.pushText( '0', 'yank', lineText, true, true); }, delete: function(cm, params) { var line = params.selectionLine; var lineEnd = isNaN(params.selectionLineEnd) ? line : params.selectionLineEnd; operators.delete(cm, {linewise: true}, [ { anchor: new Pos(line, 0), head: new Pos(lineEnd + 1, 0) } ]); }, join: function(cm, params) { var line = params.selectionLine; var lineEnd = isNaN(params.selectionLineEnd) ? line : params.selectionLineEnd; cm.setCursor(new Pos(line, 0)); actions.joinLines(cm, {repeat: lineEnd - line}, cm.state.vim); }, delmarks: function(cm, params) { if (!params.argString || !trim(params.argString)) { showConfirm(cm, 'Argument required'); return; } var state = cm.state.vim; var stream = new CodeMirror.StringStream(trim(params.argString)); while (!stream.eol()) { stream.eatSpace(); // Record the streams position at the beginning of the loop for use // in error messages. var count = stream.pos; if (!stream.match(/[a-zA-Z]/, false)) { showConfirm(cm, 'Invalid argument: ' + params.argString.substring(count)); return; } var sym = stream.next(); // Check if this symbol is part of a range if (stream.match('-', true)) { // This symbol is part of a range. // The range must terminate at an alphabetic character. if (!stream.match(/[a-zA-Z]/, false)) { showConfirm(cm, 'Invalid argument: ' + params.argString.substring(count)); return; } var startMark = sym; var finishMark = stream.next(); // The range must terminate at an alphabetic character which // shares the same case as the start of the range. if (isLowerCase(startMark) && isLowerCase(finishMark) || isUpperCase(startMark) && isUpperCase(finishMark)) { var start = startMark.charCodeAt(0); var finish = finishMark.charCodeAt(0); if (start >= finish) { showConfirm(cm, 'Invalid argument: ' + params.argString.substring(count)); return; } // Because marks are always ASCII values, and we have // determined that they are the same case, we can use // their char codes to iterate through the defined range. for (var j = 0; j <= finish - start; j++) { var mark = String.fromCharCode(start + j); delete state.marks[mark]; } } else { showConfirm(cm, 'Invalid argument: ' + startMark + '-'); return; } } else { // This symbol is a valid mark, and is not part of a range. delete state.marks[sym]; } } } }; var exCommandDispatcher = new ExCommandDispatcher(); /** * @param {CodeMirror} cm CodeMirror instance we are in. * @param {boolean} confirm Whether to confirm each replace. * @param {Cursor} lineStart Line to start replacing from. * @param {Cursor} lineEnd Line to stop replacing at. * @param {RegExp} query Query for performing matches with. * @param {string} replaceWith Text to replace matches with. May contain $1, * $2, etc for replacing captured groups using JavaScript replace. * @param {function()} callback A callback for when the replace is done. */ function doReplace(cm, confirm, global, lineStart, lineEnd, searchCursor, query, replaceWith, callback) { // Set up all the functions. cm.state.vim.exMode = true; var done = false; var lastPos, modifiedLineNumber, joined; function replaceAll() { cm.operation(function() { while (!done) { replace(); next(); } stop(); }); } function replace() { var text = cm.getRange(searchCursor.from(), searchCursor.to()); var newText = text.replace(query, replaceWith); var unmodifiedLineNumber = searchCursor.to().line; searchCursor.replace(newText); modifiedLineNumber = searchCursor.to().line; lineEnd += modifiedLineNumber - unmodifiedLineNumber; joined = modifiedLineNumber < unmodifiedLineNumber; } function findNextValidMatch() { var lastMatchTo = lastPos && copyCursor(searchCursor.to()); var match = searchCursor.findNext(); if (match && !match[0] && lastMatchTo && cursorEqual(searchCursor.from(), lastMatchTo)) { match = searchCursor.findNext(); } return match; } function next() { // The below only loops to skip over multiple occurrences on the same // line when 'global' is not true. while(findNextValidMatch() && isInRange(searchCursor.from(), lineStart, lineEnd)) { if (!global && searchCursor.from().line == modifiedLineNumber && !joined) { continue; } cm.scrollIntoView(searchCursor.from(), 30); cm.setSelection(searchCursor.from(), searchCursor.to()); lastPos = searchCursor.from(); done = false; return; } done = true; } function stop(close) { if (close) { close(); } cm.focus(); if (lastPos) { cm.setCursor(lastPos); var vim = cm.state.vim; vim.exMode = false; vim.lastHPos = vim.lastHSPos = lastPos.ch; } if (callback) { callback(); } } function onPromptKeyDown(e, _value, close) { // Swallow all keys. CodeMirror.e_stop(e); var keyName = vimKeyFromEvent(e); switch (keyName) { case 'y': replace(); next(); break; case 'n': next(); break; case 'a': // replaceAll contains a call to close of its own. We don't want it // to fire too early or multiple times. var savedCallback = callback; callback = undefined; cm.operation(replaceAll); callback = savedCallback; break; case 'l': replace(); // fall through and exit. case 'q': case '': case '': case '': stop(close); break; } if (done) { stop(close); } return true; } // Actually do replace. next(); if (done) { showConfirm(cm, 'No matches for ' + query.source); return; } if (!confirm) { replaceAll(); if (callback) { callback(); } return; } showPrompt(cm, { prefix: dom('span', 'replace with ', dom('strong', replaceWith), ' (y/n/a/q/l)'), onKeyDown: onPromptKeyDown }); } function exitInsertMode(cm, keepCursor) { var vim = cm.state.vim; var macroModeState = vimGlobalState.macroModeState; var insertModeChangeRegister = vimGlobalState.registerController.getRegister('.'); var isPlaying = macroModeState.isPlaying; var lastChange = macroModeState.lastInsertModeChanges; if (!isPlaying) { cm.off('change', onChange); if (vim.insertEnd) vim.insertEnd.clear(); vim.insertEnd = null; CodeMirror.off(cm.getInputField(), 'keydown', onKeyEventTargetKeyDown); } if (!isPlaying && vim.insertModeRepeat > 1) { // Perform insert mode repeat for commands like 3,a and 3,o. repeatLastEdit(cm, vim, vim.insertModeRepeat - 1, true /** repeatForInsert */); vim.lastEditInputState.repeatOverride = vim.insertModeRepeat; } delete vim.insertModeRepeat; vim.insertMode = false; if (!keepCursor) { cm.setCursor(cm.getCursor().line, cm.getCursor().ch-1); } cm.setOption('keyMap', 'vim'); cm.setOption('disableInput', true); cm.toggleOverwrite(false); // exit replace mode if we were in it. // update the ". register before exiting insert mode insertModeChangeRegister.setText(lastChange.changes.join('')); CodeMirror.signal(cm, "vim-mode-change", {mode: "normal"}); if (macroModeState.isRecording) { logInsertModeChange(macroModeState); } } function _mapCommand(command) { defaultKeymap.unshift(command); } function mapCommand(keys, type, name, args, extra) { var command = {keys: keys, type: type}; command[type] = name; command[type + "Args"] = args; for (var key in extra) command[key] = extra[key]; _mapCommand(command); } // The timeout in milliseconds for the two-character ESC keymap should be // adjusted according to your typing speed to prevent false positives. defineOption('insertModeEscKeysTimeout', 200, 'number'); function executeMacroRegister(cm, vim, macroModeState, registerName) { var register = vimGlobalState.registerController.getRegister(registerName); if (registerName == ':') { // Read-only register containing last Ex command. if (register.keyBuffer[0]) { exCommandDispatcher.processCommand(cm, register.keyBuffer[0]); } macroModeState.isPlaying = false; return; } var keyBuffer = register.keyBuffer; var imc = 0; macroModeState.isPlaying = true; macroModeState.replaySearchQueries = register.searchQueries.slice(0); for (var i = 0; i < keyBuffer.length; i++) { var text = keyBuffer[i]; var match, key; while (text) { // Pull off one command key, which is either a single character // or a special sequence wrapped in '<' and '>', e.g. ''. match = (/<\w+-.+?>|<\w+>|./).exec(text); key = match[0]; text = text.substring(match.index + key.length); vimApi.handleKey(cm, key, 'macro'); if (vim.insertMode) { var changes = register.insertModeChanges[imc++].changes; vimGlobalState.macroModeState.lastInsertModeChanges.changes = changes; repeatInsertModeChanges(cm, changes, 1); exitInsertMode(cm); } } } macroModeState.isPlaying = false; } function logKey(macroModeState, key) { if (macroModeState.isPlaying) { return; } var registerName = macroModeState.latestRegister; var register = vimGlobalState.registerController.getRegister(registerName); if (register) { register.pushText(key); } } function logInsertModeChange(macroModeState) { if (macroModeState.isPlaying) { return; } var registerName = macroModeState.latestRegister; var register = vimGlobalState.registerController.getRegister(registerName); if (register && register.pushInsertModeChanges) { register.pushInsertModeChanges(macroModeState.lastInsertModeChanges); } } function logSearchQuery(macroModeState, query) { if (macroModeState.isPlaying) { return; } var registerName = macroModeState.latestRegister; var register = vimGlobalState.registerController.getRegister(registerName); if (register && register.pushSearchQuery) { register.pushSearchQuery(query); } } /** * Listens for changes made in insert mode. * Should only be active in insert mode. */ function onChange(cm, changeObj) { var macroModeState = vimGlobalState.macroModeState; var lastChange = macroModeState.lastInsertModeChanges; if (!macroModeState.isPlaying) { var vim = cm.state.vim; while(changeObj) { lastChange.expectCursorActivityForChange = true; if (lastChange.ignoreCount > 1) { lastChange.ignoreCount--; } else if (changeObj.origin == '+input' || changeObj.origin == 'paste' || changeObj.origin === undefined /* only in testing */) { var selectionCount = cm.listSelections().length; if (selectionCount > 1) lastChange.ignoreCount = selectionCount; var text = changeObj.text.join('\n'); if (lastChange.maybeReset) { lastChange.changes = []; lastChange.maybeReset = false; } if (text) { if (cm.state.overwrite && !/\n/.test(text)) { lastChange.changes.push([text]); } else { if (text.length > 1) { var insertEnd = vim && vim.insertEnd && vim.insertEnd.find() var cursor = cm.getCursor(); if (insertEnd && insertEnd.line == cursor.line) { var offset = insertEnd.ch - cursor.ch; if (offset > 0 && offset < text.length) { lastChange.changes.push([text, offset]); text = ''; } } } if (text) lastChange.changes.push(text); } } } // Change objects may be chained with next. changeObj = changeObj.next; } } } /** * Listens for any kind of cursor activity on CodeMirror. */ function onCursorActivity(cm) { var vim = cm.state.vim; if (vim.insertMode) { // Tracking cursor activity in insert mode (for macro support). var macroModeState = vimGlobalState.macroModeState; if (macroModeState.isPlaying) { return; } var lastChange = macroModeState.lastInsertModeChanges; if (lastChange.expectCursorActivityForChange) { lastChange.expectCursorActivityForChange = false; } else { // Cursor moved outside the context of an edit. Reset the change. lastChange.maybeReset = true; if (vim.insertEnd) vim.insertEnd.clear(); vim.insertEnd = cm.setBookmark(cm.getCursor(), {insertLeft: true}); } } else if (!cm.curOp.isVimOp) { handleExternalSelection(cm, vim); } } // Bind CodeMirror selection model to vim selection model. // Mouse selections are considered visual characterwise. function translateCursorToVim(cursor) { let anchor = cursor.anchor; let head = cursor.head; let headOffset = !cursorIsBefore(head, anchor) ? -1 : 0; let anchorOffset = cursorIsBefore(head, anchor) ? -1 : 0; head = offsetCursor(head, 0, headOffset); anchor = offsetCursor(anchor, 0, anchorOffset); return { anchor, head, } } function handleExternalSelection(cm, vim) { var anchor = cm.getCursor('anchor'); var head = cm.getCursor('head'); // Enter or exit visual mode to match mouse selection. if (vim.visualMode && !cm.somethingSelected()) { exitVisualMode(cm, false); } else if (!vim.visualMode && !vim.insertMode && cm.somethingSelected()) { vim.visualMode = true; vim.visualLine = false; CodeMirror.signal(cm, "vim-mode-change", {mode: "visual"}); } if (vim.visualMode) { vim.sel = translateCursorToVim({ anchor, head }); updateMark(cm, vim, '<', cursorMin(head, anchor)); updateMark(cm, vim, '>', cursorMax(head, anchor)); } else if (!vim.insertMode) { // Reset lastHPos if selection was modified by something outside of vim mode e.g. by mouse. vim.lastHPos = cm.getCursor().ch; } } /** Wrapper for special keys pressed in insert mode */ function InsertModeKey(keyName, e) { this.keyName = keyName; this.key = e.key; this.ctrlKey = e.ctrlKey; this.altKey = e.altKey; this.metaKey = e.metaKey; this.shiftKey = e.shiftKey; } /** * Handles raw key down events from the text area. * - Should only be active in insert mode. * - For recording deletes in insert mode. */ function onKeyEventTargetKeyDown(e) { var macroModeState = vimGlobalState.macroModeState; var lastChange = macroModeState.lastInsertModeChanges; var keyName = CodeMirror.keyName ? CodeMirror.keyName(e) : e.key; if (!keyName) { return; } function onKeyFound() { if (lastChange.maybeReset) { lastChange.changes = []; lastChange.maybeReset = false; } lastChange.changes.push(new InsertModeKey(keyName, e)); } } /** * Repeats the last edit, which includes exactly 1 command and at most 1 * insert. Operator and motion commands are read from lastEditInputState, * while action commands are read from lastEditActionCommand. * * If repeatForInsert is true, then the function was called by * exitInsertMode to repeat the insert mode changes the user just made. The * corresponding enterInsertMode call was made with a count. */ function repeatLastEdit(cm, vim, repeat, repeatForInsert) { var macroModeState = vimGlobalState.macroModeState; macroModeState.isPlaying = true; var isAction = !!vim.lastEditActionCommand; var cachedInputState = vim.inputState; function repeatCommand() { if (isAction) { commandDispatcher.processAction(cm, vim, vim.lastEditActionCommand); } else { commandDispatcher.evalInput(cm, vim); } } function repeatInsert(repeat) { if (macroModeState.lastInsertModeChanges.changes.length > 0) { // For some reason, repeat cw in desktop VIM does not repeat // insert mode changes. Will conform to that behavior. repeat = !vim.lastEditActionCommand ? 1 : repeat; var changeObject = macroModeState.lastInsertModeChanges; repeatInsertModeChanges(cm, changeObject.changes, repeat); } } vim.inputState = vim.lastEditInputState; if (isAction && vim.lastEditActionCommand.interlaceInsertRepeat) { // o and O repeat have to be interlaced with insert repeats so that the // insertions appear on separate lines instead of the last line. for (var i = 0; i < repeat; i++) { repeatCommand(); repeatInsert(1); } } else { if (!repeatForInsert) { // Hack to get the cursor to end up at the right place. If I is // repeated in insert mode repeat, cursor will be 1 insert // change set left of where it should be. repeatCommand(); } repeatInsert(repeat); } vim.inputState = cachedInputState; if (vim.insertMode && !repeatForInsert) { // Don't exit insert mode twice. If repeatForInsert is set, then we // were called by an exitInsertMode call lower on the stack. exitInsertMode(cm); } macroModeState.isPlaying = false; } function sendCmKey(cm, key) { CodeMirror.lookupKey(key, 'vim-insert', function keyHandler(binding) { if (typeof binding == 'string') { CodeMirror.commands[binding](cm); } else { binding(cm); } return true; }); } function repeatInsertModeChanges(cm, changes, repeat) { function keyHandler(binding) { if (typeof binding == 'string') { CodeMirror.commands[binding](cm); } else { binding(cm); } return true; } var head = cm.getCursor('head'); var visualBlock = vimGlobalState.macroModeState.lastInsertModeChanges.visualBlock; if (visualBlock) { // Set up block selection again for repeating the changes. selectForInsert(cm, head, visualBlock + 1); repeat = cm.listSelections().length; cm.setCursor(head); } for (var i = 0; i < repeat; i++) { if (visualBlock) { cm.setCursor(offsetCursor(head, i, 0)); } for (var j = 0; j < changes.length; j++) { var change = changes[j]; if (change instanceof InsertModeKey) { sendCmKey(cm, change.keyName, change); } else if (typeof change == "string") { cm.replaceSelection(change); } else { var start = cm.getCursor(); var end = offsetCursor(start, 0, change[0].length - (change[1] || 0)); cm.replaceRange(change[0], start, change[1] ? start: end); cm.setCursor(end); } } } if (visualBlock) { cm.setCursor(offsetCursor(head, 0, 1)); } } // multiselect support function cloneVimState(state) { var n = new state.constructor(); Object.keys(state).forEach(function(key) { if (key == "insertEnd") return; var o = state[key]; if (Array.isArray(o)) o = o.slice(); else if (o && typeof o == "object" && o.constructor != Object) o = cloneVimState(o); n[key] = o; }); if (state.sel) { n.sel = { head: state.sel.head && copyCursor(state.sel.head), anchor: state.sel.anchor && copyCursor(state.sel.anchor) }; } return n; } function multiSelectHandleKey(cm, key, origin) { var isHandled = false; var vim = vimApi.maybeInitVimState_(cm); var visualBlock = vim.visualBlock || vim.wasInVisualBlock; if (cm.state.closeVimNotification) { var close = cm.state.closeVimNotification; cm.state.closeVimNotification = null; close(); if (key == '') { clearInputState(cm); return true; } } var wasMultiselect = cm.isInMultiSelectMode(); if (vim.wasInVisualBlock && !wasMultiselect) { vim.wasInVisualBlock = false; } else if (wasMultiselect && vim.visualBlock) { vim.wasInVisualBlock = true; } if (key == '' && !vim.insertMode && !vim.visualMode && wasMultiselect && vim.status == "") { // allow editor to exit multiselect clearInputState(cm); } else if (visualBlock || !wasMultiselect || cm.inVirtualSelectionMode) { isHandled = vimApi.handleKey(cm, key, origin); } else { var old = cloneVimState(vim); var changeQueueList = vim.inputState.changeQueueList || []; cm.operation(function() { cm.curOp.isVimOp = true; var index = 0; cm.forEachSelection(function() { cm.state.vim.inputState.changeQueue = changeQueueList[index]; var head = cm.getCursor("head"); var anchor = cm.getCursor("anchor"); cm.state.vim.sel = translateCursorToVim({ head, anchor }); isHandled = vimApi.handleKey(cm, key, origin); if (cm.virtualSelection) { changeQueueList[index] = cm.state.vim.inputState.changeQueue; cm.state.vim = cloneVimState(old); } index++; }); if (cm.curOp.cursorActivity && !isHandled) cm.curOp.cursorActivity = false; cm.state.vim = vim vim.inputState.changeQueueList = changeQueueList vim.inputState.changeQueue = null; }, true); } // some commands may bring visualMode and selection out of sync if (isHandled && !vim.visualMode && !vim.insert && vim.visualMode != cm.somethingSelected()) { handleExternalSelection(cm, vim, true); } return isHandled; } resetVimGlobalState(); // Initialize Vim and make it available as an API. return vimApi; } CodeMirror.Vim = initVimMode(CodeMirror); !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).i18next=t()}(this,function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function n(e){for(var n=1;n1&&void 0!==arguments[1]?arguments[1]:{};o(this,e),this.init(t,n)}return r(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||p,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n1?t-1:0),o=1;o-1?e.replace(/###/g,"."):e}function i(){return!e||"string"==typeof e}for(var r="string"!=typeof t?[].concat(t):t.split(".");r.length>1;){if(i())return{};var a=o(r.shift());!e[a]&&n&&(e[a]=new n),e=e[a]}return i()?{}:{obj:e,k:o(r.shift())}}function y(e,t,n){var o=v(e,t,Object);o.obj[o.k]=n}function m(e,t){var n=v(e,t),o=n.obj,i=n.k;if(o)return o[i]}function b(e,t,n){var o=m(e,n);return void 0!==o?o:m(t,n)}function k(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var x={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function w(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,function(e){return x[e]}):e}var S="undefined"!=typeof window&&window.navigator&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,L=function(e){function t(e){var n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return o(this,t),n=s(this,u(t).call(this)),S&&f.call(a(n)),n.data=e||{},n.options=i,void 0===n.options.keySeparator&&(n.options.keySeparator="."),n}return c(t,f),r(t,[{key:"addNamespaces",value:function(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,r=[e,t];return n&&"string"!=typeof n&&(r=r.concat(n)),n&&"string"==typeof n&&(r=r.concat(i?n.split(i):n)),e.indexOf(".")>-1&&(r=e.split(".")),m(this.data,r)}},{key:"addResource",value:function(e,t,n,o){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},r=this.options.keySeparator;void 0===r&&(r=".");var a=[e,t];n&&(a=a.concat(r?n.split(r):n)),e.indexOf(".")>-1&&(o=t,t=(a=e.split("."))[1]),this.addNamespaces(t),y(this.data,a,o),i.silent||this.emit("added",e,t,n,o)}},{key:"addResources",value:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var i in n)"string"!=typeof n[i]&&"[object Array]"!==Object.prototype.toString.apply(n[i])||this.addResource(e,t,i,n[i],{silent:!0});o.silent||this.emit("added",e,t,n)}},{key:"addResourceBundle",value:function(e,t,o,i,r){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},s=[e,t];e.indexOf(".")>-1&&(i=o,o=t,t=(s=e.split("."))[1]),this.addNamespaces(t);var u=m(this.data,s)||{};i?function e(t,n,o){for(var i in n)"__proto__"!==i&&(i in t?"string"==typeof t[i]||t[i]instanceof String||"string"==typeof n[i]||n[i]instanceof String?o&&(t[i]=n[i]):e(t[i],n[i],o):t[i]=n[i]);return t}(u,o,r):u=n({},u,o),y(this.data,s,u),a.silent||this.emit("added",e,t,o)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?n({},{},this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"toJSON",value:function(){return this.data}}]),t}(),O={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,n,o,i){var r=this;return e.forEach(function(e){r.processors[e]&&(t=r.processors[e].process(t,n,o,i))}),t}},R={},C=function(t){function i(e){var t,n,r,l,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o(this,i),t=s(this,u(i).call(this)),S&&f.call(a(t)),n=["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r=e,l=a(t),n.forEach(function(e){r[e]&&(l[e]=r[e])}),t.options=c,void 0===t.options.keySeparator&&(t.options.keySeparator="."),t.logger=g.create("translator"),t}return c(i,f),r(i,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},n=this.resolve(e,t);return n&&void 0!==n.res}},{key:"extractFromKey",value:function(e,t){var n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");var o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,i=t.ns||this.options.defaultNS;if(n&&e.indexOf(n)>-1){var r=e.match(this.interpolator.nestingRegexp);if(r&&r.length>0)return{key:e,namespaces:i};var a=e.split(n);(n!==o||n===o&&this.options.ns.indexOf(a[0])>-1)&&(i=a.shift()),e=a.join(o)}return"string"==typeof i&&(i=[i]),{key:e,namespaces:i}}},{key:"translate",value:function(t,o,i){var r=this;if("object"!==e(o)&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),o||(o={}),null==t)return"";Array.isArray(t)||(t=[String(t)]);var a=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,s=this.extractFromKey(t[t.length-1],o),u=s.key,l=s.namespaces,c=l[l.length-1],p=o.lng||this.language,g=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(p&&"cimode"===p.toLowerCase()){if(g){var f=o.nsSeparator||this.options.nsSeparator;return c+f+u}return u}var h=this.resolve(t,o),d=h&&h.res,v=h&&h.usedKey||u,y=h&&h.exactUsedKey||u,m=Object.prototype.toString.apply(d),b=void 0!==o.joinArrays?o.joinArrays:this.options.joinArrays,k=!this.i18nFormat||this.i18nFormat.handleAsObject;if(k&&d&&("string"!=typeof d&&"boolean"!=typeof d&&"number"!=typeof d)&&["[object Number]","[object Function]","[object RegExp]"].indexOf(m)<0&&("string"!=typeof b||"[object Array]"!==m)){if(!o.returnObjects&&!this.options.returnObjects)return this.logger.warn("accessing an object - but returnObjects options is not enabled!"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(v,d,o):"key '".concat(u," (").concat(this.language,")' returned an object instead of string.");if(a){var x="[object Array]"===m,w=x?[]:{},S=x?y:v;for(var L in d)if(Object.prototype.hasOwnProperty.call(d,L)){var O="".concat(S).concat(a).concat(L);w[L]=this.translate(O,n({},o,{joinArrays:!1,ns:l})),w[L]===O&&(w[L]=d[L])}d=w}}else if(k&&"string"==typeof b&&"[object Array]"===m)(d=d.join(b))&&(d=this.extendTranslation(d,t,o,i));else{var R=!1,C=!1;if(!this.isValidLookup(d)&&void 0!==o.defaultValue){if(R=!0,void 0!==o.count){var N=this.pluralResolver.getSuffix(p,o.count);d=o["defaultValue".concat(N)]}d||(d=o.defaultValue)}this.isValidLookup(d)||(C=!0,d=u);var j=o.defaultValue&&o.defaultValue!==d&&this.options.updateMissing;if(C||R||j){if(this.logger.log(j?"updateKey":"missingKey",p,c,u,j?o.defaultValue:d),a){var E=this.resolve(u,n({},o,{keySeparator:!1}));E&&E.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var P=[],F=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if("fallback"===this.options.saveMissingTo&&F&&F[0])for(var V=0;V1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach(function(e){if(!a.isValidLookup(t)){var u=a.extractFromKey(e,s),l=u.key;n=l;var c=u.namespaces;a.options.fallbackNS&&(c=c.concat(a.options.fallbackNS));var p=void 0!==s.count&&"string"!=typeof s.count,g=void 0!==s.context&&"string"==typeof s.context&&""!==s.context,f=s.lngs?s.lngs:a.languageUtils.toResolveHierarchy(s.lng||a.language,s.fallbackLng);c.forEach(function(e){a.isValidLookup(t)||(r=e,!R["".concat(f[0],"-").concat(e)]&&a.utils&&a.utils.hasLoadedNamespace&&!a.utils.hasLoadedNamespace(r)&&(R["".concat(f[0],"-").concat(e)]=!0,a.logger.warn('key "'.concat(n,'" for languages "').concat(f.join(", "),'" won\'t get resolved as namespace "').concat(r,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),f.forEach(function(n){if(!a.isValidLookup(t)){i=n;var r,u,c=l,f=[c];if(a.i18nFormat&&a.i18nFormat.addLookupKeys)a.i18nFormat.addLookupKeys(f,l,n,e,s);else p&&(r=a.pluralResolver.getSuffix(n,s.count)),p&&g&&f.push(c+r),g&&f.push(c+="".concat(a.options.contextSeparator).concat(s.context)),p&&f.push(c+=r);for(;u=f.pop();)a.isValidLookup(t)||(o=u,t=a.getResource(n,e,u,s))}}))})}}),{res:t,usedKey:n,exactUsedKey:o,usedLng:i,usedNS:r}}},{key:"isValidLookup",value:function(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,o):this.resourceStore.getResource(e,t,n,o)}}]),i}();function N(e){return e.charAt(0).toUpperCase()+e.slice(1)}var j=function(){function e(t){o(this,e),this.options=t,this.whitelist=this.options.supportedLngs||!1,this.supportedLngs=this.options.supportedLngs||!1,this.logger=g.create("languageUtils")}return r(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return null;var t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],n=e.split("-");return this.options.lowerCaseLng?n=n.map(function(e){return e.toLowerCase()}):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=N(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=N(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=N(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isWhitelisted",value:function(e){return this.logger.deprecate("languageUtils.isWhitelisted",'function "isWhitelisted" will be renamed to "isSupportedCode" in the next major - please make sure to rename it\'s usage asap.'),this.isSupportedCode(e)}},{key:"isSupportedCode",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}},{key:"getBestMatchFromCodes",value:function(e){var t,n=this;return e?(e.forEach(function(e){if(!t){var o=n.formatLanguageCode(e);n.options.supportedLngs&&!n.isSupportedCode(o)||(t=o)}}),!t&&this.options.supportedLngs&&e.forEach(function(e){if(!t){var o=n.getLanguagePartFromCode(e);if(n.isSupportedCode(o))return t=o;t=n.options.supportedLngs.find(function(e){if(0===e.indexOf(o))return e})}}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}},{key:"toResolveHierarchy",value:function(e,t){var n=this,o=this.getFallbackCodes(t||this.options.fallbackLng||[],e),i=[],r=function(e){e&&(n.isSupportedCode(e)?i.push(e):n.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&r(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&r(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&r(this.getLanguagePartFromCode(e))):"string"==typeof e&&r(this.formatLanguageCode(e)),o.forEach(function(e){i.indexOf(e)<0&&r(n.formatLanguageCode(e))}),i}}]),e}(),E=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","kk","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],P={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}};var F=function(){function e(t){var n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o(this,e),this.languageUtils=t,this.options=i,this.logger=g.create("pluralResolver"),this.rules=(n={},E.forEach(function(e){e.lngs.forEach(function(t){n[t]={numbers:e.nr,plurals:P[e.fc]}})}),n)}return r(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=this.getRule(e);return t&&t.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){var n=this,o=[],i=this.getRule(e);return i?(i.numbers.forEach(function(i){var r=n.getSuffix(e,i);o.push("".concat(t).concat(r))}),o):o}},{key:"getSuffix",value:function(e,t){var n=this,o=this.getRule(e);if(o){var i=o.noAbs?o.plurals(t):o.plurals(Math.abs(t)),r=o.numbers[i];this.options.simplifyPluralSuffix&&2===o.numbers.length&&1===o.numbers[0]&&(2===r?r="plural":1===r&&(r=""));var a=function(){return n.options.prepend&&r.toString()?n.options.prepend+r.toString():r.toString()};return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?"_plural_".concat(r.toString()):a():"v2"===this.options.compatibilityJSON?a():this.options.simplifyPluralSuffix&&2===o.numbers.length&&1===o.numbers[0]?a():this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}return this.logger.warn("no plural rule found for: ".concat(e)),""}}]),e}(),V=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o(this,e),this.logger=g.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return r(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:w,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?k(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?k(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?k(t.nestingPrefix):t.nestingPrefixEscaped||k("$t("),this.nestingSuffix=t.nestingSuffix?k(t.nestingSuffix):t.nestingSuffixEscaped||k(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(t,"g");var n="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(n,"g")}},{key:"interpolate",value:function(e,t,n,o){var i,r,a,s=this,u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}var c=function(e){if(e.indexOf(s.formatSeparator)<0){var i=b(t,u,e);return s.alwaysFormat?s.format(i,void 0,n):i}var r=e.split(s.formatSeparator),a=r.shift().trim(),l=r.join(s.formatSeparator).trim();return s.format(b(t,u,a),l,n,o)};this.resetRegExp();var p=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,g=o&&o.interpolation&&o.interpolation.skipOnVariables||this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(e){return l(e)}},{regex:this.regexp,safeValue:function(e){return s.escapeValue?l(s.escape(e)):l(e)}}].forEach(function(t){for(a=0;i=t.regex.exec(e);){if(void 0===(r=c(i[1].trim())))if("function"==typeof p){var n=p(e,i,o);r="string"==typeof n?n:""}else{if(g){r=i[0];continue}s.logger.warn("missed to pass in variable ".concat(i[1]," for interpolating ").concat(e)),r=""}else"string"==typeof r||s.useRawValueToEscape||(r=d(r));if(e=e.replace(i[0],t.safeValue(r)),t.regex.lastIndex=0,++a>=s.maxReplaces)break}}),e}},{key:"nest",value:function(e,t){var o,i,r=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=n({},a);function u(e,t){var o=this.nestingOptionsSeparator;if(e.indexOf(o)<0)return e;var i=e.split(new RegExp("".concat(o,"[ ]*{"))),r="{".concat(i[1]);e=i[0],r=(r=this.interpolate(r,s)).replace(/'/g,'"');try{s=JSON.parse(r),t&&(s=n({},t,s))}catch(t){return this.logger.warn("failed parsing options string in nesting for key ".concat(e),t),"".concat(e).concat(o).concat(r)}return delete s.defaultValue,e}for(s.applyPostProcessor=!1,delete s.defaultValue;o=this.nestingRegexp.exec(e);){var l=[],c=!1;if(o[0].includes(this.formatSeparator)&&!/{.*}/.test(o[1])){var p=o[1].split(this.formatSeparator).map(function(e){return e.trim()});o[1]=p.shift(),l=p,c=!0}if((i=t(u.call(this,o[1].trim(),s),s))&&o[0]===e&&"string"!=typeof i)return i;"string"!=typeof i&&(i=d(i)),i||(this.logger.warn("missed to resolve ".concat(o[1]," for nesting ").concat(e)),i=""),c&&(i=l.reduce(function(e,t){return r.format(e,t,a.lng,a)},i.trim())),e=e.replace(o[0],i),this.regexp.lastIndex=0}return e}}]),e}();var T=function(e){function t(e,n,i){var r,l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return o(this,t),r=s(this,u(t).call(this)),S&&f.call(a(r)),r.backend=e,r.store=n,r.services=i,r.languageUtils=i.languageUtils,r.options=l,r.logger=g.create("backendConnector"),r.state={},r.queue=[],r.backend&&r.backend.init&&r.backend.init(i,l.backend,l),r}return c(t,f),r(t,[{key:"queueLoad",value:function(e,t,n,o){var i=this,r=[],a=[],s=[],u=[];return e.forEach(function(e){var o=!0;t.forEach(function(t){var s="".concat(e,"|").concat(t);!n.reload&&i.store.hasResourceBundle(e,t)?i.state[s]=2:i.state[s]<0||(1===i.state[s]?a.indexOf(s)<0&&a.push(s):(i.state[s]=1,o=!1,a.indexOf(s)<0&&a.push(s),r.indexOf(s)<0&&r.push(s),u.indexOf(t)<0&&u.push(t)))}),o||s.push(e)}),(r.length||a.length)&&this.queue.push({pending:a,loaded:{},errors:[],callback:o}),{toLoad:r,pending:a,toLoadLanguages:s,toLoadNamespaces:u}}},{key:"loaded",value:function(e,t,n){var o=e.split("|"),i=o[0],r=o[1];t&&this.emit("failedLoading",i,r,t),n&&this.store.addResourceBundle(i,r,n),this.state[e]=t?-1:2;var a={};this.queue.forEach(function(n){var o,s,u,l,c,p;o=n.loaded,s=r,l=v(o,[i],Object),c=l.obj,p=l.k,c[p]=c[p]||[],u&&(c[p]=c[p].concat(s)),u||c[p].push(s),function(e,t){for(var n=e.indexOf(t);-1!==n;)e.splice(n,1),n=e.indexOf(t)}(n.pending,e),t&&n.errors.push(t),0!==n.pending.length||n.done||(Object.keys(n.loaded).forEach(function(e){a[e]||(a[e]=[]),n.loaded[e].length&&n.loaded[e].forEach(function(t){a[e].indexOf(t)<0&&a[e].push(t)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(function(e){return!e.done})}},{key:"read",value:function(e,t,n){var o=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:350,a=arguments.length>5?arguments[5]:void 0;return e.length?this.backend[n](e,t,function(s,u){s&&u&&i<5?setTimeout(function(){o.read.call(o,e,t,n,i+1,2*r,a)},r):a(s,u)}):a(null,{})}},{key:"prepareLoading",value:function(e,t){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var r=this.queueLoad(e,t,o,i);if(!r.toLoad.length)return r.pending.length||i(),null;r.toLoad.forEach(function(e){n.loadOne(e)})}},{key:"load",value:function(e,t,n){this.prepareLoading(e,t,{},n)}},{key:"reload",value:function(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}},{key:"loadOne",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=e.split("|"),i=o[0],r=o[1];this.read(i,r,"read",void 0,void 0,function(o,a){o&&t.logger.warn("".concat(n,"loading namespace ").concat(r," for language ").concat(i," failed"),o),!o&&a&&t.logger.log("".concat(n,"loaded namespace ").concat(r," for language ").concat(i),a),t.loaded(e,o,a)})}},{key:"saveMissing",value:function(e,t,o,i,r){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t)?this.logger.warn('did not save key "'.concat(o,'" as the namespace "').concat(t,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!"):null!=o&&""!==o&&(this.backend&&this.backend.create&&this.backend.create(e,t,o,i,null,n({},a,{isUpdate:r})),e&&e[0]&&this.store.addResource(e[0],t,o,i))}}]),t}();function A(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.whitelist&&(e.whitelist&&e.whitelist.indexOf("cimode")<0&&(e.whitelist=e.whitelist.concat(["cimode"])),e.supportedLngs=e.whitelist),e.nonExplicitWhitelist&&(e.nonExplicitSupportedLngs=e.nonExplicitWhitelist),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function U(){}return new(function(t){function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(o(this,i),e=s(this,u(i).call(this)),S&&f.call(a(e)),e.options=A(t),e.services={},e.logger=g,e.modules={external:[]},n&&!e.isInitialized&&!t.isClone){if(!e.options.initImmediate)return e.init(t,n),s(e,a(e));setTimeout(function(){e.init(t,n)},0)}return e}return c(i,f),r(i,[{key:"init",value:function(){var t=this,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;function r(e){return e?"function"==typeof e?new e:e:null}if("function"==typeof o&&(i=o,o={}),o.whitelist&&!o.supportedLngs&&this.logger.deprecate("whitelist",'option "whitelist" will be renamed to "supportedLngs" in the next major - please make sure to rename this option asap.'),o.nonExplicitWhitelist&&!o.nonExplicitSupportedLngs&&this.logger.deprecate("whitelist",'options "nonExplicitWhitelist" will be renamed to "nonExplicitSupportedLngs" in the next major - please make sure to rename this option asap.'),this.options=n({},{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,whitelist:!1,nonExplicitWhitelist:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){var n={};if("object"===e(t[1])&&(n=t[1]),"string"==typeof t[1]&&(n.defaultValue=t[1]),"string"==typeof t[2]&&(n.tDescription=t[2]),"object"===e(t[2])||"object"===e(t[3])){var o=t[3]||t[2];Object.keys(o).forEach(function(e){n[e]=o[e]})}return n},interpolation:{escapeValue:!0,format:function(e,t,n,o){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!1}},this.options,A(o)),this.format=this.options.interpolation.format,i||(i=U),!this.options.isClone){this.modules.logger?g.init(r(this.modules.logger),this.options):g.init(null,this.options);var a=new j(this.options);this.store=new L(this.options.resources,this.options);var s=this.services;s.logger=g,s.resourceStore=this.store,s.languageUtils=a,s.pluralResolver=new F(a,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),s.interpolator=new V(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new T(r(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",function(e){for(var n=arguments.length,o=new Array(n>1?n-1:0),i=1;i1?n-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:U,o="string"==typeof e?e:this.language;if("function"==typeof e&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(o&&"cimode"===o.toLowerCase())return n();var i=[],r=function(e){e&&t.services.languageUtils.toResolveHierarchy(e).forEach(function(e){i.indexOf(e)<0&&i.push(e)})};if(o)r(o);else this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(function(e){return r(e)});this.options.preload&&this.options.preload.forEach(function(e){return r(e)}),this.services.backendConnector.load(i,this.options.ns,n)}else n(null)}},{key:"reloadResources",value:function(e,t,n){var o=h();return e||(e=this.languages),t||(t=this.options.ns),n||(n=U),this.services.backendConnector.reload(e,t,function(e){o.resolve(),n(e)}),o}},{key:"use",value:function(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&O.addPostProcessor(e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"changeLanguage",value:function(e,t){var n=this;this.isLanguageChangingTo=e;var o=h();this.emit("languageChanging",e);var i=function(e){var i="string"==typeof e?e:n.services.languageUtils.getBestMatchFromCodes(e);i&&(n.language||(n.language=i,n.languages=n.services.languageUtils.toResolveHierarchy(i)),n.translator.language||n.translator.changeLanguage(i),n.services.languageDetector&&n.services.languageDetector.cacheUserLanguage(i)),n.loadResources(i,function(e){!function(e,i){i?(n.language=i,n.languages=n.services.languageUtils.toResolveHierarchy(i),n.translator.changeLanguage(i),n.isLanguageChangingTo=void 0,n.emit("languageChanged",i),n.logger.log("languageChanged",i)):n.isLanguageChangingTo=void 0,o.resolve(function(){return n.t.apply(n,arguments)}),t&&t(e,function(){return n.t.apply(n,arguments)})}(e,i)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(i):i(e):i(this.services.languageDetector.detect()),o}},{key:"getFixedT",value:function(t,o){var i=this,r=function t(o,r){var a;if("object"!==e(r)){for(var s=arguments.length,u=new Array(s>2?s-2:0),l=2;l1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var o=this.languages[0],i=!!this.options&&this.options.fallbackLng,r=this.languages[this.languages.length-1];if("cimode"===o.toLowerCase())return!0;var a=function(e,n){var o=t.services.backendConnector.state["".concat(e,"|").concat(n)];return-1===o||2===o};if(n.precheck){var s=n.precheck(this,a);if(void 0!==s)return s}return!!this.hasResourceBundle(o,e)||(!this.services.backendConnector.backend||!(!a(o,e)||i&&!a(r,e)))}},{key:"loadNamespaces",value:function(e,t){var n=this,o=h();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach(function(e){n.options.ns.indexOf(e)<0&&n.options.ns.push(e)}),this.loadResources(function(e){o.resolve(),t&&t(e)}),o):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var n=h();"string"==typeof e&&(e=[e]);var o=this.options.preload||[],i=e.filter(function(e){return o.indexOf(e)<0});return i.length?(this.options.preload=o.concat(i),this.loadResources(function(e){n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){if(e||(e=this.languages&&this.languages.length>0?this.languages[0]:this.language),!e)return"rtl";return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam"].indexOf(this.services.languageUtils.getLanguagePartFromCode(e))>=0?"rtl":"ltr"}},{key:"createInstance",value:function(){return new i(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}},{key:"cloneInstance",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:U,r=n({},this.options,t,{isClone:!0}),a=new i(r);return["store","services","language"].forEach(function(t){a[t]=e[t]}),a.services=n({},this.services),a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},a.translator=new C(a.services,a.options),a.translator.on("*",function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o\\338"},8816:{c:"\\2264\\338"},8817:{c:"\\2265\\338"},8832:{c:"\\227A\\338"},8833:{c:"\\227B\\338"},8836:{c:"\\2282\\338"},8837:{c:"\\2283\\338"},8840:{c:"\\2286\\338"},8841:{c:"\\2287\\338"},8876:{c:"\\22A2\\338"},8877:{c:"\\22A8\\338"},8930:{c:"\\2291\\338"},8931:{c:"\\2292\\338"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},9653:{c:"\\25B3"},9663:{c:"\\25BD"},10072:{c:"\\2223"},10744:{c:"/",f:"BI"},10799:{c:"\\D7"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},6051:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.doubleStruck=void 0;var t=i(5674);Object.defineProperty(f,"doubleStruck",{enumerable:!0,get:function(){return t.doubleStruck}})},9236:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.frakturBold=void 0;var t=i(73),e=i(7002);f.frakturBold=(0,t.AddCSS)(e.frakturBold,{8260:{c:"/"}})},1937:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.fraktur=void 0;var t=i(73),e=i(9349);f.fraktur=(0,t.AddCSS)(e.fraktur,{8260:{c:"/"}})},4244:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.italic=void 0;var t=i(73),e=i(9741);f.italic=(0,t.AddCSS)(e.italic,{47:{f:"I"},989:{c:"\\E008",f:"A"},8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/",f:"I"},8710:{c:"\\394",f:"I"},10744:{c:"/",f:"I"}})},482:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.largeop=void 0;var t=i(73),e=i(2827);f.largeop=(0,t.AddCSS)(e.largeop,{8214:{f:"S1"},8260:{c:"/"},8593:{f:"S1"},8595:{f:"S1"},8657:{f:"S1"},8659:{f:"S1"},8739:{f:"S1"},8741:{f:"S1"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},9168:{f:"S1"},10072:{c:"\\2223",f:"S1"},10764:{c:"\\222C\\222C"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},196:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.monospace=void 0;var t=i(73),e=i(2970);f.monospace=(0,t.AddCSS)(e.monospace,{697:{c:"\\2032"},913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8215:{c:"_"},8243:{c:"\\2032\\2032"},8244:{c:"\\2032\\2032\\2032"},8260:{c:"/"},8279:{c:"\\2032\\2032\\2032\\2032"},8710:{c:"\\394"}})},527:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.normal=void 0;var t=i(73),e=i(1668);f.normal=(0,t.AddCSS)(e.normal,{163:{f:"MI"},165:{f:"A"},174:{f:"A"},183:{c:"\\22C5"},240:{f:"A"},697:{c:"\\2032"},913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8192:{c:""},8193:{c:""},8194:{c:""},8195:{c:""},8196:{c:""},8197:{c:""},8198:{c:""},8201:{c:""},8202:{c:""},8203:{c:""},8204:{c:""},8213:{c:"\\2014"},8214:{c:"\\2225"},8215:{c:"_"},8226:{c:"\\2219"},8243:{c:"\\2032\\2032"},8244:{c:"\\2032\\2032\\2032"},8245:{f:"A"},8246:{c:"\\2035\\2035",f:"A"},8247:{c:"\\2035\\2035\\2035",f:"A"},8254:{c:"\\2C9"},8260:{c:"/"},8279:{c:"\\2032\\2032\\2032\\2032"},8288:{c:""},8289:{c:""},8290:{c:""},8291:{c:""},8292:{c:""},8407:{c:"\\2192",f:"V"},8450:{c:"C",f:"A"},8459:{c:"H",f:"SC"},8460:{c:"H",f:"FR"},8461:{c:"H",f:"A"},8462:{c:"h",f:"I"},8463:{f:"A"},8464:{c:"I",f:"SC"},8465:{c:"I",f:"FR"},8466:{c:"L",f:"SC"},8469:{c:"N",f:"A"},8473:{c:"P",f:"A"},8474:{c:"Q",f:"A"},8475:{c:"R",f:"SC"},8476:{c:"R",f:"FR"},8477:{c:"R",f:"A"},8484:{c:"Z",f:"A"},8486:{c:"\\3A9"},8487:{f:"A"},8488:{c:"Z",f:"FR"},8492:{c:"B",f:"SC"},8493:{c:"C",f:"FR"},8496:{c:"E",f:"SC"},8497:{c:"F",f:"SC"},8498:{f:"A"},8499:{c:"M",f:"SC"},8502:{f:"A"},8503:{f:"A"},8504:{f:"A"},8513:{f:"A"},8602:{f:"A"},8603:{f:"A"},8606:{f:"A"},8608:{f:"A"},8610:{f:"A"},8611:{f:"A"},8619:{f:"A"},8620:{f:"A"},8621:{f:"A"},8622:{f:"A"},8624:{f:"A"},8625:{f:"A"},8630:{f:"A"},8631:{f:"A"},8634:{f:"A"},8635:{f:"A"},8638:{f:"A"},8639:{f:"A"},8642:{f:"A"},8643:{f:"A"},8644:{f:"A"},8646:{f:"A"},8647:{f:"A"},8648:{f:"A"},8649:{f:"A"},8650:{f:"A"},8651:{f:"A"},8653:{f:"A"},8654:{f:"A"},8655:{f:"A"},8666:{f:"A"},8667:{f:"A"},8669:{f:"A"},8672:{f:"A"},8674:{f:"A"},8705:{f:"A"},8708:{c:"\\2203\\338"},8710:{c:"\\394"},8716:{c:"\\220B\\338"},8717:{f:"A"},8719:{f:"S1"},8720:{f:"S1"},8721:{f:"S1"},8724:{f:"A"},8737:{f:"A"},8738:{f:"A"},8740:{f:"A"},8742:{f:"A"},8748:{f:"S1"},8749:{f:"S1"},8750:{f:"S1"},8756:{f:"A"},8757:{f:"A"},8765:{f:"A"},8769:{f:"A"},8770:{f:"A"},8772:{c:"\\2243\\338"},8775:{c:"\\2246",f:"A"},8777:{c:"\\2248\\338"},8778:{f:"A"},8782:{f:"A"},8783:{f:"A"},8785:{f:"A"},8786:{f:"A"},8787:{f:"A"},8790:{f:"A"},8791:{f:"A"},8796:{f:"A"},8802:{c:"\\2261\\338"},8806:{f:"A"},8807:{f:"A"},8808:{f:"A"},8809:{f:"A"},8812:{f:"A"},8813:{c:"\\224D\\338"},8814:{f:"A"},8815:{f:"A"},8816:{f:"A"},8817:{f:"A"},8818:{f:"A"},8819:{f:"A"},8820:{c:"\\2272\\338"},8821:{c:"\\2273\\338"},8822:{f:"A"},8823:{f:"A"},8824:{c:"\\2276\\338"},8825:{c:"\\2277\\338"},8828:{f:"A"},8829:{f:"A"},8830:{f:"A"},8831:{f:"A"},8832:{f:"A"},8833:{f:"A"},8836:{c:"\\2282\\338"},8837:{c:"\\2283\\338"},8840:{f:"A"},8841:{f:"A"},8842:{f:"A"},8843:{f:"A"},8847:{f:"A"},8848:{f:"A"},8858:{f:"A"},8859:{f:"A"},8861:{f:"A"},8862:{f:"A"},8863:{f:"A"},8864:{f:"A"},8865:{f:"A"},8873:{f:"A"},8874:{f:"A"},8876:{f:"A"},8877:{f:"A"},8878:{f:"A"},8879:{f:"A"},8882:{f:"A"},8883:{f:"A"},8884:{f:"A"},8885:{f:"A"},8888:{f:"A"},8890:{f:"A"},8891:{f:"A"},8892:{f:"A"},8896:{f:"S1"},8897:{f:"S1"},8898:{f:"S1"},8899:{f:"S1"},8903:{f:"A"},8905:{f:"A"},8906:{f:"A"},8907:{f:"A"},8908:{f:"A"},8909:{f:"A"},8910:{f:"A"},8911:{f:"A"},8912:{f:"A"},8913:{f:"A"},8914:{f:"A"},8915:{f:"A"},8916:{f:"A"},8918:{f:"A"},8919:{f:"A"},8920:{f:"A"},8921:{f:"A"},8922:{f:"A"},8923:{f:"A"},8926:{f:"A"},8927:{f:"A"},8928:{f:"A"},8929:{f:"A"},8930:{c:"\\2291\\338"},8931:{c:"\\2292\\338"},8934:{f:"A"},8935:{f:"A"},8936:{f:"A"},8937:{f:"A"},8938:{f:"A"},8939:{f:"A"},8940:{f:"A"},8941:{f:"A"},8965:{c:"\\22BC",f:"A"},8966:{c:"\\2A5E",f:"A"},8988:{c:"\\250C",f:"A"},8989:{c:"\\2510",f:"A"},8990:{c:"\\2514",f:"A"},8991:{c:"\\2518",f:"A"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},9168:{f:"S1"},9416:{f:"A"},9484:{f:"A"},9488:{f:"A"},9492:{f:"A"},9496:{f:"A"},9585:{f:"A"},9586:{f:"A"},9632:{f:"A"},9633:{f:"A"},9642:{c:"\\25A0",f:"A"},9650:{f:"A"},9652:{c:"\\25B2",f:"A"},9653:{c:"\\25B3"},9654:{f:"A"},9656:{c:"\\25B6",f:"A"},9660:{f:"A"},9662:{c:"\\25BC",f:"A"},9663:{c:"\\25BD"},9664:{f:"A"},9666:{c:"\\25C0",f:"A"},9674:{f:"A"},9723:{c:"\\25A1",f:"A"},9724:{c:"\\25A0",f:"A"},9733:{f:"A"},10003:{f:"A"},10016:{f:"A"},10072:{c:"\\2223"},10731:{f:"A"},10744:{c:"/",f:"I"},10752:{f:"S1"},10753:{f:"S1"},10754:{f:"S1"},10756:{f:"S1"},10758:{f:"S1"},10764:{c:"\\222C\\222C",f:"S1"},10799:{c:"\\D7"},10846:{f:"A"},10877:{f:"A"},10878:{f:"A"},10885:{f:"A"},10886:{f:"A"},10887:{f:"A"},10888:{f:"A"},10889:{f:"A"},10890:{f:"A"},10891:{f:"A"},10892:{f:"A"},10901:{f:"A"},10902:{f:"A"},10933:{f:"A"},10934:{f:"A"},10935:{f:"A"},10936:{f:"A"},10937:{f:"A"},10938:{f:"A"},10949:{f:"A"},10950:{f:"A"},10955:{f:"A"},10956:{f:"A"},12296:{c:"\\27E8"},12297:{c:"\\27E9"},57350:{f:"A"},57351:{f:"A"},57352:{f:"A"},57353:{f:"A"},57356:{f:"A"},57357:{f:"A"},57358:{f:"A"},57359:{f:"A"},57360:{f:"A"},57361:{f:"A"},57366:{f:"A"},57367:{f:"A"},57368:{f:"A"},57369:{f:"A"},57370:{f:"A"},57371:{f:"A"},119808:{c:"A",f:"B"},119809:{c:"B",f:"B"},119810:{c:"C",f:"B"},119811:{c:"D",f:"B"},119812:{c:"E",f:"B"},119813:{c:"F",f:"B"},119814:{c:"G",f:"B"},119815:{c:"H",f:"B"},119816:{c:"I",f:"B"},119817:{c:"J",f:"B"},119818:{c:"K",f:"B"},119819:{c:"L",f:"B"},119820:{c:"M",f:"B"},119821:{c:"N",f:"B"},119822:{c:"O",f:"B"},119823:{c:"P",f:"B"},119824:{c:"Q",f:"B"},119825:{c:"R",f:"B"},119826:{c:"S",f:"B"},119827:{c:"T",f:"B"},119828:{c:"U",f:"B"},119829:{c:"V",f:"B"},119830:{c:"W",f:"B"},119831:{c:"X",f:"B"},119832:{c:"Y",f:"B"},119833:{c:"Z",f:"B"},119834:{c:"a",f:"B"},119835:{c:"b",f:"B"},119836:{c:"c",f:"B"},119837:{c:"d",f:"B"},119838:{c:"e",f:"B"},119839:{c:"f",f:"B"},119840:{c:"g",f:"B"},119841:{c:"h",f:"B"},119842:{c:"i",f:"B"},119843:{c:"j",f:"B"},119844:{c:"k",f:"B"},119845:{c:"l",f:"B"},119846:{c:"m",f:"B"},119847:{c:"n",f:"B"},119848:{c:"o",f:"B"},119849:{c:"p",f:"B"},119850:{c:"q",f:"B"},119851:{c:"r",f:"B"},119852:{c:"s",f:"B"},119853:{c:"t",f:"B"},119854:{c:"u",f:"B"},119855:{c:"v",f:"B"},119856:{c:"w",f:"B"},119857:{c:"x",f:"B"},119858:{c:"y",f:"B"},119859:{c:"z",f:"B"},119860:{c:"A",f:"I"},119861:{c:"B",f:"I"},119862:{c:"C",f:"I"},119863:{c:"D",f:"I"},119864:{c:"E",f:"I"},119865:{c:"F",f:"I"},119866:{c:"G",f:"I"},119867:{c:"H",f:"I"},119868:{c:"I",f:"I"},119869:{c:"J",f:"I"},119870:{c:"K",f:"I"},119871:{c:"L",f:"I"},119872:{c:"M",f:"I"},119873:{c:"N",f:"I"},119874:{c:"O",f:"I"},119875:{c:"P",f:"I"},119876:{c:"Q",f:"I"},119877:{c:"R",f:"I"},119878:{c:"S",f:"I"},119879:{c:"T",f:"I"},119880:{c:"U",f:"I"},119881:{c:"V",f:"I"},119882:{c:"W",f:"I"},119883:{c:"X",f:"I"},119884:{c:"Y",f:"I"},119885:{c:"Z",f:"I"},119886:{c:"a",f:"I"},119887:{c:"b",f:"I"},119888:{c:"c",f:"I"},119889:{c:"d",f:"I"},119890:{c:"e",f:"I"},119891:{c:"f",f:"I"},119892:{c:"g",f:"I"},119894:{c:"i",f:"I"},119895:{c:"j",f:"I"},119896:{c:"k",f:"I"},119897:{c:"l",f:"I"},119898:{c:"m",f:"I"},119899:{c:"n",f:"I"},119900:{c:"o",f:"I"},119901:{c:"p",f:"I"},119902:{c:"q",f:"I"},119903:{c:"r",f:"I"},119904:{c:"s",f:"I"},119905:{c:"t",f:"I"},119906:{c:"u",f:"I"},119907:{c:"v",f:"I"},119908:{c:"w",f:"I"},119909:{c:"x",f:"I"},119910:{c:"y",f:"I"},119911:{c:"z",f:"I"},119912:{c:"A",f:"BI"},119913:{c:"B",f:"BI"},119914:{c:"C",f:"BI"},119915:{c:"D",f:"BI"},119916:{c:"E",f:"BI"},119917:{c:"F",f:"BI"},119918:{c:"G",f:"BI"},119919:{c:"H",f:"BI"},119920:{c:"I",f:"BI"},119921:{c:"J",f:"BI"},119922:{c:"K",f:"BI"},119923:{c:"L",f:"BI"},119924:{c:"M",f:"BI"},119925:{c:"N",f:"BI"},119926:{c:"O",f:"BI"},119927:{c:"P",f:"BI"},119928:{c:"Q",f:"BI"},119929:{c:"R",f:"BI"},119930:{c:"S",f:"BI"},119931:{c:"T",f:"BI"},119932:{c:"U",f:"BI"},119933:{c:"V",f:"BI"},119934:{c:"W",f:"BI"},119935:{c:"X",f:"BI"},119936:{c:"Y",f:"BI"},119937:{c:"Z",f:"BI"},119938:{c:"a",f:"BI"},119939:{c:"b",f:"BI"},119940:{c:"c",f:"BI"},119941:{c:"d",f:"BI"},119942:{c:"e",f:"BI"},119943:{c:"f",f:"BI"},119944:{c:"g",f:"BI"},119945:{c:"h",f:"BI"},119946:{c:"i",f:"BI"},119947:{c:"j",f:"BI"},119948:{c:"k",f:"BI"},119949:{c:"l",f:"BI"},119950:{c:"m",f:"BI"},119951:{c:"n",f:"BI"},119952:{c:"o",f:"BI"},119953:{c:"p",f:"BI"},119954:{c:"q",f:"BI"},119955:{c:"r",f:"BI"},119956:{c:"s",f:"BI"},119957:{c:"t",f:"BI"},119958:{c:"u",f:"BI"},119959:{c:"v",f:"BI"},119960:{c:"w",f:"BI"},119961:{c:"x",f:"BI"},119962:{c:"y",f:"BI"},119963:{c:"z",f:"BI"},119964:{c:"A",f:"SC"},119966:{c:"C",f:"SC"},119967:{c:"D",f:"SC"},119970:{c:"G",f:"SC"},119973:{c:"J",f:"SC"},119974:{c:"K",f:"SC"},119977:{c:"N",f:"SC"},119978:{c:"O",f:"SC"},119979:{c:"P",f:"SC"},119980:{c:"Q",f:"SC"},119982:{c:"S",f:"SC"},119983:{c:"T",f:"SC"},119984:{c:"U",f:"SC"},119985:{c:"V",f:"SC"},119986:{c:"W",f:"SC"},119987:{c:"X",f:"SC"},119988:{c:"Y",f:"SC"},119989:{c:"Z",f:"SC"},120068:{c:"A",f:"FR"},120069:{c:"B",f:"FR"},120071:{c:"D",f:"FR"},120072:{c:"E",f:"FR"},120073:{c:"F",f:"FR"},120074:{c:"G",f:"FR"},120077:{c:"J",f:"FR"},120078:{c:"K",f:"FR"},120079:{c:"L",f:"FR"},120080:{c:"M",f:"FR"},120081:{c:"N",f:"FR"},120082:{c:"O",f:"FR"},120083:{c:"P",f:"FR"},120084:{c:"Q",f:"FR"},120086:{c:"S",f:"FR"},120087:{c:"T",f:"FR"},120088:{c:"U",f:"FR"},120089:{c:"V",f:"FR"},120090:{c:"W",f:"FR"},120091:{c:"X",f:"FR"},120092:{c:"Y",f:"FR"},120094:{c:"a",f:"FR"},120095:{c:"b",f:"FR"},120096:{c:"c",f:"FR"},120097:{c:"d",f:"FR"},120098:{c:"e",f:"FR"},120099:{c:"f",f:"FR"},120100:{c:"g",f:"FR"},120101:{c:"h",f:"FR"},120102:{c:"i",f:"FR"},120103:{c:"j",f:"FR"},120104:{c:"k",f:"FR"},120105:{c:"l",f:"FR"},120106:{c:"m",f:"FR"},120107:{c:"n",f:"FR"},120108:{c:"o",f:"FR"},120109:{c:"p",f:"FR"},120110:{c:"q",f:"FR"},120111:{c:"r",f:"FR"},120112:{c:"s",f:"FR"},120113:{c:"t",f:"FR"},120114:{c:"u",f:"FR"},120115:{c:"v",f:"FR"},120116:{c:"w",f:"FR"},120117:{c:"x",f:"FR"},120118:{c:"y",f:"FR"},120119:{c:"z",f:"FR"},120120:{c:"A",f:"A"},120121:{c:"B",f:"A"},120123:{c:"D",f:"A"},120124:{c:"E",f:"A"},120125:{c:"F",f:"A"},120126:{c:"G",f:"A"},120128:{c:"I",f:"A"},120129:{c:"J",f:"A"},120130:{c:"K",f:"A"},120131:{c:"L",f:"A"},120132:{c:"M",f:"A"},120134:{c:"O",f:"A"},120138:{c:"S",f:"A"},120139:{c:"T",f:"A"},120140:{c:"U",f:"A"},120141:{c:"V",f:"A"},120142:{c:"W",f:"A"},120143:{c:"X",f:"A"},120144:{c:"Y",f:"A"},120172:{c:"A",f:"FRB"},120173:{c:"B",f:"FRB"},120174:{c:"C",f:"FRB"},120175:{c:"D",f:"FRB"},120176:{c:"E",f:"FRB"},120177:{c:"F",f:"FRB"},120178:{c:"G",f:"FRB"},120179:{c:"H",f:"FRB"},120180:{c:"I",f:"FRB"},120181:{c:"J",f:"FRB"},120182:{c:"K",f:"FRB"},120183:{c:"L",f:"FRB"},120184:{c:"M",f:"FRB"},120185:{c:"N",f:"FRB"},120186:{c:"O",f:"FRB"},120187:{c:"P",f:"FRB"},120188:{c:"Q",f:"FRB"},120189:{c:"R",f:"FRB"},120190:{c:"S",f:"FRB"},120191:{c:"T",f:"FRB"},120192:{c:"U",f:"FRB"},120193:{c:"V",f:"FRB"},120194:{c:"W",f:"FRB"},120195:{c:"X",f:"FRB"},120196:{c:"Y",f:"FRB"},120197:{c:"Z",f:"FRB"},120198:{c:"a",f:"FRB"},120199:{c:"b",f:"FRB"},120200:{c:"c",f:"FRB"},120201:{c:"d",f:"FRB"},120202:{c:"e",f:"FRB"},120203:{c:"f",f:"FRB"},120204:{c:"g",f:"FRB"},120205:{c:"h",f:"FRB"},120206:{c:"i",f:"FRB"},120207:{c:"j",f:"FRB"},120208:{c:"k",f:"FRB"},120209:{c:"l",f:"FRB"},120210:{c:"m",f:"FRB"},120211:{c:"n",f:"FRB"},120212:{c:"o",f:"FRB"},120213:{c:"p",f:"FRB"},120214:{c:"q",f:"FRB"},120215:{c:"r",f:"FRB"},120216:{c:"s",f:"FRB"},120217:{c:"t",f:"FRB"},120218:{c:"u",f:"FRB"},120219:{c:"v",f:"FRB"},120220:{c:"w",f:"FRB"},120221:{c:"x",f:"FRB"},120222:{c:"y",f:"FRB"},120223:{c:"z",f:"FRB"},120224:{c:"A",f:"SS"},120225:{c:"B",f:"SS"},120226:{c:"C",f:"SS"},120227:{c:"D",f:"SS"},120228:{c:"E",f:"SS"},120229:{c:"F",f:"SS"},120230:{c:"G",f:"SS"},120231:{c:"H",f:"SS"},120232:{c:"I",f:"SS"},120233:{c:"J",f:"SS"},120234:{c:"K",f:"SS"},120235:{c:"L",f:"SS"},120236:{c:"M",f:"SS"},120237:{c:"N",f:"SS"},120238:{c:"O",f:"SS"},120239:{c:"P",f:"SS"},120240:{c:"Q",f:"SS"},120241:{c:"R",f:"SS"},120242:{c:"S",f:"SS"},120243:{c:"T",f:"SS"},120244:{c:"U",f:"SS"},120245:{c:"V",f:"SS"},120246:{c:"W",f:"SS"},120247:{c:"X",f:"SS"},120248:{c:"Y",f:"SS"},120249:{c:"Z",f:"SS"},120250:{c:"a",f:"SS"},120251:{c:"b",f:"SS"},120252:{c:"c",f:"SS"},120253:{c:"d",f:"SS"},120254:{c:"e",f:"SS"},120255:{c:"f",f:"SS"},120256:{c:"g",f:"SS"},120257:{c:"h",f:"SS"},120258:{c:"i",f:"SS"},120259:{c:"j",f:"SS"},120260:{c:"k",f:"SS"},120261:{c:"l",f:"SS"},120262:{c:"m",f:"SS"},120263:{c:"n",f:"SS"},120264:{c:"o",f:"SS"},120265:{c:"p",f:"SS"},120266:{c:"q",f:"SS"},120267:{c:"r",f:"SS"},120268:{c:"s",f:"SS"},120269:{c:"t",f:"SS"},120270:{c:"u",f:"SS"},120271:{c:"v",f:"SS"},120272:{c:"w",f:"SS"},120273:{c:"x",f:"SS"},120274:{c:"y",f:"SS"},120275:{c:"z",f:"SS"},120276:{c:"A",f:"SSB"},120277:{c:"B",f:"SSB"},120278:{c:"C",f:"SSB"},120279:{c:"D",f:"SSB"},120280:{c:"E",f:"SSB"},120281:{c:"F",f:"SSB"},120282:{c:"G",f:"SSB"},120283:{c:"H",f:"SSB"},120284:{c:"I",f:"SSB"},120285:{c:"J",f:"SSB"},120286:{c:"K",f:"SSB"},120287:{c:"L",f:"SSB"},120288:{c:"M",f:"SSB"},120289:{c:"N",f:"SSB"},120290:{c:"O",f:"SSB"},120291:{c:"P",f:"SSB"},120292:{c:"Q",f:"SSB"},120293:{c:"R",f:"SSB"},120294:{c:"S",f:"SSB"},120295:{c:"T",f:"SSB"},120296:{c:"U",f:"SSB"},120297:{c:"V",f:"SSB"},120298:{c:"W",f:"SSB"},120299:{c:"X",f:"SSB"},120300:{c:"Y",f:"SSB"},120301:{c:"Z",f:"SSB"},120302:{c:"a",f:"SSB"},120303:{c:"b",f:"SSB"},120304:{c:"c",f:"SSB"},120305:{c:"d",f:"SSB"},120306:{c:"e",f:"SSB"},120307:{c:"f",f:"SSB"},120308:{c:"g",f:"SSB"},120309:{c:"h",f:"SSB"},120310:{c:"i",f:"SSB"},120311:{c:"j",f:"SSB"},120312:{c:"k",f:"SSB"},120313:{c:"l",f:"SSB"},120314:{c:"m",f:"SSB"},120315:{c:"n",f:"SSB"},120316:{c:"o",f:"SSB"},120317:{c:"p",f:"SSB"},120318:{c:"q",f:"SSB"},120319:{c:"r",f:"SSB"},120320:{c:"s",f:"SSB"},120321:{c:"t",f:"SSB"},120322:{c:"u",f:"SSB"},120323:{c:"v",f:"SSB"},120324:{c:"w",f:"SSB"},120325:{c:"x",f:"SSB"},120326:{c:"y",f:"SSB"},120327:{c:"z",f:"SSB"},120328:{c:"A",f:"SSI"},120329:{c:"B",f:"SSI"},120330:{c:"C",f:"SSI"},120331:{c:"D",f:"SSI"},120332:{c:"E",f:"SSI"},120333:{c:"F",f:"SSI"},120334:{c:"G",f:"SSI"},120335:{c:"H",f:"SSI"},120336:{c:"I",f:"SSI"},120337:{c:"J",f:"SSI"},120338:{c:"K",f:"SSI"},120339:{c:"L",f:"SSI"},120340:{c:"M",f:"SSI"},120341:{c:"N",f:"SSI"},120342:{c:"O",f:"SSI"},120343:{c:"P",f:"SSI"},120344:{c:"Q",f:"SSI"},120345:{c:"R",f:"SSI"},120346:{c:"S",f:"SSI"},120347:{c:"T",f:"SSI"},120348:{c:"U",f:"SSI"},120349:{c:"V",f:"SSI"},120350:{c:"W",f:"SSI"},120351:{c:"X",f:"SSI"},120352:{c:"Y",f:"SSI"},120353:{c:"Z",f:"SSI"},120354:{c:"a",f:"SSI"},120355:{c:"b",f:"SSI"},120356:{c:"c",f:"SSI"},120357:{c:"d",f:"SSI"},120358:{c:"e",f:"SSI"},120359:{c:"f",f:"SSI"},120360:{c:"g",f:"SSI"},120361:{c:"h",f:"SSI"},120362:{c:"i",f:"SSI"},120363:{c:"j",f:"SSI"},120364:{c:"k",f:"SSI"},120365:{c:"l",f:"SSI"},120366:{c:"m",f:"SSI"},120367:{c:"n",f:"SSI"},120368:{c:"o",f:"SSI"},120369:{c:"p",f:"SSI"},120370:{c:"q",f:"SSI"},120371:{c:"r",f:"SSI"},120372:{c:"s",f:"SSI"},120373:{c:"t",f:"SSI"},120374:{c:"u",f:"SSI"},120375:{c:"v",f:"SSI"},120376:{c:"w",f:"SSI"},120377:{c:"x",f:"SSI"},120378:{c:"y",f:"SSI"},120379:{c:"z",f:"SSI"},120432:{c:"A",f:"T"},120433:{c:"B",f:"T"},120434:{c:"C",f:"T"},120435:{c:"D",f:"T"},120436:{c:"E",f:"T"},120437:{c:"F",f:"T"},120438:{c:"G",f:"T"},120439:{c:"H",f:"T"},120440:{c:"I",f:"T"},120441:{c:"J",f:"T"},120442:{c:"K",f:"T"},120443:{c:"L",f:"T"},120444:{c:"M",f:"T"},120445:{c:"N",f:"T"},120446:{c:"O",f:"T"},120447:{c:"P",f:"T"},120448:{c:"Q",f:"T"},120449:{c:"R",f:"T"},120450:{c:"S",f:"T"},120451:{c:"T",f:"T"},120452:{c:"U",f:"T"},120453:{c:"V",f:"T"},120454:{c:"W",f:"T"},120455:{c:"X",f:"T"},120456:{c:"Y",f:"T"},120457:{c:"Z",f:"T"},120458:{c:"a",f:"T"},120459:{c:"b",f:"T"},120460:{c:"c",f:"T"},120461:{c:"d",f:"T"},120462:{c:"e",f:"T"},120463:{c:"f",f:"T"},120464:{c:"g",f:"T"},120465:{c:"h",f:"T"},120466:{c:"i",f:"T"},120467:{c:"j",f:"T"},120468:{c:"k",f:"T"},120469:{c:"l",f:"T"},120470:{c:"m",f:"T"},120471:{c:"n",f:"T"},120472:{c:"o",f:"T"},120473:{c:"p",f:"T"},120474:{c:"q",f:"T"},120475:{c:"r",f:"T"},120476:{c:"s",f:"T"},120477:{c:"t",f:"T"},120478:{c:"u",f:"T"},120479:{c:"v",f:"T"},120480:{c:"w",f:"T"},120481:{c:"x",f:"T"},120482:{c:"y",f:"T"},120483:{c:"z",f:"T"},120488:{c:"A",f:"B"},120489:{c:"B",f:"B"},120490:{c:"\\393",f:"B"},120491:{c:"\\394",f:"B"},120492:{c:"E",f:"B"},120493:{c:"Z",f:"B"},120494:{c:"H",f:"B"},120495:{c:"\\398",f:"B"},120496:{c:"I",f:"B"},120497:{c:"K",f:"B"},120498:{c:"\\39B",f:"B"},120499:{c:"M",f:"B"},120500:{c:"N",f:"B"},120501:{c:"\\39E",f:"B"},120502:{c:"O",f:"B"},120503:{c:"\\3A0",f:"B"},120504:{c:"P",f:"B"},120506:{c:"\\3A3",f:"B"},120507:{c:"T",f:"B"},120508:{c:"\\3A5",f:"B"},120509:{c:"\\3A6",f:"B"},120510:{c:"X",f:"B"},120511:{c:"\\3A8",f:"B"},120512:{c:"\\3A9",f:"B"},120513:{c:"\\2207",f:"B"},120546:{c:"A",f:"I"},120547:{c:"B",f:"I"},120548:{c:"\\393",f:"I"},120549:{c:"\\394",f:"I"},120550:{c:"E",f:"I"},120551:{c:"Z",f:"I"},120552:{c:"H",f:"I"},120553:{c:"\\398",f:"I"},120554:{c:"I",f:"I"},120555:{c:"K",f:"I"},120556:{c:"\\39B",f:"I"},120557:{c:"M",f:"I"},120558:{c:"N",f:"I"},120559:{c:"\\39E",f:"I"},120560:{c:"O",f:"I"},120561:{c:"\\3A0",f:"I"},120562:{c:"P",f:"I"},120564:{c:"\\3A3",f:"I"},120565:{c:"T",f:"I"},120566:{c:"\\3A5",f:"I"},120567:{c:"\\3A6",f:"I"},120568:{c:"X",f:"I"},120569:{c:"\\3A8",f:"I"},120570:{c:"\\3A9",f:"I"},120572:{c:"\\3B1",f:"I"},120573:{c:"\\3B2",f:"I"},120574:{c:"\\3B3",f:"I"},120575:{c:"\\3B4",f:"I"},120576:{c:"\\3B5",f:"I"},120577:{c:"\\3B6",f:"I"},120578:{c:"\\3B7",f:"I"},120579:{c:"\\3B8",f:"I"},120580:{c:"\\3B9",f:"I"},120581:{c:"\\3BA",f:"I"},120582:{c:"\\3BB",f:"I"},120583:{c:"\\3BC",f:"I"},120584:{c:"\\3BD",f:"I"},120585:{c:"\\3BE",f:"I"},120586:{c:"\\3BF",f:"I"},120587:{c:"\\3C0",f:"I"},120588:{c:"\\3C1",f:"I"},120589:{c:"\\3C2",f:"I"},120590:{c:"\\3C3",f:"I"},120591:{c:"\\3C4",f:"I"},120592:{c:"\\3C5",f:"I"},120593:{c:"\\3C6",f:"I"},120594:{c:"\\3C7",f:"I"},120595:{c:"\\3C8",f:"I"},120596:{c:"\\3C9",f:"I"},120597:{c:"\\2202"},120598:{c:"\\3F5",f:"I"},120599:{c:"\\3D1",f:"I"},120600:{c:"\\E009",f:"A"},120601:{c:"\\3D5",f:"I"},120602:{c:"\\3F1",f:"I"},120603:{c:"\\3D6",f:"I"},120604:{c:"A",f:"BI"},120605:{c:"B",f:"BI"},120606:{c:"\\393",f:"BI"},120607:{c:"\\394",f:"BI"},120608:{c:"E",f:"BI"},120609:{c:"Z",f:"BI"},120610:{c:"H",f:"BI"},120611:{c:"\\398",f:"BI"},120612:{c:"I",f:"BI"},120613:{c:"K",f:"BI"},120614:{c:"\\39B",f:"BI"},120615:{c:"M",f:"BI"},120616:{c:"N",f:"BI"},120617:{c:"\\39E",f:"BI"},120618:{c:"O",f:"BI"},120619:{c:"\\3A0",f:"BI"},120620:{c:"P",f:"BI"},120622:{c:"\\3A3",f:"BI"},120623:{c:"T",f:"BI"},120624:{c:"\\3A5",f:"BI"},120625:{c:"\\3A6",f:"BI"},120626:{c:"X",f:"BI"},120627:{c:"\\3A8",f:"BI"},120628:{c:"\\3A9",f:"BI"},120630:{c:"\\3B1",f:"BI"},120631:{c:"\\3B2",f:"BI"},120632:{c:"\\3B3",f:"BI"},120633:{c:"\\3B4",f:"BI"},120634:{c:"\\3B5",f:"BI"},120635:{c:"\\3B6",f:"BI"},120636:{c:"\\3B7",f:"BI"},120637:{c:"\\3B8",f:"BI"},120638:{c:"\\3B9",f:"BI"},120639:{c:"\\3BA",f:"BI"},120640:{c:"\\3BB",f:"BI"},120641:{c:"\\3BC",f:"BI"},120642:{c:"\\3BD",f:"BI"},120643:{c:"\\3BE",f:"BI"},120644:{c:"\\3BF",f:"BI"},120645:{c:"\\3C0",f:"BI"},120646:{c:"\\3C1",f:"BI"},120647:{c:"\\3C2",f:"BI"},120648:{c:"\\3C3",f:"BI"},120649:{c:"\\3C4",f:"BI"},120650:{c:"\\3C5",f:"BI"},120651:{c:"\\3C6",f:"BI"},120652:{c:"\\3C7",f:"BI"},120653:{c:"\\3C8",f:"BI"},120654:{c:"\\3C9",f:"BI"},120655:{c:"\\2202",f:"B"},120656:{c:"\\3F5",f:"BI"},120657:{c:"\\3D1",f:"BI"},120658:{c:"\\E009",f:"A"},120659:{c:"\\3D5",f:"BI"},120660:{c:"\\3F1",f:"BI"},120661:{c:"\\3D6",f:"BI"},120662:{c:"A",f:"SSB"},120663:{c:"B",f:"SSB"},120664:{c:"\\393",f:"SSB"},120665:{c:"\\394",f:"SSB"},120666:{c:"E",f:"SSB"},120667:{c:"Z",f:"SSB"},120668:{c:"H",f:"SSB"},120669:{c:"\\398",f:"SSB"},120670:{c:"I",f:"SSB"},120671:{c:"K",f:"SSB"},120672:{c:"\\39B",f:"SSB"},120673:{c:"M",f:"SSB"},120674:{c:"N",f:"SSB"},120675:{c:"\\39E",f:"SSB"},120676:{c:"O",f:"SSB"},120677:{c:"\\3A0",f:"SSB"},120678:{c:"P",f:"SSB"},120680:{c:"\\3A3",f:"SSB"},120681:{c:"T",f:"SSB"},120682:{c:"\\3A5",f:"SSB"},120683:{c:"\\3A6",f:"SSB"},120684:{c:"X",f:"SSB"},120685:{c:"\\3A8",f:"SSB"},120686:{c:"\\3A9",f:"SSB"},120782:{c:"0",f:"B"},120783:{c:"1",f:"B"},120784:{c:"2",f:"B"},120785:{c:"3",f:"B"},120786:{c:"4",f:"B"},120787:{c:"5",f:"B"},120788:{c:"6",f:"B"},120789:{c:"7",f:"B"},120790:{c:"8",f:"B"},120791:{c:"9",f:"B"},120802:{c:"0",f:"SS"},120803:{c:"1",f:"SS"},120804:{c:"2",f:"SS"},120805:{c:"3",f:"SS"},120806:{c:"4",f:"SS"},120807:{c:"5",f:"SS"},120808:{c:"6",f:"SS"},120809:{c:"7",f:"SS"},120810:{c:"8",f:"SS"},120811:{c:"9",f:"SS"},120812:{c:"0",f:"SSB"},120813:{c:"1",f:"SSB"},120814:{c:"2",f:"SSB"},120815:{c:"3",f:"SSB"},120816:{c:"4",f:"SSB"},120817:{c:"5",f:"SSB"},120818:{c:"6",f:"SSB"},120819:{c:"7",f:"SSB"},120820:{c:"8",f:"SSB"},120821:{c:"9",f:"SSB"},120822:{c:"0",f:"T"},120823:{c:"1",f:"T"},120824:{c:"2",f:"T"},120825:{c:"3",f:"T"},120826:{c:"4",f:"T"},120827:{c:"5",f:"T"},120828:{c:"6",f:"T"},120829:{c:"7",f:"T"},120830:{c:"8",f:"T"},120831:{c:"9",f:"T"}})},3518:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.sansSerifBoldItalic=void 0;var t=i(73),e=i(6949);f.sansSerifBoldItalic=(0,t.AddCSS)(e.sansSerifBoldItalic,{305:{f:"SSB"},567:{f:"SSB"}})},965:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.sansSerifBold=void 0;var t=i(73),e=i(5193);f.sansSerifBold=(0,t.AddCSS)(e.sansSerifBold,{8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/"},8710:{c:"\\394"}})},9169:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.sansSerifItalic=void 0;var t=i(73),e=i(2632);f.sansSerifItalic=(0,t.AddCSS)(e.sansSerifItalic,{913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/"},8710:{c:"\\394"}})},6736:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.sansSerif=void 0;var t=i(73),e=i(4214);f.sansSerif=(0,t.AddCSS)(e.sansSerif,{913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/"},8710:{c:"\\394"}})},2290:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.scriptBold=void 0;var t=i(6466);Object.defineProperty(f,"scriptBold",{enumerable:!0,get:function(){return t.scriptBold}})},3012:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.script=void 0;var t=i(3776);Object.defineProperty(f,"script",{enumerable:!0,get:function(){return t.script}})},8787:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.smallop=void 0;var t=i(73),e=i(7405);f.smallop=(0,t.AddCSS)(e.smallop,{8260:{c:"/"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},10072:{c:"\\2223"},10764:{c:"\\222C\\222C"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},5392:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.texCalligraphicBold=void 0;var t=i(73),e=i(8105);f.texCalligraphicBold=(0,t.AddCSS)(e.texCalligraphicBold,{305:{f:"B"},567:{f:"B"}})},6318:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.texCalligraphic=void 0;var t=i(2518);Object.defineProperty(f,"texCalligraphic",{enumerable:!0,get:function(){return t.texCalligraphic}})},5351:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.texMathit=void 0;var t=i(5595);Object.defineProperty(f,"texMathit",{enumerable:!0,get:function(){return t.texMathit}})},873:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.texOldstyleBold=void 0;var t=i(6357);Object.defineProperty(f,"texOldstyleBold",{enumerable:!0,get:function(){return t.texOldstyleBold}})},7611:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.texOldstyle=void 0;var t=i(9474);Object.defineProperty(f,"texOldstyle",{enumerable:!0,get:function(){return t.texOldstyle}})},6590:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.texSize3=void 0;var t=i(73),e=i(584);f.texSize3=(0,t.AddCSS)(e.texSize3,{8260:{c:"/"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},8798:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.texSize4=void 0;var t=i(73),e=i(4324);f.texSize4=(0,t.AddCSS)(e.texSize4,{8260:{c:"/"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},12296:{c:"\\27E8"},12297:{c:"\\27E9"},57685:{c:"\\E153\\E152"},57686:{c:"\\E151\\E150"}})},2138:function(c,f,i){Object.defineProperty(f,"__esModule",{value:!0}),f.texVariant=void 0;var t=i(73),e=i(8135);f.texVariant=(0,t.AddCSS)(e.texVariant,{1008:{c:"\\E009"},8463:{f:""},8740:{c:"\\E006"},8742:{c:"\\E007"},8808:{c:"\\E00C"},8809:{c:"\\E00D"},8816:{c:"\\E011"},8817:{c:"\\E00E"},8840:{c:"\\E016"},8841:{c:"\\E018"},8842:{c:"\\E01A"},8843:{c:"\\E01B"},10887:{c:"\\E010"},10888:{c:"\\E00F"},10955:{c:"\\E017"},10956:{c:"\\E019"}})},2176:function(c,f){var i,t=this&&this.__extends||(i=function(c,f){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,f){c.__proto__=f}||function(c,f){for(var i in f)Object.prototype.hasOwnProperty.call(f,i)&&(c[i]=f[i])},i(c,f)},function(c,f){if("function"!=typeof f&&null!==f)throw new TypeError("Class extends value "+String(f)+" is not a constructor or null");function t(){this.constructor=c}i(c,f),c.prototype=null===f?Object.create(f):(t.prototype=f.prototype,new t)}),e=this&&this.__assign||function(){return e=Object.assign||function(c){for(var f,i=1,t=arguments.length;i0)&&!(t=s.next()).done;)r.push(t.value)}catch(c){e={error:c}}finally{try{t&&!t.done&&(i=s.return)&&i.call(s)}finally{if(e)throw e.error}}return r},r=this&&this.__spreadArray||function(c,f,i){if(i||2===arguments.length)for(var t,e=0,s=f.length;eb>gFhƫ㌷0N141k>d.2iI7攪{RVMy7~7/,M֤Qɓi,5ޜjL)--嗧S`syfO5'i컵Fd\5 sLm s)F> j#F;EkjV0wh:e6ZsiWӮ]2_԰Y&k͔%ֲrԥ(3ZRZ\R\Z(00/~voSZݓuL-ߜW_\r=e[o)Liӆ3EgԜoWsNl5eݣtv=L՚iZMTͩڛSk tTiFa64miZgӴΦiO1MetZ/ӵakNV4}h7nЬ1KƬZךQfЮl3klZ׳5L4K3ѬsV4GSMas4 6kMSiFYcfY5fi֘YcfY5ff=OU3d=Q]R7Nэ?iz^lhz2/O?F}3?DtJUEt>S?N?^FdQ7E Ȩ&oߡS~,){SӐiD?SSuݯ g B6~R2rdf+Wg#K[__ߠ\-WI7}~[c;j3},ݒ޲1[ƶ UW}q׾}]}zCufX=qbg&nGn_xGw>wF'wN>:,?)̺Ԇi+fOjgt㽛q/f0z=8'ws_0n~N>ɱmtr[7]<_' ~zK ۼ+:^ůj;vS[deeo6v32rqͻYo`+>\ScfN̷Q{e٫7\MRӞtV}Gt> - 5~/'ˏȏʢ\' o֝ ϩD E6FWc{{+7wol)iksm~cBŎ:I:wu;3@ߟD|8r=O?;_Wے{یG,&|wd~ǼS{[,:>ںߐdw:jǁ[p9tA/!Y,`m"lb:~>\JM n7pJ΃ʬʍp|;!dX?J~{8emN'%yܜl ]lI<"OPM|;RtVAɡH0oFfgED%QnKM\ \I1,472qe1FC zOE2J`bIgЄXuw+V 6.ꨲ wU:7D:9VK0 <׍6+K*v'x>4I $:GuuTpaG8U>4 _Uˆ:ibf,W{hџ .4ƼXP@=; w[M.pq6ۊի9gd% 8Wv=";!T>a>ۙA8^dA($-}95|snD) m6rbR"e vX/{ܬd2>< FOǟ?}Hђ 9 Ȕdi놲5VoW Xl[pdCX@* WdX?h噳~`$ӗƏV!9ܫTD9vp<4peO&| ܈^E6_̗k\&#Gg!(hFdPhG Co,I*;sPQfi^nZxW_E :GoԷވ^&t-{C0 ܿ.:Plrh6AUd̸r UьpAHa" iE,OdA?Yim@1w(){}ճl-£s_') c& 筂/4\gy΁: Y+1X}Q !R,0/ 17,l fpI8rXg]BvK@y7v/6M%_@g&:#(c]9K@#e^Ӓ{%+UI W=*r}QCš7h$ @oD#p2*8d1HtQ'&{aE"!F`D cm;d3 2=@lnz?54~uKAd 'V !I)>', Kt+!J9 !7^xnT+[Z6l,r*FF#|%I$pzKPH (5g#!"@gᤂ#CЂPe@-!;sտQK]:2uQf.H3r0,D1ie/}v޿2/?%oN%2?S1iH8"cu pA8H aXG$\@gXdK>V_"<#0u1bDG*XYKcUo{?33dlӺ4bMĄXT5ř^~ l&=#5cd'(ͪR`=X[mၼOC c\!,*mQ?}ov2)UЄ} ;~Fd(CpI|WHo ahh(+%Q]~" Å\\'\"8VPr1ğf q) GB Cqg= @oG?M~+B)Ar^]TzS|D"B&pp79h{btX~F_hug$wB7 ~5Hgos᯳ʥ>^Y/r#T4R ";щqrM<󰪙/"~K)is??Gb1DS0d8\PCS(;Ɏ356ZHiv75V*8ZT." 5e鐢x?G(~( t&FAE\va- n~Ȫ=FJUjЁ+%k4b,"ʌnq# Nn,V&LS{0SV%7QN 8vG.j x9ê4#O%Uf}-9-ql^d7v3w-0 8 LW<Y?-!S&dJ 3}10[@M28Q"R$_8Lg3&_, Qwy|ab՛{Xj8opsoƟZbjU)Rt B>O^:nSt;>VL#*t2Ӂ; w#5 ~D%^ 0:"K@ 21Y4}j5 F΍T :w➘3n% Q0 W9j]o;1зf,(\j%3oCD\rbTW ?shX|3H8 >Pt1+Xy+O>3%ب#ao^$6Ayvyi^ZZs(eVfZOxBI=g8FL#JDjwzs`#lm,ѩ5K}<`$i[?>[gE j2쇼5w:_]"'xx, xl+t9/5A7p:~,6G3C>{sY7zzIsSw.sZKetFǽ{3*hF"NY*Kn$t@ 6$Vd\U5˅AFn_cAُ XKtb0j|B _Xg.`y5Ғ\iDbQ1"43ȹMUD`z@}lI[ݓEV胓ў2~jFv #mK#̵9x h5=10Ep_>P߻tqa?4EKRXYn]=pkdOHn1dYnyܗŅZ@_'$ts0ym-kl$3T]vP!@l5b6[;[jRJX|fLXf qDq;< }: ɷMwrew2/ǤmI筡&v@ f%*LTVލpԩ:Z֚OF^]BQ-Y::P}.e"SP ,Z @nV nK®6W F * N*eUzJ:L+Ljb[8WBH Hf `J؋<1t8%U}Cי9`ٮ)Mj.vzd9c+q((^M%Yr cj%FbՑRmcm^j' '\,r8*)Q(\ФNU@[xN @_0A lV_xpl&}T9|jNx_j[X1#RThJ= [~')|# ,HՂ삋|J U8_y]Bjk͘]^r ]ׇf/JFE@NaSK\mֆ΢;j&t2~!l9NJ~l*1 ǿb+rc:Y5&;EckޣSh yG!I!aD>U6$u Ljfa#' r!re|BJZ ̻!xO-ߏ b']K‘,YXro bl(a]NahEz"݈UQS urc*t]aWk˭cg~ d3m{E0Ltx5Ac ةIyX9,QάȌ#?op HGqj B<̄,Dc)xKzV:nH+| wPMeWIr7{6&S5.}ہ@0MAQ+!M,'!V*9NlڙtqTTSqP׌AiDQݕMN1x %ja,EY@$-o vI}]0Cg"(gAļ7$ ~O`ȡA4rQ\!/{VR0Rb6q\E6 ]-Sk̏\̵A#2F}$hؒC#!IgtuC:ڟ +2( NSqJE*WAQԱ;6(J˻׼>+J_~  ҉`/4 " fsll[s]oeߑC <|Uv&norTłR#Z߂cƕW#u cJ#Z\\୆gh)xjQ~5(T.GDgݟK]WYF=Ƙ=Ln;}ym&|!lx#&hkK7s =_>@ou|d$L0tSń ypmgN31Ll~|wT<&Nz=d;`x^|#ej+By20{w Dl=C:w!1]Pf_]d/,*y豟+J*1Ƣ-r4CW/6oPSG FcshK2|/&BF'zWgxW=GHX?PYӘtf:n".zuWWr=YDΎ{Y-Du‡Z jKW}8dZMhWF!x[x'd'#7c]^@sCưh^0ftTrddx?D UAڠ[Yi{K,@y.z]˦d>|Nܥy|?s(ӆ=uXXA`f^ "e}L4G*[ 7*-#t p| ViBn)?%q6 $ԛU/_2v1Ŕ2.f%M>X1u,p[w%_Wn[KRŰSNjP\d܏#ZW.,DN0Rg:q3P"<8 xWWr6@3;v89,?p<#W~Iu>3 k7N>)z^a#&%)iݟЊ\ phBrb_ڔQF>QGau{cRKn쩖 | oŰSv+XJ[8X/*'$b]bN18[fem%LoT.l׋@ڣΦ$o3*Ԍ3.@pvM=JZx,$ Y:CIDZ:@k]r݀!n^¦ DVvnepjDķE7INH'3 Rv:jo'JGo%08v30#- d0nLaGD"EƁKcÎ8':THɻԣW9^ j`TXA-~*`)DƈĪa3(3~dcE̒Ÿl"&c58J΢>)w3Jv pU%bMa6ccƦYAfC_VѣL}uƽwY[brb3 ?PFo_p< ]5FG( Ӗ4DBj`I!1]%Tz. ;$ p9ݸ/pɽ"NM& F=D1[ -0fVtAq3P̖$78)~!Rdnixo2* z"s )="4G$!1Fan ktG#HJ&Fq7q!5s`p@ s@2ATs`C ٙpy#wA?O:>D۟>n;-1:\/;UҸH"šbT[=jltq aZE9@ZOEOB#ļ1Sv%o_|Z\v~1,_:f&m9{LF#L!ӊP?.QV- b P-7 ߊ8IĘf(,BhIѶ\j% r'[JE$ E<%@d{OŢ^bX;]ª9XM#> ~9z`YBwiƧ ;;9By>n7Ŗ.-&@Wfd=x^V`F6!VXͭkuaXC8<8s+V㕛`޷ 6*Rͺ0S4UC:yl bW&jkn;:K30APfWg޷!z9,sxG+ɐ[+\SWF2= }r0z&<i+ LK[k_cO0Đh] [I 1{f炊Li7њ[Z Zvف=3ʨ]߼Kp\Ѝ r8[\v[ƺ!c'Y5NfV6kVkOAhc|V=޳$)7V;:s/h޶w+lܜcYWB_[Yjzuh:dx_% pF;}MR)Ҧam0 _@P Zw"+~q ˖W5M*lٖ|r:Ft\a4#&n=V;=s/H2&'@3CN(!V}x%̏ %"Śӛ{ߊu'S|{_'+FPtz1(iNW0j-HnxS J%xHmAyG."==1 ~ ̹i,Nnk'MʏؠG-vLoVn $zHf R5%w%\"x%{5xЖco&@ev媎4#\>&eeV2T|_`UhZ]gڳ˶ov_:=V~Qf?|^}^]FYŠ>ACIEϖT՚;hnYQS&A%T{ޯ-nz.u}֥+vl.]u~xC*o>YdM&%=D%Δ&%k8? 'jRW@cAΖXי=]"xbc[H]SHqMJ,˯.*pb1ę@sr$Wjq&_=u I3UݙQ1=E+e=G=5zlWUoe;q jv]o9p˼6@?]R!`ѧc/\3'[mnjCWTDB?q u׺ywV)!Ǯ)hpeW$}^I'fՙm]CuWM%^@pQh)!\T U=kR$M-;[A"Nl*(V求3/M|l2QֲFO,W҉b3:[aʠ=xT+' T x5,IWrSK,č1e4 t tZ.=`&,z\x} Yow\m@r6`gJ'|oOaʥ>7F9Ȃiˀ>B& eLBA@? +;Β>:O3iܞt*U[7J Uk@8Hcc,sj0<#$y|(/ ?LmJKrA$5$O*77\wo(ĘW38y\u.U5r9/.L--\mU!hP{jlFؽOKW=B =p< cR e \̩Gk{$Tkj]asfGZtooei/ߣ*@1N=y-_> !Ax(t]KO'Q\ANk9֍Dsљ;rǠf.s]2̙rKɮBeG>gzH8XdVv?FO?ĩ3}.h2zy=h*L)'_4nV݇@_KR+LCOv שTkî'&@wçAG4@7ʙo-(+.!S I BkYG{P#mͽbD1Bt$3Ǝbzd'N"$Fp䑟`:a.)k͛> 3-0۠b7I.Lk$汎܃Oew$p90f#bg3OܳkS-򳻹HuwGq8{Wq R PcasK_ptbRCgkգ.>y:A .^o duw,\D D;#}mkB9TlL1թ2-݉PPU.yP)2R좦?!=3 Ao84_ַu?\(TZa N^#jE1YQ~O5 9~)o,Lƪ1(*7J:ǗP_˸gې(1뜙qz9ӹNK}JPLpi>hj^Vv[swϩ9D.8OI^=&`^BꮭgK=Fc;Ts*uQI+:pPY78N ꖚz )&EЇ@PO.\&:p>`l3@lj{{iVM܁8Boݪ,7e+Ѽ2qҘ^!̮ԍ|1 4[qHogqvޏJN G^+7 ccDvh`Ze?T@?:B4۶Xsrb*T2n3JmOZ`ΐ"2#zҭ6np,Z[WVٗ77Nctr>AANTܛ?/_qچiye}mӉSf&Nsї> w=au/Jië_ӝ}Z^3fJ&ӣ='#Cpٛ~Y 1rC<g+UjqϬz*TP=Wgo]ƳJ+(m//>Oz8C~^PU ^ݖ"ޱ1X 6/Bo`}BN}d|墊{Irtgq\xAs|^UWр>䔱EP!jFfTd!zB861}{X75{XX#Oÿý훷ljQz t. 3kkRWbƸQX_I8k~tc&LҵeTi[vVT#6+Lպ5pWZIƌV±T@;ϞS& I@03Tv>S'db{LD&BWZQ :ʠ8"Bt91Z!t[Nx' =x z.(u*DiaÁB4x TI{l^*nwC&&]u8ިsi%#i\]3"dEv%EBTp@+2Q%lu=#ײE yN0jsgihhuZ"z$4%Z`zYPb"4Y^^(ċؠ/Iܡ8}M*bs[Ub+!q !1GI0 $֦0ۑSr&5Pk%оyu9b23ǧHh5Q\̐{\O$H2454u7J?Փ75${(BIJ54Aϓ811ef\Ì7N8NC0 ̂w@F:]BFk/-ko ZXmkJǖ\SL[aW J cD&駆h^k臻OPMk J/˺(׫(ӅNbLOe6dA al&kNEqPkBhX 'uP`J Wi?&;'NS?-^A8gT<[='U{stY9\`\ͩ+Mz҃bq] !+1 ?eu)#ԆJ>KV ,m(!\} }f4\ _szPkUk5mWtA/3b-…^3\._F.YwLڝ[*Gfz6 ,,w~yojT[ؖ{aekZj;uX+l}2/2+ ֭K)\|dN}qT UGm(]UI V$R9=b:JE{垃!*-oL KrZ{p >Ѩi|r]*JVS_ڻ5&˩TAR.c}B60AE oxkqB)V9Rs[S9`^[@{[ӵ]l]*1)x[]> E, ;d;]N @̅Xh6헩C2/H?WE:2q"A#d24XXFOojiiܒՐ.+=f{~]lKCC˖Դu9i Zb1zRtX}5z}`SV#im]ZLҍV_S׵noܚUn}JLTW|s \NGN *֪xe*c#dBd=1L]a*|O_UF 2jNAU-Yɽ~{7lX^PP 핕3E}~o6Cahv8Ibw7W̉)~ {fXX[*_+J@Z }{Ow GYٱ>Գ}.z}gS 4 )])d'D/=z}$L̥r]m~69X?u2 Xd!Rk{pn Ύ)˷iw֢SLԊv2U6pn$,5$eLᚽb-QG(\:,~9E3R9be%f$iSݖ3RfhvEq i,z-&Me x}"4ݐEĬ@=iHTwjh92!9Ap<cZ7!g| }:)(`' :z ݍ\0;V:k#0@ѿ@]Wg#8^> $ 4^fp̼=u&!sQX7;e C{(HYHzv"$Mh [J.d s'^B4iRMO\j8p(6}Rnxl|.Yx\Z93b}<٩4^ pB=ĠgϢRLz絝W,yvcc$b nʚGi&$QY2Œk[uޘ #9Bźf.\@05IN`؏-M]C"[Fe01ar$*g}$⪾i8lM}~l2$i.<֛N]2\#uicύ̳9I٭-Ux zm];7}=ڤB'ȳGV(7 1{t7T)UK jRTRTLWɜv#cg iMOy:} CIqۍQHfYRφ%thgSș#M3e[Z?&Eo׊}Sa 4:#x0>Jmh6 ;zmU:N%wץؤ Y)Dɢ mVTpCZVQrꔏx+x,NmKU#@c4K cWОL#%mF^o ]o ѢP+= J2*]VD~k#{h dn!vU}kxh6s<_.p4fsH vϱPڅϸ[,@|~ZU$&g e,ȏJt Y&E"͍Q\B Fk /(d-f:bSp$vٗE^nrE#'^p  {SPFN4$wo0Q4k"4)̴iPݴs?hzs&iv/i43cqtC ʟ^׋~ȋ84x)(1ftx6q9d^xhG#cѨafZPܻXLXӅ0N٬޹sVYFajB7 x6uU j\TG s*+dM-.ݛide\X(ZhAtSлBX=x ְ8 <A|֏hvDuO>SF^O#\3)_?#rgB L*:;3R2_N ~O4ml7L:"'X,+Y79E#h>m4"Qeg1]{)ry.т.4)X QX[],rZ[x Y3_>ki/ #1c(V߾x~=|J)/ͺt=^O]#gtȹ.g⑟f*Sq=/̓j ? hȈ bʱr 2#nQz<r$PFa0WJv5Ͽ|C{;5ih,D?4 >ߔBGw-#0qqzݭ^6(^W\@z=K%Ek{zic0-<o$Z TzB6v' 'X'G(jGf;oPh YX}>CHܜSv\."|}qvXO~8M\bnXצэC& M4Q>"EN%̃3x%y2ӅaաhJbrKM;gvcx'>Rn)o `z0K}}5TB ҬOl&jXGʧn& o~gS)UݽgktKx.X_ذD*rZX `eXgGwʸCڼ= ᗤ.xJ~WֶMߌ(lJGxEpL<M.{` و喏Rдb}IsO-B.nNO& 0"?t7Xno4Yy`zy %S.KLVTG;!8 4{8ĄkkKr\Nd޾A|ƷHʙ_;h El {zNqo/0X8gӃ 'Q)UIԯ\J F;ughxm UV{-Zg!RqewШU!0 -Ejڼd_ݱl-#~ߋma~Gmd*YK^@Cq /JYn(v4dCϸܱ|x[Xq};,fX'O<0"zһ4|;Bܗh_.->ao5y2{}Emvq+ 10Q g~?!Iא_xrTqpUyLS)Zn'Ea+S J*mnC:gi/xJ/`6kp>\R”O!K}Gn;L2WUVM7L,ZrŌLb?T~b Z QùLNs,x9CfYw9ğ7JCM:gEmE%E.έΪ^IbSA o÷aveaᖒFѳd_s@tZBJ~rAf',CӰ]DcEsb|[&okAqx)uJ%| gCWe֨*~Q7߬@3&Ҹ57gLhqxhTbk]Arj7:~\µ,̬l.ry֑e {*FiƑ{78'-H}?ȥXQnq`ѥsNB+-ӛ9j}pXtt <_wͱ2rhjAO5'?ZO{y -O%JFT}C+jH:#H0 􁕨2nZ_wd7ӃkeBR::nbdZl'we{H(O ޷U:@J3NZBAqD~p?*R(Wo8C̢`)~ # 8qq ickAK;;B~BntЀ"d ۞bpLs<ǫ6&Ǿ̛ƒCΥy\ָof P*xyZ_ x]2Y9nE+bA@#zCZo|vצ> 3 u"/ B-c4!ų9p_X#wDV[Ie쌋tkqקs"onVONzϷh:UDlVQ9}+ُPNzVz0U`rOSIx@b?x4!0X-I#.~AwCĪȤ#Oٳ>Cܫ?}5 v6}{kșO^zjޘY}k=>VXkzSUӵu.A Y$T6$iw7:(Kܙ1^[ﭮR< nX+1jNUYV,w @Wf gPf1 $\QY/!6 |*w{fIVUYZ|]qUDS늊b v}*[_eIO"Ÿ:,b|t4;r8_X?FE/ۯ33)yNBdUjLLbXH녒*un^AFs2)i4X338r zJ]?[VFO=3f&?!zZ6i4@#)  /cAldzSz܊ 6i> #; ֨; I`BLEf#ꐬC RanBּ䉺Lzr_o:Q'~wuⰋMb^U=y^oa/~QJwk]Pq9+Zg36 Q8=zBbWMb3=ZlV 8 ֌!κΪݢNO qa0q=A2^ʊy\&(dTˌdFCIt4fr,RƂU)o\4g8Nh}< e`AAvѕPT@JފnގN쓯5-M^yMIt]b)> Ȼp0se Xѩ*ꂠ vBWBC1QZ7`Ҳ41,L kcq~/8%aZZ$hn eAKXϣYꞅTv׿Li`oD_:]_BPPPCZDE+MvOk}o &潜*< 75S}l~`A?d`3 'lYX"4YQZ A)$vH]<-yz-P;IQ%qZk$ʥzRW=XbӔ/_Nw ^6Jz^< "=澚&bY ~)d|Pp>j颮E"H9U=P GsNng)Ѐ iFZ)(wUkB܇ xV=c,oGMZ(/1(" _Sbjv;0CRjr ;/k͏Tc=;%zB]* YG=¤%g}8.nw}A~_F'ͳ֕Pۜ(xT; _t:hƄ> 1kn"׼Clr0:5@76rC,hC(MlB3 Hڑܚ4:ógF{bpكhX6Z6ё?HEZ!dWxMZ3vjPJ'dF'+8tnx t zTr]qQ =bUDo=p9lzւ(8EѵC ԍZϋ@5!hwMs>bZG|{2'D-%&ʪ-K[T-5 վ*PT˱(@QCXm(?1mrFO~' >GN};x!=Lofy|^P0L1- T#U涃2C>W|^}0OBp3Wbn_GhGc2:.z!O&7OܼW!OƨSS˫3}ʆjuݡKtsSAnAz27SO+C85t8|voއ&:YE( (C(36DBAN+BC'cIT;ygwhT)zv;ZsSؿzhq~v%ۂe|9ͺtPYu=ݯrȎVsξA)V,e:zd: OeQ/6xmP4u՚ou99y`$)Rrt櫹t oy PN ˁٌ<%Pr3g[ /:`+,ӫߢ$V63\1>_NЎ>) nƺЮe`vE)-+R܃Xֿ+ d8 rٝ/zWD_]7'^\l^ۋ|M ./KI+n NqtfEZg,,VmDj_q8 eō^F7㦮M/nLsn.n+$pE=[kE46PPt8P+:Pb*%y{Hoڎ5}>^ϝ=trq, G Q( =dWJ)XfV"'J3 !m|XPL0Vu3-vpՠ!*S*lS<1{?u&Kb cwx0 !/-[Σ#nBV^dFN:qDCY(^6\|; /`9a@&h*B{WIFCGl1j%ǔBorHioy 0W~F hlt _+-Br E>Cx;AK' [3&@GS&O-ŕECGjw}֍lJ Nު+0;pwLo`ͩ6؍$.>fSP9$#sycL-V EO^Bs5ZߡMʥYC (ssJ8M>=Eζ4ٖ *b1 Et?n8WWvѧ/ђ> Io90ÞԲçoZLӮE.? hD5}"I*W8At]]RXtS{ÊFMhWozsݐ<`hE | غVv+~jڥG1YQfoTJp~PB550sԫo %ۻih= eE! p? WeYA0 {9ޞ ~ELdw;}T!Xmo-?6Zn`Xw.=4AtpWzXb(~Xx+b];Fܑx=w9*r~dv_pwcr4jL߮=n=ו2SWbt 1B1}"E{'YdWӯ\|%VCDjx 2wSSg|ibnqOiFp U}._W v/vVw/0rdj,w⽋ql>X̤Q482E#=NUNjWt򭢊r4^ivr1w'xZ:Κ7>kBk:\N>9a,[P Y%Y,dvkPL9z%\ZJ>OD0Orz)Q9&?z;/|8̵"ݲ^uHh sRD5V4C-ݐ LU@>LP͘+x5cjca)KE'e2Ƕ\[ă 3: 6m44eV 6cYQ8c88.UETATHFDU BB\CS169}vgqs`Mk ƁBHC(Bh@iJhhih3֕:IHNtwڻݽ~3|r|uk!!>*O(1=)iQ N.w/jv4ۖZʫ|`{›0'"{./vpWv! j#Nു(Т!0j!Ґ}L=+$` vu@ ˱ѤF#*=p \ۺֽ _E9oYYzeQ nPIɯÜk h0+ԥu""8҇'pKF6A)(9 g`Z[oڿsKeV,̇9 VC…~ 'P,keq{ψ$.2 ΋!ӟP%3ȹ} C{ʾswNmq+pߞdva!j؎͘ H:&xP%꒘+.9utzq<.5eU6˞P0ʁ%bԍKW^.?0֞',SuLzۓ k=8]L&/B۩zVUd' s5UW[EN#VWMY͛#MP ]B)gя ȏoR{zhŧ_@ݦ0~jBb (dP(3 &Yqj? =:&2Ӧ#os`l$RYΌ(;rL[Xb(Efݡz4Wt`ߋ{G\ 'дo;jJ-a\5())/4< ̐X(%A&u_7_/R;W ?_HRVP:,('<M4+Kj/> #\ʆfS2|W@ Jhb;110h.4qI2$iɪ(㧌3uP$C\$ š6uvQc=03cD<2Qa@hOĭ!T qpǐ$#y" ܠ AC#y5&F97QW7x<VP䪚b/@8VV[`Pes)wi#Bo'[77R_iȡ&zFA\Q$|Iϰmؙfa?0RX] x }Whw;|.։UsΕP94K@y.t>vG۹9yhϺzN7.Zjƽ8}xbl]ҡӲ[; wD(h#Ұ9w${pdIOZô^Dd!Y%EHzQT3EѴjpC5AHDn Z$nY˦pJ90U|_4~a}^p{F߃k*V.'|{2Gb]f mD=^'Qsr?)sr`<4jIgz&9 n+#E/Upϖ<#Ff(UDx =Rd>0ud`0fJ$Fn5Fv -{SG[5=2O%xc`d``b `b`d`dd,`8xc`a8iCf|`Ā 0y 0`PxA#C3Hi52PxkHTAٽ߯ ՏZ!RQI %Ȩ2H Z *,-͞=)9{Tz@z> s |01MDfacv~R>g0mf]` lvYH$a9B `)d@%Z8 nhpx-ZІAIWa&f\yq'``J:Wo`vC|ә;x(|ͼwT+%+[JR+]3=@ 0]2cͳxS39B;܆=<~>2̘`.n0=;Ln,X'EM}U$sy)U(UJҩy=}4Hn:G *tQP1"ZOy)2i%4frLɔDqJDO1*bP ~^Bh⵨ CkZfm6W%j1Zyݦ6u.TT.?}a?ΦEMJ~6аȨظ'f$䳦6 Ʀ$﷡gMxc`d``/_|ef~aj=v!k $ rxc`d``S{9@"HxuJA5 5/(A*"bXYZB]$ "6&3a\89{n3ol2[R.Ic ,qubzU|a*7i|W,Fπ %KeShX5(2fb:cycަ/ .IvX'&z19b +he:HV}v=֜K$:/sGgS r,8vǪwcy͐iفO["+\ߖ Yb9X.^w.Νݴ8߄-=2d=Zޓ<7gpOﷴ{6~n]5pܜRO |3)Y[f)v{LQ xwLaTPxTMkQ=&-&4TB2@ ZRҖ6EMN^3&03ɴk. 7D\r3/6(fyݹs}+V&"^l!wa C+opg^@Gc<|3x}b1Vw/t[Xy8bpYd}\ B0ЅƵ u4؆D}T\%{)ËPuXzkVjjElHu !;K!=nku޳K9 vaW]u1+?r͌}FP7oW*2 Uz;xa<Heo4i&o|vhczR+ɔӑmSDw"exzZ}d;:nu+5)WP՘ғ:3]88ISGWDtC"4eTP>Kn$Ibyjs|sKTCp,;"=borG&/ۃ8qC)h)OFAG"h7[b(skPS۞X]sOzRh%p9?r9B5#;RTryaլ'5xc`f F X(DwOFFOTTO& 0PCFF  %/wFFTM&xBGDEF%"&'POS/2hT`B_1cmapbMhead66ghhea@ $O@hmtx%qxmaxp`*Pnamedpost 2S)X_< 2O o-IHxc`d``5Y=@"@ P*xc`aǴ H30@h L@>400`xeHsMaX?G@998f,: dJfxOKAƟDlT i $?b*HT4RJ/2&cvd쮉~s/0RdD-T1wwf๳_,;Xg3Y^8x|Z3ˋx_b^Z^|6"bh !`=7Pc[EPpԥ%`XKa XT{%ѨV+Z&T z,A; a9ϖi cG޶-W+˹Ckw\*phF-.4wl'&}0F#)Sk-ԽYh%l5& <s)iʖP-шuU*3o1]{+k,scT.ux"8bW+suBĩc+A{*H8,XvGE*8w&eq"1;WȑԾ<0I2m4jҋu&n,^P|?&Wxc```f`F| d+0X2D1,x#}&#@gbfaec  KHJI+(*)0@,]=6xc`f F X(DxzixenhԴ Ƣ lT/$ξ ( .㈃3A?8\wΏѹ}t(''7{Vv.+h,nSY+5eiLaNfִ;o2AO>r>Q} ٣6]EJDŋ_^L^V\\Vߠn#Y/^_Y˛*+f/,+-J^CDrDwEѝ")E~-W4G4W4O4_hhA"Cߊ="zTXq'EO=#zV;s9T䰢E!Y>`Mߊ5ΐ_onYw˶[ko|;|Wi`Ef͙]5gCsv?~.̊ɜI7}.(#,ʝY)%bFyąx.4R䳏B`Uڑz9`AH9m-/P%K < \zM0r Plk`Z˵;`,}I6Ɇ0\'SH,`R39Xe.)4V |\q99āRPx1S>CYG|@IΟ,̀벸)?~|ڝ& FjSrV 2.n{?xg%Wmt01P!:d3<{@ VQ}W=BY%#~MU,K,*hd7~pœ?7|z(I @ C5;TnF\=+<pǽQXFڴwK $_V6ZP=<;'<?(܅\+2J;Ax2X5Ѧ4V4f*8 ɕ2 ^ra*f [F$g\:(gvqL@!\Nt:QK$)tz`ۦ ]-X=:{p Fl-TȎ as\@GKIhxݩxyz%mbM`FEuvv,!E>g=g~!KF('!fZE6TiŻ5j r@,;x``Y`DYA .`!%HPM>79"W{ lN` CD,XRa8܀}px֢&oLcc77FX,ѣ3@xsp0n/P  4:#^{I&`;iAjף6N@'/XUF06 4uGbn(O#v$^P԰1 yZ A0y dh`(y3c ZFޮ`gMQ] ٽ ѣݱX=LP>gw)s[L\)I5(m#h.M88˕t>nC?@;ꪷoPo>Rdly?AݓF>sÓ8Gpl3xrkę@ 2(Os*sԫ*9ioI®V ||]zZ'20`amlP4YT* )UP{ڀ>I\4ƪ:n$lj=yl_j'ׅ-#)TdM1qYkeA]09})}2YZ02SFTt8;cU{!n5$Pl3VkxPwңY< 3=k&P'~Ki-av*MlDxxq\̍}X;9@,SyuUcSq4ʥIJ#IHYWi౏ʿ/8#H{̝uj(z1T5v LDwm1h?GP!wq>G]~`/M@7KP{+~DLe RڣmA"jdn`l(AB'p1<9C-n6B&dᰊ$g .{Ɗ$&XVGQ9r6؃8V/6jm(oX3u]| oK6ּPj[ɒ2L۲\j)Ө~3H%Ο@@: dSoxY\AXrŷ]}Ҥ,l8-X+\Vp0|4{ `cp)U:KZZ0!@-wޠ8c:Ar\2uM ڹ`G""N%8K|0 Cr؁@E,6f&nU L[PSoK=$rxއOL"FP__[# awd("\ .~8{`S耈Iíu =L<16A8NDgiWCzM!&ӂl`#sgDxQ'aZ%`X\R{APpo;w{!@Fuʨ3x>M/s= px߿OɓCg҇ZKYF Y3,q,SY[lj5ԫ-5[ ~GܜLt΀3ݡйQA2&d%,@%ňM OyHAɴ*nzyz@\\w~x?#X,xVEysW2+W<%XߋkpFjFˋ6YAɒLꉊ{"=CC8'vsڼAҐ٥+ :٪WT*K]\X_,q{?8w8=1dX@:ۛX}^Ny7|:/ܕ Ba.oq:<. 9+BpuͻJ[8^O-QOGQu@bΦyB7̹2]$])I'qw =zb.ެԫ KTo"$|%L]B®hk'CEauL+'a$jMzLVd5S9og(iB|ؽ7wOhXMkh?mZ{j֤juz!G 0pǃ.F?>?L&&dh)44"e>/[ y[)o8,O}NB%෹ln$&ƴQ^*ךtvCR7zއBS9x;HVJT 2ґ-z4#)E/NlS{/DdxqL]kႜl?0KwWrcs1TVhWeffd 1 hgg{ǻxGpPk #`6W}Q4JeI]]5̥| ΃'2x~-GMf@àkL+կ TC03vr#n?u:ԏFF}B$xd HHWl.oZiԫv MLftBOmK$Ђ3b~Wr6l 8qWNxs+j'B-wߌ }p(0 oPȃO%x7mrt Q:%&ƈf)J^]o)0{Q rL1wrLx<{] i⃬1 ҉X b1 8P 9yWpɧ9"/&c?R#8Ww& M} ca㗬> i e˅geϦ}`0F~ J+`%Դ^fznEV,^4sϯNcl,O_cP>2 /ԉNk5!X_:84;Hf|oG@i7v-4lj2Dgس6&MsD~cDڽί7YRa0{cî Ѧl&*Q˛TrcE6_q6u5<ƔM7ő-M=:{ D!mQSR7_"w=lxp'I>d5kw NXmUx# 8>Ӂox''ղFmߨ)*PmJGO(&>v샋'赤MKvuPЅ-!d / IO2Fē;zqɺ~zB|>HhtƉl B M^-uu/޸Q;}h)UZ٣;LW^xTIn4XLR")ho!Ι4 x | ~&lufoxmPnDJ]cp:Wd[/\j,P:Y߮Ѽݪch$ DO{⩉$vMWH$p0}mC=ŭ7#dVsc;-ҦU;393]̔2njH[WF3IG>W V.D>9ܬwT9 حOn3աJ絵ϾҩŌ҉fNZkx}uA^|Y?l(蛚WڴA՝ Y;/'R?25̘c8%??0ڟX^Ziރm}?FBI$;M 3iL6 tV0&X?8{k88RHśu@C{w$Ns!A#Cq)uӃ뱍{TqS@049=3Sm)jdڢy³뻔9i~\O2GINK;(;MeTGXi aw-T7~@WT [XV2WU[a;!{ʛ#oMlo{>Ov@7F7*\NF*ۡi=}d% uϯYVTW3Dͳ@ 5l| zΊjѩ嵰U봶#k ~5xz8hTla*pau 31{ bAc}yUMD ,V3bG <;lIq~x㼗s HEeN}Ѥ4Pi0[#I[\wq~7ܮ{H]/{}屸n;W!#IDmmwOę9h!ji+M ^1w5[+ ̍ &YNah@Wdy:}|#0EaP8BL>65nZ@}{o|cǿ||mReBc or͓3[7=!xc`d``b19&F b3B0 Uxxc`ɞA X-l(m
    `0ddb@ ޼\S0( P@AN?$˴ABxTJA>\Fl~T"QH)q3fG6eg(}>B}/K@zY XR37gϜs愈^ZEhs-gs4K !Z38OGmza]sK+d%|1Ù1$z Ah;,J=PeEbР)/G{Ɏ2h5GT}0>|ϵ9XC3(Kw!Y6i6Uoh/ &EmlC[ -F_Gf0=' 7I'h'+FuhCX=Pyj^oPzRPLE ͛j.ԫ.-W 3Ƴ K4ξ4 }.iAK6R^v؍UvlGR-(jb1[@##%@(û[,唒V SM &41>/iE omL3YXN!s HtJ)W《Tߏ9YqLp<)Tj7I=PO4E Al5 5zJdi7z%{g$pO|B a"kv渴?#сdb &Pڳ/yبllD,Pr+kYj7X5*d䈀>nKC Nm@̯ߗ G w v Sɤ& *lż+2d({(.%ٷµJZTϝI~ݙa!KtvU?N8`6&̈́\ٱM]KI_hMZt־6/& wA?إ0ϸX^.m\H֚[Cv|¨S^W*]^&"z>nu}F5A%#.sLR;N30 !W̌\/2➣Y%ف=%+wRvNJe -.)C1c嫽UJok>SҒeC|ꍇ|aX[ zʊ,d1b7?w>S<0Vb).#+1k+K7?|ec+:_)ڽn$l3H;S{&éh ; ػ9`0uiq*: GE B/L˺J ]yNqx FՆe[\ Kp-^mҊa` B5<"W[|+aоwƄ #,g\耑H+v'hܰݴ'w;o(v`YǐS'"1> ,b8&muK!F2(A\Ɉ=6* NܒvA&N=FLGOdN ¤pA#\pՙ֑臝ΤcJm\Ɩr\낶h,Nurыy{_Kt"PO6ǶW7UN,ba BЖZNed;Հl`c`G  5lh +%<v ف=Q0 1s6yٝouLtEA68Tԑ Aak4c/ ?-xymBh;S,ȵtm'>?zBѮX:JwVJQj\zݰ{dR2b(<<ݏ-'.L9^>:`0o`|6̶>uB?'y~œFEB|a:+@zq۽+tVeě+2i8#Zo((>7'u4<Jo uECQt]L3^םXZ'uv- .;M C %|w\ 0h,7hijڪj5z$J)T FpȜst T3~b݌o,LZZ!f1 UgMKī @ mū-bѳ+0*Nqh#qs>֝9:6z<eiYo؛͔CjfQco}Y.]>|;p[h5jjScmWӴ;RQ.Ą1h|3=]Qtv;|C`/tÞ`$Q[cy}>>8_H]^Qbob<aUd-JӬ|СwZ19<?&NnsGwb\o !e.2)y:}8sE-3B߶cpۈ1h'=\mڔ-[+sR{ q_:%;QJaXȢ+3Rf#Pl󲼐lS,2DP.Ԅi27aаc {ɱr5KZW lݫWL] 3+W]dIGii7CZ.(T3JD{`?KI֗#9[DAeĐuA cA9^_ Fp#|B@@Ǚ{:FomNۢa/oTg0K@(Wր5L& n&GݽLe>-98AnˏЋࣤ0C;8· ׁľ㢍:3O>ܸpQA7lOZmHp]pmPl`_|s3FJ;Fxmx%jUv2ΐWa/' F} OG1;pbZ;wwaY|O%56W^̱~'g W 7 O qM;Q/x- ~.W4Aʪs9hN'W%\%>Xh3Xs2 ^7Fq;0: Zf|c}]o |Fi0UŹ(P^e:S0]8X3/!w<'em|~΍0xH[;19|DcXjX_wlPԠZĦu/g Ӥ_f [j 94(-:݁`2ssJ`qMʊ^yHT۷4!8VJ9؜9l9PaN~E߂L^B)nq51tZ&^Zϊ'm:p}R@nTiv)Q .9O -?fN;{9=xyvքkNiTmhre 6u0ݥٴ5ccc<;,e)tpc)("76N|c)qHb^{.yC)ananJn)T3`TCjkZv76ȷi79H3;C6QY`uMPAGȜPG3˻T!U&p v0V6;{,'Jl؆qC$XMVA(w ]>Mj>1u.7U U ,9$5=Rsw1M:Dqbj'e٬lLN]4 3lFa;)W.+@޺TS";[9\b{#jfJ=ڪw0È 9i̛yMPKUjrMlWѢ5>ucb_k$L;fWfK3Tދ[۷4!uR1u`\ 6>y MCBd?n#&\V<$1އ+H\˜y s@l:.q+jm&\y%>7Hcd"ioNjBܸNJ$\&W` ~uzR~:z t-\#\mы @=ځAo4wd[W|Z`ɮ5 G7O`g3ߏՀ6^RB[r%Fb‡WMϞ毅wɚ/__BxRnǀǞ֥놗xVUlg)6.iʄ*il:u)&X 4m^tTFm(w x>"&tfj3-vhj)+ߢ|\_%<=`VWxHYGUIy?섁L$cͧ܈j[.螝aI0ۡ*\\.uu raoQϊ[FQ btC¿7ϼK?w L  w{aCOCT\R 6}#^r#;' m5lc#dG& ^In\aG6 aBυ(|YAunQՏW-={(!oa?$/ $|C$qlcC#ŻXakrPDy DTZR`E *K/ُ?Dm8-"TM=B,cO3})/"1HvL0`4w;a,r{;,:BnF2b͌}r'Yoy`hNRp JB+;ؑl[$Ov0!oDbxx=؜R%aԃ p{\h YO<+ݥ3f!/WȯdLNNÔ†%W.o,Q.? Jοjtxc`d``b19&F b3B0 Uxxc` :k A@ b311MdP`gafff3130i13ĠASf+ ̆ E@}q JLE32H2ad:`4A**M:̐l#^ 2O pwOFFOTTOWD iCFF Pb]ܵTFFTMQl]*GDEFQ OS/2QU`B`cmapRCqheadR36JhheaS $hmtxS48hmaxpTl`PnameTtf>DpostW0 2xܼgյ/ڃmv>d1 "I( 499TuUsarhH&؀6`l[{v)LWZ{{h.XSSS[K.s]]z u7kj.h~\\SrE.\w:>g&W˾\= RL\?5Wi~Es~ͣUFd4ECoM7=p><ӛnp˗~yϾ<|_~`G[6]w-7t tMW<2{źަ_xoO٪]\YӴkDUͥiۺ\uMFFo[okCw54h@s%5hPszknDs&8?ܪ4ܩKs^}5i*PSe)_;WӾ3 62/7y!TH!k|<Le!=Fe_L:;:-򰒪;KN[9(a]My)u%8_Rivm>ׁ eDɪhOBB z^VA%1S_+IB!yK:OB;X[{Ǡy" ÆtS[_b”nh<_2fd-e2r4'&g7'`+FZ[}׮^sǷMɖ-=,E(a4\Ńcw4?|.RrDdXrN0ư#ЛbZ8xr  ?U(6 j5x~;+t6囁 t4wdzS)FsD!"<dzor[tWE3кv8L~ T/ WTSb5z;ׁC \'Eje en 2*cCzаU;/,QpnPwk߶5?}#T/A:é2-S]yo9,XgC>牻[K@ΊG 1TEPNk]I:t9l='>Kcnp#| ĩȾᑩDz6| ;_}|%Hx]A3ڧNT|:BH0~/8~ aZV& PN3Nm-Q>gXw9^CccJidqn_9Eڼ>['B@> I옲PG8AA7,L)ʝGTg& o ʊkoR9!PCYBHa[k[js K{c5W(RI>>^=Qg2 n18.j,L0?^F@¹0tU0:Ӟ%"Zx aH{O3[wN`#:zT[_^׮|3;K>ۯ.OM47t5,=bQJJAWDpQH4J<,4W]hwL5*{D9Xܵi֞ޕly2u/ch^,hϝ[Qyk;$*\ ̌0YښЎna5 Kr\DkuN?5-G0،oJ|P'䔔yGc%U9l!|, A?c$9 d_r=}SvC+^ڈYDHPS`1Ƿ/xV}vCOduS_VV*,XέR斻-OU/*Nlo <,Z\CppHO;46v۶~L Ǔ;:14 3&J?Ae<yE\ 5 ^roޱ 胾>4; \G `;81ZtR]­@ ǰ~TV'xqȹLcU b!~#妿+?ܯGP0 <'EG(u)K qKc>cܒ;N.I{f`#366@+lJwM>o|oO8>9 4hmyCĩi}Hv$/pKᮩa(qm=3jܘq"=m\~9"D{y(/Lx L8N (L%8|^өgCR!&` ;4g=< Ii1MK*~kY$ooi6[0u9ZipnηN ɾqbXc$Sxqmh'z_ SE| +*0ɪ颳d\h/{089ʳX 0{q=›A)5/*]r]oq`~lKmA*βabϞ\ĸqu{-ZX?|o˫ʥ:J- Ϛ4] V(FpŜi\\1?H2lPNFsp<_OblfVxVnkBfR=h.O0S`DZfȱW/>7]}}#vtt,[ZqŚυ**nɹ?֑Ў΂m" =uV@]xcnJ\ݹ>H?e^ձˆs+sn#P'p21Lbt2i*mxmŞ;n{WƦŘA#.z|%.Ƒgޗ\@jK4;&<)LÉ|K4RO);Px# ?89vrz\n(1~d0 >U ] }>.魑+W}&'H1r(&RFJ֦!7Bu fދ~S{(ŊsuܐCo4٬n3"Q,O-y ? Տ7E =_>gކᷣgP"#Z`Y#`]_+2rrBAcʸdY<}`Z\l !#h9!$xꨘ7Juˮ@l ` `rJ.'-ۻLAڂ#{#0fDW"]ViFz@\Ċ wmAaoȓLD* RƜ8W/\tb, $< ;^; GOdN| 8vwSV/=R2f㛱~.k ;V?~j1+FAlpg GORH _d6ռȥK_V^X+ u8Ź`l{f9v6tX{nG0m2Actb&SLҩT8|B J=(L%=a?Jy2 ݹQqջ&99&yb  QLp$^la1>E]iO7„ؠ0Œ:^ӎԮ$ZͭnûaXv^V6x {<彾aH3(r jBz9Isg/Vo%:;}rC(mOx&34ML{J\&}(.<1>my$KP,bw)и1ٖtZ ]vXl,%!?)Slhϻ2d枎i8+9F LhKœ1t~b;+z4: }[#lIxB1'1H 2g]N#ru۠ùw'J`\\~#.APahbgWd-Rɡq; pg*57 l'f2(,{e/Eu!z]&Crc?B\> yNXK_~W0Ebbx,sfj.gM9=%&!$ DW5Ŗ ⹃zI"DIU](O uNtOtw6U Oߣ͋^x ~oK O9 H0#<iAjzuap#֯=c [1Od:0Q)\ {_1>%?xTש)nEDIsG16(HKȺ@?!vA(gc$Ų+2fJE) BX&uLf7SQӑ>H]z'ZO[^ lz Fy 校@搯֏Af3"o4/b=bO ѷ X|St͒aG)*] 7ZqV,u93*-Pʅ|<>`}V5jgxN"K]@"xam74F͋]GÈ1,ֶ.g?ig\p-_ڙn8Z|")4a3tld%iY^ Vvj}P]0 bkKsGgڈgު\l3Jr*uuY:{vzfU}* &r"e P|;:GL8={kE~cn{ׄEAwz@0Gv znGΖvH.06 .;Зؑ7򐨺vπbs2p QI{knsS]&,"gQ"@dCQUÐ]o萆Du7*DžcʼnRe J(9IgE>=yVFkWAd*O81 x0˖\XD!fa|2[T10,ĩPV,7gI6Vpi(=T1(OC!D(ap8 ^,U!2es."ïm'UUN1^sX|!:d8h]gXlo[ylp, r&*zi}P4v쾰 )I"0'fH =ɖyjo'YtSW[©QRcuHG'x zS. p {QuUELxp/0ȸO}ET>Y,WbHS98:@vh'r>,f Jx3!uI'd#܇IhW ;VnEkZK@.P.2c;RXk* H$yg98hl44Zyy T>\0ѭ^ףO{z|X'N%#cE9<Sׅ߲'MZA\]fGCC@t'~U [.*|n{0iz=6QFnL?"ϒ86{ӡ KR.q`r43G0 .,碝~~DCQa>. ꐟނ|$&ZԅCGE gO=E|[Ɂ-:z{:\OmQx'[UؿD*{%&$3h)Ywά7JWq: a9rQibXqj6?p\WY}=>aM3ޟI8v1f۶#5# `.|tfh6GWn_8 [rL_DL* g!)TGQ~hAZ0) 4,=W~e%ӯ_/1'}Ůd+nf5Y ㋋D4bdtG {?WW8ORXvA`L{cfłĩccGQ*…9uY^hpT d2B_dYBx4pX:>FrcUeK'-$%G27M&} _ܙH [1͛#2[O];k"^ބYkWQ;;wvtvExU~0n?)3crխ\<<$9LrT "OΞo^*+\ A)"ő gB*X"&&f`LJENcTxTY@E'xW;j47wl40% [Qk/lXz.dC= 7P(DbB 9&$q1^21j_` "GW/{H4+.>utD\Qf_T_ZmKID,"J] ֘ޏ}jBӿSG/Stʡk84эÄslp9*L r `j;cL^` Z| Jst)SJͨ;Ԥ %)0𠧪qmE.i'G?Z;1 ,phVQ0VONg)&J&d%:ֻh^;Q“s'6߁U{\ѹqS{ObiY˃#`WUIg,vXYS.S[ʶ@;Π;NR_WE 2),qbx䞽ސG͋7J \|=W*~}UfuXOIضP##FߠҺU_%EQKbQ'_8y0IKE|Er]&KҪRKB~f8 /BeZ5Ȱkp`@S$gdrGxKIu+ΨfO82?=t[ӓO<4ño=(_U!~ԏ 83%>3y3r 3#ר >nkk g(K6g˱P,g˄SZ&r&l\k}mH?:XiPM)*s?9톍IxO1ЍazWݡj027lYBʿ Tj˙>-a a͖BX u{|%p,Inkڵ{="D;3xq78㶀`:DnXۻfMꂮ@! sә|nkS71H;TݑDcHg̅3m I^\#Z&YꎣHodg`l\޹{tf]0_NajRuNfi h >6~hN6j8H,zv!J/+R7rS`Vm4\yǭ sVڈNqrX@: qGP6B/FfO.ʏ剗J|܂a(_T_nUpyYxd蓓wBRݞnӮݨ Cs`[֚pber;N갓(a8=~boJ2bLГpݱH\IwC:cS#0 6M;xn^ ?7nH#+Ξ!ݪ&&'E <017${~3q.!(‡x(&Rdc+Qd|֌ rGr(?B`JNi1?O:#m'RXc}=8N|i촇sA` kԥH6{ߵbroWZ]֟1 /᠊X)]hSb8 q@A/L@ NqH2wO#=V(ŭEU;A|e3c*GIqT*&F20t3-6iUpkw=SXEK LDJm'ҳ9tv>%yPj1y!*@@RUM@YZqt{JrQyT_T9$qx8^k0A.I_eMT,aîЃZOO  te Eʷ^u&܌cx-J;G r4ZChм}̈́κKs;38MnnAKWJզp(-P6a/LF d|WwwC I(跎ZM5zڜ~jpZ({3[]L=ly7Q,3dQ=bTObμt: T ")yY'79݇&\X+IT"$/a~vV} ӟ) T=V+ hn4$7>){17Qބ9zGo{FwAiDI䟾i?k>+wR}6g^es41{?HSX]3qglM4\B]ڞnuy=ؓqL8Fh ~xjv$d8eWq<}W3ƋHnRw׀ ?y#bn#t*Ÿ"-Җ jCX 44`"Q1DB{ysx5z[]^5;1Hv7ڷe6daO,BLM1 2z|H83Jۓp`$ό{dVFL#6]Z]0"># M Fh81"RG"2#c'l/()#bӰ@lI+`9]RaF"g.F3Q\gHvC]NH DE+Wum7է\hn)?SC}\Q_3 |#v6h[؞ XRQ4ƍⲐS@p|< 㡠,j@~'}#\%TD &Pqd4Ou"W _Cq3_T{%V.ұBKhBzt y\h 3#Hl0cO #RI ۈ*W~ CR^yXeKk,xþR(U`cIm(?!ꅝ7Z [)[ĐD!qn"LĢ[-ͽ=>c)rۅt#[ͧZNv#%|6ұ@(xi.Q,ـ\%V_UW2ռŒ*-*X}|/bL_ٔt0ns3Ʀrǧ l3iH~rD@&0/5ȨZO-`oݹ]3XD6|Z0gm.|Fōh)$i4rTJ 'NĽ1-PʽNRK>S^6Joz[Z;vBI^C li<0pˀi_n6 ZS1O7 .«WWS[(1}xԙh(u>ec>2˨{0&)L+{R,o?j~\ܯ.QYGn53κlCRXFsE^r;T8}S'NdL͘ߦf(ar.4Yed ;uɞnzWiF!c9j1vэ4 8]x' ϼ@ڊv\X¬`7bIbtlĮ7GAW=1YSl^>01rT H]gPcn zAYXSL]w.6w7huQiLTry ..V?4ځi x~DW5ުi+vwCCR/S.$Qge7J/0"7 HFw `*&D_Lړ3:iw; nvg7M&kuyVP&2_7>Qa!x97P.pQƹ s"NhM&;ۈݽk[^e,!\t4[,K< Vc[۱{y(5 y8[t6V8FSpY9+1oʙq%7:˔dM2?TǨ*b;XPGPOr wt u2ڇ.y# ;a ݿscj,eg's(d&ZUF١ʳFR!oU]CIgi}YKGիB"@LQ{a WÓ LHwC[Y|q|4:K%舐 Ro?Ē42 wWviV귯V ڨn^TϩAPj2yV]ԥPsp΀\xzi$>WnKGh?^pr>kBp?ʸa[1ߍƇfs/OOgc8l+Q ϗzh_i?f~k0usXg FⲺ>3c) w6t/3l<3-6܀GULˏ;u k,WWZ&I;nd6sd; kJ4,d0XJ.חcyE`[Yܥ+'MCV/%!)"dgDTmc9I|fx.cL (E"Gm]i{T&HFg.FGBq%D*R~l\$xxLYΔ=Ɍ( dh2!`E[`93m=(&官U`X2lD6U8v Zhq`VqIv 8% C|WUW`;;R)[/; ̓M]F¸`xTov.ça+ku\]e,)(HcT NX^Óɡ d:;mV7f%O|858r/<-H,/3xhE%B%]57$cd)=y ,-72:-^>zM oЍ:A mj)ړ$|_K#yPܕtJȪ"΀# =?ڝPA9~?7ס{g~>iĂ*rvarY#-\z^/j aXDZW0C<_%@nr Bm#Aɂq/"Fe2/E9n"d1mNyfrGL37(zg{Q "pABʕ _:˛LG& ڃqWńP9Ehc8 gX-"/r=zތ |x/VޘzR$sy#4(þTX[mB7FGmϱ4&rlO5kb(N@NDI*>^[|#Wb &7Vw [0PHKaq,PI< {!E#0BkŻDhތ7K!׸hL !)5LFyL^6)w◻}lЋZ/,WIA#r"Ba®dG7 = Fvk >,EY vw0̂ yv(XR5d(]]FV Q ovX7NT08i[‘{ g|)>\=ʣ)r7SdCO-T۾RR C [Di%%B=B݃Or F26m*|mMxK`yYȺ2HΧjWh}7|pEZo,?pH N>i/Eo ġ @1cR' Aj?q_b.4["BOΌ(ER4\JSNh%\ӠCY+G%9F3`bHԱ]* s,uFԂ<5M  W: ĀءnB5~V,Z﬽N?웫_5~w2 gd8fO;tBړ"q( Bo$&jrLNgPM|F훯:#,oҤVΤcjos30ǹq@,U3ّ 5& *c %]s}*\ q:_[L VdvSpby4ɋ괤Iݱ mrxD kbgfK.8c:Nj N-],AYc|ha3ЕMӟK۵o@͙B?zNK-&dd^SDv)*k)K̐S/C+U+deFvkm$মL3&,[&4r ,XR,hPɖw.}~vrv-t7Y7yvαZ`㿋A mEM| X֘ y2Z$χY{izyW?5Z`} =` 䐗,3R`Ǹ.3= sM nf?`@jf}zf<8X,M-B4/!7Ct5]=E%Z?=\BQ XiR6nJ9䰄Ʊ M v@gL\fpWLKM:wxFLѰB!4|ZqTOωHԑBNQdΚٱ4͊I}bd0cQ0U|hRiM٥9ė˙$GT<,&1 =7 =9ӆyqqp!ۓ]=NNy&97̒rw,odOPAq&Qʹ.&N_W ffy84\.uHrg'a 4oXtdN;\"tm t zL!rӋ~1Zs;aqTwCi,XL+mv&8vUPT~E'Z'wg6jZ:ev;mu: Ml`z8KR[Wm?77zgMKX^'T:iW5 Mmm{aGjiJ2*c ]^.g/B\|G];m/\i/|׿2]quq5@kV^}uwH7jT^c-S!$`] pg=2O%xc`d``b `b`x f_xc`aJbz 4CF&  0y 20,`PxA#C3P'% @1xc```f`F1, @ZA(Š```PŰ@A1cQ`P922$$3>x(w7o~`#*, `dc hV6vN.n^>~A!aQ1q IddUT54ut ML-,ml]\=<}|L*BB*1xc`d``3Osm2p30\]F_:&(xc`d``߰` x-K+aƟsΐ;3.\r%! 4odPSH)+_@1b| ;ů_}9u0 78JvOO%0BF4i%d}0KU}]g$!kGJ5RC^ gj|[}{BeΕf=t=C[%in!Ko#qN5)i,GCѮСi9]G^y_{iZ@.1ÌX˃ Ȝ CĘ""*'󎳷OP`xN@!A4RU]YtQ BHd5( AĎl''7#t.ntE ~DQ)|}3wxlB+a shx9|6WԺ&̎RUĦ>$&Zw1Wܺͳ8ZWՈb!i7] _؂ޱ~䀱bu ;tOt7'+9vOmKX%ؓF#үAl}y; }_YB;ֱ lcD0` "ZHCtΩ+ 9YQ$ #6 #vns.qO5uWZ4\ihh/:j۲İd6hykgA9M/jjknP7Ϲ+6 774/~/}Co5i~iUoQm5j,լ5)͈fy-_.vg;>geɒG>YY\NyͿhYE͗4MW4_|MuͿkYA-ͷq{4܌C͏4?DsV5?ܡS3]8Hh\sC5h,a{\IS5!\yFfff%jZ:z͆Z j`Al YUo84~sA\.%*6na+ uK_. EKPSJ{N3}w_gGb zw>^~rOxλ;,W[=ޛуCWsKy'S]j[Xzic>;\])a]}_nCG5¯M6VЧV.\eUP֦;՞B< A0xeĂ5{>-"ф_4m^sѡ1PnE?=dg˯m)iKutYZȋ]H{4 0"+cd H[XQA[Mi) SHˤ Vx#Ҟ1诅9Ȣ[.՞Jx_7V*7U^M/H ׶.fx֖Vn~rNIc$1? "_MBX<88TN Cf82Ɓq>wH0EJ* F213?:,=A@a?r\EI^<@ {[ao=4L#'$<;-l8҂sW~-BV0#YAX,g*/4Ӡ4Zb{Ӫ=7wrnvuУ5d&H# ppEI9 ;dNo4{ ?Η?u t.}.xLnaϮOoʵ( _;^\1[eWE}JwEo[ϙC/~flq lm.䥈E*?biRiQtaO )mRD8E9p2*}=-'8.aD6])R(nv5g5-dz mf3WE0 LIGFa{Ғ7Tl`:_,'AsP( ZzAkr~~`!'X ʋ;[!~1@\JQ1)DrY9;__nן : D.B[n(0 zNKcc.D~ʏȩpIAF(Pcod`CMqC֠ˍImoeXql |ѕHA./Q=.چwbu}վ቉ns+šTt)qD6f}q 8k7Br @~#M}eUqx9J,dC[-DA(ll՟T~5iR_男t Qx<22/<%HNFX k:; }ѭ=dB8|ܴ#M섲VQib C<7VE@!8)#CjTBڿ fad]G9 %[eRy9*ڐxhϿ@9S_{s ',7^߽0 .18 Rdx8SmV 3~)&y8m owoX(!AAr~ȴrLc!AP1h.@r-.-Qܛ<92'Eʉ].+TV}gmýqu7NڃR^:o~mu:.GPq%ANr)R qV?Gcb1bb|23 ~v"^e%waJڿX#Xڇ< @FstwI2Ĺ|iQ$Dt"ma#ͩ{l[0zFwP.4&r-b{^5?Zf//".E #0atbV?۲zCt[ߺ ^A Gʵʳʏ~48M@?~~] jSm=j<ܴ7]_]9%pen20c#rWk`!l'~b\] i3=۠# ȊC@|?_9szp/F3cM5M$!qVl}jk#%7 '>TNE}=fg;YoUb98GqalL]*2Яc&]c*&@$6IHkx/ԗ#A2:f}(:2d86rrW$A ˜N!e᪗Ew(w+_*_:Ѧ]%WNR:Mhê 4y⮄=l6z־~bV:vC@b2&--M-&7gKi?bi{.0TL%hHqm$&BPV3%9?mDj0Rq& Q(F\:WFW\VgAV 'kf[o8u覥6 #Ax 0eq1"9.VJEGE;fWTIp62$wxw$ l %uRHYl\G#ި[&oČlOtRf^+~)t.yh1}XhKAw(6_@.AAIK2 i)ҳߺ~+gQn6=YY񒏵5\;2 VoCڿeVnk6%]a>.q E&߁5]V+HLEhY!LlOIEg[C&W8b~OF]Yjnԅ^CWֱ+P`!\Ny s(p燥ղX̾J-q,g]?7x_i)F s5Å=}eeaϺUkzD&◆;|CwSS󭻠]I6DftN.OF’$xdZD~xc󦐛5@;]W;F:fB7,zZD:L#D,-GJ.Uj<7")4\*w19OL.to0AsӾիq܈J qI?-M)/$8;AV 洡b"TD&7== 'gX&aJJ #ᨨ:0Y5dCqSYCఌ >PW'hə5VUmz~,UՄbn#ik< wZww+2"dHѽCkraaڝOknw<6#)̍ FdVc[eqIL4%q9uztFLW$Ãd,S()Sg5}}KzmNyGDž}`Lr$Z,٥P͌u,ww(2AO9/ LA;Lq Y停rIi}ko*w|~vmfGF5X ֘s؞6=[K᮫%KcN4Vr'ўx8x|E8Տci[ h籮VnS<c;Tydss8:z|HN+c{nrnUeCY#Yq\D =$O9;NI !hd3a7=['%ұd89w V[DT0M$D<8\)l|K\iDUytmf Zz7nA|ޱ# *ecYa 1puE1 *JyPꋧQ nAlMq4ass EVmonNL<3bOo\9B >ÁH [ޖ0)@5zա /%5p;Mʧ~mZm:!Lvp5'ŵէG'vRH:xph.5Of#؃ M{2zbn~@&X}jC8*֒dLbp2zt#cGgj|4VF)'@l_q>B|͒OjFsg^|eYB!jT?:*#:_Zehԯ'fs{ƆIԯ߭)$Q#>A$'c#i6AOyKzUwl keZfئA.RL#bXofpx'LÄ;T^|};pxQWV yv3)@.'0 mǐb^ن צu  ,R~LJ 6ų_" ,u)3LKX CLJ''¤k4ϋT2zpbpbr 2H{h&>/`qd4f}_ taW nK/CdGԯ]M:v<`de(zU c1+3GaކK)*(.LQZ,l <%r0JŃePҗ&]8C^~|>=c ywAvmooMQ}ЖC׏vlO7V܊-N <|([J/9 zߥN^XÙdᦏG"I^qʡkYgP Oi9rqwմwSXUwsjA=OAj ]~fwٜhL75 \VxMyЁ9"1eFm1u&8NdءPBPrȜe '"/+}hQ*|vQ DNN;RQw+xdʹ:,}4崸,HJDsq_NmQw w8؇+zeWLq8n@(ƉWwGg0N݆1o>X`#NPLLq &,U{zphWɹOl^݅oK{,U8.N_ޏ͘0Usʫ(>` 98\eZ jwu,AAWOJr<IHiBVZt+XF9>lwթ#(bC+,#rQ%}nm؅" yuOy8cAȑ]'"g*ĹET_qVmcL9&WWE9/ t9N,:R'%D`ɑv'a36 1jza6uˆZhCߍV׭pn\Xۺ0ֱBPLPg‰ ,sY}~r˖D.ZHc=dn0qNHޱsr6t+-ISS B77z%duV*:?C W$E'Kh"Xc XYLz^)tL 4Ð~ioFW'nX3{6ƶg;%Z 7mܨfؒ3r6ʹzF؃(IH\̢(FgSX@$VL)<Lc ۑj" |>, )L$ҬmZA&!+ _H0'cѰr|"Ŗ(W6_g5E~qo .ѫ )ˑ˵TkN6 )^P}C+/ cC`7 ]1x BKHrIb̉S$x`1&S%u,x"lw`[5;@Mku9̎ui#L//=3WX6jnt!əp I{/I2>9]ABI,Kp!. &Ʊ1Fb2JkOl1 cw@ ~ݳi1!>G Nl1(>DLFDPȌaF+xGX xN|,ʦ)bdL.+Qp1>hǺ=CV hEχ,6_?6MRN^X[Ȥsy41AtzF`2I8 x0׳fE:sHFMv4gNz;[ F#3aI2ǹD ݻMcQ ٰ@s,$F0mmnJD -z9bqld-GWn RLfCjYOH^L@q9?M$LAE$Aw齐 hS dt} 6ii_[ÛlonhZXkQ/u!l_;ٳY] l1Ái)9fTY+%De}̆k̍S>[uu(w'B{Yt617=Qg[yo ח` zٍh6"/XV9$ l\w~UzA;J照̞\næ獣@Z拙H)\/as0asi!ӓ03Sxjl,ǹ}Uvp]QR"l_7ޏ+Hv{֖f)@bTgCH솹6Xye,٭jIkyx8=g_dJMə$y^R Sjq^Rb.6[g;Gmzȵ>95*}@݉\N ]^wV [ ~t'-ekR8U|O|Aif,W-|*'Az[g9Ģ(sMrcGt`7igӶm=͛0mVUPD!ٟHCա|IcUael v'e!!T!1CIJ(:mFaXz(*a2 as(xLVCp(_?&3嗧dʙL.-{eV1f0;IN $E 4i=ݸ&mw69kmhK*=]\uv #2xc +f\lb2qeڤ\K;ߨ,=C ;9i62}ńX$$Oؒ˴@Fڪ{24ʢt]J>cq"z (2atA21,_Έa9Nl:7~ pf+Mv JZHפg2֧Ur 866whuz8rL ⾱1QEH.k&z+]ݢ,A:'jWՍuVҝ·~ԿĮ B(޹7̠?~L:R!Ux`P(!(:\8AiD*<¯(־q;iۡGa!DߟE, [&QpKRm}mFPh;GuɷV.=Z_ErBȬjQI:@uX>kdY bGFp88'ώ!Z[&|bɟio+/i_Jtiܗ/1giod%[u[pP1ܲ%ٓ(s#"v$#EPHRDmzdwt: *JHDIz ǐv}*挧jyv BvYY*#'>AC5kb_Z<b!Zy u~A413_E+AMgѽ-6q,=ml A+"Mdm1@ɼMU#Dy4ZF,I4[*D z^݄oؽv(NEAnuXȄʆ݅ʗk_q!X e|cV*6L#d M/FbZHy> %^ Rpa*GDcfFf$T ,9Bݙ$+cD"QS~աtDxw)_[/bmxY[?~8\QpTx Z\L`)*F'F_n3tMï PnNxj<⒈DoZt*yx}VJPp43= FĻBgm *uV=]Hى}& =mh/lF[L/R5UqXJ^WV\Ҿty-L*)I/aFs6iPK+QpneǞ5 laJ&Ğ=/6' v/NJђb 6W xn2ML披UX讥C!p0 C#&ۜ3q$,ܱ<ՍYL 0ZYxvjՠKp_҃Ҟ0?"#cAwȲ6y]R&rFNvF,,e-h3g܃.\' lQ8/X5_xo)&JBUvviq|_&\Isٓ2nU80"ʡƩzT{(^+fXl%8_y 2#iE;r:# &8t| eM!K(CP~८p J1ޔ(ΔC!Sz|2Ȑ4I4K28"v3|RBOc Ma/od#6arZ]}6POv wQ&1  I{j5\ݳuY~k׮ #K+Fajh'M2'o;,V% ^j`{vQM'E`$J`)3\[|{V;ՋdVh-&LQ#>!w"!CD7 䮞׭k9“(QD뛉~N$n^gSV-|Ae{ZKD F[rbbLzq{P<8%7a=IGyKbkqUb`hCҖFmqw|Rws ܪ?߸Q{Rϗ|H0as1jis26 y}7 9(8Q(Wv]j~7ҾTexY@ўFk\U2ewA`q!}b t;-Įi\]B"3Nf'*qBX{}p</ݬ.g1>L0Jh3WX!cM!|ل걺 v>7 PN:kX1ܚWXLƈrv0]"lCD>X ILDxZٻmQ}YV 4ڣc%^:5%,n=WvA ʗ)$$ gl DwtzRcn| .> cZळvB@L  w3sQ2-f :d1<= bTENrn DL%]#)恚R uW&*h,OILJh3T0 }0 W%8,vb.yhaö^q6|`=r!Vk:'*/yȲ:)q]C0 Uv\4U)QemR/ `V kzKc<:j8Qȇ gUHJ 5@NtB׫8g@A08dReeTAU>!LGـL"@P;a)s3߰YI.#@ տ:=  +ߗ! mCCLsp1iORN<\4r~tr"14fB#}iP`+B_g79nވ bD3B +%Qj&>%ai;'8x8=_xQ)po:_9]&EQT2巓ST.s-Mvtt:1A{G}eɳD#:ᔭME &𖸍ʼnkκ+ksoW7D"n6H WL^]"DdRz230 cs(4Uf*x9^Iңatt42w<9K%WӒL1jb\zWJ*f28)C+˸H v"!@[lNUUP>TT?%55 /8>nnkVO<EНw\s$&cMq<7R "8A<P{t0` )`Dj,17jO _)pĿ eaTPBʰyl+utwÂb#Ni2/r j(Ոaq ~6FNOh?0Ì?t$?؊P}0~Vu˝sG\*f&xB&]'aSI M> 0?ԉ1K%z %gŷԛb^I^W`], ޠbH0 ҭOEYLFQ(9]X:6s?Lu?щ>qUT2jV2nn  x8=9LPsY=9 }+q%eǧN.,Y5tM#wu^BMM?\ܼPwz`ik n6@0RH*l`KՓICIq8 P -dj~4o4k"'{8c5XwOLq8] GLO9q:2wTE*B|wՇaN`*NSDH})/0.I3pٸX\MdRyU/ >|7W2r^Ftzw[Q#z(i<~rt/G* \pBIF+)'I%|.[F6+( x7톝xۉD[ٱCOH+STRқ?HgG¢Ⱥw.=5׺Ny!̾4he+=>bl^lT7ͯ$g>K 7;s`H^ 'j &H; Bta-):rN]:ńNm|aPQ~1Dع<-}0ЏY6ս 5-ȕONȓd30j8edT C'΢L.w4k^{b5͕_qf"U_:_]ϰ "-WN|6\;FVLoAJIjjF~!VO\ 8N`<0+щ{yLƅk(Ga*RdvT{/?s6_kB~7?b8 b6{FJr92y=+rC"|l!po .D$V#!c6G=6Hlض (>OBW"Χf^ZD_D);SOv`V]Z,5W@W73O < d1 'X EmV2EF_y ҘtR0620f4͗ͷL[˺xg#W؂qfR}%W$3l@e$s\`7elF1O1jM (P&, T!6bM)mPNZ"Ykh[te(Xz'=S {:>p(-H\Jl2_,Z\VV yRkb({=09> D$-wcqڤPӪJ'߻eh>>hƮγ7Kg ׄBDDAْF+_'%Jl\^ Ը6_qB s V_|":Ĩµ/̣=|~ ˲yUT⑔;0캋QR 21]Q$\)6+,א<MC`cJ;a3#ncFdlTD$MfNKo(pA!H42HyǂiT.Bx=ˆjTi{p:AAL, 3f+R>pzDT k0>f%ϫ{j_MWsowd̃/5TmzcˆzGG7p hW:+6@-'"^%JMBH^^m~Bb~ 5:/I7o9zm{7eҭ%w# g=2O%xc`d``b `b` fjxc`ab`ŴB3>`0ddb@ ޼\S0( P@AN?M dxc```f`F| - `PbfegfcbX *2 @ ;old`l !j@eaecdbfWPTRVQUS7042615c0``wptrvqus "`3  %^/xc`d``bcm2p30\]F_E s xc`d``EoY@" Wux-O/CQ-Q-yVEX%;ec)|wBkЧ\/NܙAAu쉋(Pksw ,^ZMޑ7̑|`K>1Al"!m6/Ls.C`OPaxTN@=TشRtMAJQ$r@TU*48ClHvbXte?E?~DTx2X9s}s GVFla $K(jTXB}i 8+R b1.jT+e"UQ\zoB2 '؇CAǴ )coC;<42\:J=Hܕ!=Nk)^uzA¶U,j⊎߸w佑B].p+40{ؕug~lt#6YarWuG:!-Zκ)x%y?;h1=~uItH誤L#gWg!t$w͊)9sCZh_Rv9!vwj;Wq̳li'Eijܡқe{)旓$T0Ix3$.Srdd"I9zI$I!ɗ$:YK\+4K$%;%$G%$$Hޒ| TrUD`B[}Xf$Ylf2LSh cgLf0gי+w" rg!C< diM!!!!CRRr0?Lȋ!B> "* ^/U!O:V:Y4JV MJK:)+uKۥ=>i+ϥHJC z)C>4tum%P6ZZ7HP_ˡoie 9yiI&̝ &Ogb^BVt^|lzjLtlnNxaI9I)q}J,bn,3NM^\b|NԘ5IKV$%FNJIO[4;hm҄ `1%XL ӂ`175) E@h ښ5)iI3f'gedEgg/ZJ|FbtVVz~J֜܌@<xJ\ZӂE˙3E@s^mn7?X,'b~?do(&(Wrp)xWNRtJ\֭I9i998qIx*`Ddܤ`1-JNN7i`1Sl.;JH~ӢSҶ&%F%&fҤ`s'}KJBYc{VzxLNJMJ 9eBFg`)KN:Ax$aKȊk`1/PL6}8*7wG|NV֔߿n0P̜,&gNMʊEKV0LS0L41L ft0%d.wt$SRt2]bz_{=^f9d1q2ǘ>9Μ`N2Dbs9\`^d.2/1/3HژW`.1o2o1o30w?d>b>f>a>e>C 1{G'g2~fA7HBiHh ?,\2$BnD&pS!CC(Bn Q"/5dDm!29BDHdȨB'ސBG`C!CƄe"Ebs7N}y=D~+$-.!5LyؿI8Nv]'a Ȇ4n:u7ϸ;aOnyQT𵷮whmmݷo;#sis["/]w{ i㞋\=b=CɣNWcp%M31mGLGM>6egnxieM;7i?MLwxdFYY͚>kѬ5*嘵cYg}4#fO`%ΑytN#N|{\ٹ;|:-,./n ZY.ؾ'{"'ßzZ쏚riN._3\jWWWY6du=nNWoyݖ_[n\eY[nO;[M|:Tۮ&'%'.\شicvKOؖP;[Q8rr ݝ7;xi+0WtoQn+Yɭ%/>ZXzHRʞ-;GP3^tF&]S9ܼC,bM/Uv~/<chva`. <>2G \!V`cxc$A&(PB67սj+y'U\gb DUW@#9qAxj;1Y%ȄGl{h?znWmXo&^:|١FUUZИZ!Jؚ 1GlԪUUB QTؔ:@֗顈w$+Pw) 7ͣ+ ;:OGJIS'k|; %t#ݴ]P0,5DK !ۓ_[-fRkh \:Г E"kVHf<򄦤΍+%5&䲱F!Ϯl _V&{;7gm!ғ;PR%_^WyDp+9^ ̜,֕TA?D)2l]fiaYiH6L@,4Y~\} #h~+i?5GO@sBѯ?W] ٿ12,`ru;v08E@T`47\< pOy5/ۗUI5PJ 7|Tʉ_8Y'8jmu] h3`m#w_7xK8]v({Q|ݱ} vUi¯}77:,=S|ſTzE>W`d)b22F.=wzfqxKoeCN5_ȩA`Fْ3EzʂUkVI< $OIᴜa;LӱNq4N6|/u8;+EP,; A7UP v]|q_ ̋!HL<Vt).))V^v9C4(dSOG}3;+eOzR.LoDf1 f?@R*_*M)lDȖ(PK UJV[Y^@z VzC ;vaG紛&[H\:}0&WG7ZLC JTz1uySXaxtFɈkZj r; $& #>@JUŹ2VGGZ RN5Eom{y#g4ɀt(tW oP͓mSi,R !1m;Z:8X4B(HVkAkkk]K hF7V,vڠjեNb<ɳ /4vwxxᮆZhHG-&[X 謹`#YYWiY??WZLP}D.f4&}H ,o]* nEN3kQ^8Xu xi5&5A[1o%7(7폨Jk[95KTɩNg 3r`7v˱sO.WCꮼ&RR_ dMR4It e*iiipZ}L!ik/c{:z ܭ*(,B,n8ץ~ -Nsah@HKi/\Df6,y8X vcl kmk{MMՑUBO14. }riFH)uu ')>L(­QaVx`hf(0)dS ;j+VZGB x |RPIX*,1X'Y0w9}D묳 fC7dye"pBp[OVW44ŕ^8KkIlL&WdXV2B&NTUrhd m;ENbha2} w9ؕrpw؛Wml΄Ds늑 Y3]A0demn8"⇽9$X1\CQYBVȀMMG{>tKH&*~BelRH(Kj9Ul5.;-/ #"c`6j0,:C71a*_sͬXgtfpf%gˣV#o1X7]⋫~:ǐкcd댲uKb Ef` %.C]>M--dӖ겪.f֌[:`FH@g; 6SW =$"ma d5e^3^`>*">Ĵ ULSEκ' ۭleHn 6c~! ]jnaLpL3@ )="\pnG0z~r}Тj*X8_華ؼ\+5h.q%ה4`LM9M6 Bڵ !ݍ9\X۴]ӖHzT͂q0;pŀNG6wdP|38Q\ظjO|9B7៞ E4W#׀^n F +J:Go\˫A 3Kba fV8R, ;\m.[]H {>B5cޯ93uvXzp{ 9 R5sKgn]Lc1%Ep/FtC{'"? oM;xTKx$@N6'}fhɅu­TJG9Ý? y E A` ])a1f)ݥG\<]YQi>h-lEfg软K&yHxƓP}DFYk&ufoS2q'N-fdzzLqj mrd >]'u{:^樳cƢVFNmv8Z4 H_hUĘgTZOd&5~.iB;` &yI1˱ư!'Vvs|MzSꉞxGb%9Z/D4^(vCfZ|FMSY24DKcR*|T4Go-dzE 4 ʺy@,la*Iodx萿mi̷=NL?b!iC>ڮtUՎ80M.7JSHǔS{ᔽC#Osmf3qn 3{`PncAYlFz"JԼ+p?ոJk2*q "Pntg""x|9a]$ nCOJ́lJ+:e0MK6~g&B{EŇ_$Vbdm[6f>g0*2W*3 wb U򼿴&wSVA}!%EeȩZez+f6[ tktz'u +51 F( f't!T#n]b8ibW7*#Pix&J9dHEP%6 rr6oi&4 +5GMex(;,71GxL‚`j\Ԝq=tV.H\,mn&m DA!Wi袼rV̧P`y|AkŃE O֗q `ELB5A9w< )l9[-6Οo(0#ɷ;n|MMeNYpvqxSv'jh5s9}WnVqp}Gy7\PJԑ.>&TĶ?m晁A;Vj$hh sJ9hX2v_c+vQXIgWxϟuoNMۥmVՅ5PƩ΂Zu%)^BCVɕ zlp0 hЋAl۲>5t{xU"z;ZZ_"fwI<嚎||vWSˎ8 L=_YK5p"BMvU* Qwujs9P#S>-*lOr̪ "YE_&$6Ͻgfь lBR2gg,זuvok4һ77a*c ns~OՖ۶ؓۧيA؀EP-& uh/MfzUeƩq90XKRVizX'ny?t[:s1&ivEet=_}J5ty1G4@^GުŸroQM~fUx`FUlpP)U MAFP'!s@1WB`aUe*ˢ;W/e>1`utl t6XEF'̋b fRf]PkҵWVg:S\sGMm! 12g^/SS:Mј7 <v}ĖCK?ᜰAz$,긖mk0|KGr._NB=d6c ctjYiciLj*pmpث:9M}Gz8,}`e6G?"6oՉyȄ\)O#} w8ISX&'\=DDSdnd B;ɒ&ecY;k0y9a !3tVaӅo{t{6Aẞ9Ȃyj8 yFBBwFYF1A˄8ȎPzyxo<+H0M V a:< :fÂD.:[#؏dɐi]"꠼X1{^\x{>xQSFN7 uBbi*H*˟H=(_s9ˆ,#2.Mny} .,j&Ǟ\ Rաv񋜖߃`^ՉN 0qG>zLo׸.>-w ㉰R+K%Ǜ8im.9gR4rue*ݺm@R#zOtOtGi$\z[l: j\oGo!g[>Cg*^V%yVrϯ!r?f(g:󙳊+- X!buc0zIJcnPLLվW* l)+ M>:7xS"oދR[y XtX H46 pdfCF]ݻa`.h6淶вW.: w$>_6ʹP*SeI"`×p"kq˨J~opy ܬ7Mh]BO\EoT.f Z EQ4" voϼ=' 09SLa\QKw0p<È |tؒc-1Bͪ-ۖtʞʫ*l"'P)kii8aGAUk8E;{#PͺXTNm,"ݖkˁw&5L˲l]`bϳgf*yz>T=Fwm@[%I)ZyRb†|[{+~z5K q0 k\TdѲq|s B+*{ ?9={ "0r^^ TDv0c.Ƈ$%VhKߖ sw~]j7撯ʊ&OՉtlG%4NGБr辰T',CV_bT5ZuNvzYB Wa0zz;mVT˹v׬w )M#T(T^G\cF('Z>7BMRj؊0~+ж \utc(CozFqMɖvDZ]XZBq53sζ}Рo()lvhj(a ~FllbѰKa/b~} >:JO}ö;BΡކ~7_]dh339 ſV|\_Y=^M޵5"cWqp 3sD$Y܀y9K{MxfV8 [ 9<8SDFsJZDIT-9^Mͫ  HC\Z ayaBbfvq&lM9ĥkd$9\H :.oP٬ ¤eJNωl>elBuEU$a"1䜎08}0DjA~W{ 4bZUNB{[mqyQ4CE\3ݰy{hc֠]/3E*Wp[ú}v9ǻ+^8zUo-jtVaD|$NxH9KoƎnh6Jut^z"iY:U8ODA1_E{>"7)*^5Dz0`/L&b(m32x勒+G^lxztNl<1;X\^J0LOXnIE{rFJW%ԑZF'=W#ކ;8= r{mANCX?5pP|7`C.໨f qhFu{\OQpO [//1p#|0&SO7P\ix L9%O /FQ^-> =7-:50[ƔtysHŻ{(Qanokyٷ) SaMub+*VXȠUt[ׄ>-[`O.qSRc`Mۺy[l XFI+J2بkMp{zb _OSS`L4$榗`J64Sc{*o4i0FᨅU>:~pSIG6 B&,YrA3o$'i{^|.1+ᎈ(X_k4,h#{BknH^ɒ )IEyI1u;|ƀ|e_aq]~F ¼;+iݲ]:.W|Y"nVMyL|T6eeoBo7?NmJz[Qz>;NBOtm #'Xo-X{C}m{"X,hK!%9?`d:s0eC ƒ MHGa?_XQy/Ŭ7ķ6v_x [ZtH9 L=  VX-:mQgDŤ24@Lk X UbȚ}aB$]%þ`ر皷4AQƙ0FC 'ղ]_mC,U7*w?jbvNSYa4b׈̮BBnibPQ l 6 |>R>Y^g\b_c-Pg9LU)}Y.wBUaUny8̺Wd{%<:J(B~$Ix@hqN^fڟɫc &Ӵ?D'29}p0L)UϷH7ڞj\[\%X^B-l5\,COXD34W(/>VƱG^CNo6F ŔБ_M槱|xTlN#OY07:wY`nƌzgbݖ@wi:+>%+ԝ޴ !3 b˪we-޺b~vTA~E4/#b}4'1٧.N+*+MNKv^8I?c~R::xq Ż]GZzj.8}raܹc> ]f0Д& t{!nx⸶ LZ87m]I-rKӨj]-0kN'gakDY14(3(MX9֥ବWuȉC0=IF!8<+S^9n? *}{@ԛ1A6gif_5tȃQ06s}Rߦ Eݠ{[QQ%qV;*:IH09|9bOIB5V6<8X\",.iHi}ro3 Cʇ/k:<,.? CS鹳LYfҩAZ,ݎk F[Wy^st" QFsQ']$>N>)=pr4$j @pGʁ8??@gn~YW5h3A)ڵE9 ͖X9~R|9wgJMb1E" n , ;kWZĭuDmn RmʨJvގV!q.,4 fzaW L<*_I`G :nh(Ыt^ky=ǟYi#)b_A&|cxdeأgYfMDctذ z^oxn)߀Sg[ڽZ]?WÈA,͐M)/41hrpQ;:_:s geBTjYDjV!o ZR|_DŽQTgQլe`713R|H~6=Ɣ;˵:^[gw~E !FlG5sɗ%E[`3DL=]Wꩪonjhk|~/ Rz[!sך)g }RI9O6G>*iTNW1 <%v>}\;'|%AI88\-ap@?Ggȃסx. 2c`v0 R`<E w)477ZmSn 6CkV]8񉤉5)0j-fFԜ;{nV?+9'rpip"Ja.ak+M.UyA Io2 :~d ^,@pkZμخoʮZ«9 gϽnT#g_o*WX kL&a`4 V3V4rDLn'mV(8:T)`+ndW5z `t]@'bx*W?OJoݝw2]2R'`ݼ]ߑD¾UsiԄӓ &NٲʽQ{y!`̪gʸ\Ug &89ǡ譝.DIثuӵI>%*IXۍy|7?moޤd{ihG1M< > gmB4/H0!Йuz֤eMdBSS |zfS*0Z^x%[ 5V94[նnV{5w`3 c'2Nx liJzim¥Q{W(FfEeѴg_S[X5+0#L?X!-8^8qd`3S7F^WNڬ]͖R˜B] SXv9ܩ7_Cryq/>p0\&tQ&ފ /ߵyg+Z=ƜQ=ꗤ8?Re ݁tv z7v7oNlnt&AᎨʰ&+ {a;wL'psY{zw6nosnlkLv vÄVT߈8^|\_ve,}6͂C@p'{;7.)rtq"|?Qg:46gpρ}|POwG.聞]I{OuR~w`V <3Γ:p34qMI߸5) ֺC[IPO*Y BT%0x`khB=`=aLƺ^;N׺vd<"ipx mEƜi0lÑ7߄#\$uZ^VwD|V y1? _: |s6{.G{ilTuԗ{vxBH0ޒ+0l`l![h̓`6 (HX/GFP2X*ƳmG1xakYpa[K,LZ#lXeqiy#[񤻰Ws@:!t:e'疮غnLgz&TSZ>ɑ-jrml4tօ1aY^a̢/R|{܊>[bݦ>y: Dyz\,tc!I0}fiM/PeZ*KFUqy)a.(:VgH1j@170Q%\PL*"w/?tj,f0W ߆o |C߷ П>2o+ <`cORN]pVoGt<-86G4Yŝf¢ mؐ$:늖 * 3#v{tNB賗"S.Oastӊz*lDS@X骸f`u1X]) klz/q⟢p=t2x)f4\&b~ՆZ Q4tW6ڕiJ*ƛ 4%q5Vc{Vx5:H\Nvt$d ؋E'IE%UP\Ъ,n vKFI2̝;ss̝}˾ ;D ,.ub[Vp}ϙbo_! <9y*u)Y\Xho/|LM pjrmz^^xNpXyꃃb0 #KUiQncY+zvl){xow1寤svgEOdg3Bgl j\}SbV&^"KuZjkX߾8dvehzNKA8lUUC!)H" a: W h(]*eV>Uͭݺ"CB8څ|Z1%-T" ˶v5JJ7CcEYqnޒ_SlP/au #g]-0z cAn[6PSQۡ\QN RnTrjLX _i i_9JX"44&۵( LAٴt_eZaVIh 9 kLPzP8_wCYk-Yb=]|׫okW#v!HJvWeA*@.I, M ;{X5ly֮%/l h7T=3%OpQ@Ͱ]o3:DVE9_*5Ρ(w;n|_".\6Wr{퓍K,z-3Y[30Y̦,WlCǙx'J$ C~$H%tT se,Msb2ԛM:zmRomoE ^ EgVr9UbX-4qv :e}9~ѥSv;C9®8hLy܈?n5ku:{%]/۶/j*{+\N"J;'+ͰGaOxrKyGO 6Jle(Ob 2:U4 9޲vNr*~lC/:mp=ƠTNm_@~,1297w@+(v,3=cGpjL TҙL4ɹU']UX"[&%/t tTA􃃂PA/©M($ C"M>*f i ?*["37۴,hؐ{ľAe,;"Y?so]SɸdരCmxПE]Bu%T=::S.Wf^<3sy2E5o.To&rT-=czm;cႝcgB~aϲGd!PG2{[%+4Pʃ6Q|$2;re/F"E+Bt$XW] +?]"԰xmtC+P 1ZMf*9J>*_ >3 (| oG}b+A|yրי0`eyx:!3;8j~ymi^Zuh͋ !II5e4PN_];^FKUnNrG KdT'Po;Pѱ>% EM﾿{>+؊B"{/78y7D152 .i XF^8Usyb*ỷx/6-̪s;\o "()fō%;-Ziϲ#dI~.<árxm>o$J> UN(r DnGM}+ Au09g agI3l])%xbQ$6_ζpwmGGeURINѧެ)Zh\ O!\UVUlS (~8ަvXѡO 5NA⍯l,u-j;y&^() KHn1̇%s,v(P3xl pdߪ%x@!3} 3hEJ? ؞X ?GK!XXEXP~4w~Ӆ$8أju[#Զ 7* (5ix XXޤGY3JCѢ x4( ׉;AEWlwtк >rՔm4 ,ձ]nET@aDG+G#9cYFFaټNRYJk,1Jx)=0d`N;2qkVtyTU2kyFe`y揜bCURnxJ?4p(LAT[R2H:el.L9ytA%͈u,ZddԺ;jf㝜,66[v,|s{% V2ix]^pZ%y$>5^SauY$;"-u(?@g0>DޗUcsæ-`3SӕѱnwØ'VPG J.)x#ీla-EJ+-5粰d`[!n#IS˲6k2!Y>##EmRTGG';x2F(b4YYR> U M* ׌\;U̜5 yoWFT/zt&]r2lR5:JNAHSsk5 L).i Y-u+K2-ZV*Qb5[J68ޯ24\BdT+x-B|J_-t54 /wPpI^ًMMU٫FUA^O%aXysᦂ&dRn(RVIKՆ\hFjq8rrTsC6-URpԦE-zg;e+'X$BR|{wv/rx5T8"sb_/P@Wm_]}.3g]!O"FNF[>JɭlYSUW}GcbAjۨ*/Ɔ[}yܭ h3N')7%9Dj{YkPζ ]䓶D*ꃵ0 KSܷ;:2M9kT:Hri3n:vQNWS_eW ,"p YTK>hĸ.Vc { \يC"q ))ugc2J4E6Pa}ka2 @@USݰE)ͯj(b/{zq&I߮+|¿&.݂|ߺrP*( lΈ^p.Z~;}vb8dЎө(r#~[%%וp6`^_6(NqNMkWѽv-=ol>p-o5vwt}_WD,ON-`m(ekצ!‡>fSƎVv/q=B :BQDy{׵-y|zWCˑ^`' L"vj3a&bZ{v)ϸj(-[~EbgEV^4| .A^F|}\L n%צ!N1{X4K ε"^KPf {)=vkpK0NT7\opV#r z-w{X|g}#hagJXR@uR.ܖE|;cS,dN^v撉ǀ ]GtBDs+vX WCx:drEHG"ԉ/esów(\yU tZPgiZK,s̴4Vd>4~-kt_l/u}lXE%+rp @ ':~g_I;x;7׮&)xj*r_n[bYI}XcIMmqzs5Vݎka:}E0%Tg1 rGW ?pFp!˓5\J3wU8R'U%S. zDd%as%i۩#_v)oI½2 !x ?Fj7ceo䁪iWE<R/Y2\Jw?+mcN\m09'֢m%WM:~o^) J?EPRc޿$y>ET46CB=O;DN: '&;8#ίwx XNV&"Kz#?Ѐ'+Wæ$5Λ(>*ʮC[fndl)PmnDӋUkfA4RӑQ?df::vq])+DkiXw#1 -EtCKd!("wPi݂_Dk{kU~YOȮEh(ieDM3eP!/J!Rk4EA8KLOkIgtӳ_}u>;jY>Aq:^Eme(b’"']|@di%R\7GMn }6Ano@ u!#Jo@~v" vꁇ dgm_-<Ƃ w BDZlEQ_Lua}c5%L&gN3"?UN{^c5BfwQ k:ӳ`ʦe*B>IYO!ΪR=ڃ{X/,([P|?Ybĕq5f/AY^hYc .xeIr{ܽ@5joTPDp:K!z7{g‰矛TpFuj;]EEj}k?]j tVOXkíYyoBѪ=kD>ۥ D8֕$򢞃YY9yeYrG1WLw1)T?JUyI>E QId州>pz;axd[r|wF/%'-r ?kRך _isÃFREYtR;NXT8$A6/;|n^!Tx.׿kGHFm4R\)*Z>#K'&mI7I_]YiW WYkF-!#IX|{YrQ"$ڣeBlS]3t#5huo<^v[J0jv:8# 46?R>w:Wel0T鬦ƱjJLJ,9=RSQFF՚Ȅ:Gy4rԦQ%`82zŝOht-q{X17pQ'_pcnձ+]gid4%~Hdo|Mp՟-4D$o!shlJa3Ys+3f k73\ͥMFO$CR/z$(?f/@m"BMe5Txg4sq$ް/)%V['bJboFK-lYglRptqģ?0[$?"!#U*'< !_N`:;~1&yIB.:ftuZ޲~fug]@#*EA͉uuFN9J+A Qί0fir7$oq5]~ZeM#!ˎ,-—m^]ܽY1P ASXY4D&wO߷+{gaM-jP)z9._6]7١w%dPI7䬊k>}?щ>؋+7J!/Ya𬗈E[ƿ4*st@݇~#cz {QGJϝ:r6#51Jv0RgуȉJ/V)'izqyWFvQmzM| `4IaǶFOaW@=&7"7LWeTHUOT#g1sݽI&_*x ^tIR| ?N!Ӂ0;c/yFn>G!AyT\@|@&3.$ݛ5#)L>S/*.Z_}6tZt;2boa]4٩҂kb˘S[pߩ#1.ԱHL"T3-P ^b=IN!49뀈H"-ehtd`e`5b:5X6p߅CL.`G1@3c(:hq_&߶I7HnU0SP`{#DƶI)L%]KL"?{ږ27~a *N%<+A<])lb#w56i|fZQi/׼ؾc! vd""3{`\'ȩd2HwqD*w;HADxN^?]o'*UfO>|n DP,hU{~W[(0f.2krޮ™x^@v8h~"S_XxxEΒk9ֹq'(ޠktԆee^DHͶM;Wۓh[dEs-ZtۨM@ӟuXwEXU sğ$\E* ?W?I:y~8y"qs a6}'v8LJڋ_a"'6}Q0RH(yfC}<*~Ⲿ C/Kf$,a)b_j [Ÿ}:Pm$Mgv`KD]<#ZhJ-LD =>bߪ.!0'rCkbssR/jgP} >r4+"᥆c>=hM-Vf/hs 5apqX$w@Jb!=.,`^ "b_\|(+AD&|_ĸS )ۆQbR{.fTK&P=-902Z%|qT V|Qc{SMԉSO:״Hb"Om$ʴAO]h* i8;d3S]$*'?y?9, Il_+?HL\X[t$z ip؛r)9gF]OIJ$5Ҁ4]}$n:;GIÃA(pUcƆ/~ wCpSLi÷⴩o܂zϲd~ \Yˡ+ Q}tVmh7 )Uh{ tEdC:}aQQA-1j$l sҙujK66<,}on=#k[$drq^sMY;wmڱwyLT1:S1eǒ:^ʀaeHNwW< e|hW#j$7`cῪBI ~DI|N@Cێ$"K~(훋 ]V{I5S\ڛJ,Kdv)v_]|Ưc|:2OMh9Yfq<w)V6 >DJFƌ".@ :bŽɱNEd{xVApχF'%Fc3I=h@Snduo% us^8oZx<g_&W^=|ƦZGU;?<_E WSBMgc1t[m%w ȕKMd:ě a5C9{2R$诞[w.ގZ?9z/Wo:qwL|͘tS|t9d/SwHIݫz:u=vh¡=+byYK=h+,]7W`ܵ+g r]k=Տv/5GMںPkQȽaun)Jmna;쵦zfX;oHBr(Hf]"!}]Q[Ƃ#nn2zT޸Gl;{cC[[6RS{@Sݮ@V /yTH)iSem85  GHxӭ״7S)SJW~(^y4X|U }A/۝6/ `6r $(}leVrv+N*M;$mU8QH+`loS;TxtpE|5nX]omxiă#(?}uJ_>f.'Z ԫDN({Pz <ѪT1B~p5S`Yְ^U%I ð/qGwrnC'RX)l;<SbFTKהgCDھZjeނj8NQvz hM(%Rҗg]4:$G ; -cepRS~>'~p2NvgD:@~ d DŽH{9xo0)KoXy`_2r6Mt*VhHR @i}:KoCKV[J/BјҏX.DXVp4.(bgE`R@/"A =SȺNu1-AΖg=Tw$R><Wpp f1'eWe,A+"QiC]Է3l(Aygч>}ݦկrONT?;_/ 1j~ZL:Nxӣ$_Z-.L%FW2r9U^N5X ƶ-bVYxTa/c^<&3~Kl/k]},M43E e}t dhm[Ya-̖Z;+e[ҧ$>7L˄I0 ʋ(J\@{du>f&ng\.$90gWφ7mluHtjAAғ&%N$Mx m(yTP1g JP)eT7eoǩSRЭʫWf^ 7ٻg=aEN4o#nXK(wY%fSI+y#q. G۹@Y 5լ&Zhx 9Ƿ\ۚlCNp,!s D_ ,N"2Q?'k\MHY٩&thWGȑfpA!jؚ`];l1j  &JsN,Cin ߼X O=\]rK<Җ5/=8GƮ/X (c#7/?.ܻIsĮ& W@8,V҉BZ FEiKV屦 XZtXҾx 4( h#fc^UQd,$2/Q2]W2QE\tȿ 8y?;LeZ{f 5D締`PUWWlbs˛ʃzZ]s$f}hT؝܊ޭwZ%pT`岉: e/%h᦬[wR!Z9{ܲgKV]4"f0CQNWmg y _tѩ//eIf[ĵ,E~jZ"֦F V!,l9UU]^tkV9<>LGeW#CiM-ZZ Po%?/;P㐱UWt!<>n{m!GP pOHgI͘1αg#2ՅuLKv.,B 63{tU:%AV#X]!+ېbUcc(;C(ꀢp":X"⮌uo/=z Hڿ~$II&ܲzokG$Wu;YrLc&$;y9U49r,(m;4pײ\Pv^&E@HqrLK{_iƃܵNy,t?Zd+4CAWaس|jm{i I|%F#p.p39ˮ,tDk+YEw(LXyIFI9w91DǒJM!O%ta6$Ie5ل-x q"x@ i #8b%H$YMQܪ40x>^q|n!c&rfd<Ț+&g{ &MMm*;od N*nEכ.;_zJ۽Tj47uVg?yzu)R'[BO'j4<@)󹵿>)3)T}YXֵy^`R$ܱQvjַn)/Q J`O^>7ybo=2O%xc`d``b `b`d`d,`Rxc`azǴ H30@h L@>400`xeHsMaX?G@998f=Lc Sx{LQ󽧾.W|KV]\C-4י0F+brI4Drny_Fc.ìy<;B(@~2NWīd1RrT*|1H7R:QWI#i-!ZLc;a~,qfca1r3Nj1^/+(8x !X  aD!&ȁP%P up bV[/[Ymi%v5$:t~*2I'@ C_Z$L̗kŐ+ e }aE21@:,l[! uax' !Ŗeoj1T4kLիsz~F՗µVVj+HFmR_/sMQ+kleRɐoȻ]NyYΒM6K/yx Oq,2,}Xpl\ 1S00c8a;lܨ8&:qzG^A? F& Q'gg:zy|:u8XYm!=zݧoXxD"5dh1q#F=fl¸'NDcTmeνi3n位 όVj:݋q=1[ QҕދD$=|)nShh%CCݶ6,4F -ae "5۫CKrFߠz4}'3O@kuչX]' $J>.oKKfv2[ƴ^g1mMs2#{Jfn6~E?{Xr 뻍Je/z_of\wc}ۑo<*wȟ#4PۢߍjY H/I22zd|=2C$gYݝPxTMO@}QR*UڶC!$>*( j{AYE&C=UK/Uy"AUݷ3oά5 _ 0Ow'̲ `2{hş/y ^]xJf~% Lm<^\Ym)se*oPmR/I,C[sꝻkEg@T&^O]vqvI6)h/qgQG&" h7[b/skP;"3x*C)O4՝ r9R7UaUO/0#xc`f F X(DwOFFOTTOQ` mCFF J a[MFFTMK]*GDEFK0 OS/2KPR`ApX:cmapK<_@m@headL36 &9hheaM $khmtxM4Vr gmaxpN|PnameNNspostQL 2x[յ> yI"Ȍ1)ƀlS\㱧wIѨs:E4h\`!F -8u4&w,`F:gU}{}T⦲ۋ7-/.hYSqUy*k<Յ3T+W~-{U~W gTg5̳UѶ@PQGTT]U\ujjjJU2L*ʮ8 NՀj\= )_EKPl(-R\oK-n*l+ޮ{qmMKo.j*-[הU|{u=uU5wXŗ,n֛n{:SC畜pEW]x%\XfҚ .)?ZQP]\?yU4y2UUP}S-U ՙ**,wS}_٪BB4U~\.P\u"Ū_C.U]r蜫TR]FuMUÖnS-SݮCu':oתT+UTёUݧZZZNݔC<6˃<>O<^ / Eyx^"-/kPժXՍ(*c^:3+[ժΏqU"kO{ߨQh74oϼLj~}o<j/~9{ 7֝U5={O?\Z_8g _9O?q.8.CEy.2,]Ұe/ W^+{ԯV\}ຟ\Jn֍.YyӅ7_w3k{K_mێ,沢e,~Y%OEw;7.rמ`yt{ι>q/׬\;=qgoٟ?^/?iOO2dq~+'O'6|\>7Z->M'\ G%jz)YW(/fͅ gh>C4}FtY?_|f'x'1/X>G/ҁ3 qeQ@[X{?I"2 QozſL> $ ~@$׀>5ֹL7:!'µ |Ǝ QkȅW>/_k =se~{_+Ĉl~C p-bRzvy]^pl=]W >]=I_ڐ9ɣO+g_'>1hƲvkɦw8ݜ v l+nGˁ4꼩?<-fVD d:{#]SQm.hma"&I C׹lxCpDQ@EO\xBfh1'(g\+oڲbq `|;h21'y#u&h{$2֓Hz81&BQ]譍fҤW_W1МW6 J=q`!Iu»񊐬X r_};w^U]n+qo)td2I ntܲ/hxpjdlz'dV*'nv >tdZnر牭o+ĸܢ1Ʉ(Z$#q5%kuj_ 4@Yd{z[>Ztz]ƇHu$hbgb;-q=jSܔDs8DԮ.wJhllR0P;͐L_HvNwtrb4& 4@c)nTV5$#F~ #&E r"#my1>Пd= Ou@"ao)iUYe/e2g%]Lo]~g#a8iފGMBcs;a!&f ?Y'Q[z8 qJ\ yԕ=}:LURv;ns)h@_pڲ^EB&@ 5?$`=VѥO7 CW IߐIfyAD08IBN2\Ms(QsOE\>,Yu:^E7nޭ.Y``D-;D~v*]BO^?DAb a{4 {"+b/汗e[/ BP1o*D ]~*福oT*R нJP5O "c+m^Sn 6cmo@FG;|WrSp T2桎x+,l4OߢN6kn^r̬R@|'",QO`D2W"Eg3 6"|s%WpJ 2X (?=DrCrd X/vz1?E:fT^[VmMꆻlұ}=ޔF. iillvxt׾G_x>|f Umyjal<|Jh zkHh{fd7z2 ~n]m+ko/1ޡ/7Vkvu@ TRٕ{跍yt0Wfre|^ٙj0%+D x 2ncȈ X>If;;EMŏW>IQ17*߸t43֌ݎ@kP.CÙ/Lμg[yVDSR ! t3ftcXg$7Vܰ|c6.uFxчb$$ 상pY༫lUWrY I^ PO0m ~P d\MFwîN KD( 'G=O'@4ܺb6(վ=T%~{xhh- f:L Lz,[jR߻ً=FɢoVt7qaY2׼}w7<0IfPylr }^H!!ND>L|βֻ -f"> cAUxf'N`Z\mm=[^@/Ƣb!<0YKك:LK16;76ǥȖ=f+'9\v'F4575pɱm[pHve%&P˕"3FbYBܺ~60慯Ӏ|N0ǬI@(RNj$t =|Z%QĘ8uā,^τ0Q L%3h Xq"R8p V?@h5ͧoѢ蕱R'݊[qrkb -ME6|{[:'uxgMn?L²>~Ho3p%,=4}5Io82{/LBBrO-j}mMܜΐ8oh`pۜlXc|־P@pME9S;UGzZ:'DDi`;Ϣ|?~zlI D^?SB7dB mK)"7`}WĺiS~#ܻ=;o77} e5:c;m/4;[0ҍm-=@ F?ðss˛f-Ysmk<9g,Mlj2 F=ぎ!`pÐ2U9 ȒuEm:he=uMƖ-uzஃb0 .M69K_޽O(1M7( :9f^֕xK˷WxM. męD"R(8H7Z +Q!,Obb4b[/E%oн]T_H䨄<|~ņE^((_ rE$GAo>B BX Z<${ىur[pQX^?TOv[u;L34wLm{ M6mV@O#[G1jID1>yj: %/iPD@j?DшGdPVYiJ]PšhbydSQRQ)NYpQr<~Za{`zpvhN?mxrX9v MwcUW٬w^Wr"΁k&24sݱuB/ }Kt?; HDe4çai1r-P@Nt1=ze1?z%gk)slhYmT:7V|;YG_ŭjdҬc>tlr% ^9\+XRX4ŠOawAN8UCn8􇮗FJm^XoY؅~;"ڷILNe) YlX#6Ao5`g!ًy:i/,w-^ǩ0 I҃ ^q4Q,n…m-ϔuw{=pn,yect|;_a3yfW䟸'PC{7B@BI#|~z 5?0^ah 4d4mju+5fJ{fhD\ח߶bVj,bΆaZ֯;[>i%FjS>@sg0r0-K<,[CUcdwskαq2;{~A Qn6Ӛߝ{@ЫD=]G3<4@Ͼ9/)oҜ:gs0?pk}b?Fluc%}k&H *03obɛ]@/}H=[E4TьpCQ#7W](Pl^ib%p\HR>O5{ ŘNoȅceZF_ 0(QJ&#d~W }u.zhk@sG[$D1*{a\{w?Y"hD>ҦgJxq- !܈rUIC:!\}*/<9 u\ (+kĺ^R=2{sfо{M(nL>L 8mSՂ':L!q2B{A}e| 91mV-%eBsѠbteQ"NYuP0{P!qd=Pü HAPMp800pv_% ̰AHW w3;SSzd@%>7חOӂ '  y6{{l^:<>{wt$Dk . "t3v|,pRŸF}$N-Em6atM]>dlX准\&=дʻ@V/*]H鶇3ݏ۹kGoEhGK>92cf9+f ]J8~YjFH= oM)2925OY]ob N H ` d v(+Jl84.dfǗz D>K#ƪRO`rLH JWϷE/+xe |r,~`ՠQs;E5h} qbw+k<c p"`y4N$()hڅA~D ~"(p `b* ȳ6%8c P"ҭE CDLt~~H'Xom[Jm^֍]ư5 b]:܈7k1;rWXs\ N~H1IdYO4kyߑ͔\M~7m"Lm!6-x3D)c8:5~ lا:,>b/xKs@&E~͠??ЮZ\{oe_ܟ%ߦ!D﨤lV+4^mTv^]׋UNeQe+70grዜW;oEȭub_$]1GuHvЧۜ>@2RK͚j& vi7({'<.Q7pmXu% *-|^MRzX _-w*z1Je)HgI⫷-0<+3s>!'!/Q^QX+K3,D>]Y]_Q"+p> 葿sW;Jwcz[b"X/{xz<PekE{p3토cńDgf/yZ W$iQww\lh$v5Cu @VBZgzhsmW{MH8(/rg#ɨf,{ի&z3g abq|JO|oG=w~:-W@,˻Uul[aCiiISӅޮ3'my >vF^3o?ԋq1.Oz)q.EG{e:B #-3`G?{Mȷ=]k˃GL&#Er4PH4< Bod>G߷! fm&8Ll3YzG6ܲj3q٨;J[Z@lʵEQWo#KiGGF Y:C kѳ>abwb+_P{(E Ctll@{|N?\ /4;#4>~H G01)` Nr7c$ah @'iJGPrߓG].keGm07a$^=u(@\;%MZ]''i?wD>~v#&=Q3܇|gNtZ3iB@6 V%YB FOH$~? Gԃ[6>ʢS<ݿwq%yca>rk{I6܌J/YsM!p&SC{aDQ?H ʯV6fi5uޕ Ҡq+5:ߚc){yH2~LD-#0ݲXݬQWݾߐ?Bk Nl|F{ޚ]Q{hOFA7r"'ӱUv|UQ,{=W!6`z$.4n *>WK4w-׏uKi Ѕك(<vb<Cֹ-``j=[M)-$}=K+Hiup;cRbZ|0HFKɸ~vlBX._3;+:'?JLrJhYm2Hr49ʳ1m򍝲'x=ϊvNj8 ]Ã{ѭ 7za@r\#/K>p"e^sr 'g8 .:?w~!j=qn hyEs#ㅇמߡ_5.J* s_\&d A{@R}C;|Cԋ$߄ *ϝ$b(=%>Cv3^|:8M<`F>X~ s T9rċ^kdmxo"|yKZJ~hR)2nj\N`?̧sM!_vQdWUJq.#'t)`sYAqLjvni(E%Dxs퉴;Hox+I&3,>/伜YxJ}Fa?L4),Ig~N:c:l; wjzW+wDPxЦLU0 ڙX %HX9"0xSPdhєSٞ`!r1>kD#&a|A#/Ƌ&䌠 h2 J{i2\ d>L$y2QsU>oeeqk6/3HFjeC׸sqn$Bp8]22_ҝʂRO%|[iaBo+/p^éw( ܄g;VAyIOԭl8mq1kQXdfpcܗ8 &\ rx1~\MljT";%$r۫e?{އ}P>ݔ]sExa)"։@G񾾁`O#+|)^M &``iuav8E$ T4IKV$\L7qSc`4٭V6{э@ +}? ;bi TKIdd08T /tu.@mo;..}9 ̰c0 259|8D~ṫ_|,}|),<*r>tH@X314 A!1ijкe*n*Kf82قޠwl[^a54v:{v*퍬6׀ zw{Q͗5sBkEs#i /Sڣ^P]VhfBY<"9a>x!>u(3;x,]Lܕ\M51vd/KUJsVˮ_+b7_Ns H D}e.6PuZEcm Ca'h,82ׅuyПf>}ȧŴQ|8M;Ы!.>ص> ƣƁAO%͗{Y"Ъڡކ^ 1F25kbc^`e1J{~GLKevր_TLW MŤ1T)8y":2yM~H?5Z2S7z]`4U9L{8q~D] v40&&6bH@hsv  d8yIҦ/WmUPwGHhj*ll>Fo! Tvq\ 6PLj k?*o.|?^Xo#]cw{%PXTP$/GH!"HkmXW<= ،E ɶ{>dX-.3|[$t5 5 ۋQ:*i!c?<RlvnFPw-w8VI$๚'OK_}ڏT5 : wa$nX)~"R{c*08S)Dۋ-U|µMaQophUII(?}4~P_(nF5ɀ5N/|<o~3p2UUjIIĀMKkK`iq)ui:W6-8.7D|xוVjCe{tzr .(IXj[%[ #jдs|,-TB8/Aܠv"MJ+>VsRӽ!M0$q&ѹ6188L:_|6Sީ``ݞ@ۗ>(DH94UKނ2|ٸlKW-[q7~֒Rͻ=S9vR|lM@[O; W Wrj4 ŒM`U:f}t5>E\]u=q:զ΍5[EykD|W˲$džwg)W<\|8D% ┿fBl2FBmCCC#5.ǚ\4 }whກ5Vލt@l6}gr|\* ǟ ^z_;/>Oߠ氵 tWđ-Z؂lj 㖴3 pC+و]Y*W.PiMD$n҃tsjk!-b[{lݎ.0샩X`ATS;ir #5ΐ7cx35 E~%&GM!'Ofh?cRhX";PQ:ho[z$v^ieLO+ѯRpG@\@EY +V6j6+K0I/0ƌ`v88F)izܖ7ނ= jWBB7g S_n ~Op'[Ү>@g(ד#BnHG~Lv;ٳt\ag!lk=+tù97*!%!vzѱoo6µ3߄QD2j>Z⨿ 2du`é_p/ӕ^0S6aFDyZ]8 !&G{wLͤ_!'i]MXWƌeYִȴl4; ,ƁɢG*':Y 03"u(&AQ臐>ח>0ZE L M-XX&x\-c]m Ml[fE IiXGJwuu$P,qiO˖zLQܐ EvpSն@`G?IWE'Izɩ`3 %ǧsYC3mX, zCvtıp &`0&F_V}ei7igy_zLJ ʍhOc%IB&/{$tu8>w&p$;n&2mB?kt {<+nn۲oV>TjZybCug7_ߓciXP$Ex3GMz 3e첇Z$=ʑVXm/cVX\gp/@@9!Gp8n\w˭\XbץrJþ# (ʹnbs|K}1_:_yC8]>;4/wd3Z 7uʦ^q0\6^Qv:-m@͇܂GtGc@XŽt鶪Fo纎J+V˦ʲ 'qJ+bdH.~_[Y𠲯;TIh-[hr(}"p{8u-dbG-2 X<ŭk*5Zc/O WsefF.9ڌujXbk6s+^퇴"<kHnqՁ/PY8]ޜ#Be}Ύpn֪Z'|ɳVbM&j ^^Ґ\#qb=c[Oev5)OtFVVm*Od_e<c[2coq[6Q81ޓ3 `_XoeyYF''ՏGE0$(=?iK€>F|VXlo*Qv*dv6*GSJzl]3y@v^7MC0"rF>ʕ,X?9Pn ;v٘p􋼟BaoXm5{]KaTq1tzenY]y~+O/nanm`n2b_xt}:ځ'vK.L_fϵ)ǀ<1 !7o.lیl%Ǡ^A~^jWMF[#pdai=ʎ3w3̞Xl\]>оYa7av)m Sm RJQ+AE,DOmnJ %YGBM5a(m=啣0\m==!/,<:;JoBxb7H,߂Aq_eNxJ5@< ?nZaxZ ^xbסMhD}'W}J!/"i|':jA1 :.iH2DrkZ >e8 $s /Q yir2Or߮"0,aJRtJïHuje(:8£ * 3bM=JwRrS@Gv'{@Ycnp:PW2i\٫>r֥<yQ8! Wx)!\  ތHNy J@9 Ӏ8,WZD'5r?l߀gVÑsX{hox΢ Ax):,]U1ߛ0雌 VG' DOi׎>vAF ݁Ȍ.!aF-$jm`f&\OqH%d1 JW2FVz?8!ngvǕ\uesTqreW=Bg"f8,'a5!|fx?3$ b=Ff/:DJvxrr?q{uWM-N=X7+=Q9|\P޼|}e採%Z井UAHlw"ECU^)E+`y8-Eiy{b_\3$B'C"(0I&{ ҒgľΪWok\r5P֮5niu@g̙z89ʹ~]x^hFm3폎N͐nd*mB K::SGlb߫X M^s`r f.FL6P^gv_ɭ =\FtqܪXq'<X$$zS(*[KVY쌙AQYk.2K2Dңҷ'mZM-1a{$,#ޠ1y0/\e^xc saJtq? si!љ~#~lfs=h7(r0H|@D=x%s7LxUWTGKd#)B1yE $`y/9մ !/D2Bbߓ6/lUzǧ,ঙwӓh~z?bo#E!"U%H***@Gh AHBIM8~;ďu8!8Eb(y(ڢPGR+Rt *Eayg}g;s9w^.0=FpG_[x &. 8Aڇwr󾖏IP;RZЏxVp,͑*smVaպ+Sh_:~jy>ퟹ997r܏{ jcu @&鳔[|(#b] (p խ.&G8@^6kyzRS/n!nFwV`.$LJ`}߲7Wqkӳ_âdIC;."vis2H.x>85[ۜq}&'8?hD-8#=S׉ZbomFʲ:ap[1y}j5$=VQ({n=Gs;ׄWzo//&|a_VasŖZqmXm}$D|\ DGfB). mdRup9|H}=C#n40Ew0b\MՉ5ئɳmZl0I^GT=^Ɠc#t8Y1XjsCZDɦ9A>{ɪm ~Pkˊ"sy4MQ~4rUѥC[kᩏIFo Uc贈6ڴ&.Rbd5Uu-MMEsmRAjX6۽Qy&-B;S Z/,X gg|7ʶʊHWdӲ˲or^iI^1ɝIU^"owYAflbtH\\Ԑ |P+i_K FhY]YF;% cU?{l|+GJH sEiQ`C49IL ?$`"OXYL".x`p C*p&^{ˢݏ G)-RƦ+RNvR}0_~ MQ%`Juu{+7 q\s {$qbpaGr"%x@W? FBT"|GcKE jL8 UyF=2O%xc`d``b `b`j f xc`aaŴB3>`0ddb@ ޼\Sg(  Խi2h5xc```f`F 1, %``PPǰa1!93 33̳1/`^̼y"MP`PgeHD<IR  2@Z{7oߨ?W\s?gsωbD<@P;#3 +;'7/40dUT54ut ML-,ml]\=<}|CBÀH2Ȝ0YT\V^RJ(xJ[xc`d``obm2p30\]F{%wxc`d``߿g YR@"Ƞs;x-1HBQ{_IKC45F=P`-EMA5:446DQQCҚ{/{='_=$k<_eNxMS%gsZY؀Y؁#8M؍ZVvJچmW ^(bTsvT+/㟐 ~qyjKw$ܷqf(`{n &?C"N){da/̏LY9UC)ӎr·QͬkIn VaXBu KG3ћU=W3^Ab8!}^/IMwFRQ)cgP|xTKAV@B@(M6? (HT4Җ^dLd7Y=cC{I/ogG4,͛7{3șWS(xXCy8,.9j<~ZQȯ=쵉bKxo|xM|8gNhead36fhhea !$hmtxDS%maxp#Pname]#`post\ 2x|[E/k[ҐnS8{Enz{eޭ4B ,Z؄]va@ fo@vݷo閙3g9+J!(J, mbSZ\'$u1*JXxxՈ_Bm?$]"~-/\G_w! ~f$V2QrnCْ$K$$k$%qTID%$V 'qIuP1#T BPxED~X$ 4}%Kb bRSgOļ՗e$e2 o sE^jrJ@B*+&. % YF*BM>X 5m~K CŢ`pj*U8e*y/a" rWAjlFBjRRbqj~Ab113$?tB*9H"+fYbv,&/5?=36iIy9٤،ԬԬԂجLndجKR,y,2#?53Ė3YyDdqbnalFTPgM{$%RHO:<KZCł`hӣ  .%%&e$\~:ibzy2 CfdfdC50&i*'1hf懮_83!Y8;T- xIX-䵤x=T[`j7kPxj}KsbC>{P1=>0.vQX*u:M}J:C3OԟϩP%P%7+k- EG' Sj1I¨0)0vUظaW]Cõaׅ]6!LvCЇn 9얰[n#T"*,:쎰; vw=arq_aS{0조 ՘JMy]br+K_*Sk_# ݈Fwag^s5=V^p &Tߐ|B77p{o5y󷟏j>'uwwM:)p{N[3k&o0yྦ 1xa#3?3_ b.]t"⩋/<#}K3,_ZdiRRniҟ?߱lɲe=o^UëԺ_oM7m3ضokvp{zؓqL?$.MZԗ^)GRw.N11ތLm&Lֹ]9T6ǙT7T>YXYtUQ~ȦjVUTgUcŅߖl+-Rs鹲Ҳ/ˍ審SQ{+UT5h<ݚOi7if|zf5ƵL{և~z9[b(Ͷ/:5ŵеŕ>6@0Ev`L$G#E_FW?pFS>ZSF>6c\d4x`xhqx;EGE?~؏?QQxN?^ߏ7)A0{d_40mRVTg5AZeAx 0%gȐ :Uosp_vix}.^pf1 G eYwwj+~E>8r5 6$,[w&0Y-&ڪKKG4aoWm`cv@[ R;fj9~uбkSӢ"s(/g=^F|5FldҸS{\dP`t> υT}z> U>ӽk?B't8;Z[vtR0?h=Vѩn,K鉩ºV*;3] 6xfSl~ؐYZ\MtPyKQV%S0B%ή6otCN"a$pၙ#4Y&*[Aj6VI[*^QqLlpvzm/jrJn4MFK0Yrc*eQ!/Vܗs|ɽ+~+8,0_9]ԙb kw\M= {3سU./6p ۉ \qw4:p4؎TxDp,R|s؛pL $"ba-SpfPjXyxG 5*ԐLa9AS^Aěb?ڝ Uݗג.X?aȄs.(rHCM=}tVHTO[Vҽpw, =4_*Gڮ~haPpXޯ VEOȊvEݻ:z[j5eh`T6e<"aL /0%yɰ5Z˄,HwwMMP?W/zT~/*~^ruu:KH]%:l8%ļ \QfYE4T -Rgo&0N=̶/72x% ׀T ʃm& JI)$$ H:-ǒT| ?DwnMAߺג9oCĽYﰡ=]=n%BG7(;54+cWi -eŃ#Wb}ZG{LB(aZifkuV I|AOڨ'_7#BPB _c wge:K ‚G\X9M-9/ZhUx`ޞ|^ lʾ4Uq?zN{f;px'՜q>g$7PT2 4e+۴Is`am`Ж]a?[v! Ry2'05Wf0-'_)_$i\@t˱$Mi4@:hQ:S"~$ŒܙO +^9ƺD흵u151v0bA k^ٔ( LƸ]4I-5ev`rWP^xe}J~nJTwg?5\l9ᚣH0'5G9nl"*zQf5&AQqT9If1,qº{E~w&P$W3fΪ')8I>: 6)q H?<w;;&P8qbbïVqSZiqj3y"gwZ ՚r 2QXyEYdts39hXIrd8p@nfݶz{e㻺[`4tuAZyD؈[T]QX>vRqww3&0Ռ8okP2.bXn>u߹M#{6~^aGo-;h%3{ Tpjy&=^}o =;Wm^޶ `ٌ"HkIx# &:&fu"!ڽ}xz'ؔZK '9= 971CStCVgsPC"5Wߕߔ:t¤460FȀڂ^.8 gμQgq4]b eY3ԒԐ#WUF `5,i@#u%="#CPmELVV]Vi)t^ ͰMԊ2-IFU6XQF1NY%64Fx v)Fhy4 ]fdҙXFl01FЫd8 eWk?"r.tKSK?7  uY]I9GǀEBLL(ҕN4a+c4я2륀eylv:oHk>R² &0LvR9ψZ |wUȋ]g4r#꽄<9z(e lt|ӳ`΁F*ބO[?|e{Km]V25&8*JB/ Q'K+T$0꒲BPQ)Mkq$pf(2kU/C1:r{/e-.e5vn^Ձe]wZ@L2߱<O硋-Ó[{X2|C:Lg#*euPJ|{.@R&!7o? t8e{ c$Q剽 %`B, ?V+_ QMw `ץ` ]aj,~Zf4 @_7oyY~qAٯuesʏ{Urz!;^[n6id-Fg`8`m.{Sz;!z֊,~l\ ,_RdsEx^J?yeWd*F#9r(-YYd7-4T$\$7O˷Lz'FN@d&f~GݖP9װ:{?T8b-ª27_زW?)51mNgMN3Z/ C+x317;E5}zh#e{%~^sWh47M>]vH}C)J=Fp mCIXs6m!dF WZdTPJP&2 E\9ˡd ɥ$-I|#&ޑ4Z}do|+Zcr̢:2k axH VaGY)/N^ 7\ǧ'zG e!gY4O7nv͹. $zO{LI]qv o_F@Gp٢L&t>Jxpp4lj |berv^lt=m}W _Ÿβ.i8rsM\= e WWtȺa`[،$3Dp-Mkc4&z@P`/vjNs &C&E;[D&z!@its$W#{u /P} **2EU$ZtF\eA"Y[W866z,|Z#xtt j$2PĨA͔CLadJL Ć-ҖظI ^.?"%$UB F .WB.l$$Urh͉V`9& }k둊6wŭAM+7ƕkr+e.=IBIҐ'/D "+ ~.OM~婭PΚ .I;C)kV'X#g z43TS|wqWi, av \NMF1/r@`w LJCMu .a.i l@Bl4+h K'5zB"ũF+9b9 [f'r4*ybV}B(oEʓ`Ց0R1MrR*2$<[8 ïGB0)$YaY]՜}KMV igh:hc*XNPp?9=*x-t + l|֚Tki-XՑߪ1B-aJ#|wz" Sp,(~I0ua>y2g^pAC]hAIXn9T & !ʥl@GS,l/\5$ UW7z9ҦI e97OH%52pG5,QGKLDO8Ct&4C![jxm&l޲]{{fkj @ڟGR><283zN#s0x-s xك(< ]xSJ Lf.a`1 jօD% "&~@5h,YqFmm$nGp ]#V l'/ɹe-t`MbTEhp,Ix,~Ab7F3jt p}PZвV0O[+-E}EE%ِD,®j; z]NOӉ,rʝޞO;9IpBrH`LfEo4im$ &mSdt@Ţde5DD%"Xi#@->a ld[׺x_ˋ HIY;h. ?׏xUΝssqtDXNQtA|75rI'cH8 o`n)ownsΌGR=b:%ZTjwDrRqV°rHוw[\j0h RU$Mײ:e pI[zw% :ҧ ?pB72w(v4k$wZV[51kacЋ5!;W]a㰿goRJ ju)rkI; {zt;ĝY#ν@Z=+i5q9sQ8bA`3vl ,W ) 7E` mv$w,:/îrq8H|uXIvA诪Uw^D:6 ,&iB *Ui=}.|?%2eU s8 L+>2b4&@>(VU$Hsf-SM[hQ+QʴIClwѮV0Cո_n+ǻ!)]UM m!wY6ls,"Q|V&MpӸm.,,of$X3L,ߒh wt8\9dz- 7E]]]Q7c+c't-@y."ϒt6\@BZI>0"a<罓xɗ&t/+-4RfզSyXWV-dҐݒkK 45Y HkV &).T\QA:&FNo٩Q׽o!!.|G] 'Xq=I[vj 8i6+ZT9(`y<NX#K*5MӣCjQA"VW)ma6;I$zbZkJoERKZoNnͺجM> Pbu!8IQ^I%SvB1Cy(?kCYy\ # :ZZ*a7Ԫq4`>,chTE>kLBȚKDKNO@߼`f[A2@+ʘ|qkWMIkEw_=i8:M8~t;Y#EIQދ~+&Yb$a) IZEWb.7<~iE-l^J4!bf?{L.{-Ddv"jdjlDCxg ֘cr&"E*L Ņ V|80E݉"(/Ƭ94"eK6Q$iuF57)@.; V t-]ŭJz8 zʞ=4IP )vD*Xnx6ABqFj vi˹-3m b)ho~qx2{  >{>$냐|ށӔ0^Xi|3| W 5z;Q܎5kj殊G:x'r5(]`3Dz^u\ zqĽ5Bn>Kp%=cκҾ廉4O_~OM% V\d02mvy5aܯ120.ūR 4ٰ{ HH1;^%}368;DCT9BWWNr?ނp,A/4M.in|kȖ<ͳB&9lnkLZ|=1<8xlS ɋ$mәHL3'KMܪOi2"av8Vtft'N\ y!"r31"^v?xljw.ˆ\52iYHfEdE*O^N 8 ? @"f) 7N&C!^|ӟ, ,#8wӥ)>d&r4yy°"fOg|{.U:GF1<Rް&`BzmA^d1CgR2[ g4o\HverJ mk箷7kn+ь6znm$*K==HaL͙x?+wQZ(-.H$S1Iq!Kwn{^ޝ} è?>EN(Qc0m/΂B(ҷY=g!|7uDn/ˈ+rC@xN+z/U^ ^y?ԙZqp x#YgnhhAKrω+KY#Lрb~5 M&06%5įr@ep#Hq^j 8qIvJ@9B*16YCSE1a1us*{F 2$SD@2ISLlvnkw،vZ v{Y琗െIaR%)/3aŶJ{(O3*(!fA8ip& 9J iI1B*m͗Lj w9hdř8G_:H7.t$6˶9:K]սv;8IOYfr"3"J ݪ!n`8a<"R]P:$1Ͳ&`iWvNؽiE;Hۓ| C<&BTL8#hٚF[\Yw{=~g{h*Vo]E+E! 23<2'~LV3c(UTֻ⌸8`ЈAns 6YlcKXr!K{v3G'lCǞY!K+ȴZ R41Vqw$㡃QT'*s J_vt~;v:}-A>hL*"XD|S /kjKodҼeE뉒^\]Eɨk駘BrcenY 42N5GOF ϗnVhi=V|h)GGEMd*`q=FiWmuQg;8hFv]3 h:6^)Ue,2y!\UQZ6EGf߈+lpZIZlH M~LTVVN>n82D(SB%IyqճqCHq#>݌xtsW٥k 8B>/>[Wnq>LO1/n:8iA͘7luIIIAm"yHp+#La=Mɫti)GWG2 ۀDsf PjhS>|dbq 4R+FB;1N|.9p˩c,*P1Y" #>Dz2h7vÁIn[F5.?w1BP_F_d(<ُ' FoU3GE~~vϮxM8tKF_mM F›xM$ ~Wya ߏP>FשF<>tEwu_ޭ~d4i]OY+KzaҜ taҤI'(7g34'[ ʞS/L~7٭wwq"Kw뉾#!||P-d\u_,^&Y#b/i?}Or{:GC|t9o [±,OEny Py+T4(nxT9WSx5ӂ[vG>ǢHcQ/c!1c7n&9v]#c S9؃B=$> > l%dPAP9/Rc`gtqOO#46v"J 6~Hǣh/=oT#nQӸMި֯vo_ t؃i~q+Pn->mmWlMŏ_G*,qNᯣϓ谰*d1 yYV1(|G>,H q`a303H'kx}nFX-M{1 ϊ "ܮ}L U ?rh!jc*}ؖ3S[j`dt nP#F]͊*\84B|x', bä^N|){X3*O$EUWe; >W]d(RX5XlCaPaVlDZ  ?G|_ހCɐ`YuU@~cDsPuesp=DįneW˦R^~Vbh(lj, dF EOC2[̩IW-JnE9J% .b o%6,n;_m=n_#zè>0-^Nrx3 ϗf&1(i+xFv[?F N+ZӺ$`_.pJƜpNVC/>0<'H~[pe@oNڋX'@#;wyyKsI0ޖNa W:"]('84{4%ݷsh_SK{`W.IEynFፄ#%[l̸KҌ !LxR_>>taw-'|^I}~&ZZiJ{s}Hrs ȋ%<Ĵ˪?ffiM c m1o*K,Z]0`}cM-ۏe{NŰ ~:@|uV$WJl`{uft=5a5'`>)۱”-ۧzq>9WbWןם ?A\\Dl]x4O>B=>NzC]ylnvVsz]qp#h5:4=#o*S *f+wiKפofqt00Q8K*Kkvdvu緖5;Eܙ8*iu9k%I;2}}8qs-vc9 Fw>n{h}@alx3mh)<K1ސD"}1՜mIbF3w~r >ZRlWۗӖDrl< [RRBEOZ5/t~C"Jg  ,|#Ud#^[Z\W_] wΓbjk9)jV3j*0+L[-v o{Op)S9JsBN^Cҡomkn-ɏ."Kؤjid|s ]A1V*X&i(tP+q^ކޫ$nG[ILOie";RL LMPr!Pc@2qdKnimq\L6C5𐬚֚NUWooUu$Whik[- jwPe0, B}>y7fɾ'M¾6q mqAmj-k3Io0ys߽{{&w[mtØ"!Vkkѐ"ꢽ*T :f#Kz4;,A=7& gBFQY9*%rP:P_"^0eULJZh^Λ{-\3BI!^e+l Ε y i׳]j3ry< WeE|*g.6}B>&}Y-Zeb"ZY`eAA$âQh2;]%v'?V)?W~B(( cQ)\6C >nd9͵C9ʼn*&,afV,d&KŸPqWßwr/Kq]]ڠkN@Gr'{rmufF͢[QҙIb;Teap8wm s9Os\lXb Z]cB r6Lx}NjӄG͞>z]yxln80Xet$_fqB>c/Әc&H8={][@PjE=geO3;,n:%6OGͦӷwlǷč¯ڝ#AA/o9 Նa\xz[>K#S4IOp>X_': j1iӶ/oRөkf~8B~V0%Pj&lsTߟ5})L[e2DEjO)fڎ.]PΔ7TrdIh*,X#HLh׳F]zF T9-si7Dx;vbH$$D{ޥcz/pwWOip&]V_Wژa] t7xC۠DAZ'+ӯT2J@A^&Lob>OfQlQKpҋxJ#Nk%ݖ.Mm6Є,ZsRгn*r3V09e:q_;nhGUO= h' t=uD"j0ZbVO=,ʣ3݊gh;شVF" '0@9 2PZ8$lqWo)IRzr#f.M{71Ts!˺Iwf *̄ wC"tPt6ed$Y[r (2 ѨcSG` "}y1}$;W|# g묵Po5>lD &b[섦D 4 j JńK \yUtk>$z[|[ҹ *Zk ӊuF䀅 Kay>|Ix}_Iپk޿/"%Ī_[26o/Z޶aCX$T! 5ylkZMXՁ>ź z邬 V.E8eLDrMpfi5k& 2DׯZs :҂{{z5tYYSRI67gtUimCdAɱގ)q4DD9JӠm&':>%݆f#͈U]^>./z+WzNvό`敭D&Vc6[:*P71 BׂLXM %hq{krg';\@:6Ȁff4nLjw[sKkn?L4|_T ֧,xTWV,>>m*qAGtd^ vZKaE.6&F| ;VoqWYCIoLy^o #ᴩ=siI,kS:%M (daV+G\1drZdS'@+/DN!(UKKyxPf9a,QϦ2Vg7k*rjLcʞW\iYXJYKPҟJ6:^sFLZ ysC4jrVZ֑qv1`A_zQOh4nz.M7$X]/4$$ʍnFA,nh;J/߸-'E;=K%Ɯ?;:⤨s";+(s*"_ c3pnK;"w}6ܷyryld|-qT _N}R;cS+vymۃJ.(A kԊf-ilDoU"`$S :,Q9a~'uɰ=E) _Gf$nm$Few >b}z8<5߁sjWnؗh WPmSْ5j"VnV6 &`l,YJhիJቝ42"MD֥F(Uݥ{ ksӠ $:' (;n0j[x |oO7}5%dlmӯ@gnghzH0iv[ҩ۬hw|WRKTS( ႩK:E'},)ʲǿaY&bh>-* 71.sG*G> ǧԤO'w9x&B-_z@@J?V)S)D_&E45$>_}J GE x׾]A!$U7ڒY`93Y^f5+8ZF`X(BPT͂&5/1s X-社k0>Sj2\м`_rfalErTNΟsRz?*'U|VRW\T7,[I!49O>Nx!MOXy[ne3k6VSR0VdY WWOpE`Heד{GSӓzz|IL:}jtRXN@x̚RZtf\qT8$<:B=~@ r.;Mzt3R"9xn}nrVsɤ%άZZ#LW.WM+FvO؉dF_,ԅQlޜR rS&n34CȄ.QPow7ыϾ:(0f5Ԯe.@l$X: {af_Fy^c2exJHU*oѾn…dH!dr1 [YMӘWƍ# lgA#hgoIhf8|F{hV}2<:~/VΦ3 Oՙl$$?kJGJ+쁠37w: ]5?^^ubB-}4SҼ:C9NV0 uMc4+bgQ?8u<->XS~@ !iy;hqC QW}WAُ@vM׍?x,^7"1Ntj0U-ڳC L[ۑ׍r9\s6oٲyD,"0d` ÷)fݬұĞ"QC?<$Uf;9W]y[ߠljGqx1r)w=~UKwkWtC݆l1٫TI|.Bߨښ;\2cQp@"֭L=t+N?gS<=$LYoUKBH_VhN+z{aA9r؜nohy'#Z$p-k6 qL<*EYuO?zc 5V&H+pr̥5Tu8WS۹k}e] j .vf?o6gצZ) >OO=6XrH Dx '5ԼM |`WZ+ʊb\ V2iǓN6X@]6,fUyYI&=%}n[t$ڊiG0f+"ѻ a#$6Yhc`f9\Ŋ҅h`-F+u@7bqFCU+3X%tq+זo؏Oqſx0V@@enE.]Zl46=^<02Y2tT%Fkp09Tl[.))ʮY[8\܎y*7,%xQުB4=S;=ʠjк;|/͗#}{::ujt_6 aD bN&f+ 7fVTi Y>msEa=DKg$Td< '>}qAg 5K3W+рEN$ }Eۘ8@M1eԯn?l%@M8dBK0Չ~L!rHi[\#8Y|a=b׍ikwd+N2فKXx(jʽ蛞ṕs_sݧ_?RկdW JCo\rϸgnXE}Y!sM\k/.yn=JTu'n;t{'%6 C܈k"iv屣xbjSg5Գ:B2Hڱ.Np-.' 6V̤aJb@'T*M2a A\‡?o?uck-ŗRtC%5ʠ|TNGʾww}(:P#: kƷ/q1(8J<ƃ%@ک,Yd Te?o3 K4#s5L@5#M|x|#X_G4s32fK?9"t -jc ^$]?>@oh (Gѡb,L _/OâbMf-m(p{յ{z`Z,hH85 (ё|$<\٨zM}h8ܱdkS ea]dbf3[ 74?J2#uMAhr-w,:'bN_z?;=ljKo M()e[]P) }\"kƫƓzW\v1l /yEol\vLЉ:bB.<4{CQ*Tڊ/JZ=R R&Ѷ7> ->Y󆖸L{Hb*PƂe&wSEkt?J)_ny}YG}+6Ctޣύ@.oJսNQn_*$۷ny&r%?pwQEP._qt AM]Q3JڲvLMnJZD9NeM3 i:=2=;-]=5/۬8r9C,3m}QNFC6tιa[pi2#\(FP܂x:%"di4x[YݬLsh;u9Bvb]Jfb "ѽ!җ[")"QDh E h,jWBN0zqQ"]4ڥ "p >*;9R`c9\[#wԠä)? & 3Lqe@ iZ!P1~'Ƨ[HSc)?Q(X&ySp:6:Zڶxx.Nk-V8zx, YÃp*/M^溌ܺ]wW-)`JrWʑ8v$C_;8)"ǑO+}}#JksɭbnV|Qy r #Ʈ*ck5Ut7oN:[^UV[@-/"=WrTf^_\oz\?I5*YLљ f""6D$Gm~P/ed95]¦+붘al>B^S=d3QČewJP#05;w?6bqQK-FLZ9~rEMf=7ztN_=/P+xdFM4y^t#Zw= `y=8ӃIǟW-GRi!{wC>3‘ |7N[MŘp{_҅0^[H$\m?[eFV_cؖ1x#'FUГ ^pY7gptQo\tvjÍQFƱ4dup)|2|K[9;q|=Rb| x,~яsyQ50U/CAV /;4toRV$-O'I×ϣlWϧOg:5]Q> rpUfz\xjgйysekfW19ŹK+ҕjtn)I$Kt\$6u|}&;$wkgn}ҋٸEM Zrw2ixf8X50fL0:*.{7\kmt̛қ֮XXSbKAZٟW 0 @+?ΈEbS4虌pYvzlj `\׃1#lxG7O>0J>@'^H/.ׄVfQcߣىV3b Ͼ/Hh](m.rxb\mvZn| %9#R(dAK+ߤ!&.r¥1!NUVg9%(*M8hVtsN_m|?ǿHy}CFѣ \8Qd߹8&ْ)~?Oج6j*(z>{H!&qY"/ $XY2Fh))#جG7D‰l*"$CT4ﭑnH!mCq=N~1R^0x=p7 ș_R I"DcO6D_RTs v VAQ)h5ȍKVF|Xy0i%nD;%Cm}ϝ3|Z B»{3Sʵʔ_uI~QL_ܑc"QIn̢ne9^ڲe؃m@֩2%vw؋"F/S+pR v/{`nܴH)V\YW(YN&cacΌ9zm՗[^|+O mU/PZY7]5) e':ߎqi,Sq׈;Ve K%Ϯ]81]9kKQ(w j,C_޿#}:Ʀ6bV/nꇝy 쀝N n8ȶz4X!>Yr-*[=Et^#?Y CM|Dyqt,Xy1f4UDؾTf^xŚBo4rq0@4qN^8шޜh:^2q6af)џ%^|4 cGNeKHX bNcg`/@YB>h:R#2o#_[&MInB]M F$#ry'ꋲ$o22CS5IihATMZj-Mh9%.anb{fe357fiC)Qz|֜&%|}Ѝ__w皢=r|Կޘx;#$XiAVΩM2 Ѹx'Oe4؞߻;ݫ!M "D,E_CO <8 A9\5¡Af~I=xlƲBa#hG,N.{]?w`4{I@ 0,F`ɓW۵dG|Yr* dq,ox<1*"tTEiR⿨9u}+-&Ā&o`M9fL/F+ȖROO+$qmTķGtXY~ z>.DR$rbg)"Q^G"l*,|zN }M g R0bA2Լh'c |h|XjBkH,ɡ X_ORN~BLptirR ˴(RYTzx J0zid^1 tI|C;=Cp W+o#u F=.RC5_͛Lw>yw2`u| ,nǓrϑ!"^"]>V8ߥ< Jݬ珅D:5uyeΚἝEǏ,=ݫح{ϺyKW?w#UײG2UK!kZ@4!^K"5?KEIƧha;re.?N$d_eB۶=EYIt:ʙJ99yxڡCW7?ZD |cCᡡ`o%>)zmu_i}wY95Z]*Ȓ*MWk^O^hw2%D#Eִ4Vx|' 6e?('OW몵*D@am}ܰ`o68|HB_|$!1ZO(=nl4[l9dQ[ O3o+7ICY/ Z1VRlsH1r u?+M6FBOP~yZ7zMFu)?yTXG\9S}i7/E'FN~p~α5 ط}$nmWVk5 ȁ|cYNosKسW$0i^ڿ_̣i+h﷛cP?9_0֠4b\pD7lj]o[T(z X˛β.6@H|{&*TGwDo0Fdy)PS<A"˺R̅ c,Af *!E{5d4RҟLIAwE[kc#+i'_Ľ4ǿTݟ(Uvi=Լ06 Wzy-L$BAAiZⲥeU2%%Bk,ϦT5u>t 9)W@6?Hs'2pIWw>S[`NyC+$ADI?D@l0~WU"ͨ}a|u<9mٸ|%|=2y_~ ;4z`,(OӭZL~JˬWpx_=?-Rͩ?U."`~2irlܦ`q|4m!#IOFWONfezgKlEFI@L͎bpҿML@1d&I8nD,|bCE4ӿq3TIñ-ݶG~X__;2cJgLy$ߏnA~X}-?+)1eϘ2m̋i_;7q?/:1A'S&zjPf(e_g\5ǂhfLOhfa43q4X; ~&>NN&y#lQHsƙLj#)xI=(]HR!S MB A)' tXǯհ6,ĶmDo>EZTPA+bjhur"A)&豟]""TϕAq2 Vb!&Nmano T%ZkI]n2VVŜi~?Hϲ#?H&\xi~n8njګp&Μ9SΜ6VM~N0wY>uys:/bbxC?~4uԽӒ&]:cIn<)no'O:4Dܤ=Ww8_M~tr=??'>%4#Mz)ҔmSΪUe քK4%/ĢnK~vo/YxIꦢ 3ȧ5{"?Z/_Ҙ+iE[ %1VF΢g1MQ_Dmj 6{ݰv+Z~ҢӲ;ϚĚ\ m.osW[άichO}$Cab81vN_OLԑM;O|{|(Ly]3i_v:,+G`YҦ܈(Yeu\-_ x!݀HZLJ#(%䢇^_?ͺp f"t*^mM]hdׁTUOac̢v ?Eŭ&'ח*KDNiMD6UT@&? 6~2#N4Mˉe.AA˥Viޡ\Mk5YȜzErun<>ʓVUFӪ++eP z)+xbZ`ә$*LQmm*.-($,UֹgsQ{^n 4ڀX֛ٟ솭-Op]]6ٚ,u3mDr"dB[(=DExi`fu弝q[PHa`Oo(yּȷіZ¢X^O=#h FFҔV  ?X̔ -協(󟗿ȶߺ-T҆"}E拜lpFmnζ\'8"O? &Ͳy%od|jž|N8Dp{*ef h~ªհV6lԗy|?:- [aJ~zeʬ+I8Y)4sJN P7\F{ V=P@U Xp= 扨skEk5ze|q5XQ^Ea?ͺww;=)j:}zxzxph2n9A  x5ەD&()8DLƓinOqKpCDz㴻?MP4ReK&"Z=2O%xc`d``b `b`d`dT,`Vxc`afŴB3>`0ddb@ ޼\S0( P@AN?{  d1 xiHUAywgf[kKYپJ+maRQmDTfVTBQmϗފ‚z-vTD"{af !F,OD"[$)"gHD^R?P^RMi ͣ=J-fVBX[8s( n<?+M?< `.0A,(I0 ! 'r^iew;:V+S#FM8Q%ݗ^V+MİX( cl(p<I8#ZAxCˑ`96)9p\8n 'A.mHqRjOʷ:y! fyټd^0͵f̯h8iTc?;Fvk-]K6j2f]ujSTO_ux`9<%xbbf^L4܀KqLI_FIvMv%ƺ\K;#'wglu\af1zxZ}|Z j&maݡt٥k=zݧo5gM{ƄooXEz9mHwuZn.HOyP}< x/ULa05r~Wv&dCm滖њ(ijʽyߎCfzr+:}EpqaIuUpF!VҚ*9ݢ}O8Giӳf-& !C+kYEI*_-HD7MOEKQM`s0< U׏E[JeTT+bKFdI[4;p6S"vvOv\t1B!; " A:Z^G_1 JQs*../NtWS8URifFjSuվAcS5$q72OLǔylТ#1Z[&ؾnuvȕ!WY.Ƕ]ci7"hB:=J}_0 \6gJt^AUcYMmUqu ktbꩣ'"[!msEe*oPu;Z$N=uxW\b_Hc=n_N';U4Ym <Dؗl &έ-.rgBfb;vU}ݓBKqEcc_q=^.G^qDj.5oG p%>[xc`f F X(DwOFFOTTOM@ iCFF FE^BFFTMGP]*GDEFGl OS/2GP`BXcmapGltheadH46BhheaH $hmtxIGmaxpJ\dPnameJdp- postM, 2x|>Xqi,)"z`n*Vo+ݙ93;۫zoeɽ6^HI^3&$%/>v{9y{]J3ko\)屪i5 Y ŊSge9[+_~%˕_tBqg^r˗흢]~Q\g<*nQܮKq◊GO*UqWjӥ-ȅ?G{x-m7\类vuGny7xS巘n}6w;?k/{w}O>g~G赏汭N}mO<)=ǧ-~5gW?k>cgg^3sìulxO߿Y|k?x&S?Ycҍct'ɡO.)H/Ŵo>?fK6.T૏nz7c& 94 be#Z92ĩOEA @W o=_)|aV%׀p^pVe7wr^W r'a+l^aH') 6 xE V˪ ZboȮVNb8ጬղ (/Ǒy؂xnU4 @s ώLŕp3<9ޘE,^^.cxeE)m;ĊAcu`;q}mtn:OͺOz}_Y698'p\ov sd8ٍ8]>Fp s0X' jv̓ V֌pXsa C\Fuc I֞o,]k3{l\Gƿ>/T讆pB_{D7ol?|iqNS[Nn}B(b|xxWyX8 <~#@&Zwy>[j+V怔 hZ|otv`{`,7r2b&C|G(m CD ْ ͑n-8;i^lݲ>f]17Q7m{jC B' g|3`I4AmCIgڎt^fN% ~'':Sô !Ez=σ3ߝ>cKthvkx[%JX>J=-#͑ig? `́E18\:Ysu]`Gd&}l.8XEX:s#vjn>/|'s*x>%t|T#5X1yc=DU=Rn~'㰞݄9&y. zxQ9Ʋz%!jB›a_.I"Ρ$brs5`/MGE]QlU|Jqp˹R~TWG;?q(;zl]LNNe`@fEA d}, 3bX$y:"m+mVKwuI?E7v|kP cK{U~zj=n z8QEx ;D? {[BS`By٨aοQҕJW B4H4%[s77P+X&Mh8LKJ7'>*2>mtAi~扬wx6Vr ހv5CC{i9N#~Kw.]Ƴ7p8v *A gj|u2w0i~6]>8㖘Mt a|bgAg6T+]up{T2E>n{^KdC\.7d׬8RK[Dɞ'L|mi/ þn?PxO_vî Bu?쐓3dR.`4sN׳۴s*\&8 É}ٱP ΀TfP vѺ (y D!' N8 [G~Jo.Mgftfxg{ 6 /Bwd7A9xTq hP } Qo.c3wCq ST #;8$ =QY_ubc k+ !Lσ Z-u%~Gtku[;H_U^޿}FhZ^ZkD ?@l0zujbsmAkq9#ʬ䁦PMaP_?9)t $+ | =T e9{v1雟tV|賟pͩ^Do]1FܥF>hH-PӴD^i2tPKtq֮wpw?|Q!*Ĉ/.{];8BLR-#x$89QT9AUW5ظql.Z>u/=o;KOo#vAtu06$n<}+fctc9l^@o}e`{~v: Z& Wu,~:#F̩ݛASTkȖlDTy8Yn?BwBBt"c qLod{2_JȆ\ vNuTKw/<OJ="2b@1W(OUdH+^9E5jE>w6oD]ɉFd< ߗH.ʛ4^wRλgH?肎W £ څZBv&%?LJj3h?spV %Qy_eN"":̀q\;4q},'=A 6ɧ~ mr*G "_-EBhl1ՀHt%Z#zHwv7 G^tFAtb|@66=8̭E`"KLo9醓g#žY݃Kzv)ykɓ<@ۼ7?&Df,j?蹍vZEhX,P N|`߳cQ|.#C Eֳ<'4H`T,^ϧށ!vf ]~ubXGs:yMӫ~[>_"uCR${.UMFt͘;92 ʃ%`}8]F}2X*B<ϻkYiZž$-(K0n8"Y U(y](AŷɷCv\V?> WaNDǥ0dzЇCV(*6R*`)<Ie"^]d>b,fZ;=&g[lҏUC=#"XvUaZ*d8cw7Yr*sЀNFrWBmY Ř8/rC;fr/X#^9=wAUtjfsY4̛B#LQ߄N7]"r!7u4?&Ϛ^'uTT˿r`7'`ẁHA!nwSUuL ݟ[tE큌//!nM"%J9zd:Oĝ| np+" O4$&r; "i0D"$hzmtloOG74((4iaӚX;Ǖ zQuj¶֑޶ ;IІ/q?bdqLVg'Um/[+Ee !>}VCշV dXpn[c~{ԇ׻j-4tksY8g⼜;iz7}E6z.fjʆ;6o;=K$z.Es |l}y/<qʾ q(HTU1b>3"/Y_T@<߶ҥuѨ5Xa4v# c 5voG*><,KΖscʍ2:^EcN U{vBbk[e;3ŒɆa6mRB-|Α{0[,PK*:sw@߰3s u%X_3A装t ˘^wVe%k"Ϙ| aULf5JBe ]*qpӼ1f׳#tn!(ɆlZzBpzza#2e=,i nmJIᵸgx 7ޝE4"c4mZt}ȜvABôNRkmw:W#[RMC(CU]-r^%UK)"^Mlڂ{67ԙڼcgG](9o"}<ԷHyl5ZH`^ŏ!1OSр_э_@^hQ]8mxt[.l.!unހ&gaN8vfgql?͗X2&3"Gdc wYՒJC/ə&Mo[;oL9]6=27,pw2.i3u*cYUD8k#mJVADl]Շ/p87>#\}Pz5P0KZp0z5ҏYBxu6ʝK~"iw5DZeL=CĥY6Sk7[P@=9Nyq6z1C_I/j;SZb}};{S==-V_A7p^eÆfGcЮm]cd̒:qgb5LI"RJw6>ZnFQC5Hҍ=quK->.fIn[>Ie77GZY)| =jӢhfdmڶ<9W(5n(S/h^GkَrcN.$DP"~s#9X8n֣c{|tHI ]>l zZN4%dN;`8FI S>̘|aW;sfOA~-}JSп}ݦ!\c₂05Lxj9+% 5Pq~Vd-KB%XYsG3Nk:Ntъ@-Tѩ3VkM 87¹Lkl(_VCܜ%mKjz KUSWwos|r7Bɿ0+/l,[,կ Njr y dr ?h 5FEmKEN͕K`^z/BNxi#-@v:v9BP, 13G#o7Kpm}[7SH HӁf=_2V芪z-987QR19sUğݙ1' #Q uT68sl!W Hzm_e s*[`l GE:}kK<ܚBy21A 9<lրJV߮I A0a]zȷF(m[AGșr[jJ,_3WXY14R3B_IʥO' :Krz\ +ja5Է& %&{c]e. vsJKrO_"Cy0Î?!^e#leޒ҂e`Akgcxw@k_da.e?!C.뫮 .cCC]Rq$a6azRզ08)L6/ x-ZQXPSVjH>KpnC1Tk:KH0fE1G/̢\+#|kp}tcPS{! X7C[tH[QW԰D=sQ4v?;TV <2s0@ zK^gz ?TCܞ<.@]F!]H0L;RJn˸BJhz{Pӳ5kVke]SadL˫@ =[b[6~FoFzпppLs,ZV E "c'rkf,EJ{w@I04>\.ɧB_'JBAjٮۆl p{mr@> xjssV~z2Bo} SfkIt!0o8!>$qK6?Sa̺{ebf-ֲSL W |gnzV7=?zҕWrN<-vk ^+?s3Jdy}m M ޢOnjw[ߟ8krk&jCm- !߀:g}~M BD%Tlݵ}Q:4@^?m!}h}s?a nnsUI|Z}!\t]b /3E/6N)C?Hcʶ˹,6Q=e-eրC3P f[x߃^ x'/7]d5uӗLLmt0TGQ9]Gx"HDaYb>}!0+wALh k۷yD\|9orV>fa6 qD]]h=G z:xOdS5L@$l=SNN;8K? mgg|6Kgm- 0PՄw]0S&/}=z=3?I.ߪI xLjAZx2 uc=xOnñ\GD' fXǖ xݪ6nS^}(-8;z^>InЌ8z;ubݑOI/z5 y}{P$a+6[:yݚ_>y#s,D&(\qڪbweaY.-k\9*Gc}t.ҿqwShг eWRu0QK+skW-0 AX@UU\4z5u׹dG⮿TM4B832NϢ= S-Q=AJ2[/ҫ6;Nf`ϫGs{s KM|G9 ( *ԓ*Cj.<g弜id9Rk52Y[Z8/;$r(?#KOSd,]bXnhCD}_6v`< GXWj vS>?/ |.3"S2tYp$R sP "nPK݂q IN&{r8i/+)5`t"3alU] A^_kyN2h^^]k[\orʕs:f>'"a @7y˜i'b/2yX6SHcRL<: UM ~:A~?#)G6#OA@-[t:9}䫡 πx7qByY'k 3M a߉+r!/| 8 .AmtJa Iq0Bu܃->|fs4WVҲr<w)'塳xH o@A͏ }gAg)Sˊ^E"dn%9#͙rbbƫN>yǙ*Lj iT͙(".M, 2]AR7c!3#}ɺ8t@pa/̫z 8_}W' z'@;$ t'F}'vK& ۠㷠qkgavr 2:S#=ixd򒚢e .˫̉[|f]>w&>zޚEsޅÓwv^w^Kսgx}GWw?oA5&[\q']}TG} dN,̓/p|W~jlS8L6TZxnM{D~ i{lk q>oY%})1\)n0v8ZI#D jKbT"Yzg9Z͙uN}+ﶡZG:@Pah>냉)^PzF9TX QZKV$-LC'DVKwrMcBv+ˇeP/*zC:%2jm ۆ)=@390dk\zapwnQq q2 ) _A9sr2@c?s8:nNןJ] Gh #ΪGF{ML:m@IّuO=|M.7IFqG9A+c*n%3"f(\L.9&B l /_.B~N}h}Yv]7Ͽni!ȴyTǧ# '!zgHڴ~iX:n f`HyZHSG$JGQZIˌbq5⵵EKL瀁wtf۪>Mm:99, "82*nNGp-$ݪ֢fG #:üOBv^kͶ"cdm4ĝtz5Tm߼7ЌhvukqTe"#ρT㻥@92m %4?G/twGV]$Z:: <Ai'FG'hg);;7onhv&$ghn5cSz>s4Fu]w=|o z鎯xx/·|oeǐ7yA\v,I@cu7FSןazcX:.l4Otu˒R,^$| Q# w@ߡ+YiXN I1 tlEn>) vќ( ̓.Jȴ<Ͼ+߂[ @8k v6>VmP}L$qoue:܏KWT+8ť#غwq cmK 65#$1^,x̀1bz8?-ǎ/p*ԜSPWZ[XoKqL &r*zo'.w].J /&X3L~^>p|bXjz\z^CϜZRIS7TE-NXLӂD+ݔ3]]S&_d?tY7k.3iz2Y]9{v+7 i0iSE #G{{菓rDexppEWE|4`kF L{Q EdS~A3Oi~6ؖhucR"uz@ÏwP$!T&W;wuN`wqXHc`Xs^&_!dcZz4ix!6$ ʴ^~tF+t;&L~@-Dll":e1N34`ZS1,m윬+2h#5_ۥ.;QWdrY`im'9%^RҬ"MXMZzyzƬϨ%&v:MO/JGw3Z05N^_% q3Jsd4MU!]`E%*g\\}~7k~ i*qs4eE_jiKϯA__c(6d f0Y]>w4o ,MFu=U1 U A{EQz/JtM)YnF#{6/CWp׏` Um AVEj{a6 -z"w"bW3 j+t:'s42h%sljZrm盟C+@V&Z%MY<=\+OЄ|Q> p>i@G|ST^(,| c4yz#}f)?J/wjoɃ7ꊖ27SM>Lˠ'pk!C6 $+j8n{yN7O0>'v>UGp5f:vkyKnw]f˸CR٣mPX( 䑞%we>fHDXctVR2->}LWRM=ԌĦ(O I\!Uڹ%=jQّɴsQ$r5sљ昞Wkuŕ BÆ&wEz'ёhOch}8y9Ҭ+w+J2/XM`~ {VNgbQ{/Qæf}SrZ!m~HJh16Sք RmHqWi)-ogpnXZ:g©]6aW?>q7ӳHؽ4'685}{l߾,ʡ"|0AMv"=A;a΋rz۵RՃH_/\0ꛭ+V vغC'`g`ɹCv)t5u]s~ Nzr̡P/T`=u-@}>"|zUoHÌ-Ԃ "9A~۫t/Ji]f}Ҵ.;R֞5d[,)^Rwf+Bva'X|Qf(( uuUȓtCĦ7EA{M tiwsɊN;3"x,L.-k& rh\I!c|.ݦyq6B_Wp l@|]tIOMUPe5z|m~or<;g"պZfT5x^'6_״}?^Кy;.cyNa+ OKwGҋwicqg޻N r5\>;@p]~;o+d7Z}C)cbRrw<BHrb_r^IW#J'T=\7DoE" !_{jyl!'xK1lLcZM}}yz$" <,o.9caFbPs* d#y 1'8@vn]pժ\E-^}J/6Lc,C;&dsnʟoD4db09U tKǦlzTsIE:[%_ܓ)頻0y6.0v5z涖"}uťF[[uvYq^7KV( c;㻉v,[>:բ,c11X!=ىZb:Xֵ5 T[Oڶ{|⋳l%aL"81IL0^Ki[\w ~(VO'JZ:{;7(5Nn)yY'8<ΥB"^N%/.qab>g7|$ ;U%,lv ##Tؽwۺ#86]ӻ?q@UG㻿m̔EڦpAnoiil2@fsuKj Vpƪwo|3,. ̸\oil149`>w("d01.z5гavz >Mm-%i)AWM^-Sqp/^ܻ;WW|go0|9~ZiGc'G]hA|Bxd 8p77dj֩i.[fm'ul]X9 1,۲+볋!WG9۫B\=2O%xc`d``b `b`d fxc`aZδ H30@h L HÛ0~@k B? 1)001ufZǠG xc```f`F81, $0Oa{OϢ? 3?3O?yR" 01T&τ_@PHXDTL\BRJZ"/+'o`hdlbjFC vB0'D!xc`d``bnx~ /" WcWm_`9t $ Y xc`d``,@" BxPKBa=߽ &Q>D-BiA4b mM% 5D AC64EI::^D=h -IAv5BR/#Hn0wbP3d}y5br [X^$G2 5$1,ᵤH]Đ<˪%!njc@.Ӱ4G>ehg/9{:5[Ka0"5e# /}?L %aly@Dc> 5_by+Ky&P7Sd>i0qe]FHPdxT]KA=R0 B1`@$*)5#q7쎉}cB@dU!Ιw=s1Lx鼰8GtZHoYd.j{FԽU;b,J\,ŦLT;aSD-l{>CxÛ9}lZ&Kћ4Gi8'tSxF}C7C((nKQ" ʧ [*M#hqP5Zs#?YEN׳Yc\z(U`߰G>RA\.Ym ?;#npJ:]J}2ׇ _?oHp\AU=>vG|۬&: <Ů 5Җ0Vb\*>ԓ{R,}g?k9t e"l9Ď*s݃@%XX xdpYؒЁZ]ve8pridv{G)_T+nuR($Xuu%j.Vc#[JLxc`f F X(DwOFFOTTOK gCFF D[c,8FFTME]*GDEFE OS/2ER`ApXXcmapFLltheadG036 И8hheaGd $WhmtxGL maxpHdPnameHNvϓpostK 2x`6X^"XYrd c۲qmYK[̙E+iիU-r7̀ =!\Ry׌gVkɽd$̼Fu-z UDܬ]UEOݧ_jz!BêEŪ%轥eUjQjN j^-E_-:#:ꤺER6u:PwuOݯPzL=PmVB [XsaΧKs7H>鳗ss{ۋw9hE^se uy^|%.]?}꧿\++{Wuy^wu 7̿/4|-cם u{wش =XPC-Z_}饟.Om{?9{/gsk=+/zOnЫur6<ŀ3b7}aN-O<|D h9L[veSrۅ0 v+$[/!`) $xml=L/8hXcW/@Mb.a$r"0@l|a Oj9>)XpۜVSo9M,\!jrk`i% q0<ڀ >N[d~YgN-4eexrs0Y|6t9oÛ <3g ;Շ#QB]b`t¶Җ5A7/_g=8r0#xxn˃Յ[;m+s4ݟQ(/6~xRXG\~N xϯnx@y:K<<`05MBs ANg?td mG.~pIWm0|3Tgau3iaز%Woذ!sp]g$"JG_\~<=Cvl-5=Lɇ3Z 0b-|"#Sr>l riVbE1ɸ0G8kr=DOЧBDAJK"`tc\Qܒu6Y894I*{cZI8gC E" j0w7(&h?3zM^Ѹbw'gn}#sA8J]_DQ$> ϳRSzkd&6?.AƒTn 1Rf9wn2W0[_ C4q<!.mX6{ <|i|Az mGml{ bl-FZ,\3 xg mCD=30MqW_q3k_W)`M>5Lg.8 vWo_.hII`N <ۍk 9AUhLV ;Cszl=}o r,8p$W_~ƿ:luHI>I}Υ?<<|߃|;=Xwc;J˕wGi]ۓkF'ymMc'ϘVdh!}k=lJ."{zaӷY][~u'R5|RqGJ7LG@2Faw<>RX5$JzH[fq'XgӖ [7<̭l`gh?t?![^O½'hp\aQj>|yE9\ F(p~g^E^O#pUx'ڑxybCW ka_@k^f̊h-*RjW %oHHQME>+*}E -Oj:u})c,'0”6 [CpF ? F);{gpg7?A#"! ௣pM_RhΑ8l"\mwƉU`A^ˋ!fTgmrJ{NP_f^vpV݆! mRrV_sv;L  G'?8]̏oޟZs )Kpرcv8?'y^l4öq}q! `ie\H^|tП]'Y@e,Ao){Qмٮ#\ݻx]h|H/$L jӮ\f!+xع,ЖQ.x:GoѫyGCnnYYԕC/_PwS~|t5rGZkc. vwu:]QMYfnoXi(F?a]Keӽ&d~8'5#{/@(>l{k@]jot6guA3#0E{O^;7IĮ9̑ڧ?\wAK,[8wb]x=Hs 腙<'vn)!d ؀aSH)@ -Gs"Zxg@N"D+}v*z46j{,7?z\T3|?Dd[: a8 (VPRYvPsZ8 [a|VD0;"<yf*ӦiП |P;ʪSSx9'gBI\}T͡*!aFE]tzaDJ]]uB,J]=b9ˊJy  S uikh:/lPNvkي"Q & fN_cfȸW2N`Bzf4;ȖC 6 eSKbvH@i"{|NyT)j ~IƇ7Ȣ*tꘛk6C1_#`|N=L6/seiqi]۸+xv1[@ >M5Qj> >)+DnHgL@i$Ji BE!ؑE l%>LlKg&WY%qH9Z|=?\)U]:VᴴYs=hR#7Hl3mn.ILA"[d۩k5l"B"RER5A-5J ikҝN2N]!am8S|!=ȈNE Ha"]D72%~0]ȣ~p!3sx_n10ȍ A1|5&M_D5L$ý~d&]6fzoV9>~ #Aq_%8y;㭮$vk RvZ(p3.IJ(v >EXL 4/zͳ@ӗ;%KR<[dVQq{ XɕhqIL o'/=yv fG鈤YԜvpہ2ss5xqtB$-}Igm`0UBp~$YyI80d?_1sU(2L! h [eIe_G(ߦ<7T@7H_0ѮмޑK6y>؍!bFf}aOT9*.Dl YA[D\k{MnY|ʍȵ^tg~KJwٜ+p! Z 544.&J#:lG}7Ek"'%טK8TߩW^vfUC=ܕZVqYknqqm.*E)jiun"XZ›qpku<]I*CN?j*E1Z d~ H)$ĤvtFc)=}\pJF !QK01޺wۓx4a9?*c(l7u.a+L c~+O>8yUe1v|J~]dɩˁ%FdMpWឦVg\ߡ_{@@T[>:5zz_ixDO,L?BѲ-eM҄Hӊ7͇" *[V"bHp9 g'w /o\\-"-qo^WXl0C-W Z$HK0@v,\ aUkrXԷ4wOo+!]il+;np?_qZ=J<'+l,}OFەNՃaV"m _[pm1[vӹ\ Y/IB,GVZהoZU~k&>GFDI-`O{yc1Ļ}O֯|NX t{.3$|01r@h M.'oڟxh5eLz .̫\_1|9mFcnK]uc5 +ڕ=Yhk`/tҼyZ ̔CdxB(ԳR{Wc qz5u3;8^ӛz։[ڠ5mil B|~ƃƺX34v`f yjaC&p[,[39cs"o6` ҧ#N3fwcUUzBVn$rAiehi,+//@Q$w6t$Y -ն"°ʡUmYZvuCM",iC aP,J^Byˡi(*^jl'0d$H$UL^~:{sd*̵6nmNwGF4gFԇf}i_wKnHp)Dx舲Sʋ%4 kϥw eA-O̓hȧMihHłIA l?5#GvEBB9t(\3p5Ys7cYJ/W'/"=/sғW?COunCrn)}vO?-͍6kyyÖjggQ$[}\ 1΋P'ĬV@#]&kESZ eJa&6?L -` ;8 G')ߏ([0yaLY3Z+ݛH+46w"2(ajiRZ]U:)j3|Pu᩟g.ڴbrxT$%5ku{ ȧS{҇P}O5d] -حkjlǧ26za"p.-&:n D"5#%'ώV?ULEVZOOhL;sЖ "}C[h cNg+0%3o'D/ݵ#u؟yEx#fnRKpؼv@i ʥ DDoaCUA-[GF¡Dt#W(Cj|PFS#64B֨ZVUV9]vӠlt~GZ|Adzoϡ?kJi]m;nÙF-zœWO IǙ]>su;ldbE:/kkI#@j8}E%GqDr\@~ηvvM΀Qt0/ӱ t>Z$.'j=-nGsAtͽEJe6M:kTv*RX_k"Ah`39Yxwn"y*cʑ*{:˂'DžadXQqLXqJHێM5%_7FOu,q5 3\#1 A.t{hG4َ& .DA/-ZcBGsdfg˯h/9;\.ԙ駃گ\ "QJ߈&@㼌I>TE|N/[iq6a+([KH_u& Ģ;۞64jow$6 _ PSGNmwacY7y/&3g,,qXn)]ޔ4QJ%#=hHB|ˡIyb3Z)cL+|pP٣qJ XN",f5݁DG$XB*4pnViH{lfȇ‘o\6~8r z5c::;`B+㉹IV%Y]6 w@6EI[kg=@_"yj@Ocޱ9>~~ڽXϦkT3 XS{Ѯ@ِcP] S* yyG{Ð my9qۇmt '55;ZV<52R]0VwxH_ۜfYW^n.D]V/"NiD( h.,]:QwcՇ^zNOFݗ[AT0+bEK uN$AaSA7oU-1.e8֕WWxY~6QO&u~DF饟!ʹVAe0&ϐ6GM|#mn3 B,R~ jdNߨ}i Jdy.D"Exw*L6\&{~)FQ=xJm3GL_?|^Ǯ}nz7->8D6Iƚ'J+ MvGݣfͧGԷz/EM}jL?$: xh%f qimz˚lCj9ڿc(8&k8ɭ#Uٷx*CnuA_!X&'i? Zz8rIU&ylU@שiؤ~xYDtlo:uWReea`a@jKΞp G"ą0s64=;JƖTBUsC˅ 6V97νjUo.e-4-ҹ5'kg!G i1C_癿a"(ɳ̋'k0 CxenQ_kD$n~ fڄG%HaXOi[zes |;o*Jt]:2iK7N-4sf鸾޺& p(/;ZV= n#;xG f{|ds;9D@^uDA(7 a(xބYT:6Xŀ:=ewy-Ի//=sځF!+H@dPf5'I٫[(L>K>C> ^V& `&8S1>4ì)B*9C(xA%@6›ƜGjFޟFޑ֟Zn/Ȣ(ƫ2H"_x/a;*#xK5|pkh2_L"p^+%x@Nݖ6̾ F Q5VIx9N?gs1ݵ(4κ: Xg_^kGK2g]f勀\esTH 6(s+|ULW镽ݼ<^f 2N襹 ,ajFЂN1J2/#t c ҂rCb8[h/@2N8y9'Zm)cd=B/&<+#c׌X0ѫWjnY/NGs*wX#\ 7z휜 +ab?s5oSY$(  ^ah-E=ԁנمn~9}Ӕ||>7!m|"m^tN>%҈U E u] y9݄\3{¥l=?7yCطk4 aL1a'm"ۊqnCb& "Y+\Ytq >$r'o4%+Up/XSnhN!thVw^3eljb_e5˗3jJŻyOx uz<}>7h>+cˈJXdvj9& r^ى[b\C X*aPF@>OZ9omک);ysC ԭ2WE/6ZLejWG=KA>֜Dez2R9`amczx#4J͍btϾÇuI=X‘UkAlvW5?Zbu񺅶O9׃[*Bu:Hը`/aWUەXm2#{E"3p\ xEhu1 B&B 0c}d1`"(>];KvRCii'a E+אa6k׽k Fؒϳ^(҂ (?́ON3M=sQ{JWAҶl6-F,`w=&4OrvxoBN=Z 'Ŧ} ^"|B)b,q:Kr y>4JytNdVB~0+Dv+U)"=~@/UԶgPXMYx[\Ygq4-V $_>UP'5ڥPrYe5;67LOu6`=呿-9ixU%!4 GO|[4{lCB9'(ycc%GkǫiXፔˡTs=M{Kџ`E!)$|ZFϏSU340ѩp]ee*nbp s=g0ᛕA[)Ra,a@҇? +ߙwc,9z;'2+N^;bGFY!{Ůn)G{ ݅#H\ٰh{}z:aȊ= Vψ#:';wK=mj/2 B$;$, +#'! sߞ w_HW&O^q^Ǧr3J-*:ldآh" l H}inWjnuXVDj䜆hcjN*J:`oz8(`qN ѕ#/%8ݿD QjO$"TWWdblc7Aff"196BRHIbLB\ .l+</OL w$"i8_SWLc=CC=DmA#T;=6jyVO7N9<L|R[ VVz}ܼ]'/S_Q iH5ǫDa5"wq{ɺD Qxc{Hwkw,%ሻs 3[YIސỹũE1:}.8H޳Hkɜ >c;]_%CJ{ݚƒjSk`=# :1dvn'^ oLڔ>QLQ*2CxOs>>hM$Fokܯ7 2Ze' .) /iN1F9WZ%a%j?`!Hl3L`17˗DPAq 즏h&/cn ˁc^_x_N?/H;j[[#uq(?GҮ4ԓ&!lk5:M+( n=OOIkc;_n<#J (8#2w.W݉& tr+ {y5WW̟7AY! x(4uƺ}m}SqzWn)lzЃB &};ݶsVLNON1-Y7@UҶSO,Z ,t(_% nvs]Ve# Z AScM^L5` {do([`K hctsw5r(#VUA$Yit7tOY[\eg uˈa%J%l@2gdFFyފ$&=4섎RXMyfӏ|bNx=3.rڝv.Wzn\Q(ŽN+ȗ͈m. ٝu_ןtQyp-)4HXT%nubaP(ܼ/dY;l4My#1+Wi]Nӑ]=?>Þ^[7Fl`HVd  x)y=.Z\6ϴ٥J=:#)-| *Ҫʚ-2XU8Rgx_?J B!7;s&>!9<ڵU,N- kWs yT=]x?B_E$x_Bʟ:>jWЃ|!GFa&\ߴa qZq8k2"򊈿<c#T5/F`]}|\N~';ʆA]f[yczsῸX3^EYW1i}c4-Z EEndLg|+ O4Y/_X*v0m,D .Zѳ}滤#Cû}CODE77KMYɺ][%Ѻr6ûyީ~ġcpFʑ}«~l|s/8fRɠ:1U /抙ZK{/齜sqڕ-7U3y^O嚶oوY^5eBQc/v{T 8jΪaw!㞺OsH#Ec݀+P86p6\.< EGgsˣ*e^;8\ = ۇf7`Yybo=ɗr ?WTslt)ɬ(hsCz@GwIRI&K cVkWW]Wgg n џD'>hSZ>,zn9w-dRv }J&3%dllYA޻$ǟoUJֻ7ILnB8GoYUYnx1(b@AI܌i30=uZ4TN]5;B t0kK4I7\^a,ʘZ&IjĜ&$8?"xgSG#R 9KG>=iri!)X,N<5bxՍͺ7&/i%&ӿKɗ{KI[v*ՁaB}m/~(I!T F!LbKdS~}i`J|\PWU[/BXѻy# k4?5=b\k,3W:K ; M(=Fja慄e+6!ػ?h `D+:xJ橷(=o2=̕'gYfZ`^|x)PqTsϒRw҂6[2= K s~H"ps&cy ;#]ATC ِ⢾u%=^T-ϐ3Ǖs3}6Iyi 2 %#<+ՀԹn\^&0wKD1MɝO2uޮ 1A{$ꔙ z=kUll =S!} Ik+!J 8 {h9Y, ^I2G+ڛ`{7j4|g~Os3T|͓ٟ|?o}"?ֈ.q1v9.i<<\{rqaf`+ǐ0#swuWeWc{yoV٠zz'>5*7fvƟ*qҪ#ٳkÁ7W=~vn w֢Ĥx[̍ۻOOi /I̊HuwEͼ~7 6O] 7a-g5Tv-̫:4k+o[Y,Zs9JBck:#3w2=2O%xc`d``b `b`d fxc`afŴB3>`0ddb@ ޼\Sg(  Խi2Sxc```f`F81, $0Oa{OϢ? 3?3O?yR" 01T&τ_@PHXDTL\BRJZ"/+'o`hdlbjFC vB0'D!xc`d``|ef~aj4Y& / xc`d``X@" BoxM+a{?[ ;޺ e@f:O Є/ )d ;Ä20[ R<~ko>H=%!I.P|]]y4[ R!S*>C'd|pƀ|Fax#°%";z2N¦r_vʟuj=SE~!Vd|M'+xn*c&?γD9ߖ$ Un{+̊mE:חI+=||=~Vxk'I*.Х{O~ d=NDPdxTkAMnPxAZL6?P %)*^v3NMv4i<7xAoKx귓mko޼7Cgƿ"^[`,B_-g8/-cykq([| =^,vwOQG7sx-s/o,.9y<}x6cs$P",P᳂AUHMlQVM=`#'j,ZRU)SՍD;P2 dQ4:p?;,Ȯ9c΀m[8ل¤u7q&qqҕUD]\\\׮}Ae)^lW*2IUWZYE33Uo52BY}ÞyoN pmt{rq@rumhp#Ƶ6)q(SMhwY+i}ܚ`*p}ϼ eyU *}.⛌3X󄺦Wz(Iɖp@_\ẨsTz+^{h4XqV$D % @cٸ˶ޥmo3sffg{JZjU˖b1N!T:3+3^~vf)sϕZu*Z]TP_@^  jU3TjՕ?+rGNh.Pz*w.8 TW^[sUW+ sTsUSH5Ou'V]Iujjê|գu"UJUҫ*ʩbT ªYRTCUUS_PYr󯾷ŅTl\dIɲGJʫ*,+Y\QXTPP^]\Hf僅3?d7Or*%U%j*Kjk_o}AC立K6߫d.s wMQ_n/,Xp̗{f,P[RT\e.ګ^}]wp٦M?M:?CU*GXc%K?U]\uJP].Fu-z UDܬ՝TwAGݫOuj!:A"CŪ%eGЅ+T+эT^5f՜ԼZPjZRuPRuTS u:nQԭ6uJݮPwuOݯP[zL=ڤӅg3>̚ ^m4`]ŰY-\zݿr*x9 /S8lsdkd,F0}ܩ{oHչn936\ynhj8}e1N41uYj';^j~M B|r5,b׿ 9ļ/o#xu}˭ewvbknxWz7thÏ=? pϽrL;>,: ޭQc9%}fB W?#/ _9pLOR!Me$J%; ^#x%US(Q}TKi<A4B=c<;8ky|$ !8ڹ^ks< &w4hP67e?X)H>`K~?HR\RJOrHjy ApcYYѣ繠 ShbmcVޣ:Mf:8rUjZ^Hy\0yz&:hB>9=@8+V|%7ܿ# Q 0 8aګNzAݱ'DV __]6[ftOj!cA)q1W&k4.`4I.‚\uW1~}w+`KCW/CWXh=C b(v͸$| "VE,zVAsmDӡ8/k)D8 pyqQ$01XwgW:+`dJ"$l=CO.Pz7\Xp&UxRA?Jh "g +4ad^ y$La_xYv9o❂GIe ^I~z'tB;E^dvedy XfQecYLg$|v1L<".&Wiw6-x^!.EA@|$811ncꇗ>RV B +WW铮?oXŤ6$jn6qPUZX!:^0"v~3ʗZ9*R )*giǸ|D)/iJ +@y}zg6ByzX3lj^0V avOQΞaЈH(j8\@7a9ns~-<)*Z|A"˸1m~.Y"r0;,U0=Lj#Fnc6ci^; q,}m1n1)')C͕i${ +<6!2?M!CI! 2A/ d fף)8"=j(\/EK4LT.Nv#] f6@\<>6:Ƚrf`]x,uU5!c sբ/#ʲzg?gן\hAka}~Qݺqahtl~>z>C/X/61> p!uRKI߰]HM,'{ PWrFE.Xӥ#?V[`+ 88?̈́kjEJ%0ti?JQ]Y7~Bs1MJ'd'?aĉ'Z^DArsyc6{ A1 I4 żAp,mw5<-JFtFZb"!ؔgBt5/&!aiՉ4LNtzDF@6CјCȢ0F Zˆֵ=2 ^yP'_j^X%34f҆򆊢W UH`ģ4X{л;2saɹ>({/tR hՌ]%.1++%qCܸDUu+Xھ.u'[61V64U(\w wO8hz~0dViwEfD~%,Or߀V>kXi2(Fr?ad=~&d~8$4Ż8Q}z+VMj[ou;7_nA;K0I}syM_;/IsSO~|?0$Y 71 7źVŻ x Ooz]DrZ8+~7&*?R@r?aZDb <+5e@N#D+6zmUGب QxsgǟXE:ryfOm3n̙BS !a)8x=dO'G~EF/Bi_W(>WQV+N;~R4~{@]Ew u)uu52Ku()"+嵚nV&XP7L$gՇOUN ^9!IsE(rH __LR D|m1!d(h W-"|mJuX7;ơrEWybҴo[E $e i17!lBJz[3ۜϔ¥ufo`qÜnI4՜@5OY}+r3F <}/fJ#QJLg* "gaJ`#_ z^<*DŽFy͙גϻL|DgYz>trXARV\fI.u|B"f2mB('1~&"lհbP HY5K  W)]'VI)2N.bm$S!=EƀK!"]L72)t=Q?8z[™8_ d&Vf!ZoR9^#> !A1o)8x,'6K閊26/P&D3(6 >XD f4/zL@ӛ=řSP<[dZVq{XɕhqJL$/g'/=k:de&I9m`eʇ+O0Iדz[\adM\I^,4'qQ+D`Qd8| VՇ7Z~Q%qʾQUy/*Hm`]yCL| C(vd ۨb_ٝu(Uv]ve@25{6c5 ;yK7 k+]^G+7^aqz#bjx!ݕ-'(UFdSÅ0,j1dӴҰ*2?{`r,S>V:vF}$}zmYH~bW[0N<- [ShH#& :0YF]wM," Ϳ~'VJS夳|1!ցREIT4NI 6"r,#Nih!#jI#Zl{9F,GGuxśΩoism4}(]1i;2}'Oޮe`djknkz~r `@ٗő=w@;x;;80kݕm'n})M7nѝj"5k[o^V Ӗ]Miš%[nACR7-+1bk(3ͥ\So}7+}=GH˸]W.r89+gL`SٙAhuImx,HEbbI334mXz'M]}`PW}N e+oSK[ibkޢccp[ҩ71=LJzbmk Oޭ-dː;u1x*~Vbxbr!Aw^UTh5{J˚MJwD?h`#h󑀇7?I Q{:J/UC]dK%PC;0+2,~3,:GQ4V&x͖MFvuAg351sȁz9@$")a q1ٷʝUc+(hjٹ 4o%BG.f&š< 5Ar;EGJ/h6FM v P J󲪵+l(vݞ> [vM]YAzXƭ}ؾсn ݐ(o 9W9c3y57ڵ۠+6Ҝ 93Pz ~-b4Á1R£N  =zs~׎?b2_ޭyHXW#6H! $)4W0  ~PաpMYPwG]$Mk ytdo^,|MMĎwo?ִ;ɺҊyyy"47یLGT]^" 'AH1^|y=%f?44Z֚V..ӇV 3g}Dr-h@4ŹkXX<:`p>E;2W[_GZFvcs=ʊyZ3w O 8Sx' ,Ѥۘ-+*\;۝B>J؝:R>!jh.]KEo <> ufqi)x q`dH4$$ /,z^v7zhg*zzCք? Fv8Z?|N`r}7?  ýC8,1)7vˍFJhW."z3rmdY}~86< #hB<.VS᭮Rj^ۿ)jlYlzeG n J(s#;N.lT,#֯?ٺ# 3jdz\hsx$i8f΁cL\fl1U2)D /ݰxB]?΀ܗO'_D0T6-`R:{i?D5[ |]"']H#Y"fW.,0<\kL:kzhG攽0# f_`Y,19t,kUfj)'N;'j,æ-fC@txM=-Ji2K,Wv*|RhoK h@9X;x wn" CҞy:Â'W`dXQvߣLHqJH'ZMUE_5Fwe rlU0v\#1 A.wzH{$ц&NDAq%ZcBGҶDzs䗵)ib,uw+HR3 8c:UuV|1|wx\0U ;43җ@ɹ67mvA=~[/0_"TCc-Yy5Mn拰I9KU[7$ހ+@RwHpl75[HoY4!/~u_l^]8et哔 ({4.Q!Uf:D[bn^~H"Zz-@OxbF`fώ|N(O۩*KGӫ[,bLwE*ՍP]%,x,sUjvd!oĒLQ]zk\@c !0oǡ D\>J[ʗ_ރy^`xߒ,]|Gt081–`QC$c{899wۀ^mêFKXR[S=#y g%ƎaXUV_k(Aa)Yilo luoB69t|e>mANf OD2ijAuVpyZ}]fuڽٻD`Q F #3ykT`خA6prڝFf]ieۓG iD@`Gd^h|P+BLkeT`^)bduGoZDficP$ÔtFlcsƐN8]Z XvKo6ދӤw:u bdֶA&J'#c oA,:}m]FyP*H@2-V.%`4"Oq@qǔz`ۻ;~ QWH@Q:L93MlVg6_QT^ZMa`:O;^Bmi虜Fc&hxqEEeyBH=u՗?dzsh&cm(sO *\ B\\]޼&Ӑ3;~ZVlpHŭ-2>kCS=ɉN->YQUFilU@ǡiXdUоy:ug2ef{Yy*kuf\KǾݺŃO2j-c1bOv%сdlO젿&`:21U e5Vqh=lQ -V,>k1n1G y9#ʦ޷-Mf-/Fw .C5X5HtH-.}-b$DqJAxtfODUgq݌@i`4,V٣T1h ؓies/4|rpϡc?GbTnۛm͹m6mLap ݽ[G0#݃^'il=1wbLxgx%X@պym#J-C`GT㻏?3<<8lKQF,zӪ/X+!tܔ.ԬLyivh\1#璸fhƸ̠/L2~HMշ/()--몬 ^7{ZO1Hn^;#p qHf7 c*ZHiK <ɿ\Cړ HQӆ28?5qEwNiT_8^e8T?ī(svHZ >eAO.ě h ݢb:n/  K'k>tTƕ;txTӴ/&nZhL~}5 0lnj^,3^xT+B%Ȳ6|Ls`v@J>kP &3@t1]Ku G yϸy-Գ7Ο=sځz.#H@d`z5? ٣Y=(($L¶>K^C6V& & 8S1^XQnXYUX7/Usv>cQ Jlש5W 7.S'z,3()LSp䓤AKε{c'9Jq^Sf D:u6>&a!J)z<\$Y Dr{G_ LMj⩗Wg\,_DVbepfƒȷ -ͦ)13> X/`Ͷ%,7xpE@.r\yJO*(vZeBTW>r r El+^.^?FW|?#l@0Nq6_i^zJ ̋w @mH?&R)ү"z:Lj602DnZAeB͖1JmB,GK C 57v,rv#0VgN,qκ Jk xl +ab?4oSaPGsg{{-~5`)pv_|kn4%:Od*=crǶ߃kLl #vB)gV_]nz^gkgZ8^ #=#=Tp7Im1m͘6.mA8 b Q;V#\S,~RRU? e/74`L*XbMߴ!B eZ7{E'Ԃ*m'$_1_/+m'ݡ;6<[vzI3k۠qUz-͖ 8?8|TjEy%{zfOl}!&>7QuR!$oEP %p'M_>oЙ{,Z/ :+}a}#->91<ѽ7u9#^mo=,5EU%8/~8=wwnrNZD_ -3/A9o|0H&md[9N(q/3W?@9 :q JwpYySMm'ŚC5!k˘"4B~טFR4uFJ۵W`sC*lՏaD`V9 Ƭ]~/o:uہ%1! 6BXYY|Ƴ6!p#s>JUՓ )=ys] k֬2;M.ԛ+%Jg1s췔9|9KeJ 0s?ølu-np,qC׈S+57S{<ޝ"=섣W Yb[hՅY$^gj\_XPJD.X=xjަrhY#zyϰ.+M&b|4@~Vڡ's=4 FAwN kC\;//I QP3$vE /6uF9)]uH2+`0`rr3L?1rKq:n 9U wk?'{oAD rv5YvRTPh#,Q8Hr:}%j1JSxy5>_믩J٭ۿz)MUKL&CƒnŞf.TҘOZ,o˹pLqen4og~UܑW~3۹oWB 1W؆twtU[]攓]cR+Rf[tbkne,x9++vuX[JdC̗ okѽ7׫mڳ୊=Cp<hW$7"ΈCo'TFh`,#u|iz]pgfUAv8Brix">zbm!ဦ̌ce`#/ : `k8ME@jotB1{C(RIY;pIGMp9 rặx &t]hrXuJGL] x6FmXk ǃq8Lr.7\w췍sw(.$D&BǠ+#9g6XϾ:zֿH5J n(_-`lEYf(y__xj fI_eO.nto޼arv= IɅ#-uMM}Oxo#~@5?^;ho򴜧2Oc c4/8իW|1k=nH#iNdVnQɣ*j*4'ðvDh{49Bջ^Mzt2?עѥMM-&2sy _k{fz VsL%dqQ JΪ-sԺN"X",I!rD>A7zor??~&xht0p267lFˣavգJOz !$|m$c1*DvA.vub'wkƇڛS4W9BZ]݆݃xu^=T:*M?4j~FKN:~~J<5X9|y[y9;O^::ywFRlU?CJkDc&ua1m`!) G=I$Sy&`c.l 2C-c1V7f%@ar@ v Қ 'rK[OoEVg"`5`l0-h1M<]KɩWVO¡Hc{t~28F)>ivpGt郶_7Hrt~!/ Uf~rm/㒾aO|zOJIese!Ev_ҫ; N$VcԘW fr|L I.fҟ9f<@\.8Eթg"i,-hCYmKsr&^rQ]ʙbz$-;G&wtv1vQB2n*+`M#pt=]m&wKI333 ses>!n@w5<GpGsuقpK;[ISck-i,pgw\`͂3t{(}7߆doy&F^{.k[CV]Z>OLێFmI"&aY$X!P,K@> \RZ;-J~.G łQ.gƒXA -V[hcxcg5r(VKc$Y)T}fpd˵!=LMge[^ l}|=!гՇ4;3oxaE]U:{ ɩKċ[ۀHkaMBƦZ RgO䳚;R20Ű/I/8:wz Sn-zgyf\9lԼP)ζf#WňխN'u_^ןpPxs*0IT}N*AԴs&w5\:0(S.\U4@|,>6[LLa(q|5>h1txg?/E<#y<R")YD˾D c`u&=Ջ7nv*k,=tR zotrV@<-bԑx>9GS^5䓜˔P?=55NGx έķcqlq\kȣ`4DmVHma(  $Hl/Npigg)bGn|SFc.Ƣ&`YUx7.4#8xp)RP@xtߏ5~d"W,6Ymd" N `:ƖGږ\A9ini̖*gVzrVS#RM]voĬl4f(wGBCAp5 ΪnWAOcP#IـoW86pV\*{ {skM%8\,/F ߩ7'FoBO-ɕmrW<[UC*7ZVZV dF|^DQ4GONn/";K$McE55y_ɱzT c6\1zfFeSxh\VJˇeYwmAr/|A-cqO dfL.y=-JzFY j(=q7WUmw(<"n$^K+^ hWlߣr){BN|0cpX `w"w:5UeJSFxLf~<ڹD$|tHN0ƒ;Kj:*Hbę$87,ygK!R 9IGZ<=ibei!Ih,N<5bjeeF~zkr_Q3D{dRdM._SE+<$Mkfoj{wKKsI$nQ?{Xd9CI{ޔKvC^U.m,|Xѳy Æa3c4=6>lXk(1Uꛚu&SE/#Dh"e\½ǜӜSvڗ :x9J橷=w"5ﵬOޭμܸдPYsoNBg㦪-0*\1yG0$7*aׄrI8W B]4aHq^G5[@@x}+v{JP6#cǕs3}6I yn?< S  j@~qh /t7rh1ZsRUD{դ{*㕩6eh0BU-9|0[Lp׻^[lcfnعXmӋ#-θ("'xcL)@fjC`_`IJ)R{ojOO?i6]Sq7fΡwCچ";9Y=gϜ=ΛgϽ@ueJV5*7fvƟ*qҪ#ٳkÁ7W=~vl w֢ĤxZ}ۻOOi /I̊HuwEMͼ~7 6O] 7a-g5Tv-L:4k+o[Y,Zs9JBck:#3wȮ,=2O%xc`d``b `b`$ fxc`areŴB3>`0ddb@ ޼\S0( P@AN?{'  dxc```f`F81, +$0Oa,?s3?3LO,d{l 4_@PHXDTL\BRJ"/#+'o`hdlbJ3@ vD0#Axc`d``_h|ef~aj4Y $ ]xc`d``X@" AnxP+Da=~ȯk ̐H;N#I_ ҆@R,LÆQ,,z5[T hGƃb&~1AD6+o\݇m>6EXzOHKL/ #NraB\Y`H1%hRKNkzD5b_{;ܳEFѥ^fÃC.K7mQR2oB~ixc`f F X(DwOFFOTTO>H VCFF 7J:IFFTM8 ]*GDEF8< OS/28\U`B`cmap8*0>head936 L9hhea: $}hmtx:4:[Jmaxp;p{Pname;xßvpost>4 2x| |Uo7;W`m-AA@@@EQYAM"K ٓ{wuU=BXþ切˸:.?{TUޣMUsoE&Zc֊53W-"3o^jn&geR{Ԫa[U1q1nʔ}iܣrJu==Q gzG*QQݢ꫺O5Xjjjjj%JU*C2U*ʥUnOUWU}ZU>r䤑˨GƦ(LMZrEJA~?~2e\ˤ/SX~ԌפxnV>'}^z 32I>{}j ӦM~yeڔ5;wRݭGV__5@jjzAP0CQGTFƨƢwS=zBijjjit3gUϡWVQU\ZZzQX^]vjVͩy5[-=jIU~u@TauB]RWkԵ,q2U8㰏>1"fMC7irVrYE ɾnϚ^zk{'\B|˅[uK _G߾[_ЧowqwܵAwgƽH؜TVosd0<\1Ag>X7$iC_fC_Q?<#G.}cf1ygKc q=63y|[;ꉅO|俞N<ߤ_R<>Ԕ|55f=SL=uYWo8y9҇CG ziӱq]@Gi }@ӛts~9X@.ѽPs8Kt$_8p~\5]ffe-1``^^>a^<< f. P.Myb!99݅×pGCU- 5C/-T.hb0r,zM2 Pm*F D v~sxLb((nq9iY'k'f KM̱ղ^jJR(JSЛxzyZK*1<=>5IfI"7E~b IY B";i?AJxȻ8;%,K}ѱ}-3\,N), ԧm<\ؒ%"[n#-:c!>V Z!j)PUc7r_^,X2y}VЇbx/ɹ-/ds IHG4b-yK4VXi- e$d+lٕi/+2M/Nip;3ji d |h@0%%vt=CcJ !RL&4wOzi<ٯy`] ,IO܋Ⱥm SQ]\ا6{/Rb[Me9f@s&Dŏ Ѝ_@ B p1]uPPchB7]|=X[ |n8x3}nu ~5`Z^R" V)vd 9`rWS p@TMCc"=d XGitdx[;^IGr$z-xe\! 䑎d> ^,_r< Fߠ7БB+QձAo"} hңUh5M|A6ПFt}\ݚy0 !+(&+9Y2DaͶ\V5*G}5: 9~?PVuBF2m.B:C:%B+xwXڳ OBoj<۶nݶb݂ٚ3JRS WU/=6y%8 ^ ex!ctDaNU6dsikAI/ia{AҭNë<~8pak'N>|'&7GAa#O, avVRsXmAKU~ qB {Ar$dXW_HQud.FIzgL.^Jȡ)01vNɺEz\ jZ%EKf + W@9j~ P"-rI(ThJzcc|FLDl4WXsͶ5U߉ąH́z[~hD%὚F]r?xob6DHTw;9mXJM-{Bf_T^!۲q,,n8H0'Q'LQ.xo}:>XwG:Tsl{[ 'G㱤mi` !4ަM ®&cQHr|[R\aڲ)y呇 lny>y, )2N(/dfq68&j12r0lj\a'3Ug<BLުwӇcZN{ ,Hht.W Fn鶳+l+vyL%z +W.jH71R lV|<v;&A]t(i :\wLRwjuʽ m_=5C#KksB |jσfw: s1! it{>?jsyu06xk[P8ƖtBǧƽojl eoI$vHO"#0DF) Ɏټ |XfٱpAي=nQ@I ^Y$IpQ0(GXv{NEim58^og7c 8ja0J#t }[(N1*Fslv3|(77TT3aKch!}WOyMXi RЯcwO[ՖYNZ@@x2{^S|'4^5'pzYm/)_W}p(q: ՛.<D +`R缼Pĺz}bgFdqZ\j0]txEwzaO0 [@5_UI:_3ʱm*;$BH+hEg47` i3ޕR[)&UK4 f͆ςm- wm t?QoA(t 'UKn?zxcLߺ+Diy=gG6n#[ڪ`~;5(jW;w]$l kf\+y_AL2ЌXiG:Lr1YZP>cq>CD[{*X7< Ia$sN:㈣}IӇN|I$nJ޹Ru!D'nAt~MnyHZc(nѯp +G^2τglqru$'#:G3Z*J8|p+l h/i/yAU,@J.ۘ6AO`Xǥs+r:aOF,ok_+ Wj?FyZ|%S1tO+e<Ã#BdW?BwA~ _^n.%Xo@ HEÂK(ֈ,هH{E D("y|,$(7">؟MbxI T XcgVRy("gzنқZ WY@0]h'&8XF^g;6 |]mSC?yWa ZxzwJJxJ❶e~]6O5_n6(Ƥk; EnP Rr!\Lnw[cx͸Oɇ ;g0}.7U/Hnb|J/I"_d=O Q!p3[,A_s(tOxxkT2%צyтHιz^N$ EbD58s!`;dvRPygu9"^ P==o9:3Pup=b.|u耦^q^Fr849 bA-sӛ#D{S>~Ory-8_k_v0']0݃i!mZ/S|FwGjh¯s' O5M=,:UydB+xvhGK! CuwJ ~p\ F5$22]v:In4Ioz LFN,qiN1WyL^HS49/ϝ8wzOWy^XrH#ȄȂ?"B9'r&p ta:V!cvӯg8G\RE#,Fm>A:~| ViQ@n2ЙJ^ĩ@ya. HD^0 k1 x )ysjg֮7wT=CON Ͱ5K /|{CI[c3rL]y ~; LgKғR~29UW ƨ.E}EA̦ϒh*hrWirCD@]cireϗSZxaw̞NiI}EQsAYt=*Rn"%LZXf z$pZ{l媓eno|4~ G?Y0җ{.~$м|Cq9 zzp|Fm= eȁi[9ˏ# oo& Hx7SE$=тV]"iḬk_"աI?~7'2p.cZaw9Vx4CnI<^3sĂ JGWT,>!}r; /|+r n+3*BDAi(r!A^CE2nmA+HYp"ykG&qCG)+\ vX&5dqׄȢ1u'^Pl=e;K$iw}Dc.KSTd'r:s II+蓭T GfG'ܟZuoi-еL\kC;D_TKJ.dtI00E꭛o_wsvga<-x6 m::M6Miyl7V"5h{ŌݨEnCBU=u9)xCˀqr7żH'x ѳz1v+R’So$դnnj3X;mnR+zN$(ױY B0~7~ SayA2LyG/'<>={9ʞ\7c]v!cl<NUpZ_t~BLOzzK-q,)K%6'OPLho5iNońl?PUoSI6P^_e<'PY6zΕm',c ^^C^%u;VvZh, ov7#t0.k䲅@R&or__Dź;"ra"u&WÊuke<*{O?$nCW-0ķat<ګFv]P2V<\#(Gïe6Uw@V$m ߄bէImZN'`yũ%,zaJLۚ#S@mDO[b${Cmwv%sծ0)ymAA)P `Ah- *i$[VلUqe ?BG>yNDY=A_\m,*tW?h<|l}cݾ-kD7z\,YL3"Ӹj$(VMU#^"!o0RoWFп_9c|",p甤+*;P\MhNPڌ*{_У_+TNRN-zc7>q>a{ *دy~j~EKm5L `46zQQ 9P3M>ȫb R` M\|plaW_Hsz)gscYz^ qXU]+ o.A8]O%wD~uzѢdWT=\Dҩ}Fɐi.t ;*;d3|#pޟb'y4zv$mƝk1Bkt^X"d"q+eaL>բ]SmpTɱJs_;HBhRټ]7Hᦰ UT۶n8q\^TjfrȖ:G3¤&?=in,tD m|Pu/"XT yFǛIzؼeJ?0+ ӢPMvɿ[Ar?ΪIXho4 rˣ4 ?vbO󰷶}7Sq)oQ%>Z?-z0[5[*16æqW!oxxmNTk@`8#k:MSBX,'.4%89r+ E8 -Vb}&y9;,!Ca͗E/2!$UN,cҞ BF O[ E1ϑiZq֙ˋ(v+n&Rhwʼn§[PV*Tl>VYyr+, KN\]g$ w'kQ A[nؼdv!p`u9+/!k4>26M(É\fFӀYE֊k M`+ÂDI=wԵOM$pa w]k;aƵ6طl[+6oCTRWl²Nx#W*<"]Lj"b|l1 ':Kߩ#]}I!eEǁh̹kr҆<'բ.*^]tdLtV6z jIp 5 !J㪰>]C9IzX48!^sIG=x=e*:,,W̌T 2].Yw6FzfҺhiԲ׿iږ) N+!b(!tbR粔Bif[ꮧ[1va=}E}aXv=yro97Nv?re]S FH@b"kEPE=CI!PTIny̿d-q+޽a?.5Op|z݅=Zzݪ>"݆[ʖ0rkOl Ry.Dp^AEq5"߲y> N|n=r2y>k1JS,޽otOS;Щ#"1g%좷ʽ(C]4,6YyfY'"=&<~/D{zohcus]͖ǪOGpz%D~l`-㩰 *'*[IQ7*KtX7bh&-Ce.<ֽ;T ">1}?J'|~i'X^lTx V` ~W} P-ϊt^gLEWWXeXw!I.ugl\璥l!r!̽ |ҦbN) "#rJʕ\]^rlF%64-:el& v]lHVʻ {XKWv0ӽV {)wfۗ9~*?/rZgL)"Nۼ=ukFA> ɬ3ێj_lu(kGZdF9X\H7 U>^Dd,",b^|RJ!EFvzc)C( 'sBT#Â'T{Hv+it=t )tt_zRYT:֤_dͳݙdG*b7S¼yVbt@kk*>jecf;߰7{+O5wԊ! ? r|y8g=v$\.ݰf Acz(̊ZGQV"ɸUy &vK7־cncLw6M! Pve-<>=z MEt@nAȀAz5N8WޠK.}"oWr1o+؄1 o=<+G5TS~Ӫ,[ ]G+yjZ^?5BVAV&XYUvBuSf$;Y ^37|s 8Yxb'NT":i_wQ"EkjQ j {4e5a<4DGp0 21^V}Fz]3,5]3"+S^Yv_$4k95@*5 G pAosH*wEm+Õ,ˢ-ti>V:1xiSz;fWiސ^hL7j2E~ǍR`d*L_WARchz9R+=2O%xc`d``b `b`* f xc`arez 4CF&  0y 20,`PxA#C3P) @&Ixc```f`F1, 7%``PPǰѐɜy 0/f^ƼRADARAzzbz٘'#YʼBAXABA_o_ߘ\s?gs?'?y%P u3FF&fV6vN.n^>~A!aQ1q I)iY9yE%eU5u M-m]=}C#cS3s K+k[;{G'gW7wO/o_?аp8 9`(`Uxc`d``{Bm2p30\]FS $ yq lxc`d``, dP xM/CQƿ{_BDJJF;y Dn5.nd3̺iՈsϹ|jF'2_VQ5j'3eלEjV߄$SV!? @ k7wG:l⿩A!@ѤhùVr czú TuəT*H^s/ɺT:k +LT{sr' 5݌+p5C~e^ t<" V()j)K6&9kdZ:*NtWBn 35{lzvCVYE*g2rۜ;0x=e鈔qNl}YIb+FQjn ktByBދѻj]AW#ޚqC>E])?ٵ~J`XZ:x[tzqtohead436 ֘9hhea4 $hmtx4^x maxp6H{Pname6P upost9 2x{w|Tպa'KШGmh*EAP@I!2d2If&SL2B @:4E4 6gqx{ߏIfYkFv#gWg^H} sJ:*9DS<#dx4"JzI$N,QI2$,a%%I$$O( 8D|y#SBׇ)S~/7 {أ^^&=z<=4>>tJx\j袨١7.0:2>tqĄQ7Fϋ :mڔG/SLګ؀^2rлC5%|ctdBa ao6??71%>4NBI%OH$$$P$<).!yJ$YsLD.yA"K%H^($HJ^!ySҏ`d-ےAw$COޕ'&.!ygdddd$dT%$JIK>,,\,Y"Y*Y&Y.YAVj8UJAIyMj:NKzyR4_Z IBiXZ"IX%iDKTRi\)N5 OƨW!hkе_ tw{[>=NW~nEvL!WQPl9^Q꽯Ϻ_:F)oT~3?l|K f ߠ~ 45wI/Ф?; 7|ĈF>bG\qڅv/0O܆PWno$?H=! r]1u݁< ol`v0DCL Ag;͜<* $Q2SbXhLZȆtof9pMǗ721% @1z=)O3iMs {`uU]eOp[]&WњR6s/ҩM4j,l&!--:& tL`S":ӊ2VxH>Vba[CsŶ&K!"ߩ﹛^KO`dE3C=&stLEVr(`֛@ ZeF_0szl ZOn 1ӂ@ 9rWف_6h)k,~тJpci'gFQ_W#c/qIIiP&C y |ZBjRYBPT3x+;ݗ7:q÷x߃>дSf*d2,P]pS\urz?U>PPqh5_.:s%P{ ͚M{!)6Y^r' 'Ts% MiV*aԴTmZApA ŻՖdFZrYeVsZy3s9gx`97pM&-;ޅ(f( +sׅ^iU)~g1/)y?'`{8L-VL꣒Qd2},4s~cV3h򁼫en *!Bpq/,zgjjv5r<#y{0?bTdЩ)168B⻲Na]NMa` 9.Hkag tV+-Lv6HS4Ф5ϛ`EaLm/^ɬ¥g89ڼ%:Dk5թƛA:gj"}H .ʭ,35>+$ҳAN9aH1nKјxa@{:*#ύ`if5]B4y4Z*} C 0."=)'ci{}E؅/m 2>:jxe2jK;K/KS߸#~ogzB_f/+8x}Oo;us"# :[uHp$Se3LUH'勛םM) eHw9&ASg\1)C G {)H佺9 SѯDIu9LN!<55%GI A~-.5y e*2VY*Z+ʹ*H?>XB4F<$/@K@[ E#ț$Ì 2`8RTU2?f:Îz.D8pgmZXr9Sr~wao}%M};~"D#FD!TZt\xݮƼcGO̻9.M84΋+?ߕZGk](*uiHZmln; L>|*- H EYXw*t o&ĀښkФ>Acael{fC+kM~ Ҿ,C\Znڵbɜ s`i-+I=Ϸ:C>U;v2rDPd=@HɟS~ ~:.Qj D]P2ϖvӲMwhF3rqYC*EvN߶ 9Gn< HH9sY@^Nnj1ˋ)2X5P-]rգrɢ.fXmo 0{` 8Yױ\~MEX8Ҹj5r ӻ,m8BwU{+c/}T(< #>4o(lx2?SGr(Y,?Z,(x5MXE' ο?|O- 5qv '>G^ǰx_'ڿ _{ӁQ}sT DWR-yX-͹ӻswpq.J"(-3,"-caϖ `ԍpCXV$S%_,8*IP %}*8;w!kW]W[i.{s+CfфQIeP2n(x/Gr_ ~ΆlőzLL@5 qzϙX/4+Y܁H -L*֮?F9Ay遜.ia< H$!!qa$h,nuLjU&UC|6.#e_!9_PG߸xJ~8\x({B2]G Ԁ4 xOJ ׇσv>fۉcE@ׄYT>,n28,Jw2j0.x;Sd&6Jon ïm)|4 (#o&hg$E]n8|S븿xZȫQh2"?{!շɸ 8(!Id)'yȖe=;A&' ,LmS7bmaɭ=%]єi5 3~r?gEV$6mi'8*xv~l%\)PD(9q59TSH%tXJ#f, [FҢƏ-Zy ~u~>=@!a&i\u7 oWtW`s!=t3Γ۷7U1={>=BqO ;)4#\ɋGOf[M0EcĺUp" ]4\짆hg,̡&Z+?HO٪ެڡ˪ϬE.;#Ӣvkb[ mR9+$4d3rÊW__/r~XyDde>*k h2BS5 Ҝ*{ 0Z 9c_y]89Mx]fB>ܲH֌4$X :efA ̯]jrXVHfO7~I[m._/9/Ѥ+ ֖\WU 'C-ep9@{Zw1D:'~m4 oy<; >]&FS3Eߑ¯r̰{ >Ɠ0v[Uc`hJ؞D_f IT"aa`3!KL"0wLݡTmm-@vl+l>V5DdDb5FiӒ}h@g9SOK.➐FDZN@xA`&åAb(# e2#LY]/@iG ,ƫQ5EG_ÇEs3Ho΄?Q1\0O3$8S?t>39- A NtsȋqrU)ałi+?]ZpfOm@;A3X#8uؑS̐sImoXrLKEF#\[q_*BVyPAI%lZ3H<ڂ1E&youMs~n 5&s|` pr|^›q\Zz-C86*Si\xB<`>sil,=sP,U [4/I92RS9@2 Jv6|FM5j7 ևB`r:|!C>Ԭ$J+V;|:G_A,4 ہ,tSv|ft? E9aȌ|;ʰf4qmB`qJջvUj$;gsKH\KTE[ϯʏ '{8gUZ(GwV@u$>lkݦ(Pi[N -}Akvܺ),<'̓s*Q, &cfm\Ns>F]x .îƖA9C.1cg%jՓȢa͘-j75XV=2MaWe{E_n6hS ( ן{EBF~'\uC&hٳnoĉ Sn@GC:4[6&8 bym|tMbY˳sH\j(kܺiSvNٵU[+E.}Ǹh^efov<ȞQdSi}(9+M j,q$wVx鋑!4Hvj\J$U"@km&#H50Ka|ZYa 8TXsvVl9\7Zs';N'=A?-e t>NZf/,C.S@IVDij;~rFwٯ6?_B90VƯG xS?؁ʚ<N#jm ):|~~ś/$\۲_.+r`y8j 0U1""?uW38Rf. »jŲt{XĚM99L}QkV-_F*v yWtuNVGOPv|ucC;&Nաcr=96Pښz2 b 0k8[p4SXP/q8B}ٗɫwa\ YLGKTZK MdxN(?mU^ 2 z-jJ-ա`Ld̙l*dE%EB/-RYWDnv(җ\ }`t./HqNWxV\i# 8-'XncfBV$$x/ %KP }¸u")=d(7& s$ziQZs̩a/D"w6\ʐw\ qmlǬ[ 9Q&m5ˢ>.1,pm}VOu=_b 3$,X';Ys]+pG`k}83ӮXz GP{wM/Z:RFq fk5kPٗalȴ/hӅ }̍r60 IR{tR_A~\#H71SVY@库/K k)KԐ mz87?_?2u8H2]!SU7$,TSF} ec}Iō!usYԙi|΂Cua3$mNz. k E60:R,ޖw{?őK9d[bzOSyQQQ#n= W/ QPL v*mWvO]ޯx1%c<"* YERs-FmZ|F4B'‹;,(.6rs<$B%%xV?+w*#6)ۀwrho7Yo=`\_^a5wu߉G"yCJv9.[; yQ=Q_Af)b{~}4] }ڽjw7O29+ZBռq%agש[Nx9_Ax"<@fA"Zջ!Ɂwjs95pk.q\@Tipx)/gmPe(cd@MJ,;laH5.SR՘s;b#]&*RjThվ݊ !Ub0f=JHwU76{Zs⛙[VQlbG\3~e'Ѹ7W<~^:ft@mᄮR\Lr[ ݁-C-h#ȋd %8KHE޵0@YCiN ORLr: P^Ɩ|I{(h+姠^Xhf8kU8;FNIc-o:tE9Y{$ϖoS1fC?Ptspoݖonɉj"YfөK6r1=1m4ǜxoNQa/:ƹ= %4@zy8ߣܫ:LQ [|FHqޢEAln *6P=E(/{?k!ʓRu/yWuVC_^9ٌ1wq#ҋ GY|LA3$l,4FчN,փ{;c/45 cE{B.[a-ٝ9~yg DuaɁ1hƫbcC?D4?73b.Q)bf*J: u~XL4Q-7殢jޜ>!d?6y!K}*ڛ$ "UQ~_;Mgw)@*vݜ/⩴\/2r&KpXe1ѴX[!gݵ&ƙ5Th`I]hsNfyAcQ 5dOix1 v="?BS[h.*snq_7}[mrCzC $BX<ի#`SwZrׯo &*ȭ:J"3eR,;}7VTzQ/ _ҐWXXQTЌwT}AX;'sY2"LO]MCjHv&:22gE2cVƈG!s Nd/P|AjK:Uja9\WQXd+ϧ~ױbp`õ ($=L$FD F(~!'KFD8) D]k]7[m]{R'X@{ w`iו{\_xuyȕ"T|{wSOSۻPtS!J$$!%53ץcqhac)Ul.j[QE9lHQM 8{QʡFjkt=:3}:DU6%_Nh n@^S[`?o Op+B=8 hZPb*U*o P,4PR5hU FjmUEY n2A"&dӇQ{,d)4\njVD (ƓtcYh&=2O%xc`d``b `b`* f xc`afŴB3>`0ddb@ ޼\Sg(  Խi32)xc```f`F1, 7%``PPǰѐɜy 0/f^ƼRADARAzzbz٘'#YʼBAXABA_o_ߘ\s?gs?'?y%P u3FF&fV6vN.n^>~A!aQ1q I)iY9yE%eU5u M-m]=}C#cS3s K+k[;{G'gW7wO/o_?аp8 9`(`Uxc`d``_Θ|ef~ajw? ;& xc`d``ſc]XL@"Ƞ+x51HBQs5T444֔HAPbf j(j0rhI p1&!!ˆιsA@"86 V6=O_7b2K k",2O!SKzMrFR&<ÑTc#'8."Ni̝[~mcqG_qȚ?A5{"ڒUE&纍1-n}ԽޚX>$c2{&KDҬ1Ľ6VI*i0%{ޕ2Z|`tGLcIEM7u;9L80c:K頹{2eļAONz P{xTMKA~V*"Azl>bA@$j^dLH kJ@/{(ΎhP+̾ϼ;3,A+rl 2n,KSx8g3xS x^xthqG2;1Ub`,YgmFjz|Z^ 4 v"=/ΊkjR*=_;ZU ]HC{#KH;ay~Ԗ~V>w8d_ֹ"bP2+qՇAO[5qCHzmRNM+\Anz苊[yr;gXɧFkhu 2B=^Ƙ.=*܁5ChN& [Jq0 SM-vM\17^ܾ麂~ccU}#ٵzj( `D_ZxTz5-zOE~}2SyNly@*oؓu졧$=<&2PAL>*DfPο\!Rq_ G澐Q-EѨV*@ u?^jչjٿ/R]xc`f F X(DwOFFOTTO1t >4CFF *;1HǬFFTM+D]*GDEF+` OS/2+R`A{X^cmap+*0>head-36 9hhea-4 $Yhmtx-TAmaxp.{Pname.spost1` 2xz xźvCOŨQ& l ) {f'3}I&JB@DY@DYD:u{{=39쫒^e_}«̨Wf1yy̼żüLef3 :&`1L2ʤ3*pq0^f.3?%RELر  Q$!^7ݤmO&>9'EG ۖ<2,)h~PtphQˢ"V%FmY81jQtXDm3f=9̞4譐;vҨwǾ3v̰ĨABbBF206!:hC$3ða"L??3y}yc93 5+_Wf5 Mf(3:a83yɌbF3c)2{f"u$f23j3dfQ}|a2ԁ Ebf YFYɬbV3kԱ$.1JLN^bX$VMb8$NKx$$KJ$2&]Ù ɩgҙ}2cgM͒Er}FD}~l@݀o \c$/^8i-5/_'+710zॿ˩~zٗ_yW۫o~dkrn< b^C?ިyϼɾқaoͶ}vhP~a>>6孬n ;|qmi#82vjdȽ#ώadWY͒f#mG;YsO#%GSHt"9':n#^ j`S,wv ]tJw Aǐ><~,S:Nz*pf`1L##Xj# YH@6 *i@?.SȁTuhj7[\v<BK{8Q+2a6`x緲= 2NTYSH/Ks]z붯J_kr,Y[%# ٵHd iFAiLL&)hZ%o'߽Spg!.nȻۀ$ǮWz iZ`N!jB䶱ߑ`kCSX~ |U2 e߉~@[yĦ%m O^`skA5TVV[rͿqC~9n[[,aj꩙ڞ9H-`D*P-)k(1峚71{_l?ǩO:C7N(ngt/`i fS`j6!&7yO ~zFfpdqdا@D=G^x깁6K=xbmOZ"wjsÿqhmdڕ䫸&&ہ?vKAkƚA,]{4pɞ='O` `??ğIٯZ_ as֭UȫUI> D65,C2 |#ƛR0{biSaFsN ڄ6 //rtYkl5.nyC $FtsyN[VnY>@-(o$SrXHd2>&cXlKƆҢH>g=x;}(<½PlzʸiHUzS=ކ3p‡Դ8G^÷|߁amYnMQӌHRm8up_89GbߙLuf:* + +]y{&!OqqdZ QlΝJ%8c`, NԩMQ4SDA20ɧc;NfY3Ԡ|Kx\0ƻR\㖏C|yT q?&ؒI OhyUO;Oӕv諼㷯K8<c*wRy&: 斘kP j,ڷ`n>bCIe&ii| 4Ho49qVŗĎ~ϋ}jrEm[^uaQp 05.i AK>^ԎQ~ݓٲTHf8G@">gVm<a2듊ٵ!EM[TjeN}Pەxz<} D іF[a,5$dƦE)Rb:.Ӏrx¬홟qqwnIvJg$-o>dT%A[d6b FI=>Pii*S.;Gq {6LoOſU0acF7'aWEHGǓ~M|>JMxyþ&:w3- B}A|Ӥ īls{/\2{턑ZĈ GTSh1R/{ @PR}Lek mr-ί+w9-.{Ra!(t)LIG.M4[L:#qfGvUwrURa=DSQj2 8d6UM{=mOOUcW%'Q*Gvz=ț?2lXV.ؔNG_,<ϻ ?<ʷXb)",zB< ft՛beFi!6^ƍ矹\a-gd^tArI3*ҳPMD^m@V7DPU- #ԙL-S+e ң{*\^!+go Ey9rތw928G-`xl?ܹ `:n);g{r ‡rZbQM/ra>at`Xi)\¶vt^'n rʩJڴnv^Α<"9y ў`7O!הkMrվyIT@u] 1 ̔m!TqZLttEv7kuƛI_KFQ>ڸ6l^V`,öK/t8V %~ ' _XĹW; 'V\p2û pM62(+]={wCYxC|m]ɽGjGIU8td+. G.I><[gܭ՟58}w4 BΝ_$PaJS\u3e b$ky¦y gP>Is }(F}TUx .Bmˑp;-~x&gYG q_t/vr@l66kQ]coqR $H(o_';%ApriY/mϲ.Ϣ&4;H&~cuA4 gK.jȳE'K"2~9`Z;d:j|H{W!0qT=7YrKzgx-rQê"RQPKջELwhF1)+p⸻^l3a>;^GяB~8tgq&,Hg1Zs:t\oe8*s P,f}qޓG!ҟv)}5*M/[̒VT=+hD YH>K^gFm u$ {HlY2[HP#J;x:Ag!`U֍a=H< {h? .6 &ǟDiuD ~VpIk%˧nX:%adN",,kqatqBEucR³hKmK1_p-ZU>j=JJMBo"#fQ$iL"x 7h~qT<(09LW hlo5bnt]xY(ƅ9p= ('h6.eMSbߜ.k9\6|¡pu.\ʩUn*)g4;rWrʵ^'}`>x by*+r~} =1?490rz@&VzP S:#oA{׻Ƨ[;d{xY@s@#~ǮɌ' ŌXg]ŧSD /D1@mLM˳t&xCpMuʅ(-V.ܔ]4'8e bc!WU(ž[{yzҭ,GK:sckRSD&ޣ/؛hS.5ڶ: ƼM1&C2 ')Q'3/LY% 6k,@ٲ$擬@I[ ̮QV$F;u| ֌Pզ$CE)w󐭞Gd$q95?6AH9#ksXw'䟁' ~Vw`r޾'pZ8 ,^[kqcKywoo-td[Ŕ% 1Los9ٲ{Eٹ2w/0!tLC'J;&.(WlЬ,Y.hw;'/T6EL|` J \8,5ѭp }~e6RS%2 ʩKnZSiJƄjѝOw #9v6rM P@!%gMbؒF1`kSIH-d~;뫑[&K1nZʣt9lZRRZSc2Ret=n8ul& $@4Lkx׿KoIas־d9C꒏ EVZc7am*>7)",4i4Qפ`o\5"_h>)'2*nFv*7c:Mާ Ͽ&OWs0{8MZ=>_񁯁smV^XU@cl=ֶ^|˯5]/UZrkW[VRhҩYS6.|kX4eI :jΣ<ŤUPnkBclƲj. 7cSNAf(YJ(3"C)h*^a:lHD=']~F|^hwu w8@~OXE$pݮwhl!7XurbTC lZ]I恃GiÅ'='KH~e.Xfݫљ1Ad9΅'iDdYœ2 ו{+OzMvgh){a! }>۞[w.6)O'iC^>?>>ܦc}~sRTU_Jc}RO\S߬Į\/dW~~shG\2pXM ݮ .‰=ey;:4Lpq_~;>s]tKK[rJĂG ΠjOPwT?>h3f!:s6-y\:5f{+zH,O -Be;)m''CB1^qO aѷVx nGn;l:lLeT~CǧX%=s_ M agj[+NBiDa0E*Ӿ7S6̕<|p ojeaEtD1Cͦq])u2P g)9 ?A1_WYV[\zJQ[]E4;NwI}7܃cx50*(CfHMY>k+-/26(c@@Ua ʏڞYhBPuX*`],DX96\Jxu7*@ciH~Up9J(dd 8u"• wbhG[hxi % D?mgZBkɌ~޴D/س@<ЋYX_Y5zmXv3_\!9ȲI^8ASYra8H]†yx*C!I,=)%_'3 s#|8ʰqjp%~: :H ?E&~-jc +pν챳?` oy5Z /AC.s,hpE"9(p<Ƙi4u:[7ĥBUDVEB\bԡP kQ^YaYmg"^J("`#h٩dUhDNlEYޫpȧp vEr@ɩň'&~s@_#͊kksÛ\!癚_&kh?ui&=iHyvKѥx/?-R@,&Vdb^jDē%=Vi8*Ly`k\RLÖF}"!qhٲ1& 8sP3-иQh~^T.'ʅO{O p\ɟ2_%=Sv)wK!䐡}`Fتgpϡ ٦ֆo\ n뒐.)i}Js;%=;tJ{ {wHOvJi\>RuwICm..ڼq4VzRgqclr"M$fOj͊DxRTo٢t^ݱB%/IQ1;j–m]R7 S}9QdYd 'oNHB T&zu9 RO#뺕c`sD hutJq^$Zmiٵ:C}}kΩVeY|DZ5"3S n2]^kUam/ c@^6ɳط"oܷVv٩~̀,d)E ZM0mJˉR$G&(2R4$Xx-4_v5%($ tꢠcG zcPQ2 J>+3~Yiq#Fݠ6$A Ua1SP"6aAm'D7 ,ʊ몚NVtvbJlԸ:èU* -]/o}%}b~mv0 Aﷆx$GIϣGdx0x/^xzW0(LX\  6z 5kO^eF3}%Wי2/@jp;"m)VA,)Ȍ A\r#uB]*s{JIC#6FNP/clR LPP`0ddb@ ޼\S0( P@AN?{f d]dxc```f`F1, 7%``PPǰѐɜy 0/f^ƼRADARAzzbz٘'#YʼBAXABA_o_ߘ\s?gs?'?y%P u3FF&fV6vN.n^>~A!aQ1q I)iY9yE%eU5u M-m]=}C#cS3s K+k[;{G'gW7wO/o_?аp8 9`(`Uxc`d``{ m2p30\]F 8xc`d``ſי3DA5wxMJA)tWDa**!X%QABvc-A`+}}$ XZR;l"zE3o~`F|c6BuTc." u;ɺ6Q%!qIHx٫sD Q $}ɱ&CTVI)3r,2{={K+,g;@JI"0X =5457uS{2e|Yo;Ɣ=kTz:m%CrNș{/A}07[zF8iP{xMKAǟլ-CО<H6/b(HJ)A͘I6agG=c=C;VkQ̲;}23!NJֲCdyY*:E9zYv?-/Я܂<=w_Z^rݏPvrDء%:<_,}XvQ˹_-/8?fX ׳HK;ʻh4SJHQ"JiB*bS p3m$m|cT%z2m F)/EW+zVMU7 T2e[qW$:-'ta!QԎ"hK"ցLL{ڥUvG=hz٘Cb|S@n9H~|-PE|`Z^C5e _{w;lLg&o>6YvD<&sm*ف|}1o=>|UhbzM=zCSGQdM-jcAפrB֋ӿոƸYC<3ENSpϬZ|T`F,m;^AMd#[d2GX+J#ޓZ&cHK08J'" CO2֘<;24ڼ3Թ=u(#O\cz'#"mxQ5LU/KDjm!Vxc`f F X(DwOFFOTTO.L 9CFF (.A}FFTM)]*GDEF) MOS/2)Q`AWscmap*4nZe^ohead*36hhea* $ hmtx*ZDmaxp+x Pname+0Ppost.8 2xz tՙiq!%FdL , Kš0 "[,k[Rzߗ꪿V%˶ll &!a 3J4[ff޼T+7srssBn]|ke{\qZeSE{NM99-=g8wyMwXdo~z_ߞoܞͮA/Pr);94t([xךkך/>*״)V]U=?euG}m˪-zG ׳/7W4OnwsܙsW9?̹'ޜrQΏsy0硜s~ӜGry,'r%r]d.JǪ;r?ٻDn O|3+f['s3V;Pw׷~Xxߺ?tw5sϊ$޳<'B|5?*Űjؔ(;-=[p-nR }I} fi1Mviywۆa NB>?!5f3Tn5[L8|^4->Hqp~ $$ZvL,򐴹ȖgE9N;6YadX=ʑ5PvcdֶlUݰrDv$, T]:R"(Ҭ5jPG`NWFV`W镱fo9?#Ѵ5KSCıL۴ -zp8}d2O$"މgva->J9Ai#Iq :5K4IC[&xx|'3S.a鏱>.H1qBθ (">q͞-{7a%-UV;exYDq41`o&F:iZu#4ACR>m9]px|پɉ#{Y!W qp.YSC;Tn|Җ u!s,.h] Jʪq;@r8`/>5q2~` U y<:<=y(<#D({dZq:zkmFA'5Dy+wY[6?f|Ekįp"FS'FFQ4& tک4+ 5%rd2Tk.9 R,$L!Cgi4~!7іH{ҹ\rhN|yzxc5ݑ}|jjo6zsnGe: ;?( @o{l|*!3h)Yb\VS)A-ς)?rT a'^=rR`᳞X?/ʼnӡd׺jkn ׁ2S6Ђgrɠi)_ A@WD:_P{Ex-vGx钙3Ācyva衩Lj>88:~0ԎH|L+m6\K!\D!U%m)st2m4#nzyZ\5_ <$ig8呅T'cA5 8x&+RhI*^1@b 'O=x!5 9L^j?9@D,h_. 8Wvz\@с>O^VQQ7A-{2^>P`l4AcL2bY7+jW1,@8an$kZ`B[d5mM{*kj-M{әz>x܌]_/nAXQf2,vL%5WGӇ2iWze5#zSTK~bደ7uzI/FաPzx%"s ɘqllQYZ[](3TXT;J4r@}㏍1tcqX\$jz]*ye֠2v4$fi{+7jI&S,Kc^ᑷ.F&[elkROSQi;դ")kri!Xru6އܥ8$$zݞT* &łCqH h*s(sm|zܧZ9Ykϟ}k/Xr^h0T̤3P|?~3ׯA NtdCt+έKUuf{CE/_uq]zax2Nv%RѤ/ 7bm\1-G@7r~R`2jC8'E;9->"O0>J,N0$(EtwQIk", x Aiѵ64[4 f;)%: z? ܨG\D]Sخm˷nU4ޙ}HդkeL;☪L  .g4r %)@s|OT,1:vqP`md{?Ȗe5f&-X<>6r4}-=5ǘ9\j)x%a#/MdMNv3hн8Lz}n\e"X { LVV? s'#ԘO!d峿#@xbBzOCaD8Ч`9qНm6=O֚p9K\oe&kD`F ÅOyCxqk%1*"FwL";Ѩj0tjBi? 1c#-]%;bSUYS٭D6{=@q0{a C`%Dɨ3t$ZYגPill8ڤQذgCɚ646յZ,F4^[`a8`b78d܌goO`ɓ0: .0&H 66]{fûq-#H ]^^/kWb`06hUV+٠Ql{@uyR{n v& akDITwiv<6 z=K cꜰLK*(^ϹWϼ Ӻ"-ح2yR=*x~IeH{vsފU]3?4L-5oLΣ8 CۋF/#ñVݵsMby-qݕObVM赇Ѐ8y܊gK6TTZR;j^j밼>oXbNJA ޺5z[ @&,WU V#>$vX1/fz?؝B_F߬!m<-A]wDxԹhlj:A@z{ %M*MBgĀ ~SșgTgtJG2HׁKd*:;ڊ1+Awcb{?><0?}꓿D'wuvPQ6?{lwþq͏7jF] $˷x3=~2P%!YP[m;Ӫ6+mOJ+*IQ;hxKZ|u9tHR},t֕ȟp_JJ&y{Df'a? @T"-~O^~tXjIH/_E|wљ4 qr8Nm LA})=u_~Q2%9{ Ůy{R\Ď5D֔Nv熇45U^Zd{WxcQkmeots+|}g~gLuӝ^Ɵ۟J$Hދ/]>{cC xٱCEZgvib #;2lakע'$u|'cu:T6ʞ]67ָD,VAER농DśϞ}Gf#>>&hPa%@X3;`2-L=.,bhRYWFtW*Hrv{͏}/TVv6BYqUMx56᥋hE<@ oek~MNޛߟϾ[ αmm qmi:d 5u>tΧ ]zB$?4Hh"ʢ=кP_s9X5xoxk⭟ M`42 DX{qBtf`FV0.A@<В?8Tm:s}Ϻt#()fo*pmukccGs{}g4M7:]]r$0 1>1%BlE.h3hIzJCSbUIkMssCӤWqXbcsO AfLg[VqϐJ.Rwv7iV_4yY żB 'b#)Xů& Zڪ[W$QOΝZzUڗbKDo`:>XYyiqoJz Pρc_8f<)Mik^c6UC\,氬WaRܢ Vc.AcYP<)ɴ 9rsplz?$p8ꆊk?77?5tNb J $ _nBh17(vߢvbo1Y|5J\zF݂;S#( q KS9˅,`iA9{lz&=U.e [Yo0;<6r:ożQ|gKsJo:INwk}L1|F6ރkYvڎQtcsT6Vk1jZ+=e˯ڰyBeKE( Smֽ>DFdfaO8Z8=Kb! %4iVN#v7yju7Ae̮ՖNW)ʷkti+WW,-p_?j25c<0Sj20pǂ/{@'cP`hHpJ=S5l3FSu޶:'!mM d;ҽ2z_P_ů'z1\n'c7QX[e?ɮx(eo-Y}]nrR%١T|v`aA-[8ws/t-g1Jom)&V{){"E6as @2`}v8oo:=71x&x1Aa$hzk5ۚv*:HcRZ%ֺQRz&e/,x}~AZ %(?׹3ɸT+ŶͯE ,/۰uYj:B[B;FNܠ油,F{yTź02 djxsgG#Ǐ?:FH:35=6B0xN,%DnIQѢ+/kkX]{jCJ"qǣx4e/BVˣ[+EjҠFɐ6 F#؝`)\J`YŴz{nbN B?I8>,8rM?+ E2]IcB` 0URF֛+6c'+u}wݨNa g~7A~NV]ZŖeSء!;Ks#13*;+4EZ~eilG MN ~3hWXG\|o^!c%N3N/޶ʺ6m[}P57k?*5C#oN>)~'AY^}$1Y 769\y ޙ}$:[eOl -G6 =|qc:E6sUR?Zӡp;9p(` ERr`Nڿeצ-F2i -|+v{l0~$E|$As#0Ba]<$[:xȡx" ǃ oN:I'8*Me2E0PCj61CvU΍! ʄ> 0@y[ j9mf "Q~\3ёpXB@27$7Т%`J6++6e>\\sh#Çg-?N!o!1[mN\mԄ#6`h#vd>@f,zq^J`]ZS"۲zdp*o alq9049xx/x̲^˨L$9.|ׇY* 5apDkj7I͸Hχ|љɼLҫ X! H/'Rdx3zF r .Zs,IAj[̲6Mp^i+Z(Om."ls%uuuMkHXd6$Wik kݩ%1;Jw Jz$CvlvhAYd5AZTVkpڵpkw剥wJ y¿~P3Wt /z+|Jmy=2O%xc`d``b `b`By fRxc`az8iCf|`Ā 0y 0`PxA#C3H,2JZxc```f`F|  Q (dr?F@ PB L,l\<|B"bR҄tRȐ Pxc`d`` ɁB6__EƮw&} $ oxc`d``Xn2DUxc`YAAi3 s=:SIYfMkI@vs,# Q fA1^)031X0tٔ!d300P xTJQ=RB\UQL (HT4RJq̌Mf$hn't覫~@zY`1;{=U-)xa-cldpO9ipgϣo;2['Y2la  b7sM?.#@>Ra**|PҨW DrTlE8,{+ZV+Պl$zʖF{.SxcMIӊ]7w}t9UA%s/!1{pn֣0GqGɪSL(K һH^-ut]T]YIRuag#8gZc<6 hى6-M1xpՀL[DD#]g=$&瀸UΣttN,J9U:& U e'fʸ:&4Ny _)P\B\溬uTzEo>ϙ{o؅QrU[!{nOݸNpx#7VBC7T0rU,h~_ckXqnuOJW⦵Zh LuyέW#|jWcmap%head36 9hhea $hmtx4t maxp1Pnameopost 2x7 tTUS`Pb@@h#ʌ" D!l_UZ~F a65."`4*=~xݯƙgΙz{w23,ˎx.j݂ܺU NYT8a1,3EgAicwe.mНδAw1#ӆL fs/3<`2bf11ff#t3)=#3+[{3?;MebQ0-=8 d gO[YYV[]e57Qkʲ꼪(O%%Uey1tƴ8x`mMq072c8q㟖ẍq0'|<b$`jd?t 2͛q0rUeuU'M>c 5E ז^WXPW0y3yʒbXf<<̤0FZY+uNJ^dClfmc ld7-kVL1̃L6a,||C\E"دyp˸w5$$O|+?C|C'$ߑ<*uɺd) =xGVʔC& 3,gXQz^#CVPBoVIĔHy iǓ/*dTi$mI۝NpC|$߿gvl<iBT"OFEi8LĩHnhs$N&#Y@\@KH}7 6w # xN  (WFk#`7xN+ ?6QtBHՁxLY&?\= KzkW$!*F)8#Qn>`q]FЀA#Eǥu=7"(6 Q?]%dIB!WD vm =|x3G8*HC.\Օ)5J'w8ܳ-$JpQb hm#%5p&0 `kWTԦ d:'L1`nЖZ`zh[LG{J! L$G9WPo,>P_CBe =v1U bNM9c;]S,B\j9K١:բeVT 5V`(Jޤil-_A5fAYQN P' zscW $]Hďr"R8ĞnG>DXԼhO^sX 8 x:Ƿ Z }VQ<Ŝ`|mSoߵ;r(Fh[װطۧ?N?*c_)~:[k9d yTw! @D A-כsJjb۹GfZ 2N pew?ӉNXq_>r\^G_kឩ.X4Z*~5p++%\:vzz}A]ixXy[|-ClG>Dn5%tm~es) h!2"^3r=EU=4.^*h;5ҫ/u@,rtmv:íپ+C-Vy]׬1RNew#W/]TYBA㌖2ʐS8^@Z T?,+}/k#z˫}$ȳO>6Q٬ԕl`ua{@ؓPcԼB95/kg[2 0c@E),`''} a3=jyřO6 8Kaoh yHjoVԭalW$yS'BS%vl_ GF!) pM`%nq3~638m&b,3M llvJ.E8^㣑[\9l Go5 ^ Ovd$MbFH3Ω]6b=J+'$=Muc_Am|$Sޢ۹ҷ۽#NSVS[2 uuC+:[›Vf=otF!`joca3*T9 (L( tK ד1o ~ͮf=&O3Տc^RSNLJ8r[uؓ6؂z$%^^QD;:@I!y)2`y[I0Py<ǧ`[!4uDޮJuNd< q7"w=9E{^- ݊ ),Zpҍd^8cVR+TPhnxxQDZ0Xe%q\[7e/_T*$%*R2ΒBj,]M~}4ǛKX<gn  *EȊ]t"  Q YB$ |>cCޯE N86˜ "%#^YM*B@9.hԪ[6z>bHZUqn;0Jͣ@ޤQ@rwm/ڄKMoz`0ddb@ ޼\S0( P@AN?@#Cgxc```f`F (1, ?%$5bj0c̬ 8QqEJJRJJJzJ/bbb{ @HzCj+P}[_ ry^={Xݕv5k gbS,$ƎWP0@Bqu&I,xc`d``m2p30\]F=osgZ 5xc`d``e d` xc` Vfrb0g\p Hi1&wLaI 4,x9(0X0`ge3P(4vD@S@,f3ZD e gaz!(P1xTN@=T`Al:JP9CE JAnqxDR~@/'tEǓTm,{ܹs# 㟍W[3GgZ28%cp<~~5l/b>Vg/t[Xg'3xje. ye@= ^D!6z:@`V9VQ泆F;oYd-;voUTb\)N(Z'm=z?>tq+\%7w݋=#Negu&##zHENP z/HQuʢ&&EczE=] 2cŪSQbMNy60ҏQz:c#GWV̇ivu-#)":#z,c3Mq[k:Իhrg99& U_:4Nxjs[ P-bbu]שtճ{bec49]s\s#P2ʶH/sr*8ܑrwH 0AؖH|)Zp;Qwdfp @ &$Z{' ]گ3*ן'=Axc`f F X(DwOFFOTTOX CFF WP3FFTM`]*GDEF| VOS/2M`>Wcmapڄehead36 7hhea $hmtxu||maxp|)PnameopostD 2xW XS׶>p*U6<>u@[DՎsFD :  32(: hoն_ﳾj[)>a޷_/ 9{k cX}deڳ֦R{9uwlư,q#.da"8엒;.9"'g/ga#FʙF1C6͌e0&Yìe62L`3Ō2uL3g fŎe'f. 8eޝ);sSt8.nNlNnFF2]3=%yoz2uwvAq܊!X9 "v A ؅C?ˆ`y$,Aٲ!3qÇ+ a^W;M9nZqqΉ25'}w渵)驙)3ǭL{{b&<NVW8Ϯo4J FقR2DN"K4d>y~2@6!KZ!MI<,[&rLOaZ(lEo%fsHI"Ny1)#%6x*<" J›&d @ji4c12lr50^.UPUP ePb4M,("gGst˥,VvKZnHpb7))KN>j,wXX3lzePu%e8QF7Byxxhq'ݖ7$@ksdZ%ccPdU#MU_y+.]/ XoqqS͝[k-Z~^}y1pZ0F~j:S®[7BO'z34zun҆)1{c}Rڪ#V N ~\YvT.yrƜK[N-,$Q a]U\M;P$JUbxGcV~RJƮ§Mٖ`)xՊ²2;@<ޣ5-[tlHxs@~O勤>ժ]u3+#Bf%zuW3jw /6MTlUwwO ~\szMfDwOX`2C8Jvvq9Yt4 ?G FsޓdM*^[v[8 ?9wQJ{ax@6{$8A!6=Dҿ9yE{&31qA+m꾞ݐ+/{wuo)8Z5}ֿ_F7]}q.xy/(&Mo@8kƋ]jmVau-ѩ/7z<2vW-Gj:bW&MN]fvnfֽ S@`;IBJ-{jӎ5T;`'Jn֙qREl'l,3;- iK &rh5Z hG߿AV`!/4\.EC h<߻'z.4V٥Fͫ$^$g@k2ՌgVݯ1R[8V$}fMIgp.FO3A΍6ʼ* P+6(^y0.bk_Gx r*I54Cm4uu,4`IgaH| &[1ISBq!tnDBqk̶2_2!? rhyu8+dDR:-e~+VOT^|p/ 6e&jz$| YO']ӀyQ(2 Yў[;8Me8/y($DÛU%UTǛ^BkWI0`^D^NJy&tثlݿHtY*zٞ^сEGAy lR$f_osfG@4Tђ/H#%}VTW)C d_-Yq#܁+oҞa]8 -YBGdR ʄ2AڞSpt98uu=up^wlOxW<'ypᯑxXFDX-q%~Eg,"ţLԽ)?GǪ&Ci!ii9;iPdL/pD|4=p<</|9HҀ7δϬmWoT%#;3VV0iLIHء:CYܓ}xާmʣqG@h9VT#4y!MO/-~nsx!_csPFVS:;d8=9f@!b- vZϘO[;Z]enuQx)rJ[*_. OH)܂p \c~M$P&$ |CPU8q{0( ?6 (u8ŋH"3gb"oyB?-1l*a 4'(|BTК\i;<?ڎ6'rxX6Qۍ;˶m-J+z!.prRkPczwB;PCߕed7 +MvRקP{u38M3)ZGZ,Αƒlr8vT-ȡ#{>uUo(3n&nS*߮V;_$ sg#_ -+g''*6"7P<'޹\~̾ _3n;ᅫnz}gWJ8"엔x~oOA;K/ђӈLYEt#%xD_]?)A2oCQB22iҼa;HT2Xi56I/X pqNv_?c8dw%@qZֶvSKoYd\`BQ @a=2O%xc`d``b `b`B f[xc`agŴB3>`0ddb@ ޼\S0( P@AN?@ #xc```f`F1, ;$5bj0c̬$$tX[(0hF#eRV:̡B/P_Y]pw 0xMᚼ&mDF6`L`Ys0p`*g  ڹy`,o3xc`d``ػ[|ef~aj#g $ Kxc`d``= d xc`)a +3k3X0`x̀lra~7  # ,,@u 9Pz:@`V9VQ泎FoYd-;NoUTb\)]N(Z' z~}'$V"eKn'-u%9=zF p L$$G:F:G;g&^ԑEML((x) rt9+[YFꅢTGp&<A(=JӇ-)ҫBuC~۴\N`{wvfkW>cmaphead $36 ٘9hhea X $ hmtx xWd;maxp Pname opost  2xuU{PT?݋Q X h1F`B:hjJMՀ",*yʲ~]vaA>6`-1Vgd;vR'u(:Ӵ|f۳b?~}{s\h%׍Eog*.)7!,‘gD]ͩORhj鷒E.kH+\(Lqv"0$d)YFC{%G I!H/9G.X۲S>{]@#fg6/`cn |۷23CuG%Նզ 벳7e~.Jqbxd.1YLkɿF6.Hd9~rpg5ƧӼXsSݮ5j~/_j07̖fx Q隴Q=cutX[0]ϯ(qs ?Å;=,QrpªôVFyb3W*($tXdޓ cM=XWר[ѧĞg#Z@c2 ǼROf|>>:y U<a\r,WQR:U8TܾF]`[ݴ$iA7u74NC2Cu j?æ${5`wx\w'︭R5AwyqQ(4i_uWSc4ӇkpJux\(@!7T3㎄k*3 A::!–&,z45c^*^I cjɗ{򺔺СΝ׭#3E‡~)[gwg4P yy7zs^Y"#HΑ_y+ 0Qtu*?ڴj"K%TKj]Qb2kIZje}2ǠZl[U7! G'4Mo׃${|aݽcyes&v G|Y}e]eM`ݷeJ^kY-%h *K3# RӂS_>u_tAt w=7< K8- TϹC]MA.c&j#ʼn|:7d9|$h4 T`rп?p ׳ɥPk[sNX yk{589~qJ=2O%xc`d``b `b`B fRKxc`aZ8iCf|`Ā 0y 0`PxA#C3T21nxc```f`FX1, @ZA(ǠɠPP˰ff%)enTFgsx[_ rzㆎ$^<"<3b!d&`ec+Ii?"A 7@(xc`d``o|ef~ajNju9* $ qxc`d``uɯoX3D$|xc`E Vba0g`-47;& na]F_@!ɝsw u@Ǩ ) "sPxTNQZ5m` 6ލ G7BB MJ*J!ҹd:mf- |.]'\ۋPCMP;=|{ U+-xd-18[hlp?f\r6cu1}If+s:J-,3Y< 2fpO3_ ^/m`=q H (YCQ _H7EOEKQ `׿TOĊ*ZZŎU'-OГhehi81.IKn-u)9=zF p L$$G:F:G;g&^ԑEML((x) rt9+[YFꅢTGؾCS ki&CUU:!mZz'ǽ]ݻy;dk<7wNF)# bq@"Y-3fnN05w΄ɸ| .ڜVB=5dKا-fXs]UDu*v[XFNg=wx7WH%8- !ܮ N.wx@y2qe$_V)2;7qԝ1+ܡ$BkqE}@I-'IV*^I*HE'_ eAxc`f F X(DwOFFOTTO CFF ٯFFTM]*GDEF4 aOS/2TM`>Wcmapߖhead\36 ٘9hhea $ `hmtxЕ\maxp@4PnameHo post 2xuW |ٟa""5Q$0G$ T @H $l53ޛd !HEşj$N&bۙͳO tH7-t+n7z+NNAwһz/AMQbf4AN&~諴< {+[-hC7ttosNy&$'Zʴ=a*D4`(#Ξjv+6M*V1Yj3GP<|iqL.p^ź%e5vNؚ maݱo}5"--un`n;P}r[o5hex9^bNm"#!MsA K2#lRB[ `OvN doE(S= a5ˆhga$kG}YP'  Ge<1>f<ڎGx&wK>h#@pPB> - e&-J$U~bU\b*~aq{~OcH4IB 6fS ]rhN%zja7:9Mt(e^_?& N4 "@Ee4Q;yg1N/2`ȃ,%J9zЊm1RUTrnp3vЖX߉4jߏ1|S #bd;G€hLwBl2w2h6Iy8J.`:eūMClR&V[a/$ y-4ODBk3z2b|ʙ'ӒHOZ n 8cEB3 u~T/d{JDhl@)ޥbhI RO,G4$ PnQO<T}nsGLTn+O7FCnYV@ӕI~kapjծ$93׵gh }P!29 k,Gs.M:MJT=HLx'E勇}Ozrnl1mgW,^Ri+:%t4~Cl Wht#@(>`@qbCh7.T5 җ JKn#΢*\<:8L*qƔlKB_ّ}%`ջhԯT\AgJN8F砟cubS.`s@eӛ[3lߢFmE_0Ȥv#΀: -.kHd(17}r-뀐kEp< & ItC (!-Xy Њr&cLk2n6Է(NρM!bޜvfC #G3vCs]Mz>heu" w@t5.6Ps{OAO~h(H"!(A}n09lyi*c7Q7 75:XGM$.\.9ʞ囌>HގL a^xߚk r$KͨA=ףk0ͺ#S̉Zj?]$ !X(۵pM㚝-\΅U@.eFA ȓͻ9[mjY2c~8ZLB[d{}- L#3tRZ:Bq#ܤ͛޼-yܠП908ڗ27dHK4J&MJK|K 4ʷ௨8=h)(NKuJ-P1F.R^9^/"cD yJ R {o?yRuoITuzif%zRc2/Jr.1hI4ڥN 7_2躱mӽͦnB7Q`[(I)j:/}5rT #n=_—T(_QPbJy~tB$yABB_' KsFq6I}E\cf^al}$Y/=2O%xc`d``b `b`Bc f{fxc`afeŴB3>`0ddb@ ޼\S0( P@AN?@oxc```f`F81, +$5bj0c̬$̭VyC^A.IPl TW_׿~qN -;&P*31)bV6v $C(.pX j3xc`d`` }6__EƮL-Ǟv ``o xc`d``=/@"xc`Y-+c`rg j @='DFx! |zF^zVͨ͜ @$fh @D3W260W2lU, @{8Ei3 @ ) )3P4xTN@=T`Al:JP%Cl " nqxDR~@/'tEǓTm,{ܹs# _ {g0≵dpKV,Zo yjpٌ g7 ^|%^()7pgOg08\^tm-c)&:#Jt=RD&␸5EM8ZRg~ܚ`Hkpw eqU*ݯS~SM]q<9ݭz(Ȗvq@[X溮tT:{be3Idzs\<[\bOH#NON^;;T4^n W "nؓl έCQ:QsK8}(xP/#7T8#姢 fW?/Axc`f F X(DwOFFOTTOD ^tCFF =Qb0FFTM?]*GDEF? OS/2?<R`A+XBcmap?1head@16 5hhea@ $~Zhmtx@X maxpA~PnameAu2postD 2x| |Uo7;נM:%..#"(,BIBtSUk}GQQ$(Jqc۾ީNhBֽg9V.HVtFi֓+ 3ˋK3,7XRn]=M{0!6\^kTˮ{5[yZVQAu*Mu.iUUKU+TUXUTYUK*VդTNuJY~ g/OP.;qMq!sUAʌUe7pOivQor×G˘[1?+4cvFf?&/cAaIvnAܬ%s2d(=×{fΜ1|yl2т5Yn^u˸{&Lt=0nFfIqϭ_yY}g 2rUGJP]ҨDUbUjեdeU)* eꏪ?VYuTqkUשWݠQuj<խTP݉z[u^}WMDMR=zH5E5u8]eR=zT5CqY'UOfnQQU=z@Pjjj 2rUڭ$5ԠՂZT{>:#u:S׫ԍ&uEݪnS'R52aECϵ%!j!5&Ǻ.RͥK.͗˸˾#)^v+_uU?}r?/kNכR?J?ص_W|x㸛tGnny-[umj N{so_vݿpn>tKPɔ'R>jSzƩ;iiN/7<w8afqOzYW͚0k֬{bQ? {z[{ΖgKLb2Ę<;EWȯIDwHgh!(Dgh4u_ܒϓ촿]ם䴖okO<$ӿmj'$ؕ㒒 tK?sx!UKPָ%V0fu`QS@$ (|ۻDؗ\گ𶝉;@Ix#o t.tߎ?qk,}wYBM `LJ0X= x/s"b8^&bV{_.Y aIsi3*?s.y,l\f^wfo>QeKܡ GS?0x>m[:Orߊ OGS :nȗf$?S,9I/XO Ͻ[ôۣfAL_iaj5`sVۍ"5U>Uh| @@kv{7l2u\?DpZb56c@NnXD˺Sקɮ++ WXS B`55H>,Mw3(!0hwU➪ ٰ$ǦƔÕT`ݡ~HʶZ{м}\V5*yላ\."VB\v `Ճ2h5# 83- L=Iq>aƺre0rO 8G+Kj!g{|~a{]+2m)n3ט@LrGѸ92?w-5w7C;B0o@Ey9,($E*Mx 0a'3Ơ[Ջ6B=Ϸf#n>LSiv &Ќ^Iجzaveoۡ퍻`M6whH~^8FS7bfڒ\씵xoxG&D +|.#Tԛxj&W1CU*wc<>Nfh6@𥵅dIF'z8(j+3q[;Cۡ& hVWN$~p58xd^㨩 pXՄ&!E8"H# '&iI?F'1UaAFzwѶӿKJi2rZ]ߥ&|~mq^*lO4enTY[$v,V::Dۇ)] Up;:'w|Sˆn! OC@']Ηs]Ӵ! UR}P0Wlnq+'U82!ݖ owR`$跃4ӂCºhW}ץ $.@{rfˊ) أ hk@L*CU׮y9"aǰ[诒vP;ԃS}Ot;n66At4t4 Ů K1pj"_rfDb]h&(:*bcA_z?ltX}evXoL|؛G6fh4; x& Z ieg sq$/5:H+?LznH5<6Oҝ~8/'*!66E,>%9Uv[^a̅S׺|HiBqDT6,yזx DH_QSa4/_O.I@5١/:n$FCbBzWx: 󺦈raĶҔ^JZJ{RQ]]VjJ~(dz>QT`5Uخ^5N \AX>H:QjPǢC"U`SYNPn"\FQ" Wܵ 4x7-<]Lhл(?HoL'i)ʾσ`y髮Ey|~1![X_jI_5_MOO|K?z8lY 9|4DkF5|~t)m;|;wwN>z hH^V< /Y6.Gg*df03!\Α@qeJxMr?@}7BP]\K6on\ .qAǎktE_;x3o98bbuWlQyшvzW lPZ[ނaЋ5~0wnfhub*AdJ+,/e`rEvk ooz VMSBg?++lV"%1xKuMMMTMQ"I8(bH2h9(_ezGZ j0LlFc/s/b΋a4Ж,@tWrS!/TPQzbN(m kyyo{|B=c+k6d4A@^Z*UiʂYJ;֯|AxaC/YD5 #8/>FQ%VKE^K'aj=qu6}]MrD^zK+oc0AR77<;[twmٶ3#uM~ުWz]#7fֲ2k$)V'vQBt/h~ 4uaTXVˠf}`0}^"?Mǟ֜{h H( úY[\q#T`&`9] 9;| QhB'7RPE]$v 㤚L!Zkt` }jmԇ, ?k. ô^"c .Z=*-W-I!N]bĂJ')ak0r6Tk@t!!# ƺ]Yee8qs94}v??3?b$)\!qd]qHY..TJryv#)i|[c7;KdpO%lDyK4ۂ:z7m1|_[ׂ =Kv2~&<%?!'ʽΈIׄtlzoq߃2ɆB7}L$ b/f~&v>)2m0!z'mCON6CU@ڀM/і9d2(S#}A|<~ZTcN8 J!4^lL pr4m(E|ѣ '$JD2l-6h'ߐ;)ZI$1W:_PA1D/N\V̱tgӋ݉ L3uN|Χ >G˳ϭ+\ yV&pU ]jv7S 1U>``=FۅP:tEzUs3ӴJJļ^Q]V*V\p=^ItT4d+$P*T . K B s-Qr[(hɋ.2[y0_3=EŢ`f|&!kG!S=͖oW/onL@WЅ b&.oJ}:>IELhGrn&e*"sIotlǛ͘ID辽`SkR2(9#̹NߜC DL[h!@u<{X[70vCAgXbl!poyll3qf02N b9Is=yrc,Et\|T"}%MJƆSpp{R=hZA誶ĶD"RjsQڧ`!ڢ1>Q2Haz#ONmA ܮD &tMn%u?d@S궻 o$JRDf*yRwuag6fXCDw).0.;^~Ȑ4KY?mJlHl:ߘ] Y8尢pݞCUݡQ8 9't4n0!Z0۱=9\/ lz6U`vs8{)50]Yw"`(tÄ/!A(8ۑ!7$6܂?,Uӥ=>}lI;tk-5h {yfQ봺mSD:jkBECZaݫufw"%ۏ#jGϻ`1J3("# ֝bj)j#1&0T+fg tv笯>)Ϣ/7/C'(t#|!H+Z5]rڇr鞨k"J6dZߜx!:`&i絞ƾ6L[9/Sk p66X FA [Dl9b;+;~mzߖDkfD,˅q=K99YJW:fX H}"|̟imKl w*FZ&5DK*;뗾ȗl.wnEj "vGV3x ,e_#.G $Jca,N8g|C kޱ׆>=o(!DN#j"Poӫ1iKq+2V,Rt`8c[d 7u'U[M:eg5zX|?BEj~9,អl$J=˰IcqXރTv``pĭͅoy /jp q5N/{z:a4p6eO)>s0{١Ǻ p44X tVm/Ԣ`| %6YC8@^x0!k\ge.1K8WMA.Ex]\dQ+[nh 5]% 3oH لq-n>ˠ]a%źXw: 81[ ֖c泚#+s۴8/a,e߉ClhǺŖ x襅:֪bȄՕ%U&;[AILe% 0(bz`",@*&+E0%b~Aa:m<9>_6[flYPIC~WqlLZ57v ob$ [lO. zu`RSvNXPj%M1qBI#mR(!.ߨ?YK~V=KcΓcH3YZܭ.me#Wp=0lnƱ阳300ތ1givB8&rs| Sf]fa0bաL os8GJA| G27 0M!Y䯔m{(p@v~7'#')kXӴq08fn: 3{0g 1_]ty@ 7JvWYwwFnK{ ylJ){^n7/{- tIT)0|͑ 1Gtbcovk=RqYDJ<AnavVu>{W `vٍ˱ֶz&]IJh[lCqO6'^{F3P}͈0 G4ƀ[fm#ZK9#6:#43<σBxNikE JKUFD$J^z*6dFHB0<~φ٣84 :GR.$ :2|OEgƃqWm-iKJ"9f!,e7< fr T):;&)%./νEĔcħ {6@sa85mML9 {?|o p"^ #N[z+v9@fkuo ;iq#qtձO({J60Ei&ÃP- o88Z *bC CgeeRwD~ rv}\XbHbzٮ E뛛;6kA,)7 13Ҕ=_ UosQө8F? d.{W{p4x2 Zr@{{cHBnXjlEmiƿL16TsĊ\& Y$OhˆÖdؖcRf~>~?7h#RAHVV KbXe'irڈGQpّ+|C~-.}N2z03J ,][?X 4+$ҴZ>ߠ˶CPvu@!0&$P]ccKfSzZ[я~MQAZޝ9u%^׳)UalF1vTPR¬}iQOc5RrP77w)/O3tb0 4B}ZK!֮ Lޅ/*K,Ϲ-ypHUi~uuc^*،yA|4}޳OkMṊKGyL jiD^tt姮-*M<۠ɡ߿A:I Y;:$rv!ǟIIJ+D/O~Nkwwwu{_~J뾿7Iw$IӱtmTrGgj0K32,c;&.G`:k;];]o+h|;~H[>McC44@tdf[8cᗻIӕg93߮uD߹N{>ѯ^*NU픣>8.Nˑ?+D F!fa|ܠKXΖu?;J4?I$x}WQ; 95`o1U(b¸4nC}:%U՞38W,*$GEB8T/UipFՁߪHo"Vv;ˆŢƝOCxѝK@P4>eR7w!y3c\;Cw>@yG~,dhrʮ5ΰG?伟Yz %PTmHw,M̛yG a>"m=PPp˱O֮&vv=dٲ*+W2eGw􃗟,23#,;z?GOZWnw` ~MH= P+s i ؼ\xyY$W~V_{vybz9T{UltIyv`!i:WԦcʤN7Yp /$R(@.SLU'߀Sqd%0qH!_Ok'nn7w h.5}\3è w|THgJ ՋäDǽ{+dXMƒ@"̻Vu/1ÙmȾ C @zS@e|N(ћQfyxq .0\P1+XTH˭PKּ^lrl?h yn`$/K=3vkqdFdE^EEVTj[} nY'`x3j׶w>֦%Z8'?Gp.44t8-ȗYm}LjK|v;5*.UE˼B m7=.WO>hA/rL頺fY bUYRSrݴ] h._sO龻}"GlDxI|!Al?G'u@4G2:3#_~Dwd}/3>{ Hj|:DO"d5O xa{-|+!xOJ?H O">e9?pV*#l89vhJQűAie&.SrxB*6tY6W/b E꬇%BCjon]NB;$ ᨩńn79rtvwnLbӁ71w:1ѬZҧh\O^zgh'xAY"szE/<Υ!wr!A)az4I2n[o?j+_E<2KqT'w0fˋ7,qj)}13Kz8oT0̐x]P'vm0QQrGC\kTN1aT6UH_ɓZׂلn0!ϼqK2.x\'`0=搁.Iij_Rxp.EbMgaPqD)lCDlGέ\C?>ǤuNi6 jdUx?E+ܬSh*qc^qil˸9g<198v6`R÷HxKg." utռ"݂W QɁV>[X"8y@ʯw﷼kZT9|Mǒ؋O&鬓tJJC|A ?$+&)=!?gSy sC?ÙuT1XyV#vPg]P^9[mՂ \}d'*iZ9 X;hDlj(Ox`ksl`%UTR=0= WzCJbxḳSKMm qaDj` IJ=;iV!}W-ĖثzHְlM0k*@zQ W*JCƦQ#iㄳwֻb!%[#pOKQݎ7(JJͮn^S:Us*ۭt$t$.WFZ[+tZp~ Ij$0'jjq]v[|e'pg|#! ȓc/{YK$_kDC/ՇVtܵUav#"Cd^+쥳^#"bBaa@lD8^˂ 5sːC_o[{=A0{06a`7>Q(5t 6ǥzi&V`=.x7?Ƨ ?=|%_V2ϴG x @MIt/lJ+YqhÉoaHaspAoqȷ"DZÇQ*Cc++~a*l\臐;zswgf.L(C+%ZY apé픍'ۨEo'ug?v\۲E0 >X~IQ:[jVI׼%ą3Ӓt_/<az͚$n bĬø*O{rM<:PSs`ʖQɓ: W<ЍsE ?l{dEs=^Ÿ&8]M9sDO&s9~a%V'R"4tt[~!5 VGB $'=^k :cI'C*r$ɨKN@ij"h1=Q+qxjYZZ+/P?޲Gt`茫X>v fN;ookX?ypB4 5c:+ {k64 ;f^A1(z1iGDNL%PYHEjXSt[cWiN whӱ~$xSN{,R=`ޜVGg?:c{U⟏kOL;<{<04nzwzԬp)P5K?cLm)kumHqj9 5o _ 9n8=:hu_6g'i&a>$kܽ(oAN޲yC)q:JJ'J )ߋq.2GG & E6kqZXQFZ5v)ںhFiNS4? T3飻ɪɷ$_j]SUM|@!4ErۃvPm0 $B7"5pGיjJ! ok &&Z-{$Hr%vpIҞ=cS璔kTT/GU֩QI}zuzzcVBbMLp$ vѕxьr.Br}3r2N/WP|=N(94Ѓq(ulVWiOD^R~6wYdgH5_ KMkcm /n_v$[97v $=siJ̹ӔcGU΋/K9K~kƅ\t'_62pl>kw@FC{MމHH=/uߺr %q8/=[x^bb2v=:`=J[UDjDJZd)S>L^rhWN\aHX!~uc.#K*݃V}wh> AD\-~R*4Ȋa6k]t ic1vgO}V$@ktrbicO4p"cs*Jrx-o/C_csdѐ@X7^GqZ cQYvˉHJ$M-7ulZ [yɷm.%Uj"':Vv+%٩٨;JE>ЕgX`e|4jCh>2,uUHƆ iΦ&Qb%+&nѭ6M*L^[57Z(#c׶TKk{:ҠXg\Myic =v_[m_Dx ,|;ډ]4 Ew [=2O%xc`d``b `b`Z f xc`ab`ŴB3>`0ddb@ ޼\S0( P@AN?{=S226xc```f`F1, ;Pϰѐɜy 0/f^Ƽ(@2NFRy#ڿ@oOoI&.ŸC6"#A L,l\<|B"bR2r J*jZ:zF&fV6vN.n^>~A!aQ1q #sח`Kxc`d``zm2q30\]F/ͤȴ `q xc`d``7L dPx5AJBQ8ZS|Yi5*@SM[C &򜸀6$p-?5q{ﱵulm ob JH! }|*[3h +}m*X2~V5dqc||dp=b*mTϨg[XΗxRϹKc3H|JsT uNL?hkvC<'895vS}0sb 3P~xTNA> ]54ȅxL 74@T(1 YCwHmv]^;xg/`|bbA"7gw̔;9rh Zw<}x;Zv^Y]s5!ieTSYJ#.{f#lBXxԳόpn) iL#۰\l4>b{fY| aQS<-SĴ'xt1esۆM>a4)Cڍ7՛R6j!~v7`Þ5JE< li)RE(A.p̫Ix=3ZgC>J#/= :c0te "a1Pp@D!Ͽ\oBfctA>׶lZ, <%boճ_w]_xc`f F X(DwOFFOTTO\ 0CFF >FFTM w'IGDEF<(OS/2hI`wFcmap4B $8head56 hhea@$ohmtxT`maxp`PnameMpost 3xc`d``bSPx~ /" W'o3л1(2121]`` xc`d``_H3#*`EgPxc`agŴB3>`0dd213#+8i) ')Nb_2%PBF} xuj@(-n vVEq#H)Eঈ[d}>A>EoA?3'gQ=Ac^&7* zͱ#\/Eɽv*ޟLVáZm:[D66;윳ZƑզ;M:SmXelL*L9aHH(D_}BB YK"e&zSi8Y8eXtӪ )_RFgU%~g@Sxc```f`F| @!|JF6s#exc`f F@ (Uxcd`ab`ddM,JKM./uIg!Cq5?39 [ 202r&eg8T ɚ F ! PKJ2KsX*ȔO/e8շ4vWvLmݡCw]-kmm{Wwuw9ӻ^dM2{~ɵ9WnXdzdGQ4M:u*=TN7%+DeX.KS yno5Q֦$D=QAbJb)Bz( e5RrXQ<оPߒѠlPeFJ뉉sr(g]-Ք9K\Iw f>fxc```f`F| @!|JF6s#exc`f F@ (Uxcd`ab`ddM,JKM./ JM/I,Ig!Cq?fݖBXM"ˋ23J * dM#CsT= yE%mFe```lg`bddJKnfj߿Z[[ں&Mjnݾ!3~ZS-\pު3&t1yGڧwuuw77v7rupmʽg+>rX=UՓxc`d``b fB0+wOFFOTTOX TCFF ls7FFTMvjGDEF0 *OS/2\B`@cmap 4B head/6 hhea8$fhmtxPmaxpTPname~z\`postT 3xc`d```f`xgkZ,+\R|~ї7笕8NK{V ռ^YjL^)WCuY+q3d(lsv[mvJv,lx$AD[5"t}%uҗi$t6HH+m7vڥF%1kV^|̝ߪ!K#LYfNX.Xs߿ɳɭM H dlP7R3 ;8'rBZXQLHDV gL؎Z;4fnT< zgiR4,1ڤmaݡmjQ!QϪc2jMi\p >Wiݪ; yM c:tYL!˙OJ<{*4(uG$s58><䃡\S !"3:AO͡>Tʵ@@f3"cMN9snrʽlNOO/t r}o{p]:sn}wOt@- b^iD:\xc```f`F| @?CHVJF6sTxc`f F@ (Uxcd`ad`ddM,JJ- a!C  }jb6q(tuss63p/,L(QHT0204WHUW_TYbc;##3_s\;]nen\{eX`3lxc```d3΃諱y0H_Vxc`d``bF(dAL I(function(){"use strict";var __webpack_modules__={351:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AssistiveMmlHandler=e.AssistiveMmlMathDocumentMixin=e.AssistiveMmlMathItemMixin=e.LimitedMmlVisitor=void 0;var c=r(4474),u=r(9259),p=r(7233),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.getAttributes=function(e){return t.prototype.getAttributes.call(this,e).replace(/ ?id=".*?"/,"")},e}(u.SerializedMmlVisitor);function d(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.assistiveMml=function(t,e){if(void 0===e&&(e=!1),!(this.state()>=c.STATE.ASSISTIVEMML)){if(!this.isEscaped&&(t.options.enableAssistiveMml||e)){var r=t.adaptor,n=t.toMML(this.root).replace(/\n */g,"").replace(//g,""),o=r.firstChild(r.body(r.parse(n,"text/html"))),i=r.node("mjx-assistive-mml",{unselectable:"on",display:this.display?"block":"inline"},[o]);r.setAttribute(r.firstChild(this.typesetRoot),"aria-hidden","true"),r.setStyle(this.typesetRoot,"position","relative"),r.append(this.typesetRoot,i)}this.state(c.STATE.ASSISTIVEMML)}},e}(t)}function f(t){var e;return e=function(t){function e(){for(var e=[],r=0;r0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLAdaptor=void 0;var a=function(t){function e(e){var r=t.call(this,e.document)||this;return r.window=e,r.parser=new e.DOMParser,r}return o(e,t),e.prototype.parse=function(t,e){return void 0===e&&(e="text/html"),this.parser.parseFromString(t,e)},e.prototype.create=function(t,e){return e?this.document.createElementNS(e,t):this.document.createElement(t)},e.prototype.text=function(t){return this.document.createTextNode(t)},e.prototype.head=function(t){return t.head||t},e.prototype.body=function(t){return t.body||t},e.prototype.root=function(t){return t.documentElement||t},e.prototype.doctype=function(t){return t.doctype?""):""},e.prototype.tags=function(t,e,r){void 0===r&&(r=null);var n=r?t.getElementsByTagNameNS(r,e):t.getElementsByTagName(e);return Array.from(n)},e.prototype.getElements=function(t,e){var r,n,o=[];try{for(var a=i(t),s=a.next();!s.done;s=a.next()){var l=s.value;"string"==typeof l?o=o.concat(Array.from(this.document.querySelectorAll(l))):Array.isArray(l)||l instanceof this.window.NodeList||l instanceof this.window.HTMLCollection?o=o.concat(Array.from(l)):o.push(l)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return o},e.prototype.contains=function(t,e){return t.contains(e)},e.prototype.parent=function(t){return t.parentNode},e.prototype.append=function(t,e){return t.appendChild(e)},e.prototype.insert=function(t,e){return this.parent(e).insertBefore(t,e)},e.prototype.remove=function(t){return this.parent(t).removeChild(t)},e.prototype.replace=function(t,e){return this.parent(e).replaceChild(t,e)},e.prototype.clone=function(t){return t.cloneNode(!0)},e.prototype.split=function(t,e){return t.splitText(e)},e.prototype.next=function(t){return t.nextSibling},e.prototype.previous=function(t){return t.previousSibling},e.prototype.firstChild=function(t){return t.firstChild},e.prototype.lastChild=function(t){return t.lastChild},e.prototype.childNodes=function(t){return Array.from(t.childNodes)},e.prototype.childNode=function(t,e){return t.childNodes[e]},e.prototype.kind=function(t){var e=t.nodeType;return 1===e||3===e||8===e?t.nodeName.toLowerCase():""},e.prototype.value=function(t){return t.nodeValue||""},e.prototype.textContent=function(t){return t.textContent},e.prototype.innerHTML=function(t){return t.innerHTML},e.prototype.outerHTML=function(t){return t.outerHTML},e.prototype.serializeXML=function(t){return(new this.window.XMLSerializer).serializeToString(t)},e.prototype.setAttribute=function(t,e,r,n){return void 0===n&&(n=null),n?(e=n.replace(/.*\//,"")+":"+e.replace(/^.*:/,""),t.setAttributeNS(n,e,r)):t.setAttribute(e,r)},e.prototype.getAttribute=function(t,e){return t.getAttribute(e)},e.prototype.removeAttribute=function(t,e){return t.removeAttribute(e)},e.prototype.hasAttribute=function(t,e){return t.hasAttribute(e)},e.prototype.allAttributes=function(t){return Array.from(t.attributes).map((function(t){return{name:t.name,value:t.value}}))},e.prototype.addClass=function(t,e){t.classList?t.classList.add(e):t.className=(t.className+" "+e).trim()},e.prototype.removeClass=function(t,e){t.classList?t.classList.remove(e):t.className=t.className.split(/ /).filter((function(t){return t!==e})).join(" ")},e.prototype.hasClass=function(t,e){return t.classList?t.classList.contains(e):t.className.split(/ /).indexOf(e)>=0},e.prototype.setStyle=function(t,e,r){t.style[e]=r},e.prototype.getStyle=function(t,e){return t.style[e]},e.prototype.allStyles=function(t){return t.style.cssText},e.prototype.insertRules=function(t,e){var r,n;try{for(var o=i(e.reverse()),a=o.next();!a.done;a=o.next()){var s=a.value;try{t.sheet.insertRule(s,0)}catch(t){console.warn("MathJax: can't insert css rule '".concat(s,"': ").concat(t.message))}}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.fontSize=function(t){var e=this.window.getComputedStyle(t);return parseFloat(e.fontSize)},e.prototype.fontFamily=function(t){return this.window.getComputedStyle(t).fontFamily||""},e.prototype.nodeSize=function(t,e,r){if(void 0===e&&(e=1),void 0===r&&(r=!1),r&&t.getBBox){var n=t.getBBox();return[n.width/e,n.height/e]}return[t.offsetWidth/e,t.offsetHeight/e]},e.prototype.nodeBBox=function(t){var e=t.getBoundingClientRect();return{left:e.left,right:e.right,top:e.top,bottom:e.bottom}},e}(r(5009).AbstractDOMAdaptor);e.HTMLAdaptor=a},6191:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.browserAdaptor=void 0;var n=r(444);e.browserAdaptor=function(){return new n.HTMLAdaptor(window)}},9515:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MathJax=e.combineWithMathJax=e.combineDefaults=e.combineConfig=e.isObject=void 0;var o=r(3282);function i(t){return"object"==typeof t&&null!==t}function a(t,e){var r,o;try{for(var s=n(Object.keys(e)),l=s.next();!l.done;l=s.next()){var c=l.value;"__esModule"!==c&&(!i(t[c])||!i(e[c])||e[c]instanceof Promise?null!==e[c]&&void 0!==e[c]&&(t[c]=e[c]):a(t[c],e[c]))}}catch(t){r={error:t}}finally{try{l&&!l.done&&(o=s.return)&&o.call(s)}finally{if(r)throw r.error}}return t}e.isObject=i,e.combineConfig=a,e.combineDefaults=function t(e,r,o){var a,s;e[r]||(e[r]={}),e=e[r];try{for(var l=n(Object.keys(o)),c=l.next();!c.done;c=l.next()){var u=c.value;i(e[u])&&i(o[u])?t(e,u,o[u]):null==e[u]&&null!=o[u]&&(e[u]=o[u])}}catch(t){a={error:t}}finally{try{c&&!c.done&&(s=l.return)&&s.call(l)}finally{if(a)throw a.error}}return e},e.combineWithMathJax=function(t){return a(e.MathJax,t)},void 0===r.g.MathJax&&(r.g.MathJax={}),r.g.MathJax.version||(r.g.MathJax={version:o.VERSION,_:{},config:r.g.MathJax}),e.MathJax=r.g.MathJax},235:function(t,e,r){var n,o,i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CONFIG=e.MathJax=e.Loader=e.PathFilters=e.PackageError=e.Package=void 0;var a=r(9515),s=r(265),l=r(265);Object.defineProperty(e,"Package",{enumerable:!0,get:function(){return l.Package}}),Object.defineProperty(e,"PackageError",{enumerable:!0,get:function(){return l.PackageError}});var c,u=r(7525);if(e.PathFilters={source:function(t){return e.CONFIG.source.hasOwnProperty(t.name)&&(t.name=e.CONFIG.source[t.name]),!0},normalize:function(t){var e=t.name;return e.match(/^(?:[a-z]+:\/)?\/|[a-z]:\\|\[/i)||(t.name="[mathjax]/"+e.replace(/^\.\//,"")),t.addExtension&&!e.match(/\.[^\/]+$/)&&(t.name+=".js"),!0},prefix:function(t){for(var r;(r=t.name.match(/^\[([^\]]*)\]/))&&e.CONFIG.paths.hasOwnProperty(r[1]);)t.name=e.CONFIG.paths[r[1]]+t.name.substr(r[0].length);return!0}},function(t){var r=a.MathJax.version;t.versions=new Map,t.ready=function(){for(var t,e,r=[],n=0;n=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractDOMAdaptor=void 0;var n=function(){function t(t){void 0===t&&(t=null),this.document=t}return t.prototype.node=function(t,e,n,o){var i,a;void 0===e&&(e={}),void 0===n&&(n=[]);var s=this.create(t,o);this.setAttributes(s,e);try{for(var l=r(n),c=l.next();!c.done;c=l.next()){var u=c.value;this.append(s,u)}}catch(t){i={error:t}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(i)throw i.error}}return s},t.prototype.setAttributes=function(t,e){var n,o,i,a,s,l;if(e.style&&"string"!=typeof e.style)try{for(var c=r(Object.keys(e.style)),u=c.next();!u.done;u=c.next()){var p=u.value;this.setStyle(t,p.replace(/-([a-z])/g,(function(t,e){return e.toUpperCase()})),e.style[p])}}catch(t){n={error:t}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}if(e.properties)try{for(var h=r(Object.keys(e.properties)),d=h.next();!d.done;d=h.next()){t[p=d.value]=e.properties[p]}}catch(t){i={error:t}}finally{try{d&&!d.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}try{for(var f=r(Object.keys(e)),m=f.next();!m.done;m=f.next()){"style"===(p=m.value)&&"string"!=typeof e.style||"properties"===p||this.setAttribute(t,p,e[p])}}catch(t){s={error:t}}finally{try{m&&!m.done&&(l=f.return)&&l.call(f)}finally{if(s)throw s.error}}},t.prototype.replace=function(t,e){return this.insert(t,e),this.remove(e),e},t.prototype.childNode=function(t,e){return this.childNodes(t)[e]},t.prototype.allClasses=function(t){var e=this.getAttribute(t,"class");return e?e.replace(/ +/g," ").replace(/^ /,"").replace(/ $/,"").split(/ /):[]},t}();e.AbstractDOMAdaptor=n},3494:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractFindMath=void 0;var n=r(7233),o=function(){function t(t){var e=this.constructor;this.options=(0,n.userOptions)((0,n.defaultOptions)({},e.OPTIONS),t)}return t.OPTIONS={},t}();e.AbstractFindMath=o},3670:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractHandler=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(r(5722).AbstractMathDocument),a=function(){function t(t,e){void 0===e&&(e=5),this.documentClass=i,this.adaptor=t,this.priority=e}return Object.defineProperty(t.prototype,"name",{get:function(){return this.constructor.NAME},enumerable:!1,configurable:!0}),t.prototype.handlesDocument=function(t){return!1},t.prototype.create=function(t,e){return new this.documentClass(t,this.adaptor,e)},t.NAME="generic",t}();e.AbstractHandler=a},805:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.HandlerList=void 0;var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.register=function(t){return this.add(t,t.priority)},e.prototype.unregister=function(t){this.remove(t)},e.prototype.handlesDocument=function(t){var e,r;try{for(var n=i(this),o=n.next();!o.done;o=n.next()){var a=o.value.item;if(a.handlesDocument(t))return a}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}throw new Error("Can't find handler for document")},e.prototype.document=function(t,e){return void 0===e&&(e=null),this.handlesDocument(t).create(t,e)},e}(r(8666).PrioritizedList);e.HandlerList=a},9206:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractInputJax=void 0;var n=r(7233),o=r(7525),i=function(){function t(t){void 0===t&&(t={}),this.adaptor=null,this.mmlFactory=null;var e=this.constructor;this.options=(0,n.userOptions)((0,n.defaultOptions)({},e.OPTIONS),t),this.preFilters=new o.FunctionList,this.postFilters=new o.FunctionList}return Object.defineProperty(t.prototype,"name",{get:function(){return this.constructor.NAME},enumerable:!1,configurable:!0}),t.prototype.setAdaptor=function(t){this.adaptor=t},t.prototype.setMmlFactory=function(t){this.mmlFactory=t},t.prototype.initialize=function(){},t.prototype.reset=function(){for(var t=[],e=0;e=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=e&&s.item.renderDoc(t))return}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.renderMath=function(t,e,r){var n,o;void 0===r&&(r=h.STATE.UNPROCESSED);try{for(var a=i(this.items),s=a.next();!s.done;s=a.next()){var l=s.value;if(l.priority>=r&&l.item.renderMath(t,e))return}}catch(t){n={error:t}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}},e.prototype.renderConvert=function(t,e,r){var n,o;void 0===r&&(r=h.STATE.LAST);try{for(var a=i(this.items),s=a.next();!s.done;s=a.next()){var l=s.value;if(l.priority>r)return;if(l.item.convert&&l.item.renderMath(t,e))return}}catch(t){n={error:t}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}},e.prototype.findID=function(t){var e,r;try{for(var n=i(this.items),o=n.next();!o.done;o=n.next()){var a=o.value;if(a.item.id===t)return a.item}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return null},e}(r(8666).PrioritizedList);e.RenderList=m,e.resetOptions={all:!1,processed:!1,inputJax:null,outputJax:null},e.resetAllOptions={all:!0,processed:!0,inputJax:[],outputJax:[]};var y=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.compile=function(t){return null},e}(c.AbstractInputJax),g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.typeset=function(t,e){return void 0===e&&(e=null),null},e.prototype.escaped=function(t,e){return null},e}(u.AbstractOutputJax),b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(p.AbstractMathList),v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(h.AbstractMathItem),_=function(){function t(e,r,n){var o=this,i=this.constructor;this.document=e,this.options=(0,l.userOptions)((0,l.defaultOptions)({},i.OPTIONS),n),this.math=new(this.options.MathList||b),this.renderActions=m.create(this.options.renderActions),this.processed=new t.ProcessBits,this.outputJax=this.options.OutputJax||new g;var a=this.options.InputJax||[new y];Array.isArray(a)||(a=[a]),this.inputJax=a,this.adaptor=r,this.outputJax.setAdaptor(r),this.inputJax.map((function(t){return t.setAdaptor(r)})),this.mmlFactory=this.options.MmlFactory||new d.MmlFactory,this.inputJax.map((function(t){return t.setMmlFactory(o.mmlFactory)})),this.outputJax.initialize(),this.inputJax.map((function(t){return t.initialize()}))}return Object.defineProperty(t.prototype,"kind",{get:function(){return this.constructor.KIND},enumerable:!1,configurable:!0}),t.prototype.addRenderAction=function(t){for(var e=[],r=1;r=r&&this.state(r-1),t.renderActions.renderMath(this,t,r)},t.prototype.convert=function(t,r){void 0===r&&(r=e.STATE.LAST),t.renderActions.renderConvert(this,t,r)},t.prototype.compile=function(t){this.state()=e.STATE.INSERTED&&this.removeFromDocument(r),t=e.STATE.TYPESET&&(this.outputData={}),t=e.STATE.COMPILED&&(this.inputData={}),this._state=t),this._state},t.prototype.reset=function(t){void 0===t&&(t=!1),this.state(e.STATE.UNPROCESSED,t)},t}();e.AbstractMathItem=r,e.STATE={UNPROCESSED:0,FINDMATH:10,COMPILED:20,CONVERT:100,METRICS:110,RERENDER:125,TYPESET:150,INSERTED:200,LAST:1e4},e.newState=function(t,r){if(t in e.STATE)throw Error("State "+t+" already exists");e.STATE[t]=r}},9e3:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMathList=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.isBefore=function(t,e){return t.start.i=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.Attributes=e.INHERIT=void 0,e.INHERIT="_inherit_";var n=function(){function t(t,e){this.global=e,this.defaults=Object.create(e),this.inherited=Object.create(this.defaults),this.attributes=Object.create(this.inherited),Object.assign(this.defaults,t)}return t.prototype.set=function(t,e){this.attributes[t]=e},t.prototype.setList=function(t){Object.assign(this.attributes,t)},t.prototype.get=function(t){var r=this.attributes[t];return r===e.INHERIT&&(r=this.global[t]),r},t.prototype.getExplicit=function(t){if(this.attributes.hasOwnProperty(t))return this.attributes[t]},t.prototype.getList=function(){for(var t,e,n=[],o=0;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MathMLVisitor=void 0;var a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.document=null,e}return o(e,t),e.prototype.visitTree=function(t,e){this.document=e;var r=e.createElement("top");return this.visitNode(t,r),this.document=null,r.firstChild},e.prototype.visitTextNode=function(t,e){e.appendChild(this.document.createTextNode(t.getText()))},e.prototype.visitXMLNode=function(t,e){e.appendChild(t.getXML().cloneNode(!0))},e.prototype.visitInferredMrowNode=function(t,e){var r,n;try{for(var o=i(t.childNodes),a=o.next();!a.done;a=o.next()){var s=a.value;this.visitNode(s,e)}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},e.prototype.visitDefault=function(t,e){var r,n,o=this.document.createElement(t.kind);this.addAttributes(t,o);try{for(var a=i(t.childNodes),s=a.next();!s.done;s=a.next()){var l=s.value;this.visitNode(l,o)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}e.appendChild(o)},e.prototype.addAttributes=function(t,e){var r,n,o=t.attributes,a=o.getExplicitNames();try{for(var s=i(a),l=s.next();!l.done;l=s.next()){var c=l.value;e.setAttribute(c,o.getExplicit(c).toString())}}catch(t){r={error:t}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}},e}(r(6325).MmlVisitor);e.MathMLVisitor=a},3909:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MmlFactory=void 0;var i=r(7860),a=r(6336),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"MML",{get:function(){return this.node},enumerable:!1,configurable:!0}),e.defaultNodes=a.MML,e}(i.AbstractNodeFactory);e.MmlFactory=s},9007:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.XMLNode=e.TextNode=e.AbstractMmlEmptyNode=e.AbstractMmlBaseNode=e.AbstractMmlLayoutNode=e.AbstractMmlTokenNode=e.AbstractMmlNode=e.indentAttributes=e.TEXCLASSNAMES=e.TEXCLASS=void 0;var l=r(91),c=r(4596);e.TEXCLASS={ORD:0,OP:1,BIN:2,REL:3,OPEN:4,CLOSE:5,PUNCT:6,INNER:7,VCENTER:8,NONE:-1},e.TEXCLASSNAMES=["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER","VCENTER"];var u=["","thinmathspace","mediummathspace","thickmathspace"],p=[[0,-1,2,3,0,0,0,1],[-1,-1,0,3,0,0,0,1],[2,2,0,0,2,0,0,2],[3,3,0,0,3,0,0,3],[0,0,0,0,0,0,0,0],[0,-1,2,3,0,0,0,1],[1,1,0,1,1,1,1,1],[1,-1,2,3,1,0,1,1]];e.indentAttributes=["indentalign","indentalignfirst","indentshift","indentshiftfirst"];var h=function(t){function r(e,r,n){void 0===r&&(r={}),void 0===n&&(n=[]);var o=t.call(this,e)||this;return o.prevClass=null,o.prevLevel=null,o.texclass=null,o.arity<0&&(o.childNodes=[e.create("inferredMrow")],o.childNodes[0].parent=o),o.setChildren(n),o.attributes=new l.Attributes(e.getNodeClass(o.kind).defaults,e.getNodeClass("math").defaults),o.attributes.setList(r),o}return o(r,t),r.prototype.copy=function(t){var e,r,n,o;void 0===t&&(t=!1);var s=this.factory.create(this.kind);if(s.properties=i({},this.properties),this.attributes){var l=this.attributes.getAllAttributes();try{for(var c=a(Object.keys(l)),u=c.next();!u.done;u=c.next()){var p=u.value;("id"!==p||t)&&s.attributes.set(p,l[p])}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}}if(this.childNodes&&this.childNodes.length){var h=this.childNodes;1===h.length&&h[0].isInferred&&(h=h[0].childNodes);try{for(var d=a(h),f=d.next();!f.done;f=d.next()){var m=f.value;m?s.appendChild(m.copy()):s.childNodes.push(null)}}catch(t){n={error:t}}finally{try{f&&!f.done&&(o=d.return)&&o.call(d)}finally{if(n)throw n.error}}}return s},Object.defineProperty(r.prototype,"texClass",{get:function(){return this.texclass},set:function(t){this.texclass=t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isToken",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isEmbellished",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isSpacelike",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"linebreakContainer",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"hasNewLine",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"arity",{get:function(){return 1/0},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isInferred",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"Parent",{get:function(){for(var t=this.parent;t&&t.notParent;)t=t.Parent;return t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"notParent",{get:function(){return!1},enumerable:!1,configurable:!0}),r.prototype.setChildren=function(e){return this.arity<0?this.childNodes[0].setChildren(e):t.prototype.setChildren.call(this,e)},r.prototype.appendChild=function(e){var r,n,o=this;if(this.arity<0)return this.childNodes[0].appendChild(e),e;if(e.isInferred){if(this.arity===1/0)return e.childNodes.forEach((function(e){return t.prototype.appendChild.call(o,e)})),e;var i=e;(e=this.factory.create("mrow")).setChildren(i.childNodes),e.attributes=i.attributes;try{for(var s=a(i.getPropertyNames()),l=s.next();!l.done;l=s.next()){var c=l.value;e.setProperty(c,i.getProperty(c))}}catch(t){r={error:t}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}}return t.prototype.appendChild.call(this,e)},r.prototype.replaceChild=function(e,r){return this.arity<0?(this.childNodes[0].replaceChild(e,r),e):t.prototype.replaceChild.call(this,e,r)},r.prototype.core=function(){return this},r.prototype.coreMO=function(){return this},r.prototype.coreIndex=function(){return 0},r.prototype.childPosition=function(){for(var t,e,r=this,n=r.parent;n&&n.notParent;)r=n,n=n.parent;if(n){var o=0;try{for(var i=a(n.childNodes),s=i.next();!s.done;s=i.next()){if(s.value===r)return o;o++}}catch(e){t={error:e}}finally{try{s&&!s.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}}return null},r.prototype.setTeXclass=function(t){return this.getPrevClass(t),null!=this.texClass?this:t},r.prototype.updateTeXclass=function(t){t&&(this.prevClass=t.prevClass,this.prevLevel=t.prevLevel,t.prevClass=t.prevLevel=null,this.texClass=t.texClass)},r.prototype.getPrevClass=function(t){t&&(this.prevClass=t.texClass,this.prevLevel=t.attributes.get("scriptlevel"))},r.prototype.texSpacing=function(){var t=null!=this.prevClass?this.prevClass:e.TEXCLASS.NONE,r=this.texClass||e.TEXCLASS.ORD;if(t===e.TEXCLASS.NONE||r===e.TEXCLASS.NONE)return"";t===e.TEXCLASS.VCENTER&&(t=e.TEXCLASS.ORD),r===e.TEXCLASS.VCENTER&&(r=e.TEXCLASS.ORD);var n=p[t][r];return(this.prevLevel>0||this.attributes.get("scriptlevel")>0)&&n>=0?"":u[Math.abs(n)]},r.prototype.hasSpacingAttributes=function(){return this.isEmbellished&&this.coreMO().hasSpacingAttributes()},r.prototype.setInheritedAttributes=function(t,e,n,o){var i,l;void 0===t&&(t={}),void 0===e&&(e=!1),void 0===n&&(n=0),void 0===o&&(o=!1);var c=this.attributes.getAllDefaults();try{for(var u=a(Object.keys(t)),p=u.next();!p.done;p=u.next()){var h=p.value;if(c.hasOwnProperty(h)||r.alwaysInherit.hasOwnProperty(h)){var d=s(t[h],2),f=d[0],m=d[1];((r.noInherit[f]||{})[this.kind]||{})[h]||this.attributes.setInherited(h,m)}}}catch(t){i={error:t}}finally{try{p&&!p.done&&(l=u.return)&&l.call(u)}finally{if(i)throw i.error}}void 0===this.attributes.getExplicit("displaystyle")&&this.attributes.setInherited("displaystyle",e),void 0===this.attributes.getExplicit("scriptlevel")&&this.attributes.setInherited("scriptlevel",n),o&&this.setProperty("texprimestyle",o);var y=this.arity;if(y>=0&&y!==1/0&&(1===y&&0===this.childNodes.length||1!==y&&this.childNodes.length!==y))if(y=0&&e!==1/0&&(1===e&&0===this.childNodes.length||1!==e&&this.childNodes.length!==e)&&this.mError('Wrong number of children for "'+this.kind+'" node',t,!0),this.verifyChildren(t)}},r.prototype.verifyAttributes=function(t){var e,r;if(t.checkAttributes){var n=this.attributes,o=[];try{for(var i=a(n.getExplicitNames()),s=i.next();!s.done;s=i.next()){var l=s.value;"data-"===l.substr(0,5)||void 0!==n.getDefault(l)||l.match(/^(?:class|style|id|(?:xlink:)?href)$/)||o.push(l)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}o.length&&this.mError("Unknown attributes for "+this.kind+" node: "+o.join(", "),t)}},r.prototype.verifyChildren=function(t){var e,r;try{for(var n=a(this.childNodes),o=n.next();!o.done;o=n.next()){o.value.verifyTree(t)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}},r.prototype.mError=function(t,e,r){if(void 0===r&&(r=!1),this.parent&&this.parent.isKind("merror"))return null;var n=this.factory.create("merror");if(n.attributes.set("data-mjx-message",t),e.fullErrors||r){var o=this.factory.create("mtext"),i=this.factory.create("text");i.setText(e.fullErrors?t:this.kind),o.appendChild(i),n.appendChild(o),this.parent.replaceChild(n,this)}else this.parent.replaceChild(n,this),n.appendChild(this);return n},r.defaults={mathbackground:l.INHERIT,mathcolor:l.INHERIT,mathsize:l.INHERIT,dir:l.INHERIT},r.noInherit={mstyle:{mpadded:{width:!0,height:!0,depth:!0,lspace:!0,voffset:!0},mtable:{width:!0,height:!0,depth:!0,align:!0}},maligngroup:{mrow:{groupalign:!0},mtable:{groupalign:!0}}},r.alwaysInherit={scriptminsize:!0,scriptsizemultiplier:!0},r.verifyDefaults={checkArity:!0,checkAttributes:!1,fullErrors:!1,fixMmultiscripts:!0,fixMtables:!0},r}(c.AbstractNode);e.AbstractMmlNode=h;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"isToken",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.getText=function(){var t,e,r="";try{for(var n=a(this.childNodes),o=n.next();!o.done;o=n.next()){var i=o.value;i instanceof g&&(r+=i.getText())}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return r},e.prototype.setChildInheritedAttributes=function(t,e,r,n){var o,i;try{for(var s=a(this.childNodes),l=s.next();!l.done;l=s.next()){var c=l.value;c instanceof h&&c.setInheritedAttributes(t,e,r,n)}}catch(t){o={error:t}}finally{try{l&&!l.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}},e.prototype.walkTree=function(t,e){var r,n;t(this,e);try{for(var o=a(this.childNodes),i=o.next();!i.done;i=o.next()){var s=i.value;s instanceof h&&s.walkTree(t,e)}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return e},e.defaults=i(i({},h.defaults),{mathvariant:"normal",mathsize:l.INHERIT}),e}(h);e.AbstractMmlTokenNode=d;var f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"isSpacelike",{get:function(){return this.childNodes[0].isSpacelike},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isEmbellished",{get:function(){return this.childNodes[0].isEmbellished},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"arity",{get:function(){return-1},enumerable:!1,configurable:!0}),e.prototype.core=function(){return this.childNodes[0]},e.prototype.coreMO=function(){return this.childNodes[0].coreMO()},e.prototype.setTeXclass=function(t){return t=this.childNodes[0].setTeXclass(t),this.updateTeXclass(this.childNodes[0]),t},e.defaults=h.defaults,e}(h);e.AbstractMmlLayoutNode=f;var m=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return o(r,t),Object.defineProperty(r.prototype,"isEmbellished",{get:function(){return this.childNodes[0].isEmbellished},enumerable:!1,configurable:!0}),r.prototype.core=function(){return this.childNodes[0]},r.prototype.coreMO=function(){return this.childNodes[0].coreMO()},r.prototype.setTeXclass=function(t){var r,n;this.getPrevClass(t),this.texClass=e.TEXCLASS.ORD;var o=this.childNodes[0];o?this.isEmbellished||o.isKind("mi")?(t=o.setTeXclass(t),this.updateTeXclass(this.core())):(o.setTeXclass(null),t=this):t=this;try{for(var i=a(this.childNodes.slice(1)),s=i.next();!s.done;s=i.next()){var l=s.value;l&&l.setTeXclass(null)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return t},r.defaults=h.defaults,r}(h);e.AbstractMmlBaseNode=m;var y=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return o(r,t),Object.defineProperty(r.prototype,"isToken",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isEmbellished",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isSpacelike",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"linebreakContainer",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"hasNewLine",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"arity",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isInferred",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"notParent",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"Parent",{get:function(){return this.parent},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"texClass",{get:function(){return e.TEXCLASS.NONE},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"prevClass",{get:function(){return e.TEXCLASS.NONE},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"prevLevel",{get:function(){return 0},enumerable:!1,configurable:!0}),r.prototype.hasSpacingAttributes=function(){return!1},Object.defineProperty(r.prototype,"attributes",{get:function(){return null},enumerable:!1,configurable:!0}),r.prototype.core=function(){return this},r.prototype.coreMO=function(){return this},r.prototype.coreIndex=function(){return 0},r.prototype.childPosition=function(){return 0},r.prototype.setTeXclass=function(t){return t},r.prototype.texSpacing=function(){return""},r.prototype.setInheritedAttributes=function(t,e,r,n){},r.prototype.inheritAttributesFrom=function(t){},r.prototype.verifyTree=function(t){},r.prototype.mError=function(t,e,r){return void 0===r&&(r=!1),null},r}(c.AbstractEmptyNode);e.AbstractMmlEmptyNode=y;var g=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.text="",e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"text"},enumerable:!1,configurable:!0}),e.prototype.getText=function(){return this.text},e.prototype.setText=function(t){return this.text=t,this},e.prototype.copy=function(){return this.factory.create(this.kind).setText(this.getText())},e.prototype.toString=function(){return this.text},e}(y);e.TextNode=g;var b=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.xml=null,e.adaptor=null,e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"XML"},enumerable:!1,configurable:!0}),e.prototype.getXML=function(){return this.xml},e.prototype.setXML=function(t,e){return void 0===e&&(e=null),this.xml=t,this.adaptor=e,this},e.prototype.getSerializedXML=function(){return this.adaptor.serializeXML(this.xml)},e.prototype.copy=function(){return this.factory.create(this.kind).setXML(this.adaptor.clone(this.xml))},e.prototype.toString=function(){return"XML data"},e}(y);e.XMLNode=b},3948:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;rthis.childNodes.length&&(t=1),this.attributes.set("selection",t)},e.defaults=i(i({},a.AbstractMmlNode.defaults),{actiontype:"toggle",selection:1}),e}(a.AbstractMmlNode);e.MmlMaction=s},142:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMfenced=void 0;var s=r(9007),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.texclass=s.TEXCLASS.INNER,e.separators=[],e.open=null,e.close=null,e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mfenced"},enumerable:!1,configurable:!0}),e.prototype.setTeXclass=function(t){this.getPrevClass(t),this.open&&(t=this.open.setTeXclass(t)),this.childNodes[0]&&(t=this.childNodes[0].setTeXclass(t));for(var e=1,r=this.childNodes.length;e=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMfrac=void 0;var s=r(9007),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mfrac"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"arity",{get:function(){return 2},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"linebreakContainer",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.setTeXclass=function(t){var e,r;this.getPrevClass(t);try{for(var n=a(this.childNodes),o=n.next();!o.done;o=n.next()){o.value.setTeXclass(null)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return this},e.prototype.setChildInheritedAttributes=function(t,e,r,n){(!e||r>0)&&r++,this.childNodes[0].setInheritedAttributes(t,!1,r,n),this.childNodes[1].setInheritedAttributes(t,!1,r,!0)},e.defaults=i(i({},s.AbstractMmlBaseNode.defaults),{linethickness:"medium",numalign:"center",denomalign:"center",bevelled:!1}),e}(s.AbstractMmlBaseNode);e.MmlMfrac=l},3985:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r1&&r.match(e.operatorName)&&"normal"===this.attributes.get("mathvariant")&&void 0===this.getProperty("autoOP")&&void 0===this.getProperty("texClass")&&(this.texClass=a.TEXCLASS.OP,this.setProperty("autoOP",!0)),this},e.defaults=i({},a.AbstractMmlTokenNode.defaults),e.operatorName=/^[a-z][a-z0-9]*$/i,e.singleCharacter=/^[\uD800-\uDBFF]?.[\u0300-\u036F\u1AB0-\u1ABE\u1DC0-\u1DFF\u20D0-\u20EF]*$/,e}(a.AbstractMmlTokenNode);e.MmlMi=s},6405:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},s=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMo=void 0;var l=r(9007),c=r(4082),u=r(505),p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._texClass=null,e.lspace=5/18,e.rspace=5/18,e}return o(e,t),Object.defineProperty(e.prototype,"texClass",{get:function(){if(null===this._texClass){var t=this.getText(),e=a(this.handleExplicitForm(this.getForms()),3),r=e[0],n=e[1],o=e[2],i=this.constructor.OPTABLE,s=i[r][t]||i[n][t]||i[o][t];return s?s[2]:l.TEXCLASS.REL}return this._texClass},set:function(t){this._texClass=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"kind",{get:function(){return"mo"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isEmbellished",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasNewLine",{get:function(){return"newline"===this.attributes.get("linebreak")},enumerable:!1,configurable:!0}),e.prototype.coreParent=function(){for(var t=this,e=this,r=this.factory.getNodeClass("math");e&&e.isEmbellished&&e.coreMO()===this&&!(e instanceof r);)t=e,e=e.parent;return t},e.prototype.coreText=function(t){if(!t)return"";if(t.isEmbellished)return t.coreMO().getText();for(;((t.isKind("mrow")||t.isKind("TeXAtom")&&t.texClass!==l.TEXCLASS.VCENTER||t.isKind("mstyle")||t.isKind("mphantom"))&&1===t.childNodes.length||t.isKind("munderover"))&&t.childNodes[0];)t=t.childNodes[0];return t.isToken?t.getText():""},e.prototype.hasSpacingAttributes=function(){return this.attributes.isSet("lspace")||this.attributes.isSet("rspace")},Object.defineProperty(e.prototype,"isAccent",{get:function(){var t=!1,e=this.coreParent().parent;if(e){var r=e.isKind("mover")?e.childNodes[e.over].coreMO()?"accent":"":e.isKind("munder")?e.childNodes[e.under].coreMO()?"accentunder":"":e.isKind("munderover")?this===e.childNodes[e.over].coreMO()?"accent":this===e.childNodes[e.under].coreMO()?"accentunder":"":"";if(r)t=void 0!==e.attributes.getExplicit(r)?t:this.attributes.get("accent")}return t},enumerable:!1,configurable:!0}),e.prototype.setTeXclass=function(t){var e=this.attributes.getList("form","fence"),r=e.form,n=e.fence;return void 0===this.getProperty("texClass")&&(this.attributes.isSet("lspace")||this.attributes.isSet("rspace"))?null:(n&&this.texClass===l.TEXCLASS.REL&&("prefix"===r&&(this.texClass=l.TEXCLASS.OPEN),"postfix"===r&&(this.texClass=l.TEXCLASS.CLOSE)),this.adjustTeXclass(t))},e.prototype.adjustTeXclass=function(t){var e=this.texClass,r=this.prevClass;if(e===l.TEXCLASS.NONE)return t;if(t?(!t.getProperty("autoOP")||e!==l.TEXCLASS.BIN&&e!==l.TEXCLASS.REL||(r=t.texClass=l.TEXCLASS.ORD),r=this.prevClass=t.texClass||l.TEXCLASS.ORD,this.prevLevel=this.attributes.getInherited("scriptlevel")):r=this.prevClass=l.TEXCLASS.NONE,e!==l.TEXCLASS.BIN||r!==l.TEXCLASS.NONE&&r!==l.TEXCLASS.BIN&&r!==l.TEXCLASS.OP&&r!==l.TEXCLASS.REL&&r!==l.TEXCLASS.OPEN&&r!==l.TEXCLASS.PUNCT)if(r!==l.TEXCLASS.BIN||e!==l.TEXCLASS.REL&&e!==l.TEXCLASS.CLOSE&&e!==l.TEXCLASS.PUNCT){if(e===l.TEXCLASS.BIN){for(var n=this,o=this.parent;o&&o.parent&&o.isEmbellished&&(1===o.childNodes.length||!o.isKind("mrow")&&o.core()===n);)n=o,o=o.parent;o.childNodes[o.childNodes.length-1]===n&&(this.texClass=l.TEXCLASS.ORD)}}else t.texClass=this.prevClass=l.TEXCLASS.ORD;else this.texClass=l.TEXCLASS.ORD;return this},e.prototype.setInheritedAttributes=function(e,r,n,o){void 0===e&&(e={}),void 0===r&&(r=!1),void 0===n&&(n=0),void 0===o&&(o=!1),t.prototype.setInheritedAttributes.call(this,e,r,n,o);var i=this.getText();this.checkOperatorTable(i),this.checkPseudoScripts(i),this.checkPrimes(i),this.checkMathAccent(i)},e.prototype.checkOperatorTable=function(t){var e,r,n=a(this.handleExplicitForm(this.getForms()),3),o=n[0],i=n[1],l=n[2];this.attributes.setInherited("form",o);var u=this.constructor.OPTABLE,p=u[o][t]||u[i][t]||u[l][t];if(p){void 0===this.getProperty("texClass")&&(this.texClass=p[2]);try{for(var h=s(Object.keys(p[3]||{})),d=h.next();!d.done;d=h.next()){var f=d.value;this.attributes.setInherited(f,p[3][f])}}catch(t){e={error:t}}finally{try{d&&!d.done&&(r=h.return)&&r.call(h)}finally{if(e)throw e.error}}this.lspace=(p[0]+1)/18,this.rspace=(p[1]+1)/18}else{var m=(0,c.getRange)(t);if(m){void 0===this.getProperty("texClass")&&(this.texClass=m[2]);var y=this.constructor.MMLSPACING[m[2]];this.lspace=(y[0]+1)/18,this.rspace=(y[1]+1)/18}}},e.prototype.getForms=function(){for(var t=this,e=this.parent,r=this.Parent;r&&r.isEmbellished;)t=e,e=r.parent,r=r.Parent;if(e&&e.isKind("mrow")&&1!==e.nonSpaceLength()){if(e.firstNonSpace()===t)return["prefix","infix","postfix"];if(e.lastNonSpace()===t)return["postfix","infix","prefix"]}return["infix","prefix","postfix"]},e.prototype.handleExplicitForm=function(t){if(this.attributes.isSet("form")){var e=this.attributes.get("form");t=[e].concat(t.filter((function(t){return t!==e})))}return t},e.prototype.checkPseudoScripts=function(t){var e=this.constructor.pseudoScripts;if(t.match(e)){var r=this.coreParent().Parent,n=!r||!(r.isKind("msubsup")&&!r.isKind("msub"));this.setProperty("pseudoscript",n),n&&(this.attributes.setInherited("lspace",0),this.attributes.setInherited("rspace",0))}},e.prototype.checkPrimes=function(t){var e=this.constructor.primes;if(t.match(e)){var r=this.constructor.remapPrimes,n=(0,u.unicodeString)((0,u.unicodeChars)(t).map((function(t){return r[t]})));this.setProperty("primes",n)}},e.prototype.checkMathAccent=function(t){var e=this.Parent;if(void 0===this.getProperty("mathaccent")&&e&&e.isKind("munderover")){var r=e.childNodes[0];if(!r.isEmbellished||r.coreMO()!==this){var n=this.constructor.mathaccents;t.match(n)&&this.setProperty("mathaccent",!0)}}},e.defaults=i(i({},l.AbstractMmlTokenNode.defaults),{form:"infix",fence:!1,separator:!1,lspace:"thickmathspace",rspace:"thickmathspace",stretchy:!1,symmetric:!1,maxsize:"infinity",minsize:"0em",largeop:!1,movablelimits:!1,accent:!1,linebreak:"auto",lineleading:"1ex",linebreakstyle:"before",indentalign:"auto",indentshift:"0",indenttarget:"",indentalignfirst:"indentalign",indentshiftfirst:"indentshift",indentalignlast:"indentalign",indentshiftlast:"indentshift"}),e.MMLSPACING=c.MMLSPACING,e.OPTABLE=c.OPTABLE,e.pseudoScripts=new RegExp(["^[\"'*`","\xaa","\xb0","\xb2-\xb4","\xb9","\xba","\u2018-\u201f","\u2032-\u2037\u2057","\u2070\u2071","\u2074-\u207f","\u2080-\u208e","]+$"].join("")),e.primes=new RegExp(["^[\"'`","\u2018-\u201f","]+$"].join("")),e.remapPrimes={34:8243,39:8242,96:8245,8216:8245,8217:8242,8218:8242,8219:8245,8220:8246,8221:8243,8222:8243,8223:8246},e.mathaccents=new RegExp(["^[","\xb4\u0301\u02ca","`\u0300\u02cb","\xa8\u0308","~\u0303\u02dc","\xaf\u0304\u02c9","\u02d8\u0306","\u02c7\u030c","^\u0302\u02c6","\u2192\u20d7","\u02d9\u0307","\u02da\u030a","\u20db","\u20dc","]$"].join("")),e}(l.AbstractMmlTokenNode);e.MmlMo=p},7238:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlInferredMrow=e.MmlMrow=void 0;var s=r(9007),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._core=null,e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mrow"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isSpacelike",{get:function(){var t,e;try{for(var r=a(this.childNodes),n=r.next();!n.done;n=r.next()){if(!n.value.isSpacelike)return!1}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isEmbellished",{get:function(){var t,e,r=!1,n=0;try{for(var o=a(this.childNodes),i=o.next();!i.done;i=o.next()){var s=i.value;if(s)if(s.isEmbellished){if(r)return!1;r=!0,this._core=n}else if(!s.isSpacelike)return!1;n++}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}return r},enumerable:!1,configurable:!0}),e.prototype.core=function(){return this.isEmbellished&&null!=this._core?this.childNodes[this._core]:this},e.prototype.coreMO=function(){return this.isEmbellished&&null!=this._core?this.childNodes[this._core].coreMO():this},e.prototype.nonSpaceLength=function(){var t,e,r=0;try{for(var n=a(this.childNodes),o=n.next();!o.done;o=n.next()){var i=o.value;i&&!i.isSpacelike&&r++}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return r},e.prototype.firstNonSpace=function(){var t,e;try{for(var r=a(this.childNodes),n=r.next();!n.done;n=r.next()){var o=n.value;if(o&&!o.isSpacelike)return o}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}return null},e.prototype.lastNonSpace=function(){for(var t=this.childNodes.length;--t>=0;){var e=this.childNodes[t];if(e&&!e.isSpacelike)return e}return null},e.prototype.setTeXclass=function(t){var e,r,n,o;if(null!=this.getProperty("open")||null!=this.getProperty("close")){this.getPrevClass(t),t=null;try{for(var i=a(this.childNodes),l=i.next();!l.done;l=i.next()){t=l.value.setTeXclass(t)}}catch(t){e={error:t}}finally{try{l&&!l.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}null==this.texClass&&(this.texClass=s.TEXCLASS.INNER)}else{try{for(var c=a(this.childNodes),u=c.next();!u.done;u=c.next()){t=u.value.setTeXclass(t)}}catch(t){n={error:t}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}this.childNodes[0]&&this.updateTeXclass(this.childNodes[0])}return t},e.defaults=i({},s.AbstractMmlNode.defaults),e}(s.AbstractMmlNode);e.MmlMrow=l;var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"inferredMrow"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isInferred",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"notParent",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.toString=function(){return"["+this.childNodes.join(",")+"]"},e.defaults=l.defaults,e}(l);e.MmlInferredMrow=c},7265:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMtable=void 0;var s=r(9007),l=r(505),c=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.properties={useHeight:!0},e.texclass=s.TEXCLASS.ORD,e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mtable"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"linebreakContainer",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.setInheritedAttributes=function(e,r,n,o){var i,l;try{for(var c=a(s.indentAttributes),u=c.next();!u.done;u=c.next()){var p=u.value;e[p]&&this.attributes.setInherited(p,e[p][1]),void 0!==this.attributes.getExplicit(p)&&delete this.attributes.getAllAttributes()[p]}}catch(t){i={error:t}}finally{try{u&&!u.done&&(l=c.return)&&l.call(c)}finally{if(i)throw i.error}}t.prototype.setInheritedAttributes.call(this,e,r,n,o)},e.prototype.setChildInheritedAttributes=function(t,e,r,n){var o,i,s,c;try{for(var u=a(this.childNodes),p=u.next();!p.done;p=u.next()){(y=p.value).isKind("mtr")||this.replaceChild(this.factory.create("mtr"),y).appendChild(y)}}catch(t){o={error:t}}finally{try{p&&!p.done&&(i=u.return)&&i.call(u)}finally{if(o)throw o.error}}r=this.getProperty("scriptlevel")||r,e=!(!this.attributes.getExplicit("displaystyle")&&!this.attributes.getDefault("displaystyle")),t=this.addInheritedAttributes(t,{columnalign:this.attributes.get("columnalign"),rowalign:"center"});var h=this.attributes.getExplicit("data-cramped"),d=(0,l.split)(this.attributes.get("rowalign"));try{for(var f=a(this.childNodes),m=f.next();!m.done;m=f.next()){var y=m.value;t.rowalign[1]=d.shift()||t.rowalign[1],y.setInheritedAttributes(t,e,r,!!h)}}catch(t){s={error:t}}finally{try{m&&!m.done&&(c=f.return)&&c.call(f)}finally{if(s)throw s.error}}},e.prototype.verifyChildren=function(e){for(var r=null,n=this.factory,o=0;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MmlMlabeledtr=e.MmlMtr=void 0;var s=r(9007),l=r(91),c=r(505),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mtr"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"linebreakContainer",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.setChildInheritedAttributes=function(t,e,r,n){var o,i,s,l;try{for(var u=a(this.childNodes),p=u.next();!p.done;p=u.next()){(m=p.value).isKind("mtd")||this.replaceChild(this.factory.create("mtd"),m).appendChild(m)}}catch(t){o={error:t}}finally{try{p&&!p.done&&(i=u.return)&&i.call(u)}finally{if(o)throw o.error}}var h=(0,c.split)(this.attributes.get("columnalign"));1===this.arity&&h.unshift(this.parent.attributes.get("side")),t=this.addInheritedAttributes(t,{rowalign:this.attributes.get("rowalign"),columnalign:"center"});try{for(var d=a(this.childNodes),f=d.next();!f.done;f=d.next()){var m=f.value;t.columnalign[1]=h.shift()||t.columnalign[1],m.setInheritedAttributes(t,e,r,n)}}catch(t){s={error:t}}finally{try{f&&!f.done&&(l=d.return)&&l.call(d)}finally{if(s)throw s.error}}},e.prototype.verifyChildren=function(e){var r,n;if(!this.parent||this.parent.isKind("mtable")){try{for(var o=a(this.childNodes),i=o.next();!i.done;i=o.next()){var s=i.value;if(!s.isKind("mtd"))this.replaceChild(this.factory.create("mtd"),s).appendChild(s),e.fixMtables||s.mError("Children of "+this.kind+" must be mtd",e)}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}t.prototype.verifyChildren.call(this,e)}else this.mError(this.kind+" can only be a child of an mtable",e,!0)},e.prototype.setTeXclass=function(t){var e,r;this.getPrevClass(t);try{for(var n=a(this.childNodes),o=n.next();!o.done;o=n.next()){o.value.setTeXclass(null)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return this},e.defaults=i(i({},s.AbstractMmlNode.defaults),{rowalign:l.INHERIT,columnalign:l.INHERIT,groupalign:l.INHERIT}),e}(s.AbstractMmlNode);e.MmlMtr=u;var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"mlabeledtr"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"arity",{get:function(){return 1},enumerable:!1,configurable:!0}),e}(u);e.MmlMlabeledtr=p},5184:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.OPTABLE=e.MMLSPACING=e.getRange=e.RANGES=e.MO=e.OPDEF=void 0;var o=r(9007);function i(t,e,r,n){return void 0===r&&(r=o.TEXCLASS.BIN),void 0===n&&(n=null),[t,e,r,n]}e.OPDEF=i,e.MO={ORD:i(0,0,o.TEXCLASS.ORD),ORD11:i(1,1,o.TEXCLASS.ORD),ORD21:i(2,1,o.TEXCLASS.ORD),ORD02:i(0,2,o.TEXCLASS.ORD),ORD55:i(5,5,o.TEXCLASS.ORD),NONE:i(0,0,o.TEXCLASS.NONE),OP:i(1,2,o.TEXCLASS.OP,{largeop:!0,movablelimits:!0,symmetric:!0}),OPFIXED:i(1,2,o.TEXCLASS.OP,{largeop:!0,movablelimits:!0}),INTEGRAL:i(0,1,o.TEXCLASS.OP,{largeop:!0,symmetric:!0}),INTEGRAL2:i(1,2,o.TEXCLASS.OP,{largeop:!0,symmetric:!0}),BIN3:i(3,3,o.TEXCLASS.BIN),BIN4:i(4,4,o.TEXCLASS.BIN),BIN01:i(0,1,o.TEXCLASS.BIN),BIN5:i(5,5,o.TEXCLASS.BIN),TALLBIN:i(4,4,o.TEXCLASS.BIN,{stretchy:!0}),BINOP:i(4,4,o.TEXCLASS.BIN,{largeop:!0,movablelimits:!0}),REL:i(5,5,o.TEXCLASS.REL),REL1:i(1,1,o.TEXCLASS.REL,{stretchy:!0}),REL4:i(4,4,o.TEXCLASS.REL),RELSTRETCH:i(5,5,o.TEXCLASS.REL,{stretchy:!0}),RELACCENT:i(5,5,o.TEXCLASS.REL,{accent:!0}),WIDEREL:i(5,5,o.TEXCLASS.REL,{accent:!0,stretchy:!0}),OPEN:i(0,0,o.TEXCLASS.OPEN,{fence:!0,stretchy:!0,symmetric:!0}),CLOSE:i(0,0,o.TEXCLASS.CLOSE,{fence:!0,stretchy:!0,symmetric:!0}),INNER:i(0,0,o.TEXCLASS.INNER),PUNCT:i(0,3,o.TEXCLASS.PUNCT),ACCENT:i(0,0,o.TEXCLASS.ORD,{accent:!0}),WIDEACCENT:i(0,0,o.TEXCLASS.ORD,{accent:!0,stretchy:!0})},e.RANGES=[[32,127,o.TEXCLASS.REL,"mo"],[160,191,o.TEXCLASS.ORD,"mo"],[192,591,o.TEXCLASS.ORD,"mi"],[688,879,o.TEXCLASS.ORD,"mo"],[880,6688,o.TEXCLASS.ORD,"mi"],[6832,6911,o.TEXCLASS.ORD,"mo"],[6912,7615,o.TEXCLASS.ORD,"mi"],[7616,7679,o.TEXCLASS.ORD,"mo"],[7680,8191,o.TEXCLASS.ORD,"mi"],[8192,8303,o.TEXCLASS.ORD,"mo"],[8304,8351,o.TEXCLASS.ORD,"mo"],[8448,8527,o.TEXCLASS.ORD,"mi"],[8528,8591,o.TEXCLASS.ORD,"mn"],[8592,8703,o.TEXCLASS.REL,"mo"],[8704,8959,o.TEXCLASS.BIN,"mo"],[8960,9215,o.TEXCLASS.ORD,"mo"],[9312,9471,o.TEXCLASS.ORD,"mn"],[9472,10223,o.TEXCLASS.ORD,"mo"],[10224,10239,o.TEXCLASS.REL,"mo"],[10240,10495,o.TEXCLASS.ORD,"mtext"],[10496,10623,o.TEXCLASS.REL,"mo"],[10624,10751,o.TEXCLASS.ORD,"mo"],[10752,11007,o.TEXCLASS.BIN,"mo"],[11008,11055,o.TEXCLASS.ORD,"mo"],[11056,11087,o.TEXCLASS.REL,"mo"],[11088,11263,o.TEXCLASS.ORD,"mo"],[11264,11744,o.TEXCLASS.ORD,"mi"],[11776,11903,o.TEXCLASS.ORD,"mo"],[11904,12255,o.TEXCLASS.ORD,"mi","normal"],[12272,12351,o.TEXCLASS.ORD,"mo"],[12352,42143,o.TEXCLASS.ORD,"mi","normal"],[42192,43055,o.TEXCLASS.ORD,"mi"],[43056,43071,o.TEXCLASS.ORD,"mn"],[43072,55295,o.TEXCLASS.ORD,"mi"],[63744,64255,o.TEXCLASS.ORD,"mi","normal"],[64256,65023,o.TEXCLASS.ORD,"mi"],[65024,65135,o.TEXCLASS.ORD,"mo"],[65136,65791,o.TEXCLASS.ORD,"mi"],[65792,65935,o.TEXCLASS.ORD,"mn"],[65936,74751,o.TEXCLASS.ORD,"mi","normal"],[74752,74879,o.TEXCLASS.ORD,"mn"],[74880,113823,o.TEXCLASS.ORD,"mi","normal"],[113824,119391,o.TEXCLASS.ORD,"mo"],[119648,119679,o.TEXCLASS.ORD,"mn"],[119808,120781,o.TEXCLASS.ORD,"mi"],[120782,120831,o.TEXCLASS.ORD,"mn"],[122624,129023,o.TEXCLASS.ORD,"mo"],[129024,129279,o.TEXCLASS.REL,"mo"],[129280,129535,o.TEXCLASS.ORD,"mo"],[131072,195103,o.TEXCLASS.ORD,"mi","normnal"]],e.getRange=function(t){var r,o,i=t.codePointAt(0);try{for(var a=n(e.RANGES),s=a.next();!s.done;s=a.next()){var l=s.value;if(i<=l[1]){if(i>=l[0])return l;break}}}catch(t){r={error:t}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(r)throw r.error}}return null},e.MMLSPACING=[[0,0],[1,2],[3,3],[4,4],[0,0],[0,0],[0,3]],e.OPTABLE={prefix:{"(":e.MO.OPEN,"+":e.MO.BIN01,"-":e.MO.BIN01,"[":e.MO.OPEN,"{":e.MO.OPEN,"|":e.MO.OPEN,"||":[0,0,o.TEXCLASS.BIN,{fence:!0,stretchy:!0,symmetric:!0}],"|||":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}],"\xac":e.MO.ORD21,"\xb1":e.MO.BIN01,"\u2016":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0}],"\u2018":[0,0,o.TEXCLASS.OPEN,{fence:!0}],"\u201c":[0,0,o.TEXCLASS.OPEN,{fence:!0}],"\u2145":e.MO.ORD21,"\u2146":i(2,0,o.TEXCLASS.ORD),"\u2200":e.MO.ORD21,"\u2202":e.MO.ORD21,"\u2203":e.MO.ORD21,"\u2204":e.MO.ORD21,"\u2207":e.MO.ORD21,"\u220f":e.MO.OP,"\u2210":e.MO.OP,"\u2211":e.MO.OP,"\u2212":e.MO.BIN01,"\u2213":e.MO.BIN01,"\u221a":[1,1,o.TEXCLASS.ORD,{stretchy:!0}],"\u221b":e.MO.ORD11,"\u221c":e.MO.ORD11,"\u2220":e.MO.ORD,"\u2221":e.MO.ORD,"\u2222":e.MO.ORD,"\u222b":e.MO.INTEGRAL,"\u222c":e.MO.INTEGRAL,"\u222d":e.MO.INTEGRAL,"\u222e":e.MO.INTEGRAL,"\u222f":e.MO.INTEGRAL,"\u2230":e.MO.INTEGRAL,"\u2231":e.MO.INTEGRAL,"\u2232":e.MO.INTEGRAL,"\u2233":e.MO.INTEGRAL,"\u22c0":e.MO.OP,"\u22c1":e.MO.OP,"\u22c2":e.MO.OP,"\u22c3":e.MO.OP,"\u2308":e.MO.OPEN,"\u230a":e.MO.OPEN,"\u2329":e.MO.OPEN,"\u2772":e.MO.OPEN,"\u27e6":e.MO.OPEN,"\u27e8":e.MO.OPEN,"\u27ea":e.MO.OPEN,"\u27ec":e.MO.OPEN,"\u27ee":e.MO.OPEN,"\u2980":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0}],"\u2983":e.MO.OPEN,"\u2985":e.MO.OPEN,"\u2987":e.MO.OPEN,"\u2989":e.MO.OPEN,"\u298b":e.MO.OPEN,"\u298d":e.MO.OPEN,"\u298f":e.MO.OPEN,"\u2991":e.MO.OPEN,"\u2993":e.MO.OPEN,"\u2995":e.MO.OPEN,"\u2997":e.MO.OPEN,"\u29fc":e.MO.OPEN,"\u2a00":e.MO.OP,"\u2a01":e.MO.OP,"\u2a02":e.MO.OP,"\u2a03":e.MO.OP,"\u2a04":e.MO.OP,"\u2a05":e.MO.OP,"\u2a06":e.MO.OP,"\u2a07":e.MO.OP,"\u2a08":e.MO.OP,"\u2a09":e.MO.OP,"\u2a0a":e.MO.OP,"\u2a0b":e.MO.INTEGRAL2,"\u2a0c":e.MO.INTEGRAL,"\u2a0d":e.MO.INTEGRAL2,"\u2a0e":e.MO.INTEGRAL2,"\u2a0f":e.MO.INTEGRAL2,"\u2a10":e.MO.OP,"\u2a11":e.MO.OP,"\u2a12":e.MO.OP,"\u2a13":e.MO.OP,"\u2a14":e.MO.OP,"\u2a15":e.MO.INTEGRAL2,"\u2a16":e.MO.INTEGRAL2,"\u2a17":e.MO.INTEGRAL2,"\u2a18":e.MO.INTEGRAL2,"\u2a19":e.MO.INTEGRAL2,"\u2a1a":e.MO.INTEGRAL2,"\u2a1b":e.MO.INTEGRAL2,"\u2a1c":e.MO.INTEGRAL2,"\u2afc":e.MO.OP,"\u2aff":e.MO.OP},postfix:{"!!":i(1,0),"!":[1,0,o.TEXCLASS.CLOSE,null],'"':e.MO.ACCENT,"&":e.MO.ORD,")":e.MO.CLOSE,"++":i(0,0),"--":i(0,0),"..":i(0,0),"...":e.MO.ORD,"'":e.MO.ACCENT,"]":e.MO.CLOSE,"^":e.MO.WIDEACCENT,_:e.MO.WIDEACCENT,"`":e.MO.ACCENT,"|":e.MO.CLOSE,"}":e.MO.CLOSE,"~":e.MO.WIDEACCENT,"||":[0,0,o.TEXCLASS.BIN,{fence:!0,stretchy:!0,symmetric:!0}],"|||":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}],"\xa8":e.MO.ACCENT,"\xaa":e.MO.ACCENT,"\xaf":e.MO.WIDEACCENT,"\xb0":e.MO.ORD,"\xb2":e.MO.ACCENT,"\xb3":e.MO.ACCENT,"\xb4":e.MO.ACCENT,"\xb8":e.MO.ACCENT,"\xb9":e.MO.ACCENT,"\xba":e.MO.ACCENT,"\u02c6":e.MO.WIDEACCENT,"\u02c7":e.MO.WIDEACCENT,"\u02c9":e.MO.WIDEACCENT,"\u02ca":e.MO.ACCENT,"\u02cb":e.MO.ACCENT,"\u02cd":e.MO.WIDEACCENT,"\u02d8":e.MO.ACCENT,"\u02d9":e.MO.ACCENT,"\u02da":e.MO.ACCENT,"\u02dc":e.MO.WIDEACCENT,"\u02dd":e.MO.ACCENT,"\u02f7":e.MO.WIDEACCENT,"\u0302":e.MO.WIDEACCENT,"\u0311":e.MO.ACCENT,"\u03f6":e.MO.REL,"\u2016":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0}],"\u2019":[0,0,o.TEXCLASS.CLOSE,{fence:!0}],"\u201a":e.MO.ACCENT,"\u201b":e.MO.ACCENT,"\u201d":[0,0,o.TEXCLASS.CLOSE,{fence:!0}],"\u201e":e.MO.ACCENT,"\u201f":e.MO.ACCENT,"\u2032":e.MO.ORD,"\u2033":e.MO.ACCENT,"\u2034":e.MO.ACCENT,"\u2035":e.MO.ACCENT,"\u2036":e.MO.ACCENT,"\u2037":e.MO.ACCENT,"\u203e":e.MO.WIDEACCENT,"\u2057":e.MO.ACCENT,"\u20db":e.MO.ACCENT,"\u20dc":e.MO.ACCENT,"\u2309":e.MO.CLOSE,"\u230b":e.MO.CLOSE,"\u232a":e.MO.CLOSE,"\u23b4":e.MO.WIDEACCENT,"\u23b5":e.MO.WIDEACCENT,"\u23dc":e.MO.WIDEACCENT,"\u23dd":e.MO.WIDEACCENT,"\u23de":e.MO.WIDEACCENT,"\u23df":e.MO.WIDEACCENT,"\u23e0":e.MO.WIDEACCENT,"\u23e1":e.MO.WIDEACCENT,"\u25a0":e.MO.BIN3,"\u25a1":e.MO.BIN3,"\u25aa":e.MO.BIN3,"\u25ab":e.MO.BIN3,"\u25ad":e.MO.BIN3,"\u25ae":e.MO.BIN3,"\u25af":e.MO.BIN3,"\u25b0":e.MO.BIN3,"\u25b1":e.MO.BIN3,"\u25b2":e.MO.BIN4,"\u25b4":e.MO.BIN4,"\u25b6":e.MO.BIN4,"\u25b7":e.MO.BIN4,"\u25b8":e.MO.BIN4,"\u25bc":e.MO.BIN4,"\u25be":e.MO.BIN4,"\u25c0":e.MO.BIN4,"\u25c1":e.MO.BIN4,"\u25c2":e.MO.BIN4,"\u25c4":e.MO.BIN4,"\u25c5":e.MO.BIN4,"\u25c6":e.MO.BIN4,"\u25c7":e.MO.BIN4,"\u25c8":e.MO.BIN4,"\u25c9":e.MO.BIN4,"\u25cc":e.MO.BIN4,"\u25cd":e.MO.BIN4,"\u25ce":e.MO.BIN4,"\u25cf":e.MO.BIN4,"\u25d6":e.MO.BIN4,"\u25d7":e.MO.BIN4,"\u25e6":e.MO.BIN4,"\u266d":e.MO.ORD02,"\u266e":e.MO.ORD02,"\u266f":e.MO.ORD02,"\u2773":e.MO.CLOSE,"\u27e7":e.MO.CLOSE,"\u27e9":e.MO.CLOSE,"\u27eb":e.MO.CLOSE,"\u27ed":e.MO.CLOSE,"\u27ef":e.MO.CLOSE,"\u2980":[0,0,o.TEXCLASS.ORD,{fence:!0,stretchy:!0}],"\u2984":e.MO.CLOSE,"\u2986":e.MO.CLOSE,"\u2988":e.MO.CLOSE,"\u298a":e.MO.CLOSE,"\u298c":e.MO.CLOSE,"\u298e":e.MO.CLOSE,"\u2990":e.MO.CLOSE,"\u2992":e.MO.CLOSE,"\u2994":e.MO.CLOSE,"\u2996":e.MO.CLOSE,"\u2998":e.MO.CLOSE,"\u29fd":e.MO.CLOSE},infix:{"!=":e.MO.BIN4,"#":e.MO.ORD,$:e.MO.ORD,"%":[3,3,o.TEXCLASS.ORD,null],"&&":e.MO.BIN4,"":e.MO.ORD,"*":e.MO.BIN3,"**":i(1,1),"*=":e.MO.BIN4,"+":e.MO.BIN4,"+=":e.MO.BIN4,",":[0,3,o.TEXCLASS.PUNCT,{linebreakstyle:"after",separator:!0}],"-":e.MO.BIN4,"-=":e.MO.BIN4,"->":e.MO.BIN5,".":[0,3,o.TEXCLASS.PUNCT,{separator:!0}],"/":e.MO.ORD11,"//":i(1,1),"/=":e.MO.BIN4,":":[1,2,o.TEXCLASS.REL,null],":=":e.MO.BIN4,";":[0,3,o.TEXCLASS.PUNCT,{linebreakstyle:"after",separator:!0}],"<":e.MO.REL,"<=":e.MO.BIN5,"<>":i(1,1),"=":e.MO.REL,"==":e.MO.BIN4,">":e.MO.REL,">=":e.MO.BIN5,"?":[1,1,o.TEXCLASS.CLOSE,null],"@":e.MO.ORD11,"\\":e.MO.ORD,"^":e.MO.ORD11,_:e.MO.ORD11,"|":[2,2,o.TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}],"||":[2,2,o.TEXCLASS.BIN,{fence:!0,stretchy:!0,symmetric:!0}],"|||":[2,2,o.TEXCLASS.ORD,{fence:!0,stretchy:!0,symmetric:!0}],"\xb1":e.MO.BIN4,"\xb7":e.MO.BIN4,"\xd7":e.MO.BIN4,"\xf7":e.MO.BIN4,"\u02b9":e.MO.ORD,"\u0300":e.MO.ACCENT,"\u0301":e.MO.ACCENT,"\u0303":e.MO.WIDEACCENT,"\u0304":e.MO.ACCENT,"\u0306":e.MO.ACCENT,"\u0307":e.MO.ACCENT,"\u0308":e.MO.ACCENT,"\u030c":e.MO.ACCENT,"\u0332":e.MO.WIDEACCENT,"\u0338":e.MO.REL4,"\u2015":[0,0,o.TEXCLASS.ORD,{stretchy:!0}],"\u2017":[0,0,o.TEXCLASS.ORD,{stretchy:!0}],"\u2020":e.MO.BIN3,"\u2021":e.MO.BIN3,"\u2022":e.MO.BIN4,"\u2026":e.MO.INNER,"\u2043":e.MO.BIN4,"\u2044":e.MO.TALLBIN,"\u2061":e.MO.NONE,"\u2062":e.MO.NONE,"\u2063":[0,0,o.TEXCLASS.NONE,{linebreakstyle:"after",separator:!0}],"\u2064":e.MO.NONE,"\u20d7":e.MO.ACCENT,"\u2111":e.MO.ORD,"\u2113":e.MO.ORD,"\u2118":e.MO.ORD,"\u211c":e.MO.ORD,"\u2190":e.MO.WIDEREL,"\u2191":e.MO.RELSTRETCH,"\u2192":e.MO.WIDEREL,"\u2193":e.MO.RELSTRETCH,"\u2194":e.MO.WIDEREL,"\u2195":e.MO.RELSTRETCH,"\u2196":e.MO.RELSTRETCH,"\u2197":e.MO.RELSTRETCH,"\u2198":e.MO.RELSTRETCH,"\u2199":e.MO.RELSTRETCH,"\u219a":e.MO.RELACCENT,"\u219b":e.MO.RELACCENT,"\u219c":e.MO.WIDEREL,"\u219d":e.MO.WIDEREL,"\u219e":e.MO.WIDEREL,"\u219f":e.MO.WIDEREL,"\u21a0":e.MO.WIDEREL,"\u21a1":e.MO.RELSTRETCH,"\u21a2":e.MO.WIDEREL,"\u21a3":e.MO.WIDEREL,"\u21a4":e.MO.WIDEREL,"\u21a5":e.MO.RELSTRETCH,"\u21a6":e.MO.WIDEREL,"\u21a7":e.MO.RELSTRETCH,"\u21a8":e.MO.RELSTRETCH,"\u21a9":e.MO.WIDEREL,"\u21aa":e.MO.WIDEREL,"\u21ab":e.MO.WIDEREL,"\u21ac":e.MO.WIDEREL,"\u21ad":e.MO.WIDEREL,"\u21ae":e.MO.RELACCENT,"\u21af":e.MO.RELSTRETCH,"\u21b0":e.MO.RELSTRETCH,"\u21b1":e.MO.RELSTRETCH,"\u21b2":e.MO.RELSTRETCH,"\u21b3":e.MO.RELSTRETCH,"\u21b4":e.MO.RELSTRETCH,"\u21b5":e.MO.RELSTRETCH,"\u21b6":e.MO.RELACCENT,"\u21b7":e.MO.RELACCENT,"\u21b8":e.MO.REL,"\u21b9":e.MO.WIDEREL,"\u21ba":e.MO.REL,"\u21bb":e.MO.REL,"\u21bc":e.MO.WIDEREL,"\u21bd":e.MO.WIDEREL,"\u21be":e.MO.RELSTRETCH,"\u21bf":e.MO.RELSTRETCH,"\u21c0":e.MO.WIDEREL,"\u21c1":e.MO.WIDEREL,"\u21c2":e.MO.RELSTRETCH,"\u21c3":e.MO.RELSTRETCH,"\u21c4":e.MO.WIDEREL,"\u21c5":e.MO.RELSTRETCH,"\u21c6":e.MO.WIDEREL,"\u21c7":e.MO.WIDEREL,"\u21c8":e.MO.RELSTRETCH,"\u21c9":e.MO.WIDEREL,"\u21ca":e.MO.RELSTRETCH,"\u21cb":e.MO.WIDEREL,"\u21cc":e.MO.WIDEREL,"\u21cd":e.MO.RELACCENT,"\u21ce":e.MO.RELACCENT,"\u21cf":e.MO.RELACCENT,"\u21d0":e.MO.WIDEREL,"\u21d1":e.MO.RELSTRETCH,"\u21d2":e.MO.WIDEREL,"\u21d3":e.MO.RELSTRETCH,"\u21d4":e.MO.WIDEREL,"\u21d5":e.MO.RELSTRETCH,"\u21d6":e.MO.RELSTRETCH,"\u21d7":e.MO.RELSTRETCH,"\u21d8":e.MO.RELSTRETCH,"\u21d9":e.MO.RELSTRETCH,"\u21da":e.MO.WIDEREL,"\u21db":e.MO.WIDEREL,"\u21dc":e.MO.WIDEREL,"\u21dd":e.MO.WIDEREL,"\u21de":e.MO.REL,"\u21df":e.MO.REL,"\u21e0":e.MO.WIDEREL,"\u21e1":e.MO.RELSTRETCH,"\u21e2":e.MO.WIDEREL,"\u21e3":e.MO.RELSTRETCH,"\u21e4":e.MO.WIDEREL,"\u21e5":e.MO.WIDEREL,"\u21e6":e.MO.WIDEREL,"\u21e7":e.MO.RELSTRETCH,"\u21e8":e.MO.WIDEREL,"\u21e9":e.MO.RELSTRETCH,"\u21ea":e.MO.RELSTRETCH,"\u21eb":e.MO.RELSTRETCH,"\u21ec":e.MO.RELSTRETCH,"\u21ed":e.MO.RELSTRETCH,"\u21ee":e.MO.RELSTRETCH,"\u21ef":e.MO.RELSTRETCH,"\u21f0":e.MO.WIDEREL,"\u21f1":e.MO.REL,"\u21f2":e.MO.REL,"\u21f3":e.MO.RELSTRETCH,"\u21f4":e.MO.RELACCENT,"\u21f5":e.MO.RELSTRETCH,"\u21f6":e.MO.WIDEREL,"\u21f7":e.MO.RELACCENT,"\u21f8":e.MO.RELACCENT,"\u21f9":e.MO.RELACCENT,"\u21fa":e.MO.RELACCENT,"\u21fb":e.MO.RELACCENT,"\u21fc":e.MO.RELACCENT,"\u21fd":e.MO.WIDEREL,"\u21fe":e.MO.WIDEREL,"\u21ff":e.MO.WIDEREL,"\u2201":i(1,2,o.TEXCLASS.ORD),"\u2205":e.MO.ORD,"\u2206":e.MO.BIN3,"\u2208":e.MO.REL,"\u2209":e.MO.REL,"\u220a":e.MO.REL,"\u220b":e.MO.REL,"\u220c":e.MO.REL,"\u220d":e.MO.REL,"\u220e":e.MO.BIN3,"\u2212":e.MO.BIN4,"\u2213":e.MO.BIN4,"\u2214":e.MO.BIN4,"\u2215":e.MO.TALLBIN,"\u2216":e.MO.BIN4,"\u2217":e.MO.BIN4,"\u2218":e.MO.BIN4,"\u2219":e.MO.BIN4,"\u221d":e.MO.REL,"\u221e":e.MO.ORD,"\u221f":e.MO.REL,"\u2223":e.MO.REL,"\u2224":e.MO.REL,"\u2225":e.MO.REL,"\u2226":e.MO.REL,"\u2227":e.MO.BIN4,"\u2228":e.MO.BIN4,"\u2229":e.MO.BIN4,"\u222a":e.MO.BIN4,"\u2234":e.MO.REL,"\u2235":e.MO.REL,"\u2236":e.MO.REL,"\u2237":e.MO.REL,"\u2238":e.MO.BIN4,"\u2239":e.MO.REL,"\u223a":e.MO.BIN4,"\u223b":e.MO.REL,"\u223c":e.MO.REL,"\u223d":e.MO.REL,"\u223d\u0331":e.MO.BIN3,"\u223e":e.MO.REL,"\u223f":e.MO.BIN3,"\u2240":e.MO.BIN4,"\u2241":e.MO.REL,"\u2242":e.MO.REL,"\u2242\u0338":e.MO.REL,"\u2243":e.MO.REL,"\u2244":e.MO.REL,"\u2245":e.MO.REL,"\u2246":e.MO.REL,"\u2247":e.MO.REL,"\u2248":e.MO.REL,"\u2249":e.MO.REL,"\u224a":e.MO.REL,"\u224b":e.MO.REL,"\u224c":e.MO.REL,"\u224d":e.MO.REL,"\u224e":e.MO.REL,"\u224e\u0338":e.MO.REL,"\u224f":e.MO.REL,"\u224f\u0338":e.MO.REL,"\u2250":e.MO.REL,"\u2251":e.MO.REL,"\u2252":e.MO.REL,"\u2253":e.MO.REL,"\u2254":e.MO.REL,"\u2255":e.MO.REL,"\u2256":e.MO.REL,"\u2257":e.MO.REL,"\u2258":e.MO.REL,"\u2259":e.MO.REL,"\u225a":e.MO.REL,"\u225b":e.MO.REL,"\u225c":e.MO.REL,"\u225d":e.MO.REL,"\u225e":e.MO.REL,"\u225f":e.MO.REL,"\u2260":e.MO.REL,"\u2261":e.MO.REL,"\u2262":e.MO.REL,"\u2263":e.MO.REL,"\u2264":e.MO.REL,"\u2265":e.MO.REL,"\u2266":e.MO.REL,"\u2266\u0338":e.MO.REL,"\u2267":e.MO.REL,"\u2268":e.MO.REL,"\u2269":e.MO.REL,"\u226a":e.MO.REL,"\u226a\u0338":e.MO.REL,"\u226b":e.MO.REL,"\u226b\u0338":e.MO.REL,"\u226c":e.MO.REL,"\u226d":e.MO.REL,"\u226e":e.MO.REL,"\u226f":e.MO.REL,"\u2270":e.MO.REL,"\u2271":e.MO.REL,"\u2272":e.MO.REL,"\u2273":e.MO.REL,"\u2274":e.MO.REL,"\u2275":e.MO.REL,"\u2276":e.MO.REL,"\u2277":e.MO.REL,"\u2278":e.MO.REL,"\u2279":e.MO.REL,"\u227a":e.MO.REL,"\u227b":e.MO.REL,"\u227c":e.MO.REL,"\u227d":e.MO.REL,"\u227e":e.MO.REL,"\u227f":e.MO.REL,"\u227f\u0338":e.MO.REL,"\u2280":e.MO.REL,"\u2281":e.MO.REL,"\u2282":e.MO.REL,"\u2282\u20d2":e.MO.REL,"\u2283":e.MO.REL,"\u2283\u20d2":e.MO.REL,"\u2284":e.MO.REL,"\u2285":e.MO.REL,"\u2286":e.MO.REL,"\u2287":e.MO.REL,"\u2288":e.MO.REL,"\u2289":e.MO.REL,"\u228a":e.MO.REL,"\u228b":e.MO.REL,"\u228c":e.MO.BIN4,"\u228d":e.MO.BIN4,"\u228e":e.MO.BIN4,"\u228f":e.MO.REL,"\u228f\u0338":e.MO.REL,"\u2290":e.MO.REL,"\u2290\u0338":e.MO.REL,"\u2291":e.MO.REL,"\u2292":e.MO.REL,"\u2293":e.MO.BIN4,"\u2294":e.MO.BIN4,"\u2295":e.MO.BIN4,"\u2296":e.MO.BIN4,"\u2297":e.MO.BIN4,"\u2298":e.MO.BIN4,"\u2299":e.MO.BIN4,"\u229a":e.MO.BIN4,"\u229b":e.MO.BIN4,"\u229c":e.MO.BIN4,"\u229d":e.MO.BIN4,"\u229e":e.MO.BIN4,"\u229f":e.MO.BIN4,"\u22a0":e.MO.BIN4,"\u22a1":e.MO.BIN4,"\u22a2":e.MO.REL,"\u22a3":e.MO.REL,"\u22a4":e.MO.ORD55,"\u22a5":e.MO.REL,"\u22a6":e.MO.REL,"\u22a7":e.MO.REL,"\u22a8":e.MO.REL,"\u22a9":e.MO.REL,"\u22aa":e.MO.REL,"\u22ab":e.MO.REL,"\u22ac":e.MO.REL,"\u22ad":e.MO.REL,"\u22ae":e.MO.REL,"\u22af":e.MO.REL,"\u22b0":e.MO.REL,"\u22b1":e.MO.REL,"\u22b2":e.MO.REL,"\u22b3":e.MO.REL,"\u22b4":e.MO.REL,"\u22b5":e.MO.REL,"\u22b6":e.MO.REL,"\u22b7":e.MO.REL,"\u22b8":e.MO.REL,"\u22b9":e.MO.REL,"\u22ba":e.MO.BIN4,"\u22bb":e.MO.BIN4,"\u22bc":e.MO.BIN4,"\u22bd":e.MO.BIN4,"\u22be":e.MO.BIN3,"\u22bf":e.MO.BIN3,"\u22c4":e.MO.BIN4,"\u22c5":e.MO.BIN4,"\u22c6":e.MO.BIN4,"\u22c7":e.MO.BIN4,"\u22c8":e.MO.REL,"\u22c9":e.MO.BIN4,"\u22ca":e.MO.BIN4,"\u22cb":e.MO.BIN4,"\u22cc":e.MO.BIN4,"\u22cd":e.MO.REL,"\u22ce":e.MO.BIN4,"\u22cf":e.MO.BIN4,"\u22d0":e.MO.REL,"\u22d1":e.MO.REL,"\u22d2":e.MO.BIN4,"\u22d3":e.MO.BIN4,"\u22d4":e.MO.REL,"\u22d5":e.MO.REL,"\u22d6":e.MO.REL,"\u22d7":e.MO.REL,"\u22d8":e.MO.REL,"\u22d9":e.MO.REL,"\u22da":e.MO.REL,"\u22db":e.MO.REL,"\u22dc":e.MO.REL,"\u22dd":e.MO.REL,"\u22de":e.MO.REL,"\u22df":e.MO.REL,"\u22e0":e.MO.REL,"\u22e1":e.MO.REL,"\u22e2":e.MO.REL,"\u22e3":e.MO.REL,"\u22e4":e.MO.REL,"\u22e5":e.MO.REL,"\u22e6":e.MO.REL,"\u22e7":e.MO.REL,"\u22e8":e.MO.REL,"\u22e9":e.MO.REL,"\u22ea":e.MO.REL,"\u22eb":e.MO.REL,"\u22ec":e.MO.REL,"\u22ed":e.MO.REL,"\u22ee":e.MO.ORD55,"\u22ef":e.MO.INNER,"\u22f0":e.MO.REL,"\u22f1":[5,5,o.TEXCLASS.INNER,null],"\u22f2":e.MO.REL,"\u22f3":e.MO.REL,"\u22f4":e.MO.REL,"\u22f5":e.MO.REL,"\u22f6":e.MO.REL,"\u22f7":e.MO.REL,"\u22f8":e.MO.REL,"\u22f9":e.MO.REL,"\u22fa":e.MO.REL,"\u22fb":e.MO.REL,"\u22fc":e.MO.REL,"\u22fd":e.MO.REL,"\u22fe":e.MO.REL,"\u22ff":e.MO.REL,"\u2305":e.MO.BIN3,"\u2306":e.MO.BIN3,"\u2322":e.MO.REL4,"\u2323":e.MO.REL4,"\u2329":e.MO.OPEN,"\u232a":e.MO.CLOSE,"\u23aa":e.MO.ORD,"\u23af":[0,0,o.TEXCLASS.ORD,{stretchy:!0}],"\u23b0":e.MO.OPEN,"\u23b1":e.MO.CLOSE,"\u2500":e.MO.ORD,"\u25b3":e.MO.BIN4,"\u25b5":e.MO.BIN4,"\u25b9":e.MO.BIN4,"\u25bd":e.MO.BIN4,"\u25bf":e.MO.BIN4,"\u25c3":e.MO.BIN4,"\u25ef":e.MO.BIN3,"\u2660":e.MO.ORD,"\u2661":e.MO.ORD,"\u2662":e.MO.ORD,"\u2663":e.MO.ORD,"\u2758":e.MO.REL,"\u27f0":e.MO.RELSTRETCH,"\u27f1":e.MO.RELSTRETCH,"\u27f5":e.MO.WIDEREL,"\u27f6":e.MO.WIDEREL,"\u27f7":e.MO.WIDEREL,"\u27f8":e.MO.WIDEREL,"\u27f9":e.MO.WIDEREL,"\u27fa":e.MO.WIDEREL,"\u27fb":e.MO.WIDEREL,"\u27fc":e.MO.WIDEREL,"\u27fd":e.MO.WIDEREL,"\u27fe":e.MO.WIDEREL,"\u27ff":e.MO.WIDEREL,"\u2900":e.MO.RELACCENT,"\u2901":e.MO.RELACCENT,"\u2902":e.MO.RELACCENT,"\u2903":e.MO.RELACCENT,"\u2904":e.MO.RELACCENT,"\u2905":e.MO.RELACCENT,"\u2906":e.MO.RELACCENT,"\u2907":e.MO.RELACCENT,"\u2908":e.MO.REL,"\u2909":e.MO.REL,"\u290a":e.MO.RELSTRETCH,"\u290b":e.MO.RELSTRETCH,"\u290c":e.MO.WIDEREL,"\u290d":e.MO.WIDEREL,"\u290e":e.MO.WIDEREL,"\u290f":e.MO.WIDEREL,"\u2910":e.MO.WIDEREL,"\u2911":e.MO.RELACCENT,"\u2912":e.MO.RELSTRETCH,"\u2913":e.MO.RELSTRETCH,"\u2914":e.MO.RELACCENT,"\u2915":e.MO.RELACCENT,"\u2916":e.MO.RELACCENT,"\u2917":e.MO.RELACCENT,"\u2918":e.MO.RELACCENT,"\u2919":e.MO.RELACCENT,"\u291a":e.MO.RELACCENT,"\u291b":e.MO.RELACCENT,"\u291c":e.MO.RELACCENT,"\u291d":e.MO.RELACCENT,"\u291e":e.MO.RELACCENT,"\u291f":e.MO.RELACCENT,"\u2920":e.MO.RELACCENT,"\u2921":e.MO.RELSTRETCH,"\u2922":e.MO.RELSTRETCH,"\u2923":e.MO.REL,"\u2924":e.MO.REL,"\u2925":e.MO.REL,"\u2926":e.MO.REL,"\u2927":e.MO.REL,"\u2928":e.MO.REL,"\u2929":e.MO.REL,"\u292a":e.MO.REL,"\u292b":e.MO.REL,"\u292c":e.MO.REL,"\u292d":e.MO.REL,"\u292e":e.MO.REL,"\u292f":e.MO.REL,"\u2930":e.MO.REL,"\u2931":e.MO.REL,"\u2932":e.MO.REL,"\u2933":e.MO.RELACCENT,"\u2934":e.MO.REL,"\u2935":e.MO.REL,"\u2936":e.MO.REL,"\u2937":e.MO.REL,"\u2938":e.MO.REL,"\u2939":e.MO.REL,"\u293a":e.MO.RELACCENT,"\u293b":e.MO.RELACCENT,"\u293c":e.MO.RELACCENT,"\u293d":e.MO.RELACCENT,"\u293e":e.MO.REL,"\u293f":e.MO.REL,"\u2940":e.MO.REL,"\u2941":e.MO.REL,"\u2942":e.MO.RELACCENT,"\u2943":e.MO.RELACCENT,"\u2944":e.MO.RELACCENT,"\u2945":e.MO.RELACCENT,"\u2946":e.MO.RELACCENT,"\u2947":e.MO.RELACCENT,"\u2948":e.MO.RELACCENT,"\u2949":e.MO.REL,"\u294a":e.MO.RELACCENT,"\u294b":e.MO.RELACCENT,"\u294c":e.MO.REL,"\u294d":e.MO.REL,"\u294e":e.MO.WIDEREL,"\u294f":e.MO.RELSTRETCH,"\u2950":e.MO.WIDEREL,"\u2951":e.MO.RELSTRETCH,"\u2952":e.MO.WIDEREL,"\u2953":e.MO.WIDEREL,"\u2954":e.MO.RELSTRETCH,"\u2955":e.MO.RELSTRETCH,"\u2956":e.MO.RELSTRETCH,"\u2957":e.MO.RELSTRETCH,"\u2958":e.MO.RELSTRETCH,"\u2959":e.MO.RELSTRETCH,"\u295a":e.MO.WIDEREL,"\u295b":e.MO.WIDEREL,"\u295c":e.MO.RELSTRETCH,"\u295d":e.MO.RELSTRETCH,"\u295e":e.MO.WIDEREL,"\u295f":e.MO.WIDEREL,"\u2960":e.MO.RELSTRETCH,"\u2961":e.MO.RELSTRETCH,"\u2962":e.MO.RELACCENT,"\u2963":e.MO.REL,"\u2964":e.MO.RELACCENT,"\u2965":e.MO.REL,"\u2966":e.MO.RELACCENT,"\u2967":e.MO.RELACCENT,"\u2968":e.MO.RELACCENT,"\u2969":e.MO.RELACCENT,"\u296a":e.MO.RELACCENT,"\u296b":e.MO.RELACCENT,"\u296c":e.MO.RELACCENT,"\u296d":e.MO.RELACCENT,"\u296e":e.MO.RELSTRETCH,"\u296f":e.MO.RELSTRETCH,"\u2970":e.MO.RELACCENT,"\u2971":e.MO.RELACCENT,"\u2972":e.MO.RELACCENT,"\u2973":e.MO.RELACCENT,"\u2974":e.MO.RELACCENT,"\u2975":e.MO.RELACCENT,"\u2976":e.MO.RELACCENT,"\u2977":e.MO.RELACCENT,"\u2978":e.MO.RELACCENT,"\u2979":e.MO.RELACCENT,"\u297a":e.MO.RELACCENT,"\u297b":e.MO.RELACCENT,"\u297c":e.MO.RELACCENT,"\u297d":e.MO.RELACCENT,"\u297e":e.MO.REL,"\u297f":e.MO.REL,"\u2981":e.MO.BIN3,"\u2982":e.MO.BIN3,"\u2999":e.MO.BIN3,"\u299a":e.MO.BIN3,"\u299b":e.MO.BIN3,"\u299c":e.MO.BIN3,"\u299d":e.MO.BIN3,"\u299e":e.MO.BIN3,"\u299f":e.MO.BIN3,"\u29a0":e.MO.BIN3,"\u29a1":e.MO.BIN3,"\u29a2":e.MO.BIN3,"\u29a3":e.MO.BIN3,"\u29a4":e.MO.BIN3,"\u29a5":e.MO.BIN3,"\u29a6":e.MO.BIN3,"\u29a7":e.MO.BIN3,"\u29a8":e.MO.BIN3,"\u29a9":e.MO.BIN3,"\u29aa":e.MO.BIN3,"\u29ab":e.MO.BIN3,"\u29ac":e.MO.BIN3,"\u29ad":e.MO.BIN3,"\u29ae":e.MO.BIN3,"\u29af":e.MO.BIN3,"\u29b0":e.MO.BIN3,"\u29b1":e.MO.BIN3,"\u29b2":e.MO.BIN3,"\u29b3":e.MO.BIN3,"\u29b4":e.MO.BIN3,"\u29b5":e.MO.BIN3,"\u29b6":e.MO.BIN4,"\u29b7":e.MO.BIN4,"\u29b8":e.MO.BIN4,"\u29b9":e.MO.BIN4,"\u29ba":e.MO.BIN4,"\u29bb":e.MO.BIN4,"\u29bc":e.MO.BIN4,"\u29bd":e.MO.BIN4,"\u29be":e.MO.BIN4,"\u29bf":e.MO.BIN4,"\u29c0":e.MO.REL,"\u29c1":e.MO.REL,"\u29c2":e.MO.BIN3,"\u29c3":e.MO.BIN3,"\u29c4":e.MO.BIN4,"\u29c5":e.MO.BIN4,"\u29c6":e.MO.BIN4,"\u29c7":e.MO.BIN4,"\u29c8":e.MO.BIN4,"\u29c9":e.MO.BIN3,"\u29ca":e.MO.BIN3,"\u29cb":e.MO.BIN3,"\u29cc":e.MO.BIN3,"\u29cd":e.MO.BIN3,"\u29ce":e.MO.REL,"\u29cf":e.MO.REL,"\u29cf\u0338":e.MO.REL,"\u29d0":e.MO.REL,"\u29d0\u0338":e.MO.REL,"\u29d1":e.MO.REL,"\u29d2":e.MO.REL,"\u29d3":e.MO.REL,"\u29d4":e.MO.REL,"\u29d5":e.MO.REL,"\u29d6":e.MO.BIN4,"\u29d7":e.MO.BIN4,"\u29d8":e.MO.BIN3,"\u29d9":e.MO.BIN3,"\u29db":e.MO.BIN3,"\u29dc":e.MO.BIN3,"\u29dd":e.MO.BIN3,"\u29de":e.MO.REL,"\u29df":e.MO.BIN3,"\u29e0":e.MO.BIN3,"\u29e1":e.MO.REL,"\u29e2":e.MO.BIN4,"\u29e3":e.MO.REL,"\u29e4":e.MO.REL,"\u29e5":e.MO.REL,"\u29e6":e.MO.REL,"\u29e7":e.MO.BIN3,"\u29e8":e.MO.BIN3,"\u29e9":e.MO.BIN3,"\u29ea":e.MO.BIN3,"\u29eb":e.MO.BIN3,"\u29ec":e.MO.BIN3,"\u29ed":e.MO.BIN3,"\u29ee":e.MO.BIN3,"\u29ef":e.MO.BIN3,"\u29f0":e.MO.BIN3,"\u29f1":e.MO.BIN3,"\u29f2":e.MO.BIN3,"\u29f3":e.MO.BIN3,"\u29f4":e.MO.REL,"\u29f5":e.MO.BIN4,"\u29f6":e.MO.BIN4,"\u29f7":e.MO.BIN4,"\u29f8":e.MO.BIN3,"\u29f9":e.MO.BIN3,"\u29fa":e.MO.BIN3,"\u29fb":e.MO.BIN3,"\u29fe":e.MO.BIN4,"\u29ff":e.MO.BIN4,"\u2a1d":e.MO.BIN3,"\u2a1e":e.MO.BIN3,"\u2a1f":e.MO.BIN3,"\u2a20":e.MO.BIN3,"\u2a21":e.MO.BIN3,"\u2a22":e.MO.BIN4,"\u2a23":e.MO.BIN4,"\u2a24":e.MO.BIN4,"\u2a25":e.MO.BIN4,"\u2a26":e.MO.BIN4,"\u2a27":e.MO.BIN4,"\u2a28":e.MO.BIN4,"\u2a29":e.MO.BIN4,"\u2a2a":e.MO.BIN4,"\u2a2b":e.MO.BIN4,"\u2a2c":e.MO.BIN4,"\u2a2d":e.MO.BIN4,"\u2a2e":e.MO.BIN4,"\u2a2f":e.MO.BIN4,"\u2a30":e.MO.BIN4,"\u2a31":e.MO.BIN4,"\u2a32":e.MO.BIN4,"\u2a33":e.MO.BIN4,"\u2a34":e.MO.BIN4,"\u2a35":e.MO.BIN4,"\u2a36":e.MO.BIN4,"\u2a37":e.MO.BIN4,"\u2a38":e.MO.BIN4,"\u2a39":e.MO.BIN4,"\u2a3a":e.MO.BIN4,"\u2a3b":e.MO.BIN4,"\u2a3c":e.MO.BIN4,"\u2a3d":e.MO.BIN4,"\u2a3e":e.MO.BIN4,"\u2a3f":e.MO.BIN4,"\u2a40":e.MO.BIN4,"\u2a41":e.MO.BIN4,"\u2a42":e.MO.BIN4,"\u2a43":e.MO.BIN4,"\u2a44":e.MO.BIN4,"\u2a45":e.MO.BIN4,"\u2a46":e.MO.BIN4,"\u2a47":e.MO.BIN4,"\u2a48":e.MO.BIN4,"\u2a49":e.MO.BIN4,"\u2a4a":e.MO.BIN4,"\u2a4b":e.MO.BIN4,"\u2a4c":e.MO.BIN4,"\u2a4d":e.MO.BIN4,"\u2a4e":e.MO.BIN4,"\u2a4f":e.MO.BIN4,"\u2a50":e.MO.BIN4,"\u2a51":e.MO.BIN4,"\u2a52":e.MO.BIN4,"\u2a53":e.MO.BIN4,"\u2a54":e.MO.BIN4,"\u2a55":e.MO.BIN4,"\u2a56":e.MO.BIN4,"\u2a57":e.MO.BIN4,"\u2a58":e.MO.BIN4,"\u2a59":e.MO.REL,"\u2a5a":e.MO.BIN4,"\u2a5b":e.MO.BIN4,"\u2a5c":e.MO.BIN4,"\u2a5d":e.MO.BIN4,"\u2a5e":e.MO.BIN4,"\u2a5f":e.MO.BIN4,"\u2a60":e.MO.BIN4,"\u2a61":e.MO.BIN4,"\u2a62":e.MO.BIN4,"\u2a63":e.MO.BIN4,"\u2a64":e.MO.BIN4,"\u2a65":e.MO.BIN4,"\u2a66":e.MO.REL,"\u2a67":e.MO.REL,"\u2a68":e.MO.REL,"\u2a69":e.MO.REL,"\u2a6a":e.MO.REL,"\u2a6b":e.MO.REL,"\u2a6c":e.MO.REL,"\u2a6d":e.MO.REL,"\u2a6e":e.MO.REL,"\u2a6f":e.MO.REL,"\u2a70":e.MO.REL,"\u2a71":e.MO.BIN4,"\u2a72":e.MO.BIN4,"\u2a73":e.MO.REL,"\u2a74":e.MO.REL,"\u2a75":e.MO.REL,"\u2a76":e.MO.REL,"\u2a77":e.MO.REL,"\u2a78":e.MO.REL,"\u2a79":e.MO.REL,"\u2a7a":e.MO.REL,"\u2a7b":e.MO.REL,"\u2a7c":e.MO.REL,"\u2a7d":e.MO.REL,"\u2a7d\u0338":e.MO.REL,"\u2a7e":e.MO.REL,"\u2a7e\u0338":e.MO.REL,"\u2a7f":e.MO.REL,"\u2a80":e.MO.REL,"\u2a81":e.MO.REL,"\u2a82":e.MO.REL,"\u2a83":e.MO.REL,"\u2a84":e.MO.REL,"\u2a85":e.MO.REL,"\u2a86":e.MO.REL,"\u2a87":e.MO.REL,"\u2a88":e.MO.REL,"\u2a89":e.MO.REL,"\u2a8a":e.MO.REL,"\u2a8b":e.MO.REL,"\u2a8c":e.MO.REL,"\u2a8d":e.MO.REL,"\u2a8e":e.MO.REL,"\u2a8f":e.MO.REL,"\u2a90":e.MO.REL,"\u2a91":e.MO.REL,"\u2a92":e.MO.REL,"\u2a93":e.MO.REL,"\u2a94":e.MO.REL,"\u2a95":e.MO.REL,"\u2a96":e.MO.REL,"\u2a97":e.MO.REL,"\u2a98":e.MO.REL,"\u2a99":e.MO.REL,"\u2a9a":e.MO.REL,"\u2a9b":e.MO.REL,"\u2a9c":e.MO.REL,"\u2a9d":e.MO.REL,"\u2a9e":e.MO.REL,"\u2a9f":e.MO.REL,"\u2aa0":e.MO.REL,"\u2aa1":e.MO.REL,"\u2aa1\u0338":e.MO.REL,"\u2aa2":e.MO.REL,"\u2aa2\u0338":e.MO.REL,"\u2aa3":e.MO.REL,"\u2aa4":e.MO.REL,"\u2aa5":e.MO.REL,"\u2aa6":e.MO.REL,"\u2aa7":e.MO.REL,"\u2aa8":e.MO.REL,"\u2aa9":e.MO.REL,"\u2aaa":e.MO.REL,"\u2aab":e.MO.REL,"\u2aac":e.MO.REL,"\u2aad":e.MO.REL,"\u2aae":e.MO.REL,"\u2aaf":e.MO.REL,"\u2aaf\u0338":e.MO.REL,"\u2ab0":e.MO.REL,"\u2ab0\u0338":e.MO.REL,"\u2ab1":e.MO.REL,"\u2ab2":e.MO.REL,"\u2ab3":e.MO.REL,"\u2ab4":e.MO.REL,"\u2ab5":e.MO.REL,"\u2ab6":e.MO.REL,"\u2ab7":e.MO.REL,"\u2ab8":e.MO.REL,"\u2ab9":e.MO.REL,"\u2aba":e.MO.REL,"\u2abb":e.MO.REL,"\u2abc":e.MO.REL,"\u2abd":e.MO.REL,"\u2abe":e.MO.REL,"\u2abf":e.MO.REL,"\u2ac0":e.MO.REL,"\u2ac1":e.MO.REL,"\u2ac2":e.MO.REL,"\u2ac3":e.MO.REL,"\u2ac4":e.MO.REL,"\u2ac5":e.MO.REL,"\u2ac6":e.MO.REL,"\u2ac7":e.MO.REL,"\u2ac8":e.MO.REL,"\u2ac9":e.MO.REL,"\u2aca":e.MO.REL,"\u2acb":e.MO.REL,"\u2acc":e.MO.REL,"\u2acd":e.MO.REL,"\u2ace":e.MO.REL,"\u2acf":e.MO.REL,"\u2ad0":e.MO.REL,"\u2ad1":e.MO.REL,"\u2ad2":e.MO.REL,"\u2ad3":e.MO.REL,"\u2ad4":e.MO.REL,"\u2ad5":e.MO.REL,"\u2ad6":e.MO.REL,"\u2ad7":e.MO.REL,"\u2ad8":e.MO.REL,"\u2ad9":e.MO.REL,"\u2ada":e.MO.REL,"\u2adb":e.MO.REL,"\u2add":e.MO.REL,"\u2add\u0338":e.MO.REL,"\u2ade":e.MO.REL,"\u2adf":e.MO.REL,"\u2ae0":e.MO.REL,"\u2ae1":e.MO.REL,"\u2ae2":e.MO.REL,"\u2ae3":e.MO.REL,"\u2ae4":e.MO.REL,"\u2ae5":e.MO.REL,"\u2ae6":e.MO.REL,"\u2ae7":e.MO.REL,"\u2ae8":e.MO.REL,"\u2ae9":e.MO.REL,"\u2aea":e.MO.REL,"\u2aeb":e.MO.REL,"\u2aec":e.MO.REL,"\u2aed":e.MO.REL,"\u2aee":e.MO.REL,"\u2aef":e.MO.REL,"\u2af0":e.MO.REL,"\u2af1":e.MO.REL,"\u2af2":e.MO.REL,"\u2af3":e.MO.REL,"\u2af4":e.MO.BIN4,"\u2af5":e.MO.BIN4,"\u2af6":e.MO.BIN4,"\u2af7":e.MO.REL,"\u2af8":e.MO.REL,"\u2af9":e.MO.REL,"\u2afa":e.MO.REL,"\u2afb":e.MO.BIN4,"\u2afd":e.MO.BIN4,"\u2afe":e.MO.BIN3,"\u2b45":e.MO.RELSTRETCH,"\u2b46":e.MO.RELSTRETCH,"\u3008":e.MO.OPEN,"\u3009":e.MO.CLOSE,"\ufe37":e.MO.WIDEACCENT,"\ufe38":e.MO.WIDEACCENT}},e.OPTABLE.infix["^"]=e.MO.WIDEREL,e.OPTABLE.infix._=e.MO.WIDEREL,e.OPTABLE.infix["\u2adc"]=e.MO.REL},9259:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.SerializedMmlVisitor=e.toEntity=e.DATAMJX=void 0;var s=r(6325),l=r(9007),c=r(450);e.DATAMJX="data-mjx-";e.toEntity=function(t){return"&#x"+t.codePointAt(0).toString(16).toUpperCase()+";"};var u=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return o(r,t),r.prototype.visitTree=function(t){return this.visitNode(t,"")},r.prototype.visitTextNode=function(t,e){return this.quoteHTML(t.getText())},r.prototype.visitXMLNode=function(t,e){return e+t.getSerializedXML()},r.prototype.visitInferredMrowNode=function(t,e){var r,n,o=[];try{for(var a=i(t.childNodes),s=a.next();!s.done;s=a.next()){var l=s.value;o.push(this.visitNode(l,e))}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return o.join("\n")},r.prototype.visitTeXAtomNode=function(t,e){var r=this.childNodeMml(t,e+" ","\n");return e+""+(r.match(/\S/)?"\n"+r+e:"")+""},r.prototype.visitAnnotationNode=function(t,e){return e+""+this.childNodeMml(t,"","")+""},r.prototype.visitDefault=function(t,e){var r=t.kind,n=a(t.isToken||0===t.childNodes.length?["",""]:["\n",e],2),o=n[0],i=n[1],s=this.childNodeMml(t,e+" ",o);return e+"<"+r+this.getAttributes(t)+">"+(s.match(/\S/)?o+s+i:"")+""},r.prototype.childNodeMml=function(t,e,r){var n,o,a="";try{for(var s=i(t.childNodes),l=s.next();!l.done;l=s.next()){var c=l.value;a+=this.visitNode(c,e)+r}}catch(t){n={error:t}}finally{try{l&&!l.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}return a},r.prototype.getAttributes=function(t){var e,r,n=[],o=this.constructor.defaultAttributes[t.kind]||{},a=Object.assign({},o,this.getDataAttributes(t),t.attributes.getAllAttributes()),s=this.constructor.variants;a.hasOwnProperty("mathvariant")&&s.hasOwnProperty(a.mathvariant)&&(a.mathvariant=s[a.mathvariant]);try{for(var l=i(Object.keys(a)),c=l.next();!c.done;c=l.next()){var u=c.value,p=String(a[u]);void 0!==p&&n.push(u+'="'+this.quoteHTML(p)+'"')}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(e)throw e.error}}return n.length?" "+n.join(" "):""},r.prototype.getDataAttributes=function(t){var e={},r=t.attributes.getExplicit("mathvariant"),n=this.constructor.variants;r&&n.hasOwnProperty(r)&&this.setDataAttribute(e,"variant",r),t.getProperty("variantForm")&&this.setDataAttribute(e,"alternate","1"),t.getProperty("pseudoscript")&&this.setDataAttribute(e,"pseudoscript","true"),!1===t.getProperty("autoOP")&&this.setDataAttribute(e,"auto-op","false");var o=t.getProperty("scriptalign");o&&this.setDataAttribute(e,"script-align",o);var i=t.getProperty("texClass");if(void 0!==i){var a=!0;if(i===l.TEXCLASS.OP&&t.isKind("mi")){var s=t.getText();a=!(s.length>1&&s.match(c.MmlMi.operatorName))}a&&this.setDataAttribute(e,"texclass",i<0?"NONE":l.TEXCLASSNAMES[i])}return t.getProperty("scriptlevel")&&!1===t.getProperty("useHeight")&&this.setDataAttribute(e,"smallmatrix","true"),e},r.prototype.setDataAttribute=function(t,r,n){t[e.DATAMJX+r]=n},r.prototype.quoteHTML=function(t){return t.replace(/&/g,"&").replace(//g,">").replace(/\"/g,""").replace(/[\uD800-\uDBFF]./g,e.toEntity).replace(/[\u0080-\uD7FF\uE000-\uFFFF]/g,e.toEntity)},r.variants={"-tex-calligraphic":"script","-tex-bold-calligraphic":"bold-script","-tex-oldstyle":"normal","-tex-bold-oldstyle":"bold","-tex-mathit":"italic"},r.defaultAttributes={math:{xmlns:"http://www.w3.org/1998/Math/MathML"}},r}(s.MmlVisitor);e.SerializedMmlVisitor=u},2975:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractOutputJax=void 0;var n=r(7233),o=r(7525),i=function(){function t(t){void 0===t&&(t={}),this.adaptor=null;var e=this.constructor;this.options=(0,n.userOptions)((0,n.defaultOptions)({},e.OPTIONS),t),this.postFilters=new o.FunctionList}return Object.defineProperty(t.prototype,"name",{get:function(){return this.constructor.NAME},enumerable:!1,configurable:!0}),t.prototype.setAdaptor=function(t){this.adaptor=t},t.prototype.initialize=function(){},t.prototype.reset=function(){for(var t=[],e=0;e=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractEmptyNode=e.AbstractNode=void 0;var a=function(){function t(t,e,r){var n,o;void 0===e&&(e={}),void 0===r&&(r=[]),this.factory=t,this.parent=null,this.properties={},this.childNodes=[];try{for(var a=i(Object.keys(e)),s=a.next();!s.done;s=a.next()){var l=s.value;this.setProperty(l,e[l])}}catch(t){n={error:t}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}r.length&&this.setChildren(r)}return Object.defineProperty(t.prototype,"kind",{get:function(){return"unknown"},enumerable:!1,configurable:!0}),t.prototype.setProperty=function(t,e){this.properties[t]=e},t.prototype.getProperty=function(t){return this.properties[t]},t.prototype.getPropertyNames=function(){return Object.keys(this.properties)},t.prototype.getAllProperties=function(){return this.properties},t.prototype.removeProperty=function(){for(var t,e,r=[],n=0;n=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},s=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLDocument=void 0;var l=r(5722),c=r(7233),u=r(3363),p=r(3335),h=r(5138),d=r(4474),f=function(t){function e(e,r,n){var o=this,i=a((0,c.separateOptions)(n,h.HTMLDomStrings.OPTIONS),2),s=i[0],l=i[1];return(o=t.call(this,e,r,s)||this).domStrings=o.options.DomStrings||new h.HTMLDomStrings(l),o.domStrings.adaptor=r,o.styles=[],o}return o(e,t),e.prototype.findPosition=function(t,e,r,n){var o,i,l=this.adaptor;try{for(var c=s(n[t]),u=c.next();!u.done;u=c.next()){var p=u.value,h=a(p,2),d=h[0],f=h[1];if(e<=f&&"#text"===l.kind(d))return{node:d,n:Math.max(e,0),delim:r};e-=f}}catch(t){o={error:t}}finally{try{u&&!u.done&&(i=c.return)&&i.call(c)}finally{if(o)throw o.error}}return{node:null,n:0,delim:r}},e.prototype.mathItem=function(t,e,r){var n=t.math,o=this.findPosition(t.n,t.start.n,t.open,r),i=this.findPosition(t.n,t.end.n,t.close,r);return new this.options.MathItem(n,e,t.display,o,i)},e.prototype.findMath=function(t){var e,r,n,o,i,l,u,p,h;if(!this.processed.isSet("findMath")){this.adaptor.document=this.document,t=(0,c.userOptions)({elements:this.options.elements||[this.adaptor.body(this.document)]},t);try{for(var d=s(this.adaptor.getElements(t.elements,this.document)),f=d.next();!f.done;f=d.next()){var m=f.value,y=a([null,null],2),g=y[0],b=y[1];try{for(var v=(n=void 0,s(this.inputJax)),_=v.next();!_.done;_=v.next()){var S=_.value,x=new this.options.MathList;if(S.processStrings){null===g&&(g=(i=a(this.domStrings.find(m),2))[0],b=i[1]);try{for(var M=(l=void 0,s(S.findMath(g))),O=M.next();!O.done;O=M.next()){var E=O.value;x.push(this.mathItem(E,S,b))}}catch(t){l={error:t}}finally{try{O&&!O.done&&(u=M.return)&&u.call(M)}finally{if(l)throw l.error}}}else try{for(var A=(p=void 0,s(S.findMath(m))),C=A.next();!C.done;C=A.next()){E=C.value;var w=new this.options.MathItem(E.math,S,E.display,E.start,E.end);x.push(w)}}catch(t){p={error:t}}finally{try{C&&!C.done&&(h=A.return)&&h.call(A)}finally{if(p)throw p.error}}this.math.merge(x)}}catch(t){n={error:t}}finally{try{_&&!_.done&&(o=v.return)&&o.call(v)}finally{if(n)throw n.error}}}}catch(t){e={error:t}}finally{try{f&&!f.done&&(r=d.return)&&r.call(d)}finally{if(e)throw e.error}}this.processed.set("findMath")}return this},e.prototype.updateDocument=function(){return this.processed.isSet("updateDocument")||(this.addPageElements(),this.addStyleSheet(),t.prototype.updateDocument.call(this),this.processed.set("updateDocument")),this},e.prototype.addPageElements=function(){var t=this.adaptor.body(this.document),e=this.documentPageElements();e&&this.adaptor.append(t,e)},e.prototype.addStyleSheet=function(){var t=this.documentStyleSheet(),e=this.adaptor;if(t&&!e.parent(t)){var r=e.head(this.document),n=this.findSheet(r,e.getAttribute(t,"id"));n?e.replace(t,n):e.append(r,t)}},e.prototype.findSheet=function(t,e){var r,n;if(e)try{for(var o=s(this.adaptor.tags(t,"style")),i=o.next();!i.done;i=o.next()){var a=i.value;if(this.adaptor.getAttribute(a,"id")===e)return a}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return null},e.prototype.removeFromDocument=function(t){var e,r;if(void 0===t&&(t=!1),this.processed.isSet("updateDocument"))try{for(var n=s(this.math),o=n.next();!o.done;o=n.next()){var i=o.value;i.state()>=d.STATE.INSERTED&&i.state(d.STATE.TYPESET,t)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return this.processed.clear("updateDocument"),this},e.prototype.documentStyleSheet=function(){return this.outputJax.styleSheet(this)},e.prototype.documentPageElements=function(){return this.outputJax.pageElements(this)},e.prototype.addStyles=function(t){this.styles.push(t)},e.prototype.getStyles=function(){return this.styles},e.KIND="HTML",e.OPTIONS=i(i({},l.AbstractMathDocument.OPTIONS),{renderActions:(0,c.expandable)(i(i({},l.AbstractMathDocument.OPTIONS.renderActions),{styles:[d.STATE.INSERTED+1,"","updateStyleSheet",!1]})),MathList:p.HTMLMathList,MathItem:u.HTMLMathItem,DomStrings:null}),e}(l.AbstractMathDocument);e.HTMLDocument=f},5138:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLDomStrings=void 0;var o=r(7233),i=function(){function t(t){void 0===t&&(t=null);var e=this.constructor;this.options=(0,o.userOptions)((0,o.defaultOptions)({},e.OPTIONS),t),this.init(),this.getPatterns()}return t.prototype.init=function(){this.strings=[],this.string="",this.snodes=[],this.nodes=[],this.stack=[]},t.prototype.getPatterns=function(){var t=(0,o.makeArray)(this.options.skipHtmlTags),e=(0,o.makeArray)(this.options.ignoreHtmlClass),r=(0,o.makeArray)(this.options.processHtmlClass);this.skipHtmlTags=new RegExp("^(?:"+t.join("|")+")$","i"),this.ignoreHtmlClass=new RegExp("(?:^| )(?:"+e.join("|")+")(?: |$)"),this.processHtmlClass=new RegExp("(?:^| )(?:"+r+")(?: |$)")},t.prototype.pushString=function(){this.string.match(/\S/)&&(this.strings.push(this.string),this.nodes.push(this.snodes)),this.string="",this.snodes=[]},t.prototype.extendString=function(t,e){this.snodes.push([t,e.length]),this.string+=e},t.prototype.handleText=function(t,e){return e||this.extendString(t,this.adaptor.value(t)),this.adaptor.next(t)},t.prototype.handleTag=function(t,e){if(!e){var r=this.options.includeHtmlTags[this.adaptor.kind(t)];this.extendString(t,r)}return this.adaptor.next(t)},t.prototype.handleContainer=function(t,e){this.pushString();var r=this.adaptor.getAttribute(t,"class")||"",n=this.adaptor.kind(t)||"",o=this.processHtmlClass.exec(r),i=t;return!this.adaptor.firstChild(t)||this.adaptor.getAttribute(t,"data-MJX")||!o&&this.skipHtmlTags.exec(n)?i=this.adaptor.next(t):(this.adaptor.next(t)&&this.stack.push([this.adaptor.next(t),e]),i=this.adaptor.firstChild(t),e=(e||this.ignoreHtmlClass.exec(r))&&!o),[i,e]},t.prototype.handleOther=function(t,e){return this.pushString(),this.adaptor.next(t)},t.prototype.find=function(t){var e,r;this.init();for(var o=this.adaptor.next(t),i=!1,a=this.options.includeHtmlTags;t&&t!==o;){var s=this.adaptor.kind(t);"#text"===s?t=this.handleText(t,i):a.hasOwnProperty(s)?t=this.handleTag(t,i):s?(t=(e=n(this.handleContainer(t,i),2))[0],i=e[1]):t=this.handleOther(t,i),!t&&this.stack.length&&(this.pushString(),t=(r=n(this.stack.pop(),2))[0],i=r[1])}this.pushString();var l=[this.strings,this.nodes];return this.init(),l},t.OPTIONS={skipHtmlTags:["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],includeHtmlTags:{br:"\n",wbr:"","#comment":""},ignoreHtmlClass:"mathjax_ignore",processHtmlClass:"mathjax_process"},t}();e.HTMLDomStrings=i},3726:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLHandler=void 0;var i=r(3670),a=r(3683),s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.documentClass=a.HTMLDocument,e}return o(e,t),e.prototype.handlesDocument=function(t){var e=this.adaptor;if("string"==typeof t)try{t=e.parse(t,"text/html")}catch(t){}return t instanceof e.window.Document||t instanceof e.window.HTMLElement||t instanceof e.window.DocumentFragment},e.prototype.create=function(e,r){var n=this.adaptor;if("string"==typeof e)e=n.parse(e,"text/html");else if(e instanceof n.window.HTMLElement||e instanceof n.window.DocumentFragment){var o=e;e=n.parse("","text/html"),n.append(n.body(e),o)}return t.prototype.create.call(this,e,r)},e}(i.AbstractHandler);e.HTMLHandler=s},3363:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLMathItem=void 0;var i=r(4474),a=function(t){function e(e,r,n,o,i){return void 0===n&&(n=!0),void 0===o&&(o={node:null,n:0,delim:""}),void 0===i&&(i={node:null,n:0,delim:""}),t.call(this,e,r,n,o,i)||this}return o(e,t),Object.defineProperty(e.prototype,"adaptor",{get:function(){return this.inputJax.adaptor},enumerable:!1,configurable:!0}),e.prototype.updateDocument=function(t){if(this.state()=i.STATE.TYPESET){var e=this.adaptor,r=this.start.node,n=e.text("");if(t){var o=this.start.delim+this.math+this.end.delim;if(this.inputJax.processStrings)n=e.text(o);else{var a=e.parse(o,"text/html");n=e.firstChild(e.body(a))}}e.parent(r)&&e.replace(n,r),this.start.node=this.end.node=n,this.start.n=this.end.n=0}},e}(i.AbstractMathItem);e.HTMLMathItem=a},3335:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.HTMLMathList=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(r(9e3).AbstractMathList);e.HTMLMathList=i},8462:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TeX=void 0;var l=r(9206),c=r(7233),u=r(7073),p=s(r(4676)),h=s(r(1256)),d=s(r(8417)),f=s(r(3971)),m=s(r(8562)),y=r(6521),g=r(9899);r(2942);var b=function(t){function e(r){void 0===r&&(r={});var n=this,o=a((0,c.separateOptions)(r,e.OPTIONS,u.FindTeX.OPTIONS),3),i=o[0],s=o[1],l=o[2];(n=t.call(this,s)||this).findTeX=n.options.FindTeX||new u.FindTeX(l);var h=n.options.packages,d=n.configuration=e.configure(h),f=n._parseOptions=new m.default(d,[n.options,y.TagsFactory.OPTIONS]);return(0,c.userOptions)(f.options,i),d.config(n),e.tags(f,d),n.postFilters.add(p.default.cleanSubSup,-6),n.postFilters.add(p.default.setInherited,-5),n.postFilters.add(p.default.moveLimits,-4),n.postFilters.add(p.default.cleanStretchy,-3),n.postFilters.add(p.default.cleanAttributes,-2),n.postFilters.add(p.default.combineRelations,-1),n}return o(e,t),e.configure=function(t){var e=new g.ParserConfiguration(t,["tex"]);return e.init(),e},e.tags=function(t,e){y.TagsFactory.addTags(e.tags),y.TagsFactory.setDefault(t.options.tags),t.tags=y.TagsFactory.getDefault(),t.tags.configuration=t},e.prototype.setMmlFactory=function(e){t.prototype.setMmlFactory.call(this,e),this._parseOptions.nodeFactory.setMmlFactory(e)},Object.defineProperty(e.prototype,"parseOptions",{get:function(){return this._parseOptions},enumerable:!1,configurable:!0}),e.prototype.reset=function(t){void 0===t&&(t=0),this.parseOptions.tags.reset(t)},e.prototype.compile=function(t,e){this.parseOptions.clear(),this.executeFilters(this.preFilters,t,e,this.parseOptions);var r,n,o=t.display;this.latex=t.math,this.parseOptions.tags.startEquation(t);try{var i=new d.default(this.latex,{display:o,isInner:!1},this.parseOptions);r=i.mml(),n=i.stack.global}catch(t){if(!(t instanceof f.default))throw t;this.parseOptions.error=!0,r=this.options.formatError(this,t)}return r=this.parseOptions.nodeFactory.create("node","math",[r]),(null==n?void 0:n.indentalign)&&h.default.setAttribute(r,"indentalign",n.indentalign),o&&h.default.setAttribute(r,"display","block"),this.parseOptions.tags.finishEquation(t),this.parseOptions.root=r,this.executeFilters(this.postFilters,t,e,this.parseOptions),this.mathNode=this.parseOptions.root,this.mathNode},e.prototype.findMath=function(t){return this.findTeX.findMath(t)},e.prototype.formatError=function(t){var e=t.message.replace(/\n.*/,"");return this.parseOptions.nodeFactory.create("error",e,t.id,this.latex)},e.NAME="TeX",e.OPTIONS=i(i({},l.AbstractInputJax.OPTIONS),{FindTeX:null,packages:["base"],digits:/^(?:[0-9]+(?:\{,\}[0-9]{3})*(?:\.[0-9]*)?|\.[0-9]+)/,maxBuffer:5120,formatError:function(t,e){return t.formatError(e)}}),e}(l.AbstractInputJax);e.TeX=b},210:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AllPackages=void 0,r(2942),r(8174),r(8021),r(583),r(1186),r(8603),r(6538),r(9499),r(8963),r(3752),r(8227),r(5860),r(6628),r(6648),r(8458),r(5464),r(1428),r(6121),r(3078),r(8901),r(7535),r(6944),r(1496),r(4234),r(4898),r(3168),r(9365),r(1527),r(2307),r(2675),r(1442),r(6841),r(1247),"undefined"!=typeof MathJax&&MathJax.loader&&MathJax.loader.preLoad("[tex]/action","[tex]/ams","[tex]/amscd","[tex]/bbox","[tex]/boldsymbol","[tex]/braket","[tex]/bussproofs","[tex]/cancel","[tex]/cases","[tex]/centernot","[tex]/color","[tex]/colorv2","[tex]/colortbl","[tex]/empheq","[tex]/enclose","[tex]/extpfeil","[tex]/gensymb","[tex]/html","[tex]/mathtools","[tex]/mhchem","[tex]/newcommand","[tex]/noerrors","[tex]/noundefined","[tex]/physics","[tex]/upgreek","[tex]/unicode","[tex]/verb","[tex]/configmacros","[tex]/tagformat","[tex]/textcomp","[tex]/textmacros","[tex]/setoptions"),e.AllPackages=["base","action","ams","amscd","bbox","boldsymbol","braket","bussproofs","cancel","cases","centernot","color","colortbl","empheq","enclose","extpfeil","gensymb","html","mathtools","mhchem","newcommand","noerrors","noundefined","upgreek","unicode","verb","configmacros","tagformat","textcomp","textmacros"]},9899:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.ParserConfiguration=e.ConfigurationHandler=e.Configuration=void 0;var i,a=r(7233),s=r(2947),l=r(7525),c=r(8666),u=r(6521),p=function(){function t(t,e,r,n,o,i,a,s,l,c,u,p,h){void 0===e&&(e={}),void 0===r&&(r={}),void 0===n&&(n={}),void 0===o&&(o={}),void 0===i&&(i={}),void 0===a&&(a={}),void 0===s&&(s=[]),void 0===l&&(l=[]),void 0===c&&(c=null),void 0===u&&(u=null),this.name=t,this.handler=e,this.fallback=r,this.items=n,this.tags=o,this.options=i,this.nodes=a,this.preprocessors=s,this.postprocessors=l,this.initMethod=c,this.configMethod=u,this.priority=p,this.parser=h,this.handler=Object.assign({character:[],delimiter:[],macro:[],environment:[]},e)}return t.makeProcessor=function(t,e){return Array.isArray(t)?t:[t,e]},t._create=function(e,r){var n=this;void 0===r&&(r={});var o=r.priority||c.PrioritizedList.DEFAULTPRIORITY,i=r.init?this.makeProcessor(r.init,o):null,a=r.config?this.makeProcessor(r.config,o):null,s=(r.preprocessors||[]).map((function(t){return n.makeProcessor(t,o)})),l=(r.postprocessors||[]).map((function(t){return n.makeProcessor(t,o)})),u=r.parser||"tex";return new t(e,r.handler||{},r.fallback||{},r.items||{},r.tags||{},r.options||{},r.nodes||{},s,l,i,a,o,u)},t.create=function(e,r){void 0===r&&(r={});var n=t._create(e,r);return i.set(e,n),n},t.local=function(e){return void 0===e&&(e={}),t._create("",e)},Object.defineProperty(t.prototype,"init",{get:function(){return this.initMethod?this.initMethod[0]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"config",{get:function(){return this.configMethod?this.configMethod[0]:null},enumerable:!1,configurable:!0}),t}();e.Configuration=p,function(t){var e=new Map;t.set=function(t,r){e.set(t,r)},t.get=function(t){return e.get(t)},t.keys=function(){return e.keys()}}(i=e.ConfigurationHandler||(e.ConfigurationHandler={}));var h=function(){function t(t,e){var r,o,i,a;void 0===e&&(e=["tex"]),this.initMethod=new l.FunctionList,this.configMethod=new l.FunctionList,this.configurations=new c.PrioritizedList,this.parsers=[],this.handlers=new s.SubHandlers,this.items={},this.tags={},this.options={},this.nodes={},this.parsers=e;try{for(var u=n(t.slice().reverse()),p=u.next();!p.done;p=u.next()){var h=p.value;this.addPackage(h)}}catch(t){r={error:t}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(r)throw r.error}}try{for(var d=n(this.configurations),f=d.next();!f.done;f=d.next()){var m=f.value,y=m.item,g=m.priority;this.append(y,g)}}catch(t){i={error:t}}finally{try{f&&!f.done&&(a=d.return)&&a.call(d)}finally{if(i)throw i.error}}}return t.prototype.init=function(){this.initMethod.execute(this)},t.prototype.config=function(t){var e,r;this.configMethod.execute(this,t);try{for(var o=n(this.configurations),i=o.next();!i.done;i=o.next()){var a=i.value;this.addFilters(t,a.item)}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}},t.prototype.addPackage=function(t){var e="string"==typeof t?t:t[0],r=this.getPackage(e);r&&this.configurations.add(r,"string"==typeof t?r.priority:t[1])},t.prototype.add=function(t,e,r){var o,i;void 0===r&&(r={});var s=this.getPackage(t);this.append(s),this.configurations.add(s,s.priority),this.init();var l=e.parseOptions;l.nodeFactory.setCreators(s.nodes);try{for(var c=n(Object.keys(s.items)),p=c.next();!p.done;p=c.next()){var h=p.value;l.itemFactory.setNodeClass(h,s.items[h])}}catch(t){o={error:t}}finally{try{p&&!p.done&&(i=c.return)&&i.call(c)}finally{if(o)throw o.error}}u.TagsFactory.addTags(s.tags),(0,a.defaultOptions)(l.options,s.options),(0,a.userOptions)(l.options,r),this.addFilters(e,s),s.config&&s.config(this,e)},t.prototype.getPackage=function(t){var e=i.get(t);if(e&&this.parsers.indexOf(e.parser)<0)throw Error("Package ".concat(t," doesn't target the proper parser"));return e},t.prototype.append=function(t,e){e=e||t.priority,t.initMethod&&this.initMethod.add(t.initMethod[0],t.initMethod[1]),t.configMethod&&this.configMethod.add(t.configMethod[0],t.configMethod[1]),this.handlers.add(t.handler,t.fallback,e),Object.assign(this.items,t.items),Object.assign(this.tags,t.tags),(0,a.defaultOptions)(this.options,t.options),Object.assign(this.nodes,t.nodes)},t.prototype.addFilters=function(t,e){var r,i,a,s;try{for(var l=n(e.preprocessors),c=l.next();!c.done;c=l.next()){var u=o(c.value,2),p=u[0],h=u[1];t.preFilters.add(p,h)}}catch(t){r={error:t}}finally{try{c&&!c.done&&(i=l.return)&&i.call(l)}finally{if(r)throw r.error}}try{for(var d=n(e.postprocessors),f=d.next();!f.done;f=d.next()){var m=o(f.value,2),y=m[0];h=m[1];t.postFilters.add(y,h)}}catch(t){a={error:t}}finally{try{f&&!f.done&&(s=d.return)&&s.call(d)}finally{if(a)throw a.error}}},t}();e.ParserConfiguration=h},4676:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i,a=r(9007),s=o(r(1256));!function(t){t.cleanStretchy=function(t){var e,r,o=t.data;try{for(var i=n(o.getList("fixStretchy")),a=i.next();!a.done;a=i.next()){var l=a.value;if(s.default.getProperty(l,"fixStretchy")){var c=s.default.getForm(l);c&&c[3]&&c[3].stretchy&&s.default.setAttribute(l,"stretchy",!1);var u=l.parent;if(!(s.default.getTexClass(l)||c&&c[2])){var p=o.nodeFactory.create("node","TeXAtom",[l]);u.replaceChild(p,l),p.inheritAttributesFrom(l)}s.default.removeProperties(l,"fixStretchy")}}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},t.cleanAttributes=function(t){t.data.root.walkTree((function(t,e){var r,o,i=t.attributes;if(i){var a=new Set((i.get("mjx-keep-attrs")||"").split(/ /));delete i.getAllAttributes()["mjx-keep-attrs"];try{for(var s=n(i.getExplicitNames()),l=s.next();!l.done;l=s.next()){var c=l.value;a.has(c)||i.attributes[c]!==t.attributes.getInherited(c)||delete i.attributes[c]}}catch(t){r={error:t}}finally{try{l&&!l.done&&(o=s.return)&&o.call(s)}finally{if(r)throw r.error}}}}),{})},t.combineRelations=function(t){var o,i,l,c,u=[];try{for(var p=n(t.data.getList("mo")),h=p.next();!h.done;h=p.next()){var d=h.value;if(!d.getProperty("relationsCombined")&&d.parent&&(!d.parent||s.default.isType(d.parent,"mrow"))&&s.default.getTexClass(d)===a.TEXCLASS.REL){for(var f=d.parent,m=void 0,y=f.childNodes,g=y.indexOf(d)+1,b=s.default.getProperty(d,"variantForm");g0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.FindTeX=void 0;var a=r(3494),s=r(505),l=r(4474),c=function(t){function e(e){var r=t.call(this,e)||this;return r.getPatterns(),r}return o(e,t),e.prototype.getPatterns=function(){var t=this,e=this.options,r=[],n=[],o=[];this.end={},this.env=this.sub=0;var i=1;e.inlineMath.forEach((function(e){return t.addPattern(r,e,!1)})),e.displayMath.forEach((function(e){return t.addPattern(r,e,!0)})),r.length&&n.push(r.sort(s.sortLength).join("|")),e.processEnvironments&&(n.push("\\\\begin\\s*\\{([^}]*)\\}"),this.env=i,i++),e.processEscapes&&o.push("\\\\([\\\\$])"),e.processRefs&&o.push("(\\\\(?:eq)?ref\\s*\\{[^}]*\\})"),o.length&&(n.push("("+o.join("|")+")"),this.sub=i),this.start=new RegExp(n.join("|"),"g"),this.hasPatterns=n.length>0},e.prototype.addPattern=function(t,e,r){var n=i(e,2),o=n[0],a=n[1];t.push((0,s.quotePattern)(o)),this.end[o]=[a,r,this.endPattern(a)]},e.prototype.endPattern=function(t,e){return new RegExp((e||(0,s.quotePattern)(t))+"|\\\\(?:[a-zA-Z]|.)|[{}]","g")},e.prototype.findEnd=function(t,e,r,n){for(var o,a=i(n,3),s=a[0],c=a[1],u=a[2],p=u.lastIndex=r.index+r[0].length,h=0;o=u.exec(t);){if((o[1]||o[0])===s&&0===h)return(0,l.protoItem)(r[0],t.substr(p,o.index-p),o[0],e,r.index,o.index+o[0].length,c);"{"===o[0]?h++:"}"===o[0]&&h&&h--}return null},e.prototype.findMathInString=function(t,e,r){var n,o;for(this.start.lastIndex=0;n=this.start.exec(r);){if(void 0!==n[this.env]&&this.env){var i="\\\\end\\s*(\\{"+(0,s.quotePattern)(n[this.env])+"\\})";(o=this.findEnd(r,e,n,["{"+n[this.env]+"}",!0,this.endPattern(null,i)]))&&(o.math=o.open+o.math+o.close,o.open=o.close="")}else if(void 0!==n[this.sub]&&this.sub){var a=n[this.sub];i=n.index+n[this.sub].length;o=2===a.length?(0,l.protoItem)("",a.substr(1),"",e,n.index,i):(0,l.protoItem)("",a,"",e,n.index,i,!1)}else o=this.findEnd(r,e,n,this.end[n[0]]);o&&(t.push(o),this.start.lastIndex=o.end.n)}},e.prototype.findMath=function(t){var e=[];if(this.hasPatterns)for(var r=0,n=t.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.SubHandlers=e.SubHandler=e.MapHandler=void 0;var i,a=r(8666),s=r(7525);!function(t){var e=new Map;t.register=function(t){e.set(t.name,t)},t.getMap=function(t){return e.get(t)}}(i=e.MapHandler||(e.MapHandler={}));var l=function(){function t(){this._configuration=new a.PrioritizedList,this._fallback=new s.FunctionList}return t.prototype.add=function(t,e,r){var o,s;void 0===r&&(r=a.PrioritizedList.DEFAULTPRIORITY);try{for(var l=n(t.slice().reverse()),c=l.next();!c.done;c=l.next()){var u=c.value,p=i.getMap(u);if(!p)return void this.warn("Configuration "+u+" not found! Omitted.");this._configuration.add(p,r)}}catch(t){o={error:t}}finally{try{c&&!c.done&&(s=l.return)&&s.call(l)}finally{if(o)throw o.error}}e&&this._fallback.add(e,r)},t.prototype.parse=function(t){var e,r;try{for(var i=n(this._configuration),a=i.next();!a.done;a=i.next()){var s=a.value.item.parse(t);if(s)return s}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}var l=o(t,2),c=l[0],u=l[1];Array.from(this._fallback)[0].item(c,u)},t.prototype.lookup=function(t){var e=this.applicable(t);return e?e.lookup(t):null},t.prototype.contains=function(t){return!!this.applicable(t)},t.prototype.toString=function(){var t,e,r=[];try{for(var o=n(this._configuration),i=o.next();!i.done;i=o.next()){var a=i.value.item;r.push(a.name)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}return r.join(", ")},t.prototype.applicable=function(t){var e,r;try{for(var o=n(this._configuration),i=o.next();!i.done;i=o.next()){var a=i.value.item;if(a.contains(t))return a}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return null},t.prototype.retrieve=function(t){var e,r;try{for(var o=n(this._configuration),i=o.next();!i.done;i=o.next()){var a=i.value.item;if(a.name===t)return a}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return null},t.prototype.warn=function(t){console.log("TexParser Warning: "+t)},t}();e.SubHandler=l;var c=function(){function t(){this.map=new Map}return t.prototype.add=function(t,e,r){var o,i;void 0===r&&(r=a.PrioritizedList.DEFAULTPRIORITY);try{for(var s=n(Object.keys(t)),c=s.next();!c.done;c=s.next()){var u=c.value,p=this.get(u);p||(p=new l,this.set(u,p)),p.add(t[u],e[u],r)}}catch(t){o={error:t}}finally{try{c&&!c.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}},t.prototype.set=function(t,e){this.map.set(t,e)},t.prototype.get=function(t){return this.map.get(t)},t.prototype.retrieve=function(t){var e,r;try{for(var o=n(this.map.values()),i=o.next();!i.done;i=o.next()){var a=i.value.retrieve(t);if(a)return a}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return null},t.prototype.keys=function(){return this.map.keys()},t}();e.SubHandlers=c},8929:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o1&&(r.autoOP=!1));var o=t.create("token","mi",r,e);t.Push(o)},t.digit=function(t,e){var r,n=t.configuration.options.digits,o=t.string.slice(t.i-1).match(n),i=c.default.getFontDef(t);o?(r=t.create("token","mn",i,o[0].replace(/[{}]/g,"")),t.i+=o[0].length-1):r=t.create("token","mo",i,e),t.Push(r)},t.controlSequence=function(t,e){var r=t.GetCS();t.parse("macro",[t,r])},t.mathchar0mi=function(t,e){var r=e.attributes||{mathvariant:l.TexConstant.Variant.ITALIC},n=t.create("token","mi",r,e.char);t.Push(n)},t.mathchar0mo=function(t,e){var r=e.attributes||{};r.stretchy=!1;var n=t.create("token","mo",r,e.char);s.default.setProperty(n,"fixStretchy",!0),t.configuration.addNode("fixStretchy",n),t.Push(n)},t.mathchar7=function(t,e){var r=e.attributes||{mathvariant:l.TexConstant.Variant.NORMAL};t.stack.env.font&&(r.mathvariant=t.stack.env.font);var n=t.create("token","mi",r,e.char);t.Push(n)},t.delimiter=function(t,e){var r=e.attributes||{};r=Object.assign({fence:!1,stretchy:!1},r);var n=t.create("token","mo",r,e.char);t.Push(n)},t.environment=function(t,e,r,i){var a=i[0],s=t.itemFactory.create("begin").setProperties({name:e,end:a});s=r.apply(void 0,o([t,s],n(i.slice(1)),!1)),t.Push(s)}}(a||(a={})),e.default=a},8562:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var s=a(r(5453)),l=r(8929),c=a(r(1256)),u=r(7233),p=function(){function t(t,e){void 0===e&&(e=[]),this.options={},this.packageData=new Map,this.parsers=[],this.root=null,this.nodeLists={},this.error=!1,this.handlers=t.handlers,this.nodeFactory=new l.NodeFactory,this.nodeFactory.configuration=this,this.nodeFactory.setCreators(t.nodes),this.itemFactory=new s.default(t.items),this.itemFactory.configuration=this,u.defaultOptions.apply(void 0,o([this.options],n(e),!1)),(0,u.defaultOptions)(this.options,t.options)}return t.prototype.pushParser=function(t){this.parsers.unshift(t)},t.prototype.popParser=function(){this.parsers.shift()},Object.defineProperty(t.prototype,"parser",{get:function(){return this.parsers[0]},enumerable:!1,configurable:!0}),t.prototype.clear=function(){this.parsers=[],this.root=null,this.nodeLists={},this.error=!1,this.tags.resetTag()},t.prototype.addNode=function(t,e){var r=this.nodeLists[t];if(r||(r=this.nodeLists[t]=[]),r.push(e),e.kind!==t){var n=c.default.getProperty(e,"in-lists")||"",o=(n?n.split(/,/):[]).concat(t).join(",");c.default.setProperty(e,"in-lists",o)}},t.prototype.getList=function(t){var e,r,n=this.nodeLists[t]||[],o=[];try{for(var a=i(n),s=a.next();!s.done;s=a.next()){var l=s.value;this.inTree(l)&&o.push(l)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}return this.nodeLists[t]=o,o},t.prototype.removeFromList=function(t,e){var r,n,o=this.nodeLists[t]||[];try{for(var a=i(e),s=a.next();!s.done;s=a.next()){var l=s.value,c=o.indexOf(l);c>=0&&o.splice(c,1)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}},t.prototype.inTree=function(t){for(;t&&t!==this.root;)t=t.parent;return!!t},t}();e.default=p},1130:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a,s=r(9007),l=i(r(1256)),c=i(r(8417)),u=i(r(3971)),p=r(5368);!function(t){var e=7.2,r={em:function(t){return t},ex:function(t){return.43*t},pt:function(t){return t/10},pc:function(t){return 1.2*t},px:function(t){return t*e/72},in:function(t){return t*e},cm:function(t){return t*e/2.54},mm:function(t){return t*e/25.4},mu:function(t){return t/18}},i="([-+]?([.,]\\d+|\\d+([.,]\\d*)?))",a="(pt|em|ex|mu|px|mm|cm|in|pc)",h=RegExp("^\\s*"+i+"\\s*"+a+"\\s*$"),d=RegExp("^\\s*"+i+"\\s*"+a+" ?");function f(t,e){void 0===e&&(e=!1);var o=t.match(e?d:h);return o?function(t){var e=n(t,3),o=e[0],i=e[1],a=e[2];if("mu"!==i)return[o,i,a];return[m(r[i](parseFloat(o||"1"))).slice(0,-2),"em",a]}([o[1].replace(/,/,"."),o[4],o[0].length]):[null,null,0]}function m(t){return Math.abs(t)<6e-4?"0em":t.toFixed(3).replace(/\.?0+$/,"")+"em"}function y(t,e,r){"{"!==e&&"}"!==e||(e="\\"+e);var n="{\\bigg"+r+" "+e+"}",o="{\\big"+r+" "+e+"}";return new c.default("\\mathchoice"+n+o+o+o,{},t).mml()}function g(t,e,r){e=e.replace(/^\s+/,p.entities.nbsp).replace(/\s+$/,p.entities.nbsp);var n=t.create("text",e);return t.create("node","mtext",[],r,n)}function b(t,e,r){if(r.match(/^[a-z]/i)&&e.match(/(^|[^\\])(\\\\)*\\[a-z]+$/i)&&(e+=" "),e.length+r.length>t.configuration.options.maxBuffer)throw new u.default("MaxBufferSize","MathJax internal buffer size exceeded; is there a recursive macro call?");return e+r}function v(t,e){for(;e>0;)t=t.trim().slice(1,-1),e--;return t.trim()}function _(t,e){for(var r=t.length,n=0,o="",i=0,a=0,s=!0,l=!1;in&&(a=n)),n++;break;case"}":n&&n--,(s||l)&&(a--,l=!0),s=!1;break;default:if(!n&&-1!==e.indexOf(c))return[l?"true":v(o,a),c,t.slice(i)];s=!1,l=!1}o+=c}if(n)throw new u.default("ExtraOpenMissingClose","Extra open brace or missing close brace");return[l?"true":v(o,a),"",t.slice(i)]}t.matchDimen=f,t.dimen2em=function(t){var e=n(f(t),2),o=e[0],i=e[1],a=parseFloat(o||"1"),s=r[i];return s?s(a):0},t.Em=m,t.cols=function(){for(var t=[],e=0;e1&&(l=[t.create("node","mrow",l)]),l},t.internalText=g,t.underOver=function(e,r,n,o,i){if(t.checkMovableLimits(r),l.default.isType(r,"munderover")&&l.default.isEmbellished(r)){l.default.setProperties(l.default.getCoreMO(r),{lspace:0,rspace:0});var a=e.create("node","mo",[],{rspace:0});r=e.create("node","mrow",[a,r])}var c=e.create("node","munderover",[r]);l.default.setChild(c,"over"===o?c.over:c.under,n);var u=c;return i&&(u=e.create("node","TeXAtom",[c],{texClass:s.TEXCLASS.OP,movesupsub:!0})),l.default.setProperty(u,"subsupOK",!0),u},t.checkMovableLimits=function(t){var e=l.default.isType(t,"mo")?l.default.getForm(t):null;(l.default.getProperty(t,"movablelimits")||e&&e[3]&&e[3].movablelimits)&&l.default.setProperties(t,{movablelimits:!1})},t.trimSpaces=function(t){if("string"!=typeof t)return t;var e=t.trim();return e.match(/\\$/)&&t.match(/ $/)&&(e+=" "),e},t.setArrayAlign=function(e,r){return"t"===(r=t.trimSpaces(r||""))?e.arraydef.align="baseline 1":"b"===r?e.arraydef.align="baseline -1":"c"===r?e.arraydef.align="axis":r&&(e.arraydef.align=r),e},t.substituteArgs=function(t,e,r){for(var n="",o="",i=0;ie.length)throw new u.default("IllegalMacroParam","Illegal macro parameter reference");o=b(t,b(t,o,n),e[parseInt(a,10)-1]),n=""}else n+=a}return b(t,o,n)},t.addArgs=b,t.checkMaxMacros=function(t,e){if(void 0===e&&(e=!0),!(++t.macroCount<=t.configuration.options.maxMacros))throw e?new u.default("MaxMacroSub1","MathJax maximum macro substitution count exceeded; is here a recursive macro call?"):new u.default("MaxMacroSub2","MathJax maximum substitution count exceeded; is there a recursive latex environment?")},t.checkEqnEnv=function(t){if(t.stack.global.eqnenv)throw new u.default("ErroneousNestingEq","Erroneous nesting of equation structures");t.stack.global.eqnenv=!0},t.copyNode=function(t,e){var r=t.copy(),n=e.configuration;return r.walkTree((function(t){var e,r;n.addNode(t.kind,t);var i=(t.getProperty("in-lists")||"").split(/,/);try{for(var a=o(i),s=a.next();!s.done;s=a.next()){var l=s.value;l&&n.addNode(l,t)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}})),r},t.MmlFilterAttribute=function(t,e,r){return r},t.getFontDef=function(t){var e=t.stack.env.font;return e?{mathvariant:e}:{}},t.keyvalOptions=function(t,e,r){var i,a;void 0===e&&(e=null),void 0===r&&(r=!1);var s=function(t){var e,r,o,i,a,s={},l=t;for(;l;)i=(e=n(_(l,["=",","]),3))[0],o=e[1],l=e[2],"="===o?(a=(r=n(_(l,[","]),3))[0],o=r[1],l=r[2],a="false"===a||"true"===a?JSON.parse(a):a,s[i]=a):i&&(s[i]=!0);return s}(t);if(e)try{for(var l=o(Object.keys(s)),c=l.next();!c.done;c=l.next()){var p=c.value;if(!e.hasOwnProperty(p)){if(r)throw new u.default("InvalidOption","Invalid option: %1",p);delete s[p]}}}catch(t){i={error:t}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(i)throw i.error}}return s}}(a||(a={})),e.default=a},9497:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseItem=e.MmlStack=void 0;var c=l(r(3971)),u=function(){function t(t){this._nodes=t}return Object.defineProperty(t.prototype,"nodes",{get:function(){return this._nodes},enumerable:!1,configurable:!0}),t.prototype.Push=function(){for(var t,e=[],r=0;r0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TagsFactory=e.AllTags=e.NoTags=e.AbstractTags=e.TagInfo=e.Label=void 0;var s=a(r(8417)),l=function(t,e){void 0===t&&(t="???"),void 0===e&&(e=""),this.tag=t,this.id=e};e.Label=l;var c=function(t,e,r,n,o,i,a,s){void 0===t&&(t=""),void 0===e&&(e=!1),void 0===r&&(r=!1),void 0===n&&(n=null),void 0===o&&(o=""),void 0===i&&(i=""),void 0===a&&(a=!1),void 0===s&&(s=""),this.env=t,this.taggable=e,this.defaultTags=r,this.tag=n,this.tagId=o,this.tagFormat=i,this.noTag=a,this.labelId=s};e.TagInfo=c;var u=function(){function t(){this.counter=0,this.allCounter=0,this.configuration=null,this.ids={},this.allIds={},this.labels={},this.allLabels={},this.redo=!1,this.refUpdate=!1,this.currentTag=new c,this.history=[],this.stack=[],this.enTag=function(t,e){var r=this.configuration.nodeFactory,n=r.create("node","mtd",[t]),o=r.create("node","mlabeledtr",[e,n]);return r.create("node","mtable",[o],{side:this.configuration.options.tagSide,minlabelspacing:this.configuration.options.tagIndent,displaystyle:!0})}}return t.prototype.start=function(t,e,r){this.currentTag&&this.stack.push(this.currentTag),this.currentTag=new c(t,e,r)},Object.defineProperty(t.prototype,"env",{get:function(){return this.currentTag.env},enumerable:!1,configurable:!0}),t.prototype.end=function(){this.history.push(this.currentTag),this.currentTag=this.stack.pop()},t.prototype.tag=function(t,e){this.currentTag.tag=t,this.currentTag.tagFormat=e?t:this.formatTag(t),this.currentTag.noTag=!1},t.prototype.notag=function(){this.tag("",!0),this.currentTag.noTag=!0},Object.defineProperty(t.prototype,"noTag",{get:function(){return this.currentTag.noTag},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"label",{get:function(){return this.currentTag.labelId},set:function(t){this.currentTag.labelId=t},enumerable:!1,configurable:!0}),t.prototype.formatUrl=function(t,e){return e+"#"+encodeURIComponent(t)},t.prototype.formatTag=function(t){return"("+t+")"},t.prototype.formatId=function(t){return"mjx-eqn:"+t.replace(/\s/g,"_")},t.prototype.formatNumber=function(t){return t.toString()},t.prototype.autoTag=function(){null==this.currentTag.tag&&(this.counter++,this.tag(this.formatNumber(this.counter),!1))},t.prototype.clearTag=function(){this.label="",this.tag(null,!0),this.currentTag.tagId=""},t.prototype.getTag=function(t){if(void 0===t&&(t=!1),t)return this.autoTag(),this.makeTag();var e=this.currentTag;return e.taggable&&!e.noTag&&(e.defaultTags&&this.autoTag(),e.tag)?this.makeTag():null},t.prototype.resetTag=function(){this.history=[],this.redo=!1,this.refUpdate=!1,this.clearTag()},t.prototype.reset=function(t){void 0===t&&(t=0),this.resetTag(),this.counter=this.allCounter=t,this.allLabels={},this.allIds={}},t.prototype.startEquation=function(t){this.history=[],this.stack=[],this.clearTag(),this.currentTag=new c("",void 0,void 0),this.labels={},this.ids={},this.counter=this.allCounter,this.redo=!1;var e=t.inputData.recompile;e&&(this.refUpdate=!0,this.counter=e.counter)},t.prototype.finishEquation=function(t){this.redo&&(t.inputData.recompile={state:t.state(),counter:this.allCounter}),this.refUpdate||(this.allCounter=this.counter),Object.assign(this.allIds,this.ids),Object.assign(this.allLabels,this.labels)},t.prototype.finalize=function(t,e){if(!e.display||this.currentTag.env||null==this.currentTag.tag)return t;var r=this.makeTag();return this.enTag(t,r)},t.prototype.makeId=function(){this.currentTag.tagId=this.formatId(this.configuration.options.useLabelIds&&this.label||this.currentTag.tag)},t.prototype.makeTag=function(){this.makeId(),this.label&&(this.labels[this.label]=new l(this.currentTag.tag,this.currentTag.tagId));var t=new s.default("\\text{"+this.currentTag.tagFormat+"}",{},this.configuration).mml();return this.configuration.nodeFactory.create("node","mtd",[t],{id:this.currentTag.tagId})},t}();e.AbstractTags=u;var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.autoTag=function(){},e.prototype.getTag=function(){return this.currentTag.tag?t.prototype.getTag.call(this):null},e}(u);e.NoTags=p;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.finalize=function(t,e){if(!e.display||this.history.find((function(t){return t.taggable})))return t;var r=this.getTag(!0);return this.enTag(t,r)},e}(u);e.AllTags=h,function(t){var e=new Map([["none",p],["all",h]]),r="none";t.OPTIONS={tags:r,tagSide:"right",tagIndent:"0.8em",useLabelIds:!0,ignoreDuplicateLabels:!1},t.add=function(t,r){e.set(t,r)},t.addTags=function(e){var r,n;try{for(var o=i(Object.keys(e)),a=o.next();!a.done;a=o.next()){var s=a.value;t.add(s,e[s])}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}},t.create=function(t){var n=e.get(t)||e.get(r);if(!n)throw Error("Unknown tags class");return new n},t.setDefault=function(t){r=t},t.getDefault=function(){return t.create(r)}}(e.TagsFactory||(e.TagsFactory={}))},8317:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.TexConstant=void 0,function(t){t.Variant={NORMAL:"normal",BOLD:"bold",ITALIC:"italic",BOLDITALIC:"bold-italic",DOUBLESTRUCK:"double-struck",FRAKTUR:"fraktur",BOLDFRAKTUR:"bold-fraktur",SCRIPT:"script",BOLDSCRIPT:"bold-script",SANSSERIF:"sans-serif",BOLDSANSSERIF:"bold-sans-serif",SANSSERIFITALIC:"sans-serif-italic",SANSSERIFBOLDITALIC:"sans-serif-bold-italic",MONOSPACE:"monospace",INITIAL:"inital",TAILED:"tailed",LOOPED:"looped",STRETCHED:"stretched",CALLIGRAPHIC:"-tex-calligraphic",BOLDCALLIGRAPHIC:"-tex-bold-calligraphic",OLDSTYLE:"-tex-oldstyle",BOLDOLDSTYLE:"-tex-bold-oldstyle",MATHITALIC:"-tex-mathit"},t.Form={PREFIX:"prefix",INFIX:"infix",POSTFIX:"postfix"},t.LineBreak={AUTO:"auto",NEWLINE:"newline",NOBREAK:"nobreak",GOODBREAK:"goodbreak",BADBREAK:"badbreak"},t.LineBreakStyle={BEFORE:"before",AFTER:"after",DUPLICATE:"duplicate",INFIXLINBREAKSTYLE:"infixlinebreakstyle"},t.IndentAlign={LEFT:"left",CENTER:"center",RIGHT:"right",AUTO:"auto",ID:"id",INDENTALIGN:"indentalign"},t.IndentShift={INDENTSHIFT:"indentshift"},t.LineThickness={THIN:"thin",MEDIUM:"medium",THICK:"thick"},t.Notation={LONGDIV:"longdiv",ACTUARIAL:"actuarial",PHASORANGLE:"phasorangle",RADICAL:"radical",BOX:"box",ROUNDEDBOX:"roundedbox",CIRCLE:"circle",LEFT:"left",RIGHT:"right",TOP:"top",BOTTOM:"bottom",UPDIAGONALSTRIKE:"updiagonalstrike",DOWNDIAGONALSTRIKE:"downdiagonalstrike",VERTICALSTRIKE:"verticalstrike",HORIZONTALSTRIKE:"horizontalstrike",NORTHEASTARROW:"northeastarrow",MADRUWB:"madruwb",UPDIAGONALARROW:"updiagonalarrow"},t.Align={TOP:"top",BOTTOM:"bottom",CENTER:"center",BASELINE:"baseline",AXIS:"axis",LEFT:"left",RIGHT:"right"},t.Lines={NONE:"none",SOLID:"solid",DASHED:"dashed"},t.Side={LEFT:"left",RIGHT:"right",LEFTOVERLAP:"leftoverlap",RIGHTOVERLAP:"rightoverlap"},t.Width={AUTO:"auto",FIT:"fit"},t.Actiontype={TOGGLE:"toggle",STATUSLINE:"statusline",TOOLTIP:"tooltip",INPUT:"input"},t.Overflow={LINBREAK:"linebreak",SCROLL:"scroll",ELIDE:"elide",TRUNCATE:"truncate",SCALE:"scale"},t.Unit={EM:"em",EX:"ex",PX:"px",IN:"in",CM:"cm",MM:"mm",PT:"pt",PC:"pc"}}(e.TexConstant||(e.TexConstant={}))},3971:function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(e,r){for(var n=[],o=2;o="0"&&a<="9")n[o]=r[parseInt(n[o],10)-1],"number"==typeof n[o]&&(n[o]=n[o].toString());else if("{"===a){if((a=n[o].substr(1))>="0"&&a<="9")n[o]=r[parseInt(n[o].substr(1,n[o].length-2),10)-1],"number"==typeof n[o]&&(n[o]=n[o].toString());else n[o].match(/^\{([a-z]+):%(\d+)\|(.*)\}$/)&&(n[o]="%"+n[o])}null==n[o]&&(n[o]="???")}return n.join("")},t.pattern=/%(\d+|\{\d+\}|\{[a-z]+:\%\d+(?:\|(?:%\{\d+\}|%.|[^\}])*)+\}|.)/g,t}();e.default=r},8417:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;oe)throw new u.default("XalignOverflow","Extra %1 in row of %2","&",this.name)},e.prototype.EndRow=function(){for(var e,r=this.row,n=this.getProperty("xalignat");r.lengththis.maxrow&&(this.maxrow=this.row.length),t.prototype.EndRow.call(this);var o=this.table[this.table.length-1];if(this.getProperty("zeroWidthLabel")&&o.isKind("mlabeledtr")){var a=c.default.getChildren(o)[0],s=this.factory.configuration.options.tagSide,l=i({width:0},"right"===s?{lspace:"-1width"}:{}),u=this.create("node","mpadded",c.default.getChildren(a),l);a.setChildren([u])}},e.prototype.EndTable=function(){(t.prototype.EndTable.call(this),this.center)&&(this.maxrow<=2&&(delete this.arraydef.width,delete this.global.indentalign))},e}(s.EqnArrayItem);e.FlalignItem=d},7379:function(t,e,r){var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var s=r(4387),l=i(r(9140)),c=r(8317),u=a(r(5450)),p=a(r(1130)),h=r(9007),d=r(6010);new l.CharacterMap("AMSmath-mathchar0mo",u.default.mathchar0mo,{iiiint:["\u2a0c",{texClass:h.TEXCLASS.OP}]}),new l.RegExpMap("AMSmath-operatorLetter",s.AmsMethods.operatorLetter,/[-*]/i),new l.CommandMap("AMSmath-macros",{mathring:["Accent","02DA"],nobreakspace:"Tilde",negmedspace:["Spacer",d.MATHSPACE.negativemediummathspace],negthickspace:["Spacer",d.MATHSPACE.negativethickmathspace],idotsint:["MultiIntegral","\\int\\cdots\\int"],dddot:["Accent","20DB"],ddddot:["Accent","20DC"],sideset:"SideSet",boxed:["Macro","\\fbox{$\\displaystyle{#1}$}",1],tag:"HandleTag",notag:"HandleNoTag",eqref:["HandleRef",!0],substack:["Macro","\\begin{subarray}{c}#1\\end{subarray}",1],injlim:["NamedOp","inj lim"],projlim:["NamedOp","proj lim"],varliminf:["Macro","\\mathop{\\underline{\\mmlToken{mi}{lim}}}"],varlimsup:["Macro","\\mathop{\\overline{\\mmlToken{mi}{lim}}}"],varinjlim:["Macro","\\mathop{\\underrightarrow{\\mmlToken{mi}{lim}}}"],varprojlim:["Macro","\\mathop{\\underleftarrow{\\mmlToken{mi}{lim}}}"],DeclareMathOperator:"HandleDeclareOp",operatorname:"HandleOperatorName",genfrac:"Genfrac",frac:["Genfrac","","","",""],tfrac:["Genfrac","","","","1"],dfrac:["Genfrac","","","","0"],binom:["Genfrac","(",")","0",""],tbinom:["Genfrac","(",")","0","1"],dbinom:["Genfrac","(",")","0","0"],cfrac:"CFrac",shoveleft:["HandleShove",c.TexConstant.Align.LEFT],shoveright:["HandleShove",c.TexConstant.Align.RIGHT],xrightarrow:["xArrow",8594,5,10],xleftarrow:["xArrow",8592,10,5]},s.AmsMethods),new l.EnvironmentMap("AMSmath-environment",u.default.environment,{"equation*":["Equation",null,!1],"eqnarray*":["EqnArray",null,!1,!0,"rcl",p.default.cols(0,d.MATHSPACE.thickmathspace),".5em"],align:["EqnArray",null,!0,!0,"rl",p.default.cols(0,2)],"align*":["EqnArray",null,!1,!0,"rl",p.default.cols(0,2)],multline:["Multline",null,!0],"multline*":["Multline",null,!1],split:["EqnArray",null,!1,!1,"rl",p.default.cols(0)],gather:["EqnArray",null,!0,!0,"c"],"gather*":["EqnArray",null,!1,!0,"c"],alignat:["AlignAt",null,!0,!0],"alignat*":["AlignAt",null,!1,!0],alignedat:["AlignAt",null,!1,!1],aligned:["AmsEqnArray",null,null,null,"rl",p.default.cols(0,2),".5em","D"],gathered:["AmsEqnArray",null,null,null,"c",null,".5em","D"],xalignat:["XalignAt",null,!0,!0],"xalignat*":["XalignAt",null,!1,!0],xxalignat:["XalignAt",null,!1,!1],flalign:["FlalignArray",null,!0,!1,!0,"rlc","auto auto fit"],"flalign*":["FlalignArray",null,!1,!1,!0,"rlc","auto auto fit"],subarray:["Array",null,null,null,null,p.default.cols(0),"0.1em","S",1],smallmatrix:["Array",null,null,null,"c",p.default.cols(1/3),".2em","S",1],matrix:["Array",null,null,null,"c"],pmatrix:["Array",null,"(",")","c"],bmatrix:["Array",null,"[","]","c"],Bmatrix:["Array",null,"\\{","\\}","c"],vmatrix:["Array",null,"\\vert","\\vert","c"],Vmatrix:["Array",null,"\\Vert","\\Vert","c"],cases:["Array",null,"\\{",".","ll",null,".2em","T"]},s.AmsMethods),new l.DelimiterMap("AMSmath-delimiter",u.default.delimiter,{"\\lvert":["|",{texClass:h.TEXCLASS.OPEN}],"\\rvert":["|",{texClass:h.TEXCLASS.CLOSE}],"\\lVert":["\u2016",{texClass:h.TEXCLASS.OPEN}],"\\rVert":["\u2016",{texClass:h.TEXCLASS.CLOSE}]}),new l.CharacterMap("AMSsymbols-mathchar0mi",u.default.mathchar0mi,{digamma:"\u03dd",varkappa:"\u03f0",varGamma:["\u0393",{mathvariant:c.TexConstant.Variant.ITALIC}],varDelta:["\u0394",{mathvariant:c.TexConstant.Variant.ITALIC}],varTheta:["\u0398",{mathvariant:c.TexConstant.Variant.ITALIC}],varLambda:["\u039b",{mathvariant:c.TexConstant.Variant.ITALIC}],varXi:["\u039e",{mathvariant:c.TexConstant.Variant.ITALIC}],varPi:["\u03a0",{mathvariant:c.TexConstant.Variant.ITALIC}],varSigma:["\u03a3",{mathvariant:c.TexConstant.Variant.ITALIC}],varUpsilon:["\u03a5",{mathvariant:c.TexConstant.Variant.ITALIC}],varPhi:["\u03a6",{mathvariant:c.TexConstant.Variant.ITALIC}],varPsi:["\u03a8",{mathvariant:c.TexConstant.Variant.ITALIC}],varOmega:["\u03a9",{mathvariant:c.TexConstant.Variant.ITALIC}],beth:"\u2136",gimel:"\u2137",daleth:"\u2138",backprime:["\u2035",{variantForm:!0}],hslash:"\u210f",varnothing:["\u2205",{variantForm:!0}],blacktriangle:"\u25b4",triangledown:["\u25bd",{variantForm:!0}],blacktriangledown:"\u25be",square:"\u25fb",Box:"\u25fb",blacksquare:"\u25fc",lozenge:"\u25ca",Diamond:"\u25ca",blacklozenge:"\u29eb",circledS:["\u24c8",{mathvariant:c.TexConstant.Variant.NORMAL}],bigstar:"\u2605",sphericalangle:"\u2222",measuredangle:"\u2221",nexists:"\u2204",complement:"\u2201",mho:"\u2127",eth:["\xf0",{mathvariant:c.TexConstant.Variant.NORMAL}],Finv:"\u2132",diagup:"\u2571",Game:"\u2141",diagdown:"\u2572",Bbbk:["k",{mathvariant:c.TexConstant.Variant.DOUBLESTRUCK}],yen:"\xa5",circledR:"\xae",checkmark:"\u2713",maltese:"\u2720"}),new l.CharacterMap("AMSsymbols-mathchar0mo",u.default.mathchar0mo,{dotplus:"\u2214",ltimes:"\u22c9",smallsetminus:["\u2216",{variantForm:!0}],rtimes:"\u22ca",Cap:"\u22d2",doublecap:"\u22d2",leftthreetimes:"\u22cb",Cup:"\u22d3",doublecup:"\u22d3",rightthreetimes:"\u22cc",barwedge:"\u22bc",curlywedge:"\u22cf",veebar:"\u22bb",curlyvee:"\u22ce",doublebarwedge:"\u2a5e",boxminus:"\u229f",circleddash:"\u229d",boxtimes:"\u22a0",circledast:"\u229b",boxdot:"\u22a1",circledcirc:"\u229a",boxplus:"\u229e",centerdot:["\u22c5",{variantForm:!0}],divideontimes:"\u22c7",intercal:"\u22ba",leqq:"\u2266",geqq:"\u2267",leqslant:"\u2a7d",geqslant:"\u2a7e",eqslantless:"\u2a95",eqslantgtr:"\u2a96",lesssim:"\u2272",gtrsim:"\u2273",lessapprox:"\u2a85",gtrapprox:"\u2a86",approxeq:"\u224a",lessdot:"\u22d6",gtrdot:"\u22d7",lll:"\u22d8",llless:"\u22d8",ggg:"\u22d9",gggtr:"\u22d9",lessgtr:"\u2276",gtrless:"\u2277",lesseqgtr:"\u22da",gtreqless:"\u22db",lesseqqgtr:"\u2a8b",gtreqqless:"\u2a8c",doteqdot:"\u2251",Doteq:"\u2251",eqcirc:"\u2256",risingdotseq:"\u2253",circeq:"\u2257",fallingdotseq:"\u2252",triangleq:"\u225c",backsim:"\u223d",thicksim:["\u223c",{variantForm:!0}],backsimeq:"\u22cd",thickapprox:["\u2248",{variantForm:!0}],subseteqq:"\u2ac5",supseteqq:"\u2ac6",Subset:"\u22d0",Supset:"\u22d1",sqsubset:"\u228f",sqsupset:"\u2290",preccurlyeq:"\u227c",succcurlyeq:"\u227d",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",precsim:"\u227e",succsim:"\u227f",precapprox:"\u2ab7",succapprox:"\u2ab8",vartriangleleft:"\u22b2",lhd:"\u22b2",vartriangleright:"\u22b3",rhd:"\u22b3",trianglelefteq:"\u22b4",unlhd:"\u22b4",trianglerighteq:"\u22b5",unrhd:"\u22b5",vDash:["\u22a8",{variantForm:!0}],Vdash:"\u22a9",Vvdash:"\u22aa",smallsmile:["\u2323",{variantForm:!0}],shortmid:["\u2223",{variantForm:!0}],smallfrown:["\u2322",{variantForm:!0}],shortparallel:["\u2225",{variantForm:!0}],bumpeq:"\u224f",between:"\u226c",Bumpeq:"\u224e",pitchfork:"\u22d4",varpropto:["\u221d",{variantForm:!0}],backepsilon:"\u220d",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",therefore:"\u2234",because:"\u2235",eqsim:"\u2242",vartriangle:["\u25b3",{variantForm:!0}],Join:"\u22c8",nless:"\u226e",ngtr:"\u226f",nleq:"\u2270",ngeq:"\u2271",nleqslant:["\u2a87",{variantForm:!0}],ngeqslant:["\u2a88",{variantForm:!0}],nleqq:["\u2270",{variantForm:!0}],ngeqq:["\u2271",{variantForm:!0}],lneq:"\u2a87",gneq:"\u2a88",lneqq:"\u2268",gneqq:"\u2269",lvertneqq:["\u2268",{variantForm:!0}],gvertneqq:["\u2269",{variantForm:!0}],lnsim:"\u22e6",gnsim:"\u22e7",lnapprox:"\u2a89",gnapprox:"\u2a8a",nprec:"\u2280",nsucc:"\u2281",npreceq:["\u22e0",{variantForm:!0}],nsucceq:["\u22e1",{variantForm:!0}],precneqq:"\u2ab5",succneqq:"\u2ab6",precnsim:"\u22e8",succnsim:"\u22e9",precnapprox:"\u2ab9",succnapprox:"\u2aba",nsim:"\u2241",ncong:"\u2247",nshortmid:["\u2224",{variantForm:!0}],nshortparallel:["\u2226",{variantForm:!0}],nmid:"\u2224",nparallel:"\u2226",nvdash:"\u22ac",nvDash:"\u22ad",nVdash:"\u22ae",nVDash:"\u22af",ntriangleleft:"\u22ea",ntriangleright:"\u22eb",ntrianglelefteq:"\u22ec",ntrianglerighteq:"\u22ed",nsubseteq:"\u2288",nsupseteq:"\u2289",nsubseteqq:["\u2288",{variantForm:!0}],nsupseteqq:["\u2289",{variantForm:!0}],subsetneq:"\u228a",supsetneq:"\u228b",varsubsetneq:["\u228a",{variantForm:!0}],varsupsetneq:["\u228b",{variantForm:!0}],subsetneqq:"\u2acb",supsetneqq:"\u2acc",varsubsetneqq:["\u2acb",{variantForm:!0}],varsupsetneqq:["\u2acc",{variantForm:!0}],leftleftarrows:"\u21c7",rightrightarrows:"\u21c9",leftrightarrows:"\u21c6",rightleftarrows:"\u21c4",Lleftarrow:"\u21da",Rrightarrow:"\u21db",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",leftarrowtail:"\u21a2",rightarrowtail:"\u21a3",looparrowleft:"\u21ab",looparrowright:"\u21ac",leftrightharpoons:"\u21cb",rightleftharpoons:["\u21cc",{variantForm:!0}],curvearrowleft:"\u21b6",curvearrowright:"\u21b7",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",Lsh:"\u21b0",Rsh:"\u21b1",upuparrows:"\u21c8",downdownarrows:"\u21ca",upharpoonleft:"\u21bf",upharpoonright:"\u21be",downharpoonleft:"\u21c3",restriction:"\u21be",multimap:"\u22b8",downharpoonright:"\u21c2",leftrightsquigarrow:"\u21ad",rightsquigarrow:"\u21dd",leadsto:"\u21dd",dashrightarrow:"\u21e2",dashleftarrow:"\u21e0",nleftarrow:"\u219a",nrightarrow:"\u219b",nLeftarrow:"\u21cd",nRightarrow:"\u21cf",nleftrightarrow:"\u21ae",nLeftrightarrow:"\u21ce"}),new l.DelimiterMap("AMSsymbols-delimiter",u.default.delimiter,{"\\ulcorner":"\u231c","\\urcorner":"\u231d","\\llcorner":"\u231e","\\lrcorner":"\u231f"}),new l.CommandMap("AMSsymbols-macros",{implies:["Macro","\\;\\Longrightarrow\\;"],impliedby:["Macro","\\;\\Longleftarrow\\;"]},s.AmsMethods)},4387:function(t,e,r){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.NEW_OPS=e.AmsMethods=void 0;var a=i(r(1130)),s=i(r(5450)),l=i(r(1256)),c=r(8317),u=i(r(8417)),p=i(r(3971)),h=r(8803),d=i(r(7693)),f=r(9007);function m(t){if(!t||t.isInferred&&0===t.childNodes.length)return[null,null];if(t.isKind("msubsup")&&y(t))return[t,null];var e=l.default.getChildAt(t,0);return t.isInferred&&e&&y(e)?(t.childNodes.splice(0,1),[e,t]):[null,t]}function y(t){var e=t.childNodes[0];return e&&e.isKind("mi")&&""===e.getText()}e.AmsMethods={},e.AmsMethods.AmsEqnArray=function(t,e,r,n,o,i,s){var l=t.GetBrackets("\\begin{"+e.getName()+"}"),c=d.default.EqnArray(t,e,r,n,o,i,s);return a.default.setArrayAlign(c,l)},e.AmsMethods.AlignAt=function(t,r,n,o){var i,s,l=r.getName(),c="",u=[];if(o||(s=t.GetBrackets("\\begin{"+l+"}")),(i=t.GetArgument("\\begin{"+l+"}")).match(/[^0-9]/))throw new p.default("PositiveIntegerArg","Argument to %1 must me a positive integer","\\begin{"+l+"}");for(var h=parseInt(i,10);h>0;)c+="rl",u.push("0em 0em"),h--;var d=u.join(" ");if(o)return e.AmsMethods.EqnArray(t,r,n,o,c,d);var f=e.AmsMethods.EqnArray(t,r,n,o,c,d);return a.default.setArrayAlign(f,s)},e.AmsMethods.Multline=function(t,e,r){t.Push(e),a.default.checkEqnEnv(t);var n=t.itemFactory.create("multline",r,t.stack);return n.arraydef={displaystyle:!0,rowspacing:".5em",columnspacing:"100%",width:t.options.ams.multlineWidth,side:t.options.tagSide,minlabelspacing:t.options.tagIndent,framespacing:t.options.ams.multlineIndent+" 0",frame:"","data-width-includes-label":!0},n},e.AmsMethods.XalignAt=function(t,r,n,o){var i=t.GetArgument("\\begin{"+r.getName()+"}");if(i.match(/[^0-9]/))throw new p.default("PositiveIntegerArg","Argument to %1 must me a positive integer","\\begin{"+r.getName()+"}");var a=o?"crl":"rlc",s=o?"fit auto auto":"auto auto fit",l=e.AmsMethods.FlalignArray(t,r,n,o,!1,a,s,!0);return l.setProperty("xalignat",2*parseInt(i)),l},e.AmsMethods.FlalignArray=function(t,e,r,n,o,i,s,l){void 0===l&&(l=!1),t.Push(e),a.default.checkEqnEnv(t),i=i.split("").join(" ").replace(/r/g,"right").replace(/l/g,"left").replace(/c/g,"center");var c=t.itemFactory.create("flalign",e.getName(),r,n,o,t.stack);return c.arraydef={width:"100%",displaystyle:!0,columnalign:i,columnspacing:"0em",columnwidth:s,rowspacing:"3pt",side:t.options.tagSide,minlabelspacing:l?"0":t.options.tagIndent,"data-width-includes-label":!0},c.setProperty("zeroWidthLabel",l),c},e.NEW_OPS="ams-declare-ops",e.AmsMethods.HandleDeclareOp=function(t,r){var n=t.GetStar()?"*":"",o=a.default.trimSpaces(t.GetArgument(r));"\\"===o.charAt(0)&&(o=o.substr(1));var i=t.GetArgument(r);t.configuration.handlers.retrieve(e.NEW_OPS).add(o,new h.Macro(o,e.AmsMethods.Macro,["\\operatorname".concat(n,"{").concat(i,"}")]))},e.AmsMethods.HandleOperatorName=function(t,e){var r=t.GetStar(),o=a.default.trimSpaces(t.GetArgument(e)),i=new u.default(o,n(n({},t.stack.env),{font:c.TexConstant.Variant.NORMAL,multiLetterIdentifiers:/^[-*a-z]+/i,operatorLetters:!0}),t.configuration).mml();if(i.isKind("mi")||(i=t.create("node","TeXAtom",[i])),l.default.setProperties(i,{movesupsub:r,movablelimits:!0,texClass:f.TEXCLASS.OP}),!r){var s=t.GetNext(),p=t.i;"\\"===s&&++t.i&&"limits"!==t.GetCS()&&(t.i=p)}t.Push(i)},e.AmsMethods.SideSet=function(t,e){var r=o(m(t.ParseArg(e)),2),n=r[0],i=r[1],s=o(m(t.ParseArg(e)),2),c=s[0],u=s[1],p=t.ParseArg(e),h=p;n&&(i?n.replaceChild(t.create("node","mphantom",[t.create("node","mpadded",[a.default.copyNode(p,t)],{width:0})]),l.default.getChildAt(n,0)):(h=t.create("node","mmultiscripts",[p]),c&&l.default.appendChildren(h,[l.default.getChildAt(c,1)||t.create("node","none"),l.default.getChildAt(c,2)||t.create("node","none")]),l.default.setProperty(h,"scriptalign","left"),l.default.appendChildren(h,[t.create("node","mprescripts"),l.default.getChildAt(n,1)||t.create("node","none"),l.default.getChildAt(n,2)||t.create("node","none")]))),c&&h===p&&(c.replaceChild(p,l.default.getChildAt(c,0)),h=c);var d=t.create("node","TeXAtom",[],{texClass:f.TEXCLASS.OP,movesupsub:!0,movablelimits:!0});i&&(n&&d.appendChild(n),d.appendChild(i)),d.appendChild(h),u&&d.appendChild(u),t.Push(d)},e.AmsMethods.operatorLetter=function(t,e){return!!t.stack.env.operatorLetters&&s.default.variable(t,e)},e.AmsMethods.MultiIntegral=function(t,e,r){var n=t.GetNext();if("\\"===n){var o=t.i;n=t.GetArgument(e),t.i=o,"\\limits"===n&&(r="\\idotsint"===e?"\\!\\!\\mathop{\\,\\,"+r+"}":"\\!\\!\\!\\mathop{\\,\\,\\,"+r+"}")}t.string=r+" "+t.string.slice(t.i),t.i=0},e.AmsMethods.xArrow=function(t,e,r,n,o){var i={width:"+"+a.default.Em((n+o)/18),lspace:a.default.Em(n/18)},s=t.GetBrackets(e),c=t.ParseArg(e),p=t.create("node","mspace",[],{depth:".25em"}),h=t.create("token","mo",{stretchy:!0,texClass:f.TEXCLASS.REL},String.fromCodePoint(r));h=t.create("node","mstyle",[h],{scriptlevel:0});var d=t.create("node","munderover",[h]),m=t.create("node","mpadded",[c,p],i);if(l.default.setAttribute(m,"voffset","-.2em"),l.default.setAttribute(m,"height","-.2em"),l.default.setChild(d,d.over,m),s){var y=new u.default(s,t.stack.env,t.configuration).mml(),g=t.create("node","mspace",[],{height:".75em"});m=t.create("node","mpadded",[y,g],i),l.default.setAttribute(m,"voffset",".15em"),l.default.setAttribute(m,"depth","-.15em"),l.default.setChild(d,d.under,m)}l.default.setProperty(d,"subsupOK",!0),t.Push(d)},e.AmsMethods.HandleShove=function(t,e,r){var n=t.stack.Top();if("multline"!==n.kind)throw new p.default("CommandOnlyAllowedInEnv","%1 only allowed in %2 environment",t.currentCS,"multline");if(n.Size())throw new p.default("CommandAtTheBeginingOfLine","%1 must come at the beginning of the line",t.currentCS);n.setProperty("shove",r)},e.AmsMethods.CFrac=function(t,e){var r=a.default.trimSpaces(t.GetBrackets(e,"")),n=t.GetArgument(e),o=t.GetArgument(e),i={l:c.TexConstant.Align.LEFT,r:c.TexConstant.Align.RIGHT,"":""},s=new u.default("\\strut\\textstyle{"+n+"}",t.stack.env,t.configuration).mml(),h=new u.default("\\strut\\textstyle{"+o+"}",t.stack.env,t.configuration).mml(),d=t.create("node","mfrac",[s,h]);if(null==(r=i[r]))throw new p.default("IllegalAlign","Illegal alignment specified in %1",t.currentCS);r&&l.default.setProperties(d,{numalign:r,denomalign:r}),t.Push(d)},e.AmsMethods.Genfrac=function(t,e,r,n,o,i){null==r&&(r=t.GetDelimiterArg(e)),null==n&&(n=t.GetDelimiterArg(e)),null==o&&(o=t.GetArgument(e)),null==i&&(i=a.default.trimSpaces(t.GetArgument(e)));var s=t.ParseArg(e),c=t.ParseArg(e),u=t.create("node","mfrac",[s,c]);if(""!==o&&l.default.setAttribute(u,"linethickness",o),(r||n)&&(l.default.setProperty(u,"withDelims",!0),u=a.default.fixedFence(t.configuration,r,u,n)),""!==i){var h=parseInt(i,10),d=["D","T","S","SS"][h];if(null==d)throw new p.default("BadMathStyleFor","Bad math style for %1",t.currentCS);u=t.create("node","mstyle",[u]),"D"===d?l.default.setProperties(u,{displaystyle:!0,scriptlevel:0}):l.default.setProperties(u,{displaystyle:!1,scriptlevel:h-1})}t.Push(u)},e.AmsMethods.HandleTag=function(t,e){if(!t.tags.currentTag.taggable&&t.tags.env)throw new p.default("CommandNotAllowedInEnv","%1 not allowed in %2 environment",t.currentCS,t.tags.env);if(t.tags.currentTag.tag)throw new p.default("MultipleCommand","Multiple %1",t.currentCS);var r=t.GetStar(),n=a.default.trimSpaces(t.GetArgument(e));t.tags.tag(n,r)},e.AmsMethods.HandleNoTag=d.default.HandleNoTag,e.AmsMethods.HandleRef=d.default.HandleRef,e.AmsMethods.Macro=d.default.Macro,e.AmsMethods.Accent=d.default.Accent,e.AmsMethods.Tilde=d.default.Tilde,e.AmsMethods.Array=d.default.Array,e.AmsMethods.Spacer=d.default.Spacer,e.AmsMethods.NamedOp=d.default.NamedOp,e.AmsMethods.EqnArray=d.default.EqnArray,e.AmsMethods.Equation=d.default.Equation},583:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AmsCdConfiguration=void 0;var n=r(9899);r(8289),e.AmsCdConfiguration=n.Configuration.create("amscd",{handler:{character:["amscd_special"],macro:["amscd_macros"],environment:["amscd_environment"]},options:{amscd:{colspace:"5pt",rowspace:"5pt",harrowsize:"2.75em",varrowsize:"1.75em",hideHorizontalLabels:!1}}})},8289:function(t,e,r){var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var s=i(r(9140)),l=a(r(5450)),c=a(r(7819));new s.EnvironmentMap("amscd_environment",l.default.environment,{CD:"CD"},c.default),new s.CommandMap("amscd_macros",{minCDarrowwidth:"minCDarrowwidth",minCDarrowheight:"minCDarrowheight"},c.default),new s.MacroMap("amscd_special",{"@":"arrow"},c.default)},7819:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=n(r(8417)),i=r(2942),a=r(9007),s=n(r(1256)),l={CD:function(t,e){t.Push(e);var r=t.itemFactory.create("array"),n=t.configuration.options.amscd;return r.setProperties({minw:t.stack.env.CD_minw||n.harrowsize,minh:t.stack.env.CD_minh||n.varrowsize}),r.arraydef={columnalign:"center",columnspacing:n.colspace,rowspacing:n.rowspace,displaystyle:!0},r},arrow:function(t,e){var r=t.string.charAt(t.i);if(!r.match(/[>":"\u2192","<":"\u2190",V:"\u2193",A:"\u2191"}[r],y=t.GetUpTo(e+r,r),g=t.GetUpTo(e+r,r);if(">"===r||"<"===r){if(c=t.create("token","mo",d,m),y||(y="\\kern "+u.getProperty("minw")),y||g){var b={width:"+.67em",lspace:".33em"};if(c=t.create("node","munderover",[c]),y){var v=new o.default(y,t.stack.env,t.configuration).mml(),_=t.create("node","mpadded",[v],b);s.default.setAttribute(_,"voffset",".1em"),s.default.setChild(c,c.over,_)}if(g){var S=new o.default(g,t.stack.env,t.configuration).mml();s.default.setChild(c,c.under,t.create("node","mpadded",[S],b))}t.configuration.options.amscd.hideHorizontalLabels&&(c=t.create("node","mpadded",c,{depth:0,height:".67em"}))}}else{var x=t.create("token","mo",f,m);c=x,(y||g)&&(c=t.create("node","mrow"),y&&s.default.appendChildren(c,[new o.default("\\scriptstyle\\llap{"+y+"}",t.stack.env,t.configuration).mml()]),x.texClass=a.TEXCLASS.ORD,s.default.appendChildren(c,[x]),g&&s.default.appendChildren(c,[new o.default("\\scriptstyle\\rlap{"+g+"}",t.stack.env,t.configuration).mml()]))}}c&&t.Push(c),l.cell(t,e)},cell:function(t,e){var r=t.stack.Top();(r.table||[]).length%2==0&&0===(r.row||[]).length&&t.Push(t.create("node","mpadded",[],{height:"8.5pt",depth:"2pt"})),t.Push(t.itemFactory.create("cell").setProperties({isEntry:!0,name:e}))},minCDarrowwidth:function(t,e){t.stack.env.CD_minw=t.GetDimen(e)},minCDarrowheight:function(t,e){t.stack.env.CD_minh=t.GetDimen(e)}};e.default=l},1275:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AutoloadConfiguration=void 0;var i=r(9899),a=r(9140),s=r(8803),l=r(7741),c=r(265),u=r(7233);function p(t,e,r,i){var a,s,u,p;if(c.Package.packages.has(t.options.require.prefix+r)){var f=t.options.autoload[r],m=n(2===f.length&&Array.isArray(f[0])?f:[f,[]],2),y=m[0],g=m[1];try{for(var b=o(y),v=b.next();!v.done;v=b.next()){var _=v.value;h.remove(_)}}catch(t){a={error:t}}finally{try{v&&!v.done&&(s=b.return)&&s.call(b)}finally{if(a)throw a.error}}try{for(var S=o(g),x=S.next();!x.done;x=S.next()){var M=x.value;d.remove(M)}}catch(t){u={error:t}}finally{try{x&&!x.done&&(p=S.return)&&p.call(S)}finally{if(u)throw u.error}}t.string=(i?e+" ":"\\begin{"+e.slice(1)+"}")+t.string.slice(t.i),t.i=0}(0,l.RequireLoad)(t,r)}var h=new a.CommandMap("autoload-macros",{},{}),d=new a.CommandMap("autoload-environments",{},{});e.AutoloadConfiguration=i.Configuration.create("autoload",{handler:{macro:["autoload-macros"],environment:["autoload-environments"]},options:{autoload:(0,u.expandable)({action:["toggle","mathtip","texttip"],amscd:[[],["CD"]],bbox:["bbox"],boldsymbol:["boldsymbol"],braket:["bra","ket","braket","set","Bra","Ket","Braket","Set","ketbra","Ketbra"],bussproofs:[[],["prooftree"]],cancel:["cancel","bcancel","xcancel","cancelto"],color:["color","definecolor","textcolor","colorbox","fcolorbox"],enclose:["enclose"],extpfeil:["xtwoheadrightarrow","xtwoheadleftarrow","xmapsto","xlongequal","xtofrom","Newextarrow"],html:["href","class","style","cssId"],mhchem:["ce","pu"],newcommand:["newcommand","renewcommand","newenvironment","renewenvironment","def","let"],unicode:["unicode"],verb:["verb"]})},config:function(t,e){var r,i,a,c,u,f,m=e.parseOptions,y=m.handlers.get("macro"),g=m.handlers.get("environment"),b=m.options.autoload;m.packageData.set("autoload",{Autoload:p});try{for(var v=o(Object.keys(b)),_=v.next();!_.done;_=v.next()){var S=_.value,x=b[S],M=n(2===x.length&&Array.isArray(x[0])?x:[x,[]],2),O=M[0],E=M[1];try{for(var A=(a=void 0,o(O)),C=A.next();!C.done;C=A.next()){var w=C.value;y.lookup(w)&&"color"!==w||h.add(w,new s.Macro(w,p,[S,!0]))}}catch(t){a={error:t}}finally{try{C&&!C.done&&(c=A.return)&&c.call(A)}finally{if(a)throw a.error}}try{for(var T=(u=void 0,o(E)),N=T.next();!N.done;N=T.next()){var L=N.value;g.lookup(L)||d.add(L,new s.Macro(L,p,[S,!1]))}}catch(t){u={error:t}}finally{try{N&&!N.done&&(f=T.return)&&f.call(T)}finally{if(u)throw u.error}}}}catch(t){r={error:t}}finally{try{_&&!_.done&&(i=v.return)&&i.call(v)}finally{if(r)throw r.error}}m.packageData.get("require")||l.RequireConfiguration.config(t,e)},init:function(t){t.options.require||(0,u.defaultOptions)(t.options,l.RequireConfiguration.options)},priority:10})},2942:function(t,e,r){var n,o,i=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),s=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),l=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&a(e,t,r);return s(e,t),e},c=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},u=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseConfiguration=e.BaseTags=e.Other=void 0;var p=r(9899),h=r(2947),d=u(r(3971)),f=u(r(1256)),m=r(9140),y=l(r(1181)),g=r(6521);r(1267);var b=r(4082);function v(t,e){var r=t.stack.env.font?{mathvariant:t.stack.env.font}:{},n=h.MapHandler.getMap("remap").lookup(e),o=(0,b.getRange)(e),i=o?o[3]:"mo",a=t.create("token",i,r,n?n.char:e);o[4]&&a.attributes.set("mathvariant",o[4]),"mo"===i&&(f.default.setProperty(a,"fixStretchy",!0),t.configuration.addNode("fixStretchy",a)),t.Push(a)}new m.CharacterMap("remap",null,{"-":"\u2212","*":"\u2217","`":"\u2018"}),e.Other=v;var _=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(g.AbstractTags);e.BaseTags=_,e.BaseConfiguration=p.Configuration.create("base",{handler:{character:["command","special","letter","digit"],delimiter:["delimiter"],macro:["delimiter","macros","mathchar0mi","mathchar0mo","mathchar7"],environment:["environment"]},fallback:{character:v,macro:function(t,e){throw new d.default("UndefinedControlSequence","Undefined control sequence %1","\\"+e)},environment:function(t,e){throw new d.default("UnknownEnv","Unknown environment '%1'",e)}},items:(o={},o[y.StartItem.prototype.kind]=y.StartItem,o[y.StopItem.prototype.kind]=y.StopItem,o[y.OpenItem.prototype.kind]=y.OpenItem,o[y.CloseItem.prototype.kind]=y.CloseItem,o[y.PrimeItem.prototype.kind]=y.PrimeItem,o[y.SubsupItem.prototype.kind]=y.SubsupItem,o[y.OverItem.prototype.kind]=y.OverItem,o[y.LeftItem.prototype.kind]=y.LeftItem,o[y.Middle.prototype.kind]=y.Middle,o[y.RightItem.prototype.kind]=y.RightItem,o[y.BeginItem.prototype.kind]=y.BeginItem,o[y.EndItem.prototype.kind]=y.EndItem,o[y.StyleItem.prototype.kind]=y.StyleItem,o[y.PositionItem.prototype.kind]=y.PositionItem,o[y.CellItem.prototype.kind]=y.CellItem,o[y.MmlItem.prototype.kind]=y.MmlItem,o[y.FnItem.prototype.kind]=y.FnItem,o[y.NotItem.prototype.kind]=y.NotItem,o[y.NonscriptItem.prototype.kind]=y.NonscriptItem,o[y.DotsItem.prototype.kind]=y.DotsItem,o[y.ArrayItem.prototype.kind]=y.ArrayItem,o[y.EqnArrayItem.prototype.kind]=y.EqnArrayItem,o[y.EquationItem.prototype.kind]=y.EquationItem,o),options:{maxMacros:1e3,baseURL:"undefined"==typeof document||0===document.getElementsByTagName("base").length?"":String(document.location).replace(/#.*$/,"")},tags:{base:_},postprocessors:[[function(t){var e,r,n=t.data;try{for(var o=c(n.getList("nonscript")),i=o.next();!i.done;i=o.next()){var a=i.value;if(a.attributes.get("scriptlevel")>0){var s=a.parent;if(s.childNodes.splice(s.childIndex(a),1),n.removeFromList(a.kind,[a]),a.isKind("mrow")){var l=a.childNodes[0];n.removeFromList("mstyle",[l]),n.removeFromList("mspace",l.childNodes[0].childNodes)}}else a.isKind("mrow")&&(a.parent.replaceChild(a.childNodes[0],a),n.removeFromList("mrow",[a]))}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}},-4]]})},1181:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;othis.maxrow&&(this.maxrow=this.row.length);var t="mtr",e=this.factory.configuration.tags.getTag();e&&(this.row=[e].concat(this.row),t="mlabeledtr"),this.factory.configuration.tags.clearTag();var r=this.create("node",t,this.row);this.table.push(r),this.row=[]},e.prototype.EndTable=function(){t.prototype.EndTable.call(this),this.factory.configuration.tags.end(),this.extendArray("columnalign",this.maxrow),this.extendArray("columnwidth",this.maxrow),this.extendArray("columnspacing",this.maxrow-1)},e.prototype.extendArray=function(t,e){if(this.arraydef[t]){var r=this.arraydef[t].split(/ /),n=a([],i(r),!1);if(n.length>1){for(;n.length",succ:"\u227b",prec:"\u227a",approx:"\u2248",succeq:"\u2ab0",preceq:"\u2aaf",supset:"\u2283",subset:"\u2282",supseteq:"\u2287",subseteq:"\u2286",in:"\u2208",ni:"\u220b",notin:"\u2209",owns:"\u220b",gg:"\u226b",ll:"\u226a",sim:"\u223c",simeq:"\u2243",perp:"\u22a5",equiv:"\u2261",asymp:"\u224d",smile:"\u2323",frown:"\u2322",ne:"\u2260",neq:"\u2260",cong:"\u2245",doteq:"\u2250",bowtie:"\u22c8",models:"\u22a8",notChar:"\u29f8",Leftrightarrow:"\u21d4",Leftarrow:"\u21d0",Rightarrow:"\u21d2",leftrightarrow:"\u2194",leftarrow:"\u2190",gets:"\u2190",rightarrow:"\u2192",to:["\u2192",{accent:!1}],mapsto:"\u21a6",leftharpoonup:"\u21bc",leftharpoondown:"\u21bd",rightharpoonup:"\u21c0",rightharpoondown:"\u21c1",nearrow:"\u2197",searrow:"\u2198",nwarrow:"\u2196",swarrow:"\u2199",rightleftharpoons:"\u21cc",hookrightarrow:"\u21aa",hookleftarrow:"\u21a9",longleftarrow:"\u27f5",Longleftarrow:"\u27f8",longrightarrow:"\u27f6",Longrightarrow:"\u27f9",Longleftrightarrow:"\u27fa",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",ldots:"\u2026",cdots:"\u22ef",vdots:"\u22ee",ddots:"\u22f1",dotsc:"\u2026",dotsb:"\u22ef",dotsm:"\u22ef",dotsi:"\u22ef",dotso:"\u2026",ldotp:[".",{texClass:h.TEXCLASS.PUNCT}],cdotp:["\u22c5",{texClass:h.TEXCLASS.PUNCT}],colon:[":",{texClass:h.TEXCLASS.PUNCT}]}),new s.CharacterMap("mathchar7",u.default.mathchar7,{Gamma:"\u0393",Delta:"\u0394",Theta:"\u0398",Lambda:"\u039b",Xi:"\u039e",Pi:"\u03a0",Sigma:"\u03a3",Upsilon:"\u03a5",Phi:"\u03a6",Psi:"\u03a8",Omega:"\u03a9",_:"_","#":"#",$:"$","%":"%","&":"&",And:"&"}),new s.DelimiterMap("delimiter",u.default.delimiter,{"(":"(",")":")","[":"[","]":"]","<":"\u27e8",">":"\u27e9","\\lt":"\u27e8","\\gt":"\u27e9","/":"/","|":["|",{texClass:h.TEXCLASS.ORD}],".":"","\\\\":"\\","\\lmoustache":"\u23b0","\\rmoustache":"\u23b1","\\lgroup":"\u27ee","\\rgroup":"\u27ef","\\arrowvert":"\u23d0","\\Arrowvert":"\u2016","\\bracevert":"\u23aa","\\Vert":["\u2016",{texClass:h.TEXCLASS.ORD}],"\\|":["\u2016",{texClass:h.TEXCLASS.ORD}],"\\vert":["|",{texClass:h.TEXCLASS.ORD}],"\\uparrow":"\u2191","\\downarrow":"\u2193","\\updownarrow":"\u2195","\\Uparrow":"\u21d1","\\Downarrow":"\u21d3","\\Updownarrow":"\u21d5","\\backslash":"\\","\\rangle":"\u27e9","\\langle":"\u27e8","\\rbrace":"}","\\lbrace":"{","\\}":"}","\\{":"{","\\rceil":"\u2309","\\lceil":"\u2308","\\rfloor":"\u230b","\\lfloor":"\u230a","\\lbrack":"[","\\rbrack":"]"}),new s.CommandMap("macros",{displaystyle:["SetStyle","D",!0,0],textstyle:["SetStyle","T",!1,0],scriptstyle:["SetStyle","S",!1,1],scriptscriptstyle:["SetStyle","SS",!1,2],rm:["SetFont",l.TexConstant.Variant.NORMAL],mit:["SetFont",l.TexConstant.Variant.ITALIC],oldstyle:["SetFont",l.TexConstant.Variant.OLDSTYLE],cal:["SetFont",l.TexConstant.Variant.CALLIGRAPHIC],it:["SetFont",l.TexConstant.Variant.MATHITALIC],bf:["SetFont",l.TexConstant.Variant.BOLD],bbFont:["SetFont",l.TexConstant.Variant.DOUBLESTRUCK],scr:["SetFont",l.TexConstant.Variant.SCRIPT],frak:["SetFont",l.TexConstant.Variant.FRAKTUR],sf:["SetFont",l.TexConstant.Variant.SANSSERIF],tt:["SetFont",l.TexConstant.Variant.MONOSPACE],mathrm:["MathFont",l.TexConstant.Variant.NORMAL],mathup:["MathFont",l.TexConstant.Variant.NORMAL],mathnormal:["MathFont",""],mathbf:["MathFont",l.TexConstant.Variant.BOLD],mathbfup:["MathFont",l.TexConstant.Variant.BOLD],mathit:["MathFont",l.TexConstant.Variant.MATHITALIC],mathbfit:["MathFont",l.TexConstant.Variant.BOLDITALIC],mathbb:["MathFont",l.TexConstant.Variant.DOUBLESTRUCK],Bbb:["MathFont",l.TexConstant.Variant.DOUBLESTRUCK],mathfrak:["MathFont",l.TexConstant.Variant.FRAKTUR],mathbffrak:["MathFont",l.TexConstant.Variant.BOLDFRAKTUR],mathscr:["MathFont",l.TexConstant.Variant.SCRIPT],mathbfscr:["MathFont",l.TexConstant.Variant.BOLDSCRIPT],mathsf:["MathFont",l.TexConstant.Variant.SANSSERIF],mathsfup:["MathFont",l.TexConstant.Variant.SANSSERIF],mathbfsf:["MathFont",l.TexConstant.Variant.BOLDSANSSERIF],mathbfsfup:["MathFont",l.TexConstant.Variant.BOLDSANSSERIF],mathsfit:["MathFont",l.TexConstant.Variant.SANSSERIFITALIC],mathbfsfit:["MathFont",l.TexConstant.Variant.SANSSERIFBOLDITALIC],mathtt:["MathFont",l.TexConstant.Variant.MONOSPACE],mathcal:["MathFont",l.TexConstant.Variant.CALLIGRAPHIC],mathbfcal:["MathFont",l.TexConstant.Variant.BOLDCALLIGRAPHIC],symrm:["MathFont",l.TexConstant.Variant.NORMAL],symup:["MathFont",l.TexConstant.Variant.NORMAL],symnormal:["MathFont",""],symbf:["MathFont",l.TexConstant.Variant.BOLD],symbfup:["MathFont",l.TexConstant.Variant.BOLD],symit:["MathFont",l.TexConstant.Variant.ITALIC],symbfit:["MathFont",l.TexConstant.Variant.BOLDITALIC],symbb:["MathFont",l.TexConstant.Variant.DOUBLESTRUCK],symfrak:["MathFont",l.TexConstant.Variant.FRAKTUR],symbffrak:["MathFont",l.TexConstant.Variant.BOLDFRAKTUR],symscr:["MathFont",l.TexConstant.Variant.SCRIPT],symbfscr:["MathFont",l.TexConstant.Variant.BOLDSCRIPT],symsf:["MathFont",l.TexConstant.Variant.SANSSERIF],symsfup:["MathFont",l.TexConstant.Variant.SANSSERIF],symbfsf:["MathFont",l.TexConstant.Variant.BOLDSANSSERIF],symbfsfup:["MathFont",l.TexConstant.Variant.BOLDSANSSERIF],symsfit:["MathFont",l.TexConstant.Variant.SANSSERIFITALIC],symbfsfit:["MathFont",l.TexConstant.Variant.SANSSERIFBOLDITALIC],symtt:["MathFont",l.TexConstant.Variant.MONOSPACE],symcal:["MathFont",l.TexConstant.Variant.CALLIGRAPHIC],symbfcal:["MathFont",l.TexConstant.Variant.BOLDCALLIGRAPHIC],textrm:["HBox",null,l.TexConstant.Variant.NORMAL],textup:["HBox",null,l.TexConstant.Variant.NORMAL],textnormal:["HBox"],textit:["HBox",null,l.TexConstant.Variant.ITALIC],textbf:["HBox",null,l.TexConstant.Variant.BOLD],textsf:["HBox",null,l.TexConstant.Variant.SANSSERIF],texttt:["HBox",null,l.TexConstant.Variant.MONOSPACE],tiny:["SetSize",.5],Tiny:["SetSize",.6],scriptsize:["SetSize",.7],small:["SetSize",.85],normalsize:["SetSize",1],large:["SetSize",1.2],Large:["SetSize",1.44],LARGE:["SetSize",1.73],huge:["SetSize",2.07],Huge:["SetSize",2.49],arcsin:"NamedFn",arccos:"NamedFn",arctan:"NamedFn",arg:"NamedFn",cos:"NamedFn",cosh:"NamedFn",cot:"NamedFn",coth:"NamedFn",csc:"NamedFn",deg:"NamedFn",det:"NamedOp",dim:"NamedFn",exp:"NamedFn",gcd:"NamedOp",hom:"NamedFn",inf:"NamedOp",ker:"NamedFn",lg:"NamedFn",lim:"NamedOp",liminf:["NamedOp","lim inf"],limsup:["NamedOp","lim sup"],ln:"NamedFn",log:"NamedFn",max:"NamedOp",min:"NamedOp",Pr:"NamedOp",sec:"NamedFn",sin:"NamedFn",sinh:"NamedFn",sup:"NamedOp",tan:"NamedFn",tanh:"NamedFn",limits:["Limits",1],nolimits:["Limits",0],overline:["UnderOver","2015"],underline:["UnderOver","2015"],overbrace:["UnderOver","23DE",1],underbrace:["UnderOver","23DF",1],overparen:["UnderOver","23DC"],underparen:["UnderOver","23DD"],overrightarrow:["UnderOver","2192"],underrightarrow:["UnderOver","2192"],overleftarrow:["UnderOver","2190"],underleftarrow:["UnderOver","2190"],overleftrightarrow:["UnderOver","2194"],underleftrightarrow:["UnderOver","2194"],overset:"Overset",underset:"Underset",overunderset:"Overunderset",stackrel:["Macro","\\mathrel{\\mathop{#2}\\limits^{#1}}",2],stackbin:["Macro","\\mathbin{\\mathop{#2}\\limits^{#1}}",2],over:"Over",overwithdelims:"Over",atop:"Over",atopwithdelims:"Over",above:"Over",abovewithdelims:"Over",brace:["Over","{","}"],brack:["Over","[","]"],choose:["Over","(",")"],frac:"Frac",sqrt:"Sqrt",root:"Root",uproot:["MoveRoot","upRoot"],leftroot:["MoveRoot","leftRoot"],left:"LeftRight",right:"LeftRight",middle:"LeftRight",llap:"Lap",rlap:"Lap",raise:"RaiseLower",lower:"RaiseLower",moveleft:"MoveLeftRight",moveright:"MoveLeftRight",",":["Spacer",d.MATHSPACE.thinmathspace],":":["Spacer",d.MATHSPACE.mediummathspace],">":["Spacer",d.MATHSPACE.mediummathspace],";":["Spacer",d.MATHSPACE.thickmathspace],"!":["Spacer",d.MATHSPACE.negativethinmathspace],enspace:["Spacer",.5],quad:["Spacer",1],qquad:["Spacer",2],thinspace:["Spacer",d.MATHSPACE.thinmathspace],negthinspace:["Spacer",d.MATHSPACE.negativethinmathspace],hskip:"Hskip",hspace:"Hskip",kern:"Hskip",mskip:"Hskip",mspace:"Hskip",mkern:"Hskip",rule:"rule",Rule:["Rule"],Space:["Rule","blank"],nonscript:"Nonscript",big:["MakeBig",h.TEXCLASS.ORD,.85],Big:["MakeBig",h.TEXCLASS.ORD,1.15],bigg:["MakeBig",h.TEXCLASS.ORD,1.45],Bigg:["MakeBig",h.TEXCLASS.ORD,1.75],bigl:["MakeBig",h.TEXCLASS.OPEN,.85],Bigl:["MakeBig",h.TEXCLASS.OPEN,1.15],biggl:["MakeBig",h.TEXCLASS.OPEN,1.45],Biggl:["MakeBig",h.TEXCLASS.OPEN,1.75],bigr:["MakeBig",h.TEXCLASS.CLOSE,.85],Bigr:["MakeBig",h.TEXCLASS.CLOSE,1.15],biggr:["MakeBig",h.TEXCLASS.CLOSE,1.45],Biggr:["MakeBig",h.TEXCLASS.CLOSE,1.75],bigm:["MakeBig",h.TEXCLASS.REL,.85],Bigm:["MakeBig",h.TEXCLASS.REL,1.15],biggm:["MakeBig",h.TEXCLASS.REL,1.45],Biggm:["MakeBig",h.TEXCLASS.REL,1.75],mathord:["TeXAtom",h.TEXCLASS.ORD],mathop:["TeXAtom",h.TEXCLASS.OP],mathopen:["TeXAtom",h.TEXCLASS.OPEN],mathclose:["TeXAtom",h.TEXCLASS.CLOSE],mathbin:["TeXAtom",h.TEXCLASS.BIN],mathrel:["TeXAtom",h.TEXCLASS.REL],mathpunct:["TeXAtom",h.TEXCLASS.PUNCT],mathinner:["TeXAtom",h.TEXCLASS.INNER],vcenter:["TeXAtom",h.TEXCLASS.VCENTER],buildrel:"BuildRel",hbox:["HBox",0],text:"HBox",mbox:["HBox",0],fbox:"FBox",boxed:["Macro","\\fbox{$\\displaystyle{#1}$}",1],framebox:"FrameBox",strut:"Strut",mathstrut:["Macro","\\vphantom{(}"],phantom:"Phantom",vphantom:["Phantom",1,0],hphantom:["Phantom",0,1],smash:"Smash",acute:["Accent","00B4"],grave:["Accent","0060"],ddot:["Accent","00A8"],tilde:["Accent","007E"],bar:["Accent","00AF"],breve:["Accent","02D8"],check:["Accent","02C7"],hat:["Accent","005E"],vec:["Accent","2192"],dot:["Accent","02D9"],widetilde:["Accent","007E",1],widehat:["Accent","005E",1],matrix:"Matrix",array:"Matrix",pmatrix:["Matrix","(",")"],cases:["Matrix","{","","left left",null,".1em",null,!0],eqalign:["Matrix",null,null,"right left",(0,d.em)(d.MATHSPACE.thickmathspace),".5em","D"],displaylines:["Matrix",null,null,"center",null,".5em","D"],cr:"Cr","\\":"CrLaTeX",newline:["CrLaTeX",!0],hline:["HLine","solid"],hdashline:["HLine","dashed"],eqalignno:["Matrix",null,null,"right left",(0,d.em)(d.MATHSPACE.thickmathspace),".5em","D",null,"right"],leqalignno:["Matrix",null,null,"right left",(0,d.em)(d.MATHSPACE.thickmathspace),".5em","D",null,"left"],hfill:"HFill",hfil:"HFill",hfilll:"HFill",bmod:["Macro",'\\mmlToken{mo}[lspace="thickmathspace" rspace="thickmathspace"]{mod}'],pmod:["Macro","\\pod{\\mmlToken{mi}{mod}\\kern 6mu #1}",1],mod:["Macro","\\mathchoice{\\kern18mu}{\\kern12mu}{\\kern12mu}{\\kern12mu}\\mmlToken{mi}{mod}\\,\\,#1",1],pod:["Macro","\\mathchoice{\\kern18mu}{\\kern8mu}{\\kern8mu}{\\kern8mu}(#1)",1],iff:["Macro","\\;\\Longleftrightarrow\\;"],skew:["Macro","{{#2{#3\\mkern#1mu}\\mkern-#1mu}{}}",3],pmb:["Macro","\\rlap{#1}\\kern1px{#1}",1],TeX:["Macro","T\\kern-.14em\\lower.5ex{E}\\kern-.115em X"],LaTeX:["Macro","L\\kern-.325em\\raise.21em{\\scriptstyle{A}}\\kern-.17em\\TeX"]," ":["Macro","\\text{ }"],not:"Not",dots:"Dots",space:"Tilde","\xa0":"Tilde",begin:"BeginEnd",end:"BeginEnd",label:"HandleLabel",ref:"HandleRef",nonumber:"HandleNoTag",mathchoice:"MathChoice",mmlToken:"MmlToken"},c.default),new s.EnvironmentMap("environment",u.default.environment,{array:["AlignedArray"],equation:["Equation",null,!0],eqnarray:["EqnArray",null,!0,!0,"rcl",p.default.cols(0,d.MATHSPACE.thickmathspace),".5em"]},c.default),new s.CharacterMap("not_remap",null,{"\u2190":"\u219a","\u2192":"\u219b","\u2194":"\u21ae","\u21d0":"\u21cd","\u21d2":"\u21cf","\u21d4":"\u21ce","\u2208":"\u2209","\u220b":"\u220c","\u2223":"\u2224","\u2225":"\u2226","\u223c":"\u2241","~":"\u2241","\u2243":"\u2244","\u2245":"\u2247","\u2248":"\u2249","\u224d":"\u226d","=":"\u2260","\u2261":"\u2262","<":"\u226e",">":"\u226f","\u2264":"\u2270","\u2265":"\u2271","\u2272":"\u2274","\u2273":"\u2275","\u2276":"\u2278","\u2277":"\u2279","\u227a":"\u2280","\u227b":"\u2281","\u2282":"\u2284","\u2283":"\u2285","\u2286":"\u2288","\u2287":"\u2289","\u22a2":"\u22ac","\u22a8":"\u22ad","\u22a9":"\u22ae","\u22ab":"\u22af","\u227c":"\u22e0","\u227d":"\u22e1","\u2291":"\u22e2","\u2292":"\u22e3","\u22b2":"\u22ea","\u22b3":"\u22eb","\u22b4":"\u22ec","\u22b5":"\u22ed","\u2203":"\u2204"})},7693:function(t,e,r){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var c=a(r(1181)),u=l(r(1256)),p=l(r(3971)),h=l(r(8417)),d=r(8317),f=l(r(1130)),m=r(9007),y=r(6521),g=r(6010),b=r(5368),v=r(7233),_={},S={fontfamily:1,fontsize:1,fontweight:1,fontstyle:1,color:1,background:1,id:1,class:1,href:1,style:1};function x(t,e){var r=t.stack.env,n=r.inRoot;r.inRoot=!0;var o=new h.default(e,r,t.configuration),i=o.mml(),a=o.stack.global;if(a.leftRoot||a.upRoot){var s={};a.leftRoot&&(s.width=a.leftRoot),a.upRoot&&(s.voffset=a.upRoot,s.height=a.upRoot),i=t.create("node","mpadded",[i],s)}return r.inRoot=n,i}_.Open=function(t,e){t.Push(t.itemFactory.create("open"))},_.Close=function(t,e){t.Push(t.itemFactory.create("close"))},_.Tilde=function(t,e){t.Push(t.create("token","mtext",{},b.entities.nbsp))},_.Space=function(t,e){},_.Superscript=function(t,e){var r,n,o;t.GetNext().match(/\d/)&&(t.string=t.string.substr(0,t.i+1)+" "+t.string.substr(t.i+1));var i=t.stack.Top();i.isKind("prime")?(o=(r=s(i.Peek(2),2))[0],n=r[1],t.stack.Pop()):(o=t.stack.Prev())||(o=t.create("token","mi",{},""));var a=u.default.getProperty(o,"movesupsub"),l=u.default.isType(o,"msubsup")?o.sup:o.over;if(u.default.isType(o,"msubsup")&&!u.default.isType(o,"msup")&&u.default.getChildAt(o,o.sup)||u.default.isType(o,"munderover")&&!u.default.isType(o,"mover")&&u.default.getChildAt(o,o.over)&&!u.default.getProperty(o,"subsupOK"))throw new p.default("DoubleExponent","Double exponent: use braces to clarify");u.default.isType(o,"msubsup")&&!u.default.isType(o,"msup")||(a?((!u.default.isType(o,"munderover")||u.default.isType(o,"mover")||u.default.getChildAt(o,o.over))&&(o=t.create("node","munderover",[o],{movesupsub:!0})),l=o.over):l=(o=t.create("node","msubsup",[o])).sup),t.Push(t.itemFactory.create("subsup",o).setProperties({position:l,primes:n,movesupsub:a}))},_.Subscript=function(t,e){var r,n,o;t.GetNext().match(/\d/)&&(t.string=t.string.substr(0,t.i+1)+" "+t.string.substr(t.i+1));var i=t.stack.Top();i.isKind("prime")?(o=(r=s(i.Peek(2),2))[0],n=r[1],t.stack.Pop()):(o=t.stack.Prev())||(o=t.create("token","mi",{},""));var a=u.default.getProperty(o,"movesupsub"),l=u.default.isType(o,"msubsup")?o.sub:o.under;if(u.default.isType(o,"msubsup")&&!u.default.isType(o,"msup")&&u.default.getChildAt(o,o.sub)||u.default.isType(o,"munderover")&&!u.default.isType(o,"mover")&&u.default.getChildAt(o,o.under)&&!u.default.getProperty(o,"subsupOK"))throw new p.default("DoubleSubscripts","Double subscripts: use braces to clarify");u.default.isType(o,"msubsup")&&!u.default.isType(o,"msup")||(a?((!u.default.isType(o,"munderover")||u.default.isType(o,"mover")||u.default.getChildAt(o,o.under))&&(o=t.create("node","munderover",[o],{movesupsub:!0})),l=o.under):l=(o=t.create("node","msubsup",[o])).sub),t.Push(t.itemFactory.create("subsup",o).setProperties({position:l,primes:n,movesupsub:a}))},_.Prime=function(t,e){var r=t.stack.Prev();if(r||(r=t.create("node","mi")),u.default.isType(r,"msubsup")&&!u.default.isType(r,"msup")&&u.default.getChildAt(r,r.sup))throw new p.default("DoubleExponentPrime","Prime causes double exponent: use braces to clarify");var n="";t.i--;do{n+=b.entities.prime,t.i++,e=t.GetNext()}while("'"===e||e===b.entities.rsquo);n=["","\u2032","\u2033","\u2034","\u2057"][n.length]||n;var o=t.create("token","mo",{variantForm:!0},n);t.Push(t.itemFactory.create("prime",r,o))},_.Comment=function(t,e){for(;t.i=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BoldsymbolConfiguration=e.rewriteBoldTokens=e.createBoldToken=e.BoldsymbolMethods=void 0;var i=r(9899),a=o(r(1256)),s=r(8317),l=r(9140),c=r(8929),u={};function p(t,e,r,n){var o=c.NodeFactory.createToken(t,e,r,n);return"mtext"!==e&&t.configuration.parser.stack.env.boldsymbol&&(a.default.setProperty(o,"fixBold",!0),t.configuration.addNode("fixBold",o)),o}function h(t){var e,r;try{for(var o=n(t.data.getList("fixBold")),i=o.next();!i.done;i=o.next()){var l=i.value;if(a.default.getProperty(l,"fixBold")){var c=a.default.getAttribute(l,"mathvariant");null==c?a.default.setAttribute(l,"mathvariant",s.TexConstant.Variant.BOLD):a.default.setAttribute(l,"mathvariant",u[c]||c),a.default.removeProperties(l,"fixBold")}}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}}u[s.TexConstant.Variant.NORMAL]=s.TexConstant.Variant.BOLD,u[s.TexConstant.Variant.ITALIC]=s.TexConstant.Variant.BOLDITALIC,u[s.TexConstant.Variant.FRAKTUR]=s.TexConstant.Variant.BOLDFRAKTUR,u[s.TexConstant.Variant.SCRIPT]=s.TexConstant.Variant.BOLDSCRIPT,u[s.TexConstant.Variant.SANSSERIF]=s.TexConstant.Variant.BOLDSANSSERIF,u["-tex-calligraphic"]="-tex-bold-calligraphic",u["-tex-oldstyle"]="-tex-bold-oldstyle",u["-tex-mathit"]=s.TexConstant.Variant.BOLDITALIC,e.BoldsymbolMethods={},e.BoldsymbolMethods.Boldsymbol=function(t,e){var r=t.stack.env.boldsymbol;t.stack.env.boldsymbol=!0;var n=t.ParseArg(e);t.stack.env.boldsymbol=r,t.Push(n)},new l.CommandMap("boldsymbol",{boldsymbol:"Boldsymbol"},e.BoldsymbolMethods),e.createBoldToken=p,e.rewriteBoldTokens=h,e.BoldsymbolConfiguration=i.Configuration.create("boldsymbol",{handler:{macro:["boldsymbol"]},nodes:{token:p},postprocessors:[h]})},6538:function(t,e,r){var n;Object.defineProperty(e,"__esModule",{value:!0}),e.BraketConfiguration=void 0;var o=r(9899),i=r(7191);r(2608),e.BraketConfiguration=o.Configuration.create("braket",{handler:{character:["Braket-characters"],macro:["Braket-macros"]},items:(n={},n[i.BraketItem.prototype.kind]=i.BraketItem,n)})},7191:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BraketItem=void 0;var a=r(8292),s=r(9007),l=i(r(1130)),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"braket"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isOpen",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.checkItem=function(e){return e.isKind("close")?[[this.factory.create("mml",this.toMml())],!0]:e.isKind("mml")?(this.Push(e.toMml()),this.getProperty("single")?[[this.toMml()],!0]:a.BaseItem.fail):t.prototype.checkItem.call(this,e)},e.prototype.toMml=function(){var e=t.prototype.toMml.call(this),r=this.getProperty("open"),n=this.getProperty("close");if(this.getProperty("stretchy"))return l.default.fenced(this.factory.configuration,r,e,n);var o={fence:!0,stretchy:!1,symmetric:!0,texClass:s.TEXCLASS.OPEN},i=this.create("token","mo",o,r);o.texClass=s.TEXCLASS.CLOSE;var a=this.create("token","mo",o,n);return this.create("node","mrow",[i,e,a],{open:r,close:n,texClass:s.TEXCLASS.INNER})},e}(a.BaseItem);e.BraketItem=c},2608:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(9140),i=n(r(8667));new o.CommandMap("Braket-macros",{bra:["Macro","{\\langle {#1} \\vert}",1],ket:["Macro","{\\vert {#1} \\rangle}",1],braket:["Braket","\u27e8","\u27e9",!1,1/0],set:["Braket","{","}",!1,1],Bra:["Macro","{\\left\\langle {#1} \\right\\vert}",1],Ket:["Macro","{\\left\\vert {#1} \\right\\rangle}",1],Braket:["Braket","\u27e8","\u27e9",!0,1/0],Set:["Braket","{","}",!0,1],ketbra:["Macro","{\\vert {#1} \\rangle\\langle {#2} \\vert}",2],Ketbra:["Macro","{\\left\\vert {#1} \\right\\rangle\\left\\langle {#2} \\right\\vert}",2],"|":"Bar"},i.default),new o.MacroMap("Braket-characters",{"|":"Bar"},i.default)},8667:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=n(r(7693)),i=r(9007),a=n(r(3971)),s={};s.Macro=o.default.Macro,s.Braket=function(t,e,r,n,o,i){var s=t.GetNext();if(""===s)throw new a.default("MissingArgFor","Missing argument for %1",t.currentCS);var l=!0;"{"===s&&(t.i++,l=!1),t.Push(t.itemFactory.create("braket").setProperties({barmax:i,barcount:0,open:r,close:n,stretchy:o,single:l}))},s.Bar=function(t,e){var r="|"===e?"|":"\u2225",n=t.stack.Top();if("braket"!==n.kind||n.getProperty("barcount")>=n.getProperty("barmax")){var o=t.create("token","mo",{texClass:i.TEXCLASS.ORD,stretchy:!1},r);t.Push(o)}else{if("|"===r&&"|"===t.GetNext()&&(t.i++,r="\u2225"),n.getProperty("stretchy")){var a=t.create("node","TeXAtom",[],{texClass:i.TEXCLASS.CLOSE});t.Push(a),n.setProperty("barcount",n.getProperty("barcount")+1),a=t.create("token","mo",{stretchy:!0,braketbar:!0},r),t.Push(a),a=t.create("node","TeXAtom",[],{texClass:i.TEXCLASS.OPEN}),t.Push(a)}else{var s=t.create("token","mo",{stretchy:!1,braketbar:!0},r);t.Push(s)}}},e.default=s},9499:function(t,e,r){var n;Object.defineProperty(e,"__esModule",{value:!0}),e.BussproofsConfiguration=void 0;var o=r(9899),i=r(3980),a=r(1933);r(8620),e.BussproofsConfiguration=o.Configuration.create("bussproofs",{handler:{macro:["Bussproofs-macros"],environment:["Bussproofs-environments"]},items:(n={},n[i.ProofTreeItem.prototype.kind]=i.ProofTreeItem,n),preprocessors:[[a.saveDocument,1]],postprocessors:[[a.clearDocument,3],[a.makeBsprAttributes,2],[a.balanceRules,1]]})},3980:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),a=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),s=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&i(e,t,r);return a(e,t),e},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.ProofTreeItem=void 0;var c=l(r(3971)),u=r(8292),p=l(r(9497)),h=s(r(1933)),d=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.leftLabel=null,e.rigthLabel=null,e.innerStack=new p.default(e.factory,{},!0),e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"proofTree"},enumerable:!1,configurable:!0}),e.prototype.checkItem=function(t){if(t.isKind("end")&&"prooftree"===t.getName()){var e=this.toMml();return h.setProperty(e,"proof",!0),[[this.factory.create("mml",e),t],!0]}if(t.isKind("stop"))throw new c.default("EnvMissingEnd","Missing \\end{%1}",this.getName());return this.innerStack.Push(t),u.BaseItem.fail},e.prototype.toMml=function(){var e=t.prototype.toMml.call(this),r=this.innerStack.Top();if(r.isKind("start")&&!r.Size())return e;this.innerStack.Push(this.factory.create("stop"));var n=this.innerStack.Top().toMml();return this.create("node","mrow",[n,e],{})},e}(u.BaseItem);e.ProofTreeItem=d},8620:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=n(r(4934)),i=n(r(5450)),a=r(9140);new a.CommandMap("Bussproofs-macros",{AxiomC:"Axiom",UnaryInfC:["Inference",1],BinaryInfC:["Inference",2],TrinaryInfC:["Inference",3],QuaternaryInfC:["Inference",4],QuinaryInfC:["Inference",5],RightLabel:["Label","right"],LeftLabel:["Label","left"],AXC:"Axiom",UIC:["Inference",1],BIC:["Inference",2],TIC:["Inference",3],RL:["Label","right"],LL:["Label","left"],noLine:["SetLine","none",!1],singleLine:["SetLine","solid",!1],solidLine:["SetLine","solid",!1],dashedLine:["SetLine","dashed",!1],alwaysNoLine:["SetLine","none",!0],alwaysSingleLine:["SetLine","solid",!0],alwaysSolidLine:["SetLine","solid",!0],alwaysDashedLine:["SetLine","dashed",!0],rootAtTop:["RootAtTop",!0],alwaysRootAtTop:["RootAtTop",!0],rootAtBottom:["RootAtTop",!1],alwaysRootAtBottom:["RootAtTop",!1],fCenter:"FCenter",Axiom:"AxiomF",UnaryInf:["InferenceF",1],BinaryInf:["InferenceF",2],TrinaryInf:["InferenceF",3],QuaternaryInf:["InferenceF",4],QuinaryInf:["InferenceF",5]},o.default),new a.EnvironmentMap("Bussproofs-environments",i.default.environment,{prooftree:["Prooftree",null,!1]},o.default)},4934:function(t,e,r){var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0);var s=t.create("node","mtr",a,{}),l=t.create("node","mtable",[s],{framespacing:"0 0"}),u=f(t,t.GetArgument(e)),p=n.getProperty("currentLine");p!==n.getProperty("line")&&n.setProperty("currentLine",n.getProperty("line"));var d=m(t,l,[u],n.getProperty("left"),n.getProperty("right"),p,o);n.setProperty("left",null),n.setProperty("right",null),h.setProperty(d,"inference",i),t.configuration.addNode("inference",d),n.Push(d)},d.Label=function(t,e,r){var n=t.stack.Top();if("proofTree"!==n.kind)throw new c.default("IllegalProofCommand","Proof commands only allowed in prooftree environment.");var o=p.default.internalMath(t,t.GetArgument(e),0),i=o.length>1?t.create("node","mrow",o,{}):o[0];n.setProperty(r,i)},d.SetLine=function(t,e,r,n){var o=t.stack.Top();if("proofTree"!==o.kind)throw new c.default("IllegalProofCommand","Proof commands only allowed in prooftree environment.");o.setProperty("currentLine",r),n&&o.setProperty("line",r)},d.RootAtTop=function(t,e,r){var n=t.stack.Top();if("proofTree"!==n.kind)throw new c.default("IllegalProofCommand","Proof commands only allowed in prooftree environment.");n.setProperty("rootAtTop",r)},d.AxiomF=function(t,e){var r=t.stack.Top();if("proofTree"!==r.kind)throw new c.default("IllegalProofCommand","Proof commands only allowed in prooftree environment.");var n=y(t,e);h.setProperty(n,"axiom",!0),r.Push(n)},d.FCenter=function(t,e){},d.InferenceF=function(t,e,r){var n=t.stack.Top();if("proofTree"!==n.kind)throw new c.default("IllegalProofCommand","Proof commands only allowed in prooftree environment.");if(n.Size()0);var s=t.create("node","mtr",a,{}),l=t.create("node","mtable",[s],{framespacing:"0 0"}),u=y(t,e),p=n.getProperty("currentLine");p!==n.getProperty("line")&&n.setProperty("currentLine",n.getProperty("line"));var d=m(t,l,[u],n.getProperty("left"),n.getProperty("right"),p,o);n.setProperty("left",null),n.setProperty("right",null),h.setProperty(d,"inference",i),t.configuration.addNode("inference",d),n.Push(d)},e.default=d},1933:function(t,e,r){var n,o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.clearDocument=e.saveDocument=e.makeBsprAttributes=e.removeProperty=e.getProperty=e.setProperty=e.balanceRules=void 0;var s=a(r(1256)),l=a(r(1130)),c=null,u=null,p=function(t){return u.root=t,c.outputJax.getBBox(u,c).w},h=function(t){for(var e=0;t&&!s.default.isType(t,"mtable");){if(s.default.isType(t,"text"))return null;s.default.isType(t,"mrow")?(t=t.childNodes[0],e=0):(t=t.parent.childNodes[e],e++)}return t},d=function(t,e){return t.childNodes["up"===e?1:0].childNodes[0].childNodes[0].childNodes[0].childNodes[0]},f=function(t,e){return t.childNodes[e].childNodes[0].childNodes[0]},m=function(t){return f(t,0)},y=function(t){return f(t,t.childNodes.length-1)},g=function(t,e){return t.childNodes["up"===e?0:1].childNodes[0].childNodes[0].childNodes[0]},b=function(t){for(;t&&!s.default.isType(t,"mtd");)t=t.parent;return t},v=function(t){return t.parent.childNodes[t.parent.childNodes.indexOf(t)+1]},_=function(t){for(;t&&null==(0,e.getProperty)(t,"inference");)t=t.parent;return t},S=function(t,e,r){void 0===r&&(r=!1);var n=0;if(t===e)return n;if(t!==e.parent){var o=t.childNodes,i=r?o.length-1:0;s.default.isType(o[i],"mspace")&&(n+=p(o[i])),t=e.parent}if(t===e)return n;var a=t.childNodes,l=r?a.length-1:0;return a[l]!==e&&(n+=p(a[l])),n},x=function(t,r){void 0===r&&(r=!1);var n=h(t),o=g(n,(0,e.getProperty)(n,"inferenceRule"));return S(t,n,r)+(p(n)-p(o))/2},M=function(t,r,n,o){if(void 0===o&&(o=!1),(0,e.getProperty)(r,"inferenceRule")||(0,e.getProperty)(r,"labelledRule")){var i=t.nodeFactory.create("node","mrow");r.parent.replaceChild(i,r),i.setChildren([r]),O(r,i),r=i}var a=o?r.childNodes.length-1:0,c=r.childNodes[a];s.default.isType(c,"mspace")?s.default.setAttribute(c,"width",l.default.Em(l.default.dimen2em(s.default.getAttribute(c,"width"))+n)):(c=t.nodeFactory.create("node","mspace",[],{width:l.default.Em(n)}),o?r.appendChild(c):(c.parent=r,r.childNodes.unshift(c)))},O=function(t,r){["inference","proof","maxAdjust","labelledRule"].forEach((function(n){var o=(0,e.getProperty)(t,n);null!=o&&((0,e.setProperty)(r,n,o),(0,e.removeProperty)(t,n))}))},E=function(t,r,n,o,i){var a=t.nodeFactory.create("node","mspace",[],{width:l.default.Em(i)});if("left"===o){var s=r.childNodes[n].childNodes[0];a.parent=s,s.childNodes.unshift(a)}else r.childNodes[n].appendChild(a);(0,e.setProperty)(r.parent,"sequentAdjust_"+o,i)},A=function(t,r){for(var n=r.pop();r.length;){var i=r.pop(),a=o(C(n,i),2),s=a[0],l=a[1];(0,e.getProperty)(n.parent,"axiom")&&(E(t,s<0?n:i,0,"left",Math.abs(s)),E(t,l<0?n:i,2,"right",Math.abs(l))),n=i}},C=function(t,e){var r=p(t.childNodes[2]),n=p(e.childNodes[2]);return[p(t.childNodes[0])-p(e.childNodes[0]),r-n]};e.balanceRules=function(t){var r,n;u=new t.document.options.MathItem("",null,t.math.display);var o=t.data;!function(t){var r=t.nodeLists.sequent;if(r)for(var n=r.length-1,o=void 0;o=r[n];n--)if((0,e.getProperty)(o,"sequentProcessed"))(0,e.removeProperty)(o,"sequentProcessed");else{var i=[],a=_(o);if(1===(0,e.getProperty)(a,"inference")){for(i.push(o);1===(0,e.getProperty)(a,"inference");){a=h(a);var s=m(d(a,(0,e.getProperty)(a,"inferenceRule"))),l=(0,e.getProperty)(s,"inferenceRule")?g(s,(0,e.getProperty)(s,"inferenceRule")):s;(0,e.getProperty)(l,"sequent")&&(o=l.childNodes[0],i.push(o),(0,e.setProperty)(o,"sequentProcessed",!0)),a=s}A(t,i)}}}(o);var a=o.nodeLists.inference||[];try{for(var s=i(a),l=s.next();!l.done;l=s.next()){var c=l.value,p=(0,e.getProperty)(c,"proof"),f=h(c),O=d(f,(0,e.getProperty)(f,"inferenceRule")),E=m(O);if((0,e.getProperty)(E,"inference")){var C=x(E);if(C){M(o,E,-C);var w=S(c,f,!1);M(o,c,C-w)}}var T=y(O);if(null!=(0,e.getProperty)(T,"inference")){var N=x(T,!0);M(o,T,-N,!0);var L=S(c,f,!0),P=(0,e.getProperty)(c,"maxAdjust");null!=P&&(N=Math.max(N,P));var I=void 0;if(!p&&(I=b(c))){var k=v(I);if(k){var R=o.nodeFactory.create("node","mspace",[],{width:N-L+"em"});k.appendChild(R),c.removeProperty("maxAdjust")}else{var j=_(I);j&&(N=(0,e.getProperty)(j,"maxAdjust")?Math.max((0,e.getProperty)(j,"maxAdjust"),N):N,(0,e.setProperty)(j,"maxAdjust",N))}}else M(o,(0,e.getProperty)(c,"proof")?c:c.parent,N-L,!0)}}}catch(t){r={error:t}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}};var w="bspr_",T=((n={}).bspr_maxAdjust=!0,n);e.setProperty=function(t,e,r){s.default.setProperty(t,w+e,r)};e.getProperty=function(t,e){return s.default.getProperty(t,w+e)};e.removeProperty=function(t,e){t.removeProperty(w+e)};e.makeBsprAttributes=function(t){t.data.root.walkTree((function(t,e){var r=[];t.getPropertyNames().forEach((function(e){!T[e]&&e.match(RegExp("^bspr_"))&&r.push(e+":"+t.getProperty(e))})),r.length&&s.default.setAttribute(t,"semantics",r.join(";"))}))};e.saveDocument=function(t){if(!("getBBox"in(c=t.document).outputJax))throw Error("The bussproofs extension requires an output jax with a getBBox() method")};e.clearDocument=function(t){c=null}},8963:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.CancelConfiguration=e.CancelMethods=void 0;var o=r(9899),i=r(8317),a=r(9140),s=n(r(1130)),l=r(1428);e.CancelMethods={},e.CancelMethods.Cancel=function(t,e,r){var n=t.GetBrackets(e,""),o=t.ParseArg(e),i=s.default.keyvalOptions(n,l.ENCLOSE_OPTIONS);i.notation=r,t.Push(t.create("node","menclose",[o],i))},e.CancelMethods.CancelTo=function(t,e){var r=t.GetBrackets(e,""),n=t.ParseArg(e),o=t.ParseArg(e),a=s.default.keyvalOptions(r,l.ENCLOSE_OPTIONS);a.notation=[i.TexConstant.Notation.UPDIAGONALSTRIKE,i.TexConstant.Notation.UPDIAGONALARROW,i.TexConstant.Notation.NORTHEASTARROW].join(" "),n=t.create("node","mpadded",[n],{depth:"-.1em",height:"+.1em",voffset:".1em"}),t.Push(t.create("node","msup",[t.create("node","menclose",[o],a),n]))},new a.CommandMap("cancel",{cancel:["Cancel",i.TexConstant.Notation.UPDIAGONALSTRIKE],bcancel:["Cancel",i.TexConstant.Notation.DOWNDIAGONALSTRIKE],xcancel:["Cancel",i.TexConstant.Notation.UPDIAGONALSTRIKE+" "+i.TexConstant.Notation.DOWNDIAGONALSTRIKE],cancelto:"CancelTo"},e.CancelMethods),e.CancelConfiguration=o.Configuration.create("cancel",{handler:{macro:["cancel"]}})},3752:function(t,e,r){var n,o,i=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.CasesConfiguration=e.CasesMethods=e.CasesTags=e.CasesBeginItem=void 0;var s=r(9899),l=r(9140),c=a(r(1130)),u=a(r(7693)),p=a(r(3971)),h=r(1181),d=r(8021),f=r(6471),m=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"cases-begin"},enumerable:!1,configurable:!0}),e.prototype.checkItem=function(e){return e.isKind("end")&&e.getName()===this.getName()&&this.getProperty("end")?(this.setProperty("end",!1),[[],!0]):t.prototype.checkItem.call(this,e)},e}(h.BeginItem);e.CasesBeginItem=m;var y=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.subcounter=0,e}return i(e,t),e.prototype.start=function(e,r,n){this.subcounter=0,t.prototype.start.call(this,e,r,n)},e.prototype.autoTag=function(){null==this.currentTag.tag&&("subnumcases"===this.currentTag.env?(0===this.subcounter&&this.counter++,this.subcounter++,this.tag(this.formatNumber(this.counter,this.subcounter),!1)):(0!==this.subcounter&&"numcases-left"===this.currentTag.env||this.counter++,this.tag(this.formatNumber(this.counter),!1)))},e.prototype.formatNumber=function(t,e){return void 0===e&&(e=null),t.toString()+(null===e?"":String.fromCharCode(96+e))},e}(d.AmsTags);e.CasesTags=y,e.CasesMethods={NumCases:function(t,e){if(t.stack.env.closing===e.getName()){delete t.stack.env.closing,t.Push(t.itemFactory.create("end").setProperty("name",e.getName()));var r=t.stack.Top(),n=r.Last,o=c.default.copyNode(n,t),i=r.getProperty("left");return f.EmpheqUtil.left(n,o,i+"\\empheqlbrace\\,",t,"numcases-left"),t.Push(t.itemFactory.create("end").setProperty("name",e.getName())),null}i=t.GetArgument("\\begin{"+e.getName()+"}");e.setProperty("left",i);var a=u.default.EqnArray(t,e,!0,!0,"ll");return a.arraydef.displaystyle=!1,a.arraydef.rowspacing=".2em",a.setProperty("numCases",!0),t.Push(e),a},Entry:function(t,e){if(!t.stack.Top().getProperty("numCases"))return u.default.Entry(t,e);t.Push(t.itemFactory.create("cell").setProperties({isEntry:!0,name:e}));for(var r=t.string,n=0,o=t.i,i=r.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.CenternotConfiguration=e.filterCenterOver=void 0;var i=r(9899),a=o(r(8417)),s=o(r(1256)),l=r(9140),c=o(r(7693));function u(t){var e,r,o=t.data;try{for(var i=n(o.getList("centerOver")),a=i.next();!a.done;a=i.next()){var l=a.value,c=s.default.getTexClass(l.childNodes[0].childNodes[0]);null!==c&&s.default.setProperties(l.parent.parent.parent.parent.parent.parent,{texClass:c})}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}}new l.CommandMap("centernot",{centerOver:"CenterOver",centernot:["Macro","\\centerOver{#1}{{\u29f8}}",1]},{CenterOver:function(t,e){var r="{"+t.GetArgument(e)+"}",n=t.ParseArg(e),o=new a.default(r,t.stack.env,t.configuration).mml(),i=t.create("node","TeXAtom",[new a.default(r,t.stack.env,t.configuration).mml(),t.create("node","mpadded",[t.create("node","mpadded",[n],{width:0,lspace:"-.5width"}),t.create("node","mphantom",[o])],{width:0,lspace:"-.5width"})]);t.configuration.addNode("centerOver",o),t.Push(i)},Macro:c.default.Macro}),e.filterCenterOver=u,e.CenternotConfiguration=i.Configuration.create("centernot",{handler:{macro:["centernot"]},postprocessors:[u]})},5860:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ColorConfiguration=void 0;var n=r(9140),o=r(9899),i=r(2784),a=r(4207);new n.CommandMap("color",{color:"Color",textcolor:"TextColor",definecolor:"DefineColor",colorbox:"ColorBox",fcolorbox:"FColorBox"},i.ColorMethods);e.ColorConfiguration=o.Configuration.create("color",{handler:{macro:["color"]},options:{color:{padding:"5px",borderWidth:"2px"}},config:function(t,e){e.parseOptions.packageData.set("color",{model:new a.ColorModel})}})},7960:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.COLORS=void 0,e.COLORS=new Map([["Apricot","#FBB982"],["Aquamarine","#00B5BE"],["Bittersweet","#C04F17"],["Black","#221E1F"],["Blue","#2D2F92"],["BlueGreen","#00B3B8"],["BlueViolet","#473992"],["BrickRed","#B6321C"],["Brown","#792500"],["BurntOrange","#F7921D"],["CadetBlue","#74729A"],["CarnationPink","#F282B4"],["Cerulean","#00A2E3"],["CornflowerBlue","#41B0E4"],["Cyan","#00AEEF"],["Dandelion","#FDBC42"],["DarkOrchid","#A4538A"],["Emerald","#00A99D"],["ForestGreen","#009B55"],["Fuchsia","#8C368C"],["Goldenrod","#FFDF42"],["Gray","#949698"],["Green","#00A64F"],["GreenYellow","#DFE674"],["JungleGreen","#00A99A"],["Lavender","#F49EC4"],["LimeGreen","#8DC73E"],["Magenta","#EC008C"],["Mahogany","#A9341F"],["Maroon","#AF3235"],["Melon","#F89E7B"],["MidnightBlue","#006795"],["Mulberry","#A93C93"],["NavyBlue","#006EB8"],["OliveGreen","#3C8031"],["Orange","#F58137"],["OrangeRed","#ED135A"],["Orchid","#AF72B0"],["Peach","#F7965A"],["Periwinkle","#7977B8"],["PineGreen","#008B72"],["Plum","#92268F"],["ProcessBlue","#00B0F0"],["Purple","#99479B"],["RawSienna","#974006"],["Red","#ED1B23"],["RedOrange","#F26035"],["RedViolet","#A1246B"],["Rhodamine","#EF559F"],["RoyalBlue","#0071BC"],["RoyalPurple","#613F99"],["RubineRed","#ED017D"],["Salmon","#F69289"],["SeaGreen","#3FBC9D"],["Sepia","#671800"],["SkyBlue","#46C5DD"],["SpringGreen","#C6DC67"],["Tan","#DA9D76"],["TealBlue","#00AEB3"],["Thistle","#D883B7"],["Turquoise","#00B4CE"],["Violet","#58429B"],["VioletRed","#EF58A0"],["White","#FFFFFF"],["WildStrawberry","#EE2967"],["Yellow","#FFF200"],["YellowGreen","#98CC70"],["YellowOrange","#FAA21A"]])},2784:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.ColorMethods=void 0;var o=n(r(1256)),i=n(r(1130));function a(t){var e="+".concat(t),r=t.replace(/^.*?([a-z]*)$/,"$1"),n=2*parseFloat(e);return{width:"+".concat(n).concat(r),height:e,depth:e,lspace:t}}e.ColorMethods={},e.ColorMethods.Color=function(t,e){var r=t.GetBrackets(e,""),n=t.GetArgument(e),o=t.configuration.packageData.get("color").model.getColor(r,n),i=t.itemFactory.create("style").setProperties({styles:{mathcolor:o}});t.stack.env.color=o,t.Push(i)},e.ColorMethods.TextColor=function(t,e){var r=t.GetBrackets(e,""),n=t.GetArgument(e),o=t.configuration.packageData.get("color").model.getColor(r,n),i=t.stack.env.color;t.stack.env.color=o;var a=t.ParseArg(e);i?t.stack.env.color=i:delete t.stack.env.color;var s=t.create("node","mstyle",[a],{mathcolor:o});t.Push(s)},e.ColorMethods.DefineColor=function(t,e){var r=t.GetArgument(e),n=t.GetArgument(e),o=t.GetArgument(e);t.configuration.packageData.get("color").model.defineColor(n,r,o)},e.ColorMethods.ColorBox=function(t,e){var r=t.GetArgument(e),n=i.default.internalMath(t,t.GetArgument(e)),s=t.configuration.packageData.get("color").model,l=t.create("node","mpadded",n,{mathbackground:s.getColor("named",r)});o.default.setProperties(l,a(t.options.color.padding)),t.Push(l)},e.ColorMethods.FColorBox=function(t,e){var r=t.GetArgument(e),n=t.GetArgument(e),s=i.default.internalMath(t,t.GetArgument(e)),l=t.options.color,c=t.configuration.packageData.get("color").model,u=t.create("node","mpadded",s,{mathbackground:c.getColor("named",n),style:"border: ".concat(l.borderWidth," solid ").concat(c.getColor("named",r))});o.default.setProperties(u,a(l.padding)),t.Push(u)}},4207:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.ColorModel=void 0;var i=o(r(3971)),a=r(7960),s=new Map,l=function(){function t(){this.userColors=new Map}return t.prototype.normalizeColor=function(t,e){if(!t||"named"===t)return e;if(s.has(t))return s.get(t)(e);throw new i.default("UndefinedColorModel","Color model '%1' not defined",t)},t.prototype.getColor=function(t,e){return t&&"named"!==t?this.normalizeColor(t,e):this.getColorByName(e)},t.prototype.getColorByName=function(t){return this.userColors.has(t)?this.userColors.get(t):a.COLORS.has(t)?a.COLORS.get(t):t},t.prototype.defineColor=function(t,e,r){var n=this.normalizeColor(t,r);this.userColors.set(e,n)},t}();e.ColorModel=l,s.set("rgb",(function(t){var e,r,o=t.trim().split(/\s*,\s*/),a="#";if(3!==o.length)throw new i.default("ModelArg1","Color values for the %1 model require 3 numbers","rgb");try{for(var s=n(o),l=s.next();!l.done;l=s.next()){var c=l.value;if(!c.match(/^(\d+(\.\d*)?|\.\d+)$/))throw new i.default("InvalidDecimalNumber","Invalid decimal number");var u=parseFloat(c);if(u<0||u>1)throw new i.default("ModelArg2","Color values for the %1 model must be between %2 and %3","rgb","0","1");var p=Math.floor(255*u).toString(16);p.length<2&&(p="0"+p),a+=p}}catch(t){e={error:t}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}return a})),s.set("RGB",(function(t){var e,r,o=t.trim().split(/\s*,\s*/),a="#";if(3!==o.length)throw new i.default("ModelArg1","Color values for the %1 model require 3 numbers","RGB");try{for(var s=n(o),l=s.next();!l.done;l=s.next()){var c=l.value;if(!c.match(/^\d+$/))throw new i.default("InvalidNumber","Invalid number");var u=parseInt(c);if(u>255)throw new i.default("ModelArg2","Color values for the %1 model must be between %2 and %3","RGB","0","255");var p=u.toString(16);p.length<2&&(p="0"+p),a+=p}}catch(t){e={error:t}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}return a})),s.set("gray",(function(t){if(!t.match(/^\s*(\d+(\.\d*)?|\.\d+)\s*$/))throw new i.default("InvalidDecimalNumber","Invalid decimal number");var e=parseFloat(t);if(e<0||e>1)throw new i.default("ModelArg2","Color values for the %1 model must be between %2 and %3","gray","0","1");var r=Math.floor(255*e).toString(16);return r.length<2&&(r="0"+r),"#".concat(r).concat(r).concat(r)}))},6648:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.ColortblConfiguration=e.ColorArrayItem=void 0;var a=r(1181),s=r(9899),l=r(9140),c=i(r(3971)),u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.color={cell:"",row:"",col:[]},e.hasColor=!1,e}return o(e,t),e.prototype.EndEntry=function(){t.prototype.EndEntry.call(this);var e=this.row[this.row.length-1],r=this.color.cell||this.color.row||this.color.col[this.row.length-1];r&&(e.attributes.set("mathbackground",r),this.color.cell="",this.hasColor=!0)},e.prototype.EndRow=function(){t.prototype.EndRow.call(this),this.color.row=""},e.prototype.createMml=function(){var e=t.prototype.createMml.call(this),r=e.isKind("mrow")?e.childNodes[1]:e;return r.isKind("menclose")&&(r=r.childNodes[0].childNodes[0]),this.hasColor&&"none"===r.attributes.get("frame")&&r.attributes.set("frame",""),e},e}(a.ArrayItem);e.ColorArrayItem=u,new l.CommandMap("colortbl",{cellcolor:["TableColor","cell"],rowcolor:["TableColor","row"],columncolor:["TableColor","col"]},{TableColor:function(t,e,r){var n=t.configuration.packageData.get("color").model,o=t.GetBrackets(e,""),i=n.getColor(o,t.GetArgument(e)),a=t.stack.Top();if(!(a instanceof u))throw new c.default("UnsupportedTableColor","Unsupported use of %1",t.currentCS);if("col"===r){if(a.table.length)throw new c.default("ColumnColorNotTop","%1 must be in the top row",e);a.color.col[a.row.length]=i,t.GetBrackets(e,"")&&t.GetBrackets(e,"")}else if(a.color[r]=i,"row"===r&&(a.Size()||a.row.length))throw new c.default("RowColorNotFirst","%1 must be at the beginning of a row",e)}});e.ColortblConfiguration=s.Configuration.create("colortbl",{handler:{macro:["colortbl"]},items:{array:u},priority:10,config:[function(t,e){e.parseOptions.packageData.has("color")||s.ConfigurationHandler.get("color").config(t,e)},10]})},6628:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ColorConfiguration=e.ColorV2Methods=void 0;var n=r(9140),o=r(9899);e.ColorV2Methods={Color:function(t,e){var r=t.GetArgument(e),n=t.stack.env.color;t.stack.env.color=r;var o=t.ParseArg(e);n?t.stack.env.color=n:delete t.stack.env.color;var i=t.create("node","mstyle",[o],{mathcolor:r});t.Push(i)}},new n.CommandMap("colorv2",{color:"Color"},e.ColorV2Methods),e.ColorConfiguration=o.Configuration.create("colorv2",{handler:{macro:["colorv2"]}})},8458:function(t,e,r){var n,o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigMacrosConfiguration=void 0;var a=r(9899),s=r(7233),l=r(9140),c=i(r(5450)),u=r(8803),p=i(r(1110)),h=r(6793),d="configmacros-map",f="configmacros-env-map";e.ConfigMacrosConfiguration=a.Configuration.create("configmacros",{init:function(t){new l.CommandMap(d,{},{}),new l.EnvironmentMap(f,c.default.environment,{},{}),t.append(a.Configuration.local({handler:{macro:[d],environment:[f]},priority:3}))},config:function(t,e){!function(t){var e,r,n=t.parseOptions.handlers.retrieve(d),i=t.parseOptions.options.macros;try{for(var a=o(Object.keys(i)),s=a.next();!s.done;s=a.next()){var l=s.value,c="string"==typeof i[l]?[i[l]]:i[l],h=Array.isArray(c[2])?new u.Macro(l,p.default.MacroWithTemplate,c.slice(0,2).concat(c[2])):new u.Macro(l,p.default.Macro,c);n.add(l,h)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}}(e),function(t){var e,r,n=t.parseOptions.handlers.retrieve(f),i=t.parseOptions.options.environments;try{for(var a=o(Object.keys(i)),s=a.next();!s.done;s=a.next()){var l=s.value;n.add(l,new u.Macro(l,p.default.BeginEnv,[!0].concat(i[l])))}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}}(e)},items:(n={},n[h.BeginEnvItem.prototype.kind]=h.BeginEnvItem,n),options:{macros:(0,s.expandable)({}),environments:(0,s.expandable)({})}})},5464:function(t,e,r){var n,o,i=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.EmpheqConfiguration=e.EmpheqMethods=e.EmpheqBeginItem=void 0;var l=r(9899),c=r(9140),u=s(r(1130)),p=s(r(3971)),h=r(1181),d=r(6471),f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"empheq-begin"},enumerable:!1,configurable:!0}),e.prototype.checkItem=function(e){return e.isKind("end")&&e.getName()===this.getName()&&this.setProperty("end",!1),t.prototype.checkItem.call(this,e)},e}(h.BeginItem);e.EmpheqBeginItem=f,e.EmpheqMethods={Empheq:function(t,e){if(t.stack.env.closing===e.getName()){delete t.stack.env.closing,t.Push(t.itemFactory.create("end").setProperty("name",t.stack.global.empheq)),t.stack.global.empheq="";var r=t.stack.Top();d.EmpheqUtil.adjustTable(r,t),t.Push(t.itemFactory.create("end").setProperty("name","empheq"))}else{u.default.checkEqnEnv(t),delete t.stack.global.eqnenv;var n=t.GetBrackets("\\begin{"+e.getName()+"}")||"",o=a((t.GetArgument("\\begin{"+e.getName()+"}")||"").split(/=/),2),i=o[0],s=o[1];if(!d.EmpheqUtil.checkEnv(i))throw new p.default("UnknownEnv",'Unknown environment "%1"',i);n&&e.setProperties(d.EmpheqUtil.splitOptions(n,{left:1,right:1})),t.stack.global.empheq=i,t.string="\\begin{"+i+"}"+(s?"{"+s+"}":"")+t.string.slice(t.i),t.i=0,t.Push(e)}},EmpheqMO:function(t,e,r){t.Push(t.create("token","mo",{},r))},EmpheqDelim:function(t,e){var r=t.GetDelimiter(e);t.Push(t.create("token","mo",{stretchy:!0,symmetric:!0},r))}},new c.EnvironmentMap("empheq-env",d.EmpheqUtil.environment,{empheq:["Empheq","empheq"]},e.EmpheqMethods),new c.CommandMap("empheq-macros",{empheqlbrace:["EmpheqMO","{"],empheqrbrace:["EmpheqMO","}"],empheqlbrack:["EmpheqMO","["],empheqrbrack:["EmpheqMO","]"],empheqlangle:["EmpheqMO","\u27e8"],empheqrangle:["EmpheqMO","\u27e9"],empheqlparen:["EmpheqMO","("],empheqrparen:["EmpheqMO",")"],empheqlvert:["EmpheqMO","|"],empheqrvert:["EmpheqMO","|"],empheqlVert:["EmpheqMO","\u2016"],empheqrVert:["EmpheqMO","\u2016"],empheqlfloor:["EmpheqMO","\u230a"],empheqrfloor:["EmpheqMO","\u230b"],empheqlceil:["EmpheqMO","\u2308"],empheqrceil:["EmpheqMO","\u2309"],empheqbiglbrace:["EmpheqMO","{"],empheqbigrbrace:["EmpheqMO","}"],empheqbiglbrack:["EmpheqMO","["],empheqbigrbrack:["EmpheqMO","]"],empheqbiglangle:["EmpheqMO","\u27e8"],empheqbigrangle:["EmpheqMO","\u27e9"],empheqbiglparen:["EmpheqMO","("],empheqbigrparen:["EmpheqMO",")"],empheqbiglvert:["EmpheqMO","|"],empheqbigrvert:["EmpheqMO","|"],empheqbiglVert:["EmpheqMO","\u2016"],empheqbigrVert:["EmpheqMO","\u2016"],empheqbiglfloor:["EmpheqMO","\u230a"],empheqbigrfloor:["EmpheqMO","\u230b"],empheqbiglceil:["EmpheqMO","\u2308"],empheqbigrceil:["EmpheqMO","\u2309"],empheql:"EmpheqDelim",empheqr:"EmpheqDelim",empheqbigl:"EmpheqDelim",empheqbigr:"EmpheqDelim"},e.EmpheqMethods),e.EmpheqConfiguration=l.Configuration.create("empheq",{handler:{macro:["empheq-macros"],environment:["empheq-env"]},items:(o={},o[f.prototype.kind]=f,o)})},6471:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.EmpheqUtil=void 0;var s=a(r(1130)),l=a(r(8417));e.EmpheqUtil={environment:function(t,e,r,i){var a=i[0],s=t.itemFactory.create(a+"-begin").setProperties({name:e,end:a});t.Push(r.apply(void 0,o([t,s],n(i.slice(1)),!1)))},splitOptions:function(t,e){return void 0===e&&(e=null),s.default.keyvalOptions(t,e,!0)},columnCount:function(t){var e,r,n=0;try{for(var o=i(t.childNodes),a=o.next();!a.done;a=o.next()){var s=a.value,l=s.childNodes.length-(s.isKind("mlabeledtr")?1:0);l>n&&(n=l)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return n},cellBlock:function(t,e,r,n){var o,a,s=r.create("node","mpadded",[],{height:0,depth:0,voffset:"-1height"}),c=new l.default(t,r.stack.env,r.configuration),u=c.mml();n&&c.configuration.tags.label&&(c.configuration.tags.currentTag.env=n,c.configuration.tags.getTag(!0));try{for(var p=i(u.isInferred?u.childNodes:[u]),h=p.next();!h.done;h=p.next()){var d=h.value;s.appendChild(d)}}catch(t){o={error:t}}finally{try{h&&!h.done&&(a=p.return)&&a.call(p)}finally{if(o)throw o.error}}return s.appendChild(r.create("node","mphantom",[r.create("node","mpadded",[e],{width:0})])),s},topRowTable:function(t,e){var r=s.default.copyNode(t,e);return r.setChildren(r.childNodes.slice(0,1)),r.attributes.set("align","baseline 1"),t.factory.create("mphantom",{},[e.create("node","mpadded",[r],{width:0})])},rowspanCell:function(t,e,r,n,o){t.appendChild(n.create("node","mpadded",[this.cellBlock(e,s.default.copyNode(r,n),n,o),this.topRowTable(r,n)],{height:0,depth:0,voffset:"height"}))},left:function(t,e,r,n,o){var a,s,l;void 0===o&&(o=""),t.attributes.set("columnalign","right "+(t.attributes.get("columnalign")||"")),t.attributes.set("columnspacing","0em "+(t.attributes.get("columnspacing")||""));try{for(var c=i(t.childNodes.slice(0).reverse()),u=c.next();!u.done;u=c.next()){var p=u.value;l=n.create("node","mtd"),p.childNodes.unshift(l),l.parent=p,p.isKind("mlabeledtr")&&(p.childNodes[0]=p.childNodes[1],p.childNodes[1]=l)}}catch(t){a={error:t}}finally{try{u&&!u.done&&(s=c.return)&&s.call(c)}finally{if(a)throw a.error}}this.rowspanCell(l,r,e,n,o)},right:function(t,r,n,o,i){void 0===i&&(i=""),0===t.childNodes.length&&t.appendChild(o.create("node","mtr"));for(var a=e.EmpheqUtil.columnCount(t),s=t.childNodes[0];s.childNodes.length=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.MathtoolsConfiguration=e.fixPrescripts=e.PAIREDDELIMS=void 0;var a=r(9899),s=r(9140),l=i(r(1256)),c=r(7233);r(2448);var u=r(836),p=r(1503),h=r(6224);function d(t){var e,r,n,i,a,s,c=t.data;try{for(var u=o(c.getList("mmultiscripts")),p=u.next();!p.done;p=u.next()){var h=p.value;if(h.getProperty("fixPrescript")){var d=l.default.getChildren(h),f=0;try{for(var m=(n=void 0,o([1,2])),y=m.next();!y.done;y=m.next()){d[v=y.value]||(l.default.setChild(h,v,c.nodeFactory.create("node","none")),f++)}}catch(t){n={error:t}}finally{try{y&&!y.done&&(i=m.return)&&i.call(m)}finally{if(n)throw n.error}}try{for(var g=(a=void 0,o([4,5])),b=g.next();!b.done;b=g.next()){var v=b.value;l.default.isType(d[v],"mrow")&&0===l.default.getChildren(d[v]).length&&l.default.setChild(h,v,c.nodeFactory.create("node","none"))}}catch(t){a={error:t}}finally{try{b&&!b.done&&(s=g.return)&&s.call(g)}finally{if(a)throw a.error}}2===f&&d.splice(1,2)}}}catch(t){e={error:t}}finally{try{p&&!p.done&&(r=u.return)&&r.call(u)}finally{if(e)throw e.error}}}e.PAIREDDELIMS="mathtools-paired-delims",e.fixPrescripts=d,e.MathtoolsConfiguration=a.Configuration.create("mathtools",{handler:{macro:["mathtools-macros","mathtools-delimiters"],environment:["mathtools-environments"],delimiter:["mathtools-delimiters"],character:["mathtools-characters"]},items:(n={},n[h.MultlinedItem.prototype.kind]=h.MultlinedItem,n),init:function(t){new s.CommandMap(e.PAIREDDELIMS,{},{}),t.append(a.Configuration.local({handler:{macro:[e.PAIREDDELIMS]},priority:-5}))},config:function(t,e){var r,n,i=e.parseOptions,a=i.options.mathtools.pairedDelimiters;try{for(var s=o(Object.keys(a)),l=s.next();!l.done;l=s.next()){var c=l.value;u.MathtoolsUtil.addPairedDelims(i,c,a[c])}}catch(t){r={error:t}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}(0,p.MathtoolsTagFormat)(t,e)},postprocessors:[[d,-6]],options:{mathtools:{multlinegap:"1em","multlined-pos":"c","firstline-afterskip":"","lastline-preskip":"","smallmatrix-align":"c",shortvdotsadjustabove:".2em",shortvdotsadjustbelow:".2em",centercolon:!1,"centercolon-offset":".04em","thincolon-dx":"-.04em","thincolon-dw":"-.08em","use-unicode":!1,"prescript-sub-format":"","prescript-sup-format":"","prescript-arg-format":"","allow-mathtoolsset":!0,pairedDelimiters:(0,c.expandable)({}),tagforms:(0,c.expandable)({})}}})},6224:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.MultlinedItem=void 0;var a=r(2790),s=i(r(1256)),l=r(8317),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"multlined"},enumerable:!1,configurable:!0}),e.prototype.EndTable=function(){if((this.Size()||this.row.length)&&(this.EndEntry(),this.EndRow()),this.table.length>1){var e=this.factory.configuration.options.mathtools,r=e.multlinegap,n=e["firstline-afterskip"]||r,o=e["lastline-preskip"]||r,i=s.default.getChildren(this.table[0])[0];s.default.getAttribute(i,"columnalign")!==l.TexConstant.Align.RIGHT&&i.appendChild(this.create("node","mspace",[],{width:n}));var a=s.default.getChildren(this.table[this.table.length-1])[0];if(s.default.getAttribute(a,"columnalign")!==l.TexConstant.Align.LEFT){var c=s.default.getChildren(a)[0];c.childNodes.unshift(null);var u=this.create("node","mspace",[],{width:o});s.default.setChild(c,0,u)}}t.prototype.EndTable.call(this)},e}(a.MultlineItem);e.MultlinedItem=c},2448:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=n(r(5450)),i=r(9140),a=r(8317),s=r(643);new i.CommandMap("mathtools-macros",{shoveleft:["HandleShove",a.TexConstant.Align.LEFT],shoveright:["HandleShove",a.TexConstant.Align.RIGHT],xleftrightarrow:["xArrow",8596,10,10],xLeftarrow:["xArrow",8656,12,7],xRightarrow:["xArrow",8658,7,12],xLeftrightarrow:["xArrow",8660,12,12],xhookleftarrow:["xArrow",8617,10,5],xhookrightarrow:["xArrow",8618,5,10],xmapsto:["xArrow",8614,10,10],xrightharpoondown:["xArrow",8641,5,10],xleftharpoondown:["xArrow",8637,10,5],xrightleftharpoons:["xArrow",8652,10,10],xrightharpoonup:["xArrow",8640,5,10],xleftharpoonup:["xArrow",8636,10,5],xleftrightharpoons:["xArrow",8651,10,10],mathllap:["MathLap","l",!1],mathrlap:["MathLap","r",!1],mathclap:["MathLap","c",!1],clap:["MtLap","c"],textllap:["MtLap","l"],textrlap:["MtLap","r"],textclap:["MtLap","c"],cramped:"Cramped",crampedllap:["MathLap","l",!0],crampedrlap:["MathLap","r",!0],crampedclap:["MathLap","c",!0],crampedsubstack:["Macro","\\begin{crampedsubarray}{c}#1\\end{crampedsubarray}",1],mathmbox:"MathMBox",mathmakebox:"MathMakeBox",overbracket:"UnderOverBracket",underbracket:"UnderOverBracket",refeq:"HandleRef",MoveEqLeft:["Macro","\\hspace{#1em}&\\hspace{-#1em}",1,"2"],Aboxed:"Aboxed",ArrowBetweenLines:"ArrowBetweenLines",vdotswithin:"VDotsWithin",shortvdotswithin:"ShortVDotsWithin",MTFlushSpaceAbove:"FlushSpaceAbove",MTFlushSpaceBelow:"FlushSpaceBelow",DeclarePairedDelimiter:"DeclarePairedDelimiter",DeclarePairedDelimiterX:"DeclarePairedDelimiterX",DeclarePairedDelimiterXPP:"DeclarePairedDelimiterXPP",DeclarePairedDelimiters:"DeclarePairedDelimiter",DeclarePairedDelimitersX:"DeclarePairedDelimiterX",DeclarePairedDelimitersXPP:"DeclarePairedDelimiterXPP",centercolon:["CenterColon",!0,!0],ordinarycolon:["CenterColon",!1],MTThinColon:["CenterColon",!0,!0,!0],coloneqq:["Relation",":=","\u2254"],Coloneqq:["Relation","::=","\u2a74"],coloneq:["Relation",":-"],Coloneq:["Relation","::-"],eqqcolon:["Relation","=:","\u2255"],Eqqcolon:["Relation","=::"],eqcolon:["Relation","-:","\u2239"],Eqcolon:["Relation","-::"],colonapprox:["Relation",":\\approx"],Colonapprox:["Relation","::\\approx"],colonsim:["Relation",":\\sim"],Colonsim:["Relation","::\\sim"],dblcolon:["Relation","::","\u2237"],nuparrow:["NArrow","\u2191",".06em"],ndownarrow:["NArrow","\u2193",".25em"],bigtimes:["Macro","\\mathop{\\Large\\kern-.1em\\boldsymbol{\\times}\\kern-.1em}"],splitfrac:["SplitFrac",!1],splitdfrac:["SplitFrac",!0],xmathstrut:"XMathStrut",prescript:"Prescript",newtagform:["NewTagForm",!1],renewtagform:["NewTagForm",!0],usetagform:"UseTagForm",adjustlimits:["MacroWithTemplate","\\mathop{{#1}\\vphantom{{#3}}}_{{#2}\\vphantom{{#4}}}\\mathop{{#3}\\vphantom{{#1}}}_{{#4}\\vphantom{{#2}}}",4,,"_",,"_"],mathtoolsset:"SetOptions"},s.MathtoolsMethods),new i.EnvironmentMap("mathtools-environments",o.default.environment,{dcases:["Array",null,"\\{","","ll",null,".2em","D"],rcases:["Array",null,"","\\}","ll",null,".2em"],drcases:["Array",null,"","\\}","ll",null,".2em","D"],"dcases*":["Cases",null,"{","","D"],"rcases*":["Cases",null,"","}"],"drcases*":["Cases",null,"","}","D"],"cases*":["Cases",null,"{",""],"matrix*":["MtMatrix",null,null,null],"pmatrix*":["MtMatrix",null,"(",")"],"bmatrix*":["MtMatrix",null,"[","]"],"Bmatrix*":["MtMatrix",null,"\\{","\\}"],"vmatrix*":["MtMatrix",null,"\\vert","\\vert"],"Vmatrix*":["MtMatrix",null,"\\Vert","\\Vert"],"smallmatrix*":["MtSmallMatrix",null,null,null],psmallmatrix:["MtSmallMatrix",null,"(",")","c"],"psmallmatrix*":["MtSmallMatrix",null,"(",")"],bsmallmatrix:["MtSmallMatrix",null,"[","]","c"],"bsmallmatrix*":["MtSmallMatrix",null,"[","]"],Bsmallmatrix:["MtSmallMatrix",null,"\\{","\\}","c"],"Bsmallmatrix*":["MtSmallMatrix",null,"\\{","\\}"],vsmallmatrix:["MtSmallMatrix",null,"\\vert","\\vert","c"],"vsmallmatrix*":["MtSmallMatrix",null,"\\vert","\\vert"],Vsmallmatrix:["MtSmallMatrix",null,"\\Vert","\\Vert","c"],"Vsmallmatrix*":["MtSmallMatrix",null,"\\Vert","\\Vert"],crampedsubarray:["Array",null,null,null,null,"0em","0.1em","S'",1],multlined:"MtMultlined",spreadlines:["SpreadLines",!0],lgathered:["AmsEqnArray",null,null,null,"l",null,".5em","D"],rgathered:["AmsEqnArray",null,null,null,"r",null,".5em","D"]},s.MathtoolsMethods),new i.DelimiterMap("mathtools-delimiters",o.default.delimiter,{"\\lparen":"(","\\rparen":")"}),new i.CommandMap("mathtools-characters",{":":["CenterColon",!0]},s.MathtoolsMethods)},643:function(t,e,r){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.MathtoolsMethods=void 0;var s=a(r(1130)),l=r(4387),c=a(r(7693)),u=a(r(8417)),p=a(r(3971)),h=a(r(1256)),d=r(9007),f=r(6010),m=r(7233),y=a(r(5579)),g=a(r(1110)),b=r(836);e.MathtoolsMethods={MtMatrix:function(t,r,n,o){var i=t.GetBrackets("\\begin{".concat(r.getName(),"}"),"c");return e.MathtoolsMethods.Array(t,r,n,o,i)},MtSmallMatrix:function(t,r,n,o,i){return i||(i=t.GetBrackets("\\begin{".concat(r.getName(),"}"),t.options.mathtools["smallmatrix-align"])),e.MathtoolsMethods.Array(t,r,n,o,i,s.default.Em(1/3),".2em","S",1)},MtMultlined:function(t,e){var r,n="\\begin{".concat(e.getName(),"}"),i=t.GetBrackets(n,t.options.mathtools["multlined-pos"]||"c"),a=i?t.GetBrackets(n,""):"";i&&!i.match(/^[cbt]$/)&&(a=(r=o([i,a],2))[0],i=r[1]),t.Push(e);var l=t.itemFactory.create("multlined",t,e);return l.arraydef={displaystyle:!0,rowspacing:".5em",width:a||"auto",columnwidth:"100%"},s.default.setArrayAlign(l,i||"c")},HandleShove:function(t,e,r){var n=t.stack.Top();if("multline"!==n.kind&&"multlined"!==n.kind)throw new p.default("CommandInMultlined","%1 can only appear within the multline or multlined environments",e);if(n.Size())throw new p.default("CommandAtTheBeginingOfLine","%1 must come at the beginning of the line",e);n.setProperty("shove",r);var o=t.GetBrackets(e),i=t.ParseArg(e);if(o){var a=t.create("node","mrow",[]),s=t.create("node","mspace",[],{width:o});"left"===r?(a.appendChild(s),a.appendChild(i)):(a.appendChild(i),a.appendChild(s)),i=a}t.Push(i)},SpreadLines:function(t,e){var r,n;if(t.stack.env.closing===e.getName()){delete t.stack.env.closing;var o=t.stack.Pop(),a=o.toMml(),s=o.getProperty("spread");if(a.isInferred)try{for(var l=i(h.default.getChildren(a)),c=l.next();!c.done;c=l.next()){var u=c.value;b.MathtoolsUtil.spreadLines(u,s)}}catch(t){r={error:t}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}else b.MathtoolsUtil.spreadLines(a,s);t.Push(a)}else{s=t.GetDimen("\\begin{".concat(e.getName(),"}"));e.setProperty("spread",s),t.Push(e)}},Cases:function(t,e,r,n,o){var i=t.itemFactory.create("array").setProperty("casesEnv",e.getName());return i.arraydef={rowspacing:".2em",columnspacing:"1em",columnalign:"left"},"D"===o&&(i.arraydef.displaystyle=!0),i.setProperties({open:r,close:n}),t.Push(e),i},MathLap:function(t,e,r,o){var i=t.GetBrackets(e,"").trim(),a=t.create("node","mstyle",[t.create("node","mpadded",[t.ParseArg(e)],n({width:0},"r"===r?{}:{lspace:"l"===r?"-1width":"-.5width"}))],{"data-cramped":o});b.MathtoolsUtil.setDisplayLevel(a,i),t.Push(t.create("node","TeXAtom",[a]))},Cramped:function(t,e){var r=t.GetBrackets(e,"").trim(),n=t.ParseArg(e),o=t.create("node","mstyle",[n],{"data-cramped":!0});b.MathtoolsUtil.setDisplayLevel(o,r),t.Push(o)},MtLap:function(t,e,r){var n=s.default.internalMath(t,t.GetArgument(e),0),o=t.create("node","mpadded",n,{width:0});"r"!==r&&h.default.setAttribute(o,"lspace","l"===r?"-1width":"-.5width"),t.Push(o)},MathMakeBox:function(t,e){var r=t.GetBrackets(e),n=t.GetBrackets(e,"c"),o=t.create("node","mpadded",[t.ParseArg(e)]);r&&h.default.setAttribute(o,"width",r);var i=(0,m.lookup)(n,{c:"center",r:"right"},"");i&&h.default.setAttribute(o,"data-align",i),t.Push(o)},MathMBox:function(t,e){t.Push(t.create("node","mrow",[t.ParseArg(e)]))},UnderOverBracket:function(t,e){var r=(0,f.length2em)(t.GetBrackets(e,".1em"),.1),n=t.GetBrackets(e,".2em"),i=t.GetArgument(e),a=o("o"===e.charAt(1)?["over","accent","bottom"]:["under","accentunder","top"],3),l=a[0],c=a[1],p=a[2],d=(0,f.em)(r),m=new u.default(i,t.stack.env,t.configuration).mml(),y=new u.default(i,t.stack.env,t.configuration).mml(),g=t.create("node","mpadded",[t.create("node","mphantom",[y])],{style:"border: ".concat(d," solid; border-").concat(p,": none"),height:n,depth:0}),b=s.default.underOver(t,m,g,l,!0),v=h.default.getChildAt(h.default.getChildAt(b,0),0);h.default.setAttribute(v,c,!0),t.Push(b)},Aboxed:function(t,e){var r=b.MathtoolsUtil.checkAlignment(t,e);r.row.length%2==1&&r.row.push(t.create("node","mtd",[]));var n=t.GetArgument(e),o=t.string.substr(t.i);t.string=n+"&&\\endAboxed",t.i=0;var i=t.GetUpTo(e,"&"),a=t.GetUpTo(e,"&");t.GetUpTo(e,"\\endAboxed");var l=s.default.substituteArgs(t,[i,a],"\\rlap{\\boxed{#1{}#2}}\\kern.267em\\phantom{#1}&\\phantom{{}#2}\\kern.267em");t.string=l+o,t.i=0},ArrowBetweenLines:function(t,e){var r=b.MathtoolsUtil.checkAlignment(t,e);if(r.Size()||r.row.length)throw new p.default("BetweenLines","%1 must be on a row by itself",e);var n=t.GetStar(),o=t.GetBrackets(e,"\\Updownarrow");n&&(r.EndEntry(),r.EndEntry());var i=n?"\\quad"+o:o+"\\quad",a=new u.default(i,t.stack.env,t.configuration).mml();t.Push(a),r.EndEntry(),r.EndRow()},VDotsWithin:function(t,e){var r=t.stack.Top(),o=r.getProperty("flushspaceabove")===r.table.length,i="\\mmlToken{mi}{}"+t.GetArgument(e)+"\\mmlToken{mi}{}",a=new u.default(i,t.stack.env,t.configuration).mml(),s=t.create("node","mpadded",[t.create("node","mpadded",[t.create("node","mo",[t.create("text","\u22ee")])],n({width:0,lspace:"-.5width"},o?{height:"-.6em",voffset:"-.18em"}:{})),t.create("node","mphantom",[a])],{lspace:".5width"});t.Push(s)},ShortVDotsWithin:function(t,r){var n=t.stack.Top(),o=t.GetStar();e.MathtoolsMethods.FlushSpaceAbove(t,"\\MTFlushSpaceAbove"),!o&&n.EndEntry(),e.MathtoolsMethods.VDotsWithin(t,"\\vdotswithin"),o&&n.EndEntry(),e.MathtoolsMethods.FlushSpaceBelow(t,"\\MTFlushSpaceBelow")},FlushSpaceAbove:function(t,e){var r=b.MathtoolsUtil.checkAlignment(t,e);r.setProperty("flushspaceabove",r.table.length),r.addRowSpacing("-"+t.options.mathtools.shortvdotsadjustabove)},FlushSpaceBelow:function(t,e){var r=b.MathtoolsUtil.checkAlignment(t,e);r.Size()&&r.EndEntry(),r.EndRow(),r.addRowSpacing("-"+t.options.mathtools.shortvdotsadjustbelow)},PairedDelimiters:function(t,e,r,n,i,a,l,c){void 0===i&&(i="#1"),void 0===a&&(a=1),void 0===l&&(l=""),void 0===c&&(c="");var u=t.GetStar(),p=u?"":t.GetBrackets(e),h=o(u?["\\left","\\right"]:p?[p+"l",p+"r"]:["",""],2),d=h[0],f=h[1],m=u?"\\middle":p||"";if(a){for(var y=[],g=y.length;g=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.MathtoolsTagFormat=void 0;var l=s(r(3971)),c=r(6521),u=0;e.MathtoolsTagFormat=function(t,e){var r=e.parseOptions.options.tags;"base"!==r&&t.tags.hasOwnProperty(r)&&c.TagsFactory.add(r,t.tags[r]);var n=function(t){function r(){var r,n,o=t.call(this)||this;o.mtFormats=new Map,o.mtCurrent=null;var a=e.parseOptions.options.mathtools.tagforms;try{for(var s=i(Object.keys(a)),c=s.next();!c.done;c=s.next()){var u=c.value;if(!Array.isArray(a[u])||3!==a[u].length)throw new l.default("InvalidTagFormDef",'The tag form definition for "%1" should be an array fo three strings',u);o.mtFormats.set(u,a[u])}}catch(t){r={error:t}}finally{try{c&&!c.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return o}return o(r,t),r.prototype.formatTag=function(e){if(this.mtCurrent){var r=a(this.mtCurrent,3),n=r[0],o=r[1],i=r[2];return i?"".concat(n).concat(i,"{").concat(e,"}").concat(o):"".concat(n).concat(e).concat(o)}return t.prototype.formatTag.call(this,e)},r}(c.TagsFactory.create(e.parseOptions.options.tags).constructor),s="MathtoolsTags-"+ ++u;c.TagsFactory.add(s,n),e.parseOptions.options.tags=s}},836:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.MathtoolsUtil=void 0;var i=r(1181),a=o(r(1130)),s=o(r(8417)),l=o(r(3971)),c=r(8803),u=r(7233),p=r(643),h=r(7535);e.MathtoolsUtil={setDisplayLevel:function(t,e){if(e){var r=n((0,u.lookup)(e,{"\\displaystyle":[!0,0],"\\textstyle":[!1,0],"\\scriptstyle":[!1,1],"\\scriptscriptstyle":[!1,2]},[null,null]),2),o=r[0],i=r[1];null!==o&&(t.attributes.set("displaystyle",o),t.attributes.set("scriptlevel",i))}},checkAlignment:function(t,e){var r=t.stack.Top();if(r.kind!==i.EqnArrayItem.prototype.kind)throw new l.default("NotInAlignment","%1 can only be used in aligment environments",e);return r},addPairedDelims:function(t,e,r){t.handlers.retrieve(h.PAIREDDELIMS).add(e,new c.Macro(e,p.MathtoolsMethods.PairedDelimiters,r))},spreadLines:function(t,e){if(t.isKind("mtable")){var r=t.attributes.get("rowspacing");if(r){var n=a.default.dimen2em(e);r=r.split(/ /).map((function(t){return a.default.Em(Math.max(0,a.default.dimen2em(t)+n))})).join(" ")}else r=e;t.attributes.set("rowspacing",r)}},plusOrMinus:function(t,e){if(!(e=e.trim()).match(/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)$/))throw new l.default("NotANumber","Argument to %1 is not a number",t);return e.match(/^[-+]/)?e:"+"+e},getScript:function(t,e,r){var n=a.default.trimSpaces(t.GetArgument(e));if(""===n)return t.create("node","none");var o=t.options.mathtools["prescript-".concat(r,"-format")];return o&&(n="".concat(o,"{").concat(n,"}")),new s.default(n,t.stack.env,t.configuration).mml()}}},6944:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.MhchemConfiguration=void 0;var o=r(9899),i=r(9140),a=n(r(3971)),s=n(r(7693)),l=r(4387),c=r(7718),u={};u.Macro=s.default.Macro,u.xArrow=l.AmsMethods.xArrow,u.Machine=function(t,e,r){var n,o=t.GetArgument(e);try{n=c.mhchemParser.toTex(o,r)}catch(t){throw new a.default(t[0],t[1])}t.string=n+t.string.substr(t.i),t.i=0},new i.CommandMap("mhchem",{ce:["Machine","ce"],pu:["Machine","pu"],longrightleftharpoons:["Macro","\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}"],longRightleftharpoons:["Macro","\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\smash{\\leftharpoondown}}"],longLeftrightharpoons:["Macro","\\stackrel{\\textstyle\\vphantom{{-}}{\\rightharpoonup}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}"],longleftrightarrows:["Macro","\\stackrel{\\longrightarrow}{\\smash{\\longleftarrow}\\Rule{0px}{.25em}{0px}}"],tripledash:["Macro","\\vphantom{-}\\raise2mu{\\kern2mu\\tiny\\text{-}\\kern1mu\\text{-}\\kern1mu\\text{-}\\kern2mu}"],xleftrightarrow:["xArrow",8596,6,6],xrightleftharpoons:["xArrow",8652,5,7],xRightleftharpoons:["xArrow",8652,5,7],xLeftrightharpoons:["xArrow",8652,5,7]},u),e.MhchemConfiguration=o.Configuration.create("mhchem",{handler:{macro:["mhchem"]}})},1496:function(t,e,r){var n,o=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),a=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&o(e,t,r);return i(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.NewcommandConfiguration=void 0;var l=r(9899),c=r(6793),u=s(r(5579));r(5117);var p=s(r(5450)),h=a(r(9140));e.NewcommandConfiguration=l.Configuration.create("newcommand",{handler:{macro:["Newcommand-macros"]},items:(n={},n[c.BeginEnvItem.prototype.kind]=c.BeginEnvItem,n),options:{maxMacros:1e3},init:function(t){new h.DelimiterMap(u.default.NEW_DELIMITER,p.default.delimiter,{}),new h.CommandMap(u.default.NEW_COMMAND,{},{}),new h.EnvironmentMap(u.default.NEW_ENVIRONMENT,p.default.environment,{},{}),t.append(l.Configuration.local({handler:{character:[],delimiter:[u.default.NEW_DELIMITER],macro:[u.default.NEW_DELIMITER,u.default.NEW_COMMAND],environment:[u.default.NEW_ENVIRONMENT]},priority:-1}))}})},6793:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BeginEnvItem=void 0;var a=i(r(3971)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"beginEnv"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isOpen",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.checkItem=function(e){if(e.isKind("end")){if(e.getName()!==this.getName())throw new a.default("EnvBadEnd","\\begin{%1} ended with \\end{%2}",this.getName(),e.getName());return[[this.factory.create("mml",this.toMml())],!0]}if(e.isKind("stop"))throw new a.default("EnvMissingEnd","Missing \\end{%1}",this.getName());return t.prototype.checkItem.call(this,e)},e}(r(8292).BaseItem);e.BeginEnvItem=s},5117:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=n(r(1110));new(r(9140).CommandMap)("Newcommand-macros",{newcommand:"NewCommand",renewcommand:"NewCommand",newenvironment:"NewEnvironment",renewenvironment:"NewEnvironment",def:"MacroDef",let:"Let"},o.default)},1110:function(t,e,r){var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var s=a(r(3971)),l=i(r(9140)),c=a(r(7693)),u=a(r(1130)),p=a(r(5579)),h={NewCommand:function(t,e){var r=p.default.GetCsNameArgument(t,e),n=p.default.GetArgCount(t,e),o=t.GetBrackets(e),i=t.GetArgument(e);p.default.addMacro(t,r,h.Macro,[i,n,o])},NewEnvironment:function(t,e){var r=u.default.trimSpaces(t.GetArgument(e)),n=p.default.GetArgCount(t,e),o=t.GetBrackets(e),i=t.GetArgument(e),a=t.GetArgument(e);p.default.addEnvironment(t,r,h.BeginEnv,[!0,i,a,n,o])},MacroDef:function(t,e){var r=p.default.GetCSname(t,e),n=p.default.GetTemplate(t,e,"\\"+r),o=t.GetArgument(e);n instanceof Array?p.default.addMacro(t,r,h.MacroWithTemplate,[o].concat(n)):p.default.addMacro(t,r,h.Macro,[o,n])},Let:function(t,e){var r=p.default.GetCSname(t,e),n=t.GetNext();"="===n&&(t.i++,n=t.GetNext());var o=t.configuration.handlers;if("\\"!==n){t.i++;var i=o.get("delimiter").lookup(n);i?p.default.addDelimiter(t,"\\"+r,i.char,i.attributes):p.default.addMacro(t,r,h.Macro,[n])}else{e=p.default.GetCSname(t,e);var a=o.get("delimiter").lookup("\\"+e);if(a)return void p.default.addDelimiter(t,"\\"+r,a.char,a.attributes);var s=o.get("macro").applicable(e);if(!s)return;if(s instanceof l.MacroMap){var c=s.lookup(e);return void p.default.addMacro(t,r,c.func,c.args,c.symbol)}a=s.lookup(e);var u=p.default.disassembleSymbol(r,a);p.default.addMacro(t,r,(function(t,e){for(var r=[],n=2;n0?[i.toString()].concat(o):i;t.i++}throw new a.default("MissingReplacementString","Missing replacement string for definition of %1",e)},t.GetParameter=function(t,r,n){if(null==n)return t.GetArgument(r);for(var o=t.i,i=0,s=0;t.i=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.NoUndefinedConfiguration=void 0;var o=r(9899);e.NoUndefinedConfiguration=o.Configuration.create("noundefined",{fallback:{macro:function(t,e){var r,o,i=t.create("text","\\"+e),a=t.options.noundefined||{},s={};try{for(var l=n(["color","background","size"]),c=l.next();!c.done;c=l.next()){var u=c.value;a[u]&&(s["math"+u]=a[u])}}catch(t){r={error:t}}finally{try{c&&!c.done&&(o=l.return)&&o.call(l)}finally{if(r)throw r.error}}t.Push(t.create("node","mtext",[],s,i))}},options:{noundefined:{color:"red",background:"",size:""}},priority:3})},3168:function(t,e,r){var n;Object.defineProperty(e,"__esModule",{value:!0}),e.PhysicsConfiguration=void 0;var o=r(9899),i=r(2612);r(3847),e.PhysicsConfiguration=o.Configuration.create("physics",{handler:{macro:["Physics-automatic-bracing-macros","Physics-vector-macros","Physics-vector-mo","Physics-vector-mi","Physics-derivative-macros","Physics-expressions-macros","Physics-quick-quad-macros","Physics-bra-ket-macros","Physics-matrix-macros"],character:["Physics-characters"],environment:["Physics-aux-envs"]},items:(n={},n[i.AutoOpen.prototype.kind]=i.AutoOpen,n),options:{physics:{italicdiff:!1,arrowdel:!1}}})},2612:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.AutoOpen=void 0;var a=r(8292),s=i(r(1130)),l=i(r(1256)),c=i(r(8417)),u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.openCount=0,e}return o(e,t),Object.defineProperty(e.prototype,"kind",{get:function(){return"auto open"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isOpen",{get:function(){return!0},enumerable:!1,configurable:!0}),e.prototype.toMml=function(){var e=this.factory.configuration.parser,r=this.getProperty("right");if(this.getProperty("smash")){var n=t.prototype.toMml.call(this),o=e.create("node","mpadded",[n],{height:0,depth:0});this.Clear(),this.Push(e.create("node","TeXAtom",[o]))}r&&this.Push(new c.default(r,e.stack.env,e.configuration).mml());var i=s.default.fenced(this.factory.configuration,this.getProperty("open"),t.prototype.toMml.call(this),this.getProperty("close"),this.getProperty("big"));return l.default.removeProperties(i,"open","close","texClass"),i},e.prototype.checkItem=function(e){if(e.isKind("mml")&&1===e.Size()){var r=e.toMml();r.isKind("mo")&&r.getText()===this.getProperty("open")&&this.openCount++}var n=e.getProperty("autoclose");return n&&n===this.getProperty("close")&&!this.openCount--?this.getProperty("ignore")?(this.Clear(),[[],!0]):[[this.toMml()],!0]:t.prototype.checkItem.call(this,e)},e.errors=Object.assign(Object.create(a.BaseItem.errors),{stop:["ExtraOrMissingDelims","Extra open or missing close delimiter"]}),e}(a.BaseItem);e.AutoOpen=u},3847:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(9140),i=n(r(7157)),a=r(8317),s=n(r(5450)),l=r(9007);new o.CommandMap("Physics-automatic-bracing-macros",{quantity:"Quantity",qty:"Quantity",pqty:["Quantity","(",")",!0],bqty:["Quantity","[","]",!0],vqty:["Quantity","|","|",!0],Bqty:["Quantity","\\{","\\}",!0],absolutevalue:["Quantity","|","|",!0],abs:["Quantity","|","|",!0],norm:["Quantity","\\|","\\|",!0],evaluated:"Eval",eval:"Eval",order:["Quantity","(",")",!0,"O",a.TexConstant.Variant.CALLIGRAPHIC],commutator:"Commutator",comm:"Commutator",anticommutator:["Commutator","\\{","\\}"],acomm:["Commutator","\\{","\\}"],poissonbracket:["Commutator","\\{","\\}"],pb:["Commutator","\\{","\\}"]},i.default),new o.CharacterMap("Physics-vector-mo",s.default.mathchar0mo,{dotproduct:["\u22c5",{mathvariant:a.TexConstant.Variant.BOLD}],vdot:["\u22c5",{mathvariant:a.TexConstant.Variant.BOLD}],crossproduct:"\xd7",cross:"\xd7",cp:"\xd7",gradientnabla:["\u2207",{mathvariant:a.TexConstant.Variant.BOLD}]}),new o.CharacterMap("Physics-vector-mi",s.default.mathchar0mi,{real:["\u211c",{mathvariant:a.TexConstant.Variant.NORMAL}],imaginary:["\u2111",{mathvariant:a.TexConstant.Variant.NORMAL}]}),new o.CommandMap("Physics-vector-macros",{vnabla:"Vnabla",vectorbold:"VectorBold",vb:"VectorBold",vectorarrow:["StarMacro",1,"\\vec{\\vb","{#1}}"],va:["StarMacro",1,"\\vec{\\vb","{#1}}"],vectorunit:["StarMacro",1,"\\hat{\\vb","{#1}}"],vu:["StarMacro",1,"\\hat{\\vb","{#1}}"],gradient:["OperatorApplication","\\vnabla","(","["],grad:["OperatorApplication","\\vnabla","(","["],divergence:["VectorOperator","\\vnabla\\vdot","(","["],div:["VectorOperator","\\vnabla\\vdot","(","["],curl:["VectorOperator","\\vnabla\\crossproduct","(","["],laplacian:["OperatorApplication","\\nabla^2","(","["]},i.default),new o.CommandMap("Physics-expressions-macros",{sin:"Expression",sinh:"Expression",arcsin:"Expression",asin:"Expression",cos:"Expression",cosh:"Expression",arccos:"Expression",acos:"Expression",tan:"Expression",tanh:"Expression",arctan:"Expression",atan:"Expression",csc:"Expression",csch:"Expression",arccsc:"Expression",acsc:"Expression",sec:"Expression",sech:"Expression",arcsec:"Expression",asec:"Expression",cot:"Expression",coth:"Expression",arccot:"Expression",acot:"Expression",exp:["Expression",!1],log:"Expression",ln:"Expression",det:["Expression",!1],Pr:["Expression",!1],tr:["Expression",!1],trace:["Expression",!1,"tr"],Tr:["Expression",!1],Trace:["Expression",!1,"Tr"],rank:"NamedFn",erf:["Expression",!1],Residue:["Macro","\\mathrm{Res}"],Res:["OperatorApplication","\\Residue","(","[","{"],principalvalue:["OperatorApplication","{\\cal P}"],pv:["OperatorApplication","{\\cal P}"],PV:["OperatorApplication","{\\rm P.V.}"],Re:["OperatorApplication","\\mathrm{Re}","{"],Im:["OperatorApplication","\\mathrm{Im}","{"],sine:["NamedFn","sin"],hypsine:["NamedFn","sinh"],arcsine:["NamedFn","arcsin"],asine:["NamedFn","asin"],cosine:["NamedFn","cos"],hypcosine:["NamedFn","cosh"],arccosine:["NamedFn","arccos"],acosine:["NamedFn","acos"],tangent:["NamedFn","tan"],hyptangent:["NamedFn","tanh"],arctangent:["NamedFn","arctan"],atangent:["NamedFn","atan"],cosecant:["NamedFn","csc"],hypcosecant:["NamedFn","csch"],arccosecant:["NamedFn","arccsc"],acosecant:["NamedFn","acsc"],secant:["NamedFn","sec"],hypsecant:["NamedFn","sech"],arcsecant:["NamedFn","arcsec"],asecant:["NamedFn","asec"],cotangent:["NamedFn","cot"],hypcotangent:["NamedFn","coth"],arccotangent:["NamedFn","arccot"],acotangent:["NamedFn","acot"],exponential:["NamedFn","exp"],logarithm:["NamedFn","log"],naturallogarithm:["NamedFn","ln"],determinant:["NamedFn","det"],Probability:["NamedFn","Pr"]},i.default),new o.CommandMap("Physics-quick-quad-macros",{qqtext:"Qqtext",qq:"Qqtext",qcomma:["Macro","\\qqtext*{,}"],qc:["Macro","\\qqtext*{,}"],qcc:["Qqtext","c.c."],qif:["Qqtext","if"],qthen:["Qqtext","then"],qelse:["Qqtext","else"],qotherwise:["Qqtext","otherwise"],qunless:["Qqtext","unless"],qgiven:["Qqtext","given"],qusing:["Qqtext","using"],qassume:["Qqtext","assume"],qsince:["Qqtext","since"],qlet:["Qqtext","let"],qfor:["Qqtext","for"],qall:["Qqtext","all"],qeven:["Qqtext","even"],qodd:["Qqtext","odd"],qinteger:["Qqtext","integer"],qand:["Qqtext","and"],qor:["Qqtext","or"],qas:["Qqtext","as"],qin:["Qqtext","in"]},i.default),new o.CommandMap("Physics-derivative-macros",{diffd:"DiffD",flatfrac:["Macro","\\left.#1\\middle/#2\\right.",2],differential:["Differential","\\diffd"],dd:["Differential","\\diffd"],variation:["Differential","\\delta"],var:["Differential","\\delta"],derivative:["Derivative",2,"\\diffd"],dv:["Derivative",2,"\\diffd"],partialderivative:["Derivative",3,"\\partial"],pderivative:["Derivative",3,"\\partial"],pdv:["Derivative",3,"\\partial"],functionalderivative:["Derivative",2,"\\delta"],fderivative:["Derivative",2,"\\delta"],fdv:["Derivative",2,"\\delta"]},i.default),new o.CommandMap("Physics-bra-ket-macros",{bra:"Bra",ket:"Ket",innerproduct:"BraKet",ip:"BraKet",braket:"BraKet",outerproduct:"KetBra",dyad:"KetBra",ketbra:"KetBra",op:"KetBra",expectationvalue:"Expectation",expval:"Expectation",ev:"Expectation",matrixelement:"MatrixElement",matrixel:"MatrixElement",mel:"MatrixElement"},i.default),new o.CommandMap("Physics-matrix-macros",{matrixquantity:"MatrixQuantity",mqty:"MatrixQuantity",pmqty:["Macro","\\mqty(#1)",1],Pmqty:["Macro","\\mqty*(#1)",1],bmqty:["Macro","\\mqty[#1]",1],vmqty:["Macro","\\mqty|#1|",1],smallmatrixquantity:["MatrixQuantity",!0],smqty:["MatrixQuantity",!0],spmqty:["Macro","\\smqty(#1)",1],sPmqty:["Macro","\\smqty*(#1)",1],sbmqty:["Macro","\\smqty[#1]",1],svmqty:["Macro","\\smqty|#1|",1],matrixdeterminant:["Macro","\\vmqty{#1}",1],mdet:["Macro","\\vmqty{#1}",1],smdet:["Macro","\\svmqty{#1}",1],identitymatrix:"IdentityMatrix",imat:"IdentityMatrix",xmatrix:"XMatrix",xmat:"XMatrix",zeromatrix:["Macro","\\xmat{0}{#1}{#2}",2],zmat:["Macro","\\xmat{0}{#1}{#2}",2],paulimatrix:"PauliMatrix",pmat:"PauliMatrix",diagonalmatrix:"DiagonalMatrix",dmat:"DiagonalMatrix",antidiagonalmatrix:["DiagonalMatrix",!0],admat:["DiagonalMatrix",!0]},i.default),new o.EnvironmentMap("Physics-aux-envs",s.default.environment,{smallmatrix:["Array",null,null,null,"c","0.333em",".2em","S",1]},i.default),new o.MacroMap("Physics-characters",{"|":["AutoClose",l.TEXCLASS.ORD],")":"AutoClose","]":"AutoClose"},i.default)},7157:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=o(r(7693)),a=o(r(8417)),s=o(r(3971)),l=r(9007),c=o(r(1130)),u=o(r(1256)),p=r(8929),h={},d={"(":")","[":"]","{":"}","|":"|"},f=/^(b|B)i(g{1,2})$/;h.Quantity=function(t,e,r,n,o,i,p){void 0===r&&(r="("),void 0===n&&(n=")"),void 0===o&&(o=!1),void 0===i&&(i=""),void 0===p&&(p="");var h=!!o&&t.GetStar(),m=t.GetNext(),y=t.i,g=null;if("\\"===m){if(t.i++,!(g=t.GetCS()).match(f)){var b=t.create("node","mrow");return t.Push(c.default.fenced(t.configuration,r,b,n)),void(t.i=y)}m=t.GetNext()}var v=d[m];if(o&&"{"!==m)throw new s.default("MissingArgFor","Missing argument for %1",t.currentCS);if(!v){b=t.create("node","mrow");return t.Push(c.default.fenced(t.configuration,r,b,n)),void(t.i=y)}if(i){var _=t.create("token","mi",{texClass:l.TEXCLASS.OP},i);p&&u.default.setAttribute(_,"mathvariant",p),t.Push(t.itemFactory.create("fn",_))}if("{"===m){var S=t.GetArgument(e);return m=o?r:"\\{",v=o?n:"\\}",S=h?m+" "+S+" "+v:g?"\\"+g+"l"+m+" "+S+" \\"+g+"r"+v:"\\left"+m+" "+S+" \\right"+v,void t.Push(new a.default(S,t.stack.env,t.configuration).mml())}o&&(m=r,v=n),t.i++,t.Push(t.itemFactory.create("auto open").setProperties({open:m,close:v,big:g}))},h.Eval=function(t,e){var r=t.GetStar(),n=t.GetNext();if("{"!==n){if("("===n||"["===n)return t.i++,void t.Push(t.itemFactory.create("auto open").setProperties({open:n,close:"|",smash:r,right:"\\vphantom{\\int}"}));throw new s.default("MissingArgFor","Missing argument for %1",t.currentCS)}var o=t.GetArgument(e),i="\\left. "+(r?"\\smash{"+o+"}":o)+" \\vphantom{\\int}\\right|";t.string=t.string.slice(0,t.i)+i+t.string.slice(t.i)},h.Commutator=function(t,e,r,n){void 0===r&&(r="["),void 0===n&&(n="]");var o=t.GetStar(),i=t.GetNext(),l=null;if("\\"===i){if(t.i++,!(l=t.GetCS()).match(f))throw new s.default("MissingArgFor","Missing argument for %1",t.currentCS);i=t.GetNext()}if("{"!==i)throw new s.default("MissingArgFor","Missing argument for %1",t.currentCS);var c=t.GetArgument(e)+","+t.GetArgument(e);c=o?r+" "+c+" "+n:l?"\\"+l+"l"+r+" "+c+" \\"+l+"r"+n:"\\left"+r+" "+c+" \\right"+n,t.Push(new a.default(c,t.stack.env,t.configuration).mml())};var m=[65,90],y=[97,122],g=[913,937],b=[945,969],v=[48,57];function _(t,e){return t>=e[0]&&t<=e[1]}function S(t,e,r,n){var o=t.configuration.parser,i=p.NodeFactory.createToken(t,e,r,n),a=n.codePointAt(0);return 1===n.length&&!o.stack.env.font&&o.stack.env.vectorFont&&(_(a,m)||_(a,y)||_(a,g)||_(a,v)||_(a,b)&&o.stack.env.vectorStar||u.default.getAttribute(i,"accent"))&&u.default.setAttribute(i,"mathvariant",o.stack.env.vectorFont),i}h.VectorBold=function(t,e){var r=t.GetStar(),n=t.GetArgument(e),o=t.configuration.nodeFactory.get("token"),i=t.stack.env.font;delete t.stack.env.font,t.configuration.nodeFactory.set("token",S),t.stack.env.vectorFont=r?"bold-italic":"bold",t.stack.env.vectorStar=r;var s=new a.default(n,t.stack.env,t.configuration).mml();i&&(t.stack.env.font=i),delete t.stack.env.vectorFont,delete t.stack.env.vectorStar,t.configuration.nodeFactory.set("token",o),t.Push(s)},h.StarMacro=function(t,e,r){for(var n=[],o=3;o2&&l.length>2?(u="^{"+(l.length-1)+"}",c=!0):null!=i&&(r>2&&l.length>1&&(c=!0),p=u="^{"+i+"}");for(var h=o?"\\flatfrac":"\\frac",d=l.length>1?l[0]:"",f=l.length>1?l[1]:l[0],m="",y=2,g=void 0;g=l[y];y++)m+=n+" "+g;var b=h+"{"+n+u+d+"}{"+n+" "+f+p+" "+m+"}";t.Push(new a.default(b,t.stack.env,t.configuration).mml()),"("===t.GetNext()&&(t.i++,t.Push(t.itemFactory.create("auto open").setProperties({open:"(",close:")",ignore:c})))},h.Bra=function(t,e){var r=t.GetStar(),n=t.GetArgument(e),o="",i=!1,s=!1;if("\\"===t.GetNext()){var l=t.i;t.i++;var c=t.GetCS(),u=t.lookup("macro",c);u&&"ket"===u.symbol?(i=!0,l=t.i,s=t.GetStar(),"{"===t.GetNext()?o=t.GetArgument(c,!0):(t.i=l,s=!1)):t.i=l}var p="";p=i?r||s?"\\langle{".concat(n,"}\\vert{").concat(o,"}\\rangle"):"\\left\\langle{".concat(n,"}\\middle\\vert{").concat(o,"}\\right\\rangle"):r||s?"\\langle{".concat(n,"}\\vert"):"\\left\\langle{".concat(n,"}\\right\\vert{").concat(o,"}"),t.Push(new a.default(p,t.stack.env,t.configuration).mml())},h.Ket=function(t,e){var r=t.GetStar(),n=t.GetArgument(e),o=r?"\\vert{".concat(n,"}\\rangle"):"\\left\\vert{".concat(n,"}\\right\\rangle");t.Push(new a.default(o,t.stack.env,t.configuration).mml())},h.BraKet=function(t,e){var r=t.GetStar(),n=t.GetArgument(e),o=null;"{"===t.GetNext()&&(o=t.GetArgument(e,!0));var i="";i=null==o?r?"\\langle{".concat(n,"}\\vert{").concat(n,"}\\rangle"):"\\left\\langle{".concat(n,"}\\middle\\vert{").concat(n,"}\\right\\rangle"):r?"\\langle{".concat(n,"}\\vert{").concat(o,"}\\rangle"):"\\left\\langle{".concat(n,"}\\middle\\vert{").concat(o,"}\\right\\rangle"),t.Push(new a.default(i,t.stack.env,t.configuration).mml())},h.KetBra=function(t,e){var r=t.GetStar(),n=t.GetArgument(e),o=null;"{"===t.GetNext()&&(o=t.GetArgument(e,!0));var i="";i=null==o?r?"\\vert{".concat(n,"}\\rangle\\!\\langle{").concat(n,"}\\vert"):"\\left\\vert{".concat(n,"}\\middle\\rangle\\!\\middle\\langle{").concat(n,"}\\right\\vert"):r?"\\vert{".concat(n,"}\\rangle\\!\\langle{").concat(o,"}\\vert"):"\\left\\vert{".concat(n,"}\\middle\\rangle\\!\\middle\\langle{").concat(o,"}\\right\\vert"),t.Push(new a.default(i,t.stack.env,t.configuration).mml())},h.Expectation=function(t,e){var r=t.GetStar(),n=r&&t.GetStar(),o=t.GetArgument(e),i=null;"{"===t.GetNext()&&(i=t.GetArgument(e,!0));var s=o&&i?M([i,o,i],r,n):r?"\\langle {".concat(o,"} \\rangle"):"\\left\\langle {".concat(o,"} \\right\\rangle");t.Push(new a.default(s,t.stack.env,t.configuration).mml())},h.MatrixElement=function(t,e){var r=t.GetStar(),n=r&&t.GetStar(),o=M([t.GetArgument(e),t.GetArgument(e),t.GetArgument(e)],r,n);t.Push(new a.default(o,t.stack.env,t.configuration).mml())},h.MatrixQuantity=function(t,e,r){var n=t.GetStar(),o=r?"smallmatrix":"array",i="",s="",l="";switch(t.GetNext()){case"{":i=t.GetArgument(e);break;case"(":t.i++,s=n?"\\lgroup":"(",l=n?"\\rgroup":")",i=t.GetUpTo(e,")");break;case"[":t.i++,s="[",l="]",i=t.GetUpTo(e,"]");break;case"|":t.i++,s="|",l="|",i=t.GetUpTo(e,"|");break;default:s="(",l=")"}var c=(s?"\\left":"")+s+"\\begin{"+o+"}{} "+i+"\\end{"+o+"}"+(s?"\\right":"")+l;t.Push(new a.default(c,t.stack.env,t.configuration).mml())},h.IdentityMatrix=function(t,e){var r=t.GetArgument(e),n=parseInt(r,10);if(isNaN(n))throw new s.default("InvalidNumber","Invalid number");if(n<=1)return t.string="1"+t.string.slice(t.i),void(t.i=0);for(var o=Array(n).fill("0"),i=[],a=0;a=o){i.push(t.string.slice(s,o));break}s=t.i,i.push(a)}t.string=function(t,e){for(var r=t.length,n=[],o=0;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.SetOptionsConfiguration=e.SetOptionsUtil=void 0;var i=r(9899),a=r(9140),s=o(r(3971)),l=o(r(1130)),c=r(8803),u=o(r(7693)),p=r(7233);e.SetOptionsUtil={filterPackage:function(t,e){if("tex"!==e&&!i.ConfigurationHandler.get(e))throw new s.default("NotAPackage","Not a defined package: %1",e);var r=t.options.setoptions,n=r.allowOptions[e];if(void 0===n&&!r.allowPackageDefault||!1===n)throw new s.default("PackageNotSettable",'Options can\'t be set for package "%1"',e);return!0},filterOption:function(t,e,r){var n,o=t.options.setoptions,i=o.allowOptions[e]||{},a=i.hasOwnProperty(r)&&!(0,p.isObject)(i[r])?i[r]:null;if(!1===a||null===a&&!o.allowOptionsDefault)throw new s.default("OptionNotSettable",'Option "%1" is not allowed to be set',r);if(!(null===(n="tex"===e?t.options:t.options[e])||void 0===n?void 0:n.hasOwnProperty(r)))throw"tex"===e?new s.default("InvalidTexOption",'Invalid TeX option "%1"',r):new s.default("InvalidOptionKey",'Invalid option "%1" for package "%2"',r,e);return!0},filterValue:function(t,e,r,n){return n}};var h=new a.CommandMap("setoptions",{setOptions:"SetOptions"},{SetOptions:function(t,e){var r,o,i=t.GetBrackets(e)||"tex",a=l.default.keyvalOptions(t.GetArgument(e)),s=t.options.setoptions;if(s.filterPackage(t,i))try{for(var c=n(Object.keys(a)),u=c.next();!u.done;u=c.next()){var p=u.value;s.filterOption(t,i,p)&&(("tex"===i?t.options:t.options[i])[p]=s.filterValue(t,i,p,a[p]))}}catch(t){r={error:t}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(r)throw r.error}}}});e.SetOptionsConfiguration=i.Configuration.create("setoptions",{handler:{macro:["setoptions"]},config:function(t,e){var r=e.parseOptions.handlers.get("macro").lookup("require");r&&(h.add("Require",new c.Macro("Require",r._func)),h.add("require",new c.Macro("require",u.default.Macro,["\\Require{#2}\\setOptions[#2]{#1}",2,""])))},priority:3,options:{setoptions:{filterPackage:e.SetOptionsUtil.filterPackage,filterOption:e.SetOptionsUtil.filterOption,filterValue:e.SetOptionsUtil.filterValue,allowPackageDefault:!0,allowOptionsDefault:!0,allowOptions:(0,p.expandable)({tex:{FindTeX:!1,formatError:!1,package:!1,baseURL:!1,tags:!1,maxBuffer:!1,maxMaxros:!1,macros:!1,environments:!1},setoptions:!1,autoload:!1,require:!1,configmacros:!1,tagformat:!1})}}})},1527:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.TagFormatConfiguration=e.tagformatConfig=void 0;var i=r(9899),a=r(6521),s=0;function l(t,e){var r=e.parseOptions.options.tags;"base"!==r&&t.tags.hasOwnProperty(r)&&a.TagsFactory.add(r,t.tags[r]);var n=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return o(r,t),r.prototype.formatNumber=function(t){return e.parseOptions.options.tagformat.number(t)},r.prototype.formatTag=function(t){return e.parseOptions.options.tagformat.tag(t)},r.prototype.formatId=function(t){return e.parseOptions.options.tagformat.id(t)},r.prototype.formatUrl=function(t,r){return e.parseOptions.options.tagformat.url(t,r)},r}(a.TagsFactory.create(e.parseOptions.options.tags).constructor),i="configTags-"+ ++s;a.TagsFactory.add(i,n),e.parseOptions.options.tags=i}e.tagformatConfig=l,e.TagFormatConfiguration=i.Configuration.create("tagformat",{config:[l,10],options:{tagformat:{number:function(t){return t.toString()},tag:function(t){return"("+t+")"},id:function(t){return"mjx-eqn:"+t.replace(/\s/g,"_")},url:function(t,e){return e+"#"+encodeURIComponent(t)}}}})},2307:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.TextcompConfiguration=void 0;var n=r(9899);r(9906),e.TextcompConfiguration=n.Configuration.create("textcomp",{handler:{macro:["textcomp-macros"]}})},9906:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(9140),i=r(8317),a=r(58),s=n(r(1130)),l=r(8728);new o.CommandMap("textcomp-macros",{textasciicircum:["Insert","^"],textasciitilde:["Insert","~"],textasteriskcentered:["Insert","*"],textbackslash:["Insert","\\"],textbar:["Insert","|"],textbraceleft:["Insert","{"],textbraceright:["Insert","}"],textbullet:["Insert","\u2022"],textdagger:["Insert","\u2020"],textdaggerdbl:["Insert","\u2021"],textellipsis:["Insert","\u2026"],textemdash:["Insert","\u2014"],textendash:["Insert","\u2013"],textexclamdown:["Insert","\xa1"],textgreater:["Insert",">"],textless:["Insert","<"],textordfeminine:["Insert","\xaa"],textordmasculine:["Insert","\xba"],textparagraph:["Insert","\xb6"],textperiodcentered:["Insert","\xb7"],textquestiondown:["Insert","\xbf"],textquotedblleft:["Insert","\u201c"],textquotedblright:["Insert","\u201d"],textquoteleft:["Insert","\u2018"],textquoteright:["Insert","\u2019"],textsection:["Insert","\xa7"],textunderscore:["Insert","_"],textvisiblespace:["Insert","\u2423"],textacutedbl:["Insert","\u02dd"],textasciiacute:["Insert","\xb4"],textasciibreve:["Insert","\u02d8"],textasciicaron:["Insert","\u02c7"],textasciidieresis:["Insert","\xa8"],textasciimacron:["Insert","\xaf"],textgravedbl:["Insert","\u02f5"],texttildelow:["Insert","\u02f7"],textbaht:["Insert","\u0e3f"],textcent:["Insert","\xa2"],textcolonmonetary:["Insert","\u20a1"],textcurrency:["Insert","\xa4"],textdollar:["Insert","$"],textdong:["Insert","\u20ab"],texteuro:["Insert","\u20ac"],textflorin:["Insert","\u0192"],textguarani:["Insert","\u20b2"],textlira:["Insert","\u20a4"],textnaira:["Insert","\u20a6"],textpeso:["Insert","\u20b1"],textsterling:["Insert","\xa3"],textwon:["Insert","\u20a9"],textyen:["Insert","\xa5"],textcircledP:["Insert","\u2117"],textcompwordmark:["Insert","\u200c"],textcopyleft:["Insert","\ud83c\udd2f"],textcopyright:["Insert","\xa9"],textregistered:["Insert","\xae"],textservicemark:["Insert","\u2120"],texttrademark:["Insert","\u2122"],textbardbl:["Insert","\u2016"],textbigcircle:["Insert","\u25ef"],textblank:["Insert","\u2422"],textbrokenbar:["Insert","\xa6"],textdiscount:["Insert","\u2052"],textestimated:["Insert","\u212e"],textinterrobang:["Insert","\u203d"],textinterrobangdown:["Insert","\u2e18"],textmusicalnote:["Insert","\u266a"],textnumero:["Insert","\u2116"],textopenbullet:["Insert","\u25e6"],textpertenthousand:["Insert","\u2031"],textperthousand:["Insert","\u2030"],textrecipe:["Insert","\u211e"],textreferencemark:["Insert","\u203b"],textlangle:["Insert","\u2329"],textrangle:["Insert","\u232a"],textlbrackdbl:["Insert","\u27e6"],textrbrackdbl:["Insert","\u27e7"],textlquill:["Insert","\u2045"],textrquill:["Insert","\u2046"],textcelsius:["Insert","\u2103"],textdegree:["Insert","\xb0"],textdiv:["Insert","\xf7"],textdownarrow:["Insert","\u2193"],textfractionsolidus:["Insert","\u2044"],textleftarrow:["Insert","\u2190"],textlnot:["Insert","\xac"],textmho:["Insert","\u2127"],textminus:["Insert","\u2212"],textmu:["Insert","\xb5"],textohm:["Insert","\u2126"],textonehalf:["Insert","\xbd"],textonequarter:["Insert","\xbc"],textonesuperior:["Insert","\xb9"],textpm:["Insert","\xb1"],textrightarrow:["Insert","\u2192"],textsurd:["Insert","\u221a"],textthreequarters:["Insert","\xbe"],textthreesuperior:["Insert","\xb3"],texttimes:["Insert","\xd7"],texttwosuperior:["Insert","\xb2"],textuparrow:["Insert","\u2191"],textborn:["Insert","*"],textdied:["Insert","\u2020"],textdivorced:["Insert","\u26ae"],textmarried:["Insert","\u26ad"],textcentoldstyle:["Insert","\xa2",i.TexConstant.Variant.OLDSTYLE],textdollaroldstyle:["Insert","$",i.TexConstant.Variant.OLDSTYLE],textzerooldstyle:["Insert","0",i.TexConstant.Variant.OLDSTYLE],textoneoldstyle:["Insert","1",i.TexConstant.Variant.OLDSTYLE],texttwooldstyle:["Insert","2",i.TexConstant.Variant.OLDSTYLE],textthreeoldstyle:["Insert","3",i.TexConstant.Variant.OLDSTYLE],textfouroldstyle:["Insert","4",i.TexConstant.Variant.OLDSTYLE],textfiveoldstyle:["Insert","5",i.TexConstant.Variant.OLDSTYLE],textsixoldstyle:["Insert","6",i.TexConstant.Variant.OLDSTYLE],textsevenoldstyle:["Insert","7",i.TexConstant.Variant.OLDSTYLE],texteightoldstyle:["Insert","8",i.TexConstant.Variant.OLDSTYLE],textnineoldstyle:["Insert","9",i.TexConstant.Variant.OLDSTYLE]},{Insert:function(t,e,r,n){if(t instanceof l.TextParser){if(!n)return void a.TextMacrosMethods.Insert(t,e,r);t.saveText()}t.Push(s.default.internalText(t,r,n?{mathvariant:n}:{}))}})},2675:function(t,e,r){var n,o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TextMacrosConfiguration=e.TextBaseConfiguration=void 0;var i=r(9899),a=o(r(8562)),s=r(6521),l=r(1181),c=r(8728),u=r(58);function p(t,e,r,n){var o=t.configuration.packageData.get("textmacros");return t instanceof c.TextParser||(o.texParser=t),[new c.TextParser(e,n?{mathvariant:n}:{},o.parseOptions,r).mml()]}r(8376),e.TextBaseConfiguration=i.Configuration.create("text-base",{parser:"text",handler:{character:["command","text-special"],macro:["text-macros"]},fallback:{character:function(t,e){t.text+=e},macro:function(t,e){var r=t.texParser,n=r.lookup("macro",e);n&&n._func!==u.TextMacrosMethods.Macro&&t.Error("MathMacro","%1 is only supported in math mode","\\"+e),r.parse("macro",[t,e])}},items:(n={},n[l.StartItem.prototype.kind]=l.StartItem,n[l.StopItem.prototype.kind]=l.StopItem,n[l.MmlItem.prototype.kind]=l.MmlItem,n[l.StyleItem.prototype.kind]=l.StyleItem,n)}),e.TextMacrosConfiguration=i.Configuration.create("textmacros",{config:function(t,e){var r=new i.ParserConfiguration(e.parseOptions.options.textmacros.packages,["tex","text"]);r.init();var n=new a.default(r,[]);n.options=e.parseOptions.options,r.config(e),s.TagsFactory.addTags(r.tags),n.tags=s.TagsFactory.getDefault(),n.tags.configuration=n,n.packageData=e.parseOptions.packageData,n.packageData.set("textmacros",{parseOptions:n,jax:e,texParser:null}),n.options.internalMath=p},preprocessors:[function(t){var e=t.data.packageData.get("textmacros");e.parseOptions.nodeFactory.setMmlFactory(e.jax.mmlFactory)}],options:{textmacros:{packages:["text-base"]}}})},8376:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});var n=r(9140),o=r(8317),i=r(58),a=r(6010);new n.MacroMap("text-special",{$:"Math","%":"Comment","^":"MathModeOnly",_:"MathModeOnly","&":"Misplaced","#":"Misplaced","~":"Tilde"," ":"Space","\t":"Space","\r":"Space","\n":"Space","\xa0":"Tilde","{":"OpenBrace","}":"CloseBrace","`":"OpenQuote","'":"CloseQuote"},i.TextMacrosMethods),new n.CommandMap("text-macros",{"(":"Math",$:"SelfQuote",_:"SelfQuote","%":"SelfQuote","{":"SelfQuote","}":"SelfQuote"," ":"SelfQuote","&":"SelfQuote","#":"SelfQuote","\\":"SelfQuote","'":["Accent","\xb4"],"\u2019":["Accent","\xb4"],"`":["Accent","`"],"\u2018":["Accent","`"],"^":["Accent","^"],'"':["Accent","\xa8"],"~":["Accent","~"],"=":["Accent","\xaf"],".":["Accent","\u02d9"],u:["Accent","\u02d8"],v:["Accent","\u02c7"],emph:"Emph",rm:["SetFont",o.TexConstant.Variant.NORMAL],mit:["SetFont",o.TexConstant.Variant.ITALIC],oldstyle:["SetFont",o.TexConstant.Variant.OLDSTYLE],cal:["SetFont",o.TexConstant.Variant.CALLIGRAPHIC],it:["SetFont","-tex-mathit"],bf:["SetFont",o.TexConstant.Variant.BOLD],bbFont:["SetFont",o.TexConstant.Variant.DOUBLESTRUCK],scr:["SetFont",o.TexConstant.Variant.SCRIPT],frak:["SetFont",o.TexConstant.Variant.FRAKTUR],sf:["SetFont",o.TexConstant.Variant.SANSSERIF],tt:["SetFont",o.TexConstant.Variant.MONOSPACE],tiny:["SetSize",.5],Tiny:["SetSize",.6],scriptsize:["SetSize",.7],small:["SetSize",.85],normalsize:["SetSize",1],large:["SetSize",1.2],Large:["SetSize",1.44],LARGE:["SetSize",1.73],huge:["SetSize",2.07],Huge:["SetSize",2.49],Bbb:["Macro","{\\bbFont #1}",1],textnormal:["Macro","{\\rm #1}",1],textup:["Macro","{\\rm #1}",1],textrm:["Macro","{\\rm #1}",1],textit:["Macro","{\\it #1}",1],textbf:["Macro","{\\bf #1}",1],textsf:["Macro","{\\sf #1}",1],texttt:["Macro","{\\tt #1}",1],dagger:["Insert","\u2020"],ddagger:["Insert","\u2021"],S:["Insert","\xa7"],",":["Spacer",a.MATHSPACE.thinmathspace],":":["Spacer",a.MATHSPACE.mediummathspace],">":["Spacer",a.MATHSPACE.mediummathspace],";":["Spacer",a.MATHSPACE.thickmathspace],"!":["Spacer",a.MATHSPACE.negativethinmathspace],enspace:["Spacer",.5],quad:["Spacer",1],qquad:["Spacer",2],thinspace:["Spacer",a.MATHSPACE.thinmathspace],negthinspace:["Spacer",a.MATHSPACE.negativethinmathspace],hskip:"Hskip",hspace:"Hskip",kern:"Hskip",mskip:"Hskip",mspace:"Hskip",mkern:"Hskip",rule:"rule",Rule:["Rule"],Space:["Rule","blank"],color:"CheckAutoload",textcolor:"CheckAutoload",colorbox:"CheckAutoload",fcolorbox:"CheckAutoload",href:"CheckAutoload",style:"CheckAutoload",class:"CheckAutoload",cssId:"CheckAutoload",unicode:"CheckAutoload",ref:["HandleRef",!1],eqref:["HandleRef",!0]},i.TextMacrosMethods)},58:function(t,e,r){var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TextMacrosMethods=void 0;var o=n(r(8417)),i=r(4542),a=n(r(7693));e.TextMacrosMethods={Comment:function(t,e){for(;t.i=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTML=void 0;var u=r(3055),p=r(4139),h=r(9261),d=r(6797),f=r(2760),m=l(r(6010)),y=r(505),g=function(t){function e(e){void 0===e&&(e=null);var r=t.call(this,e,h.CHTMLWrapperFactory,f.TeXFont)||this;return r.chtmlStyles=null,r.font.adaptiveCSS(r.options.adaptiveCSS),r.wrapperUsage=new d.Usage,r}return o(e,t),e.prototype.escaped=function(t,e){return this.setDocument(e),this.html("span",{},[this.text(t.math)])},e.prototype.styleSheet=function(r){if(this.chtmlStyles){if(this.options.adaptiveCSS){var n=new p.CssStyles;this.addWrapperStyles(n),this.updateFontStyles(n),this.adaptor.insertRules(this.chtmlStyles,n.getStyleRules())}return this.chtmlStyles}var o=this.chtmlStyles=t.prototype.styleSheet.call(this,r);return this.adaptor.setAttribute(o,"id",e.STYLESHEETID),this.wrapperUsage.update(),o},e.prototype.updateFontStyles=function(t){t.addStyles(this.font.updateStyles({}))},e.prototype.addWrapperStyles=function(e){var r,n;if(this.options.adaptiveCSS)try{for(var o=c(this.wrapperUsage.update()),i=o.next();!i.done;i=o.next()){var a=i.value,s=this.factory.getNodeClass(a);s&&this.addClassStyles(s,e)}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}else t.prototype.addWrapperStyles.call(this,e)},e.prototype.addClassStyles=function(e,r){var n,o=e;o.autoStyle&&"unknown"!==o.kind&&r.addStyles(((n={})["mjx-"+o.kind]={display:"inline-block","text-align":"left"},n)),this.wrapperUsage.add(o.kind),t.prototype.addClassStyles.call(this,e,r)},e.prototype.processMath=function(t,e){this.factory.wrap(t).toCHTML(e)},e.prototype.clearCache=function(){this.cssStyles.clear(),this.font.clearCache(),this.wrapperUsage.clear(),this.chtmlStyles=null},e.prototype.reset=function(){this.clearCache()},e.prototype.unknownText=function(t,e,r){void 0===r&&(r=null);var n={},o=100/this.math.metrics.scale;if(100!==o&&(n["font-size"]=this.fixed(o,1)+"%",n.padding=m.em(75/o)+" 0 "+m.em(20/o)+" 0"),"-explicitFont"!==e){var i=(0,y.unicodeChars)(t);(1!==i.length||i[0]<119808||i[0]>120831)&&this.cssFontStyles(this.font.getCssFont(e),n)}if(null!==r){var a=this.math.metrics;n.width=Math.round(r*a.em*a.scale)+"px"}return this.html("mjx-utext",{variant:e,style:n},[this.text(t)])},e.prototype.measureTextNode=function(t){var e=this.adaptor,r=e.clone(t);e.setStyle(r,"font-family",e.getStyle(r,"font-family").replace(/MJXZERO, /g,""));var n=this.html("mjx-measure-text",{style:{position:"absolute","white-space":"nowrap"}},[r]);e.append(e.parent(this.math.start.node),this.container),e.append(this.container,n);var o=e.nodeSize(r,this.math.metrics.em)[0]/this.math.metrics.scale;return e.remove(this.container),e.remove(n),{w:o,h:.75,d:.2}},e.NAME="CHTML",e.OPTIONS=i(i({},u.CommonOutputJax.OPTIONS),{adaptiveCSS:!0,matchFontHeight:!0}),e.commonStyles={'mjx-container[jax="CHTML"]':{"line-height":0},'mjx-container [space="1"]':{"margin-left":".111em"},'mjx-container [space="2"]':{"margin-left":".167em"},'mjx-container [space="3"]':{"margin-left":".222em"},'mjx-container [space="4"]':{"margin-left":".278em"},'mjx-container [space="5"]':{"margin-left":".333em"},'mjx-container [rspace="1"]':{"margin-right":".111em"},'mjx-container [rspace="2"]':{"margin-right":".167em"},'mjx-container [rspace="3"]':{"margin-right":".222em"},'mjx-container [rspace="4"]':{"margin-right":".278em"},'mjx-container [rspace="5"]':{"margin-right":".333em"},'mjx-container [size="s"]':{"font-size":"70.7%"},'mjx-container [size="ss"]':{"font-size":"50%"},'mjx-container [size="Tn"]':{"font-size":"60%"},'mjx-container [size="sm"]':{"font-size":"85%"},'mjx-container [size="lg"]':{"font-size":"120%"},'mjx-container [size="Lg"]':{"font-size":"144%"},'mjx-container [size="LG"]':{"font-size":"173%"},'mjx-container [size="hg"]':{"font-size":"207%"},'mjx-container [size="HG"]':{"font-size":"249%"},'mjx-container [width="full"]':{width:"100%"},"mjx-box":{display:"inline-block"},"mjx-block":{display:"block"},"mjx-itable":{display:"inline-table"},"mjx-row":{display:"table-row"},"mjx-row > *":{display:"table-cell"},"mjx-mtext":{display:"inline-block"},"mjx-mstyle":{display:"inline-block"},"mjx-merror":{display:"inline-block",color:"red","background-color":"yellow"},"mjx-mphantom":{visibility:"hidden"},"_::-webkit-full-page-media, _:future, :root mjx-container":{"will-change":"opacity"}},e.STYLESHEETID="MJX-CHTML-styles",e}(u.CommonOutputJax);e.CHTML=g},8042:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},c=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.AddCSS=e.CHTMLFontData=void 0;var u=r(5884),p=r(6797),h=r(6010);s(r(5884),e);var d=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.charUsage=new p.Usage,e.delimUsage=new p.Usage,e}return o(e,t),e.charOptions=function(e,r){return t.charOptions.call(this,e,r)},e.prototype.adaptiveCSS=function(t){this.options.adaptiveCSS=t},e.prototype.clearCache=function(){this.options.adaptiveCSS&&(this.charUsage.clear(),this.delimUsage.clear())},e.prototype.createVariant=function(e,r,n){void 0===r&&(r=null),void 0===n&&(n=null),t.prototype.createVariant.call(this,e,r,n);var o=this.constructor;this.variant[e].classes=o.defaultVariantClasses[e],this.variant[e].letter=o.defaultVariantLetters[e]},e.prototype.defineChars=function(r,n){var o,i;t.prototype.defineChars.call(this,r,n);var a=this.variant[r].letter;try{for(var s=l(Object.keys(n)),c=s.next();!c.done;c=s.next()){var u=c.value,p=e.charOptions(n,parseInt(u));void 0===p.f&&(p.f=a)}}catch(t){o={error:t}}finally{try{c&&!c.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}},Object.defineProperty(e.prototype,"styles",{get:function(){var t=this.constructor,e=i({},t.defaultStyles);return this.addFontURLs(e,t.defaultFonts,this.options.fontURL),this.options.adaptiveCSS?this.updateStyles(e):this.allStyles(e),e},enumerable:!1,configurable:!0}),e.prototype.updateStyles=function(t){var e,r,n,o;try{for(var i=l(this.delimUsage.update()),a=i.next();!a.done;a=i.next()){var s=a.value;this.addDelimiterStyles(t,s,this.delimiters[s])}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}try{for(var u=l(this.charUsage.update()),p=u.next();!p.done;p=u.next()){var h=c(p.value,2),d=h[0],f=(s=h[1],this.variant[d]);this.addCharStyles(t,f.letter,s,f.chars[s])}}catch(t){n={error:t}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(n)throw n.error}}return t},e.prototype.allStyles=function(t){var e,r,n,o,i,a;try{for(var s=l(Object.keys(this.delimiters)),c=s.next();!c.done;c=s.next()){var u=c.value,p=parseInt(u);this.addDelimiterStyles(t,p,this.delimiters[p])}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}try{for(var h=l(Object.keys(this.variant)),d=h.next();!d.done;d=h.next()){var f=d.value,m=this.variant[f],y=m.letter;try{for(var g=(i=void 0,l(Object.keys(m.chars))),b=g.next();!b.done;b=g.next()){u=b.value,p=parseInt(u);var v=m.chars[p];(v[3]||{}).smp||(v.length<4&&(v[3]={}),this.addCharStyles(t,y,p,v))}}catch(t){i={error:t}}finally{try{b&&!b.done&&(a=g.return)&&a.call(g)}finally{if(i)throw i.error}}}}catch(t){n={error:t}}finally{try{d&&!d.done&&(o=h.return)&&o.call(h)}finally{if(n)throw n.error}}},e.prototype.addFontURLs=function(t,e,r){var n,o;try{for(var a=l(Object.keys(e)),s=a.next();!s.done;s=a.next()){var c=s.value,u=i({},e[c]);u.src=u.src.replace(/%%URL%%/,r),t[c]=u}}catch(t){n={error:t}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}},e.prototype.addDelimiterStyles=function(t,e,r){var n=this.charSelector(e);r.c&&r.c!==e&&(t[".mjx-stretched mjx-c"+(n=this.charSelector(r.c))+"::before"]={content:this.charContent(r.c)}),r.stretch&&(1===r.dir?this.addDelimiterVStyles(t,n,r):this.addDelimiterHStyles(t,n,r))},e.prototype.addDelimiterVStyles=function(t,e,r){var n=r.HDW,o=c(r.stretch,4),i=o[0],a=o[1],s=o[2],l=o[3],u=this.addDelimiterVPart(t,e,"beg",i,n);this.addDelimiterVPart(t,e,"ext",a,n);var p=this.addDelimiterVPart(t,e,"end",s,n),h={};if(l){var d=this.addDelimiterVPart(t,e,"mid",l,n);h.height="50%",t["mjx-stretchy-v"+e+" > mjx-mid"]={"margin-top":this.em(-d/2),"margin-bottom":this.em(-d/2)}}u&&(h["border-top-width"]=this.em0(u-.03)),p&&(h["border-bottom-width"]=this.em0(p-.03),t["mjx-stretchy-v"+e+" > mjx-end"]={"margin-top":this.em(-p)}),Object.keys(h).length&&(t["mjx-stretchy-v"+e+" > mjx-ext"]=h)},e.prototype.addDelimiterVPart=function(t,e,r,n,o){if(!n)return 0;var i=this.getDelimiterData(n),a=(o[2]-i[2])/2,s={content:this.charContent(n)};return"ext"!==r?s.padding=this.padding(i,a):(s.width=this.em0(o[2]),a&&(s["padding-left"]=this.em0(a))),t["mjx-stretchy-v"+e+" mjx-"+r+" mjx-c::before"]=s,i[0]+i[1]},e.prototype.addDelimiterHStyles=function(t,e,r){var n=c(r.stretch,4),o=n[0],i=n[1],a=n[2],s=n[3],l=r.HDW;this.addDelimiterHPart(t,e,"beg",o,l),this.addDelimiterHPart(t,e,"ext",i,l),this.addDelimiterHPart(t,e,"end",a,l),s&&(this.addDelimiterHPart(t,e,"mid",s,l),t["mjx-stretchy-h"+e+" > mjx-ext"]={width:"50%"})},e.prototype.addDelimiterHPart=function(t,e,r,n,o){if(n){var i=this.getDelimiterData(n)[3],a={content:i&&i.c?'"'+i.c+'"':this.charContent(n)};a.padding=this.padding(o,0,-o[2]),t["mjx-stretchy-h"+e+" mjx-"+r+" mjx-c::before"]=a}},e.prototype.addCharStyles=function(t,e,r,n){var o=n[3],i=void 0!==o.f?o.f:e;t["mjx-c"+this.charSelector(r)+(i?".TEX-"+i:"")+"::before"]={padding:this.padding(n,0,o.ic||0),content:null!=o.c?'"'+o.c+'"':this.charContent(r)}},e.prototype.getDelimiterData=function(t){return this.getChar("-smallop",t)},e.prototype.em=function(t){return(0,h.em)(t)},e.prototype.em0=function(t){return(0,h.em)(Math.max(0,t))},e.prototype.padding=function(t,e,r){var n=c(t,3),o=n[0],i=n[1];return void 0===e&&(e=0),void 0===r&&(r=0),[o,n[2]+r,i,e].map(this.em0).join(" ")},e.prototype.charContent=function(t){return'"'+(t>=32&&t<=126&&34!==t&&39!==t&&92!==t?String.fromCharCode(t):"\\"+t.toString(16).toUpperCase())+'"'},e.prototype.charSelector=function(t){return".mjx-c"+t.toString(16).toUpperCase()},e.OPTIONS=i(i({},u.FontData.OPTIONS),{fontURL:"js/output/chtml/fonts/tex-woff-v2"}),e.JAX="CHTML",e.defaultVariantClasses={},e.defaultVariantLetters={},e.defaultStyles={"mjx-c::before":{display:"block",width:0}},e.defaultFonts={"@font-face /* 0 */":{"font-family":"MJXZERO",src:'url("%%URL%%/MathJax_Zero.woff") format("woff")'}},e}(u.FontData);e.CHTMLFontData=d,e.AddCSS=function(t,e){var r,n;try{for(var o=l(Object.keys(e)),i=o.next();!i.done;i=o.next()){var a=i.value,s=parseInt(a);Object.assign(u.FontData.charOptions(t,s),e[s])}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return t}},8270:function(t,e,r){var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n(e,t,r)},s=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.Arrow=e.DiagonalArrow=e.DiagonalStrike=e.Border2=e.Border=e.RenderElement=void 0;var l=i(r(5552));a(r(5552),e);e.RenderElement=function(t,e){return void 0===e&&(e=""),function(r,n){var o=r.adjustBorder(r.html("mjx-"+t));if(e){var i=r.getOffset(e);if(r.thickness!==l.THICKNESS||i){var a="translate".concat(e,"(").concat(r.em(r.thickness/2-i),")");r.adaptor.setStyle(o,"transform",a)}}r.adaptor.append(r.chtml,o)}};e.Border=function(t){return l.CommonBorder((function(e,r){e.adaptor.setStyle(r,"border-"+t,e.em(e.thickness)+" solid")}))(t)};e.Border2=function(t,e,r){return l.CommonBorder2((function(t,n){var o=t.em(t.thickness)+" solid";t.adaptor.setStyle(n,"border-"+e,o),t.adaptor.setStyle(n,"border-"+r,o)}))(t,e,r)};e.DiagonalStrike=function(t,e){return l.CommonDiagonalStrike((function(t){return function(r,n){var o=r.getBBox(),i=o.w,a=o.h,l=o.d,c=s(r.getArgMod(i,a+l),2),u=c[0],p=c[1],h=e*r.thickness/2,d=r.adjustBorder(r.html(t,{style:{width:r.em(p),transform:"rotate("+r.fixed(-e*u)+"rad) translateY("+h+"em)"}}));r.adaptor.append(r.chtml,d)}}))(t)};e.DiagonalArrow=function(t){return l.CommonDiagonalArrow((function(t,e){t.adaptor.append(t.chtml,e)}))(t)};e.Arrow=function(t){return l.CommonArrow((function(t,e){t.adaptor.append(t.chtml,e)}))(t)}},6797:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Usage=void 0;var r=function(){function t(){this.used=new Set,this.needsUpdate=[]}return t.prototype.add=function(t){var e=JSON.stringify(t);this.used.has(e)||this.needsUpdate.push(t),this.used.add(e)},t.prototype.has=function(t){return this.used.has(JSON.stringify(t))},t.prototype.clear=function(){this.used.clear(),this.needsUpdate=[]},t.prototype.update=function(){var t=this.needsUpdate;return this.needsUpdate=[],t},t}();e.Usage=r},5355:function(t,e,r){var n,o,i=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),s=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),l=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&a(e,t,r);return s(e,t),e},c=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},u=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLWrapper=e.SPACE=e.FONTSIZE=void 0;var p=l(r(6010)),h=r(7519),d=r(6469);e.FONTSIZE={"70.7%":"s","70%":"s","50%":"ss","60%":"Tn","85%":"sm","120%":"lg","144%":"Lg","173%":"LG","207%":"hg","249%":"HG"},e.SPACE=((o={})[p.em(2/18)]="1",o[p.em(3/18)]="2",o[p.em(4/18)]="3",o[p.em(5/18)]="4",o[p.em(6/18)]="5",o);var f=function(t){function r(){var e=null!==t&&t.apply(this,arguments)||this;return e.chtml=null,e}return i(r,t),r.prototype.toCHTML=function(t){var e,r,n=this.standardCHTMLnode(t);try{for(var o=c(this.childNodes),i=o.next();!i.done;i=o.next()){i.value.toCHTML(n)}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}},r.prototype.standardCHTMLnode=function(t){this.markUsed();var e=this.createCHTMLnode(t);return this.handleStyles(),this.handleVariant(),this.handleScale(),this.handleColor(),this.handleSpace(),this.handleAttributes(),this.handlePWidth(),e},r.prototype.markUsed=function(){this.jax.wrapperUsage.add(this.kind)},r.prototype.createCHTMLnode=function(t){var e=this.node.attributes.get("href");return e&&(t=this.adaptor.append(t,this.html("a",{href:e}))),this.chtml=this.adaptor.append(t,this.html("mjx-"+this.node.kind)),this.chtml},r.prototype.handleStyles=function(){if(this.styles){var t=this.styles.cssText;if(t){this.adaptor.setAttribute(this.chtml,"style",t);var e=this.styles.get("font-family");e&&this.adaptor.setStyle(this.chtml,"font-family","MJXZERO, "+e)}}},r.prototype.handleVariant=function(){this.node.isToken&&"-explicitFont"!==this.variant&&this.adaptor.setAttribute(this.chtml,"class",(this.font.getVariant(this.variant)||this.font.getVariant("normal")).classes)},r.prototype.handleScale=function(){this.setScale(this.chtml,this.bbox.rscale)},r.prototype.setScale=function(t,r){var n=Math.abs(r-1)<.001?1:r;if(t&&1!==n){var o=this.percent(n);e.FONTSIZE[o]?this.adaptor.setAttribute(t,"size",e.FONTSIZE[o]):this.adaptor.setStyle(t,"fontSize",o)}return t},r.prototype.handleSpace=function(){var t,r;try{for(var n=c([[this.bbox.L,"space","marginLeft"],[this.bbox.R,"rspace","marginRight"]]),o=n.next();!o.done;o=n.next()){var i=o.value,a=u(i,3),s=a[0],l=a[1],p=a[2];if(s){var h=this.em(s);e.SPACE[h]?this.adaptor.setAttribute(this.chtml,l,e.SPACE[h]):this.adaptor.setStyle(this.chtml,p,h)}}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},r.prototype.handleColor=function(){var t=this.node.attributes,e=t.getExplicit("mathcolor"),r=t.getExplicit("color"),n=t.getExplicit("mathbackground"),o=t.getExplicit("background");(e||r)&&this.adaptor.setStyle(this.chtml,"color",e||r),(n||o)&&this.adaptor.setStyle(this.chtml,"backgroundColor",n||o)},r.prototype.handleAttributes=function(){var t,e,n,o,i=this.node.attributes,a=i.getAllDefaults(),s=r.skipAttributes;try{for(var l=c(i.getExplicitNames()),u=l.next();!u.done;u=l.next()){var p=u.value;!1!==s[p]&&(p in a||s[p]||this.adaptor.hasAttribute(this.chtml,p))||this.adaptor.setAttribute(this.chtml,p,i.getExplicit(p))}}catch(e){t={error:e}}finally{try{u&&!u.done&&(e=l.return)&&e.call(l)}finally{if(t)throw t.error}}if(i.get("class")){var h=i.get("class").trim().split(/ +/);try{for(var d=c(h),f=d.next();!f.done;f=d.next()){var m=f.value;this.adaptor.addClass(this.chtml,m)}}catch(t){n={error:t}}finally{try{f&&!f.done&&(o=d.return)&&o.call(d)}finally{if(n)throw n.error}}}},r.prototype.handlePWidth=function(){this.bbox.pwidth&&(this.bbox.pwidth===d.BBox.fullWidth?this.adaptor.setAttribute(this.chtml,"width","full"):this.adaptor.setStyle(this.chtml,"width",this.bbox.pwidth))},r.prototype.setIndent=function(t,e,r){var n=this.adaptor;if("center"===e||"left"===e){var o=this.getBBox().L;n.setStyle(t,"margin-left",this.em(r+o))}if("center"===e||"right"===e){var i=this.getBBox().R;n.setStyle(t,"margin-right",this.em(-r+i))}},r.prototype.drawBBox=function(){var t=this.getBBox(),e=t.w,r=t.h,n=t.d,o=t.R,i=this.html("mjx-box",{style:{opacity:.25,"margin-left":this.em(-e-o)}},[this.html("mjx-box",{style:{height:this.em(r),width:this.em(e),"background-color":"red"}}),this.html("mjx-box",{style:{height:this.em(n),width:this.em(e),"margin-left":this.em(-e),"vertical-align":this.em(-n),"background-color":"green"}})]),a=this.chtml||this.parent.chtml,s=this.adaptor.getAttribute(a,"size");s&&this.adaptor.setAttribute(i,"size",s);var l=this.adaptor.getStyle(a,"fontSize");l&&this.adaptor.setStyle(i,"fontSize",l),this.adaptor.append(this.adaptor.parent(a),i),this.adaptor.setStyle(a,"backgroundColor","#FFEE00")},r.prototype.html=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=[]),this.jax.html(t,e,r)},r.prototype.text=function(t){return this.jax.text(t)},r.prototype.char=function(t){return this.font.charSelector(t).substr(1)},r.kind="unknown",r.autoStyle=!0,r}(h.CommonWrapper);e.CHTMLWrapper=f},9261:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLWrapperFactory=void 0;var i=r(4420),a=r(9086),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.defaultNodes=a.CHTMLWrappers,e}(i.CommonWrapperFactory);e.CHTMLWrapperFactory=s},9086:function(t,e,r){var n;Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLWrappers=void 0;var o=r(5355),i=r(804),a=r(1653),s=r(6287),l=r(6460),c=r(4597),u=r(1259),p=r(2970),h=r(5964),d=r(8147),f=r(4798),m=r(2275),y=r(9063),g=r(5610),b=r(8776),v=r(4300),_=r(6590),S=r(6781),x=r(8002),M=r(3571),O=r(7056),E=r(8102),A=r(6911),C=r(421),w=r(95),T=r(1148);e.CHTMLWrappers=((n={})[i.CHTMLmath.kind]=i.CHTMLmath,n[f.CHTMLmrow.kind]=f.CHTMLmrow,n[f.CHTMLinferredMrow.kind]=f.CHTMLinferredMrow,n[a.CHTMLmi.kind]=a.CHTMLmi,n[s.CHTMLmo.kind]=s.CHTMLmo,n[l.CHTMLmn.kind]=l.CHTMLmn,n[c.CHTMLms.kind]=c.CHTMLms,n[u.CHTMLmtext.kind]=u.CHTMLmtext,n[p.CHTMLmspace.kind]=p.CHTMLmspace,n[h.CHTMLmpadded.kind]=h.CHTMLmpadded,n[d.CHTMLmenclose.kind]=d.CHTMLmenclose,n[y.CHTMLmfrac.kind]=y.CHTMLmfrac,n[g.CHTMLmsqrt.kind]=g.CHTMLmsqrt,n[b.CHTMLmroot.kind]=b.CHTMLmroot,n[v.CHTMLmsub.kind]=v.CHTMLmsub,n[v.CHTMLmsup.kind]=v.CHTMLmsup,n[v.CHTMLmsubsup.kind]=v.CHTMLmsubsup,n[_.CHTMLmunder.kind]=_.CHTMLmunder,n[_.CHTMLmover.kind]=_.CHTMLmover,n[_.CHTMLmunderover.kind]=_.CHTMLmunderover,n[S.CHTMLmmultiscripts.kind]=S.CHTMLmmultiscripts,n[m.CHTMLmfenced.kind]=m.CHTMLmfenced,n[x.CHTMLmtable.kind]=x.CHTMLmtable,n[M.CHTMLmtr.kind]=M.CHTMLmtr,n[M.CHTMLmlabeledtr.kind]=M.CHTMLmlabeledtr,n[O.CHTMLmtd.kind]=O.CHTMLmtd,n[E.CHTMLmaction.kind]=E.CHTMLmaction,n[A.CHTMLmglyph.kind]=A.CHTMLmglyph,n[C.CHTMLsemantics.kind]=C.CHTMLsemantics,n[C.CHTMLannotation.kind]=C.CHTMLannotation,n[C.CHTMLannotationXML.kind]=C.CHTMLannotationXML,n[C.CHTMLxml.kind]=C.CHTMLxml,n[w.CHTMLTeXAtom.kind]=w.CHTMLTeXAtom,n[T.CHTMLTextNode.kind]=T.CHTMLTextNode,n[o.CHTMLWrapper.kind]=o.CHTMLWrapper,n)},95:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLTeXAtom=void 0;var i=r(5355),a=r(9800),s=r(3948),l=r(9007),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){if(t.prototype.toCHTML.call(this,e),this.adaptor.setAttribute(this.chtml,"texclass",l.TEXCLASSNAMES[this.node.texClass]),this.node.texClass===l.TEXCLASS.VCENTER){var r=this.childNodes[0].getBBox(),n=r.h,o=(n+r.d)/2+this.font.params.axis_height-n;this.adaptor.setStyle(this.chtml,"verticalAlign",this.em(o))}},e.kind=s.TeXAtom.prototype.kind,e}((0,a.CommonTeXAtomMixin)(i.CHTMLWrapper));e.CHTMLTeXAtom=c},1148:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLTextNode=void 0;var a=r(9007),s=r(5355),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r;this.markUsed();var n=this.adaptor,o=this.parent.variant,a=this.node.getText();if(0!==a.length)if("-explicitFont"===o)n.append(t,this.jax.unknownText(a,o,this.getBBox().w));else{var s=this.remappedText(a,o);try{for(var l=i(s),c=l.next();!c.done;c=l.next()){var u=c.value,p=this.getVariantChar(o,u)[3],h=p.f?" TEX-"+p.f:"",d=p.unknown?this.jax.unknownText(String.fromCodePoint(u),o):this.html("mjx-c",{class:this.char(u)+h});n.append(t,d),!p.unknown&&this.font.charUsage.add([o,u])}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(e)throw e.error}}}},e.kind=a.TextNode.prototype.kind,e.autoStyle=!1,e.styles={"mjx-c":{display:"inline-block"},"mjx-utext":{display:"inline-block",padding:".75em 0 .2em 0"}},e}((0,r(1160).CommonTextNodeMixin)(s.CHTMLWrapper));e.CHTMLTextNode=l},8102:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmaction=void 0;var i=r(5355),a=r(1956),s=r(1956),l=r(9145),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t);this.selected.toCHTML(e),this.action(this,this.data)},e.prototype.setEventHandler=function(t,e){this.chtml.addEventListener(t,e)},e.kind=l.MmlMaction.prototype.kind,e.styles={"mjx-maction":{position:"relative"},"mjx-maction > mjx-tool":{display:"none",position:"absolute",bottom:0,right:0,width:0,height:0,"z-index":500},"mjx-tool > mjx-tip":{display:"inline-block",padding:".2em",border:"1px solid #888","font-size":"70%","background-color":"#F8F8F8",color:"black","box-shadow":"2px 2px 5px #AAAAAA"},"mjx-maction[toggle]":{cursor:"pointer"},"mjx-status":{display:"block",position:"fixed",left:"1em",bottom:"1em","min-width":"25%",padding:".2em .4em",border:"1px solid #888","font-size":"90%","background-color":"#F8F8F8",color:"black"}},e.actions=new Map([["toggle",[function(t,e){t.adaptor.setAttribute(t.chtml,"toggle",t.node.attributes.get("selection"));var r=t.factory.jax.math,n=t.factory.jax.document,o=t.node;t.setEventHandler("click",(function(t){r.end.node||(r.start.node=r.end.node=r.typesetRoot,r.start.n=r.end.n=0),o.nextToggleSelection(),r.rerender(n),t.stopPropagation()}))},{}]],["tooltip",[function(t,e){var r=t.childNodes[1];if(r)if(r.node.isKind("mtext")){var n=r.node.getText();t.adaptor.setAttribute(t.chtml,"title",n)}else{var o=t.adaptor,i=o.append(t.chtml,t.html("mjx-tool",{style:{bottom:t.em(-t.dy),right:t.em(-t.dx)}},[t.html("mjx-tip")]));r.toCHTML(o.firstChild(i)),t.setEventHandler("mouseover",(function(r){e.stopTimers(t,e);var n=setTimeout((function(){return o.setStyle(i,"display","block")}),e.postDelay);e.hoverTimer.set(t,n),r.stopPropagation()})),t.setEventHandler("mouseout",(function(r){e.stopTimers(t,e);var n=setTimeout((function(){return o.setStyle(i,"display","")}),e.clearDelay);e.clearTimer.set(t,n),r.stopPropagation()}))}},s.TooltipData]],["statusline",[function(t,e){var r=t.childNodes[1];if(r&&r.node.isKind("mtext")){var n=t.adaptor,o=r.node.getText();n.setAttribute(t.chtml,"statusline",o),t.setEventHandler("mouseover",(function(r){if(null===e.status){var i=n.body(n.document);e.status=n.append(i,t.html("mjx-status",{},[t.text(o)]))}r.stopPropagation()})),t.setEventHandler("mouseout",(function(t){e.status&&(n.remove(e.status),e.status=null),t.stopPropagation()}))}},{status:null}]]]),e}((0,a.CommonMactionMixin)(i.CHTMLWrapper));e.CHTMLmaction=c},804:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmath=void 0;var a=r(5355),s=r(7490),l=r(3233),c=r(6469),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){t.prototype.toCHTML.call(this,e);var r=this.chtml,n=this.adaptor;"block"===this.node.attributes.get("display")?(n.setAttribute(r,"display","true"),n.setAttribute(e,"display","true"),this.handleDisplay(e)):this.handleInline(e),n.addClass(r,"MJX-TEX")},e.prototype.handleDisplay=function(t){var e=this.adaptor,r=i(this.getAlignShift(),2),n=r[0],o=r[1];if("center"!==n&&e.setAttribute(t,"justify",n),this.bbox.pwidth===c.BBox.fullWidth){if(e.setAttribute(t,"width","full"),this.jax.table){var a=this.jax.table.getOuterBBox(),s=a.L,l=a.w,u=a.R;"right"===n?u=Math.max(u||-o,-o):"left"===n?s=Math.max(s||o,o):"center"===n&&(l+=2*Math.abs(o));var p=this.em(Math.max(0,s+l+u));e.setStyle(t,"min-width",p),e.setStyle(this.jax.table.chtml,"min-width",p)}}else this.setIndent(this.chtml,n,o)},e.prototype.handleInline=function(t){var e=this.adaptor,r=e.getStyle(this.chtml,"margin-right");r&&(e.setStyle(this.chtml,"margin-right",""),e.setStyle(t,"margin-right",r),e.setStyle(t,"width","0"))},e.prototype.setChildPWidths=function(e,r,n){return void 0===r&&(r=null),void 0===n&&(n=!0),!!this.parent&&t.prototype.setChildPWidths.call(this,e,r,n)},e.kind=l.MmlMath.prototype.kind,e.styles={"mjx-math":{"line-height":0,"text-align":"left","text-indent":0,"font-style":"normal","font-weight":"normal","font-size":"100%","font-size-adjust":"none","letter-spacing":"normal","border-collapse":"collapse","word-wrap":"normal","word-spacing":"normal","white-space":"nowrap",direction:"ltr",padding:"1px 0"},'mjx-container[jax="CHTML"][display="true"]':{display:"block","text-align":"center",margin:"1em 0"},'mjx-container[jax="CHTML"][display="true"][width="full"]':{display:"flex"},'mjx-container[jax="CHTML"][display="true"] mjx-math':{padding:0},'mjx-container[jax="CHTML"][justify="left"]':{"text-align":"left"},'mjx-container[jax="CHTML"][justify="right"]':{"text-align":"right"}},e}((0,s.CommonMathMixin)(a.CHTMLWrapper));e.CHTMLmath=u},8147:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),a=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),s=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&i(e,t,r);return a(e,t),e},l=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},c=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmenclose=void 0;var u=r(5355),p=r(7313),h=s(r(8270)),d=r(6661),f=r(6010);function m(t,e){return Math.atan2(t,e).toFixed(3).replace(/\.?0+$/,"")}var y=m(h.ARROWDX,h.ARROWY),g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n,o,i=this.adaptor,a=this.standardCHTMLnode(t),s=i.append(a,this.html("mjx-box"));this.renderChild?this.renderChild(this,s):this.childNodes[0].toCHTML(s);try{for(var c=l(Object.keys(this.notations)),u=c.next();!u.done;u=c.next()){var p=u.value,d=this.notations[p];!d.renderChild&&d.renderer(this,s)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}var f=this.getPadding();try{for(var m=l(h.sideNames),y=m.next();!y.done;y=m.next()){var g=y.value,b=h.sideIndex[g];f[b]>0&&i.setStyle(s,"padding-"+g,this.em(f[b]))}}catch(t){n={error:t}}finally{try{y&&!y.done&&(o=m.return)&&o.call(m)}finally{if(n)throw n.error}}},e.prototype.arrow=function(t,e,r,n,o){void 0===n&&(n=""),void 0===o&&(o=0);var i=this.getBBox().w,a={width:this.em(t)};i!==t&&(a.left=this.em((i-t)/2)),e&&(a.transform="rotate("+this.fixed(e)+"rad)");var s=this.html("mjx-arrow",{style:a},[this.html("mjx-aline"),this.html("mjx-rthead"),this.html("mjx-rbhead")]);return r&&(this.adaptor.append(s,this.html("mjx-lthead")),this.adaptor.append(s,this.html("mjx-lbhead")),this.adaptor.setAttribute(s,"double","true")),this.adjustArrow(s,r),this.moveArrow(s,n,o),s},e.prototype.adjustArrow=function(t,e){var r=this,n=this.thickness,o=this.arrowhead;if(o.x!==h.ARROWX||o.y!==h.ARROWY||o.dx!==h.ARROWDX||n!==h.THICKNESS){var i=c([n*o.x,n*o.y].map((function(t){return r.em(t)})),2),a=i[0],s=i[1],l=m(o.dx,o.y),u=c(this.adaptor.childNodes(t),5),p=u[0],d=u[1],f=u[2],y=u[3],g=u[4];this.adjustHead(d,[s,"0","1px",a],l),this.adjustHead(f,["1px","0",s,a],"-"+l),this.adjustHead(y,[s,a,"1px","0"],"-"+l),this.adjustHead(g,["1px",a,s,"0"],l),this.adjustLine(p,n,o.x,e)}},e.prototype.adjustHead=function(t,e,r){t&&(this.adaptor.setStyle(t,"border-width",e.join(" ")),this.adaptor.setStyle(t,"transform","skewX("+r+"rad)"))},e.prototype.adjustLine=function(t,e,r,n){this.adaptor.setStyle(t,"borderTop",this.em(e)+" solid"),this.adaptor.setStyle(t,"top",this.em(-e/2)),this.adaptor.setStyle(t,"right",this.em(e*(r-1))),n&&this.adaptor.setStyle(t,"left",this.em(e*(r-1)))},e.prototype.moveArrow=function(t,e,r){if(r){var n=this.adaptor.getStyle(t,"transform");this.adaptor.setStyle(t,"transform","translate".concat(e,"(").concat(this.em(-r),")").concat(n?" "+n:""))}},e.prototype.adjustBorder=function(t){return this.thickness!==h.THICKNESS&&this.adaptor.setStyle(t,"borderWidth",this.em(this.thickness)),t},e.prototype.adjustThickness=function(t){return this.thickness!==h.THICKNESS&&this.adaptor.setStyle(t,"strokeWidth",this.fixed(this.thickness)),t},e.prototype.fixed=function(t,e){return void 0===e&&(e=3),Math.abs(t)<6e-4?"0":t.toFixed(e).replace(/\.?0+$/,"")},e.prototype.em=function(e){return t.prototype.em.call(this,e)},e.kind=d.MmlMenclose.prototype.kind,e.styles={"mjx-menclose":{position:"relative"},"mjx-menclose > mjx-dstrike":{display:"inline-block",left:0,top:0,position:"absolute","border-top":h.SOLID,"transform-origin":"top left"},"mjx-menclose > mjx-ustrike":{display:"inline-block",left:0,bottom:0,position:"absolute","border-top":h.SOLID,"transform-origin":"bottom left"},"mjx-menclose > mjx-hstrike":{"border-top":h.SOLID,position:"absolute",left:0,right:0,bottom:"50%",transform:"translateY("+(0,f.em)(h.THICKNESS/2)+")"},"mjx-menclose > mjx-vstrike":{"border-left":h.SOLID,position:"absolute",top:0,bottom:0,right:"50%",transform:"translateX("+(0,f.em)(h.THICKNESS/2)+")"},"mjx-menclose > mjx-rbox":{position:"absolute",top:0,bottom:0,right:0,left:0,border:h.SOLID,"border-radius":(0,f.em)(h.THICKNESS+h.PADDING)},"mjx-menclose > mjx-cbox":{position:"absolute",top:0,bottom:0,right:0,left:0,border:h.SOLID,"border-radius":"50%"},"mjx-menclose > mjx-arrow":{position:"absolute",left:0,bottom:"50%",height:0,width:0},"mjx-menclose > mjx-arrow > *":{display:"block",position:"absolute","transform-origin":"bottom","border-left":(0,f.em)(h.THICKNESS*h.ARROWX)+" solid","border-right":0,"box-sizing":"border-box"},"mjx-menclose > mjx-arrow > mjx-aline":{left:0,top:(0,f.em)(-h.THICKNESS/2),right:(0,f.em)(h.THICKNESS*(h.ARROWX-1)),height:0,"border-top":(0,f.em)(h.THICKNESS)+" solid","border-left":0},"mjx-menclose > mjx-arrow[double] > mjx-aline":{left:(0,f.em)(h.THICKNESS*(h.ARROWX-1)),height:0},"mjx-menclose > mjx-arrow > mjx-rthead":{transform:"skewX("+y+"rad)",right:0,bottom:"-1px","border-bottom":"1px solid transparent","border-top":(0,f.em)(h.THICKNESS*h.ARROWY)+" solid transparent"},"mjx-menclose > mjx-arrow > mjx-rbhead":{transform:"skewX(-"+y+"rad)","transform-origin":"top",right:0,top:"-1px","border-top":"1px solid transparent","border-bottom":(0,f.em)(h.THICKNESS*h.ARROWY)+" solid transparent"},"mjx-menclose > mjx-arrow > mjx-lthead":{transform:"skewX(-"+y+"rad)",left:0,bottom:"-1px","border-left":0,"border-right":(0,f.em)(h.THICKNESS*h.ARROWX)+" solid","border-bottom":"1px solid transparent","border-top":(0,f.em)(h.THICKNESS*h.ARROWY)+" solid transparent"},"mjx-menclose > mjx-arrow > mjx-lbhead":{transform:"skewX("+y+"rad)","transform-origin":"top",left:0,top:"-1px","border-left":0,"border-right":(0,f.em)(h.THICKNESS*h.ARROWX)+" solid","border-top":"1px solid transparent","border-bottom":(0,f.em)(h.THICKNESS*h.ARROWY)+" solid transparent"},"mjx-menclose > dbox":{position:"absolute",top:0,bottom:0,left:(0,f.em)(-1.5*h.PADDING),width:(0,f.em)(3*h.PADDING),border:(0,f.em)(h.THICKNESS)+" solid","border-radius":"50%","clip-path":"inset(0 0 0 "+(0,f.em)(1.5*h.PADDING)+")","box-sizing":"border-box"}},e.notations=new Map([h.Border("top"),h.Border("right"),h.Border("bottom"),h.Border("left"),h.Border2("actuarial","top","right"),h.Border2("madruwb","bottom","right"),h.DiagonalStrike("up",1),h.DiagonalStrike("down",-1),["horizontalstrike",{renderer:h.RenderElement("hstrike","Y"),bbox:function(t){return[0,t.padding,0,t.padding]}}],["verticalstrike",{renderer:h.RenderElement("vstrike","X"),bbox:function(t){return[t.padding,0,t.padding,0]}}],["box",{renderer:function(t,e){t.adaptor.setStyle(e,"border",t.em(t.thickness)+" solid")},bbox:h.fullBBox,border:h.fullBorder,remove:"left right top bottom"}],["roundedbox",{renderer:h.RenderElement("rbox"),bbox:h.fullBBox}],["circle",{renderer:h.RenderElement("cbox"),bbox:h.fullBBox}],["phasorangle",{renderer:function(t,e){var r=t.getBBox(),n=r.h,o=r.d,i=c(t.getArgMod(1.75*t.padding,n+o),2),a=i[0],s=i[1],l=t.thickness*Math.sin(a)*.9;t.adaptor.setStyle(e,"border-bottom",t.em(t.thickness)+" solid");var u=t.adjustBorder(t.html("mjx-ustrike",{style:{width:t.em(s),transform:"translateX("+t.em(l)+") rotate("+t.fixed(-a)+"rad)"}}));t.adaptor.append(t.chtml,u)},bbox:function(t){var e=t.padding/2,r=t.thickness;return[2*e,e,e+r,3*e+r]},border:function(t){return[0,0,t.thickness,0]},remove:"bottom"}],h.Arrow("up"),h.Arrow("down"),h.Arrow("left"),h.Arrow("right"),h.Arrow("updown"),h.Arrow("leftright"),h.DiagonalArrow("updiagonal"),h.DiagonalArrow("northeast"),h.DiagonalArrow("southeast"),h.DiagonalArrow("northwest"),h.DiagonalArrow("southwest"),h.DiagonalArrow("northeastsouthwest"),h.DiagonalArrow("northwestsoutheast"),["longdiv",{renderer:function(t,e){var r=t.adaptor;r.setStyle(e,"border-top",t.em(t.thickness)+" solid");var n=r.append(t.chtml,t.html("dbox")),o=t.thickness,i=t.padding;o!==h.THICKNESS&&r.setStyle(n,"border-width",t.em(o)),i!==h.PADDING&&(r.setStyle(n,"left",t.em(-1.5*i)),r.setStyle(n,"width",t.em(3*i)),r.setStyle(n,"clip-path","inset(0 0 0 "+t.em(1.5*i)+")"))},bbox:function(t){var e=t.padding,r=t.thickness;return[e+r,e,e,2*e+r/2]}}],["radical",{renderer:function(t,e){t.msqrt.toCHTML(e);var r=t.sqrtTRBL();t.adaptor.setStyle(t.msqrt.chtml,"margin",r.map((function(e){return t.em(-e)})).join(" "))},init:function(t){t.msqrt=t.createMsqrt(t.childNodes[0])},bbox:function(t){return t.sqrtTRBL()},renderChild:!0}]]),e}((0,p.CommonMencloseMixin)(u.CHTMLWrapper));e.CHTMLmenclose=g},2275:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmfenced=void 0;var i=r(5355),a=r(7555),s=r(5410),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t);this.mrow.toCHTML(e)},e.kind=s.MmlMfenced.prototype.kind,e}((0,a.CommonMfencedMixin)(i.CHTMLWrapper));e.CHTMLmfenced=l},9063:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r *":{"font-size":"2000%"},"mjx-dbox":{display:"block","font-size":"5%"},"mjx-num":{display:"block","text-align":"center"},"mjx-den":{display:"block","text-align":"center"},"mjx-mfrac[bevelled] > mjx-num":{display:"inline-block"},"mjx-mfrac[bevelled] > mjx-den":{display:"inline-block"},'mjx-den[align="right"], mjx-num[align="right"]':{"text-align":"right"},'mjx-den[align="left"], mjx-num[align="left"]':{"text-align":"left"},"mjx-nstrut":{display:"inline-block",height:".054em",width:0,"vertical-align":"-.054em"},'mjx-nstrut[type="d"]':{height:".217em","vertical-align":"-.217em"},"mjx-dstrut":{display:"inline-block",height:".505em",width:0},'mjx-dstrut[type="d"]':{height:".726em"},"mjx-line":{display:"block","box-sizing":"border-box","min-height":"1px",height:".06em","border-top":".06em solid",margin:".06em -.1em",overflow:"hidden"},'mjx-line[type="d"]':{margin:".18em -.1em"}},e}((0,s.CommonMfracMixin)(a.CHTMLWrapper));e.CHTMLmfrac=c},6911:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmglyph=void 0;var i=r(5355),a=r(5636),s=r(3985),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t);if(this.charWrapper)this.charWrapper.toCHTML(e);else{var r=this.node.attributes.getList("src","alt"),n=r.src,o=r.alt,i={width:this.em(this.width),height:this.em(this.height)};this.valign&&(i.verticalAlign=this.em(this.valign));var a=this.html("img",{src:n,style:i,alt:o,title:o});this.adaptor.append(e,a)}},e.kind=s.MmlMglyph.prototype.kind,e.styles={"mjx-mglyph > img":{display:"inline-block",border:0,padding:0}},e}((0,a.CommonMglyphMixin)(i.CHTMLWrapper));e.CHTMLmglyph=l},1653:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmi=void 0;var i=r(5355),a=r(5723),s=r(450),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=s.MmlMi.prototype.kind,e}((0,a.CommonMiMixin)(i.CHTMLWrapper));e.CHTMLmi=l},6781:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmmultiscripts=void 0;var a=r(4300),s=r(8009),l=r(6405),c=r(505),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t),r=this.scriptData,n=this.node.getProperty("scriptalign")||"right left",o=i((0,c.split)(n+" "+n),2),a=o[0],s=o[1],l=this.combinePrePost(r.sub,r.psub),u=this.combinePrePost(r.sup,r.psup),p=i(this.getUVQ(l,u),2),h=p[0],d=p[1];if(r.numPrescripts){var f=this.addScripts(h,-d,!0,r.psub,r.psup,this.firstPrescript,r.numPrescripts);"right"!==a&&this.adaptor.setAttribute(f,"script-align",a)}if(this.childNodes[0].toCHTML(e),r.numScripts){f=this.addScripts(h,-d,!1,r.sub,r.sup,1,r.numScripts);"left"!==s&&this.adaptor.setAttribute(f,"script-align",s)}},e.prototype.addScripts=function(t,e,r,n,o,i,a){for(var s=this.adaptor,l=t-o.d+(e-n.h),c=t<0&&0===e?n.h+t:t,u=l>0?{style:{height:this.em(l)}}:{},p=c?{style:{"vertical-align":this.em(c)}}:{},h=this.html("mjx-row"),d=this.html("mjx-row",u),f=this.html("mjx-row"),m="mjx-"+(r?"pre":"")+"scripts",y=i+2*a;i mjx-row > mjx-cell":{"text-align":"right"},'[script-align="left"] > mjx-row > mjx-cell':{"text-align":"left"},'[script-align="center"] > mjx-row > mjx-cell':{"text-align":"center"},'[script-align="right"] > mjx-row > mjx-cell':{"text-align":"right"}},e}((0,s.CommonMmultiscriptsMixin)(a.CHTMLmsubsup));e.CHTMLmmultiscripts=u},6460:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmn=void 0;var i=r(5355),a=r(5023),s=r(3050),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=s.MmlMn.prototype.kind,e}((0,a.CommonMnMixin)(i.CHTMLWrapper));e.CHTMLmn=l},6287:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmo=void 0;var a=r(5355),s=r(7096),l=r(2756),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n=this.node.attributes,o=n.get("symmetric")&&2!==this.stretch.dir,a=0!==this.stretch.dir;a&&null===this.size&&this.getStretchedVariant([]);var s=this.standardCHTMLnode(t);if(a&&this.size<0)this.stretchHTML(s);else{if(o||n.get("largeop")){var l=this.em(this.getCenterOffset());"0"!==l&&this.adaptor.setStyle(s,"verticalAlign",l)}this.node.getProperty("mathaccent")&&(this.adaptor.setStyle(s,"width","0"),this.adaptor.setStyle(s,"margin-left",this.em(this.getAccentOffset())));try{for(var c=i(this.childNodes),u=c.next();!u.done;u=c.next()){u.value.toCHTML(s)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}}},e.prototype.stretchHTML=function(t){var e=this.getText().codePointAt(0);this.font.delimUsage.add(e),this.childNodes[0].markUsed();var r=this.stretch,n=r.stretch,o=[];n[0]&&o.push(this.html("mjx-beg",{},[this.html("mjx-c")])),o.push(this.html("mjx-ext",{},[this.html("mjx-c")])),4===n.length&&o.push(this.html("mjx-mid",{},[this.html("mjx-c")]),this.html("mjx-ext",{},[this.html("mjx-c")])),n[2]&&o.push(this.html("mjx-end",{},[this.html("mjx-c")]));var i={},a=this.bbox,l=a.h,c=a.d,u=a.w;1===r.dir?(o.push(this.html("mjx-mark")),i.height=this.em(l+c),i.verticalAlign=this.em(-c)):i.width=this.em(u);var p=s.DirectionVH[r.dir],h={class:this.char(r.c||e),style:i},d=this.html("mjx-stretchy-"+p,h,o);this.adaptor.append(t,d)},e.kind=l.MmlMo.prototype.kind,e.styles={"mjx-stretchy-h":{display:"inline-table",width:"100%"},"mjx-stretchy-h > *":{display:"table-cell",width:0},"mjx-stretchy-h > * > mjx-c":{display:"inline-block",transform:"scalex(1.0000001)"},"mjx-stretchy-h > * > mjx-c::before":{display:"inline-block",width:"initial"},"mjx-stretchy-h > mjx-ext":{"/* IE */ overflow":"hidden","/* others */ overflow":"clip visible",width:"100%"},"mjx-stretchy-h > mjx-ext > mjx-c::before":{transform:"scalex(500)"},"mjx-stretchy-h > mjx-ext > mjx-c":{width:0},"mjx-stretchy-h > mjx-beg > mjx-c":{"margin-right":"-.1em"},"mjx-stretchy-h > mjx-end > mjx-c":{"margin-left":"-.1em"},"mjx-stretchy-v":{display:"inline-block"},"mjx-stretchy-v > *":{display:"block"},"mjx-stretchy-v > mjx-beg":{height:0},"mjx-stretchy-v > mjx-end > mjx-c":{display:"block"},"mjx-stretchy-v > * > mjx-c":{transform:"scaley(1.0000001)","transform-origin":"left center",overflow:"hidden"},"mjx-stretchy-v > mjx-ext":{display:"block",height:"100%","box-sizing":"border-box",border:"0px solid transparent","/* IE */ overflow":"hidden","/* others */ overflow":"visible clip"},"mjx-stretchy-v > mjx-ext > mjx-c::before":{width:"initial","box-sizing":"border-box"},"mjx-stretchy-v > mjx-ext > mjx-c":{transform:"scaleY(500) translateY(.075em)",overflow:"visible"},"mjx-mark":{display:"inline-block",height:"0px"}},e}((0,s.CommonMoMixin)(a.CHTMLWrapper));e.CHTMLmo=c},5964:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmpadded=void 0;var s=r(5355),l=r(6898),c=r(7238),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n=this.standardCHTMLnode(t),o=[],s={},l=i(this.getDimens(),9),c=l[2],u=l[3],p=l[4],h=l[5],d=l[6],f=l[7],m=l[8];if(h&&(s.width=this.em(c+h)),(u||p)&&(s.margin=this.em(u)+" 0 "+this.em(p)),d+m||f){s.position="relative";var y=this.html("mjx-rbox",{style:{left:this.em(d+m),top:this.em(-f),"max-width":s.width}});d+m&&this.childNodes[0].getBBox().pwidth&&(this.adaptor.setAttribute(y,"width","full"),this.adaptor.setStyle(y,"left",this.em(d))),o.push(y)}n=this.adaptor.append(n,this.html("mjx-block",{style:s},o));try{for(var g=a(this.childNodes),b=g.next();!b.done;b=g.next()){b.value.toCHTML(o[0]||n)}}catch(t){e={error:t}}finally{try{b&&!b.done&&(r=g.return)&&r.call(g)}finally{if(e)throw e.error}}},e.kind=c.MmlMpadded.prototype.kind,e.styles={"mjx-mpadded":{display:"inline-block"},"mjx-rbox":{display:"inline-block",position:"relative"}},e}((0,l.CommonMpaddedMixin)(s.CHTMLWrapper));e.CHTMLmpadded=u},8776:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmroot=void 0;var a=r(5610),s=r(6991),l=r(6145),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.addRoot=function(t,e,r,n){e.toCHTML(t);var o=i(this.getRootDimens(r,n),3),a=o[0],s=o[1],l=o[2];this.adaptor.setStyle(t,"verticalAlign",this.em(s)),this.adaptor.setStyle(t,"width",this.em(a)),l&&this.adaptor.setStyle(this.adaptor.firstChild(t),"paddingLeft",this.em(l))},e.kind=l.MmlMroot.prototype.kind,e}((0,s.CommonMrootMixin)(a.CHTMLmsqrt));e.CHTMLmroot=c},4798:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLinferredMrow=e.CHTMLmrow=void 0;var a=r(5355),s=r(8411),l=r(8411),c=r(9878),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n=this.node.isInferred?this.chtml=t:this.standardCHTMLnode(t),o=!1;try{for(var a=i(this.childNodes),s=a.next();!s.done;s=a.next()){var l=s.value;l.toCHTML(n),l.bbox.w<0&&(o=!0)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}if(o){var c=this.getBBox().w;c&&(this.adaptor.setStyle(n,"width",this.em(Math.max(0,c))),c<0&&this.adaptor.setStyle(n,"marginRight",this.em(c)))}},e.kind=c.MmlMrow.prototype.kind,e}((0,s.CommonMrowMixin)(a.CHTMLWrapper));e.CHTMLmrow=u;var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=c.MmlInferredMrow.prototype.kind,e}((0,l.CommonInferredMrowMixin)(u));e.CHTMLinferredMrow=p},4597:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLms=void 0;var i=r(5355),a=r(4126),s=r(7265),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=s.MmlMs.prototype.kind,e}((0,a.CommonMsMixin)(i.CHTMLWrapper));e.CHTMLms=l},2970:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmspace=void 0;var i=r(5355),a=r(258),s=r(6030),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.standardCHTMLnode(t),r=this.getBBox(),n=r.w,o=r.h,i=r.d;n<0&&(this.adaptor.setStyle(e,"marginRight",this.em(n)),n=0),n&&this.adaptor.setStyle(e,"width",this.em(n)),(o=Math.max(0,o+i))&&this.adaptor.setStyle(e,"height",this.em(Math.max(0,o))),i&&this.adaptor.setStyle(e,"verticalAlign",this.em(-i))},e.kind=s.MmlMspace.prototype.kind,e}((0,a.CommonMspaceMixin)(i.CHTMLWrapper));e.CHTMLmspace=l},5610:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmsqrt=void 0;var a=r(5355),s=r(4093),l=r(7131),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e,r,n,o,a=this.childNodes[this.surd],s=this.childNodes[this.base],l=a.getBBox(),c=s.getOuterBBox(),u=i(this.getPQ(l),2)[1],p=this.font.params.rule_thickness,h=c.h+u+p,d=this.standardCHTMLnode(t);null!=this.root&&(n=this.adaptor.append(d,this.html("mjx-root")),o=this.childNodes[this.root]);var f=this.adaptor.append(d,this.html("mjx-sqrt",{},[e=this.html("mjx-surd"),r=this.html("mjx-box",{style:{paddingTop:this.em(u)}})]));this.addRoot(n,o,l,h),a.toCHTML(e),s.toCHTML(r),a.size<0&&this.adaptor.addClass(f,"mjx-tall")},e.prototype.addRoot=function(t,e,r,n){},e.kind=l.MmlMsqrt.prototype.kind,e.styles={"mjx-root":{display:"inline-block","white-space":"nowrap"},"mjx-surd":{display:"inline-block","vertical-align":"top"},"mjx-sqrt":{display:"inline-block","padding-top":".07em"},"mjx-sqrt > mjx-box":{"border-top":".07em solid"},"mjx-sqrt.mjx-tall > mjx-box":{"padding-left":".3em","margin-left":"-.3em"}},e}((0,s.CommonMsqrtMixin)(a.CHTMLWrapper));e.CHTMLmsqrt=c},4300:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmsubsup=e.CHTMLmsup=e.CHTMLmsub=void 0;var a=r(8650),s=r(905),l=r(905),c=r(905),u=r(4461),p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=u.MmlMsub.prototype.kind,e}((0,s.CommonMsubMixin)(a.CHTMLscriptbase));e.CHTMLmsub=p;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=u.MmlMsup.prototype.kind,e}((0,l.CommonMsupMixin)(a.CHTMLscriptbase));e.CHTMLmsup=h;var d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){var e=this.adaptor,r=this.standardCHTMLnode(t),n=i([this.baseChild,this.supChild,this.subChild],3),o=n[0],a=n[1],s=n[2],l=i(this.getUVQ(),3),c=l[1],u=l[2],p={"vertical-align":this.em(c)};o.toCHTML(r);var h=e.append(r,this.html("mjx-script",{style:p}));a.toCHTML(h),e.append(h,this.html("mjx-spacer",{style:{"margin-top":this.em(u)}})),s.toCHTML(h);var d=this.getAdjustedIc();d&&e.setStyle(a.chtml,"marginLeft",this.em(d/a.bbox.rscale)),this.baseRemoveIc&&e.setStyle(h,"marginLeft",this.em(-this.baseIc))},e.kind=u.MmlMsubsup.prototype.kind,e.styles={"mjx-script":{display:"inline-block","padding-right":".05em","padding-left":".033em"},"mjx-script > mjx-spacer":{display:"block"}},e}((0,c.CommonMsubsupMixin)(a.CHTMLscriptbase));e.CHTMLmsubsup=d},8002:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmtable=void 0;var s=r(5355),l=r(6237),c=r(1349),u=r(505),p=function(t){function e(e,r,n){void 0===n&&(n=null);var o=t.call(this,e,r,n)||this;return o.itable=o.html("mjx-itable"),o.labels=o.html("mjx-itable"),o}return o(e,t),e.prototype.getAlignShift=function(){var e=t.prototype.getAlignShift.call(this);return this.isTop||(e[1]=0),e},e.prototype.toCHTML=function(t){var e,r,n=this.standardCHTMLnode(t);this.adaptor.append(n,this.html("mjx-table",{},[this.itable]));try{for(var o=i(this.childNodes),a=o.next();!a.done;a=o.next()){a.value.toCHTML(this.itable)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}this.padRows(),this.handleColumnSpacing(),this.handleColumnLines(),this.handleColumnWidths(),this.handleRowSpacing(),this.handleRowLines(),this.handleRowHeights(),this.handleFrame(),this.handleWidth(),this.handleLabels(),this.handleAlign(),this.handleJustify(),this.shiftColor()},e.prototype.shiftColor=function(){var t=this.adaptor,e=t.getStyle(this.chtml,"backgroundColor");e&&(t.setStyle(this.chtml,"backgroundColor",""),t.setStyle(this.itable,"backgroundColor",e))},e.prototype.padRows=function(){var t,e,r=this.adaptor;try{for(var n=i(r.childNodes(this.itable)),o=n.next();!o.done;o=n.next())for(var a=o.value;r.childNodes(a).length1&&"0.4em"!==m||s&&1===p)&&this.adaptor.setStyle(g,"paddingLeft",m),(p1&&"0.215em"!==h||s&&1===l)&&this.adaptor.setStyle(y.chtml,"paddingTop",h),(l mjx-itable":{"vertical-align":"middle","text-align":"left","box-sizing":"border-box"},"mjx-labels > mjx-itable":{position:"absolute",top:0},'mjx-mtable[justify="left"]':{"text-align":"left"},'mjx-mtable[justify="right"]':{"text-align":"right"},'mjx-mtable[justify="left"][side="left"]':{"padding-right":"0 ! important"},'mjx-mtable[justify="left"][side="right"]':{"padding-left":"0 ! important"},'mjx-mtable[justify="right"][side="left"]':{"padding-right":"0 ! important"},'mjx-mtable[justify="right"][side="right"]':{"padding-left":"0 ! important"},"mjx-mtable[align]":{"vertical-align":"baseline"},'mjx-mtable[align="top"] > mjx-table':{"vertical-align":"top"},'mjx-mtable[align="bottom"] > mjx-table':{"vertical-align":"bottom"},'mjx-mtable[side="right"] mjx-labels':{"min-width":"100%"}},e}((0,l.CommonMtableMixin)(s.CHTMLWrapper));e.CHTMLmtable=p},7056:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmtd=void 0;var i=r(5355),a=r(5164),s=r(4359),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){t.prototype.toCHTML.call(this,e);var r=this.node.attributes.get("rowalign"),n=this.node.attributes.get("columnalign");r!==this.parent.node.attributes.get("rowalign")&&this.adaptor.setAttribute(this.chtml,"rowalign",r),"center"===n||"mlabeledtr"===this.parent.kind&&this===this.parent.childNodes[0]&&n===this.parent.parent.node.attributes.get("side")||this.adaptor.setStyle(this.chtml,"textAlign",n),this.parent.parent.node.getProperty("useHeight")&&this.adaptor.append(this.chtml,this.html("mjx-tstrut"))},e.kind=s.MmlMtd.prototype.kind,e.styles={"mjx-mtd":{display:"table-cell","text-align":"center",padding:".215em .4em"},"mjx-mtd:first-child":{"padding-left":0},"mjx-mtd:last-child":{"padding-right":0},"mjx-mtable > * > mjx-itable > *:first-child > mjx-mtd":{"padding-top":0},"mjx-mtable > * > mjx-itable > *:last-child > mjx-mtd":{"padding-bottom":0},"mjx-tstrut":{display:"inline-block",height:"1em","vertical-align":"-.25em"},'mjx-labels[align="left"] > mjx-mtr > mjx-mtd':{"text-align":"left"},'mjx-labels[align="right"] > mjx-mtr > mjx-mtd':{"text-align":"right"},"mjx-mtd[extra]":{padding:0},'mjx-mtd[rowalign="top"]':{"vertical-align":"top"},'mjx-mtd[rowalign="center"]':{"vertical-align":"middle"},'mjx-mtd[rowalign="bottom"]':{"vertical-align":"bottom"},'mjx-mtd[rowalign="baseline"]':{"vertical-align":"baseline"},'mjx-mtd[rowalign="axis"]':{"vertical-align":".25em"}},e}((0,a.CommonMtdMixin)(i.CHTMLWrapper));e.CHTMLmtd=l},1259:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmtext=void 0;var i=r(5355),a=r(6319),s=r(4770),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.kind=s.MmlMtext.prototype.kind,e}((0,a.CommonMtextMixin)(i.CHTMLWrapper));e.CHTMLmtext=l},3571:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmlabeledtr=e.CHTMLmtr=void 0;var i=r(5355),a=r(5766),s=r(5766),l=r(5022),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){t.prototype.toCHTML.call(this,e);var r=this.node.attributes.get("rowalign");"baseline"!==r&&this.adaptor.setAttribute(this.chtml,"rowalign",r)},e.kind=l.MmlMtr.prototype.kind,e.styles={"mjx-mtr":{display:"table-row"},'mjx-mtr[rowalign="top"] > mjx-mtd':{"vertical-align":"top"},'mjx-mtr[rowalign="center"] > mjx-mtd':{"vertical-align":"middle"},'mjx-mtr[rowalign="bottom"] > mjx-mtd':{"vertical-align":"bottom"},'mjx-mtr[rowalign="baseline"] > mjx-mtd':{"vertical-align":"baseline"},'mjx-mtr[rowalign="axis"] > mjx-mtd':{"vertical-align":".25em"}},e}((0,a.CommonMtrMixin)(i.CHTMLWrapper));e.CHTMLmtr=c;var u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){t.prototype.toCHTML.call(this,e);var r=this.adaptor.firstChild(this.chtml);if(r){this.adaptor.remove(r);var n=this.node.attributes.get("rowalign"),o="baseline"!==n&&"axis"!==n?{rowalign:n}:{},i=this.html("mjx-mtr",o,[r]);this.adaptor.append(this.parent.labels,i)}},e.prototype.markUsed=function(){t.prototype.markUsed.call(this),this.jax.wrapperUsage.add(c.kind)},e.kind=l.MmlMlabeledtr.prototype.kind,e.styles={"mjx-mlabeledtr":{display:"table-row"},'mjx-mlabeledtr[rowalign="top"] > mjx-mtd':{"vertical-align":"top"},'mjx-mlabeledtr[rowalign="center"] > mjx-mtd':{"vertical-align":"middle"},'mjx-mlabeledtr[rowalign="bottom"] > mjx-mtd':{"vertical-align":"bottom"},'mjx-mlabeledtr[rowalign="baseline"] > mjx-mtd':{"vertical-align":"baseline"},'mjx-mlabeledtr[rowalign="axis"] > mjx-mtd':{"vertical-align":".25em"}},e}((0,s.CommonMlabeledtrMixin)(c));e.CHTMLmlabeledtr=u},6590:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLmunderover=e.CHTMLmover=e.CHTMLmunder=void 0;var i=r(4300),a=r(1971),s=r(1971),l=r(1971),c=r(5184),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){if(this.hasMovableLimits())return t.prototype.toCHTML.call(this,e),void this.adaptor.setAttribute(this.chtml,"limits","false");this.chtml=this.standardCHTMLnode(e);var r=this.adaptor.append(this.adaptor.append(this.chtml,this.html("mjx-row")),this.html("mjx-base")),n=this.adaptor.append(this.adaptor.append(this.chtml,this.html("mjx-row")),this.html("mjx-under"));this.baseChild.toCHTML(r),this.scriptChild.toCHTML(n);var o=this.baseChild.getOuterBBox(),i=this.scriptChild.getOuterBBox(),a=this.getUnderKV(o,i)[0],s=this.isLineBelow?0:this.getDelta(!0);this.adaptor.setStyle(n,"paddingTop",this.em(a)),this.setDeltaW([r,n],this.getDeltaW([o,i],[0,-s])),this.adjustUnderDepth(n,i)},e.kind=c.MmlMunder.prototype.kind,e.styles={"mjx-over":{"text-align":"left"},'mjx-munder:not([limits="false"])':{display:"inline-table"},"mjx-munder > mjx-row":{"text-align":"left"},"mjx-under":{"padding-bottom":".1em"}},e}((0,a.CommonMunderMixin)(i.CHTMLmsub));e.CHTMLmunder=u;var p=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){if(this.hasMovableLimits())return t.prototype.toCHTML.call(this,e),void this.adaptor.setAttribute(this.chtml,"limits","false");this.chtml=this.standardCHTMLnode(e);var r=this.adaptor.append(this.chtml,this.html("mjx-over")),n=this.adaptor.append(this.chtml,this.html("mjx-base"));this.scriptChild.toCHTML(r),this.baseChild.toCHTML(n);var o=this.scriptChild.getOuterBBox(),i=this.baseChild.getOuterBBox();this.adjustBaseHeight(n,i);var a=this.getOverKU(i,o)[0],s=this.isLineAbove?0:this.getDelta();this.adaptor.setStyle(r,"paddingBottom",this.em(a)),this.setDeltaW([n,r],this.getDeltaW([i,o],[0,s])),this.adjustOverDepth(r,o)},e.kind=c.MmlMover.prototype.kind,e.styles={'mjx-mover:not([limits="false"])':{"padding-top":".1em"},'mjx-mover:not([limits="false"]) > *':{display:"block","text-align":"left"}},e}((0,s.CommonMoverMixin)(i.CHTMLmsup));e.CHTMLmover=p;var h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(e){if(this.hasMovableLimits())return t.prototype.toCHTML.call(this,e),void this.adaptor.setAttribute(this.chtml,"limits","false");this.chtml=this.standardCHTMLnode(e);var r=this.adaptor.append(this.chtml,this.html("mjx-over")),n=this.adaptor.append(this.adaptor.append(this.chtml,this.html("mjx-box")),this.html("mjx-munder")),o=this.adaptor.append(this.adaptor.append(n,this.html("mjx-row")),this.html("mjx-base")),i=this.adaptor.append(this.adaptor.append(n,this.html("mjx-row")),this.html("mjx-under"));this.overChild.toCHTML(r),this.baseChild.toCHTML(o),this.underChild.toCHTML(i);var a=this.overChild.getOuterBBox(),s=this.baseChild.getOuterBBox(),l=this.underChild.getOuterBBox();this.adjustBaseHeight(o,s);var c=this.getOverKU(s,a)[0],u=this.getUnderKV(s,l)[0],p=this.getDelta();this.adaptor.setStyle(r,"paddingBottom",this.em(c)),this.adaptor.setStyle(i,"paddingTop",this.em(u)),this.setDeltaW([o,i,r],this.getDeltaW([s,l,a],[0,this.isLineBelow?0:-p,this.isLineAbove?0:p])),this.adjustOverDepth(r,a),this.adjustUnderDepth(i,l)},e.prototype.markUsed=function(){t.prototype.markUsed.call(this),this.jax.wrapperUsage.add(i.CHTMLmsubsup.kind)},e.kind=c.MmlMunderover.prototype.kind,e.styles={'mjx-munderover:not([limits="false"])':{"padding-top":".1em"},'mjx-munderover:not([limits="false"]) > *':{display:"block"}},e}((0,l.CommonMunderoverMixin)(i.CHTMLmsubsup));e.CHTMLmunderover=h},8650:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CHTMLscriptbase=void 0;var s=r(5355),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.toCHTML=function(t){this.chtml=this.standardCHTMLnode(t);var e=i(this.getOffset(),2),r=e[0],n=e[1],o=r-(this.baseRemoveIc?this.baseIc:0),a={"vertical-align":this.em(n)};o&&(a["margin-left"]=this.em(o)),this.baseChild.toCHTML(this.chtml),this.scriptChild.toCHTML(this.adaptor.append(this.chtml,this.html("mjx-script",{style:a})))},e.prototype.setDeltaW=function(t,e){for(var r=0;r=0||this.adaptor.setStyle(t,"marginBottom",this.em(e.d*e.rscale))},e.prototype.adjustUnderDepth=function(t,e){var r,n;if(!(e.d>=0)){var o=this.adaptor,i=this.em(e.d),s=this.html("mjx-box",{style:{"margin-bottom":i,"vertical-align":i}});try{for(var l=a(o.childNodes(o.firstChild(t))),c=l.next();!c.done;c=l.next()){var u=c.value;o.append(s,u)}}catch(t){r={error:t}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}o.append(o.firstChild(t),s)}},e.prototype.adjustBaseHeight=function(t,e){if(this.node.attributes.get("accent")){var r=this.font.params.x_height*e.scale;e.h\\338"},8816:{c:"\\2264\\338"},8817:{c:"\\2265\\338"},8832:{c:"\\227A\\338"},8833:{c:"\\227B\\338"},8836:{c:"\\2282\\338"},8837:{c:"\\2283\\338"},8840:{c:"\\2286\\338"},8841:{c:"\\2287\\338"},8876:{c:"\\22A2\\338"},8877:{c:"\\22A8\\338"},8930:{c:"\\2291\\338"},8931:{c:"\\2292\\338"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},9653:{c:"\\25B3"},9663:{c:"\\25BD"},10072:{c:"\\2223"},10744:{c:"/",f:"BI"},10799:{c:"\\D7"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},4515:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.doubleStruck=void 0;var n=r(6001);Object.defineProperty(e,"doubleStruck",{enumerable:!0,get:function(){return n.doubleStruck}})},6555:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.frakturBold=void 0;var n=r(8042),o=r(3696);e.frakturBold=(0,n.AddCSS)(o.frakturBold,{8260:{c:"/"}})},2183:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.fraktur=void 0;var n=r(8042),o=r(9587);e.fraktur=(0,n.AddCSS)(o.fraktur,{8260:{c:"/"}})},3490:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.italic=void 0;var n=r(8042),o=r(8348);e.italic=(0,n.AddCSS)(o.italic,{47:{f:"I"},989:{c:"\\E008",f:"A"},8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/",f:"I"},8710:{c:"\\394",f:"I"},10744:{c:"/",f:"I"}})},9056:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.largeop=void 0;var n=r(8042),o=r(1376);e.largeop=(0,n.AddCSS)(o.largeop,{8214:{f:"S1"},8260:{c:"/"},8593:{f:"S1"},8595:{f:"S1"},8657:{f:"S1"},8659:{f:"S1"},8739:{f:"S1"},8741:{f:"S1"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},9168:{f:"S1"},10072:{c:"\\2223",f:"S1"},10764:{c:"\\222C\\222C"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},3019:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.monospace=void 0;var n=r(8042),o=r(1439);e.monospace=(0,n.AddCSS)(o.monospace,{697:{c:"\\2032"},913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8215:{c:"_"},8243:{c:"\\2032\\2032"},8244:{c:"\\2032\\2032\\2032"},8260:{c:"/"},8279:{c:"\\2032\\2032\\2032\\2032"},8710:{c:"\\394"}})},2713:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.normal=void 0;var n=r(8042),o=r(331);e.normal=(0,n.AddCSS)(o.normal,{163:{f:"MI"},165:{f:"A"},174:{f:"A"},183:{c:"\\22C5"},240:{f:"A"},697:{c:"\\2032"},913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8192:{c:""},8193:{c:""},8194:{c:""},8195:{c:""},8196:{c:""},8197:{c:""},8198:{c:""},8201:{c:""},8202:{c:""},8203:{c:""},8204:{c:""},8213:{c:"\\2014"},8214:{c:"\\2225"},8215:{c:"_"},8226:{c:"\\2219"},8243:{c:"\\2032\\2032"},8244:{c:"\\2032\\2032\\2032"},8245:{f:"A"},8246:{c:"\\2035\\2035",f:"A"},8247:{c:"\\2035\\2035\\2035",f:"A"},8254:{c:"\\2C9"},8260:{c:"/"},8279:{c:"\\2032\\2032\\2032\\2032"},8288:{c:""},8289:{c:""},8290:{c:""},8291:{c:""},8292:{c:""},8407:{c:"\\2192",f:"V"},8450:{c:"C",f:"A"},8459:{c:"H",f:"SC"},8460:{c:"H",f:"FR"},8461:{c:"H",f:"A"},8462:{c:"h",f:"I"},8463:{f:"A"},8464:{c:"I",f:"SC"},8465:{c:"I",f:"FR"},8466:{c:"L",f:"SC"},8469:{c:"N",f:"A"},8473:{c:"P",f:"A"},8474:{c:"Q",f:"A"},8475:{c:"R",f:"SC"},8476:{c:"R",f:"FR"},8477:{c:"R",f:"A"},8484:{c:"Z",f:"A"},8486:{c:"\\3A9"},8487:{f:"A"},8488:{c:"Z",f:"FR"},8492:{c:"B",f:"SC"},8493:{c:"C",f:"FR"},8496:{c:"E",f:"SC"},8497:{c:"F",f:"SC"},8498:{f:"A"},8499:{c:"M",f:"SC"},8502:{f:"A"},8503:{f:"A"},8504:{f:"A"},8513:{f:"A"},8602:{f:"A"},8603:{f:"A"},8606:{f:"A"},8608:{f:"A"},8610:{f:"A"},8611:{f:"A"},8619:{f:"A"},8620:{f:"A"},8621:{f:"A"},8622:{f:"A"},8624:{f:"A"},8625:{f:"A"},8630:{f:"A"},8631:{f:"A"},8634:{f:"A"},8635:{f:"A"},8638:{f:"A"},8639:{f:"A"},8642:{f:"A"},8643:{f:"A"},8644:{f:"A"},8646:{f:"A"},8647:{f:"A"},8648:{f:"A"},8649:{f:"A"},8650:{f:"A"},8651:{f:"A"},8653:{f:"A"},8654:{f:"A"},8655:{f:"A"},8666:{f:"A"},8667:{f:"A"},8669:{f:"A"},8672:{f:"A"},8674:{f:"A"},8705:{f:"A"},8708:{c:"\\2203\\338"},8710:{c:"\\394"},8716:{c:"\\220B\\338"},8717:{f:"A"},8719:{f:"S1"},8720:{f:"S1"},8721:{f:"S1"},8724:{f:"A"},8737:{f:"A"},8738:{f:"A"},8740:{f:"A"},8742:{f:"A"},8748:{f:"S1"},8749:{f:"S1"},8750:{f:"S1"},8756:{f:"A"},8757:{f:"A"},8765:{f:"A"},8769:{f:"A"},8770:{f:"A"},8772:{c:"\\2243\\338"},8775:{c:"\\2246",f:"A"},8777:{c:"\\2248\\338"},8778:{f:"A"},8782:{f:"A"},8783:{f:"A"},8785:{f:"A"},8786:{f:"A"},8787:{f:"A"},8790:{f:"A"},8791:{f:"A"},8796:{f:"A"},8802:{c:"\\2261\\338"},8806:{f:"A"},8807:{f:"A"},8808:{f:"A"},8809:{f:"A"},8812:{f:"A"},8813:{c:"\\224D\\338"},8814:{f:"A"},8815:{f:"A"},8816:{f:"A"},8817:{f:"A"},8818:{f:"A"},8819:{f:"A"},8820:{c:"\\2272\\338"},8821:{c:"\\2273\\338"},8822:{f:"A"},8823:{f:"A"},8824:{c:"\\2276\\338"},8825:{c:"\\2277\\338"},8828:{f:"A"},8829:{f:"A"},8830:{f:"A"},8831:{f:"A"},8832:{f:"A"},8833:{f:"A"},8836:{c:"\\2282\\338"},8837:{c:"\\2283\\338"},8840:{f:"A"},8841:{f:"A"},8842:{f:"A"},8843:{f:"A"},8847:{f:"A"},8848:{f:"A"},8858:{f:"A"},8859:{f:"A"},8861:{f:"A"},8862:{f:"A"},8863:{f:"A"},8864:{f:"A"},8865:{f:"A"},8873:{f:"A"},8874:{f:"A"},8876:{f:"A"},8877:{f:"A"},8878:{f:"A"},8879:{f:"A"},8882:{f:"A"},8883:{f:"A"},8884:{f:"A"},8885:{f:"A"},8888:{f:"A"},8890:{f:"A"},8891:{f:"A"},8892:{f:"A"},8896:{f:"S1"},8897:{f:"S1"},8898:{f:"S1"},8899:{f:"S1"},8903:{f:"A"},8905:{f:"A"},8906:{f:"A"},8907:{f:"A"},8908:{f:"A"},8909:{f:"A"},8910:{f:"A"},8911:{f:"A"},8912:{f:"A"},8913:{f:"A"},8914:{f:"A"},8915:{f:"A"},8916:{f:"A"},8918:{f:"A"},8919:{f:"A"},8920:{f:"A"},8921:{f:"A"},8922:{f:"A"},8923:{f:"A"},8926:{f:"A"},8927:{f:"A"},8928:{f:"A"},8929:{f:"A"},8930:{c:"\\2291\\338"},8931:{c:"\\2292\\338"},8934:{f:"A"},8935:{f:"A"},8936:{f:"A"},8937:{f:"A"},8938:{f:"A"},8939:{f:"A"},8940:{f:"A"},8941:{f:"A"},8965:{c:"\\22BC",f:"A"},8966:{c:"\\2A5E",f:"A"},8988:{c:"\\250C",f:"A"},8989:{c:"\\2510",f:"A"},8990:{c:"\\2514",f:"A"},8991:{c:"\\2518",f:"A"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},9168:{f:"S1"},9416:{f:"A"},9484:{f:"A"},9488:{f:"A"},9492:{f:"A"},9496:{f:"A"},9585:{f:"A"},9586:{f:"A"},9632:{f:"A"},9633:{f:"A"},9642:{c:"\\25A0",f:"A"},9650:{f:"A"},9652:{c:"\\25B2",f:"A"},9653:{c:"\\25B3"},9654:{f:"A"},9656:{c:"\\25B6",f:"A"},9660:{f:"A"},9662:{c:"\\25BC",f:"A"},9663:{c:"\\25BD"},9664:{f:"A"},9666:{c:"\\25C0",f:"A"},9674:{f:"A"},9723:{c:"\\25A1",f:"A"},9724:{c:"\\25A0",f:"A"},9733:{f:"A"},10003:{f:"A"},10016:{f:"A"},10072:{c:"\\2223"},10731:{f:"A"},10744:{c:"/",f:"I"},10752:{f:"S1"},10753:{f:"S1"},10754:{f:"S1"},10756:{f:"S1"},10758:{f:"S1"},10764:{c:"\\222C\\222C",f:"S1"},10799:{c:"\\D7"},10846:{f:"A"},10877:{f:"A"},10878:{f:"A"},10885:{f:"A"},10886:{f:"A"},10887:{f:"A"},10888:{f:"A"},10889:{f:"A"},10890:{f:"A"},10891:{f:"A"},10892:{f:"A"},10901:{f:"A"},10902:{f:"A"},10933:{f:"A"},10934:{f:"A"},10935:{f:"A"},10936:{f:"A"},10937:{f:"A"},10938:{f:"A"},10949:{f:"A"},10950:{f:"A"},10955:{f:"A"},10956:{f:"A"},12296:{c:"\\27E8"},12297:{c:"\\27E9"},57350:{f:"A"},57351:{f:"A"},57352:{f:"A"},57353:{f:"A"},57356:{f:"A"},57357:{f:"A"},57358:{f:"A"},57359:{f:"A"},57360:{f:"A"},57361:{f:"A"},57366:{f:"A"},57367:{f:"A"},57368:{f:"A"},57369:{f:"A"},57370:{f:"A"},57371:{f:"A"},119808:{c:"A",f:"B"},119809:{c:"B",f:"B"},119810:{c:"C",f:"B"},119811:{c:"D",f:"B"},119812:{c:"E",f:"B"},119813:{c:"F",f:"B"},119814:{c:"G",f:"B"},119815:{c:"H",f:"B"},119816:{c:"I",f:"B"},119817:{c:"J",f:"B"},119818:{c:"K",f:"B"},119819:{c:"L",f:"B"},119820:{c:"M",f:"B"},119821:{c:"N",f:"B"},119822:{c:"O",f:"B"},119823:{c:"P",f:"B"},119824:{c:"Q",f:"B"},119825:{c:"R",f:"B"},119826:{c:"S",f:"B"},119827:{c:"T",f:"B"},119828:{c:"U",f:"B"},119829:{c:"V",f:"B"},119830:{c:"W",f:"B"},119831:{c:"X",f:"B"},119832:{c:"Y",f:"B"},119833:{c:"Z",f:"B"},119834:{c:"a",f:"B"},119835:{c:"b",f:"B"},119836:{c:"c",f:"B"},119837:{c:"d",f:"B"},119838:{c:"e",f:"B"},119839:{c:"f",f:"B"},119840:{c:"g",f:"B"},119841:{c:"h",f:"B"},119842:{c:"i",f:"B"},119843:{c:"j",f:"B"},119844:{c:"k",f:"B"},119845:{c:"l",f:"B"},119846:{c:"m",f:"B"},119847:{c:"n",f:"B"},119848:{c:"o",f:"B"},119849:{c:"p",f:"B"},119850:{c:"q",f:"B"},119851:{c:"r",f:"B"},119852:{c:"s",f:"B"},119853:{c:"t",f:"B"},119854:{c:"u",f:"B"},119855:{c:"v",f:"B"},119856:{c:"w",f:"B"},119857:{c:"x",f:"B"},119858:{c:"y",f:"B"},119859:{c:"z",f:"B"},119860:{c:"A",f:"I"},119861:{c:"B",f:"I"},119862:{c:"C",f:"I"},119863:{c:"D",f:"I"},119864:{c:"E",f:"I"},119865:{c:"F",f:"I"},119866:{c:"G",f:"I"},119867:{c:"H",f:"I"},119868:{c:"I",f:"I"},119869:{c:"J",f:"I"},119870:{c:"K",f:"I"},119871:{c:"L",f:"I"},119872:{c:"M",f:"I"},119873:{c:"N",f:"I"},119874:{c:"O",f:"I"},119875:{c:"P",f:"I"},119876:{c:"Q",f:"I"},119877:{c:"R",f:"I"},119878:{c:"S",f:"I"},119879:{c:"T",f:"I"},119880:{c:"U",f:"I"},119881:{c:"V",f:"I"},119882:{c:"W",f:"I"},119883:{c:"X",f:"I"},119884:{c:"Y",f:"I"},119885:{c:"Z",f:"I"},119886:{c:"a",f:"I"},119887:{c:"b",f:"I"},119888:{c:"c",f:"I"},119889:{c:"d",f:"I"},119890:{c:"e",f:"I"},119891:{c:"f",f:"I"},119892:{c:"g",f:"I"},119894:{c:"i",f:"I"},119895:{c:"j",f:"I"},119896:{c:"k",f:"I"},119897:{c:"l",f:"I"},119898:{c:"m",f:"I"},119899:{c:"n",f:"I"},119900:{c:"o",f:"I"},119901:{c:"p",f:"I"},119902:{c:"q",f:"I"},119903:{c:"r",f:"I"},119904:{c:"s",f:"I"},119905:{c:"t",f:"I"},119906:{c:"u",f:"I"},119907:{c:"v",f:"I"},119908:{c:"w",f:"I"},119909:{c:"x",f:"I"},119910:{c:"y",f:"I"},119911:{c:"z",f:"I"},119912:{c:"A",f:"BI"},119913:{c:"B",f:"BI"},119914:{c:"C",f:"BI"},119915:{c:"D",f:"BI"},119916:{c:"E",f:"BI"},119917:{c:"F",f:"BI"},119918:{c:"G",f:"BI"},119919:{c:"H",f:"BI"},119920:{c:"I",f:"BI"},119921:{c:"J",f:"BI"},119922:{c:"K",f:"BI"},119923:{c:"L",f:"BI"},119924:{c:"M",f:"BI"},119925:{c:"N",f:"BI"},119926:{c:"O",f:"BI"},119927:{c:"P",f:"BI"},119928:{c:"Q",f:"BI"},119929:{c:"R",f:"BI"},119930:{c:"S",f:"BI"},119931:{c:"T",f:"BI"},119932:{c:"U",f:"BI"},119933:{c:"V",f:"BI"},119934:{c:"W",f:"BI"},119935:{c:"X",f:"BI"},119936:{c:"Y",f:"BI"},119937:{c:"Z",f:"BI"},119938:{c:"a",f:"BI"},119939:{c:"b",f:"BI"},119940:{c:"c",f:"BI"},119941:{c:"d",f:"BI"},119942:{c:"e",f:"BI"},119943:{c:"f",f:"BI"},119944:{c:"g",f:"BI"},119945:{c:"h",f:"BI"},119946:{c:"i",f:"BI"},119947:{c:"j",f:"BI"},119948:{c:"k",f:"BI"},119949:{c:"l",f:"BI"},119950:{c:"m",f:"BI"},119951:{c:"n",f:"BI"},119952:{c:"o",f:"BI"},119953:{c:"p",f:"BI"},119954:{c:"q",f:"BI"},119955:{c:"r",f:"BI"},119956:{c:"s",f:"BI"},119957:{c:"t",f:"BI"},119958:{c:"u",f:"BI"},119959:{c:"v",f:"BI"},119960:{c:"w",f:"BI"},119961:{c:"x",f:"BI"},119962:{c:"y",f:"BI"},119963:{c:"z",f:"BI"},119964:{c:"A",f:"SC"},119966:{c:"C",f:"SC"},119967:{c:"D",f:"SC"},119970:{c:"G",f:"SC"},119973:{c:"J",f:"SC"},119974:{c:"K",f:"SC"},119977:{c:"N",f:"SC"},119978:{c:"O",f:"SC"},119979:{c:"P",f:"SC"},119980:{c:"Q",f:"SC"},119982:{c:"S",f:"SC"},119983:{c:"T",f:"SC"},119984:{c:"U",f:"SC"},119985:{c:"V",f:"SC"},119986:{c:"W",f:"SC"},119987:{c:"X",f:"SC"},119988:{c:"Y",f:"SC"},119989:{c:"Z",f:"SC"},120068:{c:"A",f:"FR"},120069:{c:"B",f:"FR"},120071:{c:"D",f:"FR"},120072:{c:"E",f:"FR"},120073:{c:"F",f:"FR"},120074:{c:"G",f:"FR"},120077:{c:"J",f:"FR"},120078:{c:"K",f:"FR"},120079:{c:"L",f:"FR"},120080:{c:"M",f:"FR"},120081:{c:"N",f:"FR"},120082:{c:"O",f:"FR"},120083:{c:"P",f:"FR"},120084:{c:"Q",f:"FR"},120086:{c:"S",f:"FR"},120087:{c:"T",f:"FR"},120088:{c:"U",f:"FR"},120089:{c:"V",f:"FR"},120090:{c:"W",f:"FR"},120091:{c:"X",f:"FR"},120092:{c:"Y",f:"FR"},120094:{c:"a",f:"FR"},120095:{c:"b",f:"FR"},120096:{c:"c",f:"FR"},120097:{c:"d",f:"FR"},120098:{c:"e",f:"FR"},120099:{c:"f",f:"FR"},120100:{c:"g",f:"FR"},120101:{c:"h",f:"FR"},120102:{c:"i",f:"FR"},120103:{c:"j",f:"FR"},120104:{c:"k",f:"FR"},120105:{c:"l",f:"FR"},120106:{c:"m",f:"FR"},120107:{c:"n",f:"FR"},120108:{c:"o",f:"FR"},120109:{c:"p",f:"FR"},120110:{c:"q",f:"FR"},120111:{c:"r",f:"FR"},120112:{c:"s",f:"FR"},120113:{c:"t",f:"FR"},120114:{c:"u",f:"FR"},120115:{c:"v",f:"FR"},120116:{c:"w",f:"FR"},120117:{c:"x",f:"FR"},120118:{c:"y",f:"FR"},120119:{c:"z",f:"FR"},120120:{c:"A",f:"A"},120121:{c:"B",f:"A"},120123:{c:"D",f:"A"},120124:{c:"E",f:"A"},120125:{c:"F",f:"A"},120126:{c:"G",f:"A"},120128:{c:"I",f:"A"},120129:{c:"J",f:"A"},120130:{c:"K",f:"A"},120131:{c:"L",f:"A"},120132:{c:"M",f:"A"},120134:{c:"O",f:"A"},120138:{c:"S",f:"A"},120139:{c:"T",f:"A"},120140:{c:"U",f:"A"},120141:{c:"V",f:"A"},120142:{c:"W",f:"A"},120143:{c:"X",f:"A"},120144:{c:"Y",f:"A"},120172:{c:"A",f:"FRB"},120173:{c:"B",f:"FRB"},120174:{c:"C",f:"FRB"},120175:{c:"D",f:"FRB"},120176:{c:"E",f:"FRB"},120177:{c:"F",f:"FRB"},120178:{c:"G",f:"FRB"},120179:{c:"H",f:"FRB"},120180:{c:"I",f:"FRB"},120181:{c:"J",f:"FRB"},120182:{c:"K",f:"FRB"},120183:{c:"L",f:"FRB"},120184:{c:"M",f:"FRB"},120185:{c:"N",f:"FRB"},120186:{c:"O",f:"FRB"},120187:{c:"P",f:"FRB"},120188:{c:"Q",f:"FRB"},120189:{c:"R",f:"FRB"},120190:{c:"S",f:"FRB"},120191:{c:"T",f:"FRB"},120192:{c:"U",f:"FRB"},120193:{c:"V",f:"FRB"},120194:{c:"W",f:"FRB"},120195:{c:"X",f:"FRB"},120196:{c:"Y",f:"FRB"},120197:{c:"Z",f:"FRB"},120198:{c:"a",f:"FRB"},120199:{c:"b",f:"FRB"},120200:{c:"c",f:"FRB"},120201:{c:"d",f:"FRB"},120202:{c:"e",f:"FRB"},120203:{c:"f",f:"FRB"},120204:{c:"g",f:"FRB"},120205:{c:"h",f:"FRB"},120206:{c:"i",f:"FRB"},120207:{c:"j",f:"FRB"},120208:{c:"k",f:"FRB"},120209:{c:"l",f:"FRB"},120210:{c:"m",f:"FRB"},120211:{c:"n",f:"FRB"},120212:{c:"o",f:"FRB"},120213:{c:"p",f:"FRB"},120214:{c:"q",f:"FRB"},120215:{c:"r",f:"FRB"},120216:{c:"s",f:"FRB"},120217:{c:"t",f:"FRB"},120218:{c:"u",f:"FRB"},120219:{c:"v",f:"FRB"},120220:{c:"w",f:"FRB"},120221:{c:"x",f:"FRB"},120222:{c:"y",f:"FRB"},120223:{c:"z",f:"FRB"},120224:{c:"A",f:"SS"},120225:{c:"B",f:"SS"},120226:{c:"C",f:"SS"},120227:{c:"D",f:"SS"},120228:{c:"E",f:"SS"},120229:{c:"F",f:"SS"},120230:{c:"G",f:"SS"},120231:{c:"H",f:"SS"},120232:{c:"I",f:"SS"},120233:{c:"J",f:"SS"},120234:{c:"K",f:"SS"},120235:{c:"L",f:"SS"},120236:{c:"M",f:"SS"},120237:{c:"N",f:"SS"},120238:{c:"O",f:"SS"},120239:{c:"P",f:"SS"},120240:{c:"Q",f:"SS"},120241:{c:"R",f:"SS"},120242:{c:"S",f:"SS"},120243:{c:"T",f:"SS"},120244:{c:"U",f:"SS"},120245:{c:"V",f:"SS"},120246:{c:"W",f:"SS"},120247:{c:"X",f:"SS"},120248:{c:"Y",f:"SS"},120249:{c:"Z",f:"SS"},120250:{c:"a",f:"SS"},120251:{c:"b",f:"SS"},120252:{c:"c",f:"SS"},120253:{c:"d",f:"SS"},120254:{c:"e",f:"SS"},120255:{c:"f",f:"SS"},120256:{c:"g",f:"SS"},120257:{c:"h",f:"SS"},120258:{c:"i",f:"SS"},120259:{c:"j",f:"SS"},120260:{c:"k",f:"SS"},120261:{c:"l",f:"SS"},120262:{c:"m",f:"SS"},120263:{c:"n",f:"SS"},120264:{c:"o",f:"SS"},120265:{c:"p",f:"SS"},120266:{c:"q",f:"SS"},120267:{c:"r",f:"SS"},120268:{c:"s",f:"SS"},120269:{c:"t",f:"SS"},120270:{c:"u",f:"SS"},120271:{c:"v",f:"SS"},120272:{c:"w",f:"SS"},120273:{c:"x",f:"SS"},120274:{c:"y",f:"SS"},120275:{c:"z",f:"SS"},120276:{c:"A",f:"SSB"},120277:{c:"B",f:"SSB"},120278:{c:"C",f:"SSB"},120279:{c:"D",f:"SSB"},120280:{c:"E",f:"SSB"},120281:{c:"F",f:"SSB"},120282:{c:"G",f:"SSB"},120283:{c:"H",f:"SSB"},120284:{c:"I",f:"SSB"},120285:{c:"J",f:"SSB"},120286:{c:"K",f:"SSB"},120287:{c:"L",f:"SSB"},120288:{c:"M",f:"SSB"},120289:{c:"N",f:"SSB"},120290:{c:"O",f:"SSB"},120291:{c:"P",f:"SSB"},120292:{c:"Q",f:"SSB"},120293:{c:"R",f:"SSB"},120294:{c:"S",f:"SSB"},120295:{c:"T",f:"SSB"},120296:{c:"U",f:"SSB"},120297:{c:"V",f:"SSB"},120298:{c:"W",f:"SSB"},120299:{c:"X",f:"SSB"},120300:{c:"Y",f:"SSB"},120301:{c:"Z",f:"SSB"},120302:{c:"a",f:"SSB"},120303:{c:"b",f:"SSB"},120304:{c:"c",f:"SSB"},120305:{c:"d",f:"SSB"},120306:{c:"e",f:"SSB"},120307:{c:"f",f:"SSB"},120308:{c:"g",f:"SSB"},120309:{c:"h",f:"SSB"},120310:{c:"i",f:"SSB"},120311:{c:"j",f:"SSB"},120312:{c:"k",f:"SSB"},120313:{c:"l",f:"SSB"},120314:{c:"m",f:"SSB"},120315:{c:"n",f:"SSB"},120316:{c:"o",f:"SSB"},120317:{c:"p",f:"SSB"},120318:{c:"q",f:"SSB"},120319:{c:"r",f:"SSB"},120320:{c:"s",f:"SSB"},120321:{c:"t",f:"SSB"},120322:{c:"u",f:"SSB"},120323:{c:"v",f:"SSB"},120324:{c:"w",f:"SSB"},120325:{c:"x",f:"SSB"},120326:{c:"y",f:"SSB"},120327:{c:"z",f:"SSB"},120328:{c:"A",f:"SSI"},120329:{c:"B",f:"SSI"},120330:{c:"C",f:"SSI"},120331:{c:"D",f:"SSI"},120332:{c:"E",f:"SSI"},120333:{c:"F",f:"SSI"},120334:{c:"G",f:"SSI"},120335:{c:"H",f:"SSI"},120336:{c:"I",f:"SSI"},120337:{c:"J",f:"SSI"},120338:{c:"K",f:"SSI"},120339:{c:"L",f:"SSI"},120340:{c:"M",f:"SSI"},120341:{c:"N",f:"SSI"},120342:{c:"O",f:"SSI"},120343:{c:"P",f:"SSI"},120344:{c:"Q",f:"SSI"},120345:{c:"R",f:"SSI"},120346:{c:"S",f:"SSI"},120347:{c:"T",f:"SSI"},120348:{c:"U",f:"SSI"},120349:{c:"V",f:"SSI"},120350:{c:"W",f:"SSI"},120351:{c:"X",f:"SSI"},120352:{c:"Y",f:"SSI"},120353:{c:"Z",f:"SSI"},120354:{c:"a",f:"SSI"},120355:{c:"b",f:"SSI"},120356:{c:"c",f:"SSI"},120357:{c:"d",f:"SSI"},120358:{c:"e",f:"SSI"},120359:{c:"f",f:"SSI"},120360:{c:"g",f:"SSI"},120361:{c:"h",f:"SSI"},120362:{c:"i",f:"SSI"},120363:{c:"j",f:"SSI"},120364:{c:"k",f:"SSI"},120365:{c:"l",f:"SSI"},120366:{c:"m",f:"SSI"},120367:{c:"n",f:"SSI"},120368:{c:"o",f:"SSI"},120369:{c:"p",f:"SSI"},120370:{c:"q",f:"SSI"},120371:{c:"r",f:"SSI"},120372:{c:"s",f:"SSI"},120373:{c:"t",f:"SSI"},120374:{c:"u",f:"SSI"},120375:{c:"v",f:"SSI"},120376:{c:"w",f:"SSI"},120377:{c:"x",f:"SSI"},120378:{c:"y",f:"SSI"},120379:{c:"z",f:"SSI"},120432:{c:"A",f:"T"},120433:{c:"B",f:"T"},120434:{c:"C",f:"T"},120435:{c:"D",f:"T"},120436:{c:"E",f:"T"},120437:{c:"F",f:"T"},120438:{c:"G",f:"T"},120439:{c:"H",f:"T"},120440:{c:"I",f:"T"},120441:{c:"J",f:"T"},120442:{c:"K",f:"T"},120443:{c:"L",f:"T"},120444:{c:"M",f:"T"},120445:{c:"N",f:"T"},120446:{c:"O",f:"T"},120447:{c:"P",f:"T"},120448:{c:"Q",f:"T"},120449:{c:"R",f:"T"},120450:{c:"S",f:"T"},120451:{c:"T",f:"T"},120452:{c:"U",f:"T"},120453:{c:"V",f:"T"},120454:{c:"W",f:"T"},120455:{c:"X",f:"T"},120456:{c:"Y",f:"T"},120457:{c:"Z",f:"T"},120458:{c:"a",f:"T"},120459:{c:"b",f:"T"},120460:{c:"c",f:"T"},120461:{c:"d",f:"T"},120462:{c:"e",f:"T"},120463:{c:"f",f:"T"},120464:{c:"g",f:"T"},120465:{c:"h",f:"T"},120466:{c:"i",f:"T"},120467:{c:"j",f:"T"},120468:{c:"k",f:"T"},120469:{c:"l",f:"T"},120470:{c:"m",f:"T"},120471:{c:"n",f:"T"},120472:{c:"o",f:"T"},120473:{c:"p",f:"T"},120474:{c:"q",f:"T"},120475:{c:"r",f:"T"},120476:{c:"s",f:"T"},120477:{c:"t",f:"T"},120478:{c:"u",f:"T"},120479:{c:"v",f:"T"},120480:{c:"w",f:"T"},120481:{c:"x",f:"T"},120482:{c:"y",f:"T"},120483:{c:"z",f:"T"},120488:{c:"A",f:"B"},120489:{c:"B",f:"B"},120490:{c:"\\393",f:"B"},120491:{c:"\\394",f:"B"},120492:{c:"E",f:"B"},120493:{c:"Z",f:"B"},120494:{c:"H",f:"B"},120495:{c:"\\398",f:"B"},120496:{c:"I",f:"B"},120497:{c:"K",f:"B"},120498:{c:"\\39B",f:"B"},120499:{c:"M",f:"B"},120500:{c:"N",f:"B"},120501:{c:"\\39E",f:"B"},120502:{c:"O",f:"B"},120503:{c:"\\3A0",f:"B"},120504:{c:"P",f:"B"},120506:{c:"\\3A3",f:"B"},120507:{c:"T",f:"B"},120508:{c:"\\3A5",f:"B"},120509:{c:"\\3A6",f:"B"},120510:{c:"X",f:"B"},120511:{c:"\\3A8",f:"B"},120512:{c:"\\3A9",f:"B"},120513:{c:"\\2207",f:"B"},120546:{c:"A",f:"I"},120547:{c:"B",f:"I"},120548:{c:"\\393",f:"I"},120549:{c:"\\394",f:"I"},120550:{c:"E",f:"I"},120551:{c:"Z",f:"I"},120552:{c:"H",f:"I"},120553:{c:"\\398",f:"I"},120554:{c:"I",f:"I"},120555:{c:"K",f:"I"},120556:{c:"\\39B",f:"I"},120557:{c:"M",f:"I"},120558:{c:"N",f:"I"},120559:{c:"\\39E",f:"I"},120560:{c:"O",f:"I"},120561:{c:"\\3A0",f:"I"},120562:{c:"P",f:"I"},120564:{c:"\\3A3",f:"I"},120565:{c:"T",f:"I"},120566:{c:"\\3A5",f:"I"},120567:{c:"\\3A6",f:"I"},120568:{c:"X",f:"I"},120569:{c:"\\3A8",f:"I"},120570:{c:"\\3A9",f:"I"},120572:{c:"\\3B1",f:"I"},120573:{c:"\\3B2",f:"I"},120574:{c:"\\3B3",f:"I"},120575:{c:"\\3B4",f:"I"},120576:{c:"\\3B5",f:"I"},120577:{c:"\\3B6",f:"I"},120578:{c:"\\3B7",f:"I"},120579:{c:"\\3B8",f:"I"},120580:{c:"\\3B9",f:"I"},120581:{c:"\\3BA",f:"I"},120582:{c:"\\3BB",f:"I"},120583:{c:"\\3BC",f:"I"},120584:{c:"\\3BD",f:"I"},120585:{c:"\\3BE",f:"I"},120586:{c:"\\3BF",f:"I"},120587:{c:"\\3C0",f:"I"},120588:{c:"\\3C1",f:"I"},120589:{c:"\\3C2",f:"I"},120590:{c:"\\3C3",f:"I"},120591:{c:"\\3C4",f:"I"},120592:{c:"\\3C5",f:"I"},120593:{c:"\\3C6",f:"I"},120594:{c:"\\3C7",f:"I"},120595:{c:"\\3C8",f:"I"},120596:{c:"\\3C9",f:"I"},120597:{c:"\\2202"},120598:{c:"\\3F5",f:"I"},120599:{c:"\\3D1",f:"I"},120600:{c:"\\E009",f:"A"},120601:{c:"\\3D5",f:"I"},120602:{c:"\\3F1",f:"I"},120603:{c:"\\3D6",f:"I"},120604:{c:"A",f:"BI"},120605:{c:"B",f:"BI"},120606:{c:"\\393",f:"BI"},120607:{c:"\\394",f:"BI"},120608:{c:"E",f:"BI"},120609:{c:"Z",f:"BI"},120610:{c:"H",f:"BI"},120611:{c:"\\398",f:"BI"},120612:{c:"I",f:"BI"},120613:{c:"K",f:"BI"},120614:{c:"\\39B",f:"BI"},120615:{c:"M",f:"BI"},120616:{c:"N",f:"BI"},120617:{c:"\\39E",f:"BI"},120618:{c:"O",f:"BI"},120619:{c:"\\3A0",f:"BI"},120620:{c:"P",f:"BI"},120622:{c:"\\3A3",f:"BI"},120623:{c:"T",f:"BI"},120624:{c:"\\3A5",f:"BI"},120625:{c:"\\3A6",f:"BI"},120626:{c:"X",f:"BI"},120627:{c:"\\3A8",f:"BI"},120628:{c:"\\3A9",f:"BI"},120630:{c:"\\3B1",f:"BI"},120631:{c:"\\3B2",f:"BI"},120632:{c:"\\3B3",f:"BI"},120633:{c:"\\3B4",f:"BI"},120634:{c:"\\3B5",f:"BI"},120635:{c:"\\3B6",f:"BI"},120636:{c:"\\3B7",f:"BI"},120637:{c:"\\3B8",f:"BI"},120638:{c:"\\3B9",f:"BI"},120639:{c:"\\3BA",f:"BI"},120640:{c:"\\3BB",f:"BI"},120641:{c:"\\3BC",f:"BI"},120642:{c:"\\3BD",f:"BI"},120643:{c:"\\3BE",f:"BI"},120644:{c:"\\3BF",f:"BI"},120645:{c:"\\3C0",f:"BI"},120646:{c:"\\3C1",f:"BI"},120647:{c:"\\3C2",f:"BI"},120648:{c:"\\3C3",f:"BI"},120649:{c:"\\3C4",f:"BI"},120650:{c:"\\3C5",f:"BI"},120651:{c:"\\3C6",f:"BI"},120652:{c:"\\3C7",f:"BI"},120653:{c:"\\3C8",f:"BI"},120654:{c:"\\3C9",f:"BI"},120655:{c:"\\2202",f:"B"},120656:{c:"\\3F5",f:"BI"},120657:{c:"\\3D1",f:"BI"},120658:{c:"\\E009",f:"A"},120659:{c:"\\3D5",f:"BI"},120660:{c:"\\3F1",f:"BI"},120661:{c:"\\3D6",f:"BI"},120662:{c:"A",f:"SSB"},120663:{c:"B",f:"SSB"},120664:{c:"\\393",f:"SSB"},120665:{c:"\\394",f:"SSB"},120666:{c:"E",f:"SSB"},120667:{c:"Z",f:"SSB"},120668:{c:"H",f:"SSB"},120669:{c:"\\398",f:"SSB"},120670:{c:"I",f:"SSB"},120671:{c:"K",f:"SSB"},120672:{c:"\\39B",f:"SSB"},120673:{c:"M",f:"SSB"},120674:{c:"N",f:"SSB"},120675:{c:"\\39E",f:"SSB"},120676:{c:"O",f:"SSB"},120677:{c:"\\3A0",f:"SSB"},120678:{c:"P",f:"SSB"},120680:{c:"\\3A3",f:"SSB"},120681:{c:"T",f:"SSB"},120682:{c:"\\3A5",f:"SSB"},120683:{c:"\\3A6",f:"SSB"},120684:{c:"X",f:"SSB"},120685:{c:"\\3A8",f:"SSB"},120686:{c:"\\3A9",f:"SSB"},120782:{c:"0",f:"B"},120783:{c:"1",f:"B"},120784:{c:"2",f:"B"},120785:{c:"3",f:"B"},120786:{c:"4",f:"B"},120787:{c:"5",f:"B"},120788:{c:"6",f:"B"},120789:{c:"7",f:"B"},120790:{c:"8",f:"B"},120791:{c:"9",f:"B"},120802:{c:"0",f:"SS"},120803:{c:"1",f:"SS"},120804:{c:"2",f:"SS"},120805:{c:"3",f:"SS"},120806:{c:"4",f:"SS"},120807:{c:"5",f:"SS"},120808:{c:"6",f:"SS"},120809:{c:"7",f:"SS"},120810:{c:"8",f:"SS"},120811:{c:"9",f:"SS"},120812:{c:"0",f:"SSB"},120813:{c:"1",f:"SSB"},120814:{c:"2",f:"SSB"},120815:{c:"3",f:"SSB"},120816:{c:"4",f:"SSB"},120817:{c:"5",f:"SSB"},120818:{c:"6",f:"SSB"},120819:{c:"7",f:"SSB"},120820:{c:"8",f:"SSB"},120821:{c:"9",f:"SSB"},120822:{c:"0",f:"T"},120823:{c:"1",f:"T"},120824:{c:"2",f:"T"},120825:{c:"3",f:"T"},120826:{c:"4",f:"T"},120827:{c:"5",f:"T"},120828:{c:"6",f:"T"},120829:{c:"7",f:"T"},120830:{c:"8",f:"T"},120831:{c:"9",f:"T"}})},7517:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sansSerifBoldItalic=void 0;var n=r(8042),o=r(4886);e.sansSerifBoldItalic=(0,n.AddCSS)(o.sansSerifBoldItalic,{305:{f:"SSB"},567:{f:"SSB"}})},4182:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sansSerifBold=void 0;var n=r(8042),o=r(4471);e.sansSerifBold=(0,n.AddCSS)(o.sansSerifBold,{8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/"},8710:{c:"\\394"}})},2679:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sansSerifItalic=void 0;var n=r(8042),o=r(5181);e.sansSerifItalic=(0,n.AddCSS)(o.sansSerifItalic,{913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/"},8710:{c:"\\394"}})},5469:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sansSerif=void 0;var n=r(8042),o=r(3526);e.sansSerif=(0,n.AddCSS)(o.sansSerif,{913:{c:"A"},914:{c:"B"},917:{c:"E"},918:{c:"Z"},919:{c:"H"},921:{c:"I"},922:{c:"K"},924:{c:"M"},925:{c:"N"},927:{c:"O"},929:{c:"P"},932:{c:"T"},935:{c:"X"},8213:{c:"\\2014"},8215:{c:"_"},8260:{c:"/"},8710:{c:"\\394"}})},7563:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.scriptBold=void 0;var n=r(5649);Object.defineProperty(e,"scriptBold",{enumerable:!0,get:function(){return n.scriptBold}})},9409:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.script=void 0;var n=r(7153);Object.defineProperty(e,"script",{enumerable:!0,get:function(){return n.script}})},775:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.smallop=void 0;var n=r(8042),o=r(5745);e.smallop=(0,n.AddCSS)(o.smallop,{8260:{c:"/"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},10072:{c:"\\2223"},10764:{c:"\\222C\\222C"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},9551:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texCalligraphicBold=void 0;var n=r(8042),o=r(1411);e.texCalligraphicBold=(0,n.AddCSS)(o.texCalligraphicBold,{305:{f:"B"},567:{f:"B"}})},7907:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texCalligraphic=void 0;var n=r(6384);Object.defineProperty(e,"texCalligraphic",{enumerable:!0,get:function(){return n.texCalligraphic}})},9659:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texMathit=void 0;var n=r(6041);Object.defineProperty(e,"texMathit",{enumerable:!0,get:function(){return n.texMathit}})},98:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texOldstyleBold=void 0;var n=r(8199);Object.defineProperty(e,"texOldstyleBold",{enumerable:!0,get:function(){return n.texOldstyleBold}})},6275:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texOldstyle=void 0;var n=r(9848);Object.defineProperty(e,"texOldstyle",{enumerable:!0,get:function(){return n.texOldstyle}})},6530:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texSize3=void 0;var n=r(8042),o=r(7906);e.texSize3=(0,n.AddCSS)(o.texSize3,{8260:{c:"/"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},12296:{c:"\\27E8"},12297:{c:"\\27E9"}})},4409:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texSize4=void 0;var n=r(8042),o=r(2644);e.texSize4=(0,n.AddCSS)(o.texSize4,{8260:{c:"/"},9001:{c:"\\27E8"},9002:{c:"\\27E9"},12296:{c:"\\27E8"},12297:{c:"\\27E9"},57685:{c:"\\E153\\E152"},57686:{c:"\\E151\\E150"}})},5292:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.texVariant=void 0;var n=r(8042),o=r(4926);e.texVariant=(0,n.AddCSS)(o.texVariant,{1008:{c:"\\E009"},8463:{f:""},8740:{c:"\\E006"},8742:{c:"\\E007"},8808:{c:"\\E00C"},8809:{c:"\\E00D"},8816:{c:"\\E011"},8817:{c:"\\E00E"},8840:{c:"\\E016"},8841:{c:"\\E018"},8842:{c:"\\E01A"},8843:{c:"\\E01B"},10887:{c:"\\E010"},10888:{c:"\\E00F"},10955:{c:"\\E017"},10956:{c:"\\E019"}})},5884:function(t,e,r){var n=this&&this.__assign||function(){return n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.FontData=e.NOSTRETCH=e.H=e.V=void 0;var s=r(7233);e.V=1,e.H=2,e.NOSTRETCH={dir:0};var l=function(){function t(t){var e,r,l,c;void 0===t&&(t=null),this.variant={},this.delimiters={},this.cssFontMap={},this.remapChars={},this.skewIcFactor=.75;var u=this.constructor;this.options=(0,s.userOptions)((0,s.defaultOptions)({},u.OPTIONS),t),this.params=n({},u.defaultParams),this.sizeVariants=i([],o(u.defaultSizeVariants),!1),this.stretchVariants=i([],o(u.defaultStretchVariants),!1),this.cssFontMap=n({},u.defaultCssFonts);try{for(var p=a(Object.keys(this.cssFontMap)),h=p.next();!h.done;h=p.next()){var d=h.value;"unknown"===this.cssFontMap[d][0]&&(this.cssFontMap[d][0]=this.options.unknownFamily)}}catch(t){e={error:t}}finally{try{h&&!h.done&&(r=p.return)&&r.call(p)}finally{if(e)throw e.error}}this.cssFamilyPrefix=u.defaultCssFamilyPrefix,this.createVariants(u.defaultVariants),this.defineDelimiters(u.defaultDelimiters);try{for(var f=a(Object.keys(u.defaultChars)),m=f.next();!m.done;m=f.next()){var y=m.value;this.defineChars(y,u.defaultChars[y])}}catch(t){l={error:t}}finally{try{m&&!m.done&&(c=f.return)&&c.call(f)}finally{if(l)throw l.error}}this.defineRemap("accent",u.defaultAccentMap),this.defineRemap("mo",u.defaultMoMap),this.defineRemap("mn",u.defaultMnMap)}return t.charOptions=function(t,e){var r=t[e];return 3===r.length&&(r[3]={}),r[3]},Object.defineProperty(t.prototype,"styles",{get:function(){return this._styles},set:function(t){this._styles=t},enumerable:!1,configurable:!0}),t.prototype.createVariant=function(t,e,r){void 0===e&&(e=null),void 0===r&&(r=null);var n={linked:[],chars:e?Object.create(this.variant[e].chars):{}};r&&this.variant[r]&&(Object.assign(n.chars,this.variant[r].chars),this.variant[r].linked.push(n.chars),n.chars=Object.create(n.chars)),this.remapSmpChars(n.chars,t),this.variant[t]=n},t.prototype.remapSmpChars=function(t,e){var r,n,i,s,l=this.constructor;if(l.VariantSmp[e]){var c=l.SmpRemap,u=[null,null,l.SmpRemapGreekU,l.SmpRemapGreekL];try{for(var p=a(l.SmpRanges),h=p.next();!h.done;h=p.next()){var d=o(h.value,3),f=d[0],m=d[1],y=d[2],g=l.VariantSmp[e][f];if(g){for(var b=m;b<=y;b++)if(930!==b){var v=g+b-m;t[b]=this.smpChar(c[v]||v)}if(u[f])try{for(var _=(i=void 0,a(Object.keys(u[f]).map((function(t){return parseInt(t)})))),S=_.next();!S.done;S=_.next()){t[b=S.value]=this.smpChar(g+u[f][b])}}catch(t){i={error:t}}finally{try{S&&!S.done&&(s=_.return)&&s.call(_)}finally{if(i)throw i.error}}}}}catch(t){r={error:t}}finally{try{h&&!h.done&&(n=p.return)&&n.call(p)}finally{if(r)throw r.error}}}"bold"===e&&(t[988]=this.smpChar(120778),t[989]=this.smpChar(120779))},t.prototype.smpChar=function(t){return[,,,{smp:t}]},t.prototype.createVariants=function(t){var e,r;try{for(var n=a(t),o=n.next();!o.done;o=n.next()){var i=o.value;this.createVariant(i[0],i[1],i[2])}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}},t.prototype.defineChars=function(t,e){var r,n,o=this.variant[t];Object.assign(o.chars,e);try{for(var i=a(o.linked),s=i.next();!s.done;s=i.next()){var l=s.value;Object.assign(l,e)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}},t.prototype.defineDelimiters=function(t){Object.assign(this.delimiters,t)},t.prototype.defineRemap=function(t,e){this.remapChars.hasOwnProperty(t)||(this.remapChars[t]={}),Object.assign(this.remapChars[t],e)},t.prototype.getDelimiter=function(t){return this.delimiters[t]},t.prototype.getSizeVariant=function(t,e){return this.delimiters[t].variants&&(e=this.delimiters[t].variants[e]),this.sizeVariants[e]},t.prototype.getStretchVariant=function(t,e){return this.stretchVariants[this.delimiters[t].stretchv?this.delimiters[t].stretchv[e]:0]},t.prototype.getChar=function(t,e){return this.variant[t].chars[e]},t.prototype.getVariant=function(t){return this.variant[t]},t.prototype.getCssFont=function(t){return this.cssFontMap[t]||["serif",!1,!1]},t.prototype.getFamily=function(t){return this.cssFamilyPrefix?this.cssFamilyPrefix+", "+t:t},t.prototype.getRemappedChar=function(t,e){return(this.remapChars[t]||{})[e]},t.OPTIONS={unknownFamily:"serif"},t.JAX="common",t.NAME="",t.defaultVariants=[["normal"],["bold","normal"],["italic","normal"],["bold-italic","italic","bold"],["double-struck","bold"],["fraktur","normal"],["bold-fraktur","bold","fraktur"],["script","italic"],["bold-script","bold-italic","script"],["sans-serif","normal"],["bold-sans-serif","bold","sans-serif"],["sans-serif-italic","italic","sans-serif"],["sans-serif-bold-italic","bold-italic","bold-sans-serif"],["monospace","normal"]],t.defaultCssFonts={normal:["unknown",!1,!1],bold:["unknown",!1,!0],italic:["unknown",!0,!1],"bold-italic":["unknown",!0,!0],"double-struck":["unknown",!1,!0],fraktur:["unknown",!1,!1],"bold-fraktur":["unknown",!1,!0],script:["cursive",!1,!1],"bold-script":["cursive",!1,!0],"sans-serif":["sans-serif",!1,!1],"bold-sans-serif":["sans-serif",!1,!0],"sans-serif-italic":["sans-serif",!0,!1],"sans-serif-bold-italic":["sans-serif",!0,!0],monospace:["monospace",!1,!1]},t.defaultCssFamilyPrefix="",t.VariantSmp={bold:[119808,119834,120488,120514,120782],italic:[119860,119886,120546,120572],"bold-italic":[119912,119938,120604,120630],script:[119964,119990],"bold-script":[120016,120042],fraktur:[120068,120094],"double-struck":[120120,120146,,,120792],"bold-fraktur":[120172,120198],"sans-serif":[120224,120250,,,120802],"bold-sans-serif":[120276,120302,120662,120688,120812],"sans-serif-italic":[120328,120354],"sans-serif-bold-italic":[120380,120406,120720,120746],monospace:[120432,120458,,,120822]},t.SmpRanges=[[0,65,90],[1,97,122],[2,913,937],[3,945,969],[4,48,57]],t.SmpRemap={119893:8462,119965:8492,119968:8496,119969:8497,119971:8459,119972:8464,119975:8466,119976:8499,119981:8475,119994:8495,119996:8458,120004:8500,120070:8493,120075:8460,120076:8465,120085:8476,120093:8488,120122:8450,120127:8461,120133:8469,120135:8473,120136:8474,120137:8477,120145:8484},t.SmpRemapGreekU={8711:25,1012:17},t.SmpRemapGreekL={977:27,981:29,982:31,1008:28,1009:30,1013:26,8706:25},t.defaultAccentMap={768:"\u02cb",769:"\u02ca",770:"\u02c6",771:"\u02dc",772:"\u02c9",774:"\u02d8",775:"\u02d9",776:"\xa8",778:"\u02da",780:"\u02c7",8594:"\u20d7",8242:"'",8243:"''",8244:"'''",8245:"`",8246:"``",8247:"```",8279:"''''",8400:"\u21bc",8401:"\u21c0",8406:"\u2190",8417:"\u2194",8432:"*",8411:"...",8412:"....",8428:"\u21c1",8429:"\u21bd",8430:"\u2190",8431:"\u2192"},t.defaultMoMap={45:"\u2212"},t.defaultMnMap={45:"\u2212"},t.defaultParams={x_height:.442,quad:1,num1:.676,num2:.394,num3:.444,denom1:.686,denom2:.345,sup1:.413,sup2:.363,sup3:.289,sub1:.15,sub2:.247,sup_drop:.386,sub_drop:.05,delim1:2.39,delim2:1,axis_height:.25,rule_thickness:.06,big_op_spacing1:.111,big_op_spacing2:.167,big_op_spacing3:.2,big_op_spacing4:.6,big_op_spacing5:.1,surd_height:.075,scriptspace:.05,nulldelimiterspace:.12,delimiterfactor:901,delimitershortfall:.3,min_rule_thickness:1.25,separation_factor:1.75,extra_ic:.033},t.defaultDelimiters={},t.defaultChars={},t.defaultSizeVariants=[],t.defaultStretchVariants=[],t}();e.FontData=l},5552:function(t,e){var r=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonArrow=e.CommonDiagonalArrow=e.CommonDiagonalStrike=e.CommonBorder2=e.CommonBorder=e.arrowBBox=e.diagonalArrowDef=e.arrowDef=e.arrowBBoxW=e.arrowBBoxHD=e.arrowHead=e.fullBorder=e.fullPadding=e.fullBBox=e.sideNames=e.sideIndex=e.SOLID=e.PADDING=e.THICKNESS=e.ARROWY=e.ARROWDX=e.ARROWX=void 0,e.ARROWX=4,e.ARROWDX=1,e.ARROWY=2,e.THICKNESS=.067,e.PADDING=.2,e.SOLID=e.THICKNESS+"em solid",e.sideIndex={top:0,right:1,bottom:2,left:3},e.sideNames=Object.keys(e.sideIndex),e.fullBBox=function(t){return new Array(4).fill(t.thickness+t.padding)},e.fullPadding=function(t){return new Array(4).fill(t.padding)},e.fullBorder=function(t){return new Array(4).fill(t.thickness)};e.arrowHead=function(t){return Math.max(t.padding,t.thickness*(t.arrowhead.x+t.arrowhead.dx+1))};e.arrowBBoxHD=function(t,e){if(t.childNodes[0]){var r=t.childNodes[0].getBBox(),n=r.h,o=r.d;e[0]=e[2]=Math.max(0,t.thickness*t.arrowhead.y-(n+o)/2)}return e};e.arrowBBoxW=function(t,e){if(t.childNodes[0]){var r=t.childNodes[0].getBBox().w;e[1]=e[3]=Math.max(0,t.thickness*t.arrowhead.y-r/2)}return e},e.arrowDef={up:[-Math.PI/2,!1,!0,"verticalstrike"],down:[Math.PI/2,!1,!0,"verticakstrike"],right:[0,!1,!1,"horizontalstrike"],left:[Math.PI,!1,!1,"horizontalstrike"],updown:[Math.PI/2,!0,!0,"verticalstrike uparrow downarrow"],leftright:[0,!0,!1,"horizontalstrike leftarrow rightarrow"]},e.diagonalArrowDef={updiagonal:[-1,0,!1,"updiagonalstrike northeastarrow"],northeast:[-1,0,!1,"updiagonalstrike updiagonalarrow"],southeast:[1,0,!1,"downdiagonalstrike"],northwest:[1,Math.PI,!1,"downdiagonalstrike"],southwest:[-1,Math.PI,!1,"updiagonalstrike"],northeastsouthwest:[-1,0,!0,"updiagonalstrike northeastarrow updiagonalarrow southwestarrow"],northwestsoutheast:[1,0,!0,"downdiagonalstrike northwestarrow southeastarrow"]},e.arrowBBox={up:function(t){return(0,e.arrowBBoxW)(t,[(0,e.arrowHead)(t),0,t.padding,0])},down:function(t){return(0,e.arrowBBoxW)(t,[t.padding,0,(0,e.arrowHead)(t),0])},right:function(t){return(0,e.arrowBBoxHD)(t,[0,(0,e.arrowHead)(t),0,t.padding])},left:function(t){return(0,e.arrowBBoxHD)(t,[0,t.padding,0,(0,e.arrowHead)(t)])},updown:function(t){return(0,e.arrowBBoxW)(t,[(0,e.arrowHead)(t),0,(0,e.arrowHead)(t),0])},leftright:function(t){return(0,e.arrowBBoxHD)(t,[0,(0,e.arrowHead)(t),0,(0,e.arrowHead)(t)])}};e.CommonBorder=function(t){return function(r){var n=e.sideIndex[r];return[r,{renderer:t,bbox:function(t){var e=[0,0,0,0];return e[n]=t.thickness+t.padding,e},border:function(t){var e=[0,0,0,0];return e[n]=t.thickness,e}}]}};e.CommonBorder2=function(t){return function(r,n,o){var i=e.sideIndex[n],a=e.sideIndex[o];return[r,{renderer:t,bbox:function(t){var e=t.thickness+t.padding,r=[0,0,0,0];return r[i]=r[a]=e,r},border:function(t){var e=[0,0,0,0];return e[i]=e[a]=t.thickness,e},remove:n+" "+o}]}};e.CommonDiagonalStrike=function(t){return function(r){var n="mjx-"+r.charAt(0)+"strike";return[r+"diagonalstrike",{renderer:t(n),bbox:e.fullBBox}]}};e.CommonDiagonalArrow=function(t){return function(n){var o=r(e.diagonalArrowDef[n],4),i=o[0],a=o[1],s=o[2];return[n+"arrow",{renderer:function(e,n){var o=r(e.arrowAW(),2),l=o[0],c=o[1],u=e.arrow(c,i*(l-a),s);t(e,u)},bbox:function(t){var e=t.arrowData(),n=e.a,o=e.x,i=e.y,a=r([t.arrowhead.x,t.arrowhead.y,t.arrowhead.dx],3),s=a[0],l=a[1],c=a[2],u=r(t.getArgMod(s+c,l),2),p=u[0],h=u[1],d=i+(p>n?t.thickness*h*Math.sin(p-n):0),f=o+(p>Math.PI/2-n?t.thickness*h*Math.sin(p+n-Math.PI/2):0);return[d,f,d,f]},remove:o[3]}]}};e.CommonArrow=function(t){return function(n){var o=r(e.arrowDef[n],4),i=o[0],a=o[1],s=o[2],l=o[3];return[n+"arrow",{renderer:function(e,n){var o=e.getBBox(),l=o.w,c=o.h,u=o.d,p=r(s?[c+u,"X"]:[l,"Y"],2),h=p[0],d=p[1],f=e.getOffset(d),m=e.arrow(h,i,a,d,f);t(e,m)},bbox:e.arrowBBox[n],remove:l}]}}},3055:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},s=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonOutputJax=void 0;var l=r(2975),c=r(4474),u=r(7233),p=r(6010),h=r(8054),d=r(4139),f=function(t){function e(e,r,n){void 0===e&&(e=null),void 0===r&&(r=null),void 0===n&&(n=null);var o=this,i=a((0,u.separateOptions)(e,n.OPTIONS),2),s=i[0],l=i[1];return(o=t.call(this,s)||this).factory=o.options.wrapperFactory||new r,o.factory.jax=o,o.cssStyles=o.options.cssStyles||new d.CssStyles,o.font=o.options.font||new n(l),o.unknownCache=new Map,o}return o(e,t),e.prototype.typeset=function(t,e){this.setDocument(e);var r=this.createNode();return this.toDOM(t,r,e),r},e.prototype.createNode=function(){var t=this.constructor.NAME;return this.html("mjx-container",{class:"MathJax",jax:t})},e.prototype.setScale=function(t){var e=this.math.metrics.scale*this.options.scale;1!==e&&this.adaptor.setStyle(t,"fontSize",(0,p.percent)(e))},e.prototype.toDOM=function(t,e,r){void 0===r&&(r=null),this.setDocument(r),this.math=t,this.pxPerEm=t.metrics.ex/this.font.params.x_height,t.root.setTeXclass(null),this.setScale(e),this.nodeMap=new Map,this.container=e,this.processMath(t.root,e),this.nodeMap=null,this.executeFilters(this.postFilters,t,r,e)},e.prototype.getBBox=function(t,e){this.setDocument(e),this.math=t,t.root.setTeXclass(null),this.nodeMap=new Map;var r=this.factory.wrap(t.root).getOuterBBox();return this.nodeMap=null,r},e.prototype.getMetrics=function(t){var e,r;this.setDocument(t);var n=this.adaptor,o=this.getMetricMaps(t);try{for(var i=s(t.math),a=i.next();!a.done;a=i.next()){var l=a.value,u=n.parent(l.start.node);if(l.state()=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},c=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},u=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o600?"bold":"normal"),n.family?r=this.explicitVariant(n.family,n.weight,n.style):(this.node.getProperty("variantForm")&&(r="-tex-variant"),r=(e.BOLDVARIANTS[n.weight]||{})[r]||r,r=(e.ITALICVARIANTS[n.style]||{})[r]||r)}this.variant=r}},e.prototype.explicitVariant=function(t,e,r){var n=this.styles;return n||(n=this.styles=new m.Styles),n.set("fontFamily",t),e&&n.set("fontWeight",e),r&&n.set("fontStyle",r),"-explicitFont"},e.prototype.getScale=function(){var t=1,e=this.parent,r=e?e.bbox.scale:1,n=this.node.attributes,o=Math.min(n.get("scriptlevel"),2),i=n.get("fontsize"),a=this.node.isToken||this.node.isKind("mstyle")?n.get("mathsize"):n.getInherited("mathsize");if(0!==o){t=Math.pow(n.get("scriptsizemultiplier"),o);var s=this.length2em(n.get("scriptminsize"),.8,1);t0;this.bbox.L=n.isSet("lspace")?Math.max(0,this.length2em(n.get("lspace"))):v(o,t.lspace),this.bbox.R=n.isSet("rspace")?Math.max(0,this.length2em(n.get("rspace"))):v(o,t.rspace);var i=r.childIndex(e);if(0!==i){var a=r.childNodes[i-1];if(a.isEmbellished){var s=this.jax.nodeMap.get(a).getBBox();s.R&&(this.bbox.L=Math.max(0,this.bbox.L-s.R))}}}},e.prototype.getTeXSpacing=function(t,e){if(!e){var r=this.node.texSpacing();r&&(this.bbox.L=this.length2em(r))}if(t||e){var n=this.node.coreMO().attributes;n.isSet("lspace")&&(this.bbox.L=Math.max(0,this.length2em(n.get("lspace")))),n.isSet("rspace")&&(this.bbox.R=Math.max(0,this.length2em(n.get("rspace"))))}},e.prototype.isTopEmbellished=function(){return this.node.isEmbellished&&!(this.node.parent&&this.node.parent.isEmbellished)},e.prototype.core=function(){return this.jax.nodeMap.get(this.node.core())},e.prototype.coreMO=function(){return this.jax.nodeMap.get(this.node.coreMO())},e.prototype.getText=function(){var t,e,r="";if(this.node.isToken)try{for(var n=l(this.node.childNodes),o=n.next();!o.done;o=n.next()){var i=o.value;i instanceof h.TextNode&&(r+=i.getText())}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return r},e.prototype.canStretch=function(t){if(this.stretch=g.NOSTRETCH,this.node.isEmbellished){var e=this.core();e&&e.node!==this.node&&e.canStretch(t)&&(this.stretch=e.stretch)}return 0!==this.stretch.dir},e.prototype.getAlignShift=function(){var t,e=(t=this.node.attributes).getList.apply(t,u([],c(h.indentAttributes),!1)),r=e.indentalign,n=e.indentshift,o=e.indentalignfirst,i=e.indentshiftfirst;return"indentalign"!==o&&(r=o),"auto"===r&&(r=this.jax.options.displayAlign),"indentshift"!==i&&(n=i),"auto"===n&&(n=this.jax.options.displayIndent,"right"!==r||n.match(/^\s*0[a-z]*\s*$/)||(n=("-"+n.trim()).replace(/^--/,""))),[r,this.length2em(n,this.metrics.containerWidth)]},e.prototype.getAlignX=function(t,e,r){return"right"===r?t-(e.w+e.R)*e.rscale:"left"===r?e.L*e.rscale:(t-e.w*e.rscale)/2},e.prototype.getAlignY=function(t,e,r,n,o){return"top"===o?t-r:"bottom"===o?n-e:"center"===o?(t-r-(e-n))/2:0},e.prototype.getWrapWidth=function(t){return this.childNodes[t].getBBox().w},e.prototype.getChildAlign=function(t){return"left"},e.prototype.percent=function(t){return f.percent(t)},e.prototype.em=function(t){return f.em(t)},e.prototype.px=function(t,e){return void 0===e&&(e=-f.BIGDIMEN),f.px(t,e,this.metrics.em)},e.prototype.length2em=function(t,e,r){return void 0===e&&(e=1),void 0===r&&(r=null),null===r&&(r=this.bbox.scale),f.length2em(t,e,r,this.jax.pxPerEm)},e.prototype.unicodeChars=function(t,e){void 0===e&&(e=this.variant);var r=(0,d.unicodeChars)(t),n=this.font.getVariant(e);if(n&&n.chars){var o=n.chars;r=r.map((function(t){return((o[t]||[])[3]||{}).smp||t}))}return r},e.prototype.remapChars=function(t){return t},e.prototype.mmlText=function(t){return this.node.factory.create("text").setText(t)},e.prototype.mmlNode=function(t,e,r){return void 0===e&&(e={}),void 0===r&&(r=[]),this.node.factory.create(t,e,r)},e.prototype.createMo=function(t){var e=this.node.factory,r=e.create("text").setText(t),n=e.create("mo",{stretchy:!0},[r]);n.inheritAttributesFrom(this.node);var o=this.wrap(n);return o.parent=this,o},e.prototype.getVariantChar=function(t,e){var r=this.font.getChar(t,e)||[0,0,0,{unknown:!0}];return 3===r.length&&(r[3]={}),r},e.kind="unknown",e.styles={},e.removeStyles=["fontSize","fontFamily","fontWeight","fontStyle","fontVariant","font"],e.skipAttributes={fontfamily:!0,fontsize:!0,fontweight:!0,fontstyle:!0,color:!0,background:!0,class:!0,href:!0,style:!0,xmlns:!0},e.BOLDVARIANTS={bold:{normal:"bold",italic:"bold-italic",fraktur:"bold-fraktur",script:"bold-script","sans-serif":"bold-sans-serif","sans-serif-italic":"sans-serif-bold-italic"},normal:{bold:"normal","bold-italic":"italic","bold-fraktur":"fraktur","bold-script":"script","bold-sans-serif":"sans-serif","sans-serif-bold-italic":"sans-serif-italic"}},e.ITALICVARIANTS={italic:{normal:"italic",bold:"bold-italic","sans-serif":"sans-serif-italic","bold-sans-serif":"sans-serif-bold-italic"},normal:{italic:"normal","bold-italic":"bold","sans-serif-italic":"sans-serif","sans-serif-bold-italic":"bold-sans-serif"}},e}(p.AbstractWrapper);e.CommonWrapper=_},4420:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonWrapperFactory=void 0;var i=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.jax=null,e}return o(e,t),Object.defineProperty(e.prototype,"Wrappers",{get:function(){return this.node},enumerable:!1,configurable:!0}),e.defaultNodes={},e}(r(3811).AbstractWrapperFactory);e.CommonWrapperFactory=i},9800:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonTeXAtomMixin=void 0;var i=r(9007);e.CommonTeXAtomMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.computeBBox=function(e,r){if(void 0===r&&(r=!1),t.prototype.computeBBox.call(this,e,r),this.childNodes[0]&&this.childNodes[0].bbox.ic&&(e.ic=this.childNodes[0].bbox.ic),this.node.texClass===i.TEXCLASS.VCENTER){var n=e.h,o=(n+e.d)/2+this.font.params.axis_height-n;e.h+=o,e.d-=o}},e}(t)}},1160:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonTextNodeMixin=void 0,e.CommonTextNodeMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.computeBBox=function(t,e){var r,n;void 0===e&&(e=!1);var a=this.parent.variant,s=this.node.getText();if("-explicitFont"===a){var l=this.jax.getFontData(this.parent.styles),c=this.jax.measureText(s,a,l),u=c.w,p=c.h,h=c.d;t.h=p,t.d=h,t.w=u}else{var d=this.remappedText(s,a);t.empty();try{for(var f=o(d),m=f.next();!m.done;m=f.next()){var y=m.value,g=i(this.getVariantChar(a,y),4),b=(p=g[0],h=g[1],u=g[2],g[3]);if(b.unknown){var v=this.jax.measureText(String.fromCodePoint(y),a);u=v.w,p=v.h,h=v.d}t.w+=u,p>t.h&&(t.h=p),h>t.d&&(t.d=h),t.ic=b.ic||0,t.sk=b.sk||0,t.dx=b.dx||0}}catch(t){r={error:t}}finally{try{m&&!m.done&&(n=f.return)&&n.call(f)}finally{if(r)throw r.error}}d.length>1&&(t.sk=0),t.clean()}},e.prototype.remappedText=function(t,e){var r=this.parent.stretch.c;return r?[r]:this.parent.remapChars(this.unicodeChars(t,e))},e.prototype.getStyles=function(){},e.prototype.getVariant=function(){},e.prototype.getScale=function(){},e.prototype.getSpace=function(){},e}(t)}},1956:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},c=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMencloseMixin=void 0;var p=s(r(5552)),h=r(505);e.CommonMencloseMixin=function(t){return function(t){function e(){for(var e=[],r=0;r.001?a:0},e.prototype.getArgMod=function(t,e){return[Math.atan2(e,t),Math.sqrt(t*t+e*e)]},e.prototype.arrow=function(t,e,r,n,o){return void 0===n&&(n=""),void 0===o&&(o=0),null},e.prototype.arrowData=function(){var t=l([this.padding,this.thickness],2),e=t[0],r=t[1]*(this.arrowhead.x+Math.max(1,this.arrowhead.dx)),n=this.childNodes[0].getBBox(),o=n.h,i=n.d,a=n.w,s=o+i,c=Math.sqrt(s*s+a*a),u=Math.max(e,r*a/c),p=Math.max(e,r*s/c),h=l(this.getArgMod(a+2*u,s+2*p),2);return{a:h[0],W:h[1],x:u,y:p}},e.prototype.arrowAW=function(){var t=this.childNodes[0].getBBox(),e=t.h,r=t.d,n=t.w,o=l(this.TRBL,4),i=o[0],a=o[1],s=o[2],c=o[3];return this.getArgMod(c+n+a,i+e+r+s)},e.prototype.createMsqrt=function(t){var e=this.node.factory.create("msqrt");e.inheritAttributesFrom(this.node),e.childNodes[0]=t.node;var r=this.wrap(e);return r.parent=this,r},e.prototype.sqrtTRBL=function(){var t=this.msqrt.getBBox(),e=this.msqrt.childNodes[0].getBBox();return[t.h-e.h,0,t.d-e.d,t.w-e.w]},e}(t)}},7555:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMfencedMixin=void 0,e.CommonMfencedMixin=function(t){return function(t){function e(){for(var e=[],r=0;r0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMmultiscriptsMixin=e.ScriptNames=e.NextScript=void 0;var l=r(6469);e.NextScript={base:"subList",subList:"supList",supList:"subList",psubList:"psupList",psupList:"psubList"},e.ScriptNames=["sup","sup","psup","psub"],e.CommonMmultiscriptsMixin=function(t){return function(t){function r(){for(var e=[],r=0;re.length&&e.push(l.BBox.empty())},r.prototype.combineBBoxLists=function(t,e,r,n){for(var o=0;ot.h&&(t.h=l),c>t.d&&(t.d=c),h>e.h&&(e.h=h),d>e.d&&(e.d=d)}},r.prototype.getScaledWHD=function(t){var e=t.w,r=t.h,n=t.d,o=t.rscale;return[e*o,r*o,n*o]},r.prototype.getUVQ=function(e,r){var n;if(!this.UVQ){var o=i([0,0,0],3),a=o[0],s=o[1],l=o[2];0===e.h&&0===e.d?a=this.getU():0===r.h&&0===r.d?a=-this.getV():(a=(n=i(t.prototype.getUVQ.call(this,e,r),3))[0],s=n[1],l=n[2]),this.UVQ=[a,s,l]}return this.UVQ},r}(t)}},5023:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMnMixin=void 0,e.CommonMnMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.remapChars=function(t){if(t.length){var e=this.font.getRemappedChar("mn",t[0]);if(e){var r=this.unicodeChars(e,this.variant);1===r.length?t[0]=r[0]:t=r.concat(t.slice(1))}}return t},e}(t)}},7096:function(t,e,r){var n,o,i=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=this&&this.__assign||function(){return a=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},l=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMoMixin=e.DirectionVH=void 0;var u=r(6469),p=r(505),h=r(5884);e.DirectionVH=((o={})[1]="v",o[2]="h",o),e.CommonMoMixin=function(t){return function(t){function e(){for(var e=[],r=0;r=0)&&(t.w=0)},e.prototype.protoBBox=function(e){var r=0!==this.stretch.dir;r&&null===this.size&&this.getStretchedVariant([0]),r&&this.size<0||(t.prototype.computeBBox.call(this,e),this.copySkewIC(e))},e.prototype.getAccentOffset=function(){var t=u.BBox.empty();return this.protoBBox(t),-t.w/2},e.prototype.getCenterOffset=function(e){return void 0===e&&(e=null),e||(e=u.BBox.empty(),t.prototype.computeBBox.call(this,e)),(e.h+e.d)/2+this.font.params.axis_height-e.h},e.prototype.getVariant=function(){this.node.attributes.get("largeop")?this.variant=this.node.attributes.get("displaystyle")?"-largeop":"-smallop":this.node.attributes.getExplicit("mathvariant")||!1!==this.node.getProperty("pseudoscript")?t.prototype.getVariant.call(this):this.variant="-tex-variant"},e.prototype.canStretch=function(t){if(0!==this.stretch.dir)return this.stretch.dir===t;if(!this.node.attributes.get("stretchy"))return!1;var e=this.getText();if(1!==Array.from(e).length)return!1;var r=this.font.getDelimiter(e.codePointAt(0));return this.stretch=r&&r.dir===t?r:h.NOSTRETCH,0!==this.stretch.dir},e.prototype.getStretchedVariant=function(t,e){var r,n;if(void 0===e&&(e=!1),0!==this.stretch.dir){var o=this.getWH(t),i=this.getSize("minsize",0),s=this.getSize("maxsize",1/0),l=this.node.getProperty("mathaccent");o=Math.max(i,Math.min(s,o));var u=this.font.params.delimiterfactor/1e3,p=this.font.params.delimitershortfall,h=i||e?o:l?Math.min(o/u,o+p):Math.max(o*u,o-p),d=this.stretch,f=d.c||this.getText().codePointAt(0),m=0;if(d.sizes)try{for(var y=c(d.sizes),g=y.next();!g.done;g=y.next()){if(g.value>=h)return l&&m&&m--,this.variant=this.font.getSizeVariant(f,m),this.size=m,void(d.schar&&d.schar[m]&&(this.stretch=a(a({},this.stretch),{c:d.schar[m]})));m++}}catch(t){r={error:t}}finally{try{g&&!g.done&&(n=y.return)&&n.call(y)}finally{if(r)throw r.error}}d.stretch?(this.size=-1,this.invalidateBBox(),this.getStretchBBox(t,this.checkExtendedHeight(o,d),d)):(this.variant=this.font.getSizeVariant(f,m-1),this.size=m-1)}},e.prototype.getSize=function(t,e){var r=this.node.attributes;return r.isSet(t)&&(e=this.length2em(r.get(t),1,1)),e},e.prototype.getWH=function(t){if(0===t.length)return 0;if(1===t.length)return t[0];var e=s(t,2),r=e[0],n=e[1],o=this.font.params.axis_height;return this.node.attributes.get("symmetric")?2*Math.max(r-o,n+o):r+n},e.prototype.getStretchBBox=function(t,e,r){var n;r.hasOwnProperty("min")&&r.min>e&&(e=r.min);var o=s(r.HDW,3),i=o[0],a=o[1],l=o[2];1===this.stretch.dir?(i=(n=s(this.getBaseline(t,e,r),2))[0],a=n[1]):l=e,this.bbox.h=i,this.bbox.d=a,this.bbox.w=l},e.prototype.getBaseline=function(t,e,r){var n=2===t.length&&t[0]+t[1]===e,o=this.node.attributes.get("symmetric"),i=s(n?t:[e,0],2),a=i[0],l=i[1],c=s([a+l,0],2),u=c[0],p=c[1];if(o){var h=this.font.params.axis_height;n&&(u=2*Math.max(a-h,l+h)),p=u/2-h}else if(n)p=l;else{var d=s(r.HDW||[.75,.25],2),f=d[0],m=d[1];p=m*(u/(f+m))}return[u-p,p]},e.prototype.checkExtendedHeight=function(t,e){if(e.fullExt){var r=s(e.fullExt,2),n=r[0],o=r[1];t=o+Math.ceil(Math.max(0,t-o)/n)*n}return t},e.prototype.remapChars=function(t){var e=this.node.getProperty("primes");if(e)return(0,p.unicodeChars)(e);if(1===t.length){var r=this.node.coreParent().parent,n=this.isAccent&&!r.isKind("mrow")?"accent":"mo",o=this.font.getRemappedChar(n,t[0]);o&&(t=this.unicodeChars(o,this.variant))}return t},e}(t)}},6898:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMpaddedMixin=void 0,e.CommonMpaddedMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getDimens=function(){var t=this.node.attributes.getList("width","height","depth","lspace","voffset"),e=this.childNodes[0].getBBox(),r=e.w,n=e.h,o=e.d,i=r,a=n,s=o,l=0,c=0,u=0;""!==t.width&&(r=this.dimen(t.width,e,"w",0)),""!==t.height&&(n=this.dimen(t.height,e,"h",0)),""!==t.depth&&(o=this.dimen(t.depth,e,"d",0)),""!==t.voffset&&(c=this.dimen(t.voffset,e)),""!==t.lspace&&(l=this.dimen(t.lspace,e));var p=this.node.attributes.get("data-align");return p&&(u=this.getAlignX(r,e,p)),[a,s,i,n-a,o-s,r-i,l,c,u]},e.prototype.dimen=function(t,e,r,n){void 0===r&&(r=""),void 0===n&&(n=null);var o=(t=String(t)).match(/width|height|depth/),i=o?e[o[0].charAt(0)]:r?e[r]:0,a=this.length2em(t,i)||0;return t.match(/^[-+]/)&&r&&(a+=i),null!=n&&(a=Math.max(n,a)),a},e.prototype.computeBBox=function(t,e){void 0===e&&(e=!1);var r=o(this.getDimens(),6),n=r[0],i=r[1],a=r[2],s=r[3],l=r[4],c=r[5];t.w=a+c,t.h=n+s,t.d=i+l,this.setChildPWidths(e,t.w)},e.prototype.getWrapWidth=function(t){return this.getBBox().w},e.prototype.getChildAlign=function(t){return this.node.attributes.get("data-align")||"left"},e}(t)}},6991:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMrootMixin=void 0,e.CommonMrootMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"surd",{get:function(){return 2},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"root",{get:function(){return 1},enumerable:!1,configurable:!0}),e.prototype.combineRootBBox=function(t,e,r){var n=this.childNodes[this.root].getOuterBBox(),o=this.getRootDimens(e,r)[1];t.combine(n,0,o)},e.prototype.getRootDimens=function(t,e){var r=this.childNodes[this.surd],n=this.childNodes[this.root].getOuterBBox(),o=(r.size<0?.5:.6)*t.w,i=n.w,a=n.rscale,s=Math.max(i,o/a),l=Math.max(0,s-i);return[s*a-o,this.rootHeight(n,t,r.size,e),l]},e.prototype.rootHeight=function(t,e,r,n){var o=e.h+e.d;return(r<0?1.9:.55*o)-(o-n)+Math.max(0,t.d*t.rscale)},e}(t)}},8411:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonInferredMrowMixin=e.CommonMrowMixin=void 0;var l=r(6469);e.CommonMrowMixin=function(t){return function(t){function e(){for(var e,r,n=[],o=0;o1){var h=0,d=0,f=u>1&&u===p;try{for(var m=s(this.childNodes),y=m.next();!y.done;y=m.next()){var g=0===(O=y.value).stretch.dir;if(f||g){var b=O.getOuterBBox(g),v=b.h,_=b.d,S=b.rscale;(v*=S)>h&&(h=v),(_*=S)>d&&(d=_)}}}catch(t){r={error:t}}finally{try{y&&!y.done&&(n=m.return)&&n.call(m)}finally{if(r)throw r.error}}try{for(var x=s(a),M=x.next();!M.done;M=x.next()){var O;(O=M.value).coreMO().getStretchedVariant([h,d])}}catch(t){o={error:t}}finally{try{M&&!M.done&&(i=x.return)&&i.call(x)}finally{if(o)throw o.error}}}},e}(t)},e.CommonInferredMrowMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.getScale=function(){this.bbox.scale=this.parent.bbox.scale,this.bbox.rscale=1},e}(t)}},4126:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;othis.surdH?(t.h+t.d-(this.surdH-2*e-r/2))/2:e+r/4]},e.prototype.getRootDimens=function(t,e){return[0,0,0,0]},e}(t)}},905:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMsubsupMixin=e.CommonMsupMixin=e.CommonMsubMixin=void 0,e.CommonMsubMixin=function(t){var e;return e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"scriptChild",{get:function(){return this.childNodes[this.node.sub]},enumerable:!1,configurable:!0}),e.prototype.getOffset=function(){return[0,-this.getV()]},e}(t),e.useIC=!1,e},e.CommonMsupMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"scriptChild",{get:function(){return this.childNodes[this.node.sup]},enumerable:!1,configurable:!0}),e.prototype.getOffset=function(){return[this.getAdjustedIc()-(this.baseRemoveIc?0:this.baseIc),this.getU()]},e}(t)},e.CommonMsubsupMixin=function(t){var e;return e=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.UVQ=null,e}return n(e,t),Object.defineProperty(e.prototype,"subChild",{get:function(){return this.childNodes[this.node.sub]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"supChild",{get:function(){return this.childNodes[this.node.sup]},enumerable:!1,configurable:!0}),e.prototype.computeBBox=function(t,e){void 0===e&&(e=!1);var r=this.baseChild.getOuterBBox(),n=o([this.subChild.getOuterBBox(),this.supChild.getOuterBBox()],2),i=n[0],a=n[1];t.empty(),t.append(r);var s=this.getBaseWidth(),l=this.getAdjustedIc(),c=o(this.getUVQ(),2),u=c[0],p=c[1];t.combine(i,s,p),t.combine(a,s+l,u),t.w+=this.font.params.scriptspace,t.clean(),this.setChildPWidths(e)},e.prototype.getUVQ=function(t,e){void 0===t&&(t=this.subChild.getOuterBBox()),void 0===e&&(e=this.supChild.getOuterBBox());var r=this.baseCore.getOuterBBox();if(this.UVQ)return this.UVQ;var n=this.font.params,i=3*n.rule_thickness,a=this.length2em(this.node.attributes.get("subscriptshift"),n.sub2),s=this.baseCharZero(r.d*this.baseScale+n.sub_drop*t.rscale),l=o([this.getU(),Math.max(s,a)],2),c=l[0],u=l[1],p=c-e.d*e.rscale-(t.h*t.rscale-u);if(p0&&(c+=h,u-=h)}return c=Math.max(this.length2em(this.node.attributes.get("superscriptshift"),c),c),u=Math.max(this.length2em(this.node.attributes.get("subscriptshift"),u),u),p=c-e.d*e.rscale-(t.h*t.rscale-u),this.UVQ=[c,-u,p],this.UVQ},e}(t),e.useIC=!1,e}},6237:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMtableMixin=void 0;var l=r(6469),c=r(505),u=r(7875);e.CommonMtableMixin=function(t){return function(t){function e(){for(var e=[],r=0;r1){if(null===e){e=0;var f=h>1&&h===d;try{for(var m=s(this.tableRows),y=m.next();!y.done;y=m.next()){var g;if(g=y.value.getChild(t)){var b=0===(x=g.childNodes[0]).stretch.dir;if(f||b){var v=x.getBBox(b).w;v>e&&(e=v)}}}}catch(t){o={error:t}}finally{try{y&&!y.done&&(i=m.return)&&i.call(m)}finally{if(o)throw o.error}}}try{for(var _=s(c),S=_.next();!S.done;S=_.next()){var x;(x=S.value).coreMO().getStretchedVariant([e])}}catch(t){a={error:t}}finally{try{S&&!S.done&&(l=_.return)&&l.call(_)}finally{if(a)throw a.error}}}},e.prototype.getTableData=function(){if(this.data)return this.data;for(var t=new Array(this.numRows).fill(0),e=new Array(this.numRows).fill(0),r=new Array(this.numCols).fill(0),n=new Array(this.numRows),o=new Array(this.numRows),i=[0],a=this.tableRows,s=0;so[r]&&(o[r]=c),u>i[r]&&(i[r]=u),d>s&&(s=d),a&&p>a[e]&&(a[e]=p),s},e.prototype.extendHD=function(t,e,r,n){var o=(n-(e[t]+r[t]))/2;o<1e-5||(e[t]+=o,r[t]+=o)},e.prototype.recordPWidthCell=function(t,e){t.childNodes[0]&&t.childNodes[0].getBBox().pwidth&&this.pwidthCells.push([t,e])},e.prototype.computeBBox=function(t,e){void 0===e&&(e=!1);var r,n,o=this.getTableData(),a=o.H,s=o.D;if(this.node.attributes.get("equalrows")){var l=this.getEqualRowHeight();r=(0,u.sum)([].concat(this.rLines,this.rSpace))+l*this.numRows}else r=(0,u.sum)(a.concat(s,this.rLines,this.rSpace));r+=2*(this.fLine+this.fSpace[1]);var p=this.getComputedWidths();n=(0,u.sum)(p.concat(this.cLines,this.cSpace))+2*(this.fLine+this.fSpace[0]);var h=this.node.attributes.get("width");"auto"!==h&&(n=Math.max(this.length2em(h,0)+2*this.fLine,n));var d=i(this.getBBoxHD(r),2),f=d[0],m=d[1];t.h=f,t.d=m,t.w=n;var y=i(this.getBBoxLR(),2),g=y[0],b=y[1];t.L=g,t.R=b,(0,c.isPercent)(h)||this.setColumnPWidths()},e.prototype.setChildPWidths=function(t,e,r){var n=this.node.attributes.get("width");if(!(0,c.isPercent)(n))return!1;this.hasLabels||(this.bbox.pwidth="",this.container.bbox.pwidth="");var o=this.bbox,i=o.w,a=o.L,s=o.R,l=this.node.attributes.get("data-width-includes-label"),p=Math.max(i,this.length2em(n,Math.max(e,a+i+s)))-(l?a+s:0),h=this.node.attributes.get("equalcolumns")?Array(this.numCols).fill(this.percent(1/Math.max(1,this.numCols))):this.getColumnAttributes("columnwidth",0);this.cWidths=this.getColumnWidthsFixed(h,p);var d=this.getComputedWidths();return this.pWidth=(0,u.sum)(d.concat(this.cLines,this.cSpace))+2*(this.fLine+this.fSpace[0]),this.isTop&&(this.bbox.w=this.pWidth),this.setColumnPWidths(),this.pWidth!==i&&this.parent.invalidateBBox(),this.pWidth!==i},e.prototype.setColumnPWidths=function(){var t,e,r=this.cWidths;try{for(var n=s(this.pwidthCells),o=n.next();!o.done;o=n.next()){var a=i(o.value,2),l=a[0],c=a[1];l.setChildPWidths(!1,r[c])&&(l.invalidateBBox(),l.getBBox())}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},e.prototype.getBBoxHD=function(t){var e=i(this.getAlignmentRow(),2),r=e[0],n=e[1];if(null===n){var o=this.font.params.axis_height,a=t/2;return{top:[0,t],center:[a,a],bottom:[t,0],baseline:[a,a],axis:[a+o,a-o]}[r]||[a,a]}var s=this.getVerticalPosition(n,r);return[s,t-s]},e.prototype.getBBoxLR=function(){if(this.hasLabels){var t=this.node.attributes,e=t.get("side"),r=i(this.getPadAlignShift(e),2),n=r[0],o=r[1],a=this.hasLabels&&!!t.get("data-width-includes-label");return a&&this.frame&&this.fSpace[0]&&(n-=this.fSpace[0]),"center"!==o||a?"left"===e?[n,0]:[0,n]:[n,n]}return[0,0]},e.prototype.getPadAlignShift=function(t){var e=this.getTableData().L+this.length2em(this.node.attributes.get("minlabelspacing")),r=i(null==this.styles?["",""]:[this.styles.get("padding-left"),this.styles.get("padding-right")],2),n=r[0],o=r[1];(n||o)&&(e=Math.max(e,this.length2em(n||"0"),this.length2em(o||"0")));var a=i(this.getAlignShift(),2),s=a[0],l=a[1];return s===t&&(l="left"===t?Math.max(e,l)-e:Math.min(-e,l)+e),[e,s,l]},e.prototype.getAlignShift=function(){return this.isTop?t.prototype.getAlignShift.call(this):[this.container.getChildAlign(this.containerI),0]},e.prototype.getWidth=function(){return this.pWidth||this.getBBox().w},e.prototype.getEqualRowHeight=function(){var t=this.getTableData(),e=t.H,r=t.D,n=Array.from(e.keys()).map((function(t){return e[t]+r[t]}));return Math.max.apply(Math,n)},e.prototype.getComputedWidths=function(){var t=this,e=this.getTableData().W,r=Array.from(e.keys()).map((function(r){return"number"==typeof t.cWidths[r]?t.cWidths[r]:e[r]}));return this.node.attributes.get("equalcolumns")&&(r=Array(r.length).fill((0,u.max)(r))),r},e.prototype.getColumnWidths=function(){var t=this.node.attributes.get("width");if(this.node.attributes.get("equalcolumns"))return this.getEqualColumns(t);var e=this.getColumnAttributes("columnwidth",0);return"auto"===t?this.getColumnWidthsAuto(e):(0,c.isPercent)(t)?this.getColumnWidthsPercent(e):this.getColumnWidthsFixed(e,this.length2em(t))},e.prototype.getEqualColumns=function(t){var e,r=Math.max(1,this.numCols);if("auto"===t){var n=this.getTableData().W;e=(0,u.max)(n)}else if((0,c.isPercent)(t))e=this.percent(1/r);else{var o=(0,u.sum)([].concat(this.cLines,this.cSpace))+2*this.fSpace[0];e=Math.max(0,this.length2em(t)-o)/r}return Array(this.numCols).fill(e)},e.prototype.getColumnWidthsAuto=function(t){var e=this;return t.map((function(t){return"auto"===t||"fit"===t?null:(0,c.isPercent)(t)?t:e.length2em(t)}))},e.prototype.getColumnWidthsPercent=function(t){var e=this,r=t.indexOf("fit")>=0,n=(r?this.getTableData():{W:null}).W;return Array.from(t.keys()).map((function(o){var i=t[o];return"fit"===i?null:"auto"===i?r?n[o]:null:(0,c.isPercent)(i)?i:e.length2em(i)}))},e.prototype.getColumnWidthsFixed=function(t,e){var r=this,n=Array.from(t.keys()),o=n.filter((function(e){return"fit"===t[e]})),i=n.filter((function(e){return"auto"===t[e]})),a=o.length||i.length,s=(a?this.getTableData():{W:null}).W,l=e-(0,u.sum)([].concat(this.cLines,this.cSpace))-2*this.fSpace[0],c=l;n.forEach((function(e){var n=t[e];c-="fit"===n||"auto"===n?s[e]:r.length2em(n,l)}));var p=a&&c>0?c/a:0;return n.map((function(e){var n=t[e];return"fit"===n?s[e]+p:"auto"===n?s[e]+(0===o.length?p:0):r.length2em(n,l)}))},e.prototype.getVerticalPosition=function(t,e){for(var r=this.node.attributes.get("equalrows"),n=this.getTableData(),o=n.H,a=n.D,s=r?this.getEqualRowHeight():0,l=this.getRowHalfSpacing(),c=this.fLine,u=0;uthis.numRows?null:n-1]},e.prototype.getColumnAttributes=function(t,e){void 0===e&&(e=1);var r=this.numCols-e,n=this.getAttributeArray(t);if(0===n.length)return null;for(;n.lengthr&&n.splice(r),n},e.prototype.getRowAttributes=function(t,e){void 0===e&&(e=1);var r=this.numRows-e,n=this.getAttributeArray(t);if(0===n.length)return null;for(;n.lengthr&&n.splice(r),n},e.prototype.getAttributeArray=function(t){var e=this.node.attributes.get(t);return e?(0,c.split)(e):[this.node.attributes.getDefault(t)]},e.prototype.addEm=function(t,e){var r=this;return void 0===e&&(e=1),t?t.map((function(t){return r.em(t/e)})):null},e.prototype.convertLengths=function(t){var e=this;return t?t.map((function(t){return e.length2em(t)})):null},e}(t)}},5164:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMtdMixin=void 0,e.CommonMtdMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"fixesPWidth",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.invalidateBBox=function(){this.bboxComputed=!1},e.prototype.getWrapWidth=function(t){var e=this.parent.parent,r=this.parent,n=this.node.childPosition()-(r.labeled?1:0);return"number"==typeof e.cWidths[n]?e.cWidths[n]:e.getTableData().W[n]},e.prototype.getChildAlign=function(t){return this.node.attributes.get("columnalign")},e}(t)}},6319:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMtextMixin=void 0,e.CommonMtextMixin=function(t){var e;return e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getVariant=function(){var e=this.jax.options,r=this.jax.math.outputData,n=(!!r.merrorFamily||!!e.merrorFont)&&this.node.Parent.isKind("merror");if(r.mtextFamily||e.mtextFont||n){var o=this.node.attributes.get("mathvariant"),i=this.constructor.INHERITFONTS[o]||this.jax.font.getCssFont(o),a=i[0]||(n?r.merrorFamily||e.merrorFont:r.mtextFamily||e.mtextFont);this.variant=this.explicitVariant(a,i[2]?"bold":"",i[1]?"italic":"")}else t.prototype.getVariant.call(this)},e}(t),e.INHERITFONTS={normal:["",!1,!1],bold:["",!1,!0],italic:["",!0,!1],"bold-italic":["",!0,!0]},e}},5766:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonMlabeledtrMixin=e.CommonMtrMixin=void 0,e.CommonMtrMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"fixesPWidth",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"numCells",{get:function(){return this.childNodes.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"labeled",{get:function(){return!1},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tableCells",{get:function(){return this.childNodes},enumerable:!1,configurable:!0}),e.prototype.getChild=function(t){return this.childNodes[t]},e.prototype.getChildBBoxes=function(){return this.childNodes.map((function(t){return t.getBBox()}))},e.prototype.stretchChildren=function(t){var e,r,n,i,a,s;void 0===t&&(t=null);var l=[],c=this.labeled?this.childNodes.slice(1):this.childNodes;try{for(var u=o(c),p=u.next();!p.done;p=u.next()){(E=p.value.childNodes[0]).canStretch(1)&&l.push(E)}}catch(t){e={error:t}}finally{try{p&&!p.done&&(r=u.return)&&r.call(u)}finally{if(e)throw e.error}}var h=l.length,d=this.childNodes.length;if(h&&d>1){if(null===t){var f=0,m=0,y=h>1&&h===d;try{for(var g=o(c),b=g.next();!b.done;b=g.next()){var v=0===(E=b.value.childNodes[0]).stretch.dir;if(y||v){var _=E.getBBox(v),S=_.h,x=_.d;S>f&&(f=S),x>m&&(m=x)}}}catch(t){n={error:t}}finally{try{b&&!b.done&&(i=g.return)&&i.call(g)}finally{if(n)throw n.error}}t=[f,m]}try{for(var M=o(l),O=M.next();!O.done;O=M.next()){var E;(E=O.value).coreMO().getStretchedVariant(t)}}catch(t){a={error:t}}finally{try{O&&!O.done&&(s=M.return)&&s.call(M)}finally{if(a)throw a.error}}}},e}(t)},e.CommonMlabeledtrMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),Object.defineProperty(e.prototype,"numCells",{get:function(){return Math.max(0,this.childNodes.length-1)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"labeled",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tableCells",{get:function(){return this.childNodes.slice(1)},enumerable:!1,configurable:!0}),e.prototype.getChild=function(t){return this.childNodes[t+1]},e.prototype.getChildBBoxes=function(){return this.childNodes.slice(1).map((function(t){return t.getBBox()}))},e}(t)}},1971:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CommonScriptbaseMixin=void 0;var l=r(9007);e.CommonScriptbaseMixin=function(t){var e;return e=function(t){function e(){for(var e=[],r=0;r1){var h=0,d=u>1&&u===p;try{for(var f=s(this.childNodes),m=f.next();!m.done;m=f.next()){var y=0===(x=m.value).stretch.dir;if(d||y){var g=x.getOuterBBox(y),b=g.w,v=g.rscale;b*v>h&&(h=b*v)}}}catch(t){r={error:t}}finally{try{m&&!m.done&&(n=f.return)&&n.call(f)}finally{if(r)throw r.error}}try{for(var _=s(a),S=_.next();!S.done;S=_.next()){var x;(x=S.value).coreMO().getStretchedVariant([h/x.bbox.rscale])}}catch(t){o={error:t}}finally{try{S&&!S.done&&(i=_.return)&&i.call(_)}finally{if(o)throw o.error}}}},e}(t),e.useIC=!0,e}},5806:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0}),e.CommonSemanticsMixin=void 0,e.CommonSemanticsMixin=function(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.computeBBox=function(t,e){if(void 0===e&&(e=!1),this.childNodes.length){var r=this.childNodes[0].getBBox(),n=r.w,o=r.h,i=r.d;t.w=n,t.h=o,t.d=i}},e}(t)}},5920:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__assign||function(){return o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.MJContextMenu=void 0;var s=r(5073),l=r(6186),c=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.mathItem=null,e.annotation="",e.annotationTypes={},e}return o(e,t),e.prototype.post=function(e,r){if(this.mathItem){if(void 0!==r){var n=this.mathItem.inputJax.name,o=this.findID("Show","Original");o.content="MathML"===n?"Original MathML":n+" Commands",this.findID("Copy","Original").content=o.content;var i=this.findID("Settings","semantics");"MathML"===n?i.disable():i.enable(),this.getAnnotationMenu(),this.dynamicSubmenus()}t.prototype.post.call(this,e,r)}},e.prototype.unpost=function(){t.prototype.unpost.call(this),this.mathItem=null},e.prototype.findID=function(){for(var t,e,r=[],n=0;n=0)return s}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return null},e.prototype.createAnnotationMenu=function(t,e,r){var n=this,o=this.findID(t,"Annotation");o.submenu=this.factory.get("subMenu")(this.factory,{items:e.map((function(t){var e=a(t,2),o=e[0],i=e[1];return{type:"command",id:o,content:o,action:function(){n.annotation=i,r()}}})),id:"annotations"},o),e.length?o.enable():o.disable()},e.prototype.dynamicSubmenus=function(){var t,r;try{for(var n=i(e.DynamicSubmenus),o=n.next();!o.done;o=n.next()){var s=a(o.value,2),l=s[0],c=s[1],u=this.find(l);if(u){var p=c(this,u);u.submenu=p,p.items.length?u.enable():u.disable()}}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},e.DynamicSubmenus=new Map,e}(s.ContextMenu);e.MJContextMenu=c},8310:function(t,e,r){var n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Menu=void 0;var a=r(5713),s=r(4474),l=r(9515),c=r(7233),u=r(5865),p=r(473),h=r(4414),d=r(4922),f=r(6914),m=r(3463),y=r(7309),g=i(r(5445)),b=l.MathJax,v="undefined"!=typeof window&&window.navigator&&"Mac"===window.navigator.platform.substr(0,3),_=function(){function t(t,e){void 0===e&&(e={});var r=this;this.settings=null,this.defaultSettings=null,this.menu=null,this.MmlVisitor=new p.MmlVisitor,this.jax={CHTML:null,SVG:null},this.rerenderStart=s.STATE.LAST,this.about=new d.Info('MathJax v'+a.mathjax.version,(function(){var t=[];return t.push("Input Jax: "+r.document.inputJax.map((function(t){return t.name})).join(", ")),t.push("Output Jax: "+r.document.outputJax.name),t.push("Document Type: "+r.document.kind),t.join("
    ")}),'
    www.mathjax.org'),this.help=new d.Info("MathJax Help",(function(){return["

    MathJax is a JavaScript library that allows page"," authors to include mathematics within their web pages."," As a reader, you don't need to do anything to make that happen.

    ","

    Browsers: MathJax works with all modern browsers including"," Edge, Firefox, Chrome, Safari, Opera, and most mobile browsers.

    ","

    Math Menu: MathJax adds a contextual menu to equations."," Right-click or CTRL-click on any mathematics to access the menu.

    ",'
    ',"

    Show Math As: These options allow you to view the formula's"," source markup (as MathML or in its original format).

    ","

    Copy to Clipboard: These options copy the formula's source markup,"," as MathML or in its original format, to the clipboard"," (in browsers that support that).

    ","

    Math Settings: These give you control over features of MathJax,"," such the size of the mathematics, and the mechanism used"," to display equations.

    ","

    Accessibility: MathJax can work with screen"," readers to make mathematics accessible to the visually impaired."," Turn on the explorer to enable generation of speech strings"," and the ability to investigate expressions interactively.

    ","

    Language: This menu lets you select the language used by MathJax"," for its menus and warning messages. (Not yet implemented in version 3.)

    ","
    ","

    Math Zoom: If you are having difficulty reading an"," equation, MathJax can enlarge it to help you see it better, or"," you can scall all the math on the page to make it larger."," Turn these features on in the Math Settings menu.

    ","

    Preferences: MathJax uses your browser's localStorage database"," to save the preferences set via this menu locally in your browser. These"," are not used to track you, and are not transferred or used remotely by"," MathJax in any way.

    "].join("\n")}),'www.mathjax.org'),this.mathmlCode=new h.SelectableInfo("MathJax MathML Expression",(function(){if(!r.menu.mathItem)return"";var t=r.toMML(r.menu.mathItem);return"
    "+r.formatSource(t)+"
    "}),""),this.originalText=new h.SelectableInfo("MathJax Original Source",(function(){if(!r.menu.mathItem)return"";var t=r.menu.mathItem.math;return'
    '+r.formatSource(t)+"
    "}),""),this.annotationText=new h.SelectableInfo("MathJax Annotation Text",(function(){if(!r.menu.mathItem)return"";var t=r.menu.annotation;return'
    '+r.formatSource(t)+"
    "}),""),this.zoomBox=new d.Info("MathJax Zoomed Expression",(function(){if(!r.menu.mathItem)return"";var t=r.menu.mathItem.typesetRoot.cloneNode(!0);return t.style.margin="0",'
    '+t.outerHTML+"
    "}),""),this.document=t,this.options=(0,c.userOptions)((0,c.defaultOptions)({},this.constructor.OPTIONS),e),this.initSettings(),this.mergeUserSettings(),this.initMenu(),this.applySettings()}return Object.defineProperty(t.prototype,"isLoading",{get:function(){return t.loading>0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loadingPromise",{get:function(){return this.isLoading?(t._loadingPromise||(t._loadingPromise=new Promise((function(e,r){t._loadingOK=e,t._loadingFailed=r}))),t._loadingPromise):Promise.resolve()},enumerable:!1,configurable:!0}),t.prototype.initSettings=function(){this.settings=this.options.settings,this.jax=this.options.jax;var t=this.document.outputJax;this.jax[t.name]=t,this.settings.renderer=t.name,b._.a11y&&b._.a11y.explorer&&Object.assign(this.settings,this.document.options.a11y),this.settings.scale=t.options.scale,this.defaultSettings=Object.assign({},this.settings)},t.prototype.initMenu=function(){var t=this,e=new f.Parser([["contextMenu",u.MJContextMenu.fromJson.bind(u.MJContextMenu)]]);this.menu=e.parse({type:"contextMenu",id:"MathJax_Menu",pool:[this.variable("texHints"),this.variable("semantics"),this.variable("zoom"),this.variable("zscale"),this.variable("renderer",(function(e){return t.setRenderer(e)})),this.variable("alt"),this.variable("cmd"),this.variable("ctrl"),this.variable("shift"),this.variable("scale",(function(e){return t.setScale(e)})),this.variable("explorer",(function(e){return t.setExplorer(e)})),this.a11yVar("highlight"),this.a11yVar("backgroundColor"),this.a11yVar("backgroundOpacity"),this.a11yVar("foregroundColor"),this.a11yVar("foregroundOpacity"),this.a11yVar("speech"),this.a11yVar("subtitles"),this.a11yVar("braille"),this.a11yVar("viewBraille"),this.a11yVar("locale",(function(t){return g.default.setupEngine({locale:t})})),this.a11yVar("speechRules",(function(e){var r=n(e.split("-"),2),o=r[0],i=r[1];t.document.options.sre.domain=o,t.document.options.sre.style=i})),this.a11yVar("magnification"),this.a11yVar("magnify"),this.a11yVar("treeColoring"),this.a11yVar("infoType"),this.a11yVar("infoRole"),this.a11yVar("infoPrefix"),this.variable("autocollapse"),this.variable("collapsible",(function(e){return t.setCollapsible(e)})),this.variable("inTabOrder",(function(e){return t.setTabOrder(e)})),this.variable("assistiveMml",(function(e){return t.setAssistiveMml(e)}))],items:[this.submenu("Show","Show Math As",[this.command("MathMLcode","MathML Code",(function(){return t.mathmlCode.post()})),this.command("Original","Original Form",(function(){return t.originalText.post()})),this.submenu("Annotation","Annotation")]),this.submenu("Copy","Copy to Clipboard",[this.command("MathMLcode","MathML Code",(function(){return t.copyMathML()})),this.command("Original","Original Form",(function(){return t.copyOriginal()})),this.submenu("Annotation","Annotation")]),this.rule(),this.submenu("Settings","Math Settings",[this.submenu("Renderer","Math Renderer",this.radioGroup("renderer",[["CHTML"],["SVG"]])),this.rule(),this.submenu("ZoomTrigger","Zoom Trigger",[this.command("ZoomNow","Zoom Once Now",(function(){return t.zoom(null,"",t.menu.mathItem)})),this.rule(),this.radioGroup("zoom",[["Click"],["DoubleClick","Double-Click"],["NoZoom","No Zoom"]]),this.rule(),this.label("TriggerRequires","Trigger Requires:"),this.checkbox(v?"Option":"Alt",v?"Option":"Alt","alt"),this.checkbox("Command","Command","cmd",{hidden:!v}),this.checkbox("Control","Control","ctrl",{hiddne:v}),this.checkbox("Shift","Shift","shift")]),this.submenu("ZoomFactor","Zoom Factor",this.radioGroup("zscale",[["150%"],["175%"],["200%"],["250%"],["300%"],["400%"]])),this.rule(),this.command("Scale","Scale All Math...",(function(){return t.scaleAllMath()})),this.rule(),this.checkbox("texHints","Add TeX hints to MathML","texHints"),this.checkbox("semantics","Add original as annotation","semantics"),this.rule(),this.command("Reset","Reset to defaults",(function(){return t.resetDefaults()}))]),this.submenu("Accessibility","Accessibility",[this.checkbox("Activate","Activate","explorer"),this.submenu("Speech","Speech",[this.checkbox("Speech","Speech Output","speech"),this.checkbox("Subtitles","Speech Subtitles","subtitles"),this.checkbox("Braille","Braille Output","braille"),this.checkbox("View Braille","Braille Subtitles","viewBraille"),this.rule(),this.submenu("A11yLanguage","Language"),this.rule(),this.submenu("Mathspeak","Mathspeak Rules",this.radioGroup("speechRules",[["mathspeak-default","Verbose"],["mathspeak-brief","Brief"],["mathspeak-sbrief","Superbrief"]])),this.submenu("Clearspeak","Clearspeak Rules",this.radioGroup("speechRules",[["clearspeak-default","Auto"]])),this.submenu("ChromeVox","ChromeVox Rules",this.radioGroup("speechRules",[["chromevox-default","Standard"],["chromevox-alternative","Alternative"]]))]),this.submenu("Highlight","Highlight",[this.submenu("Background","Background",this.radioGroup("backgroundColor",[["Blue"],["Red"],["Green"],["Yellow"],["Cyan"],["Magenta"],["White"],["Black"]])),{type:"slider",variable:"backgroundOpacity",content:" "},this.submenu("Foreground","Foreground",this.radioGroup("foregroundColor",[["Black"],["White"],["Magenta"],["Cyan"],["Yellow"],["Green"],["Red"],["Blue"]])),{type:"slider",variable:"foregroundOpacity",content:" "},this.rule(),this.radioGroup("highlight",[["None"],["Hover"],["Flame"]]),this.rule(),this.checkbox("TreeColoring","Tree Coloring","treeColoring")]),this.submenu("Magnification","Magnification",[this.radioGroup("magnification",[["None"],["Keyboard"],["Mouse"]]),this.rule(),this.radioGroup("magnify",[["200%"],["300%"],["400%"],["500%"]])]),this.submenu("Semantic Info","Semantic Info",[this.checkbox("Type","Type","infoType"),this.checkbox("Role","Role","infoRole"),this.checkbox("Prefix","Prefix","infoPrefix")],!0),this.rule(),this.checkbox("Collapsible","Collapsible Math","collapsible"),this.checkbox("AutoCollapse","Auto Collapse","autocollapse",{disabled:!0}),this.rule(),this.checkbox("InTabOrder","Include in Tab Order","inTabOrder"),this.checkbox("AssistiveMml","Include Hidden MathML","assistiveMml")]),this.submenu("Language","Language"),this.rule(),this.command("About","About MathJax",(function(){return t.about.post()})),this.command("Help","MathJax Help",(function(){return t.help.post()}))]});var r=this.menu;this.about.attachMenu(r),this.help.attachMenu(r),this.originalText.attachMenu(r),this.annotationText.attachMenu(r),this.mathmlCode.attachMenu(r),this.zoomBox.attachMenu(r),this.checkLoadableItems(),this.enableExplorerItems(this.settings.explorer),r.showAnnotation=this.annotationText,r.copyAnnotation=this.copyAnnotation.bind(this),r.annotationTypes=this.options.annotationTypes,y.CssStyles.addInfoStyles(this.document.document),y.CssStyles.addMenuStyles(this.document.document)},t.prototype.checkLoadableItems=function(){var t,e;if(b&&b._&&b.loader&&b.startup)!this.settings.collapsible||b._.a11y&&b._.a11y.complexity||this.loadA11y("complexity"),!this.settings.explorer||b._.a11y&&b._.a11y.explorer||this.loadA11y("explorer"),!this.settings.assistiveMml||b._.a11y&&b._.a11y["assistive-mml"]||this.loadA11y("assistive-mml");else{var r=this.menu;try{for(var n=o(Object.keys(this.jax)),i=n.next();!i.done;i=n.next()){var a=i.value;this.jax[a]||r.findID("Settings","Renderer",a).disable()}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}r.findID("Accessibility","Activate").disable(),r.findID("Accessibility","AutoCollapse").disable(),r.findID("Accessibility","Collapsible").disable()}},t.prototype.enableExplorerItems=function(t){var e,r,n=this.menu.findID("Accessibility","Activate").menu;try{for(var i=o(n.items.slice(1)),a=i.next();!a.done;a=i.next()){var s=a.value;if(s instanceof m.Rule)break;t?s.enable():s.disable()}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},t.prototype.mergeUserSettings=function(){try{var e=localStorage.getItem(t.MENU_STORAGE);if(!e)return;Object.assign(this.settings,JSON.parse(e)),this.setA11y(this.settings)}catch(t){console.log("MathJax localStorage error: "+t.message)}},t.prototype.saveUserSettings=function(){var e,r,n={};try{for(var i=o(Object.keys(this.settings)),a=i.next();!a.done;a=i.next()){var s=a.value;this.settings[s]!==this.defaultSettings[s]&&(n[s]=this.settings[s])}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}try{Object.keys(n).length?localStorage.setItem(t.MENU_STORAGE,JSON.stringify(n)):localStorage.removeItem(t.MENU_STORAGE)}catch(t){console.log("MathJax localStorage error: "+t.message)}},t.prototype.setA11y=function(t){b._.a11y&&b._.a11y.explorer&&b._.a11y.explorer_ts.setA11yOptions(this.document,t)},t.prototype.getA11y=function(t){if(b._.a11y&&b._.a11y.explorer)return void 0!==this.document.options.a11y[t]?this.document.options.a11y[t]:this.document.options.sre[t]},t.prototype.applySettings=function(){this.setTabOrder(this.settings.inTabOrder),this.document.options.enableAssistiveMml=this.settings.assistiveMml,this.document.outputJax.options.scale=parseFloat(this.settings.scale),this.settings.renderer!==this.defaultSettings.renderer&&this.setRenderer(this.settings.renderer)},t.prototype.setScale=function(t){this.document.outputJax.options.scale=parseFloat(t),this.document.rerender()},t.prototype.setRenderer=function(t){var e=this;if(this.jax[t])this.setOutputJax(t);else{var r=t.toLowerCase();this.loadComponent("output/"+r,(function(){var n=b.startup;r in n.constructors&&(n.useOutput(r,!0),n.output=n.getOutputJax(),e.jax[t]=n.output,e.setOutputJax(t))}))}},t.prototype.setOutputJax=function(t){this.jax[t].setAdaptor(this.document.adaptor),this.document.outputJax=this.jax[t],this.rerender()},t.prototype.setTabOrder=function(t){this.menu.store.inTaborder(t)},t.prototype.setAssistiveMml=function(t){this.document.options.enableAssistiveMml=t,!t||b._.a11y&&b._.a11y["assistive-mml"]?this.rerender():this.loadA11y("assistive-mml")},t.prototype.setExplorer=function(t){this.enableExplorerItems(t),this.document.options.enableExplorer=t,!t||b._.a11y&&b._.a11y.explorer?this.rerender(this.settings.collapsible?s.STATE.RERENDER:s.STATE.COMPILED):this.loadA11y("explorer")},t.prototype.setCollapsible=function(t){this.document.options.enableComplexity=t,!t||b._.a11y&&b._.a11y.complexity?this.rerender(s.STATE.COMPILED):this.loadA11y("complexity")},t.prototype.scaleAllMath=function(){var t=(100*parseFloat(this.settings.scale)).toFixed(1).replace(/.0$/,""),e=prompt("Scale all mathematics (compared to surrounding text) by",t+"%");if(e)if(e.match(/^\s*\d+(\.\d*)?\s*%?\s*$/)){var r=parseFloat(e)/100;r?this.menu.pool.lookup("scale").setValue(String(r)):alert("The scale should not be zero")}else alert("The scale should be a percentage (e.g., 120%)")},t.prototype.resetDefaults=function(){var e,r;t.loading++;var n=this.menu.pool,i=this.defaultSettings;try{for(var a=o(Object.keys(this.settings)),l=a.next();!l.done;l=a.next()){var c=l.value,u=n.lookup(c);if(u){u.setValue(i[c]);var p=u.items[0];p&&p.executeCallbacks_()}else this.settings[c]=i[c]}}catch(t){e={error:t}}finally{try{l&&!l.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}t.loading--,this.rerender(s.STATE.COMPILED)},t.prototype.checkComponent=function(e){var r=t.loadingPromises.get(e);r&&a.mathjax.retryAfter(r)},t.prototype.loadComponent=function(e,r){if(!t.loadingPromises.has(e)){var n=b.loader;if(n){t.loading++;var o=n.load(e).then((function(){t.loading--,t.loadingPromises.delete(e),r(),0===t.loading&&t._loadingPromise&&(t._loadingPromise=null,t._loadingOK())})).catch((function(e){t._loadingPromise?(t._loadingPromise=null,t._loadingFailed(e)):console.log(e)}));t.loadingPromises.set(e,o)}}},t.prototype.loadA11y=function(e){var r=this,n=!s.STATE.ENRICHED;this.loadComponent("a11y/"+e,(function(){var o=b.startup;a.mathjax.handlers.unregister(o.handler),o.handler=o.getHandler(),a.mathjax.handlers.register(o.handler);var i=r.document;r.document=o.document=o.getDocument(),r.document.menu=r,r.document.outputJax.reset(),r.transferMathList(i),r.document.processed=i.processed,t._loadingPromise||(r.document.outputJax.reset(),r.rerender("complexity"===e||n?s.STATE.COMPILED:s.STATE.TYPESET))}))},t.prototype.transferMathList=function(t){var e,r,n=this.document.options.MathItem;try{for(var i=o(t.math),a=i.next();!a.done;a=i.next()){var s=a.value,l=new n;Object.assign(l,s),this.document.math.push(l)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},t.prototype.formatSource=function(t){return t.trim().replace(/&/g,"&").replace(//g,">")},t.prototype.toMML=function(t){return this.MmlVisitor.visitTree(t.root,t,{texHints:this.settings.texHints,semantics:this.settings.semantics&&"MathML"!==t.inputJax.name})},t.prototype.zoom=function(t,e,r){t&&!this.isZoomEvent(t,e)||(this.menu.mathItem=r,t&&this.menu.post(t),this.zoomBox.post())},t.prototype.isZoomEvent=function(t,e){return this.settings.zoom===e&&(!this.settings.alt||t.altKey)&&(!this.settings.ctrl||t.ctrlKey)&&(!this.settings.cmd||t.metaKey)&&(!this.settings.shift||t.shiftKey)},t.prototype.rerender=function(e){void 0===e&&(e=s.STATE.TYPESET),this.rerenderStart=Math.min(e,this.rerenderStart),t.loading||(this.rerenderStart<=s.STATE.COMPILED&&this.document.reset({inputJax:[]}),this.document.rerender(this.rerenderStart),this.rerenderStart=s.STATE.LAST)},t.prototype.copyMathML=function(){this.copyToClipboard(this.toMML(this.menu.mathItem))},t.prototype.copyOriginal=function(){this.copyToClipboard(this.menu.mathItem.math.trim())},t.prototype.copyAnnotation=function(){this.copyToClipboard(this.menu.annotation.trim())},t.prototype.copyToClipboard=function(t){var e=document.createElement("textarea");e.value=t,e.setAttribute("readonly",""),e.style.cssText="height: 1px; width: 1px; padding: 1px; position: absolute; left: -10px",document.body.appendChild(e),e.select();try{document.execCommand("copy")}catch(t){alert("Can't copy to clipboard: "+t.message)}document.body.removeChild(e)},t.prototype.addMenu=function(t){var e=this,r=t.typesetRoot;r.addEventListener("contextmenu",(function(){return e.menu.mathItem=t}),!0),r.addEventListener("keydown",(function(){return e.menu.mathItem=t}),!0),r.addEventListener("click",(function(r){return e.zoom(r,"Click",t)}),!0),r.addEventListener("dblclick",(function(r){return e.zoom(r,"DoubleClick",t)}),!0),this.menu.store.insert(r)},t.prototype.clear=function(){this.menu.store.clear()},t.prototype.variable=function(t,e){var r=this;return{name:t,getter:function(){return r.settings[t]},setter:function(n){r.settings[t]=n,e&&e(n),r.saveUserSettings()}}},t.prototype.a11yVar=function(t,e){var r=this;return{name:t,getter:function(){return r.getA11y(t)},setter:function(n){r.settings[t]=n;var o={};o[t]=n,r.setA11y(o),e&&e(n),r.saveUserSettings()}}},t.prototype.submenu=function(t,e,r,n){var i,a;void 0===r&&(r=[]),void 0===n&&(n=!1);var s=[];try{for(var l=o(r),c=l.next();!c.done;c=l.next()){var u=c.value;Array.isArray(u)?s=s.concat(u):s.push(u)}}catch(t){i={error:t}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(i)throw i.error}}return{type:"submenu",id:t,content:e,menu:{items:s},disabled:0===s.length||n}},t.prototype.command=function(t,e,r,n){return void 0===n&&(n={}),Object.assign({type:"command",id:t,content:e,action:r},n)},t.prototype.checkbox=function(t,e,r,n){return void 0===n&&(n={}),Object.assign({type:"checkbox",id:t,content:e,variable:r},n)},t.prototype.radioGroup=function(t,e){var r=this;return e.map((function(e){return r.radio(e[0],e[1]||e[0],t)}))},t.prototype.radio=function(t,e,r,n){return void 0===n&&(n={}),Object.assign({type:"radio",id:t,content:e,variable:r},n)},t.prototype.label=function(t,e){return{type:"label",id:t,content:e}},t.prototype.rule=function(){return{type:"rule"}},t.MENU_STORAGE="MathJax-Menu-Settings",t.OPTIONS={settings:{texHints:!0,semantics:!1,zoom:"NoZoom",zscale:"200%",renderer:"CHTML",alt:!1,cmd:!1,ctrl:!1,shift:!1,scale:1,autocollapse:!1,collapsible:!1,inTabOrder:!0,assistiveMml:!0,explorer:!1},jax:{CHTML:null,SVG:null},annotationTypes:(0,c.expandable)({TeX:["TeX","LaTeX","application/x-tex"],StarMath:["StarMath 5.0"],Maple:["Maple"],ContentMathML:["MathML-Content","application/mathml-content+xml"],OpenMath:["OpenMath"]})},t.loading=0,t.loadingPromises=new Map,t._loadingPromise=null,t._loadingOK=null,t._loadingFailed=null,t}();e.Menu=_},4001:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MenuHandler=e.MenuMathDocumentMixin=e.MenuMathItemMixin=void 0;var c=r(5713),u=r(4474),p=r(7233),h=r(8310);function d(t){return function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.addMenu=function(t,e){void 0===e&&(e=!1),this.state()>=u.STATE.CONTEXT_MENU||(this.isEscaped||!t.options.enableMenu&&!e||t.menu.addMenu(this),this.state(u.STATE.CONTEXT_MENU))},e.prototype.checkLoading=function(t){t.checkLoading()},e}(t)}function f(t){var e;return e=function(t){function e(){for(var e=[],r=0;r\n"+this.childNodeMml(e,r+" ","\n")+r+""},e.prototype.visitMathNode=function(e,r){if(!this.options.semantics||"TeX"!==this.mathItem.inputJax.name)return t.prototype.visitDefault.call(this,e,r);var n=e.childNodes.length&&e.childNodes[0].childNodes.length>1;return r+"\n"+r+" \n"+(n?r+" \n":"")+this.childNodeMml(e,r+(n?" ":" "),"\n")+(n?r+" \n":"")+r+' '+this.mathItem.math+"\n"+r+" \n"+r+""},e}(i.SerializedMmlVisitor);e.MmlVisitor=s},4414:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.SelectableInfo=void 0;var i=r(4922),a=r(2165),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.addEvents=function(t){var e=this;t.addEventListener("keypress",(function(t){"a"===t.key&&(t.ctrlKey||t.metaKey)&&(e.selectAll(),e.stop(t))}))},e.prototype.selectAll=function(){document.getSelection().selectAllChildren(this.html.querySelector("pre"))},e.prototype.copyToClipboard=function(){this.selectAll();try{document.execCommand("copy")}catch(t){alert("Can't copy to clipboard: "+t.message)}document.getSelection().removeAllRanges()},e.prototype.generateHtml=function(){var e=this;t.prototype.generateHtml.call(this);var r=this.html.querySelector("span."+a.HtmlClasses.INFOSIGNATURE).appendChild(document.createElement("input"));r.type="button",r.value="Copy to Clipboard",r.addEventListener("click",(function(t){return e.copyToClipboard()}))},e}(i.Info);e.SelectableInfo=s},9923:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.asyncLoad=void 0;var n=r(5713);e.asyncLoad=function(t){return n.mathjax.asyncLoad?new Promise((function(e,r){var o=n.mathjax.asyncLoad(t);o instanceof Promise?o.then((function(t){return e(t)})).catch((function(t){return r(t)})):e(o)})):Promise.reject("Can't load '".concat(t,"': No asyncLoad method specified"))}},6469:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.BBox=void 0;var n=r(6010),o=function(){function t(t){void 0===t&&(t={w:0,h:-n.BIGDIMEN,d:-n.BIGDIMEN}),this.w=t.w||0,this.h="h"in t?t.h:-n.BIGDIMEN,this.d="d"in t?t.d:-n.BIGDIMEN,this.L=this.R=this.ic=this.sk=this.dx=0,this.scale=this.rscale=1,this.pwidth=""}return t.zero=function(){return new t({h:0,d:0,w:0})},t.empty=function(){return new t},t.prototype.empty=function(){return this.w=0,this.h=this.d=-n.BIGDIMEN,this},t.prototype.clean=function(){this.w===-n.BIGDIMEN&&(this.w=0),this.h===-n.BIGDIMEN&&(this.h=0),this.d===-n.BIGDIMEN&&(this.d=0)},t.prototype.rescale=function(t){this.w*=t,this.h*=t,this.d*=t},t.prototype.combine=function(t,e,r){void 0===e&&(e=0),void 0===r&&(r=0);var n=t.rscale,o=e+n*(t.w+t.L+t.R),i=r+n*t.h,a=n*t.d-r;o>this.w&&(this.w=o),i>this.h&&(this.h=i),a>this.d&&(this.d=a)},t.prototype.append=function(t){var e=t.rscale;this.w+=e*(t.w+t.L+t.R),e*t.h>this.h&&(this.h=e*t.h),e*t.d>this.d&&(this.d=e*t.d)},t.prototype.updateFrom=function(t){this.h=t.h,this.d=t.d,this.w=t.w,t.pwidth&&(this.pwidth=t.pwidth)},t.fullWidth="100%",t.StyleAdjust=[["borderTopWidth","h"],["borderRightWidth","w"],["borderBottomWidth","d"],["borderLeftWidth","w",0],["paddingTop","h"],["paddingRight","w"],["paddingBottom","d"],["paddingLeft","w",0]],t}();e.BBox=o},6751:function(t,e){var r,n=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},i=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},a=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o",gtdot:"\u22d7",harrw:"\u21ad",hbar:"\u210f",hellip:"\u2026",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",imath:"\u0131",infin:"\u221e",intcal:"\u22ba",iota:"\u03b9",jmath:"\u0237",kappa:"\u03ba",kappav:"\u03f0",lEg:"\u2a8b",lambda:"\u03bb",lap:"\u2a85",larrlp:"\u21ab",larrtl:"\u21a2",lbrace:"{",lbrack:"[",le:"\u2264",leftleftarrows:"\u21c7",leftthreetimes:"\u22cb",lessdot:"\u22d6",lmoust:"\u23b0",lnE:"\u2268",lnap:"\u2a89",lne:"\u2a87",lnsim:"\u22e6",longmapsto:"\u27fc",looparrowright:"\u21ac",lowast:"\u2217",loz:"\u25ca",lt:"<",ltimes:"\u22c9",ltri:"\u25c3",macr:"\xaf",malt:"\u2720",mho:"\u2127",mu:"\u03bc",multimap:"\u22b8",nLeftarrow:"\u21cd",nLeftrightarrow:"\u21ce",nRightarrow:"\u21cf",nVDash:"\u22af",nVdash:"\u22ae",natur:"\u266e",nearr:"\u2197",nharr:"\u21ae",nlarr:"\u219a",not:"\xac",nrarr:"\u219b",nu:"\u03bd",nvDash:"\u22ad",nvdash:"\u22ac",nwarr:"\u2196",omega:"\u03c9",omicron:"\u03bf",or:"\u2228",osol:"\u2298",period:".",phi:"\u03c6",phiv:"\u03d5",pi:"\u03c0",piv:"\u03d6",prap:"\u2ab7",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",prime:"\u2032",psi:"\u03c8",quot:'"',rarrtl:"\u21a3",rbrace:"}",rbrack:"]",rho:"\u03c1",rhov:"\u03f1",rightrightarrows:"\u21c9",rightthreetimes:"\u22cc",ring:"\u02da",rmoust:"\u23b1",rtimes:"\u22ca",rtri:"\u25b9",scap:"\u2ab8",scnE:"\u2ab6",scnap:"\u2aba",scnsim:"\u22e9",sdot:"\u22c5",searr:"\u2198",sect:"\xa7",sharp:"\u266f",sigma:"\u03c3",sigmav:"\u03c2",simne:"\u2246",smile:"\u2323",spades:"\u2660",sub:"\u2282",subE:"\u2ac5",subnE:"\u2acb",subne:"\u228a",supE:"\u2ac6",supnE:"\u2acc",supne:"\u228b",swarr:"\u2199",tau:"\u03c4",theta:"\u03b8",thetav:"\u03d1",tilde:"\u02dc",times:"\xd7",triangle:"\u25b5",triangleq:"\u225c",upsi:"\u03c5",upuparrows:"\u21c8",veebar:"\u22bb",vellip:"\u22ee",weierp:"\u2118",xi:"\u03be",yen:"\xa5",zeta:"\u03b6",zigrarr:"\u21dd",nbsp:"\xa0",rsquo:"\u2019",lsquo:"\u2018"};var i={};function a(t,r){if("#"===r.charAt(0))return s(r.slice(1));if(e.entities[r])return e.entities[r];if(e.options.loadMissingEntities){var a=r.match(/^[a-zA-Z](fr|scr|opf)$/)?RegExp.$1:r.charAt(0).toLowerCase();i[a]||(i[a]=!0,(0,n.retryAfter)((0,o.asyncLoad)("./util/entities/"+a+".js")))}return t}function s(t){var e="x"===t.charAt(0)?parseInt(t.slice(1),16):parseInt(t);return String.fromCodePoint(e)}e.add=function(t,r){Object.assign(e.entities,t),i[r]=!0},e.remove=function(t){delete e.entities[t]},e.translate=function(t){return t.replace(/&([a-z][a-z0-9]*|#(?:[0-9]+|x[0-9a-f]+));/gi,a)},e.numeric=s},7525:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},s=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedList=e.ListItem=e.END=void 0,e.END=Symbol();var a=function(t){void 0===t&&(t=null),this.next=null,this.prev=null,this.data=t};e.ListItem=a;var s=function(){function t(){for(var t=[],r=0;r1;){var c=o.shift(),u=o.shift();c.merge(u,e),o.push(c)}return o.length&&(this.list=o[0].list),this},t.prototype.merge=function(t,r){var o,i,a,s,l;void 0===r&&(r=null),null===r&&(r=this.isBefore.bind(this));for(var c=this.list.next,u=t.list.next;c.data!==e.END&&u.data!==e.END;)r(u.data,c.data)?(o=n([c,u],2),u.prev.next=o[0],c.prev.next=o[1],i=n([c.prev,u.prev],2),u.prev=i[0],c.prev=i[1],a=n([t.list,this.list],2),this.list.prev.next=a[0],t.list.prev.next=a[1],s=n([t.list.prev,this.list.prev],2),this.list.prev=s[0],t.list.prev=s[1],c=(l=n([u.next,c],2))[0],u=l[1]):c=c.next;return u.data!==e.END&&(this.list.prev.next=t.list.next,t.list.next.prev=this.list.prev,t.list.prev.next=this.list,this.list.prev=t.list.prev,t.list.next=t.list.prev=t.list),this},t}();e.LinkedList=s},7233:function(t,e){var r=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;oe.length}}}},t.prototype.add=function(e,r){void 0===r&&(r=t.DEFAULTPRIORITY);var n=this.items.length;do{n--}while(n>=0&&r=0&&this.items[e].item!==t);e>=0&&this.items.splice(e,1)},t.DEFAULTPRIORITY=5,t}();e.PrioritizedList=r},4542:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.retryAfter=e.handleRetriesFor=void 0,e.handleRetriesFor=function(t){return new Promise((function e(r,n){try{r(t())}catch(t){t.retry&&t.retry instanceof Promise?t.retry.then((function(){return e(r,n)})).catch((function(t){return n(t)})):t.restart&&t.restart.isCallback?MathJax.Callback.After((function(){return e(r,n)}),t.restart):n(t)}}))},e.retryAfter=function(t){var e=new Error("MathJax retry");throw e.retry=t,e}},4139:function(t,e){var r=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.CssStyles=void 0;var n=function(){function t(t){void 0===t&&(t=null),this.styles={},this.addStyles(t)}return Object.defineProperty(t.prototype,"cssText",{get:function(){return this.getStyleString()},enumerable:!1,configurable:!0}),t.prototype.addStyles=function(t){var e,n;if(t)try{for(var o=r(Object.keys(t)),i=o.next();!i.done;i=o.next()){var a=i.value;this.styles[a]||(this.styles[a]={}),Object.assign(this.styles[a],t[a])}}catch(t){e={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}},t.prototype.removeStyles=function(){for(var t,e,n=[],o=0;o=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},n=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o1;)e.shift(),r.push(e.shift());return r}function l(t){var e,n,o=s(this.styles[t]);0===o.length&&o.push(""),1===o.length&&o.push(o[0]),2===o.length&&o.push(o[0]),3===o.length&&o.push(o[1]);try{for(var i=r(v.connect[t].children),a=i.next();!a.done;a=i.next()){var l=a.value;this.setStyle(this.childName(t,l),o.shift())}}catch(t){e={error:t}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}}function c(t){var e,n,o=v.connect[t].children,i=[];try{for(var a=r(o),s=a.next();!s.done;s=a.next()){var l=s.value,c=this.styles[t+"-"+l];if(!c)return void delete this.styles[t];i.push(c)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}i[3]===i[1]&&(i.pop(),i[2]===i[0]&&(i.pop(),i[1]===i[0]&&i.pop())),this.styles[t]=i.join(" ")}function u(t){var e,n;try{for(var o=r(v.connect[t].children),i=o.next();!i.done;i=o.next()){var a=i.value;this.setStyle(this.childName(t,a),this.styles[t])}}catch(t){e={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}}function p(t){var e,i,a=o([],n(v.connect[t].children),!1),s=this.styles[this.childName(t,a.shift())];try{for(var l=r(a),c=l.next();!c.done;c=l.next()){var u=c.value;if(this.styles[this.childName(t,u)]!==s)return void delete this.styles[t]}}catch(t){e={error:t}}finally{try{c&&!c.done&&(i=l.return)&&i.call(l)}finally{if(e)throw e.error}}this.styles[t]=s}var h=/^(?:[\d.]+(?:[a-z]+)|thin|medium|thick|inherit|initial|unset)$/,d=/^(?:none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset|inherit|initial|unset)$/;function f(t){var e,n,o,i,a={width:"",style:"",color:""};try{for(var l=r(s(this.styles[t])),c=l.next();!c.done;c=l.next()){var u=c.value;u.match(h)&&""===a.width?a.width=u:u.match(d)&&""===a.style?a.style=u:a.color=u}}catch(t){e={error:t}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(e)throw e.error}}try{for(var p=r(v.connect[t].children),f=p.next();!f.done;f=p.next()){var m=f.value;this.setStyle(this.childName(t,m),a[m])}}catch(t){o={error:t}}finally{try{f&&!f.done&&(i=p.return)&&i.call(p)}finally{if(o)throw o.error}}}function m(t){var e,n,o=[];try{for(var i=r(v.connect[t].children),a=i.next();!a.done;a=i.next()){var s=a.value,l=this.styles[this.childName(t,s)];l&&o.push(l)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}o.length?this.styles[t]=o.join(" "):delete this.styles[t]}var y={style:/^(?:normal|italic|oblique|inherit|initial|unset)$/,variant:new RegExp("^(?:"+["normal|none","inherit|initial|unset","common-ligatures|no-common-ligatures","discretionary-ligatures|no-discretionary-ligatures","historical-ligatures|no-historical-ligatures","contextual|no-contextual","(?:stylistic|character-variant|swash|ornaments|annotation)\\([^)]*\\)","small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps","lining-nums|oldstyle-nums|proportional-nums|tabular-nums","diagonal-fractions|stacked-fractions","ordinal|slashed-zero","jis78|jis83|jis90|jis04|simplified|traditional","full-width|proportional-width","ruby"].join("|")+")$"),weight:/^(?:normal|bold|bolder|lighter|[1-9]00|inherit|initial|unset)$/,stretch:new RegExp("^(?:"+["normal","(?:(?:ultra|extra|semi)-)?condensed","(?:(?:semi|extra|ulta)-)?expanded","inherit|initial|unset"].join("|")+")$"),size:new RegExp("^(?:"+["xx-small|x-small|small|medium|large|x-large|xx-large|larger|smaller","[d.]+%|[d.]+[a-z]+","inherit|initial|unset"].join("|")+")(?:/(?:normal|[d.+](?:%|[a-z]+)?))?$")};function g(t){var e,o,i,a,l=s(this.styles[t]),c={style:"",variant:[],weight:"",stretch:"",size:"",family:"","line-height":""};try{for(var u=r(l),p=u.next();!p.done;p=u.next()){var h=p.value;c.family=h;try{for(var d=(i=void 0,r(Object.keys(y))),f=d.next();!f.done;f=d.next()){var m=f.value;if((Array.isArray(c[m])||""===c[m])&&h.match(y[m]))if("size"===m){var g=n(h.split(/\//),2),b=g[0],_=g[1];c[m]=b,_&&(c["line-height"]=_)}else""===c.size&&(Array.isArray(c[m])?c[m].push(h):c[m]=h)}}catch(t){i={error:t}}finally{try{f&&!f.done&&(a=d.return)&&a.call(d)}finally{if(i)throw i.error}}}}catch(t){e={error:t}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(e)throw e.error}}!function(t,e){var n,o;try{for(var i=r(v.connect[t].children),a=i.next();!a.done;a=i.next()){var s=a.value,l=this.childName(t,s);if(Array.isArray(e[s])){var c=e[s];c.length&&(this.styles[l]=c.join(" "))}else""!==e[s]&&(this.styles[l]=e[s])}}catch(t){n={error:t}}finally{try{a&&!a.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}}(t,c),delete this.styles[t]}function b(t){}var v=function(){function t(t){void 0===t&&(t=""),this.parse(t)}return Object.defineProperty(t.prototype,"cssText",{get:function(){var t,e,n=[];try{for(var o=r(Object.keys(this.styles)),i=o.next();!i.done;i=o.next()){var a=i.value,s=this.parentName(a);this.styles[s]||n.push(a+": "+this.styles[a]+";")}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}return n.join(" ")},enumerable:!1,configurable:!0}),t.prototype.set=function(e,r){for(e=this.normalizeName(e),this.setStyle(e,r),t.connect[e]&&!t.connect[e].combine&&(this.combineChildren(e),delete this.styles[e]);e.match(/-/)&&(e=this.parentName(e),t.connect[e]);)t.connect[e].combine.call(this,e)},t.prototype.get=function(t){return t=this.normalizeName(t),this.styles.hasOwnProperty(t)?this.styles[t]:""},t.prototype.setStyle=function(e,r){this.styles[e]=r,t.connect[e]&&t.connect[e].children&&t.connect[e].split.call(this,e),""===r&&delete this.styles[e]},t.prototype.combineChildren=function(e){var n,o,i=this.parentName(e);try{for(var a=r(t.connect[e].children),s=a.next();!s.done;s=a.next()){var l=s.value,c=this.childName(i,l);t.connect[c].combine.call(this,c)}}catch(t){n={error:t}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}},t.prototype.parentName=function(t){var e=t.replace(/-[^-]*$/,"");return t===e?"":e},t.prototype.childName=function(e,r){return r.match(/-/)?r:(t.connect[e]&&!t.connect[e].combine&&(r+=e.replace(/.*-/,"-"),e=this.parentName(e)),e+"-"+r)},t.prototype.normalizeName=function(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))},t.prototype.parse=function(t){void 0===t&&(t="");var e=this.constructor.pattern;this.styles={};for(var r=t.replace(e.comment,"").split(e.style);r.length>1;){var o=n(r.splice(0,3),3),i=o[0],a=o[1],s=o[2];if(i.match(/[^\s\n]/))return;this.set(a,s)}},t.pattern={style:/([-a-z]+)[\s\n]*:[\s\n]*((?:'[^']*'|"[^"]*"|\n|.)*?)[\s\n]*(?:;|$)/g,comment:/\/\*[^]*?\*\//g},t.connect={padding:{children:i,split:l,combine:c},border:{children:i,split:u,combine:p},"border-top":{children:a,split:f,combine:m},"border-right":{children:a,split:f,combine:m},"border-bottom":{children:a,split:f,combine:m},"border-left":{children:a,split:f,combine:m},"border-width":{children:i,split:l,combine:null},"border-style":{children:i,split:l,combine:null},"border-color":{children:i,split:l,combine:null},font:{children:["style","variant","weight","stretch","line-height","size","family"],split:g,combine:b}},t}();e.Styles=v},6010:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.px=e.emRounded=e.em=e.percent=e.length2em=e.MATHSPACE=e.RELUNITS=e.UNITS=e.BIGDIMEN=void 0,e.BIGDIMEN=1e6,e.UNITS={px:1,in:96,cm:96/2.54,mm:96/25.4},e.RELUNITS={em:1,ex:.431,pt:.1,pc:1.2,mu:1/18},e.MATHSPACE={veryverythinmathspace:1/18,verythinmathspace:2/18,thinmathspace:3/18,mediummathspace:4/18,thickmathspace:5/18,verythickmathspace:6/18,veryverythickmathspace:7/18,negativeveryverythinmathspace:-1/18,negativeverythinmathspace:-2/18,negativethinmathspace:-3/18,negativemediummathspace:-4/18,negativethickmathspace:-5/18,negativeverythickmathspace:-6/18,negativeveryverythickmathspace:-7/18,thin:.04,medium:.06,thick:.1,normal:1,big:2,small:1/Math.sqrt(2),infinity:e.BIGDIMEN},e.length2em=function(t,r,n,o){if(void 0===r&&(r=0),void 0===n&&(n=1),void 0===o&&(o=16),"string"!=typeof t&&(t=String(t)),""===t||null==t)return r;if(e.MATHSPACE[t])return e.MATHSPACE[t];var i=t.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/);if(!i)return r;var a=parseFloat(i[1]||"1"),s=i[2];return e.UNITS.hasOwnProperty(s)?a*e.UNITS[s]/o/n:e.RELUNITS.hasOwnProperty(s)?a*e.RELUNITS[s]:"%"===s?a/100*r:a*r},e.percent=function(t){return(100*t).toFixed(1).replace(/\.?0+$/,"")+"%"},e.em=function(t){return Math.abs(t)<.001?"0":t.toFixed(3).replace(/\.?0+$/,"")+"em"},e.emRounded=function(t,e){return void 0===e&&(e=16),t=(Math.round(t*e)+.05)/e,Math.abs(t)<.001?"0em":t.toFixed(3).replace(/\.?0+$/,"")+"em"},e.px=function(t,r,n){return void 0===r&&(r=-e.BIGDIMEN),void 0===n&&(n=16),t*=n,r&&t0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},n=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o0))return s;if(h.revisit||(t=p.remainder),!h.toContinue)break t}}if(a<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(t,e){if(e)if(Array.isArray(e))for(var r=0;r":/^[=<>]/,"#":/^[#\u2261]/,"+":/^\+/,"-$":/^-(?=[\s_},;\]/]|$|\([a-z]+\))/,"-9":/^-(?=[0-9])/,"- orbital overlap":/^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,"-":/^-/,"pm-operator":/^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,operator:/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,arrowUpDown:/^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,"\\bond{(...)}":function(t){return o.patterns.findObserveGroups(t,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(t){return o.patterns.findObserveGroups(t,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(t){return o.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(t){return o.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","")},"\\ca":/^\\ca(?:\s+|(?![a-zA-Z]))/,"\\x":/^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,orbital:/^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,others:/^[\/~|]/,"\\frac{(...)}":function(t){return o.patterns.findObserveGroups(t,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(t){return o.patterns.findObserveGroups(t,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(t){return o.patterns.findObserveGroups(t,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(t){return o.patterns.findObserveGroups(t,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}":function(t){return o.patterns.findObserveGroups(t,"\\color{","","","}")},"\\color{(...)}{(...)}":function(t){return o.patterns.findObserveGroups(t,"\\color{","","","}","{","","","}")||o.patterns.findObserveGroups(t,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(t){return o.patterns.findObserveGroups(t,"\\ce{","","","}")},"\\pu{(...)}":function(t){return o.patterns.findObserveGroups(t,"\\pu{","","","}")},oxidation$:/^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"d-oxidation$":/^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"roman numeral":/^[IVX]+/,"1/2$":/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,amount:function(t){var e;if(e=t.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/))return{match_:e[0],remainder:t.substr(e[0].length)};var r=o.patterns.findObserveGroups(t,"","$","$","");return r&&(e=r.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/))?{match_:e[0],remainder:t.substr(e[0].length)}:null},amount2:function(t){return this.amount(t)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(t){if(t.match(/^\([a-z]+\)$/))return null;var e=t.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return e?{match_:e[0],remainder:t.substr(e[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(t,e,r,n,o,i,a,s,l,c){var u=function(t,e){if("string"==typeof e)return 0!==t.indexOf(e)?null:e;var r=t.match(e);return r?r[0]:null},p=u(t,e);if(null===p)return null;if(t=t.substr(p.length),null===(p=u(t,r)))return null;var h=function(t,e,r){for(var n=0;e2?{match_:n.slice(1),remainder:e.substr(n[0].length)}:{match_:n[1]||n[0],remainder:e.substr(n[0].length)}:null}},actions:{"a=":function(t,e){t.a=(t.a||"")+e},"b=":function(t,e){t.b=(t.b||"")+e},"p=":function(t,e){t.p=(t.p||"")+e},"o=":function(t,e){t.o=(t.o||"")+e},"q=":function(t,e){t.q=(t.q||"")+e},"d=":function(t,e){t.d=(t.d||"")+e},"rm=":function(t,e){t.rm=(t.rm||"")+e},"text=":function(t,e){t.text_=(t.text_||"")+e},insert:function(t,e,r){return{type_:r}},"insert+p1":function(t,e,r){return{type_:r,p1:e}},"insert+p1+p2":function(t,e,r){return{type_:r,p1:e[0],p2:e[1]}},copy:function(t,e){return e},write:function(t,e,r){return r},rm:function(t,e){return{type_:"rm",p1:e}},text:function(t,e){return o.go(e,"text")},"tex-math":function(t,e){return o.go(e,"tex-math")},"tex-math tight":function(t,e){return o.go(e,"tex-math tight")},bond:function(t,e,r){return{type_:"bond",kind_:r||e}},"color0-output":function(t,e){return{type_:"color0",color:e}},ce:function(t,e){return o.go(e,"ce")},pu:function(t,e){return o.go(e,"pu")},"1/2":function(t,e){var r=[];e.match(/^[+\-]/)&&(r.push(e.substr(0,1)),e=e.substr(1));var n=e.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/);return n[1]=n[1].replace(/\$/g,""),r.push({type_:"frac",p1:n[1],p2:n[2]}),n[3]&&(n[3]=n[3].replace(/\$/g,""),r.push({type_:"tex-math",p1:n[3]})),r},"9,9":function(t,e){return o.go(e,"9,9")}},stateMachines:{tex:{transitions:n({empty:{0:{action_:"copy"}},"\\ce{(...)}":{0:{action_:[{type_:"write",option:"{"},"ce",{type_:"write",option:"}"}]}},"\\pu{(...)}":{0:{action_:[{type_:"write",option:"{"},"pu",{type_:"write",option:"}"}]}},else:{0:{action_:"copy"}}}),actions:{}},ce:{transitions:n({empty:{"*":{action_:"output"}},else:{"0|1|2":{action_:"beginsWithBond=false",revisit:!0,toContinue:!0}},oxidation$:{0:{action_:"oxidation-output"}},CMT:{r:{action_:"rdt=",nextState:"rt"},rd:{action_:"rqt=",nextState:"rdt"}},arrowUpDown:{"0|1|2|as":{action_:["sb=false","output","operator"],nextState:"1"}},uprightEntities:{"0|1|2":{action_:["o=","output"],nextState:"1"}},orbital:{"0|1|2|3":{action_:"o=",nextState:"o"}},"->":{"0|1|2|3":{action_:"r=",nextState:"r"},"a|as":{action_:["output","r="],nextState:"r"},"*":{action_:["output","r="],nextState:"r"}},"+":{o:{action_:"d= kv",nextState:"d"},"d|D":{action_:"d=",nextState:"d"},q:{action_:"d=",nextState:"qd"},"qd|qD":{action_:"d=",nextState:"qd"},dq:{action_:["output","d="],nextState:"d"},3:{action_:["sb=false","output","operator"],nextState:"0"}},amount:{"0|2":{action_:"a=",nextState:"a"}},"pm-operator":{"0|1|2|a|as":{action_:["sb=false","output",{type_:"operator",option:"\\pm"}],nextState:"0"}},operator:{"0|1|2|a|as":{action_:["sb=false","output","operator"],nextState:"0"}},"-$":{"o|q":{action_:["charge or bond","output"],nextState:"qd"},d:{action_:"d=",nextState:"d"},D:{action_:["output",{type_:"bond",option:"-"}],nextState:"3"},q:{action_:"d=",nextState:"qd"},qd:{action_:"d=",nextState:"qd"},"qD|dq":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},"-9":{"3|o":{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"3"}},"- orbital overlap":{o:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},d:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"}},"-":{"0|1|2":{action_:[{type_:"output",option:1},"beginsWithBond=true",{type_:"bond",option:"-"}],nextState:"3"},3:{action_:{type_:"bond",option:"-"}},a:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},as:{action_:[{type_:"output",option:2},{type_:"bond",option:"-"}],nextState:"3"},b:{action_:"b="},o:{action_:{type_:"- after o/d",option:!1},nextState:"2"},q:{action_:{type_:"- after o/d",option:!1},nextState:"2"},"d|qd|dq":{action_:{type_:"- after o/d",option:!0},nextState:"2"},"D|qD|p":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},amount2:{"1|3":{action_:"a=",nextState:"a"}},letters:{"0|1|2|3|a|as|b|p|bp|o":{action_:"o=",nextState:"o"},"q|dq":{action_:["output","o="],nextState:"o"},"d|D|qd|qD":{action_:"o after d",nextState:"o"}},digits:{o:{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},q:{action_:["output","o="],nextState:"o"},a:{action_:"o=",nextState:"o"}},"space A":{"b|p|bp":{action_:[]}},space:{a:{action_:[],nextState:"as"},0:{action_:"sb=false"},"1|2":{action_:"sb=true"},"r|rt|rd|rdt|rdq":{action_:"output",nextState:"0"},"*":{action_:["output","sb=true"],nextState:"1"}},"1st-level escape":{"1|2":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}]},"*":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}],nextState:"0"}},"[(...)]":{"r|rt":{action_:"rd=",nextState:"rd"},"rd|rdt":{action_:"rq=",nextState:"rdq"}},"...":{"o|d|D|dq|qd|qD":{action_:["output",{type_:"bond",option:"..."}],nextState:"3"},"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"ellipsis"}],nextState:"1"}},". __* ":{"*":{action_:["output",{type_:"insert",option:"addition compound"}],nextState:"1"}},"state of aggregation $":{"*":{action_:["output","state of aggregation"],nextState:"1"}},"{[(":{"a|as|o":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"0|1|2|3":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"*":{action_:["output","o=","output","parenthesisLevel++"],nextState:"2"}},")]}":{"0|1|2|3|b|p|bp|o":{action_:["o=","parenthesisLevel--"],nextState:"o"},"a|as|d|D|q|qd|qD|dq":{action_:["output","o=","parenthesisLevel--"],nextState:"o"}},", ":{"*":{action_:["output","comma"],nextState:"0"}},"^_":{"*":{action_:[]}},"^{(...)}|^($...$)":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"D"},q:{action_:"d=",nextState:"qD"},"d|D|qd|qD|dq":{action_:["output","d="],nextState:"D"}},"^a|^\\x{}{}|^\\x{}|^\\x|'":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"d"},q:{action_:"d=",nextState:"qd"},"d|qd|D|qD":{action_:"d="},dq:{action_:["output","d="],nextState:"d"}},"_{(state of aggregation)}$":{"d|D|q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x":{"0|1|2|as":{action_:"p=",nextState:"p"},b:{action_:"p=",nextState:"bp"},"3|o":{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},"q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"=<>":{"0|1|2|3|a|as|o|q|d|D|qd|qD|dq":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"#":{"0|1|2|3|a|as|o":{action_:[{type_:"output",option:2},{type_:"bond",option:"#"}],nextState:"3"}},"{}^":{"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"tinySkip"}],nextState:"1"}},"{}":{"*":{action_:{type_:"output",option:1},nextState:"1"}},"{...}":{"0|1|2|3|a|as|b|p|bp":{action_:"o=",nextState:"o"},"o|d|D|q|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"$...$":{a:{action_:"a="},"0|1|2|3|as|b|p|bp|o":{action_:"o=",nextState:"o"},"as|o":{action_:"o="},"q|d|D|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"\\bond{(...)}":{"*":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"\\frac{(...)}":{"*":{action_:[{type_:"output",option:1},"frac-output"],nextState:"3"}},"\\overset{(...)}":{"*":{action_:[{type_:"output",option:2},"overset-output"],nextState:"3"}},"\\underset{(...)}":{"*":{action_:[{type_:"output",option:2},"underset-output"],nextState:"3"}},"\\underbrace{(...)}":{"*":{action_:[{type_:"output",option:2},"underbrace-output"],nextState:"3"}},"\\color{(...)}{(...)}":{"*":{action_:[{type_:"output",option:2},"color-output"],nextState:"3"}},"\\color{(...)}":{"*":{action_:[{type_:"output",option:2},"color0-output"]}},"\\ce{(...)}":{"*":{action_:[{type_:"output",option:2},"ce"],nextState:"3"}},"\\,":{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"1"}},"\\pu{(...)}":{"*":{action_:["output",{type_:"write",option:"{"},"pu",{type_:"write",option:"}"}],nextState:"3"}},"\\x{}{}|\\x{}|\\x":{"0|1|2|3|a|as|b|p|bp|o|c0":{action_:["o=","output"],nextState:"3"},"*":{action_:["output","o=","output"],nextState:"3"}},others:{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"3"}},else2:{a:{action_:"a to o",nextState:"o",revisit:!0},as:{action_:["output","sb=true"],nextState:"1",revisit:!0},"r|rt|rd|rdt|rdq":{action_:["output"],nextState:"0",revisit:!0},"*":{action_:["output","copy"],nextState:"3"}}}),actions:{"o after d":function(t,e){var r;if((t.d||"").match(/^[1-9][0-9]*$/)){var n=t.d;t.d=void 0,(r=this.output(t)).push({type_:"tinySkip"}),t.b=n}else r=this.output(t);return o.actions["o="](t,e),r},"d= kv":function(t,e){t.d=e,t.dType="kv"},"charge or bond":function(t,e){if(t.beginsWithBond){var r=[];return o.concatArray(r,this.output(t)),o.concatArray(r,o.actions.bond(t,e,"-")),r}t.d=e},"- after o/d":function(t,e,r){var n=o.patterns.match_("orbital",t.o||""),i=o.patterns.match_("one lowercase greek letter $",t.o||""),a=o.patterns.match_("one lowercase latin letter $",t.o||""),s=o.patterns.match_("$one lowercase latin letter$ $",t.o||""),l="-"===e&&(n&&""===n.remainder||i||a||s);!l||t.a||t.b||t.p||t.d||t.q||n||!a||(t.o="$"+t.o+"$");var c=[];return l?(o.concatArray(c,this.output(t)),c.push({type_:"hyphen"})):(n=o.patterns.match_("digits",t.d||""),r&&n&&""===n.remainder?(o.concatArray(c,o.actions["d="](t,e)),o.concatArray(c,this.output(t))):(o.concatArray(c,this.output(t)),o.concatArray(c,o.actions.bond(t,e,"-")))),c},"a to o":function(t){t.o=t.a,t.a=void 0},"sb=true":function(t){t.sb=!0},"sb=false":function(t){t.sb=!1},"beginsWithBond=true":function(t){t.beginsWithBond=!0},"beginsWithBond=false":function(t){t.beginsWithBond=!1},"parenthesisLevel++":function(t){t.parenthesisLevel++},"parenthesisLevel--":function(t){t.parenthesisLevel--},"state of aggregation":function(t,e){return{type_:"state of aggregation",p1:o.go(e,"o")}},comma:function(t,e){var r=e.replace(/\s*$/,"");return r!==e&&0===t.parenthesisLevel?{type_:"comma enumeration L",p1:r}:{type_:"comma enumeration M",p1:r}},output:function(t,e,r){var n;if(t.r){var i=void 0;i="M"===t.rdt?o.go(t.rd,"tex-math"):"T"===t.rdt?[{type_:"text",p1:t.rd||""}]:o.go(t.rd,"ce");var a=void 0;a="M"===t.rqt?o.go(t.rq,"tex-math"):"T"===t.rqt?[{type_:"text",p1:t.rq||""}]:o.go(t.rq,"ce"),n={type_:"arrow",r:t.r,rd:i,rq:a}}else n=[],(t.a||t.b||t.p||t.o||t.q||t.d||r)&&(t.sb&&n.push({type_:"entitySkip"}),t.o||t.q||t.d||t.b||t.p||2===r?t.o||t.q||t.d||!t.b&&!t.p?t.o&&"kv"===t.dType&&o.patterns.match_("d-oxidation$",t.d||"")?t.dType="oxidation":t.o&&"kv"===t.dType&&!t.q&&(t.dType=void 0):(t.o=t.a,t.d=t.b,t.q=t.p,t.a=t.b=t.p=void 0):(t.o=t.a,t.a=void 0),n.push({type_:"chemfive",a:o.go(t.a,"a"),b:o.go(t.b,"bd"),p:o.go(t.p,"pq"),o:o.go(t.o,"o"),q:o.go(t.q,"pq"),d:o.go(t.d,"oxidation"===t.dType?"oxidation":"bd"),dType:t.dType}));for(var s in t)"parenthesisLevel"!==s&&"beginsWithBond"!==s&&delete t[s];return n},"oxidation-output":function(t,e){var r=["{"];return o.concatArray(r,o.go(e,"oxidation")),r.push("}"),r},"frac-output":function(t,e){return{type_:"frac-ce",p1:o.go(e[0],"ce"),p2:o.go(e[1],"ce")}},"overset-output":function(t,e){return{type_:"overset",p1:o.go(e[0],"ce"),p2:o.go(e[1],"ce")}},"underset-output":function(t,e){return{type_:"underset",p1:o.go(e[0],"ce"),p2:o.go(e[1],"ce")}},"underbrace-output":function(t,e){return{type_:"underbrace",p1:o.go(e[0],"ce"),p2:o.go(e[1],"ce")}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:o.go(e[1],"ce")}},"r=":function(t,e){t.r=e},"rdt=":function(t,e){t.rdt=e},"rd=":function(t,e){t.rd=e},"rqt=":function(t,e){t.rqt=e},"rq=":function(t,e){t.rq=e},operator:function(t,e,r){return{type_:"operator",kind_:r||e}}}},a:{transitions:n({empty:{"*":{action_:[]}},"1/2$":{0:{action_:"1/2"}},else:{0:{action_:[],nextState:"1",revisit:!0}},"${(...)}$__$(...)$":{"*":{action_:"tex-math tight",nextState:"1"}},",":{"*":{action_:{type_:"insert",option:"commaDecimal"}}},else2:{"*":{action_:"copy"}}}),actions:{}},o:{transitions:n({empty:{"*":{action_:[]}},"1/2$":{0:{action_:"1/2"}},else:{0:{action_:[],nextState:"1",revisit:!0}},letters:{"*":{action_:"rm"}},"\\ca":{"*":{action_:{type_:"insert",option:"circa"}}},"\\pu{(...)}":{"*":{action_:[{type_:"write",option:"{"},"pu",{type_:"write",option:"}"}]}},"\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},"${(...)}$__$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:[{type_:"write",option:"{"},"text",{type_:"write",option:"}"}]}},else2:{"*":{action_:"copy"}}}),actions:{}},text:{transitions:n({empty:{"*":{action_:"output"}},"{...}":{"*":{action_:"text="}},"${(...)}$__$(...)$":{"*":{action_:"tex-math"}},"\\greek":{"*":{action_:["output","rm"]}},"\\pu{(...)}":{"*":{action_:["output",{type_:"write",option:"{"},"pu",{type_:"write",option:"}"}]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:["output","copy"]}},else:{"*":{action_:"text="}}}),actions:{output:function(t){if(t.text_){var e={type_:"text",p1:t.text_};for(var r in t)delete t[r];return e}}}},pq:{transitions:n({empty:{"*":{action_:[]}},"state of aggregation $":{"*":{action_:"state of aggregation"}},i$:{0:{action_:[],nextState:"!f",revisit:!0}},"(KV letters),":{0:{action_:"rm",nextState:"0"}},formula$:{0:{action_:[],nextState:"f",revisit:!0}},"1/2$":{0:{action_:"1/2"}},else:{0:{action_:[],nextState:"!f",revisit:!0}},"${(...)}$__$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"a-z":{f:{action_:"tex-math"}},letters:{"*":{action_:"rm"}},"-9.,9":{"*":{action_:"9,9"}},",":{"*":{action_:{type_:"insert+p1",option:"comma enumeration S"}}},"\\color{(...)}{(...)}":{"*":{action_:"color-output"}},"\\color{(...)}":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\pu{(...)}":{"*":{action_:[{type_:"write",option:"{"},"pu",{type_:"write",option:"}"}]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"state of aggregation":function(t,e){return{type_:"state of aggregation subscript",p1:o.go(e,"o")}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:o.go(e[1],"pq")}}}},bd:{transitions:n({empty:{"*":{action_:[]}},x$:{0:{action_:[],nextState:"!f",revisit:!0}},formula$:{0:{action_:[],nextState:"f",revisit:!0}},else:{0:{action_:[],nextState:"!f",revisit:!0}},"-9.,9 no missing 0":{"*":{action_:"9,9"}},".":{"*":{action_:{type_:"insert",option:"electron dot"}}},"a-z":{f:{action_:"tex-math"}},x:{"*":{action_:{type_:"insert",option:"KV x"}}},letters:{"*":{action_:"rm"}},"'":{"*":{action_:{type_:"insert",option:"prime"}}},"${(...)}$__$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"\\color{(...)}{(...)}":{"*":{action_:"color-output"}},"\\color{(...)}":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\pu{(...)}":{"*":{action_:[{type_:"write",option:"{"},"pu",{type_:"write",option:"}"}]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"color-output":function(t,e){return{type_:"color",color1:e[0],color2:o.go(e[1],"bd")}}}},oxidation:{transitions:n({empty:{"*":{action_:[]}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$__$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(t,e){return{type_:"roman numeral",p1:e}}}},"tex-math":{transitions:n({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"\\pu{(...)}":{"*":{action_:["output",{type_:"write",option:"{"},"pu",{type_:"write",option:"}"}]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var r in t)delete t[r];return e}}}},"tex-math tight":{transitions:n({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"\\pu{(...)}":{"*":{action_:["output",{type_:"write",option:"{"},"pu",{type_:"write",option:"}"}]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(t,e){t.o=(t.o||"")+"{"+e+"}"},output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var r in t)delete t[r];return e}}}},"9,9":{transitions:n({empty:{"*":{action_:[]}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:n({empty:{"*":{action_:"output"}},space$:{"*":{action_:["output","space"]}},"{[(|)]}":{"0|a":{action_:"copy"}},"(-)(9)^(-9)":{0:{action_:"number^",nextState:"a"}},"(-)(9.,9)(e)(99)":{0:{action_:"enumber",nextState:"a"}},space:{"0|a":{action_:[]}},"pm-operator":{"0|a":{action_:{type_:"operator",option:"\\pm"},nextState:"0"}},operator:{"0|a":{action_:"copy",nextState:"0"}},"//":{d:{action_:"o=",nextState:"/"}},"/":{d:{action_:"o=",nextState:"/"}},"{...}|else":{"0|d":{action_:"d=",nextState:"d"},a:{action_:["space","d="],nextState:"d"},"/|q":{action_:"q=",nextState:"q"}}}),actions:{enumber:function(t,e){var r=[];return"+-"===e[0]||"+/-"===e[0]?r.push("\\pm "):e[0]&&r.push(e[0]),e[1]&&(o.concatArray(r,o.go(e[1],"pu-9,9")),e[2]&&(e[2].match(/[,.]/)?o.concatArray(r,o.go(e[2],"pu-9,9")):r.push(e[2])),(e[3]||e[4])&&("e"===e[3]||"*"===e[4]?r.push({type_:"cdot"}):r.push({type_:"times"}))),e[5]&&r.push("10^{"+e[5]+"}"),r},"number^":function(t,e){var r=[];return"+-"===e[0]||"+/-"===e[0]?r.push("\\pm "):e[0]&&r.push(e[0]),o.concatArray(r,o.go(e[1],"pu-9,9")),r.push("^{"+e[2]+"}"),r},operator:function(t,e,r){return{type_:"operator",kind_:r||e}},space:function(){return{type_:"pu-space-1"}},output:function(t){var e,r=o.patterns.match_("{(...)}",t.d||"");r&&""===r.remainder&&(t.d=r.match_);var n=o.patterns.match_("{(...)}",t.q||"");if(n&&""===n.remainder&&(t.q=n.match_),t.d&&(t.d=t.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.d=t.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),t.q){t.q=t.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.q=t.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var i={d:o.go(t.d,"pu"),q:o.go(t.q,"pu")};"//"===t.o?e={type_:"pu-frac",p1:i.d,p2:i.q}:(e=i.d,i.d.length>1||i.q.length>1?e.push({type_:" / "}):e.push({type_:"/"}),o.concatArray(e,i.q))}else e=o.go(t.d,"pu-2");for(var a in t)delete t[a];return e}}},"pu-2":{transitions:n({empty:{"*":{action_:"output"}},"*":{"*":{action_:["output","cdot"],nextState:"0"}},"\\x":{"*":{action_:"rm="}},space:{"*":{action_:["output","space"],nextState:"0"}},"^{(...)}|^(-1)":{1:{action_:"^(-1)"}},"-9.,9":{0:{action_:"rm=",nextState:"0"},1:{action_:"^(-1)",nextState:"0"}},"{...}|else":{"*":{action_:"rm=",nextState:"1"}}}),actions:{cdot:function(){return{type_:"tight cdot"}},"^(-1)":function(t,e){t.rm+="^{"+e+"}"},space:function(){return{type_:"pu-space-2"}},output:function(t){var e=[];if(t.rm){var r=o.patterns.match_("{(...)}",t.rm||"");e=r&&""===r.remainder?o.go(r.match_,"pu"):{type_:"rm",p1:t.rm}}for(var n in t)delete t[n];return e}}},"pu-9,9":{transitions:n({empty:{0:{action_:"output-0"},o:{action_:"output-o"}},",":{0:{action_:["output-0","comma"],nextState:"o"}},".":{0:{action_:["output-0","copy"],nextState:"o"}},else:{"*":{action_:"text="}}}),actions:{comma:function(){return{type_:"commaDecimal"}},"output-0":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){var r=t.text_.length%3;0===r&&(r=3);for(var n=t.text_.length-3;n>0;n-=3)e.push(t.text_.substr(n,3)),e.push({type_:"1000 separator"});e.push(t.text_.substr(0,r)),e.reverse()}else e.push(t.text_);for(var o in t)delete t[o];return e},"output-o":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){var r=t.text_.length-3,n=void 0;for(n=0;n"===t.r||"<=>>"===t.r||"<<=>"===t.r||"<--\x3e"===t.r?(s="\\long"+s,a.rd&&(s="\\overset{"+a.rd+"}{"+s+"}"),a.rq&&(s="<--\x3e"===t.r?"\\underset{\\lower2mu{"+a.rq+"}}{"+s+"}":"\\underset{\\lower6mu{"+a.rq+"}}{"+s+"}"),s=" {}\\mathrel{"+s+"}{} "):(a.rq&&(s+="[{"+a.rq+"}]"),s=" {}\\mathrel{\\x"+(s+="{"+a.rd+"}")+"}{} "):s=" {}\\mathrel{\\long"+s+"}{} ",e=s;break;case"operator":e=i._getOperator(t.kind_);break;case"space":e=" ";break;case"tinySkip":e="\\mkern2mu";break;case"entitySkip":case"pu-space-1":e="~";break;case"pu-space-2":e="\\mkern3mu ";break;case"1000 separator":e="\\mkern2mu ";break;case"commaDecimal":e="{,}";break;case"comma enumeration L":e="{"+t.p1+"}\\mkern6mu ";break;case"comma enumeration M":e="{"+t.p1+"}\\mkern3mu ";break;case"comma enumeration S":e="{"+t.p1+"}\\mkern1mu ";break;case"hyphen":e="\\text{-}";break;case"addition compound":e="\\,{\\cdot}\\,";break;case"electron dot":e="\\mkern1mu \\bullet\\mkern1mu ";break;case"KV x":e="{\\times}";break;case"prime":e="\\prime ";break;case"cdot":e="\\cdot ";break;case"tight cdot":e="\\mkern1mu{\\cdot}\\mkern1mu ";break;case"times":e="\\times ";break;case"circa":e="{\\sim}";break;case"^":e="uparrow";break;case"v":e="downarrow";break;case"ellipsis":e="\\ldots ";break;case"/":e="/";break;case" / ":e="\\,/\\,";break;default:throw["MhchemBugT","mhchem bug T. Please report."]}return e},_getArrow:function(t){switch(t){case"->":case"\u2192":case"\u27f6":return"rightarrow";case"<-":return"leftarrow";case"<->":return"leftrightarrow";case"<--\x3e":return"leftrightarrows";case"<=>":case"\u21cc":return"rightleftharpoons";case"<=>>":return"Rightleftharpoons";case"<<=>":return"Leftrightharpoons";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(t){switch(t){case"-":case"1":return"{-}";case"=":case"2":return"{=}";case"#":case"3":return"{\\equiv}";case"~":return"{\\tripledash}";case"~-":return"{\\rlap{\\lower.1em{-}}\\raise.1em{\\tripledash}}";case"~=":case"~--":return"{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{\\tripledash}}-}";case"-~-":return"{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{-}}\\tripledash}";case"...":return"{{\\cdot}{\\cdot}{\\cdot}}";case"....":return"{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";case"->":return"{\\rightarrow}";case"<-":return"{\\leftarrow}";case"<":return"{<}";case">":return"{>}";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getOperator:function(t){switch(t){case"+":return" {}+{} ";case"-":return" {}-{} ";case"=":return" {}={} ";case"<":return" {}<{} ";case">":return" {}>{} ";case"<<":return" {}\\ll{} ";case">>":return" {}\\gg{} ";case"\\pm":return" {}\\pm{} ";case"\\approx":case"$\\approx$":return" {}\\approx{} ";case"v":case"(v)":return" \\downarrow{} ";case"^":case"(^)":return" \\uparrow{} ";default:throw["MhchemBugT","mhchem bug T. Please report."]}}}},9329:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractEntry=void 0;var i=r(9328),a=r(2165),s=function(t){function e(e,r){var n=t.call(this)||this;return n._menu=e,n._type=r,n.className=a.HtmlClasses.MENUITEM,n.role="menuitem",n.hidden=!1,n}return o(e,t),Object.defineProperty(e.prototype,"menu",{get:function(){return this._menu},set:function(t){this._menu=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this._type},enumerable:!1,configurable:!0}),e.prototype.hide=function(){this.hidden=!0,this.menu.generateMenu()},e.prototype.show=function(){this.hidden=!1,this.menu.generateMenu()},e.prototype.isHidden=function(){return this.hidden},e}(i.MenuElement);e.AbstractEntry=s},1340:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractItem=void 0;var a=r(9329),s=r(2556),l=r(2165),c=function(t){function e(e,r,n,o){var i=t.call(this,e,r)||this;return i._content=n,i.disabled=!1,i.callbacks=[],i._id=o||n,i}return o(e,t),Object.defineProperty(e.prototype,"content",{get:function(){return this._content},set:function(t){this._content=t,this.generateHtml(),this.menu&&this.menu.generateHtml()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!1,configurable:!0}),e.prototype.press=function(){this.disabled||(this.executeAction(),this.executeCallbacks_())},e.prototype.executeAction=function(){},e.prototype.registerCallback=function(t){-1===this.callbacks.indexOf(t)&&this.callbacks.push(t)},e.prototype.unregisterCallback=function(t){var e=this.callbacks.indexOf(t);-1!==e&&this.callbacks.splice(e,1)},e.prototype.mousedown=function(t){this.press(),this.stop(t)},e.prototype.mouseover=function(t){this.focus(),this.stop(t)},e.prototype.mouseout=function(t){this.deactivate(),this.stop(t)},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;e.setAttribute("aria-disabled","false"),e.textContent=this.content},e.prototype.activate=function(){this.disabled||this.html.classList.add(l.HtmlClasses.MENUACTIVE)},e.prototype.deactivate=function(){this.html.classList.remove(l.HtmlClasses.MENUACTIVE)},e.prototype.focus=function(){this.menu.focused=this,t.prototype.focus.call(this),this.activate()},e.prototype.unfocus=function(){this.deactivate(),t.prototype.unfocus.call(this)},e.prototype.escape=function(t){s.MenuUtil.close(this)},e.prototype.up=function(t){this.menu.up(t)},e.prototype.down=function(t){this.menu.down(t)},e.prototype.left=function(t){this.menu.left(t)},e.prototype.right=function(t){this.menu.right(t)},e.prototype.space=function(t){this.press()},e.prototype.disable=function(){this.disabled=!0;var t=this.html;t.classList.add(l.HtmlClasses.MENUDISABLED),t.setAttribute("aria-disabled","true")},e.prototype.enable=function(){this.disabled=!1;var t=this.html;t.classList.remove(l.HtmlClasses.MENUDISABLED),t.removeAttribute("aria-disabled")},e.prototype.executeCallbacks_=function(){var t,e;try{for(var r=i(this.callbacks),n=r.next();!n.done;n=r.next()){var o=n.value;try{o(this)}catch(t){s.MenuUtil.error(t,"Callback for menu entry "+this.id+" failed.")}}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},e}(a.AbstractEntry);e.AbstractItem=c},1484:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMenu=void 0;var a=r(8372),s=r(1340),l=r(2165),c=r(6186),u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.className=l.HtmlClasses.CONTEXTMENU,e.role="menu",e._items=[],e._baseMenu=null,e}return o(e,t),Object.defineProperty(e.prototype,"baseMenu",{get:function(){return this._baseMenu},set:function(t){this._baseMenu=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"items",{get:function(){return this._items},set:function(t){this._items=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pool",{get:function(){return this.variablePool},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"focused",{get:function(){return this._focused},set:function(t){if(this._focused!==t){this._focused||this.unfocus();var e=this._focused;this._focused=t,e&&e.unfocus()}},enumerable:!1,configurable:!0}),e.prototype.up=function(t){var e=this.items.filter((function(t){return t instanceof s.AbstractItem&&!t.isHidden()}));if(0!==e.length)if(this.focused){var r=e.indexOf(this.focused);-1!==r&&e[r=r?--r:e.length-1].focus()}else e[e.length-1].focus()},e.prototype.down=function(t){var e=this.items.filter((function(t){return t instanceof s.AbstractItem&&!t.isHidden()}));if(0!==e.length)if(this.focused){var r=e.indexOf(this.focused);-1!==r&&e[r=++r===e.length?0:r].focus()}else e[0].focus()},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.generateMenu()},e.prototype.generateMenu=function(){var t,e,r=this.html;r.classList.add(l.HtmlClasses.MENU);try{for(var n=i(this.items),o=n.next();!o.done;o=n.next()){var a=o.value;if(a.isHidden()){var s=a.html;s.parentNode&&s.parentNode.removeChild(s)}else r.appendChild(a.html)}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},e.prototype.post=function(e,r){this.variablePool.update(),t.prototype.post.call(this,e,r)},e.prototype.unpostSubmenus=function(){var t,e,r=this.items.filter((function(t){return t instanceof c.Submenu}));try{for(var n=i(r),o=n.next();!o.done;o=n.next()){var a=o.value;a.submenu.unpost(),a!==this.focused&&a.unfocus()}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},e.prototype.unpost=function(){t.prototype.unpost.call(this),this.unpostSubmenus(),this.focused=null},e.prototype.find=function(t){var e,r;try{for(var n=i(this.items),o=n.next();!o.done;o=n.next()){var a=o.value;if("rule"!==a.type){if(a.id===t)return a;if("submenu"===a.type){var s=a.submenu.find(t);if(s)return s}}}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return null},e}(a.AbstractPostable);e.AbstractMenu=u},2868:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractNavigatable=void 0;var n=r(3205),o=r(8853),i=function(){function t(){this.bubble=!1}return t.prototype.bubbleKey=function(){this.bubble=!0},t.prototype.keydown=function(t){switch(t.keyCode){case n.KEY.ESCAPE:this.escape(t);break;case n.KEY.RIGHT:this.right(t);break;case n.KEY.LEFT:this.left(t);break;case n.KEY.UP:this.up(t);break;case n.KEY.DOWN:this.down(t);break;case n.KEY.RETURN:case n.KEY.SPACE:this.space(t);break;default:return}this.bubble?this.bubble=!1:this.stop(t)},t.prototype.escape=function(t){},t.prototype.space=function(t){},t.prototype.left=function(t){},t.prototype.right=function(t){},t.prototype.up=function(t){},t.prototype.down=function(t){},t.prototype.stop=function(t){t&&(t.stopPropagation(),t.preventDefault(),t.cancelBubble=!0)},t.prototype.mousedown=function(t){return this.stop(t)},t.prototype.mouseup=function(t){return this.stop(t)},t.prototype.mouseover=function(t){return this.stop(t)},t.prototype.mouseout=function(t){return this.stop(t)},t.prototype.click=function(t){return this.stop(t)},t.prototype.addEvents=function(t){t.addEventListener(o.MOUSE.DOWN,this.mousedown.bind(this)),t.addEventListener(o.MOUSE.UP,this.mouseup.bind(this)),t.addEventListener(o.MOUSE.OVER,this.mouseover.bind(this)),t.addEventListener(o.MOUSE.OUT,this.mouseout.bind(this)),t.addEventListener(o.MOUSE.CLICK,this.click.bind(this)),t.addEventListener("keydown",this.keydown.bind(this)),t.addEventListener("dragstart",this.stop.bind(this)),t.addEventListener(o.MOUSE.SELECTSTART,this.stop.bind(this)),t.addEventListener("contextmenu",this.stop.bind(this)),t.addEventListener(o.MOUSE.DBLCLICK,this.stop.bind(this))},t}();e.AbstractNavigatable=i},8372:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractPostable=void 0;var i=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.posted=!1,e}return o(e,t),e.prototype.isPosted=function(){return this.posted},e.prototype.post=function(t,e){this.posted||(void 0!==t&&void 0!==e&&this.html.setAttribute("style","left: "+t+"px; top: "+e+"px;"),this.display(),this.posted=!0)},e.prototype.unpost=function(){if(this.posted){var t=this.html;t.parentNode&&t.parentNode.removeChild(t),this.posted=!1}},e}(r(9328).MenuElement);e.AbstractPostable=i},6765:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractVariableItem=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;this.span||this.generateSpan(),e.appendChild(this.span),this.update()},e.prototype.register=function(){this.variable.register(this)},e.prototype.unregister=function(){this.variable.unregister(this)},e.prototype.update=function(){this.updateAria(),this.span&&this.updateSpan()},e}(r(1340).AbstractItem);e.AbstractVariableItem=i},5179:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.CloseButton=void 0;var i=r(8372),a=r(2165),s=function(t){function e(e){var r=t.call(this)||this;return r.element=e,r.className=a.HtmlClasses.MENUCLOSE,r.role="button",r}return o(e,t),e.prototype.generateHtml=function(){var t=document.createElement("span");t.classList.add(this.className),t.setAttribute("role",this.role),t.setAttribute("tabindex","0");var e=document.createElement("span");e.textContent="\xd7",t.appendChild(e),this.html=t},e.prototype.display=function(){},e.prototype.unpost=function(){t.prototype.unpost.call(this),this.element.unpost()},e.prototype.keydown=function(e){this.bubbleKey(),t.prototype.keydown.call(this,e)},e.prototype.space=function(t){this.unpost(),this.stop(t)},e.prototype.mousedown=function(t){this.unpost(),this.stop(t)},e}(i.AbstractPostable);e.CloseButton=s},5073:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.ContextMenu=void 0;var i=r(1484),a=r(2165),s=r(1932),l=r(2358),c=function(t){function e(e){var r=t.call(this)||this;return r.factory=e,r.id="",r.moving=!1,r._store=new s.MenuStore(r),r.widgets=[],r.variablePool=new l.VariablePool,r}return o(e,t),e.fromJson=function(t,e){var r=e.pool,n=e.items,o=e.id,i=void 0===o?"":o,a=new this(t);a.id=i;var s=t.get("variable");r.forEach((function(e){return s(t,e,a.pool)}));var l=t.get("items")(t,n,a);return a.items=l,a},e.prototype.generateHtml=function(){this.isPosted()&&this.unpost(),t.prototype.generateHtml.call(this),this._frame=document.createElement("div"),this._frame.classList.add(a.HtmlClasses.MENUFRAME);var e="left: 0px; top: 0px; z-index: 200; width: 100%; height: 100%; border: 0px; padding: 0px; margin: 0px;";this._frame.setAttribute("style","position: absolute; "+e);var r=document.createElement("div");r.setAttribute("style","position: fixed; "+e),this._frame.appendChild(r),r.addEventListener("mousedown",function(t){this.unpost(),this.unpostWidgets(),this.stop(t)}.bind(this))},e.prototype.display=function(){document.body.appendChild(this.frame),this.frame.appendChild(this.html),this.focus()},e.prototype.escape=function(t){this.unpost(),this.unpostWidgets()},e.prototype.unpost=function(){if(t.prototype.unpost.call(this),!(this.widgets.length>0)){this.frame.parentNode.removeChild(this.frame);var e=this.store;this.moving||e.insertTaborder(),e.active.focus()}},e.prototype.left=function(t){this.move_(this.store.previous())},e.prototype.right=function(t){this.move_(this.store.next())},Object.defineProperty(e.prototype,"frame",{get:function(){return this._frame},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"store",{get:function(){return this._store},enumerable:!1,configurable:!0}),e.prototype.post=function(e,r){if(void 0!==r)return this.moving||this.store.removeTaborder(),void t.prototype.post.call(this,e,r);var n,o,i,a=e;if(a instanceof Event?(n=a.target,this.stop(a)):n=a,a instanceof MouseEvent&&(o=a.pageX,i=a.pageY,o||i||!a.clientX||(o=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,i=a.clientY+document.body.scrollTop+document.documentElement.scrollTop)),!o&&!i&&n){var s=window.pageXOffset||document.documentElement.scrollLeft,l=window.pageYOffset||document.documentElement.scrollTop,c=n.getBoundingClientRect();o=(c.right+c.left)/2+s,i=(c.bottom+c.top)/2+l}this.store.active=n,this.anchor=this.store.active;var u=this.html;o+u.offsetWidth>document.body.offsetWidth-5&&(o=document.body.offsetWidth-u.offsetWidth-5),this.post(o,i)},e.prototype.registerWidget=function(t){this.widgets.push(t)},e.prototype.unregisterWidget=function(t){var e=this.widgets.indexOf(t);e>-1&&this.widgets.splice(e,1),0===this.widgets.length&&this.unpost()},e.prototype.unpostWidgets=function(){this.widgets.forEach((function(t){return t.unpost()}))},e.prototype.toJson=function(){return{type:""}},e.prototype.move_=function(t){this.anchor&&t!==this.anchor&&(this.moving=!0,this.unpost(),this.post(t),this.moving=!1)},e}(i.AbstractMenu);e.ContextMenu=c},7309:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CssStyles=void 0;var n=r(2165);!function(t){function e(t){return"."+(n.HtmlClasses[t]||t)}var r={};r[e("INFOCLOSE")]="{ top:.2em; right:.2em;}",r[e("INFOCONTENT")]="{ overflow:auto; text-align:left; font-size:80%; padding:.4em .6em; border:1px inset; margin:1em 0px; max-height:20em; max-width:30em; background-color:#EEEEEE; white-space:normal;}",r[e("INFO")+e("MOUSEPOST")]="{outline:none;}",r[e("INFO")]='{ position:fixed; left:50%; width:auto; text-align:center; border:3px outset; padding:1em 2em; background-color:#DDDDDD; color:black; cursor:default; font-family:message-box; font-size:120%; font-style:normal; text-indent:0; text-transform:none; line-height:normal; letter-spacing:normal; word-spacing:normal; word-wrap:normal; white-space:nowrap; float:none; z-index:201; border-radius: 15px; /* Opera 10.5 and IE9 */ -webkit-border-radius:15px; /* Safari and Chrome */ -moz-border-radius:15px; /* Firefox */ -khtml-border-radius:15px; /* Konqueror */ box-shadow:0px 10px 20px #808080; /* Opera 10.5 and IE9 */ -webkit-box-shadow:0px 10px 20px #808080; /* Safari 3 & Chrome */ -moz-box-shadow:0px 10px 20px #808080; /* Forefox 3.5 */ -khtml-box-shadow:0px 10px 20px #808080; /* Konqueror */ filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color="gray", Positive="true"); /* IE */}';var o={};o[e("MENU")]="{ position:absolute; background-color:white; color:black; width:auto; padding:5px 0px; border:1px solid #CCCCCC; margin:0; cursor:default; font: menu; text-align:left; text-indent:0; text-transform:none; line-height:normal; letter-spacing:normal; word-spacing:normal; word-wrap:normal; white-space:nowrap; float:none; z-index:201; border-radius: 5px; /* Opera 10.5 and IE9 */ -webkit-border-radius: 5px; /* Safari and Chrome */ -moz-border-radius: 5px; /* Firefox */ -khtml-border-radius: 5px; /* Konqueror */ box-shadow:0px 10px 20px #808080; /* Opera 10.5 and IE9 */ -webkit-box-shadow:0px 10px 20px #808080; /* Safari 3 & Chrome */ -moz-box-shadow:0px 10px 20px #808080; /* Forefox 3.5 */ -khtml-box-shadow:0px 10px 20px #808080; /* Konqueror */}",o[e("MENUITEM")]="{ padding: 1px 2em; background:transparent;}",o[e("MENUARROW")]="{ position:absolute; right:.5em; padding-top:.25em; color:#666666; font-family: null; font-size: .75em}",o[e("MENUACTIVE")+" "+e("MENUARROW")]="{color:white}",o[e("MENUARROW")+e("RTL")]="{left:.5em; right:auto}",o[e("MENUCHECK")]="{ position:absolute; left:.7em; font-family: null}",o[e("MENUCHECK")+e("RTL")]="{ right:.7em; left:auto }",o[e("MENURADIOCHECK")]="{ position:absolute; left: .7em;}",o[e("MENURADIOCHECK")+e("RTL")]="{ right: .7em; left:auto}",o[e("MENUINPUTBOX")]="{ padding-left: 1em; right:.5em; color:#666666; font-family: null;}",o[e("MENUINPUTBOX")+e("RTL")]="{ left: .1em;}",o[e("MENUCOMBOBOX")]="{ left:.1em; padding-bottom:.5em;}",o[e("MENUSLIDER")]="{ left: .1em;}",o[e("SLIDERVALUE")]="{ position:absolute; right:.1em; padding-top:.25em; color:#333333; font-size: .75em}",o[e("SLIDERBAR")]="{ outline: none; background: #d3d3d3}",o[e("MENULABEL")]="{ padding: 1px 2em 3px 1.33em; font-style:italic}",o[e("MENURULE")]="{ border-top: 1px solid #DDDDDD; margin: 4px 3px;}",o[e("MENUDISABLED")]="{ color:GrayText}",o[e("MENUACTIVE")]="{ background-color: #606872; color: white;}",o[e("MENUDISABLED")+":focus"]="{ background-color: #E8E8E8}",o[e("MENULABEL")+":focus"]="{ background-color: #E8E8E8}",o[e("CONTEXTMENU")+":focus"]="{ outline:none}",o[e("CONTEXTMENU")+" "+e("MENUITEM")+":focus"]="{ outline:none}",o[e("SELECTIONMENU")]="{ position:relative; float:left; border-bottom: none; -webkit-box-shadow:none; -webkit-border-radius:0px; }",o[e("SELECTIONITEM")]="{ padding-right: 1em;}",o[e("SELECTION")]="{ right: 40%; width:50%; }",o[e("SELECTIONBOX")]="{ padding: 0em; max-height:20em; max-width: none; background-color:#FFFFFF;}",o[e("SELECTIONDIVIDER")]="{ clear: both; border-top: 2px solid #000000;}",o[e("MENU")+" "+e("MENUCLOSE")]="{ top:-10px; left:-10px}";var i={};i[e("MENUCLOSE")]='{ position:absolute; cursor:pointer; display:inline-block; border:2px solid #AAA; border-radius:18px; -webkit-border-radius: 18px; /* Safari and Chrome */ -moz-border-radius: 18px; /* Firefox */ -khtml-border-radius: 18px; /* Konqueror */ font-family: "Courier New", Courier; font-size:24px; color:#F0F0F0}',i[e("MENUCLOSE")+" span"]="{ display:block; background-color:#AAA; border:1.5px solid; border-radius:18px; -webkit-border-radius: 18px; /* Safari and Chrome */ -moz-border-radius: 18px; /* Firefox */ -khtml-border-radius: 18px; /* Konqueror */ line-height:0; padding:8px 0 6px /* may need to be browser-specific */}",i[e("MENUCLOSE")+":hover"]="{ color:white!important; border:2px solid #CCC!important}",i[e("MENUCLOSE")+":hover span"]="{ background-color:#CCC!important}",i[e("MENUCLOSE")+":hover:focus"]="{ outline:none}";var a=!1,s=!1,l=!1;function c(t){l||(u(i,t),l=!0)}function u(t,e){var r=e||document,n=r.createElement("style");n.type="text/css";var o="";for(var i in t)o+=i,o+=" ",o+=t[i],o+="\n";n.innerHTML=o,r.head.appendChild(n)}t.addMenuStyles=function(t){s||(u(o,t),s=!0,c(t))},t.addInfoStyles=function(t){a||(u(r,t),a=!0,c(t))}}(e.CssStyles||(e.CssStyles={}))},2165:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.HtmlAttrs=e.HtmlClasses=void 0;function r(t){return"CtxtMenu_"+t}function n(t){return r(t)}function o(t){return r(t)}e.HtmlClasses={ATTACHED:n("Attached"),CONTEXTMENU:n("ContextMenu"),MENU:n("Menu"),MENUARROW:n("MenuArrow"),MENUACTIVE:n("MenuActive"),MENUCHECK:n("MenuCheck"),MENUCLOSE:n("MenuClose"),MENUCOMBOBOX:n("MenuComboBox"),MENUDISABLED:n("MenuDisabled"),MENUFRAME:n("MenuFrame"),MENUITEM:n("MenuItem"),MENULABEL:n("MenuLabel"),MENURADIOCHECK:n("MenuRadioCheck"),MENUINPUTBOX:n("MenuInputBox"),MENURULE:n("MenuRule"),MENUSLIDER:n("MenuSlider"),MOUSEPOST:n("MousePost"),RTL:n("RTL"),INFO:n("Info"),INFOCLOSE:n("InfoClose"),INFOCONTENT:n("InfoContent"),INFOSIGNATURE:n("InfoSignature"),INFOTITLE:n("InfoTitle"),SLIDERVALUE:n("SliderValue"),SLIDERBAR:n("SliderBar"),SELECTION:n("Selection"),SELECTIONBOX:n("SelectionBox"),SELECTIONMENU:n("SelectionMenu"),SELECTIONDIVIDER:n("SelectionDivider"),SELECTIONITEM:n("SelectionItem")},e.HtmlAttrs={COUNTER:o("Counter"),KEYDOWNFUNC:o("keydownFunc"),CONTEXTMENUFUNC:o("contextmenuFunc"),OLDTAB:o("Oldtabindex"),TOUCHFUNC:o("TouchFunc")}},4922:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Info=void 0;var i=r(5179),a=r(2165),s=function(t){function e(e,r,n){var o=t.call(this)||this;return o.title=e,o.signature=n,o.className=a.HtmlClasses.INFO,o.role="dialog",o.contentDiv=o.generateContent(),o.close=o.generateClose(),o.content=r||function(){return""},o}return o(e,t),e.prototype.attachMenu=function(t){this.menu=t},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;e.appendChild(this.generateTitle()),e.appendChild(this.contentDiv),e.appendChild(this.generateSignature()),e.appendChild(this.close.html),e.setAttribute("tabindex","0")},e.prototype.post=function(){t.prototype.post.call(this);var e=document.documentElement,r=this.html,n=window.innerHeight||e.clientHeight||e.scrollHeight||0,o=Math.floor(-r.offsetWidth/2),i=Math.floor((n-r.offsetHeight)/3);r.setAttribute("style","margin-left: "+o+"px; top: "+i+"px;"),window.event instanceof MouseEvent&&r.classList.add(a.HtmlClasses.MOUSEPOST),r.focus()},e.prototype.display=function(){this.menu.registerWidget(this),this.contentDiv.innerHTML=this.content();var t=this.menu.html;t.parentNode&&t.parentNode.removeChild(t),this.menu.frame.appendChild(this.html)},e.prototype.click=function(t){},e.prototype.keydown=function(e){this.bubbleKey(),t.prototype.keydown.call(this,e)},e.prototype.escape=function(t){this.unpost()},e.prototype.unpost=function(){t.prototype.unpost.call(this),this.html.classList.remove(a.HtmlClasses.MOUSEPOST),this.menu.unregisterWidget(this)},e.prototype.generateClose=function(){var t=new i.CloseButton(this),e=t.html;return e.classList.add(a.HtmlClasses.INFOCLOSE),e.setAttribute("aria-label","Close Dialog Box"),t},e.prototype.generateTitle=function(){var t=document.createElement("span");return t.innerHTML=this.title,t.classList.add(a.HtmlClasses.INFOTITLE),t},e.prototype.generateContent=function(){var t=document.createElement("div");return t.classList.add(a.HtmlClasses.INFOCONTENT),t.setAttribute("tabindex","0"),t},e.prototype.generateSignature=function(){var t=document.createElement("span");return t.innerHTML=this.signature,t.classList.add(a.HtmlClasses.INFOSIGNATURE),t},e.prototype.toJson=function(){return{type:""}},e}(r(8372).AbstractPostable);e.Info=s},1409:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Checkbox=void 0;var i=r(6765),a=r(2556),s=r(2165),l=function(t){function e(e,r,n,o){var i=t.call(this,e,"checkbox",r,o)||this;return i.role="menuitemcheckbox",i.variable=e.pool.lookup(n),i.register(),i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.variable,e.id)},e.prototype.executeAction=function(){this.variable.setValue(!this.variable.getValue()),a.MenuUtil.close(this)},e.prototype.generateSpan=function(){this.span=document.createElement("span"),this.span.textContent="\u2713",this.span.classList.add(s.HtmlClasses.MENUCHECK)},e.prototype.updateAria=function(){this.html.setAttribute("aria-checked",this.variable.getValue()?"true":"false")},e.prototype.updateSpan=function(){this.span.style.display=this.variable.getValue()?"":"none"},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractVariableItem);e.Checkbox=l},9886:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Combo=void 0;var i=r(6765),a=r(2556),s=r(2165),l=r(3205),c=function(t){function e(e,r,n,o){var i=t.call(this,e,"combobox",r,o)||this;return i.role="combobox",i.inputEvent=!1,i.variable=e.pool.lookup(n),i.register(),i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.variable,e.id)},e.prototype.executeAction=function(){this.variable.setValue(this.input.value,a.MenuUtil.getActiveElement(this))},e.prototype.space=function(e){t.prototype.space.call(this,e),a.MenuUtil.close(this)},e.prototype.focus=function(){t.prototype.focus.call(this),this.input.focus()},e.prototype.unfocus=function(){t.prototype.unfocus.call(this),this.updateSpan()},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.html.classList.add(s.HtmlClasses.MENUCOMBOBOX)},e.prototype.generateSpan=function(){this.span=document.createElement("span"),this.span.classList.add(s.HtmlClasses.MENUINPUTBOX),this.input=document.createElement("input"),this.input.addEventListener("keydown",this.inputKey.bind(this)),this.input.setAttribute("size","10em"),this.input.setAttribute("type","text"),this.input.setAttribute("tabindex","-1"),this.span.appendChild(this.input)},e.prototype.inputKey=function(t){this.bubbleKey(),this.inputEvent=!0},e.prototype.keydown=function(e){if(this.inputEvent&&e.keyCode!==l.KEY.ESCAPE&&e.keyCode!==l.KEY.RETURN)return this.inputEvent=!1,void e.stopPropagation();t.prototype.keydown.call(this,e),e.stopPropagation()},e.prototype.updateAria=function(){},e.prototype.updateSpan=function(){var t;try{t=this.variable.getValue(a.MenuUtil.getActiveElement(this))}catch(e){t=""}this.input.value=t},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractVariableItem);e.Combo=c},3467:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Command=void 0;var i=r(1340),a=r(2556),s=function(t){function e(e,r,n,o){var i=t.call(this,e,"command",r,o)||this;return i.command=n,i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.action,e.id)},e.prototype.executeAction=function(){try{this.command(a.MenuUtil.getActiveElement(this))}catch(t){a.MenuUtil.error(t,"Illegal command callback.")}a.MenuUtil.close(this)},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractItem);e.Command=s},2965:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Label=void 0;var i=r(1340),a=r(2165),s=function(t){function e(e,r,n){return t.call(this,e,"label",r,n)||this}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.id)},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.html.classList.add(a.HtmlClasses.MENULABEL)},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractItem);e.Label=s},385:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Radio=void 0;var i=r(6765),a=r(2556),s=r(2165),l=function(t){function e(e,r,n,o){var i=t.call(this,e,"radio",r,o)||this;return i.role="menuitemradio",i.variable=e.pool.lookup(n),i.register(),i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.variable,e.id)},e.prototype.executeAction=function(){this.variable.setValue(this.id),a.MenuUtil.close(this)},e.prototype.generateSpan=function(){this.span=document.createElement("span"),this.span.textContent="\u2713",this.span.classList.add(s.HtmlClasses.MENURADIOCHECK)},e.prototype.updateAria=function(){this.html.setAttribute("aria-checked",this.variable.getValue()===this.id?"true":"false")},e.prototype.updateSpan=function(){this.span.style.display=this.variable.getValue()===this.id?"":"none"},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractVariableItem);e.Radio=l},3463:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Rule=void 0;var i=r(9329),a=r(2165),s=function(t){function e(e){var r=t.call(this,e,"rule")||this;return r.className=a.HtmlClasses.MENUITEM,r.role="separator",r}return o(e,t),e.fromJson=function(t,e,r){return new this(r)},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;e.classList.add(a.HtmlClasses.MENURULE),e.setAttribute("aria-orientation","vertical")},e.prototype.addEvents=function(t){},e.prototype.toJson=function(){return{type:"rule"}},e}(i.AbstractEntry);e.Rule=s},7625:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Slider=void 0;var i=r(6765),a=r(2556),s=r(2165),l=r(3205),c=function(t){function e(e,r,n,o){var i=t.call(this,e,"slider",r,o)||this;return i.role="slider",i.labelId="ctx_slideLabel"+a.MenuUtil.counter(),i.valueId="ctx_slideValue"+a.MenuUtil.counter(),i.inputEvent=!1,i.variable=e.pool.lookup(n),i.register(),i}return o(e,t),e.fromJson=function(t,e,r){return new this(r,e.content,e.variable,e.id)},e.prototype.executeAction=function(){this.variable.setValue(this.input.value,a.MenuUtil.getActiveElement(this)),this.update()},e.prototype.space=function(e){t.prototype.space.call(this,e),a.MenuUtil.close(this)},e.prototype.focus=function(){t.prototype.focus.call(this),this.input.focus()},e.prototype.unfocus=function(){t.prototype.unfocus.call(this),this.updateSpan()},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.html.classList.add(s.HtmlClasses.MENUSLIDER),this.valueSpan=document.createElement("span"),this.valueSpan.setAttribute("id",this.valueId),this.valueSpan.classList.add(s.HtmlClasses.SLIDERVALUE),this.html.appendChild(this.valueSpan)},e.prototype.generateSpan=function(){this.span=document.createElement("span"),this.labelSpan=document.createElement("span"),this.labelSpan.setAttribute("id",this.labelId),this.labelSpan.appendChild(this.html.childNodes[0]),this.html.appendChild(this.labelSpan),this.input=document.createElement("input"),this.input.setAttribute("type","range"),this.input.setAttribute("min","0"),this.input.setAttribute("max","100"),this.input.setAttribute("aria-valuemin","0"),this.input.setAttribute("aria-valuemax","100"),this.input.setAttribute("aria-labelledby",this.labelId),this.input.addEventListener("keydown",this.inputKey.bind(this)),this.input.addEventListener("input",this.executeAction.bind(this)),this.input.classList.add(s.HtmlClasses.SLIDERBAR),this.span.appendChild(this.input)},e.prototype.inputKey=function(t){this.inputEvent=!0},e.prototype.mousedown=function(t){t.stopPropagation()},e.prototype.mouseup=function(t){event.stopPropagation()},e.prototype.keydown=function(e){var r=e.keyCode;return r===l.KEY.UP||r===l.KEY.DOWN?(e.preventDefault(),void t.prototype.keydown.call(this,e)):this.inputEvent&&r!==l.KEY.ESCAPE&&r!==l.KEY.RETURN?(this.inputEvent=!1,void e.stopPropagation()):(t.prototype.keydown.call(this,e),void e.stopPropagation())},e.prototype.updateAria=function(){var t=this.variable.getValue();t&&this.input&&(this.input.setAttribute("aria-valuenow",t),this.input.setAttribute("aria-valuetext",t+"%"))},e.prototype.updateSpan=function(){var t;try{t=this.variable.getValue(a.MenuUtil.getActiveElement(this)),this.valueSpan.innerHTML=t+"%"}catch(e){t=""}this.input.value=t},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractVariableItem);e.Slider=c},6186:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.Submenu=void 0;var i=r(1340),a=r(2165),s=function(t){function e(e,r,n){var o=t.call(this,e,"submenu",r,n)||this;return o._submenu=null,o}return o(e,t),e.fromJson=function(t,e,r){var n=e.content,o=e.menu,i=new this(r,n,e.id),a=t.get("subMenu")(t,o,i);return i.submenu=a,i},Object.defineProperty(e.prototype,"submenu",{get:function(){return this._submenu},set:function(t){this._submenu=t},enumerable:!1,configurable:!0}),e.prototype.mouseover=function(t){this.focus(),this.stop(t)},e.prototype.mouseout=function(t){this.stop(t)},e.prototype.unfocus=function(){if(this.submenu.isPosted()){if(this.menu.focused!==this)return t.prototype.unfocus.call(this),void this.menu.unpostSubmenus();this.html.setAttribute("tabindex","-1"),this.html.blur()}else t.prototype.unfocus.call(this)},e.prototype.focus=function(){t.prototype.focus.call(this),this.submenu.isPosted()||this.disabled||this.submenu.post()},e.prototype.executeAction=function(){this.submenu.isPosted()?this.submenu.unpost():this.submenu.post()},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this);var e=this.html;this.span=document.createElement("span"),this.span.textContent="\u25ba",this.span.classList.add(a.HtmlClasses.MENUARROW),e.appendChild(this.span),e.setAttribute("aria-haspopup","true")},e.prototype.left=function(e){this.submenu.isPosted()?this.submenu.unpost():t.prototype.left.call(this,e)},e.prototype.right=function(t){this.submenu.isPosted()?this.submenu.down(t):this.submenu.post()},e.prototype.toJson=function(){return{type:""}},e}(i.AbstractItem);e.Submenu=s},3205:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.KEY=void 0,function(t){t[t.RETURN=13]="RETURN",t[t.ESCAPE=27]="ESCAPE",t[t.SPACE=32]="SPACE",t[t.LEFT=37]="LEFT",t[t.UP=38]="UP",t[t.RIGHT=39]="RIGHT",t[t.DOWN=40]="DOWN"}(e.KEY||(e.KEY={}))},9328:function(t,e,r){var n,o=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.MenuElement=void 0;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.addAttributes=function(t){for(var e in t)this.html.setAttribute(e,t[e])},Object.defineProperty(e.prototype,"html",{get:function(){return this._html||this.generateHtml(),this._html},set:function(t){this._html=t,this.addEvents(t)},enumerable:!1,configurable:!0}),e.prototype.generateHtml=function(){var t=document.createElement("div");t.classList.add(this.className),t.setAttribute("role",this.role),this.html=t},e.prototype.focus=function(){var t=this.html;t.setAttribute("tabindex","0"),t.focus()},e.prototype.unfocus=function(){var t=this.html;t.hasAttribute("tabindex")&&t.setAttribute("tabindex","-1");try{t.blur()}catch(t){}t.blur()},e}(r(2868).AbstractNavigatable);e.MenuElement=i},1932:function(t,e,r){var n=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MenuStore=void 0;var o=r(2556),i=r(2165),a=r(3205),s=function(){function t(t){this.menu=t,this.store=[],this._active=null,this.counter=0,this.attachedClass=i.HtmlClasses.ATTACHED+"_"+o.MenuUtil.counter(),this.taborder=!0,this.attrMap={}}return Object.defineProperty(t.prototype,"active",{get:function(){return this._active},set:function(t){do{if(-1!==this.store.indexOf(t)){this._active=t;break}t=t.parentNode}while(t)},enumerable:!1,configurable:!0}),t.prototype.next=function(){var t=this.store.length;if(0===t)return this.active=null,null;var e=this.store.indexOf(this.active);return e=-1===e?0:e0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__spread||function(){for(var t=[],e=0;e0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a};Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionBox=e.SelectionMenu=void 0;var a=r(2556),s=r(2165),l=r(1484),c=r(4922),u=function(t){function e(e){var r=t.call(this)||this;return r.anchor=e,r.className=s.HtmlClasses.SELECTIONMENU,r.variablePool=r.anchor.menu.pool,r.baseMenu=r.anchor.menu,r}return o(e,t),e.fromJson=function(t,e,r){var n=e.title,o=e.values,i=e.variable,a=new this(r),s=t.get("label")(t,{content:n||"",id:n||"id"},a),l=t.get("rule")(t,{},a),c=o.map((function(e){return t.get("radio")(t,{content:e,variable:i,id:e},a)})),u=[s,l].concat(c);return a.items=u,a},e.prototype.generateHtml=function(){t.prototype.generateHtml.call(this),this.items.forEach((function(t){return t.html.classList.add(s.HtmlClasses.SELECTIONITEM)}))},e.prototype.display=function(){},e.prototype.right=function(t){this.anchor.right(t)},e.prototype.left=function(t){this.anchor.left(t)},e}(l.AbstractMenu);e.SelectionMenu=u;var p=function(t){function e(e,r,n,o){void 0===n&&(n="none"),void 0===o&&(o="vertical");var i=t.call(this,e,null,r)||this;return i.style=n,i.grid=o,i._selections=[],i.prefix="ctxt-selection",i._balanced=!0,i}return o(e,t),e.fromJson=function(t,e,r){var n=e.title,o=e.signature,i=e.selections,a=new this(n,o,e.order,e.grid);a.attachMenu(r);var s=i.map((function(e){return t.get("selectionMenu")(t,e,a)}));return a.selections=s,a},e.prototype.attachMenu=function(t){this.menu=t},Object.defineProperty(e.prototype,"selections",{get:function(){return this._selections},set:function(t){var e=this;this._selections=[],t.forEach((function(t){return e.addSelection(t)}))},enumerable:!1,configurable:!0}),e.prototype.addSelection=function(t){t.anchor=this,this._selections.push(t)},e.prototype.rowDiv=function(t){var e=this,r=document.createElement("div");this.contentDiv.appendChild(r);var n=t.map((function(t){return r.appendChild(t.html),t.html.id||(t.html.id=e.prefix+a.MenuUtil.counter()),t.html.getBoundingClientRect()})),o=n.map((function(t){return t.width})),i=o.reduce((function(t,e){return t+e}),0),l=n.reduce((function(t,e){return Math.max(t,e.height)}),0);return r.classList.add(s.HtmlClasses.SELECTIONDIVIDER),r.setAttribute("style","height: "+l+"px;"),[r,i,l,o]},e.prototype.display=function(){if(t.prototype.display.call(this),this.order(),this.selections.length){for(var e=[],r=0,n=[],o=this.getChunkSize(this.selections.length),a=function(t){var a=s.selections.slice(t,t+o),l=i(s.rowDiv(a),4),c=l[0],u=l[1],p=l[2],h=l[3];e.push(c),r=Math.max(r,u),a.forEach((function(t){return t.html.style.height=p+"px"})),n=s.combineColumn(n,h)},s=this,l=0;ldocument.body.offsetWidth-5&&(i=Math.max(5,i-o-r.offsetWidth+6)),t.prototype.post.call(this,i,a)}},e.prototype.display=function(){this.baseMenu.frame.appendChild(this.html)},e.prototype.setBaseMenu=function(){var t=this;do{t=t.anchor.menu}while(t instanceof e);this.baseMenu=t},e.prototype.left=function(t){this.focused=null,this.anchor.focus()},e.prototype.toJson=function(){return{type:""}},e}(r(1484).AbstractMenu);e.SubMenu=i},3737:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Variable=void 0;var n=r(2556),o=function(){function t(t,e,r){this._name=t,this.getter=e,this.setter=r,this.items=[]}return t.fromJson=function(t,e,r){var n=new this(e.name,e.getter,e.setter);r.insert(n)},Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!1,configurable:!0}),t.prototype.getValue=function(t){try{return this.getter(t)}catch(t){return n.MenuUtil.error(t,"Command of variable "+this.name+" failed."),null}},t.prototype.setValue=function(t,e){try{this.setter(t,e)}catch(t){n.MenuUtil.error(t,"Command of variable "+this.name+" failed.")}this.update()},t.prototype.register=function(t){-1===this.items.indexOf(t)&&this.items.push(t)},t.prototype.unregister=function(t){var e=this.items.indexOf(t);-1!==e&&this.items.splice(e,1)},t.prototype.update=function(){this.items.forEach((function(t){return t.update()}))},t.prototype.registerCallback=function(t){this.items.forEach((function(e){return e.registerCallback(t)}))},t.prototype.unregisterCallback=function(t){this.items.forEach((function(e){return e.unregisterCallback(t)}))},t.prototype.toJson=function(){return{type:"variable",name:this.name,getter:this.getter.toString(),setter:this.setter.toString()}},t}();e.Variable=o},2358:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.VariablePool=void 0;var r=function(){function t(){this.pool={}}return t.prototype.insert=function(t){this.pool[t.name]=t},t.prototype.lookup=function(t){return this.pool[t]},t.prototype.remove=function(t){delete this.pool[t]},t.prototype.update=function(){for(var t in this.pool)this.pool[t].update()},t}();e.VariablePool=r},3921:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractAudioRenderer=void 0;const n=r(5897);e.AbstractAudioRenderer=class{constructor(){this.separator_=" "}setSeparator(t){this.separator_=t}getSeparator(){return"braille"===n.default.getInstance().modality?"":this.separator_}error(t){return null}merge(t){let e="";const r=t.length-1;for(let n,o=0;n=t[o];o++)if(e+=n.speech,odelete t[e])),e.open.forEach((r=>t[r]=e[r]));const r=Object.keys(t);t.open=r},e.sortClose=function(t,e){if(t.length<=1)return t;const r=[];for(let n,o=0;n=e[o],t.length;o++)n.close&&n.close.length&&n.close.forEach((function(e){const n=t.indexOf(e);-1!==n&&(r.unshift(e),t.splice(n,1))}));return r};let s={},l=[];function c(t,e){const r=t[t.length-1];if(r){if(d(e)&&d(r)){if(void 0===r.join)return void(r.span=r.span.concat(e.span));const t=r.span.pop(),n=e.span.shift();return r.span.push(t+r.join+n),r.span=r.span.concat(e.span),void(r.join=e.join)}h(e)&&h(r)?r.pause=a(r.pause,e.pause):t.push(e)}else t.push(e)}function u(t,e){t.rate&&(e.rate=t.rate),t.pitch&&(e.pitch=t.pitch),t.volume&&(e.volume=t.volume)}function p(t){return"object"==typeof t&&t.open}function h(t){return"object"==typeof t&&1===Object.keys(t).length&&Object.keys(t)[0]===o.personalityProps.PAUSE}function d(t){const e=Object.keys(t);return"object"==typeof t&&(1===e.length&&"span"===e[0]||2===e.length&&("span"===e[0]&&"join"===e[1]||"span"===e[1]&&"join"===e[0]))}function f(t,e,r,n,s,l=!1){if(l){const l=t[t.length-1];let c;if(l&&(c=l[o.personalityProps.JOIN]),l&&!e.speech&&s&&h(l)){const t=o.personalityProps.PAUSE;l[t]=a(l[t],s[t]),s=null}if(l&&e.speech&&0===Object.keys(r).length&&d(l)){if(void 0!==c){const t=l.span.pop();e=new i.Span(t.speech+c+e.speech,t.attributes)}l.span.push(e),e=new i.Span("",{}),l[o.personalityProps.JOIN]=n}}0!==Object.keys(r).length&&t.push(r),e.speech&&t.push({span:[e],join:n}),s&&t.push(s)}function m(t,e){if(!e)return t;const r={};for(const n of o.personalityPropList){const o=t[n],i=e[n];if(!o&&!i||o&&i&&o===i)continue;const a=o||0;p(r)||(r.open=[],r.close=[]),o||r.close.push(n),i||r.open.push(n),i&&o&&(r.close.push(n),r.open.push(n)),e[n]=a,r[n]=a,s[n]?s[n].push(a):s[n]=[a]}if(p(r)){let t=r.close.slice();for(;t.length>0;){let o=l.pop();const i=(0,n.setdifference)(o,t);if(t=(0,n.setdifference)(t,o),o=i,0!==t.length){if(0!==o.length){r.close=r.close.concat(o),r.open=r.open.concat(o);for(let t,n=0;t=o[n];n++)r[t]=e[t]}}else 0!==o.length&&l.push(o)}l.push(r.open)}return r}e.personalityMarkup=function(t){s={},l=[];let e=[];const r={};for(let n,i=0;n=t[i];i++){let t=null;const i=n.descriptionSpan(),a=n.personality,s=a[o.personalityProps.JOIN];delete a[o.personalityProps.JOIN],void 0!==a[o.personalityProps.PAUSE]&&(t={[o.personalityProps.PAUSE]:a[o.personalityProps.PAUSE]},delete a[o.personalityProps.PAUSE]);f(e,i,m(a,r),s,t,!0)}return e=e.concat(function(){const t=[];for(let e=l.length-1;e>=0;e--){const r=l[e];if(r.length){const e={open:[],close:[]};for(let t=0;t"string"==typeof t?new c.Span(t,{}):t)),r=m.get(n.default.getInstance().markup);return r?r.merge(e):t.join()},e.finalize=function(t){const e=m.get(n.default.getInstance().markup);return e?e.finalize(t):t},e.error=function(t){const e=m.get(n.default.getInstance().markup);return e?e.error(t):""},e.registerRenderer=function(t,e){m.set(t,e)},e.isXml=function(){return m.get(n.default.getInstance().markup)instanceof d.XmlRenderer}},8639:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.LayoutRenderer=void 0;const n=r(2057),o=r(5740),i=r(4440),a=r(3706),s=r(2456);class l extends s.XmlRenderer{finalize(t){return function(t){c="";const e=o.parseInput(`${t}`);return n.Debugger.getInstance().output(o.formatXml(e.toString())),c=d(e),c}(t)}pause(t){return""}prosodyElement(t,e){return t===i.personalityProps.LAYOUT?`<${e}>`:""}closeTag(t){return``}markup(t){const e=[];let r=[];for(const n of t){if(!n.layout){r.push(n);continue}e.push(this.processContent(r)),r=[];const t=n.layout;t.match(/^begin/)?e.push("<"+t.replace(/^begin/,"")+">"):t.match(/^end/)?e.push(""):console.warn("Something went wrong with layout markup: "+t)}return e.push(this.processContent(r)),e.join("")}processContent(t){const e=[],r=a.personalityMarkup(t);for(let t,n=0;t=r[n];n++)t.span?e.push(this.merge(t.span)):a.isPauseElement(t);return e.join("")}}e.LayoutRenderer=l;let c="";const u={TABLE:function(t){let e=g(t);e.forEach((t=>{t.cells=t.cells.slice(1).slice(0,-1),t.width=t.width.slice(1).slice(0,-1)}));const[r,n]=b(e);return e=v(e,n),_(e,r)},CASES:function(t){let e=g(t);e.forEach((t=>{t.cells=t.cells.slice(0,-1),t.width=t.width.slice(0,-1)}));const[r,n]=b(e);return e=v(e,n),_(e,r)},CAYLEY:function(t){let e=g(t);e.forEach((t=>{t.cells=t.cells.slice(1).slice(0,-1),t.width=t.width.slice(1).slice(0,-1),t.sep=t.sep+t.sep}));const[r,n]=b(e),o={lfence:"",rfence:"",cells:n.map((t=>"\u2810"+new Array(t).join("\u2812"))),width:n,height:1,sep:e[0].sep};return e.splice(1,0,o),e=v(e,n),_(e,r)},MATRIX:function(t){let e=g(t);const[r,n]=b(e);return e=v(e,n),_(e,r)},CELL:d,FENCE:d,ROW:d,FRACTION:function(t){const[e,r,,n,o]=Array.from(t.childNodes),i=p(r),a=p(n),s=m(i),l=m(a);let c=Math.max(s,l);const u=e+new Array(c+1).join("\u2812")+o;return c=u.length,`${O(i,c)}\n${u}\n${O(a,c)}`},NUMERATOR:E,DENOMINATOR:E};function p(t){const e=o.tagName(t),r=u[e];return r?r(t):t.textContent}function h(t,e){if(!t||!e)return t+e;const r=f(t),n=f(e),o=r-n;t=o<0?y(t,n,m(t)):t,e=o>0?y(e,r,m(e)):e;const i=t.split(/\r\n|\r|\n/),a=e.split(/\r\n|\r|\n/),s=[];for(let t=0;tMath.max(e.length,t)),0)}function y(t,e,r){return t=function(t,e){const r=e-f(t);return t+(r>0?new Array(r+1).join("\n"):"")}(t,e),function(t,e){const r=t.split(/\r\n|\r|\n/),n=[];for(const t of r){const r=e-t.length;n.push(t+(r>0?new Array(r+1).join("\u2800"):""))}return n.join("\n")}(t,r)}function g(t){const e=Array.from(t.childNodes),r=[];for(const t of e)t.nodeType===o.NodeType.ELEMENT_NODE&&r.push(M(t));return r}function b(t){const e=t.reduce(((t,e)=>Math.max(e.height,t)),0),r=[];for(let e=0;et.width[e])).reduce(((t,e)=>Math.max(t,e)),0));return[e,r]}function v(t,e){const r=[];for(const n of t){if(0===n.height)continue;const t=[];for(let r=0;rt.lfence+t.cells.join(t.sep)+t.rfence)).join("\n");const r=[];for(const e of t){const t=S(e.sep,e.height);let n=e.cells.shift();for(;e.cells.length;)n=h(n,t),n=h(n,e.cells.shift());n=h(S(e.lfence,e.height),n),n=h(n,S(e.rfence,e.height)),r.push(n),r.push(e.lfence+new Array(m(n)-3).join(e.sep)+e.rfence)}return r.slice(0,-1).join("\n")}function S(t,e){let r="";for(;e;)r+=t+"\n",e--;return r.slice(0,-1)}function x(t){return t.nodeType===o.NodeType.ELEMENT_NODE&&"FENCE"===o.tagName(t)?p(t):""}function M(t){const e=Array.from(t.childNodes),r=x(e[0]),n=x(e[e.length-1]);r&&e.shift(),n&&e.pop();let i="";const a=[];for(const t of e){if(t.nodeType===o.NodeType.TEXT_NODE){i=t.textContent;continue}const e=p(t);a.push(e)}return{lfence:r,rfence:n,sep:i,cells:a,height:a.reduce(((t,e)=>Math.max(f(e),t)),0),width:a.map(m)}}function O(t,e){const r=(e-m(t))/2,[n,o]=Math.floor(r)===r?[r,r]:[Math.floor(r),Math.ceil(r)],i=t.split(/\r\n|\r|\n/),a=[],[s,l]=[new Array(n+1).join("\u2800"),new Array(o+1).join("\u2800")];for(const t of i)a.push(s+t+l);return a.join("\n")}function E(t){const e=t.firstChild,r=d(t);if(e&&e.nodeType===o.NodeType.ELEMENT_NODE){if("ENGLISH"===o.tagName(e))return"\u2830"+r;if("NUMBER"===o.tagName(e))return"\u283c"+r}return r}},182:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MarkupRenderer=void 0;const n=r(4440),o=r(3921);class i extends o.AbstractAudioRenderer{constructor(){super(...arguments),this.ignoreElements=[n.personalityProps.LAYOUT],this.scaleFunction=null}setScaleFunction(t,e,r,n,o=0){this.scaleFunction=i=>{const a=(i-t)/(e-t),s=r*(1-a)+n*a;return+(Math.round(s+"e+"+o)+"e-"+o)}}applyScaleFunction(t){return this.scaleFunction?this.scaleFunction(t):t}ignoreElement(t){return-1!==this.ignoreElements.indexOf(t)}}e.MarkupRenderer=i},8990:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.PunctuationRenderer=void 0;const n=r(4440),o=r(3921),i=r(3706);class a extends o.AbstractAudioRenderer{markup(t){const e=i.personalityMarkup(t);let r="",o=null,a=!1;for(let t,s=0;t=e[s];s++)i.isMarkupElement(t)||(i.isPauseElement(t)?a&&(o=i.mergePause(o,t,Math.max)):(o&&(r+=this.pause(o[n.personalityProps.PAUSE]),o=null),r+=(a?this.getSeparator():"")+this.merge(t.span),a=!0));return r}pause(t){let e;return e="number"==typeof t?t<=250?"short":t<=500?"medium":"long":t,a.PAUSE_PUNCTUATION.get(e)||""}}e.PunctuationRenderer=a,a.PAUSE_PUNCTUATION=new Map([["short",","],["medium",";"],["long","."]])},6660:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SableRenderer=void 0;const n=r(4440),o=r(2456);class i extends o.XmlRenderer{finalize(t){return''+this.getSeparator()+t+this.getSeparator()+""}pause(t){return''}prosodyElement(t,e){switch(e=this.applyScaleFunction(e),t){case n.personalityProps.PITCH:return'';case n.personalityProps.RATE:return'';case n.personalityProps.VOLUME:return'';default:return"<"+t.toUpperCase()+' VALUE="'+e+'">'}}closeTag(t){return""}}e.SableRenderer=i},9536:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Span=void 0;e.Span=class{constructor(t,e){this.speech=t,this.attributes=e}}},7504:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SsmlRenderer=void 0;const n=r(5897),o=r(4440),i=r(2456);class a extends i.XmlRenderer{finalize(t){return''+this.getSeparator()+t+this.getSeparator()+""}pause(t){return''}prosodyElement(t,e){const r=(e=Math.floor(this.applyScaleFunction(e)))<0?e.toString():"+"+e.toString();return"":'%">')}closeTag(t){return""}}e.SsmlRenderer=a},3757:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SsmlStepRenderer=void 0;const n=r(7504);class o extends n.SsmlRenderer{markup(t){return o.MARKS={},super.markup(t)}merge(t){const e=[];for(let r=0;r'),o.MARKS[i]=!0),1===n.speech.length&&n.speech.match(/[a-zA-Z]/)?e.push(''+n.speech+""):e.push(n.speech)}return e.join(this.getSeparator())}}e.SsmlStepRenderer=o,o.CHARACTER_ATTR="character",o.MARKS={}},4032:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.StringRenderer=void 0;const n=r(3921),o=r(3706);class i extends n.AbstractAudioRenderer{markup(t){let e="";const r=(0,o.personalityMarkup)(t).filter((t=>t.span));if(!r.length)return e;const n=r.length-1;for(let t,o=0;t=r[o];o++){if(t.span&&(e+=this.merge(t.span)),o>=n)continue;const r=t.join;e+=void 0===r?this.getSeparator():r}return e}}e.StringRenderer=i},2456:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.XmlRenderer=void 0;const n=r(5897),o=r(3706),i=r(182);class a extends i.MarkupRenderer{markup(t){this.setScaleFunction(-2,2,-100,100,2);const e=o.personalityMarkup(t),r=[],i=[];for(let t,a=0;t=e[a];a++)if(t.span)r.push(this.merge(t.span));else if(o.isPauseElement(t))r.push(this.pause(t));else{if(t.close.length)for(let e=0;e{r.push(this.prosodyElement(e,t[e])),i.push(e)}))}}return r.join(" ")}}e.XmlRenderer=a},707:function(t,e){function r(t,e){return t?e?t.filter((t=>e.indexOf(t)<0)):t:[]}Object.defineProperty(e,"__esModule",{value:!0}),e.union=e.setdifference=e.interleaveLists=e.removeEmpty=void 0,e.removeEmpty=function(t){return t.filter((t=>t))},e.interleaveLists=function(t,e){const r=[];for(;t.length||e.length;)t.length&&r.push(t.shift()),e.length&&r.push(e.shift());return r},e.setdifference=r,e.union=function(t,e){return t&&e?t.concat(r(e,t)):t||e||[]}},2139:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.loadScript=e.loadMapsForIE_=e.installWGXpath_=e.loadWGXpath_=e.mapsForIE=e.detectEdge=e.detectIE=void 0;const n=r(2315),o=r(5274);function i(t){l(n.default.WGXpath),a(t)}function a(t,e){let r=e||1;"undefined"==typeof wgxpath&&r<10?setTimeout((function(){a(t,r++)}),200):r>=10||(n.default.wgxpath=wgxpath,t?n.default.wgxpath.install({document:document}):n.default.wgxpath.install(),o.xpath.evaluate=document.evaluate,o.xpath.result=XPathResult,o.xpath.createNSResolver=document.createNSResolver)}function s(){l(n.default.mathmapsIePath)}function l(t){const e=n.default.document.createElement("script");e.type="text/javascript",e.src=t,n.default.document.head?n.default.document.head.appendChild(e):n.default.document.body.appendChild(e)}e.detectIE=function(){return"undefined"!=typeof window&&"ActiveXObject"in window&&"clipboardData"in window&&(s(),i(),!0)},e.detectEdge=function(){var t;return"undefined"!=typeof window&&"MSGestureEvent"in window&&null===(null===(t=window.chrome)||void 0===t?void 0:t.loadTimes)&&(document.evaluate=null,i(!0),!0)},e.mapsForIE=null,e.loadWGXpath_=i,e.installWGXpath_=a,e.loadMapsForIE_=s,e.loadScript=l},2057:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Debugger=void 0;const n=r(2315);class o{constructor(){this.isActive_=!1,this.outputFunction_=console.info,this.stream_=null}static getInstance(){return o.instance=o.instance||new o,o.instance}init(t){t&&this.startDebugFile_(t),this.isActive_=!0}output(...t){this.isActive_&&this.output_(t)}generateOutput(t){this.isActive_&&this.output_(t.apply(t,[]))}exit(t=(()=>{})){this.isActive_&&this.stream_&&this.stream_.end("","",t)}startDebugFile_(t){this.stream_=n.default.fs.createWriteStream(t),this.outputFunction_=function(...t){this.stream_.write(t.join(" ")),this.stream_.write("\n")}.bind(this),this.stream_.on("error",function(t){console.info("Invalid log file. Debug information sent to console."),this.outputFunction_=console.info}.bind(this)),this.stream_.on("finish",(function(){console.info("Finalizing debug file.")}))}output_(t){this.outputFunction_.apply(console.info===this.outputFunction_?console:this.outputFunction_,["Speech Rule Engine Debugger:"].concat(t))}}e.Debugger=o},5740:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.serializeXml=e.cloneNode=e.tagName=e.querySelectorAll=e.querySelectorAllByAttrValue=e.querySelectorAllByAttr=e.formatXml=e.createTextNode=e.createElementNS=e.createElement=e.replaceNode=e.NodeType=e.parseInput=e.XML_ENTITIES=e.trimInput_=e.toArray=void 0;const n=r(5897),o=r(4440),i=r(2315),a=r(5274);function s(t){const e=[];for(let r=0,n=t.length;r[ \f\n\r\t\v\u200b]+<").trim()}function c(t,e){if(!e)return[!1,""];const r=t.match(/^<([^> ]+).*>/),n=e.match(/^<\/([^>]+)>(.*)/);return r&&n&&r[1]===n[1]?[!0,n[2]]:[!1,""]}e.toArray=s,e.trimInput_=l,e.XML_ENTITIES={"<":!0,">":!0,"&":!0,""":!0,"'":!0},e.parseInput=function(t){const e=new i.default.xmldom.DOMParser,r=l(t),s=!!r.match(/&(?!lt|gt|amp|quot|apos)\w+;/g);if(!r)throw new Error("Empty input!");try{const t=e.parseFromString(r,s?"text/html":"text/xml");return n.default.getInstance().mode===o.Mode.HTTP?(a.xpath.currentDocument=t,s?t.body.childNodes[0]:t.documentElement):t.documentElement}catch(t){throw new n.SREError("Illegal input: "+t.message)}},function(t){t[t.ELEMENT_NODE=1]="ELEMENT_NODE",t[t.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",t[t.TEXT_NODE=3]="TEXT_NODE",t[t.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",t[t.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",t[t.ENTITY_NODE=6]="ENTITY_NODE",t[t.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",t[t.COMMENT_NODE=8]="COMMENT_NODE",t[t.DOCUMENT_NODE=9]="DOCUMENT_NODE",t[t.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",t[t.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE",t[t.NOTATION_NODE=12]="NOTATION_NODE"}(e.NodeType||(e.NodeType={})),e.replaceNode=function(t,e){t.parentNode&&(t.parentNode.insertBefore(e,t),t.parentNode.removeChild(t))},e.createElement=function(t){return i.default.document.createElement(t)},e.createElementNS=function(t,e){return i.default.document.createElementNS(t,e)},e.createTextNode=function(t){return i.default.document.createTextNode(t)},e.formatXml=function(t){let e="",r=/(>)(<)(\/*)/g,n=0,o=(t=t.replace(r,"$1\r\n$2$3")).split("\r\n");for(r=/(\.)*(<)(\/*)/g,o=o.map((t=>t.replace(r,"$1\r\n$2$3").split("\r\n"))).reduce(((t,e)=>t.concat(e)),[]);o.length;){let t=o.shift();if(!t)continue;let r=0;if(t.match(/^<\w[^>/]*>[^>]+$/)){const e=c(t,o[0]);e[0]?e[1]?(t+=o.shift().slice(0,-e[1].length),e[1].trim()&&o.unshift(e[1])):t+=o.shift():r=1}else if(t.match(/^<\/\w/))0!==n&&(n-=1);else if(t.match(/^<\w[^>]*[^/]>.*$/))r=1;else if(t.match(/^<\w[^>]*\/>.+$/)){const e=t.indexOf(">")+1;t.slice(e).trim()&&o.unshift(),t=t.slice(0,e)}else r=0;e+=new Array(n+1).join(" ")+t+"\r\n",n+=r}return e},e.querySelectorAllByAttr=function(t,e){return t.querySelectorAll?s(t.querySelectorAll(`[${e}]`)):a.evalXPath(`.//*[@${e}]`,t)},e.querySelectorAllByAttrValue=function(t,e,r){return t.querySelectorAll?s(t.querySelectorAll(`[${e}="${r}"]`)):a.evalXPath(`.//*[@${e}="${r}"]`,t)},e.querySelectorAll=function(t,e){return t.querySelectorAll?s(t.querySelectorAll(e)):a.evalXPath(`.//${e}`,t)},e.tagName=function(t){return t.tagName.toUpperCase()},e.cloneNode=function(t){return t.cloneNode(!0)},e.serializeXml=function(t){return(new i.default.xmldom.XMLSerializer).serializeToString(t)}},5897:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.EnginePromise=e.SREError=void 0;const n=r(1676),o=r(4440),i=r(2057),a=r(1377);class s extends Error{constructor(t=""){super(),this.message=t,this.name="SRE Error"}}e.SREError=s;class l{constructor(){this.customLoader=null,this.parsers={},this.comparator=null,this.mode=o.Mode.SYNC,this.init=!0,this.delay=!1,this.comparators={},this.domain="mathspeak",this.style=n.DynamicCstr.DEFAULT_VALUES[n.Axis.STYLE],this._defaultLocale=n.DynamicCstr.DEFAULT_VALUES[n.Axis.LOCALE],this.locale=this.defaultLocale,this.subiso="",this.modality=n.DynamicCstr.DEFAULT_VALUES[n.Axis.MODALITY],this.speech=o.Speech.NONE,this.markup=o.Markup.NONE,this.walker="Table",this.structure=!1,this.ruleSets=[],this.strict=!1,this.isIE=!1,this.isEdge=!1,this.rate="100",this.pprint=!1,this.config=!1,this.rules="",this.prune="",this.evaluator=l.defaultEvaluator,this.defaultParser=new n.DynamicCstrParser(n.DynamicCstr.DEFAULT_ORDER),this.parser=this.defaultParser,this.dynamicCstr=n.DynamicCstr.defaultCstr()}set defaultLocale(t){this._defaultLocale=a.Variables.ensureLocale(t,this._defaultLocale)}get defaultLocale(){return this._defaultLocale}static getInstance(){return l.instance=l.instance||new l,l.instance}static defaultEvaluator(t,e){return t}static evaluateNode(t){return l.nodeEvaluator(t)}getRate(){const t=parseInt(this.rate,10);return isNaN(t)?100:t}setDynamicCstr(t){if(this.defaultLocale&&(n.DynamicCstr.DEFAULT_VALUES[n.Axis.LOCALE]=this.defaultLocale),t){const e=Object.keys(t);for(let r=0;r{void 0!==t[r]&&(e[r]=t[r])};return r("mode"),e.configurate(t),s.default.BINARY_FEATURES.forEach((r=>{void 0!==t[r]&&(e[r]=!!t[r])})),s.default.STRING_FEATURES.forEach(r),t.json&&(c.default.jsonPath=l.makePath(t.json)),t.xpath&&(c.default.WGXpath=t.xpath),e.setCustomLoader(t.custom),function(t){t.isIE=a.detectIE(),t.isEdge=a.detectEdge()}(e),o.setLocale(),e.setDynamicCstr(),e.init?(s.EnginePromise.promises.init=new Promise(((t,e)=>{setTimeout((()=>{t("init")}),10)})),e.init=!1,s.EnginePromise.get()):e.delay?(e.delay=!1,s.EnginePromise.get()):i.loadLocale()}))}},8496:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Event=e.EventType=e.Move=e.KeyCode=void 0,function(t){t[t.ENTER=13]="ENTER",t[t.ESC=27]="ESC",t[t.SPACE=32]="SPACE",t[t.PAGE_UP=33]="PAGE_UP",t[t.PAGE_DOWN=34]="PAGE_DOWN",t[t.END=35]="END",t[t.HOME=36]="HOME",t[t.LEFT=37]="LEFT",t[t.UP=38]="UP",t[t.RIGHT=39]="RIGHT",t[t.DOWN=40]="DOWN",t[t.TAB=9]="TAB",t[t.LESS=188]="LESS",t[t.GREATER=190]="GREATER",t[t.DASH=189]="DASH",t[t.ZERO=48]="ZERO",t[t.ONE=49]="ONE",t[t.TWO=50]="TWO",t[t.THREE=51]="THREE",t[t.FOUR=52]="FOUR",t[t.FIVE=53]="FIVE",t[t.SIX=54]="SIX",t[t.SEVEN=55]="SEVEN",t[t.EIGHT=56]="EIGHT",t[t.NINE=57]="NINE",t[t.A=65]="A",t[t.B=66]="B",t[t.C=67]="C",t[t.D=68]="D",t[t.E=69]="E",t[t.F=70]="F",t[t.G=71]="G",t[t.H=72]="H",t[t.I=73]="I",t[t.J=74]="J",t[t.K=75]="K",t[t.L=76]="L",t[t.M=77]="M",t[t.N=78]="N",t[t.O=79]="O",t[t.P=80]="P",t[t.Q=81]="Q",t[t.R=82]="R",t[t.S=83]="S",t[t.T=84]="T",t[t.U=85]="U",t[t.V=86]="V",t[t.W=87]="W",t[t.X=88]="X",t[t.Y=89]="Y",t[t.Z=90]="Z"}(e.KeyCode||(e.KeyCode={})),e.Move=new Map([[13,"ENTER"],[27,"ESC"],[32,"SPACE"],[33,"PAGE_UP"],[34,"PAGE_DOWN"],[35,"END"],[36,"HOME"],[37,"LEFT"],[38,"UP"],[39,"RIGHT"],[40,"DOWN"],[9,"TAB"],[188,"LESS"],[190,"GREATER"],[189,"DASH"],[48,"ZERO"],[49,"ONE"],[50,"TWO"],[51,"THREE"],[52,"FOUR"],[53,"FIVE"],[54,"SIX"],[55,"SEVEN"],[56,"EIGHT"],[57,"NINE"],[65,"A"],[66,"B"],[67,"C"],[68,"D"],[69,"E"],[70,"F"],[71,"G"],[72,"H"],[73,"I"],[74,"J"],[75,"K"],[76,"L"],[77,"M"],[78,"N"],[79,"O"],[80,"P"],[81,"Q"],[82,"R"],[83,"S"],[84,"T"],[85,"U"],[86,"V"],[87,"W"],[88,"X"],[89,"Y"],[90,"Z"]]),function(t){t.CLICK="click",t.DBLCLICK="dblclick",t.MOUSEDOWN="mousedown",t.MOUSEUP="mouseup",t.MOUSEOVER="mouseover",t.MOUSEOUT="mouseout",t.MOUSEMOVE="mousemove",t.SELECTSTART="selectstart",t.KEYPRESS="keypress",t.KEYDOWN="keydown",t.KEYUP="keyup",t.TOUCHSTART="touchstart",t.TOUCHMOVE="touchmove",t.TOUCHEND="touchend",t.TOUCHCANCEL="touchcancel"}(e.EventType||(e.EventType={}));e.Event=class{constructor(t,e,r){this.src=t,this.type=e,this.callback=r}add(){this.src.addEventListener(this.type,this.callback)}remove(){this.src.removeEventListener(this.type,this.callback)}}},7248:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.localePath=e.makePath=void 0;const n=r(2315);function o(t){return t.match("/$")?t:t+"/"}e.makePath=o,e.localePath=function(t,e="json"){return o(n.default.jsonPath)+t+(e.match(/^\./)?e:"."+e)}},3769:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.KeyProcessor=e.Processor=void 0;const n=r(8496);class o{constructor(t,e){this.name=t,this.process=e.processor,this.postprocess=e.postprocessor||((t,e)=>t),this.processor=this.postprocess?function(t){return this.postprocess(this.process(t),t)}:this.process,this.print=e.print||o.stringify_,this.pprint=e.pprint||this.print}static stringify_(t){return t?t.toString():t}}e.Processor=o,o.LocalState={walker:null,speechGenerator:null,highlighter:null};class i extends o{constructor(t,e){super(t,e),this.key=e.key||i.getKey_}static getKey_(t){return"string"==typeof t?n.KeyCode[t.toUpperCase()]:t}}e.KeyProcessor=i},6499:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.keypress=e.output=e.print=e.process=e.set=void 0;const n=r(8290),o=r(5714),i=r(3090),a=r(4356),s=r(1414),l=r(9552),c=r(9543),u=r(3362),p=r(1204),h=r(5740),d=r(5897),f=r(4440),m=r(3769),y=r(5274),g=new Map;function b(t){g.set(t.name,t)}function v(t){const e=g.get(t);if(!e)throw new d.SREError("Unknown processor "+t);return e}function _(t,e){const r=v(t);try{return r.processor(e)}catch(t){throw new d.SREError("Processing error for expression "+e)}}function S(t,e){const r=v(t);return d.default.getInstance().pprint?r.pprint(e):r.print(e)}e.set=b,e.process=_,e.print=S,e.output=function(t,e){const r=v(t);try{const t=r.processor(e);return d.default.getInstance().pprint?r.pprint(t):r.print(t)}catch(t){throw new d.SREError("Processing error for expression "+e)}},e.keypress=function(t,e){const r=v(t),n=r instanceof m.KeyProcessor?r.key(e):e,o=r.processor(n);return d.default.getInstance().pprint?r.pprint(o):r.print(o)},b(new m.Processor("semantic",{processor:function(t){const e=h.parseInput(t);return s.xmlTree(e)},postprocessor:function(t,e){const r=d.default.getInstance().speech;if(r===f.Speech.NONE)return t;const o=h.cloneNode(t);let i=c.computeMarkup(o);if(r===f.Speech.SHALLOW)return t.setAttribute("speech",n.finalize(i)),t;const a=y.evalXPath(".//*[@id]",t),s=y.evalXPath(".//*[@id]",o);for(let t,e,r=0;t=a[r],e=s[r];r++)i=c.computeMarkup(e),t.setAttribute("speech",n.finalize(i));return t},pprint:function(t){return h.formatXml(t.toString())}})),b(new m.Processor("speech",{processor:function(t){const e=h.parseInput(t),r=s.xmlTree(e),o=c.computeSpeech(r);return n.finalize(n.markup(o))},pprint:function(t){const e=t.toString();return n.isXml()?h.formatXml(e):e}})),b(new m.Processor("json",{processor:function(t){const e=h.parseInput(t);return s.getTree(e).toJson()},postprocessor:function(t,e){const r=d.default.getInstance().speech;if(r===f.Speech.NONE)return t;const o=h.parseInput(e),i=s.xmlTree(o),a=c.computeMarkup(i);if(r===f.Speech.SHALLOW)return t.stree.speech=n.finalize(a),t;const l=t=>{const e=y.evalXPath(`.//*[@id=${t.id}]`,i)[0],r=c.computeMarkup(e);t.speech=n.finalize(r),t.children&&t.children.forEach(l)};return l(t.stree),t},print:function(t){return JSON.stringify(t)},pprint:function(t){return JSON.stringify(t,null,2)}})),b(new m.Processor("description",{processor:function(t){const e=h.parseInput(t),r=s.xmlTree(e);return c.computeSpeech(r)},print:function(t){return JSON.stringify(t)},pprint:function(t){return JSON.stringify(t,null,2)}})),b(new m.Processor("enriched",{processor:function(t){return o.semanticMathmlSync(t)},postprocessor:function(t,e){const r=p.getSemanticRoot(t);let n;switch(d.default.getInstance().speech){case f.Speech.NONE:break;case f.Speech.SHALLOW:n=l.generator("Adhoc"),n.getSpeech(r,t);break;case f.Speech.DEEP:n=l.generator("Tree"),n.getSpeech(t,t)}return t},pprint:function(t){return h.formatXml(t.toString())}})),b(new m.Processor("walker",{processor:function(t){const e=l.generator("Node");m.Processor.LocalState.speechGenerator=e,e.setOptions({modality:d.default.getInstance().modality,locale:d.default.getInstance().locale,domain:d.default.getInstance().domain,style:d.default.getInstance().style}),m.Processor.LocalState.highlighter=i.highlighter({color:"black"},{color:"white"},{renderer:"NativeMML"});const r=_("enriched",t),n=S("enriched",r);return m.Processor.LocalState.walker=u.walker(d.default.getInstance().walker,r,e,m.Processor.LocalState.highlighter,n),m.Processor.LocalState.walker},print:function(t){return m.Processor.LocalState.walker.speech()}})),b(new m.KeyProcessor("move",{processor:function(t){if(!m.Processor.LocalState.walker)return null;return!1===m.Processor.LocalState.walker.move(t)?n.error(t):m.Processor.LocalState.walker.speech()}})),b(new m.Processor("number",{processor:function(t){const e=parseInt(t,10);return isNaN(e)?"":a.LOCALE.NUMBERS.numberToWords(e)}})),b(new m.Processor("ordinal",{processor:function(t){const e=parseInt(t,10);return isNaN(e)?"":a.LOCALE.NUMBERS.wordOrdinal(e)}})),b(new m.Processor("numericOrdinal",{processor:function(t){const e=parseInt(t,10);return isNaN(e)?"":a.LOCALE.NUMBERS.numericOrdinal(e)}})),b(new m.Processor("vulgar",{processor:function(t){const[e,r]=t.split("/").map((t=>parseInt(t,10)));return isNaN(e)||isNaN(r)?"":_("speech",`${e}${r}`)}}))},2998:function(t,e,r){var n=this&&this.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{l(n.next(t))}catch(t){i(t)}}function s(t){try{l(n.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,s)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.localePath=e.exit=e.move=e.walk=e.processFile=e.file=e.vulgar=e.numericOrdinal=e.ordinal=e.number=e.toEnriched=e.toDescription=e.toJson=e.toSemantic=e.toSpeech=e.localeLoader=e.engineReady=e.engineSetup=e.setupEngine=e.version=void 0;const o=r(5897),i=r(6828),a=r(4440),s=r(7248),l=r(6499),c=r(2315),u=r(1377),p=r(6141);function h(t){return n(this,void 0,void 0,(function*(){return(0,i.setup)(t)}))}function d(t,e){return l.process(t,e)}function f(t,e,r){switch(o.default.getInstance().mode){case a.Mode.ASYNC:return function(t,e,r){return n(this,void 0,void 0,(function*(){const n=yield c.default.fs.promises.readFile(e,{encoding:"utf8"}),i=l.output(t,n);if(r)try{c.default.fs.promises.writeFile(r,i)}catch(t){throw new o.SREError("Can not write to file: "+r)}return i}))}(t,e,r);case a.Mode.SYNC:return function(t,e,r){const n=function(t){let e;try{e=c.default.fs.readFileSync(t,{encoding:"utf8"})}catch(e){throw new o.SREError("Can not open file: "+t)}return e}(e),i=l.output(t,n);if(r)try{c.default.fs.writeFileSync(r,i)}catch(t){throw new o.SREError("Can not write to file: "+r)}return i}(t,e,r);default:throw new o.SREError(`Can process files in ${o.default.getInstance().mode} mode`)}}e.version=u.Variables.VERSION,e.setupEngine=h,e.engineSetup=function(){const t=["mode"].concat(o.default.STRING_FEATURES,o.default.BINARY_FEATURES),e=o.default.getInstance(),r={};return t.forEach((function(t){r[t]=e[t]})),r.json=c.default.jsonPath,r.xpath=c.default.WGXpath,r.rules=e.ruleSets.slice(),r},e.engineReady=function(){return n(this,void 0,void 0,(function*(){return h({}).then((()=>o.EnginePromise.getall()))}))},e.localeLoader=p.standardLoader,e.toSpeech=function(t){return d("speech",t)},e.toSemantic=function(t){return d("semantic",t)},e.toJson=function(t){return d("json",t)},e.toDescription=function(t){return d("description",t)},e.toEnriched=function(t){return d("enriched",t)},e.number=function(t){return d("number",t)},e.ordinal=function(t){return d("ordinal",t)},e.numericOrdinal=function(t){return d("numericOrdinal",t)},e.vulgar=function(t){return d("vulgar",t)},e.file={},e.file.toSpeech=function(t,e){return f("speech",t,e)},e.file.toSemantic=function(t,e){return f("semantic",t,e)},e.file.toJson=function(t,e){return f("json",t,e)},e.file.toDescription=function(t,e){return f("description",t,e)},e.file.toEnriched=function(t,e){return f("enriched",t,e)},e.processFile=f,e.walk=function(t){return l.output("walker",t)},e.move=function(t){return l.keypress("move",t)},e.exit=function(t){const e=t||0;o.EnginePromise.getall().then((()=>process.exit(e)))},e.localePath=s.localePath,c.default.documentSupported?h({mode:a.Mode.HTTP}).then((()=>h({}))):h({mode:a.Mode.SYNC}).then((()=>h({mode:a.Mode.ASYNC})))},2315:function(__unused_webpack_module,exports,__webpack_require__){var __dirname="/";Object.defineProperty(exports,"__esModule",{value:!0});const variables_1=__webpack_require__(1377);class SystemExternal{static extRequire(library){if("undefined"!=typeof process){const nodeRequire=eval("require");return nodeRequire(library)}return null}}exports.default=SystemExternal,SystemExternal.windowSupported=!("undefined"==typeof window),SystemExternal.documentSupported=SystemExternal.windowSupported&&!(void 0===window.document),SystemExternal.xmldom=SystemExternal.documentSupported?window:SystemExternal.extRequire("xmldom-sre"),SystemExternal.document=SystemExternal.documentSupported?window.document:(new SystemExternal.xmldom.DOMImplementation).createDocument("","",0),SystemExternal.xpath=SystemExternal.documentSupported?document:function(){const t={document:{},XPathResult:{}};return SystemExternal.extRequire("wicked-good-xpath").install(t),t.document.XPathResult=t.XPathResult,t.document}(),SystemExternal.mathmapsIePath="https://cdn.jsdelivr.net/npm/sre-mathmaps-ie@"+variables_1.Variables.VERSION+"mathmaps_ie.js",SystemExternal.commander=SystemExternal.documentSupported?null:SystemExternal.extRequire("commander"),SystemExternal.fs=SystemExternal.documentSupported?null:SystemExternal.extRequire("fs"),SystemExternal.url=variables_1.Variables.url,SystemExternal.jsonPath=(SystemExternal.documentSupported?SystemExternal.url:process.env.SRE_JSON_PATH||__webpack_require__.g.SRE_JSON_PATH||__dirname+"/mathmaps")+"/",SystemExternal.WGXpath=variables_1.Variables.WGXpath,SystemExternal.wgxpath=null},1377:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Variables=void 0;class r{static ensureLocale(t,e){return r.LOCALES.get(t)?t:(console.error(`Locale ${t} does not exist! Using ${r.LOCALES.get(e)} instead.`),e)}}e.Variables=r,r.VERSION="4.0.6",r.LOCALES=new Map([["ca","Catalan"],["da","Danish"],["de","German"],["en","English"],["es","Spanish"],["fr","French"],["hi","Hindi"],["it","Italian"],["nb","Bokm\xe5l"],["nn","Nynorsk"],["sv","Swedish"],["nemeth","Nemeth"]]),r.mathjaxVersion="3.2.1",r.url="https://cdn.jsdelivr.net/npm/speech-rule-engine@"+r.VERSION+"/lib/mathmaps",r.WGXpath="https://cdn.jsdelivr.net/npm/wicked-good-xpath@1.3.0/dist/wgxpath.install.js"},5274:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.updateEvaluator=e.evaluateString=e.evaluateBoolean=e.getLeafNodes=e.evalXPath=e.resolveNameSpace=e.xpath=void 0;const n=r(5897),o=r(4440),i=r(2315);function a(){return"undefined"!=typeof XPathResult}e.xpath={currentDocument:null,evaluate:a()?document.evaluate:i.default.xpath.evaluate,result:a()?XPathResult:i.default.xpath.XPathResult,createNSResolver:a()?document.createNSResolver:i.default.xpath.createNSResolver};const s={xhtml:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",mml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function l(t){return s[t]||null}e.resolveNameSpace=l;class c{constructor(){this.lookupNamespaceURI=l}}function u(t,r,i){return n.default.getInstance().mode!==o.Mode.HTTP||n.default.getInstance().isIE||n.default.getInstance().isEdge?e.xpath.evaluate(t,r,new c,i,null):e.xpath.currentDocument.evaluate(t,r,l,i,null)}function p(t,r){let n;try{n=u(t,r,e.xpath.result.ORDERED_NODE_ITERATOR_TYPE)}catch(t){return[]}const o=[];for(let t=n.iterateNext();t;t=n.iterateNext())o.push(t);return o}e.evalXPath=p,e.getLeafNodes=function(t){return p(".//*[count(*)=0]",t)},e.evaluateBoolean=function(t,r){let n;try{n=u(t,r,e.xpath.result.BOOLEAN_TYPE)}catch(t){return!1}return n.booleanValue},e.evaluateString=function(t,r){let n;try{n=u(t,r,e.xpath.result.STRING_TYPE)}catch(t){return""}return n.stringValue},e.updateEvaluator=function(t){if(n.default.getInstance().mode!==o.Mode.HTTP)return;let r=t;for(;r&&!r.evaluate;)r=r.parentNode;r&&r.evaluate?e.xpath.currentDocument=r:t.ownerDocument&&(e.xpath.currentDocument=t.ownerDocument)}},9268:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractEnrichCase=void 0;e.AbstractEnrichCase=class{constructor(t){this.semantic=t}}},6061:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseBinomial=void 0;const n=r(5740),o=r(9268),i=r(5452),a=r(2298);class s extends o.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){return!t.mathmlTree&&"line"===t.type&&"binomial"===t.role}getMathml(){if(!this.semantic.childNodes.length)return this.mml;const t=this.semantic.childNodes[0];if(this.mml=(0,i.walkTree)(t),this.mml.hasAttribute(a.Attribute.TYPE)){const t=n.createElement("mrow");t.setAttribute(a.Attribute.ADDED,"true"),n.replaceNode(this.mml,t),t.appendChild(this.mml),this.mml=t}return(0,a.setAttributes)(this.mml,this.semantic),this.mml}}e.CaseBinomial=s},5765:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseDoubleScript=void 0;const n=r(5740),o=r(9268),i=r(5452),a=r(2298);class s extends o.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){if(!t.mathmlTree||!t.childNodes.length)return!1;const e=n.tagName(t.mathmlTree),r=t.childNodes[0].role;return"MSUBSUP"===e&&"subsup"===r||"MUNDEROVER"===e&&"underover"===r}getMathml(){const t=this.semantic.childNodes[0],e=t.childNodes[0],r=this.semantic.childNodes[1],n=t.childNodes[1],o=i.walkTree(r),s=i.walkTree(e),l=i.walkTree(n);return(0,a.setAttributes)(this.mml,this.semantic),this.mml.setAttribute(a.Attribute.CHILDREN,(0,a.makeIdList)([e,n,r])),[s,l,o].forEach((t=>i.getInnerNode(t).setAttribute(a.Attribute.PARENT,this.mml.getAttribute(a.Attribute.ID)))),this.mml.setAttribute(a.Attribute.TYPE,t.role),i.addCollapsedAttribute(this.mml,[this.semantic.id,[t.id,e.id,n.id],r.id]),this.mml}}e.CaseDoubleScript=s},7251:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseEmbellished=void 0;const n=r(5740),o=r(5952),i=r(9268),a=r(5765),s=r(7014),l=r(6887),c=r(5452),u=r(2298);class p extends i.AbstractEnrichCase{constructor(t){super(t),this.fenced=null,this.fencedMml=null,this.fencedMmlNodes=[],this.ofence=null,this.ofenceMml=null,this.ofenceMap={},this.cfence=null,this.cfenceMml=null,this.cfenceMap={},this.parentCleanup=[]}static test(t){return!(!t.mathmlTree||!t.fencePointer||t.mathmlTree.getAttribute("data-semantic-type"))}static makeEmptyNode_(t){const e=n.createElement("mrow"),r=new o.SemanticNode(t);return r.type="empty",r.mathmlTree=e,r}static fencedMap_(t,e){e[t.id]=t.mathmlTree,t.embellished&&p.fencedMap_(t.childNodes[0],e)}getMathml(){this.getFenced_(),this.fencedMml=c.walkTree(this.fenced),this.getFencesMml_(),"empty"!==this.fenced.type||this.fencedMml.parentNode||(this.fencedMml.setAttribute(u.Attribute.ADDED,"true"),this.cfenceMml.parentNode.insertBefore(this.fencedMml,this.cfenceMml)),this.getFencedMml_();return this.rewrite_()}fencedElement(t){return"fenced"===t.type||"matrix"===t.type||"vector"===t.type}getFenced_(){let t=this.semantic;for(;!this.fencedElement(t);)t=t.childNodes[0];this.fenced=t.childNodes[0],this.ofence=t.contentNodes[0],this.cfence=t.contentNodes[1],p.fencedMap_(this.ofence,this.ofenceMap),p.fencedMap_(this.cfence,this.cfenceMap)}getFencedMml_(){let t=this.ofenceMml.nextSibling;for(t=t===this.fencedMml?t:this.fencedMml;t&&t!==this.cfenceMml;)this.fencedMmlNodes.push(t),t=t.nextSibling}getFencesMml_(){let t=this.semantic;const e=Object.keys(this.ofenceMap),r=Object.keys(this.cfenceMap);for(;!(this.ofenceMml&&this.cfenceMml||t===this.fenced);)-1===e.indexOf(t.fencePointer)||this.ofenceMml||(this.ofenceMml=t.mathmlTree),-1===r.indexOf(t.fencePointer)||this.cfenceMml||(this.cfenceMml=t.mathmlTree),t=t.childNodes[0];this.ofenceMml||(this.ofenceMml=this.ofence.mathmlTree),this.cfenceMml||(this.cfenceMml=this.cfence.mathmlTree),this.ofenceMml&&(this.ofenceMml=c.ascendNewNode(this.ofenceMml)),this.cfenceMml&&(this.cfenceMml=c.ascendNewNode(this.cfenceMml))}rewrite_(){let t=this.semantic,e=null;const r=this.introduceNewLayer_();for((0,u.setAttributes)(r,this.fenced.parent);!this.fencedElement(t);){const o=t.mathmlTree,i=this.specialCase_(t,o);if(i)t=i;else{(0,u.setAttributes)(o,t);const e=[];for(let r,n=1;r=t.childNodes[n];n++)e.push(c.walkTree(r));t=t.childNodes[0]}const a=n.createElement("dummy"),s=o.childNodes[0];n.replaceNode(o,a),n.replaceNode(r,o),n.replaceNode(o.childNodes[0],r),n.replaceNode(a,s),e||(e=o)}return c.walkTree(this.ofence),c.walkTree(this.cfence),this.cleanupParents_(),e||r}specialCase_(t,e){const r=n.tagName(e);let o,i=null;if("MSUBSUP"===r?(i=t.childNodes[0],o=a.CaseDoubleScript):"MMULTISCRIPTS"===r&&("superscript"===t.type||"subscript"===t.type?o=s.CaseMultiscripts:"tensor"===t.type&&(o=l.CaseTensor),i=o&&t.childNodes[0]&&"subsup"===t.childNodes[0].role?t.childNodes[0]:t),!i)return null;const c=i.childNodes[0],u=p.makeEmptyNode_(c.id);return i.childNodes[0]=u,e=new o(t).getMathml(),i.childNodes[0]=c,this.parentCleanup.push(e),i.childNodes[0]}introduceNewLayer_(){const t=this.fullFence(this.ofenceMml),e=this.fullFence(this.cfenceMml);let r=n.createElement("mrow");if(n.replaceNode(this.fencedMml,r),this.fencedMmlNodes.forEach((t=>r.appendChild(t))),r.insertBefore(t,this.fencedMml),r.appendChild(e),!r.parentNode){const t=n.createElement("mrow");for(;r.childNodes.length>0;)t.appendChild(r.childNodes[0]);r.appendChild(t),r=t}return r}fullFence(t){const e=this.fencedMml.parentNode;let r=t;for(;r.parentNode&&r.parentNode!==e;)r=r.parentNode;return r}cleanupParents_(){this.parentCleanup.forEach((function(t){const e=t.childNodes[1].getAttribute(u.Attribute.PARENT);t.childNodes[0].setAttribute(u.Attribute.PARENT,e)}))}}e.CaseEmbellished=p},6265:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseLimit=void 0;const n=r(5740),o=r(9268),i=r(5452),a=r(2298);class s extends o.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){if(!t.mathmlTree||!t.childNodes.length)return!1;const e=n.tagName(t.mathmlTree),r=t.type;return("limupper"===r||"limlower"===r)&&("MSUBSUP"===e||"MUNDEROVER"===e)||"limboth"===r&&("MSUB"===e||"MUNDER"===e||"MSUP"===e||"MOVER"===e)}static walkTree_(t){t&&i.walkTree(t)}getMathml(){const t=this.semantic.childNodes;return"limboth"!==this.semantic.type&&this.mml.childNodes.length>=3&&(this.mml=i.introduceNewLayer([this.mml],this.semantic)),(0,a.setAttributes)(this.mml,this.semantic),t[0].mathmlTree||(t[0].mathmlTree=this.semantic.mathmlTree),t.forEach(s.walkTree_),this.mml}}e.CaseLimit=s},6514:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseLine=void 0;const n=r(9268),o=r(5452),i=r(2298);class a extends n.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){return!!t.mathmlTree&&"line"===t.type}getMathml(){return this.semantic.contentNodes.length&&o.walkTree(this.semantic.contentNodes[0]),this.semantic.childNodes.length&&o.walkTree(this.semantic.childNodes[0]),(0,i.setAttributes)(this.mml,this.semantic),this.mml}}e.CaseLine=a},6839:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseMultiindex=void 0;const n=r(5740),o=r(9268),i=r(5452),a=r(2298);class s extends o.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static multiscriptIndex(t){return"punctuated"===t.type&&"dummy"===t.contentNodes[0].role?i.collapsePunctuated(t):(i.walkTree(t),t.id)}static createNone_(t){const e=n.createElement("none");return t&&(0,a.setAttributes)(e,t),e.setAttribute(a.Attribute.ADDED,"true"),e}completeMultiscript(t,e){const r=n.toArray(this.mml.childNodes).slice(1);let o=0;const l=t=>{for(let e,n=0;e=t[n];n++){const t=r[o];if(t&&e===parseInt(i.getInnerNode(t).getAttribute(a.Attribute.ID)))i.getInnerNode(t).setAttribute(a.Attribute.PARENT,this.semantic.id.toString()),o++;else{const r=this.semantic.querySelectorAll((t=>t.id===e));this.mml.insertBefore(s.createNone_(r[0]),t||null)}}};l(t),r[o]&&"MPRESCRIPTS"!==n.tagName(r[o])?this.mml.insertBefore(r[o],n.createElement("mprescripts")):o++,l(e)}}e.CaseMultiindex=s},7014:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseMultiscripts=void 0;const n=r(5740),o=r(5656),i=r(6839),a=r(5452),s=r(2298);class l extends i.CaseMultiindex{static test(t){if(!t.mathmlTree)return!1;return"MMULTISCRIPTS"===n.tagName(t.mathmlTree)&&("superscript"===t.type||"subscript"===t.type)}constructor(t){super(t)}getMathml(){let t,e,r;if((0,s.setAttributes)(this.mml,this.semantic),this.semantic.childNodes[0]&&"subsup"===this.semantic.childNodes[0].role){const n=this.semantic.childNodes[0];t=n.childNodes[0],e=i.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[1]),r=i.CaseMultiindex.multiscriptIndex(n.childNodes[1]);const l=[this.semantic.id,[n.id,t.id,r],e];a.addCollapsedAttribute(this.mml,l),this.mml.setAttribute(s.Attribute.TYPE,n.role),this.completeMultiscript(o.SemanticSkeleton.interleaveIds(r,e),[])}else{t=this.semantic.childNodes[0],e=i.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[1]);const r=[this.semantic.id,t.id,e];a.addCollapsedAttribute(this.mml,r)}const n=o.SemanticSkeleton.collapsedLeafs(r||[],e),l=a.walkTree(t);return a.getInnerNode(l).setAttribute(s.Attribute.PARENT,this.semantic.id.toString()),n.unshift(t.id),this.mml.setAttribute(s.Attribute.CHILDREN,n.join(",")),this.mml}}e.CaseMultiscripts=l},3416:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseProof=void 0;const n=r(9268),o=r(5452),i=r(2298);class a extends n.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){return!!t.mathmlTree&&("inference"===t.type||"premises"===t.type)}getMathml(){return this.semantic.childNodes.length?(this.semantic.contentNodes.forEach((function(t){o.walkTree(t),(0,i.setAttributes)(t.mathmlTree,t)})),this.semantic.childNodes.forEach((function(t){o.walkTree(t)})),(0,i.setAttributes)(this.mml,this.semantic),this.mml.getAttribute("data-semantic-id")===this.mml.getAttribute("data-semantic-parent")&&this.mml.removeAttribute("data-semantic-parent"),this.mml):this.mml}}e.CaseProof=a},5699:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseTable=void 0;const n=r(5740),o=r(9268),i=r(5452),a=r(2298);class s extends o.AbstractEnrichCase{constructor(t){super(t),this.inner=[],this.mml=t.mathmlTree}static test(t){return"matrix"===t.type||"vector"===t.type||"cases"===t.type}getMathml(){const t=i.cloneContentNode(this.semantic.contentNodes[0]),e=this.semantic.contentNodes[1]?i.cloneContentNode(this.semantic.contentNodes[1]):null;if(this.inner=this.semantic.childNodes.map(i.walkTree),this.mml)if("MFENCED"===n.tagName(this.mml)){const r=this.mml.childNodes;this.mml.insertBefore(t,r[0]||null),e&&this.mml.appendChild(e),this.mml=i.rewriteMfenced(this.mml)}else{const r=[t,this.mml];e&&r.push(e),this.mml=i.introduceNewLayer(r,this.semantic)}else this.mml=i.introduceNewLayer([t].concat(this.inner,[e]),this.semantic);return(0,a.setAttributes)(this.mml,this.semantic),this.mml}}e.CaseTable=s},6887:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseTensor=void 0;const n=r(5656),o=r(6839),i=r(5452),a=r(2298);class s extends o.CaseMultiindex{static test(t){return!!t.mathmlTree&&"tensor"===t.type}constructor(t){super(t)}getMathml(){i.walkTree(this.semantic.childNodes[0]);const t=o.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[1]),e=o.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[2]),r=o.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[3]),s=o.CaseMultiindex.multiscriptIndex(this.semantic.childNodes[4]);(0,a.setAttributes)(this.mml,this.semantic);const l=[this.semantic.id,this.semantic.childNodes[0].id,t,e,r,s];i.addCollapsedAttribute(this.mml,l);const c=n.SemanticSkeleton.collapsedLeafs(t,e,r,s);return c.unshift(this.semantic.childNodes[0].id),this.mml.setAttribute(a.Attribute.CHILDREN,c.join(",")),this.completeMultiscript(n.SemanticSkeleton.interleaveIds(r,s),n.SemanticSkeleton.interleaveIds(t,e)),this.mml}}e.CaseTensor=s},9236:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CaseText=void 0;const n=r(9268),o=r(5452),i=r(2298);class a extends n.AbstractEnrichCase{constructor(t){super(t),this.mml=t.mathmlTree}static test(t){return"punctuated"===t.type&&("text"===t.role||t.contentNodes.every((t=>"dummy"===t.role)))}getMathml(){const t=[],e=o.collapsePunctuated(this.semantic,t);return this.mml=o.introduceNewLayer(t,this.semantic),(0,i.setAttributes)(this.mml,this.semantic),this.mml.removeAttribute(i.Attribute.CONTENT),o.addCollapsedAttribute(this.mml,e),this.mml}}e.CaseText=a},5714:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.prepareMmlString=e.testTranslation__=e.semanticMathml=e.semanticMathmlSync=e.semanticMathmlNode=void 0;const n=r(2057),o=r(5740),i=r(5897),a=r(1414),s=r(5452),l=r(2298);function c(t){const e=o.cloneNode(t),r=a.getTree(e);return s.enrich(e,r)}function u(t){return c(o.parseInput(t))}function p(t){return t.match(/^$/)||(t+=""),t}r(1513),e.semanticMathmlNode=c,e.semanticMathmlSync=u,e.semanticMathml=function(t,e){i.EnginePromise.getall().then((()=>{const r=o.parseInput(t);e(c(r))}))},e.testTranslation__=function(t){n.Debugger.getInstance().init();const e=u(p(t)).toString();return(0,l.removeAttributePrefix)(e),n.Debugger.getInstance().exit(),e},e.prepareMmlString=p},2298:function(t,e){var r;function n(t){return t.map((function(t){return t.id})).join(",")}function o(t,e){const n=[];"mglyph"===e.role&&n.push("image"),e.attributes.href&&n.push("link"),n.length&&t.setAttribute(r.POSTFIX,n.join(" "))}Object.defineProperty(e,"__esModule",{value:!0}),e.addPrefix=e.removeAttributePrefix=e.setPostfix=e.setAttributes=e.makeIdList=e.EnrichAttributes=e.Attribute=e.Prefix=void 0,e.Prefix="data-semantic-",function(t){t.ADDED="data-semantic-added",t.ALTERNATIVE="data-semantic-alternative",t.CHILDREN="data-semantic-children",t.COLLAPSED="data-semantic-collapsed",t.CONTENT="data-semantic-content",t.EMBELLISHED="data-semantic-embellished",t.FENCEPOINTER="data-semantic-fencepointer",t.FONT="data-semantic-font",t.ID="data-semantic-id",t.ANNOTATION="data-semantic-annotation",t.OPERATOR="data-semantic-operator",t.OWNS="data-semantic-owns",t.PARENT="data-semantic-parent",t.POSTFIX="data-semantic-postfix",t.PREFIX="data-semantic-prefix",t.ROLE="data-semantic-role",t.SPEECH="data-semantic-speech",t.STRUCTURE="data-semantic-structure",t.TYPE="data-semantic-type"}(r=e.Attribute||(e.Attribute={})),e.EnrichAttributes=[r.ADDED,r.ALTERNATIVE,r.CHILDREN,r.COLLAPSED,r.CONTENT,r.EMBELLISHED,r.FENCEPOINTER,r.FONT,r.ID,r.ANNOTATION,r.OPERATOR,r.OWNS,r.PARENT,r.POSTFIX,r.PREFIX,r.ROLE,r.SPEECH,r.STRUCTURE,r.TYPE],e.makeIdList=n,e.setAttributes=function(t,i){t.setAttribute(r.TYPE,i.type);const a=i.allAttributes();for(let r,n=0;r=a[n];n++)t.setAttribute(e.Prefix+r[0].toLowerCase(),r[1]);i.childNodes.length&&t.setAttribute(r.CHILDREN,n(i.childNodes)),i.contentNodes.length&&t.setAttribute(r.CONTENT,n(i.contentNodes)),i.parent&&t.setAttribute(r.PARENT,i.parent.id.toString()),o(t,i)},e.setPostfix=o,e.removeAttributePrefix=function(t){return t.toString().replace(new RegExp(e.Prefix,"g"),"")},e.addPrefix=function(t){return e.Prefix+t}},3532:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.factory=e.getCase=void 0,e.getCase=function(t){for(let r,n=0;r=e.factory[n];n++)if(r.test(t))return r.constr(t);return null},e.factory=[]},1513:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(6061),o=r(5765),i=r(7251),a=r(6265),s=r(6514),l=r(7014),c=r(3416),u=r(5699),p=r(6887),h=r(9236);r(3532).factory.push({test:a.CaseLimit.test,constr:t=>new a.CaseLimit(t)},{test:i.CaseEmbellished.test,constr:t=>new i.CaseEmbellished(t)},{test:o.CaseDoubleScript.test,constr:t=>new o.CaseDoubleScript(t)},{test:p.CaseTensor.test,constr:t=>new p.CaseTensor(t)},{test:l.CaseMultiscripts.test,constr:t=>new l.CaseMultiscripts(t)},{test:s.CaseLine.test,constr:t=>new s.CaseLine(t)},{test:n.CaseBinomial.test,constr:t=>new n.CaseBinomial(t)},{test:c.CaseProof.test,constr:t=>new c.CaseProof(t)},{test:u.CaseTable.test,constr:t=>new u.CaseTable(t)},{test:h.CaseText.test,constr:t=>new h.CaseText(t)})},5452:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.printNodeList__=e.collapsePunctuated=e.formattedOutput_=e.formattedOutput=e.getInnerNode=e.setOperatorAttribute_=e.createInvisibleOperator_=e.rewriteMfenced=e.cloneContentNode=e.addCollapsedAttribute=e.parentNode_=e.isIgnorable_=e.unitChild_=e.descendNode_=e.ascendNewNode=e.validLca_=e.pathToRoot_=e.attachedElement_=e.prunePath_=e.mathmlLca_=e.lcaType=e.functionApplication_=e.isDescendant_=e.insertNewChild_=e.mergeChildren_=e.collectChildNodes_=e.collateChildNodes_=e.childrenSubset_=e.moveSemanticAttributes_=e.introduceLayerAboveLca=e.introduceNewLayer=e.walkTree=e.enrich=e.SETTINGS=void 0;const n=r(2057),o=r(5740),i=r(5897),a=r(3588),s=r(7516),l=r(5656),c=r(4795),u=r(2298),p=r(3532);function h(t){const e=(0,p.getCase)(t);let r;if(e)return r=e.getMathml(),T(r);if(1===t.mathml.length)return n.Debugger.getInstance().output("Walktree Case 0"),r=t.mathml[0],u.setAttributes(r,t),t.childNodes.length&&(n.Debugger.getInstance().output("Walktree Case 0.1"),t.childNodes.forEach((function(t){"empty"===t.type&&r.appendChild(h(t))}))),T(r);const o=t.contentNodes.map(k);B(t,o);const i=t.childNodes.map(h),a=l.SemanticSkeleton.combineContentChildren(t,o,i);if(r=t.mathmlTree,null===r)n.Debugger.getInstance().output("Walktree Case 1"),r=d(a,t);else{const t=A(a);n.Debugger.getInstance().output("Walktree Case 2"),t?(n.Debugger.getInstance().output("Walktree Case 2.1"),r=t.parentNode):(n.Debugger.getInstance().output("Walktree Case 2.2"),r=D(r))}return r=R(r),v(r,a,t),u.setAttributes(r,t),T(r)}function d(t,e){const r=O(t);let i=r.node;const a=r.type;if(a!==M.VALID||!c.hasEmptyTag(i))if(n.Debugger.getInstance().output("Walktree Case 1.1"),i=o.createElement("mrow"),a===M.PRUNED)n.Debugger.getInstance().output("Walktree Case 1.1.0"),i=f(i,r.node,t);else if(t[0]){n.Debugger.getInstance().output("Walktree Case 1.1.1");const e=A(t),r=y(e.parentNode,t);o.replaceNode(e,i),r.forEach((function(t){i.appendChild(t)}))}return e.mathmlTree||(e.mathmlTree=i),i}function f(t,e,r){let i=N(e);if(c.hasMathTag(i)){n.Debugger.getInstance().output("Walktree Case 1.1.0.0"),m(i,t),o.toArray(i.childNodes).forEach((function(e){t.appendChild(e)}));const e=t;t=i,i=e}const a=r.indexOf(e);return r[a]=i,o.replaceNode(i,t),t.appendChild(i),r.forEach((function(e){t.appendChild(e)})),t}function m(t,e){for(const r of u.EnrichAttributes)t.hasAttribute(r)&&(e.setAttribute(r,t.getAttribute(r)),t.removeAttribute(r))}function y(t,e){const r=o.toArray(t.childNodes);let n=1/0,i=-1/0;return e.forEach((function(t){const e=r.indexOf(t);-1!==e&&(n=Math.min(n,e),i=Math.max(i,e))})),r.slice(n,i+1)}function g(t,e,r){const n=[];let i=o.toArray(t.childNodes),a=!1;for(;i.length;){const t=i.shift();if(t.hasAttribute(u.Attribute.TYPE)){n.push(t);continue}const e=b(t);0!==e.length&&(1!==e.length?(a?t.setAttribute("AuxiliaryImplicit",!0):a=!0,i=e.concat(i)):n.push(t))}const s=[],l=r.childNodes.map((function(t){return t.mathmlTree}));for(;l.length;){const t=l.pop();if(t){if(-1!==n.indexOf(t))break;-1!==e.indexOf(t)&&s.unshift(t)}}return n.concat(s)}function b(t){const e=[];let r=o.toArray(t.childNodes);for(;r.length;){const t=r.shift();t.nodeType===o.NodeType.ELEMENT_NODE&&(t.hasAttribute(u.Attribute.TYPE)?e.push(t):r=o.toArray(t.childNodes).concat(r))}return e}function v(t,e,r){const n="implicit"===r.role&&s.flags.combine_juxtaposition?g(t,e,r):o.toArray(t.childNodes);if(!n.length)return void e.forEach((function(e){t.appendChild(e)}));let i=0;for(;e.length;){const r=e[0];n[i]===r||x(n[i],r)?(e.shift(),i++):n[i]&&-1===e.indexOf(n[i])?i++:(S(r,t)||_(t,n[i],r),e.shift())}}function _(t,e,r){if(!e)return void t.insertBefore(r,null);let n=e,o=I(n);for(;o&&o.firstChild===n&&!n.hasAttribute("AuxiliaryImplicit")&&o!==t;)n=o,o=I(n);o&&(o.insertBefore(r,n),n.removeAttribute("AuxiliaryImplicit"))}function S(t,e){if(!t)return!1;do{if((t=t.parentNode)===e)return!0}while(t);return!1}function x(t,e){const r=a.functionApplication();if(t&&e&&t.textContent&&e.textContent&&t.textContent===r&&e.textContent===r&&"true"===e.getAttribute(u.Attribute.ADDED)){for(let r,n=0;r=t.attributes[n];n++)e.hasAttribute(r.nodeName)||e.setAttribute(r.nodeName,r.nodeValue);return o.replaceNode(t,e),!0}return!1}var M;function O(t){const e=A(t);if(!e)return{type:M.INVALID,node:null};const r=A(t.slice().reverse());if(e===r)return{type:M.VALID,node:e};const n=C(e),o=E(n,t),i=C(r,(function(t){return-1!==o.indexOf(t)})),a=i[0],s=o.indexOf(a);return-1===s?{type:M.INVALID,node:null}:{type:o.length!==n.length?M.PRUNED:w(o[s+1],i[1])?M.VALID:M.INVALID,node:a}}function E(t,e){let r=0;for(;t[r]&&-1===e.indexOf(t[r]);)r++;return t.slice(0,r+1)}function A(t){let e=0,r=null;for(;!r&&e!1),n=[t];for(;!r(t)&&!c.hasMathTag(t)&&t.parentNode;)t=I(t),n.unshift(t);return n}function w(t,e){return!(!t||!e||t.previousSibling||e.nextSibling)}function T(t){for(;!c.hasMathTag(t)&&L(t);)t=I(t);return t}function N(t){const e=o.toArray(t.childNodes);if(!e)return t;const r=e.filter((function(t){return t.nodeType===o.NodeType.ELEMENT_NODE&&!c.hasIgnoreTag(t)}));return 1===r.length&&c.hasEmptyTag(r[0])&&!r[0].hasAttribute(u.Attribute.TYPE)?N(r[0]):t}function L(t){const e=I(t);return!(!e||!c.hasEmptyTag(e))&&o.toArray(e.childNodes).every((function(e){return e===t||P(e)}))}function P(t){if(t.nodeType!==o.NodeType.ELEMENT_NODE)return!0;if(!t||c.hasIgnoreTag(t))return!0;const e=o.toArray(t.childNodes);return!(!c.hasEmptyTag(t)&&e.length||c.hasDisplayTag(t)||t.hasAttribute(u.Attribute.TYPE)||c.isOrphanedGlyph(t))&&o.toArray(t.childNodes).every(P)}function I(t){return t.parentNode}function k(t){if(t.mathml.length)return h(t);const r=e.SETTINGS.implicit?j(t):o.createElement("mrow");return t.mathml=[r],r}function R(t){if("MFENCED"!==o.tagName(t))return t;const e=o.createElement("mrow");for(let r,n=0;r=t.attributes[n];n++)-1===["open","close","separators"].indexOf(r.name)&&e.setAttribute(r.name,r.value);return o.toArray(t.childNodes).forEach((function(t){e.appendChild(t)})),o.replaceNode(t,e),e}function j(t){const e=o.createElement("mo"),r=o.createTextNode(t.textContent);return e.appendChild(r),u.setAttributes(e,t),e.setAttribute(u.Attribute.ADDED,"true"),e}function B(t,e){const r=t.type+(t.textContent?","+t.textContent:"");e.forEach((function(t){D(t).setAttribute(u.Attribute.OPERATOR,r)}))}function D(t){const e=o.toArray(t.childNodes);if(!e)return t;const r=e.filter((function(t){return!P(t)})),n=[];for(let t,e=0;t=r[e];e++)if(c.hasEmptyTag(t)){const e=D(t);e&&e!==t&&n.push(e)}else n.push(t);return 1===n.length?n[0]:t}function F(t,e,r,n){const o=n||!1;H(t,"Original MathML",o),H(r,"Semantic Tree",o),H(e,"Semantically enriched MathML",o)}function H(t,e,r){const n=o.formatXml(t.toString());r?console.info(e+":\n```html\n"+u.removeAttributePrefix(n)+"\n```\n"):console.info(n)}e.SETTINGS={collapsed:!0,implicit:!0},e.enrich=function(t,e){const r=o.cloneNode(t);return h(e.root),i.default.getInstance().structure&&t.setAttribute(u.Attribute.STRUCTURE,l.SemanticSkeleton.fromStructure(t,e).toString()),n.Debugger.getInstance().generateOutput((function(){return F(r,t,e,!0),[]})),t},e.walkTree=h,e.introduceNewLayer=d,e.introduceLayerAboveLca=f,e.moveSemanticAttributes_=m,e.childrenSubset_=y,e.collateChildNodes_=g,e.collectChildNodes_=b,e.mergeChildren_=v,e.insertNewChild_=_,e.isDescendant_=S,e.functionApplication_=x,function(t){t.VALID="valid",t.INVALID="invalid",t.PRUNED="pruned"}(M=e.lcaType||(e.lcaType={})),e.mathmlLca_=O,e.prunePath_=E,e.attachedElement_=A,e.pathToRoot_=C,e.validLca_=w,e.ascendNewNode=T,e.descendNode_=N,e.unitChild_=L,e.isIgnorable_=P,e.parentNode_=I,e.addCollapsedAttribute=function(t,e){const r=new l.SemanticSkeleton(e);t.setAttribute(u.Attribute.COLLAPSED,r.toString())},e.cloneContentNode=k,e.rewriteMfenced=R,e.createInvisibleOperator_=j,e.setOperatorAttribute_=B,e.getInnerNode=D,e.formattedOutput=F,e.formattedOutput_=H,e.collapsePunctuated=function(t,e){const r=!!e,n=e||[],o=t.parent,i=t.contentNodes.map((function(t){return t.id}));i.unshift("c");const a=[t.id,i];for(let e,i=0;e=t.childNodes[i];i++){const t=h(e);n.push(t);const i=D(t);o&&!r&&i.setAttribute(u.Attribute.PARENT,o.id.toString()),a.push(e.id)}return a},e.printNodeList__=function(t,e){console.info(t),o.toArray(e).forEach((function(t){console.info(t.toString())})),console.info("<<<<<<<<<<<<<<<<<")}},5105:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractHighlighter=void 0;const n=r(5274),o=r(2298);class i{constructor(){this.color=null,this.mactionName="",this.currentHighlights=[]}highlight(t){this.currentHighlights.push(t.map((t=>{const e=this.highlightNode(t);return this.setHighlighted(t),e})))}highlightAll(t){const e=this.getMactionNodes(t);for(let t,r=0;t=e[r];r++)this.highlight([t])}unhighlight(){const t=this.currentHighlights.pop();t&&t.forEach((t=>{this.isHighlighted(t.node)&&(this.unhighlightNode(t),this.unsetHighlighted(t.node))}))}unhighlightAll(){for(;this.currentHighlights.length>0;)this.unhighlight()}setColor(t){this.color=t}colorString(){return this.color.rgba()}addEvents(t,e){const r=this.getMactionNodes(t);for(let t,n=0;t=r[n];n++)for(const r in e)t.addEventListener(r,e[r])}getMactionNodes(t){return Array.from(t.getElementsByClassName(this.mactionName))}isMactionNode(t){const e=t.className||t.getAttribute("class");return!!e&&!!e.match(new RegExp(this.mactionName))}isHighlighted(t){return t.hasAttribute(i.ATTR)}setHighlighted(t){t.setAttribute(i.ATTR,"true")}unsetHighlighted(t){t.removeAttribute(i.ATTR)}colorizeAll(t){n.evalXPath(`.//*[@${o.Attribute.ID}]`,t).forEach((t=>this.colorize(t)))}uncolorizeAll(t){n.evalXPath(`.//*[@${o.Attribute.ID}]`,t).forEach((t=>this.uncolorize(t)))}colorize(t){const e=(0,o.addPrefix)("foreground");t.hasAttribute(e)&&(t.setAttribute(e+"-old",t.style.color),t.style.color=t.getAttribute(e))}uncolorize(t){const e=(0,o.addPrefix)("foreground")+"-old";t.hasAttribute(e)&&(t.style.color=t.getAttribute(e))}}e.AbstractHighlighter=i,i.ATTR="sre-highlight"},6937:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ChtmlHighlighter=void 0;const n=r(933);class o extends n.CssHighlighter{constructor(){super()}isMactionNode(t){return t.tagName.toUpperCase()===this.mactionName.toUpperCase()}getMactionNodes(t){return Array.from(t.getElementsByTagName(this.mactionName))}}e.ChtmlHighlighter=o},8396:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.ContrastPicker=e.ColorPicker=void 0;const r={red:{red:255,green:0,blue:0},green:{red:0,green:255,blue:0},blue:{red:0,green:0,blue:255},yellow:{red:255,green:255,blue:0},cyan:{red:0,green:255,blue:255},magenta:{red:255,green:0,blue:255},white:{red:255,green:255,blue:255},black:{red:0,green:0,blue:0}};function n(t,e){const n=t||{color:e};let o=Object.prototype.hasOwnProperty.call(n,"color")?r[n.color]:n;return o||(o=r[e]),o.alpha=Object.prototype.hasOwnProperty.call(n,"alpha")?n.alpha:1,function(t){const e=t=>(t=Math.max(t,0),t=Math.min(255,t),Math.round(t));return t.red=e(t.red),t.green=e(t.green),t.blue=e(t.blue),t.alpha=Math.max(t.alpha,0),t.alpha=Math.min(1,t.alpha),t}(o)}class o{constructor(t,e){this.foreground=n(e,o.DEFAULT_FOREGROUND_),this.background=n(t,o.DEFAULT_BACKGROUND_)}static toHex(t){const e=t.toString(16);return 1===e.length?"0"+e:e}rgba(){const t=function(t){return"rgba("+t.red+","+t.green+","+t.blue+","+t.alpha+")"};return{background:t(this.background),foreground:t(this.foreground)}}rgb(){const t=function(t){return"rgb("+t.red+","+t.green+","+t.blue+")"};return{background:t(this.background),alphaback:this.background.alpha.toString(),foreground:t(this.foreground),alphafore:this.foreground.alpha.toString()}}hex(){const t=function(t){return"#"+o.toHex(t.red)+o.toHex(t.green)+o.toHex(t.blue)};return{background:t(this.background),alphaback:this.background.alpha.toString(),foreground:t(this.foreground),alphafore:this.foreground.alpha.toString()}}}e.ColorPicker=o,o.DEFAULT_BACKGROUND_="blue",o.DEFAULT_FOREGROUND_="black";e.ContrastPicker=class{constructor(){this.hue=10,this.sat=100,this.light=50,this.incr=50}generate(){return e=function(t,e,r){e=e>1?e/100:e,r=r>1?r/100:r;const n=(1-Math.abs(2*r-1))*e,o=n*(1-Math.abs(t/60%2-1)),i=r-n/2;let a=0,s=0,l=0;return 0<=t&&t<60?[a,s,l]=[n,o,0]:60<=t&&t<120?[a,s,l]=[o,n,0]:120<=t&&t<180?[a,s,l]=[0,n,o]:180<=t&&t<240?[a,s,l]=[0,o,n]:240<=t&&t<300?[a,s,l]=[o,0,n]:300<=t&&t<360&&([a,s,l]=[n,0,o]),{red:a+i,green:s+i,blue:l+i}}(this.hue,this.sat,this.light),"rgb("+(t={red:Math.round(255*e.red),green:Math.round(255*e.green),blue:Math.round(255*e.blue)}).red+","+t.green+","+t.blue+")";var t,e}increment(){this.hue=(this.hue+this.incr)%360}}},933:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.CssHighlighter=void 0;const n=r(5105);class o extends n.AbstractHighlighter{constructor(){super(),this.mactionName="mjx-maction"}highlightNode(t){const e={node:t,background:t.style.backgroundColor,foreground:t.style.color},r=this.colorString();return t.style.backgroundColor=r.background,t.style.color=r.foreground,e}unhighlightNode(t){t.node.style.backgroundColor=t.background,t.node.style.color=t.foreground}}e.CssHighlighter=o},3090:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.highlighterMapping_=e.addEvents=e.highlighter=void 0;const n=r(6937),o=r(8396),i=r(933),a=r(2598),s=r(4500),l=r(7071),c=r(4346),u=r(2222);e.highlighter=function(t,r,n){const i=new o.ColorPicker(t,r),a="NativeMML"===n.renderer&&"Safari"===n.browser?"MML-CSS":"SVG"===n.renderer&&"v3"===n.browser?"SVG-V3":n.renderer,s=new(e.highlighterMapping_[a]||e.highlighterMapping_.NativeMML);return s.setColor(i),s},e.addEvents=function(t,r,n){const o=e.highlighterMapping_[n.renderer];o&&(new o).addEvents(t,r)},e.highlighterMapping_={SVG:c.SvgHighlighter,"SVG-V3":u.SvgV3Highlighter,NativeMML:l.MmlHighlighter,"HTML-CSS":a.HtmlHighlighter,"MML-CSS":s.MmlCssHighlighter,CommonHTML:i.CssHighlighter,CHTML:n.ChtmlHighlighter}},2598:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.HtmlHighlighter=void 0;const n=r(5740),o=r(5105);class i extends o.AbstractHighlighter{constructor(){super(),this.mactionName="maction"}highlightNode(t){const e={node:t,foreground:t.style.color,position:t.style.position},r=this.color.rgb();t.style.color=r.foreground,t.style.position="relative";const o=t.bbox;if(o&&o.w){const i=.05,a=0,s=n.createElement("span"),l=parseFloat(t.style.paddingLeft||"0");s.style.backgroundColor=r.background,s.style.opacity=r.alphaback.toString(),s.style.display="inline-block",s.style.height=o.h+o.d+2*i+"em",s.style.verticalAlign=-o.d+"em",s.style.marginTop=s.style.marginBottom=-i+"em",s.style.width=o.w+2*a+"em",s.style.marginLeft=l-a+"em",s.style.marginRight=-o.w-a-l+"em",t.parentNode.insertBefore(s,t),e.box=s}return e}unhighlightNode(t){const e=t.node;e.style.color=t.foreground,e.style.position=t.position,t.box&&t.box.parentNode.removeChild(t.box)}}e.HtmlHighlighter=i},4500:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MmlCssHighlighter=void 0;const n=r(933);class o extends n.CssHighlighter{constructor(){super(),this.mactionName="maction"}getMactionNodes(t){return Array.from(t.getElementsByTagName(this.mactionName))}isMactionNode(t){return t.tagName===this.mactionName}}e.MmlCssHighlighter=o},7071:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MmlHighlighter=void 0;const n=r(5105);class o extends n.AbstractHighlighter{constructor(){super(),this.mactionName="maction"}highlightNode(t){let e=t.getAttribute("style");return e+=";background-color: "+this.colorString().background,e+=";color: "+this.colorString().foreground,t.setAttribute("style",e),{node:t}}unhighlightNode(t){let e=t.node.getAttribute("style");e=e.replace(";background-color: "+this.colorString().background,""),e=e.replace(";color: "+this.colorString().foreground,""),t.node.setAttribute("style",e)}colorString(){return this.color.rgba()}getMactionNodes(t){return Array.from(t.getElementsByTagName(this.mactionName))}isMactionNode(t){return t.tagName===this.mactionName}}e.MmlHighlighter=o},4346:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SvgHighlighter=void 0;const n=r(5740),o=r(5105);class i extends o.AbstractHighlighter{constructor(){super(),this.mactionName="mjx-svg-maction"}highlightNode(t){let e;if(this.isHighlighted(t))return e={node:t.previousSibling||t,background:t.style.backgroundColor,foreground:t.style.color},e;if("svg"===t.tagName){const e={node:t,background:t.style.backgroundColor,foreground:t.style.color};return t.style.backgroundColor=this.colorString().background,t.style.color=this.colorString().foreground,e}const r=n.createElementNS("http://www.w3.org/2000/svg","rect");let i;if("use"===t.nodeName){const e=n.createElementNS("http://www.w3.org/2000/svg","g");t.parentNode.insertBefore(e,t),e.appendChild(t),i=e.getBBox(),e.parentNode.replaceChild(t,e)}else i=t.getBBox();r.setAttribute("x",(i.x-40).toString()),r.setAttribute("y",(i.y-40).toString()),r.setAttribute("width",(i.width+80).toString()),r.setAttribute("height",(i.height+80).toString());const a=t.getAttribute("transform");return a&&r.setAttribute("transform",a),r.setAttribute("fill",this.colorString().background),r.setAttribute(o.AbstractHighlighter.ATTR,"true"),t.parentNode.insertBefore(r,t),e={node:r,foreground:t.getAttribute("fill")},t.setAttribute("fill",this.colorString().foreground),e}setHighlighted(t){"svg"===t.tagName&&super.setHighlighted(t)}unhighlightNode(t){if("background"in t)return t.node.style.backgroundColor=t.background,void(t.node.style.color=t.foreground);t.foreground?t.node.nextSibling.setAttribute("fill",t.foreground):t.node.nextSibling.removeAttribute("fill"),t.node.parentNode.removeChild(t.node)}isMactionNode(t){let e=t.className||t.getAttribute("class");return e=void 0!==e.baseVal?e.baseVal:e,!!e&&!!e.match(new RegExp(this.mactionName))}}e.SvgHighlighter=i},2222:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SvgV3Highlighter=void 0;const n=r(5740),o=r(5274),i=r(5105),a=r(8396),s=r(4346);class l extends s.SvgHighlighter{constructor(){super(),this.mactionName="maction"}highlightNode(t){let e;if(this.isHighlighted(t))return e={node:t,background:this.colorString().background,foreground:this.colorString().foreground},e;if("svg"===t.tagName||"MJX-CONTAINER"===t.tagName)return e={node:t,background:t.style.backgroundColor,foreground:t.style.color},t.style.backgroundColor=this.colorString().background,t.style.color=this.colorString().foreground,e;const r=n.createElementNS("http://www.w3.org/2000/svg","rect");r.setAttribute("sre-highlighter-added","true");const o=t.getBBox();r.setAttribute("x",(o.x-40).toString()),r.setAttribute("y",(o.y-40).toString()),r.setAttribute("width",(o.width+80).toString()),r.setAttribute("height",(o.height+80).toString());const s=t.getAttribute("transform");if(s&&r.setAttribute("transform",s),r.setAttribute("fill",this.colorString().background),t.setAttribute(i.AbstractHighlighter.ATTR,"true"),t.parentNode.insertBefore(r,t),e={node:t,foreground:t.getAttribute("fill")},"rect"===t.nodeName){const e=new a.ColorPicker({alpha:0,color:"black"});t.setAttribute("fill",e.rgba().foreground)}else t.setAttribute("fill",this.colorString().foreground);return e}unhighlightNode(t){const e=t.node.previousSibling;if(e&&e.hasAttribute("sre-highlighter-added"))return t.foreground?t.node.setAttribute("fill",t.foreground):t.node.removeAttribute("fill"),void t.node.parentNode.removeChild(e);t.node.style.backgroundColor=t.background,t.node.style.color=t.foreground}isMactionNode(t){return t.getAttribute("data-mml-node")===this.mactionName}getMactionNodes(t){return Array.from(o.evalXPath(`.//*[@data-mml-node="${this.mactionName}"]`,t))}}e.SvgV3Highlighter=l},7222:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.StaticTrieNode=e.AbstractTrieNode=void 0;const n=r(2057),o=r(4391);class i{constructor(t,e){this.constraint=t,this.test=e,this.children_={},this.kind=o.TrieNodeKind.ROOT}getConstraint(){return this.constraint}getKind(){return this.kind}applyTest(t){return this.test(t)}addChild(t){const e=t.getConstraint(),r=this.children_[e];return this.children_[e]=t,r}getChild(t){return this.children_[t]}getChildren(){const t=[];for(const e in this.children_)t.push(this.children_[e]);return t}findChildren(t){const e=[];for(const r in this.children_){const n=this.children_[r];n.applyTest(t)&&e.push(n)}return e}removeChild(t){delete this.children_[t]}toString(){return this.constraint}}e.AbstractTrieNode=i;e.StaticTrieNode=class extends i{constructor(t,e){super(t,e),this.rule_=null,this.kind=o.TrieNodeKind.STATIC}getRule(){return this.rule_}setRule(t){this.rule_&&n.Debugger.getInstance().output("Replacing rule "+this.rule_+" with "+t),this.rule_=t}toString(){return this.getRule()?this.constraint+"\n==> "+this.getRule().action:this.constraint}}},4508:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Trie=void 0;const n=r(4391),o=r(9701);class i{constructor(){this.root=(0,o.getNode)(n.TrieNodeKind.ROOT,"",null)}static collectRules_(t){const e=[];let r=[t];for(;r.length;){const t=r.shift();if(t.getKind()===n.TrieNodeKind.QUERY||t.getKind()===n.TrieNodeKind.BOOLEAN){const r=t.getRule();r&&e.unshift(r)}r=r.concat(t.getChildren())}return e}static printWithDepth_(t,e,r){r+=new Array(e+2).join(e.toString())+": "+t.toString()+"\n";const n=t.getChildren();for(let t,o=0;t=n[o];o++)r=i.printWithDepth_(t,e+1,r);return r}static order_(t){const e=t.getChildren();if(!e.length)return 0;const r=Math.max.apply(null,e.map(i.order_));return Math.max(e.length,r)}addRule(t){let e=this.root;const r=t.context,o=t.dynamicCstr.getValues();for(let t=0,i=o.length;t{e.getKind()===n.TrieNodeKind.DYNAMIC&&-1===t.indexOf(e.getConstraint())||o.push(e)}))}r=o.slice()}for(;r.length;){const e=r.shift();if(e.getRule){const t=e.getRule();t&&o.push(t)}const n=e.findChildren(t);r=r.concat(n)}return o}hasSubtrie(t){let e=this.root;for(let r=0,n=t.length;r!0)),this.kind=c.TrieNodeKind.ROOT}}e.RootTrieNode=u;class p extends s.AbstractTrieNode{constructor(t){super(t,(e=>e===t)),this.kind=c.TrieNodeKind.DYNAMIC}}e.DynamicTrieNode=p;const h={"=":(t,e)=>t===e,"!=":(t,e)=>t!==e,"<":(t,e)=>t":(t,e)=>t>e,"<=":(t,e)=>t<=e,">=":(t,e)=>t>=e};function d(t){if(t.match(/^self::\*$/))return t=>!0;if(t.match(/^self::\w+$/)){const e=t.slice(6).toUpperCase();return t=>t.tagName&&n.tagName(t)===e}if(t.match(/^self::\w+:\w+$/)){const e=t.split(":"),r=o.resolveNameSpace(e[2]);if(!r)return null;const n=e[3].toUpperCase();return t=>t.localName&&t.localName.toUpperCase()===n&&t.namespaceURI===r}if(t.match(/^@\w+$/)){const e=t.slice(1);return t=>t.hasAttribute&&t.hasAttribute(e)}if(t.match(/^@\w+="[\w\d ]+"$/)){const e=t.split("="),r=e[0].slice(1),n=e[1].slice(1,-1);return t=>t.hasAttribute&&t.hasAttribute(r)&&t.getAttribute(r)===n}if(t.match(/^@\w+!="[\w\d ]+"$/)){const e=t.split("!="),r=e[0].slice(1),n=e[1].slice(1,-1);return t=>!t.hasAttribute||!t.hasAttribute(r)||t.getAttribute(r)!==n}if(t.match(/^contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)$/)){const e=t.split('"')[1];return t=>!!i.Grammar.getInstance().getParameter(e)}if(t.match(/^not\(\s*contains\(\s*@grammar\s*,\s*"[\w\d ]+"\s*\)\s*\)$/)){const e=t.split('"')[1];return t=>!i.Grammar.getInstance().getParameter(e)}if(t.match(/^name\(\.\.\/\.\.\)="\w+"$/)){const e=t.split('"')[1].toUpperCase();return t=>{var r,o;return(null===(o=null===(r=t.parentNode)||void 0===r?void 0:r.parentNode)||void 0===o?void 0:o.tagName)&&n.tagName(t.parentNode.parentNode)===e}}if(t.match(/^count\(preceding-sibling::\*\)=\d+$/)){const e=t.split("="),r=parseInt(e[1],10);return t=>{var e;return(null===(e=t.parentNode)||void 0===e?void 0:e.childNodes[r])===t}}if(t.match(/^.+\[@category!?=".+"\]$/)){let[,e,r,n]=t.match(/^(.+)\[@category(!?=)"(.+)"\]$/);const i=n.match(/^unit:(.+)$/);let s="";return i&&(n=i[1],s=":unit"),t=>{const i=o.evalXPath(e,t)[0];if(i){const t=a.lookupCategory(i.textContent+s);return"="===r?t===n:t!==n}return!1}}if(t.match(/^string-length\(.+\)\W+\d+/)){const[,e,r,n]=t.match(/^string-length\((.+)\)(\W+)(\d+)/),i=h[r]||h["="],a=parseInt(n,10);return t=>{const r=o.evalXPath(e,t)[0];return!!r&&i(Array.from(r.textContent).length,a)}}return null}e.constraintTest_=d;class f extends l.StaticTrieNode{constructor(t,e){super(t,d(t)),this.context=e,this.kind=c.TrieNodeKind.QUERY}applyTest(t){return this.test?this.test(t):this.context.applyQuery(t,this.constraint)===t}}e.QueryTrieNode=f;class m extends l.StaticTrieNode{constructor(t,e){super(t,d(t)),this.context=e,this.kind=c.TrieNodeKind.BOOLEAN}applyTest(t){return this.test?this.test(t):this.context.applyConstraint(t,this.constraint)}}e.BooleanTrieNode=m},7491:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.completeLocale=e.getLocale=e.setLocale=e.locales=void 0;const n=r(5897),o=r(1377),i=r(2105),a=r(4249),s=r(8657),l=r(173),c=r(9393),u=r(7978),p=r(5540),h=r(5218),d=r(3887),f=r(8384),m=r(7206),y=r(7734),g=r(7264),b=r(4356);function v(){const t=o.Variables.ensureLocale(n.default.getInstance().locale,n.default.getInstance().defaultLocale);return n.default.getInstance().locale=t,e.locales[t]()}e.locales={ca:a.ca,da:s.da,de:l.de,en:c.en,es:u.es,fr:p.fr,hi:h.hi,it:d.it,nb:f.nb,nn:y.nn,sv:g.sv,nemeth:m.nemeth},e.setLocale=function(){const t=v();if(function(t){const e=n.default.getInstance().subiso;-1===t.SUBISO.all.indexOf(e)&&(n.default.getInstance().subiso=t.SUBISO.default);t.SUBISO.current=n.default.getInstance().subiso}(t),t){for(const e of Object.getOwnPropertyNames(t))b.LOCALE[e]=t[e];for(const[e,r]of Object.entries(t.CORRECTIONS))i.Grammar.getInstance().setCorrection(e,r)}},e.getLocale=v,e.completeLocale=function(t){const r=e.locales[t.locale];if(!r)return void console.error("Locale "+t.locale+" does not exist!");const n=t.kind.toUpperCase(),o=t.messages;if(!o)return;const i=r();for(const[t,e]of Object.entries(o))i[n][t]=e}},4356:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.createLocale=e.LOCALE=void 0;const n=r(7549);function o(){return{FUNCTIONS:(0,n.FUNCTIONS)(),MESSAGES:(0,n.MESSAGES)(),ALPHABETS:(0,n.ALPHABETS)(),NUMBERS:(0,n.NUMBERS)(),COMBINERS:{},CORRECTIONS:{},SUBISO:(0,n.SUBISO)()}}e.LOCALE=o(),e.createLocale=o},2536:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.localeFontCombiner=e.extractString=e.localEnclose=e.localRole=e.localFont=e.combinePostfixIndex=e.nestingToString=void 0;const n=r(4356),o=r(4977);function i(t,e){return void 0===t?e:"string"==typeof t?t:t[0]}e.nestingToString=function(t){switch(t){case 1:return n.LOCALE.MESSAGES.MS.ONCE||"";case 2:return n.LOCALE.MESSAGES.MS.TWICE;default:return t.toString()}},e.combinePostfixIndex=function(t,e){return t===n.LOCALE.MESSAGES.MS.ROOTINDEX||t===n.LOCALE.MESSAGES.MS.INDEX?t:t+" "+e},e.localFont=function(t){return i(n.LOCALE.MESSAGES.font[t],t)},e.localRole=function(t){return i(n.LOCALE.MESSAGES.role[t],t)},e.localEnclose=function(t){return i(n.LOCALE.MESSAGES.enclose[t],t)},e.extractString=i,e.localeFontCombiner=function(t){return"string"==typeof t?{font:t,combiner:n.LOCALE.ALPHABETS.combiner}:{font:t[0],combiner:n.LOCALE.COMBINERS[t[1]]||o.Combiners[t[1]]||n.LOCALE.ALPHABETS.combiner}}},4249:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ca=void 0;const n=r(4356),o=r(2536),i=r(614),a=r(4977),s=function(t,e,r){return t="sans serif "+(r?r+" "+t:t),e?t+" "+e:t};let l=null;e.ca=function(){return l||(l=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.COMBINERS.sansserif=s,t.FUNCTIONS.fracNestDepth=t=>!1,t.FUNCTIONS.combineRootIndex=o.combinePostfixIndex,t.FUNCTIONS.combineNestedRadical=(t,e,r)=>t+r,t.FUNCTIONS.fontRegexp=t=>RegExp("^"+t+" "),t.FUNCTIONS.plural=t=>/.*os$/.test(t)?t+"sos":/.*s$/.test(t)?t+"os":/.*ga$/.test(t)?t.slice(0,-2)+"gues":/.*\xe7a$/.test(t)?t.slice(0,-2)+"ces":/.*ca$/.test(t)?t.slice(0,-2)+"ques":/.*ja$/.test(t)?t.slice(0,-2)+"ges":/.*qua$/.test(t)?t.slice(0,-3)+"q\xfces":/.*a$/.test(t)?t.slice(0,-1)+"es":/.*(e|i)$/.test(t)?t+"ns":/.*\xed$/.test(t)?t.slice(0,-1)+"ins":t+"s",t.FUNCTIONS.si=(t,e)=>(e.match(/^metre/)&&(t=t.replace(/a$/,"\xe0").replace(/o$/,"\xf2").replace(/i$/,"\xed")),t+e),t.ALPHABETS.combiner=a.Combiners.prefixCombiner,t}()),l}},8657:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.da=void 0;const n=r(4356),o=r(2536),i=r(3866),a=r(4977);let s=null;e.da=function(){return s||(s=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.FUNCTIONS.radicalNestDepth=o.nestingToString,t.FUNCTIONS.fontRegexp=e=>e===t.ALPHABETS.capPrefix.default?RegExp("^"+e+" "):RegExp(" "+e+"$"),t.ALPHABETS.combiner=a.Combiners.postfixCombiner,t.ALPHABETS.digitTrans.default=i.default.numberToWords,t}()),s}},173:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.de=void 0;const n=r(2105),o=r(2536),i=r(4356),a=r(1435),s=function(t,e,r){return"s"===r&&(e=e.split(" ").map((function(t){return t.replace(/s$/,"")})).join(" "),r=""),t=r?r+" "+t:t,e?e+" "+t:t},l=function(t,e,r){return t=r&&"s"!==r?r+" "+t:t,e?t+" "+e:t};let c=null;e.de=function(){return c||(c=function(){const t=(0,i.createLocale)();return t.NUMBERS=a.default,t.COMBINERS.germanPostfix=l,t.ALPHABETS.combiner=s,t.FUNCTIONS.radicalNestDepth=e=>e>1?t.NUMBERS.numberToWords(e)+"fach":"",t.FUNCTIONS.combineRootIndex=(t,e)=>{const r=e?e+"wurzel":"";return t.replace("Wurzel",r)},t.FUNCTIONS.combineNestedRadical=(t,e,r)=>{const n=(e?e+" ":"")+(t=r.match(/exponent$/)?t+"r":t);return r.match(/ /)?r.replace(/ /," "+n+" "):n+" "+r},t.FUNCTIONS.fontRegexp=function(t){return t=t.split(" ").map((function(t){return t.replace(/s$/,"(|s)")})).join(" "),new RegExp("((^"+t+" )|( "+t+"$))")},t.CORRECTIONS.correctOne=t=>t.replace(/^eins$/,"ein"),t.CORRECTIONS.localFontNumber=t=>(0,o.localFont)(t).split(" ").map((function(t){return t.replace(/s$/,"")})).join(" "),t.CORRECTIONS.lowercase=t=>t.toLowerCase(),t.CORRECTIONS.article=t=>{const e=n.Grammar.getInstance().getParameter("case"),r=n.Grammar.getInstance().getParameter("plural");return"dative"===e?{der:"dem",die:r?"den":"der",das:"dem"}[t]:t},t.CORRECTIONS.masculine=t=>"dative"===n.Grammar.getInstance().getParameter("case")?t+"n":t,t}()),c}},9393:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.en=void 0;const n=r(2105),o=r(4356),i=r(2536),a=r(310),s=r(4977);let l=null;e.en=function(){return l||(l=function(){const t=(0,o.createLocale)();return t.NUMBERS=a.default,t.FUNCTIONS.radicalNestDepth=i.nestingToString,t.FUNCTIONS.plural=t=>/.*s$/.test(t)?t:t+"s",t.ALPHABETS.combiner=s.Combiners.prefixCombiner,t.ALPHABETS.digitTrans.default=a.default.numberToWords,t.CORRECTIONS.article=t=>n.Grammar.getInstance().getParameter("noArticle")?"":t,t}()),l}},7978:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.es=void 0;const n=r(4356),o=r(2536),i=r(4634),a=r(4977),s=function(t,e,r){return t="sans serif "+(r?r+" "+t:t),e?t+" "+e:t};let l=null;e.es=function(){return l||(l=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.COMBINERS.sansserif=s,t.FUNCTIONS.fracNestDepth=t=>!1,t.FUNCTIONS.combineRootIndex=o.combinePostfixIndex,t.FUNCTIONS.combineNestedRadical=(t,e,r)=>t+r,t.FUNCTIONS.fontRegexp=t=>RegExp("^"+t+" "),t.FUNCTIONS.plural=t=>/.*(a|e|i|o|u)$/.test(t)?t+"s":/.*z$/.test(t)?t.slice(0,-1)+"ces":/.*c$/.test(t)?t.slice(0,-1)+"ques":/.*g$/.test(t)?t+"ues":/.*\u00f3n$/.test(t)?t.slice(0,-2)+"ones":t+"es",t.FUNCTIONS.si=(t,e)=>(e.match(/^metro/)&&(t=t.replace(/a$/,"\xe1").replace(/o$/,"\xf3").replace(/i$/,"\xed")),t+e),t.ALPHABETS.combiner=a.Combiners.prefixCombiner,t}()),l}},5540:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.fr=void 0;const n=r(2105),o=r(4356),i=r(2536),a=r(2350),s=r(4977);let l=null;e.fr=function(){return l||(l=function(){const t=(0,o.createLocale)();return t.NUMBERS=a.default,t.FUNCTIONS.radicalNestDepth=i.nestingToString,t.FUNCTIONS.combineRootIndex=i.combinePostfixIndex,t.FUNCTIONS.combineNestedFraction=(t,e,r)=>r.replace(/ $/g,"")+e+t,t.FUNCTIONS.combineNestedRadical=(t,e,r)=>r+" "+t,t.FUNCTIONS.fontRegexp=t=>RegExp(" (en |)"+t+"$"),t.FUNCTIONS.plural=t=>/.*s$/.test(t)?t:t+"s",t.CORRECTIONS.article=t=>n.Grammar.getInstance().getParameter("noArticle")?"":t,t.ALPHABETS.combiner=s.Combiners.romanceCombiner,t.SUBISO={default:"fr",current:"fr",all:["fr","be","ch"]},t}()),l}},5218:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.hi=void 0;const n=r(4356),o=r(4438),i=r(4977),a=r(2536);let s=null;e.hi=function(){return s||(s=function(){const t=(0,n.createLocale)();return t.NUMBERS=o.default,t.ALPHABETS.combiner=i.Combiners.prefixCombiner,t.FUNCTIONS.radicalNestDepth=a.nestingToString,t}()),s}},3887:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.it=void 0;const n=r(2536),o=r(4356),i=r(8825),a=r(4977),s=function(t,e,r){return t.match(/^[a-zA-Z]$/)&&(e=e.replace("cerchiato","cerchiata")),t=r?t+" "+r:t,e?t+" "+e:t};let l=null;e.it=function(){return l||(l=function(){const t=(0,o.createLocale)();return t.NUMBERS=i.default,t.COMBINERS.italianPostfix=s,t.FUNCTIONS.radicalNestDepth=n.nestingToString,t.FUNCTIONS.combineRootIndex=n.combinePostfixIndex,t.FUNCTIONS.combineNestedFraction=(t,e,r)=>r.replace(/ $/g,"")+e+t,t.FUNCTIONS.combineNestedRadical=(t,e,r)=>r+" "+t,t.FUNCTIONS.fontRegexp=t=>RegExp(" (en |)"+t+"$"),t.ALPHABETS.combiner=a.Combiners.romanceCombiner,t}()),l}},8384:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.nb=void 0;const n=r(4356),o=r(2536),i=r(8274),a=r(4977);let s=null;e.nb=function(){return s||(s=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.ALPHABETS.combiner=a.Combiners.prefixCombiner,t.ALPHABETS.digitTrans.default=i.default.numberToWords,t.FUNCTIONS.radicalNestDepth=o.nestingToString,t}()),s}},7206:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.nemeth=void 0;const n=r(4356),o=r(3720),i=r(4977),a=function(t){return t.match(RegExp("^"+h.ALPHABETS.languagePrefix.english))?t.slice(1):t},s=function(t,e,r){return t=a(t),e?t+e:t},l=function(t,e,r){return e+a(t)},c=function(t,e,r){return e+(r||"")+(t=a(t))+"\u283b"},u=function(t,e,r){return e+(r||"")+(t=a(t))+"\u283b\u283b"},p=function(t,e,r){return e+(t=a(t))+"\u283e"};let h=null;e.nemeth=function(){return h||(h=function(){const t=(0,n.createLocale)();return t.NUMBERS=o.default,t.COMBINERS={postfixCombiner:s,germanCombiner:l,embellishCombiner:c,doubleEmbellishCombiner:u,parensCombiner:p},t.FUNCTIONS.fracNestDepth=t=>!1,t.FUNCTIONS.fontRegexp=t=>RegExp("^"+t),t.FUNCTIONS.si=i.identityTransformer,t.ALPHABETS.combiner=(t,e,r)=>e?e+r+t:a(t),t.ALPHABETS.digitTrans={default:o.default.numberToWords},t}()),h}},7734:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.nn=void 0;const n=r(4356),o=r(2536),i=r(8274),a=r(4977);let s=null;e.nn=function(){return s||(s=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.ALPHABETS.combiner=a.Combiners.prefixCombiner,t.ALPHABETS.digitTrans.default=i.default.numberToWords,t.FUNCTIONS.radicalNestDepth=o.nestingToString,t.SUBISO={default:"",current:"",all:["","alt"]},t}()),s}},7264:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.sv=void 0;const n=r(4356),o=r(2536),i=r(3898),a=r(4977);let s=null;e.sv=function(){return s||(s=function(){const t=(0,n.createLocale)();return t.NUMBERS=i.default,t.FUNCTIONS.radicalNestDepth=o.nestingToString,t.FUNCTIONS.fontRegexp=function(t){return new RegExp("((^"+t+" )|( "+t+"$))")},t.ALPHABETS.combiner=a.Combiners.prefixCombiner,t.ALPHABETS.digitTrans.default=i.default.numberToWords,t.CORRECTIONS.correctOne=t=>t.replace(/^ett$/,"en"),t}()),s}},7549:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SUBISO=e.FUNCTIONS=e.ALPHABETS=e.NUMBERS=e.MESSAGES=void 0;const n=r(4977);e.MESSAGES=function(){return{MS:{},MSroots:{},font:{},embellish:{},role:{},enclose:{},navigate:{},regexp:{},unitTimes:""}},e.NUMBERS=function(){return{zero:"zero",ones:[],tens:[],large:[],special:{},wordOrdinal:n.identityTransformer,numericOrdinal:n.identityTransformer,numberToWords:n.identityTransformer,numberToOrdinal:n.pluralCase,vulgarSep:" ",numSep:" "}},e.ALPHABETS=function(){return{latinSmall:[],latinCap:[],greekSmall:[],greekCap:[],capPrefix:{default:""},smallPrefix:{default:""},digitPrefix:{default:""},languagePrefix:{},digitTrans:{default:n.identityTransformer,mathspeak:n.identityTransformer,clearspeak:n.identityTransformer},letterTrans:{default:n.identityTransformer},combiner:(t,e,r)=>t}},e.FUNCTIONS=function(){return{fracNestDepth:t=>n.vulgarFractionSmall(t,10,100),radicalNestDepth:t=>"",combineRootIndex:function(t,e){return t},combineNestedFraction:n.Combiners.identityCombiner,combineNestedRadical:n.Combiners.identityCombiner,fontRegexp:function(t){return new RegExp("^"+t.split(/ |-/).join("( |-)")+"( |-)")},si:n.siCombiner,plural:n.identityTransformer}},e.SUBISO=function(){return{default:"",current:"",all:[]}}},614:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2105);function o(t){const e=t%1e3,r=Math.floor(e/100),n=r?1===r?"cent":s.ones[r]+"-cents":"",o=function(t){const e=t%100;if(e<20)return s.ones[e];const r=Math.floor(e/10),n=s.tens[r],o=s.ones[e%10];return n&&o?n+(2===r?"-i-":"-")+o:n||o}(e%100);return n&&o?n+s.numSep+o:n||o}function i(t){if(0===t)return s.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,r="";for(;t>0;){const n=t%(e>1?1e6:1e3);if(n){let t=s.large[e];if(e)if(1===e)r=(1===n?"":o(n)+s.numSep)+t+(r?s.numSep+r:"");else{const e=i(n);t=1===n?t:t.replace(/\u00f3$/,"ons"),r=e+s.numSep+t+(r?s.numSep+r:"")}else r=o(n)}t=Math.floor(t/(e>1?1e6:1e3)),e++}return r}function a(t){const e=n.Grammar.getInstance().getParameter("gender");return t.toString()+("f"===e?"a":"n")}const s=(0,r(7549).NUMBERS)();s.numericOrdinal=a,s.numberToWords=i,s.numberToOrdinal=function(t,e){if(t>1999)return a(t);if(t<=10)return s.special.onesOrdinals[t-1];const r=i(t);return r.match(/mil$/)?r.replace(/mil$/,"mil\xb7l\xe8sima"):r.match(/u$/)?r.replace(/u$/,"vena"):r.match(/a$/)?r.replace(/a$/,"ena"):r+(r.match(/e$/)?"na":"ena")},e.default=s},3866:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t,e=!1){return t===s.ones[1]?e?"et":"en":t}function o(t,e=!1){let r=t%1e3,o="",i=s.ones[Math.floor(r/100)];if(o+=i?n(i,!0)+" hundrede":"",r%=100,r)if(o+=o?" og ":"",i=e?s.special.smallOrdinals[r]:s.ones[r],i)o+=i;else{const t=e?s.special.tensOrdinals[Math.floor(r/10)]:s.tens[Math.floor(r/10)];i=s.ones[r%10],o+=i?n(i)+"og"+t:t}return o}function i(t,e=!1){if(0===t)return s.zero;if(t>=Math.pow(10,36))return t.toString();let r=0,i="";for(;t>0;){const a=t%1e3;if(a){const t=o(a,e&&!r);if(r){const e=s.large[r],o=a>1?"er":"";i=n(t,r<=1)+" "+e+o+(i?" og ":"")+i}else i=n(t)+i}t=Math.floor(t/1e3),r++}return i}function a(t){if(t%100)return i(t,!0);const e=i(t);return e.match(/e$/)?e:e+"e"}const s=(0,r(7549).NUMBERS)();s.wordOrdinal=a,s.numericOrdinal=function(t){return t.toString()+"."},s.numberToWords=i,s.numberToOrdinal=function(t,e){return 1===t?e?"hel":"hele":2===t?e?"halv":"halve":a(t)+(e?"dele":"del")},e.default=s},1435:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t,e=!1){return t===s.ones[1]?e?"eine":"ein":t}function o(t){let e=t%1e3,r="",o=s.ones[Math.floor(e/100)];if(r+=o?n(o)+"hundert":"",e%=100,e)if(r+=r?s.numSep:"",o=s.ones[e],o)r+=o;else{const t=s.tens[Math.floor(e/10)];o=s.ones[e%10],r+=o?n(o)+"und"+t:t}return r}function i(t){if(0===t)return s.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,r="";for(;t>0;){const i=t%1e3;if(i){const a=o(t%1e3);if(e){const t=s.large[e],o=e>1&&i>1?t.match(/e$/)?"n":"en":"";r=n(a,e>1)+t+o+r}else r=n(a,e>1)+r}t=Math.floor(t/1e3),e++}return r.replace(/ein$/,"eins")}function a(t){if(1===t)return"erste";if(3===t)return"dritte";if(7===t)return"siebte";if(8===t)return"achte";return i(t)+(t<19?"te":"ste")}const s=(0,r(7549).NUMBERS)();s.wordOrdinal=a,s.numericOrdinal=function(t){return t.toString()+"."},s.numberToWords=i,s.numberToOrdinal=function(t,e){return 1===t?"eintel":2===t?e?"halbe":"halb":a(t)+"l"},e.default=s},310:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t){let e=t%1e3,r="";return r+=a.ones[Math.floor(e/100)]?a.ones[Math.floor(e/100)]+a.numSep+"hundred":"",e%=100,e&&(r+=r?a.numSep:"",r+=a.ones[e]||a.tens[Math.floor(e/10)]+(e%10?a.numSep+a.ones[e%10]:"")),r}function o(t){if(0===t)return a.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,r="";for(;t>0;){t%1e3&&(r=n(t%1e3)+(e?"-"+a.large[e]+"-":"")+r),t=Math.floor(t/1e3),e++}return r.replace(/-$/,"")}function i(t){let e=o(t);return e.match(/one$/)?e=e.slice(0,-3)+"first":e.match(/two$/)?e=e.slice(0,-3)+"second":e.match(/three$/)?e=e.slice(0,-5)+"third":e.match(/five$/)?e=e.slice(0,-4)+"fifth":e.match(/eight$/)?e=e.slice(0,-5)+"eighth":e.match(/nine$/)?e=e.slice(0,-4)+"ninth":e.match(/twelve$/)?e=e.slice(0,-6)+"twelfth":e.match(/ty$/)?e=e.slice(0,-2)+"tieth":e+="th",e}const a=(0,r(7549).NUMBERS)();a.wordOrdinal=i,a.numericOrdinal=function(t){const e=t%100,r=t.toString();if(e>10&&e<20)return r+"th";switch(t%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd";default:return r+"th"}},a.numberToWords=o,a.numberToOrdinal=function(t,e){if(1===t)return e?"oneths":"oneth";if(2===t)return e?"halves":"half";const r=i(t);return e?r+"s":r},e.default=a},4634:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2105);function o(t){const e=t%1e3,r=Math.floor(e/100),n=i.special.hundreds[r],o=function(t){const e=t%100;if(e<30)return i.ones[e];const r=i.tens[Math.floor(e/10)],n=i.ones[e%10];return r&&n?r+" y "+n:r||n}(e%100);return 1===r?o?n+"to "+o:n:n&&o?n+" "+o:n||o}const i=(0,r(7549).NUMBERS)();i.numericOrdinal=function(t){const e=n.Grammar.getInstance().getParameter("gender");return t.toString()+("f"===e?"a":"o")},i.numberToWords=function(t){if(0===t)return i.zero;if(t>=Math.pow(10,36))return t.toString();let e=0,r="";for(;t>0;){const n=t%1e3;if(n){let t=i.large[e];const a=o(n);e?1===n?(t=t.match("/^mil( |$)/")?t:"un "+t,r=t+(r?" "+r:"")):(t=t.replace(/\u00f3n$/,"ones"),r=o(n)+" "+t+(r?" "+r:"")):r=a}t=Math.floor(t/1e3),e++}return r},i.numberToOrdinal=function(t,e){if(t>1999)return t.toString()+"a";if(t<=12)return i.special.onesOrdinals[t-1];const r=[];if(t>=1e3&&(t-=1e3,r.push("mil\xe9sima")),!t)return r.join(" ");let n=0;return n=Math.floor(t/100),n>0&&(r.push(i.special.hundredsOrdinals[n-1]),t%=100),t<=12?r.push(i.special.onesOrdinals[t-1]):(n=Math.floor(t/10),n>0&&(r.push(i.special.tensOrdinals[n-1]),t%=10),t>0&&r.push(i.special.onesOrdinals[t-1])),r.join(" ")},e.default=i},2350:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(5897),o=r(2105),i=r(7549);function a(t){let e=t%1e3,r="";if(r+=u.ones[Math.floor(e/100)]?u.ones[Math.floor(e/100)]+"-cent":"",e%=100,e){r+=r?"-":"";let t=u.ones[e];if(t)r+=t;else{const n=u.tens[Math.floor(e/10)];n.match(/-dix$/)?(t=u.ones[e%10+10],r+=n.replace(/-dix$/,"")+"-"+t):r+=n+(e%10?"-"+u.ones[e%10]:"")}}const n=r.match(/s-\w+$/);return n?r.replace(/s-\w+$/,n[0].slice(1)):r.replace(/-un$/,"-et-un")}function s(t){if(0===t)return u.zero;if(t>=Math.pow(10,36))return t.toString();u.special["tens-"+n.default.getInstance().subiso]&&(u.tens=u.special["tens-"+n.default.getInstance().subiso]);let e=0,r="";for(;t>0;){const n=t%1e3;if(n){let t=u.large[e];const o=a(n);if(t&&t.match(/^mille /)){const n=t.replace(/^mille /,"");r=r.match(RegExp(n))?o+(e?"-mille-":"")+r:r.match(RegExp(n.replace(/s$/,"")))?o+(e?"-mille-":"")+r.replace(n.replace(/s$/,""),n):o+(e?"-"+t+"-":"")+r}else t=1===n&&t?t.replace(/s$/,""):t,r=o+(e?"-"+t+"-":"")+r}t=Math.floor(t/1e3),e++}return r.replace(/-$/,"")}const l={1:"uni\xe8me",2:"demi",3:"tiers",4:"quart"};function c(t){if(1===t)return"premi\xe8re";let e=s(t);return e.match(/^neuf$/)?e=e.slice(0,-1)+"v":e.match(/cinq$/)?e+="u":e.match(/trois$/)?e+="":(e.match(/e$/)||e.match(/s$/))&&(e=e.slice(0,-1)),e+="i\xe8me",e}const u=(0,i.NUMBERS)();u.wordOrdinal=c,u.numericOrdinal=function(t){const e=o.Grammar.getInstance().getParameter("gender");return 1===t?t.toString()+("m"===e?"er":"re"):t.toString()+"e"},u.numberToWords=s,u.numberToOrdinal=function(t,e){const r=l[t]||c(t);return 3===t?r:e?r+"s":r},e.default=u},4438:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2105);function o(t){if(0===t)return a.zero;if(t>=Math.pow(10,32))return t.toString();let e=0,r="";const n=function(t){let e=t%1e3,r="";return r+=a.ones[Math.floor(e/100)]?a.ones[Math.floor(e/100)]+a.numSep+a.special.hundred:"",e%=100,e&&(r+=r?a.numSep:"",r+=a.ones[e]),r}(t%1e3);if(!(t=Math.floor(t/1e3)))return n;for(;t>0;){const n=t%100;n&&(r=a.ones[n]+a.numSep+a.large[e]+(r?a.numSep+r:"")),t=Math.floor(t/100),e++}return n?r+a.numSep+n:r}function i(t){const e=n.Grammar.getInstance().getParameter("gender");if(t<=0)return t.toString();if(t<10)return"f"===e?a.special.ordinalsFeminine[t]:a.special.ordinalsMasculine[t];return o(t)+("f"===e?"\u0935\u0940\u0902":"\u0935\u093e\u0901")}const a=(0,r(7549).NUMBERS)();a.wordOrdinal=i,a.numericOrdinal=function(t){const e=n.Grammar.getInstance().getParameter("gender");return t>0&&t<10?"f"===e?a.special.simpleSmallOrdinalsFeminine[t]:a.special.simpleSmallOrdinalsMasculine[t]:t.toString().split("").map((function(t){const e=parseInt(t,10);return isNaN(e)?"":a.special.simpleNumbers[e]})).join("")+("f"===e?"\u0935\u0940\u0902":"\u0935\u093e\u0901")},a.numberToWords=o,a.numberToOrdinal=function(t,e){return t<=10?a.special.smallDenominators[t]:i(t)+" \u0905\u0902\u0936"},e.default=a},8825:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2105);function o(t){let e=t%1e3,r="";if(r+=s.ones[Math.floor(e/100)]?s.ones[Math.floor(e/100)]+s.numSep+"cento":"",e%=100,e){r+=r?s.numSep:"";const t=s.ones[e];if(t)r+=t;else{let t=s.tens[Math.floor(e/10)];const n=e%10;1!==n&&8!==n||(t=t.slice(0,-1)),r+=t,r+=n?s.numSep+s.ones[e%10]:""}}return r}function i(t){if(0===t)return s.zero;if(t>=Math.pow(10,36))return t.toString();if(1===t&&n.Grammar.getInstance().getParameter("fraction"))return"un";let e=0,r="";for(;t>0;){t%1e3&&(r=o(t%1e3)+(e?"-"+s.large[e]+"-":"")+r),t=Math.floor(t/1e3),e++}return r.replace(/-$/,"")}function a(t){const e="m"===n.Grammar.getInstance().getParameter("gender")?"o":"a";let r=s.special.onesOrdinals[t];return r?r.slice(0,-1)+e:(r=i(t),r.slice(0,-1)+"esim"+e)}const s=(0,r(7549).NUMBERS)();s.wordOrdinal=a,s.numericOrdinal=function(t){const e=n.Grammar.getInstance().getParameter("gender");return t.toString()+("m"===e?"o":"a")},s.numberToWords=i,s.numberToOrdinal=function(t,e){if(2===t)return e?"mezzi":"mezzo";const r=a(t);if(!e)return r;const n=r.match(/o$/)?"i":"e";return r.slice(0,-1)+n},e.default=s},3720:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t){return t.toString().split("").map((function(t){return o.ones[parseInt(t,10)]})).join("")}const o=(0,r(7549).NUMBERS)();o.numberToWords=n,o.numberToOrdinal=n,e.default=o},8274:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(5897);function o(t,e=!1){let r=t%1e3,n="";const o=Math.floor(r/100),a=s.ones[o];if(n+=a?(1===o?"":a)+"hundre":"",r%=100,r){if(n+=n?"og":"",e){const t=s.special.smallOrdinals[r];if(t)return n+t;if(r%10)return n+s.tens[Math.floor(r/10)]+s.special.smallOrdinals[r%10]}n+=s.ones[r]||s.tens[Math.floor(r/10)]+(r%10?s.ones[r%10]:"")}return e?i(n):n}function i(t){const e=s.special.endOrdinal[0];return"a"===e&&t.match(/en$/)?t.slice(0,-2)+s.special.endOrdinal:t.match(/(d|n)$/)||t.match(/hundre$/)?t+"de":t.match(/i$/)?t+s.special.endOrdinal:"a"===e&&t.match(/e$/)?t.slice(0,-1)+s.special.endOrdinal:(t.match(/e$/),t+"nde")}function a(t){return u(t,!0)}const s=(0,r(7549).NUMBERS)();function l(t,e=!1){return t===s.ones[1]?"ein"===t?"eitt ":e?"et":"ett":t}function c(t,e=!1){let r=t%1e3,n="",o=s.ones[Math.floor(r/100)];if(n+=o?l(o)+"hundre":"",r%=100,r){if(n+=n?"og":"",e){const t=s.special.smallOrdinals[r];if(t)return n+t}if(o=s.ones[r],o)n+=o;else{const t=s.tens[Math.floor(r/10)];o=s.ones[r%10],n+=o?o+"og"+t:t}}return e?i(n):n}function u(t,e=!1){const r="alt"===n.default.getInstance().subiso?function(t,e=!1){if(0===t)return e?s.special.smallOrdinals[0]:s.zero;if(t>=Math.pow(10,36))return t.toString();let r=0,n="";for(;t>0;){const o=t%1e3;if(o){const i=c(t%1e3,!r&&e);!r&&e&&(e=!e),n=(1===r?l(i,!0):i)+(r>1?s.numSep:"")+(r?s.large[r]+(r>1&&o>1?"er":""):"")+(r>1&&n?s.numSep:"")+n}t=Math.floor(t/1e3),r++}return e?n+(n.match(/tusen$/)?"de":"te"):n}(t,e):function(t,e=!1){if(0===t)return e?s.special.smallOrdinals[0]:s.zero;if(t>=Math.pow(10,36))return t.toString();let r=0,n="";for(;t>0;){const i=t%1e3;if(i){const a=o(t%1e3,!r&&e);!r&&e&&(e=!e),n=a+(r?" "+s.large[r]+(r>1&&i>1?"er":"")+(n?" ":""):"")+n}t=Math.floor(t/1e3),r++}return e?n+(n.match(/tusen$/)?"de":"te"):n}(t,e);return r}s.wordOrdinal=a,s.numericOrdinal=function(t){return t.toString()+"."},s.numberToWords=u,s.numberToOrdinal=function(t,e){return a(t)},e.default=s},3898:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});function n(t){let e=t%1e3,r="";const n=Math.floor(e/100);return r+=a.ones[n]?(1===n?"":a.ones[n]+a.numSep)+"hundra":"",e%=100,e&&(r+=r?a.numSep:"",r+=a.ones[e]||a.tens[Math.floor(e/10)]+(e%10?a.numSep+a.ones[e%10]:"")),r}function o(t,e=!1){if(0===t)return a.zero;if(t>=Math.pow(10,36))return t.toString();let r=0,o="";for(;t>0;){const i=t%1e3;if(i){const s=a.large[r],l=i>1&&r>1&&!e?"er":"";o=(1===r&&1===i?"":(r>1&&1===i?"en":n(t%1e3))+(r>1?" ":""))+(r?s+l+(r>1?" ":""):"")+o}t=Math.floor(t/1e3),r++}return o.replace(/ $/,"")}function i(t){let e=o(t,!0);return e.match(/^noll$/)?e="nollte":e.match(/ett$/)?e=e.replace(/ett$/,"f\xf6rsta"):e.match(/tv\xe5$/)?e=e.replace(/tv\xe5$/,"andra"):e.match(/tre$/)?e=e.replace(/tre$/,"tredje"):e.match(/fyra$/)?e=e.replace(/fyra$/,"fj\xe4rde"):e.match(/fem$/)?e=e.replace(/fem$/,"femte"):e.match(/sex$/)?e=e.replace(/sex$/,"sj\xe4tte"):e.match(/sju$/)?e=e.replace(/sju$/,"sjunde"):e.match(/\xe5tta$/)?e=e.replace(/\xe5tta$/,"\xe5ttonde"):e.match(/nio$/)?e=e.replace(/nio$/,"nionde"):e.match(/tio$/)?e=e.replace(/tio$/,"tionde"):e.match(/elva$/)?e=e.replace(/elva$/,"elfte"):e.match(/tolv$/)?e=e.replace(/tolv$/,"tolfte"):e.match(/tusen$/)?e=e.replace(/tusen$/,"tusonde"):e.match(/jard$/)||e.match(/jon$/)?e+="te":e+="de",e}const a=(0,r(7549).NUMBERS)();a.wordOrdinal=i,a.numericOrdinal=function(t){const e=t.toString();return e.match(/11$|12$/)?e+":e":e+(e.match(/1$|2$/)?":a":":e")},a.numberToWords=o,a.numberToOrdinal=function(t,e){if(1===t)return"hel";if(2===t)return e?"halva":"halv";let r=i(t);return r=r.match(/de$/)?r.replace(/de$/,""):r,r+(e?"delar":"del")},e.default=a},4977:function(t,e){function r(t,e=""){if(!t.childNodes||!t.childNodes[0]||!t.childNodes[0].childNodes||t.childNodes[0].childNodes.length<2||"number"!==t.childNodes[0].childNodes[0].tagName||"integer"!==t.childNodes[0].childNodes[0].getAttribute("role")||"number"!==t.childNodes[0].childNodes[1].tagName||"integer"!==t.childNodes[0].childNodes[1].getAttribute("role"))return{convertible:!1,content:t.textContent};const r=t.childNodes[0].childNodes[1].textContent,n=t.childNodes[0].childNodes[0].textContent,o=Number(r),i=Number(n);return isNaN(o)||isNaN(i)?{convertible:!1,content:`${n} ${e} ${r}`}:{convertible:!0,enumerator:i,denominator:o}}Object.defineProperty(e,"__esModule",{value:!0}),e.vulgarFractionSmall=e.convertVulgarFraction=e.Combiners=e.siCombiner=e.identityTransformer=e.pluralCase=void 0,e.pluralCase=function(t,e){return t.toString()},e.identityTransformer=function(t){return t.toString()},e.siCombiner=function(t,e){return t+e.toLowerCase()},e.Combiners={},e.Combiners.identityCombiner=function(t,e,r){return t+e+r},e.Combiners.prefixCombiner=function(t,e,r){return t=r?r+" "+t:t,e?e+" "+t:t},e.Combiners.postfixCombiner=function(t,e,r){return t=r?r+" "+t:t,e?t+" "+e:t},e.Combiners.romanceCombiner=function(t,e,r){return t=r?t+" "+r:t,e?t+" "+e:t},e.convertVulgarFraction=r,e.vulgarFractionSmall=function(t,e,n){const o=r(t);if(o.convertible){const t=o.enumerator,r=o.denominator;return t>0&&t0&&r{const a=this.parseCstr(e.toString().replace(o,""));this.addRule(new i.SpeechRule(t,a,n,r))}))}getFullPreconditions(t){const e=this.preconditions.get(t);return e||!this.inherits?e:this.inherits.getFullPreconditions(t)}definePrecondition(t,e,r,...n){const o=this.parsePrecondition(r,n),i=this.parseCstr(e);o&&i?(o.rank=this.rank++,this.preconditions.set(t,new l(i,o))):console.error(`Precondition Error: ${r}, (${e})`)}inheritRules(){if(!this.inherits||!this.inherits.getSpeechRules().length)return;const t=new RegExp("^\\w+\\.\\w+\\."+(this.domain?"\\w+\\.":""));this.inherits.getSpeechRules().forEach((e=>{const r=this.parseCstr(e.dynamicCstr.toString().replace(t,""));this.addRule(new i.SpeechRule(e.name,r,e.precondition,e.action))}))}ignoreRules(t,...e){let r=this.findAllRules((e=>e.name===t));if(!e.length)return void r.forEach(this.deleteRule.bind(this));let n=[];for(const t of e){const e=this.parseCstr(t);for(const t of r)e.equal(t.dynamicCstr)?this.deleteRule(t):n.push(t);r=n,n=[]}}parsePrecondition_(t){const e=this.context.customGenerators.lookup(t);return e?e():[t]}}e.BaseRuleStore=s;class l{constructor(t,e){this.base=t,this._conditions=[],this.constraints=[],this.allCstr={},this.constraints.push(t),this.addCondition(t,e)}get conditions(){return this._conditions}addConstraint(t){if(this.constraints.filter((e=>e.equal(t))).length)return;this.constraints.push(t);const e=[];for(const[r,n]of this.conditions)this.base.equal(r)&&e.push([t,n]);this._conditions=this._conditions.concat(e)}addBaseCondition(t){this.addCondition(this.base,t)}addFullCondition(t){this.constraints.forEach((e=>this.addCondition(e,t)))}addCondition(t,e){const r=t.toString()+" "+e.toString();this.allCstr.condStr||(this.allCstr[r]=!0,this._conditions.push([t,e]))}}e.Condition=l},2469:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.BrailleStore=void 0;const n=r(7630),o=r(9935);class i extends o.MathStore{constructor(){super(...arguments),this.modality="braille",this.customTranscriptions={"\u22ca":"\u2808\u2821\u2833"}}evaluateString(t){const e=[],r=Array.from(t);for(let t=0;tt.push(this.getProperty(e).slice()))),t}toString(){const t=[];return this.order.forEach((e=>t.push(e+": "+this.getProperty(e).toString()))),t.join("\n")}}e.DynamicProperties=n;class o extends n{constructor(t,e){const r={};for(const[e,n]of Object.entries(t))r[e]=[n];super(r,e),this.components=t}static createCstr(...t){const e=o.DEFAULT_ORDER,r={};for(let n=0,o=t.length,i=e.length;n{const r=e.indexOf(t);return-1!==r&&e.splice(r,1)}))}getComponents(){return this.components}getValue(t){return this.components[t]}getValues(){return this.order.map((t=>this.getValue(t)))}allProperties(){const t=super.allProperties();for(let e,r,n=0;e=t[n],r=this.order[n];n++){const t=this.getValue(r);-1===e.indexOf(t)&&e.unshift(t)}return t}toString(){return this.getValues().join(".")}equal(t){const e=t.getAxes();if(this.order.length!==e.length)return!1;for(let r,n=0;r=e[n];n++){const e=this.getValue(r);if(!e||t.getValue(r)!==e)return!1}return!0}}e.DynamicCstr=o,o.DEFAULT_ORDER=[r.LOCALE,r.MODALITY,r.DOMAIN,r.STYLE,r.TOPIC],o.BASE_LOCALE="base",o.DEFAULT_VALUE="default",o.DEFAULT_VALUES={[r.LOCALE]:"en",[r.DOMAIN]:o.DEFAULT_VALUE,[r.STYLE]:o.DEFAULT_VALUE,[r.TOPIC]:o.DEFAULT_VALUE,[r.MODALITY]:"speech"};e.DynamicCstrParser=class{constructor(t){this.order=t}parse(t){const e=t.split("."),r={};if(e.length>this.order.length)throw new Error("Invalid dynamic constraint: "+r);let n=0;for(let t,o=0;t=this.order[o],e.length;o++,n++){const n=e.shift();r[t]=n}return new o(r,this.order.slice(0,n))}};e.DefaultComparator=class{constructor(t,e=new n(t.getProperties(),t.getOrder())){this.reference=t,this.fallback=e,this.order=this.reference.getOrder()}getReference(){return this.reference}setReference(t,e){this.reference=t,this.fallback=e||new n(t.getProperties(),t.getOrder()),this.order=this.reference.getOrder()}match(t){const e=t.getAxes();return e.length===this.reference.getAxes().length&&e.every((e=>{const r=t.getValue(e);return r===this.reference.getValue(e)||-1!==this.fallback.getProperty(e).indexOf(r)}))}compare(t,e){let r=!1;for(let n,o=0;n=this.order[o];o++){const o=t.getValue(n),i=e.getValue(n);if(!r){const t=this.reference.getValue(n);if(t===o&&t!==i)return-1;if(t===i&&t!==o)return 1;if(t===o&&t===i)continue;t!==o&&t!==i&&(r=!0)}const a=this.fallback.getProperty(n),s=a.indexOf(o),l=a.indexOf(i);if(s!h.equal(t.cstr))),l.push(m),this.rules.set(e,l),d.setReference(f)}lookupRule(t,e){let r=this.getRules(e.getValue(o.Axis.LOCALE));return r=r.filter((function(t){return i.testDynamicConstraints_(e,t)})),1===r.length?r[0]:r.length?r.sort(((t,e)=>n.default.getInstance().comparator.compare(t.cstr,e.cstr)))[0]:null}}e.MathSimpleStore=i},9935:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MathStore=void 0;const n=r(707),o=r(4356),i=r(7630),a=r(4504),s=r(4650);class l extends a.BaseRuleStore{constructor(){super(),this.annotators=[],this.parseMethods.Alias=this.defineAlias,this.parseMethods.SpecializedRule=this.defineSpecializedRule,this.parseMethods.Specialized=this.defineSpecialized}initialize(){this.initialized||(this.annotations(),this.initialized=!0)}annotations(){for(let t,e=0;t=this.annotators[e];e++)(0,i.activate)(this.domain,t)}defineAlias(t,e,...r){const n=this.parsePrecondition(e,r);if(!n)return void console.error(`Precondition Error: ${e} ${r}`);const o=this.preconditions.get(t);o?o.addFullCondition(n):console.error(`Alias Error: No precondition by the name of ${t}`)}defineRulesAlias(t,e,...r){const n=this.findAllRules((function(e){return e.name===t}));if(0===n.length)throw new s.OutputError("Rule with name "+t+" does not exist.");const o=[];n.forEach((t=>{(t=>{const e=t.dynamicCstr.toString(),r=t.action.toString();for(let t,n=0;t=o[n];n++)if(t.action===r&&t.cstr===e)return!1;return o.push({cstr:e,action:r}),!0})(t)&&this.addAlias_(t,e,r)}))}defineSpecializedRule(t,e,r,n){const o=this.parseCstr(e),i=this.findRule((e=>e.name===t&&o.equal(e.dynamicCstr))),a=this.parseCstr(r);if(!i&&n)throw new s.OutputError("Rule named "+t+" with style "+e+" does not exist.");const l=n?s.Action.fromString(n):i.action,c=new s.SpeechRule(i.name,a,i.precondition,l);this.addRule(c)}defineSpecialized(t,e,r){const n=this.parseCstr(r);if(!n)return void console.error(`Dynamic Constraint Error: ${r}`);const o=this.preconditions.get(t);o?o.addConstraint(n):console.error(`Alias Error: No precondition by the name of ${t}`)}evaluateString(t){const e=[];if(t.match(/^\s+$/))return e;let r=this.matchNumber_(t);if(r&&r.length===t.length)return e.push(this.evaluateCharacter(r.number)),e;const i=n.removeEmpty(t.replace(/\s/g," ").split(" "));for(let t,n=0;t=i[n];n++)if(1===t.length)e.push(this.evaluateCharacter(t));else if(t.match(new RegExp("^["+o.LOCALE.MESSAGES.regexp.TEXT+"]+$")))e.push(this.evaluateCharacter(t));else{let n=t;for(;n;){r=this.matchNumber_(n);const t=n.match(new RegExp("^["+o.LOCALE.MESSAGES.regexp.TEXT+"]+"));if(r)e.push(this.evaluateCharacter(r.number)),n=n.substring(r.length);else if(t)e.push(this.evaluateCharacter(t[0])),n=n.substring(t[0].length);else{const t=Array.from(n),r=t[0];e.push(this.evaluateCharacter(r)),n=t.slice(1).join("")}}}return e}parse(t){super.parse(t),this.annotators=t.annotators||[]}addAlias_(t,e,r){const n=this.parsePrecondition(e,r),o=new s.SpeechRule(t.name,t.dynamicCstr,n,t.action);o.name=t.name,this.addRule(o)}matchNumber_(t){const e=t.match(new RegExp("^"+o.LOCALE.MESSAGES.regexp.NUMBER)),r=t.match(new RegExp("^"+l.regexp.NUMBER));if(!e&&!r)return null;const n=r&&r[0]===t;if(e&&e[0]===t||!n)return e?{number:e[0],length:e[0].length}:null;return{number:r[0].replace(new RegExp(l.regexp.DIGIT_GROUP,"g"),"X").replace(new RegExp(l.regexp.DECIMAL_MARK,"g"),o.LOCALE.MESSAGES.regexp.DECIMAL_MARK).replace(/X/g,o.LOCALE.MESSAGES.regexp.DIGIT_GROUP.replace(/\\/g,"")),length:r[0].length}}}e.MathStore=l,l.regexp={NUMBER:"((\\d{1,3})(?=(,| ))((,| )\\d{3})*(\\.\\d+)?)|^\\d*\\.\\d+|^\\d+",DECIMAL_MARK:"\\.",DIGIT_GROUP:","}},4650:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.OutputError=e.Precondition=e.Action=e.Component=e.ActionType=e.SpeechRule=void 0;const n=r(5897),o=r(2105);var i;function a(t){switch(t){case"[n]":return i.NODE;case"[m]":return i.MULTI;case"[t]":return i.TEXT;case"[p]":return i.PERSONALITY;default:throw"Parse error: "+t}}e.SpeechRule=class{constructor(t,e,r,n){this.name=t,this.dynamicCstr=e,this.precondition=r,this.action=n,this.context=null}toString(){return this.name+" | "+this.dynamicCstr.toString()+" | "+this.precondition.toString()+" ==> "+this.action.toString()}},function(t){t.NODE="NODE",t.MULTI="MULTI",t.TEXT="TEXT",t.PERSONALITY="PERSONALITY"}(i=e.ActionType||(e.ActionType={}));class s{constructor({type:t,content:e,attributes:r,grammar:n}){this.type=t,this.content=e,this.attributes=r,this.grammar=n}static grammarFromString(t){return o.Grammar.parseInput(t)}static fromString(t){const e={type:a(t.substring(0,3))};let r=t.slice(3).trim();if(!r)throw new u("Missing content.");switch(e.type){case i.TEXT:if('"'===r[0]){const t=p(r,"\\(")[0].trim();if('"'!==t.slice(-1))throw new u("Invalid string syntax.");e.content=t,r=r.slice(t.length).trim(),-1===r.indexOf("(")&&(r="");break}case i.NODE:case i.MULTI:{const t=r.indexOf(" (");if(-1===t){e.content=r.trim(),r="";break}e.content=r.substring(0,t).trim(),r=r.slice(t).trim()}}if(r){const t=s.attributesFromString(r);t.grammar&&(e.grammar=t.grammar,delete t.grammar),Object.keys(t).length&&(e.attributes=t)}return new s(e)}static attributesFromString(t){if("("!==t[0]||")"!==t.slice(-1))throw new u("Invalid attribute expression: "+t);const e={},r=p(t.slice(1,-1),",");for(let t=0,n=r.length;t0?"("+t.join(", ")+")":""}getAttributes(){const t=[];for(const e in this.attributes){const r=this.attributes[e];"true"===r?t.push(e):t.push(e+":"+r)}return t}}e.Component=s;class l{constructor(t){this.components=t}static fromString(t){const e=p(t,";").filter((function(t){return t.match(/\S/)})).map((function(t){return t.trim()})),r=[];for(let t=0,n=e.length;t0?r[0]:null}applyConstraint(t,e){return!!this.applyQuery(t,e)||n.evaluateBoolean(e,t)}constructString(t,e){if(!e)return"";if('"'===e.charAt(0))return e.slice(1,-1);const r=this.customStrings.lookup(e);return r?r(t):n.evaluateString(e,t)}parse(t){const e=Array.isArray(t)?t:Object.entries(t);for(let t,r=0;t=e[r];r++){switch(t[0].slice(0,3)){case"CQF":this.customQueries.add(t[0],t[1]);break;case"CSF":this.customStrings.add(t[0],t[1]);break;case"CTF":this.contextFunctions.add(t[0],t[1]);break;case"CGF":this.customGenerators.add(t[0],t[1]);break;default:console.error("FunctionError: Invalid function name "+t[0])}}}}},2362:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.storeFactory=e.SpeechRuleEngine=void 0;const n=r(7052),o=r(2057),i=r(5740),a=r(5897),s=r(4440),l=r(5274),c=r(7283),u=r(7599),p=r(2469),h=r(1676),d=r(2105),f=r(9935),m=r(4650),y=r(4508);class g{constructor(){this.trie=null,this.evaluators_={},this.trie=new y.Trie}static getInstance(){return g.instance=g.instance||new g,g.instance}static debugSpeechRule(t,e){const r=t.precondition,n=t.context.applyQuery(e,r.query);o.Debugger.getInstance().output(r.query,n?n.toString():n),r.constraints.forEach((r=>o.Debugger.getInstance().output(r,t.context.applyConstraint(e,r))))}static debugNamedSpeechRule(t,e){const r=g.getInstance().trie.collectRules().filter((e=>e.name==t));for(let n,i=0;n=r[i];i++)o.Debugger.getInstance().output("Rule",t,"DynamicCstr:",n.dynamicCstr.toString(),"number",i),g.debugSpeechRule(n,e)}evaluateNode(t){(0,l.updateEvaluator)(t);const e=(new Date).getTime();let r=[];try{r=this.evaluateNode_(t)}catch(t){console.error("Something went wrong computing speech."),o.Debugger.getInstance().output(t)}const n=(new Date).getTime();return o.Debugger.getInstance().output("Time:",n-e),r}toString(){return this.trie.collectRules().map((t=>t.toString())).join("\n")}runInSetting(t,e){const r=a.default.getInstance(),n={};for(const e in t)n[e]=r[e],r[e]=t[e];r.setDynamicCstr();const o=e();for(const t in n)r[t]=n[t];return r.setDynamicCstr(),o}addStore(t){const e=v(t);"abstract"!==e.kind&&e.getSpeechRules().forEach((t=>this.trie.addRule(t))),this.addEvaluator(e)}processGrammar(t,e,r){const n={};for(const o in r){const i=r[o];n[o]="string"==typeof i?t.constructString(e,i):i}d.Grammar.getInstance().pushState(n)}addEvaluator(t){const e=t.evaluateDefault.bind(t),r=this.evaluators_[t.locale];if(r)return void(r[t.modality]=e);const n={};n[t.modality]=e,this.evaluators_[t.locale]=n}getEvaluator(t,e){const r=this.evaluators_[t]||this.evaluators_[h.DynamicCstr.DEFAULT_VALUES[h.Axis.LOCALE]];return r[e]||r[h.DynamicCstr.DEFAULT_VALUES[h.Axis.MODALITY]]}enumerate(t){return this.trie.enumerate(t)}evaluateNode_(t){return t?(this.updateConstraint_(),this.evaluateTree_(t)):[]}evaluateTree_(t){const e=a.default.getInstance();let r;o.Debugger.getInstance().output(e.mode!==s.Mode.HTTP?t.toString():t),d.Grammar.getInstance().setAttribute(t);const i=this.lookupRule(t,e.dynamicCstr);if(!i)return e.strict?[]:(r=this.getEvaluator(e.locale,e.modality)(t),t.attributes&&this.addPersonality_(r,{},!1,t),r);o.Debugger.getInstance().generateOutput((()=>["Apply Rule:",i.name,i.dynamicCstr.toString(),(e.mode,s.Mode.HTTP,t).toString()]));const c=i.context,u=i.action.components;r=[];for(let e,o=0;e=u[o];o++){let o=[];const i=e.content||"",s=e.attributes||{};let u=!1;e.grammar&&this.processGrammar(c,t,e.grammar);let p=null;if(s.engine){p=a.default.getInstance().dynamicCstr.getComponents();const t=d.Grammar.parseInput(s.engine);a.default.getInstance().setDynamicCstr(t)}switch(e.type){case m.ActionType.NODE:{const e=c.applyQuery(t,i);e&&(o=this.evaluateTree_(e))}break;case m.ActionType.MULTI:{u=!0;const e=c.applySelector(t,i);e.length>0&&(o=this.evaluateNodeList_(c,e,s.sepFunc,c.constructString(t,s.separator),s.ctxtFunc,c.constructString(t,s.context)))}break;case m.ActionType.TEXT:{const e=s.span,r={};if(e){const n=(0,l.evalXPath)(e,t);n.length&&(r.extid=n[0].getAttribute("extid"))}const a=c.constructString(t,i);(a||""===a)&&(o=Array.isArray(a)?a.map((function(t){return n.AuditoryDescription.create({text:t.speech,attributes:t.attributes},{adjust:!0})})):[n.AuditoryDescription.create({text:a,attributes:r},{adjust:!0})])}break;case m.ActionType.PERSONALITY:default:o=[n.AuditoryDescription.create({text:i})]}o[0]&&!u&&(s.context&&(o[0].context=c.constructString(t,s.context)+(o[0].context||"")),s.annotation&&(o[0].annotation=s.annotation)),this.addLayout(o,s,u),e.grammar&&d.Grammar.getInstance().popState(),r=r.concat(this.addPersonality_(o,s,u,t)),p&&a.default.getInstance().setDynamicCstr(p)}return r}evaluateNodeList_(t,e,r,o,i,a){if(!e.length)return[];const s=o||"",l=a||"",c=t.contextFunctions.lookup(i),u=c?c(e,l):function(){return l},p=t.contextFunctions.lookup(r),h=p?p(e,s):function(){return[n.AuditoryDescription.create({text:s},{translate:!0})]};let d=[];for(let t,r=0;t=e[r];r++){const n=this.evaluateTree_(t);if(n.length>0&&(n[0].context=u()+(n[0].context||""),d=d.concat(n),r=0;e--){const n=r[e].name;!t.attributes[n]&&n.match(/^ext/)&&(t.attributes[n]=r[e].value)}}}addRelativePersonality_(t,e){if(!t.personality)return t.personality=e,t;const r=t.personality;for(const t in e)r[t]&&"number"==typeof r[t]&&"number"==typeof e[t]?r[t]=r[t]+e[t]:r[t]||(r[t]=e[t]);return t}updateConstraint_(){const t=a.default.getInstance().dynamicCstr,e=a.default.getInstance().strict,r=this.trie,n={};let o=t.getValue(h.Axis.LOCALE),i=t.getValue(h.Axis.MODALITY),s=t.getValue(h.Axis.DOMAIN);r.hasSubtrie([o,i,s])||(s=h.DynamicCstr.DEFAULT_VALUES[h.Axis.DOMAIN],r.hasSubtrie([o,i,s])||(i=h.DynamicCstr.DEFAULT_VALUES[h.Axis.MODALITY],r.hasSubtrie([o,i,s])||(o=h.DynamicCstr.DEFAULT_VALUES[h.Axis.LOCALE]))),n[h.Axis.LOCALE]=[o],n[h.Axis.MODALITY]=["summary"!==i?i:h.DynamicCstr.DEFAULT_VALUES[h.Axis.MODALITY]],n[h.Axis.DOMAIN]=["speech"!==i?h.DynamicCstr.DEFAULT_VALUES[h.Axis.DOMAIN]:s];const l=t.getOrder();for(let r,o=0;r=l[o];o++)if(!n[r]){const o=t.getValue(r),i=this.makeSet_(o,t.preference),a=h.DynamicCstr.DEFAULT_VALUES[r];e||o===a||i.push(a),n[r]=i}t.updateProperties(n)}makeSet_(t,e){return e&&Object.keys(e).length?t.split(":"):[t]}lookupRule(t,e){if(!t||t.nodeType!==i.NodeType.ELEMENT_NODE&&t.nodeType!==i.NodeType.TEXT_NODE)return null;const r=this.lookupRules(t,e);return r.length>0?this.pickMostConstraint_(e,r):null}lookupRules(t,e){return this.trie.lookupRules(t,e.allProperties())}pickMostConstraint_(t,e){const r=a.default.getInstance().comparator;return e.sort((function(t,e){return r.compare(t.dynamicCstr,e.dynamicCstr)||e.precondition.priority-t.precondition.priority||e.precondition.constraints.length-t.precondition.constraints.length||e.precondition.rank-t.precondition.rank})),o.Debugger.getInstance().generateOutput((()=>e.map((t=>t.name+"("+t.dynamicCstr.toString()+")"))).bind(this)),e[0]}}e.SpeechRuleEngine=g;const b=new Map;function v(t){const e=`${t.locale}.${t.modality}.${t.domain}`;if("actions"===t.kind){const r=b.get(e);return r.parse(t),r}u.init(),t&&!t.functions&&(t.functions=c.getStore(t.locale,t.modality,t.domain));const r="braille"===t.modality?new p.BrailleStore:new f.MathStore;return b.set(e,r),t.inherits&&(r.inherits=b.get(`${t.inherits}.${t.modality}.${t.domain}`)),r.parse(t),r.initialize(),r}e.storeFactory=v,a.default.nodeEvaluator=g.getInstance().evaluateNode.bind(g.getInstance())},5662:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.CustomGenerators=e.ContextFunctions=e.CustomStrings=e.CustomQueries=void 0;class r{constructor(t,e){this.prefix=t,this.store=e}add(t,e){this.checkCustomFunctionSyntax_(t)&&(this.store[t]=e)}addStore(t){const e=Object.keys(t.store);for(let r,n=0;r=e[n];n++)this.add(r,t.store[r])}lookup(t){return this.store[t]}checkCustomFunctionSyntax_(t){const e=new RegExp("^"+this.prefix);return!!t.match(e)||(console.error("FunctionError: Invalid function name. Expected prefix "+this.prefix),!1)}}e.CustomQueries=class extends r{constructor(){super("CQF",{})}};e.CustomStrings=class extends r{constructor(){super("CSF",{})}};e.ContextFunctions=class extends r{constructor(){super("CTF",{})}};e.CustomGenerators=class extends r{constructor(){super("CGF",{})}}},365:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.contentIterator=e.pauseSeparator=e.nodeCounter=void 0;const n=r(7052),o=r(5274),i=r(5897);e.nodeCounter=function(t,e){const r=t.length;let n=0,o=e;return e||(o=""),function(){return n0?o.evalXPath("../../content/*",t[0]):[],function(){const t=r.shift(),o=e?[n.AuditoryDescription.create({text:e},{translate:!0})]:[];if(!t)return o;const a=i.default.evaluateNode(t);return o.concat(a)}}},1414:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.getTreeFromString=e.getTree=e.xmlTree=void 0;const n=r(5740),o=r(7075);function i(t){return new o.SemanticTree(t)}e.xmlTree=function(t){return i(t).xml()},e.getTree=i,e.getTreeFromString=function(t){return i(n.parseInput(t))}},7630:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.annotate=e.activate=e.register=e.visitors=e.annotators=void 0;const n=r(9265);e.annotators=new Map,e.visitors=new Map,e.register=function(t){const r=t.domain+":"+t.name;t instanceof n.SemanticAnnotator?e.annotators.set(r,t):e.visitors.set(r,t)},e.activate=function(t,r){const n=t+":"+r,o=e.annotators.get(n)||e.visitors.get(n);o&&(o.active=!0)},e.annotate=function(t){for(const r of e.annotators.values())r.active&&r.annotate(t);for(const r of e.visitors.values())r.active&&r.visit(t,Object.assign({},r.def))}},9265:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticVisitor=e.SemanticAnnotator=void 0;e.SemanticAnnotator=class{constructor(t,e,r){this.domain=t,this.name=e,this.func=r,this.active=!1}annotate(t){t.childNodes.forEach(this.annotate.bind(this)),t.addAnnotation(this.domain,this.func(t))}};e.SemanticVisitor=class{constructor(t,e,r,n={}){this.domain=t,this.name=e,this.func=r,this.def=n,this.active=!1}visit(t,e){let r=this.func(t,e);t.addAnnotation(this.domain,r[0]);for(let e,n=0;e=t.childNodes[n];n++)r=this.visit(e,r[1]);return r}}},3588:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.lookupSecondary=e.isEmbellishedType=e.isMatchingFence=e.functionApplication=e.invisibleComma=e.invisiblePlus=e.invisibleTimes=e.lookupMeaning=e.lookupRole=e.lookupType=e.equal=e.allLettersRegExp=void 0;const r=String.fromCodePoint(8291),n=["\uff0c","\ufe50",",",r],o=["\xaf","\u2012","\u2013","\u2014","\u2015","\ufe58","-","\u207b","\u208b","\u2212","\u2796","\ufe63","\uff0d","\u2010","\u2011","\u203e","_"],i=["~","\u0303","\u223c","\u02dc","\u223d","\u02f7","\u0334","\u0330"],a={"(":")","[":"]","{":"}","\u2045":"\u2046","\u2329":"\u232a","\u2768":"\u2769","\u276a":"\u276b","\u276c":"\u276d","\u276e":"\u276f","\u2770":"\u2771","\u2772":"\u2773","\u2774":"\u2775","\u27c5":"\u27c6","\u27e6":"\u27e7","\u27e8":"\u27e9","\u27ea":"\u27eb","\u27ec":"\u27ed","\u27ee":"\u27ef","\u2983":"\u2984","\u2985":"\u2986","\u2987":"\u2988","\u2989":"\u298a","\u298b":"\u298c","\u298d":"\u298e","\u298f":"\u2990","\u2991":"\u2992","\u2993":"\u2994","\u2995":"\u2996","\u2997":"\u2998","\u29d8":"\u29d9","\u29da":"\u29db","\u29fc":"\u29fd","\u2e22":"\u2e23","\u2e24":"\u2e25","\u2e26":"\u2e27","\u2e28":"\u2e29","\u3008":"\u3009","\u300a":"\u300b","\u300c":"\u300d","\u300e":"\u300f","\u3010":"\u3011","\u3014":"\u3015","\u3016":"\u3017","\u3018":"\u3019","\u301a":"\u301b","\u301d":"\u301e","\ufd3e":"\ufd3f","\ufe17":"\ufe18","\ufe59":"\ufe5a","\ufe5b":"\ufe5c","\ufe5d":"\ufe5e","\uff08":"\uff09","\uff3b":"\uff3d","\uff5b":"\uff5d","\uff5f":"\uff60","\uff62":"\uff63","\u2308":"\u2309","\u230a":"\u230b","\u230c":"\u230d","\u230e":"\u230f","\u231c":"\u231d","\u231e":"\u231f","\u239b":"\u239e","\u239c":"\u239f","\u239d":"\u23a0","\u23a1":"\u23a4","\u23a2":"\u23a5","\u23a3":"\u23a6","\u23a7":"\u23ab","\u23a8":"\u23ac","\u23a9":"\u23ad","\u23b0":"\u23b1","\u23b8":"\u23b9"},s={"\u23b4":"\u23b5","\u23dc":"\u23dd","\u23de":"\u23df","\u23e0":"\u23e1","\ufe35":"\ufe36","\ufe37":"\ufe38","\ufe39":"\ufe3a","\ufe3b":"\ufe3c","\ufe3d":"\ufe3e","\ufe3f":"\ufe40","\ufe41":"\ufe42","\ufe43":"\ufe44","\ufe47":"\ufe48"},l=Object.keys(a),c=Object.values(a);c.push("\u301f");const u=Object.keys(s),p=Object.values(s),h=["|","\xa6","\u2223","\u23d0","\u23b8","\u23b9","\u2758","\uff5c","\uffe4","\ufe31","\ufe32"],d=["\u2016","\u2225","\u2980","\u2af4"],f=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],m=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","\u0131","\u0237"],y=["\uff21","\uff22","\uff23","\uff24","\uff25","\uff26","\uff27","\uff28","\uff29","\uff2a","\uff2b","\uff2c","\uff2d","\uff2e","\uff2f","\uff30","\uff31","\uff32","\uff33","\uff34","\uff35","\uff36","\uff37","\uff38","\uff39","\uff3a"],g=["\uff41","\uff42","\uff43","\uff44","\uff45","\uff46","\uff47","\uff48","\uff49","\uff4a","\uff4b","\uff4c","\uff4d","\uff4e","\uff4f","\uff50","\uff51","\uff52","\uff53","\uff54","\uff55","\uff56","\uff57","\uff58","\uff59","\uff5a"],b=["\ud835\udc00","\ud835\udc01","\ud835\udc02","\ud835\udc03","\ud835\udc04","\ud835\udc05","\ud835\udc06","\ud835\udc07","\ud835\udc08","\ud835\udc09","\ud835\udc0a","\ud835\udc0b","\ud835\udc0c","\ud835\udc0d","\ud835\udc0e","\ud835\udc0f","\ud835\udc10","\ud835\udc11","\ud835\udc12","\ud835\udc13","\ud835\udc14","\ud835\udc15","\ud835\udc16","\ud835\udc17","\ud835\udc18","\ud835\udc19"],v=["\ud835\udc1a","\ud835\udc1b","\ud835\udc1c","\ud835\udc1d","\ud835\udc1e","\ud835\udc1f","\ud835\udc20","\ud835\udc21","\ud835\udc22","\ud835\udc23","\ud835\udc24","\ud835\udc25","\ud835\udc26","\ud835\udc27","\ud835\udc28","\ud835\udc29","\ud835\udc2a","\ud835\udc2b","\ud835\udc2c","\ud835\udc2d","\ud835\udc2e","\ud835\udc2f","\ud835\udc30","\ud835\udc31","\ud835\udc32","\ud835\udc33"],_=["\ud835\udc34","\ud835\udc35","\ud835\udc36","\ud835\udc37","\ud835\udc38","\ud835\udc39","\ud835\udc3a","\ud835\udc3b","\ud835\udc3c","\ud835\udc3d","\ud835\udc3e","\ud835\udc3f","\ud835\udc40","\ud835\udc41","\ud835\udc42","\ud835\udc43","\ud835\udc44","\ud835\udc45","\ud835\udc46","\ud835\udc47","\ud835\udc48","\ud835\udc49","\ud835\udc4a","\ud835\udc4b","\ud835\udc4c","\ud835\udc4d"],S=["\ud835\udc4e","\ud835\udc4f","\ud835\udc50","\ud835\udc51","\ud835\udc52","\ud835\udc53","\ud835\udc54","\u210e","\ud835\udc56","\ud835\udc57","\ud835\udc58","\ud835\udc59","\ud835\udc5a","\ud835\udc5b","\ud835\udc5c","\ud835\udc5d","\ud835\udc5e","\ud835\udc5f","\ud835\udc60","\ud835\udc61","\ud835\udc62","\ud835\udc63","\ud835\udc64","\ud835\udc65","\ud835\udc66","\ud835\udc67","\ud835\udea4","\ud835\udea5"],x=["\ud835\udc68","\ud835\udc69","\ud835\udc6a","\ud835\udc6b","\ud835\udc6c","\ud835\udc6d","\ud835\udc6e","\ud835\udc6f","\ud835\udc70","\ud835\udc71","\ud835\udc72","\ud835\udc73","\ud835\udc74","\ud835\udc75","\ud835\udc76","\ud835\udc77","\ud835\udc78","\ud835\udc79","\ud835\udc7a","\ud835\udc7b","\ud835\udc7c","\ud835\udc7d","\ud835\udc7e","\ud835\udc7f","\ud835\udc80","\ud835\udc81"],M=["\ud835\udc82","\ud835\udc83","\ud835\udc84","\ud835\udc85","\ud835\udc86","\ud835\udc87","\ud835\udc88","\ud835\udc89","\ud835\udc8a","\ud835\udc8b","\ud835\udc8c","\ud835\udc8d","\ud835\udc8e","\ud835\udc8f","\ud835\udc90","\ud835\udc91","\ud835\udc92","\ud835\udc93","\ud835\udc94","\ud835\udc95","\ud835\udc96","\ud835\udc97","\ud835\udc98","\ud835\udc99","\ud835\udc9a","\ud835\udc9b"],O=["\ud835\udc9c","\u212c","\ud835\udc9e","\ud835\udc9f","\u2130","\u2131","\ud835\udca2","\u210b","\u2110","\ud835\udca5","\ud835\udca6","\u2112","\u2133","\ud835\udca9","\ud835\udcaa","\ud835\udcab","\ud835\udcac","\u211b","\ud835\udcae","\ud835\udcaf","\ud835\udcb0","\ud835\udcb1","\ud835\udcb2","\ud835\udcb3","\ud835\udcb4","\ud835\udcb5","\u2118"],E=["\ud835\udcb6","\ud835\udcb7","\ud835\udcb8","\ud835\udcb9","\u212f","\ud835\udcbb","\u210a","\ud835\udcbd","\ud835\udcbe","\ud835\udcbf","\ud835\udcc0","\ud835\udcc1","\ud835\udcc2","\ud835\udcc3","\u2134","\ud835\udcc5","\ud835\udcc6","\ud835\udcc7","\ud835\udcc8","\ud835\udcc9","\ud835\udcca","\ud835\udccb","\ud835\udccc","\ud835\udccd","\ud835\udcce","\ud835\udccf","\u2113"],A=["\ud835\udcd0","\ud835\udcd1","\ud835\udcd2","\ud835\udcd3","\ud835\udcd4","\ud835\udcd5","\ud835\udcd6","\ud835\udcd7","\ud835\udcd8","\ud835\udcd9","\ud835\udcda","\ud835\udcdb","\ud835\udcdc","\ud835\udcdd","\ud835\udcde","\ud835\udcdf","\ud835\udce0","\ud835\udce1","\ud835\udce2","\ud835\udce3","\ud835\udce4","\ud835\udce5","\ud835\udce6","\ud835\udce7","\ud835\udce8","\ud835\udce9"],C=["\ud835\udcea","\ud835\udceb","\ud835\udcec","\ud835\udced","\ud835\udcee","\ud835\udcef","\ud835\udcf0","\ud835\udcf1","\ud835\udcf2","\ud835\udcf3","\ud835\udcf4","\ud835\udcf5","\ud835\udcf6","\ud835\udcf7","\ud835\udcf8","\ud835\udcf9","\ud835\udcfa","\ud835\udcfb","\ud835\udcfc","\ud835\udcfd","\ud835\udcfe","\ud835\udcff","\ud835\udd00","\ud835\udd01","\ud835\udd02","\ud835\udd03"],w=["\ud835\udd04","\ud835\udd05","\u212d","\ud835\udd07","\ud835\udd08","\ud835\udd09","\ud835\udd0a","\u210c","\u2111","\ud835\udd0d","\ud835\udd0e","\ud835\udd0f","\ud835\udd10","\ud835\udd11","\ud835\udd12","\ud835\udd13","\ud835\udd14","\u211c","\ud835\udd16","\ud835\udd17","\ud835\udd18","\ud835\udd19","\ud835\udd1a","\ud835\udd1b","\ud835\udd1c","\u2128"],T=["\ud835\udd1e","\ud835\udd1f","\ud835\udd20","\ud835\udd21","\ud835\udd22","\ud835\udd23","\ud835\udd24","\ud835\udd25","\ud835\udd26","\ud835\udd27","\ud835\udd28","\ud835\udd29","\ud835\udd2a","\ud835\udd2b","\ud835\udd2c","\ud835\udd2d","\ud835\udd2e","\ud835\udd2f","\ud835\udd30","\ud835\udd31","\ud835\udd32","\ud835\udd33","\ud835\udd34","\ud835\udd35","\ud835\udd36","\ud835\udd37"],N=["\ud835\udd38","\ud835\udd39","\u2102","\ud835\udd3b","\ud835\udd3c","\ud835\udd3d","\ud835\udd3e","\u210d","\ud835\udd40","\ud835\udd41","\ud835\udd42","\ud835\udd43","\ud835\udd44","\u2115","\ud835\udd46","\u2119","\u211a","\u211d","\ud835\udd4a","\ud835\udd4b","\ud835\udd4c","\ud835\udd4d","\ud835\udd4e","\ud835\udd4f","\ud835\udd50","\u2124"],L=["\ud835\udd52","\ud835\udd53","\ud835\udd54","\ud835\udd55","\ud835\udd56","\ud835\udd57","\ud835\udd58","\ud835\udd59","\ud835\udd5a","\ud835\udd5b","\ud835\udd5c","\ud835\udd5d","\ud835\udd5e","\ud835\udd5f","\ud835\udd60","\ud835\udd61","\ud835\udd62","\ud835\udd63","\ud835\udd64","\ud835\udd65","\ud835\udd66","\ud835\udd67","\ud835\udd68","\ud835\udd69","\ud835\udd6a","\ud835\udd6b"],P=["\ud835\udd6c","\ud835\udd6d","\ud835\udd6e","\ud835\udd6f","\ud835\udd70","\ud835\udd71","\ud835\udd72","\ud835\udd73","\ud835\udd74","\ud835\udd75","\ud835\udd76","\ud835\udd77","\ud835\udd78","\ud835\udd79","\ud835\udd7a","\ud835\udd7b","\ud835\udd7c","\ud835\udd7d","\ud835\udd7e","\ud835\udd7f","\ud835\udd80","\ud835\udd81","\ud835\udd82","\ud835\udd83","\ud835\udd84","\ud835\udd85"],I=["\ud835\udd86","\ud835\udd87","\ud835\udd88","\ud835\udd89","\ud835\udd8a","\ud835\udd8b","\ud835\udd8c","\ud835\udd8d","\ud835\udd8e","\ud835\udd8f","\ud835\udd90","\ud835\udd91","\ud835\udd92","\ud835\udd93","\ud835\udd94","\ud835\udd95","\ud835\udd96","\ud835\udd97","\ud835\udd98","\ud835\udd99","\ud835\udd9a","\ud835\udd9b","\ud835\udd9c","\ud835\udd9d","\ud835\udd9e","\ud835\udd9f"],k=["\ud835\udda0","\ud835\udda1","\ud835\udda2","\ud835\udda3","\ud835\udda4","\ud835\udda5","\ud835\udda6","\ud835\udda7","\ud835\udda8","\ud835\udda9","\ud835\uddaa","\ud835\uddab","\ud835\uddac","\ud835\uddad","\ud835\uddae","\ud835\uddaf","\ud835\uddb0","\ud835\uddb1","\ud835\uddb2","\ud835\uddb3","\ud835\uddb4","\ud835\uddb5","\ud835\uddb6","\ud835\uddb7","\ud835\uddb8","\ud835\uddb9"],R=["\ud835\uddba","\ud835\uddbb","\ud835\uddbc","\ud835\uddbd","\ud835\uddbe","\ud835\uddbf","\ud835\uddc0","\ud835\uddc1","\ud835\uddc2","\ud835\uddc3","\ud835\uddc4","\ud835\uddc5","\ud835\uddc6","\ud835\uddc7","\ud835\uddc8","\ud835\uddc9","\ud835\uddca","\ud835\uddcb","\ud835\uddcc","\ud835\uddcd","\ud835\uddce","\ud835\uddcf","\ud835\uddd0","\ud835\uddd1","\ud835\uddd2","\ud835\uddd3"],j=["\ud835\uddd4","\ud835\uddd5","\ud835\uddd6","\ud835\uddd7","\ud835\uddd8","\ud835\uddd9","\ud835\uddda","\ud835\udddb","\ud835\udddc","\ud835\udddd","\ud835\uddde","\ud835\udddf","\ud835\udde0","\ud835\udde1","\ud835\udde2","\ud835\udde3","\ud835\udde4","\ud835\udde5","\ud835\udde6","\ud835\udde7","\ud835\udde8","\ud835\udde9","\ud835\uddea","\ud835\uddeb","\ud835\uddec","\ud835\udded"],B=["\ud835\uddee","\ud835\uddef","\ud835\uddf0","\ud835\uddf1","\ud835\uddf2","\ud835\uddf3","\ud835\uddf4","\ud835\uddf5","\ud835\uddf6","\ud835\uddf7","\ud835\uddf8","\ud835\uddf9","\ud835\uddfa","\ud835\uddfb","\ud835\uddfc","\ud835\uddfd","\ud835\uddfe","\ud835\uddff","\ud835\ude00","\ud835\ude01","\ud835\ude02","\ud835\ude03","\ud835\ude04","\ud835\ude05","\ud835\ude06","\ud835\ude07"],D=["\ud835\ude08","\ud835\ude09","\ud835\ude0a","\ud835\ude0b","\ud835\ude0c","\ud835\ude0d","\ud835\ude0e","\ud835\ude0f","\ud835\ude10","\ud835\ude11","\ud835\ude12","\ud835\ude13","\ud835\ude14","\ud835\ude15","\ud835\ude16","\ud835\ude17","\ud835\ude18","\ud835\ude19","\ud835\ude1a","\ud835\ude1b","\ud835\ude1c","\ud835\ude1d","\ud835\ude1e","\ud835\ude1f","\ud835\ude20","\ud835\ude21"],F=["\ud835\ude22","\ud835\ude23","\ud835\ude24","\ud835\ude25","\ud835\ude26","\ud835\ude27","\ud835\ude28","\ud835\ude29","\ud835\ude2a","\ud835\ude2b","\ud835\ude2c","\ud835\ude2d","\ud835\ude2e","\ud835\ude2f","\ud835\ude30","\ud835\ude31","\ud835\ude32","\ud835\ude33","\ud835\ude34","\ud835\ude35","\ud835\ude36","\ud835\ude37","\ud835\ude38","\ud835\ude39","\ud835\ude3a","\ud835\ude3b"],H=["\ud835\ude3c","\ud835\ude3d","\ud835\ude3e","\ud835\ude3f","\ud835\ude40","\ud835\ude41","\ud835\ude42","\ud835\ude43","\ud835\ude44","\ud835\ude45","\ud835\ude46","\ud835\ude47","\ud835\ude48","\ud835\ude49","\ud835\ude4a","\ud835\ude4b","\ud835\ude4c","\ud835\ude4d","\ud835\ude4e","\ud835\ude4f","\ud835\ude50","\ud835\ude51","\ud835\ude52","\ud835\ude53","\ud835\ude54","\ud835\ude55"],q=["\ud835\ude56","\ud835\ude57","\ud835\ude58","\ud835\ude59","\ud835\ude5a","\ud835\ude5b","\ud835\ude5c","\ud835\ude5d","\ud835\ude5e","\ud835\ude5f","\ud835\ude60","\ud835\ude61","\ud835\ude62","\ud835\ude63","\ud835\ude64","\ud835\ude65","\ud835\ude66","\ud835\ude67","\ud835\ude68","\ud835\ude69","\ud835\ude6a","\ud835\ude6b","\ud835\ude6c","\ud835\ude6d","\ud835\ude6e","\ud835\ude6f"],U=["\ud835\ude70","\ud835\ude71","\ud835\ude72","\ud835\ude73","\ud835\ude74","\ud835\ude75","\ud835\ude76","\ud835\ude77","\ud835\ude78","\ud835\ude79","\ud835\ude7a","\ud835\ude7b","\ud835\ude7c","\ud835\ude7d","\ud835\ude7e","\ud835\ude7f","\ud835\ude80","\ud835\ude81","\ud835\ude82","\ud835\ude83","\ud835\ude84","\ud835\ude85","\ud835\ude86","\ud835\ude87","\ud835\ude88","\ud835\ude89"],G=["\ud835\ude8a","\ud835\ude8b","\ud835\ude8c","\ud835\ude8d","\ud835\ude8e","\ud835\ude8f","\ud835\ude90","\ud835\ude91","\ud835\ude92","\ud835\ude93","\ud835\ude94","\ud835\ude95","\ud835\ude96","\ud835\ude97","\ud835\ude98","\ud835\ude99","\ud835\ude9a","\ud835\ude9b","\ud835\ude9c","\ud835\ude9d","\ud835\ude9e","\ud835\ude9f","\ud835\udea0","\ud835\udea1","\ud835\udea2","\ud835\udea3"],V=["\u2145","\u2146","\u2147","\u2148","\u2149"],X=["\u0391","\u0392","\u0393","\u0394","\u0395","\u0396","\u0397","\u0398","\u0399","\u039a","\u039b","\u039c","\u039d","\u039e","\u039f","\u03a0","\u03a1","\u03a3","\u03a4","\u03a5","\u03a6","\u03a7","\u03a8","\u03a9"],W=["\u03b1","\u03b2","\u03b3","\u03b4","\u03b5","\u03b6","\u03b7","\u03b8","\u03b9","\u03ba","\u03bb","\u03bc","\u03bd","\u03be","\u03bf","\u03c0","\u03c1","\u03c2","\u03c3","\u03c4","\u03c5","\u03c6","\u03c7","\u03c8","\u03c9"],z=["\ud835\udea8","\ud835\udea9","\ud835\udeaa","\ud835\udeab","\ud835\udeac","\ud835\udead","\ud835\udeae","\ud835\udeaf","\ud835\udeb0","\ud835\udeb1","\ud835\udeb2","\ud835\udeb3","\ud835\udeb4","\ud835\udeb5","\ud835\udeb6","\ud835\udeb7","\ud835\udeb8","\ud835\udeba","\ud835\udebb","\ud835\udebc","\ud835\udebd","\ud835\udebe","\ud835\udebf","\ud835\udec0"],$=["\ud835\udec2","\ud835\udec3","\ud835\udec4","\ud835\udec5","\ud835\udec6","\ud835\udec7","\ud835\udec8","\ud835\udec9","\ud835\udeca","\ud835\udecb","\ud835\udecc","\ud835\udecd","\ud835\udece","\ud835\udecf","\ud835\uded0","\ud835\uded1","\ud835\uded2","\ud835\uded3","\ud835\uded4","\ud835\uded5","\ud835\uded6","\ud835\uded7","\ud835\uded8","\ud835\uded9","\ud835\udeda"],J=["\ud835\udee2","\ud835\udee3","\ud835\udee4","\ud835\udee5","\ud835\udee6","\ud835\udee7","\ud835\udee8","\ud835\udee9","\ud835\udeea","\ud835\udeeb","\ud835\udeec","\ud835\udeed","\ud835\udeee","\ud835\udeef","\ud835\udef0","\ud835\udef1","\ud835\udef2","\ud835\udef4","\ud835\udef5","\ud835\udef6","\ud835\udef7","\ud835\udef8","\ud835\udef9","\ud835\udefa"],K=["\ud835\udefc","\ud835\udefd","\ud835\udefe","\ud835\udeff","\ud835\udf00","\ud835\udf01","\ud835\udf02","\ud835\udf03","\ud835\udf04","\ud835\udf05","\ud835\udf06","\ud835\udf07","\ud835\udf08","\ud835\udf09","\ud835\udf0a","\ud835\udf0b","\ud835\udf0c","\ud835\udf0d","\ud835\udf0e","\ud835\udf0f","\ud835\udf10","\ud835\udf11","\ud835\udf12","\ud835\udf13","\ud835\udf14"],Y=["\ud835\udf1c","\ud835\udf1d","\ud835\udf1e","\ud835\udf1f","\ud835\udf20","\ud835\udf21","\ud835\udf22","\ud835\udf23","\ud835\udf24","\ud835\udf25","\ud835\udf26","\ud835\udf27","\ud835\udf28","\ud835\udf29","\ud835\udf2a","\ud835\udf2b","\ud835\udf2c","\ud835\udf2e","\ud835\udf2f","\ud835\udf30","\ud835\udf31","\ud835\udf32","\ud835\udf33","\ud835\udf34"],Z=["\ud835\udf36","\ud835\udf37","\ud835\udf38","\ud835\udf39","\ud835\udf3a","\ud835\udf3b","\ud835\udf3c","\ud835\udf3d","\ud835\udf3e","\ud835\udf3f","\ud835\udf40","\ud835\udf41","\ud835\udf42","\ud835\udf43","\ud835\udf44","\ud835\udf45","\ud835\udf46","\ud835\udf47","\ud835\udf48","\ud835\udf49","\ud835\udf4a","\ud835\udf4b","\ud835\udf4c","\ud835\udf4d","\ud835\udf4e"],Q=["\ud835\udf56","\ud835\udf57","\ud835\udf58","\ud835\udf59","\ud835\udf5a","\ud835\udf5b","\ud835\udf5c","\ud835\udf5d","\ud835\udf5e","\ud835\udf5f","\ud835\udf60","\ud835\udf61","\ud835\udf62","\ud835\udf63","\ud835\udf64","\ud835\udf65","\ud835\udf66","\ud835\udf68","\ud835\udf69","\ud835\udf6a","\ud835\udf6b","\ud835\udf6c","\ud835\udf6d","\ud835\udf6e"],tt=["\ud835\udf70","\ud835\udf71","\ud835\udf72","\ud835\udf73","\ud835\udf74","\ud835\udf75","\ud835\udf76","\ud835\udf77","\ud835\udf78","\ud835\udf79","\ud835\udf7a","\ud835\udf7b","\ud835\udf7c","\ud835\udf7d","\ud835\udf7e","\ud835\udf7f","\ud835\udf80","\ud835\udf81","\ud835\udf82","\ud835\udf83","\ud835\udf84","\ud835\udf85","\ud835\udf86","\ud835\udf87","\ud835\udf88"],et=["\ud835\udf90","\ud835\udf91","\ud835\udf92","\ud835\udf93","\ud835\udf94","\ud835\udf95","\ud835\udf96","\ud835\udf97","\ud835\udf98","\ud835\udf99","\ud835\udf9a","\ud835\udf9b","\ud835\udf9c","\ud835\udf9d","\ud835\udf9e","\ud835\udf9f","\ud835\udfa0","\ud835\udfa2","\ud835\udfa3","\ud835\udfa4","\ud835\udfa5","\ud835\udfa6","\ud835\udfa7","\ud835\udfa8"],rt=["\ud835\udfaa","\ud835\udfab","\ud835\udfac","\ud835\udfad","\ud835\udfae","\ud835\udfaf","\ud835\udfb0","\ud835\udfb1","\ud835\udfb2","\ud835\udfb3","\ud835\udfb4","\ud835\udfb5","\ud835\udfb6","\ud835\udfb7","\ud835\udfb8","\ud835\udfb9","\ud835\udfba","\ud835\udfbb","\ud835\udfbc","\ud835\udfbd","\ud835\udfbe","\ud835\udfbf","\ud835\udfc0","\ud835\udfc1","\ud835\udfc2"],nt=["\u213c","\u213d","\u213e","\u213f"],ot=["\u03d0","\u03d1","\u03d5","\u03d6","\u03d7","\u03f0","\u03f1","\u03f5","\u03f6","\u03f4"],it=["\ud835\udedc","\ud835\udedd","\ud835\udede","\ud835\udedf","\ud835\udee0","\ud835\udee1"],at=["\ud835\udf16","\ud835\udf17","\ud835\udf18","\ud835\udf19","\ud835\udf1a","\ud835\udf1b"],st=["\ud835\udf8a","\ud835\udf8b","\ud835\udf8c","\ud835\udf8d","\ud835\udf8e","\ud835\udf8f"],lt=["\u2135","\u2136","\u2137","\u2138"],ct=f.concat(m,y,g,b,v,_,x,M,S,O,E,A,C,w,T,N,L,P,I,k,R,j,B,D,F,H,q,U,G,V,X,W,z,$,J,K,Y,Z,Q,tt,nt,ot,et,rt,it,at,st,lt);e.allLettersRegExp=new RegExp(ct.join("|"));const ut=["+","\xb1","\u2213","\u2214","\u2227","\u2228","\u2229","\u222a","\u228c","\u228d","\u228e","\u2293","\u2294","\u229d","\u229e","\u22a4","\u22a5","\u22ba","\u22bb","\u22bc","\u22c4","\u22ce","\u22cf","\u22d2","\u22d3","\u2a5e","\u2295","\u22d4"],pt=String.fromCodePoint(8292);ut.push(pt);const ht=["\u2020","\u2021","\u2210","\u2217","\u2218","\u2219","\u2240","\u229a","\u229b","\u22a0","\u22a1","\u22c5","\u22c6","\u22c7","\u22c8","\u22c9","\u22ca","\u22cb","\u22cc","\u25cb","\xb7","*","\u2297","\u2299"],dt=String.fromCodePoint(8290);ht.push(dt);const ft=String.fromCodePoint(8289),mt=["\xbc","\xbd","\xbe","\u2150","\u2151","\u2152","\u2153","\u2154","\u2155","\u2156","\u2157","\u2158","\u2159","\u215a","\u215b","\u215c","\u215d","\u215e","\u215f","\u2189"],yt=["\xb2","\xb3","\xb9","\u2070","\u2074","\u2075","\u2076","\u2077","\u2078","\u2079"].concat(["\u2080","\u2081","\u2082","\u2083","\u2084","\u2085","\u2086","\u2087","\u2088","\u2089"],["\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246a","\u246b","\u246c","\u246d","\u246e","\u246f","\u2470","\u2471","\u2472","\u2473","\u24ea","\u24eb","\u24ec","\u24ed","\u24ee","\u24ef","\u24f0","\u24f1","\u24f2","\u24f3","\u24f4","\u24f5","\u24f6","\u24f7","\u24f8","\u24f9","\u24fa","\u24fb","\u24fc","\u24fd","\u24fe","\u24ff","\u2776","\u2777","\u2778","\u2779","\u277a","\u277b","\u277c","\u277d","\u277e","\u277f","\u2780","\u2781","\u2782","\u2783","\u2784","\u2785","\u2786","\u2787","\u2788","\u2789","\u278a","\u278b","\u278c","\u278d","\u278e","\u278f","\u2790","\u2791","\u2792","\u2793","\u3248","\u3249","\u324a","\u324b","\u324c","\u324d","\u324e","\u324f","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325a","\u325b","\u325c","\u325d","\u325e","\u325f","\u32b1","\u32b2","\u32b3","\u32b4","\u32b5","\u32b6","\u32b7","\u32b8","\u32b9","\u32ba","\u32bb","\u32bc","\u32bd","\u32be","\u32bf"],["\u2474","\u2475","\u2476","\u2477","\u2478","\u2479","\u247a","\u247b","\u247c","\u247d","\u247e","\u247f","\u2480","\u2481","\u2482","\u2483","\u2484","\u2485","\u2486","\u2487"],["\u2488","\u2489","\u248a","\u248b","\u248c","\u248d","\u248e","\u248f","\u2490","\u2491","\u2492","\u2493","\u2494","\u2495","\u2496","\u2497","\u2498","\u2499","\u249a","\u249b","\ud83c\udd00","\ud83c\udd01","\ud83c\udd02","\ud83c\udd03","\ud83c\udd04","\ud83c\udd05","\ud83c\udd06","\ud83c\udd07","\ud83c\udd08","\ud83c\udd09","\ud83c\udd0a"]),gt=["cos","cot","csc","sec","sin","tan","arccos","arccot","arccsc","arcsec","arcsin","arctan","arc cos","arc cot","arc csc","arc sec","arc sin","arc tan"].concat(["cosh","coth","csch","sech","sinh","tanh","arcosh","arcoth","arcsch","arsech","arsinh","artanh","arccosh","arccoth","arccsch","arcsech","arcsinh","arctanh"],["deg","det","dim","hom","ker","Tr","tr"],["log","ln","lg","exp","expt","gcd","gcd","arg","im","re","Pr"]),bt=[{set:["!",'"',"#","%","&",";","?","@","\\","\xa1","\xa7","\xb6","\xbf","\u2017","\u2020","\u2021","\u2022","\u2023","\u2024","\u2025","\u2027","\u2030","\u2031","\u2038","\u203b","\u203c","\u203d","\u203e","\u2041","\u2042","\u2043","\u2047","\u2048","\u2049","\u204b","\u204c","\u204d","\u204e","\u204f","\u2050","\u2051","\u2053","\u2055","\u2056","\u2058","\u2059","\u205a","\u205b","\u205c","\u205d","\u205e","\ufe10","\ufe14","\ufe15","\ufe16","\ufe30","\ufe45","\ufe46","\ufe49","\ufe4a","\ufe4b","\ufe4c","\ufe54","\ufe56","\ufe57","\ufe5f","\ufe60","\ufe61","\ufe68","\ufe6a","\ufe6b","\uff01","\uff02","\uff03","\uff05","\uff06","\uff07","\uff0a","\uff0f","\uff1b","\uff1f","\uff20","\uff3c"],type:"punctuation",role:"unknown"},{set:["\ufe13",":","\uff1a","\ufe55"],type:"punctuation",role:"colon"},{set:n,type:"punctuation",role:"comma"},{set:["\u2026","\u22ee","\u22ef","\u22f0","\u22f1","\ufe19"],type:"punctuation",role:"ellipsis"},{set:[".","\ufe52","\uff0e"],type:"punctuation",role:"fullstop"},{set:o,type:"operator",role:"dash"},{set:i,type:"operator",role:"tilde"},{set:["'","\u2032","\u2033","\u2034","\u2035","\u2036","\u2037","\u2057","\u02b9","\u02ba"],type:"punctuation",role:"prime"},{set:["\xb0"],type:"punctuation",role:"degree"},{set:l,type:"fence",role:"open"},{set:c,type:"fence",role:"close"},{set:u,type:"fence",role:"top"},{set:p,type:"fence",role:"bottom"},{set:h,type:"fence",role:"neutral"},{set:d,type:"fence",role:"metric"},{set:m,type:"identifier",role:"latinletter",font:"normal"},{set:f,type:"identifier",role:"latinletter",font:"normal"},{set:g,type:"identifier",role:"latinletter",font:"normal"},{set:y,type:"identifier",role:"latinletter",font:"normal"},{set:v,type:"identifier",role:"latinletter",font:"bold"},{set:b,type:"identifier",role:"latinletter",font:"bold"},{set:S,type:"identifier",role:"latinletter",font:"italic"},{set:_,type:"identifier",role:"latinletter",font:"italic"},{set:M,type:"identifier",role:"latinletter",font:"bold-italic"},{set:x,type:"identifier",role:"latinletter",font:"bold-italic"},{set:E,type:"identifier",role:"latinletter",font:"script"},{set:O,type:"identifier",role:"latinletter",font:"script"},{set:C,type:"identifier",role:"latinletter",font:"bold-script"},{set:A,type:"identifier",role:"latinletter",font:"bold-script"},{set:T,type:"identifier",role:"latinletter",font:"fraktur"},{set:w,type:"identifier",role:"latinletter",font:"fraktur"},{set:L,type:"identifier",role:"latinletter",font:"double-struck"},{set:N,type:"identifier",role:"latinletter",font:"double-struck"},{set:I,type:"identifier",role:"latinletter",font:"bold-fraktur"},{set:P,type:"identifier",role:"latinletter",font:"bold-fraktur"},{set:R,type:"identifier",role:"latinletter",font:"sans-serif"},{set:k,type:"identifier",role:"latinletter",font:"sans-serif"},{set:B,type:"identifier",role:"latinletter",font:"sans-serif-bold"},{set:j,type:"identifier",role:"latinletter",font:"sans-serif-bold"},{set:F,type:"identifier",role:"latinletter",font:"sans-serif-italic"},{set:D,type:"identifier",role:"latinletter",font:"sans-serif-italic"},{set:q,type:"identifier",role:"latinletter",font:"sans-serif-bold-italic"},{set:H,type:"identifier",role:"latinletter",font:"sans-serif-bold-italic"},{set:G,type:"identifier",role:"latinletter",font:"monospace"},{set:U,type:"identifier",role:"latinletter",font:"monospace"},{set:V,type:"identifier",role:"latinletter",font:"double-struck-italic"},{set:W,type:"identifier",role:"greekletter",font:"normal"},{set:X,type:"identifier",role:"greekletter",font:"normal"},{set:$,type:"identifier",role:"greekletter",font:"bold"},{set:z,type:"identifier",role:"greekletter",font:"bold"},{set:K,type:"identifier",role:"greekletter",font:"italic"},{set:J,type:"identifier",role:"greekletter",font:"italic"},{set:Z,type:"identifier",role:"greekletter",font:"bold-italic"},{set:Y,type:"identifier",role:"greekletter",font:"bold-italic"},{set:tt,type:"identifier",role:"greekletter",font:"sans-serif-bold"},{set:Q,type:"identifier",role:"greekletter",font:"sans-serif-bold"},{set:et,type:"identifier",role:"greekletter",font:"sans-serif-bold-italic"},{set:rt,type:"identifier",role:"greekletter",font:"sans-serif-bold-italic"},{set:nt,type:"identifier",role:"greekletter",font:"double-struck"},{set:ot,type:"identifier",role:"greekletter",font:"normal"},{set:it,type:"identifier",role:"greekletter",font:"bold"},{set:at,type:"identifier",role:"greekletter",font:"italic"},{set:st,type:"identifier",role:"greekletter",font:"sans-serif-bold"},{set:lt,type:"identifier",role:"otherletter",font:"normal"},{set:["0","1","2","3","4","5","6","7","8","9"],type:"number",role:"integer",font:"normal"},{set:["\uff10","\uff11","\uff12","\uff13","\uff14","\uff15","\uff16","\uff17","\uff18","\uff19"],type:"number",role:"integer",font:"normal"},{set:["\ud835\udfce","\ud835\udfcf","\ud835\udfd0","\ud835\udfd1","\ud835\udfd2","\ud835\udfd3","\ud835\udfd4","\ud835\udfd5","\ud835\udfd6","\ud835\udfd7"],type:"number",role:"integer",font:"bold"},{set:["\ud835\udfd8","\ud835\udfd9","\ud835\udfda","\ud835\udfdb","\ud835\udfdc","\ud835\udfdd","\ud835\udfde","\ud835\udfdf","\ud835\udfe0","\ud835\udfe1"],type:"number",role:"integer",font:"double-struck"},{set:["\ud835\udfe2","\ud835\udfe3","\ud835\udfe4","\ud835\udfe5","\ud835\udfe6","\ud835\udfe7","\ud835\udfe8","\ud835\udfe9","\ud835\udfea","\ud835\udfeb"],type:"number",role:"integer",font:"sans-serif"},{set:["\ud835\udfec","\ud835\udfed","\ud835\udfee","\ud835\udfef","\ud835\udff0","\ud835\udff1","\ud835\udff2","\ud835\udff3","\ud835\udff4","\ud835\udff5"],type:"number",role:"integer",font:"sans-serif-bold"},{set:["\ud835\udff6","\ud835\udff7","\ud835\udff8","\ud835\udff9","\ud835\udffa","\ud835\udffb","\ud835\udffc","\ud835\udffd","\ud835\udffe","\ud835\udfff"],type:"number",role:"integer",font:"monospace"},{set:mt,type:"number",role:"float"},{set:yt,type:"number",role:"othernumber"},{set:ut,type:"operator",role:"addition"},{set:ht,type:"operator",role:"multiplication"},{set:["\xaf","-","\u2052","\u207b","\u208b","\u2212","\u2216","\u2238","\u2242","\u2296","\u229f","\u2796","\u2a29","\u2a2a","\u2a2b","\u2a2c","\u2a3a","\u2a41","\ufe63","\uff0d","\u2010","\u2011"],type:"operator",role:"subtraction"},{set:["/","\xf7","\u2044","\u2215","\u2298","\u27cc","\u29bc","\u2a38"],type:"operator",role:"division"},{set:["\u2200","\u2203","\u2206","\u2207","\u2202","\u2201","\u2204"],type:"operator",role:"prefix operator"},{set:["\ud835\udec1","\ud835\udedb","\ud835\udfca","\ud835\udfcb"],type:"operator",role:"prefix operator",font:"bold"},{set:["\ud835\udefb","\ud835\udf15"],type:"operator",role:"prefix operator",font:"italic"},{set:["\ud835\udf6f","\ud835\udf89"],type:"operator",role:"prefix operator",font:"sans-serif-bold"},{set:["=","~","\u207c","\u208c","\u223c","\u223d","\u2243","\u2245","\u2248","\u224a","\u224b","\u224c","\u224d","\u224e","\u2251","\u2252","\u2253","\u2254","\u2255","\u2256","\u2257","\u2258","\u2259","\u225a","\u225b","\u225c","\u225d","\u225e","\u225f","\u2261","\u2263","\u29e4","\u2a66","\u2a6e","\u2a6f","\u2a70","\u2a71","\u2a72","\u2a73","\u2a74","\u2a75","\u2a76","\u2a77","\u2a78","\u22d5","\u2a6d","\u2a6a","\u2a6b","\u2a6c","\ufe66","\uff1d","\u2a6c","\u229c","\u2237"],type:"relation",role:"equality"},{set:["<",">","\u2241","\u2242","\u2244","\u2246","\u2247","\u2249","\u224f","\u2250","\u2260","\u2262","\u2264","\u2265","\u2266","\u2267","\u2268","\u2269","\u226a","\u226b","\u226c","\u226d","\u226e","\u226f","\u2270","\u2271","\u2272","\u2273","\u2274","\u2275","\u2276","\u2277","\u2278","\u2279","\u227a","\u227b","\u227c","\u227d","\u227e","\u227f","\u2280","\u2281","\u22d6","\u22d7","\u22d8","\u22d9","\u22da","\u22db","\u22dc","\u22dd","\u22de","\u22df","\u22e0","\u22e1","\u22e6","\u22e7","\u22e8","\u22e9","\u2a79","\u2a7a","\u2a7b","\u2a7c","\u2a7d","\u2a7e","\u2a7f","\u2a80","\u2a81","\u2a82","\u2a83","\u2a84","\u2a85","\u2a86","\u2a87","\u2a88","\u2a89","\u2a8a","\u2a8b","\u2a8c","\u2a8d","\u2a8e","\u2a8f","\u2a90","\u2a91","\u2a92","\u2a93","\u2a94","\u2a95","\u2a96","\u2a97","\u2a98","\u2a99","\u2a9a","\u2a9b","\u2a9c","\u2a9d","\u2a9e","\u2a9f","\u2aa0","\u2aa1","\u2aa2","\u2aa3","\u2aa4","\u2aa5","\u2aa6","\u2aa7","\u2aa8","\u2aa9","\u2aaa","\u2aab","\u2aac","\u2aad","\u2aae","\u2aaf","\u2ab0","\u2ab1","\u2ab2","\u2ab3","\u2ab4","\u2ab5","\u2ab6","\u2ab7","\u2ab8","\u2ab9","\u2aba","\u2abb","\u2abc","\u2af7","\u2af8","\u2af9","\u2afa","\u29c0","\u29c1","\ufe64","\ufe65","\uff1c","\uff1e"],type:"relation",role:"inequality"},{set:["\u22e2","\u22e3","\u22e4","\u22e5","\u2282","\u2283","\u2284","\u2285","\u2286","\u2287","\u2288","\u2289","\u228a","\u228b","\u228f","\u2290","\u2291","\u2292","\u2abd","\u2abe","\u2abf","\u2ac0","\u2ac1","\u2ac2","\u2ac3","\u2ac4","\u2ac5","\u2ac6","\u2ac7","\u2ac8","\u2ac9","\u2aca","\u2acb","\u2acc","\u2acd","\u2ace","\u2acf","\u2ad0","\u2ad1","\u2ad2","\u2ad3","\u2ad4","\u2ad5","\u2ad6","\u2ad7","\u2ad8","\u22d0","\u22d1","\u22ea","\u22eb","\u22ec","\u22ed","\u22b2","\u22b3","\u22b4","\u22b5"],type:"relation",role:"set"},{set:["\u22a2","\u22a3","\u22a6","\u22a7","\u22a8","\u22a9","\u22aa","\u22ab","\u22ac","\u22ad","\u22ae","\u22af","\u2ade","\u2adf","\u2ae0","\u2ae1","\u2ae2","\u2ae3","\u2ae4","\u2ae5","\u2ae6","\u2ae7","\u2ae8","\u2ae9","\u2aea","\u2aeb","\u2aec","\u2aed"],type:"relation",role:"unknown"},{set:["\u2190","\u2191","\u2192","\u2193","\u2194","\u2195","\u2196","\u2197","\u2198","\u2199","\u219a","\u219b","\u219c","\u219d","\u219e","\u219f","\u21a0","\u21a1","\u21a2","\u21a3","\u21a4","\u21a5","\u21a6","\u21a7","\u21a8","\u21a9","\u21aa","\u21ab","\u21ac","\u21ad","\u21ae","\u21af","\u21b0","\u21b1","\u21b2","\u21b3","\u21b4","\u21b5","\u21b6","\u21b7","\u21b8","\u21b9","\u21ba","\u21bb","\u21c4","\u21c5","\u21c6","\u21c7","\u21c8","\u21c9","\u21ca","\u21cd","\u21ce","\u21cf","\u21d0","\u21d1","\u21d2","\u21d3","\u21d4","\u21d5","\u21d6","\u21d7","\u21d8","\u21d9","\u21da","\u21db","\u21dc","\u21dd","\u21de","\u21df","\u21e0","\u21e1","\u21e2","\u21e3","\u21e4","\u21e5","\u21e6","\u21e7","\u21e8","\u21e9","\u21ea","\u21eb","\u21ec","\u21ed","\u21ee","\u21ef","\u21f0","\u21f1","\u21f2","\u21f3","\u21f4","\u21f5","\u21f6","\u21f7","\u21f8","\u21f9","\u21fa","\u21fb","\u21fc","\u21fd","\u21fe","\u21ff","\u2301","\u2303","\u2304","\u2324","\u238b","\u2794","\u2798","\u2799","\u279a","\u279b","\u279c","\u279d","\u279e","\u279f","\u27a0","\u27a1","\u27a2","\u27a3","\u27a4","\u27a5","\u27a6","\u27a7","\u27a8","\u27a9","\u27aa","\u27ab","\u27ac","\u27ad","\u27ae","\u27af","\u27b1","\u27b2","\u27b3","\u27b4","\u27b5","\u27b6","\u27b7","\u27b8","\u27b9","\u27ba","\u27bb","\u27bc","\u27bd","\u27be","\u27f0","\u27f1","\u27f2","\u27f3","\u27f4","\u27f5","\u27f6","\u27f7","\u27f8","\u27f9","\u27fa","\u27fb","\u27fc","\u27fd","\u27fe","\u27ff","\u2900","\u2901","\u2902","\u2903","\u2904","\u2905","\u2906","\u2907","\u2908","\u2909","\u290a","\u290b","\u290c","\u290d","\u290e","\u290f","\u2910","\u2911","\u2912","\u2913","\u2914","\u2915","\u2916","\u2917","\u2918","\u2919","\u291a","\u291b","\u291c","\u291d","\u291e","\u291f","\u2920","\u2921","\u2922","\u2923","\u2924","\u2925","\u2926","\u2927","\u2928","\u2929","\u292a","\u292d","\u292e","\u292f","\u2930","\u2931","\u2932","\u2933","\u2934","\u2935","\u2936","\u2937","\u2938","\u2939","\u293a","\u293b","\u293c","\u293d","\u293e","\u293f","\u2940","\u2941","\u2942","\u2943","\u2944","\u2945","\u2946","\u2947","\u2948","\u2949","\u2970","\u2971","\u2972","\u2973","\u2974","\u2975","\u2976","\u2977","\u2978","\u2979","\u297a","\u297b","\u29b3","\u29b4","\u29bd","\u29ea","\u29ec","\u29ed","\u2a17","\u2b00","\u2b01","\u2b02","\u2b03","\u2b04","\u2b05","\u2b06","\u2b07","\u2b08","\u2b09","\u2b0a","\u2b0b","\u2b0c","\u2b0d","\u2b0e","\u2b0f","\u2b10","\u2b11","\u2b30","\u2b31","\u2b32","\u2b33","\u2b34","\u2b35","\u2b36","\u2b37","\u2b38","\u2b39","\u2b3a","\u2b3b","\u2b3c","\u2b3d","\u2b3e","\u2b3f","\u2b40","\u2b41","\u2b42","\u2b43","\u2b44","\u2b45","\u2b46","\u2b47","\u2b48","\u2b49","\u2b4a","\u2b4b","\u2b4c","\uffe9","\uffea","\uffeb","\uffec","\u21bc","\u21bd","\u21be","\u21bf","\u21c0","\u21c1","\u21c2","\u21c3","\u21cb","\u21cc","\u294a","\u294b","\u294c","\u294d","\u294e","\u294f","\u2950","\u2951","\u2952","\u2953","\u2954","\u2955","\u2956","\u2957","\u2958","\u2959","\u295a","\u295b","\u295c","\u295d","\u295e","\u295f","\u2960","\u2961","\u2962","\u2963","\u2964","\u2965","\u2966","\u2967","\u2968","\u2969","\u296a","\u296b","\u296c","\u296d","\u296e","\u296f","\u297c","\u297d","\u297e","\u297f"],type:"relation",role:"arrow"},{set:["\u2208","\u220a","\u22f2","\u22f3","\u22f4","\u22f5","\u22f6","\u22f7","\u22f8","\u22f9","\u22ff"],type:"operator",role:"element"},{set:["\u2209"],type:"operator",role:"nonelement"},{set:["\u220b","\u220d","\u22fa","\u22fb","\u22fc","\u22fd","\u22fe"],type:"operator",role:"reelement"},{set:["\u220c"],type:"operator",role:"renonelement"},{set:["\u2140","\u220f","\u2210","\u2211","\u22c0","\u22c1","\u22c2","\u22c3","\u2a00","\u2a01","\u2a02","\u2a03","\u2a04","\u2a05","\u2a06","\u2a07","\u2a08","\u2a09","\u2a0a","\u2a0b","\u2afc","\u2aff"],type:"largeop",role:"sum"},{set:["\u222b","\u222c","\u222d","\u222e","\u222f","\u2230","\u2231","\u2232","\u2233","\u2a0c","\u2a0d","\u2a0e","\u2a0f","\u2a10","\u2a11","\u2a12","\u2a13","\u2a14","\u2a15","\u2a16","\u2a17","\u2a18","\u2a19","\u2a1a","\u2a1b","\u2a1c"],type:"largeop",role:"integral"},{set:["\u221f","\u2220","\u2221","\u2222","\u22be","\u22bf","\u25b3","\u25b7","\u25bd","\u25c1"],type:"operator",role:"geometry"},{set:["inf","lim","liminf","limsup","max","min","sup","injlim","projlim","inj lim","proj lim"],type:"function",role:"limit function"},{set:gt,type:"function",role:"prefix function"},{set:["mod","rem"],type:"operator",role:"prefix function"}],vt=function(){const t={};for(let e,r=0;e=bt[r];r++)e.set.forEach((function(r){t[r]={role:e.role||"unknown",type:e.type||"unknown",font:e.font||"unknown"}}));return t}();e.equal=function(t,e){return t.type===e.type&&t.role===e.role&&t.font===e.font},e.lookupType=function(t){var e;return(null===(e=vt[t])||void 0===e?void 0:e.type)||"unknown"},e.lookupRole=function(t){var e;return(null===(e=vt[t])||void 0===e?void 0:e.role)||"unknown"},e.lookupMeaning=function(t){return vt[t]||{role:"unknown",type:"unknown",font:"unknown"}},e.invisibleTimes=function(){return dt},e.invisiblePlus=function(){return pt},e.invisibleComma=function(){return r},e.functionApplication=function(){return ft},e.isMatchingFence=function(t,e){return-1!==h.indexOf(t)||-1!==d.indexOf(t)?t===e:a[t]===e||s[t]===e},e.isEmbellishedType=function(t){return"operator"===t||"relation"===t||"fence"===t||"punctuation"===t};const _t=new Map;function St(t,e){return`${t} ${e}`}function xt(t,e,r=""){for(const n of e)_t.set(St(t,n),r||t)}xt("d",["d","\u2146","\uff44","\ud835\udc1d","\ud835\udc51","\ud835\udcb9","\ud835\udced","\ud835\udd21","\ud835\udd55","\ud835\udd89","\ud835\uddbd","\ud835\uddf1","\ud835\ude25","\ud835\ude8d"]),xt("bar",o),xt("tilde",i),e.lookupSecondary=function(t,e){return _t.get(St(t,e))}},8158:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticMeaningCollator=e.SemanticNodeCollator=e.SemanticDefault=void 0;const n=r(3588),o=r(3882);class i{constructor(){this.map={}}static key(t,e){return e?t+":"+e:t}add(t,e){this.map[i.key(t,e.font)]=e}addNode(t){this.add(t.textContent,t.meaning())}retrieve(t,e){return this.map[i.key(t,e)]}retrieveNode(t){return this.retrieve(t.textContent,t.font)}size(){return Object.keys(this.map).length}}e.SemanticDefault=i;class a{constructor(){this.map={}}add(t,e){const r=this.map[t];r?r.push(e):this.map[t]=[e]}retrieve(t,e){return this.map[i.key(t,e)]}retrieveNode(t){return this.retrieve(t.textContent,t.font)}copy(){const t=this.copyCollator();for(const e in this.map)t.map[e]=this.map[e];return t}minimize(){for(const t in this.map)1===this.map[t].length&&delete this.map[t]}minimalCollator(){const t=this.copy();for(const e in t.map)1===t.map[e].length&&delete t.map[e];return t}isMultiValued(){for(const t in this.map)if(this.map[t].length>1)return!0;return!1}isEmpty(){return!Object.keys(this.map).length}}class s extends a{copyCollator(){return new s}add(t,e){const r=i.key(t,e.font);super.add(r,e)}addNode(t){this.add(t.textContent,t)}toString(){const t=[];for(const e in this.map){const r=Array(e.length+3).join(" "),n=this.map[e],o=[];for(let t,e=0;t=n[e];e++)o.push(t.toString());t.push(e+": "+o.join("\n"+r))}return t.join("\n")}collateMeaning(){const t=new l;for(const e in this.map)t.map[e]=this.map[e].map((function(t){return t.meaning()}));return t}}e.SemanticNodeCollator=s;class l extends a{copyCollator(){return new l}add(t,e){const r=this.retrieve(t,e.font);if(!r||!r.find((function(t){return n.equal(t,e)}))){const r=i.key(t,e.font);super.add(r,e)}}addNode(t){this.add(t.textContent,t.meaning())}toString(){const t=[];for(const e in this.map){const r=Array(e.length+3).join(" "),n=this.map[e],o=[];for(let t,e=0;t=n[e];e++)o.push("{type: "+t.type+", role: "+t.role+", font: "+t.font+"}");t.push(e+": "+o.join("\n"+r))}return t.join("\n")}reduce(){for(const t in this.map)1!==this.map[t].length&&(this.map[t]=(0,o.reduce)(this.map[t]))}default(){const t=new i;for(const e in this.map)1===this.map[e].length&&(t.map[e]=this.map[e][0]);return t}newDefault(){const t=this.default();this.reduce();const e=this.default();return t.size()!==e.size()?e:null}}e.SemanticMeaningCollator=l},9911:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticMultiHeuristic=e.SemanticTreeHeuristic=e.SemanticAbstractHeuristic=void 0;class r{constructor(t,e,r=(t=>!1)){this.name=t,this.apply=e,this.applicable=r}}e.SemanticAbstractHeuristic=r;e.SemanticTreeHeuristic=class extends r{};e.SemanticMultiHeuristic=class extends r{}},7516:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.lookup=e.run=e.add=e.blacklist=e.flags=e.updateFactory=e.factory=void 0,e.factory=null,e.updateFactory=function(t){e.factory=t};const r=new Map;function n(t){return r.get(t)}e.flags={combine_juxtaposition:!0,convert_juxtaposition:!0,multioperator:!0},e.blacklist={},e.add=function(t){const n=t.name;r.set(n,t),e.flags[n]||(e.flags[n]=!1)},e.run=function(t,r,o){const i=n(t);return i&&!e.blacklist[t]&&(e.flags[t]||i.applicable(r))?i.apply(r):o?o(r):r},e.lookup=n},94:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(2057),o=r(5897),i=r(3588),a=r(7516),s=r(9911),l=r(5609),c=r(3308),u=r(4795);function p(t,e,r){let n=null;if(!t.length)return n;const o=r[r.length-1],i=o&&o.length,a=e&&e.length,s=c.default.getInstance();if(i&&a){if("infixop"===e[0].type&&"implicit"===e[0].role)return n=t.pop(),o.push(s.postfixNode_(o.pop(),t)),n;n=t.shift();const r=s.prefixNode_(e.shift(),t);return e.unshift(r),n}return i?(o.push(s.postfixNode_(o.pop(),t)),n):(a&&e.unshift(s.prefixNode_(e.shift(),t)),n)}function h(t,e,r){if(!e.length)return t;const o=t.pop(),i=e.shift(),s=r.shift();if(l.isImplicitOp(i)){n.Debugger.getInstance().output("Juxta Heuristic Case 2");const a=(o?[o,i]:[i]).concat(s);return h(t.concat(a),e,r)}if(!o)return n.Debugger.getInstance().output("Juxta Heuristic Case 3"),h([i].concat(s),e,r);const c=s.shift();if(!c){n.Debugger.getInstance().output("Juxta Heuristic Case 9");const s=a.factory.makeBranchNode("infixop",[o,e.shift()],[i],i.textContent);return s.role="implicit",a.run("combine_juxtaposition",s),e.unshift(s),h(t,e,r)}if(l.isOperator(o)||l.isOperator(c))return n.Debugger.getInstance().output("Juxta Heuristic Case 4"),h(t.concat([o,i,c]).concat(s),e,r);let u=null;return l.isImplicitOp(o)&&l.isImplicitOp(c)?(n.Debugger.getInstance().output("Juxta Heuristic Case 5"),o.contentNodes.push(i),o.contentNodes=o.contentNodes.concat(c.contentNodes),o.childNodes.push(c),o.childNodes=o.childNodes.concat(c.childNodes),c.childNodes.forEach((t=>t.parent=o)),i.parent=o,o.addMathmlNodes(i.mathml),o.addMathmlNodes(c.mathml),u=o):l.isImplicitOp(o)?(n.Debugger.getInstance().output("Juxta Heuristic Case 6"),o.contentNodes.push(i),o.childNodes.push(c),c.parent=o,i.parent=o,o.addMathmlNodes(i.mathml),o.addMathmlNodes(c.mathml),u=o):l.isImplicitOp(c)?(n.Debugger.getInstance().output("Juxta Heuristic Case 7"),c.contentNodes.unshift(i),c.childNodes.unshift(o),o.parent=c,i.parent=c,c.addMathmlNodes(i.mathml),c.addMathmlNodes(o.mathml),u=c):(n.Debugger.getInstance().output("Juxta Heuristic Case 8"),u=a.factory.makeBranchNode("infixop",[o,c],[i],i.textContent),u.role="implicit"),t.push(u),h(t.concat(s),e,r)}a.add(new s.SemanticTreeHeuristic("combine_juxtaposition",(function(t){for(let e,r=t.childNodes.length-1;e=t.childNodes[r];r--)l.isImplicitOp(e)&&!e.nobreaking&&(t.childNodes.splice(r,1,...e.childNodes),t.contentNodes.splice(r,0,...e.contentNodes),e.childNodes.concat(e.contentNodes).forEach((function(e){e.parent=t})),t.addMathmlNodes(e.mathml));return t}))),a.add(new s.SemanticTreeHeuristic("propagateSimpleFunction",(t=>("infixop"!==t.type&&"fraction"!==t.type||!t.childNodes.every(l.isSimpleFunction)||(t.role="composed function"),t)),(t=>"clearspeak"===o.default.getInstance().domain))),a.add(new s.SemanticTreeHeuristic("simpleNamedFunction",(t=>("unit"!==t.role&&-1!==["f","g","h","F","G","H"].indexOf(t.textContent)&&(t.role="simple function"),t)),(t=>"clearspeak"===o.default.getInstance().domain))),a.add(new s.SemanticTreeHeuristic("propagateComposedFunction",(t=>("fenced"===t.type&&"composed function"===t.childNodes[0].role&&(t.role="composed function"),t)),(t=>"clearspeak"===o.default.getInstance().domain))),a.add(new s.SemanticTreeHeuristic("multioperator",(t=>{if("unknown"!==t.role||t.textContent.length<=1)return;const e=[...t.textContent].map(i.lookupMeaning).reduce((function(t,e){return t&&e.role&&"unknown"!==e.role&&e.role!==t?"unknown"===t?e.role:null:t}),"unknown");e&&(t.role=e)}))),a.add(new s.SemanticMultiHeuristic("convert_juxtaposition",(t=>{let e=u.partitionNodes(t,(function(t){return t.textContent===i.invisibleTimes()&&"operator"===t.type}));e=e.rel.length?function(t){const e=[],r=[];let n=t.comp.shift(),o=null,i=[];for(;t.comp.length;)if(i=[],n.length)o&&e.push(o),r.push(n),o=t.rel.shift(),n=t.comp.shift();else{for(o&&i.push(o);!n.length&&t.comp.length;)n=t.comp.shift(),i.push(t.rel.shift());o=p(i,n,r)}i.length||n.length?(e.push(o),r.push(n)):(i.push(o),p(i,n,r));return{rel:e,comp:r}}(e):e,t=e.comp[0];for(let r,n,o=1;r=e.comp[o],n=e.rel[o-1];o++)t.push(n),t=t.concat(r);return e=u.partitionNodes(t,(function(t){return t.textContent===i.invisibleTimes()&&("operator"===t.type||"infixop"===t.type)})),e.rel.length?h(e.comp.shift(),e.rel,e.comp):t}))),a.add(new s.SemanticTreeHeuristic("simple2prefix",(t=>(t.textContent.length>1&&!t.textContent[0].match(/[A-Z]/)&&(t.role="prefix function"),t)),(t=>"braille"===o.default.getInstance().modality&&"identifier"===t.type))),a.add(new s.SemanticTreeHeuristic("detect_cycle",(t=>{t.type="matrix",t.role="cycle";const e=t.childNodes[0];return e.type="row",e.role="cycle",e.textContent="",e.contentNodes=[],t}),(t=>"fenced"===t.type&&"infixop"===t.childNodes[0].type&&"implicit"===t.childNodes[0].role&&t.childNodes[0].childNodes.every((function(t){return"number"===t.type}))&&t.childNodes[0].contentNodes.every((function(t){return"space"===t.role})))))},7228:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticMathml=void 0;const n=r(5740),o=r(5250),i=r(5609),a=r(3308),s=r(4795);class l extends o.SemanticAbstractParser{constructor(){super("MathML"),this.parseMap_={SEMANTICS:this.semantics_.bind(this),MATH:this.rows_.bind(this),MROW:this.rows_.bind(this),MPADDED:this.rows_.bind(this),MSTYLE:this.rows_.bind(this),MFRAC:this.fraction_.bind(this),MSUB:this.limits_.bind(this),MSUP:this.limits_.bind(this),MSUBSUP:this.limits_.bind(this),MOVER:this.limits_.bind(this),MUNDER:this.limits_.bind(this),MUNDEROVER:this.limits_.bind(this),MROOT:this.root_.bind(this),MSQRT:this.sqrt_.bind(this),MTABLE:this.table_.bind(this),MLABELEDTR:this.tableLabeledRow_.bind(this),MTR:this.tableRow_.bind(this),MTD:this.tableCell_.bind(this),MS:this.text_.bind(this),MTEXT:this.text_.bind(this),MSPACE:this.space_.bind(this),"ANNOTATION-XML":this.text_.bind(this),MI:this.identifier_.bind(this),MN:this.number_.bind(this),MO:this.operator_.bind(this),MFENCED:this.fenced_.bind(this),MENCLOSE:this.enclosed_.bind(this),MMULTISCRIPTS:this.multiscripts_.bind(this),ANNOTATION:this.empty_.bind(this),NONE:this.empty_.bind(this),MACTION:this.action_.bind(this)};const t={type:"identifier",role:"numbersetletter",font:"double-struck"};["C","H","N","P","Q","R","Z","\u2102","\u210d","\u2115","\u2119","\u211a","\u211d","\u2124"].forEach((e=>this.getFactory().defaultMap.add(e,t)).bind(this))}static getAttribute_(t,e,r){if(!t.hasAttribute(e))return r;const n=t.getAttribute(e);return n.match(/^\s*$/)?null:n}parse(t){a.default.getInstance().setNodeFactory(this.getFactory());const e=n.toArray(t.childNodes),r=n.tagName(t),o=this.parseMap_[r],i=(o||this.dummy_.bind(this))(t,e);return s.addAttributes(i,t),-1!==["MATH","MROW","MPADDED","MSTYLE","SEMANTICS"].indexOf(r)||(i.mathml.unshift(t),i.mathmlTree=t),i}semantics_(t,e){return e.length?this.parse(e[0]):this.getFactory().makeEmptyNode()}rows_(t,e){const r=t.getAttribute("semantics");if(r&&r.match("bspr_"))return a.default.proof(t,r,this.parseList.bind(this));let n;return 1===(e=s.purgeNodes(e)).length?(n=this.parse(e[0]),"empty"!==n.type||n.mathmlTree||(n.mathmlTree=t)):n=a.default.getInstance().row(this.parseList(e)),n.mathml.unshift(t),n}fraction_(t,e){if(!e.length)return this.getFactory().makeEmptyNode();const r=this.parse(e[0]),n=e[1]?this.parse(e[1]):this.getFactory().makeEmptyNode();return a.default.getInstance().fractionLikeNode(r,n,t.getAttribute("linethickness"),"true"===t.getAttribute("bevelled"))}limits_(t,e){return a.default.getInstance().limitNode(n.tagName(t),this.parseList(e))}root_(t,e){return e[1]?this.getFactory().makeBranchNode("root",[this.parse(e[1]),this.parse(e[0])],[]):this.sqrt_(t,e)}sqrt_(t,e){const r=this.parseList(s.purgeNodes(e));return this.getFactory().makeBranchNode("sqrt",[a.default.getInstance().row(r)],[])}table_(t,e){const r=t.getAttribute("semantics");if(r&&r.match("bspr_"))return a.default.proof(t,r,this.parseList.bind(this));const n=this.getFactory().makeBranchNode("table",this.parseList(e),[]);return n.mathmlTree=t,a.default.tableToMultiline(n),n}tableRow_(t,e){const r=this.getFactory().makeBranchNode("row",this.parseList(e),[]);return r.role="table",r}tableLabeledRow_(t,e){if(!e.length)return this.tableRow_(t,e);const r=this.parse(e[0]);r.role="label";const n=this.getFactory().makeBranchNode("row",this.parseList(e.slice(1)),[r]);return n.role="table",n}tableCell_(t,e){const r=this.parseList(s.purgeNodes(e));let n;n=r.length?1===r.length&&i.isType(r[0],"empty")?r:[a.default.getInstance().row(r)]:[];const o=this.getFactory().makeBranchNode("cell",n,[]);return o.role="table",o}space_(t,e){const r=t.getAttribute("width"),o=r&&r.match(/[a-z]*$/);if(!o)return this.empty_(t,e);const i=o[0],s=parseFloat(r.slice(0,o.index)),l={cm:.4,pc:.5,em:.5,ex:1,in:.15,pt:5,mm:5}[i];if(!l||isNaN(s)||s1?this.parse(e[1]):this.getFactory().makeUnprocessed(t)}dummy_(t,e){const r=this.getFactory().makeUnprocessed(t);return r.role=t.tagName,r.textContent=t.textContent,r}leaf_(t,e){if(1===e.length&&e[0].nodeType!==n.NodeType.TEXT_NODE){const r=this.getFactory().makeUnprocessed(t);return r.role=e[0].tagName,s.addAttributes(r,e[0]),r}return this.getFactory().makeLeafNode(t.textContent,a.default.getInstance().font(t.getAttribute("mathvariant")))}}e.SemanticMathml=l},5952:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticNode=void 0;const n=r(5740),o=r(3588),i=r(4795);class a{constructor(t){this.id=t,this.mathml=[],this.parent=null,this.type="unknown",this.role="unknown",this.font="unknown",this.embellished=null,this.fencePointer="",this.childNodes=[],this.textContent="",this.mathmlTree=null,this.contentNodes=[],this.annotation={},this.attributes={},this.nobreaking=!1}static fromXml(t){const e=parseInt(t.getAttribute("id"),10),r=new a(e);return r.type=t.tagName,a.setAttribute(r,t,"role"),a.setAttribute(r,t,"font"),a.setAttribute(r,t,"embellished"),a.setAttribute(r,t,"fencepointer","fencePointer"),t.getAttribute("annotation")&&r.parseAnnotation(t.getAttribute("annotation")),i.addAttributes(r,t),a.processChildren(r,t),r}static setAttribute(t,e,r,n){n=n||r;const o=e.getAttribute(r);o&&(t[n]=o)}static processChildren(t,e){for(const r of n.toArray(e.childNodes)){if(r.nodeType===n.NodeType.TEXT_NODE){t.textContent=r.textContent;continue}const e=n.toArray(r.childNodes).map(a.fromXml);e.forEach((e=>e.parent=t)),"CONTENT"===n.tagName(r)?t.contentNodes=e:t.childNodes=e}}querySelectorAll(t){let e=[];for(let r,n=0;r=this.childNodes[n];n++)e=e.concat(r.querySelectorAll(t));for(let r,n=0;r=this.contentNodes[n];n++)e=e.concat(r.querySelectorAll(t));return t(this)&&e.unshift(this),e}xml(t,e){const r=function(r,n){const o=n.map((function(r){return r.xml(t,e)})),i=t.createElementNS("",r);for(let t,e=0;t=o[e];e++)i.appendChild(t);return i},n=t.createElementNS("",this.type);return e||this.xmlAttributes(n),n.textContent=this.textContent,this.contentNodes.length>0&&n.appendChild(r("content",this.contentNodes)),this.childNodes.length>0&&n.appendChild(r("children",this.childNodes)),n}toString(t=!1){const e=n.parseInput("");return n.serializeXml(this.xml(e,t))}allAttributes(){const t=[];return t.push(["role",this.role]),"unknown"!==this.font&&t.push(["font",this.font]),Object.keys(this.annotation).length&&t.push(["annotation",this.xmlAnnotation()]),this.embellished&&t.push(["embellished",this.embellished]),this.fencePointer&&t.push(["fencepointer",this.fencePointer]),t.push(["id",this.id.toString()]),t}xmlAnnotation(){const t=[];for(const e in this.annotation)this.annotation[e].forEach((function(r){t.push(e+":"+r)}));return t.join(";")}toJson(){const t={};t.type=this.type;const e=this.allAttributes();for(let r,n=0;r=e[n];n++)t[r[0]]=r[1].toString();return this.textContent&&(t.$t=this.textContent),this.childNodes.length&&(t.children=this.childNodes.map((function(t){return t.toJson()}))),this.contentNodes.length&&(t.content=this.contentNodes.map((function(t){return t.toJson()}))),t}updateContent(t,e){const r=e?t.replace(/^[ \f\n\r\t\v\u200b]*/,"").replace(/[ \f\n\r\t\v\u200b]*$/,""):t.trim();if(t=t&&!r?t:r,this.textContent===t)return;const n=(0,o.lookupMeaning)(t);this.textContent=t,this.role=n.role,this.type=n.type,this.font=n.font}addMathmlNodes(t){for(let e,r=0;e=t[r];r++)-1===this.mathml.indexOf(e)&&this.mathml.push(e)}appendChild(t){this.childNodes.push(t),this.addMathmlNodes(t.mathml),t.parent=this}replaceChild(t,e){const r=this.childNodes.indexOf(t);if(-1===r)return;t.parent=null,e.parent=this,this.childNodes[r]=e;const n=t.mathml.filter((function(t){return-1===e.mathml.indexOf(t)})),o=e.mathml.filter((function(e){return-1===t.mathml.indexOf(e)}));this.removeMathmlNodes(n),this.addMathmlNodes(o)}appendContentNode(t){t&&(this.contentNodes.push(t),this.addMathmlNodes(t.mathml),t.parent=this)}removeContentNode(t){if(t){const e=this.contentNodes.indexOf(t);-1!==e&&this.contentNodes.slice(e,1)}}equals(t){if(!t)return!1;if(this.type!==t.type||this.role!==t.role||this.textContent!==t.textContent||this.childNodes.length!==t.childNodes.length||this.contentNodes.length!==t.contentNodes.length)return!1;for(let e,r,n=0;e=this.childNodes[n],r=t.childNodes[n];n++)if(!e.equals(r))return!1;for(let e,r,n=0;e=this.contentNodes[n],r=t.contentNodes[n];n++)if(!e.equals(r))return!1;return!0}displayTree(){console.info(this.displayTree_(0))}addAnnotation(t,e){e&&this.addAnnotation_(t,e)}getAnnotation(t){const e=this.annotation[t];return e||[]}hasAnnotation(t,e){const r=this.annotation[t];return!!r&&-1!==r.indexOf(e)}parseAnnotation(t){const e=t.split(";");for(let t=0,r=e.length;t1)return!1;const r=e[0];if("infixop"===r.type){if("implicit"!==r.role)return!1;if(r.childNodes.some((t=>i(t,"infixop"))))return!1}return!0},e.isPrefixFunctionBoundary=function(t){return c(t)&&!s(t,"division")||i(t,"appl")||l(t)},e.isBigOpBoundary=function(t){return c(t)||l(t)},e.isIntegralDxBoundary=function(t,e){return!!e&&i(e,"identifier")&&n.lookupSecondary("d",t.textContent)},e.isIntegralDxBoundarySingle=function(t){if(i(t,"identifier")){const e=t.textContent[0];return e&&t.textContent[1]&&n.lookupSecondary("d",e)}return!1},e.isGeneralFunctionBoundary=l,e.isEmbellished=function(t){return t.embellished?t.embellished:n.isEmbellishedType(t.type)?t.type:null},e.isOperator=c,e.isRelation=u,e.isPunctuation=p,e.isFence=h,e.isElligibleEmbellishedFence=function(t){return!(!t||!h(t))&&(!t.embellished||d(t))},e.isTableOrMultiline=f,e.tableIsMatrixOrVector=function(t){return!!t&&m(t)&&f(t.childNodes[0])},e.isFencedElement=m,e.tableIsCases=function(t,e){return e.length>0&&s(e[e.length-1],"openfence")},e.tableIsMultiline=function(t){return t.childNodes.every((function(t){return t.childNodes.length<=1}))},e.lineIsLabelled=function(t){return i(t,"line")&&t.contentNodes.length&&s(t.contentNodes[0],"label")},e.isBinomial=function(t){return 2===t.childNodes.length},e.isLimitBase=function t(e){return i(e,"largeop")||i(e,"limboth")||i(e,"limlower")||i(e,"limupper")||i(e,"function")&&s(e,"limit function")||(i(e,"overscore")||i(e,"underscore"))&&t(e.childNodes[0])},e.isSimpleFunctionHead=function(t){return"identifier"===t.type||"latinletter"===t.role||"greekletter"===t.role||"otherletter"===t.role},e.singlePunctAtPosition=function(t,e,r){return 1===e.length&&("punctuation"===t[r].type||"punctuation"===t[r].embellished)&&t[r]===e[0]},e.isSimpleFunction=function(t){return i(t,"identifier")&&s(t,"simple function")},e.isLeftBrace=y,e.isRightBrace=g,e.isSetNode=function(t){return y(t.contentNodes[0])&&g(t.contentNodes[1])},e.illegalSingleton_=["punctuation","punctuated","relseq","multirel","table","multiline","cases","inference"],e.scriptedElement_=["limupper","limlower","limboth","subscript","superscript","underscore","overscore","tensor"],e.isSingletonSetContent=function t(r){const n=r.type;return-1===e.illegalSingleton_.indexOf(n)&&("infixop"!==n||"implicit"===r.role)&&("fenced"===n?"leftright"!==r.role||t(r.childNodes[0]):-1===e.scriptedElement_.indexOf(n)||t(r.childNodes[0]))},e.isNumber=b,e.isUnitCounter=function(t){return b(t)||"vulgar"===t.role||"mixed"===t.role},e.isPureUnit=function(t){const e=t.childNodes;return"unit"===t.role&&(!e.length||"unit"===e[0].role)},e.isImplicit=function(t){return"implicit"===t.role||"unit"===t.role&&!!t.contentNodes.length&&t.contentNodes[0].textContent===n.invisibleTimes()},e.isImplicitOp=function(t){return"infixop"===t.type&&"implicit"===t.role},e.isNeutralFence=v,e.compareNeutralFences=function(t,e){return v(t)&&v(e)&&(0,o.getEmbellishedInner)(t).textContent===(0,o.getEmbellishedInner)(e).textContent},e.elligibleLeftNeutral=function(t){return!!v(t)&&(!t.embellished||"superscript"!==t.type&&"subscript"!==t.type&&("tensor"!==t.type||"empty"===t.childNodes[3].type&&"empty"===t.childNodes[4].type))},e.elligibleRightNeutral=function(t){return!!v(t)&&(!t.embellished||("tensor"!==t.type||"empty"===t.childNodes[1].type&&"empty"===t.childNodes[2].type))},e.isMembership=function(t){return["element","nonelement","reelement","renonelement"].includes(t.role)}},3308:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0});const n=r(5740),o=r(3588),i=r(7516),a=r(6537),s=r(5609),l=r(4795);class c{constructor(){this.funcAppls={},this.factory_=new a.SemanticNodeFactory,i.updateFactory(this.factory_)}static getInstance(){return c.instance=c.instance||new c,c.instance}static tableToMultiline(t){if(s.tableIsMultiline(t)){t.type="multiline";for(let e,r=0;e=t.childNodes[r];r++)c.rowToLine_(e,"multiline");1===t.childNodes.length&&!s.lineIsLabelled(t.childNodes[0])&&s.isFencedElement(t.childNodes[0].childNodes[0])&&c.tableToMatrixOrVector_(c.rewriteFencedLine_(t)),c.binomialForm_(t),c.classifyMultiline(t)}else c.classifyTable(t)}static number(t){"unknown"!==t.type&&"identifier"!==t.type||(t.type="number"),c.numberRole_(t),c.exprFont_(t)}static classifyMultiline(t){let e=0;const r=t.childNodes.length;let n;for(;e=r)return;const o=n.childNodes[0].role;"unknown"!==o&&t.childNodes.every((function(t){const e=t.childNodes[0];return!e||e.role===o&&(s.isType(e,"relation")||s.isType(e,"relseq"))}))&&(t.role=o)}static classifyTable(t){const e=c.computeColumns_(t);c.classifyByColumns_(t,e,"equality")||c.classifyByColumns_(t,e,"inequality",["equality"])||c.classifyByColumns_(t,e,"arrow")||c.detectCaleyTable(t)}static detectCaleyTable(t){if(!t.mathmlTree)return!1;const e=t.mathmlTree,r=e.getAttribute("columnlines"),n=e.getAttribute("rowlines");return!(!r||!n)&&(!(!c.cayleySpacing(r)||!c.cayleySpacing(n))&&(t.role="cayley",!0))}static cayleySpacing(t){const e=t.split(" ");return("solid"===e[0]||"dashed"===e[0])&&e.slice(1).every((t=>"none"===t))}static proof(t,e,r){const n=c.separateSemantics(e);return c.getInstance().proof(t,n,r)}static findSemantics(t,e,r){const n=null==r?null:r,o=c.getSemantics(t);return!!o&&(!!o[e]&&(null==n||o[e]===n))}static getSemantics(t){const e=t.getAttribute("semantics");return e?c.separateSemantics(e):null}static removePrefix(t){const[,...e]=t.split("_");return e.join("_")}static separateSemantics(t){const e={};return t.split(";").forEach((function(t){const[r,n]=t.split(":");e[c.removePrefix(r)]=n})),e}static matchSpaces_(t,e){for(let r,n=0;r=e[n];n++){const e=t[n].mathmlTree,o=t[n+1].mathmlTree;if(!e||!o)continue;const i=e.nextSibling;if(!i||i===o)continue;const a=c.getSpacer_(i);a&&(r.mathml.push(a),r.mathmlTree=a,r.role="space")}}static getSpacer_(t){if("MSPACE"===n.tagName(t))return t;for(;l.hasEmptyTag(t)&&1===t.childNodes.length;)if(t=t.childNodes[0],"MSPACE"===n.tagName(t))return t;return null}static fenceToPunct_(t){const e=c.FENCE_TO_PUNCT_[t.role];if(e){for(;t.embellished;)t.embellished="punctuation",s.isRole(t,"subsup")||s.isRole(t,"underover")||(t.role=e),t=t.childNodes[0];t.type="punctuation",t.role=e}}static classifyFunction_(t,e){if("appl"===t.type||"bigop"===t.type||"integral"===t.type)return"";if(e[0]&&e[0].textContent===o.functionApplication()){c.getInstance().funcAppls[t.id]=e.shift();let r="simple function";return i.run("simple2prefix",t),"prefix function"!==t.role&&"limit function"!==t.role||(r=t.role),c.propagateFunctionRole_(t,r),"prefix"}const r=c.CLASSIFY_FUNCTION_[t.role];return r||(s.isSimpleFunctionHead(t)?"simple":"")}static propagateFunctionRole_(t,e){if(t){if("infixop"===t.type)return;s.isRole(t,"subsup")||s.isRole(t,"underover")||(t.role=e),c.propagateFunctionRole_(t.childNodes[0],e)}}static getFunctionOp_(t,e){if(e(t))return t;for(let r,n=0;r=t.childNodes[n];n++){const t=c.getFunctionOp_(r,e);if(t)return t}return null}static tableToMatrixOrVector_(t){const e=t.childNodes[0];s.isType(e,"multiline")?c.tableToVector_(t):c.tableToMatrix_(t),t.contentNodes.forEach(e.appendContentNode.bind(e));for(let t,r=0;t=e.childNodes[r];r++)c.assignRoleToRow_(t,c.getComponentRoles_(e));return e.parent=null,e}static tableToVector_(t){const e=t.childNodes[0];e.type="vector",1!==e.childNodes.length?c.binomialForm_(e):c.tableToSquare_(t)}static binomialForm_(t){s.isBinomial(t)&&(t.role="binomial",t.childNodes[0].role="binomial",t.childNodes[1].role="binomial")}static tableToMatrix_(t){const e=t.childNodes[0];e.type="matrix",e.childNodes&&e.childNodes.length>0&&e.childNodes[0].childNodes&&e.childNodes.length===e.childNodes[0].childNodes.length?c.tableToSquare_(t):e.childNodes&&1===e.childNodes.length&&(e.role="rowvector")}static tableToSquare_(t){const e=t.childNodes[0];s.isNeutralFence(t)?e.role="determinant":e.role="squarematrix"}static getComponentRoles_(t){const e=t.role;return e&&"unknown"!==e?e:t.type.toLowerCase()||"unknown"}static tableToCases_(t,e){for(let e,r=0;e=t.childNodes[r];r++)c.assignRoleToRow_(e,"cases");return t.type="cases",t.appendContentNode(e),s.tableIsMultiline(t)&&c.binomialForm_(t),t}static rewriteFencedLine_(t){const e=t.childNodes[0],r=t.childNodes[0].childNodes[0],n=t.childNodes[0].childNodes[0].childNodes[0];return r.parent=t.parent,t.parent=r,n.parent=e,r.childNodes=[t],e.childNodes=[n],r}static rowToLine_(t,e){const r=e||"unknown";s.isType(t,"row")&&(t.type="line",t.role=r,1===t.childNodes.length&&s.isType(t.childNodes[0],"cell")&&(t.childNodes=t.childNodes[0].childNodes,t.childNodes.forEach((function(e){e.parent=t}))))}static assignRoleToRow_(t,e){s.isType(t,"line")?t.role=e:s.isType(t,"row")&&(t.role=e,t.childNodes.forEach((function(t){s.isType(t,"cell")&&(t.role=e)})))}static nextSeparatorFunction_(t){let e;if(t){if(t.match(/^\s+$/))return null;e=t.replace(/\s/g,"").split("").filter((function(t){return t}))}else e=[","];return function(){return e.length>1?e.shift():e[0]}}static numberRole_(t){if("unknown"!==t.role)return;const e=[...t.textContent].filter((t=>t.match(/[^\s]/))),r=e.map(o.lookupMeaning);if(r.every((function(t){return"number"===t.type&&"integer"===t.role||"punctuation"===t.type&&"comma"===t.role})))return t.role="integer",void("0"===e[0]&&t.addAnnotation("general","basenumber"));r.every((function(t){return"number"===t.type&&"integer"===t.role||"punctuation"===t.type}))?t.role="float":t.role="othernumber"}static exprFont_(t){if("unknown"!==t.font)return;const e=[...t.textContent].map(o.lookupMeaning).reduce((function(t,e){return t&&e.font&&"unknown"!==e.font&&e.font!==t?"unknown"===t?e.font:null:t}),"unknown");e&&(t.font=e)}static purgeFences_(t){const e=t.rel,r=t.comp,n=[],o=[];for(;e.length>0;){const t=e.shift();let i=r.shift();s.isElligibleEmbellishedFence(t)?(n.push(t),o.push(i)):(c.fenceToPunct_(t),i.push(t),i=i.concat(r.shift()),r.unshift(i))}return o.push(r.shift()),{rel:n,comp:o}}static rewriteFencedNode_(t){const e=t.contentNodes[0],r=t.contentNodes[1];let n=c.rewriteFence_(t,e);return t.contentNodes[0]=n.fence,n=c.rewriteFence_(n.node,r),t.contentNodes[1]=n.fence,t.contentNodes[0].parent=t,t.contentNodes[1].parent=t,n.node.parent=null,n.node}static rewriteFence_(t,e){if(!e.embellished)return{node:t,fence:e};const r=e.childNodes[0],n=c.rewriteFence_(t,r);return s.isType(e,"superscript")||s.isType(e,"subscript")||s.isType(e,"tensor")?(s.isRole(e,"subsup")||(e.role=t.role),r!==n.node&&(e.replaceChild(r,n.node),r.parent=t),c.propagateFencePointer_(e,r),{node:e,fence:n.fence}):(e.replaceChild(r,n.fence),e.mathmlTree&&-1===e.mathml.indexOf(e.mathmlTree)&&e.mathml.push(e.mathmlTree),{node:n.node,fence:e})}static propagateFencePointer_(t,e){t.fencePointer=e.fencePointer||e.id.toString(),t.embellished=null}static classifyByColumns_(t,e,r,n){return!!(3===e.length&&c.testColumns_(e,1,(t=>c.isPureRelation_(t,r)))||2===e.length&&(c.testColumns_(e,1,(t=>c.isEndRelation_(t,r)||c.isPureRelation_(t,r)))||c.testColumns_(e,0,(t=>c.isEndRelation_(t,r,!0)||c.isPureRelation_(t,r)))))&&(t.role=r,!0)}static isEndRelation_(t,e,r){const n=r?t.childNodes.length-1:0;return s.isType(t,"relseq")&&s.isRole(t,e)&&s.isType(t.childNodes[n],"empty")}static isPureRelation_(t,e){return s.isType(t,"relation")&&s.isRole(t,e)}static computeColumns_(t){const e=[];for(let r,n=0;r=t.childNodes[n];n++)for(let t,n=0;t=r.childNodes[n];n++){e[n]?e[n].push(t):e[n]=[t]}return e}static testColumns_(t,e,r){const n=t[e];return!!n&&(n.some((function(t){return t.childNodes.length&&r(t.childNodes[0])}))&&n.every((function(t){return!t.childNodes.length||r(t.childNodes[0])})))}setNodeFactory(t){c.getInstance().factory_=t,i.updateFactory(c.getInstance().factory_)}getNodeFactory(){return c.getInstance().factory_}identifierNode(t,e,r){if("MathML-Unit"===r)t.type="identifier",t.role="unit";else if(!e&&1===t.textContent.length&&("integer"===t.role||"latinletter"===t.role||"greekletter"===t.role)&&"normal"===t.font)return t.font="italic",i.run("simpleNamedFunction",t);return"unknown"===t.type&&(t.type="identifier"),c.exprFont_(t),i.run("simpleNamedFunction",t)}implicitNode(t){if(t=c.getInstance().getMixedNumbers_(t),1===(t=c.getInstance().combineUnits_(t)).length)return t[0];const e=c.getInstance().implicitNode_(t);return i.run("combine_juxtaposition",e)}text(t,e){return c.exprFont_(t),t.type="text","MS"===e?(t.role="string",t):"MSPACE"===e||t.textContent.match(/^\s*$/)?(t.role="space",t):t}row(t){return 0===(t=t.filter((function(t){return!s.isType(t,"empty")}))).length?c.getInstance().factory_.makeEmptyNode():(t=c.getInstance().getFencesInRow_(t),t=c.getInstance().tablesInRow(t),t=c.getInstance().getPunctuationInRow_(t),t=c.getInstance().getTextInRow_(t),t=c.getInstance().getFunctionsInRow_(t),c.getInstance().relationsInRow_(t))}limitNode(t,e){if(!e.length)return c.getInstance().factory_.makeEmptyNode();let r,n=e[0],o="unknown";if(!e[1])return n;if(s.isLimitBase(n)){r=c.MML_TO_LIMIT_[t];const i=r.length;if(o=r.type,e=e.slice(0,r.length+1),1===i&&s.isAccent(e[1])||2===i&&s.isAccent(e[1])&&s.isAccent(e[2]))return r=c.MML_TO_BOUNDS_[t],c.getInstance().accentNode_(n,e,r.type,r.length,r.accent);if(2===i){if(s.isAccent(e[1]))return n=c.getInstance().accentNode_(n,[n,e[1]],{MSUBSUP:"subscript",MUNDEROVER:"underscore"}[t],1,!0),e[2]?c.getInstance().makeLimitNode_(n,[n,e[2]],null,"limupper"):n;if(e[2]&&s.isAccent(e[2]))return n=c.getInstance().accentNode_(n,[n,e[2]],{MSUBSUP:"superscript",MUNDEROVER:"overscore"}[t],1,!0),c.getInstance().makeLimitNode_(n,[n,e[1]],null,"limlower");e[i]||(o="limlower")}return c.getInstance().makeLimitNode_(n,e,null,o)}return r=c.MML_TO_BOUNDS_[t],c.getInstance().accentNode_(n,e,r.type,r.length,r.accent)}tablesInRow(t){let e=l.partitionNodes(t,s.tableIsMatrixOrVector),r=[];for(let t,n=0;t=e.rel[n];n++)r=r.concat(e.comp.shift()),r.push(c.tableToMatrixOrVector_(t));r=r.concat(e.comp.shift()),e=l.partitionNodes(r,s.isTableOrMultiline),r=[];for(let t,n=0;t=e.rel[n];n++){const n=e.comp.shift();s.tableIsCases(t,n)&&c.tableToCases_(t,n.pop()),r=r.concat(n),r.push(t)}return r.concat(e.comp.shift())}mfenced(t,e,r,n){if(r&&n.length>0){const t=c.nextSeparatorFunction_(r),e=[n.shift()];n.forEach((r=>{e.push(c.getInstance().factory_.makeContentNode(t())),e.push(r)})),n=e}return t&&e?c.getInstance().horizontalFencedNode_(c.getInstance().factory_.makeContentNode(t),c.getInstance().factory_.makeContentNode(e),n):(t&&n.unshift(c.getInstance().factory_.makeContentNode(t)),e&&n.push(c.getInstance().factory_.makeContentNode(e)),c.getInstance().row(n))}fractionLikeNode(t,e,r,n){let o;if(!n&&l.isZeroLength(r)){const r=c.getInstance().factory_.makeBranchNode("line",[t],[]),n=c.getInstance().factory_.makeBranchNode("line",[e],[]);return o=c.getInstance().factory_.makeBranchNode("multiline",[r,n],[]),c.binomialForm_(o),c.classifyMultiline(o),o}return o=c.getInstance().fractionNode_(t,e),n&&o.addAnnotation("general","bevelled"),o}tensor(t,e,r,n,o){const i=c.getInstance().factory_.makeBranchNode("tensor",[t,c.getInstance().scriptNode_(e,"leftsub"),c.getInstance().scriptNode_(r,"leftsuper"),c.getInstance().scriptNode_(n,"rightsub"),c.getInstance().scriptNode_(o,"rightsuper")],[]);return i.role=t.role,i.embellished=s.isEmbellished(t),i}pseudoTensor(t,e,r){const n=t=>!s.isType(t,"empty"),o=e.filter(n).length,i=r.filter(n).length;if(!o&&!i)return t;const a=o?i?"MSUBSUP":"MSUB":"MSUP",l=[t];return o&&l.push(c.getInstance().scriptNode_(e,"rightsub",!0)),i&&l.push(c.getInstance().scriptNode_(r,"rightsuper",!0)),c.getInstance().limitNode(a,l)}font(t){const e=c.MATHJAX_FONTS[t];return e||t}proof(t,e,r){if(e.inference||e.axiom||console.log("Noise"),e.axiom){const e=c.getInstance().cleanInference(t.childNodes),n=e.length?c.getInstance().factory_.makeBranchNode("inference",r(e),[]):c.getInstance().factory_.makeEmptyNode();return n.role="axiom",n.mathmlTree=t,n}const n=c.getInstance().inference(t,e,r);return e.proof&&(n.role="proof",n.childNodes[0].role="final"),n}inference(t,e,r){if(e.inferenceRule){const e=c.getInstance().getFormulas(t,[],r);return c.getInstance().factory_.makeBranchNode("inference",[e.conclusion,e.premises],[])}const o=e.labelledRule,i=n.toArray(t.childNodes),a=[];"left"!==o&&"both"!==o||a.push(c.getInstance().getLabel(t,i,r,"left")),"right"!==o&&"both"!==o||a.push(c.getInstance().getLabel(t,i,r,"right"));const s=c.getInstance().getFormulas(t,i,r),l=c.getInstance().factory_.makeBranchNode("inference",[s.conclusion,s.premises],a);return l.mathmlTree=t,l}getLabel(t,e,r,o){const i=c.getInstance().findNestedRow(e,"prooflabel",o),a=c.getInstance().factory_.makeBranchNode("rulelabel",r(n.toArray(i.childNodes)),[]);return a.role=o,a.mathmlTree=i,a}getFormulas(t,e,r){const o=e.length?c.getInstance().findNestedRow(e,"inferenceRule"):t,i="up"===c.getSemantics(o).inferenceRule,a=i?o.childNodes[1]:o.childNodes[0],s=i?o.childNodes[0]:o.childNodes[1],l=a.childNodes[0].childNodes[0],u=n.toArray(l.childNodes[0].childNodes),p=[];let h=1;for(const t of u)h%2&&p.push(t.childNodes[0]),h++;const d=r(p),f=r(n.toArray(s.childNodes[0].childNodes))[0],m=c.getInstance().factory_.makeBranchNode("premises",d,[]);m.mathmlTree=l;const y=c.getInstance().factory_.makeBranchNode("conclusion",[f],[]);return y.mathmlTree=s.childNodes[0].childNodes[0],{conclusion:y,premises:m}}findNestedRow(t,e,r){return c.getInstance().findNestedRow_(t,e,0,r)}cleanInference(t){return n.toArray(t).filter((function(t){return"MSPACE"!==n.tagName(t)}))}operatorNode(t){return"unknown"===t.type&&(t.type="operator"),i.run("multioperator",t)}implicitNode_(t){const e=c.getInstance().factory_.makeMultipleContentNodes(t.length-1,o.invisibleTimes());c.matchSpaces_(t,e);const r=c.getInstance().infixNode_(t,e[0]);return r.role="implicit",e.forEach((function(t){t.parent=r})),r.contentNodes=e,r}infixNode_(t,e){const r=c.getInstance().factory_.makeBranchNode("infixop",t,[e],l.getEmbellishedInner(e).textContent);return r.role=e.role,i.run("propagateSimpleFunction",r)}explicitMixed_(t){const e=l.partitionNodes(t,(function(t){return t.textContent===o.invisiblePlus()}));if(!e.rel.length)return t;let r=[];for(let t,n=0;t=e.rel[n];n++){const o=e.comp[n],i=e.comp[n+1],a=o.length-1;if(o[a]&&i[0]&&s.isType(o[a],"number")&&!s.isRole(o[a],"mixed")&&s.isType(i[0],"fraction")){const t=c.getInstance().factory_.makeBranchNode("number",[o[a],i[0]],[]);t.role="mixed",r=r.concat(o.slice(0,a)),r.push(t),i.shift()}else r=r.concat(o),r.push(t)}return r.concat(e.comp[e.comp.length-1])}concatNode_(t,e,r){if(0===e.length)return t;const n=e.map((function(t){return l.getEmbellishedInner(t).textContent})).join(" "),o=c.getInstance().factory_.makeBranchNode(r,[t],e,n);return e.length>1&&(o.role="multiop"),o}prefixNode_(t,e){const r=l.partitionNodes(e,(t=>s.isRole(t,"subtraction")));let n=c.getInstance().concatNode_(t,r.comp.pop(),"prefixop");for(1===n.contentNodes.length&&"addition"===n.contentNodes[0].role&&"+"===n.contentNodes[0].textContent&&(n.role="positive");r.rel.length>0;)n=c.getInstance().concatNode_(n,[r.rel.pop()],"prefixop"),n.role="negative",n=c.getInstance().concatNode_(n,r.comp.pop(),"prefixop");return n}postfixNode_(t,e){return e.length?c.getInstance().concatNode_(t,e,"postfixop"):t}combineUnits_(t){const e=l.partitionNodes(t,(function(t){return!s.isRole(t,"unit")}));if(t.length===e.rel.length)return e.rel;const r=[];let n,o;do{const t=e.comp.shift();n=e.rel.shift();let i=null;o=r.pop(),o&&(t.length&&s.isUnitCounter(o)?t.unshift(o):r.push(o)),1===t.length&&(i=t.pop()),t.length>1&&(i=c.getInstance().implicitNode_(t),i.role="unit"),i&&r.push(i),n&&r.push(n)}while(n);return r}getMixedNumbers_(t){const e=l.partitionNodes(t,(function(t){return s.isType(t,"fraction")&&s.isRole(t,"vulgar")}));if(!e.rel.length)return t;let r=[];for(let t,n=0;t=e.rel[n];n++){const o=e.comp[n],i=o.length-1;if(o[i]&&s.isType(o[i],"number")&&(s.isRole(o[i],"integer")||s.isRole(o[i],"float"))){const e=c.getInstance().factory_.makeBranchNode("number",[o[i],t],[]);e.role="mixed",r=r.concat(o.slice(0,i)),r.push(e)}else r=r.concat(o),r.push(t)}return r.concat(e.comp[e.comp.length-1])}getTextInRow_(t){if(t.length<=1)return t;const e=l.partitionNodes(t,(t=>s.isType(t,"text")));if(0===e.rel.length)return t;const r=[];let n=e.comp[0];n.length>0&&r.push(c.getInstance().row(n));for(let t,o=0;t=e.rel[o];o++)r.push(t),n=e.comp[o+1],n.length>0&&r.push(c.getInstance().row(n));return[c.getInstance().dummyNode_(r)]}relationsInRow_(t){const e=l.partitionNodes(t,s.isRelation),r=e.rel[0];if(!r)return c.getInstance().operationsInRow_(t);if(1===t.length)return t[0];const n=e.comp.map(c.getInstance().operationsInRow_);let o;return e.rel.some((function(t){return!t.equals(r)}))?(o=c.getInstance().factory_.makeBranchNode("multirel",n,e.rel),e.rel.every((function(t){return t.role===r.role}))&&(o.role=r.role),o):(o=c.getInstance().factory_.makeBranchNode("relseq",n,e.rel,l.getEmbellishedInner(r).textContent),o.role=r.role,o)}operationsInRow_(t){if(0===t.length)return c.getInstance().factory_.makeEmptyNode();if(1===(t=c.getInstance().explicitMixed_(t)).length)return t[0];const e=[];for(;t.length>0&&s.isOperator(t[0]);)e.push(t.shift());if(0===t.length)return c.getInstance().prefixNode_(e.pop(),e);if(1===t.length)return c.getInstance().prefixNode_(t[0],e);t=i.run("convert_juxtaposition",t);const r=l.sliceNodes(t,s.isOperator),n=c.getInstance().prefixNode_(c.getInstance().implicitNode(r.head),e);return r.div?c.getInstance().operationsTree_(r.tail,n,r.div):n}operationsTree_(t,e,r,n){const o=n||[];if(0===t.length){if(o.unshift(r),"infixop"===e.type){const t=c.getInstance().postfixNode_(e.childNodes.pop(),o);return e.appendChild(t),e}return c.getInstance().postfixNode_(e,o)}const i=l.sliceNodes(t,s.isOperator);if(0===i.head.length)return o.push(i.div),c.getInstance().operationsTree_(i.tail,e,r,o);const a=c.getInstance().prefixNode_(c.getInstance().implicitNode(i.head),o),u=c.getInstance().appendOperand_(e,r,a);return i.div?c.getInstance().operationsTree_(i.tail,u,i.div,[]):u}appendOperand_(t,e,r){if("infixop"!==t.type)return c.getInstance().infixNode_([t,r],e);const n=c.getInstance().appendDivisionOp_(t,e,r);return n||(c.getInstance().appendExistingOperator_(t,e,r)?t:"multiplication"===e.role?c.getInstance().appendMultiplicativeOp_(t,e,r):c.getInstance().appendAdditiveOp_(t,e,r))}appendDivisionOp_(t,e,r){return"division"===e.role?s.isImplicit(t)?c.getInstance().infixNode_([t,r],e):c.getInstance().appendLastOperand_(t,e,r):"division"===t.role?c.getInstance().infixNode_([t,r],e):null}appendLastOperand_(t,e,r){let n=t,o=t.childNodes[t.childNodes.length-1];for(;o&&"infixop"===o.type&&!s.isImplicit(o);)n=o,o=n.childNodes[t.childNodes.length-1];const i=c.getInstance().infixNode_([n.childNodes.pop(),r],e);return n.appendChild(i),t}appendMultiplicativeOp_(t,e,r){if(s.isImplicit(t))return c.getInstance().infixNode_([t,r],e);let n=t,o=t.childNodes[t.childNodes.length-1];for(;o&&"infixop"===o.type&&!s.isImplicit(o);)n=o,o=n.childNodes[t.childNodes.length-1];const i=c.getInstance().infixNode_([n.childNodes.pop(),r],e);return n.appendChild(i),t}appendAdditiveOp_(t,e,r){return c.getInstance().infixNode_([t,r],e)}appendExistingOperator_(t,e,r){return!(!t||"infixop"!==t.type||s.isImplicit(t))&&(t.contentNodes[0].equals(e)?(t.appendContentNode(e),t.appendChild(r),!0):c.getInstance().appendExistingOperator_(t.childNodes[t.childNodes.length-1],e,r))}getFencesInRow_(t){let e=l.partitionNodes(t,s.isFence);e=c.purgeFences_(e);const r=e.comp.shift();return c.getInstance().fences_(e.rel,e.comp,[],[r])}fences_(t,e,r,n){if(0===t.length&&0===r.length)return n[0];const o=t=>s.isRole(t,"open");if(0===t.length){const t=n.shift();for(;r.length>0;){if(o(r[0])){const e=r.shift();c.fenceToPunct_(e),t.push(e)}else{const e=l.sliceNodes(r,o),i=e.head.length-1,a=c.getInstance().neutralFences_(e.head,n.slice(0,i));n=n.slice(i),t.push(...a),e.div&&e.tail.unshift(e.div),r=e.tail}t.push(...n.shift())}return t}const i=r[r.length-1],a=t[0].role;if("open"===a||s.isNeutralFence(t[0])&&(!i||!s.compareNeutralFences(t[0],i))){r.push(t.shift());const o=e.shift();return o&&n.push(o),c.getInstance().fences_(t,e,r,n)}if(i&&"close"===a&&"open"===i.role){const o=c.getInstance().horizontalFencedNode_(r.pop(),t.shift(),n.pop());return n.push(n.pop().concat([o],e.shift())),c.getInstance().fences_(t,e,r,n)}if(i&&s.compareNeutralFences(t[0],i)){if(!s.elligibleLeftNeutral(i)||!s.elligibleRightNeutral(t[0])){r.push(t.shift());const o=e.shift();return o&&n.push(o),c.getInstance().fences_(t,e,r,n)}const o=c.getInstance().horizontalFencedNode_(r.pop(),t.shift(),n.pop());return n.push(n.pop().concat([o],e.shift())),c.getInstance().fences_(t,e,r,n)}if(i&&"close"===a&&s.isNeutralFence(i)&&r.some(o)){const i=l.sliceNodes(r,o,!0),a=n.pop(),s=n.length-i.tail.length+1,u=c.getInstance().neutralFences_(i.tail,n.slice(s));n=n.slice(0,s);const p=c.getInstance().horizontalFencedNode_(i.div,t.shift(),n.pop().concat(u,a));return n.push(n.pop().concat([p],e.shift())),c.getInstance().fences_(t,e,i.head,n)}const u=t.shift();return c.fenceToPunct_(u),n.push(n.pop().concat([u],e.shift())),c.getInstance().fences_(t,e,r,n)}neutralFences_(t,e){if(0===t.length)return t;if(1===t.length)return c.fenceToPunct_(t[0]),t;const r=t.shift();if(!s.elligibleLeftNeutral(r)){c.fenceToPunct_(r);const n=e.shift();return n.unshift(r),n.concat(c.getInstance().neutralFences_(t,e))}const n=l.sliceNodes(t,(function(t){return s.compareNeutralFences(t,r)}));if(!n.div){c.fenceToPunct_(r);const n=e.shift();return n.unshift(r),n.concat(c.getInstance().neutralFences_(t,e))}if(!s.elligibleRightNeutral(n.div))return c.fenceToPunct_(n.div),t.unshift(r),c.getInstance().neutralFences_(t,e);const o=c.getInstance().combineFencedContent_(r,n.div,n.head,e);if(n.tail.length>0){const t=o.shift(),e=c.getInstance().neutralFences_(n.tail,o);return t.concat(e)}return o[0]}combineFencedContent_(t,e,r,n){if(0===r.length){const r=c.getInstance().horizontalFencedNode_(t,e,n.shift());return n.length>0?n[0].unshift(r):n=[[r]],n}const o=n.shift(),i=r.length-1,a=n.slice(0,i),s=(n=n.slice(i)).shift(),l=c.getInstance().neutralFences_(r,a);o.push(...l),o.push(...s);const u=c.getInstance().horizontalFencedNode_(t,e,o);return n.length>0?n[0].unshift(u):n=[[u]],n}horizontalFencedNode_(t,e,r){const n=c.getInstance().row(r);let o=c.getInstance().factory_.makeBranchNode("fenced",[n],[t,e]);return"open"===t.role?(c.getInstance().classifyHorizontalFence_(o),o=i.run("propagateComposedFunction",o)):o.role=t.role,o=i.run("detect_cycle",o),c.rewriteFencedNode_(o)}classifyHorizontalFence_(t){t.role="leftright";const e=t.childNodes;if(!s.isSetNode(t)||e.length>1)return;if(0===e.length||"empty"===e[0].type)return void(t.role="set empty");const r=e[0].type;if(1===e.length&&s.isSingletonSetContent(e[0]))return void(t.role="set singleton");const n=e[0].role;if("punctuated"===r&&"sequence"===n){if("comma"!==e[0].contentNodes[0].role)return 1!==e[0].contentNodes.length||"vbar"!==e[0].contentNodes[0].role&&"colon"!==e[0].contentNodes[0].role?void 0:(t.role="set extended",void c.getInstance().setExtension_(t));t.role="set collection"}}setExtension_(t){const e=t.childNodes[0].childNodes[0];e&&"infixop"===e.type&&1===e.contentNodes.length&&s.isMembership(e.contentNodes[0])&&(e.addAnnotation("set","intensional"),e.contentNodes[0].addAnnotation("set","intensional"))}getPunctuationInRow_(t){if(t.length<=1)return t;const e=t=>{const e=t.type;return"punctuation"===e||"text"===e||"operator"===e||"relation"===e},r=l.partitionNodes(t,(function(r){if(!s.isPunctuation(r))return!1;if(s.isPunctuation(r)&&!s.isRole(r,"ellipsis"))return!0;const n=t.indexOf(r);if(0===n)return!t[1]||!e(t[1]);const o=t[n-1];if(n===t.length-1)return!e(o);const i=t[n+1];return!e(o)||!e(i)}));if(0===r.rel.length)return t;const n=[];let o=r.comp.shift();o.length>0&&n.push(c.getInstance().row(o));let i=0;for(;r.comp.length>0;)n.push(r.rel[i++]),o=r.comp.shift(),o.length>0&&n.push(c.getInstance().row(o));return[c.getInstance().punctuatedNode_(n,r.rel)]}punctuatedNode_(t,e){const r=c.getInstance().factory_.makeBranchNode("punctuated",t,e);if(e.length===t.length){const t=e[0].role;if("unknown"!==t&&e.every((function(e){return e.role===t})))return r.role=t,r}return s.singlePunctAtPosition(t,e,0)?r.role="startpunct":s.singlePunctAtPosition(t,e,t.length-1)?r.role="endpunct":e.every((t=>s.isRole(t,"dummy")))?r.role="text":e.every((t=>s.isRole(t,"space")))?r.role="space":r.role="sequence",r}dummyNode_(t){const e=c.getInstance().factory_.makeMultipleContentNodes(t.length-1,o.invisibleComma());return e.forEach((function(t){t.role="dummy"})),c.getInstance().punctuatedNode_(t,e)}accentRole_(t,e){if(!s.isAccent(t))return!1;const r=t.textContent,n=o.lookupSecondary("bar",r)||o.lookupSecondary("tilde",r)||t.role;return t.role="underscore"===e?"underaccent":"overaccent",t.addAnnotation("accent",n),!0}accentNode_(t,e,r,n,o){const i=(e=e.slice(0,n+1))[1],a=e[2];let s;if(!o&&a&&(s=c.getInstance().factory_.makeBranchNode("subscript",[t,i],[]),s.role="subsup",e=[s,a],r="superscript"),o){const n=c.getInstance().accentRole_(i,r);if(a){c.getInstance().accentRole_(a,"overscore")&&!n?(s=c.getInstance().factory_.makeBranchNode("overscore",[t,a],[]),e=[s,i],r="underscore"):(s=c.getInstance().factory_.makeBranchNode("underscore",[t,i],[]),e=[s,a],r="overscore"),s.role="underover"}}return c.getInstance().makeLimitNode_(t,e,s,r)}makeLimitNode_(t,e,r,n){if("limupper"===n&&"limlower"===t.type)return t.childNodes.push(e[1]),e[1].parent=t,t.type="limboth",t;if("limlower"===n&&"limupper"===t.type)return t.childNodes.splice(1,-1,e[1]),e[1].parent=t,t.type="limboth",t;const o=c.getInstance().factory_.makeBranchNode(n,e,[]),i=s.isEmbellished(t);return r&&(r.embellished=i),o.embellished=i,o.role=t.role,o}getFunctionsInRow_(t,e){const r=e||[];if(0===t.length)return r;const n=t.shift(),o=c.classifyFunction_(n,t);if(!o)return r.push(n),c.getInstance().getFunctionsInRow_(t,r);const i=c.getInstance().getFunctionsInRow_(t,[]),a=c.getInstance().getFunctionArgs_(n,i,o);return r.concat(a)}getFunctionArgs_(t,e,r){let n,o,i;switch(r){case"integral":{const r=c.getInstance().getIntegralArgs_(e);if(!r.intvar&&!r.integrand.length)return r.rest.unshift(t),r.rest;const n=c.getInstance().row(r.integrand);return i=c.getInstance().integralNode_(t,n,r.intvar),r.rest.unshift(i),r.rest}case"prefix":if(e[0]&&"fenced"===e[0].type){const r=e.shift();return s.isNeutralFence(r)||(r.role="leftright"),i=c.getInstance().functionNode_(t,r),e.unshift(i),e}if(n=l.sliceNodes(e,s.isPrefixFunctionBoundary),n.head.length)o=c.getInstance().row(n.head),n.div&&n.tail.unshift(n.div);else{if(!n.div||!s.isType(n.div,"appl"))return e.unshift(t),e;o=n.div}return i=c.getInstance().functionNode_(t,o),n.tail.unshift(i),n.tail;case"bigop":return n=l.sliceNodes(e,s.isBigOpBoundary),n.head.length?(o=c.getInstance().row(n.head),i=c.getInstance().bigOpNode_(t,o),n.div&&n.tail.unshift(n.div),n.tail.unshift(i),n.tail):(e.unshift(t),e);default:{if(0===e.length)return[t];const r=e[0];return"fenced"===r.type&&!s.isNeutralFence(r)&&s.isSimpleFunctionScope(r)?(r.role="leftright",c.propagateFunctionRole_(t,"simple function"),i=c.getInstance().functionNode_(t,e.shift()),e.unshift(i),e):(e.unshift(t),e)}}}getIntegralArgs_(t,e=[]){if(0===t.length)return{integrand:e,intvar:null,rest:t};const r=t[0];if(s.isGeneralFunctionBoundary(r))return{integrand:e,intvar:null,rest:t};if(s.isIntegralDxBoundarySingle(r))return r.role="integral",{integrand:e,intvar:r,rest:t.slice(1)};if(t[1]&&s.isIntegralDxBoundary(r,t[1])){const n=c.getInstance().prefixNode_(t[1],[r]);return n.role="integral",{integrand:e,intvar:n,rest:t.slice(2)}}return e.push(t.shift()),c.getInstance().getIntegralArgs_(t,e)}functionNode_(t,e){const r=c.getInstance().factory_.makeContentNode(o.functionApplication()),n=c.getInstance().funcAppls[t.id];n&&(r.mathmlTree=n.mathmlTree,r.mathml=n.mathml,r.annotation=n.annotation,r.attributes=n.attributes,delete c.getInstance().funcAppls[t.id]),r.type="punctuation",r.role="application";const i=c.getFunctionOp_(t,(function(t){return s.isType(t,"function")||s.isType(t,"identifier")&&s.isRole(t,"simple function")}));return c.getInstance().functionalNode_("appl",[t,e],i,[r])}bigOpNode_(t,e){const r=c.getFunctionOp_(t,(t=>s.isType(t,"largeop")));return c.getInstance().functionalNode_("bigop",[t,e],r,[])}integralNode_(t,e,r){e=e||c.getInstance().factory_.makeEmptyNode(),r=r||c.getInstance().factory_.makeEmptyNode();const n=c.getFunctionOp_(t,(t=>s.isType(t,"largeop")));return c.getInstance().functionalNode_("integral",[t,e,r],n,[])}functionalNode_(t,e,r,n){const o=e[0];let i;r&&(i=r.parent,n.push(r));const a=c.getInstance().factory_.makeBranchNode(t,e,n);return a.role=o.role,i&&(r.parent=i),a}fractionNode_(t,e){const r=c.getInstance().factory_.makeBranchNode("fraction",[t,e],[]);return r.role=r.childNodes.every((function(t){return s.isType(t,"number")&&s.isRole(t,"integer")}))?"vulgar":r.childNodes.every(s.isPureUnit)?"unit":"division",i.run("propagateSimpleFunction",r)}scriptNode_(t,e,r){let n;switch(t.length){case 0:n=c.getInstance().factory_.makeEmptyNode();break;case 1:if(n=t[0],r)return n;break;default:n=c.getInstance().dummyNode_(t)}return n.role=e,n}findNestedRow_(t,e,r,o){if(r>3)return null;for(let i,a=0;i=t[a];a++){const t=n.tagName(i);if("MSPACE"!==t){if("MROW"===t)return c.getInstance().findNestedRow_(n.toArray(i.childNodes),e,r+1,o);if(c.findSemantics(i,e,o))return i}}return null}}e.default=c,c.FENCE_TO_PUNCT_={metric:"metric",neutral:"vbar",open:"openfence",close:"closefence"},c.MML_TO_LIMIT_={MSUB:{type:"limlower",length:1},MUNDER:{type:"limlower",length:1},MSUP:{type:"limupper",length:1},MOVER:{type:"limupper",length:1},MSUBSUP:{type:"limboth",length:2},MUNDEROVER:{type:"limboth",length:2}},c.MML_TO_BOUNDS_={MSUB:{type:"subscript",length:1,accent:!1},MSUP:{type:"superscript",length:1,accent:!1},MSUBSUP:{type:"subscript",length:2,accent:!1},MUNDER:{type:"underscore",length:1,accent:!0},MOVER:{type:"overscore",length:1,accent:!0},MUNDEROVER:{type:"underscore",length:2,accent:!0}},c.CLASSIFY_FUNCTION_={integral:"integral",sum:"bigop","prefix function":"prefix","limit function":"prefix","simple function":"prefix","composed function":"prefix"},c.MATHJAX_FONTS={"-tex-caligraphic":"caligraphic","-tex-caligraphic-bold":"caligraphic-bold","-tex-calligraphic":"caligraphic","-tex-calligraphic-bold":"caligraphic-bold","-tex-oldstyle":"oldstyle","-tex-oldstyle-bold":"oldstyle-bold","-tex-mathit":"italic"}},5656:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticSkeleton=void 0;const n=r(707),o=r(5274),i=r(2298);class a{constructor(t){this.parents=null,this.levelsMap=null,t=0===t?t:t||[],this.array=t}static fromTree(t){return a.fromNode(t.root)}static fromNode(t){return new a(a.fromNode_(t))}static fromString(t){return new a(a.fromString_(t))}static simpleCollapseStructure(t){return"number"==typeof t}static contentCollapseStructure(t){return!!t&&!a.simpleCollapseStructure(t)&&"c"===t[0]}static interleaveIds(t,e){return n.interleaveLists(a.collapsedLeafs(t),a.collapsedLeafs(e))}static collapsedLeafs(...t){return t.reduce(((t,e)=>{return t.concat((r=e,a.simpleCollapseStructure(r)?[r]:(r=r,a.contentCollapseStructure(r[1])?r.slice(2):r.slice(1))));var r}),[])}static fromStructure(t,e){return new a(a.tree_(t,e.root))}static combineContentChildren(t,e,r){switch(t.type){case"relseq":case"infixop":case"multirel":return n.interleaveLists(r,e);case"prefixop":return e.concat(r);case"postfixop":return r.concat(e);case"fenced":return r.unshift(e[0]),r.push(e[1]),r;case"appl":return[r[0],e[0],r[1]];case"root":return[r[1],r[0]];case"row":case"line":return e.length&&r.unshift(e[0]),r;default:return r}}static makeSexp_(t){return a.simpleCollapseStructure(t)?t.toString():a.contentCollapseStructure(t)?"(c "+t.slice(1).map(a.makeSexp_).join(" ")+")":"("+t.map(a.makeSexp_).join(" ")+")"}static fromString_(t){let e=t.replace(/\(/g,"[");return e=e.replace(/\)/g,"]"),e=e.replace(/ /g,","),e=e.replace(/c/g,'"c"'),JSON.parse(e)}static fromNode_(t){if(!t)return[];const e=t.contentNodes;let r;e.length&&(r=e.map(a.fromNode_),r.unshift("c"));const n=t.childNodes;if(!n.length)return e.length?[t.id,r]:t.id;const o=n.map(a.fromNode_);return e.length&&o.unshift(r),o.unshift(t.id),o}static tree_(t,e){if(!e)return[];if(!e.childNodes.length)return e.id;const r=e.id,n=[r],s=o.evalXPath(`.//self::*[@${i.Attribute.ID}=${r}]`,t)[0],l=a.combineContentChildren(e,e.contentNodes.map((function(t){return t})),e.childNodes.map((function(t){return t})));s&&a.addOwns_(s,l);for(let e,r=0;e=l[r];r++)n.push(a.tree_(t,e));return n}static addOwns_(t,e){const r=t.getAttribute(i.Attribute.COLLAPSED),n=r?a.realLeafs_(a.fromString(r).array):e.map((t=>t.id));t.setAttribute(i.Attribute.OWNS,n.join(" "))}static realLeafs_(t){if(a.simpleCollapseStructure(t))return[t];if(a.contentCollapseStructure(t))return[];t=t;let e=[];for(let r=1;ra.simpleCollapseStructure(t)?t:a.contentCollapseStructure(t)?t[1]:t[0]))}subtreeNodes(t){if(!this.isRoot(t))return[];const e=(t,r)=>{a.simpleCollapseStructure(t)?r.push(t):(t=t,a.contentCollapseStructure(t)&&(t=t.slice(1)),t.forEach((t=>e(t,r))))},r=this.levelsMap[t],n=[];return e(r.slice(1),n),n}}e.SemanticSkeleton=a},7075:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTree=void 0;const n=r(5740),o=r(7630),i=r(9265),a=r(7228),s=r(5952),l=r(5609);r(94);class c{constructor(t){this.mathml=t,this.parser=new a.SemanticMathml,this.root=this.parser.parse(t),this.collator=this.parser.getFactory().leafMap.collateMeaning();const e=this.collator.newDefault();e&&(this.parser=new a.SemanticMathml,this.parser.getFactory().defaultMap=e,this.root=this.parser.parse(t)),u.visit(this.root,{}),(0,o.annotate)(this.root)}static empty(){const t=n.parseInput(""),e=new c(t);return e.mathml=t,e}static fromNode(t,e){const r=c.empty();return r.root=t,e&&(r.mathml=e),r}static fromRoot(t,e){let r=t;for(;r.parent;)r=r.parent;const n=c.fromNode(r);return e&&(n.mathml=e),n}static fromXml(t){const e=c.empty();return t.childNodes[0]&&(e.root=s.SemanticNode.fromXml(t.childNodes[0])),e}xml(t){const e=n.parseInput(""),r=this.root.xml(e.ownerDocument,t);return e.appendChild(r),e}toString(t){return n.serializeXml(this.xml(t))}formatXml(t){const e=this.toString(t);return n.formatXml(e)}displayTree(){this.root.displayTree()}replaceNode(t,e){const r=t.parent;r?r.replaceChild(t,e):this.root=e}toJson(){const t={};return t.stree=this.root.toJson(),t}}e.SemanticTree=c;const u=new i.SemanticVisitor("general","unit",((t,e)=>{if("infixop"===t.type&&("multiplication"===t.role||"implicit"===t.role)){const e=t.childNodes;e.length&&(l.isPureUnit(e[0])||l.isUnitCounter(e[0]))&&t.childNodes.slice(1).every(l.isPureUnit)&&(t.role="unit")}return!1}))},4795:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.partitionNodes=e.sliceNodes=e.getEmbellishedInner=e.addAttributes=e.isZeroLength=e.purgeNodes=e.isOrphanedGlyph=e.hasDisplayTag=e.hasEmptyTag=e.hasIgnoreTag=e.hasLeafTag=e.hasMathTag=e.directSpeechKeys=e.DISPLAYTAGS=e.EMPTYTAGS=e.IGNORETAGS=e.LEAFTAGS=void 0;const n=r(5740);function o(t){return!!t&&-1!==e.LEAFTAGS.indexOf(n.tagName(t))}function i(t,e,r){r&&t.reverse();const n=[];for(let o,i=0;o=t[i];i++){if(e(o))return r?{head:t.slice(i+1).reverse(),div:o,tail:n.reverse()}:{head:n,div:o,tail:t.slice(i+1)};n.push(o)}return r?{head:[],div:null,tail:n.reverse()}:{head:n,div:null,tail:[]}}e.LEAFTAGS=["MO","MI","MN","MTEXT","MS","MSPACE"],e.IGNORETAGS=["MERROR","MPHANTOM","MALIGNGROUP","MALIGNMARK","MPRESCRIPTS","ANNOTATION","ANNOTATION-XML"],e.EMPTYTAGS=["MATH","MROW","MPADDED","MACTION","NONE","MSTYLE","SEMANTICS"],e.DISPLAYTAGS=["MROOT","MSQRT"],e.directSpeechKeys=["aria-label","exact-speech","alt"],e.hasMathTag=function(t){return!!t&&"MATH"===n.tagName(t)},e.hasLeafTag=o,e.hasIgnoreTag=function(t){return!!t&&-1!==e.IGNORETAGS.indexOf(n.tagName(t))},e.hasEmptyTag=function(t){return!!t&&-1!==e.EMPTYTAGS.indexOf(n.tagName(t))},e.hasDisplayTag=function(t){return!!t&&-1!==e.DISPLAYTAGS.indexOf(n.tagName(t))},e.isOrphanedGlyph=function(t){return!!t&&"MGLYPH"===n.tagName(t)&&!o(t.parentNode)},e.purgeNodes=function(t){const r=[];for(let o,i=0;o=t[i];i++){if(o.nodeType!==n.NodeType.ELEMENT_NODE)continue;const t=n.tagName(o);-1===e.IGNORETAGS.indexOf(t)&&(-1!==e.EMPTYTAGS.indexOf(t)&&0===o.childNodes.length||r.push(o))}return r},e.isZeroLength=function(t){if(!t)return!1;if(-1!==["negativeveryverythinmathspace","negativeverythinmathspace","negativethinmathspace","negativemediummathspace","negativethickmathspace","negativeverythickmathspace","negativeveryverythickmathspace"].indexOf(t))return!0;const e=t.match(/[0-9.]+/);return!!e&&0===parseFloat(e[0])},e.addAttributes=function(t,r){if(r.hasAttributes()){const n=r.attributes;for(let r=n.length-1;r>=0;r--){const o=n[r].name;o.match(/^ext/)&&(t.attributes[o]=n[r].value,t.nobreaking=!0),-1!==e.directSpeechKeys.indexOf(o)&&(t.attributes["ext-speech"]=n[r].value,t.nobreaking=!0),o.match(/texclass$/)&&(t.attributes.texclass=n[r].value),"href"===o&&(t.attributes.href=n[r].value,t.nobreaking=!0)}}},e.getEmbellishedInner=function t(e){return e&&e.embellished&&e.childNodes.length>0?t(e.childNodes[0]):e},e.sliceNodes=i,e.partitionNodes=function(t,e){let r=t;const n=[],o=[];let a=null;do{a=i(r,e),o.push(a.head),n.push(a.div),r=a.tail}while(a.div);return n.pop(),{rel:n,comp:o}}},6278:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractSpeechGenerator=void 0;const n=r(6828),o=r(2298),i=r(1214),a=r(9543);e.AbstractSpeechGenerator=class{constructor(){this.modality=o.addPrefix("speech"),this.rebuilt_=null,this.options_={}}getRebuilt(){return this.rebuilt_}setRebuilt(t){this.rebuilt_=t}setOptions(t){this.options_=t||{},this.modality=o.addPrefix(this.options_.modality||"speech")}getOptions(){return this.options_}start(){}end(){}generateSpeech(t,e){return this.rebuilt_||(this.rebuilt_=new i.RebuildStree(e)),(0,n.setup)(this.options_),a.computeMarkup(this.getRebuilt().xml)}}},1452:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AdhocSpeechGenerator=void 0;const n=r(6278);class o extends n.AbstractSpeechGenerator{getSpeech(t,e){const r=this.generateSpeech(t,e);return t.setAttribute(this.modality,r),r}}e.AdhocSpeechGenerator=o},5152:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ColorGenerator=void 0;const n=r(2298),o=r(8396),i=r(1214),a=r(1204),s=r(6278);class l extends s.AbstractSpeechGenerator{constructor(){super(...arguments),this.modality=(0,n.addPrefix)("foreground"),this.contrast=new o.ContrastPicker}static visitStree_(t,e,r){if(t.childNodes.length){if(t.contentNodes.length&&("punctuated"===t.type&&t.contentNodes.forEach((t=>r[t.id]=!0)),"implicit"!==t.role&&e.push(t.contentNodes.map((t=>t.id)))),t.childNodes.length){if("implicit"===t.role){const n=[];let o=[];for(const e of t.childNodes){const t=[];l.visitStree_(e,t,r),t.length<=2&&n.push(t.shift()),o=o.concat(t)}return e.push(n),void o.forEach((t=>e.push(t)))}t.childNodes.forEach((t=>l.visitStree_(t,e,r)))}}else r[t.id]||e.push(t.id)}getSpeech(t,e){return a.getAttribute(t,this.modality)}generateSpeech(t,e){return this.getRebuilt()||this.setRebuilt(new i.RebuildStree(t)),this.colorLeaves_(t),a.getAttribute(t,this.modality)}colorLeaves_(t){const e=[];l.visitStree_(this.getRebuilt().streeRoot,e,{});for(const r of e){const e=this.contrast.generate();let n=!1;n=Array.isArray(r)?r.map((r=>this.colorLeave_(t,r,e))).reduce(((t,e)=>t||e),!1):this.colorLeave_(t,r.toString(),e),n&&this.contrast.increment()}}colorLeave_(t,e,r){const n=a.getBySemanticId(t,e);return!!n&&(n.setAttribute(this.modality,r),!0)}}e.ColorGenerator=l},6604:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.DirectSpeechGenerator=void 0;const n=r(1204),o=r(6278);class i extends o.AbstractSpeechGenerator{getSpeech(t,e){return n.getAttribute(t,this.modality)}}e.DirectSpeechGenerator=i},3123:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.DummySpeechGenerator=void 0;const n=r(6278);class o extends n.AbstractSpeechGenerator{getSpeech(t,e){return""}}e.DummySpeechGenerator=o},5858:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.NodeSpeechGenerator=void 0;const n=r(1204),o=r(4598);class i extends o.TreeSpeechGenerator{getSpeech(t,e){return super.getSpeech(t,e),n.getAttribute(t,this.modality)}}e.NodeSpeechGenerator=i},9552:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.generatorMapping_=e.generator=void 0;const n=r(1452),o=r(5152),i=r(6604),a=r(3123),s=r(5858),l=r(597),c=r(4598);e.generator=function(t){return(e.generatorMapping_[t]||e.generatorMapping_.Direct)()},e.generatorMapping_={Adhoc:()=>new n.AdhocSpeechGenerator,Color:()=>new o.ColorGenerator,Direct:()=>new i.DirectSpeechGenerator,Dummy:()=>new a.DummySpeechGenerator,Node:()=>new s.NodeSpeechGenerator,Summary:()=>new l.SummarySpeechGenerator,Tree:()=>new c.TreeSpeechGenerator}},9543:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.computeSummary_=e.retrieveSummary=e.connectAllMactions=e.connectMactions=e.nodeAtPosition_=e.computePrefix_=e.retrievePrefix=e.addPrefix=e.addModality=e.addSpeech=e.recomputeMarkup=e.computeMarkup=e.recomputeSpeech=e.computeSpeech=void 0;const n=r(8290),o=r(5740),i=r(5274),a=r(2298),s=r(2362),l=r(7075),c=r(1204);function u(t){return s.SpeechRuleEngine.getInstance().evaluateNode(t)}function p(t){return u(l.SemanticTree.fromNode(t).xml())}function h(t){const e=p(t);return n.markup(e)}function d(t){const e=f(t);return n.markup(e)}function f(t){const e=l.SemanticTree.fromRoot(t),r=i.evalXPath('.//*[@id="'+t.id+'"]',e.xml());let n=r[0];return r.length>1&&(n=m(t,r)||n),n?s.SpeechRuleEngine.getInstance().runInSetting({modality:"prefix",domain:"default",style:"default",strict:!0,speech:!0},(function(){return s.SpeechRuleEngine.getInstance().evaluateNode(n)})):[]}function m(t,e){const r=e[0];if(!t.parent)return r;const n=[];for(;t;)n.push(t.id),t=t.parent;const o=function(t,e){for(;e.length&&e.shift().toString()===t.getAttribute("id")&&t.parentNode&&t.parentNode.parentNode;)t=t.parentNode.parentNode;return!e.length};for(let t,r=0;t=e[r];r++)if(o(t,n.slice()))return t;return r}function y(t){return t?s.SpeechRuleEngine.getInstance().runInSetting({modality:"summary",strict:!1,speech:!0},(function(){return s.SpeechRuleEngine.getInstance().evaluateNode(t)})):[]}e.computeSpeech=u,e.recomputeSpeech=p,e.computeMarkup=function(t){const e=u(t);return n.markup(e)},e.recomputeMarkup=h,e.addSpeech=function(t,e,r){const i=o.querySelectorAllByAttrValue(r,"id",e.id.toString())[0],s=i?n.markup(u(i)):h(e);t.setAttribute(a.Attribute.SPEECH,s)},e.addModality=function(t,e,r){const n=h(e);t.setAttribute(r,n)},e.addPrefix=function(t,e){const r=d(e);r&&t.setAttribute(a.Attribute.PREFIX,r)},e.retrievePrefix=d,e.computePrefix_=f,e.nodeAtPosition_=m,e.connectMactions=function(t,e,r){const n=o.querySelectorAll(e,"maction");for(let e,i=0;e=n[i];i++){const n=e.getAttribute("id"),i=o.querySelectorAllByAttrValue(t,"id",n)[0];if(!i)continue;const s=e.childNodes[1],l=s.getAttribute(a.Attribute.ID);let u=c.getBySemanticId(t,l);if(u&&"dummy"!==u.getAttribute(a.Attribute.TYPE))continue;if(u=i.childNodes[0],u.getAttribute("sre-highlighter-added"))continue;const p=s.getAttribute(a.Attribute.PARENT);p&&u.setAttribute(a.Attribute.PARENT,p),u.setAttribute(a.Attribute.TYPE,"dummy"),u.setAttribute(a.Attribute.ID,l);o.querySelectorAllByAttrValue(r,"id",l)[0].setAttribute("alternative",l)}},e.connectAllMactions=function(t,e){const r=o.querySelectorAll(t,"maction");for(let t,n=0;t=r[n];n++){const r=t.childNodes[1].getAttribute(a.Attribute.ID);o.querySelectorAllByAttrValue(e,"id",r)[0].setAttribute("alternative",r)}},e.retrieveSummary=function(t){const e=y(t);return n.markup(e)},e.computeSummary_=y},597:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SummarySpeechGenerator=void 0;const n=r(6278),o=r(9543);class i extends n.AbstractSpeechGenerator{getSpeech(t,e){return o.connectAllMactions(e,this.getRebuilt().xml),this.generateSpeech(t,e)}}e.SummarySpeechGenerator=i},4598:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.TreeSpeechGenerator=void 0;const n=r(2298),o=r(1204),i=r(6278),a=r(9543);class s extends i.AbstractSpeechGenerator{getSpeech(t,e){const r=this.generateSpeech(t,e),i=this.getRebuilt().nodeDict;for(const r in i){const s=i[r],l=o.getBySemanticId(e,r),c=o.getBySemanticId(t,r);l&&c&&(this.modality&&this.modality!==n.Attribute.SPEECH?a.addModality(c,s,this.modality):a.addSpeech(c,s,this.getRebuilt().xml),this.modality===n.Attribute.SPEECH&&a.addPrefix(c,s))}return r}}e.TreeSpeechGenerator=s},313:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.INTERVALS=e.makeLetter=e.numberRules=e.alphabetRules=e.getFont=e.makeInterval=e.generate=e.makeDomains_=e.Domains_=e.Base=e.Embellish=e.Font=void 0;const n=r(5897),o=r(7491),i=r(4356),a=r(2536),s=r(2780);var l,c,u;function p(){const t=i.LOCALE.ALPHABETS,r=(t,e)=>{const r={};return Object.keys(t).forEach((t=>r[t]=!0)),Object.keys(e).forEach((t=>r[t]=!0)),Object.keys(r)};e.Domains_.small=r(t.smallPrefix,t.letterTrans),e.Domains_.capital=r(t.capPrefix,t.letterTrans),e.Domains_.digit=r(t.digitPrefix,t.digitTrans)}function h(t){const e=t.toString(16).toUpperCase();return e.length>3?e:("000"+e).slice(-4)}function d([t,e],r){const n=parseInt(t,16),o=parseInt(e,16),i=[];for(let t=n;t<=o;t++){let e=h(t);!1!==r[e]&&(e=r[e]||e,i.push(e))}return i}function f(t){const e="normal"===t||"fullwidth"===t?"":i.LOCALE.MESSAGES.font[t]||i.LOCALE.MESSAGES.embellish[t]||"";return(0,a.localeFontCombiner)(e)}function m(t,r,n,o,a,s){const l=f(o);for(let o,c,u,p=0;o=t[p],c=r[p],u=n[p];p++){const t=s?i.LOCALE.ALPHABETS.capPrefix:i.LOCALE.ALPHABETS.smallPrefix,r=s?e.Domains_.capital:e.Domains_.small;g(l.combiner,o,c,u,l.font,t,a,i.LOCALE.ALPHABETS.letterTrans,r)}}function y(t,r,n,o,a){const s=f(n);for(let n,l,c=0;n=t[c],l=r[c];c++){const t=i.LOCALE.ALPHABETS.digitPrefix,r=c+a;g(s.combiner,n,l,r,s.font,t,o,i.LOCALE.ALPHABETS.digitTrans,e.Domains_.digit)}}function g(t,e,r,n,o,i,a,l,c){for(let u,p=0;u=c[p];p++){const c=u in l?l[u]:l.default,p=u in i?i[u]:i.default;s.defineRule(e.toString(),u,"default",a,r,t(c(n),o,p))}}!function(t){t.BOLD="bold",t.BOLDFRAKTUR="bold-fraktur",t.BOLDITALIC="bold-italic",t.BOLDSCRIPT="bold-script",t.DOUBLESTRUCK="double-struck",t.FULLWIDTH="fullwidth",t.FRAKTUR="fraktur",t.ITALIC="italic",t.MONOSPACE="monospace",t.NORMAL="normal",t.SCRIPT="script",t.SANSSERIF="sans-serif",t.SANSSERIFITALIC="sans-serif-italic",t.SANSSERIFBOLD="sans-serif-bold",t.SANSSERIFBOLDITALIC="sans-serif-bold-italic"}(l=e.Font||(e.Font={})),function(t){t.SUPER="super",t.SUB="sub",t.CIRCLED="circled",t.PARENTHESIZED="parenthesized",t.PERIOD="period",t.NEGATIVECIRCLED="negative-circled",t.DOUBLECIRCLED="double-circled",t.CIRCLEDSANSSERIF="circled-sans-serif",t.NEGATIVECIRCLEDSANSSERIF="negative-circled-sans-serif",t.COMMA="comma",t.SQUARED="squared",t.NEGATIVESQUARED="negative-squared"}(c=e.Embellish||(e.Embellish={})),function(t){t.LATINCAP="latinCap",t.LATINSMALL="latinSmall",t.GREEKCAP="greekCap",t.GREEKSMALL="greekSmall",t.DIGIT="digit"}(u=e.Base||(e.Base={})),e.Domains_={small:["default"],capital:["default"],digit:["default"]},e.makeDomains_=p,e.generate=function(t){const r=n.default.getInstance().locale;n.default.getInstance().locale=t,o.setLocale(),s.addSymbolRules({locale:t}),p();const a=e.INTERVALS;for(let t,e=0;t=a[e];e++){const e=d(t.interval,t.subst),r=e.map((function(t){return String.fromCodePoint(parseInt(t,16))}));if("offset"in t)y(e,r,t.font,t.category,t.offset||0);else{m(e,r,i.LOCALE.ALPHABETS[t.base],t.font,t.category,!!t.capital)}}n.default.getInstance().locale=r,o.setLocale()},e.makeInterval=d,e.getFont=f,e.alphabetRules=m,e.numberRules=y,e.makeLetter=g,e.INTERVALS=[{interval:["1D400","1D419"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.BOLD},{interval:["1D41A","1D433"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLD},{interval:["1D56C","1D585"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.BOLDFRAKTUR},{interval:["1D586","1D59F"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLDFRAKTUR},{interval:["1D468","1D481"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.BOLDITALIC},{interval:["1D482","1D49B"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLDITALIC},{interval:["1D4D0","1D4E9"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.BOLDSCRIPT},{interval:["1D4EA","1D503"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLDSCRIPT},{interval:["1D538","1D551"],base:u.LATINCAP,subst:{"1D53A":"2102","1D53F":"210D","1D545":"2115","1D547":"2119","1D548":"211A","1D549":"211D","1D551":"2124"},capital:!0,category:"Lu",font:l.DOUBLESTRUCK},{interval:["1D552","1D56B"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.DOUBLESTRUCK},{interval:["1D504","1D51D"],base:u.LATINCAP,subst:{"1D506":"212D","1D50B":"210C","1D50C":"2111","1D515":"211C","1D51D":"2128"},capital:!0,category:"Lu",font:l.FRAKTUR},{interval:["1D51E","1D537"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.FRAKTUR},{interval:["FF21","FF3A"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.FULLWIDTH},{interval:["FF41","FF5A"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.FULLWIDTH},{interval:["1D434","1D44D"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.ITALIC},{interval:["1D44E","1D467"],base:u.LATINSMALL,subst:{"1D455":"210E"},capital:!1,category:"Ll",font:l.ITALIC},{interval:["1D670","1D689"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.MONOSPACE},{interval:["1D68A","1D6A3"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.MONOSPACE},{interval:["0041","005A"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.NORMAL},{interval:["0061","007A"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.NORMAL},{interval:["1D49C","1D4B5"],base:u.LATINCAP,subst:{"1D49D":"212C","1D4A0":"2130","1D4A1":"2131","1D4A3":"210B","1D4A4":"2110","1D4A7":"2112","1D4A8":"2133","1D4AD":"211B"},capital:!0,category:"Lu",font:l.SCRIPT},{interval:["1D4B6","1D4CF"],base:u.LATINSMALL,subst:{"1D4BA":"212F","1D4BC":"210A","1D4C4":"2134"},capital:!1,category:"Ll",font:l.SCRIPT},{interval:["1D5A0","1D5B9"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIF},{interval:["1D5BA","1D5D3"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIF},{interval:["1D608","1D621"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFITALIC},{interval:["1D622","1D63B"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFITALIC},{interval:["1D5D4","1D5ED"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFBOLD},{interval:["1D5EE","1D607"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFBOLD},{interval:["1D63C","1D655"],base:u.LATINCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFBOLDITALIC},{interval:["1D656","1D66F"],base:u.LATINSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFBOLDITALIC},{interval:["0391","03A9"],base:u.GREEKCAP,subst:{"03A2":"03F4"},capital:!0,category:"Lu",font:l.NORMAL},{interval:["03B0","03D0"],base:u.GREEKSMALL,subst:{"03B0":"2207","03CA":"2202","03CB":"03F5","03CC":"03D1","03CD":"03F0","03CE":"03D5","03CF":"03F1","03D0":"03D6"},capital:!1,category:"Ll",font:l.NORMAL},{interval:["1D6A8","1D6C0"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.BOLD},{interval:["1D6C1","1D6E1"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLD},{interval:["1D6E2","1D6FA"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.ITALIC},{interval:["1D6FB","1D71B"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.ITALIC},{interval:["1D71C","1D734"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.BOLDITALIC},{interval:["1D735","1D755"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.BOLDITALIC},{interval:["1D756","1D76E"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFBOLD},{interval:["1D76F","1D78F"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFBOLD},{interval:["1D790","1D7A8"],base:u.GREEKCAP,subst:{},capital:!0,category:"Lu",font:l.SANSSERIFBOLDITALIC},{interval:["1D7A9","1D7C9"],base:u.GREEKSMALL,subst:{},capital:!1,category:"Ll",font:l.SANSSERIFBOLDITALIC},{interval:["0030","0039"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.NORMAL},{interval:["2070","2079"],base:u.DIGIT,subst:{2071:"00B9",2072:"00B2",2073:"00B3"},offset:0,category:"No",font:c.SUPER},{interval:["2080","2089"],base:u.DIGIT,subst:{},offset:0,category:"No",font:c.SUB},{interval:["245F","2473"],base:u.DIGIT,subst:{"245F":"24EA"},offset:0,category:"No",font:c.CIRCLED},{interval:["3251","325F"],base:u.DIGIT,subst:{},offset:21,category:"No",font:c.CIRCLED},{interval:["32B1","32BF"],base:u.DIGIT,subst:{},offset:36,category:"No",font:c.CIRCLED},{interval:["2474","2487"],base:u.DIGIT,subst:{},offset:1,category:"No",font:c.PARENTHESIZED},{interval:["2487","249B"],base:u.DIGIT,subst:{2487:"1F100"},offset:0,category:"No",font:c.PERIOD},{interval:["2775","277F"],base:u.DIGIT,subst:{2775:"24FF"},offset:0,category:"No",font:c.NEGATIVECIRCLED},{interval:["24EB","24F4"],base:u.DIGIT,subst:{},offset:11,category:"No",font:c.NEGATIVECIRCLED},{interval:["24F5","24FE"],base:u.DIGIT,subst:{},offset:1,category:"No",font:c.DOUBLECIRCLED},{interval:["277F","2789"],base:u.DIGIT,subst:{"277F":"1F10B"},offset:0,category:"No",font:c.CIRCLEDSANSSERIF},{interval:["2789","2793"],base:u.DIGIT,subst:{2789:"1F10C"},offset:0,category:"No",font:c.NEGATIVECIRCLEDSANSSERIF},{interval:["FF10","FF19"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.FULLWIDTH},{interval:["1D7CE","1D7D7"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.BOLD},{interval:["1D7D8","1D7E1"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.DOUBLESTRUCK},{interval:["1D7E2","1D7EB"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.SANSSERIF},{interval:["1D7EC","1D7F5"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.SANSSERIFBOLD},{interval:["1D7F6","1D7FF"],base:u.DIGIT,subst:{},offset:0,category:"Nd",font:l.MONOSPACE},{interval:["1F101","1F10A"],base:u.DIGIT,subst:{},offset:0,category:"No",font:c.COMMA},{interval:["24B6","24CF"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.CIRCLED},{interval:["24D0","24E9"],base:u.LATINSMALL,subst:{},capital:!1,category:"So",font:c.CIRCLED},{interval:["1F110","1F129"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.PARENTHESIZED},{interval:["249C","24B5"],base:u.LATINSMALL,subst:{},capital:!1,category:"So",font:c.PARENTHESIZED},{interval:["1F130","1F149"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.SQUARED},{interval:["1F170","1F189"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.NEGATIVESQUARED},{interval:["1F150","1F169"],base:u.LATINCAP,subst:{},capital:!0,category:"So",font:c.NEGATIVECIRCLED}]},8504:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Parser=e.Comparator=e.ClearspeakPreferences=void 0;const n=r(5897),o=r(4440),i=r(1676),a=r(1676),s=r(2780),l=r(2362);class c extends i.DynamicCstr{constructor(t,e){super(t),this.preference=e}static comparator(){return new p(n.default.getInstance().dynamicCstr,a.DynamicProperties.createProp([i.DynamicCstr.DEFAULT_VALUES[a.Axis.LOCALE]],[i.DynamicCstr.DEFAULT_VALUES[a.Axis.MODALITY]],[i.DynamicCstr.DEFAULT_VALUES[a.Axis.DOMAIN]],[i.DynamicCstr.DEFAULT_VALUES[a.Axis.STYLE]]))}static fromPreference(t){const e=t.split(":"),r={},n=u.getProperties(),o=Object.keys(n);for(let t,i=0;t=e[i];i++){const e=t.split("_");if(-1===o.indexOf(e[0]))continue;const i=e[1];i&&i!==c.AUTO&&-1!==n[e[0]].indexOf(i)&&(r[e[0]]=e[1])}return r}static toPreference(t){const e=Object.keys(t),r=[];for(let n=0;na?-1:i0&&e<20&&r>0&&r<11}function M(t){return o.default.getInstance().style===t}function O(t){if(!t.hasAttribute("annotation"))return!1;const e=t.getAttribute("annotation");return!!/clearspeak:simple$|clearspeak:simple;/.exec(e)}function E(t){if(O(t))return!0;if("subscript"!==t.tagName)return!1;const e=t.childNodes[0].childNodes,r=e[1];return"identifier"===e[0].tagName&&(A(r)||"infixop"===r.tagName&&r.hasAttribute("role")&&"implicit"===r.getAttribute("role")&&C(r))}function A(t){return"number"===t.tagName&&t.hasAttribute("role")&&"integer"===t.getAttribute("role")}function C(t){return i.evalXPath("children/*",t).every((t=>A(t)||"identifier"===t.tagName))}function w(t){return"text"===t.type||"punctuated"===t.type&&"text"===t.role&&_(t.childNodes[0])&&T(t.childNodes.slice(1))||"identifier"===t.type&&"unit"===t.role||"infixop"===t.type&&("implicit"===t.role||"unit"===t.role)}function T(t){for(let e=0;e10?a.LOCALE.NUMBERS.numericOrdinal(e):a.LOCALE.NUMBERS.wordOrdinal(e)},e.NESTING_DEPTH=null,e.nestingDepth=function(t){let r=0;const n=t.textContent,o="open"===t.getAttribute("role")?0:1;let i=t.parentNode;for(;i;)"fenced"===i.tagName&&i.childNodes[0].childNodes[o].textContent===n&&r++,i=i.parentNode;return e.NESTING_DEPTH=r>1?a.LOCALE.NUMBERS.wordOrdinal(r):"",e.NESTING_DEPTH},e.matchingFences=function(t){const e=t.previousSibling;let r,n;return e?(r=e,n=t):(r=t,n=t.nextSibling),n&&(0,h.isMatchingFence)(r.textContent,n.textContent)?[t]:[]},e.insertNesting=N,l.Grammar.getInstance().setCorrection("insertNesting",N),e.fencedArguments=function(t){const e=n.toArray(t.parentNode.childNodes),r=i.evalXPath("../../children/*",t),o=e.indexOf(t);return P(r[o])||P(r[o+1])?[t]:[]},e.simpleArguments=function(t){const e=n.toArray(t.parentNode.childNodes),r=i.evalXPath("../../children/*",t),o=e.indexOf(t);return L(r[o])&&r[o+1]&&(L(r[o+1])||"root"===r[o+1].tagName||"sqrt"===r[o+1].tagName||"superscript"===r[o+1].tagName&&r[o+1].childNodes[0].childNodes[0]&&("number"===r[o+1].childNodes[0].childNodes[0].tagName||"identifier"===r[o+1].childNodes[0].childNodes[0].tagName)&&("2"===r[o+1].childNodes[0].childNodes[1].textContent||"3"===r[o+1].childNodes[0].childNodes[1].textContent))?[t]:[]},e.simpleFactor_=L,e.fencedFactor_=P,e.layoutFactor_=I,e.wordOrdinal=function(t){return a.LOCALE.NUMBERS.wordOrdinal(parseInt(t.textContent,10))}},6141:function(t,e,r){var n=this&&this.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{l(n.next(t))}catch(t){i(t)}}function s(t){try{l(n.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,s)}l((n=n.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.loadAjax=e.loadFileSync=e.loadFile=e.parseMaps=e.retrieveFiles=e.standardLoader=e.loadLocale=e.store=void 0;const o=r(2139),i=r(5897),a=r(4440),s=r(7248),l=r(2315),c=r(1676),u=r(2780),p=r(2362),h=r(7491),d=r(313);e.store=u;const f={functions:u.addFunctionRules,symbols:u.addSymbolRules,units:u.addUnitRules,si:u.setSiPrefixes};let m=!1;function y(t=i.default.getInstance().locale){i.EnginePromise.loaded[t]||(i.EnginePromise.loaded[t]=[!1,!1],function(t){if(i.default.getInstance().isIE&&i.default.getInstance().mode===a.Mode.HTTP)return void S(t);b(t)}(t))}function g(){switch(i.default.getInstance().mode){case a.Mode.ASYNC:return x;case a.Mode.HTTP:return O;case a.Mode.SYNC:default:return M}}function b(t){const e=i.default.getInstance().customLoader?i.default.getInstance().customLoader:g(),r=new Promise((r=>{e(t).then((e=>{v(e),i.EnginePromise.loaded[t]=[!0,!0],r(t)}),(e=>{i.EnginePromise.loaded[t]=[!0,!1],console.error(`Unable to load locale: ${t}`),i.default.getInstance().locale=i.default.getInstance().defaultLocale,r(t)}))}));i.EnginePromise.promises[t]=r}function v(t){_(JSON.parse(t))}function _(t,e){let r=!0;for(let n,o=0;n=Object.keys(t)[o];o++){const o=n.split("/");e&&e!==o[0]||("rules"===o[1]?p.SpeechRuleEngine.getInstance().addStore(t[n]):"messages"===o[1]?(0,h.completeLocale)(t[n]):(r&&(d.generate(o[0]),r=!1),t[n].forEach(f[o[1]])))}}function S(t,e){let r=e||1;o.mapsForIE?_(o.mapsForIE,t):r<=5&&setTimeout((()=>S(t,r++)).bind(this),300)}function x(t){const e=s.localePath(t);return new Promise(((t,r)=>{l.default.fs.readFile(e,"utf8",((e,n)=>{if(e)return r(e);t(n)}))}))}function M(t){const e=s.localePath(t);return new Promise(((t,r)=>{let n="{}";try{n=l.default.fs.readFileSync(e,"utf8")}catch(t){return r(t)}t(n)}))}function O(t){const e=s.localePath(t),r=new XMLHttpRequest;return new Promise(((t,n)=>{r.onreadystatechange=function(){if(4===r.readyState){const e=r.status;0===e||e>=200&&e<400?t(r.responseText):n(e)}},r.open("GET",e,!0),r.send()}))}e.loadLocale=function(t=i.default.getInstance().locale){return n(this,void 0,void 0,(function*(){return m||(y(c.DynamicCstr.BASE_LOCALE),m=!0),i.EnginePromise.promises[c.DynamicCstr.BASE_LOCALE].then((()=>n(this,void 0,void 0,(function*(){const e=i.default.getInstance().defaultLocale;return e?(y(e),i.EnginePromise.promises[e].then((()=>n(this,void 0,void 0,(function*(){return y(t),i.EnginePromise.promises[t]}))))):(y(t),i.EnginePromise.promises[t])}))))}))},e.standardLoader=g,e.retrieveFiles=b,e.parseMaps=v,e.loadFile=x,e.loadFileSync=M,e.loadAjax=O},7088:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.leftSubscriptBrief=e.leftSuperscriptBrief=e.leftSubscriptVerbose=e.leftSuperscriptVerbose=e.baselineBrief=e.baselineVerbose=void 0;const n=r(1378);e.baselineVerbose=function(t){return n.baselineVerbose(t).replace(/-$/,"")},e.baselineBrief=function(t){return n.baselineBrief(t).replace(/-$/,"")},e.leftSuperscriptVerbose=function(t){return n.superscriptVerbose(t).replace(/^exposant/,"exposant gauche")},e.leftSubscriptVerbose=function(t){return n.subscriptVerbose(t).replace(/^indice/,"indice gauche")},e.leftSuperscriptBrief=function(t){return n.superscriptBrief(t).replace(/^sup/,"sup gauche")},e.leftSubscriptBrief=function(t){return n.subscriptBrief(t).replace(/^sub/,"sub gauche")}},9577:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.MathspeakRules=void 0;const n=r(1676),o=r(365),i=r(7088),a=r(1378),s=r(8437),l=r(7283),c=r(7598);e.MathspeakRules=function(){l.addStore(n.DynamicCstr.BASE_LOCALE+".speech.mathspeak","",{CQFspaceoutNumber:a.spaceoutNumber,CQFspaceoutIdentifier:a.spaceoutIdentifier,CSFspaceoutText:a.spaceoutText,CSFopenFracVerbose:a.openingFractionVerbose,CSFcloseFracVerbose:a.closingFractionVerbose,CSFoverFracVerbose:a.overFractionVerbose,CSFopenFracBrief:a.openingFractionBrief,CSFcloseFracBrief:a.closingFractionBrief,CSFopenFracSbrief:a.openingFractionSbrief,CSFcloseFracSbrief:a.closingFractionSbrief,CSFoverFracSbrief:a.overFractionSbrief,CSFvulgarFraction:s.vulgarFraction,CQFvulgarFractionSmall:a.isSmallVulgarFraction,CSFopenRadicalVerbose:a.openingRadicalVerbose,CSFcloseRadicalVerbose:a.closingRadicalVerbose,CSFindexRadicalVerbose:a.indexRadicalVerbose,CSFopenRadicalBrief:a.openingRadicalBrief,CSFcloseRadicalBrief:a.closingRadicalBrief,CSFindexRadicalBrief:a.indexRadicalBrief,CSFopenRadicalSbrief:a.openingRadicalSbrief,CSFindexRadicalSbrief:a.indexRadicalSbrief,CQFisSmallRoot:a.smallRoot,CSFsuperscriptVerbose:a.superscriptVerbose,CSFsuperscriptBrief:a.superscriptBrief,CSFsubscriptVerbose:a.subscriptVerbose,CSFsubscriptBrief:a.subscriptBrief,CSFbaselineVerbose:a.baselineVerbose,CSFbaselineBrief:a.baselineBrief,CSFleftsuperscriptVerbose:a.superscriptVerbose,CSFleftsubscriptVerbose:a.subscriptVerbose,CSFrightsuperscriptVerbose:a.superscriptVerbose,CSFrightsubscriptVerbose:a.subscriptVerbose,CSFleftsuperscriptBrief:a.superscriptBrief,CSFleftsubscriptBrief:a.subscriptBrief,CSFrightsuperscriptBrief:a.superscriptBrief,CSFrightsubscriptBrief:a.subscriptBrief,CSFunderscript:a.nestedUnderscript,CSFoverscript:a.nestedOverscript,CSFendscripts:a.endscripts,CTFordinalCounter:s.ordinalCounter,CTFwordCounter:s.wordCounter,CTFcontentIterator:o.contentIterator,CQFdetIsSimple:a.determinantIsSimple,CSFRemoveParens:a.removeParens,CQFresetNesting:a.resetNestingDepth,CGFbaselineConstraint:a.generateBaselineConstraint,CGFtensorRules:a.generateTensorRules}),l.addStore("es.speech.mathspeak",n.DynamicCstr.BASE_LOCALE+".speech.mathspeak",{CTFunitMultipliers:c.unitMultipliers,CQFoneLeft:c.oneLeft}),l.addStore("fr.speech.mathspeak",n.DynamicCstr.BASE_LOCALE+".speech.mathspeak",{CSFbaselineVerbose:i.baselineVerbose,CSFbaselineBrief:i.baselineBrief,CSFleftsuperscriptVerbose:i.leftSuperscriptVerbose,CSFleftsubscriptVerbose:i.leftSubscriptVerbose,CSFleftsuperscriptBrief:i.leftSuperscriptBrief,CSFleftsubscriptBrief:i.leftSubscriptBrief})}},1378:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.smallRoot=e.generateTensorRules=e.removeParens=e.generateBaselineConstraint=e.determinantIsSimple=e.nestedOverscript=e.endscripts=e.overscoreNestingDepth=e.nestedUnderscript=e.underscoreNestingDepth=e.indexRadicalSbrief=e.openingRadicalSbrief=e.indexRadicalBrief=e.closingRadicalBrief=e.openingRadicalBrief=e.indexRadicalVerbose=e.closingRadicalVerbose=e.openingRadicalVerbose=e.getRootIndex=e.nestedRadical=e.radicalNestingDepth=e.baselineBrief=e.baselineVerbose=e.superscriptBrief=e.superscriptVerbose=e.subscriptBrief=e.subscriptVerbose=e.nestedSubSuper=e.isSmallVulgarFraction=e.overFractionSbrief=e.closingFractionSbrief=e.openingFractionSbrief=e.closingFractionBrief=e.openingFractionBrief=e.overFractionVerbose=e.closingFractionVerbose=e.openingFractionVerbose=e.nestedFraction=e.fractionNestingDepth=e.computeNestingDepth_=e.containsAttr=e.getNestingDepth=e.resetNestingDepth=e.nestingBarriers=e.spaceoutIdentifier=e.spaceoutNumber=e.spaceoutNodes=e.spaceoutText=void 0;const n=r(707),o=r(5740),i=r(5274),a=r(4356),s=r(3308);let l={};function c(t,e){const r=Array.from(t.textContent),n=[],o=s.default.getInstance(),i=t.ownerDocument;for(let t,a=0;t=r[a];a++){const r=o.getNodeFactory().makeLeafNode(t,"unknown"),a=o.identifierNode(r,"unknown","");e(a),n.push(a.xml(i))}return n}function u(t,r,i,a,s,c){a=a||e.nestingBarriers,s=s||{},c=c||function(t){return!1};const u=o.serializeXml(r);if(l[t]||(l[t]={}),l[t][u])return l[t][u];if(c(r)||i.indexOf(r.tagName)<0)return 0;const p=h(r,i,n.setdifference(a,i),s,c,0);return l[t][u]=p,p}function p(t,e){if(!t.attributes)return!1;const r=o.toArray(t.attributes);for(let t,n=0;t=r[n];n++)if(e[t.nodeName]===t.nodeValue)return!0;return!1}function h(t,e,r,n,i,a){if(i(t)||r.indexOf(t.tagName)>-1||p(t,n))return a;if(e.indexOf(t.tagName)>-1&&a++,!t.childNodes||0===t.childNodes.length)return a;const s=o.toArray(t.childNodes);return Math.max.apply(null,s.map((function(t){return h(t,e,r,n,i,a)})))}function d(t){return u("fraction",t,["fraction"],e.nestingBarriers,{},a.LOCALE.FUNCTIONS.fracNestDepth)}function f(t,e,r){const n=d(t),o=Array(n).fill(e);return r&&o.push(r),o.join(a.LOCALE.MESSAGES.regexp.JOINER_FRAC)}function m(t,e,r){for(;t.parentNode;){const n=t.parentNode,o=n.parentNode;if(!o)break;const i=t.getAttribute&&t.getAttribute("role");("subscript"===o.tagName&&t===n.childNodes[1]||"tensor"===o.tagName&&i&&("leftsub"===i||"rightsub"===i))&&(e=r.sub+a.LOCALE.MESSAGES.regexp.JOINER_SUBSUPER+e),("superscript"===o.tagName&&t===n.childNodes[1]||"tensor"===o.tagName&&i&&("leftsuper"===i||"rightsuper"===i))&&(e=r.sup+a.LOCALE.MESSAGES.regexp.JOINER_SUBSUPER+e),t=o}return e.trim()}function y(t){return u("radical",t,["sqrt","root"],e.nestingBarriers,{})}function g(t,e,r){const n=y(t),o=b(t);return r=o?a.LOCALE.FUNCTIONS.combineRootIndex(r,o):r,1===n?r:a.LOCALE.FUNCTIONS.combineNestedRadical(e,a.LOCALE.FUNCTIONS.radicalNestDepth(n-1),r)}function b(t){const e="sqrt"===t.tagName?"2":i.evalXPath("children/*[1]",t)[0].textContent.trim();return a.LOCALE.MESSAGES.MSroots[e]||""}function v(t){return u("underscore",t,["underscore"],e.nestingBarriers,{},(function(t){return t.tagName&&"underscore"===t.tagName&&"underaccent"===t.childNodes[0].childNodes[1].getAttribute("role")}))}function _(t){return u("overscore",t,["overscore"],e.nestingBarriers,{},(function(t){return t.tagName&&"overscore"===t.tagName&&"overaccent"===t.childNodes[0].childNodes[1].getAttribute("role")}))}e.spaceoutText=function(t){return Array.from(t.textContent).join(" ")},e.spaceoutNodes=c,e.spaceoutNumber=function(t){return c(t,(function(t){t.textContent.match(/\W/)||(t.type="number")}))},e.spaceoutIdentifier=function(t){return c(t,(function(t){t.font="unknown",t.type="identifier"}))},e.nestingBarriers=["cases","cell","integral","line","matrix","multiline","overscore","root","row","sqrt","subscript","superscript","table","underscore","vector"],e.resetNestingDepth=function(t){return l={},[t]},e.getNestingDepth=u,e.containsAttr=p,e.computeNestingDepth_=h,e.fractionNestingDepth=d,e.nestedFraction=f,e.openingFractionVerbose=function(t){return f(t,a.LOCALE.MESSAGES.MS.START,a.LOCALE.MESSAGES.MS.FRAC_V)},e.closingFractionVerbose=function(t){return f(t,a.LOCALE.MESSAGES.MS.END,a.LOCALE.MESSAGES.MS.FRAC_V)},e.overFractionVerbose=function(t){return f(t,a.LOCALE.MESSAGES.MS.FRAC_OVER)},e.openingFractionBrief=function(t){return f(t,a.LOCALE.MESSAGES.MS.START,a.LOCALE.MESSAGES.MS.FRAC_B)},e.closingFractionBrief=function(t){return f(t,a.LOCALE.MESSAGES.MS.END,a.LOCALE.MESSAGES.MS.FRAC_B)},e.openingFractionSbrief=function(t){const e=d(t);return 1===e?a.LOCALE.MESSAGES.MS.FRAC_S:a.LOCALE.FUNCTIONS.combineNestedFraction(a.LOCALE.MESSAGES.MS.NEST_FRAC,a.LOCALE.FUNCTIONS.radicalNestDepth(e-1),a.LOCALE.MESSAGES.MS.FRAC_S)},e.closingFractionSbrief=function(t){const e=d(t);return 1===e?a.LOCALE.MESSAGES.MS.ENDFRAC:a.LOCALE.FUNCTIONS.combineNestedFraction(a.LOCALE.MESSAGES.MS.NEST_FRAC,a.LOCALE.FUNCTIONS.radicalNestDepth(e-1),a.LOCALE.MESSAGES.MS.ENDFRAC)},e.overFractionSbrief=function(t){const e=d(t);return 1===e?a.LOCALE.MESSAGES.MS.FRAC_OVER:a.LOCALE.FUNCTIONS.combineNestedFraction(a.LOCALE.MESSAGES.MS.NEST_FRAC,a.LOCALE.FUNCTIONS.radicalNestDepth(e-1),a.LOCALE.MESSAGES.MS.FRAC_OVER)},e.isSmallVulgarFraction=function(t){return a.LOCALE.FUNCTIONS.fracNestDepth(t)?[t]:[]},e.nestedSubSuper=m,e.subscriptVerbose=function(t){return m(t,a.LOCALE.MESSAGES.MS.SUBSCRIPT,{sup:a.LOCALE.MESSAGES.MS.SUPER,sub:a.LOCALE.MESSAGES.MS.SUB})},e.subscriptBrief=function(t){return m(t,a.LOCALE.MESSAGES.MS.SUB,{sup:a.LOCALE.MESSAGES.MS.SUP,sub:a.LOCALE.MESSAGES.MS.SUB})},e.superscriptVerbose=function(t){return m(t,a.LOCALE.MESSAGES.MS.SUPERSCRIPT,{sup:a.LOCALE.MESSAGES.MS.SUPER,sub:a.LOCALE.MESSAGES.MS.SUB})},e.superscriptBrief=function(t){return m(t,a.LOCALE.MESSAGES.MS.SUP,{sup:a.LOCALE.MESSAGES.MS.SUP,sub:a.LOCALE.MESSAGES.MS.SUB})},e.baselineVerbose=function(t){const e=m(t,"",{sup:a.LOCALE.MESSAGES.MS.SUPER,sub:a.LOCALE.MESSAGES.MS.SUB});return e?e.replace(new RegExp(a.LOCALE.MESSAGES.MS.SUB+"$"),a.LOCALE.MESSAGES.MS.SUBSCRIPT).replace(new RegExp(a.LOCALE.MESSAGES.MS.SUPER+"$"),a.LOCALE.MESSAGES.MS.SUPERSCRIPT):a.LOCALE.MESSAGES.MS.BASELINE},e.baselineBrief=function(t){return m(t,"",{sup:a.LOCALE.MESSAGES.MS.SUP,sub:a.LOCALE.MESSAGES.MS.SUB})||a.LOCALE.MESSAGES.MS.BASE},e.radicalNestingDepth=y,e.nestedRadical=g,e.getRootIndex=b,e.openingRadicalVerbose=function(t){return g(t,a.LOCALE.MESSAGES.MS.NESTED,a.LOCALE.MESSAGES.MS.STARTROOT)},e.closingRadicalVerbose=function(t){return g(t,a.LOCALE.MESSAGES.MS.NESTED,a.LOCALE.MESSAGES.MS.ENDROOT)},e.indexRadicalVerbose=function(t){return g(t,a.LOCALE.MESSAGES.MS.NESTED,a.LOCALE.MESSAGES.MS.ROOTINDEX)},e.openingRadicalBrief=function(t){return g(t,a.LOCALE.MESSAGES.MS.NEST_ROOT,a.LOCALE.MESSAGES.MS.STARTROOT)},e.closingRadicalBrief=function(t){return g(t,a.LOCALE.MESSAGES.MS.NEST_ROOT,a.LOCALE.MESSAGES.MS.ENDROOT)},e.indexRadicalBrief=function(t){return g(t,a.LOCALE.MESSAGES.MS.NEST_ROOT,a.LOCALE.MESSAGES.MS.ROOTINDEX)},e.openingRadicalSbrief=function(t){return g(t,a.LOCALE.MESSAGES.MS.NEST_ROOT,a.LOCALE.MESSAGES.MS.ROOT)},e.indexRadicalSbrief=function(t){return g(t,a.LOCALE.MESSAGES.MS.NEST_ROOT,a.LOCALE.MESSAGES.MS.INDEX)},e.underscoreNestingDepth=v,e.nestedUnderscript=function(t){const e=v(t);return Array(e).join(a.LOCALE.MESSAGES.MS.UNDER)+a.LOCALE.MESSAGES.MS.UNDERSCRIPT},e.overscoreNestingDepth=_,e.endscripts=function(t){return a.LOCALE.MESSAGES.MS.ENDSCRIPTS},e.nestedOverscript=function(t){const e=_(t);return Array(e).join(a.LOCALE.MESSAGES.MS.OVER)+a.LOCALE.MESSAGES.MS.OVERSCRIPT},e.determinantIsSimple=function(t){if("matrix"!==t.tagName||"determinant"!==t.getAttribute("role"))return[];const e=i.evalXPath("children/row/children/cell/children/*",t);for(let t,r=0;t=e[r];r++)if("number"!==t.tagName){if("identifier"===t.tagName){const e=t.getAttribute("role");if("latinletter"===e||"greekletter"===e||"otherletter"===e)continue}return[]}return[t]},e.generateBaselineConstraint=function(){const t=t=>t.map((t=>"ancestor::"+t)),e=t=>"not("+t+")",r=e(t(["subscript","superscript","tensor"]).join(" or ")),n=t(["relseq","multrel"]),o=t(["fraction","punctuation","fenced","sqrt","root"]);let i=[];for(let t,e=0;t=o[e];e++)i=i.concat(n.map((function(e){return t+"/"+e})));return[["ancestor::*/following-sibling::*",r,e(i.join(" | "))].join(" and ")]},e.removeParens=function(t){if(!t.childNodes.length||!t.childNodes[0].childNodes.length||!t.childNodes[0].childNodes[0].childNodes.length)return"";const e=t.childNodes[0].childNodes[0].childNodes[0].textContent;return e.match(/^\(.+\)$/)?e.slice(1,-1):e};const S=new Map([[3,"CSFleftsuperscript"],[4,"CSFleftsubscript"],[2,"CSFbaseline"],[1,"CSFrightsubscript"],[0,"CSFrightsuperscript"]]),x=new Map([[4,2],[3,3],[2,1],[1,4],[0,5]]);function M(t){const e=[];let r="",n="",o=parseInt(t,2);for(let t=0;t<5;t++){const i="children/*["+x.get(t)+"]";if(1&o){const e=S.get(t%5);r="[t] "+e+"Verbose; [n] "+i+";"+r,n="[t] "+e+"Brief; [n] "+i+";"+n}else e.unshift("name("+i+')="empty"');o>>=1}return[e,r,n]}e.generateTensorRules=function(t,e=!0){const r=["11111","11110","11101","11100","10111","10110","10101","10100","01111","01110","01101","01100"];for(let n,o=0;n=r[o];o++){let r="tensor"+n,[o,i,a]=M(n);t.defineRule(r,"default",i,"self::tensor",...o),e&&(t.defineRule(r,"brief",a,"self::tensor",...o),t.defineRule(r,"sbrief",a,"self::tensor",...o));const s=S.get(2);i+="; [t]"+s+"Verbose",a+="; [t]"+s+"Brief",r+="-baseline";const l="((.//*[not(*)])[last()]/@id)!=(((.//ancestor::fraction|ancestor::root|ancestor::sqrt|ancestor::cell|ancestor::line|ancestor::stree)[1]//*[not(*)])[last()]/@id)";t.defineRule(r,"default",i,"self::tensor",l,...o),e&&(t.defineRule(r,"brief",a,"self::tensor",l,...o),t.defineRule(r,"sbrief",a,"self::tensor",l,...o))}},e.smallRoot=function(t){let e=Object.keys(a.LOCALE.MESSAGES.MSroots).length;if(!e)return[];if(e++,!t.childNodes||0===t.childNodes.length||!t.childNodes[0].childNodes)return[];const r=t.childNodes[0].childNodes[0].textContent;if(!/^\d+$/.test(r))return[];const n=parseInt(r,10);return n>1&&n<=e?[t]:[]}},6922:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.implicitIterator=e.relationIterator=e.propagateNumber=e.checkParent_=e.NUMBER_INHIBITORS_=e.NUMBER_PROPAGATORS_=e.enlargeFence=e.indexRadical=e.closingRadical=e.openingRadical=e.radicalNestingDepth=e.nestedRadical=e.overBevelledFraction=e.overFraction=e.closingFraction=e.openingFraction=void 0;const n=r(7052),o=r(5740),i=r(5274),a=r(2105),s=r(5897),l=r(7630),c=r(9265),u=r(4356),p=r(1378);function h(t,e){const r=d(t);return 1===r?e:new Array(r).join(u.LOCALE.MESSAGES.MS.NESTED)+e}function d(t,e){const r=e||0;return t.parentNode?d(t.parentNode,"root"===t.tagName||"sqrt"===t.tagName?r+1:r):r}function f(t){const e="\u2820";if(1===t.length)return e+t;const r=t.split("");return r.every((function(t){return"\u2833"===t}))?e+r.join(e):t.slice(0,-1)+e+t.slice(-1)}function m(t,r){const n=t.parent;if(!n)return!1;const o=n.type;return-1!==e.NUMBER_PROPAGATORS_.indexOf(o)||"prefixop"===o&&"negative"===n.role&&!r.script||"prefixop"===o&&"geometry"===n.role||!("punctuated"!==o||r.enclosed&&"text"!==n.role)}function y(t,r){return t.childNodes.length?(-1!==e.NUMBER_INHIBITORS_.indexOf(t.type)&&(r.script=!0),"fenced"===t.type?(r.number=!1,r.enclosed=!0,["",r]):(m(t,r)&&(r.number=!0,r.enclosed=!1),["",r])):(m(t,r)&&(r.number=!0,r.script=!1,r.enclosed=!1),[r.number?"number":"",{number:!1,enclosed:r.enclosed,script:r.script}])}e.openingFraction=function(t){const e=p.fractionNestingDepth(t);return new Array(e).join(u.LOCALE.MESSAGES.MS.FRACTION_REPEAT)+u.LOCALE.MESSAGES.MS.FRACTION_START},e.closingFraction=function(t){const e=p.fractionNestingDepth(t);return new Array(e).join(u.LOCALE.MESSAGES.MS.FRACTION_REPEAT)+u.LOCALE.MESSAGES.MS.FRACTION_END},e.overFraction=function(t){const e=p.fractionNestingDepth(t);return new Array(e).join(u.LOCALE.MESSAGES.MS.FRACTION_REPEAT)+u.LOCALE.MESSAGES.MS.FRACTION_OVER},e.overBevelledFraction=function(t){const e=p.fractionNestingDepth(t);return new Array(e).join(u.LOCALE.MESSAGES.MS.FRACTION_REPEAT)+"\u2838"+u.LOCALE.MESSAGES.MS.FRACTION_OVER},e.nestedRadical=h,e.radicalNestingDepth=d,e.openingRadical=function(t){return h(t,u.LOCALE.MESSAGES.MS.STARTROOT)},e.closingRadical=function(t){return h(t,u.LOCALE.MESSAGES.MS.ENDROOT)},e.indexRadical=function(t){return h(t,u.LOCALE.MESSAGES.MS.ROOTINDEX)},e.enlargeFence=f,a.Grammar.getInstance().setCorrection("enlargeFence",f),e.NUMBER_PROPAGATORS_=["multirel","relseq","appl","row","line"],e.NUMBER_INHIBITORS_=["subscript","superscript","overscore","underscore"],e.checkParent_=m,e.propagateNumber=y,(0,l.register)(new c.SemanticVisitor("nemeth","number",y,{number:!0})),e.relationIterator=function(t,e){const r=t.slice(0);let a,l=!0;return a=t.length>0?i.evalXPath("../../content/*",t[0]):[],function(){const t=a.shift(),i=r.shift(),c=r[0],h=e?[n.AuditoryDescription.create({text:e},{translate:!0})]:[];if(!t)return h;const d=i?p.nestedSubSuper(i,"",{sup:u.LOCALE.MESSAGES.MS.SUPER,sub:u.LOCALE.MESSAGES.MS.SUB}):"",f=i&&"EMPTY"!==o.tagName(i)||l&&t.parentNode.parentNode&&t.parentNode.parentNode.previousSibling?[n.AuditoryDescription.create({text:"\u2800"+d},{})]:[],m=c&&"EMPTY"!==o.tagName(c)||!a.length&&t.parentNode.parentNode&&t.parentNode.parentNode.nextSibling?[n.AuditoryDescription.create({text:"\u2800"},{})]:[],y=s.default.evaluateNode(t);return l=!1,h.concat(f,y,m)}},e.implicitIterator=function(t,e){const r=t.slice(0);let a;return a=t.length>0?i.evalXPath("../../content/*",t[0]):[],function(){const t=r.shift(),i=r[0],s=a.shift(),l=e?[n.AuditoryDescription.create({text:e},{translate:!0})]:[];if(!s)return l;const c=t&&"NUMBER"===o.tagName(t),u=i&&"NUMBER"===o.tagName(i);return l.concat(c&&u&&"space"===s.getAttribute("role")?[n.AuditoryDescription.create({text:"\u2800"},{})]:[])}}},8437:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.ordinalPosition=e.vulgarFraction=e.wordCounter=e.ordinalCounter=void 0;const n=r(9536),o=r(5740),i=r(4356),a=r(4977);e.ordinalCounter=function(t,e){let r=0;return function(){return i.LOCALE.NUMBERS.numericOrdinal(++r)+" "+e}},e.wordCounter=function(t,e){let r=0;return function(){return i.LOCALE.NUMBERS.numberToOrdinal(++r,!1)+" "+e}},e.vulgarFraction=function(t){const e=(0,a.convertVulgarFraction)(t,i.LOCALE.MESSAGES.MS.FRAC_OVER);return e.convertible&&e.enumerator&&e.denominator?[new n.Span(i.LOCALE.NUMBERS.numberToWords(e.enumerator),{extid:t.childNodes[0].childNodes[0].getAttribute("extid"),separator:""}),new n.Span(i.LOCALE.NUMBERS.vulgarSep,{separator:""}),new n.Span(i.LOCALE.NUMBERS.numberToOrdinal(e.denominator,1!==e.enumerator),{extid:t.childNodes[0].childNodes[1].getAttribute("extid")})]:[new n.Span(e.content||"",{extid:t.getAttribute("extid")})]},e.ordinalPosition=function(t){const e=o.toArray(t.parentNode.childNodes);return i.LOCALE.NUMBERS.numericOrdinal(e.indexOf(t)+1).toString()}},9284:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.BrailleRules=e.OtherRules=e.PrefixRules=void 0;const n=r(1676),o=r(365),i=r(1378),a=r(6922),s=r(8437),l=r(7283);e.PrefixRules=function(){l.addStore("en.prefix.default","",{CSFordinalPosition:s.ordinalPosition})},e.OtherRules=function(){l.addStore("en.speech.chromevox","",{CTFnodeCounter:o.nodeCounter,CTFcontentIterator:o.contentIterator}),l.addStore("en.speech.emacspeak","en.speech.chromevox",{CQFvulgarFractionSmall:i.isSmallVulgarFraction,CSFvulgarFraction:s.vulgarFraction})},e.BrailleRules=function(){l.addStore("nemeth.braille.default",n.DynamicCstr.BASE_LOCALE+".speech.mathspeak",{CSFopenFraction:a.openingFraction,CSFcloseFraction:a.closingFraction,CSFoverFraction:a.overFraction,CSFoverBevFraction:a.overBevelledFraction,CSFopenRadical:a.openingRadical,CSFcloseRadical:a.closingRadical,CSFindexRadical:a.indexRadical,CSFsubscript:i.subscriptVerbose,CSFsuperscript:i.superscriptVerbose,CSFbaseline:i.baselineVerbose,CGFtensorRules:t=>i.generateTensorRules(t,!1),CTFrelationIterator:a.relationIterator,CTFimplicitIterator:a.implicitIterator})}},7599:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.init=e.INIT_=void 0;const n=r(5425),o=r(9577),i=r(9284);e.INIT_=!1,e.init=function(){e.INIT_||((0,o.MathspeakRules)(),(0,n.ClearspeakRules)(),(0,i.PrefixRules)(),(0,i.OtherRules)(),(0,i.BrailleRules)(),e.INIT_=!0)}},7283:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.getStore=e.addStore=e.funcStore=void 0;const n=r(1676);e.funcStore=new Map,e.addStore=function(t,r,n){const o={};if(r){const t=e.funcStore.get(r)||{};Object.assign(o,t)}e.funcStore.set(t,Object.assign(o,n))},e.getStore=function(t,r,o){return e.funcStore.get([t,r,o].join("."))||e.funcStore.get([n.DynamicCstr.DEFAULT_VALUES[n.Axis.LOCALE],r,o].join("."))||e.funcStore.get([n.DynamicCstr.BASE_LOCALE,r,o].join("."))||{}}},7598:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.oneLeft=e.leftMostUnit=e.rightMostUnit=e.unitMultipliers=void 0;const n=r(7052),o=r(5274),i=r(4356);e.unitMultipliers=function(t,e){const r=t;let o=0;return function(){const t=n.AuditoryDescription.create({text:s(r[o])&&l(r[o+1])?i.LOCALE.MESSAGES.unitTimes:""},{});return o++,[t]}};const a=["superscript","subscript","overscore","underscore"];function s(t){for(;t;){if("unit"===t.getAttribute("role"))return!0;const e=t.tagName,r=o.evalXPath("children/*",t);t=-1!==a.indexOf(e)?r[0]:r[r.length-1]}return!1}function l(t){for(;t;){if("unit"===t.getAttribute("role"))return!0;t=o.evalXPath("children/*",t)[0]}return!1}e.rightMostUnit=s,e.leftMostUnit=l,e.oneLeft=function(t){for(;t;){if("number"===t.tagName&&"1"===t.textContent)return[t];if("infixop"!==t.tagName||"multiplication"!==t.getAttribute("role")&&"implicit"!==t.getAttribute("role"))return[];t=o.evalXPath("children/*",t)[0]}return[]}},3284:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractWalker=void 0;const n=r(7052),o=r(8290),i=r(5740),a=r(4440),s=r(6828),l=r(8496),c=r(2298),u=r(4356),p=r(2105),h=r(5656),d=r(9552),f=r(9543),m=r(8504),y=r(7730),g=r(1214),b=r(179),v=r(1204),_=r(5274);class S{constructor(t,e,r,n){this.node=t,this.generator=e,this.highlighter=r,this.modifier=!1,this.keyMapping=new Map([[l.KeyCode.UP,this.up.bind(this)],[l.KeyCode.DOWN,this.down.bind(this)],[l.KeyCode.RIGHT,this.right.bind(this)],[l.KeyCode.LEFT,this.left.bind(this)],[l.KeyCode.TAB,this.repeat.bind(this)],[l.KeyCode.DASH,this.expand.bind(this)],[l.KeyCode.SPACE,this.depth.bind(this)],[l.KeyCode.HOME,this.home.bind(this)],[l.KeyCode.X,this.summary.bind(this)],[l.KeyCode.Z,this.detail.bind(this)],[l.KeyCode.V,this.virtualize.bind(this)],[l.KeyCode.P,this.previous.bind(this)],[l.KeyCode.U,this.undo.bind(this)],[l.KeyCode.LESS,this.previousRules.bind(this)],[l.KeyCode.GREATER,this.nextRules.bind(this)]]),this.cursors=[],this.xml_=null,this.rebuilt_=null,this.focus_=null,this.active_=!1,this.node.id?this.id=this.node.id:this.node.hasAttribute(S.SRE_ID_ATTR)?this.id=this.node.getAttribute(S.SRE_ID_ATTR):(this.node.setAttribute(S.SRE_ID_ATTR,S.ID_COUNTER.toString()),this.id=S.ID_COUNTER++),this.rootNode=v.getSemanticRoot(t),this.rootId=this.rootNode.getAttribute(c.Attribute.ID),this.xmlString_=n,this.moved=b.WalkerMoves.ENTER}getXml(){return this.xml_||(this.xml_=i.parseInput(this.xmlString_)),this.xml_}getRebuilt(){return this.rebuilt_||this.rebuildStree(),this.rebuilt_}isActive(){return this.active_}activate(){this.isActive()||(this.generator.start(),this.toggleActive_())}deactivate(){this.isActive()&&(b.WalkerState.setState(this.id,this.primaryId()),this.generator.end(),this.toggleActive_())}getFocus(t=!1){return this.focus_||(this.focus_=this.singletonFocus(this.rootId)),t&&this.updateFocus(),this.focus_}setFocus(t){this.focus_=t}getDepth(){return this.levels.depth()-1}isSpeech(){return this.generator.modality===c.Attribute.SPEECH}focusDomNodes(){return this.getFocus().getDomNodes()}focusSemanticNodes(){return this.getFocus().getSemanticNodes()}speech(){const t=this.focusDomNodes();if(!t.length)return"";const e=this.specialMove();if(null!==e)return e;switch(this.moved){case b.WalkerMoves.DEPTH:return this.depth_();case b.WalkerMoves.SUMMARY:return this.summary_();case b.WalkerMoves.DETAIL:return this.detail_();default:{const e=[],r=this.focusSemanticNodes();for(let n=0,o=t.length;n0}restoreState(){if(!this.highlighter)return;const t=b.WalkerState.getState(this.id);if(!t)return;let e=this.getRebuilt().nodeDict[t];const r=[];for(;e;)r.push(e.id),e=e.parent;for(r.pop();r.length>0;){this.down();const t=r.pop(),e=this.findFocusOnLevel(t);if(!e)break;this.setFocus(e)}this.moved=b.WalkerMoves.ENTER}updateFocus(){this.setFocus(y.Focus.factory(this.getFocus().getSemanticPrimary().id.toString(),this.getFocus().getSemanticNodes().map((t=>t.id.toString())),this.getRebuilt(),this.node))}rebuildStree(){this.rebuilt_=new g.RebuildStree(this.getXml()),this.rootId=this.rebuilt_.stree.root.id.toString(),this.generator.setRebuilt(this.rebuilt_),this.skeleton=h.SemanticSkeleton.fromTree(this.rebuilt_.stree),this.skeleton.populate(),this.focus_=this.singletonFocus(this.rootId),this.levels=this.initLevels(),f.connectMactions(this.node,this.getXml(),this.rebuilt_.xml)}previousLevel(){const t=this.getFocus().getDomPrimary();return t?v.getAttribute(t,c.Attribute.PARENT):this.getFocus().getSemanticPrimary().parent.id.toString()}nextLevel(){const t=this.getFocus().getDomPrimary();let e,r;if(t){e=v.splitAttribute(v.getAttribute(t,c.Attribute.CHILDREN)),r=v.splitAttribute(v.getAttribute(t,c.Attribute.CONTENT));const n=v.getAttribute(t,c.Attribute.TYPE),o=v.getAttribute(t,c.Attribute.ROLE);return this.combineContentChildren(n,o,r,e)}const n=t=>t.id.toString(),o=this.getRebuilt().nodeDict[this.primaryId()];return e=o.childNodes.map(n),r=o.contentNodes.map(n),0===e.length?[]:this.combineContentChildren(o.type,o.role,r,e)}singletonFocus(t){this.getRebuilt();const e=this.retrieveVisuals(t);return this.focusFromId(t,e)}retrieveVisuals(t){if(!this.skeleton)return[t];const e=parseInt(t,10),r=this.skeleton.subtreeNodes(e);if(!r.length)return[t];r.unshift(e);const n={},o=[];_.updateEvaluator(this.getXml());for(const t of r)n[t]||(o.push(t.toString()),n[t]=!0,this.subtreeIds(t,n));return o}subtreeIds(t,e){const r=_.evalXPath(`//*[@data-semantic-id="${t}"]`,this.getXml());_.evalXPath("*//@data-semantic-id",r[0]).forEach((t=>e[parseInt(t.textContent,10)]=!0))}focusFromId(t,e){return y.Focus.factory(t,e,this.getRebuilt(),this.node)}summary(){return this.moved=this.isSpeech()?b.WalkerMoves.SUMMARY:b.WalkerMoves.REPEAT,this.getFocus().clone()}detail(){return this.moved=this.isSpeech()?b.WalkerMoves.DETAIL:b.WalkerMoves.REPEAT,this.getFocus().clone()}specialMove(){return null}virtualize(t){return this.cursors.push({focus:this.getFocus(),levels:this.levels,undo:t||!this.cursors.length}),this.levels=this.levels.clone(),this.getFocus().clone()}previous(){const t=this.cursors.pop();return t?(this.levels=t.levels,t.focus):this.getFocus()}undo(){let t;do{t=this.cursors.pop()}while(t&&!t.undo);return t?(this.levels=t.levels,t.focus):this.getFocus()}update(t){this.generator.setOptions(t),(0,s.setup)(t).then((()=>d.generator("Tree").getSpeech(this.node,this.getXml())))}nextRules(){const t=this.generator.getOptions();return"speech"!==t.modality?this.getFocus():(a.DOMAIN_TO_STYLES[t.domain]=t.style,t.domain="mathspeak"===t.domain?"clearspeak":"mathspeak",t.style=a.DOMAIN_TO_STYLES[t.domain],this.update(t),this.moved=b.WalkerMoves.REPEAT,this.getFocus().clone())}nextStyle(t,e){if("mathspeak"===t){const t=["default","brief","sbrief"],r=t.indexOf(e);return-1===r?e:r>=t.length-1?t[0]:t[r+1]}if("clearspeak"===t){const t=m.ClearspeakPreferences.getLocalePreferences().en;if(!t)return"default";const r=m.ClearspeakPreferences.relevantPreferences(this.getFocus().getSemanticPrimary()),n=m.ClearspeakPreferences.findPreference(e,r),o=t[r].map((function(t){return t.split("_")[1]})),i=o.indexOf(n);if(-1===i)return e;const a=i>=o.length-1?o[0]:o[i+1];return m.ClearspeakPreferences.addPreference(e,r,a)}return e}previousRules(){const t=this.generator.getOptions();return"speech"!==t.modality?this.getFocus():(t.style=this.nextStyle(t.domain,t.style),this.update(t),this.moved=b.WalkerMoves.REPEAT,this.getFocus().clone())}refocus(){let t,e=this.getFocus();for(;!e.getNodes().length;){t=this.levels.peek();const r=this.up();if(!r)break;this.setFocus(r),e=this.getFocus(!0)}this.levels.push(t),this.setFocus(e)}toggleActive_(){this.active_=!this.active_}mergePrefix_(t,e=[]){const r=this.isSpeech()?this.prefix_():"";r&&t.unshift(r);const n=this.isSpeech()?this.postfix_():"";return n&&t.push(n),o.finalize(o.merge(e.concat(t)))}prefix_(){const t=this.getFocus().getDomNodes(),e=this.getFocus().getSemanticNodes();return t[0]?v.getAttribute(t[0],c.Attribute.PREFIX):f.retrievePrefix(e[0])}postfix_(){const t=this.getFocus().getDomNodes();return t[0]?v.getAttribute(t[0],c.Attribute.POSTFIX):""}depth_(){const t=p.Grammar.getInstance().getParameter("depth");p.Grammar.getInstance().setParameter("depth",!0);const e=this.getFocus().getDomPrimary(),r=this.expandable(e)?u.LOCALE.MESSAGES.navigate.EXPANDABLE:this.collapsible(e)?u.LOCALE.MESSAGES.navigate.COLLAPSIBLE:"",i=u.LOCALE.MESSAGES.navigate.LEVEL+" "+this.getDepth(),a=this.getFocus().getSemanticNodes(),s=f.retrievePrefix(a[0]),l=[new n.AuditoryDescription({text:i,personality:{}}),new n.AuditoryDescription({text:s,personality:{}}),new n.AuditoryDescription({text:r,personality:{}})];return p.Grammar.getInstance().setParameter("depth",t),o.finalize(o.markup(l))}actionable_(t){const e=null==t?void 0:t.parentNode;return e&&this.highlighter.isMactionNode(e)?e:null}summary_(){const t=this.getFocus().getSemanticPrimary().id.toString(),e=this.getRebuilt().xml.getAttribute("id")===t?this.getRebuilt().xml:i.querySelectorAllByAttrValue(this.getRebuilt().xml,"id",t)[0],r=f.retrieveSummary(e);return this.mergePrefix_([r])}detail_(){const t=this.getFocus().getSemanticPrimary().id.toString(),e=this.getRebuilt().xml.getAttribute("id")===t?this.getRebuilt().xml:i.querySelectorAllByAttrValue(this.getRebuilt().xml,"id",t)[0],r=e.getAttribute("alternative");e.removeAttribute("alternative");const n=f.computeMarkup(e),o=this.mergePrefix_([n]);return e.setAttribute("alternative",r),o}}e.AbstractWalker=S,S.ID_COUNTER=0,S.SRE_ID_ATTR="sre-explorer-id"},162:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.DummyWalker=void 0;const n=r(3284);class o extends n.AbstractWalker{up(){return null}down(){return null}left(){return null}right(){return null}repeat(){return null}depth(){return null}home(){return null}getDepth(){return 0}initLevels(){return null}combineContentChildren(t,e,r,n){return[]}findFocusOnLevel(t){return null}}e.DummyWalker=o},7730:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.Focus=void 0;const n=r(1204);class o{constructor(t,e){this.nodes=t,this.primary=e,this.domNodes=[],this.domPrimary_=null,this.allNodes=[]}static factory(t,e,r,i){const a=t=>n.getBySemanticId(i,t),s=r.nodeDict,l=a(t),c=e.map(a),u=e.map((function(t){return s[t]})),p=new o(u,s[t]);return p.domNodes=c,p.domPrimary_=l,p.allNodes=o.generateAllVisibleNodes_(e,c,s,i),p}static generateAllVisibleNodes_(t,e,r,i){const a=t=>n.getBySemanticId(i,t);let s=[];for(let n=0,l=t.length;n=e.length?null:e[t]}depth(){return this.level_.length}clone(){const t=new r;return t.level_=this.level_.slice(0),t}toString(){let t="";for(let e,r=0;e=this.level_[r];r++)t+="\n"+e.map((function(t){return t.toString()}));return t}}e.Levels=r},1214:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.RebuildStree=void 0;const n=r(5740),o=r(2298),i=r(3588),a=r(6537),s=r(3308),l=r(5656),c=r(7075),u=r(4795),p=r(1204);class h{constructor(t){this.mathml=t,this.factory=new a.SemanticNodeFactory,this.nodeDict={},this.mmlRoot=p.getSemanticRoot(t),this.streeRoot=this.assembleTree(this.mmlRoot),this.stree=c.SemanticTree.fromNode(this.streeRoot,this.mathml),this.xml=this.stree.xml(),s.default.getInstance().setNodeFactory(this.factory)}static addAttributes(t,e,r){r&&1===e.childNodes.length&&e.childNodes[0].nodeType!==n.NodeType.TEXT_NODE&&u.addAttributes(t,e.childNodes[0]),u.addAttributes(t,e)}static textContent(t,e,r){if(!r&&e.textContent)return void(t.textContent=e.textContent);const n=p.splitAttribute(p.getAttribute(e,o.Attribute.OPERATOR));n.length>1&&(t.textContent=n[1])}static isPunctuated(t){return!l.SemanticSkeleton.simpleCollapseStructure(t)&&t[1]&&l.SemanticSkeleton.contentCollapseStructure(t[1])}getTree(){return this.stree}assembleTree(t){const e=this.makeNode(t),r=p.splitAttribute(p.getAttribute(t,o.Attribute.CHILDREN)),n=p.splitAttribute(p.getAttribute(t,o.Attribute.CONTENT));if(h.addAttributes(e,t,!(r.length||n.length)),0===n.length&&0===r.length)return h.textContent(e,t),e;if(n.length>0){const t=p.getBySemanticId(this.mathml,n[0]);t&&h.textContent(e,t,!0)}e.contentNodes=n.map((t=>this.setParent(t,e))),e.childNodes=r.map((t=>this.setParent(t,e)));const i=p.getAttribute(t,o.Attribute.COLLAPSED);return i?this.postProcess(e,i):e}makeNode(t){const e=p.getAttribute(t,o.Attribute.TYPE),r=p.getAttribute(t,o.Attribute.ROLE),n=p.getAttribute(t,o.Attribute.FONT),i=p.getAttribute(t,o.Attribute.ANNOTATION)||"",a=p.getAttribute(t,o.Attribute.ID),s=p.getAttribute(t,o.Attribute.EMBELLISHED),l=p.getAttribute(t,o.Attribute.FENCEPOINTER),c=this.createNode(parseInt(a,10));return c.type=e,c.role=r,c.font=n||"unknown",c.parseAnnotation(i),l&&(c.fencePointer=l),s&&(c.embellished=s),c}makePunctuation(t){const e=this.createNode(t);return e.updateContent((0,i.invisibleComma)()),e.role="dummy",e}makePunctuated(t,e,r){const n=this.createNode(e[0]);n.type="punctuated",n.embellished=t.embellished,n.fencePointer=t.fencePointer,n.role=r;const o=e.splice(1,1)[0].slice(1);n.contentNodes=o.map(this.makePunctuation.bind(this)),this.collapsedChildren_(e)}makeEmpty(t,e,r){const n=this.createNode(e);n.type="empty",n.embellished=t.embellished,n.fencePointer=t.fencePointer,n.role=r}makeIndex(t,e,r){if(h.isPunctuated(e))return this.makePunctuated(t,e,r),void(e=e[0]);l.SemanticSkeleton.simpleCollapseStructure(e)&&!this.nodeDict[e.toString()]&&this.makeEmpty(t,e,r)}postProcess(t,e){const r=l.SemanticSkeleton.fromString(e).array;if("subsup"===t.type){const e=this.createNode(r[1][0]);return e.type="subscript",e.role="subsup",t.type="superscript",e.embellished=t.embellished,e.fencePointer=t.fencePointer,this.makeIndex(t,r[1][2],"rightsub"),this.makeIndex(t,r[2],"rightsuper"),this.collapsedChildren_(r),t}if("subscript"===t.type)return this.makeIndex(t,r[2],"rightsub"),this.collapsedChildren_(r),t;if("superscript"===t.type)return this.makeIndex(t,r[2],"rightsuper"),this.collapsedChildren_(r),t;if("tensor"===t.type)return this.makeIndex(t,r[2],"leftsub"),this.makeIndex(t,r[3],"leftsuper"),this.makeIndex(t,r[4],"rightsub"),this.makeIndex(t,r[5],"rightsuper"),this.collapsedChildren_(r),t;if("punctuated"===t.type){if(h.isPunctuated(r)){const e=r.splice(1,1)[0].slice(1);t.contentNodes=e.map(this.makePunctuation.bind(this))}return t}if("underover"===t.type){const e=this.createNode(r[1][0]);return"overaccent"===t.childNodes[1].role?(e.type="overscore",t.type="underscore"):(e.type="underscore",t.type="overscore"),e.role="underover",e.embellished=t.embellished,e.fencePointer=t.fencePointer,this.collapsedChildren_(r),t}return t}createNode(t){const e=this.factory.makeNode(t);return this.nodeDict[t.toString()]=e,e}collapsedChildren_(t){const e=t=>{const r=this.nodeDict[t[0]];r.childNodes=[];for(let n=1,o=t.length;ne.getSemanticPrimary().id===t))}}e.SemanticWalker=i},9806:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.SyntaxWalker=void 0;const n=r(707),o=r(3284),i=r(9797);class a extends o.AbstractWalker{constructor(t,e,r,n){super(t,e,r,n),this.node=t,this.generator=e,this.highlighter=r,this.levels=null,this.restoreState()}initLevels(){const t=new i.Levels;return t.push([this.primaryId()]),t}up(){super.up();const t=this.previousLevel();return t?(this.levels.pop(),this.singletonFocus(t)):null}down(){super.down();const t=this.nextLevel();if(0===t.length)return null;const e=this.singletonFocus(t[0]);return e&&this.levels.push(t),e}combineContentChildren(t,e,r,o){switch(t){case"relseq":case"infixop":case"multirel":return(0,n.interleaveLists)(o,r);case"prefixop":return r.concat(o);case"postfixop":return o.concat(r);case"matrix":case"vector":case"fenced":return o.unshift(r[0]),o.push(r[1]),o;case"cases":return o.unshift(r[0]),o;case"punctuated":return"text"===e?(0,n.interleaveLists)(o,r):o;case"appl":return[o[0],r[0],o[1]];case"root":return[o[1],o[0]];default:return o}}left(){super.left();const t=this.levels.indexOf(this.primaryId());if(null===t)return null;const e=this.levels.get(t-1);return e?this.singletonFocus(e):null}right(){super.right();const t=this.levels.indexOf(this.primaryId());if(null===t)return null;const e=this.levels.get(t+1);return e?this.singletonFocus(e):null}findFocusOnLevel(t){return this.singletonFocus(t.toString())}focusDomNodes(){return[this.getFocus().getDomPrimary()]}focusSemanticNodes(){return[this.getFocus().getSemanticPrimary()]}}e.SyntaxWalker=a},1799:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.TableWalker=void 0;const n=r(5740),o=r(8496),i=r(9806),a=r(179);class s extends i.SyntaxWalker{constructor(t,e,r,n){super(t,e,r,n),this.node=t,this.generator=e,this.highlighter=r,this.firstJump=null,this.key_=null,this.row_=0,this.currentTable_=null,this.keyMapping.set(o.KeyCode.ZERO,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.ONE,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.TWO,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.THREE,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.FOUR,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.FIVE,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.SIX,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.SEVEN,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.EIGHT,this.jumpCell.bind(this)),this.keyMapping.set(o.KeyCode.NINE,this.jumpCell.bind(this))}move(t){this.key_=t;const e=super.move(t);return this.modifier=!1,e}up(){return this.moved=a.WalkerMoves.UP,this.eligibleCell_()?this.verticalMove_(!1):super.up()}down(){return this.moved=a.WalkerMoves.DOWN,this.eligibleCell_()?this.verticalMove_(!0):super.down()}jumpCell(){if(!this.isInTable_()||null===this.key_)return this.getFocus();if(this.moved===a.WalkerMoves.ROW){this.moved=a.WalkerMoves.CELL;const t=this.key_-o.KeyCode.ZERO;return this.isLegalJump_(this.row_,t)?this.jumpCell_(this.row_,t):this.getFocus()}const t=this.key_-o.KeyCode.ZERO;return t>this.currentTable_.childNodes.length?this.getFocus():(this.row_=t,this.moved=a.WalkerMoves.ROW,this.getFocus().clone())}undo(){const t=super.undo();return t===this.firstJump&&(this.firstJump=null),t}eligibleCell_(){const t=this.getFocus().getSemanticPrimary();return this.modifier&&"cell"===t.type&&-1!==s.ELIGIBLE_CELL_ROLES.indexOf(t.role)}verticalMove_(t){const e=this.previousLevel();if(!e)return null;const r=this.getFocus(),n=this.levels.indexOf(this.primaryId()),o=this.levels.pop(),i=this.levels.indexOf(e),a=this.levels.get(t?i+1:i-1);if(!a)return this.levels.push(o),null;this.setFocus(this.singletonFocus(a));const s=this.nextLevel();return s[n]?(this.levels.push(s),this.singletonFocus(s[n])):(this.setFocus(r),this.levels.push(o),null)}jumpCell_(t,e){this.firstJump?this.virtualize(!1):(this.firstJump=this.getFocus(),this.virtualize(!0));const r=this.currentTable_.id.toString();let n;do{n=this.levels.pop()}while(-1===n.indexOf(r));this.levels.push(n),this.setFocus(this.singletonFocus(r)),this.levels.push(this.nextLevel());const o=this.currentTable_.childNodes[t-1];return this.setFocus(this.singletonFocus(o.id.toString())),this.levels.push(this.nextLevel()),this.singletonFocus(o.childNodes[e-1].id.toString())}isLegalJump_(t,e){const r=n.querySelectorAllByAttrValue(this.getRebuilt().xml,"id",this.currentTable_.id.toString())[0];if(!r||r.hasAttribute("alternative"))return!1;const o=this.currentTable_.childNodes[t-1];if(!o)return!1;const i=n.querySelectorAllByAttrValue(r,"id",o.id.toString())[0];return!(!i||i.hasAttribute("alternative"))&&!(!o||!o.childNodes[e-1])}isInTable_(){let t=this.getFocus().getSemanticPrimary();for(;t;){if(-1!==s.ELIGIBLE_TABLE_TYPES.indexOf(t.type))return this.currentTable_=t,!0;t=t.parent}return!1}}e.TableWalker=s,s.ELIGIBLE_CELL_ROLES=["determinant","rowvector","binomial","squarematrix","multiline","matrix","vector","cases","table"],s.ELIGIBLE_TABLE_TYPES=["multiline","matrix","vector","cases","table"]},179:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.WalkerState=e.WalkerMoves=void 0,function(t){t.UP="up",t.DOWN="down",t.LEFT="left",t.RIGHT="right",t.REPEAT="repeat",t.DEPTH="depth",t.ENTER="enter",t.EXPAND="expand",t.HOME="home",t.SUMMARY="summary",t.DETAIL="detail",t.ROW="row",t.CELL="cell"}(e.WalkerMoves||(e.WalkerMoves={}));class r{static resetState(t){delete r.STATE[t]}static setState(t,e){r.STATE[t]=e}static getState(t){return r.STATE[t]}}e.WalkerState=r,r.STATE={}},3362:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.walkerMapping_=e.walker=void 0;const n=r(162),o=r(6295),i=r(9806),a=r(1799);e.walker=function(t,r,n,o,i){return(e.walkerMapping_[t.toLowerCase()]||e.walkerMapping_.dummy)(r,n,o,i)},e.walkerMapping_={dummy:(t,e,r,o)=>new n.DummyWalker(t,e,r,o),semantic:(t,e,r,n)=>new o.SemanticWalker(t,e,r,n),syntax:(t,e,r,n)=>new i.SyntaxWalker(t,e,r,n),table:(t,e,r,n)=>new a.TableWalker(t,e,r,n)}},1204:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.getBySemanticId=e.getSemanticRoot=e.getAttribute=e.splitAttribute=void 0;const n=r(5740),o=r(2298);e.splitAttribute=function(t){return t?t.split(/,/):[]},e.getAttribute=function(t,e){return t.getAttribute(e)},e.getSemanticRoot=function(t){if(t.hasAttribute(o.Attribute.TYPE)&&!t.hasAttribute(o.Attribute.PARENT))return t;const e=n.querySelectorAllByAttr(t,o.Attribute.TYPE);for(let t,r=0;t=e[r];r++)if(!t.hasAttribute(o.Attribute.PARENT))return t;return t},e.getBySemanticId=function(t,e){return t.getAttribute(o.Attribute.ID)===e?t:n.querySelectorAllByAttrValue(t,o.Attribute.ID,e)[0]}}},__webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var r=__webpack_module_cache__[t]={exports:{}};return __webpack_modules__[t].call(r.exports,r,r.exports,__webpack_require__),r.exports}__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}();var __webpack_exports__={};!function(){var t=__webpack_require__(9515),e=__webpack_require__(3282),r=__webpack_require__(235),n=__webpack_require__(265),o=__webpack_require__(2388);function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(MathJax.startup){e&&(MathJax.startup.registerConstructor("tex",MathJax._.input.tex_ts.TeX),MathJax.startup.useInput("tex")),MathJax.config.tex||(MathJax.config.tex={});var r=MathJax.config.tex.packages;MathJax.config.tex.packages=t,r&&(0,Ot.insert)(MathJax.config.tex,{packages:r})}}function ar(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0)&&!(n=i.next()).done;)o.push(n.value)}catch(t){a={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(a)throw a.error}}return o},l=this&&this.__spreadArray||function(t,e,r){if(r||2===arguments.length)for(var n,a=0,i=e.length;a=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.SafeHandler=e.SafeMathDocumentMixin=void 0;var f=r(477);function u(t){var e;return e=function(t){function e(){for(var e,r,n=[],a=0;a=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},a=this&&this.__read||function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,a,i=r.call(t),o=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)o.push(n.value)}catch(t){a={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(a)throw a.error}}return o};Object.defineProperty(e,"__esModule",{value:!0}),e.SafeMethods=void 0;var i=r(914);e.SafeMethods={filterURL:function(t,e){var r=(e.match(/^\s*([a-z]+):/i)||[null,""])[1].toLowerCase(),n=t.allow.URLs;return"all"===n||"safe"===n&&(t.options.safeProtocols[r]||!r)?e:null},filterClassList:function(t,e){var r=this;return e.trim().replace(/\s\s+/g," ").split(/ /).map((function(e){return r.filterClass(t,e)||""})).join(" ").trim().replace(/\s\s+/g,"")},filterClass:function(t,e){var r=t.allow.classes;return"all"===r||"safe"===r&&e.match(t.options.classPattern)?e:null},filterID:function(t,e){var r=t.allow.cssIDs;return"all"===r||"safe"===r&&e.match(t.options.idPattern)?e:null},filterStyles:function(t,e){var r,a,i,o;if("all"===t.allow.styles)return e;if("safe"!==t.allow.styles)return null;var l=t.adaptor,s=t.options;try{var f=l.node("div",{style:e}),u=l.node("div");try{for(var p=n(Object.keys(s.safeStyles)),c=p.next();!c.done;c=p.next()){var h=c.value;if(s.styleParts[h])try{for(var d=(i=void 0,n(["Top","Right","Bottom","Left"])),y=d.next();!y.done;y=d.next()){var m,v=h+y.value;(m=this.filterStyle(t,v,f))&&l.setStyle(u,v,m)}}catch(t){i={error:t}}finally{try{y&&!y.done&&(o=d.return)&&o.call(d)}finally{if(i)throw i.error}}else(m=this.filterStyle(t,h,f))&&l.setStyle(u,h,m)}}catch(t){r={error:t}}finally{try{c&&!c.done&&(a=p.return)&&a.call(p)}finally{if(r)throw r.error}}e=l.allStyles(u)}catch(t){e=""}return e},filterStyle:function(t,e,r){var n=t.adaptor.getStyle(r,e);if("string"!=typeof n||""===n||n.match(/^\s*calc/)||n.match(/javascript:/)&&!t.options.safeProtocols.javascript||n.match(/data:/)&&!t.options.safeProtocols.data)return null;var a=e.replace(/Top|Right|Left|Bottom/,"");return t.options.safeStyles[e]||t.options.safeStyles[a]?this.filterStyleValue(t,e,n,r):null},filterStyleValue:function(t,e,r,n){var a=t.options.styleLengths[e];if(!a)return r;if("string"!=typeof a)return this.filterStyleLength(t,e,r);var i=this.filterStyleLength(t,a,t.adaptor.getStyle(n,a));return i?(t.adaptor.setStyle(n,a,i),t.adaptor.getStyle(n,e)):null},filterStyleLength:function(t,e,r){if(!r.match(/^(.+)(em|ex|ch|rem|px|mm|cm|in|pt|pc|%)$/))return null;var n=(0,i.length2em)(r,1),o=t.options.styleLengths[e],l=a(Array.isArray(o)?o:[-t.options.lengthMax,t.options.lengthMax],2),s=l[0],f=l[1];return s<=n&&n<=f?r:(n=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.Safe=void 0;var i=r(77),o=r(509),l=function(){function t(t,e){this.filterAttributes=new Map([["href","filterURL"],["src","filterURL"],["altimg","filterURL"],["class","filterClassList"],["style","filterStyles"],["id","filterID"],["fontsize","filterFontSize"],["mathsize","filterFontSize"],["scriptminsize","filterFontSize"],["scriptsizemultiplier","filterSizeMultiplier"],["scriptlevel","filterScriptLevel"],["data-","filterData"]]),this.filterMethods=n({},o.SafeMethods),this.adaptor=t.adaptor,this.options=e,this.allow=this.options.allow}return t.prototype.sanitize=function(t,e){try{t.root.walkTree(this.sanitizeNode.bind(this))}catch(r){e.options.compileError(e,t,r)}},t.prototype.sanitizeNode=function(t){var e,r,n=t.attributes.getAllAttributes();try{for(var i=a(Object.keys(n)),o=i.next();!o.done;o=i.next()){var l=o.value,s=this.filterAttributes.get(l);if(s){var f=this.filterMethods[s](this,n[l]);f?f!==("number"==typeof f?parseFloat(n[l]):n[l])&&(n[l]=f):delete n[l]}}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},t.prototype.mmlAttribute=function(t,e){if("class"===t)return null;var r=this.filterAttributes.get(t)||("data-"===t.substr(0,5)?this.filterAttributes.get("data-"):null);if(!r)return e;var n=this.filterMethods[r](this,e,t);return"number"==typeof n||"boolean"==typeof n?String(n):n},t.prototype.mmlClassList=function(t){var e=this;return t.map((function(t){return e.filterMethods.filterClass(e,t)})).filter((function(t){return null!==t}))},t.OPTIONS={allow:{URLs:"safe",classes:"safe",cssIDs:"safe",styles:"safe"},lengthMax:3,scriptsizemultiplierRange:[.6,1],scriptlevelRange:[-2,2],classPattern:/^mjx-[-a-zA-Z0-9_.]+$/,idPattern:/^mjx-[-a-zA-Z0-9_.]+$/,dataPattern:/^data-mjx-/,safeProtocols:(0,i.expandable)({http:!0,https:!0,file:!0,javascript:!1,data:!1}),safeStyles:(0,i.expandable)({color:!0,backgroundColor:!0,border:!0,cursor:!0,margin:!0,padding:!0,textShadow:!0,fontFamily:!0,fontSize:!0,fontStyle:!0,fontWeight:!0,opacity:!0,outline:!0}),styleParts:(0,i.expandable)({border:!0,padding:!0,margin:!0,outline:!0}),styleLengths:(0,i.expandable)({borderTop:"borderTopWidth",borderRight:"borderRightWidth",borderBottom:"borderBottomWidth",borderLeft:"borderLeftWidth",paddingTop:!0,paddingRight:!0,paddingBottom:!0,paddingLeft:!0,marginTop:!0,marginRight:!0,marginBottom:!0,marginLeft:!0,outlineTop:!0,outlineRight:!0,outlineBottom:!0,outlineLeft:!0,fontSize:[.707,1.44]})},t}();e.Safe=l},723:function(t,e){MathJax._.components.global.isObject,MathJax._.components.global.combineConfig,MathJax._.components.global.combineDefaults,e.r8=MathJax._.components.global.combineWithMathJax,MathJax._.components.global.MathJax},77:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.isObject=MathJax._.util.Options.isObject,e.APPEND=MathJax._.util.Options.APPEND,e.REMOVE=MathJax._.util.Options.REMOVE,e.OPTIONS=MathJax._.util.Options.OPTIONS,e.Expandable=MathJax._.util.Options.Expandable,e.expandable=MathJax._.util.Options.expandable,e.makeArray=MathJax._.util.Options.makeArray,e.keys=MathJax._.util.Options.keys,e.copy=MathJax._.util.Options.copy,e.insert=MathJax._.util.Options.insert,e.defaultOptions=MathJax._.util.Options.defaultOptions,e.userOptions=MathJax._.util.Options.userOptions,e.selectOptions=MathJax._.util.Options.selectOptions,e.selectOptionsFromKeys=MathJax._.util.Options.selectOptionsFromKeys,e.separateOptions=MathJax._.util.Options.separateOptions,e.lookup=MathJax._.util.Options.lookup},914:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.BIGDIMEN=MathJax._.util.lengths.BIGDIMEN,e.UNITS=MathJax._.util.lengths.UNITS,e.RELUNITS=MathJax._.util.lengths.RELUNITS,e.MATHSPACE=MathJax._.util.lengths.MATHSPACE,e.length2em=MathJax._.util.lengths.length2em,e.percent=MathJax._.util.lengths.percent,e.em=MathJax._.util.lengths.em,e.emRounded=MathJax._.util.lengths.emRounded,e.px=MathJax._.util.lengths.px}},o={};function l(t){var e=o[t];if(void 0!==e)return e.exports;var r=o[t]={exports:{}};return i[t].call(r.exports,r,r.exports,l),r.exports}t=l(723),e=l(306),r=l(63),n=l(509),a=l(477),MathJax.loader&&MathJax.loader.checkVersion("ui/safe",e.q,"ui"),(0,t.r8)({_:{ui:{safe:{SafeHandler:r,SafeMethods:n,safe:a}}}}),MathJax.startup&&"undefined"!=typeof window&&MathJax.startup.extendHandler((function(t){return(0,r.SafeHandler)(t)}))}(); // Source: https://unpkg.com/mermaid@11.4.1/dist/mermaid.min.js // Manual patch: Search for `"break-spaces"`, look behind and replace `return f.width===r&&` with `return Math.round(f.width)===Math.round(r)&&`. "use strict";var __esbuild_esm_mermaid=(()=>{var cxe=Object.create;var R1=Object.defineProperty;var uxe=Object.getOwnPropertyDescriptor;var hxe=Object.getOwnPropertyNames;var fxe=Object.getPrototypeOf,dxe=Object.prototype.hasOwnProperty;var o=(t,e)=>R1(t,"name",{value:e,configurable:!0});var M=(t,e)=>()=>(t&&(e=t(t=0)),e);var Ni=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),vr=(t,e)=>{for(var r in e)R1(t,r,{get:e[r],enumerable:!0})},Cb=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of hxe(e))!dxe.call(t,i)&&i!==r&&R1(t,i,{get:()=>e[i],enumerable:!(n=uxe(e,i))||n.enumerable});return t},Er=(t,e,r)=>(Cb(t,e,"default"),r&&Cb(r,e,"default")),ka=(t,e,r)=>(r=t!=null?cxe(fxe(t)):{},Cb(e||!t||!t.__esModule?R1(r,"default",{value:t,enumerable:!0}):r,t)),pxe=t=>Cb(R1({},"__esModule",{value:!0}),t);var Ab=Ni((wS,TS)=>{"use strict";(function(t,e){typeof wS=="object"&&typeof TS<"u"?TS.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(wS,function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",a="minute",s="hour",l="day",u="week",h="month",f="quarter",d="year",p="date",m="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:o(function(k){var R=["th","st","nd","rd"],S=k%100;return"["+k+(R[(S-20)%10]||R[S]||R[0])+"]"},"ordinal")},x=o(function(k,R,S){var O=String(k);return!O||O.length>=R?k:""+Array(R+1-O.length).join(S)+k},"m"),b={s:x,z:o(function(k){var R=-k.utcOffset(),S=Math.abs(R),O=Math.floor(S/60),N=S%60;return(R<=0?"+":"-")+x(O,2,"0")+":"+x(N,2,"0")},"z"),m:o(function k(R,S){if(R.date()1)return k(F[0])}else{var B=R.name;_[B]=R,N=B}return!O&&N&&(w=N),N||!O&&w},"t"),C=o(function(k,R){if(E(k))return k.clone();var S=typeof R=="object"?R:{};return S.date=k,S.args=arguments,new I(S)},"O"),A=b;A.l=L,A.i=E,A.w=function(k,R){return C(k,{locale:R.$L,utc:R.$u,x:R.$x,$offset:R.$offset})};var I=function(){function k(S){this.$L=L(S.locale,null,!0),this.parse(S),this.$x=this.$x||S.x||{},this[T]=!0}o(k,"M");var R=k.prototype;return R.parse=function(S){this.$d=function(O){var N=O.date,P=O.utc;if(N===null)return new Date(NaN);if(A.u(N))return new Date;if(N instanceof Date)return new Date(N);if(typeof N=="string"&&!/Z$/i.test(N)){var F=N.match(g);if(F){var B=F[2]-1||0,$=(F[7]||"0").substring(0,3);return P?new Date(Date.UTC(F[1],B,F[3]||1,F[4]||0,F[5]||0,F[6]||0,$)):new Date(F[1],B,F[3]||1,F[4]||0,F[5]||0,F[6]||0,$)}}return new Date(N)}(S),this.init()},R.init=function(){var S=this.$d;this.$y=S.getFullYear(),this.$M=S.getMonth(),this.$D=S.getDate(),this.$W=S.getDay(),this.$H=S.getHours(),this.$m=S.getMinutes(),this.$s=S.getSeconds(),this.$ms=S.getMilliseconds()},R.$utils=function(){return A},R.isValid=function(){return this.$d.toString()!==m},R.isSame=function(S,O){var N=C(S);return this.startOf(O)<=N&&N<=this.endOf(O)},R.isAfter=function(S,O){return C(S){"use strict";EF=ka(Ab(),1),jc={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},Y={trace:o((...t)=>{},"trace"),debug:o((...t)=>{},"debug"),info:o((...t)=>{},"info"),warn:o((...t)=>{},"warn"),error:o((...t)=>{},"error"),fatal:o((...t)=>{},"fatal")},M1=o(function(t="fatal"){let e=jc.fatal;typeof t=="string"?t.toLowerCase()in jc&&(e=jc[t]):typeof t=="number"&&(e=t),Y.trace=()=>{},Y.debug=()=>{},Y.info=()=>{},Y.warn=()=>{},Y.error=()=>{},Y.fatal=()=>{},e<=jc.fatal&&(Y.fatal=console.error?console.error.bind(console,bo("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",bo("FATAL"))),e<=jc.error&&(Y.error=console.error?console.error.bind(console,bo("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",bo("ERROR"))),e<=jc.warn&&(Y.warn=console.warn?console.warn.bind(console,bo("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",bo("WARN"))),e<=jc.info&&(Y.info=console.info?console.info.bind(console,bo("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",bo("INFO"))),e<=jc.debug&&(Y.debug=console.debug?console.debug.bind(console,bo("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",bo("DEBUG"))),e<=jc.trace&&(Y.trace=console.debug?console.debug.bind(console,bo("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",bo("TRACE")))},"setLogLevel"),bo=o(t=>`%c${(0,EF.default)().format("ss.SSS")} : ${t} : `,"format")});var mxe,Z0,kS,SF,_b=M(()=>{"use strict";mxe=Object.freeze({left:0,top:0,width:16,height:16}),Z0=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),kS=Object.freeze({...mxe,...Z0}),SF=Object.freeze({...kS,body:"",hidden:!1})});var gxe,CF,AF=M(()=>{"use strict";_b();gxe=Object.freeze({width:null,height:null}),CF=Object.freeze({...gxe,...Z0})});var Lb,ES,Db,_F=M(()=>{"use strict";Lb=/^[a-z0-9]+(-[a-z0-9]+)*$/,ES=o((t,e,r,n="")=>{let i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let l=i.pop(),u=i.pop(),h={provider:i.length>0?i[0]:n,prefix:u,name:l};return e&&!Db(h)?null:h}let a=i[0],s=a.split("-");if(s.length>1){let l={provider:n,prefix:s.shift(),name:s.join("-")};return e&&!Db(l)?null:l}if(r&&n===""){let l={provider:n,prefix:"",name:a};return e&&!Db(l,r)?null:l}return null},"stringToIcon"),Db=o((t,e)=>t?!!((t.provider===""||t.provider.match(Lb))&&(e&&t.prefix===""||t.prefix.match(Lb))&&t.name.match(Lb)):!1,"validateIconName")});function LF(t,e){let r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);let n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}var DF=M(()=>{"use strict";o(LF,"mergeIconTransformations")});function SS(t,e){let r=LF(t,e);for(let n in SF)n in Z0?n in t&&!(n in r)&&(r[n]=Z0[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}var NF=M(()=>{"use strict";_b();DF();o(SS,"mergeIconData")});function RF(t,e){let r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;let l=n[s]&&n[s].parent,u=l&&a(l);u&&(i[s]=[l].concat(u))}return i[s]}return o(a,"resolve"),(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}var MF=M(()=>{"use strict";o(RF,"getIconsTree")});function IF(t,e,r){let n=t.icons,i=t.aliases||Object.create(null),a={};function s(l){a=SS(n[l]||i[l],a)}return o(s,"parse"),s(e),r.forEach(s),SS(t,a)}function CS(t,e){if(t.icons[e])return IF(t,e,[]);let r=RF(t,[e])[e];return r?IF(t,e,r):null}var OF=M(()=>{"use strict";NF();MF();o(IF,"internalGetIconData");o(CS,"getIconData")});function AS(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;let n=t.split(yxe);if(n===null||!n.length)return t;let i=[],a=n.shift(),s=vxe.test(a);for(;;){if(s){let l=parseFloat(a);isNaN(l)?i.push(a):i.push(Math.ceil(l*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}var yxe,vxe,PF=M(()=>{"use strict";yxe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,vxe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;o(AS,"calculateSize")});function xxe(t,e="defs"){let r="",n=t.indexOf("<"+e);for(;n>=0;){let i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function bxe(t,e){return t?""+t+""+e:e}function BF(t,e,r){let n=xxe(t);return bxe(n.defs,e+n.content+r)}var FF=M(()=>{"use strict";o(xxe,"splitSVGDefs");o(bxe,"mergeDefsAndContent");o(BF,"wrapSVGContent")});function _S(t,e){let r={...kS,...t},n={...CF,...e},i={left:r.left,top:r.top,width:r.width,height:r.height},a=r.body;[r,n].forEach(y=>{let v=[],x=y.hFlip,b=y.vFlip,w=y.rotate;x?b?w+=2:(v.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),v.push("scale(-1 1)"),i.top=i.left=0):b&&(v.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),v.push("scale(1 -1)"),i.top=i.left=0);let _;switch(w<0&&(w-=Math.floor(w/4)*4),w=w%4,w){case 1:_=i.height/2+i.top,v.unshift("rotate(90 "+_.toString()+" "+_.toString()+")");break;case 2:v.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:_=i.width/2+i.left,v.unshift("rotate(-90 "+_.toString()+" "+_.toString()+")");break}w%2===1&&(i.left!==i.top&&(_=i.left,i.left=i.top,i.top=_),i.width!==i.height&&(_=i.width,i.width=i.height,i.height=_)),v.length&&(a=BF(a,'',""))});let s=n.width,l=n.height,u=i.width,h=i.height,f,d;s===null?(d=l===null?"1em":l==="auto"?h:l,f=AS(d,u/h)):(f=s==="auto"?u:s,d=l===null?AS(f,h/u):l==="auto"?h:l);let p={},m=o((y,v)=>{wxe(v)||(p[y]=v.toString())},"setAttr");m("width",f),m("height",d);let g=[i.left,i.top,u,h];return p.viewBox=g.join(" "),{attributes:p,viewBox:g,body:a}}var wxe,zF=M(()=>{"use strict";_b();AF();PF();FF();wxe=o(t=>t==="unset"||t==="undefined"||t==="none","isUnsetKeyword");o(_S,"iconToSVG")});function LS(t,e=kxe){let r=[],n;for(;n=Txe.exec(t);)r.push(n[1]);if(!r.length)return t;let i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return r.forEach(a=>{let s=typeof e=="function"?e(a):e+(Exe++).toString(),l=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+s+i+"$3")}),t=t.replace(new RegExp(i,"g"),""),t}var Txe,kxe,Exe,GF=M(()=>{"use strict";Txe=/\sid="(\S+)"/g,kxe="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16),Exe=0;o(LS,"replaceIDs")});function DS(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}var $F=M(()=>{"use strict";o(DS,"iconToHTML")});var UF=Ni((lst,VF)=>{"use strict";var J0=1e3,ep=J0*60,tp=ep*60,Ff=tp*24,Sxe=Ff*7,Cxe=Ff*365.25;VF.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return Axe(t);if(r==="number"&&isFinite(t))return e.long?Lxe(t):_xe(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Axe(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*Cxe;case"weeks":case"week":case"w":return r*Sxe;case"days":case"day":case"d":return r*Ff;case"hours":case"hour":case"hrs":case"hr":case"h":return r*tp;case"minutes":case"minute":case"mins":case"min":case"m":return r*ep;case"seconds":case"second":case"secs":case"sec":case"s":return r*J0;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}o(Axe,"parse");function _xe(t){var e=Math.abs(t);return e>=Ff?Math.round(t/Ff)+"d":e>=tp?Math.round(t/tp)+"h":e>=ep?Math.round(t/ep)+"m":e>=J0?Math.round(t/J0)+"s":t+"ms"}o(_xe,"fmtShort");function Lxe(t){var e=Math.abs(t);return e>=Ff?Nb(t,e,Ff,"day"):e>=tp?Nb(t,e,tp,"hour"):e>=ep?Nb(t,e,ep,"minute"):e>=J0?Nb(t,e,J0,"second"):t+" ms"}o(Lxe,"fmtLong");function Nb(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}o(Nb,"plural")});var WF=Ni((ust,HF)=>{"use strict";function Dxe(t){r.debug=r,r.default=r,r.coerce=u,r.disable=a,r.enable=i,r.enabled=s,r.humanize=UF(),r.destroy=h,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let d=0;for(let p=0;p{if(E==="%%")return"%";_++;let C=r.formatters[L];if(typeof C=="function"){let A=v[_];E=C.call(x,A),v.splice(_,1),_--}return E}),r.formatArgs.call(x,v),(x.log||r.log).apply(x,v)}return o(y,"debug"),y.namespace=f,y.useColors=r.useColors(),y.color=r.selectColor(f),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:o(()=>p!==null?p:(m!==r.namespaces&&(m=r.namespaces,g=r.enabled(f)),g),"get"),set:o(v=>{p=v},"set")}),typeof r.init=="function"&&r.init(y),y}o(r,"createDebug");function n(f,d){let p=r(this.namespace+(typeof d>"u"?":":d)+f);return p.log=this.log,p}o(n,"extend");function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let d,p=(typeof f=="string"?f:"").split(/[\s,]+/),m=p.length;for(d=0;d"-"+d)].join(",");return r.enable(""),f}o(a,"disable");function s(f){if(f[f.length-1]==="*")return!0;let d,p;for(d=0,p=r.skips.length;d{"use strict";Us.formatArgs=Rxe;Us.save=Mxe;Us.load=Ixe;Us.useColors=Nxe;Us.storage=Oxe();Us.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Us.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Nxe(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}o(Nxe,"useColors");function Rxe(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Rb.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}o(Rxe,"formatArgs");Us.log=console.debug||console.log||(()=>{});function Mxe(t){try{t?Us.storage.setItem("debug",t):Us.storage.removeItem("debug")}catch{}}o(Mxe,"save");function Ixe(){let t;try{t=Us.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}o(Ixe,"load");function Oxe(){try{return localStorage}catch{}}o(Oxe,"localstorage");Rb.exports=WF()(Us);var{formatters:Pxe}=Rb.exports;Pxe.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var dst,qF=M(()=>{"use strict";_F();OF();zF();GF();$F();dst=ka(YF(),1)});var RS,NS,XF,Mb,Bxe,wo,Kc=M(()=>{"use strict";ht();qF();RS={body:'?',height:80,width:80},NS=new Map,XF=new Map,Mb=o(t=>{for(let e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(Y.debug("Registering icon pack:",e.name),"loader"in e)XF.set(e.name,e.loader);else if("icons"in e)NS.set(e.name,e.icons);else throw Y.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),Bxe=o(async(t,e)=>{let r=ES(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);let n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=NS.get(n);if(!i){let s=XF.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},NS.set(n,i)}catch(l){throw Y.error(l),new Error(`Failed to load icon set: ${r.prefix}`)}}let a=CS(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),wo=o(async(t,e)=>{let r;try{r=await Bxe(t,e?.fallbackPrefix)}catch(a){Y.error(a),r=RS}let n=_S(r,e);return DS(LS(n.body),n.attributes)},"getIconSVG")});function Ib(t){for(var e=[],r=1;r{"use strict";o(Ib,"dedent")});var Ob,zf,jF,Pb=M(()=>{"use strict";Ob=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,zf=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,jF=/\s*%%.*\n/gm});var rp,IS=M(()=>{"use strict";rp=class extends Error{static{o(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}});var Gf,np,Bb,OS,KF,$f=M(()=>{"use strict";ht();Pb();IS();Gf={},np=o(function(t,e){t=t.replace(Ob,"").replace(zf,"").replace(jF,` `);for(let[r,{detector:n}]of Object.entries(Gf))if(n(t,e))return r;throw new rp(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),Bb=o((...t)=>{for(let{id:e,detector:r,loader:n}of t)OS(e,r,n)},"registerLazyLoadedDiagrams"),OS=o((t,e,r)=>{Gf[t]&&Y.warn(`Detector with key ${t} already exists. Overwriting.`),Gf[t]={detector:e,loader:r},Y.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),KF=o(t=>Gf[t].loader,"getDiagramLoader")});var I1,QF,PS=M(()=>{"use strict";I1=function(){var t=o(function(He,xe,X,fe){for(X=X||{},fe=He.length;fe--;X[He[fe]]=xe);return X},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],l=[1,64],u=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],m=[1,29],g=[1,30],y=[1,31],v=[1,32],x=[1,33],b=[1,34],w=[1,35],_=[1,36],T=[1,37],E=[1,38],L=[1,39],C=[1,40],A=[1,41],I=[1,42],D=[1,43],k=[1,44],R=[1,45],S=[1,46],O=[1,47],N=[1,48],P=[1,50],F=[1,51],B=[1,52],$=[1,53],z=[1,54],W=[1,55],j=[1,56],K=[1,57],ie=[1,58],Q=[1,59],ee=[1,60],J=[14,42],H=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],q=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Z=[1,82],ae=[1,83],ue=[1,84],ce=[1,85],te=[12,14,42],De=[12,14,33,42],oe=[12,14,33,42,76,77,79,80],ke=[12,33],Fe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Be={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:o(function(xe,X,fe,he,ge,ne,ye){var U=ne.length-1;switch(ge){case 3:he.setDirection("TB");break;case 4:he.setDirection("BT");break;case 5:he.setDirection("RL");break;case 6:he.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:he.setC4Type(ne[U-3]);break;case 19:he.setTitle(ne[U].substring(6)),this.$=ne[U].substring(6);break;case 20:he.setAccDescription(ne[U].substring(15)),this.$=ne[U].substring(15);break;case 21:this.$=ne[U].trim(),he.setTitle(this.$);break;case 22:case 23:this.$=ne[U].trim(),he.setAccDescription(this.$);break;case 28:ne[U].splice(2,0,"ENTERPRISE"),he.addPersonOrSystemBoundary(...ne[U]),this.$=ne[U];break;case 29:ne[U].splice(2,0,"SYSTEM"),he.addPersonOrSystemBoundary(...ne[U]),this.$=ne[U];break;case 30:he.addPersonOrSystemBoundary(...ne[U]),this.$=ne[U];break;case 31:ne[U].splice(2,0,"CONTAINER"),he.addContainerBoundary(...ne[U]),this.$=ne[U];break;case 32:he.addDeploymentNode("node",...ne[U]),this.$=ne[U];break;case 33:he.addDeploymentNode("nodeL",...ne[U]),this.$=ne[U];break;case 34:he.addDeploymentNode("nodeR",...ne[U]),this.$=ne[U];break;case 35:he.popBoundaryParseStack();break;case 39:he.addPersonOrSystem("person",...ne[U]),this.$=ne[U];break;case 40:he.addPersonOrSystem("external_person",...ne[U]),this.$=ne[U];break;case 41:he.addPersonOrSystem("system",...ne[U]),this.$=ne[U];break;case 42:he.addPersonOrSystem("system_db",...ne[U]),this.$=ne[U];break;case 43:he.addPersonOrSystem("system_queue",...ne[U]),this.$=ne[U];break;case 44:he.addPersonOrSystem("external_system",...ne[U]),this.$=ne[U];break;case 45:he.addPersonOrSystem("external_system_db",...ne[U]),this.$=ne[U];break;case 46:he.addPersonOrSystem("external_system_queue",...ne[U]),this.$=ne[U];break;case 47:he.addContainer("container",...ne[U]),this.$=ne[U];break;case 48:he.addContainer("container_db",...ne[U]),this.$=ne[U];break;case 49:he.addContainer("container_queue",...ne[U]),this.$=ne[U];break;case 50:he.addContainer("external_container",...ne[U]),this.$=ne[U];break;case 51:he.addContainer("external_container_db",...ne[U]),this.$=ne[U];break;case 52:he.addContainer("external_container_queue",...ne[U]),this.$=ne[U];break;case 53:he.addComponent("component",...ne[U]),this.$=ne[U];break;case 54:he.addComponent("component_db",...ne[U]),this.$=ne[U];break;case 55:he.addComponent("component_queue",...ne[U]),this.$=ne[U];break;case 56:he.addComponent("external_component",...ne[U]),this.$=ne[U];break;case 57:he.addComponent("external_component_db",...ne[U]),this.$=ne[U];break;case 58:he.addComponent("external_component_queue",...ne[U]),this.$=ne[U];break;case 60:he.addRel("rel",...ne[U]),this.$=ne[U];break;case 61:he.addRel("birel",...ne[U]),this.$=ne[U];break;case 62:he.addRel("rel_u",...ne[U]),this.$=ne[U];break;case 63:he.addRel("rel_d",...ne[U]),this.$=ne[U];break;case 64:he.addRel("rel_l",...ne[U]),this.$=ne[U];break;case 65:he.addRel("rel_r",...ne[U]),this.$=ne[U];break;case 66:he.addRel("rel_b",...ne[U]),this.$=ne[U];break;case 67:ne[U].splice(0,1),he.addRel("rel",...ne[U]),this.$=ne[U];break;case 68:he.updateElStyle("update_el_style",...ne[U]),this.$=ne[U];break;case 69:he.updateRelStyle("update_rel_style",...ne[U]),this.$=ne[U];break;case 70:he.updateLayoutConfig("update_layout_config",...ne[U]),this.$=ne[U];break;case 71:this.$=[ne[U]];break;case 72:ne[U].unshift(ne[U-1]),this.$=ne[U];break;case 73:case 75:this.$=ne[U].trim();break;case 74:let Te={};Te[ne[U-1].trim()]=ne[U].trim(),this.$=Te;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:_,52:T,53:E,54:L,55:C,56:A,57:I,58:D,59:k,60:R,61:S,62:O,63:N,64:P,65:F,66:B,67:$,68:z,69:W,70:j,71:K,72:ie,73:Q,74:ee},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:_,52:T,53:E,54:L,55:C,56:A,57:I,58:D,59:k,60:R,61:S,62:O,63:N,64:P,65:F,66:B,67:$,68:z,69:W,70:j,71:K,72:ie,73:Q,74:ee},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:_,52:T,53:E,54:L,55:C,56:A,57:I,58:D,59:k,60:R,61:S,62:O,63:N,64:P,65:F,66:B,67:$,68:z,69:W,70:j,71:K,72:ie,73:Q,74:ee},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:_,52:T,53:E,54:L,55:C,56:A,57:I,58:D,59:k,60:R,61:S,62:O,63:N,64:P,65:F,66:B,67:$,68:z,69:W,70:j,71:K,72:ie,73:Q,74:ee},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:_,52:T,53:E,54:L,55:C,56:A,57:I,58:D,59:k,60:R,61:S,62:O,63:N,64:P,65:F,66:B,67:$,68:z,69:W,70:j,71:K,72:ie,73:Q,74:ee},{14:[1,74]},t(J,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:_,52:T,53:E,54:L,55:C,56:A,57:I,58:D,59:k,60:R,61:S,62:O,63:N,64:P,65:F,66:B,67:$,68:z,69:W,70:j,71:K,72:ie,73:Q,74:ee}),t(J,[2,14]),t(H,[2,16],{12:[1,76]}),t(J,[2,36],{12:[1,77]}),t(q,[2,19]),t(q,[2,20]),{25:[1,78]},{27:[1,79]},t(q,[2,23]),{35:80,75:81,76:Z,77:ae,79:ue,80:ce},{35:86,75:81,76:Z,77:ae,79:ue,80:ce},{35:87,75:81,76:Z,77:ae,79:ue,80:ce},{35:88,75:81,76:Z,77:ae,79:ue,80:ce},{35:89,75:81,76:Z,77:ae,79:ue,80:ce},{35:90,75:81,76:Z,77:ae,79:ue,80:ce},{35:91,75:81,76:Z,77:ae,79:ue,80:ce},{35:92,75:81,76:Z,77:ae,79:ue,80:ce},{35:93,75:81,76:Z,77:ae,79:ue,80:ce},{35:94,75:81,76:Z,77:ae,79:ue,80:ce},{35:95,75:81,76:Z,77:ae,79:ue,80:ce},{35:96,75:81,76:Z,77:ae,79:ue,80:ce},{35:97,75:81,76:Z,77:ae,79:ue,80:ce},{35:98,75:81,76:Z,77:ae,79:ue,80:ce},{35:99,75:81,76:Z,77:ae,79:ue,80:ce},{35:100,75:81,76:Z,77:ae,79:ue,80:ce},{35:101,75:81,76:Z,77:ae,79:ue,80:ce},{35:102,75:81,76:Z,77:ae,79:ue,80:ce},{35:103,75:81,76:Z,77:ae,79:ue,80:ce},{35:104,75:81,76:Z,77:ae,79:ue,80:ce},t(te,[2,59]),{35:105,75:81,76:Z,77:ae,79:ue,80:ce},{35:106,75:81,76:Z,77:ae,79:ue,80:ce},{35:107,75:81,76:Z,77:ae,79:ue,80:ce},{35:108,75:81,76:Z,77:ae,79:ue,80:ce},{35:109,75:81,76:Z,77:ae,79:ue,80:ce},{35:110,75:81,76:Z,77:ae,79:ue,80:ce},{35:111,75:81,76:Z,77:ae,79:ue,80:ce},{35:112,75:81,76:Z,77:ae,79:ue,80:ce},{35:113,75:81,76:Z,77:ae,79:ue,80:ce},{35:114,75:81,76:Z,77:ae,79:ue,80:ce},{35:115,75:81,76:Z,77:ae,79:ue,80:ce},{20:116,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:_,52:T,53:E,54:L,55:C,56:A,57:I,58:D,59:k,60:R,61:S,62:O,63:N,64:P,65:F,66:B,67:$,68:z,69:W,70:j,71:K,72:ie,73:Q,74:ee},{12:[1,118],33:[1,117]},{35:119,75:81,76:Z,77:ae,79:ue,80:ce},{35:120,75:81,76:Z,77:ae,79:ue,80:ce},{35:121,75:81,76:Z,77:ae,79:ue,80:ce},{35:122,75:81,76:Z,77:ae,79:ue,80:ce},{35:123,75:81,76:Z,77:ae,79:ue,80:ce},{35:124,75:81,76:Z,77:ae,79:ue,80:ce},{35:125,75:81,76:Z,77:ae,79:ue,80:ce},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(J,[2,15]),t(H,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(J,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:w,51:_,52:T,53:E,54:L,55:C,56:A,57:I,58:D,59:k,60:R,61:S,62:O,63:N,64:P,65:F,66:B,67:$,68:z,69:W,70:j,71:K,72:ie,73:Q,74:ee}),t(q,[2,21]),t(q,[2,22]),t(te,[2,39]),t(De,[2,71],{75:81,35:132,76:Z,77:ae,79:ue,80:ce}),t(oe,[2,73]),{78:[1,133]},t(oe,[2,75]),t(oe,[2,76]),t(te,[2,40]),t(te,[2,41]),t(te,[2,42]),t(te,[2,43]),t(te,[2,44]),t(te,[2,45]),t(te,[2,46]),t(te,[2,47]),t(te,[2,48]),t(te,[2,49]),t(te,[2,50]),t(te,[2,51]),t(te,[2,52]),t(te,[2,53]),t(te,[2,54]),t(te,[2,55]),t(te,[2,56]),t(te,[2,57]),t(te,[2,58]),t(te,[2,60]),t(te,[2,61]),t(te,[2,62]),t(te,[2,63]),t(te,[2,64]),t(te,[2,65]),t(te,[2,66]),t(te,[2,67]),t(te,[2,68]),t(te,[2,69]),t(te,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(ke,[2,28]),t(ke,[2,29]),t(ke,[2,30]),t(ke,[2,31]),t(ke,[2,32]),t(ke,[2,33]),t(ke,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(H,[2,18]),t(J,[2,38]),t(De,[2,72]),t(oe,[2,74]),t(te,[2,24]),t(te,[2,35]),t(Fe,[2,25]),t(Fe,[2,26],{12:[1,138]}),t(Fe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:o(function(xe,X){if(X.recoverable)this.trace(xe);else{var fe=new Error(xe);throw fe.hash=X,fe}},"parseError"),parse:o(function(xe){var X=this,fe=[0],he=[],ge=[null],ne=[],ye=this.table,U="",Te=0,se=0,Ee=0,Ae=2,Pe=1,Me=ne.slice.call(arguments,1),me=Object.create(this.lexer),We={yy:{}};for(var Re in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Re)&&(We.yy[Re]=this.yy[Re]);me.setInput(xe,We.yy),We.yy.lexer=me,We.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var tt=me.yylloc;ne.push(tt);var gt=me.options&&me.options.ranges;typeof We.yy.parseError=="function"?this.parseError=We.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Et(zt){fe.length=fe.length-2*zt,ge.length=ge.length-zt,ne.length=ne.length-zt}o(Et,"popStack");function vt(){var zt;return zt=he.pop()||me.lex()||Pe,typeof zt!="number"&&(zt instanceof Array&&(he=zt,zt=he.pop()),zt=X.symbols_[zt]||zt),zt}o(vt,"lex");for(var Ye,Tt,$e,rt,ft,kt,er={},dt,Xe,ct,Lt;;){if($e=fe[fe.length-1],this.defaultActions[$e]?rt=this.defaultActions[$e]:((Ye===null||typeof Ye>"u")&&(Ye=vt()),rt=ye[$e]&&ye[$e][Ye]),typeof rt>"u"||!rt.length||!rt[0]){var Rt="";Lt=[];for(dt in ye[$e])this.terminals_[dt]&&dt>Ae&&Lt.push("'"+this.terminals_[dt]+"'");me.showPosition?Rt="Parse error on line "+(Te+1)+`: `+me.showPosition()+` Expecting `+Lt.join(", ")+", got '"+(this.terminals_[Ye]||Ye)+"'":Rt="Parse error on line "+(Te+1)+": Unexpected "+(Ye==Pe?"end of input":"'"+(this.terminals_[Ye]||Ye)+"'"),this.parseError(Rt,{text:me.match,token:this.terminals_[Ye]||Ye,line:me.yylineno,loc:tt,expected:Lt})}if(rt[0]instanceof Array&&rt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$e+", token: "+Ye);switch(rt[0]){case 1:fe.push(Ye),ge.push(me.yytext),ne.push(me.yylloc),fe.push(rt[1]),Ye=null,Tt?(Ye=Tt,Tt=null):(se=me.yyleng,U=me.yytext,Te=me.yylineno,tt=me.yylloc,Ee>0&&Ee--);break;case 2:if(Xe=this.productions_[rt[1]][1],er.$=ge[ge.length-Xe],er._$={first_line:ne[ne.length-(Xe||1)].first_line,last_line:ne[ne.length-1].last_line,first_column:ne[ne.length-(Xe||1)].first_column,last_column:ne[ne.length-1].last_column},gt&&(er._$.range=[ne[ne.length-(Xe||1)].range[0],ne[ne.length-1].range[1]]),kt=this.performAction.apply(er,[U,se,Te,We.yy,rt[1],ge,ne].concat(Me)),typeof kt<"u")return kt;Xe&&(fe=fe.slice(0,-1*Xe*2),ge=ge.slice(0,-1*Xe),ne=ne.slice(0,-1*Xe)),fe.push(this.productions_[rt[1]][0]),ge.push(er.$),ne.push(er._$),ct=ye[fe[fe.length-2]][fe[fe.length-1]],fe.push(ct);break;case 3:return!0}}return!0},"parse")},Ve=function(){var He={EOF:1,parseError:o(function(X,fe){if(this.yy.parser)this.yy.parser.parseError(X,fe);else throw new Error(X)},"parseError"),setInput:o(function(xe,X){return this.yy=X||this.yy||{},this._input=xe,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var xe=this._input[0];this.yytext+=xe,this.yyleng++,this.offset++,this.match+=xe,this.matched+=xe;var X=xe.match(/(?:\r\n?|\n).*/g);return X?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),xe},"input"),unput:o(function(xe){var X=xe.length,fe=xe.split(/(?:\r\n?|\n)/g);this._input=xe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-X),this.offset-=X;var he=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),fe.length-1&&(this.yylineno-=fe.length-1);var ge=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:fe?(fe.length===he.length?this.yylloc.first_column:0)+he[he.length-fe.length].length-fe[0].length:this.yylloc.first_column-X},this.options.ranges&&(this.yylloc.range=[ge[0],ge[0]+this.yyleng-X]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(xe){this.unput(this.match.slice(xe))},"less"),pastInput:o(function(){var xe=this.matched.substr(0,this.matched.length-this.match.length);return(xe.length>20?"...":"")+xe.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var xe=this.match;return xe.length<20&&(xe+=this._input.substr(0,20-xe.length)),(xe.substr(0,20)+(xe.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var xe=this.pastInput(),X=new Array(xe.length+1).join("-");return xe+this.upcomingInput()+` `+X+"^"},"showPosition"),test_match:o(function(xe,X){var fe,he,ge;if(this.options.backtrack_lexer&&(ge={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ge.yylloc.range=this.yylloc.range.slice(0))),he=xe[0].match(/(?:\r\n?|\n).*/g),he&&(this.yylineno+=he.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:he?he[he.length-1].length-he[he.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+xe[0].length},this.yytext+=xe[0],this.match+=xe[0],this.matches=xe,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(xe[0].length),this.matched+=xe[0],fe=this.performAction.call(this,this.yy,this,X,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),fe)return fe;if(this._backtrack){for(var ne in ge)this[ne]=ge[ne];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var xe,X,fe,he;this._more||(this.yytext="",this.match="");for(var ge=this._currentRules(),ne=0;neX[0].length)){if(X=fe,he=ne,this.options.backtrack_lexer){if(xe=this.test_match(fe,ge[ne]),xe!==!1)return xe;if(this._backtrack){X=!1;continue}else return!1}else if(!this.options.flex)break}return X?(xe=this.test_match(X,ge[he]),xe!==!1?xe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var X=this.next();return X||this.lex()},"lex"),begin:o(function(X){this.conditionStack.push(X)},"begin"),popState:o(function(){var X=this.conditionStack.length-1;return X>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(X){return X=this.conditionStack.length-1-Math.abs(X||0),X>=0?this.conditionStack[X]:"INITIAL"},"topState"),pushState:o(function(X){this.begin(X)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(X,fe,he,ge){var ne=ge;switch(he){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";break;case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return He}();Be.lexer=Ve;function Ge(){this.yy={}}return o(Ge,"Parser"),Ge.prototype=Be,Be.Parser=Ge,new Ge}();I1.parser=I1;QF=I1});var BS,Gn,ip=M(()=>{"use strict";BS=o((t,e,{depth:r=2,clobber:n=!1}={})=>{let i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>BS(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=BS(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),Gn=BS});var Fb,ZF,JF=M(()=>{"use strict";Fb={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:o(t=>t>=255?255:t<0?0:t,"r"),g:o(t=>t>=255?255:t<0?0:t,"g"),b:o(t=>t>=255?255:t<0?0:t,"b"),h:o(t=>t%360,"h"),s:o(t=>t>=100?100:t<0?0:t,"s"),l:o(t=>t>=100?100:t<0?0:t,"l"),a:o(t=>t>=1?1:t<0?0:t,"a")},toLinear:o(t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},"toLinear"),hue2rgb:o((t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<.16666666666666666?t+(e-t)*6*r:r<.5?e:r<.6666666666666666?t+(e-t)*(.6666666666666666-r)*6:t),"hue2rgb"),hsl2rgb:o(({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;let i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return Fb.hue2rgb(a,i,t+.3333333333333333)*255;case"g":return Fb.hue2rgb(a,i,t)*255;case"b":return Fb.hue2rgb(a,i,t-.3333333333333333)*255}},"hsl2rgb"),rgb2hsl:o(({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;let i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;let l=i-a,u=s>.5?l/(2-i-a):l/(i+a);if(n==="s")return u*100;switch(i){case t:return((e-r)/l+(e{"use strict";Fxe={clamp:o((t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),"clamp"),round:o(t=>Math.round(t*1e10)/1e10,"round")},ez=Fxe});var zxe,rz,nz=M(()=>{"use strict";zxe={dec2hex:o(t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`},"dec2hex")},rz=zxe});var Gxe,Yt,jl=M(()=>{"use strict";JF();tz();nz();Gxe={channel:ZF,lang:ez,unit:rz},Yt=Gxe});var Qc,Ri,O1=M(()=>{"use strict";jl();Qc={};for(let t=0;t<=255;t++)Qc[t]=Yt.unit.dec2hex(t);Ri={ALL:0,RGB:1,HSL:2}});var FS,iz,az=M(()=>{"use strict";O1();FS=class{static{o(this,"Type")}constructor(){this.type=Ri.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Ri.ALL}is(e){return this.type===e}},iz=FS});var zS,sz,oz=M(()=>{"use strict";jl();az();O1();zS=class{static{o(this,"Channels")}constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new iz}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Ri.ALL,this}_ensureHSL(){let e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=Yt.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=Yt.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=Yt.channel.rgb2hsl(e,"l"))}_ensureRGB(){let e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=Yt.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=Yt.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=Yt.channel.hsl2rgb(e,"b"))}get r(){let e=this.data,r=e.r;return!this.type.is(Ri.HSL)&&r!==void 0?r:(this._ensureHSL(),Yt.channel.hsl2rgb(e,"r"))}get g(){let e=this.data,r=e.g;return!this.type.is(Ri.HSL)&&r!==void 0?r:(this._ensureHSL(),Yt.channel.hsl2rgb(e,"g"))}get b(){let e=this.data,r=e.b;return!this.type.is(Ri.HSL)&&r!==void 0?r:(this._ensureHSL(),Yt.channel.hsl2rgb(e,"b"))}get h(){let e=this.data,r=e.h;return!this.type.is(Ri.RGB)&&r!==void 0?r:(this._ensureRGB(),Yt.channel.rgb2hsl(e,"h"))}get s(){let e=this.data,r=e.s;return!this.type.is(Ri.RGB)&&r!==void 0?r:(this._ensureRGB(),Yt.channel.rgb2hsl(e,"s"))}get l(){let e=this.data,r=e.l;return!this.type.is(Ri.RGB)&&r!==void 0?r:(this._ensureRGB(),Yt.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Ri.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Ri.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Ri.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Ri.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Ri.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Ri.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}},sz=zS});var $xe,th,P1=M(()=>{"use strict";oz();$xe=new sz({r:0,g:0,b:0,a:0},"transparent"),th=$xe});var lz,Vf,GS=M(()=>{"use strict";P1();O1();lz={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:o(t=>{if(t.charCodeAt(0)!==35)return;let e=t.match(lz.re);if(!e)return;let r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,l=s?1:17,u=s?8:4,h=a?0:-1,f=s?255:15;return th.set({r:(n>>u*(h+3)&f)*l,g:(n>>u*(h+2)&f)*l,b:(n>>u*(h+1)&f)*l,a:a?(n&f)*l/255:1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`#${Qc[Math.round(e)]}${Qc[Math.round(r)]}${Qc[Math.round(n)]}${Qc[Math.round(i*255)]}`:`#${Qc[Math.round(e)]}${Qc[Math.round(r)]}${Qc[Math.round(n)]}`},"stringify")},Vf=lz});var zb,B1,cz=M(()=>{"use strict";jl();P1();zb={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:o(t=>{let e=t.match(zb.hueRe);if(e){let[,r,n]=e;switch(n){case"grad":return Yt.channel.clamp.h(parseFloat(r)*.9);case"rad":return Yt.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return Yt.channel.clamp.h(parseFloat(r)*360)}}return Yt.channel.clamp.h(parseFloat(t))},"_hue2deg"),parse:o(t=>{let e=t.charCodeAt(0);if(e!==104&&e!==72)return;let r=t.match(zb.re);if(!r)return;let[,n,i,a,s,l]=r;return th.set({h:zb._hue2deg(n),s:Yt.channel.clamp.s(parseFloat(i)),l:Yt.channel.clamp.l(parseFloat(a)),a:s?Yt.channel.clamp.a(l?parseFloat(s)/100:parseFloat(s)):1},t)},"parse"),stringify:o(t=>{let{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${Yt.lang.round(e)}, ${Yt.lang.round(r)}%, ${Yt.lang.round(n)}%, ${i})`:`hsl(${Yt.lang.round(e)}, ${Yt.lang.round(r)}%, ${Yt.lang.round(n)}%)`},"stringify")},B1=zb});var Gb,$S,uz=M(()=>{"use strict";GS();Gb={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:o(t=>{t=t.toLowerCase();let e=Gb.colors[t];if(e)return Vf.parse(e)},"parse"),stringify:o(t=>{let e=Vf.stringify(t);for(let r in Gb.colors)if(Gb.colors[r]===e)return r},"stringify")},$S=Gb});var hz,F1,fz=M(()=>{"use strict";jl();P1();hz={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:o(t=>{let e=t.charCodeAt(0);if(e!==114&&e!==82)return;let r=t.match(hz.re);if(!r)return;let[,n,i,a,s,l,u,h,f]=r;return th.set({r:Yt.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:Yt.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:Yt.channel.clamp.b(u?parseFloat(l)*2.55:parseFloat(l)),a:h?Yt.channel.clamp.a(f?parseFloat(h)/100:parseFloat(h)):1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${Yt.lang.round(e)}, ${Yt.lang.round(r)}, ${Yt.lang.round(n)}, ${Yt.lang.round(i)})`:`rgb(${Yt.lang.round(e)}, ${Yt.lang.round(r)}, ${Yt.lang.round(n)})`},"stringify")},F1=hz});var Vxe,Mi,Zc=M(()=>{"use strict";GS();cz();uz();fz();O1();Vxe={format:{keyword:$S,hex:Vf,rgb:F1,rgba:F1,hsl:B1,hsla:B1},parse:o(t=>{if(typeof t!="string")return t;let e=Vf.parse(t)||F1.parse(t)||B1.parse(t)||$S.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},"parse"),stringify:o(t=>!t.changed&&t.color?t.color:t.type.is(Ri.HSL)||t.data.r===void 0?B1.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?F1.stringify(t):Vf.stringify(t),"stringify")},Mi=Vxe});var Uxe,$b,VS=M(()=>{"use strict";jl();Zc();Uxe=o((t,e)=>{let r=Mi.parse(t);for(let n in e)r[n]=Yt.channel.clamp[n](e[n]);return Mi.stringify(r)},"change"),$b=Uxe});var Hxe,Hs,US=M(()=>{"use strict";jl();P1();Zc();VS();Hxe=o((t,e,r=0,n=1)=>{if(typeof t!="number")return $b(t,{a:e});let i=th.set({r:Yt.channel.clamp.r(t),g:Yt.channel.clamp.g(e),b:Yt.channel.clamp.b(r),a:Yt.channel.clamp.a(n)});return Mi.stringify(i)},"rgba"),Hs=Hxe});var Wxe,z1,dz=M(()=>{"use strict";jl();Zc();Wxe=o((t,e)=>Yt.lang.round(Mi.parse(t)[e]),"channel"),z1=Wxe});var Yxe,pz,mz=M(()=>{"use strict";jl();Zc();Yxe=o(t=>{let{r:e,g:r,b:n}=Mi.parse(t),i=.2126*Yt.channel.toLinear(e)+.7152*Yt.channel.toLinear(r)+.0722*Yt.channel.toLinear(n);return Yt.lang.round(i)},"luminance"),pz=Yxe});var qxe,gz,yz=M(()=>{"use strict";mz();qxe=o(t=>pz(t)>=.5,"isLight"),gz=qxe});var Xxe,aa,vz=M(()=>{"use strict";yz();Xxe=o(t=>!gz(t),"isDark"),aa=Xxe});var jxe,Vb,HS=M(()=>{"use strict";jl();Zc();jxe=o((t,e,r)=>{let n=Mi.parse(t),i=n[e],a=Yt.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Mi.stringify(n)},"adjustChannel"),Vb=jxe});var Kxe,Dt,xz=M(()=>{"use strict";HS();Kxe=o((t,e)=>Vb(t,"l",e),"lighten"),Dt=Kxe});var Qxe,Bt,bz=M(()=>{"use strict";HS();Qxe=o((t,e)=>Vb(t,"l",-e),"darken"),Bt=Qxe});var Zxe,Ne,wz=M(()=>{"use strict";Zc();VS();Zxe=o((t,e)=>{let r=Mi.parse(t),n={};for(let i in e)e[i]&&(n[i]=r[i]+e[i]);return $b(t,n)},"adjust"),Ne=Zxe});var Jxe,Tz,kz=M(()=>{"use strict";Zc();US();Jxe=o((t,e,r=50)=>{let{r:n,g:i,b:a,a:s}=Mi.parse(t),{r:l,g:u,b:h,a:f}=Mi.parse(e),d=r/100,p=d*2-1,m=s-f,y=((p*m===-1?p:(p+m)/(1+p*m))+1)/2,v=1-y,x=n*y+l*v,b=i*y+u*v,w=a*y+h*v,_=s*d+f*(1-d);return Hs(x,b,w,_)},"mix"),Tz=Jxe});var ebe,pt,Ez=M(()=>{"use strict";Zc();kz();ebe=o((t,e=100)=>{let r=Mi.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,Tz(r,t,e)},"invert"),pt=ebe});var Sz=M(()=>{"use strict";US();dz();vz();xz();bz();wz();Ez()});var To=M(()=>{"use strict";Sz()});var rh,nh,G1=M(()=>{"use strict";rh="#ffffff",nh="#f2f2f2"});var wi,ap=M(()=>{"use strict";To();wi=o((t,e)=>e?Ne(t,{s:-40,l:10}):Ne(t,{s:-40,l:-10}),"mkBorder")});var WS,Az,_z=M(()=>{"use strict";To();G1();ap();WS=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Ne(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Ne(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||wi(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||wi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||wi(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||wi(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||pt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||pt(this.tertiaryColor),this.lineColor=this.lineColor||pt(this.background),this.arrowheadColor=this.arrowheadColor||pt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Bt(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Bt(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||pt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Dt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ne(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ne(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ne(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ne(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ne(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ne(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Ne(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ne(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ne(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},Az=o(t=>{let e=new WS;return e.calculate(t),e},"getThemeVariables")});var YS,Lz,Dz=M(()=>{"use strict";To();ap();YS=class{static{o(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Dt(this.primaryColor,16),this.tertiaryColor=Ne(this.primaryColor,{h:-160}),this.primaryBorderColor=pt(this.background),this.secondaryBorderColor=wi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wi(this.tertiaryColor,this.darkMode),this.primaryTextColor=pt(this.primaryColor),this.secondaryTextColor=pt(this.secondaryColor),this.tertiaryTextColor=pt(this.tertiaryColor),this.lineColor=pt(this.background),this.textColor=pt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Dt(pt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=Hs(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=Bt("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=Bt(this.sectionBkgColor,10),this.taskBorderColor=Hs(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Hs(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=Dt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Dt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Dt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Ne(this.primaryColor,{h:64}),this.fillType3=Ne(this.secondaryColor,{h:64}),this.fillType4=Ne(this.primaryColor,{h:-64}),this.fillType5=Ne(this.secondaryColor,{h:-64}),this.fillType6=Ne(this.primaryColor,{h:128}),this.fillType7=Ne(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ne(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ne(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ne(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ne(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ne(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ne(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Ne(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ne(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ne(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},Lz=o(t=>{let e=new YS;return e.calculate(t),e},"getThemeVariables")});var qS,sp,Ub=M(()=>{"use strict";To();ap();G1();qS=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Ne(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Ne(this.primaryColor,{h:-160}),this.primaryBorderColor=wi(this.primaryColor,this.darkMode),this.secondaryBorderColor=wi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wi(this.tertiaryColor,this.darkMode),this.primaryTextColor=pt(this.primaryColor),this.secondaryTextColor=pt(this.secondaryColor),this.tertiaryTextColor=pt(this.tertiaryColor),this.lineColor=pt(this.background),this.textColor=pt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=Hs(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ne(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ne(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ne(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ne(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ne(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ne(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Ne(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ne(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ne(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Bt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Bt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},sp=o(t=>{let e=new qS;return e.calculate(t),e},"getThemeVariables")});var XS,Nz,Rz=M(()=>{"use strict";To();G1();ap();XS=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Dt("#cde498",10),this.primaryBorderColor=wi(this.primaryColor,this.darkMode),this.secondaryBorderColor=wi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wi(this.tertiaryColor,this.darkMode),this.primaryTextColor=pt(this.primaryColor),this.secondaryTextColor=pt(this.secondaryColor),this.tertiaryTextColor=pt(this.primaryColor),this.lineColor=pt(this.background),this.textColor=pt(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=Bt(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ne(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ne(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ne(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ne(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ne(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ne(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Ne(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ne(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ne(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Bt(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Bt(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},Nz=o(t=>{let e=new XS;return e.calculate(t),e},"getThemeVariables")});var jS,Mz,Iz=M(()=>{"use strict";To();ap();G1();jS=class{static{o(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Dt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Ne(this.primaryColor,{h:-160}),this.primaryBorderColor=wi(this.primaryColor,this.darkMode),this.secondaryBorderColor=wi(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=wi(this.tertiaryColor,this.darkMode),this.primaryTextColor=pt(this.primaryColor),this.secondaryTextColor=pt(this.secondaryColor),this.tertiaryTextColor=pt(this.tertiaryColor),this.lineColor=pt(this.background),this.textColor=pt(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=Dt(this.contrast,55),this.border2=this.contrast,this.actorBorder=Dt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},Mz=o(t=>{let e=new jS;return e.calculate(t),e},"getThemeVariables")});var ko,Hb=M(()=>{"use strict";_z();Dz();Ub();Rz();Iz();ko={base:{getThemeVariables:Az},dark:{getThemeVariables:Lz},default:{getThemeVariables:sp},forest:{getThemeVariables:Nz},neutral:{getThemeVariables:Mz}}});var Jc,Oz=M(()=>{"use strict";Jc={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1}});var Pz,Bz,Fz,ur,hs=M(()=>{"use strict";Hb();Oz();Pz={...Jc,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF"},themeCSS:void 0,themeVariables:ko.default.getThemeVariables(),sequence:{...Jc.sequence,messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:o(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:o(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...Jc.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Jc.c4,useWidth:void 0,personFont:o(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),external_personFont:o(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:o(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:o(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:o(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:o(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:o(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:o(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:o(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:o(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:o(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:o(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:o(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:o(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:o(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:o(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:o(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:o(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:o(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:o(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:o(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...Jc.pie,useWidth:984},xyChart:{...Jc.xyChart,useWidth:void 0},requirement:{...Jc.requirement,useWidth:void 0},packet:{...Jc.packet}},Bz=o((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...Bz(t[n],"")]:[...r,e+n],[]),"keyify"),Fz=new Set(Bz(Pz,"")),ur=Pz});var op,tbe,KS=M(()=>{"use strict";hs();ht();op=o(t=>{if(Y.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>op(e));return}for(let e of Object.keys(t)){if(Y.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!Fz.has(e)||t[e]==null){Y.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){Y.debug("sanitizing object",e),op(t[e]);continue}let r=["themeCSS","fontFamily","altFontFamily"];for(let n of r)e.includes(n)&&(Y.debug("sanitizing css option",e),t[e]=tbe(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}Y.debug("After sanitization",t)}},"sanitizeDirective"),tbe=o(t=>{let e=0,r=0;for(let n of t){if(e{"use strict";ip();ht();Hb();hs();KS();ih=Object.freeze(ur),fs=Gn({},ih),lp=[],$1=Gn({},ih),Wb=o((t,e)=>{let r=Gn({},t),n={};for(let i of e)Uz(i),n=Gn(n,i);if(r=Gn(r,n),n.theme&&n.theme in ko){let i=Gn({},Gz),a=Gn(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in ko&&(r.themeVariables=ko[r.theme].getThemeVariables(a))}return $1=r,Wz($1),$1},"updateCurrentConfig"),QS=o(t=>(fs=Gn({},ih),fs=Gn(fs,t),t.theme&&ko[t.theme]&&(fs.themeVariables=ko[t.theme].getThemeVariables(t.themeVariables)),Wb(fs,lp),fs),"setSiteConfig"),$z=o(t=>{Gz=Gn({},t)},"saveConfigFromInitialize"),Vz=o(t=>(fs=Gn(fs,t),Wb(fs,lp),fs),"updateSiteConfig"),ZS=o(()=>Gn({},fs),"getSiteConfig"),Yb=o(t=>(Wz(t),Gn($1,t),Sr()),"setConfig"),Sr=o(()=>Gn({},$1),"getConfig"),Uz=o(t=>{t&&(["secure",...fs.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(Y.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&Uz(t[e])}))},"sanitize"),Hz=o(t=>{op(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),lp.push(t),Wb(fs,lp)},"addDirective"),V1=o((t=fs)=>{lp=[],Wb(t,lp)},"reset"),rbe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},zz={},nbe=o(t=>{zz[t]||(Y.warn(rbe[t]),zz[t]=!0)},"issueWarning"),Wz=o(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&nbe("LAZY_LOAD_DEPRECATED")},"checkConfig")});function Ws(t){return function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:jb;Yz&&Yz(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let a=r(i);a!==i&&(ibe(e)||(e[n]=a),i=a)}t[i]=!0}return t}function ube(t){for(let e=0;e0&&arguments[0]!==void 0?arguments[0]:wbe(),e=o(yt=>iG(yt),"DOMPurify");if(e.version="3.2.1",e.removed=[],!t||!t.document||t.document.nodeType!==q1.document)return e.isSupported=!1,e;let{document:r}=t,n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:l,Element:u,NodeFilter:h,NamedNodeMap:f=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:p,trustedTypes:m}=t,g=u.prototype,y=Y1(g,"cloneNode"),v=Y1(g,"remove"),x=Y1(g,"nextSibling"),b=Y1(g,"childNodes"),w=Y1(g,"parentNode");if(typeof s=="function"){let yt=r.createElement("template");yt.content&&yt.content.ownerDocument&&(r=yt.content.ownerDocument)}let _,T="",{implementation:E,createNodeIterator:L,createDocumentFragment:C,getElementsByTagName:A}=r,{importNode:I}=n,D={};e.isSupported=typeof eG=="function"&&typeof w=="function"&&E&&E.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:k,ERB_EXPR:R,TMPLIT_EXPR:S,DATA_ATTR:O,ARIA_ATTR:N,IS_SCRIPT_OR_DATA:P,ATTR_WHITESPACE:F,CUSTOM_ELEMENT:B}=Jz,{IS_ALLOWED_URI:$}=Jz,z=null,W=Ar({},[...jz,...eC,...tC,...rC,...Kz]),j=null,K=Ar({},[...Qz,...nC,...Zz,...Xb]),ie=Object.seal(tG(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Q=null,ee=null,J=!0,H=!0,q=!1,Z=!0,ae=!1,ue=!0,ce=!1,te=!1,De=!1,oe=!1,ke=!1,Fe=!1,Be=!0,Ve=!1,Ge="user-content-",He=!0,xe=!1,X={},fe=null,he=Ar({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ge=null,ne=Ar({},["audio","video","img","source","image","track"]),ye=null,U=Ar({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Te="http://www.w3.org/1998/Math/MathML",se="http://www.w3.org/2000/svg",Ee="http://www.w3.org/1999/xhtml",Ae=Ee,Pe=!1,Me=null,me=Ar({},[Te,se,Ee],JS),We=Ar({},["mi","mo","mn","ms","mtext"]),Re=Ar({},["annotation-xml"]),tt=Ar({},["title","style","font","a","script"]),gt=null,Et=["application/xhtml+xml","text/html"],vt="text/html",Ye=null,Tt=null,$e=r.createElement("form"),rt=o(function(Se){return Se instanceof RegExp||Se instanceof Function},"isRegexOrFunction"),ft=o(function(){let Se=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Tt&&Tt===Se)){if((!Se||typeof Se!="object")&&(Se={}),Se=Uf(Se),gt=Et.indexOf(Se.PARSER_MEDIA_TYPE)===-1?vt:Se.PARSER_MEDIA_TYPE,Ye=gt==="application/xhtml+xml"?JS:jb,z=ul(Se,"ALLOWED_TAGS")?Ar({},Se.ALLOWED_TAGS,Ye):W,j=ul(Se,"ALLOWED_ATTR")?Ar({},Se.ALLOWED_ATTR,Ye):K,Me=ul(Se,"ALLOWED_NAMESPACES")?Ar({},Se.ALLOWED_NAMESPACES,JS):me,ye=ul(Se,"ADD_URI_SAFE_ATTR")?Ar(Uf(U),Se.ADD_URI_SAFE_ATTR,Ye):U,ge=ul(Se,"ADD_DATA_URI_TAGS")?Ar(Uf(ne),Se.ADD_DATA_URI_TAGS,Ye):ne,fe=ul(Se,"FORBID_CONTENTS")?Ar({},Se.FORBID_CONTENTS,Ye):he,Q=ul(Se,"FORBID_TAGS")?Ar({},Se.FORBID_TAGS,Ye):{},ee=ul(Se,"FORBID_ATTR")?Ar({},Se.FORBID_ATTR,Ye):{},X=ul(Se,"USE_PROFILES")?Se.USE_PROFILES:!1,J=Se.ALLOW_ARIA_ATTR!==!1,H=Se.ALLOW_DATA_ATTR!==!1,q=Se.ALLOW_UNKNOWN_PROTOCOLS||!1,Z=Se.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ae=Se.SAFE_FOR_TEMPLATES||!1,ue=Se.SAFE_FOR_XML!==!1,ce=Se.WHOLE_DOCUMENT||!1,oe=Se.RETURN_DOM||!1,ke=Se.RETURN_DOM_FRAGMENT||!1,Fe=Se.RETURN_TRUSTED_TYPE||!1,De=Se.FORCE_BODY||!1,Be=Se.SANITIZE_DOM!==!1,Ve=Se.SANITIZE_NAMED_PROPS||!1,He=Se.KEEP_CONTENT!==!1,xe=Se.IN_PLACE||!1,$=Se.ALLOWED_URI_REGEXP||rG,Ae=Se.NAMESPACE||Ee,We=Se.MATHML_TEXT_INTEGRATION_POINTS||We,Re=Se.HTML_INTEGRATION_POINTS||Re,ie=Se.CUSTOM_ELEMENT_HANDLING||{},Se.CUSTOM_ELEMENT_HANDLING&&rt(Se.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(ie.tagNameCheck=Se.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Se.CUSTOM_ELEMENT_HANDLING&&rt(Se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(ie.attributeNameCheck=Se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Se.CUSTOM_ELEMENT_HANDLING&&typeof Se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(ie.allowCustomizedBuiltInElements=Se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ae&&(H=!1),ke&&(oe=!0),X&&(z=Ar({},Kz),j=[],X.html===!0&&(Ar(z,jz),Ar(j,Qz)),X.svg===!0&&(Ar(z,eC),Ar(j,nC),Ar(j,Xb)),X.svgFilters===!0&&(Ar(z,tC),Ar(j,nC),Ar(j,Xb)),X.mathMl===!0&&(Ar(z,rC),Ar(j,Zz),Ar(j,Xb))),Se.ADD_TAGS&&(z===W&&(z=Uf(z)),Ar(z,Se.ADD_TAGS,Ye)),Se.ADD_ATTR&&(j===K&&(j=Uf(j)),Ar(j,Se.ADD_ATTR,Ye)),Se.ADD_URI_SAFE_ATTR&&Ar(ye,Se.ADD_URI_SAFE_ATTR,Ye),Se.FORBID_CONTENTS&&(fe===he&&(fe=Uf(fe)),Ar(fe,Se.FORBID_CONTENTS,Ye)),He&&(z["#text"]=!0),ce&&Ar(z,["html","head","body"]),z.table&&(Ar(z,["tbody"]),delete Q.tbody),Se.TRUSTED_TYPES_POLICY){if(typeof Se.TRUSTED_TYPES_POLICY.createHTML!="function")throw W1('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Se.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw W1('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');_=Se.TRUSTED_TYPES_POLICY,T=_.createHTML("")}else _===void 0&&(_=Tbe(m,i)),_!==null&&typeof T=="string"&&(T=_.createHTML(""));Wa&&Wa(Se),Tt=Se}},"_parseConfig"),kt=Ar({},[...eC,...tC,...hbe]),er=Ar({},[...rC,...fbe]),dt=o(function(Se){let at=w(Se);(!at||!at.tagName)&&(at={namespaceURI:Ae,tagName:"template"});let At=jb(Se.tagName),pr=jb(at.tagName);return Me[Se.namespaceURI]?Se.namespaceURI===se?at.namespaceURI===Ee?At==="svg":at.namespaceURI===Te?At==="svg"&&(pr==="annotation-xml"||We[pr]):!!kt[At]:Se.namespaceURI===Te?at.namespaceURI===Ee?At==="math":at.namespaceURI===se?At==="math"&&Re[pr]:!!er[At]:Se.namespaceURI===Ee?at.namespaceURI===se&&!Re[pr]||at.namespaceURI===Te&&!We[pr]?!1:!er[At]&&(tt[At]||!kt[At]):!!(gt==="application/xhtml+xml"&&Me[Se.namespaceURI]):!1},"_checkValidNamespace"),Xe=o(function(Se){U1(e.removed,{element:Se});try{w(Se).removeChild(Se)}catch{v(Se)}},"_forceRemove"),ct=o(function(Se,at){try{U1(e.removed,{attribute:at.getAttributeNode(Se),from:at})}catch{U1(e.removed,{attribute:null,from:at})}if(at.removeAttribute(Se),Se==="is"&&!j[Se])if(oe||ke)try{Xe(at)}catch{}else try{at.setAttribute(Se,"")}catch{}},"_removeAttribute"),Lt=o(function(Se){let at=null,At=null;if(De)Se=""+Se;else{let On=Xz(Se,/^[\r\n\t ]+/);At=On&&On[0]}gt==="application/xhtml+xml"&&Ae===Ee&&(Se=''+Se+"");let pr=_?_.createHTML(Se):Se;if(Ae===Ee)try{at=new p().parseFromString(pr,gt)}catch{}if(!at||!at.documentElement){at=E.createDocument(Ae,"template",null);try{at.documentElement.innerHTML=Pe?T:pr}catch{}}let In=at.body||at.documentElement;return Se&&At&&In.insertBefore(r.createTextNode(At),In.childNodes[0]||null),Ae===Ee?A.call(at,ce?"html":"body")[0]:ce?at.documentElement:In},"_initDocument"),Rt=o(function(Se){return L.call(Se.ownerDocument||Se,Se,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT|h.SHOW_PROCESSING_INSTRUCTION|h.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),zt=o(function(Se){return Se instanceof d&&(typeof Se.nodeName!="string"||typeof Se.textContent!="string"||typeof Se.removeChild!="function"||!(Se.attributes instanceof f)||typeof Se.removeAttribute!="function"||typeof Se.setAttribute!="function"||typeof Se.namespaceURI!="string"||typeof Se.insertBefore!="function"||typeof Se.hasChildNodes!="function")},"_isClobbered"),Xn=o(function(Se){return typeof l=="function"&&Se instanceof l},"_isNode");function or(yt,Se,at){D[yt]&&qb(D[yt],At=>{At.call(e,Se,at,Tt)})}o(or,"_executeHook");let hn=o(function(Se){let at=null;if(or("beforeSanitizeElements",Se,null),zt(Se))return Xe(Se),!0;let At=Ye(Se.nodeName);if(or("uponSanitizeElement",Se,{tagName:At,allowedTags:z}),Se.hasChildNodes()&&!Xn(Se.firstElementChild)&&Ha(/<[/\w]/g,Se.innerHTML)&&Ha(/<[/\w]/g,Se.textContent)||Se.nodeType===q1.progressingInstruction||ue&&Se.nodeType===q1.comment&&Ha(/<[/\w]/g,Se.data))return Xe(Se),!0;if(!z[At]||Q[At]){if(!Q[At]&&Ur(At)&&(ie.tagNameCheck instanceof RegExp&&Ha(ie.tagNameCheck,At)||ie.tagNameCheck instanceof Function&&ie.tagNameCheck(At)))return!1;if(He&&!fe[At]){let pr=w(Se)||Se.parentNode,In=b(Se)||Se.childNodes;if(In&&pr){let On=In.length;for(let Ir=On-1;Ir>=0;--Ir){let kn=y(In[Ir],!0);kn.__removalCount=(Se.__removalCount||0)+1,pr.insertBefore(kn,x(Se))}}}return Xe(Se),!0}return Se instanceof u&&!dt(Se)||(At==="noscript"||At==="noembed"||At==="noframes")&&Ha(/<\/no(script|embed|frames)/i,Se.innerHTML)?(Xe(Se),!0):(ae&&Se.nodeType===q1.text&&(at=Se.textContent,qb([k,R,S],pr=>{at=H1(at,pr," ")}),Se.textContent!==at&&(U1(e.removed,{element:Se.cloneNode()}),Se.textContent=at)),or("afterSanitizeElements",Se,null),!1)},"_sanitizeElements"),Tn=o(function(Se,at,At){if(Be&&(at==="id"||at==="name")&&(At in r||At in $e))return!1;if(!(H&&!ee[at]&&Ha(O,at))){if(!(J&&Ha(N,at))){if(!j[at]||ee[at]){if(!(Ur(Se)&&(ie.tagNameCheck instanceof RegExp&&Ha(ie.tagNameCheck,Se)||ie.tagNameCheck instanceof Function&&ie.tagNameCheck(Se))&&(ie.attributeNameCheck instanceof RegExp&&Ha(ie.attributeNameCheck,at)||ie.attributeNameCheck instanceof Function&&ie.attributeNameCheck(at))||at==="is"&&ie.allowCustomizedBuiltInElements&&(ie.tagNameCheck instanceof RegExp&&Ha(ie.tagNameCheck,At)||ie.tagNameCheck instanceof Function&&ie.tagNameCheck(At))))return!1}else if(!ye[at]){if(!Ha($,H1(At,F,""))){if(!((at==="src"||at==="xlink:href"||at==="href")&&Se!=="script"&&obe(At,"data:")===0&&ge[Se])){if(!(q&&!Ha(P,H1(At,F,"")))){if(At)return!1}}}}}}return!0},"_isValidAttribute"),Ur=o(function(Se){return Se!=="annotation-xml"&&Xz(Se,B)},"_isBasicCustomElement"),ri=o(function(Se){or("beforeSanitizeAttributes",Se,null);let{attributes:at}=Se;if(!at)return;let At={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:j,forceKeepAttr:void 0},pr=at.length;for(;pr--;){let In=at[pr],{name:On,namespaceURI:Ir,value:kn}=In,_t=Ye(On),St=On==="value"?kn:lbe(kn);if(At.attrName=_t,At.attrValue=St,At.keepAttr=!0,At.forceKeepAttr=void 0,or("uponSanitizeAttribute",Se,At),St=At.attrValue,Ve&&(_t==="id"||_t==="name")&&(ct(On,Se),St=Ge+St),ue&&Ha(/((--!?|])>)|<\/(style|title)/i,St)){ct(On,Se);continue}if(At.forceKeepAttr||(ct(On,Se),!At.keepAttr))continue;if(!Z&&Ha(/\/>/i,St)){ct(On,Se);continue}ae&&qb([k,R,S],Ue=>{St=H1(St,Ue," ")});let bt=Ye(Se.nodeName);if(Tn(bt,_t,St)){if(_&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!Ir)switch(m.getAttributeType(bt,_t)){case"TrustedHTML":{St=_.createHTML(St);break}case"TrustedScriptURL":{St=_.createScriptURL(St);break}}try{Ir?Se.setAttributeNS(Ir,On,St):Se.setAttribute(On,St),zt(Se)?Xe(Se):qz(e.removed)}catch{}}}or("afterSanitizeAttributes",Se,null)},"_sanitizeAttributes"),Mn=o(function yt(Se){let at=null,At=Rt(Se);for(or("beforeSanitizeShadowDOM",Se,null);at=At.nextNode();)or("uponSanitizeShadowNode",at,null),!hn(at)&&(at.content instanceof a&&yt(at.content),ri(at));or("afterSanitizeShadowDOM",Se,null)},"_sanitizeShadowDOM");return e.sanitize=function(yt){let Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},at=null,At=null,pr=null,In=null;if(Pe=!yt,Pe&&(yt=""),typeof yt!="string"&&!Xn(yt))if(typeof yt.toString=="function"){if(yt=yt.toString(),typeof yt!="string")throw W1("dirty is not a string, aborting")}else throw W1("toString is not a function");if(!e.isSupported)return yt;if(te||ft(Se),e.removed=[],typeof yt=="string"&&(xe=!1),xe){if(yt.nodeName){let kn=Ye(yt.nodeName);if(!z[kn]||Q[kn])throw W1("root node is forbidden and cannot be sanitized in-place")}}else if(yt instanceof l)at=Lt(""),At=at.ownerDocument.importNode(yt,!0),At.nodeType===q1.element&&At.nodeName==="BODY"||At.nodeName==="HTML"?at=At:at.appendChild(At);else{if(!oe&&!ae&&!ce&&yt.indexOf("<")===-1)return _&&Fe?_.createHTML(yt):yt;if(at=Lt(yt),!at)return oe?null:Fe?T:""}at&&De&&Xe(at.firstChild);let On=Rt(xe?yt:at);for(;pr=On.nextNode();)hn(pr)||(pr.content instanceof a&&Mn(pr.content),ri(pr));if(xe)return yt;if(oe){if(ke)for(In=C.call(at.ownerDocument);at.firstChild;)In.appendChild(at.firstChild);else In=at;return(j.shadowroot||j.shadowrootmode)&&(In=I.call(n,In,!0)),In}let Ir=ce?at.outerHTML:at.innerHTML;return ce&&z["!doctype"]&&at.ownerDocument&&at.ownerDocument.doctype&&at.ownerDocument.doctype.name&&Ha(nG,at.ownerDocument.doctype.name)&&(Ir=" `+Ir),ae&&qb([k,R,S],kn=>{Ir=H1(Ir,kn," ")}),_&&Fe?_.createHTML(Ir):Ir},e.setConfig=function(){let yt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};ft(yt),te=!0},e.clearConfig=function(){Tt=null,te=!1},e.isValidAttribute=function(yt,Se,at){Tt||ft({});let At=Ye(yt),pr=Ye(Se);return Tn(At,pr,at)},e.addHook=function(yt,Se){typeof Se=="function"&&(D[yt]=D[yt]||[],U1(D[yt],Se))},e.removeHook=function(yt){if(D[yt])return qz(D[yt])},e.removeHooks=function(yt){D[yt]&&(D[yt]=[])},e.removeAllHooks=function(){D={}},e}var eG,Yz,ibe,abe,sbe,Wa,Eo,tG,iC,aC,qb,qz,U1,jb,JS,Xz,H1,obe,lbe,ul,Ha,W1,jz,eC,tC,hbe,rC,fbe,Kz,Qz,nC,Zz,Xb,dbe,pbe,mbe,gbe,ybe,rG,vbe,xbe,nG,bbe,Jz,q1,wbe,Tbe,ah,sC=M(()=>{"use strict";({entries:eG,setPrototypeOf:Yz,isFrozen:ibe,getPrototypeOf:abe,getOwnPropertyDescriptor:sbe}=Object),{freeze:Wa,seal:Eo,create:tG}=Object,{apply:iC,construct:aC}=typeof Reflect<"u"&&Reflect;Wa||(Wa=o(function(e){return e},"freeze"));Eo||(Eo=o(function(e){return e},"seal"));iC||(iC=o(function(e,r,n){return e.apply(r,n)},"apply"));aC||(aC=o(function(e,r){return new e(...r)},"construct"));qb=Ws(Array.prototype.forEach),qz=Ws(Array.prototype.pop),U1=Ws(Array.prototype.push),jb=Ws(String.prototype.toLowerCase),JS=Ws(String.prototype.toString),Xz=Ws(String.prototype.match),H1=Ws(String.prototype.replace),obe=Ws(String.prototype.indexOf),lbe=Ws(String.prototype.trim),ul=Ws(Object.prototype.hasOwnProperty),Ha=Ws(RegExp.prototype.test),W1=cbe(TypeError);o(Ws,"unapply");o(cbe,"unconstruct");o(Ar,"addToSet");o(ube,"cleanArray");o(Uf,"clone");o(Y1,"lookupGetter");jz=Wa(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),eC=Wa(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),tC=Wa(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),hbe=Wa(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),rC=Wa(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),fbe=Wa(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Kz=Wa(["#text"]),Qz=Wa(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),nC=Wa(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Zz=Wa(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Xb=Wa(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),dbe=Eo(/\{\{[\w\W]*|[\w\W]*\}\}/gm),pbe=Eo(/<%[\w\W]*|[\w\W]*%>/gm),mbe=Eo(/\${[\w\W]*}/gm),gbe=Eo(/^data-[\-\w.\u00B7-\uFFFF]/),ybe=Eo(/^aria-[\-\w]+$/),rG=Eo(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),vbe=Eo(/^(?:\w+script|data):/i),xbe=Eo(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),nG=Eo(/^html$/i),bbe=Eo(/^[a-z][.\w]*(-[.\w]+)+$/i),Jz=Object.freeze({__proto__:null,ARIA_ATTR:ybe,ATTR_WHITESPACE:xbe,CUSTOM_ELEMENT:bbe,DATA_ATTR:gbe,DOCTYPE_NAME:nG,ERB_EXPR:pbe,IS_ALLOWED_URI:rG,IS_SCRIPT_OR_DATA:vbe,MUSTACHE_EXPR:dbe,TMPLIT_EXPR:mbe}),q1={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},wbe=o(function(){return typeof window>"u"?null:window},"getGlobal"),Tbe=o(function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null,i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));let a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},"_createTrustedTypesPolicy");o(iG,"createDOMPurify");ah=iG()});var N$={};vr(N$,{default:()=>g3e});function Lbe(t){return String(t).replace(_be,e=>Abe[e])}function Mbe(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}function Gbe(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}function BG(t){for(var e=0;e=l4[e]&&t<=l4[e+1])return!0;return!1}function Qbe(t,e){Zl[t]=e}function RC(t,e,r){if(!Zl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Zl[e][n];if(!i&&t[0]in sG&&(n=sG[t[0]].charCodeAt(0),i=Zl[e][n]),!i&&r==="text"&&BG(n)&&(i=Zl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function Zbe(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!oC[e]){var r=oC[e]={cssEmPerMu:Kb.quad[e]/18};for(var n in Kb)Kb.hasOwnProperty(n)&&(r[n]=Kb[n][e])}return oC[e]}function cG(t){if(t instanceof ms)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function r4e(t){if(t instanceof qf)return t;throw new Error("Expected span but got "+String(t)+".")}function G(t,e,r,n,i,a){En[t][i]={font:e,group:r,replace:n},a&&n&&(En[t][n]=En[t][i])}function Ct(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},u=0;u0&&(a.push(n4(s,e)),s=[]),a.push(n[l]));s.length>0&&a.push(n4(s,e));var h;r?(h=n4(Ii(r,e,!0)),h.classes=["tag"],a.push(h)):i&&a.push(i);var f=iu(["katex-html"],a);if(f.setAttribute("aria-hidden","true"),h){var d=h.children[0];d.style.height=mt(f.height+f.depth),f.depth&&(d.style.verticalAlign=mt(-f.depth))}return f}function jG(t){return new Yf(t)}function pG(t,e,r,n,i){var a=gs(t,r),s;a.length===1&&a[0]instanceof ps&&Jt.contains(["mrow","mtable"],a[0].type)?s=a[0]:s=new st.MathNode("mrow",a);var l=new st.MathNode("annotation",[new st.TextNode(e)]);l.setAttribute("encoding","application/x-tex");var u=new st.MathNode("semantics",[s,l]),h=new st.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&h.setAttribute("display","block");var f=i?"katex":"katex-mathml";return Ie.makeSpan([f],[h])}function yr(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function PC(t){var e=x4(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function x4(t){return t&&(t.type==="atom"||i4e.hasOwnProperty(t.type))?t:null}function JG(t,e){var r=Ii(t.body,e,!0);return I4e([t.mclass],r,e)}function e$(t,e){var r,n=gs(t.body,e);return t.mclass==="minner"?r=new st.MathNode("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new st.MathNode("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new st.MathNode("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}function B4e(t,e,r){var n=O4e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),l=r.callFunction("\\\\cdright",[e[1]],[]),u={type:"ordgroup",mode:"math",body:[i,s,l]};return r.callFunction("\\\\cdparent",[u],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function F4e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new ut("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;a-1))if("<>AV".indexOf(h)>-1)for(var d=0;d<2;d++){for(var p=!0,m=u+1;mAV=|." after @',s[u]);var g=B4e(h,f,t),y={type:"styling",body:[g],mode:"math",style:"display"};n.push(y),l=mG()}a%2===0?n.push(l):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var v=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:v,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}function w4(t,e){var r=x4(t);if(r&&Jt.contains(Q4e,r.text))return r;throw r?new ut("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new ut("Invalid delimiter type '"+t.type+"'",t)}function vG(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}function ec(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},u=0;u1||!f)&&y.pop(),x.length{"use strict";Ys=class t{static{o(this,"SourceLocation")}constructor(e,r,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=n}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new t(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},Co=class t{static{o(this,"Token")}constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new t(r,Ys.range(this,e))}},ut=class t{static{o(this,"ParseError")}constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var l=s.lexer.input;i=s.start,a=s.end,i===l.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var u=l.slice(i,a).replace(/[^]/g,"$&\u0332"),h;i>15?h="\u2026"+l.slice(i-15,i):h=l.slice(0,i);var f;a+15":">","<":"<",'"':""","'":"'"},_be=/[&><"']/g;o(Lbe,"escape");PG=o(function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},"getBaseElem"),Dbe=o(function(e){var r=PG(e);return r.type==="mathord"||r.type==="textord"||r.type==="atom"},"isCharacterBox"),Nbe=o(function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},"assert"),Rbe=o(function(e){var r=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return r?r[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])?null:r[1].toLowerCase():"_relative"},"protocolFromUrl"),Jt={contains:kbe,deflt:Ebe,escape:Lbe,hyphenate:Cbe,getBaseElem:PG,isCharacterBox:Dbe,protocolFromUrl:Rbe},o4={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:o(t=>"#"+t,"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:o((t,e)=>(e.push(t),e),"cliProcessor")},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:o(t=>Math.max(0,t),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:o(t=>Math.max(0,t),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:o(t=>Math.max(0,t),"processor"),cli:"-e, --max-expand ",cliProcessor:o(t=>t==="Infinity"?1/0:parseInt(t),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}};o(Mbe,"getDefaultValue");Z1=class{static{o(this,"Settings")}constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r in o4)if(o4.hasOwnProperty(r)){var n=o4[r];this[r]=e[r]!==void 0?n.processor?n.processor(e[r]):e[r]:Mbe(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new ut("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var r=Jt.protocolFromUrl(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}},Kl=class{static{o(this,"Style")}constructor(e,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=n}sup(){return Ql[Ibe[this.id]]}sub(){return Ql[Obe[this.id]]}fracNum(){return Ql[Pbe[this.id]]}fracDen(){return Ql[Bbe[this.id]]}cramp(){return Ql[Fbe[this.id]]}text(){return Ql[zbe[this.id]]}isTight(){return this.size>=2}},NC=0,c4=1,hp=2,ru=3,J1=4,So=5,fp=6,Ya=7,Ql=[new Kl(NC,0,!1),new Kl(c4,0,!0),new Kl(hp,1,!1),new Kl(ru,1,!0),new Kl(J1,2,!1),new Kl(So,2,!0),new Kl(fp,3,!1),new Kl(Ya,3,!0)],Ibe=[J1,So,J1,So,fp,Ya,fp,Ya],Obe=[So,So,So,So,Ya,Ya,Ya,Ya],Pbe=[hp,ru,J1,So,fp,Ya,fp,Ya],Bbe=[ru,ru,So,So,Ya,Ya,Ya,Ya],Fbe=[c4,c4,ru,ru,So,So,Ya,Ya],zbe=[NC,c4,hp,ru,hp,ru,hp,ru],rr={DISPLAY:Ql[NC],TEXT:Ql[hp],SCRIPT:Ql[J1],SCRIPTSCRIPT:Ql[fp]},xC=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];o(Gbe,"scriptFromCodepoint");l4=[];xC.forEach(t=>t.blocks.forEach(e=>l4.push(...e)));o(BG,"supportedCodepoint");up=80,$be=o(function(e,r){return"M95,"+(622+e+r)+` c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 c69,-144,104.5,-217.7,106.5,-221 l`+e/2.075+" -"+e+` c5.3,-9.3,12,-14,20,-14 H400000v`+(40+e)+`H845.2724 s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtMain"),Vbe=o(function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 c340,-704.7,510.7,-1060.3,512,-1067 l`+e/2.084+" -"+e+` c4.7,-7.3,11,-11,19,-11 H40000v`+(40+e)+`H1012.3 s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize1"),Ube=o(function(e,r){return"M983 "+(10+e+r)+` l`+e/3.13+" -"+e+` c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 c53.7,-170.3,84.5,-266.8,92.5,-289.5z M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize2"),Hbe=o(function(e,r){return"M424,"+(2398+e+r)+` c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 l`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000 v`+(40+e)+`H1014.6 s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+r+` h400000v`+(40+e)+"h-400000z"},"sqrtSize3"),Wbe=o(function(e,r){return"M473,"+(2713+e+r)+` c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, 606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},"sqrtSize4"),Ybe=o(function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},"phasePath"),qbe=o(function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` H742v`+i+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},"sqrtTall"),Xbe=o(function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=$be(r,up);break;case"sqrtSize1":i=Vbe(r,up);break;case"sqrtSize2":i=Ube(r,up);break;case"sqrtSize3":i=Hbe(r,up);break;case"sqrtSize4":i=Wbe(r,up);break;case"sqrtTall":i=qbe(r,up,n)}return i},"sqrtPath"),jbe=o(function(e,r){switch(e){case"\u239C":return"M291 0 H417 V"+r+" H291z M291 0 H417 V"+r+" H291z";case"\u2223":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z";case"\u2225":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z"+("M367 0 H410 V"+r+" H367z M367 0 H410 V"+r+" H367z");case"\u239F":return"M457 0 H583 V"+r+" H457z M457 0 H583 V"+r+" H457z";case"\u23A2":return"M319 0 H403 V"+r+" H319z M319 0 H403 V"+r+" H319z";case"\u23A5":return"M263 0 H347 V"+r+" H263z M263 0 H347 V"+r+" H263z";case"\u23AA":return"M384 0 H504 V"+r+" H384z M384 0 H504 V"+r+" H384z";case"\u23D0":return"M312 0 H355 V"+r+" H312z M312 0 H355 V"+r+" H312z";case"\u2016":return"M257 0 H300 V"+r+" H257z M257 0 H300 V"+r+" H257z"+("M478 0 H521 V"+r+" H478z M478 0 H521 V"+r+" H478z");default:return""}},"innerPath"),aG={doubleleftarrow:`M262 157 l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 -86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 -2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l -10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 -33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 -17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 -13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 -107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 -5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 -45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 -331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 435 0h399565z`,leftgroupunder:`M400000 262 H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 -3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 -18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 -196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 -4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 -10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 -152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 -2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 -83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 -68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 -.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 -53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 -5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 -320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 -451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 -480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 -707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 -16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 -40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 -12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l -6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 -174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 -3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 -10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 -18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 -7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 -27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 -64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 -13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 -52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 -167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 -70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 -40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 -37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 -19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 -2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 -68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 -8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 -11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 -11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 -1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 -7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 -11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 -11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 -11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, -5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, -11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, -11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, -11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 -27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 -84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 -119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 -12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, 1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, -152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},Kbe=o(function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 H403z M403 1759 V0 H319 V1759 v`+r+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+" v585 h43z";case"doublevert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+` v585 h43z M367 15 v585 v`+r+` v585 c2.667,10,9.667,15,21,15 c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+r+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+r+` v1715 h263 v84 H319z MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+r+` v1799 H0 v-84 H319z MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v602 h84z M403 1759 V0 H319 V1759 v`+r+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v602 h84z M347 1759 V0 h-84 V1759 v`+r+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, -36,557 l0,`+(r+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, 949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, -544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 l0,-`+(r+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, -210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, 63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(r+9)+` c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, -470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),Yf=class{static{o(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return Jt.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText(),"toText");return this.children.map(e).join("")}},Zl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},Kb={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},sG={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};o(Qbe,"setFontMetrics");o(RC,"getCharacterMetrics");oC={};o(Zbe,"getGlobalMetrics");Jbe=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],oG=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],lG=o(function(e,r){return r.size<2?e:Jbe[e-1][r.size-1]},"sizeAtStyle"),u4=class t{static{o(this,"Options")}constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=oG[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return new t(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:lG(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:oG[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=lG(t.BASESIZE,e);return this.size===r&&this.textSize===t.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==t.BASESIZE?["sizing","reset-size"+this.size,"size"+t.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=Zbe(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};u4.BASESIZE=6;bC={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},e4e={ex:!0,em:!0,mu:!0},FG=o(function(e){return typeof e!="string"&&(e=e.unit),e in bC||e in e4e||e==="ex"},"validUnit"),Qn=o(function(e,r){var n;if(e.unit in bC)n=bC[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new ut("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},"calculateSize"),mt=o(function(e){return+e.toFixed(4)+"em"},"makeEm"),lh=o(function(e){return e.filter(r=>r).join(" ")},"createClass"),zG=o(function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},"initNode"),GG=o(function(e){var r=document.createElement(e);r.className=lh(this.classes);for(var n in this.style)this.style.hasOwnProperty(n)&&(r.style[n]=this.style[n]);for(var i in this.attributes)this.attributes.hasOwnProperty(i)&&r.setAttribute(i,this.attributes[i]);for(var a=0;a",r},"toMarkup"),qf=class{static{o(this,"Span")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,zG.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return Jt.contains(this.classes,e)}toNode(){return GG.call(this,"span")}toMarkup(){return $G.call(this,"span")}},ey=class{static{o(this,"Anchor")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,zG.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return Jt.contains(this.classes,e)}toNode(){return GG.call(this,"a")}toMarkup(){return $G.call(this,"a")}},wC=class{static{o(this,"Img")}constructor(e,r,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=r,this.src=e,this.classes=["mord"],this.style=n}hasClass(e){return Jt.contains(this.classes,e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r in this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);return e}toMarkup(){var e=''+Jt.escape(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=mt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=lh(this.classes));for(var n in this.style)this.style.hasOwnProperty(n)&&(r=r||document.createElement("span"),r.style[n]=this.style[n]);return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+this.italic+"em;");for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=Jt.hyphenate(i)+":"+this.style[i]+";");n&&(e=!0,r+=' style="'+Jt.escape(n)+'"');var a=Jt.escape(this.text);return e?(r+=">",r+=a,r+="",r):a}},fl=class{static{o(this,"SvgNode")}constructor(e,r){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}},ty=class{static{o(this,"LineNode")}constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e="","\\gt",!0);G(V,re,we,"\u2208","\\in",!0);G(V,re,we,"\uE020","\\@not");G(V,re,we,"\u2282","\\subset",!0);G(V,re,we,"\u2283","\\supset",!0);G(V,re,we,"\u2286","\\subseteq",!0);G(V,re,we,"\u2287","\\supseteq",!0);G(V,ve,we,"\u2288","\\nsubseteq",!0);G(V,ve,we,"\u2289","\\nsupseteq",!0);G(V,re,we,"\u22A8","\\models");G(V,re,we,"\u2190","\\leftarrow",!0);G(V,re,we,"\u2264","\\le");G(V,re,we,"\u2264","\\leq",!0);G(V,re,we,"<","\\lt",!0);G(V,re,we,"\u2192","\\rightarrow",!0);G(V,re,we,"\u2192","\\to");G(V,ve,we,"\u2271","\\ngeq",!0);G(V,ve,we,"\u2270","\\nleq",!0);G(V,re,su,"\xA0","\\ ");G(V,re,su,"\xA0","\\space");G(V,re,su,"\xA0","\\nobreakspace");G(it,re,su,"\xA0","\\ ");G(it,re,su,"\xA0"," ");G(it,re,su,"\xA0","\\space");G(it,re,su,"\xA0","\\nobreakspace");G(V,re,su,null,"\\nobreak");G(V,re,su,null,"\\allowbreak");G(V,re,y4,",",",");G(V,re,y4,";",";");G(V,ve,Nt,"\u22BC","\\barwedge",!0);G(V,ve,Nt,"\u22BB","\\veebar",!0);G(V,re,Nt,"\u2299","\\odot",!0);G(V,re,Nt,"\u2295","\\oplus",!0);G(V,re,Nt,"\u2297","\\otimes",!0);G(V,re,_e,"\u2202","\\partial",!0);G(V,re,Nt,"\u2298","\\oslash",!0);G(V,ve,Nt,"\u229A","\\circledcirc",!0);G(V,ve,Nt,"\u22A1","\\boxdot",!0);G(V,re,Nt,"\u25B3","\\bigtriangleup");G(V,re,Nt,"\u25BD","\\bigtriangledown");G(V,re,Nt,"\u2020","\\dagger");G(V,re,Nt,"\u22C4","\\diamond");G(V,re,Nt,"\u22C6","\\star");G(V,re,Nt,"\u25C3","\\triangleleft");G(V,re,Nt,"\u25B9","\\triangleright");G(V,re,qs,"{","\\{");G(it,re,_e,"{","\\{");G(it,re,_e,"{","\\textbraceleft");G(V,re,qa,"}","\\}");G(it,re,_e,"}","\\}");G(it,re,_e,"}","\\textbraceright");G(V,re,qs,"{","\\lbrace");G(V,re,qa,"}","\\rbrace");G(V,re,qs,"[","\\lbrack",!0);G(it,re,_e,"[","\\lbrack",!0);G(V,re,qa,"]","\\rbrack",!0);G(it,re,_e,"]","\\rbrack",!0);G(V,re,qs,"(","\\lparen",!0);G(V,re,qa,")","\\rparen",!0);G(it,re,_e,"<","\\textless",!0);G(it,re,_e,">","\\textgreater",!0);G(V,re,qs,"\u230A","\\lfloor",!0);G(V,re,qa,"\u230B","\\rfloor",!0);G(V,re,qs,"\u2308","\\lceil",!0);G(V,re,qa,"\u2309","\\rceil",!0);G(V,re,_e,"\\","\\backslash");G(V,re,_e,"\u2223","|");G(V,re,_e,"\u2223","\\vert");G(it,re,_e,"|","\\textbar",!0);G(V,re,_e,"\u2225","\\|");G(V,re,_e,"\u2225","\\Vert");G(it,re,_e,"\u2225","\\textbardbl");G(it,re,_e,"~","\\textasciitilde");G(it,re,_e,"\\","\\textbackslash");G(it,re,_e,"^","\\textasciicircum");G(V,re,we,"\u2191","\\uparrow",!0);G(V,re,we,"\u21D1","\\Uparrow",!0);G(V,re,we,"\u2193","\\downarrow",!0);G(V,re,we,"\u21D3","\\Downarrow",!0);G(V,re,we,"\u2195","\\updownarrow",!0);G(V,re,we,"\u21D5","\\Updownarrow",!0);G(V,re,Ti,"\u2210","\\coprod");G(V,re,Ti,"\u22C1","\\bigvee");G(V,re,Ti,"\u22C0","\\bigwedge");G(V,re,Ti,"\u2A04","\\biguplus");G(V,re,Ti,"\u22C2","\\bigcap");G(V,re,Ti,"\u22C3","\\bigcup");G(V,re,Ti,"\u222B","\\int");G(V,re,Ti,"\u222B","\\intop");G(V,re,Ti,"\u222C","\\iint");G(V,re,Ti,"\u222D","\\iiint");G(V,re,Ti,"\u220F","\\prod");G(V,re,Ti,"\u2211","\\sum");G(V,re,Ti,"\u2A02","\\bigotimes");G(V,re,Ti,"\u2A01","\\bigoplus");G(V,re,Ti,"\u2A00","\\bigodot");G(V,re,Ti,"\u222E","\\oint");G(V,re,Ti,"\u222F","\\oiint");G(V,re,Ti,"\u2230","\\oiiint");G(V,re,Ti,"\u2A06","\\bigsqcup");G(V,re,Ti,"\u222B","\\smallint");G(it,re,dp,"\u2026","\\textellipsis");G(V,re,dp,"\u2026","\\mathellipsis");G(it,re,dp,"\u2026","\\ldots",!0);G(V,re,dp,"\u2026","\\ldots",!0);G(V,re,dp,"\u22EF","\\@cdots",!0);G(V,re,dp,"\u22F1","\\ddots",!0);G(V,re,_e,"\u22EE","\\varvdots");G(V,re,$n,"\u02CA","\\acute");G(V,re,$n,"\u02CB","\\grave");G(V,re,$n,"\xA8","\\ddot");G(V,re,$n,"~","\\tilde");G(V,re,$n,"\u02C9","\\bar");G(V,re,$n,"\u02D8","\\breve");G(V,re,$n,"\u02C7","\\check");G(V,re,$n,"^","\\hat");G(V,re,$n,"\u20D7","\\vec");G(V,re,$n,"\u02D9","\\dot");G(V,re,$n,"\u02DA","\\mathring");G(V,re,tr,"\uE131","\\@imath");G(V,re,tr,"\uE237","\\@jmath");G(V,re,_e,"\u0131","\u0131");G(V,re,_e,"\u0237","\u0237");G(it,re,_e,"\u0131","\\i",!0);G(it,re,_e,"\u0237","\\j",!0);G(it,re,_e,"\xDF","\\ss",!0);G(it,re,_e,"\xE6","\\ae",!0);G(it,re,_e,"\u0153","\\oe",!0);G(it,re,_e,"\xF8","\\o",!0);G(it,re,_e,"\xC6","\\AE",!0);G(it,re,_e,"\u0152","\\OE",!0);G(it,re,_e,"\xD8","\\O",!0);G(it,re,$n,"\u02CA","\\'");G(it,re,$n,"\u02CB","\\`");G(it,re,$n,"\u02C6","\\^");G(it,re,$n,"\u02DC","\\~");G(it,re,$n,"\u02C9","\\=");G(it,re,$n,"\u02D8","\\u");G(it,re,$n,"\u02D9","\\.");G(it,re,$n,"\xB8","\\c");G(it,re,$n,"\u02DA","\\r");G(it,re,$n,"\u02C7","\\v");G(it,re,$n,"\xA8",'\\"');G(it,re,$n,"\u02DD","\\H");G(it,re,$n,"\u25EF","\\textcircled");VG={"--":!0,"---":!0,"``":!0,"''":!0};G(it,re,_e,"\u2013","--",!0);G(it,re,_e,"\u2013","\\textendash");G(it,re,_e,"\u2014","---",!0);G(it,re,_e,"\u2014","\\textemdash");G(it,re,_e,"\u2018","`",!0);G(it,re,_e,"\u2018","\\textquoteleft");G(it,re,_e,"\u2019","'",!0);G(it,re,_e,"\u2019","\\textquoteright");G(it,re,_e,"\u201C","``",!0);G(it,re,_e,"\u201C","\\textquotedblleft");G(it,re,_e,"\u201D","''",!0);G(it,re,_e,"\u201D","\\textquotedblright");G(V,re,_e,"\xB0","\\degree",!0);G(it,re,_e,"\xB0","\\degree");G(it,re,_e,"\xB0","\\textdegree",!0);G(V,re,_e,"\xA3","\\pounds");G(V,re,_e,"\xA3","\\mathsterling",!0);G(it,re,_e,"\xA3","\\pounds");G(it,re,_e,"\xA3","\\textsterling",!0);G(V,ve,_e,"\u2720","\\maltese");G(it,ve,_e,"\u2720","\\maltese");uG='0123456789/@."';for(Qb=0;Qb0)return hl(a,h,i,r,s.concat(f));if(u){var d,p;if(u==="boldsymbol"){var m=o4e(a,i,r,s,n);d=m.fontName,p=[m.fontClass]}else l?(d=WG[u].fontName,p=[u]):(d=r4(u,r.fontWeight,r.fontShape),p=[u,r.fontWeight,r.fontShape]);if(v4(a,d,i).metrics)return hl(a,d,i,r,s.concat(p));if(VG.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var g=[],y=0;y{if(lh(t.classes)!==lh(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n in t.style)if(t.style.hasOwnProperty(n)&&t.style[n]!==e.style[n])return!1;for(var i in e.style)if(e.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;return!0},"canCombine"),u4e=o(t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},"sizeElementFromChildren"),ds=o(function(e,r,n,i){var a=new qf(e,r,n,i);return MC(a),a},"makeSpan"),UG=o((t,e,r,n)=>new qf(t,e,r,n),"makeSvgSpan"),h4e=o(function(e,r,n){var i=ds([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=mt(i.height),i.maxFontSize=1,i},"makeLineSpan"),f4e=o(function(e,r,n,i){var a=new ey(e,r,n,i);return MC(a),a},"makeAnchor"),HG=o(function(e){var r=new Yf(e);return MC(r),r},"makeFragment"),d4e=o(function(e,r){return e instanceof Yf?ds([],[e],r):e},"wrapFragment"),p4e=o(function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=ds(["mspace"],[],e),n=Qn(t,e);return r.style.marginRight=mt(n),r},"makeGlue"),r4=o(function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},"retrieveTextFontName"),WG={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},YG={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},y4e=o(function(e,r){var[n,i,a]=YG[e],s=new Jl(n),l=new fl([s],{width:mt(i),height:mt(a),style:"width:"+mt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),u=UG(["overlay"],[l],r);return u.height=a,u.style.height=mt(a),u.style.width=mt(i),u},"staticSvg"),Ie={fontMap:WG,makeSymbol:hl,mathsym:s4e,makeSpan:ds,makeSvgSpan:UG,makeLineSpan:h4e,makeAnchor:f4e,makeFragment:HG,wrapFragment:d4e,makeVList:m4e,makeOrd:l4e,makeGlue:g4e,staticSvg:y4e,svgData:YG,tryCombineChars:u4e},Kn={number:3,unit:"mu"},Hf={number:4,unit:"mu"},tu={number:5,unit:"mu"},v4e={mord:{mop:Kn,mbin:Hf,mrel:tu,minner:Kn},mop:{mord:Kn,mop:Kn,mrel:tu,minner:Kn},mbin:{mord:Hf,mop:Hf,mopen:Hf,minner:Hf},mrel:{mord:tu,mop:tu,mopen:tu,minner:tu},mopen:{},mclose:{mop:Kn,mbin:Hf,mrel:tu,minner:Kn},mpunct:{mord:Kn,mop:Kn,mrel:tu,mopen:Kn,mclose:Kn,mpunct:Kn,minner:Kn},minner:{mord:Kn,mop:Kn,mbin:Hf,mrel:tu,mopen:Kn,mpunct:Kn,minner:Kn}},x4e={mord:{mop:Kn},mop:{mord:Kn,mop:Kn},mbin:{},mrel:{},mopen:{},mclose:{mop:Kn},mpunct:{},minner:{mop:Kn}},qG={},f4={},d4={};o(Ct,"defineFunction");o(Xf,"defineFunctionBuilders");p4=o(function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},"normalizeArgument"),di=o(function(e){return e.type==="ordgroup"?e.body:[e]},"ordargument"),iu=Ie.makeSpan,b4e=["leftmost","mbin","mopen","mrel","mop","mpunct"],w4e=["rightmost","mrel","mclose","mpunct"],T4e={display:rr.DISPLAY,text:rr.TEXT,script:rr.SCRIPT,scriptscript:rr.SCRIPTSCRIPT},k4e={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},Ii=o(function(e,r,n,i){i===void 0&&(i=[null,null]);for(var a=[],s=0;s{var v=y.classes[0],x=g.classes[0];v==="mbin"&&Jt.contains(w4e,x)?y.classes[0]="mord":x==="mbin"&&Jt.contains(b4e,v)&&(g.classes[0]="mord")},{node:d},p,m),dG(a,(g,y)=>{var v=kC(y),x=kC(g),b=v&&x?g.hasClass("mtight")?x4e[v][x]:v4e[v][x]:null;if(b)return Ie.makeGlue(b,h)},{node:d},p,m),a},"buildExpression"),dG=o(function t(e,r,n,i,a){i&&e.push(i);for(var s=0;sp=>{e.splice(d+1,0,p),s++})(s)}i&&e.pop()},"traverseNonSpaceNodes"),XG=o(function(e){return e instanceof Yf||e instanceof ey||e instanceof qf&&e.hasClass("enclosing")?e:null},"checkPartialGroup"),E4e=o(function t(e,r){var n=XG(e);if(n){var i=n.children;if(i.length){if(r==="right")return t(i[i.length-1],"right");if(r==="left")return t(i[0],"left")}}return e},"getOutermostNode"),kC=o(function(e,r){return e?(r&&(e=E4e(e,r)),k4e[e.classes[0]]||null):null},"getTypeOfDomTree"),ry=o(function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return iu(r.concat(n))},"makeNullDelimiter"),Or=o(function(e,r,n){if(!e)return iu();if(f4[e.type]){var i=f4[e.type](e,r);if(n&&r.size!==n.size){i=iu(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new ut("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(n4,"buildHTMLUnbreakable");o(EC,"buildHTML");o(jG,"newDocumentFragment");ps=class{static{o(this,"MathNode")}constructor(e,r,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=lh(this.classes));for(var n=0;n0&&(e+=' class ="'+Jt.escape(lh(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}},Wf=class{static{o(this,"TextNode")}constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Jt.escape(this.toText())}toText(){return this.text}},SC=class{static{o(this,"SpaceNode")}constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",mt(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},st={MathNode:ps,TextNode:Wf,SpaceNode:SC,newDocumentFragment:jG},Ao=o(function(e,r,n){return En[r][e]&&En[r][e].replace&&e.charCodeAt(0)!==55349&&!(VG.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=En[r][e].replace),new st.TextNode(e)},"makeText"),IC=o(function(e){return e.length===1?e[0]:new st.MathNode("mrow",e)},"makeRow"),OC=o(function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(Jt.contains(["\\imath","\\jmath"],a))return null;En[i][a]&&En[i][a].replace&&(a=En[i][a].replace);var s=Ie.fontMap[n].fontName;return RC(a,s,i)?Ie.fontMap[n].variant:null},"getVariant"),gs=o(function(e,r,n){if(e.length===1){var i=mn(e[0],r);return n&&i instanceof ps&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,l=0;l0&&(d.text=d.text.slice(0,1)+"\u0338"+d.text.slice(1),a.pop())}}}a.push(u),s=u}return a},"buildExpression"),ch=o(function(e,r,n){return IC(gs(e,r,n))},"buildExpressionRow"),mn=o(function(e,r){if(!e)return new st.MathNode("mrow");if(d4[e.type]){var n=d4[e.type](e,r);return n}else throw new ut("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(pG,"buildMathML");KG=o(function(e){return new u4({style:e.displayMode?rr.DISPLAY:rr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},"optionsFromSettings"),QG=o(function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Ie.makeSpan(n,[e])}return e},"displayWrap"),S4e=o(function(e,r,n){var i=KG(n),a;if(n.output==="mathml")return pG(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=EC(e,i);a=Ie.makeSpan(["katex"],[s])}else{var l=pG(e,r,i,n.displayMode,!1),u=EC(e,i);a=Ie.makeSpan(["katex"],[l,u])}return QG(a,n)},"buildTree"),C4e=o(function(e,r,n){var i=KG(n),a=EC(e,i),s=Ie.makeSpan(["katex"],[a]);return QG(s,n)},"buildHTMLTree"),A4e={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},_4e=o(function(e){var r=new st.MathNode("mo",[new st.TextNode(A4e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},"mathMLnode"),L4e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},D4e=o(function(e){return e.type==="ordgroup"?e.body.length:1},"groupLength"),N4e=o(function(e,r){function n(){var l=4e5,u=e.label.slice(1);if(Jt.contains(["widehat","widecheck","widetilde","utilde"],u)){var h=e,f=D4e(h.base),d,p,m;if(f>5)u==="widehat"||u==="widecheck"?(d=420,l=2364,m=.42,p=u+"4"):(d=312,l=2340,m=.34,p="tilde4");else{var g=[1,1,2,2,3,3][f];u==="widehat"||u==="widecheck"?(l=[0,1062,2364,2364,2364][g],d=[0,239,300,360,420][g],m=[0,.24,.3,.3,.36,.42][g],p=u+g):(l=[0,600,1033,2339,2340][g],d=[0,260,286,306,312][g],m=[0,.26,.286,.3,.306,.34][g],p="tilde"+g)}var y=new Jl(p),v=new fl([y],{width:"100%",height:mt(m),viewBox:"0 0 "+l+" "+d,preserveAspectRatio:"none"});return{span:Ie.makeSvgSpan([],[v],r),minWidth:0,height:m}}else{var x=[],b=L4e[u],[w,_,T]=b,E=T/1e3,L=w.length,C,A;if(L===1){var I=b[3];C=["hide-tail"],A=[I]}else if(L===2)C=["halfarrow-left","halfarrow-right"],A=["xMinYMin","xMaxYMin"];else if(L===3)C=["brace-left","brace-center","brace-right"],A=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support `+L+" children.");for(var D=0;D0&&(i.style.minWidth=mt(a)),i},"svgSpan"),R4e=o(function(e,r,n,i,a){var s,l=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Ie.makeSpan(["stretchy",r],[],a),r==="fbox"){var u=a.color&&a.getColor();u&&(s.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(r)&&h.push(new ty({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&h.push(new ty({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new fl(h,{width:"100%",height:mt(l)});s=Ie.makeSvgSpan([],[f],a)}return s.height=l,s.style.height=mt(l),s},"encloseSpan"),au={encloseSpan:R4e,mathMLnode:_4e,svgSpan:N4e};o(yr,"assertNodeType");o(PC,"assertSymbolNodeType");o(x4,"checkSymbolNodeType");BC=o((t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=yr(t.base,"accent"),r=n.base,t.base=r,i=r4e(Or(t,e)),t.base=n):(n=yr(t,"accent"),r=n.base);var a=Or(r,e.havingCrampedStyle()),s=n.isShifty&&Jt.isCharacterBox(r),l=0;if(s){var u=Jt.getBaseElem(r),h=Or(u,e.havingCrampedStyle());l=cG(h).skew}var f=n.label==="\\c",d=f?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),p;if(n.isStretchy)p=au.svgSpan(n,e),p=Ie.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:p,wrapperClasses:["svg-align"],wrapperStyle:l>0?{width:"calc(100% - "+mt(2*l)+")",marginLeft:mt(2*l)}:void 0}]},e);else{var m,g;n.label==="\\vec"?(m=Ie.staticSvg("vec",e),g=Ie.svgData.vec[1]):(m=Ie.makeOrd({mode:n.mode,text:n.label},e,"textord"),m=cG(m),m.italic=0,g=m.width,f&&(d+=m.depth)),p=Ie.makeSpan(["accent-body"],[m]);var y=n.label==="\\textcircled";y&&(p.classes.push("accent-full"),d=a.height);var v=l;y||(v-=g/2),p.style.left=mt(v),n.label==="\\textcircled"&&(p.style.top=".2em"),p=Ie.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:p}]},e)}var x=Ie.makeSpan(["mord","accent"],[p],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},"htmlBuilder$a"),ZG=o((t,e)=>{var r=t.isStretchy?au.mathMLnode(t.label):new st.MathNode("mo",[Ao(t.label,t.mode)]),n=new st.MathNode("mover",[mn(t.base,e),r]);return n.setAttribute("accent","true"),n},"mathmlBuilder$9"),M4e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Ct({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:o((t,e)=>{var r=p4(e[0]),n=!M4e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},"handler"),htmlBuilder:BC,mathmlBuilder:ZG});Ct({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:o((t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},"handler"),htmlBuilder:BC,mathmlBuilder:ZG});Ct({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},"handler"),htmlBuilder:o((t,e)=>{var r=Or(t.base,e),n=au.svgSpan(t,e),i=t.label==="\\utilde"?.12:0,a=Ie.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]},e);return Ie.makeSpan(["mord","accentunder"],[a],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=au.mathMLnode(t.label),n=new st.MathNode("munder",[mn(t.base,e),r]);return n.setAttribute("accentunder","true"),n},"mathmlBuilder")});i4=o(t=>{var e=new st.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode");Ct({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=Ie.wrapFragment(Or(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=Ie.wrapFragment(Or(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var l=au.svgSpan(t,e),u=-e.fontMetrics().axisHeight+.5*l.height,h=-e.fontMetrics().axisHeight-.5*l.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(h-=i.depth);var f;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*l.height+.111;f=Ie.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u},{type:"elem",elem:s,shift:d}]},e)}else f=Ie.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),Ie.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(t,e){var r=au.mathMLnode(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=i4(mn(t.body,e));if(t.below){var a=i4(mn(t.below,e));n=new st.MathNode("munderover",[r,a,i])}else n=new st.MathNode("mover",[r,i])}else if(t.below){var s=i4(mn(t.below,e));n=new st.MathNode("munder",[r,s])}else n=i4(),n=new st.MathNode("mover",[r,n]);return n}});I4e=Ie.makeSpan;o(JG,"htmlBuilder$9");o(e$,"mathmlBuilder$8");Ct({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:di(i),isCharacterBox:Jt.isCharacterBox(i)}},htmlBuilder:JG,mathmlBuilder:e$});b4=o(t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"},"binrelClass");Ct({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:b4(e[0]),body:di(e[1]),isCharacterBox:Jt.isCharacterBox(e[1])}}});Ct({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=b4(i):s="mrel";var l={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:di(i)},u={type:"supsub",mode:a.mode,base:l,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[u],isCharacterBox:Jt.isCharacterBox(u)}},htmlBuilder:JG,mathmlBuilder:e$});Ct({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:b4(e[0]),body:di(e[0])}},htmlBuilder(t,e){var r=Ii(t.body,e,!0),n=Ie.makeSpan([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=gs(t.body,e),n=new st.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});O4e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},mG=o(()=>({type:"styling",body:[],mode:"math",style:"display"}),"newCell"),gG=o(t=>t.type==="textord"&&t.text==="@","isStartOfArrow"),P4e=o((t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e,"isLabelEnd");o(B4e,"cdArrow");o(F4e,"parseCD");Ct({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=Ie.wrapFragment(Or(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=mt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new st.MathNode("mrow",[mn(t.label,e)]);return r=new st.MathNode("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new st.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Ct({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=Ie.wrapFragment(Or(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new st.MathNode("mrow",[mn(t.fragment,e)])}});Ct({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=yr(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new ut("\\@char with invalid code point "+a);return u<=65535?h=String.fromCharCode(u):(u-=65536,h=String.fromCharCode((u>>10)+55296,(u&1023)+56320)),{type:"textord",mode:r.mode,text:h}}});t$=o((t,e)=>{var r=Ii(t.body,e.withColor(t.color),!1);return Ie.makeFragment(r)},"htmlBuilder$8"),r$=o((t,e)=>{var r=gs(t.body,e.withColor(t.color)),n=new st.MathNode("mstyle",r);return n.setAttribute("mathcolor",t.color),n},"mathmlBuilder$7");Ct({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=yr(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:di(i)}},htmlBuilder:t$,mathmlBuilder:r$});Ct({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=yr(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:t$,mathmlBuilder:r$});Ct({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&yr(i,"size").value}},htmlBuilder(t,e){var r=Ie.makeSpan(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=mt(Qn(t.size,e)))),r},mathmlBuilder(t,e){var r=new st.MathNode("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",mt(Qn(t.size,e)))),r}});CC={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},n$=o(t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new ut("Expected a control sequence",t);return e},"checkControlSequence"),z4e=o(t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},"getRHS"),i$=o((t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)},"letCommand");Ct({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(CC[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=CC[n.text]),yr(e.parseFunction(),"internal");throw new ut("Invalid token after macro prefix",n)}});Ct({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new ut("Expected a control sequence",n);for(var a=0,s,l=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),l[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new ut('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new ut('Argument number "'+n.text+'" out of order');a++,l.push([])}else{if(n.text==="EOF")throw new ut("Expected a macro definition");l[a].push(n.text)}var{tokens:u}=e.gullet.consumeArg();return s&&u.unshift(s),(r==="\\edef"||r==="\\xdef")&&(u=e.gullet.expandTokens(u),u.reverse()),e.gullet.macros.set(i,{tokens:u,numArgs:a,delimiters:l},r===CC[r]),{type:"internal",mode:e.mode}}});Ct({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=n$(e.gullet.popToken());e.gullet.consumeSpaces();var i=z4e(e);return i$(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Ct({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=n$(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return i$(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});K1=o(function(e,r,n){var i=En.math[e]&&En.math[e].replace,a=RC(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},"getMetrics"),FC=o(function(e,r,n,i){var a=n.havingBaseStyle(r),s=Ie.makeSpan(i.concat(a.sizingClasses(n)),[e],n),l=a.sizeMultiplier/n.sizeMultiplier;return s.height*=l,s.depth*=l,s.maxFontSize=a.sizeMultiplier,s},"styleWrap"),a$=o(function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=mt(a),e.height-=a,e.depth+=a},"centerSpan"),G4e=o(function(e,r,n,i,a,s){var l=Ie.makeSymbol(e,"Main-Regular",a,i),u=FC(l,r,i,s);return n&&a$(u,i,r),u},"makeSmallDelim"),$4e=o(function(e,r,n,i){return Ie.makeSymbol(e,"Size"+r+"-Regular",n,i)},"mathrmSize"),s$=o(function(e,r,n,i,a,s){var l=$4e(e,r,a,i),u=FC(Ie.makeSpan(["delimsizing","size"+r],[l],i),rr.TEXT,i,s);return n&&a$(u,i,rr.TEXT),u},"makeLargeDelim"),uC=o(function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Ie.makeSpan(["delimsizinginner",i],[Ie.makeSpan([],[Ie.makeSymbol(e,r,n)])]);return{type:"elem",elem:a}},"makeGlyphSpan"),hC=o(function(e,r,n){var i=Zl["Size4-Regular"][e.charCodeAt(0)]?Zl["Size4-Regular"][e.charCodeAt(0)][4]:Zl["Size1-Regular"][e.charCodeAt(0)][4],a=new Jl("inner",jbe(e,Math.round(1e3*r))),s=new fl([a],{width:mt(i),height:mt(r),style:"width:"+mt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),l=Ie.makeSvgSpan([],[s],n);return l.height=r,l.style.height=mt(r),l.style.width=mt(i),{type:"elem",elem:l}},"makeInner"),AC=.008,a4={type:"kern",size:-1*AC},V4e=["|","\\lvert","\\rvert","\\vert"],U4e=["\\|","\\lVert","\\rVert","\\Vert"],o$=o(function(e,r,n,i,a,s){var l,u,h,f,d="",p=0;l=h=f=e,u=null;var m="Size1-Regular";e==="\\uparrow"?h=f="\u23D0":e==="\\Uparrow"?h=f="\u2016":e==="\\downarrow"?l=h="\u23D0":e==="\\Downarrow"?l=h="\u2016":e==="\\updownarrow"?(l="\\uparrow",h="\u23D0",f="\\downarrow"):e==="\\Updownarrow"?(l="\\Uparrow",h="\u2016",f="\\Downarrow"):Jt.contains(V4e,e)?(h="\u2223",d="vert",p=333):Jt.contains(U4e,e)?(h="\u2225",d="doublevert",p=556):e==="["||e==="\\lbrack"?(l="\u23A1",h="\u23A2",f="\u23A3",m="Size4-Regular",d="lbrack",p=667):e==="]"||e==="\\rbrack"?(l="\u23A4",h="\u23A5",f="\u23A6",m="Size4-Regular",d="rbrack",p=667):e==="\\lfloor"||e==="\u230A"?(h=l="\u23A2",f="\u23A3",m="Size4-Regular",d="lfloor",p=667):e==="\\lceil"||e==="\u2308"?(l="\u23A1",h=f="\u23A2",m="Size4-Regular",d="lceil",p=667):e==="\\rfloor"||e==="\u230B"?(h=l="\u23A5",f="\u23A6",m="Size4-Regular",d="rfloor",p=667):e==="\\rceil"||e==="\u2309"?(l="\u23A4",h=f="\u23A5",m="Size4-Regular",d="rceil",p=667):e==="("||e==="\\lparen"?(l="\u239B",h="\u239C",f="\u239D",m="Size4-Regular",d="lparen",p=875):e===")"||e==="\\rparen"?(l="\u239E",h="\u239F",f="\u23A0",m="Size4-Regular",d="rparen",p=875):e==="\\{"||e==="\\lbrace"?(l="\u23A7",u="\u23A8",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(l="\u23AB",u="\u23AC",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lgroup"||e==="\u27EE"?(l="\u23A7",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\rgroup"||e==="\u27EF"?(l="\u23AB",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lmoustache"||e==="\u23B0"?(l="\u23A7",f="\u23AD",h="\u23AA",m="Size4-Regular"):(e==="\\rmoustache"||e==="\u23B1")&&(l="\u23AB",f="\u23A9",h="\u23AA",m="Size4-Regular");var g=K1(l,m,a),y=g.height+g.depth,v=K1(h,m,a),x=v.height+v.depth,b=K1(f,m,a),w=b.height+b.depth,_=0,T=1;if(u!==null){var E=K1(u,m,a);_=E.height+E.depth,T=2}var L=y+w+_,C=Math.max(0,Math.ceil((r-L)/(T*x))),A=L+C*T*x,I=i.fontMetrics().axisHeight;n&&(I*=i.sizeMultiplier);var D=A/2-I,k=[];if(d.length>0){var R=A-y-w,S=Math.round(A*1e3),O=Kbe(d,Math.round(R*1e3)),N=new Jl(d,O),P=(p/1e3).toFixed(3)+"em",F=(S/1e3).toFixed(3)+"em",B=new fl([N],{width:P,height:F,viewBox:"0 0 "+p+" "+S}),$=Ie.makeSvgSpan([],[B],i);$.height=S/1e3,$.style.width=P,$.style.height=F,k.push({type:"elem",elem:$})}else{if(k.push(uC(f,m,a)),k.push(a4),u===null){var z=A-y-w+2*AC;k.push(hC(h,z,i))}else{var W=(A-y-w-_)/2+2*AC;k.push(hC(h,W,i)),k.push(a4),k.push(uC(u,m,a)),k.push(a4),k.push(hC(h,W,i))}k.push(a4),k.push(uC(l,m,a))}var j=i.havingBaseStyle(rr.TEXT),K=Ie.makeVList({positionType:"bottom",positionData:D,children:k},j);return FC(Ie.makeSpan(["delimsizing","mult"],[K],j),rr.TEXT,i,s)},"makeStackedDelim"),fC=80,dC=.08,pC=o(function(e,r,n,i,a){var s=Xbe(e,i,n),l=new Jl(e,s),u=new fl([l],{width:"400em",height:mt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return Ie.makeSvgSpan(["hide-tail"],[u],a)},"sqrtSvg"),H4e=o(function(e,r){var n=r.havingBaseSizing(),i=h$("\\surd",e*n.sizeMultiplier,u$,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),l,u=0,h=0,f=0,d;return i.type==="small"?(f=1e3+1e3*s+fC,e<1?a=1:e<1.4&&(a=.7),u=(1+s+dC)/a,h=(1+s)/a,l=pC("sqrtMain",u,f,s,r),l.style.minWidth="0.853em",d=.833/a):i.type==="large"?(f=(1e3+fC)*Q1[i.size],h=(Q1[i.size]+s)/a,u=(Q1[i.size]+s+dC)/a,l=pC("sqrtSize"+i.size,u,f,s,r),l.style.minWidth="1.02em",d=1/a):(u=e+s+dC,h=e+s,f=Math.floor(1e3*e+s)+fC,l=pC("sqrtTall",u,f,s,r),l.style.minWidth="0.742em",d=1.056),l.height=h,l.style.height=mt(u),{span:l,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},"makeSqrtImage"),l$=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"],W4e=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"],c$=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Q1=[0,1.2,1.8,2.4,3],Y4e=o(function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle"),Jt.contains(l$,e)||Jt.contains(c$,e))return s$(e,r,!1,n,i,a);if(Jt.contains(W4e,e))return o$(e,Q1[r],!1,n,i,a);throw new ut("Illegal delimiter: '"+e+"'")},"makeSizedDelim"),q4e=[{type:"small",style:rr.SCRIPTSCRIPT},{type:"small",style:rr.SCRIPT},{type:"small",style:rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],X4e=[{type:"small",style:rr.SCRIPTSCRIPT},{type:"small",style:rr.SCRIPT},{type:"small",style:rr.TEXT},{type:"stack"}],u$=[{type:"small",style:rr.SCRIPTSCRIPT},{type:"small",style:rr.SCRIPT},{type:"small",style:rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],j4e=o(function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},"delimTypeToFont"),h$=o(function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return n[s]}return n[n.length-1]},"traverseSequence"),f$=o(function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle");var l;Jt.contains(c$,e)?l=q4e:Jt.contains(l$,e)?l=u$:l=X4e;var u=h$(e,r,l,i);return u.type==="small"?G4e(e,u.style,n,i,a,s):u.type==="large"?s$(e,u.size,n,i,a,s):o$(e,r,n,i,a,s)},"makeCustomSizedDelim"),K4e=o(function(e,r,n,i,a,s){var l=i.fontMetrics().axisHeight*i.sizeMultiplier,u=901,h=5/i.fontMetrics().ptPerEm,f=Math.max(r-l,n+l),d=Math.max(f/500*u,2*f-h);return f$(e,d,!0,i,a,s)},"makeLeftRightDelim"),nu={sqrtImage:H4e,sizedDelim:Y4e,sizeToMaxHeight:Q1,customSizedDelim:f$,leftRightDelim:K4e},yG={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Q4e=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];o(w4,"checkDelimiter");Ct({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:o((t,e)=>{var r=w4(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:yG[t.funcName].size,mclass:yG[t.funcName].mclass,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>t.delim==="."?Ie.makeSpan([t.mclass]):nu.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),"htmlBuilder"),mathmlBuilder:o(t=>{var e=[];t.delim!=="."&&e.push(Ao(t.delim,t.mode));var r=new st.MathNode("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=mt(nu.sizeToMaxHeight[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r},"mathmlBuilder")});o(vG,"assertParsed");Ct({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new ut("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:w4(e[0],t).text,color:r}},"handler")});Ct({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=w4(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=yr(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},"handler"),htmlBuilder:o((t,e)=>{vG(t);for(var r=Ii(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{vG(t);var r=gs(t.body,e);if(t.left!=="."){var n=new st.MathNode("mo",[Ao(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new st.MathNode("mo",[Ao(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return IC(r)},"mathmlBuilder")});Ct({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=w4(e[0],t);if(!t.parser.leftrightDepth)throw new ut("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>{var r;if(t.delim===".")r=ry(e,[]);else{r=nu.sizedDelim(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Ao("|","text"):Ao(t.delim,t.mode),n=new st.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n},"mathmlBuilder")});zC=o((t,e)=>{var r=Ie.wrapFragment(Or(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,l=Jt.isCharacterBox(t.body);if(n==="sout")a=Ie.makeSpan(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var u=Qn({number:.6,unit:"pt"},e),h=Qn({number:.35,unit:"ex"},e),f=e.havingBaseSizing();i=i/f.sizeMultiplier;var d=r.height+r.depth+u+h;r.style.paddingLeft=mt(d/2+u);var p=Math.floor(1e3*d*i),m=Ybe(p),g=new fl([new Jl("phase",m)],{width:"400em",height:mt(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});a=Ie.makeSvgSpan(["hide-tail"],[g],e),a.style.height=mt(d),s=r.depth+u+h}else{/cancel/.test(n)?l||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var y=0,v=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),y=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),v=y):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),y=4*x,v=Math.max(0,.25-r.depth)):(y=l?.2:0,v=y),a=au.encloseSpan(r,n,y,v,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=mt(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=mt(x),a.style.borderRightWidth=mt(x)),s=r.depth+v,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var b;if(t.backgroundColor)b=Ie.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]},e);else{var w=/cancel|phase/.test(n)?["svg-align"]:[];b=Ie.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:w}]},e)}return/cancel/.test(n)&&(b.height=r.height,b.depth=r.depth),/cancel/.test(n)&&!l?Ie.makeSpan(["mord","cancel-lap"],[b],e):Ie.makeSpan(["mord"],[b],e)},"htmlBuilder$7"),GC=o((t,e)=>{var r=0,n=new st.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[mn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+i+"em solid "+String(t.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n},"mathmlBuilder$6");Ct({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=yr(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:zC,mathmlBuilder:GC});Ct({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=yr(e[0],"color-token").color,s=yr(e[1],"color-token").color,l=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:l}},htmlBuilder:zC,mathmlBuilder:GC});Ct({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Ct({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:zC,mathmlBuilder:GC});Ct({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});d$={};o(ec,"defineEnvironment");p$={};o(le,"defineMacro");o(xG,"getHLines");T4=o(t=>{var e=t.parser.settings;if(!e.displayMode)throw new ut("{"+t.envName+"} can be used only in display mode.")},"validateAmsEnvironmentContext");o($C,"getAutoTag");o(uh,"parseArray");o(VC,"dCellStyle");tc=o(function(e,r){var n,i,a=e.body.length,s=e.hLinesBeforeRow,l=0,u=new Array(a),h=[],f=Math.max(r.fontMetrics().arrayRuleWidth,r.minRuleThickness),d=1/r.fontMetrics().ptPerEm,p=5*d;if(e.colSeparationType&&e.colSeparationType==="small"){var m=r.havingStyle(rr.SCRIPT).sizeMultiplier;p=.2778*(m/r.sizeMultiplier)}var g=e.colSeparationType==="CD"?Qn({number:3,unit:"ex"},r):12*d,y=3*d,v=e.arraystretch*g,x=.7*v,b=.3*v,w=0;function _(ke){for(var Fe=0;Fe0&&(w+=.25),h.push({pos:w,isDashed:ke[Fe]})}for(o(_,"setHLinePos"),_(s[0]),n=0;n0&&(D+=b,Lke))for(n=0;n=l)){var ee=void 0;(i>0||e.hskipBeforeAndAfter)&&(ee=Jt.deflt(W.pregap,p),ee!==0&&(O=Ie.makeSpan(["arraycolsep"],[]),O.style.width=mt(ee),S.push(O)));var J=[];for(n=0;n0){for(var ae=Ie.makeLineSpan("hline",r,f),ue=Ie.makeLineSpan("hdashline",r,f),ce=[{type:"elem",elem:u,shift:0}];h.length>0;){var te=h.pop(),De=te.pos-k;te.isDashed?ce.push({type:"elem",elem:ue,shift:De}):ce.push({type:"elem",elem:ae,shift:De})}u=Ie.makeVList({positionType:"individualShift",children:ce},r)}if(P.length===0)return Ie.makeSpan(["mord"],[u],r);var oe=Ie.makeVList({positionType:"individualShift",children:P},r);return oe=Ie.makeSpan(["tag"],[oe],r),Ie.makeFragment([u,oe])},"htmlBuilder"),Z4e={c:"center ",l:"left ",r:"right "},rc=o(function(e,r){for(var n=[],i=new st.MathNode("mtd",[],["mtr-glue"]),a=new st.MathNode("mtd",[],["mml-eqn-num"]),s=0;s0){var g=e.cols,y="",v=!1,x=0,b=g.length;g[0].type==="separator"&&(p+="top ",x=1),g[g.length-1].type==="separator"&&(p+="bottom ",b-=1);for(var w=x;w0?"left ":"",p+=C[C.length-1].length>0?"right ":"";for(var A=1;A-1?"alignat":"align",a=e.envName==="split",s=uh(e.parser,{cols:n,addJot:!0,autoTag:a?void 0:$C(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),l,u=0,h={type:"ordgroup",mode:e.mode,body:[]};if(r[0]&&r[0].type==="ordgroup"){for(var f="",d=0;d0&&m&&(v=1),n[g]={type:"align",align:y,pregap:v,postgap:0}}return s.colSeparationType=m?"align":"alignat",s},"alignedHandler");ec({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=x4(e[0]),n=r?[e[0]]:yr(e[0],"ordgroup").body,i=n.map(function(s){var l=PC(s),u=l.text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new ut("Unknown column alignment: "+u,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return uh(t.parser,a,VC(t.envName))},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,"lcr".indexOf(r)===-1)throw new ut("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=uh(t.parser,n,VC(t.envName)),s=Math.max(0,...a.body.map(l=>l.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=uh(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=x4(e[0]),n=r?[e[0]]:yr(e[0],"ordgroup").body,i=n.map(function(s){var l=PC(s),u=l.text;if("lc".indexOf(u)!==-1)return{type:"align",align:u};throw new ut("Unknown column alignment: "+u,s)});if(i.length>1)throw new ut("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5};if(a=uh(t.parser,a,"script"),a.body.length>0&&a.body[0].length>1)throw new ut("{subarray} can contain only one column");return a},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=uh(t.parser,e,VC(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:m$,htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){Jt.contains(["gather","gather*"],t.envName)&&T4(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:$C(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return uh(t.parser,e,"display")},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:m$,htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){T4(t);var e={autoTag:$C(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return uh(t.parser,e,"display")},htmlBuilder:tc,mathmlBuilder:rc});ec({type:"array",names:["CD"],props:{numArgs:0},handler(t){return T4(t),F4e(t.parser)},htmlBuilder:tc,mathmlBuilder:rc});le("\\nonumber","\\gdef\\@eqnsw{0}");le("\\notag","\\nonumber");Ct({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new ut(t.funcName+" valid only within array environment")}});bG=d$;Ct({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new ut("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return Or(t.body,n)},"htmlBuilder$5"),y$=o((t,e)=>{var r=t.font,n=e.withFont(r);return mn(t.body,n)},"mathmlBuilder$4"),wG={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Ct({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=p4(e[0]),a=n;return a in wG&&(a=wG[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},"handler"),htmlBuilder:g$,mathmlBuilder:y$});Ct({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r}=t,n=e[0],i=Jt.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:b4(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:i}},"handler")});Ct({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),l="math"+n.slice(1);return{type:"font",mode:a,font:l,body:{type:"ordgroup",mode:r.mode,body:s}}},"handler"),htmlBuilder:g$,mathmlBuilder:y$});v$=o((t,e)=>{var r=e;return t==="display"?r=r.id>=rr.SCRIPT.id?r.text():rr.DISPLAY:t==="text"&&r.size===rr.DISPLAY.size?r=rr.TEXT:t==="script"?r=rr.SCRIPT:t==="scriptscript"&&(r=rr.SCRIPTSCRIPT),r},"adjustStyle"),UC=o((t,e)=>{var r=v$(t.size,e.style),n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=Or(t.numer,a,e);if(t.continued){var l=8.5/e.fontMetrics().ptPerEm,u=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?g=3*p:g=7*p,y=e.fontMetrics().denom1):(d>0?(m=e.fontMetrics().num2,g=p):(m=e.fontMetrics().num3,g=3*p),y=e.fontMetrics().denom2);var v;if(f){var b=e.fontMetrics().axisHeight;m-s.depth-(b+.5*d){var r=new st.MathNode("mfrac",[mn(t.numer,e),mn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=Qn(t.barSize,e);r.setAttribute("linethickness",mt(n))}var i=v$(t.size,e.style);if(i.size!==e.style.size){r=new st.MathNode("mstyle",[r]);var a=i.size===rr.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",a),r.setAttribute("scriptlevel","0")}if(t.leftDelim!=null||t.rightDelim!=null){var s=[];if(t.leftDelim!=null){var l=new st.MathNode("mo",[new st.TextNode(t.leftDelim.replace("\\",""))]);l.setAttribute("fence","true"),s.push(l)}if(s.push(r),t.rightDelim!=null){var u=new st.MathNode("mo",[new st.TextNode(t.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),s.push(u)}return IC(s)}return r},"mathmlBuilder$3");Ct({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,l=null,u=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,l="(",u=")";break;case"\\\\bracefrac":s=!1,l="\\{",u="\\}";break;case"\\\\brackfrac":s=!1,l="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text";break}return{type:"genfrac",mode:r.mode,continued:!1,numer:i,denom:a,hasBarLine:s,leftDelim:l,rightDelim:u,size:h,barSize:null}},"handler"),htmlBuilder:UC,mathmlBuilder:HC});Ct({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:i,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}},"handler")});Ct({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});TG=["display","text","script","scriptscript"],kG=o(function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r},"delimFromValue");Ct({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=p4(e[0]),s=a.type==="atom"&&a.family==="open"?kG(a.text):null,l=p4(e[1]),u=l.type==="atom"&&l.family==="close"?kG(l.text):null,h=yr(e[2],"size"),f,d=null;h.isBlank?f=!0:(d=h.value,f=d.number>0);var p="auto",m=e[3];if(m.type==="ordgroup"){if(m.body.length>0){var g=yr(m.body[0],"textord");p=TG[Number(g.text)]}}else m=yr(m,"textord"),p=TG[Number(m.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:f,barSize:d,leftDelim:s,rightDelim:u,size:p}},htmlBuilder:UC,mathmlBuilder:HC});Ct({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:yr(e[0],"size").value,token:i}}});Ct({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Nbe(yr(e[1],"infix").size),s=e[2],l=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:l,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},"handler"),htmlBuilder:UC,mathmlBuilder:HC});x$=o((t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?Or(t.sup,e.havingStyle(r.sup()),e):Or(t.sub,e.havingStyle(r.sub()),e),i=yr(t.base,"horizBrace")):i=yr(t,"horizBrace");var a=Or(i.base,e.havingBaseStyle(rr.DISPLAY)),s=au.svgSpan(i,e),l;if(i.isOver?(l=Ie.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]},e),l.children[0].children[0].children[1].classes.push("svg-align")):(l=Ie.makeVList({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]},e),l.children[0].children[0].children[0].classes.push("svg-align")),n){var u=Ie.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e);i.isOver?l=Ie.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:.2},{type:"elem",elem:n}]},e):l=Ie.makeVList({positionType:"bottom",positionData:u.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:u}]},e)}return Ie.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e)},"htmlBuilder$3"),J4e=o((t,e)=>{var r=au.mathMLnode(t.label);return new st.MathNode(t.isOver?"mover":"munder",[mn(t.base,e),r])},"mathmlBuilder$2");Ct({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:e[0]}},htmlBuilder:x$,mathmlBuilder:J4e});Ct({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[1],i=yr(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:di(n)}:r.formatUnsupportedCmd("\\href")},"handler"),htmlBuilder:o((t,e)=>{var r=Ii(t.body,e,!1);return Ie.makeAnchor(t.href,[],r,e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=ch(t.body,e);return r instanceof ps||(r=new ps("mrow",[r])),r.setAttribute("href",t.href),r},"mathmlBuilder")});Ct({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=yr(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=yr(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var l,u={};switch(n){case"\\htmlClass":u.class=a,l={command:"\\htmlClass",class:a};break;case"\\htmlId":u.id=a,l={command:"\\htmlId",id:a};break;case"\\htmlStyle":u.style=a,l={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var h=a.split(","),f=0;f{var r=Ii(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Ie.makeSpan(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},"htmlBuilder"),mathmlBuilder:o((t,e)=>ch(t.body,e),"mathmlBuilder")});Ct({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:di(e[0]),mathml:di(e[1])}},"handler"),htmlBuilder:o((t,e)=>{var r=Ii(t.html,e,!1);return Ie.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>ch(t.mathml,e),"mathmlBuilder")});mC=o(function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new ut("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!FG(n))throw new ut("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n},"sizeData");Ct({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:o((t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},l="";if(r[0])for(var u=yr(r[0],"raw").string,h=u.split(","),f=0;f{var r=Qn(t.height,e),n=0;t.totalheight.number>0&&(n=Qn(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=Qn(t.width,e));var a={height:mt(r+n)};i>0&&(a.width=mt(i)),n>0&&(a.verticalAlign=mt(-n));var s=new wC(t.src,t.alt,a);return s.height=r,s.depth=n,s},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new st.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var n=Qn(t.height,e),i=0;if(t.totalheight.number>0&&(i=Qn(t.totalheight,e)-n,r.setAttribute("valign",mt(-i))),r.setAttribute("height",mt(n+i)),t.width.number>0){var a=Qn(t.width,e);r.setAttribute("width",mt(a))}return r.setAttribute("src",t.src),r},"mathmlBuilder")});Ct({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=yr(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return Ie.makeGlue(t.dimension,e)},mathmlBuilder(t,e){var r=Qn(t.dimension,e);return new st.SpaceNode(r)}});Ct({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},"handler"),htmlBuilder:o((t,e)=>{var r;t.alignment==="clap"?(r=Ie.makeSpan([],[Or(t.body,e)]),r=Ie.makeSpan(["inner"],[r],e)):r=Ie.makeSpan(["inner"],[Or(t.body,e)]);var n=Ie.makeSpan(["fix"],[]),i=Ie.makeSpan([t.alignment],[r,n],e),a=Ie.makeSpan(["strut"]);return a.style.height=mt(i.height+i.depth),i.depth&&(a.style.verticalAlign=mt(-i.depth)),i.children.unshift(a),i=Ie.makeSpan(["thinbox"],[i],e),Ie.makeSpan(["mord","vbox"],[i],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new st.MathNode("mpadded",[mn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r},"mathmlBuilder")});Ct({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Ct({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new ut("Mismatched "+t.funcName)}});EG=o((t,e)=>{switch(e.style.size){case rr.DISPLAY.size:return t.display;case rr.TEXT.size:return t.text;case rr.SCRIPT.size:return t.script;case rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}},"chooseMathStyle");Ct({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:di(e[0]),text:di(e[1]),script:di(e[2]),scriptscript:di(e[3])}},"handler"),htmlBuilder:o((t,e)=>{var r=EG(t,e),n=Ii(r,e,!1);return Ie.makeFragment(n)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=EG(t,e);return ch(r,e)},"mathmlBuilder")});b$=o((t,e,r,n,i,a,s)=>{t=Ie.makeSpan([],[t]);var l=r&&Jt.isCharacterBox(r),u,h;if(e){var f=Or(e,n.havingStyle(i.sup()),n);h={elem:f,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-f.depth)}}if(r){var d=Or(r,n.havingStyle(i.sub()),n);u={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var p;if(h&&u){var m=n.fontMetrics().bigOpSpacing5+u.elem.height+u.elem.depth+u.kern+t.depth+s;p=Ie.makeVList({positionType:"bottom",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:mt(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:mt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(u){var g=t.height-s;p=Ie.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:mt(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t}]},n)}else if(h){var y=t.depth+s;p=Ie.makeVList({positionType:"bottom",positionData:y,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:mt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else return t;var v=[p];if(u&&a!==0&&!l){var x=Ie.makeSpan(["mspace"],[],n);x.style.marginRight=mt(a),v.unshift(x)}return Ie.makeSpan(["mop","op-limits"],v,n)},"assembleSupSub"),w$=["\\smallint"],pp=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=yr(t.base,"op"),i=!0):a=yr(t,"op");var s=e.style,l=!1;s.size===rr.DISPLAY.size&&a.symbol&&!Jt.contains(w$,a.name)&&(l=!0);var u;if(a.symbol){var h=l?"Size2-Regular":"Size1-Regular",f="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(f=a.name.slice(1),a.name=f==="oiint"?"\\iint":"\\iiint"),u=Ie.makeSymbol(a.name,h,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),f.length>0){var d=u.italic,p=Ie.staticSvg(f+"Size"+(l?"2":"1"),e);u=Ie.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),a.name="\\"+f,u.classes.unshift("mop"),u.italic=d}}else if(a.body){var m=Ii(a.body,e,!0);m.length===1&&m[0]instanceof ms?(u=m[0],u.classes[0]="mop"):u=Ie.makeSpan(["mop"],m,e)}else{for(var g=[],y=1;y{var r;if(t.symbol)r=new ps("mo",[Ao(t.name,t.mode)]),Jt.contains(w$,t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new ps("mo",gs(t.body,e));else{r=new ps("mi",[new Wf(t.name.slice(1))]);var n=new ps("mo",[Ao("\u2061","text")]);t.parentIsSupSub?r=new ps("mrow",[r,n]):r=jG([r,n])}return r},"mathmlBuilder$1"),e3e={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};Ct({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=e3e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},"handler"),htmlBuilder:pp,mathmlBuilder:ny});Ct({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:di(n)}},"handler"),htmlBuilder:pp,mathmlBuilder:ny});t3e={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};Ct({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:pp,mathmlBuilder:ny});Ct({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:pp,mathmlBuilder:ny});Ct({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=t3e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:pp,mathmlBuilder:ny});T$=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=yr(t.base,"operatorname"),i=!0):a=yr(t,"operatorname");var s;if(a.body.length>0){for(var l=a.body.map(d=>{var p=d.text;return typeof p=="string"?{type:"textord",mode:d.mode,text:p}:d}),u=Ii(l,e.withFont("mathrm"),!0),h=0;h{for(var r=gs(t.body,e.withFont("mathrm")),n=!0,i=0;if.toText()).join("");r=[new st.TextNode(l)]}var u=new st.MathNode("mi",r);u.setAttribute("mathvariant","normal");var h=new st.MathNode("mo",[Ao("\u2061","text")]);return t.parentIsSupSub?new st.MathNode("mrow",[u,h]):st.newDocumentFragment([u,h])},"mathmlBuilder");Ct({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:di(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},"handler"),htmlBuilder:T$,mathmlBuilder:r3e});le("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");Xf({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Ie.makeFragment(Ii(t.body,e,!1)):Ie.makeSpan(["mord"],Ii(t.body,e,!0),e)},mathmlBuilder(t,e){return ch(t.body,e,!0)}});Ct({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=Or(t.body,e.havingCrampedStyle()),n=Ie.makeLineSpan("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Ie.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]},e);return Ie.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new st.MathNode("mo",[new st.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new st.MathNode("mover",[mn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Ct({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:di(n)}},"handler"),htmlBuilder:o((t,e)=>{var r=Ii(t.body,e.withPhantom(),!1);return Ie.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=gs(t.body,e);return new st.MathNode("mphantom",r)},"mathmlBuilder")});Ct({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"hphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=Ie.makeSpan([],[Or(t.body,e.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n{var r=gs(di(t.body),e),n=new st.MathNode("mphantom",r),i=new st.MathNode("mpadded",[n]);return i.setAttribute("height","0px"),i.setAttribute("depth","0px"),i},"mathmlBuilder")});Ct({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=Ie.makeSpan(["inner"],[Or(t.body,e.withPhantom())]),n=Ie.makeSpan(["fix"],[]);return Ie.makeSpan(["mord","rlap"],[r,n],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=gs(di(t.body),e),n=new st.MathNode("mphantom",r),i=new st.MathNode("mpadded",[n]);return i.setAttribute("width","0px"),i},"mathmlBuilder")});Ct({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=yr(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=Or(t.body,e),n=Qn(t.dy,e);return Ie.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){var r=new st.MathNode("mpadded",[mn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Ct({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Ct({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=yr(e[0],"size"),s=yr(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&yr(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Ie.makeSpan(["mord","rule"],[],e),n=Qn(t.width,e),i=Qn(t.height,e),a=t.shift?Qn(t.shift,e):0;return r.style.borderRightWidth=mt(n),r.style.borderTopWidth=mt(i),r.style.bottom=mt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=Qn(t.width,e),n=Qn(t.height,e),i=t.shift?Qn(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new st.MathNode("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",mt(r)),s.setAttribute("height",mt(n));var l=new st.MathNode("mpadded",[s]);return i>=0?l.setAttribute("height",mt(i)):(l.setAttribute("height",mt(i)),l.setAttribute("depth",mt(-i))),l.setAttribute("voffset",mt(i)),l}});o(k$,"sizingGroup");SG=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],n3e=o((t,e)=>{var r=e.havingSize(t.size);return k$(t.body,r,e)},"htmlBuilder");Ct({type:"sizing",names:SG,props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:SG.indexOf(n)+1,body:a}},"handler"),htmlBuilder:n3e,mathmlBuilder:o((t,e)=>{var r=e.havingSize(t.size),n=gs(t.body,r),i=new st.MathNode("mstyle",n);return i.setAttribute("mathsize",mt(r.sizeMultiplier)),i},"mathmlBuilder")});Ct({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:o((t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&yr(r[0],"ordgroup");if(s)for(var l="",u=0;u{var r=Ie.makeSpan([],[Or(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0,r.children))for(var n=0;n{var r=new st.MathNode("mpadded",[mn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r},"mathmlBuilder")});Ct({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=Or(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=Ie.wrapFragment(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var p=u.height-r.height-s-h;r.style.paddingLeft=mt(f);var m=Ie.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+p)},{type:"elem",elem:u},{type:"kern",size:h}]},e);if(t.index){var g=e.havingStyle(rr.SCRIPTSCRIPT),y=Or(t.index,g,e),v=.6*(m.height-m.depth),x=Ie.makeVList({positionType:"shift",positionData:-v,children:[{type:"elem",elem:y}]},e),b=Ie.makeSpan(["root"],[x]);return Ie.makeSpan(["mord","sqrt"],[b,m],e)}else return Ie.makeSpan(["mord","sqrt"],[m],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new st.MathNode("mroot",[mn(r,e),mn(n,e)]):new st.MathNode("msqrt",[mn(r,e)])}});CG={display:rr.DISPLAY,text:rr.TEXT,script:rr.SCRIPT,scriptscript:rr.SCRIPTSCRIPT};Ct({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=CG[t.style],n=e.havingStyle(r).withFont("");return k$(t.body,n,e)},mathmlBuilder(t,e){var r=CG[t.style],n=e.havingStyle(r),i=gs(t.body,n),a=new st.MathNode("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},l=s[t.style];return a.setAttribute("scriptlevel",l[0]),a.setAttribute("displaystyle",l[1]),a}});i3e=o(function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===rr.DISPLAY.size||n.alwaysHandleSupSub);return i?pp:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===rr.DISPLAY.size||n.limits);return a?T$:null}else{if(n.type==="accent")return Jt.isCharacterBox(n.base)?BC:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?x$:null}else return null}else return null},"htmlBuilderDelegate");Xf({type:"supsub",htmlBuilder(t,e){var r=i3e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=Or(n,e),l,u,h=e.fontMetrics(),f=0,d=0,p=n&&Jt.isCharacterBox(n);if(i){var m=e.havingStyle(e.style.sup());l=Or(i,m,e),p||(f=s.height-m.fontMetrics().supDrop*m.sizeMultiplier/e.sizeMultiplier)}if(a){var g=e.havingStyle(e.style.sub());u=Or(a,g,e),p||(d=s.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}var y;e.style===rr.DISPLAY?y=h.sup1:e.style.cramped?y=h.sup3:y=h.sup2;var v=e.sizeMultiplier,x=mt(.5/h.ptPerEm/v),b=null;if(u){var w=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof ms||w)&&(b=mt(-s.italic))}var _;if(l&&u){f=Math.max(f,y,l.depth+.25*h.xHeight),d=Math.max(d,h.sub2);var T=h.defaultRuleThickness,E=4*T;if(f-l.depth-(u.height-d)0&&(f+=L,d-=L)}var C=[{type:"elem",elem:u,shift:d,marginRight:x,marginLeft:b},{type:"elem",elem:l,shift:-f,marginRight:x}];_=Ie.makeVList({positionType:"individualShift",children:C},e)}else if(u){d=Math.max(d,h.sub1,u.height-.8*h.xHeight);var A=[{type:"elem",elem:u,marginLeft:b,marginRight:x}];_=Ie.makeVList({positionType:"shift",positionData:d,children:A},e)}else if(l)f=Math.max(f,y,l.depth+.25*h.xHeight),_=Ie.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:l,marginRight:x}]},e);else throw new Error("supsub must have either sup or sub.");var I=kC(s,"right")||"mord";return Ie.makeSpan([I],[s,Ie.makeSpan(["msupsub"],[_])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[mn(t.base,e)];t.sub&&a.push(mn(t.sub,e)),t.sup&&a.push(mn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var h=t.base;h&&h.type==="op"&&h.limits&&e.style===rr.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===rr.DISPLAY||h.limits)?s="munderover":s="msubsup"}else{var u=t.base;u&&u.type==="op"&&u.limits&&(e.style===rr.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===rr.DISPLAY)?s="munder":s="msub"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===rr.DISPLAY)?s="mover":s="msup"}return new st.MathNode(s,a)}});Xf({type:"atom",htmlBuilder(t,e){return Ie.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new st.MathNode("mo",[Ao(t.text,t.mode)]);if(t.family==="bin"){var n=OC(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});E$={mi:"italic",mn:"normal",mtext:"normal"};Xf({type:"mathord",htmlBuilder(t,e){return Ie.makeOrd(t,e,"mathord")},mathmlBuilder(t,e){var r=new st.MathNode("mi",[Ao(t.text,t.mode,e)]),n=OC(t,e)||"italic";return n!==E$[r.type]&&r.setAttribute("mathvariant",n),r}});Xf({type:"textord",htmlBuilder(t,e){return Ie.makeOrd(t,e,"textord")},mathmlBuilder(t,e){var r=Ao(t.text,t.mode,e),n=OC(t,e)||"normal",i;return t.mode==="text"?i=new st.MathNode("mtext",[r]):/[0-9]/.test(t.text)?i=new st.MathNode("mn",[r]):t.text==="\\prime"?i=new st.MathNode("mo",[r]):i=new st.MathNode("mi",[r]),n!==E$[i.type]&&i.setAttribute("mathvariant",n),i}});gC={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},yC={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};Xf({type:"spacing",htmlBuilder(t,e){if(yC.hasOwnProperty(t.text)){var r=yC[t.text].className||"";if(t.mode==="text"){var n=Ie.makeOrd(t,e,"textord");return n.classes.push(r),n}else return Ie.makeSpan(["mspace",r],[Ie.mathsym(t.text,t.mode,e)],e)}else{if(gC.hasOwnProperty(t.text))return Ie.makeSpan(["mspace",gC[t.text]],[],e);throw new ut('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(yC.hasOwnProperty(t.text))r=new st.MathNode("mtext",[new st.TextNode("\xA0")]);else{if(gC.hasOwnProperty(t.text))return new st.MathNode("mspace");throw new ut('Unknown type of space "'+t.text+'"')}return r}});AG=o(()=>{var t=new st.MathNode("mtd",[]);return t.setAttribute("width","50%"),t},"pad");Xf({type:"tag",mathmlBuilder(t,e){var r=new st.MathNode("mtable",[new st.MathNode("mtr",[AG(),new st.MathNode("mtd",[ch(t.body,e)]),AG(),new st.MathNode("mtd",[ch(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});_G={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},LG={"\\textbf":"textbf","\\textmd":"textmd"},a3e={"\\textit":"textit","\\textup":"textup"},DG=o((t,e)=>{var r=t.font;if(r){if(_G[r])return e.withTextFontFamily(_G[r]);if(LG[r])return e.withTextFontWeight(LG[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(a3e[r])},"optionsWithFont");Ct({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:di(i),font:n}},htmlBuilder(t,e){var r=DG(t,e),n=Ii(t.body,r,!0);return Ie.makeSpan(["mord","text"],n,r)},mathmlBuilder(t,e){var r=DG(t,e);return ch(t.body,r)}});Ct({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=Or(t.body,e),n=Ie.makeLineSpan("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Ie.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]},e);return Ie.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new st.MathNode("mo",[new st.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new st.MathNode("munder",[mn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Ct({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=Or(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return Ie.makeVList({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){return new st.MathNode("mpadded",[mn(t.body,e)],["vcenter"])}});Ct({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new ut("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=NG(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"\u2423":"\xA0"),"makeVerb"),oh=qG,S$=`[ \r ]`,s3e="\\\\[a-zA-Z@]+",o3e="\\\\[^\uD800-\uDFFF]",l3e="("+s3e+")"+S$+"*",c3e=`\\\\( |[ \r ]+ ?)[ \r ]*`,_C="[\u0300-\u036F]",u3e=new RegExp(_C+"+$"),h3e="("+S$+"+)|"+(c3e+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(_C+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(_C+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+l3e)+("|"+o3e+")"),m4=class{static{o(this,"Lexer")}constructor(e,r){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=r,this.tokenRegex=new RegExp(h3e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new Co("EOF",new Ys(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new ut("Unexpected character: '"+e[r]+"'",new Co(e[r],new Ys(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` `,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new Co(i,new Ys(this,r,this.tokenRegex.lastIndex))}},LC=class{static{o(this,"Namespace")}constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new ut("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}},f3e=p$;le("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});le("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});le("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});le("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});le("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});le("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");le("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});RG={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};le("\\char",function(t){var e=t.popToken(),r,n="";if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new ut("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=RG[e.text],n==null||n>=r)throw new ut("Invalid base-"+r+" digit "+e.text);for(var i;(i=RG[t.future().text])!=null&&i{var n=t.consumeArg().tokens;if(n.length!==1)throw new ut("\\newcommand's first argument must be a macro name");var i=n[0].text,a=t.isDefined(i);if(a&&!e)throw new ut("\\newcommand{"+i+"} attempting to redefine "+(i+"; use \\renewcommand"));if(!a&&!r)throw new ut("\\renewcommand{"+i+"} when command "+i+" does not yet exist; use \\newcommand");var s=0;if(n=t.consumeArg().tokens,n.length===1&&n[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new ut("Invalid number of arguments: "+l);s=parseInt(l),n=t.consumeArg().tokens}return t.macros.set(i,{tokens:n,numArgs:s}),""},"newcommand");le("\\newcommand",t=>WC(t,!1,!0));le("\\renewcommand",t=>WC(t,!0,!1));le("\\providecommand",t=>WC(t,!0,!0));le("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});le("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});le("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),oh[r],En.math[r],En.text[r]),""});le("\\bgroup","{");le("\\egroup","}");le("~","\\nobreakspace");le("\\lq","`");le("\\rq","'");le("\\aa","\\r a");le("\\AA","\\r A");le("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");le("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");le("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");le("\u212C","\\mathscr{B}");le("\u2130","\\mathscr{E}");le("\u2131","\\mathscr{F}");le("\u210B","\\mathscr{H}");le("\u2110","\\mathscr{I}");le("\u2112","\\mathscr{L}");le("\u2133","\\mathscr{M}");le("\u211B","\\mathscr{R}");le("\u212D","\\mathfrak{C}");le("\u210C","\\mathfrak{H}");le("\u2128","\\mathfrak{Z}");le("\\Bbbk","\\Bbb{k}");le("\xB7","\\cdotp");le("\\llap","\\mathllap{\\textrm{#1}}");le("\\rlap","\\mathrlap{\\textrm{#1}}");le("\\clap","\\mathclap{\\textrm{#1}}");le("\\mathstrut","\\vphantom{(}");le("\\underbar","\\underline{\\text{#1}}");le("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');le("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");le("\\ne","\\neq");le("\u2260","\\neq");le("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");le("\u2209","\\notin");le("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");le("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");le("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");le("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");le("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");le("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");le("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");le("\u27C2","\\perp");le("\u203C","\\mathclose{!\\mkern-0.8mu!}");le("\u220C","\\notni");le("\u231C","\\ulcorner");le("\u231D","\\urcorner");le("\u231E","\\llcorner");le("\u231F","\\lrcorner");le("\xA9","\\copyright");le("\xAE","\\textregistered");le("\uFE0F","\\textregistered");le("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');le("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');le("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');le("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');le("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}");le("\u22EE","\\vdots");le("\\varGamma","\\mathit{\\Gamma}");le("\\varDelta","\\mathit{\\Delta}");le("\\varTheta","\\mathit{\\Theta}");le("\\varLambda","\\mathit{\\Lambda}");le("\\varXi","\\mathit{\\Xi}");le("\\varPi","\\mathit{\\Pi}");le("\\varSigma","\\mathit{\\Sigma}");le("\\varUpsilon","\\mathit{\\Upsilon}");le("\\varPhi","\\mathit{\\Phi}");le("\\varPsi","\\mathit{\\Psi}");le("\\varOmega","\\mathit{\\Omega}");le("\\substack","\\begin{subarray}{c}#1\\end{subarray}");le("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");le("\\boxed","\\fbox{$\\displaystyle{#1}$}");le("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");le("\\implies","\\DOTSB\\;\\Longrightarrow\\;");le("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");MG={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};le("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in MG?e=MG[r]:(r.slice(0,4)==="\\not"||r in En.math&&Jt.contains(["bin","rel"],En.math[r].group))&&(e="\\dotsb"),e});YC={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};le("\\dotso",function(t){var e=t.future().text;return e in YC?"\\ldots\\,":"\\ldots"});le("\\dotsc",function(t){var e=t.future().text;return e in YC&&e!==","?"\\ldots\\,":"\\ldots"});le("\\cdots",function(t){var e=t.future().text;return e in YC?"\\@cdots\\,":"\\@cdots"});le("\\dotsb","\\cdots");le("\\dotsm","\\cdots");le("\\dotsi","\\!\\cdots");le("\\dotsx","\\ldots\\,");le("\\DOTSI","\\relax");le("\\DOTSB","\\relax");le("\\DOTSX","\\relax");le("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");le("\\,","\\tmspace+{3mu}{.1667em}");le("\\thinspace","\\,");le("\\>","\\mskip{4mu}");le("\\:","\\tmspace+{4mu}{.2222em}");le("\\medspace","\\:");le("\\;","\\tmspace+{5mu}{.2777em}");le("\\thickspace","\\;");le("\\!","\\tmspace-{3mu}{.1667em}");le("\\negthinspace","\\!");le("\\negmedspace","\\tmspace-{4mu}{.2222em}");le("\\negthickspace","\\tmspace-{5mu}{.277em}");le("\\enspace","\\kern.5em ");le("\\enskip","\\hskip.5em\\relax");le("\\quad","\\hskip1em\\relax");le("\\qquad","\\hskip2em\\relax");le("\\tag","\\@ifstar\\tag@literal\\tag@paren");le("\\tag@paren","\\tag@literal{({#1})}");le("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new ut("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});le("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");le("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");le("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");le("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");le("\\newline","\\\\\\relax");le("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");C$=mt(Zl["Main-Regular"][84][1]-.7*Zl["Main-Regular"][65][1]);le("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+C$+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");le("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+C$+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");le("\\hspace","\\@ifstar\\@hspacer\\@hspace");le("\\@hspace","\\hskip #1\\relax");le("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");le("\\ordinarycolon",":");le("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");le("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');le("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');le("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');le("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');le("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');le("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');le("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');le("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');le("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');le("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');le("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');le("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');le("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');le("\u2237","\\dblcolon");le("\u2239","\\eqcolon");le("\u2254","\\coloneqq");le("\u2255","\\eqqcolon");le("\u2A74","\\Coloneqq");le("\\ratio","\\vcentcolon");le("\\coloncolon","\\dblcolon");le("\\colonequals","\\coloneqq");le("\\coloncolonequals","\\Coloneqq");le("\\equalscolon","\\eqqcolon");le("\\equalscoloncolon","\\Eqqcolon");le("\\colonminus","\\coloneq");le("\\coloncolonminus","\\Coloneq");le("\\minuscolon","\\eqcolon");le("\\minuscoloncolon","\\Eqcolon");le("\\coloncolonapprox","\\Colonapprox");le("\\coloncolonsim","\\Colonsim");le("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");le("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");le("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");le("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");le("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");le("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");le("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");le("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");le("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");le("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");le("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");le("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");le("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");le("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");le("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");le("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");le("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");le("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");le("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");le("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");le("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");le("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");le("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");le("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");le("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");le("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");le("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");le("\\imath","\\html@mathml{\\@imath}{\u0131}");le("\\jmath","\\html@mathml{\\@jmath}{\u0237}");le("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");le("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");le("\u27E6","\\llbracket");le("\u27E7","\\rrbracket");le("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");le("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");le("\u2983","\\lBrace");le("\u2984","\\rBrace");le("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");le("\u29B5","\\minuso");le("\\darr","\\downarrow");le("\\dArr","\\Downarrow");le("\\Darr","\\Downarrow");le("\\lang","\\langle");le("\\rang","\\rangle");le("\\uarr","\\uparrow");le("\\uArr","\\Uparrow");le("\\Uarr","\\Uparrow");le("\\N","\\mathbb{N}");le("\\R","\\mathbb{R}");le("\\Z","\\mathbb{Z}");le("\\alef","\\aleph");le("\\alefsym","\\aleph");le("\\Alpha","\\mathrm{A}");le("\\Beta","\\mathrm{B}");le("\\bull","\\bullet");le("\\Chi","\\mathrm{X}");le("\\clubs","\\clubsuit");le("\\cnums","\\mathbb{C}");le("\\Complex","\\mathbb{C}");le("\\Dagger","\\ddagger");le("\\diamonds","\\diamondsuit");le("\\empty","\\emptyset");le("\\Epsilon","\\mathrm{E}");le("\\Eta","\\mathrm{H}");le("\\exist","\\exists");le("\\harr","\\leftrightarrow");le("\\hArr","\\Leftrightarrow");le("\\Harr","\\Leftrightarrow");le("\\hearts","\\heartsuit");le("\\image","\\Im");le("\\infin","\\infty");le("\\Iota","\\mathrm{I}");le("\\isin","\\in");le("\\Kappa","\\mathrm{K}");le("\\larr","\\leftarrow");le("\\lArr","\\Leftarrow");le("\\Larr","\\Leftarrow");le("\\lrarr","\\leftrightarrow");le("\\lrArr","\\Leftrightarrow");le("\\Lrarr","\\Leftrightarrow");le("\\Mu","\\mathrm{M}");le("\\natnums","\\mathbb{N}");le("\\Nu","\\mathrm{N}");le("\\Omicron","\\mathrm{O}");le("\\plusmn","\\pm");le("\\rarr","\\rightarrow");le("\\rArr","\\Rightarrow");le("\\Rarr","\\Rightarrow");le("\\real","\\Re");le("\\reals","\\mathbb{R}");le("\\Reals","\\mathbb{R}");le("\\Rho","\\mathrm{P}");le("\\sdot","\\cdot");le("\\sect","\\S");le("\\spades","\\spadesuit");le("\\sub","\\subset");le("\\sube","\\subseteq");le("\\supe","\\supseteq");le("\\Tau","\\mathrm{T}");le("\\thetasym","\\vartheta");le("\\weierp","\\wp");le("\\Zeta","\\mathrm{Z}");le("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");le("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");le("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");le("\\bra","\\mathinner{\\langle{#1}|}");le("\\ket","\\mathinner{|{#1}\\rangle}");le("\\braket","\\mathinner{\\langle{#1}\\rangle}");le("\\Bra","\\left\\langle#1\\right|");le("\\Ket","\\left|#1\\right\\rangle");A$=o(t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),l=e.macros.get("\\|");e.macros.beginGroup();var u=o(d=>p=>{t&&(p.macros.set("|",s),i.length&&p.macros.set("\\|",l));var m=d;if(!d&&i.length){var g=p.future();g.text==="|"&&(p.popToken(),m=!0)}return{tokens:m?i:n,numArgs:0}},"midMacro");e.macros.set("|",u(!1)),i.length&&e.macros.set("\\|",u(!0));var h=e.consumeArg().tokens,f=e.expandTokens([...a,...h,...r]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}},"braketHelper");le("\\bra@ket",A$(!1));le("\\bra@set",A$(!0));le("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");le("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");le("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");le("\\angln","{\\angl n}");le("\\blue","\\textcolor{##6495ed}{#1}");le("\\orange","\\textcolor{##ffa500}{#1}");le("\\pink","\\textcolor{##ff00af}{#1}");le("\\red","\\textcolor{##df0030}{#1}");le("\\green","\\textcolor{##28ae7b}{#1}");le("\\gray","\\textcolor{gray}{#1}");le("\\purple","\\textcolor{##9d38bd}{#1}");le("\\blueA","\\textcolor{##ccfaff}{#1}");le("\\blueB","\\textcolor{##80f6ff}{#1}");le("\\blueC","\\textcolor{##63d9ea}{#1}");le("\\blueD","\\textcolor{##11accd}{#1}");le("\\blueE","\\textcolor{##0c7f99}{#1}");le("\\tealA","\\textcolor{##94fff5}{#1}");le("\\tealB","\\textcolor{##26edd5}{#1}");le("\\tealC","\\textcolor{##01d1c1}{#1}");le("\\tealD","\\textcolor{##01a995}{#1}");le("\\tealE","\\textcolor{##208170}{#1}");le("\\greenA","\\textcolor{##b6ffb0}{#1}");le("\\greenB","\\textcolor{##8af281}{#1}");le("\\greenC","\\textcolor{##74cf70}{#1}");le("\\greenD","\\textcolor{##1fab54}{#1}");le("\\greenE","\\textcolor{##0d923f}{#1}");le("\\goldA","\\textcolor{##ffd0a9}{#1}");le("\\goldB","\\textcolor{##ffbb71}{#1}");le("\\goldC","\\textcolor{##ff9c39}{#1}");le("\\goldD","\\textcolor{##e07d10}{#1}");le("\\goldE","\\textcolor{##a75a05}{#1}");le("\\redA","\\textcolor{##fca9a9}{#1}");le("\\redB","\\textcolor{##ff8482}{#1}");le("\\redC","\\textcolor{##f9685d}{#1}");le("\\redD","\\textcolor{##e84d39}{#1}");le("\\redE","\\textcolor{##bc2612}{#1}");le("\\maroonA","\\textcolor{##ffbde0}{#1}");le("\\maroonB","\\textcolor{##ff92c6}{#1}");le("\\maroonC","\\textcolor{##ed5fa6}{#1}");le("\\maroonD","\\textcolor{##ca337c}{#1}");le("\\maroonE","\\textcolor{##9e034e}{#1}");le("\\purpleA","\\textcolor{##ddd7ff}{#1}");le("\\purpleB","\\textcolor{##c6b9fc}{#1}");le("\\purpleC","\\textcolor{##aa87ff}{#1}");le("\\purpleD","\\textcolor{##7854ab}{#1}");le("\\purpleE","\\textcolor{##543b78}{#1}");le("\\mintA","\\textcolor{##f5f9e8}{#1}");le("\\mintB","\\textcolor{##edf2df}{#1}");le("\\mintC","\\textcolor{##e0e5cc}{#1}");le("\\grayA","\\textcolor{##f6f7f7}{#1}");le("\\grayB","\\textcolor{##f0f1f2}{#1}");le("\\grayC","\\textcolor{##e3e5e6}{#1}");le("\\grayD","\\textcolor{##d6d8da}{#1}");le("\\grayE","\\textcolor{##babec2}{#1}");le("\\grayF","\\textcolor{##888d93}{#1}");le("\\grayG","\\textcolor{##626569}{#1}");le("\\grayH","\\textcolor{##3b3e40}{#1}");le("\\grayI","\\textcolor{##21242c}{#1}");le("\\kaBlue","\\textcolor{##314453}{#1}");le("\\kaGreen","\\textcolor{##71B307}{#1}");_$={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},DC=class{static{o(this,"MacroExpander")}constructor(e,r,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new LC(f3e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new m4(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new Co("EOF",n.loc)),this.pushTokens(i),r.range(n,"")}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,l=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new ut("Extra }",a)}else if(a.text==="EOF")throw new ut("Unexpected end of input in a macro argument, expected '"+(e&&n?e[l]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[l]==="{")&&a.text===e[l]){if(++l,l===e.length){r.splice(-l,l);break}}else l=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new ut("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new ut("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new ut("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var l=a.length-1;l>=0;--l){var u=a[l];if(u.text==="#"){if(l===0)throw new ut("Incomplete placeholder at end of macro body",u);if(u=a[--l],u.text==="#")a.splice(l+1,1);else if(/^[1-9]$/.test(u.text))a.splice(l,2,...s[+u.text-1]);else throw new ut("Not a valid argument number",u)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Co(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.indexOf("#")!==-1)for(var s=i.replace(/##/g,"");s.indexOf("#"+(a+1))!==-1;)++a;for(var l=new m4(i,this.settings),u=[],h=l.lex();h.text!=="EOF";)u.push(h),h=l.lex();u.reverse();var f={tokens:u,numArgs:a};return f}return i}isDefined(e){return this.macros.has(e)||oh.hasOwnProperty(e)||En.math.hasOwnProperty(e)||En.text.hasOwnProperty(e)||_$.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:oh.hasOwnProperty(e)&&!oh[e].primitive}},IG=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,s4=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),vC={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},OG={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},g4=class t{static{o(this,"Parser")}constructor(e,r){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new DC(e,r,this.mode),this.settings=r,this.leftrightDepth=0}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new ut("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new Co("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(t.endOfExpression.indexOf(i.text)!==-1||r&&i.text===r||e&&oh[i.text]&&oh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var l=En[this.mode][r].group,u=Ys.range(e),h;if(n4e.hasOwnProperty(l)){var f=l;h={type:"atom",mode:this.mode,family:f,loc:u,text:r}}else h={type:l,mode:this.mode,loc:u,text:r};s=h}else if(r.charCodeAt(0)>=128)this.settings.strict&&(BG(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:Ys.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d{e instanceof Element&&e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),ah.addHook("afterSanitizeAttributes",e=>{e instanceof Element&&e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}var jf,y3e,v3e,O$,M$,Tr,b3e,w3e,T3e,k3e,P$,E3e,xr,S3e,C3e,ou,jC,A3e,_3e,I$,KC,pi,Kf,hh,je,fr=M(()=>{"use strict";sC();jf=//gi,y3e=o(t=>t?P$(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),v3e=(()=>{let t=!1;return()=>{t||(x3e(),t=!0)}})();o(x3e,"setupDompurifyHooks");O$=o(t=>(v3e(),ah.sanitize(t)),"removeScript"),M$=o((t,e)=>{if(e.flowchart?.htmlLabels!==!1){let r=e.securityLevel;r==="antiscript"||r==="strict"?t=O$(t):r!=="loose"&&(t=P$(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=k3e(t))}return t},"sanitizeMore"),Tr=o((t,e)=>t&&(e.dompurifyConfig?t=ah.sanitize(M$(t,e),e.dompurifyConfig).toString():t=ah.sanitize(M$(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),b3e=o((t,e)=>typeof t=="string"?Tr(t,e):t.flat().map(r=>Tr(r,e)),"sanitizeTextOrArray"),w3e=o(t=>jf.test(t),"hasBreaks"),T3e=o(t=>t.split(jf),"splitBreaks"),k3e=o(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),P$=o(t=>t.replace(jf,"#br#"),"breakToPlaceholder"),E3e=o(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},"getUrl"),xr=o(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),S3e=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),C3e=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),ou=o(function(t){let e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),A3e=o((t,e)=>{let r=jC(t,"~"),n=jC(e,"~");return r===1&&n===1},"shouldCombineSets"),_3e=o(t=>{let e=jC(t,"~"),r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let n=[...t],i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),I$=o(()=>window.MathMLElement!==void 0,"isMathMLSupported"),KC=/\$\$(.*)\$\$/g,pi=o(t=>(t.match(KC)?.length??0)>0,"hasKatex"),Kf=o(async(t,e)=>{t=await hh(t,e);let r=document.createElement("div");r.innerHTML=t,r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);let i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),hh=o(async(t,e)=>{if(!pi(t))return t;if(!(I$()||e.legacyMathML||e.forceLegacyMathML))return t.replace(KC,"MathML is unsupported in this environment.");let{default:r}=await Promise.resolve().then(()=>(R$(),N$)),n=e.forceLegacyMathML||!I$()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(jf).map(i=>pi(i)?`
    ${i}
    `:`
    ${i}
    `).join("").replace(KC,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))},"renderKatex"),je={getRows:y3e,sanitizeText:Tr,sanitizeTextOrArray:b3e,hasBreaks:w3e,splitBreaks:T3e,lineBreakRegex:jf,removeScript:O$,getUrl:E3e,evaluate:xr,getMax:S3e,getMin:C3e}});var L3e,D3e,Zr,_o,ni=M(()=>{"use strict";ht();L3e=o(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),D3e=o(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Zr=o(function(t,e,r,n){let i=D3e(e,r,n);L3e(t,i)},"configureSvgSize"),_o=o(function(t,e,r,n){let i=e.node().getBBox(),a=i.width,s=i.height;Y.info(`SVG bounds: ${a}x${s}`,i);let l=0,u=0;Y.info(`Graph bounds: ${l}x${u}`,t),l=a+r*2,u=s+r*2,Y.info(`Calculated bounds: ${l}x${u}`),Zr(e,u,l,n);let h=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",h)},"setupGraphViewbox")});var k4,N3e,B$,F$,QC=M(()=>{"use strict";ht();k4={},N3e=o((t,e,r)=>{let n="";return t in k4&&k4[t]?n=k4[t](r):Y.warn(`No theme found for ${t}`),` & { font-family: ${r.fontFamily}; font-size: ${r.fontSize}; fill: ${r.textColor} } /* Classes common for multiple diagrams */ & .error-icon { fill: ${r.errorBkgColor}; } & .error-text { fill: ${r.errorTextColor}; stroke: ${r.errorTextColor}; } & .edge-thickness-normal { stroke-width: 1px; } & .edge-thickness-thick { stroke-width: 3.5px } & .edge-pattern-solid { stroke-dasharray: 0; } & .edge-thickness-invisible { stroke-width: 0; fill: none; } & .edge-pattern-dashed{ stroke-dasharray: 3; } .edge-pattern-dotted { stroke-dasharray: 2; } & .marker { fill: ${r.lineColor}; stroke: ${r.lineColor}; } & .marker.cross { stroke: ${r.lineColor}; } & svg { font-family: ${r.fontFamily}; font-size: ${r.fontSize}; } & p { margin: 0 } ${n} ${e} `},"getStyles"),B$=o((t,e)=>{e!==void 0&&(k4[t]=e)},"addStylesForDiagram"),F$=N3e});var iy={};vr(iy,{clear:()=>_r,getAccDescription:()=>Fr,getAccTitle:()=>Pr,getDiagramTitle:()=>Jr,setAccDescription:()=>Br,setAccTitle:()=>Rr,setDiagramTitle:()=>ln});var ZC,JC,e7,t7,_r,Rr,Pr,Br,Fr,ln,Jr,ki=M(()=>{"use strict";fr();Ua();ZC="",JC="",e7="",t7=o(t=>Tr(t,Sr()),"sanitizeText"),_r=o(()=>{ZC="",e7="",JC=""},"clear"),Rr=o(t=>{ZC=t7(t).replace(/^\s+/g,"")},"setAccTitle"),Pr=o(()=>ZC,"getAccTitle"),Br=o(t=>{e7=t7(t).replace(/\n\s+/g,` `)},"setAccDescription"),Fr=o(()=>e7,"getAccDescription"),ln=o(t=>{JC=t7(t)},"setDiagramTitle"),Jr=o(()=>JC,"getDiagramTitle")});var z$,R3e,de,n7,S4,i7,a7,M3e,E4,Qf,ay,r7,Vt=M(()=>{"use strict";$f();ht();Ua();fr();ni();QC();ki();z$=Y,R3e=M1,de=Sr,n7=Yb,S4=ih,i7=o(t=>Tr(t,de()),"sanitizeText"),a7=_o,M3e=o(()=>iy,"getCommonDb"),E4={},Qf=o((t,e,r)=>{E4[t]&&z$.warn(`Diagram with id ${t} already registered. Overwriting.`),E4[t]=e,r&&OS(t,r),B$(t,e.styles),e.injectUtils?.(z$,R3e,de,i7,a7,M3e(),()=>{})},"registerDiagram"),ay=o(t=>{if(t in E4)return E4[t];throw new r7(t)},"getDiagram"),r7=class extends Error{static{o(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}});var pl,fh,Xa,dl,nc,sy,s7,o7,C4,A4,G$,I3e,O3e,P3e,B3e,F3e,z3e,G3e,$3e,V3e,U3e,H3e,W3e,Y3e,q3e,X3e,j3e,K3e,$$,Q3e,Z3e,V$,J3e,e5e,t5e,r5e,dh,n5e,i5e,a5e,s5e,o5e,oy,l7=M(()=>{"use strict";Vt();fr();ki();pl=[],fh=[""],Xa="global",dl="",nc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],sy=[],s7="",o7=!1,C4=4,A4=2,I3e=o(function(){return G$},"getC4Type"),O3e=o(function(t){G$=Tr(t,de())},"setC4Type"),P3e=o(function(t,e,r,n,i,a,s,l,u){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let h={},f=sy.find(d=>d.from===e&&d.to===r);if(f?h=f:sy.push(h),h.type=t,h.from=e,h.to=r,h.label={text:n},i==null)h.techn={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];h[d]={text:p}}else h.techn={text:i};if(a==null)h.descr={text:""};else if(typeof a=="object"){let[d,p]=Object.entries(a)[0];h[d]={text:p}}else h.descr={text:a};if(typeof s=="object"){let[d,p]=Object.entries(s)[0];h[d]=p}else h.sprite=s;if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]=p}else h.tags=l;if(typeof u=="object"){let[d,p]=Object.entries(u)[0];h[d]=p}else h.link=u;h.wrap=dh()},"addRel"),B3e=o(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let l={},u=pl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,pl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.descr={text:""};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.descr={text:n};if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]=f}else l.sprite=i;if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.tags=a;if(typeof s=="object"){let[h,f]=Object.entries(s)[0];l[h]=f}else l.link=s;l.typeC4Shape={text:t},l.parentBoundary=Xa,l.wrap=dh()},"addPersonOrSystem"),F3e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=pl.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,pl.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=dh(),u.typeC4Shape={text:t},u.parentBoundary=Xa},"addContainer"),z3e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=pl.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,pl.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=dh(),u.typeC4Shape={text:t},u.parentBoundary=Xa},"addComponent"),G3e=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=nc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,nc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=Xa,a.wrap=dh(),dl=Xa,Xa=t,fh.push(dl)},"addPersonOrSystemBoundary"),$3e=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=nc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,nc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=Xa,a.wrap=dh(),dl=Xa,Xa=t,fh.push(dl)},"addContainerBoundary"),V3e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=nc.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,nc.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.type={text:"node"};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.type={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.nodeType=t,u.parentBoundary=Xa,u.wrap=dh(),dl=Xa,Xa=e,fh.push(dl)},"addDeploymentNode"),U3e=o(function(){Xa=dl,fh.pop(),dl=fh.pop(),fh.push(dl)},"popBoundaryParseStack"),H3e=o(function(t,e,r,n,i,a,s,l,u,h,f){let d=pl.find(p=>p.alias===e);if(!(d===void 0&&(d=nc.find(p=>p.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[p,m]=Object.entries(r)[0];d[p]=m}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[p,m]=Object.entries(n)[0];d[p]=m}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[p,m]=Object.entries(i)[0];d[p]=m}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[p,m]=Object.entries(a)[0];d[p]=m}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[p,m]=Object.entries(s)[0];d[p]=m}else d.shape=s;if(l!=null)if(typeof l=="object"){let[p,m]=Object.entries(l)[0];d[p]=m}else d.sprite=l;if(u!=null)if(typeof u=="object"){let[p,m]=Object.entries(u)[0];d[p]=m}else d.techn=u;if(h!=null)if(typeof h=="object"){let[p,m]=Object.entries(h)[0];d[p]=m}else d.legendText=h;if(f!=null)if(typeof f=="object"){let[p,m]=Object.entries(f)[0];d[p]=m}else d.legendSprite=f}},"updateElStyle"),W3e=o(function(t,e,r,n,i,a,s){let l=sy.find(u=>u.from===e&&u.to===r);if(l!==void 0){if(n!=null)if(typeof n=="object"){let[u,h]=Object.entries(n)[0];l[u]=h}else l.textColor=n;if(i!=null)if(typeof i=="object"){let[u,h]=Object.entries(i)[0];l[u]=h}else l.lineColor=i;if(a!=null)if(typeof a=="object"){let[u,h]=Object.entries(a)[0];l[u]=parseInt(h)}else l.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[u,h]=Object.entries(s)[0];l[u]=parseInt(h)}else l.offsetY=parseInt(s)}},"updateRelStyle"),Y3e=o(function(t,e,r){let n=C4,i=A4;if(typeof e=="object"){let a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){let a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(C4=n),i>=1&&(A4=i)},"updateLayoutConfig"),q3e=o(function(){return C4},"getC4ShapeInRow"),X3e=o(function(){return A4},"getC4BoundaryInRow"),j3e=o(function(){return Xa},"getCurrentBoundaryParse"),K3e=o(function(){return dl},"getParentBoundaryParse"),$$=o(function(t){return t==null?pl:pl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),Q3e=o(function(t){return pl.find(e=>e.alias===t)},"getC4Shape"),Z3e=o(function(t){return Object.keys($$(t))},"getC4ShapeKeys"),V$=o(function(t){return t==null?nc:nc.filter(e=>e.parentBoundary===t)},"getBoundaries"),J3e=V$,e5e=o(function(){return sy},"getRels"),t5e=o(function(){return s7},"getTitle"),r5e=o(function(t){o7=t},"setWrap"),dh=o(function(){return o7},"autoWrap"),n5e=o(function(){pl=[],nc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],dl="",Xa="global",fh=[""],sy=[],fh=[""],s7="",o7=!1,C4=4,A4=2},"clear"),i5e={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},a5e={FILLED:0,OPEN:1},s5e={LEFTOF:0,RIGHTOF:1,OVER:2},o5e=o(function(t){s7=Tr(t,de())},"setTitle"),oy={addPersonOrSystem:B3e,addPersonOrSystemBoundary:G3e,addContainer:F3e,addContainerBoundary:$3e,addComponent:z3e,addDeploymentNode:V3e,popBoundaryParseStack:U3e,addRel:P3e,updateElStyle:H3e,updateRelStyle:W3e,updateLayoutConfig:Y3e,autoWrap:dh,setWrap:r5e,getC4ShapeArray:$$,getC4Shape:Q3e,getC4ShapeKeys:Z3e,getBoundaries:V$,getBoundarys:J3e,getCurrentBoundaryParse:j3e,getParentBoundaryParse:K3e,getRels:e5e,getTitle:t5e,getC4Type:I3e,getC4ShapeInRow:q3e,getC4BoundaryInRow:X3e,setAccTitle:Rr,getAccTitle:Pr,getAccDescription:Fr,setAccDescription:Br,getConfig:o(()=>de().c4,"getConfig"),clear:n5e,LINETYPE:i5e,ARROWTYPE:a5e,PLACEMENT:s5e,setTitle:o5e,setC4Type:O3e}});function Zf(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}var c7=M(()=>{"use strict";o(Zf,"ascending")});function u7(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}var U$=M(()=>{"use strict";o(u7,"descending")});function Jf(t){let e,r,n;t.length!==2?(e=Zf,r=o((l,u)=>Zf(t(l),u),"compare2"),n=o((l,u)=>t(l)-u,"delta")):(e=t===Zf||t===u7?t:l5e,r=t,n=t);function i(l,u,h=0,f=l.length){if(h>>1;r(l[d],u)<0?h=d+1:f=d}while(h>>1;r(l[d],u)<=0?h=d+1:f=d}while(hh&&n(l[d-1],u)>-n(l[d],u)?d-1:d}return o(s,"center"),{left:i,center:s,right:a}}function l5e(){return 0}var h7=M(()=>{"use strict";c7();U$();o(Jf,"bisector");o(l5e,"zero")});function f7(t){return t===null?NaN:+t}var H$=M(()=>{"use strict";o(f7,"number")});var W$,Y$,c5e,u5e,d7,q$=M(()=>{"use strict";c7();h7();H$();W$=Jf(Zf),Y$=W$.right,c5e=W$.left,u5e=Jf(f7).center,d7=Y$});function X$({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function h5e({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function f5e({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function d5e(t){return t!==null&&typeof t=="object"?t.valueOf():t}var mp,j$=M(()=>{"use strict";mp=class extends Map{static{o(this,"InternMap")}constructor(e,r=d5e){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(X$(this,e))}has(e){return super.has(X$(this,e))}set(e,r){return super.set(h5e(this,e),r)}delete(e){return super.delete(f5e(this,e))}};o(X$,"intern_get");o(h5e,"intern_set");o(f5e,"intern_delete");o(d5e,"keyof")});function _4(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=p5e?10:a>=m5e?5:a>=g5e?2:1,l,u,h;return i<0?(h=Math.pow(10,-i)/s,l=Math.round(t*h),u=Math.round(e*h),l/he&&--u,h=-h):(h=Math.pow(10,i)*s,l=Math.round(t/h),u=Math.round(e/h),l*he&&--u),u0))return[];if(t===e)return[t];let n=e=i))return[];let l=a-i+1,u=new Array(l);if(n)if(s<0)for(let h=0;h{"use strict";p5e=Math.sqrt(50),m5e=Math.sqrt(10),g5e=Math.sqrt(2);o(_4,"tickSpec");o(L4,"ticks");o(ly,"tickIncrement");o(gp,"tickStep")});function D4(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var Q$=M(()=>{"use strict";o(D4,"max")});function N4(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var Z$=M(()=>{"use strict";o(N4,"min")});function R4(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n{"use strict";o(R4,"range")});var ph=M(()=>{"use strict";q$();h7();Q$();Z$();J$();K$();j$()});function p7(t){return t}var eV=M(()=>{"use strict";o(p7,"default")});function y5e(t){return"translate("+t+",0)"}function v5e(t){return"translate(0,"+t+")"}function x5e(t){return e=>+t(e)}function b5e(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function w5e(){return!this.__axis}function rV(t,e){var r=[],n=null,i=null,a=6,s=6,l=3,u=typeof window<"u"&&window.devicePixelRatio>1?0:.5,h=t===I4||t===M4?-1:1,f=t===M4||t===m7?"x":"y",d=t===I4||t===g7?y5e:v5e;function p(m){var g=n??(e.ticks?e.ticks.apply(e,r):e.domain()),y=i??(e.tickFormat?e.tickFormat.apply(e,r):p7),v=Math.max(a,0)+l,x=e.range(),b=+x[0]+u,w=+x[x.length-1]+u,_=(e.bandwidth?b5e:x5e)(e.copy(),u),T=m.selection?m.selection():m,E=T.selectAll(".domain").data([null]),L=T.selectAll(".tick").data(g,e).order(),C=L.exit(),A=L.enter().append("g").attr("class","tick"),I=L.select("line"),D=L.select("text");E=E.merge(E.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),L=L.merge(A),I=I.merge(A.append("line").attr("stroke","currentColor").attr(f+"2",h*a)),D=D.merge(A.append("text").attr("fill","currentColor").attr(f,h*v).attr("dy",t===I4?"0em":t===g7?"0.71em":"0.32em")),m!==T&&(E=E.transition(m),L=L.transition(m),I=I.transition(m),D=D.transition(m),C=C.transition(m).attr("opacity",tV).attr("transform",function(k){return isFinite(k=_(k))?d(k+u):this.getAttribute("transform")}),A.attr("opacity",tV).attr("transform",function(k){var R=this.parentNode.__axis;return d((R&&isFinite(R=R(k))?R:_(k))+u)})),C.remove(),E.attr("d",t===M4||t===m7?s?"M"+h*s+","+b+"H"+u+"V"+w+"H"+h*s:"M"+u+","+b+"V"+w:s?"M"+b+","+h*s+"V"+u+"H"+w+"V"+h*s:"M"+b+","+u+"H"+w),L.attr("opacity",1).attr("transform",function(k){return d(_(k)+u)}),I.attr(f+"2",h*a),D.attr(f,h*v).text(y),T.filter(w5e).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===m7?"start":t===M4?"end":"middle"),T.each(function(){this.__axis=_})}return o(p,"axis"),p.scale=function(m){return arguments.length?(e=m,p):e},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(m){return arguments.length?(r=m==null?[]:Array.from(m),p):r.slice()},p.tickValues=function(m){return arguments.length?(n=m==null?null:Array.from(m),p):n&&n.slice()},p.tickFormat=function(m){return arguments.length?(i=m,p):i},p.tickSize=function(m){return arguments.length?(a=s=+m,p):a},p.tickSizeInner=function(m){return arguments.length?(a=+m,p):a},p.tickSizeOuter=function(m){return arguments.length?(s=+m,p):s},p.tickPadding=function(m){return arguments.length?(l=+m,p):l},p.offset=function(m){return arguments.length?(u=+m,p):u},p}function y7(t){return rV(I4,t)}function v7(t){return rV(g7,t)}var I4,m7,g7,M4,tV,nV=M(()=>{"use strict";eV();I4=1,m7=2,g7=3,M4=4,tV=1e-6;o(y5e,"translateX");o(v5e,"translateY");o(x5e,"number");o(b5e,"center");o(w5e,"entering");o(rV,"axis");o(y7,"axisTop");o(v7,"axisBottom")});var iV=M(()=>{"use strict";nV()});function sV(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}function E5e(t,e){for(var r=0,n=t.length,i;r{"use strict";T5e={value:o(()=>{},"value")};o(sV,"dispatch");o(O4,"Dispatch");o(k5e,"parseTypenames");O4.prototype=sV.prototype={constructor:O4,on:o(function(t,e){var r=this._,n=k5e(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n{"use strict";oV()});var P4,w7,T7=M(()=>{"use strict";P4="http://www.w3.org/1999/xhtml",w7={svg:"http://www.w3.org/2000/svg",xhtml:P4,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}});function ic(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),w7.hasOwnProperty(e)?{space:w7[e],local:t}:t}var B4=M(()=>{"use strict";T7();o(ic,"default")});function S5e(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===P4&&e.documentElement.namespaceURI===P4?e.createElement(t):e.createElementNS(r,t)}}function C5e(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function cy(t){var e=ic(t);return(e.local?C5e:S5e)(e)}var k7=M(()=>{"use strict";B4();T7();o(S5e,"creatorInherit");o(C5e,"creatorFixed");o(cy,"default")});function A5e(){}function mh(t){return t==null?A5e:function(){return this.querySelector(t)}}var F4=M(()=>{"use strict";o(A5e,"none");o(mh,"default")});function E7(t){typeof t!="function"&&(t=mh(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";ml();F4();o(E7,"default")});function S7(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}var cV=M(()=>{"use strict";o(S7,"array")});function _5e(){return[]}function yp(t){return t==null?_5e:function(){return this.querySelectorAll(t)}}var C7=M(()=>{"use strict";o(_5e,"empty");o(yp,"default")});function L5e(t){return function(){return S7(t.apply(this,arguments))}}function A7(t){typeof t=="function"?t=L5e(t):t=yp(t);for(var e=this._groups,r=e.length,n=[],i=[],a=0;a{"use strict";ml();cV();C7();o(L5e,"arrayAll");o(A7,"default")});function vp(t){return function(){return this.matches(t)}}function z4(t){return function(e){return e.matches(t)}}var uy=M(()=>{"use strict";o(vp,"default");o(z4,"childMatcher")});function N5e(t){return function(){return D5e.call(this.children,t)}}function R5e(){return this.firstElementChild}function _7(t){return this.select(t==null?R5e:N5e(typeof t=="function"?t:z4(t)))}var D5e,hV=M(()=>{"use strict";uy();D5e=Array.prototype.find;o(N5e,"childFind");o(R5e,"childFirst");o(_7,"default")});function I5e(){return Array.from(this.children)}function O5e(t){return function(){return M5e.call(this.children,t)}}function L7(t){return this.selectAll(t==null?I5e:O5e(typeof t=="function"?t:z4(t)))}var M5e,fV=M(()=>{"use strict";uy();M5e=Array.prototype.filter;o(I5e,"children");o(O5e,"childrenFilter");o(L7,"default")});function D7(t){typeof t!="function"&&(t=vp(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";ml();uy();o(D7,"default")});function hy(t){return new Array(t.length)}var N7=M(()=>{"use strict";o(hy,"default")});function R7(){return new ii(this._enter||this._groups.map(hy),this._parents)}function fy(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var M7=M(()=>{"use strict";N7();ml();o(R7,"default");o(fy,"EnterNode");fy.prototype={constructor:fy,appendChild:o(function(t){return this._parent.insertBefore(t,this._next)},"appendChild"),insertBefore:o(function(t,e){return this._parent.insertBefore(t,e)},"insertBefore"),querySelector:o(function(t){return this._parent.querySelector(t)},"querySelector"),querySelectorAll:o(function(t){return this._parent.querySelectorAll(t)},"querySelectorAll")}});function I7(t){return function(){return t}}var pV=M(()=>{"use strict";o(I7,"default")});function P5e(t,e,r,n,i,a){for(var s=0,l,u=e.length,h=a.length;s=w&&(w=b+1);!(T=v[w])&&++w{"use strict";ml();M7();pV();o(P5e,"bindIndex");o(B5e,"bindKey");o(F5e,"datum");o(O7,"default");o(z5e,"arraylike")});function P7(){return new ii(this._exit||this._groups.map(hy),this._parents)}var gV=M(()=>{"use strict";N7();ml();o(P7,"default")});function B7(t,e,r){var n=this.enter(),i=this,a=this.exit();return typeof t=="function"?(n=t(n),n&&(n=n.selection())):n=n.append(t+""),e!=null&&(i=e(i),i&&(i=i.selection())),r==null?a.remove():r(a),n&&i?n.merge(i).order():i}var yV=M(()=>{"use strict";o(B7,"default")});function F7(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,i=r.length,a=n.length,s=Math.min(i,a),l=new Array(i),u=0;u{"use strict";ml();o(F7,"default")});function z7(){for(var t=this._groups,e=-1,r=t.length;++e=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}var xV=M(()=>{"use strict";o(z7,"default")});function G7(t){t||(t=G5e);function e(d,p){return d&&p?t(d.__data__,p.__data__):!d-!p}o(e,"compareNode");for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}var bV=M(()=>{"use strict";ml();o(G7,"default");o(G5e,"ascending")});function $7(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}var wV=M(()=>{"use strict";o($7,"default")});function V7(){return Array.from(this)}var TV=M(()=>{"use strict";o(V7,"default")});function U7(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(U7,"default")});function H7(){let t=0;for(let e of this)++t;return t}var EV=M(()=>{"use strict";o(H7,"default")});function W7(){return!this.node()}var SV=M(()=>{"use strict";o(W7,"default")});function Y7(t){for(var e=this._groups,r=0,n=e.length;r{"use strict";o(Y7,"default")});function $5e(t){return function(){this.removeAttribute(t)}}function V5e(t){return function(){this.removeAttributeNS(t.space,t.local)}}function U5e(t,e){return function(){this.setAttribute(t,e)}}function H5e(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function W5e(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function Y5e(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function q7(t,e){var r=ic(t);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((e==null?r.local?V5e:$5e:typeof e=="function"?r.local?Y5e:W5e:r.local?H5e:U5e)(r,e))}var AV=M(()=>{"use strict";B4();o($5e,"attrRemove");o(V5e,"attrRemoveNS");o(U5e,"attrConstant");o(H5e,"attrConstantNS");o(W5e,"attrFunction");o(Y5e,"attrFunctionNS");o(q7,"default")});function dy(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}var X7=M(()=>{"use strict";o(dy,"default")});function q5e(t){return function(){this.style.removeProperty(t)}}function X5e(t,e,r){return function(){this.style.setProperty(t,e,r)}}function j5e(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function j7(t,e,r){return arguments.length>1?this.each((e==null?q5e:typeof e=="function"?j5e:X5e)(t,e,r??"")):gh(this.node(),t)}function gh(t,e){return t.style.getPropertyValue(e)||dy(t).getComputedStyle(t,null).getPropertyValue(e)}var K7=M(()=>{"use strict";X7();o(q5e,"styleRemove");o(X5e,"styleConstant");o(j5e,"styleFunction");o(j7,"default");o(gh,"styleValue")});function K5e(t){return function(){delete this[t]}}function Q5e(t,e){return function(){this[t]=e}}function Z5e(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function Q7(t,e){return arguments.length>1?this.each((e==null?K5e:typeof e=="function"?Z5e:Q5e)(t,e)):this.node()[t]}var _V=M(()=>{"use strict";o(K5e,"propertyRemove");o(Q5e,"propertyConstant");o(Z5e,"propertyFunction");o(Q7,"default")});function LV(t){return t.trim().split(/^|\s+/)}function Z7(t){return t.classList||new DV(t)}function DV(t){this._node=t,this._names=LV(t.getAttribute("class")||"")}function NV(t,e){for(var r=Z7(t),n=-1,i=e.length;++n{"use strict";o(LV,"classArray");o(Z7,"classList");o(DV,"ClassList");DV.prototype={add:o(function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},"add"),remove:o(function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},"remove"),contains:o(function(t){return this._names.indexOf(t)>=0},"contains")};o(NV,"classedAdd");o(RV,"classedRemove");o(J5e,"classedTrue");o(ewe,"classedFalse");o(twe,"classedFunction");o(J7,"default")});function rwe(){this.textContent=""}function nwe(t){return function(){this.textContent=t}}function iwe(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function eA(t){return arguments.length?this.each(t==null?rwe:(typeof t=="function"?iwe:nwe)(t)):this.node().textContent}var IV=M(()=>{"use strict";o(rwe,"textRemove");o(nwe,"textConstant");o(iwe,"textFunction");o(eA,"default")});function awe(){this.innerHTML=""}function swe(t){return function(){this.innerHTML=t}}function owe(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function tA(t){return arguments.length?this.each(t==null?awe:(typeof t=="function"?owe:swe)(t)):this.node().innerHTML}var OV=M(()=>{"use strict";o(awe,"htmlRemove");o(swe,"htmlConstant");o(owe,"htmlFunction");o(tA,"default")});function lwe(){this.nextSibling&&this.parentNode.appendChild(this)}function rA(){return this.each(lwe)}var PV=M(()=>{"use strict";o(lwe,"raise");o(rA,"default")});function cwe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function nA(){return this.each(cwe)}var BV=M(()=>{"use strict";o(cwe,"lower");o(nA,"default")});function iA(t){var e=typeof t=="function"?t:cy(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}var FV=M(()=>{"use strict";k7();o(iA,"default")});function uwe(){return null}function aA(t,e){var r=typeof t=="function"?t:cy(t),n=e==null?uwe:typeof e=="function"?e:mh(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}var zV=M(()=>{"use strict";k7();F4();o(uwe,"constantNull");o(aA,"default")});function hwe(){var t=this.parentNode;t&&t.removeChild(this)}function sA(){return this.each(hwe)}var GV=M(()=>{"use strict";o(hwe,"remove");o(sA,"default")});function fwe(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function dwe(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function oA(t){return this.select(t?dwe:fwe)}var $V=M(()=>{"use strict";o(fwe,"selection_cloneShallow");o(dwe,"selection_cloneDeep");o(oA,"default")});function lA(t){return arguments.length?this.property("__data__",t):this.node().__data__}var VV=M(()=>{"use strict";o(lA,"default")});function pwe(t){return function(e){t.call(this,e,this.__data__)}}function mwe(t){return t.trim().split(/^|\s+/).map(function(e){var r="",n=e.indexOf(".");return n>=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function gwe(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r{"use strict";o(pwe,"contextListener");o(mwe,"parseTypenames");o(gwe,"onRemove");o(ywe,"onAdd");o(cA,"default")});function HV(t,e,r){var n=dy(t),i=n.CustomEvent;typeof i=="function"?i=new i(e,r):(i=n.document.createEvent("Event"),r?(i.initEvent(e,r.bubbles,r.cancelable),i.detail=r.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function vwe(t,e){return function(){return HV(this,t,e)}}function xwe(t,e){return function(){return HV(this,t,e.apply(this,arguments))}}function uA(t,e){return this.each((typeof e=="function"?xwe:vwe)(t,e))}var WV=M(()=>{"use strict";X7();o(HV,"dispatchEvent");o(vwe,"dispatchConstant");o(xwe,"dispatchFunction");o(uA,"default")});function*hA(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(hA,"default")});function ii(t,e){this._groups=t,this._parents=e}function qV(){return new ii([[document.documentElement]],fA)}function bwe(){return this}var fA,lu,ml=M(()=>{"use strict";lV();uV();hV();fV();dV();mV();M7();gV();yV();vV();xV();bV();wV();TV();kV();EV();SV();CV();AV();K7();_V();MV();IV();OV();PV();BV();FV();zV();GV();$V();VV();UV();WV();YV();fA=[null];o(ii,"Selection");o(qV,"selection");o(bwe,"selection_selection");ii.prototype=qV.prototype={constructor:ii,select:E7,selectAll:A7,selectChild:_7,selectChildren:L7,filter:D7,data:O7,enter:R7,exit:P7,join:B7,merge:F7,selection:bwe,order:z7,sort:G7,call:$7,nodes:V7,node:U7,size:H7,empty:W7,each:Y7,attr:q7,style:j7,property:Q7,classed:J7,text:eA,html:tA,raise:rA,lower:nA,append:iA,insert:aA,remove:sA,clone:oA,datum:lA,on:cA,dispatch:uA,[Symbol.iterator]:hA};lu=qV});function ze(t){return typeof t=="string"?new ii([[document.querySelector(t)]],[document.documentElement]):new ii([[t]],fA)}var XV=M(()=>{"use strict";ml();o(ze,"default")});var gl=M(()=>{"use strict";uy();B4();XV();ml();F4();C7();K7()});var jV=M(()=>{"use strict"});function yh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function xp(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}var dA=M(()=>{"use strict";o(yh,"default");o(xp,"extend")});function vh(){}function QV(){return this.rgb().formatHex()}function _we(){return this.rgb().formatHex8()}function Lwe(){return iU(this).formatHsl()}function ZV(){return this.rgb().formatRgb()}function vl(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=wwe.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?JV(e):r===3?new sa(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?G4(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?G4(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Twe.exec(t))?new sa(e[1],e[2],e[3],1):(e=kwe.exec(t))?new sa(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Ewe.exec(t))?G4(e[1],e[2],e[3],e[4]):(e=Swe.exec(t))?G4(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Cwe.exec(t))?rU(e[1],e[2]/100,e[3]/100,1):(e=Awe.exec(t))?rU(e[1],e[2]/100,e[3]/100,e[4]):KV.hasOwnProperty(t)?JV(KV[t]):t==="transparent"?new sa(NaN,NaN,NaN,0):null}function JV(t){return new sa(t>>16&255,t>>8&255,t&255,1)}function G4(t,e,r,n){return n<=0&&(t=e=r=NaN),new sa(t,e,r,n)}function mA(t){return t instanceof vh||(t=vl(t)),t?(t=t.rgb(),new sa(t.r,t.g,t.b,t.opacity)):new sa}function wp(t,e,r,n){return arguments.length===1?mA(t):new sa(t,e,r,n??1)}function sa(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function eU(){return`#${ed(this.r)}${ed(this.g)}${ed(this.b)}`}function Dwe(){return`#${ed(this.r)}${ed(this.g)}${ed(this.b)}${ed((isNaN(this.opacity)?1:this.opacity)*255)}`}function tU(){let t=U4(this.opacity);return`${t===1?"rgb(":"rgba("}${td(this.r)}, ${td(this.g)}, ${td(this.b)}${t===1?")":`, ${t})`}`}function U4(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function td(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ed(t){return t=td(t),(t<16?"0":"")+t.toString(16)}function rU(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new yl(t,e,r,n)}function iU(t){if(t instanceof yl)return new yl(t.h,t.s,t.l,t.opacity);if(t instanceof vh||(t=vl(t)),!t)return new yl;if(t instanceof yl)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,l=a-i,u=(a+i)/2;return l?(e===a?s=(r-n)/l+(r0&&u<1?0:s,new yl(s,l,u,t.opacity)}function aU(t,e,r,n){return arguments.length===1?iU(t):new yl(t,e,r,n??1)}function yl(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function nU(t){return t=(t||0)%360,t<0?t+360:t}function $4(t){return Math.max(0,Math.min(1,t||0))}function pA(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}var py,V4,bp,my,ac,wwe,Twe,kwe,Ewe,Swe,Cwe,Awe,KV,gA=M(()=>{"use strict";dA();o(vh,"Color");py=.7,V4=1/py,bp="\\s*([+-]?\\d+)\\s*",my="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ac="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",wwe=/^#([0-9a-f]{3,8})$/,Twe=new RegExp(`^rgb\\(${bp},${bp},${bp}\\)$`),kwe=new RegExp(`^rgb\\(${ac},${ac},${ac}\\)$`),Ewe=new RegExp(`^rgba\\(${bp},${bp},${bp},${my}\\)$`),Swe=new RegExp(`^rgba\\(${ac},${ac},${ac},${my}\\)$`),Cwe=new RegExp(`^hsl\\(${my},${ac},${ac}\\)$`),Awe=new RegExp(`^hsla\\(${my},${ac},${ac},${my}\\)$`),KV={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};yh(vh,vl,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:QV,formatHex:QV,formatHex8:_we,formatHsl:Lwe,formatRgb:ZV,toString:ZV});o(QV,"color_formatHex");o(_we,"color_formatHex8");o(Lwe,"color_formatHsl");o(ZV,"color_formatRgb");o(vl,"color");o(JV,"rgbn");o(G4,"rgba");o(mA,"rgbConvert");o(wp,"rgb");o(sa,"Rgb");yh(sa,wp,xp(vh,{brighter(t){return t=t==null?V4:Math.pow(V4,t),new sa(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?py:Math.pow(py,t),new sa(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new sa(td(this.r),td(this.g),td(this.b),U4(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:eU,formatHex:eU,formatHex8:Dwe,formatRgb:tU,toString:tU}));o(eU,"rgb_formatHex");o(Dwe,"rgb_formatHex8");o(tU,"rgb_formatRgb");o(U4,"clampa");o(td,"clampi");o(ed,"hex");o(rU,"hsla");o(iU,"hslConvert");o(aU,"hsl");o(yl,"Hsl");yh(yl,aU,xp(vh,{brighter(t){return t=t==null?V4:Math.pow(V4,t),new yl(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?py:Math.pow(py,t),new yl(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new sa(pA(t>=240?t-240:t+120,i,n),pA(t,i,n),pA(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new yl(nU(this.h),$4(this.s),$4(this.l),U4(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=U4(this.opacity);return`${t===1?"hsl(":"hsla("}${nU(this.h)}, ${$4(this.s)*100}%, ${$4(this.l)*100}%${t===1?")":`, ${t})`}`}}));o(nU,"clamph");o($4,"clampt");o(pA,"hsl2rgb")});var sU,oU,lU=M(()=>{"use strict";sU=Math.PI/180,oU=180/Math.PI});function pU(t){if(t instanceof sc)return new sc(t.l,t.a,t.b,t.opacity);if(t instanceof cu)return mU(t);t instanceof sa||(t=mA(t));var e=bA(t.r),r=bA(t.g),n=bA(t.b),i=yA((.2225045*e+.7168786*r+.0606169*n)/uU),a,s;return e===r&&r===n?a=s=i:(a=yA((.4360747*e+.3850649*r+.1430804*n)/cU),s=yA((.0139322*e+.0971045*r+.7141733*n)/hU)),new sc(116*i-16,500*(a-i),200*(i-s),t.opacity)}function wA(t,e,r,n){return arguments.length===1?pU(t):new sc(t,e,r,n??1)}function sc(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function yA(t){return t>Nwe?Math.pow(t,1/3):t/dU+fU}function vA(t){return t>Tp?t*t*t:dU*(t-fU)}function xA(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function bA(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Rwe(t){if(t instanceof cu)return new cu(t.h,t.c,t.l,t.opacity);if(t instanceof sc||(t=pU(t)),t.a===0&&t.b===0)return new cu(NaN,0{"use strict";dA();gA();lU();H4=18,cU=.96422,uU=1,hU=.82521,fU=4/29,Tp=6/29,dU=3*Tp*Tp,Nwe=Tp*Tp*Tp;o(pU,"labConvert");o(wA,"lab");o(sc,"Lab");yh(sc,wA,xp(vh,{brighter(t){return new sc(this.l+H4*(t??1),this.a,this.b,this.opacity)},darker(t){return new sc(this.l-H4*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=cU*vA(e),t=uU*vA(t),r=hU*vA(r),new sa(xA(3.1338561*e-1.6168667*t-.4906146*r),xA(-.9787684*e+1.9161415*t+.033454*r),xA(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));o(yA,"xyz2lab");o(vA,"lab2xyz");o(xA,"lrgb2rgb");o(bA,"rgb2lrgb");o(Rwe,"hclConvert");o(gy,"hcl");o(cu,"Hcl");o(mU,"hcl2lab");yh(cu,gy,xp(vh,{brighter(t){return new cu(this.h,this.c,this.l+H4*(t??1),this.opacity)},darker(t){return new cu(this.h,this.c,this.l-H4*(t??1),this.opacity)},rgb(){return mU(this).rgb()}}))});var kp=M(()=>{"use strict";gA();gU()});function TA(t,e,r,n,i){var a=t*t,s=a*t;return((1-3*t+3*a-s)*e+(4-6*a+3*s)*r+(1+3*t+3*a-3*s)*n+s*i)/6}function kA(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],s=n>0?t[n-1]:2*i-a,l=n{"use strict";o(TA,"basis");o(kA,"default")});function SA(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],a=t[n%e],s=t[(n+1)%e],l=t[(n+2)%e];return TA((r-n/e)*e,i,a,s,l)}}var yU=M(()=>{"use strict";EA();o(SA,"default")});var Ep,CA=M(()=>{"use strict";Ep=o(t=>()=>t,"default")});function vU(t,e){return function(r){return t+r*e}}function Mwe(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function xU(t,e){var r=e-t;return r?vU(t,r>180||r<-180?r-360*Math.round(r/360):r):Ep(isNaN(t)?e:t)}function bU(t){return(t=+t)==1?uu:function(e,r){return r-e?Mwe(e,r,t):Ep(isNaN(e)?r:e)}}function uu(t,e){var r=e-t;return r?vU(t,r):Ep(isNaN(t)?e:t)}var AA=M(()=>{"use strict";CA();o(vU,"linear");o(Mwe,"exponential");o(xU,"hue");o(bU,"gamma");o(uu,"nogamma")});function wU(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),a=new Array(r),s,l;for(s=0;s{"use strict";kp();EA();yU();AA();rd=o(function t(e){var r=bU(e);function n(i,a){var s=r((i=wp(i)).r,(a=wp(a)).r),l=r(i.g,a.g),u=r(i.b,a.b),h=uu(i.opacity,a.opacity);return function(f){return i.r=s(f),i.g=l(f),i.b=u(f),i.opacity=h(f),i+""}}return o(n,"rgb"),n.gamma=t,n},"rgbGamma")(1);o(wU,"rgbSpline");Iwe=wU(kA),Owe=wU(SA)});function LA(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;i{"use strict";o(LA,"default");o(TU,"isNumberArray")});function EU(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),a=new Array(r),s;for(s=0;s{"use strict";W4();o(EU,"genericArray")});function DA(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}var CU=M(()=>{"use strict";o(DA,"default")});function Ki(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var yy=M(()=>{"use strict";o(Ki,"default")});function NA(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=xh(t[i],e[i]):n[i]=e[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var AU=M(()=>{"use strict";W4();o(NA,"default")});function Pwe(t){return function(){return t}}function Bwe(t){return function(e){return t(e)+""}}function Sp(t,e){var r=MA.lastIndex=RA.lastIndex=0,n,i,a,s=-1,l=[],u=[];for(t=t+"",e=e+"";(n=MA.exec(t))&&(i=RA.exec(e));)(a=i.index)>r&&(a=e.slice(r,a),l[s]?l[s]+=a:l[++s]=a),(n=n[0])===(i=i[0])?l[s]?l[s]+=i:l[++s]=i:(l[++s]=null,u.push({i:s,x:Ki(n,i)})),r=RA.lastIndex;return r{"use strict";yy();MA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,RA=new RegExp(MA.source,"g");o(Pwe,"zero");o(Bwe,"one");o(Sp,"default")});function xh(t,e){var r=typeof e,n;return e==null||r==="boolean"?Ep(e):(r==="number"?Ki:r==="string"?(n=vl(e))?(e=n,rd):Sp:e instanceof vl?rd:e instanceof Date?DA:TU(e)?LA:Array.isArray(e)?EU:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?NA:Ki)(t,e)}var W4=M(()=>{"use strict";kp();_A();SU();CU();yy();AU();IA();CA();kU();o(xh,"default")});function Y4(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var _U=M(()=>{"use strict";o(Y4,"default")});function X4(t,e,r,n,i,a){var s,l,u;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(u=t*r+e*n)&&(r-=t*u,n-=e*u),(l=Math.sqrt(r*r+n*n))&&(r/=l,n/=l,u/=l),t*n{"use strict";LU=180/Math.PI,q4={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};o(X4,"default")});function NU(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?q4:X4(e.a,e.b,e.c,e.d,e.e,e.f)}function RU(t){return t==null?q4:(j4||(j4=document.createElementNS("http://www.w3.org/2000/svg","g")),j4.setAttribute("transform",t),(t=j4.transform.baseVal.consolidate())?(t=t.matrix,X4(t.a,t.b,t.c,t.d,t.e,t.f)):q4)}var j4,MU=M(()=>{"use strict";DU();o(NU,"parseCss");o(RU,"parseSvg")});function IU(t,e,r,n){function i(h){return h.length?h.pop()+" ":""}o(i,"pop");function a(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push("translate(",null,e,null,r);g.push({i:y-4,x:Ki(h,d)},{i:y-2,x:Ki(f,p)})}else(d||p)&&m.push("translate("+d+e+p+r)}o(a,"translate");function s(h,f,d,p){h!==f?(h-f>180?f+=360:f-h>180&&(h+=360),p.push({i:d.push(i(d)+"rotate(",null,n)-2,x:Ki(h,f)})):f&&d.push(i(d)+"rotate("+f+n)}o(s,"rotate");function l(h,f,d,p){h!==f?p.push({i:d.push(i(d)+"skewX(",null,n)-2,x:Ki(h,f)}):f&&d.push(i(d)+"skewX("+f+n)}o(l,"skewX");function u(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push(i(m)+"scale(",null,",",null,")");g.push({i:y-4,x:Ki(h,d)},{i:y-2,x:Ki(f,p)})}else(d!==1||p!==1)&&m.push(i(m)+"scale("+d+","+p+")")}return o(u,"scale"),function(h,f){var d=[],p=[];return h=t(h),f=t(f),a(h.translateX,h.translateY,f.translateX,f.translateY,d,p),s(h.rotate,f.rotate,d,p),l(h.skewX,f.skewX,d,p),u(h.scaleX,h.scaleY,f.scaleX,f.scaleY,d,p),h=f=null,function(m){for(var g=-1,y=p.length,v;++g{"use strict";yy();MU();o(IU,"interpolateTransform");OA=IU(NU,"px, ","px)","deg)"),PA=IU(RU,", ",")",")")});function PU(t){return function(e,r){var n=t((e=gy(e)).h,(r=gy(r)).h),i=uu(e.c,r.c),a=uu(e.l,r.l),s=uu(e.opacity,r.opacity);return function(l){return e.h=n(l),e.c=i(l),e.l=a(l),e.opacity=s(l),e+""}}}var BA,Fwe,BU=M(()=>{"use strict";kp();AA();o(PU,"hcl");BA=PU(xU),Fwe=PU(uu)});var Cp=M(()=>{"use strict";W4();yy();_U();IA();OU();_A();BU()});function ky(){return nd||(GU(zwe),nd=wy.now()+Z4)}function zwe(){nd=0}function Ty(){this._call=this._time=this._next=null}function J4(t,e,r){var n=new Ty;return n.restart(t,e,r),n}function $U(){ky(),++Ap;for(var t=K4,e;t;)(e=nd-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Ap}function FU(){nd=(Q4=wy.now())+Z4,Ap=xy=0;try{$U()}finally{Ap=0,$we(),nd=0}}function Gwe(){var t=wy.now(),e=t-Q4;e>zU&&(Z4-=e,Q4=t)}function $we(){for(var t,e=K4,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:K4=r);by=t,FA(n)}function FA(t){if(!Ap){xy&&(xy=clearTimeout(xy));var e=t-nd;e>24?(t<1/0&&(xy=setTimeout(FU,t-wy.now()-Z4)),vy&&(vy=clearInterval(vy))):(vy||(Q4=wy.now(),vy=setInterval(Gwe,zU)),Ap=1,GU(FU))}}var Ap,xy,vy,zU,K4,by,Q4,nd,Z4,wy,GU,zA=M(()=>{"use strict";Ap=0,xy=0,vy=0,zU=1e3,Q4=0,nd=0,Z4=0,wy=typeof performance=="object"&&performance.now?performance:Date,GU=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};o(ky,"now");o(zwe,"clearNow");o(Ty,"Timer");Ty.prototype=J4.prototype={constructor:Ty,restart:o(function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?ky():+r)+(e==null?0:+e),!this._next&&by!==this&&(by?by._next=this:K4=this,by=this),this._call=t,this._time=r,FA()},"restart"),stop:o(function(){this._call&&(this._call=null,this._time=1/0,FA())},"stop")};o(J4,"timer");o($U,"timerFlush");o(FU,"wake");o(Gwe,"poke");o($we,"nap");o(FA,"sleep")});function Ey(t,e,r){var n=new Ty;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var VU=M(()=>{"use strict";zA();o(Ey,"default")});var e3=M(()=>{"use strict";zA();VU()});function hu(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;Hwe(t,r,{name:e,index:n,group:i,on:Vwe,tween:Uwe,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:WU})}function Cy(t,e){var r=Oi(t,e);if(r.state>WU)throw new Error("too late; already scheduled");return r}function oa(t,e){var r=Oi(t,e);if(r.state>t3)throw new Error("too late; already running");return r}function Oi(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function Hwe(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=J4(a,0,r.time);function a(h){r.state=UU,r.timer.restart(s,r.delay,r.time),r.delay<=h&&s(h-r.delay)}o(a,"schedule");function s(h){var f,d,p,m;if(r.state!==UU)return u();for(f in n)if(m=n[f],m.name===r.name){if(m.state===t3)return Ey(s);m.state===HU?(m.state=Sy,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete n[f]):+f{"use strict";b7();e3();Vwe=x7("start","end","cancel","interrupt"),Uwe=[],WU=0,UU=1,r3=2,t3=3,HU=4,n3=5,Sy=6;o(hu,"default");o(Cy,"init");o(oa,"set");o(Oi,"get");o(Hwe,"create")});function Ay(t,e){var r=t.__transition,n,i,a=!0,s;if(r){e=e==null?null:e+"";for(s in r){if((n=r[s]).name!==e){a=!1;continue}i=n.state>r3&&n.state{"use strict";ys();o(Ay,"default")});function GA(t){return this.each(function(){Ay(this,t)})}var qU=M(()=>{"use strict";YU();o(GA,"default")});function Wwe(t,e){var r,n;return function(){var i=oa(this,t),a=i.tween;if(a!==r){n=r=a;for(var s=0,l=n.length;s{"use strict";ys();o(Wwe,"tweenRemove");o(Ywe,"tweenFunction");o($A,"default");o(_p,"tweenValue")});function Ly(t,e){var r;return(typeof e=="number"?Ki:e instanceof vl?rd:(r=vl(e))?(e=r,rd):Sp)(t,e)}var VA=M(()=>{"use strict";kp();Cp();o(Ly,"default")});function qwe(t){return function(){this.removeAttribute(t)}}function Xwe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function jwe(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttribute(t);return s===i?null:s===n?a:a=e(n=s,r)}}function Kwe(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttributeNS(t.space,t.local);return s===i?null:s===n?a:a=e(n=s,r)}}function Qwe(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttribute(t):(s=this.getAttribute(t),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function Zwe(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function UA(t,e){var r=ic(t),n=r==="transform"?PA:Ly;return this.attrTween(t,typeof e=="function"?(r.local?Zwe:Qwe)(r,n,_p(this,"attr."+t,e)):e==null?(r.local?Xwe:qwe)(r):(r.local?Kwe:jwe)(r,n,e))}var XU=M(()=>{"use strict";Cp();gl();_y();VA();o(qwe,"attrRemove");o(Xwe,"attrRemoveNS");o(jwe,"attrConstant");o(Kwe,"attrConstantNS");o(Qwe,"attrFunction");o(Zwe,"attrFunctionNS");o(UA,"default")});function Jwe(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function eTe(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function tTe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&eTe(t,a)),r}return o(i,"tween"),i._value=e,i}function rTe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&Jwe(t,a)),r}return o(i,"tween"),i._value=e,i}function HA(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var n=ic(t);return this.tween(r,(n.local?tTe:rTe)(n,e))}var jU=M(()=>{"use strict";gl();o(Jwe,"attrInterpolate");o(eTe,"attrInterpolateNS");o(tTe,"attrTweenNS");o(rTe,"attrTween");o(HA,"default")});function nTe(t,e){return function(){Cy(this,t).delay=+e.apply(this,arguments)}}function iTe(t,e){return e=+e,function(){Cy(this,t).delay=e}}function WA(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?nTe:iTe)(e,t)):Oi(this.node(),e).delay}var KU=M(()=>{"use strict";ys();o(nTe,"delayFunction");o(iTe,"delayConstant");o(WA,"default")});function aTe(t,e){return function(){oa(this,t).duration=+e.apply(this,arguments)}}function sTe(t,e){return e=+e,function(){oa(this,t).duration=e}}function YA(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?aTe:sTe)(e,t)):Oi(this.node(),e).duration}var QU=M(()=>{"use strict";ys();o(aTe,"durationFunction");o(sTe,"durationConstant");o(YA,"default")});function oTe(t,e){if(typeof e!="function")throw new Error;return function(){oa(this,t).ease=e}}function qA(t){var e=this._id;return arguments.length?this.each(oTe(e,t)):Oi(this.node(),e).ease}var ZU=M(()=>{"use strict";ys();o(oTe,"easeConstant");o(qA,"default")});function lTe(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;oa(this,t).ease=r}}function XA(t){if(typeof t!="function")throw new Error;return this.each(lTe(this._id,t))}var JU=M(()=>{"use strict";ys();o(lTe,"easeVarying");o(XA,"default")});function jA(t){typeof t!="function"&&(t=vp(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";gl();id();o(jA,"default")});function KA(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,i=r.length,a=Math.min(n,i),s=new Array(n),l=0;l{"use strict";id();o(KA,"default")});function cTe(t){return(t+"").trim().split(/^|\s+/).every(function(e){var r=e.indexOf(".");return r>=0&&(e=e.slice(0,r)),!e||e==="start"})}function uTe(t,e,r){var n,i,a=cTe(e)?Cy:oa;return function(){var s=a(this,t),l=s.on;l!==n&&(i=(n=l).copy()).on(e,r),s.on=i}}function QA(t,e){var r=this._id;return arguments.length<2?Oi(this.node(),r).on.on(t):this.each(uTe(r,t,e))}var rH=M(()=>{"use strict";ys();o(cTe,"start");o(uTe,"onFunction");o(QA,"default")});function hTe(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function ZA(){return this.on("end.remove",hTe(this._id))}var nH=M(()=>{"use strict";o(hTe,"removeFunction");o(ZA,"default")});function JA(t){var e=this._name,r=this._id;typeof t!="function"&&(t=mh(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s{"use strict";gl();id();ys();o(JA,"default")});function e8(t){var e=this._name,r=this._id;typeof t!="function"&&(t=yp(t));for(var n=this._groups,i=n.length,a=[],s=[],l=0;l{"use strict";gl();id();ys();o(e8,"default")});function t8(){return new fTe(this._groups,this._parents)}var fTe,sH=M(()=>{"use strict";gl();fTe=lu.prototype.constructor;o(t8,"default")});function dTe(t,e){var r,n,i;return function(){var a=gh(this,t),s=(this.style.removeProperty(t),gh(this,t));return a===s?null:a===r&&s===n?i:i=e(r=a,n=s)}}function oH(t){return function(){this.style.removeProperty(t)}}function pTe(t,e,r){var n,i=r+"",a;return function(){var s=gh(this,t);return s===i?null:s===n?a:a=e(n=s,r)}}function mTe(t,e,r){var n,i,a;return function(){var s=gh(this,t),l=r(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),gh(this,t))),s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l))}}function gTe(t,e){var r,n,i,a="style."+e,s="end."+a,l;return function(){var u=oa(this,t),h=u.on,f=u.value[a]==null?l||(l=oH(e)):void 0;(h!==r||i!==f)&&(n=(r=h).copy()).on(s,i=f),u.on=n}}function r8(t,e,r){var n=(t+="")=="transform"?OA:Ly;return e==null?this.styleTween(t,dTe(t,n)).on("end.style."+t,oH(t)):typeof e=="function"?this.styleTween(t,mTe(t,n,_p(this,"style."+t,e))).each(gTe(this._id,t)):this.styleTween(t,pTe(t,n,e),r).on("end.style."+t,null)}var lH=M(()=>{"use strict";Cp();gl();ys();_y();VA();o(dTe,"styleNull");o(oH,"styleRemove");o(pTe,"styleConstant");o(mTe,"styleFunction");o(gTe,"styleMaybeRemove");o(r8,"default")});function yTe(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function vTe(t,e,r){var n,i;function a(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&yTe(t,s,r)),n}return o(a,"tween"),a._value=e,a}function n8(t,e,r){var n="style."+(t+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,vTe(t,e,r??""))}var cH=M(()=>{"use strict";o(yTe,"styleInterpolate");o(vTe,"styleTween");o(n8,"default")});function xTe(t){return function(){this.textContent=t}}function bTe(t){return function(){var e=t(this);this.textContent=e??""}}function i8(t){return this.tween("text",typeof t=="function"?bTe(_p(this,"text",t)):xTe(t==null?"":t+""))}var uH=M(()=>{"use strict";_y();o(xTe,"textConstant");o(bTe,"textFunction");o(i8,"default")});function wTe(t){return function(e){this.textContent=t.call(this,e)}}function TTe(t){var e,r;function n(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&wTe(i)),e}return o(n,"tween"),n._value=t,n}function a8(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,TTe(t))}var hH=M(()=>{"use strict";o(wTe,"textInterpolate");o(TTe,"textTween");o(a8,"default")});function s8(){for(var t=this._name,e=this._id,r=i3(),n=this._groups,i=n.length,a=0;a{"use strict";id();ys();o(s8,"default")});function o8(){var t,e,r=this,n=r._id,i=r.size();return new Promise(function(a,s){var l={value:s},u={value:o(function(){--i===0&&a()},"value")};r.each(function(){var h=oa(this,n),f=h.on;f!==t&&(e=(t=f).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),h.on=e}),i===0&&a()})}var dH=M(()=>{"use strict";ys();o(o8,"default")});function ja(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function pH(t){return lu().transition(t)}function i3(){return++kTe}var kTe,fu,id=M(()=>{"use strict";gl();XU();jU();KU();QU();ZU();JU();eH();tH();rH();nH();iH();aH();sH();lH();cH();uH();hH();fH();_y();dH();kTe=0;o(ja,"Transition");o(pH,"transition");o(i3,"newId");fu=lu.prototype;ja.prototype=pH.prototype={constructor:ja,select:JA,selectAll:e8,selectChild:fu.selectChild,selectChildren:fu.selectChildren,filter:jA,merge:KA,selection:t8,transition:s8,call:fu.call,nodes:fu.nodes,node:fu.node,size:fu.size,empty:fu.empty,each:fu.each,on:QA,attr:UA,attrTween:HA,style:r8,styleTween:n8,text:i8,textTween:a8,remove:ZA,tween:$A,delay:WA,duration:YA,ease:qA,easeVarying:XA,end:o8,[Symbol.iterator]:fu[Symbol.iterator]}});function a3(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var mH=M(()=>{"use strict";o(a3,"cubicInOut")});var l8=M(()=>{"use strict";mH()});function STe(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function c8(t){var e,r;t instanceof ja?(e=t._id,t=t._name):(e=i3(),(r=ETe).time=ky(),t=t==null?null:t+"");for(var n=this._groups,i=n.length,a=0;a{"use strict";id();ys();l8();e3();ETe={time:null,delay:0,duration:250,ease:a3};o(STe,"inherit");o(c8,"default")});var yH=M(()=>{"use strict";gl();qU();gH();lu.prototype.interrupt=GA;lu.prototype.transition=c8});var s3=M(()=>{"use strict";yH()});var vH=M(()=>{"use strict"});var xH=M(()=>{"use strict"});var bH=M(()=>{"use strict"});function wH(t){return[+t[0],+t[1]]}function CTe(t){return[wH(t[0]),wH(t[1])]}function u8(t){return{type:t}}var t1t,r1t,n1t,i1t,a1t,s1t,TH=M(()=>{"use strict";s3();vH();xH();bH();({abs:t1t,max:r1t,min:n1t}=Math);o(wH,"number1");o(CTe,"number2");i1t={name:"x",handles:["w","e"].map(u8),input:o(function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},"input"),output:o(function(t){return t&&[t[0][0],t[1][0]]},"output")},a1t={name:"y",handles:["n","s"].map(u8),input:o(function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},"input"),output:o(function(t){return t&&[t[0][1],t[1][1]]},"output")},s1t={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(u8),input:o(function(t){return t==null?null:CTe(t)},"input"),output:o(function(t){return t},"output")};o(u8,"type")});var kH=M(()=>{"use strict";TH()});function EH(t){this._+=t[0];for(let e=1,r=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return EH;let r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;i{"use strict";h8=Math.PI,f8=2*h8,ad=1e-6,ATe=f8-ad;o(EH,"append");o(_Te,"appendRound");sd=class{static{o(this,"Path")}constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?EH:_Te(e)}moveTo(e,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,r){this._append`L${this._x1=+e},${this._y1=+r}`}quadraticCurveTo(e,r,n,i){this._append`Q${+e},${+r},${this._x1=+n},${this._y1=+i}`}bezierCurveTo(e,r,n,i,a,s){this._append`C${+e},${+r},${+n},${+i},${this._x1=+a},${this._y1=+s}`}arcTo(e,r,n,i,a){if(e=+e,r=+r,n=+n,i=+i,a=+a,a<0)throw new Error(`negative radius: ${a}`);let s=this._x1,l=this._y1,u=n-e,h=i-r,f=s-e,d=l-r,p=f*f+d*d;if(this._x1===null)this._append`M${this._x1=e},${this._y1=r}`;else if(p>ad)if(!(Math.abs(d*u-h*f)>ad)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let m=n-s,g=i-l,y=u*u+h*h,v=m*m+g*g,x=Math.sqrt(y),b=Math.sqrt(p),w=a*Math.tan((h8-Math.acos((y+p-v)/(2*x*b)))/2),_=w/b,T=w/x;Math.abs(_-1)>ad&&this._append`L${e+_*f},${r+_*d}`,this._append`A${a},${a},0,0,${+(d*m>f*g)},${this._x1=e+T*u},${this._y1=r+T*h}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(i),u=n*Math.sin(i),h=e+l,f=r+u,d=1^s,p=s?i-a:a-i;this._x1===null?this._append`M${h},${f}`:(Math.abs(this._x1-h)>ad||Math.abs(this._y1-f)>ad)&&this._append`L${h},${f}`,n&&(p<0&&(p=p%f8+f8),p>ATe?this._append`A${n},${n},0,1,${d},${e-l},${r-u}A${n},${n},0,1,${d},${this._x1=h},${this._y1=f}`:p>ad&&this._append`A${n},${n},0,${+(p>=h8)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};o(SH,"path");SH.prototype=sd.prototype});var d8=M(()=>{"use strict";CH()});var AH=M(()=>{"use strict"});var _H=M(()=>{"use strict"});var LH=M(()=>{"use strict"});var DH=M(()=>{"use strict"});var NH=M(()=>{"use strict"});var RH=M(()=>{"use strict"});var MH=M(()=>{"use strict"});function p8(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function od(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}var Dy=M(()=>{"use strict";o(p8,"default");o(od,"formatDecimalParts")});function xl(t){return t=od(Math.abs(t)),t?t[1]:NaN}var Ny=M(()=>{"use strict";Dy();o(xl,"default")});function m8(t,e){return function(r,n){for(var i=r.length,a=[],s=0,l=t[0],u=0;i>0&&l>0&&(u+l+1>n&&(l=Math.max(1,n-u)),a.push(r.substring(i-=l,i+l)),!((u+=l+1)>n));)l=t[s=(s+1)%t.length];return a.reverse().join(e)}}var IH=M(()=>{"use strict";o(m8,"default")});function g8(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var OH=M(()=>{"use strict";o(g8,"default")});function bh(t){if(!(e=LTe.exec(t)))throw new Error("invalid format: "+t);var e;return new o3({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function o3(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}var LTe,y8=M(()=>{"use strict";LTe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;o(bh,"formatSpecifier");bh.prototype=o3.prototype;o(o3,"FormatSpecifier");o3.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type}});function v8(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var PH=M(()=>{"use strict";o(v8,"default")});function b8(t,e){var r=od(t,e);if(!r)return t+"";var n=r[0],i=r[1],a=i-(x8=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+od(t,Math.max(0,e+a-1))[0]}var x8,w8=M(()=>{"use strict";Dy();o(b8,"default")});function l3(t,e){var r=od(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}var BH=M(()=>{"use strict";Dy();o(l3,"default")});var T8,FH=M(()=>{"use strict";Dy();w8();BH();T8={"%":o((t,e)=>(t*100).toFixed(e),"%"),b:o(t=>Math.round(t).toString(2),"b"),c:o(t=>t+"","c"),d:p8,e:o((t,e)=>t.toExponential(e),"e"),f:o((t,e)=>t.toFixed(e),"f"),g:o((t,e)=>t.toPrecision(e),"g"),o:o(t=>Math.round(t).toString(8),"o"),p:o((t,e)=>l3(t*100,e),"p"),r:l3,s:b8,X:o(t=>Math.round(t).toString(16).toUpperCase(),"X"),x:o(t=>Math.round(t).toString(16),"x")}});function c3(t){return t}var zH=M(()=>{"use strict";o(c3,"default")});function k8(t){var e=t.grouping===void 0||t.thousands===void 0?c3:m8(GH.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?c3:g8(GH.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function h(d){d=bh(d);var p=d.fill,m=d.align,g=d.sign,y=d.symbol,v=d.zero,x=d.width,b=d.comma,w=d.precision,_=d.trim,T=d.type;T==="n"?(b=!0,T="g"):T8[T]||(w===void 0&&(w=12),_=!0,T="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var E=y==="$"?r:y==="#"&&/[boxX]/.test(T)?"0"+T.toLowerCase():"",L=y==="$"?n:/[%p]/.test(T)?s:"",C=T8[T],A=/[defgprs%]/.test(T);w=w===void 0?6:/[gprs]/.test(T)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function I(D){var k=E,R=L,S,O,N;if(T==="c")R=C(D)+R,D="";else{D=+D;var P=D<0||1/D<0;if(D=isNaN(D)?u:C(Math.abs(D),w),_&&(D=v8(D)),P&&+D==0&&g!=="+"&&(P=!1),k=(P?g==="("?g:l:g==="-"||g==="("?"":g)+k,R=(T==="s"?$H[8+x8/3]:"")+R+(P&&g==="("?")":""),A){for(S=-1,O=D.length;++SN||N>57){R=(N===46?i+D.slice(S+1):D.slice(S))+R,D=D.slice(0,S);break}}}b&&!v&&(D=e(D,1/0));var F=k.length+D.length+R.length,B=F>1)+k+D+R+B.slice(F);break;default:D=B+k+D+R;break}return a(D)}return o(I,"format"),I.toString=function(){return d+""},I}o(h,"newFormat");function f(d,p){var m=h((d=bh(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(xl(p)/3)))*3,y=Math.pow(10,-g),v=$H[8+g/3];return function(x){return m(y*x)+v}}return o(f,"formatPrefix"),{format:h,formatPrefix:f}}var GH,$H,VH=M(()=>{"use strict";Ny();IH();OH();y8();PH();FH();w8();zH();GH=Array.prototype.map,$H=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];o(k8,"default")});function E8(t){return u3=k8(t),h3=u3.format,f3=u3.formatPrefix,u3}var u3,h3,f3,UH=M(()=>{"use strict";VH();E8({thousands:",",grouping:[3],currency:["$",""]});o(E8,"defaultLocale")});function d3(t){return Math.max(0,-xl(Math.abs(t)))}var HH=M(()=>{"use strict";Ny();o(d3,"default")});function p3(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(xl(e)/3)))*3-xl(Math.abs(t)))}var WH=M(()=>{"use strict";Ny();o(p3,"default")});function m3(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,xl(e)-xl(t))+1}var YH=M(()=>{"use strict";Ny();o(m3,"default")});var S8=M(()=>{"use strict";UH();y8();HH();WH();YH()});var qH=M(()=>{"use strict"});var XH=M(()=>{"use strict"});var jH=M(()=>{"use strict"});var KH=M(()=>{"use strict"});function wh(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var Ry=M(()=>{"use strict";o(wh,"initRange")});function du(){var t=new mp,e=[],r=[],n=C8;function i(a){let s=t.get(a);if(s===void 0){if(n!==C8)return n;t.set(a,s=e.push(a)-1)}return r[s%r.length]}return o(i,"scale"),i.domain=function(a){if(!arguments.length)return e.slice();e=[],t=new mp;for(let s of a)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(a){return arguments.length?(r=Array.from(a),i):r.slice()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return du(e,r).unknown(n)},wh.apply(i,arguments),i}var C8,A8=M(()=>{"use strict";ph();Ry();C8=Symbol("implicit");o(du,"ordinal")});function Lp(){var t=du().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,a,s,l=!1,u=0,h=0,f=.5;delete t.unknown;function d(){var p=e().length,m=i{"use strict";ph();Ry();A8();o(Lp,"band")});function _8(t){return function(){return t}}var ZH=M(()=>{"use strict";o(_8,"constants")});function L8(t){return+t}var JH=M(()=>{"use strict";o(L8,"number")});function Dp(t){return t}function D8(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:_8(isNaN(e)?NaN:.5)}function DTe(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function NTe(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?RTe:NTe,u=h=null,d}o(f,"rescale");function d(p){return p==null||isNaN(p=+p)?a:(u||(u=l(t.map(n),e,r)))(n(s(p)))}return o(d,"scale"),d.invert=function(p){return s(i((h||(h=l(e,t.map(n),Ki)))(p)))},d.domain=function(p){return arguments.length?(t=Array.from(p,L8),f()):t.slice()},d.range=function(p){return arguments.length?(e=Array.from(p),f()):e.slice()},d.rangeRound=function(p){return e=Array.from(p),r=Y4,f()},d.clamp=function(p){return arguments.length?(s=p?!0:Dp,f()):s!==Dp},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(a=p,d):a},function(p,m){return n=p,i=m,f()}}function My(){return MTe()(Dp,Dp)}var eW,N8=M(()=>{"use strict";ph();Cp();ZH();JH();eW=[0,1];o(Dp,"identity");o(D8,"normalize");o(DTe,"clamper");o(NTe,"bimap");o(RTe,"polymap");o(g3,"copy");o(MTe,"transformer");o(My,"continuous")});function R8(t,e,r,n){var i=gp(t,e,r),a;switch(n=bh(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=p3(i,s))&&(n.precision=a),f3(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=m3(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=d3(i))&&(n.precision=a-(n.type==="%")*2);break}}return h3(n)}var tW=M(()=>{"use strict";ph();S8();o(R8,"tickFormat")});function ITe(t){var e=t.domain;return t.ticks=function(r){var n=e();return L4(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return R8(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],l=n[a],u,h,f=10;for(l0;){if(h=ly(s,l,r),h===u)return n[i]=s,n[a]=l,e(n);if(h>0)s=Math.floor(s/h)*h,l=Math.ceil(l/h)*h;else if(h<0)s=Math.ceil(s*h)/h,l=Math.floor(l*h)/h;else break;u=h}return t},t}function bl(){var t=My();return t.copy=function(){return g3(t,bl())},wh.apply(t,arguments),ITe(t)}var rW=M(()=>{"use strict";ph();N8();Ry();tW();o(ITe,"linearish");o(bl,"linear")});function M8(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a{"use strict";o(M8,"nice")});function gn(t,e,r,n){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return o(i,"interval"),i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{let s=i(a),l=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,l)=>{let u=[];if(a=i.ceil(a),l=l==null?1:Math.floor(l),!(a0))return u;let h;do u.push(h=new Date(+a)),e(a,l),t(a);while(hgn(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,l)=>{if(s>=s)if(l<0)for(;++l<=0;)for(;e(s,-1),!a(s););else for(;--l>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(I8.setTime(+a),O8.setTime(+s),t(I8),t(O8),Math.floor(r(I8,O8))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}var I8,O8,pu=M(()=>{"use strict";I8=new Date,O8=new Date;o(gn,"timeInterval")});var oc,iW,P8=M(()=>{"use strict";pu();oc=gn(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);oc.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?gn(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):oc);iW=oc.range});var Xs,aW,B8=M(()=>{"use strict";pu();Xs=gn(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),aW=Xs.range});var mu,OTe,y3,PTe,F8=M(()=>{"use strict";pu();mu=gn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),OTe=mu.range,y3=gn(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),PTe=y3.range});var gu,BTe,v3,FTe,z8=M(()=>{"use strict";pu();gu=gn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),BTe=gu.range,v3=gn(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),FTe=v3.range});var Lo,zTe,Oy,GTe,x3,$Te,G8=M(()=>{"use strict";pu();Lo=gn(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),zTe=Lo.range,Oy=gn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),GTe=Oy.range,x3=gn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),$Te=x3.range});function ud(t){return gn(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}function hd(t){return gn(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var wl,Th,b3,w3,cc,T3,k3,oW,VTe,UTe,HTe,WTe,YTe,qTe,fd,Np,lW,cW,kh,uW,hW,fW,XTe,jTe,KTe,QTe,ZTe,JTe,$8=M(()=>{"use strict";pu();o(ud,"timeWeekday");wl=ud(0),Th=ud(1),b3=ud(2),w3=ud(3),cc=ud(4),T3=ud(5),k3=ud(6),oW=wl.range,VTe=Th.range,UTe=b3.range,HTe=w3.range,WTe=cc.range,YTe=T3.range,qTe=k3.range;o(hd,"utcWeekday");fd=hd(0),Np=hd(1),lW=hd(2),cW=hd(3),kh=hd(4),uW=hd(5),hW=hd(6),fW=fd.range,XTe=Np.range,jTe=lW.range,KTe=cW.range,QTe=kh.range,ZTe=uW.range,JTe=hW.range});var yu,eke,E3,tke,V8=M(()=>{"use strict";pu();yu=gn(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),eke=yu.range,E3=gn(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),tke=E3.range});var js,rke,Tl,nke,U8=M(()=>{"use strict";pu();js=gn(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());js.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:gn(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});rke=js.range,Tl=gn(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Tl.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:gn(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});nke=Tl.range});function pW(t,e,r,n,i,a){let s=[[Xs,1,1e3],[Xs,5,5*1e3],[Xs,15,15*1e3],[Xs,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function l(h,f,d){let p=fv).right(s,p);if(m===s.length)return t.every(gp(h/31536e6,f/31536e6,d));if(m===0)return oc.every(Math.max(gp(h,f,d),1));let[g,y]=s[p/s[m-1][2]{"use strict";ph();P8();B8();F8();z8();G8();$8();V8();U8();o(pW,"ticker");[ake,ske]=pW(Tl,E3,fd,x3,v3,y3),[H8,W8]=pW(js,yu,wl,Lo,gu,mu)});var S3=M(()=>{"use strict";P8();B8();F8();z8();G8();$8();V8();U8();mW()});function Y8(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function q8(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Py(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function X8(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,a=t.days,s=t.shortDays,l=t.months,u=t.shortMonths,h=By(i),f=Fy(i),d=By(a),p=Fy(a),m=By(s),g=Fy(s),y=By(l),v=Fy(l),x=By(u),b=Fy(u),w={a:P,A:F,b:B,B:$,c:null,d:wW,e:wW,f:Lke,g:zke,G:$ke,H:Cke,I:Ake,j:_ke,L:CW,m:Dke,M:Nke,p:z,q:W,Q:EW,s:SW,S:Rke,u:Mke,U:Ike,V:Oke,w:Pke,W:Bke,x:null,X:null,y:Fke,Y:Gke,Z:Vke,"%":kW},_={a:j,A:K,b:ie,B:Q,c:null,d:TW,e:TW,f:Yke,g:rEe,G:iEe,H:Uke,I:Hke,j:Wke,L:_W,m:qke,M:Xke,p:ee,q:J,Q:EW,s:SW,S:jke,u:Kke,U:Qke,V:Zke,w:Jke,W:eEe,x:null,X:null,y:tEe,Y:nEe,Z:aEe,"%":kW},T={a:I,A:D,b:k,B:R,c:S,d:xW,e:xW,f:Tke,g:vW,G:yW,H:bW,I:bW,j:vke,L:wke,m:yke,M:xke,p:A,q:gke,Q:Eke,s:Ske,S:bke,u:hke,U:fke,V:dke,w:uke,W:pke,x:O,X:N,y:vW,Y:yW,Z:mke,"%":kke};w.x=E(r,w),w.X=E(n,w),w.c=E(e,w),_.x=E(r,_),_.X=E(n,_),_.c=E(e,_);function E(H,q){return function(Z){var ae=[],ue=-1,ce=0,te=H.length,De,oe,ke;for(Z instanceof Date||(Z=new Date(+Z));++ue53)return null;"w"in ae||(ae.w=1),"Z"in ae?(ce=q8(Py(ae.y,0,1)),te=ce.getUTCDay(),ce=te>4||te===0?Np.ceil(ce):Np(ce),ce=Oy.offset(ce,(ae.V-1)*7),ae.y=ce.getUTCFullYear(),ae.m=ce.getUTCMonth(),ae.d=ce.getUTCDate()+(ae.w+6)%7):(ce=Y8(Py(ae.y,0,1)),te=ce.getDay(),ce=te>4||te===0?Th.ceil(ce):Th(ce),ce=Lo.offset(ce,(ae.V-1)*7),ae.y=ce.getFullYear(),ae.m=ce.getMonth(),ae.d=ce.getDate()+(ae.w+6)%7)}else("W"in ae||"U"in ae)&&("w"in ae||(ae.w="u"in ae?ae.u%7:"W"in ae?1:0),te="Z"in ae?q8(Py(ae.y,0,1)).getUTCDay():Y8(Py(ae.y,0,1)).getDay(),ae.m=0,ae.d="W"in ae?(ae.w+6)%7+ae.W*7-(te+5)%7:ae.w+ae.U*7-(te+6)%7);return"Z"in ae?(ae.H+=ae.Z/100|0,ae.M+=ae.Z%100,q8(ae)):Y8(ae)}}o(L,"newParse");function C(H,q,Z,ae){for(var ue=0,ce=q.length,te=Z.length,De,oe;ue=te)return-1;if(De=q.charCodeAt(ue++),De===37){if(De=q.charAt(ue++),oe=T[De in gW?q.charAt(ue++):De],!oe||(ae=oe(H,Z,ae))<0)return-1}else if(De!=Z.charCodeAt(ae++))return-1}return ae}o(C,"parseSpecifier");function A(H,q,Z){var ae=h.exec(q.slice(Z));return ae?(H.p=f.get(ae[0].toLowerCase()),Z+ae[0].length):-1}o(A,"parsePeriod");function I(H,q,Z){var ae=m.exec(q.slice(Z));return ae?(H.w=g.get(ae[0].toLowerCase()),Z+ae[0].length):-1}o(I,"parseShortWeekday");function D(H,q,Z){var ae=d.exec(q.slice(Z));return ae?(H.w=p.get(ae[0].toLowerCase()),Z+ae[0].length):-1}o(D,"parseWeekday");function k(H,q,Z){var ae=x.exec(q.slice(Z));return ae?(H.m=b.get(ae[0].toLowerCase()),Z+ae[0].length):-1}o(k,"parseShortMonth");function R(H,q,Z){var ae=y.exec(q.slice(Z));return ae?(H.m=v.get(ae[0].toLowerCase()),Z+ae[0].length):-1}o(R,"parseMonth");function S(H,q,Z){return C(H,e,q,Z)}o(S,"parseLocaleDateTime");function O(H,q,Z){return C(H,r,q,Z)}o(O,"parseLocaleDate");function N(H,q,Z){return C(H,n,q,Z)}o(N,"parseLocaleTime");function P(H){return s[H.getDay()]}o(P,"formatShortWeekday");function F(H){return a[H.getDay()]}o(F,"formatWeekday");function B(H){return u[H.getMonth()]}o(B,"formatShortMonth");function $(H){return l[H.getMonth()]}o($,"formatMonth");function z(H){return i[+(H.getHours()>=12)]}o(z,"formatPeriod");function W(H){return 1+~~(H.getMonth()/3)}o(W,"formatQuarter");function j(H){return s[H.getUTCDay()]}o(j,"formatUTCShortWeekday");function K(H){return a[H.getUTCDay()]}o(K,"formatUTCWeekday");function ie(H){return u[H.getUTCMonth()]}o(ie,"formatUTCShortMonth");function Q(H){return l[H.getUTCMonth()]}o(Q,"formatUTCMonth");function ee(H){return i[+(H.getUTCHours()>=12)]}o(ee,"formatUTCPeriod");function J(H){return 1+~~(H.getUTCMonth()/3)}return o(J,"formatUTCQuarter"),{format:o(function(H){var q=E(H+="",w);return q.toString=function(){return H},q},"format"),parse:o(function(H){var q=L(H+="",!1);return q.toString=function(){return H},q},"parse"),utcFormat:o(function(H){var q=E(H+="",_);return q.toString=function(){return H},q},"utcFormat"),utcParse:o(function(H){var q=L(H+="",!0);return q.toString=function(){return H},q},"utcParse")}}function Hr(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function uke(t,e,r){var n=Qi.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function hke(t,e,r){var n=Qi.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function fke(t,e,r){var n=Qi.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function dke(t,e,r){var n=Qi.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function pke(t,e,r){var n=Qi.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function yW(t,e,r){var n=Qi.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function vW(t,e,r){var n=Qi.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function mke(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function gke(t,e,r){var n=Qi.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function yke(t,e,r){var n=Qi.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function xW(t,e,r){var n=Qi.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function vke(t,e,r){var n=Qi.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function bW(t,e,r){var n=Qi.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function xke(t,e,r){var n=Qi.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function bke(t,e,r){var n=Qi.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function wke(t,e,r){var n=Qi.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Tke(t,e,r){var n=Qi.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function kke(t,e,r){var n=oke.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function Eke(t,e,r){var n=Qi.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function Ske(t,e,r){var n=Qi.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function wW(t,e){return Hr(t.getDate(),e,2)}function Cke(t,e){return Hr(t.getHours(),e,2)}function Ake(t,e){return Hr(t.getHours()%12||12,e,2)}function _ke(t,e){return Hr(1+Lo.count(js(t),t),e,3)}function CW(t,e){return Hr(t.getMilliseconds(),e,3)}function Lke(t,e){return CW(t,e)+"000"}function Dke(t,e){return Hr(t.getMonth()+1,e,2)}function Nke(t,e){return Hr(t.getMinutes(),e,2)}function Rke(t,e){return Hr(t.getSeconds(),e,2)}function Mke(t){var e=t.getDay();return e===0?7:e}function Ike(t,e){return Hr(wl.count(js(t)-1,t),e,2)}function AW(t){var e=t.getDay();return e>=4||e===0?cc(t):cc.ceil(t)}function Oke(t,e){return t=AW(t),Hr(cc.count(js(t),t)+(js(t).getDay()===4),e,2)}function Pke(t){return t.getDay()}function Bke(t,e){return Hr(Th.count(js(t)-1,t),e,2)}function Fke(t,e){return Hr(t.getFullYear()%100,e,2)}function zke(t,e){return t=AW(t),Hr(t.getFullYear()%100,e,2)}function Gke(t,e){return Hr(t.getFullYear()%1e4,e,4)}function $ke(t,e){var r=t.getDay();return t=r>=4||r===0?cc(t):cc.ceil(t),Hr(t.getFullYear()%1e4,e,4)}function Vke(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Hr(e/60|0,"0",2)+Hr(e%60,"0",2)}function TW(t,e){return Hr(t.getUTCDate(),e,2)}function Uke(t,e){return Hr(t.getUTCHours(),e,2)}function Hke(t,e){return Hr(t.getUTCHours()%12||12,e,2)}function Wke(t,e){return Hr(1+Oy.count(Tl(t),t),e,3)}function _W(t,e){return Hr(t.getUTCMilliseconds(),e,3)}function Yke(t,e){return _W(t,e)+"000"}function qke(t,e){return Hr(t.getUTCMonth()+1,e,2)}function Xke(t,e){return Hr(t.getUTCMinutes(),e,2)}function jke(t,e){return Hr(t.getUTCSeconds(),e,2)}function Kke(t){var e=t.getUTCDay();return e===0?7:e}function Qke(t,e){return Hr(fd.count(Tl(t)-1,t),e,2)}function LW(t){var e=t.getUTCDay();return e>=4||e===0?kh(t):kh.ceil(t)}function Zke(t,e){return t=LW(t),Hr(kh.count(Tl(t),t)+(Tl(t).getUTCDay()===4),e,2)}function Jke(t){return t.getUTCDay()}function eEe(t,e){return Hr(Np.count(Tl(t)-1,t),e,2)}function tEe(t,e){return Hr(t.getUTCFullYear()%100,e,2)}function rEe(t,e){return t=LW(t),Hr(t.getUTCFullYear()%100,e,2)}function nEe(t,e){return Hr(t.getUTCFullYear()%1e4,e,4)}function iEe(t,e){var r=t.getUTCDay();return t=r>=4||r===0?kh(t):kh.ceil(t),Hr(t.getUTCFullYear()%1e4,e,4)}function aEe(){return"+0000"}function kW(){return"%"}function EW(t){return+t}function SW(t){return Math.floor(+t/1e3)}var gW,Qi,oke,lke,DW=M(()=>{"use strict";S3();o(Y8,"localDate");o(q8,"utcDate");o(Py,"newDate");o(X8,"formatLocale");gW={"-":"",_:" ",0:"0"},Qi=/^\s*\d+/,oke=/^%/,lke=/[\\^$*+?|[\]().{}]/g;o(Hr,"pad");o(cke,"requote");o(By,"formatRe");o(Fy,"formatLookup");o(uke,"parseWeekdayNumberSunday");o(hke,"parseWeekdayNumberMonday");o(fke,"parseWeekNumberSunday");o(dke,"parseWeekNumberISO");o(pke,"parseWeekNumberMonday");o(yW,"parseFullYear");o(vW,"parseYear");o(mke,"parseZone");o(gke,"parseQuarter");o(yke,"parseMonthNumber");o(xW,"parseDayOfMonth");o(vke,"parseDayOfYear");o(bW,"parseHour24");o(xke,"parseMinutes");o(bke,"parseSeconds");o(wke,"parseMilliseconds");o(Tke,"parseMicroseconds");o(kke,"parseLiteralPercent");o(Eke,"parseUnixTimestamp");o(Ske,"parseUnixTimestampSeconds");o(wW,"formatDayOfMonth");o(Cke,"formatHour24");o(Ake,"formatHour12");o(_ke,"formatDayOfYear");o(CW,"formatMilliseconds");o(Lke,"formatMicroseconds");o(Dke,"formatMonthNumber");o(Nke,"formatMinutes");o(Rke,"formatSeconds");o(Mke,"formatWeekdayNumberMonday");o(Ike,"formatWeekNumberSunday");o(AW,"dISO");o(Oke,"formatWeekNumberISO");o(Pke,"formatWeekdayNumberSunday");o(Bke,"formatWeekNumberMonday");o(Fke,"formatYear");o(zke,"formatYearISO");o(Gke,"formatFullYear");o($ke,"formatFullYearISO");o(Vke,"formatZone");o(TW,"formatUTCDayOfMonth");o(Uke,"formatUTCHour24");o(Hke,"formatUTCHour12");o(Wke,"formatUTCDayOfYear");o(_W,"formatUTCMilliseconds");o(Yke,"formatUTCMicroseconds");o(qke,"formatUTCMonthNumber");o(Xke,"formatUTCMinutes");o(jke,"formatUTCSeconds");o(Kke,"formatUTCWeekdayNumberMonday");o(Qke,"formatUTCWeekNumberSunday");o(LW,"UTCdISO");o(Zke,"formatUTCWeekNumberISO");o(Jke,"formatUTCWeekdayNumberSunday");o(eEe,"formatUTCWeekNumberMonday");o(tEe,"formatUTCYear");o(rEe,"formatUTCYearISO");o(nEe,"formatUTCFullYear");o(iEe,"formatUTCFullYearISO");o(aEe,"formatUTCZone");o(kW,"formatLiteralPercent");o(EW,"formatUnixTimestamp");o(SW,"formatUnixTimestampSeconds")});function j8(t){return Rp=X8(t),dd=Rp.format,NW=Rp.parse,RW=Rp.utcFormat,MW=Rp.utcParse,Rp}var Rp,dd,NW,RW,MW,IW=M(()=>{"use strict";DW();j8({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});o(j8,"defaultLocale")});var K8=M(()=>{"use strict";IW()});function sEe(t){return new Date(t)}function oEe(t){return t instanceof Date?+t:+new Date(+t)}function OW(t,e,r,n,i,a,s,l,u,h){var f=My(),d=f.invert,p=f.domain,m=h(".%L"),g=h(":%S"),y=h("%I:%M"),v=h("%I %p"),x=h("%a %d"),b=h("%b %d"),w=h("%B"),_=h("%Y");function T(E){return(u(E){"use strict";S3();K8();N8();Ry();nW();o(sEe,"date");o(oEe,"number");o(OW,"calendar");o(C3,"time")});var BW=M(()=>{"use strict";QH();rW();A8();PW()});function Q8(t){for(var e=t.length/6|0,r=new Array(e),n=0;n{"use strict";o(Q8,"default")});var Z8,zW=M(()=>{"use strict";FW();Z8=Q8("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab")});var GW=M(()=>{"use strict";zW()});function Pn(t){return o(function(){return t},"constant")}var A3=M(()=>{"use strict";o(Pn,"default")});function VW(t){return t>1?0:t<-1?Mp:Math.acos(t)}function e_(t){return t>=1?zy:t<=-1?-zy:Math.asin(t)}var J8,la,Eh,$W,_3,kl,pd,Zi,Mp,zy,Ip,L3=M(()=>{"use strict";J8=Math.abs,la=Math.atan2,Eh=Math.cos,$W=Math.max,_3=Math.min,kl=Math.sin,pd=Math.sqrt,Zi=1e-12,Mp=Math.PI,zy=Mp/2,Ip=2*Mp;o(VW,"acos");o(e_,"asin")});function D3(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new sd(e)}var t_=M(()=>{"use strict";d8();o(D3,"withPath")});function lEe(t){return t.innerRadius}function cEe(t){return t.outerRadius}function uEe(t){return t.startAngle}function hEe(t){return t.endAngle}function fEe(t){return t&&t.padAngle}function dEe(t,e,r,n,i,a,s,l){var u=r-t,h=n-e,f=s-i,d=l-a,p=d*u-f*h;if(!(p*pS*S+O*O&&(C=I,A=D),{cx:C,cy:A,x01:-f,y01:-d,x11:C*(i/T-1),y11:A*(i/T-1)}}function El(){var t=lEe,e=cEe,r=Pn(0),n=null,i=uEe,a=hEe,s=fEe,l=null,u=D3(h);function h(){var f,d,p=+t.apply(this,arguments),m=+e.apply(this,arguments),g=i.apply(this,arguments)-zy,y=a.apply(this,arguments)-zy,v=J8(y-g),x=y>g;if(l||(l=f=u()),mZi))l.moveTo(0,0);else if(v>Ip-Zi)l.moveTo(m*Eh(g),m*kl(g)),l.arc(0,0,m,g,y,!x),p>Zi&&(l.moveTo(p*Eh(y),p*kl(y)),l.arc(0,0,p,y,g,x));else{var b=g,w=y,_=g,T=y,E=v,L=v,C=s.apply(this,arguments)/2,A=C>Zi&&(n?+n.apply(this,arguments):pd(p*p+m*m)),I=_3(J8(m-p)/2,+r.apply(this,arguments)),D=I,k=I,R,S;if(A>Zi){var O=e_(A/p*kl(C)),N=e_(A/m*kl(C));(E-=O*2)>Zi?(O*=x?1:-1,_+=O,T-=O):(E=0,_=T=(g+y)/2),(L-=N*2)>Zi?(N*=x?1:-1,b+=N,w-=N):(L=0,b=w=(g+y)/2)}var P=m*Eh(b),F=m*kl(b),B=p*Eh(T),$=p*kl(T);if(I>Zi){var z=m*Eh(w),W=m*kl(w),j=p*Eh(_),K=p*kl(_),ie;if(vZi?k>Zi?(R=N3(j,K,P,F,m,k,x),S=N3(z,W,B,$,m,k,x),l.moveTo(R.cx+R.x01,R.cy+R.y01),kZi)||!(E>Zi)?l.lineTo(B,$):D>Zi?(R=N3(B,$,z,W,p,-D,x),S=N3(P,F,j,K,p,-D,x),l.lineTo(R.cx+R.x01,R.cy+R.y01),D{"use strict";A3();L3();t_();o(lEe,"arcInnerRadius");o(cEe,"arcOuterRadius");o(uEe,"arcStartAngle");o(hEe,"arcEndAngle");o(fEe,"arcPadAngle");o(dEe,"intersect");o(N3,"cornerTangents");o(El,"default")});function Gy(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}var O2t,r_=M(()=>{"use strict";O2t=Array.prototype.slice;o(Gy,"default")});function HW(t){this._context=t}function Op(t){return new HW(t)}var n_=M(()=>{"use strict";o(HW,"Linear");HW.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}},"point")};o(Op,"default")});function WW(t){return t[0]}function YW(t){return t[1]}var qW=M(()=>{"use strict";o(WW,"x");o(YW,"y")});function Ka(t,e){var r=Pn(!0),n=null,i=Op,a=null,s=D3(l);t=typeof t=="function"?t:t===void 0?WW:Pn(t),e=typeof e=="function"?e:e===void 0?YW:Pn(e);function l(u){var h,f=(u=Gy(u)).length,d,p=!1,m;for(n==null&&(a=i(m=s())),h=0;h<=f;++h)!(h{"use strict";r_();A3();n_();t_();qW();o(Ka,"default")});function i_(t,e){return et?1:e>=t?0:NaN}var jW=M(()=>{"use strict";o(i_,"default")});function a_(t){return t}var KW=M(()=>{"use strict";o(a_,"default")});function R3(){var t=a_,e=i_,r=null,n=Pn(0),i=Pn(Ip),a=Pn(0);function s(l){var u,h=(l=Gy(l)).length,f,d,p=0,m=new Array(h),g=new Array(h),y=+n.apply(this,arguments),v=Math.min(Ip,Math.max(-Ip,i.apply(this,arguments)-y)),x,b=Math.min(Math.abs(v)/h,a.apply(this,arguments)),w=b*(v<0?-1:1),_;for(u=0;u0&&(p+=_);for(e!=null?m.sort(function(T,E){return e(g[T],g[E])}):r!=null&&m.sort(function(T,E){return r(l[T],l[E])}),u=0,d=p?(v-h*w)/p:0;u0?_*d:0)+w,g[f]={data:l[f],index:u,value:_,startAngle:y,endAngle:x,padAngle:b};return g}return o(s,"pie"),s.value=function(l){return arguments.length?(t=typeof l=="function"?l:Pn(+l),s):t},s.sortValues=function(l){return arguments.length?(e=l,r=null,s):e},s.sort=function(l){return arguments.length?(r=l,e=null,s):r},s.startAngle=function(l){return arguments.length?(n=typeof l=="function"?l:Pn(+l),s):n},s.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:Pn(+l),s):i},s.padAngle=function(l){return arguments.length?(a=typeof l=="function"?l:Pn(+l),s):a},s}var QW=M(()=>{"use strict";r_();A3();jW();KW();L3();o(R3,"default")});function s_(t){return new M3(t,!0)}function o_(t){return new M3(t,!1)}var M3,ZW=M(()=>{"use strict";M3=class{static{o(this,"Bump")}constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}};o(s_,"bumpX");o(o_,"bumpY")});function Ks(){}var $y=M(()=>{"use strict";o(Ks,"default")});function Pp(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function Vy(t){this._context=t}function Do(t){return new Vy(t)}var Uy=M(()=>{"use strict";o(Pp,"point");o(Vy,"Basis");Vy.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 3:Pp(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Pp(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(Do,"default")});function JW(t){this._context=t}function I3(t){return new JW(t)}var eY=M(()=>{"use strict";$y();Uy();o(JW,"BasisClosed");JW.prototype={areaStart:Ks,areaEnd:Ks,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Pp(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(I3,"default")});function tY(t){this._context=t}function O3(t){return new tY(t)}var rY=M(()=>{"use strict";Uy();o(tY,"BasisOpen");tY.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:Pp(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(O3,"default")});function nY(t,e){this._basis=new Vy(t),this._beta=e}var l_,iY=M(()=>{"use strict";Uy();o(nY,"Bundle");nY.prototype={lineStart:o(function(){this._x=[],this._y=[],this._basis.lineStart()},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,l=-1,u;++l<=r;)u=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(n+u*a),this._beta*e[l]+(1-this._beta)*(i+u*s));this._x=this._y=null,this._basis.lineEnd()},"lineEnd"),point:o(function(t,e){this._x.push(+t),this._y.push(+e)},"point")};l_=o(function t(e){function r(n){return e===1?new Vy(n):new nY(n,e)}return o(r,"bundle"),r.beta=function(n){return t(+n)},r},"custom")(.85)});function Bp(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function P3(t,e){this._context=t,this._k=(1-e)/6}var c_,Hy=M(()=>{"use strict";o(Bp,"point");o(P3,"Cardinal");P3.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Bp(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Bp(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};c_=o(function t(e){function r(n){return new P3(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function B3(t,e){this._context=t,this._k=(1-e)/6}var u_,h_=M(()=>{"use strict";$y();Hy();o(B3,"CardinalClosed");B3.prototype={areaStart:Ks,areaEnd:Ks,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Bp(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};u_=o(function t(e){function r(n){return new B3(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function F3(t,e){this._context=t,this._k=(1-e)/6}var f_,d_=M(()=>{"use strict";Hy();o(F3,"CardinalOpen");F3.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Bp(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};f_=o(function t(e){function r(n){return new F3(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function Wy(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Zi){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>Zi){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/f,s=(s*h+t._y1*t._l23_2a-r*t._l12_2a)/f}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function aY(t,e){this._context=t,this._alpha=e}var p_,z3=M(()=>{"use strict";L3();Hy();o(Wy,"point");o(aY,"CatmullRom");aY.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Wy(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};p_=o(function t(e){function r(n){return e?new aY(n,e):new P3(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function sY(t,e){this._context=t,this._alpha=e}var m_,oY=M(()=>{"use strict";h_();$y();z3();o(sY,"CatmullRomClosed");sY.prototype={areaStart:Ks,areaEnd:Ks,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Wy(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};m_=o(function t(e){function r(n){return e?new sY(n,e):new B3(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function lY(t,e){this._context=t,this._alpha=e}var g_,cY=M(()=>{"use strict";d_();z3();o(lY,"CatmullRomOpen");lY.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Wy(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};g_=o(function t(e){function r(n){return e?new lY(n,e):new F3(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function uY(t){this._context=t}function G3(t){return new uY(t)}var hY=M(()=>{"use strict";$y();o(uY,"LinearClosed");uY.prototype={areaStart:Ks,areaEnd:Ks,lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){this._point&&this._context.closePath()},"lineEnd"),point:o(function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))},"point")};o(G3,"default")});function fY(t){return t<0?-1:1}function dY(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),l=(a*i+s*n)/(n+i);return(fY(a)+fY(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(l))||0}function pY(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function y_(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,l=(a-n)/3;t._context.bezierCurveTo(n+l,i+l*e,a-l,s-l*r,a,s)}function $3(t){this._context=t}function mY(t){this._context=new gY(t)}function gY(t){this._context=t}function v_(t){return new $3(t)}function x_(t){return new mY(t)}var yY=M(()=>{"use strict";o(fY,"sign");o(dY,"slope3");o(pY,"slope2");o(y_,"point");o($3,"MonotoneX");$3.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:y_(this,this._t0,pY(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,y_(this,pY(this,r=dY(this,t,e)),r);break;default:y_(this,this._t0,r=dY(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}},"point")};o(mY,"MonotoneY");(mY.prototype=Object.create($3.prototype)).point=function(t,e){$3.prototype.point.call(this,e,t)};o(gY,"ReflectContext");gY.prototype={moveTo:o(function(t,e){this._context.moveTo(e,t)},"moveTo"),closePath:o(function(){this._context.closePath()},"closePath"),lineTo:o(function(t,e){this._context.lineTo(e,t)},"lineTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)},"bezierCurveTo")};o(v_,"monotoneX");o(x_,"monotoneY")});function xY(t){this._context=t}function vY(t){var e,r=t.length-1,n,i=new Array(r),a=new Array(r),s=new Array(r);for(i[0]=0,a[0]=2,s[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e{"use strict";o(xY,"Natural");xY.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=[],this._y=[]},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=vY(t),i=vY(e),a=0,s=1;s{"use strict";o(U3,"Step");U3.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=this._y=NaN,this._point=0},"lineStart"),lineEnd:o(function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e},"point")};o(H3,"default");o(b_,"stepBefore");o(w_,"stepAfter")});var TY=M(()=>{"use strict";UW();XW();QW();eY();rY();Uy();ZW();iY();h_();d_();Hy();oY();cY();z3();hY();n_();yY();bY();wY()});var kY=M(()=>{"use strict"});var EY=M(()=>{"use strict"});function Sh(t,e,r){this.k=t,this.x=e,this.y=r}function k_(t){for(;!t.__zoom;)if(!(t=t.parentNode))return T_;return t.__zoom}var T_,E_=M(()=>{"use strict";o(Sh,"Transform");Sh.prototype={constructor:Sh,scale:o(function(t){return t===1?this:new Sh(this.k*t,this.x,this.y)},"scale"),translate:o(function(t,e){return t===0&e===0?this:new Sh(this.k,this.x+this.k*t,this.y+this.k*e)},"translate"),apply:o(function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},"apply"),applyX:o(function(t){return t*this.k+this.x},"applyX"),applyY:o(function(t){return t*this.k+this.y},"applyY"),invert:o(function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},"invert"),invertX:o(function(t){return(t-this.x)/this.k},"invertX"),invertY:o(function(t){return(t-this.y)/this.k},"invertY"),rescaleX:o(function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},"rescaleX"),rescaleY:o(function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},"rescaleY"),toString:o(function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"},"toString")};T_=new Sh(1,0,0);k_.prototype=Sh.prototype;o(k_,"transform")});var SY=M(()=>{"use strict"});var CY=M(()=>{"use strict";s3();kY();EY();E_();SY()});var AY=M(()=>{"use strict";CY();E_()});var mr=M(()=>{"use strict";ph();iV();kH();AH();kp();_H();LH();b7();jV();DH();l8();NH();MH();S8();qH();XH();Cp();d8();jH();RH();KH();BW();GW();gl();TY();S3();K8();e3();s3();AY()});var _Y=Ni(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.BLANK_URL=Ji.relativeFirstCharacters=Ji.whitespaceEscapeCharsRegex=Ji.urlSchemeRegex=Ji.ctrlCharactersRegex=Ji.htmlCtrlEntityRegex=Ji.htmlEntitiesRegex=Ji.invalidProtocolRegex=void 0;Ji.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;Ji.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;Ji.htmlCtrlEntityRegex=/&(newline|tab);/gi;Ji.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;Ji.urlSchemeRegex=/^.+(:|:)/gim;Ji.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;Ji.relativeFirstCharacters=[".","/"];Ji.BLANK_URL="about:blank"});var Fp=Ni(W3=>{"use strict";Object.defineProperty(W3,"__esModule",{value:!0});W3.sanitizeUrl=void 0;var Sa=_Y();function pEe(t){return Sa.relativeFirstCharacters.indexOf(t[0])>-1}o(pEe,"isRelativeUrlWithoutProtocol");function mEe(t){var e=t.replace(Sa.ctrlCharactersRegex,"");return e.replace(Sa.htmlEntitiesRegex,function(r,n){return String.fromCharCode(n)})}o(mEe,"decodeHtmlCharacters");function gEe(t){return URL.canParse(t)}o(gEe,"isValidUrl");function LY(t){try{return decodeURIComponent(t)}catch{return t}}o(LY,"decodeURI");function yEe(t){if(!t)return Sa.BLANK_URL;var e,r=LY(t.trim());do r=mEe(r).replace(Sa.htmlCtrlEntityRegex,"").replace(Sa.ctrlCharactersRegex,"").replace(Sa.whitespaceEscapeCharsRegex,"").trim(),r=LY(r),e=r.match(Sa.ctrlCharactersRegex)||r.match(Sa.htmlEntitiesRegex)||r.match(Sa.htmlCtrlEntityRegex)||r.match(Sa.whitespaceEscapeCharsRegex);while(e&&e.length>0);var n=r;if(!n)return Sa.BLANK_URL;if(pEe(n))return n;var i=n.trimStart(),a=i.match(Sa.urlSchemeRegex);if(!a)return n;var s=a[0].toLowerCase().trim();if(Sa.invalidProtocolRegex.test(s))return Sa.BLANK_URL;var l=i.replace(/\\/g,"/");if(s==="mailto:"||s.includes("://"))return l;if(s==="http:"||s==="https:"){if(!gEe(l))return Sa.BLANK_URL;var u=new URL(l);return u.protocol=u.protocol.toLowerCase(),u.hostname=u.hostname.toLowerCase(),u.toString()}return l}o(yEe,"sanitizeUrl");W3.sanitizeUrl=yEe});var S_,md,Y3,DY,NY,RY,Sl,Yy,qy=M(()=>{"use strict";S_=ka(Fp(),1);fr();md=o((t,e)=>{let r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(let n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),Y3=o((t,e)=>{let r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};md(t,r).lower()},"drawBackgroundRect"),DY=o((t,e)=>{let r=e.text.replace(jf," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),NY=o((t,e,r,n)=>{let i=t.append("image");i.attr("x",e),i.attr("y",r);let a=(0,S_.sanitizeUrl)(n);i.attr("xlink:href",a)},"drawImage"),RY=o((t,e,r,n)=>{let i=t.append("use");i.attr("x",e),i.attr("y",r);let a=(0,S_.sanitizeUrl)(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),Sl=o(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),Yy=o(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj")});var MY,C_,IY,vEe,xEe,bEe,wEe,TEe,kEe,EEe,SEe,CEe,AEe,_Ee,LEe,vu,Cl,OY=M(()=>{"use strict";fr();qy();MY=ka(Fp(),1),C_=o(function(t,e){return md(t,e)},"drawRect"),IY=o(function(t,e,r,n,i,a){let s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let l=a.startsWith("data:image/png;base64")?a:(0,MY.sanitizeUrl)(a);s.attr("xlink:href",l)},"drawImage"),vEe=o((t,e,r)=>{let n=t.append("g"),i=0;for(let a of e){let s=a.textColor?a.textColor:"#444444",l=a.lineColor?a.lineColor:"#444444",u=a.offsetX?parseInt(a.offsetX):0,h=a.offsetY?parseInt(a.offsetY):0,f="";if(i===0){let p=n.append("line");p.attr("x1",a.startPoint.x),p.attr("y1",a.startPoint.y),p.attr("x2",a.endPoint.x),p.attr("y2",a.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)"),i=-1}else{let p=n.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)")}let d=r.messageFont();vu(r)(a.label.text,n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+h,a.label.width,a.label.height,{fill:s},d),a.techn&&a.techn.text!==""&&(d=r.messageFont(),vu(r)("["+a.techn.text+"]",n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+r.messageFontSize+5+h,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:s,"font-style":"italic"},d))}},"drawRels"),xEe=o(function(t,e,r){let n=t.append("g"),i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1});let u={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l};C_(n,u);let h=r.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=s,vu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},h),e.type&&e.type.text!==""&&(h=r.boundaryFont(),h.fontColor=s,vu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},h)),e.descr&&e.descr.text!==""&&(h=r.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=s,vu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},h))},"drawBoundary"),bEe=o(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}let l=t.append("g");l.attr("class","person-man");let u=Sl();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=e.x,u.y=e.y,u.fill=n,u.width=e.width,u.height=e.height,u.stroke=i,u.rx=2.5,u.ry=2.5,u.attrs={"stroke-width":.5},C_(l,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let h=LEe(r,e.typeC4Shape.text);switch(l.append("text").attr("fill",a).attr("font-family",h.fontFamily).attr("font-size",h.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":IY(l,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let f=r[e.typeC4Shape.text+"Font"]();return f.fontWeight="bold",f.fontSize=f.fontSize+2,f.fontColor=a,vu(r)(e.label.text,l,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},f),f=r[e.typeC4Shape.text+"Font"](),f.fontColor=a,e.techn&&e.techn?.text!==""?vu(r)(e.techn.text,l,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},f):e.type&&e.type.text!==""&&vu(r)(e.type.text,l,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},f),e.descr&&e.descr.text!==""&&(f=r.personFont(),f.fontColor=a,vu(r)(e.descr.text,l,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},f)),e.height},"drawC4Shape"),wEe=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),TEe=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),kEe=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),EEe=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),SEe=o(function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),CEe=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),AEe=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertDynamicNumber"),_Ee=o(function(t){let r=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),LEe=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),vu=function(){function t(i,a,s,l,u,h,f){let d=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(i);n(d,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d){let{fontSize:p,fontFamily:m,fontWeight:g}=d,y=i.split(je.lineBreakRegex);for(let v=0;v{"use strict";DEe=typeof global=="object"&&global&&global.Object===Object&&global,X3=DEe});var NEe,REe,ai,No=M(()=>{"use strict";A_();NEe=typeof self=="object"&&self&&self.Object===Object&&self,REe=X3||NEe||Function("return this")(),ai=REe});var MEe,ea,gd=M(()=>{"use strict";No();MEe=ai.Symbol,ea=MEe});function PEe(t){var e=IEe.call(t,Xy),r=t[Xy];try{t[Xy]=void 0;var n=!0}catch{}var i=OEe.call(t);return n&&(e?t[Xy]=r:delete t[Xy]),i}var PY,IEe,OEe,Xy,BY,FY=M(()=>{"use strict";gd();PY=Object.prototype,IEe=PY.hasOwnProperty,OEe=PY.toString,Xy=ea?ea.toStringTag:void 0;o(PEe,"getRawTag");BY=PEe});function zEe(t){return FEe.call(t)}var BEe,FEe,zY,GY=M(()=>{"use strict";BEe=Object.prototype,FEe=BEe.toString;o(zEe,"objectToString");zY=zEe});function VEe(t){return t==null?t===void 0?$Ee:GEe:$Y&&$Y in Object(t)?BY(t):zY(t)}var GEe,$Ee,$Y,ca,xu=M(()=>{"use strict";gd();FY();GY();GEe="[object Null]",$Ee="[object Undefined]",$Y=ea?ea.toStringTag:void 0;o(VEe,"baseGetTag");ca=VEe});function UEe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var yn,Qs=M(()=>{"use strict";o(UEe,"isObject");yn=UEe});function XEe(t){if(!yn(t))return!1;var e=ca(t);return e==WEe||e==YEe||e==HEe||e==qEe}var HEe,WEe,YEe,qEe,Ei,jy=M(()=>{"use strict";xu();Qs();HEe="[object AsyncFunction]",WEe="[object Function]",YEe="[object GeneratorFunction]",qEe="[object Proxy]";o(XEe,"isFunction");Ei=XEe});var jEe,j3,VY=M(()=>{"use strict";No();jEe=ai["__core-js_shared__"],j3=jEe});function KEe(t){return!!UY&&UY in t}var UY,HY,WY=M(()=>{"use strict";VY();UY=function(){var t=/[^.]+$/.exec(j3&&j3.keys&&j3.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();o(KEe,"isMasked");HY=KEe});function JEe(t){if(t!=null){try{return ZEe.call(t)}catch{}try{return t+""}catch{}}return""}var QEe,ZEe,bu,__=M(()=>{"use strict";QEe=Function.prototype,ZEe=QEe.toString;o(JEe,"toSource");bu=JEe});function o6e(t){if(!yn(t)||HY(t))return!1;var e=Ei(t)?s6e:t6e;return e.test(bu(t))}var e6e,t6e,r6e,n6e,i6e,a6e,s6e,YY,qY=M(()=>{"use strict";jy();WY();Qs();__();e6e=/[\\^$.*+?()[\]{}|]/g,t6e=/^\[object .+?Constructor\]$/,r6e=Function.prototype,n6e=Object.prototype,i6e=r6e.toString,a6e=n6e.hasOwnProperty,s6e=RegExp("^"+i6e.call(a6e).replace(e6e,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");o(o6e,"baseIsNative");YY=o6e});function l6e(t,e){return t?.[e]}var XY,jY=M(()=>{"use strict";o(l6e,"getValue");XY=l6e});function c6e(t,e){var r=XY(t,e);return YY(r)?r:void 0}var vs,Ch=M(()=>{"use strict";qY();jY();o(c6e,"getNative");vs=c6e});var u6e,wu,Ky=M(()=>{"use strict";Ch();u6e=vs(Object,"create"),wu=u6e});function h6e(){this.__data__=wu?wu(null):{},this.size=0}var KY,QY=M(()=>{"use strict";Ky();o(h6e,"hashClear");KY=h6e});function f6e(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var ZY,JY=M(()=>{"use strict";o(f6e,"hashDelete");ZY=f6e});function g6e(t){var e=this.__data__;if(wu){var r=e[t];return r===d6e?void 0:r}return m6e.call(e,t)?e[t]:void 0}var d6e,p6e,m6e,eq,tq=M(()=>{"use strict";Ky();d6e="__lodash_hash_undefined__",p6e=Object.prototype,m6e=p6e.hasOwnProperty;o(g6e,"hashGet");eq=g6e});function x6e(t){var e=this.__data__;return wu?e[t]!==void 0:v6e.call(e,t)}var y6e,v6e,rq,nq=M(()=>{"use strict";Ky();y6e=Object.prototype,v6e=y6e.hasOwnProperty;o(x6e,"hashHas");rq=x6e});function w6e(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=wu&&e===void 0?b6e:e,this}var b6e,iq,aq=M(()=>{"use strict";Ky();b6e="__lodash_hash_undefined__";o(w6e,"hashSet");iq=w6e});function zp(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";QY();JY();tq();nq();aq();o(zp,"Hash");zp.prototype.clear=KY;zp.prototype.delete=ZY;zp.prototype.get=eq;zp.prototype.has=rq;zp.prototype.set=iq;L_=zp});function T6e(){this.__data__=[],this.size=0}var oq,lq=M(()=>{"use strict";o(T6e,"listCacheClear");oq=T6e});function k6e(t,e){return t===e||t!==t&&e!==e}var Ro,yd=M(()=>{"use strict";o(k6e,"eq");Ro=k6e});function E6e(t,e){for(var r=t.length;r--;)if(Ro(t[r][0],e))return r;return-1}var Ah,Qy=M(()=>{"use strict";yd();o(E6e,"assocIndexOf");Ah=E6e});function A6e(t){var e=this.__data__,r=Ah(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():C6e.call(e,r,1),--this.size,!0}var S6e,C6e,cq,uq=M(()=>{"use strict";Qy();S6e=Array.prototype,C6e=S6e.splice;o(A6e,"listCacheDelete");cq=A6e});function _6e(t){var e=this.__data__,r=Ah(e,t);return r<0?void 0:e[r][1]}var hq,fq=M(()=>{"use strict";Qy();o(_6e,"listCacheGet");hq=_6e});function L6e(t){return Ah(this.__data__,t)>-1}var dq,pq=M(()=>{"use strict";Qy();o(L6e,"listCacheHas");dq=L6e});function D6e(t,e){var r=this.__data__,n=Ah(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var mq,gq=M(()=>{"use strict";Qy();o(D6e,"listCacheSet");mq=D6e});function Gp(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";lq();uq();fq();pq();gq();o(Gp,"ListCache");Gp.prototype.clear=oq;Gp.prototype.delete=cq;Gp.prototype.get=hq;Gp.prototype.has=dq;Gp.prototype.set=mq;_h=Gp});var N6e,Lh,K3=M(()=>{"use strict";Ch();No();N6e=vs(ai,"Map"),Lh=N6e});function R6e(){this.size=0,this.__data__={hash:new L_,map:new(Lh||_h),string:new L_}}var yq,vq=M(()=>{"use strict";sq();Zy();K3();o(R6e,"mapCacheClear");yq=R6e});function M6e(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var xq,bq=M(()=>{"use strict";o(M6e,"isKeyable");xq=M6e});function I6e(t,e){var r=t.__data__;return xq(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Dh,Jy=M(()=>{"use strict";bq();o(I6e,"getMapData");Dh=I6e});function O6e(t){var e=Dh(this,t).delete(t);return this.size-=e?1:0,e}var wq,Tq=M(()=>{"use strict";Jy();o(O6e,"mapCacheDelete");wq=O6e});function P6e(t){return Dh(this,t).get(t)}var kq,Eq=M(()=>{"use strict";Jy();o(P6e,"mapCacheGet");kq=P6e});function B6e(t){return Dh(this,t).has(t)}var Sq,Cq=M(()=>{"use strict";Jy();o(B6e,"mapCacheHas");Sq=B6e});function F6e(t,e){var r=Dh(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var Aq,_q=M(()=>{"use strict";Jy();o(F6e,"mapCacheSet");Aq=F6e});function $p(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";vq();Tq();Eq();Cq();_q();o($p,"MapCache");$p.prototype.clear=yq;$p.prototype.delete=wq;$p.prototype.get=kq;$p.prototype.has=Sq;$p.prototype.set=Aq;vd=$p});function D_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(z6e);var r=o(function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(D_.Cache||vd),r}var z6e,Vp,N_=M(()=>{"use strict";Q3();z6e="Expected a function";o(D_,"memoize");D_.Cache=vd;Vp=D_});function G6e(){this.__data__=new _h,this.size=0}var Lq,Dq=M(()=>{"use strict";Zy();o(G6e,"stackClear");Lq=G6e});function $6e(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var Nq,Rq=M(()=>{"use strict";o($6e,"stackDelete");Nq=$6e});function V6e(t){return this.__data__.get(t)}var Mq,Iq=M(()=>{"use strict";o(V6e,"stackGet");Mq=V6e});function U6e(t){return this.__data__.has(t)}var Oq,Pq=M(()=>{"use strict";o(U6e,"stackHas");Oq=U6e});function W6e(t,e){var r=this.__data__;if(r instanceof _h){var n=r.__data__;if(!Lh||n.length{"use strict";Zy();K3();Q3();H6e=200;o(W6e,"stackSet");Bq=W6e});function Up(t){var e=this.__data__=new _h(t);this.size=e.size}var uc,ev=M(()=>{"use strict";Zy();Dq();Rq();Iq();Pq();Fq();o(Up,"Stack");Up.prototype.clear=Lq;Up.prototype.delete=Nq;Up.prototype.get=Mq;Up.prototype.has=Oq;Up.prototype.set=Bq;uc=Up});var Y6e,Hp,R_=M(()=>{"use strict";Ch();Y6e=function(){try{var t=vs(Object,"defineProperty");return t({},"",{}),t}catch{}}(),Hp=Y6e});function q6e(t,e,r){e=="__proto__"&&Hp?Hp(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var hc,Wp=M(()=>{"use strict";R_();o(q6e,"baseAssignValue");hc=q6e});function X6e(t,e,r){(r!==void 0&&!Ro(t[e],r)||r===void 0&&!(e in t))&&hc(t,e,r)}var tv,M_=M(()=>{"use strict";Wp();yd();o(X6e,"assignMergeValue");tv=X6e});function j6e(t){return function(e,r,n){for(var i=-1,a=Object(e),s=n(e),l=s.length;l--;){var u=s[t?l:++i];if(r(a[u],u,a)===!1)break}return e}}var zq,Gq=M(()=>{"use strict";o(j6e,"createBaseFor");zq=j6e});var K6e,Yp,Z3=M(()=>{"use strict";Gq();K6e=zq(),Yp=K6e});function Z6e(t,e){if(e)return t.slice();var r=t.length,n=Uq?Uq(r):new t.constructor(r);return t.copy(n),n}var Hq,$q,Q6e,Vq,Uq,J3,I_=M(()=>{"use strict";No();Hq=typeof exports=="object"&&exports&&!exports.nodeType&&exports,$q=Hq&&typeof module=="object"&&module&&!module.nodeType&&module,Q6e=$q&&$q.exports===Hq,Vq=Q6e?ai.Buffer:void 0,Uq=Vq?Vq.allocUnsafe:void 0;o(Z6e,"cloneBuffer");J3=Z6e});var J6e,qp,O_=M(()=>{"use strict";No();J6e=ai.Uint8Array,qp=J6e});function eSe(t){var e=new t.constructor(t.byteLength);return new qp(e).set(new qp(t)),e}var Xp,e5=M(()=>{"use strict";O_();o(eSe,"cloneArrayBuffer");Xp=eSe});function tSe(t,e){var r=e?Xp(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var t5,P_=M(()=>{"use strict";e5();o(tSe,"cloneTypedArray");t5=tSe});function rSe(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r{"use strict";o(rSe,"copyArray");r5=rSe});var Wq,nSe,Yq,qq=M(()=>{"use strict";Qs();Wq=Object.create,nSe=function(){function t(){}return o(t,"object"),function(e){if(!yn(e))return{};if(Wq)return Wq(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),Yq=nSe});function iSe(t,e){return function(r){return t(e(r))}}var n5,F_=M(()=>{"use strict";o(iSe,"overArg");n5=iSe});var aSe,jp,i5=M(()=>{"use strict";F_();aSe=n5(Object.getPrototypeOf,Object),jp=aSe});function oSe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||sSe;return t===r}var sSe,fc,Kp=M(()=>{"use strict";sSe=Object.prototype;o(oSe,"isPrototype");fc=oSe});function lSe(t){return typeof t.constructor=="function"&&!fc(t)?Yq(jp(t)):{}}var a5,z_=M(()=>{"use strict";qq();i5();Kp();o(lSe,"initCloneObject");a5=lSe});function cSe(t){return t!=null&&typeof t=="object"}var Zn,Mo=M(()=>{"use strict";o(cSe,"isObjectLike");Zn=cSe});function hSe(t){return Zn(t)&&ca(t)==uSe}var uSe,G_,Xq=M(()=>{"use strict";xu();Mo();uSe="[object Arguments]";o(hSe,"baseIsArguments");G_=hSe});var jq,fSe,dSe,pSe,Al,Qp=M(()=>{"use strict";Xq();Mo();jq=Object.prototype,fSe=jq.hasOwnProperty,dSe=jq.propertyIsEnumerable,pSe=G_(function(){return arguments}())?G_:function(t){return Zn(t)&&fSe.call(t,"callee")&&!dSe.call(t,"callee")},Al=pSe});var mSe,Mt,Vn=M(()=>{"use strict";mSe=Array.isArray,Mt=mSe});function ySe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=gSe}var gSe,Zp,s5=M(()=>{"use strict";gSe=9007199254740991;o(ySe,"isLength");Zp=ySe});function vSe(t){return t!=null&&Zp(t.length)&&!Ei(t)}var si,Io=M(()=>{"use strict";jy();s5();o(vSe,"isArrayLike");si=vSe});function xSe(t){return Zn(t)&&si(t)}var xd,o5=M(()=>{"use strict";Io();Mo();o(xSe,"isArrayLikeObject");xd=xSe});function bSe(){return!1}var Kq,Qq=M(()=>{"use strict";o(bSe,"stubFalse");Kq=bSe});var eX,Zq,wSe,Jq,TSe,kSe,_l,Jp=M(()=>{"use strict";No();Qq();eX=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Zq=eX&&typeof module=="object"&&module&&!module.nodeType&&module,wSe=Zq&&Zq.exports===eX,Jq=wSe?ai.Buffer:void 0,TSe=Jq?Jq.isBuffer:void 0,kSe=TSe||Kq,_l=kSe});function LSe(t){if(!Zn(t)||ca(t)!=ESe)return!1;var e=jp(t);if(e===null)return!0;var r=ASe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&tX.call(r)==_Se}var ESe,SSe,CSe,tX,ASe,_Se,rX,nX=M(()=>{"use strict";xu();i5();Mo();ESe="[object Object]",SSe=Function.prototype,CSe=Object.prototype,tX=SSe.toString,ASe=CSe.hasOwnProperty,_Se=tX.call(Object);o(LSe,"isPlainObject");rX=LSe});function eCe(t){return Zn(t)&&Zp(t.length)&&!!Bn[ca(t)]}var DSe,NSe,RSe,MSe,ISe,OSe,PSe,BSe,FSe,zSe,GSe,$Se,VSe,USe,HSe,WSe,YSe,qSe,XSe,jSe,KSe,QSe,ZSe,JSe,Bn,iX,aX=M(()=>{"use strict";xu();s5();Mo();DSe="[object Arguments]",NSe="[object Array]",RSe="[object Boolean]",MSe="[object Date]",ISe="[object Error]",OSe="[object Function]",PSe="[object Map]",BSe="[object Number]",FSe="[object Object]",zSe="[object RegExp]",GSe="[object Set]",$Se="[object String]",VSe="[object WeakMap]",USe="[object ArrayBuffer]",HSe="[object DataView]",WSe="[object Float32Array]",YSe="[object Float64Array]",qSe="[object Int8Array]",XSe="[object Int16Array]",jSe="[object Int32Array]",KSe="[object Uint8Array]",QSe="[object Uint8ClampedArray]",ZSe="[object Uint16Array]",JSe="[object Uint32Array]",Bn={};Bn[WSe]=Bn[YSe]=Bn[qSe]=Bn[XSe]=Bn[jSe]=Bn[KSe]=Bn[QSe]=Bn[ZSe]=Bn[JSe]=!0;Bn[DSe]=Bn[NSe]=Bn[USe]=Bn[RSe]=Bn[HSe]=Bn[MSe]=Bn[ISe]=Bn[OSe]=Bn[PSe]=Bn[BSe]=Bn[FSe]=Bn[zSe]=Bn[GSe]=Bn[$Se]=Bn[VSe]=!1;o(eCe,"baseIsTypedArray");iX=eCe});function tCe(t){return function(e){return t(e)}}var Oo,bd=M(()=>{"use strict";o(tCe,"baseUnary");Oo=tCe});var sX,rv,rCe,$_,nCe,Po,nv=M(()=>{"use strict";A_();sX=typeof exports=="object"&&exports&&!exports.nodeType&&exports,rv=sX&&typeof module=="object"&&module&&!module.nodeType&&module,rCe=rv&&rv.exports===sX,$_=rCe&&X3.process,nCe=function(){try{var t=rv&&rv.require&&rv.require("util").types;return t||$_&&$_.binding&&$_.binding("util")}catch{}}(),Po=nCe});var oX,iCe,Nh,iv=M(()=>{"use strict";aX();bd();nv();oX=Po&&Po.isTypedArray,iCe=oX?Oo(oX):iX,Nh=iCe});function aCe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var av,V_=M(()=>{"use strict";o(aCe,"safeGet");av=aCe});function lCe(t,e,r){var n=t[e];(!(oCe.call(t,e)&&Ro(n,r))||r===void 0&&!(e in t))&&hc(t,e,r)}var sCe,oCe,dc,em=M(()=>{"use strict";Wp();yd();sCe=Object.prototype,oCe=sCe.hasOwnProperty;o(lCe,"assignValue");dc=lCe});function cCe(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a{"use strict";em();Wp();o(cCe,"copyObject");Bo=cCe});function uCe(t,e){for(var r=-1,n=Array(t);++r{"use strict";o(uCe,"baseTimes");lX=uCe});function dCe(t,e){var r=typeof t;return e=e??hCe,!!e&&(r=="number"||r!="symbol"&&fCe.test(t))&&t>-1&&t%1==0&&t{"use strict";hCe=9007199254740991,fCe=/^(?:0|[1-9]\d*)$/;o(dCe,"isIndex");Rh=dCe});function gCe(t,e){var r=Mt(t),n=!r&&Al(t),i=!r&&!n&&_l(t),a=!r&&!n&&!i&&Nh(t),s=r||n||i||a,l=s?lX(t.length,String):[],u=l.length;for(var h in t)(e||mCe.call(t,h))&&!(s&&(h=="length"||i&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Rh(h,u)))&&l.push(h);return l}var pCe,mCe,l5,U_=M(()=>{"use strict";cX();Qp();Vn();Jp();sv();iv();pCe=Object.prototype,mCe=pCe.hasOwnProperty;o(gCe,"arrayLikeKeys");l5=gCe});function yCe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var uX,hX=M(()=>{"use strict";o(yCe,"nativeKeysIn");uX=yCe});function bCe(t){if(!yn(t))return uX(t);var e=fc(t),r=[];for(var n in t)n=="constructor"&&(e||!xCe.call(t,n))||r.push(n);return r}var vCe,xCe,fX,dX=M(()=>{"use strict";Qs();Kp();hX();vCe=Object.prototype,xCe=vCe.hasOwnProperty;o(bCe,"baseKeysIn");fX=bCe});function wCe(t){return si(t)?l5(t,!0):fX(t)}var xs,Mh=M(()=>{"use strict";U_();dX();Io();o(wCe,"keysIn");xs=wCe});function TCe(t){return Bo(t,xs(t))}var pX,mX=M(()=>{"use strict";wd();Mh();o(TCe,"toPlainObject");pX=TCe});function kCe(t,e,r,n,i,a,s){var l=av(t,r),u=av(e,r),h=s.get(u);if(h){tv(t,r,h);return}var f=a?a(l,u,r+"",t,e,s):void 0,d=f===void 0;if(d){var p=Mt(u),m=!p&&_l(u),g=!p&&!m&&Nh(u);f=u,p||m||g?Mt(l)?f=l:xd(l)?f=r5(l):m?(d=!1,f=J3(u,!0)):g?(d=!1,f=t5(u,!0)):f=[]:rX(u)||Al(u)?(f=l,Al(l)?f=pX(l):(!yn(l)||Ei(l))&&(f=a5(u))):d=!1}d&&(s.set(u,f),i(f,u,n,a,s),s.delete(u)),tv(t,r,f)}var gX,yX=M(()=>{"use strict";M_();I_();P_();B_();z_();Qp();Vn();o5();Jp();jy();Qs();nX();iv();V_();mX();o(kCe,"baseMergeDeep");gX=kCe});function vX(t,e,r,n,i){t!==e&&Yp(e,function(a,s){if(i||(i=new uc),yn(a))gX(t,e,s,r,vX,n,i);else{var l=n?n(av(t,s),a,s+"",t,e,i):void 0;l===void 0&&(l=a),tv(t,s,l)}},xs)}var xX,bX=M(()=>{"use strict";ev();M_();Z3();yX();Qs();Mh();V_();o(vX,"baseMerge");xX=vX});function ECe(t){return t}var ta,Tu=M(()=>{"use strict";o(ECe,"identity");ta=ECe});function SCe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var wX,TX=M(()=>{"use strict";o(SCe,"apply");wX=SCe});function CCe(t,e,r){return e=kX(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,a=kX(n.length-e,0),s=Array(a);++i{"use strict";TX();kX=Math.max;o(CCe,"overRest");c5=CCe});function ACe(t){return function(){return t}}var bs,W_=M(()=>{"use strict";o(ACe,"constant");bs=ACe});var _Ce,EX,SX=M(()=>{"use strict";W_();R_();Tu();_Ce=Hp?function(t,e){return Hp(t,"toString",{configurable:!0,enumerable:!1,value:bs(e),writable:!0})}:ta,EX=_Ce});function RCe(t){var e=0,r=0;return function(){var n=NCe(),i=DCe-(n-r);if(r=n,i>0){if(++e>=LCe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var LCe,DCe,NCe,CX,AX=M(()=>{"use strict";LCe=800,DCe=16,NCe=Date.now;o(RCe,"shortOut");CX=RCe});var MCe,u5,Y_=M(()=>{"use strict";SX();AX();MCe=CX(EX),u5=MCe});function ICe(t,e){return u5(c5(t,e,ta),t+"")}var pc,tm=M(()=>{"use strict";Tu();H_();Y_();o(ICe,"baseRest");pc=ICe});function OCe(t,e,r){if(!yn(r))return!1;var n=typeof e;return(n=="number"?si(r)&&Rh(e,r.length):n=="string"&&e in r)?Ro(r[e],t):!1}var Zs,Td=M(()=>{"use strict";yd();Io();sv();Qs();o(OCe,"isIterateeCall");Zs=OCe});function PCe(t){return pc(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&Zs(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++n{"use strict";tm();Td();o(PCe,"createAssigner");h5=PCe});var BCe,Ih,X_=M(()=>{"use strict";bX();q_();BCe=h5(function(t,e,r){xX(t,e,r)}),Ih=BCe});function Q_(t,e){if(!t)return e;let r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return FCe[r]??e}function VCe(t,e){let r=t.trim();if(r)return e.securityLevel!=="loose"?(0,DX.sanitizeUrl)(r):r}function MX(t,e){return!t||!e?0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function HCe(t){let e,r=0;t.forEach(i=>{r+=MX(i,e),e=i});let n=r/2;return Z_(t,n)}function WCe(t){return t.length===1?t[0]:HCe(t)}function qCe(t,e,r){let n=structuredClone(r);Y.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();let i=25+t,a=Z_(n,i),s=10+t*.5,l=Math.atan2(n[0].y-a.y,n[0].x-a.x),u={x:0,y:0};return e==="start_left"?(u.x=Math.sin(l+Math.PI)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(u.x=Math.sin(l-Math.PI)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(u.x=Math.sin(l)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2-5):(u.x=Math.sin(l)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2),u}function J_(t){let e="",r="";for(let n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}function XCe(t){let e="",r="0123456789abcdef",n=r.length;for(let i=0;i{"use strict";DX=ka(Fp(),1);mr();fr();KS();ht();$f();ip();N_();X_();Pb();K_="\u200B",FCe={curveBasis:Do,curveBasisClosed:I3,curveBasisOpen:O3,curveBumpX:s_,curveBumpY:o_,curveBundle:l_,curveCardinalClosed:u_,curveCardinalOpen:f_,curveCardinal:c_,curveCatmullRomClosed:m_,curveCatmullRomOpen:g_,curveCatmullRom:p_,curveLinear:Op,curveLinearClosed:G3,curveMonotoneX:v_,curveMonotoneY:x_,curveNatural:V3,curveStep:H3,curveStepAfter:w_,curveStepBefore:b_},zCe=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,GCe=o(function(t,e){let r=NX(t,/(?:init\b)|(?:initialize\b)/),n={};if(Array.isArray(r)){let s=r.map(l=>l.args);op(s),n=Gn(n,[...s])}else n=r.args;if(!n)return;let i=np(t,e),a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),NX=o(function(t,e=null){try{let r=new RegExp(`[%]{2}(?![{]${zCe.source})(?=[}][%]{2}).* `,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),Y.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n,i=[];for(;(n=zf.exec(t))!==null;)if(n.index===zf.lastIndex&&zf.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){let a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return Y.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),RX=o(function(t){return t.replace(zf,"")},"removeDirectives"),$Ce=o(function(t,e){for(let[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");o(Q_,"interpolateToCurve");o(VCe,"formatUrl");UCe=o((t,...e)=>{let r=t.split("."),n=r.length-1,i=r[n],a=window;for(let s=0;s{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),Z_=o((t,e)=>{let r,n=e;for(let i of t){if(r){let a=MX(i,r);if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:_X((1-s)*r.x+s*i.x,5),y:_X((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),YCe=o((t,e,r)=>{Y.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=Z_(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),l={x:0,y:0};return l.x=Math.sin(s)*a+(e[0].x+i.x)/2,l.y=-Math.cos(s)*a+(e[0].y+i.y)/2,l},"calcCardinalityPosition");o(qCe,"calcTerminalLabelPosition");o(J_,"getStylesFromArray");LX=0,e9=o(()=>(LX++,"id-"+Math.random().toString(36).substr(2,12)+"-"+LX),"generateId");o(XCe,"makeRandomHex");t9=o(t=>XCe(t.length),"random"),jCe=o(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),KCe=o(function(t,e){let r=e.text.replace(je.lineBreakRegex," "),[,n]=Fo(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);let a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),r9=Vp((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),je.lineBreakRegex.test(t)))return t;let n=t.split(" ").filter(Boolean),i=[],a="";return n.forEach((s,l)=>{let u=Js(`${s} `,r),h=Js(a,r);if(u>e){let{hyphenatedStrings:p,remainingWord:m}=QCe(s,e,"-",r);i.push(a,...p),a=m}else h+u>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");l+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),QCe=Vp((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let i=[...t],a=[],s="";return i.forEach((l,u)=>{let h=`${s}${l}`;if(Js(h,n)>=e){let d=u+1,p=i.length===d,m=`${h}${r}`;a.push(p?h:m),s=""}else s=h}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);o(d5,"calculateTextHeight");o(Js,"calculateTextWidth");n9=Vp((t,e)=>{let{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};let[,a]=Fo(r),s=["sans-serif",n],l=t.split(je.lineBreakRegex),u=[],h=ze("body");if(!h.remove)return{width:0,height:0,lineHeight:0};let f=h.append("svg");for(let p of s){let m=0,g={width:0,height:0,lineHeight:0};for(let y of l){let v=jCe();v.text=y||K_;let x=KCe(f,v).style("font-size",a).style("font-weight",i).style("font-family",p),b=(x._groups||x)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,b.width)),m=Math.round(b.height),g.height+=m,g.lineHeight=Math.round(Math.max(g.lineHeight,m))}u.push(g)}f.remove();let d=isNaN(u[1].height)||isNaN(u[1].width)||isNaN(u[1].lineHeight)||u[0].height>u[1].height&&u[0].width>u[1].width&&u[0].lineHeight>u[1].lineHeight?0:1;return u[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),j_=class{constructor(e=!1,r){this.count=0;this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{o(this,"InitIDGenerator")}},ZCe=o(function(t){return f5=f5||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),f5.innerHTML=t,unescape(f5.textContent)},"entityDecode");o(i9,"isDetailedError");JCe=o((t,e,r,n)=>{if(!n)return;let i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),Fo=o(t=>{if(typeof t=="number")return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");o(ws,"cleanAndMerge");Ut={assignWithDepth:Gn,wrapLabel:r9,calculateTextHeight:d5,calculateTextWidth:Js,calculateTextDimensions:n9,cleanAndMerge:ws,detectInit:GCe,detectDirective:NX,isSubstringInArray:$Ce,interpolateToCurve:Q_,calcLabelPosition:WCe,calcCardinalityPosition:YCe,calcTerminalLabelPosition:qCe,formatUrl:VCe,getStylesFromArray:J_,generateId:e9,random:t9,runFunc:UCe,entityDecode:ZCe,insertTitle:JCe,parseFontSize:Fo,InitIDGenerator:j_},IX=o(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){let n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"\uFB02\xB0\xB0"+n+"\xB6\xDF":"\uFB02\xB0"+n+"\xB6\xDF"}),e},"encodeEntities"),Ca=o(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),p5=o((t,e,{counter:r=0,prefix:n,suffix:i})=>`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");o(Fn,"handleUndefinedAttr")});function Ll(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=r9(e[t].text,i,n),e[t].textLines=e[t].text.split(je.lineBreakRegex).length,e[t].width=i,e[t].height=d5(e[t].text,n);else{let a=e[t].text.split(je.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(let l of a)e[t].width=Math.max(Js(l,n),e[t].width),s=d5(l,n),e[t].height=e[t].height+s}}function zX(t,e,r,n,i){let a=new v5(i);a.data.widthLimit=r.data.widthLimit/Math.min(a9,n.length);for(let[s,l]of n.entries()){let u=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=u,u=l.image.Y+l.image.height);let h=l.wrap&&Gt.wrap,f=m5(Gt);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",Ll("label",l,h,f,a.data.widthLimit),l.label.Y=u+8,u=l.label.Y+l.label.height,l.type&&l.type.text!==""){l.type.text="["+l.type.text+"]";let g=m5(Gt);Ll("type",l,h,g,a.data.widthLimit),l.type.Y=u+5,u=l.type.Y+l.type.height}if(l.descr&&l.descr.text!==""){let g=m5(Gt);g.fontSize=g.fontSize-2,Ll("descr",l,h,g,a.data.widthLimit),l.descr.Y=u+20,u=l.descr.Y+l.descr.height}if(s==0||s%a9===0){let g=r.data.startx+Gt.diagramMarginX,y=r.data.stopy+Gt.diagramMarginY+u;a.setData(g,g,y,y)}else{let g=a.data.stopx!==a.data.startx?a.data.stopx+Gt.diagramMarginX:a.data.startx,y=a.data.starty;a.setData(g,g,y,y)}a.name=l.alias;let d=i.db.getC4ShapeArray(l.alias),p=i.db.getC4ShapeKeys(l.alias);p.length>0&&FX(a,t,d,p),e=l.alias;let m=i.db.getBoundarys(e);m.length>0&&zX(t,e,a,m,i),l.alias!=="global"&&BX(t,l,a),r.data.stopy=Math.max(a.data.stopy+Gt.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+Gt.c4ShapeMargin,r.data.stopx),g5=Math.max(g5,r.data.stopx),y5=Math.max(y5,r.data.stopy)}}var g5,y5,PX,a9,Gt,v5,s9,ov,m5,e7e,BX,FX,Ts,OX,t7e,r7e,n7e,o9,GX=M(()=>{"use strict";mr();OY();ht();PS();fr();l7();Vt();ip();hr();ni();g5=0,y5=0,PX=4,a9=2;I1.yy=oy;Gt={},v5=class{static{o(this,"Bounds")}constructor(e){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,s9(e.db.getConfig())}setData(e,r,n,i){this.nextData.startx=this.data.startx=e,this.nextData.stopx=this.data.stopx=r,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=i}updateVal(e,r,n,i){e[r]===void 0?e[r]=n:e[r]=i(n,e[r])}insert(e){this.nextData.cnt=this.nextData.cnt+1;let r=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+e.margin:this.nextData.stopx+e.margin*2,n=r+e.width,i=this.nextData.starty+e.margin*2,a=i+e.height;(r>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>PX)&&(r=this.nextData.startx+e.margin+Gt.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},s9(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},s9=o(function(t){Gn(Gt,t),t.fontFamily&&(Gt.personFontFamily=Gt.systemFontFamily=Gt.messageFontFamily=t.fontFamily),t.fontSize&&(Gt.personFontSize=Gt.systemFontSize=Gt.messageFontSize=t.fontSize),t.fontWeight&&(Gt.personFontWeight=Gt.systemFontWeight=Gt.messageFontWeight=t.fontWeight)},"setConf"),ov=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),m5=o(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),e7e=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");o(Ll,"calcC4ShapeTextWH");BX=o(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=Gt.c4ShapeMargin-35;let n=e.wrap&&Gt.wrap,i=m5(Gt);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=Js(e.label.text,i);Ll("label",e,n,i,a),Cl.drawBoundary(t,e,Gt)},"drawBoundary"),FX=o(function(t,e,r,n){let i=0;for(let a of n){i=0;let s=r[a],l=ov(Gt,s.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,s.typeC4Shape.width=Js("\xAB"+s.typeC4Shape.text+"\xBB",l),s.typeC4Shape.height=l.fontSize+2,s.typeC4Shape.Y=Gt.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let u=s.wrap&&Gt.wrap,h=Gt.width-Gt.c4ShapePadding*2,f=ov(Gt,s.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",Ll("label",s,u,f,h),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let m=ov(Gt,s.typeC4Shape.text);Ll("type",s,u,m,h),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let m=ov(Gt,s.techn.text);Ll("techn",s,u,m,h),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,p=s.label.width;if(s.descr&&s.descr.text!==""){let m=ov(Gt,s.typeC4Shape.text);Ll("descr",s,u,m,h),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,p=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}p=p+Gt.c4ShapePadding,s.width=Math.max(s.width||Gt.width,p,Gt.width),s.height=Math.max(s.height||Gt.height,d,Gt.height),s.margin=s.margin||Gt.c4ShapeMargin,t.insert(s),Cl.drawC4Shape(e,s,Gt)}t.bumpLastMargin(Gt.c4ShapeMargin)},"drawC4ShapeArray"),Ts=class{static{o(this,"Point")}constructor(e,r){this.x=e,this.y=r}},OX=o(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,l=n+t.height/2,u=Math.abs(r-i),h=Math.abs(n-a),f=h/u,d=t.height/t.width,p=null;return n==a&&ri?p=new Ts(r,l):r==i&&na&&(p=new Ts(s,n)),r>i&&n=f?p=new Ts(r,l+f*t.width/2):p=new Ts(s-u/h*t.height/2,n+t.height):r=f?p=new Ts(r+t.width,l+f*t.width/2):p=new Ts(s+u/h*t.height/2,n+t.height):ra?d>=f?p=new Ts(r+t.width,l-f*t.width/2):p=new Ts(s+t.height/2*u/h,n):r>i&&n>a&&(d>=f?p=new Ts(r,l-t.width/2*f):p=new Ts(s-t.height/2*u/h,n)),p},"getIntersectPoint"),t7e=o(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=OX(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=OX(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),r7e=o(function(t,e,r,n){let i=0;for(let a of e){i=i+1;let s=a.wrap&&Gt.wrap,l=e7e(Gt);n.db.getC4Type()==="C4Dynamic"&&(a.label.text=i+": "+a.label.text);let h=Js(a.label.text,l);Ll("label",a,s,l,h),a.techn&&a.techn.text!==""&&(h=Js(a.techn.text,l),Ll("techn",a,s,l,h)),a.descr&&a.descr.text!==""&&(h=Js(a.descr.text,l),Ll("descr",a,s,l,h));let f=r(a.from),d=r(a.to),p=t7e(f,d);a.startPoint=p.startPoint,a.endPoint=p.endPoint}Cl.drawRels(t,e,Gt)},"drawRels");o(zX,"drawInsideBoundary");n7e=o(function(t,e,r,n){Gt=de().c4;let i=de().securityLevel,a;i==="sandbox"&&(a=ze("#i"+e));let s=i==="sandbox"?ze(a.nodes()[0].contentDocument.body):ze("body"),l=n.db;n.db.setWrap(Gt.wrap),PX=l.getC4ShapeInRow(),a9=l.getC4BoundaryInRow(),Y.debug(`C:${JSON.stringify(Gt,null,2)}`);let u=i==="sandbox"?s.select(`[id="${e}"]`):ze(`[id="${e}"]`);Cl.insertComputerIcon(u),Cl.insertDatabaseIcon(u),Cl.insertClockIcon(u);let h=new v5(n);h.setData(Gt.diagramMarginX,Gt.diagramMarginX,Gt.diagramMarginY,Gt.diagramMarginY),h.data.widthLimit=screen.availWidth,g5=Gt.diagramMarginX,y5=Gt.diagramMarginY;let f=n.db.getTitle(),d=n.db.getBoundarys("");zX(u,"",h,d,n),Cl.insertArrowHead(u),Cl.insertArrowEnd(u),Cl.insertArrowCrossHead(u),Cl.insertArrowFilledHead(u),r7e(u,n.db.getRels(),n.db.getC4Shape,n),h.data.stopx=g5,h.data.stopy=y5;let p=h.data,g=p.stopy-p.starty+2*Gt.diagramMarginY,v=p.stopx-p.startx+2*Gt.diagramMarginX;f&&u.append("text").text(f).attr("x",(p.stopx-p.startx)/2-4*Gt.diagramMarginX).attr("y",p.starty+Gt.diagramMarginY),Zr(u,g,v,Gt.useMaxWidth);let x=f?60:0;u.attr("viewBox",p.startx-Gt.diagramMarginX+" -"+(Gt.diagramMarginY+x)+" "+v+" "+(g+x)),Y.debug("models:",p)},"draw"),o9={drawPersonOrSystemArray:FX,drawBoundary:BX,setConf:s9,draw:n7e}});var i7e,$X,VX=M(()=>{"use strict";i7e=o(t=>`.person { stroke: ${t.personBorder}; fill: ${t.personBkg}; } `,"getStyles"),$X=i7e});var UX={};vr(UX,{diagram:()=>a7e});var a7e,HX=M(()=>{"use strict";PS();l7();GX();VX();a7e={parser:QF,db:oy,renderer:o9,styles:$X,init:o(({c4:t,wrap:e})=>{o9.setConf(t),oy.setWrap(e)},"init")}});function u9(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function ZX(t){Ed=t}function eo(t,e){if(e){if(JX.test(t))return t.replace(c7e,qX)}else if(ej.test(t))return t.replace(u7e,qX);return t}function d7e(t){return t.replace(f7e,(e,r)=>(r=r.toLowerCase(),r==="colon"?":":r.charAt(0)==="#"?r.charAt(1)==="x"?String.fromCharCode(parseInt(r.substring(2),16)):String.fromCharCode(+r.substring(1)):""))}function fn(t,e){let r=typeof t=="string"?t:t.source;e=e||"";let n={replace:o((i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(p7e,"$1"),r=r.replace(i,s),n},"replace"),getRegex:o(()=>new RegExp(r,e),"getRegex")};return n}function XX(t){try{t=encodeURI(t).replace(/%25/g,"%")}catch{return null}return t}function jX(t,e){let r=t.replace(/\|/g,(a,s,l)=>{let u=!1,h=s;for(;--h>=0&&l[h]==="\\";)u=!u;return u?"|":" |"}),n=r.split(/ \|/),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length{let a=i.match(/^\s+/);if(a===null)return i;let[s]=a;return s.length>=n.length?i.slice(n.length):i}).join(` `)}function en(t,e){return kd.parse(t,e)}var Ed,JX,c7e,ej,u7e,h7e,qX,f7e,p7e,uv,nm,y7e,v7e,x7e,fv,b7e,tj,rj,h9,w7e,f9,T7e,k7e,w5,d9,E7e,nj,S7e,p9,QX,C7e,A7e,ij,_7e,aj,L7e,dv,D7e,N7e,R7e,M7e,I7e,O7e,P7e,B7e,F7e,b5,z7e,sj,oj,G7e,m9,$7e,l9,V7e,x5,cv,ku,im,hv,Eu,rm,c9,kd,u6t,h6t,f6t,d6t,p6t,m6t,g6t,lj=M(()=>{"use strict";o(u9,"_getDefaults");Ed=u9();o(ZX,"changeDefaults");JX=/[&<>"']/,c7e=new RegExp(JX.source,"g"),ej=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,u7e=new RegExp(ej.source,"g"),h7e={"&":"&","<":"<",">":">",'"':""","'":"'"},qX=o(t=>h7e[t],"getEscapeReplacement");o(eo,"escape$1");f7e=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;o(d7e,"unescape");p7e=/(^|[^\[])\^/g;o(fn,"edit");o(XX,"cleanUrl");uv={exec:o(()=>null,"exec")};o(jX,"splitCells");o(lv,"rtrim");o(m7e,"findClosingBracket");o(KX,"outputLink");o(g7e,"indentCodeCompensation");nm=class{static{o(this,"_Tokenizer")}options;rules;lexer;constructor(e){this.options=e||Ed}space(e){let r=this.rules.block.newline.exec(e);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(e){let r=this.rules.block.code.exec(e);if(r){let n=r[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?n:lv(n,` `)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=g7e(n,r[3]||"");return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(/#$/.test(n)){let i=lv(n,"#");(this.options.pedantic||!i||/ $/.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:lv(r[0],` `)}}blockquote(e){let r=this.rules.block.blockquote.exec(e);if(r){let n=lv(r[0],` `).split(` `),i="",a="",s=[];for(;n.length>0;){let l=!1,u=[],h;for(h=0;h/.test(n[h]))u.push(n[h]),l=!0;else if(!l)u.push(n[h]);else break;n=n.slice(h);let f=u.join(` `),d=f.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` $1`).replace(/^ {0,3}>[ \t]?/gm,"");i=i?`${i} ${f}`:f,a=a?`${a} ${d}`:d;let p=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(d,s,!0),this.lexer.state.top=p,n.length===0)break;let m=s[s.length-1];if(m?.type==="code")break;if(m?.type==="blockquote"){let g=m,y=g.raw+` `+n.join(` `),v=this.blockquote(y);s[s.length-1]=v,i=i.substring(0,i.length-g.raw.length)+v.raw,a=a.substring(0,a.length-g.text.length)+v.text;break}else if(m?.type==="list"){let g=m,y=g.raw+` `+n.join(` `),v=this.list(y);s[s.length-1]=v,i=i.substring(0,i.length-m.raw.length)+v.raw,a=a.substring(0,a.length-g.raw.length)+v.raw,n=y.substring(s[s.length-1].raw.length).split(` `);continue}}return{type:"blockquote",raw:i,tokens:s,text:a}}}list(e){let r=this.rules.block.list.exec(e);if(r){let n=r[1].trim(),i=n.length>1,a={type:"list",raw:"",ordered:i,start:i?+n.slice(0,-1):"",loose:!1,items:[]};n=i?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=i?n:"[*+-]");let s=new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),l=!1;for(;e;){let u=!1,h="",f="";if(!(r=s.exec(e))||this.rules.block.hr.test(e))break;h=r[0],e=e.substring(h.length);let d=r[2].split(` `,1)[0].replace(/^\t+/,x=>" ".repeat(3*x.length)),p=e.split(` `,1)[0],m=!d.trim(),g=0;if(this.options.pedantic?(g=2,f=d.trimStart()):m?g=r[1].length+1:(g=r[2].search(/[^ ]/),g=g>4?1:g,f=d.slice(g),g+=r[1].length),m&&/^ *$/.test(p)&&(h+=p+` `,e=e.substring(p.length+1),u=!0),!u){let x=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),b=new RegExp(`^ {0,${Math.min(3,g-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),w=new RegExp(`^ {0,${Math.min(3,g-1)}}(?:\`\`\`|~~~)`),_=new RegExp(`^ {0,${Math.min(3,g-1)}}#`);for(;e;){let T=e.split(` `,1)[0];if(p=T,this.options.pedantic&&(p=p.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),w.test(p)||_.test(p)||x.test(p)||b.test(e))break;if(p.search(/[^ ]/)>=g||!p.trim())f+=` `+p.slice(g);else{if(m||d.search(/[^ ]/)>=4||w.test(d)||_.test(d)||b.test(d))break;f+=` `+p}!m&&!p.trim()&&(m=!0),h+=T+` `,e=e.substring(T.length+1),d=p.slice(g)}}a.loose||(l?a.loose=!0:/\n *\n *$/.test(h)&&(l=!0));let y=null,v;this.options.gfm&&(y=/^\[[ xX]\] /.exec(f),y&&(v=y[0]!=="[ ] ",f=f.replace(/^\[[ xX]\] +/,""))),a.items.push({type:"list_item",raw:h,task:!!y,checked:v,loose:!1,text:f,tokens:[]}),a.raw+=h}a.items[a.items.length-1].raw=a.items[a.items.length-1].raw.trimEnd(),a.items[a.items.length-1].text=a.items[a.items.length-1].text.trimEnd(),a.raw=a.raw.trimEnd();for(let u=0;ud.type==="space"),f=h.length>0&&h.some(d=>/\n.*\n/.test(d.raw));a.loose=f}if(a.loose)for(let u=0;u$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=r[3]?r[3].substring(1,r[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):r[3];return{type:"def",tag:n,raw:r[0],href:i,title:a}}}table(e){let r=this.rules.block.table.exec(e);if(!r||!/[:|]/.test(r[2]))return;let n=jX(r[1]),i=r[2].replace(/^\||\| *$/g,"").split("|"),a=r[3]&&r[3].trim()?r[3].replace(/\n[ \t]*$/,"").split(` `):[],s={type:"table",raw:r[0],header:[],align:[],rows:[]};if(n.length===i.length){for(let l of i)/^ *-+: *$/.test(l)?s.align.push("right"):/^ *:-+: *$/.test(l)?s.align.push("center"):/^ *:-+ *$/.test(l)?s.align.push("left"):s.align.push(null);for(let l=0;l({text:u,tokens:this.lexer.inline(u),header:!1,align:s.align[h]})));return s}}lheading(e){let r=this.rules.block.lheading.exec(e);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(e){let r=this.rules.block.paragraph.exec(e);if(r){let n=r[1].charAt(r[1].length-1)===` `?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:eo(r[1])}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&/^/i.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;let s=lv(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=m7e(r[2],"()");if(s>-1){let u=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,u).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);s&&(i=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),/^$/.test(n)?i=i.slice(1):i=i.slice(1,-1)),KX(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(/\s+/g," "),a=r[i.toLowerCase()];if(!a){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return KX(n,a,n[0],this.lexer)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!i||i[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(i[1]||i[2]||"")||!n||this.rules.inline.punctuation.exec(n)){let s=[...i[0]].length-1,l,u,h=s,f=0,d=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,r=r.slice(-1*e.length+s);(i=d.exec(r))!=null;){if(l=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!l)continue;if(u=[...l].length,i[3]||i[4]){h+=u;continue}else if((i[5]||i[6])&&s%3&&!((s+u)%3)){f+=u;continue}if(h-=u,h>0)continue;u=Math.min(u,u+h+f);let p=[...i[0]][0].length,m=e.slice(0,s+i.index+p+u);if(Math.min(s,u)%2){let y=m.slice(1,-1);return{type:"em",raw:m,text:y,tokens:this.lexer.inlineTokens(y)}}let g=m.slice(2,-2);return{type:"strong",raw:m,text:g,tokens:this.lexer.inlineTokens(g)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(/\n/g," "),i=/[^ ]/.test(n),a=/^ /.test(n)&&/ $/.test(n);return i&&a&&(n=n.substring(1,n.length-1)),n=eo(n,!0),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=eo(r[1]),i="mailto:"+n):(n=eo(r[1]),i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let r;if(r=this.rules.inline.url.exec(e)){let n,i;if(r[2]==="@")n=eo(r[0]),i="mailto:"+n;else{let a;do a=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])?.[0]??"";while(a!==r[0]);n=eo(r[0]),r[1]==="www."?i="http://"+r[0]:i=r[0]}return{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n;return this.lexer.state.inRawBlock?n=r[0]:n=eo(r[0]),{type:"text",raw:r[0],text:n}}}},y7e=/^(?: *(?:\n|$))+/,v7e=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,x7e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,fv=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,b7e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,tj=/(?:[*+-]|\d{1,9}[.)])/,rj=fn(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,tj).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),h9=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,w7e=/^[^\n]+/,f9=/(?!\s*\])(?:\\.|[^\[\]\\])+/,T7e=fn(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",f9).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),k7e=fn(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,tj).getRegex(),w5="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",d9=/|$))/,E7e=fn("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",d9).replace("tag",w5).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),nj=fn(h9).replace("hr",fv).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",w5).getRegex(),S7e=fn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",nj).getRegex(),p9={blockquote:S7e,code:v7e,def:T7e,fences:x7e,heading:b7e,hr:fv,html:E7e,lheading:rj,list:k7e,newline:y7e,paragraph:nj,table:uv,text:w7e},QX=fn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",fv).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",w5).getRegex(),C7e={...p9,table:QX,paragraph:fn(h9).replace("hr",fv).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",QX).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",w5).getRegex()},A7e={...p9,html:fn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",d9).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:uv,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:fn(h9).replace("hr",fv).replace("heading",` *#{1,6} *[^ ]`).replace("lheading",rj).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},ij=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,_7e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,aj=/^( {2,}|\\)\n(?!\s*$)/,L7e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,R7e=fn(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,dv).getRegex(),M7e=fn("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,dv).getRegex(),I7e=fn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,dv).getRegex(),O7e=fn(/\\([punct])/,"gu").replace(/punct/g,dv).getRegex(),P7e=fn(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),B7e=fn(d9).replace("(?:-->|$)","-->").getRegex(),F7e=fn("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",B7e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),b5=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,z7e=fn(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",b5).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),sj=fn(/^!?\[(label)\]\[(ref)\]/).replace("label",b5).replace("ref",f9).getRegex(),oj=fn(/^!?\[(ref)\](?:\[\])?/).replace("ref",f9).getRegex(),G7e=fn("reflink|nolink(?!\\()","g").replace("reflink",sj).replace("nolink",oj).getRegex(),m9={_backpedal:uv,anyPunctuation:O7e,autolink:P7e,blockSkip:N7e,br:aj,code:_7e,del:uv,emStrongLDelim:R7e,emStrongRDelimAst:M7e,emStrongRDelimUnd:I7e,escape:ij,link:z7e,nolink:oj,punctuation:D7e,reflink:sj,reflinkSearch:G7e,tag:F7e,text:L7e,url:uv},$7e={...m9,link:fn(/^!?\[(label)\]\((.*?)\)/).replace("label",b5).getRegex(),reflink:fn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",b5).getRegex()},l9={...m9,escape:fn(ij).replace("])","~|])").getRegex(),url:fn(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\u+" ".repeat(h.length));let i,a,s;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(l=>(i=l.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.raw.length===1&&r.length>0?r[r.length-1].raw+=` `:r.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length),a=r[r.length-1],a&&(a.type==="paragraph"||a.type==="text")?(a.raw+=` `+i.raw,a.text+=` `+i.text,this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length),a=r[r.length-1],a&&(a.type==="paragraph"||a.type==="text")?(a.raw+=` `+i.raw,a.text+=` `+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=a.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),r.push(i);continue}if(s=e,this.options.extensions&&this.options.extensions.startBlock){let l=1/0,u=e.slice(1),h;this.options.extensions.startBlock.forEach(f=>{h=f.call({lexer:this},u),typeof h=="number"&&h>=0&&(l=Math.min(l,h))}),l<1/0&&l>=0&&(s=e.substring(0,l+1))}if(this.state.top&&(i=this.tokenizer.paragraph(s))){a=r[r.length-1],n&&a?.type==="paragraph"?(a.raw+=` `+i.raw,a.text+=` `+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i),n=s.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),a=r[r.length-1],a&&a.type==="text"?(a.raw+=` `+i.raw,a.text+=` `+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=a.text):r.push(i);continue}if(e){let l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n,i,a,s=e,l,u,h;if(this.tokens.links){let f=Object.keys(this.tokens.links);if(f.length>0)for(;(l=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)f.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(l=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(l=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,l.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(u||(h=""),u=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(f=>(n=f.call({lexer:this},e,r))?(e=e.substring(n.raw.length),r.push(n),!0):!1))){if(n=this.tokenizer.escape(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.tag(e)){e=e.substring(n.raw.length),i=r[r.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(n=this.tokenizer.link(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(n.raw.length),i=r[r.length-1],i&&n.type==="text"&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(n=this.tokenizer.emStrong(e,s,h)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.codespan(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.br(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.del(e)){e=e.substring(n.raw.length),r.push(n);continue}if(n=this.tokenizer.autolink(e)){e=e.substring(n.raw.length),r.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(e))){e=e.substring(n.raw.length),r.push(n);continue}if(a=e,this.options.extensions&&this.options.extensions.startInline){let f=1/0,d=e.slice(1),p;this.options.extensions.startInline.forEach(m=>{p=m.call({lexer:this},d),typeof p=="number"&&p>=0&&(f=Math.min(f,p))}),f<1/0&&f>=0&&(a=e.substring(0,f+1))}if(n=this.tokenizer.inlineText(a)){e=e.substring(n.raw.length),n.raw.slice(-1)!=="_"&&(h=n.raw.slice(-1)),u=!0,i=r[r.length-1],i&&i.type==="text"?(i.raw+=n.raw,i.text+=n.text):r.push(n);continue}if(e){let f="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(f);break}else throw new Error(f)}}return r}},im=class{static{o(this,"_Renderer")}options;parser;constructor(e){this.options=e||Ed}space(e){return""}code({text:e,lang:r,escaped:n}){let i=(r||"").match(/^\S*/)?.[0],a=e.replace(/\n$/,"")+` `;return i?'
    '+(n?a:eo(a,!0))+`
    `:"
    "+(n?a:eo(a,!0))+`
    `}blockquote({tokens:e}){return`
    ${this.parser.parse(e)}
    `}html({text:e}){return e}heading({tokens:e,depth:r}){return`${this.parser.parseInline(e)} `}hr(e){return`
    `}list(e){let r=e.ordered,n=e.start,i="";for(let l=0;l `+i+" `}listitem(e){let r="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&e.tokens[0].type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):r+=n+" "}return r+=this.parser.parse(e.tokens,!!e.loose),`